diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..60ce3ae65 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,16 @@ +root = true + +[*] +charset = utf-8 +end_of_line = crlf +indent_style = tab +indent_size = tab +insert_final_newline = true +trim_trailing_whitespace = true +max_line_length = off + +[{*.info,*.json,*.mcmeta,*.md,*.cfg,*.yml,*.toml}] +tab_width = 2 + +[{*.info,*.mcmeta,*.cfg}] +end_of_line = lf diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..15aedca55 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,45 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle + +# Yes this is a mostly untouched Github actions template + +name: Java CI with Gradle + +on: + schedule: + - cron: "0 0 * * *" + +jobs: + build: + + runs-on: ubuntu-latest + permissions: + contents: read + + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 8 + uses: actions/setup-java@v4 + with: + java-version: '8' + distribution: 'temurin' # Temurin because it's default :P + + # Configure Gradle for optimal use in GitHub Actions, including caching of downloaded dependencies. + # See: https://github.com/gradle/actions/blob/main/setup-gradle/README.md + - name: Setup Gradle + uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0 + + - name: Build with Gradle Wrapper + run: ./gradlew build + + - name: Upload a Build Artifact + uses: actions/upload-artifact@v4.6.0 + with: + # A file, directory or wildcard pattern that describes what to upload + path: ./build/libs + + diff --git a/.gitignore b/.gitignore index 22222fc39..1317d0286 100644 --- a/.gitignore +++ b/.gitignore @@ -1,25 +1,28 @@ # eclipse -eclipse -bin -*.launch -.settings -.metadata -.classpath -.project +/eclipse +/bin +/*.launch +/.settings +/.metadata +/.classpath +/.project # idea -out -*.ipr -*.iws -*.iml -.idea +/out +/*.ipr +/*.iws +/*.iml +/.idea # gradle -build -.gradle +/build +/.gradle + +# vscode +/.vscode # other -run +/run # CurseForge configuration /curseforge.properties diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e6efdf8c8..c47daea75 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -13,6 +13,8 @@ Things you should also avoid include: * duplicate util functions (just use what we have, man) * unused or half finished util functions (for obvious reasons) * half finished or obviously broken features (à la "bob will fix it, i'm sure of it", please don't do that) +* updating the changelog (you're guaranteed to cause a merge conflict with that) +* any use of `I18n`, use `I18nUtil` instead ## Test your code @@ -20,6 +22,9 @@ This should go without saying, but please don't PR code that was never actually **Addendum:** Because apparently some people think that testing is somehow optional, it is now **mandatory** to test the code both on a client and on a server. If the PR contains compat code, the game has to work **with and without** the mod that the compat is for. +## No refactor PRs +Your refactors suck ass and usually something ends up breaking. + ## Communication If you're planning on adding some new thing or doing a grand change, it's best to ask whether that's a good idea before spending 50 hours on a project that won't end up getting merged, due to issues that could have been entirely avoidable with communication. diff --git a/README.md b/README.md index 0ebb0c7e6..ba1478cf4 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,13 @@ [Official NTM Wiki](https://nucleartech.wiki/wiki/Main_Page) +[Bobcat's Blog (the blag)](https://hbmmods.github.io/), you can find lengthy yapping, upcoming features and some secrets here. + **This is for 1.7.10!** For 1.12, check out these projects: * NTM Reloaded: https://github.com/TheOriginalGolem/Hbm-s-Nuclear-Tech-GIT/releases * NTM Extended Edition (Alcater): https://github.com/Alcatergit/Hbm-s-Nuclear-Tech-GIT/releases +* NTM Community Edition (WarFactory): https://github.com/MisterNorwood/Hbm-s-Nuclear-Tech-CE For 1.18, try Martin's remake: https://codeberg.org/MartinTheDragon/Nuclear-Tech-Mod-Remake/releases @@ -93,12 +96,18 @@ If you want to make some changes to the mod, follow this guide: * Click **Add Standard VM**; in the JRE home, navigate to the directory where the JDK is installed, then click finish and select it. 10. Code! +## Contributing animations +Weapon animations in NTM are stored in JSON files, which are used alongside OBJ models to produce high quality animations with reasonable filesizes. Import/Export Blender addons are available for versions 2.79, 3.2, and 4.0 in `tools`, and they should function reasonably well in newer versions as well. See the comments in the header of the export scripts for usage instructions. + ## Compatibility notice NTM has certain behaviors intended to fix vanilla code or to increase compatibility in certain cases where it otherwise would not be possible. These behaviors have the potential of not playing well with other mods, and while no such cases are currently known, here's a list of them. ### Thermos Thermos servers (along with its forks such as Crucible) have a "performance" feature that causes all tile entity ticking to slow down if there's no player present in the same chunk. For obvious reasons, this will heavily impact machines and cause phantom issues that, not having knowledge of this "performance" feature, are near impossible to diagnose. By default, NTM will crash on servers running the Thermos base code and print a lengthy message informing server owners about this "performance" feature as well as how to fix the issues it causes. The error message is printed in plain English on the top of the crash log, failure to read (as well as understand) it will leave the server inoperable. +### Shaders +Shaders (loaded by either Optifine, Iris or otherwise) will in all likelihood break when a gun is held. This is because guns need to skip vanilla's first person item setup for the rendering, however shaders apparently use the setup step for setting certain GL states, and skipping that will break rendering. [Shader Fixer](https://modrinth.com/mod/shader-fixer) is a mod with various fixes, among which is explicit compatibility for NTM's guns. + ### Optifine One of the most common "performance" mods on 1.7.10, Optifine, achieves an increase in performance by breaking small things in spots that are usually hard to notice, although this can cause severe issues with NTM. A short list of problems, along with some solutions, follows: * Get rid of Optifine and use one of the many [other, less intrusive performance mods](https://gist.github.com/makamys/7cb74cd71d93a4332d2891db2624e17c). @@ -108,7 +117,7 @@ One of the most common "performance" mods on 1.7.10, Optifine, achieves an incre ### Angelica In older versions, Angelica caused issues regarding model rendering, often times making 3D models transparent. Ever since the switch to VBOs, models work fine. Another issue was blocks with connected textures not rendering at all, but this too was fixed, meaning as of time of writing there are no major incompatibilities known with Angelica. However there a few minor issues that persist, but those can be fixed: * Often times when making a new world, all items appear as white squares. Somehow, scrolling though the NEI pages fixes this permanently -* Reeds will render weirdly, this is an incompatibility with the "Compact Vertex Format" feature. Disabling it will make reeds look normal +* Reeds will render weirdly, this is an incompatibility with the "Compact Vertex Format" feature. Disabling it will make reeds look normal. Alternatively, reed rendering can be disabled by using `/ntmclient set RENDER_REEDS false`, which works around the issue by not rendering the underwater portion of reeds at all. ### Skybox chainloader NTM adds a few small things to the skybox using a custom skybox renderer. Minecraft can only have a single skybox renderer loaded, so setting the skybox to the NTM custom one would break compatibility with other mods' skyboxes. To mend this, NTM employs a **chainloader**. This chainloader will detect if a different skybox is loaded, save a reference to that skybox and then use NTM's skybox, which when used will also make sure to run the previous modded skybox renderer. In the event that NTM's skybox were to cause trouble, it can be disabled with the config option `1.31_enableSkyboxes`. diff --git a/build.gradle b/build.gradle index 07cca4635..4e7e8f7f4 100644 --- a/build.gradle +++ b/build.gradle @@ -79,6 +79,18 @@ repositories { // name = "CurseForge" // url = "https://minecraft.curseforge.com/api/maven/" //} + maven { + name = "Jitpack" + url = "https://jitpack.io" + } + maven { + name = "CurseMaven" + url = "https://cursemaven.com" + } + maven { + name = "OpenComputers" + url = "https://maven.cil.li/" + } } dependencies { @@ -94,6 +106,8 @@ dependencies { compileOnly "inventorytweaks:InventoryTweaks:1.59-dev:deobf" implementation "li.cil.oc:OpenComputers:MC1.7.10-1.5.+:api" + + compileOnly "com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta.56-GTNH:dev" } processResources { diff --git a/changelog b/changelog index b675028b3..914e54d80 100644 --- a/changelog +++ b/changelog @@ -1,12 +1,19 @@ +## Added +* New assembler + * Features a brand new animated model, GUI and the new recipe selection system + * Many recipes have been reworked, with the microcrafting complexity reduced + * The redcoil didn't get a recipe. It's gonna die soon. + ## Changed -* Changed the multi fluid ID recipe, they now use analog circuits instead of silicon based ones, no longer requiring plastic to make -* Decreased the connection speed for all battery blocks, a full discharge now takes 30 seconds instead of 1 second, and charging now takes 10 seconds - * Capacitors have also been nerfed but they are twice as fast as battery blocks, 5 seconds for charging and 15 seconds for discharging -* Removed forgotten bricks -* Updated CMB brick texture -* The ICF machine block now renders with its 3d model in the creative inventory +* Removed levitation unit +* Many of NTM's regular building blocks now have forge microblock support +* RBMK crane models now conform to the dimensions of the room they're in +* Projectile resistance for armor has been renamed to "physical" and now also extends to all direct forms of attack by other entities that don't fall into any other categories (mostly melee attacks) + * This should fix the issue where most armors are quite weak against swords +* Electric attacks (i.e. tesla cannon) are now in the "energy damage" category + * This means that armors that have energy resistance actually properly work against the tesla cannon ## Fixed -* Fixed pumpjack gauges not syncing properly -* Fixed some concrete variants not being revertable into uncolored concrete -* Fixed the ore density scanner not using proper translations for the HUD \ No newline at end of file +* Fixed gas centrifuge sound persisting when broken or when unloaded +* Fixed all centrifuge sounds trying to play even when the player is far away, using up audio slots +* Fixed guns that don't have durability always displaying a condition of 0% \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 93317634f..681ea595b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,51 +1,73 @@ -mod_version=1.0.27 -# Empty build number makes a release type -mod_build_number=5061 - -credits=HbMinecraft,\ - \ rodolphito (explosion algorithms),\ - \ grangerave (explosion algorithms),\ - \ Hoboy (textures, models),\ - \ Drillgon200 (effects, models, porting),\ - \ MartinTheDragon (calculator, chunk-based fallout, bendable cranes, pipe improvements, PWR sounds),\ - \ Alcater (GUI textures, porting),\ - \ MellowArpeggiation (new animation system, turbine sounds, sound fixes, industrial lights, better particle diodes),\ - \ Pheo (textures, various machines, models, weapons),\ - \ Vr (gas centrifuges, better worldgen, ZIRNOX, CP-1 parts, starter guide, new cyclotron),\ - \ LePeep (coilgun model, BDCL QC),\ - \ Adam29 (liquid petroleum, ethanol, electric furnace),\ - \ Pvndols (thorium fuel recipe, gas turbine),\ - \ JamesH2 (blood mechanics, nitric acid, particle emitter),\ - \ Doctor17 (russian localization)),\ - \ Pashtet (russian localization),\ - \ Bismarck (chinese localization),\ - \ Creeper-banner (chinese localization),\ - \ Maksymisio (polish localization)\ - \ el3ctro4ndre (italian localization),\ - \ Pu-238 (Tom impact effects),\ - \ UFFR (RTG pellets, guns, casings, euphemium capacitor),\ - \ Frooz (gun models),\ - \ VT-6/24 (models, textures),\ - \ Nos (models),\ - \ Minecreep (models),\ - \ 70k (textures, glyphid AI, strand caster, electrolyzer changes),\ - \ haru315 (spiral point algorithm),\ - \ Sten89 (models),\ - \ Pixelguru26 (textures),\ - \ TheBlueHat (textures),\ - \ Burningwater202 (laminate glass),\ - \ TehTemmie (reacher radiation function),\ - \ Silly541 (config for safe ME drives),\ - \ Voxelstice (OpenComputers integration, turbine spinup),\ - \ BallOfEnergy1 (OpenComputers integration),\ - \ sdddddf80 (recipe configs, chinese localization, custom machine holograms),\ - \ SuperCraftAlex (tooltips)\ - \ Ice-Arrow (research reactor tweaks),\ - \ 245tt (anvil GUI improvements),\ - \ KoblizekXD (doors),\ - \ FOlkvangrField (custom machine parts),\ - \ RosaTryp (centrifuge config),\ - \ Toshayo (satellite loot system, project settings, gradle curse task),\ - \ martemen (project settings),\ - \ OvermindDL1 (project settings),\ - \ impbk2002 (project settings)\ +mod_version=1.0.27 +# Empty build number makes a release type +mod_build_number=5383 + +credits=HbMinecraft,\ + \ rodolphito (explosion algorithms),\ + \ grangerave (explosion algorithms),\ + \ Hoboy (textures, models),\ + \ Drillgon200 (effects, models, porting),\ + \ MartinTheDragon (calculator, chunk-based fallout, bendable cranes, pipe improvements, PWR sounds),\ + \ Alcater (GUI textures, porting),\ + \ MellowArpeggiation (new animation system, turbine sounds, sound fixes, industrial lights, conveyor wand, NBT structures),\ + \ Pheo (textures, various machines, models, weapons),\ + \ Vr (gas centrifuges, better worldgen, ZIRNOX, CP-1 parts, starter guide, new cyclotron, weapon animations),\ + \ UFFR (RTG pellets, guns, casings, euphemium capacitor, nucleartech.wiki),\ + \ LePeep (coilgun model, BDCL QC),\ + \ Adam29 (liquid petroleum, ethanol, electric furnace),\ + \ Pvndols (thorium fuel recipe, gas turbine),\ + \ JamesH2 (blood mechanics, nitric acid, particle emitter),\ + \ Lazzzycat (structures, mob gear),\ + \ PastaBaguette (coal horse decal),\ + \ Doctor17 (russian localization)),\ + \ Pashtet (russian localization),\ + \ 7H40 (russian localization),\ + \ Bismarck (chinese localization),\ + \ Creeper-banner (chinese localization),\ + \ 5467864 (chinese localization),\ + \ eeeeee0a (chinese localization),\ + \ hz0909adc (chinese localization),\ + \ LSKLW (chinese localization),\ + \ R-Kaenbyou (chinese localization),\ + \ scp-000000000 (chinese localization),\ + \ UnnameTokiko (chinese localization),\ + \ Herobrine 457985 (chinese localization),\ + \ xxwinhere (chinese localization),\ + \ Nycticoraxnightheron (chinese localization),\ + \ Maksymisio (polish localization)\ + \ el3ctro4ndre (italian localization),\ + \ Pu-238 (Tom impact effects),\ + \ Frooz (gun models),\ + \ VT-6/24 (models, textures),\ + \ Nos (models),\ + \ WushiThe (models),\ + \ Minecreep (models),\ + \ ackbarcrowbars (models),\ + \ haru315 (spiral point algorithm),\ + \ mlbv (threaded MK5),\ + \ 70k (textures, glyphid AI, strand caster, electrolyzer changes, cryolite),\ + \ instantnootles (concept artist),\ + \ Sten89 (models),\ + \ Pixelguru26 (textures),\ + \ TheBlueHat (textures),\ + \ Burningwater202 (laminate glass),\ + \ TehTemmie (reacher radiation function),\ + \ Silly541 (config for safe ME drives),\ + \ Voxelstice (OpenComputers integration, turbine spinup),\ + \ BallOfEnergy1 (OpenComputers integration, RBMK and packet optimization, crate backpacks),\ + \ sdddddf80 (recipe configs, chinese localization, custom machine holograms),\ + \ Abel1502 (abilities GUI, optimization, crate upgrade recipes, strand caster improvements, varous tweaks),\ + \ Darek505 (armor rendering compatibility fix),\ + \ SuperCraftAlex (tooltips)\ + \ Ice-Arrow (research reactor tweaks),\ + \ 245tt (anvil GUI improvements),\ + \ KoblizekXD (doors),\ + \ FOlkvangrField (custom machine parts),\ + \ RosaTryp (centrifuge config),\ + \ Toshayo (satellite loot system, project settings, gradle curse task, OpenComputers integration),\ + \ Dash (PA particle serialization fix),\ + \ archiecarrot123 (armor rendering compatibility fix),\ + \ icomet (refactoring),\ + \ martemen (project settings),\ + \ OvermindDL1 (project settings),\ + \ impbk2002 (project settings)\ diff --git a/ntm-animator.blend b/ntm-animator.blend deleted file mode 100644 index 252086d27..000000000 Binary files a/ntm-animator.blend and /dev/null differ diff --git a/src/main/java/api/hbm/energymk2/IEnergyProviderMK2.java b/src/main/java/api/hbm/energymk2/IEnergyProviderMK2.java index c264d0120..e8c8cf09b 100644 --- a/src/main/java/api/hbm/energymk2/IEnergyProviderMK2.java +++ b/src/main/java/api/hbm/energymk2/IEnergyProviderMK2.java @@ -1,7 +1,7 @@ package api.hbm.energymk2; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.util.Compat; import api.hbm.energymk2.Nodespace.PowerNode; @@ -18,29 +18,29 @@ public interface IEnergyProviderMK2 extends IEnergyHandlerMK2 { public default void usePower(long power) { this.setPower(this.getPower() - power); } - + public default long getProviderSpeed() { return this.getMaxPower(); } - + public default void tryProvide(World world, int x, int y, int z, ForgeDirection dir) { TileEntity te = Compat.getTileStandard(world, x, y, z); boolean red = false; - + if(te instanceof IEnergyConductorMK2) { IEnergyConductorMK2 con = (IEnergyConductorMK2) te; if(con.canConnect(dir.getOpposite())) { - + PowerNode node = Nodespace.getNode(world, x, y, z); - + if(node != null && node.net != null) { node.net.addProvider(this); red = true; } } } - + if(te instanceof IEnergyReceiverMK2 && te != this) { IEnergyReceiverMK2 rec = (IEnergyReceiverMK2) te; if(rec.canConnect(dir.getOpposite())) { @@ -51,7 +51,7 @@ public interface IEnergyProviderMK2 extends IEnergyHandlerMK2 { this.usePower(toTransfer); } } - + if(particleDebug) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "network"); @@ -62,7 +62,7 @@ public interface IEnergyProviderMK2 extends IEnergyHandlerMK2 { data.setDouble("mX", dir.offsetX * (red ? 0.025 : 0.1)); data.setDouble("mY", dir.offsetY * (red ? 0.025 : 0.1)); data.setDouble("mZ", dir.offsetZ * (red ? 0.025 : 0.1)); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY, posZ), new TargetPoint(world.provider.dimensionId, posX, posY, posZ, 25)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, posX, posY, posZ), new TargetPoint(world.provider.dimensionId, posX, posY, posZ, 25)); } } } diff --git a/src/main/java/api/hbm/energymk2/IEnergyReceiverMK2.java b/src/main/java/api/hbm/energymk2/IEnergyReceiverMK2.java index 5ec931234..8978d64d4 100644 --- a/src/main/java/api/hbm/energymk2/IEnergyReceiverMK2.java +++ b/src/main/java/api/hbm/energymk2/IEnergyReceiverMK2.java @@ -1,8 +1,10 @@ package api.hbm.energymk2; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.interfaces.NotableComments; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.util.Compat; +import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.energymk2.Nodespace.PowerNode; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -12,6 +14,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; /** If it receives energy, use this */ +@NotableComments public interface IEnergyReceiverMK2 extends IEnergyHandlerMK2 { public default long transferPower(long power) { @@ -24,28 +27,30 @@ public interface IEnergyReceiverMK2 extends IEnergyHandlerMK2 { this.setPower(this.getMaxPower()); return overshoot; } - + public default long getReceiverSpeed() { return this.getMaxPower(); } - + + public default void trySubscribe(World world, DirPos pos) { trySubscribe(world, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } + public default void trySubscribe(World world, int x, int y, int z, ForgeDirection dir) { TileEntity te = Compat.getTileStandard(world, x, y, z); boolean red = false; - + if(te instanceof IEnergyConductorMK2) { IEnergyConductorMK2 con = (IEnergyConductorMK2) te; if(!con.canConnect(dir.getOpposite())) return; - + PowerNode node = Nodespace.getNode(world, x, y, z); - + if(node != null && node.net != null) { node.net.addReceiver(this); red = true; } } - + if(particleDebug) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "network"); @@ -56,49 +61,24 @@ public interface IEnergyReceiverMK2 extends IEnergyHandlerMK2 { data.setDouble("mX", -dir.offsetX * (red ? 0.025 : 0.1)); data.setDouble("mY", -dir.offsetY * (red ? 0.025 : 0.1)); data.setDouble("mZ", -dir.offsetZ * (red ? 0.025 : 0.1)); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY, posZ), new TargetPoint(world.provider.dimensionId, posX, posY, posZ, 25)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, posX, posY, posZ), new TargetPoint(world.provider.dimensionId, posX, posY, posZ, 25)); } } - + public default void tryUnsubscribe(World world, int x, int y, int z) { TileEntity te = world.getTileEntity(x, y, z); - + if(te instanceof IEnergyConductorMK2) { IEnergyConductorMK2 con = (IEnergyConductorMK2) te; PowerNode node = con.createNode(); - + if(node != null && node.net != null) { node.net.removeReceiver(this); } } } - - /** - * Project MKUltra was an illegal human experiments program designed and undertaken by the U.S. Central Intelligence Agency (CIA) - * to develop procedures and identify drugs that could be used during interrogations to weaken people and force confessions through - * brainwashing and psychological torture. It began in 1953 and was halted in 1973. MKUltra used numerous methods to manipulate - * its subjects' mental states and brain functions, such as the covert administration of high doses of psychoactive drugs (especially LSD) - * and other chemicals without the subjects' consent, electroshocks, hypnosis, sensory deprivation, isolation, verbal and sexual - * abuse, and other forms of torture. - * MKUltra was preceded by Project Artichoke. It was organized through the CIA's Office of Scientific Intelligence and coordinated - * with the United States Army Biological Warfare Laboratories. The program engaged in illegal activities, including the - * use of U.S. and Canadian citizens as unwitting test subjects. MKUltra's scope was broad, with activities carried - * out under the guise of research at more than 80 institutions aside from the military, including colleges and universities, - * hospitals, prisons, and pharmaceutical companies. The CIA operated using front organizations, although some top officials at these - * institutions were aware of the CIA's involvement. - * MKUltra was revealed to the public in 1975 by the Church Committee of the United States Congress and Gerald Ford's United States - * President's Commission on CIA activities within the United States (the Rockefeller Commission). Investigative efforts were hampered - * by CIA Director Richard Helms's order that all MKUltra files be destroyed in 1973; the Church Committee and Rockefeller Commission - * investigations relied on the sworn testimony of direct participants and on the small number of documents that survived Helms's order. - * In 1977, a Freedom of Information Act request uncovered a cache of 20,000 documents relating to MKUltra, which led to Senate hearings. - * Some surviving information about MKUltra was declassified in 2001. - * */ - public default ConnectionPriority getPriority() { - return ConnectionPriority.NORMAL; - } - - /** More is better-er */ + public enum ConnectionPriority { LOWEST, LOW, @@ -106,4 +86,8 @@ public interface IEnergyReceiverMK2 extends IEnergyHandlerMK2 { HIGH, HIGHEST } + + public default ConnectionPriority getPriority() { + return ConnectionPriority.NORMAL; + } } diff --git a/src/main/java/api/hbm/energymk2/Nodespace.java b/src/main/java/api/hbm/energymk2/Nodespace.java index cdc618f51..114c4dd75 100644 --- a/src/main/java/api/hbm/energymk2/Nodespace.java +++ b/src/main/java/api/hbm/energymk2/Nodespace.java @@ -1,159 +1,40 @@ package api.hbm.energymk2; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map.Entry; -import java.util.Set; - +import com.hbm.interfaces.NotableComments; +import com.hbm.uninos.GenNode; +import com.hbm.uninos.UniNodespace; +import com.hbm.uninos.networkproviders.PowerNetProvider; import com.hbm.util.fauxpointtwelve.BlockPos; import com.hbm.util.fauxpointtwelve.DirPos; -import net.minecraft.server.MinecraftServer; import net.minecraft.world.World; /** - * The "Nodespace" is an intermediate, "ethereal" layer of abstraction that tracks nodes (i.e. cables) even when they are no longer loaded, allowing continued operation even when unloaded + * The dead fucking corpse of nodespace MK1. + * A fantastic proof of concept, but ultimately it was killed for being just not that versatile. + * This class is mostly just a compatibility husk that should allow uninodespace to slide into the mod with as much lubrication as it deserves. + * * @author hbm - * */ public class Nodespace { - /** Contains all "NodeWorld" instances, i.e. lists of nodes existing per world */ - public static HashMap worlds = new HashMap<>(); - public static Set activePowerNets = new HashSet<>(); + public static final PowerNetProvider THE_POWER_PROVIDER = new PowerNetProvider(); - public static PowerNode getNode(World world, int x, int y, int z) { - NodeWorld nodeWorld = worlds.get(world); - if(nodeWorld != null) return nodeWorld.nodes.get(new BlockPos(x, y, z)); - return null; + @Deprecated public static PowerNode getNode(World world, int x, int y, int z) { + return (PowerNode) UniNodespace.getNode(world, x, y, z, THE_POWER_PROVIDER); } - public static void createNode(World world, PowerNode node) { - NodeWorld nodeWorld = worlds.get(world); - if(nodeWorld == null) { - nodeWorld = new NodeWorld(); - worlds.put(world, nodeWorld); - } - nodeWorld.pushNode(node); + @Deprecated public static void createNode(World world, PowerNode node) { + UniNodespace.createNode(world, node); } - public static void destroyNode(World world, int x, int y, int z) { - PowerNode node = getNode(world, x, y, z); - if(node != null) { - worlds.get(world).popNode(node); - } + @Deprecated public static void destroyNode(World world, int x, int y, int z) { + UniNodespace.destroyNode(world, x, y, z, THE_POWER_PROVIDER); } - - /** Goes over each node and manages connections */ - public static void updateNodespace() { - - for(World world : MinecraftServer.getServer().worldServers) { - NodeWorld nodes = worlds.get(world); - if(nodes == null) - continue; - - for(Entry entry : nodes.nodes.entrySet()) { - PowerNode node = entry.getValue(); - if(!node.hasValidNet() || node.recentlyChanged) { - checkNodeConnection(world, node); - node.recentlyChanged = false; - } - } - } + @NotableComments + public static class PowerNode extends GenNode { - updatePowerNets(); - } - - private static void updatePowerNets() { - - for(PowerNetMK2 net : activePowerNets) net.resetEnergyTracker(); //reset has to be done before everything else - for(PowerNetMK2 net : activePowerNets) net.transferPower(); - } - - /** Goes over each connection point of the given node, tries to find neighbor nodes and to join networks with them */ - private static void checkNodeConnection(World world, PowerNode node) { - - for(DirPos con : node.connections) { - - PowerNode conNode = getNode(world, con.getX(), con.getY(), con.getZ()); // get whatever neighbor node intersects with that connection - - if(conNode != null) { // if there is a node at that place - - if(conNode.hasValidNet() && conNode.net == node.net) continue; // if the net is valid and both nodes have the same net, skip - - if(checkConnection(conNode, con, false)) { - connectToNode(node, conNode); - } - } - } - - if(node.net == null || !node.net.isValid()) new PowerNetMK2().joinLink(node); - } - - public static boolean checkConnection(PowerNode connectsTo, DirPos connectFrom, boolean skipSideCheck) { - - for(DirPos revCon : connectsTo.connections) { - - if(revCon.getX() - revCon.getDir().offsetX == connectFrom.getX() && revCon.getY() - revCon.getDir().offsetY == connectFrom.getY() && revCon.getZ() - revCon.getDir().offsetZ == connectFrom.getZ() && (revCon.getDir() == connectFrom.getDir().getOpposite() || skipSideCheck)) { - return true; - } - } - - return false; - } - - /** Links two nodes with different or potentially no networks */ - private static void connectToNode(PowerNode origin, PowerNode connection) { - - if(origin.hasValidNet() && connection.hasValidNet()) { // both nodes have nets, but the nets are different (previous assumption), join networks - if(origin.net.links.size() > connection.net.links.size()) { - origin.net.joinNetworks(connection.net); - } else { - connection.net.joinNetworks(origin.net); - } - } else if(!origin.hasValidNet() && connection.hasValidNet()) { // origin has no net, connection does, have origin join connection's net - connection.net.joinLink(origin); - } else if(origin.hasValidNet() && !connection.hasValidNet()) { // ...and vice versa - origin.net.joinLink(connection); - } - } - - public static class NodeWorld { - - /** Contains a map showing where each node is, a node is every spot that a cable exists at. - * Instead of the old proxy system, things like substation now create multiple nodes at their connection points */ - public HashMap nodes = new HashMap<>(); - - /** Adds a node at all its positions to the nodespace */ - public void pushNode(PowerNode node) { - for(BlockPos pos : node.positions) { - nodes.put(pos, node); - } - } - - /** Removes the specified node from all positions from nodespace */ - public void popNode(PowerNode node) { - if(node.net != null) node.net.destroy(); - for(BlockPos pos : node.positions) { - nodes.remove(pos); - node.expired = true; - } - } - - /** Grabs the node at one position, then removes it from all positions it occupies */ - public void popNode(BlockPos pos) { - PowerNode node = nodes.get(pos); - if(node != null) popNode(node); - } - } - - public static class PowerNode { - - public BlockPos[] positions; - public DirPos[] connections; - public PowerNetMK2 net; - public boolean expired = false; /** * Okay so here's the deal: The code has shit idiot brain fungus. I don't know why. I re-tested every part involved several times. * I don't know why. But for some reason, during neighbor checks, on certain arbitrary fucking places, the joining operation just fails. @@ -165,32 +46,16 @@ public class Nodespace { * breaking, but it seems to allow those parts to connect back to their neighbor nets as they are supposed to. I am not proud of this solution, * this issue shouldn't exist to begin with and I am going fucking insane but it is what it is. */ - public boolean recentlyChanged = true; public PowerNode(BlockPos... positions) { + super(THE_POWER_PROVIDER, positions); this.positions = positions; } + @Override public PowerNode setConnections(DirPos... connections) { - this.connections = connections; + super.setConnections(connections); return this; } - - public PowerNode addConnection(DirPos connection) { - DirPos[] newCons = new DirPos[this.connections.length + 1]; - for(int i = 0; i < this.connections.length; i++) newCons[i] = this.connections[i]; - newCons[newCons.length - 1] = connection; - this.connections = newCons; - return this; - } - - public boolean hasValidNet() { - return this.net != null && this.net.isValid(); - } - - public void setNet(PowerNetMK2 net) { - this.net = net; - this.recentlyChanged = true; - } } } diff --git a/src/main/java/api/hbm/energymk2/PowerNetMK2.java b/src/main/java/api/hbm/energymk2/PowerNetMK2.java index 8afc59890..34e8205f6 100644 --- a/src/main/java/api/hbm/energymk2/PowerNetMK2.java +++ b/src/main/java/api/hbm/energymk2/PowerNetMK2.java @@ -1,125 +1,32 @@ package api.hbm.energymk2; import java.util.ArrayList; -import java.util.Comparator; -import java.util.HashMap; -import java.util.HashSet; import java.util.Iterator; import java.util.List; -import java.util.Set; +import com.hbm.uninos.NodeNet; import com.hbm.util.Tuple.Pair; import java.util.Map.Entry; -import java.util.Random; import api.hbm.energymk2.IEnergyReceiverMK2.ConnectionPriority; import api.hbm.energymk2.Nodespace.PowerNode; -public class PowerNetMK2 { - - public static Random rand = new Random(); - public boolean valid = true; - public Set links = new HashSet(); - - /** Maps all active subscribers to a timestamp, handy for handling timeouts. In a good system this shouldn't be necessary, but the previous system taught me to be cautious anyway */ - public HashMap receiverEntries = new HashMap(); - public HashMap providerEntries = new HashMap(); +/** + * Technically MK3 since it's now UNINOS compatible, although UNINOS was build out of 95% nodespace code + * + * @author hbm + */ +public class PowerNetMK2 extends NodeNet { public long energyTracker = 0L; - public PowerNetMK2() { - Nodespace.activePowerNets.add(this); - } - - /// SUBSCRIBER HANDLING /// - public boolean isSubscribed(IEnergyReceiverMK2 receiver) { - return this.receiverEntries.containsKey(receiver); - } - - public void addReceiver(IEnergyReceiverMK2 receiver) { - this.receiverEntries.put(receiver, System.currentTimeMillis()); - } - - public void removeReceiver(IEnergyReceiverMK2 receiver) { - this.receiverEntries.remove(receiver); - } - - /// PROVIDER HANDLING /// - public boolean isProvider(IEnergyProviderMK2 provider) { - return this.providerEntries.containsKey(provider); - } - - public void addProvider(IEnergyProviderMK2 provider) { - this.providerEntries.put(provider, System.currentTimeMillis()); - } - - public void removeProvider(IEnergyProviderMK2 provider) { - this.providerEntries.remove(provider); - } - - /// LINK JOINING /// - - /** Combines two networks into one */ - public void joinNetworks(PowerNetMK2 network) { - - if(network == this) return; //wtf?! - - List oldNodes = new ArrayList(network.links.size()); - oldNodes.addAll(network.links); // might prevent oddities related to joining - nvm it does nothing - - for(PowerNode conductor : oldNodes) forceJoinLink(conductor); - network.links.clear(); - - for(IEnergyReceiverMK2 connector : network.receiverEntries.keySet()) this.addReceiver(connector); - for(IEnergyProviderMK2 connector : network.providerEntries.keySet()) this.addProvider(connector); - network.destroy(); - } - - /** Adds the power node as part of this network's links */ - public PowerNetMK2 joinLink(PowerNode node) { - if(node.net != null) node.net.leaveLink(node); - return forceJoinLink(node); - } - - /** Adds the power node as part of this network's links, skips the part about removing it from existing networks */ - public PowerNetMK2 forceJoinLink(PowerNode node) { - this.links.add(node); - node.setNet(this); - return this; - } - - /** Removes the specified power node */ - public void leaveLink(PowerNode node) { - node.setNet(null); - this.links.remove(node); - } - - /// GENERAL POWER NET CONTROL /// - public void invalidate() { - this.valid = false; - Nodespace.activePowerNets.remove(this); - } - - public boolean isValid() { - return this.valid; - } - - public void destroy() { - this.invalidate(); - for(PowerNode link : this.links) if(link.net == this) link.setNet(null); - this.links.clear(); - this.receiverEntries.clear(); - this.providerEntries.clear(); - } - - public void resetEnergyTracker() { - this.energyTracker = 0; - } - protected static int timeout = 3_000; - public void transferPower() { + @Override public void resetTrackers() { this.energyTracker = 0; } + + @Override + public void update() { if(providerEntries.isEmpty()) return; if(receiverEntries.isEmpty()) return; @@ -129,15 +36,19 @@ public class PowerNetMK2 { List> providers = new ArrayList(); long powerAvailable = 0; + // sum up available power Iterator> provIt = providerEntries.entrySet().iterator(); while(provIt.hasNext()) { Entry entry = provIt.next(); - if(timestamp - entry.getValue() > timeout) { provIt.remove(); continue; } + if(timestamp - entry.getValue() > timeout || isBadLink(entry.getKey())) { provIt.remove(); continue; } long src = Math.min(entry.getKey().getPower(), entry.getKey().getProviderSpeed()); - providers.add(new Pair(entry.getKey(), src)); - powerAvailable += src; + if(src > 0) { + providers.add(new Pair(entry.getKey(), src)); + powerAvailable += src; + } } + // sum up total demand, categorized by priority List>[] receivers = new ArrayList[ConnectionPriority.values().length]; for(int i = 0; i < receivers.length; i++) receivers[i] = new ArrayList(); long[] demand = new long[ConnectionPriority.values().length]; @@ -147,17 +58,20 @@ public class PowerNetMK2 { while(recIt.hasNext()) { Entry entry = recIt.next(); - if(timestamp - entry.getValue() > timeout) { recIt.remove(); continue; } + if(timestamp - entry.getValue() > timeout || isBadLink(entry.getKey())) { recIt.remove(); continue; } long rec = Math.min(entry.getKey().getMaxPower() - entry.getKey().getPower(), entry.getKey().getReceiverSpeed()); - int p = entry.getKey().getPriority().ordinal(); - receivers[p].add(new Pair(entry.getKey(), rec)); - demand[p] += rec; - totalDemand += rec; + if(rec > 0) { + int p = entry.getKey().getPriority().ordinal(); + receivers[p].add(new Pair(entry.getKey(), rec)); + demand[p] += rec; + totalDemand += rec; + } } long toTransfer = Math.min(powerAvailable, totalDemand); long energyUsed = 0; + // add power to receivers, ordered by priority for(int i = ConnectionPriority.values().length - 1; i >= 0; i--) { List> list = receivers[i]; long priorityDemand = demand[i]; @@ -174,6 +88,7 @@ public class PowerNetMK2 { this.energyTracker += energyUsed; long leftover = energyUsed; + // remove power from providers for(Pair entry : providers) { double weight = (double) entry.getValue() / (double) powerAvailable; long toUse = (long) Math.max(energyUsed * weight, 0D); @@ -181,7 +96,7 @@ public class PowerNetMK2 { leftover -= toUse; } - //rounding error compensation, detects surplus that hasn't been used and removes it from random providers + // rounding error compensation, detects surplus that hasn't been used and removes it from random providers int iterationsLeft = 100; // whiles without emergency brakes are a bad idea while(iterationsLeft > 0 && leftover > 0 && providers.size() > 0) { iterationsLeft--; @@ -195,118 +110,6 @@ public class PowerNetMK2 { } } - @Deprecated public void transferPowerOld() { - - if(providerEntries.isEmpty()) return; - if(receiverEntries.isEmpty()) return; - - long timestamp = System.currentTimeMillis(); - long transferCap = 100_000_000_000_000_00L; // that ought to be enough - - long supply = 0; - long demand = 0; - long[] priorityDemand = new long[ConnectionPriority.values().length]; - - Iterator> provIt = providerEntries.entrySet().iterator(); - while(provIt.hasNext()) { - Entry entry = provIt.next(); - if(timestamp - entry.getValue() > timeout) { provIt.remove(); continue; } - supply += Math.min(entry.getKey().getPower(), entry.getKey().getProviderSpeed()); - } - - if(supply <= 0) return; - - Iterator> recIt = receiverEntries.entrySet().iterator(); - while(recIt.hasNext()) { - Entry entry = recIt.next(); - if(timestamp - entry.getValue() > timeout) { recIt.remove(); continue; } - long rec = Math.min(entry.getKey().getMaxPower() - entry.getKey().getPower(), entry.getKey().getReceiverSpeed()); - demand += rec; - for(int i = 0; i <= entry.getKey().getPriority().ordinal(); i++) priorityDemand[i] += rec; - } - - if(demand <= 0) return; - - long toTransfer = Math.min(supply, demand); - if(toTransfer > transferCap) toTransfer = transferCap; - if(toTransfer <= 0) return; - - List buffers = new ArrayList(); - List providers = new ArrayList(); - Set receiverSet = receiverEntries.keySet(); - for(IEnergyProviderMK2 provider : providerEntries.keySet()) { - if(receiverSet.contains(provider)) { - buffers.add(provider); - } else { - providers.add(provider); - } - } - providers.addAll(buffers); //makes buffers go last - List receivers = new ArrayList() {{ addAll(receiverSet); }}; - - receivers.sort(COMP); - - int maxIteration = 1000; - - //how much the current sender/receiver have already sent/received - long prevSrc = 0; - long prevDest = 0; - - while(!receivers.isEmpty() && !providers.isEmpty() && maxIteration > 0) { - maxIteration--; - - IEnergyProviderMK2 src = providers.get(0); - IEnergyReceiverMK2 dest = receivers.get(0); - - if(src.getPower() <= 0) { providers.remove(0); prevSrc = 0; continue; } - - if(src == dest) { // STALEMATE DETECTED - //if this happens, a buffer will waste both its share of transfer and receiving potential and do effectively nothing, essentially breaking - - //try if placing the conflicting provider at the end of the list does anything - //we do this first because providers have no priority, so we may shuffle those around as much as we want - if(providers.size() > 1) { - providers.add(providers.get(0)); - providers.remove(0); - prevSrc = 0; //this might cause slight issues due to the tracking being effectively lost while there still might be pending operations - continue; - } - //if that didn't work, try shifting the receiver by one place (to minimize priority breakage) - if(receivers.size() > 1) { - receivers.add(2, receivers.get(0)); - receivers.remove(0); - prevDest = 0; //ditto - continue; - } - - //if neither option could be performed, the only conclusion is that this buffer mode battery is alone in the power net, in which case: not my provlem - } - - long pd = priorityDemand[dest.getPriority().ordinal()]; - - long receiverShare = Math.min((long) Math.ceil((double) Math.min(dest.getMaxPower() - dest.getPower(), dest.getReceiverSpeed()) * (double) supply / (double) pd), dest.getReceiverSpeed()) - prevDest; - long providerShare = Math.min((long) Math.ceil((double) Math.min(src.getPower(), src.getProviderSpeed()) * (double) demand / (double) supply), src.getProviderSpeed()) - prevSrc; - - long toDrain = Math.min((long) (src.getPower()), providerShare); - long toFill = Math.min(dest.getMaxPower() - dest.getPower(), receiverShare); - - long finalTransfer = Math.min(toDrain, toFill); - if(toFill <= 0) { receivers.remove(0); prevDest = 0; continue; } - - finalTransfer -= dest.transferPower(finalTransfer); - src.usePower(finalTransfer); - - prevSrc += finalTransfer; - prevDest += finalTransfer; - - if(prevSrc >= src.getProviderSpeed()) { providers.remove(0); prevSrc = 0; continue; } - if(prevDest >= dest.getReceiverSpeed()) { receivers.remove(0); prevDest = 0; continue; } - - toTransfer -= finalTransfer; - this.energyTracker += finalTransfer; - } - } - public long sendPowerDiode(long power) { if(receiverEntries.isEmpty()) return power; @@ -350,14 +153,4 @@ public class PowerNetMK2 { return power - energyUsed; } - - public static final ReceiverComparator COMP = new ReceiverComparator(); - - public static class ReceiverComparator implements Comparator { - - @Override - public int compare(IEnergyReceiverMK2 o1, IEnergyReceiverMK2 o2) { - return o2.getPriority().ordinal() - o1.getPriority().ordinal(); - } - } } diff --git a/src/main/java/api/hbm/entity/IResistanceProvider.java b/src/main/java/api/hbm/entity/IResistanceProvider.java new file mode 100644 index 000000000..73bc9f507 --- /dev/null +++ b/src/main/java/api/hbm/entity/IResistanceProvider.java @@ -0,0 +1,16 @@ +package api.hbm.entity; + +import net.minecraft.util.DamageSource; + +/** + * Allows custom entities to specify threshold and resistance values based on incoming damage, type and piercing values, along with whatever other internal stats + * the entity has (like glyphid armor). Obviously only works for our own custom entities implementing this, everything else will have to work with the less powerful + * (but still very useful) entity stats in the DamageResistanceHandler. + * + * @author hbm + */ +public interface IResistanceProvider { + + public float[] getCurrentDTDR(DamageSource damage, float amount, float pierceDT, float pierce); + public void onDamageDealt(DamageSource damage, float amount); +} diff --git a/src/main/java/api/hbm/fluid/IFluidConductor.java b/src/main/java/api/hbm/fluid/IFluidConductor.java deleted file mode 100644 index d9d1e00c7..000000000 --- a/src/main/java/api/hbm/fluid/IFluidConductor.java +++ /dev/null @@ -1,19 +0,0 @@ -package api.hbm.fluid; - -import com.hbm.inventory.fluid.FluidType; - -public interface IFluidConductor extends IFluidConnector { - - public IPipeNet getPipeNet(FluidType type); - - public void setPipeNet(FluidType type, IPipeNet network); - - @Override - public default long transferFluid(FluidType type, int pressure, long amount) { - - if(this.getPipeNet(type) == null) - return amount; - - return this.getPipeNet(type).transferFluid(amount, pressure); - } -} diff --git a/src/main/java/api/hbm/fluid/IFluidConnector.java b/src/main/java/api/hbm/fluid/IFluidConnector.java index a6db68c2c..6284d2b97 100644 --- a/src/main/java/api/hbm/fluid/IFluidConnector.java +++ b/src/main/java/api/hbm/fluid/IFluidConnector.java @@ -1,93 +1,6 @@ package api.hbm.fluid; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; -import com.hbm.util.Compat; +import api.hbm.fluidmk2.IFluidConnectorMK2; -import api.hbm.tile.ILoadedTile; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -public interface IFluidConnector extends ILoadedTile { - - /** - * Returns the amount of fluid that remains - * @param power - * @return - */ - public long transferFluid(FluidType type, int pressure, long fluid); - - /** - * Whether the given side can be connected to - * @param dir - * @return - */ - public default boolean canConnect(FluidType type, ForgeDirection dir) { - return dir != ForgeDirection.UNKNOWN; - } - - /** - * Returns the amount of fluid that this machine is able to receive - * @param type - * @return - */ - public long getDemand(FluidType type, int pressure); - - /** - * Basic implementation of subscribing to a nearby power grid - * @param world - * @param x - * @param y - * @param z - */ - public default void trySubscribe(FluidType type, World world, int x, int y, int z, ForgeDirection dir) { - - TileEntity te = Compat.getTileStandard(world, x, y, z); - boolean red = false; - - if(te instanceof IFluidConductor) { - IFluidConductor con = (IFluidConductor) te; - - if(!con.canConnect(type, dir)) - return; - - if(con.getPipeNet(type) != null && !con.getPipeNet(type).isSubscribed(this)) - con.getPipeNet(type).subscribe(this); - - if(con.getPipeNet(type) != null) - red = true; - } - - if(particleDebug) { - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "network"); - data.setString("mode", "fluid"); - data.setInteger("color", type.getColor()); - double posX = x + 0.5 + dir.offsetX * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; - double posY = y + 0.5 + dir.offsetY * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; - double posZ = z + 0.5 + dir.offsetZ * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; - data.setDouble("mX", -dir.offsetX * (red ? 0.025 : 0.1)); - data.setDouble("mY", -dir.offsetY * (red ? 0.025 : 0.1)); - data.setDouble("mZ", -dir.offsetZ * (red ? 0.025 : 0.1)); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY, posZ), new TargetPoint(world.provider.dimensionId, posX, posY, posZ, 25)); - } - } - - public default void tryUnsubscribe(FluidType type, World world, int x, int y, int z) { - - TileEntity te = world.getTileEntity(x, y, z); - - if(te instanceof IFluidConductor) { - IFluidConductor con = (IFluidConductor) te; - - if(con.getPipeNet(type) != null && con.getPipeNet(type).isSubscribed(this)) - con.getPipeNet(type).unsubscribe(this); - } - } - - public static final boolean particleDebug = false; -} +@Deprecated +public interface IFluidConnector extends IFluidConnectorMK2 { } diff --git a/src/main/java/api/hbm/fluid/IFluidConnectorBlock.java b/src/main/java/api/hbm/fluid/IFluidConnectorBlock.java index 0991374fb..490199f36 100644 --- a/src/main/java/api/hbm/fluid/IFluidConnectorBlock.java +++ b/src/main/java/api/hbm/fluid/IFluidConnectorBlock.java @@ -1,12 +1,6 @@ package api.hbm.fluid; -import com.hbm.inventory.fluid.FluidType; +import api.hbm.fluidmk2.IFluidConnectorBlockMK2; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.common.util.ForgeDirection; - -public interface IFluidConnectorBlock { - - /** dir is the face that is connected to, the direction going outwards from the block */ - public boolean canConnect(FluidType type, IBlockAccess world, int x, int y, int z, ForgeDirection dir); -} +@Deprecated +public interface IFluidConnectorBlock extends IFluidConnectorBlockMK2 { } diff --git a/src/main/java/api/hbm/fluid/IFluidStandardReceiver.java b/src/main/java/api/hbm/fluid/IFluidStandardReceiver.java index dc7151daf..364d3353a 100644 --- a/src/main/java/api/hbm/fluid/IFluidStandardReceiver.java +++ b/src/main/java/api/hbm/fluid/IFluidStandardReceiver.java @@ -1,49 +1,35 @@ package api.hbm.fluid; import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.uninos.GenNode; +import com.hbm.uninos.UniNodespace; -/** - * Uses default implementation to make the underlying interfaces easier to use for the most common fluid users. - * Only handles a single input tank of the same type. - * Uses standard FluidTanks which use int32. - * Don't use this as part of the API! - * @author hbm - * - */ -public interface IFluidStandardReceiver extends IFluidUser { - - @Override - public default long transferFluid(FluidType type, int pressure, long amount) { +import api.hbm.fluidmk2.IFluidStandardReceiverMK2; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; - for(FluidTank tank : getReceivingTanks()) { - if(tank.getTankType() == type && tank.getPressure() == pressure) { - tank.setFill(tank.getFill() + (int) amount); - - if(tank.getFill() > tank.getMaxFill()) { - long overshoot = tank.getFill() - tank.getMaxFill(); - tank.setFill(tank.getMaxFill()); - return overshoot; - } - - return 0; - } - } - - return amount; +@Deprecated +public interface IFluidStandardReceiver extends IFluidStandardReceiverMK2 { + + public default void subscribeToAllAround(FluidType type, TileEntity tile) { + subscribeToAllAround(type, tile.getWorldObj(), tile.xCoord, tile.yCoord, tile.zCoord); } - public FluidTank[] getReceivingTanks(); - - @Override - public default long getDemand(FluidType type, int pressure) { - - for(FluidTank tank : getReceivingTanks()) { - if(tank.getTankType() == type && tank.getPressure() == pressure) { - return tank.getMaxFill() - tank.getFill(); - } + public default void subscribeToAllAround(FluidType type, World world, int x, int y, int z) { + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + trySubscribe(type, world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir); + } + } + + public default void tryUnsubscribe(FluidType type, World world, int x, int y, int z) { + GenNode node = UniNodespace.getNode(world, x, y, z, type.getNetworkProvider()); + if(node != null && node.net != null) node.net.removeReceiver(this); + } + + public default void unsubscribeToAllAround(FluidType type, TileEntity tile) { + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + tryUnsubscribe(type, tile.getWorldObj(), tile.xCoord + dir.offsetX, tile.yCoord + dir.offsetY, tile.zCoord + dir.offsetZ); } - - return 0; } } diff --git a/src/main/java/api/hbm/fluid/IFluidStandardSender.java b/src/main/java/api/hbm/fluid/IFluidStandardSender.java index 57b587370..651e076de 100644 --- a/src/main/java/api/hbm/fluid/IFluidStandardSender.java +++ b/src/main/java/api/hbm/fluid/IFluidStandardSender.java @@ -1,50 +1,22 @@ package api.hbm.fluid; -import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.tank.FluidTank; -/** - * Uses default implementation to make the underlying interfaces easier to use for the most common fluid users. - * Only handles a single output tank of the same type. - * Uses standard FluidTanks which use int32. - * Don't use this as part of the API! - * @author hbm - * - */ -public interface IFluidStandardSender extends IFluidUser { +import api.hbm.fluidmk2.IFluidStandardSenderMK2; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; - public FluidTank[] getSendingTanks(); - - @Override - public default long getTotalFluidForSend(FluidType type, int pressure) { - - for(FluidTank tank : getSendingTanks()) { - if(tank.getTankType() == type && tank.getPressure() == pressure) { - return tank.getFill(); - } +@Deprecated +public interface IFluidStandardSender extends IFluidStandardSenderMK2 { + + public default void sendFluid(FluidTank tank, World world, int x, int y, int z, ForgeDirection dir) { + tryProvide(tank, world, x, y, z, dir); + } + + public default void sendFluidToAll(FluidTank tank, TileEntity tile) { + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + tryProvide(tank, tile.getWorldObj(), tile.xCoord + dir.offsetX, tile.yCoord + dir.offsetY, tile.zCoord + dir.offsetZ, dir); } - - return 0; - } - - @Override - public default void removeFluidForTransfer(FluidType type, int pressure, long amount) { - - for(FluidTank tank : getSendingTanks()) { - if(tank.getTankType() == type && tank.getPressure() == pressure) { - tank.setFill(tank.getFill() - (int) amount); - return; - } - } - } - - @Override - public default long transferFluid(FluidType type, int pressure, long fluid) { - return fluid; - } - - @Override - public default long getDemand(FluidType type, int pressure) { - return 0; } } diff --git a/src/main/java/api/hbm/fluid/IFluidStandardTransceiver.java b/src/main/java/api/hbm/fluid/IFluidStandardTransceiver.java index 4012ab63f..bfac038dd 100644 --- a/src/main/java/api/hbm/fluid/IFluidStandardTransceiver.java +++ b/src/main/java/api/hbm/fluid/IFluidStandardTransceiver.java @@ -1,79 +1,4 @@ package api.hbm.fluid; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.tank.FluidTank; - -/** - * transceiver [trăn-sē′vər], noun - * - * 1. A transmitter and receiver housed together in a single unit and having some circuits in common, often for portable or mobile use. - * 2. A combined radio transmitter and receiver. - * 3. A device that performs transmitting and receiving functions, especially if using common components. - * - * The American Heritage® Dictionary of the English Language, 5th Edition. - * - * Only supports one tank per type (for in- and output separately) - * - * @author hbm - * - */ -public interface IFluidStandardTransceiver extends IFluidUser { - - public FluidTank[] getSendingTanks(); - public FluidTank[] getReceivingTanks(); - - @Override - public default long getTotalFluidForSend(FluidType type, int pressure) { - - for(FluidTank tank : getSendingTanks()) { - if(tank.getTankType() == type && tank.getPressure() == pressure) { - return tank.getFill(); - } - } - - return 0; - } - - @Override - public default void removeFluidForTransfer(FluidType type, int pressure, long amount) { - - for(FluidTank tank : getSendingTanks()) { - if(tank.getTankType() == type && tank.getPressure() == pressure) { - tank.setFill(tank.getFill() - (int) amount); - return; - } - } - } - - @Override - public default long getDemand(FluidType type, int pressure) { - - for(FluidTank tank : getReceivingTanks()) { - if(tank.getTankType() == type && tank.getPressure() == pressure) { - return tank.getMaxFill() - tank.getFill(); - } - } - - return 0; - } - - @Override - public default long transferFluid(FluidType type, int pressure, long amount) { - - for(FluidTank tank : getReceivingTanks()) { - if(tank.getTankType() == type && tank.getPressure() == pressure) { - tank.setFill(tank.getFill() + (int) amount); - - if(tank.getFill() > tank.getMaxFill()) { - long overshoot = tank.getFill() - tank.getMaxFill(); - tank.setFill(tank.getMaxFill()); - return overshoot; - } - - return 0; - } - } - - return amount; - } -} \ No newline at end of file +@Deprecated +public interface IFluidStandardTransceiver extends IFluidStandardReceiver, IFluidStandardSender { } diff --git a/src/main/java/api/hbm/fluid/IFluidUser.java b/src/main/java/api/hbm/fluid/IFluidUser.java deleted file mode 100644 index 4c98dfd14..000000000 --- a/src/main/java/api/hbm/fluid/IFluidUser.java +++ /dev/null @@ -1,130 +0,0 @@ -package api.hbm.fluid; - -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.tank.FluidTank; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; -import com.hbm.util.Compat; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -public interface IFluidUser extends IFluidConnector { - - public default void sendFluid(FluidTank tank, World world, int x, int y, int z, ForgeDirection dir) { - sendFluid(tank.getTankType(), tank.getPressure(), world, x, y, z, dir); - } - - public default void sendFluid(FluidType type, int pressure, World world, int x, int y, int z, ForgeDirection dir) { - - TileEntity te = world.getTileEntity(x, y, z); - boolean wasSubscribed = false; - boolean red = false; - - if(te instanceof IFluidConductor) { - IFluidConductor con = (IFluidConductor) te; - - if(con.getPipeNet(type) != null && con.getPipeNet(type).isSubscribed(this)) { - con.getPipeNet(type).unsubscribe(this); - wasSubscribed = true; - } - } - - if(te instanceof IFluidConnector) { - IFluidConnector con = (IFluidConnector) te; - - if(con.canConnect(type, dir.getOpposite())) { - long toSend = this.getTotalFluidForSend(type, pressure); - - if(toSend > 0) { - long transfer = toSend - con.transferFluid(type, pressure, toSend); - this.removeFluidForTransfer(type, pressure, transfer); - } - red = true; - } - } - - if(wasSubscribed && te instanceof IFluidConductor) { - IFluidConductor con = (IFluidConductor) te; - - if(con.getPipeNet(type) != null && !con.getPipeNet(type).isSubscribed(this)) { - con.getPipeNet(type).subscribe(this); - } - } - - if(particleDebug) { - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "network"); - data.setString("mode", "fluid"); - data.setInteger("color", type.getColor()); - double posX = x + 0.5 - dir.offsetX * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; - double posY = y + 0.5 - dir.offsetY * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; - double posZ = z + 0.5 - dir.offsetZ * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; - data.setDouble("mX", dir.offsetX * (red ? 0.025 : 0.1)); - data.setDouble("mY", dir.offsetY * (red ? 0.025 : 0.1)); - data.setDouble("mZ", dir.offsetZ * (red ? 0.025 : 0.1)); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY, posZ), new TargetPoint(world.provider.dimensionId, posX, posY, posZ, 25)); - } - } - - public static IPipeNet getPipeNet(World world, int x, int y, int z, FluidType type) { - - TileEntity te = Compat.getTileStandard(world, x, y, z); - - if(te instanceof IFluidConductor) { - IFluidConductor con = (IFluidConductor) te; - - if(con.getPipeNet(type) != null) { - return con.getPipeNet(type); - } - } - - return null; - } - - /** Use more common conPos method instead */ - @Deprecated public default void sendFluidToAll(FluidTank tank, TileEntity te) { - sendFluidToAll(tank.getTankType(), tank.getPressure(), te); - } - - /** Use more common conPos method instead */ - @Deprecated public default void sendFluidToAll(FluidType type, int pressure, TileEntity te) { - - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - sendFluid(type, pressure, te.getWorldObj(), te.xCoord + dir.offsetX, te.yCoord + dir.offsetY, te.zCoord + dir.offsetZ, dir); - } - } - - public default long getTotalFluidForSend(FluidType type, int pressure) { return 0; } - public default void removeFluidForTransfer(FluidType type, int pressure, long amount) { } - - public default void subscribeToAllAround(FluidType type, TileEntity te) { - subscribeToAllAround(type, te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord); - } - - public default void subscribeToAllAround(FluidType type, World world, int x, int y, int z) { - - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.trySubscribe(type, world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir); - } - - public default void unsubscribeToAllAround(FluidType type, TileEntity te) { - unsubscribeToAllAround(type, te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord); - } - - public default void unsubscribeToAllAround(FluidType type, World world, int x, int y, int z) { - - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.tryUnsubscribe(type, world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); - } - - /** - * Returns all internal tanks of this tile. Not used by the fluid network, it should only be used for display purposes or edge cases that can't be solved otherwise. - * The array is either composed of the original tank or outright the original tank array, so changes done to this array will extend to the IFluidUser. - * @return - */ - public FluidTank[] getAllTanks(); -} diff --git a/src/main/java/api/hbm/fluid/IPipeNet.java b/src/main/java/api/hbm/fluid/IPipeNet.java deleted file mode 100644 index 45e67b017..000000000 --- a/src/main/java/api/hbm/fluid/IPipeNet.java +++ /dev/null @@ -1,30 +0,0 @@ -package api.hbm.fluid; - -import java.math.BigInteger; -import java.util.HashSet; -import java.util.List; - -import com.hbm.inventory.fluid.FluidType; - -public interface IPipeNet { - - public void joinNetworks(IPipeNet network); - - public List getLinks(); - public HashSet getSubscribers(); - - public IPipeNet joinLink(IFluidConductor conductor); - public void leaveLink(IFluidConductor conductor); - - public void subscribe(IFluidConnector connector); - public void unsubscribe(IFluidConnector connector); - public boolean isSubscribed(IFluidConnector connector); - - public void destroy(); - - public boolean isValid(); - - public long transferFluid(long fill, int pressure); - public FluidType getType(); - public BigInteger getTotalTransfer(); -} diff --git a/src/main/java/api/hbm/fluid/PipeNet.java b/src/main/java/api/hbm/fluid/PipeNet.java deleted file mode 100644 index 3dacf2f0b..000000000 --- a/src/main/java/api/hbm/fluid/PipeNet.java +++ /dev/null @@ -1,206 +0,0 @@ -package api.hbm.fluid; - -import java.math.BigInteger; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashSet; -import java.util.List; -import java.util.TimeZone; - -import com.hbm.inventory.fluid.FluidType; - -import net.minecraft.tileentity.TileEntity; - -public class PipeNet implements IPipeNet { - - private boolean valid = true; - private FluidType type; - private List links = new ArrayList(); - private HashSet subscribers = new HashSet(); - - public static List trackingInstances = null; - protected BigInteger totalTransfer = BigInteger.ZERO; - public List debug = new ArrayList(); - - public PipeNet(FluidType type) { - this.type = type; - } - - @Override - public void joinNetworks(IPipeNet network) { - - if(network == this) - return; - - for(IFluidConductor conductor : network.getLinks()) { - conductor.setPipeNet(type, this); - this.getLinks().add(conductor); - } - network.getLinks().clear(); - - for(IFluidConnector connector : network.getSubscribers()) { - this.subscribe(connector); - } - - network.destroy(); - } - - @Override - public List getLinks() { - return links; - } - - @Override - public HashSet getSubscribers() { - return subscribers; - } - - @Override - public IPipeNet joinLink(IFluidConductor conductor) { - - if(conductor.getPipeNet(type) != null) - conductor.getPipeNet(type).leaveLink(conductor); - - conductor.setPipeNet(type, this); - this.links.add(conductor); - return this; - } - - @Override - public void leaveLink(IFluidConductor conductor) { - conductor.setPipeNet(type, null); - this.links.remove(conductor); - } - - @Override - public void subscribe(IFluidConnector connector) { - this.subscribers.add(connector); - } - - @Override - public void unsubscribe(IFluidConnector connector) { - this.subscribers.remove(connector); - } - - @Override - public boolean isSubscribed(IFluidConnector connector) { - return this.subscribers.contains(connector); - } - - @Override - public long transferFluid(long fill, int pressure) { - - subscribers.removeIf(x -> - x == null || !(x instanceof TileEntity) || ((TileEntity)x).isInvalid() || !x.isLoaded() - ); - - if(this.subscribers.isEmpty()) - return fill; - - trackingInstances = new ArrayList(); - trackingInstances.add(this); - List subList = new ArrayList(subscribers); - return fairTransfer(subList, type, pressure, fill); - } - - public static long fairTransfer(List subList, FluidType type, int pressure, long fill) { - - if(fill <= 0) return 0; - - List weight = new ArrayList(); - long totalReq = 0; - - for(IFluidConnector con : subList) { - long req = con.getDemand(type, pressure); - weight.add(req); - totalReq += req; - } - - if(totalReq == 0) - return fill; - - long totalGiven = 0; - - for(int i = 0; i < subList.size(); i++) { - IFluidConnector con = subList.get(i); - long req = weight.get(i); - double fraction = (double)req / (double)totalReq; - - long given = (long) Math.floor(fraction * fill); - - if(given > 0) { - - totalGiven += (given - con.transferFluid(type, pressure, given)); - - if(con instanceof TileEntity) { - TileEntity tile = (TileEntity) con; - tile.getWorldObj().markTileEntityChunkModified(tile.xCoord, tile.yCoord, tile.zCoord, tile); - } - - if(trackingInstances != null) { - for(int j = 0; j < trackingInstances.size(); j++) { - PipeNet net = trackingInstances.get(j); - SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss:SSS"); - sdf.setTimeZone(TimeZone.getTimeZone("UTC")); - log(net, sdf.format(new Date(System.currentTimeMillis())) + " Sending " + given + "mB to " + conToString(con)); - } - } - } - } - - if(trackingInstances != null) { - - for(int i = 0; i < trackingInstances.size(); i++) { - PipeNet net = trackingInstances.get(i); - net.totalTransfer = net.totalTransfer.add(BigInteger.valueOf(totalGiven)); - } - } - - return fill - totalGiven; - } - - @Override - public FluidType getType() { - return type; - } - - @Override - public void destroy() { - this.valid = false; - this.subscribers.clear(); - - for(IFluidConductor con : this.links) - con.setPipeNet(type, null); - - this.links.clear(); - } - - @Override - public boolean isValid() { - return this.valid; - } - - @Override - public BigInteger getTotalTransfer() { - return this.totalTransfer; - } - - public static void log(PipeNet net, String msg) { - net.debug.add(msg); - - while(net.debug.size() > 50) { - net.debug.remove(0); - } - } - - public static String conToString(IFluidConnector con) { - - if(con instanceof TileEntity) { - TileEntity tile = (TileEntity) con; - return tile.getClass().getSimpleName() + " @ " + tile.xCoord + "/" + tile.yCoord + "/" + tile.zCoord; - } - - return "" + con; - } -} diff --git a/src/main/java/api/hbm/fluidmk2/FluidNetMK2.java b/src/main/java/api/hbm/fluidmk2/FluidNetMK2.java new file mode 100644 index 000000000..3283c6489 --- /dev/null +++ b/src/main/java/api/hbm/fluidmk2/FluidNetMK2.java @@ -0,0 +1,152 @@ +package api.hbm.fluidmk2; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map.Entry; + +import com.hbm.inventory.fluid.FluidType; +import com.hbm.uninos.NodeNet; +import com.hbm.util.Tuple.Pair; + +import api.hbm.energymk2.IEnergyReceiverMK2.ConnectionPriority; + +public class FluidNetMK2 extends NodeNet { + + public long fluidTracker = 0L; + + protected static int timeout = 3_000; + protected static long currentTime = 0; + protected FluidType type; + + public FluidNetMK2(FluidType type) { + this.type = type; + for(int i = 0; i < IFluidUserMK2.HIGHEST_VALID_PRESSURE + 1; i++) providers[i] = new ArrayList(); + for(int i = 0; i < IFluidUserMK2.HIGHEST_VALID_PRESSURE + 1; i++) for(int j = 0; j < ConnectionPriority.values().length; j++) receivers[i][j] = new ArrayList(); + } + + @Override public void resetTrackers() { this.fluidTracker = 0; } + + @Override + public void update() { + + if(providerEntries.isEmpty()) return; + if(receiverEntries.isEmpty()) return; + currentTime = System.currentTimeMillis(); + + setupFluidProviders(); + setupFluidReceivers(); + transferFluid(); + + cleanUp(); + } + + //this sucks ass, but it makes the code just a smidge more structured + public long[] fluidAvailable = new long[IFluidUserMK2.HIGHEST_VALID_PRESSURE + 1]; + public List>[] providers = new ArrayList[IFluidUserMK2.HIGHEST_VALID_PRESSURE + 1]; + public long[][] fluidDemand = new long[IFluidUserMK2.HIGHEST_VALID_PRESSURE + 1][ConnectionPriority.values().length]; + public List>[][] receivers = new ArrayList[IFluidUserMK2.HIGHEST_VALID_PRESSURE + 1][ConnectionPriority.values().length]; + public long[] transfered = new long[IFluidUserMK2.HIGHEST_VALID_PRESSURE + 1]; + + public void setupFluidProviders() { + Iterator> iterator = providerEntries.entrySet().iterator(); + + while(iterator.hasNext()) { + Entry entry = iterator.next(); + if(currentTime - entry.getValue() > timeout || isBadLink(entry.getKey())) { iterator.remove(); continue; } + IFluidProviderMK2 provider = entry.getKey(); + int[] pressureRange = provider.getProvidingPressureRange(type); + for(int p = pressureRange[0]; p <= pressureRange[1]; p++) { + long available = Math.min(provider.getFluidAvailable(type, p), provider.getProviderSpeed(type, p)); + providers[p].add(new Pair(provider, available)); + fluidAvailable[p] += available; + } + } + } + + public void setupFluidReceivers() { + Iterator> iterator = receiverEntries.entrySet().iterator(); + + while(iterator.hasNext()) { + Entry entry = iterator.next(); + if(currentTime - entry.getValue() > timeout || isBadLink(entry.getKey())) { iterator.remove(); continue; } + IFluidReceiverMK2 receiver = entry.getKey(); + int[] pressureRange = receiver.getReceivingPressureRange(type); + for(int p = pressureRange[0]; p <= pressureRange[1]; p++) { + long required = Math.min(receiver.getDemand(type, p), receiver.getReceiverSpeed(type, p)); + int priority = receiver.getFluidPriority().ordinal(); + receivers[p][priority].add(new Pair(receiver, required)); + fluidDemand[p][priority] += required; + } + } + } + + public void transferFluid() { + + long[] received = new long[IFluidUserMK2.HIGHEST_VALID_PRESSURE + 1]; + long[] notAccountedFor = new long[IFluidUserMK2.HIGHEST_VALID_PRESSURE + 1]; + + for(int p = 0; p <= IFluidUserMK2.HIGHEST_VALID_PRESSURE; p++) { // if the pressure range were ever to increase, we might have to rethink this + + long totalAvailable = fluidAvailable[p]; + + for(int i = ConnectionPriority.values().length - 1; i >= 0; i--) { + + long toTransfer = Math.min(fluidDemand[p][i], totalAvailable); + if(toTransfer <= 0) continue; + + long priorityDemand = fluidDemand[p][i]; + + for(Pair entry : receivers[p][i]) { + double weight = (double) entry.getValue() / (double) (priorityDemand); + long toSend = (long) Math.max(toTransfer * weight, 0D); + toSend -= entry.getKey().transferFluid(type, p, toSend); + received[p] += toSend; + fluidTracker += toSend; + } + + totalAvailable -= received[p]; + } + + notAccountedFor[p] = received[p]; + } + + for(int p = 0; p <= IFluidUserMK2.HIGHEST_VALID_PRESSURE; p++) { + + for(Pair entry : providers[p]) { + double weight = (double) entry.getValue() / (double) fluidAvailable[p]; + long toUse = (long) Math.max(received[p] * weight, 0D); + entry.getKey().useUpFluid(type, p, toUse); + notAccountedFor[p] -= toUse; + } + } + + for(int p = 0; p <= IFluidUserMK2.HIGHEST_VALID_PRESSURE; p++) { + + int iterationsLeft = 100; + while(iterationsLeft > 0 && notAccountedFor[p] > 0 && providers[p].size() > 0) { + iterationsLeft--; + + Pair selected = providers[p].get(rand.nextInt(providers[p].size())); + IFluidProviderMK2 scapegoat = selected.getKey(); + + long toUse = Math.min(notAccountedFor[p], scapegoat.getFluidAvailable(type, p)); + scapegoat.useUpFluid(type, p, toUse); + notAccountedFor[p] -= toUse; + } + } + } + + public void cleanUp() { + for(int i = 0; i < IFluidUserMK2.HIGHEST_VALID_PRESSURE + 1; i++) { + fluidAvailable[i] = 0; + providers[i].clear(); + transfered[i] = 0; + + for(int j = 0; j < ConnectionPriority.values().length; j++) { + fluidDemand[i][j] = 0; + receivers[i][j].clear(); + } + } + } +} diff --git a/src/main/java/api/hbm/fluidmk2/FluidNode.java b/src/main/java/api/hbm/fluidmk2/FluidNode.java new file mode 100644 index 000000000..a4c0c3141 --- /dev/null +++ b/src/main/java/api/hbm/fluidmk2/FluidNode.java @@ -0,0 +1,19 @@ +package api.hbm.fluidmk2; + +import com.hbm.uninos.GenNode; +import com.hbm.uninos.INetworkProvider; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; + +public class FluidNode extends GenNode { + + public FluidNode(INetworkProvider provider, BlockPos... positions) { + super(provider, positions); + } + + @Override + public FluidNode setConnections(DirPos... connections) { + super.setConnections(connections); + return this; + } +} diff --git a/src/main/java/api/hbm/fluid/IFillableItem.java b/src/main/java/api/hbm/fluidmk2/IFillableItem.java similarity index 97% rename from src/main/java/api/hbm/fluid/IFillableItem.java rename to src/main/java/api/hbm/fluidmk2/IFillableItem.java index 338b4b7e1..d9acbab35 100644 --- a/src/main/java/api/hbm/fluid/IFillableItem.java +++ b/src/main/java/api/hbm/fluidmk2/IFillableItem.java @@ -1,4 +1,4 @@ -package api.hbm.fluid; +package api.hbm.fluidmk2; import com.hbm.inventory.fluid.FluidType; diff --git a/src/main/java/api/hbm/fluidmk2/IFluidConnectorBlockMK2.java b/src/main/java/api/hbm/fluidmk2/IFluidConnectorBlockMK2.java new file mode 100644 index 000000000..f7a1a47a7 --- /dev/null +++ b/src/main/java/api/hbm/fluidmk2/IFluidConnectorBlockMK2.java @@ -0,0 +1,12 @@ +package api.hbm.fluidmk2; + +import com.hbm.inventory.fluid.FluidType; + +import net.minecraft.world.IBlockAccess; +import net.minecraftforge.common.util.ForgeDirection; + +public interface IFluidConnectorBlockMK2 { + + /** dir is the face that is connected to, the direction going outwards from the block */ + public boolean canConnect(FluidType type, IBlockAccess world, int x, int y, int z, ForgeDirection dir); +} diff --git a/src/main/java/api/hbm/fluidmk2/IFluidConnectorMK2.java b/src/main/java/api/hbm/fluidmk2/IFluidConnectorMK2.java new file mode 100644 index 000000000..dc0a3dbf3 --- /dev/null +++ b/src/main/java/api/hbm/fluidmk2/IFluidConnectorMK2.java @@ -0,0 +1,17 @@ +package api.hbm.fluidmk2; + +import com.hbm.inventory.fluid.FluidType; + +import net.minecraftforge.common.util.ForgeDirection; + +public interface IFluidConnectorMK2 { + + /** + * Whether the given side can be connected to + * @param dir + * @return + */ + public default boolean canConnect(FluidType type, ForgeDirection dir) { + return dir != ForgeDirection.UNKNOWN; + } +} diff --git a/src/main/java/api/hbm/fluidmk2/IFluidPipeMK2.java b/src/main/java/api/hbm/fluidmk2/IFluidPipeMK2.java new file mode 100644 index 000000000..2ce4ff15a --- /dev/null +++ b/src/main/java/api/hbm/fluidmk2/IFluidPipeMK2.java @@ -0,0 +1,27 @@ +package api.hbm.fluidmk2; + +import com.hbm.inventory.fluid.FluidType; +import com.hbm.lib.Library; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; + +import net.minecraft.tileentity.TileEntity; + +/** + * IFluidConductorMK2 with added node creation method + * @author hbm + */ +public interface IFluidPipeMK2 extends IFluidConnectorMK2 { + + public default FluidNode createNode(FluidType type) { + TileEntity tile = (TileEntity) this; + return new FluidNode(type.getNetworkProvider(), new BlockPos(tile.xCoord, tile.yCoord, tile.zCoord)).setConnections( + new DirPos(tile.xCoord + 1, tile.yCoord, tile.zCoord, Library.POS_X), + new DirPos(tile.xCoord - 1, tile.yCoord, tile.zCoord, Library.NEG_X), + new DirPos(tile.xCoord, tile.yCoord + 1, tile.zCoord, Library.POS_Y), + new DirPos(tile.xCoord, tile.yCoord - 1, tile.zCoord, Library.NEG_Y), + new DirPos(tile.xCoord, tile.yCoord, tile.zCoord + 1, Library.POS_Z), + new DirPos(tile.xCoord, tile.yCoord, tile.zCoord - 1, Library.NEG_Z) + ); + } +} diff --git a/src/main/java/api/hbm/fluidmk2/IFluidProviderMK2.java b/src/main/java/api/hbm/fluidmk2/IFluidProviderMK2.java new file mode 100644 index 000000000..190ed8a9b --- /dev/null +++ b/src/main/java/api/hbm/fluidmk2/IFluidProviderMK2.java @@ -0,0 +1,12 @@ +package api.hbm.fluidmk2; + +import com.hbm.inventory.fluid.FluidType; + +public interface IFluidProviderMK2 extends IFluidUserMK2 { + + public void useUpFluid(FluidType type, int pressure, long amount); + public default long getProviderSpeed(FluidType type, int pressure) { return 1_000_000_000; } + public long getFluidAvailable(FluidType type, int pressure); + + public default int[] getProvidingPressureRange(FluidType type) { return DEFAULT_PRESSURE_RANGE; } +} diff --git a/src/main/java/api/hbm/fluidmk2/IFluidReceiverMK2.java b/src/main/java/api/hbm/fluidmk2/IFluidReceiverMK2.java new file mode 100644 index 000000000..55bdb1372 --- /dev/null +++ b/src/main/java/api/hbm/fluidmk2/IFluidReceiverMK2.java @@ -0,0 +1,64 @@ +package api.hbm.fluidmk2; + +import com.hbm.inventory.fluid.FluidType; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.uninos.GenNode; +import com.hbm.uninos.UniNodespace; +import com.hbm.util.Compat; +import com.hbm.util.fauxpointtwelve.DirPos; + +import api.hbm.energymk2.IEnergyReceiverMK2.ConnectionPriority; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public interface IFluidReceiverMK2 extends IFluidUserMK2 { + + /** Sends fluid of the desired type and pressure to the receiver, returns the remainder */ + public long transferFluid(FluidType type, int pressure, long amount); + public default long getReceiverSpeed(FluidType type, int pressure) { return 1_000_000_000; } + public long getDemand(FluidType type, int pressure); + + public default int[] getReceivingPressureRange(FluidType type) { return DEFAULT_PRESSURE_RANGE; } + + public default void trySubscribe(FluidType type, World world, DirPos pos) { trySubscribe(type, world, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } + + public default void trySubscribe(FluidType type, World world, int x, int y, int z, ForgeDirection dir) { + + TileEntity te = Compat.getTileStandard(world, x, y, z); + boolean red = false; + + if(te instanceof IFluidConnectorMK2) { + IFluidConnectorMK2 con = (IFluidConnectorMK2) te; + if(!con.canConnect(type, dir.getOpposite())) return; + + GenNode node = UniNodespace.getNode(world, x, y, z, type.getNetworkProvider()); + + if(node != null && node.net != null) { + node.net.addReceiver(this); + red = true; + } + } + + if(particleDebug) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "network"); + data.setString("mode", "fluid"); + data.setInteger("color", type.getColor()); + double posX = x + 0.5 + dir.offsetX * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; + double posY = y + 0.5 + dir.offsetY * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; + double posZ = z + 0.5 + dir.offsetZ * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; + data.setDouble("mX", -dir.offsetX * (red ? 0.025 : 0.1)); + data.setDouble("mY", -dir.offsetY * (red ? 0.025 : 0.1)); + data.setDouble("mZ", -dir.offsetZ * (red ? 0.025 : 0.1)); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY, posZ), new TargetPoint(world.provider.dimensionId, posX, posY, posZ, 25)); + } + } + + public default ConnectionPriority getFluidPriority() { + return ConnectionPriority.NORMAL; + } +} diff --git a/src/main/java/api/hbm/fluidmk2/IFluidRegisterListener.java b/src/main/java/api/hbm/fluidmk2/IFluidRegisterListener.java new file mode 100644 index 000000000..2fb0a4b66 --- /dev/null +++ b/src/main/java/api/hbm/fluidmk2/IFluidRegisterListener.java @@ -0,0 +1,9 @@ +package api.hbm.fluidmk2; + +public interface IFluidRegisterListener { + + /** + * Called when the fluid registry initializes all fluids. Use CompatFluidRegistry to create new instances of FluidType, which are automatically registered. + */ + public void onFluidsLoad(); +} diff --git a/src/main/java/api/hbm/fluidmk2/IFluidStandardReceiverMK2.java b/src/main/java/api/hbm/fluidmk2/IFluidStandardReceiverMK2.java new file mode 100644 index 000000000..68bab697f --- /dev/null +++ b/src/main/java/api/hbm/fluidmk2/IFluidStandardReceiverMK2.java @@ -0,0 +1,68 @@ +package api.hbm.fluidmk2; + +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.tank.FluidTank; + +/** + * IFluidReceiverMK2 with standard implementation for transfer and demand getter. + * @author hbm + */ +public interface IFluidStandardReceiverMK2 extends IFluidReceiverMK2 { + + public FluidTank[] getReceivingTanks(); + + @Override + public default long getDemand(FluidType type, int pressure) { + long amount = 0; + for(FluidTank tank : getReceivingTanks()) { + if(tank.getTankType() == type && tank.getPressure() == pressure) amount += (tank.getMaxFill() - tank.getFill()); + } + return amount; + } + + @Override + public default long transferFluid(FluidType type, int pressure, long amount) { + int tanks = 0; + for(FluidTank tank : getReceivingTanks()) { + if(tank.getTankType() == type && tank.getPressure() == pressure) tanks++; + } + if(tanks > 1) { + int firstRound = (int) Math.floor((double) amount / (double) tanks); + for(FluidTank tank : getReceivingTanks()) { + if(tank.getTankType() == type && tank.getPressure() == pressure) { + int toAdd = Math.min(firstRound, tank.getMaxFill() - tank.getFill()); + tank.setFill(tank.getFill() + toAdd); + amount -= toAdd; + } + } + } + if(amount > 0) for(FluidTank tank : getReceivingTanks()) { + if(tank.getTankType() == type && tank.getPressure() == pressure) { + int toAdd = (int) Math.min(amount, tank.getMaxFill() - tank.getFill()); + tank.setFill(tank.getFill() + toAdd); + amount -= toAdd; + } + } + return amount; + } + + @Override + public default int[] getReceivingPressureRange(FluidType type) { + int lowest = HIGHEST_VALID_PRESSURE; + int highest = 0; + + for(FluidTank tank : getReceivingTanks()) { + if(tank.getTankType() == type) { + if(tank.getPressure() < lowest) lowest = tank.getPressure(); + if(tank.getPressure() > highest) highest = tank.getPressure(); + } + } + + return lowest <= highest ? new int[] {lowest, highest} : DEFAULT_PRESSURE_RANGE; + } + + @Override + public default long getReceiverSpeed(FluidType type, int pressure) { + return 1_000_000_000; + } +} diff --git a/src/main/java/api/hbm/fluidmk2/IFluidStandardSenderMK2.java b/src/main/java/api/hbm/fluidmk2/IFluidStandardSenderMK2.java new file mode 100644 index 000000000..75791b659 --- /dev/null +++ b/src/main/java/api/hbm/fluidmk2/IFluidStandardSenderMK2.java @@ -0,0 +1,130 @@ +package api.hbm.fluidmk2; + +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.uninos.GenNode; +import com.hbm.uninos.UniNodespace; +import com.hbm.util.Compat; +import com.hbm.util.fauxpointtwelve.DirPos; + +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +/** + * IFluidProviderMK2 with standard implementation for fluid provision and fluid removal. + * @author hbm + */ +public interface IFluidStandardSenderMK2 extends IFluidProviderMK2 { + + public default void tryProvide(FluidTank tank, World world, DirPos pos) { tryProvide(tank.getTankType(), tank.getPressure(), world, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } + public default void tryProvide(FluidType type, World world, DirPos pos) { tryProvide(type, 0, world, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } + public default void tryProvide(FluidType type, int pressure, World world, DirPos pos) { tryProvide(type, pressure, world, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } + + public default void tryProvide(FluidTank tank, World world, int x, int y, int z, ForgeDirection dir) { tryProvide(tank.getTankType(), tank.getPressure(), world, x, y, z, dir); } + public default void tryProvide(FluidType type, World world, int x, int y, int z, ForgeDirection dir) { tryProvide(type, 0, world, x, y, z, dir); } + + public default void tryProvide(FluidType type, int pressure, World world, int x, int y, int z, ForgeDirection dir) { + + TileEntity te = Compat.getTileStandard(world, x, y, z); + boolean red = false; + + if(te instanceof IFluidConnectorMK2) { + IFluidConnectorMK2 con = (IFluidConnectorMK2) te; + if(con.canConnect(type, dir.getOpposite())) { + + GenNode node = UniNodespace.getNode(world, x, y, z, type.getNetworkProvider()); + + if(node != null && node.net != null) { + node.net.addProvider(this); + red = true; + } + } + } + + if(te != this && te instanceof IFluidReceiverMK2) { + IFluidReceiverMK2 rec = (IFluidReceiverMK2) te; + if(rec.canConnect(type, dir.getOpposite())) { + long provides = Math.min(this.getFluidAvailable(type, pressure), this.getProviderSpeed(type, pressure)); + long receives = Math.min(rec.getDemand(type, pressure), rec.getReceiverSpeed(type, pressure)); + long toTransfer = Math.min(provides, receives); + toTransfer -= rec.transferFluid(type, pressure, toTransfer); + this.useUpFluid(type, pressure, toTransfer); + } + } + + if(particleDebug) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "network"); + data.setString("mode", "fluid"); + data.setInteger("color", type.getColor()); + double posX = x + 0.5 - dir.offsetX * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; + double posY = y + 0.5 - dir.offsetY * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; + double posZ = z + 0.5 - dir.offsetZ * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; + data.setDouble("mX", dir.offsetX * (red ? 0.025 : 0.1)); + data.setDouble("mY", dir.offsetY * (red ? 0.025 : 0.1)); + data.setDouble("mZ", dir.offsetZ * (red ? 0.025 : 0.1)); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY, posZ), new TargetPoint(world.provider.dimensionId, posX, posY, posZ, 25)); + } + } + + public FluidTank[] getSendingTanks(); + + @Override + public default long getFluidAvailable(FluidType type, int pressure) { + long amount = 0; + for(FluidTank tank : getSendingTanks()) { + if(tank.getTankType() == type && tank.getPressure() == pressure) amount += tank.getFill(); + } + return amount; + } + + @Override + public default void useUpFluid(FluidType type, int pressure, long amount) { + int tanks = 0; + for(FluidTank tank : getSendingTanks()) { + if(tank.getTankType() == type && tank.getPressure() == pressure) tanks++; + } + if(tanks > 1) { + int firstRound = (int) Math.floor((double) amount / (double) tanks); + for(FluidTank tank : getSendingTanks()) { + if(tank.getTankType() == type && tank.getPressure() == pressure) { + int toRem = Math.min(firstRound, tank.getFill()); + tank.setFill(tank.getFill() - toRem); + amount -= toRem; + } + } + } + if(amount > 0) for(FluidTank tank : getSendingTanks()) { + if(tank.getTankType() == type && tank.getPressure() == pressure) { + int toRem = (int) Math.min(amount, tank.getFill()); + tank.setFill(tank.getFill() - toRem); + amount -= toRem; + } + } + } + + @Override + public default int[] getProvidingPressureRange(FluidType type) { + int lowest = HIGHEST_VALID_PRESSURE; + int highest = 0; + + for(FluidTank tank : getSendingTanks()) { + if(tank.getTankType() == type) { + if(tank.getPressure() < lowest) lowest = tank.getPressure(); + if(tank.getPressure() > highest) highest = tank.getPressure(); + } + } + + return lowest <= highest ? new int[] {lowest, highest} : DEFAULT_PRESSURE_RANGE; + } + + @Override + public default long getProviderSpeed(FluidType type, int pressure) { + return 1_000_000_000; + } +} diff --git a/src/main/java/api/hbm/fluidmk2/IFluidStandardTransceiverMK2.java b/src/main/java/api/hbm/fluidmk2/IFluidStandardTransceiverMK2.java new file mode 100644 index 000000000..29779e376 --- /dev/null +++ b/src/main/java/api/hbm/fluidmk2/IFluidStandardTransceiverMK2.java @@ -0,0 +1,5 @@ +package api.hbm.fluidmk2; + +public interface IFluidStandardTransceiverMK2 extends IFluidStandardReceiverMK2, IFluidStandardSenderMK2 { + +} diff --git a/src/main/java/api/hbm/fluidmk2/IFluidUserMK2.java b/src/main/java/api/hbm/fluidmk2/IFluidUserMK2.java new file mode 100644 index 000000000..1e60f7585 --- /dev/null +++ b/src/main/java/api/hbm/fluidmk2/IFluidUserMK2.java @@ -0,0 +1,15 @@ +package api.hbm.fluidmk2; + +import com.hbm.inventory.fluid.tank.FluidTank; + +import api.hbm.tile.ILoadedTile; + +public interface IFluidUserMK2 extends IFluidConnectorMK2, ILoadedTile { + + public static final int HIGHEST_VALID_PRESSURE = 5; + public static final int[] DEFAULT_PRESSURE_RANGE = new int[] {0, 0}; + + public static final boolean particleDebug = false; + + public FluidTank[] getAllTanks(); +} diff --git a/src/main/java/api/hbm/fluidmk2/package-info.java b/src/main/java/api/hbm/fluidmk2/package-info.java new file mode 100644 index 000000000..fae3f6c16 --- /dev/null +++ b/src/main/java/api/hbm/fluidmk2/package-info.java @@ -0,0 +1,24 @@ +package api.hbm.fluidmk2; + +/* + +It's rather shrimple: the shiny new energy system using universal nodespace, but hit with a hammer until it works with fluids. +Has a few extra bits and pieces for handling, but the concept is basically the same. +Sounds good? + +*/ + +/* + +Quick explanation for implementing new fluids via addon: +Fluids are subject to /ntmreload so they get wiped and rebuilt using the init function in Fluids, which means that if fluids +are simply added externally during startup, they are removed permanently until the game restarts. Same concept as with recipes, really. +To fix this we need to make sure that externally registered fluids are re-registered during reload, for that purpose we have +IFluidRegisterListener, a simple interface with a small method that runs whenever the fluid list is reloaded. IFluidRegisterListeners +need to be registered with CompatExternal.registerFluidRegisterListener to be used, make sure to do this during PreInit. +Inside the IFluidRegisterListener, fluids can be added using CompatFluidRegistry.registerFluid, which will generate a Fluid instance +using the supplied arguments and automatically register it. Do note that like with custom fluids, fluids need numeric IDs assigned manually. +To prevent collisions with stock fluids when NTM updates, make sure to choose a high starting ID (e.g. 10,000). +The fluid created by registerFluid can have traits added to them, just like how NTM does it with its stock fluids. + +*/ \ No newline at end of file diff --git a/src/main/java/api/hbm/item/IButtonReceiver.java b/src/main/java/api/hbm/item/IButtonReceiver.java deleted file mode 100644 index db1741b55..000000000 --- a/src/main/java/api/hbm/item/IButtonReceiver.java +++ /dev/null @@ -1,17 +0,0 @@ -package api.hbm.item; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; - -public interface IButtonReceiver { - - /** - * Called in ModEventHandlerClient for any keyboard input related to this item - * @param stack - * @param player - */ - @SideOnly(Side.CLIENT) - public void handleKeyboardInput(ItemStack stack, EntityPlayer player); -} diff --git a/src/main/java/api/hbm/item/IClickReceiver.java b/src/main/java/api/hbm/item/IClickReceiver.java deleted file mode 100644 index fd6830410..000000000 --- a/src/main/java/api/hbm/item/IClickReceiver.java +++ /dev/null @@ -1,20 +0,0 @@ -package api.hbm.item; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; - -public interface IClickReceiver { - - /** - * Called in ModEventHandlerClient for any mouse input related to this item - * @param stack - * @param player - * @param button - * @param state - * @return true if the event should be canceled - */ - @SideOnly(Side.CLIENT) - public boolean handleMouseInput(ItemStack stack, EntityPlayer player, int button, boolean state); -} diff --git a/src/main/java/api/hbm/recipe/IRecipeRegisterListener.java b/src/main/java/api/hbm/recipe/IRecipeRegisterListener.java new file mode 100644 index 000000000..14832ec3a --- /dev/null +++ b/src/main/java/api/hbm/recipe/IRecipeRegisterListener.java @@ -0,0 +1,13 @@ +package api.hbm.recipe; + +public interface IRecipeRegisterListener { + + /** + * Called during SerializableRecipe.initialize(), after the defaults are loaded but before the template is written. + * Due to the way the recipes are handled, calling it once is not enough, it has to be called once for every SerializableRecipe + * instance handled, therefore the load operation passes the type name of the recipe, so that the listeners know what type of recipe + * to register at that point. Note that the actual SerializableRecipe instance is irrelevant, since recipes are static anyway, + * and direct tampering with SerializableRecipes is not recommended. + */ + public void onRecipeLoad(String recipeClassName); +} diff --git a/src/main/java/api/hbm/recipe/package-info.java b/src/main/java/api/hbm/recipe/package-info.java new file mode 100644 index 000000000..53e838a43 --- /dev/null +++ b/src/main/java/api/hbm/recipe/package-info.java @@ -0,0 +1,17 @@ +package api.hbm.recipe; + +/* + +Quick guide on how to make robust and safe recipe integration: +* Implement IRecipeRegisterListener, the resulting class will handle all recipes, and the onRecipeLoad method is called every time the SerializableRecipe system updates +* Register your IRecipeRegisterListener using CompatExternal.registerRecipeRegisterListener, this has to happen before the SerializableRecipe initializes, doing this during PreInit should be safe +* In your IRecipeRegisterListener, check the supplied recipe type string (which will be the class name of the SerializableRecipe currently being registered) and register your custom recipes accordingly using CompatRecipeRegistry + +Explanation: +* Order of operations is important for the recipes to work, if recipes are loaded outside the scope of SerializableRecipe.initialize, they will not work correctly +* If recipes are registered before the init, they are deleted, if they are registered after the init, they will not be part of the config template file, and get deleted when running /ntmreload +* Machines change all the time, so the recipe classes should not be considered API, since the compat would break immediately if a machine is changed or removed +* CompatRecipeRegistry promises to never change its method signatures, and have solid sanity checking when recipes are registered, allowing it to make the bst of whatever data is thrown at it +* Using this dedicated registry class means that even if a machine is changed or removed, the recipes will continue to work to the best of its abilities + +*/ \ No newline at end of file diff --git a/src/main/java/api/hbm/redstoneoverradio/IRORInteractive.java b/src/main/java/api/hbm/redstoneoverradio/IRORInteractive.java index a05b280c9..4e90ac4ad 100644 --- a/src/main/java/api/hbm/redstoneoverradio/IRORInteractive.java +++ b/src/main/java/api/hbm/redstoneoverradio/IRORInteractive.java @@ -7,15 +7,17 @@ public interface IRORInteractive extends IRORInfo { public static String EX_NULL = "Exception: Null Command"; public static String EX_NAME = "Exception: Multiple Name Separators"; + public static String EX_FORMAT = "Exception: Parameter in Invalid Format"; /** Runs a function on the ROR component, usually causing the component to change or do something. Returns are optional. */ - public Object runRORFunction(String name, String[] params); + public String runRORFunction(String name, String[] params); /** Extracts the command name from a full command string */ public static String getCommand(String input) { if(input == null || input.isEmpty()) throw new RORFunctionException(EX_NULL); String[] parts = input.split(NAME_SEPARATOR); if(parts.length <= 0 || parts.length > 2) throw new RORFunctionException(EX_NAME); + if(parts[0].isEmpty()) throw new RORFunctionException(EX_NULL); return parts[0]; } @@ -29,4 +31,11 @@ public interface IRORInteractive extends IRORInfo { String[] params = paramList.split(PARAM_SEPARATOR); return params; } + + public static int parseInt(String val, int min, int max) { + int result = 0; + try { result = Integer.parseInt(val); } catch(Exception x) { throw new RORFunctionException(EX_FORMAT); }; + if(result < min || result > max) throw new RORFunctionException(EX_FORMAT); + return result; + } } diff --git a/src/main/java/api/hbm/redstoneoverradio/IRORValueProvider.java b/src/main/java/api/hbm/redstoneoverradio/IRORValueProvider.java index 297882c31..ec0997a75 100644 --- a/src/main/java/api/hbm/redstoneoverradio/IRORValueProvider.java +++ b/src/main/java/api/hbm/redstoneoverradio/IRORValueProvider.java @@ -3,5 +3,5 @@ package api.hbm.redstoneoverradio; public interface IRORValueProvider extends IRORInfo { /** Grabs the specified value from this ROR component, operations should not cause any changes with the component itself */ - public Object provideRORValue(String name); + public String provideRORValue(String name); } diff --git a/src/main/java/api/hbm/redstoneoverradio/package-info.java b/src/main/java/api/hbm/redstoneoverradio/package-info.java index 425d8e629..2f4f34607 100644 --- a/src/main/java/api/hbm/redstoneoverradio/package-info.java +++ b/src/main/java/api/hbm/redstoneoverradio/package-info.java @@ -32,7 +32,7 @@ INDEX includes: optionally returning a value On the implementation side we can expect: -- ROR readers, torches which have a list of named values which are read, as well as frequencies on which these values are boradcasted +- ROR readers, torches which have a list of named values which are read, as well as frequencies on which these values are broadcasted - ROR controllers, torches which have one frequency and can receive commands with parameters which will be executed on the component - ROR programmers, torches which have a list of frequencies and return frequencies which can receive commands with parameters and then send the return value on the return frequency @@ -43,4 +43,7 @@ ROR programmers can indeed do everything that the readers and controllers can, b which are more time-consuming to set up and limits the amount of command channels available, hence why readers and controllers exist when only a simple solution is required +Addendum: While the RTTY system can support any arbitrary object as a signal, INDEX will strictly use strings, since that simplifies +things regarding serialization and saving signals to NBT. Counters already use a parse to int32 function, so this still checks out. + */ \ No newline at end of file diff --git a/src/main/java/api/hbm/tile/ILoadedTile.java b/src/main/java/api/hbm/tile/ILoadedTile.java index 65ad9d14c..33b221bde 100644 --- a/src/main/java/api/hbm/tile/ILoadedTile.java +++ b/src/main/java/api/hbm/tile/ILoadedTile.java @@ -1,5 +1,6 @@ package api.hbm.tile; +/** For anything that should be removed off networks when considered unloaded, only affects providers and receivers, not links. Must not necessarily be a tile. */ public interface ILoadedTile { public boolean isLoaded(); diff --git a/src/main/java/com/hbm/blocks/BlockBase.java b/src/main/java/com/hbm/blocks/BlockBase.java index d2e1b01ed..9fc497d64 100644 --- a/src/main/java/com/hbm/blocks/BlockBase.java +++ b/src/main/java/com/hbm/blocks/BlockBase.java @@ -1,7 +1,6 @@ package com.hbm.blocks; import com.hbm.lib.RefStrings; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.EnumCreatureType; @@ -11,7 +10,7 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class BlockBase extends Block { - + private boolean beaconable = false; private boolean canSpawn = true; @@ -22,14 +21,14 @@ public class BlockBase extends Block { public BlockBase(Material material) { super(material); } - + @Override public Block setBlockName(String name) { super.setBlockName(name); this.setBlockTextureName(RefStrings.MODID + ":" + name); return this; } - + /** * Daisychainable setter for making the block a beacon base block * @return @@ -38,7 +37,7 @@ public class BlockBase extends Block { this.beaconable = true; return this; } - + public BlockBase noMobSpawn() { this.canSpawn = false; return this; @@ -53,7 +52,7 @@ public class BlockBase extends Block { public boolean isBeaconBase(IBlockAccess worldObj, int x, int y, int z, int beaconX, int beaconY, int beaconZ) { return this.beaconable; } - + /** * Sets the block to air and drops it * @param world @@ -62,7 +61,7 @@ public class BlockBase extends Block { * @param z */ public void dismantle(World world, int x, int y, int z) { - + world.setBlockToAir(x, y, z); ItemStack itemstack = new ItemStack(this, 1); diff --git a/src/main/java/com/hbm/blocks/BlockDummyable.java b/src/main/java/com/hbm/blocks/BlockDummyable.java index d802eac32..19c33db65 100644 --- a/src/main/java/com/hbm/blocks/BlockDummyable.java +++ b/src/main/java/com/hbm/blocks/BlockDummyable.java @@ -1,13 +1,11 @@ package com.hbm.blocks; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - import com.hbm.handler.MultiblockHandlerXR; import com.hbm.handler.ThreeInts; +import com.hbm.interfaces.ICopiable; import com.hbm.main.MainRegistry; import com.hbm.tileentity.IPersistentNBT; +import com.hbm.world.gen.INBTTransformable; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; @@ -15,6 +13,7 @@ import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.RenderGlobal; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; @@ -27,12 +26,18 @@ import net.minecraft.stats.StatList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.client.event.DrawBlockHighlightEvent; import net.minecraftforge.common.util.ForgeDirection; -public abstract class BlockDummyable extends BlockContainer implements ICustomBlockHighlight { +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +public abstract class BlockDummyable extends BlockContainer implements ICustomBlockHighlight, ICopiable, INBTTransformable { public BlockDummyable(Material mat) { super(mat); @@ -49,7 +54,7 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl public static final int offset = 10; // meta offset from dummy to extra rotation public static final int extra = 6; - + /* * An extra integer that can be set before block set operations (such as makeExtra) and intercepted in createNewTileEntity. * This way we can inelegantly add variation to the tiles created even if the metadata would be the same. @@ -59,11 +64,11 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl public static int overrideTileMeta = 0; public static boolean safeRem = false; - + public static void setOverride(int i) { overrideTileMeta = i; } - + public static void resetOverride() { overrideTileMeta = 0; } @@ -72,27 +77,20 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl super.onNeighborBlockChange(world, x, y, z, block); - if(world.isRemote || safeRem) + if(safeRem) return; - int metadata = world.getBlockMetadata(x, y, z); - - // if it's an extra, remove the extra-ness - if(metadata >= extra) - metadata -= extra; - - ForgeDirection dir = ForgeDirection.getOrientation(metadata).getOpposite(); - Block b = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); - - if(b != this) { - world.setBlockToAir(x, y, z); - } + destroyIfOrphan(world, x, y, z); } public void updateTick(World world, int x, int y, int z, Random rand) { super.updateTick(world, x, y, z, rand); + destroyIfOrphan(world, x, y, z); + } + + private void destroyIfOrphan(World world, int x, int y, int z) { if(world.isRemote) return; @@ -105,10 +103,32 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl ForgeDirection dir = ForgeDirection.getOrientation(metadata).getOpposite(); Block b = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); - if(b != this) { - world.setBlockToAir(x, y, z); + // An extra precaution against multiblocks on chunk borders being erroneously deleted. + // Technically, this might be used to persist ghost dummy blocks by manipulating + // loaded chunks and block destruction, but this gives no benefit to the player, + // cannot be done accidentally, and is definitely preferable to multiblocks + // just vanishing when their chunks are unloaded in an unlucky way. + if(b != this && world.checkChunksExist(x - 1, y - 1, z - 1, x + 1, y + 1, z + 1)) { + if (isLegacyMonoblock(world, x, y, z)) { + fixLegacyMonoblock(world, x, y, z); + } else { + world.setBlockToAir(x, y, z); + } } + } + // Override this when turning a single block into a pseudo-multiblock. + // If this returns true, instead of being deleted as an orphan, the block + // will be promoted to a core of a dummyable, however without any dummies. + // This is only called if the block is presumed an orphan, so you don't + // need to check that here. + protected boolean isLegacyMonoblock(World world, int x, int y, int z) { + return false; + } + + protected void fixLegacyMonoblock(World world, int x, int y, int z) { + // Promote to a lone core block with the same effective rotation as before the change + world.setBlockMetadataWithNotify(x, y, z, offset + world.getBlockMetadata(x, y, z), 3); } public int[] findCore(World world, int x, int y, int z) { @@ -116,7 +136,7 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl return findCoreRec(world, x, y, z); } - List positions = new ArrayList(); + List positions = new ArrayList<>(); public int[] findCoreRec(World world, int x, int y, int z) { @@ -178,7 +198,7 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl if(i == 3) { dir = ForgeDirection.getOrientation(4); } - + dir = getDirModified(dir); if(!checkRequirement(world, x, y, z, dir, o)) { @@ -216,11 +236,6 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl super.onBlockPlacedBy(world, x, y, z, player, itemStack); } - /*@Override - public void onBlockAdded(World world, int x, int y, int z) { - lastBlockSet = new BlockPos(x, y, z); - }*/ - /** * A bit more advanced than the dir modifier, but it is important that the resulting direction meta is in the core range. * Using the "extra" metas is technically possible but requires a bit of tinkering, e.g. preventing a recursive loop @@ -236,7 +251,7 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl protected int getMetaForCore(World world, int x, int y, int z, EntityPlayer player, int original) { return original; } - + /** * Allows to modify the general placement direction as if the player had another rotation. * Quite basic due to only having 1 param but it's more meant to fix/limit the amount of directions @@ -267,11 +282,11 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl return; // world.setBlockMetadataWithNotify(x, y, z, meta + extra, 3); - this.safeRem = true; + safeRem = true; world.setBlock(x, y, z, this, meta + extra, 3); - this.safeRem = false; + safeRem = false; } - + public void removeExtra(World world, int x, int y, int z) { if(world.getBlock(x, y, z) != this) @@ -283,9 +298,9 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl return; // world.setBlockMetadataWithNotify(x, y, z, meta + extra, 3); - this.safeRem = true; + safeRem = true; world.setBlock(x, y, z, this, meta - extra, 3); - this.safeRem = false; + safeRem = false; } // checks if the dummy metadata is within the extra range @@ -309,7 +324,7 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl // if(pos != null) { ForgeDirection d = ForgeDirection.getOrientation(i); - + if(world.getBlock(x - d.offsetX, y - d.offsetY, z - d.offsetZ) == this) world.setBlockToAir(x - d.offsetX, y - d.offsetY, z - d.offsetZ); // } @@ -384,7 +399,7 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl } protected boolean standardOpenBehavior(World world, int x, int y, int z, EntityPlayer player, int id) { - + if(world.isRemote) { return true; } else if(!player.isSneaking()) { @@ -402,14 +417,14 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl @Override public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) { - + if(!player.capabilities.isCreativeMode) { harvesters.set(player); this.dropBlockAsItem(world, x, y, z, meta, 0); harvesters.set(null); } } - + /* * Called after the block and TE are already gone, so this method is of no use to us. */ @@ -418,56 +433,85 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl player.addStat(StatList.mineBlockStatArray[getIdFromBlock(this)], 1); player.addExhaustion(0.025F); } - + public boolean useDetailedHitbox() { return !bounding.isEmpty(); } - - public List bounding = new ArrayList(); + public List bounding = new ArrayList<>(); + + @SuppressWarnings({ "rawtypes", "unchecked" }) @Override public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB entityBounding, List list, Entity entity) { - + if(!this.useDetailedHitbox()) { super.addCollisionBoxesToList(world, x, y, z, entityBounding, list, entity); return; } - + int[] pos = this.findCore(world, x, y, z); - + if(pos == null) return; - + x = pos[0]; y = pos[1]; z = pos[2]; - - for(AxisAlignedBB aabb :this.bounding) { - AxisAlignedBB boxlet = getAABBRotationOffset(aabb, x + 0.5, y, z + 0.5, ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z) - this.offset).getRotation(ForgeDirection.UP)); - + + ForgeDirection rot = ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z) - offset).getRotation(ForgeDirection.UP); + + for(AxisAlignedBB aabb : this.bounding) { + AxisAlignedBB boxlet = getAABBRotationOffset(aabb, x + 0.5, y, z + 0.5, rot); + if(entityBounding.intersectsWith(boxlet)) { list.add(boxlet); } } } - + public static AxisAlignedBB getAABBRotationOffset(AxisAlignedBB aabb, double x, double y, double z, ForgeDirection dir) { - + AxisAlignedBB newBox = null; if(dir == ForgeDirection.NORTH) newBox = AxisAlignedBB.getBoundingBox(aabb.minX, aabb.minY, aabb.minZ, aabb.maxX, aabb.maxY, aabb.maxZ); if(dir == ForgeDirection.EAST) newBox = AxisAlignedBB.getBoundingBox(-aabb.maxZ, aabb.minY, aabb.minX, -aabb.minZ, aabb.maxY, aabb.maxX); if(dir == ForgeDirection.SOUTH) newBox = AxisAlignedBB.getBoundingBox(-aabb.maxX, aabb.minY, -aabb.maxZ, -aabb.minX, aabb.maxY, -aabb.minZ); if(dir == ForgeDirection.WEST) newBox = AxisAlignedBB.getBoundingBox(aabb.minZ, aabb.minY, -aabb.maxX, aabb.maxZ, aabb.maxY, -aabb.minX); - + if(newBox != null) { newBox.offset(x, y, z); return newBox; } - + return AxisAlignedBB.getBoundingBox(aabb.minX, aabb.minY, aabb.minZ, aabb.maxX, aabb.maxY, aabb.maxZ).offset(x + 0.5, y + 0.5, z + 0.5); } + // Don't mutate the xyz parameters, or the interaction max distance will bite you + @Override + public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, Vec3 startVec, Vec3 endVec) { + if(!this.useDetailedHitbox()) { + return super.collisionRayTrace(world, x, y, z, startVec, endVec); + } + + int[] pos = this.findCore(world, x, y, z); + + if(pos == null) + return super.collisionRayTrace(world, x, y, z, startVec, endVec); + + ForgeDirection rot = ForgeDirection.getOrientation(world.getBlockMetadata(pos[0], pos[1], pos[2]) - offset).getRotation(ForgeDirection.UP); + + for(AxisAlignedBB aabb : this.bounding) { + AxisAlignedBB boxlet = getAABBRotationOffset(aabb, pos[0] + 0.5, pos[1], pos[2] + 0.5, rot); + + MovingObjectPosition intercept = boxlet.calculateIntercept(startVec, endVec); + if(intercept != null) { + return new MovingObjectPosition(x, y, z, intercept.sideHit, intercept.hitVec); + } + } + + return null; + } + @Override public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { if(!this.useDetailedHitbox()) { @@ -476,35 +520,85 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.999F, 1.0F); //for some fucking reason setting maxY to something that isn't 1 magically fixes item collisions } } - + @Override @SideOnly(Side.CLIENT) public boolean shouldDrawHighlight(World world, int x, int y, int z) { return !this.bounding.isEmpty(); } - + @Override @SideOnly(Side.CLIENT) public void drawHighlight(DrawBlockHighlightEvent event, World world, int x, int y, int z) { - + int[] pos = this.findCore(world, x, y, z); if(pos == null) return; - + x = pos[0]; y = pos[1]; z = pos[2]; - + EntityPlayer player = event.player; float interp = event.partialTicks; double dX = player.lastTickPosX + (player.posX - player.lastTickPosX) * (double) interp; double dY = player.lastTickPosY + (player.posY - player.lastTickPosY) * (double) interp; double dZ = player.lastTickPosZ + (player.posZ - player.lastTickPosZ) * (double)interp; float exp = 0.002F; - - int meta = world.getBlockMetadata(x, y, z); + + ForgeDirection rot = ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z) - offset).getRotation(ForgeDirection.UP); ICustomBlockHighlight.setup(); - for(AxisAlignedBB aabb : this.bounding) event.context.drawOutlinedBoundingBox(getAABBRotationOffset(aabb.expand(exp, exp, exp), 0, 0, 0, ForgeDirection.getOrientation(meta - offset).getRotation(ForgeDirection.UP)).getOffsetBoundingBox(x - dX + 0.5, y - dY, z - dZ + 0.5), -1); + for(AxisAlignedBB aabb : this.bounding) RenderGlobal.drawOutlinedBoundingBox(getAABBRotationOffset(aabb.expand(exp, exp, exp), 0, 0, 0, rot).getOffsetBoundingBox(x - dX + 0.5, y - dY, z - dZ + 0.5), -1); ICustomBlockHighlight.cleanup(); } -} + + @Override + public NBTTagCompound getSettings(World world, int x, int y, int z) { + int[] pos = findCore(world, x, y, z); + TileEntity tile = world.getTileEntity(pos[0], pos[1], pos[2]); + if (tile instanceof ICopiable) + return ((ICopiable) tile).getSettings(world, pos[0], pos[1], pos[2]); + else + return null; + } + + @Override + public void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + int[] pos = findCore(world, x, y, z); + TileEntity tile = world.getTileEntity(pos[0], pos[1], pos[2]); + if (tile instanceof ICopiable) + ((ICopiable) tile).pasteSettings(nbt, index, world, player, pos[0], pos[1], pos[2]); + } + + @Override + public String[] infoForDisplay(World world, int x, int y, int z) { + int[] pos = findCore(world, x, y, z); + TileEntity tile = world.getTileEntity(pos[0], pos[1], pos[2]); + if (tile instanceof ICopiable) + return ((ICopiable) tile).infoForDisplay(world, x, y, z); + return null; + } + + @Override + public int transformMeta(int meta, int coordBaseMode) { + boolean isOffset = meta >= 12; // squishing causes issues + boolean isExtra = !isOffset && meta >= extra; + + if(isOffset) { + meta -= offset; + } else if(isExtra) { + meta -= extra; + } + + meta = INBTTransformable.transformMetaDeco(meta, coordBaseMode); + + if(isOffset) { + meta += offset; + } else if(isExtra) { + meta += extra; + } + + return meta; + } + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/BlockEnumMulti.java b/src/main/java/com/hbm/blocks/BlockEnumMulti.java index 0dd222f82..a79493e26 100644 --- a/src/main/java/com/hbm/blocks/BlockEnumMulti.java +++ b/src/main/java/com/hbm/blocks/BlockEnumMulti.java @@ -1,9 +1,6 @@ package com.hbm.blocks; -import java.util.Locale; - import com.hbm.util.EnumUtil; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.material.Material; @@ -11,6 +8,8 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; +import java.util.Locale; + public class BlockEnumMulti extends BlockMulti { public Class theEnum; @@ -23,17 +22,17 @@ public class BlockEnumMulti extends BlockMulti { this.multiName = multiName; this.multiTexture = multiTexture; } - + protected IIcon[] icons; @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister reg) { - + if(multiTexture) { Enum[] enums = theEnum.getEnumConstants(); this.icons = new IIcon[enums.length]; - + for(int i = 0; i < icons.length; i++) { Enum num = enums[i]; this.icons[i] = reg.registerIcon(this.getTextureMultiName(num)); @@ -42,25 +41,25 @@ public class BlockEnumMulti extends BlockMulti { this.blockIcon = reg.registerIcon(this.getTextureName()); } } - + public String getUnlocalizedName(ItemStack stack) { - + if(this.multiName) { Enum num = EnumUtil.grabEnumSafely(this.theEnum, stack.getItemDamage()); return getUnlocalizedMultiName(num); } - + return this.getUnlocalizedName(); } - + public String getTextureMultiName(Enum num) { return this.getTextureName() + "." + num.name().toLowerCase(Locale.US); } - + public String getUnlocalizedMultiName(Enum num) { return super.getUnlocalizedName() + "." + num.name().toLowerCase(Locale.US); } - + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int meta) { diff --git a/src/main/java/com/hbm/blocks/BlockEnums.java b/src/main/java/com/hbm/blocks/BlockEnums.java index bf35a4e17..15a618779 100644 --- a/src/main/java/com/hbm/blocks/BlockEnums.java +++ b/src/main/java/com/hbm/blocks/BlockEnums.java @@ -58,6 +58,14 @@ public class BlockEnums { SMALL } + public static enum LightstoneType { + UNREFINED, + TILE, + BRICKS, + BRICKS_CHISELED, + CHISELED + } + public static enum DecoComputerEnum { IBM_300PL } diff --git a/src/main/java/com/hbm/blocks/BlockFallingNT.java b/src/main/java/com/hbm/blocks/BlockFallingNT.java index f880d7268..8e23cc57c 100644 --- a/src/main/java/com/hbm/blocks/BlockFallingNT.java +++ b/src/main/java/com/hbm/blocks/BlockFallingNT.java @@ -1,9 +1,6 @@ package com.hbm.blocks; -import java.util.Random; - import com.hbm.entity.item.EntityFallingBlockNT; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -14,6 +11,8 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; import net.minecraft.world.World; +import java.util.Random; + public class BlockFallingNT extends Block { public static boolean fallInstantly; @@ -45,7 +44,7 @@ public class BlockFallingNT extends Block { } protected void fall(World world, int x, int y, int z) { - + if(canFallThrough(world, x, y - 1, z) && y >= 0) { byte range = 32; diff --git a/src/main/java/com/hbm/blocks/BlockMulti.java b/src/main/java/com/hbm/blocks/BlockMulti.java index 21930f6ff..e676c0b71 100644 --- a/src/main/java/com/hbm/blocks/BlockMulti.java +++ b/src/main/java/com/hbm/blocks/BlockMulti.java @@ -1,7 +1,5 @@ package com.hbm.blocks; -import java.util.List; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.material.Material; @@ -9,6 +7,8 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import java.util.List; + public abstract class BlockMulti extends BlockBase implements IBlockMulti { public BlockMulti() { diff --git a/src/main/java/com/hbm/blocks/BlockRemap.java b/src/main/java/com/hbm/blocks/BlockRemap.java index 1939b2830..97c21a6a1 100644 --- a/src/main/java/com/hbm/blocks/BlockRemap.java +++ b/src/main/java/com/hbm/blocks/BlockRemap.java @@ -1,8 +1,5 @@ package com.hbm.blocks; -import java.util.ArrayList; -import java.util.Random; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -12,8 +9,11 @@ import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; +import java.util.ArrayList; +import java.util.Random; + public class BlockRemap extends Block implements ILookOverlay { - + public Block remapBlock; public int remapMeta; @@ -29,7 +29,7 @@ public class BlockRemap extends Block implements ILookOverlay { public IIcon getIcon(int meta, int side) { return this.remapBlock.getIcon(meta, side); } - + @Override public Item getItemDropped(int meta, Random rand, int fortune) { return this.remapBlock.getItemDropped(meta, rand, fortune); diff --git a/src/main/java/com/hbm/blocks/IAnalyzable.java b/src/main/java/com/hbm/blocks/IAnalyzable.java index e4e76a5ee..7648183c7 100644 --- a/src/main/java/com/hbm/blocks/IAnalyzable.java +++ b/src/main/java/com/hbm/blocks/IAnalyzable.java @@ -1,9 +1,9 @@ package com.hbm.blocks; -import java.util.List; - import net.minecraft.world.World; +import java.util.List; + public interface IAnalyzable { public List getDebugInfo(World world, int x, int y, int z); diff --git a/src/main/java/com/hbm/blocks/IBlockSideRotation.java b/src/main/java/com/hbm/blocks/IBlockSideRotation.java index d24282cce..a8769a139 100644 --- a/src/main/java/com/hbm/blocks/IBlockSideRotation.java +++ b/src/main/java/com/hbm/blocks/IBlockSideRotation.java @@ -11,4 +11,27 @@ public interface IBlockSideRotation { public static int getRenderType() { return renderID; } + + // 0 1 3 2 becomes 0 2 3 1 + // I want to smoke that swedish kush because it clearly makes you fucking stupid + public static int topToBottom(int topRotation) { + switch(topRotation) { + case 1: return 2; + case 2: return 1; + default: return topRotation; + } + } + + public static boolean isOpposite(int from, int to) { + switch(from) { + case 0: return to == 1; + case 1: return to == 0; + case 2: return to == 3; + case 3: return to == 2; + case 4: return to == 5; + case 5: return to == 4; + default: return false; + } + } + } diff --git a/src/main/java/com/hbm/blocks/ICustomBlockHighlight.java b/src/main/java/com/hbm/blocks/ICustomBlockHighlight.java index 509ddab95..507fe8ff5 100644 --- a/src/main/java/com/hbm/blocks/ICustomBlockHighlight.java +++ b/src/main/java/com/hbm/blocks/ICustomBlockHighlight.java @@ -1,18 +1,17 @@ package com.hbm.blocks; -import org.lwjgl.opengl.GL11; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.world.World; import net.minecraftforge.client.event.DrawBlockHighlightEvent; +import org.lwjgl.opengl.GL11; public interface ICustomBlockHighlight { @SideOnly(Side.CLIENT) public boolean shouldDrawHighlight(World world, int x, int y, int z); @SideOnly(Side.CLIENT) public void drawHighlight(DrawBlockHighlightEvent event, World world, int x, int y, int z); - + @SideOnly(Side.CLIENT) public static void setup() { GL11.glEnable(GL11.GL_BLEND); @@ -22,7 +21,7 @@ public interface ICustomBlockHighlight { GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glDepthMask(false); } - + @SideOnly(Side.CLIENT) public static void cleanup() { GL11.glDepthMask(true); diff --git a/src/main/java/com/hbm/blocks/ILookOverlay.java b/src/main/java/com/hbm/blocks/ILookOverlay.java index d100ed767..c58c3827b 100644 --- a/src/main/java/com/hbm/blocks/ILookOverlay.java +++ b/src/main/java/com/hbm/blocks/ILookOverlay.java @@ -1,9 +1,5 @@ package com.hbm.blocks; -import java.util.List; - -import org.lwjgl.opengl.GL11; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.Minecraft; @@ -11,6 +7,9 @@ import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent; +import org.lwjgl.opengl.GL11; + +import java.util.List; public interface ILookOverlay { @@ -33,14 +32,14 @@ public interface ILookOverlay { try { for(String line : text) { - + int color = 0xFFFFFF; if(line.startsWith("&[")) { int end = line.lastIndexOf("&]"); color = Integer.parseInt(line.substring(2, end)); line = line.substring(end + 2); } - + mc.fontRenderer.drawStringWithShadow(line, pX, pZ, color); pZ += 10; } diff --git a/src/main/java/com/hbm/blocks/IPersistentInfoProvider.java b/src/main/java/com/hbm/blocks/IPersistentInfoProvider.java index ce033b3cb..4cfb07ad5 100644 --- a/src/main/java/com/hbm/blocks/IPersistentInfoProvider.java +++ b/src/main/java/com/hbm/blocks/IPersistentInfoProvider.java @@ -1,11 +1,11 @@ package com.hbm.blocks; -import java.util.List; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import java.util.List; + public interface IPersistentInfoProvider { public void addInformation(ItemStack stack, NBTTagCompound persistentTag, EntityPlayer player, List list, boolean ext); diff --git a/src/main/java/com/hbm/blocks/ITooltipProvider.java b/src/main/java/com/hbm/blocks/ITooltipProvider.java index e959db070..829de9f15 100644 --- a/src/main/java/com/hbm/blocks/ITooltipProvider.java +++ b/src/main/java/com/hbm/blocks/ITooltipProvider.java @@ -1,23 +1,22 @@ package com.hbm.blocks; -import java.util.List; - -import org.lwjgl.input.Keyboard; - -import com.hbm.util.I18nUtil; - import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import org.lwjgl.input.Keyboard; + +import com.hbm.util.i18n.I18nUtil; + +import java.util.List; public interface ITooltipProvider { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext); public default void addStandardInfo(ItemStack stack, EntityPlayer player, List list, boolean ext) { - + if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { for(String s : I18nUtil.resolveKeyArray(((Block)this).getUnlocalizedName() + ".desc")) list.add(EnumChatFormatting.YELLOW + s); } else { @@ -26,7 +25,7 @@ public interface ITooltipProvider { EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "> to display more info"); } } - + public default EnumRarity getRarity(ItemStack stack) { return EnumRarity.common; } diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 7a1a9f6e2..5f3de7f83 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -1,3467 +1,3585 @@ -package com.hbm.blocks; - -import com.hbm.blocks.BlockEnums.*; -import com.hbm.blocks.bomb.*; -import com.hbm.blocks.fluid.*; -import com.hbm.blocks.gas.*; -import com.hbm.blocks.generic.*; -import com.hbm.blocks.generic.BlockHazard.ExtDisplayEffect; -import com.hbm.blocks.generic.BlockMotherOfAllOres.ItemRandomOreBlock; -import com.hbm.blocks.machine.*; -import com.hbm.blocks.machine.pile.*; -import com.hbm.blocks.machine.rbmk.*; -import com.hbm.blocks.network.*; -import com.hbm.blocks.rail.*; -import com.hbm.blocks.test.*; -import com.hbm.blocks.turret.*; -import com.hbm.items.block.*; -import com.hbm.items.bomb.ItemPrototypeBlock; -import com.hbm.items.special.ItemOreBlock; -import com.hbm.lib.ModDamageSource; -import com.hbm.lib.RefStrings; -import com.hbm.main.MainRegistry; -import com.hbm.tileentity.DoorDecl; -import com.hbm.tileentity.machine.storage.TileEntityFileCabinet; -import cpw.mods.fml.common.registry.GameRegistry; -import net.minecraft.block.Block; -import net.minecraft.block.BlockFalling; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; -import net.minecraft.block.material.MaterialLiquid; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.ItemBlock; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; - -public class ModBlocks { - - public static void mainRegistry() - { - initializeBlock(); - registerBlock(); - } - - public static Block event_tester; - public static Block obj_tester; - public static Block test_core; - public static Block test_charge; - public static Block structure_anchor; - - public static Block ore_uranium; - public static Block ore_uranium_scorched; - public static Block ore_titanium; - public static Block ore_sulfur; - public static Block ore_thorium; - public static Block ore_niter; - public static Block ore_copper; - public static Block ore_tungsten; - public static Block ore_aluminium; - public static Block ore_fluorite; - public static Block ore_lead; - public static Block ore_schrabidium; - public static Block ore_beryllium; - public static Block ore_australium; - public static Block ore_rare; - public static Block ore_cobalt; - public static Block ore_cinnebar; - public static Block ore_coltan; - public static Block ore_alexandrite; - - public static Block ore_random; - public static Block ore_bedrock; - public static Block ore_volcano; - - public static Block ore_nether_coal; - public static Block ore_nether_smoldering; - public static Block ore_nether_uranium; - public static Block ore_nether_uranium_scorched; - public static Block ore_nether_plutonium; - public static Block ore_nether_tungsten; - public static Block ore_nether_sulfur; - public static Block ore_nether_fire; - public static Block ore_nether_cobalt; - public static Block ore_nether_schrabidium; - - public static Block ore_meteor; - - public static Block stone_gneiss; - public static Block ore_gneiss_iron; - public static Block ore_gneiss_gold; - public static Block ore_gneiss_uranium; - public static Block ore_gneiss_uranium_scorched; - public static Block ore_gneiss_copper; - public static Block ore_gneiss_asbestos; - public static Block ore_gneiss_lithium; - public static Block ore_gneiss_schrabidium; - public static Block ore_gneiss_rare; - public static Block ore_gneiss_gas; - - public static Block gneiss_brick; - public static Block gneiss_tile; - public static Block gneiss_chiseled; - - public static Block stone_depth; - public static Block ore_depth_cinnebar; - public static Block ore_depth_zirconium; - public static Block ore_depth_borax; - public static Block cluster_depth_iron; - public static Block cluster_depth_titanium; - public static Block cluster_depth_tungsten; - - public static Block stone_keyhole; - - public static Block stone_depth_nether; - public static Block ore_depth_nether_neodymium; - - public static Block stone_porous; - public static Block stone_resource; - public static Block stalagmite; - public static Block stalactite; - public static Block stone_biome; - - public static Block depth_brick; - public static Block depth_tiles; - public static Block depth_nether_brick; - public static Block depth_nether_tiles; - public static Block depth_dnt; - - public static Block basalt; - public static Block ore_basalt; - public static Block basalt_smooth; - public static Block basalt_brick; - public static Block basalt_polished; - public static Block basalt_tiles; - - public static Block cluster_iron; - public static Block cluster_titanium; - public static Block cluster_aluminium; - public static Block cluster_copper; - - public static Block ore_oil; - public static Block ore_oil_empty; - public static Block ore_oil_sand; - public static Block ore_bedrock_oil; - public static Block ore_lignite; - public static Block ore_asbestos; - public static Block ore_coal_oil; - public static Block ore_coal_oil_burning; - - public static Block ore_tikite; - - public static Block block_thorium; - public static Block block_thorium_fuel; - public static Block block_uranium; - public static Block block_u233; - public static Block block_u235; - public static Block block_u238; - public static Block block_uranium_fuel; - public static Block block_neptunium; - public static Block block_polonium; - public static Block block_mox_fuel; - public static Block block_plutonium; - public static Block block_pu238; - public static Block block_pu239; - public static Block block_pu240; - public static Block block_pu_mix; - public static Block block_plutonium_fuel; - public static Block block_titanium; - public static Block block_sulfur; - public static Block block_niter; - public static Block block_copper; - public static Block block_red_copper; - public static Block block_tungsten; - public static Block block_aluminium; - public static Block block_fluorite; - public static Block block_steel; - public static Block block_tcalloy; - public static Block block_cdalloy; - public static Block block_lead; - public static Block block_bismuth; - public static Block block_cadmium; - public static Block block_coltan; - public static Block block_tantalium; - public static Block block_niobium; - public static Block block_trinitite; - public static Block block_waste; - public static Block block_waste_painted; - public static Block block_waste_vitrified; - public static Block ancient_scrap; - public static Block block_corium; - public static Block block_corium_cobble; - public static Block block_scrap; - public static Block block_electrical_scrap; - public static Block block_beryllium; - public static Block block_schraranium; - public static Block block_schrabidium; - public static Block block_schrabidate; - public static Block block_solinium; - public static Block block_schrabidium_fuel; - public static Block block_euphemium; - public static Block block_schrabidium_cluster; - public static Block block_euphemium_cluster; - public static Block block_dineutronium; - public static Block block_advanced_alloy; - public static Block block_magnetized_tungsten; - public static Block block_combine_steel; - public static Block block_desh; - public static Block block_dura_steel; - public static Block block_starmetal; - public static Block block_polymer; - public static Block block_bakelite; - public static Block block_rubber; - public static Block block_yellowcake; - public static Block block_insulator; - public static Block block_fiberglass; - public static Block block_asbestos; - public static Block block_cobalt; - public static Block block_lithium; - public static Block block_zirconium; - public static Block block_white_phosphorus; - public static Block block_red_phosphorus; - public static Block block_fallout; - public static Block block_foam; - public static Block block_coke; - public static Block block_graphite; - public static Block block_graphite_drilled; - public static Block block_graphite_fuel; - public static Block block_graphite_plutonium; - public static Block block_graphite_rod; - public static Block block_graphite_source; - public static Block block_graphite_lithium; - public static Block block_graphite_tritium; - public static Block block_graphite_detector; - public static Block block_boron; - public static Block block_lanthanium; - public static Block block_ra226; - public static Block block_actinium; - public static Block block_tritium; - public static Block block_semtex; - public static Block block_c4; - public static Block block_smore; - public static Block block_slag; - - public static Block block_australium; - public static Block block_weidanium; - public static Block block_reiium; - public static Block block_unobtainium; - public static Block block_daffergon; - public static Block block_verticium; - - public static Block block_cap; - - public static Block deco_titanium; - public static Block deco_red_copper; - public static Block deco_tungsten; - public static Block deco_aluminium; - public static Block deco_steel; - public static Block deco_lead; - public static Block deco_beryllium; - public static Block deco_asbestos; - public static Block deco_rbmk; - public static Block deco_rbmk_smooth; - - public static Block deco_emitter; - public static Block part_emitter; - public static Block deco_loot; - public static Block pedestal; - public static Block bobblehead; - public static Block snowglobe; - public static Block plushie; - - public static Block gravel_obsidian; - public static Block gravel_diamond; - public static Block asphalt; - public static Block asphalt_light; - - public static Block reinforced_brick; - public static Block reinforced_ducrete; - public static Block reinforced_glass; - public static Block reinforced_glass_pane; - public static Block reinforced_light; - public static Block reinforced_sand; - public static Block reinforced_lamp_off; - public static Block reinforced_lamp_on; - public static Block reinforced_laminate; - public static Block reinforced_laminate_pane; - - public static Block lamp_tritium_green_off; - public static Block lamp_tritium_green_on; - public static Block lamp_tritium_blue_off; - public static Block lamp_tritium_blue_on; - - public static Block lamp_demon; - - public static Block lantern; - public static Block lantern_behemoth; - - public static Block spotlight_incandescent; - public static Block spotlight_incandescent_off; - public static Block spotlight_fluoro; - public static Block spotlight_fluoro_off; - public static Block spotlight_halogen; - public static Block spotlight_halogen_off; - public static Block spotlight_beam; - public static Block floodlight; - public static Block floodlight_beam; - - public static Block reinforced_stone; - public static Block concrete_smooth; - public static Block concrete_colored; - public static Block concrete_colored_ext; - public static Block concrete; - public static Block concrete_asbestos; - public static Block concrete_super; - public static Block concrete_super_broken; - public static Block ducrete_smooth; - public static Block ducrete; - public static Block concrete_pillar; - public static Block brick_concrete; - public static Block brick_concrete_mossy; - public static Block brick_concrete_cracked; - public static Block brick_concrete_broken; - public static Block brick_concrete_marked; - public static Block brick_ducrete; - public static Block brick_obsidian; - public static Block brick_light; - public static Block brick_compound; - public static Block brick_asbestos; - public static Block brick_fire; - - public static Block concrete_slab; - public static Block concrete_double_slab; - public static Block concrete_brick_slab; - public static Block concrete_brick_double_slab; - public static Block brick_slab; - public static Block brick_double_slab; - - public static Block concrete_smooth_stairs; - public static Block concrete_stairs; - public static Block concrete_asbestos_stairs; - public static Block ducrete_smooth_stairs; - public static Block ducrete_stairs; - public static Block brick_concrete_stairs; - public static Block brick_concrete_mossy_stairs; - public static Block brick_concrete_cracked_stairs; - public static Block brick_concrete_broken_stairs; - public static Block brick_ducrete_stairs; - public static Block reinforced_stone_stairs; - public static Block reinforced_brick_stairs; - public static Block brick_obsidian_stairs; - public static Block brick_light_stairs; - public static Block brick_compound_stairs; - public static Block brick_asbestos_stairs; - public static Block brick_fire_stairs; - public static Block asphalt_stairs; - - public static Block cmb_brick; - public static Block cmb_brick_reinforced; - - public static Block vinyl_tile; - - public static Block tile_lab; - public static Block tile_lab_cracked; - public static Block tile_lab_broken; - - public static Block block_meteor; - public static Block block_meteor_cobble; - public static Block block_meteor_broken; - public static Block block_meteor_molten; - public static Block block_meteor_treasure; - public static Block meteor_polished; - public static Block meteor_brick; - public static Block meteor_brick_mossy; - public static Block meteor_brick_cracked; - public static Block meteor_brick_chiseled; - public static Block meteor_pillar; - public static Block meteor_spawner; - public static Block meteor_battery; - - public static Block moon_turf; - - public static Block brick_jungle; - public static Block brick_jungle_cracked; - public static Block brick_jungle_fragile; - public static Block brick_jungle_lava; - public static Block brick_jungle_ooze; - public static Block brick_jungle_mystic; - public static Block brick_jungle_trap; - public static Block brick_jungle_glyph; - public static Block brick_jungle_circle; - - public static Block brick_red; - - public static Block deco_computer; - public static Block deco_crt; - public static Block deco_toaster; - - public static Block filing_cabinet; - - public static Block tape_recorder; - public static Block steel_poles; - public static Block pole_top; - public static Block pole_satellite_receiver; - public static Block steel_wall; - public static Block steel_corner; - public static Block steel_roof; - public static Block steel_beam; - public static Block steel_scaffold; - public static Block steel_grate; - public static Block steel_grate_wide; - - public static Block deco_pipe; - public static Block deco_pipe_rusted; - public static Block deco_pipe_green; - public static Block deco_pipe_green_rusted; - public static Block deco_pipe_red; - public static Block deco_pipe_marked; - public static Block deco_pipe_rim; - public static Block deco_pipe_rim_rusted; - public static Block deco_pipe_rim_green; - public static Block deco_pipe_rim_green_rusted; - public static Block deco_pipe_rim_red; - public static Block deco_pipe_rim_marked; - public static Block deco_pipe_framed; - public static Block deco_pipe_framed_rusted; - public static Block deco_pipe_framed_green; - public static Block deco_pipe_framed_green_rusted; - public static Block deco_pipe_framed_red; - public static Block deco_pipe_framed_marked; - public static Block deco_pipe_quad; - public static Block deco_pipe_quad_rusted; - public static Block deco_pipe_quad_green; - public static Block deco_pipe_quad_green_rusted; - public static Block deco_pipe_quad_red; - public static Block deco_pipe_quad_marked; - - public static Block broadcaster_pc; - public static Block geiger; - public static Block hev_battery; - - public static Block fence_metal; - - public static Block sand_boron; - public static Block sand_lead; - public static Block sand_uranium; - public static Block sand_polonium; - public static Block sand_quartz; - public static Block ash_digamma; - public static Block glass_boron; - public static Block glass_lead; - public static Block glass_uranium; - public static Block glass_trinitite; - public static Block glass_polonium; - public static Block glass_ash; - public static Block glass_quartz; - - public static Block mush; - public static Block mush_block; - public static Block mush_block_stem; - - public static Block glyphid_base; - public static Block glyphid_spawner; - - public static Block plant_flower; - public static Block plant_tall; - public static Block plant_dead; - public static Block reeds; - - public static Block waste_earth; - public static Block waste_mycelium; - public static Block waste_trinitite; - public static Block waste_trinitite_red; - public static Block waste_log; - public static Block waste_leaves; - public static Block waste_planks; - public static Block frozen_dirt; - public static Block frozen_grass; - public static Block frozen_log; - public static Block frozen_planks; - public static Block dirt_dead; - public static Block dirt_oily; - public static Block sand_dirty; - public static Block sand_dirty_red; - public static Block stone_cracked; - public static Block burning_earth; - public static Block tektite; - public static Block ore_tektite_osmiridium; - public static Block impact_dirt; - - public static Block fallout; - public static Block foam_layer; - public static Block sand_boron_layer; - public static Block leaves_layer; - public static Block oil_spill; - - public static Block sellafield_slaked; - public static Block sellafield_bedrock; - public static Block sellafield; - public static Block ore_sellafield_diamond; - public static Block ore_sellafield_emerald; - public static Block ore_sellafield_uranium_scorched; - public static Block ore_sellafield_schrabidium; - public static Block ore_sellafield_radgem; - - public static Block geysir_water; - public static Block geysir_chlorine; - public static Block geysir_vapor; - public static Block geysir_nether; - - public static Block flame_war; - public static Block float_bomb; - public static Block therm_endo; - public static Block therm_exo; - public static Block emp_bomb; - public static Block det_cord; - public static Block det_charge; - public static Block det_nuke; - public static Block det_miner; - public static Block red_barrel; - public static Block pink_barrel; - public static Block yellow_barrel; - public static Block vitrified_barrel; - public static Block lox_barrel; - public static Block taint_barrel; - public static Block crashed_balefire; - public static Block fireworks; - public static Block dynamite; - public static Block tnt; - public static Block semtex; - public static Block c4; - public static Block fissure_bomb; - - public static Block charge_dynamite; - public static Block charge_miner; - public static Block charge_c4; - public static Block charge_semtex; - - public static Block mine_ap; - public static Block mine_he; - public static Block mine_shrap; - public static Block mine_fat; - - public static Block crate; - public static Block crate_weapon; - public static Block crate_lead; - public static Block crate_metal; - public static Block crate_red; - public static Block crate_can; - public static Block crate_ammo; - public static Block crate_jungle; - - public static Block boxcar; - public static Block boat; - - public static Block seal_frame; - public static Block seal_controller; - public static Block seal_hatch; - - public static Block vault_door; - public static Block blast_door; - public static Block sliding_blast_door; - public static Block fire_door; - public static Block transition_seal; - public static Block silo_hatch; - public static Block silo_hatch_large; - - // 1.12.2 Doors - public static Block secure_access_door; - public static Block large_vehicle_door; - public static Block qe_containment; - public static Block qe_sliding_door; - public static Block round_airlock_door; - public static Block sliding_seal_door; - public static Block water_door; - - public static Block door_metal; - public static Block door_office; - public static Block door_bunker; - public static Block door_red; - - public static Block barbed_wire; - public static Block barbed_wire_fire; - public static Block barbed_wire_poison; - public static Block barbed_wire_acid; - public static Block barbed_wire_wither; - public static Block barbed_wire_ultradeath; - public static Block spikes; - - public static Block charger; - - public static Block tesla; - - public static Block sat_mapper; - public static Block sat_scanner; - public static Block sat_radar; - public static Block sat_laser; - public static Block sat_foeq; - public static Block sat_resonator; - - public static Block sat_dock; - - public static Block soyuz_capsule; - - public static Block crate_iron; - public static Block crate_steel; - public static Block crate_desh; - public static Block crate_tungsten; - public static Block crate_template; - public static Block safe; - public static Block mass_storage; - - public static Block nuke_gadget; - public static Block nuke_boy; - public static Block nuke_man; - public static Block nuke_mike; - public static Block nuke_tsar; - public static Block nuke_fleija; - public static Block nuke_prototype; - public static Block nuke_custom; - public static Block nuke_solinium; - public static Block nuke_n2; - public static Block nuke_fstbmb; - public static Block bomb_multi; - - public static Block pump_steam; - public static Block pump_electric; - - public static Block heater_firebox; - public static Block heater_oven; - public static Block heater_oilburner; - public static Block heater_electric; - public static Block heater_heatex; - public static Block machine_ashpit; - - public static Block furnace_iron; - public static Block furnace_steel; - public static Block furnace_combination; - public static Block machine_stirling; - public static Block machine_stirling_steel; - public static Block machine_stirling_creative; - public static Block machine_sawmill; - public static Block machine_crucible; - public static Block machine_boiler; - public static Block machine_industrial_boiler; - - public static Block foundry_mold; - public static Block foundry_basin; - public static Block foundry_channel; - public static Block foundry_tank; - public static Block foundry_outlet; - public static Block machine_strand_caster; - public static Block foundry_slagtap; - public static Block slag; - - public static Block machine_difurnace_off; - public static Block machine_difurnace_on; - public static Block machine_difurnace_extension; - public static Block machine_difurnace_rtg_off; - public static Block machine_difurnace_rtg_on; - //public static final int guiID_test_difurnace = 1; historical - - public static Block machine_centrifuge; - public static Block machine_gascent; - - public static Block machine_fel; - public static Block machine_silex; - - public static Block machine_crystallizer; - - public static Block machine_uf6_tank; - - public static Block machine_puf6_tank; - - public static Block machine_reactor_breeding; - - public static Block machine_furnace_brick_off; - public static Block machine_furnace_brick_on; - public static Block machine_nuke_furnace_off; - public static Block machine_nuke_furnace_on; - public static Block machine_rtg_furnace_off; - public static Block machine_rtg_furnace_on; - - public static Block machine_industrial_generator; - - public static Block machine_cyclotron; - public static Block machine_exposure_chamber; - - public static Block hadron_plating; - public static Block hadron_plating_blue; - public static Block hadron_plating_black; - public static Block hadron_plating_yellow; - public static Block hadron_plating_striped; - public static Block hadron_plating_voltz; - public static Block hadron_plating_glass; - public static Block hadron_coil_alloy; - public static Block hadron_coil_gold; - public static Block hadron_coil_neodymium; - public static Block hadron_coil_magtung; - public static Block hadron_coil_schrabidium; - public static Block hadron_coil_schrabidate; - public static Block hadron_coil_starmetal; - public static Block hadron_coil_chlorophyte; - public static Block hadron_coil_mese; - public static Block hadron_power; - public static Block hadron_power_10m; - public static Block hadron_power_100m; - public static Block hadron_power_1g; - public static Block hadron_power_10g; - public static Block hadron_diode; - public static Block hadron_analysis; - public static Block hadron_analysis_glass; - public static Block hadron_access; - public static Block hadron_core; - public static Block hadron_cooler; - - public static Block machine_electric_furnace_off; - public static Block machine_electric_furnace_on; - - public static Block machine_microwave; - - public static Block machine_arc_furnace_off; - public static Block machine_arc_furnace_on; - - //public static Block machine_deuterium; - - public static Block machine_battery_potato; - public static Block machine_battery; - public static Block machine_lithium_battery; - public static Block machine_schrabidium_battery; - public static Block machine_dineutronium_battery; - public static Block machine_fensu; - public static final int guiID_machine_fensu = 99; - - public static Block capacitor_bus; - public static Block capacitor_copper; - public static Block capacitor_gold; - public static Block capacitor_niobium; - public static Block capacitor_tantalium; - public static Block capacitor_schrabidate; - - public static Block machine_wood_burner; - - public static Block red_wire_coated; - public static Block red_cable; - public static Block red_cable_classic; - public static Block red_cable_paintable; - public static Block red_cable_gauge; - public static Block red_connector; - public static Block red_pylon; - public static Block red_pylon_medium_wood; - public static Block red_pylon_medium_wood_transformer; - public static Block red_pylon_medium_steel; - public static Block red_pylon_medium_steel_transformer; - public static Block red_pylon_large; - public static Block substation; - public static Block cable_switch; - public static Block cable_detector; - public static Block cable_diode; - public static Block machine_detector; - public static Block fluid_duct_neo; - public static Block fluid_duct_box; - public static Block fluid_duct_paintable; - public static Block fluid_duct_gauge; - public static Block fluid_duct_exhaust; - public static Block fluid_valve; - public static Block fluid_switch; - public static Block machine_drain; - public static Block radio_torch_sender; - public static Block radio_torch_receiver; - public static Block radio_torch_counter; - public static Block radio_torch_logic; - public static Block radio_telex; - - public static Block conveyor; - public static Block conveyor_express; - //public static Block conveyor_classic; - public static Block conveyor_double; - public static Block conveyor_triple; - public static Block conveyor_chute; - public static Block conveyor_lift; - public static Block crane_extractor; - public static Block crane_inserter; - public static Block crane_grabber; - public static Block crane_router; - public static Block crane_boxer; - public static Block crane_unboxer; - public static Block crane_splitter; - public static Block crane_partitioner; - - public static Block drone_waypoint; - public static Block drone_crate; - public static Block drone_waypoint_request; - public static Block drone_dock; - public static Block drone_crate_provider; - public static Block drone_crate_requester; - - public static Block fan; - - public static Block piston_inserter; - - public static Block chain; - - public static Block ladder_sturdy; - public static Block ladder_iron; - public static Block ladder_gold; - public static Block ladder_aluminium; - public static Block ladder_copper; - public static Block ladder_titanium; - public static Block ladder_lead; - public static Block ladder_cobalt; - public static Block ladder_steel; - public static Block ladder_tungsten; - - public static Block barrel_plastic; - public static Block barrel_corroded; - public static Block barrel_iron; - public static Block barrel_steel; - public static Block barrel_tcalloy; - public static Block barrel_antimatter; - - public static Block machine_transformer; - public static Block machine_transformer_20; - public static Block machine_transformer_dnt; - public static Block machine_transformer_dnt_20; - - public static Block bomb_multi_large; - public static final int guiID_bomb_multi_large = 18; - - public static Block machine_solar_boiler; - public static final int guiID_solar_boiler = 18; - public static Block solar_mirror; - - public static Block struct_launcher; - public static Block struct_scaffold; - public static Block struct_launcher_core; - public static Block struct_launcher_core_large; - public static Block struct_soyuz_core; - public static Block struct_iter_core; - public static Block struct_plasma_core; - public static Block struct_watz_core; - public static Block struct_icf_core; - - public static Block factory_titanium_hull; - @Deprecated public static Block factory_titanium_furnace; - @Deprecated public static Block factory_titanium_conductor; - - public static Block factory_advanced_hull; - @Deprecated public static Block factory_advanced_furnace; - @Deprecated public static Block factory_advanced_conductor; - - public static Block cm_block; - public static Block cm_sheet; - public static Block cm_engine; - public static Block cm_tank; - public static Block cm_circuit; - public static Block cm_port; - public static Block cm_flux; - public static Block cm_heat; - public static Block custom_machine; - public static Block cm_anchor; - - public static Block pwr_fuel; - public static Block pwr_control; - public static Block pwr_channel; - public static Block pwr_heatex; - public static Block pwr_heatsink; - public static Block pwr_neutron_source; - public static Block pwr_reflector; - public static Block pwr_casing; - public static Block pwr_port; - public static Block pwr_controller; - public static Block pwr_block; - - public static Block fusion_conductor; - public static Block fusion_center; - public static Block fusion_motor; - public static Block fusion_heater; - public static Block fusion_hatch; - public static Block plasma; - - public static Block iter; - public static Block plasma_heater; - - public static Block machine_icf_press; - public static Block icf_component; - public static Block icf; - public static Block icf_controller; - public static Block icf_laser_component; - public static Block icf_block; - - public static Block watz; - public static Block watz_pump; - - public static Block watz_element; - public static Block watz_cooler; - public static Block watz_end; - public static Block watz_conductor; - - public static Block balefire; - public static Block fire_digamma; - public static Block digamma_matter; - - public static Block dfc_emitter; - public static Block dfc_injector; - public static Block dfc_receiver; - public static Block dfc_stabilizer; - public static Block dfc_core; - - public static Block machine_converter_he_rf; - public static Block machine_converter_rf_he; - - public static Block machine_schrabidium_transmutator; - - public static Block machine_diesel; - public static Block machine_combustion_engine; - - public static Block machine_shredder; - - public static Block machine_teleporter; - public static Block teleanchor; - public static Block field_disturber; - - public static Block machine_rtg_grey; - public static Block machine_amgen; - public static Block machine_geo; - public static Block machine_minirtg; - public static Block machine_powerrtg; - public static Block machine_radiolysis; - public static Block machine_hephaestus; - - public static Block machine_well; - public static Block oil_pipe; - public static Block machine_pumpjack; - public static Block machine_fracking_tower; - - public static Block machine_flare; - public static Block chimney_brick; - public static Block chimney_industrial; - - public static Block machine_refinery; - public static Block machine_vacuum_distill; - public static Block machine_fraction_tower; - public static Block fraction_spacer; - public static Block machine_catalytic_cracker; - public static Block machine_catalytic_reformer; - public static Block machine_hydrotreater; - public static Block machine_coker; - - public static Block machine_boiler_off; - - public static Block machine_steam_engine; - public static Block machine_turbine; - public static Block machine_large_turbine; - - public static Block machine_deuterium_extractor; - public static Block machine_deuterium_tower; - - public static Block machine_liquefactor; - public static Block machine_solidifier; - public static Block machine_compressor; - - public static Block machine_chungus; - public static Block machine_condenser; - public static Block machine_tower_small; - public static Block machine_tower_large; - public static Block machine_condenser_powered; - - public static Block machine_electrolyser; - - public static Block machine_excavator; - public static Block machine_ore_slopper; - public static Block machine_autosaw; - - public static Block machine_mining_laser; - public static Block barricade; // a sand bag that drops nothing, for automated walling purposes - - public static Block machine_assembler; - public static Block machine_assemfac; - public static Block machine_arc_welder; - public static Block machine_soldering_station; - public static Block machine_arc_furnace; - - public static Block machine_chemplant; - public static Block machine_chemfac; - public static Block machine_mixer; - - public static Block machine_fluidtank; - public static Block machine_bat9000; - public static Block machine_orbus; - - public static Block launch_pad; - public static Block launch_pad_rusted; - public static Block launch_pad_large; - - public static Block machine_missile_assembly; - - public static Block compact_launcher; - public static Block launch_table; - - public static Block soyuz_launcher; - - public static Block machine_radar; - public static Block machine_radar_large; - public static Block radar_screen; - - public static Block machine_turbofan; - public static Block machine_turbinegas; - public static Block machine_lpw2; - - public static Block press_preheater; - public static Block machine_press; - public static Block machine_epress; - public static Block machine_conveyor_press; - - public static Block machine_siren; - - public static Block machine_radgen; - - public static Block machine_satlinker; - public static Block machine_keyforge; - - public static Block machine_armor_table; - - public static Block reactor_research; - public static Block reactor_zirnox; - public static Block zirnox_destroyed; - - public static Block machine_controller; - - public static Block machine_spp_bottom; - public static Block machine_spp_top; - - public static Block radiobox; - public static Block radiorec; - - public static Block machine_forcefield; - - public static Block machine_waste_drum; - public static Block machine_storage_drum; - - public static Block machine_autocrafter; - public static Block machine_funnel; - - public static Block anvil_iron; - public static Block anvil_lead; - public static Block anvil_steel; - public static Block anvil_desh; - public static Block anvil_saturnite; - public static Block anvil_ferrouranium; - public static Block anvil_bismuth_bronze; - public static Block anvil_arsenic_bronze; - public static Block anvil_schrabidate; - public static Block anvil_dnt; - public static Block anvil_osmiridium; - public static Block anvil_murky; - - public static Block turret_chekhov; - public static Block turret_friendly; - public static Block turret_jeremy; - public static Block turret_tauon; - public static Block turret_richard; - public static Block turret_howard; - public static Block turret_howard_damaged; - public static Block turret_maxwell; - public static Block turret_fritz; - public static Block turret_arty; - public static Block turret_himars; - public static Block turret_sentry; - public static Block turret_sentry_damaged; - - public static Block rbmk_rod; - public static Block rbmk_rod_mod; - public static Block rbmk_rod_reasim; - public static Block rbmk_rod_reasim_mod; - public static Block rbmk_control; - public static Block rbmk_control_mod; - public static Block rbmk_control_auto; - public static Block rbmk_blank; - public static Block rbmk_boiler; - public static Block rbmk_reflector; - public static Block rbmk_absorber; - public static Block rbmk_moderator; - public static Block rbmk_outgasser; - public static Block rbmk_storage; - public static Block rbmk_cooler; - public static Block rbmk_heater; - public static Block rbmk_console; - public static Block rbmk_crane_console; - public static Block rbmk_loader; - public static Block rbmk_steam_inlet; - public static Block rbmk_steam_outlet; - public static Block pribris; - public static Block pribris_burning; - public static Block pribris_radiating; - public static Block pribris_digamma; - - public static Block book_guide; - - public static Block rail_wood; - public static Block rail_narrow; - public static Block rail_highspeed; - public static Block rail_booster; - - public static Block rail_narrow_straight; - public static Block rail_narrow_curve; - public static Block rail_large_straight; - public static Block rail_large_straight_short; - public static Block rail_large_curve; - public static Block rail_large_curve_7; - public static Block rail_large_curve_9; - public static Block rail_large_ramp; - public static Block rail_large_buffer; - public static Block rail_large_switch; - public static Block rail_large_switch_flipped; - - public static Block statue_elb; - public static Block statue_elb_g; - public static Block statue_elb_w; - public static Block statue_elb_f; - - public static Block cheater_virus; - public static Block cheater_virus_seed; - public static Block crystal_virus; - public static Block crystal_hardened; - public static Block crystal_pulsar; - public static Block taint; - - public static Block vent_chlorine; - public static Block vent_cloud; - public static Block vent_pink_cloud; - public static Block vent_chlorine_seal; - public static Block chlorine_gas; - - public static Block gas_radon; - public static Block gas_radon_dense; - public static Block gas_radon_tomb; - public static Block gas_meltdown; - public static Block gas_monoxide; - public static Block gas_asbestos; - public static Block gas_coal; - public static Block gas_flammable; - public static Block gas_explosive; - public static Block vacuum; - - public static Block absorber; - public static Block absorber_red; - public static Block absorber_green; - public static Block absorber_pink; - public static Block decon; - public static Block transission_hatch; - - public static Block mud_block; - public static Fluid mud_fluid; - public static final Material fluidmud = (new MaterialLiquid(MapColor.adobeColor)); - - public static Block acid_block; - public static Fluid acid_fluid; - public static final Material fluidacid = (new MaterialLiquid(MapColor.purpleColor)); - - public static Block toxic_block; - public static Fluid toxic_fluid; - public static final Material fluidtoxic = (new MaterialLiquid(MapColor.greenColor)); - - public static Block schrabidic_block; - public static Fluid schrabidic_fluid; - public static final Material fluidschrabidic = (new MaterialLiquid(MapColor.cyanColor)); - - public static Block corium_block; - public static Fluid corium_fluid; - public static final Material fluidcorium = (new MaterialLiquid(MapColor.brownColor) { - - @Override - public boolean blocksMovement() { - return true; - } - - @Override - public Material setImmovableMobility() { //override access modifier - return super.setImmovableMobility(); - } - - }.setImmovableMobility()); - - public static Block volcanic_lava_block; - public static Fluid volcanic_lava_fluid; - public static Block rad_lava_block; - public static Fluid rad_lava_fluid; - - public static Block sulfuric_acid_block; - public static Fluid sulfuric_acid_fluid; - - public static Block concrete_liquid; - - public static Block volcano_core; - public static Block volcano_rad_core; - - public static Block dummy_block_vault; - public static Block dummy_block_blast; - public static Block dummy_block_uf6; - public static Block dummy_block_puf6; - public static Block dummy_plate_compact_launcher; - public static Block dummy_port_compact_launcher; - public static Block dummy_plate_launch_table; - public static Block dummy_port_launch_table; - public static Block dummy_plate_cargo; - - public static Block ntm_dirt; - - public static Block pink_log; - public static Block pink_planks; - public static Block pink_slab; - public static Block pink_double_slab; - public static Block pink_stairs; - - public static Material materialGas = new MaterialGas(); - - private static void initializeBlock() { - - event_tester = new TestEventTester(Material.iron).setBlockName("event_tester").setCreativeTab(null).setHardness(2.5F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":event_tester"); - obj_tester = new TestObjTester(Material.iron).setBlockName("obj_tester").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F); - test_core = new TestCore(Material.iron).setBlockName("test_core").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_core"); - test_charge = new TestCharge(Material.iron).setBlockName("test_charge").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F); - structure_anchor = new BlockGeneric(Material.iron).setBlockName("structure_anchor").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":structure_anchor"); - - ore_uranium = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_uranium"); - ore_uranium_scorched = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_uranium_scorched"); - ore_titanium = new BlockGeneric(Material.rock).setBlockName("ore_titanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_titanium"); - ore_sulfur = new BlockOre(Material.rock).setBlockName("ore_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_sulfur"); - ore_thorium = new BlockGeneric(Material.rock).setBlockName("ore_thorium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_thorium"); - - ore_niter = new BlockOre(Material.rock).setBlockName("ore_niter").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_niter"); - ore_copper = new BlockGeneric(Material.rock).setBlockName("ore_copper").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_copper"); - ore_tungsten = new BlockGeneric(Material.rock).setBlockName("ore_tungsten").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_tungsten"); - ore_aluminium = new BlockGeneric(Material.rock).setBlockName("ore_aluminium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_aluminium"); - ore_fluorite = new BlockOre(Material.rock).setBlockName("ore_fluorite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_fluorite"); - ore_lead = new BlockGeneric(Material.rock).setBlockName("ore_lead").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_lead"); - ore_schrabidium = new BlockOre(Material.rock, 0.1F, 0.5F).setBlockName("ore_schrabidium").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":ore_schrabidium"); - ore_beryllium = new BlockGeneric(Material.rock).setBlockName("ore_beryllium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_beryllium"); - ore_lignite = new BlockOre(Material.rock).setBlockName("ore_lignite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_lignite"); - ore_asbestos = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_asbestos"); - ore_coal_oil = new BlockCoalOil(Material.rock).setBlockName("ore_coal_oil").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_coal_oil"); - ore_coal_oil_burning = new BlockCoalBurning(Material.rock).setBlockName("ore_coal_oil_burning").setCreativeTab(MainRegistry.blockTab).setLightLevel(10F/15F).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_coal_oil_burning"); - - cluster_iron = new BlockCluster(Material.rock).setBlockName("cluster_iron").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":cluster_iron"); - cluster_titanium = new BlockCluster(Material.rock).setBlockName("cluster_titanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":cluster_titanium"); - cluster_aluminium = new BlockCluster(Material.rock).setBlockName("cluster_aluminium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":cluster_aluminium"); - cluster_copper = new BlockCluster(Material.rock).setBlockName("cluster_copper").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":cluster_copper"); - - ore_nether_coal = new BlockNetherCoal(Material.rock, false, 5, true).setBlockName("ore_nether_coal").setCreativeTab(MainRegistry.blockTab).setLightLevel(10F/15F).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_coal"); - ore_nether_smoldering = new BlockSmolder(Material.rock).setBlockName("ore_nether_smoldering").setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_smoldering"); - ore_nether_uranium = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_nether_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_uranium"); - ore_nether_uranium_scorched = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_nether_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_uranium_scorched"); - ore_nether_plutonium = new BlockGeneric(Material.rock).setBlockName("ore_nether_plutonium").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_plutonium"); - ore_nether_tungsten = new BlockGeneric(Material.rock).setBlockName("ore_nether_tungsten").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_tungsten"); - ore_nether_sulfur = new BlockOre(Material.rock).setBlockName("ore_nether_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_sulfur"); - ore_nether_fire = new BlockOre(Material.rock).setBlockName("ore_nether_fire").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_fire"); - ore_nether_cobalt = new BlockOre(Material.rock).setBlockName("ore_nether_cobalt").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_cobalt"); - ore_nether_schrabidium = new BlockGeneric(Material.rock).setBlockName("ore_nether_schrabidium").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_schrabidium"); - - ore_meteor = new BlockMeteorOre().setBlockName("ore_meteor").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); - - stone_gneiss = new BlockGeneric(Material.rock).setBlockName("stone_gneiss").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":stone_gneiss_var"); - ore_gneiss_iron = new BlockOre(Material.rock).setBlockName("ore_gneiss_iron").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_iron"); - ore_gneiss_gold = new BlockOre(Material.rock).setBlockName("ore_gneiss_gold").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_gold"); - ore_gneiss_uranium = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_gneiss_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_uranium"); - ore_gneiss_uranium_scorched = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_gneiss_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_uranium_scorched"); - ore_gneiss_copper = new BlockOre(Material.rock).setBlockName("ore_gneiss_copper").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_copper"); - ore_gneiss_asbestos = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_gneiss_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_asbestos"); - ore_gneiss_lithium = new BlockOre(Material.rock).setBlockName("ore_gneiss_lithium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_lithium"); - ore_gneiss_schrabidium = new BlockOre(Material.rock).setBlockName("ore_gneiss_schrabidium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_schrabidium"); - ore_gneiss_rare = new BlockOre(Material.rock).setBlockName("ore_gneiss_rare").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_rare"); - ore_gneiss_gas = new BlockOre(Material.rock).setBlockName("ore_gneiss_gas").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_gas"); - - gneiss_brick = new BlockGeneric(Material.rock).setBlockName("gneiss_brick").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":gneiss_brick"); - gneiss_tile = new BlockGeneric(Material.rock).setBlockName("gneiss_tile").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":gneiss_tile"); - gneiss_chiseled = new BlockPillar(Material.rock, RefStrings.MODID + ":gneiss_tile").setBlockName("gneiss_chiseled").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":gneiss_chiseled"); - - stone_depth = new BlockDepth().setBlockName("stone_depth").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":stone_depth"); - ore_depth_cinnebar = new BlockDepthOre().setBlockName("ore_depth_cinnebar").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ore_depth_cinnebar"); - ore_depth_zirconium = new BlockDepthOre().setBlockName("ore_depth_zirconium").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ore_depth_zirconium"); - ore_depth_borax = new BlockDepthOre().setBlockName("ore_depth_borax").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ore_depth_borax"); - cluster_depth_iron = new BlockDepthOre().setBlockName("cluster_depth_iron").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":cluster_depth_iron"); - cluster_depth_titanium = new BlockDepthOre().setBlockName("cluster_depth_titanium").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":cluster_depth_titanium"); - cluster_depth_tungsten = new BlockDepthOre().setBlockName("cluster_depth_tungsten").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":cluster_depth_tungsten"); - ore_alexandrite = new BlockDepthOre().setBlockName("ore_alexandrite").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ore_alexandrite"); - - stone_keyhole = new BlockKeyhole().setBlockName("stone_keyhole").setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":stone_keyhole"); - - ore_random = new BlockMotherOfAllOres().setBlockName("ore_random").setCreativeTab(MainRegistry.blockTab); - ore_bedrock = new BlockBedrockOreTE().setBlockName("ore_bedrock").setCreativeTab(null); - ore_volcano = new BlockFissure().setBlockName("ore_volcano").setLightLevel(1F).setCreativeTab(MainRegistry.blockTab); - - depth_brick = new BlockDepth().setBlockName("depth_brick").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":depth_brick"); - depth_tiles = new BlockDepth().setBlockName("depth_tiles").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":depth_tiles"); - depth_nether_brick = new BlockDepth().setBlockName("depth_nether_brick").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":depth_nether_brick"); - depth_nether_tiles = new BlockDepth().setBlockName("depth_nether_tiles").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":depth_nether_tiles"); - depth_dnt = new BlockDepth().setBlockName("depth_dnt").setCreativeTab(MainRegistry.blockTab).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":depth_dnt"); - - stone_depth_nether = new BlockDepth().setBlockName("stone_depth_nether").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":stone_depth_nether"); - ore_depth_nether_neodymium = new BlockDepthOre().setBlockName("ore_depth_nether_neodymium").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ore_depth_nether_neodymium"); - - stone_porous = new BlockPorous().setBlockName("stone_porous").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":stone_porous"); - stone_resource = new BlockResourceStone().setBlockName("stone_resource").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); - stalagmite = new BlockStalagmite().setBlockName("stalagmite").setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.0F); - stalactite = new BlockStalagmite().setBlockName("stalactite").setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.0F); - stone_biome = new BlockBiomeStone().setBlockName("stone_biome").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); - - basalt = new BlockGeneric(Material.rock).setBlockName("basalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt"); - ore_basalt = new BlockOreBasalt().setBlockName("ore_basalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_basalt"); - basalt_smooth = new BlockGeneric(Material.rock).setBlockName("basalt_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_smooth"); - basalt_brick = new BlockGeneric(Material.rock).setBlockName("basalt_brick").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_brick"); - basalt_polished = new BlockGeneric(Material.rock).setBlockName("basalt_polished").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_polished"); - basalt_tiles = new BlockGeneric(Material.rock).setBlockName("basalt_tiles").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_tiles"); - - ore_australium = new BlockGeneric(Material.rock).setBlockName("ore_australium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_australium"); - ore_rare = new BlockOre(Material.rock).setBlockName("ore_rare").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_rare"); - ore_cobalt = new BlockOre(Material.rock).setBlockName("ore_cobalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_cobalt"); - ore_cinnebar = new BlockOre(Material.rock).setBlockName("ore_cinnebar").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_cinnebar"); - ore_coltan = new BlockOre(Material.rock).setBlockName("ore_coltan").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_coltan"); - - ore_oil = new BlockOre(Material.rock).setBlockName("ore_oil").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_oil"); - ore_oil_empty = new BlockGeneric(Material.rock).setBlockName("ore_oil_empty").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_oil_empty"); - ore_oil_sand = new BlockFalling(Material.sand).setBlockName("ore_oil_sand").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeSand).setHardness(0.5F).setResistance(1.0F).setBlockTextureName(RefStrings.MODID + ":ore_oil_sand_alt"); - ore_bedrock_oil = new BlockGeneric(Material.rock).noMobSpawn().setBlockName("ore_bedrock_oil").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(1_000_000).setBlockTextureName(RefStrings.MODID + ":ore_bedrock_oil"); - - ore_tikite = new BlockDragonProof(Material.rock).setBlockName("ore_tikite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_tikite_alt"); - - block_uranium = new BlockHazard().makeBeaconable().setBlockName("block_uranium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_uranium"); - block_u233 = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_u233").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_u233"); - block_u235 = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_u235").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_u235"); - block_u238 = new BlockHazard().makeBeaconable().setBlockName("block_u238").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_u238"); - block_uranium_fuel = new BlockHazard().makeBeaconable().setBlockName("block_uranium_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_uranium_fuel"); - block_thorium = new BlockHazard().makeBeaconable().setBlockName("block_thorium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_thorium"); - block_thorium_fuel = new BlockHazard().makeBeaconable().setBlockName("block_thorium_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_thorium_fuel"); - block_neptunium = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_neptunium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":block_neptunium"); - block_polonium = new BlockHotHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_polonium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_polonium"); - block_mox_fuel = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_mox_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_mox_fuel"); - block_plutonium = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_plutonium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_plutonium"); - block_pu238 = new BlockHotHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_pu238").setCreativeTab(MainRegistry.blockTab).setLightLevel(5F/15F).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_pu238"); - block_pu239 = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_pu239").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_pu239"); - block_pu240 = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_pu240").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_pu240"); - block_pu_mix = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_pu_mix").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_pu_mix"); - block_plutonium_fuel = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_plutonium_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_plutonium_fuel"); - block_titanium = new BlockBeaconable(Material.iron).setBlockName("block_titanium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_titanium"); - block_sulfur = new BlockBeaconable(Material.iron).setBlockName("block_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_sulfur"); - block_niter = new BlockBeaconable(Material.iron).setBlockName("block_niter").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_niter"); - block_copper = new BlockBeaconable(Material.iron).setBlockName("block_copper").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":block_copper"); - block_red_copper = new BlockBeaconable(Material.iron).setBlockName("block_red_copper").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(25.0F).setBlockTextureName(RefStrings.MODID + ":block_red_copper"); - block_tungsten = new BlockBeaconable(Material.iron).setBlockName("block_tungsten").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":block_tungsten"); - block_aluminium = new BlockBeaconable(Material.iron).setBlockName("block_aluminium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":block_aluminium"); - block_fluorite = new BlockBeaconable(Material.iron).setBlockName("block_fluorite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_fluorite"); - block_steel = new BlockBeaconable(Material.iron).setBlockName("block_steel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); - block_tcalloy = new BlockBeaconable(Material.iron).setBlockName("block_tcalloy").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(70.0F).setBlockTextureName(RefStrings.MODID + ":block_tcalloy"); - block_cdalloy = new BlockBeaconable(Material.iron).setBlockName("block_cdalloy").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(70.0F).setBlockTextureName(RefStrings.MODID + ":block_cdalloy"); - block_lead = new BlockBeaconable(Material.iron).setBlockName("block_lead").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_lead"); - block_bismuth = new BlockBeaconable(Material.iron).setBlockName("block_bismuth").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(90.0F).setBlockTextureName(RefStrings.MODID + ":block_bismuth"); - block_cadmium = new BlockBeaconable(Material.iron).setBlockName("block_cadmium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(90.0F).setBlockTextureName(RefStrings.MODID + ":block_cadmium"); - block_coltan = new BlockBeaconable(Material.iron).setBlockName("block_coltan").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_coltan"); - block_tantalium = new BlockBeaconable(Material.iron).setBlockName("block_tantalium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_tantalium"); - block_niobium = new BlockBeaconable(Material.iron).setBlockName("block_niobium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F); - block_trinitite = new BlockHazard().makeBeaconable().setBlockName("block_trinitite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_trinitite"); - block_waste = new BlockNuclearWaste().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_waste").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste"); - block_waste_painted = new BlockNuclearWaste().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_waste_painted").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste_painted"); - block_waste_vitrified = new BlockNuclearWaste().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_waste_vitrified").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste_vitrified"); - ancient_scrap = new BlockOutgas(Material.iron, true, 1, true, true).setBlockName("ancient_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":ancient_scrap"); - block_corium = new BlockHazard(Material.iron).setBlockName("block_corium").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_corium"); - block_corium_cobble = new BlockOutgas(Material.iron, true, 1, true, true).setBlockName("block_corium_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_corium_cobble"); - block_scrap = new BlockFalling(Material.sand).setBlockName("block_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(2.5F).setResistance(5.0F).setStepSound(Block.soundTypeGravel).setBlockTextureName(RefStrings.MODID + ":block_scrap"); - block_electrical_scrap = new BlockFalling(Material.iron).setBlockName("block_electrical_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(2.5F).setResistance(5.0F).setStepSound(Block.soundTypeMetal).setBlockTextureName(RefStrings.MODID + ":electrical_scrap_alt2"); - block_beryllium = new BlockBeaconable(Material.iron).setBlockName("block_beryllium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":block_beryllium"); - block_schraranium = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.SCHRAB).setBlockName("block_schraranium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(250.0F).setBlockTextureName(RefStrings.MODID + ":block_schraranium"); - block_schrabidium = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.SCHRAB).setBlockName("block_schrabidium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidium"); - block_schrabidate = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.SCHRAB).setBlockName("block_schrabidate").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidate"); - block_solinium = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.SCHRAB).setBlockName("block_solinium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_solinium"); - block_schrabidium_fuel = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.SCHRAB).setBlockName("block_schrabidium_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidium_fuel"); - block_euphemium = new BlockBeaconable(Material.iron).setBlockName("block_euphemium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":block_euphemium"); - block_dineutronium = new BlockBeaconable(Material.iron).setBlockName("block_dineutronium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":block_dineutronium"); - block_schrabidium_cluster = new BlockRotatablePillar(Material.rock, RefStrings.MODID + ":block_schrabidium_cluster_top").setBlockName("block_schrabidium_cluster").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidium_cluster_side"); - block_euphemium_cluster = new BlockRotatablePillar(Material.rock, RefStrings.MODID + ":block_euphemium_cluster_top").setBlockName("block_euphemium_cluster").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":block_euphemium_cluster_side"); - block_advanced_alloy = new BlockBeaconable(Material.iron).setBlockName("block_advanced_alloy").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":block_advanced_alloy"); - block_magnetized_tungsten = new BlockBeaconable(Material.iron).setBlockName("block_magnetized_tungsten").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(75.0F).setBlockTextureName(RefStrings.MODID + ":block_magnetized_tungsten"); - block_combine_steel = new BlockBeaconable(Material.iron).setBlockName("block_combine_steel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_combine_steel"); - block_desh = new BlockBeaconable(Material.iron).setBlockName("block_desh").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(300.0F).setBlockTextureName(RefStrings.MODID + ":block_desh"); - block_dura_steel = new BlockBeaconable(Material.iron).setBlockName("block_dura_steel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":block_dura_steel"); - block_starmetal = new BlockBeaconable(Material.iron).setBlockName("block_starmetal").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(400.0F).setBlockTextureName(RefStrings.MODID + ":block_starmetal"); - block_polymer = new BlockBeaconable(Material.rock).setBlockName("block_polymer").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypePiston).setHardness(3.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_polymer"); - block_bakelite = new BlockBeaconable(Material.rock).setBlockName("block_bakelite").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypePiston).setHardness(3.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":block_bakelite"); - block_rubber = new BlockBeaconable(Material.rock).setBlockName("block_rubber").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypePiston).setHardness(3.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":block_rubber"); - block_yellowcake = new BlockHazardFalling().makeBeaconable().setBlockName("block_yellowcake").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeSand).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_yellowcake"); - block_insulator = new BlockRotatablePillar(Material.cloth, RefStrings.MODID + ":block_insulator_top").setBlockName("block_insulator").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_insulator_side"); - block_fiberglass = new BlockRotatablePillar(Material.cloth, RefStrings.MODID + ":block_fiberglass_top").setBlockName("block_fiberglass").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":block_fiberglass_side"); - block_asbestos = new BlockOutgas(Material.cloth, true, 5, true).setBlockName("block_asbestos").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":block_asbestos"); - block_cobalt = new BlockBeaconable(Material.iron).setBlockName("block_cobalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_cobalt"); - block_lithium = new BlockLithium(Material.iron).setBlockName("block_lithium").setStepSound(Block.soundTypeMetal).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_lithium"); - block_zirconium = new BlockBeaconable(Material.iron).setBlockName("block_zirconium").setStepSound(Block.soundTypeMetal).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(30.0F).setBlockTextureName(RefStrings.MODID + ":block_zirconium"); - block_white_phosphorus = new BlockHazard(Material.rock).makeBeaconable().setBlockName("block_white_phosphorus").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_white_phosphorus"); - block_red_phosphorus = new BlockHazardFalling().makeBeaconable().setStepSound(Block.soundTypeSand).setBlockName("block_red_phosphorus").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_red_phosphorus"); - block_fallout = new BlockHazardFalling().setStepSound(Block.soundTypeGravel).setBlockName("block_fallout").setCreativeTab(MainRegistry.blockTab).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":ash"); - block_foam = new BlockGeneric(Material.craftedSnow).setBlockName("block_foam").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeSnow).setHardness(0.5F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":foam"); - block_coke = new BlockCoke().setBlockName("block_coke").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F); - block_graphite = new BlockGraphite(Material.iron, 30, 5).setBlockName("block_graphite").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F); - block_graphite_drilled = new BlockGraphiteDrilled().setBlockName("block_graphite_drilled"); - block_graphite_fuel = new BlockGraphiteFuel().setBlockName("block_graphite_fuel"); - block_graphite_plutonium = new BlockGraphiteSource().setBlockName("block_graphite_plutonium"); - block_graphite_rod = new BlockGraphiteRod().setBlockName("block_graphite_rod").setBlockTextureName(RefStrings.MODID + ":block_graphite_rod_in"); - block_graphite_source = new BlockGraphiteSource().setBlockName("block_graphite_source"); - block_graphite_lithium = new BlockGraphiteBreedingFuel().setBlockName("block_graphite_lithium"); - block_graphite_tritium = new BlockGraphiteBreedingProduct().setBlockName("block_graphite_tritium"); - block_graphite_detector = new BlockGraphiteNeutronDetector().setBlockName("block_graphite_detector"); - block_boron = new BlockBeaconable(Material.iron).setBlockName("block_boron").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_boron"); - block_lanthanium = new BlockBeaconable(Material.iron).setBlockName("block_lanthanium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_lanthanium"); - block_ra226 = new BlockHazard().makeBeaconable().setBlockName("block_ra226").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_ra226"); - block_actinium = new BlockHazard().makeBeaconable().setBlockName("block_actinium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_actinium"); - block_tritium = new BlockRotatablePillar(Material.glass, RefStrings.MODID + ":block_tritium_top").setBlockName("block_tritium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGlass).setHardness(3.0F).setResistance(2.0F).setBlockTextureName(RefStrings.MODID + ":block_tritium_side"); - block_semtex = new BlockPlasticExplosive(Material.tnt).setBlockName("block_semtex").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(2.0F).setBlockTextureName(RefStrings.MODID + ":block_semtex"); - block_c4 = new BlockPlasticExplosive(Material.tnt).setBlockName("block_c4").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(2.0F).setBlockTextureName(RefStrings.MODID + ":block_c4"); - block_smore = new BlockPillar(Material.rock, RefStrings.MODID + ":block_smore_top").setBlockName("block_smore").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_smore_side"); - block_slag = new BlockSlag(Material.rock).setBlockName("block_slag").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeStone).setHardness(2.0F).setBlockTextureName(RefStrings.MODID + ":block_slag"); - - block_australium = new BlockBeaconable(Material.iron).setBlockName("block_australium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_australium"); - block_weidanium = new BlockBeaconable(Material.iron).setBlockName("block_weidanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_weidanium"); - block_reiium = new BlockBeaconable(Material.iron).setBlockName("block_reiium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_reiium"); - block_unobtainium = new BlockBeaconable(Material.iron).setBlockName("block_unobtainium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_unobtainium"); - block_daffergon = new BlockBeaconable(Material.iron).setBlockName("block_daffergon").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_daffergon"); - block_verticium = new BlockBeaconable(Material.iron).setBlockName("block_verticium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_verticium"); - - block_cap = new BlockCap().setBlockName("block_cap").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); - - deco_titanium = new BlockOre(Material.iron).noFortune().setBlockName("deco_titanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_titanium"); - deco_red_copper = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_red_copper").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_red_copper"); - deco_tungsten = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_tungsten").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_tungsten"); - deco_aluminium = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_aluminium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_aluminium"); - deco_steel = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_steel").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_steel"); - deco_lead = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_lead").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_lead"); - deco_beryllium = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_beryllium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_beryllium"); - deco_asbestos = new BlockOutgas(Material.cloth, true, 5, true).noFortune().setBlockName("deco_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_asbestos"); - deco_rbmk = new BlockGeneric(Material.iron).setBlockName("deco_rbmk").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_side"); - deco_rbmk_smooth = new BlockGeneric(Material.iron).setBlockName("deco_rbmk_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_top"); - - deco_emitter = new BlockEmitter().setBlockName("deco_emitter").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":emitter"); - part_emitter = new PartEmitter().setBlockName("part_emitter").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":part_top"); - deco_loot = new BlockLoot().setBlockName("deco_loot").setCreativeTab(null).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); - pedestal = new BlockPedestal().setBlockName("pedestal").setCreativeTab(null).setHardness(2.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":pedestal_top"); - bobblehead = new BlockBobble().setBlockName("bobblehead").setCreativeTab(MainRegistry.blockTab).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); - snowglobe = new BlockSnowglobe().setBlockName("snowglobe").setCreativeTab(MainRegistry.blockTab).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":glass_boron"); - plushie = new BlockPlushie().setBlockName("plushie").setStepSound(Block.soundTypeCloth).setResistance(50_0000.0F).setCreativeTab(MainRegistry.blockTab).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_fiberglass_side"); - - gravel_obsidian = new BlockFalling(Material.iron).setBlockName("gravel_obsidian").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGravel).setHardness(5.0F).setResistance(240.0F).setBlockTextureName(RefStrings.MODID + ":gravel_obsidian"); - gravel_diamond = new BlockFalling(Material.sand).setBlockName("gravel_diamond").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGravel).setHardness(0.6F).setBlockTextureName(RefStrings.MODID + ":gravel_diamond"); - asphalt = new BlockSpeedy(Material.rock, 1.5).setBlockName("asphalt").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(120.0F).setBlockTextureName(RefStrings.MODID + ":asphalt"); - asphalt_light = new BlockSpeedy(Material.rock, 1.5).setBlockName("asphalt_light").setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(15.0F).setResistance(120.0F).setBlockTextureName(RefStrings.MODID + ":asphalt_light"); - - reinforced_brick = new BlockGeneric(Material.rock).setBlockName("reinforced_brick").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_brick"); - reinforced_glass = new BlockNTMGlassCT(0, RefStrings.MODID + ":reinforced_glass", Material.rock).setBlockName("reinforced_glass").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(2.0F).setResistance(25.0F); - reinforced_glass_pane = new BlockNTMGlassPane(0, RefStrings.MODID + ":reinforced_glass_pane", RefStrings.MODID + ":reinforced_glass_pane_edge", Material.rock, false).setBlockName("reinforced_glass_pane").setCreativeTab(MainRegistry.blockTab).setLightOpacity(1).setHardness(2.0F).setResistance(25.0F); - reinforced_light = new BlockGeneric(Material.rock).setBlockName("reinforced_light").setCreativeTab(MainRegistry.blockTab).setLightLevel(1.0F).setHardness(15.0F).setResistance(80.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_light"); - reinforced_sand = new BlockGeneric(Material.rock).setBlockName("reinforced_sand").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(40.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_sand"); - reinforced_lamp_off = new ReinforcedLamp(Material.rock, false).setBlockName("reinforced_lamp_off").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(80.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_off"); - reinforced_lamp_on = new ReinforcedLamp(Material.rock, true).setBlockName("reinforced_lamp_on").setHardness(15.0F).setResistance(80.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_on"); - reinforced_laminate = new BlockNTMGlassCT(1, RefStrings.MODID + ":reinforced_laminate", Material.rock, true).setBlockName("reinforced_laminate").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(15.0F).setResistance(300.0F); - reinforced_laminate_pane = new BlockNTMGlassPane(1, RefStrings.MODID + ":reinforced_laminate_pane", RefStrings.MODID + ":reinforced_laminate_pane_edge", Material.rock, true).setBlockName("reinforced_laminate_pane").setCreativeTab(MainRegistry.blockTab).setLightOpacity(1).setHardness(15.0F).setResistance(300.0F); - - lamp_tritium_green_off = new TritiumLamp(Material.redstoneLight, false).setBlockName("lamp_tritium_green_off").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_green_off"); - lamp_tritium_green_on = new TritiumLamp(Material.redstoneLight, true).setBlockName("lamp_tritium_green_on").setStepSound(Block.soundTypeGlass).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_green_on"); - lamp_tritium_blue_off = new TritiumLamp(Material.redstoneLight, false).setBlockName("lamp_tritium_blue_off").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_blue_off"); - lamp_tritium_blue_on = new TritiumLamp(Material.redstoneLight, true).setBlockName("lamp_tritium_blue_on").setStepSound(Block.soundTypeGlass).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_blue_on"); - - lamp_demon = new DemonLamp().setBlockName("lamp_demon").setStepSound(Block.soundTypeMetal).setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_demon"); - lantern = new BlockLantern().setBlockName("lantern").setStepSound(Block.soundTypeMetal).setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); - lantern_behemoth = new BlockLanternBehemoth().setBlockName("lantern_behemoth").setStepSound(Block.soundTypeMetal).setCreativeTab(null).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":block_rust"); - - spotlight_incandescent = new Spotlight(Material.iron, 2, LightType.INCANDESCENT, true).setBlockName("spotlight_incandescent").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":cage_lamp"); - spotlight_incandescent_off = new Spotlight(Material.iron, 2, LightType.INCANDESCENT, false).setBlockName("spotlight_incandescent_off").setBlockTextureName(RefStrings.MODID + ":cage_lamp_off"); - spotlight_fluoro = new SpotlightModular(Material.iron, 8, LightType.FLUORESCENT, true).setBlockName("spotlight_fluoro").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":fluorescent_lamp"); - spotlight_fluoro_off = new SpotlightModular(Material.iron, 8, LightType.FLUORESCENT, false).setBlockName("spotlight_fluoro_off").setBlockTextureName(RefStrings.MODID + ":fluorescent_lamp_off"); - spotlight_halogen = new Spotlight(Material.iron, 32, LightType.HALOGEN, true).setBlockName("spotlight_halogen").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":flood_lamp"); - spotlight_halogen_off = new Spotlight(Material.iron, 32, LightType.HALOGEN, false).setBlockName("spotlight_halogen_off").setBlockTextureName(RefStrings.MODID + ":flood_lamp_off"); - spotlight_beam = new SpotlightBeam().setBlockName("spotlight_beam"); - floodlight = new Floodlight(Material.iron).setBlockName("floodlight").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - floodlight_beam = new FloodlightBeam().setBlockName("floodlight_beam"); - - reinforced_stone = new BlockGeneric(Material.rock).setBlockName("reinforced_stone").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_stone"); - concrete_smooth = new BlockRadResistant(Material.rock).setBlockName("concrete_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(140.0F).setBlockTextureName(RefStrings.MODID + ":concrete"); - concrete_colored = new BlockConcreteColored(Material.rock).setBlockName("concrete_colored").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(140.0F).setBlockTextureName(RefStrings.MODID + ":concrete"); - concrete_colored_ext = new BlockConcreteColoredExt(Material.rock).setBlockName("concrete_colored_ext").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(140.0F).setBlockTextureName(RefStrings.MODID + ":concrete_colored_ext"); - concrete = new BlockGeneric(Material.rock).setBlockName("concrete").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(140.0F).setBlockTextureName(RefStrings.MODID + ":concrete_tile"); - concrete_asbestos = new BlockGeneric(Material.rock).setBlockName("concrete_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(150.0F).setBlockTextureName(RefStrings.MODID + ":concrete_asbestos"); - concrete_super = new BlockUberConcrete().setBlockName("concrete_super").setCreativeTab(MainRegistry.blockTab).setHardness(150.0F).setResistance(1000.0F); - concrete_super_broken = new BlockFalling(Material.rock).setBlockName("concrete_super_broken").setCreativeTab(MainRegistry.blockTab).setHardness(10.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":concrete_super_broken"); - concrete_pillar = new BlockRotatablePillar(Material.rock, RefStrings.MODID + ":concrete_pillar_top").setBlockName("concrete_pillar").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(180.0F).setBlockTextureName(RefStrings.MODID + ":concrete_pillar_side"); - brick_concrete = new BlockGeneric(Material.rock).setBlockName("brick_concrete").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(160.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); - brick_concrete_mossy = new BlockGeneric(Material.rock).setBlockName("brick_concrete_mossy").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(160.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete_mossy"); - brick_concrete_cracked = new BlockGeneric(Material.rock).setBlockName("brick_concrete_cracked").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete_cracked"); - brick_concrete_broken = new BlockGeneric(Material.rock).setBlockName("brick_concrete_broken").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(45.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete_broken"); - brick_concrete_marked = new BlockWriting(Material.rock, RefStrings.MODID + ":brick_concrete").setBlockName("brick_concrete_marked").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(160.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete_marked"); - brick_obsidian = new BlockGeneric(Material.rock).setBlockName("brick_obsidian").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(120.0F).setBlockTextureName(RefStrings.MODID + ":brick_obsidian"); - brick_light = new BlockGeneric(Material.rock).setBlockName("brick_light").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":brick_light"); - brick_compound = new BlockGeneric(Material.rock).setBlockName("brick_compound").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(400.0F).setBlockTextureName(RefStrings.MODID + ":brick_compound"); - cmb_brick = new BlockGeneric(Material.rock).setBlockName("cmb_brick").setCreativeTab(MainRegistry.blockTab).setHardness(25.0F).setResistance(5000.0F).setBlockTextureName(RefStrings.MODID + ":cmb_brick"); - cmb_brick_reinforced = new BlockGeneric(Material.rock).setBlockName("cmb_brick_reinforced").setCreativeTab(MainRegistry.blockTab).setHardness(25.0F).setResistance(50000.0F).setBlockTextureName(RefStrings.MODID + ":cmb_brick_reinforced"); - brick_asbestos = new BlockOutgas(Material.rock, true, 5, true).setBlockName("brick_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":brick_asbestos"); - brick_fire = new BlockGeneric(Material.rock).setBlockName("brick_fire").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(35.0F).setBlockTextureName(RefStrings.MODID + ":brick_fire"); - - ducrete_smooth = new BlockGeneric(Material.rock).setBlockName("ducrete_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(20.0F).setResistance(500.0F).setBlockTextureName(RefStrings.MODID + ":ducrete"); - ducrete = new BlockGeneric(Material.rock).setBlockName("ducrete").setCreativeTab(MainRegistry.blockTab).setHardness(20.0F).setResistance(500.0F).setBlockTextureName(RefStrings.MODID + ":ducrete_tile"); - brick_ducrete = new BlockGeneric(Material.rock).setBlockName("brick_ducrete").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(750.0F).setBlockTextureName(RefStrings.MODID + ":brick_ducrete"); - reinforced_ducrete = new BlockGeneric(Material.rock).setBlockName("reinforced_ducrete").setCreativeTab(MainRegistry.blockTab).setHardness(20.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_ducrete"); - - concrete_slab = new BlockMultiSlab(null, Material.rock, concrete_smooth, concrete, concrete_asbestos, ducrete_smooth, ducrete, asphalt).setBlockName("concrete_slab").setCreativeTab(MainRegistry.blockTab); - concrete_double_slab = new BlockMultiSlab(concrete_slab, Material.rock, concrete_smooth, concrete, concrete_asbestos, ducrete_smooth, ducrete, asphalt).setBlockName("concrete_double_slab").setCreativeTab(MainRegistry.blockTab); - concrete_brick_slab = new BlockMultiSlab(null, Material.rock, brick_concrete, brick_concrete_mossy, brick_concrete_cracked, brick_concrete_broken, brick_ducrete).setBlockName("concrete_brick_slab").setCreativeTab(MainRegistry.blockTab); - concrete_brick_double_slab = new BlockMultiSlab(concrete_brick_slab, Material.rock, brick_concrete, brick_concrete_mossy, brick_concrete_cracked, brick_concrete_broken, brick_ducrete).setBlockName("concrete_brick_double_slab").setCreativeTab(MainRegistry.blockTab); - brick_slab = new BlockMultiSlab(null, Material.rock, reinforced_stone, reinforced_brick, brick_obsidian, brick_light, brick_compound, brick_asbestos, brick_fire).setBlockName("brick_slab").setCreativeTab(MainRegistry.blockTab); - brick_double_slab = new BlockMultiSlab(brick_slab, Material.rock, reinforced_stone, reinforced_brick, brick_obsidian, brick_light, brick_compound, brick_asbestos, brick_fire).setBlockName("brick_double_slab").setCreativeTab(MainRegistry.blockTab); - - concrete_smooth_stairs = new BlockGenericStairs(concrete_smooth, 0).setBlockName("concrete_smooth_stairs").setCreativeTab(MainRegistry.blockTab); - concrete_stairs = new BlockGenericStairs(concrete, 0).setBlockName("concrete_stairs").setCreativeTab(MainRegistry.blockTab); - concrete_asbestos_stairs = new BlockGenericStairs(concrete_asbestos, 0).setBlockName("concrete_asbestos_stairs").setCreativeTab(MainRegistry.blockTab); - ducrete_smooth_stairs = new BlockGenericStairs(ducrete_smooth, 0).setBlockName("ducrete_smooth_stairs").setCreativeTab(MainRegistry.blockTab); - ducrete_stairs = new BlockGenericStairs(ducrete, 0).setBlockName("ducrete_stairs").setCreativeTab(MainRegistry.blockTab); - brick_concrete_stairs = new BlockGenericStairs(brick_concrete, 0).setBlockName("brick_concrete_stairs").setCreativeTab(MainRegistry.blockTab); - brick_concrete_mossy_stairs = new BlockGenericStairs(brick_concrete_mossy, 0).setBlockName("brick_concrete_mossy_stairs").setCreativeTab(MainRegistry.blockTab); - brick_concrete_cracked_stairs = new BlockGenericStairs(brick_concrete_cracked, 0).setBlockName("brick_concrete_cracked_stairs").setCreativeTab(MainRegistry.blockTab); - brick_concrete_broken_stairs = new BlockGenericStairs(brick_concrete_broken, 0).setBlockName("brick_concrete_broken_stairs").setCreativeTab(MainRegistry.blockTab); - brick_ducrete_stairs = new BlockGenericStairs(brick_ducrete, 0).setBlockName("brick_ducrete_stairs").setCreativeTab(MainRegistry.blockTab); - reinforced_stone_stairs = new BlockGenericStairs(reinforced_stone, 0).setBlockName("reinforced_stone_stairs").setCreativeTab(MainRegistry.blockTab); - reinforced_brick_stairs = new BlockGenericStairs(reinforced_brick, 0).setBlockName("reinforced_brick_stairs").setCreativeTab(MainRegistry.blockTab); - brick_obsidian_stairs = new BlockGenericStairs(brick_obsidian, 0).setBlockName("brick_obsidian_stairs").setCreativeTab(MainRegistry.blockTab); - brick_light_stairs = new BlockGenericStairs(brick_light, 0).setBlockName("brick_light_stairs").setCreativeTab(MainRegistry.blockTab); - brick_compound_stairs = new BlockGenericStairs(brick_compound, 0).setBlockName("brick_compound_stairs").setCreativeTab(MainRegistry.blockTab); - brick_asbestos_stairs = new BlockGenericStairs(brick_asbestos, 0).setBlockName("brick_asbestos_stairs").setCreativeTab(MainRegistry.blockTab); - brick_fire_stairs = new BlockGenericStairs(brick_fire, 0).setBlockName("brick_fire_stairs").setCreativeTab(MainRegistry.blockTab); - asphalt_stairs = new BlockSpeedyStairs(asphalt, 0, 1.5).setBlockName("asphalt_stairs").setCreativeTab(MainRegistry.blockTab); - - vinyl_tile = new BlockEnumMulti(Material.rock, TileType.class, true, true).setBlockName("vinyl_tile").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(10.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":vinyl_tile"); - - tile_lab = new BlockOutgas(Material.rock, false, 5, true).setBlockName("tile_lab").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab"); - tile_lab_cracked = new BlockOutgas(Material.rock, false, 5, true).setBlockName("tile_lab_cracked").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_cracked"); - tile_lab_broken = new BlockOutgas(Material.rock, true, 5, true).setBlockName("tile_lab_broken").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_broken"); - - block_meteor = new BlockOre(Material.rock).noFortune().setBlockName("block_meteor").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor"); - block_meteor_cobble = new BlockOre(Material.rock).noFortune().setBlockName("block_meteor_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_cobble"); - block_meteor_broken = new BlockOre(Material.rock).noFortune().setBlockName("block_meteor_broken").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_crushed"); - block_meteor_molten = new BlockOre(Material.rock, true).noFortune().setBlockName("block_meteor_molten").setLightLevel(0.75F).setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_cobble_molten"); - block_meteor_treasure = new BlockMeteoriteTreasure(Material.rock).setBlockName("block_meteor_treasure").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_treasure"); - meteor_polished = new BlockGeneric(Material.rock).setBlockName("meteor_polished").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_polished"); - meteor_brick = new BlockGeneric(Material.rock).setBlockName("meteor_brick").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick"); - meteor_brick_mossy = new BlockGeneric(Material.rock).setBlockName("meteor_brick_mossy").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick_mossy"); - meteor_brick_cracked = new BlockGeneric(Material.rock).setBlockName("meteor_brick_cracked").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick_cracked"); - meteor_brick_chiseled = new BlockGeneric(Material.rock).setBlockName("meteor_brick_chiseled").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick_chiseled"); - meteor_pillar = new BlockRotatablePillar(Material.rock, RefStrings.MODID + ":meteor_pillar_top").setBlockName("meteor_pillar").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_pillar"); - meteor_spawner = new BlockCybercrab(Material.rock).setBlockName("meteor_spawner").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F); - meteor_battery = new BlockPillar(Material.rock, RefStrings.MODID + ":meteor_power").setBlockName("meteor_battery").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_spawner_side"); - moon_turf = new BlockFalling(Material.sand).setBlockName("moon_turf").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":moon_turf"); - - brick_jungle = new BlockGeneric(Material.rock).setBlockName("brick_jungle").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":brick_jungle"); - brick_jungle_cracked = new BlockGeneric(Material.rock).setBlockName("brick_jungle_cracked").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_cracked"); - brick_jungle_fragile = new FragileBrick(Material.rock).setBlockName("brick_jungle_fragile").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_fragile"); - brick_jungle_lava = new BlockGeneric(Material.rock).setBlockName("brick_jungle_lava").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setLightLevel(5F/15F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_lava"); - brick_jungle_ooze = new BlockOre(Material.rock).setBlockName("brick_jungle_ooze").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setLightLevel(5F/15F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_ooze"); - brick_jungle_mystic = new BlockOre(Material.rock).setBlockName("brick_jungle_mystic").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setLightLevel(5F/15F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_mystic"); - brick_jungle_trap = new TrappedBrick(Material.rock).setBlockName("brick_jungle_trap").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_trap"); - brick_jungle_glyph = new BlockGlyph(Material.rock).setBlockName("brick_jungle_glyph").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F); - brick_jungle_circle = new BlockBallsSpawner(Material.rock).setBlockName("brick_jungle_circle").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_circle"); - - brick_red = new BlockRedBrick(Material.rock).setBlockName("brick_red").setResistance(10_000); - - deco_computer = new BlockDecoModel(Material.iron, DecoComputerEnum.class, true, false).setBlockBoundsTo(.160749F, 0F, 0F, .839251F, .867849F, .622184F).setBlockName("deco_computer").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_computer"); - deco_crt = new BlockDecoCRT(Material.iron).setBlockName("deco_crt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); - deco_toaster = new BlockDecoToaster(Material.iron).setBlockName("deco_toaster").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); - filing_cabinet = new BlockDecoContainer(Material.iron, DecoCabinetEnum.class, true, false, TileEntityFileCabinet.class).setBlockBoundsTo(.1875F, 0F, 0F, .8125F, 1F, .75F).setBlockName("filing_cabinet").setCreativeTab(MainRegistry.blockTab).setHardness(10.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); - - tape_recorder = new DecoTapeRecorder(Material.iron).setBlockName("tape_recorder").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_tape_recorder"); - steel_poles = new DecoSteelPoles(Material.iron).setBlockName("steel_poles").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_beam"); - pole_top = new DecoPoleTop(Material.iron).setBlockName("pole_top").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_pole_top"); - pole_satellite_receiver = new DecoPoleSatelliteReceiver(Material.iron).setBlockName("pole_satellite_receiver").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_satellite_receiver"); - steel_wall = new DecoBlock(Material.iron).setBlockName("steel_wall").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_wall"); - steel_corner = new DecoBlock(Material.iron).setBlockName("steel_corner").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_corner"); - steel_roof = new DecoBlock(Material.iron).setBlockName("steel_roof").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_roof"); - steel_beam = new DecoBlock(Material.iron).setBlockName("steel_beam").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_beam"); - steel_scaffold = new BlockScaffold().setBlockName("steel_scaffold").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_steel_orig"); - steel_grate = new BlockGrate(Material.iron).setBlockName("steel_grate").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F); - steel_grate_wide = new BlockGrate(Material.iron).setBlockName("steel_grate_wide").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F); - - deco_pipe = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side", 0).setBlockName("deco_pipe").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top"); - deco_pipe_rusted = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_rusty", 0).setBlockName("deco_pipe_rusted").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_rusty"); - deco_pipe_green = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_green", 0).setBlockName("deco_pipe_green").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_green"); - deco_pipe_green_rusted = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_green_rusty", 0).setBlockName("deco_pipe_green_rusted").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_green_rusty"); - deco_pipe_red = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_red", 0).setBlockName("deco_pipe_red").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_red"); - deco_pipe_marked = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_marked", 0).setBlockName("deco_pipe_marked").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_marked"); - deco_pipe_rim = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side", 1).setBlockName("deco_pipe_rim").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top"); - deco_pipe_rim_rusted = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_rusty", 1).setBlockName("deco_pipe_rim_rusted").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_rusty"); - deco_pipe_rim_green = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_green", 1).setBlockName("deco_pipe_rim_green").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_green"); - deco_pipe_rim_green_rusted = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_green_rusty", 1).setBlockName("deco_pipe_rim_green_rusted").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_green_rusty"); - deco_pipe_rim_red = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_red", 1).setBlockName("deco_pipe_rim_red").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_red"); - deco_pipe_rim_marked = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_marked", 1).setBlockName("deco_pipe_rim_marked").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_marked"); - deco_pipe_framed = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side", 3).setBlockName("deco_pipe_framed").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top"); - deco_pipe_framed_rusted = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_rusty", 3).setBlockName("deco_pipe_framed_rusted").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_rusty"); - deco_pipe_framed_green = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_green", 3).setBlockName("deco_pipe_framed_green").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_green"); - deco_pipe_framed_green_rusted = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_green_rusty", 3).setBlockName("deco_pipe_framed_green_rusted").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_green_rusty"); - deco_pipe_framed_red = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_red", 3).setBlockName("deco_pipe_framed_red").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_red"); - deco_pipe_framed_marked = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_marked", 3).setBlockName("deco_pipe_framed_marked").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_marked"); - deco_pipe_quad = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side", 2).setBlockName("deco_pipe_quad").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top"); - deco_pipe_quad_rusted = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_rusty", 2).setBlockName("deco_pipe_quad_rusted").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_rusty"); - deco_pipe_quad_green = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_green", 2).setBlockName("deco_pipe_quad_green").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_green"); - deco_pipe_quad_green_rusted = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_green_rusty", 2).setBlockName("deco_pipe_quad_green_rusted").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_green_rusty"); - deco_pipe_quad_red = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_red", 2).setBlockName("deco_pipe_quad_red").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_red"); - deco_pipe_quad_marked = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_marked", 2).setBlockName("deco_pipe_quad_marked").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_marked"); - - broadcaster_pc = new PinkCloudBroadcaster(Material.iron).setBlockName("broadcaster_pc").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":broadcaster_pc"); - geiger = new GeigerCounter(Material.iron).setBlockName("geiger").setCreativeTab(MainRegistry.machineTab).setHardness(15.0F).setResistance(0.25F).setBlockTextureName(RefStrings.MODID + ":geiger"); - hev_battery = new HEVBattery(Material.iron).setBlockName("hev_battery").setCreativeTab(MainRegistry.machineTab).setLightLevel(10F/15F).setHardness(0.5F).setResistance(0.25F).setBlockTextureName(RefStrings.MODID + ":hev_battery"); - - fence_metal = new BlockMetalFence(Material.iron).setBlockName("fence_metal").setCreativeTab(MainRegistry.machineTab).setHardness(15.0F).setResistance(0.25F).setBlockTextureName(RefStrings.MODID + ":fence_metal"); - - ash_digamma = new BlockAshes(Material.sand).setBlockName("ash_digamma").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setResistance(150.0F).setBlockTextureName(RefStrings.MODID + ":ash_digamma"); - sand_boron = new BlockFalling(Material.sand).setBlockName("sand_boron").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_boron"); - sand_lead = new BlockFalling(Material.sand).setBlockName("sand_lead").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_lead"); - sand_uranium = new BlockFalling(Material.sand).setBlockName("sand_uranium").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_uranium"); - sand_polonium = new BlockFalling(Material.sand).setBlockName("sand_polonium").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_polonium"); - sand_quartz = new BlockFalling(Material.sand).setBlockName("sand_quartz").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_quartz"); - glass_boron = new BlockNTMGlassCT(0, RefStrings.MODID + ":glass_boron", Material.glass).setBlockName("glass_boron").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); - glass_lead = new BlockNTMGlassCT(0, RefStrings.MODID + ":glass_lead", Material.glass).setBlockName("glass_lead").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); - glass_uranium = new BlockNTMGlassCT(1, RefStrings.MODID + ":glass_uranium", Material.glass).setBlockName("glass_uranium").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); - glass_trinitite = new BlockNTMGlassCT(1, RefStrings.MODID + ":glass_trinitite", Material.glass).setBlockName("glass_trinitite").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); - glass_polonium = new BlockNTMGlassCT(1, RefStrings.MODID + ":glass_polonium", Material.glass).setBlockName("glass_polonium").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); - glass_ash = new BlockNTMGlassCT(1, RefStrings.MODID + ":glass_ash", Material.glass).setBlockName("glass_ash").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(3F); - glass_quartz = new BlockNTMGlassCT(0, RefStrings.MODID + ":glass_quartz", Material.packedIce, true).setBlockName("glass_quartz").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGlass).setHardness(1.0F).setResistance(40.0F).setBlockTextureName(RefStrings.MODID + "glass_quartz"); - - mush = new BlockMush(Material.plants).setBlockName("mush").setCreativeTab(MainRegistry.blockTab).setLightLevel(0.5F).setStepSound(Block.soundTypeGrass).setBlockTextureName(RefStrings.MODID + ":mush"); - mush_block = new BlockMushHuge(Material.plants).setBlockName("mush_block").setLightLevel(1.0F).setStepSound(Block.soundTypeGrass).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":mush_block_skin"); - mush_block_stem = new BlockMushHuge(Material.plants).setBlockName("mush_block_stem").setLightLevel(1.0F).setStepSound(Block.soundTypeGrass).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":mush_block_stem"); - glyphid_base = new BlockGlyphid(Material.coral).setBlockName("glyphid_base").setStepSound(Block.soundTypeCloth).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":glyphid_base"); - glyphid_spawner = new BlockGlyphidSpawner(Material.coral).setBlockName("glyphid_spawner").setStepSound(Block.soundTypeCloth).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":glyphid_eggs_alt"); - - plant_flower = new BlockNTMFlower().setBlockName("plant_flower").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.0F); - plant_tall = new BlockTallPlant().setBlockName("plant_tall").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.0F); - plant_dead = new BlockDeadPlant().setBlockName("plant_dead").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.0F); - reeds = new BlockReeds().setBlockName("plant_reeds").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.0F); - - waste_earth = new WasteEarth(Material.ground, true).setBlockName("waste_earth").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.blockTab).setHardness(0.6F).setBlockTextureName(RefStrings.MODID + ":waste_earth"); - waste_mycelium = new WasteEarth(Material.ground, true).setBlockName("waste_mycelium").setStepSound(Block.soundTypeGrass).setLightLevel(1F).setCreativeTab(MainRegistry.blockTab).setHardness(0.6F).setBlockTextureName(RefStrings.MODID + ":waste_mycelium_side"); - waste_trinitite = new BlockOre(Material.sand).noFortune().setBlockName("waste_trinitite").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":waste_trinitite"); - waste_trinitite_red = new BlockOre(Material.sand).noFortune().setBlockName("waste_trinitite_red").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":waste_trinitite_red"); - waste_log = new WasteLog(Material.wood).setBlockName("waste_log").setStepSound(Block.soundTypeWood).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(2.5F); - waste_leaves = new WasteLeaves(Material.leaves).setBlockName("waste_leaves").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setBlockTextureName(RefStrings.MODID + ":waste_leaves"); - waste_planks = new BlockOre(Material.wood).setBlockName("waste_planks").setStepSound(Block.soundTypeWood).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":waste_planks"); - frozen_dirt = new BlockOre(Material.ground).setBlockName("frozen_dirt").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":frozen_dirt"); - frozen_grass = new WasteEarth(Material.ground, false).setBlockName("frozen_grass").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F); - frozen_log = new WasteLog(Material.wood).setBlockName("frozen_log").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F); - frozen_planks = new BlockOre(Material.wood).setBlockName("frozen_planks").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":frozen_planks"); - fallout = new BlockFallout(Material.sand).setBlockName("fallout").setStepSound(Block.soundTypeGravel).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":ash"); - foam_layer = new BlockLayering(Material.snow).setBlockName("foam_layer").setStepSound(Block.soundTypeSnow).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":foam"); - sand_boron_layer = new BlockLayering(Material.sand).setBlockName("sand_boron_layer").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":sand_boron"); - leaves_layer = new BlockLayering(Material.leaves).setBlockName("leaves_layer").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":waste_leaves"); - oil_spill = new BlockLayering(Material.ground).setBlockName("oil_spill").setStepSound(Block.soundTypeSnow).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":oil_spill"); - - burning_earth = new WasteEarth(Material.ground, true).setBlockName("burning_earth").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.blockTab).setHardness(0.6F).setBlockTextureName(RefStrings.MODID + ":burning_earth"); - tektite = new BlockGeneric(Material.sand).setBlockName("tektite").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":tektite"); - ore_tektite_osmiridium = new BlockGeneric(Material.sand).setBlockName("ore_tektite_osmiridium").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":ore_tektite_osmiridium"); - impact_dirt = new BlockDirt(Material.ground, true).setBlockName("impact_dirt").setStepSound(Block.soundTypeGravel).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":waste_earth_bottom"); - dirt_dead = new BlockFalling(Material.ground).setBlockName("dirt_dead").setStepSound(Block.soundTypeGravel).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":dirt_dead"); - dirt_oily = new BlockFalling(Material.ground).setBlockName("dirt_oily").setStepSound(Block.soundTypeGravel).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":dirt_oily"); - sand_dirty = new BlockFalling(Material.sand).setBlockName("sand_dirty").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_dirty"); - sand_dirty_red = new BlockFalling(Material.sand).setBlockName("sand_dirty_red").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_dirty_red"); - stone_cracked = new BlockFalling(Material.rock).setBlockName("stone_cracked").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":stone_cracked"); - - sellafield_slaked = new BlockSellafieldSlaked(Material.rock).setBlockName("sellafield_slaked").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_slaked"); - sellafield_bedrock = new BlockSellafieldSlaked(Material.rock).setBlockName("sellafield_bedrock").setBlockUnbreakable().setResistance(6000000.0F).setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":sellafield_slaked"); - sellafield = new BlockSellafield(Material.rock).setBlockName("sellafield").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_0"); - ore_sellafield_diamond = new BlockSellafieldOre(Material.rock).setBlockName("ore_sellafield_diamond").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":ore_overlay_diamond"); - ore_sellafield_emerald = new BlockSellafieldOre(Material.rock).setBlockName("ore_sellafield_emerald").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":ore_overlay_emerald"); - ore_sellafield_uranium_scorched = new BlockSellafieldOre(Material.rock).setBlockName("ore_sellafield_uranium_scorched").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":ore_overlay_uranium_scorched"); - ore_sellafield_schrabidium = new BlockSellafieldOre(Material.rock).setBlockName("ore_sellafield_schrabidium").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":ore_overlay_schrabidium"); - ore_sellafield_radgem = new BlockSellafieldOre(Material.rock).setBlockName("ore_sellafield_radgem").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":ore_overlay_radgem"); - - geysir_water = new BlockGeysir(Material.rock).setBlockName("geysir_water").setStepSound(Block.soundTypeStone).setHardness(5.0F); - geysir_chlorine = new BlockGeysir(Material.rock).setBlockName("geysir_chlorine").setStepSound(Block.soundTypeStone).setHardness(5.0F); - geysir_vapor = new BlockGeysir(Material.rock).setBlockName("geysir_vapor").setStepSound(Block.soundTypeStone).setHardness(5.0F); - geysir_nether = new BlockGeysir(Material.rock).setBlockName("geysir_nether").setLightLevel(1.0F).setStepSound(Block.soundTypeStone).setHardness(2.0F); - - nuke_gadget = new NukeGadget(Material.iron).setBlockName("nuke_gadget").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":theGadget"); - nuke_boy = new NukeBoy(Material.iron).setBlockName("nuke_boy").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":lilBoy"); - nuke_man = new NukeMan(Material.iron).setBlockName("nuke_man").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":fatMan"); - nuke_mike = new NukeMike(Material.iron).setBlockName("nuke_mike").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":ivyMike"); - nuke_tsar = new NukeTsar(Material.iron).setBlockName("nuke_tsar").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":tsarBomba"); - nuke_fleija = new NukeFleija(Material.iron).setBlockName("nuke_fleija").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":fleija"); - nuke_prototype = new NukePrototype(Material.iron).setBlockName("nuke_prototype").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200).setBlockTextureName(RefStrings.MODID + ":prototype"); - nuke_custom = new NukeCustom(Material.iron).setBlockName("nuke_custom").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":custom"); - nuke_solinium = new NukeSolinium(Material.iron).setBlockName("nuke_solinium").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":nuke_solinium"); - nuke_n2 = new NukeN2(Material.iron).setBlockName("nuke_n2").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":nuke_n2"); - nuke_fstbmb = new NukeBalefire(Material.iron).setBlockName("nuke_fstbmb").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":nuke_fstbmb"); - - bomb_multi = new BombMulti(Material.iron).setBlockName("bomb_multi").setCreativeTab(MainRegistry.nukeTab).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":bomb_multi1"); - - flame_war = new BombFlameWar(Material.iron).setBlockName("flame_war").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":flame_war"); - float_bomb = new BombFloat(Material.iron).setBlockName("float_bomb").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F); - therm_endo = new BombThermo(Material.iron).setBlockName("therm_endo").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F); - therm_exo = new BombThermo(Material.iron).setBlockName("therm_exo").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F); - emp_bomb = new BombFloat(Material.iron).setBlockName("emp_bomb").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F); - det_cord = new DetCord(Material.iron).setBlockName("det_cord").setCreativeTab(MainRegistry.nukeTab).setHardness(0.1F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":det_cord"); - det_charge = new ExplosiveCharge(Material.iron).setBlockName("det_charge").setCreativeTab(MainRegistry.nukeTab).setHardness(0.1F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":det_charge"); - det_nuke = new ExplosiveCharge(Material.iron).setBlockName("det_nuke").setCreativeTab(MainRegistry.nukeTab).setHardness(0.1F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":det_nuke"); - det_miner = new DetMiner(Material.iron, RefStrings.MODID + ":det_miner_top").setBlockName("det_miner").setCreativeTab(MainRegistry.nukeTab).setHardness(0.1F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":det_miner_side"); - red_barrel = new RedBarrel(Material.iron, true).setBlockName("red_barrel").setCreativeTab(MainRegistry.nukeTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":barrel_red"); - pink_barrel = new RedBarrel(Material.iron, true).setBlockName("pink_barrel").setCreativeTab(MainRegistry.nukeTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":barrel_pink"); - yellow_barrel = new YellowBarrel(Material.iron).setBlockName("yellow_barrel").setCreativeTab(MainRegistry.nukeTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":barrel_yellow"); - vitrified_barrel = new YellowBarrel(Material.iron).setBlockName("vitrified_barrel").setCreativeTab(MainRegistry.nukeTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":barrel_vitrified"); - lox_barrel = new RedBarrel(Material.iron, false).setBlockName("lox_barrel").setCreativeTab(MainRegistry.nukeTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":barrel_lox"); - taint_barrel = new RedBarrel(Material.iron, false).setBlockName("taint_barrel").setCreativeTab(MainRegistry.nukeTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":barrel_taint"); - crashed_balefire = new BlockCrashedBomb(Material.iron).setBlockName("crashed_bomb").setCreativeTab(MainRegistry.nukeTab).setBlockUnbreakable().setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":crashed_balefire"); - fireworks = new BlockFireworks(Material.iron).setBlockName("fireworks").setCreativeTab(MainRegistry.nukeTab).setResistance(5.0F); - charge_dynamite = new BlockChargeDynamite().setBlockName("charge_dynamite").setCreativeTab(MainRegistry.nukeTab).setResistance(1.0F); - charge_miner = new BlockChargeMiner().setBlockName("charge_miner").setCreativeTab(MainRegistry.nukeTab).setResistance(1.0F); - charge_c4 = new BlockChargeC4().setBlockName("charge_c4").setCreativeTab(MainRegistry.nukeTab).setResistance(1.0F); - charge_semtex = new BlockChargeSemtex().setBlockName("charge_semtex").setCreativeTab(MainRegistry.nukeTab).setResistance(1.0F); - mine_ap = new Landmine(Material.iron, 1.5D, 1D).setBlockName("mine_ap").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_ap"); - mine_he = new Landmine(Material.iron, 2D, 5D).setBlockName("mine_he").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_he"); - mine_shrap = new Landmine(Material.iron, 1.5D, 1D).setBlockName("mine_shrap").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_shrap"); - mine_fat = new Landmine(Material.iron, 2.5D, 1D).setBlockName("mine_fat").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_fat"); - dynamite = new BlockDynamite().setBlockName("dynamite").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.nukeTab).setHardness(0.0F).setBlockTextureName(RefStrings.MODID + ":dynamite"); - tnt = new BlockTNT().setBlockName("tnt_ntm").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.nukeTab).setHardness(0.0F).setBlockTextureName(RefStrings.MODID + ":tnt"); - semtex = new BlockSemtex().setBlockName("semtex").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.nukeTab).setHardness(0.0F).setBlockTextureName(RefStrings.MODID + ":semtex"); - c4 = new BlockC4().setBlockName("c4").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.nukeTab).setHardness(0.0F).setBlockTextureName(RefStrings.MODID + ":c4"); - fissure_bomb = new BlockFissureBomb().setBlockName("fissure_bomb").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.nukeTab).setHardness(0.0F).setBlockTextureName(RefStrings.MODID + ":fissure_bomb"); - - pump_steam = new MachinePump().setBlockName("pump_steam").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_copper"); - pump_electric = new MachinePump().setBlockName("pump_electric").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - - heater_firebox = new HeaterFirebox().setBlockName("heater_firebox").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - heater_oven = new HeaterOven().setBlockName("heater_oven").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); - heater_oilburner = new HeaterOilburner().setBlockName("heater_oilburner").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - heater_electric = new HeaterElectric().setBlockName("heater_electric").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - heater_heatex = new HeaterHeatex().setBlockName("heater_heatex").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_ashpit = new MachineAshpit().setBlockName("machine_ashpit").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName("stonebrick"); - - furnace_iron = new FurnaceIron().setBlockName("furnace_iron").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_aluminium"); - furnace_steel = new FurnaceSteel().setBlockName("furnace_steel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - furnace_combination = new FurnaceCombination().setBlockName("furnace_combination").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_light_alt"); - machine_stirling = new MachineStirling().setBlockName("machine_stirling").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_stirling_steel = new MachineStirling().setBlockName("machine_stirling_steel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_stirling_creative = new MachineStirling().setBlockName("machine_stirling_creative").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_sawmill = new MachineSawmill().setBlockName("machine_sawmill").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_strand_caster = new MachineStrandCaster().setBlockName("machine_strand_caster").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); - machine_crucible = new MachineCrucible().setBlockName("machine_crucible").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); - machine_boiler = new MachineHeatBoiler().setBlockName("machine_boiler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_copper"); - machine_industrial_boiler = new MachineHeatBoilerIndustrial().setBlockName("machine_industrial_boiler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - - foundry_mold = new FoundryMold().setBlockName("foundry_mold").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); - foundry_basin = new FoundryBasin().setBlockName("foundry_basin").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); - foundry_channel = new FoundryChannel().setBlockName("foundry_channel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); - foundry_tank = new FoundryTank().setBlockName("foundry_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); - foundry_outlet = new FoundryOutlet().setBlockName("foundry_outlet").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); - foundry_slagtap = new FoundrySlagtap().setBlockName("foundry_slagtap").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); - slag = new BlockDynamicSlag().setBlockName("slag").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":slag"); - - machine_difurnace_off = new MachineDiFurnace(false).setBlockName("machine_difurnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_difurnace_on = new MachineDiFurnace(true).setBlockName("machine_difurnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); - machine_difurnace_extension = new MachineDiFurnaceExtension().setBlockName("machine_difurnace_extension").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_difurnace_rtg_off = new MachineDiFurnaceRTG(false).setBlockName("machine_difurnace_rtg_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_difurnace_rtg_on = new MachineDiFurnaceRTG(true).setBlockName("machine_difurnace_rtg_on").setHardness(5.0F).setResistance(10.0F).setLightLevel(2.0F).setCreativeTab(null); - - machine_centrifuge = new MachineCentrifuge(Material.iron).setBlockName("machine_centrifuge").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_gascent = new MachineGasCent(Material.iron).setBlockName("machine_gascent").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_fel = new MachineFEL(Material.iron).setBlockName("machine_fel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_silex = new MachineSILEX(Material.iron).setBlockName("machine_silex").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_crystallizer = new MachineCrystallizer(Material.iron).setBlockName("machine_crystallizer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_crystallizer"); - - machine_uf6_tank = new MachineUF6Tank(Material.iron).setBlockName("machine_uf6_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - - machine_puf6_tank = new MachinePuF6Tank(Material.iron).setBlockName("machine_puf6_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - - machine_reactor_breeding = new MachineReactorBreeding(Material.iron).setBlockName("machine_reactor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_reactor"); - - machine_furnace_brick_off = new MachineBrickFurnace(false).setBlockName("machine_furnace_brick_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_furnace_brick_on = new MachineBrickFurnace(true).setBlockName("machine_furnace_brick_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); - machine_nuke_furnace_off = new MachineNukeFurnace(false).setBlockName("machine_nuke_furnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_nuke_furnace_on = new MachineNukeFurnace(true).setBlockName("machine_nuke_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); - machine_rtg_furnace_off = new MachineRtgFurnace(false).setBlockName("machine_rtg_furnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_rtg_furnace_on = new MachineRtgFurnace(true).setBlockName("machine_rtg_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); - - machine_industrial_generator = new MachineIGenerator(Material.iron).setBlockName("machine_industrial_generator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName("gold_block"); - machine_cyclotron = new MachineCyclotron(Material.iron).setBlockName("machine_cyclotron").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":cyclotron"); - machine_exposure_chamber = new MachineExposureChamber(Material.iron).setBlockName("machine_exposure_chamber").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_aluminium"); - machine_radgen = new MachineRadGen(Material.iron).setBlockName("machine_radgen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_radgen"); - - hadron_plating = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating"); - hadron_plating_blue = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_blue").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_blue"); - hadron_plating_black = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_black").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_black"); - hadron_plating_yellow = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_yellow").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_yellow"); - hadron_plating_striped = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_striped").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_striped"); - hadron_plating_voltz = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_voltz").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_voltz"); - hadron_plating_glass = new BlockNTMGlass(0, RefStrings.MODID + ":hadron_plating_glass", Material.iron, true).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_glass").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_glass"); - hadron_coil_alloy = new BlockHadronCoil(Material.iron, 10).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_alloy").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_alloy"); - hadron_coil_gold = new BlockHadronCoil(Material.iron, 25).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_gold").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_gold"); - hadron_coil_neodymium = new BlockHadronCoil(Material.iron, 50).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_neodymium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_neodymium"); - hadron_coil_magtung = new BlockHadronCoil(Material.iron, 100).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_magtung").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_magtung"); - hadron_coil_schrabidium = new BlockHadronCoil(Material.iron, 250).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_schrabidium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_schrabidium"); - hadron_coil_schrabidate = new BlockHadronCoil(Material.iron, 500).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_schrabidate").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_schrabidate"); - hadron_coil_starmetal = new BlockHadronCoil(Material.iron, 1000).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_starmetal").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_starmetal"); - hadron_coil_chlorophyte = new BlockHadronCoil(Material.iron, 2500).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_chlorophyte").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_chlorophyte"); - hadron_coil_mese = new BlockHadronCoil(Material.iron, 10000).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_mese").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_mese"); - hadron_power = new BlockHadronPower(Material.iron, 1000000L).setStepSound(Block.soundTypeMetal).setBlockName("hadron_power").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_power"); - hadron_power_10m = new BlockHadronPower(Material.iron, 10000000L).setStepSound(Block.soundTypeMetal).setBlockName("hadron_power_10m").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_power"); - hadron_power_100m = new BlockHadronPower(Material.iron, 100000000L).setStepSound(Block.soundTypeMetal).setBlockName("hadron_power_100m").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_power"); - hadron_power_1g = new BlockHadronPower(Material.iron, 1000000000L).setStepSound(Block.soundTypeMetal).setBlockName("hadron_power_1g").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_power"); - hadron_power_10g = new BlockHadronPower(Material.iron, 10000000000L).setStepSound(Block.soundTypeMetal).setBlockName("hadron_power_10g").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_power"); - hadron_diode = new BlockHadronDiode(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_diode").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - hadron_analysis = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_analysis").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_analysis"); - hadron_analysis_glass = new BlockNTMGlass(0, RefStrings.MODID + ":hadron_analysis_glass", Material.iron, true).setStepSound(Block.soundTypeMetal).setBlockName("hadron_analysis_glass").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_analysis_glass"); - hadron_access = new BlockHadronAccess(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_access").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_access"); - hadron_core = new BlockHadronCore(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_core"); - hadron_cooler = new BlockHadronCooler(Material.iron).setBlockName("hadron_cooler").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); - - machine_electric_furnace_off = new MachineElectricFurnace(false).setBlockName("machine_electric_furnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_electric_furnace_on = new MachineElectricFurnace(true).setBlockName("machine_electric_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); - machine_arc_furnace_off = new MachineArcFurnace(false).setBlockName("machine_arc_furnace_off").setHardness(5.0F).setResistance(10.0F); - machine_arc_furnace_on = new MachineArcFurnace(true).setBlockName("machine_arc_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); - machine_arc_furnace = new MachineArcFurnaceLarge().setBlockName("machine_arc_furnace").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_microwave = new MachineMicrowave(Material.iron).setBlockName("machine_microwave").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_microwave"); - - machine_battery_potato = new MachineBattery(Material.iron, 10_000).setBlockName("machine_battery_potato").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_battery = new MachineBattery(Material.iron, 1_000_000).setBlockName("machine_battery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_lithium_battery = new MachineBattery(Material.iron, 50_000_000).setBlockName("machine_lithium_battery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_schrabidium_battery = new MachineBattery(Material.iron, 25_000_000_000L).setBlockName("machine_schrabidium_battery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_dineutronium_battery = new MachineBattery(Material.iron, 1_000_000_000_000L).setBlockName("machine_dineutronium_battery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_fensu = new MachineFENSU(Material.iron).setBlockName("machine_fensu").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_fensu"); - - capacitor_bus = new MachineCapacitorBus(Material.iron).setBlockName("capacitor_bus").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - capacitor_copper = new MachineCapacitor(Material.iron, 1_000_000L, "copper").setBlockName("capacitor_copper").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_copper"); - capacitor_gold = new MachineCapacitor(Material.iron, 5_000_000L, "gold").setBlockName("capacitor_gold").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName("gold_block"); - capacitor_niobium = new MachineCapacitor(Material.iron, 25_000_000L, "niobium").setBlockName("capacitor_niobium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_niobium"); - capacitor_tantalium = new MachineCapacitor(Material.iron, 150_000_000L, "tantalium").setBlockName("capacitor_tantalium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_tantalium"); - capacitor_schrabidate = new MachineCapacitor(Material.iron, 50_000_000_000L, "schrabidate").setBlockName("capacitor_schrabidate").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_schrabidate"); - - machine_wood_burner = new MachineWoodBurner(Material.iron).setBlockName("machine_wood_burner").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_diesel = new MachineDiesel().setBlockName("machine_diesel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_combustion_engine = new MachineCombustionEngine().setBlockName("machine_combustion_engine").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - - machine_shredder = new MachineShredder(Material.iron).setBlockName("machine_shredder").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - - machine_teleporter = new MachineTeleporter(Material.iron).setBlockName("machine_teleporter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - teleanchor = new MachineTeleanchor().setBlockName("teleanchor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - field_disturber = new MachineFieldDisturber().setBlockName("field_disturber").setHardness(5.0F).setResistance(200.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":field_disturber"); - - machine_rtg_grey = new MachineRTG(Material.iron).setBlockName("machine_rtg_grey").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rtg"); - machine_amgen = new MachineAmgen(Material.iron).setBlockName("machine_amgen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_geo = new MachineAmgen(Material.iron).setBlockName("machine_geo").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_minirtg = new MachineMiniRTG(Material.iron).setBlockName("machine_minirtg").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rtg_cell"); - machine_powerrtg = new MachineMiniRTG(Material.iron).setBlockName("machine_powerrtg").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rtg_polonium"); - machine_radiolysis = new MachineRadiolysis(Material.iron).setBlockName("machine_radiolysis").setHardness(10.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel_machine"); - machine_hephaestus = new MachineHephaestus(Material.iron).setBlockName("machine_hephaestus").setHardness(10.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel_machine"); - - red_wire_coated = new WireCoated(Material.iron).setBlockName("red_wire_coated").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_wire_coated"); - red_cable = new BlockCable(Material.iron).setBlockName("red_cable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":cable_neo"); - red_cable_classic = new BlockCable(Material.iron).setBlockName("red_cable_classic").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_cable_classic"); - red_cable_paintable = new BlockCablePaintable().setBlockName("red_cable_paintable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - red_cable_gauge = new BlockCableGauge().setBlockName("red_cable_gauge").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - red_connector = new ConnectorRedWire(Material.iron).setBlockName("red_connector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_connector"); - red_pylon = new PylonRedWire(Material.iron).setBlockName("red_pylon").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon"); - red_pylon_medium_wood = new PylonMedium(Material.wood).setBlockName("red_pylon_medium_wood").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon"); - red_pylon_medium_wood_transformer = new PylonMedium(Material.wood).setBlockName("red_pylon_medium_wood_transformer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon"); - red_pylon_medium_steel = new PylonMedium(Material.iron).setBlockName("red_pylon_medium_steel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon"); - red_pylon_medium_steel_transformer = new PylonMedium(Material.iron).setBlockName("red_pylon_medium_steel_transformer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon"); - red_pylon_large = new PylonLarge(Material.iron).setBlockName("red_pylon_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon_large"); - substation = new Substation(Material.iron).setBlockName("substation").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":substation"); - cable_switch = new CableSwitch(Material.iron).setBlockName("cable_switch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - cable_detector = new CableDetector(Material.iron).setBlockName("cable_detector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - cable_diode = new CableDiode(Material.iron).setBlockName("cable_diode").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":cable_diode"); - machine_detector = new PowerDetector(Material.iron).setBlockName("machine_detector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_detector_off"); - fluid_duct_neo = new FluidDuctStandard(Material.iron).setBlockName("fluid_duct_neo").setStepSound(ModSoundTypes.pipe).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pipe_neo"); - fluid_duct_box = new FluidDuctBox(Material.iron).setBlockName("fluid_duct_box").setStepSound(ModSoundTypes.pipe).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fluid_duct_box"); - fluid_duct_exhaust = new FluidDuctBoxExhaust(Material.iron).setBlockName("fluid_duct_exhaust").setStepSound(ModSoundTypes.pipe).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fluid_duct_box"); - fluid_duct_paintable = new FluidDuctPaintable().setBlockName("fluid_duct_paintable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - fluid_duct_gauge = new FluidDuctGauge().setBlockName("fluid_duct_gauge").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - fluid_valve = new FluidValve(Material.iron).setBlockName("fluid_valve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - fluid_switch = new FluidSwitch(Material.iron).setBlockName("fluid_switch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_drain = new MachineDrain(Material.iron).setBlockName("machine_drain").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":concrete"); - radio_torch_sender = new RadioTorchSender().setBlockName("radio_torch_sender").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - radio_torch_receiver = new RadioTorchReceiver().setBlockName("radio_torch_receiver").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - radio_torch_counter = new RadioTorchCounter().setBlockName("radio_torch_counter").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rtty_counter"); - radio_torch_logic = new RadioTorchLogic().setBlockName("radio_torch_logic").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - radio_telex = new RadioTelex().setBlockName("radio_telex").setHardness(3F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":radio_telex"); - - conveyor = new BlockConveyor().setBlockName("conveyor").setHardness(2.0F).setResistance(2.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":conveyor"); - conveyor_express = new BlockConveyorExpress().setBlockName("conveyor_express").setHardness(2.0F).setResistance(2.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":conveyor_express"); - //conveyor_classic = new BlockConveyorClassic().setBlockName("conveyor_classic").setHardness(2.0F).setResistance(2.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":conveyor"); - conveyor_double = new BlockConveyorDouble().setBlockName("conveyor_double").setHardness(2.0F).setResistance(2.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":conveyor_double"); - conveyor_triple = new BlockConveyorTriple().setBlockName("conveyor_triple").setHardness(2.0F).setResistance(2.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":conveyor_triple"); - conveyor_chute = new BlockConveyorChute().setBlockName("conveyor_chute").setHardness(2.0F).setResistance(2.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":conveyor"); - conveyor_lift = new BlockConveyorLift().setBlockName("conveyor_lift").setHardness(2.0F).setResistance(2.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":conveyor"); - crane_extractor = new CraneExtractor().setBlockName("crane_extractor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - crane_inserter = new CraneInserter().setBlockName("crane_inserter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - crane_grabber = new CraneGrabber().setBlockName("crane_grabber").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - crane_router = new CraneRouter().setBlockName("crane_router").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - crane_boxer = new CraneBoxer().setBlockName("crane_boxer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - crane_unboxer = new CraneUnboxer().setBlockName("crane_unboxer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - crane_splitter = new CraneSplitter().setBlockName("crane_splitter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":crane_side"); - crane_partitioner = new CranePartitioner().setBlockName("crane_partitioner").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":crane_partitioner_side"); - fan = new MachineFan().setBlockName("fan").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - piston_inserter = new PistonInserter().setBlockName("piston_inserter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - - drone_waypoint = new DroneWaypoint().setBlockName("drone_waypoint").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":drone_waypoint"); - drone_crate = new DroneCrate().setBlockName("drone_crate").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - drone_waypoint_request = new DroneWaypointRequest().setBlockName("drone_waypoint_request").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":drone_waypoint_request"); - drone_dock = new DroneDock().setBlockName("drone_dock").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":drone_dock"); - drone_crate_provider = new DroneDock().setBlockName("drone_crate_provider").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":drone_crate_provider"); - drone_crate_requester = new DroneDock().setBlockName("drone_crate_requester").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":drone_crate_requester"); - - chain = new BlockChain(Material.iron).setBlockName("dungeon_chain").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":chain"); - - ladder_sturdy = new BlockNTMLadder().setBlockName("ladder_sturdy").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_sturdy"); - ladder_iron = new BlockNTMLadder().setBlockName("ladder_iron").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_iron"); - ladder_gold = new BlockNTMLadder().setBlockName("ladder_gold").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_gold"); - ladder_aluminium = new BlockNTMLadder().setBlockName("ladder_aluminium").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_aluminium"); - ladder_copper = new BlockNTMLadder().setBlockName("ladder_copper").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_copper"); - ladder_titanium = new BlockNTMLadder().setBlockName("ladder_titanium").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_titanium"); - ladder_lead = new BlockNTMLadder().setBlockName("ladder_lead").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_lead"); - ladder_cobalt = new BlockNTMLadder().setBlockName("ladder_cobalt").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_cobalt"); - ladder_steel = new BlockNTMLadder().setBlockName("ladder_steel").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_steel"); - ladder_tungsten = new BlockNTMLadder().setBlockName("ladder_tungsten").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_tungsten"); - - barrel_plastic = new BlockFluidBarrel(Material.iron, 12000).setBlockName("barrel_plastic").setStepSound(Block.soundTypeStone).setHardness(2.0F).setResistance(5.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":barrel_plastic"); - barrel_corroded = new BlockFluidBarrel(Material.iron, 6000).setBlockName("barrel_corroded").setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(5.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":barrel_corroded"); - barrel_iron = new BlockFluidBarrel(Material.iron, 8000).setBlockName("barrel_iron").setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(5.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":barrel_iron"); - barrel_steel = new BlockFluidBarrel(Material.iron, 16000).setBlockName("barrel_steel").setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(5.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":barrel_steel"); - barrel_tcalloy = new BlockFluidBarrel(Material.iron, 24000).setBlockName("barrel_tcalloy").setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(5.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":barrel_tcalloy"); - barrel_antimatter = new BlockFluidBarrel(Material.iron, 16000).setBlockName("barrel_antimatter").setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(5.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":barrel_antimatter"); - - machine_transformer = new MachineTransformer(Material.iron, 10000L, 1).setBlockName("machine_transformer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_transformer_iron"); - machine_transformer_dnt = new MachineTransformer(Material.iron, 1000000000000000L, 1).setBlockName("machine_transformer_dnt").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_transformer"); - machine_transformer_20 = new MachineTransformer(Material.iron, 10000L, 20).setBlockName("machine_transformer_20").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_transformer_iron"); - machine_transformer_dnt_20 = new MachineTransformer(Material.iron, 1000000000000000L, 20).setBlockName("machine_transformer_dnt_20").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_transformer"); - - machine_satlinker = new MachineSatLinker(Material.iron).setBlockName("machine_satlinker").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":machine_satlinker_side"); - machine_keyforge = new MachineKeyForge(Material.iron).setBlockName("machine_keyforge").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":machine_keyforge_side"); - machine_armor_table = new BlockArmorTable(Material.iron).setBlockName("machine_armor_table").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab); - - machine_solar_boiler = new MachineSolarBoiler(Material.iron).setBlockName("machine_solar_boiler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_solar_boiler"); - solar_mirror = new SolarMirror(Material.iron).setBlockName("solar_mirror").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":solar_mirror"); - - struct_launcher = new BlockGeneric(Material.iron).setBlockName("struct_launcher").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_launcher"); - struct_scaffold = new BlockGeneric(Material.iron).setBlockName("struct_scaffold").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_scaffold"); - struct_launcher_core = new BlockStruct(Material.iron).setBlockName("struct_launcher_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_launcher_core"); - struct_launcher_core_large = new BlockStruct(Material.iron).setBlockName("struct_launcher_core_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_launcher_core_large"); - struct_soyuz_core = new BlockSoyuzStruct(Material.iron).setBlockName("struct_soyuz_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_soyuz_core"); - struct_iter_core = new BlockITERStruct(Material.iron).setBlockName("struct_iter_core").setLightLevel(1F).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":struct_iter_core"); - struct_plasma_core = new BlockPlasmaStruct(Material.iron).setBlockName("struct_plasma_core").setLightLevel(1F).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":struct_plasma_core"); - struct_watz_core = new BlockWatzStruct(Material.iron).setBlockName("struct_watz_core").setLightLevel(1F).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":struct_watz_core"); - struct_icf_core = new BlockICFStruct(Material.iron).setBlockName("struct_icf_core").setLightLevel(1F).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":struct_icf_core"); - - factory_titanium_hull = new BlockGeneric(Material.iron).setBlockName("factory_titanium_hull").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_hull"); - factory_titanium_furnace = new FactoryHatch(Material.iron).setBlockName("factory_titanium_furnace").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_furnace"); - factory_titanium_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":factory_titanium_conductor").setBlockName("factory_titanium_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_hull"); - factory_advanced_hull = new BlockGeneric(Material.iron).setBlockName("factory_advanced_hull").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_advanced_hull"); - factory_advanced_furnace = new FactoryHatch(Material.iron).setBlockName("factory_advanced_furnace").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_advanced_furnace"); - factory_advanced_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":factory_advanced_conductor").setBlockName("factory_advanced_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_advanced_hull"); - - cm_block = new BlockCM(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_block").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_block"); - cm_sheet = new BlockCM(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_sheet").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_sheet"); - cm_engine = new BlockCM(Material.iron, EnumCMEngines.class, true, true).setBlockName("cm_engine").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_engine"); - cm_tank = new BlockCMGlass(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_tank").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_tank"); - cm_circuit = new BlockCM(Material.iron, EnumCMCircuit.class, true, true).setBlockName("cm_circuit").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_circuit"); - cm_port = new BlockCMPort(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_port").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_port"); - cm_flux = new BlockCMFlux(Material.iron, RefStrings.MODID + ":cm_flux_top").setBlockName("cm_flux").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_flux_side"); - cm_heat = new BlockCMHeat(Material.iron, RefStrings.MODID +":cm_heat_top").setBlockName("cm_heat").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_heat_side"); - custom_machine = new BlockCustomMachine().setBlockName("custom_machine").setCreativeTab(MainRegistry.machineTab).setLightLevel(1F).setHardness(5.0F).setResistance(10.0F); - cm_anchor = new BlockCMAnchor().setBlockName("custom_machine_anchor").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F); - - pwr_fuel = new BlockPillarPWR(Material.iron, RefStrings.MODID + ":pwr_fuel_top").setBlockName("pwr_fuel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_fuel_side"); - pwr_control = new BlockPillarPWR(Material.iron, RefStrings.MODID + ":pwr_control_top").setBlockName("pwr_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_control_side"); - pwr_channel = new BlockPillarPWR(Material.iron, RefStrings.MODID + ":pwr_channel_top").setBlockName("pwr_channel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_channel_side"); - pwr_heatex = new BlockGenericPWR(Material.iron).setBlockName("pwr_heatex").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_heatex"); - pwr_heatsink = new BlockGenericPWR(Material.iron).setBlockName("pwr_heatsink").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_heatsink"); - pwr_neutron_source = new BlockGenericPWR(Material.iron).setBlockName("pwr_neutron_source").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_neutron_source"); - pwr_reflector = new BlockGenericPWR(Material.iron).setBlockName("pwr_reflector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_reflector"); - pwr_casing = new BlockGenericPWR(Material.iron).setBlockName("pwr_casing").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_casing"); - pwr_port = new BlockGenericPWR(Material.iron).setBlockName("pwr_port").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_port"); - pwr_controller = new MachinePWRController(Material.iron).setBlockName("pwr_controller").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_casing_blank"); - pwr_block = new BlockPWR(Material.iron).setBlockName("pwr_block").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pwr_block"); - - fusion_conductor = new BlockToolConversionPillar(Material.iron).addVariant("_welded").setBlockName("fusion_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_conductor"); - fusion_center = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_center_top_alt").setBlockName("fusion_center").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_center_side_alt"); - fusion_motor = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_motor_top_alt").setBlockName("fusion_motor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_motor_side_alt"); - fusion_heater = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_heater_top").setBlockName("fusion_heater").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_heater_side"); - fusion_hatch = new FusionHatch(Material.iron).setBlockName("fusion_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_hatch"); - plasma = new BlockPlasma(Material.iron).setBlockName("plasma").setHardness(5.0F).setResistance(6000.0F).setLightLevel(1.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":plasma"); - iter = new MachineITER().setBlockName("iter").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":iter"); - plasma_heater = new MachinePlasmaHeater().setBlockName("plasma_heater").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":plasma_heater"); - - machine_icf_press = new MachineICFPress().setBlockName("machine_icf_press").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - icf = new MachineICF().setBlockName("icf").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - icf_component = new BlockICFComponent().setBlockName("icf_component").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":icf_component"); - icf_controller = new MachineICFController().setBlockName("icf_controller").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":icf_casing"); - icf_laser_component = new BlockICFLaserComponent().setBlockName("icf_laser_component").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab); - icf_block = new BlockICF(Material.iron).setBlockName("icf_block").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":icf_block"); - - watz_element = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_element_top").setBlockName("watz_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_element_side"); - watz_cooler = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_cooler_top").setBlockName("watz_cooler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_cooler_side"); - watz_end = new BlockToolConversion(Material.iron).addVariant("_bolted").setBlockName("watz_end").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_casing"); - watz_conductor = new BlockCableConnect(Material.iron).setBlockName("watz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":watz_conductor_top"); - watz = new Watz().setBlockName("watz").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - watz_pump = new WatzPump().setBlockName("watz_pump").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - - balefire = new Balefire().setBlockName("balefire").setHardness(0.0F).setLightLevel(1.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":balefire"); - fire_digamma = new DigammaFlame().setBlockName("fire_digamma").setHardness(0.0F).setResistance(150F).setLightLevel(1.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":fire_digamma"); - digamma_matter = new DigammaMatter().setBlockName("digamma_matter").setBlockUnbreakable().setResistance(18000000).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":digamma_matter"); - - machine_converter_he_rf = new BlockConverterHeRf(Material.iron).setBlockName("machine_converter_he_rf").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_converter_he_rf"); - machine_converter_rf_he = new BlockConverterRfHe(Material.iron).setBlockName("machine_converter_rf_he").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_converter_rf_he"); - - dfc_emitter = new CoreComponent(Material.iron).setBlockName("dfc_emitter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":dfc_emitter"); - dfc_injector = new CoreComponent(Material.iron).setBlockName("dfc_injector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":dfc_injector"); - dfc_receiver = new CoreComponent(Material.iron).setBlockName("dfc_receiver").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":dfc_receiver"); - dfc_stabilizer = new CoreComponent(Material.iron).setBlockName("dfc_stabilizer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":dfc_stabilizer"); - dfc_core = new CoreCore(Material.iron).setBlockName("dfc_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":dfc_core"); - - seal_frame = new BlockGeneric(Material.iron).setBlockName("seal_frame").setHardness(10.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":seal_frame"); - seal_controller = new BlockSeal(Material.iron).setBlockName("seal_controller").setHardness(10.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab); - seal_hatch = new BlockHatch(Material.iron).setBlockName("seal_hatch").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":seal_hatch_3"); - - vault_door = new VaultDoor(Material.iron).setBlockName("vault_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vault_door"); - blast_door = new BlastDoor(Material.iron).setBlockName("blast_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":blast_door"); - - sliding_blast_door = new BlockDoorGeneric(Material.iron, DoorDecl.SLIDE_DOOR).setBlockName("sliding_blast_door").setHardness(10.0F).setResistance(750.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":sliding_blast_door"); - fire_door = new BlockDoorGeneric(Material.iron, DoorDecl.FIRE_DOOR).setBlockName("fire_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fire_door"); - transition_seal = new BlockDoorGeneric(Material.iron, DoorDecl.TRANSITION_SEAL).setBlockName("transition_seal").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":transition_seal"); - silo_hatch = new BlockDoorGeneric(Material.iron, DoorDecl.SILO_HATCH).setBlockName("silo_hatch").setHardness(10.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - silo_hatch_large = new BlockDoorGeneric(Material.iron, DoorDecl.SILO_HATCH_LARGE).setBlockName("silo_hatch_large").setHardness(10.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - secure_access_door = new BlockDoorGeneric(Material.iron, DoorDecl.SECURE_ACCESS_DOOR).setBlockName("secure_access_door").setHardness(20.0F).setResistance(2_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - large_vehicle_door = new BlockDoorGeneric(Material.iron, DoorDecl.LARGE_VEHICLE_DOOR).setBlockName("large_vehicle_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - qe_containment = new BlockDoorGeneric(Material.iron, DoorDecl.QE_CONTAINMENT).setBlockName("qe_containment").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - qe_sliding_door = new BlockDoorGeneric(Material.iron, DoorDecl.QE_SLIDING).setBlockName("qe_sliding_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - round_airlock_door = new BlockDoorGeneric(Material.iron, DoorDecl.ROUND_AIRLOCK_DOOR).setBlockName("round_airlock_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - sliding_seal_door = new BlockDoorGeneric(Material.iron, DoorDecl.SLIDING_SEAL_DOOR).setBlockName("sliding_seal_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - water_door = new BlockDoorGeneric(Material.iron, DoorDecl.WATER_DOOR).setBlockName("water_door").setHardness(5.0F).setResistance(50.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - - door_metal = new BlockModDoor(Material.iron).setBlockName("door_metal").setHardness(5.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":door_metal"); - door_office = new BlockModDoor(Material.iron).setBlockName("door_office").setHardness(10.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":door_office"); - door_bunker = new BlockModDoor(Material.iron).setBlockName("door_bunker").setHardness(10.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":door_bunker"); - door_red = new BlockModDoor(Material.iron).setBlockName("door_red").setHardness(10.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":door_red"); - - barbed_wire = new BarbedWire(Material.iron).setBlockName("barbed_wire").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_model"); - barbed_wire_fire = new BarbedWire(Material.iron).setBlockName("barbed_wire_fire").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_fire_model"); - barbed_wire_poison = new BarbedWire(Material.iron).setBlockName("barbed_wire_poison").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_poison_model"); - barbed_wire_acid = new BarbedWire(Material.iron).setBlockName("barbed_wire_acid").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_acid_model"); - barbed_wire_wither = new BarbedWire(Material.iron).setBlockName("barbed_wire_wither").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_wither_model"); - barbed_wire_ultradeath = new BarbedWire(Material.iron).setBlockName("barbed_wire_ultradeath").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_ultradeath_model"); - spikes = new Spikes(Material.iron).setBlockName("spikes").setHardness(2.5F).setResistance(5.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":spikes"); - - charger = new Charger(Material.iron).setBlockName("charger").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - - tesla = new MachineTesla(Material.iron).setBlockName("tesla").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":tesla"); - - launch_pad = new LaunchPad(Material.iron).setBlockName("launch_pad").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":launch_pad"); - launch_pad_rusted = new LaunchPadRusted(Material.iron).setBlockName("launch_pad_rusted").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":block_rust"); - launch_pad_large = new LaunchPadLarge(Material.iron).setBlockName("launch_pad_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_radar = new MachineRadar(Material.iron).setBlockName("machine_radar").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":machine_radar"); - machine_radar_large = new MachineRadarLarge(Material.iron).setBlockName("machine_radar_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - radar_screen = new MachineRadarScreen(Material.iron).setBlockName("radar_screen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - - machine_missile_assembly = new MachineMissileAssembly(Material.iron).setBlockName("machine_missile_assembly").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":machine_missile_assembly"); - compact_launcher = new CompactLauncher(Material.iron).setBlockName("compact_launcher").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":compact_launcher"); - launch_table = new LaunchTable(Material.iron).setBlockName("launch_table").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":launch_table"); - soyuz_launcher = new SoyuzLauncher(Material.iron).setBlockName("soyuz_launcher").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":soyuz_launcher"); - - sat_mapper = new DecoBlock(Material.iron).setBlockName("sat_mapper").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":sat_mapper"); - sat_radar = new DecoBlock(Material.iron).setBlockName("sat_radar").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":sat_radar"); - sat_scanner = new DecoBlock(Material.iron).setBlockName("sat_scanner").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":sat_scanner"); - sat_laser = new DecoBlock(Material.iron).setBlockName("sat_laser").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":sat_laser"); - sat_foeq = new DecoBlock(Material.iron).setBlockName("sat_foeq").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":sat_foeq"); - sat_resonator = new DecoBlock(Material.iron).setBlockName("sat_resonator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":sat_resonator"); - - sat_dock = new MachineSatDock(Material.iron).setBlockName("sat_dock").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":sat_dock"); - soyuz_capsule = new SoyuzCapsule(Material.iron).setBlockName("soyuz_capsule").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":soyuz_capsule"); - - turret_chekhov = new TurretChekhov(Material.iron).setBlockName("turret_chekhov").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - turret_friendly = new TurretFriendly(Material.iron).setBlockName("turret_friendly").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - turret_jeremy = new TurretJeremy(Material.iron).setBlockName("turret_jeremy").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - turret_tauon = new TurretTauon(Material.iron).setBlockName("turret_tauon").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - turret_richard = new TurretRichard(Material.iron).setBlockName("turret_richard").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - turret_howard = new TurretHoward(Material.iron).setBlockName("turret_howard").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - turret_howard_damaged = new TurretHowardDamaged(Material.iron).setBlockName("turret_howard_damaged").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_rust"); - turret_maxwell = new TurretMaxwell(Material.iron).setBlockName("turret_maxwell").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - turret_fritz = new TurretFritz(Material.iron).setBlockName("turret_fritz").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - //turret_brandon = new TurretBrandon(Material.iron).setBlockName("turret_brandon").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - turret_arty = new TurretArty(Material.iron).setBlockName("turret_arty").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - turret_himars = new TurretHIMARS(Material.iron).setBlockName("turret_himars").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - turret_sentry = new TurretSentry().setBlockName("turret_sentry").setHardness(5.0F).setResistance(5.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - turret_sentry_damaged = new TurretSentryDamaged().setBlockName("turret_sentry_damaged").setHardness(5.0F).setResistance(5.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_rust"); - - rbmk_rod = new RBMKRod(false).setBlockName("rbmk_rod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element"); - rbmk_rod_mod = new RBMKRod(true).setBlockName("rbmk_rod_mod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element_mod"); - rbmk_rod_reasim = new RBMKRodReaSim(false).setBlockName("rbmk_rod_reasim").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element_reasim"); - rbmk_rod_reasim_mod = new RBMKRodReaSim(true).setBlockName("rbmk_rod_reasim_mod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element_reasim_mod"); - rbmk_control = new RBMKControl(false).setBlockName("rbmk_control").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_control"); - rbmk_control_mod = new RBMKControl(true).setBlockName("rbmk_control_mod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_control_mod"); - rbmk_control_auto = new RBMKControlAuto().setBlockName("rbmk_control_auto").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_control_auto"); - rbmk_blank = new RBMKBlank().setBlockName("rbmk_blank").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_blank"); - rbmk_boiler = new RBMKBoiler().setBlockName("rbmk_boiler").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_boiler"); - rbmk_reflector = new RBMKReflector().setBlockName("rbmk_reflector").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_reflector"); - rbmk_absorber = new RBMKAbsorber().setBlockName("rbmk_absorber").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_absorber"); - rbmk_moderator = new RBMKModerator().setBlockName("rbmk_moderator").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_moderator"); - rbmk_outgasser = new RBMKOutgasser().setBlockName("rbmk_outgasser").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_outgasser"); - rbmk_storage = new RBMKStorage().setBlockName("rbmk_storage").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_storage"); - rbmk_cooler = new RBMKCooler().setBlockName("rbmk_cooler").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_cooler"); - rbmk_heater = new RBMKHeater().setBlockName("rbmk_heater").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_heater"); - rbmk_console = new RBMKConsole().setBlockName("rbmk_console").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_console"); - rbmk_crane_console = new RBMKCraneConsole().setBlockName("rbmk_crane_console").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_crane_console"); - rbmk_loader = new RBMKLoader(Material.iron).setBlockName("rbmk_loader").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_loader"); - rbmk_steam_inlet = new RBMKInlet(Material.iron).setBlockName("rbmk_steam_inlet").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_steam_inlet"); - rbmk_steam_outlet = new RBMKOutlet(Material.iron).setBlockName("rbmk_steam_outlet").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_steam_outlet"); - pribris = new RBMKDebris().setBlockName("pribris").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_debris"); - pribris_burning = new RBMKDebrisBurning().setBlockName("pribris_burning").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_debris_burning"); - pribris_radiating = new RBMKDebrisRadiating().setBlockName("pribris_radiating").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_debris_radiating"); - pribris_digamma = new RBMKDebrisDigamma().setBlockName("pribris_digamma").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_debris_digamma"); - - book_guide = new Guide(Material.iron).setBlockName("book_guide").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.nukeTab); - - rail_wood = new RailGeneric().setMaxSpeed(0.2F).setBlockName("rail_wood").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_wood"); - rail_narrow = new RailGeneric().setBlockName("rail_narrow").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_narrow"); - rail_highspeed = new RailGeneric().setMaxSpeed(1F).setFlexible(false).setBlockName("rail_highspeed").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_highspeed"); - rail_booster = new RailBooster().setBlockName("rail_booster").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_booster"); - rail_narrow_straight = new RailNarrowStraight().setBlockName("rail_narrow_straight").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_narrow_neo"); - rail_narrow_curve = new RailNarrowCurve().setBlockName("rail_narrow_curve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_narrow_neo"); - rail_large_straight = new RailStandardStraight().setBlockName("rail_large_straight").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); - rail_large_straight_short = new RailStandardStraightShort().setBlockName("rail_large_straight_short").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); - rail_large_curve = new RailStandardCurveBase().setBlockName("rail_large_curve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); - rail_large_curve_7 = new RailStandardCurveWide7().setBlockName("rail_large_curve_7").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); - rail_large_curve_9 = new RailStandardCurveWide9().setBlockName("rail_large_curve_9").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); - rail_large_ramp = new RailStandardRamp().setBlockName("rail_large_ramp").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); - rail_large_buffer = new RailStandardBuffer().setBlockName("rail_large_buffer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_standard_buffer"); - rail_large_switch = new RailStandardSwitch().setBlockName("rail_large_switch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); - rail_large_switch_flipped = new RailStandardSwitchFlipped().setBlockName("rail_large_switch_flipped").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); - - crate = new BlockCrate(Material.wood).setBlockName("crate").setStepSound(Block.soundTypeWood).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate"); - crate_weapon = new BlockCrate(Material.wood).setBlockName("crate_weapon").setStepSound(Block.soundTypeWood).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_weapon"); - crate_lead = new BlockCrate(Material.iron).setBlockName("crate_lead").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_lead"); - crate_metal = new BlockCrate(Material.iron).setBlockName("crate_metal").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_metal"); - crate_red = new BlockCrate(Material.iron).setBlockName("crate_red").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":crate_red"); - crate_can = new BlockCanCrate(Material.wood).setBlockName("crate_can").setStepSound(Block.soundTypeWood).setHardness(1.0F).setResistance(2.5F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_can"); - crate_ammo = new BlockAmmoCrate(Material.iron).setBlockName("crate_ammo").setStepSound(Block.soundTypeMetal).setHardness(1.0F).setResistance(2.5F).setCreativeTab(MainRegistry.consumableTab); - crate_jungle = new BlockJungleCrate(Material.rock).setBlockName("crate_jungle").setStepSound(Block.soundTypeStone).setHardness(1.0F).setResistance(2.5F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_jungle"); - crate_iron = new BlockStorageCrate(Material.iron).setBlockName("crate_iron").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - crate_steel = new BlockStorageCrate(Material.iron).setBlockName("crate_steel").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - crate_desh = new BlockStorageCrate(Material.iron).setBlockName("crate_desh").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - crate_tungsten = new BlockStorageCrate(Material.iron).setBlockName("crate_tungsten").setStepSound(Block.soundTypeMetal).setHardness(7.5F).setResistance(300.0F).setCreativeTab(MainRegistry.machineTab); - crate_template = new BlockStorageCrate(Material.iron).setBlockName("crate_template").setStepSound(Block.soundTypeMetal).setHardness(7.5F).setResistance(300.0F).setCreativeTab(MainRegistry.machineTab); - safe = new BlockStorageCrate(Material.iron).setBlockName("safe").setStepSound(Block.soundTypeMetal).setHardness(7.5F).setResistance(10000.0F).setCreativeTab(MainRegistry.machineTab); - mass_storage = new BlockMassStorage().setBlockName("mass_storage").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - - boxcar = new DecoBlock(Material.iron).setBlockName("boxcar").setStepSound(Block.soundTypeMetal).setHardness(10.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":boxcar"); - boat = new DecoBlock(Material.iron).setBlockName("boat").setStepSound(Block.soundTypeMetal).setHardness(10.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":boat"); - - machine_well = new MachineOilWell().setBlockName("machine_well").setHardness(5.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_well"); - machine_pumpjack = new MachinePumpjack().setBlockName("machine_pumpjack").setHardness(5.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_pumpjack"); - machine_fracking_tower = new MachineFrackingTower().setBlockName("machine_fracking_tower").setHardness(5.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - oil_pipe = new BlockNoDrop(Material.iron).setBlockName("oil_pipe").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":oil_pipe"); - machine_flare = new MachineGasFlare(Material.iron).setBlockName("machine_flare").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - chimney_brick = new MachineChimneyBrick(Material.iron).setBlockName("chimney_brick").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); - chimney_industrial = new MachineChimneyIndustrial(Material.iron).setBlockName("chimney_industrial").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":concrete_colored_ext.machine"); - machine_refinery = new MachineRefinery(Material.iron).setBlockName("machine_refinery").setHardness(5.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_refinery"); - machine_vacuum_distill = new MachineVacuumDistill(Material.iron).setBlockName("machine_vacuum_distill").setHardness(5.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_fraction_tower = new MachineFractionTower(Material.iron).setBlockName("machine_fraction_tower").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - fraction_spacer = new FractionSpacer(Material.iron).setBlockName("fraction_spacer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_catalytic_cracker = new MachineCatalyticCracker(Material.iron).setBlockName("machine_catalytic_cracker").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_catalytic_reformer = new MachineCatalyticReformer(Material.iron).setBlockName("machine_catalytic_reformer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_hydrotreater = new MachineHydrotreater(Material.iron).setBlockName("machine_hydrotreater").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_coker = new MachineCoker(Material.iron).setBlockName("machine_coker").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_autosaw = new MachineAutosaw().setBlockName("machine_autosaw").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_excavator = new MachineExcavator().setBlockName("machine_excavator").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_ore_slopper = new MachineOreSlopper().setBlockName("machine_ore_slopper").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_mining_laser = new MachineMiningLaser(Material.iron).setBlockName("machine_mining_laser").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_mining_laser"); - barricade = new BlockNoDrop(Material.sand).setBlockName("barricade").setHardness(1.0F).setResistance(2.5F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":barricade"); - machine_assembler = new MachineAssembler(Material.iron).setBlockName("machine_assembler").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_assembler"); - machine_assemfac = new MachineAssemfac(Material.iron).setBlockName("machine_assemfac").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_arc_welder = new MachineArcWelder(Material.iron).setBlockName("machine_arc_welder").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_soldering_station = new MachineSolderingStation(Material.iron).setBlockName("machine_soldering_station").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_chemplant = new MachineChemplant(Material.iron).setBlockName("machine_chemplant").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_chemfac = new MachineChemfac(Material.iron).setBlockName("machine_chemfac").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_mixer = new MachineMixer(Material.iron).setBlockName("machine_mixer").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_fluidtank = new MachineFluidTank(Material.iron).setBlockName("machine_fluidtank").setHardness(5.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_fluidtank"); - machine_bat9000 = new MachineBigAssTank9000(Material.iron).setBlockName("machine_bat9000").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_orbus = new MachineOrbus(Material.iron).setBlockName("machine_orbus").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_turbofan = new MachineTurbofan(Material.iron).setBlockName("machine_turbofan").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_turbofan"); - machine_turbinegas = new MachineTurbineGas(Material.iron).setBlockName("machine_turbinegas").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_lpw2 = new MachineLPW2().setBlockName("machine_lpw2").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - press_preheater = new BlockBase(Material.iron).setBlockName("press_preheater").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":press_preheater"); - machine_press = new MachinePress(Material.iron).setBlockName("machine_press").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_press"); - machine_epress = new MachineEPress(Material.iron).setBlockName("machine_epress").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_epress"); - machine_conveyor_press = new MachineConveyorPress(Material.iron).setBlockName("machine_conveyor_press").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - reactor_research = new ReactorResearch(Material.iron).setBlockName("machine_reactor_small").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_reactor_small"); - reactor_zirnox = new ReactorZirnox(Material.iron).setBlockName("machine_zirnox").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - zirnox_destroyed = new ZirnoxDestroyed(Material.iron).setBlockName("zirnox_destroyed").setHardness(100.0F).setResistance(800.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_controller = new MachineReactorControl(Material.iron).setBlockName("machine_controller").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null); - - machine_boiler_off = new MachineBoiler(false).setBlockName("machine_boiler_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":machine_boiler_off"); - - machine_steam_engine = new MachineSteamEngine().setBlockName("machine_steam_engine").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_turbine = new MachineTurbine(Material.iron).setBlockName("machine_turbine").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_turbine"); - machine_large_turbine = new MachineLargeTurbine(Material.iron).setBlockName("machine_large_turbine").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_large_turbine"); - machine_chungus = new MachineChungus(Material.iron).setBlockName("machine_chungus").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_chungus"); - machine_condenser = new MachineCondenser(Material.iron).setBlockName("machine_condenser").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":condenser"); - machine_tower_small = new MachineTowerSmall(Material.iron).setBlockName("machine_tower_small").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); - machine_tower_large = new MachineTowerLarge(Material.iron).setBlockName("machine_tower_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":concrete"); - machine_condenser_powered = new MachineCondenserPowered(Material.iron).setBlockName("machine_condenser_powered").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel_machine"); - - machine_deuterium_extractor = new MachineDeuteriumExtractor(Material.iron).setBlockName("machine_deuterium_extractor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_deuterium_extractor_side"); - machine_deuterium_tower = new DeuteriumTower(Material.iron).setBlockName("machine_deuterium_tower").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":concrete"); - - machine_liquefactor = new MachineLiquefactor().setBlockName("machine_liquefactor").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel_machine"); - machine_solidifier = new MachineSolidifier().setBlockName("machine_solidifier").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel_machine"); - machine_compressor = new MachineCompressor().setBlockName("machine_compressor").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel_machine"); - - machine_electrolyser = new MachineElectrolyser().setBlockName("machine_electrolyser").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel_machine"); - - machine_autocrafter = new MachineAutocrafter().setBlockName("machine_autocrafter").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab); - machine_funnel = new MachineFunnel().setBlockName("machine_funnel").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab); - - anvil_iron = new NTMAnvil(Material.iron, NTMAnvil.TIER_IRON).setBlockName("anvil_iron").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_iron"); - anvil_lead = new NTMAnvil(Material.iron, NTMAnvil.TIER_IRON).setBlockName("anvil_lead").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_lead"); - anvil_steel = new NTMAnvil(Material.iron, NTMAnvil.TIER_STEEL).setBlockName("anvil_steel").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_steel"); - anvil_desh = new NTMAnvil(Material.iron, NTMAnvil.TIER_OIL).setBlockName("anvil_desh").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_desh"); - anvil_saturnite = new NTMAnvil(Material.iron, NTMAnvil.TIER_OIL).setBlockName("anvil_saturnite").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_saturnite"); - anvil_ferrouranium = new NTMAnvil(Material.iron, NTMAnvil.TIER_NUCLEAR).setBlockName("anvil_ferrouranium").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_ferrouranium"); - anvil_bismuth_bronze = new NTMAnvil(Material.iron, NTMAnvil.TIER_RBMK).setBlockName("anvil_bismuth_bronze").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_bismuth_bronze"); - anvil_arsenic_bronze = new NTMAnvil(Material.iron, NTMAnvil.TIER_RBMK).setBlockName("anvil_arsenic_bronze").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_arsenic_bronze"); - anvil_schrabidate = new NTMAnvil(Material.iron, NTMAnvil.TIER_FUSION).setBlockName("anvil_schrabidate").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_schrabidate"); - anvil_dnt = new NTMAnvil(Material.iron, NTMAnvil.TIER_PARTICLE).setBlockName("anvil_dnt").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_dnt"); - anvil_osmiridium = new NTMAnvil(Material.iron, NTMAnvil.TIER_GERALD).setBlockName("anvil_osmiridium").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_osmiridium"); - anvil_murky = new NTMAnvil(Material.iron, 1916169).setBlockName("anvil_murky").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_steel"); - - machine_waste_drum = new WasteDrum(Material.iron).setBlockName("machine_waste_drum").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":waste_drum"); - machine_storage_drum = new StorageDrum(Material.iron).setBlockName("machine_storage_drum").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_storage_drum"); - - machine_schrabidium_transmutator = new MachineSchrabidiumTransmutator(Material.iron).setBlockName("machine_schrabidium_transmutator").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab); - - machine_siren = new MachineSiren(Material.iron).setBlockName("machine_siren").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_siren"); - - machine_spp_bottom = new SPPBottom(Material.iron).setBlockName("machine_spp_bottom").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_spp_top = new SPPTop(Material.iron).setBlockName("machine_spp_top").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - - radiobox = new Radiobox(Material.iron).setBlockName("radiobox").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":radiobox"); - radiorec = new RadioRec(Material.iron).setBlockName("radiorec").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":radiorec"); - - machine_forcefield = new MachineForceField(Material.iron).setBlockName("machine_forcefield").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":machine_forcefield"); - - cheater_virus = new CheaterVirus(Material.iron).setBlockName("cheater_virus").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":cheater_virus"); - cheater_virus_seed = new CheaterVirusSeed(Material.iron).setBlockName("cheater_virus_seed").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":cheater_virus_seed"); - crystal_virus = new CrystalVirus(Material.iron).setBlockName("crystal_virus").setHardness(15.0F).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":crystal_virus"); - crystal_hardened = new BlockGeneric(Material.iron).setBlockName("crystal_hardened").setHardness(15.0F).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":crystal_hardened"); - crystal_pulsar = new CrystalPulsar(Material.iron).setBlockName("crystal_pulsar").setHardness(15.0F).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":crystal_pulsar"); - taint = new BlockTaint(Material.iron).setBlockName("taint").setHardness(15.0F).setResistance(10.0F).setCreativeTab(null); - - vent_chlorine = new BlockVent(Material.iron).setBlockName("vent_chlorine").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vent_chlorine"); - vent_cloud = new BlockVent(Material.iron).setBlockName("vent_cloud").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vent_cloud"); - vent_pink_cloud = new BlockVent(Material.iron).setBlockName("vent_pink_cloud").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vent_pink_cloud"); - vent_chlorine_seal = new BlockClorineSeal(Material.iron).setBlockName("vent_chlorine_seal").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - chlorine_gas = new BlockGasClorine().setBlockName("chlorine_gas").setHardness(0.0F).setResistance(0.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":chlorine_gas"); - - gas_radon = new BlockGasRadon().setBlockName("gas_radon").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_radon"); - gas_radon_dense = new BlockGasRadonDense().setBlockName("gas_radon_dense").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_radon_dense"); - gas_radon_tomb = new BlockGasRadonTomb().setBlockName("gas_radon_tomb").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_radon_tomb"); - gas_meltdown = new BlockGasMeltdown().setBlockName("gas_meltdown").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_meltdown"); - gas_monoxide = new BlockGasMonoxide().setBlockName("gas_monoxide").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_monoxide"); - gas_asbestos = new BlockGasAsbestos().setBlockName("gas_asbestos").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_asbestos"); - gas_coal = new BlockGasCoal().setBlockName("gas_coal").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_coal"); - gas_flammable = new BlockGasFlammable().setBlockName("gas_flammable").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_flammable"); - gas_explosive = new BlockGasExplosive().setBlockName("gas_explosive").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_explosive"); - vacuum = new BlockVacuum().setBlockName("vacuum").setResistance(1000000F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vacuum"); - - absorber = new BlockAbsorber(Material.iron, 2.5F).setBlockName("absorber").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":absorber"); - absorber_red = new BlockAbsorber(Material.iron, 10F).setBlockName("absorber_red").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":absorber_red"); - absorber_green = new BlockAbsorber(Material.iron, 100F).setBlockName("absorber_green").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":absorber_green"); - absorber_pink = new BlockAbsorber(Material.iron, 10000F).setBlockName("absorber_pink").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":absorber_pink"); - decon = new BlockDecon(Material.iron).setBlockName("decon").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":decon_side"); - transission_hatch = new BlockTransission(Material.iron).setBlockName("transission_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":transission_hatch"); - - volcano_core = new BlockVolcano().setBlockName("volcano_core").setBlockUnbreakable().setResistance(10000.0F).setCreativeTab(MainRegistry.nukeTab).setBlockTextureName(RefStrings.MODID + ":volcano_core"); - volcano_rad_core = new BlockVolcano().setBlockName("volcano_rad_core").setBlockUnbreakable().setResistance(10000.0F).setCreativeTab(MainRegistry.nukeTab).setBlockTextureName(RefStrings.MODID + ":volcano_rad_core"); - - statue_elb = new DecoBlockAlt(Material.iron).setBlockName("#null").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY); - statue_elb_g = new DecoBlockAlt(Material.iron).setBlockName("#void").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY); - statue_elb_w = new DecoBlockAlt(Material.iron).setBlockName("#ngtv").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY); - statue_elb_f = new DecoBlockAlt(Material.iron).setBlockName("#undef").setHardness(Float.POSITIVE_INFINITY).setLightLevel(1.0F).setResistance(Float.POSITIVE_INFINITY); - - mud_fluid = new MudFluid().setDensity(2500).setViscosity(3000).setLuminosity(5).setTemperature(2773).setUnlocalizedName("mud_fluid"); - FluidRegistry.registerFluid(mud_fluid); - mud_block = new MudBlock(mud_fluid, fluidmud.setReplaceable(), ModDamageSource.mudPoisoning).setBlockName("mud_block").setResistance(500F); - - acid_fluid = new AcidFluid().setDensity(2500).setViscosity(1500).setLuminosity(5).setTemperature(2773).setUnlocalizedName("acid_fluid"); - FluidRegistry.registerFluid(acid_fluid); - acid_block = new AcidBlock(acid_fluid, fluidacid.setReplaceable(), ModDamageSource.acid).setBlockName("acid_block").setResistance(500F); - - toxic_fluid = new ToxicFluid().setDensity(2500).setViscosity(2000).setLuminosity(15).setTemperature(2773).setUnlocalizedName("toxic_fluid"); - FluidRegistry.registerFluid(toxic_fluid); - toxic_block = new ToxicBlock(toxic_fluid, fluidtoxic.setReplaceable(), ModDamageSource.radiation).setBlockName("toxic_block").setResistance(500F); - - schrabidic_fluid = new SchrabidicFluid().setDensity(31200).setViscosity(500).setTemperature(273).setUnlocalizedName("schrabidic_fluid"); - FluidRegistry.registerFluid(schrabidic_fluid); - schrabidic_block = new SchrabidicBlock(schrabidic_fluid, fluidschrabidic.setReplaceable(), ModDamageSource.radiation).setBlockName("schrabidic_block").setResistance(500F); - - corium_fluid = new CoriumFluid().setDensity(600000).setViscosity(12000).setLuminosity(10).setTemperature(1500).setUnlocalizedName("corium_fluid"); - FluidRegistry.registerFluid(corium_fluid); - corium_block = new CoriumFinite(corium_fluid, fluidcorium).setBlockName("corium_block").setResistance(500F); - - volcanic_lava_fluid = new VolcanicFluid().setLuminosity(15).setDensity(3000).setViscosity(3000).setTemperature(1300).setUnlocalizedName("volcanic_lava_fluid"); - FluidRegistry.registerFluid(volcanic_lava_fluid); - volcanic_lava_block = new VolcanicBlock(volcanic_lava_fluid, Material.lava).setBlockName("volcanic_lava_block").setResistance(500F); - - rad_lava_fluid = new RadFluid().setLuminosity(15).setDensity(3000).setViscosity(3000).setTemperature(1300).setUnlocalizedName("rad_lava_fluid"); - FluidRegistry.registerFluid(rad_lava_fluid); - rad_lava_block = new RadBlock(rad_lava_fluid, Material.lava).setBlockName("rad_lava_block").setResistance(500F); - - sulfuric_acid_fluid = new GenericFluid("sulfuric_acid_fluid").setDensity(1840).setViscosity(1000).setTemperature(273); - FluidRegistry.registerFluid(sulfuric_acid_fluid); - sulfuric_acid_block = new GenericFluidBlock(sulfuric_acid_fluid, Material.water, "sulfuric_acid_still", "sulfuric_acid_flowing").setDamage(ModDamageSource.acid, 5F).setBlockName("sulfuric_acid_block").setResistance(500F); - - Fluid liquidConcrete = new GenericFluid("concrete_liquid").setViscosity(2000); - concrete_liquid = new GenericFiniteFluid(liquidConcrete, Material.rock, "concrete_liquid", "concrete_liquid_flowing").setQuantaPerBlock(4).setBlockName("concrete_liquid").setResistance(500F); - - dummy_block_vault = new DummyBlockVault(Material.iron).setBlockName("dummy_block_vault").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); - dummy_block_blast = new DummyBlockBlast(Material.iron).setBlockName("dummy_block_blast").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); - dummy_block_uf6 = new DummyBlockMachine(Material.iron, machine_uf6_tank, false).setBlockName("dummy_block_uf6").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_titanium"); - dummy_block_puf6 = new DummyBlockMachine(Material.iron, machine_puf6_tank, false).setBlockName("dummy_block_puf6").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); - dummy_plate_compact_launcher = new DummyBlockMachine(Material.iron, compact_launcher, false).setBounds(0, 16, 0, 16, 16, 16).setBlockName("dummy_plate_compact_launcher").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); - dummy_port_compact_launcher = new DummyBlockMachine(Material.iron, compact_launcher, true).setBlockName("dummy_port_compact_launcher").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); - dummy_plate_launch_table = new DummyBlockMachine(Material.iron, launch_table, false).setBounds(0, 16, 0, 16, 16, 16).setBlockName("dummy_plate_launch_table").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); - dummy_port_launch_table = new DummyBlockMachine(Material.iron, launch_table, true).setBlockName("dummy_port_launch_table").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); - dummy_plate_cargo = new DummyBlockMachine(Material.iron, sat_dock, false).setBounds(0, 0, 0, 16, 8, 16).setBlockName("dummy_plate_cargo").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); - - ntm_dirt = new BlockNTMDirt().setBlockName("ntm_dirt").setHardness(0.5F).setStepSound(Block.soundTypeGravel).setCreativeTab(null).setBlockTextureName("dirt"); - - pink_log = new BlockPinkLog().setBlockName("pink_log").setHardness(0.5F).setStepSound(Block.soundTypeWood).setCreativeTab(null); - pink_planks = new BlockGeneric(Material.wood).setBlockName("pink_planks").setStepSound(Block.soundTypeWood).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pink_planks"); - pink_slab = new BlockPinkSlab(false, Material.wood).setBlockName("pink_slab").setStepSound(Block.soundTypeWood).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pink_planks"); - pink_double_slab = new BlockPinkSlab(true, Material.wood).setBlockName("pink_double_slab").setStepSound(Block.soundTypeWood).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pink_planks"); - pink_stairs = new BlockGenericStairs(pink_planks, 0).setBlockName("pink_stairs").setStepSound(Block.soundTypeWood).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pink_planks"); - } - - private static void registerBlock() { - //Test - GameRegistry.registerBlock(event_tester, event_tester.getUnlocalizedName()); - GameRegistry.registerBlock(obj_tester, obj_tester.getUnlocalizedName()); - GameRegistry.registerBlock(test_core, test_core.getUnlocalizedName()); - GameRegistry.registerBlock(test_charge, test_charge.getUnlocalizedName()); - GameRegistry.registerBlock(structure_anchor, structure_anchor.getUnlocalizedName()); - - //Ores - GameRegistry.registerBlock(ore_uranium, ore_uranium.getUnlocalizedName()); - GameRegistry.registerBlock(ore_uranium_scorched, ore_uranium_scorched.getUnlocalizedName()); - GameRegistry.registerBlock(ore_thorium, ore_thorium.getUnlocalizedName()); - GameRegistry.registerBlock(ore_titanium, ore_titanium.getUnlocalizedName()); - GameRegistry.registerBlock(ore_sulfur, ore_sulfur.getUnlocalizedName()); - GameRegistry.registerBlock(ore_niter, ore_niter.getUnlocalizedName()); - GameRegistry.registerBlock(ore_copper, ore_copper.getUnlocalizedName()); - GameRegistry.registerBlock(ore_tungsten, ore_tungsten.getUnlocalizedName()); - GameRegistry.registerBlock(ore_aluminium, ore_aluminium.getUnlocalizedName()); - GameRegistry.registerBlock(ore_fluorite, ore_fluorite.getUnlocalizedName()); - GameRegistry.registerBlock(ore_beryllium, ore_beryllium.getUnlocalizedName()); - GameRegistry.registerBlock(ore_lead, ore_lead.getUnlocalizedName()); - GameRegistry.registerBlock(ore_oil, ItemBlockLore.class, ore_oil.getUnlocalizedName()); - GameRegistry.registerBlock(ore_oil_empty, ore_oil_empty.getUnlocalizedName()); - GameRegistry.registerBlock(ore_oil_sand, ore_oil_sand.getUnlocalizedName()); - GameRegistry.registerBlock(ore_lignite, ore_lignite.getUnlocalizedName()); - GameRegistry.registerBlock(ore_asbestos, ore_asbestos.getUnlocalizedName()); - GameRegistry.registerBlock(ore_schrabidium, ItemBlockLore.class, ore_schrabidium.getUnlocalizedName()); - - //Rare Minerals - GameRegistry.registerBlock(ore_australium, ItemOreBlock.class, ore_australium.getUnlocalizedName()); - GameRegistry.registerBlock(ore_rare, ItemOreBlock.class, ore_rare.getUnlocalizedName()); - GameRegistry.registerBlock(ore_cobalt, ore_cobalt.getUnlocalizedName()); - GameRegistry.registerBlock(ore_cinnebar, ore_cinnebar.getUnlocalizedName()); - GameRegistry.registerBlock(ore_coltan, ore_coltan.getUnlocalizedName()); - - //Stone clusters - GameRegistry.registerBlock(cluster_iron, ItemBlockBase.class, cluster_iron.getUnlocalizedName()); - GameRegistry.registerBlock(cluster_titanium, ItemBlockBase.class, cluster_titanium.getUnlocalizedName()); - GameRegistry.registerBlock(cluster_aluminium, ItemBlockBase.class, cluster_aluminium.getUnlocalizedName()); - GameRegistry.registerBlock(cluster_copper, ItemBlockBase.class, cluster_copper.getUnlocalizedName()); - - //Bedrock ores - GameRegistry.registerBlock(ore_bedrock_oil, ore_bedrock_oil.getUnlocalizedName()); - - //Nice Meme - GameRegistry.registerBlock(ore_coal_oil, ore_coal_oil.getUnlocalizedName()); - GameRegistry.registerBlock(ore_coal_oil_burning, ore_coal_oil_burning.getUnlocalizedName()); - - //Nether Ores - GameRegistry.registerBlock(ore_nether_coal, ore_nether_coal.getUnlocalizedName()); - GameRegistry.registerBlock(ore_nether_smoldering, ore_nether_smoldering.getUnlocalizedName()); - GameRegistry.registerBlock(ore_nether_uranium, ore_nether_uranium.getUnlocalizedName()); - GameRegistry.registerBlock(ore_nether_uranium_scorched, ore_nether_uranium_scorched.getUnlocalizedName()); - GameRegistry.registerBlock(ore_nether_plutonium, ore_nether_plutonium.getUnlocalizedName()); - GameRegistry.registerBlock(ore_nether_tungsten, ore_nether_tungsten.getUnlocalizedName()); - GameRegistry.registerBlock(ore_nether_sulfur, ore_nether_sulfur.getUnlocalizedName()); - GameRegistry.registerBlock(ore_nether_fire, ore_nether_fire.getUnlocalizedName()); - GameRegistry.registerBlock(ore_nether_cobalt, ore_nether_cobalt.getUnlocalizedName()); - GameRegistry.registerBlock(ore_nether_schrabidium, ItemBlockLore.class, ore_nether_schrabidium.getUnlocalizedName()); - - //Meteor Ores - register(ore_meteor); - - //Gneiss Ores - GameRegistry.registerBlock(ore_gneiss_iron, ore_gneiss_iron.getUnlocalizedName()); - GameRegistry.registerBlock(ore_gneiss_gold, ore_gneiss_gold.getUnlocalizedName()); - GameRegistry.registerBlock(ore_gneiss_uranium, ore_gneiss_uranium.getUnlocalizedName()); - GameRegistry.registerBlock(ore_gneiss_uranium_scorched, ore_gneiss_uranium_scorched.getUnlocalizedName()); - GameRegistry.registerBlock(ore_gneiss_copper, ore_gneiss_copper.getUnlocalizedName()); - GameRegistry.registerBlock(ore_gneiss_asbestos, ore_gneiss_asbestos.getUnlocalizedName()); - GameRegistry.registerBlock(ore_gneiss_lithium, ore_gneiss_lithium.getUnlocalizedName()); - GameRegistry.registerBlock(ore_gneiss_schrabidium, ItemBlockLore.class, ore_gneiss_schrabidium.getUnlocalizedName()); - GameRegistry.registerBlock(ore_gneiss_rare, ItemOreBlock.class, ore_gneiss_rare.getUnlocalizedName()); - GameRegistry.registerBlock(ore_gneiss_gas, ore_gneiss_gas.getUnlocalizedName()); - - //Depth ores - GameRegistry.registerBlock(ore_depth_cinnebar, ItemBlockBase.class, ore_depth_cinnebar.getUnlocalizedName()); - GameRegistry.registerBlock(ore_depth_zirconium, ItemBlockBase.class, ore_depth_zirconium.getUnlocalizedName()); - GameRegistry.registerBlock(ore_depth_borax, ItemBlockBase.class, ore_depth_borax.getUnlocalizedName()); - GameRegistry.registerBlock(cluster_depth_iron, ItemBlockBase.class, cluster_depth_iron.getUnlocalizedName()); - GameRegistry.registerBlock(cluster_depth_titanium, ItemBlockBase.class, cluster_depth_titanium.getUnlocalizedName()); - GameRegistry.registerBlock(cluster_depth_tungsten, ItemBlockBase.class, cluster_depth_tungsten.getUnlocalizedName()); - GameRegistry.registerBlock(ore_alexandrite, ItemBlockBase.class, ore_alexandrite.getUnlocalizedName()); - - //Nether depth ores - GameRegistry.registerBlock(ore_depth_nether_neodymium, ItemBlockBase.class, ore_depth_nether_neodymium.getUnlocalizedName()); - - //Basalt ores - register(ore_basalt); - - //End Ores - GameRegistry.registerBlock(ore_tikite, ore_tikite.getUnlocalizedName()); - - //It's a meme you dip - GameRegistry.registerBlock(ore_random, ItemRandomOreBlock.class, ore_random.getUnlocalizedName()); - - //Bedrock ore - register(ore_bedrock); - register(ore_volcano); - - //Secret - register(stone_keyhole); - - //Resource-bearing Stones - register(stone_resource); - register(stalagmite); - register(stalactite); - register(stone_biome); - - //Stone Variants - GameRegistry.registerBlock(stone_porous, stone_porous.getUnlocalizedName()); - GameRegistry.registerBlock(stone_gneiss, stone_gneiss.getUnlocalizedName()); - GameRegistry.registerBlock(gneiss_brick, gneiss_brick.getUnlocalizedName()); - GameRegistry.registerBlock(gneiss_tile, gneiss_tile.getUnlocalizedName()); - GameRegistry.registerBlock(gneiss_chiseled, gneiss_chiseled.getUnlocalizedName()); - GameRegistry.registerBlock(stone_depth, ItemBlockBase.class, stone_depth.getUnlocalizedName()); - GameRegistry.registerBlock(depth_brick, ItemBlockBase.class, depth_brick.getUnlocalizedName()); - GameRegistry.registerBlock(depth_tiles, ItemBlockBase.class, depth_tiles.getUnlocalizedName()); - GameRegistry.registerBlock(stone_depth_nether, ItemBlockBase.class, stone_depth_nether.getUnlocalizedName()); - GameRegistry.registerBlock(depth_nether_brick, ItemBlockBase.class, depth_nether_brick.getUnlocalizedName()); - GameRegistry.registerBlock(depth_nether_tiles, ItemBlockBase.class, depth_nether_tiles.getUnlocalizedName()); - GameRegistry.registerBlock(depth_dnt, ItemBlockBase.class, depth_dnt.getUnlocalizedName()); - GameRegistry.registerBlock(basalt, basalt.getUnlocalizedName()); - GameRegistry.registerBlock(basalt_smooth, basalt_smooth.getUnlocalizedName()); - GameRegistry.registerBlock(basalt_brick, basalt_brick.getUnlocalizedName()); - GameRegistry.registerBlock(basalt_polished, basalt_polished.getUnlocalizedName()); - GameRegistry.registerBlock(basalt_tiles, basalt_tiles.getUnlocalizedName()); - //GameRegistry.registerBlock(stone_deep_cobble, ItemBlockBase.class, stone_deep_cobble.getUnlocalizedName()); - - //Blocks - GameRegistry.registerBlock(block_uranium, block_uranium.getUnlocalizedName()); - GameRegistry.registerBlock(block_u233, block_u233.getUnlocalizedName()); - GameRegistry.registerBlock(block_u235, block_u235.getUnlocalizedName()); - GameRegistry.registerBlock(block_u238, block_u238.getUnlocalizedName()); - GameRegistry.registerBlock(block_uranium_fuel, block_uranium_fuel.getUnlocalizedName()); - GameRegistry.registerBlock(block_neptunium, block_neptunium.getUnlocalizedName()); - GameRegistry.registerBlock(block_polonium, block_polonium.getUnlocalizedName()); - GameRegistry.registerBlock(block_mox_fuel, block_mox_fuel.getUnlocalizedName()); - GameRegistry.registerBlock(block_plutonium, block_plutonium.getUnlocalizedName()); - GameRegistry.registerBlock(block_pu238, block_pu238.getUnlocalizedName()); - GameRegistry.registerBlock(block_pu239, block_pu239.getUnlocalizedName()); - GameRegistry.registerBlock(block_pu240, block_pu240.getUnlocalizedName()); - GameRegistry.registerBlock(block_pu_mix, block_pu_mix.getUnlocalizedName()); - GameRegistry.registerBlock(block_plutonium_fuel, block_plutonium_fuel.getUnlocalizedName()); - GameRegistry.registerBlock(block_thorium, block_thorium.getUnlocalizedName()); - GameRegistry.registerBlock(block_thorium_fuel, block_thorium_fuel.getUnlocalizedName()); - GameRegistry.registerBlock(block_titanium, block_titanium.getUnlocalizedName()); - GameRegistry.registerBlock(block_sulfur, block_sulfur.getUnlocalizedName()); - GameRegistry.registerBlock(block_niter, block_niter.getUnlocalizedName()); - GameRegistry.registerBlock(block_copper, block_copper.getUnlocalizedName()); - GameRegistry.registerBlock(block_red_copper, block_red_copper.getUnlocalizedName()); - GameRegistry.registerBlock(block_advanced_alloy, block_advanced_alloy.getUnlocalizedName()); - GameRegistry.registerBlock(block_tungsten, block_tungsten.getUnlocalizedName()); - GameRegistry.registerBlock(block_aluminium, block_aluminium.getUnlocalizedName()); - GameRegistry.registerBlock(block_fluorite, block_fluorite.getUnlocalizedName()); - GameRegistry.registerBlock(block_beryllium, block_beryllium.getUnlocalizedName()); - GameRegistry.registerBlock(block_cobalt, block_cobalt.getUnlocalizedName()); - GameRegistry.registerBlock(block_steel, block_steel.getUnlocalizedName()); - GameRegistry.registerBlock(block_tcalloy, block_tcalloy.getUnlocalizedName()); - GameRegistry.registerBlock(block_cdalloy, block_cdalloy.getUnlocalizedName()); - GameRegistry.registerBlock(block_lead, block_lead.getUnlocalizedName()); - GameRegistry.registerBlock(block_bismuth, block_bismuth.getUnlocalizedName()); - GameRegistry.registerBlock(block_cadmium, block_cadmium.getUnlocalizedName()); - GameRegistry.registerBlock(block_coltan, block_coltan.getUnlocalizedName()); - GameRegistry.registerBlock(block_tantalium, block_tantalium.getUnlocalizedName()); - GameRegistry.registerBlock(block_niobium, block_niobium.getUnlocalizedName()); - GameRegistry.registerBlock(block_lithium, block_lithium.getUnlocalizedName()); - GameRegistry.registerBlock(block_zirconium, block_zirconium.getUnlocalizedName()); - GameRegistry.registerBlock(block_white_phosphorus, block_white_phosphorus.getUnlocalizedName()); - GameRegistry.registerBlock(block_red_phosphorus, block_red_phosphorus.getUnlocalizedName()); - GameRegistry.registerBlock(block_yellowcake, block_yellowcake.getUnlocalizedName()); - GameRegistry.registerBlock(block_scrap, block_scrap.getUnlocalizedName()); - GameRegistry.registerBlock(block_electrical_scrap, block_electrical_scrap.getUnlocalizedName()); - GameRegistry.registerBlock(block_fallout, block_fallout.getUnlocalizedName()); - GameRegistry.registerBlock(block_foam, block_foam.getUnlocalizedName()); - GameRegistry.registerBlock(block_graphite, block_graphite.getUnlocalizedName()); - register(block_coke); - GameRegistry.registerBlock(block_graphite_drilled, block_graphite_drilled.getUnlocalizedName()); - GameRegistry.registerBlock(block_graphite_fuel, block_graphite_fuel.getUnlocalizedName()); - GameRegistry.registerBlock(block_graphite_rod, block_graphite_rod.getUnlocalizedName()); - GameRegistry.registerBlock(block_graphite_plutonium, block_graphite_plutonium.getUnlocalizedName()); - GameRegistry.registerBlock(block_graphite_source, block_graphite_source.getUnlocalizedName()); - GameRegistry.registerBlock(block_graphite_lithium, block_graphite_lithium.getUnlocalizedName()); - GameRegistry.registerBlock(block_graphite_tritium, block_graphite_tritium.getUnlocalizedName()); - GameRegistry.registerBlock(block_graphite_detector, block_graphite_detector.getUnlocalizedName()); - GameRegistry.registerBlock(block_boron, block_boron.getUnlocalizedName()); - GameRegistry.registerBlock(block_insulator, block_insulator.getUnlocalizedName()); - GameRegistry.registerBlock(block_fiberglass, block_fiberglass.getUnlocalizedName()); - GameRegistry.registerBlock(block_asbestos, block_asbestos.getUnlocalizedName()); - GameRegistry.registerBlock(block_trinitite, block_trinitite.getUnlocalizedName()); - GameRegistry.registerBlock(block_waste, block_waste.getUnlocalizedName()); - GameRegistry.registerBlock(block_waste_painted, block_waste_painted.getUnlocalizedName()); - GameRegistry.registerBlock(block_waste_vitrified, block_waste_vitrified.getUnlocalizedName()); - GameRegistry.registerBlock(ancient_scrap, ancient_scrap.getUnlocalizedName()); - GameRegistry.registerBlock(block_corium, block_corium.getUnlocalizedName()); - GameRegistry.registerBlock(block_corium_cobble, block_corium_cobble.getUnlocalizedName()); - GameRegistry.registerBlock(block_schraranium, ItemBlockBase.class, block_schraranium.getUnlocalizedName()); - GameRegistry.registerBlock(block_schrabidium, ItemBlockBase.class, block_schrabidium.getUnlocalizedName()); - GameRegistry.registerBlock(block_schrabidate, ItemBlockBase.class, block_schrabidate.getUnlocalizedName()); - GameRegistry.registerBlock(block_solinium, ItemBlockBase.class, block_solinium.getUnlocalizedName()); - GameRegistry.registerBlock(block_schrabidium_fuel, ItemBlockBase.class, block_schrabidium_fuel.getUnlocalizedName()); - GameRegistry.registerBlock(block_euphemium, ItemBlockLore.class, block_euphemium.getUnlocalizedName()); - GameRegistry.registerBlock(block_schrabidium_cluster, ItemBlockBase.class, block_schrabidium_cluster.getUnlocalizedName()); - GameRegistry.registerBlock(block_euphemium_cluster, ItemBlockLore.class, block_euphemium_cluster.getUnlocalizedName()); - GameRegistry.registerBlock(block_dineutronium, block_dineutronium.getUnlocalizedName()); - GameRegistry.registerBlock(block_magnetized_tungsten, block_magnetized_tungsten.getUnlocalizedName()); - GameRegistry.registerBlock(block_combine_steel, block_combine_steel.getUnlocalizedName()); - GameRegistry.registerBlock(block_desh, block_desh.getUnlocalizedName()); - GameRegistry.registerBlock(block_dura_steel, block_dura_steel.getUnlocalizedName()); - GameRegistry.registerBlock(block_starmetal, block_starmetal.getUnlocalizedName()); - GameRegistry.registerBlock(block_polymer, block_polymer.getUnlocalizedName()); - GameRegistry.registerBlock(block_bakelite, block_bakelite.getUnlocalizedName()); - GameRegistry.registerBlock(block_rubber, block_rubber.getUnlocalizedName()); - GameRegistry.registerBlock(block_australium, ItemOreBlock.class, block_australium.getUnlocalizedName()); - GameRegistry.registerBlock(block_weidanium, ItemOreBlock.class, block_weidanium.getUnlocalizedName()); - GameRegistry.registerBlock(block_reiium, ItemOreBlock.class, block_reiium.getUnlocalizedName()); - GameRegistry.registerBlock(block_unobtainium, ItemOreBlock.class, block_unobtainium.getUnlocalizedName()); - GameRegistry.registerBlock(block_daffergon, ItemOreBlock.class, block_daffergon.getUnlocalizedName()); - GameRegistry.registerBlock(block_verticium, ItemOreBlock.class, block_verticium.getUnlocalizedName()); - register(block_cap); - GameRegistry.registerBlock(block_lanthanium, block_lanthanium.getUnlocalizedName()); - GameRegistry.registerBlock(block_ra226, block_ra226.getUnlocalizedName()); - GameRegistry.registerBlock(block_actinium, block_actinium.getUnlocalizedName()); - GameRegistry.registerBlock(block_tritium, block_tritium.getUnlocalizedName()); - GameRegistry.registerBlock(block_semtex, block_semtex.getUnlocalizedName()); - GameRegistry.registerBlock(block_c4, block_c4.getUnlocalizedName()); - GameRegistry.registerBlock(block_smore, block_smore.getUnlocalizedName()); - GameRegistry.registerBlock(block_slag, block_slag.getUnlocalizedName()); - - //Deco Blocks - GameRegistry.registerBlock(deco_titanium, deco_titanium.getUnlocalizedName()); - GameRegistry.registerBlock(deco_red_copper, deco_red_copper.getUnlocalizedName()); - GameRegistry.registerBlock(deco_tungsten, deco_tungsten.getUnlocalizedName()); - GameRegistry.registerBlock(deco_aluminium, deco_aluminium.getUnlocalizedName()); - GameRegistry.registerBlock(deco_steel, deco_steel.getUnlocalizedName()); - GameRegistry.registerBlock(deco_lead, deco_lead.getUnlocalizedName()); - GameRegistry.registerBlock(deco_beryllium, deco_beryllium.getUnlocalizedName()); - GameRegistry.registerBlock(deco_asbestos, deco_asbestos.getUnlocalizedName()); - GameRegistry.registerBlock(deco_emitter, ItemBlockBase.class, deco_emitter.getUnlocalizedName()); - GameRegistry.registerBlock(part_emitter, ItemBlockBase.class, part_emitter.getUnlocalizedName()); - GameRegistry.registerBlock(deco_loot, deco_loot.getUnlocalizedName()); - GameRegistry.registerBlock(pedestal, pedestal.getUnlocalizedName()); - GameRegistry.registerBlock(bobblehead, ItemBlockMeta.class, bobblehead.getUnlocalizedName()); - GameRegistry.registerBlock(snowglobe, ItemBlockMeta.class, snowglobe.getUnlocalizedName()); - GameRegistry.registerBlock(plushie, ItemBlockBase.class, plushie.getUnlocalizedName()); - GameRegistry.registerBlock(deco_rbmk, deco_rbmk.getUnlocalizedName()); - GameRegistry.registerBlock(deco_rbmk_smooth, deco_rbmk_smooth.getUnlocalizedName()); - - //Gravel - GameRegistry.registerBlock(gravel_obsidian, ItemBlockBlastInfo.class, gravel_obsidian.getUnlocalizedName()); - GameRegistry.registerBlock(gravel_diamond, ItemBlockLore.class, gravel_diamond.getUnlocalizedName()); - - //Lamps - GameRegistry.registerBlock(lamp_tritium_green_off, lamp_tritium_green_off.getUnlocalizedName()); - GameRegistry.registerBlock(lamp_tritium_green_on, lamp_tritium_green_on.getUnlocalizedName()); - GameRegistry.registerBlock(lamp_tritium_blue_off, lamp_tritium_blue_off.getUnlocalizedName()); - GameRegistry.registerBlock(lamp_tritium_blue_on, lamp_tritium_blue_on.getUnlocalizedName()); - GameRegistry.registerBlock(lamp_demon, lamp_demon.getUnlocalizedName()); - GameRegistry.registerBlock(lantern, lantern.getUnlocalizedName()); - GameRegistry.registerBlock(lantern_behemoth, lantern_behemoth.getUnlocalizedName()); - GameRegistry.registerBlock(spotlight_incandescent, spotlight_incandescent.getUnlocalizedName()); - GameRegistry.registerBlock(spotlight_incandescent_off, spotlight_incandescent_off.getUnlocalizedName()); - GameRegistry.registerBlock(spotlight_fluoro, spotlight_fluoro.getUnlocalizedName()); - GameRegistry.registerBlock(spotlight_fluoro_off, spotlight_fluoro_off.getUnlocalizedName()); - GameRegistry.registerBlock(spotlight_halogen, spotlight_halogen.getUnlocalizedName()); - GameRegistry.registerBlock(spotlight_halogen_off, spotlight_halogen_off.getUnlocalizedName()); - GameRegistry.registerBlock(spotlight_beam, spotlight_beam.getUnlocalizedName()); - register(floodlight); - GameRegistry.registerBlock(floodlight_beam, floodlight_beam.getUnlocalizedName()); - - //Reinforced Blocks - GameRegistry.registerBlock(asphalt, ItemBlockBlastInfo.class, asphalt.getUnlocalizedName()); - GameRegistry.registerBlock(asphalt_light, ItemBlockBlastInfo.class, asphalt_light.getUnlocalizedName()); - GameRegistry.registerBlock(reinforced_brick, ItemBlockBlastInfo.class, reinforced_brick.getUnlocalizedName()); - GameRegistry.registerBlock(reinforced_glass, ItemBlockBlastInfo.class, reinforced_glass.getUnlocalizedName()); - GameRegistry.registerBlock(reinforced_glass_pane, ItemBlockBlastInfo.class, reinforced_glass_pane.getUnlocalizedName()); - GameRegistry.registerBlock(reinforced_light, ItemBlockBlastInfo.class, reinforced_light.getUnlocalizedName()); - GameRegistry.registerBlock(reinforced_sand, ItemBlockBlastInfo.class, reinforced_sand.getUnlocalizedName()); - GameRegistry.registerBlock(reinforced_lamp_off, ItemBlockBlastInfo.class, reinforced_lamp_off.getUnlocalizedName()); - GameRegistry.registerBlock(reinforced_lamp_on, ItemBlockBlastInfo.class, reinforced_lamp_on.getUnlocalizedName()); - GameRegistry.registerBlock(reinforced_laminate, ItemBlockBlastInfo.class, reinforced_laminate.getUnlocalizedName()); - GameRegistry.registerBlock(reinforced_laminate_pane,ItemBlockBlastInfo.class, reinforced_laminate_pane.getUnlocalizedName()); - - //Bricks - GameRegistry.registerBlock(reinforced_stone, ItemBlockBlastInfo.class, reinforced_stone.getUnlocalizedName()); - GameRegistry.registerBlock(reinforced_ducrete, ItemBlockBlastInfo.class, reinforced_ducrete.getUnlocalizedName()); - GameRegistry.registerBlock(concrete_smooth, ItemBlockBlastInfo.class, concrete_smooth.getUnlocalizedName()); - GameRegistry.registerBlock(concrete_colored, ItemBlockColoredConcrete.class, concrete_colored.getUnlocalizedName()); - register(concrete_colored_ext); - GameRegistry.registerBlock(concrete, ItemBlockBlastInfo.class, concrete.getUnlocalizedName()); - GameRegistry.registerBlock(concrete_asbestos, ItemBlockBlastInfo.class, concrete_asbestos.getUnlocalizedName()); - GameRegistry.registerBlock(concrete_super, ItemBlockBlastInfo.class, concrete_super.getUnlocalizedName()); - GameRegistry.registerBlock(concrete_super_broken, ItemBlockBlastInfo.class, concrete_super_broken.getUnlocalizedName()); - GameRegistry.registerBlock(ducrete_smooth, ItemBlockBlastInfo.class, ducrete_smooth.getUnlocalizedName()); - GameRegistry.registerBlock(ducrete, ItemBlockBlastInfo.class, ducrete.getUnlocalizedName()); - GameRegistry.registerBlock(concrete_pillar, ItemBlockBlastInfo.class, concrete_pillar.getUnlocalizedName()); - GameRegistry.registerBlock(brick_concrete, ItemBlockBlastInfo.class, brick_concrete.getUnlocalizedName()); - GameRegistry.registerBlock(brick_concrete_mossy, ItemBlockBlastInfo.class, brick_concrete_mossy.getUnlocalizedName()); - GameRegistry.registerBlock(brick_concrete_cracked, ItemBlockBlastInfo.class, brick_concrete_cracked.getUnlocalizedName()); - GameRegistry.registerBlock(brick_concrete_broken, ItemBlockBlastInfo.class, brick_concrete_broken.getUnlocalizedName()); - GameRegistry.registerBlock(brick_concrete_marked, ItemBlockBlastInfo.class, brick_concrete_marked.getUnlocalizedName()); - GameRegistry.registerBlock(brick_ducrete, ItemBlockBlastInfo.class, brick_ducrete.getUnlocalizedName()); - GameRegistry.registerBlock(brick_obsidian, ItemBlockBlastInfo.class, brick_obsidian.getUnlocalizedName()); - GameRegistry.registerBlock(brick_compound, ItemBlockBlastInfo.class, brick_compound.getUnlocalizedName()); - GameRegistry.registerBlock(brick_light, ItemBlockBlastInfo.class, brick_light.getUnlocalizedName()); - GameRegistry.registerBlock(brick_asbestos, brick_asbestos.getUnlocalizedName()); - GameRegistry.registerBlock(brick_fire, ItemBlockBlastInfo.class, brick_fire.getUnlocalizedName()); - - GameRegistry.registerBlock(concrete_slab, ItemModSlab.class, concrete_slab.getUnlocalizedName()); - GameRegistry.registerBlock(concrete_double_slab, ItemModSlab.class, concrete_double_slab.getUnlocalizedName()); - GameRegistry.registerBlock(concrete_brick_slab, ItemModSlab.class, concrete_brick_slab.getUnlocalizedName()); - GameRegistry.registerBlock(concrete_brick_double_slab, ItemModSlab.class, concrete_brick_double_slab.getUnlocalizedName()); - GameRegistry.registerBlock(brick_slab, ItemModSlab.class, brick_slab.getUnlocalizedName()); - GameRegistry.registerBlock(brick_double_slab, ItemModSlab.class, brick_double_slab.getUnlocalizedName()); - - GameRegistry.registerBlock(concrete_smooth_stairs, concrete_smooth_stairs.getUnlocalizedName()); - GameRegistry.registerBlock(concrete_stairs, concrete_stairs.getUnlocalizedName()); - GameRegistry.registerBlock(concrete_asbestos_stairs, concrete_asbestos_stairs.getUnlocalizedName()); - GameRegistry.registerBlock(ducrete_smooth_stairs, ducrete_smooth_stairs.getUnlocalizedName()); - GameRegistry.registerBlock(brick_concrete_stairs, brick_concrete_stairs.getUnlocalizedName()); - GameRegistry.registerBlock(brick_concrete_mossy_stairs, brick_concrete_mossy_stairs.getUnlocalizedName()); - GameRegistry.registerBlock(brick_concrete_cracked_stairs, brick_concrete_cracked_stairs.getUnlocalizedName()); - GameRegistry.registerBlock(brick_concrete_broken_stairs, brick_concrete_broken_stairs.getUnlocalizedName()); - GameRegistry.registerBlock(brick_ducrete_stairs, brick_ducrete_stairs.getUnlocalizedName()); - GameRegistry.registerBlock(reinforced_stone_stairs, reinforced_stone_stairs.getUnlocalizedName()); - GameRegistry.registerBlock(reinforced_brick_stairs, reinforced_brick_stairs.getUnlocalizedName()); - GameRegistry.registerBlock(brick_obsidian_stairs, brick_obsidian_stairs.getUnlocalizedName()); - GameRegistry.registerBlock(brick_light_stairs, brick_light_stairs.getUnlocalizedName()); - GameRegistry.registerBlock(brick_compound_stairs, brick_compound_stairs.getUnlocalizedName()); - GameRegistry.registerBlock(brick_asbestos_stairs, brick_asbestos_stairs.getUnlocalizedName()); - GameRegistry.registerBlock(brick_fire_stairs, brick_fire_stairs.getUnlocalizedName()); - GameRegistry.registerBlock(ducrete_stairs, ducrete_stairs.getUnlocalizedName()); - GameRegistry.registerBlock(asphalt_stairs, asphalt_stairs.getUnlocalizedName()); - - //CMB Building Elements - GameRegistry.registerBlock(cmb_brick, ItemBlockBlastInfo.class, cmb_brick.getUnlocalizedName()); - GameRegistry.registerBlock(cmb_brick_reinforced, ItemBlockBlastInfo.class, cmb_brick_reinforced.getUnlocalizedName()); - - //Tiles - GameRegistry.registerBlock(vinyl_tile, ItemBlockBlastInfo.class, vinyl_tile.getUnlocalizedName()); //i would rather die than dip into fucking blocks with subtypes again - - GameRegistry.registerBlock(tile_lab, tile_lab.getUnlocalizedName()); - GameRegistry.registerBlock(tile_lab_cracked, tile_lab_cracked.getUnlocalizedName()); - GameRegistry.registerBlock(tile_lab_broken, tile_lab_broken.getUnlocalizedName()); - - //Other defensive stuff - GameRegistry.registerBlock(barbed_wire, barbed_wire.getUnlocalizedName()); - GameRegistry.registerBlock(barbed_wire_fire, barbed_wire_fire.getUnlocalizedName()); - GameRegistry.registerBlock(barbed_wire_poison, barbed_wire_poison.getUnlocalizedName()); - GameRegistry.registerBlock(barbed_wire_acid, barbed_wire_acid.getUnlocalizedName()); - GameRegistry.registerBlock(barbed_wire_wither, barbed_wire_wither.getUnlocalizedName()); - GameRegistry.registerBlock(barbed_wire_ultradeath, barbed_wire_ultradeath.getUnlocalizedName()); - GameRegistry.registerBlock(spikes, spikes.getUnlocalizedName()); - GameRegistry.registerBlock(tesla, tesla.getUnlocalizedName()); - - //Charger - GameRegistry.registerBlock(charger, charger.getUnlocalizedName()); - //GameRegistry.registerBlock(floodlight, floodlight.getUnlocalizedName()); - - //Decoration Blocks - GameRegistry.registerBlock(block_meteor, block_meteor.getUnlocalizedName()); - GameRegistry.registerBlock(block_meteor_cobble, block_meteor_cobble.getUnlocalizedName()); - GameRegistry.registerBlock(block_meteor_broken, block_meteor_broken.getUnlocalizedName()); - GameRegistry.registerBlock(block_meteor_molten, block_meteor_molten.getUnlocalizedName()); - GameRegistry.registerBlock(block_meteor_treasure, block_meteor_treasure.getUnlocalizedName()); - GameRegistry.registerBlock(meteor_polished, meteor_polished.getUnlocalizedName()); - GameRegistry.registerBlock(meteor_brick, meteor_brick.getUnlocalizedName()); - GameRegistry.registerBlock(meteor_brick_mossy, meteor_brick_mossy.getUnlocalizedName()); - GameRegistry.registerBlock(meteor_brick_cracked, meteor_brick_cracked.getUnlocalizedName()); - GameRegistry.registerBlock(meteor_brick_chiseled, meteor_brick_chiseled.getUnlocalizedName()); - GameRegistry.registerBlock(meteor_pillar, meteor_pillar.getUnlocalizedName()); - GameRegistry.registerBlock(meteor_spawner, meteor_spawner.getUnlocalizedName()); - GameRegistry.registerBlock(meteor_battery, ItemBlockLore.class, meteor_battery.getUnlocalizedName()); - GameRegistry.registerBlock(brick_jungle, brick_jungle.getUnlocalizedName()); - GameRegistry.registerBlock(brick_jungle_cracked, brick_jungle_cracked.getUnlocalizedName()); - GameRegistry.registerBlock(brick_jungle_fragile, brick_jungle_fragile.getUnlocalizedName()); - GameRegistry.registerBlock(brick_jungle_lava, brick_jungle_lava.getUnlocalizedName()); - GameRegistry.registerBlock(brick_jungle_ooze, brick_jungle_ooze.getUnlocalizedName()); - GameRegistry.registerBlock(brick_jungle_mystic, brick_jungle_mystic.getUnlocalizedName()); - GameRegistry.registerBlock(brick_jungle_trap, ItemTrapBlock.class, brick_jungle_trap.getUnlocalizedName()); - GameRegistry.registerBlock(brick_jungle_glyph, ItemGlyphBlock.class, brick_jungle_glyph.getUnlocalizedName()); - GameRegistry.registerBlock(brick_jungle_circle, brick_jungle_circle.getUnlocalizedName()); - GameRegistry.registerBlock(brick_red, brick_red.getUnlocalizedName()); - register(deco_computer); - register(deco_crt); - register(deco_toaster); - GameRegistry.registerBlock(filing_cabinet, ItemBlockBase.class, filing_cabinet.getUnlocalizedName()); - GameRegistry.registerBlock(tape_recorder, tape_recorder.getUnlocalizedName()); - GameRegistry.registerBlock(steel_poles, steel_poles.getUnlocalizedName()); - GameRegistry.registerBlock(pole_top, pole_top.getUnlocalizedName()); - GameRegistry.registerBlock(pole_satellite_receiver, pole_satellite_receiver.getUnlocalizedName()); - GameRegistry.registerBlock(steel_wall, steel_wall.getUnlocalizedName()); - GameRegistry.registerBlock(steel_corner, steel_corner.getUnlocalizedName()); - GameRegistry.registerBlock(steel_roof, steel_roof.getUnlocalizedName()); - GameRegistry.registerBlock(steel_beam, steel_beam.getUnlocalizedName()); - register(steel_scaffold); - GameRegistry.registerBlock(steel_grate, steel_grate.getUnlocalizedName()); - register(steel_grate_wide); - GameRegistry.registerBlock(deco_pipe, ItemBlockBase.class, deco_pipe.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_rusted, ItemBlockBase.class, deco_pipe_rusted.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_green, ItemBlockBase.class, deco_pipe_green.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_green_rusted, ItemBlockBase.class, deco_pipe_green_rusted.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_red, ItemBlockBase.class, deco_pipe_red.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_marked, ItemBlockBase.class, deco_pipe_marked.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_rim, ItemBlockBase.class, deco_pipe_rim.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_rim_rusted, ItemBlockBase.class, deco_pipe_rim_rusted.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_rim_green, ItemBlockBase.class, deco_pipe_rim_green.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_rim_green_rusted, ItemBlockBase.class, deco_pipe_rim_green_rusted.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_rim_red, ItemBlockBase.class, deco_pipe_rim_red.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_rim_marked, ItemBlockBase.class, deco_pipe_rim_marked.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_framed, ItemBlockBase.class, deco_pipe_framed.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_framed_rusted, ItemBlockBase.class, deco_pipe_framed_rusted.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_framed_green, ItemBlockBase.class, deco_pipe_framed_green.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_framed_green_rusted, ItemBlockBase.class, deco_pipe_framed_green_rusted.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_framed_red, ItemBlockBase.class, deco_pipe_framed_red.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_framed_marked, ItemBlockBase.class, deco_pipe_framed_marked.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_quad, ItemBlockBase.class, deco_pipe_quad.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_quad_rusted, ItemBlockBase.class, deco_pipe_quad_rusted.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_quad_green, ItemBlockBase.class, deco_pipe_quad_green.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_quad_green_rusted, ItemBlockBase.class, deco_pipe_quad_green_rusted.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_quad_red, ItemBlockBase.class, deco_pipe_quad_red.getUnlocalizedName()); - GameRegistry.registerBlock(deco_pipe_quad_marked, ItemBlockBase.class, deco_pipe_quad_marked.getUnlocalizedName()); - register(plant_flower); - register(plant_tall); - register(plant_dead); - register(reeds); - GameRegistry.registerBlock(mush, mush.getUnlocalizedName()); - GameRegistry.registerBlock(mush_block, mush_block.getUnlocalizedName()); - GameRegistry.registerBlock(mush_block_stem, mush_block_stem.getUnlocalizedName()); - register(glyphid_base); - register(glyphid_spawner); - GameRegistry.registerBlock(moon_turf, moon_turf.getUnlocalizedName()); - - //Waste - GameRegistry.registerBlock(waste_earth, waste_earth.getUnlocalizedName()); - GameRegistry.registerBlock(waste_mycelium, waste_mycelium.getUnlocalizedName()); - GameRegistry.registerBlock(waste_trinitite, waste_trinitite.getUnlocalizedName()); - GameRegistry.registerBlock(waste_trinitite_red, waste_trinitite_red.getUnlocalizedName()); - GameRegistry.registerBlock(waste_log, waste_log.getUnlocalizedName()); - GameRegistry.registerBlock(waste_leaves, waste_leaves.getUnlocalizedName()); - GameRegistry.registerBlock(waste_planks, waste_planks.getUnlocalizedName()); - GameRegistry.registerBlock(frozen_grass, frozen_grass.getUnlocalizedName()); - GameRegistry.registerBlock(frozen_dirt, frozen_dirt.getUnlocalizedName()); - GameRegistry.registerBlock(frozen_log, frozen_log.getUnlocalizedName()); - GameRegistry.registerBlock(frozen_planks, frozen_planks.getUnlocalizedName()); - GameRegistry.registerBlock(dirt_dead, dirt_dead.getUnlocalizedName()); - GameRegistry.registerBlock(dirt_oily, dirt_oily.getUnlocalizedName()); - GameRegistry.registerBlock(sand_dirty, sand_dirty.getUnlocalizedName()); - GameRegistry.registerBlock(sand_dirty_red, sand_dirty_red.getUnlocalizedName()); - GameRegistry.registerBlock(stone_cracked, stone_cracked.getUnlocalizedName()); - GameRegistry.registerBlock(fallout, fallout.getUnlocalizedName()); - GameRegistry.registerBlock(foam_layer, foam_layer.getUnlocalizedName()); - GameRegistry.registerBlock(sand_boron_layer, sand_boron_layer.getUnlocalizedName()); - GameRegistry.registerBlock(leaves_layer, leaves_layer.getUnlocalizedName()); - GameRegistry.registerBlock(oil_spill, oil_spill.getUnlocalizedName()); - GameRegistry.registerBlock(burning_earth, burning_earth.getUnlocalizedName()); - GameRegistry.registerBlock(tektite, tektite.getUnlocalizedName()); - GameRegistry.registerBlock(ore_tektite_osmiridium, ore_tektite_osmiridium.getUnlocalizedName()); - GameRegistry.registerBlock(impact_dirt, impact_dirt.getUnlocalizedName()); - - //RAD - register(sellafield_slaked); - register(sellafield_bedrock); - register(ore_sellafield_diamond); - register(ore_sellafield_emerald); - register(ore_sellafield_uranium_scorched); - register(ore_sellafield_schrabidium); - register(ore_sellafield_radgem); - GameRegistry.registerBlock(sellafield, ItemBlockNamedMeta.class, sellafield.getUnlocalizedName()); - - //Geysirs - GameRegistry.registerBlock(geysir_water, geysir_water.getUnlocalizedName()); - GameRegistry.registerBlock(geysir_chlorine, geysir_chlorine.getUnlocalizedName()); - GameRegistry.registerBlock(geysir_vapor, geysir_vapor.getUnlocalizedName()); - GameRegistry.registerBlock(geysir_nether, geysir_nether.getUnlocalizedName()); - - //Nukes - GameRegistry.registerBlock(nuke_gadget, nuke_gadget.getUnlocalizedName()); - GameRegistry.registerBlock(nuke_boy, nuke_boy.getUnlocalizedName()); - GameRegistry.registerBlock(nuke_man, nuke_man.getUnlocalizedName()); - GameRegistry.registerBlock(nuke_mike, nuke_mike.getUnlocalizedName()); - GameRegistry.registerBlock(nuke_tsar, nuke_tsar.getUnlocalizedName()); - GameRegistry.registerBlock(nuke_prototype, ItemPrototypeBlock.class, nuke_prototype.getUnlocalizedName()); - GameRegistry.registerBlock(nuke_fleija, nuke_fleija.getUnlocalizedName()); - GameRegistry.registerBlock(nuke_solinium, nuke_solinium.getUnlocalizedName()); - GameRegistry.registerBlock(nuke_n2, nuke_n2.getUnlocalizedName()); - GameRegistry.registerBlock(nuke_fstbmb, nuke_fstbmb.getUnlocalizedName()); - GameRegistry.registerBlock(nuke_custom, nuke_custom.getUnlocalizedName()); - - //Generic Bombs - GameRegistry.registerBlock(bomb_multi, bomb_multi.getUnlocalizedName()); - GameRegistry.registerBlock(crashed_balefire, crashed_balefire.getUnlocalizedName()); - GameRegistry.registerBlock(fireworks, fireworks.getUnlocalizedName()); - GameRegistry.registerBlock(dynamite, dynamite.getUnlocalizedName()); - GameRegistry.registerBlock(tnt, tnt.getUnlocalizedName()); - GameRegistry.registerBlock(semtex, semtex.getUnlocalizedName()); - GameRegistry.registerBlock(c4, c4.getUnlocalizedName()); - register(fissure_bomb); - - //Turrets - GameRegistry.registerBlock(turret_chekhov, turret_chekhov.getUnlocalizedName()); - GameRegistry.registerBlock(turret_friendly, turret_friendly.getUnlocalizedName()); - GameRegistry.registerBlock(turret_jeremy, turret_jeremy.getUnlocalizedName()); - GameRegistry.registerBlock(turret_tauon, turret_tauon.getUnlocalizedName()); - GameRegistry.registerBlock(turret_richard, turret_richard.getUnlocalizedName()); - GameRegistry.registerBlock(turret_howard, turret_howard.getUnlocalizedName()); - GameRegistry.registerBlock(turret_howard_damaged, turret_howard_damaged.getUnlocalizedName()); - GameRegistry.registerBlock(turret_maxwell, turret_maxwell.getUnlocalizedName()); - GameRegistry.registerBlock(turret_fritz, turret_fritz.getUnlocalizedName()); - //GameRegistry.registerBlock(turret_brandon, turret_brandon.getUnlocalizedName()); - GameRegistry.registerBlock(turret_arty, turret_arty.getUnlocalizedName()); - GameRegistry.registerBlock(turret_himars, turret_himars.getUnlocalizedName()); - GameRegistry.registerBlock(turret_sentry, turret_sentry.getUnlocalizedName()); - GameRegistry.registerBlock(turret_sentry_damaged, turret_sentry_damaged.getUnlocalizedName()); - - //Wall-mounted Explosives - GameRegistry.registerBlock(charge_dynamite, ItemBlockBase.class, charge_dynamite.getUnlocalizedName()); - GameRegistry.registerBlock(charge_miner, ItemBlockBase.class, charge_miner.getUnlocalizedName()); - GameRegistry.registerBlock(charge_c4, ItemBlockBase.class, charge_c4.getUnlocalizedName()); - GameRegistry.registerBlock(charge_semtex, ItemBlockBase.class, charge_semtex.getUnlocalizedName()); - - //Mines - GameRegistry.registerBlock(mine_ap, mine_ap.getUnlocalizedName()); - GameRegistry.registerBlock(mine_he, mine_he.getUnlocalizedName()); - GameRegistry.registerBlock(mine_shrap, mine_shrap.getUnlocalizedName()); - GameRegistry.registerBlock(mine_fat, mine_fat.getUnlocalizedName()); - - //Block Bombs - GameRegistry.registerBlock(flame_war, flame_war.getUnlocalizedName()); - GameRegistry.registerBlock(float_bomb, float_bomb.getUnlocalizedName()); - GameRegistry.registerBlock(therm_endo, therm_endo.getUnlocalizedName()); - GameRegistry.registerBlock(therm_exo, therm_exo.getUnlocalizedName()); - GameRegistry.registerBlock(emp_bomb, emp_bomb.getUnlocalizedName()); - GameRegistry.registerBlock(det_cord, det_cord.getUnlocalizedName()); - GameRegistry.registerBlock(det_charge, det_charge.getUnlocalizedName()); - GameRegistry.registerBlock(det_nuke, det_nuke.getUnlocalizedName()); - GameRegistry.registerBlock(det_miner, det_miner.getUnlocalizedName()); - GameRegistry.registerBlock(red_barrel, ItemBlockLore.class, red_barrel.getUnlocalizedName()); - GameRegistry.registerBlock(pink_barrel, ItemBlockLore.class, pink_barrel.getUnlocalizedName()); - GameRegistry.registerBlock(lox_barrel, ItemBlockLore.class, lox_barrel.getUnlocalizedName()); - GameRegistry.registerBlock(taint_barrel, taint_barrel.getUnlocalizedName()); - GameRegistry.registerBlock(yellow_barrel, yellow_barrel.getUnlocalizedName()); - GameRegistry.registerBlock(vitrified_barrel, vitrified_barrel.getUnlocalizedName()); - - //Siren - GameRegistry.registerBlock(machine_siren, machine_siren.getUnlocalizedName()); - - //This Thing - GameRegistry.registerBlock(broadcaster_pc, broadcaster_pc.getUnlocalizedName()); - - //Geiger Counter - GameRegistry.registerBlock(geiger, geiger.getUnlocalizedName()); - - //HEV Battery - GameRegistry.registerBlock(hev_battery, hev_battery.getUnlocalizedName()); - - //Chainlink Fence - GameRegistry.registerBlock(fence_metal, ItemBlockBase.class, fence_metal.getUnlocalizedName()); - - //Sands, Glass - GameRegistry.registerBlock(ash_digamma, ash_digamma.getUnlocalizedName()); - GameRegistry.registerBlock(sand_boron, sand_boron.getUnlocalizedName()); - GameRegistry.registerBlock(sand_lead, sand_lead.getUnlocalizedName()); - GameRegistry.registerBlock(sand_uranium, sand_uranium.getUnlocalizedName()); - GameRegistry.registerBlock(sand_polonium, sand_polonium.getUnlocalizedName()); - GameRegistry.registerBlock(sand_quartz, sand_quartz.getUnlocalizedName()); - GameRegistry.registerBlock(glass_boron, glass_boron.getUnlocalizedName()); - GameRegistry.registerBlock(glass_lead, glass_lead.getUnlocalizedName()); - GameRegistry.registerBlock(glass_uranium, glass_uranium.getUnlocalizedName()); - GameRegistry.registerBlock(glass_trinitite, glass_trinitite.getUnlocalizedName()); - GameRegistry.registerBlock(glass_polonium, glass_polonium.getUnlocalizedName()); - GameRegistry.registerBlock(glass_ash, glass_ash.getUnlocalizedName()); - GameRegistry.registerBlock(glass_quartz, glass_quartz.getUnlocalizedName()); - - //Silo Hatch - GameRegistry.registerBlock(seal_frame, seal_frame.getUnlocalizedName()); - GameRegistry.registerBlock(seal_controller, seal_controller.getUnlocalizedName()); - GameRegistry.registerBlock(seal_hatch, seal_hatch.getUnlocalizedName()); - - //Vault Door - GameRegistry.registerBlock(vault_door, vault_door.getUnlocalizedName()); - GameRegistry.registerBlock(blast_door, blast_door.getUnlocalizedName()); - GameRegistry.registerBlock(fire_door, fire_door.getUnlocalizedName()); - GameRegistry.registerBlock(transition_seal, transition_seal.getUnlocalizedName()); - GameRegistry.registerBlock(silo_hatch, silo_hatch.getUnlocalizedName()); - GameRegistry.registerBlock(silo_hatch_large, silo_hatch_large.getUnlocalizedName()); - GameRegistry.registerBlock(sliding_blast_door, sliding_blast_door.getUnlocalizedName()); - - //Doors - GameRegistry.registerBlock(door_metal, door_metal.getUnlocalizedName()); - GameRegistry.registerBlock(door_office, door_office.getUnlocalizedName()); - GameRegistry.registerBlock(door_bunker, door_bunker.getUnlocalizedName()); - GameRegistry.registerBlock(door_red, door_red.getUnlocalizedName()); - GameRegistry.registerBlock(secure_access_door, secure_access_door.getUnlocalizedName()); - GameRegistry.registerBlock(large_vehicle_door, large_vehicle_door.getUnlocalizedName()); - GameRegistry.registerBlock(qe_containment, qe_containment.getUnlocalizedName()); - GameRegistry.registerBlock(qe_sliding_door, qe_sliding_door.getUnlocalizedName()); - GameRegistry.registerBlock(round_airlock_door, round_airlock_door.getUnlocalizedName()); - GameRegistry.registerBlock(sliding_seal_door, sliding_seal_door.getUnlocalizedName()); - GameRegistry.registerBlock(water_door, water_door.getUnlocalizedName()); - - //Crates - register(crate_iron); - register(crate_steel); - register(crate_desh); - register(crate_tungsten); - register(crate_template); - register(safe); - register(mass_storage); - - //Junk - GameRegistry.registerBlock(boxcar, boxcar.getUnlocalizedName()); - GameRegistry.registerBlock(boat, boat.getUnlocalizedName()); - - //Machines - register(machine_autocrafter); - register(machine_funnel); - - register(anvil_iron); - register(anvil_lead); - register(anvil_steel); - register(anvil_desh); - register(anvil_saturnite); - register(anvil_ferrouranium); - register(anvil_bismuth_bronze); - register(anvil_arsenic_bronze); - register(anvil_schrabidate); - register(anvil_dnt); - register(anvil_osmiridium); - register(anvil_murky); - - GameRegistry.registerBlock(press_preheater, press_preheater.getUnlocalizedName()); - GameRegistry.registerBlock(machine_press, machine_press.getUnlocalizedName()); - GameRegistry.registerBlock(machine_epress, machine_epress.getUnlocalizedName()); - register(machine_conveyor_press); - register(pump_steam); - register(pump_electric); - register(heater_firebox); - register(heater_oven); - register(machine_ashpit); - register(heater_oilburner); - register(heater_electric); - register(heater_heatex); - register(furnace_iron); - register(furnace_steel); - register(furnace_combination); - register(machine_stirling); - register(machine_stirling_steel); - register(machine_stirling_creative); - register(machine_sawmill); - register(machine_crucible); - register(machine_strand_caster); - register(machine_boiler); - register(machine_industrial_boiler); - register(foundry_mold); - register(foundry_basin); - register(foundry_channel); - register(foundry_tank); - register(foundry_outlet); - register(foundry_slagtap); - register(slag); - register(machine_furnace_brick_off); - register(machine_furnace_brick_on); - register(machine_difurnace_off); - register(machine_difurnace_on); - register(machine_difurnace_extension); - GameRegistry.registerBlock(machine_difurnace_rtg_off, machine_difurnace_rtg_off.getUnlocalizedName()); - GameRegistry.registerBlock(machine_difurnace_rtg_on, machine_difurnace_rtg_on.getUnlocalizedName()); - GameRegistry.registerBlock(machine_centrifuge, machine_centrifuge.getUnlocalizedName()); - GameRegistry.registerBlock(machine_gascent, machine_gascent.getUnlocalizedName()); - GameRegistry.registerBlock(machine_fel, machine_fel.getUnlocalizedName()); - GameRegistry.registerBlock(machine_silex, machine_silex.getUnlocalizedName()); - GameRegistry.registerBlock(machine_crystallizer, machine_crystallizer.getUnlocalizedName()); - GameRegistry.registerBlock(machine_uf6_tank, machine_uf6_tank.getUnlocalizedName()); - GameRegistry.registerBlock(machine_puf6_tank, machine_puf6_tank.getUnlocalizedName()); - GameRegistry.registerBlock(machine_reactor_breeding, machine_reactor_breeding.getUnlocalizedName()); - GameRegistry.registerBlock(machine_nuke_furnace_off, machine_nuke_furnace_off.getUnlocalizedName()); - GameRegistry.registerBlock(machine_nuke_furnace_on, machine_nuke_furnace_on.getUnlocalizedName()); - GameRegistry.registerBlock(machine_rtg_furnace_off, machine_rtg_furnace_off.getUnlocalizedName()); - GameRegistry.registerBlock(machine_rtg_furnace_on, machine_rtg_furnace_on.getUnlocalizedName()); - register(machine_wood_burner); - register(machine_diesel); - register(machine_combustion_engine); - GameRegistry.registerBlock(machine_controller, machine_controller.getUnlocalizedName()); - GameRegistry.registerBlock(reactor_research, reactor_research.getUnlocalizedName()); - GameRegistry.registerBlock(reactor_zirnox, reactor_zirnox.getUnlocalizedName()); - GameRegistry.registerBlock(zirnox_destroyed, zirnox_destroyed.getUnlocalizedName()); - GameRegistry.registerBlock(machine_industrial_generator, machine_industrial_generator.getUnlocalizedName()); - GameRegistry.registerBlock(machine_radgen, machine_radgen.getUnlocalizedName()); - GameRegistry.registerBlock(machine_cyclotron, machine_cyclotron.getUnlocalizedName()); - GameRegistry.registerBlock(machine_exposure_chamber, machine_exposure_chamber.getUnlocalizedName()); - GameRegistry.registerBlock(machine_rtg_grey, machine_rtg_grey.getUnlocalizedName()); - GameRegistry.registerBlock(machine_geo, machine_geo.getUnlocalizedName()); - GameRegistry.registerBlock(machine_amgen, machine_amgen.getUnlocalizedName()); - GameRegistry.registerBlock(machine_minirtg, machine_minirtg.getUnlocalizedName()); - GameRegistry.registerBlock(machine_powerrtg, machine_powerrtg.getUnlocalizedName()); - GameRegistry.registerBlock(machine_radiolysis, machine_radiolysis.getUnlocalizedName()); - GameRegistry.registerBlock(machine_hephaestus, machine_hephaestus.getUnlocalizedName()); - GameRegistry.registerBlock(machine_spp_bottom, machine_spp_bottom.getUnlocalizedName()); - GameRegistry.registerBlock(machine_spp_top, machine_spp_top.getUnlocalizedName()); - - GameRegistry.registerBlock(hadron_plating, hadron_plating.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_plating_blue, hadron_plating_blue.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_plating_black, hadron_plating_black.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_plating_yellow, hadron_plating_yellow.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_plating_striped, hadron_plating_striped.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_plating_glass, hadron_plating_glass.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_plating_voltz, hadron_plating_voltz.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_coil_alloy, ItemBlockBase.class, hadron_coil_alloy.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_coil_gold, ItemBlockBase.class, hadron_coil_gold.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_coil_neodymium, ItemBlockBase.class, hadron_coil_neodymium.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_coil_magtung, ItemBlockBase.class, hadron_coil_magtung.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_coil_schrabidium, ItemBlockBase.class, hadron_coil_schrabidium.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_coil_schrabidate, ItemBlockBase.class, hadron_coil_schrabidate.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_coil_starmetal, ItemBlockBase.class, hadron_coil_starmetal.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_coil_chlorophyte, ItemBlockBase.class, hadron_coil_chlorophyte.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_coil_mese, ItemBlockBase.class, hadron_coil_mese.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_power, hadron_power.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_power_10m, hadron_power_10m.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_power_100m, hadron_power_100m.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_power_1g, hadron_power_1g.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_power_10g, hadron_power_10g.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_diode, hadron_diode.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_analysis, hadron_analysis.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_analysis_glass, hadron_analysis_glass.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_access, hadron_access.getUnlocalizedName()); - GameRegistry.registerBlock(hadron_core, hadron_core.getUnlocalizedName()); - register(hadron_cooler); - - GameRegistry.registerBlock(rbmk_rod, rbmk_rod.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_rod_mod, rbmk_rod_mod.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_rod_reasim, rbmk_rod_reasim.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_rod_reasim_mod, rbmk_rod_reasim_mod.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_control, rbmk_control.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_control_mod, rbmk_control_mod.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_control_auto, rbmk_control_auto.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_blank, rbmk_blank.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_boiler, rbmk_boiler.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_reflector, rbmk_reflector.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_absorber, rbmk_absorber.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_moderator, rbmk_moderator.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_outgasser, rbmk_outgasser.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_storage, rbmk_storage.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_cooler, rbmk_cooler.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_heater, rbmk_heater.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_console, rbmk_console.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_crane_console, rbmk_crane_console.getUnlocalizedName()); - register(rbmk_loader); - register(rbmk_steam_inlet); - register(rbmk_steam_outlet); - GameRegistry.registerBlock(pribris, pribris.getUnlocalizedName()); - GameRegistry.registerBlock(pribris_burning, pribris_burning.getUnlocalizedName()); - GameRegistry.registerBlock(pribris_radiating, pribris_radiating.getUnlocalizedName()); - GameRegistry.registerBlock(pribris_digamma, pribris_digamma.getUnlocalizedName()); - - GameRegistry.registerBlock(red_cable, red_cable.getUnlocalizedName()); - GameRegistry.registerBlock(red_cable_classic, red_cable_classic.getUnlocalizedName()); - GameRegistry.registerBlock(red_cable_paintable, red_cable_paintable.getUnlocalizedName()); - register(red_cable_gauge); - GameRegistry.registerBlock(red_wire_coated, red_wire_coated.getUnlocalizedName()); - GameRegistry.registerBlock(red_connector, ItemBlockBase.class, red_connector.getUnlocalizedName()); - GameRegistry.registerBlock(red_pylon, ItemBlockBase.class, red_pylon.getUnlocalizedName()); - register(red_pylon_medium_wood); - register(red_pylon_medium_wood_transformer); - register(red_pylon_medium_steel); - register(red_pylon_medium_steel_transformer); - GameRegistry.registerBlock(red_pylon_large, ItemBlockBase.class, red_pylon_large.getUnlocalizedName()); - GameRegistry.registerBlock(substation, ItemBlockBase.class, substation.getUnlocalizedName()); - GameRegistry.registerBlock(cable_switch, cable_switch.getUnlocalizedName()); - GameRegistry.registerBlock(cable_detector, cable_detector.getUnlocalizedName()); - GameRegistry.registerBlock(cable_diode, ItemBlockBase.class, cable_diode.getUnlocalizedName()); - GameRegistry.registerBlock(machine_detector, machine_detector.getUnlocalizedName()); - register(fluid_duct_neo); - register(fluid_duct_box); - register(fluid_duct_exhaust); - register(fluid_duct_paintable); - register(fluid_duct_gauge); - register(fluid_valve); - register(fluid_switch); - register(machine_drain); - register(radio_torch_sender); - register(radio_torch_receiver); - register(radio_torch_counter); - register(radio_torch_logic); - register(radio_telex); - - register(crane_extractor); - register(crane_inserter); - register(crane_grabber); - register(crane_router); - register(crane_boxer); - register(crane_unboxer); - register(conveyor); - register(conveyor_express); - register(conveyor_double); - register(conveyor_triple); - register(conveyor_chute); - register(conveyor_lift); - register(crane_splitter); - register(crane_partitioner); - register(drone_waypoint); - register(drone_crate); - register(drone_waypoint_request); - register(drone_dock); - register(drone_crate_provider); - register(drone_crate_requester); - register(fan); - register(piston_inserter); - - GameRegistry.registerBlock(chain, chain.getUnlocalizedName()); - GameRegistry.registerBlock(ladder_sturdy, ladder_sturdy.getUnlocalizedName()); - GameRegistry.registerBlock(ladder_iron, ladder_iron.getUnlocalizedName()); - GameRegistry.registerBlock(ladder_gold, ladder_gold.getUnlocalizedName()); - GameRegistry.registerBlock(ladder_titanium, ladder_titanium.getUnlocalizedName()); - GameRegistry.registerBlock(ladder_copper, ladder_copper.getUnlocalizedName()); - GameRegistry.registerBlock(ladder_tungsten, ladder_tungsten.getUnlocalizedName()); - GameRegistry.registerBlock(ladder_aluminium, ladder_aluminium.getUnlocalizedName()); - GameRegistry.registerBlock(ladder_steel, ladder_steel.getUnlocalizedName()); - GameRegistry.registerBlock(ladder_lead, ladder_lead.getUnlocalizedName()); - GameRegistry.registerBlock(ladder_cobalt, ladder_cobalt.getUnlocalizedName()); - - register(barrel_plastic); - register(barrel_corroded); - register(barrel_iron); - register(barrel_steel); - register(barrel_tcalloy); - register(barrel_antimatter); - register(machine_battery_potato); - register(machine_battery); - register(machine_lithium_battery); - register(machine_schrabidium_battery); - register(machine_dineutronium_battery); - register(machine_fensu); - register(capacitor_bus); - register(capacitor_copper); - register(capacitor_gold); - register(capacitor_niobium); - register(capacitor_tantalium); - register(capacitor_schrabidate); - GameRegistry.registerBlock(machine_transformer, machine_transformer.getUnlocalizedName()); - GameRegistry.registerBlock(machine_transformer_20, machine_transformer_20.getUnlocalizedName()); - GameRegistry.registerBlock(machine_transformer_dnt, machine_transformer_dnt.getUnlocalizedName()); - GameRegistry.registerBlock(machine_transformer_dnt_20, machine_transformer_dnt_20.getUnlocalizedName()); - GameRegistry.registerBlock(machine_converter_he_rf, machine_converter_he_rf.getUnlocalizedName()); - GameRegistry.registerBlock(machine_converter_rf_he, machine_converter_rf_he.getUnlocalizedName()); - GameRegistry.registerBlock(machine_electric_furnace_off, machine_electric_furnace_off.getUnlocalizedName()); - GameRegistry.registerBlock(machine_electric_furnace_on, machine_electric_furnace_on.getUnlocalizedName()); - GameRegistry.registerBlock(machine_arc_furnace_off, machine_arc_furnace_off.getUnlocalizedName()); - GameRegistry.registerBlock(machine_arc_furnace_on, machine_arc_furnace_on.getUnlocalizedName()); - GameRegistry.registerBlock(machine_microwave, machine_microwave.getUnlocalizedName()); - GameRegistry.registerBlock(machine_assembler, machine_assembler.getUnlocalizedName()); - GameRegistry.registerBlock(machine_assemfac, machine_assemfac.getUnlocalizedName()); - GameRegistry.registerBlock(machine_chemplant, machine_chemplant.getUnlocalizedName()); - GameRegistry.registerBlock(machine_chemfac, machine_chemfac.getUnlocalizedName()); - register(machine_arc_welder); - register(machine_soldering_station); - register(machine_arc_furnace); - register(machine_mixer); - register(machine_fluidtank); - register(machine_bat9000); - register(machine_orbus); - GameRegistry.registerBlock(machine_boiler_off, machine_boiler_off.getUnlocalizedName()); - register(machine_steam_engine); - register(machine_turbine); - register(machine_large_turbine); - register(machine_chungus); - GameRegistry.registerBlock(machine_condenser, machine_condenser.getUnlocalizedName()); - GameRegistry.registerBlock(machine_tower_small, machine_tower_small.getUnlocalizedName()); - GameRegistry.registerBlock(machine_tower_large, machine_tower_large.getUnlocalizedName()); - register(machine_condenser_powered); - GameRegistry.registerBlock(machine_deuterium_extractor, machine_deuterium_extractor.getUnlocalizedName()); - GameRegistry.registerBlock(machine_deuterium_tower, machine_deuterium_tower.getUnlocalizedName()); - GameRegistry.registerBlock(machine_liquefactor, ItemBlockBase.class, machine_liquefactor.getUnlocalizedName()); - GameRegistry.registerBlock(machine_solidifier, ItemBlockBase.class, machine_solidifier.getUnlocalizedName()); - register(machine_compressor); - GameRegistry.registerBlock(machine_electrolyser, machine_electrolyser.getUnlocalizedName()); - GameRegistry.registerBlock(machine_waste_drum, machine_waste_drum.getUnlocalizedName()); - GameRegistry.registerBlock(machine_storage_drum, machine_storage_drum.getUnlocalizedName()); - GameRegistry.registerBlock(machine_shredder, machine_shredder.getUnlocalizedName()); - register(machine_well); - register(machine_pumpjack); - register(machine_fracking_tower); - register(machine_flare); - register(chimney_brick); - register(chimney_industrial); - register(machine_refinery); - register(machine_vacuum_distill); - register(machine_fraction_tower); - register(fraction_spacer); - register(machine_catalytic_cracker); - register(machine_catalytic_reformer); - register(machine_hydrotreater); - register(machine_coker); - register(machine_autosaw); - register(machine_excavator); - register(machine_ore_slopper); - register(machine_mining_laser); - register(barricade); - register(machine_turbofan); - register(machine_turbinegas); - register(machine_lpw2); - GameRegistry.registerBlock(machine_schrabidium_transmutator, machine_schrabidium_transmutator.getUnlocalizedName()); - GameRegistry.registerBlock(machine_teleporter, machine_teleporter.getUnlocalizedName()); - GameRegistry.registerBlock(teleanchor, teleanchor.getUnlocalizedName()); - GameRegistry.registerBlock(field_disturber, field_disturber.getUnlocalizedName()); - GameRegistry.registerBlock(machine_satlinker, machine_satlinker.getUnlocalizedName()); - GameRegistry.registerBlock(machine_keyforge, machine_keyforge.getUnlocalizedName()); - GameRegistry.registerBlock(machine_armor_table, machine_armor_table.getUnlocalizedName()); - GameRegistry.registerBlock(machine_forcefield, machine_forcefield.getUnlocalizedName()); - GameRegistry.registerBlock(radiorec, radiorec.getUnlocalizedName()); - GameRegistry.registerBlock(radiobox, radiobox.getUnlocalizedName()); - - //Multiblock Parts - GameRegistry.registerBlock(struct_launcher, struct_launcher.getUnlocalizedName()); - GameRegistry.registerBlock(struct_scaffold, struct_scaffold.getUnlocalizedName()); - GameRegistry.registerBlock(struct_launcher_core, struct_launcher_core.getUnlocalizedName()); - GameRegistry.registerBlock(struct_launcher_core_large, struct_launcher_core_large.getUnlocalizedName()); - GameRegistry.registerBlock(struct_soyuz_core, struct_soyuz_core.getUnlocalizedName()); - GameRegistry.registerBlock(struct_iter_core, struct_iter_core.getUnlocalizedName()); - GameRegistry.registerBlock(struct_plasma_core, struct_plasma_core.getUnlocalizedName()); - GameRegistry.registerBlock(struct_watz_core, struct_watz_core.getUnlocalizedName()); - GameRegistry.registerBlock(struct_icf_core, struct_icf_core.getUnlocalizedName()); - - //Absorbers - GameRegistry.registerBlock(absorber, absorber.getUnlocalizedName()); - GameRegistry.registerBlock(absorber_red, absorber_red.getUnlocalizedName()); - GameRegistry.registerBlock(absorber_green, absorber_green.getUnlocalizedName()); - GameRegistry.registerBlock(absorber_pink, absorber_pink.getUnlocalizedName()); - GameRegistry.registerBlock(decon, decon.getUnlocalizedName()); - GameRegistry.registerBlock(transission_hatch, transission_hatch.getUnlocalizedName()); - - //Solar Tower Blocks - GameRegistry.registerBlock(machine_solar_boiler, machine_solar_boiler.getUnlocalizedName()); - GameRegistry.registerBlock(solar_mirror, solar_mirror.getUnlocalizedName()); - - //Literal fucking garbage - GameRegistry.registerBlock(factory_titanium_hull, factory_titanium_hull.getUnlocalizedName()); - GameRegistry.registerBlock(factory_advanced_hull, factory_advanced_hull.getUnlocalizedName()); - - //CM stuff - register(custom_machine, ItemCustomMachine.class); - register(cm_block); - register(cm_sheet); - register(cm_engine); - register(cm_tank); - register(cm_circuit); - register(cm_port); - register(cm_flux); - register(cm_heat); - register(cm_anchor); - - //PWR - register(pwr_fuel); - register(pwr_control); - register(pwr_channel); - register(pwr_heatex); - register(pwr_heatsink); - register(pwr_neutron_source); - register(pwr_reflector); - register(pwr_casing); - register(pwr_port); - register(pwr_controller); - register(pwr_block); - - //Multiblock Generators - register(fusion_conductor); - GameRegistry.registerBlock(fusion_center, fusion_center.getUnlocalizedName()); - GameRegistry.registerBlock(fusion_motor, fusion_motor.getUnlocalizedName()); - GameRegistry.registerBlock(fusion_heater, fusion_heater.getUnlocalizedName()); - GameRegistry.registerBlock(fusion_hatch, fusion_hatch.getUnlocalizedName()); - GameRegistry.registerBlock(plasma, ItemBlockLore.class, plasma.getUnlocalizedName()); - GameRegistry.registerBlock(iter, iter.getUnlocalizedName()); - GameRegistry.registerBlock(plasma_heater, plasma_heater.getUnlocalizedName()); - - register(machine_icf_press); - register(icf_laser_component); - register(icf_controller); - register(icf_block); - register(icf_component); - register(icf); - - GameRegistry.registerBlock(watz_element, watz_element.getUnlocalizedName()); - GameRegistry.registerBlock(watz_cooler, watz_cooler.getUnlocalizedName()); - register(watz_end); - GameRegistry.registerBlock(watz_conductor, watz_conductor.getUnlocalizedName()); - GameRegistry.registerBlock(watz, watz.getUnlocalizedName()); - GameRegistry.registerBlock(watz_pump, watz_pump.getUnlocalizedName()); - - //E - GameRegistry.registerBlock(balefire, balefire.getUnlocalizedName()); - GameRegistry.registerBlock(fire_digamma, fire_digamma.getUnlocalizedName()); - GameRegistry.registerBlock(digamma_matter, digamma_matter.getUnlocalizedName()); - register(volcano_core); - register(volcano_rad_core); - - //Dark Fusion Core - GameRegistry.registerBlock(dfc_emitter, dfc_emitter.getUnlocalizedName()); - GameRegistry.registerBlock(dfc_injector, dfc_injector.getUnlocalizedName()); - GameRegistry.registerBlock(dfc_receiver, dfc_receiver.getUnlocalizedName()); - GameRegistry.registerBlock(dfc_stabilizer, dfc_stabilizer.getUnlocalizedName()); - GameRegistry.registerBlock(dfc_core, dfc_core.getUnlocalizedName()); - - //Missile Blocks - GameRegistry.registerBlock(machine_missile_assembly, machine_missile_assembly.getUnlocalizedName()); - GameRegistry.registerBlock(launch_pad, launch_pad.getUnlocalizedName()); - GameRegistry.registerBlock(launch_pad_rusted, launch_pad_rusted.getUnlocalizedName()); - GameRegistry.registerBlock(launch_pad_large, launch_pad_large.getUnlocalizedName()); - GameRegistry.registerBlock(compact_launcher, compact_launcher.getUnlocalizedName()); - GameRegistry.registerBlock(launch_table, launch_table.getUnlocalizedName()); - GameRegistry.registerBlock(soyuz_launcher, soyuz_launcher.getUnlocalizedName()); - GameRegistry.registerBlock(sat_dock, sat_dock.getUnlocalizedName()); - GameRegistry.registerBlock(soyuz_capsule, soyuz_capsule.getUnlocalizedName()); - GameRegistry.registerBlock(machine_radar, machine_radar.getUnlocalizedName()); - GameRegistry.registerBlock(machine_radar_large, machine_radar_large.getUnlocalizedName()); - GameRegistry.registerBlock(radar_screen, radar_screen.getUnlocalizedName()); - - //Guide - GameRegistry.registerBlock(book_guide, book_guide.getUnlocalizedName()); - - //Sat Blocks - GameRegistry.registerBlock(sat_mapper, sat_mapper.getUnlocalizedName()); - GameRegistry.registerBlock(sat_scanner, sat_scanner.getUnlocalizedName()); - GameRegistry.registerBlock(sat_radar, sat_radar.getUnlocalizedName()); - GameRegistry.registerBlock(sat_laser, sat_laser.getUnlocalizedName()); - GameRegistry.registerBlock(sat_foeq, sat_foeq.getUnlocalizedName()); - GameRegistry.registerBlock(sat_resonator, sat_resonator.getUnlocalizedName()); - - //Rails - GameRegistry.registerBlock(rail_wood, ItemBlockBase.class, rail_wood.getUnlocalizedName()); - GameRegistry.registerBlock(rail_narrow, ItemBlockBase.class, rail_narrow.getUnlocalizedName()); - GameRegistry.registerBlock(rail_highspeed, ItemBlockBase.class, rail_highspeed.getUnlocalizedName()); - GameRegistry.registerBlock(rail_booster, ItemBlockBase.class, rail_booster.getUnlocalizedName()); - register(rail_narrow_straight); - register(rail_narrow_curve); - register(rail_large_straight); - register(rail_large_straight_short); - register(rail_large_curve); - register(rail_large_curve_7); - register(rail_large_curve_9); - register(rail_large_ramp); - register(rail_large_buffer); - register(rail_large_switch); - register(rail_large_switch_flipped); - - //Crate - GameRegistry.registerBlock(crate, crate.getUnlocalizedName()); - GameRegistry.registerBlock(crate_weapon, crate_weapon.getUnlocalizedName()); - GameRegistry.registerBlock(crate_lead, crate_lead.getUnlocalizedName()); - GameRegistry.registerBlock(crate_metal, crate_metal.getUnlocalizedName()); - GameRegistry.registerBlock(crate_red, crate_red.getUnlocalizedName()); - GameRegistry.registerBlock(crate_can, crate_can.getUnlocalizedName()); - GameRegistry.registerBlock(crate_ammo, crate_ammo.getUnlocalizedName()); - GameRegistry.registerBlock(crate_jungle, crate_jungle.getUnlocalizedName()); - - //ElB - GameRegistry.registerBlock(statue_elb, statue_elb.getUnlocalizedName()); - GameRegistry.registerBlock(statue_elb_g, statue_elb_g.getUnlocalizedName()); - GameRegistry.registerBlock(statue_elb_w, statue_elb_w.getUnlocalizedName()); - GameRegistry.registerBlock(statue_elb_f, statue_elb_f.getUnlocalizedName()); - - //Fluids - GameRegistry.registerBlock(mud_block, mud_block.getUnlocalizedName()); - GameRegistry.registerBlock(acid_block, acid_block.getUnlocalizedName()); - GameRegistry.registerBlock(toxic_block, toxic_block.getUnlocalizedName()); - GameRegistry.registerBlock(schrabidic_block, schrabidic_block.getUnlocalizedName()); - GameRegistry.registerBlock(corium_block, corium_block.getUnlocalizedName()); - GameRegistry.registerBlock(volcanic_lava_block, volcanic_lava_block.getUnlocalizedName()); - GameRegistry.registerBlock(rad_lava_block, rad_lava_block.getUnlocalizedName()); - GameRegistry.registerBlock(sulfuric_acid_block, sulfuric_acid_block.getUnlocalizedName()); - //GameRegistry.registerBlock(concrete_liquid, concrete_liquid.getUnlocalizedName()); - - //Multiblock Dummy Blocks - GameRegistry.registerBlock(dummy_block_vault, dummy_block_vault.getUnlocalizedName()); - GameRegistry.registerBlock(dummy_block_blast, dummy_block_blast.getUnlocalizedName()); - GameRegistry.registerBlock(dummy_block_uf6, dummy_block_uf6.getUnlocalizedName()); - GameRegistry.registerBlock(dummy_block_puf6, dummy_block_puf6.getUnlocalizedName()); - GameRegistry.registerBlock(dummy_plate_compact_launcher, dummy_plate_compact_launcher.getUnlocalizedName()); - GameRegistry.registerBlock(dummy_port_compact_launcher, dummy_port_compact_launcher.getUnlocalizedName()); - GameRegistry.registerBlock(dummy_plate_launch_table, dummy_plate_launch_table.getUnlocalizedName()); - GameRegistry.registerBlock(dummy_port_launch_table, dummy_port_launch_table.getUnlocalizedName()); - GameRegistry.registerBlock(dummy_plate_cargo, dummy_plate_cargo.getUnlocalizedName()); - - //Other Technical Blocks - GameRegistry.registerBlock(oil_pipe, oil_pipe.getUnlocalizedName()); - GameRegistry.registerBlock(vent_chlorine, vent_chlorine.getUnlocalizedName()); - GameRegistry.registerBlock(vent_cloud, vent_cloud.getUnlocalizedName()); - GameRegistry.registerBlock(vent_pink_cloud, vent_pink_cloud.getUnlocalizedName()); - GameRegistry.registerBlock(vent_chlorine_seal, vent_chlorine_seal.getUnlocalizedName()); - GameRegistry.registerBlock(chlorine_gas, chlorine_gas.getUnlocalizedName()); - GameRegistry.registerBlock(gas_radon, gas_radon.getUnlocalizedName()); - GameRegistry.registerBlock(gas_radon_dense, gas_radon_dense.getUnlocalizedName()); - GameRegistry.registerBlock(gas_radon_tomb, gas_radon_tomb.getUnlocalizedName()); - GameRegistry.registerBlock(gas_meltdown, gas_meltdown.getUnlocalizedName()); - GameRegistry.registerBlock(gas_monoxide, gas_monoxide.getUnlocalizedName()); - GameRegistry.registerBlock(gas_asbestos, gas_asbestos.getUnlocalizedName()); - GameRegistry.registerBlock(gas_coal, gas_coal.getUnlocalizedName()); - GameRegistry.registerBlock(gas_flammable, gas_flammable.getUnlocalizedName()); - GameRegistry.registerBlock(gas_explosive, gas_explosive.getUnlocalizedName()); - GameRegistry.registerBlock(vacuum, vacuum.getUnlocalizedName()); - - //??? - GameRegistry.registerBlock(crystal_virus, crystal_virus.getUnlocalizedName()); - GameRegistry.registerBlock(crystal_hardened, crystal_hardened.getUnlocalizedName()); - GameRegistry.registerBlock(crystal_pulsar, crystal_pulsar.getUnlocalizedName()); - GameRegistry.registerBlock(taint, ItemTaintBlock.class, taint.getUnlocalizedName()); - GameRegistry.registerBlock(cheater_virus, cheater_virus.getUnlocalizedName()); - GameRegistry.registerBlock(cheater_virus_seed, cheater_virus_seed.getUnlocalizedName()); - GameRegistry.registerBlock(ntm_dirt, ntm_dirt.getUnlocalizedName()); - GameRegistry.registerBlock(pink_log, pink_log.getUnlocalizedName()); - GameRegistry.registerBlock(pink_planks, pink_planks.getUnlocalizedName()); - GameRegistry.registerBlock(pink_slab, pink_slab.getUnlocalizedName()); - GameRegistry.registerBlock(pink_double_slab, pink_double_slab.getUnlocalizedName()); - GameRegistry.registerBlock(pink_stairs, pink_stairs.getUnlocalizedName()); - } - - private static void register(Block b) { - GameRegistry.registerBlock(b, ItemBlockBase.class, b.getUnlocalizedName()); - } - - private static void register(Block b, Class clazz) { - GameRegistry.registerBlock(b, clazz, b.getUnlocalizedName()); - } - - public static void addRemap(String unloc, Block block, int meta) { - Block remap = new BlockRemap(block, meta).setBlockName(unloc); - register(remap, ItemBlockRemap.class); - } -} +package com.hbm.blocks; + +import com.hbm.blocks.BlockEnums.*; +import com.hbm.blocks.bomb.*; +import com.hbm.blocks.fluid.*; +import com.hbm.blocks.gas.*; +import com.hbm.blocks.generic.*; +import com.hbm.blocks.generic.BlockHazard.ExtDisplayEffect; +import com.hbm.blocks.machine.*; +import com.hbm.blocks.machine.albion.*; +import com.hbm.blocks.machine.pile.*; +import com.hbm.blocks.machine.rbmk.*; +import com.hbm.blocks.network.*; +import com.hbm.blocks.rail.*; +import com.hbm.blocks.test.*; +import com.hbm.blocks.turret.*; +import com.hbm.items.block.*; +import com.hbm.items.bomb.ItemPrototypeBlock; +import com.hbm.items.special.ItemOreBlock; +import com.hbm.lib.ModDamageSource; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.DoorDecl; +import com.hbm.tileentity.machine.storage.TileEntityFileCabinet; +import cpw.mods.fml.common.registry.GameRegistry; +import net.minecraft.block.Block; +import net.minecraft.block.BlockFalling; +import net.minecraft.block.material.*; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidRegistry; + +import java.util.ArrayList; + +public class ModBlocks { + + public static void mainRegistry() { + initializeBlock(); + registerBlock(); + } + + public static Block event_tester; + public static Block obj_tester; + public static Block test_core; + public static Block test_charge; + public static Block structure_anchor; + + public static Block ore_uranium; + public static Block ore_uranium_scorched; + public static Block ore_titanium; + public static Block ore_sulfur; + public static Block ore_thorium; + public static Block ore_niter; + public static Block ore_copper; + public static Block ore_tungsten; + public static Block ore_aluminium; + public static Block ore_fluorite; + public static Block ore_lead; + public static Block ore_schrabidium; + public static Block ore_beryllium; + public static Block ore_australium; + public static Block ore_rare; + public static Block ore_cobalt; + public static Block ore_cinnebar; + public static Block ore_coltan; + public static Block ore_alexandrite; + + public static Block ore_bedrock; + public static Block ore_volcano; + + public static Block ore_nether_coal; + public static Block ore_nether_smoldering; + public static Block ore_nether_uranium; + public static Block ore_nether_uranium_scorched; + public static Block ore_nether_plutonium; + public static Block ore_nether_tungsten; + public static Block ore_nether_sulfur; + public static Block ore_nether_fire; + public static Block ore_nether_cobalt; + public static Block ore_nether_schrabidium; + + public static Block ore_meteor; + + public static Block stone_gneiss; + public static Block ore_gneiss_iron; + public static Block ore_gneiss_gold; + public static Block ore_gneiss_uranium; + public static Block ore_gneiss_uranium_scorched; + public static Block ore_gneiss_copper; + public static Block ore_gneiss_asbestos; + public static Block ore_gneiss_lithium; + public static Block ore_gneiss_schrabidium; + public static Block ore_gneiss_rare; + public static Block ore_gneiss_gas; + + public static Block gneiss_brick; + public static Block gneiss_tile; + public static Block gneiss_chiseled; + + public static Block stone_depth; + public static Block ore_depth_cinnebar; + public static Block ore_depth_zirconium; + public static Block ore_depth_borax; + public static Block cluster_depth_iron; + public static Block cluster_depth_titanium; + public static Block cluster_depth_tungsten; + + public static Block stone_keyhole; + public static Block stone_keyhole_meta; + + public static Block stone_depth_nether; + public static Block ore_depth_nether_neodymium; + + public static Block stone_porous; + public static Block stone_resource; + public static Block stalagmite; + public static Block stalactite; + public static Block stone_biome; + + public static Block depth_brick; + public static Block depth_tiles; + public static Block depth_nether_brick; + public static Block depth_nether_tiles; + public static Block depth_dnt; + + public static Block basalt; + public static Block ore_basalt; + public static Block basalt_smooth; + public static Block basalt_brick; + public static Block basalt_polished; + public static Block basalt_tiles; + + public static Block cluster_iron; + public static Block cluster_titanium; + public static Block cluster_aluminium; + public static Block cluster_copper; + + public static Block ore_oil; + public static Block ore_oil_empty; + public static Block ore_oil_sand; + public static Block ore_bedrock_oil; + public static Block ore_lignite; + public static Block ore_asbestos; + @Deprecated public static Block ore_coal_oil; + @Deprecated public static Block ore_coal_oil_burning; + + public static Block ore_tikite; + + public static Block block_thorium; + public static Block block_thorium_fuel; + public static Block block_uranium; + public static Block block_u233; + public static Block block_u235; + public static Block block_u238; + public static Block block_uranium_fuel; + public static Block block_neptunium; + public static Block block_polonium; + public static Block block_mox_fuel; + public static Block block_plutonium; + public static Block block_pu238; + public static Block block_pu239; + public static Block block_pu240; + public static Block block_pu_mix; + public static Block block_plutonium_fuel; + public static Block block_titanium; + public static Block block_sulfur; + public static Block block_niter; + public static Block block_copper; + public static Block block_red_copper; + public static Block block_tungsten; + public static Block block_aluminium; + public static Block block_fluorite; + public static Block block_steel; + public static Block block_tcalloy; + public static Block block_cdalloy; + public static Block block_lead; + public static Block block_bismuth; + public static Block block_cadmium; + public static Block block_coltan; + public static Block block_tantalium; + public static Block block_niobium; + public static Block block_trinitite; + public static Block block_waste; + public static Block block_waste_painted; + public static Block block_waste_vitrified; + public static Block ancient_scrap; + public static Block block_corium; + public static Block block_corium_cobble; + public static Block block_scrap; + public static Block block_electrical_scrap; + public static Block block_beryllium; + public static Block block_schraranium; + public static Block block_schrabidium; + public static Block block_schrabidate; + public static Block block_solinium; + public static Block block_schrabidium_fuel; + public static Block block_euphemium; + public static Block block_schrabidium_cluster; + public static Block block_euphemium_cluster; + public static Block block_dineutronium; + public static Block block_advanced_alloy; + public static Block block_magnetized_tungsten; + public static Block block_combine_steel; + public static Block block_desh; + public static Block block_dura_steel; + public static Block block_starmetal; + public static Block block_polymer; + public static Block block_bakelite; + public static Block block_rubber; + public static Block block_yellowcake; + public static Block block_insulator; + public static Block block_fiberglass; + public static Block block_asbestos; + public static Block block_cobalt; + public static Block block_lithium; + public static Block block_zirconium; + public static Block block_white_phosphorus; + public static Block block_red_phosphorus; + public static Block block_fallout; + public static Block block_foam; + public static Block block_coke; + public static Block block_graphite; + public static Block block_graphite_drilled; + public static Block block_graphite_fuel; + public static Block block_graphite_plutonium; + public static Block block_graphite_rod; + public static Block block_graphite_source; + public static Block block_graphite_lithium; + public static Block block_graphite_tritium; + public static Block block_graphite_detector; + public static Block block_boron; + public static Block block_lanthanium; + public static Block block_ra226; + public static Block block_actinium; + public static Block block_tritium; + public static Block block_semtex; + public static Block block_c4; + public static Block block_smore; + public static Block block_slag; + + public static Block block_australium; + public static Block block_weidanium; + public static Block block_reiium; + public static Block block_unobtainium; + public static Block block_daffergon; + public static Block block_verticium; + + public static Block block_cap; + + public static Block deco_titanium; + public static Block deco_red_copper; + public static Block deco_tungsten; + public static Block deco_aluminium; + public static Block deco_steel; + public static Block deco_rusty_steel; + public static Block deco_lead; + public static Block deco_beryllium; + public static Block deco_asbestos; + public static Block deco_rbmk; + public static Block deco_rbmk_smooth; + + public static Block deco_emitter; + public static Block part_emitter; + public static Block deco_loot; + public static Block pedestal; + public static Block skeleton_holder; + public static Block bobblehead; + public static Block snowglobe; + public static Block plushie; + public static Block dungeon_spawner; + + public static Block gravel_obsidian; + public static Block gravel_diamond; + public static Block asphalt; + public static Block asphalt_light; + + public static Block sandbags; + public static Block wood_barrier; + public static Block wood_structure; + + public static Block reinforced_brick; + public static Block reinforced_ducrete; + public static Block reinforced_glass; + public static Block reinforced_glass_pane; + public static Block reinforced_light; + public static Block reinforced_sand; + public static Block reinforced_lamp_off; + public static Block reinforced_lamp_on; + public static Block reinforced_laminate; + public static Block reinforced_laminate_pane; + + public static Block lamp_tritium_green_off; + public static Block lamp_tritium_green_on; + public static Block lamp_tritium_blue_off; + public static Block lamp_tritium_blue_on; + + public static Block lamp_demon; + + public static Block lantern; + public static Block lantern_behemoth; + + public static Block spotlight_incandescent; + public static Block spotlight_incandescent_off; + public static Block spotlight_fluoro; + public static Block spotlight_fluoro_off; + public static Block spotlight_halogen; + public static Block spotlight_halogen_off; + public static Block spotlight_beam; + public static Block floodlight; + public static Block floodlight_beam; + + public static Block reinforced_stone; + public static Block concrete_smooth; + public static Block concrete_colored; + public static Block concrete_colored_ext; + public static Block concrete; + public static Block concrete_asbestos; + public static Block concrete_super; + public static Block concrete_super_broken; + public static Block ducrete_smooth; + public static Block ducrete; + public static Block concrete_pillar; + public static Block brick_concrete; + public static Block brick_concrete_mossy; + public static Block brick_concrete_cracked; + public static Block brick_concrete_broken; + public static Block brick_concrete_marked; + public static Block brick_ducrete; + public static Block brick_obsidian; + public static Block brick_light; + public static Block brick_compound; + public static Block brick_asbestos; + public static Block brick_fire; + + public static Block lightstone; + + public static Block concrete_slab; + public static Block concrete_double_slab; + public static Block concrete_brick_slab; + public static Block concrete_brick_double_slab; + public static Block brick_slab; + public static Block brick_double_slab; + public static Block stones_slab; + public static Block stones_double_slab; + + public static Block concrete_smooth_stairs; + public static Block concrete_stairs; + public static Block concrete_asbestos_stairs; + public static Block ducrete_smooth_stairs; + public static Block ducrete_stairs; + public static Block brick_concrete_stairs; + public static Block brick_concrete_mossy_stairs; + public static Block brick_concrete_cracked_stairs; + public static Block brick_concrete_broken_stairs; + public static Block brick_ducrete_stairs; + public static Block reinforced_stone_stairs; + public static Block reinforced_brick_stairs; + public static Block brick_obsidian_stairs; + public static Block brick_light_stairs; + public static Block brick_compound_stairs; + public static Block brick_asbestos_stairs; + public static Block brick_fire_stairs; + public static Block asphalt_stairs; + public static Block lightstone_tile_stairs; + public static Block lightstone_bricks_stairs; + + public static Block cmb_brick; + public static Block cmb_brick_reinforced; + + public static Block vinyl_tile; + + public static Block tile_lab; + public static Block tile_lab_cracked; + public static Block tile_lab_broken; + + public static Block block_meteor; + public static Block block_meteor_cobble; + public static Block block_meteor_broken; + public static Block block_meteor_molten; + public static Block block_meteor_treasure; + public static Block meteor_polished; + public static Block meteor_brick; + public static Block meteor_brick_mossy; + public static Block meteor_brick_cracked; + public static Block meteor_brick_chiseled; + public static Block meteor_pillar; + public static Block meteor_spawner; + public static Block meteor_battery; + + public static Block moon_turf; + + public static Block brick_jungle; + public static Block brick_jungle_cracked; + public static Block brick_jungle_fragile; + public static Block brick_jungle_lava; + public static Block brick_jungle_ooze; + public static Block brick_jungle_mystic; + public static Block brick_jungle_trap; + public static Block brick_jungle_glyph; + public static Block brick_jungle_circle; + + public static Block brick_red; + + public static Block deco_computer; + public static Block deco_crt; + public static Block deco_toaster; + + public static Block filing_cabinet; + + public static Block tape_recorder; + public static Block steel_poles; + public static Block pole_top; + public static Block pole_satellite_receiver; + public static Block steel_wall; + public static Block steel_corner; + public static Block steel_roof; + public static Block steel_beam; + public static Block steel_scaffold; + public static Block steel_grate; + public static Block steel_grate_wide; + + public static Block deco_pipe; + public static Block deco_pipe_rusted; + public static Block deco_pipe_green; + public static Block deco_pipe_green_rusted; + public static Block deco_pipe_red; + public static Block deco_pipe_marked; + public static Block deco_pipe_rim; + public static Block deco_pipe_rim_rusted; + public static Block deco_pipe_rim_green; + public static Block deco_pipe_rim_green_rusted; + public static Block deco_pipe_rim_red; + public static Block deco_pipe_rim_marked; + public static Block deco_pipe_framed; + public static Block deco_pipe_framed_rusted; + public static Block deco_pipe_framed_green; + public static Block deco_pipe_framed_green_rusted; + public static Block deco_pipe_framed_red; + public static Block deco_pipe_framed_marked; + public static Block deco_pipe_quad; + public static Block deco_pipe_quad_rusted; + public static Block deco_pipe_quad_green; + public static Block deco_pipe_quad_green_rusted; + public static Block deco_pipe_quad_red; + public static Block deco_pipe_quad_marked; + + public static Block broadcaster_pc; + public static Block geiger; + public static Block hev_battery; + + public static Block fence_metal; + + public static Block sand_boron; + public static Block sand_lead; + public static Block sand_uranium; + public static Block sand_polonium; + public static Block sand_quartz; + public static Block ash_digamma; + public static Block glass_boron; + public static Block glass_lead; + public static Block glass_uranium; + public static Block glass_trinitite; + public static Block glass_polonium; + public static Block glass_ash; + public static Block glass_quartz; + public static Block glass_polarized; + + public static Block mush; + public static Block mush_block; + public static Block mush_block_stem; + + public static Block glyphid_base; + public static Block glyphid_spawner; + + public static Block plant_flower; + public static Block plant_tall; + public static Block plant_dead; + public static Block reeds; + public static Block vine_phosphor; + public static final Material thick_foliage = new MaterialLogic(MapColor.foliageColor) { + @Override public boolean getCanBurn() { return true; } + @Override public boolean isToolNotRequired() { return false; } + @Override public int getMaterialMobility() { return 1; } + }; + + public static Block waste_earth; + public static Block waste_mycelium; + public static Block waste_trinitite; + public static Block waste_trinitite_red; + public static Block waste_log; + public static Block waste_leaves; + public static Block waste_planks; + public static Block frozen_dirt; + public static Block frozen_grass; + public static Block frozen_log; + public static Block frozen_planks; + public static Block dirt_dead; + public static Block dirt_oily; + public static Block sand_dirty; + public static Block sand_dirty_red; + public static Block stone_cracked; + public static Block burning_earth; + public static Block tektite; + public static Block ore_tektite_osmiridium; + public static Block impact_dirt; + + public static Block fallout; + public static Block foam_layer; + public static Block sand_boron_layer; + public static Block leaves_layer; + public static Block oil_spill; + + public static Block sellafield_slaked; + public static Block sellafield_bedrock; + public static Block sellafield; + public static Block ore_sellafield_diamond; + public static Block ore_sellafield_emerald; + public static Block ore_sellafield_uranium_scorched; + public static Block ore_sellafield_schrabidium; + public static Block ore_sellafield_radgem; + + public static Block geysir_water; + public static Block geysir_chlorine; + public static Block geysir_vapor; + public static Block geysir_nether; + + public static Block flame_war; + public static Block float_bomb; + public static Block therm_endo; + public static Block therm_exo; + public static Block emp_bomb; + public static Block det_cord; + public static Block det_charge; + public static Block det_nuke; + public static Block det_miner; + public static Block red_barrel; + public static Block pink_barrel; + public static Block yellow_barrel; + public static Block vitrified_barrel; + public static Block lox_barrel; + public static Block taint_barrel; + public static Block crashed_balefire; + public static Block fireworks; + public static Block dynamite; + public static Block tnt; + public static Block semtex; + public static Block c4; + public static Block fissure_bomb; + + public static Block charge_dynamite; + public static Block charge_miner; + public static Block charge_c4; + public static Block charge_semtex; + + public static Block mine_ap; + public static Block mine_he; + public static Block mine_shrap; + public static Block mine_fat; + public static Block mine_naval; + + public static Block crate; + public static Block crate_weapon; + public static Block crate_lead; + public static Block crate_metal; + public static Block crate_red; + public static Block crate_can; + public static Block crate_ammo; + public static Block crate_jungle; + + public static Block boxcar; + public static Block boat; + + public static Block seal_frame; + public static Block seal_controller; + public static Block seal_hatch; + + public static Block vault_door; + public static Block blast_door; + public static Block sliding_blast_door; + public static Block fire_door; + public static Block transition_seal; + public static Block silo_hatch; + public static Block silo_hatch_large; + + // 1.12.2 Doors + public static Block secure_access_door; + public static Block large_vehicle_door; + public static Block qe_containment; + public static Block qe_sliding_door; + public static Block round_airlock_door; + public static Block sliding_seal_door; + public static Block water_door; + + public static Block door_metal; + public static Block door_office; + public static Block door_bunker; + public static Block door_red; + + public static Block barbed_wire; + public static Block barbed_wire_fire; + public static Block barbed_wire_poison; + public static Block barbed_wire_acid; + public static Block barbed_wire_wither; + public static Block barbed_wire_ultradeath; + public static Block spikes; + + public static Block charger; + public static Block refueler; + + public static Block tesla; + + public static Block sat_mapper; + public static Block sat_scanner; + public static Block sat_radar; + public static Block sat_laser; + public static Block sat_foeq; + public static Block sat_resonator; + + public static Block sat_dock; + + public static Block soyuz_capsule; + public static Block crate_supply; + + public static Block crate_iron; + public static Block crate_steel; + public static Block crate_desh; + public static Block crate_tungsten; + public static Block crate_template; + public static Block safe; + public static Block mass_storage; + + public static Block nuke_gadget; + public static Block nuke_boy; + public static Block nuke_man; + public static Block nuke_mike; + public static Block nuke_tsar; + public static Block nuke_fleija; + public static Block nuke_prototype; + public static Block nuke_custom; + public static Block nuke_solinium; + public static Block nuke_n2; + public static Block nuke_fstbmb; + public static Block bomb_multi; + + public static Block pump_steam; + public static Block pump_electric; + + public static Block heater_firebox; + public static Block heater_oven; + public static Block heater_oilburner; + public static Block heater_electric; + public static Block heater_heatex; + public static Block machine_ashpit; + + public static Block furnace_iron; + public static Block furnace_steel; + public static Block furnace_combination; + public static Block machine_stirling; + public static Block machine_stirling_steel; + public static Block machine_stirling_creative; + public static Block machine_sawmill; + public static Block machine_crucible; + public static Block machine_boiler; + public static Block machine_industrial_boiler; + + public static Block foundry_mold; + public static Block foundry_basin; + public static Block foundry_channel; + public static Block foundry_tank; + public static Block foundry_outlet; + public static Block machine_strand_caster; + public static Block foundry_slagtap; + public static Block slag; + + public static Block machine_difurnace_off; + public static Block machine_difurnace_on; + public static Block machine_difurnace_extension; + public static Block machine_difurnace_rtg_off; + public static Block machine_difurnace_rtg_on; + //public static final int guiID_test_difurnace = 1; historical + + public static Block machine_centrifuge; + public static Block machine_gascent; + + public static Block machine_fel; + public static Block machine_silex; + + public static Block machine_rotary_furnace; + public static Block machine_crystallizer; + + public static Block machine_uf6_tank; + public static Block machine_puf6_tank; + + public static Block machine_reactor_breeding; + + public static Block machine_furnace_brick_off; + public static Block machine_furnace_brick_on; + public static Block machine_rtg_furnace_off; + public static Block machine_rtg_furnace_on; + + public static Block machine_industrial_generator; + + public static Block machine_cyclotron; + public static Block machine_exposure_chamber; + + public static Block hadron_plating; + public static Block hadron_plating_blue; + public static Block hadron_plating_black; + public static Block hadron_plating_yellow; + public static Block hadron_plating_striped; + public static Block hadron_plating_voltz; + public static Block hadron_plating_glass; + public static Block hadron_coil_alloy; + public static Block hadron_coil_gold; + public static Block hadron_coil_neodymium; + public static Block hadron_coil_magtung; + public static Block hadron_coil_schrabidium; + public static Block hadron_coil_schrabidate; + public static Block hadron_coil_starmetal; + public static Block hadron_coil_chlorophyte; + public static Block hadron_coil_mese; + public static Block hadron_power; + public static Block hadron_power_10m; + public static Block hadron_power_100m; + public static Block hadron_power_1g; + public static Block hadron_power_10g; + public static Block hadron_diode; + public static Block hadron_analysis; + public static Block hadron_analysis_glass; + public static Block hadron_access; + public static Block hadron_core; + + public static Block pa_source; + public static Block pa_beamline; + public static Block pa_rfc; + public static Block pa_quadrupole; + public static Block pa_dipole; + public static Block pa_detector; + + public static Block machine_electric_furnace_off; + public static Block machine_electric_furnace_on; + + public static Block machine_microwave; + + public static Block machine_arc_furnace_off; + public static Block machine_arc_furnace_on; + + //public static Block machine_deuterium; + + public static Block machine_battery_potato; + public static Block machine_battery; + public static Block machine_lithium_battery; + public static Block machine_schrabidium_battery; + public static Block machine_dineutronium_battery; + public static Block machine_fensu; + public static final int guiID_machine_fensu = 99; + + public static Block capacitor_bus; + public static Block capacitor_copper; + public static Block capacitor_gold; + public static Block capacitor_niobium; + public static Block capacitor_tantalium; + public static Block capacitor_schrabidate; + + public static Block machine_wood_burner; + + public static Block red_wire_coated; + public static Block red_cable; + public static Block red_cable_classic; + public static Block red_cable_paintable; + public static Block red_cable_gauge; + public static Block red_connector; + public static Block red_pylon; + public static Block red_pylon_medium_wood; + public static Block red_pylon_medium_wood_transformer; + public static Block red_pylon_medium_steel; + public static Block red_pylon_medium_steel_transformer; + public static Block red_pylon_large; + public static Block substation; + public static Block cable_switch; + public static Block cable_detector; + public static Block cable_diode; + public static Block machine_detector; + public static Block fluid_duct_neo; + public static Block fluid_duct_box; + public static Block fluid_duct_paintable; + public static Block fluid_duct_gauge; + public static Block fluid_duct_exhaust; + public static Block fluid_duct_paintable_block_exhaust; + public static Block fluid_valve; + public static Block fluid_switch; + public static Block fluid_pump; + public static Block machine_drain; + public static Block radio_torch_sender; + public static Block radio_torch_receiver; + public static Block radio_torch_counter; + public static Block radio_torch_logic; + public static Block radio_torch_reader; + public static Block radio_torch_controller; + public static Block radio_telex; + + public static Block conveyor; + public static Block conveyor_express; + //public static Block conveyor_classic; + public static Block conveyor_double; + public static Block conveyor_triple; + public static Block conveyor_chute; + public static Block conveyor_lift; + public static Block crane_extractor; + public static Block crane_inserter; + public static Block crane_grabber; + public static Block crane_router; + public static Block crane_boxer; + public static Block crane_unboxer; + public static Block crane_splitter; + public static Block crane_partitioner; + + public static Block drone_waypoint; + public static Block drone_crate; + public static Block drone_waypoint_request; + public static Block drone_dock; + public static Block drone_crate_provider; + public static Block drone_crate_requester; + + public static Block pneumatic_tube; + + public static Block fan; + + public static Block piston_inserter; + + public static Block chain; + + public static Block ladder_sturdy; + public static Block ladder_iron; + public static Block ladder_gold; + public static Block ladder_aluminium; + public static Block ladder_copper; + public static Block ladder_titanium; + public static Block ladder_lead; + public static Block ladder_cobalt; + public static Block ladder_steel; + public static Block ladder_tungsten; + + public static Block trapdoor_steel; + + public static Block barrel_plastic; + public static Block barrel_corroded; + public static Block barrel_iron; + public static Block barrel_steel; + public static Block barrel_tcalloy; + public static Block barrel_antimatter; + + public static Block machine_transformer; + public static Block machine_transformer_dnt; + + public static Block machine_solar_boiler; + public static Block solar_mirror; + + public static Block struct_launcher; + public static Block struct_scaffold; + public static Block struct_launcher_core; + public static Block struct_launcher_core_large; + public static Block struct_soyuz_core; + public static Block struct_iter_core; + public static Block struct_plasma_core; + public static Block struct_watz_core; + public static Block struct_icf_core; + + public static Block factory_titanium_hull; + public static Block factory_advanced_hull; + + public static Block cm_block; + public static Block cm_sheet; + public static Block cm_engine; + public static Block cm_tank; + public static Block cm_circuit; + public static Block cm_port; + public static Block cm_flux; + public static Block cm_heat; + public static Block custom_machine; + public static Block cm_anchor; + + public static Block pwr_fuel; + public static Block pwr_control; + public static Block pwr_channel; + public static Block pwr_heatex; + public static Block pwr_heatsink; + public static Block pwr_neutron_source; + public static Block pwr_reflector; + public static Block pwr_casing; + public static Block pwr_port; + public static Block pwr_controller; + public static Block pwr_block; + + public static Block fusion_conductor; + public static Block fusion_center; + public static Block fusion_motor; + public static Block fusion_heater; + public static Block fusion_hatch; + public static Block plasma; + + public static Block iter; + public static Block plasma_heater; + + public static Block machine_icf_press; + public static Block icf_component; + public static Block icf; + public static Block icf_controller; + public static Block icf_laser_component; + public static Block icf_block; + + public static Block watz; + public static Block watz_pump; + + public static Block watz_element; + public static Block watz_cooler; + public static Block watz_end; + + public static Block balefire; + public static Block fire_digamma; + public static Block digamma_matter; + + public static Block dfc_emitter; + public static Block dfc_injector; + public static Block dfc_receiver; + public static Block dfc_stabilizer; + public static Block dfc_core; + + public static Block machine_converter_he_rf; + public static Block machine_converter_rf_he; + + public static Block machine_schrabidium_transmutator; + + public static Block machine_diesel; + public static Block machine_combustion_engine; + + public static Block machine_shredder; + + public static Block machine_teleporter; + public static Block teleanchor; + public static Block field_disturber; + + public static Block machine_rtg_grey; + public static Block machine_amgen; + public static Block machine_geo; + public static Block machine_minirtg; + public static Block machine_powerrtg; + public static Block machine_radiolysis; + public static Block machine_hephaestus; + + public static Block machine_well; + public static Block oil_pipe; + public static Block machine_pumpjack; + public static Block machine_fracking_tower; + + public static Block machine_flare; + public static Block chimney_brick; + public static Block chimney_industrial; + + public static Block machine_refinery; + public static Block machine_vacuum_distill; + public static Block machine_fraction_tower; + public static Block fraction_spacer; + public static Block machine_catalytic_cracker; + public static Block machine_catalytic_reformer; + public static Block machine_hydrotreater; + public static Block machine_coker; + public static Block machine_pyrooven; + + public static Block machine_boiler_off; + + public static Block machine_steam_engine; + public static Block machine_turbine; + public static Block machine_large_turbine; + + public static Block machine_deuterium_extractor; + public static Block machine_deuterium_tower; + + public static Block machine_liquefactor; + public static Block machine_solidifier; + public static Block machine_intake; + public static Block machine_compressor; + public static Block machine_compressor_compact; + + public static Block machine_chungus; + public static Block machine_condenser; + public static Block machine_tower_small; + public static Block machine_tower_large; + public static Block machine_condenser_powered; + + public static Block machine_electrolyser; + + public static Block machine_excavator; + public static Block machine_ore_slopper; + public static Block machine_autosaw; + + public static Block machine_mining_laser; + public static Block barricade; // a sand bag that drops nothing, for automated walling purposes + + @Deprecated public static Block machine_assembler; + public static Block machine_assembly_machine; + public static Block machine_assemfac; + public static Block machine_arc_welder; + public static Block machine_soldering_station; + public static Block machine_arc_furnace; + + @Deprecated public static Block machine_chemplant; + public static Block machine_chemical_plant; + public static Block machine_chemfac; + public static Block machine_chemical_factory; + public static Block machine_mixer; + + public static Block machine_fluidtank; + public static Block machine_bat9000; + public static Block machine_orbus; + + public static Block launch_pad; + public static Block launch_pad_rusted; + public static Block launch_pad_large; + + public static Block machine_missile_assembly; + + public static Block compact_launcher; + public static Block launch_table; + + public static Block soyuz_launcher; + + public static Block machine_radar; + public static Block machine_radar_large; + public static Block radar_screen; + + public static Block machine_turbofan; + public static Block machine_turbinegas; + public static Block machine_lpw2; + + public static Block press_preheater; + public static Block machine_press; + public static Block machine_epress; + public static Block machine_conveyor_press; + public static Block machine_ammo_press; + + public static Block machine_siren; + + public static Block machine_radgen; + + public static Block machine_satlinker; + public static Block machine_keyforge; + + public static Block machine_armor_table; + public static Block machine_weapon_table; + + public static Block reactor_research; + public static Block reactor_zirnox; + public static Block zirnox_destroyed; + + public static Block machine_controller; + + public static Block machine_spp_bottom; + public static Block machine_spp_top; + + public static Block radiobox; + public static Block radiorec; + + public static Block machine_forcefield; + + public static Block machine_waste_drum; + public static Block machine_storage_drum; + + public static Block machine_autocrafter; + public static Block machine_funnel; + + public static Block anvil_iron; + public static Block anvil_lead; + public static Block anvil_steel; + public static Block anvil_desh; + public static Block anvil_ferrouranium; + public static Block anvil_saturnite; + public static Block anvil_bismuth_bronze; + public static Block anvil_arsenic_bronze; + public static Block anvil_schrabidate; + public static Block anvil_dnt; + public static Block anvil_osmiridium; + public static Block anvil_murky; + + public static Block turret_chekhov; + public static Block turret_friendly; + public static Block turret_jeremy; + public static Block turret_tauon; + public static Block turret_richard; + public static Block turret_howard; + public static Block turret_howard_damaged; + public static Block turret_maxwell; + public static Block turret_fritz; + public static Block turret_arty; + public static Block turret_himars; + public static Block turret_sentry; + public static Block turret_sentry_damaged; + + public static Block rbmk_rod; + public static Block rbmk_rod_mod; + public static Block rbmk_rod_reasim; + public static Block rbmk_rod_reasim_mod; + public static Block rbmk_control; + public static Block rbmk_control_mod; + public static Block rbmk_control_auto; + public static Block rbmk_blank; + public static Block rbmk_boiler; + public static Block rbmk_reflector; + public static Block rbmk_absorber; + public static Block rbmk_moderator; + public static Block rbmk_outgasser; + public static Block rbmk_storage; + public static Block rbmk_cooler; + public static Block rbmk_heater; + public static Block rbmk_console; + public static Block rbmk_crane_console; + public static Block rbmk_loader; + public static Block rbmk_steam_inlet; + public static Block rbmk_steam_outlet; + public static Block pribris; + public static Block pribris_burning; + public static Block pribris_radiating; + public static Block pribris_digamma; + + public static Block book_guide; + + public static Block rail_wood; + public static Block rail_narrow; + public static Block rail_highspeed; + public static Block rail_booster; + + public static Block rail_narrow_straight; + public static Block rail_narrow_curve; + public static Block rail_large_straight; + public static Block rail_large_straight_short; + public static Block rail_large_curve; + public static Block rail_large_curve_7; + public static Block rail_large_curve_9; + public static Block rail_large_ramp; + public static Block rail_large_buffer; + public static Block rail_large_switch; + public static Block rail_large_switch_flipped; + + public static Block statue_elb_f; + + public static Block cheater_virus; + public static Block cheater_virus_seed; + public static Block crystal_virus; + public static Block crystal_hardened; + public static Block crystal_pulsar; + public static Block taint; + + public static Block vent_chlorine; + public static Block vent_cloud; + public static Block vent_pink_cloud; + public static Block vent_chlorine_seal; + public static Block chlorine_gas; + + public static Block gas_radon; + public static Block gas_radon_dense; + public static Block gas_radon_tomb; + public static Block gas_meltdown; + public static Block gas_monoxide; + public static Block gas_asbestos; + public static Block gas_coal; + public static Block gas_flammable; + public static Block gas_explosive; + public static Block vacuum; + + public static Block absorber; + public static Block absorber_red; + public static Block absorber_green; + public static Block absorber_pink; + public static Block decon; + + public static Block mud_block; + public static Fluid mud_fluid; + public static final Material fluidmud = (new MaterialLiquid(MapColor.adobeColor)); + + public static Block acid_block; + public static Fluid acid_fluid; + public static final Material fluidacid = (new MaterialLiquid(MapColor.purpleColor)); + + public static Block toxic_block; + public static Fluid toxic_fluid; + public static final Material fluidtoxic = (new MaterialLiquid(MapColor.greenColor)); + + public static Block schrabidic_block; + public static Fluid schrabidic_fluid; + public static final Material fluidschrabidic = (new MaterialLiquid(MapColor.cyanColor)); + + public static Block corium_block; + public static Fluid corium_fluid; + public static final Material fluidcorium = (new MaterialLiquid(MapColor.brownColor) { + + @Override + public boolean blocksMovement() { + return true; + } + + @Override + public Material setImmovableMobility() { //override access modifier + return super.setImmovableMobility(); + } + + }.setImmovableMobility()); + + public static Block volcanic_lava_block; + public static Fluid volcanic_lava_fluid; + public static Block rad_lava_block; + public static Fluid rad_lava_fluid; + + public static Block sulfuric_acid_block; + public static Fluid sulfuric_acid_fluid; + + public static Block concrete_liquid; + + public static Block volcano_core; + public static Block volcano_rad_core; + + public static Block dummy_block_vault; + public static Block dummy_block_blast; + public static Block dummy_plate_compact_launcher; + public static Block dummy_port_compact_launcher; + public static Block dummy_plate_launch_table; + public static Block dummy_port_launch_table; + public static Block dummy_plate_cargo; + + public static Block ntm_dirt; + + public static Block pink_log; + public static Block pink_planks; + public static Block pink_slab; + public static Block pink_double_slab; + public static Block pink_stairs; + + // NBT Structure wand blocks + public static Block wand_air; + public static Block wand_loot; + public static Block wand_jigsaw; + public static Block wand_logic; + + public static Block logic_block; + + public static Material materialGas = new MaterialGas(); + + private static void initializeBlock() { + + event_tester = new TestEventTester(Material.iron).setBlockName("event_tester").setCreativeTab(null).setHardness(2.5F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":event_tester"); + obj_tester = new TestObjTester(Material.iron).setBlockName("obj_tester").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F); + test_core = new TestCore(Material.iron).setBlockName("test_core").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_core"); + test_charge = new TestCharge(Material.iron).setBlockName("test_charge").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F); + structure_anchor = new BlockGeneric(Material.iron).setBlockName("structure_anchor").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":structure_anchor"); + + ore_uranium = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_uranium"); + ore_uranium_scorched = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_uranium_scorched"); + ore_titanium = new BlockGeneric(Material.rock).setBlockName("ore_titanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_titanium"); + ore_sulfur = new BlockOre(Material.rock).setBlockName("ore_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_sulfur"); + ore_thorium = new BlockGeneric(Material.rock).setBlockName("ore_thorium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_thorium"); + + ore_niter = new BlockOre(Material.rock).setBlockName("ore_niter").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_niter"); + ore_copper = new BlockGeneric(Material.rock).setBlockName("ore_copper").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_copper"); + ore_tungsten = new BlockGeneric(Material.rock).setBlockName("ore_tungsten").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_tungsten"); + ore_aluminium = new BlockGeneric(Material.rock).setBlockName("ore_aluminium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_aluminium"); + ore_fluorite = new BlockOre(Material.rock).setBlockName("ore_fluorite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_fluorite"); + ore_lead = new BlockGeneric(Material.rock).setBlockName("ore_lead").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_lead"); + ore_schrabidium = new BlockOre(Material.rock, 0.1F, 0.5F).setBlockName("ore_schrabidium").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":ore_schrabidium"); + ore_beryllium = new BlockGeneric(Material.rock).setBlockName("ore_beryllium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_beryllium"); + ore_lignite = new BlockOre(Material.rock).setBlockName("ore_lignite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_lignite"); + ore_asbestos = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_asbestos"); + ore_coal_oil = new BlockCoalOil(Material.rock).setBlockName("ore_coal_oil").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_coal_oil"); + ore_coal_oil_burning = new BlockCoalBurning(Material.rock).setBlockName("ore_coal_oil_burning").setCreativeTab(MainRegistry.blockTab).setLightLevel(10F/15F).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_coal_oil_burning"); + + cluster_iron = new BlockCluster(Material.rock).setBlockName("cluster_iron").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":cluster_iron"); + cluster_titanium = new BlockCluster(Material.rock).setBlockName("cluster_titanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":cluster_titanium"); + cluster_aluminium = new BlockCluster(Material.rock).setBlockName("cluster_aluminium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":cluster_aluminium"); + cluster_copper = new BlockCluster(Material.rock).setBlockName("cluster_copper").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":cluster_copper"); + + ore_nether_coal = new BlockNetherCoal(Material.rock, false, 5, true).setBlockName("ore_nether_coal").setCreativeTab(MainRegistry.blockTab).setLightLevel(10F/15F).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_coal"); + ore_nether_smoldering = new BlockSmolder(Material.rock).setBlockName("ore_nether_smoldering").setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_smoldering"); + ore_nether_uranium = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_nether_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_uranium"); + ore_nether_uranium_scorched = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_nether_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_uranium_scorched"); + ore_nether_plutonium = new BlockGeneric(Material.rock).setBlockName("ore_nether_plutonium").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_plutonium"); + ore_nether_tungsten = new BlockGeneric(Material.rock).setBlockName("ore_nether_tungsten").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_tungsten"); + ore_nether_sulfur = new BlockOre(Material.rock).setBlockName("ore_nether_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_sulfur"); + ore_nether_fire = new BlockOre(Material.rock).setBlockName("ore_nether_fire").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_fire"); + ore_nether_cobalt = new BlockOre(Material.rock).setBlockName("ore_nether_cobalt").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_cobalt"); + ore_nether_schrabidium = new BlockGeneric(Material.rock).setBlockName("ore_nether_schrabidium").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_schrabidium"); + + ore_meteor = new BlockMeteorOre().setBlockName("ore_meteor").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); + + stone_gneiss = new BlockGeneric(Material.rock).setBlockName("stone_gneiss").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":stone_gneiss_var"); + ore_gneiss_iron = new BlockOre(Material.rock).setBlockName("ore_gneiss_iron").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_iron"); + ore_gneiss_gold = new BlockOre(Material.rock).setBlockName("ore_gneiss_gold").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_gold"); + ore_gneiss_uranium = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_gneiss_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_uranium"); + ore_gneiss_uranium_scorched = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_gneiss_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_uranium_scorched"); + ore_gneiss_copper = new BlockOre(Material.rock).setBlockName("ore_gneiss_copper").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_copper"); + ore_gneiss_asbestos = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_gneiss_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_asbestos"); + ore_gneiss_lithium = new BlockOre(Material.rock).setBlockName("ore_gneiss_lithium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_lithium"); + ore_gneiss_schrabidium = new BlockOre(Material.rock).setBlockName("ore_gneiss_schrabidium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_schrabidium"); + ore_gneiss_rare = new BlockOre(Material.rock).setBlockName("ore_gneiss_rare").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_rare"); + ore_gneiss_gas = new BlockOre(Material.rock).setBlockName("ore_gneiss_gas").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_gas"); + + gneiss_brick = new BlockGeneric(Material.rock).setBlockName("gneiss_brick").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":gneiss_brick"); + gneiss_tile = new BlockGeneric(Material.rock).setBlockName("gneiss_tile").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":gneiss_tile"); + gneiss_chiseled = new BlockPillar(Material.rock, RefStrings.MODID + ":gneiss_tile").setBlockName("gneiss_chiseled").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":gneiss_chiseled"); + + stone_depth = new BlockDepth().setBlockName("stone_depth").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":stone_depth"); + ore_depth_cinnebar = new BlockDepthOre().setBlockName("ore_depth_cinnebar").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ore_depth_cinnebar"); + ore_depth_zirconium = new BlockDepthOre().setBlockName("ore_depth_zirconium").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ore_depth_zirconium"); + ore_depth_borax = new BlockDepthOre().setBlockName("ore_depth_borax").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ore_depth_borax"); + cluster_depth_iron = new BlockDepthOre().setBlockName("cluster_depth_iron").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":cluster_depth_iron"); + cluster_depth_titanium = new BlockDepthOre().setBlockName("cluster_depth_titanium").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":cluster_depth_titanium"); + cluster_depth_tungsten = new BlockDepthOre().setBlockName("cluster_depth_tungsten").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":cluster_depth_tungsten"); + ore_alexandrite = new BlockDepthOre().setBlockName("ore_alexandrite").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ore_alexandrite"); + + stone_keyhole = new BlockKeyhole().setBlockName("stone_keyhole").setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":stone_keyhole"); + stone_keyhole_meta = new BlockRedBrickKeyhole(Material.rock).setCreativeTab(null).setBlockName("stone_keyhole_meta").setResistance(10_000); + + ore_bedrock = new BlockBedrockOreTE().setBlockName("ore_bedrock").setCreativeTab(null); + ore_volcano = new BlockFissure().setBlockName("ore_volcano").setLightLevel(1F).setCreativeTab(MainRegistry.blockTab); + + depth_brick = new BlockDepth().setBlockName("depth_brick").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":depth_brick"); + depth_tiles = new BlockDepth().setBlockName("depth_tiles").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":depth_tiles"); + depth_nether_brick = new BlockDepth().setBlockName("depth_nether_brick").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":depth_nether_brick"); + depth_nether_tiles = new BlockDepth().setBlockName("depth_nether_tiles").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":depth_nether_tiles"); + depth_dnt = new BlockDepth().setBlockName("depth_dnt").setCreativeTab(MainRegistry.blockTab).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":depth_dnt"); + + stone_depth_nether = new BlockDepth().setBlockName("stone_depth_nether").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":stone_depth_nether"); + ore_depth_nether_neodymium = new BlockDepthOre().setBlockName("ore_depth_nether_neodymium").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ore_depth_nether_neodymium"); + + stone_porous = new BlockPorous().setBlockName("stone_porous").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":stone_porous"); + stone_resource = new BlockResourceStone().setBlockName("stone_resource").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); + stalagmite = new BlockStalagmite().setBlockName("stalagmite").setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.0F); + stalactite = new BlockStalagmite().setBlockName("stalactite").setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.0F); + stone_biome = new BlockBiomeStone().setBlockName("stone_biome").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); + + basalt = new BlockPillar(Material.rock, RefStrings.MODID + ":basalt_top").setBlockName("basalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt"); + ore_basalt = new BlockOreBasalt().setBlockName("ore_basalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_basalt"); + basalt_smooth = new BlockGeneric(Material.rock).setBlockName("basalt_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_smooth"); + basalt_brick = new BlockGeneric(Material.rock).setBlockName("basalt_brick").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_brick"); + basalt_polished = new BlockGeneric(Material.rock).setBlockName("basalt_polished").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_polished"); + basalt_tiles = new BlockGeneric(Material.rock).setBlockName("basalt_tiles").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_tiles"); + + ore_australium = new BlockGeneric(Material.rock).setBlockName("ore_australium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_australium"); + ore_rare = new BlockOre(Material.rock).setBlockName("ore_rare").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_rare"); + ore_cobalt = new BlockOre(Material.rock).setBlockName("ore_cobalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_cobalt"); + ore_cinnebar = new BlockOre(Material.rock).setBlockName("ore_cinnebar").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_cinnebar"); + ore_coltan = new BlockOre(Material.rock).setBlockName("ore_coltan").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_coltan"); + + ore_oil = new BlockOre(Material.rock).setBlockName("ore_oil").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_oil"); + ore_oil_empty = new BlockGeneric(Material.rock).setBlockName("ore_oil_empty").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_oil_empty"); + ore_oil_sand = new BlockFalling(Material.sand).setBlockName("ore_oil_sand").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeSand).setHardness(0.5F).setResistance(1.0F).setBlockTextureName(RefStrings.MODID + ":ore_oil_sand_alt"); + ore_bedrock_oil = new BlockGeneric(Material.rock).noMobSpawn().setBlockName("ore_bedrock_oil").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(1_000_000).setBlockTextureName(RefStrings.MODID + ":ore_bedrock_oil"); + + ore_tikite = new BlockDragonProof(Material.rock).setBlockName("ore_tikite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_tikite_alt"); + + block_uranium = new BlockHazard().makeBeaconable().setBlockName("block_uranium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_uranium"); + block_u233 = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_u233").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_u233"); + block_u235 = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_u235").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_u235"); + block_u238 = new BlockHazard().makeBeaconable().setBlockName("block_u238").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_u238"); + block_uranium_fuel = new BlockHazard().makeBeaconable().setBlockName("block_uranium_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_uranium_fuel"); + block_thorium = new BlockHazard().makeBeaconable().setBlockName("block_thorium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_thorium"); + block_thorium_fuel = new BlockHazard().makeBeaconable().setBlockName("block_thorium_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_thorium_fuel"); + block_neptunium = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_neptunium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":block_neptunium"); + block_polonium = new BlockHotHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_polonium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_polonium"); + block_mox_fuel = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_mox_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_mox_fuel"); + block_plutonium = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_plutonium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_plutonium"); + block_pu238 = new BlockHotHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_pu238").setCreativeTab(MainRegistry.blockTab).setLightLevel(5F/15F).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_pu238"); + block_pu239 = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_pu239").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_pu239"); + block_pu240 = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_pu240").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_pu240"); + block_pu_mix = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_pu_mix").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_pu_mix"); + block_plutonium_fuel = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_plutonium_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_plutonium_fuel"); + block_titanium = new BlockBeaconable(Material.iron).setBlockName("block_titanium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_titanium"); + block_sulfur = new BlockBeaconable(Material.iron).setBlockName("block_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_sulfur"); + block_niter = new BlockBeaconable(Material.iron).setBlockName("block_niter").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_niter"); + block_copper = new BlockBeaconable(Material.iron).setBlockName("block_copper").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":block_copper"); + block_red_copper = new BlockBeaconable(Material.iron).setBlockName("block_red_copper").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(25.0F).setBlockTextureName(RefStrings.MODID + ":block_red_copper"); + block_tungsten = new BlockBeaconable(Material.iron).setBlockName("block_tungsten").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":block_tungsten"); + block_aluminium = new BlockBeaconable(Material.iron).setBlockName("block_aluminium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":block_aluminium"); + block_fluorite = new BlockBeaconable(Material.iron).setBlockName("block_fluorite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_fluorite"); + block_steel = new BlockBeaconable(Material.iron).setBlockName("block_steel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); + block_tcalloy = new BlockBeaconable(Material.iron).setBlockName("block_tcalloy").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(70.0F).setBlockTextureName(RefStrings.MODID + ":block_tcalloy"); + block_cdalloy = new BlockBeaconable(Material.iron).setBlockName("block_cdalloy").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(70.0F).setBlockTextureName(RefStrings.MODID + ":block_cdalloy"); + block_lead = new BlockBeaconable(Material.iron).setBlockName("block_lead").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_lead"); + block_bismuth = new BlockBeaconable(Material.iron).setBlockName("block_bismuth").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(90.0F).setBlockTextureName(RefStrings.MODID + ":block_bismuth"); + block_cadmium = new BlockBeaconable(Material.iron).setBlockName("block_cadmium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(90.0F).setBlockTextureName(RefStrings.MODID + ":block_cadmium"); + block_coltan = new BlockBeaconable(Material.iron).setBlockName("block_coltan").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_coltan"); + block_tantalium = new BlockBeaconable(Material.iron).setBlockName("block_tantalium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_tantalium"); + block_niobium = new BlockBeaconable(Material.iron).setBlockName("block_niobium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F); + block_trinitite = new BlockHazard().makeBeaconable().setBlockName("block_trinitite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_trinitite"); + block_waste = new BlockNuclearWaste().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_waste").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste"); + block_waste_painted = new BlockNuclearWaste().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_waste_painted").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste_painted"); + block_waste_vitrified = new BlockNuclearWaste().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_waste_vitrified").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste_vitrified"); + ancient_scrap = new BlockOutgas(Material.iron, true, 1, true, true).setBlockName("ancient_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":ancient_scrap"); + block_corium = new BlockHazard(Material.iron).setBlockName("block_corium").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_corium"); + block_corium_cobble = new BlockOutgas(Material.iron, true, 1, true, true).setBlockName("block_corium_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_corium_cobble"); + block_scrap = new BlockFalling(Material.sand).setBlockName("block_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(2.5F).setResistance(5.0F).setStepSound(Block.soundTypeGravel).setBlockTextureName(RefStrings.MODID + ":block_scrap"); + block_electrical_scrap = new BlockFalling(Material.iron).setBlockName("block_electrical_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(2.5F).setResistance(5.0F).setStepSound(Block.soundTypeMetal).setBlockTextureName(RefStrings.MODID + ":electrical_scrap_alt2"); + block_beryllium = new BlockBeaconable(Material.iron).setBlockName("block_beryllium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":block_beryllium"); + block_schraranium = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.SCHRAB).setBlockName("block_schraranium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(250.0F).setBlockTextureName(RefStrings.MODID + ":block_schraranium"); + block_schrabidium = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.SCHRAB).setBlockName("block_schrabidium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidium"); + block_schrabidate = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.SCHRAB).setBlockName("block_schrabidate").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidate"); + block_solinium = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.SCHRAB).setBlockName("block_solinium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_solinium"); + block_schrabidium_fuel = new BlockHazard().makeBeaconable().setDisplayEffect(ExtDisplayEffect.SCHRAB).setBlockName("block_schrabidium_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidium_fuel"); + block_euphemium = new BlockBeaconable(Material.iron).setBlockName("block_euphemium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":block_euphemium"); + block_dineutronium = new BlockBeaconable(Material.iron).setBlockName("block_dineutronium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":block_dineutronium"); + block_schrabidium_cluster = new BlockRotatablePillar(Material.rock, RefStrings.MODID + ":block_schrabidium_cluster_top").setBlockName("block_schrabidium_cluster").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidium_cluster_side"); + block_euphemium_cluster = new BlockRotatablePillar(Material.rock, RefStrings.MODID + ":block_euphemium_cluster_top").setBlockName("block_euphemium_cluster").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":block_euphemium_cluster_side"); + block_advanced_alloy = new BlockBeaconable(Material.iron).setBlockName("block_advanced_alloy").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":block_advanced_alloy"); + block_magnetized_tungsten = new BlockBeaconable(Material.iron).setBlockName("block_magnetized_tungsten").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(75.0F).setBlockTextureName(RefStrings.MODID + ":block_magnetized_tungsten"); + block_combine_steel = new BlockBeaconable(Material.iron).setBlockName("block_combine_steel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_combine_steel"); + block_desh = new BlockBeaconable(Material.iron).setBlockName("block_desh").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(300.0F).setBlockTextureName(RefStrings.MODID + ":block_desh"); + block_dura_steel = new BlockBeaconable(Material.iron).setBlockName("block_dura_steel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":block_dura_steel"); + block_starmetal = new BlockBeaconable(Material.iron).setBlockName("block_starmetal").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(400.0F).setBlockTextureName(RefStrings.MODID + ":block_starmetal"); + block_polymer = new BlockBeaconable(Material.rock).setBlockName("block_polymer").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypePiston).setHardness(3.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_polymer"); + block_bakelite = new BlockBeaconable(Material.rock).setBlockName("block_bakelite").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypePiston).setHardness(3.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":block_bakelite"); + block_rubber = new BlockBeaconable(Material.rock).setBlockName("block_rubber").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypePiston).setHardness(3.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":block_rubber"); + block_yellowcake = new BlockHazardFalling().makeBeaconable().setBlockName("block_yellowcake").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeSand).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_yellowcake"); + block_insulator = new BlockRotatablePillar(Material.cloth, RefStrings.MODID + ":block_insulator_top").setBlockName("block_insulator").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_insulator_side"); + block_fiberglass = new BlockRotatablePillar(Material.cloth, RefStrings.MODID + ":block_fiberglass_top").setBlockName("block_fiberglass").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":block_fiberglass_side"); + block_asbestos = new BlockOutgas(Material.cloth, true, 5, true).setBlockName("block_asbestos").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":block_asbestos"); + block_cobalt = new BlockBeaconable(Material.iron).setBlockName("block_cobalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_cobalt"); + block_lithium = new BlockLithium(Material.iron).setBlockName("block_lithium").setStepSound(Block.soundTypeMetal).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_lithium"); + block_zirconium = new BlockBeaconable(Material.iron).setBlockName("block_zirconium").setStepSound(Block.soundTypeMetal).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(30.0F).setBlockTextureName(RefStrings.MODID + ":block_zirconium"); + block_white_phosphorus = new BlockHazard(Material.rock).makeBeaconable().setBlockName("block_white_phosphorus").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_white_phosphorus"); + block_red_phosphorus = new BlockHazardFalling().makeBeaconable().setStepSound(Block.soundTypeSand).setBlockName("block_red_phosphorus").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_red_phosphorus"); + block_fallout = new BlockHazardFalling().setStepSound(Block.soundTypeGravel).setBlockName("block_fallout").setCreativeTab(MainRegistry.blockTab).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":ash"); + block_foam = new BlockGeneric(Material.craftedSnow).setBlockName("block_foam").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeSnow).setHardness(0.5F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":foam"); + block_coke = new BlockCoke().setBlockName("block_coke").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F); + block_graphite = new BlockGraphite(Material.iron, 30, 5).setBlockName("block_graphite").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F); + block_graphite_drilled = new BlockGraphiteDrilled().setBlockName("block_graphite_drilled"); + block_graphite_fuel = new BlockGraphiteFuel().setBlockName("block_graphite_fuel"); + block_graphite_plutonium = new BlockGraphiteSource().setBlockName("block_graphite_plutonium"); + block_graphite_rod = new BlockGraphiteRod().setBlockName("block_graphite_rod").setBlockTextureName(RefStrings.MODID + ":block_graphite_rod_in"); + block_graphite_source = new BlockGraphiteSource().setBlockName("block_graphite_source"); + block_graphite_lithium = new BlockGraphiteBreedingFuel().setBlockName("block_graphite_lithium"); + block_graphite_tritium = new BlockGraphiteBreedingProduct().setBlockName("block_graphite_tritium"); + block_graphite_detector = new BlockGraphiteNeutronDetector().setBlockName("block_graphite_detector"); + block_boron = new BlockBeaconable(Material.iron).setBlockName("block_boron").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_boron"); + block_lanthanium = new BlockBeaconable(Material.iron).setBlockName("block_lanthanium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_lanthanium"); + block_ra226 = new BlockHazard().makeBeaconable().setBlockName("block_ra226").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_ra226"); + block_actinium = new BlockHazard().makeBeaconable().setBlockName("block_actinium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_actinium"); + block_tritium = new BlockRotatablePillar(Material.glass, RefStrings.MODID + ":block_tritium_top").setBlockName("block_tritium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGlass).setHardness(3.0F).setResistance(2.0F).setBlockTextureName(RefStrings.MODID + ":block_tritium_side"); + block_semtex = new BlockPlasticExplosive(Material.tnt).setBlockName("block_semtex").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(2.0F).setBlockTextureName(RefStrings.MODID + ":block_semtex"); + block_c4 = new BlockPlasticExplosive(Material.tnt).setBlockName("block_c4").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(2.0F).setBlockTextureName(RefStrings.MODID + ":block_c4"); + block_smore = new BlockPillar(Material.rock, RefStrings.MODID + ":block_smore_top").setBlockName("block_smore").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_smore_side"); + block_slag = new BlockSlag(Material.rock).setBlockName("block_slag").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeStone).setHardness(2.0F).setBlockTextureName(RefStrings.MODID + ":block_slag"); + + block_australium = new BlockBeaconable(Material.iron).setBlockName("block_australium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_australium"); + block_weidanium = new BlockBeaconable(Material.iron).setBlockName("block_weidanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_deprecated"); + block_reiium = new BlockBeaconable(Material.iron).setBlockName("block_reiium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_deprecated"); + block_unobtainium = new BlockBeaconable(Material.iron).setBlockName("block_unobtainium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_deprecated"); + block_daffergon = new BlockBeaconable(Material.iron).setBlockName("block_daffergon").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_deprecated"); + block_verticium = new BlockBeaconable(Material.iron).setBlockName("block_verticium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_deprecated"); + + block_cap = new BlockCap().setBlockName("block_cap").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); + + deco_titanium = new BlockOre(Material.iron).noFortune().setBlockName("deco_titanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_titanium"); + deco_red_copper = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_red_copper").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_red_copper"); + deco_tungsten = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_tungsten").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_tungsten"); + deco_aluminium = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_aluminium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_aluminium"); + deco_steel = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_steel").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_steel"); + deco_rusty_steel = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_rusty_steel").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_rusty_steel"); + deco_lead = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_lead").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_lead"); + deco_beryllium = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_beryllium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_beryllium"); + deco_asbestos = new BlockOutgas(Material.cloth, true, 5, true).noFortune().setBlockName("deco_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_asbestos"); + deco_rbmk = new BlockGeneric(Material.iron).setBlockName("deco_rbmk").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_side"); + deco_rbmk_smooth = new BlockGeneric(Material.iron).setBlockName("deco_rbmk_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_top"); + + deco_emitter = new BlockEmitter().setBlockName("deco_emitter").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":emitter"); + part_emitter = new PartEmitter().setBlockName("part_emitter").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":part_top"); + deco_loot = new BlockLoot().setBlockName("deco_loot").setCreativeTab(null).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); + pedestal = new BlockPedestal().setBlockName("pedestal").setCreativeTab(null).setHardness(2.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":pedestal_top"); + skeleton_holder = new BlockSkeletonHolder().setBlockName("skeleton_holder").setCreativeTab(null).setHardness(2.0F).setResistance(10.0F).setBlockTextureName("soul_sand"); + bobblehead = new BlockBobble().setBlockName("bobblehead").setCreativeTab(MainRegistry.blockTab).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); + snowglobe = new BlockSnowglobe().setBlockName("snowglobe").setCreativeTab(MainRegistry.blockTab).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":glass_boron"); + plushie = new BlockPlushie().setBlockName("plushie").setStepSound(Block.soundTypeCloth).setResistance(50_0000.0F).setCreativeTab(MainRegistry.blockTab).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_fiberglass_side"); + dungeon_spawner = new DungeonSpawner().setBlockName("dungeon_spawner").setResistance(50_0000.0F).setBlockUnbreakable().setBlockTextureName(RefStrings.MODID + ":dungeon_spawner"); + + gravel_obsidian = new BlockFalling(Material.iron).setBlockName("gravel_obsidian").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGravel).setHardness(5.0F).setResistance(240.0F).setBlockTextureName(RefStrings.MODID + ":gravel_obsidian"); + gravel_diamond = new BlockFalling(Material.sand).setBlockName("gravel_diamond").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGravel).setHardness(0.6F).setBlockTextureName(RefStrings.MODID + ":gravel_diamond"); + asphalt = new BlockSpeedy(Material.rock, 1.5).setBlockName("asphalt").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(120.0F).setBlockTextureName(RefStrings.MODID + ":asphalt"); + asphalt_light = new BlockSpeedy(Material.rock, 1.5).setBlockName("asphalt_light").setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(15.0F).setResistance(120.0F).setBlockTextureName(RefStrings.MODID + ":asphalt_light"); + + sandbags = new BlockSandbags(Material.ground).setBlockName("sandbags").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(30.0F).setBlockTextureName(RefStrings.MODID + ":sandbags"); + wood_barrier = new BlockBarrier(Material.wood).setStepSound(Block.soundTypeWood).setBlockName("wood_barrier").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":wood_barrier"); + wood_structure = new BlockWoodStructure(Material.wood).setStepSound(Block.soundTypeWood).setBlockName("wood_structure").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":wood_barrier"); + + reinforced_brick = new BlockGeneric(Material.rock).setBlockName("reinforced_brick").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_brick"); + reinforced_glass = new BlockNTMGlassCT(0, RefStrings.MODID + ":reinforced_glass", Material.rock).setBlockName("reinforced_glass").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(2.0F).setResistance(25.0F); + reinforced_glass_pane = new BlockNTMGlassPane(0, RefStrings.MODID + ":reinforced_glass_pane", RefStrings.MODID + ":reinforced_glass_pane_edge", Material.rock, false).setBlockName("reinforced_glass_pane").setCreativeTab(MainRegistry.blockTab).setLightOpacity(1).setHardness(2.0F).setResistance(25.0F); + reinforced_light = new BlockGeneric(Material.rock).setBlockName("reinforced_light").setCreativeTab(MainRegistry.blockTab).setLightLevel(1.0F).setHardness(15.0F).setResistance(80.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_light"); + reinforced_sand = new BlockGeneric(Material.rock).setBlockName("reinforced_sand").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(40.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_sand"); + reinforced_lamp_off = new ReinforcedLamp(Material.rock, false).setBlockName("reinforced_lamp_off").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(80.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_off"); + reinforced_lamp_on = new ReinforcedLamp(Material.rock, true).setBlockName("reinforced_lamp_on").setHardness(15.0F).setResistance(80.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_on"); + reinforced_laminate = new BlockNTMGlassCT(1, RefStrings.MODID + ":reinforced_laminate", Material.rock, true).setBlockName("reinforced_laminate").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(15.0F).setResistance(300.0F); + reinforced_laminate_pane = new BlockNTMGlassPane(1, RefStrings.MODID + ":reinforced_laminate_pane", RefStrings.MODID + ":reinforced_laminate_pane_edge", Material.rock, true).setBlockName("reinforced_laminate_pane").setCreativeTab(MainRegistry.blockTab).setLightOpacity(1).setHardness(15.0F).setResistance(300.0F); + + lamp_tritium_green_off = new TritiumLamp(Material.redstoneLight, false).setBlockName("lamp_tritium_green_off").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_green_off"); + lamp_tritium_green_on = new TritiumLamp(Material.redstoneLight, true).setBlockName("lamp_tritium_green_on").setStepSound(Block.soundTypeGlass).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_green_on"); + lamp_tritium_blue_off = new TritiumLamp(Material.redstoneLight, false).setBlockName("lamp_tritium_blue_off").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_blue_off"); + lamp_tritium_blue_on = new TritiumLamp(Material.redstoneLight, true).setBlockName("lamp_tritium_blue_on").setStepSound(Block.soundTypeGlass).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_blue_on"); + + lamp_demon = new DemonLamp().setBlockName("lamp_demon").setStepSound(Block.soundTypeMetal).setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_demon"); + lantern = new BlockLantern().setBlockName("lantern").setStepSound(Block.soundTypeMetal).setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); + lantern_behemoth = new BlockLanternBehemoth().setBlockName("lantern_behemoth").setStepSound(Block.soundTypeMetal).setCreativeTab(null).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":block_rust"); + + spotlight_incandescent = new Spotlight(Material.iron, 2, LightType.INCANDESCENT, true).setBlockName("spotlight_incandescent").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":cage_lamp"); + spotlight_incandescent_off = new Spotlight(Material.iron, 2, LightType.INCANDESCENT, false).setBlockName("spotlight_incandescent_off").setBlockTextureName(RefStrings.MODID + ":cage_lamp_off"); + spotlight_fluoro = new SpotlightModular(Material.iron, 8, LightType.FLUORESCENT, true).setBlockName("spotlight_fluoro").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":fluorescent_lamp"); + spotlight_fluoro_off = new SpotlightModular(Material.iron, 8, LightType.FLUORESCENT, false).setBlockName("spotlight_fluoro_off").setBlockTextureName(RefStrings.MODID + ":fluorescent_lamp_off"); + spotlight_halogen = new Spotlight(Material.iron, 32, LightType.HALOGEN, true).setBlockName("spotlight_halogen").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":flood_lamp"); + spotlight_halogen_off = new Spotlight(Material.iron, 32, LightType.HALOGEN, false).setBlockName("spotlight_halogen_off").setBlockTextureName(RefStrings.MODID + ":flood_lamp_off"); + spotlight_beam = new SpotlightBeam().setBlockName("spotlight_beam"); + floodlight = new Floodlight(Material.iron).setBlockName("floodlight").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + floodlight_beam = new FloodlightBeam().setBlockName("floodlight_beam"); + + reinforced_stone = new BlockGeneric(Material.rock).setBlockName("reinforced_stone").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_stone"); + concrete_smooth = new BlockRadResistant(Material.rock).setBlockName("concrete_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(140.0F).setBlockTextureName(RefStrings.MODID + ":concrete"); + concrete_colored = new BlockConcreteColored(Material.rock).setBlockName("concrete_colored").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(140.0F).setBlockTextureName(RefStrings.MODID + ":concrete"); + concrete_colored_ext = new BlockConcreteColoredExt(Material.rock).setBlockName("concrete_colored_ext").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(140.0F).setBlockTextureName(RefStrings.MODID + ":concrete_colored_ext"); + concrete = new BlockGeneric(Material.rock).setBlockName("concrete").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(140.0F).setBlockTextureName(RefStrings.MODID + ":concrete_tile"); + concrete_asbestos = new BlockGeneric(Material.rock).setBlockName("concrete_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(150.0F).setBlockTextureName(RefStrings.MODID + ":concrete_asbestos"); + concrete_super = new BlockUberConcrete().setBlockName("concrete_super").setCreativeTab(MainRegistry.blockTab).setHardness(150.0F).setResistance(1000.0F); + concrete_super_broken = new BlockFalling(Material.rock).setBlockName("concrete_super_broken").setCreativeTab(MainRegistry.blockTab).setHardness(10.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":concrete_super_broken"); + concrete_pillar = new BlockRotatablePillar(Material.rock, RefStrings.MODID + ":concrete_pillar_top").setBlockName("concrete_pillar").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(180.0F).setBlockTextureName(RefStrings.MODID + ":concrete_pillar_side"); + brick_concrete = new BlockGeneric(Material.rock).setBlockName("brick_concrete").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(160.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); + brick_concrete_mossy = new BlockGeneric(Material.rock).setBlockName("brick_concrete_mossy").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(160.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete_mossy"); + brick_concrete_cracked = new BlockGeneric(Material.rock).setBlockName("brick_concrete_cracked").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete_cracked"); + brick_concrete_broken = new BlockGeneric(Material.rock).setBlockName("brick_concrete_broken").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(45.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete_broken"); + brick_concrete_marked = new BlockWriting(Material.rock, RefStrings.MODID + ":brick_concrete").setBlockName("brick_concrete_marked").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(160.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete_marked"); + brick_obsidian = new BlockGeneric(Material.rock).setBlockName("brick_obsidian").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(120.0F).setBlockTextureName(RefStrings.MODID + ":brick_obsidian"); + brick_light = new BlockGeneric(Material.rock).setBlockName("brick_light").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":brick_light"); + brick_compound = new BlockGeneric(Material.rock).setBlockName("brick_compound").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(400.0F).setBlockTextureName(RefStrings.MODID + ":brick_compound"); + cmb_brick = new BlockGeneric(Material.rock).setBlockName("cmb_brick").setCreativeTab(MainRegistry.blockTab).setHardness(25.0F).setResistance(5000.0F).setBlockTextureName(RefStrings.MODID + ":cmb_brick"); + cmb_brick_reinforced = new BlockGeneric(Material.rock).setBlockName("cmb_brick_reinforced").setCreativeTab(MainRegistry.blockTab).setHardness(25.0F).setResistance(50000.0F).setBlockTextureName(RefStrings.MODID + ":cmb_brick_reinforced"); + brick_asbestos = new BlockOutgas(Material.rock, true, 5, true).setBlockName("brick_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":brick_asbestos"); + brick_fire = new BlockGeneric(Material.rock).setBlockName("brick_fire").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(35.0F).setBlockTextureName(RefStrings.MODID + ":brick_fire"); + + ducrete_smooth = new BlockGeneric(Material.rock).setBlockName("ducrete_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(20.0F).setResistance(500.0F).setBlockTextureName(RefStrings.MODID + ":ducrete"); + ducrete = new BlockGeneric(Material.rock).setBlockName("ducrete").setCreativeTab(MainRegistry.blockTab).setHardness(20.0F).setResistance(500.0F).setBlockTextureName(RefStrings.MODID + ":ducrete_tile"); + brick_ducrete = new BlockGeneric(Material.rock).setBlockName("brick_ducrete").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(750.0F).setBlockTextureName(RefStrings.MODID + ":brick_ducrete"); + reinforced_ducrete = new BlockGeneric(Material.rock).setBlockName("reinforced_ducrete").setCreativeTab(MainRegistry.blockTab).setHardness(20.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_ducrete"); + + lightstone = new BlockLightstone(Material.rock, LightstoneType.class, true, true).setBlockName("lightstone").setCreativeTab(MainRegistry.blockTab).setHardness(2F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":lightstone"); + + concrete_slab = new BlockMultiSlab(null, Material.rock, concrete_smooth, concrete, concrete_asbestos, ducrete_smooth, ducrete, asphalt).setBlockName("concrete_slab").setCreativeTab(MainRegistry.blockTab); + concrete_double_slab = new BlockMultiSlab(concrete_slab, Material.rock, concrete_smooth, concrete, concrete_asbestos, ducrete_smooth, ducrete, asphalt).setBlockName("concrete_double_slab").setCreativeTab(MainRegistry.blockTab); + concrete_brick_slab = new BlockMultiSlab(null, Material.rock, brick_concrete, brick_concrete_mossy, brick_concrete_cracked, brick_concrete_broken, brick_ducrete).setBlockName("concrete_brick_slab").setCreativeTab(MainRegistry.blockTab); + concrete_brick_double_slab = new BlockMultiSlab(concrete_brick_slab, Material.rock, brick_concrete, brick_concrete_mossy, brick_concrete_cracked, brick_concrete_broken, brick_ducrete).setBlockName("concrete_brick_double_slab").setCreativeTab(MainRegistry.blockTab); + brick_slab = new BlockMultiSlab(null, Material.rock, reinforced_stone, reinforced_brick, brick_obsidian, brick_light, brick_compound, brick_asbestos, brick_fire).setBlockName("brick_slab").setCreativeTab(MainRegistry.blockTab); + brick_double_slab = new BlockMultiSlab(brick_slab, Material.rock, reinforced_stone, reinforced_brick, brick_obsidian, brick_light, brick_compound, brick_asbestos, brick_fire).setBlockName("brick_double_slab").setCreativeTab(MainRegistry.blockTab); + stones_slab = new BlockMultiSlabMeta(null, Material.rock, new Block[] { lightstone, lightstone }, LightstoneType.TILE.ordinal(), LightstoneType.BRICKS.ordinal()).setBlockName("stones_slab").setCreativeTab(MainRegistry.blockTab); + stones_double_slab = new BlockMultiSlabMeta(stones_slab, Material.rock, new Block[] { lightstone, lightstone }, LightstoneType.TILE.ordinal(), LightstoneType.BRICKS.ordinal()).setBlockName("stones_double_slab").setCreativeTab(MainRegistry.blockTab); + + concrete_smooth_stairs = new BlockGenericStairs(concrete_smooth, 0).setBlockName("concrete_smooth_stairs").setCreativeTab(MainRegistry.blockTab); + concrete_stairs = new BlockGenericStairs(concrete, 0).setBlockName("concrete_stairs").setCreativeTab(MainRegistry.blockTab); + concrete_asbestos_stairs = new BlockGenericStairs(concrete_asbestos, 0).setBlockName("concrete_asbestos_stairs").setCreativeTab(MainRegistry.blockTab); + ducrete_smooth_stairs = new BlockGenericStairs(ducrete_smooth, 0).setBlockName("ducrete_smooth_stairs").setCreativeTab(MainRegistry.blockTab); + ducrete_stairs = new BlockGenericStairs(ducrete, 0).setBlockName("ducrete_stairs").setCreativeTab(MainRegistry.blockTab); + brick_concrete_stairs = new BlockGenericStairs(brick_concrete, 0).setBlockName("brick_concrete_stairs").setCreativeTab(MainRegistry.blockTab); + brick_concrete_mossy_stairs = new BlockGenericStairs(brick_concrete_mossy, 0).setBlockName("brick_concrete_mossy_stairs").setCreativeTab(MainRegistry.blockTab); + brick_concrete_cracked_stairs = new BlockGenericStairs(brick_concrete_cracked, 0).setBlockName("brick_concrete_cracked_stairs").setCreativeTab(MainRegistry.blockTab); + brick_concrete_broken_stairs = new BlockGenericStairs(brick_concrete_broken, 0).setBlockName("brick_concrete_broken_stairs").setCreativeTab(MainRegistry.blockTab); + brick_ducrete_stairs = new BlockGenericStairs(brick_ducrete, 0).setBlockName("brick_ducrete_stairs").setCreativeTab(MainRegistry.blockTab); + reinforced_stone_stairs = new BlockGenericStairs(reinforced_stone, 0).setBlockName("reinforced_stone_stairs").setCreativeTab(MainRegistry.blockTab); + reinforced_brick_stairs = new BlockGenericStairs(reinforced_brick, 0).setBlockName("reinforced_brick_stairs").setCreativeTab(MainRegistry.blockTab); + brick_obsidian_stairs = new BlockGenericStairs(brick_obsidian, 0).setBlockName("brick_obsidian_stairs").setCreativeTab(MainRegistry.blockTab); + brick_light_stairs = new BlockGenericStairs(brick_light, 0).setBlockName("brick_light_stairs").setCreativeTab(MainRegistry.blockTab); + brick_compound_stairs = new BlockGenericStairs(brick_compound, 0).setBlockName("brick_compound_stairs").setCreativeTab(MainRegistry.blockTab); + brick_asbestos_stairs = new BlockGenericStairs(brick_asbestos, 0).setBlockName("brick_asbestos_stairs").setCreativeTab(MainRegistry.blockTab); + brick_fire_stairs = new BlockGenericStairs(brick_fire, 0).setBlockName("brick_fire_stairs").setCreativeTab(MainRegistry.blockTab); + asphalt_stairs = new BlockSpeedyStairs(asphalt, 0, 1.5).setBlockName("asphalt_stairs").setCreativeTab(MainRegistry.blockTab); + lightstone_tile_stairs = new BlockGenericStairs(lightstone, LightstoneType.TILE.ordinal()).setBlockName("lightstone_tile_stairs").setCreativeTab(MainRegistry.blockTab); + lightstone_bricks_stairs = new BlockGenericStairs(lightstone, LightstoneType.BRICKS.ordinal()).setBlockName("lightstone_bricks_stairs").setCreativeTab(MainRegistry.blockTab); + + vinyl_tile = new BlockEnumMulti(Material.rock, TileType.class, true, true).setBlockName("vinyl_tile").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(10.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":vinyl_tile"); + + tile_lab = new BlockOutgas(Material.rock, false, 5, true).setBlockName("tile_lab").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab"); + tile_lab_cracked = new BlockOutgas(Material.rock, false, 5, true).setBlockName("tile_lab_cracked").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_cracked"); + tile_lab_broken = new BlockOutgas(Material.rock, true, 5, true).setBlockName("tile_lab_broken").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_broken"); + + block_meteor = new BlockOre(Material.rock).noFortune().setBlockName("block_meteor").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor"); + block_meteor_cobble = new BlockOre(Material.rock).noFortune().setBlockName("block_meteor_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_cobble"); + block_meteor_broken = new BlockOre(Material.rock).noFortune().setBlockName("block_meteor_broken").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_crushed"); + block_meteor_molten = new BlockOre(Material.rock, true).noFortune().setBlockName("block_meteor_molten").setLightLevel(0.75F).setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_cobble_molten"); + block_meteor_treasure = new BlockMeteoriteTreasure(Material.rock).setBlockName("block_meteor_treasure").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_treasure"); + meteor_polished = new BlockGeneric(Material.rock).setBlockName("meteor_polished").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_polished"); + meteor_brick = new BlockGeneric(Material.rock).setBlockName("meteor_brick").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick"); + meteor_brick_mossy = new BlockGeneric(Material.rock).setBlockName("meteor_brick_mossy").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick_mossy"); + meteor_brick_cracked = new BlockGeneric(Material.rock).setBlockName("meteor_brick_cracked").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick_cracked"); + meteor_brick_chiseled = new BlockGeneric(Material.rock).setBlockName("meteor_brick_chiseled").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick_chiseled"); + meteor_pillar = new BlockRotatablePillar(Material.rock, RefStrings.MODID + ":meteor_pillar_top").setBlockName("meteor_pillar").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_pillar"); + meteor_spawner = new BlockCybercrab(Material.rock).setBlockName("meteor_spawner").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F); + meteor_battery = new BlockPillar(Material.rock, RefStrings.MODID + ":meteor_power").setBlockName("meteor_battery").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_spawner_side"); + moon_turf = new BlockFalling(Material.sand).setBlockName("moon_turf").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":moon_turf"); + + brick_jungle = new BlockGeneric(Material.rock).setBlockName("brick_jungle").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":brick_jungle"); + brick_jungle_cracked = new BlockGeneric(Material.rock).setBlockName("brick_jungle_cracked").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_cracked"); + brick_jungle_fragile = new FragileBrick(Material.rock).setBlockName("brick_jungle_fragile").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_fragile"); + brick_jungle_lava = new BlockGeneric(Material.rock).setBlockName("brick_jungle_lava").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setLightLevel(5F/15F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_lava"); + brick_jungle_ooze = new BlockOre(Material.rock).setBlockName("brick_jungle_ooze").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setLightLevel(5F/15F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_ooze"); + brick_jungle_mystic = new BlockOre(Material.rock).setBlockName("brick_jungle_mystic").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setLightLevel(5F/15F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_mystic"); + brick_jungle_trap = new TrappedBrick(Material.rock).setBlockName("brick_jungle_trap").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_trap"); + brick_jungle_glyph = new BlockGlyph(Material.rock).setBlockName("brick_jungle_glyph").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F); + brick_jungle_circle = new BlockBallsSpawner(Material.rock).setBlockName("brick_jungle_circle").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_circle"); + + brick_red = new BlockRedBrick(Material.rock).setBlockName("brick_red").setResistance(10_000); + + deco_computer = new BlockDecoModel(Material.iron, DecoComputerEnum.class, true, false).setBlockBoundsTo(.125F, 0F, 0F, .875F, .875F, .625F).setBlockName("deco_computer").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_computer"); + deco_crt = new BlockDecoCRT(Material.iron).setBlockName("deco_crt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); + deco_toaster = new BlockDecoToaster(Material.iron).setBlockName("deco_toaster").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); + filing_cabinet = new BlockDecoContainer(Material.iron, DecoCabinetEnum.class, true, false, TileEntityFileCabinet.class).setBlockBoundsTo(.1875F, 0F, 0F, .8125F, 1F, .75F).setBlockName("filing_cabinet").setCreativeTab(MainRegistry.blockTab).setHardness(10.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); + + tape_recorder = new DecoTapeRecorder(Material.iron).setBlockName("tape_recorder").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_tape_recorder"); + steel_poles = new DecoSteelPoles(Material.iron).setBlockName("steel_poles").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_beam"); + pole_top = new DecoPoleTop(Material.iron).setBlockName("pole_top").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_pole_top"); + pole_satellite_receiver = new DecoPoleSatelliteReceiver(Material.iron).setBlockName("pole_satellite_receiver").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_satellite_receiver"); + steel_wall = new DecoBlock(Material.iron).setBlockName("steel_wall").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_wall"); + steel_corner = new DecoBlock(Material.iron).setBlockName("steel_corner").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_wall"); + steel_roof = new DecoBlock(Material.iron).setBlockName("steel_roof").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_roof"); + steel_beam = new DecoBlock(Material.iron).setBlockName("steel_beam").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_beam"); + steel_scaffold = new BlockScaffold().setBlockName("steel_scaffold").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_steel_orig"); + steel_grate = new BlockGrate(Material.iron).setBlockName("steel_grate").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F); + steel_grate_wide = new BlockGrate(Material.iron).setBlockName("steel_grate_wide").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F); + + deco_pipe = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side", 0).setBlockName("deco_pipe").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top"); + deco_pipe_rusted = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_rusty", 0).setBlockName("deco_pipe_rusted").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_rusty"); + deco_pipe_green = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_green", 0).setBlockName("deco_pipe_green").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_green"); + deco_pipe_green_rusted = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_green_rusty", 0).setBlockName("deco_pipe_green_rusted").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_green_rusty"); + deco_pipe_red = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_red", 0).setBlockName("deco_pipe_red").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_red"); + deco_pipe_marked = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_marked", 0).setBlockName("deco_pipe_marked").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_marked"); + deco_pipe_rim = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side", 1).setBlockName("deco_pipe_rim").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top"); + deco_pipe_rim_rusted = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_rusty", 1).setBlockName("deco_pipe_rim_rusted").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_rusty"); + deco_pipe_rim_green = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_green", 1).setBlockName("deco_pipe_rim_green").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_green"); + deco_pipe_rim_green_rusted = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_green_rusty", 1).setBlockName("deco_pipe_rim_green_rusted").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_green_rusty"); + deco_pipe_rim_red = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_red", 1).setBlockName("deco_pipe_rim_red").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_red"); + deco_pipe_rim_marked = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_marked", 1).setBlockName("deco_pipe_rim_marked").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_marked"); + deco_pipe_framed = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side", 3).setBlockName("deco_pipe_framed").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top"); + deco_pipe_framed_rusted = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_rusty", 3).setBlockName("deco_pipe_framed_rusted").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_rusty"); + deco_pipe_framed_green = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_green", 3).setBlockName("deco_pipe_framed_green").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_green"); + deco_pipe_framed_green_rusted = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_green_rusty", 3).setBlockName("deco_pipe_framed_green_rusted").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_green_rusty"); + deco_pipe_framed_red = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_red", 3).setBlockName("deco_pipe_framed_red").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_red"); + deco_pipe_framed_marked = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_marked", 3).setBlockName("deco_pipe_framed_marked").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_marked"); + deco_pipe_quad = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side", 2).setBlockName("deco_pipe_quad").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top"); + deco_pipe_quad_rusted = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_rusty", 2).setBlockName("deco_pipe_quad_rusted").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_rusty"); + deco_pipe_quad_green = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_green", 2).setBlockName("deco_pipe_quad_green").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_green"); + deco_pipe_quad_green_rusted = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_green_rusty", 2).setBlockName("deco_pipe_quad_green_rusted").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_green_rusty"); + deco_pipe_quad_red = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_red", 2).setBlockName("deco_pipe_quad_red").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_red"); + deco_pipe_quad_marked = new BlockPipe(Material.iron, RefStrings.MODID + ":pipe_side_marked", 2).setBlockName("deco_pipe_quad_marked").setStepSound(ModSoundTypes.grate).setCreativeTab(MainRegistry.blockTab).setHardness(2.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":pipe_top_marked"); + + broadcaster_pc = new PinkCloudBroadcaster(Material.iron).setBlockName("broadcaster_pc").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":broadcaster_pc"); + geiger = new GeigerCounter(Material.iron).setBlockName("geiger").setCreativeTab(MainRegistry.machineTab).setHardness(15.0F).setResistance(0.25F).setBlockTextureName(RefStrings.MODID + ":geiger"); + hev_battery = new HEVBattery(Material.iron).setBlockName("hev_battery").setCreativeTab(MainRegistry.machineTab).setLightLevel(10F/15F).setHardness(0.5F).setResistance(0.25F).setBlockTextureName(RefStrings.MODID + ":hev_battery"); + + fence_metal = new BlockMetalFence(Material.iron).setBlockName("fence_metal").setCreativeTab(MainRegistry.machineTab).setHardness(15.0F).setResistance(0.25F).setBlockTextureName(RefStrings.MODID + ":fence_metal"); + + ash_digamma = new BlockAshes(Material.sand).setBlockName("ash_digamma").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setResistance(150.0F).setBlockTextureName(RefStrings.MODID + ":ash_digamma"); + sand_boron = new BlockFalling(Material.sand).setBlockName("sand_boron").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_boron"); + sand_lead = new BlockFalling(Material.sand).setBlockName("sand_lead").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_lead"); + sand_uranium = new BlockFalling(Material.sand).setBlockName("sand_uranium").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_uranium"); + sand_polonium = new BlockFalling(Material.sand).setBlockName("sand_polonium").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_polonium"); + sand_quartz = new BlockFalling(Material.sand).setBlockName("sand_quartz").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_quartz"); + glass_boron = new BlockNTMGlassCT(0, RefStrings.MODID + ":glass_boron", Material.glass).setBlockName("glass_boron").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); + glass_lead = new BlockNTMGlassCT(0, RefStrings.MODID + ":glass_lead", Material.glass).setBlockName("glass_lead").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); + glass_uranium = new BlockNTMGlassCT(1, RefStrings.MODID + ":glass_uranium", Material.glass).setBlockName("glass_uranium").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); + glass_trinitite = new BlockNTMGlassCT(1, RefStrings.MODID + ":glass_trinitite", Material.glass).setBlockName("glass_trinitite").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); + glass_polonium = new BlockNTMGlassCT(1, RefStrings.MODID + ":glass_polonium", Material.glass).setBlockName("glass_polonium").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); + glass_ash = new BlockNTMGlassCT(1, RefStrings.MODID + ":glass_ash", Material.glass).setBlockName("glass_ash").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(3F); + glass_quartz = new BlockNTMGlassCT(0, RefStrings.MODID + ":glass_quartz", Material.packedIce, true).setBlockName("glass_quartz").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGlass).setHardness(1.0F).setResistance(40.0F).setBlockTextureName(RefStrings.MODID + "glass_quartz"); + glass_polarized = new BlockNTMGlassCT(0, RefStrings.MODID + ":glass_polarized", Material.glass).setBlockName("glass_polarized").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); + + mush = new BlockMush(Material.plants).setBlockName("mush").setCreativeTab(MainRegistry.blockTab).setLightLevel(0.5F).setStepSound(Block.soundTypeGrass).setBlockTextureName(RefStrings.MODID + ":mush"); + mush_block = new BlockMushHuge(Material.plants).setBlockName("mush_block").setLightLevel(1.0F).setStepSound(Block.soundTypeGrass).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":mush_block_skin"); + mush_block_stem = new BlockMushHuge(Material.plants).setBlockName("mush_block_stem").setLightLevel(1.0F).setStepSound(Block.soundTypeGrass).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":mush_block_stem"); + glyphid_base = new BlockGlyphid(Material.coral).setBlockName("glyphid_base").setStepSound(Block.soundTypeCloth).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":glyphid_base"); + glyphid_spawner = new BlockGlyphidSpawner(Material.coral).setBlockName("glyphid_spawner").setStepSound(Block.soundTypeCloth).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":glyphid_eggs_alt"); + + plant_flower = new BlockNTMFlower().setBlockName("plant_flower").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.0F); + plant_tall = new BlockTallPlant().setBlockName("plant_tall").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.0F); + plant_dead = new BlockDeadPlant().setBlockName("plant_dead").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.0F); + reeds = new BlockReeds().setBlockName("plant_reeds").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.0F); + vine_phosphor = new BlockHangingVine(thick_foliage).setBlockName("vine_phosphor").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.5F); + + waste_earth = new WasteEarth(Material.ground, true).setBlockName("waste_earth").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.blockTab).setHardness(0.6F).setBlockTextureName(RefStrings.MODID + ":waste_earth"); + waste_mycelium = new WasteEarth(Material.ground, true).setBlockName("waste_mycelium").setStepSound(Block.soundTypeGrass).setLightLevel(1F).setCreativeTab(MainRegistry.blockTab).setHardness(0.6F).setBlockTextureName(RefStrings.MODID + ":waste_mycelium_side"); + waste_trinitite = new BlockOre(Material.sand).noFortune().setBlockName("waste_trinitite").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":waste_trinitite"); + waste_trinitite_red = new BlockOre(Material.sand).noFortune().setBlockName("waste_trinitite_red").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":waste_trinitite_red"); + waste_log = new WasteLog(Material.wood).setBlockName("waste_log").setStepSound(Block.soundTypeWood).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(2.5F); + waste_leaves = new WasteLeaves(Material.leaves).setBlockName("waste_leaves").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setBlockTextureName(RefStrings.MODID + ":waste_leaves"); + waste_planks = new BlockOre(Material.wood).setBlockName("waste_planks").setStepSound(Block.soundTypeWood).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":waste_planks"); + frozen_dirt = new BlockOre(Material.ground).setBlockName("frozen_dirt").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":frozen_dirt"); + frozen_grass = new WasteEarth(Material.ground, false).setBlockName("frozen_grass").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F); + frozen_log = new WasteLog(Material.wood).setBlockName("frozen_log").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F); + frozen_planks = new BlockOre(Material.wood).setBlockName("frozen_planks").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":frozen_planks"); + fallout = new BlockFallout(Material.sand).setBlockName("fallout").setStepSound(Block.soundTypeGravel).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":ash"); + foam_layer = new BlockLayering(Material.snow).setBlockName("foam_layer").setStepSound(Block.soundTypeSnow).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":foam"); + sand_boron_layer = new BlockLayering(Material.sand).setBlockName("sand_boron_layer").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":sand_boron"); + leaves_layer = new BlockLayering(Material.leaves).setBlockName("leaves_layer").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":waste_leaves"); + oil_spill = new BlockLayering(Material.ground).setBlockName("oil_spill").setStepSound(Block.soundTypeSnow).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":oil_spill"); + + burning_earth = new WasteEarth(Material.ground, true).setBlockName("burning_earth").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.blockTab).setHardness(0.6F).setBlockTextureName(RefStrings.MODID + ":burning_earth"); + tektite = new BlockGeneric(Material.sand).setBlockName("tektite").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":tektite"); + ore_tektite_osmiridium = new BlockGeneric(Material.sand).setBlockName("ore_tektite_osmiridium").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":ore_tektite_osmiridium"); + impact_dirt = new BlockDirt(Material.ground, true).setBlockName("impact_dirt").setStepSound(Block.soundTypeGravel).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":waste_earth_bottom"); + dirt_dead = new BlockFalling(Material.ground).setBlockName("dirt_dead").setStepSound(Block.soundTypeGravel).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":dirt_dead"); + dirt_oily = new BlockFalling(Material.ground).setBlockName("dirt_oily").setStepSound(Block.soundTypeGravel).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":dirt_oily"); + sand_dirty = new BlockFalling(Material.sand).setBlockName("sand_dirty").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_dirty"); + sand_dirty_red = new BlockFalling(Material.sand).setBlockName("sand_dirty_red").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_dirty_red"); + stone_cracked = new BlockFalling(Material.rock).setBlockName("stone_cracked").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":stone_cracked"); + + sellafield_slaked = new BlockSellafieldSlaked(Material.rock).setBlockName("sellafield_slaked").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_slaked"); + sellafield_bedrock = new BlockSellafieldSlaked(Material.rock).setBlockName("sellafield_bedrock").setBlockUnbreakable().setResistance(6000000.0F).setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":sellafield_slaked"); + sellafield = new BlockSellafield(Material.rock).setBlockName("sellafield").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_0"); + ore_sellafield_diamond = new BlockSellafieldOre(Material.rock).setBlockName("ore_sellafield_diamond").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":ore_overlay_diamond"); + ore_sellafield_emerald = new BlockSellafieldOre(Material.rock).setBlockName("ore_sellafield_emerald").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":ore_overlay_emerald"); + ore_sellafield_uranium_scorched = new BlockSellafieldOre(Material.rock).setBlockName("ore_sellafield_uranium_scorched").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":ore_overlay_uranium_scorched"); + ore_sellafield_schrabidium = new BlockSellafieldOre(Material.rock).setBlockName("ore_sellafield_schrabidium").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":ore_overlay_schrabidium"); + ore_sellafield_radgem = new BlockSellafieldOre(Material.rock).setBlockName("ore_sellafield_radgem").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":ore_overlay_radgem"); + + geysir_water = new BlockGeysir(Material.rock).setBlockName("geysir_water").setStepSound(Block.soundTypeStone).setHardness(5.0F); + geysir_chlorine = new BlockGeysir(Material.rock).setBlockName("geysir_chlorine").setStepSound(Block.soundTypeStone).setHardness(5.0F); + geysir_vapor = new BlockGeysir(Material.rock).setBlockName("geysir_vapor").setStepSound(Block.soundTypeStone).setHardness(5.0F); + geysir_nether = new BlockGeysir(Material.rock).setBlockName("geysir_nether").setLightLevel(1.0F).setStepSound(Block.soundTypeStone).setHardness(2.0F); + + nuke_gadget = new NukeGadget(Material.iron).setBlockName("nuke_gadget").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":theGadget"); + nuke_boy = new NukeBoy(Material.iron).setBlockName("nuke_boy").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":lilBoy"); + nuke_man = new NukeMan(Material.iron).setBlockName("nuke_man").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":fatMan"); + nuke_mike = new NukeMike(Material.iron).setBlockName("nuke_mike").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":ivyMike"); + nuke_tsar = new NukeTsar(Material.iron).setBlockName("nuke_tsar").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":tsarBomba"); + nuke_fleija = new NukeFleija(Material.iron).setBlockName("nuke_fleija").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":fleija"); + nuke_prototype = new NukePrototype(Material.iron).setBlockName("nuke_prototype").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200).setBlockTextureName(RefStrings.MODID + ":prototype"); + nuke_custom = new NukeCustom(Material.iron).setBlockName("nuke_custom").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":custom"); + nuke_solinium = new NukeSolinium(Material.iron).setBlockName("nuke_solinium").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":nuke_solinium"); + nuke_n2 = new NukeN2(Material.iron).setBlockName("nuke_n2").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":nuke_n2"); + nuke_fstbmb = new NukeBalefire(Material.iron).setBlockName("nuke_fstbmb").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":nuke_fstbmb"); + + bomb_multi = new BombMulti(Material.iron).setBlockName("bomb_multi").setCreativeTab(MainRegistry.nukeTab).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":bomb_multi1"); + + flame_war = new BombFlameWar(Material.iron).setBlockName("flame_war").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":flame_war"); + float_bomb = new BombFloat(Material.iron).setBlockName("float_bomb").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F); + therm_endo = new BombThermo(Material.iron).setBlockName("therm_endo").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F); + therm_exo = new BombThermo(Material.iron).setBlockName("therm_exo").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F); + emp_bomb = new BombFloat(Material.iron).setBlockName("emp_bomb").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F); + det_cord = new DetCord(Material.iron).setBlockName("det_cord").setCreativeTab(MainRegistry.nukeTab).setHardness(0.1F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":det_cord"); + det_charge = new ExplosiveCharge(Material.iron).setBlockName("det_charge").setCreativeTab(MainRegistry.nukeTab).setHardness(0.1F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":det_charge"); + det_nuke = new ExplosiveCharge(Material.iron).setBlockName("det_nuke").setCreativeTab(MainRegistry.nukeTab).setHardness(0.1F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":det_nuke"); + det_miner = new DetMiner(Material.iron, RefStrings.MODID + ":det_miner_top").setBlockName("det_miner").setCreativeTab(MainRegistry.nukeTab).setHardness(0.1F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":det_miner_side"); + red_barrel = new RedBarrel(Material.iron, true).setBlockName("red_barrel").setCreativeTab(MainRegistry.nukeTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":barrel_red"); + pink_barrel = new RedBarrel(Material.iron, true).setBlockName("pink_barrel").setCreativeTab(MainRegistry.nukeTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":barrel_pink"); + yellow_barrel = new YellowBarrel(Material.iron).setBlockName("yellow_barrel").setCreativeTab(MainRegistry.nukeTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":barrel_yellow"); + vitrified_barrel = new YellowBarrel(Material.iron).setBlockName("vitrified_barrel").setCreativeTab(MainRegistry.nukeTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":barrel_vitrified"); + lox_barrel = new RedBarrel(Material.iron, false).setBlockName("lox_barrel").setCreativeTab(MainRegistry.nukeTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":barrel_lox"); + taint_barrel = new RedBarrel(Material.iron, false).setBlockName("taint_barrel").setCreativeTab(MainRegistry.nukeTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":barrel_taint"); + crashed_balefire = new BlockCrashedBomb(Material.iron).setBlockName("crashed_bomb").setCreativeTab(MainRegistry.nukeTab).setBlockUnbreakable().setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_rust"); + fireworks = new BlockFireworks(Material.iron).setBlockName("fireworks").setCreativeTab(MainRegistry.nukeTab).setResistance(5.0F); + charge_dynamite = new BlockChargeDynamite().setBlockName("charge_dynamite").setCreativeTab(MainRegistry.nukeTab).setResistance(1.0F); + charge_miner = new BlockChargeMiner().setBlockName("charge_miner").setCreativeTab(MainRegistry.nukeTab).setResistance(1.0F); + charge_c4 = new BlockChargeC4().setBlockName("charge_c4").setCreativeTab(MainRegistry.nukeTab).setResistance(1.0F); + charge_semtex = new BlockChargeSemtex().setBlockName("charge_semtex").setCreativeTab(MainRegistry.nukeTab).setResistance(1.0F); + mine_ap = new Landmine(Material.iron, 1.5D, 1D).setBlockName("mine_ap").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_ap"); + mine_he = new Landmine(Material.iron, 2D, 5D).setBlockName("mine_he").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_he"); + mine_shrap = new Landmine(Material.iron, 1.5D, 1D).setBlockName("mine_shrap").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_shrap"); + mine_fat = new Landmine(Material.iron, 2.5D, 1D).setBlockName("mine_fat").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_fat"); + mine_naval = new Landmine(Material.iron, 2.5D, 1D).setBlockName("mine_naval").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_naval"); + dynamite = new BlockDynamite().setBlockName("dynamite").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.nukeTab).setHardness(0.0F).setBlockTextureName(RefStrings.MODID + ":dynamite"); + tnt = new BlockTNT().setBlockName("tnt_ntm").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.nukeTab).setHardness(0.0F).setBlockTextureName(RefStrings.MODID + ":tnt"); + semtex = new BlockSemtex().setBlockName("semtex").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.nukeTab).setHardness(0.0F).setBlockTextureName(RefStrings.MODID + ":semtex"); + c4 = new BlockC4().setBlockName("c4").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.nukeTab).setHardness(0.0F).setBlockTextureName(RefStrings.MODID + ":c4"); + fissure_bomb = new BlockFissureBomb().setBlockName("fissure_bomb").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.nukeTab).setHardness(0.0F).setBlockTextureName(RefStrings.MODID + ":fissure_bomb"); + + pump_steam = new MachinePump().setBlockName("pump_steam").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_copper"); + pump_electric = new MachinePump().setBlockName("pump_electric").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + + heater_firebox = new HeaterFirebox().setBlockName("heater_firebox").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + heater_oven = new HeaterOven().setBlockName("heater_oven").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); + heater_oilburner = new HeaterOilburner().setBlockName("heater_oilburner").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + heater_electric = new HeaterElectric().setBlockName("heater_electric").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + heater_heatex = new HeaterHeatex().setBlockName("heater_heatex").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_ashpit = new MachineAshpit().setBlockName("machine_ashpit").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName("stonebrick"); + + furnace_iron = new FurnaceIron().setBlockName("furnace_iron").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_aluminium"); + furnace_steel = new FurnaceSteel().setBlockName("furnace_steel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + furnace_combination = new FurnaceCombination().setBlockName("furnace_combination").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_light_alt"); + machine_stirling = new MachineStirling().setBlockName("machine_stirling").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_stirling_steel = new MachineStirling().setBlockName("machine_stirling_steel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_stirling_creative = new MachineStirling().setBlockName("machine_stirling_creative").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_sawmill = new MachineSawmill().setBlockName("machine_sawmill").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_strand_caster = new MachineStrandCaster().setBlockName("machine_strand_caster").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); + machine_crucible = new MachineCrucible().setBlockName("machine_crucible").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); + machine_boiler = new MachineHeatBoiler().setBlockName("machine_boiler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_copper"); + machine_industrial_boiler = new MachineHeatBoilerIndustrial().setBlockName("machine_industrial_boiler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + + foundry_mold = new FoundryMold().setBlockName("foundry_mold").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); + foundry_basin = new FoundryBasin().setBlockName("foundry_basin").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); + foundry_channel = new FoundryChannel().setBlockName("foundry_channel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); + foundry_tank = new FoundryTank().setBlockName("foundry_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); + foundry_outlet = new FoundryOutlet().setBlockName("foundry_outlet").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); + foundry_slagtap = new FoundrySlagtap().setBlockName("foundry_slagtap").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); + slag = new BlockDynamicSlag().setBlockName("slag").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":slag"); + + machine_difurnace_off = new MachineDiFurnace(false).setBlockName("machine_difurnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + machine_difurnace_on = new MachineDiFurnace(true).setBlockName("machine_difurnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); + machine_difurnace_extension = new MachineDiFurnaceExtension().setBlockName("machine_difurnace_extension").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + machine_difurnace_rtg_off = new MachineDiFurnaceRTG(false).setBlockName("machine_difurnace_rtg_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + machine_difurnace_rtg_on = new MachineDiFurnaceRTG(true).setBlockName("machine_difurnace_rtg_on").setHardness(5.0F).setResistance(10.0F).setLightLevel(2.0F).setCreativeTab(null); + + machine_centrifuge = new MachineCentrifuge(Material.iron).setBlockName("machine_centrifuge").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_gascent = new MachineGasCent(Material.iron).setBlockName("machine_gascent").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_fel = new MachineFEL(Material.iron).setBlockName("machine_fel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_silex = new MachineSILEX(Material.iron).setBlockName("machine_silex").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_rotary_furnace = new MachineRotaryFurnace(Material.iron).setBlockName("machine_rotary_furnace").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); + machine_crystallizer = new MachineCrystallizer(Material.iron).setBlockName("machine_crystallizer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_crystallizer"); + + machine_uf6_tank = new MachineUF6Tank(Material.iron).setBlockName("machine_uf6_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + + machine_puf6_tank = new MachinePuF6Tank(Material.iron).setBlockName("machine_puf6_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + + machine_reactor_breeding = new MachineReactorBreeding(Material.iron).setBlockName("machine_reactor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_reactor"); + + machine_furnace_brick_off = new MachineBrickFurnace(false).setBlockName("machine_furnace_brick_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + machine_furnace_brick_on = new MachineBrickFurnace(true).setBlockName("machine_furnace_brick_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); + machine_rtg_furnace_off = new MachineRtgFurnace(false).setBlockName("machine_rtg_furnace_off").setHardness(5.0F).setResistance(10.0F); + machine_rtg_furnace_on = new MachineRtgFurnace(true).setBlockName("machine_rtg_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); + + machine_industrial_generator = new MachineIGenerator(Material.iron).setBlockName("machine_industrial_generator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName("gold_block"); + machine_cyclotron = new MachineCyclotron(Material.iron).setBlockName("machine_cyclotron").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":cyclotron"); + machine_exposure_chamber = new MachineExposureChamber(Material.iron).setBlockName("machine_exposure_chamber").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_aluminium"); + machine_radgen = new MachineRadGen(Material.iron).setBlockName("machine_radgen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_radgen"); + + hadron_plating = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating"); + hadron_plating_blue = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_blue").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_blue"); + hadron_plating_black = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_black").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_black"); + hadron_plating_yellow = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_yellow").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_yellow"); + hadron_plating_striped = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_striped").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_striped"); + hadron_plating_voltz = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_voltz").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_voltz"); + hadron_plating_glass = new BlockNTMGlass(0, RefStrings.MODID + ":hadron_plating_glass", Material.iron, true).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_glass").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_glass"); + hadron_coil_alloy = new BlockHadronCoil(Material.iron, 10).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_alloy").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_alloy"); + hadron_coil_gold = new BlockHadronCoil(Material.iron, 25).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_gold").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_gold"); + hadron_coil_neodymium = new BlockHadronCoil(Material.iron, 50).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_neodymium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_neodymium"); + hadron_coil_magtung = new BlockHadronCoil(Material.iron, 100).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_magtung").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_magtung"); + hadron_coil_schrabidium = new BlockHadronCoil(Material.iron, 250).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_schrabidium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_schrabidium"); + hadron_coil_schrabidate = new BlockHadronCoil(Material.iron, 500).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_schrabidate").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_schrabidate"); + hadron_coil_starmetal = new BlockHadronCoil(Material.iron, 1000).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_starmetal").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_starmetal"); + hadron_coil_chlorophyte = new BlockHadronCoil(Material.iron, 2500).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_chlorophyte").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_chlorophyte"); + hadron_coil_mese = new BlockHadronCoil(Material.iron, 10000).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_mese").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_mese"); + hadron_power = new BlockHadronPower(Material.iron, 1000000L).setStepSound(Block.soundTypeMetal).setBlockName("hadron_power").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_power"); + hadron_power_10m = new BlockHadronPower(Material.iron, 10000000L).setStepSound(Block.soundTypeMetal).setBlockName("hadron_power_10m").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_power"); + hadron_power_100m = new BlockHadronPower(Material.iron, 100000000L).setStepSound(Block.soundTypeMetal).setBlockName("hadron_power_100m").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_power"); + hadron_power_1g = new BlockHadronPower(Material.iron, 1000000000L).setStepSound(Block.soundTypeMetal).setBlockName("hadron_power_1g").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_power"); + hadron_power_10g = new BlockHadronPower(Material.iron, 10000000000L).setStepSound(Block.soundTypeMetal).setBlockName("hadron_power_10g").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_power"); + hadron_diode = new BlockHadronDiode(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_diode").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + hadron_analysis = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_analysis").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_analysis"); + hadron_analysis_glass = new BlockNTMGlass(0, RefStrings.MODID + ":hadron_analysis_glass", Material.iron, true).setStepSound(Block.soundTypeMetal).setBlockName("hadron_analysis_glass").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_analysis_glass"); + hadron_access = new BlockHadronAccess(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_access").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_access"); + hadron_core = new BlockHadronCore(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_core"); + + pa_source = new BlockPASource().setStepSound(Block.soundTypeMetal).setBlockName("pa_source").setHardness(5.0F).setResistance(10.0F); + pa_beamline = new BlockPABeamline().setStepSound(Block.soundTypeMetal).setBlockName("pa_beamline").setHardness(5.0F).setResistance(10.0F); + pa_rfc = new BlockPARFC().setStepSound(Block.soundTypeMetal).setBlockName("pa_rfc").setHardness(5.0F).setResistance(10.0F); + pa_quadrupole = new BlockPAQuadrupole().setStepSound(Block.soundTypeMetal).setBlockName("pa_quadrupole").setHardness(5.0F).setResistance(10.0F); + pa_dipole = new BlockPADipole().setStepSound(Block.soundTypeMetal).setBlockName("pa_dipole").setHardness(5.0F).setResistance(10.0F); + pa_detector = new BlockPADetector().setStepSound(Block.soundTypeMetal).setBlockName("pa_detector").setHardness(5.0F).setResistance(10.0F); + + machine_electric_furnace_off = new MachineElectricFurnace(false).setBlockName("machine_electric_furnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + machine_electric_furnace_on = new MachineElectricFurnace(true).setBlockName("machine_electric_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); + machine_arc_furnace_off = new MachineArcFurnace(false).setBlockName("machine_arc_furnace_off").setHardness(5.0F).setResistance(10.0F); + machine_arc_furnace_on = new MachineArcFurnace(true).setBlockName("machine_arc_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); + machine_arc_furnace = new MachineArcFurnaceLarge().setBlockName("machine_arc_furnace").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_microwave = new MachineMicrowave(Material.iron).setBlockName("machine_microwave").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_microwave"); + + machine_battery_potato = new MachineBattery(Material.iron, 10_000).setBlockName("machine_battery_potato").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + machine_battery = new MachineBattery(Material.iron, 1_000_000).setBlockName("machine_battery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + machine_lithium_battery = new MachineBattery(Material.iron, 50_000_000).setBlockName("machine_lithium_battery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + machine_schrabidium_battery = new MachineBattery(Material.iron, 25_000_000_000L).setBlockName("machine_schrabidium_battery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + machine_dineutronium_battery = new MachineBattery(Material.iron, 1_000_000_000_000L).setBlockName("machine_dineutronium_battery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + machine_fensu = new MachineFENSU(Material.iron).setBlockName("machine_fensu").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_fensu"); + + capacitor_bus = new MachineCapacitorBus(Material.iron).setBlockName("capacitor_bus").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + capacitor_copper = new MachineCapacitor(Material.iron, 1_000_000L, "copper").setBlockName("capacitor_copper").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_copper"); + capacitor_gold = new MachineCapacitor(Material.iron, 5_000_000L, "gold").setBlockName("capacitor_gold").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName("gold_block"); + capacitor_niobium = new MachineCapacitor(Material.iron, 25_000_000L, "niobium").setBlockName("capacitor_niobium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_niobium"); + capacitor_tantalium = new MachineCapacitor(Material.iron, 150_000_000L, "tantalium").setBlockName("capacitor_tantalium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_tantalium"); + capacitor_schrabidate = new MachineCapacitor(Material.iron, 50_000_000_000L, "schrabidate").setBlockName("capacitor_schrabidate").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_schrabidate"); + + machine_wood_burner = new MachineWoodBurner(Material.iron).setBlockName("machine_wood_burner").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_diesel = new MachineDiesel().setBlockName("machine_diesel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_combustion_engine = new MachineCombustionEngine().setBlockName("machine_combustion_engine").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + + machine_shredder = new MachineShredder(Material.iron).setBlockName("machine_shredder").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + + machine_teleporter = new MachineTeleporter(Material.iron).setBlockName("machine_teleporter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + teleanchor = new MachineTeleanchor().setBlockName("teleanchor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + field_disturber = new MachineFieldDisturber().setBlockName("field_disturber").setHardness(5.0F).setResistance(200.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":field_disturber"); + + machine_rtg_grey = new MachineRTG(Material.iron).setBlockName("machine_rtg_grey").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rtg"); + machine_amgen = new MachineAmgen(Material.iron).setBlockName("machine_amgen").setHardness(5.0F).setResistance(10.0F); + machine_geo = new MachineAmgen(Material.iron).setBlockName("machine_geo").setHardness(5.0F).setResistance(10.0F); + machine_minirtg = new MachineMiniRTG(Material.iron).setBlockName("machine_minirtg").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rtg_cell"); + machine_powerrtg = new MachineMiniRTG(Material.iron).setBlockName("machine_powerrtg").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rtg_polonium"); + machine_radiolysis = new MachineRadiolysis(Material.iron).setBlockName("machine_radiolysis").setHardness(10.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel_machine"); + machine_hephaestus = new MachineHephaestus(Material.iron).setBlockName("machine_hephaestus").setHardness(10.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel_machine"); + + red_wire_coated = new WireCoated(Material.iron).setBlockName("red_wire_coated").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_wire_coated"); + red_cable = new BlockCable(Material.iron).setBlockName("red_cable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":cable_neo"); + red_cable_classic = new BlockCable(Material.iron).setBlockName("red_cable_classic").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_cable_classic"); + red_cable_paintable = new BlockCablePaintable().setBlockName("red_cable_paintable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + red_cable_gauge = new BlockCableGauge().setBlockName("red_cable_gauge").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + red_connector = new ConnectorRedWire(Material.iron).setBlockName("red_connector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_connector"); + red_pylon = new PylonRedWire(Material.iron).setBlockName("red_pylon").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon"); + red_pylon_medium_wood = new PylonMedium(Material.wood).setBlockName("red_pylon_medium_wood").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon"); + red_pylon_medium_wood_transformer = new PylonMedium(Material.wood).setBlockName("red_pylon_medium_wood_transformer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon"); + red_pylon_medium_steel = new PylonMedium(Material.iron).setBlockName("red_pylon_medium_steel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon"); + red_pylon_medium_steel_transformer = new PylonMedium(Material.iron).setBlockName("red_pylon_medium_steel_transformer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon"); + red_pylon_large = new PylonLarge(Material.iron).setBlockName("red_pylon_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon_large"); + substation = new Substation(Material.iron).setBlockName("substation").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":substation"); + cable_switch = new CableSwitch(Material.iron).setBlockName("cable_switch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + cable_detector = new CableDetector(Material.iron).setBlockName("cable_detector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + cable_diode = new CableDiode(Material.iron).setBlockName("cable_diode").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":cable_diode"); + machine_detector = new PowerDetector(Material.iron).setBlockName("machine_detector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_detector_off"); + fluid_duct_neo = new FluidDuctStandard(Material.iron).setBlockName("fluid_duct_neo").setStepSound(ModSoundTypes.pipe).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pipe_neo"); + fluid_duct_box = new FluidDuctBox(Material.iron).setBlockName("fluid_duct_box").setStepSound(ModSoundTypes.pipe).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fluid_duct_box"); + fluid_duct_exhaust = new FluidDuctBoxExhaust(Material.iron).setBlockName("fluid_duct_exhaust").setStepSound(ModSoundTypes.pipe).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fluid_duct_box"); + fluid_duct_paintable_block_exhaust = new FluidDuctPaintableBlockExhaust().setBlockName("fluid_duct_paintable_block_exhaust").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + fluid_duct_paintable = new FluidDuctPaintable().setBlockName("fluid_duct_paintable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + fluid_duct_gauge = new FluidDuctGauge().setBlockName("fluid_duct_gauge").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + fluid_valve = new FluidValve(Material.iron).setBlockName("fluid_valve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + fluid_switch = new FluidSwitch(Material.iron).setBlockName("fluid_switch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + fluid_pump = new FluidPump(Material.iron).setBlockName("fluid_pump").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_drain = new MachineDrain(Material.iron).setBlockName("machine_drain").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":concrete"); + radio_torch_sender = new RadioTorchSender().setBlockName("radio_torch_sender").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + radio_torch_receiver = new RadioTorchReceiver().setBlockName("radio_torch_receiver").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + radio_torch_counter = new RadioTorchCounter().setBlockName("radio_torch_counter").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rtty_counter"); + radio_torch_logic = new RadioTorchLogic().setBlockName("radio_torch_logic").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + radio_torch_reader = new RadioTorchReader().setBlockName("radio_torch_reader").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rtty_reader"); + radio_torch_controller = new RadioTorchController().setBlockName("radio_torch_controller").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rtty_controller"); + radio_telex = new RadioTelex().setBlockName("radio_telex").setHardness(3F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":radio_telex"); + + conveyor = new BlockConveyor().setBlockName("conveyor").setHardness(2.0F).setResistance(2.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":conveyor"); + conveyor_express = new BlockConveyorExpress().setBlockName("conveyor_express").setHardness(2.0F).setResistance(2.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":conveyor_express"); + conveyor_double = new BlockConveyorDouble().setBlockName("conveyor_double").setHardness(2.0F).setResistance(2.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":conveyor_double"); + conveyor_triple = new BlockConveyorTriple().setBlockName("conveyor_triple").setHardness(2.0F).setResistance(2.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":conveyor_triple"); + conveyor_chute = new BlockConveyorChute().setBlockName("conveyor_chute").setHardness(2.0F).setResistance(2.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":conveyor"); + conveyor_lift = new BlockConveyorLift().setBlockName("conveyor_lift").setHardness(2.0F).setResistance(2.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":conveyor"); + crane_extractor = new CraneExtractor().setBlockName("crane_extractor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + crane_inserter = new CraneInserter().setBlockName("crane_inserter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + crane_grabber = new CraneGrabber().setBlockName("crane_grabber").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + crane_router = new CraneRouter().setBlockName("crane_router").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + crane_boxer = new CraneBoxer().setBlockName("crane_boxer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + crane_unboxer = new CraneUnboxer().setBlockName("crane_unboxer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + crane_splitter = new CraneSplitter().setBlockName("crane_splitter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":crane_side"); + crane_partitioner = new CranePartitioner().setBlockName("crane_partitioner").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":crane_partitioner_side"); + fan = new MachineFan().setBlockName("fan").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + piston_inserter = new PistonInserter().setBlockName("piston_inserter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + + drone_waypoint = new DroneWaypoint().setBlockName("drone_waypoint").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":drone_waypoint"); + drone_crate = new DroneCrate().setBlockName("drone_crate").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + drone_waypoint_request = new DroneWaypointRequest().setBlockName("drone_waypoint_request").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":drone_waypoint_request"); + drone_dock = new DroneDock().setBlockName("drone_dock").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":drone_dock"); + drone_crate_provider = new DroneDock().setBlockName("drone_crate_provider").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":drone_crate_provider"); + drone_crate_requester = new DroneDock().setBlockName("drone_crate_requester").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":drone_crate_requester"); + + pneumatic_tube = new PneumoTube().setBlockName("pneumatic_tube").setStepSound(ModSoundTypes.pipe).setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pneumatic_tube"); + + chain = new BlockChain(Material.iron).setBlockName("dungeon_chain").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":chain"); + + ladder_sturdy = new BlockNTMLadder().setBlockName("ladder_sturdy").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_sturdy"); + ladder_iron = new BlockNTMLadder().setBlockName("ladder_iron").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_iron"); + ladder_gold = new BlockNTMLadder().setBlockName("ladder_gold").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_gold"); + ladder_aluminium = new BlockNTMLadder().setBlockName("ladder_aluminium").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_aluminium"); + ladder_copper = new BlockNTMLadder().setBlockName("ladder_copper").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_copper"); + ladder_titanium = new BlockNTMLadder().setBlockName("ladder_titanium").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_titanium"); + ladder_lead = new BlockNTMLadder().setBlockName("ladder_lead").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_lead"); + ladder_cobalt = new BlockNTMLadder().setBlockName("ladder_cobalt").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_cobalt"); + ladder_steel = new BlockNTMLadder().setBlockName("ladder_steel").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_steel"); + ladder_tungsten = new BlockNTMLadder().setBlockName("ladder_tungsten").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ladder_tungsten"); + + trapdoor_steel = new BlockNTMTrapdoor(Material.iron).setBlockName("trapdoor_steel").setHardness(3F).setResistance(8.0F).setStepSound(Block.soundTypeMetal).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":trapdoor_steel"); + + barrel_plastic = new BlockFluidBarrel(Material.iron, 12000).setBlockName("barrel_plastic").setStepSound(Block.soundTypeStone).setHardness(2.0F).setResistance(5.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":barrel_plastic"); + barrel_corroded = new BlockFluidBarrel(Material.iron, 6000).setBlockName("barrel_corroded").setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(5.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":barrel_corroded"); + barrel_iron = new BlockFluidBarrel(Material.iron, 8000).setBlockName("barrel_iron").setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(5.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":barrel_iron"); + barrel_steel = new BlockFluidBarrel(Material.iron, 16000).setBlockName("barrel_steel").setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(5.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":barrel_steel"); + barrel_tcalloy = new BlockFluidBarrel(Material.iron, 24000).setBlockName("barrel_tcalloy").setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(5.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":barrel_tcalloy"); + barrel_antimatter = new BlockFluidBarrel(Material.iron, 16000).setBlockName("barrel_antimatter").setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(5.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":barrel_antimatter"); + + machine_transformer = new MachineTransformer(Material.iron, 10000L, 1).setBlockName("machine_transformer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_transformer_iron"); + machine_transformer_dnt = new MachineTransformer(Material.iron, 1000000000000000L, 1).setBlockName("machine_transformer_dnt").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_transformer"); + + machine_satlinker = new MachineSatLinker(Material.iron).setBlockName("machine_satlinker").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":machine_satlinker_side"); + machine_keyforge = new MachineKeyForge(Material.iron).setBlockName("machine_keyforge").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":machine_keyforge_side"); + machine_armor_table = new BlockArmorTable(Material.iron).setBlockName("machine_armor_table").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab); + machine_weapon_table = new BlockWeaponTable().setBlockName("machine_weapon_table").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab); + + machine_solar_boiler = new MachineSolarBoiler(Material.iron).setBlockName("machine_solar_boiler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_solar_boiler"); + solar_mirror = new SolarMirror(Material.iron).setBlockName("solar_mirror").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":solar_mirror"); + + struct_launcher = new BlockGeneric(Material.iron).setBlockName("struct_launcher").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_launcher"); + struct_scaffold = new BlockGeneric(Material.iron).setBlockName("struct_scaffold").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_scaffold"); + struct_launcher_core = new BlockStruct(Material.iron).setBlockName("struct_launcher_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_launcher_core"); + struct_launcher_core_large = new BlockStruct(Material.iron).setBlockName("struct_launcher_core_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_launcher_core_large"); + struct_soyuz_core = new BlockSoyuzStruct(Material.iron).setBlockName("struct_soyuz_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_soyuz_core"); + struct_iter_core = new BlockITERStruct(Material.iron).setBlockName("struct_iter_core").setLightLevel(1F).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":struct_iter_core"); + struct_plasma_core = new BlockPlasmaStruct(Material.iron).setBlockName("struct_plasma_core").setLightLevel(1F).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":struct_plasma_core"); + struct_watz_core = new BlockWatzStruct(Material.iron).setBlockName("struct_watz_core").setLightLevel(1F).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":struct_watz_core"); + struct_icf_core = new BlockICFStruct(Material.iron).setBlockName("struct_icf_core").setLightLevel(1F).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":struct_icf_core"); + + factory_titanium_hull = new BlockGeneric(Material.iron).setBlockName("factory_titanium_hull").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_hull"); + factory_advanced_hull = new BlockGeneric(Material.iron).setBlockName("factory_advanced_hull").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_advanced_hull"); + + cm_block = new BlockCM(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_block").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_block"); + cm_sheet = new BlockCM(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_sheet").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_sheet"); + cm_engine = new BlockCM(Material.iron, EnumCMEngines.class, true, true).setBlockName("cm_engine").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_engine"); + cm_tank = new BlockCMGlass(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_tank").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_tank"); + cm_circuit = new BlockCM(Material.iron, EnumCMCircuit.class, true, true).setBlockName("cm_circuit").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_circuit"); + cm_port = new BlockCMPort(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_port").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_port"); + cm_flux = new BlockCMFlux(Material.iron, RefStrings.MODID + ":cm_flux_top").setBlockName("cm_flux").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_flux_side"); + cm_heat = new BlockCMHeat(Material.iron, RefStrings.MODID +":cm_heat_top").setBlockName("cm_heat").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_heat_side"); + custom_machine = new BlockCustomMachine().setBlockName("custom_machine").setCreativeTab(MainRegistry.machineTab).setLightLevel(1F).setHardness(5.0F).setResistance(10.0F); + cm_anchor = new BlockCMAnchor().setBlockName("custom_machine_anchor").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F); + + pwr_fuel = new BlockPillarPWR(Material.iron, RefStrings.MODID + ":pwr_fuel_top").setBlockName("pwr_fuel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_fuel_side"); + pwr_control = new BlockPillarPWR(Material.iron, RefStrings.MODID + ":pwr_control_top").setBlockName("pwr_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_control_side"); + pwr_channel = new BlockPillarPWR(Material.iron, RefStrings.MODID + ":pwr_channel_top").setBlockName("pwr_channel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_channel_side"); + pwr_heatex = new BlockGenericPWR(Material.iron).setBlockName("pwr_heatex").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_heatex"); + pwr_heatsink = new BlockGenericPWR(Material.iron).setBlockName("pwr_heatsink").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_heatsink"); + pwr_neutron_source = new BlockGenericPWR(Material.iron).setBlockName("pwr_neutron_source").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_neutron_source"); + pwr_reflector = new BlockGenericPWR(Material.iron).setBlockName("pwr_reflector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_reflector"); + pwr_casing = new BlockGenericPWR(Material.iron).setBlockName("pwr_casing").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_casing"); + pwr_port = new BlockGenericPWR(Material.iron).setBlockName("pwr_port").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_port"); + pwr_controller = new MachinePWRController(Material.iron).setBlockName("pwr_controller").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_casing_blank"); + pwr_block = new BlockPWR(Material.iron).setBlockName("pwr_block").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pwr_block"); + + fusion_conductor = new BlockToolConversionPillar(Material.iron).addVariant("_welded").setBlockName("fusion_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_conductor"); + fusion_center = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_center_top_alt").setBlockName("fusion_center").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_center_side_alt"); + fusion_motor = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_motor_top_alt").setBlockName("fusion_motor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_motor_side_alt"); + fusion_heater = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_heater_top").setBlockName("fusion_heater").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_heater_side"); + fusion_hatch = new FusionHatch(Material.iron).setBlockName("fusion_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_hatch"); + plasma = new BlockPlasma(Material.iron).setBlockName("plasma").setHardness(5.0F).setResistance(6000.0F).setLightLevel(1.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":plasma"); + iter = new MachineITER().setBlockName("iter").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":iter"); + plasma_heater = new MachinePlasmaHeater().setBlockName("plasma_heater").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":plasma_heater"); + + machine_icf_press = new MachineICFPress().setBlockName("machine_icf_press").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + icf = new MachineICF().setBlockName("icf").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + icf_component = new BlockICFComponent().setBlockName("icf_component").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":icf_component"); + icf_controller = new MachineICFController().setBlockName("icf_controller").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":icf_casing"); + icf_laser_component = new BlockICFLaserComponent().setBlockName("icf_laser_component").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab); + icf_block = new BlockICF(Material.iron).setBlockName("icf_block").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":icf_block"); + + watz_element = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_element_top").setBlockName("watz_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_element_side"); + watz_cooler = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_cooler_top").setBlockName("watz_cooler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_cooler_side"); + watz_end = new BlockToolConversion(Material.iron).addVariant("_bolted").setBlockName("watz_end").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_casing"); + watz = new Watz().setBlockName("watz").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + watz_pump = new WatzPump().setBlockName("watz_pump").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + + balefire = new Balefire().setBlockName("balefire").setHardness(0.0F).setLightLevel(1.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":balefire"); + fire_digamma = new DigammaFlame().setBlockName("fire_digamma").setHardness(0.0F).setResistance(150F).setLightLevel(1.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":fire_digamma"); + digamma_matter = new DigammaMatter().setBlockName("digamma_matter").setBlockUnbreakable().setResistance(18000000).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":digamma_matter"); + + machine_converter_he_rf = new BlockConverterHeRf(Material.iron).setBlockName("machine_converter_he_rf").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_converter_he_rf"); + machine_converter_rf_he = new BlockConverterRfHe(Material.iron).setBlockName("machine_converter_rf_he").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_converter_rf_he"); + + dfc_emitter = new CoreComponent(Material.iron).setBlockName("dfc_emitter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":dfc_emitter"); + dfc_injector = new CoreComponent(Material.iron).setBlockName("dfc_injector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":dfc_injector"); + dfc_receiver = new CoreComponent(Material.iron).setBlockName("dfc_receiver").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":dfc_receiver"); + dfc_stabilizer = new CoreComponent(Material.iron).setBlockName("dfc_stabilizer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":dfc_stabilizer"); + dfc_core = new CoreCore(Material.iron).setBlockName("dfc_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":dfc_core"); + + seal_frame = new BlockGeneric(Material.iron).setBlockName("seal_frame").setHardness(10.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":seal_frame"); + seal_controller = new BlockSeal(Material.iron).setBlockName("seal_controller").setHardness(10.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab); + seal_hatch = new BlockHatch(Material.iron).setBlockName("seal_hatch").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":seal_hatch_3"); + + vault_door = new VaultDoor(Material.iron).setBlockName("vault_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vault_door"); + blast_door = new BlastDoor(Material.iron).setBlockName("blast_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":blast_door"); + + sliding_blast_door = new BlockDoorGeneric(Material.iron, DoorDecl.SLIDE_DOOR).setBlockName("sliding_blast_door").setHardness(10.0F).setResistance(750.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":sliding_blast_door"); + fire_door = new BlockDoorGeneric(Material.iron, DoorDecl.FIRE_DOOR).setBlockName("fire_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fire_door"); + transition_seal = new BlockDoorGeneric(Material.iron, DoorDecl.TRANSITION_SEAL).setBlockName("transition_seal").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":transition_seal"); + silo_hatch = new BlockDoorGeneric(Material.iron, DoorDecl.SILO_HATCH).setBlockName("silo_hatch").setHardness(10.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + silo_hatch_large = new BlockDoorGeneric(Material.iron, DoorDecl.SILO_HATCH_LARGE).setBlockName("silo_hatch_large").setHardness(10.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + secure_access_door = new BlockDoorGeneric(Material.iron, DoorDecl.SECURE_ACCESS_DOOR).setBlockName("secure_access_door").setHardness(20.0F).setResistance(2_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + large_vehicle_door = new BlockDoorGeneric(Material.iron, DoorDecl.LARGE_VEHICLE_DOOR).setBlockName("large_vehicle_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + qe_containment = new BlockDoorGeneric(Material.iron, DoorDecl.QE_CONTAINMENT).setBlockName("qe_containment").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + qe_sliding_door = new BlockDoorGeneric(Material.iron, DoorDecl.QE_SLIDING).setBlockName("qe_sliding_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + round_airlock_door = new BlockDoorGeneric(Material.iron, DoorDecl.ROUND_AIRLOCK_DOOR).setBlockName("round_airlock_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + sliding_seal_door = new BlockDoorGeneric(Material.iron, DoorDecl.SLIDING_SEAL_DOOR).setBlockName("sliding_seal_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + water_door = new BlockDoorGeneric(Material.iron, DoorDecl.WATER_DOOR).setBlockName("water_door").setHardness(5.0F).setResistance(50.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + + door_metal = new BlockModDoor(Material.iron).setBlockName("door_metal").setHardness(5.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":door_metal"); + door_office = new BlockModDoor(Material.iron).setBlockName("door_office").setHardness(10.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":door_office"); + door_bunker = new BlockModDoor(Material.iron).setBlockName("door_bunker").setHardness(10.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":door_bunker"); + door_red = new BlockModDoor(Material.iron).setBlockName("door_red").setHardness(10.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":door_red"); + + barbed_wire = new BarbedWire(Material.iron).setBlockName("barbed_wire").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_model"); + barbed_wire_fire = new BarbedWire(Material.iron).setBlockName("barbed_wire_fire").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_fire_model"); + barbed_wire_poison = new BarbedWire(Material.iron).setBlockName("barbed_wire_poison").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_poison_model"); + barbed_wire_acid = new BarbedWire(Material.iron).setBlockName("barbed_wire_acid").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_acid_model"); + barbed_wire_wither = new BarbedWire(Material.iron).setBlockName("barbed_wire_wither").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_wither_model"); + barbed_wire_ultradeath = new BarbedWire(Material.iron).setBlockName("barbed_wire_ultradeath").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_ultradeath_model"); + spikes = new Spikes(Material.iron).setBlockName("spikes").setHardness(2.5F).setResistance(5.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":spikes"); + + charger = new Charger(Material.iron).setBlockName("charger").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + refueler = new BlockRefueler(Material.iron).setBlockName("refueler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + + tesla = new MachineTesla(Material.iron).setBlockName("tesla").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":tesla"); + + launch_pad = new LaunchPad(Material.iron).setBlockName("launch_pad").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":launch_pad"); + launch_pad_rusted = new LaunchPadRusted(Material.iron).setBlockName("launch_pad_rusted").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":block_rust"); + launch_pad_large = new LaunchPadLarge(Material.iron).setBlockName("launch_pad_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_radar = new MachineRadar(Material.iron).setBlockName("machine_radar").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":machine_radar"); + machine_radar_large = new MachineRadarLarge(Material.iron).setBlockName("machine_radar_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + radar_screen = new MachineRadarScreen(Material.iron).setBlockName("radar_screen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + + machine_missile_assembly = new MachineMissileAssembly(Material.iron).setBlockName("machine_missile_assembly").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":machine_missile_assembly"); + compact_launcher = new CompactLauncher(Material.iron).setBlockName("compact_launcher").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":compact_launcher"); + launch_table = new LaunchTable(Material.iron).setBlockName("launch_table").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":launch_table"); + soyuz_launcher = new SoyuzLauncher(Material.iron).setBlockName("soyuz_launcher").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":soyuz_launcher"); + + sat_mapper = new DecoBlock(Material.iron).setBlockName("sat_mapper").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":sat_mapper"); + sat_radar = new DecoBlock(Material.iron).setBlockName("sat_radar").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":sat_radar"); + sat_scanner = new DecoBlock(Material.iron).setBlockName("sat_scanner").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":sat_scanner"); + sat_laser = new DecoBlock(Material.iron).setBlockName("sat_laser").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":sat_laser"); + sat_foeq = new DecoBlock(Material.iron).setBlockName("sat_foeq").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":sat_foeq"); + sat_resonator = new DecoBlock(Material.iron).setBlockName("sat_resonator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":sat_resonator"); + + sat_dock = new MachineSatDock(Material.iron).setBlockName("sat_dock").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":sat_dock"); + soyuz_capsule = new SoyuzCapsule(Material.iron).setBlockName("soyuz_capsule").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":soyuz_capsule"); + crate_supply = new BlockSupplyCrate(Material.wood).setBlockName("crate_supply").setStepSound(Block.soundTypeWood).setHardness(1.0F).setResistance(2.5F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":crate_can"); + + turret_chekhov = new TurretChekhov(Material.iron).setBlockName("turret_chekhov").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + turret_friendly = new TurretFriendly(Material.iron).setBlockName("turret_friendly").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + turret_jeremy = new TurretJeremy(Material.iron).setBlockName("turret_jeremy").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + turret_tauon = new TurretTauon(Material.iron).setBlockName("turret_tauon").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + turret_richard = new TurretRichard(Material.iron).setBlockName("turret_richard").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + turret_howard = new TurretHoward(Material.iron).setBlockName("turret_howard").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + turret_howard_damaged = new TurretHowardDamaged(Material.iron).setBlockName("turret_howard_damaged").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_rust"); + turret_maxwell = new TurretMaxwell(Material.iron).setBlockName("turret_maxwell").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + turret_fritz = new TurretFritz(Material.iron).setBlockName("turret_fritz").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + turret_arty = new TurretArty(Material.iron).setBlockName("turret_arty").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + turret_himars = new TurretHIMARS(Material.iron).setBlockName("turret_himars").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + turret_sentry = new TurretSentry().setBlockName("turret_sentry").setHardness(5.0F).setResistance(5.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + turret_sentry_damaged = new TurretSentryDamaged().setBlockName("turret_sentry_damaged").setHardness(5.0F).setResistance(5.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_rust"); + + rbmk_rod = new RBMKRod(false).setBlockName("rbmk_rod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element"); + rbmk_rod_mod = new RBMKRod(true).setBlockName("rbmk_rod_mod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element_mod"); + rbmk_rod_reasim = new RBMKRodReaSim(false).setBlockName("rbmk_rod_reasim").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element_reasim"); + rbmk_rod_reasim_mod = new RBMKRodReaSim(true).setBlockName("rbmk_rod_reasim_mod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element_reasim_mod"); + rbmk_control = new RBMKControl(false).setBlockName("rbmk_control").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_control"); + rbmk_control_mod = new RBMKControl(true).setBlockName("rbmk_control_mod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_control_mod"); + rbmk_control_auto = new RBMKControlAuto().setBlockName("rbmk_control_auto").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_control_auto"); + rbmk_blank = new RBMKBlank().setBlockName("rbmk_blank").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_blank"); + rbmk_boiler = new RBMKBoiler().setBlockName("rbmk_boiler").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_boiler"); + rbmk_reflector = new RBMKReflector().setBlockName("rbmk_reflector").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_reflector"); + rbmk_absorber = new RBMKAbsorber().setBlockName("rbmk_absorber").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_absorber"); + rbmk_moderator = new RBMKModerator().setBlockName("rbmk_moderator").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_moderator"); + rbmk_outgasser = new RBMKOutgasser().setBlockName("rbmk_outgasser").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_outgasser"); + rbmk_storage = new RBMKStorage().setBlockName("rbmk_storage").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_storage"); + rbmk_cooler = new RBMKCooler().setBlockName("rbmk_cooler").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_cooler"); + rbmk_heater = new RBMKHeater().setBlockName("rbmk_heater").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_heater"); + rbmk_console = new RBMKConsole().setBlockName("rbmk_console").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_console"); + rbmk_crane_console = new RBMKCraneConsole().setBlockName("rbmk_crane_console").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_crane_console"); + rbmk_loader = new RBMKLoader(Material.iron).setBlockName("rbmk_loader").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_loader"); + rbmk_steam_inlet = new RBMKInlet(Material.iron).setBlockName("rbmk_steam_inlet").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_steam_inlet"); + rbmk_steam_outlet = new RBMKOutlet(Material.iron).setBlockName("rbmk_steam_outlet").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_steam_outlet"); + pribris = new RBMKDebris().setBlockName("pribris").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_debris"); + pribris_burning = new RBMKDebrisBurning().setBlockName("pribris_burning").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_debris_burning"); + pribris_radiating = new RBMKDebrisRadiating().setBlockName("pribris_radiating").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_debris_radiating"); + pribris_digamma = new RBMKDebrisDigamma().setBlockName("pribris_digamma").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_debris_digamma"); + + book_guide = new Guide(Material.iron).setBlockName("book_guide").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.nukeTab); + + rail_wood = new RailGeneric().setMaxSpeed(0.2F).setBlockName("rail_wood").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_wood"); + rail_narrow = new RailGeneric().setBlockName("rail_narrow").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_narrow"); + rail_highspeed = new RailGeneric().setMaxSpeed(1F).setFlexible(false).setBlockName("rail_highspeed").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_highspeed"); + rail_booster = new RailBooster().setBlockName("rail_booster").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_booster"); + rail_narrow_straight = new RailNarrowStraight().setBlockName("rail_narrow_straight").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_narrow_neo"); + rail_narrow_curve = new RailNarrowCurve().setBlockName("rail_narrow_curve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_narrow_neo"); + rail_large_straight = new RailStandardStraight().setBlockName("rail_large_straight").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); + rail_large_straight_short = new RailStandardStraightShort().setBlockName("rail_large_straight_short").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); + rail_large_curve = new RailStandardCurveBase().setBlockName("rail_large_curve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); + rail_large_curve_7 = new RailStandardCurveWide7().setBlockName("rail_large_curve_7").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); + rail_large_curve_9 = new RailStandardCurveWide9().setBlockName("rail_large_curve_9").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); + rail_large_ramp = new RailStandardRamp().setBlockName("rail_large_ramp").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); + rail_large_buffer = new RailStandardBuffer().setBlockName("rail_large_buffer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_standard_buffer"); + rail_large_switch = new RailStandardSwitch().setBlockName("rail_large_switch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); + rail_large_switch_flipped = new RailStandardSwitchFlipped().setBlockName("rail_large_switch_flipped").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); + + crate = new BlockCrate(Material.wood).setBlockName("crate").setStepSound(Block.soundTypeWood).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate"); + crate_weapon = new BlockCrate(Material.wood).setBlockName("crate_weapon").setStepSound(Block.soundTypeWood).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_weapon"); + crate_lead = new BlockCrate(Material.iron).setBlockName("crate_lead").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_lead"); + crate_metal = new BlockCrate(Material.iron).setBlockName("crate_metal").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_metal"); + crate_red = new BlockCrate(Material.iron).setBlockName("crate_red").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":crate_red"); + crate_can = new BlockCanCrate(Material.wood).setBlockName("crate_can").setStepSound(Block.soundTypeWood).setHardness(1.0F).setResistance(2.5F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_can"); + crate_ammo = new BlockAmmoCrate(Material.iron).setBlockName("crate_ammo").setStepSound(Block.soundTypeMetal).setHardness(1.0F).setResistance(2.5F).setCreativeTab(MainRegistry.consumableTab); + crate_jungle = new BlockJungleCrate(Material.rock).setBlockName("crate_jungle").setStepSound(Block.soundTypeStone).setHardness(1.0F).setResistance(2.5F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_jungle"); + crate_iron = new BlockStorageCrate(Material.iron).setBlockName("crate_iron").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + crate_steel = new BlockStorageCrate(Material.iron).setBlockName("crate_steel").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + crate_desh = new BlockStorageCrate(Material.iron).setBlockName("crate_desh").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + crate_tungsten = new BlockStorageCrate(Material.iron).setBlockName("crate_tungsten").setStepSound(Block.soundTypeMetal).setHardness(7.5F).setResistance(300.0F).setCreativeTab(MainRegistry.machineTab); + crate_template = new BlockStorageCrate(Material.iron).setBlockName("crate_template").setStepSound(Block.soundTypeMetal).setHardness(7.5F).setResistance(300.0F).setCreativeTab(MainRegistry.machineTab); + safe = new BlockStorageCrate(Material.iron).setBlockName("safe").setStepSound(Block.soundTypeMetal).setHardness(7.5F).setResistance(10000.0F).setCreativeTab(MainRegistry.machineTab); + mass_storage = new BlockMassStorage().setBlockName("mass_storage").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + + boxcar = new DecoBlock(Material.iron).setBlockName("boxcar").setStepSound(Block.soundTypeMetal).setHardness(10.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":boxcar"); + boat = new DecoBlock(Material.iron).setBlockName("boat").setStepSound(Block.soundTypeMetal).setHardness(10.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":asphalt"); + + machine_well = new MachineOilWell().setBlockName("machine_well").setHardness(5.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_well"); + machine_pumpjack = new MachinePumpjack().setBlockName("machine_pumpjack").setHardness(5.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_pumpjack"); + machine_fracking_tower = new MachineFrackingTower().setBlockName("machine_fracking_tower").setHardness(5.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + oil_pipe = new BlockNoDrop(Material.iron).setBlockName("oil_pipe").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":oil_pipe"); + machine_flare = new MachineGasFlare(Material.iron).setBlockName("machine_flare").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + chimney_brick = new MachineChimneyBrick(Material.iron).setBlockName("chimney_brick").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); + chimney_industrial = new MachineChimneyIndustrial(Material.iron).setBlockName("chimney_industrial").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":concrete_colored_ext.machine"); + machine_refinery = new MachineRefinery(Material.iron).setBlockName("machine_refinery").setHardness(5.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_refinery"); + machine_vacuum_distill = new MachineVacuumDistill(Material.iron).setBlockName("machine_vacuum_distill").setHardness(5.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_fraction_tower = new MachineFractionTower(Material.iron).setBlockName("machine_fraction_tower").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + fraction_spacer = new FractionSpacer(Material.iron).setBlockName("fraction_spacer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_catalytic_cracker = new MachineCatalyticCracker(Material.iron).setBlockName("machine_catalytic_cracker").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_catalytic_reformer = new MachineCatalyticReformer(Material.iron).setBlockName("machine_catalytic_reformer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_hydrotreater = new MachineHydrotreater(Material.iron).setBlockName("machine_hydrotreater").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_coker = new MachineCoker(Material.iron).setBlockName("machine_coker").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_pyrooven = new MachinePyroOven(Material.iron).setBlockName("machine_pyrooven").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_autosaw = new MachineAutosaw().setBlockName("machine_autosaw").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_excavator = new MachineExcavator().setBlockName("machine_excavator").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_ore_slopper = new MachineOreSlopper().setBlockName("machine_ore_slopper").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_mining_laser = new MachineMiningLaser(Material.iron).setBlockName("machine_mining_laser").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_mining_laser"); + barricade = new BlockNoDrop(Material.sand).setBlockName("barricade").setHardness(1.0F).setResistance(2.5F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":barricade"); + machine_assembler = new MachineAssembler(Material.iron).setBlockName("machine_assembler").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_assembler"); + machine_assembly_machine = new MachineAssemblyMachine(Material.iron).setBlockName("machine_assembly_machine").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_assemfac = new MachineAssemfac(Material.iron).setBlockName("machine_assemfac").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_arc_welder = new MachineArcWelder(Material.iron).setBlockName("machine_arc_welder").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_soldering_station = new MachineSolderingStation(Material.iron).setBlockName("machine_soldering_station").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_chemplant = new MachineChemplant(Material.iron).setBlockName("machine_chemplant").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_chemical_plant = new MachineChemicalPlant(Material.iron).setBlockName("machine_chemical_plant").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_chemfac = new MachineChemfac(Material.iron).setBlockName("machine_chemfac").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_chemical_factory = new MachineChemicalFactory(Material.iron).setBlockName("machine_chemical_factory").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_mixer = new MachineMixer(Material.iron).setBlockName("machine_mixer").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_fluidtank = new MachineFluidTank(Material.iron).setBlockName("machine_fluidtank").setHardness(5.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_fluidtank"); + machine_bat9000 = new MachineBigAssTank9000(Material.iron).setBlockName("machine_bat9000").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_orbus = new MachineOrbus(Material.iron).setBlockName("machine_orbus").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_turbofan = new MachineTurbofan(Material.iron).setBlockName("machine_turbofan").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_turbofan"); + machine_turbinegas = new MachineTurbineGas(Material.iron).setBlockName("machine_turbinegas").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_lpw2 = new MachineLPW2().setBlockName("machine_lpw2").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + press_preheater = new BlockBase(Material.iron).setBlockName("press_preheater").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":press_preheater"); + machine_press = new MachinePress(Material.iron).setBlockName("machine_press").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_press"); + machine_epress = new MachineEPress(Material.iron).setBlockName("machine_epress").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_epress"); + machine_conveyor_press = new MachineConveyorPress(Material.iron).setBlockName("machine_conveyor_press").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_ammo_press = new MachineAmmoPress().setBlockName("machine_ammo_press").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + reactor_research = new ReactorResearch(Material.iron).setBlockName("machine_reactor_small").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_reactor_small"); + reactor_zirnox = new ReactorZirnox(Material.iron).setBlockName("machine_zirnox").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + zirnox_destroyed = new ZirnoxDestroyed(Material.iron).setBlockName("zirnox_destroyed").setHardness(100.0F).setResistance(800.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_controller = new MachineReactorControl(Material.iron).setBlockName("machine_controller").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null); + + machine_boiler_off = new MachineBoiler(false).setBlockName("machine_boiler_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":machine_boiler_off"); + + machine_steam_engine = new MachineSteamEngine().setBlockName("machine_steam_engine").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_turbine = new MachineTurbine(Material.iron).setBlockName("machine_turbine").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_turbine"); + machine_large_turbine = new MachineLargeTurbine(Material.iron).setBlockName("machine_large_turbine").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_large_turbine"); + machine_chungus = new MachineChungus(Material.iron).setBlockName("machine_chungus").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_chungus"); + machine_condenser = new MachineCondenser(Material.iron).setBlockName("machine_condenser").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":condenser"); + machine_tower_small = new MachineTowerSmall(Material.iron).setBlockName("machine_tower_small").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); + machine_tower_large = new MachineTowerLarge(Material.iron).setBlockName("machine_tower_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":concrete"); + machine_condenser_powered = new MachineCondenserPowered(Material.iron).setBlockName("machine_condenser_powered").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel_machine"); + + machine_deuterium_extractor = new MachineDeuteriumExtractor(Material.iron).setBlockName("machine_deuterium_extractor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_deuterium_extractor_side"); + machine_deuterium_tower = new DeuteriumTower(Material.iron).setBlockName("machine_deuterium_tower").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":concrete"); + + machine_liquefactor = new MachineLiquefactor().setBlockName("machine_liquefactor").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel_machine"); + machine_solidifier = new MachineSolidifier().setBlockName("machine_solidifier").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel_machine"); + machine_intake = new MachineIntake().setBlockName("machine_intake").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel_machine"); + machine_compressor = new MachineCompressor().setBlockName("machine_compressor").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel_machine"); + machine_compressor_compact = new MachineCompressorCompact().setBlockName("machine_compressor_compact").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel_machine"); + + machine_electrolyser = new MachineElectrolyser().setBlockName("machine_electrolyser").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel_machine"); + + machine_autocrafter = new MachineAutocrafter().setBlockName("machine_autocrafter").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab); + machine_funnel = new MachineFunnel().setBlockName("machine_funnel").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab); + + anvil_iron = new NTMAnvil(Material.iron, NTMAnvil.TIER_IRON).setBlockName("anvil_iron").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_iron"); + anvil_lead = new NTMAnvil(Material.iron, NTMAnvil.TIER_IRON).setBlockName("anvil_lead").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_lead"); + anvil_steel = new NTMAnvil(Material.iron, NTMAnvil.TIER_STEEL).setBlockName("anvil_steel").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_steel"); + anvil_desh = new NTMAnvil(Material.iron, NTMAnvil.TIER_OIL).setBlockName("anvil_desh").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_desh"); + anvil_ferrouranium = new NTMAnvil(Material.iron, NTMAnvil.TIER_NUCLEAR).setBlockName("anvil_ferrouranium").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_ferrouranium"); + anvil_saturnite = new NTMAnvil(Material.iron, NTMAnvil.TIER_RBMK).setBlockName("anvil_saturnite").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_saturnite"); + anvil_bismuth_bronze = new NTMAnvil(Material.iron, NTMAnvil.TIER_RBMK).setBlockName("anvil_bismuth_bronze").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_bismuth_bronze"); + anvil_arsenic_bronze = new NTMAnvil(Material.iron, NTMAnvil.TIER_RBMK).setBlockName("anvil_arsenic_bronze").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_arsenic_bronze"); + anvil_schrabidate = new NTMAnvil(Material.iron, NTMAnvil.TIER_FUSION).setBlockName("anvil_schrabidate").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_schrabidate"); + anvil_dnt = new NTMAnvil(Material.iron, NTMAnvil.TIER_PARTICLE).setBlockName("anvil_dnt").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_dnt"); + anvil_osmiridium = new NTMAnvil(Material.iron, NTMAnvil.TIER_GERALD).setBlockName("anvil_osmiridium").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_osmiridium"); + anvil_murky = new NTMAnvil(Material.iron, 1916169).setBlockName("anvil_murky").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_steel"); + + machine_waste_drum = new WasteDrum(Material.iron).setBlockName("machine_waste_drum").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":waste_drum"); + machine_storage_drum = new StorageDrum(Material.iron).setBlockName("machine_storage_drum").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_storage_drum"); + + machine_schrabidium_transmutator = new MachineSchrabidiumTransmutator(Material.iron).setBlockName("machine_schrabidium_transmutator").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab); + + machine_siren = new MachineSiren(Material.iron).setBlockName("machine_siren").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_siren"); + + machine_spp_bottom = new SPPBottom(Material.iron).setBlockName("machine_spp_bottom").setHardness(5.0F).setResistance(10.0F); + machine_spp_top = new SPPTop(Material.iron).setBlockName("machine_spp_top").setHardness(5.0F).setResistance(10.0F); + + radiobox = new Radiobox(Material.iron).setBlockName("radiobox").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":radiobox"); + radiorec = new RadioRec(Material.iron).setBlockName("radiorec").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":radiorec"); + + machine_forcefield = new MachineForceField(Material.iron).setBlockName("machine_forcefield").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":machine_forcefield"); + + cheater_virus = new CheaterVirus(Material.iron).setBlockName("cheater_virus").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":cheater_virus"); + cheater_virus_seed = new CheaterVirusSeed(Material.iron).setBlockName("cheater_virus_seed").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":cheater_virus_seed"); + crystal_virus = new CrystalVirus(Material.iron).setBlockName("crystal_virus").setHardness(15.0F).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":crystal_virus"); + crystal_hardened = new BlockGeneric(Material.iron).setBlockName("crystal_hardened").setHardness(15.0F).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":crystal_hardened"); + crystal_pulsar = new CrystalPulsar(Material.iron).setBlockName("crystal_pulsar").setHardness(15.0F).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":crystal_pulsar"); + taint = new BlockTaint(Material.iron).setBlockName("taint").setHardness(15.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":taint"); + + vent_chlorine = new BlockVent(Material.iron).setBlockName("vent_chlorine").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vent_chlorine"); + vent_cloud = new BlockVent(Material.iron).setBlockName("vent_cloud").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vent_cloud"); + vent_pink_cloud = new BlockVent(Material.iron).setBlockName("vent_pink_cloud").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vent_pink_cloud"); + vent_chlorine_seal = new BlockClorineSeal(Material.iron).setBlockName("vent_chlorine_seal").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + chlorine_gas = new BlockGasClorine().setBlockName("chlorine_gas").setHardness(0.0F).setResistance(0.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":chlorine_gas"); + + gas_radon = new BlockGasRadon().setBlockName("gas_radon").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_radon"); + gas_radon_dense = new BlockGasRadonDense().setBlockName("gas_radon_dense").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_radon_dense"); + gas_radon_tomb = new BlockGasRadonTomb().setBlockName("gas_radon_tomb").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_radon_tomb"); + gas_meltdown = new BlockGasMeltdown().setBlockName("gas_meltdown").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_meltdown"); + gas_monoxide = new BlockGasMonoxide().setBlockName("gas_monoxide").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_monoxide"); + gas_asbestos = new BlockGasAsbestos().setBlockName("gas_asbestos").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_asbestos"); + gas_coal = new BlockGasCoal().setBlockName("gas_coal").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_coal"); + gas_flammable = new BlockGasFlammable().setBlockName("gas_flammable").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_flammable"); + gas_explosive = new BlockGasExplosive().setBlockName("gas_explosive").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":gas_explosive"); + vacuum = new BlockVacuum().setBlockName("vacuum").setResistance(1000000F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vacuum"); + + absorber = new BlockAbsorber(Material.iron, 2.5F).setBlockName("absorber").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":absorber"); + absorber_red = new BlockAbsorber(Material.iron, 10F).setBlockName("absorber_red").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":absorber_red"); + absorber_green = new BlockAbsorber(Material.iron, 100F).setBlockName("absorber_green").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":absorber_green"); + absorber_pink = new BlockAbsorber(Material.iron, 10000F).setBlockName("absorber_pink").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":absorber_pink"); + decon = new BlockDecon(Material.iron).setBlockName("decon").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":decon_side"); + + volcano_core = new BlockVolcano().setBlockName("volcano_core").setBlockUnbreakable().setResistance(10000.0F).setCreativeTab(MainRegistry.nukeTab).setBlockTextureName(RefStrings.MODID + ":volcano_core"); + volcano_rad_core = new BlockVolcano().setBlockName("volcano_rad_core").setBlockUnbreakable().setResistance(10000.0F).setCreativeTab(MainRegistry.nukeTab).setBlockTextureName(RefStrings.MODID + ":volcano_rad_core"); + + statue_elb_f = new DecoBlockAlt(Material.iron).setBlockName("#undef").setHardness(Float.POSITIVE_INFINITY).setLightLevel(1.0F).setResistance(Float.POSITIVE_INFINITY); + + mud_fluid = new MudFluid().setDensity(2500).setViscosity(3000).setLuminosity(5).setTemperature(2773).setUnlocalizedName("mud_fluid"); + FluidRegistry.registerFluid(mud_fluid); + mud_block = new MudBlock(mud_fluid, fluidmud.setReplaceable(), ModDamageSource.mudPoisoning).setBlockName("mud_block").setResistance(500F); + + acid_fluid = new AcidFluid().setDensity(2500).setViscosity(1500).setLuminosity(5).setTemperature(2773).setUnlocalizedName("acid_fluid"); + FluidRegistry.registerFluid(acid_fluid); + acid_block = new AcidBlock(acid_fluid, fluidacid.setReplaceable(), ModDamageSource.acid).setBlockName("acid_block").setResistance(500F); + + toxic_fluid = new ToxicFluid().setDensity(2500).setViscosity(2000).setLuminosity(15).setTemperature(2773).setUnlocalizedName("toxic_fluid"); + FluidRegistry.registerFluid(toxic_fluid); + toxic_block = new ToxicBlock(toxic_fluid, fluidtoxic.setReplaceable(), ModDamageSource.radiation).setBlockName("toxic_block").setResistance(500F); + + schrabidic_fluid = new SchrabidicFluid().setDensity(31200).setViscosity(500).setTemperature(273).setUnlocalizedName("schrabidic_fluid"); + FluidRegistry.registerFluid(schrabidic_fluid); + schrabidic_block = new SchrabidicBlock(schrabidic_fluid, fluidschrabidic.setReplaceable(), ModDamageSource.radiation).setBlockName("schrabidic_block").setResistance(500F); + + corium_fluid = new CoriumFluid().setDensity(600000).setViscosity(12000).setLuminosity(10).setTemperature(1500).setUnlocalizedName("corium_fluid"); + FluidRegistry.registerFluid(corium_fluid); + corium_block = new CoriumFinite(corium_fluid, fluidcorium).setBlockName("corium_block").setResistance(500F); + + volcanic_lava_fluid = new VolcanicFluid().setLuminosity(15).setDensity(3000).setViscosity(3000).setTemperature(1300).setUnlocalizedName("volcanic_lava_fluid"); + FluidRegistry.registerFluid(volcanic_lava_fluid); + volcanic_lava_block = new VolcanicBlock(volcanic_lava_fluid, Material.lava).setBlockName("volcanic_lava_block").setResistance(500F); + + rad_lava_fluid = new RadFluid().setLuminosity(15).setDensity(3000).setViscosity(3000).setTemperature(1300).setUnlocalizedName("rad_lava_fluid"); + FluidRegistry.registerFluid(rad_lava_fluid); + rad_lava_block = new RadBlock(rad_lava_fluid, Material.lava).setBlockName("rad_lava_block").setResistance(500F); + + sulfuric_acid_fluid = new GenericFluid("sulfuric_acid_fluid").setDensity(1840).setViscosity(1000).setTemperature(273); + FluidRegistry.registerFluid(sulfuric_acid_fluid); + sulfuric_acid_block = new GenericFluidBlock(sulfuric_acid_fluid, Material.water, "sulfuric_acid_still", "sulfuric_acid_flowing").setDamage(ModDamageSource.acid, 5F).setBlockName("sulfuric_acid_block").setResistance(500F); + + Fluid liquidConcrete = new GenericFluid("concrete_liquid").setViscosity(2000); + concrete_liquid = new GenericFiniteFluid(liquidConcrete, Material.rock, "concrete_liquid", "concrete_liquid_flowing").setQuantaPerBlock(4).setBlockName("concrete_liquid").setResistance(500F); + + dummy_block_vault = new DummyBlockVault(Material.iron).setBlockName("dummy_block_vault").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); + dummy_block_blast = new DummyBlockBlast(Material.iron).setBlockName("dummy_block_blast").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); + dummy_plate_compact_launcher = new DummyBlockMachine(Material.iron, compact_launcher, false).setBounds(0, 16, 0, 16, 16, 16).setBlockName("dummy_plate_compact_launcher").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); + dummy_port_compact_launcher = new DummyBlockMachine(Material.iron, compact_launcher, true).setBlockName("dummy_port_compact_launcher").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); + dummy_plate_launch_table = new DummyBlockMachine(Material.iron, launch_table, false).setBounds(0, 16, 0, 16, 16, 16).setBlockName("dummy_plate_launch_table").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); + dummy_port_launch_table = new DummyBlockMachine(Material.iron, launch_table, true).setBlockName("dummy_port_launch_table").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); + dummy_plate_cargo = new DummyBlockMachine(Material.iron, sat_dock, false).setBounds(0, 0, 0, 16, 8, 16).setBlockName("dummy_plate_cargo").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); + + ntm_dirt = new BlockNTMDirt().setBlockName("ntm_dirt").setHardness(0.5F).setStepSound(Block.soundTypeGravel).setCreativeTab(null).setBlockTextureName("dirt"); + + pink_log = new BlockPinkLog().setBlockName("pink_log").setHardness(0.5F).setStepSound(Block.soundTypeWood).setCreativeTab(null); + pink_planks = new BlockGeneric(Material.wood).setBlockName("pink_planks").setStepSound(Block.soundTypeWood).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pink_planks"); + pink_slab = new BlockPinkSlab(false, Material.wood).setBlockName("pink_slab").setStepSound(Block.soundTypeWood).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pink_planks"); + pink_double_slab = new BlockPinkSlab(true, Material.wood).setBlockName("pink_double_slab").setStepSound(Block.soundTypeWood).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pink_planks"); + pink_stairs = new BlockGenericStairs(pink_planks, 0).setBlockName("pink_stairs").setStepSound(Block.soundTypeWood).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pink_planks"); + + wand_air = new BlockWand(Blocks.air).setBlockName("wand_air").setBlockTextureName(RefStrings.MODID + ":wand_air"); + wand_loot = new BlockWandLoot().setBlockName("wand_loot").setBlockTextureName(RefStrings.MODID + ":wand_loot"); + wand_jigsaw = new BlockWandJigsaw().setBlockName("wand_jigsaw").setBlockTextureName(RefStrings.MODID + ":wand_jigsaw"); + wand_logic = new BlockWandLogic().setBlockName("wand_logic").setBlockTextureName(RefStrings.MODID + ":wand_logic"); + + logic_block = new LogicBlock().setBlockName("logic_block").setBlockTextureName(RefStrings.MODID + ":logic_block"); + + } + + private static void registerBlock() { + //Test + GameRegistry.registerBlock(event_tester, event_tester.getUnlocalizedName()); + GameRegistry.registerBlock(obj_tester, obj_tester.getUnlocalizedName()); + GameRegistry.registerBlock(test_core, test_core.getUnlocalizedName()); + GameRegistry.registerBlock(test_charge, test_charge.getUnlocalizedName()); + GameRegistry.registerBlock(structure_anchor, structure_anchor.getUnlocalizedName()); + + //Ores + GameRegistry.registerBlock(ore_uranium, ore_uranium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_uranium_scorched, ore_uranium_scorched.getUnlocalizedName()); + GameRegistry.registerBlock(ore_thorium, ore_thorium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_titanium, ore_titanium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_sulfur, ore_sulfur.getUnlocalizedName()); + GameRegistry.registerBlock(ore_niter, ore_niter.getUnlocalizedName()); + GameRegistry.registerBlock(ore_copper, ore_copper.getUnlocalizedName()); + GameRegistry.registerBlock(ore_tungsten, ore_tungsten.getUnlocalizedName()); + GameRegistry.registerBlock(ore_aluminium, ore_aluminium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_fluorite, ore_fluorite.getUnlocalizedName()); + GameRegistry.registerBlock(ore_beryllium, ore_beryllium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_lead, ore_lead.getUnlocalizedName()); + GameRegistry.registerBlock(ore_oil, ItemBlockLore.class, ore_oil.getUnlocalizedName()); + GameRegistry.registerBlock(ore_oil_empty, ore_oil_empty.getUnlocalizedName()); + GameRegistry.registerBlock(ore_oil_sand, ore_oil_sand.getUnlocalizedName()); + GameRegistry.registerBlock(ore_lignite, ore_lignite.getUnlocalizedName()); + GameRegistry.registerBlock(ore_asbestos, ore_asbestos.getUnlocalizedName()); + GameRegistry.registerBlock(ore_schrabidium, ItemBlockLore.class, ore_schrabidium.getUnlocalizedName()); + + //Rare Minerals + GameRegistry.registerBlock(ore_australium, ItemOreBlock.class, ore_australium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_rare, ItemOreBlock.class, ore_rare.getUnlocalizedName()); + GameRegistry.registerBlock(ore_cobalt, ore_cobalt.getUnlocalizedName()); + GameRegistry.registerBlock(ore_cinnebar, ore_cinnebar.getUnlocalizedName()); + GameRegistry.registerBlock(ore_coltan, ore_coltan.getUnlocalizedName()); + + //Stone clusters + GameRegistry.registerBlock(cluster_iron, ItemBlockBase.class, cluster_iron.getUnlocalizedName()); + GameRegistry.registerBlock(cluster_titanium, ItemBlockBase.class, cluster_titanium.getUnlocalizedName()); + GameRegistry.registerBlock(cluster_aluminium, ItemBlockBase.class, cluster_aluminium.getUnlocalizedName()); + GameRegistry.registerBlock(cluster_copper, ItemBlockBase.class, cluster_copper.getUnlocalizedName()); + + //Bedrock ores + GameRegistry.registerBlock(ore_bedrock_oil, ore_bedrock_oil.getUnlocalizedName()); + + //Nice Meme + GameRegistry.registerBlock(ore_coal_oil, ore_coal_oil.getUnlocalizedName()); + GameRegistry.registerBlock(ore_coal_oil_burning, ore_coal_oil_burning.getUnlocalizedName()); + + //Nether Ores + GameRegistry.registerBlock(ore_nether_coal, ore_nether_coal.getUnlocalizedName()); + GameRegistry.registerBlock(ore_nether_smoldering, ore_nether_smoldering.getUnlocalizedName()); + GameRegistry.registerBlock(ore_nether_uranium, ore_nether_uranium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_nether_uranium_scorched, ore_nether_uranium_scorched.getUnlocalizedName()); + GameRegistry.registerBlock(ore_nether_plutonium, ore_nether_plutonium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_nether_tungsten, ore_nether_tungsten.getUnlocalizedName()); + GameRegistry.registerBlock(ore_nether_sulfur, ore_nether_sulfur.getUnlocalizedName()); + GameRegistry.registerBlock(ore_nether_fire, ore_nether_fire.getUnlocalizedName()); + GameRegistry.registerBlock(ore_nether_cobalt, ore_nether_cobalt.getUnlocalizedName()); + GameRegistry.registerBlock(ore_nether_schrabidium, ItemBlockLore.class, ore_nether_schrabidium.getUnlocalizedName()); + + //Meteor Ores + register(ore_meteor); + + //Gneiss Ores + GameRegistry.registerBlock(ore_gneiss_iron, ore_gneiss_iron.getUnlocalizedName()); + GameRegistry.registerBlock(ore_gneiss_gold, ore_gneiss_gold.getUnlocalizedName()); + GameRegistry.registerBlock(ore_gneiss_uranium, ore_gneiss_uranium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_gneiss_uranium_scorched, ore_gneiss_uranium_scorched.getUnlocalizedName()); + GameRegistry.registerBlock(ore_gneiss_copper, ore_gneiss_copper.getUnlocalizedName()); + GameRegistry.registerBlock(ore_gneiss_asbestos, ore_gneiss_asbestos.getUnlocalizedName()); + GameRegistry.registerBlock(ore_gneiss_lithium, ore_gneiss_lithium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_gneiss_schrabidium, ItemBlockLore.class, ore_gneiss_schrabidium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_gneiss_rare, ItemOreBlock.class, ore_gneiss_rare.getUnlocalizedName()); + GameRegistry.registerBlock(ore_gneiss_gas, ore_gneiss_gas.getUnlocalizedName()); + + //Depth ores + GameRegistry.registerBlock(ore_depth_cinnebar, ItemBlockBase.class, ore_depth_cinnebar.getUnlocalizedName()); + GameRegistry.registerBlock(ore_depth_zirconium, ItemBlockBase.class, ore_depth_zirconium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_depth_borax, ItemBlockBase.class, ore_depth_borax.getUnlocalizedName()); + GameRegistry.registerBlock(cluster_depth_iron, ItemBlockBase.class, cluster_depth_iron.getUnlocalizedName()); + GameRegistry.registerBlock(cluster_depth_titanium, ItemBlockBase.class, cluster_depth_titanium.getUnlocalizedName()); + GameRegistry.registerBlock(cluster_depth_tungsten, ItemBlockBase.class, cluster_depth_tungsten.getUnlocalizedName()); + GameRegistry.registerBlock(ore_alexandrite, ItemBlockBase.class, ore_alexandrite.getUnlocalizedName()); + + //Nether depth ores + GameRegistry.registerBlock(ore_depth_nether_neodymium, ItemBlockBase.class, ore_depth_nether_neodymium.getUnlocalizedName()); + + //Basalt ores + register(ore_basalt); + + //End Ores + GameRegistry.registerBlock(ore_tikite, ore_tikite.getUnlocalizedName()); + + //Bedrock ore + register(ore_bedrock); + register(ore_volcano); + + //Secret + register(stone_keyhole); + register(stone_keyhole_meta); + + //Resource-bearing Stones + register(stone_resource); + register(stalagmite); + register(stalactite); + register(stone_biome); + + //Stone Variants + GameRegistry.registerBlock(stone_porous, stone_porous.getUnlocalizedName()); + GameRegistry.registerBlock(stone_gneiss, stone_gneiss.getUnlocalizedName()); + GameRegistry.registerBlock(gneiss_brick, gneiss_brick.getUnlocalizedName()); + GameRegistry.registerBlock(gneiss_tile, gneiss_tile.getUnlocalizedName()); + GameRegistry.registerBlock(gneiss_chiseled, gneiss_chiseled.getUnlocalizedName()); + GameRegistry.registerBlock(stone_depth, ItemBlockBase.class, stone_depth.getUnlocalizedName()); + GameRegistry.registerBlock(depth_brick, ItemBlockBase.class, depth_brick.getUnlocalizedName()); + GameRegistry.registerBlock(depth_tiles, ItemBlockBase.class, depth_tiles.getUnlocalizedName()); + GameRegistry.registerBlock(stone_depth_nether, ItemBlockBase.class, stone_depth_nether.getUnlocalizedName()); + GameRegistry.registerBlock(depth_nether_brick, ItemBlockBase.class, depth_nether_brick.getUnlocalizedName()); + GameRegistry.registerBlock(depth_nether_tiles, ItemBlockBase.class, depth_nether_tiles.getUnlocalizedName()); + GameRegistry.registerBlock(depth_dnt, ItemBlockBase.class, depth_dnt.getUnlocalizedName()); + GameRegistry.registerBlock(basalt, basalt.getUnlocalizedName()); + GameRegistry.registerBlock(basalt_smooth, basalt_smooth.getUnlocalizedName()); + GameRegistry.registerBlock(basalt_brick, basalt_brick.getUnlocalizedName()); + GameRegistry.registerBlock(basalt_polished, basalt_polished.getUnlocalizedName()); + GameRegistry.registerBlock(basalt_tiles, basalt_tiles.getUnlocalizedName()); + //GameRegistry.registerBlock(stone_deep_cobble, ItemBlockBase.class, stone_deep_cobble.getUnlocalizedName()); + + //Blocks + GameRegistry.registerBlock(block_uranium, block_uranium.getUnlocalizedName()); + GameRegistry.registerBlock(block_u233, block_u233.getUnlocalizedName()); + GameRegistry.registerBlock(block_u235, block_u235.getUnlocalizedName()); + GameRegistry.registerBlock(block_u238, block_u238.getUnlocalizedName()); + GameRegistry.registerBlock(block_uranium_fuel, block_uranium_fuel.getUnlocalizedName()); + GameRegistry.registerBlock(block_neptunium, block_neptunium.getUnlocalizedName()); + GameRegistry.registerBlock(block_polonium, block_polonium.getUnlocalizedName()); + GameRegistry.registerBlock(block_mox_fuel, block_mox_fuel.getUnlocalizedName()); + GameRegistry.registerBlock(block_plutonium, block_plutonium.getUnlocalizedName()); + GameRegistry.registerBlock(block_pu238, block_pu238.getUnlocalizedName()); + GameRegistry.registerBlock(block_pu239, block_pu239.getUnlocalizedName()); + GameRegistry.registerBlock(block_pu240, block_pu240.getUnlocalizedName()); + GameRegistry.registerBlock(block_pu_mix, block_pu_mix.getUnlocalizedName()); + GameRegistry.registerBlock(block_plutonium_fuel, block_plutonium_fuel.getUnlocalizedName()); + GameRegistry.registerBlock(block_thorium, block_thorium.getUnlocalizedName()); + GameRegistry.registerBlock(block_thorium_fuel, block_thorium_fuel.getUnlocalizedName()); + GameRegistry.registerBlock(block_titanium, block_titanium.getUnlocalizedName()); + GameRegistry.registerBlock(block_sulfur, block_sulfur.getUnlocalizedName()); + GameRegistry.registerBlock(block_niter, block_niter.getUnlocalizedName()); + GameRegistry.registerBlock(block_copper, block_copper.getUnlocalizedName()); + GameRegistry.registerBlock(block_red_copper, block_red_copper.getUnlocalizedName()); + GameRegistry.registerBlock(block_advanced_alloy, block_advanced_alloy.getUnlocalizedName()); + GameRegistry.registerBlock(block_tungsten, block_tungsten.getUnlocalizedName()); + GameRegistry.registerBlock(block_aluminium, block_aluminium.getUnlocalizedName()); + GameRegistry.registerBlock(block_fluorite, block_fluorite.getUnlocalizedName()); + GameRegistry.registerBlock(block_beryllium, block_beryllium.getUnlocalizedName()); + GameRegistry.registerBlock(block_cobalt, block_cobalt.getUnlocalizedName()); + GameRegistry.registerBlock(block_steel, block_steel.getUnlocalizedName()); + GameRegistry.registerBlock(block_tcalloy, block_tcalloy.getUnlocalizedName()); + GameRegistry.registerBlock(block_cdalloy, block_cdalloy.getUnlocalizedName()); + GameRegistry.registerBlock(block_lead, block_lead.getUnlocalizedName()); + GameRegistry.registerBlock(block_bismuth, block_bismuth.getUnlocalizedName()); + GameRegistry.registerBlock(block_cadmium, block_cadmium.getUnlocalizedName()); + GameRegistry.registerBlock(block_coltan, block_coltan.getUnlocalizedName()); + GameRegistry.registerBlock(block_tantalium, block_tantalium.getUnlocalizedName()); + GameRegistry.registerBlock(block_niobium, block_niobium.getUnlocalizedName()); + GameRegistry.registerBlock(block_lithium, block_lithium.getUnlocalizedName()); + GameRegistry.registerBlock(block_zirconium, block_zirconium.getUnlocalizedName()); + GameRegistry.registerBlock(block_white_phosphorus, block_white_phosphorus.getUnlocalizedName()); + GameRegistry.registerBlock(block_red_phosphorus, block_red_phosphorus.getUnlocalizedName()); + GameRegistry.registerBlock(block_yellowcake, block_yellowcake.getUnlocalizedName()); + GameRegistry.registerBlock(block_scrap, block_scrap.getUnlocalizedName()); + GameRegistry.registerBlock(block_electrical_scrap, block_electrical_scrap.getUnlocalizedName()); + GameRegistry.registerBlock(block_fallout, block_fallout.getUnlocalizedName()); + GameRegistry.registerBlock(block_foam, block_foam.getUnlocalizedName()); + GameRegistry.registerBlock(block_graphite, block_graphite.getUnlocalizedName()); + register(block_coke); + GameRegistry.registerBlock(block_graphite_drilled, block_graphite_drilled.getUnlocalizedName()); + GameRegistry.registerBlock(block_graphite_fuel, block_graphite_fuel.getUnlocalizedName()); + GameRegistry.registerBlock(block_graphite_rod, block_graphite_rod.getUnlocalizedName()); + GameRegistry.registerBlock(block_graphite_plutonium, block_graphite_plutonium.getUnlocalizedName()); + GameRegistry.registerBlock(block_graphite_source, block_graphite_source.getUnlocalizedName()); + GameRegistry.registerBlock(block_graphite_lithium, block_graphite_lithium.getUnlocalizedName()); + GameRegistry.registerBlock(block_graphite_tritium, block_graphite_tritium.getUnlocalizedName()); + GameRegistry.registerBlock(block_graphite_detector, block_graphite_detector.getUnlocalizedName()); + GameRegistry.registerBlock(block_boron, block_boron.getUnlocalizedName()); + GameRegistry.registerBlock(block_insulator, block_insulator.getUnlocalizedName()); + GameRegistry.registerBlock(block_fiberglass, block_fiberglass.getUnlocalizedName()); + GameRegistry.registerBlock(block_asbestos, block_asbestos.getUnlocalizedName()); + GameRegistry.registerBlock(block_trinitite, block_trinitite.getUnlocalizedName()); + GameRegistry.registerBlock(block_waste, block_waste.getUnlocalizedName()); + GameRegistry.registerBlock(block_waste_painted, block_waste_painted.getUnlocalizedName()); + GameRegistry.registerBlock(block_waste_vitrified, block_waste_vitrified.getUnlocalizedName()); + GameRegistry.registerBlock(ancient_scrap, ancient_scrap.getUnlocalizedName()); + GameRegistry.registerBlock(block_corium, block_corium.getUnlocalizedName()); + GameRegistry.registerBlock(block_corium_cobble, block_corium_cobble.getUnlocalizedName()); + GameRegistry.registerBlock(block_schraranium, ItemBlockBase.class, block_schraranium.getUnlocalizedName()); + GameRegistry.registerBlock(block_schrabidium, ItemBlockBase.class, block_schrabidium.getUnlocalizedName()); + GameRegistry.registerBlock(block_schrabidate, ItemBlockBase.class, block_schrabidate.getUnlocalizedName()); + GameRegistry.registerBlock(block_solinium, ItemBlockBase.class, block_solinium.getUnlocalizedName()); + GameRegistry.registerBlock(block_schrabidium_fuel, ItemBlockBase.class, block_schrabidium_fuel.getUnlocalizedName()); + GameRegistry.registerBlock(block_euphemium, ItemBlockLore.class, block_euphemium.getUnlocalizedName()); + GameRegistry.registerBlock(block_schrabidium_cluster, ItemBlockBase.class, block_schrabidium_cluster.getUnlocalizedName()); + GameRegistry.registerBlock(block_euphemium_cluster, ItemBlockLore.class, block_euphemium_cluster.getUnlocalizedName()); + GameRegistry.registerBlock(block_dineutronium, block_dineutronium.getUnlocalizedName()); + GameRegistry.registerBlock(block_magnetized_tungsten, block_magnetized_tungsten.getUnlocalizedName()); + GameRegistry.registerBlock(block_combine_steel, block_combine_steel.getUnlocalizedName()); + GameRegistry.registerBlock(block_desh, block_desh.getUnlocalizedName()); + GameRegistry.registerBlock(block_dura_steel, block_dura_steel.getUnlocalizedName()); + GameRegistry.registerBlock(block_starmetal, block_starmetal.getUnlocalizedName()); + GameRegistry.registerBlock(block_polymer, block_polymer.getUnlocalizedName()); + GameRegistry.registerBlock(block_bakelite, block_bakelite.getUnlocalizedName()); + GameRegistry.registerBlock(block_rubber, block_rubber.getUnlocalizedName()); + GameRegistry.registerBlock(block_australium, ItemOreBlock.class, block_australium.getUnlocalizedName()); + GameRegistry.registerBlock(block_weidanium, ItemOreBlock.class, block_weidanium.getUnlocalizedName()); + GameRegistry.registerBlock(block_reiium, ItemOreBlock.class, block_reiium.getUnlocalizedName()); + GameRegistry.registerBlock(block_unobtainium, ItemOreBlock.class, block_unobtainium.getUnlocalizedName()); + GameRegistry.registerBlock(block_daffergon, ItemOreBlock.class, block_daffergon.getUnlocalizedName()); + GameRegistry.registerBlock(block_verticium, ItemOreBlock.class, block_verticium.getUnlocalizedName()); + register(block_cap); + GameRegistry.registerBlock(block_lanthanium, block_lanthanium.getUnlocalizedName()); + GameRegistry.registerBlock(block_ra226, block_ra226.getUnlocalizedName()); + GameRegistry.registerBlock(block_actinium, block_actinium.getUnlocalizedName()); + GameRegistry.registerBlock(block_tritium, block_tritium.getUnlocalizedName()); + GameRegistry.registerBlock(block_semtex, block_semtex.getUnlocalizedName()); + GameRegistry.registerBlock(block_c4, block_c4.getUnlocalizedName()); + GameRegistry.registerBlock(block_smore, block_smore.getUnlocalizedName()); + GameRegistry.registerBlock(block_slag, block_slag.getUnlocalizedName()); + + //Deco Blocks + GameRegistry.registerBlock(deco_titanium, deco_titanium.getUnlocalizedName()); + GameRegistry.registerBlock(deco_red_copper, deco_red_copper.getUnlocalizedName()); + GameRegistry.registerBlock(deco_tungsten, deco_tungsten.getUnlocalizedName()); + GameRegistry.registerBlock(deco_aluminium, deco_aluminium.getUnlocalizedName()); + GameRegistry.registerBlock(deco_steel, deco_steel.getUnlocalizedName()); + GameRegistry.registerBlock(deco_rusty_steel, deco_rusty_steel.getUnlocalizedName()); + GameRegistry.registerBlock(deco_lead, deco_lead.getUnlocalizedName()); + GameRegistry.registerBlock(deco_beryllium, deco_beryllium.getUnlocalizedName()); + GameRegistry.registerBlock(deco_asbestos, deco_asbestos.getUnlocalizedName()); + GameRegistry.registerBlock(deco_emitter, ItemBlockBase.class, deco_emitter.getUnlocalizedName()); + GameRegistry.registerBlock(part_emitter, ItemBlockBase.class, part_emitter.getUnlocalizedName()); + GameRegistry.registerBlock(deco_loot, deco_loot.getUnlocalizedName()); + GameRegistry.registerBlock(pedestal, pedestal.getUnlocalizedName()); + register(skeleton_holder); + register(dungeon_spawner); + GameRegistry.registerBlock(bobblehead, ItemBlockMeta.class, bobblehead.getUnlocalizedName()); + GameRegistry.registerBlock(snowglobe, ItemBlockMeta.class, snowglobe.getUnlocalizedName()); + GameRegistry.registerBlock(plushie, ItemBlockBase.class, plushie.getUnlocalizedName()); + GameRegistry.registerBlock(deco_rbmk, deco_rbmk.getUnlocalizedName()); + GameRegistry.registerBlock(deco_rbmk_smooth, deco_rbmk_smooth.getUnlocalizedName()); + + //Gravel + GameRegistry.registerBlock(gravel_obsidian, ItemBlockBlastInfo.class, gravel_obsidian.getUnlocalizedName()); + GameRegistry.registerBlock(gravel_diamond, ItemBlockLore.class, gravel_diamond.getUnlocalizedName()); + + //Lamps + GameRegistry.registerBlock(lamp_tritium_green_off, lamp_tritium_green_off.getUnlocalizedName()); + GameRegistry.registerBlock(lamp_tritium_green_on, lamp_tritium_green_on.getUnlocalizedName()); + GameRegistry.registerBlock(lamp_tritium_blue_off, lamp_tritium_blue_off.getUnlocalizedName()); + GameRegistry.registerBlock(lamp_tritium_blue_on, lamp_tritium_blue_on.getUnlocalizedName()); + GameRegistry.registerBlock(lamp_demon, lamp_demon.getUnlocalizedName()); + GameRegistry.registerBlock(lantern, lantern.getUnlocalizedName()); + GameRegistry.registerBlock(lantern_behemoth, lantern_behemoth.getUnlocalizedName()); + GameRegistry.registerBlock(spotlight_incandescent, spotlight_incandescent.getUnlocalizedName()); + GameRegistry.registerBlock(spotlight_incandescent_off, spotlight_incandescent_off.getUnlocalizedName()); + GameRegistry.registerBlock(spotlight_fluoro, spotlight_fluoro.getUnlocalizedName()); + GameRegistry.registerBlock(spotlight_fluoro_off, spotlight_fluoro_off.getUnlocalizedName()); + GameRegistry.registerBlock(spotlight_halogen, spotlight_halogen.getUnlocalizedName()); + GameRegistry.registerBlock(spotlight_halogen_off, spotlight_halogen_off.getUnlocalizedName()); + GameRegistry.registerBlock(spotlight_beam, spotlight_beam.getUnlocalizedName()); + register(floodlight); + GameRegistry.registerBlock(floodlight_beam, floodlight_beam.getUnlocalizedName()); + + //Reinforced Blocks + register(sandbags); + register(wood_barrier); + register(wood_structure); + GameRegistry.registerBlock(asphalt, ItemBlockBlastInfo.class, asphalt.getUnlocalizedName()); + GameRegistry.registerBlock(asphalt_light, ItemBlockBlastInfo.class, asphalt_light.getUnlocalizedName()); + GameRegistry.registerBlock(reinforced_brick, ItemBlockBlastInfo.class, reinforced_brick.getUnlocalizedName()); + GameRegistry.registerBlock(reinforced_glass, ItemBlockBlastInfo.class, reinforced_glass.getUnlocalizedName()); + GameRegistry.registerBlock(reinforced_glass_pane, ItemBlockBlastInfo.class, reinforced_glass_pane.getUnlocalizedName()); + GameRegistry.registerBlock(reinforced_light, ItemBlockBlastInfo.class, reinforced_light.getUnlocalizedName()); + GameRegistry.registerBlock(reinforced_sand, ItemBlockBlastInfo.class, reinforced_sand.getUnlocalizedName()); + GameRegistry.registerBlock(reinforced_lamp_off, ItemBlockBlastInfo.class, reinforced_lamp_off.getUnlocalizedName()); + GameRegistry.registerBlock(reinforced_lamp_on, ItemBlockBlastInfo.class, reinforced_lamp_on.getUnlocalizedName()); + GameRegistry.registerBlock(reinforced_laminate, ItemBlockBlastInfo.class, reinforced_laminate.getUnlocalizedName()); + GameRegistry.registerBlock(reinforced_laminate_pane,ItemBlockBlastInfo.class, reinforced_laminate_pane.getUnlocalizedName()); + + //Bricks + GameRegistry.registerBlock(reinforced_stone, ItemBlockBlastInfo.class, reinforced_stone.getUnlocalizedName()); + GameRegistry.registerBlock(reinforced_ducrete, ItemBlockBlastInfo.class, reinforced_ducrete.getUnlocalizedName()); + GameRegistry.registerBlock(concrete_smooth, ItemBlockBlastInfo.class, concrete_smooth.getUnlocalizedName()); + GameRegistry.registerBlock(concrete_colored, ItemBlockColoredConcrete.class, concrete_colored.getUnlocalizedName()); + GameRegistry.registerBlock(concrete_colored_ext, ItemBlockBlastInfo.class, concrete_colored_ext.getUnlocalizedName()); + GameRegistry.registerBlock(concrete, ItemBlockBlastInfo.class, concrete.getUnlocalizedName()); + GameRegistry.registerBlock(concrete_asbestos, ItemBlockBlastInfo.class, concrete_asbestos.getUnlocalizedName()); + GameRegistry.registerBlock(concrete_super, ItemBlockBlastInfo.class, concrete_super.getUnlocalizedName()); + GameRegistry.registerBlock(concrete_super_broken, ItemBlockBlastInfo.class, concrete_super_broken.getUnlocalizedName()); + GameRegistry.registerBlock(ducrete_smooth, ItemBlockBlastInfo.class, ducrete_smooth.getUnlocalizedName()); + GameRegistry.registerBlock(ducrete, ItemBlockBlastInfo.class, ducrete.getUnlocalizedName()); + GameRegistry.registerBlock(concrete_pillar, ItemBlockBlastInfo.class, concrete_pillar.getUnlocalizedName()); + GameRegistry.registerBlock(brick_concrete, ItemBlockBlastInfo.class, brick_concrete.getUnlocalizedName()); + GameRegistry.registerBlock(brick_concrete_mossy, ItemBlockBlastInfo.class, brick_concrete_mossy.getUnlocalizedName()); + GameRegistry.registerBlock(brick_concrete_cracked, ItemBlockBlastInfo.class, brick_concrete_cracked.getUnlocalizedName()); + GameRegistry.registerBlock(brick_concrete_broken, ItemBlockBlastInfo.class, brick_concrete_broken.getUnlocalizedName()); + GameRegistry.registerBlock(brick_concrete_marked, ItemBlockBlastInfo.class, brick_concrete_marked.getUnlocalizedName()); + GameRegistry.registerBlock(brick_ducrete, ItemBlockBlastInfo.class, brick_ducrete.getUnlocalizedName()); + GameRegistry.registerBlock(brick_obsidian, ItemBlockBlastInfo.class, brick_obsidian.getUnlocalizedName()); + GameRegistry.registerBlock(brick_compound, ItemBlockBlastInfo.class, brick_compound.getUnlocalizedName()); + GameRegistry.registerBlock(brick_light, ItemBlockBlastInfo.class, brick_light.getUnlocalizedName()); + GameRegistry.registerBlock(brick_asbestos, brick_asbestos.getUnlocalizedName()); + GameRegistry.registerBlock(brick_fire, ItemBlockBlastInfo.class, brick_fire.getUnlocalizedName()); + + //Lightstone and its stair/slab variants + register(lightstone); + register(lightstone_tile_stairs); + register(lightstone_bricks_stairs); + register(stones_slab, ItemModSlab.class); + register(stones_double_slab, ItemModSlab.class); + + GameRegistry.registerBlock(concrete_slab, ItemModSlab.class, concrete_slab.getUnlocalizedName()); + GameRegistry.registerBlock(concrete_double_slab, ItemModSlab.class, concrete_double_slab.getUnlocalizedName()); + GameRegistry.registerBlock(concrete_brick_slab, ItemModSlab.class, concrete_brick_slab.getUnlocalizedName()); + GameRegistry.registerBlock(concrete_brick_double_slab, ItemModSlab.class, concrete_brick_double_slab.getUnlocalizedName()); + GameRegistry.registerBlock(brick_slab, ItemModSlab.class, brick_slab.getUnlocalizedName()); + GameRegistry.registerBlock(brick_double_slab, ItemModSlab.class, brick_double_slab.getUnlocalizedName()); + + GameRegistry.registerBlock(concrete_smooth_stairs, concrete_smooth_stairs.getUnlocalizedName()); + GameRegistry.registerBlock(concrete_stairs, concrete_stairs.getUnlocalizedName()); + GameRegistry.registerBlock(concrete_asbestos_stairs, concrete_asbestos_stairs.getUnlocalizedName()); + GameRegistry.registerBlock(ducrete_smooth_stairs, ducrete_smooth_stairs.getUnlocalizedName()); + GameRegistry.registerBlock(brick_concrete_stairs, brick_concrete_stairs.getUnlocalizedName()); + GameRegistry.registerBlock(brick_concrete_mossy_stairs, brick_concrete_mossy_stairs.getUnlocalizedName()); + GameRegistry.registerBlock(brick_concrete_cracked_stairs, brick_concrete_cracked_stairs.getUnlocalizedName()); + GameRegistry.registerBlock(brick_concrete_broken_stairs, brick_concrete_broken_stairs.getUnlocalizedName()); + GameRegistry.registerBlock(brick_ducrete_stairs, brick_ducrete_stairs.getUnlocalizedName()); + GameRegistry.registerBlock(reinforced_stone_stairs, reinforced_stone_stairs.getUnlocalizedName()); + GameRegistry.registerBlock(reinforced_brick_stairs, reinforced_brick_stairs.getUnlocalizedName()); + GameRegistry.registerBlock(brick_obsidian_stairs, brick_obsidian_stairs.getUnlocalizedName()); + GameRegistry.registerBlock(brick_light_stairs, brick_light_stairs.getUnlocalizedName()); + GameRegistry.registerBlock(brick_compound_stairs, brick_compound_stairs.getUnlocalizedName()); + GameRegistry.registerBlock(brick_asbestos_stairs, brick_asbestos_stairs.getUnlocalizedName()); + GameRegistry.registerBlock(brick_fire_stairs, brick_fire_stairs.getUnlocalizedName()); + GameRegistry.registerBlock(ducrete_stairs, ducrete_stairs.getUnlocalizedName()); + GameRegistry.registerBlock(asphalt_stairs, asphalt_stairs.getUnlocalizedName()); + + //CMB Building Elements + GameRegistry.registerBlock(cmb_brick, ItemBlockBlastInfo.class, cmb_brick.getUnlocalizedName()); + GameRegistry.registerBlock(cmb_brick_reinforced, ItemBlockBlastInfo.class, cmb_brick_reinforced.getUnlocalizedName()); + + //Tiles + GameRegistry.registerBlock(vinyl_tile, ItemBlockBlastInfo.class, vinyl_tile.getUnlocalizedName()); //i would rather die than dip into fucking blocks with subtypes again + + GameRegistry.registerBlock(tile_lab, tile_lab.getUnlocalizedName()); + GameRegistry.registerBlock(tile_lab_cracked, tile_lab_cracked.getUnlocalizedName()); + GameRegistry.registerBlock(tile_lab_broken, tile_lab_broken.getUnlocalizedName()); + + //Other defensive stuff + GameRegistry.registerBlock(barbed_wire, barbed_wire.getUnlocalizedName()); + GameRegistry.registerBlock(barbed_wire_fire, barbed_wire_fire.getUnlocalizedName()); + GameRegistry.registerBlock(barbed_wire_poison, barbed_wire_poison.getUnlocalizedName()); + GameRegistry.registerBlock(barbed_wire_acid, barbed_wire_acid.getUnlocalizedName()); + GameRegistry.registerBlock(barbed_wire_wither, barbed_wire_wither.getUnlocalizedName()); + GameRegistry.registerBlock(barbed_wire_ultradeath, barbed_wire_ultradeath.getUnlocalizedName()); + GameRegistry.registerBlock(spikes, spikes.getUnlocalizedName()); + GameRegistry.registerBlock(tesla, tesla.getUnlocalizedName()); + + //Charger + GameRegistry.registerBlock(charger, charger.getUnlocalizedName()); + GameRegistry.registerBlock(refueler, refueler.getUnlocalizedName()); + //GameRegistry.registerBlock(floodlight, floodlight.getUnlocalizedName()); + + //Decoration Blocks + GameRegistry.registerBlock(block_meteor, block_meteor.getUnlocalizedName()); + GameRegistry.registerBlock(block_meteor_cobble, block_meteor_cobble.getUnlocalizedName()); + GameRegistry.registerBlock(block_meteor_broken, block_meteor_broken.getUnlocalizedName()); + GameRegistry.registerBlock(block_meteor_molten, block_meteor_molten.getUnlocalizedName()); + GameRegistry.registerBlock(block_meteor_treasure, block_meteor_treasure.getUnlocalizedName()); + GameRegistry.registerBlock(meteor_polished, meteor_polished.getUnlocalizedName()); + GameRegistry.registerBlock(meteor_brick, meteor_brick.getUnlocalizedName()); + GameRegistry.registerBlock(meteor_brick_mossy, meteor_brick_mossy.getUnlocalizedName()); + GameRegistry.registerBlock(meteor_brick_cracked, meteor_brick_cracked.getUnlocalizedName()); + GameRegistry.registerBlock(meteor_brick_chiseled, meteor_brick_chiseled.getUnlocalizedName()); + GameRegistry.registerBlock(meteor_pillar, meteor_pillar.getUnlocalizedName()); + GameRegistry.registerBlock(meteor_spawner, meteor_spawner.getUnlocalizedName()); + GameRegistry.registerBlock(meteor_battery, ItemBlockLore.class, meteor_battery.getUnlocalizedName()); + GameRegistry.registerBlock(brick_jungle, brick_jungle.getUnlocalizedName()); + GameRegistry.registerBlock(brick_jungle_cracked, brick_jungle_cracked.getUnlocalizedName()); + GameRegistry.registerBlock(brick_jungle_fragile, brick_jungle_fragile.getUnlocalizedName()); + GameRegistry.registerBlock(brick_jungle_lava, brick_jungle_lava.getUnlocalizedName()); + GameRegistry.registerBlock(brick_jungle_ooze, brick_jungle_ooze.getUnlocalizedName()); + GameRegistry.registerBlock(brick_jungle_mystic, brick_jungle_mystic.getUnlocalizedName()); + GameRegistry.registerBlock(brick_jungle_trap, ItemTrapBlock.class, brick_jungle_trap.getUnlocalizedName()); + GameRegistry.registerBlock(brick_jungle_glyph, ItemGlyphBlock.class, brick_jungle_glyph.getUnlocalizedName()); + GameRegistry.registerBlock(brick_jungle_circle, brick_jungle_circle.getUnlocalizedName()); + GameRegistry.registerBlock(brick_red, brick_red.getUnlocalizedName()); + register(deco_computer); + register(deco_crt); + register(deco_toaster); + GameRegistry.registerBlock(filing_cabinet, ItemBlockBase.class, filing_cabinet.getUnlocalizedName()); + GameRegistry.registerBlock(tape_recorder, tape_recorder.getUnlocalizedName()); + GameRegistry.registerBlock(steel_poles, steel_poles.getUnlocalizedName()); + GameRegistry.registerBlock(pole_top, pole_top.getUnlocalizedName()); + GameRegistry.registerBlock(pole_satellite_receiver, pole_satellite_receiver.getUnlocalizedName()); + GameRegistry.registerBlock(steel_wall, steel_wall.getUnlocalizedName()); + GameRegistry.registerBlock(steel_corner, steel_corner.getUnlocalizedName()); + GameRegistry.registerBlock(steel_roof, steel_roof.getUnlocalizedName()); + GameRegistry.registerBlock(steel_beam, steel_beam.getUnlocalizedName()); + register(steel_scaffold); + GameRegistry.registerBlock(steel_grate, steel_grate.getUnlocalizedName()); + register(steel_grate_wide); + //register(scaffold_dynamic); + GameRegistry.registerBlock(deco_pipe, ItemBlockBase.class, deco_pipe.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_rusted, ItemBlockBase.class, deco_pipe_rusted.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_green, ItemBlockBase.class, deco_pipe_green.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_green_rusted, ItemBlockBase.class, deco_pipe_green_rusted.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_red, ItemBlockBase.class, deco_pipe_red.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_marked, ItemBlockBase.class, deco_pipe_marked.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_rim, ItemBlockBase.class, deco_pipe_rim.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_rim_rusted, ItemBlockBase.class, deco_pipe_rim_rusted.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_rim_green, ItemBlockBase.class, deco_pipe_rim_green.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_rim_green_rusted, ItemBlockBase.class, deco_pipe_rim_green_rusted.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_rim_red, ItemBlockBase.class, deco_pipe_rim_red.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_rim_marked, ItemBlockBase.class, deco_pipe_rim_marked.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_framed, ItemBlockBase.class, deco_pipe_framed.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_framed_rusted, ItemBlockBase.class, deco_pipe_framed_rusted.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_framed_green, ItemBlockBase.class, deco_pipe_framed_green.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_framed_green_rusted, ItemBlockBase.class, deco_pipe_framed_green_rusted.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_framed_red, ItemBlockBase.class, deco_pipe_framed_red.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_framed_marked, ItemBlockBase.class, deco_pipe_framed_marked.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_quad, ItemBlockBase.class, deco_pipe_quad.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_quad_rusted, ItemBlockBase.class, deco_pipe_quad_rusted.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_quad_green, ItemBlockBase.class, deco_pipe_quad_green.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_quad_green_rusted, ItemBlockBase.class, deco_pipe_quad_green_rusted.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_quad_red, ItemBlockBase.class, deco_pipe_quad_red.getUnlocalizedName()); + GameRegistry.registerBlock(deco_pipe_quad_marked, ItemBlockBase.class, deco_pipe_quad_marked.getUnlocalizedName()); + register(plant_flower); + register(plant_tall); + register(plant_dead); + register(reeds); + register(vine_phosphor); + GameRegistry.registerBlock(mush, mush.getUnlocalizedName()); + GameRegistry.registerBlock(mush_block, mush_block.getUnlocalizedName()); + GameRegistry.registerBlock(mush_block_stem, mush_block_stem.getUnlocalizedName()); + register(glyphid_base); + register(glyphid_spawner); + GameRegistry.registerBlock(moon_turf, moon_turf.getUnlocalizedName()); + + //Waste + GameRegistry.registerBlock(waste_earth, waste_earth.getUnlocalizedName()); + GameRegistry.registerBlock(waste_mycelium, waste_mycelium.getUnlocalizedName()); + GameRegistry.registerBlock(waste_trinitite, waste_trinitite.getUnlocalizedName()); + GameRegistry.registerBlock(waste_trinitite_red, waste_trinitite_red.getUnlocalizedName()); + GameRegistry.registerBlock(waste_log, waste_log.getUnlocalizedName()); + GameRegistry.registerBlock(waste_leaves, waste_leaves.getUnlocalizedName()); + GameRegistry.registerBlock(waste_planks, waste_planks.getUnlocalizedName()); + GameRegistry.registerBlock(frozen_grass, frozen_grass.getUnlocalizedName()); + GameRegistry.registerBlock(frozen_dirt, frozen_dirt.getUnlocalizedName()); + GameRegistry.registerBlock(frozen_log, frozen_log.getUnlocalizedName()); + GameRegistry.registerBlock(frozen_planks, frozen_planks.getUnlocalizedName()); + GameRegistry.registerBlock(dirt_dead, dirt_dead.getUnlocalizedName()); + GameRegistry.registerBlock(dirt_oily, dirt_oily.getUnlocalizedName()); + GameRegistry.registerBlock(sand_dirty, sand_dirty.getUnlocalizedName()); + GameRegistry.registerBlock(sand_dirty_red, sand_dirty_red.getUnlocalizedName()); + GameRegistry.registerBlock(stone_cracked, stone_cracked.getUnlocalizedName()); + GameRegistry.registerBlock(fallout, fallout.getUnlocalizedName()); + GameRegistry.registerBlock(foam_layer, foam_layer.getUnlocalizedName()); + GameRegistry.registerBlock(sand_boron_layer, sand_boron_layer.getUnlocalizedName()); + GameRegistry.registerBlock(leaves_layer, leaves_layer.getUnlocalizedName()); + GameRegistry.registerBlock(oil_spill, oil_spill.getUnlocalizedName()); + GameRegistry.registerBlock(burning_earth, burning_earth.getUnlocalizedName()); + GameRegistry.registerBlock(tektite, tektite.getUnlocalizedName()); + GameRegistry.registerBlock(ore_tektite_osmiridium, ore_tektite_osmiridium.getUnlocalizedName()); + GameRegistry.registerBlock(impact_dirt, impact_dirt.getUnlocalizedName()); + + //RAD + register(sellafield_slaked); + register(sellafield_bedrock); + register(ore_sellafield_diamond); + register(ore_sellafield_emerald); + register(ore_sellafield_uranium_scorched); + register(ore_sellafield_schrabidium); + register(ore_sellafield_radgem); + GameRegistry.registerBlock(sellafield, ItemBlockNamedMeta.class, sellafield.getUnlocalizedName()); + + //Geysirs + GameRegistry.registerBlock(geysir_water, geysir_water.getUnlocalizedName()); + GameRegistry.registerBlock(geysir_chlorine, geysir_chlorine.getUnlocalizedName()); + GameRegistry.registerBlock(geysir_vapor, geysir_vapor.getUnlocalizedName()); + GameRegistry.registerBlock(geysir_nether, geysir_nether.getUnlocalizedName()); + + //Nukes + GameRegistry.registerBlock(nuke_gadget, nuke_gadget.getUnlocalizedName()); + GameRegistry.registerBlock(nuke_boy, nuke_boy.getUnlocalizedName()); + GameRegistry.registerBlock(nuke_man, nuke_man.getUnlocalizedName()); + GameRegistry.registerBlock(nuke_mike, nuke_mike.getUnlocalizedName()); + GameRegistry.registerBlock(nuke_tsar, nuke_tsar.getUnlocalizedName()); + GameRegistry.registerBlock(nuke_prototype, ItemPrototypeBlock.class, nuke_prototype.getUnlocalizedName()); + GameRegistry.registerBlock(nuke_fleija, nuke_fleija.getUnlocalizedName()); + GameRegistry.registerBlock(nuke_solinium, nuke_solinium.getUnlocalizedName()); + GameRegistry.registerBlock(nuke_n2, nuke_n2.getUnlocalizedName()); + GameRegistry.registerBlock(nuke_fstbmb, nuke_fstbmb.getUnlocalizedName()); + GameRegistry.registerBlock(nuke_custom, nuke_custom.getUnlocalizedName()); + + //Generic Bombs + GameRegistry.registerBlock(bomb_multi, bomb_multi.getUnlocalizedName()); + register(crashed_balefire); + GameRegistry.registerBlock(fireworks, fireworks.getUnlocalizedName()); + GameRegistry.registerBlock(dynamite, dynamite.getUnlocalizedName()); + GameRegistry.registerBlock(tnt, tnt.getUnlocalizedName()); + GameRegistry.registerBlock(semtex, semtex.getUnlocalizedName()); + GameRegistry.registerBlock(c4, c4.getUnlocalizedName()); + register(fissure_bomb); + + //Turrets + GameRegistry.registerBlock(turret_chekhov, turret_chekhov.getUnlocalizedName()); + GameRegistry.registerBlock(turret_friendly, turret_friendly.getUnlocalizedName()); + GameRegistry.registerBlock(turret_jeremy, turret_jeremy.getUnlocalizedName()); + GameRegistry.registerBlock(turret_tauon, turret_tauon.getUnlocalizedName()); + GameRegistry.registerBlock(turret_richard, turret_richard.getUnlocalizedName()); + GameRegistry.registerBlock(turret_howard, turret_howard.getUnlocalizedName()); + GameRegistry.registerBlock(turret_howard_damaged, turret_howard_damaged.getUnlocalizedName()); + GameRegistry.registerBlock(turret_maxwell, turret_maxwell.getUnlocalizedName()); + GameRegistry.registerBlock(turret_fritz, turret_fritz.getUnlocalizedName()); + //GameRegistry.registerBlock(turret_brandon, turret_brandon.getUnlocalizedName()); + GameRegistry.registerBlock(turret_arty, turret_arty.getUnlocalizedName()); + GameRegistry.registerBlock(turret_himars, turret_himars.getUnlocalizedName()); + GameRegistry.registerBlock(turret_sentry, turret_sentry.getUnlocalizedName()); + GameRegistry.registerBlock(turret_sentry_damaged, turret_sentry_damaged.getUnlocalizedName()); + + //Wall-mounted Explosives + GameRegistry.registerBlock(charge_dynamite, ItemBlockBase.class, charge_dynamite.getUnlocalizedName()); + GameRegistry.registerBlock(charge_miner, ItemBlockBase.class, charge_miner.getUnlocalizedName()); + GameRegistry.registerBlock(charge_c4, ItemBlockBase.class, charge_c4.getUnlocalizedName()); + GameRegistry.registerBlock(charge_semtex, ItemBlockBase.class, charge_semtex.getUnlocalizedName()); + + //Mines + GameRegistry.registerBlock(mine_ap, mine_ap.getUnlocalizedName()); + GameRegistry.registerBlock(mine_shrap, mine_shrap.getUnlocalizedName()); + GameRegistry.registerBlock(mine_he, mine_he.getUnlocalizedName()); + GameRegistry.registerBlock(mine_fat, mine_fat.getUnlocalizedName()); + GameRegistry.registerBlock(mine_naval, mine_naval.getUnlocalizedName()); + + //Block Bombs + GameRegistry.registerBlock(flame_war, flame_war.getUnlocalizedName()); + GameRegistry.registerBlock(float_bomb, float_bomb.getUnlocalizedName()); + GameRegistry.registerBlock(therm_endo, therm_endo.getUnlocalizedName()); + GameRegistry.registerBlock(therm_exo, therm_exo.getUnlocalizedName()); + GameRegistry.registerBlock(emp_bomb, emp_bomb.getUnlocalizedName()); + GameRegistry.registerBlock(det_cord, det_cord.getUnlocalizedName()); + GameRegistry.registerBlock(det_charge, det_charge.getUnlocalizedName()); + GameRegistry.registerBlock(det_nuke, det_nuke.getUnlocalizedName()); + GameRegistry.registerBlock(det_miner, det_miner.getUnlocalizedName()); + GameRegistry.registerBlock(red_barrel, ItemBlockLore.class, red_barrel.getUnlocalizedName()); + GameRegistry.registerBlock(pink_barrel, ItemBlockLore.class, pink_barrel.getUnlocalizedName()); + GameRegistry.registerBlock(lox_barrel, ItemBlockLore.class, lox_barrel.getUnlocalizedName()); + GameRegistry.registerBlock(taint_barrel, taint_barrel.getUnlocalizedName()); + GameRegistry.registerBlock(yellow_barrel, yellow_barrel.getUnlocalizedName()); + GameRegistry.registerBlock(vitrified_barrel, vitrified_barrel.getUnlocalizedName()); + + //Siren + GameRegistry.registerBlock(machine_siren, machine_siren.getUnlocalizedName()); + + //This Thing + GameRegistry.registerBlock(broadcaster_pc, broadcaster_pc.getUnlocalizedName()); + + //Geiger Counter + GameRegistry.registerBlock(geiger, geiger.getUnlocalizedName()); + + //HEV Battery + GameRegistry.registerBlock(hev_battery, hev_battery.getUnlocalizedName()); + + //Chainlink Fence + GameRegistry.registerBlock(fence_metal, ItemBlockBase.class, fence_metal.getUnlocalizedName()); + + //Sands, Glass + GameRegistry.registerBlock(ash_digamma, ash_digamma.getUnlocalizedName()); + GameRegistry.registerBlock(sand_boron, sand_boron.getUnlocalizedName()); + GameRegistry.registerBlock(sand_lead, sand_lead.getUnlocalizedName()); + GameRegistry.registerBlock(sand_uranium, sand_uranium.getUnlocalizedName()); + GameRegistry.registerBlock(sand_polonium, sand_polonium.getUnlocalizedName()); + GameRegistry.registerBlock(sand_quartz, sand_quartz.getUnlocalizedName()); + GameRegistry.registerBlock(glass_boron, glass_boron.getUnlocalizedName()); + GameRegistry.registerBlock(glass_lead, glass_lead.getUnlocalizedName()); + GameRegistry.registerBlock(glass_uranium, glass_uranium.getUnlocalizedName()); + GameRegistry.registerBlock(glass_trinitite, glass_trinitite.getUnlocalizedName()); + GameRegistry.registerBlock(glass_polonium, glass_polonium.getUnlocalizedName()); + GameRegistry.registerBlock(glass_ash, glass_ash.getUnlocalizedName()); + GameRegistry.registerBlock(glass_quartz, glass_quartz.getUnlocalizedName()); + GameRegistry.registerBlock(glass_polarized, glass_polarized.getUnlocalizedName()); + + //Silo Hatch + GameRegistry.registerBlock(seal_frame, seal_frame.getUnlocalizedName()); + GameRegistry.registerBlock(seal_controller, seal_controller.getUnlocalizedName()); + GameRegistry.registerBlock(seal_hatch, seal_hatch.getUnlocalizedName()); + + //Vault Door + GameRegistry.registerBlock(vault_door, vault_door.getUnlocalizedName()); + GameRegistry.registerBlock(blast_door, blast_door.getUnlocalizedName()); + GameRegistry.registerBlock(fire_door, fire_door.getUnlocalizedName()); + GameRegistry.registerBlock(transition_seal, transition_seal.getUnlocalizedName()); + GameRegistry.registerBlock(silo_hatch, silo_hatch.getUnlocalizedName()); + GameRegistry.registerBlock(silo_hatch_large, silo_hatch_large.getUnlocalizedName()); + GameRegistry.registerBlock(sliding_blast_door, sliding_blast_door.getUnlocalizedName()); + + //Doors + GameRegistry.registerBlock(door_metal, door_metal.getUnlocalizedName()); + GameRegistry.registerBlock(door_office, door_office.getUnlocalizedName()); + GameRegistry.registerBlock(door_bunker, door_bunker.getUnlocalizedName()); + GameRegistry.registerBlock(door_red, door_red.getUnlocalizedName()); + GameRegistry.registerBlock(secure_access_door, secure_access_door.getUnlocalizedName()); + GameRegistry.registerBlock(large_vehicle_door, large_vehicle_door.getUnlocalizedName()); + GameRegistry.registerBlock(qe_containment, qe_containment.getUnlocalizedName()); + GameRegistry.registerBlock(qe_sliding_door, qe_sliding_door.getUnlocalizedName()); + GameRegistry.registerBlock(round_airlock_door, round_airlock_door.getUnlocalizedName()); + GameRegistry.registerBlock(sliding_seal_door, sliding_seal_door.getUnlocalizedName()); + GameRegistry.registerBlock(water_door, water_door.getUnlocalizedName()); + + //Crates + register(crate_iron, ItemBlockStorageCrate.class); + register(crate_steel, ItemBlockStorageCrate.class); + register(crate_desh, ItemBlockStorageCrate.class); + register(crate_tungsten, ItemBlockStorageCrate.class); + register(crate_template, ItemBlockStorageCrate.class); + register(safe, ItemBlockStorageCrate.class); + register(mass_storage, ItemBlockStorageCrate.class); + + //Junk + GameRegistry.registerBlock(boxcar, boxcar.getUnlocalizedName()); + GameRegistry.registerBlock(boat, boat.getUnlocalizedName()); + + //Machines + register(machine_autocrafter); + register(machine_funnel); + + register(anvil_iron); + register(anvil_lead); + register(anvil_steel); + register(anvil_desh); + register(anvil_ferrouranium); + register(anvil_saturnite); + register(anvil_bismuth_bronze); + register(anvil_arsenic_bronze); + register(anvil_schrabidate); + register(anvil_dnt); + register(anvil_osmiridium); + register(anvil_murky); + + GameRegistry.registerBlock(press_preheater, press_preheater.getUnlocalizedName()); + GameRegistry.registerBlock(machine_press, machine_press.getUnlocalizedName()); + GameRegistry.registerBlock(machine_epress, machine_epress.getUnlocalizedName()); + register(machine_conveyor_press); + register(machine_ammo_press); + register(pump_steam); + register(pump_electric); + register(heater_firebox); + register(heater_oven); + register(machine_ashpit); + register(heater_oilburner); + register(heater_electric); + register(heater_heatex); + register(furnace_iron); + register(furnace_steel); + register(furnace_combination); + register(machine_stirling); + register(machine_stirling_steel); + register(machine_stirling_creative); + register(machine_sawmill); + register(machine_crucible); + register(machine_strand_caster); + register(machine_boiler); + register(machine_industrial_boiler); + register(foundry_mold); + register(foundry_basin); + register(foundry_channel); + register(foundry_tank); + register(foundry_outlet); + register(foundry_slagtap); + register(slag); + register(machine_furnace_brick_off); + register(machine_furnace_brick_on); + register(machine_difurnace_off); + register(machine_difurnace_on); + register(machine_difurnace_extension); + GameRegistry.registerBlock(machine_difurnace_rtg_off, machine_difurnace_rtg_off.getUnlocalizedName()); + GameRegistry.registerBlock(machine_difurnace_rtg_on, machine_difurnace_rtg_on.getUnlocalizedName()); + GameRegistry.registerBlock(machine_centrifuge, machine_centrifuge.getUnlocalizedName()); + GameRegistry.registerBlock(machine_gascent, machine_gascent.getUnlocalizedName()); + GameRegistry.registerBlock(machine_fel, machine_fel.getUnlocalizedName()); + GameRegistry.registerBlock(machine_silex, machine_silex.getUnlocalizedName()); + register(machine_rotary_furnace); + GameRegistry.registerBlock(machine_crystallizer, machine_crystallizer.getUnlocalizedName()); + GameRegistry.registerBlock(machine_uf6_tank, machine_uf6_tank.getUnlocalizedName()); + GameRegistry.registerBlock(machine_puf6_tank, machine_puf6_tank.getUnlocalizedName()); + GameRegistry.registerBlock(machine_reactor_breeding, machine_reactor_breeding.getUnlocalizedName()); + GameRegistry.registerBlock(machine_rtg_furnace_off, machine_rtg_furnace_off.getUnlocalizedName()); + GameRegistry.registerBlock(machine_rtg_furnace_on, machine_rtg_furnace_on.getUnlocalizedName()); + register(machine_wood_burner); + register(machine_diesel); + register(machine_combustion_engine); + GameRegistry.registerBlock(machine_controller, machine_controller.getUnlocalizedName()); + GameRegistry.registerBlock(reactor_research, reactor_research.getUnlocalizedName()); + GameRegistry.registerBlock(reactor_zirnox, reactor_zirnox.getUnlocalizedName()); + GameRegistry.registerBlock(zirnox_destroyed, zirnox_destroyed.getUnlocalizedName()); + GameRegistry.registerBlock(machine_industrial_generator, machine_industrial_generator.getUnlocalizedName()); + GameRegistry.registerBlock(machine_radgen, machine_radgen.getUnlocalizedName()); + GameRegistry.registerBlock(machine_cyclotron, machine_cyclotron.getUnlocalizedName()); + GameRegistry.registerBlock(machine_exposure_chamber, machine_exposure_chamber.getUnlocalizedName()); + GameRegistry.registerBlock(machine_rtg_grey, machine_rtg_grey.getUnlocalizedName()); + GameRegistry.registerBlock(machine_geo, machine_geo.getUnlocalizedName()); + GameRegistry.registerBlock(machine_amgen, machine_amgen.getUnlocalizedName()); + GameRegistry.registerBlock(machine_minirtg, machine_minirtg.getUnlocalizedName()); + GameRegistry.registerBlock(machine_powerrtg, machine_powerrtg.getUnlocalizedName()); + GameRegistry.registerBlock(machine_radiolysis, machine_radiolysis.getUnlocalizedName()); + GameRegistry.registerBlock(machine_hephaestus, machine_hephaestus.getUnlocalizedName()); + GameRegistry.registerBlock(machine_spp_bottom, machine_spp_bottom.getUnlocalizedName()); + GameRegistry.registerBlock(machine_spp_top, machine_spp_top.getUnlocalizedName()); + + GameRegistry.registerBlock(hadron_plating, hadron_plating.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_plating_blue, hadron_plating_blue.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_plating_black, hadron_plating_black.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_plating_yellow, hadron_plating_yellow.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_plating_striped, hadron_plating_striped.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_plating_glass, hadron_plating_glass.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_plating_voltz, hadron_plating_voltz.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_coil_alloy, ItemBlockBase.class, hadron_coil_alloy.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_coil_gold, ItemBlockBase.class, hadron_coil_gold.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_coil_neodymium, ItemBlockBase.class, hadron_coil_neodymium.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_coil_magtung, ItemBlockBase.class, hadron_coil_magtung.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_coil_schrabidium, ItemBlockBase.class, hadron_coil_schrabidium.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_coil_schrabidate, ItemBlockBase.class, hadron_coil_schrabidate.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_coil_starmetal, ItemBlockBase.class, hadron_coil_starmetal.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_coil_chlorophyte, ItemBlockBase.class, hadron_coil_chlorophyte.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_coil_mese, ItemBlockBase.class, hadron_coil_mese.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_power, hadron_power.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_power_10m, hadron_power_10m.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_power_100m, hadron_power_100m.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_power_1g, hadron_power_1g.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_power_10g, hadron_power_10g.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_diode, hadron_diode.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_analysis, hadron_analysis.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_analysis_glass, hadron_analysis_glass.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_access, hadron_access.getUnlocalizedName()); + GameRegistry.registerBlock(hadron_core, hadron_core.getUnlocalizedName()); + + register(pa_source); + register(pa_beamline); + register(pa_rfc); + register(pa_quadrupole); + register(pa_dipole); + register(pa_detector); + + GameRegistry.registerBlock(rbmk_rod, rbmk_rod.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_rod_mod, rbmk_rod_mod.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_rod_reasim, rbmk_rod_reasim.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_rod_reasim_mod, rbmk_rod_reasim_mod.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_control, rbmk_control.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_control_mod, rbmk_control_mod.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_control_auto, rbmk_control_auto.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_blank, rbmk_blank.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_boiler, rbmk_boiler.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_reflector, rbmk_reflector.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_absorber, rbmk_absorber.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_moderator, rbmk_moderator.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_outgasser, rbmk_outgasser.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_storage, rbmk_storage.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_cooler, rbmk_cooler.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_heater, rbmk_heater.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_console, rbmk_console.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_crane_console, rbmk_crane_console.getUnlocalizedName()); + register(rbmk_loader); + register(rbmk_steam_inlet); + register(rbmk_steam_outlet); + GameRegistry.registerBlock(pribris, pribris.getUnlocalizedName()); + GameRegistry.registerBlock(pribris_burning, pribris_burning.getUnlocalizedName()); + GameRegistry.registerBlock(pribris_radiating, pribris_radiating.getUnlocalizedName()); + GameRegistry.registerBlock(pribris_digamma, pribris_digamma.getUnlocalizedName()); + + GameRegistry.registerBlock(red_cable, red_cable.getUnlocalizedName()); + GameRegistry.registerBlock(red_cable_classic, red_cable_classic.getUnlocalizedName()); + GameRegistry.registerBlock(red_cable_paintable, red_cable_paintable.getUnlocalizedName()); + register(red_cable_gauge); + GameRegistry.registerBlock(red_wire_coated, red_wire_coated.getUnlocalizedName()); + GameRegistry.registerBlock(red_connector, ItemBlockBase.class, red_connector.getUnlocalizedName()); + GameRegistry.registerBlock(red_pylon, ItemBlockBase.class, red_pylon.getUnlocalizedName()); + register(red_pylon_medium_wood); + register(red_pylon_medium_wood_transformer); + register(red_pylon_medium_steel); + register(red_pylon_medium_steel_transformer); + GameRegistry.registerBlock(red_pylon_large, ItemBlockBase.class, red_pylon_large.getUnlocalizedName()); + GameRegistry.registerBlock(substation, ItemBlockBase.class, substation.getUnlocalizedName()); + GameRegistry.registerBlock(cable_switch, cable_switch.getUnlocalizedName()); + GameRegistry.registerBlock(cable_detector, cable_detector.getUnlocalizedName()); + GameRegistry.registerBlock(cable_diode, ItemBlockBase.class, cable_diode.getUnlocalizedName()); + GameRegistry.registerBlock(machine_detector, machine_detector.getUnlocalizedName()); + register(fluid_duct_neo); + register(fluid_duct_box); + register(fluid_duct_exhaust); + register(fluid_duct_paintable_block_exhaust); + register(fluid_duct_paintable); + register(fluid_duct_gauge); + register(fluid_valve); + register(fluid_switch); + register(fluid_pump); + register(machine_drain); + register(radio_torch_sender); + register(radio_torch_receiver); + register(radio_torch_counter); + register(radio_torch_logic); + register(radio_torch_reader); + register(radio_torch_controller); + register(radio_telex); + + register(crane_extractor); + register(crane_inserter); + register(crane_grabber); + register(crane_router); + register(crane_boxer); + register(crane_unboxer); + register(conveyor); + register(conveyor_express); + register(conveyor_double); + register(conveyor_triple); + register(conveyor_chute); + register(conveyor_lift); + register(crane_splitter); + register(crane_partitioner); + register(drone_waypoint); + register(drone_crate); + register(drone_waypoint_request); + register(drone_dock); + register(drone_crate_provider); + register(drone_crate_requester); + register(pneumatic_tube); + register(fan); + register(piston_inserter); + + GameRegistry.registerBlock(chain, chain.getUnlocalizedName()); + GameRegistry.registerBlock(ladder_sturdy, ladder_sturdy.getUnlocalizedName()); + GameRegistry.registerBlock(ladder_iron, ladder_iron.getUnlocalizedName()); + GameRegistry.registerBlock(ladder_gold, ladder_gold.getUnlocalizedName()); + GameRegistry.registerBlock(ladder_titanium, ladder_titanium.getUnlocalizedName()); + GameRegistry.registerBlock(ladder_copper, ladder_copper.getUnlocalizedName()); + GameRegistry.registerBlock(ladder_tungsten, ladder_tungsten.getUnlocalizedName()); + GameRegistry.registerBlock(ladder_aluminium, ladder_aluminium.getUnlocalizedName()); + GameRegistry.registerBlock(ladder_steel, ladder_steel.getUnlocalizedName()); + GameRegistry.registerBlock(ladder_lead, ladder_lead.getUnlocalizedName()); + GameRegistry.registerBlock(ladder_cobalt, ladder_cobalt.getUnlocalizedName()); + GameRegistry.registerBlock(trapdoor_steel, trapdoor_steel.getUnlocalizedName()); + + register(barrel_plastic); + register(barrel_corroded); + register(barrel_iron); + register(barrel_steel); + register(barrel_tcalloy); + register(barrel_antimatter); + register(machine_battery_potato); + register(machine_battery); + register(machine_lithium_battery); + register(machine_schrabidium_battery); + register(machine_dineutronium_battery); + register(machine_fensu); + register(capacitor_bus); + register(capacitor_copper); + register(capacitor_gold); + register(capacitor_niobium); + register(capacitor_tantalium); + register(capacitor_schrabidate); + GameRegistry.registerBlock(machine_transformer, machine_transformer.getUnlocalizedName()); + GameRegistry.registerBlock(machine_transformer_dnt, machine_transformer_dnt.getUnlocalizedName()); + GameRegistry.registerBlock(machine_converter_he_rf, machine_converter_he_rf.getUnlocalizedName()); + GameRegistry.registerBlock(machine_converter_rf_he, machine_converter_rf_he.getUnlocalizedName()); + GameRegistry.registerBlock(machine_electric_furnace_off, machine_electric_furnace_off.getUnlocalizedName()); + GameRegistry.registerBlock(machine_electric_furnace_on, machine_electric_furnace_on.getUnlocalizedName()); + GameRegistry.registerBlock(machine_arc_furnace_off, machine_arc_furnace_off.getUnlocalizedName()); + GameRegistry.registerBlock(machine_arc_furnace_on, machine_arc_furnace_on.getUnlocalizedName()); + GameRegistry.registerBlock(machine_microwave, machine_microwave.getUnlocalizedName()); + GameRegistry.registerBlock(machine_assembler, machine_assembler.getUnlocalizedName()); + register(machine_assembly_machine); + GameRegistry.registerBlock(machine_assemfac, machine_assemfac.getUnlocalizedName()); + GameRegistry.registerBlock(machine_chemplant, machine_chemplant.getUnlocalizedName()); + register(machine_chemical_plant); + register(machine_chemfac); + register(machine_chemical_factory); + register(machine_arc_welder); + register(machine_soldering_station); + register(machine_arc_furnace); + register(machine_mixer); + register(machine_fluidtank); + register(machine_bat9000); + register(machine_orbus); + GameRegistry.registerBlock(machine_boiler_off, machine_boiler_off.getUnlocalizedName()); + register(machine_steam_engine); + register(machine_turbine); + register(machine_large_turbine); + register(machine_chungus); + GameRegistry.registerBlock(machine_condenser, machine_condenser.getUnlocalizedName()); + GameRegistry.registerBlock(machine_tower_small, machine_tower_small.getUnlocalizedName()); + GameRegistry.registerBlock(machine_tower_large, machine_tower_large.getUnlocalizedName()); + register(machine_condenser_powered); + GameRegistry.registerBlock(machine_deuterium_extractor, machine_deuterium_extractor.getUnlocalizedName()); + GameRegistry.registerBlock(machine_deuterium_tower, machine_deuterium_tower.getUnlocalizedName()); + GameRegistry.registerBlock(machine_liquefactor, ItemBlockBase.class, machine_liquefactor.getUnlocalizedName()); + GameRegistry.registerBlock(machine_solidifier, ItemBlockBase.class, machine_solidifier.getUnlocalizedName()); + register(machine_intake); + register(machine_compressor); + register(machine_compressor_compact); + GameRegistry.registerBlock(machine_electrolyser, machine_electrolyser.getUnlocalizedName()); + GameRegistry.registerBlock(machine_waste_drum, machine_waste_drum.getUnlocalizedName()); + GameRegistry.registerBlock(machine_storage_drum, machine_storage_drum.getUnlocalizedName()); + GameRegistry.registerBlock(machine_shredder, machine_shredder.getUnlocalizedName()); + register(machine_well); + register(machine_pumpjack); + register(machine_fracking_tower); + register(machine_flare); + register(chimney_brick); + register(chimney_industrial); + register(machine_refinery); + register(machine_vacuum_distill); + register(machine_fraction_tower); + register(fraction_spacer); + register(machine_catalytic_cracker); + register(machine_catalytic_reformer); + register(machine_hydrotreater); + register(machine_coker); + register(machine_pyrooven); + register(machine_autosaw); + register(machine_excavator); + register(machine_ore_slopper); + register(machine_mining_laser); + register(barricade); + register(machine_turbofan); + register(machine_turbinegas); + register(machine_lpw2); + GameRegistry.registerBlock(machine_schrabidium_transmutator, machine_schrabidium_transmutator.getUnlocalizedName()); + GameRegistry.registerBlock(machine_teleporter, machine_teleporter.getUnlocalizedName()); + GameRegistry.registerBlock(teleanchor, teleanchor.getUnlocalizedName()); + GameRegistry.registerBlock(field_disturber, field_disturber.getUnlocalizedName()); + GameRegistry.registerBlock(machine_satlinker, machine_satlinker.getUnlocalizedName()); + GameRegistry.registerBlock(machine_keyforge, machine_keyforge.getUnlocalizedName()); + GameRegistry.registerBlock(machine_armor_table, machine_armor_table.getUnlocalizedName()); + GameRegistry.registerBlock(machine_weapon_table, machine_weapon_table.getUnlocalizedName()); + GameRegistry.registerBlock(machine_forcefield, machine_forcefield.getUnlocalizedName()); + GameRegistry.registerBlock(radiorec, radiorec.getUnlocalizedName()); + GameRegistry.registerBlock(radiobox, radiobox.getUnlocalizedName()); + + //Multiblock Parts + GameRegistry.registerBlock(struct_launcher, struct_launcher.getUnlocalizedName()); + GameRegistry.registerBlock(struct_scaffold, struct_scaffold.getUnlocalizedName()); + GameRegistry.registerBlock(struct_launcher_core, struct_launcher_core.getUnlocalizedName()); + GameRegistry.registerBlock(struct_launcher_core_large, struct_launcher_core_large.getUnlocalizedName()); + GameRegistry.registerBlock(struct_soyuz_core, struct_soyuz_core.getUnlocalizedName()); + GameRegistry.registerBlock(struct_iter_core, struct_iter_core.getUnlocalizedName()); + GameRegistry.registerBlock(struct_plasma_core, struct_plasma_core.getUnlocalizedName()); + GameRegistry.registerBlock(struct_watz_core, struct_watz_core.getUnlocalizedName()); + GameRegistry.registerBlock(struct_icf_core, struct_icf_core.getUnlocalizedName()); + + //Absorbers + GameRegistry.registerBlock(absorber, absorber.getUnlocalizedName()); + GameRegistry.registerBlock(absorber_red, absorber_red.getUnlocalizedName()); + GameRegistry.registerBlock(absorber_green, absorber_green.getUnlocalizedName()); + GameRegistry.registerBlock(absorber_pink, absorber_pink.getUnlocalizedName()); + GameRegistry.registerBlock(decon, decon.getUnlocalizedName()); + + //Solar Tower Blocks + GameRegistry.registerBlock(machine_solar_boiler, machine_solar_boiler.getUnlocalizedName()); + GameRegistry.registerBlock(solar_mirror, solar_mirror.getUnlocalizedName()); + + //Literal fucking garbage + GameRegistry.registerBlock(factory_titanium_hull, factory_titanium_hull.getUnlocalizedName()); + GameRegistry.registerBlock(factory_advanced_hull, factory_advanced_hull.getUnlocalizedName()); + + //CM stuff + register(custom_machine, ItemCustomMachine.class); + register(cm_block); + register(cm_sheet); + register(cm_engine); + register(cm_tank); + register(cm_circuit); + register(cm_port); + register(cm_flux); + register(cm_heat); + register(cm_anchor); + + //PWR + register(pwr_fuel); + register(pwr_control); + register(pwr_channel); + register(pwr_heatex); + register(pwr_heatsink); + register(pwr_neutron_source); + register(pwr_reflector); + register(pwr_casing); + register(pwr_port); + register(pwr_controller); + register(pwr_block); + + //Multiblock Generators + register(fusion_conductor); + GameRegistry.registerBlock(fusion_center, fusion_center.getUnlocalizedName()); + GameRegistry.registerBlock(fusion_motor, fusion_motor.getUnlocalizedName()); + GameRegistry.registerBlock(fusion_heater, fusion_heater.getUnlocalizedName()); + GameRegistry.registerBlock(fusion_hatch, fusion_hatch.getUnlocalizedName()); + GameRegistry.registerBlock(plasma, ItemBlockLore.class, plasma.getUnlocalizedName()); + GameRegistry.registerBlock(iter, iter.getUnlocalizedName()); + GameRegistry.registerBlock(plasma_heater, plasma_heater.getUnlocalizedName()); + + register(watz_element); + register(watz_cooler); + register(watz_end); + register(watz); + register(watz_pump); + + register(machine_icf_press); + register(icf_laser_component); + register(icf_controller); + register(icf_block); + register(icf_component); + register(icf); + + //E + GameRegistry.registerBlock(balefire, balefire.getUnlocalizedName()); + GameRegistry.registerBlock(fire_digamma, fire_digamma.getUnlocalizedName()); + GameRegistry.registerBlock(digamma_matter, digamma_matter.getUnlocalizedName()); + register(volcano_core); + register(volcano_rad_core); + + //Dark Fusion Core + GameRegistry.registerBlock(dfc_emitter, dfc_emitter.getUnlocalizedName()); + GameRegistry.registerBlock(dfc_injector, dfc_injector.getUnlocalizedName()); + GameRegistry.registerBlock(dfc_receiver, dfc_receiver.getUnlocalizedName()); + GameRegistry.registerBlock(dfc_stabilizer, dfc_stabilizer.getUnlocalizedName()); + GameRegistry.registerBlock(dfc_core, dfc_core.getUnlocalizedName()); + + //Missile Blocks + GameRegistry.registerBlock(machine_missile_assembly, machine_missile_assembly.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad, launch_pad.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_rusted, launch_pad_rusted.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_large, launch_pad_large.getUnlocalizedName()); + GameRegistry.registerBlock(compact_launcher, compact_launcher.getUnlocalizedName()); + GameRegistry.registerBlock(launch_table, launch_table.getUnlocalizedName()); + GameRegistry.registerBlock(soyuz_launcher, soyuz_launcher.getUnlocalizedName()); + GameRegistry.registerBlock(sat_dock, sat_dock.getUnlocalizedName()); + GameRegistry.registerBlock(soyuz_capsule, soyuz_capsule.getUnlocalizedName()); + GameRegistry.registerBlock(crate_supply, crate_supply.getUnlocalizedName()); + GameRegistry.registerBlock(machine_radar, machine_radar.getUnlocalizedName()); + GameRegistry.registerBlock(machine_radar_large, machine_radar_large.getUnlocalizedName()); + GameRegistry.registerBlock(radar_screen, radar_screen.getUnlocalizedName()); + + //Guide + GameRegistry.registerBlock(book_guide, book_guide.getUnlocalizedName()); + + //Sat Blocks + GameRegistry.registerBlock(sat_mapper, sat_mapper.getUnlocalizedName()); + GameRegistry.registerBlock(sat_scanner, sat_scanner.getUnlocalizedName()); + GameRegistry.registerBlock(sat_radar, sat_radar.getUnlocalizedName()); + GameRegistry.registerBlock(sat_laser, sat_laser.getUnlocalizedName()); + GameRegistry.registerBlock(sat_foeq, sat_foeq.getUnlocalizedName()); + GameRegistry.registerBlock(sat_resonator, sat_resonator.getUnlocalizedName()); + + //Rails + GameRegistry.registerBlock(rail_wood, ItemBlockBase.class, rail_wood.getUnlocalizedName()); + GameRegistry.registerBlock(rail_narrow, ItemBlockBase.class, rail_narrow.getUnlocalizedName()); + GameRegistry.registerBlock(rail_highspeed, ItemBlockBase.class, rail_highspeed.getUnlocalizedName()); + GameRegistry.registerBlock(rail_booster, ItemBlockBase.class, rail_booster.getUnlocalizedName()); + register(rail_narrow_straight); + register(rail_narrow_curve); + register(rail_large_straight); + register(rail_large_straight_short); + register(rail_large_curve); + register(rail_large_curve_7); + register(rail_large_curve_9); + register(rail_large_ramp); + register(rail_large_buffer); + register(rail_large_switch); + register(rail_large_switch_flipped); + + //Crate + GameRegistry.registerBlock(crate, crate.getUnlocalizedName()); + GameRegistry.registerBlock(crate_weapon, crate_weapon.getUnlocalizedName()); + GameRegistry.registerBlock(crate_lead, crate_lead.getUnlocalizedName()); + GameRegistry.registerBlock(crate_metal, crate_metal.getUnlocalizedName()); + GameRegistry.registerBlock(crate_red, crate_red.getUnlocalizedName()); + GameRegistry.registerBlock(crate_can, crate_can.getUnlocalizedName()); + GameRegistry.registerBlock(crate_ammo, crate_ammo.getUnlocalizedName()); + GameRegistry.registerBlock(crate_jungle, crate_jungle.getUnlocalizedName()); + + //ElB + GameRegistry.registerBlock(statue_elb_f, statue_elb_f.getUnlocalizedName()); + + //Fluids + GameRegistry.registerBlock(mud_block, mud_block.getUnlocalizedName()); + GameRegistry.registerBlock(acid_block, acid_block.getUnlocalizedName()); + GameRegistry.registerBlock(toxic_block, toxic_block.getUnlocalizedName()); + GameRegistry.registerBlock(schrabidic_block, schrabidic_block.getUnlocalizedName()); + GameRegistry.registerBlock(corium_block, corium_block.getUnlocalizedName()); + GameRegistry.registerBlock(volcanic_lava_block, volcanic_lava_block.getUnlocalizedName()); + GameRegistry.registerBlock(rad_lava_block, rad_lava_block.getUnlocalizedName()); + GameRegistry.registerBlock(sulfuric_acid_block, sulfuric_acid_block.getUnlocalizedName()); + //GameRegistry.registerBlock(concrete_liquid, concrete_liquid.getUnlocalizedName()); + + //Multiblock Dummy Blocks + GameRegistry.registerBlock(dummy_block_vault, dummy_block_vault.getUnlocalizedName()); + GameRegistry.registerBlock(dummy_block_blast, dummy_block_blast.getUnlocalizedName()); + GameRegistry.registerBlock(dummy_plate_compact_launcher, dummy_plate_compact_launcher.getUnlocalizedName()); + GameRegistry.registerBlock(dummy_port_compact_launcher, dummy_port_compact_launcher.getUnlocalizedName()); + GameRegistry.registerBlock(dummy_plate_launch_table, dummy_plate_launch_table.getUnlocalizedName()); + GameRegistry.registerBlock(dummy_port_launch_table, dummy_port_launch_table.getUnlocalizedName()); + GameRegistry.registerBlock(dummy_plate_cargo, dummy_plate_cargo.getUnlocalizedName()); + + //Other Technical Blocks + GameRegistry.registerBlock(oil_pipe, oil_pipe.getUnlocalizedName()); + GameRegistry.registerBlock(vent_chlorine, vent_chlorine.getUnlocalizedName()); + GameRegistry.registerBlock(vent_cloud, vent_cloud.getUnlocalizedName()); + GameRegistry.registerBlock(vent_pink_cloud, vent_pink_cloud.getUnlocalizedName()); + GameRegistry.registerBlock(vent_chlorine_seal, vent_chlorine_seal.getUnlocalizedName()); + GameRegistry.registerBlock(chlorine_gas, chlorine_gas.getUnlocalizedName()); + GameRegistry.registerBlock(gas_radon, gas_radon.getUnlocalizedName()); + GameRegistry.registerBlock(gas_radon_dense, gas_radon_dense.getUnlocalizedName()); + GameRegistry.registerBlock(gas_radon_tomb, gas_radon_tomb.getUnlocalizedName()); + GameRegistry.registerBlock(gas_meltdown, gas_meltdown.getUnlocalizedName()); + GameRegistry.registerBlock(gas_monoxide, gas_monoxide.getUnlocalizedName()); + GameRegistry.registerBlock(gas_asbestos, gas_asbestos.getUnlocalizedName()); + GameRegistry.registerBlock(gas_coal, gas_coal.getUnlocalizedName()); + GameRegistry.registerBlock(gas_flammable, gas_flammable.getUnlocalizedName()); + GameRegistry.registerBlock(gas_explosive, gas_explosive.getUnlocalizedName()); + GameRegistry.registerBlock(vacuum, vacuum.getUnlocalizedName()); + + //??? + GameRegistry.registerBlock(crystal_virus, crystal_virus.getUnlocalizedName()); + GameRegistry.registerBlock(crystal_hardened, crystal_hardened.getUnlocalizedName()); + GameRegistry.registerBlock(crystal_pulsar, crystal_pulsar.getUnlocalizedName()); + register(taint); + GameRegistry.registerBlock(cheater_virus, cheater_virus.getUnlocalizedName()); + GameRegistry.registerBlock(cheater_virus_seed, cheater_virus_seed.getUnlocalizedName()); + GameRegistry.registerBlock(ntm_dirt, ntm_dirt.getUnlocalizedName()); + GameRegistry.registerBlock(pink_log, pink_log.getUnlocalizedName()); + GameRegistry.registerBlock(pink_planks, pink_planks.getUnlocalizedName()); + GameRegistry.registerBlock(pink_slab, pink_slab.getUnlocalizedName()); + GameRegistry.registerBlock(pink_double_slab, pink_double_slab.getUnlocalizedName()); + GameRegistry.registerBlock(pink_stairs, pink_stairs.getUnlocalizedName()); + + register(wand_air); + register(wand_loot); + register(wand_jigsaw); + register(wand_logic); + + register(logic_block); + } + + private static void register(Block b) { + GameRegistry.registerBlock(b, ItemBlockBase.class, b.getUnlocalizedName()); + } + + private static void register(Block b, Class clazz) { + GameRegistry.registerBlock(b, clazz, b.getUnlocalizedName()); + } + + public static void addRemap(String unloc, Block block, int meta) { + Block remap = new BlockRemap(block, meta).setBlockName(unloc); + register(remap, ItemBlockRemap.class); + } + + // Pretty much the default getDrops function but with no damage set on the item (fucks with recipes) + // but setting the meta via damageDropped breaks creative middle-click and any WAILA-like overlays + public static ArrayList getDropsWithoutDamage(World world, Block block, int metadata, int fortune) { + ArrayList ret = new ArrayList(); + + int count = block.quantityDropped(metadata, fortune, world.rand); + for(int i = 0; i < count; i++) { + Item item = block.getItemDropped(metadata, world.rand, fortune); + if(item != null) { + ret.add(new ItemStack(item, 1, 0)); + } + } + + return ret; + } +} diff --git a/src/main/java/com/hbm/blocks/bomb/BlockChargeC4.java b/src/main/java/com/hbm/blocks/bomb/BlockChargeC4.java index ef67c63b8..65cca5d17 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockChargeC4.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockChargeC4.java @@ -5,6 +5,9 @@ import java.util.List; import com.hbm.explosion.vanillant.ExplosionVNT; import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard; import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; +import com.hbm.explosion.vanillant.standard.EntityProcessorStandard; +import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; +import com.hbm.particle.helper.ExplosionCreator; import cpw.mods.fml.client.registry.RenderingRegistry; import net.minecraft.entity.player.EntityPlayer; @@ -22,10 +25,13 @@ public class BlockChargeC4 extends BlockChargeBase { world.setBlockToAir(x, y, z); safe = false; - ExplosionVNT xnt = new ExplosionVNT(world, x + 0.5, y + 0.5, z + 0.5, 15F).makeStandard(); + ExplosionVNT xnt = new ExplosionVNT(world, x + 0.5, y + 0.5, z + 0.5, 15F); xnt.setBlockAllocator(new BlockAllocatorStandard(32)); xnt.setBlockProcessor(new BlockProcessorStandard().setNoDrop()); + xnt.setEntityProcessor(new EntityProcessorStandard()); + xnt.setPlayerProcessor(new PlayerProcessorStandard()); xnt.explode(); + ExplosionCreator.composeEffectSmall(world, x + 0.5, y + 1, z + 0.5); return BombReturnCode.DETONATED; } diff --git a/src/main/java/com/hbm/blocks/bomb/BlockChargeDynamite.java b/src/main/java/com/hbm/blocks/bomb/BlockChargeDynamite.java index 9513e3c4d..b7f0b328d 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockChargeDynamite.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockChargeDynamite.java @@ -1,7 +1,7 @@ package com.hbm.blocks.bomb; -import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionNT; +import com.hbm.particle.helper.ExplosionSmallCreator; import cpw.mods.fml.client.registry.RenderingRegistry; import net.minecraft.world.World; @@ -17,7 +17,7 @@ public class BlockChargeDynamite extends BlockChargeBase { safe = false; ExplosionNT exp = new ExplosionNT(world, null, x + 0.5, y + 0.5, z + 0.5, 4F); exp.explode(); - ExplosionLarge.spawnParticles(world, x + 0.5, y + 0.5, z + 0.5, 20); + ExplosionSmallCreator.composeEffect(world, x + 0.5, y + 0.5, z + 0.5, 15, 3F, 1.25F); return BombReturnCode.DETONATED; } diff --git a/src/main/java/com/hbm/blocks/bomb/BlockChargeMiner.java b/src/main/java/com/hbm/blocks/bomb/BlockChargeMiner.java index 1470e078c..61903dca3 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockChargeMiner.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockChargeMiner.java @@ -2,9 +2,9 @@ package com.hbm.blocks.bomb; import java.util.List; -import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionNT; import com.hbm.explosion.ExplosionNT.ExAttrib; +import com.hbm.particle.helper.ExplosionSmallCreator; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -23,7 +23,7 @@ public class BlockChargeMiner extends BlockChargeBase { ExplosionNT exp = new ExplosionNT(world, null, x + 0.5, y + 0.5, z + 0.5, 4F); exp.addAllAttrib(ExAttrib.NOHURT, ExAttrib.ALLDROP); exp.explode(); - ExplosionLarge.spawnParticles(world, x + 0.5, y + 0.5, z + 0.5, 20); + ExplosionSmallCreator.composeEffect(world, x + 0.5, y + 0.5, z + 0.5, 15, 3F, 1.25F); return BombReturnCode.DETONATED; } diff --git a/src/main/java/com/hbm/blocks/bomb/BlockChargeSemtex.java b/src/main/java/com/hbm/blocks/bomb/BlockChargeSemtex.java index f731c7df2..ed880233d 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockChargeSemtex.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockChargeSemtex.java @@ -5,7 +5,7 @@ import java.util.List; import com.hbm.explosion.vanillant.ExplosionVNT; import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard; import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; -import com.hbm.explosion.vanillant.standard.ExplosionEffectStandard; +import com.hbm.particle.helper.ExplosionCreator; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -27,8 +27,8 @@ public class BlockChargeSemtex extends BlockChargeBase { xnt.setBlockProcessor(new BlockProcessorStandard() .setAllDrop() .setFortune(3)); - xnt.setSFX(new ExplosionEffectStandard()); xnt.explode(); + ExplosionCreator.composeEffectSmall(world, x + 0.5, y + 1, z + 0.5); return BombReturnCode.DETONATED; } diff --git a/src/main/java/com/hbm/blocks/bomb/BlockCrashedBomb.java b/src/main/java/com/hbm/blocks/bomb/BlockCrashedBomb.java index 93683f0d2..5a2e037b4 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockCrashedBomb.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockCrashedBomb.java @@ -1,91 +1,77 @@ package com.hbm.blocks.bomb; -import java.util.Random; - -import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.BlockEnumMulti; import com.hbm.config.BombConfig; import com.hbm.entity.logic.EntityBalefire; +import com.hbm.entity.logic.EntityNukeExplosionMK5; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard; +import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; +import com.hbm.explosion.vanillant.standard.EntityProcessorCross; +import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; +import com.hbm.handler.threading.PacketThreading; import com.hbm.interfaces.IBomb; import com.hbm.items.ModItems; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.main.MainRegistry; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.particle.helper.ExplosionCreator; import com.hbm.tileentity.bomb.TileEntityCrashedBomb; +import com.hbm.util.EnumUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.block.BlockContainer; +import net.minecraft.block.ITileEntityProvider; import net.minecraft.block.material.Material; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; import net.minecraft.world.World; -public class BlockCrashedBomb extends BlockContainer implements IBomb { +public class BlockCrashedBomb extends BlockEnumMulti implements ITileEntityProvider, IBomb { + + public static enum EnumDudType { + BALEFIRE, CONVENTIONAL, NUKE, SALTED + } - public BlockCrashedBomb(Material p_i45386_1_) { - super(p_i45386_1_); + public BlockCrashedBomb(Material mat) { + super(mat, EnumDudType.class, false, false); } @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityCrashedBomb(); } - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return Item.getItemFromBlock(ModBlocks.crashed_balefire); - } - - @Override - public int getRenderType() { - return -1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { - int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - - if(i == 0) { - world.setBlockMetadataWithNotify(x, y, z, 5, 2); - } - if(i == 1) { - world.setBlockMetadataWithNotify(x, y, z, 3, 2); - } - if(i == 2) { - world.setBlockMetadataWithNotify(x, y, z, 4, 2); - } - if(i == 3) { - world.setBlockMetadataWithNotify(x, y, z, 2, 2); - } - } + @Override public int getRenderType() { return -1; } + @Override public boolean isOpaqueCube() { return false; } + @Override public boolean renderAsNormalBlock() { return false; } public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int i, float fx, float fy, float fz) { - - if(world.isRemote) - return true; + if(world.isRemote) return true; if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.defuser) { + + EnumDudType type = EnumUtil.grabEnumSafely(EnumDudType.class, world.getBlockMetadata(x, y, z)); + //TODO: make this less scummy + if(type == type.BALEFIRE) { + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModItems.egg_balefire_shard))); + } + if(type == type.CONVENTIONAL) { + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModItems.ball_tnt, 16))); + } + if(type == type.NUKE) { + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModItems.ball_tnt, 8))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModItems.billet_plutonium, 4))); + } + if(type == type.SALTED) { + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModItems.ball_tnt, 8))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModItems.billet_plutonium, 2))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModItems.ingot_cobalt, 12))); + } + world.func_147480_a(x, y, z, false); - - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModItems.egg_balefire_shard))); - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModItems.plate_steel, 10 + world.rand.nextInt(15)))); - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModItems.plate_titanium, 2 + world.rand.nextInt(7)))); - return true; } @@ -97,21 +83,46 @@ public class BlockCrashedBomb extends BlockContainer implements IBomb { if(!world.isRemote) { + EnumDudType type = EnumUtil.grabEnumSafely(EnumDudType.class, world.getBlockMetadata(x, y, z)); world.setBlockToAir(x, y, z); - EntityBalefire bf = new EntityBalefire(world); - bf.posX = x; - bf.posY = y; - bf.posZ = z; - bf.destructionRange = (int) (BombConfig.fatmanRadius * 1.25); - world.spawnEntityInWorld(bf); - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "muke"); - data.setBoolean("balefire", true); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x + 0.5, y + 0.5, z + 0.5), new TargetPoint(world.provider.dimensionId, x + 0.5, y + 0.5, z + 0.5, 250)); - world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); + if(type == type.BALEFIRE) { + EntityBalefire bf = new EntityBalefire(world); + bf.setPosition(x, y, z); + bf.destructionRange = (int) (BombConfig.fatmanRadius * 1.25); + world.spawnEntityInWorld(bf); + spawnMush(world, x, y, z, true); + } + + if(type == type.CONVENTIONAL) { + ExplosionVNT xnt = new ExplosionVNT(world, x + 0.5, y + 0.5, z + 0.5, 35F); + xnt.setBlockAllocator(new BlockAllocatorStandard(24)); + xnt.setBlockProcessor(new BlockProcessorStandard().setNoDrop()); + xnt.setEntityProcessor(new EntityProcessorCross(5D).withRangeMod(1.5F)); + xnt.setPlayerProcessor(new PlayerProcessorStandard()); + xnt.explode(); + ExplosionCreator.composeEffectLarge(world, x + 0.5, y + 0.5, z + 0.5); + } + + if(type == type.NUKE) { + world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, 35, x + 0.5, y + 0.5, z + 0.5)); + spawnMush(world, x, y, z, MainRegistry.polaroidID == 11 || world.rand.nextInt(100) == 0); + } + + if(type == type.SALTED) { + world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, 25, x + 0.5, y + 0.5, z + 0.5).moreFallout(25)); + spawnMush(world, x, y, z, MainRegistry.polaroidID == 11 || world.rand.nextInt(100) == 0); + } } - + return BombReturnCode.DETONATED; } + + public static void spawnMush(World world, int x, int y, int z, boolean balefire) { + world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "muke"); + data.setBoolean("balefire", balefire); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, x + 0.5, y + 0.5, z + 0.5), new TargetPoint(world.provider.dimensionId, x + 0.5, y + 0.5, z + 0.5, 250)); + } } diff --git a/src/main/java/com/hbm/blocks/bomb/BlockTaint.java b/src/main/java/com/hbm/blocks/bomb/BlockTaint.java index 3b92192de..2a58b6aa9 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockTaint.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockTaint.java @@ -4,169 +4,72 @@ import java.util.ArrayList; import java.util.List; import java.util.Random; -import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.ITooltipProvider; import com.hbm.entity.mob.EntityTaintCrab; import com.hbm.entity.mob.EntityCreeperTainted; import com.hbm.entity.mob.EntityTeslaCrab; import com.hbm.potion.HbmPotion; -import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; +import net.minecraft.block.BlockFalling; import net.minecraft.block.material.MapColor; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityFallingBlock; import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.potion.PotionEffect; import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.IIcon; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; -public class BlockTaint extends Block/*Container*/ { - - @SideOnly(Side.CLIENT) - private IIcon[] icons; +public class BlockTaint extends Block implements ITooltipProvider { - public BlockTaint(Material p_i45386_1_) { - super(p_i45386_1_); - this.setTickRandomly(true); + public BlockTaint(Material mat) { + super(mat); + this.setTickRandomly(true); } - /*@Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityTaint(); - }*/ - - @SideOnly(Side.CLIENT) - public IIcon getIcon(int p_149691_1_, int meta) - { - return this.icons[meta % this.icons.length]; - } - - public int damageDropped(int meta) - { - return 0; - } + @Override public MapColor getMapColor(int meta) { return MapColor.grayColor; } + @Override public Item getItemDropped(int i, Random rand, int j) { return null; } - public static int func_150032_b(int p_150032_0_) - { - return func_150031_c(p_150032_0_); - } - - public static int func_150031_c(int p_150031_0_) - { - return p_150031_0_ & 15; - } - - @SideOnly(Side.CLIENT) - public void getSubBlocks(Item p_149666_1_, CreativeTabs p_149666_2_, List p_149666_3_) - { - for (int i = 0; i < 16; ++i) - { - p_149666_3_.add(new ItemStack(p_149666_1_, 1, i)); - } - } - - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister p_149651_1_) - { - this.icons = new IIcon[16]; - - for (int i = 0; i < this.icons.length; ++i) - { - this.icons[i] = p_149651_1_.registerIcon("hbm:taint_" + i); - } - } - - public MapColor getMapColor(int p_149728_1_) - { - return MapColor.purpleColor; - } - - public static int renderID = RenderingRegistry.getNextAvailableRenderId(); - @Override - public int getRenderType(){ - return renderID; + public void updateTick(World world, int x, int y, int z, Random rand) { + + int meta = world.getBlockMetadata(x, y, z); + if(meta >= 15) return; + + for(int i = -3; i <= 3; i++) for(int j = -3; j <= 3; j++) for(int k = -3; k <= 3; k++) { + if(Math.abs(i) + Math.abs(j) + Math.abs(k) > 4) continue; + if(rand.nextFloat() > 0.25F) continue; + Block b = world.getBlock(x + i, y + j, z + k); + if(b.isAir(world, x + i, y + j, z + k) || b == Blocks.bedrock) continue; + int targetMeta = meta + 1; + boolean hasAir = false; + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + if(world.getBlock(x + i + dir.offsetX, y + j + dir.offsetY, z + k + dir.offsetZ).isAir(world, x + i + dir.offsetX, y + j + dir.offsetY, z + k + dir.offsetZ)) { + hasAir = true; + break; + } + } + if(!hasAir) targetMeta = meta + 3; + if(targetMeta > 15) continue; + if(b == this && world.getBlockMetadata(x + i, y + j, z + k) >= targetMeta) continue; + world.setBlock(x + i, y + j, z + k, this, targetMeta, 3); + if(rand.nextFloat() < 0.25F && BlockFalling.func_149831_e(world, x + i, y + j - 1, z + k)) { + EntityFallingBlock falling = new EntityFallingBlock(world, x + i + 0.5, y + j + 0.5, z + k + 0.5, this, targetMeta); + world.spawnEntityInWorld(falling); + } + } } - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) - { - return null; - } - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - public void onNeighborBlockChange(World world, int x, int y, int z, Block b) - { - if(!hasPosNeightbour(world, x, y, z) && !world.isRemote) - world.setBlockToAir(x, y, z); - } - - public void updateTick(World world, int x, int y, int z, Random rand) - { - int meta = world.getBlockMetadata(x, y, z); - if(!world.isRemote && meta < 15) { - - for(int i = 0; i < 15; i++) { - int a = rand.nextInt(11) + x - 5; - int b = rand.nextInt(11) + y - 5; - int c = rand.nextInt(11) + z - 5; - if(world.getBlock(a, b, c).isReplaceable(world, a, b, c) && hasPosNeightbour(world, a, b, c)) - world.setBlock(a, b, c, ModBlocks.taint, meta + 1, 2); - } - - for(int i = 0; i < 85; i++) { - int a = rand.nextInt(7) + x - 3; - int b = rand.nextInt(7) + y - 3; - int c = rand.nextInt(7) + z - 3; - if(world.getBlock(a, b, c).isReplaceable(world, a, b, c) && hasPosNeightbour(world, a, b, c)) - world.setBlock(a, b, c, ModBlocks.taint, meta + 1, 2); - } - } - } - - public static boolean hasPosNeightbour(World world, int x, int y, int z) { - Block b0 = world.getBlock(x + 1, y, z); - Block b1 = world.getBlock(x, y + 1, z); - Block b2 = world.getBlock(x, y, z + 1); - Block b3 = world.getBlock(x - 1, y, z); - Block b4 = world.getBlock(x, y - 1, z); - Block b5 = world.getBlock(x, y, z - 1); - boolean b = (b0.renderAsNormalBlock() && b0.getMaterial().isOpaque()) || - (b1.renderAsNormalBlock() && b1.getMaterial().isOpaque()) || - (b2.renderAsNormalBlock() && b2.getMaterial().isOpaque()) || - (b3.renderAsNormalBlock() && b3.getMaterial().isOpaque()) || - (b4.renderAsNormalBlock() && b4.getMaterial().isOpaque()) || - (b5.renderAsNormalBlock() && b5.getMaterial().isOpaque()); - return b; - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) - { - return null; - } - - @Override - public AxisAlignedBB getSelectedBoundingBoxFromPool(World par1World, int par2, int par3, int par4) - { - return AxisAlignedBB.getBoundingBox(par2, par3, par4, par2, par3, par4); + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + return AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 0.75, z + 1); } @Override @@ -174,36 +77,43 @@ public class BlockTaint extends Block/*Container*/ { int meta = world.getBlockMetadata(x, y, z); int level = 15 - meta; - - List list = new ArrayList(); - PotionEffect effect = new PotionEffect(HbmPotion.taint.id, 15 * 20, level); - effect.setCurativeItems(list); - - if(entity instanceof EntityLivingBase) { - if(world.rand.nextInt(50) == 0) { - ((EntityLivingBase)entity).addPotionEffect(effect); - } - } - - if(entity != null && entity.getClass().equals(EntityCreeper.class)) { - EntityCreeperTainted creep = new EntityCreeperTainted(world); - creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); - if(!world.isRemote) { - entity.setDead(); - world.spawnEntityInWorld(creep); - } - } - - if(entity instanceof EntityTeslaCrab) { - EntityTaintCrab crab = new EntityTaintCrab(world); - crab.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + entity.motionX *= 0.6; + entity.motionZ *= 0.6; - if(!world.isRemote) { - entity.setDead(); - world.spawnEntityInWorld(crab); - } - } + List list = new ArrayList(); + PotionEffect effect = new PotionEffect(HbmPotion.taint.id, 15 * 20, level); + effect.setCurativeItems(list); + + if(entity instanceof EntityLivingBase) { + if(world.rand.nextInt(50) == 0) { + ((EntityLivingBase) entity).addPotionEffect(effect); + } + } + + if(entity != null && entity.getClass().equals(EntityCreeper.class)) { + EntityCreeperTainted creep = new EntityCreeperTainted(world); + creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + + if(!world.isRemote) { + entity.setDead(); + world.spawnEntityInWorld(creep); + } + } + + if(entity instanceof EntityTeslaCrab) { + EntityTaintCrab crab = new EntityTaintCrab(world); + crab.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + + if(!world.isRemote) { + entity.setDead(); + world.spawnEntityInWorld(crab); + } + } } + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + list.add("DO NOT TOUCH, BREATHE OR STARE AT."); + } } diff --git a/src/main/java/com/hbm/blocks/bomb/BlockVolcano.java b/src/main/java/com/hbm/blocks/bomb/BlockVolcano.java index f2a8d73d7..16110461e 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockVolcano.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockVolcano.java @@ -9,8 +9,8 @@ import com.hbm.blocks.ModBlocks; import com.hbm.entity.projectile.EntityShrapnel; import com.hbm.explosion.ExplosionNT; import com.hbm.explosion.ExplosionNT.ExAttrib; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; @@ -43,10 +43,10 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB public int getSubCount() { return 5; } - + @SideOnly(Side.CLIENT) public void getSubBlocks(Item item, CreativeTabs tab, List list) { - + for(int i = 0; i < 5; ++i) { list.add(new ItemStack(item, 1, i)); } @@ -54,14 +54,14 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - + int meta = stack.getItemDamage(); - + if(meta == META_SMOLDERING) { list.add(EnumChatFormatting.GOLD + "SHIELD VOLCANO"); return; } - + list.add(BlockVolcano.isGrowing(meta) ? (EnumChatFormatting.RED + "DOES GROW") : (EnumChatFormatting.DARK_GRAY + "DOES NOT GROW")); list.add(BlockVolcano.isExtinguishing(meta) ? (EnumChatFormatting.RED + "DOES EXTINGUISH") : (EnumChatFormatting.DARK_GRAY + "DOES NOT EXTINGUISH")); } @@ -71,25 +71,25 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB public static final int META_GROWING_ACTIVE = 2; public static final int META_GROWING_EXTINGUISHING = 3; public static final int META_SMOLDERING = 4; - + public static boolean isGrowing(int meta) { return meta == META_GROWING_ACTIVE || meta == META_GROWING_EXTINGUISHING; } - + public static boolean isExtinguishing(int meta) { return meta == META_STATIC_EXTINGUISHING || meta == META_GROWING_EXTINGUISHING; } - + public static class TileEntityVolcanoCore extends TileEntity { private static List volcanoExplosion = Arrays.asList(new ExAttrib[] {ExAttrib.NODROP, ExAttrib.LAVA_V, ExAttrib.NOSOUND, ExAttrib.ALLMOD, ExAttrib.NOHURT}); private static List volcanoRadExplosion = Arrays.asList(new ExAttrib[] {ExAttrib.NODROP, ExAttrib.LAVA_R, ExAttrib.NOSOUND, ExAttrib.ALLMOD, ExAttrib.NOHURT}); - + public int volcanoTimer; - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { this.volcanoTimer++; @@ -99,24 +99,24 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB this.blastMagmaChannel(); this.raiseMagma(); } - + double magmaChamber = this.magmaChamberSize(); if(magmaChamber > 0) this.blastMagmaChamber(magmaChamber); - + Object[] melting = this.surfaceMeltingParams(); if(melting != null) this.meltSurface((int)melting[0], (double)melting[1], (double)melting[2]); - + //self-explanatory if(this.isSpewing()) this.spawnBlobs(); if(this.isSmoking()) this.spawnSmoke(); - + //generates a 3x3x3 cube of lava this.surroundLava(); } - + if(this.volcanoTimer >= this.getUpdateRate()) { this.volcanoTimer = 0; - + if(this.shouldGrow()) { worldObj.setBlock(xCoord, yCoord + 1, zCoord, this.getBlockType(), this.getBlockMetadata(), 3); worldObj.setBlock(xCoord, yCoord, zCoord, getLava()); @@ -128,16 +128,16 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB } } } - + public boolean isRadioacitve() { return this.getBlockType() == ModBlocks.volcano_rad_core; } - + protected Block getLava() { if(isRadioacitve()) return ModBlocks.rad_lava_block; return ModBlocks.volcanic_lava_block; } - + protected List getExpAttrb() { return this.isRadioacitve() ? this.volcanoRadExplosion : this.volcanoExplosion; } @@ -151,44 +151,44 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - nbt.setInteger("tier", this.volcanoTimer); + nbt.setInteger("timer", this.volcanoTimer); } - + private boolean shouldGrow() { return isGrowing() && yCoord < 200; } - + private boolean isGrowing() { int meta = this.getBlockMetadata(); return meta == META_GROWING_ACTIVE || meta == META_GROWING_EXTINGUISHING; } - + private boolean isExtinguishing() { int meta = this.getBlockMetadata(); return meta == META_STATIC_EXTINGUISHING || meta == META_GROWING_EXTINGUISHING; } - + private boolean isSmoking() { return this.getBlockMetadata() != META_SMOLDERING; } - + private boolean isSpewing() { return this.getBlockMetadata() != META_SMOLDERING; } - + private boolean hasVerticalChannel() { return this.getBlockMetadata() != META_SMOLDERING; } - + private double magmaChamberSize() { return this.getBlockMetadata() == META_SMOLDERING ? 15 : 0; } - + /* count per tick, radius, depth */ private Object[] surfaceMeltingParams() { return this.getBlockMetadata() == META_SMOLDERING ? new Object[] {50, 50D, 10D} : null; } - + private int getUpdateRate() { switch(this.getBlockMetadata()) { case META_STATIC_EXTINGUISHING: return 60 * 60 * 20; //once per hour @@ -197,7 +197,7 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB default: return 10; } } - + /** Causes two magma explosions, one from bedrock to the core and one from the core to 15 blocks above. */ private void blastMagmaChannel() { ExplosionNT explosion = new ExplosionNT(worldObj, null, xCoord + 0.5, yCoord + worldObj.rand.nextInt(15) + 1.5, zCoord + 0.5, 7); @@ -205,53 +205,53 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB ExplosionNT explosion2 = new ExplosionNT(worldObj, null, xCoord + 0.5 + worldObj.rand.nextGaussian() * 3, worldObj.rand.nextInt(yCoord + 1), zCoord + 0.5 + worldObj.rand.nextGaussian() * 3, 10); explosion2.addAllAttrib(getExpAttrb()).explode(); } - + /** Causes two magma explosions at a random position around the core, one at normal and one at half range. */ private void blastMagmaChamber(double size) { - + for(int i = 0; i < 2; i++) { double dist = size / (double) (i + 1); ExplosionNT explosion = new ExplosionNT(worldObj, null, xCoord + 0.5 + worldObj.rand.nextGaussian() * dist, yCoord + 0.5 + worldObj.rand.nextGaussian() * dist, zCoord + 0.5 + worldObj.rand.nextGaussian() * dist, 7); explosion.addAllAttrib(getExpAttrb()).explode(); } } - + /** Randomly selects surface blocks and converts them into lava if solid or air if not solid. */ private void meltSurface(int count, double radius, double depth) { - + for(int i = 0; i < count; i++) { int x = (int) Math.floor(xCoord + worldObj.rand.nextGaussian() * radius); int z = (int) Math.floor(zCoord + worldObj.rand.nextGaussian() * radius); //gaussian distribution makes conversions more likely on the surface and rarer at the bottom int y = worldObj.getHeightValue(x, z) + 1 - (int) Math.floor(Math.abs(worldObj.rand.nextGaussian() * depth)); - + Block b = worldObj.getBlock(x, y, z); - + if(!b.isAir(worldObj, x, y, z) && b.getExplosionResistance(null) < Blocks.obsidian.getExplosionResistance(null)) { //turn into lava if solid block, otherwise just break worldObj.setBlock(x, y, z, b.isNormalCube() ? this.getLava() : Blocks.air); } } } - + /** Increases the magma level in a small radius around the core. */ private void raiseMagma() { int rX = xCoord - 10 + worldObj.rand.nextInt(21); int rY = yCoord + worldObj.rand.nextInt(11); int rZ = zCoord - 10 + worldObj.rand.nextInt(21); - + if(worldObj.getBlock(rX, rY, rZ) == Blocks.air && worldObj.getBlock(rX, rY - 1, rZ) == this.getLava()) worldObj.setBlock(rX, rY, rZ, this.getLava()); } - + /** Creates a 3x3x3 lava sphere around the core. */ private void surroundLava() { - + for(int i = -1; i <= 1; i++) { for(int j = -1; j <= 1; j++) { for(int k = -1; k <= 1; k++) { - + if(i != 0 || j != 0 || k != 0) { worldObj.setBlock(xCoord + i, yCoord + j, zCoord + k, this.getLava()); } @@ -259,10 +259,10 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB } } } - + /** Spews specially tagged shrapnels which create volcanic lava and monoxide clouds. */ private void spawnBlobs() { - + for(int i = 0; i < 3; i++) { EntityShrapnel frag = new EntityShrapnel(worldObj); frag.setLocationAndAngles(xCoord + 0.5, yCoord + 1.5, zCoord + 0.5, 0.0F, 0.0F); @@ -277,13 +277,13 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB worldObj.spawnEntityInWorld(frag); } } - + /** I SEE SMOKE, AND WHERE THERE'S SMOKE THERE'S FIRE! */ private void spawnSmoke() { NBTTagCompound dPart = new NBTTagCompound(); dPart.setString("type", "vanillaExt"); dPart.setString("mode", "volcano"); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(dPart, xCoord + 0.5, yCoord + 10, zCoord + 0.5), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord + 10, zCoord + 0.5, 250)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(dPart, xCoord + 0.5, yCoord + 10, zCoord + 0.5), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord + 10, zCoord + 0.5, 250)); } } } diff --git a/src/main/java/com/hbm/blocks/bomb/BombFlameWar.java b/src/main/java/com/hbm/blocks/bomb/BombFlameWar.java index 6cc36770b..0fef1c854 100644 --- a/src/main/java/com/hbm/blocks/bomb/BombFlameWar.java +++ b/src/main/java/com/hbm/blocks/bomb/BombFlameWar.java @@ -1,7 +1,13 @@ package com.hbm.blocks.bomb; -import com.hbm.explosion.ExplosionChaos; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard; +import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; +import com.hbm.explosion.vanillant.standard.EntityProcessorCrossSmooth; +import com.hbm.explosion.vanillant.standard.ExplosionEffectTiny; +import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; import com.hbm.interfaces.IBomb; +import com.hbm.particle.helper.ExplosionCreator; import net.minecraft.block.Block; import net.minecraft.block.material.Material; @@ -17,9 +23,7 @@ public class BombFlameWar extends Block implements IBomb { public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { if(world.isBlockIndirectlyGettingPowered(x, y, z)) { - ExplosionChaos.explode(world, x, y, z, 15); - ExplosionChaos.spawnExplosion(world, x, y, z, 75); - ExplosionChaos.flameDeath(world, x, y, z, 100); + explode(world, x, y, z); } } @@ -27,9 +31,24 @@ public class BombFlameWar extends Block implements IBomb { public BombReturnCode explode(World world, int x, int y, int z) { if(!world.isRemote) { - ExplosionChaos.explode(world, x, y, z, 15); - ExplosionChaos.spawnExplosion(world, x, y, z, 75); - ExplosionChaos.flameDeath(world, x, y, z, 100); + + world.func_147480_a(x, y, z, false); + + for(int i = 0; i < 150; i++) { + ExplosionVNT vnt = new ExplosionVNT(world, x + world.rand.nextInt(51) - 25, y + world.rand.nextInt(11) - 5, z + world.rand.nextInt(51) - 25, 4, null); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, 25)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.setSFX(new ExplosionEffectTiny()); + vnt.explode(); + } + + ExplosionVNT xnt = new ExplosionVNT(world, x + 0.5, y + 0.5, z + 0.5, 15F); + xnt.setBlockAllocator(new BlockAllocatorStandard(32)); + xnt.setBlockProcessor(new BlockProcessorStandard().setNoDrop()); + xnt.setEntityProcessor(new EntityProcessorCrossSmooth(2, 200)); + xnt.setPlayerProcessor(new PlayerProcessorStandard()); + xnt.explode(); + ExplosionCreator.composeEffectSmall(world, x + 0.5, y + 0.5, z + 0.5); } return BombReturnCode.DETONATED; diff --git a/src/main/java/com/hbm/blocks/bomb/BombMulti.java b/src/main/java/com/hbm/blocks/bomb/BombMulti.java index b6496f164..1691f119a 100644 --- a/src/main/java/com/hbm/blocks/bomb/BombMulti.java +++ b/src/main/java/com/hbm/blocks/bomb/BombMulti.java @@ -18,10 +18,12 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import com.hbm.blocks.ModBlocks; +import com.hbm.entity.effect.EntityMist; import com.hbm.explosion.ExplosionChaos; import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionNukeGeneric; import com.hbm.interfaces.IBomb; +import com.hbm.inventory.fluid.Fluids; import com.hbm.main.MainRegistry; import com.hbm.tileentity.bomb.TileEntityBombMulti; @@ -169,7 +171,11 @@ public class BombMulti extends BlockContainer implements IBomb { } if(gasCloud > 0) { - ExplosionChaos.spawnChlorine(world, x, y, z, gasCloud, gasCloud / 50, 0); + EntityMist mist = new EntityMist(world); + mist.setType(Fluids.CHLORINE); + mist.setPosition(x + 0.5, y + 0.5, z + 0.5); + mist.setArea(gasCloud * 15F / 50F, gasCloud * 7.5F / 50F); + world.spawnEntityInWorld(mist); } return BombReturnCode.DETONATED; diff --git a/src/main/java/com/hbm/blocks/bomb/ExplosiveCharge.java b/src/main/java/com/hbm/blocks/bomb/ExplosiveCharge.java index 84ccebc63..b2885a531 100644 --- a/src/main/java/com/hbm/blocks/bomb/ExplosiveCharge.java +++ b/src/main/java/com/hbm/blocks/bomb/ExplosiveCharge.java @@ -5,10 +5,10 @@ import com.hbm.config.BombConfig; import com.hbm.entity.effect.EntityNukeTorex; import com.hbm.entity.item.EntityTNTPrimedBase; import com.hbm.entity.logic.EntityNukeExplosionMK5; -import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionNT; import com.hbm.interfaces.IBomb; import com.hbm.lib.RefStrings; +import com.hbm.particle.helper.ExplosionCreator; import net.minecraft.util.MathHelper; import cpw.mods.fml.relauncher.Side; @@ -65,11 +65,11 @@ public class ExplosiveCharge extends BlockDetonatable implements IBomb, IDetConn } if(this == ModBlocks.det_charge) { new ExplosionNT(world, null, x + 0.5, y + 0.5, z + 0.5, 15).overrideResolution(64).explode(); - ExplosionLarge.spawnParticles(world, x, y, z, ExplosionLarge.cloudFunction(15)); + ExplosionCreator.composeEffectStandard(world, x + 0.5, y + 1, z + 0.5); } if(this == ModBlocks.det_nuke) { world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, BombConfig.missileRadius, x + 0.5, y + 0.5, z + 0.5)); - EntityNukeTorex.statFac(world, x + 0.5, y + 0.5, z + 0.5, BombConfig.missileRadius); + EntityNukeTorex.statFacStandard(world, x + 0.5, y + 0.5, z + 0.5, BombConfig.missileRadius); } } diff --git a/src/main/java/com/hbm/blocks/bomb/Landmine.java b/src/main/java/com/hbm/blocks/bomb/Landmine.java index 5f6b76062..9a9b1fe6b 100644 --- a/src/main/java/com/hbm/blocks/bomb/Landmine.java +++ b/src/main/java/com/hbm/blocks/bomb/Landmine.java @@ -3,20 +3,29 @@ package com.hbm.blocks.bomb; import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.config.ServerConfig; import com.hbm.explosion.ExplosionLarge; -import com.hbm.explosion.ExplosionNukeSmall; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.*; import com.hbm.interfaces.IBomb; import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.factory.XFactoryCatapult; +import com.hbm.main.MainRegistry; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.tileentity.bomb.TileEntityLandmine; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.BlockFence; import net.minecraft.block.material.Material; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.IBlockAccess; @@ -31,7 +40,6 @@ public class Landmine extends BlockContainer implements IBomb { public Landmine(Material mat, double range, double height) { super(mat); - this.range = range; this.height = height; } @@ -41,20 +49,9 @@ public class Landmine extends BlockContainer implements IBomb { return new TileEntityLandmine(); } - @Override - public int getRenderType() { - return -1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } + @Override public int getRenderType() { return -1; } + @Override public boolean isOpaqueCube() { return false; } + @Override public boolean renderAsNormalBlock() { return false; } @Override public Item getItemDropped(int i, Random rand, int j) { @@ -64,15 +61,10 @@ public class Landmine extends BlockContainer implements IBomb { @Override public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { float f = 0.0625F; - if(this == ModBlocks.mine_ap) - this.setBlockBounds(6 * f, 0.0F, 6 * f, 10 * f, 2 * f, 10 * f); - if(this == ModBlocks.mine_he) - this.setBlockBounds(4 * f, 0.0F, 4 * f, 12 * f, 2 * f, 12 * f); - if(this == ModBlocks.mine_shrap) - this.setBlockBounds(4 * f, 0.0F, 4 * f, 12 * f, 2 * f, 12 * f); - if(this == ModBlocks.mine_fat) - this.setBlockBounds(5 * f, 0.0F, 4 * f, 11 * f, 6 * f, 12 * f); - } + if(this == ModBlocks.mine_ap) this.setBlockBounds(5 * f, 0.0F, 5 * f, 11 * f, 1 * f, 11 * f); + if(this == ModBlocks.mine_he) this.setBlockBounds(4 * f, 0.0F, 4 * f, 12 * f, 2 * f, 12 * f); + if(this == ModBlocks.mine_shrap) this.setBlockBounds(5 * f, 0.0F, 5 * f, 11 * f, 1 * f, 11 * f); + if(this == ModBlocks.mine_fat) this.setBlockBounds(5 * f, 0.0F, 4 * f, 11 * f, 6 * f, 12 * f);} @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { @@ -137,6 +129,18 @@ public class Landmine extends BlockContainer implements IBomb { return false; } + public boolean isWaterAbove(World world, int x, int y, int z) { + for(int xo = -1; xo <= 1; xo++) { + for(int zo = -1; zo <= 1; zo++) { + Block blockAbove = world.getBlock(x + xo, y + 1, z + zo); + if(blockAbove == Blocks.water || blockAbove == Blocks.flowing_water) { + return true; + } + } + } + return false; + } + @Override public BombReturnCode explode(World world, int x, int y, int z) { @@ -147,20 +151,64 @@ public class Landmine extends BlockContainer implements IBomb { Landmine.safeMode = false; if(this == ModBlocks.mine_ap) { - world.newExplosion(null, x + 0.5, y + 0.5, z + 0.5, 2.5F, false, false); + ExplosionVNT vnt = new ExplosionVNT(world, x + 0.5, y + 0.5, z + 0.5, 3F); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(0.5, ServerConfig.MINE_AP_DAMAGE.get()).setupPiercing(5F, 0.2F)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.setSFX(new ExplosionEffectWeapon(5, 1F, 0.5F)); + vnt.explode(); } else if(this == ModBlocks.mine_he) { - ExplosionLarge.explode(world, x + 0.5, y + 0.5, z + 0.5, 3F, true, false, false); - world.newExplosion(null, x + 0.5, y + 2, z + 0.5, 15F, false, false); + ExplosionVNT vnt = new ExplosionVNT(world, x + 0.5, y + 0.5, z + 0.5, 4F); + vnt.setBlockAllocator(new BlockAllocatorStandard()); + vnt.setBlockProcessor(new BlockProcessorStandard()); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, ServerConfig.MINE_HE_DAMAGE.get()).setupPiercing(15F, 0.2F)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.setSFX(new ExplosionEffectWeapon(15, 3.5F, 1.25F)); + vnt.explode(); } else if(this == ModBlocks.mine_shrap) { - ExplosionLarge.explode(world, x + 0.5, y + 0.5, z + 0.5, 1, true, false, false); + ExplosionVNT vnt = new ExplosionVNT(world, x + 0.5, y + 0.5, z + 0.5, 3F); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(0.5, ServerConfig.MINE_SHRAP_DAMAGE.get())); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.setSFX(new ExplosionEffectWeapon(5, 1F, 0.5F)); + vnt.explode(); + ExplosionLarge.spawnShrapnelShower(world, x + 0.5, y + 0.5, z + 0.5, 0, 1D, 0, 45, 0.2D); ExplosionLarge.spawnShrapnels(world, x + 0.5, y + 0.5, z + 0.5, 5); + } else if(this == ModBlocks.mine_naval) { + ExplosionVNT vnt = new ExplosionVNT(world, x + 5, y + 5, z + 5, 25F); + vnt.setBlockAllocator(new BlockAllocatorWater(32)); + vnt.setBlockProcessor(new BlockProcessorStandard()); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(0.5, ServerConfig.MINE_NAVAL_DAMAGE.get()).setupPiercing(5F, 0.2F)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.setSFX(new ExplosionEffectWeapon(10, 1F, 0.5F)); + vnt.explode(); + + ExplosionLarge.spawnParticlesRadial(world, x + 0.5, y + 2, z + 0.5, 30); + ExplosionLarge.spawnRubble(world,x + 0.5, y + 0.5, z + 0.5, 5 ); + + // Only spawn water effects if there's water above the mine + if (isWaterAbove(world, x, y, z)) { + ExplosionLarge.spawnFoam(world, x + 0.5, y + 0.5, z + 0.5, 60); + } + } else if(this == ModBlocks.mine_fat) { - ExplosionNukeSmall.explode(world, x + 0.5, y + 0.5, z + 0.5, ExplosionNukeSmall.PARAMS_MEDIUM); + + ExplosionVNT vnt = new ExplosionVNT(world, x + 0.5, y + 0.5, z + 0.5, 10); + vnt.setBlockAllocator(new BlockAllocatorStandard(64)); + vnt.setBlockProcessor(new BlockProcessorStandard()); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(2, ServerConfig.MINE_NUKE_DAMAGE.get()).withRangeMod(1.5F)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.explode(); + + XFactoryCatapult.incrementRad(world, x, y, z, 1.5F); + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "muke"); + data.setBoolean("balefire", MainRegistry.polaroidID == 11 || world.rand.nextInt(100) == 0); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x + 0.5, y + 0.5, z + 0.5), new TargetPoint(world.provider.dimensionId, x + 0.5, y + 0.5, z + 0.5, 250)); + + world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "hbm:weapon.mukeExplosion", 25.0F, 0.9F); // this has to be the single worst solution ever } } return BombReturnCode.DETONATED; } - } diff --git a/src/main/java/com/hbm/blocks/bomb/NukeCustom.java b/src/main/java/com/hbm/blocks/bomb/NukeCustom.java index ebc21403e..766c2baee 100644 --- a/src/main/java/com/hbm/blocks/bomb/NukeCustom.java +++ b/src/main/java/com/hbm/blocks/bomb/NukeCustom.java @@ -179,7 +179,7 @@ public class NukeCustom extends BlockContainer implements IBomb { dirty *= 0.25F; worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, (int)hydro, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).moreFallout((int)dirty)); - EntityNukeTorex.statFac(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, hydro); + EntityNukeTorex.statFacStandard(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, hydro); /// NUCLEAR /// } else if(nuke > 0) { @@ -188,7 +188,7 @@ public class NukeCustom extends BlockContainer implements IBomb { nuke = Math.min(nuke, maxNuke); worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, (int)nuke, xCoord + 0.5, yCoord + 5, zCoord + 0.5).moreFallout((int)dirty)); - EntityNukeTorex.statFac(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, nuke); + EntityNukeTorex.statFacStandard(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, nuke); /// NON-NUCLEAR /// } else if(tnt >= 75) { @@ -196,7 +196,7 @@ public class NukeCustom extends BlockContainer implements IBomb { tnt = Math.min(tnt, maxTnt); worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFacNoRad(worldObj, (int)tnt, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5)); - EntityNukeTorex.statFac(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, tnt); + EntityNukeTorex.statFacStandard(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, tnt); } else if(tnt > 0) { ExplosionLarge.explode(worldObj, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, tnt, true, true, true); diff --git a/src/main/java/com/hbm/blocks/bomb/NukeGadget.java b/src/main/java/com/hbm/blocks/bomb/NukeGadget.java index a09d7c31f..3e55cd5d5 100644 --- a/src/main/java/com/hbm/blocks/bomb/NukeGadget.java +++ b/src/main/java/com/hbm/blocks/bomb/NukeGadget.java @@ -131,7 +131,7 @@ public class NukeGadget extends BlockContainer implements IBomb { world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F); world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, BombConfig.gadgetRadius, x + 0.5, y + 0.5, z + 0.5)); - EntityNukeTorex.statFac(world, x + 0.5, y + 0.5, z + 0.5, BombConfig.gadgetRadius); + EntityNukeTorex.statFacStandard(world, x + 0.5, y + 0.5, z + 0.5, BombConfig.gadgetRadius); } return false; diff --git a/src/main/java/com/hbm/blocks/bomb/NukeMan.java b/src/main/java/com/hbm/blocks/bomb/NukeMan.java index d9fc4f1a5..7030d1a5a 100644 --- a/src/main/java/com/hbm/blocks/bomb/NukeMan.java +++ b/src/main/java/com/hbm/blocks/bomb/NukeMan.java @@ -124,7 +124,7 @@ public class NukeMan extends BlockContainer implements IBomb { world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F); world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, BombConfig.manRadius, x + 0.5, y + 0.5, z + 0.5)); - EntityNukeTorex.statFac(world, x + 0.5, y + 0.5, z + 0.5, BombConfig.manRadius); + EntityNukeTorex.statFacStandard(world, x + 0.5, y + 0.5, z + 0.5, BombConfig.manRadius); } return false; diff --git a/src/main/java/com/hbm/blocks/bomb/NukeMike.java b/src/main/java/com/hbm/blocks/bomb/NukeMike.java index 84e178758..3a7935503 100644 --- a/src/main/java/com/hbm/blocks/bomb/NukeMike.java +++ b/src/main/java/com/hbm/blocks/bomb/NukeMike.java @@ -131,7 +131,7 @@ public class NukeMike extends BlockContainer implements IBomb { world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F); world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, BombConfig.mikeRadius, x + 0.5, y + 0.5, z + 0.5)); - EntityNukeTorex.statFac(world, x + 0.5, y + 0.5, z + 0.5, BombConfig.mikeRadius); + EntityNukeTorex.statFacStandard(world, x + 0.5, y + 0.5, z + 0.5, BombConfig.mikeRadius); } return false; diff --git a/src/main/java/com/hbm/blocks/bomb/NukeN2.java b/src/main/java/com/hbm/blocks/bomb/NukeN2.java index c65eef0f7..197471386 100644 --- a/src/main/java/com/hbm/blocks/bomb/NukeN2.java +++ b/src/main/java/com/hbm/blocks/bomb/NukeN2.java @@ -120,7 +120,7 @@ public class NukeN2 extends BlockContainer implements IBomb { world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F); world.spawnEntityInWorld(EntityNukeExplosionMK5.statFacNoRad(world, r, x + 0.5, y + 0.5, z + 0.5)); - EntityNukeTorex.statFac(world, x + 0.5, y + 0.5, z + 0.5, r); + EntityNukeTorex.statFacStandard(world, x + 0.5, y + 0.5, z + 0.5, r); } return false; diff --git a/src/main/java/com/hbm/blocks/bomb/NukeTsar.java b/src/main/java/com/hbm/blocks/bomb/NukeTsar.java index f064a053a..1fea0c9d2 100644 --- a/src/main/java/com/hbm/blocks/bomb/NukeTsar.java +++ b/src/main/java/com/hbm/blocks/bomb/NukeTsar.java @@ -129,7 +129,7 @@ public class NukeTsar extends BlockContainer implements IBomb { tetn.clearSlots(); world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F); world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, r, x + 0.5, y + 0.5, z + 0.5)); - EntityNukeTorex.statFac(world, x + 0.5, y + 0.5, z + 0.5, r); + EntityNukeTorex.statFacStandard(world, x + 0.5, y + 0.5, z + 0.5, r); } return false; diff --git a/src/main/java/com/hbm/blocks/generic/BlockAmmoCrate.java b/src/main/java/com/hbm/blocks/generic/BlockAmmoCrate.java index a2925f119..1297da41e 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockAmmoCrate.java +++ b/src/main/java/com/hbm/blocks/generic/BlockAmmoCrate.java @@ -3,8 +3,8 @@ package com.hbm.blocks.generic; import java.util.ArrayList; import java.util.Random; -import com.hbm.items.ItemAmmoEnums.*; import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.lib.RefStrings; import cpw.mods.fml.relauncher.Side; @@ -69,27 +69,22 @@ public class BlockAmmoCrate extends Block { ret.add(new ItemStack(ModItems.cap_nuka, 12 + rand.nextInt(21))); ret.add(new ItemStack(ModItems.syringe_metal_stimpak, 1 + rand.nextInt(3))); + + if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_standard, 16 + rand.nextInt(17), EnumAmmo.P9_SP.ordinal())); + if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_standard, 16 + rand.nextInt(17), EnumAmmo.P9_FMJ.ordinal())); + if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_standard, 16 + rand.nextInt(17), EnumAmmo.M357_SP.ordinal())); + if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_standard, 16 + rand.nextInt(17), EnumAmmo.M357_FMJ.ordinal())); + if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_standard, 16 + rand.nextInt(17), EnumAmmo.M44_SP.ordinal())); + if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_standard, 16 + rand.nextInt(17), EnumAmmo.M44_FMJ.ordinal())); + if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_standard, 16 + rand.nextInt(17), EnumAmmo.R556_SP.ordinal())); + if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_standard, 16 + rand.nextInt(17), EnumAmmo.R556_FMJ.ordinal())); + if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_standard, 16 + rand.nextInt(17), EnumAmmo.R762_SP.ordinal())); + if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_standard, 16 + rand.nextInt(17), EnumAmmo.R762_FMJ.ordinal())); + if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_standard, 16 + rand.nextInt(17), EnumAmmo.G12.ordinal())); + if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_standard, 16 + rand.nextInt(17), EnumAmmo.G12_SLUG.ordinal())); + if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_standard, 2 + rand.nextInt(3), EnumAmmo.G40_HE.ordinal())); + if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_standard, 2 + rand.nextInt(3), EnumAmmo.ROCKET_HE.ordinal())); - if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_22lr, 16 + rand.nextInt(17))); - if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_9mm, 6 + rand.nextInt(13))); - if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_12gauge, 6 + rand.nextInt(4))); - if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_20gauge, 3 + rand.nextInt(4))); - if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_357, 10 + rand.nextInt(11))); - if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_357, 12 + rand.nextInt(15), Ammo357Magnum.IRON.ordinal())); - if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_50bmg, 2 + rand.nextInt(7))); - if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_rocket, 1)); - if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_grenade, 1 + rand.nextInt(2))); - - if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_12gauge, 3, Ammo12Gauge.INCENDIARY.ordinal())); - if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_20gauge, 3, Ammo20Gauge.INCENDIARY.ordinal())); - if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_20gauge, 3, Ammo20Gauge.CAUSTIC.ordinal())); - if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_20gauge, 3, Ammo20Gauge.FLECHETTE.ordinal())); - if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_9mm, 7, Ammo9mm.AP.ordinal())); - if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_rocket, 1, AmmoRocket.INCENDIARY.ordinal())); - if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_rocket, 1, AmmoRocket.SLEEK.ordinal())); - if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_grenade, 1, AmmoGrenade.HE.ordinal())); - if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_grenade, 1, AmmoGrenade.INCENDIARY.ordinal())); - if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_grenade, 1, AmmoGrenade.SLEEK.ordinal())); if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.syringe_metal_super, 2)); return ret; diff --git a/src/main/java/com/hbm/blocks/generic/BlockBarrier.java b/src/main/java/com/hbm/blocks/generic/BlockBarrier.java new file mode 100644 index 000000000..e9504c209 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockBarrier.java @@ -0,0 +1,161 @@ +package com.hbm.blocks.generic; + +import java.util.ArrayList; +import java.util.List; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.Library; +import com.hbm.render.block.ISBRHUniversal; +import com.hbm.render.util.RenderBlocksNT; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class BlockBarrier extends Block implements ISBRHUniversal { + + public BlockBarrier(Material mat) { + super(mat); + } + + @Override public int getRenderType() { return renderID; } + @Override public boolean isOpaqueCube() { return false; } + @Override public boolean renderAsNormalBlock() { return false; } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + + if(world.getBlockMetadata(x, y, z) != 0) return; + + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + + if(i == 0) world.setBlockMetadataWithNotify(x, y, z, 2, 2); + if(i == 1) world.setBlockMetadataWithNotify(x, y, z, 5, 2); + if(i == 2) world.setBlockMetadataWithNotify(x, y, z, 3, 2); + if(i == 3) world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + + @Override + public int onBlockPlaced(World world, int x, int y, int z, int side, float fX, float fY, float fZ, int meta) { + return side >= 2 && side <= 5 ? side : meta; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + + int meta = world.getBlockMetadata(x, y, z); + setBlockBounds(0, 0, 0, 1, 1, 1); + + if(meta == Library.POS_X.ordinal()) setBlockBounds(0, 0, 0, 0.125F, 1, 1); + if(meta == Library.POS_Z.ordinal()) setBlockBounds(0, 0, 0, 1, 1, 0.125F); + if(meta == Library.NEG_X.ordinal()) setBlockBounds(0.875F, 0, 0, 1, 1, 1); + if(meta == Library.NEG_Z.ordinal()) setBlockBounds(0, 0, 0.875F, 1, 1, 1); + } + + @Override + public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB aabb, List list, Entity collider) { + + int meta = world.getBlockMetadata(x, y, z); + List bbs = new ArrayList(); + + Block nx = world.getBlock(x - 1, y, z); + Block px = world.getBlock(x + 1, y, z); + Block nz = world.getBlock(x, y, z - 1); + Block pz = world.getBlock(x, y, z + 1); + + if(nx.isOpaqueCube() || nx.isNormalCube() || meta == Library.POS_X.ordinal()) bbs.add(AxisAlignedBB.getBoundingBox(x, y, z, x + 0.125, y + 1, z + 1)); + if(nz.isOpaqueCube() || nz.isNormalCube() || meta == Library.POS_Z.ordinal()) bbs.add(AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 1, z + 0.125)); + if(px.isOpaqueCube() || px.isNormalCube() || meta == Library.NEG_X.ordinal()) bbs.add(AxisAlignedBB.getBoundingBox(x + 0.875, y, z, x + 1, y + 1, z + 1)); + if(pz.isOpaqueCube() || pz.isNormalCube() || meta == Library.NEG_Z.ordinal()) bbs.add(AxisAlignedBB.getBoundingBox(x, y, z + 0.875, x + 1, y + 1, z + 1)); + + for(AxisAlignedBB bb : bbs) { + if(aabb.intersectsWith(bb)) { + list.add(bb); + } + } + } + + @Override + @SideOnly(Side.CLIENT) + public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { + return true; + } + + @Override + public void renderInventoryBlock(Block block, int meta, int modelId, Object renderBlocks) { + + GL11.glPushMatrix(); + RenderBlocks renderer = (RenderBlocks) renderBlocks; + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + + renderer.setRenderBounds(0.4375, 0D, 0.4375D, 0.5625D, 1D, 0.5625D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + renderer.setRenderBounds(0.5D, 0.0625D, 0D, 0.5625D, 0.4725, 1D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + renderer.setRenderBounds(0.5D, 0.5625D, 0D, 0.5625D, 0.9375, 1D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, Object renderBlocks) { + + RenderBlocksNT renderer = RenderBlocksNT.INSTANCE.setWorld(world); + + Tessellator tessellator = Tessellator.instance; + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + + int meta = world.getBlockMetadata(x, y, z); + + Block nx = world.getBlock(x - 1, y, z); + Block px = world.getBlock(x + 1, y, z); + Block nz = world.getBlock(x, y, z - 1); + Block pz = world.getBlock(x, y, z + 1); + Block py = world.getBlock(x, y + 1, z); + + boolean negX = nx.isOpaqueCube() || nx.isNormalCube() || meta == Library.POS_X.ordinal(); + boolean negZ = nz.isOpaqueCube() || nz.isNormalCube() || meta == Library.POS_Z.ordinal(); + boolean posX = px.isOpaqueCube() || px.isNormalCube() || meta == Library.NEG_X.ordinal(); + boolean posZ = pz.isOpaqueCube() || pz.isNormalCube() || meta == Library.NEG_Z.ordinal(); + boolean posY = py.isOpaqueCube() || py.isNormalCube(); + + if(negX) { + renderer.setRenderBounds(0D, 0D, 0.4375D, 0.125D, 1D, 0.5625D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0D, 0.0625D, negZ ? 0.125D : 0D, 0.0625D, 0.4375D, posZ ? 0.875D : 1D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0D, 0.5625D, negZ ? 0.125D : 0D, 0.0625D, 0.9375D, posZ ? 0.875D : 1D); renderer.renderStandardBlock(block, x, y, z); + } + if(negZ) { + renderer.setRenderBounds(0.4375D, 0D, 0D, 0.5625D, 1D, 0.125D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(negX ? 0.125D : 0D, 0.0625D, 0D, posX ? 0.875D : 1D, 0.4375D, 0.0625D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(negX ? 0.125D : 0D, 0.5625D, 0D, posX ? 0.875D : 1D, 0.9375D, 0.0625D); renderer.renderStandardBlock(block, x, y, z); + } + if(posX) { + renderer.setRenderBounds(0.875D, 0D, 0.4375D, 1D, 1D, 0.5625D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0.9375D, 0.0625D, negZ ? 0.125D : 0D, 1D, 0.4375D, posZ ? 0.875D : 1D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0.9375D, 0.5625D, negZ ? 0.125D : 0D, 1D, 0.9375D, posZ ? 0.875D : 1D); renderer.renderStandardBlock(block, x, y, z); + } + if(posZ) { + renderer.setRenderBounds(0.4375D, 0D, 0.875D, 0.5625D, 1D, 1D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(negX ? 0.125D : 0D, 0.0625D, 0.9375D, posX ? 0.875D : 1D, 0.4375D, 1D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(negX ? 0.125D : 0D, 0.5625D, 0.9375D, posX ? 0.875D : 1D, 0.9375D, 1D); renderer.renderStandardBlock(block, x, y, z); + } + if(posY) { + renderer.setRenderBounds(0D, 0.875D, 0D, 0.125D, 0.9375D, 1D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0.875D, 0.875D, 0D, 1D, 0.9375D, 1D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0D, 0.9375D, 0.0625D, 1D, 1D, 0.4375D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0D, 0.9375D, 0.5625D, 1D, 1D, 0.9375D); renderer.renderStandardBlock(block, x, y, z); + } + + return true; + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockBedrockOreTE.java b/src/main/java/com/hbm/blocks/generic/BlockBedrockOreTE.java index b48ee9954..2e8dc7b9b 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockBedrockOreTE.java +++ b/src/main/java/com/hbm/blocks/generic/BlockBedrockOreTE.java @@ -16,9 +16,9 @@ import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.render.block.RenderBlockMultipass; import com.hbm.util.EnumUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; -import api.hbm.fluid.IFillableItem; +import api.hbm.fluidmk2.IFillableItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockContainer; diff --git a/src/main/java/com/hbm/blocks/generic/BlockBobble.java b/src/main/java/com/hbm/blocks/generic/BlockBobble.java index 1eae64640..ea53feb69 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockBobble.java +++ b/src/main/java/com/hbm/blocks/generic/BlockBobble.java @@ -4,12 +4,14 @@ import com.hbm.inventory.gui.GUIScreenBobble; import com.hbm.items.special.ItemPlasticScrap.ScrapType; import com.hbm.main.MainRegistry; import com.hbm.tileentity.IGUIProvider; +import com.hbm.world.gen.INBTTileEntityTransformable; +import com.hbm.world.gen.INBTTransformable; + import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; @@ -32,7 +34,7 @@ import net.minecraft.world.World; import java.util.List; import java.util.Random; -public class BlockBobble extends BlockContainer implements IGUIProvider { +public class BlockBobble extends BlockContainer implements IGUIProvider, INBTTransformable { public BlockBobble() { super(Material.iron); @@ -57,22 +59,22 @@ public class BlockBobble extends BlockContainer implements IGUIProvider { public Item getItemDropped(int i, Random rand, int j) { return null; } - + @Override public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { - + TileEntityBobble entity = (TileEntityBobble) world.getTileEntity(x, y, z); - + if(entity != null) { return new ItemStack(this, 1, entity.type.ordinal()); } - + return super.getPickBlock(target, world, x, y, z, player); } @Override public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) { - + if(!player.capabilities.isCreativeMode) { harvesters.set(player); if(!world.isRemote) { @@ -88,7 +90,7 @@ public class BlockBobble extends BlockContainer implements IGUIProvider { harvesters.set(null); } } - + @Override public void harvestBlock(World world, EntityPlayer player, int x, int y, int z, int meta) { player.addStat(StatList.mineBlockStatArray[getIdFromBlock(this)], 1); @@ -97,11 +99,11 @@ public class BlockBobble extends BlockContainer implements IGUIProvider { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - + if(world.isRemote) { FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); return true; - + } else { return true; } @@ -110,7 +112,7 @@ public class BlockBobble extends BlockContainer implements IGUIProvider { @Override @SideOnly(Side.CLIENT) public void getSubBlocks(Item item, CreativeTabs tab, List list) { - + for(int i = 1; i < BobbleType.values().length; i++) list.add(new ItemStack(item, 1, i)); } @@ -119,12 +121,12 @@ public class BlockBobble extends BlockContainer implements IGUIProvider { public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { int meta = MathHelper.floor_double((double)((player.rotationYaw + 180.0F) * 16.0F / 360.0F) + 0.5D) & 15; world.setBlockMetadataWithNotify(x, y, z, meta, 2); - + TileEntityBobble bobble = (TileEntityBobble) world.getTileEntity(x, y, z); bobble.type = BobbleType.values()[Math.abs(stack.getItemDamage()) % BobbleType.values().length]; bobble.markDirty(); } - + @Override public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { float f = 0.0625F; @@ -137,13 +139,18 @@ public class BlockBobble extends BlockContainer implements IGUIProvider { return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } + @Override + public int transformMeta(int meta, int coordBaseMode) { + return (meta + coordBaseMode * 4) % 16; + } + @Override public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityBobble(); } - public static class TileEntityBobble extends TileEntity { - + public static class TileEntityBobble extends TileEntity implements INBTTileEntityTransformable { + public BobbleType type = BobbleType.NONE; @Override @@ -157,7 +164,7 @@ public class BlockBobble extends BlockContainer implements IGUIProvider { this.writeToNBT(nbt); return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); } - + @Override public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { this.readFromNBT(pkt.func_148857_g()); @@ -174,10 +181,15 @@ public class BlockBobble extends BlockContainer implements IGUIProvider { super.writeToNBT(nbt); nbt.setByte("type", (byte) type.ordinal()); } + + @Override + public void transformTE(World world, int coordBaseMode) { + type = BobbleType.values()[world.rand.nextInt(BobbleType.values().length - 1) + 1]; + } } - + public static enum BobbleType { - + NONE( "null", "null", null, null, false, ScrapType.BOARD_BLANK), STRENGTH( "Strength", "Strength", null, "It's essential to give your arguments impact.", false, ScrapType.BRIDGE_BIOS), PERCEPTION( "Perception", "Perception", null, "Only through observation will you perceive weakness.", false, ScrapType.BRIDGE_NORTH), @@ -186,7 +198,7 @@ public class BlockBobble extends BlockContainer implements IGUIProvider { INTELLIGENCE( "Intelligence", "Intelligence", null, "It takes the smartest individuals to realize$there's always more to learn.", false, ScrapType.BRIDGE_BUS), AGILITY( "Agility", "Agility", null, "Never be afraid to dodge the sensitive issues.", false, ScrapType.BRIDGE_CHIPSET), LUCK( "Luck", "Luck", null, "There's only one way to give 110%.", false, ScrapType.BRIDGE_CMOS), - BOB( "Robert \"The Bobcat\" Katzinsky", "HbMinecraft", "Hbm's Nuclear Tech Mod", "I know where you live, " + System.getProperty("user.name"), false, ScrapType.CPU_SOCKET), + BOB( "Robert \"The Bobcat\" Katzinsky", "HbMinecraft", "Hbm's Nuclear Tech Mod", "I know where you live, " + System.getProperty("user.name"), false, ScrapType.CPU_SOCKET), FRIZZLE( "Frooz", "Frooz", "Weapon models", "BLOOD IS FUEL", true, ScrapType.CPU_CLOCK), PU238( "Pu-238", "Pu-238", "Improved Tom impact mechanics", null, false, ScrapType.CPU_REGISTER), VT( "VT-6/24", "VT-6/24", "Balefire warhead model and general texturework", "You cannot unfuck a horse.", true, ScrapType.CPU_EXT), @@ -199,9 +211,10 @@ public class BlockBobble extends BlockContainer implements IGUIProvider { NOS( "Dr Nostalgia", "Dr Nostalgia", "SSG and Vortex models", "Take a picture, I'ma pose, paparazzi$I've been drinking, moving like a zombie", true, ScrapType.BOARD_TRANSISTOR), DRILLGON( "Drillgon200", "Drillgon200", "1.12 Port", null, false, ScrapType.CPU_LOGIC), CIRNO( "Cirno", "Cirno", "the only multi layered skin i had", "No brain. Head empty.", true, ScrapType.BOARD_BLANK), - MICROWAVE( "Microwave", "Microwave", "OC Compatibility", "they call me the food heater", true, ScrapType.BOARD_CONVERTER), + MICROWAVE( "Microwave", "Microwave", "OC Compatibility and massive RBMK/packet optimizations", "they call me the food heater$john optimization", true, ScrapType.BOARD_CONVERTER), PEEP( "Peep", "LePeeperSauvage", "Coilgun, Leadburster and Congo Lake models, BDCL QC", "Fluffy ears can't hide in ash, nor snow.", true, ScrapType.CARD_BOARD), - MELLOW( "MELLOWARPEGGIATION", "Mellow", "Industrial lighting, animation tools", "Make something cool now, ask for permission later.", true, ScrapType.CARD_PROCESSOR); + MELLOW( "MELLOWARPEGGIATION", "Mellow", "NBT Structures, industrial lighting, animation tools", "Make something cool now, ask for permission later.", true, ScrapType.CARD_PROCESSOR), + ABEL( "Abel1502", "Abel1502", "Abilities GUI, optimizations and many QoL improvements", "NANTO SUBARASHII", true, ScrapType.CPU_REGISTER); public String name; //the title of the tooltip public String label; //the name engraved in the socket @@ -209,7 +222,7 @@ public class BlockBobble extends BlockContainer implements IGUIProvider { public String inscription; //the flavor text public boolean skinLayers; public ScrapType scrap; - + private BobbleType(String name, String label, String contribution, String inscription, boolean layers, ScrapType scrap) { this.name = name; this.label = label; @@ -227,7 +240,7 @@ public class BlockBobble extends BlockContainer implements IGUIProvider { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIScreenBobble((TileEntityBobble) world.getTileEntity(x, y, z)); } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockCluster.java b/src/main/java/com/hbm/blocks/generic/BlockCluster.java index 03ed4027e..ab7ae9dff 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockCluster.java +++ b/src/main/java/com/hbm/blocks/generic/BlockCluster.java @@ -6,7 +6,7 @@ import java.util.Random; import com.hbm.blocks.ITooltipProvider; import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import api.hbm.block.IDrillInteraction; import api.hbm.block.IMiningDrill; diff --git a/src/main/java/com/hbm/blocks/generic/BlockCoalOil.java b/src/main/java/com/hbm/blocks/generic/BlockCoalOil.java index b2de5b355..cb6f4ea7e 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockCoalOil.java +++ b/src/main/java/com/hbm/blocks/generic/BlockCoalOil.java @@ -3,20 +3,12 @@ package com.hbm.blocks.generic; import java.util.Random; import com.hbm.blocks.ModBlocks; -import com.hbm.items.tool.ItemToolAbility; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; -import net.minecraft.item.ItemTool; -import net.minecraft.item.Item.ToolMaterial; -import net.minecraft.util.Vec3; -import net.minecraft.world.Explosion; import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; public class BlockCoalOil extends Block { @@ -24,19 +16,6 @@ public class BlockCoalOil extends Block { super(mat); } - @Override - public void onNeighborBlockChange(World world, int x, int y, int z, Block b) { - - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - - Block n = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); - - if(n == ModBlocks.ore_coal_oil_burning || n == ModBlocks.balefire || n == Blocks.fire || n.getMaterial() == Material.lava) { - world.scheduleBlockUpdate(x, y, z, this, world.rand.nextInt(20) + 2); - } - } - } - @Override public void updateTick(World world, int x, int y, int z, Random rand) { world.setBlock(x, y, z, ModBlocks.ore_coal_oil_burning); @@ -51,58 +30,4 @@ public class BlockCoalOil extends Block { public int quantityDropped(Random rand) { return 2 + rand.nextInt(2); } - - public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) { - - if(doesToolIgnite(player)) { - if(world.rand.nextInt(10) == 0) - world.setBlock(x, y, z, Blocks.fire); - } - } - - public void onBlockClicked(World world, int x, int y, int z, EntityPlayer player) { - - if(!world.isRemote) - return; - - if(doesToolIgnite(player)) { - - Random rand = world.rand; - for(int i = 0; i < 15; i++) { - Vec3 vec = Vec3.createVectorHelper(1, 0, 0); - vec.rotateAroundZ((float)(Math.PI * rand.nextDouble() * 2D)); - vec.rotateAroundY((float)(Math.PI * rand.nextDouble() * 2D)); - - double dX = vec.xCoord; - double dY = vec.yCoord; - double dZ = vec.zCoord; - - if(Math.abs(dX) > 1) - dX /= Math.abs(dX); - if(Math.abs(dY) > 1) - dY /= Math.abs(dY); - if(Math.abs(dX) > 1) - dZ /= Math.abs(dZ); - - world.spawnParticle("flame", x + 0.5 + dX * 0.75, y + 0.5 + dY * 0.75, z + 0.5 + dZ * 0.75, 0.0, 0.0, 0.0); - } - } - } - - public void onBlockDestroyedByExplosion(World world, int x, int y, int z, Explosion explosion) { - world.setBlock(x, y, z, Blocks.fire); - } - - private boolean doesToolIgnite(EntityPlayer player) { - - if(player.getHeldItem() == null) - return false; - - if(!(player.getHeldItem().getItem() instanceof ItemTool || player.getHeldItem().getItem() instanceof ItemToolAbility)) - return false; - - ItemTool tool = (ItemTool) player.getHeldItem().getItem(); - - return tool.func_150913_i() != ToolMaterial.WOOD; - } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockCrate.java b/src/main/java/com/hbm/blocks/generic/BlockCrate.java index 2fa11286c..e24a62d78 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockCrate.java +++ b/src/main/java/com/hbm/blocks/generic/BlockCrate.java @@ -5,7 +5,7 @@ import java.util.List; import java.util.Random; import com.hbm.blocks.ModBlocks; -import com.hbm.items.ItemAmmoEnums.Ammo44Magnum; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret; import com.hbm.items.ModItems; import net.minecraft.block.BlockFalling; @@ -52,18 +52,6 @@ public class BlockCrate extends BlockFalling { // Supply Crate BlockCrate.addToListWithWeight(crateList, ModItems.syringe_metal_stimpak, 10); BlockCrate.addToListWithWeight(crateList, ModItems.syringe_antidote, 5); - BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_iron, 9); - BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver, 7); - BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_gold, 4); - BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_lead, 6); - BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_cursed, 5); - BlockCrate.addToListWithWeight(crateList, ModItems.clip_rpg, 5); - BlockCrate.addToListWithWeight(crateList, ModItems.clip_fatman, 1); - BlockCrate.addToListWithWeight(crateList, ModItems.clip_mp40, 7); - BlockCrate.addToListWithWeight(crateList, ModItems.clip_uzi, 7); - BlockCrate.addToListWithWeight(crateList, ModItems.clip_uboinik, 7); - BlockCrate.addToListWithWeight(crateList, ModItems.clip_lever_action, 5); - BlockCrate.addToListWithWeight(crateList, ModItems.clip_bolt_action, 5); BlockCrate.addToListWithWeight(crateList, ModItems.grenade_generic, 8); BlockCrate.addToListWithWeight(crateList, ModItems.grenade_strong, 6); BlockCrate.addToListWithWeight(crateList, ModItems.grenade_mk2, 4); @@ -71,21 +59,13 @@ public class BlockCrate extends BlockFalling { BlockCrate.addToListWithWeight(crateList, ModItems.ammo_container, 2); // Weapon Crate - BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver, 9); - BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_gold, 7); - BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_cursed, 7); - BlockCrate.addToListWithWeight(weaponList, ModItems.gun_calamity, 3); - BlockCrate.addToListWithWeight(weaponList, ModItems.gun_rpg, 7); - BlockCrate.addToListWithWeight(weaponList, ModItems.gun_karl, 4); - BlockCrate.addToListWithWeight(weaponList, ModItems.gun_panzerschreck, 6); - BlockCrate.addToListWithWeight(weaponList, ModItems.gun_hk69, 8); - BlockCrate.addToListWithWeight(weaponList, ModItems.gun_stinger, 7); - BlockCrate.addToListWithWeight(weaponList, ModItems.gun_mp40, 9); - BlockCrate.addToListWithWeight(weaponList, ModItems.gun_uzi, 6); - BlockCrate.addToListWithWeight(weaponList, ModItems.gun_uzi_silencer, 5); - BlockCrate.addToListWithWeight(weaponList, ModItems.gun_uboinik, 8); - BlockCrate.addToListWithWeight(weaponList, ModItems.gun_lever_action, 7); - BlockCrate.addToListWithWeight(weaponList, ModItems.gun_bolt_action, 7); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_light_revolver, 10); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_maresleg, 7); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_heavy_revolver, 5); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_greasegun, 5); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_liberator, 2); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_flaregun, 8); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_panzerschreck, 1); // Lead Crate BlockCrate.addToListWithWeight(leadList, ModItems.ingot_uranium, 10); @@ -123,7 +103,6 @@ public class BlockCrate extends BlockFalling { BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_press), 10); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 9); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_reactor_breeding), 6); - BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off), 7); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_wood_burner), 10); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_diesel), 8); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_rtg_grey), 4); @@ -144,12 +123,12 @@ public class BlockCrate extends BlockFalling { // Red Crate BlockCrate.addToListWithWeight(redList, ModItems.mysteryshovel, 1); - BlockCrate.addToListWithWeight(redList, ModItems.gun_revolver_pip, 1); - BlockCrate.addToListWithWeight(redList, ModItems.gun_revolver_blackjack, 1); - BlockCrate.addToListWithWeight(redList, ModItems.gun_revolver_silver, 1); - BlockCrate.addToListWithWeight(redList, ModItems.ammo_44.stackFromEnum(Ammo44Magnum.PIP), 1); - BlockCrate.addToListWithWeight(redList, ModItems.ammo_44.stackFromEnum(Ammo44Magnum.BJ), 1); - BlockCrate.addToListWithWeight(redList, ModItems.ammo_44.stackFromEnum(Ammo44Magnum.SILVER), 1); + BlockCrate.addToListWithWeight(redList, ModItems.gun_heavy_revolver_lilmac, 1); + BlockCrate.addToListWithWeight(redList, ModItems.gun_autoshotgun_sexy, 1); + BlockCrate.addToListWithWeight(redList, ModItems.gun_maresleg_broken, 1); + BlockCrate.addToListWithWeight(redList, new ItemStack(ModItems.ammo_secret, 1, EnumAmmoSecret.M44_EQUESTRIAN.ordinal()), 1); + BlockCrate.addToListWithWeight(redList, new ItemStack(ModItems.ammo_secret, 1, EnumAmmoSecret.G12_EQUESTRIAN.ordinal()), 1); + BlockCrate.addToListWithWeight(redList, new ItemStack(ModItems.ammo_secret, 1, EnumAmmoSecret.BMG50_EQUESTRIAN.ordinal()), 1); BlockCrate.addToListWithWeight(redList, ModItems.battery_spark, 1); BlockCrate.addToListWithWeight(redList, ModItems.bottle_sparkle, 1); BlockCrate.addToListWithWeight(redList, ModItems.bottle_rad, 1); diff --git a/src/main/java/com/hbm/blocks/generic/BlockDecoCRT.java b/src/main/java/com/hbm/blocks/generic/BlockDecoCRT.java index 724912ed3..b1ede562a 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockDecoCRT.java +++ b/src/main/java/com/hbm/blocks/generic/BlockDecoCRT.java @@ -2,6 +2,7 @@ package com.hbm.blocks.generic; import com.hbm.blocks.BlockMulti; import com.hbm.lib.RefStrings; +import com.hbm.world.gen.INBTTransformable; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; @@ -14,7 +15,7 @@ import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -public class BlockDecoCRT extends BlockMulti { +public class BlockDecoCRT extends BlockMulti implements INBTTransformable { protected String[] variants = new String[] {"crt_clean", "crt_broken", "crt_blinking", "crt_bsod"}; @SideOnly(Side.CLIENT) protected IIcon[] icons; @@ -24,17 +25,17 @@ public class BlockDecoCRT extends BlockMulti { } public static int renderID = RenderingRegistry.getNextAvailableRenderId(); - + @Override public int getRenderType(){ return renderID; } - + @Override public boolean isOpaqueCube() { return false; } - + @Override public boolean renderAsNormalBlock() { return false; @@ -45,12 +46,12 @@ public class BlockDecoCRT extends BlockMulti { public void registerBlockIcons(IIconRegister reg) { super.registerBlockIcons(reg); this.icons = new IIcon[variants.length]; - + for(int i = 0; i < variants.length; i++) { this.icons[i] = reg.registerIcon(RefStrings.MODID + ":" + variants[i]); } } - + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int meta) { @@ -61,7 +62,7 @@ public class BlockDecoCRT extends BlockMulti { public int damageDropped(int meta) { return (Math.abs(meta) % 16) / 4; } - + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; @@ -73,4 +74,10 @@ public class BlockDecoCRT extends BlockMulti { public int getSubCount() { return 4; } -} + + @Override + public int transformMeta(int meta, int coordBaseMode) { + return INBTTransformable.transformMetaDecoModel(meta, coordBaseMode); + } + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/generic/BlockDecoCT.java b/src/main/java/com/hbm/blocks/generic/BlockDecoCT.java index c6197d163..f46a7b4fd 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockDecoCT.java +++ b/src/main/java/com/hbm/blocks/generic/BlockDecoCT.java @@ -1,17 +1,19 @@ package com.hbm.blocks.generic; +import com.hbm.blocks.ModBlocks; import com.hbm.render.block.ct.CT; import com.hbm.render.block.ct.CTStitchReceiver; import com.hbm.render.block.ct.IBlockCT; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; -public class BlockDecoCT extends BlockOre implements IBlockCT{ +public class BlockDecoCT extends BlockOre implements IBlockCT { public BlockDecoCT(Material mat) { super(mat); @@ -35,4 +37,12 @@ public class BlockDecoCT extends BlockOre implements IBlockCT{ public IIcon[] getFragments(IBlockAccess world, int x, int y, int z) { return rec.fragCache; } + + @Override + public boolean canConnect(IBlockAccess world, int x, int y, int z, Block block) { + // i don't care + if(this == ModBlocks.deco_steel && block == ModBlocks.deco_rusty_steel) return true; + if(this == ModBlocks.deco_rusty_steel && block == ModBlocks.deco_steel) return true; + return this == block; + } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockDecoModel.java b/src/main/java/com/hbm/blocks/generic/BlockDecoModel.java index d70fd5fe4..2e2febe67 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockDecoModel.java +++ b/src/main/java/com/hbm/blocks/generic/BlockDecoModel.java @@ -1,6 +1,7 @@ package com.hbm.blocks.generic; import com.hbm.blocks.BlockEnumMulti; +import com.hbm.world.gen.INBTTransformable; import cpw.mods.fml.client.registry.RenderingRegistry; import net.minecraft.block.material.Material; @@ -11,14 +12,14 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -public class BlockDecoModel extends BlockEnumMulti { - +public class BlockDecoModel extends BlockEnumMulti implements INBTTransformable { + public BlockDecoModel(Material mat, Class theEnum, boolean multiName, boolean multiTexture) { super(mat, theEnum, multiName, multiTexture); } - + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); - + @Override public int getRenderType() { return renderID; @@ -33,18 +34,18 @@ public class BlockDecoModel extends BlockEnumMulti { public boolean renderAsNormalBlock() { return false; } - + //Did somebody say - pain? //Alright fuckers, looks like 2/b010 = North, 3/b011 = South, 4/b100 = West, 5/b101 = East for sides. //I'll just opt for something similar (0/b00 North, 1/b01 South, 2/b10 West, 3/b11 East) - + //Assumes meta is using the third and fourth bits. @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - + int meta; - + if((i & 1) != 1) meta = i >> 1; //For North(b00>b00) and South(b10>b01), shift bits right by one else { @@ -53,15 +54,15 @@ public class BlockDecoModel extends BlockEnumMulti { else meta = 3; //For East(b01>b11), just set to 3 } - + world.setBlockMetadataWithNotify(x, y, z, (meta << 2) | stack.getItemDamage(), 2); } - + @Override public int damageDropped(int meta) { return meta & 3; } - + //These are separate because they have to be constant private float mnX = 0.0F; //min private float mnY = 0.0F; @@ -69,7 +70,7 @@ public class BlockDecoModel extends BlockEnumMulti { private float mxX = 1.0F; //max private float mxY = 1.0F; private float mxZ = 1.0F; - + public BlockDecoModel setBlockBoundsTo(float minX, float minY, float minZ, float maxX, float maxY, float maxZ) { mnX = minX; mnY = minY; @@ -77,10 +78,10 @@ public class BlockDecoModel extends BlockEnumMulti { mxX = maxX; mxY = maxY; mxZ = maxZ; - + return this; } - + @Override public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { switch(world.getBlockMetadata(x, y, z) >> 2) { @@ -98,10 +99,40 @@ public class BlockDecoModel extends BlockEnumMulti { break; } } - + @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { this.setBlockBoundsBasedOnState(world, x, y, z); return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } + + @Override + public int transformMeta(int meta, int coordBaseMode) { + if(coordBaseMode == 0) return meta; + //N: 0b00, S: 0b01, W: 0b10, E: 0b11 + int rot = meta >> 2; + int type = meta & 3; + + switch(coordBaseMode) { + default: //South + break; + case 1: //West + if((rot & 3) < 2) //N & S can just have bits toggled + rot = rot ^ 3; + else //W & E can just have first bit set to 0 + rot = rot ^ 2; + break; + case 2: //North + rot = rot ^ 1; //N, W, E & S can just have first bit toggled + break; + case 3: //East + if((rot & 3) < 2)//N & S can just have second bit set to 1 + rot = rot ^ 2; + else //W & E can just have bits toggled + rot = rot ^ 3; + break; + } + //genuinely like. why did i do that + return (rot << 2) | type; //To accommodate for BlockDecoModel's shift in the rotation bits; otherwise, simply bit-shift right and or any non-rotation meta after + } } \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/generic/BlockDecoToaster.java b/src/main/java/com/hbm/blocks/generic/BlockDecoToaster.java index a11061fa0..c35dd1d3b 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockDecoToaster.java +++ b/src/main/java/com/hbm/blocks/generic/BlockDecoToaster.java @@ -2,6 +2,7 @@ package com.hbm.blocks.generic; import com.hbm.blocks.BlockMulti; import com.hbm.lib.RefStrings; +import com.hbm.world.gen.INBTTransformable; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; @@ -16,7 +17,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -public class BlockDecoToaster extends BlockMulti { +public class BlockDecoToaster extends BlockMulti implements INBTTransformable { protected String[] variants = new String[] {"toaster_iron", "toaster_steel", "toaster_wood"}; @SideOnly(Side.CLIENT) protected IIcon[] icons; @@ -26,17 +27,17 @@ public class BlockDecoToaster extends BlockMulti { } public static int renderID = RenderingRegistry.getNextAvailableRenderId(); - + @Override public int getRenderType(){ return renderID; } - + @Override public boolean isOpaqueCube() { return false; } - + @Override public boolean renderAsNormalBlock() { return false; @@ -47,12 +48,12 @@ public class BlockDecoToaster extends BlockMulti { public void registerBlockIcons(IIconRegister reg) { super.registerBlockIcons(reg); this.icons = new IIcon[variants.length]; - + for(int i = 0; i < variants.length; i++) { this.icons[i] = reg.registerIcon(RefStrings.MODID + ":" + variants[i]); } } - + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int meta) { @@ -63,7 +64,7 @@ public class BlockDecoToaster extends BlockMulti { public int damageDropped(int meta) { return (Math.abs(meta) % 12) / 4; } - + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; @@ -90,4 +91,10 @@ public class BlockDecoToaster extends BlockMulti { this.setBlockBoundsBasedOnState(world, x, y, z); return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } -} + + @Override + public int transformMeta(int meta, int coordBaseMode) { + return INBTTransformable.transformMetaDecoModel(meta, coordBaseMode); + } + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/generic/BlockDepth.java b/src/main/java/com/hbm/blocks/generic/BlockDepth.java index e0e2d511c..3a5261831 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockDepth.java +++ b/src/main/java/com/hbm/blocks/generic/BlockDepth.java @@ -3,7 +3,7 @@ package com.hbm.blocks.generic; import java.util.List; import com.hbm.blocks.ITooltipProvider; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import api.hbm.item.IDepthRockTool; import net.minecraft.block.Block; diff --git a/src/main/java/com/hbm/blocks/generic/BlockDoorGeneric.java b/src/main/java/com/hbm/blocks/generic/BlockDoorGeneric.java index 0e496af45..365187ff4 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockDoorGeneric.java +++ b/src/main/java/com/hbm/blocks/generic/BlockDoorGeneric.java @@ -17,6 +17,8 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -116,6 +118,22 @@ public class BlockDoorGeneric extends BlockDummyable implements IBomb { return aabb; } + // Enables clicking through the open door + @Override + public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, Vec3 startVec, Vec3 endVec) { + AxisAlignedBB box = getBoundingBox(world, x, y ,z); + box = AxisAlignedBB.getBoundingBox( + Math.min(box.minX, box.maxX), Math.min(box.minY, box.maxY), Math.min(box.minZ, box.maxZ), + Math.max(box.minX, box.maxX), Math.max(box.minY, box.maxY), Math.max(box.minZ, box.maxZ) + ); + + MovingObjectPosition intercept = box.calculateIntercept(startVec, endVec); + if(intercept != null) { + return new MovingObjectPosition(x, y, z, intercept.sideHit, intercept.hitVec); + } + return null; + } + @Override //should fix AI pathfinding public boolean getBlocksMovement(IBlockAccess world, int x, int y, int z) { //btw the method name is the exact opposite of that it's doing, check net.minecraft.pathfinding.PathNavigate#512 return hasExtra(world.getBlockMetadata(x, y, z)); //if it's open diff --git a/src/main/java/com/hbm/blocks/generic/BlockDynamicSlag.java b/src/main/java/com/hbm/blocks/generic/BlockDynamicSlag.java index fc053c80c..9c8176db1 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockDynamicSlag.java +++ b/src/main/java/com/hbm/blocks/generic/BlockDynamicSlag.java @@ -135,7 +135,7 @@ public class BlockDynamicSlag extends BlockContainer { TileEntitySlag self = (TileEntitySlag) s; /* Flow down */ - if(world.getBlock(x, y - 1, z).isReplaceable(world, x, y - 1, z)) { + if(world.getBlock(x, y - 1, z).isReplaceable(world, x, y - 1, z) && y > 0) { world.setBlock(x, y - 1, z, ModBlocks.slag); TileEntitySlag tile = (TileEntitySlag) Compat.getTileStandard(world, x, y - 1, z); tile.mat = self.mat; diff --git a/src/main/java/com/hbm/blocks/generic/BlockEmitter.java b/src/main/java/com/hbm/blocks/generic/BlockEmitter.java index 4d6b10199..faf876198 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockEmitter.java +++ b/src/main/java/com/hbm/blocks/generic/BlockEmitter.java @@ -4,15 +4,15 @@ import java.awt.Color; import java.util.List; import com.hbm.blocks.ITooltipProvider; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.NBTPacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.packet.toclient.AuxParticlePacketNT; import api.hbm.block.IToolable; +import com.hbm.tileentity.TileEntityLoadedBase; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.BlockPistonBase; @@ -41,7 +41,7 @@ public class BlockEmitter extends BlockContainer implements IToolable, ITooltipP public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityEmitter(); } - + @Override public boolean isOpaqueCube() { return false; @@ -56,12 +56,12 @@ public class BlockEmitter extends BlockContainer implements IToolable, ITooltipP @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int i, float fx, float fy, float fz) { - + if(world.isRemote) return true; - + TileEntityEmitter te = (TileEntityEmitter)world.getTileEntity(x, y, z); - + if(player.getHeldItem() != null) { if(player.getHeldItem().getItem() instanceof ItemDye) { @@ -72,7 +72,7 @@ public class BlockEmitter extends BlockContainer implements IToolable, ITooltipP return true; } } - + return false; } @@ -80,31 +80,31 @@ public class BlockEmitter extends BlockContainer implements IToolable, ITooltipP public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { TileEntityEmitter te = (TileEntityEmitter)world.getTileEntity(x, y, z); - + if(tool == ToolType.SCREWDRIVER) { te.girth += 0.125F; te.markDirty(); return true; } - + if(tool == ToolType.DEFUSER) { te.girth -= 0.125F; if(te.girth < 0.125F) te.girth = 0.125F; te.markDirty(); return true; } - + if(tool == ToolType.HAND_DRILL) { te.effect = (te.effect + 1) % te.effectCount; te.markDirty(); return true; } - + return false; } - public static class TileEntityEmitter extends TileEntity implements INBTPacketReceiver { - + public static class TileEntityEmitter extends TileEntityLoadedBase { + public static final int range = 100; public int color; public int beam; @@ -114,39 +114,39 @@ public class BlockEmitter extends BlockContainer implements IToolable, ITooltipP @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); - + if(worldObj.getTotalWorldTime() % 20 == 0) { for(int i = 1; i <= range; i++) { - + beam = i; - + int x = xCoord + dir.offsetX * i; int y = yCoord + dir.offsetY * i; int z = zCoord + dir.offsetZ * i; - + Block b = worldObj.getBlock(x, y, z); if(b.isBlockSolid(worldObj, x, y, z, dir.ordinal())) { break; } } } - + if(effect == 4 && beam > 0) { if(worldObj.getTotalWorldTime() % 5 == 0) { double x = (int) (xCoord + dir.offsetX * (worldObj.getTotalWorldTime() / 5L) % beam) + 0.5; double y = (int) (yCoord + dir.offsetY * (worldObj.getTotalWorldTime() / 5L) % beam) + 0.5; double z = (int) (zCoord + dir.offsetZ * (worldObj.getTotalWorldTime() / 5L) % beam) + 0.5; - + int prevColor = color; if(color == 0) { color = Color.HSBtoRGB(worldObj.getTotalWorldTime() / 50.0F, 0.5F, 0.25F) & 16777215; } - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "plasmablast"); data.setFloat("r", ((float)((color & 0xff0000) >> 16)) / 256F); @@ -168,20 +168,16 @@ public class BlockEmitter extends BlockContainer implements IToolable, ITooltipP data.setFloat("pitch", -90); data.setFloat("yaw", 90); } - - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y, z), + + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(worldObj.provider.dimensionId, x, y, z, 100)); - + color = prevColor; } } - - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("beam", this.beam); - data.setInteger("color", this.color); - data.setFloat("girth", this.girth); - data.setInteger("effect", this.effect); - PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(data, xCoord, yCoord, zCoord), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); + + networkPackNT(150); + } } @@ -191,7 +187,7 @@ public class BlockEmitter extends BlockContainer implements IToolable, ITooltipP this.writeToNBT(nbt); return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); } - + @Override public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { this.readFromNBT(pkt.func_148857_g()); @@ -212,7 +208,7 @@ public class BlockEmitter extends BlockContainer implements IToolable, ITooltipP nbt.setFloat("girth", this.girth); nbt.setInteger("effect", this.effect); } - + @Override public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; @@ -225,11 +221,19 @@ public class BlockEmitter extends BlockContainer implements IToolable, ITooltipP } @Override - public void networkUnpack(NBTTagCompound nbt) { - this.beam = nbt.getInteger("beam"); - this.color = nbt.getInteger("color"); - this.girth = nbt.getFloat("girth"); - this.effect = nbt.getInteger("effect"); + public void serialize(ByteBuf buf) { + buf.writeInt(this.beam); + buf.writeInt(this.color); + buf.writeFloat(this.girth); + buf.writeInt(this.effect); + } + + @Override + public void deserialize(ByteBuf buf) { + this.beam = buf.readInt(); + this.color = buf.readInt(); + this.girth = buf.readFloat(); + this.effect = buf.readInt(); } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockFissure.java b/src/main/java/com/hbm/blocks/generic/BlockFissure.java index dac40abf0..0f1dea15a 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockFissure.java +++ b/src/main/java/com/hbm/blocks/generic/BlockFissure.java @@ -2,21 +2,28 @@ package com.hbm.blocks.generic; import java.util.Random; +import api.hbm.fluid.IFluidStandardSender; import com.hbm.blocks.IBlockMultiPass; import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.lib.RefStrings; import com.hbm.render.block.RenderBlockMultipass; +import com.hbm.tileentity.TileEntityLoadedBase; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.init.Blocks; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; -public class BlockFissure extends Block implements IBlockMultiPass { +public class BlockFissure extends BlockContainer implements IBlockMultiPass { private IIcon overlay; @@ -65,4 +72,31 @@ public class BlockFissure extends Block implements IBlockMultiPass { public int getRenderType(){ return IBlockMultiPass.getRenderType(); } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityFissure(); + } + + public static class TileEntityFissure extends TileEntityLoadedBase implements IFluidStandardSender { + + public FluidTank lava = new FluidTank(Fluids.LAVA, 1_000); + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + lava.setFill(1_000); + this.sendFluid(lava, worldObj, xCoord, yCoord + 1, zCoord, ForgeDirection.UP); + } + } + + @Override + public boolean canConnect(FluidType type, ForgeDirection dir) { + return dir == ForgeDirection.DOWN && type == Fluids.LAVA; + } + + @Override public FluidTank[] getAllTanks() { return new FluidTank[] {lava}; } + @Override public FluidTank[] getSendingTanks() { return new FluidTank[] {lava}; } + } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockGenericStairs.java b/src/main/java/com/hbm/blocks/generic/BlockGenericStairs.java index 7bd3ee8f6..61df2ed89 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockGenericStairs.java +++ b/src/main/java/com/hbm/blocks/generic/BlockGenericStairs.java @@ -18,6 +18,6 @@ public class BlockGenericStairs extends BlockStairs { recipeGen.add(new Object[] {block, meta, this}); - this.setBlockTextureName(RefStrings.MODID + ":concrete_smooth"); + this.setBlockTextureName(RefStrings.MODID + ":concrete"); } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockGlyphid.java b/src/main/java/com/hbm/blocks/generic/BlockGlyphid.java index e94c67f14..d43e266d4 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockGlyphid.java +++ b/src/main/java/com/hbm/blocks/generic/BlockGlyphid.java @@ -22,6 +22,7 @@ public class BlockGlyphid extends Block implements IBlockMulti { public IIcon[] iconsStandard = new IIcon[2]; public IIcon[] iconsInfested = new IIcon[2]; + public IIcon[] iconsRad = new IIcon[2]; public BlockGlyphid(Material mat) { super(mat); @@ -57,16 +58,19 @@ public class BlockGlyphid extends Block implements IBlockMulti { iconsStandard[1] = reg.registerIcon(RefStrings.MODID + ":glyphid_base_alt"); iconsInfested[0] = reg.registerIcon(RefStrings.MODID + ":glyphid_base_infested"); iconsInfested[1] = reg.registerIcon(RefStrings.MODID + ":glyphid_base_infested_alt"); + iconsRad[0] = reg.registerIcon(RefStrings.MODID + ":glyphid_base_rad"); + iconsRad[1] = reg.registerIcon(RefStrings.MODID + ":glyphid_base_rad_alt"); } protected IIcon[] getIconArray(int meta) { if(meta == 1) return this.iconsInfested; + if(meta == 2) return this.iconsRad; return this.iconsStandard; } @Override public int getSubCount() { - return 2; + return 3; } @Override diff --git a/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java b/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java index 1bd37155a..5986d6581 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java +++ b/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java @@ -38,7 +38,7 @@ import net.minecraft.world.World; public class BlockGlyphidSpawner extends BlockContainer implements IBlockMulti { - public IIcon[] icons = new IIcon[2]; + public IIcon[] icons = new IIcon[3]; public BlockGlyphidSpawner(Material mat) { super(mat); @@ -61,11 +61,12 @@ public class BlockGlyphidSpawner extends BlockContainer implements IBlockMulti { public void registerBlockIcons(IIconRegister reg) { icons[0] = reg.registerIcon(RefStrings.MODID + ":glyphid_eggs_alt"); icons[1] = reg.registerIcon(RefStrings.MODID + ":glyphid_eggs_infested"); + icons[2] = reg.registerIcon(RefStrings.MODID + ":glyphid_eggs_rad"); } @Override public int getSubCount() { - return 2; + return 3; } @Override @@ -122,15 +123,16 @@ public class BlockGlyphidSpawner extends BlockContainer implements IBlockMulti { List list = worldObj.getEntitiesWithinAABB(EntityGlyphid.class, AxisAlignedBB.getBoundingBox(xCoord - 5, yCoord + 1, zCoord - 5, xCoord + 6, yCoord + 7, zCoord + 6)); float soot = PollutionHandler.getPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT); - if(list.size() <= 3) { + int subtype = this.getBlockMetadata(); + if(list.size() <= 3 || subtype == EntityGlyphid.TYPE_RADIOACTIVE) { - ArrayList currentSwarm = createSwarm(soot, this.getBlockMetadata()); + ArrayList currentSwarm = createSwarm(soot, subtype); for(EntityGlyphid glyphid : currentSwarm) { trySpawnEntity(glyphid); } - if(!initialSpawn && worldObj.rand.nextInt(MobConfig.scoutSwarmSpawnChance + 1) == 0 && soot >= MobConfig.scoutThreshold) { + if(!initialSpawn && worldObj.rand.nextInt(MobConfig.scoutSwarmSpawnChance + 1) == 0 && soot >= MobConfig.scoutThreshold && subtype != EntityGlyphid.TYPE_RADIOACTIVE) { EntityGlyphidScout scout = new EntityGlyphidScout(worldObj); if(this.getBlockMetadata() == 1) scout.getDataWatcher().updateObject(EntityGlyphid.DW_SUBTYPE, (byte) EntityGlyphid.TYPE_INFECTED); trySpawnEntity(scout); @@ -168,6 +170,7 @@ public class BlockGlyphidSpawner extends BlockContainer implements IBlockMulti { if(soot >= chance[2] && rand.nextInt(100) <= adjustedChance) { EntityGlyphid entity = glyphid.getKey().apply(worldObj); if(meta == 1) entity.getDataWatcher().updateObject(EntityGlyphid.DW_SUBTYPE, (byte) EntityGlyphid.TYPE_INFECTED); + if(meta == 2) entity.getDataWatcher().updateObject(EntityGlyphid.DW_SUBTYPE, (byte) EntityGlyphid.TYPE_RADIOACTIVE); currentSpawns.add(entity); } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockGrate.java b/src/main/java/com/hbm/blocks/generic/BlockGrate.java index 892f9f929..4d4997f13 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockGrate.java +++ b/src/main/java/com/hbm/blocks/generic/BlockGrate.java @@ -5,7 +5,7 @@ import java.util.List; import com.hbm.blocks.ITooltipProvider; import com.hbm.blocks.ModBlocks; import com.hbm.lib.RefStrings; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; diff --git a/src/main/java/com/hbm/blocks/generic/BlockHangingVine.java b/src/main/java/com/hbm/blocks/generic/BlockHangingVine.java new file mode 100644 index 000000000..b5a71c492 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockHangingVine.java @@ -0,0 +1,127 @@ +package com.hbm.blocks.generic; + +import java.util.ArrayList; + +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.IShearable; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockHangingVine extends Block implements IShearable { + + public BlockHangingVine(Material mat) { + super(mat); + } + + @Override + public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) { + entity.motionX *= 0.5; + entity.motionY *= 0.5; + entity.motionZ *= 0.5; + entity.fallDistance = 0F; + } + + @Override + public boolean canPlaceBlockAt(World world, int x, int y, int z) { + return this.canBlockStay(world, x, y, z); + } + + @Override + public boolean canBlockStay(World world, int x, int y, int z) { + Block b = world.getBlock(x, y + 1, z); + return b.isSideSolid(world, x, y + 1, z, ForgeDirection.UP) || b == this; + } + + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { + super.onNeighborBlockChange(world, x, y, z, block); + this.checkAndDropBlock(world, x, y, z); + } + + protected void checkAndDropBlock(World world, int x, int y, int z) { + if(!this.canBlockStay(world, x, y, z)) { + world.setBlock(x, y, z, Blocks.air); + } + } + + @Override protected boolean canSilkHarvest() { return true; } + + @Override + public boolean isShearable(ItemStack item, IBlockAccess world, int x, int y, int z) { + return true; + } + + @Override + public ArrayList onSheared(ItemStack item, IBlockAccess world, int x, int y, int z, int fortune) { + ArrayList ret = new ArrayList(); + ret.add(new ItemStack(this)); //placeholder + return ret; + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + return null; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @SideOnly(Side.CLIENT) public IIcon iconItem; + @SideOnly(Side.CLIENT) public IIcon iconGround; //when touching a solid face below + @SideOnly(Side.CLIENT) public IIcon iconHang; //when hanging mid-air + @SideOnly(Side.CLIENT) public IIcon iconGlow; //regular phosphor + @SideOnly(Side.CLIENT) public IIcon iconHangGlow; //phosphor in different position when hanging for variety + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + this.iconItem = reg.registerIcon(RefStrings.MODID + ":vine_phosphor_item"); + this.blockIcon = reg.registerIcon(RefStrings.MODID + ":vine_phosphor"); + this.iconGround = reg.registerIcon(RefStrings.MODID + ":vine_phosphor_ground"); + this.iconHang = reg.registerIcon(RefStrings.MODID + ":vine_phosphor_hang"); + this.iconGlow = reg.registerIcon(RefStrings.MODID + ":vine_phosphor_spots"); + this.iconHangGlow = reg.registerIcon(RefStrings.MODID + ":vine_phosphor_spots_hang"); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess world, int x, int y, int z, boolean pass) { + Block b = world.getBlock(x, y - 1, z); + + if(!pass) + return b.isSideSolid(world, x, y, z, ForgeDirection.UP) ? iconGround : b == this ? blockIcon : iconHang; + else + return b.isAir(world, x, y, z) ? iconHangGlow : iconGlow; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return this.iconItem; + } + + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + + @Override + public int getRenderType() { + return renderID; + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockKeyhole.java b/src/main/java/com/hbm/blocks/generic/BlockKeyhole.java index d3b5a1bd7..f267857fd 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockKeyhole.java +++ b/src/main/java/com/hbm/blocks/generic/BlockKeyhole.java @@ -108,6 +108,14 @@ public class BlockKeyhole extends BlockStone { } } + if(world.rand.nextInt(1) == 0) { + int r = world.rand.nextInt(4); + if(r == 0) world.setBlock(x + width, y + 2, z, ModBlocks.stone_keyhole_meta, 4, 3); + if(r == 1) world.setBlock(x - width, y + 2, z, ModBlocks.stone_keyhole_meta, 5, 3); + if(r == 2) world.setBlock(x, y + 2, z + width, ModBlocks.stone_keyhole_meta, 2, 3); + if(r == 3) world.setBlock(x, y + 2, z - width, ModBlocks.stone_keyhole_meta, 3, 3); + } + for(int i = -width + 1; i <= width - 1; i++) { for(int j = -width + 1; j <= width - 1; j++) { //Floor and ceiling diff --git a/src/main/java/com/hbm/blocks/generic/BlockLanternBehemoth.java b/src/main/java/com/hbm/blocks/generic/BlockLanternBehemoth.java index 843a7c7b7..b89fc9660 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockLanternBehemoth.java +++ b/src/main/java/com/hbm/blocks/generic/BlockLanternBehemoth.java @@ -53,7 +53,7 @@ public class BlockLanternBehemoth extends BlockDummyable implements IToolable, I if(didRepair) { HbmPlayerProps data = HbmPlayerProps.getData(player); - data.reputation++; + if(data.reputation < 25) data.reputation++; } return didRepair; diff --git a/src/main/java/com/hbm/blocks/generic/BlockLightstone.java b/src/main/java/com/hbm/blocks/generic/BlockLightstone.java new file mode 100644 index 000000000..c055a50a3 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockLightstone.java @@ -0,0 +1,39 @@ +package com.hbm.blocks.generic; + +import com.hbm.blocks.BlockEnumMulti; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; + +public class BlockLightstone extends BlockEnumMulti { + + public BlockLightstone(Material mat, Class theEnum, boolean multiName, boolean multiTexture) { + super(mat, theEnum, multiName, multiTexture); + } + + protected IIcon[] topIcons; + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + + Enum[] enums = theEnum.getEnumConstants(); + this.icons = new IIcon[enums.length]; + this.topIcons = new IIcon[enums.length]; + + for(int i = 0; i < icons.length; i++) { + Enum num = enums[i]; + this.icons[i] = reg.registerIcon(this.getTextureMultiName(num)); + if(i >= 3) this.topIcons[i] = reg.registerIcon(this.getTextureMultiName(num) + ".top"); + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return (side == 0 || side == 1) && this.topIcons[meta % this.icons.length] != null ? this.topIcons[meta % this.icons.length] : this.icons[meta % this.icons.length]; + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockModDoor.java b/src/main/java/com/hbm/blocks/generic/BlockModDoor.java index b0ccc6634..233f8da71 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockModDoor.java +++ b/src/main/java/com/hbm/blocks/generic/BlockModDoor.java @@ -4,6 +4,7 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; +import com.hbm.world.gen.INBTTransformable; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -20,7 +21,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -public class BlockModDoor extends Block { +public class BlockModDoor extends Block implements INBTTransformable { @SideOnly(Side.CLIENT) private IIcon[] field_150017_a; @SideOnly(Side.CLIENT) @@ -234,7 +235,7 @@ public class BlockModDoor extends Block { } p_149727_1_.playSoundEffect(p_149727_2_, p_149727_3_, p_149727_4_, "hbm:block.openDoor", 1.0F, p_149727_1_.rand.nextFloat() * 0.1F + 0.9F); - + return true; } @@ -311,10 +312,10 @@ public class BlockModDoor extends Block { } public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - + if((p_149650_1_ & 8) != 0) return null; - + if (this == ModBlocks.door_metal) return ModItems.door_metal; else if (this == ModBlocks.door_office) @@ -396,4 +397,9 @@ public class BlockModDoor extends Block { p_149681_1_.setBlockToAir(p_149681_2_, p_149681_3_ - 1, p_149681_4_); } } -} + + @Override + public int transformMeta(int meta, int coordBaseMode) { + return INBTTransformable.transformMetaDoor(meta, coordBaseMode); + } +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/generic/BlockMotherOfAllOres.java b/src/main/java/com/hbm/blocks/generic/BlockMotherOfAllOres.java deleted file mode 100644 index bcccfe515..000000000 --- a/src/main/java/com/hbm/blocks/generic/BlockMotherOfAllOres.java +++ /dev/null @@ -1,319 +0,0 @@ -package com.hbm.blocks.generic; - -import java.awt.Color; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Random; - -import com.google.common.collect.HashBiMap; -import com.hbm.blocks.IBlockMultiPass; -import com.hbm.config.WorldConfig; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ModItems; -import com.hbm.lib.RefStrings; -import com.hbm.render.block.RenderBlockMultipass; -import com.hbm.util.ColorUtil; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.NetworkManager; -import net.minecraft.network.Packet; -import net.minecraft.network.play.server.S35PacketUpdateTileEntity; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.StatCollector; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.oredict.OreDictionary; - -public class BlockMotherOfAllOres extends BlockContainer implements IBlockMultiPass { - - public static int override = -1; - - public static void shuffleOverride(Random rand) { - override = rand.nextInt(uniqueItems.size()); - } - - public static void resetOverride() { - override = -1; - } - - public BlockMotherOfAllOres() { - super(Material.rock); - this.setBlockTextureName("stone"); - } - - @Override - public TileEntity createNewTileEntity(World world, int meta) { - return new TileEntityRandomOre(); - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubBlocks(Item item, CreativeTabs tab, List list) { - - for(int i = 0; i < uniqueItems.size(); i++) - list.add(new ItemStack(item, 1, i)); - } - - @Override - public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { - - TileEntity te = world.getTileEntity(x, y, z); - - if(te instanceof TileEntityRandomOre) { - TileEntityRandomOre ore = (TileEntityRandomOre) te; - return new ItemStack(this, 1, ore.getStackId()); - } - - return new ItemStack(ModItems.nothing); - } - - @Override - public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { - ArrayList ret = new ArrayList(); - - if(fortune == 0xFECE00) { - TileEntity te = world.getTileEntity(x, y, z); - - if(te instanceof TileEntityRandomOre) { - TileEntityRandomOre ore = (TileEntityRandomOre) te; - ComparableStack item = ore.getCompStack(); - ret.add(item.toStack()); - } - } - - return ret; - } - - - @Override - public void breakBlock(World world, int x, int y, int z, Block block, int meta) { - this.dropBlockAsItemWithChance(world, x, y, z, meta, 1, 0xFECE00); - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entity, ItemStack stack) { - ((TileEntityRandomOre)world.getTileEntity(x, y, z)).setItem(stack.getItemDamage()); - world.markBlockForUpdate(x, y, z); - } - - @Override - public int getRenderType(){ - return IBlockMultiPass.getRenderType(); - } - - @Override - public int getPasses() { - return 2; - } - - private IIcon[] overlays = new IIcon[10]; - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister reg) { - - this.blockIcon = reg.registerIcon("stone"); - for(int i = 0; i < overlays.length; i++) { - overlays[i] = reg.registerIcon(RefStrings.MODID + ":ore_random_" + (i + 1)); - } - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { - - if(RenderBlockMultipass.currentPass == 0) - return Blocks.stone.getIcon(0, 0); - - TileEntity te = world.getTileEntity(x, y, z); - - if(te instanceof TileEntityRandomOre) { - TileEntityRandomOre ore = (TileEntityRandomOre) te; - int index = ore.getStackId() % overlays.length; - return overlays[index]; - } - - return Blocks.stone.getIcon(0, 0); - } - - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta) { - - if(RenderBlockMultipass.currentPass == 0) - return Blocks.stone.getIcon(0, 0); - - int index = meta % overlays.length; - return overlays[index]; - } - - @Override - @SideOnly(Side.CLIENT) - public int colorMultiplier(IBlockAccess world, int x, int y, int z) { - - if(RenderBlockMultipass.currentPass == 0) - return 0xffffff; - - TileEntity te = world.getTileEntity(x, y, z); - - if(te instanceof TileEntityRandomOre) { - TileEntityRandomOre ore = (TileEntityRandomOre) te; - ItemStack stack = ore.getStack(); - int color = ColorUtil.getAverageColorFromStack(stack); - color = ColorUtil.amplifyColor(color); - - Color col = new Color(color); - int r = col.getRed(); - int g = col.getGreen(); - int b = col.getBlue(); - - float[] hsb = new Color(color).RGBtoHSB(r, g, b, new float[3]); - - if(hsb[1] > 0F && hsb[1] < 0.75F) - hsb[1] = 0.75F; - - color = Color.HSBtoRGB(hsb[0], hsb[1], hsb[2]); - - return color; - } - - return super.colorMultiplier(world, x, y, z); - } - - public static class TileEntityRandomOre extends TileEntity { - - private ComparableStack stack; - - public TileEntityRandomOre() { - if(override != -1) { - setItem(override); - } - } - - public void setItem(int id) { - ComparableStack comp = itemMap.get(id); - this.stack = comp != null ? ((ComparableStack) comp.copy()) : null; - - if(this.worldObj != null) - this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this); - } - - public int getStackId() { - return itemMap.inverse().get(getCompStack()); - } - - public ItemStack getStack() { - return getCompStack().toStack(); - } - - public ComparableStack getCompStack() { - - if(stack == null) { - int rand = worldObj.rand.nextInt(uniqueItems.size()); - stack = (ComparableStack) itemMap.get(rand).copy(); - this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this); - } - - return stack != null ? stack : new ComparableStack(ModItems.nothing); - } - - @Override - public boolean canUpdate() { - return false; - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - int key = nbt.getInteger("item"); - this.setItem(key); - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - - try { - Integer key = itemMap.inverse().get(getCompStack()); - nbt.setInteger("item", key != null ? key : 0); - } catch(Exception ex) { } - } - - @Override - public Packet getDescriptionPacket() { - NBTTagCompound nbt = new NBTTagCompound(); - this.writeToNBT(nbt); - return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); - } - - @Override - public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { - this.readFromNBT(pkt.func_148857_g()); - } - } - - public static class ItemRandomOreBlock extends ItemBlock { - - public ItemRandomOreBlock(Block block) { - super(block); - this.setHasSubtypes(true); - this.setMaxDamage(0); - } - - @Override - public String getItemStackDisplayName(ItemStack stack) { - ComparableStack comp = itemMap.get(stack.getItemDamage()); - ItemStack name = comp != null ? comp.toStack() : new ItemStack(ModItems.nothing); - if(name.getItemDamage() == OreDictionary.WILDCARD_VALUE) { - name.setItemDamage(0); - } - return StatCollector.translateToLocalFormatted(this.getUnlocalizedName() + ".name", name.getItem().getItemStackDisplayName(name)); - } - } - - public static HashSet uniqueItems = new HashSet(); - public static HashBiMap itemMap = HashBiMap.create(); - - public static void init() { - - if(WorldConfig.enableRandom) { - for(Object b : Block.blockRegistry.getKeys()) { - Block block = Block.getBlockFromName((String) b); - if(block != null && Item.getItemFromBlock(block) != null) - uniqueItems.add(new ComparableStack(block)); - } - - for(Object i : Item.itemRegistry.getKeys()) { - Item item = (Item) Item.itemRegistry.getObject((String) i); - uniqueItems.add(new ComparableStack(item)); - } - - for(String i : OreDictionary.getOreNames()) { - for(ItemStack stack : OreDictionary.getOres(i)) { - uniqueItems.add(new ComparableStack(stack)); - } - } - } else { - uniqueItems.add(new ComparableStack(ModItems.nothing)); - } - - int i = 0; - for(ComparableStack stack : uniqueItems) { - itemMap.put(i++, stack); - } - } -} diff --git a/src/main/java/com/hbm/blocks/generic/BlockMultiSlab.java b/src/main/java/com/hbm/blocks/generic/BlockMultiSlab.java index bcc38242d..1f4d3b59d 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockMultiSlab.java +++ b/src/main/java/com/hbm/blocks/generic/BlockMultiSlab.java @@ -35,13 +35,17 @@ public class BlockMultiSlab extends BlockSlab implements IStepTickReceiver { if(single == null) { for(int i = 0; i < slabMaterials.length; i++) { - recipeGen.add(new Object[] {slabMaterials[i], this, i}); + recipeGen.add(new Object[] {slabMaterials[i], 0, this, i}); } } - this.setBlockTextureName(RefStrings.MODID + ":concrete_smooth"); + this.setBlockTextureName(RefStrings.MODID + ":concrete"); } + public BlockMultiSlab(boolean b, Material mat) { + super(b, mat); + } + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int meta) { @@ -59,8 +63,9 @@ public class BlockMultiSlab extends BlockSlab implements IStepTickReceiver { protected ItemStack createStackedBlock(int meta) { return new ItemStack(Item.getItemFromBlock(single != null ? single : this), 2, (meta & 7) % slabMaterials.length); } - - @SideOnly(Side.CLIENT) + + @Override + @SideOnly(Side.CLIENT) public Item getItem(World world, int x, int y, int z) { return Item.getItemFromBlock(single != null ? single : this); } @@ -76,7 +81,8 @@ public class BlockMultiSlab extends BlockSlab implements IStepTickReceiver { public int getDamageValue(World world, int x, int y, int z) { return (super.getDamageValue(world, x, y, z) & 7) % slabMaterials.length; } - + + @Override @SideOnly(Side.CLIENT) public void getSubBlocks(Item item, CreativeTabs tab, List list) { diff --git a/src/main/java/com/hbm/blocks/generic/BlockMultiSlabMeta.java b/src/main/java/com/hbm/blocks/generic/BlockMultiSlabMeta.java new file mode 100644 index 000000000..f96c640fa --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockMultiSlabMeta.java @@ -0,0 +1,48 @@ +package com.hbm.blocks.generic; + +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.util.IIcon; + +public class BlockMultiSlabMeta extends BlockMultiSlab { + + public int[] metas; + + public BlockMultiSlabMeta(Block single, Material mat, Block[] slabMaterials, int...metas) { + super(single != null, mat); + this.single = single; + this.slabMaterials = slabMaterials; + this.metas = new int[slabMaterials.length]; //initialized to 0s + for(int i = 0; i < metas.length; i++) { + this.metas[i] = metas[i]; + } + + this.useNeighborBrightness = true; + + if(single == null) { + for(int i = 0; i < slabMaterials.length; i++) { + recipeGen.add(new Object[] {slabMaterials[i], metas[i], this, i}); + } + } + + this.setBlockTextureName(RefStrings.MODID + ":concrete"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + meta = (meta & 7) % slabMaterials.length; + Block block = slabMaterials[meta]; + return block.getIcon(side, metas[meta]); + } + + @Override + public String func_150002_b(int meta) { + meta = (meta & 7) % slabMaterials.length; + return super.func_150002_b(meta) + "." + metas[meta]; + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockNTMFlower.java b/src/main/java/com/hbm/blocks/generic/BlockNTMFlower.java index f9c84a96c..7717d7a88 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockNTMFlower.java +++ b/src/main/java/com/hbm/blocks/generic/BlockNTMFlower.java @@ -9,6 +9,8 @@ import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockDeadPlant.EnumDeadPlantType; import com.hbm.blocks.generic.BlockTallPlant.EnumTallFlower; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.IGrowable; import net.minecraft.block.material.Material; @@ -16,6 +18,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.ColorizerGrass; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; @@ -98,7 +101,7 @@ public class BlockNTMFlower extends BlockEnumMulti implements IPlantable, IGrowa public boolean renderAsNormalBlock() { return false; } - + @Override public int getRenderType() { return 1; @@ -198,6 +201,43 @@ public class BlockNTMFlower extends BlockEnumMulti implements IPlantable, IGrowa this.dropBlockAsItem(world, x, y, z, world.getBlockMetadata(x, y, z), 0); } + + + + @SideOnly(Side.CLIENT) + public int getRenderColor(int meta) + { + if (meta == 1 || meta == 3) { + return ColorizerGrass.getGrassColor(0.5D, 1.0D); + } else return 0xFFFFFF; + } + // if you need to make another tinted plant just throw the metadata value + // into the if statements above and below i really do not want to make this more + // complicated than it needs to be + + @SideOnly(Side.CLIENT) + public int colorMultiplier(IBlockAccess world, int x, int y, int z) + { + int l = 0; + int i1 = 0; + int j1 = 0; + + for (int k1 = -1; k1 <= 1; ++k1) + { + for (int l1 = -1; l1 <= 1; ++l1) + { + int i2 = world.getBiomeGenForCoords(x + l1, z + k1).getBiomeFoliageColor(x + l1, y, z + k1); + l += (i2 & 16711680) >> 16; + i1 += (i2 & 65280) >> 8; + j1 += i2 & 255; + } + } + int meta = world.getBlockMetadata(x, y, z); + if (meta == 1 || meta == 3) { + return ((l / 9 & 255) << 16 | (i1 / 9 & 255) << 8 | j1 / 9 & 255); + } else return 0xFFFFFF; + } + @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { } diff --git a/src/main/java/com/hbm/blocks/generic/BlockNTMTrapdoor.java b/src/main/java/com/hbm/blocks/generic/BlockNTMTrapdoor.java new file mode 100644 index 000000000..48afba69d --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockNTMTrapdoor.java @@ -0,0 +1,60 @@ +package com.hbm.blocks.generic; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockTrapDoor; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class BlockNTMTrapdoor extends BlockTrapDoor { + public BlockNTMTrapdoor(Material material) { + super(material); + } + + @Override + public boolean isLadder(IBlockAccess world, int x, int y, int z, EntityLivingBase entity) { + int meta = world.getBlockMetadata(x, y, z); + + // isOpen + if (!func_150118_d(meta)) + return false; + + Block blockBelow = world.getBlock(x, y - 1, z); + return blockBelow != null && blockBelow.isLadder(world, x, y - 1, z, entity); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + // Make the hitbox in-line with ladders, if relevant + if (isLadder(world, x, y, z, null)) { + int meta = world.getBlockMetadata(x, y, z); + float thickness = 0.125F; + + if ((meta & 3) == 0) + return AxisAlignedBB.getBoundingBox(x, y, z + 1F - thickness, x + 1F, y + 1F, z + 1F); + + if ((meta & 3) == 1) + return AxisAlignedBB.getBoundingBox(x, y, z, x + 1F, y + 1F, z + thickness); + + if ((meta & 3) == 2) + return AxisAlignedBB.getBoundingBox(x + 1F - thickness, y, z, x + 1F, y + 1F, z + 1F); + + if ((meta & 3) == 3) + return AxisAlignedBB.getBoundingBox(x, y, z, x + thickness, y + 1F, z + 1F); + } + + return super.getCollisionBoundingBoxFromPool(world, x, y, z); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + // The original code prevented manual operation of Material.iron trapdoors. This bypasses that behavior + int meta = world.getBlockMetadata(x, y, z); + world.setBlockMetadataWithNotify(x, y, z, meta ^ 4, 2); + world.playAuxSFXAtEntity(player, 1003, x, y, z, 0); + return true; + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockOre.java b/src/main/java/com/hbm/blocks/generic/BlockOre.java index 36cd4e00c..eda698874 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockOre.java +++ b/src/main/java/com/hbm/blocks/generic/BlockOre.java @@ -68,9 +68,6 @@ public class BlockOre extends Block { if(this == ModBlocks.ore_nether_fire) { return rand.nextInt(10) == 0 ? ModItems.ingot_phosphorus : ModItems.powder_fire; } - if(this == ModBlocks.block_meteor) { - return rand.nextInt(10) == 0 ? ModItems.plate_dalekanium : Item.getItemFromBlock(ModBlocks.block_meteor); - } if(this == ModBlocks.block_meteor_cobble) { return ModItems.fragment_meteorite; } diff --git a/src/main/java/com/hbm/blocks/generic/BlockOreBasalt.java b/src/main/java/com/hbm/blocks/generic/BlockOreBasalt.java index d650c0b95..ab11e8918 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockOreBasalt.java +++ b/src/main/java/com/hbm/blocks/generic/BlockOreBasalt.java @@ -1,32 +1,47 @@ package com.hbm.blocks.generic; +import java.util.ArrayList; import java.util.Locale; import java.util.Random; import com.hbm.blocks.BlockEnumMulti; import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; +import com.hbm.util.EnumUtil; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.init.Blocks; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; public class BlockOreBasalt extends BlockEnumMulti { + + protected IIcon[] topIcons; public BlockOreBasalt() { super(Material.rock, EnumBasaltOreType.class, true, true); } public static enum EnumBasaltOreType { - SULFUR, - FLUORITE, - ASBESTOS, - GEM, - MOLYSITE + SULFUR(ModItems.sulfur), + FLUORITE(ModItems.fluorite), + ASBESTOS(ModItems.ingot_asbestos), + GEM(ModItems.gem_volcanic), + MOLYSITE(ModItems.powder_molysite); + + public Item drop; + + private EnumBasaltOreType(Item drop) { + this.drop = drop; + if(drop == null) throw new IllegalStateException("EnumBasaltOreType initialized before ModItems!"); + } } public String getTextureMultiName(Enum num) { @@ -39,17 +54,8 @@ public class BlockOreBasalt extends BlockEnumMulti { @Override public Item getItemDropped(int meta, Random rand, int fortune) { - if(meta == EnumBasaltOreType.SULFUR.ordinal()) return ModItems.sulfur; - if(meta == EnumBasaltOreType.FLUORITE.ordinal()) return ModItems.fluorite; - if(meta == EnumBasaltOreType.ASBESTOS.ordinal()) return ModItems.ingot_asbestos; - if(meta == EnumBasaltOreType.GEM.ordinal()) return ModItems.gem_volcanic; - if(meta == EnumBasaltOreType.MOLYSITE.ordinal()) return ModItems.powder_molysite; - return super.getItemDropped(meta, rand, fortune); - } - - @Override - public int damageDropped(int meta) { - return 0; + EnumBasaltOreType type = EnumUtil.grabEnumSafely(EnumBasaltOreType.class, meta); + return type.drop; } @Override @@ -62,18 +68,38 @@ public class BlockOreBasalt extends BlockEnumMulti { } @Override - public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { - int meta = world.getBlockMetadata(x, y, z); - if(meta == EnumBasaltOreType.ASBESTOS.ordinal()) for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - if(world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ) == Blocks.air) { - world.setBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, ModBlocks.gas_asbestos); - } - } - } + public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { } //no more BUD outgassing for you, mister @Override public void dropBlockAsItemWithChance(World world, int x, int y, int z, int meta, float chance, int fortune) { if(meta == EnumBasaltOreType.ASBESTOS.ordinal()) world.setBlock(x, y, z, ModBlocks.gas_asbestos); super.dropBlockAsItemWithChance(world, x, y, z, meta, chance, fortune); } + + @Override + public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { + return ModBlocks.getDropsWithoutDamage(world, this, metadata, fortune); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + super.registerBlockIcons(reg); + + Enum[] enums = theEnum.getEnumConstants(); + this.topIcons = new IIcon[enums.length]; + + for(int i = 0; i < topIcons.length; i++) { + Enum num = enums[i]; + this.topIcons[i] = reg.registerIcon(this.getTextureMultiName(num) + "_top"); + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + if(side <= 1) return this.topIcons[meta % this.topIcons.length]; + return super.getIcon(side, meta); + } + } diff --git a/src/main/java/com/hbm/blocks/generic/BlockOutgas.java b/src/main/java/com/hbm/blocks/generic/BlockOutgas.java index ae6107817..9fe92c1b9 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockOutgas.java +++ b/src/main/java/com/hbm/blocks/generic/BlockOutgas.java @@ -103,7 +103,7 @@ public class BlockOutgas extends BlockOre { @Override public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { - if(onNeighbour) { + if(onNeighbour && world.rand.nextInt(3) == 0) { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { diff --git a/src/main/java/com/hbm/blocks/generic/BlockPedestal.java b/src/main/java/com/hbm/blocks/generic/BlockPedestal.java index 9f4ace30b..82a2b46bb 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockPedestal.java +++ b/src/main/java/com/hbm/blocks/generic/BlockPedestal.java @@ -1,6 +1,14 @@ package com.hbm.blocks.generic; +import java.util.List; + +import com.hbm.extprop.HbmPlayerProps; +import com.hbm.inventory.recipes.PedestalRecipes; +import com.hbm.inventory.recipes.PedestalRecipes.PedestalRecipe; import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.particle.helper.ExplosionSmallCreator; +import com.hbm.util.Compat; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; @@ -17,9 +25,11 @@ import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; public class BlockPedestal extends BlockContainer { @@ -49,41 +59,26 @@ public class BlockPedestal extends BlockContainer { public static int renderID = RenderingRegistry.getNextAvailableRenderId(); - @Override - public int getRenderType() { - return renderID; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { - return true; - } + @Override public int getRenderType() { return renderID; } + @Override public boolean isOpaqueCube() { return false; } + @Override public boolean renderAsNormalBlock() { return false; } + @Override @SideOnly(Side.CLIENT) public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { return true; } @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) return true; if(player.isSneaking()) return false; TileEntityPedestal pedestal = (TileEntityPedestal) world.getTileEntity(x, y, z); if(pedestal.item == null && player.getHeldItem() != null) { + if(world.isRemote) return true; pedestal.item = player.getHeldItem().copy(); player.inventory.mainInventory[player.inventory.currentItem] = null; pedestal.markDirty(); world.markBlockForUpdate(x, y, z); return true; } else if(pedestal.item != null && player.getHeldItem() == null) { + if(world.isRemote) return true; player.inventory.mainInventory[player.inventory.currentItem] = pedestal.item.copy(); pedestal.item = null; pedestal.markDirty(); @@ -108,14 +103,98 @@ public class BlockPedestal extends BlockContainer { super.breakBlock(world, x, y, z, block, meta); } + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block b) { + if(!world.isRemote) { + if(world.isBlockIndirectlyGettingPowered(x, y, z)) { + + TileEntityPedestal nw = castOrNull(Compat.getTileStandard(world, x + ForgeDirection.NORTH.offsetX * 2 + ForgeDirection.WEST.offsetX * 2, y, z + ForgeDirection.NORTH.offsetZ * 2 + ForgeDirection.WEST.offsetZ * 2)); + TileEntityPedestal n = castOrNull(Compat.getTileStandard(world, x + ForgeDirection.NORTH.offsetX * 3, y, z + ForgeDirection.NORTH.offsetZ * 3)); + TileEntityPedestal ne = castOrNull(Compat.getTileStandard(world, x + ForgeDirection.NORTH.offsetX * 2 + ForgeDirection.EAST.offsetX * 2, y, z + ForgeDirection.NORTH.offsetZ * 2 + ForgeDirection.EAST.offsetZ * 2)); + TileEntityPedestal w = castOrNull(Compat.getTileStandard(world, x + ForgeDirection.WEST.offsetX * 3, y, z + ForgeDirection.WEST.offsetZ * 3)); + TileEntityPedestal center = (TileEntityPedestal) world.getTileEntity(x, y, z); + TileEntityPedestal e = castOrNull(Compat.getTileStandard(world, x + ForgeDirection.EAST.offsetX * 3, y, z + ForgeDirection.EAST.offsetZ * 3)); + TileEntityPedestal sw = castOrNull(Compat.getTileStandard(world, x + ForgeDirection.SOUTH.offsetX * 2 + ForgeDirection.WEST.offsetX * 2, y, z + ForgeDirection.SOUTH.offsetZ * 2 + ForgeDirection.WEST.offsetZ * 2)); + TileEntityPedestal s = castOrNull(Compat.getTileStandard(world, x + ForgeDirection.SOUTH.offsetX * 3, y, z + ForgeDirection.SOUTH.offsetZ * 3)); + TileEntityPedestal se = castOrNull(Compat.getTileStandard(world, x + ForgeDirection.SOUTH.offsetX * 2 + ForgeDirection.EAST.offsetX * 2, y, z + ForgeDirection.SOUTH.offsetZ * 2 + ForgeDirection.EAST.offsetZ * 2)); + + TileEntityPedestal[] tileArray = new TileEntityPedestal[] {nw, n, ne, w, center, e, sw, s, se}; + List nearbyPlayers = world.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 1, z + 1).expand(20, 20, 20)); + + outer: for(PedestalRecipe recipe : PedestalRecipes.recipes) { + + /// EXTRA CONDITIONS /// + if(recipe.extra == recipe.extra.FULL_MOON) { + if(world.getCelestialAngle(0) < 0.35 || world.getCelestialAngle(0) > 0.65) continue; + if(world.provider.getMoonPhase(world.getWorldInfo().getWorldTime()) != 0) continue; + } + + if(recipe.extra == recipe.extra.NEW_MOON) { + if(world.getCelestialAngle(0) < 0.35 || world.getCelestialAngle(0) > 0.65) continue; + if(world.provider.getMoonPhase(world.getWorldInfo().getWorldTime()) != 4) continue; + } + + if(recipe.extra == recipe.extra.SUN) { + if(world.getCelestialAngle(0) > 0.15 && world.getCelestialAngle(0) < 0.85) continue; + } + + if(recipe.extra == recipe.extra.BAD_KARMA) { + boolean matches = false; + for(EntityPlayer player : nearbyPlayers) if(HbmPlayerProps.getData(player).reputation <= -10) { matches = true; break; } + if(!matches) continue; + } + + if(recipe.extra == recipe.extra.GOOD_KARMA) { + boolean matches = false; + for(EntityPlayer player : nearbyPlayers) if(HbmPlayerProps.getData(player).reputation >= 10) { matches = true; break; } + if(!matches) continue; + } + + /// CHECK ITEMS /// + for(int i = 0; i < 9; i++) { + ItemStack pedestal = tileArray[i] != null ? tileArray[i].item : null; + if(pedestal == null && recipe.input[i] != null) continue outer; + if(pedestal != null && recipe.input[i] == null) continue outer; + if(pedestal == null && recipe.input[i] == null) continue; + + if(!recipe.input[i].matchesRecipe(pedestal, true) || recipe.input[i].stacksize != pedestal.stackSize) continue outer; + } + + /// REMOVE ITEMS /// + for(int i = 0; i < 9; i++) { + if(i == 4) continue; + ItemStack pedestal = tileArray[i] != null ? tileArray[i].item : null; + if(pedestal == null && recipe.input[i] == null) continue; + tileArray[i].item = null; + tileArray[i].markDirty(); + world.markBlockForUpdate(tileArray[i].xCoord, tileArray[i].yCoord, tileArray[i].zCoord); + } + + /// PRODUCE RESULT /// + center.item = recipe.output.copy(); + center.markDirty(); + world.markBlockForUpdate(x, y, z); + ExplosionSmallCreator.composeEffect(world, x + 0.5, y + 1.5, z + 0.5, 10, 2.5F, 1F); + + List players = world.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(x + 0.5, y, z + 0.5, x + 0.5, y, z + 0.5).expand(50, 50, 50)); + for(EntityPlayer player : players) player.addStat(MainRegistry.statLegendary, 1); + + return; + } + } + } + } + + public static TileEntityPedestal castOrNull(TileEntity tile) { + if(tile instanceof TileEntityPedestal) return (TileEntityPedestal) tile; + return null; + } + public static class TileEntityPedestal extends TileEntity { public ItemStack item; - @Override - public boolean canUpdate() { - return false; - } + @Override public boolean canUpdate() { return false; } @Override public Packet getDescriptionPacket() { diff --git a/src/main/java/com/hbm/blocks/generic/BlockPipe.java b/src/main/java/com/hbm/blocks/generic/BlockPipe.java index a41d6cfdf..27eaf3b27 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockPipe.java +++ b/src/main/java/com/hbm/blocks/generic/BlockPipe.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.blocks.ITooltipProvider; import com.hbm.lib.RefStrings; +import com.hbm.world.gen.INBTTransformable; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; @@ -16,7 +17,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.world.World; -public class BlockPipe extends Block implements ITooltipProvider { +public class BlockPipe extends Block implements ITooltipProvider, INBTTransformable { @SideOnly(Side.CLIENT) private IIcon sideIcon; @@ -24,7 +25,7 @@ public class BlockPipe extends Block implements ITooltipProvider { public IIcon frameIcon; @SideOnly(Side.CLIENT) public IIcon meshIcon; - + private String sideString; public int rType = 0; //because registering either new renderer classes or making new block classes is a pain in the ass @@ -33,7 +34,7 @@ public class BlockPipe extends Block implements ITooltipProvider { this.sideString = tex; this.rType = rType; } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { @@ -42,7 +43,7 @@ public class BlockPipe extends Block implements ITooltipProvider { this.frameIcon = iconRegister.registerIcon(RefStrings.MODID + ":pipe_frame"); this.meshIcon = iconRegister.registerIcon(RefStrings.MODID + ":pipe_mesh"); } - + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { @@ -92,4 +93,10 @@ public class BlockPipe extends Block implements ITooltipProvider { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { list.add("Purely decorative"); } -} + + @Override + public int transformMeta(int meta, int coordBaseMode) { + return INBTTransformable.transformMetaPillar(meta, coordBaseMode); + } + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/generic/BlockPlushie.java b/src/main/java/com/hbm/blocks/generic/BlockPlushie.java index 80a739a0b..848065a84 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockPlushie.java +++ b/src/main/java/com/hbm/blocks/generic/BlockPlushie.java @@ -5,6 +5,8 @@ import java.util.Random; import com.hbm.blocks.IBlockMulti; import com.hbm.blocks.ITooltipProvider; +import com.hbm.world.gen.INBTTileEntityTransformable; +import com.hbm.world.gen.INBTTransformable; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -27,7 +29,7 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.StatCollector; import net.minecraft.world.World; -public class BlockPlushie extends BlockContainer implements IBlockMulti, ITooltipProvider { +public class BlockPlushie extends BlockContainer implements IBlockMulti, ITooltipProvider, INBTTransformable { public BlockPlushie() { super(Material.cloth); @@ -37,7 +39,7 @@ public class BlockPlushie extends BlockContainer implements IBlockMulti, IToolti @Override public boolean isOpaqueCube() { return false; } @Override public boolean renderAsNormalBlock() { return false; } @Override public Item getItemDropped(int i, Random rand, int j) { return null; } - + @Override public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { TileEntityPlushie entity = (TileEntityPlushie) world.getTileEntity(x, y, z); @@ -47,7 +49,7 @@ public class BlockPlushie extends BlockContainer implements IBlockMulti, IToolti @Override public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) { - + if(!player.capabilities.isCreativeMode) { harvesters.set(player); if(!world.isRemote) { @@ -63,7 +65,7 @@ public class BlockPlushie extends BlockContainer implements IBlockMulti, IToolti harvesters.set(null); } } - + @Override public void harvestBlock(World world, EntityPlayer player, int x, int y, int z, int meta) { player.addStat(StatList.mineBlockStatArray[getIdFromBlock(this)], 1); @@ -80,7 +82,7 @@ public class BlockPlushie extends BlockContainer implements IBlockMulti, IToolti public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { int meta = MathHelper.floor_double((double)((player.rotationYaw + 180.0F) * 16.0F / 360.0F) + 0.5D) & 15; world.setBlockMetadataWithNotify(x, y, z, meta, 2); - + TileEntityPlushie plushie = (TileEntityPlushie) world.getTileEntity(x, y, z); plushie.type = PlushieType.values()[Math.abs(stack.getItemDamage()) % PlushieType.values().length]; plushie.markDirty(); @@ -93,7 +95,7 @@ public class BlockPlushie extends BlockContainer implements IBlockMulti, IToolti @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - + if(world.isRemote) { TileEntityPlushie plushie = (TileEntityPlushie) world.getTileEntity(x, y, z); plushie.squishTimer = 11; @@ -104,8 +106,13 @@ public class BlockPlushie extends BlockContainer implements IBlockMulti, IToolti } } - public static class TileEntityPlushie extends TileEntity { - + @Override + public int transformMeta(int meta, int coordBaseMode) { + return (meta + coordBaseMode * 4) % 16; + } + + public static class TileEntityPlushie extends TileEntity implements INBTTileEntityTransformable { + public PlushieType type = PlushieType.NONE; public int squishTimer; @@ -120,7 +127,7 @@ public class BlockPlushie extends BlockContainer implements IBlockMulti, IToolti this.writeToNBT(nbt); return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); } - + @Override public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { this.readFromNBT(pkt.func_148857_g()); @@ -137,16 +144,22 @@ public class BlockPlushie extends BlockContainer implements IBlockMulti, IToolti super.writeToNBT(nbt); nbt.setByte("type", (byte) type.ordinal()); } + + @Override + public void transformTE(World world, int coordBaseMode) { + type = PlushieType.values()[world.rand.nextInt(PlushieType.values().length - 1) + 1]; + } } - + public static enum PlushieType { - NONE( "NONE", null), - YOMI( "Yomi", "Hi! Can I be your rabbit friend?"), - NUMBERNINE( "Number Nine", "None of y'all deserve coal."); + NONE( "NONE", null), + YOMI( "Yomi", "Hi! Can I be your rabbit friend?"), + NUMBERNINE( "Number Nine", "None of y'all deserve coal."), + POOH( "Winnie the Pooh", "Beloved children's character with no malicious intent."); public String label; public String inscription; - + private PlushieType(String label, String inscription) { this.label = label; this.inscription = inscription; diff --git a/src/main/java/com/hbm/blocks/generic/BlockRedBrickKeyhole.java b/src/main/java/com/hbm/blocks/generic/BlockRedBrickKeyhole.java new file mode 100644 index 000000000..bef78f2f2 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockRedBrickKeyhole.java @@ -0,0 +1,161 @@ +package com.hbm.blocks.generic; + +import java.util.List; +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockPedestal.TileEntityPedestal; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsRedRoom; +import com.hbm.items.ModItems; +import com.hbm.items.tool.ItemModDoor; +import com.hbm.lib.Library; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockPistonBase; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.IIcon; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.WeightedRandomChestContent; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockRedBrickKeyhole extends Block { + + protected IIcon iconFront; + protected IIcon iconTop; + + public BlockRedBrickKeyhole(Material material) { + super(material); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":stone_keyhole_meta"); + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":brick_red_top"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":brick_base"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return side == meta ? (side == 0 || side == 1 ? this.iconTop : this.iconFront) : this.blockIcon; + } + + @Override + public Item getItemDropped(int i, Random rand, int j) { + return null; + } + + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { + return new ItemStack(ModBlocks.brick_red); + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { + int l = BlockPistonBase.determineOrientation(world, x, y, z, player); + world.setBlockMetadataWithNotify(x, y, z, l, 2); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + + if(player.getHeldItem() != null) { + boolean cracked = player.getHeldItem().getItem() == ModItems.key_red_cracked; + if((player.getHeldItem().getItem() == ModItems.key_red || cracked) && side != 0 && side != 1) { + if(cracked) player.getHeldItem().stackSize--; + if(world.isRemote) return true; + ForgeDirection dir = ForgeDirection.getOrientation(side); + generateRoom(world, x - dir.offsetX * 4, y - 2, z - dir.offsetZ * 4, dir); + int b = 0; + if(side == 2) b = 1; + if(side == 5) b = 2; + if(side == 3) b = 3; + if(side == 4) b = 0; + ItemModDoor.placeDoorBlock(world, x, y - 1, z, b, ModBlocks.door_red); + world.playSoundAtEntity(player, "hbm:block.lockOpen", 1.0F, 1.0F); + player.triggerAchievement(MainRegistry.achRedRoom); + return true; + } + } + + return false; + } + + protected static void generateRoom(World world, int x, int y, int z, ForgeDirection dir) { + + int size = 9; + int height = 5; + int width = size / 2; + + //Outer Edges, top and bottom + for(int i = -width; i <= width; i++) { + world.setBlock(x + i, y, z + width, ModBlocks.brick_red, 6, 3); + world.setBlock(x + i, y, z - width, ModBlocks.brick_red, 6, 3); + world.setBlock(x + width, y, z + i, ModBlocks.brick_red, 6, 3); + world.setBlock(x - width, y, z + i, ModBlocks.brick_red, 6, 3); + world.setBlock(x + i, y + height - 1, z + width, ModBlocks.brick_red, 6, 3); + world.setBlock(x + i, y + height - 1, z - width, ModBlocks.brick_red, 6, 3); + world.setBlock(x + width, y + height - 1, z + i, ModBlocks.brick_red, 6, 3); + world.setBlock(x - width, y + height - 1, z + i, ModBlocks.brick_red, 6, 3); + } + + for(int i = 1; i <= height - 2; i++) { + //Outer edges, sides + world.setBlock(x + width, y + i, z + width, ModBlocks.brick_red, 6, 3); + world.setBlock(x + width, y + i, z - width, ModBlocks.brick_red, 6, 3); + world.setBlock(x - width, y + i, z + width, ModBlocks.brick_red, 6, 3); + world.setBlock(x - width, y + i, z - width, ModBlocks.brick_red, 6, 3); + + //Walls + for(int j = -width + 1; j <= width - 1; j++) { + if(dir != Library.POS_X) world.setBlock(x + width, y + i, z + j, ModBlocks.brick_red, 6, 3); + if(dir != Library.NEG_X) world.setBlock(x - width, y + i, z + j, ModBlocks.brick_red, 6, 3); + if(dir != Library.POS_Z) world.setBlock(x + j, y + i, z + width, ModBlocks.brick_red, 6, 3); + if(dir != Library.NEG_Z) world.setBlock(x + j, y + i, z - width, ModBlocks.brick_red, 6, 3); + } + } + + for(int i = -width + 1; i <= width - 1; i++) { + for(int j = -width + 1; j <= width - 1; j++) { + //Floor and ceiling + world.setBlock(x + i, y, z + j, ModBlocks.brick_red, 6, 3); + world.setBlock(x + i, y + height - 1, z + j, ModBlocks.brick_red, 6, 3); + + for(int k = 1; k <= height - 2; k++) { + world.setBlock(x + i, y + k, z + j, Blocks.air); + } + } + } + + spawnPedestalItem(world, x, y + 1, z, ItemPool.getPool(ItemPoolsRedRoom.POOL_BLACK_SLAB)); + if(world.rand.nextBoolean()) spawnPedestalItem(world, x + 2, y + 1, z, ItemPool.getPool(ItemPoolsRedRoom.POOL_BLACK_PART)); + if(world.rand.nextBoolean()) spawnPedestalItem(world, x - 2, y + 1, z, ItemPool.getPool(ItemPoolsRedRoom.POOL_BLACK_PART)); + if(world.rand.nextBoolean()) spawnPedestalItem(world, x, y + 1, z + 2, ItemPool.getPool(ItemPoolsRedRoom.POOL_BLACK_PART)); + if(world.rand.nextBoolean()) spawnPedestalItem(world, x, y + 1, z - 2, ItemPool.getPool(ItemPoolsRedRoom.POOL_BLACK_PART)); + + //Clear dropped items + List items = world.getEntitiesWithinAABB(EntityItem.class, AxisAlignedBB.getBoundingBox(x + 0.5, y, z + 0.5, x + 0.5, y + height, z + 0.5).expand(size / 2D, 0, size / 2D)); + for(EntityItem item : items) item.setDead(); + } + + public static void spawnPedestalItem(World world, int x, int y, int z, WeightedRandomChestContent[] pool) { + world.setBlock(x, y, z, ModBlocks.pedestal); + TileEntityPedestal pedestal = (TileEntityPedestal) world.getTileEntity(x, y, z); + pedestal.item = ItemPool.getStack(pool, world.rand).copy(); + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockReeds.java b/src/main/java/com/hbm/blocks/generic/BlockReeds.java index 77e620c63..5f5cf69fd 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockReeds.java +++ b/src/main/java/com/hbm/blocks/generic/BlockReeds.java @@ -11,6 +11,7 @@ import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.init.Blocks; +import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.IIcon; @@ -66,7 +67,7 @@ public class BlockReeds extends Block { @Override public Item getItemDropped(int meta, Random rand, int fortune) { - return null; + return Items.stick; } @Override diff --git a/src/main/java/com/hbm/blocks/generic/BlockResourceStone.java b/src/main/java/com/hbm/blocks/generic/BlockResourceStone.java index 7100843ab..0283ac38f 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockResourceStone.java +++ b/src/main/java/com/hbm/blocks/generic/BlockResourceStone.java @@ -1,10 +1,16 @@ package com.hbm.blocks.generic; +import java.util.ArrayList; + import com.hbm.blocks.BlockEnumMulti; import com.hbm.blocks.BlockEnums; import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.OreDictManager.DictFrame; +import com.hbm.items.ItemEnums.EnumChunkType; +import com.hbm.items.ModItems; import net.minecraft.block.material.Material; +import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class BlockResourceStone extends BlockEnumMulti { @@ -22,4 +28,16 @@ public class BlockResourceStone extends BlockEnumMulti { super.dropBlockAsItemWithChance(world, x, y, z, meta, chance, fortune); } + + @Override + public ArrayList getDrops(World world, int x, int y, int z, int meta, int fortune) { + + if(meta == BlockEnums.EnumStoneType.MALACHITE.ordinal()) { + ArrayList ret = new ArrayList(); + ret.add(DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.MALACHITE, 3 + fortune + world.rand.nextInt(fortune + 2))); + return ret; + } + + return super.getDrops(world, x, y, z, meta, fortune); + } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockSandbags.java b/src/main/java/com/hbm/blocks/generic/BlockSandbags.java new file mode 100644 index 000000000..9a1c70437 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockSandbags.java @@ -0,0 +1,84 @@ +package com.hbm.blocks.generic; + +import org.lwjgl.opengl.GL11; + +import com.hbm.render.block.ISBRHUniversal; +import com.hbm.render.util.RenderBlocksNT; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class BlockSandbags extends Block implements ISBRHUniversal { + + public BlockSandbags(Material mat) { + super(mat); + } + + @Override public int getRenderType() { return renderID; } + @Override public boolean isOpaqueCube() { return false; } + @Override public boolean renderAsNormalBlock() { return false; } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + setBlockBoundsBasedOnState(world, x, y, z); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + + @Override + @SideOnly(Side.CLIENT) + public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z) { + setBlockBoundsBasedOnState(world, x, y, z); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + + float min = 0.25F; + float max = 0.75F; + + Block nx = world.getBlock(x - 1, y, z); + Block px = world.getBlock(x + 1, y, z); + Block nz = world.getBlock(x, y, z - 1); + Block pz = world.getBlock(x, y, z + 1); + + float minX = (nx.isOpaqueCube() || nx.isNormalCube() || nx == this) ? 0F : min; + float minZ = (nz.isOpaqueCube() || nz.isNormalCube() || nz == this) ? 0F : min; + float maxX = (px.isOpaqueCube() || px.isNormalCube() || px == this) ? 1F : max; + float maxZ = (pz.isOpaqueCube() || pz.isNormalCube() || pz == this) ? 1F : max; + + this.setBlockBounds(minX, 0, minZ, maxX, 1, maxZ); + } + + @Override + public void renderInventoryBlock(Block block, int meta, int modelId, Object renderBlocks) { + + GL11.glPushMatrix(); + RenderBlocks renderer = (RenderBlocks) renderBlocks; + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderer.setRenderBounds(0.125D, 0D, 0.125D, 0.875D, 1D, 0.875D); + RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, Object renderBlocks) { + + RenderBlocksNT renderer = RenderBlocksNT.INSTANCE.setWorld(world); + renderer.setRenderBoundsFromBlock(block); + Tessellator tessellator = Tessellator.instance; + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + renderer.renderStandardBlock(block, x, y, z); + + return true; + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockScaffold.java b/src/main/java/com/hbm/blocks/generic/BlockScaffold.java index 64a2eb919..1f34d1d84 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockScaffold.java +++ b/src/main/java/com/hbm/blocks/generic/BlockScaffold.java @@ -16,6 +16,7 @@ import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; public class BlockScaffold extends BlockMulti { @@ -59,22 +60,34 @@ public class BlockScaffold extends BlockMulti { public IIcon getIcon(int side, int meta) { return this.icons[this.damageDropped(meta)]; } + + @Override + public int onBlockPlaced(World world, int x, int y, int z, int side, float fx, float fy, float fz, int meta) { + return side; + } @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { - int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + ForgeDirection placed = ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z)); int meta = stack.getItemDamage(); - - if(i % 2 == 0) { - world.setBlockMetadataWithNotify(x, y, z, meta, 2); + + if(placed == ForgeDirection.UP || placed == ForgeDirection.DOWN) { + int rot = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + if(rot % 2 == 0) { + world.setBlockMetadataWithNotify(x, y, z, meta, 2); + } else { + world.setBlockMetadataWithNotify(x, y, z, meta + 8, 2); + } + } else if(placed == ForgeDirection.NORTH || placed == ForgeDirection.SOUTH) { + world.setBlockMetadataWithNotify(x, y, z, meta + 4, 2); } else { - world.setBlockMetadataWithNotify(x, y, z, meta + 8, 2); + world.setBlockMetadataWithNotify(x, y, z, meta + 12, 2); } } @Override public int damageDropped(int meta) { - return rectify(meta) & 7; + return rectify(meta); } @Override @@ -83,27 +96,24 @@ public class BlockScaffold extends BlockMulti { } @Override - public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) { - int te = p_149719_1_.getBlockMetadata(p_149719_2_, p_149719_3_, p_149719_4_); + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + int meta = world.getBlockMetadata(x, y, z); float f = 0.0625F; - if((te & 8) != 0) + if(meta >= 12) { + this.setBlockBounds(0.0F, 2 * f, 0.0F, 1.0F, 14 * f, 1.0F); + } else if(meta >= 8) { this.setBlockBounds(2 * f, 0.0F, 0.0F, 14 * f, 1.0F, 1.0F); - else + } else if(meta >= 4) { + this.setBlockBounds(0.0F, 2 * f, 0.0F, 1.0F, 14 * f, 1.0F); + } else { this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f); + } } @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - - int te = world.getBlockMetadata(x, y, z); - float f = 0.0625F; - - if((te & 8) != 0) - this.setBlockBounds(2 * f, 0.0F, 0.0F, 14 * f, 1.0F, 1.0F); - else - this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f); - + setBlockBoundsBasedOnState(world, x, y, z); return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockSkeletonHolder.java b/src/main/java/com/hbm/blocks/generic/BlockSkeletonHolder.java new file mode 100644 index 000000000..289e0df8e --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockSkeletonHolder.java @@ -0,0 +1,115 @@ +package com.hbm.blocks.generic; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.play.server.S35PacketUpdateTileEntity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class BlockSkeletonHolder extends BlockContainer { + + public BlockSkeletonHolder() { + super(Material.rock); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntitySkeletonHolder(); + } + + @Override public int getRenderType() { return -1; } + @Override public boolean isOpaqueCube() { return false; } + @Override public boolean renderAsNormalBlock() { return false; } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + if(i == 0) world.setBlockMetadataWithNotify(x, y, z, 5, 2); + if(i == 1) world.setBlockMetadataWithNotify(x, y, z, 3, 2); + if(i == 2) world.setBlockMetadataWithNotify(x, y, z, 4, 2); + if(i == 3) world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } //I hope you change this shit to not be hardcoded because im not doing it + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(player.isSneaking()) return false; + + TileEntitySkeletonHolder pedestal = (TileEntitySkeletonHolder) world.getTileEntity(x, y, z); + + if(pedestal.item == null && player.getHeldItem() != null) { + if(world.isRemote) return true; + pedestal.item = player.getHeldItem().copy(); + player.inventory.mainInventory[player.inventory.currentItem] = null; + pedestal.markDirty(); + world.markBlockForUpdate(x, y, z); + return true; + } else if(pedestal.item != null && player.getHeldItem() == null) { + if(world.isRemote) return true; + player.inventory.mainInventory[player.inventory.currentItem] = pedestal.item.copy(); + pedestal.item = null; + pedestal.markDirty(); + world.markBlockForUpdate(x, y, z); + return true; + } + + return false; + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int meta) { + + if(!world.isRemote) { + TileEntitySkeletonHolder entity = (TileEntitySkeletonHolder) world.getTileEntity(x, y, z); + if(entity != null && entity.item != null) { + EntityItem item = new EntityItem(world, x + 0.5, y, z + 0.5, entity.item.copy()); + world.spawnEntityInWorld(item); + } + } + + super.breakBlock(world, x, y, z, block, meta); + } + + public static class TileEntitySkeletonHolder extends TileEntity { + + public ItemStack item; + + @Override public boolean canUpdate() { return false; } + + @Override + public Packet getDescriptionPacket() { + NBTTagCompound nbt = new NBTTagCompound(); + this.writeToNBT(nbt); + return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); + } + + @Override + public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { + this.readFromNBT(pkt.func_148857_g()); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.item = ItemStack.loadItemStackFromNBT(nbt.getCompoundTag("item")); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + if(this.item != null) { + NBTTagCompound stack = new NBTTagCompound(); + this.item.writeToNBT(stack); + nbt.setTag("item", stack); + } + } + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockSnowglobe.java b/src/main/java/com/hbm/blocks/generic/BlockSnowglobe.java index 68047bb3d..c6a4994f3 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockSnowglobe.java +++ b/src/main/java/com/hbm/blocks/generic/BlockSnowglobe.java @@ -12,7 +12,6 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; @@ -193,7 +192,7 @@ public class BlockSnowglobe extends BlockContainer implements IGUIProvider { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIScreenSnowglobe((TileEntitySnowglobe) world.getTileEntity(x, y, z)); } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockStalagmite.java b/src/main/java/com/hbm/blocks/generic/BlockStalagmite.java index f8beed00c..5db100280 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockStalagmite.java +++ b/src/main/java/com/hbm/blocks/generic/BlockStalagmite.java @@ -1,5 +1,6 @@ package com.hbm.blocks.generic; +import java.util.ArrayList; import java.util.Random; import com.hbm.blocks.BlockEnumMulti; @@ -10,6 +11,7 @@ import com.hbm.items.ModItems; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -45,11 +47,6 @@ public class BlockStalagmite extends BlockEnumMulti { return null; } - - @Override - public int damageDropped(int meta) { - return 0; - } public static int getMetaFromResource(int meta) { return meta; @@ -75,4 +72,10 @@ public class BlockStalagmite extends BlockEnumMulti { public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { return null; } + + @Override + public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { + return ModBlocks.getDropsWithoutDamage(world, this, metadata, fortune); + } + } diff --git a/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java b/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java index 718f26c54..5f0261791 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java +++ b/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java @@ -6,8 +6,10 @@ import java.util.List; import java.util.Random; import com.hbm.blocks.IBlockMulti; +import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ITooltipProvider; import com.hbm.blocks.ModBlocks; +import com.hbm.config.ServerConfig; import com.hbm.items.ModItems; import com.hbm.items.tool.ItemLock; import com.hbm.lib.RefStrings; @@ -38,8 +40,9 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent; -public class BlockStorageCrate extends BlockContainer implements IBlockMulti, ITooltipProvider { +public class BlockStorageCrate extends BlockContainer implements IBlockMulti, ILookOverlay, ITooltipProvider { @SideOnly(Side.CLIENT) private IIcon iconTop; @@ -100,64 +103,96 @@ public class BlockStorageCrate extends BlockContainer implements IBlockMulti, IT if(this == ModBlocks.safe) return new TileEntitySafe(); return null; } - + private static boolean dropInv = true; - + @Override public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { + if(!world.isRemote && !ServerConfig.CRATE_KEEP_CONTENTS.get()) { + dropInv = true; + if(!player.capabilities.isCreativeMode) { + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(this))); + } + TileEntity inv = world.getTileEntity(x, y, z); + if(inv instanceof TileEntityLockableBase) { + TileEntityLockableBase lockable = (TileEntityLockableBase) inv; + if(lockable.isLocked()) dropInv = false; + } + boolean flag = world.setBlockToAir(x, y, z); + dropInv = true; + return flag; + } + if(!player.capabilities.isCreativeMode && !world.isRemote && willHarvest) { - + ItemStack drop = new ItemStack(this); ISidedInventory inv = (ISidedInventory)world.getTileEntity(x, y, z); - + NBTTagCompound nbt = new NBTTagCompound(); - + if(inv != null) { - + for(int i = 0; i < inv.getSizeInventory(); i++) { - + ItemStack stack = inv.getStackInSlot(i); if(stack == null) continue; - + NBTTagCompound slot = new NBTTagCompound(); stack.writeToNBT(slot); nbt.setTag("slot" + i, slot); } } - + if(inv instanceof TileEntityLockableBase) { TileEntityLockableBase lockable = (TileEntityLockableBase) inv; - + if(lockable.isLocked()) { nbt.setInteger("lock", lockable.getPins()); nbt.setDouble("lockMod", lockable.getMod()); } } - + + if(inv instanceof TileEntityCrateBase) { + TileEntityCrateBase crate = (TileEntityCrateBase) inv; + // Saves memory and ensures consistency between crafted crates and mined ones + if (crate.hasSpiders) { + nbt.setBoolean("spiders", true); + } + } + if(!nbt.hasNoTags()) { drop.stackTagCompound = nbt; - + } + + if(inv instanceof TileEntityCrateBase) { + TileEntityCrateBase crate = (TileEntityCrateBase) inv; + if (crate.hasCustomInventoryName()) { + drop.setStackDisplayName(crate.getInventoryName()); + } + } + + if (drop.hasTagCompound()) { try { - byte[] abyte = CompressedStreamTools.compress(nbt); - + byte[] abyte = CompressedStreamTools.compress(drop.stackTagCompound); + if(abyte.length > 6000) { player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.RED + "Warning: Container NBT exceeds 6kB, contents will be ejected!")); world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(this))); return world.setBlockToAir(x, y, z); } - + } catch(IOException e) { } } - + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, drop)); } - + dropInv = false; boolean flag = world.setBlockToAir(x, y, z); dropInv = true; - + return flag; } @@ -172,6 +207,8 @@ public class BlockStorageCrate extends BlockContainer implements IBlockMulti, IT TileEntity entity = world.getTileEntity(x, y, z); if(entity instanceof TileEntityCrateBase && ((TileEntityCrateBase) entity).canAccess(player)) { FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); + TileEntityCrateBase crate = (TileEntityCrateBase) entity; + TileEntityCrateBase.spawnSpiders(player, world, crate); } return true; } else { @@ -181,24 +218,33 @@ public class BlockStorageCrate extends BlockContainer implements IBlockMulti, IT @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { - + ISidedInventory inv = (ISidedInventory)world.getTileEntity(x, y, z); - + if(inv != null && stack.hasTagCompound()) { - + for(int i = 0; i < inv.getSizeInventory(); i++) { inv.setInventorySlotContents(i, ItemStack.loadItemStackFromNBT(stack.stackTagCompound.getCompoundTag("slot" + i))); } - + if(inv instanceof TileEntityLockableBase) { TileEntityLockableBase lockable = (TileEntityLockableBase) inv; - + if(stack.stackTagCompound.hasKey("lock")) { lockable.setPins(stack.stackTagCompound.getInteger("lock")); lockable.setMod(stack.stackTagCompound.getDouble("lockMod")); lockable.lock(); } } + + if(inv instanceof TileEntityCrateBase) { + TileEntityCrateBase crate = (TileEntityCrateBase) inv; + crate.hasSpiders = stack.stackTagCompound.getBoolean("spiders"); + + if (stack.hasDisplayName()) { + crate.setCustomName(stack.getDisplayName()); + } + } } if(this != ModBlocks.safe) @@ -206,50 +252,42 @@ public class BlockStorageCrate extends BlockContainer implements IBlockMulti, IT int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - if(i == 0) { - world.setBlockMetadataWithNotify(x, y, z, 2, 2); - } - if(i == 1) { - world.setBlockMetadataWithNotify(x, y, z, 5, 2); - } - if(i == 2) { - world.setBlockMetadataWithNotify(x, y, z, 3, 2); - } - if(i == 3) { - world.setBlockMetadataWithNotify(x, y, z, 4, 2); - } + if(i == 0) world.setBlockMetadataWithNotify(x, y, z, 2, 2); + if(i == 1) world.setBlockMetadataWithNotify(x, y, z, 5, 2); + if(i == 2) world.setBlockMetadataWithNotify(x, y, z, 3, 2); + if(i == 3) world.setBlockMetadataWithNotify(x, y, z, 4, 2); } - + @Override public void breakBlock(World world, int x, int y, int z, Block block, int meta) { if(dropInv) { ISidedInventory sided = (ISidedInventory) world.getTileEntity(x, y, z); Random rand = world.rand; - + if(sided != null) { for(int i1 = 0; i1 < sided.getSizeInventory(); ++i1) { ItemStack itemstack = sided.getStackInSlot(i1); - + if(itemstack != null) { float f = rand.nextFloat() * 0.8F + 0.1F; float f1 = rand.nextFloat() * 0.8F + 0.1F; float f2 = rand.nextFloat() * 0.8F + 0.1F; - + while(itemstack.stackSize > 0) { int j1 = rand.nextInt(21) + 10; - + if(j1 > itemstack.stackSize) { j1 = itemstack.stackSize; } - + itemstack.stackSize -= j1; EntityItem entityitem = new EntityItem(world, x + f, y + f1, z + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); - + if(itemstack.hasTagCompound()) { entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); } - + float f3 = 0.05F; entityitem.motionX = (float) rand.nextGaussian() * f3; entityitem.motionY = (float) rand.nextGaussian() * f3 + 0.2F; @@ -258,7 +296,7 @@ public class BlockStorageCrate extends BlockContainer implements IBlockMulti, IT } } } - + world.func_147453_f(x, y, z, block); } } @@ -275,12 +313,12 @@ public class BlockStorageCrate extends BlockContainer implements IBlockMulti, IT public int getSubCount() { return 0; } - + @Override public boolean hasComparatorInputOverride() { return true; } - + @Override public int getComparatorInputOverride(World world, int x, int y, int z, int side) { return Container.calcRedstoneFromInventory((IInventory) world.getTileEntity(x, y, z)); @@ -289,31 +327,69 @@ public class BlockStorageCrate extends BlockContainer implements IBlockMulti, IT @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { if(stack.hasTagCompound()) { - + + if(stack.stackTagCompound.getBoolean("spiders")) { + if(stack.stackTagCompound.hasKey("lock")) { + list.add(EnumChatFormatting.RED + "This container is locked."); + } + list.add(EnumChatFormatting.GRAY + "" + EnumChatFormatting.ITALIC + "Skittering emanates from within..."); // lamo + return; + } + + if(stack.stackTagCompound.hasKey("lock")) { + list.add(EnumChatFormatting.RED + "This container is locked."); // Sorry people who want to see what's in it while it's locked... + + for(int i = 0; i < 104; i++) { + ItemStack content = ItemStack.loadItemStackFromNBT(stack.stackTagCompound.getCompoundTag("slot" + i)); + if(content != null) { + list.add(EnumChatFormatting.YELLOW + "It feels heavy..."); + return; + } + } + list.add(EnumChatFormatting.YELLOW + "It feels empty..."); + return; + } + List contents = new ArrayList(); int amount = 0; - - for(int i = 0; i < 100; i++) { //whatever the biggest container is, i can't be bothered to check + + for(int i = 0; i < 104; i++) { //whatever the biggest container is, i can't be bothered to check ItemStack content = ItemStack.loadItemStackFromNBT(stack.stackTagCompound.getCompoundTag("slot" + i)); - + if(content != null) { amount++; - + if(contents.size() < 10) { contents.add(EnumChatFormatting.AQUA + " - " + content.getDisplayName() + (content.stackSize > 1 ? (" x" + content.stackSize) : "")); } } } - + if(!contents.isEmpty()) { list.add(EnumChatFormatting.AQUA + "Contains:"); list.addAll(contents); amount -= contents.size(); - + if(amount > 0) { list.add(EnumChatFormatting.AQUA + "...and " + amount + " more."); } } } } + + @Override + public void printHook(RenderGameOverlayEvent.Pre event, World world, int x, int y, int z) { + + TileEntity te = world.getTileEntity(x, y, z); + + if (!(te instanceof IInventory)) + return; + + IInventory inv = (IInventory) te; + + if (!inv.hasCustomInventoryName()) + return; + + ILookOverlay.printGeneric(event, inv.getInventoryName(), 0xffff00, 0x404000, new ArrayList(0)); + } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockSupplyCrate.java b/src/main/java/com/hbm/blocks/generic/BlockSupplyCrate.java new file mode 100644 index 000000000..961032204 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockSupplyCrate.java @@ -0,0 +1,130 @@ +package com.hbm.blocks.generic; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import com.hbm.items.ModItems; + +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class BlockSupplyCrate extends BlockContainer { + + public BlockSupplyCrate(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntitySupplyCrate(); + } + + @Override public int getRenderType() { return BlockCanCrate.renderID; } + @Override public boolean isOpaqueCube() { return false; } + @Override public boolean renderAsNormalBlock() { return false; } + + @Override public Item getItemDropped(int i, Random rand, int j) { return null; } + + @Override + public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { + + if(!player.capabilities.isCreativeMode && !world.isRemote && willHarvest) { + + ItemStack drop = new ItemStack(this); + TileEntitySupplyCrate inv = (TileEntitySupplyCrate) world.getTileEntity(x, y, z); + NBTTagCompound nbt = new NBTTagCompound(); + + if(inv != null) { + for(int i = 0; i < inv.items.size(); i++) { + ItemStack stack = inv.items.get(i); + if(stack == null) continue; + NBTTagCompound slot = new NBTTagCompound(); + stack.writeToNBT(slot); + nbt.setTag("slot" + i, slot); + } + nbt.setInteger("amount", inv.items.size()); + } + + if(!nbt.hasNoTags()) drop.stackTagCompound = nbt; + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, drop)); + } + return world.setBlockToAir(x, y, z); + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { + + TileEntitySupplyCrate inv = (TileEntitySupplyCrate) world.getTileEntity(x, y, z); + + if(inv != null && stack.hasTagCompound()) { + int amount = stack.stackTagCompound.getInteger("amount"); + for(int i = 0; i < amount; i++) { + inv.items.add(ItemStack.loadItemStackFromNBT(stack.stackTagCompound.getCompoundTag("slot" + i))); + } + } + + super.onBlockPlacedBy(world, x, y, z, player, stack); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int p_149727_6_, float p_149727_7_, float p_149727_8_, float p_149727_9_) { + if(player.getHeldItem() != null && player.getHeldItem().getItem().equals(ModItems.crowbar)) { + if(!world.isRemote) { + dropContents(world, x, y, z); + world.func_147480_a(x, y, z, false); + world.playSoundEffect(x, y, z, "hbm:block.crateBreak", 0.5F, 1.0F); + } + return true; + } + return false; + } + + public void dropContents(World world, int x, int y, int z) { + TileEntity tile = world.getTileEntity(x, y, z); + if(tile instanceof TileEntitySupplyCrate) { + TileEntitySupplyCrate crate = (TileEntitySupplyCrate) tile; + + for(ItemStack item : crate.items) { + this.dropBlockAsItem(world, x, y, z, item); + } + } + } + + public static class TileEntitySupplyCrate extends TileEntity { + + public List items = new ArrayList(); + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + items.clear(); + NBTTagList list = nbt.getTagList("items", 10); + for(int i = 0; i < list.tagCount(); i++) { + NBTTagCompound nbt1 = list.getCompoundTagAt(i); + items.add(ItemStack.loadItemStackFromNBT(nbt1)); + } + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + NBTTagList list = new NBTTagList(); + for(int i = 0; i < items.size(); i++) { + NBTTagCompound nbt1 = new NBTTagCompound(); + items.get(i).writeToNBT(nbt1); + list.appendTag(nbt1); + } + nbt.setTag("items", list); + } + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockTallPlant.java b/src/main/java/com/hbm/blocks/generic/BlockTallPlant.java index f52da4c41..dc8be96d3 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockTallPlant.java +++ b/src/main/java/com/hbm/blocks/generic/BlockTallPlant.java @@ -24,6 +24,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.IIcon; +import net.minecraft.world.ColorizerGrass; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; @@ -300,6 +301,43 @@ public class BlockTallPlant extends BlockEnumMulti implements IPlantable, IGrowa return world.getBlockMetadata(x, y, z); } + @SideOnly(Side.CLIENT) + public int getRenderColor(int meta) + { + if (meta == 0 || meta == 8) { + return ColorizerGrass.getGrassColor(0.5D, 1.0D); + } else return 0xFFFFFF; + } + // if you need to make another tinted plant just throw the metadata value + // into the if statements above and below i really do not want to make this more + // complicated than it needs to be + // the second meta value is for the top of the plant + + @SideOnly(Side.CLIENT) + public int colorMultiplier(IBlockAccess world, int x, int y, int z) + { + int l = 0; + int i1 = 0; + int j1 = 0; + + for (int k1 = -1; k1 <= 1; ++k1) + { + for (int l1 = -1; l1 <= 1; ++l1) + { + int i2 = world.getBiomeGenForCoords(x + l1, z + k1).getBiomeFoliageColor(x + l1, y, z + k1); + l += (i2 & 16711680) >> 16; + i1 += (i2 & 65280) >> 8; + j1 += i2 & 255; + } + } + int meta = world.getBlockMetadata(x, y, z); + + if (meta == 0 || meta == 8) { + return ((l / 9 & 255) << 16 | (i1 / 9 & 255) << 8 | j1 / 9 & 255); + } else return 0xFFFFFF; + } + + @Override public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { diff --git a/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java b/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java index 46bb571e5..686bd9655 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java +++ b/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java @@ -13,9 +13,9 @@ import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.MetaBlock; import com.hbm.inventory.RecipesCommon.OreDictStack; -import com.hbm.util.I18nUtil; import com.hbm.util.InventoryUtil; import com.hbm.util.Tuple.Pair; +import com.hbm.util.i18n.I18nUtil; import api.hbm.block.IToolable; import cpw.mods.fml.relauncher.Side; diff --git a/src/main/java/com/hbm/blocks/generic/BlockTransission.java b/src/main/java/com/hbm/blocks/generic/BlockTransission.java deleted file mode 100644 index b17cf2308..000000000 --- a/src/main/java/com/hbm/blocks/generic/BlockTransission.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.hbm.blocks.generic; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.world.World; - -public class BlockTransission extends Block { - - public BlockTransission(Material mat) { - super(mat); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) { - return true; - - } else if(!player.isSneaking()) { - - if(side == 0) { - player.setPositionAndUpdate(x + 0.5, y + 1, z + 0.5); - } - if(side == 1) { - player.setPositionAndUpdate(x + 0.5, y - 2, z + 0.5); - } - return true; - } else { - return false; - } - } -} diff --git a/src/main/java/com/hbm/blocks/generic/BlockWand.java b/src/main/java/com/hbm/blocks/generic/BlockWand.java new file mode 100644 index 000000000..c25c390eb --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockWand.java @@ -0,0 +1,51 @@ +package com.hbm.blocks.generic; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class BlockWand extends Block { + + public final Block exportAs; + + public BlockWand(Block exportAs) { + super(Material.glass); + this.exportAs = exportAs; + setBlockBounds(1F/16F, 1F/16F, 1F/16F, 15F/16F, 15F/16F, 15F/16F); + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + return null; + } + + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + + @Override + public int getRenderType() { + return renderID; + } + + @SideOnly(Side.CLIENT) + public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { + Block block = world.getBlock(x, y, z); + + return block != this; + } + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/generic/BlockWandJigsaw.java b/src/main/java/com/hbm/blocks/generic/BlockWandJigsaw.java new file mode 100644 index 000000000..63076df31 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockWandJigsaw.java @@ -0,0 +1,390 @@ +package com.hbm.blocks.generic; + +import java.util.ArrayList; +import java.util.List; + +import org.lwjgl.input.Keyboard; + +import com.hbm.blocks.IBlockSideRotation; +import com.hbm.blocks.ILookOverlay; +import com.hbm.blocks.ModBlocks; +import com.hbm.interfaces.IControlReceiver; +import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.BufferUtil; +import com.hbm.util.i18n.I18nUtil; +import com.hbm.world.gen.INBTTransformable; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.BlockPistonBase; +import net.minecraft.block.material.Material; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.GuiTextField; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.inventory.Container; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; + +public class BlockWandJigsaw extends BlockContainer implements IBlockSideRotation, INBTTransformable, IGUIProvider, ILookOverlay { + + private IIcon iconTop; + private IIcon iconSide; + private IIcon iconBack; + + public BlockWandJigsaw() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityWandJigsaw(); + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { + int l = BlockPistonBase.determineOrientation(world, x, y, z, player); + world.setBlockMetadataWithNotify(x, y, z, l, 2); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":wand_jigsaw"); + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":wand_jigsaw_top"); + this.iconSide = iconRegister.registerIcon(RefStrings.MODID + ":wand_jigsaw_side"); + this.iconBack = iconRegister.registerIcon(RefStrings.MODID + ":wand_jigsaw_back"); + } + + @Override + public IIcon getIcon(int side, int meta) { + if(side == meta) return blockIcon; + if(IBlockSideRotation.isOpposite(side, meta)) return iconBack; + if(side <= 1) return iconTop; + if(side > 3 && meta <= 1) return iconTop; + return iconSide; + } + + @Override + public int getRotationFromSide(IBlockAccess world, int x, int y, int z, int side) { + if(side == 0) return IBlockSideRotation.topToBottom(getRotationFromSide(world, x, y, z, 1)); + + int meta = world.getBlockMetadata(x, y, z); + if(side == meta || IBlockSideRotation.isOpposite(side, meta)) return 0; + + // downwards facing has no changes, upwards flips anything not handled already + if(meta == 0) return 0; + if(meta == 1) return 3; + + // top (and bottom) is rotated fairly normally + if(side == 1) { + switch(meta) { + case 2: return 3; + case 3: return 0; + case 4: return 1; + case 5: return 2; + } + } + + // you know what I aint explaining further, it's a fucking mess here + if(meta == 2) return side == 4 ? 2 : 1; + if(meta == 3) return side == 4 ? 1 : 2; + if(meta == 4) return side == 2 ? 1 : 2; + if(meta == 5) return side == 2 ? 2 : 1; + + return 0; + } + + @Override + public int getRenderType() { + return IBlockSideRotation.getRenderType(); + } + + @Override + public int transformMeta(int meta, int coordBaseMode) { + return INBTTransformable.transformMetaDeco(meta, coordBaseMode); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + TileEntity te = world.getTileEntity(x, y, z); + + if(!(te instanceof TileEntityWandJigsaw)) return false; + + TileEntityWandJigsaw jigsaw = (TileEntityWandJigsaw) te; + + if(!player.isSneaking()) { + Block block = getBlock(world, player.getHeldItem()); + if(block == ModBlocks.wand_air) block = Blocks.air; + + if(block != null && block != ModBlocks.wand_jigsaw && block != ModBlocks.wand_loot) { + jigsaw.replaceBlock = block; + jigsaw.replaceMeta = player.getHeldItem().getItemDamage(); + + return true; + } + + if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.wand_s) return false; + + if(world.isRemote) FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); + + return true; + } + + return false; + } + + private Block getBlock(World world, ItemStack stack) { + if(stack == null) return null; + if(!(stack.getItem() instanceof ItemBlock)) return null; + + return ((ItemBlock) stack.getItem()).field_150939_a; + } + + @Override + @SideOnly(Side.CLIENT) + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GuiWandJigsaw((TileEntityWandJigsaw) world.getTileEntity(x, y, z)); + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return null; + } + + @Override + public void printHook(Pre event, World world, int x, int y, int z) { + TileEntity te = world.getTileEntity(x, y, z); + if(!(te instanceof TileEntityWandJigsaw)) return; + TileEntityWandJigsaw jigsaw = (TileEntityWandJigsaw) te; + + List text = new ArrayList(); + + text.add(EnumChatFormatting.GRAY + "Target pool: " + EnumChatFormatting.RESET + jigsaw.pool); + text.add(EnumChatFormatting.GRAY + "Name: " + EnumChatFormatting.RESET + jigsaw.name); + text.add(EnumChatFormatting.GRAY + "Target name: " + EnumChatFormatting.RESET + jigsaw.target); + text.add(EnumChatFormatting.GRAY + "Turns into: " + EnumChatFormatting.RESET + GameRegistry.findUniqueIdentifierFor(jigsaw.replaceBlock).toString()); + text.add(EnumChatFormatting.GRAY + " with meta: " + EnumChatFormatting.RESET + jigsaw.replaceMeta); + text.add(EnumChatFormatting.GRAY + "Selection/Placement priority: " + EnumChatFormatting.RESET + jigsaw.selectionPriority + "/" + jigsaw.placementPriority); + text.add(EnumChatFormatting.GRAY + "Joint type: " + EnumChatFormatting.RESET + (jigsaw.isRollable ? "Rollable" : "Aligned")); + + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } + + + public static class TileEntityWandJigsaw extends TileEntityLoadedBase implements IControlReceiver { + + private int selectionPriority = 0; // higher priority = this jigsaw block is selected first for generation + private int placementPriority = 0; // higher priority = children of this jigsaw block are checked for jigsaw blocks of their own and selected first + private String pool = "default"; + private String name = "default"; + private String target = "default"; + private Block replaceBlock = Blocks.air; + private int replaceMeta = 0; + private boolean isRollable = true; // sets joint type, rollable joints can be placed in any orientation for vertical jigsaw connections + + @Override + public void updateEntity() { + if(!worldObj.isRemote) { + networkPackNT(15); + } + } + + @Override + public void serialize(ByteBuf buf) { + buf.writeInt(selectionPriority); + buf.writeInt(placementPriority); + BufferUtil.writeString(buf, pool); + BufferUtil.writeString(buf, name); + BufferUtil.writeString(buf, target); + buf.writeInt(Block.getIdFromBlock(replaceBlock)); + buf.writeInt(replaceMeta); + buf.writeBoolean(isRollable); + } + + @Override + public void deserialize(ByteBuf buf) { + selectionPriority = buf.readInt(); + placementPriority = buf.readInt(); + pool = BufferUtil.readString(buf); + name = BufferUtil.readString(buf); + target = BufferUtil.readString(buf); + replaceBlock = Block.getBlockById(buf.readInt()); + replaceMeta = buf.readInt(); + isRollable = buf.readBoolean(); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setInteger("direction", this.getBlockMetadata()); + + nbt.setInteger("selection", selectionPriority); + nbt.setInteger("placement", placementPriority); + nbt.setString("pool", pool); + nbt.setString("name", name); + nbt.setString("target", target); + nbt.setString("block", GameRegistry.findUniqueIdentifierFor(replaceBlock).toString()); + nbt.setInteger("meta", replaceMeta); + nbt.setBoolean("roll", isRollable); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + selectionPriority = nbt.getInteger("selection"); + placementPriority = nbt.getInteger("placement"); + pool = nbt.getString("pool"); + name = nbt.getString("name"); + target = nbt.getString("target"); + replaceBlock = Block.getBlockFromName(nbt.getString("block")); + replaceMeta = nbt.getInteger("meta"); + isRollable = nbt.getBoolean("roll"); + } + + @Override + public boolean hasPermission(EntityPlayer player) { + return true; + } + + @Override + public void receiveControl(NBTTagCompound nbt) { + readFromNBT(nbt); + markDirty(); + } + + } + + public static class GuiWandJigsaw extends GuiScreen { + + private final TileEntityWandJigsaw jigsaw; + + private GuiTextField textPool; + private GuiTextField textName; + private GuiTextField textTarget; + + private GuiTextField textSelectionPriority; + private GuiTextField textPlacementPriority; + + private GuiButton jointToggle; + + public GuiWandJigsaw(TileEntityWandJigsaw jigsaw) { + this.jigsaw = jigsaw; + } + + @Override + public void initGui() { + Keyboard.enableRepeatEvents(true); + + textPool = new GuiTextField(fontRendererObj, this.width / 2 - 150, 50, 300, 20); + textPool.setText(jigsaw.pool); + + textName = new GuiTextField(fontRendererObj, this.width / 2 - 150, 100, 140, 20); + textName.setText(jigsaw.name); + + textTarget = new GuiTextField(fontRendererObj, this.width / 2 + 10, 100, 140, 20); + textTarget.setText(jigsaw.target); + + textSelectionPriority = new GuiTextField(fontRendererObj, this.width / 2 - 150, 150, 90, 20); + textSelectionPriority.setText("" + jigsaw.selectionPriority); + + textPlacementPriority = new GuiTextField(fontRendererObj, this.width / 2 - 40, 150, 90, 20); + textPlacementPriority.setText("" + jigsaw.placementPriority); + + jointToggle = new GuiButton(0, this.width / 2 + 60, 150, 90, 20, jigsaw.isRollable ? "Rollable" : "Aligned"); + } + + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) { + drawDefaultBackground(); + + drawString(fontRendererObj, "Target pool:", this.width / 2 - 150, 37, 0xA0A0A0); + textPool.drawTextBox(); + + drawString(fontRendererObj, "Name:", this.width / 2 - 150, 87, 0xA0A0A0); + textName.drawTextBox(); + + drawString(fontRendererObj, "Target name:", this.width / 2 + 10, 87, 0xA0A0A0); + textTarget.drawTextBox(); + + drawString(fontRendererObj, "Selection priority:", this.width / 2 - 150, 137, 0xA0A0A0); + textSelectionPriority.drawTextBox(); + + drawString(fontRendererObj, "Placement priority:", this.width / 2 - 40, 137, 0xA0A0A0); + textPlacementPriority.drawTextBox(); + + drawString(fontRendererObj, "Joint type:", this.width / 2 + 60, 137, 0xA0A0A0); + jointToggle.drawButton(mc, mouseX, mouseY); + + super.drawScreen(mouseX, mouseY, partialTicks); + } + + @Override + public void onGuiClosed() { + Keyboard.enableRepeatEvents(false); + + NBTTagCompound data = new NBTTagCompound(); + jigsaw.writeToNBT(data); + + data.setString("pool", textPool.getText()); + data.setString("name", textName.getText()); + data.setString("target", textTarget.getText()); + + try { data.setInteger("selection", Integer.parseInt(textSelectionPriority.getText())); } catch(Exception ex) {} + try { data.setInteger("placement", Integer.parseInt(textPlacementPriority.getText())); } catch(Exception ex) {} + + data.setBoolean("roll", jointToggle.displayString == "Rollable"); + + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, jigsaw.xCoord, jigsaw.yCoord, jigsaw.zCoord)); + } + + @Override + protected void keyTyped(char typedChar, int keyCode) { + super.keyTyped(typedChar, keyCode); + textPool.textboxKeyTyped(typedChar, keyCode); + textName.textboxKeyTyped(typedChar, keyCode); + textTarget.textboxKeyTyped(typedChar, keyCode); + textSelectionPriority.textboxKeyTyped(typedChar, keyCode); + textPlacementPriority.textboxKeyTyped(typedChar, keyCode); + } + + @Override + protected void mouseClicked(int mouseX, int mouseY, int mouseButton) { + super.mouseClicked(mouseX, mouseY, mouseButton); + textPool.mouseClicked(mouseX, mouseY, mouseButton); + textName.mouseClicked(mouseX, mouseY, mouseButton); + textTarget.mouseClicked(mouseX, mouseY, mouseButton); + textSelectionPriority.mouseClicked(mouseX, mouseY, mouseButton); + textPlacementPriority.mouseClicked(mouseX, mouseY, mouseButton); + + if(jointToggle.mousePressed(mc, mouseX, mouseY)) { + System.out.println("displayString: " + jointToggle.displayString); + jointToggle.displayString = jointToggle.displayString == "Rollable" ? "Aligned" : "Rollable"; + } + } + + } + +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockWandLogic.java b/src/main/java/com/hbm/blocks/generic/BlockWandLogic.java new file mode 100644 index 000000000..01d8df298 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockWandLogic.java @@ -0,0 +1,343 @@ +package com.hbm.blocks.generic; + +import api.hbm.block.IToolable; +import com.hbm.blocks.IBlockSideRotation; +import com.hbm.blocks.ILookOverlay; +import com.hbm.blocks.ITooltipProvider; +import com.hbm.blocks.ModBlocks; +import com.hbm.config.StructureConfig; +import com.hbm.interfaces.IBomb; +import com.hbm.interfaces.ICopiable; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.BufferUtil; +import com.hbm.util.i18n.I18nUtil; +import com.hbm.world.gen.util.LogicBlockActions; +import com.hbm.world.gen.INBTTileEntityTransformable; +import com.hbm.world.gen.util.LogicBlockConditions; +import com.hbm.world.gen.util.LogicBlockInteractions; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent; +import net.minecraftforge.common.util.ForgeDirection; + +import java.util.ArrayList; +import java.util.List; + +public class BlockWandLogic extends BlockContainer implements ILookOverlay, IToolable, ITooltipProvider, IBlockSideRotation, IBomb { + + @SideOnly(Side.CLIENT) protected IIcon iconTop; + + public BlockWandLogic() { + super(Material.iron); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":wand_logic"); + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":wand_logic_top"); + } + + @Override + public IIcon getIcon(int side, int meta) { + return (side <= 1) ? iconTop : blockIcon; + } + + @Override + public int getRotationFromSide(IBlockAccess world, int x, int y, int z, int side) { + if(side == 0) return IBlockSideRotation.topToBottom(world.getBlockMetadata(x, y, z)); + if(side == 1) return world.getBlockMetadata(x, y, z); + return 0; + } + + @Override + public int getRenderType() { + return IBlockSideRotation.getRenderType(); + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + + if (i == 0) world.setBlockMetadataWithNotify(x, y, z, 3, 2); + if (i == 1) world.setBlockMetadataWithNotify(x, y, z, 2, 2); + if (i == 2) world.setBlockMetadataWithNotify(x, y, z, 0, 2); + if (i == 3) world.setBlockMetadataWithNotify(x, y, z, 1, 2); + + ForgeDirection dir = ForgeDirection.UNKNOWN; + switch(i){ + case 0: dir = ForgeDirection.SOUTH;break; + case 1: dir = ForgeDirection.WEST; break; + case 2: dir = ForgeDirection.NORTH;break; + case 3: dir = ForgeDirection.EAST; break; + } + TileEntity te = world.getTileEntity(x, y, z); + if(te instanceof TileEntityWandLogic) + ((TileEntityWandLogic)te).placedRotation = dir.ordinal(); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float fX, float fY, float fZ) { + + ItemStack stack = player.getHeldItem(); + + if (stack != null && stack.getItem() instanceof ItemBlock && !player.isSneaking()) { + ItemBlock ib = (ItemBlock) stack.getItem(); + Block block = ib.field_150939_a; + + if (block.renderAsNormalBlock() && block != this) { + + TileEntity tile = world.getTileEntity(x, y, z); + + if(tile instanceof TileEntityWandLogic){ + TileEntityWandLogic logic = (TileEntityWandLogic) tile; + logic.disguise = block; + logic.disguiseMeta = stack.getItemDamage() & 15; + return true; + } + } + } + return super.onBlockActivated(world, x, y, z, player, side, fX, fY, fZ); + } + + @Override + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + TileEntity te = world.getTileEntity(x, y, z); + + if(!(te instanceof TileEntityWandLogic)) return false; + + TileEntityWandLogic logic = (TileEntityWandLogic) te; + + switch(tool) { + case SCREWDRIVER: + List actionNames = LogicBlockActions.getActionNames(); + int indexA = actionNames.indexOf(logic.actionID); + + indexA += player.isSneaking() ? -1 : 1; + indexA = MathHelper.clamp_int(indexA, 0, actionNames.size() - 1); + + logic.actionID = actionNames.get(indexA); + return true; + case DEFUSER: + List conditionNames = LogicBlockConditions.getConditionNames(); + int indexC = conditionNames.indexOf(logic.conditionID); + + indexC += player.isSneaking() ? -1 : 1; + indexC = MathHelper.clamp_int(indexC, 0, conditionNames.size() - 1); + + logic.conditionID = conditionNames.get(indexC); + + return true; + case HAND_DRILL: + List interactionNames = LogicBlockInteractions.getInteractionNames(); + int indexI = interactionNames.indexOf(logic.interactionID); + + indexI += player.isSneaking() ? -1 : 1; + indexI = MathHelper.clamp_int(indexI, 0, interactionNames.size() - 1); + + logic.interactionID = interactionNames.get(indexI); + + return true; + + default: return false; + } + } + + @Override + public void printHook(RenderGameOverlayEvent.Pre event, World world, int x, int y, int z) { + TileEntity te = world.getTileEntity(x, y, z); + + if(!(te instanceof TileEntityWandLogic)) return; + + TileEntityWandLogic logic = (TileEntityWandLogic) te; + + List text = new ArrayList<>(); + text.add("Action: " + logic.actionID); + text.add("Condition: " + logic.conditionID); + text.add("Interaction: " + (logic.interactionID != null ? logic.interactionID : "None")); + + String block; + + if(logic.disguise != null && logic.disguise != Blocks.air) + block = I18nUtil.resolveKey(logic.disguise.getUnlocalizedName() + ".name"); + else + block = "None"; + + text.add("Disguise Block: " + block); + + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + list.add(EnumChatFormatting.GOLD + "Use screwdriver to cycle forwards through the action list, shift click to go back"); + list.add(EnumChatFormatting.GOLD + "Use defuser to cycle forwards through the condition list, shift click to go back"); + list.add(EnumChatFormatting.GOLD + "Use hand drill to cycle forwards through the interaction list, shift click to go back"); + list.add(EnumChatFormatting.YELLOW + "Use a detonator to transform"); + } + + @Override + public TileEntity createNewTileEntity(World worldIn, int meta) { + return new TileEntityWandLogic(); + } + + @Override + public BombReturnCode explode(World world, int x, int y, int z) { + TileEntity te = world.getTileEntity(x, y, z); + + if(!(te instanceof TileEntityWandLogic)) return null; + + ((TileEntityWandLogic) te).triggerReplace = true; + + return BombReturnCode.TRIGGERED; + } + + public static class TileEntityWandLogic extends TileEntityLoadedBase implements INBTTileEntityTransformable, ICopiable { + private boolean triggerReplace; + + public int placedRotation; + + Block disguise; + int disguiseMeta = -1; + + public String actionID = "FODDER_WAVE"; + public String conditionID = "PLAYER_CUBE_5"; + public String interactionID; + + @Override + public void updateEntity() { + if(!worldObj.isRemote) { + if(triggerReplace) { + // On the first tick of this TE, replace with intended block and fill with loot + replace(); + } else { + networkPackNT(15); + } + } + } + + private void replace() { + if (!(worldObj.getBlock(xCoord, yCoord, zCoord) instanceof BlockWandLogic)) { + MainRegistry.logger.warn("Somehow the block at: " + xCoord + ", " + yCoord + ", " + zCoord + " isn't a logic block but we're doing a TE update as if it is, cancelling!"); + return; + } + worldObj.setBlock(xCoord,yCoord,zCoord, ModBlocks.logic_block); + + TileEntity te = worldObj.getTileEntity(xCoord, yCoord, zCoord); + + if(te == null || te instanceof BlockWandLoot.TileEntityWandLoot) { + MainRegistry.logger.warn("TE for logic block set incorrectly at: " + xCoord + ", " + yCoord + ", " + zCoord + ". If you're using some sort of world generation mod, report it to the author!"); + te = ModBlocks.wand_logic.createTileEntity(worldObj, 0); + worldObj.setTileEntity(xCoord, yCoord, zCoord, te); + } + + if(te instanceof LogicBlock.TileEntityLogicBlock){ + LogicBlock.TileEntityLogicBlock logic = (LogicBlock.TileEntityLogicBlock) te; + logic.actionID = actionID; + logic.conditionID = conditionID; + logic.interactionID = interactionID; + logic.direction = ForgeDirection.getOrientation(placedRotation); + logic.disguise = disguise; + logic.disguiseMeta = disguiseMeta; + } + + } + + @Override + public void transformTE(World world, int coordBaseMode) { + triggerReplace = !StructureConfig.debugStructures; + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setString("actionID", actionID); + nbt.setString("conditionID", conditionID); + nbt.setString("interactionID", interactionID); + nbt.setInteger("rotation", placedRotation); + if(disguise != null){ + nbt.setString("disguise", GameRegistry.findUniqueIdentifierFor(disguise).toString()); + nbt.setInteger("disguiseMeta", disguiseMeta); + } + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + actionID = nbt.getString("actionID"); + conditionID = nbt.getString("conditionID"); + interactionID = nbt.getString("interactionID"); + placedRotation = nbt.getInteger("rotation"); + if(nbt.hasKey("disguise")){ + disguise = Block.getBlockFromName(nbt.getString("disguise")); + disguiseMeta = nbt.getInteger("disguiseMeta"); + } + } + + @Override + public void serialize(ByteBuf buf) { + buf.writeInt(placedRotation); + BufferUtil.writeString(buf, actionID); + BufferUtil.writeString(buf, conditionID); + BufferUtil.writeString(buf, interactionID); + buf.writeInt(Block.getIdFromBlock(disguise)); + buf.writeInt(disguiseMeta); + } + + @Override + public void deserialize(ByteBuf buf) { + placedRotation = buf.readInt(); + actionID = BufferUtil.readString(buf); + conditionID = BufferUtil.readString(buf); + interactionID = BufferUtil.readString(buf); + disguise = Block.getBlockById(buf.readInt()); + disguiseMeta = buf.readInt(); + } + + @Override + public NBTTagCompound getSettings(World world, int x, int y, int z) { + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setString("actionID", actionID); + nbt.setString("conditionID", conditionID); + if(interactionID != null) + nbt.setString("interactionID", interactionID); + if(disguise != null){ + nbt.setString("disguise", GameRegistry.findUniqueIdentifierFor(disguise).toString()); + nbt.setInteger("disguiseMeta", disguiseMeta); + } + + return nbt; + } + + @Override + public void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + actionID = nbt.getString("actionID"); + conditionID = nbt.getString("conditionID"); + interactionID = nbt.getString("interactionID"); + if(nbt.hasKey("disguise")){ + disguise = Block.getBlockFromName(nbt.getString("disguise")); + disguiseMeta = nbt.getInteger("disguiseMeta"); + } + } + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockWandLoot.java b/src/main/java/com/hbm/blocks/generic/BlockWandLoot.java new file mode 100644 index 000000000..bf457843d --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockWandLoot.java @@ -0,0 +1,363 @@ +package com.hbm.blocks.generic; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.UUID; + +import com.hbm.blocks.IBlockSideRotation; +import com.hbm.blocks.ILookOverlay; +import com.hbm.blocks.ITooltipProvider; +import com.hbm.blocks.ModBlocks; +import com.hbm.config.StructureConfig; +import com.hbm.itempool.ItemPool; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.BufferUtil; +import com.hbm.util.LootGenerator; +import com.hbm.util.i18n.I18nUtil; +import com.hbm.world.gen.INBTTileEntityTransformable; +import com.mojang.authlib.GameProfile; + +import api.hbm.block.IToolable; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.ITileEntityProvider; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.util.WeightedRandomChestContent; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraft.world.WorldServer; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; +import net.minecraftforge.common.util.FakePlayer; +import net.minecraftforge.common.util.FakePlayerFactory; + +public class BlockWandLoot extends BlockContainer implements ILookOverlay, IToolable, ITooltipProvider, IBlockSideRotation { + + @SideOnly(Side.CLIENT) protected IIcon iconTop; + + public BlockWandLoot() { + super(Material.iron); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":wand_loot"); + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":wand_loot_top"); + } + + @Override + public IIcon getIcon(int side, int meta) { + return (side <= 1) ? iconTop : blockIcon; + } + + @Override + public int getRotationFromSide(IBlockAccess world, int x, int y, int z, int side) { + if(side == 0) return IBlockSideRotation.topToBottom(world.getBlockMetadata(x, y, z)); + if(side == 1) return world.getBlockMetadata(x, y, z); + return 0; + } + + @Override + public int getRenderType() { + return IBlockSideRotation.getRenderType(); + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + + if(i == 0) world.setBlockMetadataWithNotify(x, y, z, 3, 2); + if(i == 1) world.setBlockMetadataWithNotify(x, y, z, 2, 2); + if(i == 2) world.setBlockMetadataWithNotify(x, y, z, 0, 2); + if(i == 3) world.setBlockMetadataWithNotify(x, y, z, 1, 2); + + TileEntity te = world.getTileEntity(x, y, z); + if(!(te instanceof TileEntityWandLoot)) return; + ((TileEntityWandLoot) te).placedRotation = player.rotationYaw; + } + + @Override + public void printHook(Pre event, World world, int x, int y, int z) { + TileEntity te = world.getTileEntity(x, y, z); + + if(!(te instanceof TileEntityWandLoot)) return; + + TileEntityWandLoot loot = (TileEntityWandLoot) te; + + List text = new ArrayList(); + text.add("Will replace with: " + loot.replaceBlock.getUnlocalizedName()); + text.add(" meta: " + loot.replaceMeta); + text.add("Loot pool: " + loot.poolName); + if(loot.replaceBlock != ModBlocks.deco_loot) { + text.add("Minimum items: " + loot.minItems); + text.add("Maximum items: " + loot.maxItems); + } + + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } + + @SuppressWarnings({ "unchecked", "rawtypes" }) + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + list.add("Define loot crates/piles in .nbt structures"); + list.add(EnumChatFormatting.GOLD + "Use screwdriver to increase/decrease minimum loot"); + list.add(EnumChatFormatting.GOLD + "Use hand drill to increase/decrease maximum loot"); + list.add(EnumChatFormatting.GOLD + "Use defuser to cycle loot types"); + list.add(EnumChatFormatting.GOLD + "Use container block to set the block that spawns with loot inside"); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + TileEntity te = world.getTileEntity(x, y, z); + + if(!(te instanceof TileEntityWandLoot)) return false; + + TileEntityWandLoot loot = (TileEntityWandLoot) te; + + if(!player.isSneaking()) { + + Block block = getLootableBlock(world, player.getHeldItem()); + + if(block != null) { + loot.replaceBlock = block; + loot.replaceMeta = player.getHeldItem().getItemDamage(); + + List poolNames = loot.getPoolNames(block == ModBlocks.deco_loot); + if(!poolNames.contains(loot.poolName)) { + loot.poolName = poolNames.get(0); + } + + return true; + } + } + + return false; + } + + private Block getLootableBlock(World world, ItemStack stack) { + if(stack == null) return null; + + if(stack.getItem() instanceof ItemBlock) { + Block block = ((ItemBlock) stack.getItem()).field_150939_a; + + if(block == ModBlocks.deco_loot) return block; + + if(block instanceof ITileEntityProvider) { + TileEntity te = ((ITileEntityProvider) block).createNewTileEntity(world, 12); + if(te instanceof IInventory) return block; + } + } + + return null; + } + + @Override + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + TileEntity te = world.getTileEntity(x, y, z); + + if(!(te instanceof TileEntityWandLoot)) return false; + + TileEntityWandLoot loot = (TileEntityWandLoot) te; + + switch(tool) { + case SCREWDRIVER: + if(player.isSneaking()) { + loot.minItems--; + if(loot.minItems < 0) loot.minItems = 0; + } else { + loot.minItems++; + loot.maxItems = Math.max(loot.minItems, loot.maxItems); + } + + return true; + + case HAND_DRILL: + if(player.isSneaking()) { + loot.maxItems--; + if(loot.maxItems < 0) loot.maxItems = 0; + loot.minItems = Math.min(loot.minItems, loot.maxItems); + } else { + loot.maxItems++; + } + + return true; + + case DEFUSER: + List poolNames = loot.getPoolNames(loot.replaceBlock == ModBlocks.deco_loot); + int index = poolNames.indexOf(loot.poolName); + + index += player.isSneaking() ? -1 : 1; + index = MathHelper.clamp_int(index, 0, poolNames.size() - 1); + + loot.poolName = poolNames.get(index); + + return true; + + default: return false; + } + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityWandLoot(); + } + + public static class TileEntityWandLoot extends TileEntityLoadedBase implements INBTTileEntityTransformable { + + private boolean triggerReplace; + + private Block replaceBlock = ModBlocks.deco_loot; + private int replaceMeta; + + private String poolName = LootGenerator.LOOT_BOOKLET; + private int minItems; + private int maxItems = 1; + + private float placedRotation; + + private static final GameProfile FAKE_PROFILE = new GameProfile(UUID.fromString("839eb18c-50bc-400c-8291-9383f09763e7"), "[NTM]"); + private static FakePlayer fakePlayer; + + @Override + public void updateEntity() { + if(!worldObj.isRemote) { + if(triggerReplace) { + // On the first tick of this TE, replace with intended block and fill with loot + replace(); + } else { + networkPackNT(15); + } + } + } + + private void replace() { + if(!(worldObj.getBlock(xCoord, yCoord, zCoord) instanceof BlockWandLoot)) { + MainRegistry.logger.warn("Somehow the block at: " + xCoord + ", " + yCoord + ", " + zCoord + " isn't a loot block but we're doing a TE update as if it is, cancelling!"); + return; + } + + WeightedRandomChestContent[] pool = ItemPool.getPool(poolName); + + worldObj.setBlock(xCoord, yCoord, zCoord, replaceBlock, replaceMeta, 2); + + TileEntity te = worldObj.getTileEntity(xCoord, yCoord, zCoord); + + if(te == null || te instanceof TileEntityWandLoot) { + // Some generator has broken the TE->block relationship, which, honestly, rude. + // so we're just gonna hop in and force update the TE + + MainRegistry.logger.warn("TE set incorrectly at: " + xCoord + ", " + yCoord + ", " + zCoord + ". If you're using some sort of world generation mod, report it to the author!"); + + te = replaceBlock.createTileEntity(worldObj, replaceMeta); + worldObj.setTileEntity(xCoord, yCoord, zCoord, te); + } + + if(te instanceof IInventory) { + int count = minItems; + if(maxItems - minItems > 0) count += worldObj.rand.nextInt(maxItems - minItems); + WeightedRandomChestContent.generateChestContents(worldObj.rand, pool, (IInventory) te, count); + } else if(te instanceof BlockLoot.TileEntityLoot) { + LootGenerator.applyLoot(worldObj, xCoord, yCoord, zCoord, poolName); + } + + // Shouldn't happen but let's guard anyway, if it fails we just don't rotate the chest block correctly + if(!(worldObj instanceof WorldServer)) return; + + try { + if(fakePlayer == null || fakePlayer.worldObj != worldObj) { + fakePlayer = FakePlayerFactory.get((WorldServer)worldObj, FAKE_PROFILE); + } + + fakePlayer.rotationYaw = fakePlayer.rotationYawHead = placedRotation; + + ItemStack fakeStack = new ItemStack(replaceBlock, 1, replaceMeta); + + replaceBlock.onBlockPlacedBy(worldObj, xCoord, yCoord, zCoord, fakePlayer, fakeStack); + } catch(Exception ex) { + MainRegistry.logger.warn("Failed to correctly rotate loot block at: " + xCoord + ", " + yCoord + ", " + zCoord); + MainRegistry.logger.catching(ex); + } + } + + private List getPoolNames(boolean loot) { + if(loot) return Arrays.asList(LootGenerator.getLootNames()); + + List names = new ArrayList<>(); + names.addAll(ItemPool.pools.keySet()); + return names; + } + + @Override + public void transformTE(World world, int coordBaseMode) { + triggerReplace = !StructureConfig.debugStructures; + placedRotation = MathHelper.wrapAngleTo180_float(placedRotation + coordBaseMode * 90); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + Block writeBlock = replaceBlock == null ? ModBlocks.deco_loot : replaceBlock; + nbt.setString("block", GameRegistry.findUniqueIdentifierFor(writeBlock).toString()); + nbt.setInteger("meta", replaceMeta); + nbt.setInteger("min", minItems); + nbt.setInteger("max", maxItems); + nbt.setString("pool", poolName); + nbt.setFloat("rot", placedRotation); + + nbt.setBoolean("trigger", triggerReplace); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + replaceBlock = Block.getBlockFromName(nbt.getString("block")); + replaceMeta = nbt.getInteger("meta"); + minItems = nbt.getInteger("min"); + maxItems = nbt.getInteger("max"); + poolName = nbt.getString("pool"); + placedRotation = nbt.getFloat("rot"); + + if(replaceBlock == null) replaceBlock = ModBlocks.deco_loot; + + triggerReplace = nbt.getBoolean("trigger"); + } + + @Override + public void serialize(ByteBuf buf) { + buf.writeInt(Block.getIdFromBlock(replaceBlock)); + buf.writeInt(replaceMeta); + buf.writeInt(minItems); + buf.writeInt(maxItems); + BufferUtil.writeString(buf, poolName); + } + + @Override + public void deserialize(ByteBuf buf) { + replaceBlock = Block.getBlockById(buf.readInt()); + replaceMeta = buf.readInt(); + minItems = buf.readInt(); + maxItems = buf.readInt(); + poolName = BufferUtil.readString(buf); + } + + } + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/generic/BlockWoodStructure.java b/src/main/java/com/hbm/blocks/generic/BlockWoodStructure.java new file mode 100644 index 000000000..74fdb220a --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockWoodStructure.java @@ -0,0 +1,183 @@ +package com.hbm.blocks.generic; + +import java.util.List; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockEnumMulti; +import com.hbm.extprop.HbmPlayerProps; +import com.hbm.render.block.ISBRHUniversal; +import com.hbm.render.util.RenderBlocksNT; +import com.hbm.util.EnumUtil; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockWoodStructure extends BlockEnumMulti implements ISBRHUniversal { + + public BlockWoodStructure(Material mat) { + super(mat, EnumWoodStructure.class, true, false); + } + + public enum EnumWoodStructure { + ROOF, SCAFFOLD, CEILING + } + + @Override public int getRenderType() { return renderID; } + @Override public boolean isOpaqueCube() { return false; } + @Override public boolean renderAsNormalBlock() { return false; } + + @Override + @SideOnly(Side.CLIENT) + public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { + return true; + } + + @Override + public boolean isSideSolid(IBlockAccess world, int x, int y, int z, ForgeDirection side) { + EnumWoodStructure type = EnumUtil.grabEnumSafely(EnumWoodStructure.class, world.getBlockMetadata(x, y, z)); + if(type == type.SCAFFOLD && side == ForgeDirection.UP) return true; + return false; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + EnumWoodStructure type = EnumUtil.grabEnumSafely(EnumWoodStructure.class, world.getBlockMetadata(x, y, z)); + setBlockBounds(0, 0, 0, 1, 1, 1); + if(type == type.ROOF) setBlockBounds(0F, 0F, 0F, 1F, 0.1875F, 1F); + if(type == type.SCAFFOLD) setBlockBounds(0.0625F, 0F, 0.0625F, 1F - 0.0625F, 1F, 1F - 0.0625F); + if(type == type.CEILING) setBlockBounds(0F, 0.875F, 0F, 1F, 1F, 1F); + } + + @Override + public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB aabb, List list, Entity collider) { + setBlockBoundsBasedOnState(world, x, y, z); + super.addCollisionBoxesToList(world, x, y, z, aabb, list, collider); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + setBlockBoundsBasedOnState(world, x, y, z); + return super.getCollisionBoundingBoxFromPool(world, x, y, z); + } + + public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int i, int j, int k) { + int meta = world.getBlockMetadata(i, j, k); + EnumWoodStructure type = EnumUtil.grabEnumSafely(EnumWoodStructure.class, meta); + + if (type == type.SCAFFOLD) return AxisAlignedBB.getBoundingBox(i, j, k, i + 1, j + 1, k + 1); + + return super.getSelectedBoundingBoxFromPool(world, i, j, k); + } + + @Override + public void renderInventoryBlock(Block block, int meta, int modelId, Object renderBlocks) { + + GL11.glPushMatrix(); + RenderBlocks renderer = (RenderBlocks) renderBlocks; + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + + EnumWoodStructure type = EnumUtil.grabEnumSafely(EnumWoodStructure.class, meta); + + if(type == type.ROOF) { + GL11.glTranslatef(0F, 0.125F, 0F); + renderer.setRenderBounds(0D, 0D, 0D, 0.125D, 0.125D, 1D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + renderer.setRenderBounds(0.875D, 0D, 0D, 1D, 0.125D, 1D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + renderer.setRenderBounds(0D, 0.125D, 0.0625D, 1D, 0.1875D, 0.4375D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + renderer.setRenderBounds(0D, 0.125D, 0.5625D, 1D, 0.1875D, 0.9375D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + } + if(type == type.SCAFFOLD) { + renderer.setRenderBounds(0.0625D, 0D, 0.0625D, 0.1875D, 0.875D, 0.1875D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + renderer.setRenderBounds(0.8125D, 0D, 0.0625D, 0.9375D, 0.875D, 0.1875D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + renderer.setRenderBounds(0.0625D, 0D, 0.8125D, 0.1875D, 0.875D, 0.9375D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + renderer.setRenderBounds(0.8125D, 0D, 0.8125D, 0.9375D, 0.875D, 0.9375D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + renderer.setRenderBounds(0D, 0.125D, 0D, 0.0625D, 0.375D, 1D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + renderer.setRenderBounds(0.9375D, 0.125D, 0D, 1D, 0.375D, 1D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + renderer.setRenderBounds(0D, 0.5D, 0D, 1D, 0.75D, 0.0625D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + renderer.setRenderBounds(0D, 0.5D, 0.9375D, 1D, 0.75D, 1D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + renderer.setRenderBounds(0D, 0.875D, 0D, 1D, 1D, 1D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + } + if(type == type.CEILING) { + GL11.glTranslatef(0F, 0.625F, 0F); + renderer.setRenderBounds(0D, 0.0625D, 0D, 0.125D, 0.125D, 1D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + renderer.setRenderBounds(0.875D, 0.0625D, 0D, 1D, 0.125D, 1D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + renderer.setRenderBounds(0D, 0.125D, 0.0625D, 1D, 0.1875D, 0.4375D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + renderer.setRenderBounds(0D, 0.125D, 0.5625D, 1D, 0.1875D, 0.9375D); RenderBlocksNT.renderStandardInventoryBlock(block, meta, renderer); + } + + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, Object renderBlocks) { + + RenderBlocksNT renderer = RenderBlocksNT.INSTANCE.setWorld(world); + + Tessellator tessellator = Tessellator.instance; + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + + int meta = world.getBlockMetadata(x, y, z); + EnumWoodStructure type = EnumUtil.grabEnumSafely(EnumWoodStructure.class,meta); + + if(type == type.ROOF) { + boolean nx = world.getBlock(x - 1, y, z) == this && world.getBlockMetadata(x - 1, y, z) == meta; + boolean px = world.getBlock(x + 1, y, z) == this && world.getBlockMetadata(x + 1, y, z) == meta; + renderer.setRenderBounds(0D, 0D, 0D, 0.125D, 0.125D, 1D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0.875D, 0D, 0D, 1D, 0.125D, 1D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(nx ? 0D : 0.0625D, 0.125D, 0.0625D, px ? 1D : 0.9375D, 0.1875D, 0.4375D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(nx ? 0D : 0.0625D, 0.125D, 0.5625D, px ? 1D : 0.9375D, 0.1875D, 0.9375D); renderer.renderStandardBlock(block, x, y, z); + } + if(type == type.SCAFFOLD) { + boolean py = world.getBlock(x, y + 1, z) == this && world.getBlockMetadata(x, y + 1, z) == meta; + boolean nx = world.getBlock(x - 1, y, z) == this && world.getBlockMetadata(x - 1, y, z) == meta; + boolean nz = world.getBlock(x, y, z - 1) == this && world.getBlockMetadata(x, y, z - 1) == meta; + boolean px = world.getBlock(x + 1, y, z) == this && world.getBlockMetadata(x + 1, y, z) == meta; + boolean pz = world.getBlock(x, y, z + 1) == this && world.getBlockMetadata(x, y, z + 1) == meta; + renderer.setRenderBounds(0.0625D, 0D, 0.0625D, 0.1875D, py ? 1D : 0.875D, 0.1875D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0.8125D, 0D, 0.0625D, 0.9375D, py ? 1D : 0.875D, 0.1875D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0.0625D, 0D, 0.8125D, 0.1875D, py ? 1D : 0.875D, 0.9375D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0.8125D, 0D, 0.8125D, 0.9375D, py ? 1D : 0.875D, 0.9375D); renderer.renderStandardBlock(block, x, y, z); + + if(!nx) renderer.setRenderBounds(0D, 0.125D, 0D, 0.0625D, 0.375D, 1D); renderer.renderStandardBlock(block, x, y, z); + if(!px) renderer.setRenderBounds(0.9375D, 0.125D, 0D, 1D, 0.375D, 1D); renderer.renderStandardBlock(block, x, y, z); + if(!nz) renderer.setRenderBounds(0D, 0.5D, 0D, 1D, 0.75D, 0.0625D); renderer.renderStandardBlock(block, x, y, z); + if(!pz) renderer.setRenderBounds(0D, 0.5D, 0.9375D, 1D, 0.75D, 1D); renderer.renderStandardBlock(block, x, y, z); + + if(!py) renderer.setRenderBounds(0D, 0.875D, 0D, 1D, 1D, 1D); renderer.renderStandardBlock(block, x, y, z); + } + if(type == type.CEILING) { + renderer.setRenderBounds(0D, 0.875D, 0D, 0.125D, 0.9375D, 1D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0.875D, 0.875D, 0D, 1D, 0.9375D, 1D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0D, 0.9375D, 0.0625D, 1D, 1D, 0.4375D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0D, 0.9375D, 0.5625D, 1D, 1D, 0.9375D); renderer.renderStandardBlock(block, x, y, z); + } + + return true; + } + + @Override + public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) { + if (entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) entity; + + int meta = world.getBlockMetadata(x, y, z); + EnumWoodStructure type = EnumUtil.grabEnumSafely(EnumWoodStructure.class,meta); + if (type != type.SCAFFOLD) return; + + HbmPlayerProps props = HbmPlayerProps.getData(player); + props.isOnLadder = true; + } + } +} diff --git a/src/main/java/com/hbm/blocks/generic/DecoBlock.java b/src/main/java/com/hbm/blocks/generic/DecoBlock.java index 6d946cc3f..bf25850eb 100644 --- a/src/main/java/com/hbm/blocks/generic/DecoBlock.java +++ b/src/main/java/com/hbm/blocks/generic/DecoBlock.java @@ -1,14 +1,22 @@ package com.hbm.blocks.generic; +import java.util.ArrayList; +import java.util.List; import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.tileentity.deco.TileEntityDecoBlock; +import com.hbm.world.gen.INBTTransformable; +import api.hbm.block.IToolable; import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; @@ -17,138 +25,92 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -public class DecoBlock extends BlockContainer { - +public class DecoBlock extends BlockContainer implements IToolable, INBTTransformable { + Random rand = new Random(); public DecoBlock(Material p_i45386_1_) { super(p_i45386_1_); } + @Override + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + if(tool != ToolType.SCREWDRIVER) return false; + if(this != ModBlocks.steel_wall && this != ModBlocks.steel_corner) return false; + + int meta = world.getBlockMetadata(x, y, z); + + if(!player.isSneaking()) { + if(meta == 3) world.setBlockMetadataWithNotify(x, y, z, 4, 3); + else if(meta == 4) world.setBlockMetadataWithNotify(x, y, z, 2, 3); + else if(meta == 2) world.setBlockMetadataWithNotify(x, y, z, 5, 3); + else if(meta == 5) world.setBlockMetadataWithNotify(x, y, z, 3, 3); + } else { + if(meta == 3) world.setBlockMetadataWithNotify(x, y, z, 5, 3); + else if(meta == 4) world.setBlockMetadataWithNotify(x, y, z, 3, 3); + else if(meta == 2) world.setBlockMetadataWithNotify(x, y, z, 4, 3); + else if(meta == 5) world.setBlockMetadataWithNotify(x, y, z, 2, 3); + } + + return true; + } + + @Override @SideOnly(Side.CLIENT) public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { return true; } + @Override public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - if(this == ModBlocks.steel_scaffold || this == ModBlocks.steel_beam) return null; + if(this == ModBlocks.steel_scaffold || this == ModBlocks.steel_beam || this == ModBlocks.steel_wall || this == ModBlocks.steel_corner) return null; return new TileEntityDecoBlock(); } public static int renderIDBeam = RenderingRegistry.getNextAvailableRenderId(); - + public static int renderIDWall = RenderingRegistry.getNextAvailableRenderId(); + public static int renderIDCorner = RenderingRegistry.getNextAvailableRenderId(); + @Override public int getRenderType(){ - if(this == ModBlocks.steel_beam) - return renderIDBeam; - else - return -1; + if(this == ModBlocks.steel_wall) return renderIDWall; + if(this == ModBlocks.steel_corner) return renderIDCorner; + if(this == ModBlocks.steel_beam) return renderIDBeam; + return -1; } - + @Override public boolean isOpaqueCube() { return false; } - + @Override public boolean renderAsNormalBlock() { return false; } - + @Override public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { return Item.getItemFromBlock(this); } - + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - - if(i == 0) { - world.setBlockMetadataWithNotify(x, y, z, 3, 2); - } - if(i == 1) { - world.setBlockMetadataWithNotify(x, y, z, 4, 2); - } - if(i == 2) { - world.setBlockMetadataWithNotify(x, y, z, 2, 2); - } - if(i == 3) { - world.setBlockMetadataWithNotify(x, y, z, 5, 2); - } - } - - @Override - public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) { - int te = p_149719_1_.getBlockMetadata(p_149719_2_, p_149719_3_, p_149719_4_); - float f = 0.0625F; - if(this == ModBlocks.steel_wall) { - switch(te) { - case 4: - this.setBlockBounds(14 * f, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - break; - case 2: - this.setBlockBounds(0.0F, 0.0F, 14 * f, 1.0F, 1.0F, 1.0F); - break; - case 5: - this.setBlockBounds(0.0F, 0.0F, 0.0F, 2 * f, 1.0F, 1.0F); - break; - case 3: - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 2 * f); - break; - } - } - - if(this == ModBlocks.steel_corner) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - } - - if(this == ModBlocks.steel_roof) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1 * f, 1.0F); - } - - if(this == ModBlocks.steel_beam) { - this.setBlockBounds(7 * f, 0.0F, 7 * f, 9 * f, 1.0F, 9 * f); - } - - if(this == ModBlocks.steel_scaffold) { - this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f); - switch(te) { - case 4: - this.setBlockBounds(2 * f, 0.0F, 0.0F, 14 * f, 1.0F, 1.0F); - break; - case 2: - this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f); - break; - case 5: - this.setBlockBounds(2 * f, 0.0F, 0.0F, 14 * f, 1.0F, 1.0F); - break; - case 3: - this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f); - break; - } - } - - // this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + if(i == 0) world.setBlockMetadataWithNotify(x, y, z, 3, 2); + if(i == 1) world.setBlockMetadataWithNotify(x, y, z, 4, 2); + if(i == 2) world.setBlockMetadataWithNotify(x, y, z, 2, 2); + if(i == 3) world.setBlockMetadataWithNotify(x, y, z, 5, 2); } @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { int te = world.getBlockMetadata(x, y, z); float f = 0.0625F; if(this == ModBlocks.steel_wall) { switch(te) { - case 4: - this.setBlockBounds(14 * f, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - break; - case 2: - this.setBlockBounds(0.0F, 0.0F, 14 * f, 1.0F, 1.0F, 1.0F); - break; - case 5: - this.setBlockBounds(0.0F, 0.0F, 0.0F, 2 * f, 1.0F, 1.0F); - break; - case 3: - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 2 * f); - break; + case 4: this.setBlockBounds(14 * f, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); break; + case 2: this.setBlockBounds(0.0F, 0.0F, 14 * f, 1.0F, 1.0F, 1.0F); break; + case 5: this.setBlockBounds(0.0F, 0.0F, 0.0F, 2 * f, 1.0F, 1.0F); break; + case 3: this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 2 * f); break; } } @@ -167,21 +129,62 @@ public class DecoBlock extends BlockContainer { if(this == ModBlocks.steel_scaffold) { this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f); switch(te) { - case 4: - this.setBlockBounds(2 * f, 0.0F, 0.0F, 14 * f, 1.0F, 1.0F); - break; - case 2: - this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f); - break; - case 5: - this.setBlockBounds(2 * f, 0.0F, 0.0F, 14 * f, 1.0F, 1.0F); - break; - case 3: - this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f); - break; + case 4: this.setBlockBounds(2 * f, 0.0F, 0.0F, 14 * f, 1.0F, 1.0F); break; + case 2: this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f); break; + case 5: this.setBlockBounds(2 * f, 0.0F, 0.0F, 14 * f, 1.0F, 1.0F); break; + case 3: this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f); break; } } + } + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + this.setBlockBoundsBasedOnState(world, x, y, z); return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } -} + + @Override + public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB aabb, List list, Entity collider) { + + if(this == ModBlocks.steel_corner) { + int meta = world.getBlockMetadata(x, y, z); + List bbs = new ArrayList(); + + switch(meta) { + case 2: + bbs.add(AxisAlignedBB.getBoundingBox(x + 0.25D, y + 0D, z + 0.875D, x + 1D, y + 1D, z + 1D)); + bbs.add(AxisAlignedBB.getBoundingBox(x + 0D, y + 0D, z + 0.75D, x + 0.25D, y + 1D, z + 1D)); + bbs.add(AxisAlignedBB.getBoundingBox(x + 0D, y + 0D, z + 0D, x + 0.125D, y + 1D, z + 0.75D)); + break; + case 3: + bbs.add(AxisAlignedBB.getBoundingBox(x + 0D, y + 0D, z + 0D, x + 0.75D, y + 1D, z + 0.125D)); + bbs.add(AxisAlignedBB.getBoundingBox(x + 0.75D, y + 0D, z + 0D, x + 1D, y + 1D, z + 0.25D)); + bbs.add(AxisAlignedBB.getBoundingBox(x + 0.875D, y + 0D, z + 0.25D, x + 1D, y + 1D, z + 1D)); + break; + case 4: + bbs.add(AxisAlignedBB.getBoundingBox(x + 0.875D, y + 0D, z + 0D, x + 1D, y + 1D, z + 0.75D)); + bbs.add(AxisAlignedBB.getBoundingBox(x + 0.75D, y + 0D, z + 0.75D, x + 1D, y + 1D, z + 1D)); + bbs.add(AxisAlignedBB.getBoundingBox(x + 0D, y + 0D, z + 0.875D, x + 0.75D, y + 1D, z + 1D)); + break; + case 5: + bbs.add(AxisAlignedBB.getBoundingBox(x + 0D, y + 0D, z + 0.25D, x + 0.125D, y + 1D, z + 1D)); + bbs.add(AxisAlignedBB.getBoundingBox(x + 0D, y + 0D, z + 0D, x + 0.25D, y + 1D, z + 0.25D)); + bbs.add(AxisAlignedBB.getBoundingBox(x + 0.25D, y + 0D, z + 0D, x + 1D, y + 1D, z + 0.125D)); + break; + } + + for(AxisAlignedBB bb : bbs) { + if(aabb.intersectsWith(bb)) { + list.add(bb); + } + } + } else { + super.addCollisionBoxesToList(world, x, y, z, aabb, list, collider); + } + } + + @Override + public int transformMeta(int meta, int coordBaseMode) { + return INBTTransformable.transformMetaDeco(meta, coordBaseMode); + } +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/generic/DecoBlockAlt.java b/src/main/java/com/hbm/blocks/generic/DecoBlockAlt.java index 4e7d7657f..980433dc0 100644 --- a/src/main/java/com/hbm/blocks/generic/DecoBlockAlt.java +++ b/src/main/java/com/hbm/blocks/generic/DecoBlockAlt.java @@ -1,14 +1,9 @@ package com.hbm.blocks.generic; -import java.util.Random; - import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; -import com.hbm.tileentity.deco.TileEntityDecoBlockAlt; import com.hbm.tileentity.deco.TileEntityDecoBlockAltF; -import com.hbm.tileentity.deco.TileEntityDecoBlockAltG; -import com.hbm.tileentity.deco.TileEntityDecoBlockAltW; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -17,7 +12,6 @@ import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; @@ -34,28 +28,14 @@ public class DecoBlockAlt extends BlockContainer { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { - //this.blockIcon = iconRegister.registerIcon("stone"); this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":code"); } @Override public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - if(this == ModBlocks.statue_elb) - return new TileEntityDecoBlockAlt(); - if(this == ModBlocks.statue_elb_g) - return new TileEntityDecoBlockAltG(); - if(this == ModBlocks.statue_elb_w) - return new TileEntityDecoBlockAltW(); - if(this == ModBlocks.statue_elb_f) - return new TileEntityDecoBlockAltF(); + if(this == ModBlocks.statue_elb_f) return new TileEntityDecoBlockAltF(); return null; } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) - { - return Item.getItemFromBlock(ModBlocks.statue_elb); - } @Override public int getRenderType(){ @@ -75,83 +55,34 @@ public class DecoBlockAlt extends BlockContainer { @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - - if(i == 0) - { + + if(i == 0) { world.setBlockMetadataWithNotify(x, y, z, 2, 2); } - if(i == 1) - { + if(i == 1) { world.setBlockMetadataWithNotify(x, y, z, 5, 2); } - if(i == 2) - { + if(i == 2) { world.setBlockMetadataWithNotify(x, y, z, 3, 2); } - if(i == 3) - { + if(i == 3) { world.setBlockMetadataWithNotify(x, y, z, 4, 2); } } @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) - { + if(world.isRemote) { return true; - } else if(!player.isSneaking()) - { - if(player.getCurrentEquippedItem() != null) - { - if(this == ModBlocks.statue_elb) - { - if(player.getCurrentEquippedItem().getItem() == ModItems.gun_revolver_cursed) - { - world.setBlock(x, y, z, ModBlocks.statue_elb_g, world.getBlockMetadata(x, y, z), 2); - - if (!player.capabilities.isCreativeMode) - { - --player.getCurrentEquippedItem().stackSize; - } - return true; - } + } else if(!player.isSneaking()) { + + if(player.getCurrentEquippedItem() != null) { + boolean cracked = player.getHeldItem().getItem() == ModItems.key_red_cracked; - if(player.getCurrentEquippedItem().getItem() == ModItems.watch) - { - world.setBlock(x, y, z, ModBlocks.statue_elb_w, world.getBlockMetadata(x, y, z), 2); - - if (!player.capabilities.isCreativeMode) - { - --player.getCurrentEquippedItem().stackSize; - } - return true; - } - } - if(this == ModBlocks.statue_elb_g) - { - if(player.getCurrentEquippedItem().getItem() == ModItems.watch) - { - world.setBlock(x, y, z, ModBlocks.statue_elb_f, world.getBlockMetadata(x, y, z), 2); - - if (!player.capabilities.isCreativeMode) - { - --player.getCurrentEquippedItem().stackSize; - } - return true; - } - } - if(this == ModBlocks.statue_elb_w) - { - if(player.getCurrentEquippedItem().getItem() == ModItems.gun_revolver_cursed) - { - world.setBlock(x, y, z, ModBlocks.statue_elb_f, world.getBlockMetadata(x, y, z), 2); - - if (!player.capabilities.isCreativeMode) - { - --player.getCurrentEquippedItem().stackSize; - } - return true; - } + if((player.getHeldItem().getItem() == ModItems.key_red || cracked)) { + if(cracked) player.getHeldItem().stackSize--; + world.func_147480_a(x, y, z, true); + return true; } } } @@ -159,17 +90,15 @@ public class DecoBlockAlt extends BlockContainer { } @Override - public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) - { - float f = 0.0625F; - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 8*f, 1.0F); - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - float f = 0.0625F; - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 8*f, 1.0F); - return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) { + float f = 0.0625F; + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 8 * f, 1.0F); } + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + float f = 0.0625F; + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 8 * f, 1.0F); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } } diff --git a/src/main/java/com/hbm/blocks/generic/DecoPoleSatelliteReceiver.java b/src/main/java/com/hbm/blocks/generic/DecoPoleSatelliteReceiver.java index 481236f78..109cabbc5 100644 --- a/src/main/java/com/hbm/blocks/generic/DecoPoleSatelliteReceiver.java +++ b/src/main/java/com/hbm/blocks/generic/DecoPoleSatelliteReceiver.java @@ -1,6 +1,7 @@ package com.hbm.blocks.generic; import com.hbm.tileentity.deco.TileEntityDecoPoleSatelliteReceiver; +import com.hbm.world.gen.INBTTransformable; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -10,7 +11,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -public class DecoPoleSatelliteReceiver extends BlockContainer { +public class DecoPoleSatelliteReceiver extends BlockContainer implements INBTTransformable { public DecoPoleSatelliteReceiver(Material p_i45386_1_) { super(p_i45386_1_); @@ -20,26 +21,26 @@ public class DecoPoleSatelliteReceiver extends BlockContainer { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityDecoPoleSatelliteReceiver(); } - + @Override public int getRenderType(){ return -1; } - + @Override public boolean isOpaqueCube() { return false; } - + @Override public boolean renderAsNormalBlock() { return false; } - + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - + if(i == 0) { world.setBlockMetadataWithNotify(x, y, z, 2, 2); @@ -58,4 +59,9 @@ public class DecoPoleSatelliteReceiver extends BlockContainer { } } -} + @Override + public int transformMeta(int meta, int coordBaseMode) { + return INBTTransformable.transformMetaDeco(meta, coordBaseMode); + } + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/generic/DecoTapeRecorder.java b/src/main/java/com/hbm/blocks/generic/DecoTapeRecorder.java index 6d94427e2..e7143aae6 100644 --- a/src/main/java/com/hbm/blocks/generic/DecoTapeRecorder.java +++ b/src/main/java/com/hbm/blocks/generic/DecoTapeRecorder.java @@ -1,5 +1,7 @@ package com.hbm.blocks.generic; +import com.hbm.world.gen.INBTTransformable; + import cpw.mods.fml.client.registry.RenderingRegistry; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -9,7 +11,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -public class DecoTapeRecorder extends BlockContainer { +public class DecoTapeRecorder extends BlockContainer implements INBTTransformable { public DecoTapeRecorder(Material p_i45386_1_) { super(p_i45386_1_); @@ -19,28 +21,28 @@ public class DecoTapeRecorder extends BlockContainer { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return null; } - + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); - + @Override public int getRenderType(){ return renderID; } - + @Override public boolean isOpaqueCube() { return false; } - + @Override public boolean renderAsNormalBlock() { return false; } - + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - + if(i == 0) { world.setBlockMetadataWithNotify(x, y, z, 2, 2); @@ -59,4 +61,9 @@ public class DecoTapeRecorder extends BlockContainer { } } -} + @Override + public int transformMeta(int meta, int coordBaseMode) { + return INBTTransformable.transformMetaDeco(meta, coordBaseMode); + } + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/generic/DungeonSpawner.java b/src/main/java/com/hbm/blocks/generic/DungeonSpawner.java new file mode 100644 index 000000000..4a6fc10d8 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/DungeonSpawner.java @@ -0,0 +1,137 @@ +package com.hbm.blocks.generic; + +import java.util.function.Consumer; +import java.util.function.Function; + +import com.hbm.blocks.generic.BlockSkeletonHolder.TileEntitySkeletonHolder; +import com.hbm.entity.mob.EntityUndeadSoldier; +import com.hbm.items.ItemEnums.EnumSecretType; +import com.hbm.items.ModItems; +import com.hbm.util.EnumUtil; +import com.hbm.util.Vec3NT; + +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; + +public class DungeonSpawner extends BlockContainer { + + public DungeonSpawner() { + super(Material.rock); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityDungeonSpawner(); + } + + public static class TileEntityDungeonSpawner extends TileEntity { + + public int phase = 0; + public int timer = 0; + public EnumSpawnerType type = EnumSpawnerType.ABERRATOR; + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + type.phase.accept(this); + if(type.phaseCondition.apply(this)) { + phase++; + timer = 0; + } else { + timer++; + } + } + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setInteger("phase", phase); + nbt.setByte("type", (byte) type.ordinal()); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.phase = nbt.getInteger("phase"); + this.type = EnumUtil.grabEnumSafely(EnumSpawnerType.class, nbt.getByte("type")); + } + } + + public static enum EnumSpawnerType { + + ABERRATOR(CON_ABERRATOR, PHASE_ABERRATOR); + + public Function phaseCondition; + public Consumer phase; + + private EnumSpawnerType(Function con, Consumer ph) { + this.phaseCondition = con; + this.phase = ph; + } + } + + public static Function CON_ABERRATOR = (tile) -> { + World world = tile.getWorldObj(); + if(world.difficultySetting.ordinal() == 0) return false; + int x = tile.xCoord; + int y = tile.yCoord; + int z = tile.zCoord; + if(tile.phase == 0) { + if(world.getTotalWorldTime() % 20 != 0) return false; + return !world.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y - 2, z + 1).expand(20, 10, 20)).isEmpty(); + } + if(tile.phase < 3) { + if(world.getTotalWorldTime() % 20 != 0 || tile.timer < 60) return false; + return world.getEntitiesWithinAABB(EntityUndeadSoldier.class, AxisAlignedBB.getBoundingBox(x, y, z, x - 2, y + 1, z + 1).expand(50, 20, 50)).isEmpty(); + } + return false; + }; + + public static Consumer PHASE_ABERRATOR = (tile) -> { + World world = tile.getWorldObj(); + int x = tile.xCoord; + int y = tile.yCoord; + int z = tile.zCoord; + if(tile.phase == 1 || tile.phase == 2) { + if(tile.timer == 0) { + Vec3NT vec = new Vec3NT(10, 0, 0); + for(int i = 0; i < 10; i++) { + EntityUndeadSoldier mob = new EntityUndeadSoldier(world); + for(int j = 0; j < 7; j++) { + mob.setPositionAndRotation(x + 0.5 + vec.xCoord, y - 5, z + 0.5 + vec.zCoord, i * 36F, 0); + if(mob.getCanSpawnHere()) { + mob.onSpawnWithEgg(null); + world.spawnEntityInWorld(mob); + break; + } + } + + vec.rotateAroundYDeg(36D); + } + } + } + if(tile.phase > 2) { + TileEntity te = world.getTileEntity(x, y + 18, z); + if(te instanceof TileEntitySkeletonHolder) { + TileEntitySkeletonHolder skeleton = (TileEntitySkeletonHolder) te; + if(world.rand.nextInt(5) == 0) { + skeleton.item = new ItemStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR.ordinal()); + } else { + skeleton.item = new ItemStack(ModItems.clay_tablet, 1, 1); + } + skeleton.markDirty(); + world.markBlockForUpdate(x, y + 18, z); + } + world.setBlock(x, y, z, Blocks.obsidian); + } + }; +} diff --git a/src/main/java/com/hbm/blocks/generic/LogicBlock.java b/src/main/java/com/hbm/blocks/generic/LogicBlock.java new file mode 100644 index 000000000..462755811 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/LogicBlock.java @@ -0,0 +1,162 @@ +package com.hbm.blocks.generic; + +import com.hbm.world.gen.util.LogicBlockActions; +import com.hbm.world.gen.util.LogicBlockConditions; +import com.hbm.world.gen.util.LogicBlockInteractions; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.play.server.S35PacketUpdateTileEntity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import java.util.function.Consumer; +import java.util.function.Function; + +public class LogicBlock extends BlockContainer { + + public LogicBlock() { + super(Material.rock); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new LogicBlock.TileEntityLogicBlock(); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + TileEntity tile = world.getTileEntity(x, y, z); + + if(tile instanceof LogicBlock.TileEntityLogicBlock){ + LogicBlock.TileEntityLogicBlock logicBlock = (LogicBlock.TileEntityLogicBlock) tile; + if(logicBlock.disguise != null){ + return logicBlock.disguise.getIcon(side, logicBlock.disguiseMeta); + } + } + + return super.getIcon(world, x, y, z, side); + } + + @Override + public boolean onBlockActivated(World worldIn, int x, int y, int z, EntityPlayer player, int side, float subX, float subY, float subZ) { + TileEntity te = worldIn.getTileEntity(x, y, z); + if(te instanceof LogicBlock.TileEntityLogicBlock && ((LogicBlock.TileEntityLogicBlock) te).interaction != null) { + ((LogicBlock.TileEntityLogicBlock) te).interaction.accept(new Object[]{worldIn, te, x, y, z, player, side, subX, subY, subZ}); + return true; + } + + return super.onBlockActivated(worldIn, x, y, z, player, side, subX, subY, subZ); + } + + public static class TileEntityLogicBlock extends TileEntity { + + //phase is incremented per condition check, timer counts since last condition check by default + public int phase = 0; + public int timer = 0; + + public Block disguise; + public int disguiseMeta; + + /**Actions always get called before conditions, use the phase and timer variables in order to control behavior via conditions*/ + public String conditionID = "PLAYER_CUBE_5"; + public String actionID = "FODDER_WAVE"; + /**Interactions are called on right click, and passes on the parameters of the right click to consumer*/ + public String interactionID; + + public Function condition; + public Consumer action; + /**Consists of world instance, TileEntity instance, three ints for coordinates, one int for block side, and player instance, in that order **/ + public Consumer interaction; + + public EntityPlayer player; + + public ForgeDirection direction = ForgeDirection.UNKNOWN; + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + if(action == null){ + action = LogicBlockActions.actions.get(actionID); + } + if(condition == null){ + condition = LogicBlockConditions.conditions.get(conditionID); + } + if(interaction == null && interactionID != null){ + interaction = LogicBlockInteractions.interactions.get(interactionID); + } + + if(action == null || condition == null){ + worldObj.setBlock(xCoord,yCoord,zCoord, Blocks.air); + return; + } + action.accept(this); + if(condition.apply(this)) { + phase++; + timer = 0; + } else { + timer++; + } + } + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setInteger("phase", phase); + + nbt.setString("actionID", actionID); + nbt.setString("conditionID", conditionID); + if(interactionID != null) + nbt.setString("interactionID", interactionID); + + nbt.setInteger("direction", direction.ordinal()); + if(disguise != null){ + nbt.setInteger("disguiseMeta", disguiseMeta); + nbt.setString("disguise", GameRegistry.findUniqueIdentifierFor(disguise).toString()); + } + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.phase = nbt.getInteger("phase"); + + this.actionID = nbt.getString("actionID"); + this.conditionID = nbt.getString("conditionID"); + if(nbt.hasKey("interactionID")) this.interactionID = nbt.getString("interactionID"); + + this.direction = ForgeDirection.getOrientation(nbt.getInteger("direction")); + + if(nbt.hasKey("disguise")){ + disguiseMeta = nbt.getInteger("disguiseMeta"); + disguise = Block.getBlockFromName(nbt.getString("disguise")); + } + } + + @Override + public Packet getDescriptionPacket() { + NBTTagCompound nbt = new NBTTagCompound(); + this.writeToNBT(nbt); + return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); + } + + @Override + public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { + this.readFromNBT(pkt.func_148857_g()); + } + } + +} diff --git a/src/main/java/com/hbm/blocks/generic/PartEmitter.java b/src/main/java/com/hbm/blocks/generic/PartEmitter.java index db823972c..8819280b1 100644 --- a/src/main/java/com/hbm/blocks/generic/PartEmitter.java +++ b/src/main/java/com/hbm/blocks/generic/PartEmitter.java @@ -3,8 +3,8 @@ package com.hbm.blocks.generic; import java.util.List; import com.hbm.blocks.ITooltipProvider; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.util.ParticleUtil; import api.hbm.block.IToolable; @@ -41,7 +41,7 @@ public class PartEmitter extends BlockContainer implements IToolable, ITooltipPr te.markDirty(); return true; } - + return false; } @@ -50,21 +50,21 @@ public class PartEmitter extends BlockContainer implements IToolable, ITooltipPr public static final int range = 150; public int effect = 0; public static final int effectCount = 4; - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { double x = xCoord + 0.5; double y = yCoord + 0.5; double z = zCoord + 0.5; NBTTagCompound data = new NBTTagCompound(); - + if(effect == 1) { ParticleUtil.spawnGasFlame(worldObj, xCoord + worldObj.rand.nextDouble(), yCoord + 4.5 + worldObj.rand.nextDouble(), zCoord + worldObj.rand.nextDouble(), worldObj.rand.nextGaussian() * 0.2, 0.1, worldObj.rand.nextGaussian() * 0.2); } - + if(effect == 2) { data.setString("type", "tower"); data.setFloat("lift", 5F); @@ -79,15 +79,15 @@ public class PartEmitter extends BlockContainer implements IToolable, ITooltipPr data.setFloat("base", 1F); data.setFloat("max", 10F); data.setInteger("life", 750 + worldObj.rand.nextInt(250)); - + x = xCoord + 0.5 + worldObj.rand.nextDouble() * 3 - 1.5; y = yCoord + 1; z = zCoord + 0.5 + worldObj.rand.nextDouble() * 3 - 1.5; - + } - + if(data.hasKey("type")) { - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); } } } @@ -98,7 +98,7 @@ public class PartEmitter extends BlockContainer implements IToolable, ITooltipPr this.writeToNBT(nbt); return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); } - + @Override public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { this.readFromNBT(pkt.func_148857_g()); @@ -121,4 +121,4 @@ public class PartEmitter extends BlockContainer implements IToolable, ITooltipPr public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { list.add(EnumChatFormatting.GOLD + "Use hand drill to cycle special effects"); } -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/blocks/generic/RedBarrel.java b/src/main/java/com/hbm/blocks/generic/RedBarrel.java index 857cb7b55..753e47b09 100644 --- a/src/main/java/com/hbm/blocks/generic/RedBarrel.java +++ b/src/main/java/com/hbm/blocks/generic/RedBarrel.java @@ -4,11 +4,11 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.bomb.BlockDetonatable; -import com.hbm.blocks.bomb.BlockTaint; import com.hbm.blocks.machine.BlockFluidBarrel; import com.hbm.entity.item.EntityTNTPrimedBase; import com.hbm.explosion.ExplosionThermo; +import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; @@ -68,7 +68,8 @@ public class RedBarrel extends BlockDetonatable { int a = rand.nextInt(9) - 4 + ix; int b = rand.nextInt(9) - 4 + iy; int c = rand.nextInt(9) - 4 + iz; - if(world.getBlock(a, b, c).isReplaceable(world, a, b, c) && BlockTaint.hasPosNeightbour(world, a, b, c)) { + Block block = world.getBlock(a, b, c); + if(block.isNormalCube() && !block.isAir(world, a, b, c)) { world.setBlock(a, b, c, ModBlocks.taint, rand.nextInt(3) + 4, 2); } } diff --git a/src/main/java/com/hbm/blocks/machine/BlockArmorTable.java b/src/main/java/com/hbm/blocks/machine/BlockArmorTable.java index ef92cb244..62146fc24 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockArmorTable.java +++ b/src/main/java/com/hbm/blocks/machine/BlockArmorTable.java @@ -11,7 +11,6 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; @@ -65,7 +64,7 @@ public class BlockArmorTable extends Block implements IGUIProvider { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIArmorTable(player.inventory); } diff --git a/src/main/java/com/hbm/blocks/machine/BlockCMFlux.java b/src/main/java/com/hbm/blocks/machine/BlockCMFlux.java index 85f0d4725..6773ec560 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockCMFlux.java +++ b/src/main/java/com/hbm/blocks/machine/BlockCMFlux.java @@ -2,8 +2,9 @@ package com.hbm.blocks.machine; import net.minecraft.block.material.Material; -public class BlockCMFlux extends BlockPillar{ - public BlockCMFlux(Material mat, String top) { - super(mat, top); - } +public class BlockCMFlux extends BlockPillar { + + public BlockCMFlux(Material mat, String top) { + super(mat, top); + } } diff --git a/src/main/java/com/hbm/blocks/machine/BlockCMHeat.java b/src/main/java/com/hbm/blocks/machine/BlockCMHeat.java index f339fbb48..a43b35be2 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockCMHeat.java +++ b/src/main/java/com/hbm/blocks/machine/BlockCMHeat.java @@ -2,8 +2,9 @@ package com.hbm.blocks.machine; import net.minecraft.block.material.Material; -public class BlockCMHeat extends BlockPillar{ - public BlockCMHeat(Material mat, String top) { - super(mat, top); - } +public class BlockCMHeat extends BlockPillar { + + public BlockCMHeat(Material mat, String top) { + super(mat, top); + } } diff --git a/src/main/java/com/hbm/blocks/machine/BlockHadronCoil.java b/src/main/java/com/hbm/blocks/machine/BlockHadronCoil.java index 1cb88488a..3e099e600 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockHadronCoil.java +++ b/src/main/java/com/hbm/blocks/machine/BlockHadronCoil.java @@ -7,7 +7,7 @@ import com.hbm.blocks.ITooltipProvider; import com.hbm.render.block.ct.CT; import com.hbm.render.block.ct.CTStitchReceiver; import com.hbm.render.block.ct.IBlockCT; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/hbm/blocks/machine/BlockHadronCooler.java b/src/main/java/com/hbm/blocks/machine/BlockHadronCooler.java index a242772e2..8c7e99373 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockHadronCooler.java +++ b/src/main/java/com/hbm/blocks/machine/BlockHadronCooler.java @@ -7,7 +7,7 @@ import org.lwjgl.input.Keyboard; import com.hbm.blocks.BlockMulti; import com.hbm.blocks.ITooltipProvider; import com.hbm.lib.RefStrings; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/hbm/blocks/machine/BlockHadronPower.java b/src/main/java/com/hbm/blocks/machine/BlockHadronPower.java index 66da679ba..6be4757cd 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockHadronPower.java +++ b/src/main/java/com/hbm/blocks/machine/BlockHadronPower.java @@ -6,7 +6,7 @@ import java.util.List; import com.hbm.blocks.ILookOverlay; import com.hbm.tileentity.machine.TileEntityHadronPower; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; diff --git a/src/main/java/com/hbm/blocks/machine/BlockICFLaserComponent.java b/src/main/java/com/hbm/blocks/machine/BlockICFLaserComponent.java index 5685fee9a..28161bb09 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockICFLaserComponent.java +++ b/src/main/java/com/hbm/blocks/machine/BlockICFLaserComponent.java @@ -2,7 +2,6 @@ package com.hbm.blocks.machine; import com.hbm.blocks.BlockEnumMulti; import com.hbm.lib.RefStrings; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.material.Material; @@ -10,7 +9,7 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; public class BlockICFLaserComponent extends BlockEnumMulti { - + protected IIcon[] iconsTop; public BlockICFLaserComponent() { @@ -20,7 +19,7 @@ public class BlockICFLaserComponent extends BlockEnumMulti { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister reg) { - + Enum[] enums = theEnum.getEnumConstants(); this.icons = new IIcon[enums.length]; this.iconsTop = new IIcon[enums.length]; @@ -33,7 +32,7 @@ public class BlockICFLaserComponent extends BlockEnumMulti { this.icons[5] = reg.registerIcon(RefStrings.MODID + ":icf_turbocharger"); this.iconsTop[4] = this.iconsTop[5] = reg.registerIcon(RefStrings.MODID + ":icf_capacitor_top"); } - + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int meta) { @@ -44,7 +43,7 @@ public class BlockICFLaserComponent extends BlockEnumMulti { public int getSubCount() { return EnumICFPart.values().length; } - + public static enum EnumICFPart { CASING, PORT, diff --git a/src/main/java/com/hbm/blocks/machine/BlockMachineBase.java b/src/main/java/com/hbm/blocks/machine/BlockMachineBase.java index 817914f5c..b5d111c13 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockMachineBase.java +++ b/src/main/java/com/hbm/blocks/machine/BlockMachineBase.java @@ -1,6 +1,7 @@ package com.hbm.blocks.machine; import com.hbm.main.MainRegistry; +import com.hbm.world.gen.INBTTransformable; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.Block; @@ -16,8 +17,8 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -public abstract class BlockMachineBase extends BlockContainer { - +public abstract class BlockMachineBase extends BlockContainer implements INBTTransformable { + int guiID = -1; protected boolean rotatable = false; @@ -25,13 +26,13 @@ public abstract class BlockMachineBase extends BlockContainer { super(mat); this.guiID = guiID; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - + if(guiID == -1) return false; - + if(world.isRemote) { return true; } else if(!player.isSneaking()) { @@ -41,9 +42,9 @@ public abstract class BlockMachineBase extends BlockContainer { return false; } } - + private static boolean keepInventory; - + @Override public void breakBlock(World world, int x, int y, int z, Block block, int meta) { @@ -96,18 +97,24 @@ public abstract class BlockMachineBase extends BlockContainer { super.breakBlock(world, x, y, z, block, meta); } - + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { - + if(!rotatable) return; - + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - + if(i == 0) world.setBlockMetadataWithNotify(x, y, z, 2, 2); if(i == 1) world.setBlockMetadataWithNotify(x, y, z, 5, 2); if(i == 2) world.setBlockMetadataWithNotify(x, y, z, 3, 2); if(i == 3) world.setBlockMetadataWithNotify(x, y, z, 4, 2); } -} + + @Override + public int transformMeta(int meta, int coordBaseMode) { + if(!rotatable) return meta; + return INBTTransformable.transformMetaDeco(meta, coordBaseMode); + } +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/machine/BlockPWR.java b/src/main/java/com/hbm/blocks/machine/BlockPWR.java index 06b650798..74e352923 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockPWR.java +++ b/src/main/java/com/hbm/blocks/machine/BlockPWR.java @@ -4,13 +4,16 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.lib.RefStrings; import com.hbm.render.block.ct.CT; import com.hbm.render.block.ct.CTStitchReceiver; import com.hbm.render.block.ct.IBlockCT; import com.hbm.tileentity.machine.TileEntityPWRController; -import api.hbm.fluid.IFluidConnector; +import api.hbm.fluidmk2.IFluidReceiverMK2; +import api.hbm.redstoneoverradio.IRORInteractive; +import api.hbm.redstoneoverradio.IRORValueProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -97,7 +100,7 @@ public class BlockPWR extends BlockContainer implements IBlockCT { super.breakBlock(world, x, y, z, block, meta); } - public static class TileEntityBlockPWR extends TileEntity implements IFluidConnector, ISidedInventory { + public static class TileEntityBlockPWR extends TileEntity implements IFluidReceiverMK2, ISidedInventory, IRORValueProvider, IRORInteractive { public Block block; public int coreX; @@ -189,15 +192,22 @@ public class BlockPWR extends BlockContainer implements IBlockCT { @Override public long getDemand(FluidType type, int pressure) { - if(this.getBlockMetadata() != 1) return 0; if(block == null) return 0; TileEntityPWRController controller = this.getCore(); if(controller != null) return controller.getDemand(type, pressure); - return 0; } + @Override + public FluidTank[] getAllTanks() { + if(this.getBlockMetadata() != 1) return FluidTank.EMPTY_ARRAY; + if(block == null) return FluidTank.EMPTY_ARRAY; + TileEntityPWRController controller = this.getCore(); + if(controller != null) return controller.getAllTanks(); + return FluidTank.EMPTY_ARRAY; + } + @Override public boolean canConnect(FluidType type, ForgeDirection dir) { return this.getBlockMetadata() == 1; @@ -329,5 +339,29 @@ public class BlockPWR extends BlockContainer implements IBlockCT { super.onChunkUnload(); this.isLoaded = false; } + + @Override + public String[] getFunctionInfo() { + if(this.getBlockMetadata() != 1) return new String[0]; + TileEntityPWRController controller = this.getCore(); + if(controller != null) return controller.getFunctionInfo(); + return new String[0]; + } + + @Override + public String provideRORValue(String name) { + if(this.getBlockMetadata() != 1) return ""; + TileEntityPWRController controller = this.getCore(); + if(controller != null) return controller.provideRORValue(name); + return ""; + } + + @Override + public String runRORFunction(String name, String[] params) { + if(this.getBlockMetadata() != 1) return ""; + TileEntityPWRController controller = this.getCore(); + if(controller != null) return controller.runRORFunction(name, params); + return ""; + } } } diff --git a/src/main/java/com/hbm/blocks/machine/BlockRefueler.java b/src/main/java/com/hbm/blocks/machine/BlockRefueler.java new file mode 100644 index 000000000..543e8963d --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/BlockRefueler.java @@ -0,0 +1,101 @@ +package com.hbm.blocks.machine; + +import com.hbm.inventory.fluid.FluidType; +import com.hbm.items.machine.IItemFluidIdentifier; +import com.hbm.tileentity.machine.TileEntityRefueler; + +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.ChatComponentTranslation; +import net.minecraft.util.ChatStyle; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class BlockRefueler extends BlockContainer { + + public BlockRefueler(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityRefueler(); + } + + @Override + public int getRenderType() { + return -1; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(!world.isRemote && !player.isSneaking()) { + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IItemFluidIdentifier) { + TileEntity te = world.getTileEntity(x, y, z); + + if(!(te instanceof TileEntityRefueler)) + return false; + + TileEntityRefueler refueler = (TileEntityRefueler) te; + FluidType type = ((IItemFluidIdentifier) player.getHeldItem().getItem()).getType(world, x, y, z, player.getHeldItem()); + refueler.tank.setTankType(type); + refueler.markDirty(); + player.addChatComponentMessage(new ChatComponentText("Changed type to ").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)).appendSibling(new ChatComponentTranslation(type.getConditionalName())).appendSibling(new ChatComponentText("!"))); + + return true; + } + + return false; + } else { + return true; + } + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + + if(i == 0) world.setBlockMetadataWithNotify(x, y, z, 2, 2); + if(i == 1) world.setBlockMetadataWithNotify(x, y, z, 5, 2); + if(i == 2) world.setBlockMetadataWithNotify(x, y, z, 3, 2); + if(i == 3) world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + float f = 0.0625F; + + switch(world.getBlockMetadata(x, y, z)) { + case 2: this.setBlockBounds(0F, 0F, 12 * f, 1F, 1F, 1F); break; + case 3: this.setBlockBounds(0F, 0F, 0F, 1F, 1F, 4 * f); break; + case 4: this.setBlockBounds(12 * f, 0F, 0F, 1F, 1F, 1F); break; + case 5: this.setBlockBounds(0F, 0F, 0F, 4 * f, 1F, 1F); break; + default: this.setBlockBounds(0F, 0F, 0F, 1F, 1F, 1F); break; + } + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + this.setBlockBoundsBasedOnState(world, x, y, z); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + +} diff --git a/src/main/java/com/hbm/blocks/machine/BlockWeaponTable.java b/src/main/java/com/hbm/blocks/machine/BlockWeaponTable.java new file mode 100644 index 000000000..782b3b332 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/BlockWeaponTable.java @@ -0,0 +1,62 @@ +package com.hbm.blocks.machine; + +import com.hbm.inventory.container.ContainerWeaponTable; +import com.hbm.inventory.gui.GUIWeaponTable; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.IGUIProvider; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class BlockWeaponTable extends Block implements IGUIProvider { + + @SideOnly(Side.CLIENT) private IIcon iconTop; + @SideOnly(Side.CLIENT) private IIcon iconBottom; + + public BlockWeaponTable() { + super(Material.iron); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":gun_table_top"); + this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + ":gun_table_bottom"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":gun_table_side"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return side == 0 ? this.iconBottom : (side == 1 ? this.iconTop : this.blockIcon); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + + if(world.isRemote) { + return true; + } else if(!player.isSneaking()) { + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); + return true; + } + + return false; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return new ContainerWeaponTable(player.inventory); } + + @Override + @SideOnly(Side.CLIENT) + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIWeaponTable(player.inventory); } +} diff --git a/src/main/java/com/hbm/blocks/machine/DeuteriumTower.java b/src/main/java/com/hbm/blocks/machine/DeuteriumTower.java index 85dc20517..1e08908ad 100644 --- a/src/main/java/com/hbm/blocks/machine/DeuteriumTower.java +++ b/src/main/java/com/hbm/blocks/machine/DeuteriumTower.java @@ -8,7 +8,7 @@ import com.hbm.blocks.ILookOverlay; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityDeuteriumTower; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; diff --git a/src/main/java/com/hbm/blocks/machine/DummyBlockAssembler.java b/src/main/java/com/hbm/blocks/machine/DummyBlockAssembler.java index 18ae7e8d8..005858260 100644 --- a/src/main/java/com/hbm/blocks/machine/DummyBlockAssembler.java +++ b/src/main/java/com/hbm/blocks/machine/DummyBlockAssembler.java @@ -4,7 +4,6 @@ import com.hbm.blocks.ModBlocks; import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityDummy; import com.hbm.tileentity.machine.TileEntityMachineAssembler; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -26,7 +25,7 @@ public class DummyBlockAssembler extends DummyOldBase { { return Item.getItemFromBlock(ModBlocks.machine_assembler); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) @@ -39,7 +38,7 @@ public class DummyBlockAssembler extends DummyOldBase { int a = ((TileEntityDummy)te).targetX; int b = ((TileEntityDummy)te).targetY; int c = ((TileEntityDummy)te).targetZ; - + TileEntityMachineAssembler entity = (TileEntityMachineAssembler) world.getTileEntity(a, b, c); if(entity != null) { diff --git a/src/main/java/com/hbm/blocks/machine/DummyBlockRefinery.java b/src/main/java/com/hbm/blocks/machine/DummyBlockRefinery.java index fbd2c14d1..1230880dd 100644 --- a/src/main/java/com/hbm/blocks/machine/DummyBlockRefinery.java +++ b/src/main/java/com/hbm/blocks/machine/DummyBlockRefinery.java @@ -4,7 +4,6 @@ import com.hbm.blocks.ModBlocks; import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityDummy; import com.hbm.tileentity.machine.oil.TileEntityMachineRefinery; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -26,7 +25,7 @@ public class DummyBlockRefinery extends DummyOldBase { { return Item.getItemFromBlock(ModBlocks.machine_refinery); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) @@ -39,7 +38,7 @@ public class DummyBlockRefinery extends DummyOldBase { int a = ((TileEntityDummy)te).targetX; int b = ((TileEntityDummy)te).targetY; int c = ((TileEntityDummy)te).targetZ; - + TileEntityMachineRefinery entity = (TileEntityMachineRefinery) world.getTileEntity(a, b, c); if(entity != null) { diff --git a/src/main/java/com/hbm/blocks/machine/DummyBlockTurbofan.java b/src/main/java/com/hbm/blocks/machine/DummyBlockTurbofan.java index ecbdf99e1..071b7a529 100644 --- a/src/main/java/com/hbm/blocks/machine/DummyBlockTurbofan.java +++ b/src/main/java/com/hbm/blocks/machine/DummyBlockTurbofan.java @@ -4,7 +4,6 @@ import com.hbm.blocks.ModBlocks; import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityDummy; import com.hbm.tileentity.machine.TileEntityMachineTurbofan; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -26,7 +25,7 @@ public class DummyBlockTurbofan extends DummyOldBase { { return Item.getItemFromBlock(ModBlocks.machine_turbofan); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) @@ -39,7 +38,7 @@ public class DummyBlockTurbofan extends DummyOldBase { int a = ((TileEntityDummy)te).targetX; int b = ((TileEntityDummy)te).targetY; int c = ((TileEntityDummy)te).targetZ; - + TileEntityMachineTurbofan entity = (TileEntityMachineTurbofan) world.getTileEntity(a, b, c); if(entity != null) { diff --git a/src/main/java/com/hbm/blocks/machine/FactoryHatch.java b/src/main/java/com/hbm/blocks/machine/FactoryHatch.java deleted file mode 100644 index b8915a4dc..000000000 --- a/src/main/java/com/hbm/blocks/machine/FactoryHatch.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.hbm.blocks.machine; - -import com.hbm.blocks.ModBlocks; -import com.hbm.lib.RefStrings; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; - -public class FactoryHatch extends Block { - - @SideOnly(Side.CLIENT) - private IIcon iconFront; - - public FactoryHatch(Material p_i45394_1_) { - super(p_i45394_1_); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) { - this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (this == ModBlocks.factory_titanium_furnace ? ":factory_titanium_furnace" : ":factory_advanced_furnace")); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + (this == ModBlocks.factory_titanium_furnace ? ":factory_titanium_hull" : ":factory_advanced_hull")); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata) { - return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); - } - - @Override - public void onBlockAdded(World world, int x, int y, int z) { - super.onBlockAdded(world, x, y, z); - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { - int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - - if(i == 0) - { - world.setBlockMetadataWithNotify(x, y, z, 2, 2); - } - if(i == 1) - { - world.setBlockMetadataWithNotify(x, y, z, 5, 2); - } - if(i == 2) - { - world.setBlockMetadataWithNotify(x, y, z, 3, 2); - } - if(i == 3) - { - world.setBlockMetadataWithNotify(x, y, z, 4, 2); - } - } - -} diff --git a/src/main/java/com/hbm/blocks/machine/Floodlight.java b/src/main/java/com/hbm/blocks/machine/Floodlight.java index af04665b7..25e70cac2 100644 --- a/src/main/java/com/hbm/blocks/machine/Floodlight.java +++ b/src/main/java/com/hbm/blocks/machine/Floodlight.java @@ -7,6 +7,7 @@ import com.hbm.util.fauxpointtwelve.BlockPos; import api.hbm.block.IToolable; import api.hbm.energymk2.IEnergyReceiverMK2; +import com.hbm.world.gen.INBTTransformable; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -27,7 +28,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class Floodlight extends BlockContainer implements IToolable { +public class Floodlight extends BlockContainer implements IToolable, INBTTransformable { public Floodlight(Material mat) { super(mat); @@ -47,7 +48,7 @@ public class Floodlight extends BlockContainer implements IToolable { public int onBlockPlaced(World world, int x, int y, int z, int side, float fX, float fY, float fZ, int meta) { return side; } - + //only method with player param, called second for variable rotation @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { @@ -60,18 +61,18 @@ public class Floodlight extends BlockContainer implements IToolable { setAngle(world, x, y, z, player, false); return true; } - + public void setAngle(World world, int x, int y, int z, EntityLivingBase player, boolean updateMeta) { - + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; float rotation = player.rotationPitch; - + TileEntity tile = world.getTileEntity(x, y, z); - + if(tile instanceof TileEntityFloodlight) { int meta = world.getBlockMetadata(x, y, z) % 6; TileEntityFloodlight floodlight = (TileEntityFloodlight) tile; - + if(meta == 0 || meta == 1) { if(i == 0 || i == 2) if(updateMeta) world.setBlockMetadataWithNotify(x, y, z, meta + 6, 3); if(meta == 1) if(i == 0 || i == 1) rotation = 180F - rotation; @@ -83,48 +84,92 @@ public class Floodlight extends BlockContainer implements IToolable { tile.markDirty(); } } - + + @Override + public int transformMeta(int meta, int coordBaseMode) { + if(meta < 6) { + switch(coordBaseMode) { + case 1: // West + switch(meta) { + case 2: return 5; + case 3: return 4; + case 4: return 2; + case 5: return 3; + } + break; + case 2: // North + switch(meta) { + case 2: return 3; + case 3: return 2; + case 4: return 5; + case 5: return 4; + } + break; + case 3: // East + switch(meta) { + case 2: return 4; + case 3: return 5; + case 4: return 3; + case 5: return 2; + } + break; + } + } + + // Also rotate the upper bits that store additional state (6-11) + if(meta >= 6) { + return transformMeta(meta - 6, coordBaseMode) + 6; + } + + return meta; + } + + @Override + public Block transformBlock(Block block) { + return block; // No block transformation needed + } + public static class TileEntityFloodlight extends TileEntity implements IEnergyReceiverMK2 { - + public float rotation; protected BlockPos[] lightPos = new BlockPos[15]; public static final long maxPower = 5_000; public long power; - + public int delay; public boolean isOn; - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() % 6).getOpposite(); this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); - + if(delay > 0) { delay --; return; } - + if(power >= 100) { power -= 100; - + if(!isOn) { this.isOn = true; this.castLights(); this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this); this.worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - + } else { - + long timer = worldObj.getTotalWorldTime(); if(timer % 5 == 0) { timer = timer / 5; this.castLight((int) Math.abs(timer % this.lightPos.length)); } } - + } else { if(isOn) { this.isOn = false; @@ -136,12 +181,12 @@ public class Floodlight extends BlockContainer implements IToolable { } } } - + private void castLight(int index) { BlockPos newPos = this.getRayEndpoint(index); BlockPos oldPos = this.lightPos[index]; this.lightPos[index] = null; - + if(newPos == null || !newPos.equals(oldPos)) { //if the new end point is null or not equal to the previous, delete the previous spot if(oldPos != null) { TileEntity tile = Compat.getTileStandard(worldObj, oldPos.getX(), oldPos.getY(), oldPos.getZ()); @@ -153,9 +198,9 @@ public class Floodlight extends BlockContainer implements IToolable { } } } - + if(newPos == null) return; - + if(worldObj.getBlock(newPos.getX(), newPos.getY(), newPos.getZ()) == Blocks.air) { worldObj.setBlock(newPos.getX(), newPos.getY(), newPos.getZ(), ModBlocks.floodlight_beam, 0, 2); TileEntity tile = Compat.getTileStandard(worldObj, newPos.getX(), newPos.getY(), newPos.getZ()); @@ -167,16 +212,16 @@ public class Floodlight extends BlockContainer implements IToolable { this.lightPos[index] = newPos; } } - + public BlockPos getRayEndpoint(int index) { - + if(index < 0 || index >= lightPos.length) return null; int meta = this.getBlockMetadata(); Vec3 dir = Vec3.createVectorHelper(1, 0, 0); - + float[] angles = getVariation(index); - + float rotation = this.rotation; if(meta == 1 || meta == 7) rotation = 180 - rotation; if(meta == 6) rotation = 180 - rotation; @@ -188,31 +233,31 @@ public class Floodlight extends BlockContainer implements IToolable { if(meta == 3) dir.rotateAroundY((float) -(Math.PI / 2D)); if(meta == 4) dir.rotateAroundY((float) (Math.PI)); dir.rotateAroundY(angles[1]); - + for(int i = 1; i < 64; i++) { int iX = (int) Math.floor(xCoord + 0.5 + dir.xCoord * i); int iY = (int) Math.floor(yCoord + 0.5 + dir.yCoord * i); int iZ = (int) Math.floor(zCoord + 0.5 + dir.zCoord * i); - + if(iX == xCoord && iY == yCoord && iZ == zCoord) continue; - + Block block = worldObj.getBlock(iX, iY, iZ); if(block.getLightOpacity(worldObj, iX, iY, iZ) < 127) continue; - + int fX = (int) Math.floor(xCoord + 0.5 + dir.xCoord * (i - 1)); int fY = (int) Math.floor(yCoord + 0.5 + dir.yCoord * (i - 1)); int fZ = (int) Math.floor(zCoord + 0.5 + dir.zCoord * (i - 1)); if(i > 1) return new BlockPos(fX, fY, fZ); } - + return null; } - + private void castLights() { for(int i = 0; i < this.lightPos.length; i++) this.castLight(i); } - + private void destroyLight(int index) { BlockPos pos = lightPos[index]; if(pos != null) { @@ -221,11 +266,11 @@ public class Floodlight extends BlockContainer implements IToolable { } } } - + private void destroyLights() { for(int i = 0; i < this.lightPos.length; i++) destroyLight(i); } - + private float[] getVariation(int index) { return new float[] { (((index / 3) - 2) * 7.5F) / 180F * (float) Math.PI, @@ -239,7 +284,7 @@ public class Floodlight extends BlockContainer implements IToolable { this.writeToNBT(nbt); return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); } - + @Override public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { this.readFromNBT(pkt.func_148857_g()); @@ -268,12 +313,12 @@ public class Floodlight extends BlockContainer implements IToolable { private boolean isLoaded = true; @Override public boolean isLoaded() { return isLoaded; } @Override public void onChunkUnload() { this.isLoaded = false; } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -284,10 +329,10 @@ public class Floodlight extends BlockContainer implements IToolable { zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { diff --git a/src/main/java/com/hbm/blocks/machine/FoundryCastingBase.java b/src/main/java/com/hbm/blocks/machine/FoundryCastingBase.java index 661bab7cd..fe57bc788 100644 --- a/src/main/java/com/hbm/blocks/machine/FoundryCastingBase.java +++ b/src/main/java/com/hbm/blocks/machine/FoundryCastingBase.java @@ -1,9 +1,7 @@ package com.hbm.blocks.machine; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - +import api.hbm.block.ICrucibleAcceptor; +import api.hbm.block.IToolable; import com.hbm.blocks.ILookOverlay; import com.hbm.inventory.material.Mats.MaterialStack; import com.hbm.items.ModItems; @@ -11,10 +9,8 @@ import com.hbm.items.machine.ItemMold; import com.hbm.items.machine.ItemMold.Mold; import com.hbm.items.machine.ItemScraps; import com.hbm.tileentity.machine.TileEntityFoundryCastingBase; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; -import api.hbm.block.ICrucibleAcceptor; -import api.hbm.block.IToolable; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -30,6 +26,10 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + public abstract class FoundryCastingBase extends BlockContainer implements ICrucibleAcceptor, IToolable, ILookOverlay { protected FoundryCastingBase() { @@ -55,30 +55,30 @@ public abstract class FoundryCastingBase extends BlockContainer implements ICruc public boolean canAcceptPartialFlow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { return ((ICrucibleAcceptor) world.getTileEntity(x, y, z)).canAcceptPartialFlow(world, x, y, z, side, stack); } - + @Override public MaterialStack flow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { return ((ICrucibleAcceptor) world.getTileEntity(x, y, z)).flow(world, x, y, z, side, stack); } - + @Override public boolean isOpaqueCube() { return false; } - + @Override public boolean renderAsNormalBlock() { return false; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) { return true; } - + TileEntityFoundryCastingBase cast = (TileEntityFoundryCastingBase) world.getTileEntity(x, y, z); - + //remove casted item if(cast.slots[1] != null) { if(!player.inventory.addItemStackToInventory(cast.slots[1].copy())) { @@ -87,17 +87,17 @@ public abstract class FoundryCastingBase extends BlockContainer implements ICruc } else { player.inventoryContainer.detectAndSendChanges(); } - + cast.slots[1] = null; cast.markDirty(); world.markBlockForUpdate(x, y, z); return true; } - + //insert mold if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.mold && cast.slots[0] == null) { Mold mold = ((ItemMold) player.getHeldItem().getItem()).getMold(player.getHeldItem()); - + if(mold.size == cast.getMoldSize()) { cast.slots[0] = player.getHeldItem().copy(); cast.slots[0].stackSize = 1; @@ -108,7 +108,7 @@ public abstract class FoundryCastingBase extends BlockContainer implements ICruc return true; } } - + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemTool && ((ItemTool) player.getHeldItem().getItem()).getToolClasses(player.getHeldItem()).contains("shovel")) { if(cast.amount > 0) { ItemStack scrap = ItemScraps.create(new MaterialStack(cast.type, cast.amount)); @@ -125,13 +125,13 @@ public abstract class FoundryCastingBase extends BlockContainer implements ICruc } return true; } - + return false; } @Override public void breakBlock(World world, int x, int y, int z, Block b, int i) { - + TileEntityFoundryCastingBase cast = (TileEntityFoundryCastingBase) world.getTileEntity(x, y, z); if(cast.amount > 0) { ItemStack scrap = ItemScraps.create(new MaterialStack(cast.type, cast.amount)); @@ -139,14 +139,14 @@ public abstract class FoundryCastingBase extends BlockContainer implements ICruc world.spawnEntityInWorld(item); cast.amount = 0; //just for safety } - + for(ItemStack stack : cast.slots) { if(stack != null) { EntityItem drop = new EntityItem(world, x + 0.5, y + this.maxY, z + 0.5, stack.copy()); world.spawnEntityInWorld(drop); } } - + super.breakBlock(world, x, y, z, b, i); } @@ -154,7 +154,7 @@ public abstract class FoundryCastingBase extends BlockContainer implements ICruc @SideOnly(Side.CLIENT) public void randomDisplayTick(World world, int x, int y, int z, Random rand) { super.randomDisplayTick(world, x, y, z, rand); - + TileEntityFoundryCastingBase cast = (TileEntityFoundryCastingBase) world.getTileEntity(x, y, z); if(cast.amount > 0 && cast.amount >= cast.getCapacity()) { @@ -164,28 +164,28 @@ public abstract class FoundryCastingBase extends BlockContainer implements ICruc @Override public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { - + if(tool != ToolType.SCREWDRIVER) return false; - + TileEntityFoundryCastingBase cast = (TileEntityFoundryCastingBase) world.getTileEntity(x, y, z); - + if(cast.slots[0] == null) return false; if(cast.amount > 0) return false; - + if(!player.inventory.addItemStackToInventory(cast.slots[0].copy())) { EntityItem item = new EntityItem(world, x + 0.5, y + this.maxY, z + 0.5, cast.slots[0].copy()); world.spawnEntityInWorld(item); } else { player.inventoryContainer.detectAndSendChanges(); } - + cast.markDirty(); world.markBlockForUpdate(x, y, z); - + cast.slots[0] = null; cast.markDirty(); - + return true; } @@ -193,18 +193,18 @@ public abstract class FoundryCastingBase extends BlockContainer implements ICruc public void printHook(Pre event, World world, int x, int y, int z) { TileEntityFoundryCastingBase cast = (TileEntityFoundryCastingBase) world.getTileEntity(x, y, z); List text = new ArrayList(); - + if(cast.slots[0] == null) { text.add(EnumChatFormatting.RED + I18nUtil.resolveKey("foundry.noCast")); } else if(cast.slots[0].getItem() == ModItems.mold){ Mold mold = ((ItemMold) cast.slots[0].getItem()).getMold(cast.slots[0]); text.add(EnumChatFormatting.BLUE + mold.getTitle()); } - + if(cast.type != null && cast.amount > 0) { text.add(EnumChatFormatting.YELLOW + cast.type.names[0] + ": " + cast.amount + " / " + cast.getCapacity()); } - + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(this.getUnlocalizedName() + ".name"), 0xFF4000, 0x401000, text); } } diff --git a/src/main/java/com/hbm/blocks/machine/FoundryChannel.java b/src/main/java/com/hbm/blocks/machine/FoundryChannel.java index 8866bfd0f..84faf6dee 100644 --- a/src/main/java/com/hbm/blocks/machine/FoundryChannel.java +++ b/src/main/java/com/hbm/blocks/machine/FoundryChannel.java @@ -176,6 +176,7 @@ public class FoundryChannel extends BlockContainer implements ICrucibleAcceptor } cast.amount = 0; cast.type = null; + cast.propagateMaterial(null); cast.markDirty(); world.markBlockForUpdate(x, y, z); } diff --git a/src/main/java/com/hbm/blocks/machine/FoundryOutlet.java b/src/main/java/com/hbm/blocks/machine/FoundryOutlet.java index dfa51cf3b..bbf18772b 100644 --- a/src/main/java/com/hbm/blocks/machine/FoundryOutlet.java +++ b/src/main/java/com/hbm/blocks/machine/FoundryOutlet.java @@ -9,7 +9,7 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.ItemScraps; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityFoundryOutlet; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import api.hbm.block.ICrucibleAcceptor; import api.hbm.block.IToolable; diff --git a/src/main/java/com/hbm/blocks/machine/FurnaceCombination.java b/src/main/java/com/hbm/blocks/machine/FurnaceCombination.java index 83e4b5ce9..4ce96d14d 100644 --- a/src/main/java/com/hbm/blocks/machine/FurnaceCombination.java +++ b/src/main/java/com/hbm/blocks/machine/FurnaceCombination.java @@ -1,18 +1,17 @@ package com.hbm.blocks.machine; -import java.util.List; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ITooltipProvider; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityFurnaceCombination; - import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import java.util.List; + public class FurnaceCombination extends BlockDummyable implements ITooltipProvider { public FurnaceCombination() { @@ -25,7 +24,7 @@ public class FurnaceCombination extends BlockDummyable implements ITooltipProvid return new TileEntityFurnaceCombination(); return new TileEntityProxyCombo().inventory().fluid(); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { return this.standardOpenBehavior(world, x, y, z, player, 0); diff --git a/src/main/java/com/hbm/blocks/machine/GeigerCounter.java b/src/main/java/com/hbm/blocks/machine/GeigerCounter.java index d7dab303a..bd07ad6d0 100644 --- a/src/main/java/com/hbm/blocks/machine/GeigerCounter.java +++ b/src/main/java/com/hbm/blocks/machine/GeigerCounter.java @@ -24,26 +24,26 @@ public class GeigerCounter extends BlockContainer { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityGeiger(); } - + @Override public int getRenderType(){ return -1; } - + @Override public boolean isOpaqueCube() { return false; } - + @Override public boolean renderAsNormalBlock() { return false; } - + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - + if(i == 0) { world.setBlockMetadataWithNotify(x, y, z, 3, 2); @@ -61,57 +61,61 @@ public class GeigerCounter extends BlockContainer { world.setBlockMetadataWithNotify(x, y, z, 5, 2); } } - + @Override public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) { int te = p_149719_1_.getBlockMetadata(p_149719_2_, p_149719_3_, p_149719_4_); float f = 0.0625F; - + this.setBlockBounds(0.0F, 0.0F, 2*f, 1.0F, 1.0F, 14*f); switch(te) { case 4: - this.setBlockBounds(2*f, 0.0F, 1*f, 14*f, 9*f, 15*f); + this.setBlockBounds(0*f, 0.0F, 0*f, 14*f, 9*f, 14.5F*f); break; case 2: - this.setBlockBounds(1*f, 0.0F, 2*f, 15*f, 9*f, 14*f); + this.setBlockBounds(1.5F*f, 0.0F, 0*f, 16*f, 9*f, 14*f); break; case 5: - this.setBlockBounds(2*f, 0.0F, 1*f, 14*f, 9*f, 15*f); + this.setBlockBounds(2*f, 0.0F, 1.5F*f, 16*f, 9*f, 16*f); break; case 3: - this.setBlockBounds(1*f, 0.0F, 2*f, 15*f, 9*f, 14*f); + this.setBlockBounds(0*f, 0.0F, 2*f, 14.5F*f, 9*f, 16*f); break; } } - + @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - + // xyz,xyz (negative, positive) int te = world.getBlockMetadata(x, y, z); float f = 0.0625F; - + this.setBlockBounds(0.0F, 0.0F, 2*f, 1.0F, 1.0F, 14*f); switch(te) { + // FACING WEST case 4: - this.setBlockBounds(2*f, 0.0F, 1*f, 14*f, 9*f, 15*f); + this.setBlockBounds(0*f, 0.0F, 0*f, 14*f, 9*f, 14.5F*f); break; + // FACING NORTH case 2: - this.setBlockBounds(1*f, 0.0F, 2*f, 15*f, 9*f, 14*f); + this.setBlockBounds(1.5F*f, 0.0F, 0*f, 16*f, 9*f, 14*f); break; + // FACING EAST case 5: - this.setBlockBounds(2*f, 0.0F, 1*f, 14*f, 9*f, 15*f); + this.setBlockBounds(2*f, 0.0F, 1.5F*f, 16*f, 9*f, 16*f); break; + // FACING SOUTH case 3: - this.setBlockBounds(1*f, 0.0F, 2*f, 15*f, 9*f, 14*f); + this.setBlockBounds(0*f, 0.0F, 2*f, 14.5F*f, 9*f, 16*f); break; } - + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { @@ -127,4 +131,22 @@ public class GeigerCounter extends BlockContainer { return false; } } + + @Override + public boolean hasComparatorInputOverride() { + return true; + } + + @Override + public int getComparatorInputOverride(World world, int x, int y, int z, int side) { + TileEntityGeiger te = (TileEntityGeiger)world.getTileEntity(x, y, z); + if (te == null) return 0; + + float rad = te.check(); + + // 0 at exactly 0 rads/sec + // +1 per 5 rads/sec + // 15 at 75+ rads/sec + return Math.min((int)Math.ceil(rad / 5f), 15); + } } diff --git a/src/main/java/com/hbm/blocks/machine/HeaterElectric.java b/src/main/java/com/hbm/blocks/machine/HeaterElectric.java index c66fad6b7..94d0cbb21 100644 --- a/src/main/java/com/hbm/blocks/machine/HeaterElectric.java +++ b/src/main/java/com/hbm/blocks/machine/HeaterElectric.java @@ -10,7 +10,7 @@ import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ITooltipProvider; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityHeaterElectric; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/com/hbm/blocks/machine/HeaterHeatex.java b/src/main/java/com/hbm/blocks/machine/HeaterHeatex.java index 1eb152a67..66faae3cf 100644 --- a/src/main/java/com/hbm/blocks/machine/HeaterHeatex.java +++ b/src/main/java/com/hbm/blocks/machine/HeaterHeatex.java @@ -12,7 +12,7 @@ import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityHeaterHeatex; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; diff --git a/src/main/java/com/hbm/blocks/machine/HeaterOilburner.java b/src/main/java/com/hbm/blocks/machine/HeaterOilburner.java index 0ddca5005..3c30f5d21 100644 --- a/src/main/java/com/hbm/blocks/machine/HeaterOilburner.java +++ b/src/main/java/com/hbm/blocks/machine/HeaterOilburner.java @@ -11,7 +11,7 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.trait.FT_Flammable; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityHeaterOilburner; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import api.hbm.block.IToolable; import net.minecraft.block.material.Material; diff --git a/src/main/java/com/hbm/blocks/machine/MachineAmgen.java b/src/main/java/com/hbm/blocks/machine/MachineAmgen.java index 8768c2e52..efa23accc 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineAmgen.java +++ b/src/main/java/com/hbm/blocks/machine/MachineAmgen.java @@ -1,6 +1,5 @@ package com.hbm.blocks.machine; -import com.hbm.blocks.ModBlocks; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityMachineAmgen; @@ -30,21 +29,6 @@ public class MachineAmgen extends BlockContainer { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { - - if(this == ModBlocks.machine_amgen) { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_amgen_top"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_amgen_side"); - } - if(this == ModBlocks.machine_geo) { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_geo_top"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_geo_side"); - } + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":block_deprecated"); } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata) { - return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon); - } - } diff --git a/src/main/java/com/hbm/blocks/machine/MachineAmmoPress.java b/src/main/java/com/hbm/blocks/machine/MachineAmmoPress.java new file mode 100644 index 000000000..b54d34e7f --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineAmmoPress.java @@ -0,0 +1,30 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.TileEntityMachineAmmoPress; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class MachineAmmoPress extends BlockDummyable { + + public MachineAmmoPress() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return meta >= 12 ? new TileEntityMachineAmmoPress() : new TileEntityProxyCombo().inventory(); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + return this.standardOpenBehavior(world, x, y, z, player, 0); + } + + @Override public int[] getDimensions() { return new int[] {1, 0, 0, 0, 1, 1}; } + @Override public int getOffset() { return 0; } +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineArcFurnaceLarge.java b/src/main/java/com/hbm/blocks/machine/MachineArcFurnaceLarge.java index 1acdd1a10..43a767a9b 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineArcFurnaceLarge.java +++ b/src/main/java/com/hbm/blocks/machine/MachineArcFurnaceLarge.java @@ -7,7 +7,6 @@ import com.hbm.items.machine.ItemScraps; import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityMachineArcFurnaceLarge; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; import net.minecraft.entity.item.EntityItem; @@ -52,11 +51,11 @@ public class MachineArcFurnaceLarge extends BlockDummyable { public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { super.fillSpace(world, x, y, z, dir, o); MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y, z + dir.offsetZ * o, new int[] {4, 0, 3, -2, 1, 1}, this, dir); - + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); x += dir.offsetX * o; z += dir.offsetZ * o; - + this.makeExtra(world, x + dir.offsetX * 2 + rot.offsetX, y, z + dir.offsetZ * 2 + rot.offsetZ); this.makeExtra(world, x + dir.offsetX * 2 - rot.offsetX, y, z + dir.offsetZ * 2 - rot.offsetZ); this.makeExtra(world, x + rot.offsetX * 2 + dir.offsetX, y, z + rot.offsetZ * 2 + dir.offsetZ); @@ -64,10 +63,10 @@ public class MachineArcFurnaceLarge extends BlockDummyable { this.makeExtra(world, x - rot.offsetX * 2 + dir.offsetX, y, z - rot.offsetZ * 2 + dir.offsetZ); this.makeExtra(world, x - rot.offsetX * 2 - dir.offsetX, y, z - rot.offsetZ * 2 - dir.offsetZ); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - + if(world.isRemote) { return true; } else if(!player.isSneaking()) { @@ -77,7 +76,7 @@ public class MachineArcFurnaceLarge extends BlockDummyable { return false; if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemTool && ((ItemTool) player.getHeldItem().getItem()).getToolClasses(player.getHeldItem()).contains("shovel")) { TileEntityMachineArcFurnaceLarge crucible = (TileEntityMachineArcFurnaceLarge) world.getTileEntity(pos[0], pos[1], pos[2]); - + for(MaterialStack stack : crucible.liquids) { ItemStack scrap = ItemScraps.create(new MaterialStack(stack.material, stack.amount)); if(!player.inventory.addItemStackToInventory(scrap)) { @@ -85,11 +84,11 @@ public class MachineArcFurnaceLarge extends BlockDummyable { world.spawnEntityInWorld(item); } } - + player.inventoryContainer.detectAndSendChanges(); crucible.liquids.clear(); crucible.markDirty(); - + } else { FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); } diff --git a/src/main/java/com/hbm/blocks/machine/MachineAssemblyMachine.java b/src/main/java/com/hbm/blocks/machine/MachineAssemblyMachine.java new file mode 100644 index 000000000..b7cbceafe --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineAssemblyMachine.java @@ -0,0 +1,45 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.TileEntityMachineAssemblyMachine; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class MachineAssemblyMachine extends BlockDummyable { + + public MachineAssemblyMachine(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityMachineAssemblyMachine(); + if(meta >= 6) return new TileEntityProxyCombo().inventory().power().fluid(); + return null; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + return this.standardOpenBehavior(world, x, y, z, player, 0); + } + + @Override public int[] getDimensions() { return new int[] {2, 0, 1, 1, 1, 1}; } + @Override public int getOffset() { return 1; } + + @Override + public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + + x -= dir.offsetX; + z -= dir.offsetZ; + + for(int i = -1; i <= 1; i++) for(int j = -1; j <= 1; j++) { + if(i != 0 || j != 0) this.makeExtra(world, x + i, y, z + j); + } + } +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineAutocrafter.java b/src/main/java/com/hbm/blocks/machine/MachineAutocrafter.java index 1c922fab5..7cfde7611 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineAutocrafter.java +++ b/src/main/java/com/hbm/blocks/machine/MachineAutocrafter.java @@ -1,11 +1,8 @@ package com.hbm.blocks.machine; -import java.util.Random; - import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityMachineAutocrafter; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -22,6 +19,8 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; +import java.util.Random; + public class MachineAutocrafter extends BlockContainer { @SideOnly(Side.CLIENT) private IIcon iconTop; @@ -72,7 +71,7 @@ public class MachineAutocrafter extends BlockContainer { ISidedInventory tile = (ISidedInventory) world.getTileEntity(x, y, z); if(tile != null) { - + for(int i1 = 10; i1 < tile.getSizeInventory(); ++i1) { ItemStack itemstack = tile.getStackInSlot(i1); diff --git a/src/main/java/com/hbm/blocks/machine/MachineAutosaw.java b/src/main/java/com/hbm/blocks/machine/MachineAutosaw.java index 8e38ba3e7..67e58f18f 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineAutosaw.java +++ b/src/main/java/com/hbm/blocks/machine/MachineAutosaw.java @@ -8,8 +8,9 @@ import com.hbm.blocks.ITooltipProvider; import com.hbm.inventory.fluid.FluidType; import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.tileentity.machine.TileEntityMachineAutosaw; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; +import api.hbm.block.IToolable; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -22,7 +23,7 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; -public class MachineAutosaw extends BlockContainer implements ILookOverlay, ITooltipProvider { +public class MachineAutosaw extends BlockContainer implements ILookOverlay, ITooltipProvider, IToolable { public MachineAutosaw() { super(Material.iron); @@ -72,6 +73,24 @@ public class MachineAutosaw extends BlockContainer implements ILookOverlay, IToo return true; } + @Override + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + if(tool != ToolType.SCREWDRIVER) + return false; + + TileEntity te = world.getTileEntity(x, y, z); + + if(!(te instanceof TileEntityMachineAutosaw)) + return false; + + TileEntityMachineAutosaw saw = (TileEntityMachineAutosaw) te; + + saw.isSuspended = !saw.isSuspended; + saw.markDirty(); + + return true; + } + @Override public void printHook(Pre event, World world, int x, int y, int z) { @@ -84,6 +103,10 @@ public class MachineAutosaw extends BlockContainer implements ILookOverlay, IToo List text = new ArrayList(); text.add(saw.tank.getTankType().getLocalizedName() + ": " + saw.tank.getFill() + "/" + saw.tank.getMaxFill() + "mB"); + + if (saw.isSuspended) { + text.add(EnumChatFormatting.RED + "! " + I18nUtil.resolveKey(getUnlocalizedName() + ".suspended") + " !"); + } ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } diff --git a/src/main/java/com/hbm/blocks/machine/MachineBattery.java b/src/main/java/com/hbm/blocks/machine/MachineBattery.java index 7f4616a5e..16afccccf 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineBattery.java +++ b/src/main/java/com/hbm/blocks/machine/MachineBattery.java @@ -12,7 +12,7 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.machine.storage.TileEntityMachineBattery; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; diff --git a/src/main/java/com/hbm/blocks/machine/MachineBigAssTank9000.java b/src/main/java/com/hbm/blocks/machine/MachineBigAssTank9000.java index 32ba803a3..bb8759c0d 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineBigAssTank9000.java +++ b/src/main/java/com/hbm/blocks/machine/MachineBigAssTank9000.java @@ -1,8 +1,5 @@ package com.hbm.blocks.machine; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.IPersistentInfoProvider; import com.hbm.handler.MultiblockHandlerXR; @@ -14,7 +11,6 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.storage.TileEntityMachineBAT9000; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -28,6 +24,9 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; + public class MachineBigAssTank9000 extends BlockDummyable implements IPersistentInfoProvider { public MachineBigAssTank9000(Material mat) { @@ -36,7 +35,7 @@ public class MachineBigAssTank9000 extends BlockDummyable implements IPersistent @Override public TileEntity createNewTileEntity(World world, int meta) { - + if(meta >= 12) return new TileEntityMachineBAT9000(); if(meta >= 6) return new TileEntityProxyCombo(false, false, true); return null; @@ -74,22 +73,22 @@ public class MachineBigAssTank9000 extends BlockDummyable implements IPersistent if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, getDimensions(), x, y, z, dir)) return false; if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {4, 0, 1, 1, 2, -2}, x, y, z, dir)) return false; if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {4, 0, 1, 1, -2, 2}, x, y, z, dir)) return false; - + return true; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - + if(world.isRemote) { return true; } else if(!player.isSneaking()) { - + int[] pos = this.findCore(world, x, y, z); - + if(pos == null) return false; - + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); //we can do this because nobody is stopping me from doing this return true; } else if(player.isSneaking()){ @@ -97,9 +96,9 @@ public class MachineBigAssTank9000 extends BlockDummyable implements IPersistent if(pos == null) return false; - + TileEntityMachineBAT9000 trialEntity = (TileEntityMachineBAT9000) world.getTileEntity(pos[0], pos[1], pos[2]); - + if(trialEntity != null) { if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IItemFluidIdentifier) { FluidType type = ((IItemFluidIdentifier) player.getHeldItem().getItem()).getType(world, pos[0], pos[1], pos[2], player.getHeldItem()); @@ -115,7 +114,7 @@ public class MachineBigAssTank9000 extends BlockDummyable implements IPersistent return true; } } - + @Override public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { return IPersistentNBT.getDrops(world, x, y, z, this); @@ -130,19 +129,19 @@ public class MachineBigAssTank9000 extends BlockDummyable implements IPersistent public int getComparatorInputOverride(World world, int x, int y, int z, int side) { int meta = world.getBlockMetadata(x, y, z); - + if(meta >= 6) { int[] pos = this.findCore(world, x, y, z); if(pos == null) return 0; TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); - + if(!(te instanceof TileEntityMachineBAT9000)) return 0; - + TileEntityMachineBAT9000 tank = (TileEntityMachineBAT9000) te; return tank.getComparatorPower(); } - + return 0; } diff --git a/src/main/java/com/hbm/blocks/machine/MachineBrickFurnace.java b/src/main/java/com/hbm/blocks/machine/MachineBrickFurnace.java index 48054e36e..f4164f964 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineBrickFurnace.java +++ b/src/main/java/com/hbm/blocks/machine/MachineBrickFurnace.java @@ -1,13 +1,10 @@ package com.hbm.blocks.machine; -import java.util.Random; - import com.hbm.blocks.ModBlocks; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityFurnaceBrick; import com.hbm.util.ItemStackUtil; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -24,6 +21,8 @@ import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; +import java.util.Random; + public class MachineBrickFurnace extends BlockContainer { private final Random rand = new Random(); @@ -38,7 +37,7 @@ public class MachineBrickFurnace extends BlockContainer { super(Material.iron); isActive = blockState; } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { @@ -47,7 +46,7 @@ public class MachineBrickFurnace extends BlockContainer { this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":machine_furnace_brick_front_on" : ":machine_furnace_brick_front_off")); this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_furnace_brick_side"); } - + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { @@ -64,31 +63,31 @@ public class MachineBrickFurnace extends BlockContainer { public Item getItem(World world, int x, int y, int z) { return Item.getItemFromBlock(ModBlocks.machine_furnace_brick_off); } - + @Override public void onBlockAdded(World world, int x, int y, int z) { super.onBlockAdded(world, x, y, z); this.setDefaultDirection(world, x, y, z); } - + private void setDefaultDirection(World world, int x, int y, int z) { if(!world.isRemote) { Block nZ = world.getBlock(x, y, z - 1); Block pZ = world.getBlock(x, y, z + 1); Block nX = world.getBlock(x - 1, y, z); Block pX = world.getBlock(x + 1, y, z); - + byte meta = 3; - + if(nZ.func_149730_j() && !pZ.func_149730_j()) meta = 3; if(pZ.func_149730_j() && !nZ.func_149730_j()) meta = 2; if(nX.func_149730_j() && !pX.func_149730_j()) meta = 5; if(pX.func_149730_j() && !nX.func_149730_j()) meta = 4; - + world.setBlockMetadataWithNotify(x, y, z, meta, 2); } } - + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; @@ -96,10 +95,10 @@ public class MachineBrickFurnace extends BlockContainer { if(i == 1) world.setBlockMetadataWithNotify(x, y, z, 5, 2); if(i == 2) world.setBlockMetadataWithNotify(x, y, z, 3, 2); if(i == 3) world.setBlockMetadataWithNotify(x, y, z, 4, 2); - + if(itemStack.hasDisplayName()) ((TileEntityFurnaceBrick)world.getTileEntity(x, y, z)).setCustomName(itemStack.getDisplayName()); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) { @@ -119,22 +118,22 @@ public class MachineBrickFurnace extends BlockContainer { int i = world.getBlockMetadata(x, y, z); TileEntity entity = world.getTileEntity(x, y, z); keepInventory = true; - + if(isProcessing) { world.setBlock(x, y, z, ModBlocks.machine_furnace_brick_on); } else { world.setBlock(x, y, z, ModBlocks.machine_furnace_brick_off); } - + keepInventory = false; world.setBlockMetadataWithNotify(x, y, z, i, 2); - + if(entity != null) { entity.validate(); world.setTileEntity(x, y, z, entity); } } - + @Override public void breakBlock(World world, int x, int y, int z, Block block, int meta) { if(!keepInventory) ItemStackUtil.spillItems(world, x, y, z, block, rand); diff --git a/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java b/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java index f7a0fcfb8..22a60d7b1 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java @@ -10,19 +10,16 @@ import com.hbm.blocks.IPersistentInfoProvider; import com.hbm.blocks.ITooltipProvider; import com.hbm.blocks.ModBlocks; import com.hbm.lib.RefStrings; -import com.hbm.packet.BufPacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.i18n.I18nUtil; import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.redstoneoverradio.IRORValueProvider; import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; @@ -48,7 +45,7 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP @SideOnly(Side.CLIENT) public IIcon iconBottom; @SideOnly(Side.CLIENT) public IIcon iconInnerTop; @SideOnly(Side.CLIENT) public IIcon iconInnerSide; - + protected long power; String name; @@ -57,7 +54,7 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP this.power = power; this.name = name; } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { @@ -87,23 +84,23 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP @Override public void printHook(Pre event, World world, int x, int y, int z) { - + TileEntity te = world.getTileEntity(x, y, z); - + if(!(te instanceof TileEntityCapacitor)) return; - + TileEntityCapacitor battery = (TileEntityCapacitor) te; List text = new ArrayList(); text.add(BobMathUtil.getShortNumber(battery.getPower()) + " / " + BobMathUtil.getShortNumber(battery.getMaxPower()) + "HE"); - + double percent = (double) battery.getPower() / (double) battery.getMaxPower(); int charge = (int) Math.floor(percent * 10_000D); int color = ((int) (0xFF - 0xFF * percent)) << 16 | ((int)(0xFF * percent) << 8); text.add("&[" + color + "&]" + (charge / 100D) + "%"); text.add(EnumChatFormatting.GREEN + "-> " + EnumChatFormatting.RESET + "+" + BobMathUtil.getShortNumber(battery.powerReceived) + "HE/t"); text.add(EnumChatFormatting.RED + "<- " + EnumChatFormatting.RESET + "-" + BobMathUtil.getShortNumber(battery.powerSent) + "HE/t"); - + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } @@ -117,7 +114,7 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - + if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { for(String s : I18nUtil.resolveKeyArray("tile.capacitor.desc")) list.add(EnumChatFormatting.YELLOW + s); } else { @@ -126,7 +123,7 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "> to display more info"); } } - + @Override public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { return IPersistentNBT.getDrops(world, x, y, z, this); @@ -139,68 +136,68 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP @Override public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) { - + if(!player.capabilities.isCreativeMode) { harvesters.set(player); this.dropBlockAsItem(world, x, y, z, meta, 0); harvesters.set(null); } } - + @Override public void harvestBlock(World world, EntityPlayer player, int x, int y, int z, int meta) { player.addStat(StatList.mineBlockStatArray[getIdFromBlock(this)], 1); player.addExhaustion(0.025F); } - public static class TileEntityCapacitor extends TileEntityLoadedBase implements IEnergyProviderMK2, IEnergyReceiverMK2, IBufPacketReceiver, IPersistentNBT { - + public static class TileEntityCapacitor extends TileEntityLoadedBase implements IEnergyProviderMK2, IEnergyReceiverMK2, IPersistentNBT, IRORValueProvider { + public long power; protected long maxPower; public long powerReceived; public long powerSent; - + public TileEntityCapacitor() { } - + public TileEntityCapacitor(long maxPower) { this.maxPower = maxPower; } - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + ForgeDirection opp = ForgeDirection.getOrientation(this.getBlockMetadata()); ForgeDirection dir = opp.getOpposite(); - + BlockPos pos = new BlockPos(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); - + boolean didStep = false; ForgeDirection last = null; - + while(worldObj.getBlock(pos.getX(), pos.getY(), pos.getZ()) == ModBlocks.capacitor_bus) { ForgeDirection current = ForgeDirection.getOrientation(worldObj.getBlockMetadata(pos.getX(), pos.getY(), pos.getZ())); if(!didStep) last = current; didStep = true; - + if(last != current) { pos = null; break; } - + pos = pos.offset(current); } - + if(pos != null && last != null) { this.tryUnsubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ()); this.tryProvide(worldObj, pos.getX(), pos.getY(), pos.getZ(), last); } - + this.trySubscribe(worldObj, xCoord + opp.offsetX, yCoord + opp.offsetY, zCoord + opp.offsetZ, opp); - PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 15)); - + networkPackNT(15); + this.powerSent = 0; this.powerReceived = 0; } @@ -213,7 +210,7 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP buf.writeLong(powerReceived); buf.writeLong(powerSent); } - + @Override public void deserialize(ByteBuf buf) { power = buf.readLong(); @@ -235,7 +232,7 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP this.setPower(this.getMaxPower()); return overshoot; } - + @Override public void usePower(long power) { this.powerSent += Math.min(this.getPower(), power); @@ -255,7 +252,7 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP @Override public long getProviderSpeed() { return this.getMaxPower() / 300; } - + @Override public long getReceiverSpeed() { return this.getMaxPower() / 100; } @@ -269,7 +266,7 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP public void setPower(long power) { this.power = power; } - + @Override public boolean canConnect(ForgeDirection dir) { return dir == ForgeDirection.getOrientation(this.getBlockMetadata()); @@ -289,19 +286,34 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP this.power = data.getLong("power"); this.maxPower = data.getLong("maxPower"); } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); this.power = nbt.getLong("power"); this.maxPower = nbt.getLong("maxPower"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setLong("power", power); nbt.setLong("maxPower", maxPower); } + + @Override + public String[] getFunctionInfo() { + return new String[] { + PREFIX_VALUE + "fill", + PREFIX_VALUE + "fillpercent", + }; + } + + @Override + public String provideRORValue(String name) { + if((PREFIX_VALUE + "fill").equals(name)) return "" + this.power; + if((PREFIX_VALUE + "fillpercent").equals(name)) return "" + this.power * 100 / this.maxPower; + return null; + } } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineCapacitorBus.java b/src/main/java/com/hbm/blocks/machine/MachineCapacitorBus.java index dade916fa..1dcac8474 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCapacitorBus.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCapacitorBus.java @@ -1,11 +1,8 @@ package com.hbm.blocks.machine; -import java.util.List; - +import api.hbm.energymk2.IEnergyConnectorBlock; import com.hbm.blocks.ITooltipProvider; import com.hbm.lib.RefStrings; - -import api.hbm.energymk2.IEnergyConnectorBlock; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -20,8 +17,10 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.List; + public class MachineCapacitorBus extends Block implements IEnergyConnectorBlock, ITooltipProvider { - + @SideOnly(Side.CLIENT) private IIcon topIcon; public MachineCapacitorBus(Material mat) { @@ -38,7 +37,7 @@ public class MachineCapacitorBus extends Block implements IEnergyConnectorBlock, public IIcon getIcon(int side, int meta) { return side == meta ? topIcon : blockIcon; } - + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { int l = BlockPistonBase.determineOrientation(world, x, y, z, player); diff --git a/src/main/java/com/hbm/blocks/machine/MachineCatalyticCracker.java b/src/main/java/com/hbm/blocks/machine/MachineCatalyticCracker.java index c8d9bd49d..9b7910686 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCatalyticCracker.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCatalyticCracker.java @@ -1,8 +1,5 @@ package com.hbm.blocks.machine; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ILookOverlay; import com.hbm.handler.MultiblockHandlerXR; @@ -10,7 +7,7 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.oil.TileEntityMachineCatalyticCracker; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -23,6 +20,9 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; + public class MachineCatalyticCracker extends BlockDummyable implements ILookOverlay { public MachineCatalyticCracker(Material mat) { @@ -31,12 +31,12 @@ public class MachineCatalyticCracker extends BlockDummyable implements ILookOver @Override public TileEntity createNewTileEntity(World world, int meta) { - + if(meta >= 12) return new TileEntityMachineCatalyticCracker(); if(meta >= extra) return new TileEntityProxyCombo(false, false, true); - + return null; } @@ -49,33 +49,33 @@ public class MachineCatalyticCracker extends BlockDummyable implements ILookOver public int getOffset() { return 3; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - + if(!world.isRemote && !player.isSneaking()) { - + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IItemFluidIdentifier) { int[] pos = this.findCore(world, x, y, z); - + if(pos == null) return false; - + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); - + if(!(te instanceof TileEntityMachineCatalyticCracker)) return false; - + TileEntityMachineCatalyticCracker cracker = (TileEntityMachineCatalyticCracker) te; FluidType type = ((IItemFluidIdentifier) player.getHeldItem().getItem()).getType(world, pos[0], pos[1], pos[2], player.getHeldItem()); cracker.tanks[0].setTankType(type); cracker.markDirty(); player.addChatComponentMessage(new ChatComponentText("Changed type to ").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)).appendSibling(new ChatComponentTranslation(type.getConditionalName())).appendSibling(new ChatComponentText("!"))); - + return true; } return false; - + } else { return true; } @@ -84,7 +84,7 @@ public class MachineCatalyticCracker extends BlockDummyable implements ILookOver @Override protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { return super.checkRequirement(world, x, y, z, dir, o) && - MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{4, -1, 3, -1, 1, 1}, x, y, z, dir) && + MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{8, -1, 3, -1, 2, 0}, x, y, z, dir) && MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{13, 0, 0, 3, 2, 1}, x, y, z, dir) && MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{14, -13, -1, 2, 1, 0}, x, y, z, dir) && MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{3, -1, 2, 3, -1, 3}, x, y, z, dir); @@ -94,11 +94,11 @@ public class MachineCatalyticCracker extends BlockDummyable implements ILookOver public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { super.fillSpace(world, x, y, z, dir, o); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{4, -1, 3, -1, 1, 1}, this, dir); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{8, -1, 3, -1, 2, 0}, this, dir); MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{13, 0, 0, 3, 2, 1}, this, dir); MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{14, -13, -1, 2, 1, 0}, this, dir); MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{3, -1, 2, 3, -1, 3}, this, dir); - + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); this.makeExtra(world, x + dir.offsetX * o + dir.offsetX * 3 + rot.offsetX, y + dir.offsetY * o, z + dir.offsetZ * o + dir.offsetZ * 3 + rot.offsetZ); @@ -115,22 +115,22 @@ public class MachineCatalyticCracker extends BlockDummyable implements ILookOver @Override public void printHook(Pre event, World world, int x, int y, int z) { int[] pos = this.findCore(world, x, y, z); - + if(pos == null) return; - + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); - + if(!(te instanceof TileEntityMachineCatalyticCracker)) return; - + TileEntityMachineCatalyticCracker cracker = (TileEntityMachineCatalyticCracker) te; - + List text = new ArrayList(); for(int i = 0; i < cracker.tanks.length; i++) text.add((i < 2 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + cracker.tanks[i].getTankType().getLocalizedName() + ": " + cracker.tanks[i].getFill() + "/" + cracker.tanks[i].getMaxFill() + "mB"); - + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineCatalyticReformer.java b/src/main/java/com/hbm/blocks/machine/MachineCatalyticReformer.java index 80c9f2aef..b8401426a 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCatalyticReformer.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCatalyticReformer.java @@ -1,7 +1,5 @@ package com.hbm.blocks.machine; -import java.util.List; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.IPersistentInfoProvider; import com.hbm.handler.MultiblockHandlerXR; @@ -9,7 +7,6 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.oil.TileEntityMachineCatalyticReformer; - import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -19,6 +16,8 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.List; + public class MachineCatalyticReformer extends BlockDummyable implements IPersistentInfoProvider { public MachineCatalyticReformer(Material mat) { @@ -31,7 +30,7 @@ public class MachineCatalyticReformer extends BlockDummyable implements IPersist if(meta >= 6) return new TileEntityProxyCombo().fluid().power(); return null; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { return standardOpenBehavior(world, x, y, z, player, side); @@ -49,7 +48,7 @@ public class MachineCatalyticReformer extends BlockDummyable implements IPersist super.fillSpace(world, x, y, z, dir, o); MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {3, -3, 1, 0, -1, 2}, this, dir); MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {6, -3, 1, 1, 2, 0}, this, dir); - + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); this.makeExtra(world, x - dir.offsetX + 1, y, z - dir.offsetZ + 1); @@ -72,7 +71,7 @@ public class MachineCatalyticReformer extends BlockDummyable implements IPersist @Override public void addInformation(ItemStack stack, NBTTagCompound persistentTag, EntityPlayer player, List list, boolean ext) { - + for(int i = 0; i < 4; i++) { FluidTank tank = new FluidTank(Fluids.NONE, 0); tank.readFromNBT(persistentTag, "" + i); diff --git a/src/main/java/com/hbm/blocks/machine/MachineChemfac.java b/src/main/java/com/hbm/blocks/machine/MachineChemfac.java index 60f18617d..fec75ef5b 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineChemfac.java +++ b/src/main/java/com/hbm/blocks/machine/MachineChemfac.java @@ -10,6 +10,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +@Deprecated public class MachineChemfac extends BlockDummyable { public MachineChemfac(Material mat) { diff --git a/src/main/java/com/hbm/blocks/machine/MachineChemicalFactory.java b/src/main/java/com/hbm/blocks/machine/MachineChemicalFactory.java new file mode 100644 index 000000000..d08619616 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineChemicalFactory.java @@ -0,0 +1,88 @@ +package com.hbm.blocks.machine; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ILookOverlay; +import com.hbm.blocks.ITooltipProvider; +import com.hbm.tileentity.TileEntityProxyDyn; +import com.hbm.tileentity.machine.TileEntityMachineChemicalFactory; +import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; +import net.minecraftforge.common.util.ForgeDirection; + +public class MachineChemicalFactory extends BlockDummyable implements ITooltipProvider, ILookOverlay { + + public MachineChemicalFactory(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityMachineChemicalFactory(); + if(meta >= 6) return new TileEntityProxyDyn().inventory().power().fluid(); + return null; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + return this.standardOpenBehavior(world, x, y, z, player, 0); + } + + @Override public int[] getDimensions() { return new int[] {2, 0, 2, 2, 2, 2}; } + @Override public int getOffset() { return 2; } + + @Override + public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + + x -= dir.offsetX * 2; + z -= dir.offsetZ * 2; + + for(int i = -2; i <= 2; i++) for(int j = -2; j <= 2; j++) { + if(Math.abs(i) == 2 || Math.abs(j) == 2) this.makeExtra(world, x + i, y, z + j); + } + + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + for(int i = -2; i <= 2; i++) { + this.makeExtra(world, x + dir.offsetX * i + rot.offsetX * 2, y + 2, z + dir.offsetZ * i + rot.offsetZ * 2); + this.makeExtra(world, x + dir.offsetX * i - rot.offsetX * 2, y + 2, z + dir.offsetZ * i - rot.offsetZ * 2); + } + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + this.addStandardInfo(stack, player, list, ext); + } + + @Override + public void printHook(Pre event, World world, int x, int y, int z) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return; + + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); + if(!(te instanceof TileEntityMachineChemicalFactory)) return; + TileEntityMachineChemicalFactory chemfac = (TileEntityMachineChemicalFactory) te; + + DirPos[] cool = chemfac.getCoolPos(); + + for(DirPos dirPos : cool) if(dirPos.compare(x + dirPos.getDir().offsetX, y, z + dirPos.getDir().offsetZ)) { + List text = new ArrayList(); + + text.add(EnumChatFormatting.GREEN + "-> " + EnumChatFormatting.RESET + chemfac.water.getTankType().getLocalizedName()); + text.add(EnumChatFormatting.RED + "<- " + EnumChatFormatting.RESET + chemfac.lps.getTankType().getLocalizedName()); + + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + break; + } + } +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineChemicalPlant.java b/src/main/java/com/hbm/blocks/machine/MachineChemicalPlant.java new file mode 100644 index 000000000..cf94cca5e --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineChemicalPlant.java @@ -0,0 +1,45 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.TileEntityMachineChemicalPlant; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class MachineChemicalPlant extends BlockDummyable { + + public MachineChemicalPlant(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityMachineChemicalPlant(); + if(meta >= 6) return new TileEntityProxyCombo().inventory().power().fluid(); + return null; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + return this.standardOpenBehavior(world, x, y, z, player, 0); + } + + @Override public int[] getDimensions() { return new int[] {2, 0, 1, 1, 1, 1}; } + @Override public int getOffset() { return 1; } + + @Override + public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + + x -= dir.offsetX; + z -= dir.offsetZ; + + for(int i = -1; i <= 1; i++) for(int j = -1; j <= 1; j++) { + if(i != 0 || j != 0) this.makeExtra(world, x + i, y, z + j); + } + } +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineChemplant.java b/src/main/java/com/hbm/blocks/machine/MachineChemplant.java index cfe87c0b5..fdf17898f 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineChemplant.java +++ b/src/main/java/com/hbm/blocks/machine/MachineChemplant.java @@ -11,6 +11,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +@Deprecated public class MachineChemplant extends BlockDummyable { public MachineChemplant(Material p_i45386_1_) { diff --git a/src/main/java/com/hbm/blocks/machine/MachineChimneyBrick.java b/src/main/java/com/hbm/blocks/machine/MachineChimneyBrick.java index 7c8f40bc2..f227488c4 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineChimneyBrick.java +++ b/src/main/java/com/hbm/blocks/machine/MachineChimneyBrick.java @@ -1,12 +1,9 @@ package com.hbm.blocks.machine; -import java.util.List; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ITooltipProvider; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityChimneyBrick; - import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -14,6 +11,8 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.List; + public class MachineChimneyBrick extends BlockDummyable implements ITooltipProvider { public MachineChimneyBrick(Material mat) { @@ -22,7 +21,7 @@ public class MachineChimneyBrick extends BlockDummyable implements ITooltipProvi @Override public TileEntity createNewTileEntity(World world, int meta) { - + if(meta >= 12) return new TileEntityChimneyBrick(); if(meta >= 6) return new TileEntityProxyCombo().fluid(); return null; diff --git a/src/main/java/com/hbm/blocks/machine/MachineChimneyIndustrial.java b/src/main/java/com/hbm/blocks/machine/MachineChimneyIndustrial.java index 036273535..f32078e16 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineChimneyIndustrial.java +++ b/src/main/java/com/hbm/blocks/machine/MachineChimneyIndustrial.java @@ -1,12 +1,9 @@ package com.hbm.blocks.machine; -import java.util.List; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ITooltipProvider; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityChimneyIndustrial; - import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -14,6 +11,8 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.List; + public class MachineChimneyIndustrial extends BlockDummyable implements ITooltipProvider { public MachineChimneyIndustrial(Material mat) { @@ -22,7 +21,7 @@ public class MachineChimneyIndustrial extends BlockDummyable implements ITooltip @Override public TileEntity createNewTileEntity(World world, int meta) { - + if(meta >= 12) return new TileEntityChimneyIndustrial(); if(meta >= 6) return new TileEntityProxyCombo().fluid(); return null; diff --git a/src/main/java/com/hbm/blocks/machine/MachineChungus.java b/src/main/java/com/hbm/blocks/machine/MachineChungus.java index 957169a40..16bf80634 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineChungus.java +++ b/src/main/java/com/hbm/blocks/machine/MachineChungus.java @@ -1,23 +1,32 @@ package com.hbm.blocks.machine; +import java.util.ArrayList; import java.util.List; +import java.util.Locale; import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ITooltipProvider; import com.hbm.handler.MultiblockHandlerXR; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.fluid.trait.FT_Coolable; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityChungus; +import com.hbm.util.BobMathUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; -public class MachineChungus extends BlockDummyable implements ITooltipProvider { +public class MachineChungus extends BlockDummyable implements ITooltipProvider, ILookOverlay { public MachineChungus(Material mat) { super(mat); @@ -135,4 +144,33 @@ public class MachineChungus extends BlockDummyable implements ITooltipProvider { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { this.addStandardInfo(stack, player, list, ext); } + + @Override + public void printHook(Pre event, World world, int x, int y, int z) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return; + + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); + if(!(te instanceof TileEntityChungus)) return; + + TileEntityChungus chungus = (TileEntityChungus) te; + List text = new ArrayList(); + + FluidTank tankInput = chungus.tanks[0]; + FluidTank tankOutput = chungus.tanks[1]; + + FluidType inputType = tankInput.getTankType(); + FluidType outputType = Fluids.NONE; + + if(inputType.hasTrait(FT_Coolable.class)) { + outputType = inputType.getTrait(FT_Coolable.class).coolsTo; + } + + text.add(EnumChatFormatting.GREEN + "-> " + EnumChatFormatting.RESET + inputType.getLocalizedName() + ": " + String.format(Locale.US, "%,d", tankInput.getFill()) + "/" + String.format(Locale.US, "%,d", tankInput.getMaxFill()) + "mB"); + text.add(EnumChatFormatting.RED + "<- " + EnumChatFormatting.RESET + outputType.getLocalizedName() + ": " + String.format(Locale.US, "%,d", tankOutput.getFill()) + "/" + String.format(Locale.US, "%,d", tankOutput.getMaxFill()) + "mB"); + text.add(EnumChatFormatting.RED + "<- " + EnumChatFormatting.RESET + BobMathUtil.getShortNumber(chungus.power) + "/" + BobMathUtil.getShortNumber(chungus.getMaxPower()) + "HE"); + + + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineCombustionEngine.java b/src/main/java/com/hbm/blocks/machine/MachineCombustionEngine.java index 162841266..47a7f1f27 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCombustionEngine.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCombustionEngine.java @@ -3,7 +3,6 @@ package com.hbm.blocks.machine; import com.hbm.blocks.BlockDummyable; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityMachineCombustionEngine; - import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; @@ -34,15 +33,15 @@ public class MachineCombustionEngine extends BlockDummyable { public int getOffset() { return 0; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { return this.standardOpenBehavior(world, x, y, z, player, 0); } - + protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { super.fillSpace(world, x, y, z, dir, o); - + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); this.makeExtra(world, x + rot.offsetX, y, z + rot.offsetZ); diff --git a/src/main/java/com/hbm/blocks/machine/MachineCompressorCompact.java b/src/main/java/com/hbm/blocks/machine/MachineCompressorCompact.java new file mode 100644 index 000000000..78c12b5a8 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineCompressorCompact.java @@ -0,0 +1,50 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.TileEntityMachineCompressorCompact; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class MachineCompressorCompact extends BlockDummyable { + + public MachineCompressorCompact() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int meta) { + if(meta >= 12) return new TileEntityMachineCompressorCompact(); + if(meta >= 6) return new TileEntityProxyCombo().power().fluid(); + return null; + } + + @Override public int[] getDimensions() { return new int[] {2, 0, 1, 1, 3, 3}; } + @Override public int getOffset() { return 1; } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + return this.standardOpenBehavior(world, x, y, z, player, 0); + } + + @Override + public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + + x = x + dir.offsetX * o; + z = z + dir.offsetZ * o; + + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + this.makeExtra(world, x + rot.offsetX * 3, y + 1, z + rot.offsetZ * 3); + this.makeExtra(world, x - rot.offsetX * 3, y + 1, z - rot.offsetZ * 3); + this.makeExtra(world, x + dir.offsetX + rot.offsetX, y + 1, z + dir.offsetZ + rot.offsetZ); + this.makeExtra(world, x + dir.offsetX - rot.offsetX, y + 1, z + dir.offsetZ - rot.offsetZ); + this.makeExtra(world, x - dir.offsetX + rot.offsetX, y + 1, z - dir.offsetZ + rot.offsetZ); + this.makeExtra(world, x - dir.offsetX - rot.offsetX, y + 1, z - dir.offsetZ - rot.offsetZ); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineCondenser.java b/src/main/java/com/hbm/blocks/machine/MachineCondenser.java index 8bbe97b99..9c5ced6ea 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCondenser.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCondenser.java @@ -5,7 +5,7 @@ import java.util.List; import com.hbm.blocks.ILookOverlay; import com.hbm.tileentity.machine.TileEntityCondenser; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; diff --git a/src/main/java/com/hbm/blocks/machine/MachineCondenserPowered.java b/src/main/java/com/hbm/blocks/machine/MachineCondenserPowered.java index 842c084b7..dd005163d 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCondenserPowered.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCondenserPowered.java @@ -1,14 +1,11 @@ package com.hbm.blocks.machine; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ILookOverlay; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityCondenserPowered; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; @@ -17,6 +14,10 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + public class MachineCondenserPowered extends BlockDummyable implements ILookOverlay { public MachineCondenserPowered(Material mat) { @@ -43,7 +44,7 @@ public class MachineCondenserPowered extends BlockDummyable implements ILookOver @Override public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { super.fillSpace(world, x, y, z, dir, o); - + x = x + dir.offsetX * o; z = z + dir.offsetZ * o; @@ -70,11 +71,11 @@ public class MachineCondenserPowered extends BlockDummyable implements ILookOver TileEntityCondenserPowered tower = (TileEntityCondenserPowered) te; List text = new ArrayList(); - + text.add(BobMathUtil.getShortNumber(tower.power) + "HE / " + BobMathUtil.getShortNumber(tower.maxPower) + "HE"); for(int i = 0; i < tower.tanks.length; i++) - text.add((i < 1 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + tower.tanks[i].getTankType().getLocalizedName() + ": " + tower.tanks[i].getFill() + "/" + tower.tanks[i].getMaxFill() + "mB"); + text.add((i < 1 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + tower.tanks[i].getTankType().getLocalizedName() + ": " + String.format(Locale.US, "%,d", tower.tanks[i].getFill()) + "/" + String.format(Locale.US, "%,d", tower.tanks[i].getMaxFill()) + "mB"); ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } diff --git a/src/main/java/com/hbm/blocks/machine/MachineConveyorPress.java b/src/main/java/com/hbm/blocks/machine/MachineConveyorPress.java index 1bddf1a9d..ac19655bf 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineConveyorPress.java +++ b/src/main/java/com/hbm/blocks/machine/MachineConveyorPress.java @@ -1,18 +1,15 @@ package com.hbm.blocks.machine; -import java.util.ArrayList; -import java.util.List; - +import api.hbm.block.IToolable; +import api.hbm.conveyor.IConveyorBelt; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ITooltipProvider; import com.hbm.items.machine.ItemStamp; import com.hbm.tileentity.machine.TileEntityConveyorPress; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; -import api.hbm.block.IToolable; -import api.hbm.conveyor.IConveyorBelt; import net.minecraft.block.material.Material; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; @@ -25,6 +22,9 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; + public class MachineConveyorPress extends BlockDummyable implements IConveyorBelt, ILookOverlay, IToolable, ITooltipProvider { public MachineConveyorPress(Material mat) { @@ -46,25 +46,25 @@ public class MachineConveyorPress extends BlockDummyable implements IConveyorBel public int getOffset() { return 0; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) { return true; } else { - + int[] pos = this.findCore(world, x, y, z); - + if(pos == null) return false; - + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); - + if(!(te instanceof TileEntityConveyorPress)) return false; - + TileEntityConveyorPress press = (TileEntityConveyorPress) te; - + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemStamp && press.slots[0] == null) { press.slots[0] = player.getHeldItem().copy(); press.slots[0].stackSize = 1; @@ -75,39 +75,39 @@ public class MachineConveyorPress extends BlockDummyable implements IConveyorBel return true; } } - + return false; } @Override public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { - + if(tool != ToolType.SCREWDRIVER) return false; - + int[] pos = this.findCore(world, x, y, z); - + if(pos == null) return false; - + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); - + if(!(te instanceof TileEntityConveyorPress)) return false; - + TileEntityConveyorPress press = (TileEntityConveyorPress) te; - + if(press.slots[0] == null) return false; - + if(!player.inventory.addItemStackToInventory(press.slots[0].copy())) { EntityItem item = new EntityItem(world, x + 0.5, y + this.maxY, z + 0.5, press.slots[0].copy()); world.spawnEntityInWorld(item); } else { player.inventoryContainer.detectAndSendChanges(); } - + press.slots[0] = null; press.markChanged(); - + return true; } @@ -121,7 +121,7 @@ public class MachineConveyorPress extends BlockDummyable implements IConveyorBel Vec3 ret = Vec3.createVectorHelper(itemPos.xCoord + motion.xCoord / len * speed, itemPos.yCoord + motion.yCoord / len * speed, itemPos.zCoord + motion.zCoord / len * speed); return ret; } - + public ForgeDirection getTravelDirection(World world, int x, int y, int z, Vec3 itemPos) { int meta = world.getBlockMetadata(x, y - 1, z) - offset; return ForgeDirection.getOrientation(meta).getRotation(ForgeDirection.UP); @@ -148,21 +148,21 @@ public class MachineConveyorPress extends BlockDummyable implements IConveyorBel @Override public void printHook(Pre event, World world, int x, int y, int z) { int[] pos = this.findCore(world, x, y, z); - + if(pos == null) return; - + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); - + if(!(te instanceof TileEntityConveyorPress)) return; - + TileEntityConveyorPress press = (TileEntityConveyorPress) te; List text = new ArrayList(); text.add(BobMathUtil.getShortNumber(press.power) + "HE / " + BobMathUtil.getShortNumber(press.maxPower) + "HE"); text.add("Installed stamp: " + ((press.syncStack == null || press.syncStack.getItem() == null) ? (EnumChatFormatting.RED + "NONE") : press.syncStack.getDisplayName())); - + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } diff --git a/src/main/java/com/hbm/blocks/machine/MachineCrystallizer.java b/src/main/java/com/hbm/blocks/machine/MachineCrystallizer.java index 25012acf8..29ed20388 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCrystallizer.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCrystallizer.java @@ -4,7 +4,6 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityMachineCrystallizer; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -16,7 +15,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public class MachineCrystallizer extends BlockDummyable { - + @SideOnly(Side.CLIENT) private IIcon iconTop; @@ -30,7 +29,7 @@ public class MachineCrystallizer extends BlockDummyable { if(meta >= 6) return new TileEntityProxyCombo().inventory().power().fluid(); return null; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) { @@ -60,7 +59,7 @@ public class MachineCrystallizer extends BlockDummyable { public int getOffset() { return 1; } - + protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { super.fillSpace(world, x, y, z, dir, o); diff --git a/src/main/java/com/hbm/blocks/machine/MachineDeuteriumExtractor.java b/src/main/java/com/hbm/blocks/machine/MachineDeuteriumExtractor.java index 08c921a35..a01f727c0 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineDeuteriumExtractor.java +++ b/src/main/java/com/hbm/blocks/machine/MachineDeuteriumExtractor.java @@ -1,13 +1,10 @@ package com.hbm.blocks.machine; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.ILookOverlay; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityDeuteriumExtractor; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -20,6 +17,9 @@ import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; +import java.util.ArrayList; +import java.util.List; + public class MachineDeuteriumExtractor extends BlockContainer implements ILookOverlay { public MachineDeuteriumExtractor(Material mat) { @@ -54,20 +54,20 @@ public class MachineDeuteriumExtractor extends BlockContainer implements ILookOv @Override public void printHook(Pre event, World world, int x, int y, int z) { - + TileEntity te = world.getTileEntity(x, y, z); - + if(!(te instanceof TileEntityDeuteriumExtractor)) return; - + TileEntityDeuteriumExtractor extractor = (TileEntityDeuteriumExtractor) te; - + List text = new ArrayList(); text.add((extractor.power < extractor.getMaxPower() / 20 ? EnumChatFormatting.RED : EnumChatFormatting.GREEN) + "Power: " + BobMathUtil.getShortNumber(extractor.power) + "HE"); for(int i = 0; i < extractor.tanks.length; i++) text.add((i < 1 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + extractor.tanks[i].getTankType().getLocalizedName() + ": " + extractor.tanks[i].getFill() + "/" + extractor.tanks[i].getMaxFill() + "mB"); - + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineDiFurnaceExtension.java b/src/main/java/com/hbm/blocks/machine/MachineDiFurnaceExtension.java index 7d67a92b5..74dd3595e 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineDiFurnaceExtension.java +++ b/src/main/java/com/hbm/blocks/machine/MachineDiFurnaceExtension.java @@ -6,7 +6,6 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityDiFurnace; import com.hbm.util.Compat; - import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; @@ -20,7 +19,7 @@ import net.minecraft.util.IIcon; import net.minecraft.world.World; public class MachineDiFurnaceExtension extends BlockContainer implements IProxyController { - + @SideOnly(Side.CLIENT) private IIcon iconTop; @SideOnly(Side.CLIENT) private IIcon iconBottom; @@ -32,7 +31,7 @@ public class MachineDiFurnaceExtension extends BlockContainer implements IProxyC public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityProxyCombo().inventory().fluid(); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { @@ -40,7 +39,7 @@ public class MachineDiFurnaceExtension extends BlockContainer implements IProxyC this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":difurnace_extension"); this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + ":brick_fire"); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(!player.isSneaking()) { @@ -52,7 +51,7 @@ public class MachineDiFurnaceExtension extends BlockContainer implements IProxyC } return false; } - + @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int meta) { return side == 0 ? this.iconBottom : side == 1 ? this.iconTop : this.blockIcon; diff --git a/src/main/java/com/hbm/blocks/machine/MachineDiFurnaceRTG.java b/src/main/java/com/hbm/blocks/machine/MachineDiFurnaceRTG.java index a90699da4..a8f929c81 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineDiFurnaceRTG.java +++ b/src/main/java/com/hbm/blocks/machine/MachineDiFurnaceRTG.java @@ -1,12 +1,9 @@ package com.hbm.blocks.machine; -import java.util.Random; - import com.hbm.blocks.ModBlocks; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityDiFurnaceRTG; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -25,8 +22,10 @@ import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; +import java.util.Random; + public class MachineDiFurnaceRTG extends BlockContainer { - + private final Random rand = new Random(); private final boolean isActive; private static boolean keepInventory; @@ -116,7 +115,7 @@ public class MachineDiFurnaceRTG extends BlockContainer { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - + if(world.isRemote) { return true; } else if(!player.isSneaking()) { @@ -145,7 +144,7 @@ public class MachineDiFurnaceRTG extends BlockContainer { } else { world.setBlock(x, y, z, ModBlocks.machine_difurnace_rtg_off); } - + keepInventory = false; world.setBlockMetadataWithNotify(x, y, z, i, 2); diff --git a/src/main/java/com/hbm/blocks/machine/MachineDiesel.java b/src/main/java/com/hbm/blocks/machine/MachineDiesel.java index 4bce53d0b..1f7b923a2 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineDiesel.java +++ b/src/main/java/com/hbm/blocks/machine/MachineDiesel.java @@ -29,20 +29,9 @@ public class MachineDiesel extends BlockMachineBase implements ITooltipProvider return new TileEntityMachineDiesel(); } - @Override - public int getRenderType(){ - return -1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } + @Override public int getRenderType(){ return -1; } + @Override public boolean isOpaqueCube() { return false; } + @Override public boolean renderAsNormalBlock() { return false; } @Override @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/hbm/blocks/machine/MachineDrain.java b/src/main/java/com/hbm/blocks/machine/MachineDrain.java index 46aaf943e..64d7c3f96 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineDrain.java +++ b/src/main/java/com/hbm/blocks/machine/MachineDrain.java @@ -8,7 +8,7 @@ import com.hbm.blocks.ILookOverlay; import com.hbm.inventory.fluid.FluidType; import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.tileentity.machine.TileEntityMachineDrain; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/com/hbm/blocks/machine/MachineEPress.java b/src/main/java/com/hbm/blocks/machine/MachineEPress.java index 3e3ea35ab..82eb6d89f 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineEPress.java +++ b/src/main/java/com/hbm/blocks/machine/MachineEPress.java @@ -1,123 +1,80 @@ package com.hbm.blocks.machine; -import java.util.Random; - -import com.hbm.main.MainRegistry; +import com.hbm.blocks.BlockDummyable; +import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityMachineEPress; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; +import api.hbm.block.IToolable; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; import net.minecraft.world.World; -public class MachineEPress extends BlockContainer { +public class MachineEPress extends BlockDummyable implements IToolable { - private final Random field_149933_a = new Random(); - private static boolean keepInventory; - - public MachineEPress(Material p_i45386_1_) { - super(p_i45386_1_); + public MachineEPress(Material mat) { + super(mat); } @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityMachineEPress(); + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityMachineEPress(); + if(meta >= 6) return new TileEntityProxyCombo(true, false, false); + return null; } @Override - public int getRenderType() { - return -1; + public int[] getDimensions() { + return new int[] {2, 0, 0, 0, 0, 0}; } @Override - public boolean isOpaqueCube() { - return false; + public int getOffset() { + return 0; } @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) { - if(!keepInventory) { - ISidedInventory tileentityfurnace = (ISidedInventory) p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); - - if(tileentityfurnace != null) { - for(int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) { - ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); - - if(itemstack != null) { - float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - - while(itemstack.stackSize > 0) { - int j1 = this.field_149933_a.nextInt(21) + 10; - - if(j1 > itemstack.stackSize) { - j1 = itemstack.stackSize; - } - - itemstack.stackSize -= j1; - EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); - - if(itemstack.hasTagCompound()) { - entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); - } - - float f3 = 0.05F; - entityitem.motionX = (float) this.field_149933_a.nextGaussian() * f3; - entityitem.motionY = (float) this.field_149933_a.nextGaussian() * f3 + 0.2F; - entityitem.motionZ = (float) this.field_149933_a.nextGaussian() * f3; - p_149749_1_.spawnEntityInWorld(entityitem); - } - } - } - - p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); - } - } - - super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + protected boolean isLegacyMonoblock(World world, int x, int y, int z) { + TileEntity te = world.getTileEntity(x, y, z); + return te != null && te instanceof TileEntityMachineEPress; } @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { - int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - - if(i == 0) world.setBlockMetadataWithNotify(x, y, z, 2, 2); - if(i == 1) world.setBlockMetadataWithNotify(x, y, z, 5, 2); - if(i == 2) world.setBlockMetadataWithNotify(x, y, z, 3, 2); - if(i == 3) world.setBlockMetadataWithNotify(x, y, z, 4, 2); + super.onBlockPlacedBy(world, x, y, z, player, itemStack); if(itemStack.hasDisplayName()) { - ((TileEntityMachineEPress) world.getTileEntity(x, y, z)).setCustomName(itemStack.getDisplayName()); + int[] pos = this.findCore(world, x, y, z); + if(pos != null) { + TileEntityMachineEPress entity = (TileEntityMachineEPress) world.getTileEntity(pos[0], pos[1], pos[2]); + if(entity != null) { + entity.setCustomName(itemStack.getDisplayName()); + } + } } } @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) { - return true; - } else if(!player.isSneaking()) { - TileEntityMachineEPress entity = (TileEntityMachineEPress) world.getTileEntity(x, y, z); - if(entity != null) { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); - } - return true; - } else { - return false; - } + return this.standardOpenBehavior(world, x, y, z, player, 0); } -} + + // Un-multiblickable with a hand drill for schenanigans + @Override + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + + if (tool != ToolType.HAND_DRILL) + return false; + + int meta = world.getBlockMetadata(x, y, z); + if (meta >= 12) + return false; + + safeRem = true; + world.setBlockToAir(x, y, z); + safeRem = false; + return true; + } +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/machine/MachineElectricFurnace.java b/src/main/java/com/hbm/blocks/machine/MachineElectricFurnace.java index ecdd8c59e..b0a987f27 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineElectricFurnace.java +++ b/src/main/java/com/hbm/blocks/machine/MachineElectricFurnace.java @@ -1,12 +1,9 @@ package com.hbm.blocks.machine; -import java.util.Random; - import com.hbm.blocks.ModBlocks; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityMachineElectricFurnace; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -25,12 +22,14 @@ import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; +import java.util.Random; + public class MachineElectricFurnace extends BlockContainer { private final Random field_149933_a = new Random(); private final boolean isActive; private static boolean keepInventory; - + @SideOnly(Side.CLIENT) private IIcon iconFront; private IIcon iconTop; @@ -40,7 +39,7 @@ public class MachineElectricFurnace extends BlockContainer { super(Material.iron); isActive = blockState; } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { @@ -49,7 +48,7 @@ public class MachineElectricFurnace extends BlockContainer { this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_electric_furnace_top"); this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + ":machine_electric_furnace_bottom"); } - + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { @@ -57,19 +56,19 @@ public class MachineElectricFurnace extends BlockContainer { //return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.iconTop); return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : side == 0 ? this.iconBottom : side == 1 ? this.iconTop : this.blockIcon); } - + @Override public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { return Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off); } - + @Override public void onBlockAdded(World world, int x, int y, int z) { super.onBlockAdded(world, x, y, z); this.setDefaultDirection(world, x, y, z); } - + private void setDefaultDirection(World world, int x, int y, int z) { if(!world.isRemote) { @@ -77,9 +76,9 @@ public class MachineElectricFurnace extends BlockContainer { Block block2 = world.getBlock(x, y, z + 1); Block block3 = world.getBlock(x - 1, y, z); Block block4 = world.getBlock(x + 1, y, z); - + byte b0 = 3; - + if(block1.func_149730_j() && !block2.func_149730_j()) { b0 = 3; @@ -96,15 +95,15 @@ public class MachineElectricFurnace extends BlockContainer { { b0 = 4; } - + world.setBlockMetadataWithNotify(x, y, z, b0, 2); } } - + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - + if(i == 0) { world.setBlockMetadataWithNotify(x, y, z, 2, 2); @@ -121,13 +120,13 @@ public class MachineElectricFurnace extends BlockContainer { { world.setBlockMetadataWithNotify(x, y, z, 4, 2); } - + if(itemStack.hasDisplayName()) { ((TileEntityMachineElectricFurnace)world.getTileEntity(x, y, z)).setCustomName(itemStack.getDisplayName()); } } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) @@ -155,23 +154,23 @@ public class MachineElectricFurnace extends BlockContainer { int i = world.getBlockMetadata(x, y, z); TileEntity entity = world.getTileEntity(x, y, z); keepInventory = true; - + if(isProcessing) { world.setBlock(x, y, z, ModBlocks.machine_electric_furnace_on); }else{ world.setBlock(x, y, z, ModBlocks.machine_electric_furnace_off); } - + keepInventory = false; world.setBlockMetadataWithNotify(x, y, z, i, 2); - + if(entity != null) { entity.validate(); world.setTileEntity(x, y, z, entity); } } - + @Override public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) { @@ -223,7 +222,7 @@ public class MachineElectricFurnace extends BlockContainer { super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); } - + @Override @SideOnly(Side.CLIENT) public void randomDisplayTick(World p_149734_1_, int x, int y, int z, Random rand) @@ -265,4 +264,4 @@ public class MachineElectricFurnace extends BlockContainer { public Item getItem(World p_149694_1_, int p_149694_2_, int p_149694_3_, int p_149694_4_) { return Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off);} - } \ No newline at end of file + } diff --git a/src/main/java/com/hbm/blocks/machine/MachineElectrolyser.java b/src/main/java/com/hbm/blocks/machine/MachineElectrolyser.java index 3c6b7beac..ab91cbb43 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineElectrolyser.java +++ b/src/main/java/com/hbm/blocks/machine/MachineElectrolyser.java @@ -4,7 +4,6 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.handler.MultiblockHandlerXR; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityElectrolyser; - import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; @@ -33,19 +32,19 @@ public class MachineElectrolyser extends BlockDummyable { public int getOffset() { return 5; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { return this.standardOpenBehavior(world, x, y, z, player, 0); } - + @Override public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { super.fillSpace(world, x, y, z, dir, o); x += dir.offsetX * o; z += dir.offsetZ * o; - + MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] {2, -1, 5, 5, 1, 1}, this, dir); MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] {3, -3, 5, 5, 0, 0}, this, dir); MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] {3, -1, 4, -4, -3, 3}, this, dir); @@ -58,7 +57,7 @@ public class MachineElectrolyser extends BlockDummyable { MultiblockHandlerXR.fillSpace(world, x, y + 3, z, new int[] {0, 0, 0, 0, -1, 2}, this, dir); MultiblockHandlerXR.fillSpace(world, x - dir.offsetX * 2, y + 3, z - dir.offsetZ * 2, new int[] {0, 0, 0, 0, -1, 2}, this, dir); MultiblockHandlerXR.fillSpace(world, x - dir.offsetX * 4, y + 3, z - dir.offsetZ * 4, new int[] {0, 0, 0, 0, -1, 2}, this, dir); - + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); this.makeExtra(world, x - dir.offsetX * 5, y, z - dir.offsetZ * 5); @@ -84,13 +83,13 @@ public class MachineElectrolyser extends BlockDummyable { if(!MultiblockHandlerXR.checkSpace(world, x, y, z, new int[] {3, -1, 0, 0, -3, 3}, x, y, z, dir)) return false; if(!MultiblockHandlerXR.checkSpace(world, x, y, z, new int[] {3, -1, -2, 2, -3, 3}, x, y, z, dir)) return false; if(!MultiblockHandlerXR.checkSpace(world, x, y, z, new int[] {3, -1, -4, 4, -3, 3}, x, y, z, dir)) return false; - + if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * 4, y + 3, z + dir.offsetZ * 4, new int[] {0, 0, 0, 0, -1, 2}, x, y, z, dir)) return false; if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * 2, y + 3, z + dir.offsetZ * 2, new int[] {0, 0, 0, 0, -1, 2}, x, y, z, dir)) return false; if(!MultiblockHandlerXR.checkSpace(world, x, y + 3, z, new int[] {0, 0, 0, 0, -1, 2}, x, y, z, dir)) return false; if(!MultiblockHandlerXR.checkSpace(world, x - dir.offsetX * 2, y + 3, z - dir.offsetZ * 2, new int[] {0, 0, 0, 0, -1, 2}, x, y, z, dir)) return false; if(!MultiblockHandlerXR.checkSpace(world, x - dir.offsetX * 4, y + 3, z - dir.offsetZ * 4, new int[] {0, 0, 0, 0, -1, 2}, x, y, z, dir)) return false; - + return true; } diff --git a/src/main/java/com/hbm/blocks/machine/MachineExposureChamber.java b/src/main/java/com/hbm/blocks/machine/MachineExposureChamber.java index 8efe19ae1..e0d906181 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineExposureChamber.java +++ b/src/main/java/com/hbm/blocks/machine/MachineExposureChamber.java @@ -4,7 +4,6 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.handler.MultiblockHandlerXR; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityMachineExposureChamber; - import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; @@ -37,10 +36,10 @@ public class MachineExposureChamber extends BlockDummyable { @Override public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { super.fillSpace(world, x, y, z, dir, o); - + x += dir.offsetX * o; z += dir.offsetZ * o; - + ForgeDirection rot = dir.getRotation(ForgeDirection.UP).getOpposite(); MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] {3, 0, 0, 0, -3, 8}, this, dir); @@ -58,10 +57,10 @@ public class MachineExposureChamber extends BlockDummyable { @Override protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { - + x += dir.offsetX * o; z += dir.offsetZ * o; - + ForgeDirection rot = dir.getRotation(ForgeDirection.UP).getOpposite(); if(!MultiblockHandlerXR.checkSpace(world, x, y, z, getDimensions(), x, y, z, dir)) return false; @@ -70,10 +69,10 @@ public class MachineExposureChamber extends BlockDummyable { if(!MultiblockHandlerXR.checkSpace(world, x, y, z, new int[] {0, 0, -1, 1, -3, 6}, x, y, z, dir)) return false; if(!MultiblockHandlerXR.checkSpace(world, x + rot.offsetX * 7, y, z + rot.offsetZ * 7, new int[] {3, 0, 1, -1, 0, 1}, x, y, z, dir)) return false; if(!MultiblockHandlerXR.checkSpace(world, x + rot.offsetX * 7, y, z + rot.offsetZ * 7, new int[] {3, 0, -1, 1, 0, 1}, x, y, z, dir)) return false; - + return true; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { return super.standardOpenBehavior(world, x, y, z, player, 0); diff --git a/src/main/java/com/hbm/blocks/machine/MachineFENSU.java b/src/main/java/com/hbm/blocks/machine/MachineFENSU.java index e9d8facff..7237d52f5 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineFENSU.java +++ b/src/main/java/com/hbm/blocks/machine/MachineFENSU.java @@ -10,7 +10,7 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.storage.TileEntityMachineBattery; import com.hbm.tileentity.machine.storage.TileEntityMachineFENSU; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; diff --git a/src/main/java/com/hbm/blocks/machine/MachineFan.java b/src/main/java/com/hbm/blocks/machine/MachineFan.java index 37a96e5f8..bbe6081ad 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineFan.java +++ b/src/main/java/com/hbm/blocks/machine/MachineFan.java @@ -3,11 +3,17 @@ package com.hbm.blocks.machine; import java.util.List; import com.hbm.blocks.ITooltipProvider; +import com.hbm.main.MainRegistry; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.PlayerInformPacket; +import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.ChatBuilder; import api.hbm.block.IBlowable; import api.hbm.block.IToolable; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.BlockPistonBase; @@ -15,9 +21,12 @@ import net.minecraft.block.material.Material; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -65,10 +74,11 @@ public class MachineFan extends BlockContainer implements IToolable, ITooltipPro return false; } - public static class TileEntityFan extends TileEntity { + public static class TileEntityFan extends TileEntityLoadedBase { public float spin; public float prevSpin; + public boolean falloff = true; @Override public void updateEntity() { @@ -103,10 +113,17 @@ public class MachineFan extends BlockContainer implements IToolable, ITooltipPro List affected = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(xCoord + 0.5 + Math.min(x, 0), yCoord + 0.5 + Math.min(y, 0), zCoord + 0.5 + Math.min(z, 0), xCoord + 0.5 + Math.max(x, 0), yCoord + 0.5 + Math.max(y, 0), zCoord + 0.5 + Math.max(z, 0)).expand(0.5, 0.5, 0.5)); for(Entity e : affected) { + + double coeff = push; + + if(falloff) { + double dist = e.getDistance(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5); + coeff *= 1.5 * (1 - dist / range / 2); + } - e.motionX += dir.offsetX * push; - e.motionY += dir.offsetY * push; - e.motionZ += dir.offsetZ * push; + e.motionX += dir.offsetX * coeff; + e.motionY += dir.offsetY * coeff; + e.motionZ += dir.offsetZ * coeff; } if(worldObj.isRemote && worldObj.rand.nextInt(30) == 0) { @@ -121,6 +138,10 @@ public class MachineFan extends BlockContainer implements IToolable, ITooltipPro this.prevSpin -= 360; this.spin -= 360; } + + if(!worldObj.isRemote) { + networkPackNT(150); + } } @Override @@ -128,21 +149,63 @@ public class MachineFan extends BlockContainer implements IToolable, ITooltipPro public double getMaxRenderDistanceSquared() { return 65536.0D; } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.falloff = nbt.getBoolean("falloff"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setBoolean("falloff", falloff); + } + + @Override + public void serialize(ByteBuf buf) { + buf.writeBoolean(falloff); + } + + @Override + public void deserialize(ByteBuf buf) { + falloff = buf.readBoolean(); + } } @Override public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { - if(tool != ToolType.SCREWDRIVER) return false; - int meta = world.getBlockMetadata(x, y, z); + if(tool == ToolType.SCREWDRIVER) { + int meta = world.getBlockMetadata(x, y, z); - if(meta == 0) world.setBlockMetadataWithNotify(x, y, z, 1, 3); - if(meta == 1) world.setBlockMetadataWithNotify(x, y, z, 0, 3); - if(meta == 2) world.setBlockMetadataWithNotify(x, y, z, 3, 3); - if(meta == 3) world.setBlockMetadataWithNotify(x, y, z, 2, 3); - if(meta == 4) world.setBlockMetadataWithNotify(x, y, z, 5, 3); - if(meta == 5) world.setBlockMetadataWithNotify(x, y, z, 4, 3); - - return true; + if(meta == 0) world.setBlockMetadataWithNotify(x, y, z, 1, 3); + if(meta == 1) world.setBlockMetadataWithNotify(x, y, z, 0, 3); + if(meta == 2) world.setBlockMetadataWithNotify(x, y, z, 3, 3); + if(meta == 3) world.setBlockMetadataWithNotify(x, y, z, 2, 3); + if(meta == 4) world.setBlockMetadataWithNotify(x, y, z, 5, 3); + if(meta == 5) world.setBlockMetadataWithNotify(x, y, z, 4, 3); + + return true; + } + + if(tool == ToolType.HAND_DRILL) { + TileEntityFan tile = (TileEntityFan) world.getTileEntity(x, y, z); + + if(tile != null) { + tile.falloff = !tile.falloff; + tile.markDirty(); + + if(!world.isRemote) { + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("").nextTranslation(this.getUnlocalizedName() + (tile.falloff ? ".falloffOn" : ".falloffOff")).color(EnumChatFormatting.GOLD).flush(), MainRegistry.proxy.ID_FAN_MODE), (EntityPlayerMP) player); + + world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "random.click", 0.5F, 0.5F); + } + } + + return true; + } + + return false; } @Override diff --git a/src/main/java/com/hbm/blocks/machine/MachineFieldDisturber.java b/src/main/java/com/hbm/blocks/machine/MachineFieldDisturber.java index 4ad885409..751cff978 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineFieldDisturber.java +++ b/src/main/java/com/hbm/blocks/machine/MachineFieldDisturber.java @@ -1,20 +1,19 @@ package com.hbm.blocks.machine; -import java.util.Random; - import com.hbm.entity.logic.EntityNukeExplosionMK3; import com.hbm.entity.logic.EntityNukeExplosionMK3.ATEntry; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.world.World; +import java.util.Random; + public class MachineFieldDisturber extends Block { public MachineFieldDisturber() { super(Material.iron); } - + @Override public int tickRate(World world) { return 10; diff --git a/src/main/java/com/hbm/blocks/machine/MachineFrackingTower.java b/src/main/java/com/hbm/blocks/machine/MachineFrackingTower.java index 7c6281110..761aa10ed 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineFrackingTower.java +++ b/src/main/java/com/hbm/blocks/machine/MachineFrackingTower.java @@ -1,8 +1,5 @@ package com.hbm.blocks.machine; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.IPersistentInfoProvider; import com.hbm.handler.MultiblockHandlerXR; @@ -13,7 +10,6 @@ import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.oil.TileEntityMachineFrackingTower; import com.hbm.util.BobMathUtil; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -24,6 +20,9 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; + public class MachineFrackingTower extends BlockDummyable implements IPersistentInfoProvider { public MachineFrackingTower() { @@ -32,7 +31,7 @@ public class MachineFrackingTower extends BlockDummyable implements IPersistentI @Override public TileEntity createNewTileEntity(World world, int meta) { - + if(meta >= 12) return new TileEntityMachineFrackingTower(); if(meta >= 6) return new TileEntityProxyCombo(false, true, true); return null; @@ -50,9 +49,9 @@ public class MachineFrackingTower extends BlockDummyable implements IPersistentI @Override protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { - + if(!MultiblockHandlerXR.checkSpace(world, x, y + 2, z, new int[] {1, 0, 3, 3, 3, 3}, x, y, z, dir)) return false; - + if(!MultiblockHandlerXR.checkSpace(world, x - 2, y + 2, z - 2, new int[] {-1, 2, 0, 1, 0, 1}, x, y, z, ForgeDirection.NORTH)) return false; if(!MultiblockHandlerXR.checkSpace(world, x - 2, y + 2, z + 3, new int[] {-1, 2, 0, 1, 0, 1}, x, y, z, ForgeDirection.NORTH)) return false; if(!MultiblockHandlerXR.checkSpace(world, x + 3, y + 2, z - 2, new int[] {-1, 2, 0, 1, 0, 1}, x, y, z, ForgeDirection.NORTH)) return false; @@ -62,7 +61,7 @@ public class MachineFrackingTower extends BlockDummyable implements IPersistentI if(!MultiblockHandlerXR.checkSpace(world, x, y, z, new int[] {24, -9, 1, 1, 1, 1}, x, y, z, dir)) return false; if(!MultiblockHandlerXR.checkSpace(world, x, y + 15, z, new int[] {1, 0, 1, 1, -2, 3}, x, y, z, dir)) return false; - + return super.checkRequirement(world, x, y, z, dir, o); } @@ -78,29 +77,29 @@ public class MachineFrackingTower extends BlockDummyable implements IPersistentI MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] {10, -4, 2, 2, 2, 2}, this, dir); MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] {24, -9, 1, 1, 1, 1}, this, dir); - + MultiblockHandlerXR.fillSpace(world, x, y + 15, z, new int[] {1, 0, 1, 1, -2, 3}, this, ForgeDirection.WEST); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - + if(world.isRemote) { return true; } else if(!player.isSneaking()) { - + int[] pos = this.findCore(world, x, y, z); - + if(pos == null) return false; - + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); return true; } else { return true; } } - + @Override public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { return IPersistentNBT.getDrops(world, x, y, z, this); diff --git a/src/main/java/com/hbm/blocks/machine/MachineFractionTower.java b/src/main/java/com/hbm/blocks/machine/MachineFractionTower.java index 5c60f53df..b1b7dfd77 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineFractionTower.java +++ b/src/main/java/com/hbm/blocks/machine/MachineFractionTower.java @@ -1,15 +1,12 @@ package com.hbm.blocks.machine; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ILookOverlay; import com.hbm.inventory.fluid.FluidType; import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.oil.TileEntityMachineFractionTower; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -22,6 +19,9 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; + public class MachineFractionTower extends BlockDummyable implements ILookOverlay { public MachineFractionTower(Material mat) { @@ -30,12 +30,12 @@ public class MachineFractionTower extends BlockDummyable implements ILookOverlay @Override public TileEntity createNewTileEntity(World world, int meta) { - + if(meta >= 12) return new TileEntityMachineFractionTower(); if(meta >= extra) return new TileEntityProxyCombo(false, false, true); - + return null; } @@ -48,25 +48,25 @@ public class MachineFractionTower extends BlockDummyable implements ILookOverlay public int getOffset() { return 1; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - + if(!world.isRemote && !player.isSneaking()) { - + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IItemFluidIdentifier) { int[] pos = this.findCore(world, x, y, z); - + if(pos == null) return false; - + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); - + if(!(te instanceof TileEntityMachineFractionTower)) return false; - + TileEntityMachineFractionTower frac = (TileEntityMachineFractionTower) te; - + if(world.getTileEntity(pos[0], pos[1] - 3, pos[2]) instanceof TileEntityMachineFractionTower) { player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.RED + "You can only change the type in the bottom segment!")); } else { @@ -75,11 +75,11 @@ public class MachineFractionTower extends BlockDummyable implements ILookOverlay frac.markDirty(); player.addChatComponentMessage(new ChatComponentText("Changed type to ").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)).appendSibling(new ChatComponentTranslation(type.getConditionalName())).appendSibling(new ChatComponentText("!"))); } - + return true; } return false; - + } else { return true; } @@ -88,7 +88,7 @@ public class MachineFractionTower extends BlockDummyable implements ILookOverlay @Override public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { super.fillSpace(world, x, y, z, dir, o); - + x = x + dir.offsetX * o; z = z + dir.offsetZ * o; @@ -101,22 +101,22 @@ public class MachineFractionTower extends BlockDummyable implements ILookOverlay @Override public void printHook(Pre event, World world, int x, int y, int z) { int[] pos = this.findCore(world, x, y, z); - + if(pos == null) return; - + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); - + if(!(te instanceof TileEntityMachineFractionTower)) return; - + TileEntityMachineFractionTower cracker = (TileEntityMachineFractionTower) te; - + List text = new ArrayList(); for(int i = 0; i < cracker.tanks.length; i++) text.add((i == 0 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + cracker.tanks[i].getTankType().getLocalizedName() + ": " + cracker.tanks[i].getFill() + "/" + cracker.tanks[i].getMaxFill() + "mB"); - + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineHeatBoiler.java b/src/main/java/com/hbm/blocks/machine/MachineHeatBoiler.java index 66c2396d0..0994a696b 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineHeatBoiler.java +++ b/src/main/java/com/hbm/blocks/machine/MachineHeatBoiler.java @@ -15,7 +15,7 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityHeatBoiler; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; diff --git a/src/main/java/com/hbm/blocks/machine/MachineHeatBoilerIndustrial.java b/src/main/java/com/hbm/blocks/machine/MachineHeatBoilerIndustrial.java index 7869a74bd..15929f0d8 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineHeatBoilerIndustrial.java +++ b/src/main/java/com/hbm/blocks/machine/MachineHeatBoilerIndustrial.java @@ -1,9 +1,5 @@ package com.hbm.blocks.machine; -import java.util.ArrayList; -import java.util.List; -import java.util.Locale; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ITooltipProvider; @@ -13,7 +9,7 @@ import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingType; import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityHeatBoilerIndustrial; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -27,6 +23,10 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + public class MachineHeatBoilerIndustrial extends BlockDummyable implements ILookOverlay, ITooltipProvider { public MachineHeatBoilerIndustrial() { @@ -35,32 +35,32 @@ public class MachineHeatBoilerIndustrial extends BlockDummyable implements ILook @Override public TileEntity createNewTileEntity(World world, int meta) { - + if(meta >= 12) return new TileEntityHeatBoilerIndustrial(); if(meta >= extra) return new TileEntityProxyCombo().fluid(); return null; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - + if(!world.isRemote && !player.isSneaking()) { - + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IItemFluidIdentifier) { int[] pos = this.findCore(world, x, y, z); - + if(pos == null) return false; - + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); - + if(!(te instanceof TileEntityHeatBoilerIndustrial)) return false; - + TileEntityHeatBoilerIndustrial boiler = (TileEntityHeatBoilerIndustrial) te; - + FluidType type = ((IItemFluidIdentifier) player.getHeldItem().getItem()).getType(world, pos[0], pos[1], pos[2], player.getHeldItem()); - + if(type.hasTrait(FT_Heatable.class) && type.getTrait(FT_Heatable.class).getEfficiency(HeatingType.BOILER) > 0) { boiler.tanks[0].setTankType(type); boiler.markDirty(); @@ -69,7 +69,7 @@ public class MachineHeatBoilerIndustrial extends BlockDummyable implements ILook return true; } return false; - + } else { return true; } @@ -98,24 +98,24 @@ public class MachineHeatBoilerIndustrial extends BlockDummyable implements ILook @Override public void printHook(Pre event, World world, int x, int y, int z) { - + int[] pos = this.findCore(world, x, y, z); - + if(pos == null) return; - + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); - + if(!(te instanceof TileEntityHeatBoilerIndustrial)) return; - + TileEntityHeatBoilerIndustrial boiler = (TileEntityHeatBoilerIndustrial) te; - + List text = new ArrayList(); text.add(String.format(Locale.US, "%,d", boiler.heat) + "TU"); text.add(EnumChatFormatting.GREEN + "-> " + EnumChatFormatting.RESET + boiler.tanks[0].getTankType().getLocalizedName() + ": " + String.format(Locale.US, "%,d", boiler.tanks[0].getFill()) + " / " + String.format(Locale.US, "%,d", boiler.tanks[0].getMaxFill()) + "mB"); text.add(EnumChatFormatting.RED + "<- " + EnumChatFormatting.RESET + boiler.tanks[1].getTankType().getLocalizedName() + ": " + String.format(Locale.US, "%,d", boiler.tanks[1].getFill()) + " / " + String.format(Locale.US, "%,d", boiler.tanks[1].getMaxFill()) + "mB"); - + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } diff --git a/src/main/java/com/hbm/blocks/machine/MachineHephaestus.java b/src/main/java/com/hbm/blocks/machine/MachineHephaestus.java index b6a628c78..bad4a611f 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineHephaestus.java +++ b/src/main/java/com/hbm/blocks/machine/MachineHephaestus.java @@ -11,7 +11,7 @@ import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityMachineHephaestus; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/com/hbm/blocks/machine/MachineHydrotreater.java b/src/main/java/com/hbm/blocks/machine/MachineHydrotreater.java index c1ed1c005..a0b223a91 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineHydrotreater.java +++ b/src/main/java/com/hbm/blocks/machine/MachineHydrotreater.java @@ -1,14 +1,11 @@ package com.hbm.blocks.machine; -import java.util.List; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.IPersistentInfoProvider; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.oil.TileEntityMachineHydrotreater; - import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -18,6 +15,8 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.List; + public class MachineHydrotreater extends BlockDummyable implements IPersistentInfoProvider { public MachineHydrotreater(Material mat) { @@ -30,7 +29,7 @@ public class MachineHydrotreater extends BlockDummyable implements IPersistentIn if(meta >= 6) return new TileEntityProxyCombo().fluid().power(); return null; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { return standardOpenBehavior(world, x, y, z, player, side); @@ -51,7 +50,7 @@ public class MachineHydrotreater extends BlockDummyable implements IPersistentIn @Override public void addInformation(ItemStack stack, NBTTagCompound persistentTag, EntityPlayer player, List list, boolean ext) { - + for(int i = 0; i < 4; i++) { FluidTank tank = new FluidTank(Fluids.NONE, 0); tank.readFromNBT(persistentTag, "" + i); diff --git a/src/main/java/com/hbm/blocks/machine/MachineICFController.java b/src/main/java/com/hbm/blocks/machine/MachineICFController.java index 321d8307d..f2b16f3f6 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineICFController.java +++ b/src/main/java/com/hbm/blocks/machine/MachineICFController.java @@ -1,22 +1,16 @@ package com.hbm.blocks.machine; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map.Entry; - import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.BlockICF.TileEntityBlockICF; import com.hbm.blocks.machine.BlockICFLaserComponent.EnumICFPart; +import com.hbm.handler.threading.PacketThreading; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.tileentity.machine.TileEntityICFController; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -36,8 +30,14 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map.Entry; + public class MachineICFController extends BlockContainer implements ILookOverlay { - + @SideOnly(Side.CLIENT) private IIcon iconFront; @@ -49,43 +49,43 @@ public class MachineICFController extends BlockContainer implements ILookOverlay public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityICFController(); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { super.registerBlockIcons(iconRegister); this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":icf_controller"); } - + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); } - + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - + if(i == 0) world.setBlockMetadataWithNotify(x, y, z, 2, 2); if(i == 1) world.setBlockMetadataWithNotify(x, y, z, 5, 2); if(i == 2) world.setBlockMetadataWithNotify(x, y, z, 3, 2); if(i == 3) world.setBlockMetadataWithNotify(x, y, z, 4, 2); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - + if(world.isRemote) { return true; } else if(!player.isSneaking()) { TileEntityICFController controller = (TileEntityICFController) world.getTileEntity(x, y, z); - + if(!controller.assembled) { assemble(world, x, y, z, player); } - + return true; } else { return false; @@ -101,7 +101,7 @@ public class MachineICFController extends BlockContainer implements ILookOverlay private static HashSet turbochargers = new HashSet(); private static boolean errored; private static final int maxSize = 1024; - + public void assemble(World world, int x, int y, int z, EntityPlayer player) { assembly.clear(); casings.clear(); @@ -111,27 +111,27 @@ public class MachineICFController extends BlockContainer implements ILookOverlay capacitors.clear(); turbochargers.clear(); assembly.put(new BlockPos(x, y, z), 0); - + ForgeDirection dir = ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z)).getOpposite(); - + errored = false; floodFill(world, x + dir.offsetX, y, z + dir.offsetZ, player); assembly.remove(new BlockPos(x, y, z)); - + TileEntityICFController controller = (TileEntityICFController) world.getTileEntity(x, y, z); - + if(!errored) { - + for(Entry entry : assembly.entrySet()) { - + BlockPos pos = entry.getKey(); - + if(ports.contains(pos)) { world.setBlock(pos.getX(), pos.getY(), pos.getZ(), ModBlocks.icf_block, 1, 3); } else { world.setBlock(pos.getX(), pos.getY(), pos.getZ(), ModBlocks.icf_block, 0, 3); } - + TileEntityBlockICF icf = (TileEntityBlockICF) world.getTileEntity(pos.getX(), pos.getY(), pos.getZ()); icf.block = ModBlocks.icf_laser_component; icf.meta = entry.getValue(); @@ -140,12 +140,12 @@ public class MachineICFController extends BlockContainer implements ILookOverlay icf.coreZ = z; icf.markDirty(); } - + controller.setup(ports, cells, emitters, capacitors, turbochargers); controller.markDirty(); } controller.assembled = !errored; - + assembly.clear(); casings.clear(); ports.clear(); @@ -154,24 +154,24 @@ public class MachineICFController extends BlockContainer implements ILookOverlay capacitors.clear(); turbochargers.clear(); } - + private void floodFill(World world, int x, int y, int z, EntityPlayer player) { - + BlockPos pos = new BlockPos(x, y, z); - + if(assembly.containsKey(pos)) return; if(assembly.size() >= maxSize) { errored = true; sendError(world, x, y, z, "Max size exceeded", player); return; } - + Block block = world.getBlock(x, y, z); int meta = world.getBlockMetadata(x, y, z); boolean validCasing = false; boolean validCore = false; - + if(block == ModBlocks.icf_laser_component) { if(meta == EnumICFPart.CASING.ordinal()) { casings.add(pos); validCasing = true; } if(meta == EnumICFPart.PORT.ordinal()) { ports.add(pos); validCasing = true; } @@ -180,12 +180,12 @@ public class MachineICFController extends BlockContainer implements ILookOverlay if(meta == EnumICFPart.CAPACITOR.ordinal()) { capacitors.add(pos); validCore = true; } if(meta == EnumICFPart.TURBO.ordinal()) { turbochargers.add(pos); validCore = true; } } - + if(validCasing) { assembly.put(pos, meta); return; } - + if(validCore) { assembly.put(pos, meta); floodFill(world, x + 1, y, z, player); @@ -200,7 +200,7 @@ public class MachineICFController extends BlockContainer implements ILookOverlay sendError(world, x, y, z, "Non-laser block", player); errored = true; } - + private void sendError(World world, int x, int y, int z, String message, EntityPlayer player) { if(player instanceof EntityPlayerMP) { @@ -210,7 +210,7 @@ public class MachineICFController extends BlockContainer implements ILookOverlay data.setInteger("expires", 5_000); data.setDouble("dist", 128D); if(message != null) data.setString("label", message); - PacketDispatcher.wrapper.sendTo(new AuxParticlePacketNT(data, x, y, z), (EntityPlayerMP) player); + PacketThreading.createSendToThreadedPacket(new AuxParticlePacketNT(data, x, y, z), (EntityPlayerMP) player); } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineICFPress.java b/src/main/java/com/hbm/blocks/machine/MachineICFPress.java index 0acf7ff0f..31e0214ca 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineICFPress.java +++ b/src/main/java/com/hbm/blocks/machine/MachineICFPress.java @@ -6,7 +6,7 @@ import com.hbm.blocks.ITooltipProvider; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityICFPress; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; diff --git a/src/main/java/com/hbm/blocks/machine/MachineIntake.java b/src/main/java/com/hbm/blocks/machine/MachineIntake.java new file mode 100644 index 000000000..5f6dbfc30 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineIntake.java @@ -0,0 +1,50 @@ +package com.hbm.blocks.machine; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ILookOverlay; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.TileEntityMachineIntake; +import com.hbm.util.BobMathUtil; +import com.hbm.util.i18n.I18nUtil; + +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; + +public class MachineIntake extends BlockDummyable implements ILookOverlay { + + public MachineIntake() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityMachineIntake(); + return new TileEntityProxyCombo().power().fluid(); + } + + @Override public int[] getDimensions() { return new int[] {0, 0, 1, 0, 1, 0}; } + @Override public int getOffset() { return 0; } + + @Override + public void printHook(Pre event, World world, int x, int y, int z) { + + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return; + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); + if(!(te instanceof TileEntityMachineIntake)) return; + + TileEntityMachineIntake intake = (TileEntityMachineIntake) te; + + List text = new ArrayList(); + text.add((intake.power < intake.getMaxPower() / 20 ? EnumChatFormatting.RED : EnumChatFormatting.GREEN) + "Power: " + BobMathUtil.getShortNumber(intake.power) + "HE"); + text.add(EnumChatFormatting.RED + "<- " + EnumChatFormatting.RESET + intake.compair.getTankType().getLocalizedName() + ": " + intake.compair.getFill() + "/" + intake.compair.getMaxFill() + "mB"); + + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineLargeTurbine.java b/src/main/java/com/hbm/blocks/machine/MachineLargeTurbine.java index 8150f91e6..cc8328dd3 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineLargeTurbine.java +++ b/src/main/java/com/hbm/blocks/machine/MachineLargeTurbine.java @@ -1,13 +1,10 @@ package com.hbm.blocks.machine; -import java.util.List; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ITooltipProvider; import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityMachineLargeTurbine; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; @@ -18,6 +15,8 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.List; + public class MachineLargeTurbine extends BlockDummyable implements ITooltipProvider { public MachineLargeTurbine(Material mat) { @@ -26,13 +25,13 @@ public class MachineLargeTurbine extends BlockDummyable implements ITooltipProvi @Override public TileEntity createNewTileEntity(World world, int meta) { - + if(meta >= 12) return new TileEntityMachineLargeTurbine(); - + if(meta >= 6) return new TileEntityProxyCombo(false, true, true); - + return null; } @@ -45,7 +44,7 @@ public class MachineLargeTurbine extends BlockDummyable implements ITooltipProvi public int getOffset() { return 1; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) @@ -54,20 +53,20 @@ public class MachineLargeTurbine extends BlockDummyable implements ITooltipProvi } else if(!player.isSneaking()) { int[] pos = this.findCore(world, x, y, z); - + if(pos == null) return false; - + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); return true; } else { return true; } } - + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { - + super.onBlockPlacedBy(world, x, y, z, player, itemStack); if(world.isRemote) @@ -75,7 +74,7 @@ public class MachineLargeTurbine extends BlockDummyable implements ITooltipProvi int k = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; ForgeDirection dir = ForgeDirection.NORTH; - + if(k == 0) dir = ForgeDirection.getOrientation(2); if(k == 1) @@ -84,9 +83,9 @@ public class MachineLargeTurbine extends BlockDummyable implements ITooltipProvi dir = ForgeDirection.getOrientation(3); if(k == 3) dir = ForgeDirection.getOrientation(4); - + ForgeDirection dir2 = dir.getRotation(ForgeDirection.UP); - + //back connector this.makeExtra(world, x + dir.offsetX * -4, y, z + dir.offsetZ * -4); //front connector @@ -94,7 +93,7 @@ public class MachineLargeTurbine extends BlockDummyable implements ITooltipProvi int xc = x - dir.offsetX; int zc = z - dir.offsetZ; - + //side connectors this.makeExtra(world, xc + dir2.offsetX, y, zc + dir2.offsetZ); this.makeExtra(world, xc - dir2.offsetX, y, zc - dir2.offsetZ); diff --git a/src/main/java/com/hbm/blocks/machine/MachineLiquefactor.java b/src/main/java/com/hbm/blocks/machine/MachineLiquefactor.java index 48165752b..6348106d6 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineLiquefactor.java +++ b/src/main/java/com/hbm/blocks/machine/MachineLiquefactor.java @@ -1,12 +1,9 @@ package com.hbm.blocks.machine; -import java.util.List; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ITooltipProvider; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.oil.TileEntityMachineLiquefactor; - import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -14,6 +11,8 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.List; + public class MachineLiquefactor extends BlockDummyable implements ITooltipProvider { public MachineLiquefactor() { @@ -22,13 +21,13 @@ public class MachineLiquefactor extends BlockDummyable implements ITooltipProvid @Override public TileEntity createNewTileEntity(World world, int meta) { - + if(meta >= 12) return new TileEntityMachineLiquefactor(); - + if(meta >= extra) return new TileEntityProxyCombo(true, true, true); - + return null; } @@ -36,7 +35,7 @@ public class MachineLiquefactor extends BlockDummyable implements ITooltipProvid public int[] getDimensions() { return new int[] {3, 0, 1, 1, 1, 1}; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { return this.standardOpenBehavior(world, x, y, z, player, 0); @@ -50,12 +49,12 @@ public class MachineLiquefactor extends BlockDummyable implements ITooltipProvid @Override public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { super.fillSpace(world, x, y, z, dir, o); - + x = x + dir.offsetX * o; z = z + dir.offsetZ * o; this.makeExtra(world, x, y + 3, z); - + this.makeExtra(world, x + 1, y + 1, z); this.makeExtra(world, x - 1, y + 1, z); this.makeExtra(world, x, y + 1, z + 1); diff --git a/src/main/java/com/hbm/blocks/machine/MachineMiningLaser.java b/src/main/java/com/hbm/blocks/machine/MachineMiningLaser.java index ada5bff34..b8fd117ec 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineMiningLaser.java +++ b/src/main/java/com/hbm/blocks/machine/MachineMiningLaser.java @@ -1,14 +1,11 @@ package com.hbm.blocks.machine; -import java.util.List; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ITooltipProvider; import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.TileEntityProxyEnergy; import com.hbm.tileentity.machine.TileEntityMachineMiningLaser; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -17,6 +14,8 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.List; + public class MachineMiningLaser extends BlockDummyable implements ITooltipProvider { public MachineMiningLaser(Material mat) { @@ -29,7 +28,7 @@ public class MachineMiningLaser extends BlockDummyable implements ITooltipProvid if(meta >= 12) return new TileEntityMachineMiningLaser(); if(meta == 7) return new TileEntityProxyEnergy(); if(meta >= 6) return new TileEntityProxyCombo().inventory().fluid(); - + return null; } @@ -47,26 +46,26 @@ public class MachineMiningLaser extends BlockDummyable implements ITooltipProvid public int getHeightOffset() { return -1; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - + if(world.isRemote) { return true; } else if(!player.isSneaking()) { - + int[] pos = this.findCore(world, x, y, z); - + if(pos == null) return false; - + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); return true; } else { return true; } } - + protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { super.fillSpace(world, x, y, z, dir, o); @@ -78,7 +77,7 @@ public class MachineMiningLaser extends BlockDummyable implements ITooltipProvid this.makeExtra(world, x - 1, y, z); this.makeExtra(world, x, y, z + 1); this.makeExtra(world, x, y, z - 1); - + this.makeExtra(world, x, y + 1, z); } diff --git a/src/main/java/com/hbm/blocks/machine/MachineMissileAssembly.java b/src/main/java/com/hbm/blocks/machine/MachineMissileAssembly.java index ef271e773..87f345b66 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineMissileAssembly.java +++ b/src/main/java/com/hbm/blocks/machine/MachineMissileAssembly.java @@ -1,11 +1,8 @@ package com.hbm.blocks.machine; -import java.util.Random; - import com.hbm.handler.BossSpawnHandler; import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityMachineMissileAssembly; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; @@ -20,6 +17,8 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; +import java.util.Random; + public class MachineMissileAssembly extends BlockContainer { public MachineMissileAssembly(Material p_i45386_1_) { @@ -45,7 +44,7 @@ public class MachineMissileAssembly extends BlockContainer { public boolean renderAsNormalBlock() { return false; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) { @@ -65,7 +64,7 @@ public class MachineMissileAssembly extends BlockContainer { } private final Random field_149933_a = new Random(); - + @Override public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) { @@ -111,11 +110,11 @@ public class MachineMissileAssembly extends BlockContainer { super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); } - + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - + if(i == 0) { world.setBlockMetadataWithNotify(x, y, z, 2, 2); @@ -132,7 +131,7 @@ public class MachineMissileAssembly extends BlockContainer { { world.setBlockMetadataWithNotify(x, y, z, 4, 2); } - + if(itemStack.hasDisplayName()) { ((TileEntityMachineMissileAssembly)world.getTileEntity(x, y, z)).setCustomName(itemStack.getDisplayName()); diff --git a/src/main/java/com/hbm/blocks/machine/MachineNukeFurnace.java b/src/main/java/com/hbm/blocks/machine/MachineNukeFurnace.java deleted file mode 100644 index de87c78ae..000000000 --- a/src/main/java/com/hbm/blocks/machine/MachineNukeFurnace.java +++ /dev/null @@ -1,269 +0,0 @@ -package com.hbm.blocks.machine; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; -import com.hbm.lib.RefStrings; -import com.hbm.main.MainRegistry; -import com.hbm.tileentity.machine.TileEntityNukeFurnace; - -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; - -public class MachineNukeFurnace extends BlockContainer { - - private final Random field_149933_a = new Random(); - private final boolean isActive; - private static boolean keepInventory; - - @SideOnly(Side.CLIENT) - private IIcon iconTop; - @SideOnly(Side.CLIENT) - private IIcon iconFront; - - public MachineNukeFurnace(boolean blockState) { - super(Material.iron); - isActive = blockState; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_nuke_furnace_base_alt"); - this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":machine_nuke_furnace_front_on_alt" : ":machine_nuke_furnace_front_off_alt")); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_nuke_furnace_side_alt"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata) { - return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : (side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon))); - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) - { - return Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off); - } - - @Override - public void onBlockAdded(World world, int x, int y, int z) { - super.onBlockAdded(world, x, y, z); - this.setDefaultDirection(world, x, y, z); - } - - private void setDefaultDirection(World world, int x, int y, int z) { - if(!world.isRemote) - { - Block block1 = world.getBlock(x, y, z - 1); - Block block2 = world.getBlock(x, y, z + 1); - Block block3 = world.getBlock(x - 1, y, z); - Block block4 = world.getBlock(x + 1, y, z); - - byte b0 = 3; - - if(block1.func_149730_j() && !block2.func_149730_j()) - { - b0 = 3; - } - if(block2.func_149730_j() && !block1.func_149730_j()) - { - b0 = 2; - } - if(block3.func_149730_j() && !block4.func_149730_j()) - { - b0 = 5; - } - if(block4.func_149730_j() && !block3.func_149730_j()) - { - b0 = 4; - } - - world.setBlockMetadataWithNotify(x, y, z, b0, 2); - } - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { - int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - - if(i == 0) - { - world.setBlockMetadataWithNotify(x, y, z, 2, 2); - } - if(i == 1) - { - world.setBlockMetadataWithNotify(x, y, z, 5, 2); - } - if(i == 2) - { - world.setBlockMetadataWithNotify(x, y, z, 3, 2); - } - if(i == 3) - { - world.setBlockMetadataWithNotify(x, y, z, 4, 2); - } - - if(itemStack.hasDisplayName()) - { - ((TileEntityNukeFurnace)world.getTileEntity(x, y, z)).setCustomName(itemStack.getDisplayName()); - } - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) - { - return true; - } else if(!player.isSneaking()) - { - TileEntityNukeFurnace entity = (TileEntityNukeFurnace) world.getTileEntity(x, y, z); - if(entity != null) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); - } - return true; - } else { - return false; - } - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityNukeFurnace(); - } - - public static void updateBlockState(boolean isProcessing, World world, int x, int y, int z) { - int i = world.getBlockMetadata(x, y, z); - TileEntity entity = world.getTileEntity(x, y, z); - keepInventory = true; - - if(isProcessing) - { - world.setBlock(x, y, z, ModBlocks.machine_nuke_furnace_on); - }else{ - world.setBlock(x, y, z, ModBlocks.machine_nuke_furnace_off); - } - - keepInventory = false; - world.setBlockMetadataWithNotify(x, y, z, i, 2); - - if(entity != null) { - entity.validate(); - world.setTileEntity(x, y, z, entity); - } - } - - @Override - public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) - { - if (!keepInventory) - { - TileEntityNukeFurnace tileentityfurnace = (TileEntityNukeFurnace)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); - - if (tileentityfurnace != null) - { - for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) - { - ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); - - if (itemstack != null) - { - float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - - while (itemstack.stackSize > 0) - { - int j1 = this.field_149933_a.nextInt(21) + 10; - - if (j1 > itemstack.stackSize) - { - j1 = itemstack.stackSize; - } - - itemstack.stackSize -= j1; - EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); - - if (itemstack.hasTagCompound()) - { - entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); - } - - float f3 = 0.05F; - entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3; - entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F; - entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3; - p_149749_1_.spawnEntityInWorld(entityitem); - } - } - } - - p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); - } - } - - super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); - } - - @Override - @SideOnly(Side.CLIENT) - public void randomDisplayTick(World p_149734_1_, int x, int y, int z, Random rand) - { - if (isActive) - { - int l = p_149734_1_.getBlockMetadata(x, y, z); - float f = x + 0.5F; - float f1 = y + 0.25F + rand.nextFloat() * 6.0F / 16.0F; - float f2 = z + 0.5F; - float f3 = 0.52F; - float f4 = rand.nextFloat() * 0.6F - 0.3F; - rand.nextFloat(); - rand.nextFloat(); - - if (l == 4) - { - p_149734_1_.spawnParticle("smoke", f - f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); - p_149734_1_.spawnParticle("flame", f - f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); - } - else if (l == 5) - { - p_149734_1_.spawnParticle("smoke", f + f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); - p_149734_1_.spawnParticle("flame", f + f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); - } - else if (l == 2) - { - p_149734_1_.spawnParticle("smoke", f + f4, f1, f2 - f3, 0.0D, 0.0D, 0.0D); - p_149734_1_.spawnParticle("flame", f + f4, f1, f2 - f3, 0.0D, 0.0D, 0.0D); - } - else if (l == 3) - { - p_149734_1_.spawnParticle("smoke", f + f4, f1, f2 + f3, 0.0D, 0.0D, 0.0D); - p_149734_1_.spawnParticle("flame", f + f4, f1, f2 + f3, 0.0D, 0.0D, 0.0D); - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public Item getItem(World p_149694_1_, int p_149694_2_, int p_149694_3_, int p_149694_4_) - { - return Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off); - } - -} diff --git a/src/main/java/com/hbm/blocks/machine/MachinePWRController.java b/src/main/java/com/hbm/blocks/machine/MachinePWRController.java index 4c9654659..0d27ea490 100644 --- a/src/main/java/com/hbm/blocks/machine/MachinePWRController.java +++ b/src/main/java/com/hbm/blocks/machine/MachinePWRController.java @@ -1,19 +1,14 @@ package com.hbm.blocks.machine; -import java.util.HashMap; -import java.util.List; -import java.util.Map.Entry; - import com.hbm.blocks.ITooltipProvider; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.BlockPWR.TileEntityBlockPWR; +import com.hbm.handler.threading.PacketThreading; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.tileentity.machine.TileEntityPWRController; import com.hbm.util.fauxpointtwelve.BlockPos; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -32,8 +27,12 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.HashMap; +import java.util.List; +import java.util.Map.Entry; + public class MachinePWRController extends BlockContainer implements ITooltipProvider { - + @SideOnly(Side.CLIENT) private IIcon iconFront; @@ -45,45 +44,45 @@ public class MachinePWRController extends BlockContainer implements ITooltipProv public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityPWRController(); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { super.registerBlockIcons(iconRegister); this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":pwr_controller"); } - + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); } - + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - + if(i == 0) world.setBlockMetadataWithNotify(x, y, z, 2, 2); if(i == 1) world.setBlockMetadataWithNotify(x, y, z, 5, 2); if(i == 2) world.setBlockMetadataWithNotify(x, y, z, 3, 2); if(i == 3) world.setBlockMetadataWithNotify(x, y, z, 4, 2); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - + if(world.isRemote) { return true; } else if(!player.isSneaking()) { TileEntityPWRController controller = (TileEntityPWRController) world.getTileEntity(x, y, z); - + if(!controller.assembled) { assemble(world, x, y, z, player); } else { FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); } - + return true; } else { return false; @@ -95,44 +94,44 @@ public class MachinePWRController extends BlockContainer implements ITooltipProv private static HashMap sources = new HashMap(); private static boolean errored; private static final int maxSize = 4096; - + public void assemble(World world, int x, int y, int z, EntityPlayer player) { assembly.clear(); fuelRods.clear(); sources.clear(); assembly.put(new BlockPos(x, y, z), this); - + ForgeDirection dir = ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z)).getOpposite(); - + errored = false; floodFill(world, x + dir.offsetX, y, z + dir.offsetZ, player); - + if(fuelRods.size() == 0){ sendError(world, x, y, z, "Fuel rods required", player); errored = true; } - + if(sources.size() == 0) { sendError(world, x, y, z, "Neutron sources required", player); errored = true; } - + TileEntityPWRController controller = (TileEntityPWRController) world.getTileEntity(x, y, z); - + if(!errored) { for(Entry entry : assembly.entrySet()) { - + BlockPos pos = entry.getKey(); Block block = entry.getValue(); - + if(block != ModBlocks.pwr_controller) { - + if(block == ModBlocks.pwr_port) { world.setBlock(pos.getX(), pos.getY(), pos.getZ(), ModBlocks.pwr_block, 1, 3); } else { world.setBlock(pos.getX(), pos.getY(), pos.getZ(), ModBlocks.pwr_block, 0, 3); } - + TileEntityBlockPWR pwr = (TileEntityBlockPWR) world.getTileEntity(pos.getX(), pos.getY(), pos.getZ()); pwr.block = block; pwr.coreX = x; @@ -141,34 +140,34 @@ public class MachinePWRController extends BlockContainer implements ITooltipProv pwr.markDirty(); } } - + controller.setup(assembly, fuelRods); } controller.assembled = !errored; - + assembly.clear(); fuelRods.clear(); sources.clear(); } - + private void floodFill(World world, int x, int y, int z, EntityPlayer player) { - + BlockPos pos = new BlockPos(x, y, z); - + if(assembly.containsKey(pos)) return; if(assembly.size() >= maxSize) { errored = true; sendError(world, x, y, z, "Max size exceeded", player); return; } - + Block block = world.getBlock(x, y, z); - + if(isValidCasing(block)) { assembly.put(pos, block); return; } - + if(isValidCore(block)) { assembly.put(pos, block); if(block == ModBlocks.pwr_fuel) fuelRods.put(pos, block); @@ -185,7 +184,7 @@ public class MachinePWRController extends BlockContainer implements ITooltipProv sendError(world, x, y, z, "Non-reactor block", player); errored = true; } - + private void sendError(World world, int x, int y, int z, String message, EntityPlayer player) { if(player instanceof EntityPlayerMP) { @@ -195,10 +194,10 @@ public class MachinePWRController extends BlockContainer implements ITooltipProv data.setInteger("expires", 5_000); data.setDouble("dist", 128D); if(message != null) data.setString("label", message); - PacketDispatcher.wrapper.sendTo(new AuxParticlePacketNT(data, x, y, z), (EntityPlayerMP) player); + PacketThreading.createSendToThreadedPacket(new AuxParticlePacketNT(data, x, y, z), (EntityPlayerMP) player); } } - + private boolean isValidCore(Block block) { if(block == ModBlocks.pwr_fuel || block == ModBlocks.pwr_control || @@ -209,7 +208,7 @@ public class MachinePWRController extends BlockContainer implements ITooltipProv return true; return false; } - + private boolean isValidCasing(Block block) { if(block == ModBlocks.pwr_casing || block == ModBlocks.pwr_reflector || block == ModBlocks.pwr_port) return true; return false; diff --git a/src/main/java/com/hbm/blocks/machine/MachinePlasmaHeater.java b/src/main/java/com/hbm/blocks/machine/MachinePlasmaHeater.java index 08c7f164f..1c138339a 100644 --- a/src/main/java/com/hbm/blocks/machine/MachinePlasmaHeater.java +++ b/src/main/java/com/hbm/blocks/machine/MachinePlasmaHeater.java @@ -1,14 +1,11 @@ package com.hbm.blocks.machine; -import java.util.Random; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; import com.hbm.handler.MultiblockHandlerXR; import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityMachinePlasmaHeater; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.Block; import net.minecraft.block.material.Material; @@ -22,6 +19,8 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.Random; + public class MachinePlasmaHeater extends BlockDummyable { public MachinePlasmaHeater() { @@ -36,7 +35,7 @@ public class MachinePlasmaHeater extends BlockDummyable { if(meta >= 6) return new TileEntityProxyCombo(false, true, true); - + return null; } @@ -44,7 +43,7 @@ public class MachinePlasmaHeater extends BlockDummyable { public Item getItemDropped(int i, Random rand, int j) { return null; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) @@ -53,10 +52,10 @@ public class MachinePlasmaHeater extends BlockDummyable { } else if(!player.isSneaking()) { int[] pos = this.findCore(world, x, y, z); - + if(pos == null) return false; - + TileEntityMachinePlasmaHeater entity = (TileEntityMachinePlasmaHeater) world.getTileEntity(pos[0], pos[1], pos[2]); if(entity != null) { @@ -74,21 +73,21 @@ public class MachinePlasmaHeater extends BlockDummyable { MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {4, -3, 2, 1, 1, 1}, this, dir); MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + 2, z + dir.offsetZ * o, new int[] {0, 1, 10, -8, 0, 0}, this, dir); - + ForgeDirection side = dir.getRotation(ForgeDirection.UP); - + for(int i = 1; i < 4; i++) { for(int j = -1; j < 2; j++) { - + this.makeExtra(world, x + side.offsetX * j, y + i, z + side.offsetZ * j); } } } - + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - + float f = 0.0625F; - + if(world.getBlockMetadata(x, y, z) == ForgeDirection.UP.ordinal() && world.getBlock(x, y + 1, z) != this) { return AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + f * 8F, z + 1); } else if(world.getBlockMetadata(x, y, z) == ForgeDirection.DOWN.ordinal() && world.getBlock(x, y - 1, z) != this) { @@ -97,11 +96,11 @@ public class MachinePlasmaHeater extends BlockDummyable { return AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 1, z + 1); } } - + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { float f = 0.0625F; - + if(world.getBlockMetadata(x, y, z) == ForgeDirection.UP.ordinal() && world.getBlock(x, y + 1, z) != this) { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, f * 8F, 1.0F); } else if(world.getBlockMetadata(x, y, z) == ForgeDirection.DOWN.ordinal() && world.getBlock(x, y - 1, z) != this) { @@ -110,18 +109,18 @@ public class MachinePlasmaHeater extends BlockDummyable { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); } } - + protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, getDimensions(), x, y, z, dir)) return false; - + if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {4, -3, 1, 1, 1, 1}, x, y, z, dir)) return false; - + if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + 2, z + dir.offsetZ * o, new int[] {0, 1, 10, -8, 0, 0}, x, y, z, dir)) return false; - + return true; } @@ -134,12 +133,12 @@ public class MachinePlasmaHeater extends BlockDummyable { public int getOffset() { return 1; } - + @Override public void breakBlock(World world, int x, int y, int z, Block block, int i) { - + if(i >= 12) { - + for(int l = 0; l < 2; l++) world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_heater, 64))); diff --git a/src/main/java/com/hbm/blocks/machine/MachinePress.java b/src/main/java/com/hbm/blocks/machine/MachinePress.java index a28d22172..b02f3dab8 100644 --- a/src/main/java/com/hbm/blocks/machine/MachinePress.java +++ b/src/main/java/com/hbm/blocks/machine/MachinePress.java @@ -1,105 +1,64 @@ package com.hbm.blocks.machine; -import java.util.Random; - -import com.hbm.main.MainRegistry; +import com.hbm.blocks.BlockDummyable; +import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityMachinePress; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; + +import api.hbm.block.IToolable; import net.minecraft.block.material.Material; -import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -public class MachinePress extends BlockContainer { - - private final Random field_149933_a = new Random(); - private static boolean keepInventory; +public class MachinePress extends BlockDummyable implements IToolable { - public MachinePress(Material p_i45386_1_) { - super(p_i45386_1_); + public MachinePress(Material mat) { + super(mat); } @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityMachinePress(); + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityMachinePress(); + if(meta >= 6) return new TileEntityProxyCombo(true, false, false); + return null; } @Override - public int getRenderType() { - return -1; + public int[] getDimensions() { + return new int[] {2, 0, 0, 0, 0, 0}; } @Override - public boolean isOpaqueCube() { - return false; + public int getOffset() { + return 0; } @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) { - if(!keepInventory) { - TileEntityMachinePress tileentityfurnace = (TileEntityMachinePress) p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); - - if(tileentityfurnace != null) { - for(int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) { - ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); - - if(itemstack != null) { - float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - - while(itemstack.stackSize > 0) { - int j1 = this.field_149933_a.nextInt(21) + 10; - - if(j1 > itemstack.stackSize) { - j1 = itemstack.stackSize; - } - - itemstack.stackSize -= j1; - EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); - - if(itemstack.hasTagCompound()) { - entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); - } - - float f3 = 0.05F; - entityitem.motionX = (float) this.field_149933_a.nextGaussian() * f3; - entityitem.motionY = (float) this.field_149933_a.nextGaussian() * f3 + 0.2F; - entityitem.motionZ = (float) this.field_149933_a.nextGaussian() * f3; - p_149749_1_.spawnEntityInWorld(entityitem); - } - } - } - - p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); - } - } - - super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + protected boolean isLegacyMonoblock(World world, int x, int y, int z) { + TileEntity te = world.getTileEntity(x, y, z); + return te != null && te instanceof TileEntityMachinePress; } @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) { - return true; - } else if(!player.isSneaking()) { - TileEntityMachinePress entity = (TileEntityMachinePress) world.getTileEntity(x, y, z); - if(entity != null) { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); - } - return true; - } else { - return false; - } + return this.standardOpenBehavior(world, x, y, z, player, 0); } + + // Un-multiblickable with a hand drill for schenanigans + @Override + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + + if (tool != ToolType.HAND_DRILL) + return false; + + int meta = world.getBlockMetadata(x, y, z); + if (meta >= 12) + return false; + + safeRem = true; + world.setBlockToAir(x, y, z); + safeRem = false; + return true; + } + } diff --git a/src/main/java/com/hbm/blocks/machine/MachinePuF6Tank.java b/src/main/java/com/hbm/blocks/machine/MachinePuF6Tank.java index e26b9d810..ba671001c 100644 --- a/src/main/java/com/hbm/blocks/machine/MachinePuF6Tank.java +++ b/src/main/java/com/hbm/blocks/machine/MachinePuF6Tank.java @@ -2,28 +2,22 @@ package com.hbm.blocks.machine; import java.util.Random; -import com.hbm.blocks.ModBlocks; -import com.hbm.handler.MultiblockHandler; -import com.hbm.interfaces.IMultiblock; import com.hbm.lib.RefStrings; -import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.storage.TileEntityMachinePuF6Tank; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -public class MachinePuF6Tank extends BlockContainer implements IMultiblock { +public class MachinePuF6Tank extends BlockContainer { public MachinePuF6Tank(Material p_i45386_1_) { super(p_i45386_1_); @@ -57,7 +51,7 @@ public class MachinePuF6Tank extends BlockContainer implements IMultiblock { @Override public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return Item.getItemFromBlock(ModBlocks.machine_puf6_tank); + return null; } @Override @@ -76,26 +70,5 @@ public class MachinePuF6Tank extends BlockContainer implements IMultiblock { if(i == 3) { world.setBlockMetadataWithNotify(x, y, z, 4, 2); } - - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.uf6Dimension)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.uf6Dimension, ModBlocks.dummy_block_puf6); - - } else - world.func_147480_a(x, y, z, true); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) { - return true; - } else if(!player.isSneaking()) { - TileEntityMachinePuF6Tank entity = (TileEntityMachinePuF6Tank) world.getTileEntity(x, y, z); - if(entity != null) { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); - } - return true; - } else { - return false; - } } } diff --git a/src/main/java/com/hbm/blocks/machine/MachinePump.java b/src/main/java/com/hbm/blocks/machine/MachinePump.java index 1d2198029..f15ebd3c7 100644 --- a/src/main/java/com/hbm/blocks/machine/MachinePump.java +++ b/src/main/java/com/hbm/blocks/machine/MachinePump.java @@ -13,7 +13,7 @@ import com.hbm.tileentity.machine.TileEntityMachinePumpBase; import com.hbm.tileentity.machine.TileEntityMachinePumpElectric; import com.hbm.tileentity.machine.TileEntityMachinePumpSteam; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/com/hbm/blocks/machine/MachinePyroOven.java b/src/main/java/com/hbm/blocks/machine/MachinePyroOven.java new file mode 100644 index 000000000..a28eab1a7 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachinePyroOven.java @@ -0,0 +1,55 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.oil.TileEntityMachinePyroOven; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class MachinePyroOven extends BlockDummyable { + + public MachinePyroOven(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityMachinePyroOven(); + if(meta >= 6) return new TileEntityProxyCombo().inventory().power().fluid(); + return null; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + return this.standardOpenBehavior(world, x, y, z, player, 0); + } + + @Override + public int[] getDimensions() { + return new int[] {2, 0, 3, 3, 2, 2}; + } + + @Override + public int getOffset() { + return 3; + } + + @Override + protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + x += dir.offsetX * o; + z += dir.offsetZ * o; + + ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); + + for(int i = -2; i <= 2; i++) { + this.makeExtra(world, x + dir.offsetX * i + rot.offsetX * 2, y, z + dir.offsetZ * i + rot.offsetZ * 2); + } + + this.makeExtra(world, x - rot.offsetX, y + 2, z - rot.offsetZ); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineRadarScreen.java b/src/main/java/com/hbm/blocks/machine/MachineRadarScreen.java index 6f1df1a14..0f6e63d8e 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineRadarScreen.java +++ b/src/main/java/com/hbm/blocks/machine/MachineRadarScreen.java @@ -4,7 +4,6 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityMachineRadarNT; import com.hbm.tileentity.machine.TileEntityMachineRadarScreen; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -34,18 +33,18 @@ public class MachineRadarScreen extends BlockDummyable { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - + if(world.isRemote && !player.isSneaking()) { int[] pos = this.findCore(world, x, y, z); if(pos == null) return false; - + TileEntityMachineRadarScreen screen = (TileEntityMachineRadarScreen) world.getTileEntity(pos[0], pos[1], pos[2]); if(screen.linked && world.getTileEntity(screen.refX, screen.refY, screen.refZ) instanceof TileEntityMachineRadarNT) { FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, screen.refX, screen.refY, screen.refZ); } - + return false; } else if(!player.isSneaking()) { return true; diff --git a/src/main/java/com/hbm/blocks/machine/MachineReactorBreeding.java b/src/main/java/com/hbm/blocks/machine/MachineReactorBreeding.java index bde522787..29f5fa213 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineReactorBreeding.java +++ b/src/main/java/com/hbm/blocks/machine/MachineReactorBreeding.java @@ -4,7 +4,6 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyInventory; import com.hbm.tileentity.machine.TileEntityMachineReactorBreeding; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -12,20 +11,20 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class MachineReactorBreeding extends BlockDummyable { - + public MachineReactorBreeding(Material mat) { super(mat); } @Override public TileEntity createNewTileEntity(World world, int meta) { - + if(meta >= 12) return new TileEntityMachineReactorBreeding(); - + return new TileEntityProxyInventory(); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) @@ -34,10 +33,10 @@ public class MachineReactorBreeding extends BlockDummyable { } else if(!player.isSneaking()) { int[] pos = this.findCore(world, x, y, z); - + if(pos == null) return false; - + TileEntityMachineReactorBreeding entity = (TileEntityMachineReactorBreeding) world.getTileEntity(pos[0], pos[1], pos[2]); if(entity != null) { diff --git a/src/main/java/com/hbm/blocks/machine/MachineReactorControl.java b/src/main/java/com/hbm/blocks/machine/MachineReactorControl.java index 9b7cde970..4f3fc61bf 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineReactorControl.java +++ b/src/main/java/com/hbm/blocks/machine/MachineReactorControl.java @@ -1,11 +1,8 @@ package com.hbm.blocks.machine; -import java.util.Random; - import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityReactorControl; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -25,8 +22,10 @@ import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; +import java.util.Random; + public class MachineReactorControl extends BlockContainer { - + @SideOnly(Side.CLIENT) private IIcon iconTop; @SideOnly(Side.CLIENT) @@ -40,7 +39,7 @@ public class MachineReactorControl extends BlockContainer { public MachineReactorControl(Material p_i45386_1_) { super(p_i45386_1_); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { @@ -49,33 +48,33 @@ public class MachineReactorControl extends BlockContainer { this.iconBack = iconRegister.registerIcon(RefStrings.MODID + ":machine_controller_back"); this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_controller_side"); } - + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { - + if(metadata == 0) metadata = 3; - + if(metadata == side) return iconFront; - + if(side == 0 || side == 1) return iconTop; - + if(metadata == 2 && side == 3 || metadata == 3 && side == 2 || metadata == 4 && side == 5 || metadata == 5 && side == 4) return iconBack; - + return blockIcon; } - + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - + if(i == 0) { world.setBlockMetadataWithNotify(x, y, z, 2, 2); @@ -92,7 +91,7 @@ public class MachineReactorControl extends BlockContainer { { world.setBlockMetadataWithNotify(x, y, z, 4, 2); } - + if(itemStack.hasDisplayName()) { ((TileEntityReactorControl)world.getTileEntity(x, y, z)).setCustomName(itemStack.getDisplayName()); @@ -103,13 +102,13 @@ public class MachineReactorControl extends BlockContainer { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityReactorControl(); } - + @Override public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { return Item.getItemFromBlock(this); } - + @Override public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) { @@ -161,7 +160,7 @@ public class MachineReactorControl extends BlockContainer { super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) @@ -190,12 +189,12 @@ public class MachineReactorControl extends BlockContainer { public int getComparatorInputOverride(World world, int x, int y, int z, int p_149736_5_) { TileEntityReactorControl entity = (TileEntityReactorControl) world.getTileEntity(x, y, z); - + if(entity != null) { return (int)Math.ceil((double)entity.heat * 15D / 50000D); } - + return 0; } diff --git a/src/main/java/com/hbm/blocks/machine/MachineRotaryFurnace.java b/src/main/java/com/hbm/blocks/machine/MachineRotaryFurnace.java new file mode 100644 index 000000000..8dabf9e77 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineRotaryFurnace.java @@ -0,0 +1,116 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ILookOverlay; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.TileEntityMachineRotaryFurnace; +import com.hbm.util.i18n.I18nUtil; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent; +import net.minecraftforge.common.util.ForgeDirection; + +import java.util.ArrayList; +import java.util.List; + +public class MachineRotaryFurnace extends BlockDummyable implements ILookOverlay { + + public MachineRotaryFurnace(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityMachineRotaryFurnace(); + if(meta >= 6) return new TileEntityProxyCombo().inventory().fluid(); + return null; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + return this.standardOpenBehavior(world, x, y, z, player, 0); + } + + @Override + public int[] getDimensions() { + return new int[] {4, 0, 1, 1, 2, 2}; + } + + @Override + public int getOffset() { + return 1; + } + + @Override + protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + x += dir.offsetX * o; + z += dir.offsetZ * o; + + ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); + + //back + for(int i = -2; i <= 2; i++) { + this.makeExtra(world, x - dir.offsetX + rot.offsetX * i, y, z - dir.offsetZ + rot.offsetZ * i); + } + //side fluid + this.makeExtra(world, x + dir.offsetX + rot.offsetX * 2, y, z + dir.offsetZ + rot.offsetZ * 2); + //exhaust + this.makeExtra(world, x + rot.offsetX, y + 4, z + rot.offsetZ); + //solid fuel + this.makeExtra(world, x + dir.offsetX + rot.offsetX, y, z + dir.offsetZ + rot.offsetZ); + } + + @Override + public void printHook(RenderGameOverlayEvent.Pre event, World world, int x, int y, int z) { + + int[] pos = this.findCore(world, x, y, z); + + if(pos == null) return; + + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); + + if(!(te instanceof TileEntityMachineRotaryFurnace)) return; + + TileEntityMachineRotaryFurnace furnace = (TileEntityMachineRotaryFurnace) te; + + ForgeDirection dir = ForgeDirection.getOrientation(furnace.getBlockMetadata() - offset); + + List text = new ArrayList<>(); + + //steam + if(hitCheck(dir, pos[0], pos[1], pos[2], -1, -1, 0, x, y, z) || hitCheck(dir, pos[0], pos[1], pos[2], -1, -2, 0, x, y, z)) { + text.add(EnumChatFormatting.GREEN + "-> " + EnumChatFormatting.RESET + furnace.tanks[1].getTankType().getLocalizedName()); + text.add(EnumChatFormatting.RED + "<- " + EnumChatFormatting.RESET + furnace.tanks[2].getTankType().getLocalizedName()); + } + + //fluids + if(hitCheck(dir, pos[0], pos[1], pos[2], 1, 2, 0, x, y, z) || hitCheck(dir, pos[0], pos[1], pos[2], -1, 2, 0, x, y, z)) { + text.add(EnumChatFormatting.GREEN + "-> " + EnumChatFormatting.RESET + furnace.tanks[0].getTankType().getLocalizedName()); + } + + if(hitCheck(dir, pos[0], pos[1], pos[2], 1, 1, 0, x, y, z)) { + text.add(EnumChatFormatting.YELLOW + "-> " + EnumChatFormatting.RESET + "Fuel"); + } + + + if(!text.isEmpty()) { + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } + } + + protected boolean hitCheck(ForgeDirection dir, int coreX, int coreY, int coreZ, int exDir, int exRot, int exY, int hitX, int hitY, int hitZ) { + + ForgeDirection turn = dir.getRotation(ForgeDirection.DOWN); + + int iX = coreX + dir.offsetX * exDir + turn.offsetX * exRot; + int iY = coreY + exY; + int iZ = coreZ + dir.offsetZ * exDir + turn.offsetZ * exRot; + + return iX == hitX && iZ == hitZ && iY == hitY; + } + +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineSawmill.java b/src/main/java/com/hbm/blocks/machine/MachineSawmill.java index 8a112a2b2..b048f1866 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineSawmill.java +++ b/src/main/java/com/hbm/blocks/machine/MachineSawmill.java @@ -10,7 +10,7 @@ import com.hbm.items.ModItems; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntitySawmill; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; diff --git a/src/main/java/com/hbm/blocks/machine/MachineSchrabidiumTransmutator.java b/src/main/java/com/hbm/blocks/machine/MachineSchrabidiumTransmutator.java index d89764265..04bc79818 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineSchrabidiumTransmutator.java +++ b/src/main/java/com/hbm/blocks/machine/MachineSchrabidiumTransmutator.java @@ -1,12 +1,9 @@ package com.hbm.blocks.machine; -import java.util.Random; - import com.hbm.blocks.ModBlocks; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityMachineSchrabidiumTransmutator; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -23,16 +20,18 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; +import java.util.Random; + public class MachineSchrabidiumTransmutator extends BlockContainer { private final Random field_149933_a = new Random(); private static boolean keepInventory; - + @SideOnly(Side.CLIENT) //private IIcon iconFront; private IIcon iconTop; private IIcon iconBottom; - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { @@ -40,7 +39,7 @@ public class MachineSchrabidiumTransmutator extends BlockContainer { this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + (":transmutator_bottom")); this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":transmutator_side"); } - + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { @@ -50,13 +49,13 @@ public class MachineSchrabidiumTransmutator extends BlockContainer { public MachineSchrabidiumTransmutator(Material p_i45386_1_) { super(p_i45386_1_); } - + @Override public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { return Item.getItemFromBlock(ModBlocks.machine_schrabidium_transmutator); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) @@ -79,7 +78,7 @@ public class MachineSchrabidiumTransmutator extends BlockContainer { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityMachineSchrabidiumTransmutator(); } - + @Override public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) { diff --git a/src/main/java/com/hbm/blocks/machine/MachineSolarBoiler.java b/src/main/java/com/hbm/blocks/machine/MachineSolarBoiler.java index b4a9479ce..c97620d2b 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineSolarBoiler.java +++ b/src/main/java/com/hbm/blocks/machine/MachineSolarBoiler.java @@ -1,14 +1,12 @@ package com.hbm.blocks.machine; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ILookOverlay; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntitySolarBoiler; -import com.hbm.util.I18nUtil; +import com.hbm.util.BobMathUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; @@ -17,6 +15,9 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; + public class MachineSolarBoiler extends BlockDummyable implements ILookOverlay { public MachineSolarBoiler(Material mat) { @@ -25,12 +26,12 @@ public class MachineSolarBoiler extends BlockDummyable implements ILookOverlay { @Override public TileEntity createNewTileEntity(World world, int meta) { - + if(meta >= 12) return new TileEntitySolarBoiler(); if(meta >= extra) return new TileEntityProxyCombo(false, false, true); - + return null; } @@ -47,10 +48,10 @@ public class MachineSolarBoiler extends BlockDummyable implements ILookOverlay { @Override public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { super.fillSpace(world, x, y, z, dir, o); - + x = x + dir.offsetX * o; z = z + dir.offsetZ * o; - + this.makeExtra(world, x, y + 2, z); } @@ -62,18 +63,22 @@ public class MachineSolarBoiler extends BlockDummyable implements ILookOverlay { return; TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); - + if(!(te instanceof TileEntitySolarBoiler)) return; - + TileEntitySolarBoiler boiler = (TileEntitySolarBoiler) te; - + List text = new ArrayList<>(); FluidTank[] tanks = boiler.getAllTanks(); for(int i = 0; i < tanks.length; i++) text.add((i < 1 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + tanks[i].getTankType().getLocalizedName() + ": " + tanks[i].getFill() + "/" + tanks[i].getMaxFill() + "mB"); + + if(boiler.display < 1) { + text.add("&[" + (BobMathUtil.getBlink() ? 0xff0000 : 0xffff00) + "&]Too cold!"); + } ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } diff --git a/src/main/java/com/hbm/blocks/machine/MachineSolderingStation.java b/src/main/java/com/hbm/blocks/machine/MachineSolderingStation.java index 2d1ee34d1..a3d210b79 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineSolderingStation.java +++ b/src/main/java/com/hbm/blocks/machine/MachineSolderingStation.java @@ -3,7 +3,6 @@ package com.hbm.blocks.machine; import com.hbm.blocks.BlockDummyable; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityMachineSolderingStation; - import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; @@ -20,7 +19,7 @@ public class MachineSolderingStation extends BlockDummyable { if(meta >= 12) return new TileEntityMachineSolderingStation(); return new TileEntityProxyCombo().inventory().power().fluid(); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { return this.standardOpenBehavior(world, x, y, z, player, 0); diff --git a/src/main/java/com/hbm/blocks/machine/MachineSteamEngine.java b/src/main/java/com/hbm/blocks/machine/MachineSteamEngine.java index b3e1c8cd2..81c4033e8 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineSteamEngine.java +++ b/src/main/java/com/hbm/blocks/machine/MachineSteamEngine.java @@ -1,15 +1,11 @@ package com.hbm.blocks.machine; -import java.util.ArrayList; -import java.util.List; -import java.util.Locale; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ITooltipProvider; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntitySteamEngine; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -20,6 +16,10 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + public class MachineSteamEngine extends BlockDummyable implements ILookOverlay, ITooltipProvider { public MachineSteamEngine() { @@ -46,10 +46,10 @@ public class MachineSteamEngine extends BlockDummyable implements ILookOverlay, @Override public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { super.fillSpace(world, x, y, z, dir, o); - + x = x + dir.offsetX * o; z = z + dir.offsetZ * o; - + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); this.makeExtra(world, x + rot.offsetX, y + 1, z + rot.offsetZ); @@ -59,23 +59,23 @@ public class MachineSteamEngine extends BlockDummyable implements ILookOverlay, @Override public void printHook(Pre event, World world, int x, int y, int z) { - + int[] pos = this.findCore(world, x, y, z); - + if(pos == null) return; - + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); - + if(!(te instanceof TileEntitySteamEngine)) return; - + TileEntitySteamEngine engine = (TileEntitySteamEngine) te; List text = new ArrayList(); text.add(EnumChatFormatting.GREEN + "-> " + EnumChatFormatting.RESET + engine.tanks[0].getTankType().getLocalizedName() + ": " + String.format(Locale.US, "%,d", engine.tanks[0].getFill()) + " / " + String.format(Locale.US, "%,d", engine.tanks[0].getMaxFill()) + "mB"); text.add(EnumChatFormatting.RED + "<- " + EnumChatFormatting.RESET + engine.tanks[1].getTankType().getLocalizedName() + ": " + String.format(Locale.US, "%,d", engine.tanks[1].getFill()) + " / " + String.format(Locale.US, "%,d", engine.tanks[1].getMaxFill()) + "mB"); - + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } diff --git a/src/main/java/com/hbm/blocks/machine/MachineStirling.java b/src/main/java/com/hbm/blocks/machine/MachineStirling.java index 3cdfde1e7..29a79c6b0 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineStirling.java +++ b/src/main/java/com/hbm/blocks/machine/MachineStirling.java @@ -12,7 +12,7 @@ import com.hbm.items.ModItems; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityStirling; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; diff --git a/src/main/java/com/hbm/blocks/machine/MachineStrandCaster.java b/src/main/java/com/hbm/blocks/machine/MachineStrandCaster.java index 89435b761..354e91136 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineStrandCaster.java +++ b/src/main/java/com/hbm/blocks/machine/MachineStrandCaster.java @@ -10,7 +10,8 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.ItemScraps; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityMachineStrandCaster; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; + import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.item.EntityItem; diff --git a/src/main/java/com/hbm/blocks/machine/MachineTeleporter.java b/src/main/java/com/hbm/blocks/machine/MachineTeleporter.java index f702e0b4f..ca4f6b1e8 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineTeleporter.java +++ b/src/main/java/com/hbm/blocks/machine/MachineTeleporter.java @@ -7,7 +7,7 @@ import java.util.Locale; import com.hbm.blocks.ILookOverlay; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityMachineTeleporter; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/hbm/blocks/machine/MachineTowerLarge.java b/src/main/java/com/hbm/blocks/machine/MachineTowerLarge.java index 4279cc746..4d8b0a059 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineTowerLarge.java +++ b/src/main/java/com/hbm/blocks/machine/MachineTowerLarge.java @@ -7,7 +7,7 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ILookOverlay; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityTowerLarge; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; diff --git a/src/main/java/com/hbm/blocks/machine/MachineTowerSmall.java b/src/main/java/com/hbm/blocks/machine/MachineTowerSmall.java index 6b9bc5947..d78464a97 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineTowerSmall.java +++ b/src/main/java/com/hbm/blocks/machine/MachineTowerSmall.java @@ -7,7 +7,7 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ILookOverlay; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityTowerSmall; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; diff --git a/src/main/java/com/hbm/blocks/machine/MachineTransformer.java b/src/main/java/com/hbm/blocks/machine/MachineTransformer.java index 5f1980782..60751e333 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineTransformer.java +++ b/src/main/java/com/hbm/blocks/machine/MachineTransformer.java @@ -2,40 +2,31 @@ package com.hbm.blocks.machine; import com.hbm.blocks.ModBlocks; import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.TileEntityMachineTransformer; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.BlockContainer; +import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; -import net.minecraft.world.World; -public class MachineTransformer extends BlockContainer { +public class MachineTransformer extends Block { - long buffer; - int delay; - @SideOnly(Side.CLIENT) private IIcon iconTop; public MachineTransformer(Material p_i45394_1_, long b, int d) { super(p_i45394_1_); - buffer = b; - delay = d; } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { - - if(this == ModBlocks.machine_transformer || this == ModBlocks.machine_transformer_20) { + + if(this == ModBlocks.machine_transformer) { this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_transformer_top_iron"); this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_transformer_iron"); } - if(this == ModBlocks.machine_transformer_dnt || this == ModBlocks.machine_transformer_dnt_20) { + if(this == ModBlocks.machine_transformer_dnt) { this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_transformer_top"); this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_transformer"); } @@ -46,9 +37,4 @@ public class MachineTransformer extends BlockContainer { public IIcon getIcon(int side, int metadata) { return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon); } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityMachineTransformer(); - } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineTurbineGas.java b/src/main/java/com/hbm/blocks/machine/MachineTurbineGas.java index a17cf0fcc..99ec44ba6 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineTurbineGas.java +++ b/src/main/java/com/hbm/blocks/machine/MachineTurbineGas.java @@ -2,7 +2,7 @@ package com.hbm.blocks.machine; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityMachineTurbineGas; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/hbm/blocks/machine/MachineUF6Tank.java b/src/main/java/com/hbm/blocks/machine/MachineUF6Tank.java index e4ce120f8..07fcb7baa 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineUF6Tank.java +++ b/src/main/java/com/hbm/blocks/machine/MachineUF6Tank.java @@ -2,28 +2,22 @@ package com.hbm.blocks.machine; import java.util.Random; -import com.hbm.blocks.ModBlocks; -import com.hbm.handler.MultiblockHandler; -import com.hbm.interfaces.IMultiblock; import com.hbm.lib.RefStrings; -import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.storage.TileEntityMachineUF6Tank; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -public class MachineUF6Tank extends BlockContainer implements IMultiblock { +public class MachineUF6Tank extends BlockContainer { public MachineUF6Tank(Material p_i45386_1_) { super(p_i45386_1_); @@ -57,7 +51,7 @@ public class MachineUF6Tank extends BlockContainer implements IMultiblock { @Override public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return Item.getItemFromBlock(ModBlocks.machine_uf6_tank); + return null; } @Override @@ -76,26 +70,5 @@ public class MachineUF6Tank extends BlockContainer implements IMultiblock { if(i == 3) { world.setBlockMetadataWithNotify(x, y, z, 4, 2); } - - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.uf6Dimension)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.uf6Dimension, ModBlocks.dummy_block_uf6); - - } else - world.func_147480_a(x, y, z, true); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) { - return true; - } else if(!player.isSneaking()) { - TileEntityMachineUF6Tank entity = (TileEntityMachineUF6Tank) world.getTileEntity(x, y, z); - if(entity != null) { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); - } - return true; - } else { - return false; - } } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineVacuumDistill.java b/src/main/java/com/hbm/blocks/machine/MachineVacuumDistill.java index 6382054c7..ad06c6e1d 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineVacuumDistill.java +++ b/src/main/java/com/hbm/blocks/machine/MachineVacuumDistill.java @@ -3,7 +3,6 @@ package com.hbm.blocks.machine; import com.hbm.blocks.BlockDummyable; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.oil.TileEntityMachineVacuumDistill; - import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; @@ -22,7 +21,7 @@ public class MachineVacuumDistill extends BlockDummyable { if(meta >= 6) return new TileEntityProxyCombo().fluid().power(); return null; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { return standardOpenBehavior(world, x, y, z, player, side); diff --git a/src/main/java/com/hbm/blocks/machine/NTMAnvil.java b/src/main/java/com/hbm/blocks/machine/NTMAnvil.java index 16623e7b1..466c0a02f 100644 --- a/src/main/java/com/hbm/blocks/machine/NTMAnvil.java +++ b/src/main/java/com/hbm/blocks/machine/NTMAnvil.java @@ -22,7 +22,6 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.texture.IIconRegister; @@ -192,7 +191,7 @@ public class NTMAnvil extends BlockFallingNT implements ITooltipProvider, IGUIPr @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIAnvil(player.inventory, ((NTMAnvil)world.getBlock(x, y, z)).tier); } diff --git a/src/main/java/com/hbm/blocks/machine/PinkCloudBroadcaster.java b/src/main/java/com/hbm/blocks/machine/PinkCloudBroadcaster.java index c975e5ae1..eef9a80be 100644 --- a/src/main/java/com/hbm/blocks/machine/PinkCloudBroadcaster.java +++ b/src/main/java/com/hbm/blocks/machine/PinkCloudBroadcaster.java @@ -1,7 +1,6 @@ package com.hbm.blocks.machine; import com.hbm.tileentity.machine.TileEntityBroadcaster; - import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; @@ -22,26 +21,26 @@ public class PinkCloudBroadcaster extends BlockContainer { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityBroadcaster(); } - + @Override public int getRenderType(){ return -1; } - + @Override public boolean isOpaqueCube() { return false; } - + @Override public boolean renderAsNormalBlock() { return false; } - + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - + if(i == 0) { world.setBlockMetadataWithNotify(x, y, z, 3, 2); @@ -59,13 +58,13 @@ public class PinkCloudBroadcaster extends BlockContainer { world.setBlockMetadataWithNotify(x, y, z, 5, 2); } } - + @Override public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) { int te = p_149719_1_.getBlockMetadata(p_149719_2_, p_149719_3_, p_149719_4_); float f = 0.0625F; - + this.setBlockBounds(0.0F, 0.0F, 2*f, 1.0F, 1.0F, 14*f); switch(te) { @@ -83,13 +82,13 @@ public class PinkCloudBroadcaster extends BlockContainer { break; } } - + @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { int te = world.getBlockMetadata(x, y, z); float f = 0.0625F; - + this.setBlockBounds(0.0F, 0.0F, 2*f, 1.0F, 1.0F, 14*f); switch(te) { @@ -106,7 +105,7 @@ public class PinkCloudBroadcaster extends BlockContainer { this.setBlockBounds(1*f, 0.0F, 4*f, 15*f, 10*f, 12*f); break; } - + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } diff --git a/src/main/java/com/hbm/blocks/machine/PistonInserter.java b/src/main/java/com/hbm/blocks/machine/PistonInserter.java index 8b95fed92..bb33d205d 100644 --- a/src/main/java/com/hbm/blocks/machine/PistonInserter.java +++ b/src/main/java/com/hbm/blocks/machine/PistonInserter.java @@ -4,11 +4,13 @@ import java.util.List; import com.hbm.blocks.BlockContainerBase; import com.hbm.blocks.ITooltipProvider; -import com.hbm.tileentity.INBTPacketReceiver; import api.hbm.block.IInsertable; +import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.BufferUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; import net.minecraft.block.BlockPistonBase; import net.minecraft.block.material.Material; @@ -34,112 +36,112 @@ public class PistonInserter extends BlockContainerBase implements ITooltipProvid public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityPistonInserter(); } - + @Override public void onNeighborBlockChange(World world, int x, int y, int z, Block neighbor) { this.updateState(world, x, y, z); } - + protected void updateState(World world, int x, int y, int z) { if(!world.isRemote) { ForgeDirection dir = ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z)); - + if(world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ).isNormalCube()) return; //no obstructions allowed! - + boolean flag = checkRedstone(world, x, y, z); TileEntityPistonInserter piston = (TileEntityPistonInserter)world.getTileEntity(x, y, z); - + if(flag && !piston.lastState && piston.extend <= 0) piston.isRetracting = false; - + piston.lastState = flag; } } - + protected boolean checkRedstone(World world, int x, int y, int z) { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { if(world.getIndirectPowerOutput(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir.ordinal())) return true; } - + return false; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - + if(side != world.getBlockMetadata(x, y, z)) return false; - + if(player.isSneaking()) { if(!world.isRemote) { TileEntityPistonInserter piston = (TileEntityPistonInserter)world.getTileEntity(x, y, z); - + if(piston.slot != null && piston.isRetracting) { ForgeDirection dir = ForgeDirection.getOrientation(piston.getBlockMetadata()); - + EntityItem dust = new EntityItem(world, x + 0.5D + dir.offsetX * 0.75D, y + 0.5D + dir.offsetY * 0.75D, z + 0.5D + dir.offsetZ * 0.75D, piston.slot); piston.slot = null; - + dust.motionX = dir.offsetX * 0.25; dust.motionY = dir.offsetY * 0.25; dust.motionZ = dir.offsetZ * 0.25; world.spawnEntityInWorld(dust); } } - + return true; } else if(player.getHeldItem() != null) { if(!world.isRemote) { TileEntityPistonInserter piston = (TileEntityPistonInserter)world.getTileEntity(x, y, z); - + if(piston.slot == null) { piston.slot = player.inventory.decrStackSize(player.inventory.currentItem, 1); player.inventoryContainer.detectAndSendChanges(); } } - + return true; } - + return false; } - + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { int l = BlockPistonBase.determineOrientation(world, x, y, z, player); world.setBlockMetadataWithNotify(x, y, z, l, 2); } - + @Override public boolean isSideSolid(IBlockAccess world, int x, int y, int z, ForgeDirection side) { int meta = world.getBlockMetadata(x, y, z); return meta != side.ordinal() && meta != side.getOpposite().ordinal(); } - + @Override public void breakBlock(World world, int x, int y, int z, Block block, int meta) { IInventory tileentityfurnace = (IInventory) world.getTileEntity(x, y, z); if(tileentityfurnace != null) { - + ItemStack itemstack = tileentityfurnace.getStackInSlot(0); if(itemstack != null) { float f = world.rand.nextFloat() * 0.8F + 0.1F; float f1 = world.rand.nextFloat() * 0.8F + 0.1F; float f2 = world.rand.nextFloat() * 0.8F + 0.1F; - + while(itemstack.stackSize > 0) { int j1 = world.rand.nextInt(21) + 10; - + if(j1 > itemstack.stackSize) { j1 = itemstack.stackSize; } - + itemstack.stackSize -= j1; EntityItem entityitem = new EntityItem(world, x + f, y + f1, z + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); - + if(itemstack.hasTagCompound()) { entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); } @@ -157,22 +159,22 @@ public class PistonInserter extends BlockContainerBase implements ITooltipProvid super.breakBlock(world, x, y, z, block, meta); } - + @Override public int getRenderType(){ return -1; } - + @Override public boolean isOpaqueCube() { return false; } - + @Override public boolean renderAsNormalBlock() { return false; } - + // $%&#$& // %$&&@$%%#% //______ $%@--$@@%&$%$ @@ -203,73 +205,65 @@ public class PistonInserter extends BlockContainerBase implements ITooltipProvid // |--' / /| |/ .^ ,^\ \ ) // | |_|| || |(_( ) | | // | \_/`-``-`----'___/_____ | - // |___..---' _|____`-----..-----'\ + // |___..---' _|____`-----..-----'\ // |_____________________| @ | ) // average coding session involving tile entities - public static class TileEntityPistonInserter extends TileEntity implements IInventory, INBTPacketReceiver { - + public static class TileEntityPistonInserter extends TileEntityLoadedBase implements IInventory { + public ItemStack slot; - + public int extend; //why don't we just make all these ones serverside? we're never using them on the client anyway public static final int maxExtend = 25; public boolean isRetracting = true; public int delay; - + //prevents funkies from happening with block updates or loading into a server private boolean lastState; - - //when a fake animatorcel gives you something so 20fps you gotta hit him with the true interpolation stare + + //when a fake animatorcel gives you something so 20fps you gotta hit him with the true interpolation stare @SideOnly(Side.CLIENT) public double renderExtend; @SideOnly(Side.CLIENT) public double lastExtend; @SideOnly(Side.CLIENT) private int syncExtend; //what are these for? @SideOnly(Side.CLIENT) private int turnProgress; - + public TileEntityPistonInserter() { } - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + if(delay <= 0) { - + if(this.isRetracting && this.extend > 0) { this.extend--; } else if(!this.isRetracting) { this.extend++; - + if(this.extend >= this.maxExtend) { worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:block.pressOperate", 1.0F, 1.5F); - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); Block b = worldObj.getBlock(xCoord + dir.offsetX * 2, yCoord + dir.offsetY * 2, zCoord + dir.offsetZ * 2); - + if(b instanceof IInsertable && ((IInsertable) b).insertItem(worldObj, xCoord + dir.offsetX * 2, yCoord + dir.offsetY * 2, zCoord + dir.offsetZ * 2, dir, slot)) { this.decrStackSize(0, 1); } - + this.isRetracting = true; this.delay = 5; } } - + } else { delay--; } - - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("extend", extend); - if(this.slot != null) { - NBTTagCompound stack = new NBTTagCompound(); - slot.writeToNBT(stack); - data.setTag("stack", stack); - } - - INBTPacketReceiver.networkPack(this, data, 25); - + + networkPackNT(25); + } else { this.lastExtend = this.renderExtend; - + if(this.turnProgress > 0) { this.renderExtend += (this.syncExtend - this.renderExtend) / (double) this.turnProgress; this.turnProgress--; @@ -277,24 +271,34 @@ public class PistonInserter extends BlockContainerBase implements ITooltipProvid this.renderExtend = this.syncExtend; } } - + } - + @Override - public void networkUnpack(NBTTagCompound nbt) { - this.syncExtend = nbt.getInteger("extend"); - - if(nbt.hasKey("stack")) { - NBTTagCompound stack = nbt.getCompoundTag("stack"); + public void serialize(ByteBuf buf) { + buf.writeInt(extend); + + buf.writeBoolean(this.slot != null); + if(this.slot != null) { + BufferUtil.writeNBT(buf, slot.stackTagCompound); + } + + this.turnProgress = 2; + } + + @Override + public void deserialize(ByteBuf buf) { + this.syncExtend = buf.readInt(); + + if(buf.readBoolean()) { + NBTTagCompound stack = BufferUtil.readNBT(buf); this.slot = ItemStack.loadItemStackFromNBT(stack); } else this.slot = null; - + this.turnProgress = 2; } - - /* :3 NBT stuff */ - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -307,7 +311,7 @@ public class PistonInserter extends BlockContainerBase implements ITooltipProvid nbt.setTag("stack", stack); } } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -321,27 +325,27 @@ public class PistonInserter extends BlockContainerBase implements ITooltipProvid this.slot = null; } } - + @SideOnly(Side.CLIENT) private AxisAlignedBB aabb; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(aabb != null) return aabb; - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); aabb = AxisAlignedBB.getBoundingBox(xCoord, yCoord, zCoord, xCoord + 1, yCoord + 1, zCoord + 1).addCoord(dir.offsetX, dir.offsetY, dir.offsetZ); return aabb; } - + /* BS inventory stuff */ - + @Override public int getSizeInventory() { return 1; } - + @Override public ItemStack getStackInSlot(int slot) { return this.slot; } - + @Override public ItemStack decrStackSize(int slot, int amount) { if(this.slot != null) { @@ -350,41 +354,41 @@ public class PistonInserter extends BlockContainerBase implements ITooltipProvid this.slot = null; return stack; } - + ItemStack stack = this.slot.splitStack(amount); if(this.slot.stackSize == 0) this.slot = null; - + return stack; } - + return null; } - + @Override public ItemStack getStackInSlotOnClosing(int slot) { return null; } - + @Override public void setInventorySlotContents(int slot, ItemStack stack) { this.slot = stack; if(stack != null && stack.stackSize > this.getInventoryStackLimit()) stack.stackSize = this.getInventoryStackLimit(); } - + @Override public String getInventoryName() { return null; } - + @Override public boolean hasCustomInventoryName() { return false; } - + @Override public int getInventoryStackLimit() { return 1; } - + @Override public boolean isUseableByPlayer(EntityPlayer player) { return false; } - + @Override public void openInventory() {} - + @Override public void closeInventory() {} - + @Override public boolean isItemValidForSlot(int slot, ItemStack stack) { return true; } - + } @Override diff --git a/src/main/java/com/hbm/blocks/machine/RadioRec.java b/src/main/java/com/hbm/blocks/machine/RadioRec.java index 53792b48b..d387358b6 100644 --- a/src/main/java/com/hbm/blocks/machine/RadioRec.java +++ b/src/main/java/com/hbm/blocks/machine/RadioRec.java @@ -10,7 +10,6 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; @@ -102,7 +101,7 @@ public class RadioRec extends BlockContainer implements IGUIProvider { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { TileEntity te = world.getTileEntity(x, y, z); if(te instanceof TileEntityRadioRec) diff --git a/src/main/java/com/hbm/blocks/machine/SPPBottom.java b/src/main/java/com/hbm/blocks/machine/SPPBottom.java index 6e56aa617..96cd660b5 100644 --- a/src/main/java/com/hbm/blocks/machine/SPPBottom.java +++ b/src/main/java/com/hbm/blocks/machine/SPPBottom.java @@ -9,14 +9,9 @@ import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; import net.minecraft.world.World; public class SPPBottom extends BlockContainer { - - @SideOnly(Side.CLIENT) - private IIcon iconTop; - private IIcon iconBottom; public SPPBottom(Material p_i45386_1_) { super(p_i45386_1_); @@ -30,15 +25,7 @@ public class SPPBottom extends BlockContainer { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + (":machine_spp_b_top")); - this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + (":machine_spp_blank")); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_spp_b_side"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata) { - return side == 1 ? this.iconTop : (side == 0 ? this.iconBottom : this.blockIcon); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":block_deprecated"); } } diff --git a/src/main/java/com/hbm/blocks/machine/SPPTop.java b/src/main/java/com/hbm/blocks/machine/SPPTop.java index c5d48e9c9..9d9daa5bc 100644 --- a/src/main/java/com/hbm/blocks/machine/SPPTop.java +++ b/src/main/java/com/hbm/blocks/machine/SPPTop.java @@ -7,13 +7,8 @@ import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.util.IIcon; public class SPPTop extends Block { - - @SideOnly(Side.CLIENT) - private IIcon iconTop; - private IIcon iconBottom; public SPPTop(Material p_i45394_1_) { super(p_i45394_1_); @@ -22,15 +17,6 @@ public class SPPTop extends Block { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + (":machine_spp_blank")); - this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + (":machine_spp_t_bottom")); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_spp_t_side"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":block_deprecated"); } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata) { - return side == 1 ? this.iconTop : (side == 0 ? this.iconBottom : this.blockIcon); - } - } diff --git a/src/main/java/com/hbm/blocks/machine/Spotlight.java b/src/main/java/com/hbm/blocks/machine/Spotlight.java index c40a9ef9c..4868d3dd0 100644 --- a/src/main/java/com/hbm/blocks/machine/Spotlight.java +++ b/src/main/java/com/hbm/blocks/machine/Spotlight.java @@ -7,13 +7,17 @@ import java.util.Random; import com.hbm.blocks.BlockEnums.LightType; import com.hbm.blocks.ISpotlight; import com.hbm.main.ResourceManager; +import com.hbm.world.gen.INBTTransformable; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockSlab; +import net.minecraft.block.material.MapColor; import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; @@ -22,7 +26,9 @@ import net.minecraft.world.World; import net.minecraftforge.client.model.obj.WavefrontObject; import net.minecraftforge.common.util.ForgeDirection; -public class Spotlight extends Block implements ISpotlight { +public class Spotlight extends Block implements ISpotlight, INBTTransformable { + + public static boolean disableOnGeneration = true; // I'd be extending the ReinforcedLamp class if it wasn't for the inverted behaviour of these specific lights // I want these blocks to be eminently useful, so removing the need for redstone by default is desired, @@ -38,8 +44,8 @@ public class Spotlight extends Block implements ISpotlight { this.beamLength = beamLength; this.type = type; this.isOn = isOn; - - this.setHardness(1F); + + this.setHardness(0.5F); if(isOn) setLightLevel(1.0F); } @@ -76,6 +82,17 @@ public class Spotlight extends Block implements ISpotlight { return false; } + @Override + // Ah yes, I love methods named the literal opposite of what they do + public boolean getBlocksMovement(IBlockAccess world, int x, int y, int z) { + return true; + } + + @Override + public MapColor getMapColor(int meta) { + return MapColor.airColor; + } + @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World p_149668_1_, int p_149668_2_, int p_149668_3_, int p_149668_4_) { return null; @@ -123,6 +140,8 @@ public class Spotlight extends Block implements ISpotlight { } private boolean updatePower(World world, int x, int y, int z) { + if(isBroken(world.getBlockMetadata(x, y, z))) return false; + boolean isPowered = world.isBlockIndirectlyGettingPowered(x, y, z); if(isOn && isPowered) { world.scheduleBlockUpdate(x, y, z, this, 4); @@ -148,7 +167,7 @@ public class Spotlight extends Block implements ISpotlight { @Override public void updateTick(World world, int x, int y, int z, Random p_149674_5_) { if (world.isRemote) return; - + if (isOn && world.isBlockIndirectlyGettingPowered(x, y, z)) { world.setBlock(x, y, z, getOff(), world.getBlockMetadata(x, y, z), 2); } @@ -159,6 +178,7 @@ public class Spotlight extends Block implements ISpotlight { public void onNeighborBlockChange(World world, int x, int y, int z, Block neighborBlock) { if(world.isRemote) return; if(neighborBlock instanceof SpotlightBeam) return; + if(neighborBlock == Blocks.air) return; ForgeDirection dir = getDirection(world, x, y, z); @@ -172,13 +192,13 @@ public class Spotlight extends Block implements ISpotlight { updateBeam(world, x, y, z); } - + @Override public boolean canPlaceBlockOnSide(World world, int x, int y, int z, int side) { if(!super.canPlaceBlockOnSide(world, x, y, z, side)) return false; - + ForgeDirection dir = ForgeDirection.getOrientation(side); - + return canPlace(world, x, y, z, dir); } @@ -215,6 +235,35 @@ public class Spotlight extends Block implements ISpotlight { return ForgeDirection.getOrientation(metadata >> 1); } + // Replace bulbs on broken lights with a click + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + int meta = world.getBlockMetadata(x, y, z); + if(!isBroken(meta)) return false; + + repair(world, x, y, z); + return true; + } + + private void repair(World world, int x, int y, int z) { + int meta = world.getBlockMetadata(x, y, z); + if(!isBroken(meta)) return; + + world.setBlock(x, y, z, getOn(), meta - 1, 2); + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + int ox = x + dir.offsetX; + int oy = y + dir.offsetY; + int oz = z + dir.offsetZ; + Block block = world.getBlock(ox, oy, oz); + if(block == this) repair(world, ox, oy, oz); + } + } + + public boolean isBroken(int metadata) { + return (metadata & 1) == 1; + } + @Override public Item getItemDropped(int i, Random r, int j) { return Item.getItemFromBlock(getOn()); @@ -292,20 +341,20 @@ public class Spotlight extends Block implements ISpotlight { backPropagate(world, x, y, z, dir); } - + protected Block getOff() { if(this == ModBlocks.spotlight_incandescent) return ModBlocks.spotlight_incandescent_off; if(this == ModBlocks.spotlight_fluoro) return ModBlocks.spotlight_fluoro_off; if(this == ModBlocks.spotlight_halogen) return ModBlocks.spotlight_halogen_off; - + return this; } - + protected Block getOn() { if(this == ModBlocks.spotlight_incandescent_off) return ModBlocks.spotlight_incandescent; if(this == ModBlocks.spotlight_fluoro_off) return ModBlocks.spotlight_fluoro; if(this == ModBlocks.spotlight_halogen_off) return ModBlocks.spotlight_halogen; - + return this; } @@ -313,4 +362,21 @@ public class Spotlight extends Block implements ISpotlight { public int getBeamLength() { return this.beamLength; } -} + + @Override + public int transformMeta(int meta, int coordBaseMode) { + // +1 to set as broken, won't turn on until broken and replaced + int disabled = disableOnGeneration ? 1 : 0; + return (INBTTransformable.transformMetaDeco(meta >> 1, coordBaseMode) << 1) + disabled; + } + + @Override + public Block transformBlock(Block block) { + if(!disableOnGeneration) return block; + if(block == ModBlocks.spotlight_incandescent) return ModBlocks.spotlight_incandescent_off; + if(block == ModBlocks.spotlight_fluoro) return ModBlocks.spotlight_fluoro_off; + if(block == ModBlocks.spotlight_halogen) return ModBlocks.spotlight_halogen_off; + return block; + } + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/machine/ZirnoxDestroyed.java b/src/main/java/com/hbm/blocks/machine/ZirnoxDestroyed.java index 73526c494..711b46749 100644 --- a/src/main/java/com/hbm/blocks/machine/ZirnoxDestroyed.java +++ b/src/main/java/com/hbm/blocks/machine/ZirnoxDestroyed.java @@ -5,11 +5,11 @@ import java.util.Random; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.material.Mats; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityZirnoxDestroyed; @@ -49,29 +49,29 @@ public class ZirnoxDestroyed extends BlockDummyable { @Override public void updateTick(World world, int x, int y, int z, Random rand) { - + Block block = world.getBlock(x, y + 1, z); - + if(block == Blocks.air) { if(rand.nextInt(10) == 0) world.setBlock(x, y + 1, z, ModBlocks.gas_meltdown); - + } else if(block == ModBlocks.foam_layer || block == ModBlocks.block_foam) { if(rand.nextInt(25) == 0) { int pos[] = this.findCore(world, x, y, z); - + if(pos != null) { TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); - + if(te instanceof TileEntityZirnoxDestroyed) ((TileEntityZirnoxDestroyed)te).onFire = false; } } } - + if(rand.nextInt(10) == 0 && world.getBlock(x, y + 1, z) == Blocks.air) world.setBlock(x, y + 1, z, ModBlocks.gas_meltdown); - + super.updateTick(world, x, y, z, rand); } @@ -89,7 +89,7 @@ public class ZirnoxDestroyed extends BlockDummyable { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "rbmkflame"); data.setInteger("maxAge", 90); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x + 0.25 + world.rand.nextDouble() * 0.5, y + 1.75, z + 0.25 + world.rand.nextDouble() * 0.5), new TargetPoint(world.provider.dimensionId, x + 0.5, y + 1.75, z + 0.5, 75)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, x + 0.25 + world.rand.nextDouble() * 0.5, y + 1.75, z + 0.25 + world.rand.nextDouble() * 0.5), new TargetPoint(world.provider.dimensionId, x + 0.5, y + 1.75, z + 0.5, 75)); MainRegistry.proxy.effectNT(data); world.playSoundEffect(x + 0.5F, y + 0.5, z + 0.5, "fire.fire", 1.0F + world.rand.nextFloat(), world.rand.nextFloat() * 0.7F + 0.3F); } @@ -117,7 +117,7 @@ public class ZirnoxDestroyed extends BlockDummyable { @Override public int[] getDimensions() { - return new int[] {1, 0, 2, 2, 2, 2,}; + return new int[] {1, 0, 2, 2, 2, 2,}; } @Override @@ -129,4 +129,4 @@ public class ZirnoxDestroyed extends BlockDummyable { super.fillSpace(world, x, y, z, dir, o); } -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/blocks/machine/albion/BlockPABeamline.java b/src/main/java/com/hbm/blocks/machine/albion/BlockPABeamline.java new file mode 100644 index 000000000..e2382367a --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/albion/BlockPABeamline.java @@ -0,0 +1,38 @@ +package com.hbm.blocks.machine.albion; + +import java.util.List; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ITooltipProvider; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.machine.albion.TileEntityPABeamline; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class BlockPABeamline extends BlockDummyable implements ITooltipProvider { + + public BlockPABeamline() { + super(Material.iron); + this.setCreativeTab(MainRegistry.machineTab); + this.setBlockTextureName(RefStrings.MODID + ":block_steel"); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityPABeamline(); + return null; + } + + @Override public int[] getDimensions() { return new int[] {0, 0, 0, 0, 1, 1}; } + @Override public int getOffset() { return 0; } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + addStandardInfo(stack, player, list, ext); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/albion/BlockPADetector.java b/src/main/java/com/hbm/blocks/machine/albion/BlockPADetector.java new file mode 100644 index 000000000..4cb922bde --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/albion/BlockPADetector.java @@ -0,0 +1,60 @@ +package com.hbm.blocks.machine.albion; + +import java.util.List; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ITooltipProvider; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.albion.TileEntityPADetector; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockPADetector extends BlockDummyable implements ITooltipProvider { + + public BlockPADetector() { + super(Material.iron); + this.setCreativeTab(MainRegistry.machineTab); + this.setBlockTextureName(RefStrings.MODID + ":block_steel"); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityPADetector(); + if(meta >= 6) return new TileEntityProxyCombo().inventory().power().fluid(); + return null; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + return standardOpenBehavior(world, x, y, z, player, side); + } + + @Override public int[] getDimensions() { return new int[] {2, 2, 2, 2, 4, 4}; } + @Override public int getOffset() { return 0; } + @Override public int getHeightOffset() { return 2; } + + @Override + public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + this.makeExtra(world, x - rot.offsetX * 4, y, z - rot.offsetZ * 4); + this.makeExtra(world, x - rot.offsetX * 4, y + 1, z - rot.offsetZ * 4); + this.makeExtra(world, x - rot.offsetX * 4, y - 1, z - rot.offsetZ * 4); + this.makeExtra(world, x - rot.offsetX * 4 + dir.offsetX, y, z - rot.offsetZ * 4 + dir.offsetZ); + this.makeExtra(world, x - rot.offsetX * 4 - dir.offsetX, y, z - rot.offsetZ * 4 - dir.offsetZ); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + addStandardInfo(stack, player, list, ext); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/albion/BlockPADipole.java b/src/main/java/com/hbm/blocks/machine/albion/BlockPADipole.java new file mode 100644 index 000000000..0a5fc5da4 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/albion/BlockPADipole.java @@ -0,0 +1,61 @@ +package com.hbm.blocks.machine.albion; + +import java.util.List; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ITooltipProvider; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.albion.TileEntityPADipole; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockPADipole extends BlockDummyable implements ITooltipProvider { + + public BlockPADipole() { + super(Material.iron); + this.setCreativeTab(MainRegistry.machineTab); + this.setBlockTextureName(RefStrings.MODID + ":block_steel"); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityPADipole(); + if(meta >= 6) return new TileEntityProxyCombo().power().fluid(); + return null; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + return standardOpenBehavior(world, x, y, z, player, side); + } + + @Override public int[] getDimensions() { return new int[] {1, 1, 1, 1, 1, 1}; } + @Override public int getOffset() { return 0; } + @Override public int getHeightOffset() { return 1; } + + @Override + public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + + this.makeExtra(world, x + 1, y - 1, z); + this.makeExtra(world, x - 1, y - 1, z); + this.makeExtra(world, x, y - 1, z + 1); + this.makeExtra(world, x, y - 1, z - 1); + this.makeExtra(world, x + 1, y + 1, z); + this.makeExtra(world, x - 1, y + 1, z); + this.makeExtra(world, x, y + 1, z + 1); + this.makeExtra(world, x, y + 1, z - 1); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + addStandardInfo(stack, player, list, ext); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/albion/BlockPAQuadrupole.java b/src/main/java/com/hbm/blocks/machine/albion/BlockPAQuadrupole.java new file mode 100644 index 000000000..b123b2321 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/albion/BlockPAQuadrupole.java @@ -0,0 +1,57 @@ +package com.hbm.blocks.machine.albion; + +import java.util.List; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ITooltipProvider; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.albion.TileEntityPAQuadrupole; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockPAQuadrupole extends BlockDummyable implements ITooltipProvider { + + public BlockPAQuadrupole() { + super(Material.iron); + this.setCreativeTab(MainRegistry.machineTab); + this.setBlockTextureName(RefStrings.MODID + ":block_steel"); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityPAQuadrupole(); + if(meta >= 6) return new TileEntityProxyCombo().power().fluid(); + return null; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + return standardOpenBehavior(world, x, y, z, player, side); + } + + @Override public int[] getDimensions() { return new int[] {1, 1, 1, 1, 1, 1}; } + @Override public int getOffset() { return 0; } + @Override public int getHeightOffset() { return 1; } + + @Override + public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + + this.makeExtra(world, x + dir.offsetX, y, z + dir.offsetZ); + this.makeExtra(world, x - dir.offsetX, y, z - dir.offsetZ); + this.makeExtra(world, x, y + 1, z); + this.makeExtra(world, x, y - 1, z); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + addStandardInfo(stack, player, list, ext); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/albion/BlockPARFC.java b/src/main/java/com/hbm/blocks/machine/albion/BlockPARFC.java new file mode 100644 index 000000000..eb5354ed4 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/albion/BlockPARFC.java @@ -0,0 +1,60 @@ +package com.hbm.blocks.machine.albion; + +import java.util.List; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ITooltipProvider; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.albion.TileEntityPARFC; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockPARFC extends BlockDummyable implements ITooltipProvider { + + public BlockPARFC() { + super(Material.iron); + this.setCreativeTab(MainRegistry.machineTab); + this.setBlockTextureName(RefStrings.MODID + ":block_steel"); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityPARFC(); + if(meta >= 6) return new TileEntityProxyCombo().power().fluid(); + return null; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + return standardOpenBehavior(world, x, y, z, player, side); + } + + @Override public int[] getDimensions() { return new int[] {1, 1, 1, 1, 4, 4}; } + @Override public int getOffset() { return 0; } + @Override public int getHeightOffset() { return 1; } + + @Override + public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + + dir = dir.getRotation(ForgeDirection.UP); + this.makeExtra(world, x + dir.offsetX * 3, y + 1, z + dir.offsetZ * 3); + this.makeExtra(world, x - dir.offsetX * 3, y + 1, z - dir.offsetZ * 3); + this.makeExtra(world, x, y + 1, z); + this.makeExtra(world, x + dir.offsetX * 3, y - 1, z + dir.offsetZ * 3); + this.makeExtra(world, x - dir.offsetX * 3, y - 1, z - dir.offsetZ * 3); + this.makeExtra(world, x, y - 1, z); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + addStandardInfo(stack, player, list, ext); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/albion/BlockPASource.java b/src/main/java/com/hbm/blocks/machine/albion/BlockPASource.java new file mode 100644 index 000000000..4b7461433 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/albion/BlockPASource.java @@ -0,0 +1,62 @@ +package com.hbm.blocks.machine.albion; + +import java.util.List; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ITooltipProvider; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.albion.TileEntityPASource; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockPASource extends BlockDummyable implements ITooltipProvider { + + public BlockPASource() { + super(Material.iron); + this.setCreativeTab(MainRegistry.machineTab); + this.setBlockTextureName(RefStrings.MODID + ":block_steel"); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityPASource(); + if(meta >= 6) return new TileEntityProxyCombo().inventory().power().fluid(); + return null; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + return standardOpenBehavior(world, x, y, z, player, side); + } + + @Override public int[] getDimensions() { return new int[] {1, 1, 1, 1, 4, 4}; } + @Override public int getOffset() { return 0; } + @Override public int getHeightOffset() { return 1; } + + @Override + public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + this.makeExtra(world, x + rot.offsetX * 4, y, z + rot.offsetZ * 4); + this.makeExtra(world, x + dir.offsetX, y, z + dir.offsetZ); + this.makeExtra(world, x + dir.offsetX + rot.offsetX * 2, y, z + dir.offsetZ + rot.offsetZ * 2); + this.makeExtra(world, x + dir.offsetX - rot.offsetX * 2, y, z + dir.offsetZ - rot.offsetZ * 2); + this.makeExtra(world, x - dir.offsetX, y, z - dir.offsetZ); + this.makeExtra(world, x - dir.offsetX + rot.offsetX * 2, y, z - dir.offsetZ + rot.offsetZ * 2); + this.makeExtra(world, x - dir.offsetX - rot.offsetX * 2, y, z - dir.offsetZ - rot.offsetZ * 2); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + addStandardInfo(stack, player, list, ext); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphite.java b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphite.java index c5018700a..28ddcd06a 100644 --- a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphite.java +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphite.java @@ -4,7 +4,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockFlammable; import com.hbm.items.ModItems; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.ParticleBurstPacket; +import com.hbm.packet.toclient.ParticleBurstPacket; import api.hbm.block.IToolable; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java index 1293874a8..df7899d3a 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java @@ -3,6 +3,8 @@ package com.hbm.blocks.machine.rbmk; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ILookOverlay; import com.hbm.handler.MultiblockHandlerXR; +import com.hbm.handler.neutron.NeutronNodeWorld; +import com.hbm.handler.neutron.RBMKNeutronHandler.RBMKNeutronNode; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemRBMKLid; import com.hbm.lib.RefStrings; @@ -11,6 +13,7 @@ import com.hbm.tileentity.machine.rbmk.RBMKDials; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBase; import api.hbm.block.IToolable; +import com.hbm.util.fauxpointtwelve.BlockPos; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; @@ -55,31 +58,31 @@ public abstract class RBMKBase extends BlockDummyable implements IToolable, ILoo public int getOffset() { return 0; } - + public boolean openInv(World world, int x, int y, int z, EntityPlayer player) { - + if(world.isRemote) { return true; } - + int[] pos = this.findCore(world, x, y, z); - + if(pos == null) return false; - + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); - + if(!(te instanceof TileEntityRBMKBase)) return false; - + TileEntityRBMKBase rbmk = (TileEntityRBMKBase) te; - + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemRBMKLid) { - + if(!rbmk.hasLid()) return false; } - + if(!player.isSneaking()) { FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); return true; @@ -90,27 +93,27 @@ public abstract class RBMKBase extends BlockDummyable implements IToolable, ILoo @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - + float height = 0.0F; - + int[] pos = this.findCore(world, x, y, z); - + if(pos != null) { TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); - + if(te instanceof TileEntityRBMKBase) { - + TileEntityRBMKBase rbmk = (TileEntityRBMKBase) te; - + if(rbmk.hasLid()) { height += 0.25F; } } } - + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY + height, z + this.maxZ); } - + /* * NORTH: no cover * EAST: concrete cover @@ -127,21 +130,21 @@ public abstract class RBMKBase extends BlockDummyable implements IToolable, ILoo MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, getDimensions(world), this, dir); this.makeExtra(world, x, y + RBMKDials.getColumnHeight(world), z); } - + @Override protected ForgeDirection getDirModified(ForgeDirection dir) { return DIR_NO_LID; } - + public int[] getDimensions(World world) { return new int[] {RBMKDials.getColumnHeight(world), 0, 0, 0, 0, 0}; } @Override public void breakBlock(World world, int x, int y, int z, Block b, int i) { - + if(!world.isRemote && dropLids) { - + if(i == DIR_NORMAL_LID.ordinal() + offset) { world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5 + RBMKDials.getColumnHeight(world), z + 0.5, new ItemStack(ModItems.rbmk_lid))); } @@ -149,28 +152,32 @@ public abstract class RBMKBase extends BlockDummyable implements IToolable, ILoo world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5 + RBMKDials.getColumnHeight(world), z + 0.5, new ItemStack(ModItems.rbmk_lid_glass))); } } - + super.breakBlock(world, x, y, z, b, i); } - + @Override public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { - + if(tool != ToolType.SCREWDRIVER) return false; - + int[] pos = this.findCore(world, x, y, z); - + if(pos != null) { TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); - + if(te instanceof TileEntityRBMKBase) { - + TileEntityRBMKBase rbmk = (TileEntityRBMKBase) te; int i = rbmk.getBlockMetadata(); - + if(rbmk.hasLid() && rbmk.isLidRemovable()) { - + + RBMKNeutronNode node = (RBMKNeutronNode) NeutronNodeWorld.getNode(world, new BlockPos(te)); + if(node != null) + node.removeLid(); + if(!world.isRemote) { if(i == DIR_NORMAL_LID.ordinal() + offset) { world.spawnEntityInWorld(new EntityItem(world, pos[0] + 0.5, pos[1] + 0.5 + RBMKDials.getColumnHeight(world), pos[2] + 0.5, new ItemStack(ModItems.rbmk_lid))); @@ -178,15 +185,15 @@ public abstract class RBMKBase extends BlockDummyable implements IToolable, ILoo if(i == DIR_GLASS_LID.ordinal() + offset) { world.spawnEntityInWorld(new EntityItem(world, pos[0] + 0.5, pos[1] + 0.5 + RBMKDials.getColumnHeight(world), pos[2] + 0.5, new ItemStack(ModItems.rbmk_lid_glass))); } - - world.setBlockMetadataWithNotify(pos[0], pos[1], pos[2], DIR_NO_LID.ordinal() + this.offset, 3); + + world.setBlockMetadataWithNotify(pos[0], pos[1], pos[2], DIR_NO_LID.ordinal() + offset, 3); } - + return true; } } } - + return false; } @@ -199,4 +206,9 @@ public abstract class RBMKBase extends BlockDummyable implements IToolable, ILoo public static int renderIDRods = RenderingRegistry.getNextAvailableRenderId(); public static int renderIDPassive = RenderingRegistry.getNextAvailableRenderId(); public static int renderIDControl = RenderingRegistry.getNextAvailableRenderId(); -} + + @Override + public int transformMeta(int meta, int coordBaseMode) { + return meta; + } +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKConsole.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKConsole.java index 723ecff52..de8789215 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKConsole.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKConsole.java @@ -1,5 +1,6 @@ package com.hbm.blocks.machine.rbmk; +import api.hbm.block.IToolable; import com.hbm.blocks.BlockDummyable; import com.hbm.handler.BossSpawnHandler; import com.hbm.handler.MultiblockHandlerXR; @@ -17,7 +18,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class RBMKConsole extends BlockDummyable { +public class RBMKConsole extends BlockDummyable implements IToolable { public RBMKConsole() { super(Material.iron); @@ -30,7 +31,7 @@ public class RBMKConsole extends BlockDummyable { if(meta >= this.offset) return new TileEntityRBMKConsole(); - + return null; } @@ -48,14 +49,14 @@ public class RBMKConsole extends BlockDummyable { public boolean renderAsNormalBlock() { return false; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - + if(!player.isSneaking()) { - + BossSpawnHandler.markFBI(player); - + int[] pos = this.findCore(world, x, y, z); if(pos == null) @@ -63,10 +64,10 @@ public class RBMKConsole extends BlockDummyable { TileEntityRBMKConsole entity = (TileEntityRBMKConsole) world.getTileEntity(pos[0], pos[1], pos[2]); if(entity != null) { - + if(side == 1) { Vec3 vec = Vec3.createVectorHelper(1.375D, 0, 0.75D); - + switch(entity.getBlockMetadata() - this.offset) { case 2: vec.rotateAroundY((float)Math.toRadians(90)); break; case 3: vec.rotateAroundY((float)Math.toRadians(270)); break; @@ -79,19 +80,19 @@ public class RBMKConsole extends BlockDummyable { double rX = entity.xCoord + 0.5D + vec.xCoord; double rZ = entity.zCoord + 0.5D + vec.zCoord; double size = 0.1875D; - + if(Math.abs(hX - rX) < size && Math.abs(hZ - rZ) < size && !player.inventory.hasItemStack(new ItemStack(ModItems.book_guide, 1, BookType.RBMK.ordinal()))) { player.inventory.addItemStackToInventory(new ItemStack(ModItems.book_guide, 1, BookType.RBMK.ordinal())); player.inventoryContainer.detectAndSendChanges(); return true; } } - + if(world.isRemote) FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); } return true; - + } else { return true; } @@ -113,12 +114,26 @@ public class RBMKConsole extends BlockDummyable { MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {0, 0, 0, 1, 2, 2}, this, dir); } - + protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {0, 0, 0, 1, 2, 2}, x, y, z, dir)) return false; - + return super.checkRequirement(world, x, y, z, dir, o); } + + @Override + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + if(tool != ToolType.SCREWDRIVER) + return false; + if(!world.isRemote) { + int[] pos = findCore(world, x, y, z); + TileEntity tile = world.getTileEntity(pos[0], pos[1], pos[2]); + if (tile instanceof TileEntityRBMKConsole) { + ((TileEntityRBMKConsole) tile).rotate(); + } + } + return true; + } } diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKCraneConsole.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKCraneConsole.java index 21059f59a..680856254 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKCraneConsole.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKCraneConsole.java @@ -4,14 +4,16 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.handler.MultiblockHandlerXR; import com.hbm.tileentity.machine.rbmk.TileEntityCraneConsole; +import api.hbm.block.IToolable; import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class RBMKCraneConsole extends BlockDummyable { +public class RBMKCraneConsole extends BlockDummyable implements IToolable { public RBMKCraneConsole() { super(Material.iron); @@ -72,4 +74,20 @@ public class RBMKCraneConsole extends BlockDummyable { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); } } + + @Override + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + + if(tool == ToolType.SCREWDRIVER) { + if(world.isRemote) return true; + + int[] pos = findCore(world, x, y, z); + TileEntityCraneConsole tile = (TileEntityCraneConsole) world.getTileEntity(pos[0], pos[1], pos[2]); + tile.cycleCraneRotation(); + tile.markDirty(); + return true; + } + + return false; + } } diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKDebrisBurning.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKDebrisBurning.java index 0480adc74..edc485dcb 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKDebrisBurning.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKDebrisBurning.java @@ -3,9 +3,9 @@ package com.hbm.blocks.machine.rbmk; import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.handler.threading.PacketThreading; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.block.Block; @@ -24,29 +24,29 @@ public class RBMKDebrisBurning extends RBMKDebris { @Override public void updateTick(World world, int x, int y, int z, Random rand) { - + if(!world.isRemote) { - + if(rand.nextInt(5) == 0) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "rbmkflame"); data.setInteger("maxAge", 300); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x + 0.25 + rand.nextDouble() * 0.5, y + 1.75, z + 0.25 + rand.nextDouble() * 0.5), new TargetPoint(world.provider.dimensionId, x + 0.5, y + 1.75, z + 0.5, 75)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, x + 0.25 + rand.nextDouble() * 0.5, y + 1.75, z + 0.25 + rand.nextDouble() * 0.5), new TargetPoint(world.provider.dimensionId, x + 0.5, y + 1.75, z + 0.5, 75)); MainRegistry.proxy.effectNT(data); world.playSoundEffect(x + 0.5F, y + 0.5, z + 0.5, "fire.fire", 1.0F + rand.nextFloat(), rand.nextFloat() * 0.7F + 0.3F); } - + ForgeDirection dir = ForgeDirection.getOrientation(rand.nextInt(6)); Block block = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); if(rand.nextInt(10) == 0 && block == Blocks.air) { world.setBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, ModBlocks.gas_meltdown); } - + //Foam helps stop the fire; Boron smothers it. 1.66% chance every 100-120 seconds for one side int chance = block == ModBlocks.foam_layer || block == ModBlocks.block_foam || block == ModBlocks.sand_boron_layer || block == ModBlocks.sand_boron ? 10 : 100; - + if(rand.nextInt(chance) == 0) { world.setBlock(x, y, z, ModBlocks.pribris); } else { @@ -63,7 +63,7 @@ public class RBMKDebrisBurning extends RBMKDebris { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "rbmkflame"); data.setInteger("maxAge", 300); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x + 0.25 + world.rand.nextDouble() * 0.5, y + 1.75, z + 0.25 + world.rand.nextDouble() * 0.5), new TargetPoint(world.provider.dimensionId, x + 0.5, y + 1.75, z + 0.5, 75)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, x + 0.25 + world.rand.nextDouble() * 0.5, y + 1.75, z + 0.25 + world.rand.nextDouble() * 0.5), new TargetPoint(world.provider.dimensionId, x + 0.5, y + 1.75, z + 0.5, 75)); MainRegistry.proxy.effectNT(data); } } diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKDebrisRadiating.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKDebrisRadiating.java index 299cf9f3c..aad8cce75 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKDebrisRadiating.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKDebrisRadiating.java @@ -4,9 +4,9 @@ import java.util.List; import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.handler.threading.PacketThreading; import com.hbm.items.ModItems; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.util.ContaminationUtil; import com.hbm.util.ContaminationUtil.ContaminationType; import com.hbm.util.ContaminationUtil.HazardType; @@ -33,88 +33,88 @@ public class RBMKDebrisRadiating extends RBMKDebrisBurning { @Override public void updateTick(World world, int x, int y, int z, Random rand) { - + if(!world.isRemote) { - + radiate(world, x, y, z); - + if(rand.nextInt(5) == 0) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "rbmkflame"); data.setInteger("maxAge", 300); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x + rand.nextDouble(), y + 1.75, z + rand.nextDouble()), new TargetPoint(world.provider.dimensionId, x + 0.5, y + 1.75, z + 0.5, 75)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, x + rand.nextDouble(), y + 1.75, z + rand.nextDouble()), new TargetPoint(world.provider.dimensionId, x + 0.5, y + 1.75, z + 0.5, 75)); //MainRegistry.proxy.effectNT(data); world.playSoundEffect(x + 0.5F, y + 0.5, z + 0.5, "fire.fire", 1.0F + rand.nextFloat(), rand.nextFloat() * 0.7F + 0.3F); } - + ForgeDirection dir = ForgeDirection.getOrientation(rand.nextInt(6)); Block block = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); - + if(rand.nextInt(10) == 0 && block == Blocks.air) { world.setBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, ModBlocks.gas_meltdown); } - + //Boron sand helps stop the fission reaction; 0.66% chance every 20-40 ticks for one side int chance = block == ModBlocks.sand_boron_layer || block == ModBlocks.sand_boron ? 25 : 1000; - + if(rand.nextInt(chance) == 0) { - + int meta = world.getBlockMetadata(x, y, z); - + if(meta < 15) { world.setBlockMetadataWithNotify(x, y, z, meta + 1, 2); world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world)); } else { world.setBlock(x, y, z, ModBlocks.pribris_burning); } - + } else { world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world)); } } } - + private void radiate(World world, int x, int y, int z) { - + float rads = 1000000F; double range = 100D; - + List entities = world.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(x + 0.5, y + 0.5, z + 0.5, x + 0.5, y + 0.5, z + 0.5).expand(range, range, range)); - + for(EntityLivingBase e : entities) { - + Vec3 vec = Vec3.createVectorHelper(e.posX - (x + 0.5), (e.posY + e.getEyeHeight()) - (y + 0.5), e.posZ - (z + 0.5)); double len = vec.lengthVector(); vec = vec.normalize(); - + float res = 0; - + for(int i = 1; i < len; i++) { int ix = (int)Math.floor(x + 0.5 + vec.xCoord * i); int iy = (int)Math.floor(y + 0.5 + vec.yCoord * i); int iz = (int)Math.floor(z + 0.5 + vec.zCoord * i); - + res += world.getBlock(ix, iy, iz).getExplosionResistance(null); } - + if(res < 1) res = 1; - + float eRads = rads; eRads /= (float)res; eRads /= (float)(len * len); - + ContaminationUtil.contaminate(e, HazardType.RADIATION, ContaminationType.CREATIVE, eRads); - + if(len < 5) { e.attackEntityFrom(DamageSource.inFire, 100); } - + if(e instanceof EntityPlayer && len < 10) { EntityPlayer p = (EntityPlayer) e; - + if(p.getHeldItem() != null && p.getHeldItem().getItem() == ModItems.marshmallow && p.getHeldItem().getItemDamage() != 1 && p.getRNG().nextInt(100) == 0) { p.getHeldItem().setItemDamage(1); } diff --git a/src/main/java/com/hbm/blocks/network/BlockCable.java b/src/main/java/com/hbm/blocks/network/BlockCable.java index 60906e5fd..e0b8418a8 100644 --- a/src/main/java/com/hbm/blocks/network/BlockCable.java +++ b/src/main/java/com/hbm/blocks/network/BlockCable.java @@ -3,7 +3,6 @@ package com.hbm.blocks.network; import com.hbm.blocks.ModBlocks; import com.hbm.lib.Library; import com.hbm.tileentity.network.TileEntityCableBaseNT; - import cpw.mods.fml.client.registry.RenderingRegistry; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -28,26 +27,26 @@ public class BlockCable extends BlockContainer { @Override public int getRenderType() { - + if(this == ModBlocks.red_cable_classic) return renderIDClassic; - + return renderID; } - + @Override public boolean isOpaqueCube() { return false; } - + @Override public boolean renderAsNormalBlock() { return false; } - + @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - + boolean posX = Library.canConnect(world, x + 1, y, z, Library.POS_X); boolean negX = Library.canConnect(world, x - 1, y, z, Library.NEG_X); boolean posY = Library.canConnect(world, x, y + 1, z, Library.POS_Y); @@ -56,29 +55,29 @@ public class BlockCable extends BlockContainer { boolean negZ = Library.canConnect(world, x, y, z - 1, Library.NEG_Z); setBlockBounds(posX, negX, posY, negY, posZ, negZ); - + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } - + @Override public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { - + boolean posX = Library.canConnect(world, x + 1, y, z, Library.POS_X); boolean negX = Library.canConnect(world, x - 1, y, z, Library.NEG_X); boolean posY = Library.canConnect(world, x, y + 1, z, Library.POS_Y); boolean negY = Library.canConnect(world, x, y - 1, z, Library.NEG_Y); boolean posZ = Library.canConnect(world, x, y, z + 1, Library.POS_Z); boolean negZ = Library.canConnect(world, x, y, z - 1, Library.NEG_Z); - + setBlockBounds(posX, negX, posY, negY, posZ, negZ); } - + private void setBlockBounds(boolean posX, boolean negX, boolean posY, boolean negY, boolean posZ, boolean negZ) { - + float pixel = 0.0625F; float min = pixel * 5.5F; float max = pixel * 10.5F; - + float minX = negX ? 0F : min; float maxX = posX ? 1F : max; float minY = negY ? 0F : min; diff --git a/src/main/java/com/hbm/blocks/network/BlockCableGauge.java b/src/main/java/com/hbm/blocks/network/BlockCableGauge.java index bc31744fd..2e7048be3 100644 --- a/src/main/java/com/hbm/blocks/network/BlockCableGauge.java +++ b/src/main/java/com/hbm/blocks/network/BlockCableGauge.java @@ -1,7 +1,7 @@ package com.hbm.blocks.network; -import java.util.ArrayList; -import java.util.List; +import api.hbm.energymk2.PowerNetMK2; +import api.hbm.redstoneoverradio.IRORValueProvider; import com.hbm.blocks.IBlockMultiPass; import com.hbm.blocks.ILookOverlay; @@ -9,15 +9,14 @@ import com.hbm.blocks.ITooltipProvider; import com.hbm.handler.CompatHandler; import com.hbm.lib.RefStrings; import com.hbm.render.block.RenderBlockMultipass; -import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.network.TileEntityCableBaseNT; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; -import api.hbm.energymk2.PowerNetMK2; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; @@ -29,15 +28,17 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; +import java.util.ArrayList; +import java.util.List; + public class BlockCableGauge extends BlockContainer implements IBlockMultiPass, ILookOverlay, ITooltipProvider { - + @SideOnly(Side.CLIENT) protected IIcon overlayGauge; public BlockCableGauge() { @@ -48,7 +49,7 @@ public class BlockCableGauge extends BlockContainer implements IBlockMultiPass, public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityCableGauge(); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister reg) { @@ -59,11 +60,11 @@ public class BlockCableGauge extends BlockContainer implements IBlockMultiPass, @Override @SideOnly(Side.CLIENT) public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { - + if(RenderBlockMultipass.currentPass == 0) { return blockIcon; } - + return side == world.getBlockMetadata(x, y, z) ? this.overlayGauge : this.blockIcon; } @@ -85,42 +86,42 @@ public class BlockCableGauge extends BlockContainer implements IBlockMultiPass, @Override public void printHook(Pre event, World world, int x, int y, int z) { - + TileEntity te = world.getTileEntity(x, y, z); - + if(!(te instanceof TileEntityCableGauge)) return; - + TileEntityCableGauge duct = (TileEntityCableGauge) te; - + List text = new ArrayList(); text.add(BobMathUtil.getShortNumber(duct.deltaTick) + "HE/t"); text.add(BobMathUtil.getShortNumber(duct.deltaLastSecond) + "HE/s"); ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } - + @Override public int getRenderType(){ return IBlockMultiPass.getRenderType(); } @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) - public static class TileEntityCableGauge extends TileEntityCableBaseNT implements INBTPacketReceiver, SimpleComponent, CompatHandler.OCComponent { + public static class TileEntityCableGauge extends TileEntityCableBaseNT implements SimpleComponent, CompatHandler.OCComponent, IRORValueProvider { private long deltaTick = 0; private long deltaSecond = 0; private long deltaLastSecond = 0; - + @Override public void updateEntity() { super.updateEntity(); if(!worldObj.isRemote) { - + if(this.node != null && this.node.net != null) { - + PowerNetMK2 net = this.node.net; - + this.deltaTick = net.energyTracker; if(worldObj.getTotalWorldTime() % 20 == 0) { this.deltaLastSecond = this.deltaSecond; @@ -128,18 +129,21 @@ public class BlockCableGauge extends BlockContainer implements IBlockMultiPass, } this.deltaSecond += deltaTick; } - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("deltaT", deltaTick); - data.setLong("deltaS", deltaLastSecond); - INBTPacketReceiver.networkPack(this, data, 25); + + networkPackNT(25); } } @Override - public void networkUnpack(NBTTagCompound nbt) { - this.deltaTick = Math.max(nbt.getLong("deltaT"), 0); - this.deltaLastSecond = Math.max(nbt.getLong("deltaS"), 0); + public void serialize(ByteBuf buf) { + buf.writeLong(deltaTick); + buf.writeLong(deltaLastSecond); + } + + @Override + public void deserialize(ByteBuf buf) { + this.deltaTick = Math.max(buf.readLong(), 0); + this.deltaLastSecond = Math.max(buf.readLong(), 0); } @Override @@ -151,13 +155,28 @@ public class BlockCableGauge extends BlockContainer implements IBlockMultiPass, @Callback(direct = true) @Optional.Method(modid = "OpenComputers") public Object[] getTransfer(Context context, Arguments args) { - return new Object[] {deltaTick, deltaSecond}; + return new Object[] {deltaTick, deltaLastSecond}; } @Callback(direct = true) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[] {deltaTick, deltaSecond, xCoord, yCoord, zCoord}; + return new Object[] {deltaTick, deltaLastSecond, xCoord, yCoord, zCoord}; + } + + @Override + public String[] getFunctionInfo() { + return new String[] { + PREFIX_VALUE + "deltatick", + PREFIX_VALUE + "deltasecond", + }; + } + + @Override + public String provideRORValue(String name) { + if((PREFIX_VALUE + "deltatick").equals(name)) return "" + deltaTick; + if((PREFIX_VALUE + "deltasecond").equals(name)) return "" + deltaLastSecond; + return null; } } } diff --git a/src/main/java/com/hbm/blocks/network/BlockCablePaintable.java b/src/main/java/com/hbm/blocks/network/BlockCablePaintable.java index 334654a4d..3587df3c5 100644 --- a/src/main/java/com/hbm/blocks/network/BlockCablePaintable.java +++ b/src/main/java/com/hbm/blocks/network/BlockCablePaintable.java @@ -1,11 +1,11 @@ package com.hbm.blocks.network; +import api.hbm.block.IToolable; import com.hbm.blocks.IBlockMultiPass; +import com.hbm.interfaces.ICopiable; import com.hbm.lib.RefStrings; import com.hbm.render.block.RenderBlockMultipass; import com.hbm.tileentity.network.TileEntityCableBaseNT; - -import api.hbm.block.IToolable; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -36,7 +36,7 @@ public class BlockCablePaintable extends BlockContainer implements IToolable, IB public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityCablePaintable(); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister reg) { @@ -48,10 +48,10 @@ public class BlockCablePaintable extends BlockContainer implements IToolable, IB @SideOnly(Side.CLIENT) public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { TileEntity tile = world.getTileEntity(x, y, z); - + if(tile instanceof TileEntityCablePaintable) { TileEntityCablePaintable pipe = (TileEntityCablePaintable) tile; - + if(pipe.block != null) { if(RenderBlockMultipass.currentPass == 1) { return this.overlay; @@ -60,26 +60,26 @@ public class BlockCablePaintable extends BlockContainer implements IToolable, IB } } } - + return RenderBlockMultipass.currentPass == 1 ? this.overlay : this.blockIcon; } @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float fX, float fY, float fZ) { - + ItemStack stack = player.getHeldItem(); - + if(stack != null && stack.getItem() instanceof ItemBlock) { ItemBlock ib = (ItemBlock) stack.getItem(); Block block = ib.field_150939_a; - + if(block.renderAsNormalBlock() && block != this) { - + TileEntity tile = world.getTileEntity(x, y, z); - + if(tile instanceof TileEntityCablePaintable) { TileEntityCablePaintable pipe = (TileEntityCablePaintable) tile; - + if(pipe.block == null) { pipe.block = block; pipe.meta = stack.getItemDamage() & 15; @@ -90,20 +90,20 @@ public class BlockCablePaintable extends BlockContainer implements IToolable, IB } } } - + return super.onBlockActivated(world, x, y, z, player, side, fX, fY, fZ); } @Override public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { - + if(tool != ToolType.SCREWDRIVER) return false; - + TileEntity tile = world.getTileEntity(x, y, z); - + if(tile instanceof TileEntityCablePaintable) { TileEntityCablePaintable pipe = (TileEntityCablePaintable) tile; - + if(pipe.block != null) { pipe.block = null; world.markBlockForUpdate(x, y, z); @@ -111,7 +111,7 @@ public class BlockCablePaintable extends BlockContainer implements IToolable, IB return true; } } - + return false; } @@ -119,13 +119,13 @@ public class BlockCablePaintable extends BlockContainer implements IToolable, IB public int getPasses() { return 2; } - + @Override public int getRenderType(){ return IBlockMultiPass.getRenderType(); } - public static class TileEntityCablePaintable extends TileEntityCableBaseNT { + public static class TileEntityCablePaintable extends TileEntityCableBaseNT implements ICopiable { private Block block; private int meta; @@ -149,7 +149,7 @@ public class BlockCablePaintable extends BlockContainer implements IToolable, IB this.writeToNBT(nbt); return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); } - + @Override public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { this.readFromNBT(pkt.func_148857_g()); @@ -169,5 +169,23 @@ public class BlockCablePaintable extends BlockContainer implements IToolable, IB if(block != null) nbt.setInteger("block", Block.getIdFromBlock(block)); nbt.setInteger("meta", meta); } + + @Override + public NBTTagCompound getSettings(World world, int x, int y, int z) { + NBTTagCompound nbt = new NBTTagCompound(); + if(block != null) { + nbt.setInteger("paintblock", Block.getIdFromBlock(block)); + nbt.setInteger("paintmeta", meta); + } + return nbt; + } + + @Override + public void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + if(nbt.hasKey("paintblock")) { + this.block = Block.getBlockById(nbt.getInteger("paintblock")); + this.meta = nbt.getInteger("paintmeta"); + } + } } } diff --git a/src/main/java/com/hbm/blocks/network/BlockConveyor.java b/src/main/java/com/hbm/blocks/network/BlockConveyor.java index eb22da046..74e592400 100644 --- a/src/main/java/com/hbm/blocks/network/BlockConveyor.java +++ b/src/main/java/com/hbm/blocks/network/BlockConveyor.java @@ -1,8 +1,56 @@ package com.hbm.blocks.network; +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + public class BlockConveyor extends BlockConveyorBendable { public BlockConveyor() { super(); } -} + + @Override + public Item getItemDropped(int meta, Random rand, int fortune) { + return ModItems.conveyor_wand; + } + + @Override + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + + if(tool != ToolType.SCREWDRIVER) + return false; + int meta = world.getBlockMetadata(x, y, z); + int newMeta = meta; + + int dir = getPathDirection(meta); + + if(!player.isSneaking()) { + if(meta > 9) meta -= 8; + if(meta > 5) meta -= 4; + newMeta = ForgeDirection.getOrientation(meta).getRotation(ForgeDirection.UP).ordinal() + dir * 4; + } else { + + if(dir < 2) { + newMeta += 4; + } else { + newMeta -= 8; + + // switcheroo + world.setBlock(x, y, z, ModBlocks.conveyor_lift, newMeta, 3); + return true; + } + } + + world.setBlockMetadataWithNotify(x, y, z, newMeta, 3); + + return true; + } + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/network/BlockConveyorBase.java b/src/main/java/com/hbm/blocks/network/BlockConveyorBase.java index 44ce47839..9b2b9055b 100644 --- a/src/main/java/com/hbm/blocks/network/BlockConveyorBase.java +++ b/src/main/java/com/hbm/blocks/network/BlockConveyorBase.java @@ -1,12 +1,9 @@ package com.hbm.blocks.network; -import java.util.List; - +import api.hbm.conveyor.IConveyorBelt; import com.hbm.blocks.ITooltipProvider; import com.hbm.entity.item.EntityMovingItem; import com.hbm.lib.RefStrings; - -import api.hbm.conveyor.IConveyorBelt; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -26,6 +23,8 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.List; + public abstract class BlockConveyorBase extends Block implements IConveyorBelt, ITooltipProvider { @SideOnly(Side.CLIENT) @@ -34,14 +33,14 @@ public abstract class BlockConveyorBase extends Block implements IConveyorBelt, public BlockConveyorBase() { super(Material.iron); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { super.registerBlockIcons(iconRegister); this.sideIcon = iconRegister.registerIcon(RefStrings.MODID + ":conveyor_side"); } - + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { @@ -50,7 +49,7 @@ public abstract class BlockConveyorBase extends Block implements IConveyorBelt, return this.sideIcon; if((metadata == 4 || metadata == 5) && (side == 2 || side == 3)) return this.sideIcon; - + return super.getIcon(side, metadata); } @@ -61,7 +60,7 @@ public abstract class BlockConveyorBase extends Block implements IConveyorBelt, @Override public Vec3 getTravelLocation(World world, int x, int y, int z, Vec3 itemPos, double speed) { - + ForgeDirection dir = this.getTravelDirection(world, x, y, z, itemPos); //snapping point Vec3 snap = this.getClosestSnappingPosition(world, x, y, z, itemPos); @@ -74,7 +73,15 @@ public abstract class BlockConveyorBase extends Block implements IConveyorBelt, Vec3 ret = Vec3.createVectorHelper(itemPos.xCoord + motion.xCoord / len * speed, itemPos.yCoord + motion.yCoord / len * speed, itemPos.zCoord + motion.zCoord / len * speed); return ret; } - + + public ForgeDirection getInputDirection(World world, int x, int y, int z) { + return ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z)); + } + + public ForgeDirection getOutputDirection(World world, int x, int y, int z) { + return ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z)).getOpposite(); + } + public ForgeDirection getTravelDirection(World world, int x, int y, int z, Vec3 itemPos) { return ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z)); } @@ -83,10 +90,10 @@ public abstract class BlockConveyorBase extends Block implements IConveyorBelt, public Vec3 getClosestSnappingPosition(World world, int x, int y, int z, Vec3 itemPos) { ForgeDirection dir = this.getTravelDirection(world, x, y, z, itemPos); - + itemPos.xCoord = MathHelper.clamp_double(itemPos.xCoord, x, x + 1); itemPos.zCoord = MathHelper.clamp_double(itemPos.zCoord, z, z + 1); - + double posX = x + 0.5; double posZ = z + 0.5; @@ -96,7 +103,7 @@ public abstract class BlockConveyorBase extends Block implements IConveyorBelt, if(dir.offsetZ != 0) { posZ = itemPos.zCoord; } - + return Vec3.createVectorHelper(posX, y + 0.25, posZ); } @@ -168,4 +175,4 @@ public abstract class BlockConveyorBase extends Block implements IConveyorBelt, public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { this.addStandardInfo(stack, player, list, ext); } -} +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/network/BlockConveyorBendable.java b/src/main/java/com/hbm/blocks/network/BlockConveyorBendable.java index 201a6432a..f2ae3bf66 100644 --- a/src/main/java/com/hbm/blocks/network/BlockConveyorBendable.java +++ b/src/main/java/com/hbm/blocks/network/BlockConveyorBendable.java @@ -14,7 +14,7 @@ public abstract class BlockConveyorBendable extends BlockConveyorBase implements @SideOnly(Side.CLIENT) protected IIcon curveLeft; @SideOnly(Side.CLIENT) protected IIcon curveRight; - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { @@ -22,20 +22,20 @@ public abstract class BlockConveyorBendable extends BlockConveyorBase implements this.curveLeft = iconRegister.registerIcon(this.getTextureName() + "_curve_left"); this.curveRight = iconRegister.registerIcon(this.getTextureName() + "_curve_right"); } - + protected int getPathDirection(int meta) { - + if(meta >= 6 && meta <= 9) return 1; if(meta >= 10 && meta <= 13) return 2; return 0; } - + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { - + int dir = getPathDirection(metadata); - + if(dir > 0 && side > 1) return this.sideIcon; @@ -43,22 +43,42 @@ public abstract class BlockConveyorBendable extends BlockConveyorBase implements return this.sideIcon; if((metadata == 4 || metadata == 5) && (side == 2 || side == 3)) return this.sideIcon; - + if(dir == 1) return this.curveLeft; if(dir == 2) return this.curveRight; - + return super.getIcon(side, metadata); } @Override - public ForgeDirection getTravelDirection(World world, int x, int y, int z, Vec3 itemPos) { - + public ForgeDirection getInputDirection(World world, int x, int y, int z) { + int meta = world.getBlockMetadata(x, y, z); + int dir = getPathDirection(meta); + return ForgeDirection.getOrientation(meta - dir * 4); + } + + @Override + public ForgeDirection getOutputDirection(World world, int x, int y, int z) { int meta = world.getBlockMetadata(x, y, z); int dir = getPathDirection(meta); meta -= dir * 4; - + + ForgeDirection primary = ForgeDirection.getOrientation(meta).getOpposite(); + + if(dir == 2) return primary.getRotation(ForgeDirection.UP); + if(dir == 1) return primary.getRotation(ForgeDirection.DOWN); + return primary; + } + + @Override + public ForgeDirection getTravelDirection(World world, int x, int y, int z, Vec3 itemPos) { + + int meta = world.getBlockMetadata(x, y, z); + int dir = getPathDirection(meta); + meta -= dir * 4; + ForgeDirection primary = ForgeDirection.getOrientation(meta); - + if(dir > 0) { dir--; double ix = x + 0.5; @@ -70,43 +90,43 @@ public abstract class BlockConveyorBendable extends BlockConveyorBase implements double dX = Math.abs(itemPos.xCoord - ix); double dZ = Math.abs(itemPos.zCoord - iz); - + if(dX + dZ >= 1) { - + if(dir == 0) return secondary.getOpposite(); else return secondary; } } - + return primary; } @Override public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { - + if(tool != ToolType.SCREWDRIVER) return false; int meta = world.getBlockMetadata(x, y, z); int newMeta = meta; - + int dir = getPathDirection(meta); - + if(!player.isSneaking()) { if(meta > 9) meta -= 8; if(meta > 5) meta -= 4; newMeta = ForgeDirection.getOrientation(meta).getRotation(ForgeDirection.UP).ordinal() + dir * 4; } else { - + if(dir < 2) newMeta += 4; else newMeta -= 8; } - + world.setBlockMetadataWithNotify(x, y, z, newMeta, 3); - + return true; } -} +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/network/BlockConveyorChute.java b/src/main/java/com/hbm/blocks/network/BlockConveyorChute.java index e61ff37f0..ec07f8afe 100644 --- a/src/main/java/com/hbm/blocks/network/BlockConveyorChute.java +++ b/src/main/java/com/hbm/blocks/network/BlockConveyorChute.java @@ -1,32 +1,50 @@ package com.hbm.blocks.network; +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; + +import api.hbm.block.IToolable; import api.hbm.conveyor.IConveyorBelt; import api.hbm.conveyor.IEnterableBlock; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class BlockConveyorChute extends BlockConveyorBase { +public class BlockConveyorChute extends BlockConveyorBase implements IToolable { @Override public Vec3 getTravelLocation(World world, int x, int y, int z, Vec3 itemPos, double speed) { - + Block below = world.getBlock(x, y - 1, z); if(below instanceof IConveyorBelt || below instanceof IEnterableBlock) { speed *= 5; } else if(itemPos.yCoord > y + 0.25) { speed *= 3; } - + return super.getTravelLocation(world, x, y, z, itemPos, speed); } - + + @Override + public ForgeDirection getInputDirection(World world, int x, int y, int z) { + return ForgeDirection.UP; + } + + @Override + public ForgeDirection getOutputDirection(World world, int x, int y, int z) { + return ForgeDirection.DOWN; + } + @Override public ForgeDirection getTravelDirection(World world, int x, int y, int z, Vec3 itemPos) { @@ -34,13 +52,13 @@ public class BlockConveyorChute extends BlockConveyorBase { if(below instanceof IConveyorBelt || below instanceof IEnterableBlock || itemPos.yCoord > y + 0.25) { return ForgeDirection.UP; } - + return ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z)); } @Override public Vec3 getClosestSnappingPosition(World world, int x, int y, int z, Vec3 itemPos) { - + Block below = world.getBlock(x, y - 1, z); if(below instanceof IConveyorBelt || below instanceof IEnterableBlock || itemPos.yCoord > y + 0.25) { return Vec3.createVectorHelper(x + 0.5, itemPos.yCoord, z + 0.5); @@ -63,10 +81,36 @@ public class BlockConveyorChute extends BlockConveyorBase { public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { return AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 1, z + 1); } - + @Override @SideOnly(Side.CLIENT) public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { return true; } -} + + @Override + public Item getItemDropped(int meta, Random rand, int fortune) { + return ModItems.conveyor_wand; + } + + @Override + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + + if(tool != ToolType.SCREWDRIVER) + return false; + int meta = world.getBlockMetadata(x, y, z); + int newMeta = meta; + + if(!player.isSneaking()) { + if(meta > 9) meta -= 8; + if(meta > 5) meta -= 4; + newMeta = ForgeDirection.getOrientation(meta).getRotation(ForgeDirection.UP).ordinal(); + + world.setBlockMetadataWithNotify(x, y, z, newMeta, 3); + } else { + world.setBlock(x, y, z, ModBlocks.conveyor, newMeta, 3); + } + + return true; + } +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/network/BlockConveyorClassic.java b/src/main/java/com/hbm/blocks/network/BlockConveyorClassic.java index 095615595..7a479c699 100644 --- a/src/main/java/com/hbm/blocks/network/BlockConveyorClassic.java +++ b/src/main/java/com/hbm/blocks/network/BlockConveyorClassic.java @@ -1,9 +1,8 @@ package com.hbm.blocks.network; +import api.hbm.conveyor.IConveyorBelt; import com.hbm.entity.item.EntityMovingItem; import com.hbm.lib.RefStrings; - -import api.hbm.conveyor.IConveyorBelt; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -29,14 +28,14 @@ public class BlockConveyorClassic extends Block implements IConveyorBelt { public BlockConveyorClassic() { super(Material.iron); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { super.registerBlockIcons(iconRegister); this.sideIcon = iconRegister.registerIcon(RefStrings.MODID + ":conveyor_side"); } - + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { @@ -45,7 +44,7 @@ public class BlockConveyorClassic extends Block implements IConveyorBelt { return this.sideIcon; if((metadata == 4 || metadata == 5) && (side == 2 || side == 3)) return this.sideIcon; - + return super.getIcon(side, metadata); } @@ -56,7 +55,7 @@ public class BlockConveyorClassic extends Block implements IConveyorBelt { @Override public Vec3 getTravelLocation(World world, int x, int y, int z, Vec3 itemPos, double speed) { - + ForgeDirection dir = getTravelDirection(world, x, y, z, itemPos, speed); //snapping point Vec3 snap = this.getClosestSnappingPosition(world, x, y, z, itemPos); @@ -69,7 +68,7 @@ public class BlockConveyorClassic extends Block implements IConveyorBelt { Vec3 ret = Vec3.createVectorHelper(itemPos.xCoord + motion.xCoord / len * speed, itemPos.yCoord + motion.yCoord / len * speed, itemPos.zCoord + motion.zCoord / len * speed); return ret; } - + public ForgeDirection getTravelDirection(World world, int x, int y, int z, Vec3 itemPos, double speed) { return ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z)); } @@ -78,10 +77,10 @@ public class BlockConveyorClassic extends Block implements IConveyorBelt { public Vec3 getClosestSnappingPosition(World world, int x, int y, int z, Vec3 itemPos) { ForgeDirection dir = ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z)); - + itemPos.xCoord = MathHelper.clamp_double(itemPos.xCoord, x, x + 1); itemPos.zCoord = MathHelper.clamp_double(itemPos.zCoord, z, z + 1); - + double posX = x + 0.5; double posZ = z + 0.5; @@ -91,7 +90,7 @@ public class BlockConveyorClassic extends Block implements IConveyorBelt { if(dir.offsetZ != 0) { posZ = itemPos.zCoord; } - + return Vec3.createVectorHelper(posX, y + 0.25, posZ); } diff --git a/src/main/java/com/hbm/blocks/network/BlockConveyorDouble.java b/src/main/java/com/hbm/blocks/network/BlockConveyorDouble.java index b81e237b6..e5e5942a8 100644 --- a/src/main/java/com/hbm/blocks/network/BlockConveyorDouble.java +++ b/src/main/java/com/hbm/blocks/network/BlockConveyorDouble.java @@ -1,5 +1,10 @@ package com.hbm.blocks.network; +import java.util.Random; + +import com.hbm.items.ModItems; + +import net.minecraft.item.Item; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -11,10 +16,10 @@ public class BlockConveyorDouble extends BlockConveyorBendable { public Vec3 getClosestSnappingPosition(World world, int x, int y, int z, Vec3 itemPos) { ForgeDirection dir = this.getTravelDirection(world, x, y, z, itemPos); - + itemPos.xCoord = MathHelper.clamp_double(itemPos.xCoord, x, x + 1); itemPos.zCoord = MathHelper.clamp_double(itemPos.zCoord, z, z + 1); - + double posX = x + 0.5; double posZ = z + 0.5; @@ -26,7 +31,18 @@ public class BlockConveyorDouble extends BlockConveyorBendable { posZ = itemPos.zCoord; posX += itemPos.xCoord > posX ? 0.25 : -0.25; } - + return Vec3.createVectorHelper(posX, y + 0.25, posZ); } -} + + @Override + public Item getItemDropped(int meta, Random rand, int fortune) { + return ModItems.conveyor_wand; + } + + @Override + public int damageDropped(int meta) { + return 2; + } + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/network/BlockConveyorExpress.java b/src/main/java/com/hbm/blocks/network/BlockConveyorExpress.java index 0041da992..b883243f2 100644 --- a/src/main/java/com/hbm/blocks/network/BlockConveyorExpress.java +++ b/src/main/java/com/hbm/blocks/network/BlockConveyorExpress.java @@ -1,5 +1,10 @@ package com.hbm.blocks.network; +import java.util.Random; + +import com.hbm.items.ModItems; + +import net.minecraft.item.Item; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -9,4 +14,15 @@ public class BlockConveyorExpress extends BlockConveyorBendable { public Vec3 getTravelLocation(World world, int x, int y, int z, Vec3 itemPos, double speed) { return super.getTravelLocation(world, x, y, z, itemPos, speed * 3); } -} + + @Override + public Item getItemDropped(int meta, Random rand, int fortune) { + return ModItems.conveyor_wand; + } + + @Override + public int damageDropped(int meta) { + return 1; + } + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/network/BlockConveyorLift.java b/src/main/java/com/hbm/blocks/network/BlockConveyorLift.java index a2dfa5de1..5a6a59aa4 100644 --- a/src/main/java/com/hbm/blocks/network/BlockConveyorLift.java +++ b/src/main/java/com/hbm/blocks/network/BlockConveyorLift.java @@ -1,28 +1,46 @@ package com.hbm.blocks.network; +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; + +import api.hbm.block.IToolable; import api.hbm.conveyor.IConveyorBelt; import api.hbm.conveyor.IEnterableBlock; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class BlockConveyorLift extends BlockConveyorBase { - +public class BlockConveyorLift extends BlockConveyorBase implements IToolable { + + @Override + public ForgeDirection getInputDirection(World world, int x, int y, int z) { + return ForgeDirection.DOWN; + } + + @Override + public ForgeDirection getOutputDirection(World world, int x, int y, int z) { + return ForgeDirection.UP; + } + @Override public ForgeDirection getTravelDirection(World world, int x, int y, int z, Vec3 itemPos) { boolean bottom = !(world.getBlock(x, y - 1, z) instanceof IConveyorBelt); boolean top = !(world.getBlock(x, y + 1, z) instanceof IConveyorBelt) && !bottom && !(world.getBlock(x, y + 1, z) instanceof IEnterableBlock); - + if(!top) { return ForgeDirection.DOWN; } - + return ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z)); } @@ -44,7 +62,7 @@ public class BlockConveyorLift extends BlockConveyorBase { boolean bottom = !(world.getBlock(x, y - 1, z) instanceof IConveyorBelt); boolean top = !(world.getBlock(x, y + 1, z) instanceof IConveyorBelt) && !bottom && !(world.getBlock(x, y + 1, z) instanceof IEnterableBlock); - + if(top) this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); else @@ -69,10 +87,36 @@ public class BlockConveyorLift extends BlockConveyorBase { public int getRenderType() { return renderID; } - + @Override @SideOnly(Side.CLIENT) public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { return true; } -} + + @Override + public Item getItemDropped(int meta, Random rand, int fortune) { + return ModItems.conveyor_wand; + } + + @Override + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + + if(tool != ToolType.SCREWDRIVER) + return false; + int meta = world.getBlockMetadata(x, y, z); + int newMeta = meta; + + if(!player.isSneaking()) { + if(meta > 9) meta -= 8; + if(meta > 5) meta -= 4; + newMeta = ForgeDirection.getOrientation(meta).getRotation(ForgeDirection.UP).ordinal(); + + world.setBlockMetadataWithNotify(x, y, z, newMeta, 3); + } else { + world.setBlock(x, y, z, ModBlocks.conveyor_chute, newMeta, 3); + } + + return true; + } +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/network/BlockConveyorTriple.java b/src/main/java/com/hbm/blocks/network/BlockConveyorTriple.java index 69ed40980..8bf3d2603 100644 --- a/src/main/java/com/hbm/blocks/network/BlockConveyorTriple.java +++ b/src/main/java/com/hbm/blocks/network/BlockConveyorTriple.java @@ -1,5 +1,10 @@ package com.hbm.blocks.network; +import java.util.Random; + +import com.hbm.items.ModItems; + +import net.minecraft.item.Item; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -11,10 +16,10 @@ public class BlockConveyorTriple extends BlockConveyorBendable { public Vec3 getClosestSnappingPosition(World world, int x, int y, int z, Vec3 itemPos) { ForgeDirection dir = this.getTravelDirection(world, x, y, z, itemPos); - + itemPos.xCoord = MathHelper.clamp_double(itemPos.xCoord, x, x + 1); itemPos.zCoord = MathHelper.clamp_double(itemPos.zCoord, z, z + 1); - + double posX = x + 0.5; double posZ = z + 0.5; @@ -26,7 +31,18 @@ public class BlockConveyorTriple extends BlockConveyorBendable { posZ = itemPos.zCoord; posX += (itemPos.xCoord > posX + 0.15 ? 0.3125 : itemPos.xCoord < posX - 0.15 ? -0.3125 : 0); } - + return Vec3.createVectorHelper(posX, y + 0.25, posZ); } -} + + @Override + public Item getItemDropped(int meta, Random rand, int fortune) { + return ModItems.conveyor_wand; + } + + @Override + public int damageDropped(int meta) { + return 3; + } + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/network/BlockCraneBase.java b/src/main/java/com/hbm/blocks/network/BlockCraneBase.java index ef73c5f4f..2ae141b84 100644 --- a/src/main/java/com/hbm/blocks/network/BlockCraneBase.java +++ b/src/main/java/com/hbm/blocks/network/BlockCraneBase.java @@ -3,6 +3,7 @@ package com.hbm.blocks.network; import api.hbm.block.IToolable; import com.hbm.blocks.IBlockSideRotation; import com.hbm.blocks.ITooltipProvider; +import com.hbm.items.tool.ItemConveyorWand; import com.hbm.items.tool.ItemTooling; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; @@ -71,11 +72,13 @@ public abstract class BlockCraneBase extends BlockContainer implements IBlockSid this.iconOut = iconRegister.registerIcon(RefStrings.MODID + ":crane_out"); this.iconSideOut = iconRegister.registerIcon(RefStrings.MODID + ":crane_side_out"); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemTooling) { return false; + } else if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemConveyorWand) { + return false; } else if(world.isRemote) { return true; } else if(!player.isSneaking()) { @@ -85,7 +88,7 @@ public abstract class BlockCraneBase extends BlockContainer implements IBlockSid return false; } } - + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { int l = BlockPistonBase.determineOrientation(world, x, y, z, player); @@ -170,7 +173,7 @@ public abstract class BlockCraneBase extends BlockContainer implements IBlockSid return this.blockIcon; } - + if(side == outputSide.ordinal()) { return this.iconSideOut; } @@ -256,7 +259,7 @@ public abstract class BlockCraneBase extends BlockContainer implements IBlockSid return 0; } - + public static int renderIDClassic = RenderingRegistry.getNextAvailableRenderId(); @Override @@ -269,7 +272,7 @@ public abstract class BlockCraneBase extends BlockContainer implements IBlockSid ISidedInventory tileentityfurnace = (ISidedInventory) world.getTileEntity(x, y, z); if(tileentityfurnace != null) { - + for(int i1 = start; i1 < end; ++i1) { ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); diff --git a/src/main/java/com/hbm/blocks/network/CableDetector.java b/src/main/java/com/hbm/blocks/network/CableDetector.java index 7776212ac..18e80c570 100644 --- a/src/main/java/com/hbm/blocks/network/CableDetector.java +++ b/src/main/java/com/hbm/blocks/network/CableDetector.java @@ -2,7 +2,6 @@ package com.hbm.blocks.network; import com.hbm.lib.RefStrings; import com.hbm.tileentity.network.TileEntityCableSwitch; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -21,14 +20,14 @@ public class CableDetector extends BlockContainer { public CableDetector(Material p_i45386_1_) { super(p_i45386_1_); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { this.iconOn = iconRegister.registerIcon(RefStrings.MODID + ":cable_detector_on"); this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":cable_detector_off"); } - + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { @@ -42,18 +41,18 @@ public class CableDetector extends BlockContainer { @Override public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { - + boolean on = world.isBlockIndirectlyGettingPowered(x, y, z); int meta = world.getBlockMetadata(x, y, z); - + boolean update = false; - + if(on && meta == 0) { world.setBlockMetadataWithNotify(x, y, z, 1, 2); world.playSoundEffect(x, y, z, "hbm:block.reactorStart", 1.0F, 1.0F); update = true; } - + if(!on && meta == 1) { world.setBlockMetadataWithNotify(x, y, z, 0, 2); world.playSoundEffect(x, y, z, "hbm:block.reactorStart", 1.0F, 0.85F); diff --git a/src/main/java/com/hbm/blocks/network/CableDiode.java b/src/main/java/com/hbm/blocks/network/CableDiode.java index 246094666..4dd7a8f80 100644 --- a/src/main/java/com/hbm/blocks/network/CableDiode.java +++ b/src/main/java/com/hbm/blocks/network/CableDiode.java @@ -1,22 +1,19 @@ package com.hbm.blocks.network; -import java.util.ArrayList; -import java.util.List; - -import com.hbm.blocks.ILookOverlay; -import com.hbm.blocks.ITooltipProvider; -import com.hbm.tileentity.TileEntityLoadedBase; -import com.hbm.util.BobMathUtil; -import com.hbm.util.Compat; -import com.hbm.util.I18nUtil; - import api.hbm.block.IToolable; import api.hbm.energymk2.IEnergyConnectorBlock; import api.hbm.energymk2.IEnergyConnectorMK2; import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.energymk2.IEnergyReceiverMK2.ConnectionPriority; import api.hbm.energymk2.Nodespace; import api.hbm.energymk2.Nodespace.PowerNode; -import api.hbm.energymk2.IEnergyReceiverMK2.ConnectionPriority; +import com.hbm.blocks.ILookOverlay; +import com.hbm.blocks.ITooltipProvider; +import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.BobMathUtil; +import com.hbm.util.Compat; +import com.hbm.util.i18n.I18nUtil; + import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -37,8 +34,11 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; + public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, ILookOverlay, IToolable, ITooltipProvider { - + public CableDiode(Material mat) { super(mat); } @@ -49,23 +49,23 @@ public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, public int getRenderType() { return renderID; } - + @Override public boolean isOpaqueCube() { return false; } - + @Override public boolean renderAsNormalBlock() { return false; } - + @Override @SideOnly(Side.CLIENT) public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { return true; } - + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { int l = BlockPistonBase.determineOrientation(world, x, y, z, player); world.setBlockMetadataWithNotify(x, y, z, l, 2); @@ -80,10 +80,10 @@ public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { TileEntityDiode te = (TileEntityDiode)world.getTileEntity(x, y, z); - + if(world.isRemote) return true; - + if(tool == ToolType.SCREWDRIVER) { if(te.level < 11) te.level++; @@ -91,7 +91,7 @@ public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, world.markBlockForUpdate(x, y, z); return true; } - + if(tool == ToolType.HAND_DRILL) { if(te.level > 1) te.level--; @@ -99,7 +99,7 @@ public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, world.markBlockForUpdate(x, y, z); return true; } - + if(tool == ToolType.DEFUSER) { int p = te.priority.ordinal() + 1; if(p > 4) p = 0; @@ -108,7 +108,7 @@ public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, world.markBlockForUpdate(x, y, z); return true; } - + return false; } @@ -122,18 +122,18 @@ public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, @Override public void printHook(Pre event, World world, int x, int y, int z) { - + TileEntity te = world.getTileEntity(x, y, z); - + if(!(te instanceof TileEntityDiode)) return; - + TileEntityDiode diode = (TileEntityDiode) te; - + List text = new ArrayList(); text.add("Max.: " + BobMathUtil.getShortNumber(diode.getMaxPower()) + "HE/t"); text.add("Priority: " + diode.priority.name()); - + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } @@ -141,16 +141,16 @@ public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityDiode(); } - + public static class TileEntityDiode extends TileEntityLoadedBase implements IEnergyReceiverMK2 { - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); level = nbt.getInteger("level"); priority = ConnectionPriority.values()[nbt.getByte("p")]; } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -164,30 +164,30 @@ public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, this.writeToNBT(nbt); return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); } - + @Override public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { this.readFromNBT(pkt.func_148857_g()); } - + int level = 1; - + private ForgeDirection getDir() { return ForgeDirection.getOrientation(this.getBlockMetadata()).getOpposite(); } @Override public void updateEntity() { - + if(!worldObj.isRemote) { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - + if(dir == getDir()) continue; - + this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } - + pulses = 0; this.setPower(0); //tick is over, reset our allowed transfe } @@ -197,7 +197,7 @@ public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, public boolean canConnect(ForgeDirection dir) { return dir != getDir(); } - + /** Used as an intra-tick tracker for how much energy has been transmitted, resets to 0 each tick and maxes out based on transfer */ private long power; private boolean recursionBrake = false; @@ -209,23 +209,23 @@ public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, if(recursionBrake) return power; - + pulses++; if(this.getPower() >= this.getMaxPower() || pulses > 10) return power; //if we have already maxed out transfer or max pulses, abort - + recursionBrake = true; - + ForgeDirection dir = getDir(); PowerNode node = Nodespace.getNode(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); TileEntity te = Compat.getTileStandard(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); - + if(node != null && !node.expired && node.hasValidNet() && te instanceof IEnergyConnectorMK2 && ((IEnergyConnectorMK2) te).canConnect(dir.getOpposite())) { long toTransfer = Math.min(power, this.getReceiverSpeed()); long remainder = node.net.sendPowerDiode(toTransfer); long transferred = (toTransfer - remainder); this.power += transferred; power -= transferred; - + } else if(te instanceof IEnergyReceiverMK2 && te != this) { IEnergyReceiverMK2 rec = (IEnergyReceiverMK2) te; if(rec.canConnect(dir.getOpposite())) { @@ -236,7 +236,7 @@ public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, return power; } } - + recursionBrake = false; return power; } @@ -255,7 +255,7 @@ public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, public long getPower() { return Math.min(power, this.getMaxPower()); } - + @Override public void setPower(long power) { this.power = power; diff --git a/src/main/java/com/hbm/blocks/network/CableSwitch.java b/src/main/java/com/hbm/blocks/network/CableSwitch.java index b419ec28a..f62af26b0 100644 --- a/src/main/java/com/hbm/blocks/network/CableSwitch.java +++ b/src/main/java/com/hbm/blocks/network/CableSwitch.java @@ -2,7 +2,6 @@ package com.hbm.blocks.network; import com.hbm.lib.RefStrings; import com.hbm.tileentity.network.TileEntityCableSwitch; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockContainer; @@ -21,14 +20,14 @@ public class CableSwitch extends BlockContainer { public CableSwitch(Material p_i45386_1_) { super(p_i45386_1_); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { this.iconOn = iconRegister.registerIcon(RefStrings.MODID + ":cable_switch_on"); this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":cable_switch_off"); } - + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { @@ -39,7 +38,7 @@ public class CableSwitch extends BlockContainer { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityCableSwitch(); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) @@ -55,10 +54,10 @@ public class CableSwitch extends BlockContainer { world.setBlockMetadataWithNotify(x, y, z, 0, 2); world.playSoundEffect(x, y, z, "hbm:block.reactorStart", 1.0F, 0.85F); } - + TileEntityCableSwitch te = (TileEntityCableSwitch) world.getTileEntity(x, y, z); te.updateState(); - + return true; } else { return false; diff --git a/src/main/java/com/hbm/blocks/network/ConnectorRedWire.java b/src/main/java/com/hbm/blocks/network/ConnectorRedWire.java index c60d9e7a8..c97e067b2 100644 --- a/src/main/java/com/hbm/blocks/network/ConnectorRedWire.java +++ b/src/main/java/com/hbm/blocks/network/ConnectorRedWire.java @@ -1,10 +1,7 @@ package com.hbm.blocks.network; -import java.util.List; - import com.hbm.lib.Library; import com.hbm.tileentity.network.TileEntityConnector; - import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -15,6 +12,8 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.List; + public class ConnectorRedWire extends PylonBase { public ConnectorRedWire(Material mat) { @@ -30,26 +29,26 @@ public class ConnectorRedWire extends PylonBase { public int onBlockPlaced(World world, int x, int y, int z, int side, float fX, float fY, float fZ, int meta) { return side; } - + @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { setBlockBounds(world.getBlockMetadata(x, y, z)); return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } - + @Override public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { setBlockBounds(world.getBlockMetadata(x, y, z)); } - + private void setBlockBounds(int meta) { - + float pixel = 0.0625F; float min = pixel * 5F; float max = pixel * 11F; - + ForgeDirection dir = ForgeDirection.getOrientation(meta).getOpposite(); - + float minX = dir == Library.NEG_X ? 0F : min; float maxX = dir == Library.POS_X ? 1F : max; float minY = dir == Library.NEG_Y ? 0F : min; diff --git a/src/main/java/com/hbm/blocks/network/CraneInserter.java b/src/main/java/com/hbm/blocks/network/CraneInserter.java index 22dcdcad8..e4cb74967 100644 --- a/src/main/java/com/hbm/blocks/network/CraneInserter.java +++ b/src/main/java/com/hbm/blocks/network/CraneInserter.java @@ -7,7 +7,6 @@ import com.hbm.lib.RefStrings; import com.hbm.tileentity.network.TileEntityCraneBase; import com.hbm.tileentity.network.TileEntityCraneInserter; import com.hbm.util.InventoryUtil; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -32,7 +31,7 @@ public class CraneInserter extends BlockCraneBase implements IEnterableBlock { public TileEntityCraneBase createNewTileEntity(World world, int meta) { return new TileEntityCraneInserter(); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { @@ -62,82 +61,87 @@ public class CraneInserter extends BlockCraneBase implements IEnterableBlock { public void onItemEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorItem entity) { ForgeDirection outputDirection = getOutputSide(world, x, y, z); TileEntity te = world.getTileEntity(x + outputDirection.offsetX, y + outputDirection.offsetY, z + outputDirection.offsetZ); - + if(entity == null || entity.getItemStack() == null || entity.getItemStack().stackSize <= 0) { return; } - + ItemStack toAdd = entity.getItemStack().copy(); - - int[] access = null; - - if(te instanceof ISidedInventory) { - ISidedInventory sided = (ISidedInventory) te; - access = InventoryUtil.masquerade(sided, outputDirection.getOpposite().ordinal()); + + if (!world.isBlockIndirectlyGettingPowered(x, y, z)) { + int[] access = null; + + if(te instanceof ISidedInventory) { + ISidedInventory sided = (ISidedInventory) te; + access = InventoryUtil.masquerade(sided, outputDirection.getOpposite().ordinal()); + } + + if(te instanceof IInventory) { + IInventory inv = (IInventory) te; + + addToInventory(inv, access, toAdd, outputDirection.getOpposite().ordinal()); + } } - - if(te instanceof IInventory) { - IInventory inv = (IInventory) te; - - addToInventory(inv, access, toAdd, outputDirection.getOpposite().ordinal()); - } - + + TileEntityCraneInserter inserter = null; + if(toAdd.stackSize > 0) { - addToInventory((TileEntityCraneInserter) world.getTileEntity(x, y, z), null, toAdd, outputDirection.getOpposite().ordinal()); + inserter = (TileEntityCraneInserter) world.getTileEntity(x, y, z); + addToInventory(inserter, null, toAdd, outputDirection.getOpposite().ordinal()); } - if(toAdd.stackSize > 0) { + if(toAdd.stackSize > 0 && inserter != null && !inserter.destroyer) { EntityItem drop = new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, toAdd.copy()); world.spawnEntityInWorld(drop); } } - + public static ItemStack addToInventory(IInventory inv, int[] access, ItemStack toAdd, int side) { - + ISidedInventory sided = inv instanceof ISidedInventory ? (ISidedInventory) inv : null; int limit = inv.getInventoryStackLimit(); - + int size = access == null ? inv.getSizeInventory() : access.length; - + for(int i = 0; i < size; i++) { int index = access == null ? i : access[i]; ItemStack stack = inv.getStackInSlot(index); - + if(stack != null && toAdd.isItemEqual(stack) && ItemStack.areItemStackTagsEqual(toAdd, stack) && stack.stackSize < Math.min(stack.getMaxStackSize(), limit) && ((sided == null || sided.canInsertItem(index, toAdd, side)) && inv.isItemValidForSlot(index, toAdd))) { - + int stackLimit = Math.min(stack.getMaxStackSize(), limit); int amount = Math.min(toAdd.stackSize, stackLimit - stack.stackSize); - + stack.stackSize += amount; toAdd.stackSize -= amount; inv.markDirty(); - + if(toAdd.stackSize == 0) { return null; } } } - + for(int i = 0; i < size; i++) { int index = access == null ? i : access[i]; ItemStack stack = inv.getStackInSlot(index); - + if(stack == null && ((sided == null || sided.canInsertItem(index, toAdd, side)) && inv.isItemValidForSlot(index, toAdd))) { - + int amount = Math.min(toAdd.stackSize, limit); - + ItemStack newStack = toAdd.copy(); newStack.stackSize = amount; inv.setInventorySlotContents(index, newStack); toAdd.stackSize -= amount; inv.markDirty(); - + if(toAdd.stackSize == 0) { return null; } } } - + return toAdd; } @@ -153,7 +157,7 @@ public class CraneInserter extends BlockCraneBase implements IEnterableBlock { public boolean hasComparatorInputOverride() { return true; } - + @Override public int getComparatorInputOverride(World world, int x, int y, int z, int side) { return Container.calcRedstoneFromInventory((TileEntityCraneInserter)world.getTileEntity(x, y, z)); diff --git a/src/main/java/com/hbm/blocks/network/CranePartitioner.java b/src/main/java/com/hbm/blocks/network/CranePartitioner.java index 415ed34aa..f2d0b7cee 100644 --- a/src/main/java/com/hbm/blocks/network/CranePartitioner.java +++ b/src/main/java/com/hbm/blocks/network/CranePartitioner.java @@ -1,21 +1,15 @@ package com.hbm.blocks.network; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.List; -import java.util.Random; - +import api.hbm.conveyor.IConveyorBelt; +import api.hbm.conveyor.IConveyorItem; +import api.hbm.conveyor.IConveyorPackage; +import api.hbm.conveyor.IEnterableBlock; import com.hbm.blocks.ITooltipProvider; import com.hbm.entity.item.EntityMovingItem; import com.hbm.inventory.recipes.CrystallizerRecipes; import com.hbm.lib.RefStrings; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.InventoryUtil; - -import api.hbm.conveyor.IConveyorBelt; -import api.hbm.conveyor.IConveyorItem; -import api.hbm.conveyor.IConveyorPackage; -import api.hbm.conveyor.IEnterableBlock; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -37,6 +31,11 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.Random; + public class CranePartitioner extends BlockContainer implements IConveyorBelt, IEnterableBlock, ITooltipProvider { @SideOnly(Side.CLIENT) public IIcon iconTop; @@ -48,7 +47,7 @@ public class CranePartitioner extends BlockContainer implements IConveyorBelt, I public CranePartitioner() { super(Material.iron); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { @@ -116,7 +115,7 @@ public class CranePartitioner extends BlockContainer implements IConveyorBelt, I if(dir.offsetZ != 0) posZ = itemPos.zCoord; return Vec3.createVectorHelper(posX, y + 0.25, posZ); } - + public ForgeDirection getTravelDirection(World world, int x, int y, int z, Vec3 itemPos) { int meta = world.getBlockMetadata(x, y, z); return ForgeDirection.getOrientation(meta); @@ -137,7 +136,7 @@ public class CranePartitioner extends BlockContainer implements IConveyorBelt, I world.spawnEntityInWorld(item); } } - + public static class TileEntityCranePartitioner extends TileEntityMachineBase { public TileEntityCranePartitioner() { @@ -148,14 +147,14 @@ public class CranePartitioner extends BlockContainer implements IConveyorBelt, I @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + List stacks = new ArrayList(); for(int i = 0; i < 9; i++) if(slots[i] != null) stacks.add(slots[i]); stacks.sort(stackSizeComparator); boolean markDirty = false; - + for(ItemStack stack : stacks) { int amount = CrystallizerRecipes.getAmount(stack); while(stack.stackSize >= amount) { @@ -168,12 +167,12 @@ public class CranePartitioner extends BlockContainer implements IConveyorBelt, I worldObj.spawnEntityInWorld(item); } } - + for(int i = 0; i < 9; i++) if(slots[i] != null && slots[i].stackSize <= 0) slots[i] = null; if(markDirty) this.markDirty(); } } - + public static Comparator stackSizeComparator = new Comparator() { @Override @@ -204,7 +203,7 @@ public class CranePartitioner extends BlockContainer implements IConveyorBelt, I } private final Random dropRandom = new Random(); - + @Override public void breakBlock(World world, int x, int y, int z, Block block, int meta) { TileEntity tile = world.getTileEntity(x, y, z); diff --git a/src/main/java/com/hbm/blocks/network/CraneRouter.java b/src/main/java/com/hbm/blocks/network/CraneRouter.java index a89d2a695..af4db88bb 100644 --- a/src/main/java/com/hbm/blocks/network/CraneRouter.java +++ b/src/main/java/com/hbm/blocks/network/CraneRouter.java @@ -1,21 +1,18 @@ package com.hbm.blocks.network; -import java.util.ArrayList; -import java.util.List; - -import com.hbm.blocks.IBlockMultiPass; -import com.hbm.blocks.ITooltipProvider; -import com.hbm.entity.item.EntityMovingItem; -import com.hbm.lib.RefStrings; -import com.hbm.main.MainRegistry; -import com.hbm.module.ModulePatternMatcher; -import com.hbm.render.block.RenderBlockMultipass; -import com.hbm.tileentity.network.TileEntityCraneRouter; - import api.hbm.conveyor.IConveyorBelt; import api.hbm.conveyor.IConveyorItem; import api.hbm.conveyor.IConveyorPackage; import api.hbm.conveyor.IEnterableBlock; +import com.hbm.blocks.IBlockMultiPass; +import com.hbm.blocks.ITooltipProvider; +import com.hbm.entity.item.EntityMovingItem; +import com.hbm.items.tool.ItemConveyorWand; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.module.ModulePatternMatcher; +import com.hbm.render.block.RenderBlockMultipass; +import com.hbm.tileentity.network.TileEntityCraneRouter; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -33,6 +30,9 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; + public class CraneRouter extends BlockContainer implements IBlockMultiPass, IEnterableBlock, ITooltipProvider { @SideOnly(Side.CLIENT) protected IIcon iconOverlay; @@ -46,7 +46,7 @@ public class CraneRouter extends BlockContainer implements IBlockMultiPass, IEnt public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityCraneRouter(); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { @@ -59,10 +59,12 @@ public class CraneRouter extends BlockContainer implements IBlockMultiPass, IEnt public IIcon getIcon(int side, int metadata) { return RenderBlockMultipass.currentPass == 0 ? this.blockIcon : this.iconOverlay; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) { + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemConveyorWand) { + return false; + } else if(world.isRemote) { return true; } else if(!player.isSneaking()) { FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); @@ -75,10 +77,10 @@ public class CraneRouter extends BlockContainer implements IBlockMultiPass, IEnt @Override @SideOnly(Side.CLIENT) public int colorMultiplier(IBlockAccess world, int x, int y, int z) { - + if(RenderBlockMultipass.currentPass == 0) return 0xffffff; - + switch(RenderBlockMultipass.currentPass - 1) { case 0: return 0xff0000; case 1: return 0xff8000; @@ -89,7 +91,7 @@ public class CraneRouter extends BlockContainer implements IBlockMultiPass, IEnt default: return 0xffffff; } } - + @Override public int getRenderType(){ return IBlockMultiPass.getRenderType(); @@ -101,10 +103,10 @@ public class CraneRouter extends BlockContainer implements IBlockMultiPass, IEnt @Override @SideOnly(Side.CLIENT) public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { - + if(RenderBlockMultipass.currentPass == 0) return true; - + return side == RenderBlockMultipass.currentPass - 1; } @@ -122,40 +124,40 @@ public class CraneRouter extends BlockContainer implements IBlockMultiPass, IEnt public void onItemEnter(World world, int x, int y, int z, ForgeDirection dir, IConveyorItem entity) { TileEntityCraneRouter router = (TileEntityCraneRouter) world.getTileEntity(x, y, z); ItemStack stack = entity.getItemStack(); - + List validDirs = new ArrayList(); - + //check filters for all sides for(int side = 0; side < 6; side++) { - + ModulePatternMatcher matcher = router.patterns[side]; int mode = router.modes[side]; - + //if the side is disabled or wildcard, skip if(mode == router.MODE_NONE || mode == router.MODE_WILDCARD) continue; - + boolean matchesFilter = false; - + for(int slot = 0; slot < 5; slot++) { ItemStack filter = router.slots[side * 5 + slot]; - + if(filter == null) continue; - + //the filter kicks in so long as one entry matches if(matcher.isValidForFilter(filter, slot, stack)) { matchesFilter = true; break; } } - + //add dir if matches with whitelist on or doesn't match with blacklist on if((mode == router.MODE_WHITELIST && matchesFilter) || (mode == router.MODE_BLACKLIST && !matchesFilter)) { validDirs.add(ForgeDirection.getOrientation(side)); } } - + //if no valid dirs have yet been found, use wildcard if(validDirs.isEmpty()) { for(int side = 0; side < 6; side++) { @@ -164,25 +166,25 @@ public class CraneRouter extends BlockContainer implements IBlockMultiPass, IEnt } } } - + if(validDirs.isEmpty()) { world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, stack.copy())); return; } - + int i = world.rand.nextInt(validDirs.size()); sendOnRoute(world, x, y, z, entity, validDirs.get(i)); } - + protected void sendOnRoute(World world, int x, int y, int z, IConveyorItem item, ForgeDirection dir) { - + IConveyorBelt belt = null; Block block = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); - + if(block instanceof IConveyorBelt) { belt = (IConveyorBelt) block; } - + if(belt != null) { EntityMovingItem moving = new EntityMovingItem(world); Vec3 pos = Vec3.createVectorHelper(x + 0.5 + dir.offsetX * 0.55, y + 0.5 + dir.offsetY * 0.55, z + 0.5 + dir.offsetZ * 0.55); diff --git a/src/main/java/com/hbm/blocks/network/CraneSplitter.java b/src/main/java/com/hbm/blocks/network/CraneSplitter.java index a39396fb0..0cac219b0 100644 --- a/src/main/java/com/hbm/blocks/network/CraneSplitter.java +++ b/src/main/java/com/hbm/blocks/network/CraneSplitter.java @@ -1,17 +1,18 @@ package com.hbm.blocks.network; -import java.util.List; - -import com.hbm.blocks.BlockDummyable; -import com.hbm.blocks.ITooltipProvider; -import com.hbm.entity.item.EntityMovingItem; -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.network.TileEntityCraneSplitter; - +import api.hbm.block.IToolable; import api.hbm.conveyor.IConveyorBelt; import api.hbm.conveyor.IConveyorItem; import api.hbm.conveyor.IConveyorPackage; import api.hbm.conveyor.IEnterableBlock; +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ILookOverlay; +import com.hbm.blocks.ITooltipProvider; +import com.hbm.entity.item.EntityMovingItem; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.network.TileEntityCraneSplitter; +import com.hbm.util.i18n.I18nUtil; + import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -24,9 +25,13 @@ import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; -public class CraneSplitter extends BlockDummyable implements IConveyorBelt, IEnterableBlock, ITooltipProvider { +import java.util.ArrayList; +import java.util.List; + +public class CraneSplitter extends BlockDummyable implements IConveyorBelt, IEnterableBlock, ITooltipProvider, IToolable, ILookOverlay { @SideOnly(Side.CLIENT) public IIcon iconTopLeft; @SideOnly(Side.CLIENT) public IIcon iconTopRight; @@ -39,7 +44,7 @@ public class CraneSplitter extends BlockDummyable implements IConveyorBelt, IEnt @SideOnly(Side.CLIENT) public IIcon iconBelt; @SideOnly(Side.CLIENT) public IIcon iconInner; @SideOnly(Side.CLIENT) public IIcon iconInnerSide; - + public CraneSplitter() { super(Material.iron); } @@ -58,7 +63,7 @@ public class CraneSplitter extends BlockDummyable implements IConveyorBelt, IEnt public int getOffset() { return 0; } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { @@ -97,26 +102,16 @@ public class CraneSplitter extends BlockDummyable implements IConveyorBelt, IEnt TileEntity tile = world.getTileEntity(x, y, z); if(!(tile instanceof TileEntityCraneSplitter)) return; TileEntityCraneSplitter splitter = (TileEntityCraneSplitter) tile; - boolean pos = splitter.getPosition(); - ItemStack stack = entity.getItemStack(); ForgeDirection rot = ForgeDirection.getOrientation(splitter.getBlockMetadata() - offset).getRotation(ForgeDirection.DOWN); - - if(stack.stackSize % 2 == 0) { - stack.stackSize /= 2; - spawnMovingItem(world, x, y, z, stack.copy()); - spawnMovingItem(world, x + rot.offsetX, y, z + rot.offsetZ, stack.copy()); - } else { - int baseSize = stack.stackSize /= 2; - stack.stackSize = baseSize + (pos ? 0 : 1); - spawnMovingItem(world, x, y, z, stack.copy()); - stack.stackSize = baseSize + (pos ? 1 : 0); - spawnMovingItem(world, x + rot.offsetX, y, z + rot.offsetZ, stack.copy()); - splitter.setPosition(!pos); - } + + ItemStack[] splits = splitter.splitStack(entity.getItemStack()); + + spawnMovingItem(world, x, y, z, splits[0]); + spawnMovingItem(world, x + rot.offsetX, y, z + rot.offsetZ, splits[1]); } - + private void spawnMovingItem(World world, int x, int y, int z, ItemStack stack) { - if(stack.stackSize <= 0) return; + if(stack == null || stack.stackSize <= 0) return; EntityMovingItem moving = new EntityMovingItem(world); Vec3 pos = Vec3.createVectorHelper(x + 0.5, y + 0.5, z + 0.5); Vec3 snap = this.getClosestSnappingPosition(world, x, y, z, pos); @@ -152,15 +147,58 @@ public class CraneSplitter extends BlockDummyable implements IConveyorBelt, IEnt if(dir.offsetZ != 0) posZ = itemPos.zCoord; return Vec3.createVectorHelper(posX, y + 0.25, posZ); } - + public ForgeDirection getTravelDirection(World world, int x, int y, int z, Vec3 itemPos) { int meta = world.getBlockMetadata(x, y, z); if(meta >= 12) return ForgeDirection.getOrientation(meta - offset); return ForgeDirection.getOrientation(meta).getRotation(ForgeDirection.UP); } + @SuppressWarnings("rawtypes") @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { this.addStandardInfo(stack, player, list, ext); } + + @Override + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + if(world.isRemote) return true; + if(tool != ToolType.SCREWDRIVER) return false; + + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return false; + + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); + if(!(te instanceof TileEntityCraneSplitter)) return false; + + TileEntityCraneSplitter crane = (TileEntityCraneSplitter) te; + + // The core of the dummy is always the left hand block + boolean isLeft = x == pos[0] && y == pos[1] && z == pos[2]; + int adjust = player.isSneaking() ? -1 : 1; + + if(isLeft) { + crane.leftRatio = (byte)MathHelper.clamp_int(crane.leftRatio + adjust, 1, 16); + } else { + crane.rightRatio = (byte)MathHelper.clamp_int(crane.rightRatio + adjust, 1, 16); + } + + return true; + } + + @Override + public void printHook(Pre event, World world, int x, int y, int z) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return; + + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); + if(!(te instanceof TileEntityCraneSplitter)) return; + + TileEntityCraneSplitter crane = (TileEntityCraneSplitter) te; + + List text = new ArrayList<>(); + text.add("Splitter ratio: " + crane.leftRatio + ":" + crane.rightRatio); + + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } } diff --git a/src/main/java/com/hbm/blocks/network/DroneCrate.java b/src/main/java/com/hbm/blocks/network/DroneCrate.java index 94641ed8f..91b0a6a44 100644 --- a/src/main/java/com/hbm/blocks/network/DroneCrate.java +++ b/src/main/java/com/hbm/blocks/network/DroneCrate.java @@ -1,16 +1,12 @@ package com.hbm.blocks.network; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ITooltipProvider; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.tileentity.network.TileEntityDroneCrate; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; @@ -28,8 +24,12 @@ import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + public class DroneCrate extends BlockContainer implements ILookOverlay, ITooltipProvider { - + private static Random rand = new Random(); @SideOnly(Side.CLIENT) private IIcon iconTop; @@ -60,9 +60,9 @@ public class DroneCrate extends BlockContainer implements ILookOverlay, ITooltip @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - + if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.drone_linker) return false; - + if(world.isRemote) { return true; } else if(!player.isSneaking()) { @@ -72,7 +72,7 @@ public class DroneCrate extends BlockContainer implements ILookOverlay, ITooltip return false; } } - + @Override public void breakBlock(World world, int x, int y, int z, Block block, int meta) { TileEntityDroneCrate tileentityfurnace = (TileEntityDroneCrate) world.getTileEntity(x, y, z); @@ -124,7 +124,7 @@ public class DroneCrate extends BlockContainer implements ILookOverlay, ITooltip public void printHook(Pre event, World world, int x, int y, int z) { TileEntityDroneCrate tile = (TileEntityDroneCrate) world.getTileEntity(x, y, z); List text = new ArrayList(); - + if(tile.nextY != -1) { text.add("Next waypoint: " + tile.nextX + " / " + tile.nextY + " / " + tile.nextZ); ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); diff --git a/src/main/java/com/hbm/blocks/network/DroneDock.java b/src/main/java/com/hbm/blocks/network/DroneDock.java index df16956fc..83bb9d68f 100644 --- a/src/main/java/com/hbm/blocks/network/DroneDock.java +++ b/src/main/java/com/hbm/blocks/network/DroneDock.java @@ -1,26 +1,30 @@ package com.hbm.blocks.network; -import java.util.List; - import com.hbm.blocks.ITooltipProvider; import com.hbm.blocks.ModBlocks; import com.hbm.main.MainRegistry; import com.hbm.tileentity.network.TileEntityDroneDock; import com.hbm.tileentity.network.TileEntityDroneProvider; import com.hbm.tileentity.network.TileEntityDroneRequester; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; +import java.util.List; +import java.util.Random; + public class DroneDock extends BlockContainer implements ITooltipProvider { @SideOnly(Side.CLIENT) private IIcon iconTop; @@ -36,7 +40,7 @@ public class DroneDock extends BlockContainer implements ITooltipProvider { if(this == ModBlocks.drone_dock) return new TileEntityDroneDock(); if(this == ModBlocks.drone_crate_provider) return new TileEntityDroneProvider(); if(this == ModBlocks.drone_crate_requester) return new TileEntityDroneRequester(); - + return null; } @@ -53,7 +57,7 @@ public class DroneDock extends BlockContainer implements ITooltipProvider { public IIcon getIcon(int side, int metadata) { return side == 1 ? this.iconTop : (side == 0 ? this.iconBottom : this.blockIcon); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) { @@ -70,4 +74,53 @@ public class DroneDock extends BlockContainer implements ITooltipProvider { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { this.addStandardInfo(stack, player, list, ext); } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int meta) { + if(this == ModBlocks.drone_dock) this.dropContents(world, x, y, z, block, meta, 0, 9); + if(this == ModBlocks.drone_crate_provider) this.dropContents(world, x, y, z, block, meta, 0, 9); + if(this == ModBlocks.drone_crate_requester) this.dropContents(world, x, y, z, block, meta, 9, 18); + super.breakBlock(world, x, y, z, block, meta); + } + + private final Random rand = new Random(); + public void dropContents(World world, int x, int y, int z, Block block, int meta, int start, int end) { + ISidedInventory sidedInventory = (ISidedInventory) world.getTileEntity(x, y, z); + + if(sidedInventory != null) { + + for(int i1 = start; i1 < end; ++i1) { + ItemStack stack = sidedInventory.getStackInSlot(i1); + + if(stack != null) { + float f = this.rand.nextFloat() * 0.8F + 0.1F; + float f1 = this.rand.nextFloat() * 0.8F + 0.1F; + float f2 = this.rand.nextFloat() * 0.8F + 0.1F; + + while(stack.stackSize > 0) { + int j1 = this.rand.nextInt(21) + 10; + + if(j1 > stack.stackSize) { + j1 = stack.stackSize; + } + + stack.stackSize -= j1; + EntityItem entity = new EntityItem(world, x + f, y + f1, z + f2, new ItemStack(stack.getItem(), j1, stack.getItemDamage())); + + if(stack.hasTagCompound()) { + entity.getEntityItem().setTagCompound((NBTTagCompound) stack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entity.motionX = (float) this.rand.nextGaussian() * f3; + entity.motionY = (float) this.rand.nextGaussian() * f3 + 0.2F; + entity.motionZ = (float) this.rand.nextGaussian() * f3; + world.spawnEntityInWorld(entity); + } + } + } + + world.func_147453_f(x, y, z, block); + } + } } diff --git a/src/main/java/com/hbm/blocks/network/DroneWaypoint.java b/src/main/java/com/hbm/blocks/network/DroneWaypoint.java index 28e9e338b..41d5356a4 100644 --- a/src/main/java/com/hbm/blocks/network/DroneWaypoint.java +++ b/src/main/java/com/hbm/blocks/network/DroneWaypoint.java @@ -1,13 +1,10 @@ package com.hbm.blocks.network; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ITooltipProvider; import com.hbm.items.ModItems; import com.hbm.tileentity.network.TileEntityDroneWaypoint; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -25,6 +22,9 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; + public class DroneWaypoint extends BlockContainer implements ILookOverlay, ITooltipProvider { public DroneWaypoint() { @@ -40,34 +40,34 @@ public class DroneWaypoint extends BlockContainer implements ILookOverlay, ITool public int getRenderType() { return RadioTorchBase.renderID; } - + @Override public boolean isOpaqueCube() { return false; } - + @Override public boolean renderAsNormalBlock() { return false; } - + @Override @SideOnly(Side.CLIENT) public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { return true; } - + @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { return null; } - + @Override public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, Vec3 vec0, Vec3 vec1) { - + int meta = world.getBlockMetadata(x, y, z) & 7; ForgeDirection dir = ForgeDirection.getOrientation(meta); - + this.setBlockBounds( dir.offsetX == 1 ? 0F : 0.375F, dir.offsetY == 1 ? 0F : 0.375F, @@ -87,34 +87,34 @@ public class DroneWaypoint extends BlockContainer implements ILookOverlay, ITool @Override public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { - + int meta = world.getBlockMetadata(x, y, z); ForgeDirection dir = ForgeDirection.getOrientation(meta); Block b = world.getBlock(x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ); - + if(!b.isSideSolid(world, x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ, dir) && (!b.renderAsNormalBlock() || b.isAir(world, x, y, z))) { this.dropBlockAsItem(world, x, y, z, meta, 0); world.setBlockToAir(x, y, z); } } - + @Override public boolean canPlaceBlockOnSide(World world, int x, int y, int z, int side) { if(!super.canPlaceBlockOnSide(world, x, y, z, side)) return false; - + ForgeDirection dir = ForgeDirection.getOrientation(side); Block b = world.getBlock(x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ); - + return b.isSideSolid(world, x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ, dir) || (b.renderAsNormalBlock() && !b.isAir(world, x, y, z)); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - + if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.drone_linker) return false; - + if(world.isRemote) return true; - + TileEntityDroneWaypoint tile = (TileEntityDroneWaypoint) world.getTileEntity(x, y, z); tile.addHeight(player.isSneaking() ? - 1 : 1); return true; @@ -129,13 +129,13 @@ public class DroneWaypoint extends BlockContainer implements ILookOverlay, ITool public void printHook(Pre event, World world, int x, int y, int z) { TileEntityDroneWaypoint tile = (TileEntityDroneWaypoint) world.getTileEntity(x, y, z); List text = new ArrayList(); - + text.add("Waypoint distance: " + tile.height); - + if(tile.nextY != -1) { text.add("Next waypoint: " + tile.nextX + " / " + tile.nextY + " / " + tile.nextZ); } - + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } } diff --git a/src/main/java/com/hbm/blocks/network/DroneWaypointRequest.java b/src/main/java/com/hbm/blocks/network/DroneWaypointRequest.java index a02b63a3c..82318b0a8 100644 --- a/src/main/java/com/hbm/blocks/network/DroneWaypointRequest.java +++ b/src/main/java/com/hbm/blocks/network/DroneWaypointRequest.java @@ -1,7 +1,6 @@ package com.hbm.blocks.network; import com.hbm.tileentity.network.TileEntityDroneWaypointRequest; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -30,34 +29,34 @@ public class DroneWaypointRequest extends BlockContainer { public int getRenderType() { return RadioTorchBase.renderID; } - + @Override public boolean isOpaqueCube() { return false; } - + @Override public boolean renderAsNormalBlock() { return false; } - + @Override @SideOnly(Side.CLIENT) public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { return true; } - + @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { return null; } - + @Override public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, Vec3 vec0, Vec3 vec1) { - + int meta = world.getBlockMetadata(x, y, z) & 7; ForgeDirection dir = ForgeDirection.getOrientation(meta); - + this.setBlockBounds( dir.offsetX == 1 ? 0F : 0.375F, dir.offsetY == 1 ? 0F : 0.375F, @@ -77,24 +76,24 @@ public class DroneWaypointRequest extends BlockContainer { @Override public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { - + int meta = world.getBlockMetadata(x, y, z); ForgeDirection dir = ForgeDirection.getOrientation(meta); Block b = world.getBlock(x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ); - + if(!b.isSideSolid(world, x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ, dir) && (!b.renderAsNormalBlock() || b.isAir(world, x, y, z))) { this.dropBlockAsItem(world, x, y, z, meta, 0); world.setBlockToAir(x, y, z); } } - + @Override public boolean canPlaceBlockOnSide(World world, int x, int y, int z, int side) { if(!super.canPlaceBlockOnSide(world, x, y, z, side)) return false; - + ForgeDirection dir = ForgeDirection.getOrientation(side); Block b = world.getBlock(x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ); - + return b.isSideSolid(world, x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ, dir) || (b.renderAsNormalBlock() && !b.isAir(world, x, y, z)); } } diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctBase.java b/src/main/java/com/hbm/blocks/network/FluidDuctBase.java index 3422d1f17..751912ce8 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctBase.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctBase.java @@ -1,23 +1,28 @@ package com.hbm.blocks.network; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.IAnalyzable; +import com.hbm.extprop.HbmPlayerProps; +import com.hbm.handler.HbmKeybinds; import com.hbm.inventory.fluid.FluidType; import com.hbm.items.machine.IItemFluidIdentifier; +import com.hbm.items.machine.ItemFluidIDMulti; import com.hbm.tileentity.network.TileEntityPipeBaseNT; +import com.hbm.uninos.UniNodespace; -import api.hbm.fluid.IPipeNet; -import api.hbm.fluid.PipeNet; +import api.hbm.fluidmk2.FluidNetMK2; +import api.hbm.fluidmk2.FluidNode; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; + public class FluidDuctBase extends BlockContainer implements IBlockFluidDuct, IAnalyzable { public FluidDuctBase(Material mat) { @@ -31,53 +36,76 @@ public class FluidDuctBase extends BlockContainer implements IBlockFluidDuct, IA @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float fX, float fY, float fZ) { - + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IItemFluidIdentifier) { IItemFluidIdentifier id = (IItemFluidIdentifier) player.getHeldItem().getItem(); FluidType type = id.getType(world, x, y, z, player.getHeldItem()); - - if(!player.isSneaking()) { - + + if(!HbmPlayerProps.getData(player).getKeyPressed(HbmKeybinds.EnumKeybind.TOOL_CTRL) && !player.isSneaking()) { + TileEntity te = world.getTileEntity(x, y, z); - + if(te instanceof TileEntityPipeBaseNT) { TileEntityPipeBaseNT pipe = (TileEntityPipeBaseNT) te; - + + if(HbmPlayerProps.getData(player).getKeyPressed(HbmKeybinds.EnumKeybind.TOOL_ALT)) { + Item item = player.getHeldItem().getItem(); + if (item instanceof ItemFluidIDMulti) { + if (id.getType(world, x, y, z, player.getHeldItem()) != pipe.getType()) { + ItemFluidIDMulti.setType(player.getHeldItem(), pipe.getType(), true); + world.playSoundAtEntity(player, "random.orb", 0.25F, 0.75F); + return true; + } + } + } + if(pipe.getType() != type) { pipe.setType(type); return true; } } } else { - + TileEntity te = world.getTileEntity(x, y, z); - + if(te instanceof TileEntityPipeBaseNT) { TileEntityPipeBaseNT pipe = (TileEntityPipeBaseNT) te; + + if(HbmPlayerProps.getData(player).getKeyPressed(HbmKeybinds.EnumKeybind.TOOL_ALT)) { + Item item = player.getHeldItem().getItem(); + if (item instanceof ItemFluidIDMulti) { + if (id.getType(world, x, y, z, player.getHeldItem()) != pipe.getType()) { + ItemFluidIDMulti.setType(player.getHeldItem(), pipe.getType(), true); + world.playSoundAtEntity(player, "random.orb", 0.25F, 0.75F); + return true; + } + } + } + changeTypeRecursively(world, x, y, z, pipe.getType(), type, 64); return true; } } } - + return false; } @Override public void changeTypeRecursively(World world, int x, int y, int z, FluidType prevType, FluidType type, int loopsRemaining) { - + TileEntity te = world.getTileEntity(x, y, z); - + if(te instanceof TileEntityPipeBaseNT) { TileEntityPipeBaseNT pipe = (TileEntityPipeBaseNT) te; - + if(pipe.getType() == prevType && pipe.getType() != type) { pipe.setType(type); - + if(loopsRemaining > 0) { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { Block b = world.getBlock(x, y, z); - + if(b instanceof IBlockFluidDuct) { ((IBlockFluidDuct) b).changeTypeRecursively(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, prevType, type, loopsRemaining - 1); } @@ -89,32 +117,30 @@ public class FluidDuctBase extends BlockContainer implements IBlockFluidDuct, IA @Override public List getDebugInfo(World world, int x, int y, int z) { - + TileEntity te = world.getTileEntity(x, y, z); - + if(te instanceof TileEntityPipeBaseNT) { TileEntityPipeBaseNT pipe = (TileEntityPipeBaseNT) te; FluidType type = pipe.getType(); - + if(type != null) { - IPipeNet net = pipe.getPipeNet(type); + FluidNode node = (FluidNode) UniNodespace.getNode(world, x, y, z, type.getNetworkProvider()); - if(net instanceof PipeNet) { - PipeNet pipeNet = (PipeNet) net; - + if(node != null && node.net != null) { + FluidNetMK2 net = node.net; + List debug = new ArrayList(); - debug.add("=== DEBUG START ==="); - debug.addAll(pipeNet.debug); - debug.add("=== DEBUG END ==="); - debug.add("Links: " + pipeNet.getLinks().size()); - debug.add("Subscribers: " + pipeNet.getSubscribers().size()); - debug.add("Transfer: " + pipeNet.getTotalTransfer()); + debug.add("Links: " + net.links.size()); + debug.add("Subscribers: " + net.receiverEntries.size()); + debug.add("Providers: " + net.providerEntries.size()); + debug.add("Transfer: " + net.fluidTracker); return debug; } } } - + return null; } } diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctBox.java b/src/main/java/com/hbm/blocks/network/FluidDuctBox.java index fb759fb93..4823303a0 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctBox.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctBox.java @@ -1,14 +1,11 @@ package com.hbm.blocks.network; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.IBlockMulti; import com.hbm.blocks.ILookOverlay; import com.hbm.lib.Library; import com.hbm.lib.RefStrings; import com.hbm.tileentity.network.TileEntityPipeBaseNT; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; @@ -27,6 +24,9 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; + public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOverlay { @SideOnly(Side.CLIENT) public IIcon[] iconStraight; @@ -36,13 +36,13 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve @SideOnly(Side.CLIENT) public IIcon[] iconCurveBL; @SideOnly(Side.CLIENT) public IIcon[] iconCurveBR; @SideOnly(Side.CLIENT) public IIcon[][] iconJunction; - + private static final String[] materials = new String[] { "silver", "copper", "white" }; public FluidDuctBox(Material mat) { super(mat); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { @@ -79,13 +79,13 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve boolean pY = canConnectTo(world, x, y, z, Library.POS_Y, te); boolean nZ = canConnectTo(world, x, y, z, Library.NEG_Z, te); boolean pZ = canConnectTo(world, x, y, z, Library.POS_Z, te); - + int mask = 0 + (pX ? 32 : 0) + (nX ? 16 : 0) + (pY ? 8 : 0) + (nY ? 4 : 0) + (pZ ? 2 : 0) + (nZ ? 1 : 0); int count = 0 + (pX ? 1 : 0) + (nX ? 1 : 0) + (pY ? 1 : 0) + (nY ? 1 : 0) + (pZ ? 1 : 0) + (nZ ? 1 : 0); - + int meta = world.getBlockMetadata(x, y, z); int m = rectify(meta); - + if((mask & 0b001111) == 0 && mask > 0) { return (side == 4 || side == 5) ? iconEnd[m] : iconStraight[m]; } else if((mask & 0b111100) == 0 && mask > 0) { @@ -112,41 +112,41 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve if(pX && pZ) return side == 0 ? iconCurveBR[m] : iconCurveBR[m]; if(nX && nZ) return side == 0 ? iconCurveTL[m] : iconCurveTL[m]; if(nX && pZ) return side == 0 ? iconCurveBL[m] : iconCurveBL[m]; - + return iconJunction[m][meta / 3]; } - + return iconJunction[m][meta / 3]; } - + @SideOnly(Side.CLIENT) public void getSubBlocks(Item item, CreativeTabs tab, List list) { for(int i = 0; i < 15; ++i) { list.add(new ItemStack(item, 1, i)); } } - + public int damageDropped(int meta) { return meta % 15; } - + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); @Override public int getRenderType() { return renderID; } - + @Override public boolean isOpaqueCube() { return false; } - + @Override public boolean renderAsNormalBlock() { return false; } - + @Override @SideOnly(Side.CLIENT) public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { @@ -160,7 +160,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve @Override public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB entityBounding, List list, Entity entity) { - + List bbs = new ArrayList(); TileEntity te = world.getTileEntity(x, y, z); @@ -170,9 +170,9 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve double jLower = 0.0625D; double jUpper = 0.9375D; int meta = world.getBlockMetadata(x, y, z); - + for(int i = 2; i < 13; i += 3) { - + if(meta > i) { lower += 0.0625D; upper -= 0.0625D; @@ -180,7 +180,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve jUpper -= 0.0625D; } } - + boolean nX = canConnectTo(world, x, y, z, Library.NEG_X, te); boolean pX = canConnectTo(world, x, y, z, Library.POS_X, te); boolean nY = canConnectTo(world, x, y, z, Library.NEG_Y, te); @@ -189,7 +189,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve boolean pZ = canConnectTo(world, x, y, z, Library.POS_Z, te); int mask = 0 + (pX ? 32 : 0) + (nX ? 16 : 0) + (pY ? 8 : 0) + (nY ? 4 : 0) + (pZ ? 2 : 0) + (nZ ? 1 : 0); int count = 0 + (pX ? 1 : 0) + (nX ? 1 : 0) + (pY ? 1 : 0) + (nY ? 1 : 0) + (pZ ? 1 : 0) + (nZ ? 1 : 0); - + if(mask == 0) { bbs.add(AxisAlignedBB.getBoundingBox(x + jLower, y + jLower, z + jLower, x + jUpper, y + jUpper, z + jUpper)); } else if(mask == 0b100000 || mask == 0b010000 || mask == 0b110000) { @@ -199,13 +199,13 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve } else if(mask == 0b000010 || mask == 0b000001 || mask == 0b000011) { bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y + lower, z + 0.0D, x + upper, y + upper, z + 1.0D)); } else { - + if(count != 2) { bbs.add(AxisAlignedBB.getBoundingBox(x + jLower, y + jLower, z + jLower, x + jUpper, y + jUpper, z + jUpper)); } else { bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y + lower, z + lower, x + upper, y + upper, z + upper)); } - + if(pX) bbs.add(AxisAlignedBB.getBoundingBox(x + upper, y + lower, z + lower, x + 1.0D, y + upper, z + upper)); if(nX) bbs.add(AxisAlignedBB.getBoundingBox(x + 0.0D, y + lower, z + lower, x + lower, y + upper, z + upper)); if(pY) bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y + upper, z + lower, x + upper, y + 1.0D, z + upper)); @@ -213,7 +213,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve if(pZ) bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y + lower, z + upper, x + upper, y + upper, z + 1.0D)); if(nZ) bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y + lower, z + 0.0D, x + upper, y + upper, z + lower)); } - + for(AxisAlignedBB bb : bbs) { if(entityBounding.intersectsWith(bb)) { list.add(bb); @@ -244,9 +244,9 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve float jLower = 0.0625F; float jUpper = 0.9375F; int meta = world.getBlockMetadata(x, y, z); - + for(int i = 2; i < 13; i += 3) { - + if(meta > i) { lower += 0.0625F; upper -= 0.0625F; @@ -254,7 +254,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve jUpper -= 0.0625F; } } - + boolean nX = canConnectTo(world, x, y, z, Library.NEG_X, te); boolean pX = canConnectTo(world, x, y, z, Library.POS_X, te); boolean nY = canConnectTo(world, x, y, z, Library.NEG_Y, te); @@ -263,7 +263,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve boolean pZ = canConnectTo(world, x, y, z, Library.POS_Z, te); int mask = 0 + (pX ? 32 : 0) + (nX ? 16 : 0) + (pY ? 8 : 0) + (nY ? 4 : 0) + (pZ ? 2 : 0) + (nZ ? 1 : 0); int count = 0 + (pX ? 1 : 0) + (nX ? 1 : 0) + (pY ? 1 : 0) + (nY ? 1 : 0) + (pZ ? 1 : 0) + (nZ ? 1 : 0); - + if(mask == 0) { this.setBlockBounds(jLower, jLower, jLower, jUpper, jUpper, jUpper); } else if(mask == 0b100000 || mask == 0b010000 || mask == 0b110000) { @@ -273,7 +273,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve } else if(mask == 0b000010 || mask == 0b000001 || mask == 0b000011) { this.setBlockBounds(lower, lower, 0F, upper, upper, 1F); } else { - + if(count != 2) { this.setBlockBounds( nX ? 0F : jLower, @@ -293,7 +293,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve } } } - + public boolean canConnectTo(IBlockAccess world, int x, int y, int z, ForgeDirection dir, TileEntity tile) { if(tile instanceof TileEntityPipeBaseNT) { return Library.canConnectFluid(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir, ((TileEntityPipeBaseNT) tile).getType()); @@ -303,21 +303,21 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve @Override public void printHook(Pre event, World world, int x, int y, int z) { - + TileEntity te = world.getTileEntity(x, y, z); - + if(!(te instanceof TileEntityPipeBaseNT)) return; - + TileEntityPipeBaseNT duct = (TileEntityPipeBaseNT) te; - + List text = new ArrayList(); text.add("&[" + duct.getType().getColor() + "&]" + duct.getType().getLocalizedName()); ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } - + public static int cachedColor = 0xffffff; - + @Override @SideOnly(Side.CLIENT) public int colorMultiplier(IBlockAccess world, int x, int y, int z) { diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctBoxExhaust.java b/src/main/java/com/hbm/blocks/network/FluidDuctBoxExhaust.java index 41a081993..b899394c6 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctBoxExhaust.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctBoxExhaust.java @@ -1,14 +1,11 @@ package com.hbm.blocks.network; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.ILookOverlay; import com.hbm.inventory.fluid.Fluids; import com.hbm.lib.Library; import com.hbm.lib.RefStrings; import com.hbm.tileentity.network.TileEntityPipeExhaust; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -24,6 +21,9 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; + public class FluidDuctBoxExhaust extends FluidDuctBox { public FluidDuctBoxExhaust(Material mat) { @@ -34,7 +34,7 @@ public class FluidDuctBoxExhaust extends FluidDuctBox { public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityPipeExhaust(); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { @@ -56,7 +56,7 @@ public class FluidDuctBoxExhaust extends FluidDuctBox { iconCurveBR[0] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_exhaust_curve_br"); for(int i = 0; i < 5; i++) iconJunction[0][i] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_exhaust_junction_" + i); } - + public boolean canConnectTo(IBlockAccess world, int x, int y, int z, ForgeDirection dir, TileEntity tile) { return Library.canConnectFluid(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir, Fluids.SMOKE) || Library.canConnectFluid(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir, Fluids.SMOKE_LEADED) || @@ -67,7 +67,7 @@ public class FluidDuctBoxExhaust extends FluidDuctBox { public int getSubCount() { return 1; } - + @SideOnly(Side.CLIENT) public void getSubBlocks(Item item, CreativeTabs tab, List list) { for(int i = 0; i < 15; i += 3) { diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java b/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java index 2c60fbc59..5e9e0b483 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java @@ -1,9 +1,7 @@ package com.hbm.blocks.network; -import java.math.BigInteger; -import java.util.ArrayList; -import java.util.List; -import java.util.Locale; +import api.hbm.fluidmk2.FluidNetMK2; +import api.hbm.redstoneoverradio.IRORValueProvider; import com.hbm.blocks.IBlockMultiPass; import com.hbm.blocks.ILookOverlay; @@ -12,14 +10,13 @@ import com.hbm.handler.CompatHandler; import com.hbm.inventory.fluid.Fluids; import com.hbm.lib.RefStrings; import com.hbm.render.block.RenderBlockMultipass; -import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.network.TileEntityPipeBaseNT; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; -import api.hbm.fluid.IPipeNet; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; @@ -30,13 +27,16 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + public class FluidDuctGauge extends FluidDuctBase implements IBlockMultiPass, ILookOverlay, ITooltipProvider { @SideOnly(Side.CLIENT) protected IIcon overlay; @@ -50,7 +50,7 @@ public class FluidDuctGauge extends FluidDuctBase implements IBlockMultiPass, IL public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityPipeGauge(); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister reg) { @@ -62,11 +62,11 @@ public class FluidDuctGauge extends FluidDuctBase implements IBlockMultiPass, IL @Override @SideOnly(Side.CLIENT) public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { - + if(RenderBlockMultipass.currentPass == 0) { return blockIcon; } - + return side == world.getBlockMetadata(x, y, z) ? this.overlayGauge : this.overlay; } @@ -88,69 +88,63 @@ public class FluidDuctGauge extends FluidDuctBase implements IBlockMultiPass, IL @Override public void printHook(Pre event, World world, int x, int y, int z) { - + TileEntity te = world.getTileEntity(x, y, z); - + if(!(te instanceof TileEntityPipeBaseNT)) return; - + TileEntityPipeGauge duct = (TileEntityPipeGauge) te; - + List text = new ArrayList(); text.add("&[" + duct.getType().getColor() + "&]" + duct.getType().getLocalizedName()); text.add(String.format(Locale.US, "%,d", duct.deltaTick) + " mB/t"); text.add(String.format(Locale.US, "%,d", duct.deltaLastSecond) + " mB/s"); ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } - + @Override public int getRenderType(){ return IBlockMultiPass.getRenderType(); } @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) - public static class TileEntityPipeGauge extends TileEntityPipeBaseNT implements INBTPacketReceiver, SimpleComponent, CompatHandler.OCComponent { + public static class TileEntityPipeGauge extends TileEntityPipeBaseNT implements SimpleComponent, CompatHandler.OCComponent, IRORValueProvider { - private BigInteger lastMeasurement = BigInteger.valueOf(10); private long deltaTick = 0; private long deltaSecond = 0; private long deltaLastSecond = 0; - + @Override public void updateEntity() { super.updateEntity(); if(!worldObj.isRemote) { - IPipeNet net = this.getPipeNet(this.getType()); - - if(net != null && this.getType() != Fluids.NONE) { - BigInteger total = net.getTotalTransfer(); - BigInteger delta = total.subtract(this.lastMeasurement); - this.lastMeasurement = total; - - try { - this.deltaTick = delta.longValueExact(); - if(worldObj.getTotalWorldTime() % 20 == 0) { - this.deltaLastSecond = this.deltaSecond; - this.deltaSecond = 0; - } - this.deltaSecond += deltaTick; - - } catch(Exception ex) { } + if(this.node != null && this.node.net != null && this.getType() != Fluids.NONE) { + + this.deltaTick = ((FluidNetMK2) this.node.net).fluidTracker; + if(worldObj.getTotalWorldTime() % 20 == 0) { + this.deltaLastSecond = this.deltaSecond; + this.deltaSecond = 0; + } + this.deltaSecond += deltaTick; } - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("deltaT", deltaTick); - data.setLong("deltaS", deltaLastSecond); - INBTPacketReceiver.networkPack(this, data, 25); + + networkPackNT(25); } } @Override - public void networkUnpack(NBTTagCompound nbt) { - this.deltaTick = Math.max(nbt.getLong("deltaT"), 0); - this.deltaLastSecond = Math.max(nbt.getLong("deltaS"), 0); + public void serialize(ByteBuf buf) { + buf.writeLong(deltaTick); + buf.writeLong(deltaLastSecond); + } + + @Override + public void deserialize(ByteBuf buf) { + this.deltaTick = Math.max(buf.readLong(), 0); + this.deltaLastSecond = Math.max(buf.readLong(), 0); } @Optional.Method(modid = "OpenComputers") @@ -161,7 +155,7 @@ public class FluidDuctGauge extends FluidDuctBase implements IBlockMultiPass, IL @Callback(direct = true) @Optional.Method(modid = "OpenComputers") public Object[] getTransfer(Context context, Arguments args) { - return new Object[] {deltaTick, deltaSecond}; + return new Object[] {deltaTick, deltaLastSecond}; } @Callback(direct = true) @@ -173,7 +167,22 @@ public class FluidDuctGauge extends FluidDuctBase implements IBlockMultiPass, IL @Callback(direct = true) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[] {deltaTick, deltaSecond, getType().getName(), xCoord, yCoord, zCoord}; + return new Object[] {deltaTick, deltaLastSecond, getType().getName(), xCoord, yCoord, zCoord}; + } + + @Override + public String[] getFunctionInfo() { + return new String[] { + PREFIX_VALUE + "deltatick", + PREFIX_VALUE + "deltasecond", + }; + } + + @Override + public String provideRORValue(String name) { + if((PREFIX_VALUE + "deltatick").equals(name)) return "" + deltaTick; + if((PREFIX_VALUE + "deltasecond").equals(name)) return "" + deltaLastSecond; + return null; } } } diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctPaintable.java b/src/main/java/com/hbm/blocks/network/FluidDuctPaintable.java index 6777195d8..b7f994a5d 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctPaintable.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctPaintable.java @@ -1,16 +1,14 @@ package com.hbm.blocks.network; -import java.util.ArrayList; -import java.util.List; - +import api.hbm.block.IToolable; import com.hbm.blocks.IBlockMultiPass; import com.hbm.blocks.ILookOverlay; +import com.hbm.interfaces.ICopiable; import com.hbm.lib.RefStrings; import com.hbm.render.block.RenderBlockMultipass; import com.hbm.tileentity.network.TileEntityPipeBaseNT; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; -import api.hbm.block.IToolable; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -26,6 +24,9 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; +import java.util.ArrayList; +import java.util.List; + public class FluidDuctPaintable extends FluidDuctBase implements IToolable, IBlockMultiPass, ILookOverlay { @SideOnly(Side.CLIENT) protected IIcon overlay; @@ -39,7 +40,7 @@ public class FluidDuctPaintable extends FluidDuctBase implements IToolable, IBlo public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityPipePaintable(); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister reg) { @@ -52,10 +53,10 @@ public class FluidDuctPaintable extends FluidDuctBase implements IToolable, IBlo @SideOnly(Side.CLIENT) public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { TileEntity tile = world.getTileEntity(x, y, z); - + if(tile instanceof TileEntityPipePaintable) { TileEntityPipePaintable pipe = (TileEntityPipePaintable) tile; - + if(pipe.block != null) { if(RenderBlockMultipass.currentPass == 1) { return this.overlay; @@ -64,46 +65,46 @@ public class FluidDuctPaintable extends FluidDuctBase implements IToolable, IBlo } } } - + return RenderBlockMultipass.currentPass == 1 ? this.overlayColor : this.blockIcon; } @Override @SideOnly(Side.CLIENT) public int colorMultiplier(IBlockAccess world, int x, int y, int z) { - + if(RenderBlockMultipass.currentPass == 0) return 0xffffff; - + TileEntity tile = world.getTileEntity(x, y, z); - + if(tile instanceof TileEntityPipePaintable) { TileEntityPipePaintable pipe = (TileEntityPipePaintable) tile; - + if(pipe.block == null) { return pipe.getType().getColor(); } } - + return 0xffffff; } @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float fX, float fY, float fZ) { - + ItemStack stack = player.getHeldItem(); - + if(stack != null && stack.getItem() instanceof ItemBlock) { ItemBlock ib = (ItemBlock) stack.getItem(); Block block = ib.field_150939_a; - + if(block.renderAsNormalBlock() && block != this) { - + TileEntity tile = world.getTileEntity(x, y, z); - + if(tile instanceof TileEntityPipePaintable) { TileEntityPipePaintable pipe = (TileEntityPipePaintable) tile; - + if(pipe.block == null) { pipe.block = block; pipe.meta = stack.getItemDamage() & 15; @@ -114,20 +115,20 @@ public class FluidDuctPaintable extends FluidDuctBase implements IToolable, IBlo } } } - + return super.onBlockActivated(world, x, y, z, player, side, fX, fY, fZ); } @Override public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { - + if(tool != ToolType.SCREWDRIVER) return false; - + TileEntity tile = world.getTileEntity(x, y, z); - + if(tile instanceof TileEntityPipePaintable) { TileEntityPipePaintable pipe = (TileEntityPipePaintable) tile; - + if(pipe.block != null) { pipe.block = null; world.markBlockForUpdate(x, y, z); @@ -135,7 +136,7 @@ public class FluidDuctPaintable extends FluidDuctBase implements IToolable, IBlo return true; } } - + return false; } @@ -143,7 +144,7 @@ public class FluidDuctPaintable extends FluidDuctBase implements IToolable, IBlo public int getPasses() { return 2; } - + @Override public int getRenderType(){ return IBlockMultiPass.getRenderType(); @@ -151,20 +152,20 @@ public class FluidDuctPaintable extends FluidDuctBase implements IToolable, IBlo @Override public void printHook(Pre event, World world, int x, int y, int z) { - + TileEntity te = world.getTileEntity(x, y, z); - + if(!(te instanceof TileEntityPipeBaseNT)) return; - + TileEntityPipeBaseNT duct = (TileEntityPipeBaseNT) te; - + List text = new ArrayList(); text.add("&[" + duct.getType().getColor() + "&]" + duct.getType().getLocalizedName()); ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } - - public static class TileEntityPipePaintable extends TileEntityPipeBaseNT { + + public static class TileEntityPipePaintable extends TileEntityPipeBaseNT implements ICopiable { private Block block; private int meta; @@ -196,5 +197,23 @@ public class FluidDuctPaintable extends FluidDuctBase implements IToolable, IBlo if(block != null) nbt.setInteger("block", Block.getIdFromBlock(block)); nbt.setInteger("meta", meta); } + + @Override + public NBTTagCompound getSettings(World world, int x, int y, int z) { + NBTTagCompound nbt = new NBTTagCompound(); + if(block != null) { + nbt.setInteger("paintblock", Block.getIdFromBlock(block)); + nbt.setInteger("paintmeta", meta); + } + return nbt; + } + + @Override + public void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + if(nbt.hasKey("paintblock")) { + this.block = Block.getBlockById(nbt.getInteger("paintblock")); + this.meta = nbt.getInteger("paintmeta"); + } + } } } diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctPaintableBlockExhaust.java b/src/main/java/com/hbm/blocks/network/FluidDuctPaintableBlockExhaust.java new file mode 100644 index 000000000..382c79c8b --- /dev/null +++ b/src/main/java/com/hbm/blocks/network/FluidDuctPaintableBlockExhaust.java @@ -0,0 +1,208 @@ +package com.hbm.blocks.network; + +import api.hbm.block.IToolable; + +import com.hbm.blocks.IBlockMultiPass; +import com.hbm.blocks.ILookOverlay; +import com.hbm.interfaces.ICopiable; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.lib.RefStrings; +import com.hbm.render.block.RenderBlockMultipass; +import com.hbm.tileentity.network.TileEntityPipeExhaust; +import com.hbm.util.i18n.I18nUtil; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.play.server.S35PacketUpdateTileEntity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; + +import java.util.ArrayList; +import java.util.List; + +public class FluidDuctPaintableBlockExhaust extends FluidDuctBase implements IToolable, IBlockMultiPass, ILookOverlay { + + @SideOnly(Side.CLIENT) protected IIcon overlay; + + public FluidDuctPaintableBlockExhaust() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityPipeExhaustPaintable(); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + this.blockIcon = reg.registerIcon(RefStrings.MODID + ":fluid_duct_paintable_block_exhaust"); + this.overlay = reg.registerIcon(RefStrings.MODID + ":fluid_duct_paintable_overlay"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + TileEntity tile = world.getTileEntity(x, y, z); + + if(tile instanceof TileEntityPipeExhaustPaintable) { + TileEntityPipeExhaustPaintable pipe = (TileEntityPipeExhaustPaintable) tile; + + if(pipe.block != null) { + if(RenderBlockMultipass.currentPass == 1) { + return this.overlay; + } else { + return pipe.block.getIcon(side, pipe.meta); + } + } + } + + return this.blockIcon; + } + + @Override + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + + if(tool != ToolType.SCREWDRIVER) return false; + + TileEntity tile = world.getTileEntity(x, y, z); + + if(tile instanceof TileEntityPipeExhaustPaintable) { + TileEntityPipeExhaustPaintable pipe = (TileEntityPipeExhaustPaintable) tile; + + if(pipe.block != null) { + pipe.block = null; + world.markBlockForUpdate(x, y, z); + pipe.markDirty(); + return true; + } + } + + return false; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float fX, float fY, float fZ) { + + ItemStack stack = player.getHeldItem(); + + if(stack != null && stack.getItem() instanceof ItemBlock) { + ItemBlock ib = (ItemBlock) stack.getItem(); + Block block = ib.field_150939_a; + + if(block.renderAsNormalBlock() && block != this) { + + TileEntity tile = world.getTileEntity(x, y, z); + + if(tile instanceof TileEntityPipeExhaustPaintable) { + TileEntityPipeExhaustPaintable pipe = (TileEntityPipeExhaustPaintable) tile; + + if(pipe.block == null) { + pipe.block = block; + pipe.meta = stack.getItemDamage() & 15; + world.markBlockForUpdate(x, y, z); + pipe.markDirty(); + return true; + } + } + } + } + + return super.onBlockActivated(world, x, y, z, player, side, fX, fY, fZ); + } + + @Override + public int getPasses() { + return 2; + } + + @Override + public int getRenderType(){ + return IBlockMultiPass.getRenderType(); + } + + @Override + public void printHook(Pre event, World world, int x, int y, int z) { + List text = new ArrayList(); + text.add(Fluids.SMOKE.getLocalizedName()); + text.add(Fluids.SMOKE_LEADED.getLocalizedName()); + text.add(Fluids.SMOKE_POISON.getLocalizedName()); + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } + + public static class TileEntityPipeExhaustPaintable extends TileEntityPipeExhaust implements ICopiable { + + private Block block; + private int meta; + private Block lastBlock; + private int lastMeta; + + @Override + public void updateEntity() { + super.updateEntity(); + + if(worldObj.isRemote && (lastBlock != block || lastMeta != meta)) { + worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); + lastBlock = block; + lastMeta = meta; + } + } + + @Override + public Packet getDescriptionPacket() { + NBTTagCompound nbt = new NBTTagCompound(); + this.writeToNBT(nbt); + return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); + } + + @Override + public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { + this.readFromNBT(pkt.func_148857_g()); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + int id = nbt.getInteger("block"); + this.block = id == 0 ? null : Block.getBlockById(id); + this.meta = nbt.getInteger("meta"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + if(block != null) nbt.setInteger("block", Block.getIdFromBlock(block)); + nbt.setInteger("meta", meta); + } + + @Override + public NBTTagCompound getSettings(World world, int x, int y, int z) { + NBTTagCompound nbt = new NBTTagCompound(); + if(block != null) { + nbt.setInteger("paintblock", Block.getIdFromBlock(block)); + nbt.setInteger("paintmeta", meta); + } + return nbt; + } + + @Override + public void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + if(nbt.hasKey("paintblock")) { + this.block = Block.getBlockById(nbt.getInteger("paintblock")); + this.meta = nbt.getInteger("paintmeta"); + } + } + } +} diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctStandard.java b/src/main/java/com/hbm/blocks/network/FluidDuctStandard.java index e482398c9..d6b857e60 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctStandard.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctStandard.java @@ -1,8 +1,5 @@ package com.hbm.blocks.network; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.IBlockMulti; import com.hbm.blocks.ILookOverlay; import com.hbm.inventory.fluid.FluidType; @@ -10,7 +7,7 @@ import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.lib.RefStrings; import com.hbm.tileentity.network.TileEntityPipeBaseNT; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; @@ -31,6 +28,9 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; + public class FluidDuctStandard extends FluidDuctBase implements IBlockMulti, ILookOverlay { @SideOnly(Side.CLIENT) @@ -41,7 +41,7 @@ public class FluidDuctStandard extends FluidDuctBase implements IBlockMulti, ILo public FluidDuctStandard(Material mat) { super(mat); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { @@ -56,20 +56,20 @@ public class FluidDuctStandard extends FluidDuctBase implements IBlockMulti, ILo this.overlay[1] = iconRegister.registerIcon(RefStrings.MODID + ":pipe_silver_overlay"); this.overlay[2] = iconRegister.registerIcon(RefStrings.MODID + ":pipe_colored_overlay"); } - + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { return side == 0 ? this.icon[rectify(metadata)] : this.overlay[rectify(metadata)]; } - + @SideOnly(Side.CLIENT) public void getSubBlocks(Item item, CreativeTabs tab, List list) { for(int i = 0; i < 3; ++i) { list.add(new ItemStack(item, 1, i)); } } - + public int damageDropped(int meta) { return rectify(meta); } @@ -95,7 +95,7 @@ public class FluidDuctStandard extends FluidDuctBase implements IBlockMulti, ILo return new ItemStack(ModItems.fluid_duct, 1, metadata).getItem(); } */ - + @Override @SideOnly(Side.CLIENT) public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { @@ -109,19 +109,19 @@ public class FluidDuctStandard extends FluidDuctBase implements IBlockMulti, ILo } return super.getPickBlock(target, world, x, y, z, player); } - + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); - + @Override public int getRenderType() { return renderID; } - + @Override public boolean isOpaqueCube() { return false; } - + @Override public boolean renderAsNormalBlock() { return false; @@ -134,7 +134,7 @@ public class FluidDuctStandard extends FluidDuctBase implements IBlockMulti, ILo @Override public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB entityBounding, List list, Entity entity) { - + List bbs = new ArrayList(); TileEntity te = world.getTileEntity(x, y, z); @@ -149,7 +149,7 @@ public class FluidDuctStandard extends FluidDuctBase implements IBlockMulti, ILo boolean nZ = canConnectTo(world, x, y, z, Library.NEG_Z, type); boolean pZ = canConnectTo(world, x, y, z, Library.POS_Z, type); int mask = 0 + (pX ? 32 : 0) + (nX ? 16 : 0) + (pY ? 8 : 0) + (nY ? 4 : 0) + (pZ ? 2 : 0) + (nZ ? 1 : 0); - + if(mask == 0) { bbs.add(AxisAlignedBB.getBoundingBox(x + 0.6875D, y + 0.3125D, z + 0.3125D, x + 1.0D, y + 0.6875D, z + 0.6875D)); bbs.add(AxisAlignedBB.getBoundingBox(x + 0.0D, y + 0.3125D, z + 0.3125D, x + 0.3125D, y + 0.6875D, z + 0.6875D)); @@ -164,9 +164,9 @@ public class FluidDuctStandard extends FluidDuctBase implements IBlockMulti, ILo } else if(mask == 0b000010 || mask == 0b000001 || mask == 0b000011) { bbs.add(AxisAlignedBB.getBoundingBox(x + 0.3125D, y + 0.3125D, z + 0.0D, x + 0.6875D, y + 0.6875D, z + 1.0D)); } else { - + bbs.add(AxisAlignedBB.getBoundingBox(x + 0.3125D, y + 0.3125D, z + 0.3125D, x + 0.6875D, y + 0.6875D, z + 0.6875D)); - + if(pX) bbs.add(AxisAlignedBB.getBoundingBox(x + 0.6875D, y + 0.3125D, z + 0.3125D, x + 1.0D, y + 0.6875D, z + 0.6875D)); if(nX) bbs.add(AxisAlignedBB.getBoundingBox(x + 0.0D, y + 0.3125D, z + 0.3125D, x + 0.3125D, y + 0.6875D, z + 0.6875D)); if(pY) bbs.add(AxisAlignedBB.getBoundingBox(x + 0.3125D, y + 0.6875D, z + 0.3125D, x + 0.6875D, y + 1.0D, z + 0.6875D)); @@ -175,7 +175,7 @@ public class FluidDuctStandard extends FluidDuctBase implements IBlockMulti, ILo if(nZ) bbs.add(AxisAlignedBB.getBoundingBox(x + 0.3125D, y + 0.3125D, z + 0.0D, x + 0.6875D, y + 0.6875D, z + 0.3125D)); } } - + for(AxisAlignedBB bb : bbs) { if(entityBounding.intersectsWith(bb)) { list.add(bb); @@ -211,7 +211,7 @@ public class FluidDuctStandard extends FluidDuctBase implements IBlockMulti, ILo boolean nZ = canConnectTo(world, x, y, z, Library.NEG_Z, type); boolean pZ = canConnectTo(world, x, y, z, Library.POS_Z, type); int mask = 0 + (pX ? 32 : 0) + (nX ? 16 : 0) + (pY ? 8 : 0) + (nY ? 4 : 0) + (pZ ? 2 : 0) + (nZ ? 1 : 0); - + if(mask == 0) { this.setBlockBounds(0F, 0F, 0F, 1F, 1F, 1F); } else if(mask == 0b100000 || mask == 0b010000 || mask == 0b110000) { @@ -221,7 +221,7 @@ public class FluidDuctStandard extends FluidDuctBase implements IBlockMulti, ILo } else if(mask == 0b000010 || mask == 0b000001 || mask == 0b000011) { this.setBlockBounds(0.3125F, 0.3125F, 0F, 0.6875F, 0.6875F, 1F); } else { - + this.setBlockBounds( nX ? 0F : 0.3125F, nY ? 0F : 0.3125F, @@ -232,21 +232,21 @@ public class FluidDuctStandard extends FluidDuctBase implements IBlockMulti, ILo } } } - + public boolean canConnectTo(IBlockAccess world, int x, int y, int z, ForgeDirection dir, FluidType type) { return Library.canConnectFluid(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir, type); } @Override public void printHook(Pre event, World world, int x, int y, int z) { - + TileEntity te = world.getTileEntity(x, y, z); - + if(!(te instanceof TileEntityPipeBaseNT)) return; - + TileEntityPipeBaseNT duct = (TileEntityPipeBaseNT) te; - + List text = new ArrayList(); text.add("&[" + duct.getType().getColor() + "&]" + duct.getType().getLocalizedName()); ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); diff --git a/src/main/java/com/hbm/blocks/network/FluidPump.java b/src/main/java/com/hbm/blocks/network/FluidPump.java new file mode 100644 index 000000000..416b1c579 --- /dev/null +++ b/src/main/java/com/hbm/blocks/network/FluidPump.java @@ -0,0 +1,314 @@ +package com.hbm.blocks.network; + +import java.util.ArrayList; +import java.util.List; + +import org.lwjgl.input.Keyboard; + +import com.hbm.blocks.ILookOverlay; +import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.items.machine.IItemFluidIdentifier; +import com.hbm.main.MainRegistry; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.BobMathUtil; +import com.hbm.util.EnumUtil; +import com.hbm.util.i18n.I18nUtil; +import com.hbm.world.gen.INBTTransformable; + +import api.hbm.energymk2.IEnergyReceiverMK2.ConnectionPriority; +import api.hbm.fluidmk2.IFluidStandardTransceiverMK2; +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.GuiTextField; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.ChatComponentTranslation; +import net.minecraft.util.ChatStyle; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; +import net.minecraftforge.common.util.ForgeDirection; + +public class FluidPump extends BlockContainer implements INBTTransformable, ILookOverlay, IGUIProvider { + + public FluidPump(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityFluidPump(); + } + + @Override public int getRenderType() { return -1; } + @Override public boolean isOpaqueCube() { return false; } + @Override public boolean renderAsNormalBlock() { return false; } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + + if(i == 0) world.setBlockMetadataWithNotify(x, y, z, 2, 2); + if(i == 1) world.setBlockMetadataWithNotify(x, y, z, 5, 2); + if(i == 2) world.setBlockMetadataWithNotify(x, y, z, 3, 2); + if(i == 3) world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float fX, float fY, float fZ) { + + if(!player.isSneaking()) { + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IItemFluidIdentifier) { + IItemFluidIdentifier id = (IItemFluidIdentifier) player.getHeldItem().getItem(); + FluidType type = id.getType(world, x, y, z, player.getHeldItem()); + TileEntity tile = world.getTileEntity(x, y, z); + if(tile instanceof TileEntityFluidPump) { + if(!world.isRemote) { + TileEntityFluidPump pump = (TileEntityFluidPump) tile; + pump.tank[0].setTankType(type); + pump.markDirty(); + player.addChatComponentMessage(new ChatComponentText("Changed type to ").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)).appendSibling(new ChatComponentTranslation(type.getConditionalName())).appendSibling(new ChatComponentText("!"))); + } + return true; + } + } + + if(world.isRemote) FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); + return true; + } + + return false; + } + + @Override @SideOnly(Side.CLIENT) + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIPump((TileEntityFluidPump) world.getTileEntity(x, y, z)); } + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return null; } + + @Override + public void printHook(Pre event, World world, int x, int y, int z) { + TileEntity tile = world.getTileEntity(x, y, z); + if(!(tile instanceof TileEntityFluidPump)) return; + TileEntityFluidPump pump = (TileEntityFluidPump) tile; + + List text = new ArrayList(); + text.add(EnumChatFormatting.GREEN + "-> " + EnumChatFormatting.RESET + pump.tank[0].getTankType().getLocalizedName() + " (" + pump.tank[0].getPressure() + " PU): " + BobMathUtil.format(pump.bufferSize) + "mB/t" + EnumChatFormatting.RED + " ->"); + text.add("Priority: " + EnumChatFormatting.YELLOW + pump.priority.name()); + if(pump.tank[0].getFill() > 0) text.add(BobMathUtil.format(pump.tank[0].getFill()) + "mB buffered"); + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } + + @Override + public int transformMeta(int meta, int coordBaseMode) { + return INBTTransformable.transformMetaDeco(meta, coordBaseMode); + } + + public static class TileEntityFluidPump extends TileEntityLoadedBase implements IFluidStandardTransceiverMK2, IControlReceiver { + + public int bufferSize = 100; + public FluidTank[] tank; + public ConnectionPriority priority = ConnectionPriority.NORMAL; + public boolean redstone = false; + + public TileEntityFluidPump() { + this.tank = new FluidTank[1]; + this.tank[0] = new FluidTank(Fluids.NONE, bufferSize); + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + // if the capacity were changed directly, any excess buffered fluid would be destroyed + // when running a closed loop or handling hard to get fluids, that's quite bad + if(this.bufferSize != this.tank[0].getMaxFill()) { + int nextBuffer = Math.max(this.tank[0].getFill(), this.bufferSize); + this.tank[0].changeTankSize(nextBuffer); + } + + this.redstone = worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord); + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); + ForgeDirection in = dir.getRotation(ForgeDirection.UP); + ForgeDirection out = in.getOpposite(); + + this.trySubscribe(tank[0].getTankType(), worldObj, xCoord + in.offsetX, yCoord, zCoord + in.offsetZ, in); + if(!redstone) this.tryProvide(tank[0], worldObj, xCoord + out.offsetX, yCoord, zCoord + out.offsetZ, out); + + this.networkPackNT(15); + } + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + tank[0].writeToNBT(nbt, "t"); + nbt.setByte("p", (byte) priority.ordinal()); + nbt.setInteger("buffer", bufferSize); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + tank[0].readFromNBT(nbt, "t"); + priority = EnumUtil.grabEnumSafely(ConnectionPriority.class, nbt.getByte("p")); + bufferSize = nbt.getInteger("buffer"); + } + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + tank[0].serialize(buf); + buf.writeByte((byte) priority.ordinal()); + buf.writeInt(bufferSize); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + tank[0].deserialize(buf); + priority = EnumUtil.grabEnumSafely(ConnectionPriority.class, buf.readByte()); + bufferSize = buf.readInt(); + } + + @Override public ConnectionPriority getFluidPriority() { return priority; } + @Override public FluidTank[] getSendingTanks() { return redstone ? new FluidTank[0] : tank; } + @Override public FluidTank[] getReceivingTanks() { return this.bufferSize < this.tank[0].getFill() ? new FluidTank[0] : tank; } + @Override public FluidTank[] getAllTanks() { return tank; } + + @Override + public boolean hasPermission(EntityPlayer player) { + return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 128; + } + + @Override + public void receiveControl(NBTTagCompound data) { + if(data.hasKey("capacity")) { + this.bufferSize = MathHelper.clamp_int(data.getInteger("capacity"), 0, 10_000); + } + if(data.hasKey("pressure")) { + this.tank[0].withPressure(MathHelper.clamp_int(data.getByte("pressure"), 0, 5)); + } + if(data.hasKey("priority")) { + priority = EnumUtil.grabEnumSafely(ConnectionPriority.class, data.getByte("priority")); + } + + this.markDirty(); + } + } + + public static class GUIPump extends GuiScreen { + + protected final TileEntityFluidPump pump; + + private GuiTextField textPlacementPriority; + private GuiButton buttonPressure; + private GuiButton buttonPriority; + private int pressure; + private int priority; + + public GUIPump(TileEntityFluidPump pump) { + this.pump = pump; + this.pressure = pump.tank[0].getPressure(); + this.priority = pump.priority.ordinal(); + } + + @Override + public void initGui() { + Keyboard.enableRepeatEvents(true); + + textPlacementPriority = new GuiTextField(fontRendererObj, this.width / 2 - 150, 100, 90, 20); + textPlacementPriority.setText("" + pump.bufferSize); + textPlacementPriority.setMaxStringLength(5); + + buttonPressure = new GuiButton(0, this.width / 2 - 50, 100, 90, 20, pressure + " PU"); + + buttonPriority = new GuiButton(1, this.width / 2 + 50, 100, 90, 20, pump.priority.name()); + } + + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) { + drawDefaultBackground(); + + drawString(fontRendererObj, "Throughput:", this.width / 2 - 150, 80, 0xA0A0A0); + drawString(fontRendererObj, "(max. 10,000mB)", this.width / 2 - 150, 90, 0xA0A0A0); + textPlacementPriority.drawTextBox(); + + drawString(fontRendererObj, "Pressure:", this.width / 2 - 50, 80, 0xA0A0A0); + buttonPressure.drawButton(mc, mouseX, mouseY); + + drawString(fontRendererObj, "Priority:", this.width / 2 + 50, 80, 0xA0A0A0); + buttonPriority.drawButton(mc, mouseX, mouseY); + + super.drawScreen(mouseX, mouseY, partialTicks); + } + + @Override + public void onGuiClosed() { + Keyboard.enableRepeatEvents(false); + + NBTTagCompound data = new NBTTagCompound(); + + data.setByte("pressure", (byte) pressure); + data.setByte("priority", (byte) priority); + + try { data.setInteger("capacity", Integer.parseInt(textPlacementPriority.getText())); } catch(Exception ex) {} + + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, pump.xCoord, pump.yCoord, pump.zCoord)); + } + + @Override + protected void keyTyped(char typedChar, int keyCode) { + super.keyTyped(typedChar, keyCode); + if(textPlacementPriority.textboxKeyTyped(typedChar, keyCode)) return; + + if(keyCode == 1 || keyCode == this.mc.gameSettings.keyBindInventory.getKeyCode()) { + this.mc.thePlayer.closeScreen(); + } + } + + @Override + protected void mouseClicked(int mouseX, int mouseY, int mouseButton) { + super.mouseClicked(mouseX, mouseY, mouseButton); + textPlacementPriority.mouseClicked(mouseX, mouseY, mouseButton); + + if(buttonPressure.mousePressed(mc, mouseX, mouseY)) { + this.pressure++; + if(pressure > 5) pressure = 0; + buttonPressure.displayString = pressure + " PU"; + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + } + + if(buttonPriority.mousePressed(mc, mouseX, mouseY)) { + this.priority++; + if(priority >= ConnectionPriority.values().length) priority = 0; + buttonPriority.displayString = EnumUtil.grabEnumSafely(ConnectionPriority.class, priority).name(); + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + } + } + + @Override public boolean doesGuiPauseGame() { return false; } + } +} diff --git a/src/main/java/com/hbm/blocks/network/FluidSwitch.java b/src/main/java/com/hbm/blocks/network/FluidSwitch.java index f4fc8c82d..c4c8788d2 100644 --- a/src/main/java/com/hbm/blocks/network/FluidSwitch.java +++ b/src/main/java/com/hbm/blocks/network/FluidSwitch.java @@ -1,12 +1,9 @@ package com.hbm.blocks.network; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.ILookOverlay; import com.hbm.lib.RefStrings; import com.hbm.tileentity.network.TileEntityFluidValve; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -18,6 +15,9 @@ import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; +import java.util.ArrayList; +import java.util.List; + public class FluidSwitch extends FluidDuctBase implements ILookOverlay { @SideOnly(Side.CLIENT) @@ -26,14 +26,14 @@ public class FluidSwitch extends FluidDuctBase implements ILookOverlay { public FluidSwitch(Material mat) { super(mat); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { this.iconOn = iconRegister.registerIcon(RefStrings.MODID + ":fluid_switch_on"); this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fluid_switch_off"); } - + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { @@ -47,18 +47,18 @@ public class FluidSwitch extends FluidDuctBase implements ILookOverlay { @Override public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { - + boolean on = world.isBlockIndirectlyGettingPowered(x, y, z); int meta = world.getBlockMetadata(x, y, z); - + boolean update = false; - + if(on && meta == 0) { world.setBlockMetadataWithNotify(x, y, z, 1, 2); world.playSoundEffect(x, y, z, "hbm:block.reactorStart", 1.0F, 1.0F); update = true; } - + if(!on && meta == 1) { world.setBlockMetadataWithNotify(x, y, z, 0, 2); world.playSoundEffect(x, y, z, "hbm:block.reactorStart", 1.0F, 0.85F); @@ -73,14 +73,14 @@ public class FluidSwitch extends FluidDuctBase implements ILookOverlay { @Override public void printHook(Pre event, World world, int x, int y, int z) { - + TileEntity te = world.getTileEntity(x, y, z); - + if(!(te instanceof TileEntityFluidValve)) return; - + TileEntityFluidValve duct = (TileEntityFluidValve) te; - + List text = new ArrayList(); text.add("&[" + duct.getType().getColor() + "&]" + duct.getType().getLocalizedName()); ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); diff --git a/src/main/java/com/hbm/blocks/network/FluidValve.java b/src/main/java/com/hbm/blocks/network/FluidValve.java index 5a0b3d5b3..fae2678c8 100644 --- a/src/main/java/com/hbm/blocks/network/FluidValve.java +++ b/src/main/java/com/hbm/blocks/network/FluidValve.java @@ -1,12 +1,9 @@ package com.hbm.blocks.network; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.ILookOverlay; import com.hbm.lib.RefStrings; import com.hbm.tileentity.network.TileEntityFluidValve; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -18,6 +15,9 @@ import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; +import java.util.ArrayList; +import java.util.List; + public class FluidValve extends FluidDuctBase implements ILookOverlay { @SideOnly(Side.CLIENT) @@ -26,14 +26,14 @@ public class FluidValve extends FluidDuctBase implements ILookOverlay { public FluidValve(Material mat) { super(mat); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { this.iconOn = iconRegister.registerIcon(RefStrings.MODID + ":fluid_valve_on"); this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fluid_valve_off"); } - + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { @@ -44,16 +44,17 @@ public class FluidValve extends FluidDuctBase implements ILookOverlay { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityFluidValve(); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - + if(world.isRemote) return true; - + if(super.onBlockActivated(world, x, y, z, player, side, hitX, hitY, hitZ)) return true; - + if(!player.isSneaking()) { int meta = world.getBlockMetadata(x, y, z); + TileEntityFluidValve te = (TileEntityFluidValve) world.getTileEntity(x, y, z); if(meta == 0) { world.setBlockMetadataWithNotify(x, y, z, 1, 2); world.playSoundEffect(x, y, z, "hbm:block.reactorStart", 1.0F, 1.0F); @@ -61,10 +62,9 @@ public class FluidValve extends FluidDuctBase implements ILookOverlay { world.setBlockMetadataWithNotify(x, y, z, 0, 2); world.playSoundEffect(x, y, z, "hbm:block.reactorStart", 1.0F, 0.85F); } - - TileEntityFluidValve te = (TileEntityFluidValve) world.getTileEntity(x, y, z); + te.updateState(); - + return true; } else { return false; @@ -73,14 +73,14 @@ public class FluidValve extends FluidDuctBase implements ILookOverlay { @Override public void printHook(Pre event, World world, int x, int y, int z) { - + TileEntity te = world.getTileEntity(x, y, z); - + if(!(te instanceof TileEntityFluidValve)) return; - + TileEntityFluidValve duct = (TileEntityFluidValve) te; - + List text = new ArrayList(); text.add("&[" + duct.getType().getColor() + "&]" + duct.getType().getLocalizedName()); ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); diff --git a/src/main/java/com/hbm/blocks/network/IBlockFluidDuct.java b/src/main/java/com/hbm/blocks/network/IBlockFluidDuct.java index c222b595c..c537a374d 100644 --- a/src/main/java/com/hbm/blocks/network/IBlockFluidDuct.java +++ b/src/main/java/com/hbm/blocks/network/IBlockFluidDuct.java @@ -1,7 +1,6 @@ package com.hbm.blocks.network; import com.hbm.inventory.fluid.FluidType; - import net.minecraft.world.World; public interface IBlockFluidDuct { diff --git a/src/main/java/com/hbm/blocks/network/PneumoTube.java b/src/main/java/com/hbm/blocks/network/PneumoTube.java new file mode 100644 index 000000000..4566af7dc --- /dev/null +++ b/src/main/java/com/hbm/blocks/network/PneumoTube.java @@ -0,0 +1,226 @@ +package com.hbm.blocks.network; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.blocks.ITooltipProvider; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.lib.Library; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.network.TileEntityPneumoTube; +import com.hbm.util.Compat; + +import api.hbm.block.IToolable; +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraft.world.WorldServer; +import net.minecraftforge.common.util.ForgeDirection; + +public class PneumoTube extends BlockContainer implements IToolable, ITooltipProvider { + + @SideOnly(Side.CLIENT) public IIcon baseIcon; + @SideOnly(Side.CLIENT) public IIcon iconIn; + @SideOnly(Side.CLIENT) public IIcon iconOut; + @SideOnly(Side.CLIENT) public IIcon iconConnector; + @SideOnly(Side.CLIENT) public IIcon iconStraight; + @SideOnly(Side.CLIENT) public IIcon activeIcon; + + public boolean[] renderSides = new boolean[] {true, true, true, true, true, true}; + + public PneumoTube() { + super(Material.iron); + } + + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + + @Override public int getRenderType() { return renderID; } + @Override public boolean isOpaqueCube() { return false; } + @Override public boolean renderAsNormalBlock() { return false; } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityPneumoTube(); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + super.registerBlockIcons(reg); + + iconIn = reg.registerIcon(RefStrings.MODID + ":pneumatic_tube_in"); + iconOut = reg.registerIcon(RefStrings.MODID + ":pneumatic_tube_out"); + iconConnector = reg.registerIcon(RefStrings.MODID + ":pneumatic_tube_connector"); + iconStraight = reg.registerIcon(RefStrings.MODID + ":pneumatic_tube_straight"); + + this.activeIcon = this.baseIcon = this.blockIcon; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return this.activeIcon; + } + + @Override + @SideOnly(Side.CLIENT) + public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { + return renderSides[side % 6]; + } + + public void resetRenderSides() { + for(int i = 0; i < 6; i++) renderSides[i] = true; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(player.getHeldItem() != null && ToolType.getType(player.getHeldItem()) == ToolType.SCREWDRIVER) return false; + if(!player.isSneaking()) { + TileEntity tile = world.getTileEntity(x, y, z); + if(tile instanceof TileEntityPneumoTube) { + TileEntityPneumoTube tube = (TileEntityPneumoTube) tile; + if(tube.isCompressor()) { + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); + return true; + } + } + return false; + } else { + return false; + } + } + + @Override + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + if(tool != ToolType.SCREWDRIVER) return false; + if(world.isRemote) return true; + + TileEntityPneumoTube tube = (TileEntityPneumoTube) world.getTileEntity(x, y, z); + + ForgeDirection rot = player.isSneaking() ? tube.ejectionDir : tube.insertionDir; + ForgeDirection oth = player.isSneaking() ? tube.insertionDir : tube.ejectionDir; + + for(int i = 0; i < 7; i++) { + rot = ForgeDirection.getOrientation((rot.ordinal() + 1) % 7); + if(rot == ForgeDirection.UNKNOWN) break; //unknown is always valid, simply disables this part + if(rot == oth) continue; //skip if both positions collide + TileEntity tile = Compat.getTileStandard(world, x + rot.offsetX, y + rot.offsetY, z + rot.offsetZ); + if(tile instanceof TileEntityPneumoTube) continue; + if(tile instanceof IInventory) break; //valid if connected to an IInventory + } + + if(player.isSneaking()) tube.ejectionDir = rot; else tube.insertionDir = rot; + + tube.markDirty(); + if(world instanceof WorldServer) ((WorldServer) world).getPlayerManager().markBlockForUpdate(x, y, z); + + return true; + } + + @Override + public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB entityBounding, List list, Entity entity) { + + List bbs = new ArrayList(); + + double lower = 0.3125D; + double upper = 0.6875D; + + bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y + lower, z + lower, x + upper, y + upper, z + upper)); + + if(canConnectTo(world, x, y, z, Library.POS_X) || canConnectToAir(world, x, y, z, Library.POS_X)) bbs.add(AxisAlignedBB.getBoundingBox(x + upper, y + lower, z + lower, x + 1, y + upper, z + upper)); + if(canConnectTo(world, x, y, z, Library.NEG_X) || canConnectToAir(world, x, y, z, Library.NEG_X)) bbs.add(AxisAlignedBB.getBoundingBox(x, y + lower, z + lower, x + lower, y + upper, z + upper)); + if(canConnectTo(world, x, y, z, Library.POS_Y) || canConnectToAir(world, x, y, z, Library.POS_Y)) bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y + upper, z + lower, x + upper, y + 1, z + upper)); + if(canConnectTo(world, x, y, z, Library.NEG_Y) || canConnectToAir(world, x, y, z, Library.NEG_Y)) bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y, z + lower, x + upper, y + lower, z + upper)); + if(canConnectTo(world, x, y, z, Library.POS_Z) || canConnectToAir(world, x, y, z, Library.POS_Z)) bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y + lower, z + upper, x + upper, y + upper, z + 1)); + if(canConnectTo(world, x, y, z, Library.NEG_Z) || canConnectToAir(world, x, y, z, Library.NEG_Z)) bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y + lower, z, x + upper, y + upper, z + lower)); + + for(AxisAlignedBB bb : bbs) { + if(entityBounding.intersectsWith(bb)) { + list.add(bb); + } + } + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + setBlockBoundsBasedOnState(world, x, y, z); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + + @Override + @SideOnly(Side.CLIENT) + public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z) { + setBlockBoundsBasedOnState(world, x, y, z); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + + float lower = 0.3125F; + float upper = 0.6875F; + + TileEntity tile = world.getTileEntity(x, y, z); + TileEntityPneumoTube tube = tile instanceof TileEntityPneumoTube ? (TileEntityPneumoTube) tile : null; + + boolean nX = canConnectTo(world, x, y, z, Library.NEG_X) || canConnectToAir(world, x, y, z, Library.NEG_X); + boolean pX = canConnectTo(world, x, y, z, Library.POS_X) || canConnectToAir(world, x, y, z, Library.POS_X); + boolean nY = canConnectTo(world, x, y, z, Library.NEG_Y) || canConnectToAir(world, x, y, z, Library.NEG_Y); + boolean pY = canConnectTo(world, x, y, z, Library.POS_Y) || canConnectToAir(world, x, y, z, Library.POS_Y); + boolean nZ = canConnectTo(world, x, y, z, Library.NEG_Z) || canConnectToAir(world, x, y, z, Library.NEG_Z); + boolean pZ = canConnectTo(world, x, y, z, Library.POS_Z) || canConnectToAir(world, x, y, z, Library.POS_Z); + + if(tube != null) { + nX |= tube.insertionDir == Library.NEG_X || tube.ejectionDir == Library.NEG_X; + pX |= tube.insertionDir == Library.POS_X || tube.ejectionDir == Library.POS_X; + nY |= tube.insertionDir == Library.NEG_Y || tube.ejectionDir == Library.NEG_Y; + pY |= tube.insertionDir == Library.POS_Y || tube.ejectionDir == Library.POS_Y; + nZ |= tube.insertionDir == Library.NEG_Z || tube.ejectionDir == Library.NEG_Z; + pZ |= tube.insertionDir == Library.POS_Z || tube.ejectionDir == Library.POS_Z; + } + + this.setBlockBounds( + nX ? 0F : lower, + nY ? 0F : lower, + nZ ? 0F : lower, + pX ? 1F : upper, + pY ? 1F : upper, + pZ ? 1F : upper); + } + + public boolean canConnectTo(IBlockAccess world, int x, int y, int z, ForgeDirection dir) { + TileEntity tile = world instanceof World ? Compat.getTileStandard((World) world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ) : world.getTileEntity(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + return tile instanceof TileEntityPneumoTube; + } + + public boolean canConnectToAir(IBlockAccess world, int x, int y, int z, ForgeDirection dir) { + TileEntity te = world.getTileEntity(x, y, z); + TileEntityPneumoTube tube = te instanceof TileEntityPneumoTube ? (TileEntityPneumoTube) te : null; + if(tube != null) { + if(!tube.isCompressor()) return false; + if(tube.ejectionDir == dir || tube.insertionDir == dir) return false; + } + TileEntity tile = world.getTileEntity(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + if(tile instanceof TileEntityPneumoTube) return false; + return Library.canConnectFluid(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir, Fluids.AIR); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + addStandardInfo(stack, player, list, ext); + } +} diff --git a/src/main/java/com/hbm/blocks/network/PylonBase.java b/src/main/java/com/hbm/blocks/network/PylonBase.java index bf35c9fbe..95a2476f7 100644 --- a/src/main/java/com/hbm/blocks/network/PylonBase.java +++ b/src/main/java/com/hbm/blocks/network/PylonBase.java @@ -2,7 +2,6 @@ package com.hbm.blocks.network; import com.hbm.blocks.ITooltipProvider; import com.hbm.tileentity.network.TileEntityPylonBase; - import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -18,31 +17,31 @@ public abstract class PylonBase extends BlockContainer implements ITooltipProvid @Override public void breakBlock(World world, int x, int y, int z, Block b, int m) { - + TileEntity te = world.getTileEntity(x, y, z); - + if(te instanceof TileEntityPylonBase) { ((TileEntityPylonBase)te).disconnectAll(); } - + super.breakBlock(world, x, y, z, b, m); } - + @Override public int getRenderType(){ return -1; } - + @Override public boolean isOpaqueCube() { return false; } - + @Override public boolean renderAsNormalBlock() { return false; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) { diff --git a/src/main/java/com/hbm/blocks/network/PylonLarge.java b/src/main/java/com/hbm/blocks/network/PylonLarge.java index 6333a6e28..a81a1af5f 100644 --- a/src/main/java/com/hbm/blocks/network/PylonLarge.java +++ b/src/main/java/com/hbm/blocks/network/PylonLarge.java @@ -1,12 +1,9 @@ package com.hbm.blocks.network; -import java.util.List; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ITooltipProvider; import com.hbm.tileentity.network.TileEntityPylonBase; import com.hbm.tileentity.network.TileEntityPylonLarge; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -17,6 +14,8 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.List; + public class PylonLarge extends BlockDummyable implements ITooltipProvider { public PylonLarge(Material mat) { @@ -25,7 +24,7 @@ public class PylonLarge extends BlockDummyable implements ITooltipProvider { @Override public TileEntity createNewTileEntity(World world, int meta) { - + if(meta >= 12) return new TileEntityPylonLarge(); return null; @@ -50,19 +49,19 @@ public class PylonLarge extends BlockDummyable implements ITooltipProvider { @Override public void breakBlock(World world, int x, int y, int z, Block b, int m) { - + TileEntity te = world.getTileEntity(x, y, z); - + if(te instanceof TileEntityPylonBase) { ((TileEntityPylonBase)te).disconnectAll(); } - + super.breakBlock(world, x, y, z, b, m); } @Override protected int getMetaForCore(World world, int x, int y, int z, EntityPlayer player, int original) { - + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 180.0F + 0.5D) & 3; ForgeDirection dir = ForgeDirection.NORTH; @@ -79,10 +78,10 @@ public class PylonLarge extends BlockDummyable implements ITooltipProvider { if(i == 3) { dir = ForgeDirection.getOrientation(4); } - + return dir.ordinal() + offset; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) { diff --git a/src/main/java/com/hbm/blocks/network/PylonMedium.java b/src/main/java/com/hbm/blocks/network/PylonMedium.java index 7a29f4614..5f4e0957d 100644 --- a/src/main/java/com/hbm/blocks/network/PylonMedium.java +++ b/src/main/java/com/hbm/blocks/network/PylonMedium.java @@ -1,12 +1,9 @@ package com.hbm.blocks.network; -import java.util.List; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ITooltipProvider; import com.hbm.tileentity.network.TileEntityPylonBase; import com.hbm.tileentity.network.TileEntityPylonMedium; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -15,6 +12,8 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; +import java.util.List; + public class PylonMedium extends BlockDummyable implements ITooltipProvider { public PylonMedium(Material mat) { @@ -23,7 +22,7 @@ public class PylonMedium extends BlockDummyable implements ITooltipProvider { @Override public TileEntity createNewTileEntity(World world, int meta) { - + if(meta >= 12) return new TileEntityPylonMedium(); return null; } @@ -50,7 +49,7 @@ public class PylonMedium extends BlockDummyable implements ITooltipProvider { if(te instanceof TileEntityPylonBase) ((TileEntityPylonBase)te).disconnectAll(); super.breakBlock(world, x, y, z, b, m); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) { diff --git a/src/main/java/com/hbm/blocks/network/PylonRedWire.java b/src/main/java/com/hbm/blocks/network/PylonRedWire.java index 79a44f541..8594cbb72 100644 --- a/src/main/java/com/hbm/blocks/network/PylonRedWire.java +++ b/src/main/java/com/hbm/blocks/network/PylonRedWire.java @@ -1,9 +1,6 @@ package com.hbm.blocks.network; -import java.util.List; - import com.hbm.tileentity.network.TileEntityPylon; - import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -11,6 +8,8 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; +import java.util.List; + public class PylonRedWire extends PylonBase { public PylonRedWire(Material material) { diff --git a/src/main/java/com/hbm/blocks/network/RadioTelex.java b/src/main/java/com/hbm/blocks/network/RadioTelex.java index 8b7614b51..5d042ff63 100644 --- a/src/main/java/com/hbm/blocks/network/RadioTelex.java +++ b/src/main/java/com/hbm/blocks/network/RadioTelex.java @@ -3,7 +3,6 @@ package com.hbm.blocks.network; import com.hbm.blocks.BlockDummyable; import com.hbm.main.MainRegistry; import com.hbm.tileentity.network.TileEntityRadioTelex; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -31,7 +30,7 @@ public class RadioTelex extends BlockDummyable { public int getOffset() { return 0; } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote && !player.isSneaking()) { diff --git a/src/main/java/com/hbm/blocks/network/RadioTorchBase.java b/src/main/java/com/hbm/blocks/network/RadioTorchBase.java index 4ebd140fd..557e122e0 100644 --- a/src/main/java/com/hbm/blocks/network/RadioTorchBase.java +++ b/src/main/java/com/hbm/blocks/network/RadioTorchBase.java @@ -1,12 +1,9 @@ package com.hbm.blocks.network; -import java.util.List; - import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ITooltipProvider; import com.hbm.main.MainRegistry; import com.hbm.tileentity.IGUIProvider; - import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; @@ -15,6 +12,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MovingObjectPosition; @@ -23,6 +21,8 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.List; + /** * Base class for all torch-like RTTY blocks * @author hbm @@ -39,34 +39,34 @@ public abstract class RadioTorchBase extends BlockContainer implements IGUIProvi public int getRenderType() { return renderID; } - + @Override public boolean isOpaqueCube() { return false; } - + @Override public boolean renderAsNormalBlock() { return false; } - + @Override @SideOnly(Side.CLIENT) public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { return true; } - + @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { return null; } - + @Override public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, Vec3 vec0, Vec3 vec1) { - + int meta = world.getBlockMetadata(x, y, z) & 7; ForgeDirection dir = ForgeDirection.getOrientation(meta); - + this.setBlockBounds( dir.offsetX == 1 ? 0F : 0.375F, dir.offsetY == 1 ? 0F : 0.375F, @@ -86,31 +86,31 @@ public abstract class RadioTorchBase extends BlockContainer implements IGUIProvi @Override public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { - + int meta = world.getBlockMetadata(x, y, z); ForgeDirection dir = ForgeDirection.getOrientation(meta); Block b = world.getBlock(x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ); - + if(!canBlockStay(world, x, y, z, dir, b)) { this.dropBlockAsItem(world, x, y, z, meta, 0); world.setBlockToAir(x, y, z); } } - + @Override public boolean canPlaceBlockOnSide(World world, int x, int y, int z, int side) { if(!super.canPlaceBlockOnSide(world, x, y, z, side)) return false; - + ForgeDirection dir = ForgeDirection.getOrientation(side); Block b = world.getBlock(x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ); - + return canBlockStay(world, x, y, z, dir, b); } - + public boolean canBlockStay(World world, int x, int y, int z, ForgeDirection dir, Block b) { return b.isSideSolid(world, x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ, dir) || b.hasComparatorInputOverride() || b.canProvidePower() || (b.renderAsNormalBlock() && !b.isAir(world, x, y, z)); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote && !player.isSneaking()) { @@ -121,6 +121,8 @@ public abstract class RadioTorchBase extends BlockContainer implements IGUIProvi } } + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return null; } + @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { addStandardInfo(stack, player, list, ext); diff --git a/src/main/java/com/hbm/blocks/network/RadioTorchController.java b/src/main/java/com/hbm/blocks/network/RadioTorchController.java new file mode 100644 index 000000000..8d971878d --- /dev/null +++ b/src/main/java/com/hbm/blocks/network/RadioTorchController.java @@ -0,0 +1,59 @@ +package com.hbm.blocks.network; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.blocks.ILookOverlay; +import com.hbm.inventory.gui.GUIScreenRadioTorchController; +import com.hbm.tileentity.network.TileEntityRadioTorchController; +import com.hbm.util.Compat; +import com.hbm.util.i18n.I18nUtil; + +import api.hbm.redstoneoverradio.IRORInteractive; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; +import net.minecraftforge.common.util.ForgeDirection; + +public class RadioTorchController extends RadioTorchBase { + + public RadioTorchController() { + super(); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityRadioTorchController(); + } + + @Override + public boolean canBlockStay(World world, int x, int y, int z, ForgeDirection dir, Block b) { + TileEntity tile = Compat.getTileStandard(world, x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ); + return tile instanceof IRORInteractive; + } + + @Override + public void printHook(Pre event, World world, int x, int y, int z) { + TileEntity te = world.getTileEntity(x, y, z); + + if(te instanceof TileEntityRadioTorchController) { + TileEntityRadioTorchController radio = (TileEntityRadioTorchController) te; + List text = new ArrayList(); + text.add(EnumChatFormatting.AQUA + "Freq: " + radio.channel); + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } + } + + @Override + @SideOnly(Side.CLIENT) + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + TileEntity te = world.getTileEntity(x, y, z); + if(te instanceof TileEntityRadioTorchController) return new GUIScreenRadioTorchController((TileEntityRadioTorchController) te); + return null; + } +} diff --git a/src/main/java/com/hbm/blocks/network/RadioTorchCounter.java b/src/main/java/com/hbm/blocks/network/RadioTorchCounter.java index 086031285..d9a71d78b 100644 --- a/src/main/java/com/hbm/blocks/network/RadioTorchCounter.java +++ b/src/main/java/com/hbm/blocks/network/RadioTorchCounter.java @@ -1,21 +1,17 @@ package com.hbm.blocks.network; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.ILookOverlay; import com.hbm.inventory.container.ContainerCounterTorch; import com.hbm.inventory.gui.GUICounterTorch; import com.hbm.main.MainRegistry; import com.hbm.tileentity.network.TileEntityRadioTorchCounter; import com.hbm.util.Compat; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; @@ -25,8 +21,11 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; + public class RadioTorchCounter extends RadioTorchBase { - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(!world.isRemote && !player.isSneaking()) { @@ -56,25 +55,25 @@ public class RadioTorchCounter extends RadioTorchBase { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICounterTorch(player.inventory, (TileEntityRadioTorchCounter) world.getTileEntity(x, y, z)); } @Override public void printHook(Pre event, World world, int x, int y, int z) { TileEntity te = world.getTileEntity(x, y, z); - + if(te instanceof TileEntityRadioTorchCounter) { TileEntityRadioTorchCounter radio = (TileEntityRadioTorchCounter) te; List text = new ArrayList(); - + for(int i = 0; i < 3; i++) { if(!radio.channel[i].isEmpty()) { text.add(EnumChatFormatting.AQUA + "Freq " + (i + 1) + ": " + radio.channel[i]); text.add(EnumChatFormatting.RED + "Signal " + (i + 1) + ": " + radio.lastCount[i]); } } - + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } } diff --git a/src/main/java/com/hbm/blocks/network/RadioTorchLogic.java b/src/main/java/com/hbm/blocks/network/RadioTorchLogic.java index 13cc2d107..7712d3b1a 100644 --- a/src/main/java/com/hbm/blocks/network/RadioTorchLogic.java +++ b/src/main/java/com/hbm/blocks/network/RadioTorchLogic.java @@ -1,17 +1,13 @@ package com.hbm.blocks.network; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.ILookOverlay; import com.hbm.inventory.gui.GUIScreenRadioTorchLogic; import com.hbm.lib.RefStrings; import com.hbm.tileentity.network.TileEntityRadioTorchLogic; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; @@ -20,12 +16,15 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; +import java.util.ArrayList; +import java.util.List; + public class RadioTorchLogic extends RadioTorchRWBase { - + public RadioTorchLogic() { super(); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { @@ -39,30 +38,30 @@ public class RadioTorchLogic extends RadioTorchRWBase { tile.lastUpdate = world.getTotalWorldTime(); return tile; } - + @Override public boolean canProvidePower() { return true; } - + @Override public int isProvidingWeakPower(IBlockAccess world, int x, int y, int z, int side) { - + TileEntity tile = world.getTileEntity(x, y, z); - + if(tile instanceof TileEntityRadioTorchLogic) { int state = ((TileEntityRadioTorchLogic) tile).lastState; return state; } - + return 0; } - + @Override @SideOnly(Side.CLIENT) public void printHook(Pre event, World world, int x, int y, int z) { TileEntity te = world.getTileEntity(x, y, z); - + if(te instanceof TileEntityRadioTorchLogic) { TileEntityRadioTorchLogic radio = (TileEntityRadioTorchLogic) te; List text = new ArrayList(); @@ -71,15 +70,15 @@ public class RadioTorchLogic extends RadioTorchRWBase { ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } } - + @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { TileEntity te = world.getTileEntity(x, y, z); - + if(te instanceof TileEntityRadioTorchLogic) return new GUIScreenRadioTorchLogic((TileEntityRadioTorchLogic) te); - + return null; } } diff --git a/src/main/java/com/hbm/blocks/network/RadioTorchProgrammer.java b/src/main/java/com/hbm/blocks/network/RadioTorchProgrammer.java new file mode 100644 index 000000000..a160ad02e --- /dev/null +++ b/src/main/java/com/hbm/blocks/network/RadioTorchProgrammer.java @@ -0,0 +1,37 @@ +package com.hbm.blocks.network; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; + +public class RadioTorchProgrammer extends RadioTorchBase { + + public RadioTorchProgrammer() { + super(); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return null; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return null; + } + + @Override + @SideOnly(Side.CLIENT) + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return null; + } + + @Override + public void printHook(Pre event, World world, int x, int y, int z) { + + } +} diff --git a/src/main/java/com/hbm/blocks/network/RadioTorchRWBase.java b/src/main/java/com/hbm/blocks/network/RadioTorchRWBase.java index 8199991a5..11c64f5c8 100644 --- a/src/main/java/com/hbm/blocks/network/RadioTorchRWBase.java +++ b/src/main/java/com/hbm/blocks/network/RadioTorchRWBase.java @@ -1,24 +1,22 @@ package com.hbm.blocks.network; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.ILookOverlay; import com.hbm.inventory.gui.GUIScreenRadioTorch; import com.hbm.tileentity.network.TileEntityRadioTorchBase; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; +import java.util.ArrayList; +import java.util.List; + /** * Base class for the basic sender and receiver RTTY torch * @author hbm @@ -32,12 +30,12 @@ public abstract class RadioTorchRWBase extends RadioTorchBase { public IIcon getIcon(int side, int metadata) { return side == 0 ? this.blockIcon : this.iconOn; } - + @Override @SideOnly(Side.CLIENT) public void printHook(Pre event, World world, int x, int y, int z) { TileEntity te = world.getTileEntity(x, y, z); - + if(te instanceof TileEntityRadioTorchBase) { TileEntityRadioTorchBase radio = (TileEntityRadioTorchBase) te; List text = new ArrayList(); @@ -47,16 +45,11 @@ public abstract class RadioTorchRWBase extends RadioTorchBase { } } - @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return null; } - @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { TileEntity te = world.getTileEntity(x, y, z); - - if(te instanceof TileEntityRadioTorchBase) - return new GUIScreenRadioTorch((TileEntityRadioTorchBase) te); - + if(te instanceof TileEntityRadioTorchBase) return new GUIScreenRadioTorch((TileEntityRadioTorchBase) te); return null; } } diff --git a/src/main/java/com/hbm/blocks/network/RadioTorchReader.java b/src/main/java/com/hbm/blocks/network/RadioTorchReader.java new file mode 100644 index 000000000..d92162c51 --- /dev/null +++ b/src/main/java/com/hbm/blocks/network/RadioTorchReader.java @@ -0,0 +1,66 @@ +package com.hbm.blocks.network; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.blocks.ILookOverlay; +import com.hbm.inventory.gui.GUIScreenRadioTorchReader; +import com.hbm.tileentity.network.TileEntityRadioTorchReader; +import com.hbm.util.Compat; +import com.hbm.util.i18n.I18nUtil; + +import api.hbm.redstoneoverradio.IRORValueProvider; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; +import net.minecraftforge.common.util.ForgeDirection; + +public class RadioTorchReader extends RadioTorchBase { + + public RadioTorchReader() { + super(); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityRadioTorchReader(); + } + + @Override + public boolean canBlockStay(World world, int x, int y, int z, ForgeDirection dir, Block b) { + TileEntity tile = Compat.getTileStandard(world, x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ); + return tile instanceof IRORValueProvider; + } + + @Override + public void printHook(Pre event, World world, int x, int y, int z) { + TileEntity te = world.getTileEntity(x, y, z); + + if(te instanceof TileEntityRadioTorchReader) { + TileEntityRadioTorchReader radio = (TileEntityRadioTorchReader) te; + List text = new ArrayList(); + for(int i = 0; i < 8; i++) { + if(radio.channels[i] == null || radio.channels[i].isEmpty()) continue; + if(radio.names[i] == null || radio.names[i].isEmpty()) continue; + text.add(EnumChatFormatting.AQUA + radio.channels[i] + ": " + radio.names[i]); + } + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } + } + + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return null; } + + @Override + @SideOnly(Side.CLIENT) + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + TileEntity te = world.getTileEntity(x, y, z); + if(te instanceof TileEntityRadioTorchReader) return new GUIScreenRadioTorchReader((TileEntityRadioTorchReader) te); + return null; + } +} diff --git a/src/main/java/com/hbm/blocks/network/RadioTorchReceiver.java b/src/main/java/com/hbm/blocks/network/RadioTorchReceiver.java index 4d7f28c83..cc3c58986 100644 --- a/src/main/java/com/hbm/blocks/network/RadioTorchReceiver.java +++ b/src/main/java/com/hbm/blocks/network/RadioTorchReceiver.java @@ -2,7 +2,6 @@ package com.hbm.blocks.network; import com.hbm.lib.RefStrings; import com.hbm.tileentity.network.TileEntityRadioTorchReceiver; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; @@ -15,7 +14,7 @@ public class RadioTorchReceiver extends RadioTorchRWBase { public RadioTorchReceiver() { super(); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { @@ -29,22 +28,22 @@ public class RadioTorchReceiver extends RadioTorchRWBase { tile.lastUpdate = world.getTotalWorldTime(); return tile; } - + @Override public boolean canProvidePower() { return true; } - + @Override public int isProvidingWeakPower(IBlockAccess world, int x, int y, int z, int side) { - + TileEntity tile = world.getTileEntity(x, y, z); - + if(tile instanceof TileEntityRadioTorchReceiver) { int state = ((TileEntityRadioTorchReceiver) tile).lastState; return state; } - + return 0; } } diff --git a/src/main/java/com/hbm/blocks/network/RadioTorchSender.java b/src/main/java/com/hbm/blocks/network/RadioTorchSender.java index 2045be8a3..1a11b9b0e 100644 --- a/src/main/java/com/hbm/blocks/network/RadioTorchSender.java +++ b/src/main/java/com/hbm/blocks/network/RadioTorchSender.java @@ -2,7 +2,6 @@ package com.hbm.blocks.network; import com.hbm.lib.RefStrings; import com.hbm.tileentity.network.TileEntityRadioTorchSender; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; @@ -14,7 +13,7 @@ public class RadioTorchSender extends RadioTorchRWBase { public RadioTorchSender() { super(); } - + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { diff --git a/src/main/java/com/hbm/blocks/network/Substation.java b/src/main/java/com/hbm/blocks/network/Substation.java index 6c8e3cb34..6affdeb4e 100644 --- a/src/main/java/com/hbm/blocks/network/Substation.java +++ b/src/main/java/com/hbm/blocks/network/Substation.java @@ -1,13 +1,10 @@ package com.hbm.blocks.network; -import java.util.List; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ITooltipProvider; import com.hbm.tileentity.TileEntityProxyConductor; import com.hbm.tileentity.network.TileEntityPylonBase; import com.hbm.tileentity.network.TileEntitySubstation; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -17,6 +14,8 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.List; + public class Substation extends BlockDummyable implements ITooltipProvider { public Substation(Material mat) { @@ -25,13 +24,13 @@ public class Substation extends BlockDummyable implements ITooltipProvider { @Override public TileEntity createNewTileEntity(World world, int meta) { - + if(meta >= 12) return new TileEntitySubstation(); - + if(meta >= 6) return new TileEntityProxyConductor(); - + return null; } @@ -43,13 +42,13 @@ public class Substation extends BlockDummyable implements ITooltipProvider { @Override public void breakBlock(World world, int x, int y, int z, Block b, int m) { - + TileEntity te = world.getTileEntity(x, y, z); - + if(te instanceof TileEntityPylonBase) { ((TileEntityPylonBase)te).disconnectAll(); } - + super.breakBlock(world, x, y, z, b, m); } @@ -72,7 +71,7 @@ public class Substation extends BlockDummyable implements ITooltipProvider { this.makeExtra(world, x + dir.offsetX * o - 1, y, z + dir.offsetZ * o + 1); this.makeExtra(world, x + dir.offsetX * o - 1, y, z + dir.offsetZ * o - 1); } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) { diff --git a/src/main/java/com/hbm/blocks/network/WireCoated.java b/src/main/java/com/hbm/blocks/network/WireCoated.java index 3e939327c..c96c68ad5 100644 --- a/src/main/java/com/hbm/blocks/network/WireCoated.java +++ b/src/main/java/com/hbm/blocks/network/WireCoated.java @@ -4,7 +4,6 @@ import com.hbm.render.block.ct.CT; import com.hbm.render.block.ct.CTStitchReceiver; import com.hbm.render.block.ct.IBlockCT; import com.hbm.tileentity.network.TileEntityCableBaseNT; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockContainer; diff --git a/src/main/java/com/hbm/blocks/test/TestCore.java b/src/main/java/com/hbm/blocks/test/TestCore.java index 049f7eae9..7b3b60380 100644 --- a/src/main/java/com/hbm/blocks/test/TestCore.java +++ b/src/main/java/com/hbm/blocks/test/TestCore.java @@ -27,7 +27,7 @@ public class TestCore extends Block { world.setBlockToAir(x, y, z); world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, BombConfig.missileRadius, x + 0.5, y + 0.5, z + 0.5)); - EntityNukeTorex.statFac(world, x + 0.5, y + 0.5, z + 0.5, BombConfig.missileRadius); + EntityNukeTorex.statFacStandard(world, x + 0.5, y + 0.5, z + 0.5, BombConfig.missileRadius); } else if(meta > 0) { diff --git a/src/main/java/com/hbm/commands/CommandPacketInfo.java b/src/main/java/com/hbm/commands/CommandPacketInfo.java new file mode 100644 index 000000000..1affa486c --- /dev/null +++ b/src/main/java/com/hbm/commands/CommandPacketInfo.java @@ -0,0 +1,89 @@ +package com.hbm.commands; + +import com.hbm.config.GeneralConfig; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.main.MainRegistry; +import com.hbm.util.BobMathUtil; +import net.minecraft.command.CommandBase; +import net.minecraft.command.ICommandSender; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; + +import java.lang.management.ManagementFactory; +import java.lang.management.ThreadInfo; +import java.util.concurrent.TimeUnit; + +import static com.hbm.handler.threading.PacketThreading.totalCnt; + +public class CommandPacketInfo extends CommandBase { + @Override + public String getCommandName() { + return "ntmpackets"; + } + + @Override + public String getCommandUsage(ICommandSender sender) { + return EnumChatFormatting.RED + "/ntmpackets [info/resetState/toggleThreadingStatus/forceLock/forceUnlock]"; + } + + @Override + public void processCommand(ICommandSender sender, String[] args) { + + if (args.length > 0) { + switch (args[0]) { + case "resetState": + PacketThreading.hasTriggered = false; + PacketThreading.clearCnt = 0; + return; + case "toggleThreadingStatus": + GeneralConfig.enablePacketThreading = !GeneralConfig.enablePacketThreading; // Force toggle. + PacketThreading.init(); // Reinit threads. + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.GREEN + "Packet sending status toggled to " + GeneralConfig.enablePacketThreading + ".")); + return; + case "forceLock": + PacketThreading.lock.lock(); // oh my fucking god never do this please unless you really have to + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Packet thread lock acquired, this may freeze the main thread!")); + MainRegistry.logger.error("Packet thread lock acquired by {}, this may freeze the main thread!", sender.getCommandSenderName()); + return; + case "forceUnlock": + PacketThreading.lock.unlock(); + MainRegistry.logger.warn("Packet thread lock released by {}.", sender.getCommandSenderName()); + return; + case "info": + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.GOLD + "NTM Packet Debugger v1.2")); + + if (PacketThreading.isTriggered() && GeneralConfig.enablePacketThreading) + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Packet Threading Errored, check log.")); + else if (GeneralConfig.enablePacketThreading) + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.GREEN + "Packet Threading Active")); + else + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Packet Threading Inactive")); + + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Thread Pool Info")); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "# Threads (total): " + PacketThreading.threadPool.getPoolSize())); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "# Threads (core): " + PacketThreading.threadPool.getCorePoolSize())); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "# Threads (idle): " + (PacketThreading.threadPool.getPoolSize() - PacketThreading.threadPool.getActiveCount()))); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "# Threads (maximum): " + PacketThreading.threadPool.getMaximumPoolSize())); + + for (ThreadInfo thread : ManagementFactory.getThreadMXBean().dumpAllThreads(false, false)) + if (thread.getThreadName().startsWith(PacketThreading.threadPrefix)) { + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.GOLD + "Thread Name: " + thread.getThreadName())); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Thread ID: " + thread.getThreadId())); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Thread state: " + thread.getThreadState())); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Locked by: " + (thread.getLockOwnerName() == null ? "None" : thread.getLockName()))); + } + + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.GOLD + "Packet Info: ")); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Amount total: " + totalCnt)); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Amount remaining: " + PacketThreading.threadPool.getQueue().size())); + + if (totalCnt != 0) + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "% Remaining to process: " + BobMathUtil.roundDecimal(((double) PacketThreading.threadPool.getQueue().size() / totalCnt) * 100, 2) + "%")); + + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Time spent waiting on thread(s) last tick: " + BobMathUtil.roundDecimal(TimeUnit.MILLISECONDS.convert(PacketThreading.nanoTimeWaited, TimeUnit.NANOSECONDS), 4) + "ms")); + return; + } + } + sender.addChatMessage(new ChatComponentText(getCommandUsage(sender))); + } +} diff --git a/src/main/java/com/hbm/commands/CommandReloadClient.java b/src/main/java/com/hbm/commands/CommandReloadClient.java new file mode 100644 index 000000000..84f21988b --- /dev/null +++ b/src/main/java/com/hbm/commands/CommandReloadClient.java @@ -0,0 +1,53 @@ +package com.hbm.commands; + +import java.util.HashMap; + +import com.hbm.config.ClientConfig; +import com.hbm.config.RunningConfig.ConfigWrapper; + +import cpw.mods.fml.relauncher.FMLLaunchHandler; +import cpw.mods.fml.relauncher.Side; +import net.minecraft.command.ICommandSender; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; +import net.minecraftforge.client.ClientCommandHandler; + +public class CommandReloadClient extends CommandReloadConfig { + + public static void register() { + if(FMLLaunchHandler.side() != Side.CLIENT) return; + ClientCommandHandler.instance.registerCommand(new CommandReloadClient()); + } + + @Override + public String getCommandName() { + return "ntmclient"; + } + + @Override + public String getCommandUsage(ICommandSender sender) { + return "/ntmclient help"; + } + + @Override public void help(ICommandSender sender, String[] args) { + if(args.length >= 2) { + String command = args[1]; + if("help".equals(command)) sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Shows usage for /ntmclient subcommands.")); + if("list".equals(command)) sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Shows all client variable names and values.")); + if("reload".equals(command)) sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Reads client variables from the config file.")); + if("get".equals(command)) sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Shows value for the specified variable name.")); + if("set".equals(command)) sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Sets a variable's value and saves it to the config file.")); + } else { + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "/ntmclient " + EnumChatFormatting.GOLD + "help " + EnumChatFormatting.RED + "")); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "/ntmclient " + EnumChatFormatting.GOLD + "list")); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "/ntmclient " + EnumChatFormatting.GOLD + "reload")); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "/ntmclient " + EnumChatFormatting.GOLD + "get " + EnumChatFormatting.RED + "")); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "/ntmclient " + EnumChatFormatting.GOLD + "set " + EnumChatFormatting.RED + " ")); + } + } + + @Override public HashMap getConfigMap() { return ClientConfig.configMap; } + @Override public void refresh() { ClientConfig.refresh(); } + @Override public void reload() { ClientConfig.reload(); } + @Override public String getTitle() { return "CLIENT VARIABLES:"; } +} diff --git a/src/main/java/com/hbm/commands/CommandReloadConfig.java b/src/main/java/com/hbm/commands/CommandReloadConfig.java new file mode 100644 index 000000000..fbe35111a --- /dev/null +++ b/src/main/java/com/hbm/commands/CommandReloadConfig.java @@ -0,0 +1,102 @@ +package com.hbm.commands; + +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map.Entry; +import java.util.stream.Collectors; + +import com.hbm.config.RunningConfig.ConfigWrapper; + +import net.minecraft.command.CommandBase; +import net.minecraft.command.CommandException; +import net.minecraft.command.ICommandSender; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; + +public abstract class CommandReloadConfig extends CommandBase { + + @Override + public boolean canCommandSenderUseCommand(ICommandSender sender) { + return sender instanceof EntityPlayer; + } + + public abstract void help(ICommandSender sender, String[] args); + public abstract HashMap getConfigMap(); + public abstract void refresh(); + public abstract void reload(); + public abstract String getTitle(); + + @Override + public void processCommand(ICommandSender sender, String[] args) { + + if(args.length < 1) throw new CommandException(getCommandUsage(sender)); + + String operator = args[0]; + + if("help".equals(operator)) { + help(sender, args); + return; + } + + if("list".equals(operator)) { + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + getTitle())); + for(Entry line : getConfigMap().entrySet()) { + sender.addChatMessage(new ChatComponentText(" " + EnumChatFormatting.GOLD + line.getKey() + ": " + EnumChatFormatting.YELLOW + line.getValue().value)); + } + return; + } + + if("reload".equals(operator)) { + reload(); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Variables loaded from config file.")); + return; + } + + if(args.length < 2) throw new CommandException(getCommandUsage(sender)); + + String key = args[1]; + + if("get".equals(operator)) { + ConfigWrapper wrapper = getConfigMap().get(key); + if(wrapper == null) throw new CommandException("Key does not exist."); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.GOLD + key + ": " + EnumChatFormatting.YELLOW + wrapper.value)); + return; + } + + if(args.length < 3) throw new CommandException(getCommandUsage(sender)); + + String value = args[2]; + + if("set".equals(operator)) { + ConfigWrapper wrapper = getConfigMap().get(key); + if(wrapper == null) throw new CommandException("Key does not exist."); + + try { + wrapper.update(value); + refresh(); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Value updated.")); + } catch(Exception ex) { + throw new CommandException("Error parsing type for " + wrapper.value.getClass().getSimpleName() + ": " + ex.getLocalizedMessage()); + } + + return; + } + + throw new CommandException(getCommandUsage(sender)); + } + + @SuppressWarnings("rawtypes") + @Override + public List addTabCompletionOptions(ICommandSender sender, String[] args) { + if(!(sender instanceof EntityPlayer)) return Collections.emptyList(); + if(args.length < 1) return Collections.emptyList(); + if(args.length == 1) return getListOfStringsMatchingLastWord(args, "list", "reload", "get", "set"); + String operator = args[0]; + if(args.length == 2 && ("get".equals(operator) || "set".equals(operator))) { + return getListOfStringsFromIterableMatchingLastWord(args, getConfigMap().keySet().stream().map(String::valueOf).collect(Collectors.toList())); + } + return Collections.emptyList(); + } +} diff --git a/src/main/java/com/hbm/commands/CommandReloadRecipes.java b/src/main/java/com/hbm/commands/CommandReloadRecipes.java index 8b2a939eb..a07b43848 100644 --- a/src/main/java/com/hbm/commands/CommandReloadRecipes.java +++ b/src/main/java/com/hbm/commands/CommandReloadRecipes.java @@ -1,8 +1,12 @@ package com.hbm.commands; import com.hbm.config.ItemPoolConfigJSON; +import com.hbm.inventory.FluidContainerRegistry; +import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.particle.helper.SkeletonCreator; import com.hbm.util.ChatBuilder; +import com.hbm.util.DamageResistanceHandler; import net.minecraft.command.CommandBase; import net.minecraft.command.ICommandSender; @@ -24,8 +28,14 @@ public class CommandReloadRecipes extends CommandBase { @Override public void processCommand(ICommandSender sender, String[] args) { try { + FluidContainerRegistry.clearRegistry(); // we do this first so IFluidRegisterListener can go wild with the registry + Fluids.reloadFluids(); + FluidContainerRegistry.register(); SerializableRecipe.initialize(); ItemPoolConfigJSON.initialize(); + DamageResistanceHandler.init(); + SkeletonCreator.init(); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Reload complete :)")); } catch(Exception ex) { sender.addChatMessage(ChatBuilder.start("----------------------------------").color(EnumChatFormatting.GRAY).flush()); diff --git a/src/main/java/com/hbm/commands/CommandReloadServer.java b/src/main/java/com/hbm/commands/CommandReloadServer.java new file mode 100644 index 000000000..33c572141 --- /dev/null +++ b/src/main/java/com/hbm/commands/CommandReloadServer.java @@ -0,0 +1,45 @@ +package com.hbm.commands; + +import java.util.HashMap; + +import com.hbm.config.RunningConfig.ConfigWrapper; +import com.hbm.config.ServerConfig; + +import net.minecraft.command.ICommandSender; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; + +public class CommandReloadServer extends CommandReloadConfig { + + @Override + public String getCommandName() { + return "ntmserver"; + } + + @Override + public String getCommandUsage(ICommandSender sender) { + return "/ntmserver help"; + } + + @Override public void help(ICommandSender sender, String[] args) { + if(args.length >= 2) { + String command = args[1]; + if("help".equals(command)) sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Shows usage for /ntmserver subcommands.")); + if("list".equals(command)) sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Shows all server variable names and values.")); + if("reload".equals(command)) sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Reads server variables from the config file.")); + if("get".equals(command)) sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Shows value for the specified variable name.")); + if("set".equals(command)) sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Sets a variable's value and saves it to the config file.")); + } else { + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "/ntmserver " + EnumChatFormatting.GOLD + "help " + EnumChatFormatting.RED + "")); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "/ntmserver " + EnumChatFormatting.GOLD + "list")); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "/ntmserver " + EnumChatFormatting.GOLD + "reload")); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "/ntmserver " + EnumChatFormatting.GOLD + "get " + EnumChatFormatting.RED + "")); + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "/ntmserver " + EnumChatFormatting.GOLD + "set " + EnumChatFormatting.RED + " ")); + } + } + + @Override public HashMap getConfigMap() { return ServerConfig.configMap; } + @Override public void refresh() { ServerConfig.refresh(); } + @Override public void reload() { ServerConfig.reload(); } + @Override public String getTitle() { return "SERVER VARIABLES:"; } +} diff --git a/src/main/java/com/hbm/commands/CommandSatellites.java b/src/main/java/com/hbm/commands/CommandSatellites.java index 6f1a803cd..6b552b6f2 100644 --- a/src/main/java/com/hbm/commands/CommandSatellites.java +++ b/src/main/java/com/hbm/commands/CommandSatellites.java @@ -8,6 +8,7 @@ import net.minecraft.command.CommandBase; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ChatComponentTranslation; +import net.minecraft.util.ChatComponentText; import net.minecraft.util.ChatStyle; import net.minecraft.util.EnumChatFormatting; @@ -17,72 +18,78 @@ import java.util.Locale; import java.util.stream.Collectors; public class CommandSatellites extends CommandBase { - @Override - public String getCommandName() { - return "ntmsatellites"; - } + @Override + public String getCommandName() { + return "ntmsatellites"; + } - @Override - public String getCommandUsage(ICommandSender iCommandSender) { - return String.format(Locale.US, - "%s/%s orbit %s- Launch the held satellite\n" + - "%s/%s descend %s- Deletes satellite by frequency.", - EnumChatFormatting.GREEN, getCommandName(), EnumChatFormatting.LIGHT_PURPLE, - EnumChatFormatting.GREEN, getCommandName(), EnumChatFormatting.LIGHT_PURPLE - ); - } + @Override + public String getCommandUsage(ICommandSender iCommandSender) { + return String.format(Locale.US, "%s/%s orbit %s- Launch the held satellite.\n" + "%s/%s descend %s- Deletes satellite by frequency.\n" + "%s/%s list %s- Lists all active satellites.", EnumChatFormatting.GREEN, getCommandName(), EnumChatFormatting.LIGHT_PURPLE, EnumChatFormatting.GREEN, getCommandName(), EnumChatFormatting.LIGHT_PURPLE, EnumChatFormatting.GREEN, getCommandName(), EnumChatFormatting.LIGHT_PURPLE); + } - @Override - public void processCommand(ICommandSender sender, String[] args) { - if(!(sender instanceof EntityPlayer)) { - sender.addChatMessage(new ChatComponentTranslation( "commands.satellite.should_be_run_as_player").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED))); - return; - } - switch (args[0]) { - case "orbit": - EntityPlayer player = getCommandSenderAsPlayer(sender); - if(player.getHeldItem().getItem() instanceof ISatChip && player.getHeldItem().getItem() != ModItems.sat_chip) { - Satellite.orbit( - player.worldObj, - Satellite.getIDFromItem(player.getHeldItem().getItem()), - ISatChip.getFreqS(player.getHeldItem()), - player.posX, player.posY, player.posZ - ); - player.getHeldItem().stackSize -= 1; - sender.addChatMessage(new ChatComponentTranslation("commands.satellite.satellite_orbited").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GREEN))); - } else { - sender.addChatMessage(new ChatComponentTranslation("commands.satellite.not_a_satellite").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED))); - } - break; - case "descend": - int freq = parseInt(sender, args[1]); - SatelliteSavedData data = SatelliteSavedData.getData(sender.getEntityWorld()); - if(data.sats.containsKey(freq)) { - data.sats.remove(freq); - data.markDirty(); - sender.addChatMessage(new ChatComponentTranslation( "commands.satellite.satellite_descended").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GREEN))); - } else { - sender.addChatMessage(new ChatComponentTranslation( "commands.satellite.no_satellite").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED))); - } - break; - } - } + @Override + public void processCommand(ICommandSender sender, String[] args) { + if(!(sender instanceof EntityPlayer)) { + sender.addChatMessage(new ChatComponentTranslation("commands.satellite.should_be_run_as_player").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED))); + return; + } + switch(args[0]) { + case "orbit": + EntityPlayer player = getCommandSenderAsPlayer(sender); + if(player.getHeldItem().getItem() instanceof ISatChip && player.getHeldItem().getItem() != ModItems.sat_chip) { + Satellite.orbit(player.worldObj, Satellite.getIDFromItem(player.getHeldItem().getItem()), ISatChip.getFreqS(player.getHeldItem()), player.posX, player.posY, player.posZ); + player.getHeldItem().stackSize -= 1; + sender.addChatMessage(new ChatComponentTranslation("commands.satellite.satellite_orbited").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GREEN))); + } else { + sender.addChatMessage(new ChatComponentTranslation("commands.satellite.not_a_satellite").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED))); + } + break; + case "descend": + int freq = parseInt(sender, args[1]); + SatelliteSavedData data = SatelliteSavedData.getData(sender.getEntityWorld()); + if(data.sats.containsKey(freq)) { + data.sats.remove(freq); + data.markDirty(); + sender.addChatMessage(new ChatComponentTranslation("commands.satellite.satellite_descended").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GREEN))); + } else { + sender.addChatMessage(new ChatComponentTranslation("commands.satellite.no_satellite").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED))); + } + break; + case "list": + data = SatelliteSavedData.getData(sender.getEntityWorld()); + if(data.sats.isEmpty()) { + ChatComponentTranslation message = new ChatComponentTranslation("commands.satellite.no_active_satellites"); + message.getChatStyle().setColor(EnumChatFormatting.RED); + sender.addChatMessage(message); + } else { + data.sats.forEach((listFreq, sat) -> { + String messageText = String.valueOf(listFreq) + " - " + sat.getClass().getSimpleName(); + ChatComponentText message = new ChatComponentText(messageText); + message.getChatStyle().setColor(EnumChatFormatting.GREEN); + sender.addChatMessage(message); + }); + } + break; - @SuppressWarnings("rawtypes") - @Override - public List addTabCompletionOptions(ICommandSender sender, String[] args) { - if(!(sender instanceof EntityPlayer)) { - return Collections.emptyList(); - } - if(args.length < 1) { - return Collections.emptyList(); - } - if(args.length == 1) { - return getListOfStringsMatchingLastWord(args, "orbit", "descend"); - } - if (args[0].equals("descend")) { - return getListOfStringsFromIterableMatchingLastWord(args, SatelliteSavedData.getData(sender.getEntityWorld()).sats.keySet().stream().map(String::valueOf).collect(Collectors.toList())); - } - return Collections.emptyList(); - } + } + } + + @SuppressWarnings("rawtypes") + @Override + public List addTabCompletionOptions(ICommandSender sender, String[] args) { + if(!(sender instanceof EntityPlayer)) { + return Collections.emptyList(); + } + if(args.length < 1) { + return Collections.emptyList(); + } + if(args.length == 1) { + return getListOfStringsMatchingLastWord(args, "orbit", "descend", "list"); + } + if(args[0].equals("descend")) { + return getListOfStringsFromIterableMatchingLastWord(args, SatelliteSavedData.getData(sender.getEntityWorld()).sats.keySet().stream().map(String::valueOf).collect(Collectors.toList())); + } + return Collections.emptyList(); + } } diff --git a/src/main/java/com/hbm/util/SuicideThreadDump.java b/src/main/java/com/hbm/commands/SuicideThreadDump.java similarity index 95% rename from src/main/java/com/hbm/util/SuicideThreadDump.java rename to src/main/java/com/hbm/commands/SuicideThreadDump.java index 39ad116a2..3abb6c77c 100644 --- a/src/main/java/com/hbm/util/SuicideThreadDump.java +++ b/src/main/java/com/hbm/commands/SuicideThreadDump.java @@ -1,4 +1,4 @@ -package com.hbm.util; +package com.hbm.commands; import java.lang.management.ManagementFactory; import java.lang.management.MonitorInfo; @@ -21,8 +21,7 @@ public class SuicideThreadDump extends CommandBase { public static void register() { if(FMLLaunchHandler.side() != Side.CLIENT) return; - ClientCommandHandler handler = ClientCommandHandler.instance; - handler.registerCommand(new SuicideThreadDump()); + ClientCommandHandler.instance.registerCommand(new SuicideThreadDump()); } @Override diff --git a/src/main/java/com/hbm/config/BombConfig.java b/src/main/java/com/hbm/config/BombConfig.java index 8c32d0a8d..9d069120c 100644 --- a/src/main/java/com/hbm/config/BombConfig.java +++ b/src/main/java/com/hbm/config/BombConfig.java @@ -25,10 +25,9 @@ public class BombConfig { public static int falloutRange = 100; public static int fDelay = 4; public static int limitExplosionLifespan = 0; - public static int rain = 0; - public static int cont = 0; public static boolean chunkloading = true; - + public static int explosionAlgorithm = 2; + public static void loadFromConfig(Configuration config) { final String CATEGORY_NUKES = CommonConfig.CATEGORY_NUKES; @@ -95,13 +94,7 @@ public class BombConfig { falloutDelayProp.comment = "How many ticks to wait for the next fallout chunk computation"; fDelay = falloutDelayProp.getInt(); - Property radRain = config.get(CATEGORY_NUKE, "6.05_falloutRainDuration", 0); - radRain.comment = "Duration of the thunderstorm after fallout in ticks (only large explosions)"; - rain = radRain.getInt(); - Property rainCont = config.get(CATEGORY_NUKE, "6.06_falloutRainRadiation", 0); - rainCont.comment = "Radiation in 100th RADs created by fallout rain"; - cont = rainCont.getInt(); - - chunkloading = CommonConfig.createConfigBool(config, CATEGORY_NUKE, "6.XX_enableChunkLoading", "Allows all types of procedural explosions to keep the central chunk loaded.", true); + chunkloading = CommonConfig.createConfigBool(config, CATEGORY_NUKE, "6.05_enableChunkLoading", "Allows all types of procedural explosions to keep the central chunk loaded and to generate new chunks.", true); + explosionAlgorithm = CommonConfig.createConfigInt(config, CATEGORY_NUKE, "6.06_explosionAlgorithm", "Configures the algorithm of mk5 explosion. \n0 = Legacy, 1 = Threaded DDA, 2 = Threaded DDA with damage accumulation.", 2); } } diff --git a/src/main/java/com/hbm/config/ClientConfig.java b/src/main/java/com/hbm/config/ClientConfig.java new file mode 100644 index 000000000..1ddd4cf21 --- /dev/null +++ b/src/main/java/com/hbm/config/ClientConfig.java @@ -0,0 +1,85 @@ +package com.hbm.config; + +import com.google.gson.Gson; +import com.hbm.util.Compat; + +import java.io.File; +import java.util.HashMap; + +// https://youtube.com/shorts/XTHZWqZt_AI +public class ClientConfig extends RunningConfig { + + public static final Gson gson = new Gson(); + public static HashMap configMap = new HashMap(); + + //separate fields because they are a tad faster than using a hashmap and also because using them is less verbose + public static ConfigWrapper GEIGER_OFFSET_HORIZONTAL = new ConfigWrapper(0); + public static ConfigWrapper GEIGER_OFFSET_VERTICAL = new ConfigWrapper(0); + public static ConfigWrapper INFO_OFFSET_HORIZONTAL = new ConfigWrapper(0); + public static ConfigWrapper INFO_OFFSET_VERTICAL = new ConfigWrapper(0); + public static ConfigWrapper INFO_POSITION = new ConfigWrapper(0); + public static ConfigWrapper GUN_ANIMS_LEGACY = new ConfigWrapper(false); + public static ConfigWrapper GUN_MODEL_FOV = new ConfigWrapper(false); + public static ConfigWrapper GUN_VISUAL_RECOIL = new ConfigWrapper(true); + public static ConfigWrapper GUN_ANIMATION_SPEED = new ConfigWrapper(1D); + public static ConfigWrapper ITEM_TOOLTIP_SHOW_OREDICT = new ConfigWrapper(true); + public static ConfigWrapper ITEM_TOOLTIP_SHOW_CUSTOM_NUKE = new ConfigWrapper(true); + public static ConfigWrapper MAIN_MENU_WACKY_SPLASHES = new ConfigWrapper(true); + public static ConfigWrapper DODD_RBMK_DIAGNOSTIC = new ConfigWrapper(true); + public static ConfigWrapper RENDER_CABLE_HANG = new ConfigWrapper(true); + public static ConfigWrapper NUKE_HUD_FLASH = new ConfigWrapper(true); + public static ConfigWrapper NUKE_HUD_SHAKE = new ConfigWrapper(true); + public static ConfigWrapper RENDER_REEDS = new ConfigWrapper(!Compat.isModLoaded(Compat.MOD_ANG)); + public static ConfigWrapper NEI_HIDE_SECRETS = new ConfigWrapper(true); + public static ConfigWrapper COOLING_TOWER_PARTICLES = new ConfigWrapper(true); + + private static void initDefaults() { + configMap.put("GEIGER_OFFSET_HORIZONTAL", GEIGER_OFFSET_HORIZONTAL); + configMap.put("GEIGER_OFFSET_VERTICAL", GEIGER_OFFSET_VERTICAL); + configMap.put("INFO_OFFSET_HORIZONTAL", INFO_OFFSET_HORIZONTAL); + configMap.put("INFO_OFFSET_VERTICAL", INFO_OFFSET_VERTICAL); + configMap.put("INFO_POSITION", INFO_POSITION); + configMap.put("GUN_ANIMS_LEGACY", GUN_ANIMS_LEGACY); + configMap.put("GUN_MODEL_FOV", GUN_MODEL_FOV); + configMap.put("GUN_VISUAL_RECOIL", GUN_VISUAL_RECOIL); + configMap.put("GUN_ANIMATION_SPEED", GUN_ANIMATION_SPEED); + configMap.put("ITEM_TOOLTIP_SHOW_OREDICT", ITEM_TOOLTIP_SHOW_OREDICT); + configMap.put("ITEM_TOOLTIP_SHOW_CUSTOM_NUKE", ITEM_TOOLTIP_SHOW_CUSTOM_NUKE); + configMap.put("MAIN_MENU_WACKY_SPLASHES", MAIN_MENU_WACKY_SPLASHES); + configMap.put("DODD_RBMK_DIAGNOSTIC", DODD_RBMK_DIAGNOSTIC); + configMap.put("RENDER_CABLE_HANG", RENDER_CABLE_HANG); + configMap.put("NUKE_HUD_FLASH", NUKE_HUD_FLASH); + configMap.put("NUKE_HUD_SHAKE", NUKE_HUD_SHAKE); + configMap.put("RENDER_REEDS", RENDER_REEDS); + configMap.put("NEI_HIDE_SECRETS", NEI_HIDE_SECRETS); + configMap.put("COOLING_TOWER_PARTICLES", COOLING_TOWER_PARTICLES); + } + + /** Initializes defaults, then reads the config file if it exists, then writes the config file. */ + public static void initConfig() { + initDefaults(); + File config = getConfig("hbmClient.json"); + if(config.exists()) readConfig(config); + refresh(); + } + + /** Writes over the config file using the running config. */ + public static void refresh() { + File config = getConfig("hbmClient.json"); + writeConfig(config); + } + + /** Writes over the running config using the config file. */ + public static void reload() { + File config = getConfig("hbmClient.json"); + if(config.exists()) readConfig(config); + } + + private static void readConfig(File config) { + RunningConfig.readConfig(config, configMap); + } + + private static void writeConfig(File config) { + RunningConfig.writeConfig(config, configMap, "This file can be edited ingame using the /ntmclient command."); + } +} diff --git a/src/main/java/com/hbm/config/CommonConfig.java b/src/main/java/com/hbm/config/CommonConfig.java index 7fce253e8..d6ead8f95 100644 --- a/src/main/java/com/hbm/config/CommonConfig.java +++ b/src/main/java/com/hbm/config/CommonConfig.java @@ -81,8 +81,8 @@ public class CommonConfig { prop.comment = comment; return prop.getIntList(); } - public static String[] createConfigStringList(Configuration config, String category, String name, String comment) { - Property prop = config.get(category, name, new String[] { "PLACEHOLDER" }); + public static String[] createConfigStringList(Configuration config, String category, String name, String comment, String[] def) { + Property prop = config.get(category, name, def); prop.comment = comment; return prop.getStringList(); } diff --git a/src/main/java/com/hbm/config/FalloutConfigJSON.java b/src/main/java/com/hbm/config/FalloutConfigJSON.java index ac69f36bb..65636f402 100644 --- a/src/main/java/com/hbm/config/FalloutConfigJSON.java +++ b/src/main/java/com/hbm/config/FalloutConfigJSON.java @@ -62,6 +62,7 @@ public class FalloutConfigJSON { entries.add(new FalloutEntry() .mB(Blocks.brown_mushroom_block).mM(10) .prim(new Triplet(ModBlocks.waste_log, 0, 1)) .max(woodEffectRange)); entries.add(new FalloutEntry() .mB(Blocks.red_mushroom_block) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); entries.add(new FalloutEntry() .mB(Blocks.brown_mushroom_block) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(Blocks.snow_layer) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); entries.add(new FalloutEntry() .mB(Blocks.planks) .prim(new Triplet(ModBlocks.waste_planks, 0, 1)) .max(woodEffectRange)); /* if it can't be petrified, destroy it */ entries.add(new FalloutEntry() .mMa(Material.wood) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); @@ -72,6 +73,9 @@ public class FalloutConfigJSON { entries.add(new FalloutEntry() .mB(ModBlocks.waste_leaves) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); entries.add(new FalloutEntry() .mB(Blocks.leaves) .prim(new Triplet(ModBlocks.waste_leaves, 0, 1)) .min(woodEffectRange - 5D)); entries.add(new FalloutEntry() .mB(Blocks.leaves2) .prim(new Triplet(ModBlocks.waste_leaves, 0, 1)) .min(woodEffectRange - 5D)); + + entries.add(new FalloutEntry() .mB(ModBlocks.glyphid_base) .prim(new Triplet(ModBlocks.glyphid_base, 2, 1))); + entries.add(new FalloutEntry() .mB(ModBlocks.glyphid_spawner) .prim(new Triplet(ModBlocks.glyphid_spawner, 2, 1))); entries.add(new FalloutEntry().mB(Blocks.mossy_cobblestone).prim(new Triplet(Blocks.coal_ore, 0, 1))); entries.add(new FalloutEntry().mB(ModBlocks.ore_nether_uranium).prim(new Triplet(ModBlocks.ore_nether_schrabidium, 0, 1), new Triplet(ModBlocks.ore_nether_uranium_scorched, 0, 99))); diff --git a/src/main/java/com/hbm/config/GeneralConfig.java b/src/main/java/com/hbm/config/GeneralConfig.java index b46a16a23..b52f58073 100644 --- a/src/main/java/com/hbm/config/GeneralConfig.java +++ b/src/main/java/com/hbm/config/GeneralConfig.java @@ -1,11 +1,16 @@ package com.hbm.config; import net.minecraftforge.common.config.Configuration; - +import com.hbm.lib.RefStrings; public class GeneralConfig { public static boolean enableThermosPreventer = true; - + + public static boolean enablePacketThreading = true; + public static int packetThreadingCoreCount = 1; + public static int packetThreadingMaxCount = 1; + public static boolean packetThreadingErrorBypass = false; + public static boolean enableDebugMode = true; public static boolean enableMycelium = false; public static boolean enablePlutoniumOre = false; @@ -18,13 +23,11 @@ public class GeneralConfig { public static boolean enableVaults = true; public static boolean enableCataclysm = false; public static boolean enableExtendedLogging = false; - public static boolean enableHardcoreTaint = false; public static boolean enableGuns = true; public static boolean enableVirus = true; public static boolean enableCrosshairs = true; public static boolean enableReflectorCompat = false; public static boolean enableRenderDistCheck = true; - public static boolean enableReEval = true; public static boolean enableSilentCompStackErrors = true; public static boolean enableSkyboxes = true; public static boolean enableImpactWorldProvider = true; @@ -33,14 +36,14 @@ public class GeneralConfig { public static boolean enableFluidContainerCompat = true; public static boolean enableMOTD = true; public static boolean enableGuideBook = true; - public static boolean enableSteamParticles = true; public static boolean enableSoundExtension = true; public static boolean enableMekanismChanges = true; + public static boolean enableServerRecipeSync = false; + public static boolean enableLoadScreenReplacement = true; public static int normalSoundChannels = 200; - public static int hintPos = 0; public static boolean enableExpensiveMode = false; - + public static boolean enable528 = false; public static boolean enable528ReasimBoilers = true; public static boolean enable528ColtanDeposit = true; @@ -49,6 +52,7 @@ public class GeneralConfig { public static boolean enable528BedrockSpawn = false; public static boolean enable528BosniaSimulator = true; public static boolean enable528BedrockReplacement = true; + public static boolean enable528NetherBurn = true; public static int coltanRate = 2; public static int bedrockRate = 50; @@ -67,11 +71,21 @@ public class GeneralConfig { public static boolean enableLBSMSafeMEDrives = true; public static boolean enableLBSMIGen = true; public static int schrabRate = 20; - + public static String[] preferredOutputMod = new String[] {RefStrings.MODID}; + public static void loadFromConfig(Configuration config) { final String CATEGORY_GENERAL = CommonConfig.CATEGORY_GENERAL; enableThermosPreventer = config.get(CATEGORY_GENERAL, "0.00_crashOnThermos", true, "When set to true, will prevent the mod to launch on Thermos servers. Only disable this if you understand what \"tileentities.yml\" is, and how it severely cripples the mod.").getBoolean(true); + + enablePacketThreading = config.get(CATEGORY_GENERAL, "0.01_enablePacketThreading", true, "Enables creation of a separate thread to increase packet processing speed on servers. Disable this if you are having anomalous crashes related to memory connections.").getBoolean(true); + + packetThreadingCoreCount = config.get(CATEGORY_GENERAL, "0.02_packetThreadingCoreCount", 1, "Number of core threads to create for packets (recommended 1).").getInt(1); + packetThreadingMaxCount = config.get(CATEGORY_GENERAL, "0.03_packetThreadingMaxCount", 1, "Maximum number of threads to create for packet threading. Must be greater than or equal to 0.02_packetThreadingCoreCount.").getInt(1); + packetThreadingErrorBypass = config.get(CATEGORY_GENERAL, "0.04_packetThreadingErrorBypass", false, "Forces the bypassing of most packet threading errors, only enable this if directed to or if you know what you're doing.").getBoolean(false); + + enableServerRecipeSync = config.get(CATEGORY_GENERAL, "0.05_enableServerRecipeSync", false, "Syncs any recipes customised via JSON to clients connecting to the server.").getBoolean(false); + enableDebugMode = config.get(CATEGORY_GENERAL, "1.00_enableDebugMode", false, "Enable debugging mode").getBoolean(false); enableMycelium = config.get(CATEGORY_GENERAL, "1.01_enableMyceliumSpread", false, "Allows glowing mycelium to spread").getBoolean(false); enablePlutoniumOre = config.get(CATEGORY_GENERAL, "1.02_enablePlutoniumNetherOre", false, "Enables plutonium ore generation in the nether").getBoolean(false); @@ -87,15 +101,12 @@ public class GeneralConfig { enableVaults = config.get(CATEGORY_GENERAL, "1.15_enableVaultSpawn", true, "Allows locked safes to spawn").getBoolean(true); enableCataclysm = config.get(CATEGORY_GENERAL, "1.17_enableCataclysm", false, "Causes satellites to fall whenever a mob dies").getBoolean(false); enableExtendedLogging = config.get(CATEGORY_GENERAL, "1.18_enableExtendedLogging", false, "Logs uses of the detonator, nuclear explosions, missile launches, grenades, etc.").getBoolean(false); - enableHardcoreTaint = config.get(CATEGORY_GENERAL, "1.19_enableHardcoreTaint", false, "Allows tainted mobs to spread taint").getBoolean(false); enableGuns = config.get(CATEGORY_GENERAL, "1.20_enableGuns", true, "Prevents new system guns to be fired").getBoolean(true); enableVirus = config.get(CATEGORY_GENERAL, "1.21_enableVirus", false, "Allows virus blocks to spread").getBoolean(false); enableCrosshairs = config.get(CATEGORY_GENERAL, "1.22_enableCrosshairs", true, "Shows custom crosshairs when an NTM gun is being held").getBoolean(true); enableReflectorCompat = config.get(CATEGORY_GENERAL, "1.24_enableReflectorCompat", false, "Enable old reflector oredict name (\"plateDenseLead\") instead of new \"plateTungCar\"").getBoolean(false); enableRenderDistCheck = config.get(CATEGORY_GENERAL, "1.25_enableRenderDistCheck", true, "Check invalid render distances (over 16, without OptiFine) and fix it").getBoolean(true); - enableReEval = config.get(CATEGORY_GENERAL, "1.27_enableReEval", true, "Allows re-evaluating power networks on link remove instead of destroying and recreating").getBoolean(true); enableSilentCompStackErrors = config.get(CATEGORY_GENERAL, "1.28_enableSilentCompStackErrors", false, "Enabling this will disable log spam created by unregistered items in ComparableStack instances.").getBoolean(false); - hintPos = CommonConfig.createConfigInt(config, CATEGORY_GENERAL, "1.29_hudOverlayPosition", "0: Top left\n1: Top right\n2: Center right\n3: Center Left", 0); enableSkyboxes = config.get(CATEGORY_GENERAL, "1.31_enableSkyboxes", true, "If enabled, will try to use NTM's custom skyboxes.").getBoolean(true); enableImpactWorldProvider = config.get(CATEGORY_GENERAL, "1.32_enableImpactWorldProvider", true, "If enabled, registers custom world provider which modifies lighting and sky colors for post impact effects.").getBoolean(true); enableStatReRegistering = config.get(CATEGORY_GENERAL, "1.33_enableStatReRegistering", true, "If enabled, will re-register item crafting/breaking/usage stats in order to fix a forge bug where modded items just won't show up.").getBoolean(true); @@ -103,22 +114,23 @@ public class GeneralConfig { enableFluidContainerCompat = config.get(CATEGORY_GENERAL, "1.35_enableFluidContainerCompat", true, "If enabled, fluid containers will be oredicted and interchangable in recipes with other mods' containers, as well as TrainCraft's diesel being considered a valid diesel canister.").getBoolean(true); enableMOTD = config.get(CATEGORY_GENERAL, "1.36_enableMOTD", true, "If enabled, shows the 'Loaded mod!' chat message as well as update notifications when joining a world").getBoolean(true); enableGuideBook = config.get(CATEGORY_GENERAL, "1.37_enableGuideBook", true, "If enabled, gives players the guide book when joining the world for the first time").getBoolean(true); - enableSteamParticles = config.get(CATEGORY_GENERAL, "1.38_enableSteamParticles", true, "If disabled, auxiliary cooling towers and large cooling towers will not emit steam particles when in use.").getBoolean(true); enableSoundExtension = config.get(CATEGORY_GENERAL, "1.39_enableSoundExtension", true, "If enabled, will change the limit for how many sounds can play at once.").getBoolean(true); enableMekanismChanges = config.get(CATEGORY_GENERAL, "1.40_enableMekanismChanges", true, "If enabled, will change some of Mekanism's recipes.").getBoolean(true); normalSoundChannels = CommonConfig.createConfigInt(config, CATEGORY_GENERAL, "1.41_normalSoundChannels", "The amount of channels to create while 1.39_enableSoundExtension is enabled.\n" + "Note that a value below 28 or above 200 can cause buggy sounds and issues with other mods running out of sound memory.", 100); - + preferredOutputMod = CommonConfig.createConfigStringList(config,CATEGORY_GENERAL,"1.42_preferredOutputMod", + "The mod which is preferred as output when certain machines autogenerate recipes. Currently used for the shredder", new String[] {RefStrings.MODID}); + enableLoadScreenReplacement = config.get(CATEGORY_GENERAL, "1.43_enableLoadScreenReplacement", true, "Tries to replace the vanilla load screen with the 'tip of the day' one, may clash with other mods trying to do the same.").getBoolean(true); enableExpensiveMode = config.get(CATEGORY_GENERAL, "1.99_enableExpensiveMode", false, "It does what the name implies.").getBoolean(false); - + final String CATEGORY_528 = CommonConfig.CATEGORY_528; config.addCustomCategoryComment(CATEGORY_528, "CAUTION\n" + "528 Mode: Please proceed with caution!\n" + "528-Modus: Lassen Sie Vorsicht walten!\n" + "способ-528: действовать с осторожностью!"); - + enable528 = CommonConfig.createConfigBool(config, CATEGORY_528, "enable528Mode", "The central toggle for 528 mode.", false); enable528ReasimBoilers = CommonConfig.createConfigBool(config, CATEGORY_528, "X528_forceReasimBoilers", "Keeps the RBMK dial for ReaSim boilers on, preventing use of non-ReaSim boiler columns and forcing the use of steam in-/outlets", true); enable528ColtanDeposit = CommonConfig.createConfigBool(config, CATEGORY_528, "X528_enableColtanDepsoit", "Enables the coltan deposit. A large amount of coltan will spawn around a single random location in the world.", true); @@ -127,17 +139,18 @@ public class GeneralConfig { enable528BedrockSpawn = CommonConfig.createConfigBool(config, CATEGORY_528, "X528_enableBedrockSpawning", "Enables the bedrock coltan ores as a rare spawn. These will be rarely found anywhere in the world.", false); enable528BosniaSimulator = CommonConfig.createConfigBool(config, CATEGORY_528, "X528_enableBosniaSimulator", "Enables anti tank mines spawning all over the world.", true); enable528BedrockReplacement = CommonConfig.createConfigBool(config, CATEGORY_528, "X528_enable528BedrockReplacement", "Replaces certain bedrock ores with ones that require additional processing.", true); + enable528NetherBurn = CommonConfig.createConfigBool(config, CATEGORY_528, "X528_enable528NetherBurn", "Whether players burn in the nether", true); coltanRate = CommonConfig.createConfigInt(config, CATEGORY_528, "X528_oreColtanFrequency", "Determines how many coltan ore veins are to be expected in a chunk. These values do not affect the frequency in deposits, and only apply if random coltan spanwing is enabled.", 2); bedrockRate = CommonConfig.createConfigInt(config, CATEGORY_528, "X528_bedrockColtanFrequency", "Determines how often (1 in X) bedrock coltan ores spawn. Applies for both the bedrock ores in the coltan deposit (if applicable) and the random bedrock ores (if applicable)", 50); - - + + final String CATEGORY_LBSM = CommonConfig.CATEGORY_LBSM; config.addCustomCategoryComment(CATEGORY_LBSM, "Will most likely break standard progression!\n" + "However, the game gets generally easier and more enjoyable for casual players.\n" + "Progression-braking recipes are usually not too severe, so the mode is generally server-friendly!"); - + enableLBSM = CommonConfig.createConfigBool(config, CATEGORY_LBSM, "enableLessBullshitMode", "The central toggle for LBS mode. Forced OFF when 528 is enabled!", false); enableLBSMFullSchrab = CommonConfig.createConfigBool(config, CATEGORY_LBSM, "LBSM_fullSchrab", "When enabled, this will replace schraranium with full schrabidium ingots in the transmutator's output", true); enableLBSMShorterDecay = CommonConfig.createConfigBool(config, CATEGORY_LBSM, "LBSM_shortDecay", "When enabled, this will highly accelerate the speed at which nuclear waste disposal drums decay their contents. 60x faster than 528 mode and 5-12x faster than on normal mode.", true); @@ -153,7 +166,7 @@ public class GeneralConfig { enableLBSMSafeMEDrives = CommonConfig.createConfigBool(config, CATEGORY_LBSM, "LBSM_safeMEDrives", "When enabled, prevents ME Drives and Portable Cells from becoming radioactive", true); enableLBSMIGen = CommonConfig.createConfigBool(config, CATEGORY_LBSM, "LBSM_iGen", "When enabled, restores the industrial generator to pre-nerf power", true); schrabRate = CommonConfig.createConfigInt(config, CATEGORY_LBSM, "LBSM_schrabOreRate", "Changes the amount of uranium ore needed on average to create one schrabidium ore using nukes. Standard mode value is 100", 20); - + if(enable528) enableLBSM = false; } } diff --git a/src/main/java/com/hbm/config/MachineDynConfig.java b/src/main/java/com/hbm/config/MachineDynConfig.java index f88432905..beda03517 100644 --- a/src/main/java/com/hbm/config/MachineDynConfig.java +++ b/src/main/java/com/hbm/config/MachineDynConfig.java @@ -10,6 +10,7 @@ import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; +import com.hbm.interfaces.NotableComments; import com.hbm.main.MainRegistry; import com.hbm.tileentity.IConfigurableMachine; import com.hbm.tileentity.TileMappings; @@ -20,6 +21,7 @@ import com.hbm.tileentity.TileMappings; * tile entities from the registry automatically and generate config options. * @author hbm */ +@NotableComments public class MachineDynConfig { public static final Gson gson = new Gson(); diff --git a/src/main/java/com/hbm/config/MobConfig.java b/src/main/java/com/hbm/config/MobConfig.java index 171f56935..4828ae781 100644 --- a/src/main/java/com/hbm/config/MobConfig.java +++ b/src/main/java/com/hbm/config/MobConfig.java @@ -27,6 +27,7 @@ public class MobConfig { public static boolean enableDucks = true; public static boolean enableMobGear = true; + public static boolean enableMobWeapons = true; public static boolean enableHives = true; public static int hiveSpawn = 256; @@ -94,6 +95,7 @@ public class MobConfig { enableDucks = CommonConfig.createConfigBool(config, CATEGORY, "12.D00_enableDucks", "Whether pressing O should allow the player to duck", true); enableMobGear = CommonConfig.createConfigBool(config, CATEGORY, "12.D01_enableMobGear", "Whether zombies and skeletons should have additional gear when spawning", true); + enableMobWeapons = CommonConfig.createConfigBool(config, CATEGORY, "12.D02_enableMobWeapons", "Whether skeletons should have bows replaced with guns when spawning at higher soot levels", true); enableHives = CommonConfig.createConfigBool(config, CATEGORY, "12.G00_enableHives", "Whether glyphid hives should spawn", true); hiveSpawn = CommonConfig.createConfigInt(config, CATEGORY, "12.G01_hiveSpawn", "The average amount of chunks per hive", 256); diff --git a/src/main/java/com/hbm/config/RunningConfig.java b/src/main/java/com/hbm/config/RunningConfig.java new file mode 100644 index 000000000..453a123b2 --- /dev/null +++ b/src/main/java/com/hbm/config/RunningConfig.java @@ -0,0 +1,116 @@ +package com.hbm.config; + +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map.Entry; + +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; +import com.hbm.main.MainRegistry; + +public class RunningConfig { + + public static final Gson gson = new Gson(); + + public static File getConfig(String name) { + File folder = MainRegistry.configHbmDir; + return new File(folder.getAbsolutePath() + File.separatorChar + name); + } + + public static void readConfig(File config, HashMap configMap) { + + try { + JsonObject json = gson.fromJson(new FileReader(config), JsonObject.class); + + for(Entry line : configMap.entrySet()) { + + if(json.has(line.getKey())) { + JsonElement value = json.get(line.getKey()); + + try { + + //world's shittiest dynamic type parser + if(configMap.containsKey(line.getKey())) { + if(line.getValue().value instanceof String) configMap.get(line.getKey()).set(value.getAsString()); + if(line.getValue().value instanceof Float) configMap.get(line.getKey()).set(value.getAsFloat()); + if(line.getValue().value instanceof Double) configMap.get(line.getKey()).set(value.getAsDouble()); + if(line.getValue().value instanceof Integer) configMap.get(line.getKey()).set(value.getAsInt()); + if(line.getValue().value instanceof Boolean) configMap.get(line.getKey()).set(value.getAsBoolean()); + } + + //gson doesn't give me the option to read the raw value of a JsonPrimitive so we have to this shit effectively twice + //once to make sure that the parsed data matches with what's determined by the default, + //and a second time in the ConfigWrapper to add ease of reading the data without needing manual casts + + } catch(Exception ex) { + ex.printStackTrace(); + } + } + } + + } catch(Exception ex) { + ex.printStackTrace(); + } + } + + public static void writeConfig(File config, HashMap configMap, String info) { + + try { + JsonWriter writer = new JsonWriter(new FileWriter(config)); + writer.setIndent(" "); + writer.beginObject(); + + writer.name("info").value(info); + + List keys = new ArrayList(); + keys.addAll(configMap.keySet()); + Collections.sort(keys); //readability is cool + + for(String key : keys) { + + ConfigWrapper wrapper = configMap.get(key); + Object value = wrapper.value; + //this sucks and i am too stupid to come up with something better + if(value instanceof String) writer.name(key).value((String) value); + if(value instanceof Float) writer.name(key).value((Float) value); + if(value instanceof Double) writer.name(key).value((Double) value); + if(value instanceof Integer) writer.name(key).value((Integer) value); + if(value instanceof Boolean) writer.name(key).value((Boolean) value); + } + + writer.endObject(); + writer.close(); + } catch(IOException e) { + e.printStackTrace(); + } + } + + public static class ConfigWrapper { + public T value; + + public ConfigWrapper(T o) { + this.value = o; + } + + public T get() { return value; } + public void set(T value) { this.value = value; } + + public void update(String param) { + Object stupidBufferObject = null; // wahh wahh can't cast Float to T wahh wahh shut the fuck up + if(value instanceof String) stupidBufferObject = param; + if(value instanceof Float) stupidBufferObject = Float.parseFloat(param); + if(value instanceof Double) stupidBufferObject = Double.parseDouble(param); + if(value instanceof Integer) stupidBufferObject = Integer.parseInt(param); + if(value instanceof Boolean) stupidBufferObject = Boolean.parseBoolean(param); + if(stupidBufferObject != null) this.value = (T) stupidBufferObject; + } + } +} diff --git a/src/main/java/com/hbm/config/ServerConfig.java b/src/main/java/com/hbm/config/ServerConfig.java new file mode 100644 index 000000000..0ca1ccdcf --- /dev/null +++ b/src/main/java/com/hbm/config/ServerConfig.java @@ -0,0 +1,64 @@ +package com.hbm.config; + +import java.io.File; +import java.util.HashMap; + +import com.google.gson.Gson; + +public class ServerConfig extends RunningConfig { + + public static final Gson gson = new Gson(); + public static HashMap configMap = new HashMap(); + + public static ConfigWrapper DAMAGE_COMPATIBILITY_MODE = new ConfigWrapper(false); + public static ConfigWrapper MINE_AP_DAMAGE = new ConfigWrapper(10F); + public static ConfigWrapper MINE_HE_DAMAGE = new ConfigWrapper(35F); + public static ConfigWrapper MINE_SHRAP_DAMAGE = new ConfigWrapper(7.5F); + public static ConfigWrapper MINE_NUKE_DAMAGE = new ConfigWrapper(100F); + public static ConfigWrapper MINE_NAVAL_DAMAGE = new ConfigWrapper(60F); + public static ConfigWrapper TAINT_TRAILS = new ConfigWrapper(false); + public static ConfigWrapper CRATE_OPEN_HELD = new ConfigWrapper(true); + public static ConfigWrapper CRATE_KEEP_CONTENTS = new ConfigWrapper(true); + public static ConfigWrapper ITEM_HAZARD_DROP_TICKRATE = new ConfigWrapper(2); + + private static void initDefaults() { + configMap.put("DAMAGE_COMPATIBILITY_MODE", DAMAGE_COMPATIBILITY_MODE); + configMap.put("MINE_AP_DAMAGE", MINE_AP_DAMAGE); + configMap.put("MINE_HE_DAMAGE", MINE_HE_DAMAGE); + configMap.put("MINE_SHRAP_DAMAGE", MINE_SHRAP_DAMAGE); + configMap.put("MINE_NUKE_DAMAGE", MINE_NUKE_DAMAGE); + configMap.put("MINE_NAVAL_DAMAGE", MINE_NAVAL_DAMAGE); + configMap.put("TAINT_TRAILS", TAINT_TRAILS); + configMap.put("CRATE_OPEN_HELD", CRATE_OPEN_HELD); + configMap.put("CRATE_KEEP_CONTENTS", CRATE_KEEP_CONTENTS); + configMap.put("ITEM_HAZARD_DROP_TICKRATE", ITEM_HAZARD_DROP_TICKRATE); + } + + /** Initializes defaults, then reads the config file if it exists, then writes the config file. */ + public static void initConfig() { + initDefaults(); + File config = getConfig("hbmServer.json"); + if(config.exists()) readConfig(config); + refresh(); + } + + /** Writes over the config file using the running config. */ + public static void refresh() { + File config = getConfig("hbmServer.json"); + writeConfig(config); + } + + /** Writes over the running config using the config file. */ + public static void reload() { + File config = getConfig("hbmServer.json"); + if(config.exists()) readConfig(config); + } + + private static void readConfig(File config) { + RunningConfig.readConfig(config, configMap); + } + + private static void writeConfig(File config) { + RunningConfig.writeConfig(config, configMap, "This file can be edited ingame using the /ntmserver command."); + } +} diff --git a/src/main/java/com/hbm/config/StructureConfig.java b/src/main/java/com/hbm/config/StructureConfig.java index 944a7cbb0..2f6bb9bf9 100644 --- a/src/main/java/com/hbm/config/StructureConfig.java +++ b/src/main/java/com/hbm/config/StructureConfig.java @@ -7,36 +7,40 @@ import com.hbm.main.MainRegistry; import net.minecraftforge.common.config.Configuration; public class StructureConfig { - + public static int enableStructures = 2; - + public static int structureMinChunks = 8; public static int structureMaxChunks = 24; - + public static double lootAmountFactor = 1D; - + + public static boolean debugStructures = false; + public static void loadFromConfig(Configuration config) { - + final String CATEGORY_STRUCTURES = CommonConfig.CATEGORY_STRUCTURES; String unparsedStructureFlag = CommonConfig.createConfigString(config, CATEGORY_STRUCTURES, "5.00_enableStructures", "Flag for whether modern NTM structures will spawn. Valid values are true|false|flag - flag will respect the \"Generate Structures\" world flag.", "flag"); enableStructures = CommonConfig.parseStructureFlag(unparsedStructureFlag); - + structureMinChunks = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.01_structureMinChunks", "Minimum non-zero distance between structures in chunks (Settings lower than 8 may be problematic).", 8); structureMaxChunks = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.02_structureMaxChunks", "Maximum non-zero distance between structures in chunks.", 24); - + lootAmountFactor = CommonConfig.createConfigDouble(config, CATEGORY_STRUCTURES, "5.03_lootAmountFactor", "General factor for loot spawns. Applies to spawned IInventories, not loot blocks.", 1D); - + + debugStructures = CommonConfig.createConfigBool(config, CATEGORY_STRUCTURES, "5.04_debugStructures", "If enabled, special structure blocks like jigsaw blocks will not be transformed after generating", false); + structureMinChunks = CommonConfig.setDef(structureMinChunks, 8); structureMaxChunks = CommonConfig.setDef(structureMaxChunks, 24); - + if(structureMinChunks > structureMaxChunks) { MainRegistry.logger.error("Fatal error config: Minimum value has been set higher than the maximum value!"); MainRegistry.logger.error(String.format(Locale.US, "Errored values will default back to %1$d and %2$d respectively, PLEASE REVIEW CONFIGURATION DESCRIPTION BEFORE MEDDLING WITH VALUES!", 8, 24)); structureMinChunks = 8; structureMaxChunks = 24; } - + } } diff --git a/src/main/java/com/hbm/config/WeaponConfig.java b/src/main/java/com/hbm/config/WeaponConfig.java index 290641f86..fd370a20c 100644 --- a/src/main/java/com/hbm/config/WeaponConfig.java +++ b/src/main/java/com/hbm/config/WeaponConfig.java @@ -5,9 +5,6 @@ import net.minecraftforge.common.config.Property; public class WeaponConfig { - public static int radarRange = 1000; - public static int radarBuffer = 30; - public static int radarAltitude = 55; public static int ciwsHitrate = 50; public static boolean dropCell = true; @@ -21,18 +18,9 @@ public class WeaponConfig { public static void loadFromConfig(Configuration config) { final String CATEGORY_MISSILE = CommonConfig.CATEGORY_MISSILE; - Property propRadarRange = config.get(CATEGORY_MISSILE, "7.00_radarRange", 1000); - propRadarRange.comment = "Range of the radar, 50 will result in 100x100 block area covered"; - radarRange = propRadarRange.getInt(); - Property propRadarBuffer = config.get(CATEGORY_MISSILE, "7.01_radarBuffer", 30); - propRadarBuffer.comment = "How high entities have to be above the radar to be detected"; - radarBuffer = propRadarBuffer.getInt(); - Property propRadarAltitude = config.get(CATEGORY_MISSILE, "7.02_radarAltitude", 55); - propRadarAltitude.comment = "Y height required for the radar to work"; - radarAltitude = propRadarAltitude.getInt(); Property propCiwsHitrate = config.get(CATEGORY_MISSILE, "7.03_ciwsAccuracy", 50); propCiwsHitrate.comment = "Additional modifier for CIWS accuracy"; - ciwsHitrate = propRadarAltitude.getInt(); + ciwsHitrate = propCiwsHitrate.getInt(); final String CATEGORY_DROPS = CommonConfig.CATEGORY_DROPS; dropCell = CommonConfig.createConfigBool(config, CATEGORY_DROPS, "10.00_dropCell", "Whether antimatter cells should explode when dropped", true); diff --git a/src/main/java/com/hbm/config/WorldConfig.java b/src/main/java/com/hbm/config/WorldConfig.java index c69d5b6f4..0eb14c026 100644 --- a/src/main/java/com/hbm/config/WorldConfig.java +++ b/src/main/java/com/hbm/config/WorldConfig.java @@ -7,7 +7,7 @@ public class WorldConfig { public static boolean overworldOre = true; public static boolean netherOre = true; public static boolean endOre = true; - + public static int uraniumSpawn = 6; public static int thoriumSpawn = 7; public static int titaniumSpawn = 8; @@ -24,7 +24,6 @@ public class WorldConfig { public static int rareSpawn = 6; public static int lithiumSpawn = 6; public static int cinnebarSpawn = 1; - public static int oilcoalSpawn = 128; public static int gassshaleSpawn = 5; public static int gasbubbleSpawn = 12; public static int explosivebubbleSpawn = 0; @@ -63,7 +62,6 @@ public class WorldConfig { public static int copperClusterSpawn = 4; public static int alexandriteSpawn = 100; - public static int malachiteSpawn = 1; public static int limestoneSpawn = 1; public static int netherUraniumuSpawn = 8; @@ -76,13 +74,16 @@ public class WorldConfig { public static int endTikiteSpawn = 8; - public static boolean enableRandom = false; - public static int randomSpawn = 0; + public static boolean enableHematite = true; + public static boolean enableMalachite = true; + public static boolean enableBauxite = true; + + public static boolean enableSulfurCave = true; + public static boolean enableAsbestosCave = true; public static int radioStructure = 500; public static int antennaStructure = 250; public static int atomStructure = 500; - public static int vertibirdStructure = 500; public static int dungeonStructure = 64; public static int relayStructure = 500; public static int satelliteStructure = 500; @@ -93,7 +94,6 @@ public class WorldConfig { public static int geyserWater = 3000; public static int geyserChlorine = 3000; public static int geyserVapor = 500; - public static int meteorStructure = 15000; public static int capsuleStructure = 100; public static int arcticStructure = 500; public static int jungleStructure = 2000; @@ -120,15 +120,15 @@ public class WorldConfig { public static float craterBiomeInnerRad = 25F; public static float craterBiomeOuterRad = 0.5F; public static float craterBiomeWaterMult = 5F; - + public static void loadFromConfig(Configuration config) { final String CATEGORY_OREGEN = CommonConfig.CATEGORY_ORES; - + overworldOre = CommonConfig.createConfigBool(config, CATEGORY_OREGEN, "2.D00_overworldOres", "General switch for whether overworld ores should be generated. Does not include special structures like oil.", true); netherOre = CommonConfig.createConfigBool(config, CATEGORY_OREGEN, "2.D01_netherOres", "General switch for whether nether ores should be generated.", true); endOre = CommonConfig.createConfigBool(config, CATEGORY_OREGEN, "2.D02_endOres", "General switch for whether end ores should be generated. Does not include special structures like trixite crystals.", true); - + uraniumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.00_uraniumSpawnrate", "Amount of uranium ore veins per chunk", 7); titaniumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.01_titaniumSpawnrate", "Amount of titanium ore veins per chunk", 8); sulfurSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.02_sulfurSpawnrate", "Amount of sulfur ore veins per chunk", 5); @@ -144,7 +144,6 @@ public class WorldConfig { asbestosSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.12_asbestosSpawnRate", "Amount of asbestos ore veins per chunk", 2); lithiumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.13_lithiumSpawnRate", "Amount of schist lithium ore veins per chunk", 6); rareSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.14_rareEarthSpawnRate", "Amount of rare earth ore veins per chunk", 6); - oilcoalSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.15_oilCoalSpawnRate", "Spawns an oily coal vein every nTH chunk", 128); gassshaleSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.16_gasShaleSpawnRate", "Amount of oil shale veins per chunk", 5); gasbubbleSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.17_gasBubbleSpawnRate", "Spawns a gas bubble every nTH chunk", 12); cinnebarSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.18_cinnebarSpawnRate", "Amount of cinnebar ore veins per chunk", 1); @@ -185,7 +184,6 @@ public class WorldConfig { aluminiumClusterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.C02_aluminiumClusterSpawn", "Amount of aluminium cluster veins per chunk", 3); copperClusterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.C03_copperClusterSpawn", "Amount of copper cluster veins per chunk", 4); - malachiteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.L01_malachiteSpawn", "Amount of malachite block veins per chunk", 1); limestoneSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.L02_limestoneSpawn", "Amount of limestone block veins per chunk", 1); netherUraniumuSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.N00_uraniumSpawnrate", "Amount of nether uranium per chunk", 8); @@ -198,14 +196,17 @@ public class WorldConfig { endTikiteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.E00_tikiteSpawnrate", "Amount of end trixite per chunk", 8); - enableRandom = CommonConfig.createConfigBool(config, CATEGORY_OREGEN, "2.R00_enableRandomOre", "Amount of random ore per chunk", false); - randomSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.R01_randomOreSpawnrate", "Amount of random ore per chunk", 0); + enableHematite = CommonConfig.createConfigBool(config, CATEGORY_OREGEN, "2.L00_enableHematite", "Toggles hematite deposits", true); + enableMalachite = CommonConfig.createConfigBool(config, CATEGORY_OREGEN, "2.L01_enableMalachite", "Toggles malachite deposits", true); + enableBauxite = CommonConfig.createConfigBool(config, CATEGORY_OREGEN, "2.L02_enableBauxite", "Toggles bauxite deposits", true); + + enableSulfurCave = CommonConfig.createConfigBool(config, CATEGORY_OREGEN, "2.C00_enableSulfurCave", "Toggles sulfur caves", true); + enableAsbestosCave = CommonConfig.createConfigBool(config, CATEGORY_OREGEN, "2.C01_enableAsbestosCave", "Toggles asbestos caves", true); final String CATEGORY_DUNGEON = CommonConfig.CATEGORY_DUNGEONS; radioStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.00_radioSpawn", "Spawn radio station on every nTH chunk", 500); antennaStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.01_antennaSpawn", "Spawn antenna on every nTH chunk", 250); atomStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.02_atomSpawn", "Spawn power plant on every nTH chunk", 500); - vertibirdStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.03_vertibirdSpawn", "Spawn vertibird on every nTH chunk", 500); dungeonStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.04_dungeonSpawn", "Spawn library dungeon on every nTH chunk", 64); relayStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.05_relaySpawn", "Spawn relay on every nTH chunk", 500); satelliteStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.06_satelliteSpawn", "Spawn satellite dish on every nTH chunk", 500); @@ -220,7 +221,6 @@ public class WorldConfig { geyserWater = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.17_geyserWaterSpawn", "Spawn water geyser on every nTH chunk", 3000); geyserChlorine = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.18_geyserChlorineSpawn", "Spawn poison geyser on every nTH chunk", 3000); geyserVapor = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.19_geyserVaporSpawn", "Spawn vapor geyser on every nTH chunk", 500); - meteorStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.20_meteorSpawn", "Spawn meteor dungeon on every nTH chunk", 15000); capsuleStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.21_capsuleSpawn", "Spawn landing capsule on every nTH chunk", 100); arcticStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.22_arcticVaultSpawn", "Spawn arctic code vault on every nTH chunk", 500); jungleStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.23_jungleDungeonSpawn", "Spawn jungle dungeon on every nTH chunk", 2000); @@ -248,7 +248,6 @@ public class WorldConfig { radioStructure = CommonConfig.setDefZero(radioStructure, 1000); antennaStructure = CommonConfig.setDefZero(antennaStructure, 1000); atomStructure = CommonConfig.setDefZero(atomStructure, 1000); - vertibirdStructure = CommonConfig.setDefZero(vertibirdStructure, 1000); dungeonStructure = CommonConfig.setDefZero(dungeonStructure, 1000); relayStructure = CommonConfig.setDefZero(relayStructure, 1000); satelliteStructure = CommonConfig.setDefZero(satelliteStructure, 1000); @@ -263,11 +262,10 @@ public class WorldConfig { minefreq = CommonConfig.setDefZero(minefreq, 1000); radfreq = CommonConfig.setDefZero(radfreq, 1000); vaultfreq = CommonConfig.setDefZero(vaultfreq, 1000); - meteorStructure = CommonConfig.setDefZero(meteorStructure, 15000); jungleStructure = CommonConfig.setDefZero(jungleStructure, 1000); capsuleStructure = CommonConfig.setDefZero(capsuleStructure, 100); arcticStructure = CommonConfig.setDefZero(arcticStructure, 500); - + meteorStrikeChance = CommonConfig.setDef(meteorStrikeChance, 1000); meteorShowerChance = CommonConfig.setDef(meteorShowerChance, 1000); } diff --git a/src/main/java/com/hbm/crafting/ArmorRecipes.java b/src/main/java/com/hbm/crafting/ArmorRecipes.java index d8c87323d..1f12beaf9 100644 --- a/src/main/java/com/hbm/crafting/ArmorRecipes.java +++ b/src/main/java/com/hbm/crafting/ArmorRecipes.java @@ -89,7 +89,7 @@ public class ArmorRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.fau_plate, 1), new Object[] { "MCM", "PBP", "PSP", 'M', ModItems.motor_desh, 'C', ModItems.demon_core_closed, 'P', ModItems.plate_armor_fau, 'B', ModItems.starmetal_plate, 'S', ModBlocks.ancient_scrap }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.fau_legs, 1), new Object[] { "MPM", "PBP", "PDP", 'M', ModItems.motor_desh, 'P', ModItems.plate_armor_fau, 'B', ModItems.starmetal_legs, 'D', ModItems.billet_polonium }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.fau_boots, 1), new Object[] { "PDP", "PBP", 'P', ModItems.plate_armor_fau, 'D', ModItems.billet_polonium, 'B', ModItems.starmetal_boots }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.dns_helmet, 1), new Object[] { "PCP", "PBP", "PSP", 'P', ModItems.plate_armor_dnt, 'S', ModItems.ingot_chainsteel, 'B', ModItems.bj_helmet, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BISMOID) }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.dns_helmet, 1), new Object[] { "PCP", "PBP", "PSP", 'P', ModItems.plate_armor_dnt, 'S', ModItems.ingot_chainsteel, 'B', ModItems.bj_helmet, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.QUANTUM) }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.dns_plate, 1), new Object[] { "PCP", "PBP", "PSP", 'P', ModItems.plate_armor_dnt, 'S', ModItems.ingot_chainsteel, 'B', ModItems.bj_plate_jetpack, 'C', ModItems.singularity_spark }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.dns_legs, 1), new Object[] { "PCP", "PBP", "PSP", 'P', ModItems.plate_armor_dnt, 'S', ModItems.ingot_chainsteel, 'B', ModItems.bj_legs, 'C', ModItems.coin_worm }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.dns_boots, 1), new Object[] { "PCP", "PBP", "PSP", 'P', ModItems.plate_armor_dnt, 'S', ModItems.ingot_chainsteel, 'B', ModItems.bj_boots, 'C', ModItems.demon_core_closed }); diff --git a/src/main/java/com/hbm/crafting/ConsumableRecipes.java b/src/main/java/com/hbm/crafting/ConsumableRecipes.java index 6f0d2e9d8..8d867f56e 100644 --- a/src/main/java/com/hbm/crafting/ConsumableRecipes.java +++ b/src/main/java/com/hbm/crafting/ConsumableRecipes.java @@ -4,8 +4,8 @@ import com.hbm.blocks.ModBlocks; import com.hbm.config.GeneralConfig; import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.inventory.fluid.Fluids; -import com.hbm.items.ItemAmmoEnums.AmmoFatman; import com.hbm.items.machine.ItemCircuit.EnumCircuitType; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.items.ItemEnums; import com.hbm.items.ModItems; import com.hbm.main.CraftingManager; @@ -27,11 +27,11 @@ public class ConsumableRecipes { public static void register() { //Airstikes - CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 0), new Object[] { "TTT", "TRT", "TTT", 'T', Blocks.tnt, 'R', ModItems.detonator_laser }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 1), new Object[] { "TTT", "TRT", "TTT", 'T', ModItems.grenade_gascan, 'R', ModItems.detonator_laser }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 2), new Object[] { "TTT", "TRT", "TTT", 'T', ModItems.pellet_gas, 'R', ModItems.detonator_laser }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 3), new Object[] { "TRT", 'T', ModItems.grenade_cloud, 'R', ModItems.detonator_laser }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 4), new Object[] { "TR", 'T', ModItems.ammo_nuke.stackFromEnum(AmmoFatman.HIGH), 'R', ModItems.detonator_laser }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 0), new Object[] { "TTT", "TRT", "TTT", 'T', Blocks.tnt, 'R', ModItems.rangefinder }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 1), new Object[] { "TTT", "TRT", "TTT", 'T', ModItems.grenade_gascan, 'R', ModItems.rangefinder }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 2), new Object[] { "TTT", "TRT", "TTT", 'T', ModItems.pellet_gas, 'R', ModItems.rangefinder }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 3), new Object[] { "TRT", 'T', ModItems.grenade_cloud, 'R', ModItems.rangefinder }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_caller, 1, 4), new Object[] { "TRC", 'T', DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_HIGH), 'R', ModItems.rangefinder, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CONTROLLER) }); //Food CraftingManager.addRecipeAuto(new ItemStack(ModItems.bomb_waffle, 1), new Object[] { "WEW", "MPM", "WEW", 'W', Items.wheat, 'E', Items.egg, 'M', Items.milk_bucket, 'P', ModItems.man_core }); @@ -78,7 +78,6 @@ public class ConsumableRecipes { //Canteens CraftingManager.addRecipeAuto(new ItemStack(ModItems.canteen_vodka, 1), new Object[] { "O", "P", 'O', Items.potato, 'P', STEEL.plate() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.canteen_fab, 1), new Object[] { "VMV", "MVM", "VMV", 'V', ModItems.canteen_vodka, 'M', ModItems.powder_magic }); //Soda CraftingManager.addRecipeAuto(new ItemStack(ModItems.bottle_empty, 6), new Object[] { " G ", "G G", "GGG", 'G', KEY_ANYPANE }); @@ -119,7 +118,7 @@ public class ConsumableRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.plan_c, 1), new Object[] { "PFP", 'P', ModItems.powder_poison, 'F', F.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.radx, 1), new Object[] { COAL.dust(), COAL.dust(), F.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.fmn, 1), new Object[] { COAL.dust(), PO210.dust(), ST.dust() }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.five_htp, 1), new Object[] { COAL.dust(), EUPH.dust(), ModItems.canteen_fab }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.five_htp, 1), new Object[] { COAL.dust(), EUPH.dust(), ModItems.canteen_vodka }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.cigarette, 16), new Object[] { ASBESTOS.ingot(), ANY_TAR.any(), PO210.nugget(), DictFrame.fromOne(ModItems.plant_item, ItemEnums.EnumPlantType.TOBACCO) }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.crackpipe, 1), new Object[] { ModItems.catalytic_converter }); @@ -165,8 +164,8 @@ public class ConsumableRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.insert_era, 1), new Object[] { "DPD", "PSP", "DPD", 'D', ModItems.ducttape, 'P', IRON.plate(), 'S', ModItems.ingot_semtex }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.insert_kevlar, 1), new Object[] { "KIK", "IDI", "KIK", 'K', ModItems.plate_kevlar, 'I', ANY_RUBBER.ingot(), 'D', ModItems.ducttape }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.insert_sapi, 1), new Object[] { "PKP", "DPD", "PKP", 'P', ANY_PLASTIC.ingot(), 'K', ModItems.insert_kevlar, 'D', ModItems.ducttape }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.insert_esapi, 1), new Object[] { "PKP", "DSD", "PKP", 'P', ANY_PLASTIC.ingot(), 'K', ModItems.insert_sapi, 'D', ModItems.ducttape, 'S', BIGMT.plate() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.insert_xsapi, 1), new Object[] { "PKP", "DSD", "PKP", 'P', ASBESTOS.ingot(), 'K', ModItems.insert_esapi, 'D', ModItems.ducttape, 'S', ModItems.ingot_meteorite_forged }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.insert_esapi, 1), new Object[] { "PKP", "DSD", "PKP", 'P', ANY_PLASTIC.ingot(), 'K', ModItems.insert_sapi, 'D', ModItems.ducttape, 'S', WEAPONSTEEL.plate() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.insert_xsapi, 1), new Object[] { "PKP", "DSD", "PKP", 'P', ASBESTOS.ingot(), 'K', ModItems.insert_esapi, 'D', ModItems.ducttape, 'S', BIGMT.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.insert_yharonite, 1), new Object[] { "YIY", "IYI", "YIY", 'Y', ModItems.billet_yharonite, 'I', ModItems.insert_du }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.australium_iii, 1), new Object[] { "WSW", "PAP", "SPS", 'S', STEEL.plateWelded(), 'P', ANY_PLASTIC.ingot(), 'A', AUSTRALIUM.ingot(), 'W', GOLD.wireDense() }); @@ -183,12 +182,17 @@ public class ConsumableRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.pads_slime, 1), new Object[] { "SPS", "DSD", "SPS", 'S', KEY_SLIME, 'P', ModItems.pads_rubber, 'D', ModItems.ducttape }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.pads_static, 1), new Object[] { "CDC", "ISI", "CDC", 'C', CU.ingot(), 'D', ModItems.ducttape, 'I', ANY_RUBBER.ingot(), 'S', ModItems.pads_slime }); + //Batteries + CraftingManager.addRecipeAuto(new ItemStack(ModItems.armor_battery, 1), new Object[] { "PCP", "PCP", "PCP", 'P', STEEL.plate(), 'C', ModBlocks.capacitor_gold }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.armor_battery_mk2, 1), new Object[] { "PCP", "PCP", "PCP", 'P', ANY_PLASTIC.ingot(), 'C', ModBlocks.capacitor_niobium }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.armor_battery_mk3, 1), new Object[] { "PCP", "PCP", "PCP", 'P', GOLD.plate(), 'C', ModBlocks.capacitor_tantalium }); + //Special Mods CraftingManager.addRecipeAuto(new ItemStack(ModItems.horseshoe_magnet, 1), new Object[] { "L L", "I I", "ILI", 'L', ModItems.lodestone, 'I', IRON.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.industrial_magnet, 1), new Object[] { "SMS", " B ", "SMS", 'S', STEEL.ingot(), 'M', ModItems.horseshoe_magnet, 'B', ModBlocks.fusion_conductor }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.heart_container, 1), new Object[] { "HAH", "ACA", "HAH", 'H', ModItems.heart_piece, 'A', AL.ingot(), 'C', ModItems.coin_creeper }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.heart_booster, 1), new Object[] { "GHG", "MCM", "GHG", 'G', GOLD.ingot(), 'H', ModItems.heart_container, 'M', ModItems.morning_glory, 'C', ModItems.coin_maskman }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.heart_fab, 1), new Object[] { "GHG", "MCM", "GHG", 'G', PO210.billet(), 'H', ModItems.heart_booster, 'M', ModItems.canteen_fab, 'C', ModItems.coin_worm }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.heart_fab, 1), new Object[] { "GHG", "MCM", "GHG", 'G', PO210.billet(), 'H', ModItems.heart_booster, 'M', ANY_COKE.gem(), 'C', ModItems.coin_worm }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ink, 1), new Object[] { "FPF", "PIP", "FPF", 'F', new ItemStack(Blocks.red_flower, 1, OreDictionary.WILDCARD_VALUE), 'P', ModItems.armor_polish, 'I', KEY_BLACK }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.bathwater_mk2, 1), new Object[] { "MWM", "WBW", "MWM", 'M', ModItems.bottle_mercury, 'W', ModItems.nuclear_waste, 'B', ModItems.bathwater }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.back_tesla, 1), new Object[] { "DGD", "GTG", "DGD", 'D', ModItems.ducttape, 'G', GOLD.wireFine(), 'T', ModBlocks.tesla }); diff --git a/src/main/java/com/hbm/crafting/MineralRecipes.java b/src/main/java/com/hbm/crafting/MineralRecipes.java index db125cf8c..103292041 100644 --- a/src/main/java/com/hbm/crafting/MineralRecipes.java +++ b/src/main/java/com/hbm/crafting/MineralRecipes.java @@ -2,7 +2,9 @@ package com.hbm.crafting; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.BlockEnums.EnumStoneType; +import com.hbm.inventory.material.MaterialShapes; import com.hbm.items.ItemEnums.EnumCokeType; +import com.hbm.items.ItemGenericPart.EnumPartType; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemRTGPelletDepleted.DepletedRTGMaterial; import com.hbm.items.special.ItemWasteLong; @@ -106,31 +108,31 @@ public class MineralRecipes { addBillet(ModItems.billet_cobalt, ModItems.ingot_cobalt, ModItems.nugget_cobalt); addBillet(ModItems.billet_co60, ModItems.ingot_co60, ModItems.nugget_co60); - addBillet(ModItems.billet_sr90, ModItems.ingot_sr90, ModItems.nugget_sr90, SR90.allNuggets()); - addBillet(ModItems.billet_uranium, ModItems.ingot_uranium, ModItems.nugget_uranium, U.allNuggets()); - addBillet(ModItems.billet_u233, ModItems.ingot_u233, ModItems.nugget_u233, U233.allNuggets()); - addBillet(ModItems.billet_u235, ModItems.ingot_u235, ModItems.nugget_u235, U235.allNuggets()); - addBillet(ModItems.billet_u238, ModItems.ingot_u238, ModItems.nugget_u238, U238.allNuggets()); - addBillet(ModItems.billet_th232, ModItems.ingot_th232, ModItems.nugget_th232, TH232.allNuggets()); - addBillet(ModItems.billet_plutonium, ModItems.ingot_plutonium, ModItems.nugget_plutonium, PU.allNuggets()); - addBillet(ModItems.billet_pu238, ModItems.ingot_pu238, ModItems.nugget_pu238, PU238.allNuggets()); - addBillet(ModItems.billet_pu239, ModItems.ingot_pu239, ModItems.nugget_pu239, PU239.allNuggets()); - addBillet(ModItems.billet_pu240, ModItems.ingot_pu240, ModItems.nugget_pu240, PU240.allNuggets()); - addBillet(ModItems.billet_pu241, ModItems.ingot_pu241, ModItems.nugget_pu241, PU241.allNuggets()); + addBillet(ModItems.billet_sr90, ModItems.ingot_sr90, ModItems.nugget_sr90, SR90.all(MaterialShapes.NUGGET)); + addBillet(ModItems.billet_uranium, ModItems.ingot_uranium, ModItems.nugget_uranium, U.all(MaterialShapes.NUGGET)); + addBillet(ModItems.billet_u233, ModItems.ingot_u233, ModItems.nugget_u233, U233.all(MaterialShapes.NUGGET)); + addBillet(ModItems.billet_u235, ModItems.ingot_u235, ModItems.nugget_u235, U235.all(MaterialShapes.NUGGET)); + addBillet(ModItems.billet_u238, ModItems.ingot_u238, ModItems.nugget_u238, U238.all(MaterialShapes.NUGGET)); + addBillet(ModItems.billet_th232, ModItems.ingot_th232, ModItems.nugget_th232, TH232.all(MaterialShapes.NUGGET)); + addBillet(ModItems.billet_plutonium, ModItems.ingot_plutonium, ModItems.nugget_plutonium, PU.all(MaterialShapes.NUGGET)); + addBillet(ModItems.billet_pu238, ModItems.ingot_pu238, ModItems.nugget_pu238, PU238.all(MaterialShapes.NUGGET)); + addBillet(ModItems.billet_pu239, ModItems.ingot_pu239, ModItems.nugget_pu239, PU239.all(MaterialShapes.NUGGET)); + addBillet(ModItems.billet_pu240, ModItems.ingot_pu240, ModItems.nugget_pu240, PU240.all(MaterialShapes.NUGGET)); + addBillet(ModItems.billet_pu241, ModItems.ingot_pu241, ModItems.nugget_pu241, PU241.all(MaterialShapes.NUGGET)); addBillet(ModItems.billet_pu_mix, ModItems.ingot_pu_mix, ModItems.nugget_pu_mix); - addBillet(ModItems.billet_am241, ModItems.ingot_am241, ModItems.nugget_am241, AM241.allNuggets()); - addBillet(ModItems.billet_am242, ModItems.ingot_am242, ModItems.nugget_am242, AM242.allNuggets()); + addBillet(ModItems.billet_am241, ModItems.ingot_am241, ModItems.nugget_am241, AM241.all(MaterialShapes.NUGGET)); + addBillet(ModItems.billet_am242, ModItems.ingot_am242, ModItems.nugget_am242, AM242.all(MaterialShapes.NUGGET)); addBillet(ModItems.billet_am_mix, ModItems.ingot_am_mix, ModItems.nugget_am_mix); - addBillet(ModItems.billet_neptunium, ModItems.ingot_neptunium, ModItems.nugget_neptunium, NP237.allNuggets()); - addBillet(ModItems.billet_polonium, ModItems.ingot_polonium, ModItems.nugget_polonium, PO210.allNuggets()); - addBillet(ModItems.billet_technetium, ModItems.ingot_technetium, ModItems.nugget_technetium, TC99.allNuggets()); - addBillet(ModItems.billet_au198, ModItems.ingot_au198, ModItems.nugget_au198, AU198.allNuggets()); - addBillet(ModItems.billet_pb209, ModItems.ingot_pb209, ModItems.nugget_pb209, PB209.allNuggets()); //and so forth - addBillet(ModItems.billet_ra226, ModItems.ingot_ra226, ModItems.nugget_ra226, RA226.allNuggets()); - addBillet(ModItems.billet_actinium, ModItems.ingot_actinium, ModItems.nugget_actinium, AC227.allNuggets()); + addBillet(ModItems.billet_neptunium, ModItems.ingot_neptunium, ModItems.nugget_neptunium, NP237.all(MaterialShapes.NUGGET)); + addBillet(ModItems.billet_polonium, ModItems.ingot_polonium, ModItems.nugget_polonium, PO210.all(MaterialShapes.NUGGET)); + addBillet(ModItems.billet_technetium, ModItems.ingot_technetium, ModItems.nugget_technetium, TC99.all(MaterialShapes.NUGGET)); + addBillet(ModItems.billet_au198, ModItems.ingot_au198, ModItems.nugget_au198, AU198.all(MaterialShapes.NUGGET)); + addBillet(ModItems.billet_pb209, ModItems.ingot_pb209, ModItems.nugget_pb209, PB209.all(MaterialShapes.NUGGET)); //and so forth + addBillet(ModItems.billet_ra226, ModItems.ingot_ra226, ModItems.nugget_ra226, RA226.all(MaterialShapes.NUGGET)); + addBillet(ModItems.billet_actinium, ModItems.ingot_actinium, ModItems.nugget_actinium, AC227.all(MaterialShapes.NUGGET)); addBillet(ModItems.billet_schrabidium, ModItems.ingot_schrabidium, ModItems.nugget_schrabidium, SA326.nugget()); addBillet(ModItems.billet_solinium, ModItems.ingot_solinium, ModItems.nugget_solinium, SA327.nugget()); - addBillet(ModItems.billet_gh336, ModItems.ingot_gh336, ModItems.nugget_gh336, GH336.allNuggets()); + addBillet(ModItems.billet_gh336, ModItems.ingot_gh336, ModItems.nugget_gh336, GH336.all(MaterialShapes.NUGGET)); addBillet(ModItems.billet_uranium_fuel, ModItems.ingot_uranium_fuel, ModItems.nugget_uranium_fuel); addBillet(ModItems.billet_thorium_fuel, ModItems.ingot_thorium_fuel, ModItems.nugget_thorium_fuel); addBillet(ModItems.billet_plutonium_fuel, ModItems.ingot_plutonium_fuel, ModItems.nugget_plutonium_fuel); @@ -420,6 +422,7 @@ public class MineralRecipes { GameRegistry.addRecipe(new ItemStack(ModItems.egg_balefire_shard, 9), new Object[] { "#", '#', ModItems.egg_balefire }); GameRegistry.addRecipe(new ItemStack(ModItems.nitra, 1), new Object[] { "##", "##", '#', ModItems.nitra_small }); GameRegistry.addRecipe(new ItemStack(ModItems.nitra_small, 4), new Object[] { "#", '#', ModItems.nitra }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.glass_polarized, 4), new Object[] { "##", "##", '#', DictFrame.fromOne(ModItems.part_generic, EnumPartType.GLASS_POLARIZED) }); add1To9Pair(ModItems.powder_paleogenite, ModItems.powder_paleogenite_tiny); add1To9Pair(ModItems.ingot_osmiridium, ModItems.nugget_osmiridium); diff --git a/src/main/java/com/hbm/crafting/SmeltingRecipes.java b/src/main/java/com/hbm/crafting/SmeltingRecipes.java index 8de9de124..ef55934b8 100644 --- a/src/main/java/com/hbm/crafting/SmeltingRecipes.java +++ b/src/main/java/com/hbm/crafting/SmeltingRecipes.java @@ -21,11 +21,11 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; public class SmeltingRecipes { - + public static void AddSmeltingRec() { GameRegistry.addSmelting(ModItems.glyphid_meat, new ItemStack(ModItems.glyphid_meat_grilled), 1.0F); - + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_thorium), new ItemStack(ModItems.ingot_th232), 3.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_uranium), new ItemStack(ModItems.ingot_uranium), 6.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_uranium_scorched), new ItemStack(ModItems.ingot_uranium), 6.0F); @@ -36,7 +36,7 @@ public class SmeltingRecipes { GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_copper), new ItemStack(ModItems.ingot_copper), 2.5F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_tungsten), new ItemStack(ModItems.ingot_tungsten), 6.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_nether_tungsten), new ItemStack(ModItems.ingot_tungsten), 12.0F); - GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_aluminium), new ItemStack(ModItems.ingot_aluminium), 2.5F); + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_aluminium), DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.CRYOLITE, 1), 2.5F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_lead), new ItemStack(ModItems.ingot_lead), 3.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_beryllium), new ItemStack(ModItems.ingot_beryllium), 2.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_schrabidium), new ItemStack(ModItems.ingot_schrabidium), 128.0F); @@ -46,7 +46,7 @@ public class SmeltingRecipes { GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.IRON), new ItemStack(Items.iron_ingot, 16), 10.0F); GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.COPPER), new ItemStack(ModItems.ingot_copper, 16), 10.0F); - GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.ALUMINIUM), new ItemStack(ModItems.ingot_aluminium, 16), 10.0F); + GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.ALUMINIUM), DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.CRYOLITE, 16), 10.0F); GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.RAREEARTH), DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.RARE, 16), 10.0F); GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.COBALT), new ItemStack(ModItems.ingot_cobalt, 4), 10.0F); @@ -119,7 +119,7 @@ public class SmeltingRecipes { GameRegistry.addSmelting(ModItems.rag_piss, new ItemStack(ModItems.rag), 0.1F); GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.TOBACCO), DictFrame.fromOne(ModItems.plant_item, EnumPlantType.TOBACCO), 0.1F); GameRegistry.addSmelting(ModItems.ball_fireclay, new ItemStack(ModItems.ingot_firebrick), 0.1F); - + //GameRegistry.addSmelting(Items.bone, new ItemStack(Items.slime_ball, 3), 0.0F); //GameRegistry.addSmelting(new ItemStack(Items.dye, 1, 15), new ItemStack(Items.slime_ball, 1), 0.0F); GameRegistry.addSmelting(new ItemStack(Blocks.gravel, 1), new ItemStack(Blocks.cobblestone, 1), 0.0F); @@ -133,7 +133,7 @@ public class SmeltingRecipes { GameRegistry.addSmelting(new ItemStack(ModBlocks.sand_lead), new ItemStack(ModBlocks.glass_lead), 0.25F); GameRegistry.addSmelting(new ItemStack(ModBlocks.ash_digamma), new ItemStack(ModBlocks.glass_ash), 10F); GameRegistry.addSmelting(new ItemStack(ModBlocks.basalt), new ItemStack(ModBlocks.basalt_smooth), 0.1F); - + GameRegistry.addSmelting(ModItems.ingot_schraranium, new ItemStack(ModItems.nugget_schrabidium, 1), 2.0F); GameRegistry.addSmelting(ModItems.lodestone, new ItemStack(ModItems.crystal_iron, 1), 5.0F); @@ -164,25 +164,19 @@ public class SmeltingRecipes { GameRegistry.addSmelting(ModItems.crystal_cinnebar, new ItemStack(ModItems.cinnebar, 4), 2.0F); GameRegistry.addSmelting(ModItems.crystal_osmiridium, new ItemStack(ModItems.ingot_osmiridium, 1), 2.0F); - GameRegistry.addSmelting(ModItems.casing_357, new ItemStack(ModItems.ingot_copper), 0.1F); - GameRegistry.addSmelting(ModItems.casing_44, new ItemStack(ModItems.ingot_copper), 0.1F); - GameRegistry.addSmelting(ModItems.casing_9, new ItemStack(ModItems.ingot_copper), 0.1F); - GameRegistry.addSmelting(ModItems.casing_50, new ItemStack(ModItems.ingot_copper), 0.1F); - GameRegistry.addSmelting(ModItems.casing_buckshot, new ItemStack(ModItems.ingot_copper), 0.1F); - GameRegistry.addSmelting(ModItems.ingot_chainsteel, ItemHot.heatUp(new ItemStack(ModItems.ingot_chainsteel)), 0.0F); GameRegistry.addSmelting(ModItems.ingot_meteorite, ItemHot.heatUp(new ItemStack(ModItems.ingot_meteorite)), 0.0F); GameRegistry.addSmelting(ModItems.ingot_meteorite_forged, ItemHot.heatUp(new ItemStack(ModItems.ingot_meteorite_forged)), 0.0F); GameRegistry.addSmelting(ModItems.blade_meteorite, ItemHot.heatUp(new ItemStack(ModItems.blade_meteorite)), 0.0F); GameRegistry.addSmelting(ModItems.meteorite_sword, ItemHot.heatUp(new ItemStack(ModItems.meteorite_sword_seared)), 0.0F); - + GameRegistry.addSmelting(new ItemStack(ModItems.scrap_plastic, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ModItems.ingot_polymer), 0.1F); - + for(EnumBedrockOre ore : EnumBedrockOre.values()) { int i = ore.ordinal(); GameRegistry.addSmelting(new ItemStack(ModItems.ore_bedrock, 1, i), new ItemStack(Blocks.cobblestone, 16), 0.1F); } - + for(int i = 0; i < 10; i++) GameRegistry.addSmelting(new ItemStack(ModItems.ingot_steel_dusted, 1, i), ItemHot.heatUp(new ItemStack(ModItems.ingot_steel_dusted, 1, i)), 1.0F); } diff --git a/src/main/java/com/hbm/crafting/ToolRecipes.java b/src/main/java/com/hbm/crafting/ToolRecipes.java index d190636e0..39c00cde5 100644 --- a/src/main/java/com/hbm/crafting/ToolRecipes.java +++ b/src/main/java/com/hbm/crafting/ToolRecipes.java @@ -28,9 +28,9 @@ import net.minecraft.item.ItemStack; * @author hbm */ public class ToolRecipes { - + public static void register() { - + //Regular tools addSword( STEEL.ingot(), ModItems.steel_sword); addPickaxe( STEEL.ingot(), ModItems.steel_pickaxe); @@ -62,7 +62,7 @@ public class ToolRecipes { addAxe( DESH.ingot(), ModItems.desh_axe); addShovel( DESH.ingot(), ModItems.desh_shovel); addHoe( DESH.ingot(), ModItems.desh_hoe); - + CraftingManager.addRecipeAuto(new ItemStack(ModItems.elec_sword, 1), new Object[] { "RPR", "RPR", " B ", 'P', ANY_PLASTIC.ingot(), 'D', DURA.ingot(), 'R', DURA.bolt(), 'M', ModItems.motor, 'B', ModItems.battery_lithium }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.elec_pickaxe, 1), new Object[] { "RDM", " PB", " P ", 'P', ANY_PLASTIC.ingot(), 'D', DURA.ingot(), 'R', DURA.bolt(), 'M', ModItems.motor, 'B', ModItems.battery_lithium }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.elec_axe, 1), new Object[] { " DP", "RRM", " PB", 'P', ANY_PLASTIC.ingot(), 'D', DURA.ingot(), 'R', DURA.bolt(), 'M', ModItems.motor, 'B', ModItems.battery_lithium }); @@ -90,7 +90,7 @@ public class ToolRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.chlorophyte_axe, 1), new Object[] { " SD", "APS", "FA ", 'S', ModItems.blades_steel, 'D', ModItems.powder_chlorophyte, 'A', FIBER.ingot(), 'P', ModItems.bismuth_axe, 'F', DURA.bolt() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.chlorophyte_axe, 1), new Object[] { " SD", "APS", "FA ", 'S', ModItems.blades_steel, 'D', ModItems.powder_chlorophyte, 'A', FIBER.ingot(), 'P', ModItems.volcanic_axe, 'F', DURA.bolt() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.mese_axe, 1), new Object[] { " SD", "APS", "FA ", 'S', ModItems.blades_desh, 'D', ModItems.powder_dineutronium, 'A', ModItems.plate_paa, 'P', ModItems.chlorophyte_axe, 'F', ModItems.shimmer_handle }); - + //Chainsaws CraftingManager.addRecipeAuto(ItemToolAbilityFueled.getEmptyTool(ModItems.chainsaw), new Object[] { "CCH", "BBP", "CCE", 'H', STEEL.shell(), 'B', ModItems.blades_steel, 'P', ModItems.piston_selenium, 'C', ModBlocks.chain, 'E', ModItems.canister_empty }); @@ -108,19 +108,15 @@ public class ToolRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.lead_gavel, 1), new Object[] { "PIP", "IGI", "PIP", 'P', ModItems.pellet_buckshot, 'I', PB.ingot(), 'G', ModItems.wood_gavel }); //Misc weapons - CraftingManager.addRecipeAuto(new ItemStack(ModItems.saw, 1), new Object[] { "IIL", "PP ", 'P', STEEL.plate(), 'I', STEEL.ingot(), 'L', Items.leather }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.bat, 1), new Object[] { "P", "P", "S", 'S', STEEL.plate(), 'P', KEY_PLANKS }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.bat_nail, 1), new Object[] { ModItems.bat, STEEL.plate() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.golf_club, 1), new Object[] { "IP", " P", " P", 'P', STEEL.plate(), 'I', STEEL.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.pipe_rusty, 1), new Object[] { "II", " I", " I", 'I', IRON.pipe() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.pipe_lead, 1), new Object[] { "II", " I", " I", 'I', PB.pipe() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ullapool_caber, 1), new Object[] { "ITI", " S ", " S ", 'I', IRON.plate(), 'T', Blocks.tnt, 'S', KEY_STICK }); //Utility + CraftingManager.addRecipeAuto(new ItemStack(ModItems.rangefinder, 1), new Object[] { "GRC", " S", 'G', KEY_ANYPANE, 'R', REDSTONE.dust(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'S' ,STEEL.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.designator, 1), new Object[] { " A", "#B#", "#B#", '#', IRON.plate(), 'A', STEEL.plate(), 'B', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC) }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.designator_range, 1), new Object[] { "RRD", "PIC", " P", 'P', STEEL.plate(), 'R', Items.redstone, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'D', ModItems.designator, 'I', STEEL.ingot() }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.designator_range, 1), new Object[] { ModItems.rangefinder, ModItems.designator, ANY_PLASTIC.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.designator_manual, 1), new Object[] { " A", "#C#", "#B#", '#', ANY_PLASTIC.ingot(), 'A', PB.plate(), 'B', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'C', ModItems.designator }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.designator_arty_range, 1), new Object[] { "M", "C", "P", 'M', ModItems.magnetron, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'P', ANY_PLASTIC.ingot() }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.designator_arty_range, 1), new Object[] { ModItems.rangefinder, DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), ANY_PLASTIC.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.linker, 1), new Object[] { "I I", "ICI", "GGG", 'I', IRON.plate(), 'G', GOLD.plate(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED) }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.oil_detector, 1), new Object[] { "W I", "WCI", "PPP", 'W', GOLD.wireFine(), 'I', CU.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ANALOG), 'P', STEEL.plate528() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.turret_chip, 1), new Object[] { "WWW", "CPC", "WWW", 'W', GOLD.wireFine(), 'P', ANY_PLASTIC.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), }); @@ -134,9 +130,9 @@ public class ToolRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.defuser, 1), new Object[] { " PS", "P P", " P ", 'P', ANY_PLASTIC.ingot(), 'S', STEEL.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.coltan_tool, 1), new Object[] { "ACA", "CXC", "ACA", 'A', ALLOY.ingot(), 'C', CINNABAR.crystal(), 'X', Items.compass }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.reacher, 1), new Object[] { "BIB", "P P", "B B", 'B', W.bolt(), 'I', W.ingot(), 'P', ANY_RUBBER.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.bismuth_tool, 1), new Object[] { "TBT", "SRS", "SCS", 'T', TA.nugget(), 'B', ModItems.nugget_bismuth, 'S', ANY_RESISTANTALLOY.ingot(), 'R', ModItems.reacher, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP) }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.sat_designator, 1), new Object[] { "RRD", "PIC", " P", 'P', GOLD.plate(), 'R', Items.redstone, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'D', ModItems.sat_chip, 'I', GOLD.ingot() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.sat_relay), new Object[] { ModItems.sat_chip, ModItems.ducttape, ModItems.radar_linker }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.settings_tool), new Object[] { " P ", "PCP", "III", 'P', IRON.plate(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ANALOG), 'I', ModItems.plate_polymer }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.pipette, 1), new Object[] { " L", " G ", "G ", 'L', ANY_RUBBER.ingot(), 'G', KEY_CLEARGLASS}); CraftingManager.addRecipeAuto(new ItemStack(ModItems.pipette_boron, 1), new Object[] { " P", " B ", "B ", 'P', RUBBER.ingot(), 'B', ModBlocks.glass_boron}); @@ -149,7 +145,7 @@ public class ToolRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.power_net_tool), new Object[] { "WRW", " I ", " B ", 'W', MINGRADE.wireFine(), 'R', REDSTONE.dust(), 'I', IRON.ingot(), 'B', ModItems.battery_generic }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.analysis_tool), new Object[] { " G", " S ", "S ", 'G', KEY_ANYPANE, 'S', STEEL.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.kit_toolbox_empty), new Object[] { "CCC", "CIC", 'C', CU.plate(), 'I', IRON.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.toolbox), new Object[] { "CCC", "CIC", 'C', CU.plate(), 'I', IRON.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.screwdriver, 1), new Object[] { " I", " I ", "S ", 'S', STEEL.ingot(), 'I', IRON.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.screwdriver_desh, 1), new Object[] { " I", " I ", "S ", 'S', ANY_PLASTIC.ingot(), 'I', DESH.ingot() }); @@ -160,27 +156,24 @@ public class ToolRecipes { CraftingManager.addRecipeAuto(ItemBlowtorch.getEmptyTool(ModItems.blowtorch), new Object[] { "CC ", " I ", "CCC", 'C', CU.plate528(), 'I', IRON.ingot() }); CraftingManager.addRecipeAuto(ItemBlowtorch.getEmptyTool(ModItems.acetylene_torch), new Object[] { "SS ", " PS", " T ", 'S', STEEL.plate528(), 'P', ANY_PLASTIC.ingot(), 'T', ModItems.tank_steel }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.boltgun), new Object[] { "DPS", " RD", " D ", 'D', DURA.ingot(), 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC), 'R', RUBBER.ingot(), 'S', STEEL.shell() }); - + //Bobmazon - CraftingManager.addShapelessAuto(new ItemStack(ModItems.bobmazon_materials), new Object[] { Items.book, Items.gold_nugget, Items.string }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.bobmazon_machines), new Object[] { Items.book, Items.gold_nugget, KEY_RED }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.bobmazon_weapons), new Object[] { Items.book, Items.gold_nugget, KEY_GRAY }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.bobmazon_tools), new Object[] { Items.book, Items.gold_nugget, KEY_GREEN }); - + CraftingManager.addShapelessAuto(new ItemStack(ModItems.bobmazon), new Object[] { Items.book, Items.gold_nugget, Items.string, KEY_BLUE }); + //Carts CraftingManager.addRecipeAuto(ItemModMinecart.createCartItem(EnumCartBase.WOOD, EnumMinecart.EMPTY), new Object[] { "P P", "WPW", 'P',KEY_SLAB, 'W', KEY_PLANKS }); CraftingManager.addRecipeAuto(ItemModMinecart.createCartItem(EnumCartBase.STEEL, EnumMinecart.EMPTY), new Object[] { "P P", "IPI", 'P', STEEL.plate(), 'I', STEEL.ingot() }); CraftingManager.addShapelessAuto(ItemModMinecart.createCartItem(EnumCartBase.PAINTED, EnumMinecart.EMPTY), new Object[] { ItemModMinecart.createCartItem(EnumCartBase.STEEL, EnumMinecart.EMPTY), KEY_RED }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.boat_rubber), new Object[] { "L L", "LLL", 'L', ANY_RUBBER.ingot() }); - + for(EnumCartBase base : EnumCartBase.values()) { - + if(EnumMinecart.DESTROYER.supportsBase(base)) CraftingManager.addRecipeAuto(ItemModMinecart.createCartItem(base, EnumMinecart.DESTROYER), new Object[] { "S S", "BLB", "SCS", 'S', STEEL.ingot(), 'B', ModItems.blades_steel, 'L', Fluids.LAVA.getDict(1000), 'C', ItemModMinecart.createCartItem(base, EnumMinecart.EMPTY) }); if(EnumMinecart.POWDER.supportsBase(base)) CraftingManager.addRecipeAuto(ItemModMinecart.createCartItem(base, EnumMinecart.POWDER), new Object[] { "PPP", "PCP", "PPP", 'P', Items.gunpowder, 'C', ItemModMinecart.createCartItem(base, EnumMinecart.EMPTY) }); if(EnumMinecart.SEMTEX.supportsBase(base)) CraftingManager.addRecipeAuto(ItemModMinecart.createCartItem(base, EnumMinecart.SEMTEX), new Object[] { "S", "C", 'S', ModBlocks.semtex, 'C', ItemModMinecart.createCartItem(base, EnumMinecart.EMPTY) }); } net.minecraft.item.crafting.CraftingManager.getInstance().addRecipe(DictFrame.fromOne(ModItems.cart, EnumMinecart.CRATE), new Object[] { "C", "S", 'C', ModBlocks.crate_steel, 'S', Items.minecart }).func_92100_c(); - + //Configged if(GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleToolRecipes) { addSword( CO.block(), ModItems.cobalt_decorated_sword); @@ -199,14 +192,6 @@ public class ToolRecipes { addShovel( SA326.ingot(), ModItems.schrabidium_shovel); addHoe( SA326.ingot(), ModItems.schrabidium_hoe); } else { - /* - CraftingManager.addRecipeAuto(new ItemStack(ModItems.cobalt_decorated_sword, 1), new Object[] { " I ", " I ", "SBS", 'I', CO.ingot(), 'S', ModItems.ingot_meteorite_forged, 'B', ModItems.cobalt_sword }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.cobalt_decorated_pickaxe, 1), new Object[] { "III", " B ", " S ", 'I', CO.ingot(), 'S', ModItems.ingot_meteorite_forged, 'B', ModItems.cobalt_pickaxe }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.cobalt_decorated_axe, 1), new Object[] { "II", "IB", " S", 'I', CO.ingot(), 'S', ModItems.ingot_meteorite_forged, 'B', ModItems.cobalt_axe }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.cobalt_decorated_shovel, 1), new Object[] { "I", "B", "S", 'I', CO.ingot(), 'S', ModItems.ingot_meteorite_forged, 'B', ModItems.cobalt_shovel }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.cobalt_decorated_hoe, 1), new Object[] { "II", " B", " S", 'I', CO.ingot(), 'S', ModItems.ingot_meteorite_forged, 'B', ModItems.cobalt_hoe }); - - */ CraftingManager.addRecipeAuto(new ItemStack(ModItems.starmetal_sword, 1), new Object[] { " I ", " B ", "ISI", 'I', STAR.ingot(), 'S', ModItems.ring_starmetal, 'B', ModItems.cobalt_decorated_sword }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.starmetal_pickaxe, 1), new Object[] { "ISI", " B ", " I ", 'I', STAR.ingot(), 'S', ModItems.ring_starmetal, 'B', ModItems.cobalt_decorated_pickaxe }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.starmetal_axe, 1), new Object[] { "IS", "IB", " I", 'I', STAR.ingot(), 'S', ModItems.ring_starmetal, 'B', ModItems.cobalt_decorated_axe }); @@ -236,11 +221,11 @@ public class ToolRecipes { public static void addHoe(Object ingot, Item hoe) { addTool(ingot, hoe, patternHoe); } - + public static void addTool(Object ingot, Item tool, String[] pattern) { CraftingManager.addRecipeAuto(new ItemStack(tool), new Object[] { pattern, 'X', ingot, '#', KEY_STICK }); } - + public static final String[] patternSword = new String[] {"X", "X", "#"}; public static final String[] patternPick = new String[] {"XXX", " # ", " # "}; public static final String[] patternAxe = new String[] {"XX", "X#", " #"}; diff --git a/src/main/java/com/hbm/crafting/WeaponRecipes.java b/src/main/java/com/hbm/crafting/WeaponRecipes.java index 665afe7f6..238de0e25 100644 --- a/src/main/java/com/hbm/crafting/WeaponRecipes.java +++ b/src/main/java/com/hbm/crafting/WeaponRecipes.java @@ -2,16 +2,22 @@ package com.hbm.crafting; import com.hbm.blocks.ModBlocks; import com.hbm.inventory.OreDictManager; -import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.material.Mats; import static com.hbm.inventory.OreDictManager.*; import com.hbm.items.ItemAmmoEnums.*; -import com.hbm.items.food.ItemConserve.EnumFoodType; +import com.hbm.items.ItemEnums.EnumCasingType; +import com.hbm.items.ItemEnums.EnumSecretType; import com.hbm.items.machine.ItemCircuit.EnumCircuitType; import com.hbm.items.ModItems; import com.hbm.items.weapon.GunB92Cell; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumModGeneric; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumModSpecial; import com.hbm.main.CraftingManager; import net.minecraft.init.Blocks; @@ -26,10 +32,134 @@ import net.minecraft.item.ItemStack; public class WeaponRecipes { public static void register() { + + //Weapon mod table + CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.machine_weapon_table, 1), new Object[] { "PPP", "TCT", "TST", 'P', GUNMETAL.plate(), 'T', STEEL.ingot(), 'C', Blocks.crafting_table, 'S', STEEL.block() }); + + //SEDNA Parts + CraftingManager.addRecipeAuto(new ItemStack(ModItems.part_stock, 1, Mats.MAT_WOOD.id), new Object[] { "WWW", " W", 'W', KEY_PLANKS }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.part_grip, 1, Mats.MAT_WOOD.id), new Object[] { "W ", " W", " W", 'W', KEY_PLANKS }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.part_stock, 1, Mats.MAT_POLYMER.id), new Object[] { "WWW", " W", 'W', POLYMER.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.part_grip, 1, Mats.MAT_POLYMER.id), new Object[] { "W ", " W", " W", 'W', POLYMER.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.part_stock, 1, Mats.MAT_BAKELITE.id), new Object[] { "WWW", " W", 'W', BAKELITE.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.part_grip, 1, Mats.MAT_BAKELITE.id), new Object[] { "W ", " W", " W", 'W', BAKELITE.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.part_stock, 1, Mats.MAT_HARDPLASTIC.id), new Object[] { "WWW", " W", 'W', PC.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.part_grip, 1, Mats.MAT_HARDPLASTIC.id), new Object[] { "W ", " W", " W", 'W', PC.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.part_stock, 1, Mats.MAT_PVC.id), new Object[] { "WWW", " W", 'W', PVC.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.part_grip, 1, Mats.MAT_PVC.id), new Object[] { "W ", " W", " W", 'W', PVC.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.part_grip, 1, Mats.MAT_RUBBER.id), new Object[] { "W ", " W", " W", 'W', RUBBER.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.part_grip, 1, Mats.MAT_IVORY.id), new Object[] { "W ", " W", " W", 'W', Items.bone }); + + CraftingManager.addRecipeAuto(DictFrame.fromOne(ModItems.casing, EnumCasingType.SHOTSHELL, 2), new Object[] { "P", "C", 'P', GUNMETAL.plate(), 'C', DictFrame.fromOne(ModItems.casing, EnumCasingType.LARGE) }); + CraftingManager.addRecipeAuto(DictFrame.fromOne(ModItems.casing, EnumCasingType.BUCKSHOT, 2), new Object[] { "P", "C", 'P', ANY_PLASTIC.ingot(), 'C', DictFrame.fromOne(ModItems.casing, EnumCasingType.LARGE) }); + CraftingManager.addRecipeAuto(DictFrame.fromOne(ModItems.casing, EnumCasingType.BUCKSHOT_ADVANCED, 2), new Object[] { "P", "C", 'P', ANY_PLASTIC.ingot(), 'C', DictFrame.fromOne(ModItems.casing, EnumCasingType.LARGE_STEEL) }); + + //SEDNA Guns + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_pepperbox, 1), new Object[] { "IIW", " C", 'I', IRON.ingot(), 'W', KEY_PLANKS, 'C', CU.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_light_revolver, 1), new Object[] { "BRM", " G", 'B', STEEL.lightBarrel(), 'R', STEEL.lightReceiver(), 'M', GUNMETAL.mechanism(), 'G', WOOD.grip() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_light_revolver_atlas, 1), new Object[] { " M ", "MAM", " M ", 'M', WEAPONSTEEL.mechanism(), 'A', ModItems.gun_light_revolver }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_henry, 1), new Object[] { "BRP", "BMS", 'B', STEEL.lightBarrel(), 'R', GUNMETAL.lightReceiver(), 'M', GUNMETAL.mechanism(), 'S', WOOD.stock(), 'P', GUNMETAL.plate() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_henry_lincoln, 1), new Object[] { " M ", "PGP", " M ", 'M', WEAPONSTEEL.mechanism(), 'P', GOLD.plateCast(), 'G', ModItems.gun_henry }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_greasegun, 1), new Object[] { "BRS", "SMG", 'B', STEEL.lightBarrel(), 'R', STEEL.lightReceiver(), 'S', STEEL.bolt(), 'M', GUNMETAL.mechanism(), 'G', STEEL.grip() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_maresleg, 1), new Object[] { "BRM", "BGS", 'B', STEEL.lightBarrel(), 'R', STEEL.lightReceiver(), 'M', GUNMETAL.mechanism(), 'G', STEEL.bolt(), 'S', WOOD.stock() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_maresleg_akimbo, 1), new Object[] { "SMS", 'S', ModItems.gun_maresleg, 'M', WEAPONSTEEL.mechanism() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_flaregun, 1), new Object[] { "BRM", " G", 'B', STEEL.heavyBarrel(), 'R', STEEL.lightReceiver(), 'M', GUNMETAL.mechanism(), 'G', STEEL.grip() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_am180, 1), new Object[] { "BRS", "GMG", 'B', DURA.lightBarrel(), 'R', DURA.lightReceiver(), 'M', GUNMETAL.mechanism(), 'G', WOOD.grip(), 'S', WOOD.stock() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_liberator, 1), new Object[] { "BB ", "BBM", "G G", 'B', DURA.lightBarrel(), 'M', GUNMETAL.mechanism(), 'G', WOOD.grip() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_congolake, 1), new Object[] { "BM ", "BRS", "G ", 'B', DURA.heavyBarrel(), 'M', GUNMETAL.mechanism(), 'R', DURA.lightReceiver(), 'S', WOOD.stock(), 'G', WOOD.grip() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_flamer, 1), new Object[] { " MG", "BBR", " GM", 'M', GUNMETAL.mechanism(), 'G', DURA.grip(), 'B', DURA.heavyBarrel(), 'R', DURA.heavyReceiver() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_flamer_topaz, 1), new Object[] { " M ", "MFM", " M ", 'M', WEAPONSTEEL.mechanism(), 'F', ModItems.gun_flamer }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_heavy_revolver, 1), new Object[] { "BRM", " G", 'B', DESH.lightBarrel(), 'R', DESH.lightReceiver(), 'M', GUNMETAL.mechanism(), 'G', WOOD.grip() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_carbine, 1), new Object[] { "BRM", "G S", 'B', DESH.lightBarrel(), 'R',DESH.lightReceiver(), 'M', GUNMETAL.mechanism(), 'G', WOOD.grip(), 'S', WOOD.stock() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_uzi, 1), new Object[] { "BRS", " GM", 'B', DESH.lightBarrel(), 'R', DESH.lightReceiver(), 'S', ANY_PLASTIC.stock(), 'G', ANY_PLASTIC.grip(), 'M', GUNMETAL.mechanism() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_uzi_akimbo, 1), new Object[] { "UMU", 'U', ModItems.gun_uzi, 'M', WEAPONSTEEL.mechanism() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_spas12, 1), new Object[] { "BRM", "BGS", 'B', DESH.lightBarrel(), 'R', DESH.lightReceiver(), 'M', GUNMETAL.mechanism(), 'G', ANY_PLASTIC.grip(), 'S', DESH.stock() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_panzerschreck, 1), new Object[] { "BBB", "PGM", 'B', DESH.heavyBarrel(), 'P', STEEL.plateCast(), 'G', DESH.grip(), 'M', GUNMETAL.mechanism() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_g3, 1), new Object[] { "BRM", "WGS", 'B', WEAPONSTEEL.lightBarrel(), 'R', WEAPONSTEEL.lightReceiver(), 'M', WEAPONSTEEL.mechanism(), 'W', WOOD.grip(), 'G', RUBBER.grip(), 'S', WOOD.stock() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_g3_zebra, 1), new Object[] { " M ", "MPM", " M ", 'M', BIGMT.mechanism(), 'P', ModItems.gun_g3 }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_stinger, 1), new Object[] { "BBB", "PGM", 'B', WEAPONSTEEL.heavyBarrel(), 'P', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'G', WEAPONSTEEL.grip(), 'M', WEAPONSTEEL.mechanism() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_chemthrower, 1), new Object[] { "MHW", "PSS", 'M', WEAPONSTEEL.mechanism(), 'H', RUBBER.pipe(), 'W', ModItems.wrench, 'P', WEAPONSTEEL.heavyBarrel(), 'S', WEAPONSTEEL.shell() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_amat, 1), new Object[] { " C ", "BRS", " MG", 'G', WOOD.grip(), 'B', FERRO.heavyBarrel(), 'R', FERRO.heavyReceiver(), 'M', WEAPONSTEEL.mechanism(), 'C', DictFrame.fromOne(ModItems.weapon_mod_special, EnumModSpecial.SCOPE), 'S', WOOD.stock() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_m2, 1), new Object[] { " G", "BRM", " G", 'G', WOOD.grip(), 'B', FERRO.heavyBarrel(), 'R', FERRO.heavyReceiver(), 'M', WEAPONSTEEL.mechanism() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_autoshotgun, 1), new Object[] { "BRM", "G G", 'B', FERRO.heavyBarrel(), 'R', FERRO.heavyReceiver(), 'M', WEAPONSTEEL.mechanism(), 'G', ANY_PLASTIC.grip() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_autoshotgun_shredder, 1), new Object[] { " M ", "MAM", " M ", 'M', BIGMT.mechanism(), 'A', ModItems.gun_autoshotgun }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_quadro, 1), new Object[] { "BCB", "BMB", "GG ", 'B', FERRO.heavyBarrel(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'M', WEAPONSTEEL.mechanism(), 'G', ANY_PLASTIC.grip() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_lag, 1), new Object[] { "BRM", " G", 'B', ANY_RESISTANTALLOY.lightBarrel(), 'R', ANY_RESISTANTALLOY.lightReceiver(), 'M', WEAPONSTEEL.mechanism(), 'G', ANY_PLASTIC.grip() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_minigun, 1), new Object[] { "BMG", "BRE", "BGM", 'B', ANY_RESISTANTALLOY.lightBarrel(), 'M', WEAPONSTEEL.mechanism(), 'G', ANY_PLASTIC.grip(), 'R', ANY_RESISTANTALLOY.heavyReceiver(), 'E', ModItems.motor_desh }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_missile_launcher, 1), new Object[] { " CM", "BBB", "G ", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'M', WEAPONSTEEL.mechanism(), 'B', ANY_RESISTANTALLOY.heavyBarrel(), 'G', ANY_PLASTIC.grip() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_tesla_cannon, 1), new Object[] { "CCC", "BRB", "MGE", 'C', ModItems.coil_advanced_alloy, 'B', ANY_RESISTANTALLOY.heavyBarrel(), 'R', ANY_RESISTANTALLOY.heavyReceiver(), 'M', WEAPONSTEEL.mechanism(), 'G', ANY_PLASTIC.grip(), 'E', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED) }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_laser_pistol, 1), new Object[] { "CRM", "GG ", 'C', ModItems.crystal_redstone, 'R', BIGMT.lightReceiver(), 'M', BIGMT.mechanism(), 'G', ANY_HARDPLASTIC.grip() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_laser_pistol_pew_pew, 1), new Object[] { " M ", "MPM", " M ", 'M', BIGMT.mechanism(), 'P', ModItems.gun_laser_pistol }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_stg77, 1), new Object[] { " D ", "BRS", "GGM", 'D', DictFrame.fromOne(ModItems.weapon_mod_special, EnumModSpecial.SCOPE), 'B', BIGMT.lightBarrel(), 'R', BIGMT.lightReceiver(), 'S', ANY_HARDPLASTIC.stock(), 'G', ANY_HARDPLASTIC.grip(), 'M', BIGMT.mechanism() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_fatman, 1), new Object[] { "PPP", "BSR", "G M", 'P', BIGMT.plate(), 'B', BIGMT.heavyBarrel(), 'S', BIGMT.shell(), 'R', BIGMT.heavyReceiver(), 'G', ANY_HARDPLASTIC.grip(), 'M', BIGMT.mechanism() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_tau, 1), new Object[] { " RD", "CTT", "GMS", 'D', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BISMOID), 'C', CU.pipe(), 'T', ModItems.coil_advanced_torus, 'G', ANY_HARDPLASTIC.grip(), 'R', BIGMT.lightReceiver(), 'M', BIGMT.mechanism(), 'S', ANY_HARDPLASTIC.stock() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_lasrifle, 1), new Object[] { "DLC", "BRS", "MG ", 'D', ModItems.crystal_redstone, 'L', DictFrame.fromOne(ModItems.weapon_mod_special, EnumModSpecial.SCOPE), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BISMOID), 'B', ANY_BISMOIDBRONZE.lightBarrel(), 'R', ANY_BISMOIDBRONZE.lightReceiver(), 'S', ANY_HARDPLASTIC.stock(), 'M', BIGMT.mechanism(), 'G', ANY_HARDPLASTIC.grip() }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.gun_double_barrel_sacred_dragon, 1), new Object[] { ModItems.gun_double_barrel, DictFrame.fromOne(ModItems.item_secret, EnumSecretType.SELENIUM_STEEL) }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_charge_thrower, 1), new Object[] { "MMM", "BBL", "GG ", 'M', GUNMETAL.mechanism(), 'B', STEEL.heavyBarrel(), 'G', STEEL.grip(), 'L', Items.leather }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_charge_thrower, 1), new Object[] { "MMM", "BBL", "GG ", 'M', GUNMETAL.mechanism(), 'B', STEEL.heavyBarrel(), 'G', STEEL.grip(), 'L', ANY_RUBBER.ingot() }); + + //SEDNA Ammo + CraftingManager.addRecipeAuto(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.STONE, 6), new Object[] { "C", "P", "G", 'C', KEY_COBBLESTONE, 'P', Items.paper, 'G', Items.gunpowder }); + CraftingManager.addRecipeAuto(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.STONE_AP, 6), new Object[] { "C", "P", "G", 'C', Items.flint, 'P', Items.paper, 'G', Items.gunpowder }); + CraftingManager.addRecipeAuto(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.STONE_SHOT, 6), new Object[] { "C", "P", "G", 'C', Blocks.gravel, 'P', Items.paper, 'G', Items.gunpowder }); + CraftingManager.addRecipeAuto(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.STONE_IRON, 6), new Object[] { "C", "P", "G", 'C', IRON.ingot(), 'P', Items.paper, 'G', Items.gunpowder }); + CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.CT_MORTAR_CHARGE, 1), new Object[] { DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.CT_MORTAR), DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.CT_MORTAR), DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.CT_MORTAR), DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.CT_MORTAR), DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.CT_MORTAR), DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.CT_MORTAR), DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.CT_MORTAR), ModItems.ducttape, ModItems.ducttape }); + + //SEDNA Mods + CraftingManager.addShapelessAuto(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.IRON_DAMAGE.ordinal()), new Object[] { GUNMETAL.ingot(), IRON.ingot(), IRON.ingot(), IRON.ingot(), ModItems.ducttape }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.IRON_DURA.ordinal()), new Object[] { GUNMETAL.ingot(), IRON.ingot(), ModItems.ducttape }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.STEEL_DAMAGE.ordinal()), new Object[] { GUNMETAL.mechanism(), STEEL.plateCast(), STEEL.plateCast(), STEEL.plateCast(), ModItems.ducttape }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.STEEL_DURA.ordinal()), new Object[] { GUNMETAL.plate(), STEEL.plateCast(), ModItems.ducttape }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.DURA_DAMAGE.ordinal()), new Object[] { GUNMETAL.mechanism(), DURA.plateCast(), DURA.plateCast(), DURA.plateCast(), ModItems.ducttape }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.DURA_DURA.ordinal()), new Object[] { GUNMETAL.plate(), DURA.plateCast(), ModItems.ducttape }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.DESH_DAMAGE.ordinal()), new Object[] { GUNMETAL.mechanism(), DESH.plateCast(), DESH.plateCast(), DESH.plateCast(), ModItems.ducttape }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.DESH_DURA.ordinal()), new Object[] { GUNMETAL.plate(), DESH.plateCast(), ModItems.ducttape }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.WSTEEL_DAMAGE.ordinal()), new Object[] { WEAPONSTEEL.mechanism(), WEAPONSTEEL.plateCast(), WEAPONSTEEL.plateCast(), WEAPONSTEEL.plateCast(), ModItems.ducttape }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.WSTEEL_DURA.ordinal()), new Object[] { WEAPONSTEEL.plate(), WEAPONSTEEL.plateCast(), ModItems.ducttape }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.FERRO_DAMAGE.ordinal()), new Object[] { WEAPONSTEEL.mechanism(), FERRO.plateCast(), FERRO.plateCast(), FERRO.plateCast(), ModItems.ducttape }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.FERRO_DURA.ordinal()), new Object[] { WEAPONSTEEL.plate(), FERRO.plateCast(), ModItems.ducttape }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.TCALLOY_DAMAGE.ordinal()), new Object[] { WEAPONSTEEL.mechanism(), ANY_RESISTANTALLOY.plateCast(), ANY_RESISTANTALLOY.plateCast(), ANY_RESISTANTALLOY.plateCast(), ModItems.ducttape }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.TCALLOY_DURA.ordinal()), new Object[] { WEAPONSTEEL.plate(), ANY_RESISTANTALLOY.plateCast(), ModItems.ducttape }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.BIGMT_DAMAGE.ordinal()), new Object[] { BIGMT.mechanism(), BIGMT.plateCast(), BIGMT.plateCast(), BIGMT.plateCast(), ModItems.ducttape }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.BIGMT_DURA.ordinal()), new Object[] { BIGMT.plate(), BIGMT.plateCast(), ModItems.ducttape }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.BRONZE_DAMAGE.ordinal()), new Object[] { BIGMT.mechanism(), ANY_BISMOIDBRONZE.plateCast(), ANY_BISMOIDBRONZE.plateCast(), ANY_BISMOIDBRONZE.plateCast(), ModItems.ducttape }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.BRONZE_DURA.ordinal()), new Object[] { BIGMT.plate(), ANY_BISMOIDBRONZE.plateCast(), ModItems.ducttape }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.SILENCER.ordinal()), new Object[] { "P", "B", "P", 'P', ANY_PLASTIC.ingot(), 'B', STEEL.lightBarrel() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.SCOPE.ordinal()), new Object[] { "SPS", "G G", "SPS", 'P', ANY_PLASTIC.ingot(), 'S', STEEL.plate(), 'G', KEY_ANYPANE }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.SAW.ordinal()), new Object[] { "BBS", "BHS", 'B', STEEL.bolt(), 'S', KEY_STICK, 'H', DURA.plate() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.SPEEDLOADER.ordinal()), new Object[] { " B ", "BSB", " B ", 'B', STEEL.bolt(), 'S', WEAPONSTEEL.plate() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.SLOWDOWN.ordinal()), new Object[] { " I ", " M ", "I I", 'I', WEAPONSTEEL.ingot(), 'M', WEAPONSTEEL.mechanism() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.SPEEDUP.ordinal()), new Object[] { "PIP", "WWW", "PIP", 'P', WEAPONSTEEL.plate(), 'I', GUNMETAL.ingot(), 'W', GOLD.wireDense() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.GREASEGUN.ordinal()), new Object[] { "BRM", "P G", 'B', WEAPONSTEEL.lightBarrel(), 'R', WEAPONSTEEL.lightReceiver(), 'M', WEAPONSTEEL.mechanism(), 'P', DURA.plate(), 'G', ANY_PLASTIC.grip() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.CHOKE.ordinal()), new Object[] { "P", "B", "P", 'P', WEAPONSTEEL.plate(), 'B', DURA.lightBarrel() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.FURNITURE_GREEN.ordinal()), new Object[] { "PDS", " G", 'P', ANY_PLASTIC.ingot(), 'D', KEY_GREEN, 'S', ANY_PLASTIC.stock(), 'G', ANY_PLASTIC.grip() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.FURNITURE_BLACK.ordinal()), new Object[] { "PDS", " G", 'P', ANY_PLASTIC.ingot(), 'D', KEY_BLACK, 'S', ANY_PLASTIC.stock(), 'G', ANY_PLASTIC.grip() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.SKIN_SATURNITE.ordinal()), new Object[] { "BRM", " P ", 'B', BIGMT.lightBarrel(), 'R', BIGMT.lightReceiver(), 'M', BIGMT.mechanism(), 'P', BIGMT.plate() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.STACK_MAG.ordinal()), new Object[] { "P P", "P P", "PMP", 'P', WEAPONSTEEL.plate(), 'M', BIGMT.mechanism() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.BAYONET.ordinal()), new Object[] { " P", "BBB", 'P', WEAPONSTEEL.plate(), 'B', STEEL.bolt() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.LAS_SHOTGUN.ordinal()), new Object[] { "PPP", "RCR", "PPP", 'P', ANY_HARDPLASTIC.ingot(), 'R', ModItems.crystal_redstone, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED) }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.LAS_CAPACITOR.ordinal()), new Object[] { "CCC", "PIP", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CAPACITOR_TANTALIUM), 'P', ANY_HARDPLASTIC.ingot(), 'I', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP_BISMOID) }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.weapon_mod_special, 1, EnumModSpecial.LAS_AUTO.ordinal()), new Object[] { " C ", "RFR", " C ", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP_BISMOID), 'R', ModItems.crystal_redstone, 'F', ANY_BISMOIDBRONZE.heavyReceiver() }); + + //Nitra! + CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M357_SP, 6), new Object[] { DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M357_SP), ModItems.nitra }); + CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M44_SP, 6), new Object[] { DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M44_SP), ModItems.nitra }); + CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P9_SP, 12), new Object[] { DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P9_SP), ModItems.nitra }); + CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P22_SP, 32), new Object[] { DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P22_SP), ModItems.nitra }); + CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R556_SP, 8), new Object[] { DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R556_SP), ModItems.nitra }); + CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R762_SP, 6), new Object[] { DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R762_SP), ModItems.nitra }); + CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.BMG50_SP, 4), new Object[] { DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.BMG50_SP), ModItems.nitra }); + CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G40_HE, 3), new Object[] { DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G40_HE), ModItems.nitra }); + CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_HE, 2), new Object[] { DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_HE), ModItems.nitra }); + + //secrets! + CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.ammo_secret, EnumAmmoSecret.M44_EQUESTRIAN, 6), new Object[] { DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M44_JHP), DictFrame.fromOne(ModItems.item_secret, EnumSecretType.SELENIUM_STEEL) }); + CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.ammo_secret, EnumAmmoSecret.G12_EQUESTRIAN, 6), new Object[] { DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12), DictFrame.fromOne(ModItems.item_secret, EnumSecretType.SELENIUM_STEEL) }); + CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.ammo_secret, EnumAmmoSecret.BMG50_EQUESTRIAN, 6), new Object[] { DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.BMG50_FMJ), DictFrame.fromOne(ModItems.item_secret, EnumSecretType.SELENIUM_STEEL) }); //Missiles CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_taint, 1), new Object[] { ModItems.missile_assembly, ModItems.bucket_mud, ModItems.powder_spark_mix, ModItems.powder_magic }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_micro, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.ammo_nuke.stackFromEnum(AmmoFatman.HIGH) }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_micro, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_HIGH) }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_bhole, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.grenade_black_hole }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_schrabidium, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.cell_anti_schrabidium, ANY_HARDPLASTIC.ingot() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_emp, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModBlocks.emp_bomb }); @@ -67,203 +197,17 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.mp_chip_5, 1), new Object[] { "P", "C", "S", 'P', ANY_RUBBER.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BISMOID), 'S', ModBlocks.steel_scaffold }); //Turrets - CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.turret_sentry, 1), new Object[] { "PPL", " MD", " SC", 'P', STEEL.plate(), 'M', ModItems.motor, 'L', ModItems.mechanism_rifle_1, 'S', ModBlocks.steel_scaffold, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'D', ModItems.crt_display }); + CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.turret_sentry, 1), new Object[] { "PPL", " MD", " SC", 'P', STEEL.plate(), 'M', ModItems.motor, 'L', GUNMETAL.mechanism(), 'S', ModBlocks.steel_scaffold, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'D', ModItems.crt_display }); //Guns - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_rpg, 1), new Object[] { "SSW", " MW", 'S', STEEL.shell(), 'W', IRON.plate(), 'M', ModItems.mechanism_launcher_1 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_panzerschreck, 1), new Object[] { "SSS", " MW", 'S', STEEL.shell(), 'W', CU.plate(), 'M', ModItems.mechanism_launcher_1 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_karl, 1), new Object[] { "SSW", " MW", 'S', STEEL.shell(), 'W', ALLOY.plate(), 'M', ModItems.mechanism_launcher_2 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_quadro, 1), new Object[] { "SSS", "SSS", "CM ", 'S', STEEL.pipe(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'M', ModItems.mechanism_launcher_2 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_hk69, 1), new Object[] { "SSI", " MB", 'S', STEEL.shell(), 'I', IRON.ingot(), 'M', ModItems.mechanism_launcher_1, 'B', STEEL.bolt() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_congolake, 1), new Object[] { "HHR", "WLW", 'H', AL.shell(), 'R', ModItems.mechanism_rifle_1, 'W', KEY_LOG, 'L', ModItems.mechanism_launcher_1 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_stinger, 1), new Object[] { "SSW", "CMW", 'S', STEEL.plate(), 'W', TI.plate(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'M', ModItems.mechanism_launcher_2 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver, 1), new Object[] { "SSM", " RW", 'S', STEEL.plate(), 'W', KEY_PLANKS, 'R', AL.wireFine(), 'M', ModItems.mechanism_revolver_1 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_saturnite, 1), new Object[] { "SSM", " RW", 'S', BIGMT.plate(), 'W', KEY_PLANKS, 'R', W.wireFine(), 'M', ModItems.mechanism_revolver_2 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_gold, 1), new Object[] { "SSM", " RW", 'S', GOLD.plate(), 'W', W.ingot(), 'R', GOLD.wireFine(), 'M', ModItems.mechanism_revolver_1 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_schrabidium, 1), new Object[] { "SSM", " RW", 'S', SA326.block(), 'W', W.ingot(), 'R', SA326.wireFine(), 'M', ModItems.mechanism_special }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_pip, 1), new Object[] { " G ", "SSP", " TI", 'G', KEY_ANYPANE, 'S', STEEL.plate(), 'P', ModItems.mechanism_revolver_2, 'T', W.wireFine(), 'I', ANY_PLASTIC.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_nopip, 1), new Object[] { "SSP", " TI", 'S', STEEL.plate(), 'P', ModItems.mechanism_revolver_2, 'T', W.wireFine(), 'I', ANY_PLASTIC.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_blackjack, 1), new Object[] { "SSP", " TI", 'S', STEEL.plate(), 'P', ModItems.mechanism_revolver_2, 'T', W.wireFine(), 'I', KEY_PLANKS }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_silver, 1), new Object[] { "SSP", " TI", 'S', AL.plate(), 'P', ModItems.mechanism_revolver_2, 'T', W.wireFine(), 'I', KEY_PLANKS }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_red, 1), new Object[] { "R ", " B", 'R', ModItems.key_red, 'B', ModItems.gun_revolver_blackjack }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_deagle, 1), new Object[] { "PPM", " BI", 'P', STEEL.plate(), 'B', STEEL.bolt(), 'I', ANY_PLASTIC.ingot(), 'M', ModItems.mechanism_rifle_1 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_uac_pistol, 1), new Object[] { "IIM", " BI", 'B', DURA.bolt(), 'I', ANY_PLASTIC.ingot(), 'M', ModItems.mechanism_rifle_1 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_cursed, 1), new Object[] { "TTM", "SRI", 'S', STEEL.plate(), 'I', STEEL.ingot(), 'R', MINGRADE.wireFine(), 'T', TI.plate(), 'M', ModItems.mechanism_revolver_2 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_nightmare, 1), new Object[] { "SEM", " RW", 'S', STEEL.plate(), 'W', KEY_PLANKS, 'R', AL.wireFine(), 'E', ModItems.powder_power, 'M', ModItems.mechanism_revolver_2 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_nightmare2, 1), new Object[] { "SSM", "RRW", 'S', OreDictManager.getReflector(), 'W', W.ingot(), 'R', GOLD.wireFine(), 'M', ModItems.mechanism_special }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_bio_revolver, 1), new Object[] { "SSM", "BTW", 'S', STEEL.plate(), 'M', ModItems.mechanism_revolver_2, 'B', B.ingot(), 'T', W.bolt(), 'W', KEY_LOG }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_chemthrower, 1), new Object[] { "RWC", "HHT", "RLC", 'R', RUBBER.ingot(), 'W', ModItems.wrench, 'C', CU.plate(), 'H', STEEL.shell(), 'T', ModItems.tank_steel, 'L', ModItems.mechanism_launcher_2 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_fatman, 1), new Object[] { "SSI", "IIM", "WPH", 'S', STEEL.plate(), 'I', STEEL.ingot(), 'W', AL.wireFine(), 'H', STEEL.shell(), 'P', Item.getItemFromBlock(Blocks.piston), 'M', ModItems.mechanism_launcher_2 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_mirv, 1), new Object[] { "LLL", "WFW", "SSS", 'S', STEEL.plate(), 'L', PB.plate(), 'W', GOLD.wireFine(), 'F', ModItems.gun_fatman }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_proto, 1), new Object[] { "LLL", "WFW", "SSS", 'S', ANY_RUBBER.ingot(), 'L', ModItems.plate_desh, 'W', W.wireFine(), 'F', ModItems.gun_fatman }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_nuke, 1, AmmoFatman.BALEFIRE.ordinal()), new Object[] { " S ", "EBE", " S ", 'S', STEEL.shell(), 'E', ModItems.powder_power, 'B', ModItems.egg_balefire_shard }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_mp40, 1), new Object[] { "IIM", " SW", " S ", 'S', STEEL.plate(), 'I', STEEL.ingot(), 'W', KEY_PLANKS, 'M', ModItems.mechanism_rifle_1 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_thompson, 1), new Object[] { "IIM", " SW", " S ", 'S', IRON.plate(), 'I', STEEL.plate(), 'W', KEY_PLANKS, 'M', ModItems.mechanism_rifle_2 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_flechette, 1), new Object[] { "PPM", "TIS", "G ", 'P', STEEL.plate(), 'M', ModItems.mechanism_rifle_2, 'T', STEEL.shell(), 'I', STEEL.ingot(), 'S', ANY_PLASTIC.ingot(), 'G', ModItems.mechanism_launcher_1 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_uboinik, 1), new Object[] { "IIM", "SPW", 'P', STEEL.plate(), 'I', STEEL.ingot(), 'W', KEY_PLANKS, 'S', KEY_STICK, 'M', ModItems.mechanism_revolver_2 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_supershotgun, 1), new Object[] { "BBM", "BBM", "AWL", 'B', STEEL.pipe(), 'M', ModItems.mechanism_rifle_2, 'A', ModItems.plate_dalekanium, 'W', GOLD.wireFine(), 'L', KEY_LOG }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_ks23, 1), new Object[] { "PPM", "SWL", 'P', STEEL.plate(), 'M', ModItems.mechanism_rifle_1, 'S', KEY_STICK, 'W', W.wireFine(), 'L', KEY_LOG }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.gun_sauer, 1), new Object[] { ModItems.ducttape, ModItems.gun_ks23, Blocks.lever, ModItems.gun_ks23 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_xvl1456, 1), new Object[] { "PBB", "ACC", "PRY", 'P', STEEL.plate(), 'R', ModItems.redcoil_capacitor, 'A', ModItems.coil_advanced_alloy, 'B', ModItems.battery_generic, 'C', ModItems.coil_advanced_torus, 'Y', ModItems.mechanism_special }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_xvl1456_ammo, 16), new Object[] { " S ", "SRS", " S ", 'S', STEEL.plate(), 'R', ModItems.waste_natural_uranium }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_xvl1456_ammo, 16), new Object[] { " S ", "SRS", " S ", 'S', STEEL.plate(), 'R', ModItems.waste_uranium }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_xvl1456_ammo, 20), new Object[] { " S ", " R ", " S ", 'S', STEEL.plate(), 'R', ModItems.waste_plate_u235 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_xvl1456_ammo, 16), new Object[] { "SRS", 'S', STEEL.plate(), 'R', ModItems.waste_u235 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_xvl1456_ammo, 16), new Object[] { " S ", " R ", " S ", 'S', STEEL.plate(), 'R', U238.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_xvl1456_ammo, 16), new Object[] { "SRS", 'S', STEEL.plate(), 'R', U238.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_osipr, 1), new Object[] { "CCT", "WWI", "MCC", 'C', CMB.plate(), 'T', W.ingot(), 'W', MAGTUNG.wireFine(), 'I', ModItems.mechanism_rifle_2, 'M', ModItems.coil_magnetized_tungsten }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_immolator, 1), new Object[] { "WCC", "PMT", "WAA", 'W', GOLD.wireFine(), 'C', CU.plate(), 'P', ALLOY.plate(), 'M', ModItems.mechanism_launcher_1, 'T', ModItems.tank_steel, 'A', STEEL.plate() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_immolator_ammo, 16), new Object[] { "SPS", "PCP", "SPS", 'S', STEEL.plate(), 'C', COAL.dust(), 'P', P_RED.dust() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_immolator_ammo, 16), new Object[] { " F ", "SFS", " F ", 'S', STEEL.plate(), 'F', Fluids.DIESEL.getDict(1000) }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_immolator_ammo, 24), new Object[] { " F ", "SFS", " F ", 'S', STEEL.plate(), 'F', ModItems.canister_napalm }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_flamer, 1), new Object[] { "WSS", "SCT", "WMI", 'W', GOLD.wireFine(), 'S', STEEL.pipe(), 'C', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'M', ModItems.mechanism_launcher_1, 'I', STEEL.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_cryolator, 1), new Object[] { "SSS", "IWL", "LMI", 'S', STEEL.plate(), 'I', IRON.plate(), 'L', Items.leather, 'M', ModItems.mechanism_launcher_1, 'W', AL.wireFine() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_cryolator_ammo, 16), new Object[] { "SPS", "PCP", "SPS", 'S', STEEL.plate(), 'C', KNO.dust(), 'P', Items.snowball }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_cryolator_ammo, 16), new Object[] { " F ", "SFS", " F ", 'S', STEEL.plate(), 'F', ModItems.powder_ice }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_mp, 1), new Object[] { "EEE", "SSM", "III", 'E', EUPH.ingot(), 'S', STEEL.plate(), 'I', STEEL.ingot(), 'M', ModItems.mechanism_rifle_2 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_emp, 1), new Object[] { "CPG", "CMF", "CPI", 'C', ModItems.coil_copper, 'P', PB.plate(), 'G', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'M', ModItems.magnetron, 'I', W.ingot(), 'F', ModItems.mechanism_special }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_emp_ammo, 8), new Object[] { "IGI", "IPI", "IPI", 'G', GOLD.plate(), 'I', IRON.plate(), 'P', ModItems.powder_power }); - //CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_jack, 1), new Object[] { "WW ", "TSD", " TT", 'W', "ingotWeidanium", 'T', ModItems.toothpicks, 'S', ModItems.gun_uboinik, 'D', ModItems.ducttape }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.gun_jack_ammo, 1), new Object[] { ModItems.ammo_12gauge, ModItems.ammo_12gauge, ModItems.ammo_12gauge, ModItems.ammo_12gauge }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_euthanasia, 1), new Object[] { "TDT", "AAS", " T ", 'A', AUSTRALIUM.ingot(), 'T', ModItems.toothpicks, 'S', ModItems.gun_mp40, 'D', ModItems.ducttape }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_euthanasia_ammo, 12), new Object[] { "P", "S", "N", 'P', ModItems.powder_poison, 'N', KNO.dust(), 'S', ModItems.syringe_metal_empty }); - //CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_spark, 1), new Object[] { "TTD", "AAS", " T", 'A', "ingotDaffergon", 'T', ModItems.toothpicks, 'S', ModItems.gun_rpg, 'D', ModItems.ducttape }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_spark_ammo, 4), new Object[] { "PCP", "DDD", "PCP", 'P', PB.plate(), 'C', ModItems.coil_gold, 'D', ModItems.powder_power }); - //CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_skystinger, 1), new Object[] { "TTT", "AAS", " D ", 'A', "ingotUnobtainium", 'T', ModItems.toothpicks, 'S', ModItems.gun_stinger, 'D', ModItems.ducttape }); - //CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_hp, 1), new Object[] { "TDT", "ASA", " T ", 'A', "ingotReiium", 'T', ModItems.toothpicks, 'S', ModItems.gun_xvl1456, 'D', ModItems.ducttape }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_hp_ammo, 8), new Object[] { " R ", "BSK", " Y ", 'S', STEEL.plate(), 'K', KEY_BLACK, 'R', KEY_RED, 'B', KEY_BLUE, 'Y', KEY_YELLOW }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_defabricator_ammo, 16), new Object[] { "PCP", "DDD", "PCP", 'P', STEEL.plate(), 'C', ModItems.coil_copper, 'D', LI.dust() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_lever_action, 1), new Object[] { "PPI", "SWD", 'P', IRON.plate(), 'I', ModItems.mechanism_rifle_1, 'S', KEY_STICK, 'D', KEY_PLANKS, 'W', STEEL.wireFine() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_lever_action_dark, 1), new Object[] { "PPI", "SWD", 'P', STEEL.plate(), 'I', ModItems.mechanism_rifle_1, 'S', KEY_STICK, 'D', KEY_PLANKS, 'W', STEEL.wireFine() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_bolt_action, 1), new Object[] { "PPI", "SWD", 'P', STEEL.plate(), 'I', ModItems.mechanism_rifle_1, 'S', KEY_STICK, 'D', KEY_PLANKS, 'W', CU.wireFine() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_bolt_action_green, 1), new Object[] { "PPI", "SWD", 'P', IRON.plate(), 'I', ModItems.mechanism_rifle_1, 'S', KEY_STICK, 'D', KEY_PLANKS, 'W', CU.wireFine() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_bolt_action_saturnite, 1), new Object[] { "PPI", "SWD", 'P', BIGMT.plate(), 'I', ModItems.mechanism_rifle_1, 'S', KEY_STICK, 'D', KEY_PLANKS, 'W', W.wireFine() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_b92), new Object[] { "DDD", "SSC", " R", 'D', ModItems.plate_dineutronium, 'S', STAR.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BISMOID), 'R', ModItems.gun_revolver_schrabidium }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_b93), new Object[] { "PCE", "SEB", "PCE", 'P', ModItems.plate_dineutronium, 'C', ModItems.weaponized_starblaster_cell, 'E', ModItems.component_emitter, 'B', ModItems.gun_b92, 'S', ModItems.singularity_spark }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_b92), new Object[] { "DDD", "SSC", " R", 'D', ModItems.plate_dineutronium, 'S', STAR.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BISMOID), 'R', ModItems.gun_lasrifle }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_b92_ammo, 1), new Object[] { "PSP", "ESE", "PSP", 'P', STEEL.plate(), 'S', STAR.ingot(), 'E', ModItems.powder_spark_mix }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.weaponized_starblaster_cell, 1), new Object[] { new ItemStack(ModItems.fluid_tank_full, 1, Fluids.PEROXIDE.getID()), GunB92Cell.getFullCell(), CU.wireFine() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_uzi, 1), new Object[] { "SMS", " PB", " P ", 'S', STEEL.ingot(), 'M', ModItems.mechanism_rifle_2, 'P', STEEL.plate(), 'B', DURA.bolt() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_uzi_silencer, 1), new Object[] { "P ", " P ", " U", 'P', ANY_PLASTIC.ingot(), 'U', ModItems.gun_uzi }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_uzi_saturnite, 1), new Object[] { "SMS", " PB", " P ", 'S', BIGMT.ingot(), 'M', ModItems.mechanism_rifle_2, 'P', BIGMT.plate(), 'B', W.bolt() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_uzi_saturnite_silencer, 1), new Object[] { "P ", " P ", " U", 'P', ANY_PLASTIC.ingot(), 'U', ModItems.gun_uzi_saturnite }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_bolter, 1), new Object[] { "SSM", "PIP", " I ", 'S', BIGMT.plate(), 'I', BIGMT.ingot(), 'M', ModItems.mechanism_special, 'P', ANY_PLASTIC.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_calamity, 1), new Object[] { " PI", "BBM", " PI", 'P', IRON.plate(), 'B', STEEL.pipe(), 'M', ModItems.mechanism_rifle_1, 'I', STEEL.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_m2, 1), new Object[] { " PI", "BBM", " PI", 'P', STEEL.plate(), 'B', STEEL.pipe(), 'M', ModItems.mechanism_rifle_2, 'I', STEEL.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_minigun, 1), new Object[] { "PIB", "PCM", "PIB", 'P', STEEL.pipe(), 'B', STEEL.block(), 'I', ANY_PLASTIC.ingot(), 'C', ModItems.mechanism_rifle_2, 'M', ModItems.motor }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_lacunae, 1), new Object[] { "TIT", "ILI", "PRP", 'T', ModItems.syringe_taint, 'I', STAR.ingot(), 'L', ModItems.gun_minigun, 'P', ModItems.pellet_rtg, 'R', ModBlocks.machine_rtg_grey }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_mymy, 1), new Object[] { "PP ", " WP", 'P', ANY_RUBBER.ingot(), 'W', STEEL.wireFine() }); - //CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_darter, 1), new Object[] { "SST", " P", 'S', STEEL.plate(), 'T', ModItems.gas_empty, 'P', ANY_PLASTIC.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_fireext, 1), new Object[] { "HB", " T", 'H', STEEL.pipe(), 'B', STEEL.bolt(), 'T', ModItems.tank_steel }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_spas12, 1), new Object[] { "TPS", "HHR", " L", 'T', STEEL.bolt(), 'P', STEEL.plate(), 'S', STEEL.ingot(), 'H', STEEL.pipe(), 'R', ModItems.mechanism_rifle_1, 'L', ANY_PLASTIC.ingot()}); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_glass_cannon, 1), new Object[] { "GGC", "GTM", 'G', Item.getItemFromBlock(ModBlocks.glass_quartz), 'C', ModItems.battery_lithium_cell, 'T', ModItems.crt_display, 'M', ModItems.mechanism_special }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_remington, 1), new Object[] { "PPM", "S L", 'P', STEEL.plate(), 'M', ModItems.mechanism_rifle_1, 'S', KEY_SLAB, 'L', KEY_LOG }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_benelli), new Object[] { "HHP", "SSM", "AAP", 'H', ModItems.ingot_dura_steel, 'S', STEEL.pipe(), 'A', AL.pipe(), 'P', ANY_PLASTIC.ingot(), 'M', ModItems.mechanism_rifle_2 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_lunatic_marksman), new Object[] { " GN", "SSM", " A", 'G', KEY_ANYPANE, 'N', ModItems.powder_nitan_mix, 'S', BIGMT.plate(), 'M', ModItems.mechanism_special, 'A', ANY_RESISTANTALLOY.plateCast() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_coilgun), new Object[] { "CCC", "SSM", " P", 'C', ModBlocks.capacitor_copper, 'S', BIGMT.plate(), 'M', ModItems.mechanism_special, 'P', ANY_PLASTIC.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_coilgun, 16, 0), new Object[] { " T ", "TST", " T ", 'T', W.ingot(), 'S', BIGMT.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_coilgun, 16, 1), new Object[] { " T ", "TST", " T ", 'T', FERRO.ingot(), 'S', BIGMT.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_coilgun, 16, 2), new Object[] { " T ", "TST", " T ", 'T', RUBBER.ingot(), 'S', ANY_PLASTIC.ingot() }); - //TODO: somehow add more variance, 4 gauge is still missing - CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_22lr, 16), new Object[] { ModItems.nitra_small }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_9mm, 16), new Object[] { ModItems.nitra_small, ModItems.nitra_small }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_5mm, 16), new Object[] { ModItems.nitra_small, ModItems.nitra_small, ModItems.nitra_small }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_357, 16, Ammo357Magnum.LEAD.ordinal()), new Object[] { ModItems.nitra, ModItems.nitra_small }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_44, 16), new Object[] { ModItems.nitra, ModItems.nitra_small, ModItems.nitra_small }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_45, 16), new Object[] { ModItems.nitra, ModItems.nitra_small, ModItems.nitra_small, ModItems.nitra_small }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_50ae, 16), new Object[] { ModItems.nitra, ModItems.nitra }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_556, 16), new Object[] { ModItems.nitra, ModItems.nitra, ModItems.nitra_small }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_20gauge, 16), new Object[] { ModItems.nitra, ModItems.nitra, ModItems.nitra_small, ModItems.nitra_small }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_12gauge, 16), new Object[] { ModItems.nitra, ModItems.nitra, ModItems.nitra }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_762, 16), new Object[] { ModItems.nitra, ModItems.nitra, ModItems.nitra, ModItems.nitra_small }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_50bmg, 16), new Object[] { ModItems.nitra, ModItems.nitra, ModItems.nitra, ModItems.nitra }); //Ammo assemblies - CraftingManager.addRecipeAuto(new ItemStack(ModItems.pellet_flechette, 1), new Object[] { " L ", " L ", "LLL", 'L', PB.nugget() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.pellet_claws, 1), new Object[] { " X ", "X X", " XX", 'X', STEEL.plate() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_iron, 1), new Object[] { " I", "GC", 'I', IRON.ingot(), 'G', ANY_GUNPOWDER.dust(), 'C', ModItems.casing_357 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_steel, 1), new Object[] { " I", "GC", 'I', PB.ingot(), 'G', ANY_GUNPOWDER.dust(), 'C', ModItems.casing_357 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_lead, 1), new Object[] { " I", "GC", 'I', U235.ingot(), 'G', ModItems.cordite, 'C', KEY_CLEARGLASS }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_lead, 1), new Object[] { " I", "GC", 'I', PU239.ingot(), 'G', ModItems.cordite, 'C', KEY_CLEARGLASS }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_lead, 1), new Object[] { " I", "GC", 'I', ModItems.trinitite, 'G', ModItems.cordite, 'C', KEY_CLEARGLASS }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_lead, 1), new Object[] { " I", "GC", 'I', ModItems.nuclear_waste_tiny, 'G', ModItems.cordite, 'C', KEY_CLEARGLASS }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_gold, 1), new Object[] { " I", "GC", 'I', GOLD.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_357 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_schrabidium, 1), new Object[] { " I ", "GCN", 'I', SA326.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_357, 'N', ModItems.billet_yharonite }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_nightmare, 1), new Object[] { " I", "GC", 'I', W.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_357 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_desh, 1), new Object[] { " I", "GC", 'I', DESH.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_357 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_smg, 1), new Object[] { " I", "GC", 'I', PB.ingot(), 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_9 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_556, 1), new Object[] { " I", "GC", 'I', STEEL.ingot(), 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_9 }); - CraftingManager.addRecipeAuto(ModItems.ammo_556.stackFromEnum(30, Ammo556mm.K), new Object[] { "G", "C", 'G', ANY_GUNPOWDER.dust(), 'C', ModItems.casing_9 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_uzi, 1), new Object[] { " I", "GC", 'I', IRON.ingot(), 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_9 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_lacunae, 1), new Object[] { " I", "GC", 'I', CU.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_9 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_nopip, 1), new Object[] { " I", "GC", 'I', PB.ingot(), 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_44 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_12gauge, 12), new Object[] { " I ", "GCL", 'I', ModItems.pellet_buckshot, 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_buckshot, 'L', ANY_RUBBER.ingot() }); - CraftingManager.addRecipeAuto(ModItems.ammo_12gauge.stackFromEnum(12, Ammo12Gauge.PERCUSSION), new Object[] { "G", "C", 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_buckshot }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge, 12), new Object[] { " I ", "GCL", 'I', ModItems.pellet_buckshot, 'G', ModItems.cordite, 'C', ModItems.casing_50, 'L', ANY_RUBBER.ingot() }); - CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(12, Ammo4Gauge.SLUG), new Object[] { " I ", "GCL", 'I', STEEL.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_50, 'L', ANY_RUBBER.ingot() }); - CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(12, Ammo4Gauge.FLECHETTE), new Object[] { " I ", "GCL", 'I', ModItems.pellet_flechette, 'G', ModItems.cordite, 'C', ModItems.casing_50, 'L', ANY_RUBBER.ingot() }); - CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.EXPLOSIVE), new Object[] { " I ", "GCL", 'I', ModBlocks.tnt, 'G', ModItems.cordite, 'C', ModItems.casing_50, 'L', ANY_RUBBER.ingot() }); - CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(6, Ammo4Gauge.EXPLOSIVE), new Object[] { " I ", "GCL", 'I', ANY_PLASTICEXPLOSIVE.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_50, 'L', ANY_RUBBER.ingot() }); - CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.MINING), new Object[] { " I ", "GCL", 'I', ModBlocks.det_miner, 'G', ModItems.cordite, 'C', ModItems.casing_50, 'L', ANY_RUBBER.ingot() }); - CraftingManager.addShapelessAuto(ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.QUACK), new Object[] { ModItems.ammo_4gauge, ModItems.nugget_bismuth, ModItems.nugget_tantalium, ModItems.ball_dynamite }); - CraftingManager.addRecipeAuto(ModItems.ammo_20gauge.stackFromEnum(12, Ammo20Gauge.STOCK), new Object[] { " I ", "GCL", 'I', ModItems.pellet_buckshot, 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_buckshot, 'L', CU.plate() }); - CraftingManager.addRecipeAuto(ModItems.ammo_20gauge.stackFromEnum(12, Ammo20Gauge.SLUG), new Object[] { " I ", "GCL", 'I', PB.ingot(), 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_buckshot, 'L', CU.plate() }); - CraftingManager.addRecipeAuto(ModItems.ammo_20gauge.stackFromEnum(12, Ammo20Gauge.EXPLOSIVE), new Object[] { " I ", "GCL", 'I', ModItems.pellet_cluster, 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_buckshot, 'L', CU.plate() }); - CraftingManager.addRecipeAuto(ModItems.ammo_20gauge.stackFromEnum(20, Ammo20Gauge.FLECHETTE), new Object[] { " I ", "GCL", 'I', ModItems.pellet_flechette, 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_buckshot, 'L', CU.plate() }); - CraftingManager.addRecipeAuto(ModItems.ammo_357.stackFromEnum(6, Ammo357Magnum.NIGHTMARE2), new Object[] { "I", "C", 'I', ModItems.powder_power, 'C', ModItems.casing_buckshot }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_calamity, 1), new Object[] { " I ", "GCG", 'I', PB.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_50 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_actionexpress, 1), new Object[] { " I", "GC", 'I', PB.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_50 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_nuke, 1), new Object[] { " WP", "SEP", " WP", 'W', STEEL.wireFine(), 'P', STEEL.plate(), 'S', STEEL.shell(), 'E', ANY_HIGHEXPLOSIVE.ingot() }); - CraftingManager.addRecipeAuto(ModItems.ammo_dart.stackFromEnum(16, AmmoDart.GPS), new Object[] { "IPI", "ICI", "IPI", 'I', ANY_RUBBER.ingot(), 'P', IRON.plate(), 'C', new ItemStack(ModItems.fluid_tank_lead_full, 1, Fluids.WATZ.getID()) }); - CraftingManager.addRecipeAuto(ModItems.ammo_dart.stackFromEnum(16, AmmoDart.NERF), new Object[] { "I", "I", 'I', ANY_RUBBER.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_45, 1), " I", "GC", 'I', CU.ingot(), 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_44); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_762, 1), " I", "GC", 'I', CU.ingot(), 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_50); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_luna, 1), new Object[] { " B ", "GCG", "GPG", 'B', FERRO.ingot(), 'G', ModItems.powder_nitan_mix, 'C', ModItems.casing_50, 'P', ModItems.powder_power}); - - //Folly shells - CraftingManager.addRecipeAuto(new ItemStack(ModItems.folly_bullet, 1), new Object[] { " S ", "STS", "SMS", 'S', STAR.ingot(), 'T', ModItems.powder_magic, 'M', ModBlocks.block_meteor }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.folly_bullet_nuclear, 1), new Object[] { " N ", "UTU", "UTU", 'N', ModItems.ammo_nuke, 'U', IRON.ingot(), 'T', W.block() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.folly_bullet_du, 1), new Object[] { " U ", "UDU", "UTU", 'U', U238.block(), 'D', DESH.block(), 'T', W.block() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.folly_shell, 1), new Object[] { "IPI", "IPI", "IMI", 'I', IRON.ingot(), 'P', IRON.plate(), 'M', ANY_SMOKELESS.dust() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_folly, 1), new Object[] { " B ", "MEM", " S ", 'B', ModItems.folly_bullet, 'M', ModItems.powder_magic, 'E', ModItems.powder_power, 'S', ModItems.folly_shell }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_folly_nuclear, 1), new Object[] { " B ", "EEE", " S ", 'B', ModItems.folly_bullet_nuclear, 'E', ModBlocks.det_charge, 'S', ModItems.folly_shell }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_folly_du, 1), new Object[] { " B ", "EEE", " S ", 'B', ModItems.folly_bullet_du, 'E', ModBlocks.det_charge, 'S', ModItems.folly_shell }); - - //Rockets - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket, 1), new Object[] { "T", "C", "G", 'T', ModItems.ball_dynamite, 'G', ModItems.rocket_fuel, 'C', STEEL.shell() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket, 2), new Object[] { "T", "C", "G", 'T', ANY_PLASTICEXPLOSIVE.ingot(), 'G', ModItems.rocket_fuel, 'C', STEEL.shell() }); - CraftingManager.addRecipeAuto(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.HE), new Object[] { "G", "R", 'G', ANY_PLASTICEXPLOSIVE.ingot(), 'R', ModItems.ammo_rocket }); - CraftingManager.addRecipeAuto(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.INCENDIARY), new Object[] { "G", "R", 'G', P_RED.dust(), 'R', ModItems.ammo_rocket }); - CraftingManager.addRecipeAuto(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.PHOSPHORUS), new Object[] { "G", "R", 'G', P_WHITE.ingot(), 'R', ModItems.ammo_rocket }); - CraftingManager.addRecipeAuto(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.EMP), new Object[] { "G", "R", 'G', "dustDiamond", 'R', ModItems.ammo_rocket }); - CraftingManager.addRecipeAuto(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.SHRAPNEL), new Object[] { "G", "R", 'G', ModItems.pellet_buckshot, 'R', ModItems.ammo_rocket }); - CraftingManager.addRecipeAuto(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.GLARE), new Object[] { "GGG", "GRG", "GGG", 'G', REDSTONE.dust(), 'R', ModItems.ammo_rocket }); - CraftingManager.addRecipeAuto(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.CHLORINE), new Object[] { "G", "R", 'G', ModItems.pellet_gas, 'R', ModItems.ammo_rocket }); - CraftingManager.addRecipeAuto(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.CANISTER), new Object[] { "G", "R", 'G', ModItems.pellet_canister, 'R', ModItems.ammo_rocket }); - CraftingManager.addRecipeAuto(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.NUCLEAR), new Object[] { " P ", "NRN", " P ", 'P', PU239.nugget(), 'N', OreDictManager.getReflector(), 'R', ModItems.ammo_rocket }); - - FluidType[] chainsawTypes = new FluidType[] {Fluids.DIESEL, Fluids.DIESEL_CRACK, Fluids.PETROIL, Fluids.PETROIL_LEADED, Fluids.GASOLINE, Fluids.GASOLINE_LEADED, Fluids.BIOFUEL}; - for(FluidType type : chainsawTypes) CraftingManager.addRecipeAuto(ModItems.ammo_rocket.stackFromEnum(2, AmmoRocket.RPC), new Object[] { "BP ", "CBH", " DR", 'B', ModItems.blades_steel, 'P', STEEL.plate(), 'C', type.getDict(1000), 'H', STEEL.shell(), 'D', ModItems.piston_selenium, 'R', ModItems.ammo_rocket }); - - //Stinger Rockets - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_stinger_rocket, 2), "CE ", " S ", " F ", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), 'E', ANY_PLASTICEXPLOSIVE.ingot(), 'F', ModItems.rocket_fuel, 'S', STEEL.shell()); - CraftingManager.addRecipeAuto(ModItems.ammo_stinger_rocket.stackFromEnum(AmmoStinger.HE), new Object[] { "S", "R", 'S', ANY_PLASTICEXPLOSIVE.ingot(), 'R', ModItems.ammo_stinger_rocket }); - CraftingManager.addRecipeAuto(ModItems.ammo_stinger_rocket.stackFromEnum(AmmoStinger.INCENDIARY), new Object[] { "S", "R", 'S', P_RED.dust(), 'R', ModItems.ammo_stinger_rocket }); - CraftingManager.addRecipeAuto(ModItems.ammo_stinger_rocket.stackFromEnum(AmmoStinger.NUCLEAR), new Object[] { "RPR", "PSP", "RPR", 'R', ModItems.neutron_reflector, 'P', PU239.nugget(), 'S', ModItems.ammo_stinger_rocket.stackFromEnum(AmmoStinger.HE) }); - CraftingManager.addRecipeAuto(ModItems.ammo_stinger_rocket.stackFromEnum(AmmoStinger.BONES), new Object[] { " C ", "SKR", " P ", 'C', ModItems.fallout, 'S', SR90.dust(), 'K', ModItems.ammo_stinger_rocket, 'R', RA226.dust(), 'P', PU.dust() }); - - //40mm grenades - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_grenade, 2), new Object[] { " T ", "GCI", 'T', ANY_HIGHEXPLOSIVE.ingot(), 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_50, 'I', IRON.plate() }); - CraftingManager.addRecipeAuto(ModItems.ammo_grenade.stackFromEnum(2, AmmoGrenade.TRACER), new Object[] { " T ", "GCI", 'T', LAPIS.dust(), 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_50, 'I', IRON.plate() }); - CraftingManager.addRecipeAuto(ModItems.ammo_grenade.stackFromEnum(2, AmmoGrenade.HE), new Object[] { "GIG", 'G', ModItems.ammo_grenade, 'I', ANY_PLASTICEXPLOSIVE.ingot() }); - CraftingManager.addRecipeAuto(ModItems.ammo_grenade.stackFromEnum(2, AmmoGrenade.INCENDIARY), new Object[] { "GIG", 'G', ModItems.ammo_grenade, 'I', P_RED.dust() }); - CraftingManager.addRecipeAuto(ModItems.ammo_grenade.stackFromEnum(2, AmmoGrenade.PHOSPHORUS), new Object[] { "GIG", 'G', ModItems.ammo_grenade, 'I', P_WHITE.ingot() }); - CraftingManager.addRecipeAuto(ModItems.ammo_grenade.stackFromEnum(2, AmmoGrenade.CHLORINE), new Object[] { "GIG", 'G', ModItems.ammo_grenade, 'I', ModItems.powder_poison }); - CraftingManager.addRecipeAuto(ModItems.ammo_grenade.stackFromEnum(2, AmmoGrenade.CONCUSSION), new Object[] { "GIG", 'G', ModItems.ammo_grenade, 'I', Items.glowstone_dust }); - CraftingManager.addRecipeAuto(ModItems.ammo_grenade.stackFromEnum(2, AmmoGrenade.NUCLEAR), new Object[] { " P ", "GIG", " P ", 'G', ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.HE), 'I', ModItems.neutron_reflector, 'P', PU239.nugget() }); - CraftingManager.addRecipeAuto(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.FINNED), new Object[] { "G", "R", 'G', Items.feather, 'R', ModItems.ammo_grenade }); - CraftingManager.addRecipeAuto(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.KAMPF), new Object[] { "G", "R", 'G', ModItems.ammo_rocket, 'R', ModItems.ammo_grenade }); - CraftingManager.addRecipeAuto(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.LEADBURSTER), new Object[] { "LCL", "CHC", "LML", 'L', ModItems.pellet_buckshot, 'C', ANY_SMOKELESS.dust(), 'H', AL.shell(), 'M', ModItems.motor }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_nuke, 1), new Object[] { " WP", "SEP", " WP", 'W', GOLD.wireFine(), 'P', STEEL.plate(), 'S', STEEL.shell(), 'E', ModItems.ball_tatb }); //240mm Shells CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell, 4), new Object[] { " T ", "GHG", "CCC", 'T', ModBlocks.tnt, 'G', Items.gunpowder, 'H', STEEL.shell(), 'C', CU.ingot() }); @@ -294,35 +238,6 @@ public class WeaponRecipes { //DGK Belts CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_dgk, 1), new Object[] { "LLL", "GGG", "CCC", 'L', PB.plate(), 'G', ModItems.ballistite, 'C', CU.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_dgk, 1), new Object[] { "LLL", "GGG", "CCC", 'L', PB.plate(), 'G', ModItems.cordite, 'C', CU.ingot() }); - - //Mini Nuke - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_nuke, 1), new Object[] { "P", "S", "P", 'P', PU239.nugget(), 'S', ModItems.assembly_nuke }); - CraftingManager.addRecipeAuto(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.LOW), new Object[] { "P", "S", 'P', PU239.nugget(), 'S', ModItems.assembly_nuke }); - CraftingManager.addRecipeAuto(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.HIGH), new Object[] { "PPP", "PSP", "PPP", 'P', PU239.nugget(), 'S', ModItems.assembly_nuke }); - CraftingManager.addRecipeAuto(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.TOTS), new Object[] { "PPP", "PIP", "PPP", 'P', ModItems.pellet_cluster, 'I', PU239.ingot() }); - CraftingManager.addRecipeAuto(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.SAFE), new Object[] { "G", "N", 'G', Items.glowstone_dust, 'N', ModItems.ammo_nuke.stackFromEnum(AmmoFatman.LOW) }); - CraftingManager.addRecipeAuto(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.PUMPKIN), new Object[] { " T ", "TST", " T ", 'T', ModBlocks.tnt, 'S', ModItems.assembly_nuke }); - - //MIRV recycling - CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_nuke, 6), new Object[] { ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV) }); - CraftingManager.addShapelessAuto(ModItems.ammo_nuke.stackFromEnum(6, AmmoFatman.LOW), new Object[] { ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV_LOW) }); - CraftingManager.addShapelessAuto(ModItems.ammo_nuke.stackFromEnum(6, AmmoFatman.HIGH), new Object[] { ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV_HIGH) }); - CraftingManager.addShapelessAuto(ModItems.ammo_nuke.stackFromEnum(6, AmmoFatman.SAFE), new Object[] { ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV_SAFE) }); - - //MIRV - CraftingManager.addRecipeAuto(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV), new Object[] { "NNN", "CDS", "NNN", 'N', ModItems.ammo_nuke, 'C', AL.plate(), 'D', ModBlocks.det_cord, 'S', STEEL.shell() }); - CraftingManager.addRecipeAuto(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV_LOW), new Object[] { "NNN", "CDS", "NNN", 'N', ModItems.ammo_nuke.stackFromEnum(AmmoFatman.LOW), 'C', AL.plate(), 'D', ModBlocks.det_cord, 'S', STEEL.shell() }); - CraftingManager.addRecipeAuto(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV_HIGH), new Object[] { "NNN", "CDS", "NNN", 'N', ModItems.ammo_nuke.stackFromEnum(AmmoFatman.HIGH), 'C', AL.plate(), 'D', ModBlocks.det_cord, 'S', STEEL.shell() }); - CraftingManager.addRecipeAuto(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV_SAFE), new Object[] { "NNN", "CDS", "NNN", 'N', ModItems.ammo_nuke.stackFromEnum(AmmoFatman.SAFE), 'C', AL.plate(), 'D', ModBlocks.det_cord, 'S', STEEL.shell() }); - //since the milk part of the recipe isn't really present in the MIRV's effect, it might as well be replaced with something more sensible, i.e. duct tape - CraftingManager.addRecipeAuto(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV_SPECIAL), new Object[] { "CBC", "MCM", "CBC", 'C', ModItems.canned_conserve.stackFromEnum(EnumFoodType.JIZZ), 'B', ModItems.ammo_nuke.stackFromEnum(AmmoFatman.BALEFIRE), 'M', ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV) }); - - //Flamer fuel - CraftingManager.addRecipeAuto(ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.DIESEL), new Object[] { " P ", "BDB", " P ", 'P', STEEL.plate(), 'B', STEEL.bolt(), 'D', Fluids.DIESEL.getDict(1000) }); - CraftingManager.addRecipeAuto(ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.NAPALM), new Object[] { " P ", "BDB", " P ", 'P', STEEL.plate(), 'B', STEEL.bolt(), 'D', ModItems.canister_napalm }); - CraftingManager.addRecipeAuto(ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.PHOSPHORUS), new Object[] { "CPC", "CDC", "CPC", 'C', COAL.dust(), 'P', P_WHITE.ingot(), 'D', ModItems.ammo_fuel }); - CraftingManager.addRecipeAuto(ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.CHLORINE), new Object[] { "PDP", "BDB", "PDP", 'P', STEEL.plate(), 'B', STEEL.bolt(), 'D', ModItems.pellet_gas }); - CraftingManager.addRecipeAuto(ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.VAPORIZER), new Object[] { "PSP", "SNS", "PSP", 'P', P_WHITE.ingot(), 'S', ModItems.crystal_sulfur, 'N', ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.NAPALM) }); //Fire Extingusisher Tanks CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_fireext, 1), new Object[] { " P ", "BDB", " P ", 'P', STEEL.plate(), 'B', STEEL.bolt(), 'D', new ItemStack(ModItems.fluid_tank_full, 1, Fluids.WATER.getID()) }); @@ -345,7 +260,6 @@ public class WeaponRecipes { CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { Fluids.GASOLINE_LEADED.getDict(1000), Items.flint }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_gascan, 1), new Object[] { Fluids.BIOFUEL.getDict(1000), Items.flint }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_lemon, 1), new Object[] { ModItems.lemon, ModItems.grenade_strong }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.gun_moist_nugget, 12), new Object[] { Items.bread, Items.wheat, Items.cooked_chicken, Items.egg }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_smart, 4), new Object[] { " A ", "ACA", " A ", 'A', ModItems.grenade_strong, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP) }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_mirv, 1), new Object[] { "GGG", "GCG", "GGG", 'G', ModItems.grenade_smart, 'C', ModItems.grenade_generic }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_breach, 1), new Object[] { "G", "G", "P", 'G', ModItems.grenade_smart, 'P', BIGMT.plate() }); @@ -387,10 +301,10 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_if_null, 1), new Object[] { "BAB", "AGA", "BAB", 'G', ModItems.grenade_if_generic, 'A', ModItems.undefined, 'B', BIGMT.ingot() }); //Mines - CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.mine_ap, 4), new Object[] { "C", "P", "T", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'P', IRON.plate(), 'T', ANY_PLASTICEXPLOSIVE.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.mine_ap, 4), new Object[] { "I", "C", "S", 'I', ModItems.plate_polymer, 'C', ANY_SMOKELESS.dust(), 'S', STEEL.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.mine_shrap, 1), new Object[] { "L", "M", 'M', ModBlocks.mine_ap, 'L', ModItems.pellet_buckshot }); CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.mine_he, 1), new Object[] { " C ", "PTP", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'P', STEEL.plate(), 'T', ANY_HIGHEXPLOSIVE.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.mine_shrap, 2), new Object[] { "LLL", " C ", "PTP", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'P', STEEL.plate(), 'T', ModBlocks.det_cord, 'L', ModItems.pellet_buckshot }); - CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.mine_fat, 1), new Object[] { "CDN", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ANALOG), 'D', ModItems.ducttape, 'N', ModItems.ammo_nuke }); + CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.mine_fat, 1), new Object[] { "CDN", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ANALOG), 'D', ModItems.ducttape, 'N', DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_DEMO) }); //Nuke parts CraftingManager.addRecipeAuto(new ItemStack(ModItems.n2_charge, 1), new Object[] { " D ", "ERE", " D ", 'D', ModItems.ducttape, 'E', ModBlocks.det_charge, 'R', REDSTONE.block() }); diff --git a/src/main/java/com/hbm/crafting/handlers/ContainerUpgradeCraftingHandler.java b/src/main/java/com/hbm/crafting/handlers/ContainerUpgradeCraftingHandler.java new file mode 100644 index 000000000..110967484 --- /dev/null +++ b/src/main/java/com/hbm/crafting/handlers/ContainerUpgradeCraftingHandler.java @@ -0,0 +1,41 @@ +package com.hbm.crafting.handlers; + +import com.hbm.blocks.generic.BlockStorageCrate; +import com.hbm.blocks.machine.BlockMassStorage; + +import net.minecraft.block.Block; +import net.minecraft.inventory.InventoryCrafting; +import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.ShapedOreRecipe; + +/** + * Handles upgrading storage crates and mass storage blocks, preserving their contents. + * + * Note: this assumes the input and the output items store their inventory in the same format + * in the NBT + */ +public class ContainerUpgradeCraftingHandler extends ShapedOreRecipe { + + public ContainerUpgradeCraftingHandler(ItemStack result, Object... items) { + super(result, items); + } + + @Override + public ItemStack getCraftingResult(InventoryCrafting inventoryCrafting) { + ItemStack source = getFirstContainer(inventoryCrafting); + ItemStack result = super.getCraftingResult(inventoryCrafting); + result.setTagCompound(source.getTagCompound()); + return result; + } + + private static ItemStack getFirstContainer(InventoryCrafting inventoryCrafting) { + for(int i = 0; i < 9; ++i) { + ItemStack itemstack = inventoryCrafting.getStackInRowAndColumn(i % 3, i / 3); + if(itemstack == null) continue; + Block block = Block.getBlockFromItem(itemstack.getItem()); + if(block == null) continue; + if(block instanceof BlockStorageCrate || block instanceof BlockMassStorage) return itemstack; + } + return null; + } +} diff --git a/src/main/java/com/hbm/crafting/handlers/MKUCraftingHandler.java b/src/main/java/com/hbm/crafting/handlers/MKUCraftingHandler.java index 5086e6388..8405b0f77 100644 --- a/src/main/java/com/hbm/crafting/handlers/MKUCraftingHandler.java +++ b/src/main/java/com/hbm/crafting/handlers/MKUCraftingHandler.java @@ -6,50 +6,52 @@ import java.util.List; import java.util.Random; import com.hbm.items.ModItems; +import com.hbm.items.special.ItemBookLore; import net.minecraft.inventory.InventoryCrafting; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraft.world.World; public class MKUCraftingHandler implements IRecipe { - + public static ItemStack[] MKURecipe; private static long lastSeed; @Override public boolean matches(InventoryCrafting inventory, World world) { - + if(world == null) return false; - + if(MKURecipe == null || world.getSeed() != lastSeed) generateRecipe(world); - + for(int i = 0; i < 9; i++) { ItemStack stack = inventory.getStackInRowAndColumn(i % 3, i / 3); ItemStack recipe = MKURecipe[i]; - + if(stack == null && recipe == null) continue; - + if(stack != null && recipe != null && stack.getItem() == recipe.getItem() && stack.getItemDamage() == recipe.getItemDamage()) continue; - + return false; } - + return true; } - + public static void generateRecipe(World world) { Random rand = new Random(world.getSeed()); - + if(lastSeed == world.getSeed() && MKURecipe != null) return; - + lastSeed = world.getSeed(); - + List list = Arrays.asList(new ItemStack[] { new ItemStack(ModItems.powder_iodine), new ItemStack(ModItems.powder_fire), @@ -61,12 +63,54 @@ public class MKUCraftingHandler implements IRecipe { null, null }); - + Collections.shuffle(list, rand); - + MKURecipe = list.toArray(new ItemStack[9]); } + public static Item getMKUItem(World world) { + switch(world.rand.nextInt(6)) { + case 0: return ModItems.powder_iodine; + case 1: return ModItems.powder_fire; + case 2: return ModItems.dust; + case 3: return ModItems.ingot_mercury; + case 4: return ModItems.morning_glory; + case 5: return ModItems.syringe_metal_empty; + default: return ModItems.flame_pony; + } + } + + public static ItemStack generateBook(World world, Item mkuItem) { + MKUCraftingHandler.generateRecipe(world); + ItemStack[] recipe = MKUCraftingHandler.MKURecipe; + + if(recipe == null) return new ItemStack(ModItems.flame_pony); + + String key = null; + int pages = 1; + if(mkuItem == ModItems.powder_iodine) { key = "book_iodine"; pages = 3; } + if(mkuItem == ModItems.powder_fire) { key = "book_phosphorous"; pages = 2; } + if(mkuItem == ModItems.dust) { key = "book_dust"; pages = 3; } + if(mkuItem == ModItems.ingot_mercury) { key = "book_mercury"; pages = 2; } + if(mkuItem == ModItems.morning_glory) { key = "book_flower"; pages = 2; } + if(mkuItem == ModItems.syringe_metal_empty) { key = "book_syringe"; pages = 2; } + + if(key == null) return new ItemStack(ModItems.flame_pony); + + int s = 1; + for(int i = 0; i < 9; i++) { + if(recipe[i] != null && recipe[i].getItem() == mkuItem) { + s = i + 1; break; + } + } + + ItemStack book = ItemBookLore.createBook(key, pages, 0x271E44, 0xFBFFF4); + ItemBookLore.addArgs(book, pages - 1, String.valueOf(s)); + + return book; + } + @Override public int getRecipeSize() { return 6; @@ -81,4 +125,4 @@ public class MKUCraftingHandler implements IRecipe { public ItemStack getRecipeOutput() { return new ItemStack(ModItems.syringe_mkunicorn); } -} +} \ No newline at end of file diff --git a/src/main/java/com/hbm/crafting/handlers/ToolboxCraftingHandler.java b/src/main/java/com/hbm/crafting/handlers/ToolboxCraftingHandler.java deleted file mode 100644 index 7e27a5cc6..000000000 --- a/src/main/java/com/hbm/crafting/handlers/ToolboxCraftingHandler.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.hbm.crafting.handlers; - -import java.util.ArrayList; -import java.util.List; - -import com.hbm.items.ModItems; -import com.hbm.items.special.ItemKitNBT; - -import net.minecraft.inventory.InventoryCrafting; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.IRecipe; -import net.minecraft.world.World; - -public class ToolboxCraftingHandler implements IRecipe { - - @Override - public boolean matches(InventoryCrafting inventory, World world) { - - int itemCount = 0; - int kitCount = 0; - - for(int i = 0; i < 9; i++) { - ItemStack stack = inventory.getStackInRowAndColumn(i % 3, i / 3); - - if(stack != null) { - - if(stack.getItem().hasContainerItem(stack) || !stack.getItem().doesContainerItemLeaveCraftingGrid(stack)) - return false; - - itemCount++; - - if(stack.getItem() == ModItems.kit_toolbox_empty) { - kitCount++; - } - } - } - - return itemCount > 1 && kitCount == 1; - } - - @Override - public ItemStack getCraftingResult(InventoryCrafting inventory) { - - List stacks = new ArrayList(); - - for(int i = 0; i < 9; i++) { - ItemStack stack = inventory.getStackInRowAndColumn(i % 3, i / 3); - - if(stack != null && stack.getItem() != ModItems.kit_toolbox_empty) { - ItemStack copy = stack.copy(); - copy.stackSize = 1; - stacks.add(copy); - } - } - - return ItemKitNBT.create(stacks.toArray(new ItemStack[0])); - } - - @Override - public int getRecipeSize() { - return 9; - } - - @Override - public ItemStack getRecipeOutput() { - return new ItemStack(ModItems.kit_toolbox); - } -} diff --git a/src/main/java/com/hbm/creativetabs/WeaponTab.java b/src/main/java/com/hbm/creativetabs/WeaponTab.java index 01636faa6..28801e152 100644 --- a/src/main/java/com/hbm/creativetabs/WeaponTab.java +++ b/src/main/java/com/hbm/creativetabs/WeaponTab.java @@ -8,18 +8,16 @@ import net.minecraft.item.Item; public class WeaponTab extends CreativeTabs { - public WeaponTab(int p_i1853_1_, String p_i1853_2_) { - super(p_i1853_1_, p_i1853_2_); + public WeaponTab(int index, String name) { + super(index, name); } @Override public Item getTabIconItem() { - - if(ModItems.gun_lever_action != null) - { - return ModItems.gun_lever_action; + + if(ModItems.gun_maresleg != null) { + return ModItems.gun_maresleg; } - return Items.iron_pickaxe; } } diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index b5011714c..324c67a97 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -17,7 +17,6 @@ import com.hbm.entity.missile.EntityMissileTier4.*; import com.hbm.entity.mob.*; import com.hbm.entity.mob.botprime.*; import com.hbm.entity.mob.glyphid.*; -import com.hbm.entity.mob.siege.*; import com.hbm.entity.particle.*; import com.hbm.entity.projectile.*; import com.hbm.entity.train.EntityRailCarBase.BoundingBoxDummyEntity; @@ -32,6 +31,7 @@ import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EnumCreatureType; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry; +import net.minecraft.world.biome.BiomeGenMushroomIsland; import net.minecraftforge.common.BiomeDictionary; import net.minecraftforge.common.BiomeDictionary.Type; @@ -72,9 +72,7 @@ public class EntityMappings { addEntity(EntityMissileRain.class, "entity_missile_rain", 1000); addEntity(EntityMissileDrill.class, "entity_missile_drill", 1000); addEntity(EntityMissileMirv.class, "entity_missile_mirv", 1000); - addEntity(EntityMIRV.class, "entity_mirvlet", 1000); addEntity(EntityGrenadeNuclear.class, "entity_grenade_nuclear", 1000); - addEntity(EntityBSmokeFX.class, "entity_b_smoke_fx", 1000); addEntity(EntityGrenadePlasma.class, "entity_grenade_plasma", 500); addEntity(EntityGrenadeTau.class, "entity_grenade_tau", 500); addEntity(EntityChopperMine.class, "entity_chopper_mine", 1000); @@ -86,10 +84,6 @@ public class EntityMappings { addEntity(EntityGrenadeASchrab.class, "entity_grenade_aschrab", 500); addEntity(EntityFalloutRain.class, "entity_fallout", 1000); addEntity(EntityEMPBlast.class, "entity_emp_blast", 1000); - addEntity(EntityFire.class, "entity_fire", 1000); - addEntity(EntityPlasmaBeam.class, "entity_immolator_beam", 1000); - addEntity(EntityLN2.class, "entity_LN2", 1000); - addEntity(EntityNightmareBlast.class, "entity_ominous_bullet", 1000); addEntity(EntityGrenadePulse.class, "entity_grenade_pulse", 1000); addEntity(EntityLaserBeam.class, "entity_laser_beam", 1000); addEntity(EntityMinerBeam.class, "entity_miner_beam", 1000); @@ -105,15 +99,13 @@ public class EntityMappings { addEntity(EntityNukeExplosionMK3.class, "entity_nuke_mk3", 1000); addEntity(EntityVortex.class, "entity_vortex", 250); addEntity(EntityMeteor.class, "entity_meteor", 250); - addEntity(EntityLaser.class, "entity_laser", 1000); addEntity(EntityBoxcar.class, "entity_boxcar", 1000); + addEntity(EntityTorpedo.class, "entity_torpedo", 1000); addEntity(EntityMissileTaint.class, "entity_missile_taint", 1000); addEntity(EntityGrenadeGascan.class, "entity_grenade_gascan", 1000); addEntity(EntityNukeExplosionMK5.class, "entity_nuke_mk5", 1000); addEntity(EntityCloudFleijaRainbow.class, "entity_cloud_rainbow", 1000); addEntity(EntityExplosiveBeam.class, "entity_beam_bomb", 1000); - addEntity(EntityAAShell.class, "entity_aa_shell", 1000); - addEntity(EntityRocketHoming.class, "entity_stinger", 1000); addEntity(EntityMissileTest.class, "entity_missile_test_mk2", 1000); addEntity(EntityMissileMicro.class, "entity_missile_micronuclear", 1000); addEntity(EntityCloudSolinium.class, "entity_cloud_rainbow", 1000); @@ -128,6 +120,7 @@ public class EntityMappings { addEntity(EntityGrenadePC.class, "entity_grenade_pink_cloud", 250); addEntity(EntityGrenadeCloud.class, "entity_grenade_cloud", 250); addEntity(EntityBomber.class, "entity_bomber", 1000); + addEntity(EntityC130.class, "entity_c130", 1000); addEntity(EntityBombletZeta.class, "entity_zeta", 1000); addEntity(EntityOrangeFX.class, "entity_agent_orange", 1000); addEntity(EntityDeathBlast.class, "entity_laser_blast", 1000); @@ -151,6 +144,9 @@ public class EntityMappings { addEntity(EntityGrenadeIFNull.class, "entity_grenade_ironshod_null", 250); addEntity(EntityFallingNuke.class, "entity_falling_bomb", 1000); addEntity(EntityBulletBaseNT.class, "entity_bullet_mk3", 250, false); + addEntity(EntityBulletBaseMK4.class, "entity_bullet_mk4", 250, false); + addEntity(EntityBulletBaseMK4CL.class, "entity_bullet_mk4_cl", 250, false); + addEntity(EntityBulletBeamBase.class, "entity_beam_mk4", 250, false); addEntity(EntityMinerRocket.class, "entity_miner_lander", 1000); addEntity(EntityFogFX.class, "entity_nuclear_fog", 1000); addEntity(EntityDuchessGambit.class, "entity_duchessgambit", 1000); @@ -165,6 +161,7 @@ public class EntityMappings { addEntity(EntityBuilding.class, "entity_falling_building", 1000); addEntity(EntitySoyuz.class, "entity_soyuz", 1000); addEntity(EntitySoyuzCapsule.class, "entity_soyuz_capsule", 1000); + addEntity(EntityParachuteCrate.class, "entity_parachute_crate", 1000); addEntity(EntityMovingItem.class, "entity_c_item", 1000); addEntity(EntityMovingPackage.class, "entity_c_package", 1000); addEntity(EntityDeliveryDrone.class, "entity_delivery_drone", 250, false); @@ -199,11 +196,11 @@ public class EntityMappings { addEntity(EntityNukeTorex.class, "entity_effect_torex", 250, false); addEntity(EntityArtilleryShell.class, "entity_artillery_shell", 1000); addEntity(EntityArtilleryRocket.class, "entity_himars", 1000); - addEntity(EntitySiegeTunneler.class, "entity_meme_tunneler", 1000); addEntity(EntityCog.class, "entity_stray_cog", 1000); addEntity(EntitySawblade.class, "entity_stray_saw", 1000); addEntity(EntityChemical.class, "entity_chemthrower_splash", 1000); addEntity(EntityMist.class, "entity_mist", 250, false); + addEntity(EntityFireLingering.class, "entity_fire_lingering", 250, false); addEntity(EntityAcidBomb.class, "entity_acid_bomb", 1000); addEntity(EntityFallingBlockNT.class, "entity_falling_block_nt", 1000); addEntity(EntityBoatRubber.class, "entity_rubber_boat", 250, false); @@ -216,7 +213,6 @@ public class EntityMappings { addEntity(BoundingBoxDummyEntity.class, "entity_ntm_bounding_dummy", 250, false); addEntity(TrainCargoTram.class, "entity_ntm_cargo_tram", 250, false); addEntity(TrainCargoTramTrailer.class, "entity_ntm_cargo_tram_trailer", 250, false); - addEntity(TrainTunnelBore.class, "entity_ntm_tunnel_bore", 250, false); addEntity(EntityDisperserCanister.class, "entity_disperser", 250); addEntity(EntityWaypoint.class, "entity_waypoint", 250, false); @@ -237,10 +233,6 @@ public class EntityMappings { addMob(EntityFBI.class, "entity_ntm_fbi", 0x008000, 0x404040); addMob(EntityFBIDrone.class, "entity_ntm_fbi_drone", 0x008000, 0x404040); addMob(EntityRADBeast.class, "entity_ntm_radiation_blaze", 0x303030, 0x008000); - addMob(EntitySiegeZombie.class, "entity_meme_zombie", 0x303030, 0x008000); - addMob(EntitySiegeSkeleton.class, "entity_meme_skeleton", 0x303030, 0x000080); - addMob(EntitySiegeUFO.class, "entity_meme_ufo", 0x303030, 0x800000); - addMob(EntitySiegeCraft.class, "entity_meme_craft", 0x303030, 0x808000); addMob(EntityGlyphid.class, "entity_glyphid", 0x724A21, 0xD2BB72); addMob(EntityGlyphidBrawler.class, "entity_glyphid_brawler", 0x273038, 0xD2BB72); addMob(EntityGlyphidBehemoth.class, "entity_glyphid_behemoth", 0x267F00, 0xD2BB72); @@ -252,6 +244,8 @@ public class EntityMappings { addMob(EntityGlyphidDigger.class, "entity_glyphid_digger", 0x273038, 0x724A21); addMob(EntityPlasticBag.class, "entity_plastic_bag", 0xd0d0d0, 0x808080); addMob(EntityParasiteMaggot.class, "entity_parasite_maggot", 0xd0d0d0, 0x808080); + addMob(EntityDummy.class, "entity_ntm_test_dummy", 0xffffff, 0x000000); + addMob(EntityUndeadSoldier.class, "entity_ntm_undead_soldier", 0x749F30, 0x6C5B44); addSpawn(EntityCreeperPhosgene.class, 5, 1, 1, EnumCreatureType.monster, BiomeGenBase.getBiomeGenArray()); addSpawn(EntityCreeperVolatile.class, 10, 1, 1, EnumCreatureType.monster, BiomeGenBase.getBiomeGenArray()); @@ -286,6 +280,7 @@ public class EntityMappings { for(BiomeGenBase biome : biomes) { if(biome == null) continue; + if(biome instanceof BiomeGenMushroomIsland) continue; List spawns = biome.getSpawnableList(typeOfCreature); diff --git a/src/main/java/com/hbm/entity/cart/EntityMinecartCrate.java b/src/main/java/com/hbm/entity/cart/EntityMinecartCrate.java index 3ce773740..241847f64 100644 --- a/src/main/java/com/hbm/entity/cart/EntityMinecartCrate.java +++ b/src/main/java/com/hbm/entity/cart/EntityMinecartCrate.java @@ -15,7 +15,6 @@ import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -111,7 +110,7 @@ public class EntityMinecartCrate extends EntityMinecartContainerBase implements @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICrateSteel(player.inventory, (EntityMinecartCrate) player.worldObj.getEntityByID(x)); } } diff --git a/src/main/java/com/hbm/entity/cart/EntityMinecartDestroyer.java b/src/main/java/com/hbm/entity/cart/EntityMinecartDestroyer.java index 7d11fc8e4..d7a34e2ed 100644 --- a/src/main/java/com/hbm/entity/cart/EntityMinecartDestroyer.java +++ b/src/main/java/com/hbm/entity/cart/EntityMinecartDestroyer.java @@ -17,7 +17,6 @@ import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; @@ -147,7 +146,7 @@ public class EntityMinecartDestroyer extends EntityMinecartContainerBase impleme @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICartDestroyer(player.inventory, (EntityMinecartDestroyer) player.worldObj.getEntityByID(x)); } } diff --git a/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java b/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java index 0c1bc8ea6..4c7e4801b 100644 --- a/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java +++ b/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java @@ -7,7 +7,6 @@ import com.hbm.config.FalloutConfigJSON.FalloutEntry; import com.hbm.config.WorldConfig; import com.hbm.entity.item.EntityFallingBlockNT; import com.hbm.entity.logic.EntityExplosionChunkloading; -import com.hbm.saveddata.AuxSavedData; import com.hbm.world.WorldUtil; import com.hbm.world.biome.BiomeGenCraterBase; @@ -19,7 +18,6 @@ import net.minecraft.util.Vec3; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.storage.WorldInfo; import net.minecraftforge.common.util.ForgeDirection; import java.util.*; @@ -107,17 +105,6 @@ public class EntityFalloutRain extends EntityExplosionChunkloading { } tickDelay--; - - if(this.isDead) { - if(BombConfig.rain > 0 && getScale() > 150) { - WorldInfo info = worldObj.getWorldInfo(); - info.setRaining(true); - info.setThundering(true); - info.setRainTime(BombConfig.rain); - info.setThunderTime(BombConfig.rain); - AuxSavedData.setThunder(worldObj, BombConfig.rain); - } - } } } diff --git a/src/main/java/com/hbm/entity/effect/EntityFireLingering.java b/src/main/java/com/hbm/entity/effect/EntityFireLingering.java new file mode 100644 index 000000000..4eb1eac76 --- /dev/null +++ b/src/main/java/com/hbm/entity/effect/EntityFireLingering.java @@ -0,0 +1,108 @@ +package com.hbm.entity.effect; + +import java.util.List; + +import com.hbm.extprop.HbmLivingProps; +import com.hbm.particle.helper.FlameCreator; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class EntityFireLingering extends Entity { + + public static int TYPE_DIESEL = 0; + public static int TYPE_BALEFIRE = 1; + public static int TYPE_PHOSPHORUS = 2; + public static int TYPE_OXY = 3; + public static int TYPE_BLACK = 4; + public int maxAge = 150; + + public EntityFireLingering(World world) { + super(world); + } + + public EntityFireLingering setArea(float width, float height) { + this.dataWatcher.updateObject(11, width); + this.dataWatcher.updateObject(12, height); + return this; + } + public EntityFireLingering setDuration(int duration){ + this.maxAge = duration; + return this; + } + + @Override + protected void entityInit() { + this.dataWatcher.addObject(10, new Integer(0)); + this.dataWatcher.addObject(11, new Float(0)); + this.dataWatcher.addObject(12, new Float(0)); + } + + public EntityFireLingering setType(int type) { + this.dataWatcher.updateObject(10, type); + return this; + } + + public int getType() { + return this.dataWatcher.getWatchableObjectInt(10); + } + + @Override + public void onEntityUpdate() { + + float height = this.dataWatcher.getWatchableObjectFloat(12); + this.yOffset = 0; + this.setSize(this.dataWatcher.getWatchableObjectFloat(11), height); + this.setPosition(this.posX, this.posY, this.posZ); + + if(!worldObj.isRemote) { + + if(this.ticksExisted >= maxAge) { + this.setDead(); + } + + List affected = worldObj.getEntitiesWithinAABBExcludingEntity(this, AxisAlignedBB.getBoundingBox(posX - width / 2, posY, posZ - width / 2, posX + width / 2, posY + height, posZ + width / 2)); + + for(Entity e : affected) { + if(e instanceof EntityLivingBase) { + EntityLivingBase livng = (EntityLivingBase) e; + HbmLivingProps props = HbmLivingProps.getData(livng); + if(this.getType() == this.TYPE_DIESEL) if(props.fire < 60) props.fire = 60; + if(this.getType() == this.TYPE_PHOSPHORUS) if(props.fire < 300) props.fire = 300; + if(this.getType() == this.TYPE_BALEFIRE) if(props.balefire < 100) props.balefire = 100; + if(this.getType() == this.TYPE_BLACK) if(props.blackFire < 200) props.blackFire = 200; else props.blackFire += 5; + } else { + e.setFire(4); + } + } + } else { + + for(int i = 0; i < (width >= 5 ? 2 : 1); i++) { + double x = posX - width / 2 + rand.nextDouble() * width; + double z = posZ - width / 2 + rand.nextDouble() * width; + + Vec3 up = Vec3.createVectorHelper(x, posY + height, z); + Vec3 down = Vec3.createVectorHelper(x, posY - height, z); + MovingObjectPosition mop = worldObj.func_147447_a(up, down, false, true, true); + if(mop != null && mop.typeOfHit == mop.typeOfHit.BLOCK) down = mop.hitVec; + if(this.getType() == this.TYPE_DIESEL) FlameCreator.composeEffectClient(worldObj, x, down.yCoord, z, FlameCreator.META_FIRE); + if(this.getType() == this.TYPE_PHOSPHORUS) FlameCreator.composeEffectClient(worldObj, x, down.yCoord, z, FlameCreator.META_FIRE); + if(this.getType() == this.TYPE_BALEFIRE) FlameCreator.composeEffectClient(worldObj, x, down.yCoord, z, FlameCreator.META_BALEFIRE); + if(this.getType() == this.TYPE_BLACK) FlameCreator.composeEffectClient(worldObj, x, down.yCoord, z, FlameCreator.META_BLACK); + } + } + } + + @Override @SideOnly(Side.CLIENT) public boolean canRenderOnFire() { return false; } + @Override protected void writeEntityToNBT(NBTTagCompound nbt) { } + @Override public boolean writeToNBTOptional(NBTTagCompound nbt) { return false; } + @Override public void writeToNBT(NBTTagCompound nbt) { } + @Override public void readEntityFromNBT(NBTTagCompound nbt) { this.setDead(); } +} diff --git a/src/main/java/com/hbm/entity/effect/EntityMist.java b/src/main/java/com/hbm/entity/effect/EntityMist.java index 50df95ae6..8c5fef05e 100644 --- a/src/main/java/com/hbm/entity/effect/EntityMist.java +++ b/src/main/java/com/hbm/entity/effect/EntityMist.java @@ -66,7 +66,6 @@ public class EntityMist extends Entity { public FluidType getType() { return Fluids.fromID(this.dataWatcher.getWatchableObjectInt(10)); } - @Override public void onEntityUpdate() { diff --git a/src/main/java/com/hbm/entity/effect/EntityNukeTorex.java b/src/main/java/com/hbm/entity/effect/EntityNukeTorex.java index bc6eafaec..6d2e03597 100644 --- a/src/main/java/com/hbm/entity/effect/EntityNukeTorex.java +++ b/src/main/java/com/hbm/entity/effect/EntityNukeTorex.java @@ -45,16 +45,8 @@ public class EntityNukeTorex extends Entity { this.dataWatcher.addObject(11, new Integer(0)); } - @Override - @SideOnly(Side.CLIENT) - public int getBrightnessForRender(float p_70070_1_) { - return 15728880; - } - - @Override - public float getBrightness(float p_70013_1_) { - return 1.0F; - } + @Override @SideOnly(Side.CLIENT) public int getBrightnessForRender(float interp) { return 15728880; } + @Override public float getBrightness(float interp) { return 1.0F; } @Override public void onUpdate() { @@ -71,6 +63,8 @@ public class EntityNukeTorex extends Entity { lastSpawnY = posY - 3; } + if(ticksExisted < 100) this.worldObj.lastLightningBolt = 2; + int spawnTarget = Math.max(worldObj.getHeightValue((int) Math.floor(posX), (int) Math.floor(posZ)) - 3, 1); double moveSpeed = 0.5D; @@ -572,16 +566,12 @@ public class EntityNukeTorex extends Entity { return true; } - public static void statFac(World world, double x, double y, double z, float scale) { - EntityNukeTorex torex = new EntityNukeTorex(world).setScale(MathHelper.clamp_float((float) BobMathUtil.squirt(scale * 0.01) * 1.5F, 0.5F, 5F)); - torex.setPosition(x, y, z); - torex.forceSpawn = true; - world.spawnEntityInWorld(torex); - TrackerUtil.setTrackingRange(world, torex, 1000); - } + public static void statFacStandard(World world, double x, double y, double z, float scale) { statFac(world, x, y, z, scale, 0); } + public static void statFacBale(World world, double x, double y, double z, float scale) { statFac(world, x, y, z, scale, 1); } - public static void statFacBale(World world, double x, double y, double z, float scale) { - EntityNukeTorex torex = new EntityNukeTorex(world).setScale(MathHelper.clamp_float((float) BobMathUtil.squirt(scale * 0.01) * 1.5F, 0.5F, 5F)).setType(1); + public static void statFac(World world, double x, double y, double z, float scale, int type) { + EntityNukeTorex torex = new EntityNukeTorex(world).setScale(MathHelper.clamp_float((float) BobMathUtil.squirt(scale * 0.01) * 1.5F, 0.5F, 5F)); + torex.setType(type); torex.setPosition(x, y, z); torex.forceSpawn = true; world.spawnEntityInWorld(torex); diff --git a/src/main/java/com/hbm/entity/grenade/EntityDisperserCanister.java b/src/main/java/com/hbm/entity/grenade/EntityDisperserCanister.java index 3316c8015..46be57182 100644 --- a/src/main/java/com/hbm/entity/grenade/EntityDisperserCanister.java +++ b/src/main/java/com/hbm/entity/grenade/EntityDisperserCanister.java @@ -10,16 +10,16 @@ import net.minecraft.world.World; public class EntityDisperserCanister extends EntityGrenadeBase { - public EntityDisperserCanister(World p_i1773_1_) { - super(p_i1773_1_); + public EntityDisperserCanister(World world) { + super(world); } - public EntityDisperserCanister(World p_i1774_1_, EntityLivingBase p_i1774_2_) { - super(p_i1774_1_, p_i1774_2_); + public EntityDisperserCanister(World world, EntityLivingBase living) { + super(world, living); } - public EntityDisperserCanister(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) { - super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_); + public EntityDisperserCanister(World world, double x, double y, double z) { + super(world, x, y, z); } public EntityDisperserCanister setFluid(int id) { @@ -55,6 +55,7 @@ public class EntityDisperserCanister extends EntityGrenadeBase { mist.setArea(10, 5); mist.setDuration(80); worldObj.spawnEntityInWorld(mist); + this.setDead(); } } diff --git a/src/main/java/com/hbm/entity/grenade/EntityGrenadeCloud.java b/src/main/java/com/hbm/entity/grenade/EntityGrenadeCloud.java index d58cfe18c..084f50b36 100644 --- a/src/main/java/com/hbm/entity/grenade/EntityGrenadeCloud.java +++ b/src/main/java/com/hbm/entity/grenade/EntityGrenadeCloud.java @@ -26,7 +26,7 @@ public class EntityGrenadeCloud extends EntityGrenadeBase { this.setDead(); this.worldObj.playAuxSFX(2002, (int)Math.round(this.posX), (int)Math.round(this.posY), (int)Math.round(this.posZ), 0); - ExplosionChaos.spawnChlorine(worldObj, posX, posY, posZ, 250, 1.5, 1); + ExplosionChaos.spawnPoisonCloud(worldObj, posX, posY, posZ, 250, 1.5, 1); } } } diff --git a/src/main/java/com/hbm/entity/grenade/EntityGrenadeIFToxic.java b/src/main/java/com/hbm/entity/grenade/EntityGrenadeIFToxic.java index d17910734..83d04ad89 100644 --- a/src/main/java/com/hbm/entity/grenade/EntityGrenadeIFToxic.java +++ b/src/main/java/com/hbm/entity/grenade/EntityGrenadeIFToxic.java @@ -37,7 +37,6 @@ public class EntityGrenadeIFToxic extends EntityGrenadeBouncyBase { ExplosionLarge.explode(worldObj, posX, posY, posZ, 2, true, true, true); ExplosionChaos.poison(worldObj, (int)posX, (int)posY, (int)posZ, 12); ExplosionNukeGeneric.waste(worldObj, (int)posX, (int)posY, (int)posZ, 12); - ExplosionChaos.spawnChlorine(worldObj, posX, posY, posZ, 50, 1.5, 0); } } diff --git a/src/main/java/com/hbm/entity/grenade/EntityGrenadePC.java b/src/main/java/com/hbm/entity/grenade/EntityGrenadePC.java index 34b2068a3..9136b287a 100644 --- a/src/main/java/com/hbm/entity/grenade/EntityGrenadePC.java +++ b/src/main/java/com/hbm/entity/grenade/EntityGrenadePC.java @@ -26,7 +26,7 @@ public class EntityGrenadePC extends EntityGrenadeBase { this.setDead(); this.worldObj.playAuxSFX(2002, (int)Math.round(this.posX), (int)Math.round(this.posY), (int)Math.round(this.posZ), 0); - ExplosionChaos.spawnChlorine(worldObj, posX, posY, posZ, 500, 2, 2); + ExplosionChaos.spawnPoisonCloud(worldObj, posX, posY, posZ, 500, 2, 2); } } } diff --git a/src/main/java/com/hbm/entity/item/EntityDeliveryDrone.java b/src/main/java/com/hbm/entity/item/EntityDeliveryDrone.java index 4e215b4ed..db9e90da3 100644 --- a/src/main/java/com/hbm/entity/item/EntityDeliveryDrone.java +++ b/src/main/java/com/hbm/entity/item/EntityDeliveryDrone.java @@ -1,5 +1,6 @@ package com.hbm.entity.item; +import com.google.common.collect.ImmutableSet; import com.hbm.entity.logic.IChunkLoader; import com.hbm.inventory.FluidStack; import com.hbm.inventory.fluid.FluidType; @@ -7,6 +8,7 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; +import com.hbm.util.ChunkShapeHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; @@ -20,13 +22,13 @@ import net.minecraftforge.common.ForgeChunkManager.Ticket; import net.minecraftforge.common.ForgeChunkManager.Type; public class EntityDeliveryDrone extends EntityDroneBase implements IInventory, IChunkLoader { - + protected ItemStack[] slots = new ItemStack[this.getSizeInventory()]; public FluidStack fluid; - + protected boolean chunkLoading = false; private Ticket loaderTicket; - + public EntityDeliveryDrone(World world) { super(world); } @@ -34,6 +36,8 @@ public class EntityDeliveryDrone extends EntityDroneBase implements IInventory, @Override public boolean hitByEntity(Entity attacker) { + if(this.isDead) return false; + if(attacker instanceof EntityPlayer && !worldObj.isRemote) { this.setDead(); for (ItemStack stack : slots) { @@ -60,32 +64,22 @@ public class EntityDeliveryDrone extends EntityDroneBase implements IInventory, super.entityInit(); this.dataWatcher.addObject(11, new Byte((byte) 0)); } - - public EntityDeliveryDrone setChunkLoading() { + + public void setChunkLoading() { init(ForgeChunkManager.requestTicket(MainRegistry.instance, worldObj, Type.ENTITY)); this.chunkLoading = true; - return this; } - @Override - public void onUpdate() { - - if(!worldObj.isRemote) { - loadNeighboringChunks((int)Math.floor(posX / 16D), (int)Math.floor(posZ / 16D)); - } - - super.onUpdate(); - } @Override public double getSpeed() { return this.dataWatcher.getWatchableObjectByte(11) == 1 ? 0.375 * 3 : 0.375; } - + @Override protected void writeEntityToNBT(NBTTagCompound nbt) { super.writeEntityToNBT(nbt); - + NBTTagList nbttaglist = new NBTTagList(); for(int i = 0; i < this.slots.length; ++i) { @@ -98,7 +92,7 @@ public class EntityDeliveryDrone extends EntityDroneBase implements IInventory, } nbt.setTag("Items", nbttaglist); - + if(fluid != null) { nbt.setInteger("fluidType", fluid.type.getID()); nbt.setInteger("fluidAmount", fluid.fill); @@ -111,7 +105,7 @@ public class EntityDeliveryDrone extends EntityDroneBase implements IInventory, @Override protected void readEntityFromNBT(NBTTagCompound nbt) { super.readEntityFromNBT(nbt); - + NBTTagList nbttaglist = nbt.getTagList("Items", 10); this.slots = new ItemStack[this.getSizeInventory()]; @@ -123,14 +117,14 @@ public class EntityDeliveryDrone extends EntityDroneBase implements IInventory, this.slots[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); } } - + if(nbt.hasKey("fluidType")) { FluidType type = Fluids.fromNameCompat(nbt.getString("fluidType")); if(type != Fluids.NONE) { nbt.removeTag(nbt.getString("fluidType")); } else type = Fluids.fromID(nbt.getInteger("fluidType")); - + this.fluid = new FluidStack(type, nbt.getInteger("fluidAmount")); } @@ -142,7 +136,7 @@ public class EntityDeliveryDrone extends EntityDroneBase implements IInventory, public ItemStack getStackInSlot(int slot) { return slots[slot]; } - + @Override public ItemStack decrStackSize(int slot, int amount) { if(this.slots[slot] != null) { @@ -197,25 +191,31 @@ public class EntityDeliveryDrone extends EntityDroneBase implements IInventory, @Override public void openInventory() { } @Override public void closeInventory() { } - public void loadNeighboringChunks(int newChunkX, int newChunkZ) { + @Override + protected void loadNeighboringChunks() { if(!worldObj.isRemote && loaderTicket != null) { - clearChunkLoader(); - ForgeChunkManager.forceChunk(loaderTicket, new ChunkCoordIntPair(newChunkX, newChunkZ)); - ForgeChunkManager.forceChunk(loaderTicket, new ChunkCoordIntPair(newChunkX + (int) Math.ceil((this.posX + this.motionX) / 16D), newChunkZ + (int) Math.ceil((this.posZ + this.motionZ) / 16D))); + + for(ChunkCoordIntPair chunk : ImmutableSet.copyOf(loaderTicket.getChunkList())) { + ForgeChunkManager.unforceChunk(loaderTicket, chunk); + } + + // This is the lowest padding that worked with my drone waypoint path. if they stop getting loaded crank up paddingSize + for (ChunkCoordIntPair chunk : ChunkShapeHelper.getChunksAlongLineSegment((int) this.posX, (int) this.posZ, (int) (this.posX + this.motionX), (int) (this.posZ + this.motionZ), 4)){ + ForgeChunkManager.forceChunk(loaderTicket, chunk); + } } } - + @Override public void setDead() { super.setDead(); this.clearChunkLoader(); } - + public void clearChunkLoader() { if(!worldObj.isRemote && loaderTicket != null) { - for(ChunkCoordIntPair chunk : loaderTicket.getChunkList()) { - ForgeChunkManager.unforceChunk(loaderTicket, chunk); - } + ForgeChunkManager.releaseTicket(loaderTicket); + this.loaderTicket = null; } } @@ -227,7 +227,7 @@ public class EntityDeliveryDrone extends EntityDroneBase implements IInventory, loaderTicket.bindEntity(this); loaderTicket.getModData(); } - ForgeChunkManager.forceChunk(loaderTicket, new ChunkCoordIntPair(chunkCoordX, chunkCoordZ)); + this.loadNeighboringChunks(); } } } diff --git a/src/main/java/com/hbm/entity/item/EntityDroneBase.java b/src/main/java/com/hbm/entity/item/EntityDroneBase.java index f7d12a9e2..cdd8c000b 100644 --- a/src/main/java/com/hbm/entity/item/EntityDroneBase.java +++ b/src/main/java/com/hbm/entity/item/EntityDroneBase.java @@ -9,7 +9,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; public abstract class EntityDroneBase extends Entity { - + protected int turnProgress; protected double syncPosX; protected double syncPosY; @@ -26,7 +26,7 @@ public abstract class EntityDroneBase extends Entity { super(world); this.setSize(1.5F, 2.0F); } - + public void setTarget(double x, double y, double z) { this.targetX = x; this.targetY = y; @@ -49,7 +49,7 @@ public abstract class EntityDroneBase extends Entity { if(attacker instanceof EntityPlayer) { this.setDead(); } - + return false; } @@ -62,7 +62,7 @@ public abstract class EntityDroneBase extends Entity { protected void entityInit() { this.dataWatcher.addObject(10, new Byte((byte) 0)); } - + /** * 0: Empty
* 1: Crate
@@ -71,14 +71,14 @@ public abstract class EntityDroneBase extends Entity { public void setAppearance(int style) { this.dataWatcher.updateObject(10, (byte) style); } - + public int getAppearance() { return this.dataWatcher.getWatchableObjectByte(10); } - + @Override public void onUpdate() { - + if(worldObj.isRemote) { if(this.turnProgress > 0) { double interpX = this.posX + (this.syncPosX - this.posX) / (double) this.turnProgress; @@ -99,37 +99,40 @@ public abstract class EntityDroneBase extends Entity { this.motionX = 0; this.motionY = 0; this.motionZ = 0; - + if(this.targetY != -1) { - + Vec3 dist = Vec3.createVectorHelper(targetX - posX, targetY - posY, targetZ - posZ); - double speed = getSpeed(); - - if(dist.lengthVector() >= speed) { - dist = dist.normalize(); - this.motionX = dist.xCoord * speed; - this.motionY = dist.yCoord * speed; - this.motionZ = dist.zCoord * speed; - } + double speed = Math.min(getSpeed(), dist.lengthVector()); + + dist = dist.normalize(); + this.motionX = dist.xCoord * speed; + this.motionY = dist.yCoord * speed; + this.motionZ = dist.zCoord * speed; } if(isCollidedHorizontally){ motionY += 1; } + this.loadNeighboringChunks(); this.moveEntity(motionX, motionY, motionZ); } + + super.onUpdate(); } - + + protected void loadNeighboringChunks() {} + public double getSpeed() { return 0.125D; } - + @SideOnly(Side.CLIENT) public void setVelocity(double motionX, double motionY, double motionZ) { this.velocityX = this.motionX = motionX; this.velocityY = this.motionY = motionY; this.velocityZ = this.motionZ = motionZ; } - + @SideOnly(Side.CLIENT) public void setPositionAndRotation2(double x, double y, double z, float yaw, float pitch, int theNumberThree) { this.syncPosX = x; @@ -140,7 +143,7 @@ public abstract class EntityDroneBase extends Entity { this.motionY = this.velocityY; this.motionZ = this.velocityZ; } - + @Override protected void writeEntityToNBT(NBTTagCompound nbt) { @@ -159,7 +162,7 @@ public abstract class EntityDroneBase extends Entity { this.targetY = nbt.getDouble("tY"); this.targetZ = nbt.getDouble("tZ"); } - + this.dataWatcher.updateObject(10, nbt.getByte("app")); } } diff --git a/src/main/java/com/hbm/entity/item/EntityFallingBlockNT.java b/src/main/java/com/hbm/entity/item/EntityFallingBlockNT.java index 150c4352f..6e1375bbc 100644 --- a/src/main/java/com/hbm/entity/item/EntityFallingBlockNT.java +++ b/src/main/java/com/hbm/entity/item/EntityFallingBlockNT.java @@ -109,6 +109,7 @@ public class EntityFallingBlockNT extends Entity { int x = MathHelper.floor_double(this.posX); int y = MathHelper.floor_double(this.posY); int z = MathHelper.floor_double(this.posZ); + int meta = this.getMeta(); if(this.fallingTicks == 1) { if(this.worldObj.getBlock(x, y, z) != this.getBlock()) { @@ -127,10 +128,10 @@ public class EntityFallingBlockNT extends Entity { if(this.worldObj.getBlock(x, y, z) != Blocks.piston_extension) { this.setDead(); - if(!this.destroyOnLand && replacementCheck(x, y, z) && this.worldObj.setBlock(x, y, z, this.getBlock(), this.getMeta(), 3)) { + if(!this.destroyOnLand && replacementCheck(x, y, z) && this.worldObj.setBlock(x, y, z, this.getBlock(), meta, 3)) { - if(this.getBlock() instanceof BlockFalling) ((BlockFalling) this.getBlock()).func_149828_a(this.worldObj, x, y, z, this.getMeta()); - if(this.getBlock() instanceof BlockFallingNT) ((BlockFallingNT) this.getBlock()).onLand(this.worldObj, x, y, z, this.getMeta()); + if(this.getBlock() instanceof BlockFalling) ((BlockFalling) this.getBlock()).func_149828_a(this.worldObj, x, y, z, meta); + if(this.getBlock() instanceof BlockFallingNT) ((BlockFallingNT) this.getBlock()).onLand(this.worldObj, x, y, z, meta); if(this.tileNBT != null && this.getBlock() instanceof ITileEntityProvider) { TileEntity tileentity = this.worldObj.getTileEntity(x, y, z); @@ -153,13 +154,13 @@ public class EntityFallingBlockNT extends Entity { tileentity.markDirty(); } } - } else if(this.canDrop && !this.destroyOnLand) { - this.entityDropItem(new ItemStack(this.getBlock(), 1, this.getBlock().damageDropped(this.getMeta())), 0.0F); + } else if(this.canDrop && !this.destroyOnLand && this.getBlock().getItemDropped(meta, rand, 0) != null) { + this.entityDropItem(new ItemStack(this.getBlock().getItemDropped(meta, rand, 0), 1, this.getBlock().damageDropped(meta)), 0.0F); } } } else if(this.fallingTicks > 100 && !this.worldObj.isRemote && (y < 1 || y > 256) || this.fallingTicks > 600) { - if(this.canDrop) { - this.entityDropItem(new ItemStack(this.getBlock(), 1, this.getBlock().damageDropped(this.getMeta())), 0.0F); + if(this.canDrop && this.getBlock().getItemDropped(meta, rand, 0) != null) { + this.entityDropItem(new ItemStack(this.getBlock().getItemDropped(meta, rand, 0), 1, this.getBlock().damageDropped(meta)), 0.0F); } this.setDead(); diff --git a/src/main/java/com/hbm/entity/item/EntityFireworks.java b/src/main/java/com/hbm/entity/item/EntityFireworks.java index 64227e4aa..974aa471d 100644 --- a/src/main/java/com/hbm/entity/item/EntityFireworks.java +++ b/src/main/java/com/hbm/entity/item/EntityFireworks.java @@ -1,7 +1,7 @@ package com.hbm.entity.item; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.entity.Entity; @@ -9,7 +9,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; public class EntityFireworks extends Entity { - + int color; int character; @@ -26,28 +26,28 @@ public class EntityFireworks extends Entity { @Override protected void entityInit() { } - + @Override public void onUpdate() { - + this.moveEntity(0.0, 3.0D, 0.0); this.worldObj.spawnParticle("flame", posX, posY, posZ, 0.0, -0.3, 0.0); this.worldObj.spawnParticle("smoke", posX, posY, posZ, 0.0, -0.2, 0.0); - + if(!worldObj.isRemote) { - + ticksExisted++; - + if(this.ticksExisted > 30) { - + this.worldObj.playSoundEffect(posX, posY, posZ, "fireworks.blast", 20, 1F + this.rand.nextFloat() * 0.2F); - + this.setDead(); NBTTagCompound data = new NBTTagCompound(); data.setString("type", "fireworks"); data.setInteger("color", color); data.setInteger("char", character); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY, posZ), new TargetPoint(this.worldObj.provider.dimensionId, posX, posY, posZ, 300)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, posX, posY, posZ), new TargetPoint(this.worldObj.provider.dimensionId, posX, posY, posZ, 300)); } } } diff --git a/src/main/java/com/hbm/entity/item/EntityMagnusCartus.java b/src/main/java/com/hbm/entity/item/EntityMagnusCartus.java index 478363a7d..1737cc72c 100644 --- a/src/main/java/com/hbm/entity/item/EntityMagnusCartus.java +++ b/src/main/java/com/hbm/entity/item/EntityMagnusCartus.java @@ -1,8 +1,8 @@ package com.hbm.entity.item; import com.hbm.entity.cart.EntityMinecartBogie; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.entity.Entity; @@ -12,7 +12,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; public class EntityMagnusCartus extends EntityMinecart { - + public EntityMinecartBogie bogie; public EntityMagnusCartus(World world) { @@ -33,12 +33,12 @@ public class EntityMagnusCartus extends EntityMinecart { super.entityInit(); this.dataWatcher.addObject(25, new Integer(0)); } - + public void setBogie(EntityMinecartBogie bogie) { this.bogie = bogie; this.dataWatcher.updateObject(25, bogie.getEntityId()); } - + public int getBogieID() { return this.dataWatcher.getWatchableObjectInt(25); } @@ -46,12 +46,12 @@ public class EntityMagnusCartus extends EntityMinecart { @Override public void onUpdate() { super.onUpdate(); - + if(!worldObj.isRemote) { - + double dist = 3.0D; double force = 0.3D; - + if(bogie == null) { Vec3 vec = Vec3.createVectorHelper(dist, 0, 0); vec.rotateAroundY(rand.nextFloat() * 6.28F); @@ -59,7 +59,7 @@ public class EntityMagnusCartus extends EntityMinecart { this.setBogie(bog); worldObj.spawnEntityInWorld(bog); } - + Vec3 delta = Vec3.createVectorHelper(posX - bogie.posX, posY - bogie.posY, posZ - bogie.posZ); delta = delta.normalize(); delta.xCoord *= dist; @@ -69,17 +69,17 @@ public class EntityMagnusCartus extends EntityMinecart { double x = posX - delta.xCoord; double y = posY - delta.yCoord; double z = posZ - delta.zCoord; - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "vanillaExt"); data.setString("mode", "reddust"); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(this.dimension, x, y, z, 25)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(this.dimension, x, y, z, 25)); + Vec3 pull = Vec3.createVectorHelper(x - bogie.posX, y - bogie.posY, z - bogie.posZ); bogie.motionX += pull.xCoord * force; bogie.motionY += pull.yCoord * force; bogie.motionZ += pull.zCoord * force; - + if(pull.lengthVector() > 1) { this.motionX -= pull.xCoord * force; this.motionY -= pull.yCoord * force; @@ -87,13 +87,13 @@ public class EntityMagnusCartus extends EntityMinecart { } } } - + @Override protected void readEntityFromNBT(NBTTagCompound nbt) { super.readEntityFromNBT(nbt); int bogieID = nbt.getInteger("bogie"); Entity e = worldObj.getEntityByID(bogieID); - + if(e instanceof EntityMinecartBogie) { this.setBogie((EntityMinecartBogie) e); } diff --git a/src/main/java/com/hbm/entity/item/EntityMovingItem.java b/src/main/java/com/hbm/entity/item/EntityMovingItem.java index 56c291373..364aafc29 100644 --- a/src/main/java/com/hbm/entity/item/EntityMovingItem.java +++ b/src/main/java/com/hbm/entity/item/EntityMovingItem.java @@ -4,6 +4,7 @@ import com.hbm.util.fauxpointtwelve.BlockPos; import api.hbm.conveyor.IConveyorItem; import api.hbm.conveyor.IEnterableBlock; +import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; @@ -14,6 +15,8 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public class EntityMovingItem extends EntityMovingConveyorObject implements IConveyorItem { + + public EntityItem cacheForRender = null; public EntityMovingItem(World p_i1582_1_) { super(p_i1582_1_); @@ -31,10 +34,11 @@ public class EntityMovingItem extends EntityMovingConveyorObject implements ICon return stack == null ? new ItemStack(Blocks.stone) : stack; } + /** Adds the item to the player's inventory */ @Override public boolean interactFirst(EntityPlayer player) { - if(!worldObj.isRemote && player.inventory.addItemStackToInventory(this.getItemStack().copy())) { + if(!worldObj.isRemote && !this.isDead && player.inventory.addItemStackToInventory(this.getItemStack().copy())) { player.inventoryContainer.detectAndSendChanges(); this.setDead(); } @@ -42,13 +46,21 @@ public class EntityMovingItem extends EntityMovingConveyorObject implements ICon return false; } + /** Knocks the item off the belt */ @Override - public boolean attackEntityFrom(DamageSource source, float amount) { + public boolean hitByEntity(Entity attacker) { - if(!worldObj.isRemote) { + if(!worldObj.isRemote && !this.isDead) { this.setDead(); worldObj.spawnEntityInWorld(new EntityItem(worldObj, posX, posY, posZ, this.getItemStack())); } + return false; + } + + /** Ensures the item is knocked off the belt due to non-player attacks (explosions, etc) */ + @Override + public boolean attackEntityFrom(DamageSource source, float amount) { + this.hitByEntity(source.getEntity()); return true; } @@ -57,6 +69,23 @@ public class EntityMovingItem extends EntityMovingConveyorObject implements ICon this.getDataWatcher().addObjectByDataType(10, 5); } + @Override + public void onUpdate() { + super.onUpdate(); + + if(worldObj.isRemote) { + ItemStack item = this.getItemStack(); + //initial cache creation + if(this.cacheForRender == null) { + cacheForRender = new EntityItem(worldObj, 0, 0, 0, item); + } + //if the cache is no longer relevant, update + if(!ItemStack.areItemStacksEqual(cacheForRender.getEntityItem(), item)) { + cacheForRender.setEntityItemStack(item); + } + } + } + @Override protected void readEntityFromNBT(NBTTagCompound nbt) { @@ -78,6 +107,7 @@ public class EntityMovingItem extends EntityMovingConveyorObject implements ICon @Override public void enterBlock(IEnterableBlock enterable, BlockPos pos, ForgeDirection dir) { + if(this.isDead) return; if(enterable.canItemEnter(worldObj, pos.getX(), pos.getY(), pos.getZ(), dir, this)) { enterable.onItemEnter(worldObj, pos.getX(), pos.getY(), pos.getZ(), dir, this); @@ -88,6 +118,8 @@ public class EntityMovingItem extends EntityMovingConveyorObject implements ICon @Override public boolean onLeaveConveyor() { + if(this.isDead) return true; + this.setDead(); EntityItem item = new EntityItem(worldObj, posX + motionX * 2, posY + motionY * 2, posZ + motionZ * 2, this.getItemStack()); item.motionX = this.motionX * 2; diff --git a/src/main/java/com/hbm/entity/item/EntityMovingPackage.java b/src/main/java/com/hbm/entity/item/EntityMovingPackage.java index adbf4a5b6..ddf2fb77d 100644 --- a/src/main/java/com/hbm/entity/item/EntityMovingPackage.java +++ b/src/main/java/com/hbm/entity/item/EntityMovingPackage.java @@ -5,6 +5,7 @@ import com.hbm.util.fauxpointtwelve.BlockPos; import api.hbm.conveyor.IConveyorPackage; import api.hbm.conveyor.IEnterableBlock; +import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -38,7 +39,7 @@ public class EntityMovingPackage extends EntityMovingConveyorObject implements I @Override public boolean interactFirst(EntityPlayer player) { - if(!worldObj.isRemote) { + if(!worldObj.isRemote && !this.isDead) { for(ItemStack stack : contents) { if(!player.inventory.addItemStackToInventory(stack.copy())) { @@ -53,15 +54,21 @@ public class EntityMovingPackage extends EntityMovingConveyorObject implements I } @Override - public boolean attackEntityFrom(DamageSource source, float amount) { + public boolean hitByEntity(Entity attacker) { - if(!worldObj.isRemote) { + if(!worldObj.isRemote && !this.isDead) { this.setDead(); for(ItemStack stack : contents) { worldObj.spawnEntityInWorld(new EntityItem(worldObj, posX, posY + 0.125, posZ, stack)); } } + return false; + } + + @Override + public boolean attackEntityFrom(DamageSource source, float amount) { + this.hitByEntity(source.getEntity()); return true; } diff --git a/src/main/java/com/hbm/entity/item/EntityParachuteCrate.java b/src/main/java/com/hbm/entity/item/EntityParachuteCrate.java new file mode 100644 index 000000000..b18195288 --- /dev/null +++ b/src/main/java/com/hbm/entity/item/EntityParachuteCrate.java @@ -0,0 +1,75 @@ +package com.hbm.entity.item; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockSupplyCrate.TileEntitySupplyCrate; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.Entity; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.world.World; + +public class EntityParachuteCrate extends Entity { + + public List items = new ArrayList(); + + public EntityParachuteCrate(World world) { + super(world); + this.ignoreFrustumCheck = true; + this.isImmuneToFire = true; + } + + @Override + public void onUpdate() { + + this.lastTickPosX = this.prevPosX = posX; + this.lastTickPosY = this.prevPosY = posY; + this.lastTickPosZ = this.prevPosZ = posZ; + this.setPosition(posX + this.motionX, posY + this.motionY, posZ + this.motionZ); + + if(this.motionY > -0.2) this.motionY -= 0.02; + if(posY > 600) posY = 600; + + if(this.worldObj.getBlock((int) Math.floor(this.posX), (int) Math.floor(this.posY), (int) Math.floor(this.posZ)) != Blocks.air) { + + this.setDead(); + + if(!worldObj.isRemote) { + + worldObj.setBlock((int) Math.floor(this.posX), (int) Math.floor(this.posY + 1), (int) Math.floor(this.posZ), ModBlocks.crate_supply); + TileEntitySupplyCrate crate = (TileEntitySupplyCrate) worldObj.getTileEntity((int) Math.floor(this.posX), (int) Math.floor(this.posY + 1), (int) Math.floor(this.posZ)); + if(crate != null) crate.items.addAll(this.items); + } + } + } + + @Override protected void entityInit() { } + @Override @SideOnly(Side.CLIENT) public boolean isInRangeToRenderDist(double distance) { return true; } + + @Override + public void readEntityFromNBT(NBTTagCompound nbt) { + items.clear(); + NBTTagList list = nbt.getTagList("items", 10); + for(int i = 0; i < list.tagCount(); i++) { + NBTTagCompound nbt1 = list.getCompoundTagAt(i); + items.add(ItemStack.loadItemStackFromNBT(nbt1)); + } + } + + @Override + public void writeEntityToNBT(NBTTagCompound nbt) { + NBTTagList list = new NBTTagList(); + for(int i = 0; i < items.size(); i++) { + NBTTagCompound nbt1 = new NBTTagCompound(); + items.get(i).writeToNBT(nbt1); + list.appendTag(nbt1); + } + nbt.setTag("items", list); + } +} diff --git a/src/main/java/com/hbm/entity/item/EntityRequestDrone.java b/src/main/java/com/hbm/entity/item/EntityRequestDrone.java index 9a63c5dfd..108ba982c 100644 --- a/src/main/java/com/hbm/entity/item/EntityRequestDrone.java +++ b/src/main/java/com/hbm/entity/item/EntityRequestDrone.java @@ -43,6 +43,8 @@ public class EntityRequestDrone extends EntityDroneBase { @Override public boolean hitByEntity(Entity attacker) { + if(this.isDead) return false; + if(attacker instanceof EntityPlayer && !worldObj.isRemote) { this.setDead(); if(heldItem != null) @@ -199,7 +201,7 @@ public class EntityRequestDrone extends EntityDroneBase { @Override public double getSpeed() { - return 0.6D; + return 0.625D; } @Override diff --git a/src/main/java/com/hbm/entity/logic/EntityBomber.java b/src/main/java/com/hbm/entity/logic/EntityBomber.java index 820bdfc3b..3270d701e 100644 --- a/src/main/java/com/hbm/entity/logic/EntityBomber.java +++ b/src/main/java/com/hbm/entity/logic/EntityBomber.java @@ -1,516 +1,263 @@ package com.hbm.entity.logic; -import java.util.ArrayList; -import java.util.List; - import com.hbm.config.GeneralConfig; import com.hbm.entity.projectile.EntityBombletZeta; import com.hbm.entity.projectile.EntityBoxcar; -import com.hbm.entity.projectile.EntityRocketHoming; import com.hbm.explosion.ExplosionChaos; -import com.hbm.explosion.ExplosionLarge; -import com.hbm.lib.ModDamageSource; +import com.hbm.interfaces.NotableComments; import com.hbm.main.MainRegistry; -import com.hbm.packet.LoopedEntitySoundPacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.util.ParticleUtil; +import com.hbm.sound.AudioWrapper; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.Entity; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; -import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; -import net.minecraftforge.common.ForgeChunkManager; -import net.minecraftforge.common.ForgeChunkManager.Ticket; -import net.minecraftforge.common.ForgeChunkManager.Type; -public class EntityBomber extends Entity implements IChunkLoader { +@NotableComments +public class EntityBomber extends EntityPlaneBase { - int timer = 200; + /* This was probably the dumbest fucking way that I could have handled this. Not gonna change it now, be glad I made a superclass at all. */ int bombStart = 75; int bombStop = 125; int bombRate = 3; int type = 0; - - public int health = 50; - public EntityBomber(World p_i1582_1_) { - super(p_i1582_1_); + protected AudioWrapper audio; + + public EntityBomber(World world) { + super(world); this.ignoreFrustumCheck = true; - this.setSize(8.0F, 4.0F); + this.setSize(8.0F, 4.0F); + } + + @Override + public void entityInit() { + super.entityInit(); + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); } - public boolean canBeCollidedWith() - { - return this.health > 0; - } - - public boolean attackEntityFrom(DamageSource p_70097_1_, float p_70097_2_) - { - if(p_70097_1_ == ModDamageSource.nuclearBlast) - return false; - - if (this.isEntityInvulnerable()) - { - return false; - } - else - { - if (!this.isDead && !this.worldObj.isRemote && this.health > 0) - { - health -= p_70097_2_; - - if (this.health <= 0) - { - this.killBomber(); - } - } - - return true; - } - } - - private void killBomber() { - ExplosionLarge.explode(worldObj, posX, posY, posZ, 5, true, false, true); - worldObj.playSoundEffect((double)(posX + 0.5F), (double)(posY + 0.5F), (double)(posZ + 0.5F), "hbm:entity.planeShotDown", 25.0F, 1.0F); - } - + /** This sucks balls. Too bad! */ @Override public void onUpdate() { + super.onUpdate(); - //super.onUpdate(); - - this.lastTickPosX = this.prevPosX = posX; - this.lastTickPosY = this.prevPosY = posY; - this.lastTickPosZ = this.prevPosZ = posZ; - - this.setPosition(posX + motionX, posY + motionY, posZ + motionZ); - - if(!worldObj.isRemote) { - - this.dataWatcher.updateObject(17, health); - - if(health > 0) - PacketDispatcher.wrapper.sendToAllAround(new LoopedEntitySoundPacket(this.getEntityId()), new TargetPoint(worldObj.provider.dimensionId, posX, posY, posZ, 250)); - } else { - health = this.dataWatcher.getWatchableObjectInt(17); - } - - this.rotation(); - - if(this.health <= 0) { - motionY -= 0.025; - - for(int i = 0; i < 10; i++) - ParticleUtil.spawnGasFlame(this.worldObj, this.posX + rand.nextGaussian() * 0.5 - motionX * 2, this.posY + rand.nextGaussian() * 0.5 - motionY * 2, this.posZ + rand.nextGaussian() * 0.5 - motionZ * 2, 0.0, 0.1, 0.0); - - if(worldObj.getBlock((int)posX, (int)posY, (int)posZ).isNormalCube() && !worldObj.isRemote) { - this.setDead(); - - /*worldObj.setBlock((int)posX, (int)posY, (int)posZ, ModBlocks.bomber); - TileEntityBomber te = (TileEntityBomber)worldObj.getTileEntity((int)posX, (int)posY, (int)posZ); - - if(te != null) { - te.yaw = (int)(this.rotationYaw); - te.pitch = (int)(this.rotationPitch); - - te.type = this.getDataWatcher().getWatchableObjectByte(16); - }*/ - - ExplosionLarge.explodeFire(worldObj, posX, posY, posZ, 25, true, false, true); - worldObj.playSoundEffect((double)(posX + 0.5F), (double)(posY + 0.5F), (double)(posZ + 0.5F), "hbm:entity.planeCrash", 10.0F, 1.0F); - - return; + if(worldObj.isRemote) { + if(this.getDataWatcher().getWatchableObjectFloat(17) > 0) { + if(audio == null || !audio.isPlaying()) { + int bomberType = this.dataWatcher.getWatchableObjectByte(16); + audio = MainRegistry.proxy.getLoopedSound(bomberType <= 4 ? "hbm:entity.bomberSmallLoop" : "hbm:entity.bomberLoop", (float) posX, (float) posY, (float) posZ, 2F, 250F, 1F, 20); + audio.startSound(); + } + audio.keepAlive(); + audio.updatePosition((float) posX, (float) posY, (float) posZ); + } else { + if(audio != null && audio.isPlaying()) { + audio.stopSound(); + audio = null; + } } } - if(this.ticksExisted > timer) - this.setDead(); - if(!worldObj.isRemote && this.health > 0 && this.ticksExisted > bombStart && this.ticksExisted < bombStop && this.ticksExisted % bombRate == 0) { if(type == 3) { + worldObj.playSoundEffect((double) (posX + 0.5F), (double) (posY + 0.5F), (double) (posZ + 0.5F), "random.fizz", 5.0F, 2.6F + (rand.nextFloat() - rand.nextFloat()) * 0.8F); + ExplosionChaos.spawnPoisonCloud(worldObj, this.posX, this.posY - 1F, this.posZ, 10, 0.5, 3); - worldObj.playSoundEffect((double)(posX + 0.5F), (double)(posY + 0.5F), (double)(posZ + 0.5F), "random.fizz", 5.0F, 2.6F + (rand.nextFloat() - rand.nextFloat()) * 0.8F); - ExplosionChaos.spawnChlorine(worldObj, this.posX, this.posY - 1F, this.posZ, 10, 0.5, 3); - } else if(type == 5) { - - worldObj.playSoundEffect((double)(posX + 0.5F), (double)(posY + 0.5F), (double)(posZ + 0.5F), "hbm:weapon.missileTakeOff", 10.0F, 0.9F + rand.nextFloat() * 0.2F); - EntityRocketHoming rocket = new EntityRocketHoming(worldObj); - rocket.setIsCritical(true); - //rocket.motionX = motionX; - //rocket.motionZ = motionZ; - rocket.motionY = -1; - rocket.shootingEntity = this; - rocket.homingRadius = 50; - rocket.homingMod = 5; - - rocket.posX = posX + rand.nextDouble() - 0.5; - rocket.posY = posY - rand.nextDouble(); - rocket.posZ = posZ + rand.nextDouble() - 0.5; - - worldObj.spawnEntityInWorld(rocket); - - } else if(type == 6) { - - worldObj.playSoundEffect((double)(posX + 0.5F), (double)(posY + 0.5F), (double)(posZ + 0.5F), "hbm:weapon.missileTakeOff", 10.0F, 0.9F + rand.nextFloat() * 0.2F); - EntityBoxcar rocket = new EntityBoxcar(worldObj); - - rocket.posX = posX + rand.nextDouble() - 0.5; - rocket.posY = posY - rand.nextDouble(); - rocket.posZ = posZ + rand.nextDouble() - 0.5; - - worldObj.spawnEntityInWorld(rocket); - - } else if(type == 7) { - worldObj.playSoundEffect((double)(posX + 0.5F), (double)(posY + 0.5F), (double)(posZ + 0.5F), "random.fizz", 5.0F, 2.6F + (rand.nextFloat() - rand.nextFloat()) * 0.8F); - ExplosionChaos.spawnChlorine(worldObj, this.posX, worldObj.getHeightValue((int)this.posX, (int)this.posZ) + 2, this.posZ, 10, 1, 2); - + } else if(type == 6) { + worldObj.playSoundEffect((double) (posX + 0.5F), (double) (posY + 0.5F), (double) (posZ + 0.5F), "hbm:weapon.missileTakeOff", 10.0F, 0.9F + rand.nextFloat() * 0.2F); + EntityBoxcar rocket = new EntityBoxcar(worldObj); + rocket.posX = posX + rand.nextDouble() - 0.5; + rocket.posY = posY - rand.nextDouble(); + rocket.posZ = posZ + rand.nextDouble() - 0.5; + worldObj.spawnEntityInWorld(rocket); + + } else if(type == 7) { + worldObj.playSoundEffect((double) (posX + 0.5F), (double) (posY + 0.5F), (double) (posZ + 0.5F), "random.fizz", 5.0F, 2.6F + (rand.nextFloat() - rand.nextFloat()) * 0.8F); + ExplosionChaos.spawnPoisonCloud(worldObj, this.posX, worldObj.getHeightValue((int) this.posX, (int) this.posZ) + 2, this.posZ, 10, 1, 2); + } else { - - worldObj.playSoundEffect((double)(posX + 0.5F), (double)(posY + 0.5F), (double)(posZ + 0.5F), "hbm:entity.bombWhistle", 10.0F, 0.9F + rand.nextFloat() * 0.2F); - + worldObj.playSoundEffect((double) (posX + 0.5F), (double) (posY + 0.5F), (double) (posZ + 0.5F), "hbm:entity.bombWhistle", 10.0F, 0.9F + rand.nextFloat() * 0.2F); EntityBombletZeta zeta = new EntityBombletZeta(worldObj); - /*zeta.prevRotationYaw = zeta.rotationYaw = this.rotationYaw; - zeta.prevRotationPitch = zeta.rotationPitch = this.rotationPitch;*/ - zeta.rotation(); - zeta.type = type; - zeta.posX = posX + rand.nextDouble() - 0.5; zeta.posY = posY - rand.nextDouble(); zeta.posZ = posZ + rand.nextDouble() - 0.5; - if(type == 0) { - zeta.motionX = motionX + rand.nextGaussian() * 0.15; - zeta.motionZ = motionZ + rand.nextGaussian() * 0.15; + zeta.motionX = motionX + rand.nextGaussian() * 0.15; zeta.motionZ = motionZ + rand.nextGaussian() * 0.15; } else { - zeta.motionX = motionX; - zeta.motionZ = motionZ; + zeta.motionX = motionX; zeta.motionZ = motionZ; } - worldObj.spawnEntityInWorld(zeta); } } - - if(!worldObj.isRemote) - loadNeighboringChunks((int)(posX / 16), (int)(posZ / 16)); - } - - public void fac(World world, double x, double y, double z) { - - Vec3 vector = Vec3.createVectorHelper(world.rand.nextDouble() - 0.5, 0, world.rand.nextDouble() - 0.5); - vector = vector.normalize(); - vector.xCoord *= GeneralConfig.enableBomberShortMode ? 1 : 2; - vector.zCoord *= GeneralConfig.enableBomberShortMode ? 1 : 2; - - this.setLocationAndAngles(x - vector.xCoord * 100, y + 50, z - vector.zCoord * 100, 0.0F, 0.0F); - this.loadNeighboringChunks((int)(x / 16), (int)(z / 16)); - - this.motionX = vector.xCoord; - this.motionZ = vector.zCoord; - this.motionY = 0.0D; - - this.rotation(); - - int i = 1; - - int rand = world.rand.nextInt(7); - - switch(rand) { - case 0: - case 1: i = 1; break; - case 2: - case 3: i = 2; break; - case 4: i = 5; break; - case 5: i = 6; break; - case 6: i = 7; break; - } - - if(world.rand.nextInt(100) == 0) { - rand = world.rand.nextInt(4); - switch(rand) { - case 0: i = 0; break; - case 1: i = 3; break; - case 2: i = 4; break; - case 3: i = 8; break; - } - } - - this.getDataWatcher().updateObject(16, (byte)i); - this.setSize(8.0F, 4.0F); - } - - public static EntityBomber statFacCarpet(World world, double x, double y, double z) { - - EntityBomber bomber = new EntityBomber(world); - - bomber.timer = 200; - bomber.bombStart = 50; - bomber.bombStop = 100; - bomber.bombRate = 2; + public void fac(World world, double x, double y, double z) { - bomber.fac(world, x, y, z); - - bomber.type = 0; - - return bomber; - } - - public static EntityBomber statFacNapalm(World world, double x, double y, double z) { - - EntityBomber bomber = new EntityBomber(world); - - bomber.timer = 200; - bomber.bombStart = 50; - bomber.bombStop = 100; - bomber.bombRate = 5; + Vec3 vector = Vec3.createVectorHelper(world.rand.nextDouble() - 0.5, 0, world.rand.nextDouble() - 0.5); + vector = vector.normalize(); + vector.xCoord *= GeneralConfig.enableBomberShortMode ? 1 : 2; + vector.zCoord *= GeneralConfig.enableBomberShortMode ? 1 : 2; - bomber.fac(world, x, y, z); - - bomber.type = 1; - - return bomber; - } - - public static EntityBomber statFacChlorine(World world, double x, double y, double z) { - - EntityBomber bomber = new EntityBomber(world); - - bomber.timer = 200; - bomber.bombStart = 50; - bomber.bombStop = 100; - bomber.bombRate = 4; + this.setLocationAndAngles(x - vector.xCoord * 100, y + 50, z - vector.zCoord * 100, 0.0F, 0.0F); + this.loadNeighboringChunks((int) (x / 16), (int) (z / 16)); - bomber.fac(world, x, y, z); - - bomber.type = 2; - - return bomber; - } - - public static EntityBomber statFacOrange(World world, double x, double y, double z) { - - EntityBomber bomber = new EntityBomber(world); - - bomber.timer = 200; - bomber.bombStart = 75; - bomber.bombStop = 125; - bomber.bombRate = 1; + this.motionX = vector.xCoord; + this.motionZ = vector.zCoord; + this.motionY = 0.0D; - bomber.fac(world, x, y, z); - - bomber.type = 3; - - return bomber; - } - - public static EntityBomber statFacABomb(World world, double x, double y, double z) { - - EntityBomber bomber = new EntityBomber(world); - - bomber.timer = 200; - bomber.bombStart = 60; - bomber.bombStop = 70; - bomber.bombRate = 65; + this.rotation(); - bomber.fac(world, x, y, z); - - int i = 1; - - int rand = world.rand.nextInt(3); - - switch(rand) { - case 0: i = 5; break; - case 1: i = 6; break; - case 2: i = 7; break; - } - - if(world.rand.nextInt(100) == 0) { - i = 8; - } - - bomber.getDataWatcher().updateObject(16, (byte)i); - - bomber.type = 4; - - return bomber; - } - - public static EntityBomber statFacStinger(World world, double x, double y, double z) { - - EntityBomber bomber = new EntityBomber(world); - - bomber.timer = 200; - bomber.bombStart = 50; - bomber.bombStop = 150; - bomber.bombRate = 10; + int i = 1; - bomber.fac(world, x, y, z); - - bomber.getDataWatcher().updateObject(16, (byte)4); - - bomber.type = 5; - - return bomber; - } - - public static EntityBomber statFacBoxcar(World world, double x, double y, double z) { - - EntityBomber bomber = new EntityBomber(world); - - bomber.timer = 200; - bomber.bombStart = 50; - bomber.bombStop = 150; - bomber.bombRate = 10; + int rand = world.rand.nextInt(7); - bomber.fac(world, x, y, z); - - bomber.getDataWatcher().updateObject(16, (byte)6); - - bomber.type = 6; - - return bomber; - } - - public static EntityBomber statFacPC(World world, double x, double y, double z) { - - EntityBomber bomber = new EntityBomber(world); - - bomber.timer = 200; - bomber.bombStart = 75; - bomber.bombStop = 125; - bomber.bombRate = 1; + switch(rand) { + case 0: case 1: i = 1; break; + case 2: case 3: i = 2; break; + case 4: i = 5; break; + case 5: i = 6; break; + case 6: i = 7; break; + } - bomber.fac(world, x, y, z); - - bomber.getDataWatcher().updateObject(16, (byte)6); - - bomber.type = 7; - - return bomber; - } + if(world.rand.nextInt(100) == 0) { + rand = world.rand.nextInt(4); + switch(rand) { + case 0: i = 0; break; + case 1: i = 3; break; + case 2: i = 4; break; + case 3: i = 8; break; + } + } - @Override - public void entityInit() { - init(ForgeChunkManager.requestTicket(MainRegistry.instance, worldObj, Type.ENTITY)); - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - this.dataWatcher.addObject(17, Integer.valueOf((int)50)); - } + this.getDataWatcher().updateObject(16, (byte) i); + this.setSize(8.0F, 4.0F); + } + + public static EntityBomber statFacCarpet(World world, double x, double y, double z) { + EntityBomber bomber = new EntityBomber(world); + bomber.timer = 200; + bomber.bombStart = 50; + bomber.bombStop = 100; + bomber.bombRate = 2; + bomber.fac(world, x, y, z); + bomber.type = 0; + return bomber; + } + + public static EntityBomber statFacNapalm(World world, double x, double y, double z) { + EntityBomber bomber = new EntityBomber(world); + bomber.timer = 200; + bomber.bombStart = 50; + bomber.bombStop = 100; + bomber.bombRate = 5; + bomber.fac(world, x, y, z); + bomber.type = 1; + return bomber; + } + + public static EntityBomber statFacChlorine(World world, double x, double y, double z) { + EntityBomber bomber = new EntityBomber(world); + bomber.timer = 200; + bomber.bombStart = 50; + bomber.bombStop = 100; + bomber.bombRate = 4; + bomber.fac(world, x, y, z); + bomber.type = 2; + return bomber; + } + + public static EntityBomber statFacOrange(World world, double x, double y, double z) { + EntityBomber bomber = new EntityBomber(world); + bomber.timer = 200; + bomber.bombStart = 75; + bomber.bombStop = 125; + bomber.bombRate = 1; + bomber.fac(world, x, y, z); + bomber.type = 3; + return bomber; + } + + public static EntityBomber statFacABomb(World world, double x, double y, double z) { + EntityBomber bomber = new EntityBomber(world); + bomber.timer = 200; + bomber.bombStart = 60; + bomber.bombStop = 70; + bomber.bombRate = 65; + bomber.fac(world, x, y, z); + int i = 1; + + int rand = world.rand.nextInt(3); + + switch(rand) { + case 0: i = 5; break; + case 1: i = 6; break; + case 2: i = 7; break; + } + if(world.rand.nextInt(100) == 0) i = 8; + + bomber.getDataWatcher().updateObject(16, (byte) i); + bomber.type = 4; + return bomber; + } + + public static EntityBomber statFacStinger(World world, double x, double y, double z) { + EntityBomber bomber = new EntityBomber(world); + bomber.timer = 200; + bomber.bombStart = 50; + bomber.bombStop = 150; + bomber.bombRate = 10; + bomber.fac(world, x, y, z); + bomber.getDataWatcher().updateObject(16, (byte) 4); + bomber.type = 5; + return bomber; + } + + public static EntityBomber statFacBoxcar(World world, double x, double y, double z) { + EntityBomber bomber = new EntityBomber(world); + bomber.timer = 200; + bomber.bombStart = 50; + bomber.bombStop = 150; + bomber.bombRate = 10; + bomber.fac(world, x, y, z); + bomber.getDataWatcher().updateObject(16, (byte) 6); + bomber.type = 6; + return bomber; + } + + public static EntityBomber statFacPC(World world, double x, double y, double z) { + EntityBomber bomber = new EntityBomber(world); + bomber.timer = 200; + bomber.bombStart = 75; + bomber.bombStop = 125; + bomber.bombRate = 1; + bomber.fac(world, x, y, z); + bomber.getDataWatcher().updateObject(16, (byte) 6); + bomber.type = 7; + return bomber; + } @Override protected void readEntityFromNBT(NBTTagCompound nbt) { - ticksExisted = nbt.getInteger("ticksExisted"); + super.readEntityFromNBT(nbt); bombStart = nbt.getInteger("bombStart"); bombStop = nbt.getInteger("bombStop"); bombRate = nbt.getInteger("bombRate"); type = nbt.getInteger("type"); - - this.getDataWatcher().updateObject(16, nbt.getByte("style")); - this.getDataWatcher().updateObject(17, nbt.getInteger("health")); - this.setSize(8.0F, 4.0F); + this.getDataWatcher().updateObject(16, nbt.getByte("style")); + this.setSize(8.0F, 4.0F); } @Override protected void writeEntityToNBT(NBTTagCompound nbt) { - nbt.setInteger("ticksExisted", ticksExisted); + super.writeEntityToNBT(nbt); nbt.setInteger("bombStart", bombStart); nbt.setInteger("bombStop", bombStop); nbt.setInteger("bombRate", bombRate); nbt.setInteger("type", type); nbt.setByte("style", this.getDataWatcher().getWatchableObjectByte(16)); - nbt.setInteger("health", this.getDataWatcher().getWatchableObjectInt(17)); } - - protected void rotation() { - float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; - } - } - - @Override - @SideOnly(Side.CLIENT) - public boolean isInRangeToRenderDist(double distance) - { - return distance < 500000; - } - - private Ticket loaderTicket; - - public void init(Ticket ticket) { - - if(!worldObj.isRemote) { - - if(ticket != null) { - - if(loaderTicket == null) { - - loaderTicket = ticket; - loaderTicket.bindEntity(this); - loaderTicket.getModData(); - } - - - ForgeChunkManager.forceChunk(loaderTicket, new ChunkCoordIntPair(chunkCoordX, chunkCoordZ)); - } - } - } - - List loadedChunks = new ArrayList(); - - public void loadNeighboringChunks(int newChunkX, int newChunkZ) - { - if(!worldObj.isRemote && loaderTicket != null) - { - for(ChunkCoordIntPair chunk : loadedChunks) - { - ForgeChunkManager.unforceChunk(loaderTicket, chunk); - } - - loadedChunks.clear(); - loadedChunks.add(new ChunkCoordIntPair(newChunkX, newChunkZ)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX + 1, newChunkZ + 1)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX - 1, newChunkZ - 1)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX + 1, newChunkZ - 1)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX - 1, newChunkZ + 1)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX + 1, newChunkZ)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX, newChunkZ + 1)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX - 1, newChunkZ)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX, newChunkZ - 1)); - - for(ChunkCoordIntPair chunk : loadedChunks) - { - ForgeChunkManager.forceChunk(loaderTicket, chunk); - } - } - } } diff --git a/src/main/java/com/hbm/entity/logic/EntityC130.java b/src/main/java/com/hbm/entity/logic/EntityC130.java new file mode 100644 index 000000000..0b0927845 --- /dev/null +++ b/src/main/java/com/hbm/entity/logic/EntityC130.java @@ -0,0 +1,98 @@ +package com.hbm.entity.logic; + +import com.hbm.entity.item.EntityParachuteCrate; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsC130; +import com.hbm.main.MainRegistry; +import com.hbm.sound.AudioWrapper; +import com.hbm.util.EnumUtil; + +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class EntityC130 extends EntityPlaneBase { + + protected AudioWrapper audio; + public C130PayloadType payload = C130PayloadType.SUPPLIES; + + public EntityC130(World world) { + super(world); + this.ignoreFrustumCheck = true; + this.setSize(8.0F, 4.0F); + } + + @Override + public void onUpdate() { + super.onUpdate(); + + if(worldObj.isRemote) { + if(this.getDataWatcher().getWatchableObjectFloat(17) > 0) { + if(audio == null || !audio.isPlaying()) { + audio = MainRegistry.proxy.getLoopedSound("hbm:entity.bomberLoop", (float) posX, (float) posY, (float) posZ, 2F, 250F, 1F, 20); + audio.startSound(); + } + audio.keepAlive(); + audio.updatePosition((float) posX, (float) posY, (float) posZ); + } else { + if(audio != null && audio.isPlaying()) { + audio.stopSound(); + audio = null; + } + } + } + + if(!worldObj.isRemote && this.ticksExisted == this.getLifetime() / 2 && this.health > 0) { + EntityParachuteCrate crate = new EntityParachuteCrate(worldObj); + crate.setPosition(posX - motionX * 7, posY - 10, posZ - motionZ * 7); + + if(this.payload == C130PayloadType.SUPPLIES) { + for(int i = 0; i < 5; i++) crate.items.add(ItemPool.getStack(ItemPoolsC130.POOL_SUPPLIES, this.rand)); + } + if(this.payload == C130PayloadType.WEAPONS) { + int amount = 1 + rand.nextInt(2); + for(int i = 0; i < amount; i++) crate.items.add(ItemPool.getStack(ItemPoolsC130.POOL_WEAPONS, this.rand)); + for(int i = 0; i < 6; i++) crate.items.add(ItemPool.getStack(ItemPoolsC130.POOL_AMMO, this.rand)); + } + + worldObj.spawnEntityInWorld(crate); + } + } + + @Override + protected void readEntityFromNBT(NBTTagCompound nbt) { + super.readEntityFromNBT(nbt); + this.payload = EnumUtil.grabEnumSafely(C130PayloadType.class, nbt.getInteger("payload")); + } + + @Override + protected void writeEntityToNBT(NBTTagCompound nbt) { + super.writeEntityToNBT(nbt); + nbt.setInteger("payload", this.payload.ordinal()); + } + + public void fac(World world, double x, double y, double z, C130PayloadType payload) { + + Vec3 vector = Vec3.createVectorHelper(world.rand.nextDouble() - 0.5, 0, world.rand.nextDouble() - 0.5); + vector = vector.normalize(); + vector.xCoord *= 2; + vector.zCoord *= 2; + + this.payload = payload; + + this.setLocationAndAngles(x - vector.xCoord * 100, y + 100, z - vector.zCoord * 100, 0.0F, 0.0F); + this.loadNeighboringChunks((int) (x / 16), (int) (z / 16)); + + this.motionX = vector.xCoord; + this.motionZ = vector.zCoord; + this.motionY = 0.0D; + + this.rotation(); + } + + public static enum C130PayloadType { + SUPPLIES, + WEAPONS, + A_FUCKING_FUEL_TRUCK + } +} diff --git a/src/main/java/com/hbm/entity/logic/EntityDeathBlast.java b/src/main/java/com/hbm/entity/logic/EntityDeathBlast.java index 75fea35f7..9d1a45f73 100644 --- a/src/main/java/com/hbm/entity/logic/EntityDeathBlast.java +++ b/src/main/java/com/hbm/entity/logic/EntityDeathBlast.java @@ -2,8 +2,8 @@ package com.hbm.entity.logic; import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; @@ -14,7 +14,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; public class EntityDeathBlast extends Entity { - + public static final int maxAge = 60; public EntityDeathBlast(World p_i1582_1_) { @@ -30,21 +30,21 @@ public class EntityDeathBlast extends Entity { @Override protected void writeEntityToNBT(NBTTagCompound nbt) { } - + @Override public void onUpdate() { - + if(this.ticksExisted >= maxAge && !worldObj.isRemote) { this.setDead(); - + worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFacNoRad(worldObj, 40, posX, posY, posZ)); - + int count = 100; for(int i = 0; i < count; i++) { - + Vec3 vec = Vec3.createVectorHelper(0.2, 0, 0); vec.rotateAroundY((float)(2 * Math.PI * i / (float)count)); - + EntityBulletBaseNT laser = new EntityBulletBaseNT(worldObj, BulletConfigSyncingUtil.MASKMAN_BOLT); laser.setPosition(posX, posY + 2, posZ); laser.motionX = vec.xCoord; @@ -52,10 +52,10 @@ public class EntityDeathBlast extends Entity { laser.motionY = -0.01; worldObj.spawnEntityInWorld(laser); } - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "muke"); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY + 0.5, posZ), new TargetPoint(worldObj.provider.dimensionId, posX, posY, posZ, 250)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, posX, posY + 0.5, posZ), new TargetPoint(worldObj.provider.dimensionId, posX, posY, posZ, 250)); worldObj.playSoundEffect(posX, posY, posZ, "hbm:weapon.mukeExplosion", 25.0F, 0.9F); } } diff --git a/src/main/java/com/hbm/entity/logic/EntityEMP.java b/src/main/java/com/hbm/entity/logic/EntityEMP.java index 3ba75fc54..c322b4fa7 100644 --- a/src/main/java/com/hbm/entity/logic/EntityEMP.java +++ b/src/main/java/com/hbm/entity/logic/EntityEMP.java @@ -4,7 +4,7 @@ import java.util.ArrayList; import java.util.List; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.ParticleBurstPacket; +import com.hbm.packet.toclient.ParticleBurstPacket; import api.hbm.energymk2.IEnergyHandlerMK2; import cofh.api.energy.IEnergyProvider; diff --git a/src/main/java/com/hbm/entity/logic/EntityExplosionChunkloading.java b/src/main/java/com/hbm/entity/logic/EntityExplosionChunkloading.java index ca2ad6f6f..eae135e54 100644 --- a/src/main/java/com/hbm/entity/logic/EntityExplosionChunkloading.java +++ b/src/main/java/com/hbm/entity/logic/EntityExplosionChunkloading.java @@ -44,8 +44,9 @@ public abstract class EntityExplosionChunkloading extends Entity implements IChu } public void clearChunkLoader() { - if(!worldObj.isRemote && loaderTicket != null && loadedChunk != null) { - ForgeChunkManager.unforceChunk(loaderTicket, loadedChunk); + if(!worldObj.isRemote && loaderTicket != null) { + ForgeChunkManager.releaseTicket(loaderTicket); + this.loaderTicket = null; } } } diff --git a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK3.java b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK3.java index 665d9550d..1f2e64316 100644 --- a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK3.java +++ b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK3.java @@ -4,6 +4,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.Map.Entry; +import com.hbm.handler.threading.PacketThreading; import org.apache.logging.log4j.Level; import com.hbm.config.BombConfig; @@ -16,8 +17,7 @@ import com.hbm.explosion.ExplosionNukeGeneric; import com.hbm.explosion.ExplosionSolinium; import com.hbm.interfaces.Spaghetti; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.entity.player.EntityPlayer; @@ -27,7 +27,7 @@ import net.minecraft.world.World; @Spaghetti("why???") public class EntityNukeExplosionMK3 extends EntityExplosionChunkloading { - + public int age = 0; public int destructionRange = 0; public ExplosionNukeAdvanced exp; @@ -55,14 +55,14 @@ public class EntityNukeExplosionMK3 extends EntityExplosionChunkloading { did2 = nbt.getBoolean("did2"); waste = nbt.getBoolean("waste"); extType = nbt.getInteger("extType"); - + long time = nbt.getLong("milliTime"); - + if(BombConfig.limitExplosionLifespan > 0 && System.currentTimeMillis() - time > BombConfig.limitExplosionLifespan * 1000) { this.clearChunkLoader(); this.setDead(); } - + if(this.waste) { exp = new ExplosionNukeAdvanced((int) this.posX, (int) this.posY, (int) this.posZ, this.worldObj, this.destructionRange, this.coefficient, 0); exp.readFromNbt(nbt, "exp_"); @@ -97,9 +97,9 @@ public class EntityNukeExplosionMK3 extends EntityExplosionChunkloading { nbt.setBoolean("did2", did2); nbt.setBoolean("waste", waste); nbt.setInteger("extType", extType); - + nbt.setLong("milliTime", System.currentTimeMillis()); - + if(exp != null) exp.saveToNbt(nbt, "exp_"); if(wst != null) @@ -110,7 +110,7 @@ public class EntityNukeExplosionMK3 extends EntityExplosionChunkloading { expl.saveToNbt(nbt, "expl_"); if(sol != null) sol.saveToNbt(nbt, "sol_"); - + } public EntityNukeExplosionMK3(World p_i1582_1_) { @@ -122,15 +122,15 @@ public class EntityNukeExplosionMK3 extends EntityExplosionChunkloading { super.onUpdate(); if(!worldObj.isRemote) loadChunk((int) Math.floor(posX / 16D), (int) Math.floor(posZ / 16D)); - + if(!this.did) { for(Object player : this.worldObj.playerEntities) ((EntityPlayer)player).triggerAchievement(MainRegistry.achManhattan); - + if(GeneralConfig.enableExtendedLogging && !worldObj.isRemote) MainRegistry.logger.log(Level.INFO, "[NUKE] Initialized mk3 explosion at " + posX + " / " + posY + " / " + posZ + " with strength " + destructionRange + "!"); - + if(this.waste) { exp = new ExplosionNukeAdvanced((int)this.posX, (int)this.posY, (int)this.posZ, this.worldObj, this.destructionRange, this.coefficient, 0); @@ -142,15 +142,15 @@ public class EntityNukeExplosionMK3 extends EntityExplosionChunkloading { if(extType == 1) sol = new ExplosionSolinium((int)this.posX, (int)this.posY, (int)this.posZ, this.worldObj, this.destructionRange, this.coefficient, this.coefficient2); } - + this.did = true; } - + speed += 1; //increase speed to keep up with expansion - + boolean flag = false; boolean flag3 = false; - + for(int i = 0; i < this.speed; i++) { if(waste) { flag = exp.update(); @@ -176,17 +176,17 @@ public class EntityNukeExplosionMK3 extends EntityExplosionChunkloading { } } } - + if(!flag) { this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "ambient.weather.thunder", 10000.0F, 0.8F + this.rand.nextFloat() * 0.2F); - + if(waste || extType != 1) { ExplosionNukeGeneric.dealDamage(this.worldObj, this.posX, this.posY, this.posZ, this.destructionRange * 2); } else { ExplosionHurtUtil.doRadiation(worldObj, posX, posY, posZ, 15000, 250000, this.destructionRange); } - + } else { if (!did2 && waste) { EntityFalloutRain fallout = new EntityFalloutRain(this.worldObj, (int)(this.destructionRange * 1.8) * 10); @@ -197,18 +197,18 @@ public class EntityNukeExplosionMK3 extends EntityExplosionChunkloading { this.worldObj.spawnEntityInWorld(fallout); //this.worldObj.getWorldInfo().setRaining(true); - + did2 = true; } } age++; } - + public static HashMap at = new HashMap(); - + public static EntityNukeExplosionMK3 statFacFleija(World world, double x, double y, double z, int range) { - + EntityNukeExplosionMK3 entity = new EntityNukeExplosionMK3(world); entity.posX = x; entity.posY = y; @@ -217,63 +217,67 @@ public class EntityNukeExplosionMK3 extends EntityExplosionChunkloading { entity.speed = BombConfig.blastSpeed; entity.coefficient = 1.0F; entity.waste = false; - + Iterator> it = at.entrySet().iterator(); - + while(it.hasNext()) { - + Entry next = it.next(); if(next.getValue() < world.getTotalWorldTime()) { it.remove(); continue; } - + ATEntry entry = next.getKey(); if(entry.dim != world.provider.dimensionId) continue; - + Vec3 vec = Vec3.createVectorHelper(x - entry.x, y - entry.y, z - entry.z); - + if(vec.lengthVector() < 300) { entity.setDead(); /* just to make sure */ if(!world.isRemote) { - + for(int i = 0; i < 2; i++) { double ix = i == 0 ? x : (entry.x + 0.5); double iy = i == 0 ? y : (entry.y + 0.5); double iz = i == 0 ? z : (entry.z + 0.5); - + world.playSoundEffect(ix, iy, iz, "hbm:entity.ufoBlast", 15.0F, 0.7F + world.rand.nextFloat() * 0.2F); - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "plasmablast"); data.setFloat("r", 0.0F); data.setFloat("g", 0.75F); data.setFloat("b", 1.0F); data.setFloat("scale", 7.5F); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, ix, iy, iz), new TargetPoint(entry.dim, ix, iy, iz, 150)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, ix, iy, iz), new TargetPoint(entry.dim, ix, iy, iz, 150)); } } - + break; } } + if(!entity.isDead) { + entity.loadChunk((int) Math.floor(x / 16D), (int) Math.floor(z / 16D)); + } + return entity; } - + public EntityNukeExplosionMK3 makeSol() { this.extType = 1; return this; } - + public static class ATEntry { public int dim; public int x; public int y; public int z; - + public ATEntry(int dim, int x, int y, int z) { this.dim = dim; this.x = x; diff --git a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java index 3dc6451a8..cabe50118 100644 --- a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java +++ b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java @@ -2,6 +2,7 @@ package com.hbm.entity.logic; import java.util.List; +import com.hbm.interfaces.IExplosionRay; import org.apache.logging.log4j.Level; import com.hbm.config.BombConfig; @@ -22,32 +23,32 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; public class EntityNukeExplosionMK5 extends EntityExplosionChunkloading { - + //Strength of the blast public int strength; //How many rays are calculated per tick public int speed; public int length; - + private long explosionStart; public boolean fallout = true; private int falloutAdd = 0; - - ExplosionNukeRayBatched explosion; + + private IExplosionRay explosion; public EntityNukeExplosionMK5(World p_i1582_1_) { super(p_i1582_1_); } - + public EntityNukeExplosionMK5(World world, int strength, int speed, int length) { super(world); this.strength = strength; this.speed = speed; this.length = length; } - + @Override public void onUpdate() { - + if(strength == 0) { this.clearChunkLoader(); this.setDead(); @@ -55,78 +56,84 @@ public class EntityNukeExplosionMK5 extends EntityExplosionChunkloading { } if(!worldObj.isRemote) loadChunk((int) Math.floor(posX / 16D), (int) Math.floor(posZ / 16D)); - + for(Object player : this.worldObj.playerEntities) { ((EntityPlayer)player).triggerAchievement(MainRegistry.achManhattan); } - + if(!worldObj.isRemote && fallout && explosion != null && this.ticksExisted < 10 && strength >= 75) { radiate(2_500_000F / (this.ticksExisted * 5 + 1), this.length * 2); } - + ExplosionNukeGeneric.dealDamage(this.worldObj, this.posX, this.posY, this.posZ, this.length * 2); - + if(explosion == null) { - explosion = new ExplosionNukeRayBatched(worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, this.strength, this.speed, this.length); + explosionStart = System.currentTimeMillis(); + //if(BombConfig.explosionAlgorithm == 1 || BombConfig.explosionAlgorithm == 2) { + // explosion = new ExplosionNukeRayParallelized(worldObj, posX, posY, posZ, strength, speed, length); + //} else { + explosion = new ExplosionNukeRayBatched(worldObj, (int) posX, (int) posY, (int) posZ, strength, speed, length); + //} } - - if(!explosion.isAusf3Complete) { - explosion.collectTip(speed * 10); - } else if(explosion.perChunk.size() > 0) { - long start = System.currentTimeMillis(); - - while(explosion.perChunk.size() > 0 && System.currentTimeMillis() < start + BombConfig.mk5) explosion.processChunk(); - - } else if(fallout) { - EntityFalloutRain fallout = new EntityFalloutRain(this.worldObj); - fallout.posX = this.posX; - fallout.posY = this.posY; - fallout.posZ = this.posZ; - fallout.setScale((int)(this.length * 2.5 + falloutAdd) * BombConfig.falloutRange / 100); - - this.worldObj.spawnEntityInWorld(fallout); - - this.clearChunkLoader(); - this.setDead(); + if(!explosion.isComplete()) { + explosion.cacheChunksTick(BombConfig.mk5); + explosion.destructionTick(BombConfig.mk5); } else { + if(GeneralConfig.enableExtendedLogging && explosionStart != 0) + MainRegistry.logger.log(Level.INFO, "[NUKE] Explosion complete. Time elapsed: {}ms", (System.currentTimeMillis() - explosionStart)); + if(fallout) { + EntityFalloutRain fallout = new EntityFalloutRain(this.worldObj); + fallout.posX = this.posX; + fallout.posY = this.posY; + fallout.posZ = this.posZ; + fallout.setScale((int)(this.length * 2.5 + falloutAdd) * BombConfig.falloutRange / 100); + this.worldObj.spawnEntityInWorld(fallout); + } this.clearChunkLoader(); this.setDead(); } } - + private void radiate(float rads, double range) { - + List entities = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(posX, posY, posZ, posX, posY, posZ).expand(range, range, range)); - + for(EntityLivingBase e : entities) { - + Vec3 vec = Vec3.createVectorHelper(e.posX - posX, (e.posY + e.getEyeHeight()) - posY, e.posZ - posZ); double len = vec.lengthVector(); vec = vec.normalize(); - + float res = 0; - + for(int i = 1; i < len; i++) { int ix = (int)Math.floor(posX + vec.xCoord * i); int iy = (int)Math.floor(posY + vec.yCoord * i); int iz = (int)Math.floor(posZ + vec.zCoord * i); - + res += worldObj.getBlock(ix, iy, iz).getExplosionResistance(null); } - + if(res < 1) res = 1; - + float eRads = rads; eRads /= (float)res; eRads /= (float)(len * len); - + ContaminationUtil.contaminate(e, HazardType.RADIATION, ContaminationType.RAD_BYPASS, eRads); } } + @Override + public void setDead(){ + if(explosion != null) + explosion.cancel(); + super.setDead(); + } + @Override protected void readEntityFromNBT(NBTTagCompound nbt) { this.ticksExisted = nbt.getInteger("ticksExisted"); @@ -136,32 +143,33 @@ public class EntityNukeExplosionMK5 extends EntityExplosionChunkloading { protected void writeEntityToNBT(NBTTagCompound nbt) { nbt.setInteger("ticksExisted", this.ticksExisted); } - + public static EntityNukeExplosionMK5 statFac(World world, int r, double x, double y, double z) { - + if(GeneralConfig.enableExtendedLogging && !world.isRemote) - MainRegistry.logger.log(Level.INFO, "[NUKE] Initialized explosion at " + x + " / " + y + " / " + z + " with strength " + r + "!"); - + MainRegistry.logger.log(Level.INFO, "[NUKE] Initialized explosion at {} / {} / {} with strength {}!", x, y, z, r); + if(r == 0) r = 25; - + r *= 2; - + EntityNukeExplosionMK5 mk5 = new EntityNukeExplosionMK5(world); mk5.strength = (int)(r); mk5.speed = (int)Math.ceil(100000 / mk5.strength); mk5.setPosition(x, y, z); mk5.length = mk5.strength / 2; + mk5.loadChunk((int) Math.floor(x / 16D), (int) Math.floor(z / 16D)); return mk5; } - + public static EntityNukeExplosionMK5 statFacNoRad(World world, int r, double x, double y, double z) { - + EntityNukeExplosionMK5 mk5 = statFac(world, r, x, y ,z); mk5.fallout = false; return mk5; } - + public EntityNukeExplosionMK5 moreFallout(int fallout) { falloutAdd = fallout; return this; diff --git a/src/main/java/com/hbm/entity/logic/EntityPlaneBase.java b/src/main/java/com/hbm/entity/logic/EntityPlaneBase.java new file mode 100644 index 000000000..550a86160 --- /dev/null +++ b/src/main/java/com/hbm/entity/logic/EntityPlaneBase.java @@ -0,0 +1,208 @@ +package com.hbm.entity.logic; + +import java.util.ArrayList; +import java.util.List; + +import com.google.common.collect.ImmutableSet; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.lib.ModDamageSource; +import com.hbm.main.MainRegistry; +import com.hbm.particle.helper.ExplosionSmallCreator; +import com.hbm.util.ParticleUtil; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.Entity; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.world.ChunkCoordIntPair; +import net.minecraft.world.World; +import net.minecraftforge.common.ForgeChunkManager; +import net.minecraftforge.common.ForgeChunkManager.Ticket; +import net.minecraftforge.common.ForgeChunkManager.Type; + +public abstract class EntityPlaneBase extends Entity implements IChunkLoader { + + protected int turnProgress; + protected double syncPosX; + protected double syncPosY; + protected double syncPosZ; + protected double syncYaw; + protected double syncPitch; + @SideOnly(Side.CLIENT) + protected double velocityX; + @SideOnly(Side.CLIENT) + protected double velocityY; + @SideOnly(Side.CLIENT) + protected double velocityZ; + + private Ticket loaderTicket; + private List loadedChunks = new ArrayList(); + + public float health = getMaxHealth(); + public int timer = getLifetime(); + + public EntityPlaneBase(World world) { super(world); } + + public float getMaxHealth() { return 50F; } + public int getLifetime() { return 200; } + + @Override public boolean canBeCollidedWith() { return this.health > 0; } + + @Override + public boolean attackEntityFrom(DamageSource source, float amount) { + if(source == ModDamageSource.nuclearBlast) return false; + if(this.isEntityInvulnerable()) return false; + if(!this.isDead && !this.worldObj.isRemote && this.health > 0) { + health -= amount; + if(this.health <= 0) this.killPlane(); + } + return true; + } + + protected void killPlane() { + ExplosionSmallCreator.composeEffect(worldObj, posX, posY, posZ, 25, 3.5F, 2F); + worldObj.playSoundEffect(posX, posY, posZ, "hbm:entity.planeShotDown", 25.0F, 1.0F); + } + + @Override + protected void entityInit() { + init(ForgeChunkManager.requestTicket(MainRegistry.instance, worldObj, Type.ENTITY)); + this.dataWatcher.addObject(17, new Float(50F)); + } + + @Override + public void init(Ticket ticket) { + if(!worldObj.isRemote && ticket != null) { + if(loaderTicket == null) { + loaderTicket = ticket; + loaderTicket.bindEntity(this); + loaderTicket.getModData(); + } + ForgeChunkManager.forceChunk(loaderTicket, new ChunkCoordIntPair(chunkCoordX, chunkCoordZ)); + } + } + + @Override + public void onUpdate() { + + if(!worldObj.isRemote) { + this.dataWatcher.updateObject(17, health); + } else { + health = this.dataWatcher.getWatchableObjectFloat(17); + } + + if(worldObj.isRemote) { + + this.lastTickPosX = this.posX; + this.lastTickPosY = this.posY; + this.lastTickPosZ = this.posZ; + if(this.turnProgress > 0) { + double interpX = this.posX + (this.syncPosX - this.posX) / (double) this.turnProgress; + double interpY = this.posY + (this.syncPosY - this.posY) / (double) this.turnProgress; + double interpZ = this.posZ + (this.syncPosZ - this.posZ) / (double) this.turnProgress; + double d = MathHelper.wrapAngleTo180_double(this.syncYaw - (double) this.rotationYaw); + this.rotationYaw = (float) ((double) this.rotationYaw + d / (double) this.turnProgress); + this.rotationPitch = (float)((double)this.rotationPitch + (this.syncPitch - (double)this.rotationPitch) / (double)this.turnProgress); + --this.turnProgress; + this.setPosition(interpX, interpY, interpZ); + } else { + this.setPosition(this.posX, this.posY, this.posZ); + } + + } else { + this.lastTickPosX = this.prevPosX = posX; + this.lastTickPosY = this.prevPosY = posY; + this.lastTickPosZ = this.prevPosZ = posZ; + this.setPosition(posX + motionX, posY + motionY, posZ + motionZ); + + this.rotation(); + + if(this.health <= 0) { + motionY -= 0.025; + + for(int i = 0; i < 10; i++) ParticleUtil.spawnGasFlame(this.worldObj, this.posX + rand.nextGaussian() * 0.5 - motionX * 2, this.posY + rand.nextGaussian() * 0.5 - motionY * 2, this.posZ + rand.nextGaussian() * 0.5 - motionZ * 2, 0.0, 0.1, 0.0); + + if((!worldObj.getBlock((int) posX, (int) posY, (int) posZ).isAir(worldObj, (int) posX, (int) posY, (int) posZ) || posY < 0)) { + this.setDead(); + new ExplosionVNT(worldObj, posX, posY, posZ, 15F).makeStandard().explode(); + worldObj.playSoundEffect(posX, posY, posZ, "hbm:entity.planeCrash", 25.0F, 1.0F); + return; + } + } else { + this.motionY = 0F; + } + + if(this.ticksExisted > timer) this.setDead(); + loadNeighboringChunks((int)Math.floor(posX / 16D), (int)Math.floor(posZ / 16D)); + } + } + + protected void rotation() { + float motionHorizontal = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + for(this.rotationPitch = (float) (Math.atan2(this.motionY, motionHorizontal) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F); + while(this.rotationPitch - this.prevRotationPitch >= 180.0F) this.prevRotationPitch += 360.0F; + while(this.rotationYaw - this.prevRotationYaw < -180.0F) this.prevRotationYaw -= 360.0F; + while(this.rotationYaw - this.prevRotationYaw >= 180.0F) this.prevRotationYaw += 360.0F; + } + + @SideOnly(Side.CLIENT) + public void setVelocity(double velX, double velY, double velZ) { + this.velocityX = this.motionX = velX; + this.velocityY = this.motionY = velY; + this.velocityZ = this.motionZ = velZ; + } + + @SideOnly(Side.CLIENT) + public void setPositionAndRotation2(double x, double y, double z, float yaw, float pitch, int theNumberThree) { + this.syncPosX = x; + this.syncPosY = y; + this.syncPosZ = z; + this.syncYaw = yaw; + this.syncPitch = pitch; + this.turnProgress = theNumberThree; + this.motionX = this.velocityX; + this.motionY = this.velocityY; + this.motionZ = this.velocityZ; + } + + @Override + public void setDead() { + super.setDead(); + this.clearChunkLoader(); + } + + @Override + protected void readEntityFromNBT(NBTTagCompound nbt) { + ticksExisted = nbt.getInteger("ticksExisted"); + this.getDataWatcher().updateObject(17, nbt.getFloat("health")); + } + + @Override + protected void writeEntityToNBT(NBTTagCompound nbt) { + nbt.setInteger("ticksExisted", ticksExisted); + nbt.setFloat("health", this.getDataWatcher().getWatchableObjectFloat(17)); + } + + public void clearChunkLoader() { + if(!worldObj.isRemote && loaderTicket != null) { + ForgeChunkManager.releaseTicket(loaderTicket); + this.loaderTicket = null; + } + } + + public void loadNeighboringChunks(int newChunkX, int newChunkZ) { + if(!worldObj.isRemote && loaderTicket != null) { + for(ChunkCoordIntPair chunk : ImmutableSet.copyOf(loaderTicket.getChunkList())) { + ForgeChunkManager.unforceChunk(loaderTicket, chunk); + } + loadedChunks.clear(); + loadedChunks.add(new ChunkCoordIntPair(newChunkX, newChunkZ)); + for(ChunkCoordIntPair chunk : loadedChunks) ForgeChunkManager.forceChunk(loaderTicket, chunk); + } + } + + @Override @SideOnly(Side.CLIENT) public boolean isInRangeToRenderDist(double distance) { return true; } +} diff --git a/src/main/java/com/hbm/entity/missile/EntityMIRV.java b/src/main/java/com/hbm/entity/missile/EntityMIRV.java deleted file mode 100644 index 0985e3e54..000000000 --- a/src/main/java/com/hbm/entity/missile/EntityMIRV.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.hbm.entity.missile; - -import com.hbm.config.BombConfig; -import com.hbm.entity.effect.EntityNukeTorex; -import com.hbm.entity.logic.EntityNukeExplosionMK5; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.projectile.EntityThrowable; -import net.minecraft.init.Blocks; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; - -public class EntityMIRV extends EntityThrowable { - - public EntityMIRV(World p_i1582_1_) { - super(p_i1582_1_); - this.ignoreFrustumCheck = true; - } - - @Override - public void onUpdate() { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.motionY -= 0.03; - - this.rotation(); - - if(this.worldObj.getBlock((int) this.posX, (int) this.posY, (int) this.posZ) != Blocks.air) { - if(!this.worldObj.isRemote) { - worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, BombConfig.mirvRadius, posX, posY, posZ)); - EntityNukeTorex.statFac(worldObj, posX, posY, posZ, BombConfig.mirvRadius); - } - this.setDead(); - } - } - - protected void rotation() { - float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for(this.rotationPitch = (float) (Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { - ; - } - - while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { - this.prevRotationPitch += 360.0F; - } - - while(this.rotationYaw - this.prevRotationYaw < -180.0F) { - this.prevRotationYaw -= 360.0F; - } - - while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { - this.prevRotationYaw += 360.0F; - } - } - - @Override - protected void onImpact(MovingObjectPosition p_70184_1_) { - - } - - @Override - @SideOnly(Side.CLIENT) - public boolean isInRangeToRenderDist(double distance) { - return distance < 500000; - } - -} diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileAntiBallistic.java b/src/main/java/com/hbm/entity/missile/EntityMissileAntiBallistic.java index 3dbb048d8..0dea01b99 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileAntiBallistic.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileAntiBallistic.java @@ -3,6 +3,7 @@ package com.hbm.entity.missile; import java.util.ArrayList; import java.util.List; +import com.google.common.collect.ImmutableSet; import com.hbm.entity.logic.IChunkLoader; import com.hbm.entity.projectile.EntityThrowableInterp; import com.hbm.explosion.ExplosionLarge; @@ -30,7 +31,7 @@ public class EntityMissileAntiBallistic extends EntityThrowableInterp implements public Entity tracking; public double velocity; protected int activationTimer; - + public static double baseSpeed = 1.5D; public EntityMissileAntiBallistic(World world) { @@ -60,22 +61,21 @@ public class EntityMissileAntiBallistic extends EntityThrowableInterp implements super.onUpdate(); if(!worldObj.isRemote) { - + if(velocity < 6) velocity += 0.1; - + if(activationTimer < 40) { activationTimer++; motionY = baseSpeed; } else { Entity prevTracking = this.tracking; - + if(this.tracking == null || this.tracking.isDead) this.targetMissile(); - + if(prevTracking == null && this.tracking != null) { ExplosionLarge.spawnShock(worldObj, posX, posY, posZ, 24, 3F); } - - if(this.tracking != null) { + if(this.tracking != null && !this.tracking.isDead) { this.aimAtTarget(); } else { if(this.ticksExisted > 600) this.setDead(); @@ -83,15 +83,20 @@ public class EntityMissileAntiBallistic extends EntityThrowableInterp implements } loadNeighboringChunks((int) Math.floor(posX / 16), (int) Math.floor(posZ / 16)); - + if(this.posY > 2000 && (this.tracking == null || this.tracking.isDead)) this.setDead(); - + } else { - + Vec3 vec = Vec3.createVectorHelper(motionX, motionY, motionZ).normalize(); - MainRegistry.proxy.particleControl(posX - vec.xCoord, posY - vec.yCoord, posZ - vec.zCoord, 2); + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "ABMContrail"); + data.setDouble("posX", posX - vec.xCoord); + data.setDouble("posY", posY - vec.yCoord); + data.setDouble("posZ", posZ - vec.zCoord); + MainRegistry.proxy.effectNT(data); } - + float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); for(this.rotationPitch = (float) (Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F); @@ -102,33 +107,33 @@ public class EntityMissileAntiBallistic extends EntityThrowableInterp implements /** Detects and caches nearby EntityMissileBaseNT */ protected void targetMissile() { - + Entity closest = null; double dist = 1_000; - + for(Entity e : TileEntityMachineRadarNT.matchingEntities) { if(e.dimension != this.dimension) continue; if(!(e instanceof EntityMissileBaseNT)) continue; //can only lock onto missiles if(e instanceof EntityMissileStealth) continue; //cannot lack onto missiles with stealth coating - + Vec3 vec = Vec3.createVectorHelper(e.posX - posX, e.posY - posY, e.posZ - posZ); - + if(vec.lengthVector() < dist) { closest = e; } } - + this.tracking = closest; } - + /** Predictive targeting system */ protected void aimAtTarget() { - + Vec3 delta = Vec3.createVectorHelper(tracking.posX - posX, tracking.posY - posY, tracking.posZ - posZ); double intercept = delta.lengthVector() / (this.baseSpeed * this.velocity); Vec3 predicted = Vec3.createVectorHelper(tracking.posX + (tracking.posX - tracking.lastTickPosX) * intercept, tracking.posY + (tracking.posY - tracking.lastTickPosY) * intercept, tracking.posZ + (tracking.posZ - tracking.lastTickPosZ) * intercept); Vec3 motion = Vec3.createVectorHelper(predicted.xCoord - posX, predicted.yCoord - posY, predicted.zCoord - posZ).normalize(); - + if(delta.lengthVector() < 10 && activationTimer >= 40) { this.setDead(); ExplosionLarge.explode(worldObj, posX, posY, posZ, 15F, true, false, false); @@ -168,13 +173,13 @@ public class EntityMissileAntiBallistic extends EntityThrowableInterp implements super.readEntityFromNBT(nbt); this.velocity = nbt.getDouble("veloc"); } - + @Override public void writeEntityToNBT(NBTTagCompound nbt) { super.writeEntityToNBT(nbt); nbt.setDouble("veloc", this.velocity); } - + @Override public void init(Ticket ticket) { if(!worldObj.isRemote) { @@ -197,8 +202,10 @@ public class EntityMissileAntiBallistic extends EntityThrowableInterp implements public void loadNeighboringChunks(int newChunkX, int newChunkZ) { if(!worldObj.isRemote && loaderTicket != null) { - - clearChunkLoader(); + + for(ChunkCoordIntPair chunk : ImmutableSet.copyOf(loaderTicket.getChunkList())) { + ForgeChunkManager.unforceChunk(loaderTicket, chunk); + } loadedChunks.clear(); for(int i = -1; i <= 1; i++) for(int j = -1; j <= 1; j++) loadedChunks.add(new ChunkCoordIntPair(newChunkX + i, newChunkZ + j)); @@ -208,18 +215,17 @@ public class EntityMissileAntiBallistic extends EntityThrowableInterp implements } } } - + @Override public void setDead() { super.setDead(); this.clearChunkLoader(); } - + public void clearChunkLoader() { if(!worldObj.isRemote && loaderTicket != null) { - for(ChunkCoordIntPair chunk : loadedChunks) { - ForgeChunkManager.unforceChunk(loaderTicket, chunk); - } + ForgeChunkManager.releaseTicket(loaderTicket); + this.loaderTicket = null; } } diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileBase.java b/src/main/java/com/hbm/entity/missile/EntityMissileBase.java deleted file mode 100644 index 66d076d6c..000000000 --- a/src/main/java/com/hbm/entity/missile/EntityMissileBase.java +++ /dev/null @@ -1,250 +0,0 @@ -package com.hbm.entity.missile; - -import com.hbm.calc.EasyLocation; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.projectile.EntityThrowable; -import net.minecraft.init.Blocks; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; - -public class EntityMissileBase extends EntityThrowable { - - EasyLocation origin; - EasyLocation loc0; - EasyLocation loc1; - EasyLocation loc2; - EasyLocation loc3; - EasyLocation loc4; - EasyLocation loc5; - EasyLocation loc6; - EasyLocation loc7; - EasyLocation target; - - public int phase = 0; - - public int targetPoint = 0; - public int lengthX; - public int lengthZ; - public double lengthFlight; - public int baseHeight = 50; - public double missileSpeed = 1.5; - - public EntityMissileBase(World p_i1776_1_) { - super(p_i1776_1_); - this.ignoreFrustumCheck = true; - } - - public EntityMissileBase(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_); - this.ignoreFrustumCheck = true; - this.posX = a; - this.posY = b; - this.posZ = c; - - this.motionY = 0.1; - - lengthX = (int) (x - this.posX); - lengthZ = (int) (z - this.posZ); - lengthFlight = Math.sqrt(Math.pow(lengthX, 2) + Math.pow(lengthZ, 2)); - - - origin = new EasyLocation(this.posX, this.posY, this.posZ); - - loc0 = new EasyLocation(this.posX, this.posY + baseHeight, this.posZ); - loc1 = new EasyLocation(this.posX + lengthX/lengthFlight * 10, this.posY + baseHeight + 20, this.posZ + lengthZ/lengthFlight * 10); - loc2 = new EasyLocation(this.posX + lengthX/lengthFlight * 30, this.posY + baseHeight + 40, this.posZ + lengthZ/lengthFlight * 30); - loc3 = new EasyLocation(this.posX + lengthX/lengthFlight * 50, this.posY + baseHeight + 50, this.posZ + lengthZ/lengthFlight * 50); - - loc4 = new EasyLocation(x - (lengthX/lengthFlight * 50), this.posY + baseHeight + 50, z - (lengthZ/lengthFlight * 50)); - loc5 = new EasyLocation(x - (lengthX/lengthFlight * 30), this.posY + baseHeight + 40, z - (lengthZ/lengthFlight * 30)); - loc6 = new EasyLocation(x - (lengthX/lengthFlight * 10), this.posY + baseHeight + 20, z - (lengthZ/lengthFlight * 10)); - loc7 = new EasyLocation(x, this.posY + baseHeight, z); - - - target = new EasyLocation(x, 0, z); - } - - protected void freePizzaGoddammit(EasyLocation loc) { - double x = loc.posX - this.posX; - double y = loc.posY - this.posY; - double z = loc.posZ - this.posZ; - lengthFlight = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2) + Math.pow(z, 2)); - - this.motionX = x / this.lengthFlight * missileSpeed; - this.motionY = y / this.lengthFlight * missileSpeed; - this.motionZ = z / this.lengthFlight * missileSpeed; - } - - protected void rotation() { - float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; - } - } - - @Override - public void onUpdate() - { - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5.0F, true); - } - this.setDead(); - } - } - - @Override - protected void onImpact(MovingObjectPosition p_70184_1_) { - - } - - @Override - @SideOnly(Side.CLIENT) - public boolean isInRangeToRenderDist(double distance) - { - return distance < 25000; - } - -} diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileBaseNT.java b/src/main/java/com/hbm/entity/missile/EntityMissileBaseNT.java index c0e51f619..6da5ec5a8 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileBaseNT.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileBaseNT.java @@ -3,6 +3,7 @@ package com.hbm.entity.missile; import java.util.ArrayList; import java.util.List; +import com.google.common.collect.ImmutableSet; import com.hbm.entity.logic.IChunkLoader; import com.hbm.entity.projectile.EntityThrowableInterp; import com.hbm.explosion.ExplosionLarge; @@ -280,12 +281,12 @@ public abstract class EntityMissileBaseNT extends EntityThrowableInterp implemen @Override protected void onImpact(MovingObjectPosition mop) { if(mop != null && mop.typeOfHit == mop.typeOfHit.BLOCK) { - this.onImpact(); + this.onMissileImpact(mop); this.setDead(); } } - public abstract void onImpact(); + public abstract void onMissileImpact(MovingObjectPosition mop); public abstract List getDebris(); public abstract ItemStack getDebrisRareDrop(); public void cluster() { } @@ -327,8 +328,10 @@ public abstract class EntityMissileBaseNT extends EntityThrowableInterp implemen public void loadNeighboringChunks(int newChunkX, int newChunkZ) { if(!worldObj.isRemote && loaderTicket != null) { - - clearChunkLoader(); + + for(ChunkCoordIntPair chunk : ImmutableSet.copyOf(loaderTicket.getChunkList())) { + ForgeChunkManager.unforceChunk(loaderTicket, chunk); + } loadedChunks.clear(); loadedChunks.add(new ChunkCoordIntPair(newChunkX, newChunkZ)); @@ -348,9 +351,8 @@ public abstract class EntityMissileBaseNT extends EntityThrowableInterp implemen public void clearChunkLoader() { if(!worldObj.isRemote && loaderTicket != null) { - for(ChunkCoordIntPair chunk : loadedChunks) { - ForgeChunkManager.unforceChunk(loaderTicket, chunk); - } + ForgeChunkManager.releaseTicket(loaderTicket); + this.loaderTicket = null; } } diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileCustom.java b/src/main/java/com/hbm/entity/missile/EntityMissileCustom.java index 7429e0b8e..70546d978 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileCustom.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileCustom.java @@ -4,7 +4,6 @@ import java.util.ArrayList; import java.util.List; import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.bomb.BlockTaint; import com.hbm.entity.effect.EntityNukeTorex; import com.hbm.entity.logic.EntityBalefire; import com.hbm.entity.logic.EntityNukeExplosionMK5; @@ -22,16 +21,18 @@ import com.hbm.items.weapon.ItemCustomMissilePart.WarheadType; import com.hbm.main.MainRegistry; import api.hbm.entity.IRadarDetectableNT; +import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLoader { - protected float fuel; - protected float consumption; + public float fuel; + public float consumption; public EntityMissileCustom(World world) { super(world); @@ -78,14 +79,20 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo ExplosionLarge.spawnShrapnelShower(worldObj, posX, posY, posZ, motionX, motionY, motionZ, 15, 0.075); } } - + @Override public void onUpdate() { - + + ItemCustomMissilePart part = (ItemCustomMissilePart) Item.getItemById(this.dataWatcher.getWatchableObjectInt(9)); + WarheadType type = (WarheadType) part.attributes[0]; + if(type != null && type.updateCustom != null) { + type.updateCustom.accept(this); + } + if(!worldObj.isRemote) { if(this.hasPropulsion()) this.fuel -= this.consumption; } - + super.onUpdate(); } @@ -125,7 +132,7 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo nbt.setInteger("fins", this.dataWatcher.getWatchableObjectInt(11)); nbt.setInteger("thruster", this.dataWatcher.getWatchableObjectInt(12)); } - + @Override protected void spawnContrail() { @@ -142,17 +149,31 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo case XENON: break; } - if(!smoke.isEmpty()) for(int i = 0; i < velocity; i++) MainRegistry.proxy.spawnParticle(posX - v.xCoord * i, posY - v.yCoord * i, posZ - v.zCoord * i, smoke, null); + if(!smoke.isEmpty()) { + for (int i = 0; i < velocity; i++) { + NBTTagCompound data = new NBTTagCompound(); + data.setDouble("posX", posX - v.xCoord * i); + data.setDouble("posY", posY - v.yCoord * i); + data.setDouble("posZ", posZ - v.zCoord * i); + data.setString("type", smoke); + MainRegistry.proxy.effectNT(data); + } + } } @Override - public void onImpact() { //TODO: demolish this steaming pile of shit + public void onMissileImpact(MovingObjectPosition mop) { //TODO: demolish this steaming pile of shit ItemCustomMissilePart part = (ItemCustomMissilePart) Item.getItemById(this.dataWatcher.getWatchableObjectInt(9)); WarheadType type = (WarheadType) part.attributes[0]; float strength = (Float) part.attributes[1]; + if(type.impactCustom != null) { + type.impactCustom.accept(this); + return; + } + switch(type) { case HE: ExplosionLarge.explode(worldObj, posX, posY, posZ, strength, true, false, true); @@ -170,7 +191,7 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo case NUCLEAR: case TX: worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, (int) strength, posX, posY, posZ)); - EntityNukeTorex.statFac(worldObj, posX, posY, posZ, strength); + EntityNukeTorex.statFacStandard(worldObj, posX, posY, posZ, strength); break; case BALEFIRE: EntityBalefire bf = new EntityBalefire(worldObj); @@ -183,7 +204,7 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo break; case N2: worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFacNoRad(worldObj, (int) strength, posX, posY, posZ)); - EntityNukeTorex.statFac(worldObj, posX, posY, posZ, strength); + EntityNukeTorex.statFacStandard(worldObj, posX, posY, posZ, strength); break; case TAINT: int r = (int) strength; @@ -191,14 +212,15 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo int a = rand.nextInt(r) + (int) posX - (r / 2 - 1); int b = rand.nextInt(r) + (int) posY - (r / 2 - 1); int c = rand.nextInt(r) + (int) posZ - (r / 2 - 1); - if(worldObj.getBlock(a, b, c).isReplaceable(worldObj, a, b, c) && BlockTaint.hasPosNeightbour(worldObj, a, b, c)) { + Block block = worldObj.getBlock(a, b, c); + if(block.isNormalCube() && !block.isAir(worldObj, a, b, c)) { worldObj.setBlock(a, b, c, ModBlocks.taint, rand.nextInt(3) + 4, 2); } } break; case CLOUD: this.worldObj.playAuxSFX(2002, (int) Math.round(this.posX), (int) Math.round(this.posY), (int) Math.round(this.posZ), 0); - ExplosionChaos.spawnChlorine(worldObj, posX - motionX, posY - motionY, posZ - motionZ, 750, 2.5, 2); + ExplosionChaos.spawnPoisonCloud(worldObj, posX - motionX, posY - motionY, posZ - motionZ, 750, 2.5, 2); break; case TURBINE: ExplosionLarge.explode(worldObj, posX, posY, posZ, 10, true, false, true); @@ -233,7 +255,7 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo if(top == PartSize.SIZE_15 && bottom == PartSize.SIZE_15) return "radar.target.custom15"; if(top == PartSize.SIZE_15 && bottom == PartSize.SIZE_20) return "radar.target.custom1520"; if(top == PartSize.SIZE_20 && bottom == PartSize.SIZE_20) return "radar.target.custom20"; - + return "radar.target.custom"; } @@ -249,7 +271,7 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo if(top == PartSize.SIZE_15 && bottom == PartSize.SIZE_15) return IRadarDetectableNT.TIER15; if(top == PartSize.SIZE_15 && bottom == PartSize.SIZE_20) return IRadarDetectableNT.TIER15_20; if(top == PartSize.SIZE_20 && bottom == PartSize.SIZE_20) return IRadarDetectableNT.TIER20; - + return IRadarDetectableNT.TIER1; } diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileShuttle.java b/src/main/java/com/hbm/entity/missile/EntityMissileShuttle.java index bdee6f5f4..5cfea36a6 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileShuttle.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileShuttle.java @@ -6,15 +6,16 @@ import java.util.List; import com.hbm.explosion.ExplosionNT; import com.hbm.explosion.ExplosionNT.ExAttrib; +import com.hbm.handler.threading.PacketThreading; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public class EntityMissileShuttle extends EntityMissileBaseNT { @@ -28,7 +29,7 @@ public class EntityMissileShuttle extends EntityMissileBaseNT { } @Override - public void onImpact() { + public void onMissileImpact(MovingObjectPosition mop) { ExplosionNT explosion = new ExplosionNT(worldObj, null, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 20.0F).overrideResolution(64); explosion.atttributes.add(ExAttrib.NOSOUND); explosion.atttributes.add(ExAttrib.NOPARTICLE); @@ -36,10 +37,10 @@ public class EntityMissileShuttle extends EntityMissileBaseNT { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "rbmkmush"); data.setFloat("scale", 10); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, this.posX + 0.5, this.posY + 1, this.posZ + 0.5), new TargetPoint(worldObj.provider.dimensionId,this.posX + 0.5, this.posY + 1, this.posZ + 0.5, 250)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, this.posX + 0.5, this.posY + 1, this.posZ + 0.5), new TargetPoint(worldObj.provider.dimensionId,this.posX + 0.5, this.posY + 1, this.posZ + 0.5, 250)); MainRegistry.proxy.effectNT(data); - this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:weapon.robin_explosion", 4.0F, (1.0F + (this.worldObj.rand.nextFloat() - this.worldObj.rand.nextFloat()) * 0.2F) * 0.7F); + this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:weapon.robin_explosion", 4.0F, (1.0F + (this.worldObj.rand.nextFloat() - this.worldObj.rand.nextFloat()) * 0.2F) * 0.7F); } @Override @@ -58,7 +59,7 @@ public class EntityMissileShuttle extends EntityMissileBaseNT { public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.missile_generic); } - + @Override public String getUnlocalizedName() { return "radar.target.shuttle"; @@ -68,4 +69,4 @@ public class EntityMissileShuttle extends EntityMissileBaseNT { public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_shuttle); } -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileStealth.java b/src/main/java/com/hbm/entity/missile/EntityMissileStealth.java index 0dc2528aa..7827c3ad9 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileStealth.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileStealth.java @@ -10,6 +10,7 @@ import com.hbm.particle.helper.ExplosionCreator; import com.hbm.items.ModItems; import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public class EntityMissileStealth extends EntityMissileBaseNT { @@ -27,7 +28,7 @@ public class EntityMissileStealth extends EntityMissileBaseNT { @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_stealth); } @Override public boolean canBeSeenBy(Object radar) { return false; } - @Override public void onImpact() { this.explodeStandard(20F, 24, false); ExplosionCreator.composeEffectStandard(worldObj, posX, posY, posZ); } + @Override public void onMissileImpact(MovingObjectPosition mop) { this.explodeStandard(20F, 24, false); ExplosionCreator.composeEffectStandard(worldObj, posX, posY, posZ); } @Override public ItemStack getDebrisRareDrop() { return DictFrame.fromOne(ModItems.powder_ash, EnumAshType.MISC); } } diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileTier0.java b/src/main/java/com/hbm/entity/missile/EntityMissileTier0.java index 811d7944f..f1ce3a4bb 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileTier0.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileTier0.java @@ -4,7 +4,6 @@ import java.util.ArrayList; import java.util.List; import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.bomb.BlockTaint; import com.hbm.config.BombConfig; import com.hbm.entity.effect.EntityBlackHole; import com.hbm.entity.effect.EntityCloudFleija; @@ -12,15 +11,18 @@ import com.hbm.entity.effect.EntityEMPBlast; import com.hbm.entity.logic.EntityNukeExplosionMK3; import com.hbm.explosion.ExplosionNukeGeneric; import com.hbm.explosion.ExplosionNukeSmall; +import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.inventory.material.Mats; import com.hbm.items.ModItems; -import com.hbm.items.ItemAmmoEnums.AmmoFatman; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.world.WorldUtil; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public abstract class EntityMissileTier0 extends EntityMissileBaseNT { @@ -49,7 +51,7 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT { @Override public ItemStack getDebrisRareDrop() { return null; } @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_test); } - @Override public void onImpact() { + @Override public void onMissileImpact(MovingObjectPosition mop) { int x = (int) Math.floor(posX); int y = (int) Math.floor(posY); int z = (int) Math.floor(posZ); @@ -80,18 +82,18 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT { public static class EntityMissileMicro extends EntityMissileTier0 { public EntityMissileMicro(World world) { super(world); } public EntityMissileMicro(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { ExplosionNukeSmall.explode(worldObj, posX, posY + 0.5, posZ, ExplosionNukeSmall.PARAMS_HIGH); } - @Override public ItemStack getDebrisRareDrop() { return ModItems.ammo_nuke.stackFromEnum(AmmoFatman.HIGH); } + @Override public void onMissileImpact(MovingObjectPosition mop) { ExplosionNukeSmall.explode(worldObj, posX, posY + 0.5, posZ, ExplosionNukeSmall.PARAMS_HIGH); } + @Override public ItemStack getDebrisRareDrop() { return DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_HIGH); } @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_micro); } } public static class EntityMissileSchrabidium extends EntityMissileTier0 { public EntityMissileSchrabidium(World world) { super(world); } public EntityMissileSchrabidium(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { + @Override public void onMissileImpact(MovingObjectPosition mop) { EntityNukeExplosionMK3 ex = EntityNukeExplosionMK3.statFacFleija(worldObj, posX, posY, posZ, BombConfig.aSchrabRadius); if(!ex.isDead) { - worldObj.spawnEntityInWorld(ex); + WorldUtil.loadAndSpawnEntityInWorld(ex); EntityCloudFleija cloud = new EntityCloudFleija(this.worldObj, BombConfig.aSchrabRadius); cloud.posX = this.posX; cloud.posY = this.posY; @@ -106,7 +108,7 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT { public static class EntityMissileBHole extends EntityMissileTier0 { public EntityMissileBHole(World world) { super(world); } public EntityMissileBHole(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { + @Override public void onMissileImpact(MovingObjectPosition mop) { this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 1.5F, true); EntityBlackHole bl = new EntityBlackHole(this.worldObj, 1.5F); bl.posX = this.posX; @@ -121,13 +123,16 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT { public static class EntityMissileTaint extends EntityMissileTier0 { public EntityMissileTaint(World world) { super(world); } public EntityMissileTaint(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true); + @Override public void onMissileImpact(MovingObjectPosition mop) { + this.worldObj.createExplosion(this, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 5.0F, true); for(int i = 0; i < 100; i++) { - int a = rand.nextInt(11) + (int) this.posX - 5; - int b = rand.nextInt(11) + (int) this.posY - 5; - int c = rand.nextInt(11) + (int) this.posZ - 5; - if(worldObj.getBlock(a, b, c).isReplaceable(worldObj, a, b, c) && BlockTaint.hasPosNeightbour(worldObj, a, b, c)) worldObj.setBlock(a, b, c, ModBlocks.taint); + int a = rand.nextInt(11) + (int) mop.blockX - 5; + int b = rand.nextInt(11) + (int) mop.blockY - 5; + int c = rand.nextInt(11) + (int) mop.blockZ - 5; + Block block = worldObj.getBlock(a, b, c); + if(block.isNormalCube() && !block.isAir(worldObj, a, b, c)) { + worldObj.setBlock(a, b, c, ModBlocks.taint, 0, 2); + } } } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.powder_spark_mix, 1); } @@ -137,7 +142,7 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT { public static class EntityMissileEMP extends EntityMissileTier0 { public EntityMissileEMP(World world) { super(world); } public EntityMissileEMP(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { + @Override public void onMissileImpact(MovingObjectPosition mop) { ExplosionNukeGeneric.empBlast(worldObj, (int)posX, (int)posY, (int)posZ, 50); EntityEMPBlast wave = new EntityEMPBlast(worldObj, 50); wave.posX = posX; diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileTier1.java b/src/main/java/com/hbm/entity/missile/EntityMissileTier1.java index 538eb439e..f140d1f26 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileTier1.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileTier1.java @@ -10,6 +10,7 @@ import com.hbm.particle.helper.ExplosionCreator; import api.hbm.entity.IRadarDetectableNT; import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public abstract class EntityMissileTier1 extends EntityMissileBaseNT { @@ -33,7 +34,7 @@ public abstract class EntityMissileTier1 extends EntityMissileBaseNT { public static class EntityMissileGeneric extends EntityMissileTier1 { public EntityMissileGeneric(World world) { super(world); } public EntityMissileGeneric(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { this.explodeStandard(15F, 24, false); ExplosionCreator.composeEffectSmall(worldObj, posX, posY, posZ); } + @Override public void onMissileImpact(MovingObjectPosition mop) { this.explodeStandard(15F, 24, false); ExplosionCreator.composeEffectSmall(worldObj, posX, posY, posZ); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_generic_small); } @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_generic); } } @@ -41,7 +42,7 @@ public abstract class EntityMissileTier1 extends EntityMissileBaseNT { public static class EntityMissileDecoy extends EntityMissileTier1 { public EntityMissileDecoy(World world) { super(world); } public EntityMissileDecoy(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { worldObj.newExplosion(this, posX, posY, posZ, 4F, false, false); } + @Override public void onMissileImpact(MovingObjectPosition mop) { worldObj.newExplosion(this, posX, posY, posZ, 4F, false, false); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.ingot_steel); } @Override public String getUnlocalizedName() { return "radar.target.tier4"; } @Override public int getBlipLevel() { return IRadarDetectableNT.TIER4; } @@ -51,7 +52,7 @@ public abstract class EntityMissileTier1 extends EntityMissileBaseNT { public static class EntityMissileIncendiary extends EntityMissileTier1 { public EntityMissileIncendiary(World world) { super(world); } public EntityMissileIncendiary(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { this.explodeStandard(15F, 24, true); ExplosionCreator.composeEffectSmall(worldObj, posX, posY, posZ); } + @Override public void onMissileImpact(MovingObjectPosition mop) { this.explodeStandard(15F, 24, true); ExplosionCreator.composeEffectSmall(worldObj, posX, posY, posZ); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_incendiary_small); } @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_incendiary); } } @@ -59,11 +60,11 @@ public abstract class EntityMissileTier1 extends EntityMissileBaseNT { public static class EntityMissileCluster extends EntityMissileTier1 { public EntityMissileCluster(World world) { super(world); } public EntityMissileCluster(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); this.isCluster = true; } - @Override public void onImpact() { + @Override public void onMissileImpact(MovingObjectPosition mop) { this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5F, true); ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 25, 100); } - @Override public void cluster() { this.onImpact(); } + @Override public void cluster() { this.onMissileImpact(null); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_cluster_small); } @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_cluster); } } @@ -71,7 +72,7 @@ public abstract class EntityMissileTier1 extends EntityMissileBaseNT { public static class EntityMissileBunkerBuster extends EntityMissileTier1 { public EntityMissileBunkerBuster(World world) { super(world); } public EntityMissileBunkerBuster(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { + @Override public void onMissileImpact(MovingObjectPosition mop) { for(int i = 0; i < 15; i++) this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 5F, true); ExplosionLarge.spawnParticles(worldObj, this.posX, this.posY, this.posZ, 5); ExplosionLarge.spawnShrapnels(worldObj, this.posX, this.posY, this.posZ, 5); diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileTier2.java b/src/main/java/com/hbm/entity/missile/EntityMissileTier2.java index c2b752e5d..25b1d2fda 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileTier2.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileTier2.java @@ -11,6 +11,7 @@ import com.hbm.particle.helper.ExplosionCreator; import api.hbm.entity.IRadarDetectableNT; import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public abstract class EntityMissileTier2 extends EntityMissileBaseNT { @@ -42,7 +43,7 @@ public abstract class EntityMissileTier2 extends EntityMissileBaseNT { public static class EntityMissileStrong extends EntityMissileTier2 { public EntityMissileStrong(World world) { super(world); } public EntityMissileStrong(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { this.explodeStandard(30F, 32, false); ExplosionCreator.composeEffectStandard(worldObj, posX, posY, posZ); } + @Override public void onMissileImpact(MovingObjectPosition mop) { this.explodeStandard(30F, 32, false); ExplosionCreator.composeEffectStandard(worldObj, posX, posY, posZ); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_generic_medium); } @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_strong); } } @@ -50,7 +51,7 @@ public abstract class EntityMissileTier2 extends EntityMissileBaseNT { public static class EntityMissileIncendiaryStrong extends EntityMissileTier2 { public EntityMissileIncendiaryStrong(World world) { super(world); } public EntityMissileIncendiaryStrong(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { + @Override public void onMissileImpact(MovingObjectPosition mop) { this.explodeStandard(30F, 32, true); ExplosionCreator.composeEffectStandard(worldObj, posX, posY, posZ); ExplosionChaos.flameDeath(this.worldObj, (int)((float)this.posX + 0.5F), (int)((float)this.posY + 0.5F), (int)((float)this.posZ + 0.5F), 25); @@ -62,11 +63,11 @@ public abstract class EntityMissileTier2 extends EntityMissileBaseNT { public static class EntityMissileClusterStrong extends EntityMissileTier2 { public EntityMissileClusterStrong(World world) { super(world); } public EntityMissileClusterStrong(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); this.isCluster = true; } - @Override public void onImpact() { + @Override public void onMissileImpact(MovingObjectPosition mop) { this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15F, true); ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 50, 100); } - @Override public void cluster() { this.onImpact(); } + @Override public void cluster() { this.onMissileImpact(null); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_cluster_medium); } @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_cluster_strong); } } @@ -74,7 +75,7 @@ public abstract class EntityMissileTier2 extends EntityMissileBaseNT { public static class EntityMissileBusterStrong extends EntityMissileTier2 { public EntityMissileBusterStrong(World world) { super(world); } public EntityMissileBusterStrong(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { + @Override public void onMissileImpact(MovingObjectPosition mop) { for(int i = 0; i < 20; i++) this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 7.5F, true); ExplosionLarge.spawnParticles(worldObj, this.posX, this.posY, this.posZ, 8); ExplosionLarge.spawnShrapnels(worldObj, this.posX, this.posY, this.posZ, 8); @@ -87,7 +88,7 @@ public abstract class EntityMissileTier2 extends EntityMissileBaseNT { public static class EntityMissileEMPStrong extends EntityMissileTier2 { public EntityMissileEMPStrong(World world) { super(world); } public EntityMissileEMPStrong(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { + @Override public void onMissileImpact(MovingObjectPosition mop) { EntityEMP emp = new EntityEMP(worldObj); emp.posX = posX; emp.posY = posY; diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileTier3.java b/src/main/java/com/hbm/entity/missile/EntityMissileTier3.java index de02e1aa2..fcff48108 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileTier3.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileTier3.java @@ -12,6 +12,7 @@ import com.hbm.particle.helper.ExplosionCreator; import api.hbm.entity.IRadarDetectableNT; import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -58,7 +59,7 @@ public abstract class EntityMissileTier3 extends EntityMissileBaseNT { public static class EntityMissileBurst extends EntityMissileTier3 { public EntityMissileBurst(World world) { super(world); } public EntityMissileBurst(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { + @Override public void onMissileImpact(MovingObjectPosition mop) { this.explodeStandard(50F, 48, false); ExplosionCreator.composeEffectLarge(worldObj, posX, posY, posZ); } @@ -69,7 +70,7 @@ public abstract class EntityMissileTier3 extends EntityMissileBaseNT { public static class EntityMissileInferno extends EntityMissileTier3 { public EntityMissileInferno(World world) { super(world); } public EntityMissileInferno(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { + @Override public void onMissileImpact(MovingObjectPosition mop) { this.explodeStandard(50F, 48, true); ExplosionCreator.composeEffectLarge(worldObj, posX, posY, posZ); ExplosionChaos.burn(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 10); @@ -82,11 +83,11 @@ public abstract class EntityMissileTier3 extends EntityMissileBaseNT { public static class EntityMissileRain extends EntityMissileTier3 { public EntityMissileRain(World world) { super(world); } public EntityMissileRain(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); this.isCluster = true; } - @Override public void onImpact() { + @Override public void onMissileImpact(MovingObjectPosition mop) { this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 25F, true); ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 100, 100); } - @Override public void cluster() { this.onImpact(); } + @Override public void cluster() { this.onMissileImpact(null); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_cluster_large); } @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_rain); } } @@ -94,7 +95,7 @@ public abstract class EntityMissileTier3 extends EntityMissileBaseNT { public static class EntityMissileDrill extends EntityMissileTier3 { public EntityMissileDrill(World world) { super(world); } public EntityMissileDrill(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { + @Override public void onMissileImpact(MovingObjectPosition mop) { for(int i = 0; i < 30; i++) { ExplosionNT explosion = new ExplosionNT(worldObj, this, this.posX, this.posY - i, this.posZ, 10F); explosion.addAllAttrib(ExAttrib.ERRODE); diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileTier4.java b/src/main/java/com/hbm/entity/missile/EntityMissileTier4.java index ab284113f..7d8b1c91b 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileTier4.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileTier4.java @@ -9,9 +9,11 @@ import com.hbm.entity.effect.EntityNukeTorex; import com.hbm.entity.logic.EntityNukeExplosionMK5; import com.hbm.explosion.ExplosionLarge; import com.hbm.items.ModItems; +import com.hbm.world.WorldUtil; import api.hbm.entity.IRadarDetectableNT; import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -63,9 +65,9 @@ public abstract class EntityMissileTier4 extends EntityMissileBaseNT { public static class EntityMissileNuclear extends EntityMissileTier4 { public EntityMissileNuclear(World world) { super(world); } public EntityMissileNuclear(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { - this.worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, BombConfig.missileRadius, posX, posY, posZ)); - EntityNukeTorex.statFac(worldObj, posX, posY, posZ, BombConfig.missileRadius); + @Override public void onMissileImpact(MovingObjectPosition mop) { + WorldUtil.loadAndSpawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, BombConfig.missileRadius, posX, posY, posZ)); + EntityNukeTorex.statFacStandard(worldObj, posX, posY, posZ, BombConfig.missileRadius); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_nuclear); } @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_nuclear); } @@ -74,9 +76,9 @@ public abstract class EntityMissileTier4 extends EntityMissileBaseNT { public static class EntityMissileMirv extends EntityMissileTier4 { public EntityMissileMirv(World world) { super(world); } public EntityMissileMirv(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { - worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, BombConfig.missileRadius * 2, posX, posY, posZ)); - EntityNukeTorex.statFac(worldObj, posX, posY, posZ, BombConfig.missileRadius * 2); + @Override public void onMissileImpact(MovingObjectPosition mop) { + WorldUtil.loadAndSpawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, BombConfig.missileRadius * 2, posX, posY, posZ)); + EntityNukeTorex.statFacStandard(worldObj, posX, posY, posZ, BombConfig.missileRadius * 2); } @Override public List getDebris() { List list = new ArrayList(); @@ -93,7 +95,7 @@ public abstract class EntityMissileTier4 extends EntityMissileBaseNT { public static class EntityMissileVolcano extends EntityMissileTier4 { public EntityMissileVolcano(World world) { super(world); } public EntityMissileVolcano(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { + @Override public void onMissileImpact(MovingObjectPosition mop) { ExplosionLarge.explode(worldObj, posX, posY, posZ, 10.0F, true, true, true); for(int x = -1; x <= 1; x++) for(int y = -1; y <= 1; y++) for(int z = -1; z <= 1; z++) worldObj.setBlock((int)Math.floor(posX + x), (int)Math.floor(posY + y), (int)Math.floor(posZ + z), ModBlocks.volcanic_lava_block); worldObj.setBlock((int)Math.floor(posX), (int)Math.floor(posY), (int)Math.floor(posZ), ModBlocks.volcano_core); @@ -105,9 +107,9 @@ public abstract class EntityMissileTier4 extends EntityMissileBaseNT { public static class EntityMissileDoomsday extends EntityMissileTier4 { public EntityMissileDoomsday(World world) { super(world); } public EntityMissileDoomsday(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { - this.worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, BombConfig.missileRadius * 2, posX, posY, posZ).moreFallout(100)); - EntityNukeTorex.statFac(worldObj, posX, posY, posZ, BombConfig.missileRadius * 2); + @Override public void onMissileImpact(MovingObjectPosition mop) { + WorldUtil.loadAndSpawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, BombConfig.missileRadius * 2, posX, posY, posZ).moreFallout(100)); + EntityNukeTorex.statFacStandard(worldObj, posX, posY, posZ, BombConfig.missileRadius * 2); } @Override public List getDebris() { return null; } @Override public ItemStack getDebrisRareDrop() { return null; } @@ -118,9 +120,9 @@ public abstract class EntityMissileTier4 extends EntityMissileBaseNT { public static class EntityMissileDoomsdayRusted extends EntityMissileDoomsday { public EntityMissileDoomsdayRusted(World world) { super(world); } public EntityMissileDoomsdayRusted(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { - this.worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, BombConfig.missileRadius, posX, posY, posZ).moreFallout(100)); - EntityNukeTorex.statFac(worldObj, posX, posY, posZ, BombConfig.missileRadius); + @Override public void onMissileImpact(MovingObjectPosition mop) { + WorldUtil.loadAndSpawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, BombConfig.missileRadius, posX, posY, posZ).moreFallout(100)); + EntityNukeTorex.statFacStandard(worldObj, posX, posY, posZ, BombConfig.missileRadius); } @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_doomsday_rusted); } } diff --git a/src/main/java/com/hbm/entity/mob/EntityCreeperGold.java b/src/main/java/com/hbm/entity/mob/EntityCreeperGold.java index 70ad6fbe9..30e4787e3 100644 --- a/src/main/java/com/hbm/entity/mob/EntityCreeperGold.java +++ b/src/main/java/com/hbm/entity/mob/EntityCreeperGold.java @@ -33,7 +33,7 @@ public class EntityCreeperGold extends EntityCreeper { @Override public boolean getCanSpawnHere() { - return super.getCanSpawnHere() && this.posY <= 40; + return super.getCanSpawnHere() && this.posY <= 40 && this.dimension == 0; } @Override diff --git a/src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java b/src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java index ca78f32a9..e186c4dd4 100644 --- a/src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java +++ b/src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java @@ -5,12 +5,13 @@ import java.util.List; import com.hbm.entity.logic.EntityNukeExplosionMK5; import com.hbm.explosion.ExplosionNukeGeneric; import com.hbm.explosion.ExplosionNukeSmall; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.items.ModItems; -import com.hbm.items.ItemAmmoEnums.AmmoFatman; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.util.ContaminationUtil; import com.hbm.util.ContaminationUtil.ContaminationType; import com.hbm.util.ContaminationUtil.HazardType; @@ -45,7 +46,7 @@ public class EntityCreeperNuclear extends EntityCreeper { @Override public boolean attackEntityFrom(DamageSource source, float amount) { - + // for some reason the nuclear explosion would damage the already dead entity, reviving it and forcing it to play the death animation if(this.isDead) return false; @@ -81,7 +82,7 @@ public class EntityCreeperNuclear extends EntityCreeper { } if(p_70645_1_.getEntity() instanceof EntitySkeleton || (p_70645_1_.isProjectile() && p_70645_1_.getEntity() instanceof EntityArrow && ((EntityArrow) (p_70645_1_.getEntity())).shootingEntity == null)) { - this.entityDropItem(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.STOCK), 1); + this.entityDropItem(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_STANDARD), 1); } } @@ -95,9 +96,9 @@ public class EntityCreeperNuclear extends EntityCreeper { ContaminationUtil.contaminate((EntityLivingBase) e, HazardType.RADIATION, ContaminationType.CREATIVE, 0.25F); } } - + super.onUpdate(); - + if(this.isEntityAlive() && this.getHealth() < this.getMaxHealth() && this.ticksExisted % 10 == 0) { this.heal(1.0F); } @@ -108,14 +109,14 @@ public class EntityCreeperNuclear extends EntityCreeper { if(!this.worldObj.isRemote) { this.setDead(); - + boolean flag = this.worldObj.getGameRules().getGameRuleBooleanValue("mobGriefing"); if(this.getPowered()) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "muke"); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY + 0.5, posZ), new TargetPoint(dimension, posX, posY, posZ, 250)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, posX, posY + 0.5, posZ), new TargetPoint(dimension, posX, posY, posZ, 250)); worldObj.playSoundEffect(posX, posY + 0.5, posZ, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); if(flag) { diff --git a/src/main/java/com/hbm/entity/mob/EntityCreeperPhosgene.java b/src/main/java/com/hbm/entity/mob/EntityCreeperPhosgene.java index c3636fa8d..7e7e6d825 100644 --- a/src/main/java/com/hbm/entity/mob/EntityCreeperPhosgene.java +++ b/src/main/java/com/hbm/entity/mob/EntityCreeperPhosgene.java @@ -25,6 +25,11 @@ public class EntityCreeperPhosgene extends EntityCreeper { return super.attackEntityFrom(source, amount); } + + @Override + public boolean getCanSpawnHere() { + return super.getCanSpawnHere() && this.dimension == 0; + } @Override public void func_146077_cc() { diff --git a/src/main/java/com/hbm/entity/mob/EntityCreeperTainted.java b/src/main/java/com/hbm/entity/mob/EntityCreeperTainted.java index 807e6c543..cbb20b671 100644 --- a/src/main/java/com/hbm/entity/mob/EntityCreeperTainted.java +++ b/src/main/java/com/hbm/entity/mob/EntityCreeperTainted.java @@ -1,7 +1,7 @@ package com.hbm.entity.mob; import com.hbm.blocks.ModBlocks; -import com.hbm.config.GeneralConfig; +import com.hbm.config.ServerConfig; import api.hbm.entity.IRadiationImmune; import net.minecraft.block.Block; @@ -55,9 +55,9 @@ public class EntityCreeperTainted extends EntityCreeper implements IRadiationImm int a = rand.nextInt(15) + (int) posX - 7; int b = rand.nextInt(15) + (int) posY - 7; int c = rand.nextInt(15) + (int) posZ - 7; - - if(worldObj.getBlock(a, b, c).isReplaceable(worldObj, a, b, c) && hasPosNeightbour(worldObj, a, b, c)) { - if(!GeneralConfig.enableHardcoreTaint) { + Block block = worldObj.getBlock(a, b, c); + if(block.isNormalCube() && !block.isAir(worldObj, a, b, c)) { + if(!ServerConfig.TAINT_TRAILS.get()) { worldObj.setBlock(a, b, c, ModBlocks.taint, rand.nextInt(3) + 5, 2); } else { worldObj.setBlock(a, b, c, ModBlocks.taint, rand.nextInt(3), 2); @@ -71,9 +71,9 @@ public class EntityCreeperTainted extends EntityCreeper implements IRadiationImm int a = rand.nextInt(7) + (int) posX - 3; int b = rand.nextInt(7) + (int) posY - 3; int c = rand.nextInt(7) + (int) posZ - 3; - - if(worldObj.getBlock(a, b, c).isReplaceable(worldObj, a, b, c) && hasPosNeightbour(worldObj, a, b, c)) { - if(!GeneralConfig.enableHardcoreTaint) { + Block block = worldObj.getBlock(a, b, c); + if(block.isNormalCube() && !block.isAir(worldObj, a, b, c)) { + if(!ServerConfig.TAINT_TRAILS.get()) { worldObj.setBlock(a, b, c, ModBlocks.taint, rand.nextInt(6) + 10, 2); } else { worldObj.setBlock(a, b, c, ModBlocks.taint, rand.nextInt(3) + 4, 2); diff --git a/src/main/java/com/hbm/entity/mob/EntityCreeperVolatile.java b/src/main/java/com/hbm/entity/mob/EntityCreeperVolatile.java index 17160b15e..6fc9f01b7 100644 --- a/src/main/java/com/hbm/entity/mob/EntityCreeperVolatile.java +++ b/src/main/java/com/hbm/entity/mob/EntityCreeperVolatile.java @@ -33,7 +33,7 @@ public class EntityCreeperVolatile extends EntityCreeper { @Override public boolean getCanSpawnHere() { - return super.getCanSpawnHere() && this.posY <= 40; + return super.getCanSpawnHere() && this.posY <= 40 && this.dimension == 0; } @Override diff --git a/src/main/java/com/hbm/entity/mob/EntityDummy.java b/src/main/java/com/hbm/entity/mob/EntityDummy.java new file mode 100644 index 000000000..cd64ff427 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityDummy.java @@ -0,0 +1,34 @@ +package com.hbm.entity.mob; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.passive.IAnimals; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemArmor; +import net.minecraft.world.World; + +public class EntityDummy extends EntityLiving implements IAnimals { + + public EntityDummy(World world) { + super(world); + } + + @Override + public boolean interact(EntityPlayer player) { + + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemArmor) { + ItemArmor armor = (ItemArmor) player.getHeldItem().getItem(); + this.setCurrentItemOrArmor(4 - armor.armorType, player.getHeldItem().copy()); + } + + return super.interact(player); + } + + @Override @SideOnly(Side.CLIENT) public boolean getAlwaysRenderNameTagForRender() { return true; } + @Override public String getCommandSenderName() { + return (int) (this.getHealth() * 10) / 10F + " / " + (int) (this.getMaxHealth() * 10) / 10F; } + //return (int) this.rotationYaw + " " + (int) this.renderYawOffset + " " + (int) this.rotationYawHead + " " + (int) this.newRotationYaw; } + + @Override protected void dropEquipment(boolean b, int i) { } +} diff --git a/src/main/java/com/hbm/entity/mob/EntityFBI.java b/src/main/java/com/hbm/entity/mob/EntityFBI.java index ae95a2df2..a20e5c415 100644 --- a/src/main/java/com/hbm/entity/mob/EntityFBI.java +++ b/src/main/java/com/hbm/entity/mob/EntityFBI.java @@ -8,7 +8,6 @@ import com.hbm.blocks.ModBlocks; import com.hbm.config.MobConfig; import com.hbm.entity.mob.ai.EntityAIBreaking; import com.hbm.entity.pathfinder.PathFinderUtils; -import com.hbm.entity.projectile.EntityBullet; import com.hbm.items.ModItems; import net.minecraft.block.Block; @@ -97,8 +96,8 @@ public class EntityFBI extends EntityMob implements IRangedAttackMob { int equip = rand.nextInt(2); switch(equip) { - case 0: this.setCurrentItemOrArmor(0, new ItemStack(ModItems.gun_revolver_nopip)); break; - case 1: this.setCurrentItemOrArmor(0, new ItemStack(ModItems.gun_ks23)); break; + case 0: this.setCurrentItemOrArmor(0, new ItemStack(ModItems.gun_heavy_revolver)); break; + case 1: this.setCurrentItemOrArmor(0, new ItemStack(ModItems.gun_spas12)); break; } if(rand.nextInt(5) == 0) { @@ -141,24 +140,6 @@ public class EntityFBI extends EntityMob implements IRangedAttackMob { @Override public void attackEntityWithRangedAttack(EntityLivingBase entity, float f) { - - if(this.getEquipmentInSlot(0) != null) { - if(this.getEquipmentInSlot(0).getItem() == ModItems.gun_revolver_nopip) { - EntityBullet bullet = new EntityBullet(worldObj, this, entity, 3F, 2); - bullet.damage = 10; - this.worldObj.spawnEntityInWorld(bullet); - this.playSound("hbm:weapon.revolverShootAlt", 1.0F, 1.0F); - } - - if(this.getEquipmentInSlot(0).getItem() == ModItems.gun_ks23) { - for(int i = 0; i < 7; i++) { - EntityBullet bullet = new EntityBullet(worldObj, this, entity, 3F, 5); - bullet.damage = 3; - this.worldObj.spawnEntityInWorld(bullet); - } - this.playSound("hbm:weapon.shotgunShoot", 1.0F, 1.0F); - } - } } private static final Set canDestroy = new HashSet(); diff --git a/src/main/java/com/hbm/entity/mob/EntityHunterChopper.java b/src/main/java/com/hbm/entity/mob/EntityHunterChopper.java index c5e3bb9f7..647348883 100644 --- a/src/main/java/com/hbm/entity/mob/EntityHunterChopper.java +++ b/src/main/java/com/hbm/entity/mob/EntityHunterChopper.java @@ -2,11 +2,12 @@ package com.hbm.entity.mob; import com.hbm.entity.projectile.EntityBullet; import com.hbm.entity.projectile.EntityChopperMine; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.interfaces.Spaghetti; import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.lib.ModDamageSource; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import api.hbm.entity.IRadiationImmune; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -26,6 +27,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.EnumDifficulty; import net.minecraft.world.World; +@Spaghetti("this sucks complete donkey shit") public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisplayData, IRadiationImmune { public int courseChangeCooldown; @@ -254,7 +256,7 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp data.setString("mode", "meteor"); data.setInteger("count", 10); data.setDouble("width", 1); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY, posZ), new TargetPoint(dimension, posX, posY, posZ, 100)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, posX, posY, posZ), new TargetPoint(dimension, posX, posY, posZ, 100)); } rotationYaw += 20; @@ -335,20 +337,6 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp * kill this mob. */ protected void dropItems() { - - if(rand.nextInt(2) == 0) - this.dropItem(ModItems.chopper_head, 1); - if(rand.nextInt(2) == 0) - this.dropItem(ModItems.chopper_torso, 1); - if(rand.nextInt(2) == 0) - this.dropItem(ModItems.chopper_wing, 1); - if(rand.nextInt(3) == 0) - this.dropItem(ModItems.chopper_tail, 1); - if(rand.nextInt(3) == 0) - this.dropItem(ModItems.chopper_gun, 1); - if(rand.nextInt(3) == 0) - this.dropItem(ModItems.chopper_blades, 1); - this.dropItem(ModItems.combine_scrap, rand.nextInt(8) + 1); this.dropItem(ModItems.plate_combine_steel, rand.nextInt(5) + 1); } diff --git a/src/main/java/com/hbm/entity/mob/EntityPigeon.java b/src/main/java/com/hbm/entity/mob/EntityPigeon.java index ad6d203fc..13f1daa8c 100644 --- a/src/main/java/com/hbm/entity/mob/EntityPigeon.java +++ b/src/main/java/com/hbm/entity/mob/EntityPigeon.java @@ -7,9 +7,9 @@ import com.hbm.entity.mob.ai.EntityAIStartFlying; import com.hbm.entity.mob.ai.EntityAIStopFlying; import com.hbm.entity.mob.ai.EntityAISwimmingConditional; import com.hbm.entity.mob.ai.EntityAIWanderConditional; +import com.hbm.handler.threading.PacketThreading; import com.hbm.items.tool.ItemFertilizer; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.block.Block; @@ -31,7 +31,7 @@ import net.minecraft.world.WorldServer; import net.minecraftforge.common.util.FakePlayerFactory; public class EntityPigeon extends EntityCreature implements IFlyingCreature, IAnimals { - + public float fallTime; public float dest; public float prevDest; @@ -50,16 +50,16 @@ public class EntityPigeon extends EntityCreature implements IFlyingCreature, IAn this.tasks.addTask(7, new EntityAILookIdle(this)); this.setSize(0.5F, 1.0F); } - + @Override public boolean attackEntityFrom(DamageSource source, float amount) { - + if(amount >= this.getMaxHealth() * 2 && !worldObj.isRemote) { this.setDead(); - + for(int i = 0; i < 10; i++) { Vec3 vec = Vec3.createVectorHelper(rand.nextGaussian(), rand.nextGaussian(), rand.nextGaussian()).normalize(); - + EntityItem feather = new EntityItem(worldObj); feather.setEntityItemStack(new ItemStack(Items.feather)); feather.setPosition(posX + vec.xCoord, posY + height / 2D + vec.yCoord, posZ + vec.zCoord); @@ -68,13 +68,13 @@ public class EntityPigeon extends EntityCreature implements IFlyingCreature, IAn feather.motionZ = vec.zCoord * 0.5; worldObj.spawnEntityInWorld(feather); } - + return true; } - + return super.attackEntityFrom(source, amount); } - + @Override public boolean isAIEnabled() { return true; @@ -91,7 +91,7 @@ public class EntityPigeon extends EntityCreature implements IFlyingCreature, IAn protected Item getDropItem() { return Items.feather; } - + @Override protected void func_145780_a(int x, int y, int z, Block block) { this.playSound("mob.chicken.step", 0.15F, 1.0F); @@ -121,15 +121,15 @@ public class EntityPigeon extends EntityCreature implements IFlyingCreature, IAn public void setFlyingState(int state) { this.dataWatcher.updateObject(12, (byte) state); } - + public boolean isFat() { return this.dataWatcher.getWatchableObjectByte(13) == 1; } - + public void setFat(boolean fat) { this.dataWatcher.updateObject(13, (byte) (fat ? 1 : 0)); } - + protected String getLivingSound() { return null; } @@ -145,51 +145,51 @@ public class EntityPigeon extends EntityCreature implements IFlyingCreature, IAn @Override protected void updateAITasks() { super.updateAITasks(); - + if(this.getFlyingState() == this.STATE_FLYING) { int height = worldObj.getHeightValue((int) Math.floor(posX), (int) Math.floor(posZ)); - + boolean ceil = posY - height > 10; - + this.motionY = this.getRNG().nextGaussian() * 0.05 + (ceil ? 0 : 0.04) + (this.isInWater() ? 0.2 : 0); - + if(onGround) this.motionY = Math.abs(this.motionY) + 0.1D; - + this.moveForward = 1.5F; if(this.getRNG().nextInt(20) == 0) this.rotationYaw += this.getRNG().nextGaussian() * 30; - + if(this.isFat() && this.getRNG().nextInt(50) == 0) { - + NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "sweat"); nbt.setInteger("count", 3); nbt.setInteger("block", Block.getIdFromBlock(Blocks.wool)); nbt.setInteger("entity", getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(dimension, posX, posY, posZ, 50)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(dimension, posX, posY, posZ, 50)); int x = (int) Math.floor(posX); int y = (int) Math.floor(posY) - 1; int z = (int) Math.floor(posZ); EntityPlayer player = FakePlayerFactory.getMinecraft((WorldServer)worldObj); - + for(int i = 0; i < 25; i++) { - + if(ItemFertilizer.fertilize(worldObj, x, y - i, z, player, true)) { worldObj.playAuxSFX(2005, x, y - i, z, 0); break; } } - + if(this.getRNG().nextInt(10) == 0) { this.setFat(false); } } - + } else if(!this.onGround && this.motionY < 0.0D) { this.motionY *= 0.8D; } } - + @Override public void onLivingUpdate() { super.onLivingUpdate(); diff --git a/src/main/java/com/hbm/entity/mob/EntityQuackos.java b/src/main/java/com/hbm/entity/mob/EntityQuackos.java index e310ac8a5..00f73d34f 100644 --- a/src/main/java/com/hbm/entity/mob/EntityQuackos.java +++ b/src/main/java/com/hbm/entity/mob/EntityQuackos.java @@ -1,14 +1,17 @@ package com.hbm.entity.mob; -import com.hbm.entity.particle.EntityBSmokeFX; +import com.hbm.handler.threading.PacketThreading; import com.hbm.items.ModItems; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.EntityAgeable; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.boss.IBossDisplayData; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.world.World; @@ -94,20 +97,23 @@ public class EntityQuackos extends EntityDuck implements IBossDisplayData { return false; } } - + /** * BOW */ public void despawn() { - + if(!worldObj.isRemote) { for(int i = 0; i < 150; i++) { - - EntityBSmokeFX fx = new EntityBSmokeFX(worldObj); - fx.setPositionAndRotation(posX + rand.nextDouble() * 20 - 10, posY + rand.nextDouble() * 25, posZ + rand.nextDouble() * 20 - 10, 0, 0); - worldObj.spawnEntityInWorld(fx); + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "bf"); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, + posX + rand.nextDouble() * 20 - 10, + posY + rand.nextDouble() * 25, + posZ + rand.nextDouble() * 20 - 10), + new TargetPoint(dimension, posX, posY, posZ, 150)); } - + dropItem(ModItems.spawn_duck, 3); } this.isDead = true; @@ -144,7 +150,7 @@ public class EntityQuackos extends EntityDuck implements IBossDisplayData { @Override public void onLivingUpdate() { super.onLivingUpdate(); - + if(!worldObj.isRemote && this.posY < -30) { this.setPosition(this.posX + rand.nextGaussian() * 30, 256, this.posZ + rand.nextGaussian() * 30); } diff --git a/src/main/java/com/hbm/entity/mob/EntityTaintCrab.java b/src/main/java/com/hbm/entity/mob/EntityTaintCrab.java index aa0851cc9..9b1ef3ce4 100644 --- a/src/main/java/com/hbm/entity/mob/EntityTaintCrab.java +++ b/src/main/java/com/hbm/entity/mob/EntityTaintCrab.java @@ -3,11 +3,11 @@ package com.hbm.entity.mob; import java.util.ArrayList; import java.util.List; -import com.hbm.entity.projectile.EntityBulletBaseNT; -import com.hbm.handler.BulletConfigSyncingUtil; +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.handler.threading.PacketThreading; import com.hbm.items.ModItems; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.items.weapon.sedna.factory.XFactory762mm; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.potion.HbmPotion; import com.hbm.tileentity.machine.TileEntityTesla; @@ -23,56 +23,52 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; public class EntityTaintCrab extends EntityCyberCrab { - + public List targets = new ArrayList(); public EntityTaintCrab(World p_i1733_1_) { super(p_i1733_1_); - this.setSize(1.25F, 1.25F); - this.ignoreFrustumCheck = true; + this.setSize(1.25F, 1.25F); + this.ignoreFrustumCheck = true; } - - protected EntityAIArrowAttack arrowAI() { - return new EntityAIArrowAttack(this, 0.5D, 5, 5, 50.0F); - } - @Override - protected void applyEntityAttributes() - { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(25.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.5F); - } - - public void onLivingUpdate() { - - targets = TileEntityTesla.zap(worldObj, posX, posY + 1.25, posZ, 10, this); + protected EntityAIArrowAttack arrowAI() { + return new EntityAIArrowAttack(this, 0.5D, 5, 5, 50.0F); + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(25.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.5F); + } + + public void onLivingUpdate() { + + targets = TileEntityTesla.zap(worldObj, posX, posY + 1.25, posZ, 10, this); List targets = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(posX - 5, posY - 5, posZ - 5, posX + 5, posY + 5, posZ + 5)); - + for(EntityLivingBase e : targets) { - - if(!(e instanceof EntityCyberCrab)) - e.addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 10, 15)); + if(!(e instanceof EntityCyberCrab)) e.addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 10, 15)); } - - super.onLivingUpdate(); - } - @Override - protected Item getDropItem() - { - return ModItems.coil_advanced_alloy; - } + super.onLivingUpdate(); + } - protected void dropRareDrop(int p_70600_1_) { - this.dropItem(ModItems.coil_magnetized_tungsten, 1); - } + @Override + protected Item getDropItem() { + return ModItems.coil_advanced_alloy; + } + + protected void dropRareDrop(int p_70600_1_) { + this.dropItem(ModItems.coil_magnetized_tungsten, 1); + } @Override public void attackEntityWithRangedAttack(EntityLivingBase entity, float f) { - - EntityBulletBaseNT bullet = new EntityBulletBaseNT(worldObj, BulletConfigSyncingUtil.BMG50_STAR, this); + + EntityBulletBaseMK4 bullet = new EntityBulletBaseMK4(this, XFactory762mm.r762_fmj, 10F, 0F, 0F, 0F, 0F); Vec3 motion = Vec3.createVectorHelper(posX - entity.posX, posY - entity.posZ - entity.height / 2, posZ - entity.posZ); motion = motion.normalize(); NBTTagCompound data = new NBTTagCompound(); @@ -81,8 +77,8 @@ public class EntityTaintCrab extends EntityCyberCrab { data.setDouble("mX", bullet.motionX * 0.3); data.setDouble("mY", bullet.motionY * 0.3); data.setDouble("mZ", bullet.motionZ * 0.3); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(this.dimension, posX, posY, posZ, 50)); - this.worldObj.spawnEntityInWorld(bullet); - this.playSound("hbm:weapon.sawShoot", 1.0F, 0.5F); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(this.dimension, posX, posY, posZ, 50)); + this.worldObj.spawnEntityInWorld(bullet); + this.playSound("hbm:weapon.sawShoot", 1.0F, 0.5F); } } diff --git a/src/main/java/com/hbm/entity/mob/EntityUFO.java b/src/main/java/com/hbm/entity/mob/EntityUFO.java index 4a8f46ee5..2e5591a0d 100644 --- a/src/main/java/com/hbm/entity/mob/EntityUFO.java +++ b/src/main/java/com/hbm/entity/mob/EntityUFO.java @@ -6,11 +6,11 @@ import java.util.List; import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.explosion.ExplosionNukeSmall; import com.hbm.handler.BulletConfigSyncingUtil; +import com.hbm.handler.threading.PacketThreading; import com.hbm.items.ModItems; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.util.ContaminationUtil; import com.hbm.util.ContaminationUtil.ContaminationType; import com.hbm.util.ContaminationUtil.HazardType; @@ -47,7 +47,7 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I public int beamTimer; private Entity target; private List secondaries = new ArrayList(); - + public EntityUFO(World p_i1587_1_) { super(p_i1587_1_); this.setSize(15F, 4F); @@ -61,18 +61,18 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I protected boolean canDespawn() { return false; } - + @Override public boolean attackEntityFrom(DamageSource source, float amount) { - + if(hurtCooldown > 0) return false; - + boolean hit = super.attackEntityFrom(source, amount); - + if(hit) hurtCooldown = 5; - + return hit; } @@ -84,14 +84,14 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I @Override protected void updateEntityActionState() { - + if(!this.worldObj.isRemote) { - + if(this.worldObj.difficultySetting == EnumDifficulty.PEACEFUL) { this.setDead(); return; } - + if(this.hurtCooldown > 0) { this.hurtCooldown--; } @@ -103,29 +103,29 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I if(this.scanCooldown > 0) { this.scanCooldown--; } - + if(this.target != null && !this.target.isEntityAlive()) { this.target = null; } - + if(this.scanCooldown <= 0) { List entities = worldObj.getEntitiesWithinAABB(Entity.class, this.boundingBox.expand(100, 50, 100)); this.secondaries.clear(); this.target = null; - + for(Entity entity : entities) { - + if(!entity.isEntityAlive() || !canAttackClass(entity.getClass())) continue; - + if(entity instanceof EntityPlayer) { - + if(((EntityPlayer)entity).capabilities.isCreativeMode) continue; - + if(((EntityPlayer)entity).isPotionActive(Potion.invisibility.id)) continue; - + if(this.target == null) { this.target = entity; } else { @@ -134,38 +134,38 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I } } } - + if(entity instanceof EntityLivingBase && this.getDistanceSqToEntity(entity) < 100 * 100 && this.canEntityBeSeen(entity) && entity != this.target) { this.secondaries.add(entity); } } - + if(this.target == null && !this.secondaries.isEmpty()) this.target = this.secondaries.get(rand.nextInt(this.secondaries.size())); - + this.scanCooldown = 50; } - + if(this.target != null && this.courseChangeCooldown <= 0) { - + Vec3 vec = Vec3.createVectorHelper(this.posX - this.target.posX, 0, this.posZ - this.target.posZ); - + if(rand.nextInt(3) > 0) vec.rotateAroundY((float)Math.PI * 2 * rand.nextFloat()); - + double length = vec.lengthVector(); double overshoot = 35; - + int wX = (int)Math.floor(this.target.posX - vec.xCoord / length * overshoot); int wZ = (int)Math.floor(this.target.posZ - vec.zCoord / length * overshoot); - + this.setWaypoint(wX, Math.max(this.worldObj.getHeightValue(wX, wZ) + 20 + rand.nextInt(15), (int) this.target.posY + 15), wZ); - + this.courseChangeCooldown = 40 + rand.nextInt(20); } - + if(!worldObj.isRemote) { - + if(beamTimer <= 0 && this.getBeam()) { this.setBeam(false); } @@ -175,10 +175,10 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I if(dist < 25) this.beamTimer = 30; } - + if(beamTimer > 0) { this.beamTimer--; - + if(!this.getBeam()) { worldObj.playSoundAtEntity(this, "hbm:entity.ufoBeam", 10.0F, 1.0F); this.setBeam(true); @@ -187,51 +187,51 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I int ix = (int)Math.floor(this.posX); int iz = (int)Math.floor(this.posZ); int iy = 0; - + for(int i = (int)Math.ceil(this.posY); i >= 0; i--) { - + if(this.worldObj.getBlock(ix, i, iz) != Blocks.air) { iy = i; break; } } - + if(iy < this.posY) { List entities = worldObj.getEntitiesWithinAABBExcludingEntity(this, AxisAlignedBB.getBoundingBox(this.posX, iy, this.posZ, this.posX, this.posY, this.posZ).expand(5, 0, 5)); - + for(Entity e : entities) { if(this.canAttackClass(e.getClass())) { e.attackEntityFrom(ModDamageSource.causeCombineDamage(this, e), 1000F); e.setFire(5); - + if(e instanceof EntityLivingBase) ContaminationUtil.contaminate((EntityLivingBase)e, HazardType.RADIATION, ContaminationType.CREATIVE, 5F); } } - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "ufo"); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, iy + 0.5, posZ), new TargetPoint(dimension, posX, iy + 0.5, posZ, 150)); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX + this.motionX * 0.5, iy + 0.5, posZ + this.motionZ * 0.5), new TargetPoint(dimension, posX + this.motionX * 0.5, iy + 0.5, posZ + this.motionZ * 0.5, 150)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, posX, iy + 0.5, posZ), new TargetPoint(dimension, posX, iy + 0.5, posZ, 150)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, posX + this.motionX * 0.5, iy + 0.5, posZ + this.motionZ * 0.5), new TargetPoint(dimension, posX + this.motionX * 0.5, iy + 0.5, posZ + this.motionZ * 0.5, 150)); } } - + if(this.ticksExisted % 300 < 200) { - + if(this.ticksExisted % 4 == 0) { - + if(!this.secondaries.isEmpty()){ Entity e = this.secondaries.get(rand.nextInt(this.secondaries.size())); - + if(!e.isEntityAlive()) this.secondaries.remove(e); else laserAttack(e); - + } else if(this.target != null) { laserAttack(this.target); } - + } else if(this.ticksExisted % 4 == 2) { if(this.target != null) { laserAttack(this.target); @@ -240,41 +240,41 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I } else { if(this.ticksExisted % 20 == 0) { - + if(!this.secondaries.isEmpty()){ Entity e = this.secondaries.get(rand.nextInt(this.secondaries.size())); - + if(!e.isEntityAlive()) this.secondaries.remove(e); else rocketAttack(e); - + } else if(this.target != null) { rocketAttack(this.target); } - + } else if(this.ticksExisted % 20 == 10) { if(this.target != null) { rocketAttack(this.target); } } } - + } - + this.motionX = 0; this.motionY = 0; this.motionZ = 0; - + if(this.courseChangeCooldown > 0) { - + double deltaX = this.getX() - this.posX; double deltaY = this.getY() - this.posY; double deltaZ = this.getZ() - this.posZ; Vec3 delta = Vec3.createVectorHelper(deltaX, deltaY, deltaZ); double len = delta.lengthVector(); double speed = this.target instanceof EntityPlayer ? 5D : 2D; - + if(len > 5) { if(isCourseTraversable(this.getX(), this.getY(), this.getZ(), len)) { this.motionX = delta.xCoord * speed / len; @@ -286,22 +286,22 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I } } } - + protected void onDeathUpdate() { - + if(this.getBeam()) this.setBeam(false); - + this.motionY -= 0.05D; - + if(this.deathTime == -10) { worldObj.playSoundAtEntity(this, "hbm:entity.chopperDamage", 10.0F, 1.0F); } - + if(this.deathTime == 19 && !worldObj.isRemote) { worldObj.newExplosion(this, posX, posY, posZ, 10F, true, true); ExplosionNukeSmall.explode(worldObj, posX, posY, posZ, ExplosionNukeSmall.PARAMS_MEDIUM); - + List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, this.boundingBox.expand(200, 200, 200)); for(EntityPlayer player : players) { @@ -309,12 +309,12 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I player.inventory.addItemStackToInventory(new ItemStack(ModItems.coin_ufo)); } } - + super.onDeathUpdate(); } - + private void laserAttack(Entity e) { - + Vec3 vec = Vec3.createVectorHelper(this.posX - e.posX, 0, this.posZ - e.posZ); vec.rotateAroundY((float) Math.toRadians(-80 + rand.nextInt(160))); vec = vec.normalize(); @@ -333,7 +333,7 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I this.worldObj.spawnEntityInWorld(bullet); this.playSound("hbm:weapon.ballsLaser", 5.0F, 1.0F); } - + private void rocketAttack(Entity e) { Vec3 heading = Vec3.createVectorHelper(e.posX - this.posX, e.posY + e.height / 2 - posY - 0.5D, e.posZ - this.posZ); @@ -347,7 +347,7 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I this.worldObj.spawnEntityInWorld(bullet); this.playSound("hbm:turret.richard_fire", 5.0F, 1.0F); } - + @Override public boolean canAttackClass(Class clazz) { return clazz != this.getClass() && clazz != EntityBulletBaseNT.class; @@ -361,9 +361,9 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I this.dataWatcher.addObject(18, 0); this.dataWatcher.addObject(19, 0); } - + private boolean isCourseTraversable(double p_70790_1_, double p_70790_3_, double p_70790_5_, double p_70790_7_) { - + double d4 = (this.getX() - this.posX) / p_70790_7_; double d5 = (this.getY() - this.posY) / p_70790_7_; double d6 = (this.getZ() - this.posZ) / p_70790_7_; @@ -379,7 +379,7 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I return true; } - + @Override protected float getSoundVolume() { return 10.0F; @@ -394,12 +394,12 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I protected String getDeathSound() { return null; } - + @Override public void writeEntityToNBT(NBTTagCompound p_70014_1_) { super.writeEntityToNBT(p_70014_1_); } - + @Override public void readEntityFromNBT(NBTTagCompound p_70037_1_) { super.readEntityFromNBT(p_70037_1_); @@ -430,7 +430,7 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I public int getZ() { return this.dataWatcher.getWatchableObjectInt(19); } - + @Override @SideOnly(Side.CLIENT) public boolean isInRangeToRenderDist(double distance) { diff --git a/src/main/java/com/hbm/entity/mob/EntityUndeadSoldier.java b/src/main/java/com/hbm/entity/mob/EntityUndeadSoldier.java new file mode 100644 index 000000000..f2b042085 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityUndeadSoldier.java @@ -0,0 +1,122 @@ +package com.hbm.entity.mob; + +import com.hbm.items.ModItems; + +import net.minecraft.block.Block; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.IEntityLivingData; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.ai.EntityAIHurtByTarget; +import net.minecraft.entity.ai.EntityAILookIdle; +import net.minecraft.entity.ai.EntityAINearestAttackableTarget; +import net.minecraft.entity.ai.EntityAISwimming; +import net.minecraft.entity.ai.EntityAIWander; +import net.minecraft.entity.ai.EntityAIWatchClosest; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.entity.passive.EntityVillager; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.EnumDifficulty; +import net.minecraft.world.World; + +public class EntityUndeadSoldier extends EntityMob { + + public static final int DW_TYPE = 12; + public static final byte TYPE_ZOMBIE = 0; + public static final byte TYPE_SKELETON = 1; + + public EntityUndeadSoldier(World world) { + super(world); + this.tasks.addTask(0, new EntityAISwimming(this)); + this.tasks.addTask(4, new EntityAIWander(this, 1.0D)); + this.tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); + this.tasks.addTask(6, new EntityAILookIdle(this)); + this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false)); + this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); + this.targetTasks.addTask(3, new EntityAINearestAttackableTarget(this, EntityVillager.class, 0, true)); + } + + protected void entityInit() { + super.entityInit(); + this.getDataWatcher().addObject(DW_TYPE, Byte.valueOf((byte) 0)); + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(40.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.25D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(5.0D); + } + + @Override + protected boolean isAIEnabled() { + return true; + } + + @Override + public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { + this.addRandomArmor(); + this.dataWatcher.updateObject(DW_TYPE, rand.nextBoolean() ? TYPE_ZOMBIE : TYPE_SKELETON); + return super.onSpawnWithEgg(data); + } + + @Override + protected void addRandomArmor() { + this.setCurrentItemOrArmor(4, new ItemStack(ModItems.taurun_helmet)); + this.setCurrentItemOrArmor(3, new ItemStack(ModItems.taurun_plate)); + this.setCurrentItemOrArmor(2, new ItemStack(ModItems.taurun_legs)); + this.setCurrentItemOrArmor(1, new ItemStack(ModItems.taurun_boots)); + + int gun = rand.nextInt(5); + if(gun == 0) this.setCurrentItemOrArmor(0, new ItemStack(ModItems.gun_heavy_revolver)); + if(gun == 1) this.setCurrentItemOrArmor(0, new ItemStack(ModItems.gun_light_revolver)); + if(gun == 2) this.setCurrentItemOrArmor(0, new ItemStack(ModItems.gun_carbine)); + if(gun == 3) this.setCurrentItemOrArmor(0, new ItemStack(ModItems.gun_maresleg)); + if(gun == 4) this.setCurrentItemOrArmor(0, new ItemStack(ModItems.gun_greasegun)); + } + + @Override + protected String getLivingSound() { + byte type = this.dataWatcher.getWatchableObjectByte(DW_TYPE); + if(type == TYPE_ZOMBIE) return "mob.zombie.say"; + if(type == TYPE_SKELETON) return "mob.skeleton.say"; + return super.getLivingSound(); + } + + @Override + protected String getHurtSound() { + byte type = this.dataWatcher.getWatchableObjectByte(DW_TYPE); + if(type == TYPE_ZOMBIE) return "mob.zombie.hurt"; + if(type == TYPE_SKELETON) return "mob.skeleton.hurt"; + return super.getHurtSound(); + } + + @Override + protected String getDeathSound() { + byte type = this.dataWatcher.getWatchableObjectByte(DW_TYPE); + if(type == TYPE_ZOMBIE) return "mob.zombie.death"; + if(type == TYPE_SKELETON) return "mob.skeleton.death"; + return super.getDeathSound(); + } + + @Override + protected void func_145780_a(int x, int y, int z, Block blck) { + byte type = this.dataWatcher.getWatchableObjectByte(DW_TYPE); + if(type == TYPE_ZOMBIE) this.playSound("mob.zombie.step", 0.15F, 1.0F); + if(type == TYPE_SKELETON) this.playSound("mob.skeleton.step", 0.15F, 1.0F); + } + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } + + @Override + public boolean getCanSpawnHere() { + return this.worldObj.difficultySetting != EnumDifficulty.PEACEFUL && this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + @Override protected void dropFewItems(boolean player, int loot) { } + @Override protected void dropEquipment(boolean player, int loot) { } +} diff --git a/src/main/java/com/hbm/entity/mob/ai/EntityAIFireGun.java b/src/main/java/com/hbm/entity/mob/ai/EntityAIFireGun.java new file mode 100644 index 000000000..1ba8c4eb6 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/ai/EntityAIFireGun.java @@ -0,0 +1,136 @@ +package com.hbm.entity.mob.ai; + +import com.hbm.handler.HbmKeybinds.EnumKeybind; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.GunState; + +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.ai.EntityAIBase; +import net.minecraft.item.ItemStack; + +public class EntityAIFireGun extends EntityAIBase { + + private final EntityLiving host; + + private double attackMoveSpeed = 1.0D; // how fast we move while in this state + private double maxRange = 20; // how far our target can be before we stop shooting + private int burstTime = 10; // maximum number of ticks in a burst (for automatic weapons) + private int minWait = 10; // minimum number of ticks to wait between bursts/shots + private int maxWait = 40; // maximum number of ticks to wait between bursts/shots + private float inaccuracy = 30; // how many degrees of inaccuracy does the AI have + + // state timers + private int attackTimer = 0; + private FireState state = FireState.IDLE; + private int stateTimer = 0; + + private static enum FireState { + IDLE, + WAIT, + FIRING, + RELOADING, + } + + public EntityAIFireGun(EntityLiving host) { + this.host = host; + } + + @Override + public boolean shouldExecute() { + return host.getAttackTarget() != null && getYerGun() != null; + } + + @Override + public void updateTask() { + EntityLivingBase target = host.getAttackTarget(); + ItemStack stack = host.getHeldItem(); + ItemGunBaseNT gun = getYerGun(); + + gun.onUpdate(stack, host.worldObj, host, 0, true); + + double distanceToTargetSquared = host.getDistanceSq(target.posX, target.posY, target.posZ); + boolean canSeeTarget = host.getEntitySenses().canSee(target); + + if(canSeeTarget) { + attackTimer++; + } else { + attackTimer = 0; + } + + if(distanceToTargetSquared < maxRange * maxRange && attackTimer > 20) { + host.getNavigator().clearPathEntity(); + } else { + host.getNavigator().tryMoveToEntityLiving(target, attackMoveSpeed); + } + + host.getLookHelper().setLookPositionWithEntity(target, 30.0F, 30.0F); + + stateTimer--; + if(stateTimer < 0) { + stateTimer = 0; + + if(state == FireState.WAIT) { + updateState(FireState.IDLE, 0, gun, stack); + } else if(state != FireState.IDLE) { + updateState(FireState.WAIT, host.worldObj.rand.nextInt(maxWait - minWait) + minWait, gun, stack); + } + } else if(state == FireState.FIRING) { + // Keep the trigger held throughout the duration of firing + updateKeybind(gun, stack, EnumKeybind.GUN_PRIMARY); + } + + if(canSeeTarget && distanceToTargetSquared < maxRange * maxRange) { + if(state == FireState.IDLE) { + GunConfig config = gun.getConfig(stack, 0); + Receiver rec = config.getReceivers(stack)[0]; + if(rec.getMagazine(stack).getAmount(stack, null) <= 0) { + updateState(FireState.RELOADING, 20, gun, stack); + } else if(ItemGunBaseNT.getState(stack, 0) == GunState.IDLE) { + updateState(FireState.FIRING, host.worldObj.rand.nextInt(burstTime), gun, stack); + } + } + } + } + + private void updateState(FireState toState, int time, ItemGunBaseNT gun, ItemStack stack) { + state = toState; + stateTimer = time; + + switch(state) { + case FIRING: updateKeybind(gun, stack, EnumKeybind.GUN_PRIMARY); + case RELOADING: updateKeybind(gun, stack, EnumKeybind.RELOAD); + default: clearKeybinds(gun, stack); break; + } + } + + private void clearKeybinds(ItemGunBaseNT gun, ItemStack stack) { + updateKeybind(gun, stack, null); + } + + private void updateKeybind(ItemGunBaseNT gun, ItemStack stack, EnumKeybind bind) { + // Turn body to face firing direction, since the gun is attached to that, not the head + // Also apply accuracy debuff just before firing + if(bind != null && bind != EnumKeybind.RELOAD) { + host.rotationYawHead += (host.worldObj.rand.nextFloat() - 0.5F) * inaccuracy; + host.rotationPitch += (host.worldObj.rand.nextFloat() - 0.5F) * inaccuracy; + host.rotationYaw = host.rotationYawHead; + } + + gun.handleKeybind(host, null, stack, EnumKeybind.GUN_PRIMARY, bind == EnumKeybind.GUN_PRIMARY); + gun.handleKeybind(host, null, stack, EnumKeybind.GUN_SECONDARY, bind == EnumKeybind.GUN_SECONDARY); + gun.handleKeybind(host, null, stack, EnumKeybind.GUN_TERTIARY, bind == EnumKeybind.GUN_TERTIARY); + gun.handleKeybind(host, null, stack, EnumKeybind.RELOAD, bind == EnumKeybind.RELOAD); + } + + public ItemGunBaseNT getYerGun() { + ItemStack stack = host.getHeldItem(); + + if(stack == null || !(stack.getItem() instanceof ItemGunBaseNT)) return null; + + return (ItemGunBaseNT) stack.getItem(); + } + +} diff --git a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphid.java b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphid.java index a3ac74fbf..ac2f90e7d 100644 --- a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphid.java +++ b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphid.java @@ -3,21 +3,26 @@ package com.hbm.entity.mob.glyphid; import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.Locale; import com.hbm.blocks.ModBlocks; import com.hbm.config.MobConfig; import com.hbm.entity.logic.EntityWaypoint; import com.hbm.entity.mob.EntityParasiteMaggot; +import com.hbm.entity.mob.glyphid.GlyphidStats.StatBundle; import com.hbm.entity.pathfinder.PathFinderUtils; import com.hbm.explosion.vanillant.ExplosionVNT; import com.hbm.explosion.vanillant.standard.*; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; +import com.hbm.handler.threading.PacketThreading; import com.hbm.items.ModItems; +import com.hbm.lib.ModDamageSource; import com.hbm.main.ResourceManager; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.util.DamageResistanceHandler.DamageClass; +import api.hbm.entity.IResistanceProvider; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.block.Block; import net.minecraft.entity.Entity; @@ -40,7 +45,7 @@ import net.minecraft.world.World; import javax.annotation.Nullable; -public class EntityGlyphid extends EntityMob { +public class EntityGlyphid extends EntityMob implements IResistanceProvider { //I might have overdone it a little bit @@ -78,7 +83,7 @@ public class EntityGlyphid extends EntityMob { public static final int TASK_TERRAFORM = 5; /** If any task other than IDLE is interrupted by an obstacle, initiates digging behavior which is also communicated to nearby glyohids */ public static final int TASK_DIG = 6; - + protected boolean hasWaypoint = false; /** Yeah, fuck, whatever, anything goes now */ protected EntityWaypoint taskWaypoint = null; @@ -86,12 +91,13 @@ public class EntityGlyphid extends EntityMob { //subtypes public static final int TYPE_NORMAL = 0; public static final int TYPE_INFECTED = 1; + public static final int TYPE_RADIOACTIVE = 2; //data watcher keys public static final int DW_WALL = 16; public static final int DW_ARMOR = 17; public static final int DW_SUBTYPE = 18; - + public EntityGlyphid(World world) { super(world); this.setSize(1.75F, 1F); @@ -116,17 +122,36 @@ public class EntityGlyphid extends EntityMob { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); + int variant = this.dataWatcher.getWatchableObjectByte(DW_SUBTYPE); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(GlyphidStats.getStats().getGrunt().health); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getGrunt().speed); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getGrunt().damage); - } - - public float getDivisorPerArmorPoint() { - return GlyphidStats.getStats().getGrunt().divisor; + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getGrunt().speed * (variant == TYPE_RADIOACTIVE ? 2D : 1D)); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getGrunt().damage * (variant == TYPE_RADIOACTIVE ? 5D : 1D)); } - public float getDamageThreshold() { - return GlyphidStats.getStats().getGrunt().damageThreshold; + public StatBundle getStats() { + return GlyphidStats.getStats().statsGrunt; + } + + @Override + public float[] getCurrentDTDR(DamageSource damage, float amount, float pierceDT, float pierce) { + if(damage.isDamageAbsolute() || damage.isUnblockable()) return new float[] {0F, 0F}; + StatBundle stats = this.getStats(); + float threshold = stats.thresholdMultForArmor * getGlyphidArmor() / 5F; + + if(damage == ModDamageSource.nuclearBlast) return new float[] {threshold * 0.25F, 0F}; // nukes shred shrough glyphids + if(damage.damageType.equals(DamageClass.LASER.name().toLowerCase(Locale.US))) return new float[] {threshold * 0.5F, stats.resistanceMult * 0.5F}; //lasers are quite powerful too + if(damage.damageType.equals(DamageClass.ELECTRIC.name().toLowerCase(Locale.US))) return new float[] {threshold * 0.25F, stats.resistanceMult * 0.25F}; //electricity even more so + if(damage.damageType.equals(DamageClass.SUBATOMIC.name().toLowerCase(Locale.US))) return new float[] {0F, stats.resistanceMult * 0.1F}; //and particles are almsot commpletely unaffected + + if(damage.isFireDamage()) return new float[] {0F, stats.resistanceMult * 0.2F}; //fire ignores DT and most DR + if(damage.isExplosion()) return new float[] {threshold * 0.5F, stats.resistanceMult * 0.35F}; //explosions are still subject to DT and reduce DR by a fair amount + + return new float[] {threshold, stats.resistanceMult}; + } + + @Override + public void onDamageDealt(DamageSource damage, float amount) { + if(this.isArmorBroken(amount)) this.breakOffArmor(); } @Override @@ -224,7 +249,7 @@ public class EntityGlyphid extends EntityMob { } if(hasWaypoint) { - + if(canDig()) { MovingObjectPosition obstacle = findWaypointObstruction(); @@ -243,7 +268,7 @@ public class EntityGlyphid extends EntityMob { } } } - + this.worldObj.theProfiler.endSection(); } } @@ -295,57 +320,54 @@ public class EntityGlyphid extends EntityMob { } @Override - public boolean attackEntityFrom(DamageSource source, float amount) { - - if(source.getEntity() instanceof EntityGlyphid) { - return false; - } - - boolean alive = this.getHealth() > 0; - boolean wasAttacked = GlyphidStats.getStats().handleAttack(this, source, amount); - - if(alive && this.getHealth() <= 0) { - if(doesInfectedSpawnMaggots() && this.dataWatcher.getWatchableObjectByte(DW_SUBTYPE) == TYPE_INFECTED) { + public void onDeath(DamageSource source) { + super.onDeath(source); - int j = 2 + this.rand.nextInt(3); + if(!worldObj.isRemote && doesInfectedSpawnMaggots() && this.dataWatcher.getWatchableObjectByte(DW_SUBTYPE) == TYPE_INFECTED) { - for(int k = 0; k < j; ++k) { - float f = ((float) (k % 2) - 0.5F) * 0.5F; - float f1 = ((float) (k / 2) - 0.5F) * 0.5F; - EntityParasiteMaggot maggot = new EntityParasiteMaggot(worldObj); - maggot.setLocationAndAngles(this.posX + (double) f, this.posY + 0.5D, this.posZ + (double) f1, this.rand.nextFloat() * 360.0F, 0.0F); - maggot.motionX = f; - maggot.motionZ = f1; - maggot.velocityChanged = true; - this.worldObj.spawnEntityInWorld(maggot); - } + int j = 2 + this.rand.nextInt(3); - worldObj.playSoundEffect(posX, posY, posZ, "mob.zombie.woodbreak", 2.0F, 0.95F + worldObj.rand.nextFloat() * 0.2F); - - NBTTagCompound vdat = new NBTTagCompound(); - vdat.setString("type", "giblets"); - vdat.setInteger("ent", this.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(vdat, posX, posY + height * 0.5, posZ), new TargetPoint(dimension, posX, posY + height * 0.5, posZ, 150)); - + for(int k = 0; k < j; ++k) { + float f = ((float) (k % 2) - 0.5F) * 0.5F; + float f1 = ((float) (k / 2) - 0.5F) * 0.5F; + EntityParasiteMaggot maggot = new EntityParasiteMaggot(worldObj); + maggot.setLocationAndAngles(this.posX + (double) f, this.posY + 0.5D, this.posZ + (double) f1, this.rand.nextFloat() * 360.0F, 0.0F); + maggot.motionX = f; + maggot.motionZ = f1; + maggot.velocityChanged = true; + this.worldObj.spawnEntityInWorld(maggot); } - } + worldObj.playSoundEffect(posX, posY, posZ, "mob.zombie.woodbreak", 2.0F, 0.95F + worldObj.rand.nextFloat() * 0.2F); + + NBTTagCompound vdat = new NBTTagCompound(); + vdat.setString("type", "giblets"); + vdat.setInteger("ent", this.getEntityId()); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(vdat, posX, posY + height * 0.5, posZ), new TargetPoint(dimension, posX, posY + height * 0.5, posZ, 150)); + + } + } + + @Override + public boolean attackEntityFrom(DamageSource source, float amount) { + if(source.getEntity() instanceof EntityGlyphid) return false; + boolean wasAttacked = GlyphidStats.getStats().handleAttack(this, source, amount); return wasAttacked; } - /** Provides a direct entrypoint from outside to access the superclass' implementation because otherwise we end up wwith infinite recursion */ + /** Provides a direct entrypoint from outside to access the superclass' implementation because otherwise we end up with infinite recursion */ public boolean attackSuperclass(DamageSource source, float amount) { - + /*NBTTagCompound data = new NBTTagCompound(); data.setString("type", "debug"); data.setInteger("color", 0x0000ff); data.setFloat("scale", 2.5F); data.setString("text", "" + (int) amount); PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY + 2, posZ), new TargetPoint(dimension, posX, posY + 2, posZ, 50));*/ - + return super.attackEntityFrom(source, amount); } - + public boolean doesInfectedSpawnMaggots() { return true; } @@ -354,22 +376,6 @@ public class EntityGlyphid extends EntityMob { return this.rand.nextInt(100) <= Math.min(Math.pow(amount * 0.6, 2), 100); } - public float calculateDamage(float amount) { - - byte armor = this.dataWatcher.getWatchableObjectByte(DW_ARMOR); - float divisor = 1; - - for(int i = 0; i < 5; i++) { - if((armor & (1 << i)) > 0) { - divisor += getDivisorPerArmorPoint(); - } - } - - amount /= divisor; - - return amount; - } - public void breakOffArmor() { byte armor = this.dataWatcher.getWatchableObjectByte(DW_ARMOR); List indices = Arrays.asList(0, 1, 2, 3, 4); @@ -387,6 +393,16 @@ public class EntityGlyphid extends EntityMob { } } + public int getGlyphidArmor() { + int total = 0; + byte armor = this.dataWatcher.getWatchableObjectByte(DW_ARMOR); + List indices = Arrays.asList(0, 1, 2, 3, 4); + for(Integer i : indices) { + total += (armor & (1 << i)) != 0 ? 1 : 0; + } + return total; + } + @Override protected void updateArmSwingProgress() { int i = this.swingDuration(); @@ -437,12 +453,12 @@ public class EntityGlyphid extends EntityMob { public boolean attackEntityAsMob(Entity victim) { if(this.isSwingInProgress) return false; this.swingItem(); - + if(this.dataWatcher.getWatchableObjectByte(DW_SUBTYPE) == TYPE_INFECTED && victim instanceof EntityLivingBase) { ((EntityLivingBase) victim).addPotionEffect(new PotionEffect(Potion.poison.id, 100, 2)); ((EntityLivingBase) victim).addPotionEffect(new PotionEffect(Potion.confusion.id, 100, 0)); } - + return super.attackEntityAsMob(victim); } @@ -524,14 +540,14 @@ public class EntityGlyphid extends EntityMob { } break; - + case TASK_DIG: shouldDig = true; break; default: break; - + } } @@ -601,7 +617,7 @@ public class EntityGlyphid extends EntityMob { } ///DIGGING END - + @Override public void writeEntityToNBT(NBTTagCompound nbt) { super.writeEntityToNBT(nbt); diff --git a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBehemoth.java b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBehemoth.java index 22a53e3d2..743f2aadf 100644 --- a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBehemoth.java +++ b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBehemoth.java @@ -1,6 +1,7 @@ package com.hbm.entity.mob.glyphid; import com.hbm.entity.effect.EntityMist; +import com.hbm.entity.mob.glyphid.GlyphidStats.StatBundle; import com.hbm.entity.projectile.EntityChemical; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; @@ -40,9 +41,10 @@ public class EntityGlyphidBehemoth extends EntityGlyphid { this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getBehemoth().speed); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getBehemoth().damage); } - - @Override public float getDivisorPerArmorPoint() { return GlyphidStats.getStats().getBehemoth().divisor; } - @Override public float getDamageThreshold() { return GlyphidStats.getStats().getBehemoth().damageThreshold; } + + public StatBundle getStats() { + return GlyphidStats.getStats().statsBehemoth; + } public int timer = 120; int breathTime = 0; @@ -86,7 +88,7 @@ public class EntityGlyphidBehemoth extends EntityGlyphid { public void acidAttack(){ if(!worldObj.isRemote && entityToAttack instanceof EntityLivingBase && this.getDistanceToEntity(entityToAttack) < 20) { this.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 2 * 20, 6)); - EntityChemical chem = new EntityChemical(worldObj, this); + EntityChemical chem = new EntityChemical(worldObj, this, 0, 0, 0); chem.setFluid(Fluids.SULFURIC_ACID); worldObj.spawnEntityInWorld(chem); diff --git a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBlaster.java b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBlaster.java index fb0b7c320..37f622f3a 100644 --- a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBlaster.java +++ b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBlaster.java @@ -1,5 +1,6 @@ package com.hbm.entity.mob.glyphid; +import com.hbm.entity.mob.glyphid.GlyphidStats.StatBundle; import com.hbm.main.ResourceManager; import net.minecraft.entity.SharedMonsterAttributes; @@ -30,9 +31,10 @@ public class EntityGlyphidBlaster extends EntityGlyphidBombardier { this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getBlaster().speed); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getBlaster().damage); } - - @Override public float getDivisorPerArmorPoint() { return GlyphidStats.getStats().getBlaster().divisor; } - @Override public float getDamageThreshold() { return GlyphidStats.getStats().getBlaster().damageThreshold; } + + public StatBundle getStats() { + return GlyphidStats.getStats().statsBlaster; + } @Override public boolean isArmorBroken(float amount) { diff --git a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBombardier.java b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBombardier.java index 6a2f437cf..7fce71444 100644 --- a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBombardier.java +++ b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBombardier.java @@ -1,5 +1,6 @@ package com.hbm.entity.mob.glyphid; +import com.hbm.entity.mob.glyphid.GlyphidStats.StatBundle; import com.hbm.entity.projectile.EntityAcidBomb; import com.hbm.main.ResourceManager; @@ -32,9 +33,10 @@ public class EntityGlyphidBombardier extends EntityGlyphid { this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getBombardier().speed); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getBombardier().damage); } - - @Override public float getDivisorPerArmorPoint() { return GlyphidStats.getStats().getBombardier().divisor; } - @Override public float getDamageThreshold() { return GlyphidStats.getStats().getBombardier().damageThreshold; } + + public StatBundle getStats() { + return GlyphidStats.getStats().statsBombardier; + } @Override public void onUpdate() { diff --git a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBrawler.java b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBrawler.java index 7799040e2..acd51c8e0 100644 --- a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBrawler.java +++ b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBrawler.java @@ -1,6 +1,7 @@ package com.hbm.entity.mob.glyphid; +import com.hbm.entity.mob.glyphid.GlyphidStats.StatBundle; import com.hbm.main.ResourceManager; @@ -116,9 +117,11 @@ public class EntityGlyphidBrawler extends EntityGlyphid { this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getBrawler().speed); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getBrawler().damage); } - - @Override public float getDivisorPerArmorPoint() { return GlyphidStats.getStats().getBrawler().divisor; } - @Override public float getDamageThreshold() { return GlyphidStats.getStats().getBrawler().damageThreshold; } + + public StatBundle getStats() { + return GlyphidStats.getStats().statsBrawler; + } + @Override public boolean attackEntityFrom(DamageSource source, float amount) { diff --git a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBrenda.java b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBrenda.java index a4b2f8367..1f9263302 100644 --- a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBrenda.java +++ b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBrenda.java @@ -1,6 +1,7 @@ package com.hbm.entity.mob.glyphid; import com.hbm.entity.effect.EntityMist; +import com.hbm.entity.mob.glyphid.GlyphidStats.StatBundle; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; import com.hbm.main.ResourceManager; @@ -36,9 +37,10 @@ public class EntityGlyphidBrenda extends EntityGlyphid { this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getBrenda().speed); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getBrenda().damage); } - - @Override public float getDivisorPerArmorPoint() { return GlyphidStats.getStats().getBrenda().divisor; } - @Override public float getDamageThreshold() { return GlyphidStats.getStats().getBrenda().damageThreshold; } + + public StatBundle getStats() { + return GlyphidStats.getStats().statsBrenda; + } @Override public boolean isArmorBroken(float amount) { diff --git a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidDigger.java b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidDigger.java index 1e044dcca..6e443333d 100644 --- a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidDigger.java +++ b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidDigger.java @@ -2,6 +2,7 @@ package com.hbm.entity.mob.glyphid; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; +import com.hbm.entity.mob.glyphid.GlyphidStats.StatBundle; import com.hbm.entity.projectile.EntityRubble; import com.hbm.lib.Library; import com.hbm.main.ResourceManager; @@ -43,9 +44,10 @@ public class EntityGlyphidDigger extends EntityGlyphid { this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getDigger().speed); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getDigger().damage); } - - @Override public float getDivisorPerArmorPoint() { return GlyphidStats.getStats().getDigger().divisor; } - @Override public float getDamageThreshold() { return GlyphidStats.getStats().getDigger().damageThreshold; } + + public StatBundle getStats() { + return GlyphidStats.getStats().statsDigger; + } public int timer = 0; diff --git a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidNuclear.java b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidNuclear.java index 7c1ce74e1..8226f6081 100644 --- a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidNuclear.java +++ b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidNuclear.java @@ -3,16 +3,17 @@ package com.hbm.entity.mob.glyphid; import com.hbm.blocks.ModBlocks; import com.hbm.entity.logic.EntityWaypoint; import com.hbm.entity.mob.EntityParasiteMaggot; +import com.hbm.entity.mob.glyphid.GlyphidStats.StatBundle; import com.hbm.explosion.vanillant.ExplosionVNT; import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard; import com.hbm.explosion.vanillant.standard.BlockMutatorDebris; import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; import com.hbm.explosion.vanillant.standard.EntityProcessorStandard; import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; +import com.hbm.handler.threading.PacketThreading; import com.hbm.main.MainRegistry; import com.hbm.main.ResourceManager; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.entity.Entity; @@ -28,14 +29,14 @@ import javax.annotation.Nullable; import java.util.List; public class EntityGlyphidNuclear extends EntityGlyphid { - + public int deathTicks; public EntityGlyphidNuclear(World world) { super(world); this.setSize(2.5F, 1.75F); this.isImmuneToFire = true; } - + @Override public ResourceLocation getSkin() { return ResourceManager.glyphid_nuclear_tex; @@ -54,8 +55,9 @@ public class EntityGlyphidNuclear extends EntityGlyphid { this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getNuclear().damage); } - @Override public float getDivisorPerArmorPoint() { return GlyphidStats.getStats().getNuclear().divisor; } - @Override public float getDamageThreshold() { return GlyphidStats.getStats().getNuclear().damageThreshold; } + public StatBundle getStats() { + return GlyphidStats.getStats().statsNuclear; + } @Override public void onUpdate() { @@ -118,7 +120,7 @@ public class EntityGlyphidNuclear extends EntityGlyphid { communicate(TASK_INITIATE_RETREAT, null); hasWaypoint = true; } - + if(deathTicks == 90){ int radius = 8; AxisAlignedBB bb = AxisAlignedBB.getBoundingBox(this.posX, this.posY, this.posZ, this.posX, this.posY, this.posZ).expand(radius, radius, radius); @@ -132,7 +134,7 @@ public class EntityGlyphidNuclear extends EntityGlyphid { } } if(this.deathTicks == 100) { - + if(!worldObj.isRemote) { ExplosionVNT vnt = new ExplosionVNT(worldObj, posX, posY, posZ, 25, this); @@ -152,22 +154,22 @@ public class EntityGlyphidNuclear extends EntityGlyphid { vnt.setBlockAllocator(new BlockAllocatorStandard(24)); vnt.setBlockProcessor(new BlockProcessorStandard().withBlockEffect(new BlockMutatorDebris(ModBlocks.volcanic_lava_block, 0)).setNoDrop()); } - + vnt.setEntityProcessor(new EntityProcessorStandard()); vnt.setPlayerProcessor(new PlayerProcessorStandard()); vnt.explode(); worldObj.playSoundEffect(posX, posY, posZ, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "muke"); // if the FX type is "muke", apply random BF effect if(MainRegistry.polaroidID == 11 || rand.nextInt(100) == 0) { data.setBoolean("balefire", true); } - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY + 0.5, posZ), new TargetPoint(dimension, posX, posY, posZ, 250)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, posX, posY + 0.5, posZ), new TargetPoint(dimension, posX, posY, posZ, 250)); } - + this.setDead(); } else { if(!worldObj.isRemote && this.deathTicks % 10 == 0) { diff --git a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidScout.java b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidScout.java index ece0ee982..dbe0c8884 100644 --- a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidScout.java +++ b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidScout.java @@ -3,6 +3,7 @@ package com.hbm.entity.mob.glyphid; import com.hbm.blocks.ModBlocks; import com.hbm.config.MobConfig; import com.hbm.entity.logic.EntityWaypoint; +import com.hbm.entity.mob.glyphid.GlyphidStats.StatBundle; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.main.ResourceManager; import com.hbm.world.feature.GlyphidHive; @@ -61,9 +62,10 @@ public class EntityGlyphidScout extends EntityGlyphid { this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getScout().speed); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getScout().damage); } - - @Override public float getDivisorPerArmorPoint() { return GlyphidStats.getStats().getScout().divisor; } - @Override public float getDamageThreshold() { return GlyphidStats.getStats().getScout().damageThreshold; } + + public StatBundle getStats() { + return GlyphidStats.getStats().statsScout; + } @Override public boolean isArmorBroken(float amount) { diff --git a/src/main/java/com/hbm/entity/mob/glyphid/GlyphidStats.java b/src/main/java/com/hbm/entity/mob/glyphid/GlyphidStats.java index fa9594ec7..9332cb602 100644 --- a/src/main/java/com/hbm/entity/mob/glyphid/GlyphidStats.java +++ b/src/main/java/com/hbm/entity/mob/glyphid/GlyphidStats.java @@ -28,15 +28,24 @@ public abstract class GlyphidStats { public final double health; public final double speed; public final double damage; - public final float divisor; - public final float damageThreshold; + @Deprecated public final float divisor; + @Deprecated public final float damageThreshold; + /** Base threshold is calculated using this number * the glyphid's armor */ + public final float thresholdMultForArmor; + public final float resistanceMult; public StatBundle(double health, double speed, double damage, float divisor, float damageThreshold) { + this(health, speed, damage, divisor, damageThreshold, 0F, 0F); + } + + public StatBundle(double health, double speed, double damage, float divisor, float damageThreshold, float thresholdMultPerArmor, float resistanceMult) { this.health = health; this.speed = speed; this.damage = damage; this.divisor = divisor; this.damageThreshold = damageThreshold; + this.thresholdMultForArmor = thresholdMultPerArmor; + this.resistanceMult = resistanceMult; } } @@ -74,7 +83,7 @@ public abstract class GlyphidStats { if(armor != 0) { //if at least one bit of armor is present - if(amount < glyphid.getDamageThreshold()) return false; + if(amount < glyphid.getStats().damageThreshold) return false; //chances of armor being broken off if(amount > 1 && glyphid.isArmorBroken(amount)) { @@ -82,11 +91,11 @@ public abstract class GlyphidStats { amount *= 0.25F; } - amount -= glyphid.getDamageThreshold(); + amount -= glyphid.getStats().damageThreshold; if(amount < 0) return true; } - amount = glyphid.calculateDamage(amount); + //amount = glyphid.calculateDamage(amount); } if(source.isFireDamage()) { @@ -111,64 +120,22 @@ public abstract class GlyphidStats { public static class GlyphidStatsNT extends GlyphidStats { public GlyphidStatsNT() { - this.statsGrunt = new StatBundle(20D, 1D, 2D, 0.25F, 0F); - this.statsBombardier = new StatBundle(15D, 1D, 2D, 0.25F, 0F); - this.statsBrawler = new StatBundle(35D, 1D, 10D, 0.5F, 0.5F); - this.statsDigger = new StatBundle(50D, 1D, 10D, 0.5F, 0.5F); - this.statsBlaster = new StatBundle(35D, 1D, 10D, 0.5F, 0.5F); - this.statsBehemoth = new StatBundle(125D, 0.8D, 25D, 1.5F, 2F); - this.statsBrenda = new StatBundle(250D, 1.2D, 50D, 2.5F, 5F); - this.statsNuclear = new StatBundle(100D, 0.8D, 50D, 2.5F, 5F); - this.statsScout = new StatBundle(20D, 1.5D, 5D, 0.5F, 0F); + this.statsGrunt = new StatBundle(20D, 1D, 2D, 0.25F, 0F, 1F, 0.1F); + this.statsBombardier = new StatBundle(15D, 1D, 2D, 0.25F, 0F, 1F, 0.1F); + this.statsBrawler = new StatBundle(35D, 1D, 10D, 0.5F, 0.5F, 2F, 0.15F); + this.statsDigger = new StatBundle(50D, 1D, 10D, 0.5F, 0.5F, 3F, 0.20F); + this.statsBlaster = new StatBundle(35D, 1D, 10D, 0.5F, 0.5F, 2F, 0.15F); + this.statsBehemoth = new StatBundle(125D, 0.8D, 25D, 1.5F, 2F, 5F, 0.35F); + this.statsBrenda = new StatBundle(250D, 1.2D, 50D, 2.5F, 5F, 10F, 0.5F); + this.statsNuclear = new StatBundle(100D, 0.8D, 50D, 2.5F, 5F, 10F, 0.5F); + this.statsScout = new StatBundle(20D, 1.5D, 5D, 0.5F, 0F, 0.5F, 0.5F); } @Override public boolean handleAttack(EntityGlyphid glyphid, DamageSource source, float amount) { - // Completely immune to acid from other glyphids if((source == ModDamageSource.acid || ModDamageSource.s_acid.equals(source.getDamageType())) && source.getSourceOfDamage() instanceof EntityGlyphid) return false; - - // If damage is armor piercing or nuclear damage, don't apply any armor calculation - if(isNuclearDamage(source) || source.isDamageAbsolute() || source.isUnblockable()) { - if(source == DamageSource.inWall) amount *= 15F; - return glyphid.attackSuperclass(source, amount); - // This ensures that nukes will remain hyper-effective - } - - // If damage is fire damage, reduce damage above 5 then ignore armor - if(source.isFireDamage()) { - float dmg = Math.min(amount, 5F); - if(amount > 5) dmg += (amount - 5F) * 0.1F; - return glyphid.attackSuperclass(source, dmg); - // This ensures that afterburn and flamethrowers remain effective wihin reason - } - - // If damage is explosive, reduce by 25% then ignore armor - if(source.isExplosion()) { - amount *= 0.5F; - return glyphid.attackSuperclass(source, amount); - // This ensures that explosions remain mostly effective - } - - byte armor = glyphid.getDataWatcher().getWatchableObjectByte(glyphid.DW_ARMOR); - amount -= glyphid.getDamageThreshold(); - if(amount < 0) return armor == 0; // if armor is present, knockback from 0 damage attacks is negated - - if(armor != 0) { - if(glyphid.isArmorBroken(amount)) { - glyphid.breakOffArmor(); - amount *= 0.5F; - } - - amount = glyphid.calculateDamage((float) Math.min(amount, Math.sqrt(amount) * 50D / 7D)); - // This ensures that higher numbers have a diminishing effect - } - return glyphid.attackSuperclass(source, amount); } - - public boolean isNuclearDamage(DamageSource source) { - return source == ModDamageSource.nuclearBlast || source == ModDamageSource.radiation; - } } } diff --git a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeCraft.java b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeCraft.java index 72c0e29de..b647a1f39 100644 --- a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeCraft.java +++ b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeCraft.java @@ -4,9 +4,9 @@ import java.util.List; import com.hbm.entity.mob.EntityUFOBase; import com.hbm.entity.projectile.EntitySiegeLaser; +import com.hbm.handler.threading.PacketThreading; import com.hbm.lib.ModDamageSource; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.util.ContaminationUtil; import com.hbm.util.ContaminationUtil.ContaminationType; import com.hbm.util.ContaminationUtil.HazardType; @@ -27,7 +27,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; public class EntitySiegeCraft extends EntityUFOBase implements IBossDisplayData { - + private int attackCooldown; private int beamCountdown; @@ -37,52 +37,52 @@ public class EntitySiegeCraft extends EntityUFOBase implements IBossDisplayData this.isImmuneToFire = true; this.ignoreFrustumCheck = true; } - + @Override public boolean attackEntityFrom(DamageSource source, float damage) { - + if(this.isEntityInvulnerable()) return false; - + SiegeTier tier = this.getTier(); - + if(tier.fireProof && source.isFireDamage()) { this.extinguish(); return false; } - + //noFF can't be harmed by other mobs if(tier.noFriendlyFire && source instanceof EntityDamageSource && !(((EntityDamageSource) source).getEntity() instanceof EntityPlayer)) return false; - + damage -= tier.dt; - + if(damage < 0) { worldObj.playSoundAtEntity(this, "random.break", 5F, 1.0F + rand.nextFloat() * 0.5F); return false; } - + damage *= (1F - tier.dr); - + return super.attackEntityFrom(source, damage); } - + @Override protected void onDeathUpdate() { - + this.beamCountdown = 200; this.setBeam(false); - + this.motionY -= 0.05D; - + if(this.deathTime == 19 && !worldObj.isRemote) { - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "tinytot"); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY + 0.5, posZ), new TargetPoint(this.dimension, posX, posY, posZ, 250)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, posX, posY + 0.5, posZ), new TargetPoint(this.dimension, posX, posY, posZ, 250)); worldObj.playSoundEffect(posX, posY, posZ, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); } - + super.onDeathUpdate(); } @@ -95,7 +95,7 @@ public class EntitySiegeCraft extends EntityUFOBase implements IBossDisplayData this.getDataWatcher().addObject(15, 0F); this.getDataWatcher().addObject(16, (byte) 0); } - + public void setTier(SiegeTier tier) { this.getDataWatcher().updateObject(12, tier.id); @@ -103,26 +103,26 @@ public class EntitySiegeCraft extends EntityUFOBase implements IBossDisplayData this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(tier.health * 25); this.setHealth(this.getMaxHealth()); } - + public SiegeTier getTier() { SiegeTier tier = SiegeTier.tiers[this.getDataWatcher().getWatchableObjectInt(12)]; return tier != null ? tier : SiegeTier.CLAY; } - + public void setBeam(boolean beam) { this.getDataWatcher().updateObject(16, beam ? (byte) 1 : (byte) 0); } - + public boolean getBeam() { return this.getDataWatcher().getWatchableObjectByte(16) == 1; } - + public void setLockon(double x, double y, double z) { this.getDataWatcher().updateObject(13, (float) x); this.getDataWatcher().updateObject(14, (float) y); this.getDataWatcher().updateObject(15, (float) z); } - + public Vec3 getLockon() { return Vec3.createVectorHelper( this.getDataWatcher().getWatchableObjectFloat(13), @@ -156,7 +156,7 @@ public class EntitySiegeCraft extends EntityUFOBase implements IBossDisplayData if(this.scanCooldown > 0) { this.scanCooldown--; } - + if(!worldObj.isRemote) { if(this.attackCooldown > 0) { this.attackCooldown--; @@ -164,64 +164,64 @@ public class EntitySiegeCraft extends EntityUFOBase implements IBossDisplayData if(this.beamCountdown > 0) { this.beamCountdown--; } - + if(rand.nextInt(50) == 0) { - + NBTTagCompound dPart = new NBTTagCompound(); dPart.setString("type", "tau"); dPart.setByte("count", (byte)(2 + rand.nextInt(3))); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(dPart, posX + rand.nextGaussian() * 2, posY + rand.nextGaussian(), posZ + rand.nextGaussian() * 2), new TargetPoint(worldObj.provider.dimensionId, posX, posY, posZ, 50)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(dPart, posX + rand.nextGaussian() * 2, posY + rand.nextGaussian(), posZ + rand.nextGaussian() * 2), new TargetPoint(worldObj.provider.dimensionId, posX, posY, posZ, 50)); } - + boolean beam = false; - + if(this.target == null || this.beamCountdown <= 0) { this.beamCountdown = 300; //200 - 100: nothing, 100 - 40: update lockon, 40 - 20: fix lockon, 20 - 0: beam } else { - + if(this.beamCountdown >= 60 && this.beamCountdown < 120) { double x = this.target.posX; double y = this.target.posY + this.target.height * 0.5; double z = this.target.posZ; this.setLockon(x, y, z); - + if(this.beamCountdown == 110) { worldObj.playSoundAtEntity(this.target, "hbm:weapon.stingerLockOn", 2F, 0.75F); } } - + if(this.beamCountdown >= 40 && this.beamCountdown < 100) { - + Vec3 lockon = this.getLockon(); NBTTagCompound fx = new NBTTagCompound(); fx.setString("type", "vanillaburst"); fx.setString("mode", "reddust"); fx.setDouble("motion", 0.2D); fx.setInteger("count", 5); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(fx, lockon.xCoord, lockon.yCoord, lockon.zCoord), new TargetPoint(this.dimension, lockon.xCoord, lockon.yCoord, lockon.zCoord, 100)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(fx, lockon.xCoord, lockon.yCoord, lockon.zCoord), new TargetPoint(this.dimension, lockon.xCoord, lockon.yCoord, lockon.zCoord, 100)); } - + if(this.beamCountdown < 40) { Vec3 lockon = this.getLockon(); - + if(this.beamCountdown == 39) { worldObj.playSoundEffect(lockon.xCoord, lockon.yCoord, lockon.zCoord, "hbm:entity.ufoBlast", 5.0F, 0.9F + worldObj.rand.nextFloat() * 0.2F); } - + List entities = worldObj.getEntitiesWithinAABBExcludingEntity(this, AxisAlignedBB.getBoundingBox(lockon.xCoord, lockon.yCoord, lockon.zCoord, lockon.xCoord, lockon.yCoord, lockon.zCoord).expand(2, 2, 2)); - + for(Entity e : entities) { if(this.canAttackClass(e.getClass())) { e.attackEntityFrom(ModDamageSource.causeCombineDamage(this, e), 1000F); e.setFire(5); - + if(e instanceof EntityLivingBase) ContaminationUtil.contaminate((EntityLivingBase)e, HazardType.RADIATION, ContaminationType.CREATIVE, 5F); } } - - + + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "plasmablast"); data.setFloat("r", 0.0F); @@ -230,36 +230,36 @@ public class EntitySiegeCraft extends EntityUFOBase implements IBossDisplayData data.setFloat("pitch", -90 + rand.nextFloat() * 180); data.setFloat("yaw", rand.nextFloat() * 180F); data.setFloat("scale", 5F); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, lockon.xCoord, lockon.yCoord, lockon.zCoord), new TargetPoint(dimension, lockon.xCoord, lockon.yCoord, lockon.zCoord, 150)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, lockon.xCoord, lockon.yCoord, lockon.zCoord), new TargetPoint(dimension, lockon.xCoord, lockon.yCoord, lockon.zCoord, 150)); beam = true; } } - + this.setBeam(beam); - + if(this.attackCooldown == 0 && this.target != null) { this.attackCooldown = 30 + rand.nextInt(10); - + double x = posX; double y = posY; double z = posZ; - + Vec3 vec = Vec3.createVectorHelper(target.posX - x, target.posY + target.height * 0.5 - y, target.posZ - z).normalize(); SiegeTier tier = this.getTier(); - + float health = getHealth() / getMaxHealth(); int r = (int)(0xff * (1 - health)); int g = (int)(0xff * health); int b = 0; int color = (r << 16) | (g << 8) | b; - + for(int i = 0; i < 7; i++) { - + Vec3 copy = Vec3.createVectorHelper(vec.xCoord, vec.yCoord, vec.zCoord); - + copy.rotateAroundY((float)Math.PI / 180F * (i - 3) * 5F); - + EntitySiegeLaser laser = new EntitySiegeLaser(worldObj, this); laser.setPosition(x, y, z); laser.setThrowableHeading(copy.xCoord, copy.yCoord, copy.zCoord, 1F, 0.0F); @@ -269,11 +269,11 @@ public class EntitySiegeCraft extends EntityUFOBase implements IBossDisplayData if(tier.laserIncendiary) laser.setIncendiary(); worldObj.spawnEntityInWorld(laser); } - + this.playSound("hbm:weapon.ballsLaser", 2.0F, 1.0F); } } - + if(this.courseChangeCooldown > 0) { approachPosition(this.target == null ? 0.25D : 0.5D + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).getAttributeValue() * 1); } @@ -306,7 +306,7 @@ public class EntitySiegeCraft extends EntityUFOBase implements IBossDisplayData @Override protected void dropFewItems(boolean byPlayer, int fortune) { - + if(byPlayer) { for(ItemStack drop : this.getTier().dropItem) { this.entityDropItem(drop.copy(), 0F); diff --git a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeSkeleton.java b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeSkeleton.java deleted file mode 100644 index 46e685a52..000000000 --- a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeSkeleton.java +++ /dev/null @@ -1,181 +0,0 @@ -package com.hbm.entity.mob.siege; - -import com.hbm.entity.projectile.EntitySiegeLaser; -import com.hbm.items.ModItems; - -import api.hbm.entity.IRadiationImmune; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IEntityLivingData; -import net.minecraft.entity.IRangedAttackMob; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.EntityAIArrowAttack; -import net.minecraft.entity.ai.EntityAIHurtByTarget; -import net.minecraft.entity.ai.EntityAILookIdle; -import net.minecraft.entity.ai.EntityAINearestAttackableTarget; -import net.minecraft.entity.ai.EntityAISwimming; -import net.minecraft.entity.ai.EntityAIWander; -import net.minecraft.entity.ai.EntityAIWatchClosest; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EntityDamageSource; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class EntitySiegeSkeleton extends EntityMob implements IRangedAttackMob, IRadiationImmune { - - public EntitySiegeSkeleton(World world) { - super(world); - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, new EntityAIArrowAttack(this, 1.0D, 20, 60, 15.0F)); - this.tasks.addTask(3, new EntityAIWander(this, 1.0D)); - this.tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(5, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false)); - this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); - } - - @Override - public boolean attackEntityFrom(DamageSource source, float damage) { - - if(this.isEntityInvulnerable()) - return false; - - SiegeTier tier = this.getTier(); - - if(tier.fireProof && source.isFireDamage()) { - this.extinguish(); - return false; - } - - if(tier.noFall && source == DamageSource.fall) - return false; - - //noFF can't be harmed by other mobs - if(tier.noFriendlyFire && source instanceof EntityDamageSource && !(((EntityDamageSource) source).getEntity() instanceof EntityPlayer)) - return false; - - damage -= tier.dt; - - if(damage < 0) { - worldObj.playSoundAtEntity(this, "random.break", 5F, 1.0F + rand.nextFloat() * 0.5F); - return false; - } - - damage *= (1F - tier.dr); - - return super.attackEntityFrom(source, damage); - } - - @Override - protected void entityInit() { - super.entityInit(); - this.getDataWatcher().addObject(12, (int) 0); - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(40.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.23D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(3.0D); - } - - public void setTier(SiegeTier tier) { - this.getDataWatcher().updateObject(12, tier.id); - - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).applyModifier(new AttributeModifier("Tier Speed Mod", tier.speedMod, 1)); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).applyModifier(new AttributeModifier("Tier Damage Mod", tier.damageMod, 1)); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(tier.health); - this.setHealth(this.getMaxHealth()); - } - - public SiegeTier getTier() { - SiegeTier tier = SiegeTier.tiers[this.getDataWatcher().getWatchableObjectInt(12)]; - return tier != null ? tier : SiegeTier.CLAY; - } - - @Override - protected void addRandomArmor() { - super.addRandomArmor(); - this.setCurrentItemOrArmor(0, new ItemStack(ModItems.detonator_laser)); - } - - @Override - public void writeEntityToNBT(NBTTagCompound nbt) { - super.writeEntityToNBT(nbt); - nbt.setInteger("siegeTier", this.getTier().id); - } - - @Override - public void readEntityFromNBT(NBTTagCompound nbt) { - super.readEntityFromNBT(nbt); - this.setTier(SiegeTier.tiers[nbt.getInteger("siegeTier")]); - } - - @Override - public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { - this.setTier(SiegeTier.tiers[rand.nextInt(SiegeTier.getLength())]); - this.addRandomArmor(); - return super.onSpawnWithEgg(data); - } - - @Override - public void attackEntityWithRangedAttack(EntityLivingBase target, float f) { - - double x = posX; - double y = posY + this.getEyeHeight(); - double z = posZ; - - Vec3 vec = Vec3.createVectorHelper(target.posX - x, target.posY + target.getYOffset() + target.height * 0.5 - y, target.posZ - z).normalize(); - - SiegeTier tier = this.getTier(); - - for(int i = 0; i < 3; i++) { - EntitySiegeLaser laser = new EntitySiegeLaser(worldObj, this); - laser.setPosition(x, y, z); - laser.setThrowableHeading(vec.xCoord, vec.yCoord, vec.zCoord, 1F, i == 1 ? 0.15F : 5F); - laser.setColor(0x808000); - laser.setDamage(tier.damageMod); - laser.setExplosive(tier.laserExplosive); - laser.setBreakChance(tier.laserBreak); - if(tier.laserIncendiary) laser.setIncendiary(); - worldObj.spawnEntityInWorld(laser); - } - - this.playSound("hbm:weapon.ballsLaser", 2.0F, 0.9F + rand.nextFloat() * 0.2F); - } - - @Override - protected boolean isAIEnabled() { - return true; - } - - @Override - protected String getLivingSound() { - return "hbm:entity.siegeIdle"; - } - - @Override - protected String getHurtSound() { - return "hbm:entity.siegeHurt"; - } - - @Override - protected String getDeathSound() { - return "hbm:entity.siegeDeath"; - } - - @Override - protected void dropFewItems(boolean byPlayer, int fortune) { - - if(byPlayer) { - for(ItemStack drop : this.getTier().dropItem) { - this.entityDropItem(drop.copy(), 0F); - } - } - } -} diff --git a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeTunneler.java b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeTunneler.java index ff64a8476..00d85f351 100644 --- a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeTunneler.java +++ b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeTunneler.java @@ -1,6 +1,7 @@ package com.hbm.entity.mob.siege; import com.hbm.entity.mob.EntityBurrowingSwingingBase; +import com.hbm.interfaces.NotableComments; import net.minecraft.entity.IEntityLivingData; import net.minecraft.entity.SharedMonsterAttributes; @@ -21,6 +22,7 @@ import net.minecraft.world.World; //well it ain't fucking funny //this stupid fucking random ass bullshit is the P R E C I S E reason i loathe working with entities //honest to fucking god was the entire mojang dev team on crack when they wrote this? +@NotableComments public class EntitySiegeTunneler extends EntityBurrowingSwingingBase { public EntitySiegeTunneler(World world) { diff --git a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeUFO.java b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeUFO.java deleted file mode 100644 index 12551252a..000000000 --- a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeUFO.java +++ /dev/null @@ -1,144 +0,0 @@ -package com.hbm.entity.mob.siege; - -import com.hbm.entity.mob.EntityUFOBase; -import com.hbm.entity.projectile.EntitySiegeLaser; -import api.hbm.entity.IRadiationImmune; -import net.minecraft.entity.IEntityLivingData; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EntityDamageSource; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class EntitySiegeUFO extends EntityUFOBase implements IRadiationImmune { - - private int attackCooldown; - - public EntitySiegeUFO(World world) { - super(world); - this.setSize(1.5F, 1F); - } - - @Override - protected void entityInit() { - super.entityInit(); - this.getDataWatcher().addObject(12, (int) 0); - } - - public void setTier(SiegeTier tier) { - this.getDataWatcher().updateObject(12, tier.id); - - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(tier.speedMod); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(tier.health * 0.25); - this.setHealth(this.getMaxHealth()); - } - - public SiegeTier getTier() { - SiegeTier tier = SiegeTier.tiers[this.getDataWatcher().getWatchableObjectInt(12)]; - return tier != null ? tier : SiegeTier.CLAY; - } - - @Override - public boolean attackEntityFrom(DamageSource source, float damage) { - - if(this.isEntityInvulnerable()) - return false; - - SiegeTier tier = this.getTier(); - - if(tier.fireProof && source.isFireDamage()) { - this.extinguish(); - return false; - } - - //noFF can't be harmed by other mobs - if(tier.noFriendlyFire && source instanceof EntityDamageSource && !(((EntityDamageSource) source).getEntity() instanceof EntityPlayer)) - return false; - - damage -= tier.dt; - - if(damage < 0) { - worldObj.playSoundAtEntity(this, "random.break", 5F, 1.0F + rand.nextFloat() * 0.5F); - return false; - } - - damage *= (1F - tier.dr); - - return super.attackEntityFrom(source, damage); - } - - @Override - protected void updateEntityActionState() { - super.updateEntityActionState(); - - if(this.courseChangeCooldown > 0) { - this.courseChangeCooldown--; - } - if(this.scanCooldown > 0) { - this.scanCooldown--; - } - - if(!worldObj.isRemote) { - if(this.attackCooldown > 0) { - this.attackCooldown--; - } - - if(this.attackCooldown == 0 && this.target != null) { - this.attackCooldown = 20 + rand.nextInt(5); - - double x = posX; - double y = posY; - double z = posZ; - - Vec3 vec = Vec3.createVectorHelper(target.posX - x, target.posY + target.height * 0.5 - y, target.posZ - z).normalize(); - SiegeTier tier = this.getTier(); - - EntitySiegeLaser laser = new EntitySiegeLaser(worldObj, this); - laser.setPosition(x, y, z); - laser.setThrowableHeading(vec.xCoord, vec.yCoord, vec.zCoord, 1F, 0.15F); - laser.setColor(0x802000); - laser.setDamage(tier.damageMod); - laser.setExplosive(tier.laserExplosive); - laser.setBreakChance(tier.laserBreak); - if(tier.laserIncendiary) laser.setIncendiary(); - worldObj.spawnEntityInWorld(laser); - this.playSound("hbm:weapon.ballsLaser", 2.0F, 1.0F); - } - } - - if(this.courseChangeCooldown > 0) { - approachPosition(this.target == null ? 0.25D : 0.5D + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).getAttributeValue() * 1); - } - } - - @Override - public void writeEntityToNBT(NBTTagCompound nbt) { - super.writeEntityToNBT(nbt); - nbt.setInteger("siegeTier", this.getTier().id); - } - - @Override - public void readEntityFromNBT(NBTTagCompound nbt) { - super.readEntityFromNBT(nbt); - this.setTier(SiegeTier.tiers[nbt.getInteger("siegeTier")]); - } - - @Override - public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { - this.setTier(SiegeTier.tiers[rand.nextInt(SiegeTier.getLength())]); - return super.onSpawnWithEgg(data); - } - - @Override - protected void dropFewItems(boolean byPlayer, int fortune) { - - if(byPlayer) { - for(ItemStack drop : this.getTier().dropItem) { - this.entityDropItem(drop.copy(), 0F); - } - } - } -} diff --git a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeZombie.java b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeZombie.java deleted file mode 100644 index 82ac62ce8..000000000 --- a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeZombie.java +++ /dev/null @@ -1,156 +0,0 @@ -package com.hbm.entity.mob.siege; - -import api.hbm.entity.IRadiationImmune; -import net.minecraft.entity.IEntityLivingData; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.EntityAIAttackOnCollide; -import net.minecraft.entity.ai.EntityAIHurtByTarget; -import net.minecraft.entity.ai.EntityAILookIdle; -import net.minecraft.entity.ai.EntityAIMoveTowardsRestriction; -import net.minecraft.entity.ai.EntityAINearestAttackableTarget; -import net.minecraft.entity.ai.EntityAISwimming; -import net.minecraft.entity.ai.EntityAIWander; -import net.minecraft.entity.ai.EntityAIWatchClosest; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EntityDamageSource; -import net.minecraft.world.World; - -public class EntitySiegeZombie extends EntityMob implements IRadiationImmune { - - public EntitySiegeZombie(World world) { - super(world); - this.getNavigator().setBreakDoors(true); - this.tasks.addTask(0, new EntityAISwimming(this)); - this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false)); - this.tasks.addTask(3, new EntityAIMoveTowardsRestriction(this, 1.0D)); - this.tasks.addTask(4, new EntityAIWander(this, 1.0D)); - this.tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(5, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true)); - this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); - this.setSize(0.6F, 1.8F); - } - - @Override - public boolean attackEntityFrom(DamageSource source, float damage) { - - if(this.isEntityInvulnerable()) - return false; - - SiegeTier tier = this.getTier(); - - if(tier.fireProof && source.isFireDamage()) { - this.extinguish(); - return false; - } - - if(tier.noFall && source == DamageSource.fall) - return false; - - //noFF can't be harmed by other mobs - if(tier.noFriendlyFire && source instanceof EntityDamageSource && !(((EntityDamageSource) source).getEntity() instanceof EntityPlayer)) - return false; - - damage -= tier.dt; - - if(damage < 0) { - worldObj.playSoundAtEntity(this, "random.break", 5F, 1.0F + rand.nextFloat() * 0.5F); - return false; - } - - damage *= (1F - tier.dr); - - return super.attackEntityFrom(source, damage); - } - - @Override - protected void entityInit() { - super.entityInit(); - this.getDataWatcher().addObject(12, (int) 0); - this.getDataWatcher().addObject(13, (byte) 0); - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(40.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.23D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(3.0D); - } - - public void setTier(SiegeTier tier) { - this.getDataWatcher().updateObject(12, tier.id); - - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).applyModifier(new AttributeModifier("Tier Speed Mod", tier.speedMod, 1)); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).applyModifier(new AttributeModifier("Tier Damage Mod", tier.damageMod, 1)); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(tier.health); - this.setHealth(this.getMaxHealth()); - } - - public SiegeTier getTier() { - SiegeTier tier = SiegeTier.tiers[this.getDataWatcher().getWatchableObjectInt(12)]; - return tier != null ? tier : SiegeTier.CLAY; - } - - @Override - protected boolean isAIEnabled() { - return true; - } - - @Override - protected String getLivingSound() { - return "hbm:entity.siegeIdle"; - } - - @Override - protected String getHurtSound() { - return "hbm:entity.siegeHurt"; - } - - @Override - protected String getDeathSound() { - return "hbm:entity.siegeDeath"; - } - - @Override - protected void dropFewItems(boolean byPlayer, int fortune) { - - if(byPlayer) { - for(ItemStack drop : this.getTier().dropItem) { - this.entityDropItem(drop.copy(), 0F); - } - } - } - - @Override - public void onUpdate() { - - super.onUpdate(); - if(!worldObj.isRemote) { - this.dataWatcher.updateObject(13, (byte)(this.getAttackTarget() != null ? 1 : 0)); - } - } - - @Override - public void writeEntityToNBT(NBTTagCompound nbt) { - super.writeEntityToNBT(nbt); - nbt.setInteger("siegeTier", this.getTier().id); - } - - @Override - public void readEntityFromNBT(NBTTagCompound nbt) { - super.readEntityFromNBT(nbt); - this.setTier(SiegeTier.tiers[nbt.getInteger("siegeTier")]); - } - - @Override - public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { - this.setTier(SiegeTier.tiers[rand.nextInt(SiegeTier.getLength())]); - return super.onSpawnWithEgg(data); - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/entity/particle/EntityBSmokeFX.java b/src/main/java/com/hbm/entity/particle/EntityBSmokeFX.java deleted file mode 100644 index ebbed1d98..000000000 --- a/src/main/java/com/hbm/entity/particle/EntityBSmokeFX.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.hbm.entity.particle; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.world.World; - -public class EntityBSmokeFX extends EntityModFX -{ - public EntityBSmokeFX(World world) { - super(world, 0, 0, 0); - } - - public EntityBSmokeFX(World p_i1225_1_, double p_i1225_2_, double p_i1225_4_, double p_i1225_6_, double p_i1225_8_, double p_i1225_10_, double p_i1225_12_) - { - this(p_i1225_1_, p_i1225_2_, p_i1225_4_, p_i1225_6_, p_i1225_8_, p_i1225_10_, p_i1225_12_, 1.0F); - } - - public EntityBSmokeFX(World p_i1226_1_, double p_i1226_2_, double p_i1226_4_, double p_i1226_6_, double p_i1226_8_, double p_i1226_10_, double p_i1226_12_, float p_i1226_14_) - { - super(p_i1226_1_, p_i1226_2_, p_i1226_4_, p_i1226_6_, 0.0D, 0.0D, 0.0D); - this.motionX *= 0.10000000149011612D; - this.motionY *= 0.10000000149011612D; - this.motionZ *= 0.10000000149011612D; - this.motionX += p_i1226_8_; - this.motionY += p_i1226_10_; - this.motionZ += p_i1226_12_; - this.particleRed = this.particleGreen = this.particleBlue = (float)(Math.random() * 0.30000001192092896D); - this.particleScale *= 0.75F; - this.particleScale *= p_i1226_14_; - this.smokeParticleScale = this.particleScale; - //this.particleMaxAge = (int)(8.0D / (Math.random() * 0.8D + 0.2D)); - //this.particleMaxAge = (int)((float)this.particleMaxAge * p_i1226_14_); - this.noClip = false; - } - - /** - * Called to update the entity's position/logic. - */ - - @Override - public void onUpdate() - { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - - if(maxAge < 100) - { - maxAge = rand.nextInt(21) + 65; - } - - this.particleAge++; - - if (this.particleAge >= maxAge) - { - this.setDead(); - } - - this.motionX *= 0.9599999785423279D; - this.motionY *= 0.9599999785423279D; - this.motionZ *= 0.9599999785423279D; - - if (this.onGround) - { - this.motionX *= 0.699999988079071D; - this.motionZ *= 0.699999988079071D; - } - } - - @Override - @SideOnly(Side.CLIENT) - public int getBrightnessForRender(float p_70070_1_) - { - return 15728880; - } -} diff --git a/src/main/java/com/hbm/entity/particle/EntityModFX.java b/src/main/java/com/hbm/entity/particle/EntityModFX.java index e416965d4..16efa997f 100644 --- a/src/main/java/com/hbm/entity/particle/EntityModFX.java +++ b/src/main/java/com/hbm/entity/particle/EntityModFX.java @@ -31,7 +31,6 @@ public class EntityModFX extends Entity public static double interpPosX; public static double interpPosY; public static double interpPosZ; - public static final String __OBFID = "CL_00000914"; float smokeParticleScale; public int particleAge; public int maxAge; @@ -39,7 +38,7 @@ public class EntityModFX extends Entity public EntityModFX(World world) { super(world); } - + protected EntityModFX(World p_i1218_1_, double p_i1218_2_, double p_i1218_4_, double p_i1218_6_) { super(p_i1218_1_); @@ -257,7 +256,7 @@ public class EntityModFX extends Entity { return this.getClass().getSimpleName() + ", Pos (" + this.posX + "," + this.posY + "," + this.posZ + "), RGBA (" + this.particleRed + "," + this.particleGreen + "," + this.particleBlue + "," + this.particleAlpha + "), Age " + this.particleAge; } - + @Override @SideOnly(Side.CLIENT) public boolean isInRangeToRenderDist(double distance) diff --git a/src/main/java/com/hbm/entity/projectile/EntityAAShell.java b/src/main/java/com/hbm/entity/projectile/EntityAAShell.java deleted file mode 100644 index 32016a2d4..000000000 --- a/src/main/java/com/hbm/entity/projectile/EntityAAShell.java +++ /dev/null @@ -1,113 +0,0 @@ -package com.hbm.entity.projectile; - -import java.util.List; - -import com.hbm.explosion.ExplosionLarge; - -import net.minecraft.block.material.Material; -import net.minecraft.entity.Entity; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; - -public class EntityAAShell extends Entity { - - public int speedOverride = 1; - public int fuse = 5; - public int dFuse = 30; - - public EntityAAShell(World p_i1582_1_) { - super(p_i1582_1_); - rotation(); - } - - @Override - protected void entityInit() { - } - - @Override - protected void readEntityFromNBT(NBTTagCompound p_70037_1_) { - } - - @Override - protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { - } - - @Override - public void onUpdate() { - if(fuse > 0) - fuse --; - - if(dFuse > 0) { - dFuse --; - } else { - explode(); - return; - } - - this.lastTickPosX = this.prevPosX = this.posX; - this.lastTickPosY = this.prevPosY = this.posY; - this.lastTickPosZ = this.prevPosZ = this.posZ; - - - for(int i = 0; i < 5; i++) { - - this.setPosition(posX + this.motionX, posY + this.motionY, posZ + this.motionZ); - - rotation(); - - if(fuse == 0) { - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, AxisAlignedBB.getBoundingBox(this.posX - 5, this.posY - 5, this.posZ - 5, this.posX + 5, this.posY + 5, this.posZ + 5)); - for(Entity e : list) { - float size = e.width * e.width * e.height; - if(size >= 0.5) { - explode(); - return; - } - - } - } - - if(worldObj.getBlock((int)posX, (int)posY, (int)posZ).getMaterial() != Material.air) { - explode(); - return; - } - } - } - - protected void rotation() { - float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; - } - } - - private void explode() { - worldObj.createExplosion(null, posX, posY, posZ, 20, true); - ExplosionLarge.spawnParticlesRadial(worldObj, posX, posY, posZ, 35); - if(rand.nextInt(15) == 0) - ExplosionLarge.spawnShrapnels(worldObj, posX, posY, posZ, 5 + rand.nextInt(11)); - else if(rand.nextInt(15) == 0) - ExplosionLarge.spawnShrapnelShower(worldObj, posX, posY, posZ, motionX * 2, motionY * 2, motionZ * 2, 5 + rand.nextInt(11), 0.15); - this.setDead(); - } -} diff --git a/src/main/java/com/hbm/entity/projectile/EntityArtilleryRocket.java b/src/main/java/com/hbm/entity/projectile/EntityArtilleryRocket.java index 0115dbef3..47d0fbd65 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityArtilleryRocket.java +++ b/src/main/java/com/hbm/entity/projectile/EntityArtilleryRocket.java @@ -3,6 +3,7 @@ package com.hbm.entity.projectile; import java.util.ArrayList; import java.util.List; +import com.google.common.collect.ImmutableSet; import com.hbm.entity.logic.IChunkLoader; import com.hbm.entity.projectile.rocketbehavior.IRocketSteeringBehavior; import com.hbm.entity.projectile.rocketbehavior.IRocketTargetingBehavior; @@ -28,14 +29,14 @@ import net.minecraftforge.common.ForgeChunkManager.Type; public class EntityArtilleryRocket extends EntityThrowableInterp implements IChunkLoader, IRadarDetectable { private Ticket loaderTicket; - + //TODO: find satisfying solution for when an entity is unloaded and reloaded, possibly a custom entity lookup using persistent UUIDs public Entity targetEntity = null; public Vec3 lastTargetPos; - + public IRocketTargetingBehavior targeting; public IRocketSteeringBehavior steering; - + public EntityArtilleryRocket(World world) { super(world); this.ignoreFrustumCheck = true; @@ -49,18 +50,18 @@ public class EntityArtilleryRocket extends EntityThrowableInterp implements IChu init(ForgeChunkManager.requestTicket(MainRegistry.instance, worldObj, Type.ENTITY)); this.dataWatcher.addObject(10, new Integer(0)); } - + @Override @SideOnly(Side.CLIENT) public boolean isInRangeToRenderDist(double distance) { return true; } - + public EntityArtilleryRocket setType(int type) { this.dataWatcher.updateObject(10, type); return this; } - + public HIMARSRocket getType() { try { return ItemAmmoHIMARS.itemTypes[this.dataWatcher.getWatchableObjectInt(10)]; @@ -68,34 +69,38 @@ public class EntityArtilleryRocket extends EntityThrowableInterp implements IChu return ItemAmmoHIMARS.itemTypes[0]; } } - + public EntityArtilleryRocket setTarget(Entity target) { this.targetEntity = target; setTarget(target.posX, target.posY - target.yOffset + target.height / 2D, target.posZ); return this; } - + public EntityArtilleryRocket setTarget(double x, double y, double z) { this.lastTargetPos = Vec3.createVectorHelper(x, y, z); return this; } - + public Vec3 getLastTarget() { return this.lastTargetPos; } - + @Override public void onUpdate() { - + if(worldObj.isRemote) { this.lastTickPosX = this.posX; this.lastTickPosY = this.posY; this.lastTickPosZ = this.posZ; } - + super.onUpdate(); - + if(!worldObj.isRemote) { + + //shitty hack, figure out what's happening here + if(this.targeting == null) this.targeting = new RocketTargetingPredictive(); + if(this.steering == null) this.steering = new RocketSteeringBallisticArc(); if(this.targetEntity == null) { Vec3 delta = Vec3.createVectorHelper(this.lastTargetPos.xCoord - this.posX, this.lastTargetPos.yCoord - this.posY, this.lastTargetPos.zCoord - this.posZ); @@ -107,23 +112,32 @@ public class EntityArtilleryRocket extends EntityThrowableInterp implements IChu if(this.targeting != null && this.targetEntity != null) this.targeting.recalculateTargetPosition(this, this.targetEntity); if(this.steering != null) this.steering.adjustCourse(this, 25D, 15D); - + loadNeighboringChunks((int)Math.floor(posX / 16D), (int)Math.floor(posZ / 16D)); this.getType().onUpdate(this); } else { - + Vec3 v = Vec3.createVectorHelper(lastTickPosX - posX, lastTickPosY - posY, lastTickPosZ - posZ); double velocity = v.lengthVector(); v = v.normalize(); - + int offset = 6; - if(velocity > 1) for(int i = offset; i < velocity + offset; i++) MainRegistry.proxy.spawnParticle(posX + v.xCoord * i, posY + v.yCoord * i, posZ + v.zCoord * i, "exKerosene", null); + if(velocity > 1) { + for (int i = offset; i < velocity + offset; i++) { + NBTTagCompound data = new NBTTagCompound(); + data.setDouble("posX", posX + v.xCoord * i); + data.setDouble("posY", posY + v.yCoord * i); + data.setDouble("posZ", posZ + v.zCoord * i); + data.setString("type", "exKerosene"); + MainRegistry.proxy.effectNT(data); + } + } } } @Override protected void onImpact(MovingObjectPosition mop) { - + if(!worldObj.isRemote) { this.getType().onImpact(this, mop); } @@ -145,8 +159,10 @@ public class EntityArtilleryRocket extends EntityThrowableInterp implements IChu public void loadNeighboringChunks(int newChunkX, int newChunkZ) { if(!worldObj.isRemote && loaderTicket != null) { - - clearChunkLoader(); + + for(ChunkCoordIntPair chunk : ImmutableSet.copyOf(loaderTicket.getChunkList())) { + ForgeChunkManager.unforceChunk(loaderTicket, chunk); + } loadedChunks.clear(); loadedChunks.add(new ChunkCoordIntPair(newChunkX, newChunkZ)); @@ -157,32 +173,31 @@ public class EntityArtilleryRocket extends EntityThrowableInterp implements IChu } } } - + public void killAndClear() { this.setDead(); this.clearChunkLoader(); } - + public void clearChunkLoader() { if(!worldObj.isRemote && loaderTicket != null) { - for(ChunkCoordIntPair chunk : loadedChunks) { - ForgeChunkManager.unforceChunk(loaderTicket, chunk); - } + ForgeChunkManager.releaseTicket(loaderTicket); + this.loaderTicket = null; } } @Override public void writeEntityToNBT(NBTTagCompound nbt) { super.writeEntityToNBT(nbt); - + if(this.lastTargetPos == null) { this.lastTargetPos = Vec3.createVectorHelper(posX, posY, posZ); } - + nbt.setDouble("targetX", this.lastTargetPos.xCoord); nbt.setDouble("targetY", this.lastTargetPos.yCoord); nbt.setDouble("targetZ", this.lastTargetPos.zCoord); - + nbt.setInteger("type", this.dataWatcher.getWatchableObjectInt(10)); } @@ -191,7 +206,7 @@ public class EntityArtilleryRocket extends EntityThrowableInterp implements IChu super.readEntityFromNBT(nbt); this.lastTargetPos = Vec3.createVectorHelper(nbt.getDouble("targetX"), nbt.getDouble("targetY"), nbt.getDouble("targetZ")); - + this.dataWatcher.updateObject(10, nbt.getInteger("type")); } @@ -209,7 +224,7 @@ public class EntityArtilleryRocket extends EntityThrowableInterp implements IChu public RadarTargetType getTargetType() { return RadarTargetType.ARTILLERY; } - + @Override public int approachNum() { return 0; // diff --git a/src/main/java/com/hbm/entity/projectile/EntityArtilleryShell.java b/src/main/java/com/hbm/entity/projectile/EntityArtilleryShell.java index e608b49d5..c4d6443d2 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityArtilleryShell.java +++ b/src/main/java/com/hbm/entity/projectile/EntityArtilleryShell.java @@ -3,6 +3,7 @@ package com.hbm.entity.projectile; import java.util.ArrayList; import java.util.List; +import com.google.common.collect.ImmutableSet; import com.hbm.entity.logic.IChunkLoader; import com.hbm.items.weapon.ItemAmmoArty; import com.hbm.items.weapon.ItemAmmoArty.ArtilleryShell; @@ -193,8 +194,10 @@ public class EntityArtilleryShell extends EntityThrowableNT implements IChunkLoa public void loadNeighboringChunks(int newChunkX, int newChunkZ) { if(!worldObj.isRemote && loaderTicket != null) { - - clearChunkLoader(); + + for(ChunkCoordIntPair chunk : ImmutableSet.copyOf(loaderTicket.getChunkList())) { + ForgeChunkManager.unforceChunk(loaderTicket, chunk); + } loadedChunks.clear(); loadedChunks.add(new ChunkCoordIntPair(newChunkX, newChunkZ)); @@ -213,9 +216,8 @@ public class EntityArtilleryShell extends EntityThrowableNT implements IChunkLoa public void clearChunkLoader() { if(!worldObj.isRemote && loaderTicket != null) { - for(ChunkCoordIntPair chunk : loadedChunks) { - ForgeChunkManager.unforceChunk(loaderTicket, chunk); - } + ForgeChunkManager.releaseTicket(loaderTicket); + this.loaderTicket = null; } } diff --git a/src/main/java/com/hbm/entity/projectile/EntityBombletZeta.java b/src/main/java/com/hbm/entity/projectile/EntityBombletZeta.java index 1a21d96c2..eb870b398 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityBombletZeta.java +++ b/src/main/java/com/hbm/entity/projectile/EntityBombletZeta.java @@ -1,11 +1,18 @@ package com.hbm.entity.projectile; import com.hbm.config.BombConfig; +import com.hbm.entity.effect.EntityMist; import com.hbm.entity.logic.EntityNukeExplosionMK5; -import com.hbm.explosion.ExplosionChaos; -import com.hbm.explosion.ExplosionLarge; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard; +import com.hbm.explosion.vanillant.standard.BlockMutatorFire; +import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; +import com.hbm.explosion.vanillant.standard.EntityProcessorCrossSmooth; +import com.hbm.explosion.vanillant.standard.ExplosionEffectWeapon; +import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; @@ -18,64 +25,73 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public class EntityBombletZeta extends EntityThrowable { - + public int type = 0; public EntityBombletZeta(World p_i1582_1_) { super(p_i1582_1_); this.ignoreFrustumCheck = true; } - + @Override public void onUpdate() { - this.lastTickPosX = this.prevPosX = posX; this.lastTickPosY = this.prevPosY = posY; this.lastTickPosZ = this.prevPosZ = posZ; this.setPosition(posX + this.motionX, posY + this.motionY, posZ + this.motionZ); - + this.motionX *= 0.99; this.motionZ *= 0.99; this.motionY -= 0.05D; - - this.rotation(); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) - { - if(!this.worldObj.isRemote) - { - if(type == 0) { - ExplosionLarge.explode(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 5.0F, true, false, false, this); - worldObj.playSoundEffect((double)(posX + 0.5F), (double)(posY + 0.5F), (double)(posZ + 0.5F), "hbm:entity.bombDet", 25.0F, 0.8F + rand.nextFloat() * 0.4F); - } - if(type == 1) { - ExplosionLarge.explode(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 2.5F, false, false, false, this); - ExplosionChaos.burn(worldObj, (int)posX, (int)posY, (int)posZ, 9); - ExplosionChaos.flameDeath(worldObj, (int)posX, (int)posY, (int)posZ, 14); - worldObj.playSoundEffect((double)(posX + 0.5F), (double)(posY + 0.5F), (double)(posZ + 0.5F), "hbm:entity.bombDet", 25.0F, 1.0F); - - for(int i = 0; i < 5; i++) - ExplosionLarge.spawnBurst(worldObj, this.posX + 0.5F, this.posY + 1.0F, this.posZ + 0.5F, rand.nextInt(10) + 15, rand.nextFloat() * 2 + 2); - } - if(type == 2) { - worldObj.playSoundEffect((double)(posX + 0.5F), (double)(posY + 0.5F), (double)(posZ + 0.5F), "random.fizz", 5.0F, 2.6F + (rand.nextFloat() - rand.nextFloat()) * 0.8F); - ExplosionChaos.spawnChlorine(worldObj, this.posX + 0.5F - motionX, this.posY + 0.5F - motionY, this.posZ + 0.5F - motionZ, 75, 2, 0); - } - if(type == 4) { - worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, (int) (BombConfig.fatmanRadius * 1.5), posX, posY, posZ)); - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "muke"); - if(rand.nextInt(100) == 0) data.setBoolean("balefire", true); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY + 0.5, posZ), new TargetPoint(dimension, posX, posY, posZ, 250)); - worldObj.playSoundEffect(posX, posY, posZ, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); - } - } - this.setDead(); - } + + this.rotation(); + + if(this.worldObj.getBlock((int) this.posX, (int) this.posY, (int) this.posZ) != Blocks.air) { + if(!this.worldObj.isRemote) { + if(type == 0) { + ExplosionVNT vnt = new ExplosionVNT(worldObj, this.posX + 0.5F, this.posY + 1.5F, this.posZ + 0.5F, 4F); + vnt.setBlockAllocator(new BlockAllocatorStandard()); + vnt.setBlockProcessor(new BlockProcessorStandard()); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, 100)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.setSFX(new ExplosionEffectWeapon(15, 3.5F, 1.25F)); + vnt.explode(); + } + if(type == 1) { + + ExplosionVNT vnt = new ExplosionVNT(worldObj, this.posX + 0.5F, this.posY + 1.5F, this.posZ + 0.5F, 4F); + vnt.setBlockAllocator(new BlockAllocatorStandard()); + vnt.setBlockProcessor(new BlockProcessorStandard().withBlockEffect(new BlockMutatorFire())); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, 100)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.setSFX(new ExplosionEffectWeapon(15, 5F, 1.75F)); + vnt.explode(); + + } + if(type == 2) { + worldObj.playSoundEffect((double) (posX + 0.5F), (double) (posY + 0.5F), (double) (posZ + 0.5F), "random.fizz", 5.0F, 2.6F + (rand.nextFloat() - rand.nextFloat()) * 0.8F); + EntityMist mist = new EntityMist(worldObj); + mist.setType(Fluids.CHLORINE); + mist.setPosition(this.posX - motionX, this.posY - motionY, this.posZ - motionZ); + mist.setArea(15, 7.5F); + worldObj.spawnEntityInWorld(mist); + } + if(type == 4) { + worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, (int) (BombConfig.fatmanRadius * 1.5), posX, posY, posZ)); + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "muke"); + if(rand.nextInt(100) == 0) + data.setBoolean("balefire", true); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, posX, posY + 0.5, posZ), new TargetPoint(dimension, posX, posY, posZ, 250)); + worldObj.playSoundEffect(posX, posY, posZ, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); + } + this.setDead(); + } + } } - + public void rotation() { float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); @@ -104,7 +120,7 @@ public class EntityBombletZeta extends EntityThrowable { @Override protected void onImpact(MovingObjectPosition p_70184_1_) { } - + @Override @SideOnly(Side.CLIENT) public boolean isInRangeToRenderDist(double distance) diff --git a/src/main/java/com/hbm/entity/projectile/EntityBoxcar.java b/src/main/java/com/hbm/entity/projectile/EntityBoxcar.java index 8871bd430..dd4632feb 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityBoxcar.java +++ b/src/main/java/com/hbm/entity/projectile/EntityBoxcar.java @@ -4,13 +4,17 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.explosion.ExplosionLarge; +import com.hbm.handler.threading.PacketThreading; import com.hbm.lib.ModDamageSource; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; import net.minecraft.entity.projectile.EntityThrowable; import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; @@ -22,16 +26,27 @@ public class EntityBoxcar extends EntityThrowable { this.ignoreFrustumCheck = true; this.isImmuneToFire = true; } - + @Override public void onUpdate() { + if(!worldObj.isRemote && this.ticksExisted == 1) { + for(int i = 0; i < 50; i++) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "bf"); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, + posX + (rand.nextDouble() - 0.5) * 3, + posY + (rand.nextDouble() - 0.5) * 15, + posZ + (rand.nextDouble() - 0.5) * 3), + new TargetPoint(dimension, posX, posY, posZ, 150)); + } + } this.lastTickPosX = this.prevPosX = posX; this.lastTickPosY = this.prevPosY = posY; this.lastTickPosZ = this.prevPosZ = posZ; this.setPosition(posX + this.motionX, posY + this.motionY, posZ + this.motionZ); - + this.motionY -= 0.03; if(motionY < -1.5) motionY = -1.5; @@ -52,13 +67,13 @@ public class EntityBoxcar extends EntityThrowable { } if(!worldObj.isRemote) - worldObj.setBlock((int) (this.posX - 0.5), (int) (this.posY + 0.5), (int) (this.posZ - 0.5), ModBlocks.boxcar); + worldObj.setBlock((int) Math.floor(this.posX), (int) Math.floor(this.posY + 0.5), (int) Math.floor(this.posZ), ModBlocks.boxcar); } } @Override protected void onImpact(MovingObjectPosition p_70184_1_) { } - + @Override @SideOnly(Side.CLIENT) public boolean isInRangeToRenderDist(double distance) { diff --git a/src/main/java/com/hbm/entity/projectile/EntityBuilding.java b/src/main/java/com/hbm/entity/projectile/EntityBuilding.java index 8a8bd653c..3382ac4f0 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityBuilding.java +++ b/src/main/java/com/hbm/entity/projectile/EntityBuilding.java @@ -3,13 +3,17 @@ package com.hbm.entity.projectile; import java.util.List; import com.hbm.explosion.ExplosionLarge; +import com.hbm.handler.threading.PacketThreading; import com.hbm.lib.ModDamageSource; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; import net.minecraft.entity.projectile.EntityThrowable; import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; @@ -22,63 +26,65 @@ public class EntityBuilding extends EntityThrowable { this.ignoreFrustumCheck = true; this.isImmuneToFire = true; } - + @Override public void onUpdate() { + if(!worldObj.isRemote && this.ticksExisted == 1) { + for(int i = 0; i < 100; i++) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "bf"); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, + posX + (rand.nextDouble() - 0.5) * 15, + posY + (rand.nextDouble() - 0.5) * 15, + posZ + (rand.nextDouble() - 0.5) * 15), + new TargetPoint(dimension, posX, posY, posZ, 150)); + } + } this.lastTickPosX = this.prevPosX = posX; this.lastTickPosY = this.prevPosY = posY; this.lastTickPosZ = this.prevPosZ = posZ; this.setPosition(posX + this.motionX, posY + this.motionY, posZ + this.motionZ); - + this.motionY -= 0.03; - if(motionY < -1.5) - motionY = -1.5; - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) - { - this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:entity.oldExplosion", 10000.0F, 0.5F + this.rand.nextFloat() * 0.1F); - this.setDead(); - ExplosionLarge.spawnParticles(worldObj, posX, posY + 3, posZ, 150); - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 6); - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 5); - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 4); - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 3); - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 3); - - List list = (List)worldObj.getEntitiesWithinAABBExcludingEntity(null, - AxisAlignedBB.getBoundingBox(posX - 8, posY - 8, posZ - 8, posX + 8, posY + 8, posZ + 8)); - - for(Entity e : list) { - e.attackEntityFrom(ModDamageSource.building, 1000); - } - - for(int i = 0; i < 250; i++) { - - Vec3 vec = Vec3.createVectorHelper(1, 0, 0); - vec.rotateAroundZ((float) (-rand.nextFloat() * Math.PI / 2)); - vec.rotateAroundY((float) (rand.nextFloat() * Math.PI * 2)); - - EntityRubble rubble = new EntityRubble(worldObj, posX, posY + 3, posZ); - rubble.setMetaBasedOnBlock(Blocks.brick_block, 0); - rubble.motionX = vec.xCoord; - rubble.motionY = vec.yCoord; - rubble.motionZ = vec.zCoord; - worldObj.spawnEntityInWorld(rubble); - } - } - } + if(motionY < -1.5) motionY = -1.5; + + if(this.worldObj.getBlock((int) this.posX, (int) this.posY, (int) this.posZ) != Blocks.air) { + this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:entity.oldExplosion", 10000.0F, 0.5F + this.rand.nextFloat() * 0.1F); + this.setDead(); + ExplosionLarge.spawnParticles(worldObj, posX, posY + 3, posZ, 150); + ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 6); + ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 5); + ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 4); + ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 3); + ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 3); + + List list = (List) worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(posX - 8, posY - 8, posZ - 8, posX + 8, posY + 8, posZ + 8)); + + for(Entity e : list) e.attackEntityFrom(ModDamageSource.building, 1000); + + for(int i = 0; i < 250; i++) { + + Vec3 vec = Vec3.createVectorHelper(1, 0, 0); + vec.rotateAroundZ((float) (-rand.nextFloat() * Math.PI / 2)); + vec.rotateAroundY((float) (rand.nextFloat() * Math.PI * 2)); + + EntityRubble rubble = new EntityRubble(worldObj, posX, posY + 3, posZ); + rubble.setMetaBasedOnBlock(Blocks.brick_block, 0); + rubble.motionX = vec.xCoord; + rubble.motionY = vec.yCoord; + rubble.motionZ = vec.zCoord; + worldObj.spawnEntityInWorld(rubble); + } + } + } + + @Override protected void onImpact(MovingObjectPosition p_70184_1_) { } @Override - protected void onImpact(MovingObjectPosition p_70184_1_) { - - } - - @Override @SideOnly(Side.CLIENT) - public boolean isInRangeToRenderDist(double distance) - { - return distance < 25000; - } + public boolean isInRangeToRenderDist(double distance) { + return distance < 25000; + } } diff --git a/src/main/java/com/hbm/entity/projectile/EntityBullet.java b/src/main/java/com/hbm/entity/projectile/EntityBullet.java index 51b68c5e9..b26a94e60 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityBullet.java +++ b/src/main/java/com/hbm/entity/projectile/EntityBullet.java @@ -32,7 +32,6 @@ import net.minecraft.world.World; import com.hbm.blocks.bomb.BlockDetonatable; import com.hbm.entity.grenade.EntityGrenadeTau; import com.hbm.entity.mob.EntityCreeperNuclear; -import com.hbm.entity.particle.EntityBSmokeFX; import com.hbm.items.ModItems; import com.hbm.lib.ModDamageSource; import com.hbm.util.ArmorUtil; @@ -542,26 +541,6 @@ public class EntityBullet extends Entity implements IProjectile { ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler .sendPacket(new S2BPacketChangeGameState(6, 0.0F)); } - - if(this.pip) { - if(!worldObj.isRemote) { - EntityBoxcar pippo = new EntityBoxcar(worldObj); - pippo.posX = movingobjectposition.entityHit.posX; - pippo.posY = movingobjectposition.entityHit.posY + 50; - pippo.posZ = movingobjectposition.entityHit.posZ; - - for(int j = 0; j < 50; j++) { - EntityBSmokeFX fx = new EntityBSmokeFX(worldObj, pippo.posX + (rand.nextDouble() - 0.5) * 4, pippo.posY + (rand.nextDouble() - 0.5) * 12, pippo.posZ + (rand.nextDouble() - 0.5) * 4, 0, 0, 0); - worldObj.spawnEntityInWorld(fx); - } - - worldObj.spawnEntityInWorld(pippo); - } - - worldObj.playSoundEffect(movingobjectposition.entityHit.posX, - movingobjectposition.entityHit.posY + 50, - movingobjectposition.entityHit.posZ, "hbm:alarm.trainHorn", 100F, 1F); - } } if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { diff --git a/src/main/java/com/hbm/entity/projectile/EntityBulletBaseMK4.java b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseMK4.java new file mode 100644 index 000000000..8e23b06f5 --- /dev/null +++ b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseMK4.java @@ -0,0 +1,217 @@ +package com.hbm.entity.projectile; + +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.factory.XFactoryTool; +import com.hbm.util.BobMathUtil; +import com.hbm.util.TrackerUtil; +import com.hbm.util.Vec3NT; + +import cpw.mods.fml.common.registry.IEntityAdditionalSpawnData; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.EntityTrackerEntry; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraft.world.WorldServer; + +public class EntityBulletBaseMK4 extends EntityThrowableInterp implements IEntityAdditionalSpawnData { + + public BulletConfig config; + //used for rendering tracers + public double velocity; + public double prevVelocity; + public double accel; + public float damage; + public int ricochets = 0; + public Entity lockonTarget = null; + + public EntityBulletBaseMK4(World world) { + super(world); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.isImmuneToFire = true; + } + + /** For submunitions! */ + public EntityBulletBaseMK4(World world, EntityLivingBase entity, BulletConfig config, float damage, float gunSpread, double posX, double posY, double posZ, double motionX, double motionY, double motionZ) { + this(world); + + this.thrower = entity; + this.setBulletConfig(config); + + this.damage = damage; + + this.setLocationAndAngles(posX, posY, posZ, 0, 0); + this.setPosition(this.posX, this.posY, this.posZ); + + this.motionX = motionX; + this.motionY = motionY; + this.motionZ = motionZ; + + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, 1.0F, this.config.spread + gunSpread); + } + + /** For standard guns */ + public EntityBulletBaseMK4(EntityLivingBase entity, BulletConfig config, float baseDamage, float gunSpread, double sideOffset, double heightOffset, double frontOffset) { + this(entity.worldObj); + + this.thrower = entity; + this.setBulletConfig(config); + + this.damage = baseDamage * this.config.damageMult; + + this.setLocationAndAngles(thrower.posX, thrower.posY + thrower.getEyeHeight(), thrower.posZ, thrower.rotationYaw, thrower.rotationPitch); + + Vec3 offset = Vec3.createVectorHelper(sideOffset, heightOffset, frontOffset); + offset.rotateAroundX(-this.rotationPitch / 180F * (float) Math.PI); + offset.rotateAroundY(-this.rotationYaw / 180F * (float) Math.PI); + + this.posX += offset.xCoord; + this.posY += offset.yCoord; + this.posZ += offset.zCoord; + + this.setPosition(this.posX, this.posY, this.posZ); + + this.motionX = -MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI); + this.motionZ = MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI); + this.motionY = (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); + + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, 1.0F, gunSpread); + } + + /** For turrets - angles are in radians, and pitch is negative! */ + public EntityBulletBaseMK4(World world, BulletConfig config, float baseDamage, float gunSpread, float yaw, float pitch) { + this(world); + + this.setBulletConfig(config); + this.damage = baseDamage * this.config.damageMult; + + this.prevRotationYaw = this.rotationYaw = yaw * 180F / (float) Math.PI; + this.prevRotationPitch = this.rotationPitch = -pitch * 180F / (float) Math.PI; + + this.motionX = -MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI); + this.motionZ = MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI); + this.motionY = (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, 1.0F, gunSpread); + } + + @Override + protected void entityInit() { + super.entityInit(); + this.dataWatcher.addObject(3, Integer.valueOf(0)); + } + + public void setBulletConfig(BulletConfig config) { + this.config = config; + this.dataWatcher.updateObject(3, config.id); + } + + public BulletConfig getBulletConfig() { + int id = this.dataWatcher.getWatchableObjectInt(3); + if(id < 0 || id > BulletConfig.configs.size()) return null; + return BulletConfig.configs.get(id); + } + + @Override + public void onUpdate() { + + if(config == null) config = this.getBulletConfig(); + + if(config == null){ + this.setDead(); + return; + } + + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + + super.onUpdate(); + + double dX = this.posX - this.prevPosX; + double dY = this.posY - this.prevPosY; + double dZ = this.posZ - this.prevPosZ; + + if(!this.inGround && this.lockonTarget != null && !this.lockonTarget.isDead) { + Vec3NT motion = new Vec3NT(motionX, motionY, motionZ); + double vel = motion.lengthVector(); + Vec3NT delta = new Vec3NT(lockonTarget.posX - posX, lockonTarget.posY + lockonTarget.height / 2D - posY, lockonTarget.posZ - posZ); + float turn = Math.min(0.005F * this.ticksExisted, 1F); + Vec3NT newVec = new Vec3NT( + BobMathUtil.interp(motion.xCoord, delta.xCoord, turn), + BobMathUtil.interp(motion.yCoord, delta.yCoord, turn), + BobMathUtil.interp(motion.zCoord, delta.zCoord, turn)).normalizeSelf().multiply(vel); + this.motionX = newVec.xCoord; + this.motionY = newVec.yCoord; + this.motionZ = newVec.zCoord; + EntityTrackerEntry entry = TrackerUtil.getTrackerEntry((WorldServer) worldObj, this.getEntityId()); + entry.lastYaw = MathHelper.floor_float(this.rotationYaw * 256.0F / 360.0F) + 10; //force-trigger rotation update + } + + this.prevVelocity = this.velocity; + this.velocity = Math.sqrt(dX * dX + dY * dY + dZ * dZ); + + // shitty hack + if((this.config != XFactoryTool.ct_hook || !worldObj.isRemote) && !this.inGround && !this.onGround && velocity > 0) { + + float hyp = MathHelper.sqrt_double(dX * dX + dZ * dZ); + this.rotationYaw = (float) (Math.atan2(dX, dZ) * 180.0D / Math.PI); + + for(this.rotationPitch = (float) (Math.atan2(dY, (double) hyp) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F); + + while(this.rotationPitch - this.prevRotationPitch >= 180.0F) this.prevRotationPitch += 360.0F; + while(this.rotationYaw - this.prevRotationYaw < -180.0F) this.prevRotationYaw -= 360.0F; + while(this.rotationYaw - this.prevRotationYaw >= 180.0F) this.prevRotationYaw += 360.0F; + } + + if(!worldObj.isRemote && this.ticksExisted > config.expires) this.setDead(); + + if(this.config.onUpdate != null) this.config.onUpdate.accept(this); + } + + @Override + public void setDead() { + super.setDead(); + + //send a teleport on collision so that the bullets are forced to move even if their lifetime is only 1 tick, letting them render + if(worldObj instanceof WorldServer) TrackerUtil.sendTeleport((WorldServer) worldObj, this); + } + + + @Override + protected void onImpact(MovingObjectPosition mop) { + if(!worldObj.isRemote) { + + if(this.config.onImpact != null) this.config.onImpact.accept(this, mop); + if(this.isDead || this.inGround) return; + if(this.config.onRicochet != null) this.config.onRicochet.accept(this, mop); + if(this.config.onEntityHit != null) this.config.onEntityHit.accept(this, mop); + } + } + + @Override protected double headingForceMult() { return 1D; } + @Override public double getGravityVelocity() { return this.config.gravity; } + @Override protected double motionMult() { return this.config.velocity + this.accel; } + @Override protected float getAirDrag() { return 1F; } + @Override protected float getWaterDrag() { return 1F; } + + @Override public boolean doesImpactEntities() { return this.config.impactsEntities; } + @Override public boolean doesPenetrate() { return this.config.doesPenetrate; } + @Override public boolean isSpectral() { return this.config.isSpectral; } + @Override public int selfDamageDelay() { return this.config.selfDamageDelay; } + + @Override @SideOnly(Side.CLIENT) public boolean canRenderOnFire() { return false; } + + @Override public void writeSpawnData(ByteBuf buf) { + buf.writeInt(this.thrower != null ? thrower.getEntityId() : -1); + } + @Override public void readSpawnData(ByteBuf buf) { + Entity e = worldObj.getEntityByID(buf.readInt()); + if(e instanceof EntityLivingBase) this.thrower = (EntityLivingBase) e; + } +} diff --git a/src/main/java/com/hbm/entity/projectile/EntityBulletBaseMK4CL.java b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseMK4CL.java new file mode 100644 index 000000000..84f4c35c5 --- /dev/null +++ b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseMK4CL.java @@ -0,0 +1,84 @@ +package com.hbm.entity.projectile; + +import java.util.ArrayList; +import java.util.List; + +import com.google.common.collect.ImmutableSet; +import com.hbm.entity.logic.IChunkLoader; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.main.MainRegistry; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.world.ChunkCoordIntPair; +import net.minecraft.world.World; +import net.minecraftforge.common.ForgeChunkManager; +import net.minecraftforge.common.ForgeChunkManager.Ticket; +import net.minecraftforge.common.ForgeChunkManager.Type; + +public class EntityBulletBaseMK4CL extends EntityBulletBaseMK4 implements IChunkLoader { + + private Ticket loaderTicket; + private List loadedChunks = new ArrayList(); + + public EntityBulletBaseMK4CL(World world) { + super(world); + } + + public EntityBulletBaseMK4CL(EntityLivingBase entity, BulletConfig config, float damage, float spread, double sideOffset, double heightOffset, double forwardOffset) { + super(entity, config, damage, spread, sideOffset, heightOffset, forwardOffset); + } + + @Override + protected void entityInit() { + super.entityInit(); + init(ForgeChunkManager.requestTicket(MainRegistry.instance, worldObj, Type.ENTITY)); + } + + @Override + public void init(Ticket ticket) { + if(!worldObj.isRemote && ticket != null) { + if(loaderTicket == null) { + loaderTicket = ticket; + loaderTicket.bindEntity(this); + loaderTicket.getModData(); + } + ForgeChunkManager.forceChunk(loaderTicket, new ChunkCoordIntPair(chunkCoordX, chunkCoordZ)); + } + } + + @Override + public void onUpdate() { + super.onUpdate(); + + if(!worldObj.isRemote) loadNeighboringChunks((int)Math.floor(posX / 16D), (int)Math.floor(posZ / 16D)); + } + + @Override + public void setDead() { + super.setDead(); + clearChunkLoader(); + } + + public void clearChunkLoader() { + if(!worldObj.isRemote && loaderTicket != null) { + ForgeChunkManager.releaseTicket(loaderTicket); + this.loaderTicket = null; + } + } + + public void loadNeighboringChunks(int newChunkX, int newChunkZ) { + if(!worldObj.isRemote && loaderTicket != null) { + + for(ChunkCoordIntPair chunk : ImmutableSet.copyOf(loaderTicket.getChunkList())) { + ForgeChunkManager.unforceChunk(loaderTicket, chunk); + } + + loadedChunks.clear(); + loadedChunks.add(new ChunkCoordIntPair(newChunkX, newChunkZ)); + + for(ChunkCoordIntPair chunk : loadedChunks) { + ForgeChunkManager.forceChunk(loaderTicket, chunk); + } + } + } +} diff --git a/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java index 2e44faf9f..02970ee35 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java +++ b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java @@ -9,7 +9,6 @@ import com.hbm.entity.effect.EntityCloudFleijaRainbow; import com.hbm.entity.effect.EntityEMPBlast; import com.hbm.entity.logic.EntityNukeExplosionMK3; import com.hbm.entity.logic.EntityNukeExplosionMK5; -import com.hbm.explosion.ExplosionChaos; import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionNukeGeneric; import com.hbm.explosion.vanillant.ExplosionVNT; @@ -22,11 +21,9 @@ import com.hbm.explosion.vanillant.standard.ExplosionEffectStandard; import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.GunConfiguration; -import com.hbm.items.weapon.ItemGunBase; +import com.hbm.handler.threading.PacketThreading; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.potion.HbmPotion; import com.hbm.util.ArmorUtil; import com.hbm.util.BobMathUtil; @@ -39,7 +36,6 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.PotionEffect; import net.minecraft.util.DamageSource; @@ -57,8 +53,9 @@ import net.minecraft.world.World; * - also comes with tons of legacy code to ensure compat (sadly) * @author hbm */ +@Deprecated public class EntityBulletBaseNT extends EntityThrowableInterp implements IBulletBase { - + @Override public double prevX() { return prevRenderX; } @Override public double prevY() { return prevRenderY; } @Override public double prevZ() { return prevRenderZ; } @@ -66,7 +63,7 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet @Override public void prevY(double d) { prevRenderY = d; } @Override public void prevZ(double d) { prevRenderZ = d; } @Override public List> nodes() { return this.trailNodes; } - + private BulletConfiguration config; public float overrideDamage; @@ -74,7 +71,7 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet public double prevRenderY; public double prevRenderZ; public final List> trailNodes = new ArrayList>(); - + public BulletConfiguration getConfig() { return config; } @@ -92,15 +89,15 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet this.dataWatcher.updateObject(16, (byte)this.config.style); this.dataWatcher.updateObject(17, (byte)this.config.trail); this.renderDistanceWeight = 10.0D; - + if(this.config == null) { this.setDead(); return; } - + this.setSize(0.5F, 0.5F); } - + public EntityBulletBaseNT(World world, int config, EntityLivingBase entity) { super(world); this.config = BulletConfigSyncingUtil.pullConfig(config); @@ -108,31 +105,15 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet this.dataWatcher.updateObject(16, (byte)this.config.style); this.dataWatcher.updateObject(17, (byte)this.config.trail); thrower = entity; - - ItemStack gun = entity.getHeldItem(); + boolean offsetShot = true; boolean accuracyBoost = false; - - if(gun != null && gun.getItem() instanceof ItemGunBase) { - GunConfiguration cfg = ((ItemGunBase) gun.getItem()).mainConfig; - - if(cfg != null) { - if(cfg.hasSights && entity.isSneaking()) { - offsetShot = false; - accuracyBoost = true; - } - - if(cfg.isCentered){ - offsetShot = false; - } - } - } this.setLocationAndAngles(entity.posX, entity.posY + entity.getEyeHeight(), entity.posZ, entity.rotationYaw, entity.rotationPitch); - + if(offsetShot) { double sideOffset = 0.16D; - + this.posX -= MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * sideOffset; this.posY -= 0.1D; this.posZ -= MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * sideOffset; @@ -140,7 +121,7 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet this.posY -= 0.1D; } this.setPosition(this.posX, this.posY, this.posZ); - + this.motionX = -MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI); this.motionZ = MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI); this.motionY = (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); @@ -153,7 +134,7 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet public EntityBulletBaseNT(World world, int config, EntityLivingBase entity, EntityLivingBase target, float motion, float deviation) { super(world); - + this.config = BulletConfigSyncingUtil.pullConfig(config); this.dataWatcher.updateObject(18, config); this.dataWatcher.updateObject(16, (byte)this.config.style); @@ -190,17 +171,17 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet //bullet config sync this.dataWatcher.addObject(18, Integer.valueOf((int) 0)); } - + @Override public void onUpdate() { - + if(config == null) config = BulletConfigSyncingUtil.pullConfig(dataWatcher.getWatchableObjectInt(18)); if(config == null){ this.setDead(); return; } - + if(worldObj.isRemote && config.style == BulletConfiguration.STYLE_TAU) { if(trailNodes.isEmpty()) { this.ignoreFrustumCheck = true; @@ -209,9 +190,9 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet trailNodes.add(new Pair(Vec3.createVectorHelper(0, 0, 0), 1D)); } } - + if(worldObj.isRemote && this.config.blackPowder && this.ticksExisted == 1) { - + for(int i = 0; i < 15; i++) { double mod = rand.nextDouble(); this.worldObj.spawnParticle("smoke", this.posX, this.posY, this.posZ, @@ -219,38 +200,38 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet (this.motionY + rand.nextGaussian() * 0.05) * mod, (this.motionZ + rand.nextGaussian() * 0.05) * mod); } - + double mod = 0.5; this.worldObj.spawnParticle("flame", this.posX + this.motionX * mod, this.posY + this.motionY * mod, this.posZ + this.motionZ * mod, 0, 0, 0); } - + if(!worldObj.isRemote) { - + if(config.maxAge == 0) { if(this.config.bntUpdate != null) this.config.bntUpdate.behaveUpdate(this); this.setDead(); return; } - + if(this.ticksExisted > config.maxAge) this.setDead(); } - + if(this.config.bntUpdate != null) this.config.bntUpdate.behaveUpdate(this); this.prevPosX = posX; this.prevPosY = posY; this.prevPosZ = posZ; - + super.onUpdate(); - + if(worldObj.isRemote && !config.vPFX.isEmpty()) { - + Vec3 vec = Vec3.createVectorHelper(posX - prevPosX, posY - prevPosY, posZ - prevPosZ); double motion = Math.max(vec.lengthVector(), 0.1); vec = vec.normalize(); - + for(double d = 0; d < motion; d += 0.5) { - + NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "vanillaExt"); nbt.setString("mode", config.vPFX); @@ -264,9 +245,9 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet @Override protected void onImpact(MovingObjectPosition mop) { - + if(mop.typeOfHit == MovingObjectType.BLOCK) { - + boolean hRic = rand.nextInt(100) < config.HBRC; boolean doesRic = config.doesRicochet && hRic; @@ -313,7 +294,7 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet this.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); onRicochet(mop.blockX, mop.blockY, mop.blockZ); - + //worldObj.setBlock((int) Math.floor(posX), (int) Math.floor(posY), (int) Math.floor(posZ), Blocks.dirt); } else { @@ -326,44 +307,44 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet /*this.posX += (mop.hitVec.xCoord - this.posX) * 0.6; this.posY += (mop.hitVec.yCoord - this.posY) * 0.6; this.posZ += (mop.hitVec.zCoord - this.posZ) * 0.6;*/ - + this.motionX *= config.bounceMod; this.motionY *= config.bounceMod; this.motionZ *= config.bounceMod; } } - + } - + if(mop.entityHit != null) { DamageSource damagesource = this.config.getDamage(this, this.thrower); Entity victim = mop.entityHit; - + if(!config.doesPenetrate) { this.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); onEntityImpact(victim); } else { onEntityHurt(victim); } - + float damage = rand.nextFloat() * (config.dmgMax - config.dmgMin) + config.dmgMin; - + if(overrideDamage != 0) damage = overrideDamage; - + boolean headshot = false; - + if(victim instanceof EntityLivingBase && this.config.headshotMult > 1F) { EntityLivingBase living = (EntityLivingBase) victim; double head = living.height - living.getEyeHeight(); - + if(!!living.isEntityAlive() && mop.hitVec != null && mop.hitVec.yCoord > (living.posY + living.height - head * 2)) { damage *= this.config.headshotMult; headshot = true; } } - + if(victim != null && !victim.attackEntityFrom(damagesource, damage)) { try { @@ -371,7 +352,7 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet float dmg = (float) damage + lastDamage.getFloat(victim); if(!victim.attackEntityFrom(damagesource, dmg)) headshot = false; } catch (Exception x) { } - + } if(!worldObj.isRemote && headshot) { @@ -384,25 +365,25 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet data.setDouble("motion", 0.1D); data.setString("mode", "blockdust"); data.setInteger("block", Block.getIdFromBlock(Blocks.redstone_block)); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, living.posX, living.posY + living.height - head, living.posZ), new TargetPoint(living.dimension, living.posX, living.posY, living.posZ, 50)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, living.posX, living.posY + living.height - head, living.posZ), new TargetPoint(living.dimension, living.posX, living.posY, living.posZ, 50)); worldObj.playSoundEffect(victim.posX, victim.posY, victim.posZ, "mob.zombie.woodbreak", 1.0F, 0.95F + rand.nextFloat() * 0.2F); } } } } - + //for when a bullet dies by hitting a block private void onBlockImpact(int bX, int bY, int bZ, int sideHit) { Block block = worldObj.getBlock(bX, bY, bZ); - + if(config.bntImpact != null) config.bntImpact.behaveBlockHit(this, bX, bY, bZ, sideHit); - + if(!worldObj.isRemote) { if(!config.liveAfterImpact && !config.isSpectral && bY > -1 && !this.inGround) this.setDead(); if(!config.doesPenetrate && bY == -1) this.setDead(); } - + if(config.incendiary > 0 && !this.worldObj.isRemote) { if(worldObj.rand.nextInt(3) == 0 && worldObj.getBlock((int)posX, (int)posY, (int)posZ) == Blocks.air) worldObj.setBlock((int)posX, (int)posY, (int)posZ, Blocks.fire); if(worldObj.rand.nextInt(3) == 0 && worldObj.getBlock((int)posX + 1, (int)posY, (int)posZ) == Blocks.air) worldObj.setBlock((int)posX + 1, (int)posY, (int)posZ, Blocks.fire); @@ -415,22 +396,22 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet if(config.emp > 0) ExplosionNukeGeneric.empBlast(this.worldObj, (int)(this.posX + 0.5D), (int)(this.posY + 0.5D), (int)(this.posZ + 0.5D), config.emp); - + if(config.emp > 3) { if (!this.worldObj.isRemote) { - + EntityEMPBlast cloud = new EntityEMPBlast(this.worldObj, config.emp); cloud.posX = this.posX; cloud.posY = this.posY + 0.5F; cloud.posZ = this.posZ; - + this.worldObj.spawnEntityInWorld(cloud); } } - + if(config.jolt > 0 && !worldObj.isRemote) ExplosionLarge.jolt(worldObj, posX, posY, posZ, config.jolt, 150, 0.25); - + if(config.explosive > 0 && !worldObj.isRemote) { //worldObj.newExplosion(this.thrower, posX, posY, posZ, config.explosive, config.incendiary > 0, config.blockDamage); ExplosionVNT vnt = new ExplosionVNT(worldObj, posX, posY, posZ, config.explosive, this.thrower); @@ -442,21 +423,16 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet vnt.setSFX(new ExplosionEffectStandard()); vnt.explode(); } - + if(config.shrapnel > 0 && !worldObj.isRemote) ExplosionLarge.spawnShrapnels(worldObj, posX, posY, posZ, config.shrapnel); - - if(config.chlorine > 0 && !worldObj.isRemote) { - ExplosionChaos.spawnChlorine(worldObj, posX, posY, posZ, config.chlorine, 1.5, 0); - worldObj.playSoundEffect((double)(posX + 0.5F), (double)(posY + 0.5F), (double)(posZ + 0.5F), "random.fizz", 5.0F, 2.6F + (rand.nextFloat() - rand.nextFloat()) * 0.8F); - } - + if(config.rainbow > 0 && !worldObj.isRemote) { EntityNukeExplosionMK3 ex = EntityNukeExplosionMK3.statFacFleija(worldObj, posX, posY, posZ, config.rainbow); if(!ex.isDead) { this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "random.explode", 100.0f, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); worldObj.spawnEntityInWorld(ex); - + EntityCloudFleijaRainbow cloud = new EntityCloudFleijaRainbow(this.worldObj, config.rainbow); cloud.posX = this.posX; cloud.posY = this.posY; @@ -464,74 +440,74 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet this.worldObj.spawnEntityInWorld(cloud); } } - + if(config.nuke > 0 && !worldObj.isRemote) { worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, config.nuke, posX, posY, posZ)); NBTTagCompound data = new NBTTagCompound(); data.setString("type", "muke"); if(MainRegistry.polaroidID == 11 || rand.nextInt(100) == 0) data.setBoolean("balefire", true); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY + 0.5, posZ), new TargetPoint(dimension, posX, posY, posZ, 250)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, posX, posY + 0.5, posZ), new TargetPoint(dimension, posX, posY, posZ, 250)); worldObj.playSoundEffect(posX, posY, posZ, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); } - + if(config.destroysBlocks && !worldObj.isRemote) { if(block.getBlockHardness(worldObj, bX, bY, bZ) <= 120) worldObj.func_147480_a(bX, bY, bZ, false); } else if(config.doesBreakGlass && !worldObj.isRemote) { if(block == Blocks.glass || block == Blocks.glass_pane || block == Blocks.stained_glass || block == Blocks.stained_glass_pane) worldObj.func_147480_a(bX, bY, bZ, false); - + if(block instanceof BlockDetonatable) { ((BlockDetonatable) block).onShot(worldObj, bX, bY, bZ); } } } - + //for when a bullet dies by hitting a block private void onRicochet(int bX, int bY, int bZ) { - + if(config.bntRicochet != null) config.bntRicochet.behaveBlockRicochet(this, bX, bY, bZ); } - + //for when a bullet dies by hitting an entity private void onEntityImpact(Entity e) { onEntityHurt(e); onBlockImpact(-1, -1, -1, -1); - + if(config.bntHit != null) config.bntHit.behaveEntityHit(this, e); - + //this.setDead(); } - + //for when a bullet hurts an entity, not necessarily dying private void onEntityHurt(Entity e) { - + if(config.bntHurt != null) config.bntHurt.behaveEntityHurt(this, e); - + if(config.incendiary > 0 && !worldObj.isRemote) { e.setFire(config.incendiary); } - + if(config.leadChance > 0 && !worldObj.isRemote && worldObj.rand.nextInt(100) < config.leadChance && e instanceof EntityLivingBase) { ((EntityLivingBase)e).addPotionEffect(new PotionEffect(HbmPotion.lead.id, 10 * 20, 0)); } - + if(e instanceof EntityLivingBase && config.effects != null && !config.effects.isEmpty() && !worldObj.isRemote) { - + for(PotionEffect effect : config.effects) { ((EntityLivingBase)e).addPotionEffect(new PotionEffect(effect)); } } - + if(config.instakill && e instanceof EntityLivingBase && !worldObj.isRemote) { - + if(!(e instanceof EntityPlayer && ((EntityPlayer)e).capabilities.isCreativeMode)) ((EntityLivingBase)e).setHealth(0.0F); } - + if(config.caustic > 0 && e instanceof EntityPlayer){ ArmorUtil.damageSuit((EntityPlayer)e, 0, config.caustic); ArmorUtil.damageSuit((EntityPlayer)e, 1, config.caustic); @@ -581,29 +557,16 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet } @Override - public void readEntityFromNBT(NBTTagCompound nbt) { - super.readEntityFromNBT(nbt); - int cfg = nbt.getInteger("config"); - this.config = BulletConfigSyncingUtil.pullConfig(cfg); - this.dataWatcher.updateObject(16, (byte)this.config.style); - this.dataWatcher.updateObject(17, (byte)this.config.trail); - - if(this.config == null) { - this.setDead(); - return; - } - - this.overrideDamage = nbt.getFloat("damage"); - this.dataWatcher.updateObject(18, cfg); + public boolean writeToNBTOptional(NBTTagCompound nbt) { + return false; } @Override - public void writeEntityToNBT(NBTTagCompound nbt) { - super.writeEntityToNBT(nbt); - nbt.setInteger("config", dataWatcher.getWatchableObjectInt(18)); - nbt.setFloat("damage", this.overrideDamage); + public void readEntityFromNBT(NBTTagCompound nbt) { + super.readEntityFromNBT(nbt); + this.setDead(); } - + public static interface IBulletHurtBehaviorNT { public void behaveEntityHurt(EntityBulletBaseNT bullet, Entity hit); } public static interface IBulletHitBehaviorNT { public void behaveEntityHit(EntityBulletBaseNT bullet, Entity hit); } public static interface IBulletRicochetBehaviorNT { public void behaveBlockRicochet(EntityBulletBaseNT bullet, int x, int y, int z); } diff --git a/src/main/java/com/hbm/entity/projectile/EntityBulletBeamBase.java b/src/main/java/com/hbm/entity/projectile/EntityBulletBeamBase.java new file mode 100644 index 000000000..036971822 --- /dev/null +++ b/src/main/java/com/hbm/entity/projectile/EntityBulletBeamBase.java @@ -0,0 +1,229 @@ +package com.hbm.entity.projectile; + +import java.util.List; + +import com.hbm.items.weapon.sedna.BulletConfig; + +import cpw.mods.fml.common.registry.IEntityAdditionalSpawnData; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class EntityBulletBeamBase extends Entity implements IEntityAdditionalSpawnData { + + public EntityLivingBase thrower; + public BulletConfig config; + public float damage; + public double headingX; + public double headingY; + public double headingZ; + public double beamLength; + + public EntityBulletBeamBase(World world) { + super(world); + this.ignoreFrustumCheck = true; + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.isImmuneToFire = true; + } + + public EntityLivingBase getThrower() { return this.thrower; } + + public EntityBulletBeamBase(EntityLivingBase entity, BulletConfig config, float baseDamage) { + this(entity.worldObj); + + this.thrower = entity; + this.setBulletConfig(config); + + this.damage = baseDamage * this.config.damageMult; + } + + public EntityBulletBeamBase(EntityLivingBase entity, BulletConfig config, float baseDamage, float angularInaccuracy, double sideOffset, double heightOffset, double frontOffset) { + this(entity.worldObj); + + this.thrower = entity; + this.setBulletConfig(config); + + this.damage = baseDamage * this.config.damageMult; + + this.setLocationAndAngles(thrower.posX, thrower.posY + thrower.getEyeHeight(), thrower.posZ, thrower.rotationYaw + (float) rand.nextGaussian() * angularInaccuracy, thrower.rotationPitch + (float) rand.nextGaussian() * angularInaccuracy); + + Vec3 offset = Vec3.createVectorHelper(sideOffset, heightOffset, frontOffset); + offset.rotateAroundX(-this.rotationPitch / 180F * (float) Math.PI); + offset.rotateAroundY(-this.rotationYaw / 180F * (float) Math.PI); + + this.posX += offset.xCoord; + this.posY += offset.yCoord; + this.posZ += offset.zCoord; + + this.setPosition(this.posX, this.posY, this.posZ); + + this.headingX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.headingZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.headingY = (double) (-MathHelper.sin((this.rotationPitch) / 180.0F * (float) Math.PI)); + + double range = 250D; + this.headingX *= range; + this.headingY *= range; + this.headingZ *= range; + + performHitscan(); + } + + public void setRotationsFromVector(Vec3 delta) { + this.rotationPitch = (float) (-Math.asin(delta.yCoord / delta.lengthVector()) * 180D / Math.PI); + this.rotationYaw = (float) (-Math.atan2(delta.xCoord, delta.zCoord) * 180D / Math.PI); + + this.headingX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.headingZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.headingY = (double) (-MathHelper.sin((this.rotationPitch) / 180.0F * (float) Math.PI)); + } + + public void performHitscanExternal(double range) { + this.headingX *= range; + this.headingY *= range; + this.headingZ *= range; + performHitscan(); + } + + @Override + protected void entityInit() { + this.dataWatcher.addObject(3, Integer.valueOf(0)); + } + + public void setBulletConfig(BulletConfig config) { + this.config = config; + this.dataWatcher.updateObject(3, config.id); + } + + public BulletConfig getBulletConfig() { + int id = this.dataWatcher.getWatchableObjectInt(3); + if(id < 0 || id > BulletConfig.configs.size()) return null; + return BulletConfig.configs.get(id); + } + + @Override + public void onUpdate() { + + if(config == null) config = this.getBulletConfig(); + + if(config == null){ + this.setDead(); + return; + } + + if(config.onUpdate != null) config.onUpdate.accept(this); + + super.onUpdate(); + + if(!worldObj.isRemote && this.ticksExisted > config.expires) this.setDead(); + } + + protected void performHitscan() { + + Vec3 pos = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 nextPos = Vec3.createVectorHelper(this.posX + this.headingX, this.posY + this.headingY, this.posZ + this.headingZ); + MovingObjectPosition mop = null; + if(!this.isSpectral()) mop = this.worldObj.func_147447_a(pos, nextPos, false, true, false); + pos = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + nextPos = Vec3.createVectorHelper(this.posX + this.headingX, this.posY + this.headingY, this.posZ + this.headingZ); + + if(mop != null) { + nextPos = Vec3.createVectorHelper(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); + } + + if(!this.worldObj.isRemote && this.doesImpactEntities()) { + + Entity hitEntity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.headingX, this.headingY, this.headingZ).expand(1.0D, 1.0D, 1.0D)); + double nearest = 0.0D; + MovingObjectPosition nonPenImpact = null; + + for(int j = 0; j < list.size(); ++j) { + Entity entity = (Entity) list.get(j); + + if(entity.canBeCollidedWith() && entity != thrower && entity.isEntityAlive()) { + double hitbox = 0.3F; + AxisAlignedBB aabb = entity.boundingBox.expand(hitbox, hitbox, hitbox); + MovingObjectPosition hitMop = aabb.calculateIntercept(pos, nextPos); + + if(hitMop != null) { + + // if penetration is enabled, run impact for all intersecting entities + if(this.doesPenetrate()) { + this.onImpact(new MovingObjectPosition(entity, hitMop.hitVec)); + } else { + + double dist = pos.distanceTo(hitMop.hitVec); + + if(dist < nearest || nearest == 0.0D) { + hitEntity = entity; + nearest = dist; + nonPenImpact = hitMop; + } + } + } + } + } + + // if not, only run it for the closest MOP + if(!this.doesPenetrate() && hitEntity != null) { + mop = new MovingObjectPosition(hitEntity, nonPenImpact.hitVec); + } + } + + if(mop != null) { + if(mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && this.worldObj.getBlock(mop.blockX, mop.blockY, mop.blockZ) == Blocks.portal) { + this.setInPortal(); + } else { + this.onImpact(mop); + } + + Vec3 vec = Vec3.createVectorHelper(mop.hitVec.xCoord - posX, mop.hitVec.yCoord - posY, mop.hitVec.zCoord - posZ); + this.beamLength = vec.lengthVector(); + } else { + Vec3 vec = Vec3.createVectorHelper(nextPos.xCoord - posX, nextPos.yCoord - posY, nextPos.zCoord - posZ); + this.beamLength = vec.lengthVector(); + } + + } + + + protected void onImpact(MovingObjectPosition mop) { + if(!worldObj.isRemote) { + if(this.config.onImpactBeam != null) this.config.onImpactBeam.accept(this, mop); + } + } + + public boolean doesImpactEntities() { return this.config.impactsEntities; } + public boolean doesPenetrate() { return this.config.doesPenetrate; } + public boolean isSpectral() { return this.config.isSpectral; } + + @Override @SideOnly(Side.CLIENT) public float getShadowSize() { return 0.0F; } + + @Override protected void writeEntityToNBT(NBTTagCompound nbt) { } + @Override public boolean writeToNBTOptional(NBTTagCompound nbt) { return false; } + @Override public void readEntityFromNBT(NBTTagCompound nbt) { this.setDead(); } + + @Override public void writeSpawnData(ByteBuf buf) { + buf.writeDouble(beamLength); + buf.writeFloat(rotationYaw); + buf.writeFloat(rotationPitch); + } + @Override public void readSpawnData(ByteBuf buf) { + this.beamLength = buf.readDouble(); + this.rotationYaw = buf.readFloat(); + this.rotationPitch = buf.readFloat(); + } + + @Override @SideOnly(Side.CLIENT) public boolean canRenderOnFire() { return false; } +} diff --git a/src/main/java/com/hbm/entity/projectile/EntityChemical.java b/src/main/java/com/hbm/entity/projectile/EntityChemical.java index f1a1e5e6c..7c4470d7a 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityChemical.java +++ b/src/main/java/com/hbm/entity/projectile/EntityChemical.java @@ -12,6 +12,7 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.trait.*; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; +import com.hbm.particle.helper.FlameCreator; import com.hbm.tileentity.IRepairable; import com.hbm.tileentity.IRepairable.EnumExtinguishType; import com.hbm.util.ArmorUtil; @@ -35,7 +36,6 @@ import net.minecraft.util.DamageSource; import net.minecraft.util.EntityDamageSourceIndirect; import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -62,7 +62,7 @@ public class EntityChemical extends EntityThrowableNT { this.isImmuneToFire = true; } - public EntityChemical(World world, EntityLivingBase thrower) { + public EntityChemical(World world, EntityLivingBase thrower, double sideOffset, double heightOffset, double frontOffset) { super(world, thrower); this.ignoreFrustumCheck = true; this.isImmuneToFire = true; @@ -104,12 +104,17 @@ public class EntityChemical extends EntityThrowableNT { } } else { - + + FluidType type = getType(); ChemicalStyle style = getStyle(); - if(style == ChemicalStyle.LIQUID) { + if(type == Fluids.BALEFIRE) { + + if(MainRegistry.proxy.me().getDistanceToEntity(this) < 100) + FlameCreator.composeEffectClient(worldObj, posX, posY - 0.125, posZ, FlameCreator.META_BALEFIRE); + + } else if(style == ChemicalStyle.LIQUID) { - FluidType type = getType(); Color color = new Color(type.getColor()); NBTTagCompound data = new NBTTagCompound(); @@ -125,21 +130,11 @@ public class EntityChemical extends EntityThrowableNT { data.setFloat("g", color.getGreen() / 255F); data.setFloat("b", color.getBlue() / 255F); MainRegistry.proxy.effectNT(data); - } - - if(style == ChemicalStyle.BURNING) { - double motion = Math.min(Vec3.createVectorHelper(motionX, motionY, motionZ).lengthVector(), 0.1); + } else if(style == ChemicalStyle.BURNING) { - for(double d = 0; d < motion; d += 0.0625) { - NBTTagCompound nbt = new NBTTagCompound(); - nbt.setString("type", "vanillaExt"); - nbt.setString("mode", "flame"); - nbt.setDouble("posX", (this.lastTickPosX - this.posX) * d + this.posX); - nbt.setDouble("posY", (this.lastTickPosY - this.posY) * d + this.posY); - nbt.setDouble("posZ", (this.lastTickPosZ - this.posZ) * d + this.posZ); - MainRegistry.proxy.effectNT(nbt); - } + if(MainRegistry.proxy.me().getDistanceToEntity(this) < 100) + FlameCreator.composeEffectClient(worldObj, posX, posY - 0.125, posZ, FlameCreator.META_FIRE); } } super.onUpdate(); @@ -172,7 +167,7 @@ public class EntityChemical extends EntityThrowableNT { } if(type.temperature >= 100) { - EntityDamageUtil.attackEntityFromIgnoreIFrame(e, getDamage(ModDamageSource.s_boil), 0.25F + (type.temperature - 100) * 0.001F); //.25 damage at 100°C with one extra damage every 1000°C + EntityDamageUtil.attackEntityFromIgnoreIFrame(e, getDamage(ModDamageSource.s_boil), Math.min(0.25F + (type.temperature - 100) * 0.001F, 15F)); //.25 damage at 100°C with one extra damage every 1000°C if(type.temperature >= 500) { e.setFire(10); //afterburn for 10 seconds @@ -182,15 +177,7 @@ public class EntityChemical extends EntityThrowableNT { if(style == ChemicalStyle.LIQUID || style == ChemicalStyle.GAS) { if(type.temperature < -20) { if(living != null) { //only living things are affected - - HbmLivingProps.setTemperature(living, HbmLivingProps.getTemperature(living) + type.temperature / 20); - - if(HbmLivingProps.isFrozen(living)) { - if(!EntityDamageUtil.attackEntityFromIgnoreIFrame(e, getDamage(ModDamageSource.s_cryolator), living.getMaxHealth() * -type.temperature / 273 * 0.01F)) - e.attackEntityFrom(getDamage(ModDamageSource.s_cryolator), living.getMaxHealth() * -type.temperature / 273); - living.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 100, 2)); - living.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 100, 4)); - } + EntityDamageUtil.attackEntityFromIgnoreIFrame(e, getDamage(ModDamageSource.s_boil), Math.min(0.25F + (-type.temperature) * 0.01F, 2F)); } } @@ -222,7 +209,7 @@ public class EntityChemical extends EntityThrowableNT { if(style == ChemicalStyle.BURNING) { FT_Combustible trait = type.getTrait(FT_Combustible.class); - EntityDamageUtil.attackEntityFromIgnoreIFrame(e, getDamage(ModDamageSource.s_flamethrower), 0.2F + (trait != null ? (trait.getCombustionEnergy() / 100_000F) : 0)); + EntityDamageUtil.attackEntityFromIgnoreIFrame(e, getDamage(ModDamageSource.s_flamethrower), 0.2F + (trait != null ? (Math.min(trait.getCombustionEnergy() / 100_000F, 15F)) : 0)); e.setFire(5); } @@ -230,7 +217,7 @@ public class EntityChemical extends EntityThrowableNT { FT_Flammable flammable = type.getTrait(FT_Flammable.class); FT_Combustible combustible = type.getTrait(FT_Combustible.class); - float heat = Math.max(flammable != null ? flammable.getHeatEnergy() / 50_000F : 0, combustible != null ? combustible.getCombustionEnergy() / 100_000F : 0); + float heat = Math.max(flammable != null ? flammable.getHeatEnergy() / 50_000F : 0, combustible != null ? Math.min(combustible.getCombustionEnergy() / 100_000F, 15F) : 0); heat *= intensity; EntityDamageUtil.attackEntityFromIgnoreIFrame(e, getDamage(ModDamageSource.s_flamethrower), (0.2F + heat) * (float) intensity); e.setFire((int) Math.ceil(5 * intensity)); diff --git a/src/main/java/com/hbm/entity/projectile/EntityCog.java b/src/main/java/com/hbm/entity/projectile/EntityCog.java index 84c27bb77..ba28a98fd 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityCog.java +++ b/src/main/java/com/hbm/entity/projectile/EntityCog.java @@ -1,9 +1,9 @@ package com.hbm.entity.projectile; +import com.hbm.handler.threading.PacketThreading; import com.hbm.items.ModItems; import com.hbm.lib.ModDamageSource; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; @@ -37,21 +37,21 @@ public class EntityCog extends EntityThrowableInterp { this.dataWatcher.addObject(10, new Integer(0)); this.dataWatcher.addObject(11, new Integer(0)); } - + public EntityCog setOrientation(int rot) { this.dataWatcher.updateObject(10, rot); return this; } - + public EntityCog setMeta(int meta) { this.dataWatcher.updateObject(11, meta); return this; } - + public int getOrientation() { return this.dataWatcher.getWatchableObjectInt(10); } - + public int getMeta() { return this.dataWatcher.getWatchableObjectInt(11); } @@ -60,10 +60,10 @@ public class EntityCog extends EntityThrowableInterp { public boolean interactFirst(EntityPlayer player) { if(!worldObj.isRemote) { - + if(player.inventory.addItemStackToInventory(new ItemStack(ModItems.gear_large, 1, this.getMeta()))) this.setDead(); - + player.inventoryContainer.detectAndSendChanges(); } @@ -77,7 +77,7 @@ public class EntityCog extends EntityThrowableInterp { @Override protected void onImpact(MovingObjectPosition mop) { - + if(worldObj != null && mop != null && mop.typeOfHit == MovingObjectType.ENTITY && mop.entityHit.isEntityAlive()) { Entity e = mop.entityHit; e.attackEntityFrom(ModDamageSource.rubble, 1000); @@ -86,18 +86,18 @@ public class EntityCog extends EntityThrowableInterp { vdat.setString("type", "giblets"); vdat.setInteger("ent", e.getEntityId()); vdat.setInteger("cDiv", 5); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(vdat, e.posX, e.posY + e.height * 0.5, e.posZ), new TargetPoint(e.dimension, e.posX, e.posY + e.height * 0.5, e.posZ, 150)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(vdat, e.posX, e.posY + e.height * 0.5, e.posZ), new TargetPoint(e.dimension, e.posX, e.posY + e.height * 0.5, e.posZ, 150)); + worldObj.playSoundEffect(e.posX, e.posY, e.posZ, "mob.zombie.woodbreak", 2.0F, 0.95F + worldObj.rand.nextFloat() * 0.2F); } } - + if(this.ticksExisted > 1 && worldObj != null && mop != null && mop.typeOfHit == MovingObjectType.BLOCK) { - + int orientation = this.dataWatcher.getWatchableObjectInt(10); if(orientation < 6) { - + if(Vec3.createVectorHelper(motionX, motionY, motionZ).lengthVector() < 0.75) { this.dataWatcher.updateObject(10, orientation + 6); orientation += 6; @@ -107,13 +107,13 @@ public class EntityCog extends EntityThrowableInterp { this.motionY *= 1 - (Math.abs(side.offsetY) * 2); this.motionZ *= 1 - (Math.abs(side.offsetZ) * 2); worldObj.createExplosion(this, posX, posY, posZ, 3F, false); - + if(worldObj.getBlock(mop.blockX, mop.blockY, mop.blockZ).getExplosionResistance(this) < 50) { worldObj.func_147480_a(mop.blockX, mop.blockY, mop.blockZ, false); } } } - + if(orientation >= 6) { this.motionX = 0; this.motionY = 0; @@ -122,20 +122,20 @@ public class EntityCog extends EntityThrowableInterp { } } } - + @Override public void onUpdate() { - + if(!worldObj.isRemote) { int orientation = this.dataWatcher.getWatchableObjectInt(10); if(orientation >= 6 && !this.inGround) { this.dataWatcher.updateObject(10, orientation - 6); } } - + super.onUpdate(); } - + @Override @SideOnly(Side.CLIENT) public boolean isInRangeToRenderDist(double distance) { diff --git a/src/main/java/com/hbm/entity/projectile/EntityDuchessGambit.java b/src/main/java/com/hbm/entity/projectile/EntityDuchessGambit.java index 7e717bc29..5a75fb637 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityDuchessGambit.java +++ b/src/main/java/com/hbm/entity/projectile/EntityDuchessGambit.java @@ -4,13 +4,17 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.explosion.ExplosionLarge; +import com.hbm.handler.threading.PacketThreading; import com.hbm.lib.ModDamageSource; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; import net.minecraft.entity.projectile.EntityThrowable; import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; @@ -22,62 +26,64 @@ public class EntityDuchessGambit extends EntityThrowable { this.ignoreFrustumCheck = true; this.isImmuneToFire = true; } - + @Override public void onUpdate() { + if(!worldObj.isRemote && this.ticksExisted == 1) { + for(int i = 0; i < 50; i++) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "bf"); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, + posX + (rand.nextDouble() - 0.5) * 5, + posY + (rand.nextDouble() - 0.5) * 7, + posZ + (rand.nextDouble() - 0.5) * 20), + new TargetPoint(dimension, posX, posY, posZ, 150)); + } + } + this.lastTickPosX = this.prevPosX = posX; this.lastTickPosY = this.prevPosY = posY; this.lastTickPosZ = this.prevPosZ = posZ; this.setPosition(posX + this.motionX, posY + this.motionY, posZ + this.motionZ); - - /*this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ;*/ - + this.motionY -= 0.03; if(motionY < -1.5) motionY = -1.5; - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) - { - this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:alarm.gambit", 10000.0F, 1F); - this.setDead(); - - List list = (List)worldObj.getEntitiesWithinAABBExcludingEntity(null, - AxisAlignedBB.getBoundingBox(posX - 5, posY - 2, posZ - 9, posX + 5, posY + 2, posZ + 9)); - - for(Entity e : list) { - e.attackEntityFrom(ModDamageSource.boat, 1000); - } - - if(!worldObj.isRemote) { - ExplosionLarge.explode(worldObj, posX, posY, posZ - 6, 2, true, false, false); - ExplosionLarge.explode(worldObj, posX, posY, posZ - 3, 2, true, false, false); - ExplosionLarge.explode(worldObj, posX, posY, posZ, 2, true, false, false); - ExplosionLarge.explode(worldObj, posX, posY, posZ + 3, 2, true, false, false); - ExplosionLarge.explode(worldObj, posX, posY, posZ + 6, 2, true, false, false); - - worldObj.setBlock((int)(this.posX - 0.5), (int)(this.posY + 0.5), (int)(this.posZ - 0.5), ModBlocks.boat); - } - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 3); - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 2.5); - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 2); - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 1.5); - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 1); - } - } + + if(this.worldObj.getBlock((int) this.posX, (int) this.posY, (int) this.posZ) != Blocks.air) { + this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:alarm.gambit", 10000.0F, 1F); + this.setDead(); + + List list = (List) worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(posX - 5, posY - 2, posZ - 9, posX + 5, posY + 2, posZ + 9)); + + for(Entity e : list) { + e.attackEntityFrom(ModDamageSource.boat, 1000); + } + + if(!worldObj.isRemote) { + ExplosionLarge.explode(worldObj, posX, posY, posZ - 6, 2, true, false, false); + ExplosionLarge.explode(worldObj, posX, posY, posZ - 3, 2, true, false, false); + ExplosionLarge.explode(worldObj, posX, posY, posZ, 2, true, false, false); + ExplosionLarge.explode(worldObj, posX, posY, posZ + 3, 2, true, false, false); + ExplosionLarge.explode(worldObj, posX, posY, posZ + 6, 2, true, false, false); + + worldObj.setBlock((int) (this.posX - 0.5), (int) (this.posY + 0.5), (int) (this.posZ - 0.5), ModBlocks.boat); + } + ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 3); + ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 2.5); + ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 2); + ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 1.5); + ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 1); + } + } @Override protected void onImpact(MovingObjectPosition p_70184_1_) { - + } - + @Override @SideOnly(Side.CLIENT) public boolean isInRangeToRenderDist(double distance) diff --git a/src/main/java/com/hbm/entity/projectile/EntityFire.java b/src/main/java/com/hbm/entity/projectile/EntityFire.java deleted file mode 100644 index 535c82346..000000000 --- a/src/main/java/com/hbm/entity/projectile/EntityFire.java +++ /dev/null @@ -1,572 +0,0 @@ -package com.hbm.entity.projectile; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -import java.util.List; - -import com.hbm.explosion.ExplosionChaos; -import com.hbm.lib.ModDamageSource; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.play.server.S2BPacketChangeGameState; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class EntityFire extends Entity implements IProjectile -{ - private int field_145791_d = -1; - private int field_145792_e = -1; - private int field_145789_f = -1; - public double gravity = 0.0D; - private Block field_145790_g; - private int inData; - private boolean inGround; - /** 1 if the player can pick up the arrow */ - public int canBePickedUp; - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake; - /** The owner of this arrow. */ - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir; - public int maxAge = 20; - private double damage = 2.0D; - /** The amount of knockback an arrow applies when it hits a mob. */ - private int knockbackStrength; - public EntityFire(World p_i1753_1_) - { - super(p_i1753_1_); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityFire(World p_i1754_1_, double p_i1754_2_, double p_i1754_4_, double p_i1754_6_) - { - super(p_i1754_1_); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(p_i1754_2_, p_i1754_4_, p_i1754_6_); - this.yOffset = 0.0F; - } - - public EntityFire(World p_i1755_1_, EntityLivingBase p_i1755_2_, EntityLivingBase p_i1755_3_, float p_i1755_4_, float p_i1755_5_) - { - super(p_i1755_1_); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = p_i1755_2_; - - if (p_i1755_2_ instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.posY = p_i1755_2_.posY + p_i1755_2_.getEyeHeight() - 0.10000000149011612D; - double d0 = p_i1755_3_.posX - p_i1755_2_.posX; - double d1 = p_i1755_3_.boundingBox.minY + p_i1755_3_.height / 3.0F - this.posY; - double d2 = p_i1755_3_.posZ - p_i1755_2_.posZ; - double d3 = MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(p_i1755_2_.posX + d4, this.posY, p_i1755_2_.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + f4, d2, p_i1755_4_, p_i1755_5_); - } - } - - public EntityFire(World p_i1756_1_, EntityLivingBase p_i1756_2_, float p_i1756_3_) - { - super(p_i1756_1_); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = p_i1756_2_; - - if (p_i1756_2_ instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(p_i1756_2_.posX, p_i1756_2_.posY + p_i1756_2_.getEyeHeight(), p_i1756_2_.posZ, p_i1756_2_.rotationYaw, p_i1756_2_.rotationPitch); - this.posX -= MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F; - this.posY -= 0.10000000149011612D; - this.posZ -= MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F; - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = -MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI); - this.motionZ = MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI); - this.motionY = (-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, p_i1756_3_ * 1.5F, 1.0F); - } - - public EntityFire(World world, int x, int y, int z, double mx, double my, double mz, double grav) { - super(world); - this.posX = x + 0.5F; - this.posY = y + 0.5F; - this.posZ = z + 0.5F; - - this.motionX = mx; - this.motionY = my; - this.motionZ = mz; - - this.gravity = grav; - } - - @Override - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - @Override - public void setThrowableHeading(double p_70186_1_, double p_70186_3_, double p_70186_5_, float p_70186_7_, float p_70186_8_) - { - float f2 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_3_ * p_70186_3_ + p_70186_5_ * p_70186_5_); - p_70186_1_ /= f2; - p_70186_3_ /= f2; - p_70186_5_ /= f2; - p_70186_1_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * p_70186_8_; - p_70186_3_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * p_70186_8_; - p_70186_5_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * p_70186_8_; - p_70186_1_ *= p_70186_7_; - p_70186_3_ *= p_70186_7_; - p_70186_5_ *= p_70186_7_; - this.motionX = p_70186_1_; - this.motionY = p_70186_3_; - this.motionZ = p_70186_5_; - float f3 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_5_ * p_70186_5_); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70186_1_, p_70186_5_) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70186_3_, f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - @Override - @SideOnly(Side.CLIENT) - public void setPositionAndRotation2(double p_70056_1_, double p_70056_3_, double p_70056_5_, float p_70056_7_, float p_70056_8_, int p_70056_9_) - { - this.setPosition(p_70056_1_, p_70056_3_, p_70056_5_); - this.setRotation(p_70056_7_, p_70056_8_); - } - - /** - * Sets the velocity to the args. Args: x, y, z - */ - @Override - @SideOnly(Side.CLIENT) - public void setVelocity(double p_70016_1_, double p_70016_3_, double p_70016_5_) - { - this.motionX = p_70016_1_; - this.motionY = p_70016_3_; - this.motionZ = p_70016_5_; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(p_70016_1_ * p_70016_1_ + p_70016_5_ * p_70016_5_); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70016_1_, p_70016_5_) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70016_3_, f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - //@Override - @Override - public void onUpdate() - { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - //this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - Block block = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f); - - if (block.getMaterial() != Material.air) - { - block.setBlockBoundsBasedOnState(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f); - AxisAlignedBB axisalignedbb = block.getCollisionBoundingBoxFromPool(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f); - - if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) - { - this.inGround = true; - } - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - - if (this.inGround) - { - this.setDead(); - int i = 3; - if(!worldObj.isRemote) { - ExplosionChaos.burn(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, i); - ExplosionChaos.flameDeath(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, i * 2); - } - } - else - { - ++this.ticksInAir; - Vec3 vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - Vec3 vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec3 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int i; - float f1; - - for (i = 0; i < list.size(); ++i) - { - Entity entity1 = (Entity)list.get(i); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand(f1, f1, f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec31, vec3); - - if (movingobjectposition1 != null) - { - double d1 = vec31.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; - - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer)) - { - movingobjectposition = null; - } - } - - float f2; - float f4; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int k = MathHelper.ceiling_double_int(f2 * this.damage); - - if (this.getIsCritical()) - { - k += this.rand.nextInt(k / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.generic; - } - else - { - damagesource = ModDamageSource.causeFireDamage(this, this.shootingEntity); - } - - if (!(movingobjectposition.entityHit instanceof EntityEnderman) && this.ticksExisted >= 5) - { - movingobjectposition.entityHit.setFire(10); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, k)) - { - if (movingobjectposition.entityHit instanceof EntityLivingBase) - { - EntityLivingBase entitylivingbase = (EntityLivingBase)movingobjectposition.entityHit; - - if (this.knockbackStrength > 0) - { - f4 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f4 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * this.knockbackStrength * 0.6000000238418579D / f4, 0.1D, this.motionZ * this.knockbackStrength * 0.6000000238418579D / f4); - } - } - - if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) - { - EnchantmentHelper.func_151384_a(entitylivingbase, this.shootingEntity); - EnchantmentHelper.func_151385_b((EntityLivingBase)this.shootingEntity, entitylivingbase); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); - } - } - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { - if (!this.worldObj.isRemote && movingobjectposition.entityHit instanceof EntityLivingBase) - { - movingobjectposition.entityHit.attackEntityFrom(damagesource, 5F); - } - } - } - } - else - { - this.field_145791_d = movingobjectposition.blockX; - this.field_145792_e = movingobjectposition.blockY; - this.field_145789_f = movingobjectposition.blockZ; - this.field_145790_g = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f); - this.inData = this.worldObj.getBlockMetadata(this.field_145791_d, this.field_145792_e, this.field_145789_f); - this.motionX = ((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = ((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = ((float)(movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / f2 * 0.05000000074505806D; - this.posY -= this.motionY / f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / f2 * 0.05000000074505806D; - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.field_145790_g.getMaterial() != Material.air) - { - this.field_145790_g.onEntityCollidedWithBlock(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f, this); - } - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - f1 = 0.05F; - - if (this.isInWater()) - { - this.setDead(); - } - - if (this.isWet()) - { - this.damage *= 0.8F; - } - - float f3 = 0.8F; - this.motionX *= f3; - this.motionY *= f3; - this.motionZ *= f3; - this.motionY -= gravity; - this.setPosition(this.posX, this.posY, this.posZ); - this.func_145775_I(); - } - - if (this.ticksExisted > this.maxAge) - this.setDead(); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound p_70014_1_) - { - p_70014_1_.setShort("xTile", (short)this.field_145791_d); - p_70014_1_.setShort("yTile", (short)this.field_145792_e); - p_70014_1_.setShort("zTile", (short)this.field_145789_f); - p_70014_1_.setShort("life", (short)this.ticksInGround); - p_70014_1_.setByte("inTile", (byte)Block.getIdFromBlock(this.field_145790_g)); - p_70014_1_.setByte("inData", (byte)this.inData); - p_70014_1_.setByte("shake", (byte)this.arrowShake); - p_70014_1_.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - p_70014_1_.setByte("pickup", (byte)this.canBePickedUp); - p_70014_1_.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound p_70037_1_) - { - this.field_145791_d = p_70037_1_.getShort("xTile"); - this.field_145792_e = p_70037_1_.getShort("yTile"); - this.field_145789_f = p_70037_1_.getShort("zTile"); - this.ticksInGround = p_70037_1_.getShort("life"); - this.field_145790_g = Block.getBlockById(p_70037_1_.getByte("inTile") & 255); - this.inData = p_70037_1_.getByte("inData") & 255; - this.arrowShake = p_70037_1_.getByte("shake") & 255; - this.inGround = p_70037_1_.getByte("inGround") == 1; - - if (p_70037_1_.hasKey("damage", 99)) - { - this.damage = p_70037_1_.getDouble("damage"); - } - - if (p_70037_1_.hasKey("pickup", 99)) - { - this.canBePickedUp = p_70037_1_.getByte("pickup"); - } - else if (p_70037_1_.hasKey("player", 99)) - { - this.canBePickedUp = p_70037_1_.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - @Override - public void onCollideWithPlayer(EntityPlayer p_70100_1_) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && p_70100_1_.capabilities.isCreativeMode; - - if (flag) - { - p_70100_1_.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - @Override - protected boolean canTriggerWalking() - { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double p_70239_1_) - { - this.damage = p_70239_1_; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int p_70240_1_) - { - this.knockbackStrength = p_70240_1_; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - @Override - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean p_70243_1_) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (p_70243_1_) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - @Override - @SideOnly(Side.CLIENT) - public int getBrightnessForRender(float p_70070_1_) - { - return 15728880; - } - - @Override - public float getBrightness(float p_70013_1_) - { - return 1.0F; - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/entity/projectile/EntityLN2.java b/src/main/java/com/hbm/entity/projectile/EntityLN2.java deleted file mode 100644 index a1e64cccc..000000000 --- a/src/main/java/com/hbm/entity/projectile/EntityLN2.java +++ /dev/null @@ -1,569 +0,0 @@ -package com.hbm.entity.projectile; - -import java.util.List; - -import com.hbm.explosion.ExplosionThermo; -import com.hbm.lib.ModDamageSource; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.play.server.S2BPacketChangeGameState; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class EntityLN2 extends Entity implements IProjectile -{ - private int field_145791_d = -1; - private int field_145792_e = -1; - private int field_145789_f = -1; - public double gravity = 0.0D; - private Block field_145790_g; - private int inData; - private boolean inGround; - /** 1 if the player can pick up the arrow */ - public int canBePickedUp; - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake; - /** The owner of this arrow. */ - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir; - public int maxAge = 20; - private double damage = 2.0D; - /** The amount of knockback an arrow applies when it hits a mob. */ - private int knockbackStrength; - public EntityLN2(World p_i1753_1_) - { - super(p_i1753_1_); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityLN2(World p_i1754_1_, double p_i1754_2_, double p_i1754_4_, double p_i1754_6_) - { - super(p_i1754_1_); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(p_i1754_2_, p_i1754_4_, p_i1754_6_); - this.yOffset = 0.0F; - } - - public EntityLN2(World p_i1755_1_, EntityLivingBase p_i1755_2_, EntityLivingBase p_i1755_3_, float p_i1755_4_, float p_i1755_5_) - { - super(p_i1755_1_); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = p_i1755_2_; - - if (p_i1755_2_ instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.posY = p_i1755_2_.posY + p_i1755_2_.getEyeHeight() - 0.10000000149011612D; - double d0 = p_i1755_3_.posX - p_i1755_2_.posX; - double d1 = p_i1755_3_.boundingBox.minY + p_i1755_3_.height / 3.0F - this.posY; - double d2 = p_i1755_3_.posZ - p_i1755_2_.posZ; - double d3 = MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(p_i1755_2_.posX + d4, this.posY, p_i1755_2_.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + f4, d2, p_i1755_4_, p_i1755_5_); - } - } - - public EntityLN2(World p_i1756_1_, EntityLivingBase p_i1756_2_, float p_i1756_3_) - { - super(p_i1756_1_); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = p_i1756_2_; - - if (p_i1756_2_ instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(p_i1756_2_.posX, p_i1756_2_.posY + p_i1756_2_.getEyeHeight(), p_i1756_2_.posZ, p_i1756_2_.rotationYaw, p_i1756_2_.rotationPitch); - this.posX -= MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F; - this.posY -= 0.10000000149011612D; - this.posZ -= MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F; - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = -MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI); - this.motionZ = MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI); - this.motionY = (-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, p_i1756_3_ * 1.5F, 1.0F); - } - - public EntityLN2(World world, int x, int y, int z, double mx, double my, double mz, double grav) { - super(world); - this.posX = x + 0.5F; - this.posY = y + 0.5F; - this.posZ = z + 0.5F; - - this.motionX = mx; - this.motionY = my; - this.motionZ = mz; - - this.gravity = grav; - } - - @Override - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - @Override - public void setThrowableHeading(double p_70186_1_, double p_70186_3_, double p_70186_5_, float p_70186_7_, float p_70186_8_) - { - float f2 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_3_ * p_70186_3_ + p_70186_5_ * p_70186_5_); - p_70186_1_ /= f2; - p_70186_3_ /= f2; - p_70186_5_ /= f2; - p_70186_1_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * p_70186_8_; - p_70186_3_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * p_70186_8_; - p_70186_5_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * p_70186_8_; - p_70186_1_ *= p_70186_7_; - p_70186_3_ *= p_70186_7_; - p_70186_5_ *= p_70186_7_; - this.motionX = p_70186_1_; - this.motionY = p_70186_3_; - this.motionZ = p_70186_5_; - float f3 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_5_ * p_70186_5_); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70186_1_, p_70186_5_) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70186_3_, f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - @Override - @SideOnly(Side.CLIENT) - public void setPositionAndRotation2(double p_70056_1_, double p_70056_3_, double p_70056_5_, float p_70056_7_, float p_70056_8_, int p_70056_9_) - { - this.setPosition(p_70056_1_, p_70056_3_, p_70056_5_); - this.setRotation(p_70056_7_, p_70056_8_); - } - - /** - * Sets the velocity to the args. Args: x, y, z - */ - @Override - @SideOnly(Side.CLIENT) - public void setVelocity(double p_70016_1_, double p_70016_3_, double p_70016_5_) - { - this.motionX = p_70016_1_; - this.motionY = p_70016_3_; - this.motionZ = p_70016_5_; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(p_70016_1_ * p_70016_1_ + p_70016_5_ * p_70016_5_); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70016_1_, p_70016_5_) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70016_3_, f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - //@Override - @Override - public void onUpdate() - { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - //this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - Block block = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f); - - if (block.getMaterial() != Material.air) - { - block.setBlockBoundsBasedOnState(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f); - AxisAlignedBB axisalignedbb = block.getCollisionBoundingBoxFromPool(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f); - - if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) - { - this.inGround = true; - } - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - - if (this.inGround) - { - this.setDead(); - int i = 3; - if(!worldObj.isRemote) { - ExplosionThermo.freeze(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, i); - ExplosionThermo.snow(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, i); - } - } - else - { - ++this.ticksInAir; - Vec3 vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - Vec3 vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec3 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int i; - float f1; - - for (i = 0; i < list.size(); ++i) - { - Entity entity1 = (Entity)list.get(i); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand(f1, f1, f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec31, vec3); - - if (movingobjectposition1 != null) - { - double d1 = vec31.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; - - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer)) - { - movingobjectposition = null; - } - } - - float f2; - float f4; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int k = MathHelper.ceiling_double_int(f2 * this.damage); - - if (this.getIsCritical()) - { - k += this.rand.nextInt(k / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.generic; - } - else - { - damagesource = ModDamageSource.causeIceDamage(this, this.shootingEntity); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, k)) - { - if (movingobjectposition.entityHit instanceof EntityLivingBase) - { - EntityLivingBase entitylivingbase = (EntityLivingBase)movingobjectposition.entityHit; - - if (this.knockbackStrength > 0) - { - f4 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f4 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * this.knockbackStrength * 0.6000000238418579D / f4, 0.1D, this.motionZ * this.knockbackStrength * 0.6000000238418579D / f4); - } - } - - if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) - { - EnchantmentHelper.func_151384_a(entitylivingbase, this.shootingEntity); - EnchantmentHelper.func_151385_b((EntityLivingBase)this.shootingEntity, entitylivingbase); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); - } - } - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { - if (!this.worldObj.isRemote && movingobjectposition.entityHit instanceof EntityLivingBase) - { - movingobjectposition.entityHit.attackEntityFrom(damagesource, 5F); - } - } - } - } - else - { - this.field_145791_d = movingobjectposition.blockX; - this.field_145792_e = movingobjectposition.blockY; - this.field_145789_f = movingobjectposition.blockZ; - this.field_145790_g = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f); - this.inData = this.worldObj.getBlockMetadata(this.field_145791_d, this.field_145792_e, this.field_145789_f); - this.motionX = ((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = ((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = ((float)(movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / f2 * 0.05000000074505806D; - this.posY -= this.motionY / f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / f2 * 0.05000000074505806D; - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.field_145790_g.getMaterial() != Material.air) - { - this.field_145790_g.onEntityCollidedWithBlock(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f, this); - } - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - f1 = 0.05F; - - if (this.isInWater()) - { - int j = 3; - ExplosionThermo.freeze(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, j); - ExplosionThermo.snow(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, j); - this.setDead(); - } - - if (this.isWet()) - { - this.damage *= 0.8F; - } - - float f3 = 0.8F; - this.motionX *= f3; - this.motionY *= f3; - this.motionZ *= f3; - this.motionY -= gravity; - this.setPosition(this.posX, this.posY, this.posZ); - this.func_145775_I(); - } - - if (this.ticksExisted > this.maxAge) - this.setDead(); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound p_70014_1_) - { - p_70014_1_.setShort("xTile", (short)this.field_145791_d); - p_70014_1_.setShort("yTile", (short)this.field_145792_e); - p_70014_1_.setShort("zTile", (short)this.field_145789_f); - p_70014_1_.setShort("life", (short)this.ticksInGround); - p_70014_1_.setByte("inTile", (byte)Block.getIdFromBlock(this.field_145790_g)); - p_70014_1_.setByte("inData", (byte)this.inData); - p_70014_1_.setByte("shake", (byte)this.arrowShake); - p_70014_1_.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - p_70014_1_.setByte("pickup", (byte)this.canBePickedUp); - p_70014_1_.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound p_70037_1_) - { - this.field_145791_d = p_70037_1_.getShort("xTile"); - this.field_145792_e = p_70037_1_.getShort("yTile"); - this.field_145789_f = p_70037_1_.getShort("zTile"); - this.ticksInGround = p_70037_1_.getShort("life"); - this.field_145790_g = Block.getBlockById(p_70037_1_.getByte("inTile") & 255); - this.inData = p_70037_1_.getByte("inData") & 255; - this.arrowShake = p_70037_1_.getByte("shake") & 255; - this.inGround = p_70037_1_.getByte("inGround") == 1; - - if (p_70037_1_.hasKey("damage", 99)) - { - this.damage = p_70037_1_.getDouble("damage"); - } - - if (p_70037_1_.hasKey("pickup", 99)) - { - this.canBePickedUp = p_70037_1_.getByte("pickup"); - } - else if (p_70037_1_.hasKey("player", 99)) - { - this.canBePickedUp = p_70037_1_.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - @Override - public void onCollideWithPlayer(EntityPlayer p_70100_1_) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && p_70100_1_.capabilities.isCreativeMode; - - if (flag) - { - p_70100_1_.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - @Override - protected boolean canTriggerWalking() - { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double p_70239_1_) - { - this.damage = p_70239_1_; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int p_70240_1_) - { - this.knockbackStrength = p_70240_1_; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - @Override - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean p_70243_1_) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (p_70243_1_) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - @Override - @SideOnly(Side.CLIENT) - public int getBrightnessForRender(float p_70070_1_) - { - return 15728880; - } - - @Override - public float getBrightness(float p_70013_1_) - { - return 1.0F; - } -} diff --git a/src/main/java/com/hbm/entity/projectile/EntityLaser.java b/src/main/java/com/hbm/entity/projectile/EntityLaser.java deleted file mode 100644 index abef03c16..000000000 --- a/src/main/java/com/hbm/entity/projectile/EntityLaser.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.hbm.entity.projectile; - -import java.util.List; - -import com.hbm.lib.Library; -import com.hbm.lib.ModDamageSource; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class EntityLaser extends Entity { - - public EntityLaser(World world) { - super(world); - this.ignoreFrustumCheck = true; - } - - public EntityLaser(World world, EntityPlayer player) { - super(world); - this.ignoreFrustumCheck = true; - this.dataWatcher.updateObject(20, player.getDisplayName()); - - Vec3 vec = player.getLookVec(); - vec.rotateAroundY(-90F); - float l = 0.25F; - vec.xCoord *= l; - vec.yCoord *= l; - vec.zCoord *= l; - - this.setPosition(player.posX + vec.xCoord, player.posY + player.getEyeHeight(), player.posZ + vec.zCoord); - - } - - @Override - protected void entityInit() { - this.dataWatcher.addObject(20, ""); - } - - @Override - public void onUpdate() { - - if(this.ticksExisted > 1) - this.setDead(); - - int range = 100; - - EntityPlayer player = worldObj.getPlayerEntityByName(this.dataWatcher.getWatchableObjectString(20)); - - if(player != null) { - - //this.setPosition(player.posX, player.posY + player.getEyeHeight(), player.posZ); - - MovingObjectPosition pos = Library.rayTrace(player, range, 1); - - //worldObj.createExplosion(this, pos.hitVec.xCoord, pos.hitVec.yCoord, pos.hitVec.zCoord, 1, false); - - worldObj.spawnParticle("cloud", pos.hitVec.xCoord, pos.hitVec.yCoord, pos.hitVec.zCoord, 0, 0, 0); - worldObj.playSound(pos.hitVec.xCoord, pos.hitVec.yCoord, pos.hitVec.zCoord, "random.fizz", 1, 1, true); - - List list = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(pos.hitVec.xCoord - 1, pos.hitVec.yCoord - 1, pos.hitVec.zCoord - 1, pos.hitVec.xCoord + 1, pos.hitVec.yCoord + 1, pos.hitVec.zCoord + 1)); - - for(Entity e : list) - e.attackEntityFrom(ModDamageSource.radiation, 5); - } - } - - @Override - protected void readEntityFromNBT(NBTTagCompound p_70037_1_) { - } - - @Override - protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { - } - - @Override - @SideOnly(Side.CLIENT) - public int getBrightnessForRender(float p_70070_1_) - { - return 15728880; - } - - @Override - public float getBrightness(float p_70013_1_) - { - return 1.0F; - } - -} diff --git a/src/main/java/com/hbm/entity/projectile/EntityModBeam.java b/src/main/java/com/hbm/entity/projectile/EntityModBeam.java index f8a2e6be7..60193ba8b 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityModBeam.java +++ b/src/main/java/com/hbm/entity/projectile/EntityModBeam.java @@ -490,7 +490,7 @@ public class EntityModBeam extends Entity implements IProjectile { this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "random.explode", 100.0f, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); this.worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, BombConfig.gadgetRadius, posX, posY, posZ)); - EntityNukeTorex.statFac(worldObj, posX, posY, posZ, BombConfig.gadgetRadius); + EntityNukeTorex.statFacStandard(worldObj, posX, posY, posZ, BombConfig.gadgetRadius); } } } diff --git a/src/main/java/com/hbm/entity/projectile/EntityNightmareBlast.java b/src/main/java/com/hbm/entity/projectile/EntityNightmareBlast.java deleted file mode 100644 index 0ddbb2409..000000000 --- a/src/main/java/com/hbm/entity/projectile/EntityNightmareBlast.java +++ /dev/null @@ -1,530 +0,0 @@ -package com.hbm.entity.projectile; - -import java.util.List; - -import com.hbm.entity.grenade.EntityGrenadeZOMG; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.init.Blocks; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.play.server.S2BPacketChangeGameState; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class EntityNightmareBlast extends Entity implements IProjectile -{ - private int field_145791_d = -1; - private int field_145792_e = -1; - private int field_145789_f = -1; - public double gravity = 0.0D; - private Block field_145790_g; - private int inData; - private boolean inGround; - /** 1 if the player can pick up the arrow */ - public int canBePickedUp; - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake; - /** The owner of this arrow. */ - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir; - private double damage = 2.0D; - /** The amount of knockback an arrow applies when it hits a mob. */ - private int knockbackStrength; - public EntityNightmareBlast(World p_i1753_1_) - { - super(p_i1753_1_); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityNightmareBlast(World p_i1754_1_, double p_i1754_2_, double p_i1754_4_, double p_i1754_6_) - { - super(p_i1754_1_); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(p_i1754_2_, p_i1754_4_, p_i1754_6_); - this.yOffset = 0.0F; - } - - public EntityNightmareBlast(World p_i1755_1_, EntityLivingBase p_i1755_2_, EntityLivingBase p_i1755_3_, float p_i1755_4_, float p_i1755_5_) - { - super(p_i1755_1_); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = p_i1755_2_; - - if (p_i1755_2_ instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.posY = p_i1755_2_.posY + p_i1755_2_.getEyeHeight() - 0.10000000149011612D; - double d0 = p_i1755_3_.posX - p_i1755_2_.posX; - double d1 = p_i1755_3_.boundingBox.minY + p_i1755_3_.height / 3.0F - this.posY; - double d2 = p_i1755_3_.posZ - p_i1755_2_.posZ; - double d3 = MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(p_i1755_2_.posX + d4, this.posY, p_i1755_2_.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + f4, d2, p_i1755_4_, p_i1755_5_); - } - } - - public EntityNightmareBlast(World p_i1756_1_, EntityLivingBase p_i1756_2_, float p_i1756_3_, int dmgMin, int dmgMax, EntityGrenadeZOMG grenade) { - super(p_i1756_1_); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = p_i1756_2_; - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(grenade.posX, grenade.posY + grenade.getEyeHeight(), grenade.posZ, - grenade.rotationYaw, grenade.rotationPitch); - this.posX -= MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F; - this.posY -= 0.10000000149011612D; - this.posZ -= MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F; - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = -MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) - * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI); - this.motionZ = MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) - * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI); - this.motionY = (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, p_i1756_3_ * 1.5F, 1.0F); - } - - public EntityNightmareBlast(World p_i1756_1_, EntityLivingBase p_i1756_2_, float p_i1756_3_) - { - super(p_i1756_1_); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = p_i1756_2_; - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(p_i1756_2_.posX, p_i1756_2_.posY + p_i1756_2_.getEyeHeight(), p_i1756_2_.posZ, p_i1756_2_.rotationYaw, p_i1756_2_.rotationPitch); - this.posX -= MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F; - this.posY -= 0.10000000149011612D; - this.posZ -= MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F; - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = -MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI); - this.motionZ = MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI); - this.motionY = (-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, p_i1756_3_ * 1.5F, 1.0F); - } - - public EntityNightmareBlast(World world, int x, int y, int z, double mx, double my, double mz, double grav) { - super(world); - this.posX = x + 0.5F; - this.posY = y + 0.5F; - this.posZ = z + 0.5F; - - this.motionX = mx; - this.motionY = my; - this.motionZ = mz; - - this.gravity = grav; - } - - @Override - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - @Override - public void setThrowableHeading(double p_70186_1_, double p_70186_3_, double p_70186_5_, float p_70186_7_, float p_70186_8_) - { - float f2 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_3_ * p_70186_3_ + p_70186_5_ * p_70186_5_); - p_70186_1_ /= f2; - p_70186_3_ /= f2; - p_70186_5_ /= f2; - p_70186_1_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.054499999832361937D * p_70186_8_; - p_70186_3_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.054499999832361937D * p_70186_8_; - p_70186_5_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.054499999832361937D * p_70186_8_; - p_70186_1_ *= p_70186_7_; - p_70186_3_ *= p_70186_7_; - p_70186_5_ *= p_70186_7_; - this.motionX = p_70186_1_; - this.motionY = p_70186_3_; - this.motionZ = p_70186_5_; - float f3 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_5_ * p_70186_5_); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70186_1_, p_70186_5_) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70186_3_, f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - @Override - @SideOnly(Side.CLIENT) - public void setPositionAndRotation2(double p_70056_1_, double p_70056_3_, double p_70056_5_, float p_70056_7_, float p_70056_8_, int p_70056_9_) - { - this.setPosition(p_70056_1_, p_70056_3_, p_70056_5_); - this.setRotation(p_70056_7_, p_70056_8_); - } - - /** - * Sets the velocity to the args. Args: x, y, z - */ - @Override - @SideOnly(Side.CLIENT) - public void setVelocity(double p_70016_1_, double p_70016_3_, double p_70016_5_) - { - this.motionX = p_70016_1_; - this.motionY = p_70016_3_; - this.motionZ = p_70016_5_; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(p_70016_1_ * p_70016_1_ + p_70016_5_ * p_70016_5_); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70016_1_, p_70016_5_) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70016_3_, f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - //@Override - @Override - public void onUpdate() - { - super.onUpdate(); - - if(this.ticksExisted > 100) - this.setDead(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - //this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - Block block = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f); - - if (block.getMaterial() != Material.air) - { - block.setBlockBoundsBasedOnState(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f); - block.getCollisionBoundingBoxFromPool(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f); - if(!worldObj.isRemote) { - this.worldObj.setBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f, Blocks.air); - this.setDead(); - } - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - else - { - ++this.ticksInAir; - Vec3 vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - Vec3 vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec3 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int i; - float f1; - - for (i = 0; i < list.size(); ++i) - { - Entity entity1 = (Entity)list.get(i); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand(f1, f1, f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec31, vec3); - - if (movingobjectposition1 != null) - { - double d1 = vec31.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; - - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer)) - { - movingobjectposition = null; - } - } - - float f2; - float f4; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int k = MathHelper.ceiling_double_int(f2 * this.damage); - - if (this.getIsCritical()) - { - k += this.rand.nextInt(k / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.generic; - } - else - { - damagesource = DamageSource.generic; - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, k)) - { - if (movingobjectposition.entityHit instanceof EntityLivingBase) - { - EntityLivingBase entitylivingbase = (EntityLivingBase)movingobjectposition.entityHit; - - if (this.knockbackStrength > 0) - { - f4 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f4 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * this.knockbackStrength * 0.6000000238418579D / f4, 0.1D, this.motionZ * this.knockbackStrength * 0.6000000238418579D / f4); - } - } - - if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) - { - EnchantmentHelper.func_151384_a(entitylivingbase, this.shootingEntity); - EnchantmentHelper.func_151385_b((EntityLivingBase)this.shootingEntity, entitylivingbase); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); - } - } - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { - if (!this.worldObj.isRemote && movingobjectposition.entityHit instanceof EntityLivingBase) - { - movingobjectposition.entityHit.attackEntityFrom(damagesource, (float) this.damage); - if(!worldObj.isRemote) - this.worldObj.setBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f, Blocks.air); - this.setDead(); - } - } - } - } - else - { - this.field_145791_d = movingobjectposition.blockX; - this.field_145792_e = movingobjectposition.blockY; - this.field_145789_f = movingobjectposition.blockZ; - this.field_145790_g = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f); - this.inData = this.worldObj.getBlockMetadata(this.field_145791_d, this.field_145792_e, this.field_145789_f); - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - f1 = 0.05F; - - if (this.isInWater()) - { - for (int l = 0; l < 4; ++l) - { - f4 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * f4, this.posY - this.motionY * f4, this.posZ - this.motionZ * f4, this.motionX, this.motionY, this.motionZ); - } - } - - if (this.isWet()) - { - this.extinguish(); - } - - this.setPosition(this.posX, this.posY, this.posZ); - this.func_145775_I(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound p_70014_1_) - { - p_70014_1_.setShort("xTile", (short)this.field_145791_d); - p_70014_1_.setShort("yTile", (short)this.field_145792_e); - p_70014_1_.setShort("zTile", (short)this.field_145789_f); - p_70014_1_.setShort("life", (short)this.ticksInGround); - p_70014_1_.setByte("inTile", (byte)Block.getIdFromBlock(this.field_145790_g)); - p_70014_1_.setByte("inData", (byte)this.inData); - p_70014_1_.setByte("shake", (byte)this.arrowShake); - p_70014_1_.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - p_70014_1_.setByte("pickup", (byte)this.canBePickedUp); - p_70014_1_.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound p_70037_1_) - { - this.field_145791_d = p_70037_1_.getShort("xTile"); - this.field_145792_e = p_70037_1_.getShort("yTile"); - this.field_145789_f = p_70037_1_.getShort("zTile"); - this.ticksInGround = p_70037_1_.getShort("life"); - this.field_145790_g = Block.getBlockById(p_70037_1_.getByte("inTile") & 255); - this.inData = p_70037_1_.getByte("inData") & 255; - this.arrowShake = p_70037_1_.getByte("shake") & 255; - this.inGround = p_70037_1_.getByte("inGround") == 1; - - if (p_70037_1_.hasKey("damage", 99)) - { - this.damage = p_70037_1_.getDouble("damage"); - } - - if (p_70037_1_.hasKey("pickup", 99)) - { - this.canBePickedUp = p_70037_1_.getByte("pickup"); - } - else if (p_70037_1_.hasKey("player", 99)) - { - this.canBePickedUp = p_70037_1_.getBoolean("player") ? 1 : 0; - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - @Override - protected boolean canTriggerWalking() - { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double p_70239_1_) - { - this.damage = p_70239_1_; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int p_70240_1_) - { - this.knockbackStrength = p_70240_1_; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - @Override - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean p_70243_1_) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (p_70243_1_) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } -} diff --git a/src/main/java/com/hbm/entity/projectile/EntityPlasmaBeam.java b/src/main/java/com/hbm/entity/projectile/EntityPlasmaBeam.java deleted file mode 100644 index 406d71d14..000000000 --- a/src/main/java/com/hbm/entity/projectile/EntityPlasmaBeam.java +++ /dev/null @@ -1,556 +0,0 @@ -package com.hbm.entity.projectile; - -import java.util.List; - -import com.hbm.entity.grenade.EntityGrenadeZOMG; -import com.hbm.explosion.ExplosionChaos; -import com.hbm.explosion.ExplosionThermo; -import com.hbm.items.ModItems; -import com.hbm.lib.ModDamageSource; -import com.hbm.main.MainRegistry; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.play.server.S2BPacketChangeGameState; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class EntityPlasmaBeam extends Entity implements IProjectile -{ - private int field_145791_d = -1; - private int field_145792_e = -1; - private int field_145789_f = -1; - public double gravity = 0.0D; - private Block field_145790_g; - private int inData; - private boolean inGround; - /** 1 if the player can pick up the arrow */ - public int canBePickedUp; - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake; - /** The owner of this arrow. */ - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir; - private double damage = 2.0D; - /** The amount of knockback an arrow applies when it hits a mob. */ - private int knockbackStrength; - public EntityPlasmaBeam(World p_i1753_1_) - { - super(p_i1753_1_); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityPlasmaBeam(World p_i1754_1_, double p_i1754_2_, double p_i1754_4_, double p_i1754_6_) - { - super(p_i1754_1_); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(p_i1754_2_, p_i1754_4_, p_i1754_6_); - this.yOffset = 0.0F; - } - - public EntityPlasmaBeam(World p_i1755_1_, EntityLivingBase p_i1755_2_, EntityLivingBase p_i1755_3_, float p_i1755_4_, float p_i1755_5_) - { - super(p_i1755_1_); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = p_i1755_2_; - - if (p_i1755_2_ instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.posY = p_i1755_2_.posY + p_i1755_2_.getEyeHeight() - 0.10000000149011612D; - double d0 = p_i1755_3_.posX - p_i1755_2_.posX; - double d1 = p_i1755_3_.boundingBox.minY + p_i1755_3_.height / 3.0F - this.posY; - double d2 = p_i1755_3_.posZ - p_i1755_2_.posZ; - double d3 = MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(p_i1755_2_.posX + d4, this.posY, p_i1755_2_.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + f4, d2, p_i1755_4_, p_i1755_5_); - } - } - - public EntityPlasmaBeam(World p_i1756_1_, EntityLivingBase p_i1756_2_, float p_i1756_3_, int dmgMin, int dmgMax, EntityGrenadeZOMG grenade) { - super(p_i1756_1_); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = p_i1756_2_; - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(grenade.posX, grenade.posY + grenade.getEyeHeight(), grenade.posZ, - grenade.rotationYaw, grenade.rotationPitch); - this.posX -= MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F; - this.posY -= 0.10000000149011612D; - this.posZ -= MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F; - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = -MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) - * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI); - this.motionZ = MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) - * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI); - this.motionY = (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, p_i1756_3_ * 1.5F, 1.0F); - } - - public EntityPlasmaBeam(World p_i1756_1_, EntityLivingBase p_i1756_2_, float p_i1756_3_) - { - super(p_i1756_1_); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = p_i1756_2_; - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(p_i1756_2_.posX, p_i1756_2_.posY + p_i1756_2_.getEyeHeight(), p_i1756_2_.posZ, p_i1756_2_.rotationYaw, p_i1756_2_.rotationPitch); - this.posX -= MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F; - this.posY -= 0.10000000149011612D; - this.posZ -= MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F; - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = -MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI); - this.motionZ = MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI); - this.motionY = (-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, p_i1756_3_ * 1.5F, 1.0F); - } - - public EntityPlasmaBeam(World world, int x, int y, int z, double mx, double my, double mz, double grav) { - super(world); - this.posX = x + 0.5F; - this.posY = y + 0.5F; - this.posZ = z + 0.5F; - - this.motionX = mx; - this.motionY = my; - this.motionZ = mz; - - this.gravity = grav; - } - - @Override - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - @Override - public void setThrowableHeading(double p_70186_1_, double p_70186_3_, double p_70186_5_, float p_70186_7_, float p_70186_8_) - { - float f2 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_3_ * p_70186_3_ + p_70186_5_ * p_70186_5_); - p_70186_1_ /= f2; - p_70186_3_ /= f2; - p_70186_5_ /= f2; - p_70186_1_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.002499999832361937D * p_70186_8_; - p_70186_3_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.002499999832361937D * p_70186_8_; - p_70186_5_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.002499999832361937D * p_70186_8_; - p_70186_1_ *= p_70186_7_; - p_70186_3_ *= p_70186_7_; - p_70186_5_ *= p_70186_7_; - this.motionX = p_70186_1_; - this.motionY = p_70186_3_; - this.motionZ = p_70186_5_; - float f3 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_5_ * p_70186_5_); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70186_1_, p_70186_5_) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70186_3_, f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - @Override - @SideOnly(Side.CLIENT) - public void setPositionAndRotation2(double p_70056_1_, double p_70056_3_, double p_70056_5_, float p_70056_7_, float p_70056_8_, int p_70056_9_) - { - this.setPosition(p_70056_1_, p_70056_3_, p_70056_5_); - this.setRotation(p_70056_7_, p_70056_8_); - } - - /** - * Sets the velocity to the args. Args: x, y, z - */ - @Override - @SideOnly(Side.CLIENT) - public void setVelocity(double p_70016_1_, double p_70016_3_, double p_70016_5_) - { - this.motionX = p_70016_1_; - this.motionY = p_70016_3_; - this.motionZ = p_70016_5_; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(p_70016_1_ * p_70016_1_ + p_70016_5_ * p_70016_5_); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70016_1_, p_70016_5_) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70016_3_, f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - //@Override - @Override - public void onUpdate() - { - super.onUpdate(); - - if(this.ticksExisted > 100) - this.setDead(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - //this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - Block block = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f); - - if (block.getMaterial() != Material.air) - { - block.setBlockBoundsBasedOnState(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f); - block.getCollisionBoundingBoxFromPool(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f); - if(!worldObj.isRemote) { - ExplosionChaos.burn(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 2); - ExplosionChaos.flameDeath(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 5); - ExplosionThermo.scorchLight(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 3); - } - this.setDead(); - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - else - { - ++this.ticksInAir; - Vec3 vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - Vec3 vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec3 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int i; - float f1; - - for (i = 0; i < list.size(); ++i) - { - Entity entity1 = (Entity)list.get(i); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand(f1, f1, f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec31, vec3); - - if (movingobjectposition1 != null) - { - double d1 = vec31.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; - - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer)) - { - movingobjectposition = null; - } - - if(this.ticksExisted > 5 && surviveImmolation(entityplayer)) - movingobjectposition = null; - } - - float f2; - float f4; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int k = MathHelper.ceiling_double_int(f2 * this.damage); - - if (this.getIsCritical()) - { - k += this.rand.nextInt(k / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.generic; - } - else - { - damagesource = ModDamageSource.causePlasmaDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, k)) - { - if (movingobjectposition.entityHit instanceof EntityLivingBase) - { - EntityLivingBase entitylivingbase = (EntityLivingBase)movingobjectposition.entityHit; - - if (this.knockbackStrength > 0) - { - f4 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f4 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * this.knockbackStrength * 0.6000000238418579D / f4, 0.1D, this.motionZ * this.knockbackStrength * 0.6000000238418579D / f4); - } - } - - if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) - { - EnchantmentHelper.func_151384_a(entitylivingbase, this.shootingEntity); - EnchantmentHelper.func_151385_b((EntityLivingBase)this.shootingEntity, entitylivingbase); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); - } - } - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { - if (!this.worldObj.isRemote && movingobjectposition.entityHit instanceof EntityLivingBase) - { - movingobjectposition.entityHit.attackEntityFrom(damagesource, 25 + rand.nextInt(20)); - if(!worldObj.isRemote) { - ExplosionChaos.burn(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 2); - ExplosionChaos.flameDeath(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 5); - ExplosionThermo.scorchLight(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 3); - } - this.setDead(); - } - } - } - } - else - { - this.field_145791_d = movingobjectposition.blockX; - this.field_145792_e = movingobjectposition.blockY; - this.field_145789_f = movingobjectposition.blockZ; - this.field_145790_g = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f); - this.inData = this.worldObj.getBlockMetadata(this.field_145791_d, this.field_145792_e, this.field_145789_f); - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - f1 = 0.05F; - - if (this.isInWater()) - { - this.setDead(); - if(!worldObj.isRemote) { - ExplosionChaos.burn(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 2); - ExplosionChaos.flameDeath(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 5); - ExplosionThermo.scorchLight(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 3); - } - } - - if (this.isWet()) - { - this.extinguish(); - } - - this.setPosition(this.posX, this.posY, this.posZ); - this.func_145775_I(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound p_70014_1_) - { - p_70014_1_.setShort("xTile", (short)this.field_145791_d); - p_70014_1_.setShort("yTile", (short)this.field_145792_e); - p_70014_1_.setShort("zTile", (short)this.field_145789_f); - p_70014_1_.setShort("life", (short)this.ticksInGround); - p_70014_1_.setByte("inTile", (byte)Block.getIdFromBlock(this.field_145790_g)); - p_70014_1_.setByte("inData", (byte)this.inData); - p_70014_1_.setByte("shake", (byte)this.arrowShake); - p_70014_1_.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - p_70014_1_.setByte("pickup", (byte)this.canBePickedUp); - p_70014_1_.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound p_70037_1_) - { - this.field_145791_d = p_70037_1_.getShort("xTile"); - this.field_145792_e = p_70037_1_.getShort("yTile"); - this.field_145789_f = p_70037_1_.getShort("zTile"); - this.ticksInGround = p_70037_1_.getShort("life"); - this.field_145790_g = Block.getBlockById(p_70037_1_.getByte("inTile") & 255); - this.inData = p_70037_1_.getByte("inData") & 255; - this.arrowShake = p_70037_1_.getByte("shake") & 255; - this.inGround = p_70037_1_.getByte("inGround") == 1; - - if (p_70037_1_.hasKey("damage", 99)) - { - this.damage = p_70037_1_.getDouble("damage"); - } - - if (p_70037_1_.hasKey("pickup", 99)) - { - this.canBePickedUp = p_70037_1_.getByte("pickup"); - } - else if (p_70037_1_.hasKey("player", 99)) - { - this.canBePickedUp = p_70037_1_.getBoolean("player") ? 1 : 0; - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - @Override - protected boolean canTriggerWalking() - { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double p_70239_1_) - { - this.damage = p_70239_1_; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int p_70240_1_) - { - this.knockbackStrength = p_70240_1_; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - @Override - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean p_70243_1_) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (p_70243_1_) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - private boolean surviveImmolation(EntityPlayer player) { - if(player.inventory.hasItem(ModItems.gun_revolver_pip) && player.inventory.hasItem(ModItems.bottle_sparkle) && player.inventory.hasItem(ModItems.geiger_counter)) { - player.triggerAchievement(MainRegistry.achSacrifice); - player.addPotionEffect(new PotionEffect(Potion.regeneration.id, 3 * 20, 6)); - return true; - } else { - return false; - } - } -} diff --git a/src/main/java/com/hbm/entity/projectile/EntityRocket.java b/src/main/java/com/hbm/entity/projectile/EntityRocket.java index d46c15a82..a573b13dc 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityRocket.java +++ b/src/main/java/com/hbm/entity/projectile/EntityRocket.java @@ -24,6 +24,7 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; +// still in use for cluster munitions - somehow! let this fucking class die already public class EntityRocket extends Entity implements IProjectile { private int field_145791_d = -1; diff --git a/src/main/java/com/hbm/entity/projectile/EntityRocketHoming.java b/src/main/java/com/hbm/entity/projectile/EntityRocketHoming.java deleted file mode 100644 index c035c0833..000000000 --- a/src/main/java/com/hbm/entity/projectile/EntityRocketHoming.java +++ /dev/null @@ -1,750 +0,0 @@ -package com.hbm.entity.projectile; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import com.hbm.explosion.ExplosionLarge; -import com.hbm.explosion.ExplosionNukeSmall; -import com.hbm.handler.radiation.ChunkRadiationManager; -import com.hbm.items.ModItems; -import com.hbm.lib.Library; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.monster.EntitySkeleton; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.play.server.S2BPacketChangeGameState; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class EntityRocketHoming extends Entity implements IProjectile -{ - private int field_145791_d = -1; - private int field_145792_e = -1; - private int field_145789_f = -1; - public double gravity = 0.0D; - private Block field_145790_g; - private int inData; - private boolean inGround; - public int canBePickedUp; - public int arrowShake; - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir; - private double damage = 2.0D; - private int knockbackStrength; - private float explosionStrength; - - // specifies the type of stinger rocket that was fired - /* 0 = Normal - * 1 = HE - * 2 = Incendiary - * 4 = Nuclear - * 42 = bone-seeking - */ - public int type; - - - public EntityRocketHoming(World p_i1753_1_) - { - super(p_i1753_1_); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityRocketHoming(World p_i1754_1_, double p_i1754_2_, double p_i1754_4_, double p_i1754_6_) - { - super(p_i1754_1_); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(p_i1754_2_, p_i1754_4_, p_i1754_6_); - this.yOffset = 0.0F; - } - - public EntityRocketHoming(World p_i1755_1_, EntityLivingBase p_i1755_2_, EntityLivingBase p_i1755_3_, float p_i1755_4_, float p_i1755_5_, int rocketType) - { - super(p_i1755_1_); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = p_i1755_2_; - this.type = rocketType; - - if (p_i1755_2_ instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.posY = p_i1755_2_.posY + p_i1755_2_.getEyeHeight() - 0.10000000149011612D; - double d0 = p_i1755_3_.posX - p_i1755_2_.posX; - double d1 = p_i1755_3_.boundingBox.minY + p_i1755_3_.height / 3.0F - this.posY; - double d2 = p_i1755_3_.posZ - p_i1755_2_.posZ; - double d3 = MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(p_i1755_2_.posX + d4, this.posY, p_i1755_2_.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + f4, d2, p_i1755_4_, p_i1755_5_); - } - } - - public EntityRocketHoming(World p_i1756_1_, EntityLivingBase p_i1756_2_, float p_i1756_3_, float strength, int type) - { - super(p_i1756_1_); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = p_i1756_2_; - this.type = type; - - if (p_i1756_2_ instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(p_i1756_2_.posX, p_i1756_2_.posY + p_i1756_2_.getEyeHeight(), p_i1756_2_.posZ, p_i1756_2_.rotationYaw, p_i1756_2_.rotationPitch); - this.posX -= MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F; - this.posY -= 0.10000000149011612D; - this.posZ -= MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F; - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = -MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI); - this.motionZ = MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI); - this.motionY = (-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, p_i1756_3_ * 1.5F, 1.0F); - this.explosionStrength = strength; - } - - public EntityRocketHoming(World world, int x, int y, int z, double mx, double my, double mz, double grav) { - super(world); - this.posX = x + 0.5F; - this.posY = y + 0.5F; - this.posZ = z + 0.5F; - - this.motionX = mx; - this.motionY = my; - this.motionZ = mz; - - this.gravity = grav; - } - - @Override - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - @Override - public void setThrowableHeading(double p_70186_1_, double p_70186_3_, double p_70186_5_, float p_70186_7_, float p_70186_8_) - { - float f2 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_3_ * p_70186_3_ + p_70186_5_ * p_70186_5_); - p_70186_1_ /= f2; - p_70186_3_ /= f2; - p_70186_5_ /= f2; - p_70186_1_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * p_70186_8_; - p_70186_3_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * p_70186_8_; - p_70186_5_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * p_70186_8_; - p_70186_1_ *= p_70186_7_; - p_70186_3_ *= p_70186_7_; - p_70186_5_ *= p_70186_7_; - this.motionX = p_70186_1_; - this.motionY = p_70186_3_; - this.motionZ = p_70186_5_; - float f3 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_5_ * p_70186_5_); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70186_1_, p_70186_5_) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70186_3_, f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - @Override - @SideOnly(Side.CLIENT) - public void setPositionAndRotation2(double p_70056_1_, double p_70056_3_, double p_70056_5_, float p_70056_7_, float p_70056_8_, int p_70056_9_) - { - this.setPosition(p_70056_1_, p_70056_3_, p_70056_5_); - this.setRotation(p_70056_7_, p_70056_8_); - } - - /** - * Sets the velocity to the args. Args: x, y, z - */ - @Override - @SideOnly(Side.CLIENT) - public void setVelocity(double p_70016_1_, double p_70016_3_, double p_70016_5_) - { - this.motionX = p_70016_1_; - this.motionY = p_70016_3_; - this.motionZ = p_70016_5_; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(p_70016_1_ * p_70016_1_ + p_70016_5_ * p_70016_5_); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70016_1_, p_70016_5_) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70016_3_, f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - //@Override - @Override - public void onUpdate() - { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - //this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - Block block = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f); - - if (block.getMaterial() != Material.air) - { - block.setBlockBoundsBasedOnState(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f); - AxisAlignedBB axisalignedbb = block.getCollisionBoundingBoxFromPool(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f); - - if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) - { - this.inGround = true; - } - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - - if (this.inGround) - { - /*int j = this.worldObj.getBlockMetadata(this.field_145791_d, this.field_145792_e, this.field_145789_f); - if (block == this.field_145790_g && j == this.inData) - { - ++this.ticksInGround; - if (this.ticksInGround == 1200) - { - this.setDead(); - } - } - else - { - this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - }*/ - - - if (!this.worldObj.isRemote) - { - //this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 2.5F, true); - Explode(this.type, this.explosionStrength); - /*EntityNukeExplosionAdvanced explosion = new EntityNukeExplosionAdvanced(this.worldObj); - explosion.speed = 25; - explosion.coefficient = 5.0F; - explosion.destructionRange = 20; - explosion.posX = this.posX; - explosion.posY = this.posY; - explosion.posZ = this.posZ; - this.worldObj.spawnEntityInWorld(explosion);*/ - } - this.setDead(); - } - else - { - ++this.ticksInAir; - Vec3 vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - Vec3 vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec3 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int i; - float f1; - - for (i = 0; i < list.size(); ++i) - { - Entity entity1 = (Entity)list.get(i); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand(f1, f1, f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec31, vec3); - - if (movingobjectposition1 != null) - { - double d1 = vec31.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } - } - - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; - - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer)) - { - movingobjectposition = null; - } - } - - float f2; - float f4; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int k = MathHelper.ceiling_double_int(f2 * this.damage); - - if (this.getIsCritical()) - { - k += this.rand.nextInt(k / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.causeIndirectMagicDamage(this, this); - } - else - { - damagesource = DamageSource.causeIndirectMagicDamage(this, this); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, k)) - { - if (movingobjectposition.entityHit instanceof EntityLivingBase) - { - EntityLivingBase entitylivingbase = (EntityLivingBase)movingobjectposition.entityHit; - - if (this.knockbackStrength > 0) - { - f4 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f4 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * this.knockbackStrength * 0.6000000238418579D / f4, 0.1D, this.motionZ * this.knockbackStrength * 0.6000000238418579D / f4); - } - } - - if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) - { - EnchantmentHelper.func_151384_a(entitylivingbase, this.shootingEntity); - EnchantmentHelper.func_151385_b((EntityLivingBase)this.shootingEntity, entitylivingbase); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); - } - } - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { - if (!this.worldObj.isRemote) - { - //this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 2.5F, true); - Explode(this.type, this.explosionStrength); - } - this.setDead(); - } - } - else - { - if (!this.worldObj.isRemote) - { - //this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 2.5F, true); - Explode(this.type, this.explosionStrength); - } - this.setDead(); - } - } - else - { - this.field_145791_d = movingobjectposition.blockX; - this.field_145792_e = movingobjectposition.blockY; - this.field_145789_f = movingobjectposition.blockZ; - this.field_145790_g = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f); - this.inData = this.worldObj.getBlockMetadata(this.field_145791_d, this.field_145792_e, this.field_145789_f); - this.motionX = ((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = ((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = ((float)(movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / f2 * 0.05000000074505806D; - this.posY -= this.motionY / f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / f2 * 0.05000000074505806D; - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.field_145790_g.getMaterial() != Material.air) - { - this.field_145790_g.onEntityCollidedWithBlock(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f, this); - } - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - //for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - /*while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; - }*/ - - f1 = 0.05F; - - if (this.isInWater()) - { - for (int l = 0; l < 4; ++l) - { - f4 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * f4, this.posY - this.motionY * f4, this.posZ - this.motionZ * f4, this.motionX, this.motionY, this.motionZ); - } - } - - if (this.isWet()) - { - this.extinguish(); - } - - /*this.motionX *= f3; - this.motionY *= f3; - this.motionZ *= f3;*/ - //this.motionY -= gravity; - this.setPosition(this.posX, this.posY, this.posZ); - this.func_145775_I(); - } - - if(!steer()) - lockonTicks = 0; - - if (this.ticksExisted > 250) - this.setDead(); - } - - public int homingRadius = 35; - public int homingMod = 15; - public float acceptance = 120; - int lockonTicks = 0; - boolean hasBeeped = false; - - private boolean steer() { - List all = null; - if(this.type == 42) { - all = worldObj.getEntitiesWithinAABB(EntitySkeleton.class, AxisAlignedBB.getBoundingBox(posX - homingRadius, posY - homingRadius, posZ - homingRadius, posX + homingRadius, posY + homingRadius, posZ + homingRadius)); - } else { - all = worldObj.getEntitiesWithinAABBExcludingEntity(this, AxisAlignedBB.getBoundingBox(posX - homingRadius, posY - homingRadius, posZ - homingRadius, posX + homingRadius, posY + homingRadius, posZ + homingRadius)); - } - - HashMap targetable = new HashMap(); - Vec3 path = Vec3.createVectorHelper(motionX, motionY, motionZ); - double startSpeed = path.lengthVector(); - path.normalize(); - - if(all.isEmpty()) - return false; - - //Iterate through all entities and only allocate ones that can be targeted - for(Entity e : all) { - - if(e == this.shootingEntity) - continue; - - Vec3 rel = Vec3.createVectorHelper(e.posX - posX, e.posY + e.getEyeHeight() - posY, e.posZ - posZ); - double vecProd = rel.xCoord * path.xCoord + rel.yCoord * path.yCoord + rel.zCoord * path.zCoord; - double bot = rel.lengthVector() * path.lengthVector(); - double angle = Math.acos(vecProd / bot) * 180 / Math.PI; - - if(angle <= acceptance); - if(e.height * e.width * e.width >= 0.5D) - if(!Library.isObstructed(worldObj, e.posX, e.posY, e.posZ, posX, posY, posZ)) - targetable.put(e, angle); - } - - if(targetable.isEmpty()) - return false; - - double smallest = Double.POSITIVE_INFINITY; - Entity nearestE = null; - - //Iterate through all entities and choose the one that has the smallest angle - for(Map.Entry entry : targetable.entrySet()) { - if(entry.getValue() < smallest) { - smallest = entry.getValue(); - nearestE = entry.getKey(); - } - } - - if(nearestE == null) - return false; - - Vec3 winVec = Vec3.createVectorHelper(nearestE.posX - posX, nearestE.posY - posY, nearestE.posZ - posZ); - - winVec.normalize(); - - double newX = ((path.xCoord * (smallest * homingMod - 1)) + winVec.xCoord) / (smallest * homingMod); - double newY = ((path.yCoord * (smallest * homingMod - 1)) + winVec.yCoord) / (smallest * homingMod); - double newZ = ((path.zCoord * (smallest * homingMod - 1)) + winVec.zCoord) / (smallest * homingMod); - - Vec3 newPath = Vec3.createVectorHelper(newX, newY, newZ); - newPath.normalize(); - newPath.xCoord *= startSpeed; - newPath.yCoord *= startSpeed; - newPath.zCoord *= startSpeed; - - motionX = newPath.xCoord; - motionY = newPath.yCoord; - motionZ = newPath.zCoord; - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, (float)startSpeed, 0.0F); - - lockonTicks++; - if(lockonTicks == 5 && !hasBeeped) { - if(this.getIsCritical()) - worldObj.playSoundAtEntity(this, "hbm:weapon.stingerLockOn", 10F, 0.75F); - else - worldObj.playSoundAtEntity(this, "hbm:weapon.stingerLockOn", 10F, 1F); - hasBeeped = true; - } - - return true; - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound p_70014_1_) - { - p_70014_1_.setShort("xTile", (short)this.field_145791_d); - p_70014_1_.setShort("yTile", (short)this.field_145792_e); - p_70014_1_.setShort("zTile", (short)this.field_145789_f); - p_70014_1_.setShort("life", (short)this.ticksInGround); - p_70014_1_.setByte("inTile", (byte)Block.getIdFromBlock(this.field_145790_g)); - p_70014_1_.setByte("inData", (byte)this.inData); - p_70014_1_.setByte("shake", (byte)this.arrowShake); - p_70014_1_.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - p_70014_1_.setByte("pickup", (byte)this.canBePickedUp); - p_70014_1_.setDouble("damage", this.damage); - p_70014_1_.setFloat("strength", (byte)this.explosionStrength); - p_70014_1_.setByte("type", (byte)this.type); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound p_70037_1_) - { - this.field_145791_d = p_70037_1_.getShort("xTile"); - this.field_145792_e = p_70037_1_.getShort("yTile"); - this.field_145789_f = p_70037_1_.getShort("zTile"); - this.ticksInGround = p_70037_1_.getShort("life"); - this.field_145790_g = Block.getBlockById(p_70037_1_.getByte("inTile") & 255); - this.inData = p_70037_1_.getByte("inData") & 255; - this.arrowShake = p_70037_1_.getByte("shake") & 255; - this.inGround = p_70037_1_.getByte("inGround") == 1; - this.explosionStrength = p_70037_1_.getFloat("strength"); - this.type = p_70037_1_.getByte("type"); - - if (p_70037_1_.hasKey("damage", 99)) - { - this.damage = p_70037_1_.getDouble("damage"); - } - - if (p_70037_1_.hasKey("pickup", 99)) - { - this.canBePickedUp = p_70037_1_.getByte("pickup"); - } - else if (p_70037_1_.hasKey("player", 99)) - { - this.canBePickedUp = p_70037_1_.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - @Override - public void onCollideWithPlayer(EntityPlayer p_70100_1_) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && p_70100_1_.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !p_70100_1_.inventory.addItemStackToInventory(new ItemStack(ModItems.ammo_stinger_rocket, 1))) - { - flag = false; - } - - if (flag) - { - p_70100_1_.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - @Override - protected boolean canTriggerWalking() - { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double p_70239_1_) - { - this.damage = p_70239_1_; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int p_70240_1_) - { - this.knockbackStrength = p_70240_1_; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - @Override - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean p_70243_1_) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (p_70243_1_) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - public void Explode(int type, float strength) { - switch(type) { - case 42: ChunkRadiationManager.proxy.incrementRad(worldObj, (int)posX, (int)posY, (int)posZ, 2000); - case 0: ExplosionLarge.explode(worldObj, posX, posY, posZ, strength, true, false, true); break; - case 1: ExplosionLarge.explode(worldObj, posX, posY, posZ, strength * 2, true, false, true); break; - case 2: ExplosionLarge.explodeFire(worldObj, posX, posY, posZ, strength, true, false, false); break; - case 4: - //ExplosionLarge.explode(worldObj, posX, posY, posZ, strength * 3, false, false, true); - ExplosionNukeSmall.explode(worldObj, posX, posY, posZ, ExplosionNukeSmall.PARAMS_MEDIUM); - break; - default: break; - } - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/entity/projectile/EntityRubble.java b/src/main/java/com/hbm/entity/projectile/EntityRubble.java index b19f7263b..4cc2daf1f 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityRubble.java +++ b/src/main/java/com/hbm/entity/projectile/EntityRubble.java @@ -2,7 +2,7 @@ package com.hbm.entity.projectile; import com.hbm.lib.ModDamageSource; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.ParticleBurstPacket; +import com.hbm.packet.toclient.ParticleBurstPacket; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.block.Block; diff --git a/src/main/java/com/hbm/entity/projectile/EntitySawblade.java b/src/main/java/com/hbm/entity/projectile/EntitySawblade.java index 9d4a3b592..62fb55b26 100644 --- a/src/main/java/com/hbm/entity/projectile/EntitySawblade.java +++ b/src/main/java/com/hbm/entity/projectile/EntitySawblade.java @@ -1,10 +1,9 @@ package com.hbm.entity.projectile; +import com.hbm.handler.threading.PacketThreading; import com.hbm.items.ModItems; import com.hbm.lib.ModDamageSource; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; - +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -37,16 +36,16 @@ public class EntitySawblade extends EntityThrowableInterp { this.dataWatcher.addObject(10, new Integer(0)); this.dataWatcher.addObject(11, new Integer(0)); } - + public EntitySawblade setOrientation(int rot) { this.dataWatcher.updateObject(10, rot); return this; } - + public int getOrientation() { return this.dataWatcher.getWatchableObjectInt(10); } - + public int getMeta() { return this.dataWatcher.getWatchableObjectInt(11); } @@ -55,10 +54,10 @@ public class EntitySawblade extends EntityThrowableInterp { public boolean interactFirst(EntityPlayer player) { if(!worldObj.isRemote) { - + if(player.inventory.addItemStackToInventory(new ItemStack(ModItems.sawblade))) this.setDead(); - + player.inventoryContainer.detectAndSendChanges(); } @@ -72,7 +71,7 @@ public class EntitySawblade extends EntityThrowableInterp { @Override protected void onImpact(MovingObjectPosition mop) { - + if(worldObj != null && mop != null && mop.typeOfHit == MovingObjectType.ENTITY && mop.entityHit.isEntityAlive()) { Entity e = mop.entityHit; e.attackEntityFrom(ModDamageSource.rubble, 1000); @@ -81,18 +80,18 @@ public class EntitySawblade extends EntityThrowableInterp { vdat.setString("type", "giblets"); vdat.setInteger("ent", e.getEntityId()); vdat.setInteger("cDiv", 5); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(vdat, e.posX, e.posY + e.height * 0.5, e.posZ), new TargetPoint(e.dimension, e.posX, e.posY + e.height * 0.5, e.posZ, 150)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(vdat, e.posX, e.posY + e.height * 0.5, e.posZ), new TargetPoint(e.dimension, e.posX, e.posY + e.height * 0.5, e.posZ, 150)); + worldObj.playSoundEffect(e.posX, e.posY, e.posZ, "mob.zombie.woodbreak", 2.0F, 0.95F + worldObj.rand.nextFloat() * 0.2F); } } - + if(this.ticksExisted > 1 && worldObj != null && mop != null && mop.typeOfHit == MovingObjectType.BLOCK) { - + int orientation = this.dataWatcher.getWatchableObjectInt(10); if(orientation < 6) { - + if(Vec3.createVectorHelper(motionX, motionY, motionZ).lengthVector() < 0.75) { this.dataWatcher.updateObject(10, orientation + 6); orientation += 6; @@ -102,13 +101,13 @@ public class EntitySawblade extends EntityThrowableInterp { this.motionY *= 1 - (Math.abs(side.offsetY) * 2); this.motionZ *= 1 - (Math.abs(side.offsetZ) * 2); worldObj.createExplosion(this, posX, posY, posZ, 3F, false); - + if(worldObj.getBlock(mop.blockX, mop.blockY, mop.blockZ).getExplosionResistance(this) < 50) { worldObj.func_147480_a(mop.blockX, mop.blockY, mop.blockZ, false); } } } - + if(orientation >= 6) { this.motionX = 0; this.motionY = 0; @@ -117,20 +116,20 @@ public class EntitySawblade extends EntityThrowableInterp { } } } - + @Override public void onUpdate() { - + if(!worldObj.isRemote) { int orientation = this.dataWatcher.getWatchableObjectInt(10); if(orientation >= 6 && !this.inGround) { this.dataWatcher.updateObject(10, orientation - 6); } } - + super.onUpdate(); } - + @Override @SideOnly(Side.CLIENT) public boolean isInRangeToRenderDist(double distance) { diff --git a/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java b/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java index a96f66097..31a3c2392 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java +++ b/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java @@ -193,7 +193,7 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { for(int j = 0; j < list.size(); ++j) { Entity entity = (Entity) list.get(j); - if(entity.canBeCollidedWith() && (entity != thrower || this.ticksInAir >= this.selfDamageDelay())) { + if(entity.canBeCollidedWith() && (entity != thrower || this.ticksInAir >= this.selfDamageDelay()) && entity.isEntityAlive()) { double hitbox = 0.3F; AxisAlignedBB aabb = entity.boundingBox.expand(hitbox, hitbox, hitbox); MovingObjectPosition hitMop = aabb.calculateIntercept(pos, nextPos); @@ -235,21 +235,11 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { float hyp = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) hyp) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { - ; - } + for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) hyp) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F); - while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { - this.prevRotationPitch += 360.0F; - } - - while(this.rotationYaw - this.prevRotationYaw < -180.0F) { - this.prevRotationYaw -= 360.0F; - } - - while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { - this.prevRotationYaw += 360.0F; - } + while(this.rotationPitch - this.prevRotationPitch >= 180.0F) this.prevRotationPitch += 360.0F; + while(this.rotationYaw - this.prevRotationYaw < -180.0F) this.prevRotationYaw -= 360.0F; + while(this.rotationYaw - this.prevRotationYaw >= 180.0F) this.prevRotationYaw += 360.0F; this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; diff --git a/src/main/java/com/hbm/entity/projectile/EntityTorpedo.java b/src/main/java/com/hbm/entity/projectile/EntityTorpedo.java new file mode 100644 index 000000000..8dc541649 --- /dev/null +++ b/src/main/java/com/hbm/entity/projectile/EntityTorpedo.java @@ -0,0 +1,68 @@ +package com.hbm.entity.projectile; + +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.particle.helper.ExplosionCreator; + +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.projectile.EntityThrowable; +import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class EntityTorpedo extends EntityThrowable { + + public EntityTorpedo(World world) { + super(world); + this.ignoreFrustumCheck = true; + this.isImmuneToFire = true; + } + + @Override + public void onUpdate() { + + if(!worldObj.isRemote && this.ticksExisted == 1) { + for(int i = 0; i < 15; i++) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "bf"); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, + posX + (rand.nextDouble() - 0.5) * 2, + posY + (rand.nextDouble() - 0.5) * 1, + posZ + (rand.nextDouble() - 0.5) * 2), + new TargetPoint(dimension, posX, posY, posZ, 150)); + } + } + + this.lastTickPosX = this.prevPosX = posX; + this.lastTickPosY = this.prevPosY = posY; + this.lastTickPosZ = this.prevPosZ = posZ; + + this.setPosition(posX + this.motionX, posY + this.motionY, posZ + this.motionZ); + + this.motionY -= 0.04; + if(motionY < -2.5) motionY = -2.5; + + if(this.worldObj.getBlock((int) this.posX, (int) this.posY, (int) this.posZ) != Blocks.air) { + if(!worldObj.isRemote) { + this.setDead(); + ExplosionCreator.composeEffectStandard(worldObj, posX, posY + 1, posZ); + ExplosionVNT vnt = new ExplosionVNT(worldObj, posX, posY, posZ, 20F); + vnt.makeStandard(); + vnt.explode(); + } + } + } + + @Override + protected void onImpact(MovingObjectPosition p_70184_1_) { } + + @Override + @SideOnly(Side.CLIENT) + public boolean isInRangeToRenderDist(double distance) { + return distance < 25000; + } +} diff --git a/src/main/java/com/hbm/entity/projectile/EntityWaterSplash.java b/src/main/java/com/hbm/entity/projectile/EntityWaterSplash.java index 4eed4570b..49ea4ae20 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityWaterSplash.java +++ b/src/main/java/com/hbm/entity/projectile/EntityWaterSplash.java @@ -24,7 +24,7 @@ public class EntityWaterSplash extends EntityThrowable { public EntityWaterSplash(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) { super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_); } - + @Override public void onUpdate() { super.onUpdate(); @@ -35,8 +35,12 @@ public class EntityWaterSplash extends EntityThrowable { this.setDead(); } } else { - - MainRegistry.proxy.particleControl(posX, posY, posZ, 0); + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "waterSplash"); + data.setDouble("posX", posX); + data.setDouble("posY", posY); + data.setDouble("posZ", posZ); + MainRegistry.proxy.effectNT(data); } } diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java index 99f2c5c05..2bd2b1653 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTram.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -6,13 +6,12 @@ import com.hbm.blocks.rail.IRailNTM.TrackGauge; import com.hbm.inventory.gui.GuiInfoContainer; import com.hbm.lib.RefStrings; import com.hbm.tileentity.IGUIProvider; +import com.hbm.util.i18n.I18nUtil; import api.hbm.energymk2.IBatteryItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -97,7 +96,7 @@ public class TrainCargoTram extends EntityRailCarElectric implements IGUIProvide @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUITrainCargoTram(player.inventory, this); } @@ -192,9 +191,9 @@ public class TrainCargoTram extends EntityRailCarElectric implements IGUIProvide @Override protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.train.hasCustomInventoryName() ? this.train.getInventoryName() : I18n.format(this.train.getInventoryName()); + String name = this.train.hasCustomInventoryName() ? this.train.getInventoryName() : I18nUtil.format(this.train.getInventoryName()); this.fontRendererObj.drawString(name, 140 / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 0xffffff); - this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + this.fontRendererObj.drawString(I18nUtil.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); } @Override diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java b/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java index afefb1d9a..85d9a805c 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java @@ -12,7 +12,6 @@ import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; @@ -88,7 +87,7 @@ public class TrainCargoTramTrailer extends EntityRailCarCargo implements IGUIPro @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUITrainCargoTramTrailer(player.inventory, this); } diff --git a/src/main/java/com/hbm/entity/train/TrainTunnelBore.java b/src/main/java/com/hbm/entity/train/TrainTunnelBore.java deleted file mode 100644 index f7b10493e..000000000 --- a/src/main/java/com/hbm/entity/train/TrainTunnelBore.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.hbm.entity.train; - -import com.hbm.blocks.rail.IRailNTM.TrackGauge; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.DamageSource; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class TrainTunnelBore extends EntityRailCarRidable { - - public TrainTunnelBore(World world) { - super(world); - this.setSize(6F, 4F); - } - - @Override public double getPoweredAcceleration() { return 0.01; } - @Override public double getPassivBrake() { return 0.95; } - @Override public boolean shouldUseEngineBrake(EntityPlayer player) { return Math.abs(this.engineSpeed) < 0.1; } - @Override public double getMaxPoweredSpeed() { return 0.5; } - @Override public double getMaxRailSpeed() { return 1; } - - @Override public TrackGauge getGauge() { return TrackGauge.STANDARD; } - @Override public double getLengthSpan() { return 2.5; } - @Override public double getCollisionSpan() { return 4.5; } - @Override public Vec3 getRiderSeatPosition() { return Vec3.createVectorHelper(0.0, 2.375, -2.375); } - @Override public boolean shouldRiderSit() { return true; } - @Override public int getSizeInventory() { return 0; } - @Override public String getInventoryName() { return this.hasCustomInventoryName() ? this.getEntityName() : "container.trainTunnelBore"; } - @Override public double getCouplingDist(TrainCoupling coupling) { return coupling != null ? 2.75 : 0; } - - @Override public boolean canAccelerate() { return true; } - @Override public Vec3[] getPassengerSeats() { return new Vec3[0]; } - - @Override - public DummyConfig[] getDummies() { - return new DummyConfig[] { - new DummyConfig(2F, 3F, Vec3.createVectorHelper(0, 0, 2.5)), - new DummyConfig(2F, 3F, Vec3.createVectorHelper(0, 0, 1.25)), - new DummyConfig(2F, 3F, Vec3.createVectorHelper(0, 0, 0)), - new DummyConfig(2F, 3F, Vec3.createVectorHelper(0, 0, -1.25)), - new DummyConfig(2F, 3F, Vec3.createVectorHelper(0, 0, -2.5)) - }; - } - - @Override - public boolean attackEntityFrom(DamageSource source, float amount) { - if(!this.worldObj.isRemote && !this.isDead) { - this.setDead(); - } - - return true; - } -} diff --git a/src/main/java/com/hbm/explosion/ExplosionChaos.java b/src/main/java/com/hbm/explosion/ExplosionChaos.java index ea23952ef..a3a249089 100644 --- a/src/main/java/com/hbm/explosion/ExplosionChaos.java +++ b/src/main/java/com/hbm/explosion/ExplosionChaos.java @@ -7,9 +7,6 @@ import com.hbm.blocks.ModBlocks; import com.hbm.entity.grenade.EntityGrenadeTau; import com.hbm.entity.grenade.EntityGrenadeZOMG; import com.hbm.entity.item.EntityFallingBlockNT; -import com.hbm.entity.missile.EntityMissileAntiBallistic; -import com.hbm.entity.missile.EntityMissileBase; -import com.hbm.entity.particle.EntityChlorineFX; import com.hbm.entity.particle.EntityCloudFX; import com.hbm.entity.particle.EntityModFX; import com.hbm.entity.particle.EntityOrangeFX; @@ -30,7 +27,6 @@ import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityTNTPrimed; import net.minecraft.entity.passive.EntitySheep; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityArrow; @@ -42,57 +38,13 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -@Spaghetti("no") -public class ExplosionChaos { +@Deprecated +@Spaghetti("my eyes are bleeding") +public class ExplosionChaos { //TODO: destroy this entire class private final static Random random = new Random(); private static Random rand = new Random(); - public static void explode(World world, int x, int y, int z, int bombStartStrength) { - - int r = bombStartStrength; - int r2 = r * r; - int r22 = r2 / 2; - for (int xx = -r; xx < r; xx++) { - int X = xx + x; - int XX = xx * xx; - for (int yy = -r; yy < r; yy++) { - int Y = yy + y; - int YY = XX + yy * yy; - for (int zz = -r; zz < r; zz++) { - int Z = zz + z; - int ZZ = YY + zz * zz; - if (ZZ < r22) { - destruction(world, X, Y, Z); - } - } - } - } - } - - public static void antiCheat(World world, int x, int y, int z, int bombStartStrength) { - - int r = bombStartStrength; - int r2 = r * r; - int r22 = r2 / 2; - for (int xx = -r; xx < r; xx++) { - int X = xx + x; - int XX = xx * xx; - for (int yy = -r; yy < r; yy++) { - int Y = yy + y; - int YY = XX + yy * yy; - for (int zz = -r; zz < r; zz++) { - int Z = zz + z; - int ZZ = YY + zz * zz; - if (ZZ < r22) { - if (rand.nextInt(15) == 0 && world.getBlock(X, Y, Z) != Blocks.air) - world.setBlock(X, Y, Z, ModBlocks.cheater_virus); - } - } - } - } - } - public static void hardenVirus(World world, int x, int y, int z, int bombStartStrength) { int r = bombStartStrength; @@ -155,8 +107,10 @@ public class ExplosionChaos { int ZZ = YY + zz * zz; if (ZZ < r22) { - if(world.getBlock(X, Y, Z).getExplosionResistance(null) <= 70) - pDestruction(world, X, Y, Z); + if(world.getBlock(X, Y, Z).getExplosionResistance(null) <= 70) { + EntityFallingBlockNT entityfallingblock = new EntityFallingBlockNT(world, X + 0.5, Y + 0.5, Z + 0.5, world.getBlock(X, Y, Z), world.getBlockMetadata(X, Y, Z)); + world.spawnEntityInWorld(entityfallingblock); + } } } } @@ -208,79 +162,6 @@ public class ExplosionChaos { } } - public static void spawnExplosion(World world, int x, int y, int z, int bound) { - - int randX; - int randY; - int randZ; - - for (int i = 0; i < 25; i++) { - - randX = random.nextInt(bound); - randY = random.nextInt(bound); - randZ = random.nextInt(bound); - - world.createExplosion(null, x + randX, y + randY, z + randZ, 10.0F, true); - // ExplosionChaos.explode(world, x + randX, y + randY, z + randZ, - // 5); - - randX = random.nextInt(bound); - randY = random.nextInt(bound); - randZ = random.nextInt(bound); - - world.createExplosion(null, x + randX, y - randY, z + randZ, 10.0F, true); - // ExplosionChaos.explode(world, x - randX, y + randY, z + randZ, - // 5); - - randX = random.nextInt(bound); - randY = random.nextInt(bound); - randZ = random.nextInt(bound); - - world.createExplosion(null, x + randX, y + randY, z - randZ, 10.0F, true); - // ExplosionChaos.explode(world, x + randX, y - randY, z + randZ, - // 5); - - randX = random.nextInt(bound); - randY = random.nextInt(bound); - randZ = random.nextInt(bound); - - world.createExplosion(null, x - randX, y + randY, z + randZ, 10.0F, true); - // ExplosionChaos.explode(world, x + randX, y + randY, z - randZ, - // 5); - randX = random.nextInt(bound); - randY = random.nextInt(bound); - randZ = random.nextInt(bound); - - world.createExplosion(null, x - randX, y - randY, z + randZ, 10.0F, true); - // ExplosionChaos.explode(world, x - randX, y - randY, z + randZ, - // 5); - - randX = random.nextInt(bound); - randY = random.nextInt(bound); - randZ = random.nextInt(bound); - - world.createExplosion(null, x - randX, y + randY, z - randZ, 10.0F, true); - // ExplosionChaos.explode(world, x - randX, y + randY, z - randZ, - // 5); - - randX = random.nextInt(bound); - randY = random.nextInt(bound); - randZ = random.nextInt(bound); - - world.createExplosion(null, x + randX, y - randY, z - randZ, 10.0F, true); - // ExplosionChaos.explode(world, x + randX, y - randY, z - randZ, - // 5); - - randX = random.nextInt(bound); - randY = random.nextInt(bound); - randZ = random.nextInt(bound); - - world.createExplosion(null, x - randX, y - randY, z - randZ, 10.0F, true); - // ExplosionChaos.explode(world, x - randX, y - randY, z - randZ, - // 5); - } - } - /** * Sets all flammable blocks on fire * @@ -352,15 +233,13 @@ public class ExplosionChaos { } - public static void spawnChlorine(World world, double x, double y, double z, int count, double speed, int type) { + @Deprecated public static void spawnPoisonCloud(World world, double x, double y, double z, int count, double speed, int type) { for(int i = 0; i < count; i++) { EntityModFX fx = null; - if(type == 0) { - fx = new EntityChlorineFX(world, x, y, z, 0.0, 0.0, 0.0); - } else if(type == 1) { + if(type == 1) { fx = new EntityCloudFX(world, x, y, z, 0.0, 0.0, 0.0); } else if(type == 2) { fx = new EntityPinkCloudFX(world, x, y, z, 0.0, 0.0, 0.0); @@ -390,26 +269,6 @@ public class ExplosionChaos { } } - public static void destruction(World world, int x, int y, int z) { - - if (world.getBlock(x, y, z) == Blocks.bedrock || world.getBlock(x, y, z) == ModBlocks.reinforced_brick - || world.getBlock(x, y, z) == ModBlocks.reinforced_sand - || world.getBlock(x, y, z) == ModBlocks.reinforced_glass - || world.getBlock(x, y, z) == ModBlocks.reinforced_lamp_on - || world.getBlock(x, y, z) == ModBlocks.reinforced_lamp_off) { - - } else { - world.setBlock(x, y, z, Blocks.air); - } - - } - - public static void pDestruction(World world, int x, int y, int z) { - - EntityFallingBlockNT entityfallingblock = new EntityFallingBlockNT(world, (double) ((float) x + 0.5F), (double) ((float) y + 0.5F), (double) ((float) z + 0.5F), world.getBlock(x, y, z), world.getBlockMetadata(x, y, z)); - world.spawnEntityInWorld(entityfallingblock); - } - public static void cluster(World world, int x, int y, int z, int count, int gravity) { double d1 = 0; @@ -462,35 +321,6 @@ public class ExplosionChaos { } } - public static void nuke(World world, int x, int y, int z, int count) { - - double d1 = 0; - double d2 = 0; - double d3 = 0; - EntityTNTPrimed fragment; - - for (int i = 0; i < 5; i++) { - d1 = rand.nextDouble(); - d2 = rand.nextDouble(); - d3 = rand.nextDouble(); - - if (rand.nextInt(2) == 0) { - d1 *= -1; - } - - if (rand.nextInt(2) == 0) { - d3 *= -1; - } - - fragment = new EntityTNTPrimed(world); - fragment.motionX = d1; - fragment.motionY = d2; - fragment.motionZ = d3; - - world.spawnEntityInWorld(fragment); - } - } - public static void frag(World world, int x, int y, int z, int count, boolean flame, Entity shooter) { double d1 = 0; @@ -676,91 +506,6 @@ public class ExplosionChaos { radius = (int) f; } - public static Entity getHomingTarget(World world, int x, int y, int z, int radius, Entity e) { - float f = radius; - int i; - int j; - int k; - double d5; - double d6; - double d7; - double wat = radius * 2; - - radius *= 2.0F; - i = MathHelper.floor_double(x - wat - 1.0D); - j = MathHelper.floor_double(x + wat + 1.0D); - k = MathHelper.floor_double(y - wat - 1.0D); - int i2 = MathHelper.floor_double(y + wat + 1.0D); - int l = MathHelper.floor_double(z - wat - 1.0D); - int j2 = MathHelper.floor_double(z + wat + 1.0D); - List list = world.getEntitiesWithinAABBExcludingEntity(e, AxisAlignedBB.getBoundingBox(i, k, l, j, i2, j2)); - - for (int i1 = 0; i1 < list.size(); ++i1) { - Entity entity = (Entity) list.get(i1); - double d4 = entity.getDistance(x, y, z) / radius; - - if (d4 <= 1.0D) { - d5 = entity.posX - x; - d6 = entity.posY + entity.getEyeHeight() - y; - d7 = entity.posZ - z; - double d9 = MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); - if (true) { - d5 /= d9; - d6 /= d9; - d7 /= d9; - if (entity instanceof EntityMissileBase && !(entity instanceof EntityMissileAntiBallistic)) { - return entity; - } - } - } - } - - radius = (int) f; - return null; - } - - public static void delMissiles(World world, int x, int y, int z, int radius, Entity e) { - float f = radius; - int i; - int j; - int k; - double d5; - double d6; - double d7; - double wat = radius * 2; - - radius *= 2.0F; - i = MathHelper.floor_double(x - wat - 1.0D); - j = MathHelper.floor_double(x + wat + 1.0D); - k = MathHelper.floor_double(y - wat - 1.0D); - int i2 = MathHelper.floor_double(y + wat + 1.0D); - int l = MathHelper.floor_double(z - wat - 1.0D); - int j2 = MathHelper.floor_double(z + wat + 1.0D); - List list = world.getEntitiesWithinAABBExcludingEntity(e, AxisAlignedBB.getBoundingBox(i, k, l, j, i2, j2)); - - for (int i1 = 0; i1 < list.size(); ++i1) { - Entity entity = (Entity) list.get(i1); - double d4 = entity.getDistance(x, y, z) / radius; - - if (d4 <= 1.0D) { - d5 = entity.posX - x; - d6 = entity.posY + entity.getEyeHeight() - y; - d7 = entity.posZ - z; - double d9 = MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); - if (true) { - d5 /= d9; - d6 /= d9; - d7 /= d9; - if (entity instanceof EntityMissileBase) { - entity = null; - } - } - } - } - - radius = (int) f; - } - public static void plasma(World world, int x, int y, int z, int radius) { int r = radius; int r2 = r * r; @@ -775,10 +520,7 @@ public class ExplosionChaos { int Z = zz + z; int ZZ = YY + zz * zz; if (ZZ < r22 + world.rand.nextInt(r22 / 2)) { - if (world.getBlock(X, Y, Z) != Blocks.bedrock && world.getBlock(X, Y, Z) != ModBlocks.statue_elb - && world.getBlock(X, Y, Z) != ModBlocks.statue_elb_g - && world.getBlock(X, Y, Z) != ModBlocks.statue_elb_w - && world.getBlock(X, Y, Z) != ModBlocks.statue_elb_f) + if(world.getBlock(X, Y, Z) != ModBlocks.statue_elb_f) world.setBlock(X, Y, Z, ModBlocks.plasma); } } diff --git a/src/main/java/com/hbm/explosion/ExplosionFleija.java b/src/main/java/com/hbm/explosion/ExplosionFleija.java index 5a478fe14..8c06d708a 100644 --- a/src/main/java/com/hbm/explosion/ExplosionFleija.java +++ b/src/main/java/com/hbm/explosion/ExplosionFleija.java @@ -6,8 +6,8 @@ import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -public class ExplosionFleija -{ +public class ExplosionFleija { + public int posX; public int posY; public int posZ; @@ -23,7 +23,7 @@ public class ExplosionFleija private int element; public float explosionCoefficient = 1.0F; public float explosionCoefficient2 = 1.0F; - + public void saveToNbt(NBTTagCompound nbt, String name) { nbt.setInteger(name + "posX", posX); nbt.setInteger(name + "posY", posY); @@ -40,7 +40,7 @@ public class ExplosionFleija nbt.setFloat(name + "explosionCoefficient", explosionCoefficient); nbt.setFloat(name + "explosionCoefficient2", explosionCoefficient2); } - + public void readFromNbt(NBTTagCompound nbt, String name) { posX = nbt.getInteger(name + "posX"); posY = nbt.getInteger(name + "posY"); @@ -57,29 +57,28 @@ public class ExplosionFleija explosionCoefficient = nbt.getFloat(name + "explosionCoefficient"); explosionCoefficient2 = nbt.getFloat(name + "explosionCoefficient2"); } - - public ExplosionFleija(int x, int y, int z, World world, int rad, float coefficient, float coefficient2) - { + + public ExplosionFleija(int x, int y, int z, World world, int rad, float coefficient, float coefficient2) { this.posX = x; this.posY = y; this.posZ = z; - + this.worldObj = world; - + this.radius = rad; this.radius2 = this.radius * this.radius; this.explosionCoefficient = coefficient; this.explosionCoefficient2 = coefficient2; - + this.nlimit = this.radius2 * 4; } - - public boolean update() - { + + public boolean update() { breakColumn(this.lastposX, this.lastposZ); this.shell = (int) Math.floor((Math.sqrt(n) + 1) / 2); int shell2 = this.shell * 2; + if(shell2 == 0) return true; // end explosion if the shell size is 0 to prevent division by zero crash this.leg = (int) Math.floor((this.n - (shell2 - 1) * (shell2 - 1)) / shell2); this.element = (this.n - (shell2 - 1) * (shell2 - 1)) - shell2 * this.leg - this.shell + 1; this.lastposX = this.leg == 0 ? this.shell : this.leg == 1 ? -this.element : this.leg == 2 ? -this.shell : this.element; @@ -88,15 +87,13 @@ public class ExplosionFleija return this.n > this.nlimit; } - private void breakColumn(int x, int z) - { + private void breakColumn(int x, int z) { int dist = this.radius2 - (x * x + z * z); - if (dist > 0) - { + if(dist > 0) { dist = (int) Math.sqrt(dist); - for (int y = (int)(dist / this.explosionCoefficient2); y > -dist / this.explosionCoefficient; y--) - { - if(this.posY + y > 0 && !(this.worldObj.getBlock(this.posX+x, this.posY+y, this.posZ+z) instanceof DecoBlockAlt))this.worldObj.setBlock(this.posX+x, this.posY+y, this.posZ+z, Blocks.air); + for(int y = (int) (dist / this.explosionCoefficient2); y > -dist / this.explosionCoefficient; y--) { + if(this.posY + y > 0 && !(this.worldObj.getBlock(this.posX + x, this.posY + y, this.posZ + z) instanceof DecoBlockAlt)) + this.worldObj.setBlock(this.posX + x, this.posY + y, this.posZ + z, Blocks.air); } } } diff --git a/src/main/java/com/hbm/explosion/ExplosionLarge.java b/src/main/java/com/hbm/explosion/ExplosionLarge.java index 2fff85b46..f26740bd6 100644 --- a/src/main/java/com/hbm/explosion/ExplosionLarge.java +++ b/src/main/java/com/hbm/explosion/ExplosionLarge.java @@ -5,8 +5,8 @@ import java.util.Random; import com.hbm.entity.projectile.EntityRubble; import com.hbm.entity.projectile.EntityShrapnel; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.util.ParticleUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -19,51 +19,60 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; public class ExplosionLarge { - + static Random rand = new Random(); - public static void spawnParticles(World world, double x, double y, double z, int count) { - + @Deprecated public static void spawnParticles(World world, double x, double y, double z, int count) { + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "smoke"); data.setString("mode", "cloud"); data.setInteger("count", count); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(world.provider.dimensionId, x, y, z, 250)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(world.provider.dimensionId, x, y, z, 250)); } public static void spawnParticlesRadial(World world, double x, double y, double z, int count) { - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "smoke"); data.setString("mode", "radial"); data.setInteger("count", count); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(world.provider.dimensionId, x, y, z, 250)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(world.provider.dimensionId, x, y, z, 250)); + } + + public static void spawnFoam(World world, double x, double y, double z, int count) { + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "smoke"); + data.setString("mode", "foamSplash"); + data.setInteger("count", count); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(world.provider.dimensionId, x, y, z, 250)); } public static void spawnShock(World world, double x, double y, double z, int count, double strength) { - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "smoke"); data.setString("mode", "shock"); data.setInteger("count", count); data.setDouble("strength", strength); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y + 0.5, z), new TargetPoint(world.provider.dimensionId, x, y, z, 250)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, x, y + 0.5, z), new TargetPoint(world.provider.dimensionId, x, y, z, 250)); } public static void spawnBurst(World world, double x, double y, double z, int count, double strength) { - + Vec3 vec = Vec3.createVectorHelper(strength, 0, 0); vec.rotateAroundY(rand.nextInt(360)); - + for(int i = 0; i < count; i++) { ParticleUtil.spawnGasFlame(world, x, y, z, vec.xCoord, 0.0, vec.zCoord); - + vec.rotateAroundY(360 / count); } } - + public static void spawnRubble(World world, double x, double y, double z, int count) { - + for(int i = 0; i < count; i++) { EntityRubble rubble = new EntityRubble(world); rubble.posX = x; @@ -76,9 +85,9 @@ public class ExplosionLarge { world.spawnEntityInWorld(rubble); } } - + public static void spawnShrapnels(World world, double x, double y, double z, int count) { - + for(int i = 0; i < count; i++) { EntityShrapnel shrapnel = new EntityShrapnel(world); shrapnel.posX = x; @@ -91,9 +100,9 @@ public class ExplosionLarge { world.spawnEntityInWorld(shrapnel); } } - + public static void spawnTracers(World world, double x, double y, double z, int count) { - + for(int i = 0; i < count; i++) { EntityShrapnel shrapnel = new EntityShrapnel(world); shrapnel.posX = x; @@ -106,9 +115,9 @@ public class ExplosionLarge { world.spawnEntityInWorld(shrapnel); } } - + public static void spawnShrapnelShower(World world, double x, double y, double z, double motionX, double motionY, double motionZ, int count, double deviation) { - + for(int i = 0; i < count; i++) { EntityShrapnel shrapnel = new EntityShrapnel(world); shrapnel.posX = x; @@ -121,9 +130,9 @@ public class ExplosionLarge { world.spawnEntityInWorld(shrapnel); } } - + public static void spawnMissileDebris(World world, double x, double y, double z, double motionX, double motionY, double motionZ, double deviation, List debris, ItemStack rareDrop) { - + if(debris != null) { for(int i = 0; i < debris.size(); i++) { if(debris.get(i) != null) { @@ -136,24 +145,24 @@ public class ExplosionLarge { item.posX = item.posX + item.motionX * 2; item.posY = item.posY + item.motionY * 2; item.posZ = item.posZ + item.motionZ * 2; - + world.spawnEntityInWorld(item); } } } } - + if(rareDrop != null && rand.nextInt(10) == 0) { EntityItem item = new EntityItem(world, x, y, z, rareDrop.copy()); item.motionX = motionX + rand.nextGaussian() * deviation * 0.1; item.motionY = motionY + rand.nextGaussian() * deviation * 0.1; item.motionZ = motionZ + rand.nextGaussian() * deviation * 0.1; - + world.spawnEntityInWorld(item); } } - - public static void explode(World world, double x, double y, double z, float strength, boolean cloud, boolean rubble, boolean shrapnel, Entity exploder) { + + @Deprecated public static void explode(World world, double x, double y, double z, float strength, boolean cloud, boolean rubble, boolean shrapnel, Entity exploder) { world.createExplosion(exploder, x, y, z, strength, true); if(cloud) spawnParticles(world, x, y, z, cloudFunction((int)strength)); @@ -162,8 +171,8 @@ public class ExplosionLarge { if(shrapnel) spawnShrapnels(world, x, y, z, shrapnelFunction((int)strength)); } - - public static void explode(World world, double x, double y, double z, float strength, boolean cloud, boolean rubble, boolean shrapnel) { + + @Deprecated public static void explode(World world, double x, double y, double z, float strength, boolean cloud, boolean rubble, boolean shrapnel) { world.createExplosion(null, x, y, z, strength, true); if(cloud) spawnParticles(world, x, y, z, cloudFunction((int)strength)); @@ -172,8 +181,8 @@ public class ExplosionLarge { if(shrapnel) spawnShrapnels(world, x, y, z, shrapnelFunction((int)strength)); } - - public static void explodeFire(World world, double x, double y, double z, float strength, boolean cloud, boolean rubble, boolean shrapnel) { + + @Deprecated public static void explodeFire(World world, double x, double y, double z, float strength, boolean cloud, boolean rubble, boolean shrapnel) { world.newExplosion((Entity)null, (float)x, (float)y, (float)z, strength, true, true); if(cloud) spawnParticles(world, x, y, z, cloudFunction((int)strength)); @@ -182,60 +191,60 @@ public class ExplosionLarge { if(shrapnel) spawnShrapnels(world, x, y, z, shrapnelFunction((int)strength)); } - + public static void buster(World world, double x, double y, double z, Vec3 vector, float strength, float depth) { - + vector = vector.normalize(); - + for(int i = 0; i < depth; i += 2) { - + world.createExplosion((Entity)null, x + vector.xCoord * i, y + vector.yCoord * i, z + vector.zCoord * i, strength, true); } } - + public static void jolt(World world, double posX, double posY, double posZ, double strength, int count, double vel) { - + for(int j = 0; j < count; j++) { - + double phi = rand.nextDouble() * (Math.PI * 2); double costheta = rand.nextDouble() * 2 - 1; double theta = Math.acos(costheta); double x = Math.sin( theta) * Math.cos( phi ); double y = Math.sin( theta) * Math.sin( phi ); double z = Math.cos( theta ); - + Vec3 vec = Vec3.createVectorHelper(x, y, z); - + for(int i = 0; i < strength; i ++) { double x0 = posX + (vec.xCoord * i); double y0 = posY + (vec.yCoord * i); double z0 = posZ + (vec.zCoord * i); - + if(!world.isRemote) { if(world.getBlock((int)x0, (int)y0, (int)z0).getMaterial().isLiquid()) { world.setBlock((int)x0, (int)y0, (int)z0, Blocks.air); } - + if(world.getBlock((int)x0, (int)y0, (int)z0) != Blocks.air) { - + if(world.getBlock((int)x0, (int)y0, (int)z0).getExplosionResistance(null, world, (int)x0, (int)y0, (int)z0, posX, posY, posZ) > 70) continue; - + EntityRubble rubble = new EntityRubble(world); rubble.posX = x0 + 0.5F; rubble.posY = y0 + 0.5F; rubble.posZ = z0 + 0.5F; rubble.setMetaBasedOnBlock(world.getBlock((int)x0, (int)y0, (int)z0), world.getBlockMetadata((int)x0, (int)y0, (int)z0)); - + Vec3 vec4 = Vec3.createVectorHelper(posX - rubble.posX, posY - rubble.posY, posZ - rubble.posZ); vec4.normalize(); rubble.motionX = vec4.xCoord * vel; rubble.motionY = vec4.yCoord * vel; rubble.motionZ = vec4.zCoord * vel; - + world.spawnEntityInWorld(rubble); - + world.setBlock((int)x0, (int)y0, (int)z0, Blocks.air); break; } @@ -243,18 +252,17 @@ public class ExplosionLarge { } } } - + public static int cloudFunction(int i) { - //return (int)(345 * (1 - Math.pow(Math.E, -i/15)) + 15); return (int)(850 * (1 - Math.pow(Math.E, -i/15)) + 15); } - + public static int rubbleFunction(int i) { return i/10; } - + public static int shrapnelFunction(int i) { return i/3; } - + } diff --git a/src/main/java/com/hbm/explosion/ExplosionNT.java b/src/main/java/com/hbm/explosion/ExplosionNT.java index 5de3072b3..f7aef2c03 100644 --- a/src/main/java/com/hbm/explosion/ExplosionNT.java +++ b/src/main/java/com/hbm/explosion/ExplosionNT.java @@ -21,12 +21,14 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; +import net.minecraft.util.EntityDamageSource; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.ChunkPosition; import net.minecraft.world.Explosion; import net.minecraft.world.World; +@Deprecated public class ExplosionNT extends Explosion { public Set atttributes = new HashSet(); @@ -156,7 +158,7 @@ public class ExplosionNT extends Explosion { currentZ /= d9; double d10 = (double) this.worldObj.getBlockDensity(vec3, entity.boundingBox); double d11 = (1.0D - d4) * d10; - entity.attackEntityFrom(DamageSource.setExplosionSource(this), (float) ((int) ((d11 * d11 + d11) / 2.0D * 8.0D * (double) this.explosionSize + 1.0D))); + entity.attackEntityFrom(setExplosionSource(this), (float) ((int) ((d11 * d11 + d11) / 2.0D * 8.0D * (double) this.explosionSize + 1.0D))); double d8 = EnchantmentProtection.func_92092_a(entity, d11); entity.motionX += currentX * d8; entity.motionY += currentY * d8; @@ -173,6 +175,12 @@ public class ExplosionNT extends Explosion { } } + public static DamageSource setExplosionSource(Explosion explosion) { + return explosion != null && explosion.getExplosivePlacedBy() != null ? + (new EntityDamageSource("explosion.player", explosion.getExplosivePlacedBy())).setExplosion() : + (new DamageSource("explosion")).setExplosion(); + } + public void doExplosionB(boolean p_77279_1_) { if(!has(ExAttrib.NOSOUND)) diff --git a/src/main/java/com/hbm/explosion/ExplosionNukeGeneric.java b/src/main/java/com/hbm/explosion/ExplosionNukeGeneric.java index 30498fe20..fa8d40dba 100644 --- a/src/main/java/com/hbm/explosion/ExplosionNukeGeneric.java +++ b/src/main/java/com/hbm/explosion/ExplosionNukeGeneric.java @@ -22,7 +22,6 @@ import com.hbm.blocks.ModBlocks; import com.hbm.config.VersatileConfig; import com.hbm.entity.grenade.EntityGrenadeASchrab; import com.hbm.entity.grenade.EntityGrenadeNuclear; -import com.hbm.entity.missile.EntityMIRV; import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.entity.projectile.EntityExplosiveBeam; import com.hbm.interfaces.Spaghetti; @@ -34,6 +33,7 @@ import com.hbm.util.ArmorUtil; import api.hbm.energymk2.IEnergyHandlerMK2; import cofh.api.energy.IEnergyProvider; +@Spaghetti("this sucks ass") public class ExplosionNukeGeneric { private final static Random random = new Random(); @@ -102,7 +102,6 @@ public class ExplosionNukeGeneric { private static boolean isExplosionExempt(Entity e) { if (e instanceof EntityOcelot || - e instanceof EntityMIRV || e instanceof EntityGrenadeASchrab || e instanceof EntityGrenadeNuclear || e instanceof EntityExplosiveBeam || diff --git a/src/main/java/com/hbm/explosion/ExplosionNukeRayBatched.java b/src/main/java/com/hbm/explosion/ExplosionNukeRayBatched.java index de45a8741..1d97dfa38 100644 --- a/src/main/java/com/hbm/explosion/ExplosionNukeRayBatched.java +++ b/src/main/java/com/hbm/explosion/ExplosionNukeRayBatched.java @@ -6,6 +6,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; +import com.hbm.interfaces.IExplosionRay; import com.hbm.util.fauxpointtwelve.BlockPos; import net.minecraft.block.Block; @@ -14,7 +15,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; -public class ExplosionNukeRayBatched { +public class ExplosionNukeRayBatched implements IExplosionRay { public HashMap> perChunk = new HashMap(); //for future: optimize blockmap further by using sub-chunks instead of chunks public List orderedChunks = new ArrayList(); @@ -26,7 +27,7 @@ public class ExplosionNukeRayBatched { int strength; int length; - + int speed; int gspNumMax; int gspNum; double gspX; @@ -40,8 +41,8 @@ public class ExplosionNukeRayBatched { this.posY = y; this.posZ = z; this.strength = strength; + this.speed = speed; this.length = length; - // Total number of points this.gspNumMax = (int)(2.5 * Math.PI * Math.pow(this.strength,2)); this.gspNum = 1; @@ -76,7 +77,7 @@ public class ExplosionNukeRayBatched { } public void collectTip(int count) { - + //count = Math.min(count, 10); int amountProcessed = 0; @@ -106,7 +107,7 @@ public class ExplosionNukeRayBatched { double fac = 100 - ((double) i) / ((double) length) * 100; fac *= 0.07D; - + Block block = world.getBlock(iX, iY, iZ); if(!block.getMaterial().isLiquid()) @@ -125,18 +126,18 @@ public class ExplosionNukeRayBatched { break; } } - + for(ChunkCoordIntPair pos : chunkCoords) { List triplets = perChunk.get(pos); - + if(triplets == null) { triplets = new ArrayList(); perChunk.put(pos, triplets); //we re-use the same pos instead of using individualized per-chunk ones to save on RAM } - + triplets.add(lastPos); } - + // Raise one generalized spiral points this.generateGspUp(); @@ -145,20 +146,20 @@ public class ExplosionNukeRayBatched { return; } } - + orderedChunks.addAll(perChunk.keySet()); orderedChunks.sort(comparator); - + isAusf3Complete = true; } - + public static float masqueradeResistance(Block block) { if(block == Blocks.sandstone) return Blocks.stone.getExplosionResistance(null); if(block == Blocks.obsidian) return Blocks.stone.getExplosionResistance(null) * 3; return block.getExplosionResistance(null); } - + /** little comparator for roughly sorting chunks by distance to the center */ public class CoordComparator implements Comparator { @@ -170,15 +171,15 @@ public class ExplosionNukeRayBatched { int diff1 = Math.abs((chunkX - o1.chunkXPos)) + Math.abs((chunkZ - o1.chunkZPos)); int diff2 = Math.abs((chunkX - o2.chunkXPos)) + Math.abs((chunkZ - o2.chunkZPos)); - + return diff1 - diff2; } } public void processChunk() { - + if(this.perChunk.isEmpty()) return; - + ChunkCoordIntPair coord = orderedChunks.get(0); List list = perChunk.get(coord); HashSet toRem = new HashSet(); @@ -186,13 +187,13 @@ public class ExplosionNukeRayBatched { //List toRem = new ArrayList(); int chunkX = coord.chunkXPos; int chunkZ = coord.chunkZPos; - + int enter = (int) (Math.min( Math.abs(posX - (chunkX << 4)), Math.abs(posZ - (chunkZ << 4)))) - 16; //jump ahead to cut back on NOPs - + enter = Math.max(enter, 0); - + for(FloatTriplet triplet : list) { float x = triplet.xCoord; float y = triplet.yCoord; @@ -205,13 +206,13 @@ public class ExplosionNukeRayBatched { int tipX = (int) Math.floor(x); int tipY = (int) Math.floor(y); int tipZ = (int) Math.floor(z); - + boolean inChunk = false; for(int i = enter; i < vec.lengthVector(); i++) { int x0 = (int) Math.floor(posX + pX * i); int y0 = (int) Math.floor(posY + pY * i); int z0 = (int) Math.floor(posZ + pZ * i); - + if(x0 >> 4 != chunkX || z0 >> 4 != chunkZ) { if(inChunk) { break; @@ -219,13 +220,13 @@ public class ExplosionNukeRayBatched { continue; } } - + inChunk = true; if(!world.isAirBlock(x0, y0, z0)) { - + BlockPos pos = new BlockPos(x0, y0, z0); - + if(x0 == tipX && y0 == tipY && z0 == tipZ) { toRemTips.add(pos); } @@ -241,20 +242,48 @@ public class ExplosionNukeRayBatched { world.setBlock(pos.getX(), pos.getY(), pos.getZ(), Blocks.air, 0, 2); } } - + perChunk.remove(coord); orderedChunks.remove(0); } - + protected void handleTip(int x, int y, int z) { world.setBlock(x, y, z, Blocks.air, 0, 3); } - + + @Override + public boolean isComplete() { + return isAusf3Complete && perChunk.isEmpty(); + } + + @Override + public void cacheChunksTick(int time) { + if (!isAusf3Complete) { + // time ignored here since collectTip() did not implement a time limit + collectTip(speed*10); + } + } + + @Override + public void destructionTick(int time) { + if (!isAusf3Complete) return; + long start = System.currentTimeMillis(); + while(!perChunk.isEmpty() && System.currentTimeMillis() < start + time) + processChunk(); + } + + @Override + public void cancel() { + isAusf3Complete = true; + if (perChunk != null) perChunk.clear(); + if (orderedChunks != null) orderedChunks.clear(); + } + public class FloatTriplet { public float xCoord; public float yCoord; public float zCoord; - + public FloatTriplet(float x, float y, float z) { xCoord = x; yCoord = y; diff --git a/src/main/java/com/hbm/explosion/ExplosionNukeRayParallelized.java b/src/main/java/com/hbm/explosion/ExplosionNukeRayParallelized.java new file mode 100644 index 000000000..dfcf0acae --- /dev/null +++ b/src/main/java/com/hbm/explosion/ExplosionNukeRayParallelized.java @@ -0,0 +1,509 @@ +package com.hbm.explosion; + +import com.hbm.config.BombConfig; +import com.hbm.interfaces.IExplosionRay; +import com.hbm.main.MainRegistry; +import com.hbm.util.ConcurrentBitSet; +import com.hbm.util.SubChunkKey; +import com.hbm.util.SubChunkSnapshot; +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.util.Vec3; +import net.minecraft.world.ChunkCoordIntPair; +import net.minecraft.world.EnumSkyBlock; +import net.minecraft.world.World; +import net.minecraft.world.chunk.Chunk; +import net.minecraft.world.chunk.storage.ExtendedBlockStorage; +import org.apache.logging.log4j.Level; + +import java.util.ArrayList; +import java.util.Comparator; +import java.util.Iterator; +import java.util.List; +import java.util.concurrent.*; +import java.util.concurrent.atomic.DoubleAdder; + +/** + * Threaded DDA raytracer for mk5 explosion. + * + * @author mlbv + */ +public class ExplosionNukeRayParallelized implements IExplosionRay { + + private static final int WORLD_HEIGHT = 256; + private static final int BITSET_SIZE = 16 * WORLD_HEIGHT * 16; + private static final int SUBCHUNK_PER_CHUNK = WORLD_HEIGHT >> 4; + private static final float NUKE_RESISTANCE_CUTOFF = 2_000_000F; + private static final float INITIAL_ENERGY_FACTOR = 0.3F; // Scales crater, no impact on performance + private static final double RESOLUTION_FACTOR = 1.0; // Scales ray density, no impact on crater radius + + protected final World world; + private final double explosionX, explosionY, explosionZ; + private final int originX, originY, originZ; + private final int strength; + private final int radius; + + private final CompletableFuture> directionsFuture; + private final ConcurrentMap destructionMap; + private final ConcurrentMap> damageMap; + private final ConcurrentMap snapshots; + private final ConcurrentMap> waitingRoom; + private final BlockingQueue rayQueue; + private final ExecutorService pool; + private final CountDownLatch latch; + private final Thread latchWatcherThread; + private final List orderedChunks; + private final BlockingQueue highPriorityReactiveQueue; // cache queue for rays + private final Iterator lowPriorityProactiveIterator; + private volatile List directions; + private volatile boolean collectFinished = false; + private volatile boolean consolidationFinished = false; + private volatile boolean destroyFinished = false; + + public ExplosionNukeRayParallelized(World world, double x, double y, double z, int strength, int speed, int radius) { + this.world = world; + this.explosionX = x; + this.explosionY = y; + this.explosionZ = z; + + this.originX = (int) Math.floor(x); + this.originY = (int) Math.floor(y); + this.originZ = (int) Math.floor(z); + + this.strength = strength; + this.radius = radius; + + int rayCount = Math.max(0, (int) (2.5 * Math.PI * strength * strength * RESOLUTION_FACTOR)); + this.latch = new CountDownLatch(rayCount); + List sortedSubChunks = getAllSubChunks(); + this.lowPriorityProactiveIterator = sortedSubChunks.iterator(); + this.highPriorityReactiveQueue = new LinkedBlockingQueue<>(); + + int initialChunkCapacity = (int) sortedSubChunks.stream().map(SubChunkKey::getPos).distinct().count(); + + this.destructionMap = new ConcurrentHashMap<>(initialChunkCapacity); + this.damageMap = new ConcurrentHashMap<>(initialChunkCapacity); + + int subChunkCount = sortedSubChunks.size(); + this.snapshots = new ConcurrentHashMap<>(subChunkCount); + this.waitingRoom = new ConcurrentHashMap<>(subChunkCount); + this.orderedChunks = new ArrayList<>(); + + List initialRayTasks = new ArrayList<>(rayCount); + for (int i = 0; i < rayCount; i++) initialRayTasks.add(new RayTask(i)); + this.rayQueue = new LinkedBlockingQueue<>(initialRayTasks); + + int workers = Math.max(1, Runtime.getRuntime().availableProcessors() - 1); + this.pool = Executors.newWorkStealingPool(workers); + this.directionsFuture = CompletableFuture.supplyAsync(() -> generateSphereRays(rayCount)); + + for (int i = 0; i < workers; i++) pool.submit(new Worker()); + + this.latchWatcherThread = new Thread(() -> { + try { + latch.await(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } finally { + collectFinished = true; + if (BombConfig.explosionAlgorithm == 2) pool.submit(this::runConsolidation); + else consolidationFinished = true; + } + }, "ExplosionNuke-LatchWatcher-" + System.nanoTime()); + this.latchWatcherThread.setDaemon(true); + this.latchWatcherThread.start(); + } + + private static float getNukeResistance(Block b) { + if (b.getMaterial().isLiquid()) return 0.1F; + if (b == Blocks.sandstone) return Blocks.stone.getExplosionResistance(null); + if (b == Blocks.obsidian) return Blocks.stone.getExplosionResistance(null) * 3.0F; + return b.getExplosionResistance(null); + } + + private List getAllSubChunks() { + List keys = new ArrayList<>(); + int cr = (radius + 15) >> 4; + int minCX = (originX >> 4) - cr; + int maxCX = (originX >> 4) + cr; + int minCZ = (originZ >> 4) - cr; + int maxCZ = (originZ >> 4) + cr; + int minSubY = Math.max(0, (originY - radius) >> 4); + int maxSubY = Math.min(SUBCHUNK_PER_CHUNK - 1, (originY + radius) >> 4); + int originSubY = originY >> 4; + + for (int cx = minCX; cx <= maxCX; cx++) { + for (int cz = minCZ; cz <= maxCZ; cz++) { + for (int subY = minSubY; subY <= maxSubY; subY++) { + int chunkCenterX = (cx << 4) + 8; + int chunkCenterY = (subY << 4) + 8; + int chunkCenterZ = (cz << 4) + 8; + double dx = chunkCenterX - explosionX; + double dy = chunkCenterY - explosionY; + double dz = chunkCenterZ - explosionZ; + if (dx * dx + dy * dy + dz * dz <= (radius + 14) * (radius + 14)) { // +14 for margin of error + keys.add(new SubChunkKey(cx, cz, subY)); + } + } + } + } + keys.sort(Comparator.comparingInt(key -> { + int distCX = key.getPos().chunkXPos - (originX >> 4); + int distCZ = key.getPos().chunkZPos - (originZ >> 4); + int distSubY = key.getSubY() - originSubY; + return distCX * distCX + distCZ * distCZ + distSubY * distSubY; + })); + return keys; + } + + @Override + public void cacheChunksTick(int timeBudgetMs) { + if (collectFinished) return; + final long deadline = System.nanoTime() + (timeBudgetMs * 1_000_000L); + while (System.nanoTime() < deadline) { + SubChunkKey ck = highPriorityReactiveQueue.poll(); + if (ck == null) break; + processCacheKey(ck); + } + while (System.nanoTime() < deadline && lowPriorityProactiveIterator.hasNext()) { + SubChunkKey ck = lowPriorityProactiveIterator.next(); + processCacheKey(ck); + } + } + + private void processCacheKey(SubChunkKey ck) { + if (snapshots.containsKey(ck)) return; + snapshots.put(ck, SubChunkSnapshot.getSnapshot(world, ck, BombConfig.chunkloading)); + ConcurrentLinkedQueue waiters = waitingRoom.remove(ck); + if (waiters != null) rayQueue.addAll(waiters); + } + + @Override + public void destructionTick(int timeBudgetMs) { + if (!collectFinished || !consolidationFinished || destroyFinished) return; + + final long deadline = System.nanoTime() + timeBudgetMs * 1_000_000L; + + if (orderedChunks.isEmpty() && !destructionMap.isEmpty()) { + orderedChunks.addAll(destructionMap.keySet()); + orderedChunks.sort(Comparator.comparingInt(c -> Math.abs((originX >> 4) - c.chunkXPos) + Math.abs((originZ >> 4) - c.chunkZPos))); + } + + Iterator it = orderedChunks.iterator(); + while (it.hasNext() && System.nanoTime() < deadline) { + ChunkCoordIntPair cp = it.next(); + ConcurrentBitSet bs = destructionMap.get(cp); + if (bs == null) { + it.remove(); + continue; + } + + Chunk chunk = world.getChunkFromChunkCoords(cp.chunkXPos, cp.chunkZPos); + ExtendedBlockStorage[] storages = chunk.getBlockStorageArray(); + boolean chunkModified = false; + + for (int subY = 0; subY < storages.length; subY++) { + ExtendedBlockStorage storage = storages[subY]; + if (storage == null) continue; + + int startBit = (WORLD_HEIGHT - 1 - ((subY << 4) + 15)) << 8; + int endBit = ((WORLD_HEIGHT - 1 - (subY << 4)) << 8) | 0xFF; + + int bit = bs.nextSetBit(startBit); + + while (bit >= 0 && bit <= endBit && System.nanoTime() < deadline) { + int yGlobal = WORLD_HEIGHT - 1 - (bit >>> 8); + int xGlobal = (cp.chunkXPos << 4) | ((bit >>> 4) & 0xF); + int zGlobal = (cp.chunkZPos << 4) | (bit & 0xF); + int xLocal = xGlobal & 0xF; + int yLocal = yGlobal & 0xF; + int zLocal = zGlobal & 0xF; + if (storage.getBlockByExtId(xLocal, yLocal, zLocal) != Blocks.air) { + if (world.getTileEntity(xGlobal, yGlobal, zGlobal) != null) { + world.removeTileEntity(xGlobal, yGlobal, zGlobal); + } + + storage.func_150818_a(xLocal, yLocal, zLocal, Blocks.air); + storage.setExtBlockMetadata(xLocal, yLocal, zLocal, 0); + chunkModified = true; + + world.notifyBlocksOfNeighborChange(xGlobal, yGlobal, zGlobal, Blocks.air); + world.markBlockForUpdate(xGlobal, yGlobal, zGlobal); + + world.updateLightByType(EnumSkyBlock.Sky, xGlobal, yGlobal, zGlobal); + world.updateLightByType(EnumSkyBlock.Block, xGlobal, yGlobal, zGlobal); + } + bs.clear(bit); + bit = bs.nextSetBit(bit + 1); + } + } + + if (chunkModified) { + chunk.setChunkModified(); + world.markBlockRangeForRenderUpdate(cp.chunkXPos << 4, 0, cp.chunkZPos << 4, (cp.chunkXPos << 4) | 15, WORLD_HEIGHT - 1, (cp.chunkZPos << 4) | 15); + } + if (bs.isEmpty()) { + destructionMap.remove(cp); + for (int subY = 0; subY < SUBCHUNK_PER_CHUNK; subY++) snapshots.remove(new SubChunkKey(cp, subY)); + it.remove(); + } + } + + if (orderedChunks.isEmpty() && destructionMap.isEmpty()) { + destroyFinished = true; + if (pool != null) pool.shutdown(); + } + } + + @Override + public boolean isComplete() { + return collectFinished && consolidationFinished && destroyFinished; + } + + @Override + public void cancel() { + this.collectFinished = true; + this.consolidationFinished = true; + this.destroyFinished = true; + + if (this.rayQueue != null) this.rayQueue.clear(); + if (this.waitingRoom != null) this.waitingRoom.clear(); + + if (this.latch != null) while (this.latch.getCount() > 0) this.latch.countDown(); + if (this.latchWatcherThread != null && this.latchWatcherThread.isAlive()) this.latchWatcherThread.interrupt(); + + if (this.pool != null && !this.pool.isShutdown()) { + this.pool.shutdownNow(); + try { + if (!this.pool.awaitTermination(100, TimeUnit.MILLISECONDS)) MainRegistry.logger.log(Level.ERROR, "ExplosionNukeRayParallelized thread pool did not terminate promptly on cancel."); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + if (!this.pool.isShutdown()) this.pool.shutdownNow(); + } + } + if (this.destructionMap != null) this.destructionMap.clear(); + if (this.damageMap != null) this.damageMap.clear(); + if (this.snapshots != null) this.snapshots.clear(); + if (this.orderedChunks != null) this.orderedChunks.clear(); + } + + private List generateSphereRays(int count) { + List list = new ArrayList<>(count); + if (count == 0) return list; + if (count == 1) { + list.add(Vec3.createVectorHelper(1, 0, 0)); + return list; + } + double phi = Math.PI * (3.0 - Math.sqrt(5.0)); + for (int i = 0; i < count; i++) { + double y = 1.0 - (i / (double) (count - 1)) * 2.0; + double r = Math.sqrt(1.0 - y * y); + double t = phi * i; + list.add(Vec3.createVectorHelper(Math.cos(t) * r, y, Math.sin(t) * r)); + } + return list; + } + + private void runConsolidation() { + damageMap.forEach((cp, innerDamageMap) -> { + if (innerDamageMap.isEmpty()) { + damageMap.remove(cp); + return; + } + ConcurrentBitSet chunkDestructionBitSet = destructionMap.computeIfAbsent(cp, k -> new ConcurrentBitSet(BITSET_SIZE)); + innerDamageMap.forEach((bitIndex, accumulatedDamageAdder) -> { + float accumulatedDamage = (float) accumulatedDamageAdder.sum(); + if (accumulatedDamage <= 0.0f) { + innerDamageMap.remove(bitIndex); + return; + } + int yGlobal = WORLD_HEIGHT - 1 - (bitIndex >>> 8); + int subY = yGlobal >> 4; + if (subY < 0) { + innerDamageMap.remove(bitIndex); + return; + } + SubChunkKey snapshotKey = new SubChunkKey(cp, subY); + SubChunkSnapshot snap = snapshots.get(snapshotKey); + if (snap == null || snap == SubChunkSnapshot.EMPTY) { + innerDamageMap.remove(bitIndex); + return; + } + int xLocal = (bitIndex >>> 4) & 0xF; + int zLocal = bitIndex & 0xF; + Block originalBlock = snap.getBlock(xLocal, yGlobal & 0xF, zLocal); + if (originalBlock == Blocks.air) { + innerDamageMap.remove(bitIndex); + return; + } + float resistance = getNukeResistance(originalBlock); + if (accumulatedDamage >= resistance * RESOLUTION_FACTOR) chunkDestructionBitSet.set(bitIndex); + innerDamageMap.remove(bitIndex); + }); + if (innerDamageMap.isEmpty()) damageMap.remove(cp); + }); + damageMap.clear(); + consolidationFinished = true; + } + + private class Worker implements Runnable { + @Override + public void run() { + try { + while (!collectFinished && !Thread.currentThread().isInterrupted()) { + RayTask task = rayQueue.poll(100, TimeUnit.MILLISECONDS); + if (task != null) task.trace(); + } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } + } + + private class RayTask { + private static final double RAY_DIRECTION_EPSILON = 1e-6; + private static final double PROCESSING_EPSILON = 1e-9; + private static final float MIN_EFFECTIVE_DIST_FOR_ENERGY_CALC = 0.01f; + + final int dirIndex; + double px, py, pz; + int x, y, z; + float energy; + double tMaxX, tMaxY, tMaxZ, tDeltaX, tDeltaY, tDeltaZ; + int stepX, stepY, stepZ; + boolean initialised = false; + double currentRayPosition; + + private int lastCX = Integer.MIN_VALUE, lastCZ = Integer.MIN_VALUE, lastSubY = Integer.MIN_VALUE; + private SubChunkKey currentSubChunkKey = null; + + RayTask(int dirIdx) { + this.dirIndex = dirIdx; + } + + void init() { + if (directions == null) directions = directionsFuture.join(); + Vec3 dir = directions.get(this.dirIndex); + this.energy = strength * INITIAL_ENERGY_FACTOR; + this.px = explosionX; + this.py = explosionY; + this.pz = explosionZ; + this.x = originX; + this.y = originY; + this.z = originZ; + this.currentRayPosition = 0.0; + + double dirX = dir.xCoord; + double dirY = dir.yCoord; + double dirZ = dir.zCoord; + + double absDirX = Math.abs(dirX); + this.stepX = (absDirX < RAY_DIRECTION_EPSILON) ? 0 : (dirX > 0 ? 1 : -1); + this.tDeltaX = (stepX == 0) ? Double.POSITIVE_INFINITY : 1.0 / absDirX; + this.tMaxX = (stepX == 0) ? Double.POSITIVE_INFINITY : ((stepX > 0 ? (this.x + 1 - this.px) : (this.px - this.x)) * this.tDeltaX); + + double absDirY = Math.abs(dirY); + this.stepY = (absDirY < RAY_DIRECTION_EPSILON) ? 0 : (dirY > 0 ? 1 : -1); + this.tDeltaY = (stepY == 0) ? Double.POSITIVE_INFINITY : 1.0 / absDirY; + this.tMaxY = (stepY == 0) ? Double.POSITIVE_INFINITY : ((stepY > 0 ? (this.y + 1 - this.py) : (this.py - this.y)) * this.tDeltaY); + + double absDirZ = Math.abs(dirZ); + this.stepZ = (absDirZ < RAY_DIRECTION_EPSILON) ? 0 : (dirZ > 0 ? 1 : -1); + this.tDeltaZ = (stepZ == 0) ? Double.POSITIVE_INFINITY : 1.0 / absDirZ; + this.tMaxZ = (stepZ == 0) ? Double.POSITIVE_INFINITY : ((stepZ > 0 ? (this.z + 1 - this.pz) : (this.pz - this.z)) * this.tDeltaZ); + + this.initialised = true; + } + + void trace() { + if (!initialised) init(); + if (energy <= 0) { + latch.countDown(); + return; + } + + while (energy > 0) { + if (y < 0 || y >= WORLD_HEIGHT || Thread.currentThread().isInterrupted()) break; + if (currentRayPosition >= radius - PROCESSING_EPSILON) break; + + int cx = x >> 4; + int cz = z >> 4; + int subY = y >> 4; + if (cx != lastCX || cz != lastCZ || subY != lastSubY) { + currentSubChunkKey = new SubChunkKey(cx, cz, subY); + lastCX = cx; + lastCZ = cz; + lastSubY = subY; + } + + SubChunkSnapshot snap = snapshots.get(currentSubChunkKey); + if (snap == null) { + final boolean[] amFirst = {false}; + ConcurrentLinkedQueue waiters = waitingRoom.computeIfAbsent(currentSubChunkKey, k -> { + amFirst[0] = true; + return new ConcurrentLinkedQueue<>(); + }); + if (amFirst[0]) highPriorityReactiveQueue.add(currentSubChunkKey); + waiters.add(this); + return; + } + double t_exit_voxel = Math.min(tMaxX, Math.min(tMaxY, tMaxZ)); + double segmentLenInVoxel = t_exit_voxel - this.currentRayPosition; + double segmentLenForProcessing; + boolean stopAfterThisSegment = false; + + if (this.currentRayPosition + segmentLenInVoxel > radius - PROCESSING_EPSILON) { + segmentLenForProcessing = Math.max(0.0, radius - this.currentRayPosition); + stopAfterThisSegment = true; + } else segmentLenForProcessing = segmentLenInVoxel; + + if (snap != SubChunkSnapshot.EMPTY && segmentLenForProcessing > PROCESSING_EPSILON) { + Block block = snap.getBlock(x & 0xF, y & 0xF, z & 0xF); + if (block != Blocks.air) { + float resistance = getNukeResistance(block); + if (resistance >= NUKE_RESISTANCE_CUTOFF) { + energy = 0; + } else { + double energyLossFactor = getEnergyLossFactor(resistance); + float damageDealt = (float) (energyLossFactor * segmentLenForProcessing); + energy -= damageDealt; + if (damageDealt > 0) { + int bitIndex = ((WORLD_HEIGHT - 1 - y) << 8) | ((x & 0xF) << 4) | (z & 0xF); + ChunkCoordIntPair chunkPos = currentSubChunkKey.getPos(); + if (BombConfig.explosionAlgorithm == 2) { + damageMap.computeIfAbsent(chunkPos, cp -> new ConcurrentHashMap<>(256)).computeIfAbsent(bitIndex, k -> new DoubleAdder()).add(damageDealt); + } else if (energy > 0) destructionMap.computeIfAbsent(chunkPos, posKey -> new ConcurrentBitSet(BITSET_SIZE)).set(bitIndex); + } + } + } + } + this.currentRayPosition = t_exit_voxel; + if (energy <= 0 || stopAfterThisSegment) break; + + if (tMaxX < tMaxY) { + if (tMaxX < tMaxZ) { + x += stepX; + tMaxX += tDeltaX; + } else { + z += stepZ; + tMaxZ += tDeltaZ; + } + } else { + if (tMaxY < tMaxZ) { + y += stepY; + tMaxY += tDeltaY; + } else { + z += stepZ; + tMaxZ += tDeltaZ; + } + } + } + latch.countDown(); + } + + private double getEnergyLossFactor(float resistance) { + double effectiveDist = Math.max(this.currentRayPosition, MIN_EFFECTIVE_DIST_FOR_ENERGY_CALC); + return (Math.pow(resistance + 1.0, 3.0 * (effectiveDist / radius)) - 1.0); + } + } +} diff --git a/src/main/java/com/hbm/explosion/ExplosionNukeSmall.java b/src/main/java/com/hbm/explosion/ExplosionNukeSmall.java index 0734db2e5..c1c35ceac 100644 --- a/src/main/java/com/hbm/explosion/ExplosionNukeSmall.java +++ b/src/main/java/com/hbm/explosion/ExplosionNukeSmall.java @@ -4,17 +4,19 @@ import com.hbm.config.BombConfig; import com.hbm.entity.logic.EntityNukeExplosionMK5; import com.hbm.explosion.ExplosionNT.ExAttrib; import com.hbm.handler.radiation.ChunkRadiationManager; +import com.hbm.handler.threading.PacketThreading; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.world.WorldUtil; + import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -public class ExplosionNukeSmall { +@Deprecated public class ExplosionNukeSmall { public static void explode(World world, double posX, double posY, double posZ, MukeParams params) { - + // spawn particles, if present if(params.particle != null) { NBTTagCompound data = new NBTTagCompound(); @@ -23,20 +25,20 @@ public class ExplosionNukeSmall { if(params.particle.equals("muke") && (MainRegistry.polaroidID == 11 || world.rand.nextInt(100) == 0)) { data.setBoolean("balefire", true); } - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY + 0.5, posZ), new TargetPoint(world.provider.dimensionId, posX, posY, posZ, 250)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, posX, posY + 0.5, posZ), new TargetPoint(world.provider.dimensionId, posX, posY, posZ, 250)); } - + // play the sound in any case world.playSoundEffect(posX, posY, posZ, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); - + if(params.shrapnelCount > 0) ExplosionLarge.spawnShrapnels(world, posX, posY, posZ, params.shrapnelCount); if(params.miniNuke && !params.safe) new ExplosionNT(world, null, posX, posY, posZ, params.blastRadius).addAllAttrib(params.explosionAttribs).overrideResolution(params.resolution).explode(); if(params.killRadius > 0) ExplosionNukeGeneric.dealDamage(world, posX, posY, posZ, params.killRadius); - if(!params.miniNuke) world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, (int) params.blastRadius, posX, posY, posZ)); - + if(!params.miniNuke) WorldUtil.loadAndSpawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, (int) params.blastRadius, posX, posY, posZ)); + if(params.miniNuke) { float radMod = params.radiationLevel / 3F; - + for(int i = -2; i <= 2; i++) { for(int j = -2; j <= 2; j++) { if(Math.abs(i) + Math.abs(j) < 4) { @@ -52,7 +54,7 @@ public class ExplosionNukeSmall { public static MukeParams PARAMS_LOW = new MukeParams() {{ blastRadius = 15F; killRadius = 45F; radiationLevel = 2; }}; public static MukeParams PARAMS_MEDIUM = new MukeParams() {{ blastRadius = 20F; killRadius = 55F; radiationLevel = 3; }}; public static MukeParams PARAMS_HIGH = new MukeParams() {{ miniNuke = false; blastRadius = BombConfig.fatmanRadius; shrapnelCount = 0; }}; - + /* more sensible approach with more customization options, idea shamelessly stolen from Martin */ public static class MukeParams { public boolean miniNuke = true; diff --git a/src/main/java/com/hbm/explosion/ExplosionTom.java b/src/main/java/com/hbm/explosion/ExplosionTom.java index bd049ed6e..21ae8f7cd 100644 --- a/src/main/java/com/hbm/explosion/ExplosionTom.java +++ b/src/main/java/com/hbm/explosion/ExplosionTom.java @@ -106,14 +106,14 @@ public class ExplosionTom { while(y > threshold) { - if(y == 0) - break; + if(y == 0) break; + if(y <= craterFloor) { if(worldObj.rand.nextInt(499) < 1) { - worldObj.setBlock(pX, y, pZ, ModBlocks.ore_tektite_osmiridium); + worldObj.setBlock(pX, y, pZ, ModBlocks.ore_tektite_osmiridium, 0, 2); } else { - worldObj.setBlock(pX, y, pZ, ModBlocks.tektite); + worldObj.setBlock(pX, y, pZ, ModBlocks.tektite, 0, 2); } } else { @@ -130,7 +130,7 @@ public class ExplosionTom { } } } - worldObj.setBlockToAir(pX, y, pZ); + worldObj.setBlock(pX, y, pZ, Blocks.air, 0, 2); } } else { for(int i = -2; i < 3; i++) { diff --git a/src/main/java/com/hbm/explosion/vanillant/standard/BlockAllocatorWater.java b/src/main/java/com/hbm/explosion/vanillant/standard/BlockAllocatorWater.java new file mode 100644 index 000000000..99d7f29c4 --- /dev/null +++ b/src/main/java/com/hbm/explosion/vanillant/standard/BlockAllocatorWater.java @@ -0,0 +1,78 @@ +package com.hbm.explosion.vanillant.standard; + +import java.util.HashSet; + +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.interfaces.IBlockAllocator; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.util.MathHelper; +import net.minecraft.world.ChunkPosition; +import net.minecraft.world.World; + +public class BlockAllocatorWater implements IBlockAllocator { + + protected int resolution; + + public BlockAllocatorWater(int resolution) { + this.resolution = resolution; + } + + @Override + public HashSet allocate(ExplosionVNT explosion, World world, double x, double y, double z, float size) { + HashSet affectedBlocks = new HashSet<>(); + + for (int i = 0; i < this.resolution; ++i) { + for (int j = 0; j < this.resolution; ++j) { + for (int k = 0; k < this.resolution; ++k) { + if (i == 0 || i == this.resolution - 1 || j == 0 || j == this.resolution - 1 || k == 0 || k == this.resolution - 1) { + double d0 = (float) i / ((float) this.resolution - 1.0F) * 2.0F - 1.0F; + double d1 = (float) j / ((float) this.resolution - 1.0F) * 2.0F - 1.0F; + double d2 = (float) k / ((float) this.resolution - 1.0F) * 2.0F - 1.0F; + double d3 = Math.sqrt(d0 * d0 + d1 * d1 + d2 * d2); + + d0 /= d3; + d1 /= d3; + d2 /= d3; + + float powerRemaining = size * (0.7F + world.rand.nextFloat() * 0.6F); + double currentX = x; + double currentY = y; + double currentZ = z; + + for (float stepSize = 0.3F; powerRemaining > 0.0F; powerRemaining -= stepSize * 0.75F) { + int blockX = MathHelper.floor_double(currentX); + int blockY = MathHelper.floor_double(currentY); + int blockZ = MathHelper.floor_double(currentZ); + + Block block = world.getBlock(blockX, blockY, blockZ); + Material material = block.getMaterial(); + + // im braindead and copy code 🧃🐱‍👤 + if (material != Material.air && !material.isLiquid()) { + float blockResistance = explosion.exploder != null ? + explosion.exploder.func_145772_a(explosion.compat, world, blockX, blockY, blockZ, block) : + block.getExplosionResistance(null, world, blockX, blockY, blockZ, x, y, z); + powerRemaining -= (blockResistance + 0.3F) * stepSize; + } + + + if (powerRemaining > 0.0F && + (explosion.exploder == null || explosion.exploder.func_145774_a(explosion.compat, world, blockX, blockY, blockZ, block, powerRemaining)) && + !material.isLiquid()) { + affectedBlocks.add(new ChunkPosition(blockX, blockY, blockZ)); + } + + currentX += d0 * (double) stepSize; + currentY += d1 * (double) stepSize; + currentZ += d2 * (double) stepSize; + } + } + } + } + } + + return affectedBlocks; + } +} diff --git a/src/main/java/com/hbm/explosion/vanillant/standard/BlockMutatorBalefire.java b/src/main/java/com/hbm/explosion/vanillant/standard/BlockMutatorBalefire.java new file mode 100644 index 000000000..4560852e0 --- /dev/null +++ b/src/main/java/com/hbm/explosion/vanillant/standard/BlockMutatorBalefire.java @@ -0,0 +1,23 @@ +package com.hbm.explosion.vanillant.standard; + +import com.hbm.blocks.ModBlocks; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.interfaces.IBlockMutator; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; + +public class BlockMutatorBalefire implements IBlockMutator { + + @Override public void mutatePre(ExplosionVNT explosion, Block block, int meta, int x, int y, int z) { } + + @Override + public void mutatePost(ExplosionVNT explosion, int x, int y, int z) { + + Block block = explosion.world.getBlock(x, y, z); + Block block1 = explosion.world.getBlock(x, y - 1, z); + if(block.getMaterial() == Material.air && block1.func_149730_j() && explosion.world.rand.nextInt(3) == 0) { + explosion.world.setBlock(x, y, z, ModBlocks.balefire); + } + } +} diff --git a/src/main/java/com/hbm/explosion/vanillant/standard/EntityProcessorCross.java b/src/main/java/com/hbm/explosion/vanillant/standard/EntityProcessorCross.java index 64c4de445..d699707da 100644 --- a/src/main/java/com/hbm/explosion/vanillant/standard/EntityProcessorCross.java +++ b/src/main/java/com/hbm/explosion/vanillant/standard/EntityProcessorCross.java @@ -2,7 +2,9 @@ package com.hbm.explosion.vanillant.standard; import java.util.HashMap; import java.util.List; +import java.util.Map.Entry; +import com.hbm.entity.projectile.EntityBulletBaseMK4; import com.hbm.explosion.vanillant.ExplosionVNT; import com.hbm.explosion.vanillant.interfaces.ICustomDamageHandler; import com.hbm.explosion.vanillant.interfaces.IEntityProcessor; @@ -13,7 +15,9 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; +import net.minecraft.util.EntityDamageSource; import net.minecraft.util.Vec3; +import net.minecraft.world.Explosion; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.event.ForgeEventFactory; @@ -24,10 +28,22 @@ public class EntityProcessorCross implements IEntityProcessor { protected double nodeDist = 2D; protected IEntityRangeMutator range; protected ICustomDamageHandler damage; + protected double knockbackMult = 1D; + protected boolean allowSelfDamage = false; public EntityProcessorCross(double nodeDist) { this.nodeDist = nodeDist; } + + public EntityProcessorCross setAllowSelfDamage() { + this.allowSelfDamage = true; + return this; + } + + public EntityProcessorCross setKnockback(double mult) { + this.knockbackMult = mult; + return this; + } @Override public HashMap process(ExplosionVNT explosion, World world, double x, double y, double z, float size) { @@ -47,7 +63,7 @@ public class EntityProcessorCross implements IEntityProcessor { double minZ = z - (double) size - 1.0D; double maxZ = z + (double) size + 1.0D; - List list = world.getEntitiesWithinAABBExcludingEntity(explosion.exploder, AxisAlignedBB.getBoundingBox(minX, minY, minZ, maxX, maxY, maxZ)); + List list = world.getEntitiesWithinAABBExcludingEntity(allowSelfDamage ? null : explosion.exploder, AxisAlignedBB.getBoundingBox(minX, minY, minZ, maxX, maxY, maxZ)); ForgeEventFactory.onExplosionDetonate(world, explosion.compat, list, size); @@ -57,11 +73,18 @@ public class EntityProcessorCross implements IEntityProcessor { ForgeDirection dir = ForgeDirection.getOrientation(i); nodes[i] = Vec3.createVectorHelper(x + dir.offsetX * nodeDist, y + dir.offsetY * nodeDist, z + dir.offsetZ * nodeDist); } + + HashMap damageMap = new HashMap(); for(int index = 0; index < list.size(); ++index) { Entity entity = (Entity) list.get(index); - double distanceScaled = entity.getDistance(x, y, z) / size; + + double xDist = (entity.boundingBox.minX <= x && entity.boundingBox.maxX >= x) ? 0 : Math.min(Math.abs(entity.boundingBox.minX - x), Math.abs(entity.boundingBox.maxX - x)); + double yDist = (entity.boundingBox.minY <= y && entity.boundingBox.maxY >= y) ? 0 : Math.min(Math.abs(entity.boundingBox.minY - y), Math.abs(entity.boundingBox.maxY - y)); + double zDist = (entity.boundingBox.minZ <= z && entity.boundingBox.maxZ >= z) ? 0 : Math.min(Math.abs(entity.boundingBox.minZ - z), Math.abs(entity.boundingBox.maxZ - z)); + double dist = Math.sqrt(xDist * xDist + yDist * yDist + zDist * zDist); + double distanceScaled = dist / size; if(distanceScaled <= 1.0D) { @@ -86,28 +109,56 @@ public class EntityProcessorCross implements IEntityProcessor { } double knockback = (1.0D - distanceScaled) * density; - - entity.attackEntityFrom(DamageSource.setExplosionSource(explosion.compat), (float) ((int) ((knockback * knockback + knockback) / 2.0D * 8.0D * size + 1.0D))); + + float dmg = calculateDamage(distanceScaled, density, knockback, size); + if(!damageMap.containsKey(entity) || damageMap.get(entity) < dmg) damageMap.put(entity, dmg); double enchKnockback = EnchantmentProtection.func_92092_a(entity, knockback); - entity.motionX += deltaX * enchKnockback; - entity.motionY += deltaY * enchKnockback; - entity.motionZ += deltaZ * enchKnockback; + if(!(entity instanceof EntityBulletBaseMK4)) { + entity.motionX += deltaX * enchKnockback * knockbackMult; + entity.motionY += deltaY * enchKnockback * knockbackMult; + entity.motionZ += deltaZ * enchKnockback * knockbackMult; + } if(entity instanceof EntityPlayer) { - affectedPlayers.put((EntityPlayer) entity, Vec3.createVectorHelper(deltaX * knockback, deltaY * knockback, deltaZ * knockback)); - } - - if(damage != null) { - damage.handleAttack(explosion, entity, distanceScaled); + affectedPlayers.put((EntityPlayer) entity, Vec3.createVectorHelper(deltaX * knockback * knockbackMult, deltaY * knockback * knockbackMult, deltaZ * knockback * knockbackMult)); } } } } + for(Entry entry : damageMap.entrySet()) { + + Entity entity = entry.getKey(); + attackEntity(entity, explosion, entry.getValue()); + + if(damage != null) { + double xDist = (entity.boundingBox.minX <= x && entity.boundingBox.maxX >= x) ? 0 : Math.min(Math.abs(entity.boundingBox.minX - x), Math.abs(entity.boundingBox.maxX - x)); + double yDist = (entity.boundingBox.minY <= y && entity.boundingBox.maxY >= y) ? 0 : Math.min(Math.abs(entity.boundingBox.minY - y), Math.abs(entity.boundingBox.maxY - y)); + double zDist = (entity.boundingBox.minZ <= z && entity.boundingBox.maxZ >= z) ? 0 : Math.min(Math.abs(entity.boundingBox.minZ - z), Math.abs(entity.boundingBox.maxZ - z)); + double dist = Math.sqrt(xDist * xDist + yDist * yDist + zDist * zDist); + double distanceScaled = dist / size; + damage.handleAttack(explosion, entity, distanceScaled); + } + } + return affectedPlayers; } + public void attackEntity(Entity entity, ExplosionVNT source, float amount) { + entity.attackEntityFrom(setExplosionSource(source.compat), amount); + } + + public float calculateDamage(double distanceScaled, double density, double knockback, float size) { + return (float) ((int) ((knockback * knockback + knockback) / 2.0D * 8.0D * size + 1.0D)); + } + + public static DamageSource setExplosionSource(Explosion explosion) { + return explosion != null && explosion.getExplosivePlacedBy() != null ? + (new EntityDamageSource("explosion.player", explosion.getExplosivePlacedBy())).setExplosion() : + (new DamageSource("explosion")).setExplosion(); + } + public EntityProcessorCross withRangeMod(float mod) { range = new IEntityRangeMutator() { @Override diff --git a/src/main/java/com/hbm/explosion/vanillant/standard/EntityProcessorCrossSmooth.java b/src/main/java/com/hbm/explosion/vanillant/standard/EntityProcessorCrossSmooth.java new file mode 100644 index 000000000..5917ba8b8 --- /dev/null +++ b/src/main/java/com/hbm/explosion/vanillant/standard/EntityProcessorCrossSmooth.java @@ -0,0 +1,55 @@ +package com.hbm.explosion.vanillant.standard; + +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.factory.ConfettiUtil; +import com.hbm.util.EntityDamageUtil; +import com.hbm.util.DamageResistanceHandler.DamageClass; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.util.DamageSource; + +public class EntityProcessorCrossSmooth extends EntityProcessorCross { + + protected float fixedDamage; + protected float pierceDT = 0; + protected float pierceDR = 0; + protected DamageClass clazz = DamageClass.EXPLOSIVE; + + public EntityProcessorCrossSmooth(double nodeDist, float fixedDamage) { + super(nodeDist); + this.fixedDamage = fixedDamage; + this.setAllowSelfDamage(); + } + + public EntityProcessorCrossSmooth setupPiercing(float pierceDT, float pierceDR) { + this.pierceDT = pierceDT; + this.pierceDR = pierceDR; + return this; + } + + public EntityProcessorCrossSmooth setDamageClass(DamageClass clazz) { + this.clazz = clazz; + return this; + } + + @Override + public void attackEntity(Entity entity, ExplosionVNT source, float amount) { + if(!entity.isEntityAlive()) return; + if(source.exploder == entity) amount *= 0.5F; + DamageSource dmg = BulletConfig.getDamage(null, source.exploder instanceof EntityLivingBase ? (EntityLivingBase) source.exploder : null, clazz); + if(!(entity instanceof EntityLivingBase)) { + entity.attackEntityFrom(dmg, amount); + } else { + EntityDamageUtil.attackEntityFromNT((EntityLivingBase) entity, dmg, amount, true, false, 0F, pierceDT, pierceDR); + if(!entity.isEntityAlive()) ConfettiUtil.decideConfetti((EntityLivingBase) entity, dmg); + } + } + + @Override + public float calculateDamage(double distanceScaled, double density, double knockback, float size) { + if(density < 0.125) return 0; //shitty hack + return (float) (fixedDamage * (1 - distanceScaled)); + } +} diff --git a/src/main/java/com/hbm/explosion/vanillant/standard/EntityProcessorStandard.java b/src/main/java/com/hbm/explosion/vanillant/standard/EntityProcessorStandard.java index ba9a66cad..9e369ea35 100644 --- a/src/main/java/com/hbm/explosion/vanillant/standard/EntityProcessorStandard.java +++ b/src/main/java/com/hbm/explosion/vanillant/standard/EntityProcessorStandard.java @@ -13,7 +13,9 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; +import net.minecraft.util.EntityDamageSource; import net.minecraft.util.Vec3; +import net.minecraft.world.Explosion; import net.minecraft.world.World; import net.minecraftforge.event.ForgeEventFactory; @@ -67,7 +69,7 @@ public class EntityProcessorStandard implements IEntityProcessor { double density = world.getBlockDensity(vec3, entity.boundingBox); double knockback = (1.0D - distanceScaled) * density; - entity.attackEntityFrom(DamageSource.setExplosionSource(explosion.compat), (float) ((int) ((knockback * knockback + knockback) / 2.0D * 8.0D * size + 1.0D))); + entity.attackEntityFrom(setExplosionSource(explosion.compat), calculateDamage(distanceScaled, density, knockback, size)); double enchKnockback = EnchantmentProtection.func_92092_a(entity, knockback); entity.motionX += deltaX * enchKnockback; @@ -88,6 +90,16 @@ public class EntityProcessorStandard implements IEntityProcessor { return affectedPlayers; } + public float calculateDamage(double distanceScaled, double density, double knockback, float size) { + return (float) ((int) ((knockback * knockback + knockback) / 2.0D * 8.0D * size + 1.0D)); + } + + public static DamageSource setExplosionSource(Explosion explosion) { + return explosion != null && explosion.getExplosivePlacedBy() != null ? + (new EntityDamageSource("explosion.player", explosion.getExplosivePlacedBy())).setExplosion() : + (new DamageSource("explosion")).setExplosion(); + } + public EntityProcessorStandard withRangeMod(float mod) { range = new IEntityRangeMutator() { @Override diff --git a/src/main/java/com/hbm/explosion/vanillant/standard/ExplosionEffectAmat.java b/src/main/java/com/hbm/explosion/vanillant/standard/ExplosionEffectAmat.java index 088c38a83..b185af079 100644 --- a/src/main/java/com/hbm/explosion/vanillant/standard/ExplosionEffectAmat.java +++ b/src/main/java/com/hbm/explosion/vanillant/standard/ExplosionEffectAmat.java @@ -2,8 +2,8 @@ package com.hbm.explosion.vanillant.standard; import com.hbm.explosion.vanillant.ExplosionVNT; import com.hbm.explosion.vanillant.interfaces.IExplosionSFX; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.nbt.NBTTagCompound; @@ -13,15 +13,15 @@ public class ExplosionEffectAmat implements IExplosionSFX { @Override public void doEffect(ExplosionVNT explosion, World world, double x, double y, double z, float size) { - + if(size < 15) world.playSoundEffect(x, y, z, "random.explode", 4.0F, (1.4F + (world.rand.nextFloat() - world.rand.nextFloat()) * 0.2F) * 0.7F); else world.playSoundEffect(x, y, z, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "amat"); data.setFloat("scale", size); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(world.provider.dimensionId, x, y, z, 200)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(world.provider.dimensionId, x, y, z, 200)); } } diff --git a/src/main/java/com/hbm/explosion/vanillant/standard/ExplosionEffectStandard.java b/src/main/java/com/hbm/explosion/vanillant/standard/ExplosionEffectStandard.java index 79b5b6966..583eaa004 100644 --- a/src/main/java/com/hbm/explosion/vanillant/standard/ExplosionEffectStandard.java +++ b/src/main/java/com/hbm/explosion/vanillant/standard/ExplosionEffectStandard.java @@ -4,8 +4,8 @@ import java.util.List; import com.hbm.explosion.vanillant.ExplosionVNT; import com.hbm.explosion.vanillant.interfaces.IExplosionSFX; -import com.hbm.packet.ExplosionVanillaNewTechnologyCompressedAffectedBlockPositionDataForClientEffectsAndParticleHandlingPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.ExplosionVanillaNewTechnologyCompressedAffectedBlockPositionDataForClientEffectsAndParticleHandlingPacket; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.util.MathHelper; diff --git a/src/main/java/com/hbm/explosion/vanillant/standard/ExplosionEffectTiny.java b/src/main/java/com/hbm/explosion/vanillant/standard/ExplosionEffectTiny.java new file mode 100644 index 000000000..e821a06ca --- /dev/null +++ b/src/main/java/com/hbm/explosion/vanillant/standard/ExplosionEffectTiny.java @@ -0,0 +1,27 @@ +package com.hbm.explosion.vanillant.standard; + +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.interfaces.IExplosionSFX; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; + +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class ExplosionEffectTiny implements IExplosionSFX { + + @Override + public void doEffect(ExplosionVNT explosion, World world, double x, double y, double z, float size) { + if(world.isRemote) return; + + world.playSoundEffect(x, y, z, "hbm:weapon.explosionTiny", 15.0F, 1.0F); + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "vanillaExt"); + data.setString("mode", "largeexplode"); + data.setFloat("size", 1.5F); + data.setByte("count", (byte)1); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(world.provider.dimensionId, x, y, z, 100)); + } +} diff --git a/src/main/java/com/hbm/explosion/vanillant/standard/ExplosionEffectWeapon.java b/src/main/java/com/hbm/explosion/vanillant/standard/ExplosionEffectWeapon.java new file mode 100644 index 000000000..6e1d60ef9 --- /dev/null +++ b/src/main/java/com/hbm/explosion/vanillant/standard/ExplosionEffectWeapon.java @@ -0,0 +1,27 @@ +package com.hbm.explosion.vanillant.standard; + +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.interfaces.IExplosionSFX; +import com.hbm.particle.helper.ExplosionSmallCreator; + +import net.minecraft.world.World; + +public class ExplosionEffectWeapon implements IExplosionSFX { + + int cloudCount; + float cloudScale; + float cloudSpeedMult; + + public ExplosionEffectWeapon(int cloudCount, float cloudScale, float cloudSpeedMult) { + this.cloudCount = cloudCount; + this.cloudScale = cloudScale; + this.cloudSpeedMult = cloudSpeedMult; + } + + @Override + public void doEffect(ExplosionVNT explosion, World world, double x, double y, double z, float size) { + if(world.isRemote) return; + + ExplosionSmallCreator.composeEffect(world, x, y, z, cloudCount, cloudScale, cloudSpeedMult); + } +} diff --git a/src/main/java/com/hbm/explosion/vanillant/standard/PlayerProcessorStandard.java b/src/main/java/com/hbm/explosion/vanillant/standard/PlayerProcessorStandard.java index 186ea3b85..73f75de27 100644 --- a/src/main/java/com/hbm/explosion/vanillant/standard/PlayerProcessorStandard.java +++ b/src/main/java/com/hbm/explosion/vanillant/standard/PlayerProcessorStandard.java @@ -5,8 +5,8 @@ import java.util.Map.Entry; import com.hbm.explosion.vanillant.ExplosionVNT; import com.hbm.explosion.vanillant.interfaces.IPlayerProcessor; -import com.hbm.packet.ExplosionKnockbackPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.ExplosionKnockbackPacket; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; diff --git a/src/main/java/com/hbm/extprop/HbmLivingProps.java b/src/main/java/com/hbm/extprop/HbmLivingProps.java index 81a44a47a..aa6356078 100644 --- a/src/main/java/com/hbm/extprop/HbmLivingProps.java +++ b/src/main/java/com/hbm/extprop/HbmLivingProps.java @@ -6,14 +6,16 @@ import java.util.UUID; import com.hbm.config.RadiationConfig; import com.hbm.entity.mob.EntityDuck; +import com.hbm.handler.threading.PacketThreading; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.PlayerInformPacket; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.packet.toclient.PlayerInformPacket; import com.hbm.util.ChatBuilder; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -25,16 +27,15 @@ import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.IExtendedEntityProperties; public class HbmLivingProps implements IExtendedEntityProperties { - + public static final String key = "NTM_EXT_LIVING"; public static final UUID digamma_UUID = UUID.fromString("2a3d8aec-5ab9-4218-9b8b-ca812bdf378b"); public EntityLivingBase entity; - + /// VALS /// private float radiation; private float digamma; @@ -47,28 +48,29 @@ public class HbmLivingProps implements IExtendedEntityProperties { private int bombTimer; private int contagion; private int oil; - private int temperature; - private boolean frozen = false; - private boolean burning = false; + public int fire; + public int phosphorus; + public int balefire; + public int blackFire; private List contamination = new ArrayList(); - + public HbmLivingProps(EntityLivingBase entity) { this.entity = entity; } - + /// DATA /// public static HbmLivingProps registerData(EntityLivingBase entity) { - + entity.registerExtendedProperties(key, new HbmLivingProps(entity)); return (HbmLivingProps) entity.getExtendedProperties(key); } - + public static HbmLivingProps getData(EntityLivingBase entity) { - + HbmLivingProps props = (HbmLivingProps) entity.getExtendedProperties(key); return props != null ? props : registerData(entity); } - + /// RADIATION /// public static float getRadiation(EntityLivingBase entity) { if(!RadiationConfig.enableContamination) @@ -76,99 +78,99 @@ public class HbmLivingProps implements IExtendedEntityProperties { return getData(entity).radiation; } - + public static void setRadiation(EntityLivingBase entity, float rad) { if(RadiationConfig.enableContamination) getData(entity).radiation = rad; } - + public static void incrementRadiation(EntityLivingBase entity, float rad) { if(!RadiationConfig.enableContamination) return; - + HbmLivingProps data = getData(entity); float radiation = getData(entity).radiation + rad; - + if(radiation > 2500) radiation = 2500; if(radiation < 0) radiation = 0; - + data.setRadiation(entity, radiation); } - + /// RAD ENV /// public static float getRadEnv(EntityLivingBase entity) { return getData(entity).radEnv; } - + public static void setRadEnv(EntityLivingBase entity, float rad) { getData(entity).radEnv = rad; } - + /// RAD BUF /// public static float getRadBuf(EntityLivingBase entity) { return getData(entity).radBuf; } - + public static void setRadBuf(EntityLivingBase entity, float rad) { getData(entity).radBuf = rad; } - + /// CONTAMINATION /// public static List getCont(EntityLivingBase entity) { return getData(entity).contamination; } - + public static void addCont(EntityLivingBase entity, ContaminationEffect cont) { getData(entity).contamination.add(cont); } - + /// DIGAMA /// public static float getDigamma(EntityLivingBase entity) { return getData(entity).digamma; } - + public static void setDigamma(EntityLivingBase entity, float digamma) { - + if(entity.worldObj.isRemote) return; - + if(entity instanceof EntityDuck) digamma = 0.0F; - + getData(entity).digamma = digamma; - + float healthMod = (float)Math.pow(0.5, digamma) - 1F; - + IAttributeInstance attributeinstance = entity.getAttributeMap().getAttributeInstance(SharedMonsterAttributes.maxHealth); - + try { attributeinstance.removeModifier(attributeinstance.getModifier(digamma_UUID)); } catch(Exception ex) { } - + attributeinstance.applyModifier(new AttributeModifier(digamma_UUID, "digamma", healthMod, 2)); - + if(entity.getHealth() > entity.getMaxHealth() && entity.getMaxHealth() > 0) { entity.setHealth(entity.getMaxHealth()); } - + if((entity.getMaxHealth() <= 0 || digamma >= 10.0F) && entity.isEntityAlive()) { entity.setAbsorptionAmount(0); entity.attackEntityFrom(ModDamageSource.digamma, 500F); entity.setHealth(0); entity.onDeath(ModDamageSource.digamma); - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "sweat"); data.setInteger("count", 50); data.setInteger("block", Block.getIdFromBlock(Blocks.soul_sand)); data.setInteger("entity", entity.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 50)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 50)); } - + if(entity instanceof EntityPlayer) { - + float di = getData(entity).digamma; if(di > 0F) @@ -179,128 +181,136 @@ public class HbmLivingProps implements IExtendedEntityProperties { ((EntityPlayer) entity).triggerAchievement(MainRegistry.digammaKnow); } } - + public static void incrementDigamma(EntityLivingBase entity, float digamma) { - + if(entity instanceof EntityDuck) digamma = 0.0F; - + HbmLivingProps data = getData(entity); float dRad = getDigamma(entity) + digamma; - + if(dRad > 10) dRad = 10; if(dRad < 0) dRad = 0; - + data.setDigamma(entity, dRad); } - - + + /// ASBESTOS /// public static int getAsbestos(EntityLivingBase entity) { if(RadiationConfig.disableAsbestos) return 0; return getData(entity).asbestos; } - + public static void setAsbestos(EntityLivingBase entity, int asbestos) { if(RadiationConfig.disableAsbestos) return; getData(entity).asbestos = asbestos; - + if(asbestos >= maxAsbestos) { getData(entity).asbestos = 0; entity.attackEntityFrom(ModDamageSource.asbestos, 1000); } } - + public static void incrementAsbestos(EntityLivingBase entity, int asbestos) { if(RadiationConfig.disableAsbestos) return; setAsbestos(entity, getAsbestos(entity) + asbestos); - + if(entity instanceof EntityPlayerMP) { PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("").nextTranslation("info.asbestos").color(EnumChatFormatting.RED).flush(), MainRegistry.proxy.ID_GAS_HAZARD, 3000), (EntityPlayerMP) entity); } } - - + + /// BLACK LUNG DISEASE /// public static int getBlackLung(EntityLivingBase entity) { if(RadiationConfig.disableCoal) return 0; return getData(entity).blacklung; } - + public static void setBlackLung(EntityLivingBase entity, int blacklung) { if(RadiationConfig.disableCoal) return; getData(entity).blacklung = blacklung; - + if(blacklung >= maxBlacklung) { getData(entity).blacklung = 0; entity.attackEntityFrom(ModDamageSource.blacklung, 1000); } } - + public static void incrementBlackLung(EntityLivingBase entity, int blacklung) { if(RadiationConfig.disableCoal) return; setBlackLung(entity, getBlackLung(entity) + blacklung); - + if(entity instanceof EntityPlayerMP) { PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("").nextTranslation("info.coaldust").color(EnumChatFormatting.RED).flush(), MainRegistry.proxy.ID_GAS_HAZARD, 3000), (EntityPlayerMP) entity); } } - + /// TIME BOMB /// public static int getTimer(EntityLivingBase entity) { return getData(entity).bombTimer; } - + public static void setTimer(EntityLivingBase entity, int bombTimer) { getData(entity).bombTimer = bombTimer; } - + /// CONTAGION /// public static int getContagion(EntityLivingBase entity) { return getData(entity).contagion; } - + public static void setContagion(EntityLivingBase entity, int contageon) { getData(entity).contagion = contageon; } - - /// OIL /// - public static int getOil(EntityLivingBase entity) { - return getData(entity).oil; - } - - public static void setOil(EntityLivingBase entity, int oil) { - getData(entity).oil = oil; - } - - /// TEMPERATURE /// - public static int getTemperature(EntityLivingBase entity) { - return getData(entity).temperature; - } - - public static void setTemperature(EntityLivingBase entity, int temperature) { - HbmLivingProps data = getData(entity); - temperature = MathHelper.clamp_int(temperature, -2500, 2500); - data.temperature = temperature; - if(temperature > 1000) data.burning = true; - if(temperature < 800) data.burning = false; - if(temperature < -1000) data.frozen = true; - if(temperature > -800) data.frozen = false; - } - public static boolean isFrozen(EntityLivingBase entity) { return getData(entity).frozen; }; - public static boolean isBurning(EntityLivingBase entity) { return getData(entity).burning; }; + /// OIL /// + public static int getOil(EntityLivingBase entity) { return getData(entity).oil; } + public static void setOil(EntityLivingBase entity, int oil) { getData(entity).oil = oil; } @Override public void init(Entity entity, World world) { } + public void serialize(ByteBuf buf) { + buf.writeFloat(radiation); + buf.writeFloat(digamma); + buf.writeInt(asbestos); + buf.writeInt(bombTimer); + buf.writeInt(contagion); + buf.writeInt(blacklung); + buf.writeInt(oil); + buf.writeInt(this.contamination.size()); + for (ContaminationEffect contaminationEffect : this.contamination) { + contaminationEffect.serialize(buf); // long ass buffers? uh, yes please! + } + } + + public void deserialize(ByteBuf buf) { + if(buf.readableBytes() > 0) { + radiation = buf.readFloat(); + digamma = buf.readFloat(); + asbestos = buf.readInt(); + bombTimer = buf.readInt(); + contagion = buf.readInt(); + blacklung = buf.readInt(); + oil = buf.readInt(); + int size = buf.readInt(); + for (int i = 0; i < size; i++) { + this.contamination.add(ContaminationEffect.deserialize(buf)); + } + } + } + + @Deprecated @Override public void saveNBTData(NBTTagCompound nbt) { - + NBTTagCompound props = new NBTTagCompound(); - + props.setFloat("hfr_radiation", radiation); props.setFloat("hfr_digamma", digamma); props.setInteger("hfr_asbestos", asbestos); @@ -308,21 +318,26 @@ public class HbmLivingProps implements IExtendedEntityProperties { props.setInteger("hfr_contagion", contagion); props.setInteger("hfr_blacklung", blacklung); props.setInteger("hfr_oil", oil); - + props.setInteger("hfr_fire", fire); + props.setInteger("hfr_phosphorus", phosphorus); + props.setInteger("hfr_balefire", balefire); + props.setInteger("hfr_blackfire", blackFire); + props.setInteger("hfr_cont_count", this.contamination.size()); - + for(int i = 0; i < this.contamination.size(); i++) { this.contamination.get(i).save(props, i); } - + nbt.setTag("HbmLivingProps", props); } + @Deprecated @Override public void loadNBTData(NBTTagCompound nbt) { - + NBTTagCompound props = (NBTTagCompound) nbt.getTag("HbmLivingProps"); - + if(props != null) { radiation = props.getFloat("hfr_radiation"); digamma = props.getFloat("hfr_digamma"); @@ -331,32 +346,53 @@ public class HbmLivingProps implements IExtendedEntityProperties { contagion = props.getInteger("hfr_contagion"); blacklung = props.getInteger("hfr_blacklung"); oil = props.getInteger("hfr_oil"); - + fire = props.getInteger("hfr_fire"); + phosphorus = props.getInteger("hfr_phosphorus"); + balefire = props.getInteger("hfr_balefire"); + blackFire = props.getInteger("hfr_blackfire"); + int cont = props.getInteger("hfr_cont_count"); - + for(int i = 0; i < cont; i++) { this.contamination.add(ContaminationEffect.load(props, i)); } } } - + public static class ContaminationEffect { - + public float maxRad; public int maxTime; public int time; public boolean ignoreArmor; - + public ContaminationEffect(float rad, int time, boolean ignoreArmor) { this.maxRad = rad; this.maxTime = this.time = time; this.ignoreArmor = ignoreArmor; } - + public float getRad() { return maxRad * ((float)time / (float)maxTime); } - + + public void serialize(ByteBuf buf) { + buf.writeFloat(this.maxRad); + buf.writeInt(this.maxTime); + buf.writeInt(this.time); + buf.writeBoolean(ignoreArmor); + } + + public static ContaminationEffect deserialize(ByteBuf buf) { + float maxRad = buf.readFloat(); + int maxTime = buf.readInt(); + int time = buf.readInt(); + boolean ignoreArmor = buf.readBoolean(); + ContaminationEffect effect = new ContaminationEffect(maxRad, maxTime, ignoreArmor); + effect.time = time; + return effect; + } + public void save(NBTTagCompound nbt, int index) { NBTTagCompound me = new NBTTagCompound(); me.setFloat("maxRad", this.maxRad); @@ -365,14 +401,14 @@ public class HbmLivingProps implements IExtendedEntityProperties { me.setBoolean("ignoreArmor", ignoreArmor); nbt.setTag("cont_" + index, me); } - + public static ContaminationEffect load(NBTTagCompound nbt, int index) { NBTTagCompound me = (NBTTagCompound) nbt.getTag("cont_" + index); float maxRad = me.getFloat("maxRad"); int maxTime = nbt.getInteger("maxTime"); int time = nbt.getInteger("time"); boolean ignoreArmor = nbt.getBoolean("ignoreArmor"); - + ContaminationEffect effect = new ContaminationEffect(maxRad, maxTime, ignoreArmor); effect.time = time; return effect; diff --git a/src/main/java/com/hbm/extprop/HbmPlayerProps.java b/src/main/java/com/hbm/extprop/HbmPlayerProps.java index b1dfbd74d..e1b64d8e9 100644 --- a/src/main/java/com/hbm/extprop/HbmPlayerProps.java +++ b/src/main/java/com/hbm/extprop/HbmPlayerProps.java @@ -8,6 +8,7 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -17,88 +18,103 @@ import net.minecraft.world.World; import net.minecraftforge.common.IExtendedEntityProperties; public class HbmPlayerProps implements IExtendedEntityProperties { - + public static final String key = "NTM_EXT_PLAYER"; public EntityPlayer player; - + public boolean hasReceivedBook = false; - + public boolean enableHUD = true; public boolean enableBackpack = true; - + public boolean enableMagnet = true; + private boolean[] keysPressed = new boolean[EnumKeybind.values().length]; - + public boolean dashActivated = true; - + public static final int dashCooldownLength = 5; public int dashCooldown = 0; - + public int totalDashCount = 0; public int stamina = 0; - + public static final int plinkCooldownLength = 10; public int plinkCooldown = 0; - + public float shield = 0; public float maxShield = 0; public int lastDamage = 0; public static final float shieldCap = 100; - + public int reputation; - + public boolean isOnLadder = false; - + public HbmPlayerProps(EntityPlayer player) { this.player = player; } - + public static HbmPlayerProps registerData(EntityPlayer player) { player.registerExtendedProperties(key, new HbmPlayerProps(player)); return (HbmPlayerProps) player.getExtendedProperties(key); } - + public static HbmPlayerProps getData(EntityPlayer player) { HbmPlayerProps props = (HbmPlayerProps) player.getExtendedProperties(key); return props != null ? props : registerData(player); } - + public boolean getKeyPressed(EnumKeybind key) { return keysPressed[key.ordinal()]; } - + public boolean isJetpackActive() { return this.enableBackpack && getKeyPressed(EnumKeybind.JETPACK); } - + + public boolean isMagnetActive(){ + return this.enableMagnet; + } + public void setKeyPressed(EnumKeybind key, boolean pressed) { - + if(!getKeyPressed(key) && pressed) { - + if(key == EnumKeybind.TOGGLE_JETPACK) { - + if(!player.worldObj.isRemote) { this.enableBackpack = !this.enableBackpack; - + if(this.enableBackpack) MainRegistry.proxy.displayTooltip(EnumChatFormatting.GREEN + "Jetpack ON", MainRegistry.proxy.ID_JETPACK); else MainRegistry.proxy.displayTooltip(EnumChatFormatting.RED + "Jetpack OFF", MainRegistry.proxy.ID_JETPACK); } } + if (key == EnumKeybind.TOGGLE_MAGNET){ + if (!player.worldObj.isRemote){ + this.enableMagnet = !this.enableMagnet; + + if(this.enableMagnet) + MainRegistry.proxy.displayTooltip(EnumChatFormatting.GREEN + "Magnet ON", MainRegistry.proxy.ID_MAGNET); + else + MainRegistry.proxy.displayTooltip(EnumChatFormatting.RED + "Magnet OFF", MainRegistry.proxy.ID_MAGNET); + } + } if(key == EnumKeybind.TOGGLE_HEAD) { - + if(!player.worldObj.isRemote) { this.enableHUD = !this.enableHUD; - + if(this.enableHUD) MainRegistry.proxy.displayTooltip(EnumChatFormatting.GREEN + "HUD ON", MainRegistry.proxy.ID_HUD); else MainRegistry.proxy.displayTooltip(EnumChatFormatting.RED + "HUD OFF", MainRegistry.proxy.ID_HUD); } } - + if(key == EnumKeybind.TRAIN) { - + if(!this.player.worldObj.isRemote) { if(player.ridingEntity != null && player.ridingEntity instanceof EntityRailCarBase && player.ridingEntity instanceof IGUIProvider) { @@ -107,50 +123,50 @@ public class HbmPlayerProps implements IExtendedEntityProperties { } } } - + keysPressed[key.ordinal()] = pressed; } - + public void setDashCooldown(int cooldown) { this.dashCooldown = cooldown; return; } - + public int getDashCooldown() { return this.dashCooldown; } - + public void setStamina(int stamina) { this.stamina = stamina; return; } - + public int getStamina() { return this.stamina; } - + public void setDashCount(int count) { this.totalDashCount = count; return; } - + public int getDashCount() { return this.totalDashCount; } - + public static void plink(EntityPlayer player, String sound, float volume, float pitch) { HbmPlayerProps props = HbmPlayerProps.getData(player); - + if(props.plinkCooldown <= 0) { player.worldObj.playSoundAtEntity(player, sound, volume, pitch); props.plinkCooldown = props.plinkCooldownLength; } } - + public float getEffectiveMaxShield() { - + float max = this.maxShield; - + if(player.getCurrentArmor(2) != null) { ItemStack[] mods = ArmorModHandler.pryMods(player.getCurrentArmor(2)); if(mods[ArmorModHandler.kevlar] != null && mods[ArmorModHandler.kevlar].getItem() instanceof ItemModShield) { @@ -158,39 +174,67 @@ public class HbmPlayerProps implements IExtendedEntityProperties { max += mod.shield; } } - + return max; } @Override public void init(Entity entity, World world) { } + public void serialize(ByteBuf buf) { + buf.writeBoolean(this.hasReceivedBook); + buf.writeFloat(this.shield); + buf.writeFloat(this.maxShield); + buf.writeBoolean(this.enableBackpack); + buf.writeBoolean(this.enableHUD); + buf.writeInt(this.reputation); + buf.writeBoolean(this.isOnLadder); + buf.writeBoolean(this.enableMagnet); + } + + public void deserialize(ByteBuf buf) { + if(buf.readableBytes() > 0) { + this.hasReceivedBook = buf.readBoolean(); + this.shield = buf.readFloat(); + this.maxShield = buf.readFloat(); + this.enableBackpack = buf.readBoolean(); + this.enableHUD = buf.readBoolean(); + this.reputation = buf.readInt(); + this.isOnLadder = buf.readBoolean(); + this.enableMagnet = buf.readBoolean(); + } + } + + @Deprecated @Override public void saveNBTData(NBTTagCompound nbt) { - + NBTTagCompound props = new NBTTagCompound(); props.setBoolean("hasReceivedBook", hasReceivedBook); props.setFloat("shield", shield); props.setFloat("maxShield", maxShield); props.setBoolean("enableBackpack", enableBackpack); + props.setBoolean("enableMagnet", enableMagnet); props.setBoolean("enableHUD", enableHUD); props.setInteger("reputation", reputation); props.setBoolean("isOnLadder", isOnLadder); - + nbt.setTag("HbmPlayerProps", props); } + @Deprecated @Override public void loadNBTData(NBTTagCompound nbt) { - + NBTTagCompound props = (NBTTagCompound) nbt.getTag("HbmPlayerProps"); - + if(props != null) { this.hasReceivedBook = props.getBoolean("hasReceivedBook"); this.shield = props.getFloat("shield"); this.maxShield = props.getFloat("maxShield"); this.enableBackpack = props.getBoolean("enableBackpack"); + this.enableMagnet = props.getBoolean("enableMagnet"); this.enableHUD = props.getBoolean("enableHUD"); this.reputation = props.getInteger("reputation"); this.isOnLadder = props.getBoolean("isOnLadder"); diff --git a/src/main/java/com/hbm/handler/ArmorModHandler.java b/src/main/java/com/hbm/handler/ArmorModHandler.java index 04877a1df..9104d826b 100644 --- a/src/main/java/com/hbm/handler/ArmorModHandler.java +++ b/src/main/java/com/hbm/handler/ArmorModHandler.java @@ -1,13 +1,12 @@ package com.hbm.handler; -import java.util.UUID; - import com.hbm.items.armor.ItemArmorMod; - import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import java.util.UUID; + public class ArmorModHandler { public static final int helmet_only = 0; @@ -19,28 +18,28 @@ public class ArmorModHandler { public static final int kevlar = 6; public static final int extra = 7; public static final int battery = 8; - + public static final int MOD_SLOTS = 9; - + public static final UUID[] UUIDs = new UUID[] { UUID.fromString("8d6e5c77-133e-4056-9c80-a9e42a1a0b65"), UUID.fromString("b1b7ee0e-1d14-4400-8037-f7f2e02f21ca"), UUID.fromString("30b50d2a-4858-4e5b-88d4-3e3612224238"), UUID.fromString("426ee0d0-7587-4697-aaef-4772ab202e78") }; - + public static final UUID[] fixedUUIDs = new UUID[] { UUID.fromString("e572caf4-3e65-4152-bc79-c4d4048cbd29"), UUID.fromString("bed30902-8a6a-4769-9f65-2a9b67469fff"), UUID.fromString("baebf7b3-1eda-4a14-b233-068e2493e9a2"), UUID.fromString("28016c1b-d992-4324-9409-a9f9f0ffb85c") }; - + //The key for the NBTTagCompound that holds the armor mods public static final String MOD_COMPOUND_KEY = "ntm_armor_mods"; //The key for the specific slot inside the armor mod NBT Tag public static final String MOD_SLOT_KEY = "mod_slot_"; - + /** * Checks if a mod can be applied to an armor piece * Needs to be used to prevent people from inserting invalid items into the armor table @@ -49,23 +48,23 @@ public class ArmorModHandler { * @return */ public static boolean isApplicable(ItemStack armor, ItemStack mod) { - + if(armor == null || mod == null) return false; - + if(!(armor.getItem() instanceof ItemArmor)) return false; - + if(!(mod.getItem() instanceof ItemArmorMod)) return false; - + int type = ((ItemArmor)armor.getItem()).armorType; - + ItemArmorMod aMod = (ItemArmorMod)mod.getItem(); - + return (type == 0 && aMod.helmet) || (type == 1 && aMod.chestplate) || (type == 2 && aMod.leggings) || (type == 3 && aMod.boots); } - + /** * Applies an mod to the given armor piece * Make sure to check for applicability first @@ -74,119 +73,124 @@ public class ArmorModHandler { * @param mod */ public static void applyMod(ItemStack armor, ItemStack mod) { - + if(!armor.hasTagCompound()) armor.stackTagCompound = new NBTTagCompound(); - + NBTTagCompound nbt = armor.getTagCompound(); - + if(!nbt.hasKey(MOD_COMPOUND_KEY)) nbt.setTag(MOD_COMPOUND_KEY, new NBTTagCompound()); - + NBTTagCompound mods = nbt.getCompoundTag(MOD_COMPOUND_KEY); - + ItemArmorMod aMod = (ItemArmorMod)mod.getItem(); int slot = aMod.type; - + NBTTagCompound cmp = new NBTTagCompound(); mod.writeToNBT(cmp); - + mods.setTag(MOD_SLOT_KEY + slot, cmp); } - + /** * Removes the mod from the given slot * @param armor * @param slot */ public static void removeMod(ItemStack armor, int slot) { - + if(armor == null) return; - + if(!armor.hasTagCompound()) armor.stackTagCompound = new NBTTagCompound(); - + NBTTagCompound nbt = armor.getTagCompound(); - + if(!nbt.hasKey(MOD_COMPOUND_KEY)) nbt.setTag(MOD_COMPOUND_KEY, new NBTTagCompound()); - + NBTTagCompound mods = nbt.getCompoundTag(MOD_COMPOUND_KEY); mods.removeTag(MOD_SLOT_KEY + slot); - + if(mods.hasNoTags()) clearMods(armor); } - + /** * Removes ALL mods * Should be used when the armor piece is put in the armor table slot AFTER the armor pieces have been separated * @param armor */ public static void clearMods(ItemStack armor) { - + if(!armor.hasTagCompound()) return; - + NBTTagCompound nbt = armor.getTagCompound(); nbt.removeTag(MOD_COMPOUND_KEY); } - + /** * Does what the name implies. Returns true if the stack has NBT and that NBT has the MOD_COMPOUND_KEY tag. * @param armor * @return */ public static boolean hasMods(ItemStack armor) { - + if(!armor.hasTagCompound()) return false; - + NBTTagCompound nbt = armor.getTagCompound(); return nbt.hasKey(MOD_COMPOUND_KEY); } - + + /** + * Gets all the modifications in the provided armor + * @param armor + * @return + */ public static ItemStack[] pryMods(ItemStack armor) { - + ItemStack[] slots = new ItemStack[MOD_SLOTS]; if(!hasMods(armor)) return slots; - + NBTTagCompound nbt = armor.getTagCompound(); NBTTagCompound mods = nbt.getCompoundTag(MOD_COMPOUND_KEY); - + for(int i = 0; i < MOD_SLOTS; i++) { - + NBTTagCompound cmp = mods.getCompoundTag(MOD_SLOT_KEY + i); - + ItemStack stack = ItemStack.loadItemStackFromNBT(cmp); - + if(stack != null) slots[i] = stack; else // Any non-existing armor mods will be sorted out automatically removeMod(armor, i); } - + return slots; } - + public static ItemStack pryMod(ItemStack armor, int slot) { - + if(!hasMods(armor)) return null; - + NBTTagCompound nbt = armor.getTagCompound(); NBTTagCompound mods = nbt.getCompoundTag(MOD_COMPOUND_KEY); NBTTagCompound cmp = mods.getCompoundTag(MOD_SLOT_KEY + slot); ItemStack stack = ItemStack.loadItemStackFromNBT(cmp); - + if(stack != null) return stack; - + removeMod(armor, slot); - + return null; } } diff --git a/src/main/java/com/hbm/handler/BobmazonOfferFactory.java b/src/main/java/com/hbm/handler/BobmazonOfferFactory.java index 2c0f4fc8d..e0b3c4560 100644 --- a/src/main/java/com/hbm/handler/BobmazonOfferFactory.java +++ b/src/main/java/com/hbm/handler/BobmazonOfferFactory.java @@ -4,160 +4,52 @@ import java.util.ArrayList; import java.util.List; import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockConcreteColoredExt.EnumConcreteType; +import com.hbm.blocks.generic.BlockNTMFlower.EnumFlowerType; +import com.hbm.blocks.generic.BlockPlushie.PlushieType; +import com.hbm.blocks.generic.BlockSnowglobe.SnowglobeType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.gui.GUIScreenBobmazon.Offer; import com.hbm.inventory.gui.GUIScreenBobmazon.Requirement; -import com.hbm.items.ItemAmmoEnums.*; import com.hbm.items.ModItems; import com.hbm.items.food.ItemConserve.EnumFoodType; import com.hbm.items.machine.ItemBattery; import com.hbm.items.special.ItemKitCustom; import com.hbm.items.special.ItemKitNBT; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; public class BobmazonOfferFactory { - public static List materials = new ArrayList(); - public static List machines = new ArrayList(); - public static List weapons = new ArrayList(); - public static List tools = new ArrayList(); + public static List standard = new ArrayList(); public static List special = new ArrayList(); public static void init() { - materials.clear(); - machines.clear(); - weapons.clear(); - tools.clear(); + standard.clear(); special.clear(); - int inflation = 5; - materials.add(new Offer(new ItemStack(ModItems.ingot_uranium), Requirement.NUCLEAR, 6 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.ingot_u233), Requirement.NUCLEAR, 20 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.ingot_u238), Requirement.NUCLEAR, 15 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.ingot_th232), Requirement.NUCLEAR, 4 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.ingot_plutonium), Requirement.NUCLEAR, 25 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.ingot_titanium), Requirement.STEEL, 2 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.ingot_copper), Requirement.STEEL, 2 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.ingot_red_copper), Requirement.STEEL, 4 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.ingot_tungsten), Requirement.STEEL, 3 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.ingot_aluminium), Requirement.STEEL, 2 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.ingot_steel), Requirement.STEEL, 4 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.ingot_lead), Requirement.STEEL, 2 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.ingot_polymer), Requirement.OIL, 8 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.ingot_uranium_fuel), Requirement.NUCLEAR, 18 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.ingot_thorium_fuel), Requirement.NUCLEAR, 16 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.ingot_desh), Requirement.OIL, 16 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.ingot_saturnite), Requirement.STEEL, 8 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.lithium), Requirement.CHEMICS, 6 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.solid_fuel), Requirement.OIL, 4 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.lignite), Requirement.STEEL, 2 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.canister_full, 1, Fluids.OIL.getID()), Requirement.OIL, 4 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.canister_full, 1, Fluids.DIESEL.getID()), Requirement.OIL, 16 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.canister_full, 1, Fluids.PETROIL.getID()), Requirement.OIL, 12 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.canister_full, 1, Fluids.GASOLINE.getID()), Requirement.OIL, 20 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.canister_full, 1, Fluids.KEROSENE.getID()), Requirement.OIL, 20 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.canister_full, 1, Fluids.NITAN.getID()), Requirement.OIL, 100 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.gas_full, 1, Fluids.PETROLEUM.getID()), Requirement.OIL, 8 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.motor), Requirement.ASSEMBLY, 12 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.rtg_unit), Requirement.NUCLEAR, 25 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.pellet_gas), Requirement.CHEMICS, 4 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.magnetron), Requirement.ASSEMBLY, 10 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.pellet_rtg), Requirement.NUCLEAR, 27 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.piston_selenium), Requirement.ASSEMBLY, 12 * inflation)); - materials.add(new Offer(ItemBattery.getFullBattery(ModItems.battery_advanced), Requirement.ASSEMBLY, 15 * inflation)); - materials.add(new Offer(ItemBattery.getFullBattery(ModItems.battery_lithium), Requirement.CHEMICS, 30 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.arc_electrode), Requirement.ASSEMBLY, 15 * inflation)); - materials.add(new Offer(new ItemStack(ModItems.fuse), Requirement.ASSEMBLY, 5 * inflation)); - - machines.add(new Offer(new ItemStack(ModBlocks.concrete_smooth, 16), Requirement.CHEMICS, 32 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.brick_compound, 8), Requirement.CHEMICS, 48 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.barbed_wire, 16), Requirement.ASSEMBLY, 12 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.machine_siren), Requirement.ASSEMBLY, 12 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.vault_door), Requirement.CHEMICS, 250 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.blast_door), Requirement.CHEMICS, 120 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.machine_epress), Requirement.OIL, 60 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.machine_difurnace_off), Requirement.STEEL, 26 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.machine_gascent), Requirement.OIL, 100 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.machine_diesel), Requirement.CHEMICS, 65 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.machine_geo), Requirement.CHEMICS, 30 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.machine_battery), Requirement.ASSEMBLY, 30 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.machine_lithium_battery), Requirement.CHEMICS, 60 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.machine_assembler), Requirement.ASSEMBLY, 30 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.machine_chemplant), Requirement.CHEMICS, 50 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.machine_shredder), Requirement.ASSEMBLY, 45 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.machine_well), Requirement.OIL, 40 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.machine_refinery), Requirement.OIL, 80 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.absorber), Requirement.CHEMICS, 10 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.absorber_green), Requirement.OIL, 25 * inflation)); - machines.add(new Offer(new ItemStack(ModBlocks.decon), Requirement.CHEMICS, 15 * inflation)); - - weapons.add(new Offer(new ItemStack(ModItems.loot_10), Requirement.OIL, 50 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.loot_15), Requirement.OIL, 65 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.loot_misc), Requirement.NUCLEAR, 65 * inflation)); - weapons.add(new Offer(new ItemStack(ModBlocks.launch_pad), Requirement.OIL, 95 * inflation)); - weapons.add(new Offer(new ItemStack(ModBlocks.machine_radar), Requirement.OIL, 90 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.designator), Requirement.CHEMICS, 35 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.designator_range), Requirement.CHEMICS, 50 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.sat_chip), Requirement.CHEMICS, 35 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.turret_chip), Requirement.CHEMICS, 80 * inflation)); - weapons.add(new Offer(new ItemStack(ModBlocks.mine_ap, 4), Requirement.ASSEMBLY, 25 * inflation)); - weapons.add(new Offer(new ItemStack(ModBlocks.emp_bomb), Requirement.CHEMICS, 90 * inflation)); - weapons.add(new Offer(new ItemStack(ModBlocks.det_cord, 16), Requirement.ASSEMBLY, 50 * inflation)); - weapons.add(new Offer(new ItemStack(ModBlocks.det_charge), Requirement.CHEMICS, 25 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.detonator), Requirement.ASSEMBLY, 15 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.detonator_laser), Requirement.CHEMICS, 60 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.defuser), Requirement.OIL, 5 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.gun_revolver), Requirement.ASSEMBLY, 15 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.gun_revolver_nopip), Requirement.ASSEMBLY, 20 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.gun_minigun), Requirement.OIL, 100 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.gun_panzerschreck), Requirement.ASSEMBLY, 95 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.gun_hk69), Requirement.ASSEMBLY, 60 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.gun_uzi), Requirement.OIL, 80 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.gun_lever_action), Requirement.ASSEMBLY, 60 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.gun_bolt_action), Requirement.ASSEMBLY, 35 * inflation)); - weapons.add(new Offer(ModItems.ammo_357.stackFromEnum(6, Ammo357Magnum.LEAD), Requirement.OIL, 12 * inflation)); - weapons.add(new Offer(ModItems.ammo_357.stackFromEnum(6, Ammo357Magnum.DESH), Requirement.OIL, 36 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.ammo_44, 6), Requirement.OIL, 12 * inflation)); - weapons.add(new Offer(ModItems.ammo_44.stackFromEnum(6, Ammo44Magnum.AP), Requirement.OIL, 18 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.ammo_5mm, 50), Requirement.OIL, 50 * inflation)); - weapons.add(new Offer(ModItems.ammo_5mm.stackFromEnum(50, Ammo5mm.DU), Requirement.OIL, 75 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.ammo_rocket), Requirement.OIL, 5 * inflation)); - weapons.add(new Offer(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.INCENDIARY), Requirement.OIL, 8 * inflation)); - weapons.add(new Offer(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.SLEEK), Requirement.OIL, 12 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.ammo_grenade), Requirement.OIL, 4 * inflation)); - weapons.add(new Offer(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.INCENDIARY), Requirement.OIL, 6 * inflation)); - weapons.add(new Offer(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.SLEEK), Requirement.OIL, 10 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.ammo_22lr, 32), Requirement.OIL, 24 * inflation)); - weapons.add(new Offer(ModItems.ammo_22lr.stackFromEnum(32, Ammo22LR.AP), Requirement.OIL, 32 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.ammo_20gauge, 6), Requirement.OIL, 18 * inflation)); - weapons.add(new Offer(ModItems.ammo_20gauge.stackFromEnum(6, Ammo20Gauge.SLUG), Requirement.OIL, 20 * inflation)); - weapons.add(new Offer(ModItems.ammo_20gauge.stackFromEnum(6, Ammo20Gauge.FLECHETTE), Requirement.OIL, 22 * inflation)); - weapons.add(new Offer(new ItemStack(ModItems.gun_hp_ammo, 1), Requirement.ASSEMBLY, 1000 * inflation)); - - tools.add(new Offer(new ItemStack(ModBlocks.crate_can, 1), Requirement.STEEL, 20 * inflation)); - tools.add(new Offer(new ItemStack(ModBlocks.machine_keyforge), Requirement.STEEL, 10 * inflation)); - tools.add(new Offer(new ItemStack(ModBlocks.machine_satlinker), Requirement.CHEMICS, 50 * inflation)); - tools.add(new Offer(new ItemStack(ModItems.oil_detector), Requirement.CHEMICS, 45 * inflation)); - tools.add(new Offer(new ItemStack(ModItems.geiger_counter), Requirement.CHEMICS, 10 * inflation)); - tools.add(new Offer(new ItemStack(ModItems.key), Requirement.STEEL, 2 * inflation)); - tools.add(new Offer(new ItemStack(ModItems.padlock), Requirement.STEEL, 5 * inflation)); - tools.add(new Offer(new ItemStack(ModItems.padlock_reinforced), Requirement.OIL, 15 * inflation)); - tools.add(new Offer(new ItemStack(ModItems.syringe_antidote, 6), Requirement.STEEL, 10 * inflation)); - tools.add(new Offer(new ItemStack(ModItems.syringe_metal_stimpak, 4), Requirement.STEEL, 10 * inflation)); - tools.add(new Offer(new ItemStack(ModItems.syringe_metal_medx, 4), Requirement.STEEL, 10 * inflation)); - tools.add(new Offer(new ItemStack(ModItems.radaway, 6), Requirement.ASSEMBLY, 30 * inflation)); - tools.add(new Offer(new ItemStack(ModItems.radaway_strong, 3), Requirement.ASSEMBLY, 35 * inflation)); - tools.add(new Offer(new ItemStack(ModItems.radx, 4), Requirement.ASSEMBLY, 20 * inflation)); - tools.add(new Offer(new ItemStack(ModItems.pill_iodine, 6), Requirement.ASSEMBLY, 20 * inflation)); - tools.add(new Offer(new ItemStack(ModItems.gas_mask_filter, 1), Requirement.ASSEMBLY, 5 * inflation)); - tools.add(new Offer(new ItemStack(ModItems.gun_kit_1, 4), Requirement.OIL, 20 * inflation)); - tools.add(new Offer(new ItemStack(ModItems.gun_kit_2, 2), Requirement.OIL, 45 * inflation)); - tools.add(new Offer(new ItemStack(ModItems.hazmat_kit), Requirement.ASSEMBLY, 40 * inflation)); - tools.add(new Offer(new ItemStack(ModItems.hazmat_red_kit), Requirement.CHEMICS, 100 * inflation)); - tools.add(new Offer(new ItemStack(ModItems.hazmat_grey_kit), Requirement.OIL, 160 * inflation)); + //gear + standard.add(new Offer(new ItemStack(Blocks.torch, 64), Requirement.NONE, 2)); + standard.add(new Offer(new ItemStack(ModItems.definitelyfood, 16), Requirement.NONE, 4)); + standard.add(new Offer(new ItemStack(ModItems.nitra, 4), Requirement.CHEMICS, 16)); + standard.add(new Offer(new ItemStack(ModItems.gun_kit_1, 1), Requirement.ASSEMBLY, 16)); + standard.add(new Offer(new ItemStack(ModItems.geiger_counter, 1), Requirement.NONE, 16)); + standard.add(new Offer(new ItemStack(ModItems.matchstick, 16), Requirement.STEEL, 2)); + //plants + standard.add(new Offer(new ItemStack(Blocks.sapling, 1, 3), Requirement.STEEL, 12, 9)); + standard.add(new Offer(new ItemStack(ModBlocks.plant_flower, 1, EnumFlowerType.FOXGLOVE.ordinal()), Requirement.STEEL, 16, 5)); + standard.add(new Offer(new ItemStack(ModBlocks.plant_flower, 1, EnumFlowerType.TOBACCO.ordinal()), Requirement.STEEL, 16, 9)); + standard.add(new Offer(new ItemStack(ModBlocks.plant_flower, 1, EnumFlowerType.NIGHTSHADE.ordinal()), Requirement.STEEL, 16, 3)); + standard.add(new Offer(new ItemStack(ModBlocks.plant_flower, 1, EnumFlowerType.WEED.ordinal()), Requirement.STEEL, 4, 10)); + standard.add(new Offer(new ItemStack(ModBlocks.plant_flower, 1, EnumFlowerType.CD0.ordinal()), Requirement.NUCLEAR, 64, 8)); + //deco + for(EnumConcreteType conc : EnumConcreteType.values()) standard.add(new Offer(new ItemStack(ModBlocks.concrete_colored_ext, 16, conc.ordinal()), Requirement.CHEMICS, 4)); + for(SnowglobeType globe : SnowglobeType.values()) standard.add(new Offer(new ItemStack(ModBlocks.snowglobe, 1, globe.ordinal()), Requirement.CHEMICS, 128)); + for(int i = 1; i < PlushieType.values().length; i++) standard.add(new Offer(new ItemStack(ModBlocks.plushie, 1, i), Requirement.OIL, 16, i < 3 ? 10 : 0)); special.add(new Offer(new ItemStack(Items.iron_ingot, 64), Requirement.STEEL, 1)); special.add(new Offer(new ItemStack(ModItems.ingot_steel, 64), Requirement.STEEL, 1)); @@ -186,8 +78,8 @@ public class BobmazonOfferFactory { special.add(new Offer(new ItemStack(ModItems.grenade_kit), Requirement.STEEL, 5)); special.add(new Offer(new ItemStack(ModItems.jetpack_vector), Requirement.STEEL, 2)); special.add(new Offer(new ItemStack(ModItems.jetpack_tank), Requirement.STEEL, 2)); - special.add(new Offer(new ItemStack(ModItems.gun_kit_1, 10), Requirement.STEEL, 1)); - special.add(new Offer(new ItemStack(ModItems.gun_kit_2, 5), Requirement.STEEL, 3)); + special.add(new Offer(new ItemStack(ModItems.gun_kit_1, 1), Requirement.STEEL, 1)); + special.add(new Offer(new ItemStack(ModItems.gun_kit_2, 1), Requirement.STEEL, 3)); special.add(new Offer(new ItemStack(ModBlocks.struct_launcher_core, 1), Requirement.STEEL, 3)); special.add(new Offer(new ItemStack(ModBlocks.struct_launcher_core_large, 1), Requirement.STEEL, 3)); special.add(new Offer(new ItemStack(ModBlocks.struct_launcher, 40), Requirement.STEEL, 7)); @@ -238,24 +130,18 @@ public class BobmazonOfferFactory { ), Requirement.HIDDEN, 64)); special.add(new Offer(ItemKitCustom.create("Maid's Cleaning Utensils", "For the hard to reach spots", 0x00ff00, 0x008000, - new ItemStack(ModItems.gun_calamity), - ModItems.ammo_50bmg.stackFromEnum(64, Ammo50BMG.CHLOROPHYTE), - ModItems.ammo_50bmg.stackFromEnum(64, Ammo50BMG.CHLOROPHYTE), - ModItems.ammo_50bmg.stackFromEnum(64, Ammo50BMG.CHLOROPHYTE), - ModItems.ammo_50ae.stackFromEnum(64, Ammo50AE.STAR), - ModItems.ammo_50ae.stackFromEnum(64, Ammo50AE.STAR), - new ItemStack(ModItems.gun_supershotgun), - ModItems.ammo_12gauge.stackFromEnum(64, Ammo12Gauge.DU), - ModItems.ammo_12gauge.stackFromEnum(64, Ammo12Gauge.DU), - ModItems.ammo_12gauge.stackFromEnum(64, Ammo12Gauge.SHRAPNEL), - ModItems.ammo_12gauge.stackFromEnum(64, Ammo12Gauge.SHRAPNEL), - ModItems.ammo_12gauge.stackFromEnum(4, Ammo12Gauge.MARAUDER), - new ItemStack(ModItems.gun_sauer), - new ItemStack(ModItems.ammo_4gauge, 64), - ModItems.ammo_4gauge.stackFromEnum(64, Ammo4Gauge.CLAW), - ModItems.ammo_4gauge.stackFromEnum(64, Ammo4Gauge.KAMPF), - ModItems.ammo_4gauge.stackFromEnum(64, Ammo4Gauge.FLECHETTE), - ModItems.ammo_4gauge.stackFromEnum(64, Ammo4Gauge.VOID) + new ItemStack(ModItems.gun_m2), + new ItemStack(ModItems.ammo_standard, 64, EnumAmmo.BMG50_DU.ordinal()), + new ItemStack(ModItems.ammo_standard, 64, EnumAmmo.BMG50_DU.ordinal()), + new ItemStack(ModItems.ammo_standard, 64, EnumAmmo.BMG50_DU.ordinal()), + new ItemStack(ModItems.ammo_standard, 64, EnumAmmo.BMG50_DU.ordinal()), + new ItemStack(ModItems.ammo_standard, 64, EnumAmmo.BMG50_DU.ordinal()), + new ItemStack(ModItems.gun_autoshotgun), + new ItemStack(ModItems.ammo_standard, 64, EnumAmmo.G12_MAGNUM.ordinal()), + new ItemStack(ModItems.ammo_standard, 64, EnumAmmo.G12_MAGNUM.ordinal()), + new ItemStack(ModItems.ammo_standard, 64, EnumAmmo.G12_MAGNUM.ordinal()), + new ItemStack(ModItems.ammo_standard, 64, EnumAmmo.G12_EXPLOSIVE.ordinal()), + new ItemStack(ModItems.ammo_standard, 64, EnumAmmo.G12_EXPLOSIVE.ordinal()) ), Requirement.HIDDEN, 64)); special.add(new Offer(ItemKitNBT.create( @@ -270,25 +156,17 @@ public class BobmazonOfferFactory { new ItemStack(ModItems.rpa_plate), new ItemStack(ModItems.rpa_legs), new ItemStack(ModItems.rpa_boots), - new ItemStack(ModItems.gun_lacunae), - ModItems.ammo_5mm.stackFromEnum(64, Ammo5mm.STAR), - ModItems.ammo_5mm.stackFromEnum(64, Ammo5mm.STAR), - ModItems.ammo_5mm.stackFromEnum(64, Ammo5mm.STAR), - ModItems.ammo_5mm.stackFromEnum(64, Ammo5mm.STAR), - ModItems.ammo_5mm.stackFromEnum(64, Ammo5mm.STAR), - ModItems.ammo_5mm.stackFromEnum(64, Ammo5mm.STAR), - ModItems.ammo_5mm.stackFromEnum(64, Ammo5mm.STAR) - ).setStackDisplayName("Frenchman's Reward"), Requirement.HIDDEN, 32)); + new ItemStack(ModItems.gun_minigun_lacunae), + new ItemStack(ModItems.ammo_standard, 64, EnumAmmo.CAPACITOR_OVERCHARGE.ordinal()), + new ItemStack(ModItems.ammo_standard, 64, EnumAmmo.CAPACITOR_OVERCHARGE.ordinal()), + new ItemStack(ModItems.ammo_standard, 64, EnumAmmo.CAPACITOR_OVERCHARGE.ordinal()) + ).setStackDisplayName("Frenchie's Reward"), Requirement.HIDDEN, 32)); } public static List getOffers(ItemStack stack) { if(stack != null) { - - if(stack.getItem() == ModItems.bobmazon_materials) return materials; - if(stack.getItem() == ModItems.bobmazon_machines) return machines; - if(stack.getItem() == ModItems.bobmazon_weapons) return weapons; - if(stack.getItem() == ModItems.bobmazon_tools) return tools; + if(stack.getItem() == ModItems.bobmazon) return standard; if(stack.getItem() == ModItems.bobmazon_hidden) return special; } diff --git a/src/main/java/com/hbm/handler/BossSpawnHandler.java b/src/main/java/com/hbm/handler/BossSpawnHandler.java index 485de324f..fa14f7d41 100644 --- a/src/main/java/com/hbm/handler/BossSpawnHandler.java +++ b/src/main/java/com/hbm/handler/BossSpawnHandler.java @@ -245,8 +245,9 @@ public class BossSpawnHandler { Vec3 vec; if(repell) { vec = Vec3.createVectorHelper(meteor.posX - player.posX, 0, meteor.posZ - player.posZ).normalize(); - vec.xCoord = vec.xCoord * meteorRand.nextDouble() - 0.5D; - vec.zCoord = vec.zCoord * meteorRand.nextDouble() - 0.5D; + double vel = meteorRand.nextDouble(); + vec.xCoord = vec.xCoord * vel; + vec.zCoord = vec.zCoord * vel; meteor.safe = true; } else { vec = Vec3.createVectorHelper(meteorRand.nextDouble() - 0.5D, 0, 0); diff --git a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java index 29aaf510e..3deab1d17 100644 --- a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java +++ b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java @@ -4,8 +4,6 @@ import java.util.HashMap; import java.util.Map.Entry; import com.hbm.handler.guncfg.*; -import com.hbm.items.ItemAmmoEnums.*; -import com.hbm.items.ModItems; public class BulletConfigSyncingUtil { @@ -13,283 +11,9 @@ public class BulletConfigSyncingUtil { static int i = 0; - /// duplicate ids will cause wrong configs to be loaded /// public static int TEST_CONFIG = i++; - public static int IRON_REVOLVER = i++; - public static int STEEL_REVOLVER = i++; - public static int LEAD_REVOLVER = i++; - public static int GOLD_REVOLVER = i++; - public static int CURSED_REVOLVER = i++; - public static int SCHRABIDIUM_REVOLVER = i++; - public static int NIGHT_REVOLVER = i++; - public static int NIGHT2_REVOLVER = i++; - public static int SATURNITE_REVOLVER = i++; - public static int DESH_REVOLVER = i++; - - public static int IRON_HS = i++; - public static int STEEL_HS = i++; - public static int GOLD_HS = i++; - public static int LEAD_HS = i++; - public static int DESH_HS = i++; - - public static int G20_NORMAL = i++; - public static int G20_SLUG = i++; - public static int G20_FLECHETTE = i++; - public static int G20_FIRE = i++; - public static int G20_SHRAPNEL = i++; - public static int G20_EXPLOSIVE = i++; - public static int G20_CAUSTIC = i++; - public static int G20_SHOCK = i++; - public static int G20_WITHER = i++; - public static int G20_SLEEK = i++; - - public static int ROCKET_NORMAL = i++; - public static int ROCKET_HE = i++; - public static int ROCKET_INCENDIARY = i++; - public static int ROCKET_SHRAPNEL = i++; - public static int ROCKET_EMP = i++; - public static int ROCKET_GLARE = i++; - public static int ROCKET_SLEEK = i++; - public static int ROCKET_NUKE = i++; - public static int ROCKET_CHAINSAW = i++; - public static int ROCKET_TOXIC = i++; - public static int ROCKET_PHOSPHORUS = i++; - public static int ROCKET_CANISTER = i++; - public static int ROCKET_ERROR = i++; - - public static int GRENADE_NORMAL = i++; - public static int GRENADE_HE = i++; - public static int GRENADE_INCENDIARY = i++; - public static int GRENADE_CHEMICAL = i++; - public static int GRENADE_SLEEK = i++; - public static int GRENADE_CONCUSSION = i++; - public static int GRENADE_FINNED = i++; - public static int GRENADE_NUCLEAR = i++; - public static int GRENADE_PHOSPHORUS = i++; - public static int GRENADE_TRACER = i++; - public static int GRENADE_KAMPF = i++; - public static int GRENADE_LEADBURSTER = i++; - - public static int G12_NORMAL = i++; - public static int G12_INCENDIARY = i++; - public static int G12_SHRAPNEL = i++; - public static int G12_DU = i++; - public static int G12_AM = i++; - public static int G12_SLEEK = i++; - public static int G12_PERCUSSION = i++; - - public static int G12HS_NORMAL = i++; - public static int G12HS_INCENDIARY = i++; - public static int G12HS_SHRAPNEL = i++; - public static int G12HS_DU = i++; - public static int G12HS_AM = i++; - public static int G12HS_SLEEK = i++; - public static int G12HS_PERCUSSION = i++; - - public static int LR22_NORMAL = i++; - public static int LR22_AP = i++; - public static int LR22_NORMAL_FIRE = i++; - public static int LR22_AP_FIRE = i++; - - public static int M44_NORMAL = i++; - public static int M44_AP = i++; - public static int M44_DU = i++; - public static int M44_STAR = i++; - public static int M44_PIP = i++; - public static int M44_BJ = i++; - public static int M44_SILVER = i++; - public static int M44_ROCKET = i++; - public static int M44_PHOSPHORUS = i++; - - public static int P9_NORMAL = i++; - public static int P9_AP = i++; - public static int P9_DU = i++; - public static int P9_ROCKET = i++; - - public static int ACP_45 = i++; - public static int ACP_45_AP = i++; - public static int ACP_45_DU = i++; - - public static int BMG50_NORMAL = i++; - public static int BMG50_INCENDIARY = i++; - public static int BMG50_EXPLOSIVE = i++; - public static int BMG50_AP = i++; - public static int BMG50_DU = i++; - public static int BMG50_STAR = i++; - public static int BMG50_PHOSPHORUS = i++; - public static int BMG50_SLEEK = i++; - public static int BMG50_FLECHETTE_NORMAL = i++; - public static int BMG50_FLECHETTE_AM = i++; - public static int BMG50_FLECHETTE_PO = i++; - - public static int ROUND_LUNA_SNIPER_SABOT = i++; - public static int ROUND_LUNA_SNIPER_INCENDIARY = i++; - public static int ROUND_LUNA_SNIPER_EXPLOSIVE = i++; - - public static int R5_NORMAL = i++; - public static int R5_EXPLOSIVE = i++; - public static int R5_DU = i++; - public static int R5_STAR = i++; - public static int R5_NORMAL_BOLT = i++; - public static int R5_EXPLOSIVE_BOLT = i++; - public static int R5_DU_BOLT = i++; - public static int R5_STAR_BOLT = i++; - - public static int AE50_NORMAL = i++; - public static int AE50_AP = i++; - public static int AE50_DU = i++; - public static int AE50_STAR = i++; - - public static int G4_NORMAL = i++; - public static int G4_SLUG = i++; - public static int G4_FLECHETTE = i++; - public static int G4_FLECHETTE_PHOSPHORUS = i++; - public static int G4_EXPLOSIVE = i++; - public static int G4_SEMTEX = i++; - public static int G4_BALEFIRE = i++; - public static int G4_KAMPF = i++; - public static int G4_CANISTER = i++; - public static int G4_CLAW = i++; - public static int G4_VAMPIRE = i++; - public static int G4_VOID = i++; - public static int G4_TITAN = i++; - public static int G4_SLEEK = i++; - - public static int SPECIAL_OSIPR = i++; - public static int SPECIAL_OSIPR_CHARGED = i++; - public static int SPECIAL_GAUSS = i++; - public static int SPECIAL_GAUSS_CHARGED = i++; - public static int SPECIAL_EMP = i++; - - public static int COIL_NORMAL = i++; - public static int COIL_DU = i++; - public static int COIL_RUBBER = i++; - - public static int FLAMER_NORMAL = i++; - public static int FLAMER_NAPALM = i++; - public static int FLAMER_WP = i++; - public static int FLAMER_VAPORIZER = i++; - public static int FLAMER_GAS = i++; - - public static int CRYO_NORMAL = i++; - - public static int FEXT_NORMAL = i++; - public static int FEXT_FOAM = i++; - public static int FEXT_SAND = i++; - - public static int R556_NORMAL = i++; - public static int R556_GOLD = i++; - public static int R556_PHOSPHORUS = i++; - public static int R556_AP = i++; - public static int R556_DU = i++; - public static int R556_STAR = i++; - public static int R556_SLEEK = i++; - public static int R556_TRACER = i++; - public static int R556_FLECHETTE = i++; - public static int R556_FLECHETTE_INCENDIARY = i++; - public static int R556_FLECHETTE_PHOSPHORUS = i++; - public static int R556_FLECHETTE_DU = i++; - public static int R556_FLECHETTE_SLEEK = i++; - public static int R556_K = i++; - - public static int R762_NORMAL = i++; - public static int R762_PHOSPHORUS = i++; - public static int R762_AP = i++; - public static int R762_DU = i++; - public static int R762_TRACER = i++; - public static int R762_K = i++; - - public static int B75_NORMAL = i++; - public static int B75_INCENDIARY = i++; - public static int B75_HE = i++; - - public static int NEEDLE_GPS = i++; - public static int NEEDLE_NUKE = i++; - public static int DART_NORMAL = i++; - - public static int G20_NORMAL_FIRE = i++; - public static int G20_SHRAPNEL_FIRE = i++; - public static int G20_SLUG_FIRE = i++; - public static int G20_FLECHETTE_FIRE = i++; - public static int G20_EXPLOSIVE_FIRE = i++; - public static int G20_CAUSTIC_FIRE = i++; - public static int G20_SHOCK_FIRE = i++; - public static int G20_WITHER_FIRE = i++; - - public static int ROCKET_NORMAL_LASER = i++; - public static int ROCKET_HE_LASER = i++; - public static int ROCKET_INCENDIARY_LASER = i++; - public static int ROCKET_SHRAPNEL_LASER = i++; - public static int ROCKET_EMP_LASER = i++; - public static int ROCKET_GLARE_LASER = i++; - public static int ROCKET_SLEEK_LASER = i++; - public static int ROCKET_NUKE_LASER = i++; - public static int ROCKET_CHAINSAW_LASER = i++; - public static int ROCKET_TOXIC_LASER = i++; - public static int ROCKET_PHOSPHORUS_LASER = i++; - - public static int ROCKET_STINGER = i++; - public static int ROCKET_STINGER_HE = i++; - public static int ROCKET_STINGER_INCENDIARY = i++; - public static int ROCKET_STINGER_NUCLEAR = i++; - public static int ROCKET_STINGER_BONES = i++; - - public static int SHELL_NORMAL = i++; - public static int SHELL_EXPLOSIVE = i++; - public static int SHELL_AP = i++; - public static int SHELL_DU = i++; - public static int SHELL_W9 = i++; - public static int DGK_NORMAL = i++; - public static int FLA_NORMAL = i++; - - public static int NUKE_NORMAL = i++; - public static int NUKE_LOW = i++; - public static int NUKE_HIGH = i++; - public static int NUKE_TOTS = i++; - public static int NUKE_SAFE = i++; - public static int NUKE_PUMPKIN = i++; - public static int NUKE_BARREL = i++; - public static int NUKE_PROTO_NORMAL = i++; - public static int NUKE_PROTO_LOW = i++; - public static int NUKE_PROTO_HIGH = i++; - public static int NUKE_PROTO_TOTS = i++; - public static int NUKE_PROTO_SAFE = i++; - public static int NUKE_PROTO_PUMPKIN = i++; - public static int NUKE_MIRV_NORMAL = i++; - public static int NUKE_MIRV_LOW = i++; - public static int NUKE_MIRV_HIGH = i++; - public static int NUKE_MIRV_SAFE = i++; - public static int NUKE_MIRV_SPECIAL = i++; - - public static int NUKE_AMAT = i++; - - public static int TWR_RAY = i++; - public static int HLR_NORMAL = i++; - public static int HLR_ALT = i++; - - public static int ZOMG_BOLT = i++; - public static int DET_BOLT = i++; public static int TURBINE = i++; - - public static int GLASS_EMRADIO = i++; - public static int GLASS_EMMICRO = i++; - public static int GLASS_EMIR = i++; - public static int GLASS_EMVISIBLE = i++; - public static int GLASS_EMUV = i++; - public static int GLASS_EMXRAY = i++; - public static int GLASS_EMGAMMA = i++; - - public static int CHL_LR22 = i++; - public static int CHL_LR22_FIRE = i++; - public static int CHL_M44 = i++; - public static int CHL_P9 = i++; - public static int CHL_BMG50 = i++; - public static int CHL_R5 = i++; - public static int CHL_R5_BOLT = i++; - public static int CHL_AE50 = i++; - public static int CHL_R556 = i++; - public static int CHL_R556_FLECHETTE = i++; public static int MASKMAN_BULLET = i++; public static int MASKMAN_ORB = i++; @@ -305,283 +29,7 @@ public class BulletConfigSyncingUtil { public static void loadConfigsForSync() { - configSet.put(TEST_CONFIG, BulletConfigFactory.getTestConfig()); - - configSet.put(IRON_REVOLVER, Gun357MagnumFactory.getRevIronConfig()); - configSet.put(STEEL_REVOLVER, Gun357MagnumFactory.getRevLeadConfig()); - configSet.put(LEAD_REVOLVER, Gun357MagnumFactory.getRevNuclearConfig()); - configSet.put(GOLD_REVOLVER, Gun357MagnumFactory.getRevGoldConfig()); - configSet.put(CURSED_REVOLVER, Gun357MagnumFactory.getRevCursedConfig()); - configSet.put(SCHRABIDIUM_REVOLVER, Gun357MagnumFactory.getRevSchrabidiumConfig()); - configSet.put(NIGHT_REVOLVER, Gun357MagnumFactory.getRevNightmare1Config()); - configSet.put(NIGHT2_REVOLVER, Gun357MagnumFactory.getRevNightmare2Config()); - configSet.put(SATURNITE_REVOLVER, Gun357MagnumFactory.getRevLeadConfig().setToFire(3)); - configSet.put(DESH_REVOLVER, Gun357MagnumFactory.getRevDeshConfig()); - - configSet.put(IRON_HS, Gun357MagnumFactory.getRevIronConfig().setHeadshot(3F)); - configSet.put(STEEL_HS, Gun357MagnumFactory.getRevCursedConfig().setHeadshot(3F)); - configSet.put(GOLD_HS, Gun357MagnumFactory.getRevGoldConfig().setHeadshot(3F)); - configSet.put(LEAD_HS, Gun357MagnumFactory.getRevLeadConfig().setHeadshot(3F)); - configSet.put(DESH_HS, Gun357MagnumFactory.getRevDeshConfig().setHeadshot(3F)); - - configSet.put(G20_NORMAL, Gun20GaugeFactory.get20GaugeConfig()); - configSet.put(G20_SLUG, Gun20GaugeFactory.get20GaugeSlugConfig()); - configSet.put(G20_FLECHETTE, Gun20GaugeFactory.get20GaugeFlechetteConfig()); - configSet.put(G20_FIRE, Gun20GaugeFactory.get20GaugeFireConfig()); - configSet.put(G20_SHRAPNEL, Gun20GaugeFactory.get20GaugeShrapnelConfig()); - configSet.put(G20_EXPLOSIVE, Gun20GaugeFactory.get20GaugeExplosiveConfig()); - configSet.put(G20_CAUSTIC, Gun20GaugeFactory.get20GaugeCausticConfig()); - configSet.put(G20_SHOCK, Gun20GaugeFactory.get20GaugeShockConfig()); - configSet.put(G20_WITHER, Gun20GaugeFactory.get20GaugeWitherConfig()); - configSet.put(G20_SLEEK, Gun20GaugeFactory.get20GaugeSleekConfig()); - - configSet.put(ROCKET_NORMAL, GunRocketFactory.getRocketConfig()); - configSet.put(ROCKET_HE, GunRocketFactory.getRocketHEConfig()); - configSet.put(ROCKET_INCENDIARY, GunRocketFactory.getRocketIncendiaryConfig()); - configSet.put(ROCKET_PHOSPHORUS, GunRocketFactory.getRocketPhosphorusConfig()); - configSet.put(ROCKET_SHRAPNEL, GunRocketFactory.getRocketShrapnelConfig()); - configSet.put(ROCKET_EMP, GunRocketFactory.getRocketEMPConfig()); - configSet.put(ROCKET_GLARE, GunRocketFactory.getRocketGlareConfig()); - configSet.put(ROCKET_SLEEK, GunRocketFactory.getRocketSleekConfig()); - configSet.put(ROCKET_NUKE, GunRocketFactory.getRocketNukeConfig()); - configSet.put(ROCKET_CHAINSAW, GunRocketFactory.getRocketRPCConfig()); - configSet.put(ROCKET_TOXIC, GunRocketFactory.getRocketChlorineConfig()); - configSet.put(ROCKET_CANISTER, GunRocketFactory.getRocketCanisterConfig()); - configSet.put(ROCKET_ERROR, GunRocketFactory.getRocketErrorConfig()); - - configSet.put(ROCKET_STINGER, GunRocketHomingFactory.getRocketStingerConfig()); - configSet.put(ROCKET_STINGER_HE, GunRocketHomingFactory.getRocketStingerHEConfig()); - configSet.put(ROCKET_STINGER_INCENDIARY, GunRocketHomingFactory.getRocketStingerIncendiaryConfig()); - configSet.put(ROCKET_STINGER_NUCLEAR, GunRocketHomingFactory.getRocketStingerNuclearConfig()); - configSet.put(ROCKET_STINGER_BONES, GunRocketHomingFactory.getRocketStingerBonesConfig()); - - configSet.put(GRENADE_NORMAL, GunGrenadeFactory.getGrenadeConfig()); - configSet.put(GRENADE_HE, GunGrenadeFactory.getGrenadeHEConfig()); - configSet.put(GRENADE_INCENDIARY, GunGrenadeFactory.getGrenadeIncendirayConfig()); - configSet.put(GRENADE_PHOSPHORUS, GunGrenadeFactory.getGrenadePhosphorusConfig()); - configSet.put(GRENADE_CHEMICAL, GunGrenadeFactory.getGrenadeChlorineConfig()); - configSet.put(GRENADE_SLEEK, GunGrenadeFactory.getGrenadeSleekConfig()); - configSet.put(GRENADE_CONCUSSION, GunGrenadeFactory.getGrenadeConcussionConfig()); - configSet.put(GRENADE_FINNED, GunGrenadeFactory.getGrenadeFinnedConfig()); - configSet.put(GRENADE_NUCLEAR, GunGrenadeFactory.getGrenadeNuclearConfig()); - configSet.put(GRENADE_TRACER, GunGrenadeFactory.getGrenadeTracerConfig()); - configSet.put(GRENADE_KAMPF, GunGrenadeFactory.getGrenadeKampfConfig()); - configSet.put(GRENADE_LEADBURSTER, GunGrenadeFactory.getGrenadeLeadbursterConfig()); - - configSet.put(G12_NORMAL, Gun12GaugeFactory.get12GaugeConfig()); - configSet.put(G12_INCENDIARY, Gun12GaugeFactory.get12GaugeFireConfig()); - configSet.put(G12_SHRAPNEL, Gun12GaugeFactory.get12GaugeShrapnelConfig()); - configSet.put(G12_DU, Gun12GaugeFactory.get12GaugeDUConfig()); - configSet.put(G12_AM, Gun12GaugeFactory.get12GaugeAMConfig()); - configSet.put(G12_SLEEK, Gun12GaugeFactory.get12GaugeSleekConfig()); - configSet.put(G12_PERCUSSION, Gun12GaugeFactory.get12GaugePercussionConfig()); - configSet.put(G12HS_NORMAL, Gun12GaugeFactory.get12GaugeConfig().setHeadshot(2F)); - configSet.put(G12HS_INCENDIARY, Gun12GaugeFactory.get12GaugeFireConfig().setHeadshot(2F)); - configSet.put(G12HS_SHRAPNEL, Gun12GaugeFactory.get12GaugeShrapnelConfig().setHeadshot(2F)); - configSet.put(G12HS_DU, Gun12GaugeFactory.get12GaugeDUConfig().setHeadshot(2F)); - configSet.put(G12HS_AM, Gun12GaugeFactory.get12GaugeAMConfig().setHeadshot(2F)); - configSet.put(G12HS_SLEEK, Gun12GaugeFactory.get12GaugeSleekConfig().setHeadshot(2F)); - configSet.put(G12HS_PERCUSSION, Gun12GaugeFactory.get12GaugePercussionConfig().setHeadshot(2F)); - - configSet.put(LR22_NORMAL, Gun22LRFactory.get22LRConfig()); - configSet.put(LR22_AP, Gun22LRFactory.get22LRAPConfig()); - configSet.put(LR22_NORMAL_FIRE, Gun22LRFactory.get22LRConfig().setToFire(3)); - configSet.put(LR22_AP_FIRE, Gun22LRFactory.get22LRAPConfig().setToFire(3)); - - configSet.put(M44_NORMAL, Gun44MagnumFactory.getNoPipConfig()); - configSet.put(M44_AP, Gun44MagnumFactory.getNoPipAPConfig()); - configSet.put(M44_DU, Gun44MagnumFactory.getNoPipDUConfig()); - configSet.put(M44_PHOSPHORUS, Gun44MagnumFactory.getPhosphorusConfig()); - configSet.put(M44_STAR, Gun44MagnumFactory.getNoPipStarConfig()); - configSet.put(M44_PIP, Gun44MagnumFactory.getPipConfig()); - configSet.put(M44_BJ, Gun44MagnumFactory.getBJConfig()); - configSet.put(M44_SILVER, Gun44MagnumFactory.getSilverStormConfig()); - configSet.put(M44_ROCKET, Gun44MagnumFactory.getRocketConfig()); - - configSet.put(P9_NORMAL, Gun9mmFactory.get9mmConfig()); - configSet.put(P9_AP, Gun9mmFactory.get9mmAPConfig()); - configSet.put(P9_DU, Gun9mmFactory.get9mmDUConfig()); - configSet.put(P9_ROCKET, Gun9mmFactory.get9mmRocketConfig()); - - configSet.put(ACP_45, Gun45ACPFactory.get45AutoConfig()); - configSet.put(ACP_45_AP, Gun45ACPFactory.get45AutoAPConfig()); - configSet.put(ACP_45_DU, Gun45ACPFactory.get45AutoDUConfig()); - - configSet.put(BMG50_NORMAL, Gun50BMGFactory.get50BMGConfig()); - configSet.put(BMG50_INCENDIARY, Gun50BMGFactory.get50BMGFireConfig()); - configSet.put(BMG50_PHOSPHORUS, Gun50BMGFactory.get50BMGPhosphorusConfig()); - configSet.put(BMG50_EXPLOSIVE, Gun50BMGFactory.get50BMGExplosiveConfig()); - configSet.put(BMG50_AP, Gun50BMGFactory.get50BMGAPConfig()); - configSet.put(BMG50_DU, Gun50BMGFactory.get50BMGDUConfig()); - configSet.put(BMG50_STAR, Gun50BMGFactory.get50BMGStarConfig()); - configSet.put(BMG50_SLEEK, Gun50BMGFactory.get50BMGSleekConfig()); - configSet.put(BMG50_FLECHETTE_NORMAL, Gun50BMGFactory.get50BMGFlechetteConfig()); - configSet.put(BMG50_FLECHETTE_AM, Gun50BMGFactory.get50BMGFlechetteAMConfig()); - configSet.put(BMG50_FLECHETTE_PO, Gun50BMGFactory.get50BMGFlechettePOConfig()); - - configSet.put(ROUND_LUNA_SNIPER_SABOT, Gun50BMGFactory.getLunaticSabotRound()); - configSet.put(ROUND_LUNA_SNIPER_INCENDIARY, Gun50BMGFactory.getLunaticIncendiaryRound()); - configSet.put(ROUND_LUNA_SNIPER_EXPLOSIVE, Gun50BMGFactory.getLunaticExplosiveRound()); - - configSet.put(R5_NORMAL, Gun5mmFactory.get5mmConfig()); - configSet.put(R5_EXPLOSIVE, Gun5mmFactory.get5mmExplosiveConfig()); - configSet.put(R5_DU, Gun5mmFactory.get5mmDUConfig()); - configSet.put(R5_STAR, Gun5mmFactory.get5mmStarConfig()); - configSet.put(R5_NORMAL_BOLT, Gun5mmFactory.get5mmConfig().setToBolt(BulletConfiguration.BOLT_LACUNAE)); - configSet.put(R5_EXPLOSIVE_BOLT, Gun5mmFactory.get5mmExplosiveConfig().setToBolt(BulletConfiguration.BOLT_LACUNAE)); - configSet.put(R5_DU_BOLT, Gun5mmFactory.get5mmDUConfig().setToBolt(BulletConfiguration.BOLT_LACUNAE)); - configSet.put(R5_STAR_BOLT, Gun5mmFactory.get5mmStarConfig().setToBolt(BulletConfiguration.BOLT_LACUNAE)); - - configSet.put(AE50_NORMAL, Gun50AEFactory.get50AEConfig()); - configSet.put(AE50_AP, Gun50AEFactory.get50APConfig()); - configSet.put(AE50_DU, Gun50AEFactory.get50DUConfig()); - configSet.put(AE50_STAR, Gun50AEFactory.get50StarConfig()); - - configSet.put(G4_NORMAL, Gun4GaugeFactory.get4GaugeConfig()); - configSet.put(G4_SLUG, Gun4GaugeFactory.get4GaugeSlugConfig()); - configSet.put(G4_FLECHETTE, Gun4GaugeFactory.get4GaugeFlechetteConfig()); - configSet.put(G4_FLECHETTE_PHOSPHORUS, Gun4GaugeFactory.get4GaugeFlechettePhosphorusConfig()); - configSet.put(G4_EXPLOSIVE, Gun4GaugeFactory.get4GaugeExplosiveConfig()); - configSet.put(G4_SEMTEX, Gun4GaugeFactory.get4GaugeMiningConfig()); - configSet.put(G4_BALEFIRE, Gun4GaugeFactory.get4GaugeBalefireConfig()); - configSet.put(G4_KAMPF, Gun4GaugeFactory.getGrenadeKampfConfig()); - configSet.put(G4_CANISTER, Gun4GaugeFactory.getGrenadeCanisterConfig()); - configSet.put(G4_CLAW, Gun4GaugeFactory.get4GaugeClawConfig()); - configSet.put(G4_VAMPIRE, Gun4GaugeFactory.get4GaugeVampireConfig()); - configSet.put(G4_VOID, Gun4GaugeFactory.get4GaugeVoidConfig()); - configSet.put(G4_TITAN, Gun4GaugeFactory.get4GaugeQuackConfig()); - configSet.put(G4_SLEEK, Gun4GaugeFactory.get4GaugeSleekConfig()); - - configSet.put(SPECIAL_OSIPR, GunOSIPRFactory.getPulseConfig()); - configSet.put(SPECIAL_OSIPR_CHARGED, GunOSIPRFactory.getPulseChargedConfig()); - configSet.put(SPECIAL_GAUSS, GunGaussFactory.getGaussConfig()); - configSet.put(SPECIAL_GAUSS_CHARGED, GunGaussFactory.getAltConfig()); - configSet.put(SPECIAL_EMP, GunEnergyFactory.getOrbusConfig()); - - configSet.put(COIL_NORMAL, GunEnergyFactory.getCoilConfig()); - configSet.put(COIL_DU, GunEnergyFactory.getCoilDUConfig()); - configSet.put(COIL_RUBBER, GunEnergyFactory.getCoilRubberConfig()); - - configSet.put(FLAMER_NORMAL, GunEnergyFactory.getFlameConfig()); - configSet.put(FLAMER_NAPALM, GunEnergyFactory.getNapalmConfig()); - configSet.put(FLAMER_WP, GunEnergyFactory.getPhosphorusConfig()); - configSet.put(FLAMER_VAPORIZER, GunEnergyFactory.getVaporizerConfig()); - configSet.put(FLAMER_GAS, GunEnergyFactory.getGasConfig()); - - configSet.put(CRYO_NORMAL, GunEnergyFactory.getCryoConfig()); - - configSet.put(FEXT_NORMAL, GunEnergyFactory.getFextConfig()); - configSet.put(FEXT_FOAM, GunEnergyFactory.getFextFoamConfig()); - configSet.put(FEXT_SAND, GunEnergyFactory.getFextSandConfig()); - - configSet.put(R556_NORMAL, Gun556mmFactory.get556Config()); - configSet.put(R556_GOLD, Gun556mmFactory.get556GoldConfig()); - configSet.put(R556_PHOSPHORUS, Gun556mmFactory.get556PhosphorusConfig()); - configSet.put(R556_AP, Gun556mmFactory.get556APConfig()); - configSet.put(R556_DU, Gun556mmFactory.get556DUConfig()); - configSet.put(R556_STAR, Gun556mmFactory.get556StarConfig()); - configSet.put(R556_SLEEK, Gun556mmFactory.get556SleekConfig()); - configSet.put(R556_TRACER, Gun556mmFactory.get556TracerConfig()); - configSet.put(R556_FLECHETTE, Gun556mmFactory.get556FlechetteConfig()); - configSet.put(R556_FLECHETTE_INCENDIARY, Gun556mmFactory.get556FlechetteIncendiaryConfig()); - configSet.put(R556_FLECHETTE_PHOSPHORUS, Gun556mmFactory.get556FlechettePhosphorusConfig()); - configSet.put(R556_FLECHETTE_DU, Gun556mmFactory.get556FlechetteDUConfig()); - configSet.put(R556_FLECHETTE_SLEEK, Gun556mmFactory.get556FlechetteSleekConfig()); - configSet.put(R556_K, Gun556mmFactory.get556KConfig()); - - configSet.put(R762_NORMAL, Gun762mmFactory.get762NATOConfig()); - configSet.put(R762_PHOSPHORUS, Gun762mmFactory.get762WPConfig()); - configSet.put(R762_AP, Gun762mmFactory.get762APConfig()); - configSet.put(R762_DU, Gun762mmFactory.get762DUConfig()); - configSet.put(R762_TRACER, Gun762mmFactory.get762TracerConfig()); - configSet.put(R762_K, Gun762mmFactory.get762BlankConfig()); - - configSet.put(B75_NORMAL, Gun75BoltFactory.get75BoltConfig()); - configSet.put(B75_INCENDIARY, Gun75BoltFactory.get75BoltIncConfig()); - configSet.put(B75_HE, Gun75BoltFactory.get75BoltHEConfig()); - - configSet.put(NEEDLE_GPS, GunDartFactory.getGPSConfig()); - configSet.put(NEEDLE_NUKE, GunDartFactory.getNukeConfig()); - configSet.put(DART_NORMAL, GunDartFactory.getNERFConfig()); - - configSet.put(G20_NORMAL_FIRE, Gun20GaugeFactory.get20GaugeConfig().setToFire(3)); - configSet.put(G20_SHRAPNEL_FIRE, Gun20GaugeFactory.get20GaugeShrapnelConfig().setToFire(3)); - configSet.put(G20_SLUG_FIRE, Gun20GaugeFactory.get20GaugeSlugConfig().setToFire(3)); - configSet.put(G20_FLECHETTE_FIRE, Gun20GaugeFactory.get20GaugeFlechetteConfig().setToFire(3)); - configSet.put(G20_EXPLOSIVE_FIRE, Gun20GaugeFactory.get20GaugeExplosiveConfig().setToFire(3)); - configSet.put(G20_CAUSTIC_FIRE, Gun20GaugeFactory.get20GaugeCausticConfig().setToFire(3)); - configSet.put(G20_SHOCK_FIRE, Gun20GaugeFactory.get20GaugeShockConfig().setToFire(3)); - configSet.put(G20_WITHER_FIRE, Gun20GaugeFactory.get20GaugeWitherConfig().setToFire(3)); - - configSet.put(ROCKET_NORMAL_LASER, GunRocketFactory.getRocketConfig().setToGuided()); - configSet.put(ROCKET_HE_LASER, GunRocketFactory.getRocketHEConfig().setToGuided()); - configSet.put(ROCKET_INCENDIARY_LASER, GunRocketFactory.getRocketIncendiaryConfig().setToGuided()); - configSet.put(ROCKET_PHOSPHORUS_LASER, GunRocketFactory.getRocketPhosphorusConfig().setToGuided()); - configSet.put(ROCKET_SHRAPNEL_LASER, GunRocketFactory.getRocketShrapnelConfig().setToGuided()); - configSet.put(ROCKET_EMP_LASER, GunRocketFactory.getRocketEMPConfig().setToGuided()); - configSet.put(ROCKET_GLARE_LASER, GunRocketFactory.getRocketGlareConfig().setToGuided()); - configSet.put(ROCKET_SLEEK_LASER, GunRocketFactory.getRocketSleekConfig().setToGuided()); - configSet.put(ROCKET_NUKE_LASER, GunRocketFactory.getRocketNukeConfig().setToGuided()); - configSet.put(ROCKET_CHAINSAW_LASER, GunRocketFactory.getRocketRPCConfig().setToGuided()); - configSet.put(ROCKET_TOXIC_LASER, GunRocketFactory.getRocketChlorineConfig().setToGuided()); - - configSet.put(SHELL_NORMAL, GunCannonFactory.getShellConfig()); - configSet.put(SHELL_EXPLOSIVE, GunCannonFactory.getShellExplosiveConfig()); - configSet.put(SHELL_AP, GunCannonFactory.getShellAPConfig()); - configSet.put(SHELL_DU, GunCannonFactory.getShellDUConfig()); - configSet.put(SHELL_W9, GunCannonFactory.getShellW9Config()); - configSet.put(DGK_NORMAL, GunDGKFactory.getDGKConfig()); - configSet.put(FLA_NORMAL, GunEnergyFactory.getTurretConfig()); - - configSet.put(NUKE_NORMAL, GunFatmanFactory.getNukeConfig()); - configSet.put(NUKE_LOW, GunFatmanFactory.getNukeLowConfig()); - configSet.put(NUKE_HIGH, GunFatmanFactory.getNukeHighConfig()); - configSet.put(NUKE_TOTS, GunFatmanFactory.getNukeTotsConfig()); - configSet.put(NUKE_SAFE, GunFatmanFactory.getNukeSafeConfig()); - configSet.put(NUKE_PUMPKIN, GunFatmanFactory.getNukePumpkinConfig()); - configSet.put(NUKE_BARREL, GunFatmanFactory.getNukeBarrelConfig()); - configSet.put(NUKE_PROTO_NORMAL, GunFatmanFactory.getNukeConfig().accuracyMod(20F)); - configSet.put(NUKE_PROTO_LOW, GunFatmanFactory.getNukeLowConfig().accuracyMod(20F)); - configSet.put(NUKE_PROTO_HIGH, GunFatmanFactory.getNukeHighConfig().accuracyMod(20F)); - configSet.put(NUKE_PROTO_TOTS, GunFatmanFactory.getNukeTotsConfig().accuracyMod(20F)); - configSet.put(NUKE_PROTO_SAFE, GunFatmanFactory.getNukeSafeConfig().accuracyMod(20F)); - configSet.put(NUKE_PROTO_PUMPKIN, GunFatmanFactory.getNukePumpkinConfig().accuracyMod(20F)); - configSet.put(NUKE_MIRV_NORMAL, GunFatmanFactory.getMirvConfig()); - configSet.put(NUKE_MIRV_LOW, GunFatmanFactory.getMirvLowConfig()); - configSet.put(NUKE_MIRV_HIGH, GunFatmanFactory.getMirvHighConfig()); - configSet.put(NUKE_MIRV_SAFE, GunFatmanFactory.getMirvSafeConfig()); - configSet.put(NUKE_MIRV_SPECIAL, GunFatmanFactory.getMirvSpecialConfig()); - - configSet.put(NUKE_AMAT, GunFatmanFactory.getBalefireConfig()); - - //configSet.put(TWR_RAY, GunEnergyFactory.getSingConfig()); - //configSet.put(HLR_NORMAL, GunEnergyFactory.getHLRPrecisionConfig()); - //configSet.put(HLR_ALT, GunEnergyFactory.getHLRScatterConfig()); - - configSet.put(ZOMG_BOLT, GunEnergyFactory.getZOMGBoltConfig()); - configSet.put(DET_BOLT, GunDetonatorFactory.getLaserConfig()); - configSet.put(TURBINE, GunEnergyFactory.getTurbineConfig()); - - configSet.put(GLASS_EMRADIO, GunPoweredFactory.getEMRadioConfig()); - configSet.put(GLASS_EMMICRO, GunPoweredFactory.getEMMicroConfig()); - configSet.put(GLASS_EMIR, GunPoweredFactory.getEMInfraredConfig()); - configSet.put(GLASS_EMVISIBLE, GunPoweredFactory.getEMVisibleConfig()); - configSet.put(GLASS_EMUV, GunPoweredFactory.getEMUVConfig()); - configSet.put(GLASS_EMXRAY, GunPoweredFactory.getEMXrayConfig()); - configSet.put(GLASS_EMGAMMA, GunPoweredFactory.getEMGammaConfig()); - - - configSet.put(CHL_LR22, Gun22LRFactory.get22LRConfig().setToHoming(ModItems.ammo_22lr.stackFromEnum(Ammo22LR.CHLOROPHYTE))); - configSet.put(CHL_LR22_FIRE, Gun22LRFactory.get22LRConfig().setToFire(3).setToHoming(ModItems.ammo_22lr.stackFromEnum(Ammo22LR.CHLOROPHYTE))); - configSet.put(CHL_M44, Gun44MagnumFactory.getNoPipConfig().setToHoming(ModItems.ammo_44.stackFromEnum(Ammo44Magnum.CHLOROPHYTE))); - configSet.put(CHL_P9, Gun9mmFactory.get9mmConfig().setToHoming(ModItems.ammo_9mm.stackFromEnum(Ammo9mm.CHLOROPHYTE))); - configSet.put(CHL_BMG50, Gun50BMGFactory.get50BMGConfig().setToHoming(ModItems.ammo_50bmg.stackFromEnum(Ammo50BMG.CHLOROPHYTE))); - configSet.put(CHL_R5, Gun5mmFactory.get5mmConfig().setToHoming(ModItems.ammo_5mm.stackFromEnum(Ammo5mm.CHLOROPHYTE))); - configSet.put(CHL_R5_BOLT, Gun5mmFactory.get5mmConfig().setToBolt(BulletConfiguration.BOLT_LACUNAE).setToHoming(ModItems.ammo_5mm.stackFromEnum(Ammo5mm.CHLOROPHYTE))); - configSet.put(CHL_AE50, Gun50AEFactory.get50AEConfig().setToHoming(ModItems.ammo_50ae.stackFromEnum(Ammo50AE.CHLOROPHYTE))); - configSet.put(CHL_R556, Gun556mmFactory.get556Config().setToHoming(ModItems.ammo_556.stackFromEnum(Ammo556mm.CHLOROPHYTE))); - configSet.put(CHL_R556_FLECHETTE, Gun556mmFactory.get556FlechetteConfig().setToHoming(ModItems.ammo_556.stackFromEnum(Ammo556mm.FLECHETTE_CHLOROPHYTE))); configSet.put(MASKMAN_BULLET, GunNPCFactory.getMaskmanBullet()); configSet.put(MASKMAN_ORB, GunNPCFactory.getMaskmanOrb()); diff --git a/src/main/java/com/hbm/handler/BulletConfiguration.java b/src/main/java/com/hbm/handler/BulletConfiguration.java index aa1d73ca5..c2b269b27 100644 --- a/src/main/java/com/hbm/handler/BulletConfiguration.java +++ b/src/main/java/com/hbm/handler/BulletConfiguration.java @@ -17,6 +17,7 @@ import net.minecraft.util.DamageSource; import net.minecraft.util.EntityDamageSourceIndirect; import net.minecraft.util.EnumChatFormatting; +@Deprecated public class BulletConfiguration implements Cloneable { //what item this specific configuration consumes @@ -130,15 +131,12 @@ public class BulletConfiguration implements Cloneable { public static final int STYLE_FOLLY = 5; public static final int STYLE_ROCKET = 6; public static final int STYLE_STINGER = 7; - public static final int STYLE_NUKE = 8; - public static final int STYLE_MIRV = 9; public static final int STYLE_GRENADE = 10; public static final int STYLE_BF = 11; public static final int STYLE_ORB = 12; public static final int STYLE_METEOR = 13; public static final int STYLE_APDS = 14; public static final int STYLE_BLADE = 15; - public static final int STYLE_BARREL = 16; public static final int STYLE_TAU = 17; public static final int STYLE_LEADBURSTER = 18; @@ -174,13 +172,6 @@ public class BulletConfiguration implements Cloneable { return this; } - public BulletConfiguration setToGuided() { - - this.bntUpdate = BulletConfigFactory.getLaserSteering(); - this.doesRicochet = false; - return this; - } - public BulletConfiguration getChlorophyte() { this.bntUpdate = BulletConfigFactory.getHomingBehavior(30, 180); this.bntHurt = BulletConfigFactory.getPenHomingBehavior(); diff --git a/src/main/java/com/hbm/handler/CasingEjector.java b/src/main/java/com/hbm/handler/CasingEjector.java index eda29d1a0..5c27ac673 100644 --- a/src/main/java/com/hbm/handler/CasingEjector.java +++ b/src/main/java/com/hbm/handler/CasingEjector.java @@ -30,9 +30,9 @@ public class CasingEjector implements Cloneable { private static int nextId = 0; private Vec3 posOffset = Vec3.createVectorHelper(0, 0, 0); private Vec3 initialMotion = Vec3.createVectorHelper(0, 0, 0); - private int casingAmount = 1; - private boolean afterReload = false; - private int delay = 0; + @Deprecated private int casingAmount = 1; + @Deprecated private boolean afterReload = false; + @Deprecated private int delay = 0; private float randomYaw = 0F; private float randomPitch = 0F; @@ -61,17 +61,17 @@ public class CasingEjector implements Cloneable { return this; } - public CasingEjector setAmount(int am) { + @Deprecated public CasingEjector setAmount(int am) { this.casingAmount = am; return this; } - public CasingEjector setAfterReload() { + @Deprecated public CasingEjector setAfterReload() { this.afterReload = true; return this; } - public CasingEjector setDelay(int delay) { + @Deprecated public CasingEjector setDelay(int delay) { this.delay = delay; return this; } @@ -94,7 +94,7 @@ public class CasingEjector implements Cloneable { @SideOnly(Side.CLIENT) public void spawnCasing(TextureManager textureManager, SpentCasing config, World world, double x, double y, double z, float pitch, float yaw, boolean crouched) { Vec3 rotatedMotionVec = rotateVector(getMotion(), pitch + (float) rand.nextGaussian() * getPitchFactor(), yaw + (float) rand.nextGaussian() * getPitchFactor(), getPitchFactor(), getPitchFactor()); - ParticleSpentCasing casing = new ParticleSpentCasing(textureManager, world, x, y, z, rotatedMotionVec.xCoord, rotatedMotionVec.yCoord, rotatedMotionVec.zCoord, (float) (getPitchFactor() * rand.nextGaussian()), (float) (getYawFactor() * rand.nextGaussian()), config); + ParticleSpentCasing casing = new ParticleSpentCasing(textureManager, world, x, y, z, rotatedMotionVec.xCoord, rotatedMotionVec.yCoord, rotatedMotionVec.zCoord, (float) (world.rand.nextGaussian() * 5F), (float) (world.rand.nextGaussian() * 10F), config, false, 0, 0, 0); offsetCasing(casing, getOffset(), pitch, yaw, crouched); diff --git a/src/main/java/com/hbm/handler/CompatHandler.java b/src/main/java/com/hbm/handler/CompatHandler.java index fe0b08ca0..46ce74fc0 100644 --- a/src/main/java/com/hbm/handler/CompatHandler.java +++ b/src/main/java/com/hbm/handler/CompatHandler.java @@ -38,16 +38,15 @@ public class CompatHandler { * @return Object[] array containing an int with the "compression level" */ public static Object[] steamTypeToInt(FluidType type) { - switch(type.getID()) { - default: - return new Object[] {0}; - case(4): // Fluids.HOTSTEAM - return new Object[] {1}; - case(5): // Fluids.SUPERHOTSTEAM - return new Object[] {2}; - case(6): // Fluids.ULTRAHOTSTEAM - return new Object[] {3}; - } + final int typeId = type.getID(); + if(typeId == Fluids.HOTSTEAM.getID()) { + return new Object[]{1}; + } else if(typeId == Fluids.SUPERHOTSTEAM.getID()) { + return new Object[]{2}; + } else if(typeId == Fluids.ULTRAHOTSTEAM.getID()) { + return new Object[]{3}; + } + return new Object[] {0}; } /** @@ -57,14 +56,14 @@ public class CompatHandler { */ public static FluidType intToSteamType(int arg) { switch(arg) { - default: - return Fluids.STEAM; case(1): return Fluids.HOTSTEAM; case(2): return Fluids.SUPERHOTSTEAM; case(3): return Fluids.ULTRAHOTSTEAM; + default: + return Fluids.STEAM; } } @@ -72,7 +71,7 @@ public class CompatHandler { * Allows for easy creation of read-only filesystems. Primarily for floppy disks. * (Though maybe reading directly from VOTV drives as filesystems could be implemented. :3) **/ - private static class ReadOnlyFileSystem implements Callable { + protected static class ReadOnlyFileSystem implements Callable { private final String name; @@ -90,7 +89,7 @@ public class CompatHandler { // Floppy disk class. public static class FloppyDisk { // Specifies the callable ReadOnlyFileSystem to allow OC to access the floppy. - public final ReadOnlyFileSystem fs; + protected final ReadOnlyFileSystem fs; // Specifies the color of the floppy disk (0-16 colors defined by OC). public final Byte color; // Set after loading the disk; allows for adding a recipe to the item. @@ -103,7 +102,7 @@ public class CompatHandler { // Disk names will be sanitized before the FileSystem is created. // This only affects the location/directory, not the display name. - // (Prevents filesystems from breaking/crashing due to having file separators, wildcards, etc. + // (Prevents filesystems from breaking/crashing due to having file separators, wildcards, etc.) public static String sanitizeName(String input) { return input.toLowerCase().replaceAll("\\W", ""); } @@ -152,7 +151,7 @@ public class CompatHandler { // begin registering disks Logger logger = LogManager.getLogger("HBM"); logger.info("Loading OpenComputers disks..."); - if(disks.size() == 0) { + if(disks.isEmpty()) { logger.info("No disks registered; see com.hbm.handler.CompatHandler.disks"); return; } @@ -163,13 +162,13 @@ public class CompatHandler { if (fs == null) { // Disk path does NOT exist, and it should not be loaded. - logger.error("Error loading disk: " + s + " at /assets/" + RefStrings.MODID + "/disks/" + disk.fs.name); + logger.error("Error loading disk: {} at /assets/" + RefStrings.MODID + "/disks/{}", s, disk.fs.name); logger.error("This is likely due to the path to the disk being non-existent."); } else { // Disk path DOES exist, and it should be loaded. disk.item = Items.registerFloppy(s, disk.color, disk.fs); // The big part, actually registering the floppies! - logger.info("Registered disk: " + s + " at /assets/" + RefStrings.MODID + "/disks/" + disk.fs.name); + logger.info("Registered disk: {} at /assets/" + RefStrings.MODID + "/disks/{}", s, disk.fs.name); } }); @@ -178,10 +177,10 @@ public class CompatHandler { // OC disk recipes! List floppyDisks = new RecipesCommon.OreDictStack("oc:floppy").toStacks(); - if(floppyDisks.size() > 0) { //check that floppy disks even exist in oredict. + if(!floppyDisks.isEmpty()) { //check that floppy disks even exist in oredict. // Recipes must be initialized here, since if they were initialized in `CraftingManager` then the disk item would not be created yet. - addShapelessAuto(disks.get("PWRangler").item, new Object[] {"oc:floppy", new ItemStack(ModBlocks.pwr_casing)}); + addShapelessAuto(disks.get("PWRangler").item, "oc:floppy", new ItemStack(ModBlocks.pwr_casing)); logger.info("OpenComputers disk recipe added for PWRangler."); } else { @@ -232,7 +231,7 @@ public class CompatHandler { @Override @Optional.Method(modid = "OpenComputers") default boolean canConnectNode(ForgeDirection side) { - return true; + return !this.getComponentName().equals(nullComponent); } /** diff --git a/src/main/java/com/hbm/handler/EntityEffectHandler.java b/src/main/java/com/hbm/handler/EntityEffectHandler.java index a7f68661a..dcbfcb5b6 100644 --- a/src/main/java/com/hbm/handler/EntityEffectHandler.java +++ b/src/main/java/com/hbm/handler/EntityEffectHandler.java @@ -4,10 +4,12 @@ import java.util.ArrayList; import java.util.List; import java.util.Random; -import com.hbm.config.BombConfig; import com.hbm.config.GeneralConfig; import com.hbm.config.RadiationConfig; import com.hbm.config.WorldConfig; +import com.hbm.entity.mob.EntityCreeperNuclear; +import com.hbm.entity.mob.EntityDuck; +import com.hbm.entity.mob.EntityQuackos; import com.hbm.explosion.ExplosionNukeSmall; import com.hbm.extprop.HbmLivingProps; import com.hbm.extprop.HbmPlayerProps; @@ -16,15 +18,16 @@ import com.hbm.handler.HbmKeybinds.EnumKeybind; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.handler.radiation.ChunkRadiationManager; +import com.hbm.handler.threading.PacketThreading; import com.hbm.interfaces.IArmorModDash; import com.hbm.items.armor.ArmorFSB; +import com.hbm.items.weapon.sedna.factory.ConfettiUtil; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.packet.toclient.ExtPropPacket; +import com.hbm.particle.helper.FlameCreator; import com.hbm.potion.HbmPotion; -import com.hbm.packet.ExtPropPacket; -import com.hbm.saveddata.AuxSavedData; import com.hbm.util.ArmorRegistry; import com.hbm.util.ArmorUtil; import com.hbm.util.ContaminationUtil; @@ -39,6 +42,11 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EnumCreatureType; import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.entity.monster.EntityZombie; +import net.minecraft.entity.passive.EntityCow; +import net.minecraft.entity.passive.EntityMooshroom; +import net.minecraft.entity.passive.EntityVillager; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Blocks; @@ -47,6 +55,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; +import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -55,12 +64,12 @@ import net.minecraft.world.biome.BiomeGenBase; public class EntityEffectHandler { public static void onUpdate(EntityLivingBase entity) { - + if(entity.ticksExisted % 20 == 0) { HbmLivingProps.setRadBuf(entity, HbmLivingProps.getRadEnv(entity)); HbmLivingProps.setRadEnv(entity, 0); } - + if(entity instanceof EntityPlayer && entity == MainRegistry.proxy.me()) { EntityPlayer player = MainRegistry.proxy.me(); if(player != null) { @@ -75,7 +84,6 @@ public class EntityEffectHandler { if(entity instanceof EntityPlayerMP) { HbmLivingProps props = HbmLivingProps.getData(entity); HbmPlayerProps pprps = HbmPlayerProps.getData((EntityPlayerMP) entity); - NBTTagCompound data = new NBTTagCompound(); if(pprps.shield < pprps.getEffectiveMaxShield() && entity.ticksExisted > pprps.lastDamage + 60) { int tsd = entity.ticksExisted - (pprps.lastDamage + 60); @@ -85,33 +93,31 @@ public class EntityEffectHandler { if(pprps.shield > pprps.getEffectiveMaxShield()) pprps.shield = pprps.getEffectiveMaxShield(); - props.saveNBTData(data); - pprps.saveNBTData(data); - PacketDispatcher.wrapper.sendTo(new ExtPropPacket(data), (EntityPlayerMP) entity); + PacketThreading.createSendToThreadedPacket(new ExtPropPacket(props, pprps), (EntityPlayerMP) entity); } if(!entity.worldObj.isRemote) { int timer = HbmLivingProps.getTimer(entity); if(timer > 0) { HbmLivingProps.setTimer(entity, timer - 1); - + if(timer == 1) { ExplosionNukeSmall.explode(entity.worldObj, entity.posX, entity.posY, entity.posZ, ExplosionNukeSmall.PARAMS_MEDIUM); } } - - if(GeneralConfig.enable528 && entity instanceof EntityLivingBase && !entity.isImmuneToFire() && entity.worldObj.provider.isHellWorld) { + //only sets players on fire so mod compatibility doesnt die + if((GeneralConfig.enable528 && GeneralConfig.enable528NetherBurn) && entity instanceof EntityPlayer && !entity.isImmuneToFire() && entity.worldObj.provider.isHellWorld) { entity.setFire(5); } - + BiomeGenBase biome = entity.worldObj.getBiomeGenForCoords((int) Math.floor(entity.posX), (int) Math.floor(entity.posZ)); float radiation = 0; if(biome == BiomeGenCraterBase.craterOuterBiome) radiation = WorldConfig.craterBiomeOuterRad; if(biome == BiomeGenCraterBase.craterBiome) radiation = WorldConfig.craterBiomeRad; if(biome == BiomeGenCraterBase.craterInnerBiome) radiation = WorldConfig.craterBiomeInnerRad; - + if(entity.isWet()) radiation *= WorldConfig.craterBiomeWaterMult; - + if(radiation > 0) { ContaminationUtil.contaminate(entity, HazardType.RADIATION, ContaminationType.CREATIVE, radiation / 20F); } @@ -119,7 +125,8 @@ public class EntityEffectHandler { handleContamination(entity); handleContagion(entity); - handleRadiation(entity); + handleRadiationEffect(entity); + handleRadiationFX(entity); handleDigamma(entity); handleLungDisease(entity); handleOil(entity); @@ -128,154 +135,210 @@ public class EntityEffectHandler { handleDashing(entity); handlePlinking(entity); - + if(entity instanceof EntityPlayer) handleFauxLadder((EntityPlayer) entity); } - + private static void handleFauxLadder(EntityPlayer player) { - + HbmPlayerProps props = HbmPlayerProps.getData(player); - + if(props.isOnLadder) { - float f5 = 0.15F; + double climbSpeed = 0.15; - if(player.motionX < (double) (-f5)) { - player.motionX = (double) (-f5); - } - - if(player.motionX > (double) f5) { - player.motionX = (double) f5; - } - - if(player.motionZ < (double) (-f5)) { - player.motionZ = (double) (-f5); - } - - if(player.motionZ > (double) f5) { - player.motionZ = (double) f5; - } + if(player.motionX < -climbSpeed) player.motionX = -climbSpeed; + if(player.motionX > climbSpeed) player.motionX = climbSpeed; + if(player.motionZ < -climbSpeed) player.motionZ = -climbSpeed; + if(player.motionZ > climbSpeed) player.motionZ = climbSpeed; player.fallDistance = 0.0F; - if(player.motionY < -0.15D) { - player.motionY = -0.15D; - } - - if(player.isSneaking() && player.motionY < 0.0D) { - player.motionY = 0.0D; - } - - if(player.isCollidedHorizontally) { - player.motionY = 0.2D; - } + if(player.motionY < -climbSpeed) player.motionY = -climbSpeed; + if(player.isSneaking() && player.motionY < 0.0D) player.motionY = 0.0D; + if(player.isCollidedHorizontally) player.motionY = 0.2D; props.isOnLadder = false; - + if(!player.worldObj.isRemote) ArmorUtil.resetFlightTime(player); } } - + private static void handleContamination(EntityLivingBase entity) { - + if(entity.worldObj.isRemote) return; - + List contamination = HbmLivingProps.getCont(entity); List rem = new ArrayList(); - + for(ContaminationEffect con : contamination) { ContaminationUtil.contaminate(entity, HazardType.RADIATION, con.ignoreArmor ? ContaminationType.RAD_BYPASS : ContaminationType.CREATIVE, con.getRad()); - con.time--; - - if(con.time <= 0) - rem.add(con); + if(con.time <= 0) rem.add(con); } - + contamination.removeAll(rem); } - - private static void handleRadiation(EntityLivingBase entity) { + + /** Handles entity transformation via radiation and applied potion effects */ + private static void handleRadiationEffect(EntityLivingBase entity) { + + if(entity.isDead) return; + if(entity.worldObj.isRemote) return; + if(entity instanceof EntityPlayer && ((EntityPlayer) entity).capabilities.isCreativeMode) return; World world = entity.worldObj; - + + float eRad = HbmLivingProps.getRadiation(entity); + + /// TRANSFORMATIONS /// + if(entity.getClass().equals(EntityCreeper.class) && eRad >= 200 && entity.getHealth() > 0) { + + if(world.rand.nextInt(3) == 0) { + EntityCreeperNuclear creep = new EntityCreeperNuclear(world); + creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + world.spawnEntityInWorld(creep); + entity.setDead(); + } else { + entity.attackEntityFrom(ModDamageSource.radiation, 100F); + } + return; + } else if(entity instanceof EntityCow && !(entity instanceof EntityMooshroom) && eRad >= 50) { + EntityMooshroom cow = new EntityMooshroom(world); + cow.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + world.spawnEntityInWorld(cow); + entity.setDead(); + return; + } else if(entity instanceof EntityVillager && eRad >= 500) { + EntityZombie zomb = new EntityZombie(world); + zomb.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + world.spawnEntityInWorld(zomb); + entity.setDead(); + return; + } else if(entity.getClass().equals(EntityDuck.class) && eRad >= 200) { + EntityQuackos quacc = new EntityQuackos(world); + quacc.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + world.spawnEntityInWorld(quacc); + entity.setDead(); + return; + } + + if(eRad < 200 || ContaminationUtil.isRadImmune(entity)) return; + if(eRad > 2500) HbmLivingProps.setRadiation(entity, 2500); + + /// EFFECTS /// + if(eRad >= 1000) { + + entity.attackEntityFrom(ModDamageSource.radiation, 1000F); + HbmLivingProps.setRadiation(entity, 0); + + if(entity.getHealth() > 0) { + entity.setHealth(0); + entity.onDeath(ModDamageSource.radiation); + } + + if(entity instanceof EntityPlayer) ((EntityPlayer) entity).triggerAchievement(MainRegistry.achRadDeath); + + } else if(eRad >= 800) { + if(world.rand.nextInt(300) == 0) entity.addPotionEffect(new PotionEffect(Potion.confusion.id, 5 * 30, 0)); + if(world.rand.nextInt(300) == 0) entity.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 10 * 20, 2)); + if(world.rand.nextInt(300) == 0) entity.addPotionEffect(new PotionEffect(Potion.weakness.id, 10 * 20, 2)); + if(world.rand.nextInt(500) == 0) entity.addPotionEffect(new PotionEffect(Potion.poison.id, 3 * 20, 2)); + if(world.rand.nextInt(700) == 0) entity.addPotionEffect(new PotionEffect(Potion.wither.id, 3 * 20, 1)); + + } else if(eRad >= 600) { + if(world.rand.nextInt(300) == 0) entity.addPotionEffect(new PotionEffect(Potion.confusion.id, 5 * 30, 0)); + if(world.rand.nextInt(300) == 0) entity.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 10 * 20, 2)); + if(world.rand.nextInt(300) == 0) entity.addPotionEffect(new PotionEffect(Potion.weakness.id, 10 * 20, 2)); + if(world.rand.nextInt(500) == 0) entity.addPotionEffect(new PotionEffect(Potion.poison.id, 3 * 20, 1)); + + } else if(eRad >= 400) { + if(world.rand.nextInt(300) == 0) entity.addPotionEffect(new PotionEffect(Potion.confusion.id, 5 * 30, 0)); + if(world.rand.nextInt(500) == 0) entity.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 5 * 20, 0)); + if(world.rand.nextInt(300) == 0) entity.addPotionEffect(new PotionEffect(Potion.weakness.id, 5 * 20, 1)); + + } else if(eRad >= 200) { + if(world.rand.nextInt(300) == 0) entity.addPotionEffect(new PotionEffect(Potion.confusion.id, 5 * 20, 0)); + if(world.rand.nextInt(500) == 0) entity.addPotionEffect(new PotionEffect(Potion.weakness.id, 5 * 20, 0)); + + if(entity instanceof EntityPlayer) ((EntityPlayer) entity).triggerAchievement(MainRegistry.achRadPoison); + } + } + + /** Handles contamination from the chunk, the dimension as well as particle effects related to radiation sickness */ + private static void handleRadiationFX(EntityLivingBase entity) { + + World world = entity.worldObj; + if(!world.isRemote) { - - if(ContaminationUtil.isRadImmune(entity)) - return; - + + if(ContaminationUtil.isRadImmune(entity)) return; + int ix = (int)MathHelper.floor_double(entity.posX); int iy = (int)MathHelper.floor_double(entity.posY); int iz = (int)MathHelper.floor_double(entity.posZ); - + float rad = ChunkRadiationManager.proxy.getRadiation(world, ix, iy, iz); - + if(world.provider.isHellWorld && RadiationConfig.hellRad > 0 && rad < RadiationConfig.hellRad) rad = (float) RadiationConfig.hellRad; - - if(rad > 0) { - ContaminationUtil.contaminate(entity, HazardType.RADIATION, ContaminationType.CREATIVE, rad / 20F); - } - - if(entity.worldObj.isRaining() && BombConfig.cont > 0 && AuxSavedData.getThunder(entity.worldObj) > 0 && entity.worldObj.canBlockSeeTheSky(ix, iy, iz)) { - ContaminationUtil.contaminate(entity, HazardType.RADIATION, ContaminationType.CREATIVE, BombConfig.cont * 0.0005F); - } - - if(entity instanceof EntityPlayer && ((EntityPlayer)entity).capabilities.isCreativeMode) - return; - + + if(rad > 0) ContaminationUtil.contaminate(entity, HazardType.RADIATION, ContaminationType.CREATIVE, rad / 20F); + + if(entity instanceof EntityPlayer && ((EntityPlayer)entity).capabilities.isCreativeMode) return; + Random rand = new Random(entity.getEntityId()); int r600 = rand.nextInt(600); int r1200 = rand.nextInt(1200); - + if(HbmLivingProps.getRadiation(entity) > 600) { - + if((world.getTotalWorldTime() + r600) % 600 < 20 && canVomit(entity)) { NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "vomit"); nbt.setString("mode", "blood"); nbt.setInteger("count", 25); nbt.setInteger("entity", entity.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); + if((world.getTotalWorldTime() + r600) % 600 == 1) { world.playSoundEffect(ix, iy, iz, "hbm:player.vomit", 1.0F, 1.0F); entity.addPotionEffect(new PotionEffect(Potion.hunger.id, 60, 19)); } } - + } else if(HbmLivingProps.getRadiation(entity) > 200 && (world.getTotalWorldTime() + r1200) % 1200 < 20 && canVomit(entity)) { - + NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "vomit"); nbt.setString("mode", "normal"); nbt.setInteger("count", 15); nbt.setInteger("entity", entity.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); + if((world.getTotalWorldTime() + r1200) % 1200 == 1) { world.playSoundEffect(ix, iy, iz, "hbm:player.vomit", 1.0F, 1.0F); entity.addPotionEffect(new PotionEffect(Potion.hunger.id, 60, 19)); } - + } - + if(HbmLivingProps.getRadiation(entity) > 900 && (world.getTotalWorldTime() + rand.nextInt(10)) % 10 == 0) { - + NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "sweat"); nbt.setInteger("count", 1); nbt.setInteger("block", Block.getIdFromBlock(Blocks.redstone_block)); nbt.setInteger("entity", entity.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); + } } else { float radiation = HbmLivingProps.getRadiation(entity); - + if(entity instanceof EntityPlayer && radiation > 600) { - + NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "radiation"); nbt.setInteger("count", radiation > 900 ? 4 : radiation > 800 ? 2 : 1); @@ -283,64 +346,64 @@ public class EntityEffectHandler { } } } - + private static void handleDigamma(EntityLivingBase entity) { - + if(!entity.worldObj.isRemote) { - + float digamma = HbmLivingProps.getDigamma(entity); - + if(digamma < 0.01F) return; - + int chance = Math.max(10 - (int)(digamma), 1); - + if(chance == 1 || entity.getRNG().nextInt(chance) == 0) { - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "sweat"); data.setInteger("count", 1); data.setInteger("block", Block.getIdFromBlock(Blocks.soul_sand)); data.setInteger("entity", entity.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); } } } - + private static void handleContagion(EntityLivingBase entity) { - + World world = entity.worldObj; - + if(!entity.worldObj.isRemote) { - + Random rand = entity.getRNG(); int minute = 60 * 20; int hour = 60 * minute; - + int contagion = HbmLivingProps.getContagion(entity); - + if(entity instanceof EntityPlayer) { - + EntityPlayer player = (EntityPlayer) entity; int randSlot = rand.nextInt(player.inventory.mainInventory.length); ItemStack stack = player.inventory.getStackInSlot(randSlot); - + if(rand.nextInt(100) == 0) { stack = player.inventory.armorItemInSlot(rand.nextInt(4)); } - + //only affect unstackables (e.g. tools and armor) so that the NBT tag's stack restrictions isn't noticeable if(stack != null && stack.getMaxStackSize() == 1) { - + if(contagion > 0) { - + if(!stack.hasTagCompound()) stack.stackTagCompound = new NBTTagCompound(); - + stack.stackTagCompound.setBoolean("ntmContagion", true); - + } else { - + if(stack.hasTagCompound() && stack.stackTagCompound.getBoolean("ntmContagion")) { if(!ArmorUtil.checkForHaz2(player) || !ArmorRegistry.hasProtection(player, 3, HazardClass.BACTERIA)) //liable to change to hazmat 1 at bob's pleasure HbmLivingProps.setContagion(player, 3 * hour); @@ -348,19 +411,19 @@ public class EntityEffectHandler { } } } - + if(contagion > 0) { HbmLivingProps.setContagion(entity, contagion - 1); - + //aerial transmission only happens once a second 5 minutes into the contagion if(contagion < (2 * hour + 55 * minute) && contagion % 20 == 0) { - + double range = entity.isWet() ? 16D : 2D; //avoid rain, just avoid it - + List list = world.getEntitiesWithinAABBExcludingEntity(entity, entity.boundingBox.expand(range, range, range)); - + for(Entity ent : list) { - + if(ent instanceof EntityLivingBase) { EntityLivingBase living = (EntityLivingBase) ent; if(HbmLivingProps.getContagion(living) <= 0) { @@ -368,51 +431,51 @@ public class EntityEffectHandler { HbmLivingProps.setContagion(living, 3 * hour); } } - + if(ent instanceof EntityItem) { ItemStack stack = ((EntityItem)ent).getEntityItem(); - + if(!stack.hasTagCompound()) stack.stackTagCompound = new NBTTagCompound(); - + stack.stackTagCompound.setBoolean("ntmContagion", true); } } } - + //one hour in, add rare and subtle screen fuckery if(contagion < 2 * hour && rand.nextInt(1000) == 0) { entity.addPotionEffect(new PotionEffect(Potion.confusion.id, 20, 0)); } - + //two hours in, give 'em the full blast if(contagion < 1 * hour && rand.nextInt(100) == 0) { entity.addPotionEffect(new PotionEffect(Potion.confusion.id, 60, 0)); entity.addPotionEffect(new PotionEffect(Potion.weakness.id, 300, 4)); } - + //T-30 minutes, take damage every 20 seconds if(contagion < 30 * minute && rand.nextInt(400) == 0) { entity.attackEntityFrom(ModDamageSource.mku, 1F); } - + //T-5 minutes, take damage every 5 seconds if(contagion < 5 * minute && rand.nextInt(100) == 0) { entity.attackEntityFrom(ModDamageSource.mku, 2F); } - + if(contagion < 30 * minute && (contagion + entity.getEntityId()) % 200 < 20 && canVomit(entity)) { NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "vomit"); nbt.setString("mode", "blood"); nbt.setInteger("count", 25); nbt.setInteger("entity", entity.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); + if((contagion + entity.getEntityId()) % 200 == 19) world.playSoundEffect(entity.posX, entity.posY, entity.posZ, "hbm:player.vomit", 1.0F, 1.0F); } - + //end of contagion, drop dead if(contagion == 0) { entity.attackEntityFrom(ModDamageSource.mku, 1000F); @@ -420,20 +483,20 @@ public class EntityEffectHandler { } } } - + private static void handleLungDisease(EntityLivingBase entity) { - + if(entity.worldObj.isRemote) return; - + if(entity instanceof EntityPlayer && ((EntityPlayer) entity).capabilities.isCreativeMode) { HbmLivingProps.setBlackLung(entity, 0); HbmLivingProps.setAsbestos(entity, 0); return; } else { - + int bl = HbmLivingProps.getBlackLung(entity); - + if(bl > 0 && bl < HbmLivingProps.maxBlacklung * 0.5) HbmLivingProps.setBlackLung(entity, HbmLivingProps.getBlackLung(entity) - 1); } @@ -441,13 +504,13 @@ public class EntityEffectHandler { double blacklung = Math.min(HbmLivingProps.getBlackLung(entity), HbmLivingProps.maxBlacklung); double asbestos = Math.min(HbmLivingProps.getAsbestos(entity), HbmLivingProps.maxAsbestos); double soot = PollutionHandler.getPollution(entity.worldObj, (int) Math.floor(entity.posX), (int) Math.floor(entity.posY + entity.getEyeHeight()), (int) Math.floor(entity.posZ), PollutionType.SOOT); - + if(!(entity instanceof EntityPlayer)) soot = 0; - + if(ArmorRegistry.hasProtection(entity, 3, HazardClass.PARTICLE_COARSE)) soot = 0; - + boolean coughs = blacklung / HbmLivingProps.maxBlacklung > 0.25D || asbestos / HbmLivingProps.maxAsbestos > 0.25D || soot > 30; - + if(!coughs) return; @@ -458,82 +521,82 @@ public class EntityEffectHandler { double blacklungDelta = 1D - (blacklung / (double)HbmLivingProps.maxBlacklung); double asbestosDelta = 1D - (asbestos / (double)HbmLivingProps.maxAsbestos); double sootDelta = 1D - Math.min(soot / 100, 1D); - + double total = 1 - (blacklungDelta * asbestosDelta); - + World world = entity.worldObj; - + if(total > 0.75D) { entity.addPotionEffect(new PotionEffect(Potion.weakness.id, 100, 2)); } - + if(total > 0.95D) { entity.addPotionEffect(new PotionEffect(Potion.confusion.id, 100, 0)); } - + total = 1 - (blacklungDelta * asbestosDelta * sootDelta); int freq = Math.max((int) (1000 - 950 * total), 20); - + if(world.getTotalWorldTime() % freq == entity.getEntityId() % freq) { world.playSoundEffect(entity.posX, entity.posY, entity.posZ, "hbm:player.cough", 1.0F, 1.0F); - + if(coughsBlood) { NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "vomit"); nbt.setString("mode", "blood"); nbt.setInteger("count", 5); nbt.setInteger("entity", entity.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); } - + if(coughsCoal) { NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "vomit"); nbt.setString("mode", "smoke"); nbt.setInteger("count", coughsALotOfCoal ? 50 : 10); nbt.setInteger("entity", entity.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); } } } - + private static void handleOil(EntityLivingBase entity) { - + if(entity.worldObj.isRemote) return; - + int oil = HbmLivingProps.getOil(entity); - + if(oil > 0) { - + if(entity.isBurning()) { HbmLivingProps.setOil(entity, 0); entity.worldObj.newExplosion(null, entity.posX, entity.posY + entity.height / 2, entity.posZ, 3F, false, true); } else { HbmLivingProps.setOil(entity, oil - 1); } - + if(entity.ticksExisted % 5 == 0) { NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "sweat"); nbt.setInteger("count", 1); nbt.setInteger("block", Block.getIdFromBlock(Blocks.coal_block)); nbt.setInteger("entity", entity.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); } } } - + private static void handlePollution(EntityLivingBase entity) { - + if(!RadiationConfig.enablePollution) return; - + if(RadiationConfig.enablePoison && !ArmorRegistry.hasProtection(entity, 3, HazardClass.GAS_BLISTERING) && entity.ticksExisted % 60 == 0) { - + float poison = PollutionHandler.getPollution(entity.worldObj, (int) Math.floor(entity.posX), (int) Math.floor(entity.posY + entity.getEyeHeight()), (int) Math.floor(entity.posZ), PollutionType.POISON); - + if(poison > 10) { - + if(poison < 25) { entity.addPotionEffect(new PotionEffect(Potion.poison.id, 100, 0)); } else if(poison < 50) { @@ -543,13 +606,13 @@ public class EntityEffectHandler { } } } - + if(RadiationConfig.enableLeadPoisoning && !ArmorRegistry.hasProtection(entity, 3, HazardClass.PARTICLE_FINE) && entity.ticksExisted % 60 == 0) { - + float poison = PollutionHandler.getPollution(entity.worldObj, (int) Math.floor(entity.posX), (int) Math.floor(entity.posY + entity.getEyeHeight()), (int) Math.floor(entity.posZ), PollutionType.HEAVYMETAL); - + if(poison > 25) { - + if(poison < 50) { entity.addPotionEffect(new PotionEffect(HbmPotion.lead.id, 100, 0)); } else if(poison < 75) { @@ -560,76 +623,94 @@ public class EntityEffectHandler { } } } - + private static void handleTemperature(Entity entity) { - + if(!(entity instanceof EntityLivingBase)) return; if(entity.worldObj.isRemote) return; - - EntityLivingBase living = (EntityLivingBase) entity; - int temp = HbmLivingProps.getTemperature(living); - if(temp < 0) HbmLivingProps.setTemperature(living, temp + Math.min(-temp, 5)); - if(temp > 0) HbmLivingProps.setTemperature(living, temp - Math.min(temp, 5)); - - if(HbmLivingProps.isFrozen(living)) { - living.motionX = 0; - living.motionZ = 0; - living.motionY = Math.min(living.motionY, 0); - - if(entity.ticksExisted % 5 == 0) { - NBTTagCompound nbt0 = new NBTTagCompound(); - nbt0.setString("type", "sweat"); - nbt0.setInteger("count", 1); - nbt0.setInteger("block", Block.getIdFromBlock(Blocks.snow)); - nbt0.setInteger("entity", entity.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt0, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); - - if(entity instanceof EntityPlayerMP) { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setString("type", "frozen"); - PacketDispatcher.wrapper.sendTo(new AuxParticlePacketNT(nbt1, 0, 0, 0), (EntityPlayerMP) entity); - } - } + EntityLivingBase living = (EntityLivingBase) entity; + HbmLivingProps props = HbmLivingProps.getData(living); + Random rand = living.getRNG(); + + if(!entity.isEntityAlive()) return; + + if(living.isImmuneToFire()) { + props.fire = 0; + props.phosphorus = 0; } - - if(HbmLivingProps.isBurning(living)) { - living.setFire(1); + + double x = living.posX; + double y = living.posY; + double z = living.posZ; + + if(living.isInWater() || living.isWet()) props.fire = 0; + + if(props.fire > 0) { + props.fire--; + if((living.ticksExisted + living.getEntityId()) % 15 == 0) living.worldObj.playSoundEffect(living.posX, living.posY + living.height / 2, living.posZ, "random.fizz", 1F, 1.5F + rand.nextFloat() * 0.5F); + if((living.ticksExisted + living.getEntityId()) % 40 == 0) living.attackEntityFrom(DamageSource.onFire, 2F); + FlameCreator.composeEffect(entity.worldObj, x - living.width / 2 + living.width * rand.nextDouble(), y + rand.nextDouble() * living.height, z - living.width / 2 + living.width * rand.nextDouble(), FlameCreator.META_FIRE); } + + if(props.phosphorus > 0) { + props.phosphorus--; + if((living.ticksExisted + living.getEntityId()) % 15 == 0) living.worldObj.playSoundEffect(living.posX, living.posY + living.height / 2, living.posZ, "random.fizz", 1F, 1.5F + rand.nextFloat() * 0.5F); + if((living.ticksExisted + living.getEntityId()) % 40 == 0) living.attackEntityFrom(DamageSource.onFire, 5F); + FlameCreator.composeEffect(entity.worldObj, x - living.width / 2 + living.width * rand.nextDouble(), y + rand.nextDouble() * living.height, z - living.width / 2 + living.width * rand.nextDouble(), FlameCreator.META_FIRE); + } + + if(props.balefire > 0) { + props.balefire--; + if((living.ticksExisted + living.getEntityId()) % 15 == 0) living.worldObj.playSoundEffect(living.posX, living.posY + living.height / 2, living.posZ, "random.fizz", 1F, 1.5F + rand.nextFloat() * 0.5F); + ContaminationUtil.contaminate(living, HazardType.RADIATION, ContaminationType.CREATIVE, 5F); + if((living.ticksExisted + living.getEntityId()) % 20 == 0) living.attackEntityFrom(DamageSource.onFire, 5F); + FlameCreator.composeEffect(entity.worldObj, x - living.width / 2 + living.width * rand.nextDouble(), y + rand.nextDouble() * living.height, z - living.width / 2 + living.width * rand.nextDouble(), FlameCreator.META_BALEFIRE); + } + + if(props.blackFire > 0) { + props.blackFire--; + if((living.ticksExisted + living.getEntityId()) % 10 == 0) living.worldObj.playSoundEffect(living.posX, living.posY + living.height / 2, living.posZ, "random.fizz", 1F, 1.5F + rand.nextFloat() * 0.5F); + ContaminationUtil.contaminate(living, HazardType.RADIATION, ContaminationType.CREATIVE, 5F); + if((living.ticksExisted + living.getEntityId()) % 10 == 0) living.attackEntityFrom(DamageSource.onFire, 10F); + FlameCreator.composeEffect(entity.worldObj, x - living.width / 2 + living.width * rand.nextDouble(), y + rand.nextDouble() * living.height, z - living.width / 2 + living.width * rand.nextDouble(), FlameCreator.META_BLACK); + } + + if(props.fire > 0 || props.phosphorus > 0 || props.balefire > 0) if(!entity.isEntityAlive()) ConfettiUtil.decideConfetti(living, DamageSource.onFire); } - + private static void handleDashing(Entity entity) { - + //AAAAAAAAAAAAAAAAAAAAEEEEEEEEEEEEEEEEEEEE if(entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer)entity; - + HbmPlayerProps props = HbmPlayerProps.getData(player); - + props.setDashCount(0); - + ArmorFSB chestplate = null; - + int armorDashCount = 0; int armorModDashCount = 0; - + if(ArmorFSB.hasFSBArmor(player)) { - ItemStack plate = player.inventory.armorInventory[2]; - + ItemStack plate = player.inventory.armorInventory[2]; + chestplate = (ArmorFSB)plate.getItem(); } - + if(chestplate != null) armorDashCount = chestplate.dashCount; - + for(int armorSlot = 0; armorSlot < 4; armorSlot++) { ItemStack armorStack = player.inventory.armorInventory[armorSlot]; - + if(armorStack != null && armorStack.getItem() instanceof ItemArmor) { - + for(int modSlot = 0; modSlot < 8; modSlot++) { ItemStack mod = ArmorModHandler.pryMods(armorStack)[modSlot]; - + if(mod != null && mod.getItem() instanceof IArmorModDash) { int count = ((IArmorModDash)mod.getItem()).getDashes(); armorModDashCount += count; @@ -637,24 +718,21 @@ public class EntityEffectHandler { } } } - + int dashCount = armorDashCount + armorModDashCount; - boolean dashActivated = props.getKeyPressed(EnumKeybind.DASH); - - if(dashCount * 30 < props.getStamina()) - props.setStamina(dashCount * 30); - + + if(dashCount * 30 < props.getStamina()) props.setStamina(dashCount * 30); + if(dashCount > 0) { int perDash = 30; - - props.setDashCount(dashCount); - int stamina = props.getStamina(); - + + props.setDashCount(dashCount); + if(props.getDashCooldown() <= 0) { - + if(dashActivated && stamina >= perDash) { Vec3 lookingIn = player.getLookVec(); @@ -663,50 +741,47 @@ public class EntityEffectHandler { int forward = (int) Math.signum(player.moveForward); int strafe = (int) Math.signum(player.moveStrafing); - - if(forward == 0 && strafe == 0) - forward = 1; + + if(forward == 0 && strafe == 0) forward = 1; player.addVelocity(lookingIn.xCoord * forward + strafeVec.xCoord * strafe, 0, lookingIn.zCoord * forward + strafeVec.zCoord * strafe); player.motionY = 0; player.fallDistance = 0F; player.playSound("hbm:weapon.rocketFlame", 1.0F, 1.0F); - + props.setDashCooldown(HbmPlayerProps.dashCooldownLength); stamina -= perDash; } - } else { + } else { props.setDashCooldown(props.getDashCooldown() - 1); props.setKeyPressed(EnumKeybind.DASH, false); } - + if(stamina < props.getDashCount() * perDash) { stamina++; - + if(stamina % perDash == perDash-1) { - player.playSound("hbm:item.techBoop", 1.0F, (1.0F + ((1F/12F)*(stamina/perDash)))); stamina++; } } - + props.setStamina(stamina); - } - + } } } - + private static void handlePlinking(Entity entity) { - + if(entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer)entity; HbmPlayerProps props = HbmPlayerProps.getData(player); - + if(props.plinkCooldown > 0) props.plinkCooldown--; } } - + private static boolean canVomit(Entity e) { if(e.isCreatureType(EnumCreatureType.waterCreature, false)) return false; return true; diff --git a/src/main/java/com/hbm/handler/GunConfiguration.java b/src/main/java/com/hbm/handler/GunConfiguration.java index 3fe99df52..9cce19944 100644 --- a/src/main/java/com/hbm/handler/GunConfiguration.java +++ b/src/main/java/com/hbm/handler/GunConfiguration.java @@ -5,13 +5,14 @@ import java.util.HashMap; import java.util.List; import java.util.function.Consumer; +import com.hbm.items.weapon.sedna.Crosshair; import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.render.anim.BusAnimation; import com.hbm.render.anim.HbmAnimations.AnimType; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; import net.minecraft.util.ResourceLocation; +@Deprecated public class GunConfiguration implements Cloneable { /** @@ -46,10 +47,6 @@ public class GunConfiguration implements Cloneable { public boolean isCentered; //texture overlay when sneaking public ResourceLocation scopeTexture; - //whether the FOV multiplier should be absolute or multiplicative to other modifiers, multiplicative mode is experimental! - public boolean absoluteFOV = true; - //the target FOV/multiplied FOV modifier when sneaking - public float zoomFOV = 0.0F; //duration of every animation cycle, used also for how quickly a burst fire rifle can fire public int firingDuration; @@ -122,10 +119,5 @@ public class GunConfiguration implements Cloneable { public static final String RSOUND_GRENADE = "hbm:weapon.hkReload"; public static final String RSOUND_GRENADE_NEW = "hbm:weapon.glReload"; public static final String RSOUND_FATMAN = "hbm:weapon.fatmanReload"; - - public GunConfiguration silenced() { - this.firingSound = "hbm:weapon.silencerShoot"; - return this; - } } diff --git a/src/main/java/com/hbm/handler/HTTPHandler.java b/src/main/java/com/hbm/handler/HTTPHandler.java index 4efc054f4..3af10a74b 100644 --- a/src/main/java/com/hbm/handler/HTTPHandler.java +++ b/src/main/java/com/hbm/handler/HTTPHandler.java @@ -13,6 +13,7 @@ import com.hbm.main.MainRegistry; public class HTTPHandler { public static List capsule = new ArrayList(); + public static List tipOfTheDay = new ArrayList(); public static boolean newVersion = false; public static String versionNumber = ""; @@ -25,6 +26,7 @@ public class HTTPHandler { try { loadVersion(); loadSoyuz(); + loadTips(); } catch(IOException e) { MainRegistry.logger.warn("Version checker failed!"); } @@ -69,12 +71,17 @@ public class HTTPHandler { BufferedReader in = new BufferedReader(new InputStreamReader(github.openStream())); String line; - - while((line = in.readLine()) != null) { - capsule.add(line); - } - + while((line = in.readLine()) != null) capsule.add(line); in.close(); } + private static void loadTips() throws IOException { + + URL github = new URL("https://gist.githubusercontent.com/HbmMods/a03c66ba160184e12f43de826b30c096/raw/tip_of_the_day"); + BufferedReader in = new BufferedReader(new InputStreamReader(github.openStream())); + + String line; + while((line = in.readLine()) != null) tipOfTheDay.add(line); + in.close(); + } } diff --git a/src/main/java/com/hbm/handler/HbmKeybinds.java b/src/main/java/com/hbm/handler/HbmKeybinds.java index 6ae2507e1..06a9c90a1 100644 --- a/src/main/java/com/hbm/handler/HbmKeybinds.java +++ b/src/main/java/com/hbm/handler/HbmKeybinds.java @@ -1,18 +1,31 @@ package com.hbm.handler; import com.hbm.inventory.gui.GUICalculator; +import com.hbm.items.IKeybindReceiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; + import cpw.mods.fml.common.FMLCommonHandler; import org.lwjgl.input.Keyboard; +import org.lwjgl.input.Mouse; +import com.hbm.config.GeneralConfig; import com.hbm.extprop.HbmPlayerProps; import com.hbm.main.MainRegistry; -import com.hbm.packet.KeybindPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.KeybindPacket; import cpw.mods.fml.client.registry.ClientRegistry; +import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.InputEvent.KeyInputEvent; +import cpw.mods.fml.common.gameevent.InputEvent.MouseInputEvent; +import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; import net.minecraft.client.settings.KeyBinding; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; public class HbmKeybinds { @@ -20,10 +33,20 @@ public class HbmKeybinds { public static KeyBinding calculatorKey = new KeyBinding(category + ".calculator", Keyboard.KEY_N, category); public static KeyBinding jetpackKey = new KeyBinding(category + ".toggleBack", Keyboard.KEY_C, category); + public static KeyBinding magnetKey = new KeyBinding(category + ".toggleMagnet", Keyboard.KEY_Z, category); public static KeyBinding hudKey = new KeyBinding(category + ".toggleHUD", Keyboard.KEY_V, category); - public static KeyBinding reloadKey = new KeyBinding(category + ".reload", Keyboard.KEY_R, category); public static KeyBinding dashKey = new KeyBinding(category + ".dash", Keyboard.KEY_LSHIFT, category); public static KeyBinding trainKey = new KeyBinding(category + ".trainInv", Keyboard.KEY_R, category); + + public static KeyBinding abilityCycle = new KeyBinding(category + ".ability", -99, category); + public static KeyBinding abilityAlt = new KeyBinding(category + ".abilityAlt", Keyboard.KEY_LMENU, category); + public static KeyBinding copyToolAlt = new KeyBinding(category + ".copyToolAlt", Keyboard.KEY_LMENU, category); + public static KeyBinding copyToolCtrl = new KeyBinding(category + ".copyToolCtrl", Keyboard.KEY_LCONTROL, category); + + public static KeyBinding reloadKey = new KeyBinding(category + ".reload", Keyboard.KEY_R, category); + public static KeyBinding gunPrimaryKey = new KeyBinding(category + ".gunPrimary", -100, category); + public static KeyBinding gunSecondaryKey = new KeyBinding(category + ".gunSecondary", -99, category); + public static KeyBinding gunTertiaryKey = new KeyBinding(category + ".gunTertitary", -98, category); public static KeyBinding craneUpKey = new KeyBinding(category + ".craneMoveUp", Keyboard.KEY_UP, category); public static KeyBinding craneDownKey = new KeyBinding(category + ".craneMoveDown", Keyboard.KEY_DOWN, category); @@ -34,48 +57,182 @@ public class HbmKeybinds { public static void register() { ClientRegistry.registerKeyBinding(calculatorKey); ClientRegistry.registerKeyBinding(jetpackKey); + ClientRegistry.registerKeyBinding(magnetKey); ClientRegistry.registerKeyBinding(hudKey); - ClientRegistry.registerKeyBinding(reloadKey); ClientRegistry.registerKeyBinding(dashKey); ClientRegistry.registerKeyBinding(trainKey); + ClientRegistry.registerKeyBinding(reloadKey); + ClientRegistry.registerKeyBinding(gunPrimaryKey); + ClientRegistry.registerKeyBinding(gunSecondaryKey); + ClientRegistry.registerKeyBinding(gunTertiaryKey); + ClientRegistry.registerKeyBinding(craneUpKey); ClientRegistry.registerKeyBinding(craneDownKey); ClientRegistry.registerKeyBinding(craneLeftKey); ClientRegistry.registerKeyBinding(craneRightKey); ClientRegistry.registerKeyBinding(craneLoadKey); + ClientRegistry.registerKeyBinding(abilityCycle); + ClientRegistry.registerKeyBinding(abilityAlt); + ClientRegistry.registerKeyBinding(copyToolAlt); + ClientRegistry.registerKeyBinding(copyToolCtrl); } - - @SubscribeEvent + + @SideOnly(Side.CLIENT) + @SubscribeEvent(priority = EventPriority.LOW) + public void mouseEvent(MouseInputEvent event) { + + /// OVERLAP HANDLING /// + handleOverlap(Mouse.getEventButtonState(), Mouse.getEventButton() - 100); + + /// KEYBIND PROPS /// + handleProps(Mouse.getEventButtonState(), Mouse.getEventButton() - 100); + } + + @SideOnly(Side.CLIENT) + @SubscribeEvent(priority = EventPriority.LOW) public void keyEvent(KeyInputEvent event) { - if (calculatorKey.getIsKeyPressed()) { // handle the calculator client-side only + + /// OVERLAP HANDLING /// + handleOverlap(Keyboard.getEventKeyState(), Keyboard.getEventKey()); + + /// KEYBIND PROPS /// + handleProps(Keyboard.getEventKeyState(), Keyboard.getEventKey()); + + /// CALCULATOR /// + if(calculatorKey.getIsKeyPressed()) { + MainRegistry.proxy.me().closeScreen(); FMLCommonHandler.instance().showGuiScreen(new GUICalculator()); } + } + + /** + * Shitty hack: Keybinds fire before minecraft checks right click on block, which means the tool cycle keybind would fire too. + * If cycle collides with right click and a block is being used, cancel the keybind. + * @param event + */ + @SideOnly(Side.CLIENT) + @SubscribeEvent + public void postClientTick(ClientTickEvent event) { + if(event.phase != event.phase.END) return; + EntityPlayer player = MainRegistry.proxy.me(); + if(player == null) return; + if(player.worldObj == null) return; - HbmPlayerProps props = HbmPlayerProps.getData(MainRegistry.proxy.me()); + HbmPlayerProps props = HbmPlayerProps.getData(player); + + // in theory, this should do the same keybind crap as the main one, but at the end of the client tick, fixing the issue + // of detecting when a block is being interacted with + // in practice, this shit doesn't fucking work. detection fails when the click is sub one tick long + if(Minecraft.getMinecraft().gameSettings.keyBindUseItem.getKeyCode() == abilityCycle.getKeyCode()) { + boolean last = props.getKeyPressed(EnumKeybind.ABILITY_CYCLE); + boolean current = abilityCycle.pressed; + + if(last != current) { + PacketDispatcher.wrapper.sendToServer(new KeybindPacket(EnumKeybind.ABILITY_CYCLE, current)); + props.setKeyPressed(EnumKeybind.ABILITY_CYCLE, current); + onPressedClient(player, EnumKeybind.ABILITY_CYCLE, current); + } + } + } + + /** Handles keybind overlap. Make sure this runs first before referencing the keybinds set by the extprops */ + public static void handleOverlap(boolean state, int keyCode) { + Minecraft mc = Minecraft.getMinecraft(); + if(GeneralConfig.enableKeybindOverlap && (mc.currentScreen == null || mc.currentScreen.allowUserInput)) { + + //if anything errors here, run ./gradlew clean setupDecompWorkSpace + for(Object o : KeyBinding.keybindArray) { + KeyBinding key = (KeyBinding) o; + + if(keyCode != 0 && key.getKeyCode() == keyCode && KeyBinding.hash.lookup(key.getKeyCode()) != key) { + + key.pressed = state; + if(state && key.pressTime == 0) { + key.pressTime = 1; + } + } + } + + /// GUN HANDLING /// + boolean gunKey = keyCode == HbmKeybinds.gunPrimaryKey.getKeyCode() || keyCode == HbmKeybinds.gunSecondaryKey.getKeyCode() || + keyCode == HbmKeybinds.gunTertiaryKey.getKeyCode() || keyCode == HbmKeybinds.reloadKey.getKeyCode(); + + EntityPlayer player = mc.thePlayer; + + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemGunBaseNT) { + + /* Shoot in favor of attacking */ + if(gunKey && keyCode == mc.gameSettings.keyBindAttack.getKeyCode()) { + mc.gameSettings.keyBindAttack.pressed = false; + mc.gameSettings.keyBindAttack.pressTime = 0; + } + + /* Shoot in favor of interacting */ + /*if(gunKey && keyCode == mc.gameSettings.keyBindUseItem.getKeyCode()) { + mc.gameSettings.keyBindUseItem.pressed = false; + mc.gameSettings.keyBindUseItem.pressTime = 0; + }*/ + + /* Scope in favor of picking */ + if(gunKey && keyCode == mc.gameSettings.keyBindPickBlock.getKeyCode()) { + mc.gameSettings.keyBindPickBlock.pressed = false; + mc.gameSettings.keyBindPickBlock.pressTime = 0; + } + } + } + } + + public static void handleProps(boolean state, int keyCode) { + + /// KEYBIND PROPS /// + EntityPlayer player = MainRegistry.proxy.me(); + HbmPlayerProps props = HbmPlayerProps.getData(player); for(EnumKeybind key : EnumKeybind.values()) { boolean last = props.getKeyPressed(key); boolean current = MainRegistry.proxy.getIsKeyPressed(key); if(last != current) { - PacketDispatcher.wrapper.sendToServer(new KeybindPacket(key, current)); + + /// ABILITY HANDLING /// + if(key == EnumKeybind.ABILITY_CYCLE && Minecraft.getMinecraft().gameSettings.keyBindUseItem.getKeyCode() == abilityCycle.getKeyCode()) continue; + props.setKeyPressed(key, current); + PacketDispatcher.wrapper.sendToServer(new KeybindPacket(key, current)); + onPressedClient(player, key, current); } } } + + public static void onPressedClient(EntityPlayer player, EnumKeybind key, boolean state) { + // ITEM HANDLING + ItemStack held = player.getHeldItem(); + if(held != null && held.getItem() instanceof IKeybindReceiver) { + IKeybindReceiver rec = (IKeybindReceiver) held.getItem(); + if(rec.canHandleKeybind(player, held, key)) rec.handleKeybindClient(player, held, key, state); + } + } public static enum EnumKeybind { JETPACK, TOGGLE_JETPACK, + TOGGLE_MAGNET, TOGGLE_HEAD, - RELOAD, DASH, TRAIN, CRANE_UP, CRANE_DOWN, CRANE_LEFT, CRANE_RIGHT, - CRANE_LOAD + CRANE_LOAD, + ABILITY_CYCLE, + ABILITY_ALT, + TOOL_ALT, + TOOL_CTRL, + GUN_PRIMARY, + GUN_SECONDARY, + GUN_TERTIARY, + RELOAD } } diff --git a/src/main/java/com/hbm/handler/HbmKeybindsServer.java b/src/main/java/com/hbm/handler/HbmKeybindsServer.java new file mode 100644 index 000000000..a8f5a99d6 --- /dev/null +++ b/src/main/java/com/hbm/handler/HbmKeybindsServer.java @@ -0,0 +1,26 @@ +package com.hbm.handler; + +import com.hbm.extprop.HbmPlayerProps; +import com.hbm.handler.HbmKeybinds.EnumKeybind; +import com.hbm.items.IKeybindReceiver; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; + +public class HbmKeybindsServer { + + /** Can't put this in HbmKeybinds because it's littered with clientonly stuff */ + public static void onPressedServer(EntityPlayer player, EnumKeybind key, boolean state) { + + // EXTPROP HANDLING + HbmPlayerProps props = HbmPlayerProps.getData(player); + props.setKeyPressed(key, state); + + // ITEM HANDLING + ItemStack held = player.getHeldItem(); + if(held != null && held.getItem() instanceof IKeybindReceiver) { + IKeybindReceiver rec = (IKeybindReceiver) held.getItem(); + if(rec.canHandleKeybind(player, held, key)) rec.handleKeybind(player, held, key, state); + } + } +} diff --git a/src/main/java/com/hbm/handler/ImpactWorldHandler.java b/src/main/java/com/hbm/handler/ImpactWorldHandler.java index fc528fc6d..365f17cd4 100644 --- a/src/main/java/com/hbm/handler/ImpactWorldHandler.java +++ b/src/main/java/com/hbm/handler/ImpactWorldHandler.java @@ -31,28 +31,32 @@ public class ImpactWorldHandler { return; } + TomSaveData data = TomSaveData.forWorld(world); + + if (data.dust <= 0 && data.fire <= 0) + return; + WorldServer serv = (WorldServer) world; List list = serv.theChunkProviderServer.loadedChunks; int listSize = list.size(); - + if(listSize > 0) { for(int i = 0; i < 3; i++) { - + Chunk chunk = list.get(serv.rand.nextInt(listSize)); ChunkCoordIntPair coord = chunk.getChunkCoordIntPair(); - + for(int x = 0; x < 16; x++) { for(int z = 0; z < 16; z++) { - + if(world.rand.nextBoolean()) continue; - + int X = coord.getCenterXPos() - 8 + x; int Z = coord.getCenterZPosition() - 8 + z; int Y = world.getHeightValue(X, Z) - world.rand.nextInt(Math.max(1, world.getHeightValue(X, Z))); - TomSaveData data = TomSaveData.forWorld(world); - + if(data.dust > 0) { die(world, X, Y, Z); } @@ -70,7 +74,7 @@ public class ImpactWorldHandler { TomSaveData data = TomSaveData.forWorld(world); int light = Math.max(world.getSavedLightValue(EnumSkyBlock.Block, x, y + 1, z), (int) (world.getBlockLightValue(x, y + 1, z) * (1 - data.dust))); - + if(light < 4) { if(world.getBlock(x, y, z) == Blocks.grass) { world.setBlock(x, y, z, Blocks.dirt); @@ -86,18 +90,18 @@ public class ImpactWorldHandler { /// Burn the world. public static void burn(World world, int x, int y, int z) { - + Block b = world.getBlock(x, y, z); if(b.isFlammable(world, x, y, z, ForgeDirection.UP) && world.getBlock(x, y + 1, z) == Blocks.air && world.getSavedLightValue(EnumSkyBlock.Sky, x, y + 1, z) >= 7) { if(b instanceof BlockLeaves || b instanceof BlockBush) { world.setBlockToAir(x, y, z); } world.setBlock(x, y + 1, z, Blocks.fire); - + } else if((b == Blocks.grass || b == Blocks.mycelium || b == ModBlocks.waste_earth || b == ModBlocks.frozen_grass || b == ModBlocks.waste_mycelium) && !world.canLightningStrikeAt(x, y, z) && world.getSavedLightValue(EnumSkyBlock.Sky, x, y + 1, z) >= 7) { world.setBlock(x, y, z, ModBlocks.burning_earth); - + } else if(b == ModBlocks.frozen_dirt && world.getSavedLightValue(EnumSkyBlock.Sky, x, y + 1, z) >= 7) { world.setBlock(x, y, z, Blocks.dirt); } @@ -125,4 +129,4 @@ public class ImpactWorldHandler { if(world != lastSyncWorld) return false; return impact; } -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/handler/ToolAbility.java b/src/main/java/com/hbm/handler/ToolAbility.java deleted file mode 100644 index 2a03e79a4..000000000 --- a/src/main/java/com/hbm/handler/ToolAbility.java +++ /dev/null @@ -1,565 +0,0 @@ -package com.hbm.handler; - -import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import com.hbm.config.ToolConfig; -import com.hbm.explosion.ExplosionNT; -import com.hbm.explosion.ExplosionNT.ExAttrib; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.inventory.recipes.CentrifugeRecipes; -import com.hbm.inventory.recipes.CrystallizerRecipes; -import com.hbm.inventory.recipes.CrystallizerRecipes.CrystallizerRecipe; -import com.hbm.inventory.recipes.ShredderRecipes; -import com.hbm.items.ModItems; -import com.hbm.items.tool.IItemAbility; -import com.hbm.util.EnchantmentUtil; - -import net.minecraft.block.Block; -import net.minecraft.client.resources.I18n; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.FurnaceRecipes; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public abstract class ToolAbility { - - //how to potentially save this: cancel the event/operation so that ItemInWorldManager's harvest method falls short, then recreate it with a more sensible structure - public boolean onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, IItemAbility tool) { return false; } - public abstract String getName(); - public abstract String getFullName(); - public abstract String getExtension(); - public abstract boolean isAllowed(); - - public static class RecursionAbility extends ToolAbility { - - int radius; - - public RecursionAbility(int radius) { - this.radius = radius; - } - - private Set pos = new HashSet(); - - @Override - public boolean onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, IItemAbility tool) { - - Block b = world.getBlock(x, y, z); - - if(b == Blocks.stone && !ToolConfig.recursiveStone) - return false; - if(b == Blocks.netherrack && !ToolConfig.recursiveNetherrack) - return false; - - List indices = Arrays.asList(new Integer[] {0, 1, 2, 3, 4, 5}); - Collections.shuffle(indices); - - pos.clear(); - - for(Integer i : indices) { - switch(i) { - case 0: breakExtra(world, x + 1, y, z, x, y, z, player, tool, 0); break; - case 1: breakExtra(world, x - 1, y, z, x, y, z, player, tool, 0); break; - case 2: breakExtra(world, x, y + 1, z, x, y, z, player, tool, 0); break; - case 3: breakExtra(world, x, y - 1, z, x, y, z, player, tool, 0); break; - case 4: breakExtra(world, x, y, z + 1, x, y, z, player, tool, 0); break; - case 5: breakExtra(world, x, y, z - 1, x, y, z, player, tool, 0); break; - } - } - return false; - } - - private void breakExtra(World world, int x, int y, int z, int refX, int refY, int refZ, EntityPlayer player, IItemAbility tool, int depth) { - - if(pos.contains(new ThreeInts(x, y, z))) - return; - - depth += 1; - - if(depth > ToolConfig.recursionDepth) - return; - - pos.add(new ThreeInts(x, y, z)); - - //don't lose the ref block just yet - if(x == refX && y == refY && z == refZ) - return; - - if(Vec3.createVectorHelper(x - refX, y - refY, z - refZ).lengthVector() > radius) - return; - - Block b = world.getBlock(x, y, z); - Block ref = world.getBlock(refX, refY, refZ); - int meta = world.getBlockMetadata(x, y, z); - int refMeta = world.getBlockMetadata(refX, refY, refZ); - - if(!isSameBlock(b, ref)) - return; - - if(meta != refMeta) - return; - - if(player.getHeldItem() == null) - return; - - tool.breakExtraBlock(world, x, y, z, player, refX, refY, refZ); - - List indices = Arrays.asList(new Integer[] {0, 1, 2, 3, 4, 5}); - Collections.shuffle(indices); - - for(Integer i : indices) { - switch(i) { - case 0: breakExtra(world, x + 1, y, z, refX, refY, refZ, player, tool, depth); break; - case 1: breakExtra(world, x - 1, y, z, refX, refY, refZ, player, tool, depth); break; - case 2: breakExtra(world, x, y + 1, z, refX, refY, refZ, player, tool, depth); break; - case 3: breakExtra(world, x, y - 1, z, refX, refY, refZ, player, tool, depth); break; - case 4: breakExtra(world, x, y, z + 1, refX, refY, refZ, player, tool, depth); break; - case 5: breakExtra(world, x, y, z - 1, refX, refY, refZ, player, tool, depth); break; - } - } - } - - private boolean isSameBlock(Block b1, Block b2) { - - if(b1 == b2) return true; - if((b1 == Blocks.redstone_ore && b2 == Blocks.lit_redstone_ore) || (b1 == Blocks.lit_redstone_ore && b2 == Blocks.redstone_ore)) return true; - - return false; - } - - @Override - public String getName() { - return "tool.ability.recursion"; - } - - @Override - public String getFullName() { - return I18n.format(getName()) + getExtension(); - } - - @Override - public String getExtension() { - return " (" + radius + ")"; - } - - @Override - public boolean isAllowed() { - return ToolConfig.abilityVein; - } - } - - public static class HammerAbility extends ToolAbility { - - int range; - - public HammerAbility(int range) { - this.range = range; - } - - @Override - public boolean onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, IItemAbility tool) { - - for(int a = x - range; a <= x + range; a++) { - for(int b = y - range; b <= y + range; b++) { - for(int c = z - range; c <= z + range; c++) { - - if(a == x && b == y && c == z) - continue; - - tool.breakExtraBlock(world, a, b ,c, player, x, y, z); - } - } - } - - return false; - } - - @Override - public String getName() { - return "tool.ability.hammer"; - } - - @Override - public String getFullName() { - return I18n.format(getName()) + getExtension(); - } - - @Override - public String getExtension() { - return " (" + range + ")"; - } - - @Override - public boolean isAllowed() { - return ToolConfig.abilityHammer; - } - } - - public static class SilkAbility extends ToolAbility { - - @Override - public boolean onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, IItemAbility tool) { - - if(EnchantmentHelper.getSilkTouchModifier(player) || player.getHeldItem() == null) - return false; - - ItemStack stack = player.getHeldItem(); - EnchantmentUtil.addEnchantment(stack, Enchantment.silkTouch, 1); - - if(player instanceof EntityPlayerMP) - IItemAbility.standardDigPost(world, x, y, z, (EntityPlayerMP) player); - - EnchantmentUtil.removeEnchantment(stack, Enchantment.silkTouch); - - return true; - } - - @Override - public String getName() { - return "tool.ability.silktouch"; - } - - @Override - public String getFullName() { - return I18n.format(getName()); - } - - @Override - public String getExtension() { - return ""; - } - - @Override - public boolean isAllowed() { - return ToolConfig.abilitySilk; - } - } - - public static class LuckAbility extends ToolAbility { - - int luck; - - public LuckAbility(int luck) { - this.luck = luck; - } - - @Override - public boolean onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, IItemAbility tool) { - - if(EnchantmentHelper.getFortuneModifier(player) > 0 || player.getHeldItem() == null) - return false; - - ItemStack stack = player.getHeldItem(); - EnchantmentUtil.addEnchantment(stack, Enchantment.fortune, luck); - - if(player instanceof EntityPlayerMP) - IItemAbility.standardDigPost(world, x, y, z, (EntityPlayerMP) player); - - EnchantmentUtil.removeEnchantment(stack, Enchantment.fortune); - - return true; - } - - @Override - public String getName() { - return "tool.ability.luck"; - } - - @Override - public String getFullName() { - return I18n.format(getName()) + getExtension(); - } - - @Override - public String getExtension() { - return " (" + luck + ")"; - } - - @Override - public boolean isAllowed() { - return ToolConfig.abilityLuck; - } - } - - public static class SmelterAbility extends ToolAbility { - - @Override - public boolean onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, IItemAbility tool) { - - List drops = block.getDrops(world, x, y, z, world.getBlockMetadata(x, y, z), 0); - - boolean doesSmelt = false; - - for(int i = 0; i < drops.size(); i++) { - ItemStack stack = drops.get(i).copy(); - ItemStack result = FurnaceRecipes.smelting().getSmeltingResult(stack); - - if(result != null) { - result = result.copy(); - result.stackSize *= stack.stackSize; - drops.set(i, result); - doesSmelt = true; - } - } - - if(doesSmelt) { - world.setBlockToAir(x, y, z); - player.getHeldItem().damageItem(1, player); - - for(ItemStack stack : drops) - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, stack.copy())); - } - - return false; - } - - @Override - public String getName() { - return "tool.ability.smelter"; - } - - @Override - public String getFullName() { - return I18n.format(getName()); - } - - @Override - public String getExtension() { - return ""; - } - - @Override - public boolean isAllowed() { - return ToolConfig.abilityFurnace; - } - } - - public static class ShredderAbility extends ToolAbility { - - @Override - public boolean onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, IItemAbility tool) { - - //a band-aid on a gaping wound - if(block == Blocks.lit_redstone_ore) - block = Blocks.redstone_ore; - - ItemStack stack = new ItemStack(block, 1, meta); - ItemStack result = ShredderRecipes.getShredderResult(stack); - - if(result != null && result.getItem() != ModItems.scrap) { - world.setBlockToAir(x, y, z); - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, result.copy())); - player.getHeldItem().damageItem(1, player); - } - - return false; - } - - @Override - public String getName() { - return "tool.ability.shredder"; - } - - @Override - public String getFullName() { - return I18n.format(getName()); - } - - @Override - public String getExtension() { - return ""; - } - - @Override - public boolean isAllowed() { - return ToolConfig.abilityShredder; - } - } - - public static class CentrifugeAbility extends ToolAbility { - - @Override - public boolean onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, IItemAbility tool) { - - //a band-aid on a gaping wound - if(block == Blocks.lit_redstone_ore) - block = Blocks.redstone_ore; - - ItemStack stack = new ItemStack(block, 1, meta); - ItemStack[] result = CentrifugeRecipes.getOutput(stack); - - if(result != null) { - world.setBlockToAir(x, y, z); - player.getHeldItem().damageItem(1, player); - - for(ItemStack st : result) { - if(st != null) - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, st.copy())); - } - } - - return false; - } - - @Override - public String getExtension() { - return ""; - } - - @Override - public String getName() { - return "tool.ability.centrifuge"; - } - - @Override - public String getFullName() { - return I18n.format(getName()); - } - - @Override - public boolean isAllowed() { - return ToolConfig.abilityCentrifuge; - } - } - - public static class CrystallizerAbility extends ToolAbility { - - @Override - public boolean onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, IItemAbility tool) { - - //a band-aid on a gaping wound - if(block == Blocks.lit_redstone_ore) - block = Blocks.redstone_ore; - - ItemStack stack = new ItemStack(block, 1, meta); - CrystallizerRecipe result = CrystallizerRecipes.getOutput(stack, Fluids.PEROXIDE); - - if(result != null) { - world.setBlockToAir(x, y, z); - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, result.output.copy())); - player.getHeldItem().damageItem(1, player); - } - - return false; - } - - @Override - public String getExtension() { - return ""; - } - - @Override - public String getName() { - return "tool.ability.crystallizer"; - } - - @Override - public String getFullName() { - return I18n.format(getName()); - } - - @Override - public boolean isAllowed() { - return ToolConfig.abilityCrystallizer; - } - } - - public static class MercuryAbility extends ToolAbility { - - @Override - public boolean onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, IItemAbility tool) { - - //a band-aid on a gaping wound - if(block == Blocks.lit_redstone_ore) - block = Blocks.redstone_ore; - - int mercury = 0; - - if(block == Blocks.redstone_ore) - mercury = player.getRNG().nextInt(5) + 4; - if(block == Blocks.redstone_block) - mercury = player.getRNG().nextInt(7) + 8; - - if(mercury > 0) { - world.setBlockToAir(x, y, z); - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModItems.ingot_mercury, mercury))); - player.getHeldItem().damageItem(1, player); - } - - return false; - } - - @Override - public String getExtension() { - return ""; - } - - @Override - public String getName() { - return "tool.ability.mercury"; - } - - @Override - public String getFullName() { - return I18n.format(getName()); - } - - @Override - public boolean isAllowed() { - return ToolConfig.abilityMercury; - } - } - - public static class ExplosionAbility extends ToolAbility { - - float strength; - - public ExplosionAbility(float strength) { - this.strength = strength; - } - - @Override - public boolean onDig(World world, int x, int y, int z, EntityPlayer player, Block block, int meta, IItemAbility tool) { - - ExplosionNT ex = new ExplosionNT(player.worldObj, player, x + 0.5, y + 0.5, z + 0.5, strength); - ex.addAttrib(ExAttrib.ALLDROP); - ex.addAttrib(ExAttrib.NOHURT); - ex.addAttrib(ExAttrib.NOPARTICLE); - ex.doExplosionA(); - ex.doExplosionB(false); - - player.worldObj.createExplosion(player, x + 0.5, y + 0.5, z + 0.5, 0.1F, false); - - return true; - } - - @Override - public String getExtension() { - return " (" + strength + ")"; - } - - @Override - public String getName() { - return "tool.ability.explosion"; - } - - @Override - public String getFullName() { - return I18n.format(getName()) + getExtension(); - } - - @Override - public boolean isAllowed() { - return ToolConfig.abilityExplosion; - } - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/handler/WeaponAbility.java b/src/main/java/com/hbm/handler/WeaponAbility.java deleted file mode 100644 index 11e2621b3..000000000 --- a/src/main/java/com/hbm/handler/WeaponAbility.java +++ /dev/null @@ -1,324 +0,0 @@ -package com.hbm.handler; - -import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.generic.BlockBobble.BobbleType; -import com.hbm.items.ModItems; -import com.hbm.items.tool.IItemAbility; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; -import com.hbm.potion.HbmPotion; -import com.hbm.util.ContaminationUtil; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; - -import com.hbm.util.ContaminationUtil.ContaminationType; -import com.hbm.util.ContaminationUtil.HazardType; - -import net.minecraft.block.Block; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityXPOrb; -import net.minecraft.entity.monster.EntityCreeper; -import net.minecraft.entity.monster.EntityMagmaCube; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.monster.EntitySkeleton; -import net.minecraft.entity.monster.EntitySlime; -import net.minecraft.entity.monster.EntityZombie; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; - -public abstract class WeaponAbility { - - public abstract void onHit(World world, EntityPlayer player, Entity victim, IItemAbility tool); - public abstract String getName(); - public abstract String getFullName(); - - public static class RadiationAbility extends WeaponAbility { - - float rad; - - public RadiationAbility(float rad) { - this.rad = rad; - } - - @Override - public void onHit(World world, EntityPlayer player, Entity victim, IItemAbility tool) { - - if(victim instanceof EntityLivingBase) - ContaminationUtil.contaminate((EntityLivingBase)victim, HazardType.RADIATION, ContaminationType.CREATIVE, rad); - } - - @Override - public String getName() { - return "weapon.ability.radiation"; - } - - @Override - public String getFullName() { - return I18n.format(getName()) + " (" + rad + ")"; - } - } - - public static class VampireAbility extends WeaponAbility { - - float amount; - - public VampireAbility(float amount) { - this.amount = amount; - } - - @Override - public void onHit(World world, EntityPlayer player, Entity victim, IItemAbility tool) { - - if(victim instanceof EntityLivingBase) { - - EntityLivingBase living = (EntityLivingBase) victim; - - living.setHealth(living.getHealth() - amount); - if(living.getHealth() <= 0) living.onDeath(DamageSource.magic); - player.heal(amount); - } - } - - @Override - public String getName() { - return "weapon.ability.vampire"; - } - - @Override - public String getFullName() { - return I18n.format(getName()) + " (" + amount + ")"; - } - } - - public static class StunAbility extends WeaponAbility { - - int duration; - - public StunAbility(int duration) { - this.duration = duration; - } - - @Override - public void onHit(World world, EntityPlayer player, Entity victim, IItemAbility tool) { - - if(victim instanceof EntityLivingBase) { - - EntityLivingBase living = (EntityLivingBase) victim; - - living.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, duration * 20, 4)); - living.addPotionEffect(new PotionEffect(Potion.weakness.id, duration * 20, 4)); - } - } - - @Override - public String getName() { - return "weapon.ability.stun"; - } - - @Override - public String getFullName() { - return I18n.format(getName()) + " (" + duration + ")"; - } - } - - public static class PhosphorusAbility extends WeaponAbility { - - int duration; - - public PhosphorusAbility(int duration) { - this.duration = duration; - } - - @Override - public void onHit(World world, EntityPlayer player, Entity victim, IItemAbility tool) { - - if(victim instanceof EntityLivingBase) { - - EntityLivingBase living = (EntityLivingBase) victim; - - living.addPotionEffect(new PotionEffect(HbmPotion.phosphorus.id, duration * 20, 4)); - } - } - - @Override - public String getName() { - return "weapon.ability.phosphorus"; - } - - @Override - public String getFullName() { - return I18n.format(getName()) + " (" + duration + ")"; - } - } - - public static class FireAbility extends WeaponAbility { - - int duration; - - public FireAbility(int duration) { - this.duration = duration; - } - - @Override - public void onHit(World world, EntityPlayer player, Entity victim, IItemAbility tool) { - - if(victim instanceof EntityLivingBase) { - victim.setFire(duration); - } - } - - @Override - public String getName() { - return "weapon.ability.fire"; - } - - @Override - public String getFullName() { - return I18n.format(getName()) + " (" + duration + ")"; - } - } - - public static class ChainsawAbility extends WeaponAbility { - - int divider; - - public ChainsawAbility(int divider) { - this.divider = divider; - } - - @Override - public void onHit(World world, EntityPlayer player, Entity victim, IItemAbility tool) { - - if(victim instanceof EntityLivingBase) { - - EntityLivingBase living = (EntityLivingBase) victim; - - if(living.getHealth() <= 0.0F) { - - int count = Math.min((int)Math.ceil(living.getMaxHealth() / divider), 250); //safeguard to prevent funnies from bosses with obscene health - - for(int i = 0; i < count; i++) { - living.entityDropItem(new ItemStack(ModItems.nitra_small), 1); - world.spawnEntityInWorld(new EntityXPOrb(world, living.posX, living.posY, living.posZ, 1)); - } - - if(player instanceof EntityPlayerMP) { - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "vanillaburst"); - data.setInteger("count", count * 4); - data.setDouble("motion", 0.1D); - data.setString("mode", "blockdust"); - data.setInteger("block", Block.getIdFromBlock(Blocks.redstone_block)); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, living.posX, living.posY + living.height * 0.5, living.posZ), new TargetPoint(living.dimension, living.posX, living.posY, living.posZ, 50)); - } - - world.playSoundEffect(living.posX, living.posY + living.height * 0.5, living.posZ, "hbm:weapon.chainsaw", 0.5F, 1.0F); - } - } - } - - @Override - public String getName() { - return "weapon.ability.chainsaw"; - } - - @Override - public String getFullName() { - return I18n.format(getName()) + " (1:" + divider + ")"; - } - } - - public static class BeheaderAbility extends WeaponAbility { - - @Override - public void onHit(World world, EntityPlayer player, Entity victim, IItemAbility tool) { - - if(victim instanceof EntityLivingBase && ((EntityLivingBase) victim).getHealth() <= 0.0F) { - - EntityLivingBase living = (EntityLivingBase) victim; - - if(living instanceof EntitySkeleton) { - - if(((EntitySkeleton)living).getSkeletonType() == 0) { - living.entityDropItem(new ItemStack(Items.skull, 1, 0), 0.0F); - } else { - - if(world.rand.nextInt(20) == 0) - living.entityDropItem(new ItemStack(Items.skull, 1, 1), 0.0F); - else - living.entityDropItem(new ItemStack(Items.coal, 3), 0.0F); - } - - } else if(living instanceof EntityZombie) { - living.entityDropItem(new ItemStack(Items.skull, 1, 2), 0.0F); - } else if(living instanceof EntityCreeper) { - living.entityDropItem(new ItemStack(Items.skull, 1, 4), 0.0F); - } else if(living instanceof EntityMagmaCube) { - living.entityDropItem(new ItemStack(Items.magma_cream, 3), 0.0F); - } else if(living instanceof EntitySlime) { - living.entityDropItem(new ItemStack(Items.slime_ball, 3), 0.0F); - } else if(living instanceof EntityPlayer) { - - ItemStack head = new ItemStack(Items.skull, 1, 3); - head.stackTagCompound = new NBTTagCompound(); - head.stackTagCompound.setString("SkullOwner", ((EntityPlayer) living).getDisplayName()); - living.entityDropItem(head, 0.0F); - } else { - living.entityDropItem(new ItemStack(Items.rotten_flesh, 3, 0), 0.0F); - living.entityDropItem(new ItemStack(Items.bone, 2, 0), 0.0F); - } - } - } - - @Override - public String getName() { - return "weapon.ability.beheader"; - } - - @Override - public String getFullName() { - return I18n.format(getName()); - } - } - - public static class BobbleAbility extends WeaponAbility { - - @Override - public void onHit(World world, EntityPlayer player, Entity victim, IItemAbility tool) { - - if(victim instanceof EntityMob && ((EntityMob) victim).getHealth() <= 0.0F) { - - EntityMob mob = (EntityMob) victim; - - int chance = 1000; - - if(mob.getMaxHealth() > 20) { - chance = 750; - } - - if(world.rand.nextInt(chance) == 0) - mob.entityDropItem(new ItemStack(ModBlocks.bobblehead, 1, world.rand.nextInt(BobbleType.values().length - 1) + 1), 0.0F); - } - } - - @Override - public String getName() { - return "weapon.ability.bobble"; - } - - @Override - public String getFullName() { - return I18n.format(getName()); - } - } -} diff --git a/src/main/java/com/hbm/handler/ability/AvailableAbilities.java b/src/main/java/com/hbm/handler/ability/AvailableAbilities.java new file mode 100644 index 000000000..2949c42d5 --- /dev/null +++ b/src/main/java/com/hbm/handler/ability/AvailableAbilities.java @@ -0,0 +1,123 @@ +package com.hbm.handler.ability; + +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.util.EnumChatFormatting; + +// All abilities available on a given tool +public class AvailableAbilities { + // Insertion order matters + private HashMap abilities = new HashMap(); + + public AvailableAbilities() { } + + public AvailableAbilities addAbility(IBaseAbility ability, int level) { + if(level < 0 || level >= ability.levels()) { + MainRegistry.logger.warn("Illegal level " + level + " for ability " + ability.getName()); + level = ability.levels() - 1; + } + + if(abilities.containsKey(ability)) { + MainRegistry.logger.warn("Ability " + ability.getName() + " already had level " + abilities.get(ability) + ", overwriting with level " + level); + } + + if(ability.isAllowed()) { + abilities.put(ability, level); + } + + return this; + } + + public AvailableAbilities addToolAbilities() { + addAbility(IToolAreaAbility.NONE, 0); + addAbility(IToolHarvestAbility.NONE, 0); + return this; + } + + public AvailableAbilities removeAbility(IBaseAbility ability) { + abilities.remove(ability); + return this; + } + + public boolean supportsAbility(IBaseAbility ability) { + return abilities.containsKey(ability); + } + + public int maxLevel(IBaseAbility ability) { + return abilities.getOrDefault(ability, -1); + } + + public Map get() { + return Collections.unmodifiableMap(abilities); + } + + public Map getWeaponAbilities() { + return abilities.keySet().stream().filter(a -> a instanceof IWeaponAbility).collect(Collectors.toMap(a -> (IWeaponAbility) a, a -> abilities.get(a))); + } + + public Map getToolAbilities() { + return abilities.keySet().stream().filter(a -> a instanceof IToolAreaAbility || a instanceof IToolHarvestAbility).collect(Collectors.toMap(a -> a, a -> abilities.get(a))); + } + + public Map getToolAreaAbilities() { + return abilities.keySet().stream().filter(a -> a instanceof IToolAreaAbility).collect(Collectors.toMap(a -> (IToolAreaAbility) a, a -> abilities.get(a))); + } + + public Map getToolHarvestAbilities() { + return abilities.keySet().stream().filter(a -> a instanceof IToolHarvestAbility).collect(Collectors.toMap(a -> (IToolHarvestAbility) a, a -> abilities.get(a))); + } + + public int size() { + return abilities.size(); + } + + public boolean isEmpty() { + return abilities.isEmpty(); + } + + @SideOnly(Side.CLIENT) + public void addInformation(List list) { + List> toolAbilities = abilities.entrySet().stream() + .filter(entry -> (entry.getKey() instanceof IToolAreaAbility && entry.getKey() != IToolAreaAbility.NONE) + || (entry.getKey() instanceof IToolHarvestAbility && entry.getKey() != IToolHarvestAbility.NONE)) + .sorted(Comparator.comparing(Map.Entry::getKey).thenComparing(Map.Entry::getValue)).collect(Collectors.toList()); + + if(!toolAbilities.isEmpty()) { + list.add("Abilities: "); + + toolAbilities.forEach(entry -> { + IBaseAbility ability = entry.getKey(); + int level = entry.getValue(); + + list.add(" " + EnumChatFormatting.GOLD + ability.getFullName(level)); + }); + + list.add("Right click to cycle through presets!"); + list.add("Sneak-click to go to first preset!"); + list.add("Alt-click to open customization GUI!"); + } + + List> weaponAbilities = abilities.entrySet().stream().filter(entry -> (entry.getKey() instanceof IWeaponAbility && entry.getKey() != IWeaponAbility.NONE)) + .sorted(Comparator.comparing(Map.Entry::getKey).thenComparing(Map.Entry::getValue)).collect(Collectors.toList()); + + if(!weaponAbilities.isEmpty()) { + list.add("Weapon modifiers: "); + + weaponAbilities.forEach(entry -> { + IBaseAbility ability = entry.getKey(); + int level = entry.getValue(); + + list.add(" " + EnumChatFormatting.RED + ability.getFullName(level)); + }); + } + } +} diff --git a/src/main/java/com/hbm/handler/ability/IBaseAbility.java b/src/main/java/com/hbm/handler/ability/IBaseAbility.java new file mode 100644 index 000000000..8918a2511 --- /dev/null +++ b/src/main/java/com/hbm/handler/ability/IBaseAbility.java @@ -0,0 +1,37 @@ +package com.hbm.handler.ability; + +import com.hbm.util.i18n.I18nUtil; + +public interface IBaseAbility extends Comparable { + public String getName(); + + public default String getExtension(int level) { + return ""; + } + + // Note: only usable client-side. Server-side, use ChatComponentTranslation manually instead + public default String getFullName(int level) { + return I18nUtil.format(getName()) + getExtension(level); + } + + public default boolean isAllowed() { + return true; + } + + // 1 means no support for levels (i.e. the level is always 0). + // The UI only supports levels() between 1 and 10 (inclusive). + // All calls accepting an `int level` parameters must be done + // with a level between 0 and levels()-1 (inclusive). + default int levels() { + return 1; + } + + default int sortOrder() { + return hashCode(); + } + + @Override + default int compareTo(IBaseAbility o) { + return sortOrder() - o.sortOrder(); + } +} diff --git a/src/main/java/com/hbm/handler/ability/IToolAreaAbility.java b/src/main/java/com/hbm/handler/ability/IToolAreaAbility.java new file mode 100644 index 000000000..ca28bca9c --- /dev/null +++ b/src/main/java/com/hbm/handler/ability/IToolAreaAbility.java @@ -0,0 +1,384 @@ +package com.hbm.handler.ability; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import com.hbm.config.ToolConfig; +import com.hbm.explosion.ExplosionNT; +import com.hbm.explosion.ExplosionNT.ExAttrib; +import com.hbm.handler.ThreeInts; +import com.hbm.items.tool.ItemToolAbility; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.init.Blocks; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public interface IToolAreaAbility extends IBaseAbility { + // Should call tool.breakExtraBlock on a bunch of blocks. + // The initial block is implicitly broken, so don't call breakExtraBlock on it. + // Returning true skips the reference block from being broken + public boolean onDig(int level, World world, int x, int y, int z, EntityPlayer player, ItemToolAbility tool); + + // Whether breakExtraBlock is called at all. Currently only false for explosion + public default boolean allowsHarvest(int level) { + return true; + } + + public final static int SORT_ORDER_BASE = 0; + + // region handlers + public static final IToolAreaAbility NONE = new IToolAreaAbility() { + @Override + public String getName() { + return ""; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 0; + } + + @Override + public boolean onDig(int level, World world, int x, int y, int z, EntityPlayer player, ItemToolAbility tool) { + return false; + } + }; + + public static final IToolAreaAbility RECURSION = new IToolAreaAbility() { + @Override + public String getName() { + return "tool.ability.recursion"; + } + + @Override + public boolean isAllowed() { + return ToolConfig.abilityVein; + } + + public final int[] radiusAtLevel = { 3, 4, 5, 6, 7, 9, 10 }; + + @Override + public int levels() { + return radiusAtLevel.length; + } + + @Override + public String getExtension(int level) { + return " (" + radiusAtLevel[level] + ")"; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 1; + } + + // Note: if reusing it across different instatces of a tool + // is a problem here, then it had already been one before + // the refactor! The solution is to simply make this a local + // of the onDig method and pass it around as a parameter. + private Set pos = new HashSet<>(); + + @Override + public boolean onDig(int level, World world, int x, int y, int z, EntityPlayer player, ItemToolAbility tool) { + Block b = world.getBlock(x, y, z); + + if(b == Blocks.stone && !ToolConfig.recursiveStone) { + return false; + } + + if(b == Blocks.netherrack && !ToolConfig.recursiveNetherrack) { + return false; + } + + pos.clear(); + + recurse(world, x, y, z, x, y, z, player, tool, 0, radiusAtLevel[level]); + + return false; + } + + private final List offsets = new ArrayList(3 * 3 * 3 - 1) { + { + for(int dx = -1; dx <= 1; dx++) { + for(int dy = -1; dy <= 1; dy++) { + for(int dz = -1; dz <= 1; dz++) { + if(dx != 0 || dy != 0 || dz != 0) { + add(new ThreeInts(dx, dy, dz)); + } + } + } + } + } + }; + + private void recurse(World world, int x, int y, int z, int refX, int refY, int refZ, EntityPlayer player, ItemToolAbility tool, int depth, int radius) { + List shuffledOffsets = new ArrayList<>(offsets); + Collections.shuffle(shuffledOffsets); + + for(ThreeInts offset : shuffledOffsets) { + breakExtra(world, x + offset.x, y + offset.y, z + offset.z, refX, refY, refZ, player, tool, depth, radius); + } + } + + private void breakExtra(World world, int x, int y, int z, int refX, int refY, int refZ, EntityPlayer player, ItemToolAbility tool, int depth, int radius) { + if(pos.contains(new ThreeInts(x, y, z))) + return; + + depth += 1; + + if(depth > ToolConfig.recursionDepth) + return; + + pos.add(new ThreeInts(x, y, z)); + + // don't lose the ref block just yet + if(x == refX && y == refY && z == refZ) + return; + + if(Vec3.createVectorHelper(x - refX, y - refY, z - refZ).lengthVector() > radius) + return; + + Block b = world.getBlock(x, y, z); + Block ref = world.getBlock(refX, refY, refZ); + int meta = world.getBlockMetadata(x, y, z); + int refMeta = world.getBlockMetadata(refX, refY, refZ); + + if(!isSameBlock(b, ref)) + return; + + if(meta != refMeta) + return; + + if(player.getHeldItem() == null) + return; + + tool.breakExtraBlock(world, x, y, z, player, refX, refY, refZ); + + recurse(world, x, y, z, refX, refY, refZ, player, tool, depth, radius); + } + + private boolean isSameBlock(Block b1, Block b2) { + if(b1 == b2) + return true; + if((b1 == Blocks.redstone_ore && b2 == Blocks.lit_redstone_ore) || (b1 == Blocks.lit_redstone_ore && b2 == Blocks.redstone_ore)) + return true; + + return false; + } + }; + + public static final IToolAreaAbility HAMMER = new IToolAreaAbility() { + @Override + public String getName() { + return "tool.ability.hammer"; + } + + @Override + public boolean isAllowed() { + return ToolConfig.abilityHammer; + } + + public final int[] rangeAtLevel = { 1, 2, 3, 4 }; + + @Override + public int levels() { + return rangeAtLevel.length; + } + + @Override + public String getExtension(int level) { + return " (" + rangeAtLevel[level] + ")"; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 2; + } + + @Override + public boolean onDig(int level, World world, int x, int y, int z, EntityPlayer player, ItemToolAbility tool) { + int range = rangeAtLevel[level]; + + for(int a = x - range; a <= x + range; a++) { + for(int b = y - range; b <= y + range; b++) { + for(int c = z - range; c <= z + range; c++) { + if(a == x && b == y && c == z) + continue; + + tool.breakExtraBlock(world, a, b, c, player, x, y, z); + } + } + } + + return false; + } + }; + + public static final IToolAreaAbility HAMMER_FLAT = new IToolAreaAbility() { + @Override + public String getName() { + return "tool.ability.hammer_flat"; + } + + @Override + public boolean isAllowed() { + return ToolConfig.abilityHammer; + } + + public final int[] rangeAtLevel = { 1, 2, 3, 4 }; + + @Override + public int levels() { + return rangeAtLevel.length; + } + + @Override + public String getExtension(int level) { + return " (" + rangeAtLevel[level] + ")"; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 3; + } + + @Override + public boolean onDig(int level, World world, int x, int y, int z, EntityPlayer player, ItemToolAbility tool) { + int range = rangeAtLevel[level]; + + MovingObjectPosition hit = raytraceFromEntity(world, player, false, 4.5d); + if(hit == null) return true; + int sideHit = hit.sideHit; + + // we successfully destroyed a block. time to do AOE! + int xRange = range; + int yRange = range; + int zRange = 0; + switch (sideHit) { + case 0: + case 1: + yRange = 0; + zRange = range; + break; + case 2: + case 3: + xRange = range; + zRange = 0; + break; + case 4: + case 5: + xRange = 0; + zRange = range; + break; + } + + for(int a = x - xRange; a <= x + xRange; a++) { + for(int b = y - yRange; b <= y + yRange; b++) { + for(int c = z - zRange; c <= z + zRange; c++) { + if(a == x && b == y && c == z) + continue; + + tool.breakExtraBlock(world, a, b, c, player, x, y, z); + } + } + } + + return false; + } + + // Taken from TConstruct, licensed under CC0 (public domain) + // https://github.com/SlimeKnights/TinkersConstruct/blob/9ea7a0e60fe180aff591701b12c89da21da99289/src/main/java/tconstruct/library/tools/AbilityHelper.java#L707-L731 + private MovingObjectPosition raytraceFromEntity(World world, EntityPlayer player, boolean par3, double range) { + float f = 1.0F; + float f1 = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * f; + float f2 = player.prevRotationYaw + (player.rotationYaw - player.prevRotationYaw) * f; + double d0 = player.prevPosX + (player.posX - player.prevPosX) * (double) f; + double d1 = player.prevPosY + (player.posY - player.prevPosY) * (double) f + 1.62D; + double d2 = player.prevPosZ + (player.posZ - player.prevPosZ) * (double) f; + Vec3 vec3 = Vec3.createVectorHelper(d0, d1, d2); + float f3 = MathHelper.cos(-f2 * 0.017453292F - (float) Math.PI); + float f4 = MathHelper.sin(-f2 * 0.017453292F - (float) Math.PI); + float f5 = -MathHelper.cos(-f1 * 0.017453292F); + float f6 = MathHelper.sin(-f1 * 0.017453292F); + float f7 = f4 * f5; + float f8 = f3 * f5; + double d3 = range; + if (player instanceof EntityPlayerMP) + { + d3 = ((EntityPlayerMP) player).theItemInWorldManager.getBlockReachDistance(); + } + Vec3 vec31 = vec3.addVector((double) f7 * d3, (double) f6 * d3, (double) f8 * d3); + return world.func_147447_a(vec3, vec31, par3, !par3, par3); + } + }; + + public static final IToolAreaAbility EXPLOSION = new IToolAreaAbility() { + @Override + public String getName() { + return "tool.ability.explosion"; + } + + @Override + public boolean isAllowed() { + return ToolConfig.abilityExplosion; + } + + public final float[] strengthAtLevel = { 2.5F, 5F, 10F, 15F }; + + @Override + public int levels() { + return strengthAtLevel.length; + } + + @Override + public String getExtension(int level) { + return " (" + strengthAtLevel[level] + ")"; + } + + @Override + public boolean allowsHarvest(int level) { + return false; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 4; + } + + @Override + public boolean onDig(int level, World world, int x, int y, int z, EntityPlayer player, ItemToolAbility tool) { + float strength = strengthAtLevel[level]; + + ExplosionNT ex = new ExplosionNT(player.worldObj, player, x + 0.5, y + 0.5, z + 0.5, strength); + ex.addAttrib(ExAttrib.ALLDROP); + ex.addAttrib(ExAttrib.NOHURT); + ex.addAttrib(ExAttrib.NOPARTICLE); + ex.doExplosionA(); + ex.doExplosionB(false); + + player.worldObj.createExplosion(player, x + 0.5, y + 0.5, z + 0.5, 0.1F, false); + + return true; + } + }; + // endregion handlers + + static final IToolAreaAbility[] abilities = { NONE, RECURSION, HAMMER, HAMMER_FLAT, EXPLOSION }; + + static IToolAreaAbility getByName(String name) { + for(IToolAreaAbility ability : abilities) { + if(ability.getName().equals(name)) + return ability; + } + + return NONE; + } +} diff --git a/src/main/java/com/hbm/handler/ability/IToolHarvestAbility.java b/src/main/java/com/hbm/handler/ability/IToolHarvestAbility.java new file mode 100644 index 000000000..7fe16423e --- /dev/null +++ b/src/main/java/com/hbm/handler/ability/IToolHarvestAbility.java @@ -0,0 +1,344 @@ +package com.hbm.handler.ability; + +import java.util.List; + +import com.hbm.config.ToolConfig; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.recipes.CentrifugeRecipes; +import com.hbm.inventory.recipes.CrystallizerRecipes; +import com.hbm.inventory.recipes.ShredderRecipes; +import com.hbm.inventory.recipes.CrystallizerRecipes.CrystallizerRecipe; +import com.hbm.items.ModItems; +import com.hbm.items.tool.ItemToolAbility; +import com.hbm.util.EnchantmentUtil; + +import net.minecraft.block.Block; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.world.World; + +public interface IToolHarvestAbility extends IBaseAbility { + + public default void preHarvestAll(int level, World world, EntityPlayer player) { } + public default void postHarvestAll(int level, World world, EntityPlayer player) { } + + // You must call harvestBlock to actually break the block. + // If you don't, visual glitches ensue + public default void onHarvestBlock(int level, World world, int x, int y, int z, EntityPlayer player, Block block, int meta) { + harvestBlock(false, world, x, y, z, player); + } + + public static void harvestBlock(boolean skipDefaultDrops, World world, int x, int y, int z, EntityPlayer player) { + if(skipDefaultDrops) { + // Emulate the block breaking without drops + world.setBlockToAir(x, y, z); + ItemStack stack = player.getHeldItem(); + if(stack != null) stack.damageItem(1, player); + } else if(player instanceof EntityPlayerMP) { + // Break the block conventionally + ItemToolAbility.standardDigPost(world, x, y, z, (EntityPlayerMP) player); + } + } + + public final static int SORT_ORDER_BASE = 100; + + // region handlers + public static final IToolHarvestAbility NONE = new IToolHarvestAbility() { + @Override + public String getName() { + return ""; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 0; + } + }; + + public static final IToolHarvestAbility SILK = new IToolHarvestAbility() { + @Override + public String getName() { + return "tool.ability.silktouch"; + } + + @Override + public boolean isAllowed() { + return ToolConfig.abilitySilk; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 1; + } + + @Override + public void preHarvestAll(int level, World world, EntityPlayer player) { + ItemStack stack = player.getHeldItem(); + if(stack != null) EnchantmentUtil.addEnchantment(stack, Enchantment.silkTouch, 1); + } + + @Override + public void postHarvestAll(int level, World world, EntityPlayer player) { + // ToC-ToU mismatch should be impossible + // because both calls happen on the same tick. + // Even if can be forced somehow, the player doesn't gain any + // benefit from it. + ItemStack stack = player.getHeldItem(); + if(stack != null) EnchantmentUtil.removeEnchantment(stack, Enchantment.silkTouch); + } + }; + + public static final IToolHarvestAbility LUCK = new IToolHarvestAbility() { + @Override + public String getName() { + return "tool.ability.luck"; + } + + @Override + public boolean isAllowed() { + return ToolConfig.abilityLuck; + } + + public final int[] powerAtLevel = { 1, 2, 3, 4, 5, 9 }; + + @Override + public int levels() { + return powerAtLevel.length; + } + + @Override + public String getExtension(int level) { + return " (" + powerAtLevel[level] + ")"; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 2; + } + + @Override + public void preHarvestAll(int level, World world, EntityPlayer player) { + ItemStack stack = player.getHeldItem(); + if(stack != null) EnchantmentUtil.addEnchantment(stack, Enchantment.fortune, powerAtLevel[level]); + } + + @Override + public void postHarvestAll(int level, World world, EntityPlayer player) { + // ToC-ToU mismatch should be impossible + // because both calls happen on the same tick. + // Even if can be forced somehow, the player doesn't gain any + // benefit from it. + ItemStack stack = player.getHeldItem(); + if(stack != null) EnchantmentUtil.removeEnchantment(stack, Enchantment.fortune); + } + }; + + public static final IToolHarvestAbility SMELTER = new IToolHarvestAbility() { + @Override + public String getName() { + return "tool.ability.smelter"; + } + + @Override + public boolean isAllowed() { + return ToolConfig.abilityFurnace; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 3; + } + + @Override + public void onHarvestBlock(int level, World world, int x, int y, int z, EntityPlayer player, Block block, int meta) { + List drops = block.getDrops(world, x, y, z, world.getBlockMetadata(x, y, z), 0); + + boolean doesSmelt = false; + + for(int i = 0; i < drops.size(); i++) { + ItemStack stack = drops.get(i).copy(); + ItemStack result = FurnaceRecipes.smelting().getSmeltingResult(stack); + + if(result != null) { + result = result.copy(); + result.stackSize *= stack.stackSize; + drops.set(i, result); + doesSmelt = true; + } + } + + harvestBlock(doesSmelt, world, x, y, z, player); + + if(doesSmelt) { + for(ItemStack stack : drops) { + world.spawnEntityInWorld(new EntityItem(world, ItemToolAbility.dropX + 0.5, ItemToolAbility.dropY + 0.5, ItemToolAbility.dropZ + 0.5, stack.copy())); + } + } + } + }; + + public static final IToolHarvestAbility SHREDDER = new IToolHarvestAbility() { + @Override + public String getName() { + return "tool.ability.shredder"; + } + + @Override + public boolean isAllowed() { + return ToolConfig.abilityShredder; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 4; + } + + @Override + public void onHarvestBlock(int level, World world, int x, int y, int z, EntityPlayer player, Block block, int meta) { + // a band-aid on a gaping wound + if(block == Blocks.lit_redstone_ore) + block = Blocks.redstone_ore; + + ItemStack stack = new ItemStack(block, 1, meta); + ItemStack result = ShredderRecipes.getShredderResult(stack); + + boolean doesShred = result != null && result.getItem() != ModItems.scrap; + + harvestBlock(doesShred, world, x, y, z, player); + + if(doesShred) { + world.spawnEntityInWorld(new EntityItem(world, ItemToolAbility.dropX + 0.5, ItemToolAbility.dropY + 0.5, ItemToolAbility.dropZ + 0.5, result.copy())); + } + } + }; + + public static final IToolHarvestAbility CENTRIFUGE = new IToolHarvestAbility() { + @Override + public String getName() { + return "tool.ability.centrifuge"; + } + + @Override + public boolean isAllowed() { + return ToolConfig.abilityCentrifuge; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 5; + } + + @Override + public void onHarvestBlock(int level, World world, int x, int y, int z, EntityPlayer player, Block block, int meta) { + // a band-aid on a gaping wound + if(block == Blocks.lit_redstone_ore) + block = Blocks.redstone_ore; + + ItemStack stack = new ItemStack(block, 1, meta); + ItemStack[] result = CentrifugeRecipes.getOutput(stack); + + boolean doesCentrifuge = result != null; + + harvestBlock(doesCentrifuge, world, x, y, z, player); + + if(doesCentrifuge) { + for(ItemStack st : result) { + if(st != null) { + world.spawnEntityInWorld(new EntityItem(world, ItemToolAbility.dropX + 0.5, ItemToolAbility.dropY + 0.5, ItemToolAbility.dropZ + 0.5, st.copy())); + } + } + } + } + }; + + public static final IToolHarvestAbility CRYSTALLIZER = new IToolHarvestAbility() { + @Override + public String getName() { + return "tool.ability.crystallizer"; + } + + @Override + public boolean isAllowed() { + return ToolConfig.abilityCrystallizer; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 6; + } + + @Override + public void onHarvestBlock(int level, World world, int x, int y, int z, EntityPlayer player, Block block, int meta) { + // a band-aid on a gaping wound + if(block == Blocks.lit_redstone_ore) + block = Blocks.redstone_ore; + + ItemStack stack = new ItemStack(block, 1, meta); + CrystallizerRecipe result = CrystallizerRecipes.getOutput(stack, Fluids.PEROXIDE); + + boolean doesCrystallize = result != null; + + harvestBlock(doesCrystallize, world, x, y, z, player); + + if(doesCrystallize) { + world.spawnEntityInWorld(new EntityItem(world, ItemToolAbility.dropX + 0.5, ItemToolAbility.dropY + 0.5, ItemToolAbility.dropZ + 0.5, result.output.copy())); + } + } + }; + + public static final IToolHarvestAbility MERCURY = new IToolHarvestAbility() { + @Override + public String getName() { + return "tool.ability.mercury"; + } + + @Override + public boolean isAllowed() { + return ToolConfig.abilityMercury; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 7; + } + + @Override + public void onHarvestBlock(int level, World world, int x, int y, int z, EntityPlayer player, Block block, int meta) { + // a band-aid on a gaping wound + if(block == Blocks.lit_redstone_ore) + block = Blocks.redstone_ore; + + int mercury = 0; + + if(block == Blocks.redstone_ore) + mercury = player.getRNG().nextInt(5) + 4; + if(block == Blocks.redstone_block) + mercury = player.getRNG().nextInt(7) + 8; + + boolean doesConvert = mercury > 0; + + harvestBlock(doesConvert, world, x, y, z, player); + + if(doesConvert) { + world.spawnEntityInWorld(new EntityItem(world, ItemToolAbility.dropX + 0.5, ItemToolAbility.dropY + 0.5, ItemToolAbility.dropZ + 0.5, new ItemStack(ModItems.ingot_mercury, mercury))); + } + } + }; + // endregion handlers + + static final IToolHarvestAbility[] abilities = { NONE, SILK, LUCK, SMELTER, SHREDDER, CENTRIFUGE, CRYSTALLIZER, MERCURY }; + + static IToolHarvestAbility getByName(String name) { + for(IToolHarvestAbility ability : abilities) { + if(ability.getName().equals(name)) + return ability; + } + + return NONE; + } +} diff --git a/src/main/java/com/hbm/handler/ability/IWeaponAbility.java b/src/main/java/com/hbm/handler/ability/IWeaponAbility.java new file mode 100644 index 000000000..f3571ab6a --- /dev/null +++ b/src/main/java/com/hbm/handler/ability/IWeaponAbility.java @@ -0,0 +1,370 @@ +package com.hbm.handler.ability; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockBobble.BobbleType; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.items.ModItems; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.potion.HbmPotion; +import com.hbm.util.ContaminationUtil; +import com.hbm.util.ContaminationUtil.ContaminationType; +import com.hbm.util.ContaminationUtil.HazardType; + +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.block.Block; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityXPOrb; +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.entity.monster.EntityMagmaCube; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.entity.monster.EntitySkeleton; +import net.minecraft.entity.monster.EntitySlime; +import net.minecraft.entity.monster.EntityZombie; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; + +public interface IWeaponAbility extends IBaseAbility { + // Note: tool is currently unused in weapon abilities + public void onHit(int level, World world, EntityPlayer player, Entity victim, Item tool); + + public final static int SORT_ORDER_BASE = 200; + + // region handlers + public static final IWeaponAbility NONE = new IWeaponAbility() { + @Override + public String getName() { + return ""; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 0; + } + + @Override + public void onHit(int level, World world, EntityPlayer player, Entity victim, Item tool) { + } + }; + + public static final IWeaponAbility RADIATION = new IWeaponAbility() { + @Override + public String getName() { + return "weapon.ability.radiation"; + } + + public final float[] radAtLevel = { 15F, 50F, 500F }; + + @Override + public int levels() { + return radAtLevel.length; + } + + @Override + public String getExtension(int level) { + return " (" + radAtLevel[level] + ")"; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 1; + } + + @Override + public void onHit(int level, World world, EntityPlayer player, Entity victim, Item tool) { + if(victim instanceof EntityLivingBase) + ContaminationUtil.contaminate((EntityLivingBase) victim, HazardType.RADIATION, ContaminationType.CREATIVE, radAtLevel[level]); + } + }; + + public static final IWeaponAbility VAMPIRE = new IWeaponAbility() { + @Override + public String getName() { + return "weapon.ability.vampire"; + } + + public final float[] amountAtLevel = { 2F, 3F, 5F, 10F, 50F }; + + @Override + public int levels() { + return amountAtLevel.length; + } + + @Override + public String getExtension(int level) { + return " (" + amountAtLevel[level] + ")"; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 2; + } + + @Override + public void onHit(int level, World world, EntityPlayer player, Entity victim, Item tool) { + float amount = amountAtLevel[level]; + + if(victim instanceof EntityLivingBase) { + EntityLivingBase living = (EntityLivingBase) victim; + if(living.getHealth() <= 0) + return; + living.setHealth(living.getHealth() - amount); + if(living.getHealth() <= 0) + living.onDeath(DamageSource.magic); + player.heal(amount); + } + } + }; + + public static final IWeaponAbility STUN = new IWeaponAbility() { + @Override + public String getName() { + return "weapon.ability.stun"; + } + + public final int[] durationAtLevel = { 2, 3, 5, 10, 15 }; + + @Override + public int levels() { + return durationAtLevel.length; + } + + @Override + public String getExtension(int level) { + return " (" + durationAtLevel[level] + ")"; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 3; + } + + @Override + public void onHit(int level, World world, EntityPlayer player, Entity victim, Item tool) { + int duration = durationAtLevel[level]; + + if(victim instanceof EntityLivingBase) { + EntityLivingBase living = (EntityLivingBase) victim; + + living.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, duration * 20, 4)); + living.addPotionEffect(new PotionEffect(Potion.weakness.id, duration * 20, 4)); + } + } + }; + + public static final IWeaponAbility PHOSPHORUS = new IWeaponAbility() { + @Override + public String getName() { + return "weapon.ability.phosphorus"; + } + + public final int[] durationAtLevel = { 60, 90 }; + + @Override + public int levels() { + return durationAtLevel.length; + } + + @Override + public String getExtension(int level) { + return " (" + durationAtLevel[level] + ")"; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 4; + } + + @Override + public void onHit(int level, World world, EntityPlayer player, Entity victim, Item tool) { + int duration = durationAtLevel[level]; + + if(victim instanceof EntityLivingBase) { + EntityLivingBase living = (EntityLivingBase) victim; + + living.addPotionEffect(new PotionEffect(HbmPotion.phosphorus.id, duration * 20, 4)); + } + } + }; + + public static final IWeaponAbility FIRE = new IWeaponAbility() { + @Override + public String getName() { + return "weapon.ability.fire"; + } + + public final int[] durationAtLevel = { 5, 10 }; + + @Override + public int levels() { + return durationAtLevel.length; + } + + @Override + public String getExtension(int level) { + return " (" + durationAtLevel[level] + ")"; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 6; + } + + @Override + public void onHit(int level, World world, EntityPlayer player, Entity victim, Item tool) { + if(victim instanceof EntityLivingBase) { + victim.setFire(durationAtLevel[level]); + } + } + }; + + public static final IWeaponAbility CHAINSAW = new IWeaponAbility() { + @Override + public String getName() { + return "weapon.ability.chainsaw"; + } + + public final int[] dividerAtLevel = { 15, 10 }; + + @Override + public int levels() { + return dividerAtLevel.length; + } + + @Override + public String getExtension(int level) { + return " (1:" + dividerAtLevel[level] + ")"; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 7; + } + + @Override + public void onHit(int level, World world, EntityPlayer player, Entity victim, Item tool) { + int divider = dividerAtLevel[level]; + + if(victim instanceof EntityLivingBase) { + EntityLivingBase living = (EntityLivingBase) victim; + + if(living.getHealth() <= 0.0F) { + int count = Math.min((int) Math.ceil(living.getMaxHealth() / divider), 250); // safeguard to prevent funnies from bosses with obscene health + + for(int i = 0; i < count; i++) { + living.entityDropItem(new ItemStack(ModItems.nitra_small), 1); + world.spawnEntityInWorld(new EntityXPOrb(world, living.posX, living.posY, living.posZ, 1)); + } + + if(player instanceof EntityPlayerMP) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "vanillaburst"); + data.setInteger("count", count * 4); + data.setDouble("motion", 0.1D); + data.setString("mode", "blockdust"); + data.setInteger("block", Block.getIdFromBlock(Blocks.redstone_block)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, living.posX, living.posY + living.height * 0.5, living.posZ), + new TargetPoint(living.dimension, living.posX, living.posY, living.posZ, 50)); + } + + world.playSoundEffect(living.posX, living.posY + living.height * 0.5, living.posZ, "hbm:weapon.chainsaw", 0.5F, 1.0F); + } + } + } + }; + + public static final IWeaponAbility BEHEADER = new IWeaponAbility() { + @Override + public String getName() { + return "weapon.ability.beheader"; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 8; + } + + @Override + public void onHit(int level, World world, EntityPlayer player, Entity victim, Item tool) { + if(victim instanceof EntityLivingBase && ((EntityLivingBase) victim).getHealth() <= 0.0F) { + EntityLivingBase living = (EntityLivingBase) victim; + + if(living instanceof EntitySkeleton) { + if(((EntitySkeleton) living).getSkeletonType() == 0) { + living.entityDropItem(new ItemStack(Items.skull, 1, 0), 0.0F); + } else { + if(world.rand.nextInt(20) == 0) + living.entityDropItem(new ItemStack(Items.skull, 1, 1), 0.0F); + else + living.entityDropItem(new ItemStack(Items.coal, 3), 0.0F); + } + } else if(living instanceof EntityZombie) { + living.entityDropItem(new ItemStack(Items.skull, 1, 2), 0.0F); + } else if(living instanceof EntityCreeper) { + living.entityDropItem(new ItemStack(Items.skull, 1, 4), 0.0F); + } else if(living instanceof EntityMagmaCube) { + living.entityDropItem(new ItemStack(Items.magma_cream, 3), 0.0F); + } else if(living instanceof EntitySlime) { + living.entityDropItem(new ItemStack(Items.slime_ball, 3), 0.0F); + } else if(living instanceof EntityPlayer) { + ItemStack head = new ItemStack(Items.skull, 1, 3); + head.stackTagCompound = new NBTTagCompound(); + head.stackTagCompound.setString("SkullOwner", ((EntityPlayer) living).getDisplayName()); + living.entityDropItem(head, 0.0F); + } else { + living.entityDropItem(new ItemStack(Items.rotten_flesh, 3, 0), 0.0F); + living.entityDropItem(new ItemStack(Items.bone, 2, 0), 0.0F); + } + } + } + }; + + public static final IWeaponAbility BOBBLE = new IWeaponAbility() { + @Override + public String getName() { + return "weapon.ability.bobble"; + } + + @Override + public int sortOrder() { + return SORT_ORDER_BASE + 9; + } + + @Override + public void onHit(int level, World world, EntityPlayer player, Entity victim, Item tool) { + if(victim instanceof EntityMob && ((EntityMob) victim).getHealth() <= 0.0F) { + EntityMob mob = (EntityMob) victim; + + int chance = 1000; + + if(mob.getMaxHealth() > 20) { + chance = 750; + } + + if(world.rand.nextInt(chance) == 0) + mob.entityDropItem(new ItemStack(ModBlocks.bobblehead, 1, world.rand.nextInt(BobbleType.values().length - 1) + 1), 0.0F); + } + } + }; + // endregion handlers + + static final IWeaponAbility[] abilities = { NONE, RADIATION, VAMPIRE, STUN, PHOSPHORUS, FIRE, CHAINSAW, BEHEADER, BOBBLE }; + + static IWeaponAbility getByName(String name) { + for(IWeaponAbility ability : abilities) { + if(ability.getName().equals(name)) + return ability; + } + + return NONE; + } +} diff --git a/src/main/java/com/hbm/handler/ability/ToolPreset.java b/src/main/java/com/hbm/handler/ability/ToolPreset.java new file mode 100644 index 000000000..1875f456c --- /dev/null +++ b/src/main/java/com/hbm/handler/ability/ToolPreset.java @@ -0,0 +1,106 @@ +package com.hbm.handler.ability; + +import com.hbm.util.ChatBuilder; + +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; + +public class ToolPreset { + public IToolAreaAbility areaAbility = IToolAreaAbility.NONE; + public int areaAbilityLevel = 0; + public IToolHarvestAbility harvestAbility = IToolHarvestAbility.NONE; + public int harvestAbilityLevel = 0; + + public ToolPreset() { + } + + public ToolPreset(IToolAreaAbility areaAbility, IToolHarvestAbility harvestAbility) { + this.areaAbility = areaAbility; + this.harvestAbility = harvestAbility; + } + + public ToolPreset(IToolAreaAbility areaAbility, int areaAbilityLevel, IToolHarvestAbility harvestAbility, int harvestAbilityLevel) { + this.areaAbility = areaAbility; + this.areaAbilityLevel = areaAbilityLevel; + this.harvestAbility = harvestAbility; + this.harvestAbilityLevel = harvestAbilityLevel; + } + + public ChatComponentText getMessage() { + if(isNone()) { + return ChatBuilder.start("[Tool ability deactivated]").color(EnumChatFormatting.GOLD).flush(); + } + + boolean hasArea = areaAbility != IToolAreaAbility.NONE; + boolean hasHarvest = harvestAbility != IToolHarvestAbility.NONE; + + ChatBuilder builder = ChatBuilder.start("[Enabled "); + + if(hasArea) { + builder.nextTranslation(areaAbility.getName()); + builder.next(areaAbility.getExtension(areaAbilityLevel)); + } + + if(hasArea && hasHarvest) { + builder.next(" + "); + } + + if(hasHarvest) { + builder.nextTranslation(harvestAbility.getName()); + builder.next(harvestAbility.getExtension(harvestAbilityLevel)); + } + + return builder.colorAll(EnumChatFormatting.YELLOW).flush(); + } + + public boolean isNone() { + return areaAbility == IToolAreaAbility.NONE && harvestAbility == IToolHarvestAbility.NONE; + } + + public void writeToNBT(NBTTagCompound nbt) { + nbt.setString("area", areaAbility.getName()); + nbt.setInteger("areaLevel", areaAbilityLevel); + nbt.setString("harvest", harvestAbility.getName()); + nbt.setInteger("harvestLevel", harvestAbilityLevel); + } + + public void readFromNBT(NBTTagCompound nbt) { + areaAbility = IToolAreaAbility.getByName(nbt.getString("area")); + areaAbilityLevel = nbt.getInteger("areaLevel"); + harvestAbility = IToolHarvestAbility.getByName(nbt.getString("harvest")); + harvestAbilityLevel = nbt.getInteger("harvestLevel"); + + areaAbilityLevel = Math.min(areaAbilityLevel, areaAbility.levels() - 1); + harvestAbilityLevel = Math.min(harvestAbilityLevel, harvestAbility.levels() - 1); + } + + public void restrictTo(AvailableAbilities availableAbilities) { + int maxAreaLevel = availableAbilities.maxLevel(areaAbility); + + if(maxAreaLevel == -1) { + areaAbility = IToolAreaAbility.NONE; + areaAbilityLevel = 0; + } else if(areaAbilityLevel > maxAreaLevel) { + areaAbilityLevel = maxAreaLevel; + } else if(areaAbilityLevel < 0) { + areaAbilityLevel = 0; + } + + if(!areaAbility.allowsHarvest(areaAbilityLevel)) { + harvestAbility = IToolHarvestAbility.NONE; + harvestAbilityLevel = 0; + } + + int maxHarvestLevel = availableAbilities.maxLevel(harvestAbility); + + if(maxHarvestLevel == -1) { + harvestAbility = IToolHarvestAbility.NONE; + harvestAbilityLevel = 0; + } else if(harvestAbilityLevel > maxHarvestLevel) { + harvestAbilityLevel = maxHarvestLevel; + } else if(harvestAbilityLevel < 0) { + harvestAbilityLevel = 0; + } + } +} diff --git a/src/main/java/com/hbm/handler/ae2/AE2CompatHandler.java b/src/main/java/com/hbm/handler/ae2/AE2CompatHandler.java new file mode 100644 index 000000000..b40571179 --- /dev/null +++ b/src/main/java/com/hbm/handler/ae2/AE2CompatHandler.java @@ -0,0 +1,18 @@ +package com.hbm.handler.ae2; + +import appeng.api.AEApi; +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.Optional; + +public class AE2CompatHandler { + public static void init() { + if (Loader.isModLoaded("appliedenergistics2")) { + registerHandler(); + } + } + + @Optional.Method(modid = "appliedenergistics2") + private static void registerHandler() { + AEApi.instance().registries().externalStorage().addExternalStorageInterface(new MSUExternalStorageHandler()); + } +} diff --git a/src/main/java/com/hbm/handler/ae2/MSUExternalStorageHandler.java b/src/main/java/com/hbm/handler/ae2/MSUExternalStorageHandler.java new file mode 100644 index 000000000..fe82feb00 --- /dev/null +++ b/src/main/java/com/hbm/handler/ae2/MSUExternalStorageHandler.java @@ -0,0 +1,46 @@ +package com.hbm.handler.ae2; + +import com.hbm.tileentity.machine.storage.TileEntityMassStorage; +import com.hbm.util.ItemStackUtil; +import cpw.mods.fml.common.Optional; + +import appeng.api.networking.security.BaseActionSource; +import appeng.api.storage.IExternalStorageHandler; +import appeng.api.storage.IMEInventory; +import appeng.api.storage.StorageChannel; +import appeng.api.storage.data.IAEItemStack; +import appeng.me.storage.MEMonitorIInventory; +import appeng.util.inv.IMEAdaptor; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; + +@Optional.InterfaceList({@Optional.Interface(iface = "appeng.api.storage.IExternalStorageHandler", modid = "appliedenergistics2")}) +public class MSUExternalStorageHandler implements IExternalStorageHandler { + + public MSUExternalStorageHandler() {} + + @Override + public boolean canHandle(TileEntity te, ForgeDirection d, StorageChannel channel, BaseActionSource mySrc) { + return channel == StorageChannel.ITEMS && te instanceof TileEntityMassStorage; + } + + @Override + public IMEInventory getInventory(TileEntity te, ForgeDirection d, StorageChannel channel, BaseActionSource src) { + if (!canHandle(te, d, channel, src)) + return null; + + // Note: apparently I need this, though I'm not sure why. Storage drawers does it. + // Here's a relevant discussion, if anyone wants to dive into that rabbit hole: + // https://github.com/AppliedEnergistics/Applied-Energistics-2/issues/418 + return new MEMonitorIInventory(new IMEAdaptor(new MassStorageMEInventory((TileEntityMassStorage)te), src)) { + @Override + public boolean isPrioritized(IAEItemStack stack) { + ItemStack type = ((TileEntityMassStorage)te).getType(); + + return type != null && ItemStackUtil.areStacksCompatible(stack.getItemStack(), type); + } + }; + } + +} diff --git a/src/main/java/com/hbm/handler/ae2/MassStorageMEInventory.java b/src/main/java/com/hbm/handler/ae2/MassStorageMEInventory.java new file mode 100644 index 000000000..848e2c053 --- /dev/null +++ b/src/main/java/com/hbm/handler/ae2/MassStorageMEInventory.java @@ -0,0 +1,85 @@ +package com.hbm.handler.ae2; + +import com.hbm.tileentity.machine.storage.TileEntityMassStorage; +import com.hbm.util.ItemStackUtil; + +import cpw.mods.fml.common.Optional; + +import appeng.api.AEApi; +import appeng.api.config.Actionable; +import appeng.api.networking.security.BaseActionSource; +import appeng.api.storage.IMEInventory; +import appeng.api.storage.StorageChannel; +import appeng.api.storage.data.IAEItemStack; +import appeng.api.storage.data.IItemList; +import net.minecraft.item.ItemStack; + +@Optional.InterfaceList({@Optional.Interface(iface = "appeng.api.storage.IMEInventory", modid = "appliedenergistics2")}) +public class MassStorageMEInventory implements IMEInventory { + + private TileEntityMassStorage tile; + + public MassStorageMEInventory(TileEntityMassStorage tile) { + this.tile = tile; + } + + @Override + public IAEItemStack injectItems(IAEItemStack input, Actionable type, BaseActionSource src) { + ItemStack typeStack = tile.getType(); + + if (typeStack == null || !ItemStackUtil.areStacksCompatible(input.getItemStack(), typeStack)) + return input; + + // If you're working with amounts greater than MAX_INT, you shouldn't use MSUs in the first place + int remaining = tile.increaseTotalStockpile((int)input.getStackSize(), type == Actionable.MODULATE); + + if (remaining == 0) { + return null; + } + + return AEApi.instance().storage() + .createItemStack(typeStack) + .setStackSize(remaining); + } + + @Override + public IAEItemStack extractItems(IAEItemStack request, Actionable mode, BaseActionSource src) { + ItemStack typeStack = tile.getType(); + + if (typeStack == null || !ItemStackUtil.areStacksCompatible(request.getItemStack(), typeStack)) + return null; + + // If you're working with amounts greater than MAX_INT, you shouldn't use MSUs in the first place + int missing = tile.decreaseTotalStockpile((int)request.getStackSize(), mode == Actionable.MODULATE); + long fulfilled = request.getStackSize() - missing; + + if (fulfilled == 0) { + return null; + } + + return AEApi.instance().storage() + .createItemStack(typeStack) + .setStackSize(fulfilled); + } + + @Override + public IItemList getAvailableItems(IItemList out) { + ItemStack typeStack = tile.getType(); + + if (typeStack != null) { + out.add( + AEApi.instance().storage() + .createItemStack(typeStack) + .setStackSize(tile.getTotalStockpile()) + ); + } + + return out; + } + + @Override + public StorageChannel getChannel() { + return StorageChannel.ITEMS; + } + +} diff --git a/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java b/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java index 5dac19082..83332e52a 100644 --- a/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java @@ -1,77 +1,26 @@ package com.hbm.handler.guncfg; import java.util.List; -import java.util.Random; -import com.hbm.entity.particle.EntityBSmokeFX; import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.entity.projectile.EntityBulletBaseNT.*; -import com.hbm.explosion.ExplosionNukeSmall; -import com.hbm.explosion.ExplosionNukeSmall.MukeParams; -import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ItemAmmoEnums.*; -import com.hbm.items.ModItems; -import com.hbm.lib.Library; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; -import com.hbm.potion.HbmPotion; -import com.hbm.util.ArmorRegistry; -import com.hbm.util.ArmorRegistry.HazardClass; import com.hbm.util.BobMathUtil; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; public class BulletConfigFactory { - - /// configs should never be loaded manually due to syncing issues: use the syncing util and pass the UID in the DW of the bullet to make the client load the config correctly //// - - public static BulletConfiguration getTestConfig() { - - BulletConfiguration bullet = new BulletConfiguration(); - bullet.ammo = new ComparableStack(ModItems.ammo_357.stackFromEnum(Ammo357Magnum.LEAD)); - bullet.velocity = 5.0F; - bullet.spread = 0.05F; - bullet.wear = 10; - bullet.dmgMin = 15; - bullet.dmgMax = 17; - bullet.bulletsMin = 1; - bullet.bulletsMax = 1; - bullet.gravity = 0D; - bullet.maxAge = 100; - bullet.doesRicochet = true; - bullet.ricochetAngle = 10; - bullet.HBRC = 2; - bullet.LBRC = 90; - bullet.bounceMod = 0.8; - bullet.doesPenetrate = true; - bullet.doesBreakGlass = true; - bullet.style = 0; - bullet.plink = 1; - - return bullet; - - } - public static final float defaultSpread = 0.005F; - + /// STANDARD CONFIGS /// //do not include damage or ammo public static BulletConfiguration standardBulletConfig() { - + BulletConfiguration bullet = new BulletConfiguration(); - + bullet.velocity = 5.0F; bullet.spread = defaultSpread; bullet.wear = 10; @@ -90,101 +39,14 @@ public class BulletConfigFactory { bullet.style = BulletConfiguration.STYLE_NORMAL; bullet.plink = BulletConfiguration.PLINK_BULLET; bullet.leadChance = 5; - - return bullet; - } - public static BulletConfiguration standardPistolConfig() { - BulletConfiguration bullet = standardBulletConfig(); - bullet.style = BulletConfiguration.STYLE_PISTOL; - bullet.plink = BulletConfiguration.PLINK_BULLET; - return bullet; - } - - public static BulletConfiguration standardBuckshotConfig() { - - BulletConfiguration bullet = new BulletConfiguration(); - - bullet.velocity = 5.0F; - bullet.spread = defaultSpread * 10F; - bullet.wear = 10; - bullet.bulletsMin = 6; - bullet.bulletsMax = 8; - bullet.gravity = 0D; - bullet.maxAge = 100; - bullet.doesRicochet = true; - bullet.ricochetAngle = 5; - bullet.HBRC = 10; - bullet.LBRC = 95; - bullet.bounceMod = 0.8; - bullet.doesPenetrate = false; - bullet.doesBreakGlass = true; - bullet.style = BulletConfiguration.STYLE_PELLET; - bullet.plink = BulletConfiguration.PLINK_BULLET; - bullet.leadChance = 10; - - return bullet; - } - - public static BulletConfiguration standardAirstrikeConfig() { - - BulletConfiguration bullet = new BulletConfiguration(); - - bullet.velocity = 5.0F; - bullet.spread = 0.0F; - bullet.wear = 50; - bullet.bulletsMin = 1; - bullet.bulletsMax = 1; - bullet.gravity = 0D; - bullet.maxAge = 100; - bullet.doesRicochet = false; - bullet.doesPenetrate = false; - bullet.doesBreakGlass = false; - bullet.style = BulletConfiguration.STYLE_BOLT; - bullet.leadChance = 0; - bullet.vPFX = "reddust"; - - bullet.bntImpact = new IBulletImpactBehaviorNT() { - @Override - public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z, int sideHit) { - - if(bullet.worldObj.isRemote) - return; - - Random rand = bullet.worldObj.rand; - int count = rand.nextInt(11) + 95; - - for(int i = 0; i < count; i++) { - - double dx = bullet.posX + rand.nextGaussian() * 4; - double dy = bullet.posY + 25 + rand.nextGaussian() * 5; - double dz = bullet.posZ + rand.nextGaussian() * 4; - - Vec3 motion = Vec3.createVectorHelper(bullet.posX - dx, bullet.posY - dy, bullet.posZ - dz); - motion = motion.normalize(); - - EntityBulletBaseNT bolt = new EntityBulletBaseNT(bullet.worldObj, BulletConfigSyncingUtil.R556_FLECHETTE_DU); - bolt.setPosition(dx, dy, dz); - bolt.setThrowableHeading(motion.xCoord, motion.yCoord, motion.zCoord, 0.5F, 0.1F); - bolt.setThrower(bullet.getThrower()); - bullet.worldObj.spawnEntityInWorld(bolt); - - if(i < 30) { - EntityBSmokeFX bsmoke = new EntityBSmokeFX(bullet.worldObj); - bsmoke.setPosition(dx, dy, dz); - bullet.worldObj.spawnEntityInWorld(bsmoke); - } - } - } - }; - return bullet; } - + public static BulletConfiguration standardRocketConfig() { - + BulletConfiguration bullet = new BulletConfiguration(); - + bullet.velocity = 2.0F; bullet.spread = defaultSpread; bullet.wear = 10; @@ -203,14 +65,14 @@ public class BulletConfigFactory { bullet.style = BulletConfiguration.STYLE_ROCKET; bullet.plink = BulletConfiguration.PLINK_GRENADE; bullet.vPFX = "smoke"; - + return bullet; } - + public static BulletConfiguration standardGrenadeConfig() { - + BulletConfiguration bullet = new BulletConfiguration(); - + bullet.velocity = 2.0F; bullet.spread = defaultSpread; bullet.wear = 10; @@ -229,240 +91,28 @@ public class BulletConfigFactory { bullet.style = BulletConfiguration.STYLE_GRENADE; bullet.plink = BulletConfiguration.PLINK_GRENADE; bullet.vPFX = "smoke"; - + return bullet; } - - public static BulletConfiguration standardShellConfig() { - - BulletConfiguration bullet = new BulletConfiguration(); - - bullet.velocity = 3.0F; - bullet.spread = defaultSpread; - bullet.wear = 10; - bullet.bulletsMin = 1; - bullet.bulletsMax = 1; - bullet.gravity = 0.005D; - bullet.maxAge = 300; - bullet.doesRicochet = true; - bullet.ricochetAngle = 10; - bullet.HBRC = 2; - bullet.LBRC = 100; - bullet.bounceMod = 0.8; - bullet.doesPenetrate = false; - bullet.doesBreakGlass = false; - bullet.style = BulletConfiguration.STYLE_GRENADE; - bullet.plink = BulletConfiguration.PLINK_GRENADE; - bullet.vPFX = "smoke"; - - return bullet; - } - - public static BulletConfiguration standardNukeConfig() { - - BulletConfiguration bullet = new BulletConfiguration(); - - bullet.velocity = 3.0F; - bullet.spread = defaultSpread; - bullet.wear = 10; - bullet.bulletsMin = 1; - bullet.bulletsMax = 1; - bullet.dmgMin = 1000; - bullet.dmgMax = 1000; - bullet.gravity = 0.025D; - bullet.maxAge = 300; - bullet.doesRicochet = false; - bullet.ricochetAngle = 0; - bullet.HBRC = 0; - bullet.LBRC = 0; - bullet.bounceMod = 1.0; - bullet.doesPenetrate = true; - bullet.doesBreakGlass = false; - bullet.style = BulletConfiguration.STYLE_NUKE; - bullet.plink = BulletConfiguration.PLINK_GRENADE; - - return bullet; - } - - /* - * Sizes: - * 0 - safe - * 1 - tot - * 2 - small - * 3 - medium - * 4 - big - */ - public static void nuclearExplosion(Entity entity, int x, int y, int z, MukeParams params) { - - if(!entity.worldObj.isRemote) { - double posX = entity.posX; - double posY = entity.posY + 0.5; - double posZ = entity.posZ; - - if(y >= 0) { - posX = x + 0.5; - posY = y + 1.5; - posZ = z + 0.5; - } - - ExplosionNukeSmall.explode(entity.worldObj, posX, posY, posZ, params); - } - } - - public static void makeFlechette(BulletConfiguration bullet) { - - bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { - bulletnt.getStuck(x, y, z, sideHit); - }; - } - - public static IBulletImpactBehaviorNT getPhosphorousEffect(final int radius, final int duration, final int count, final double motion, float hazeChance) { - - IBulletImpactBehaviorNT impact = new IBulletImpactBehaviorNT() { - - @Override - public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z, int sideHit) { - - List hit = bullet.worldObj.getEntitiesWithinAABBExcludingEntity(bullet, AxisAlignedBB.getBoundingBox(bullet.posX - radius, bullet.posY - radius, bullet.posZ - radius, bullet.posX + radius, bullet.posY + radius, bullet.posZ + radius)); - - for(Entity e : hit) { - - if(!Library.isObstructed(bullet.worldObj, bullet.posX, bullet.posY, bullet.posZ, e.posX, e.posY + e.getEyeHeight(), e.posZ)) { - e.setFire(5); - - if(e instanceof EntityLivingBase) { - - PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, duration, 0, true); - eff.getCurativeItems().clear(); - ((EntityLivingBase)e).addPotionEffect(eff); - } - } - } - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "vanillaburst"); - data.setString("mode", "flame"); - data.setInteger("count", count); - data.setDouble("motion", motion); - - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 50)); - - if(bullet.worldObj.rand.nextFloat() < hazeChance) { - NBTTagCompound haze = new NBTTagCompound(); - haze.setString("type", "haze"); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(haze, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 150)); - } - } - }; - - return impact; - } - - public static IBulletImpactBehaviorNT getGasEffect(final int radius, final int duration) { - - IBulletImpactBehaviorNT impact = new IBulletImpactBehaviorNT() { - - @Override - public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z, int sideHit) { - - List hit = bullet.worldObj.getEntitiesWithinAABBExcludingEntity(bullet, AxisAlignedBB.getBoundingBox(bullet.posX - radius, bullet.posY - radius, bullet.posZ - radius, bullet.posX + radius, bullet.posY + radius, bullet.posZ + radius)); - - for(Entity e : hit) { - - if(!Library.isObstructed(bullet.worldObj, bullet.posX, bullet.posY, bullet.posZ, e.posX, e.posY + e.getEyeHeight(), e.posZ)) { - - if(e instanceof EntityLivingBase) { - - EntityLivingBase entity = (EntityLivingBase) e; - - if(ArmorRegistry.hasAllProtection(entity, 3, HazardClass.GAS_LUNG)) - continue; - - PotionEffect eff0 = new PotionEffect(Potion.poison.id, duration, 2, true); - PotionEffect eff1 = new PotionEffect(Potion.digSlowdown.id, duration, 2, true); - PotionEffect eff2 = new PotionEffect(Potion.weakness.id, duration, 4, true); - PotionEffect eff3 = new PotionEffect(Potion.wither.id, (int)Math.ceil(duration * 0.1), 0, true); - eff0.getCurativeItems().clear(); - eff1.getCurativeItems().clear(); - eff2.getCurativeItems().clear(); - eff3.getCurativeItems().clear(); - entity.addPotionEffect(eff0); - entity.addPotionEffect(eff1); - entity.addPotionEffect(eff2); - entity.addPotionEffect(eff3); - } - } - } - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "vanillaburst"); - data.setString("mode", "cloud"); - data.setInteger("count", 15); - data.setDouble("motion", 0.1D); - - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 50)); - } - }; - - return impact; - } - - public static IBulletUpdateBehaviorNT getLaserSteering() { - - IBulletUpdateBehaviorNT onUpdate = new IBulletUpdateBehaviorNT() { - - @Override - public void behaveUpdate(EntityBulletBaseNT bullet) { - - if(bullet.getThrower() == null || !(bullet.getThrower() instanceof EntityPlayer)) - return; - - if(Vec3.createVectorHelper(bullet.posX - bullet.getThrower().posX, bullet.posY - bullet.getThrower().posY, bullet.posZ - bullet.getThrower().posZ).lengthVector() > 100) - return; - - MovingObjectPosition mop = Library.rayTrace((EntityPlayer)bullet.getThrower(), 200, 1); - - if(mop == null || mop.hitVec == null) - return; - - Vec3 vec = Vec3.createVectorHelper(mop.hitVec.xCoord - bullet.posX, mop.hitVec.yCoord - bullet.posY, mop.hitVec.zCoord - bullet.posZ); - - if(vec.lengthVector() < 3) - return; - - vec = vec.normalize(); - - double speed = Vec3.createVectorHelper(bullet.motionX, bullet.motionY, bullet.motionZ).lengthVector(); - - bullet.motionX = vec.xCoord * speed; - bullet.motionY = vec.yCoord * speed; - bullet.motionZ = vec.zCoord * speed; - } - - }; - - return onUpdate; - } - public static IBulletUpdateBehaviorNT getHomingBehavior(final double range, final double angle) { IBulletUpdateBehaviorNT onUpdate = new IBulletUpdateBehaviorNT() { @Override public void behaveUpdate(EntityBulletBaseNT bullet) { - + if(bullet.worldObj.isRemote) return; - + if(bullet.worldObj.getEntityByID(bullet.getEntityData().getInteger("homingTarget")) == null) { chooseTarget(bullet); } - + Entity target = bullet.worldObj.getEntityByID(bullet.getEntityData().getInteger("homingTarget")); - + if(target != null) { - + Vec3 delta = Vec3.createVectorHelper(target.posX - bullet.posX, target.posY + target.height / 2 - bullet.posY, target.posZ - bullet.posZ); delta = delta.normalize(); double vel = Vec3.createVectorHelper(bullet.motionX, bullet.motionY, bullet.motionZ).lengthVector(); @@ -472,32 +122,32 @@ public class BulletConfigFactory { bullet.motionZ = delta.zCoord * vel; } } - + private void chooseTarget(EntityBulletBaseNT bullet) { - + List entities = bullet.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, bullet.boundingBox.expand(range, range, range)); - + Vec3 mot = Vec3.createVectorHelper(bullet.motionX, bullet.motionY, bullet.motionZ); - + EntityLivingBase target = null; double targetAngle = angle; - + for(EntityLivingBase e : entities) { - + if(!e.isEntityAlive() || e == bullet.getThrower()) continue; - + Vec3 delta = Vec3.createVectorHelper(e.posX - bullet.posX, e.posY + e.height / 2 - bullet.posY, e.posZ - bullet.posZ); - + if(bullet.worldObj.func_147447_a(Vec3.createVectorHelper(bullet.posX, bullet.posY, bullet.posZ), Vec3.createVectorHelper(e.posX, e.posY + e.height / 2, e.posZ), false, true, false) != null) continue; - + double dist = e.getDistanceSqToEntity(bullet); - + if(dist < range * range) { - + double deltaAngle = BobMathUtil.getCrossAngle(mot, delta); - + if(deltaAngle < targetAngle) { //Checks if the bullet is not already inside the entity's bounding box, so it doesn't pick the same target if(bullet.getConfig().doesPenetrate && bullet.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, bullet.boundingBox.expand(2, 2, 2)) == null) { @@ -508,13 +158,13 @@ public class BulletConfigFactory { } } } - + if(target != null) { bullet.getEntityData().setInteger("homingTarget", target.getEntityId()); } } }; - + return onUpdate; } /** Resets the bullet's target **/ diff --git a/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java deleted file mode 100644 index 0bb1f6103..000000000 --- a/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java +++ /dev/null @@ -1,403 +0,0 @@ -package com.hbm.handler.guncfg; - -import java.util.List; - -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.CasingEjector; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ItemAmmoEnums.Ammo12Gauge; -import com.hbm.items.ModItems; -import com.hbm.lib.HbmCollection; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.main.ResourceManager; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; -import com.hbm.particle.SpentCasing; -import com.hbm.particle.SpentCasing.CasingType; -import com.hbm.potion.HbmPotion; -import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationSequence; -import com.hbm.render.anim.HbmAnimations.AnimType; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.Vec3; - -public class Gun12GaugeFactory { - - private static final CasingEjector EJECTOR_SPAS, EJECTOR_SPAS_ALT, EJECTOR_BENELLI, EJECTOR_UBOINIK, EJECTOR_SSG; - private static final SpentCasing CASING12GAUGE; - - static { - EJECTOR_SPAS = new CasingEjector().setMotion(-0.4, 0.1, 0).setOffset(-0.35, 0, 0.5).setAngleRange(0.01F, 0.03F).setDelay(12); - EJECTOR_SPAS_ALT = new CasingEjector().setMotion(-0.4, 0.1, 0).setOffset(-0.35, 0, 0.5).setAngleRange(0.01F, 0.03F).setDelay(12).setAmount(2); - EJECTOR_BENELLI = new CasingEjector().setMotion(-0.4, 0.3, 0).setOffset(-0.3, 0, 0.5).setAngleRange(0.01F, 0.03F); - EJECTOR_UBOINIK = new CasingEjector().setMotion(-0.4, 0.1, 0).setOffset(-0.35, -0.3, 0.5).setAngleRange(0.01F, 0.03F); - EJECTOR_SSG = new CasingEjector().setMotion(0.2, 0, -0.2).setOffset(0.8, 0, 0).setAngleRange(0.05F, 0.02F).setDelay(20).setAmount(2); - - CASING12GAUGE = new SpentCasing(CasingType.SHOTGUN).setScale(1.5F).setBounceMotion(0.05F, 0.02F).setupSmoke(0.5F, 0.5D, 60, 20); - } - - public static GunConfiguration getRemington870Config() { - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 25; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 10; - config.firingDuration = 5; - config.ammoCap = 5; - config.durability = 1000; - config.reloadType = GunConfiguration.RELOAD_SINGLE; - config.allowsInfinity = true; - config.crosshair = Crosshair.CIRCLE; - config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; - config.firingSound = "hbm:weapon.shotgunPump"; - - config.name = "remington870"; - config.manufacturer = EnumGunManufacturer.REMINGTON; - - config.config = HbmCollection.g12hs; - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("RECOIL_TRANSLATE", new BusAnimationSequence() - .addKeyframePosition(0, 0, -2, 100) - .addKeyframePosition(0, 0, 0, 200) - ) - .addBus("PUMP", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 450) - .addKeyframePosition(0, 0, -1.8, 200) - .addKeyframePosition(0, 0, 0, 200) - ) - ); - - config.ejector = EJECTOR_SPAS; - return config; - } - - public static GunConfiguration getSpas12Config() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 20; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 10; - config.emptyReloadAdditionalDuration = 5; - config.firingDuration = 5; - config.ammoCap = 8; - config.durability = 2500; - config.reloadType = GunConfiguration.RELOAD_SINGLE; - config.allowsInfinity = true; - config.crosshair = Crosshair.CIRCLE; - config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; - config.reloadSoundEnd = false; - config.firingSound = "hbm:weapon.shotgunPump"; - - config.name = "spas12"; - config.manufacturer = EnumGunManufacturer.BLACK_MESA; - config.comment.add("\"Here, I have a more suitable gun for you. You'll need it - Catch!\""); - config.comment.add("Alt-fire with Mouse 2 (Right-click) to fire 2 shells at once"); - - config.config = HbmCollection.g12hs; - - config.reloadAnimationsSequential = true; - - config.loadAnimations = i -> { - config.animations.put(AnimType.CYCLE, ResourceManager.spas_12_anim.get("Fire")); - config.animations.put(AnimType.ALT_CYCLE, ResourceManager.spas_12_anim.get("FireAlt")); - config.animations.put(AnimType.RELOAD, ResourceManager.spas_12_anim.get("ReloadStart")); - config.animations.put(AnimType.RELOAD_EMPTY, ResourceManager.spas_12_anim.get("ReloadEmptyStart")); - config.animations.put(AnimType.RELOAD_CYCLE, ResourceManager.spas_12_anim.get("Reload")); - config.animations.put(AnimType.RELOAD_END, ResourceManager.spas_12_anim.get("ReloadEnd")); - }; - - config.ejector = EJECTOR_SPAS; - - return config; - } - - public static GunConfiguration getSpas12AltConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 35; - config.roundsPerCycle = 2; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.firingDuration = 10; - config.ammoCap = 8; - config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; - config.firingSound = "hbm:weapon.shotgunPumpAlt"; - config.reloadType = GunConfiguration.RELOAD_SINGLE; - - config.config = HbmCollection.g12hs; - - config.ejector = EJECTOR_SPAS_ALT; - - return config; - } - - public static GunConfiguration getUboinikConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 8; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 10; - config.firingDuration = 0; - config.ammoCap = 6; - config.durability = 1500; - config.reloadType = GunConfiguration.RELOAD_SINGLE; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CIRCLE; - config.reloadSound = GunConfiguration.RSOUND_REVOLVER; - config.firingSound = "hbm:weapon.shotgunShoot"; - - config.name = "uboinik"; - config.manufacturer = EnumGunManufacturer.METRO; - - config.config = HbmCollection.g12hs; - - config.ejector = EJECTOR_UBOINIK; - - return config; - } - - public static GunConfiguration getShottyConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 30; - config.roundsPerCycle = 2; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 10; - config.firingDuration = 0; - config.ammoCap = 0; - config.durability = 3000; - config.reloadType = GunConfiguration.RELOAD_NONE; - config.allowsInfinity = true; - config.isCentered = true; - config.crosshair = Crosshair.L_CIRCLE; - config.reloadSound = GunConfiguration.RSOUND_REVOLVER; - config.firingSound = "hbm:weapon.shottyShoot"; - - config.loadAnimations = i -> { - config.animations.put(AnimType.CYCLE, ResourceManager.supershotty_anim.get("Fire")); - }; - - config.name = "supershotty"; - config.manufacturer = EnumGunManufacturer.UAC; - config.comment.add("God-damned ARCH-VILES!"); - - config.config = HbmCollection.g12hs; - - config.ejector = EJECTOR_SSG; - - return config; - } - - public static GunConfiguration getBenelliConfig() { - - GunConfiguration config = getUboinikConfig(); - - config.gunMode = 0; - config.firingMode = 1; - config.rateOfFire = 5; - config.ammoCap = 8; - config.reloadDuration = 8; - config.crosshair = Crosshair.CIRCLE; - config.hasSights = true; - config.durability = 250000; - config.allowsInfinity = true; - config.firingSound = "hbm:weapon.deagleShoot"; - config.firingPitch = 0.75F; - config.reloadType = 2; - - config.name = "benelli"; - config.manufacturer = EnumGunManufacturer.BENELLI; - config.comment.add("Eat your heart out SPAS-12"); - config.config = HbmCollection.g12; - - config.ejector = EJECTOR_BENELLI; - - return config; - } - - public static GunConfiguration getBenelliModConfig() { - - GunConfiguration config = getBenelliConfig(); - - config.reloadType = 1; - config.ammoCap = 24; - config.reloadDuration = 21; - config.emptyReloadAdditionalDuration = 15; - config.reloadSound = GunConfiguration.RSOUND_MAG; - config.reloadSoundEmpty = GunConfiguration.RSOUND_MAG_BOLT; - config.reloadSoundEnd = false; - config.name += "Drum"; - - config.loadAnimations = i -> { - config.animations.put(AnimType.CYCLE, ResourceManager.benelli_anim.get("Fire")); - config.animations.put(AnimType.RELOAD, ResourceManager.benelli_anim.get("Reload")); - config.animations.put(AnimType.RELOAD_EMPTY, ResourceManager.benelli_anim.get("ReloadEmpty")); - }; - - return config; - } - - public static BulletConfiguration get12GaugeConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_12gauge.stackFromEnum(Ammo12Gauge.STOCK)); - bullet.dmgMin = 5; - bullet.dmgMax = 7; - - bullet.spentCasing = CASING12GAUGE.clone().register("12GaStock").setColor(0x2847FF, SpentCasing.COLOR_CASE_12GA); - - return bullet; - } - - public static BulletConfiguration get12GaugeFireConfig() { - - BulletConfiguration bullet = get12GaugeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_12gauge.stackFromEnum(Ammo12Gauge.INCENDIARY)); - bullet.wear = 15; - bullet.dmgMin = 5; - bullet.dmgMax = 7; - bullet.incendiary = 5; - - bullet.spentCasing = CASING12GAUGE.clone().register("12GaInc").setColor(0xFF6329, SpentCasing.COLOR_CASE_12GA).setupSmoke(1F, 0.5D, 60, 40); - - return bullet; - } - - public static BulletConfiguration get12GaugeShrapnelConfig() { - - BulletConfiguration bullet = get12GaugeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_12gauge.stackFromEnum(Ammo12Gauge.SHRAPNEL)); - bullet.wear = 15; - bullet.dmgMin = 10; - bullet.dmgMax = 17; - bullet.ricochetAngle = 15; - bullet.HBRC = 80; - bullet.LBRC = 95; - - bullet.spentCasing = CASING12GAUGE.clone().register("12GaShrap").setColor(0xF0E800, SpentCasing.COLOR_CASE_12GA); - - return bullet; - } - - public static BulletConfiguration get12GaugeDUConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_12gauge.stackFromEnum(Ammo12Gauge.DU)); - bullet.wear = 20; - bullet.dmgMin = 18; - bullet.dmgMax = 22; - bullet.doesPenetrate = true; - bullet.leadChance = 50; - - bullet.spentCasing = CASING12GAUGE.clone().register("12GaDU").setColor(0x62A362, SpentCasing.COLOR_CASE_12GA); - - return bullet; - } - - public static BulletConfiguration get12GaugeAMConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_12gauge.stackFromEnum(Ammo12Gauge.MARAUDER)); - bullet.wear = 20; - bullet.dmgMin = 100; - bullet.dmgMax = 500; - bullet.leadChance = 50; - - bullet.bntHurt = (bulletnt, hit) -> { - - if(hit instanceof EntityLivingBase) - ((EntityLivingBase)hit).addPotionEffect(new PotionEffect(HbmPotion.bang.id, 20, 0)); - - }; - - bullet.spentCasing = CASING12GAUGE.clone().register("12GaAM").setColor(0x416645, SpentCasing.COLOR_CASE_12GA); - - return bullet; - } - - public static BulletConfiguration get12GaugeSleekConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardAirstrikeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_12gauge.stackFromEnum(Ammo12Gauge.SLEEK)); - - bullet.spentCasing = CASING12GAUGE.clone().register("12GaIF").setColor(0x2A2A2A, SpentCasing.COLOR_CASE_12GA); - - return bullet; - } - - public static BulletConfiguration get12GaugePercussionConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_12gauge.stackFromEnum(Ammo12Gauge.PERCUSSION)); - bullet.velocity = 2F; - bullet.spread = 0F; - bullet.wear = 10; - bullet.dmgMin = 30F; - bullet.dmgMax = 30F; - bullet.maxAge = 0; - - bullet.spentCasing = CASING12GAUGE.clone().register("12GaPerc").setColor(0x9E1616, SpentCasing.COLOR_CASE_12GA).setupSmoke(1F, 0.5D, 60, 40); - - bullet.bntUpdate = (bulletnt) -> { - - if(!bulletnt.worldObj.isRemote) { - - Vec3 vec = Vec3.createVectorHelper(bulletnt.motionX, bulletnt.motionY, bulletnt.motionZ); - double radius = 4; - double x = bulletnt.posX + vec.xCoord; - double y = bulletnt.posY + vec.yCoord; - double z = bulletnt.posZ + vec.zCoord; - AxisAlignedBB aabb = AxisAlignedBB.getBoundingBox(x, y, z, x, y, z).expand(radius, radius, radius); - List list = bulletnt.worldObj.getEntitiesWithinAABBExcludingEntity(bulletnt.getThrower(), aabb); - - for(Entity e : list) { - DamageSource source = bulletnt.getThrower() instanceof EntityPlayer ? DamageSource.causePlayerDamage((EntityPlayer) bulletnt.getThrower()) : DamageSource.magic; - e.attackEntityFrom(source, 30F); - } - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "plasmablast"); - data.setFloat("r", 0.75F); - data.setFloat("g", 0.75F); - data.setFloat("b", 0.75F); - data.setFloat("pitch", (float) -bulletnt.rotationPitch + 90); - data.setFloat("yaw", (float) bulletnt.rotationYaw); - data.setFloat("scale", 2F); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(bulletnt.dimension, x, y, z, 100)); - - bulletnt.setDead(); - } - }; - - return bullet; - } -} diff --git a/src/main/java/com/hbm/handler/guncfg/Gun20GaugeFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun20GaugeFactory.java deleted file mode 100644 index 2bf40a528..000000000 --- a/src/main/java/com/hbm/handler/guncfg/Gun20GaugeFactory.java +++ /dev/null @@ -1,273 +0,0 @@ -package com.hbm.handler.guncfg; - -import java.util.ArrayList; - -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.CasingEjector; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ModItems; -import com.hbm.items.ItemAmmoEnums.Ammo20Gauge; -import com.hbm.lib.HbmCollection; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.particle.SpentCasing; -import com.hbm.particle.SpentCasing.CasingType; -import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationSequence; -import com.hbm.render.anim.HbmAnimations.AnimType; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.Vec3; - -public class Gun20GaugeFactory { - - private static final CasingEjector EJECTOR_SHOTGUN; - private static final SpentCasing CASING20GAUGE; - - static { - EJECTOR_SHOTGUN = new CasingEjector().setMotion(Vec3.createVectorHelper(-0.4, 0.95, 0)).setOffset(Vec3.createVectorHelper(-0.55, 0, 0.5)).setAngleRange(0.01F, 0.05F); - CASING20GAUGE = new SpentCasing(CasingType.SHOTGUN).setScale(1.25F).setBounceMotion(0.01F, 0.05F).setupSmoke(0.25F, 0.5D, 60, 20); - } - - public static GunConfiguration getShotgunConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 25; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 10; - config.firingDuration = 0; - config.ammoCap = 6; - config.reloadType = GunConfiguration.RELOAD_SINGLE; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CIRCLE; - config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("LEVER_ROTATE", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 250) - .addKeyframePosition(0, 0, 45, 500) - .addKeyframePosition(0, 0, 0, 500) - ) - .addBus("LEVER_RECOIL", new BusAnimationSequence() - .addKeyframePosition(0.5, 0, 0, 50) - .addKeyframePosition(0, 0, 0, 50) - .addKeyframePosition(0, 0, 0, 150) - .addKeyframePosition(0, -0.5, 0, 500) - .addKeyframePosition(0, 0, 0, 500) - ) - ); - - config.config = HbmCollection.g20; - - config.ejector = EJECTOR_SHOTGUN; - - return config; - } - - public static GunConfiguration getMareConfig() { - - GunConfiguration config = getShotgunConfig(); - - config.durability = 2000; - config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; - config.firingSound = "hbm:weapon.revolverShootAlt"; - config.firingPitch = 0.75F; - config.hasSights = true; - config.zoomFOV = 0.75F; - - config.name = "win1887"; - config.manufacturer = EnumGunManufacturer.WINCHESTER; - - config.config = HbmCollection.g20; - - return config; - } - - public static GunConfiguration getMareDarkConfig() { - - GunConfiguration config = getShotgunConfig(); - - config.durability = 2500; - config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; - config.firingSound = "hbm:weapon.revolverShootAlt"; - config.firingPitch = 0.75F; - config.hasSights = true; - config.zoomFOV = 0.75F; - - config.name = "win1887Inox"; - config.manufacturer = EnumGunManufacturer.WINCHESTER; - - config.config = HbmCollection.g20; - - return config; - } - - public static BulletConfiguration get20GaugeConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_20gauge.stackFromEnum(Ammo20Gauge.STOCK)); - bullet.dmgMin = 3; - bullet.dmgMax = 5; - - bullet.spentCasing = CASING20GAUGE.clone().register("20GaStock").setColor(0xB52B2B, SpentCasing.COLOR_CASE_BRASS); - - return bullet; - } - - public static BulletConfiguration get20GaugeSlugConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_20gauge.stackFromEnum(Ammo20Gauge.SLUG)); - bullet.dmgMin = 18; - bullet.dmgMax = 22; - bullet.wear = 7; - bullet.style = BulletConfiguration.STYLE_NORMAL; - - bullet.spentCasing = CASING20GAUGE.clone().register("20GaSlug").setColor(0x2A2A2A, SpentCasing.COLOR_CASE_BRASS); - - return bullet; - } - - public static BulletConfiguration get20GaugeFlechetteConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_20gauge.stackFromEnum(Ammo20Gauge.FLECHETTE)); - bullet.dmgMin = 8; - bullet.dmgMax = 15; - bullet.wear = 15; - bullet.style = BulletConfiguration.STYLE_FLECHETTE; - bullet.HBRC = 2; - bullet.LBRC = 95; - BulletConfigFactory.makeFlechette(bullet); - - bullet.spentCasing = CASING20GAUGE.clone().register("20GaFlech").setColor(0x2847FF, SpentCasing.COLOR_CASE_BRASS); - - return bullet; - } - - public static BulletConfiguration get20GaugeFireConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_20gauge.stackFromEnum(Ammo20Gauge.INCENDIARY)); - bullet.dmgMin = 3; - bullet.dmgMax = 6; - bullet.wear = 15; - bullet.incendiary = 5; - - bullet.spentCasing = CASING20GAUGE.clone().register("20GaInc").setColor(0xFF6329, SpentCasing.COLOR_CASE_BRASS).setupSmoke(1F, 0.5D, 60, 40); - - return bullet; - } - - public static BulletConfiguration get20GaugeShrapnelConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_20gauge.stackFromEnum(Ammo20Gauge.SHRAPNEL)); - bullet.wear = 15; - bullet.dmgMin = 7; - bullet.dmgMax = 12; - bullet.ricochetAngle = 15; - bullet.HBRC = 80; - bullet.LBRC = 95; - - bullet.spentCasing = CASING20GAUGE.clone().register("20GaShrap").setColor(0xF0E800, SpentCasing.COLOR_CASE_BRASS); - - return bullet; - } - - public static BulletConfiguration get20GaugeExplosiveConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_20gauge.stackFromEnum(Ammo20Gauge.EXPLOSIVE)); - bullet.dmgMin = 7; - bullet.dmgMax = 12; - bullet.wear = 25; - bullet.explosive = 0.5F; - - bullet.spentCasing = CASING20GAUGE.clone().register("20GaExp").setColor(0xF0E800, SpentCasing.COLOR_CASE_BRASS); - - return bullet; - } - - public static BulletConfiguration get20GaugeCausticConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_20gauge.stackFromEnum(Ammo20Gauge.CAUSTIC)); - bullet.dmgMin = 3; - bullet.dmgMax = 7; - bullet.wear = 25; - bullet.caustic = 5; - bullet.doesRicochet = false; - bullet.HBRC = 0; - bullet.LBRC = 0; - - bullet.effects = new ArrayList(); - bullet.effects.add(new PotionEffect(Potion.poison.id, 10 * 20, 1)); - - bullet.spentCasing = CASING20GAUGE.clone().register("20GaCaus").setColor(0x64E800, SpentCasing.COLOR_CASE_BRASS); - - return bullet; - } - - public static BulletConfiguration get20GaugeShockConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_20gauge.stackFromEnum(Ammo20Gauge.SHOCK)); - bullet.dmgMin = 4; - bullet.dmgMax = 8; - bullet.wear = 25; - bullet.emp = 2; - bullet.doesRicochet = false; - bullet.HBRC = 0; - bullet.LBRC = 0; - - bullet.effects = new ArrayList(); - bullet.effects.add(new PotionEffect(Potion.moveSlowdown.id, 10 * 20, 1)); - bullet.effects.add(new PotionEffect(Potion.weakness.id, 10 * 20, 4)); - - bullet.spentCasing = CASING20GAUGE.clone().register("20GaShock").setColor(0x00EFEF, SpentCasing.COLOR_CASE_BRASS); - - return bullet; - } - - public static BulletConfiguration get20GaugeWitherConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_20gauge.stackFromEnum(Ammo20Gauge.WITHER)); - bullet.dmgMin = 4; - bullet.dmgMax = 8; - - bullet.effects = new ArrayList(); - bullet.effects.add(new PotionEffect(Potion.wither.id, 10 * 20, 2)); - - bullet.spentCasing = CASING20GAUGE.clone().register("20GaWith").setColor(0x391717, SpentCasing.COLOR_CASE_BRASS); - - return bullet; - } - - public static BulletConfiguration get20GaugeSleekConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardAirstrikeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_20gauge.stackFromEnum(Ammo20Gauge.SLEEK)); - - bullet.spentCasing = CASING20GAUGE.clone().register("20GaIF").setColor(0x2A2A2A, SpentCasing.COLOR_CASE_BRASS); - - return bullet; - } - -} diff --git a/src/main/java/com/hbm/handler/guncfg/Gun22LRFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun22LRFactory.java deleted file mode 100644 index aa9070ed8..000000000 --- a/src/main/java/com/hbm/handler/guncfg/Gun22LRFactory.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.hbm.handler.guncfg; - -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.CasingEjector; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ModItems; -import com.hbm.items.ItemAmmoEnums.Ammo22LR; -import com.hbm.lib.HbmCollection; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.particle.SpentCasing; -import com.hbm.particle.SpentCasing.CasingType; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -public class Gun22LRFactory { - - private static final CasingEjector EJECTOR_22LR; - private static final SpentCasing CASING22LR; - - static { - EJECTOR_22LR = new CasingEjector().setMotion(-0.4, 0.1, 0).setOffset(-0.35, -0.2, 0.35).setAngleRange(0.01F, 0.03F); - CASING22LR = new SpentCasing(CasingType.STRAIGHT).setScale(0.8F).setBounceMotion(0.05F, 0.02F).setColor(SpentCasing.COLOR_CASE_BRASS); - } - - public static GunConfiguration getUziConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 1; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.reloadDuration = 20; - config.firingDuration = 0; - config.ammoCap = 32; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CROSS; - config.durability = 3000; - config.reloadSound = GunConfiguration.RSOUND_MAG; - config.firingSound = "hbm:weapon.uziShoot"; - config.reloadSoundEnd = false; - - config.name = "uzi"; - config.manufacturer = EnumGunManufacturer.IMI; - config.comment.add("Mom, where are my mittens?"); - - config.config = HbmCollection.lr22; - - config.ejector = EJECTOR_22LR; - - return config; - } - - public static GunConfiguration getSaturniteConfig() { - - GunConfiguration config = getUziConfig(); - - config.durability = 4500; - - config.name = "uziSatur"; - config.manufacturer = EnumGunManufacturer.IMI_BIGMT; - - config.config = HbmCollection.lr22Inc; - - return config; - } - - static float inaccuracy = 5; - public static BulletConfiguration get22LRConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_22lr.stackFromEnum(Ammo22LR.STOCK)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 6; - bullet.dmgMax = 8; - - bullet.spentCasing = CASING22LR.clone().register("22LRStock"); - - return bullet; - } - - public static BulletConfiguration get22LRAPConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_22lr.stackFromEnum(Ammo22LR.AP)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 12; - bullet.dmgMax = 16; - bullet.leadChance = 10; - bullet.wear = 15; - - bullet.spentCasing = CASING22LR.clone().register("22LRAP"); - - return bullet; - } - -} diff --git a/src/main/java/com/hbm/handler/guncfg/Gun357MagnumFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun357MagnumFactory.java deleted file mode 100644 index 29340e37e..000000000 --- a/src/main/java/com/hbm/handler/guncfg/Gun357MagnumFactory.java +++ /dev/null @@ -1,353 +0,0 @@ -package com.hbm.handler.guncfg; - -import java.util.ArrayList; - -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.CasingEjector; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ModItems; -import com.hbm.items.ItemAmmoEnums.Ammo357Magnum; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.main.ResourceManager; -import com.hbm.particle.SpentCasing; -import com.hbm.particle.SpentCasing.CasingType; -import com.hbm.lib.ModDamageSource; -import com.hbm.potion.HbmPotion; -import com.hbm.render.anim.HbmAnimations.AnimType; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.Vec3; - -public class Gun357MagnumFactory { - - private static final CasingEjector EJECTOR_REVOLVER; - private static final SpentCasing CASING357; - private static final SpentCasing CASINGNM; - - static { - EJECTOR_REVOLVER = new CasingEjector().setMotion(Vec3.createVectorHelper(0, 0, -0.03)).setOffset(Vec3.createVectorHelper(0, -0.15, 0)).setAngleRange(0.01F, 0.05F).setAfterReload().setAmount(6); - CASING357 = new SpentCasing(CasingType.STRAIGHT).setBounceMotion(0.01F, 0.05F); - CASINGNM = new SpentCasing(CasingType.SHOTGUN).setScale(1.25F).setBounceMotion(0.01F, 0.05F).setColor(0xC7AB1C, 0x6D63A6).register("357N2"); - } - - public static GunConfiguration getBaseConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 10; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 30; - config.firingDuration = 0; - config.ammoCap = 6; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CLASSIC; - config.reloadSound = GunConfiguration.RSOUND_REVOLVER; - config.firingSound = "hbm:weapon.revolverShoot"; - config.reloadSoundEnd = false; - - config.ejector = EJECTOR_REVOLVER; - - config.loadAnimations = i -> { - config.animations.put(AnimType.CYCLE, ResourceManager.python_anim.get("Fire")); - config.animations.put(AnimType.RELOAD, ResourceManager.python_anim.get("Reload")); - }; - - return config; - } - - public static GunConfiguration getRevolverConfig() { - - GunConfiguration config = getBaseConfig(); - - config.durability = 3500; - - config.name = "ffiVInox"; - config.manufacturer = EnumGunManufacturer.FLIMFLAM; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.STEEL_REVOLVER); - config.config.add(BulletConfigSyncingUtil.IRON_REVOLVER); - config.config.add(BulletConfigSyncingUtil.LEAD_REVOLVER); - config.config.add(BulletConfigSyncingUtil.DESH_REVOLVER); - - return config; - } - - public static GunConfiguration getRevolverSaturniteConfig() { - - GunConfiguration config = getBaseConfig(); - - config.durability = 3500; - - config.name = "ffivSatur"; - config.manufacturer = EnumGunManufacturer.FLIMFLAM; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.SATURNITE_REVOLVER); - config.config.add(BulletConfigSyncingUtil.DESH_REVOLVER); - - return config; - } - - public static GunConfiguration getRevolverGoldConfig() { - - GunConfiguration config = getBaseConfig(); - - config.durability = 2500; - - config.name = "ffivBling"; - config.manufacturer = EnumGunManufacturer.FLIMFLAM; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.GOLD_REVOLVER); - config.config.add(BulletConfigSyncingUtil.STEEL_REVOLVER); - config.config.add(BulletConfigSyncingUtil.IRON_REVOLVER); - config.config.add(BulletConfigSyncingUtil.LEAD_REVOLVER); - config.config.add(BulletConfigSyncingUtil.DESH_REVOLVER); - - return config; - } - - public static GunConfiguration getRevolverCursedConfig() { - - GunConfiguration config = getBaseConfig(); - - config.rateOfFire = 7; - config.ammoCap = 17; - config.durability = 5000; - config.firingSound = "hbm:weapon.heavyShoot"; - - config.name = "revolverCursed"; - config.manufacturer = EnumGunManufacturer.BAE; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.CURSED_REVOLVER); - config.config.add(BulletConfigSyncingUtil.DESH_REVOLVER); - - config.loadAnimations = i -> { - config.animations.put(AnimType.CYCLE, ResourceManager.cursed_anim.get("Fire")); - config.animations.put(AnimType.RELOAD, ResourceManager.cursed_anim.get("Reload")); - }; - - return config; - } - - public static GunConfiguration getRevolverSchrabidiumConfig() { - - GunConfiguration config = getBaseConfig(); - - config.durability = 7500; - config.firingSound = "hbm:weapon.schrabidiumShoot"; - - config.name = "ffiVUltra"; - config.manufacturer = EnumGunManufacturer.FLIMFLAM; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.SCHRABIDIUM_REVOLVER); - config.config.add(BulletConfigSyncingUtil.GOLD_REVOLVER); - config.config.add(BulletConfigSyncingUtil.STEEL_REVOLVER); - config.config.add(BulletConfigSyncingUtil.IRON_REVOLVER); - config.config.add(BulletConfigSyncingUtil.LEAD_REVOLVER); - config.config.add(BulletConfigSyncingUtil.DESH_REVOLVER); - - return config; - } - - public static GunConfiguration getRevolverNightmareConfig() { - - GunConfiguration config = getBaseConfig(); - - config.durability = 4000; - config.firingSound = "hbm:weapon.schrabidiumShoot"; - - config.name = "ffiVN1"; - config.manufacturer = EnumGunManufacturer.FLIMFLAM; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.NIGHT_REVOLVER); - config.config.add(BulletConfigSyncingUtil.DESH_REVOLVER); - - return config; - } - - public static GunConfiguration getRevolverNightmare2Config() { - - GunConfiguration config = getBaseConfig(); - - config.durability = 4000; - config.firingSound = "hbm:weapon.schrabidiumShoot"; - config.crosshair = Crosshair.NONE; - - config.name = "ffiVN2"; - config.manufacturer = EnumGunManufacturer.FLIMFLAM; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.NIGHT2_REVOLVER); - - return config; - } - - public static GunConfiguration getRevolverBioConfig() { - - GunConfiguration config = getBaseConfig(); - - config.durability = 100000; - config.firingSound = "hbm:weapon.deagleShoot"; - config.reloadDuration = 53; - config.crosshair = Crosshair.CIRCLE; - - config.name = "bio"; - config.manufacturer = EnumGunManufacturer.RYAN; - - config.config.add(BulletConfigSyncingUtil.STEEL_HS); - config.config.add(BulletConfigSyncingUtil.GOLD_HS); - config.config.add(BulletConfigSyncingUtil.IRON_HS); - config.config.add(BulletConfigSyncingUtil.LEAD_HS); - config.config.add(BulletConfigSyncingUtil.DESH_HS); - - return config; - } - - //// // // // // ////// ////// ////// - // // // // // // // // // - //// // // // // //// // ////// - // // // // // // // // // - //// ////// ////// ////// ////// // ////// - - public static BulletConfiguration getRevIronConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_357.stackFromEnum(Ammo357Magnum.IRON)); - bullet.dmgMin = 8; - bullet.dmgMax = 10; - - bullet.spentCasing = CASING357.clone().register("357Iron").setColor(0xA8A8A8); - - return bullet; - } - - public static BulletConfiguration getRevLeadConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_357.stackFromEnum(Ammo357Magnum.LEAD)); - bullet.dmgMin = 18; - bullet.dmgMax = 22; - - bullet.spentCasing = CASING357.clone().register("357Lead").setColor(0x646470); - - return bullet; - } - - public static BulletConfiguration getRevNuclearConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_357.stackFromEnum(Ammo357Magnum.NUCLEAR)); - bullet.dmgMin = 10; - bullet.dmgMax = 15; - - bullet.effects = new ArrayList(); - bullet.effects.add(new PotionEffect(HbmPotion.radiation.id, 10 * 20, 4)); - - bullet.spentCasing = CASING357.clone().register("357Nuc").setColor(0xFEFEFE); - - return bullet; - } - - public static BulletConfiguration getRevGoldConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_357.stackFromEnum(Ammo357Magnum.GOLD)); - bullet.dmgMin = 25; - bullet.dmgMax = 28; - - bullet.spentCasing = CASING357.clone().register("357Gold").setColor(0xF9FF3E); - - return bullet; - } - - public static BulletConfiguration getRevDeshConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_357.stackFromEnum(Ammo357Magnum.DESH)); - bullet.dmgMin = 30; - bullet.dmgMax = 33; - - bullet.spentCasing = CASING357.clone().register("357Desh").setColor(0xF22929); - - return bullet; - } - - public static BulletConfiguration getRevSchrabidiumConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_357.stackFromEnum(Ammo357Magnum.SCHRABIDIUM)); - bullet.dmgMin = 10000; - bullet.dmgMax = 100000; - bullet.instakill = true; - - bullet.spentCasing = CASING357.clone().register("357Schrab").setColor(0x32FFFF); - - return bullet; - } - - public static BulletConfiguration getRevCursedConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_357.stackFromEnum(Ammo357Magnum.STEEL)); - bullet.dmgMin = 18; - bullet.dmgMax = 25; - - bullet.spentCasing = CASING357.clone().register("357Cursed").setColor(0x565656); - - return bullet; - } - - public static BulletConfiguration getRevNightmare1Config() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_357.stackFromEnum(Ammo357Magnum.NIGHTMARE1)); - bullet.dmgMin = 1; - bullet.dmgMax = 100; - - bullet.spentCasing = CASING357.clone().register("357N1").setColor(0x3A3A3A); - - return bullet; - } - - public static BulletConfiguration getRevNightmare2Config() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_357.stackFromEnum(Ammo357Magnum.NIGHTMARE2)); - bullet.spread *= 10; - bullet.bulletsMin = 4; - bullet.bulletsMax = 6; - bullet.dmgMin = 25; - bullet.dmgMax = 100; - bullet.doesRicochet = false; - bullet.destroysBlocks = true; - bullet.style = BulletConfiguration.STYLE_BOLT; - bullet.trail = BulletConfiguration.BOLT_NIGHTMARE; - - bullet.damageType = ModDamageSource.s_laser; - - bullet.spentCasing = CASINGNM; - - return bullet; - } - -} diff --git a/src/main/java/com/hbm/handler/guncfg/Gun44MagnumFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun44MagnumFactory.java deleted file mode 100644 index 9f7a5aca7..000000000 --- a/src/main/java/com/hbm/handler/guncfg/Gun44MagnumFactory.java +++ /dev/null @@ -1,376 +0,0 @@ -package com.hbm.handler.guncfg; - -import java.util.ArrayList; - -import com.hbm.entity.particle.EntityBSmokeFX; -import com.hbm.entity.projectile.EntityBoxcar; -import com.hbm.entity.projectile.EntityBuilding; -import com.hbm.entity.projectile.EntityDuchessGambit; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.CasingEjector; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ModItems; -import com.hbm.items.ItemAmmoEnums.Ammo44Magnum; -import com.hbm.lib.HbmCollection; -import com.hbm.lib.RefStrings; -import com.hbm.main.ResourceManager; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; -import com.hbm.particle.SpentCasing; -import com.hbm.particle.SpentCasing.CasingType; -import com.hbm.potion.HbmPotion; -import com.hbm.render.anim.HbmAnimations.AnimType; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.Vec3; - -public class Gun44MagnumFactory { - - private static final CasingEjector EJECTOR_PIP; - private static final SpentCasing CASING44; - - static { - EJECTOR_PIP = new CasingEjector().setMotion(Vec3.createVectorHelper(0, 0, -0.05)).setOffset(Vec3.createVectorHelper(0, -0.15, 0)).setAngleRange(0.01F, 0.05F).setAfterReload().setAmount(6); - CASING44 = new SpentCasing(CasingType.STRAIGHT).setScale(1.5F, 1.0F, 1.5F).setBounceMotion(0.01F, 0.05F).setColor(SpentCasing.COLOR_CASE_44); - } - - public static GunConfiguration getBaseConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 10; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 50; - config.firingDuration = 0; - config.ammoCap = 6; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CLASSIC; - config.reloadSound = GunConfiguration.RSOUND_REVOLVER; - config.firingSound = "hbm:weapon.44Shoot"; - config.reloadSoundEnd = false; - - config.config.addAll(HbmCollection.m44Normal); - - config.ejector = EJECTOR_PIP; - - config.loadAnimations = i -> { - config.animations.put(AnimType.CYCLE, ResourceManager.novac_anim.get("Fire")); - }; - - return config; - } - - public static GunConfiguration getNovacConfig() { - - GunConfiguration config = getBaseConfig(); - - config.durability = 2500; - - config.name = "ifHorseshoe"; - config.manufacturer = EnumGunManufacturer.IF; - config.comment.add("Fallout New Vegas wasn't THAT good."); - - return config; - } - - public static final ResourceLocation scope_lilmac = new ResourceLocation(RefStrings.MODID, "textures/misc/scope_44.png"); - - public static GunConfiguration getMacintoshConfig() { - - GunConfiguration config = getBaseConfig(); - - config.durability = 31_000; - - config.name = "ifScope"; - config.manufacturer = EnumGunManufacturer.IF; - config.comment.add("Poppin' mentats like tic tacs"); - - config.allowsInfinity = false; - config.hasSights = true; - config.absoluteFOV = true; - config.zoomFOV = 0.25F; - config.scopeTexture = scope_lilmac; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.M44_PIP); - config.config.addAll(HbmCollection.m44Normal); - - return config; - } - - public static GunConfiguration getBlackjackConfig() { - - GunConfiguration config = getBaseConfig(); - - config.durability = 4000; - config.ammoCap = 5; - - config.allowsInfinity = false; - config.name = "ifVanity"; - config.manufacturer = EnumGunManufacturer.IF; - config.comment.add("Alcoholism is cool!"); - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.M44_BJ); - config.config.addAll(HbmCollection.m44Normal); - - config.ejector = EJECTOR_PIP.clone().setAmount(5); - - return config; - } - - public static GunConfiguration getSilverConfig() { - - GunConfiguration config = getBaseConfig(); - - config.durability = 4000; - config.ammoCap = 6; - - config.allowsInfinity = false; - config.name = "ifStorm"; - config.manufacturer = EnumGunManufacturer.IF; - config.comment.add("Our friendship is based on abusive behaviour"); - config.comment.add("and mutual hate. It's not that complicated."); - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.M44_SILVER); - config.config.addAll(HbmCollection.m44Normal); - - return config; - } - - public static GunConfiguration getRedConfig() { - - GunConfiguration config = getBaseConfig(); - - config.durability = 4000; - config.ammoCap = 8; - - config.allowsInfinity = false; - config.name = "ifPit"; - config.manufacturer = EnumGunManufacturer.IF; - config.comment.add("Explore the other side"); - config.comment.add("...from afar!"); - - config.config = new ArrayList(); - config.config.addAll(HbmCollection.m44All); - - config.ejector = EJECTOR_PIP.clone().setAmount(64); - - return config; - } - - public static BulletConfiguration getNoPipConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_44.stackFromEnum(Ammo44Magnum.STOCK)); - bullet.dmgMin = 18; - bullet.dmgMax = 26; - - bullet.spentCasing = CASING44.clone().register("44NoPip"); - - return bullet; - } - - public static BulletConfiguration getNoPipAPConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_44.stackFromEnum(Ammo44Magnum.AP)); - bullet.dmgMin = 25; - bullet.dmgMax = 32; - bullet.wear = 15; - bullet.leadChance = 10; - - bullet.spentCasing = CASING44.clone().register("44AP"); - - return bullet; - } - - public static BulletConfiguration getNoPipDUConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_44.stackFromEnum(Ammo44Magnum.DU)); - bullet.dmgMin = 28; - bullet.dmgMax = 40; - bullet.wear = 25; - bullet.leadChance = 50; - - bullet.spentCasing = CASING44.clone().register("44DU"); - - return bullet; - } - - public static BulletConfiguration getPhosphorusConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_44.stackFromEnum(Ammo44Magnum.PHOSPHORUS)); - bullet.dmgMin = 18; - bullet.dmgMax = 26; - bullet.wear = 15; - bullet.incendiary = 5; - bullet.doesPenetrate = false; - - PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, 20 * 20, 0, true); - eff.getCurativeItems().clear(); - bullet.effects = new ArrayList(); - bullet.effects.add(new PotionEffect(eff)); - - bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "vanillaburst"); - data.setString("mode", "flame"); - data.setInteger("count", 15); - data.setDouble("motion", 0.05D); - - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bulletnt.posX, bulletnt.posY, bulletnt.posZ), new TargetPoint(bulletnt.dimension, bulletnt.posX, bulletnt.posY, bulletnt.posZ, 50)); - }; - - bullet.spentCasing = CASING44.clone().register("44Phos"); - - return bullet; - } - - public static BulletConfiguration getNoPipStarConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_44.stackFromEnum(Ammo44Magnum.STAR)); - bullet.dmgMin = 42; - bullet.dmgMax = 50; - bullet.wear = 25; - bullet.leadChance = 100; - - bullet.spentCasing = CASING44.clone().register("44Star"); - - return bullet; - } - - public static BulletConfiguration getPipConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_44.stackFromEnum(Ammo44Magnum.PIP)); - bullet.dmgMin = 30; - bullet.dmgMax = 36; - bullet.wear = 25; - bullet.doesPenetrate = false; - - bullet.bntHit = (bulletnt, hit) -> { - - if(!bulletnt.worldObj.isRemote) { - EntityBoxcar pippo = new EntityBoxcar(bulletnt.worldObj); - pippo.posX = hit.posX; - pippo.posY = hit.posY + 50; - pippo.posZ = hit.posZ; - - for(int j = 0; j < 50; j++) { - EntityBSmokeFX fx = new EntityBSmokeFX(bulletnt.worldObj, pippo.posX + (bulletnt.worldObj.rand.nextDouble() - 0.5) * 4, pippo.posY + (bulletnt.worldObj.rand.nextDouble() - 0.5) * 12, pippo.posZ + (bulletnt.worldObj.rand.nextDouble() - 0.5) * 4, 0, 0, 0); - bulletnt.worldObj.spawnEntityInWorld(fx); - } - bulletnt.worldObj.spawnEntityInWorld(pippo); - - bulletnt.worldObj.playSoundEffect(pippo.posX, pippo.posY + 50, pippo.posZ, "hbm:alarm.trainHorn", 100F, 1F); - } - }; - - bullet.spentCasing = CASING44.clone().register("44Pip").setColor(0x532C64); - - return bullet; - } - - public static BulletConfiguration getBJConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_44.stackFromEnum(Ammo44Magnum.BJ)); - bullet.dmgMin = 30; - bullet.dmgMax = 36; - bullet.wear = 25; - bullet.doesPenetrate = false; - - bullet.bntHit = (bulletnt, hit) -> { - - if(!bulletnt.worldObj.isRemote) { - EntityDuchessGambit pippo = new EntityDuchessGambit(bulletnt.worldObj); - pippo.posX = hit.posX; - pippo.posY = hit.posY + 50; - pippo.posZ = hit.posZ; - - for(int j = 0; j < 150; j++) { - EntityBSmokeFX fx = new EntityBSmokeFX(bulletnt.worldObj, pippo.posX + (bulletnt.worldObj.rand.nextDouble() - 0.5) * 7, pippo.posY + (bulletnt.worldObj.rand.nextDouble() - 0.5) * 8, pippo.posZ + (bulletnt.worldObj.rand.nextDouble() - 0.5) * 18, 0, 0, 0); - bulletnt.worldObj.spawnEntityInWorld(fx); - } - bulletnt.worldObj.spawnEntityInWorld(pippo); - - bulletnt.worldObj.playSoundEffect(pippo.posX, pippo.posY + 50, pippo.posZ, "hbm:weapon.boat", 100F, 1F); - } - }; - - bullet.spentCasing = CASING44.clone().register("44BJ").setColor(0x632B2C); - - return bullet; - } - - public static BulletConfiguration getSilverStormConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_44.stackFromEnum(Ammo44Magnum.SILVER)); - bullet.dmgMin = 30; - bullet.dmgMax = 36; - bullet.wear = 25; - bullet.doesPenetrate = false; - - bullet.bntHit = (bulletnt, hit) -> { - - if(!bulletnt.worldObj.isRemote) { - EntityBuilding pippo = new EntityBuilding(bulletnt.worldObj); - pippo.posX = hit.posX; - pippo.posY = hit.posY + 50; - pippo.posZ = hit.posZ; - - for(int j = 0; j < 150; j++) { - EntityBSmokeFX fx = new EntityBSmokeFX(bulletnt.worldObj, pippo.posX + (bulletnt.worldObj.rand.nextDouble() - 0.5) * 15, pippo.posY + (bulletnt.worldObj.rand.nextDouble() - 0.5) * 15, pippo.posZ + (bulletnt.worldObj.rand.nextDouble() - 0.5) * 15, 0, 0, 0); - bulletnt.worldObj.spawnEntityInWorld(fx); - } - bulletnt.worldObj.spawnEntityInWorld(pippo); - - bulletnt.worldObj.playSoundEffect(pippo.posX, pippo.posY + 50, pippo.posZ, "hbm:block.debris", 100F, 1F); - } - }; - - bullet.spentCasing = CASING44.clone().register("44Silver").setColor(0x2B5963); - - return bullet; - } - - public static BulletConfiguration getRocketConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_44.stackFromEnum(Ammo44Magnum.ROCKET)); - bullet.velocity = 5; - bullet.explosive = 15F; - bullet.trail = 1; - - bullet.spentCasing = CASING44.clone().register("44Rocket"); - - return bullet; - } - -} diff --git a/src/main/java/com/hbm/handler/guncfg/Gun45ACPFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun45ACPFactory.java deleted file mode 100644 index d21ebf9c9..000000000 --- a/src/main/java/com/hbm/handler/guncfg/Gun45ACPFactory.java +++ /dev/null @@ -1,173 +0,0 @@ -package com.hbm.handler.guncfg; - -import java.util.ArrayList; - -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ModItems; -import com.hbm.items.ItemAmmoEnums.Ammo45ACP; -import com.hbm.lib.HbmCollection; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.particle.SpentCasing; -import com.hbm.particle.SpentCasing.CasingType; -import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationSequence; -import com.hbm.render.anim.HbmAnimations.AnimType; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -public class Gun45ACPFactory { - - private static final SpentCasing CASING45; - - static { - CASING45 = new SpentCasing(CasingType.STRAIGHT).setBounceMotion(0.01F, 0.05F).setScale(1.25F, 1.25F, 1F).setColor(SpentCasing.COLOR_CASE_BRASS).register("45ACP"); - } - - public static GunConfiguration getThompsonConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 2; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.reloadDuration = 20; - config.firingDuration = 0; - config.ammoCap = 30; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_SPLIT; - config.durability = 5000; - config.reloadSound = GunConfiguration.RSOUND_MAG; - config.firingSound = "hbm:weapon.rifleShoot"; - config.reloadSoundEnd = false; - - config.name = "tommy"; - config.manufacturer = EnumGunManufacturer.AUTO_ORDINANCE; - - config.config = new ArrayList(); - config.config.addAll(HbmCollection.acp45); - - return config; - } - - public static GunConfiguration getUACPistolConfig() { - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 4; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 10; - config.firingDuration = 8; - config.ammoCap = 21; - config.durability = 10000; - config.reloadType = 1; - config.allowsInfinity = true; - config.hasSights = true; - config.absoluteFOV = true; - config.zoomFOV = 0.5F; - config.crosshair = Crosshair.CROSS; - config.reloadSound = GunConfiguration.RSOUND_MAG; - config.firingSound = "hbm:weapon.deagleShoot"; - config.reloadSoundEnd = true; - - config.name = "uacPistol"; - config.manufacturer = EnumGunManufacturer.UAC; - - config.config.addAll(HbmCollection.acp45); - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("SLIDE", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 10)// Wait for hammer - .addKeyframePosition(0, 0, -3.5, 40)// Slide back - .addKeyframePosition(0, 0, 0, 40))// Return - .addBus("HAMMER", new BusAnimationSequence() - .addKeyframePosition(15, 0, 0, 10) - .addKeyframePosition(0, 0, 0, 40))); - - return config; - } - - public static GunConfiguration getUACPistolBurstConfig() { - GunConfiguration config = getUACPistolConfig(); - config.rateOfFire = 5; - config.roundsPerBurst = 3; - config.firingDuration = 2; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_BURST; - - return config; - } - - public static GunConfiguration getUACSMGConfig() { - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 1; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.reloadDuration = 10; - config.firingDuration = 4; - config.ammoCap = 40; - config.durability = 40000; - config.reloadType = 1; - config.allowsInfinity = true; - config.hasSights = true; - config.crosshair = Crosshair.CROSS; - config.reloadSound = "hbm:weapon.SMGMagInPB3"; - config.firingSound = "hbm:weapon.SMGFirePB3"; - config.firingPitch = 1.15F; - config.reloadSoundEnd = true; - - config.name = "uacSMG"; - config.manufacturer = EnumGunManufacturer.UAC; - - config.config.addAll(HbmCollection.acp45); - - return config; - } - - static float inaccuracy = 5; - public static BulletConfiguration get45AutoConfig() { - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_45.stackFromEnum(Ammo45ACP.STOCK)); - bullet.spread *= inaccuracy; - bullet.dmgMax = 12; - bullet.dmgMin = 16; - - bullet.spentCasing = CASING45; - - return bullet; - } - - public static BulletConfiguration get45AutoAPConfig() { - BulletConfiguration bullet = get45AutoConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_45.stackFromEnum(Ammo45ACP.AP)); - bullet.dmgMax = 18; - bullet.dmgMin = 26; - bullet.wear = 15; - bullet.leadChance = 10; - - bullet.spentCasing = CASING45; - - return bullet; - } - - public static BulletConfiguration get45AutoDUConfig() { - BulletConfiguration bullet = get45AutoConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_45.stackFromEnum(Ammo45ACP.DU)); - bullet.dmgMax = 30; - bullet.dmgMin = 44; - bullet.wear = 25; - bullet.leadChance = 50; - - bullet.spentCasing = CASING45; - - return bullet; - } -} diff --git a/src/main/java/com/hbm/handler/guncfg/Gun4GaugeFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun4GaugeFactory.java deleted file mode 100644 index 786346617..000000000 --- a/src/main/java/com/hbm/handler/guncfg/Gun4GaugeFactory.java +++ /dev/null @@ -1,523 +0,0 @@ -package com.hbm.handler.guncfg; - -import java.util.ArrayList; -import java.util.List; - -import com.hbm.entity.projectile.EntityBulletBaseNT; -import com.hbm.explosion.ExplosionLarge; -import com.hbm.explosion.ExplosionNT; -import com.hbm.explosion.ExplosionNT.ExAttrib; -import com.hbm.explosion.ExplosionNukeSmall; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.CasingEjector; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ModItems; -import com.hbm.items.ItemAmmoEnums.Ammo4Gauge; -import com.hbm.lib.HbmCollection; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.main.ResourceManager; -import com.hbm.lib.ModDamageSource; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; -import com.hbm.particle.SpentCasing; -import com.hbm.particle.SpentCasing.CasingType; -import com.hbm.potion.HbmPotion; -import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationSequence; -import com.hbm.render.anim.HbmAnimations.AnimType; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.entity.EntityCreature; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.Vec3; -import net.minecraftforge.common.IExtendedEntityProperties; - -public class Gun4GaugeFactory { - - private static final CasingEjector EJECTOR_SHOTGUN; - private static final SpentCasing CASING4GAUGE; - - static { - EJECTOR_SHOTGUN = new CasingEjector().setMotion(Vec3.createVectorHelper(-0.4, 0.4, 0)).setOffset(Vec3.createVectorHelper(-0.5, 0, 0.5)).setAngleRange(0.01F, 0.03F); - CASING4GAUGE = new SpentCasing(CasingType.SHOTGUN).setScale(2.5F).setBounceMotion(0.01F, 0.03F); - } - - private static GunConfiguration getShotgunConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 15; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 10; - config.firingDuration = 0; - config.ammoCap = 4; - config.reloadType = GunConfiguration.RELOAD_SINGLE; - config.allowsInfinity = true; - config.hasSights = true; - config.absoluteFOV = true; - config.zoomFOV = 0.5F; - config.crosshair = Crosshair.L_CIRCLE; - config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; - - config.ejector = EJECTOR_SHOTGUN; - - return config; - } - - public static GunConfiguration getKS23Config() { - - GunConfiguration config = getShotgunConfig(); - - config.durability = 3000; - config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; - config.reloadSoundEnd = false; - config.firingSound = "hbm:weapon.revolverShootAlt"; - config.firingPitch = 0.65F; - - config.ejector = EJECTOR_SHOTGUN.clone().setDelay(10); - - config.name = "ks23"; - config.manufacturer = EnumGunManufacturer.TULSKY; - - config.emptyReloadAdditionalDuration = 5; - - config.reloadAnimationsSequential = true; - - config.loadAnimations = i -> { - config.animations.put(AnimType.CYCLE, ResourceManager.ks23_anim.get("Fire")); - config.animations.put(AnimType.RELOAD, ResourceManager.ks23_anim.get("ReloadStart")); - config.animations.put(AnimType.RELOAD_EMPTY, ResourceManager.ks23_anim.get("ReloadEmptyStart")); - config.animations.put(AnimType.RELOAD_CYCLE, ResourceManager.ks23_anim.get("Reload")); - config.animations.put(AnimType.RELOAD_END, ResourceManager.ks23_anim.get("ReloadEnd")); - }; - - config.config = HbmCollection.g4; - - return config; - } - - public static GunConfiguration getSauerConfig() { - - GunConfiguration config = getShotgunConfig(); - - config.rateOfFire = 20; - config.ammoCap = 0; - config.reloadType = GunConfiguration.RELOAD_NONE; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.durability = 3000; - config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; - config.firingSound = "hbm:weapon.sauergun"; - config.firingPitch = 1.0F; - - config.ejector = EJECTOR_SHOTGUN.clone().setDelay(12); - - config.name = "sauer"; - config.manufacturer = EnumGunManufacturer.CUBE; - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("SAUER_RECOIL", new BusAnimationSequence() - .addKeyframePosition(0.5, 0, 0, 50) - .addKeyframePosition(0, 0, 0, 50) - ) - .addBus("SAUER_TILT", new BusAnimationSequence() - .addKeyframePosition(0.0, 0, 0, 200) // do nothing for 200ms - .addKeyframePosition(0, 0, 30, 150) //tilt forward - .addKeyframePosition(45, 0, 30, 150) //tilt sideways - .addKeyframePosition(45, 0, 30, 200) //do nothing for 200ms (eject) - .addKeyframePosition(0, 0, 30, 150) //restore sideways - .addKeyframePosition(0, 0, 0, 150) //restore forward - ) - .addBus("SAUER_COCK", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 500) //do nothing for 500ms - .addKeyframePosition(1, 0, 0, 100) //pull back lever for 100ms - .addKeyframePosition(0, 0, 0, 100) //release lever for 100ms - ) - .addBus("SAUER_SHELL_EJECT", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 500) //do nothing for 500ms - .addKeyframePosition(0, 0, 1, 500) //FLING! - ) - ); - - config.config = HbmCollection.g4; - - return config; - } - - public static BulletConfiguration get4GaugeConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.STOCK)); - bullet.dmgMin = 5; - bullet.dmgMax = 8; - bullet.bulletsMin *= 2; - bullet.bulletsMax *= 2; - - bullet.spentCasing = CASING4GAUGE.clone().register("4GaStock").setColor(0xFFD800, SpentCasing.COLOR_CASE_4GA); - - return bullet; - } - - public static BulletConfiguration get4GaugeSlugConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.SLUG)); - bullet.dmgMin = 25; - bullet.dmgMax = 32; - bullet.wear = 7; - bullet.style = BulletConfiguration.STYLE_NORMAL; - - bullet.spentCasing = CASING4GAUGE.clone().register("4GaSlug").setColor(0xE01A1A, SpentCasing.COLOR_CASE_4GA); - - return bullet; - } - - public static BulletConfiguration get4GaugeFlechetteConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.FLECHETTE)); - bullet.dmgMin = 8; - bullet.dmgMax = 15; - bullet.bulletsMin *= 2; - bullet.bulletsMax *= 2; - bullet.wear = 15; - bullet.style = BulletConfiguration.STYLE_FLECHETTE; - bullet.HBRC = 2; - bullet.LBRC = 95; - BulletConfigFactory.makeFlechette(bullet); - - bullet.spentCasing = CASING4GAUGE.clone().register("4GaFlech").setColor(0x1537FF, SpentCasing.COLOR_CASE_4GA); - - return bullet; - } - - public static BulletConfiguration get4GaugeFlechettePhosphorusConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.FLECHETTE_PHOSPHORUS)); - bullet.dmgMin = 8; - bullet.dmgMax = 15; - bullet.bulletsMin *= 2; - bullet.bulletsMax *= 2; - bullet.wear = 15; - bullet.style = BulletConfiguration.STYLE_FLECHETTE; - bullet.HBRC = 2; - bullet.LBRC = 95; - bullet.incendiary = 5; - - PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, 20 * 20, 0, true); - eff.getCurativeItems().clear(); - bullet.effects = new ArrayList(); - bullet.effects.add(new PotionEffect(eff)); - - bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "vanillaburst"); - data.setString("mode", "flame"); - data.setInteger("count", 15); - data.setDouble("motion", 0.05D); - - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bulletnt.posX, bulletnt.posY, bulletnt.posZ), new TargetPoint(bulletnt.dimension, bulletnt.posX, bulletnt.posY, bulletnt.posZ, 50)); - }; - - bullet.spentCasing = CASING4GAUGE.clone().register("4GaPhos").setColor(0xF6871A, SpentCasing.COLOR_CASE_4GA); - - return bullet; - } - - public static BulletConfiguration get4GaugeExplosiveConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardGrenadeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.EXPLOSIVE)); - bullet.velocity *= 2; - bullet.gravity *= 2; - bullet.dmgMin = 20; - bullet.dmgMax = 25; - bullet.wear = 25; - bullet.trail = 1; - - bullet.spentCasing = CASING4GAUGE.clone().register("4GaExp").setColor(0x3F8243, SpentCasing.COLOR_CASE_4GA); - - return bullet; - } - - public static BulletConfiguration get4GaugeMiningConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardGrenadeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.MINING)); - bullet.velocity *= 2; - bullet.gravity *= 2; - bullet.dmgMin = 10; - bullet.dmgMax = 15; - bullet.wear = 25; - bullet.trail = 1; - bullet.explosive = 0.0F; - - bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { - - if(bulletnt.worldObj.isRemote) - return; - - ExplosionNT explosion = new ExplosionNT(bulletnt.worldObj, null, bulletnt.posX, bulletnt.posY, bulletnt.posZ, 4); - explosion.atttributes.add(ExAttrib.ALLDROP); - explosion.atttributes.add(ExAttrib.NOHURT); - explosion.doExplosionA(); - explosion.doExplosionB(false); - - ExplosionLarge.spawnParticles(bulletnt.worldObj, bulletnt.posX, bulletnt.posY, bulletnt.posZ, 15); - }; - - bullet.spentCasing = CASING4GAUGE.clone().register("4GaSem").setColor(0x5C5C5C, SpentCasing.COLOR_CASE_4GA); - - return bullet; - } - - public static BulletConfiguration get4GaugeBalefireConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardGrenadeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.BALEFIRE)); - bullet.velocity *= 2; - bullet.gravity *= 2; - bullet.dmgMin = 50; - bullet.dmgMax = 65; - bullet.wear = 25; - bullet.trail = 1; - bullet.explosive = 0.0F; - - bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { - - if(bulletnt.worldObj.isRemote) - return; - - ExplosionNT explosion = new ExplosionNT(bulletnt.worldObj, null, bulletnt.posX, bulletnt.posY, bulletnt.posZ, 6); - explosion.atttributes.add(ExAttrib.BALEFIRE); - explosion.doExplosionA(); - explosion.doExplosionB(false); - - ExplosionLarge.spawnParticles(bulletnt.worldObj, bulletnt.posX, bulletnt.posY, bulletnt.posZ, 30); - }; - - bullet.spentCasing = CASING4GAUGE.clone().register("4GaBale").setColor(0x7BFF44, SpentCasing.COLOR_CASE_4GA); - - return bullet; - } - - public static BulletConfiguration getGrenadeKampfConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.KAMPF)); - bullet.spread = 0.0F; - bullet.gravity = 0.0D; - bullet.wear = 15; - bullet.explosive = 3.5F; - bullet.style = BulletConfiguration.STYLE_GRENADE; - bullet.trail = 4; - bullet.vPFX = "smoke"; - - bullet.spentCasing = CASING4GAUGE.clone().register("4GaKampf").setColor(0xE7BA48, SpentCasing.COLOR_CASE_4GA); - - return bullet; - } - - public static BulletConfiguration getGrenadeCanisterConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.CANISTER)); - bullet.spread = 0.0F; - bullet.gravity = 0.0D; - bullet.wear = 15; - bullet.explosive = 1F; - bullet.style = BulletConfiguration.STYLE_GRENADE; - bullet.trail = 4; - bullet.vPFX = "smoke"; - - bullet.bntUpdate = (bulletnt) -> { - - if(!bulletnt.worldObj.isRemote) { - - if(bulletnt.ticksExisted > 10) { - bulletnt.setDead(); - - for(int i = 0; i < 50; i++) { - - EntityBulletBaseNT bolt = new EntityBulletBaseNT(bulletnt.worldObj, BulletConfigSyncingUtil.M44_AP); - bolt.setPosition(bulletnt.posX, bulletnt.posY, bulletnt.posZ); - bolt.setThrowableHeading(bulletnt.motionX, bulletnt.motionY, bulletnt.motionZ, 0.25F, 0.1F); - bolt.setThrower(bulletnt.getThrower()); - bulletnt.worldObj.spawnEntityInWorld(bolt); - } - } - } - }; - - bullet.spentCasing = CASING4GAUGE.clone().register("4GaCan").setColor(0xCACACA, SpentCasing.COLOR_CASE_4GA); - - return bullet; - } - - public static BulletConfiguration get4GaugeSleekConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardAirstrikeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.SLEEK)); - - bullet.spentCasing = CASING4GAUGE.clone().register("4GaIF").setColor(0x1D1D1D, SpentCasing.COLOR_CASE_4GA); - - return bullet; - } - - public static BulletConfiguration get4GaugeClawConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.CLAW)); - bullet.dmgMin = 6; - bullet.dmgMax = 9; - bullet.bulletsMin *= 2; - bullet.bulletsMax *= 2; - bullet.leadChance = 100; - - bullet.bntHurt = (bulletnt, hit) -> { - - if(bulletnt.worldObj.isRemote) - return; - - if(hit instanceof EntityLivingBase) { - EntityLivingBase living = (EntityLivingBase) hit; - float f = living.getHealth(); - - if(f > 0) { - f = Math.max(0, f - 2); - living.setHealth(f); - - if(f == 0) - living.onDeath(ModDamageSource.causeBulletDamage(bulletnt, hit)); - } - } - }; - - bullet.spentCasing = CASING4GAUGE.clone().register("4GaClaw").setColor(0x5E38CC, SpentCasing.COLOR_CASE_4GA); - - return bullet; - } - - public static BulletConfiguration get4GaugeVampireConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.VAMPIRE)); - bullet.dmgMin = 6; - bullet.dmgMax = 9; - bullet.bulletsMin *= 2; - bullet.bulletsMax *= 2; - bullet.leadChance = 100; - bullet.style = BulletConfiguration.STYLE_FLECHETTE; - - bullet.bntHurt = (bulletnt, hit) -> { - - if(bulletnt.worldObj.isRemote) - return; - - if(hit instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) hit; - - IExtendedEntityProperties prop = player.getExtendedProperties("WitcheryExtendedPlayer"); - - NBTTagCompound blank = new NBTTagCompound(); - blank.setTag("WitcheryExtendedPlayer", new NBTTagCompound()); - - if(prop != null) { - prop.loadNBTData(blank); - } - } - }; - - bullet.spentCasing = CASING4GAUGE.clone().register("4GaVamp").setColor(0x278400, SpentCasing.COLOR_CASE_4GA); - - return bullet; - } - - public static BulletConfiguration get4GaugeVoidConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.VOID)); - bullet.dmgMin = 6; - bullet.dmgMax = 9; - bullet.bulletsMin *= 2; - bullet.bulletsMax *= 2; - bullet.leadChance = 0; - - bullet.bntHurt = (bulletnt, hit) -> { - - if(bulletnt.worldObj.isRemote) - return; - - if(hit instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) hit; - - player.inventory.dropAllItems(); - player.worldObj.newExplosion(bulletnt.getThrower(), player.posX, player.posY, player.posZ, 5.0F, true, true); - } - }; - - bullet.spentCasing = CASING4GAUGE.clone().register("4GaVoid").setColor(0x3F3F3F, SpentCasing.COLOR_CASE_4GA); - - return bullet; - } - - public static BulletConfiguration get4GaugeQuackConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.QUACK)); - bullet.velocity *= 2D; - bullet.spread = 0.0F; - bullet.gravity = 0.0D; - bullet.wear = 10; - bullet.explosive = 1F; - bullet.style = BulletConfiguration.STYLE_BOLT; - bullet.trail = 4; - bullet.vPFX = "explode"; - - bullet.bntUpdate = (bulletnt) -> { - - if(!bulletnt.worldObj.isRemote) { - if(bulletnt.ticksExisted % 2 == 0) { - - List creatures = bulletnt.worldObj.getEntitiesWithinAABB(EntityCreature.class, bulletnt.boundingBox.expand(10, 10, 10)); - for(EntityCreature creature : creatures) { - - if(creature.getClass().getCanonicalName().startsWith("net.minecraft.entity.titan")) { - BulletConfigFactory.nuclearExplosion(creature, 0, 0, 0, ExplosionNukeSmall.PARAMS_TOTS); - - bulletnt.worldObj.removeEntity(creature); - bulletnt.worldObj.unloadEntities(new ArrayList() {{ add(creature); }}); - } - } - } - } - }; - - bullet.spentCasing = CASING4GAUGE.clone().register("4GaDucc").setColor(0x1E1E1E, SpentCasing.COLOR_CASE_4GA); - - return bullet; - } -} diff --git a/src/main/java/com/hbm/handler/guncfg/Gun50AEFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun50AEFactory.java deleted file mode 100644 index d03724f89..000000000 --- a/src/main/java/com/hbm/handler/guncfg/Gun50AEFactory.java +++ /dev/null @@ -1,129 +0,0 @@ -package com.hbm.handler.guncfg; - -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.CasingEjector; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ModItems; -import com.hbm.items.ItemAmmoEnums.Ammo50AE; -import com.hbm.lib.HbmCollection; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.particle.SpentCasing; -import com.hbm.particle.SpentCasing.CasingType; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -public class Gun50AEFactory { - - private static final CasingEjector EJECTOR_PISTOL; - private static final SpentCasing CASING50AE; - - static { - EJECTOR_PISTOL = new CasingEjector().setMotion(-0.3, 0.7, 0).setOffset(-0.5, 0, 0.5).setAngleRange(0.01F, 0.03F); - CASING50AE = new SpentCasing(CasingType.STRAIGHT).setScale(1.5F).setBounceMotion(0.01F, 0.03F).setColor(SpentCasing.COLOR_CASE_BRASS).setupSmoke(0.25F, 0.5D, 60, 20); - } - - public static GunConfiguration getBaseConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 10; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 10; - config.firingDuration = 0; - config.ammoCap = 7; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CLASSIC; - config.reloadSound = GunConfiguration.RSOUND_REVOLVER; - config.firingSound = "hbm:weapon.deagleShoot"; - config.reloadSoundEnd = false; - - return config; - } - - public static GunConfiguration getDeagleConfig() { - - GunConfiguration config = getBaseConfig(); - - config.durability = 2500; - - config.name = "deagle"; - config.manufacturer = EnumGunManufacturer.MAGNUM_R_IMI; - - config.absoluteFOV = true; - config.zoomFOV = 0.5F; - - config.hasSights = true; - config.config = HbmCollection.ae50; - - config.ejector = EJECTOR_PISTOL; - - return config; - } - - private static float inaccuracy = 0.0005F; - public static BulletConfiguration get50AEConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_50ae.stackFromEnum(Ammo50AE.STOCK)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 28; - bullet.dmgMax = 32; - - bullet.spentCasing = CASING50AE.clone().register("50AEStock"); - - return bullet; - } - - public static BulletConfiguration get50APConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_50ae.stackFromEnum(Ammo50AE.AP)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 30; - bullet.dmgMax = 36; - bullet.leadChance = 10; - bullet.wear = 15; - - bullet.spentCasing = CASING50AE.clone().register("50AEAP"); - - return bullet; - } - - public static BulletConfiguration get50DUConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_50ae.stackFromEnum(Ammo50AE.DU)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 38; - bullet.dmgMax = 46; - bullet.leadChance = 50; - bullet.wear = 25; - - bullet.spentCasing = CASING50AE.clone().register("50AEDU"); - - return bullet; - } - - public static BulletConfiguration get50StarConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_50ae.stackFromEnum(Ammo50AE.STAR)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 52; - bullet.dmgMax = 60; - bullet.leadChance = 100; - bullet.wear = 25; - - bullet.spentCasing = CASING50AE.clone().register("50AEStar"); - - return bullet; - } - -} diff --git a/src/main/java/com/hbm/handler/guncfg/Gun50BMGFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun50BMGFactory.java deleted file mode 100644 index 847a3f3ab..000000000 --- a/src/main/java/com/hbm/handler/guncfg/Gun50BMGFactory.java +++ /dev/null @@ -1,488 +0,0 @@ -package com.hbm.handler.guncfg; - -import java.util.ArrayList; - -import com.hbm.entity.projectile.EntityBulletBaseNT; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.CasingEjector; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ModItems; -import com.hbm.items.ItemAmmoEnums.Ammo50BMG; -import com.hbm.items.ItemAmmoEnums.AmmoLunaticSniper; -import com.hbm.lib.HbmCollection; -import com.hbm.lib.RefStrings; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; -import com.hbm.particle.SpentCasing; -import com.hbm.particle.SpentCasing.CasingType; -import com.hbm.potion.HbmPotion; -import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationSequence; -import com.hbm.render.anim.HbmAnimations.AnimType; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; -import com.hbm.util.ContaminationUtil; -import com.hbm.util.ContaminationUtil.ContaminationType; -import com.hbm.util.ContaminationUtil.HazardType; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.ResourceLocation; - -public class Gun50BMGFactory { - - private static final CasingEjector EJECTOR_BMG; - private static final CasingEjector EJECTOR_SNIPER; - private static final SpentCasing CASING50BMG; - private static final SpentCasing CASINGLUNA; - - static { - EJECTOR_BMG = new CasingEjector().setMotion(-0.35, 0.9, 0).setOffset(-0.45, -0.2, 0.35).setAngleRange(0.01F, 0.05F); - EJECTOR_SNIPER = new CasingEjector().setMotion(-2, 0.15, 0).setOffset(-0.45, -0.2, 0.35).setAngleRange(0.02F, 0.05F); - CASING50BMG = new SpentCasing(CasingType.BOTTLENECK).setScale(3F).setBounceMotion(0.01F, 0.05F).setColor(SpentCasing.COLOR_CASE_BRASS).setupSmoke(0.125F, 0.5D, 60, 20); - CASINGLUNA = new SpentCasing(CasingType.BOTTLENECK).setScale(4F).setBounceMotion(0.02F, 0.05F).setColor(SpentCasing.COLOR_CASE_BRASS).setupSmoke(0.125F, 0.5D, 60, 30); - } - - public static BulletConfiguration getLunaticSabotRound() { - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_luna_sniper.stackFromEnum(AmmoLunaticSniper.SABOT)); - bullet.spread = 0.0F; - bullet.dmgMax = 500F; - bullet.dmgMin = 450F; - bullet.headshotMult = 2.5F; - bullet.wear = 2000; - bullet.velocity = 10F; - bullet.doesPenetrate = true; - bullet.leadChance = 20; - - bullet.blockDamage = false; - bullet.bntImpact = (projectile, x, y, z, sideHit) -> projectile.worldObj.newExplosion(projectile, x, y, z, 2.0F, false, false); - - bullet.spentCasing = CASINGLUNA.clone().register("LunaStock"); - - return bullet; - } - - public static BulletConfiguration getLunaticIncendiaryRound() { - BulletConfiguration bullet = getLunaticSabotRound().clone(); - - bullet.ammo = new ComparableStack(ModItems.ammo_luna_sniper.stackFromEnum(AmmoLunaticSniper.INCENDIARY)); - - bullet.ammo.meta = 1; - bullet.incendiary = 10; - bullet.bntImpact = (projectile, x, y, z, sideHit) -> projectile.worldObj.newExplosion(projectile, x, y, z, 5.0F, true, false); - - bullet.spentCasing = CASINGLUNA.clone().register("LunaInc"); - - return bullet; - } - - public static BulletConfiguration getLunaticExplosiveRound() { - BulletConfiguration bullet = getLunaticSabotRound().clone(); - - bullet.ammo = new ComparableStack(ModItems.ammo_luna_sniper.stackFromEnum(AmmoLunaticSniper.EXPLOSIVE)); - - bullet.ammo.meta = 2; - bullet.explosive = 25; - bullet.destroysBlocks = true; - bullet.bntImpact = (projectile, x, y, z, sideHit) -> projectile.worldObj.newExplosion(projectile, x, y, z, 25.0F, true, false); - - bullet.spentCasing = CASINGLUNA.clone().register("LunaExp"); - - return bullet; - } - - public static GunConfiguration getAR15Config() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 1; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.reloadDuration = 20; - config.firingDuration = 0; - config.reloadSoundEnd = false; - config.ammoCap = 50; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.NONE; - config.durability = 100_000; - config.reloadSound = GunConfiguration.RSOUND_MAG; - config.firingSound = "hbm:turret.howard_fire"; - - config.name = "ar15_50"; - config.manufacturer = EnumGunManufacturer.ARMALITE; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.BMG50_FLECHETTE_AM); - config.config.add(BulletConfigSyncingUtil.BMG50_FLECHETTE_PO); - config.config.add(BulletConfigSyncingUtil.BMG50_FLECHETTE_NORMAL); - config.config.add(BulletConfigSyncingUtil.BMG50_NORMAL); - config.config.add(BulletConfigSyncingUtil.BMG50_INCENDIARY); - config.config.add(BulletConfigSyncingUtil.BMG50_PHOSPHORUS); - config.config.add(BulletConfigSyncingUtil.BMG50_EXPLOSIVE); - config.config.add(BulletConfigSyncingUtil.BMG50_AP); - config.config.add(BulletConfigSyncingUtil.BMG50_DU); - config.config.add(BulletConfigSyncingUtil.BMG50_STAR); - config.config.add(BulletConfigSyncingUtil.CHL_BMG50); - config.config.add(BulletConfigSyncingUtil.BMG50_SLEEK); - - config.ejector = EJECTOR_BMG; - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("RECOIL", new BusAnimationSequence() - .addKeyframePosition(1, 0, 0, 25) - .addKeyframePosition(0, 0, 0, 75) - ) - ); - config.animations.put(AnimType.RELOAD, new BusAnimation() - .addBus("TILT", new BusAnimationSequence() - .addKeyframePosition(1, 0, 0, 125) - .addKeyframePosition(1, 0, 0, 750) - .addKeyframePosition(0, 0, 0, 125) - ) - .addBus("MAG", new BusAnimationSequence() - .addKeyframePosition(0, 0, 1, 200) - .addKeyframePosition(1, 0, 1, 200) - .addKeyframePosition(0, 0, 0, 200) - ) - ); - - return config; - } - - public static GunConfiguration getAR15BurstConfig(){ - GunConfiguration config = getAR15Config(); - config.rateOfFire = 4; - config.roundsPerBurst = 3; - config.firingDuration = 2; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_BURST; - - return config; - } - - public static GunConfiguration getM2Config() { - GunConfiguration config = getAR15Config(); - - config.rateOfFire = 2; - config.durability *= 10; - config.ammoCap = 0; - config.crosshair = Crosshair.L_BOX; - config.reloadType = GunConfiguration.RELOAD_NONE; - config.hasSights = true; - config.zoomFOV = 0.66F; - config.allowsInfinity = true; - config.durability = 10_000; - config.firingSound = "hbm:turret.chekhov_fire"; - config.equipSound = "hbm:turret.howard_reload"; - - config.name = "m2"; - config.manufacturer = EnumGunManufacturer.COLT; - config.comment.add("\"A single man can do unbelievable things..."); - config.comment.add("A single man with a .50 cal machine gun can do even more.\""); - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("RECOIL", new BusAnimationSequence() - .addKeyframePosition(1, 0, 0, 25) - .addKeyframePosition(0, 0, 0, 75) - ) - ); - - config.ejector = EJECTOR_BMG; - - config.config.clear(); - config.config.addAll(HbmCollection.bmg50); - - return config; - } - - public static final ResourceLocation scope_luna = new ResourceLocation(RefStrings.MODID, "textures/misc/scope_luna.png"); - - public static GunConfiguration getLunaticMarksman() { - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 15; - config.reloadDuration = 15; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.roundsPerCycle = 1; - config.firingSound = "hbm:weapon.hicalShot"; - config.firingPitch = 0.75F; - config.ammoCap = 4; - config.reloadType = GunConfiguration.RELOAD_SINGLE; - config.hasSights = true; - config.zoomFOV = 0.2F; //x5 magnification - config.scopeTexture = scope_luna; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CLASSIC; - config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; - config.reloadSoundEnd = true; - config.durability = 500_000; - - config.name = "lunaSniper"; - config.manufacturer = EnumGunManufacturer.LUNA; - config.comment.add("\"You do not spark joy\""); - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.ROUND_LUNA_SNIPER_SABOT); - config.config.add(BulletConfigSyncingUtil.ROUND_LUNA_SNIPER_INCENDIARY); - config.config.add(BulletConfigSyncingUtil.ROUND_LUNA_SNIPER_EXPLOSIVE); - - config.animations.put(AnimType.CYCLE, - new BusAnimation() - .addBus("RECOIL", new BusAnimationSequence() - .addKeyframePosition(-0.45, 0.15, 0, 40) // Moves back and raise slightly - .addKeyframePosition(0, 0, 0, 75)) // Then forward again - .addBus("EJECT", new BusAnimationSequence().addKeyframePosition(0, 0, 0, 30) // Wait - .addKeyframePosition(50, 0, 0, 120))); // Fly // out - - config.ejector = EJECTOR_SNIPER; - return config; - } - - static float inaccuracy = 2.5F; - public static BulletConfiguration get50BMGConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_50bmg.stackFromEnum(Ammo50BMG.STOCK)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 30; - bullet.dmgMax = 36; - - bullet.spentCasing = CASING50BMG.clone().register("50BMGStock"); - - return bullet; - } - - public static BulletConfiguration get50BMGFireConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_50bmg.stackFromEnum(Ammo50BMG.INCENDIARY)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 30; - bullet.dmgMax = 36; - bullet.wear = 15; - bullet.incendiary = 5; - - bullet.spentCasing = CASING50BMG.clone().register("50BMGInc"); - - return bullet; - } - - public static BulletConfiguration get50BMGPhosphorusConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_50bmg.stackFromEnum(Ammo50BMG.PHOSPHORUS)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 30; - bullet.dmgMax = 36; - bullet.wear = 15; - bullet.incendiary = 5; - bullet.doesPenetrate = false; - - PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, 20 * 20, 0, true); - eff.getCurativeItems().clear(); - bullet.effects = new ArrayList(); - bullet.effects.add(new PotionEffect(eff)); - - bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "vanillaburst"); - data.setString("mode", "flame"); - data.setInteger("count", 15); - data.setDouble("motion", 0.05D); - - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bulletnt.posX, bulletnt.posY, bulletnt.posZ), new TargetPoint(bulletnt.dimension, bulletnt.posX, bulletnt.posY, bulletnt.posZ, 50)); - }; - - bullet.spentCasing = CASING50BMG.clone().register("50BMGPhos"); - - return bullet; - } - - public static BulletConfiguration get50BMGExplosiveConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_50bmg.stackFromEnum(Ammo50BMG.EXPLOSIVE)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 60; - bullet.dmgMax = 64; - bullet.wear = 25; - bullet.explosive = 1; - - bullet.spentCasing = CASING50BMG.clone().register("50BMGExp"); - - return bullet; - } - - public static BulletConfiguration get50BMGAPConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_50bmg.stackFromEnum(Ammo50BMG.AP)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 62; - bullet.dmgMax = 68; - bullet.wear = 15; - bullet.leadChance = 10; - - bullet.spentCasing = CASING50BMG.clone().register("50BMGAP"); - - return bullet; - } - - public static BulletConfiguration get50BMGDUConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_50bmg.stackFromEnum(Ammo50BMG.DU)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 80; - bullet.dmgMax = 86; - bullet.wear = 25; - bullet.leadChance = 50; - - bullet.spentCasing = CASING50BMG.clone().register("50BMGDU"); - - return bullet; - } - - public static BulletConfiguration get50BMGStarConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_50bmg.stackFromEnum(Ammo50BMG.STAR)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 98; - bullet.dmgMax = 102; - bullet.wear = 25; - bullet.leadChance = 100; - - bullet.spentCasing = CASING50BMG.clone().register("50BMGStar"); - - return bullet; - } - - public static BulletConfiguration get50BMGSleekConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_50bmg.stackFromEnum(Ammo50BMG.SLEEK)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 50; - bullet.dmgMax = 70; - bullet.wear = 10; - bullet.leadChance = 100; - bullet.doesPenetrate = false; - - bullet.bntHit = (bulletnt, hit) -> { - - if(bulletnt.worldObj.isRemote) - return; - - EntityBulletBaseNT meteor = new EntityBulletBaseNT(bulletnt.worldObj, BulletConfigSyncingUtil.MASKMAN_METEOR); - meteor.setPosition(hit.posX, hit.posY + 30 + meteor.worldObj.rand.nextInt(10), hit.posZ); - meteor.motionY = -1D; - meteor.setThrower(bulletnt.getThrower()); - bulletnt.worldObj.spawnEntityInWorld(meteor); - }; - - bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { - - if(bulletnt.worldObj.isRemote) - return; - - if(y == -1) - return; - - EntityBulletBaseNT meteor = new EntityBulletBaseNT(bulletnt.worldObj, BulletConfigSyncingUtil.MASKMAN_METEOR); - meteor.setPosition(bulletnt.posX, bulletnt.posY + 30 + meteor.worldObj.rand.nextInt(10), bulletnt.posZ); - meteor.motionY = -1D; - meteor.setThrower(bulletnt.getThrower()); - bulletnt.worldObj.spawnEntityInWorld(meteor); - }; - - bullet.spentCasing = CASING50BMG.clone().register("50BMGIF"); - - return bullet; - } - - public static BulletConfiguration get50BMGFlechetteConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_50bmg.stackFromEnum(Ammo50BMG.FLECHETTE)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 50; - bullet.dmgMax = 54; - bullet.style = bullet.STYLE_FLECHETTE; - BulletConfigFactory.makeFlechette(bullet); - - bullet.spentCasing = CASING50BMG.clone().register("50BMGFlech"); - - return bullet; - } - - public static BulletConfiguration get50BMGFlechetteAMConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_50bmg.stackFromEnum(Ammo50BMG.FLECHETTE_AM)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 60; - bullet.dmgMax = 64; - bullet.style = bullet.STYLE_FLECHETTE; - BulletConfigFactory.makeFlechette(bullet); - - bullet.bntHit = (bulletnt, hit) -> { - - if(bulletnt.worldObj.isRemote) - return; - - if(hit instanceof EntityLivingBase) { - ContaminationUtil.contaminate((EntityLivingBase) hit, HazardType.RADIATION, ContaminationType.RAD_BYPASS, 100F); - } - }; - - bullet.spentCasing = CASING50BMG.clone().register("50BMGAM"); - - return bullet; - } - - public static BulletConfiguration get50BMGFlechettePOConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_50bmg.stackFromEnum(Ammo50BMG.FLECHETTE_PO)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 60; - bullet.dmgMax = 64; - bullet.style = bullet.STYLE_FLECHETTE; - BulletConfigFactory.makeFlechette(bullet); - - bullet.bntHit = (bulletnt, hit) -> { - - if(bulletnt.worldObj.isRemote) - return; - - if(hit instanceof EntityLivingBase) { - ContaminationUtil.contaminate((EntityLivingBase) hit, HazardType.RADIATION, ContaminationType.RAD_BYPASS, 50F); - } - }; - - bullet.spentCasing = CASING50BMG.clone().register("50BMGPO"); - - return bullet; - } -} diff --git a/src/main/java/com/hbm/handler/guncfg/Gun556mmFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun556mmFactory.java deleted file mode 100644 index 4c0f19804..000000000 --- a/src/main/java/com/hbm/handler/guncfg/Gun556mmFactory.java +++ /dev/null @@ -1,430 +0,0 @@ -package com.hbm.handler.guncfg; - -import java.util.ArrayList; - -import com.hbm.entity.projectile.EntityBulletBaseNT; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.CasingEjector; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ItemAmmoEnums.Ammo556mm; -import com.hbm.items.ModItems; -import com.hbm.lib.HbmCollection; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; -import com.hbm.particle.SpentCasing; -import com.hbm.particle.SpentCasing.CasingType; -import com.hbm.potion.HbmPotion; -import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationSequence; -import com.hbm.render.anim.HbmAnimations.AnimType; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.PotionEffect; - -public class Gun556mmFactory { - - private static final CasingEjector EJECTOR_RIFLE; - private static final CasingEjector EJECTOR_GRENADE; - private static final SpentCasing CASING556; - - static { - EJECTOR_RIFLE = new CasingEjector().setMotion(-0.35, 0.6, 0).setOffset(-0.35, 0, 0.35).setAngleRange(0.01F, 0.03F); - EJECTOR_GRENADE = new CasingEjector().setAngleRange(0.02F, 0.03F).setDelay(30); - CASING556 = new SpentCasing(CasingType.BOTTLENECK).setScale(1.25F).setBounceMotion(0.01F, 0.03F).setColor(SpentCasing.COLOR_CASE_BRASS); - } - - public static GunConfiguration getEuphieConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 2; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.hasSights = false; - config.reloadDuration = 20; - config.firingDuration = 0; - config.ammoCap = 40; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CROSS; - config.durability = 10000; - config.reloadSound = GunConfiguration.RSOUND_MAG; - config.firingSound = "hbm:weapon.hksShoot"; - config.reloadSoundEnd = false; - - config.name = "baeAR"; - config.manufacturer = EnumGunManufacturer.BAE; - - config.comment.add("Why is this gun so sticky?"); - - //config.config = new ArrayList(); - //config.config.add(BulletConfigSyncingUtil.R556_GOLD); - - config.config = HbmCollection.r556; - - return config; - } - - public static GunConfiguration getSPIWConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 3; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.hasSights = true; - config.reloadDuration = 25; - config.firingDuration = 0; - config.ammoCap = 20; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_BOX; - config.durability = 7000; - config.reloadSound = GunConfiguration.RSOUND_MAG; - config.firingSound = "hbm:weapon.hksShoot"; - config.reloadSoundEnd = false; - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("RECOIL", new BusAnimationSequence() - .addKeyframePosition(0.5, 0, 0, 25) - .addKeyframePosition(0, 0, 0, 75) - ) - ); - - config.name = "spiw"; - config.manufacturer = EnumGunManufacturer.H_AND_R; - - config.comment.add("Launch some flechettes in the breeze"); - config.comment.add("Find his arms nailed to the trees"); - config.comment.add("Napalm sticks to kids"); - - config.config = HbmCollection.r556Flechette; - - config.ejector = EJECTOR_RIFLE; - - return config; - } - - public static GunConfiguration getGLauncherConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 60; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.hasSights = true; - config.reloadDuration = 40; - config.firingDuration = 0; - config.ammoCap = 0; - config.reloadType = GunConfiguration.RELOAD_NONE; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CIRCUMFLEX; - config.firingSound = "hbm:weapon.glauncher"; - config.reloadSound = GunConfiguration.RSOUND_GRENADE; - config.reloadSoundEnd = false; - - config.config = HbmCollection.grenade; - - config.ejector = EJECTOR_GRENADE; - - return config; - } - - private static float inaccuracy = 2.5F; - public static BulletConfiguration get556Config() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_556.stackFromEnum(Ammo556mm.STOCK)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 16; - bullet.dmgMax = 20; - - bullet.spentCasing = CASING556.clone().register("556Stock"); - - return bullet; - } - - public static BulletConfiguration get556GoldConfig() { - - BulletConfiguration bullet = get556Config(); - - bullet.ammo = new ComparableStack(ModItems.ammo_556.stackFromEnum(Ammo556mm.GOLD)); - bullet.dmgMin = 250; - bullet.dmgMax = 320; - bullet.spread = 0.0F; - - bullet.spentCasing = null; - - return bullet; - } - - public static BulletConfiguration get556PhosphorusConfig() { - - BulletConfiguration bullet = get556Config(); - - bullet.ammo = new ComparableStack(ModItems.ammo_556.stackFromEnum(Ammo556mm.PHOSPHORUS)); - bullet.wear = 15; - bullet.incendiary = 5; - bullet.doesPenetrate = false; - - PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, 20 * 20, 0, true); - eff.getCurativeItems().clear(); - bullet.effects = new ArrayList(); - bullet.effects.add(new PotionEffect(eff)); - - bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "vanillaburst"); - data.setString("mode", "flame"); - data.setInteger("count", 15); - data.setDouble("motion", 0.05D); - - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bulletnt.posX, bulletnt.posY, bulletnt.posZ), new TargetPoint(bulletnt.dimension, bulletnt.posX, bulletnt.posY, bulletnt.posZ, 50)); - }; - - bullet.spentCasing = CASING556.clone().register("556Phos"); - - return bullet; - } - - public static BulletConfiguration get556APConfig() { - - BulletConfiguration bullet = get556Config(); - - bullet.ammo = new ComparableStack(ModItems.ammo_556.stackFromEnum(Ammo556mm.AP)); - bullet.dmgMin = 20; - bullet.dmgMax = 26; - bullet.wear = 15; - bullet.leadChance = 10; - - bullet.spentCasing = CASING556.clone().register("556AP"); - - return bullet; - } - - public static BulletConfiguration get556DUConfig() { - - BulletConfiguration bullet = get556Config(); - - bullet.ammo = new ComparableStack(ModItems.ammo_556.stackFromEnum(Ammo556mm.DU)); - bullet.dmgMin = 24; - bullet.dmgMax = 32; - bullet.wear = 25; - bullet.leadChance = 50; - - bullet.spentCasing = CASING556.clone().register("556DU"); - - return bullet; - } - - public static BulletConfiguration get556StarConfig() { - - BulletConfiguration bullet = get556Config(); - - bullet.ammo = new ComparableStack(ModItems.ammo_556.stackFromEnum(Ammo556mm.STAR)); - bullet.dmgMin = 30; - bullet.dmgMax = 36; - bullet.wear = 25; - bullet.leadChance = 100; - - bullet.spentCasing = CASING556.clone().register("556Star"); - - return bullet; - } - - public static BulletConfiguration get556SleekConfig() { - - BulletConfiguration bullet = get556Config(); - - bullet.ammo = new ComparableStack(ModItems.ammo_556.stackFromEnum(Ammo556mm.SLEEK)); - bullet.dmgMin = 45; - bullet.dmgMax = 50; - bullet.wear = 10; - bullet.leadChance = 100; - bullet.doesPenetrate = false; - - bullet.bntHit = (bulletnt, hit) -> { - - if(bulletnt.worldObj.isRemote) - return; - - EntityBulletBaseNT meteor = new EntityBulletBaseNT(bulletnt.worldObj, BulletConfigSyncingUtil.MASKMAN_METEOR); - meteor.setPosition(hit.posX, hit.posY + 30 + meteor.worldObj.rand.nextInt(10), hit.posZ); - meteor.motionY = -1D; - meteor.setThrower(bulletnt.getThrower()); - bulletnt.worldObj.spawnEntityInWorld(meteor); - }; - - bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { - - if(bulletnt.worldObj.isRemote) - return; - - if(y == -1) - return; - - EntityBulletBaseNT meteor = new EntityBulletBaseNT(bulletnt.worldObj, BulletConfigSyncingUtil.MASKMAN_METEOR); - meteor.setPosition(bulletnt.posX, bulletnt.posY + 30 + meteor.worldObj.rand.nextInt(10), bulletnt.posZ); - meteor.motionY = -1D; - meteor.setThrower(bulletnt.getThrower()); - bulletnt.worldObj.spawnEntityInWorld(meteor); - }; - - bullet.spentCasing = CASING556.clone().register("556IF"); - - return bullet; - } - - public static BulletConfiguration get556TracerConfig() { - - BulletConfiguration bullet = get556Config(); - - bullet.ammo = new ComparableStack(ModItems.ammo_556.stackFromEnum(Ammo556mm.TRACER)); - bullet.vPFX = "reddust"; - - bullet.spentCasing = CASING556.clone().register("556Trac"); - - return bullet; - } - - public static BulletConfiguration get556FlechetteConfig() { - - BulletConfiguration bullet = get556Config(); - - bullet.ammo = new ComparableStack(ModItems.ammo_556.stackFromEnum(Ammo556mm.FLECHETTE)); - bullet.dmgMin = 26; - bullet.dmgMax = 32; - bullet.HBRC = 2; - bullet.LBRC = 95; - bullet.wear = 15; - bullet.style = BulletConfiguration.STYLE_FLECHETTE; - bullet.doesPenetrate = false; - BulletConfigFactory.makeFlechette(bullet); - - bullet.spentCasing = CASING556.clone().register("556Flec"); - - return bullet; - } - - public static BulletConfiguration get556FlechetteIncendiaryConfig() { - - BulletConfiguration bullet = get556FlechetteConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_556.stackFromEnum(Ammo556mm.FLECHETTE_INCENDIARY)); - bullet.incendiary = 5; - BulletConfigFactory.makeFlechette(bullet); - - bullet.spentCasing = CASING556.clone().register("556FlecInc"); - - return bullet; - } - - public static BulletConfiguration get556FlechettePhosphorusConfig() { - - BulletConfiguration bullet = get556FlechetteConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_556.stackFromEnum(Ammo556mm.FLECHETTE_PHOSPHORUS)); - bullet.incendiary = 5; - - PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, 20 * 20, 0, true); - eff.getCurativeItems().clear(); - bullet.effects = new ArrayList(); - bullet.effects.add(new PotionEffect(eff)); - - bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "vanillaburst"); - data.setString("mode", "flame"); - data.setInteger("count", 15); - data.setDouble("motion", 0.05D); - - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bulletnt.posX, bulletnt.posY, bulletnt.posZ), new TargetPoint(bulletnt.dimension, bulletnt.posX, bulletnt.posY, bulletnt.posZ, 50)); - }; - - bullet.spentCasing = CASING556.clone().register("556FlecPhos"); - - return bullet; - } - - public static BulletConfiguration get556FlechetteDUConfig() { - - BulletConfiguration bullet = get556FlechetteConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_556.stackFromEnum(Ammo556mm.FLECHETTE_DU)); - bullet.dmgMin = 46; - bullet.dmgMax = 52; - bullet.wear = 25; - bullet.leadChance = 50; - bullet.doesPenetrate = true; - - bullet.spentCasing = CASING556.clone().register("556FlecDU"); - - return bullet; - } - - public static BulletConfiguration get556FlechetteSleekConfig() { - - BulletConfiguration bullet = get556FlechetteConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_556.stackFromEnum(Ammo556mm.FLECHETTE_SLEEK)); - bullet.dmgMin = 45; - bullet.dmgMax = 50; - bullet.wear = 10; - bullet.leadChance = 50; - bullet.doesPenetrate = false; - - bullet.bntHit = (bulletnt, hit) -> { - - if(bulletnt.worldObj.isRemote) - return; - - EntityBulletBaseNT meteor = new EntityBulletBaseNT(bulletnt.worldObj, BulletConfigSyncingUtil.MASKMAN_METEOR); - meteor.setPosition(hit.posX, hit.posY + 30 + meteor.worldObj.rand.nextInt(10), hit.posZ); - meteor.motionY = -1D; - meteor.setThrower(bulletnt.getThrower()); - bulletnt.worldObj.spawnEntityInWorld(meteor); - }; - - bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { - - if(bulletnt.worldObj.isRemote) - return; - - if(y == -1) - return; - - EntityBulletBaseNT meteor = new EntityBulletBaseNT(bulletnt.worldObj, BulletConfigSyncingUtil.MASKMAN_METEOR); - meteor.setPosition(bulletnt.posX, bulletnt.posY + 30 + meteor.worldObj.rand.nextInt(10), bulletnt.posZ); - meteor.motionY = -1D; - meteor.setThrower(bulletnt.getThrower()); - bulletnt.worldObj.spawnEntityInWorld(meteor); - }; - - bullet.spentCasing = CASING556.clone().register("556FlecIF"); - - return bullet; - } - - public static BulletConfiguration get556KConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_556.stackFromEnum(Ammo556mm.K)); - bullet.dmgMin = 0; - bullet.dmgMax = 0; - bullet.maxAge = 0; - - return bullet; - } -} diff --git a/src/main/java/com/hbm/handler/guncfg/Gun5mmFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun5mmFactory.java deleted file mode 100644 index 88c83cda1..000000000 --- a/src/main/java/com/hbm/handler/guncfg/Gun5mmFactory.java +++ /dev/null @@ -1,146 +0,0 @@ -package com.hbm.handler.guncfg; - -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.CasingEjector; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ItemAmmoEnums.Ammo5mm; -import com.hbm.items.ModItems; -import com.hbm.lib.HbmCollection; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.particle.SpentCasing; -import com.hbm.particle.SpentCasing.CasingType; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -public class Gun5mmFactory { - - private static final CasingEjector EJECTOR_MINIGUN; - private static final SpentCasing CASING5MM; - - static { - EJECTOR_MINIGUN = new CasingEjector().setMotion(-0.4, 0.1, 0).setOffset(-0.35, -0.2, 0.35).setAngleRange(0.01F, 0.03F).setAmount(5); - CASING5MM = new SpentCasing(CasingType.STRAIGHT).setScale(1.25F).setBounceMotion(0.05F, 0.02F).setColor(SpentCasing.COLOR_CASE_BRASS).setMaxAge(100); - } - - public static GunConfiguration getMinigunConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 1; - config.roundsPerCycle = 5; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.reloadDuration = 20; - config.firingDuration = 0; - config.ammoCap = 0; - config.reloadType = GunConfiguration.RELOAD_NONE; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CIRCLE; - config.durability = 10000; - config.firingSound = "hbm:weapon.lacunaeShoot"; - - config.config = HbmCollection.r5; - - config.ejector = EJECTOR_MINIGUN; - - return config; - } - - public static GunConfiguration get53Config() { - - GunConfiguration config = getMinigunConfig(); - - config.name = "cz53"; - config.manufacturer = EnumGunManufacturer.ROCKWELL; - - return config; - } - - public static GunConfiguration get57Config() { - - GunConfiguration config = getMinigunConfig(); - - config.durability = 15000; - config.name = "cz57"; - config.manufacturer = EnumGunManufacturer.ROCKWELL; - - return config; - } - - public static GunConfiguration getLacunaeConfig() { - - GunConfiguration config = getMinigunConfig(); - - config.durability = 25000; - config.name = "lacunae"; - config.manufacturer = EnumGunManufacturer.ROCKWELL_U; - - config.config = HbmCollection.r5Bolt; - - return config; - } - - private static float inaccuracy = 10; - public static BulletConfiguration get5mmConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_5mm.stackFromEnum(Ammo5mm.STOCK)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 12; - bullet.dmgMax = 14; - - bullet.spentCasing = CASING5MM.clone().register("5mmStock"); - - return bullet; - } - - public static BulletConfiguration get5mmExplosiveConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_5mm.stackFromEnum(Ammo5mm.EXPLOSIVE)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 30; - bullet.dmgMax = 32; - bullet.explosive = 1F; - bullet.wear = 25; - - bullet.spentCasing = CASING5MM.clone().register("5mmExp"); - - return bullet; - } - - public static BulletConfiguration get5mmDUConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_5mm.stackFromEnum(Ammo5mm.DU)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 36; - bullet.dmgMax = 40; - bullet.wear = 25; - bullet.leadChance = 50; - - bullet.spentCasing = CASING5MM.clone().register("5mmDU"); - - return bullet; - } - - public static BulletConfiguration get5mmStarConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_5mm.stackFromEnum(Ammo5mm.STAR)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 46; - bullet.dmgMax = 50; - bullet.wear = 25; - bullet.leadChance = 100; - - bullet.spentCasing = CASING5MM.clone().register("5mmStar"); - - return bullet; - } - -} diff --git a/src/main/java/com/hbm/handler/guncfg/Gun75BoltFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun75BoltFactory.java deleted file mode 100644 index 47ae1fb7d..000000000 --- a/src/main/java/com/hbm/handler/guncfg/Gun75BoltFactory.java +++ /dev/null @@ -1,165 +0,0 @@ -package com.hbm.handler.guncfg; - -import java.util.ArrayList; - -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ItemAmmoEnums.Ammo75Bolt; -import com.hbm.items.ModItems; -import com.hbm.lib.HbmCollection; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.lib.ModDamageSource; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; -import com.hbm.potion.HbmPotion; -import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationSequence; -import com.hbm.render.anim.HbmAnimations.AnimType; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.PotionEffect; - -public class Gun75BoltFactory { - - public static GunConfiguration getBolterConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 2; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.hasSights = false; - config.reloadDuration = 40; - config.firingDuration = 0; - config.ammoCap = 30; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.NONE; - config.durability = 10000; - config.reloadSound = GunConfiguration.RSOUND_MAG; - config.firingSound = "hbm:weapon.hksShoot"; - config.reloadSoundEnd = false; - config.showAmmo = false; - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("RECOIL", new BusAnimationSequence() - .addKeyframePosition(1, 0, 0, 25) - .addKeyframePosition(0, 0, 0, 75) - ) - .addBus("EJECT", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 25) - .addKeyframePosition(0, 0, 1, 75) - ) - ); - - config.animations.put(AnimType.RELOAD, new BusAnimation() - .addBus("TILT", new BusAnimationSequence() - .addKeyframePosition(1, 0, 0, 250) - .addKeyframePosition(1, 0, 0, 1500) - .addKeyframePosition(0, 0, 0, 250) - ) - .addBus("MAG", new BusAnimationSequence() - .addKeyframePosition(0, 0, 1, 500) - .addKeyframePosition(1, 0, 1, 500) - .addKeyframePosition(0, 0, 0, 500) - ) - ); - - config.name = "bolter"; - config.manufacturer = EnumGunManufacturer.CERIX; - - config.config = HbmCollection.b75; - - return config; - } - - private static float inaccuracy = 0.5F; - public static BulletConfiguration get75BoltConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_75bolt.stackFromEnum(Ammo75Bolt.STOCK)); - bullet.ammoCount = 30; - bullet.spread *= inaccuracy; - bullet.dmgMin = 74; - bullet.dmgMax = 82; - bullet.doesRicochet = false; - bullet.explosive = 0.25F; - - bullet.bntHurt = (bulletnt, hit) -> { - - if(bulletnt.worldObj.isRemote) - return; - - if(hit instanceof EntityLivingBase) { - EntityLivingBase living = (EntityLivingBase) hit; - float f = living.getHealth(); - - if(f > 0) { - f = Math.max(0, f - 2); - living.setHealth(f); - - if(f == 0) - living.onDeath(ModDamageSource.lead); - } - } - }; - - return bullet; - } - - public static BulletConfiguration get75BoltIncConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_75bolt.stackFromEnum(Ammo75Bolt.INCENDIARY)); - bullet.ammoCount = 30; - bullet.spread *= inaccuracy; - bullet.dmgMin = 72; - bullet.dmgMax = 76; - bullet.doesRicochet = false; - bullet.explosive = 0.25F; - - bullet.incendiary = 5; - bullet.doesPenetrate = false; - - PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, 20 * 20, 0, true); - eff.getCurativeItems().clear(); - bullet.effects = new ArrayList(); - bullet.effects.add(new PotionEffect(eff)); - - bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "vanillaburst"); - data.setString("mode", "flame"); - data.setInteger("count", 15); - data.setDouble("motion", 0.05D); - - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bulletnt.posX, bulletnt.posY, bulletnt.posZ), new TargetPoint(bulletnt.dimension, bulletnt.posX, bulletnt.posY, bulletnt.posZ, 50)); - }; - - return bullet; - } - - public static BulletConfiguration get75BoltHEConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_75bolt.stackFromEnum(Ammo75Bolt.HE)); - bullet.ammoCount = 30; - bullet.spread *= inaccuracy; - bullet.dmgMin = 94; - bullet.dmgMax = 100; - bullet.doesRicochet = false; - bullet.explosive = 2.5F; - bullet.blockDamage = false; - - return bullet; - } -} diff --git a/src/main/java/com/hbm/handler/guncfg/Gun762mmFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun762mmFactory.java deleted file mode 100644 index 3419a631b..000000000 --- a/src/main/java/com/hbm/handler/guncfg/Gun762mmFactory.java +++ /dev/null @@ -1,365 +0,0 @@ -package com.hbm.handler.guncfg; - -import java.util.ArrayList; - -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.CasingEjector; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ModItems; -import com.hbm.items.ItemAmmoEnums.Ammo762NATO; -import com.hbm.lib.HbmCollection; -import com.hbm.lib.RefStrings; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.particle.SpentCasing; -import com.hbm.particle.SpentCasing.CasingType; -import com.hbm.potion.HbmPotion; -import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationSequence; -import com.hbm.render.anim.HbmAnimations.AnimType; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.ResourceLocation; - -public class Gun762mmFactory { - - public static final ResourceLocation scope_bolt = new ResourceLocation(RefStrings.MODID, "textures/misc/scope_bolt.png"); - - private static final CasingEjector EJECTOR_RIFLE; - private static final CasingEjector EJECTOR_BOLT; - private static final SpentCasing CASING762NATO; - - static { - EJECTOR_RIFLE = new CasingEjector().setMotion(-0.35, 0.6, 0).setOffset(-0.35, 0, 0.35).setAngleRange(0.01F, 0.03F); - EJECTOR_BOLT = new CasingEjector().setMotion(-0.35, 0.6, 0).setOffset(-0.35, 0, 0.35).setAngleRange(0.01F, 0.03F).setDelay(15); - CASING762NATO = new SpentCasing(CasingType.BOTTLENECK).setScale(1.7F).setBounceMotion(0.01F, 0.05F).setColor(SpentCasing.COLOR_CASE_BRASS); - } - - public static GunConfiguration getCalamityConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 1; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.reloadDuration = 20; - config.firingDuration = 0; - config.ammoCap = 50; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.NONE; - config.durability = 15 * 50 * 10; //15 * capacity * default wear - config.reloadSound = GunConfiguration.RSOUND_MAG; - config.firingSound = "hbm:weapon.calShoot"; - config.reloadSoundEnd = false; - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("RECOIL", new BusAnimationSequence() - .addKeyframePosition(1, 0, 0, 25) - .addKeyframePosition(0, 0, 0, 75) - ) - ); - - config.animations.put(AnimType.RELOAD, new BusAnimation() - .addBus("MAG", new BusAnimationSequence() - .addKeyframePosition(0, -1, 0, 500) - .addKeyframePosition(0, 0, 0, 500) - ) - ); - - config.name = "mg3"; - config.manufacturer = EnumGunManufacturer.WGW; - - config.config = HbmCollection.r762; - - config.ejector = EJECTOR_RIFLE; - - return config; - } - - public static GunConfiguration getUACDMRConfig() { - final GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 4; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.reloadDuration = 30; - config.firingDuration = 8; - config.ammoCap = 30; - config.durability = 30000; - config.reloadType = 1; - config.allowsInfinity = true; - config.hasSights = true; - config.crosshair = Crosshair.CROSS; - config.reloadSound = "hbm:weapon.DMRMagInPB3"; - config.firingSound = "hbm:weapon.DMRShootPB3Alt"; - config.reloadSoundEnd = true; - - config.name = "uacDMR"; - config.manufacturer = EnumGunManufacturer.UAC; - - config.config.addAll(HbmCollection.r762); - - config.ejector = EJECTOR_RIFLE; - - return config; - } - - public static GunConfiguration getUACCarbineConfig() { - final GunConfiguration config = getUACDMRConfig(); - - config.rateOfFire = 2; - config.reloadDuration = 20; - config.ammoCap = 40; - config.durability = 40000; - config.crosshair = Crosshair.SPLIT; - config.reloadSound = "hbm:weapon.carbineMagInPB3"; - config.firingSound = "hbm:weapon.carbineShootPB3"; - - config.name = "uacCarbine"; - - return config; - } - - public static GunConfiguration getUACLMGConfig() { - final GunConfiguration config = getUACCarbineConfig(); - - config.ammoCap = 60; - config.durability = 50000; - config.crosshair = Crosshair.BOX; - config.reloadSound = "hbm:weapon.LMGMagInPB3"; - config.firingSound = "hbm:weapon.LMGShootPB3Alt"; - - config.name = "uacLMG"; - - return config; - } - - public static GunConfiguration getM60Config() { - final GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 2; - config.durability = 10000; - config.roundsPerCycle = 1; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.reloadType = GunConfiguration.RELOAD_NONE; - config.ammoCap = 0; - config.allowsInfinity = true; - config.hasSights = true; - config.crosshair = Crosshair.L_BOX; - config.firingSound = "hbm:weapon.LMGShootPB3"; - - config.name = "m60"; - config.manufacturer = EnumGunManufacturer.SACO; - config.comment.add("\"Get some!\""); - config.comment.add(" ~ Stuart Brown (aka Ahoy)"); - config.config.addAll(HbmCollection.r762); - - config.ejector = EJECTOR_RIFLE; - - return config; - } - - public static GunConfiguration getBoltConfig() { - - GunConfiguration config = Gun20GaugeFactory.getShotgunConfig(); - - config.ammoCap = 5; - config.durability = 3000; - config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; - config.firingSound = "hbm:weapon.revolverShoot"; - config.firingPitch = 0.75F; - config.crosshair = Crosshair.CIRCLE; - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("RECOIL", new BusAnimationSequence() - .addKeyframePosition(1, 0, 0, 25) - .addKeyframePosition(0, 0, 0, 75) - ) - .addBus("LEVER_PULL", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 375) //wait out recoil and lever flick - .addKeyframePosition(-1, 0, 0, 375) //pull back bolt - .addKeyframePosition(0, 0, 0, 375) //release bolt - ) - .addBus("LEVER_ROTATE", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 250) //wait out recoil - .addKeyframePosition(1, 0, 0, 125) //flick up lever in 125ms - .addKeyframePosition(1, 0, 0, 750) //pull action - .addKeyframePosition(0, 0, 0, 125) //flick down lever again - ) - ); - - config.name = "win20Inox"; - config.manufacturer = EnumGunManufacturer.WINCHESTER; - - config.ejector = EJECTOR_BOLT; - - config.config = HbmCollection.r762; - - return config; - } - - public static GunConfiguration getBoltGreenConfig() { - - GunConfiguration config = Gun20GaugeFactory.getShotgunConfig(); - - config.ammoCap = 5; - config.durability = 2500; - config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; - config.firingSound = "hbm:weapon.revolverShoot"; - config.firingPitch = 0.75F; - config.crosshair = Crosshair.CIRCLE; - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("RECOIL", new BusAnimationSequence() - .addKeyframePosition(1, 0, 0, 25) - .addKeyframePosition(0, 0, 0, 75) - ) - .addBus("LEVER_PULL", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 375) //wait out recoil and lever flick - .addKeyframePosition(-1, 0, 0, 375) //pull back bolt - .addKeyframePosition(0, 0, 0, 375) //release bolt - ) - .addBus("LEVER_ROTATE", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 250) //wait out recoil - .addKeyframePosition(1, 0, 0, 125) //flick up lever in 125ms - .addKeyframePosition(1, 0, 0, 750) //pull action - .addKeyframePosition(0, 0, 0, 125) //flick down lever again - ) - ); - - config.name = "win20Poly"; - config.manufacturer = EnumGunManufacturer.WINCHESTER; - - config.ejector = EJECTOR_BOLT; - - config.config = HbmCollection.r762; - - return config; - } - - public static GunConfiguration getBoltSaturniteConfig() { - - GunConfiguration config = Gun20GaugeFactory.getShotgunConfig(); - - config.ammoCap = 5; - config.durability = 4000; - config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; - config.firingSound = "hbm:weapon.revolverShoot"; - config.firingPitch = 0.75F; - config.hasSights = true; - config.absoluteFOV = true; - config.zoomFOV = 0.25F; - config.scopeTexture = scope_bolt; - config.crosshair = Crosshair.CIRCLE; - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("RECOIL", new BusAnimationSequence() - .addKeyframePosition(1, 0, 0, 25) - .addKeyframePosition(0, 0, 0, 75) - ) - .addBus("LEVER_PULL", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 375) //wait out recoil and lever flick - .addKeyframePosition(-1, 0, 0, 375) //pull back bolt - .addKeyframePosition(0, 0, 0, 375) //release bolt - ) - .addBus("LEVER_ROTATE", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 250) //wait out recoil - .addKeyframePosition(1, 0, 0, 125) //flick up lever in 125ms - .addKeyframePosition(1, 0, 0, 750) //pull action - .addKeyframePosition(0, 0, 0, 125) //flick down lever again - ) - ); - - config.name = "win20Satur"; - config.manufacturer = EnumGunManufacturer.WINCHESTER_BIGMT; - - config.ejector = EJECTOR_BOLT; - - config.config = HbmCollection.r762; - - return config; - } - - public static BulletConfiguration get762NATOConfig() { - final BulletConfiguration bullet = Gun556mmFactory.get556Config().clone(); - - bullet.ammo = new ComparableStack(ModItems.ammo_762.stackFromEnum(Ammo762NATO.STOCK)); - bullet.dmgMax = 20; - bullet.dmgMin = 24; - bullet.velocity *= 2.5; - bullet.maxAge *= 2; - bullet.spread /= 2; - - bullet.spentCasing = CASING762NATO.clone().register("762NATOStock"); - - return bullet; - } - - public static BulletConfiguration get762APConfig() { - final BulletConfiguration bullet = get762NATOConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_762.stackFromEnum(Ammo762NATO.AP)); - bullet.dmgMax = 24; - bullet.dmgMin = 28; - - bullet.spentCasing = CASING762NATO.clone().register("762NATOAP"); - - return bullet; - } - - public static BulletConfiguration get762DUConfig() { - final BulletConfiguration bullet = get762NATOConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_762.stackFromEnum(Ammo762NATO.DU)); - bullet.dmgMax = 36; - bullet.dmgMin = 40; - - bullet.spentCasing = CASING762NATO.clone().register("762NATODU"); - - return bullet; - } - - public static BulletConfiguration get762TracerConfig() { - final BulletConfiguration bullet = get762NATOConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_762.stackFromEnum(Ammo762NATO.TRACER)); - bullet.vPFX = "reddust"; - - bullet.spentCasing = CASING762NATO.clone().register("762NATOTrac"); - - return bullet; - } - - public static BulletConfiguration get762WPConfig() { - final BulletConfiguration bullet = get762NATOConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_762.stackFromEnum(Ammo762NATO.PHOSPHORUS)); - bullet.setToFire(20 * 5); - bullet.vPFX = "reddust"; - final PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, 20 * 20, 0, true); - eff.getCurativeItems().clear(); - bullet.effects = new ArrayList(); - bullet.effects.add(new PotionEffect(eff)); - - bullet.spentCasing = CASING762NATO.clone().register("762NATOPhos"); - - return bullet; - } - - public static BulletConfiguration get762BlankConfig() { - final BulletConfiguration bullet = get762NATOConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_762.stackFromEnum(Ammo762NATO.BLANK)); - bullet.dmgMax = 0; - bullet.dmgMin = 0; - bullet.maxAge = 0; - - bullet.spentCasing = CASING762NATO.clone().register("762NATOK"); - - return bullet; - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/handler/guncfg/Gun9mmFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun9mmFactory.java deleted file mode 100644 index 2e7c68cc4..000000000 --- a/src/main/java/com/hbm/handler/guncfg/Gun9mmFactory.java +++ /dev/null @@ -1,155 +0,0 @@ -package com.hbm.handler.guncfg; - -import java.util.ArrayList; - -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.CasingEjector; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ModItems; -import com.hbm.items.ItemAmmoEnums.Ammo9mm; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.particle.SpentCasing; -import com.hbm.particle.SpentCasing.CasingType; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -public class Gun9mmFactory { - - private static final CasingEjector EJECTOR_SMG; - private static final SpentCasing CASING9MM; - - static { - EJECTOR_SMG = new CasingEjector().setMotion(-0.3, 0.6, 0).setOffset(-0.35, -0.2, 0.55).setAngleRange(0.01F, 0.03F); - CASING9MM = new SpentCasing(CasingType.STRAIGHT).setScale(1F, 1F, 0.6F).setBounceMotion(0.01F, 0.03F).setColor(SpentCasing.COLOR_CASE_BRASS); - } - - public static GunConfiguration getMP40Config() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 2; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.reloadDuration = 20; - config.firingDuration = 0; - config.ammoCap = 32; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_SPLIT; - config.durability = 2500; - config.reloadSound = GunConfiguration.RSOUND_MAG; - config.firingSound = "hbm:weapon.rifleShoot"; - config.reloadSoundEnd = false; - - config.name = "mp40"; - config.manufacturer = EnumGunManufacturer.ERFURT; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.P9_NORMAL); - config.config.add(BulletConfigSyncingUtil.P9_AP); - config.config.add(BulletConfigSyncingUtil.P9_DU); - config.config.add(BulletConfigSyncingUtil.CHL_P9); - config.config.add(BulletConfigSyncingUtil.P9_ROCKET); - - config.ejector = EJECTOR_SMG; - - return config; - } - - //rechambered to .45 - /*public static GunConfiguration getThompsonConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 2; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.reloadDuration = 20; - config.firingDuration = 0; - config.ammoCap = 30; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_SPLIT; - config.durability = 2500; - config.reloadSound = GunConfiguration.RSOUND_MAG; - config.firingSound = "hbm:weapon.rifleShoot"; - config.reloadSoundEnd = false; - - config.name = "tommy9"; - config.manufacturer = EnumGunManufacturer.AUTO_ORDINANCE; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.P9_NORMAL); - config.config.add(BulletConfigSyncingUtil.P9_AP); - config.config.add(BulletConfigSyncingUtil.P9_DU); - config.config.add(BulletConfigSyncingUtil.CHL_P9); - config.config.add(BulletConfigSyncingUtil.P9_ROCKET); - - return config; - }*/ - - static float inaccuracy = 5; - public static BulletConfiguration get9mmConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_9mm.stackFromEnum(Ammo9mm.STOCK)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 10; - bullet.dmgMax = 14; - - bullet.spentCasing = CASING9MM.clone().register("9MMStock"); - - return bullet; - } - - public static BulletConfiguration get9mmAPConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_9mm.stackFromEnum(Ammo9mm.AP)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 18; - bullet.dmgMax = 20; - bullet.leadChance = 10; - bullet.wear = 15; - - bullet.spentCasing = CASING9MM.clone().register("9MMAP"); - - return bullet; - } - - public static BulletConfiguration get9mmDUConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardPistolConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_9mm.stackFromEnum(Ammo9mm.DU)); - bullet.spread *= inaccuracy; - bullet.dmgMin = 22; - bullet.dmgMax = 26; - bullet.leadChance = 50; - bullet.wear = 25; - - bullet.spentCasing = CASING9MM.clone().register("9MMDU"); - - return bullet; - } - - public static BulletConfiguration get9mmRocketConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_9mm.stackFromEnum(Ammo9mm.ROCKET)); - bullet.velocity = 5; - bullet.explosive = 7.5F; - bullet.trail = 5; - - bullet.spentCasing = CASING9MM.clone().register("9MMRocket"); - - return bullet; - } - -} diff --git a/src/main/java/com/hbm/handler/guncfg/GunCannonFactory.java b/src/main/java/com/hbm/handler/guncfg/GunCannonFactory.java deleted file mode 100644 index 411574bbe..000000000 --- a/src/main/java/com/hbm/handler/guncfg/GunCannonFactory.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.hbm.handler.guncfg; - -import com.hbm.explosion.ExplosionNukeSmall; -import com.hbm.handler.BulletConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ItemAmmoEnums.Ammo240Shell; -import com.hbm.items.ModItems; -import com.hbm.particle.SpentCasing; -import com.hbm.particle.SpentCasing.CasingType; - -public class GunCannonFactory { - - protected static SpentCasing CASINNG240MM; - - static { - CASINNG240MM = new SpentCasing(CasingType.BOTTLENECK).setScale(7.5F).setBounceMotion(0.02F, 0.05F).setColor(SpentCasing.COLOR_CASE_BRASS).setupSmoke(1F, 0.5D, 60, 20); - } - - public static BulletConfiguration getShellConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardShellConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_shell.stackFromEnum(Ammo240Shell.STOCK)); - bullet.dmgMin = 25; - bullet.dmgMax = 35; - bullet.explosive = 4F; - bullet.blockDamage = false; - - bullet.spentCasing = CASINNG240MM.register("240MM"); //same instance everywhere, only register once - - return bullet; - } - - public static BulletConfiguration getShellExplosiveConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardShellConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_shell.stackFromEnum(Ammo240Shell.EXPLOSIVE)); - bullet.dmgMin = 35; - bullet.dmgMax = 45; - bullet.explosive = 4F; - bullet.blockDamage = true; - - bullet.spentCasing = CASINNG240MM; - - return bullet; - } - - public static BulletConfiguration getShellAPConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardShellConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_shell.stackFromEnum(Ammo240Shell.APFSDS_T)); - bullet.dmgMin = 50; - bullet.dmgMax = 55; - bullet.doesPenetrate = true; - bullet.style = BulletConfiguration.STYLE_APDS; - - bullet.spentCasing = CASINNG240MM; - - return bullet; - } - - public static BulletConfiguration getShellDUConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardShellConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_shell.stackFromEnum(Ammo240Shell.APFSDS_DU)); - bullet.dmgMin = 70; - bullet.dmgMax = 80; - bullet.doesPenetrate = true; - bullet.style = BulletConfiguration.STYLE_APDS; - - bullet.spentCasing = CASINNG240MM; - - return bullet; - } - - public static BulletConfiguration getShellW9Config() { - - BulletConfiguration bullet = BulletConfigFactory.standardShellConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_shell.stackFromEnum(Ammo240Shell.W9)); - bullet.dmgMin = 100; - bullet.dmgMax = 150; - - bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { - BulletConfigFactory.nuclearExplosion(bulletnt, x, y, z, ExplosionNukeSmall.PARAMS_TOTS); - }; - - bullet.spentCasing = CASINNG240MM; - - return bullet; - } - -} diff --git a/src/main/java/com/hbm/handler/guncfg/GunDGKFactory.java b/src/main/java/com/hbm/handler/guncfg/GunDGKFactory.java index 86bc1bb2f..f50897995 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunDGKFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunDGKFactory.java @@ -1,8 +1,5 @@ package com.hbm.handler.guncfg; -import com.hbm.handler.BulletConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ModItems; import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; @@ -11,15 +8,14 @@ public class GunDGKFactory { public static final SpentCasing CASINGDGK; static { - CASINGDGK = new SpentCasing(CasingType.STRAIGHT).setScale(1.5F).setBounceMotion(0.05F, 0.02F).setColor(SpentCasing.COLOR_CASE_BRASS).setupSmoke(0.02F, 0.5D, 60, 20).setMaxAge(60); //3 instead of 12 seconds + CASINGDGK = new SpentCasing(CasingType.STRAIGHT).setScale(1.5F).setBounceMotion(1F, 0.5F).setColor(SpentCasing.COLOR_CASE_BRASS).register("DGK").setupSmoke(0.02F, 0.5D, 60, 20).setMaxAge(60); //3 instead of 12 seconds } - public static BulletConfiguration getDGKConfig() { + /*public static BulletConfiguration getDGKConfig() { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); bullet.ammo = new ComparableStack(ModItems.ammo_dgk); bullet.spentCasing = CASINGDGK.register("DGK"); return bullet; - } - + }*/ } diff --git a/src/main/java/com/hbm/handler/guncfg/GunDartFactory.java b/src/main/java/com/hbm/handler/guncfg/GunDartFactory.java deleted file mode 100644 index 07bcc2878..000000000 --- a/src/main/java/com/hbm/handler/guncfg/GunDartFactory.java +++ /dev/null @@ -1,174 +0,0 @@ -package com.hbm.handler.guncfg; - -import java.util.ArrayList; - -import com.hbm.extprop.HbmLivingProps; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ItemAmmoEnums.AmmoDart; -import com.hbm.items.ModItems; -import com.hbm.items.weapon.ItemGunDart; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.main.MainRegistry; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; - -public class GunDartFactory { - - public static GunConfiguration getDarterConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 1; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.hasSights = false; - config.reloadDuration = 20; - config.firingDuration = 0; - config.ammoCap = 1; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CROSS; - config.durability = 1000; - config.reloadSound = GunConfiguration.RSOUND_GRENADE; - config.firingSound = "hbm:weapon.dartShoot"; - config.reloadSoundEnd = false; - config.showAmmo = true; - - config.name = "dart"; - config.manufacturer = EnumGunManufacturer.NONE; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.NEEDLE_GPS); - config.config.add(BulletConfigSyncingUtil.NEEDLE_NUKE); - - return config; - } - - public static GunConfiguration getMymyConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 1; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.hasSights = false; - config.reloadDuration = 10; - config.firingDuration = 0; - config.ammoCap = 1; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.NONE; - config.durability = 1000; - config.reloadSound = GunConfiguration.RSOUND_GRENADE; - config.firingSound = "hbm:weapon.dartShoot"; - config.reloadSoundEnd = false; - config.showAmmo = true; - - config.name = "nerf"; - config.manufacturer = EnumGunManufacturer.HASBRO; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.DART_NORMAL); - config.config.add(BulletConfigSyncingUtil.NEEDLE_NUKE); - - return config; - } - - public static BulletConfiguration getGPSConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_dart.stackFromEnum(AmmoDart.GPS)); - bullet.velocity = 5.0F; - bullet.spread = 0; - bullet.dmgMin = 1; - bullet.dmgMax = 2; - bullet.doesRicochet = true; - bullet.doesPenetrate = false; - bullet.style = bullet.STYLE_FLECHETTE; - bullet.leadChance = 0; - - bullet.effects = new ArrayList(); - bullet.effects.add(new PotionEffect(Potion.wither.id, 60 * 20, 2)); - - bullet.bntHurt = (bulletnt, hit) -> { - - if(bulletnt.worldObj.isRemote) - return; - - if(hit instanceof EntityPlayer) { - - if(((EntityPlayer) hit).inventory.hasItem(ModItems.ingot_meteorite_forged)) - return; - - if(bulletnt.getThrower() instanceof EntityPlayer) { - - EntityPlayer shooter = (EntityPlayer) bulletnt.getThrower(); - - if(shooter.getHeldItem() != null && shooter.getHeldItem().getItem() == ModItems.gun_darter) { - ItemGunDart.writePlayer(shooter.getHeldItem(), (EntityPlayer) hit); - shooter.playSound("random.orb", 1.0F, 1.0F); - } - } - } - }; - - return bullet; - } - - public static BulletConfiguration getNukeConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_dart.stackFromEnum(AmmoDart.NUCLEAR)); - bullet.velocity = 5.0F; - bullet.spread = 0; - bullet.dmgMin = 1; - bullet.dmgMax = 2; - bullet.doesRicochet = true; - bullet.doesPenetrate = false; - bullet.style = bullet.STYLE_FLECHETTE; - bullet.leadChance = 0; - - bullet.bntHurt = (bulletnt, hit) -> { - - if(bulletnt.worldObj.isRemote) - return; - - if(hit instanceof EntityLivingBase) { - - EntityLivingBase e = (EntityLivingBase) hit; - - if(HbmLivingProps.getRadiation(e) < 250) - HbmLivingProps.setRadiation(e, 250); - if(HbmLivingProps.getTimer(e) <= 0) - HbmLivingProps.setTimer(e, MainRegistry.polaroidID * 60 * 20); - } - }; - - return bullet; - } - - public static BulletConfiguration getNERFConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_dart.stackFromEnum(AmmoDart.NERF)); - bullet.velocity = 1.0F; - bullet.gravity = 0.04D; - bullet.dmgMin = 0; - bullet.dmgMax = 0; - bullet.leadChance = 0; - - return bullet; - } -} diff --git a/src/main/java/com/hbm/handler/guncfg/GunDetonatorFactory.java b/src/main/java/com/hbm/handler/guncfg/GunDetonatorFactory.java deleted file mode 100644 index 2d76d18e6..000000000 --- a/src/main/java/com/hbm/handler/guncfg/GunDetonatorFactory.java +++ /dev/null @@ -1,113 +0,0 @@ -package com.hbm.handler.guncfg; - -import java.util.ArrayList; - -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.GunConfiguration; -import com.hbm.interfaces.IBomb; -import com.hbm.interfaces.IBomb.BombReturnCode; -import com.hbm.main.MainRegistry; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.PlayerInformPacket; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; -import com.hbm.util.ChatBuilder; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.init.Items; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; - -public class GunDetonatorFactory { - - public static GunConfiguration getDetonatorConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 1; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.hasSights = false; - config.reloadDuration = 20; - config.firingDuration = 0; - config.ammoCap = 1; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.DUAL; - config.durability = 1_000_000_000; - config.reloadSound = GunConfiguration.RSOUND_LAUNCHER; - config.firingSound = "hbm:weapon.dartShoot"; - config.reloadSoundEnd = false; - config.showAmmo = true; - - config.name = "laserDet"; - config.manufacturer = EnumGunManufacturer.WESTTEK; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.DET_BOLT); - config.config.add(BulletConfigSyncingUtil.R5_NORMAL_BOLT); - config.config.add(BulletConfigSyncingUtil.R5_EXPLOSIVE_BOLT); - config.config.add(BulletConfigSyncingUtil.R5_DU_BOLT); - config.config.add(BulletConfigSyncingUtil.R5_STAR_BOLT); - config.config.add(BulletConfigSyncingUtil.CHL_R5_BOLT); - config.config.add(BulletConfigSyncingUtil.G12_NORMAL); - config.config.add(BulletConfigSyncingUtil.G12_INCENDIARY); - config.config.add(BulletConfigSyncingUtil.G12_SHRAPNEL); - config.config.add(BulletConfigSyncingUtil.G12_DU); - config.config.add(BulletConfigSyncingUtil.G12_SLEEK); - config.config.add(BulletConfigSyncingUtil.G12_AM); - config.config.add(BulletConfigSyncingUtil.G12_PERCUSSION); - config.config.add(BulletConfigSyncingUtil.NUKE_NORMAL); - config.config.add(BulletConfigSyncingUtil.NUKE_LOW); - config.config.add(BulletConfigSyncingUtil.NUKE_SAFE); - config.config.add(BulletConfigSyncingUtil.NUKE_HIGH); - config.config.add(BulletConfigSyncingUtil.NUKE_TOTS); - config.config.add(BulletConfigSyncingUtil.NUKE_PUMPKIN); - config.config.add(BulletConfigSyncingUtil.NUKE_BARREL); - config.config.add(BulletConfigSyncingUtil.NUKE_MIRV_NORMAL); - config.config.add(BulletConfigSyncingUtil.NUKE_MIRV_LOW); - config.config.add(BulletConfigSyncingUtil.NUKE_MIRV_SAFE); - config.config.add(BulletConfigSyncingUtil.NUKE_MIRV_HIGH); - - return config; - } - - public static BulletConfiguration getLaserConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(Items.redstone); - bullet.spread = 0.0F; - bullet.maxAge = 100; - bullet.dmgMin = 0; - bullet.dmgMax = 0; - bullet.leadChance = 0; - bullet.doesRicochet = false; - bullet.setToBolt(BulletConfiguration.BOLT_LASER); - - bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { - - World world = bulletnt.worldObj; - if(!world.isRemote && y > 0) { - Block b = world.getBlock(x, y, z); - if(b instanceof IBomb) { - BombReturnCode ret = ((IBomb) b).explode(world, x, y, z); - - if(ret.wasSuccessful() && bulletnt.getThrower() instanceof EntityPlayerMP) { - EntityPlayerMP player = (EntityPlayerMP) bulletnt.getThrower(); - world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); - PacketDispatcher.wrapper.sendTo( - new PlayerInformPacket(ChatBuilder.start("").nextTranslation(ret.getUnlocalizedMessage()).color(EnumChatFormatting.YELLOW).flush(), MainRegistry.proxy.ID_DETONATOR), - (EntityPlayerMP) player); - } - } - } - }; - - return bullet; - } -} diff --git a/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java b/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java index 0ea31f450..d0e8e6bd7 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java @@ -1,838 +1,10 @@ package com.hbm.handler.guncfg; -import java.util.ArrayList; - -import com.hbm.blocks.ModBlocks; -import com.hbm.entity.projectile.EntityBulletBaseNT; -import com.hbm.entity.projectile.EntityBulletBaseNT.IBulletImpactBehaviorNT; -import com.hbm.entity.projectile.EntityBulletBaseNT.IBulletUpdateBehaviorNT; -import com.hbm.explosion.ExplosionChaos; -import com.hbm.explosion.ExplosionLarge; -import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.GunConfiguration; import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ItemAmmoEnums.AmmoCoilgun; -import com.hbm.items.ItemAmmoEnums.AmmoFireExt; -import com.hbm.items.ItemAmmoEnums.AmmoFlamethrower; import com.hbm.items.ModItems; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.lib.ModDamageSource; -import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.ExplosionKnockbackPacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.potion.HbmPotion; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; -import com.hbm.tileentity.IRepairable; -import com.hbm.tileentity.IRepairable.EnumExtinguishType; -import com.hbm.util.CompatExternal; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.init.Blocks; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.Vec3; public class GunEnergyFactory { - - public static GunConfiguration getChemConfig() { - - GunConfiguration config = new GunConfiguration(); - config.rateOfFire = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.allowsInfinity = false; - config.ammoCap = 3_000; - config.durability = 90_000; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.crosshair = Crosshair.CIRCLE; - - config.name = "Chemical Thrower"; - config.manufacturer = EnumGunManufacturer.LANGFORD; - - config.config = new ArrayList(); - - return config; - } - - public static GunConfiguration getEMPConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 30; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 10; - config.firingDuration = 0; - config.ammoCap = 0; - config.durability = 1500; - config.reloadType = GunConfiguration.RELOAD_NONE; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_SPLIT; - config.firingSound = "hbm:weapon.teslaShoot"; - - config.name = "EMP Orb Projector"; - config.manufacturer = EnumGunManufacturer.MWT; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.SPECIAL_EMP); - - return config; - } - - public static GunConfiguration getFlamerConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 1; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.reloadDuration = 20; - config.reloadSoundEnd = false; - config.firingDuration = 0; - config.ammoCap = 100; - config.durability = 1000; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CIRCLE; - config.firingSound = "hbm:weapon.flamethrowerShoot"; - config.reloadSound = "hbm:weapon.flamerReload"; - - config.name = "Heavy Duty Flamer"; - config.manufacturer = EnumGunManufacturer.MWT; - - config.comment.add("Dragon-slaying: Advanced techniques, part 1:"); - config.comment.add("Try not to get eaten by the dragon."); - config.comment.add(""); - config.comment.add("Hope that helps."); - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.FLAMER_NORMAL); - config.config.add(BulletConfigSyncingUtil.FLAMER_NAPALM); - config.config.add(BulletConfigSyncingUtil.FLAMER_WP); - config.config.add(BulletConfigSyncingUtil.FLAMER_VAPORIZER); - config.config.add(BulletConfigSyncingUtil.FLAMER_GAS); - - return config; - } - - public static GunConfiguration getZOMGConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 1; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.reloadDuration = 10; - config.reloadSoundEnd = false; - config.firingDuration = 0; - config.durability = 100000; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.ammoCap = 1000; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_ARROWS; - config.firingSound = "hbm:weapon.zomgShoot"; - config.reloadSound = "hbm:weapon.b92Reload"; - - config.name = "EMC101 Prismatic Negative Energy Cannon"; - config.manufacturer = EnumGunManufacturer.MWT; - - config.comment.add("Taste the rainbow!"); - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.ZOMG_BOLT); - - return config; - } - - public static GunConfiguration getExtConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 1; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.reloadDuration = 20; - config.reloadSoundEnd = false; - config.firingDuration = 0; - config.ammoCap = 300; //good for 15 seconds of continued spray - config.durability = 10000; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CIRCLE; - config.firingSound = "hbm:weapon.extinguisher"; - config.reloadSound = "hbm:weapon.flamerReload"; - - config.name = "PROTEX Fire Exinguisher 6kg"; - config.manufacturer = EnumGunManufacturer.GLORIA; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.FEXT_NORMAL); - config.config.add(BulletConfigSyncingUtil.FEXT_FOAM); - config.config.add(BulletConfigSyncingUtil.FEXT_SAND); - - return config; - } - - public static GunConfiguration getCoilgunConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 5; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 20; - config.firingDuration = 0; - config.ammoCap = 1; - config.durability = 2_500; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.CIRCLE; - config.firingSound = "hbm:weapon.coilgunShoot"; - config.reloadSoundEnd = false; - config.reloadSound = "hbm:weapon.coilgunReload"; - - config.name = "ArmsKore Coilgun"; - config.manufacturer = EnumGunManufacturer.DRG; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.COIL_NORMAL); - config.config.add(BulletConfigSyncingUtil.COIL_DU); - config.config.add(BulletConfigSyncingUtil.COIL_RUBBER); - - return config; - } - - public static GunConfiguration getCryoCannonConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 1; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.firingDuration = 0; - config.ammoCap = 1_000; - config.durability = 10_000; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CIRCLE; - - config.name = "Cryo Cannon"; - config.manufacturer = EnumGunManufacturer.DRG; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.CRYO_NORMAL); - - return config; - } - - public static GunConfiguration getVortexConfig() { - - GunConfiguration config = new GunConfiguration(); - - return config; - - } - - public static BulletConfiguration getOrbusConfig() { - - BulletConfiguration bullet = new BulletConfiguration(); - - bullet.ammo = new ComparableStack(ModItems.gun_emp_ammo); - - bullet.velocity = 1F; - bullet.spread = 0.0F; - bullet.wear = 10; - bullet.bulletsMin = 1; - bullet.bulletsMax = 1; - bullet.dmgMin = 10; - bullet.dmgMax = 12; - bullet.gravity = 0D; - bullet.maxAge = 100; - bullet.doesRicochet = false; - bullet.doesPenetrate = true; - bullet.doesBreakGlass = false; - bullet.style = BulletConfiguration.STYLE_ORB; - bullet.plink = BulletConfiguration.PLINK_NONE; - bullet.emp = 10; - - bullet.damageType = ModDamageSource.s_emp; - bullet.dmgProj = false; - bullet.dmgBypass = true; - - bullet.effects = new ArrayList(); - bullet.effects.add(new PotionEffect(Potion.moveSlowdown.id, 10 * 20, 1)); - bullet.effects.add(new PotionEffect(Potion.weakness.id, 10 * 20, 4)); - - return bullet; - } - - public static BulletConfiguration getCoilConfig() { - - BulletConfiguration bullet = new BulletConfiguration(); - - bullet.ammo = new ComparableStack(ModItems.ammo_coilgun, 1, AmmoCoilgun.STOCK.ordinal()); - - bullet.velocity = 7.5F; - bullet.spread = 0.0F; - bullet.wear = 10; - bullet.bulletsMin = 1; - bullet.bulletsMax = 1; - bullet.dmgMin = 35; - bullet.dmgMax = 45; - bullet.gravity = 0D; - bullet.maxAge = 50; - bullet.doesPenetrate = true; - bullet.isSpectral = true; - - bullet.style = bullet.STYLE_BOLT; - bullet.trail = bullet.BOLT_NIGHTMARE; - bullet.vPFX = "fireworks"; - - bullet.bntUpdate = (entity) -> breakInPath(entity, 1.25F); - - return bullet; - } - - public static BulletConfiguration getCoilDUConfig() { - - BulletConfiguration bullet = new BulletConfiguration(); - - bullet.ammo = new ComparableStack(ModItems.ammo_coilgun, 1, AmmoCoilgun.DU.ordinal()); - - bullet.velocity = 7.5F; - bullet.spread = 0.0F; - bullet.wear = 25; - bullet.bulletsMin = 1; - bullet.bulletsMax = 1; - bullet.dmgMin = 65; - bullet.dmgMax = 80; - bullet.gravity = 0D; - bullet.maxAge = 50; - bullet.doesPenetrate = true; - bullet.isSpectral = true; - - bullet.style = bullet.STYLE_BOLT; - bullet.trail = bullet.BOLT_NIGHTMARE; - bullet.vPFX = "fireworks"; - - bullet.bntUpdate = (entity) -> breakInPath(entity, 2.5F); - - return bullet; - } - - public static BulletConfiguration getCoilRubberConfig() { - - BulletConfiguration bullet = new BulletConfiguration(); - - bullet.ammo = new ComparableStack(ModItems.ammo_coilgun, 1, AmmoCoilgun.RUBBER.ordinal()); - - bullet.velocity = 5F; - bullet.spread = 0.0F; - bullet.wear = 10; - bullet.bulletsMin = 1; - bullet.bulletsMax = 1; - bullet.dmgMin = 10; - bullet.dmgMax = 20; - bullet.gravity = 0D; - bullet.maxAge = 50; - bullet.doesPenetrate = false; - bullet.isSpectral = false; - bullet.doesRicochet = true; - bullet.ricochetAngle = 30; - bullet.HBRC = 90; - bullet.LBRC = 100; - bullet.bounceMod = 1; - bullet.selfDamageDelay = 2; - - bullet.style = bullet.STYLE_PELLET; - - bullet.bntHurt = (entity, hit) -> { - Vec3 vec = Vec3.createVectorHelper(entity.motionX, entity.motionY, entity.motionZ); - vec = vec.normalize(); - vec.xCoord *= 10; - vec.yCoord *= 10; - vec.zCoord *= 10; - hit.motionX += vec.xCoord; - hit.motionY += vec.yCoord; - hit.motionZ += vec.zCoord; - - if(hit instanceof EntityPlayerMP) { - PacketDispatcher.wrapper.sendTo(new ExplosionKnockbackPacket(vec), (EntityPlayerMP) hit); - } - }; - - return bullet; - } - - public static void breakInPath(EntityBulletBaseNT entity, float threshold) { - - if(entity.worldObj.isRemote) return; - - Vec3 vec = Vec3.createVectorHelper(entity.posX - entity.prevPosX, entity.posY - entity.prevPosY, entity.posZ - entity.prevPosZ); - double motion = Math.max(vec.lengthVector(), 0.1); - vec = vec.normalize(); - - for(double d = 0; d < motion; d += 0.5) { - - int x = (int) Math.floor(entity.posX - vec.xCoord * d); - int y = (int) Math.floor(entity.posY - vec.yCoord * d); - int z = (int) Math.floor(entity.posZ - vec.zCoord * d); - - Block b = entity.worldObj.getBlock(x, y, z); - float hardness = b.getBlockHardness(entity.worldObj, x, y, z); - - if(b.getMaterial() != Material.air && hardness >= 0 && hardness < threshold) { - entity.worldObj.func_147480_a(x, y, z, false); - } - } - } - - public static BulletConfiguration getFlameConfig() { - - BulletConfiguration bullet = new BulletConfiguration(); - - bullet.ammo = new ComparableStack(ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.DIESEL)); - bullet.ammoCount = 100; - - bullet.velocity = 0.75F; - bullet.spread = 0.025F; - bullet.wear = 1; - bullet.bulletsMin = 3; - bullet.bulletsMax = 5; - bullet.dmgMin = 2; - bullet.dmgMax = 4; - bullet.gravity = 0.01D; - bullet.maxAge = 60; - bullet.doesRicochet = false; - bullet.doesPenetrate = true; - bullet.doesBreakGlass = false; - bullet.style = BulletConfiguration.STYLE_NONE; - bullet.plink = BulletConfiguration.PLINK_NONE; - bullet.vPFX = "flame"; - bullet.incendiary = 10; - - bullet.damageType = ModDamageSource.s_flamethrower; - bullet.dmgProj = false; - bullet.dmgFire = true; - - bullet.bntImpact = new IBulletImpactBehaviorNT() { - - @Override - public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z, int sideHit) { - - if(!bullet.worldObj.isRemote) { - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "vanillaburst"); - data.setString("mode", "flame"); - data.setInteger("count", 15); - data.setDouble("motion", 0.1D); - - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 50)); - } - } - }; - - return bullet; - } - - public static BulletConfiguration getNapalmConfig() { - - BulletConfiguration bullet = getFlameConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.NAPALM)); - bullet.wear = 2; - bullet.dmgMin = 4; - bullet.dmgMax = 6; - bullet.maxAge = 200; - - return bullet; - } - - public static BulletConfiguration getPhosphorusConfig() { - - BulletConfiguration bullet = getFlameConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.PHOSPHORUS)); - bullet.wear = 2; - bullet.spread = 0.0F; - bullet.bulletsMin = 1; - bullet.bulletsMax = 1; - bullet.dmgMin = 4; - bullet.dmgMax = 6; - bullet.maxAge = 200; - bullet.vPFX = "smoke"; - - bullet.bntImpact = BulletConfigFactory.getPhosphorousEffect(5, 60 * 20, 25, 0.25, 0.1F); - - return bullet; - } - - public static BulletConfiguration getVaporizerConfig() { - - BulletConfiguration bullet = getFlameConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.VAPORIZER)); - bullet.wear = 4; - bullet.spread = 0.25F; - bullet.bulletsMin = 8; - bullet.bulletsMax = 10; - bullet.dmgMin = 6; - bullet.dmgMax = 10; - bullet.maxAge = 15; - bullet.vPFX = "flame"; - bullet.incendiary = 0; - - bullet.dmgBypass = true; - - PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, 20 * 20, 0, true); - eff.getCurativeItems().clear(); - bullet.effects = new ArrayList(); - bullet.effects.add(new PotionEffect(eff)); - - return bullet; - } - - public static BulletConfiguration getGasConfig() { - - BulletConfiguration bullet = getFlameConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.CHLORINE)); - bullet.wear = 1; - bullet.spread = 0.05F; - bullet.gravity = 0D; - bullet.bulletsMin = 5; - bullet.bulletsMax = 7; - bullet.dmgMin = 0; - bullet.dmgMax = 0; - bullet.vPFX = "cloud"; - bullet.incendiary = 0; - - bullet.dmgFire = false; - - bullet.bntImpact = BulletConfigFactory.getGasEffect(5, 60 * 20); - - return bullet; - } - - public static BulletConfiguration getFextConfig() { - - BulletConfiguration bullet = new BulletConfiguration(); - - bullet.ammo = new ComparableStack(ModItems.ammo_fireext.stackFromEnum(AmmoFireExt.WATER)); - bullet.ammoCount = 300; - - bullet.velocity = 0.75F; - bullet.spread = 0.025F; - bullet.wear = 1; - bullet.bulletsMin = 2; - bullet.bulletsMax = 3; - bullet.dmgMin = 0; - bullet.dmgMax = 0; - bullet.gravity = 0.04D; - bullet.maxAge = 100; - bullet.doesRicochet = false; - bullet.doesPenetrate = true; - bullet.doesBreakGlass = false; - bullet.style = BulletConfiguration.STYLE_NONE; - bullet.plink = BulletConfiguration.PLINK_NONE; - - bullet.bntHurt = (bulletEntity, target) -> { target.extinguish(); }; - - bullet.bntImpact = new IBulletImpactBehaviorNT() { - - @Override - public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z, int sideHit) { - - if(!bullet.worldObj.isRemote) { - - int ix = (int)Math.floor(bullet.posX); - int iy = (int)Math.floor(bullet.posY); - int iz = (int)Math.floor(bullet.posZ); - - boolean fizz = false; - - for(int i = -1; i <= 1; i++) { - for(int j = -1; j <= 1; j++) { - for(int k = -1; k <= 1; k++) { - - if(bullet.worldObj.getBlock(ix + i, iy + j, iz + k) == Blocks.fire) { - bullet.worldObj.setBlock(ix + i, iy + j, iz + k, Blocks.air); - fizz = true; - } - } - } - } - - TileEntity core = CompatExternal.getCoreFromPos(bullet.worldObj, ix, iy, iz); - if(core instanceof IRepairable) { - ((IRepairable) core).tryExtinguish(bullet.worldObj, ix, iy, iz, EnumExtinguishType.WATER); - } - - if(fizz) - bullet.worldObj.playSoundEffect(bullet.posX, bullet.posY, bullet.posZ, "random.fizz", 1.0F, 1.5F + bullet.worldObj.rand.nextFloat() * 0.5F); - } - } - }; - - bullet.bntUpdate = new IBulletUpdateBehaviorNT() { - - @Override - public void behaveUpdate(EntityBulletBaseNT bullet) { - - if(bullet.worldObj.isRemote) { - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "vanillaExt"); - data.setString("mode", "blockdust"); - data.setInteger("block", Block.getIdFromBlock(Blocks.water)); - data.setDouble("posX", bullet.posX); - data.setDouble("posY", bullet.posY); - data.setDouble("posZ", bullet.posZ); - data.setDouble("mX", bullet.motionX + bullet.worldObj.rand.nextGaussian() * 0.05); - data.setDouble("mY", bullet.motionY - 0.2 + bullet.worldObj.rand.nextGaussian() * 0.05); - data.setDouble("mZ", bullet.motionZ + bullet.worldObj.rand.nextGaussian() * 0.05); - MainRegistry.proxy.effectNT(data); - } else { - - int x = (int)Math.floor(bullet.posX); - int y = (int)Math.floor(bullet.posY); - int z = (int)Math.floor(bullet.posZ); - - if(bullet.worldObj.getBlock(x, y, z) == ModBlocks.volcanic_lava_block && bullet.worldObj.getBlockMetadata(x, y, z) == 0) { - bullet.worldObj.setBlock(x, y, z, Blocks.obsidian); - bullet.setDead(); - } - } - } - }; - - return bullet; - } - - public static BulletConfiguration getFextFoamConfig() { - - BulletConfiguration bullet = getFextConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_fireext.stackFromEnum(AmmoFireExt.FOAM)); - bullet.spread = 0.05F; - - bullet.bntImpact = new IBulletImpactBehaviorNT() { - - @Override - public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z, int sideHit) { - - if(!bullet.worldObj.isRemote) { - - int ix = (int)Math.floor(bullet.posX); - int iy = (int)Math.floor(bullet.posY); - int iz = (int)Math.floor(bullet.posZ); - - boolean fizz = false; - - for(int i = -1; i <= 1; i++) { - for(int j = -1; j <= 1; j++) { - for(int k = -1; k <= 1; k++) { - - Block b = bullet.worldObj.getBlock(ix + i, iy + j, iz + k); - - if(b.getMaterial() == Material.fire) { - bullet.worldObj.setBlock(ix + i, iy + j, iz + k, Blocks.air); - fizz = true; - } - } - } - } - - Block b = bullet.worldObj.getBlock(ix, iy, iz); - - TileEntity core = CompatExternal.getCoreFromPos(bullet.worldObj, ix, iy, iz); - if(core instanceof IRepairable) { - ((IRepairable) core).tryExtinguish(bullet.worldObj, ix, iy, iz, EnumExtinguishType.FOAM); - return; - } - - if(b.isReplaceable(bullet.worldObj, ix, iy, iz) && ModBlocks.foam_layer.canPlaceBlockAt(bullet.worldObj, ix, iy, iz)) { - - if(b != ModBlocks.foam_layer) { - bullet.worldObj.setBlock(ix, iy, iz, ModBlocks.foam_layer); - } else { - int meta = bullet.worldObj.getBlockMetadata(ix, iy, iz); - - if(meta < 6) - bullet.worldObj.setBlockMetadataWithNotify(ix, iy, iz, meta + 1, 3); - else - bullet.worldObj.setBlock(ix, iy, iz, ModBlocks.block_foam); - } - } - - if(fizz) - bullet.worldObj.playSoundEffect(bullet.posX, bullet.posY, bullet.posZ, "random.fizz", 1.0F, 1.5F + bullet.worldObj.rand.nextFloat() * 0.5F); - } - } - }; - - bullet.bntUpdate = new IBulletUpdateBehaviorNT() { - - @Override - public void behaveUpdate(EntityBulletBaseNT bullet) { - - if(bullet.worldObj.isRemote) { - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "vanillaExt"); - data.setString("mode", "blockdust"); - data.setInteger("block", Block.getIdFromBlock(ModBlocks.block_foam)); - data.setDouble("posX", bullet.posX); - data.setDouble("posY", bullet.posY); - data.setDouble("posZ", bullet.posZ); - data.setDouble("mX", bullet.motionX + bullet.worldObj.rand.nextGaussian() * 0.05); - data.setDouble("mY", bullet.motionY - 0.2 + bullet.worldObj.rand.nextGaussian() * 0.05); - data.setDouble("mZ", bullet.motionZ + bullet.worldObj.rand.nextGaussian() * 0.05); - MainRegistry.proxy.effectNT(data); - } - } - }; - - return bullet; - } - - public static BulletConfiguration getFextSandConfig() { - - BulletConfiguration bullet = getFextConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_fireext.stackFromEnum(AmmoFireExt.SAND)); - bullet.spread = 0.1F; - - bullet.bntHurt = null; // does not extinguish entities - - bullet.bntImpact = new IBulletImpactBehaviorNT() { - - @Override - public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z, int sideHit) { - - if(!bullet.worldObj.isRemote) { - - int ix = (int)Math.floor(bullet.posX); - int iy = (int)Math.floor(bullet.posY); - int iz = (int)Math.floor(bullet.posZ); - - Block b = bullet.worldObj.getBlock(ix, iy, iz); - - TileEntity core = CompatExternal.getCoreFromPos(bullet.worldObj, ix, iy, iz); - if(core instanceof IRepairable) { - ((IRepairable) core).tryExtinguish(bullet.worldObj, ix, iy, iz, EnumExtinguishType.SAND); - return; - } - - if((b.isReplaceable(bullet.worldObj, ix, iy, iz) || b == ModBlocks.sand_boron_layer) && ModBlocks.sand_boron_layer.canPlaceBlockAt(bullet.worldObj, ix, iy, iz)) { - - if(b != ModBlocks.sand_boron_layer) { - bullet.worldObj.setBlock(ix, iy, iz, ModBlocks.sand_boron_layer); - } else { - int meta = bullet.worldObj.getBlockMetadata(ix, iy, iz); - - if(meta < 6) - bullet.worldObj.setBlockMetadataWithNotify(ix, iy, iz, meta + 1, 3); - else - bullet.worldObj.setBlock(ix, iy, iz, ModBlocks.sand_boron); - } - - if(b.getMaterial() == Material.fire) - bullet.worldObj.playSoundEffect(bullet.posX, bullet.posY, bullet.posZ, "random.fizz", 1.0F, 1.5F + bullet.worldObj.rand.nextFloat() * 0.5F); - } - } - } - }; - - bullet.bntUpdate = new IBulletUpdateBehaviorNT() { - - @Override - public void behaveUpdate(EntityBulletBaseNT bullet) { - - if(bullet.worldObj.isRemote) { - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "vanillaExt"); - data.setString("mode", "blockdust"); - data.setInteger("block", Block.getIdFromBlock(ModBlocks.sand_boron)); - data.setDouble("posX", bullet.posX); - data.setDouble("posY", bullet.posY); - data.setDouble("posZ", bullet.posZ); - data.setDouble("mX", bullet.motionX + bullet.worldObj.rand.nextGaussian() * 0.1); - data.setDouble("mY", bullet.motionY - 0.2 + bullet.worldObj.rand.nextGaussian() * 0.1); - data.setDouble("mZ", bullet.motionZ + bullet.worldObj.rand.nextGaussian() * 0.1); - MainRegistry.proxy.effectNT(data); - } - } - }; - - return bullet; - } - - public static BulletConfiguration getZOMGBoltConfig() { - - BulletConfiguration bullet = new BulletConfiguration(); - - bullet.ammo = new ComparableStack(ModItems.nugget_euphemium); - bullet.ammoCount = 1000; - bullet.wear = 1; - bullet.velocity = 1F; - bullet.spread = 0.125F; - bullet.maxAge = 100; - bullet.gravity = 0D; - bullet.bulletsMin = 5; - bullet.bulletsMax = 5; - bullet.dmgMin = 10000; - bullet.dmgMax = 25000; - bullet.liveAfterImpact = true; - - bullet.damageType = ModDamageSource.s_zomg_prefix; - bullet.dmgProj = false; - bullet.dmgBypass = true; - - bullet.style = bullet.STYLE_BOLT; - bullet.trail = bullet.BOLT_ZOMG; - - bullet.effects = new ArrayList(); - bullet.effects.add(new PotionEffect(HbmPotion.bang.id, 10 * 20, 0)); - - bullet.bntImpact = new IBulletImpactBehaviorNT() { - - @Override - public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z, int sideHit) { - - if(!bullet.worldObj.isRemote) { - ExplosionChaos.explodeZOMG(bullet.worldObj, (int)Math.floor(bullet.posX), (int)Math.floor(bullet.posY), (int)Math.floor(bullet.posZ), 5); - bullet.worldObj.playSoundEffect(bullet.posX, bullet.posY, bullet.posZ, "hbm:entity.bombDet", 5.0F, 1.0F); - ExplosionLarge.spawnParticles(bullet.worldObj, bullet.posX, bullet.posY, bullet.posZ, 5); - } - } - }; - - return bullet; - } - - public static BulletConfiguration getCryoConfig() { - BulletConfiguration bullet = new BulletConfiguration(); - bullet.ammo = new ComparableStack(ModItems.gun_cryolator_ammo); - bullet.ammoCount = 100; - bullet.bulletsMin = 1; - bullet.bulletsMax = 1; - return bullet; - } public static BulletConfiguration getTurbineConfig() { @@ -850,11 +22,4 @@ public class GunEnergyFactory { return bullet; } - - public static BulletConfiguration getTurretConfig() { - BulletConfiguration bullet = getFlameConfig(); - bullet.spread *= 2F; - bullet.gravity = 0.0025D; - return bullet; - } } diff --git a/src/main/java/com/hbm/handler/guncfg/GunFatmanFactory.java b/src/main/java/com/hbm/handler/guncfg/GunFatmanFactory.java deleted file mode 100644 index 5ed0b21db..000000000 --- a/src/main/java/com/hbm/handler/guncfg/GunFatmanFactory.java +++ /dev/null @@ -1,544 +0,0 @@ -package com.hbm.handler.guncfg; - -import java.util.ArrayList; - -import com.hbm.blocks.ModBlocks; -import com.hbm.entity.projectile.EntityBulletBaseNT; -import com.hbm.entity.projectile.EntityBulletBaseNT.*; -import com.hbm.explosion.ExplosionLarge; -import com.hbm.explosion.ExplosionNT; -import com.hbm.explosion.ExplosionNukeSmall; -import com.hbm.explosion.ExplosionNT.ExAttrib; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.GunConfiguration; -import com.hbm.handler.radiation.ChunkRadiationManager; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ModItems; -import com.hbm.items.ItemAmmoEnums.AmmoFatman; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.init.Blocks; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; - -public class GunFatmanFactory { - - public static GunConfiguration getFatmanConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 20; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 120; - config.firingDuration = 0; - config.ammoCap = 1; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CIRCUMFLEX; - config.firingSound = "hbm:weapon.fatmanShoot"; - config.reloadSound = GunConfiguration.RSOUND_FATMAN; - config.reloadSoundEnd = false; - - config.name = "m42"; - config.manufacturer = EnumGunManufacturer.F_STRONG; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.NUKE_NORMAL); - config.config.add(BulletConfigSyncingUtil.NUKE_LOW); - config.config.add(BulletConfigSyncingUtil.NUKE_HIGH); - config.config.add(BulletConfigSyncingUtil.NUKE_TOTS); - config.config.add(BulletConfigSyncingUtil.NUKE_SAFE); - config.config.add(BulletConfigSyncingUtil.NUKE_PUMPKIN); - config.config.add(BulletConfigSyncingUtil.NUKE_BARREL); - config.durability = 1000; - - return config; - } - - public static GunConfiguration getMIRVConfig() { - - GunConfiguration config = getFatmanConfig(); - - config.name = "m42MIRV"; - config.manufacturer = EnumGunManufacturer.F_STRONG; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.NUKE_MIRV_NORMAL); - config.config.add(BulletConfigSyncingUtil.NUKE_MIRV_LOW); - config.config.add(BulletConfigSyncingUtil.NUKE_MIRV_HIGH); - config.config.add(BulletConfigSyncingUtil.NUKE_MIRV_SAFE); - config.config.add(BulletConfigSyncingUtil.NUKE_MIRV_SPECIAL); - config.durability = 1000; - - return config; - } - - public static GunConfiguration getBELConfig() { - - GunConfiguration config = getFatmanConfig(); - - config.name = "bel"; - config.manufacturer = EnumGunManufacturer.F_STRONG; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.NUKE_AMAT); - - return config; - } - - public static GunConfiguration getProtoConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 20; - config.roundsPerCycle = 8; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 120; - config.firingDuration = 0; - config.ammoCap = 8; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CIRCUMFLEX; - config.firingSound = "hbm:weapon.fatmanShoot"; - config.reloadSound = GunConfiguration.RSOUND_FATMAN; - config.reloadSoundEnd = false; - - config.name = "m42"; - config.manufacturer = EnumGunManufacturer.F_STRONG; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.NUKE_PROTO_NORMAL); - config.config.add(BulletConfigSyncingUtil.NUKE_PROTO_LOW); - config.config.add(BulletConfigSyncingUtil.NUKE_PROTO_HIGH); - config.config.add(BulletConfigSyncingUtil.NUKE_PROTO_TOTS); - config.config.add(BulletConfigSyncingUtil.NUKE_PROTO_SAFE); - config.config.add(BulletConfigSyncingUtil.NUKE_PROTO_PUMPKIN); - config.config.add(BulletConfigSyncingUtil.NUKE_BARREL); - config.durability = 1000; - - return config; - } - - public static BulletConfiguration getNukeConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardNukeConfig(); - bullet.ammo = new ComparableStack(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.STOCK)); - - bullet.bntImpact = new IBulletImpactBehaviorNT() { - - @Override - public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z, int sideHit) { - BulletConfigFactory.nuclearExplosion(bullet, x, y, z, ExplosionNukeSmall.PARAMS_MEDIUM); - } - }; - - return bullet; - } - - public static BulletConfiguration getNukeLowConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardNukeConfig(); - bullet.ammo = new ComparableStack(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.LOW)); - - bullet.bntImpact = new IBulletImpactBehaviorNT() { - - @Override - public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z, int sideHit) { - BulletConfigFactory.nuclearExplosion(bullet, x, y, z, ExplosionNukeSmall.PARAMS_LOW); - } - }; - - return bullet; - } - - public static BulletConfiguration getNukeHighConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardNukeConfig(); - bullet.ammo = new ComparableStack(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.HIGH)); - - bullet.bntImpact = new IBulletImpactBehaviorNT() { - - @Override - public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z, int sideHit) { - BulletConfigFactory.nuclearExplosion(bullet, x, y, z, ExplosionNukeSmall.PARAMS_HIGH); - } - }; - - return bullet; - } - - public static BulletConfiguration getNukeTotsConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardNukeConfig(); - bullet.ammo = new ComparableStack(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.TOTS)); - bullet.bulletsMin = 8; - bullet.bulletsMax = 8; - bullet.spread = 0.1F; - bullet.style = bullet.STYLE_GRENADE; - - bullet.bntImpact = new IBulletImpactBehaviorNT() { - - @Override - public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z, int sideHit) { - BulletConfigFactory.nuclearExplosion(bullet, x, y, z, ExplosionNukeSmall.PARAMS_TOTS); - } - }; - - return bullet; - } - - public static BulletConfiguration getNukeSafeConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardNukeConfig(); - bullet.ammo = new ComparableStack(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.SAFE)); - - bullet.bntImpact = new IBulletImpactBehaviorNT() { - - @Override - public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z, int sideHit) { - BulletConfigFactory.nuclearExplosion(bullet, x, y, z, ExplosionNukeSmall.PARAMS_SAFE); - } - }; - - return bullet; - } - - public static BulletConfiguration getNukePumpkinConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardNukeConfig(); - bullet.ammo = new ComparableStack(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.PUMPKIN)); - bullet.explosive = 10F; - - bullet.bntImpact = new IBulletImpactBehaviorNT() { - - @Override - public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z, int sideHit) { - - if(!bullet.worldObj.isRemote) { - - double posX = bullet.posX; - double posY = bullet.posY + 0.5; - double posZ = bullet.posZ; - - if(y >= 0) { - posX = x + 0.5; - posY = y + 1.5; - posZ = z + 0.5; - } - - ExplosionLarge.spawnParticles(bullet.worldObj, posX, posY, posZ, 45); - } - } - }; - - return bullet; - } - - public static BulletConfiguration getNukeBarrelConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardNukeConfig(); - bullet.ammo = new ComparableStack(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.BARREL)); - bullet.explosive = 3F; - bullet.style = bullet.STYLE_BARREL; - - bullet.bntImpact = new IBulletImpactBehaviorNT() { - - @Override - public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z, int sideHit) { - - if(!bullet.worldObj.isRemote) { - - double posX = bullet.posX; - double posY = bullet.posY + 0.5; - double posZ = bullet.posZ; - - if(y >= 0) { - posX = x + 0.5; - posY = y + 1.5; - posZ = z + 0.5; - } - - x = (int)Math.floor(posX); - y = (int)Math.floor(posY); - z = (int)Math.floor(posZ); - - World worldObj = bullet.worldObj; - - for(int ix = x - 3; ix <= x + 3; ix++) { - for(int iy = y - 3; iy <= y + 3; iy++) { - for(int iz = z - 3; iz <= z + 3; iz++) { - - if(worldObj.rand.nextInt(3) == 0 && worldObj.getBlock(ix, iy, iz).isReplaceable(worldObj, ix, iy, iz) && ModBlocks.fallout.canPlaceBlockAt(worldObj, ix, iy, iz)) { - worldObj.setBlock(ix, iy, iz, ModBlocks.fallout); - } else if(worldObj.getBlock(ix, iy, iz) == Blocks.air) { - - if(worldObj.rand.nextBoolean()) - worldObj.setBlock(ix, iy, iz, ModBlocks.gas_radon); - else - worldObj.setBlock(ix, iy, iz, ModBlocks.gas_radon_dense); - } - } - } - } - - ChunkRadiationManager.proxy.incrementRad(worldObj, x, y, z, 100F); - - ExplosionLarge.spawnParticles(bullet.worldObj, posX, posY, posZ, 45); - } - } - }; - - return bullet; - } - - public static BulletConfiguration getMirvConfig() { - - BulletConfiguration bullet = getNukeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV)); - bullet.style = BulletConfiguration.STYLE_MIRV; - bullet.velocity *= 3; - - bullet.bntUpdate = new IBulletUpdateBehaviorNT() { - - @Override - public void behaveUpdate(EntityBulletBaseNT bullet) { - - if(bullet.worldObj.isRemote) - return; - - if(bullet.ticksExisted == 15) { - bullet.setDead(); - - for(int i = 0; i < 6; i++) { - - EntityBulletBaseNT nuke = new EntityBulletBaseNT(bullet.worldObj, BulletConfigSyncingUtil.NUKE_NORMAL); - nuke.setPosition(bullet.posX, bullet.posY, bullet.posZ); - double mod = 0.1D; - nuke.motionX = bullet.worldObj.rand.nextGaussian() * mod; - nuke.motionY = -0.1D; - nuke.motionZ = bullet.worldObj.rand.nextGaussian() * mod; - bullet.worldObj.spawnEntityInWorld(nuke); - } - } - } - - }; - - return bullet; - } - - public static BulletConfiguration getMirvLowConfig() { - - BulletConfiguration bullet = getNukeLowConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV_LOW)); - bullet.style = BulletConfiguration.STYLE_MIRV; - bullet.velocity *= 3; - - bullet.bntUpdate = new IBulletUpdateBehaviorNT() { - - @Override - public void behaveUpdate(EntityBulletBaseNT bullet) { - - if(bullet.worldObj.isRemote) - return; - - if(bullet.ticksExisted == 15) { - bullet.setDead(); - - for(int i = 0; i < 6; i++) { - - EntityBulletBaseNT nuke = new EntityBulletBaseNT(bullet.worldObj, BulletConfigSyncingUtil.NUKE_LOW); - nuke.setPosition(bullet.posX, bullet.posY, bullet.posZ); - double mod = 0.1D; - nuke.motionX = bullet.worldObj.rand.nextGaussian() * mod; - nuke.motionY = -0.1D; - nuke.motionZ = bullet.worldObj.rand.nextGaussian() * mod; - bullet.worldObj.spawnEntityInWorld(nuke); - } - } - } - - }; - - return bullet; - } - - public static BulletConfiguration getMirvHighConfig() { - - BulletConfiguration bullet = getNukeHighConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV_HIGH)); - bullet.style = BulletConfiguration.STYLE_MIRV; - bullet.velocity *= 3; - - bullet.bntUpdate = new IBulletUpdateBehaviorNT() { - - @Override - public void behaveUpdate(EntityBulletBaseNT bullet) { - - if(bullet.worldObj.isRemote) - return; - - if(bullet.ticksExisted == 15) { - bullet.setDead(); - - for(int i = 0; i < 6; i++) { - - EntityBulletBaseNT nuke = new EntityBulletBaseNT(bullet.worldObj, BulletConfigSyncingUtil.NUKE_HIGH); - nuke.setPosition(bullet.posX, bullet.posY, bullet.posZ); - double mod = 0.1D; - nuke.motionX = bullet.worldObj.rand.nextGaussian() * mod; - nuke.motionY = -0.1D; - nuke.motionZ = bullet.worldObj.rand.nextGaussian() * mod; - bullet.worldObj.spawnEntityInWorld(nuke); - } - } - } - - }; - - return bullet; - } - - public static BulletConfiguration getMirvSafeConfig() { - - BulletConfiguration bullet = getNukeSafeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV_SAFE)); - bullet.style = BulletConfiguration.STYLE_MIRV; - bullet.velocity *= 3; - - bullet.bntUpdate = new IBulletUpdateBehaviorNT() { - - @Override - public void behaveUpdate(EntityBulletBaseNT bullet) { - - if(bullet.worldObj.isRemote) - return; - - if(bullet.ticksExisted == 15) { - bullet.setDead(); - - for(int i = 0; i < 6; i++) { - - EntityBulletBaseNT nuke = new EntityBulletBaseNT(bullet.worldObj, BulletConfigSyncingUtil.NUKE_SAFE); - nuke.setPosition(bullet.posX, bullet.posY, bullet.posZ); - double mod = 0.1D; - nuke.motionX = bullet.worldObj.rand.nextGaussian() * mod; - nuke.motionY = -0.1D; - nuke.motionZ = bullet.worldObj.rand.nextGaussian() * mod; - bullet.worldObj.spawnEntityInWorld(nuke); - } - } - } - - }; - - return bullet; - } - - public static BulletConfiguration getMirvSpecialConfig() { - - BulletConfiguration bullet = getNukeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV_SPECIAL)); - bullet.style = BulletConfiguration.STYLE_MIRV; - bullet.velocity *= 3; - - bullet.bntUpdate = new IBulletUpdateBehaviorNT() { - - @Override - public void behaveUpdate(EntityBulletBaseNT bullet) { - - if(bullet.worldObj.isRemote) - return; - - if(bullet.ticksExisted == 15) { - bullet.setDead(); - - for(int i = 0; i < 24; i++) { - - EntityBulletBaseNT nuke = null; - - if(i < 6) - nuke = new EntityBulletBaseNT(bullet.worldObj, BulletConfigSyncingUtil.NUKE_LOW); - else if(i < 12) - nuke = new EntityBulletBaseNT(bullet.worldObj, BulletConfigSyncingUtil.NUKE_TOTS); - else if(i < 18) - nuke = new EntityBulletBaseNT(bullet.worldObj, BulletConfigSyncingUtil.NUKE_NORMAL); - else - nuke = new EntityBulletBaseNT(bullet.worldObj, BulletConfigSyncingUtil.NUKE_AMAT); - - nuke.setPosition(bullet.posX, bullet.posY, bullet.posZ); - - double mod = 0.25D; - nuke.motionX = bullet.worldObj.rand.nextGaussian() * mod; - nuke.motionY = -0.1D; - nuke.motionZ = bullet.worldObj.rand.nextGaussian() * mod; - bullet.worldObj.spawnEntityInWorld(nuke); - } - } - } - - }; - - return bullet; - } - - public static BulletConfiguration getBalefireConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardNukeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.BALEFIRE)); - bullet.style = BulletConfiguration.STYLE_BF; - - bullet.bntImpact = new IBulletImpactBehaviorNT() { - @Override public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z, int sideHit) { - - if(!bullet.worldObj.isRemote) { - - double posX = bullet.posX; - double posY = bullet.posY + 0.5; - double posZ = bullet.posZ; - - if(y >= 0) { - posX = x + 0.5; - posY = y + 1.5; - posZ = z + 0.5; - } - - bullet.worldObj.playSoundEffect(x, y, z, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); - - ExplosionLarge.spawnShrapnels(bullet.worldObj, posX, posY, posZ, 25); - - ExplosionNT exp = new ExplosionNT(bullet.worldObj, null, posX, posY, posZ, 15F) - .addAttrib(ExAttrib.BALEFIRE) - .addAttrib(ExAttrib.NOPARTICLE) - .addAttrib(ExAttrib.NOSOUND) - .addAttrib(ExAttrib.NODROP) - .overrideResolution(64); - exp.doExplosionA(); - exp.doExplosionB(false); - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "muke"); - data.setBoolean("balefire", true); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y + 0.5, z), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 250)); - } - } - }; - - return bullet; - } - -} diff --git a/src/main/java/com/hbm/handler/guncfg/GunGaussFactory.java b/src/main/java/com/hbm/handler/guncfg/GunGaussFactory.java deleted file mode 100644 index 905f80321..000000000 --- a/src/main/java/com/hbm/handler/guncfg/GunGaussFactory.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.hbm.handler.guncfg; - -import java.util.ArrayList; - -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ModItems; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationSequence; -import com.hbm.render.anim.HbmAnimations.AnimType; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -public class GunGaussFactory { - - public static GunConfiguration getXVLConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 4; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.reloadDuration = 20; - config.firingDuration = 0; - config.ammoCap = 0; - config.reloadType = GunConfiguration.RELOAD_NONE; - config.allowsInfinity = true; - config.crosshair = Crosshair.CIRCLE; - config.durability = 15000; - config.firingSound = "hbm:weapon.tauShoot"; - config.firingVolume = 0.5F; - - config.name = "tau"; - config.manufacturer = EnumGunManufacturer.BLACK_MESA; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.SPECIAL_GAUSS); - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("RECOIL", new BusAnimationSequence() - .addKeyframePosition(1, 0, 0, 25) - .addKeyframePosition(0, 0, 0, 75) - ) - ); - - return config; - } - - public static GunConfiguration getChargedConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 10; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.reloadDuration = 1; - config.firingDuration = 0; - config.ammoCap = 0; - config.reloadType = GunConfiguration.RELOAD_NONE; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_ARROWS; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.SPECIAL_GAUSS_CHARGED); - - return config; - } - - public static BulletConfiguration getGaussConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.gun_xvl1456_ammo); - bullet.dmgMin = 18; - bullet.dmgMax = 27; - bullet.style = bullet.STYLE_TAU; - bullet.LBRC = 80; - bullet.HBRC = 5; - - return bullet; - } - - public static BulletConfiguration getAltConfig() { - - BulletConfiguration bullet = getGaussConfig(); - - bullet.trail = 1; - - return bullet; - } -} diff --git a/src/main/java/com/hbm/handler/guncfg/GunGrenadeFactory.java b/src/main/java/com/hbm/handler/guncfg/GunGrenadeFactory.java deleted file mode 100644 index 1d7f84c1f..000000000 --- a/src/main/java/com/hbm/handler/guncfg/GunGrenadeFactory.java +++ /dev/null @@ -1,393 +0,0 @@ -package com.hbm.handler.guncfg; - -import com.hbm.entity.projectile.EntityBulletBaseNT; -import com.hbm.explosion.ExplosionNukeSmall; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.CasingEjector; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ModItems; -import com.hbm.items.ItemAmmoEnums.AmmoGrenade; -import com.hbm.lib.HbmCollection; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.main.ResourceManager; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; -import com.hbm.particle.SpentCasing; -import com.hbm.particle.SpentCasing.CasingType; -import com.hbm.render.anim.HbmAnimations.AnimType; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.MathHelper; -import net.minecraft.util.Vec3; - -public class GunGrenadeFactory { - - private static final CasingEjector EJECTOR_LAUNCHER; - private static final CasingEjector EJECTOR_CONGOLAKE; - private static final SpentCasing CASING40MM; - - static { - EJECTOR_LAUNCHER = new CasingEjector().setAngleRange(0.02F, 0.03F).setAfterReload(); - EJECTOR_CONGOLAKE = new CasingEjector().setMotion(0.3, 0.1, 0).setAngleRange(0.02F, 0.03F).setDelay(15); - CASING40MM = new SpentCasing(CasingType.STRAIGHT).setScale(4F, 4F, 3F).setBounceMotion(0.02F, 0.03F).setColor(SpentCasing.COLOR_CASE_40MM, 0x4B5443).setupSmoke(1F, 0.5D, 60, 40); - } - - public static GunConfiguration getHK69Config() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 30; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.hasSights = true; - config.zoomFOV = 0.66F; - config.reloadDuration = 40; - config.firingDuration = 0; - config.ammoCap = 1; - config.reloadType = GunConfiguration.RELOAD_SINGLE; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CIRCUMFLEX; - config.firingSound = "hbm:weapon.hkShoot"; - config.reloadSound = GunConfiguration.RSOUND_GRENADE; - config.reloadSoundEnd = false; - - config.name = "gPistol"; - config.manufacturer = EnumGunManufacturer.H_AND_K; - - config.config = HbmCollection.grenade; - config.durability = 300; - - config.ejector = EJECTOR_LAUNCHER; - - return config; - } - - public static GunConfiguration getCongoConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 24; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 16; - config.firingDuration = 0; - config.ammoCap = 4; - config.reloadType = GunConfiguration.RELOAD_SINGLE; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CIRCUMFLEX; - config.firingSound = "hbm:weapon.glShoot"; - config.reloadSound = GunConfiguration.RSOUND_GRENADE_NEW; - config.reloadSoundEnd = false; - - config.name = "congoLake"; - config.manufacturer = EnumGunManufacturer.NAWS; - - config.config = HbmCollection.grenade; - config.durability = 2500; - - config.ejector = EJECTOR_CONGOLAKE; - - config.reloadAnimationsSequential = true; - - config.loadAnimations = i -> { - config.animations.put(AnimType.CYCLE, ResourceManager.congolake_anim.get("Fire")); - config.animations.put(AnimType.CYCLE_EMPTY, ResourceManager.congolake_anim.get("FireEmpty")); - config.animations.put(AnimType.RELOAD, ResourceManager.congolake_anim.get("ReloadStart")); - config.animations.put(AnimType.RELOAD_EMPTY, ResourceManager.congolake_anim.get("ReloadEmpty")); - config.animations.put(AnimType.RELOAD_CYCLE, ResourceManager.congolake_anim.get("Reload")); - config.animations.put(AnimType.RELOAD_END, ResourceManager.congolake_anim.get("ReloadEnd")); - }; - - return config; - } - - public static BulletConfiguration getGrenadeConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardGrenadeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.STOCK)); - bullet.velocity = 2.0F; - bullet.dmgMin = 10; - bullet.dmgMax = 15; - bullet.wear = 10; - bullet.trail = 0; - - bullet.spentCasing = CASING40MM.clone().register("40MMStock"); - - return bullet; - } - - public static BulletConfiguration getGrenadeHEConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardGrenadeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.HE)); - bullet.velocity = 2.0F; - bullet.dmgMin = 20; - bullet.dmgMax = 15; - bullet.wear = 15; - bullet.explosive = 5.0F; - bullet.trail = 1; - - bullet.spentCasing = CASING40MM.clone().register("40MMHE"); - - return bullet; - } - - public static BulletConfiguration getGrenadeIncendirayConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardGrenadeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.INCENDIARY)); - bullet.velocity = 2.0F; - bullet.dmgMin = 15; - bullet.dmgMax = 15; - bullet.wear = 15; - bullet.trail = 0; - bullet.incendiary = 2; - - bullet.spentCasing = CASING40MM.clone().register("40MMInc"); - - return bullet; - } - - public static BulletConfiguration getGrenadePhosphorusConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardGrenadeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.PHOSPHORUS)); - bullet.velocity = 2.0F; - bullet.dmgMin = 15; - bullet.dmgMax = 15; - bullet.wear = 15; - bullet.trail = 0; - bullet.incendiary = 2; - - bullet.bntImpact = BulletConfigFactory.getPhosphorousEffect(10, 60 * 20, 100, 0.5D, 1F); - - bullet.spentCasing = CASING40MM.clone().register("40MMPhos"); - - return bullet; - } - - public static BulletConfiguration getGrenadeChlorineConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardGrenadeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.CHLORINE)); - bullet.velocity = 2.0F; - bullet.dmgMin = 10; - bullet.dmgMax = 15; - bullet.wear = 10; - bullet.trail = 3; - bullet.explosive = 0; - bullet.chlorine = 50; - - bullet.spentCasing = CASING40MM.clone().register("40MMTox"); - - return bullet; - } - - public static BulletConfiguration getGrenadeSleekConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardGrenadeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.SLEEK)); - bullet.velocity = 2.0F; - bullet.dmgMin = 10; - bullet.dmgMax = 15; - bullet.wear = 10; - bullet.trail = 4; - bullet.explosive = 7.5F; - bullet.jolt = 6.5D; - - bullet.spentCasing = CASING40MM.clone().register("40MMIF").setColor(SpentCasing.COLOR_CASE_40MM, 0x1C1C1C); - - return bullet; - } - - public static BulletConfiguration getGrenadeConcussionConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardGrenadeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.CONCUSSION)); - bullet.velocity = 2.0F; - bullet.dmgMin = 15; - bullet.dmgMax = 20; - bullet.blockDamage = false; - bullet.explosive = 10.0F; - bullet.trail = 3; - - bullet.spentCasing = CASING40MM.clone().register("40MMCon").setColor(SpentCasing.COLOR_CASE_40MM, 0x3D5E1D); - - return bullet; - } - - public static BulletConfiguration getGrenadeFinnedConfig() { - - BulletConfiguration bullet = getGrenadeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.FINNED)); - bullet.gravity = 0.02; - bullet.explosive = 1.5F; - bullet.trail = 5; - - bullet.spentCasing = CASING40MM.clone().register("40MMFin").setColor(SpentCasing.COLOR_CASE_40MM, 0x007FDB); - - return bullet; - } - - public static BulletConfiguration getGrenadeNuclearConfig() { - - BulletConfiguration bullet = getGrenadeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.NUCLEAR)); - bullet.velocity = 4; - bullet.explosive = 0.0F; - - bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { - BulletConfigFactory.nuclearExplosion(bulletnt, x, y, z, ExplosionNukeSmall.PARAMS_TOTS); - }; - - bullet.spentCasing = CASING40MM.clone().register("40MMNuke").setColor(SpentCasing.COLOR_CASE_40MM, 0xE2C000); - - return bullet; - } - - public static BulletConfiguration getGrenadeTracerConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardGrenadeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.TRACER)); - bullet.velocity = 2.0F; - bullet.wear = 10; - bullet.explosive = 0F; - bullet.trail = 5; - bullet.vPFX = "bluedust"; - - bullet.spentCasing = CASING40MM.clone().register("40MMTrac").setColor(0xEEEEEE, 0x0075CA); - - return bullet; - } - - public static BulletConfiguration getGrenadeKampfConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.KAMPF)); - bullet.spread = 0.0F; - bullet.gravity = 0.0D; - bullet.wear = 15; - bullet.explosive = 3.5F; - bullet.style = BulletConfiguration.STYLE_GRENADE; - bullet.trail = 4; - bullet.vPFX = "smoke"; - - //bullet.spentCasing = CASING40MM.clone().register("40MMKampf").setColor(0xEBC35E); //does not eject, whole cartridge leaves the gun - - return bullet; - } - - public static BulletConfiguration getGrenadeLeadbursterConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardGrenadeConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.LEADBURSTER)); - bullet.spread = 0.0F; - bullet.gravity = 0.01D; - bullet.explosive = 0F; - bullet.style = BulletConfiguration.STYLE_LEADBURSTER; - bullet.doesRicochet = false; - bullet.doesPenetrate = true; - bullet.vPFX = ""; - - bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { - - switch(sideHit) { - case 0: bulletnt.rotationPitch = (float) (90); break; - case 1: bulletnt.rotationPitch = (float) (-90); break; - case 2: bulletnt.rotationPitch = 0; bulletnt.rotationYaw = 0; break; - case 3: bulletnt.rotationPitch = 0; bulletnt.rotationYaw = (float) 180; break; - case 4: bulletnt.rotationPitch = 0; bulletnt.rotationYaw = 90; break; - case 5: bulletnt.rotationPitch = 0; bulletnt.rotationYaw = (float) -90; break; - } - - Vec3 vec = Vec3.createVectorHelper(0, 0, 1); - vec.rotateAroundX((float) (bulletnt.rotationPitch * Math.PI / 180D)); - vec.rotateAroundY((float) (bulletnt.rotationYaw * Math.PI / 180)); - - double offset = 0.1; - bulletnt.posX -= vec.xCoord * offset; - bulletnt.posY -= vec.yCoord * offset; - bulletnt.posZ -= vec.zCoord * offset; - - bulletnt.ticksExisted = 0; - bulletnt.getStuck(x, y, z, sideHit); - }; - - bullet.bntUpdate = (bulletnt) -> { - if(bulletnt.worldObj.isRemote) return; - - switch(bulletnt.getStuckIn()) { - case 0: bulletnt.rotationPitch = (float) (90); break; - case 1: bulletnt.rotationPitch = (float) (-90); break; - case 2: bulletnt.rotationPitch = 0; bulletnt.rotationYaw = 0; break; - case 3: bulletnt.rotationPitch = 0; bulletnt.rotationYaw = (float) 180; break; - case 4: bulletnt.rotationPitch = 0; bulletnt.rotationYaw = 90; break; - case 5: bulletnt.rotationPitch = 0; bulletnt.rotationYaw = (float) -90; break; - } - - if(bulletnt.ticksInGround < 20) return; - int timer = bulletnt.ticksInGround - 20; - - Vec3 offset = Vec3.createVectorHelper(0, 0, -0.5); - offset.rotateAroundX((float) (bulletnt.rotationPitch * Math.PI / 180D)); - offset.rotateAroundY((float) (bulletnt.rotationYaw * Math.PI / 180)); - - if(bulletnt.ticksExisted >= 100) { - bulletnt.setDead(); - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "vanillaExt"); - data.setString("mode", "largeexplode"); - data.setFloat("size", 1F); - data.setByte("count", (byte)1); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bulletnt.posX + offset.xCoord, bulletnt.posY + offset.yCoord, bulletnt.posZ + offset.zCoord), new TargetPoint(bulletnt.dimension, bulletnt.posX, bulletnt.posY, bulletnt.posZ, 50)); - } - - if(timer > 60) return; - - bulletnt.worldObj.playSoundEffect(bulletnt.posX, bulletnt.posY, bulletnt.posZ, "hbm:weapon.silencerShoot", 2F, 1F); - - for(int i = 0; i < 5; i++) { - Vec3 vec = Vec3.createVectorHelper(0, 1, 0); - vec.rotateAroundX((float) Math.toRadians(11.25 * i)); - vec.rotateAroundZ((float) -Math.toRadians(13 * timer)); - vec.rotateAroundX((float) (bulletnt.rotationPitch * Math.PI / 180D)); - vec.rotateAroundY((float) (bulletnt.rotationYaw * Math.PI / 180)); - - EntityBulletBaseNT pellet = new EntityBulletBaseNT(bulletnt.worldObj, BulletConfigSyncingUtil.R556_NORMAL); - double dist = 0.5; - double off = 0.5; - pellet.setPosition(bulletnt.posX + vec.xCoord * dist + offset.xCoord * off, bulletnt.posY + vec.yCoord * dist + offset.yCoord * off, bulletnt.posZ + vec.zCoord * dist + offset.zCoord * off); - double vel = 0.5; - pellet.motionX = vec.xCoord * vel; - pellet.motionY = vec.yCoord * vel; - pellet.motionZ = vec.zCoord * vel; - - float hyp = MathHelper.sqrt_double(pellet.motionX * pellet.motionX + pellet.motionZ * pellet.motionZ); - pellet.prevRotationYaw = pellet.rotationYaw = (float) (Math.atan2(pellet.motionX, pellet.motionZ) * 180.0D / Math.PI); - pellet.prevRotationPitch = pellet.rotationPitch = (float) (Math.atan2(pellet.motionY, (double) hyp) * 180.0D / Math.PI); - - bulletnt.worldObj.spawnEntityInWorld(pellet); - } - }; - - return bullet; - } -} diff --git a/src/main/java/com/hbm/handler/guncfg/GunNPCFactory.java b/src/main/java/com/hbm/handler/guncfg/GunNPCFactory.java index d7fff5e2b..8b5cb54bb 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunNPCFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunNPCFactory.java @@ -8,12 +8,12 @@ import com.hbm.entity.projectile.EntityBulletBaseNT.IBulletUpdateBehaviorNT; import com.hbm.explosion.ExplosionNukeGeneric; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.util.BobMathUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -26,7 +26,7 @@ import net.minecraft.util.Vec3; public class GunNPCFactory { public static BulletConfiguration getMaskmanOrb() { - + BulletConfiguration bullet = new BulletConfiguration(); bullet.ammo = new ComparableStack(ModItems.coin_maskman); @@ -49,9 +49,9 @@ public class GunNPCFactory { bullet.style = BulletConfiguration.STYLE_ORB; bullet.trail = 1; bullet.explosive = 1.5F; - + bullet.bntUpdate = (bulletnt) -> { - + if(bulletnt.worldObj.isRemote) return; @@ -72,14 +72,14 @@ public class GunNPCFactory { bulletnt.worldObj.spawnEntityInWorld(bolt); } }; - + return bullet; } - + public static BulletConfiguration getMaskmanBolt() { - + BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - + bullet.ammo = new ComparableStack(ModItems.coin_maskman); bullet.spread = 0.0F; bullet.dmgMin = 15; @@ -90,14 +90,14 @@ public class GunNPCFactory { bullet.setToBolt(BulletConfiguration.BOLT_LACUNAE); bullet.vPFX = "reddust"; bullet.damageType = ModDamageSource.s_laser; - + return bullet; } - + public static BulletConfiguration getMaskmanBullet() { - + BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - + bullet.ammo = new ComparableStack(ModItems.coin_maskman); bullet.spread = 0.0F; bullet.dmgMin = 5; @@ -106,14 +106,14 @@ public class GunNPCFactory { bullet.leadChance = 15; bullet.style = BulletConfiguration.STYLE_FLECHETTE; bullet.vPFX = "bluedust"; - + return bullet; } - + public static BulletConfiguration getMaskmanTracer() { - + BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - + bullet.ammo = new ComparableStack(ModItems.coin_maskman); bullet.spread = 0.0F; bullet.dmgMin = 15; @@ -123,9 +123,9 @@ public class GunNPCFactory { bullet.setToBolt(BulletConfiguration.BOLT_NIGHTMARE); bullet.vPFX = "reddust"; bullet.damageType = ModDamageSource.s_laser; - + bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { - + if(bulletnt.worldObj.isRemote) return; @@ -135,14 +135,14 @@ public class GunNPCFactory { meteor.setThrower(bulletnt.getThrower()); bulletnt.worldObj.spawnEntityInWorld(meteor); }; - + return bullet; } - + public static BulletConfiguration getMaskmanRocket() { - + BulletConfiguration bullet = BulletConfigFactory.standardGrenadeConfig(); - + bullet.ammo = new ComparableStack(ModItems.coin_maskman); bullet.gravity = 0.1D; bullet.velocity = 1.0F; @@ -151,14 +151,14 @@ public class GunNPCFactory { bullet.blockDamage = false; bullet.explosive = 5.0F; bullet.style = BulletConfiguration.STYLE_ROCKET; - + return bullet; } - + public static BulletConfiguration getMaskmanMeteor() { - + BulletConfiguration bullet = BulletConfigFactory.standardGrenadeConfig(); - + bullet.ammo = new ComparableStack(ModItems.coin_maskman); bullet.gravity = 0.1D; bullet.velocity = 1.0F; @@ -168,7 +168,7 @@ public class GunNPCFactory { bullet.incendiary = 3; bullet.explosive = 2.5F; bullet.style = BulletConfiguration.STYLE_METEOR; - + bullet.bntUpdate = (bulletnt) -> { if(!bulletnt.worldObj.isRemote) @@ -186,14 +186,14 @@ public class GunNPCFactory { MainRegistry.proxy.effectNT(nbt); } }; - + return bullet; } public static BulletConfiguration getWormBolt() { - + BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - + bullet.ammo = new ComparableStack(ModItems.coin_worm); bullet.spread = 0.0F; bullet.maxAge = 60; @@ -203,14 +203,14 @@ public class GunNPCFactory { bullet.doesRicochet = false; bullet.setToBolt(BulletConfiguration.BOLT_WORM); bullet.damageType = ModDamageSource.s_laser; - + return bullet; } - + public static BulletConfiguration getWormHeadBolt() { - + BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - + bullet.ammo = new ComparableStack(ModItems.coin_worm); bullet.spread = 0.0F; bullet.maxAge = 100; @@ -220,46 +220,46 @@ public class GunNPCFactory { bullet.doesRicochet = false; bullet.setToBolt(BulletConfiguration.BOLT_LASER); bullet.damageType = ModDamageSource.s_laser; - + return bullet; } - + public static BulletConfiguration getRocketUFOConfig() { - + BulletConfiguration bullet = GunRocketFactory.getRocketConfig(); - + bullet.vPFX = "reddust"; bullet.destroysBlocks = false; bullet.explosive = 0F; - + bullet.bntUpdate = new IBulletUpdateBehaviorNT() { - + double angle = 90; double range = 100; @Override public void behaveUpdate(EntityBulletBaseNT bullet) { - + if(bullet.worldObj.isRemote) return; - + if(bullet.worldObj.getEntityByID(bullet.getEntityData().getInteger("homingTarget")) == null) { chooseTarget(bullet); } - + Entity target = bullet.worldObj.getEntityByID(bullet.getEntityData().getInteger("homingTarget")); - + if(target != null) { - + if(bullet.getDistanceSqToEntity(target) < 5) { bullet.getConfig().bntImpact.behaveBlockHit(bullet, -1, -1, -1, -1); bullet.setDead(); return; } - + Vec3 delta = Vec3.createVectorHelper(target.posX - bullet.posX, target.posY + target.height / 2 - bullet.posY, target.posZ - bullet.posZ); delta = delta.normalize(); - + double vel = Vec3.createVectorHelper(bullet.motionX, bullet.motionY, bullet.motionZ).lengthVector(); bullet.motionX = delta.xCoord * vel; @@ -267,45 +267,45 @@ public class GunNPCFactory { bullet.motionZ = delta.zCoord * vel; } } - + private void chooseTarget(EntityBulletBaseNT bullet) { - + List entities = bullet.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, bullet.boundingBox.expand(range, range, range)); - + Vec3 mot = Vec3.createVectorHelper(bullet.motionX, bullet.motionY, bullet.motionZ); - + EntityLivingBase target = null; double targetAngle = angle; - + for(EntityLivingBase e : entities) { - + if(!e.isEntityAlive() || e == bullet.getThrower()) continue; - + Vec3 delta = Vec3.createVectorHelper(e.posX - bullet.posX, e.posY + e.height / 2 - bullet.posY, e.posZ - bullet.posZ); - + if(bullet.worldObj.func_147447_a(Vec3.createVectorHelper(bullet.posX, bullet.posY, bullet.posZ), Vec3.createVectorHelper(e.posX, e.posY + e.height / 2, e.posZ), false, true, false) != null) continue; - + double dist = e.getDistanceSqToEntity(bullet); - + if(dist < range * range) { - + double deltaAngle = BobMathUtil.getCrossAngle(mot, delta); - + if(deltaAngle < targetAngle) { target = e; targetAngle = deltaAngle; } } } - + if(target != null) { bullet.getEntityData().setInteger("homingTarget", target.getEntityId()); } } }; - + bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { bulletnt.worldObj.playSoundEffect(bulletnt.posX, bulletnt.posY, bulletnt.posZ, "hbm:entity.ufoBlast", 5.0F, 0.9F + bulletnt.worldObj.rand.nextFloat() * 0.2F); @@ -321,11 +321,11 @@ public class GunNPCFactory { data.setFloat("pitch", -30F + 30F * i); data.setFloat("yaw", bulletnt.worldObj.rand.nextFloat() * 180F); data.setFloat("scale", 5F); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bulletnt.posX, bulletnt.posY, bulletnt.posZ), + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, bulletnt.posX, bulletnt.posY, bulletnt.posZ), new TargetPoint(bulletnt.worldObj.provider.dimensionId, bulletnt.posX, bulletnt.posY, bulletnt.posZ, 100)); } }; - + return bullet; } } diff --git a/src/main/java/com/hbm/handler/guncfg/GunOSIPRFactory.java b/src/main/java/com/hbm/handler/guncfg/GunOSIPRFactory.java deleted file mode 100644 index deb53436a..000000000 --- a/src/main/java/com/hbm/handler/guncfg/GunOSIPRFactory.java +++ /dev/null @@ -1,139 +0,0 @@ -package com.hbm.handler.guncfg; - -import java.util.ArrayList; - -import com.hbm.blocks.bomb.BlockDetonatable; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ModItems; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.lib.ModDamageSource; -import com.hbm.potion.HbmPotion; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -import net.minecraft.block.Block; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.potion.PotionEffect; - -public class GunOSIPRFactory { - - public static GunConfiguration getOSIPRConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 2; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.reloadDuration = 20; - config.firingDuration = 0; - config.ammoCap = 30; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_ARROWS; - config.durability = 50_000; - config.reloadSound = "hbm:weapon.osiprReload"; - config.firingSound = "hbm:weapon.osiprShoot"; - config.reloadSoundEnd = false; - - config.name = "osipr"; - config.manufacturer = EnumGunManufacturer.COMBINE; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.SPECIAL_OSIPR); - - return config; - } - - public static GunConfiguration getAltConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 15; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 20; - config.firingDuration = 0; - config.ammoCap = 0; - config.reloadType = GunConfiguration.RELOAD_NONE; - config.allowsInfinity = true; - config.firingSound = "hbm:weapon.singFlyby"; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.SPECIAL_OSIPR_CHARGED); - - return config; - } - - static float inaccuracy = 1.25F; - public static BulletConfiguration getPulseConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.gun_osipr_ammo); - bullet.ammoCount = 30; - bullet.doesRicochet = false; - bullet.spread *= inaccuracy; - bullet.dmgMin = 15; - bullet.dmgMax = 21; - bullet.trail = 2; - - return bullet; - } - - public static BulletConfiguration getPulseChargedConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); - - bullet.ammo = new ComparableStack(ModItems.gun_osipr_ammo2); - bullet.ricochetAngle = 360; - bullet.LBRC = 100; - bullet.HBRC = 100; - bullet.bounceMod = 1; - bullet.style = BulletConfiguration.STYLE_ORB; - bullet.damageType = ModDamageSource.s_combineball; - bullet.liveAfterImpact = true; - bullet.spread = 0; - bullet.gravity = 0; - bullet.maxAge = 150; - bullet.velocity = 2; - - bullet.bntHurt = (ball, entity) -> { - if(entity instanceof EntityLivingBase) { - EntityLivingBase entityLiving = (EntityLivingBase) entity; - entity.addVelocity(ball.motionX / 2, ball.motionY / 2, ball.motionZ / 2); - - if(entity == ball.getThrower()) - return; - - if(entityLiving.getHealth() <= 1000) { - entityLiving.addPotionEffect(new PotionEffect(HbmPotion.bang.id, 1, 0)); - entityLiving.setLastAttacker(ball.getThrower()); - } else if(entityLiving.getHealth() > 1000) { - ball.setDead(); - return; - } - - } - }; - - bullet.bntRicochet = (ball, x, y, z) -> { - Block block = ball.worldObj.getBlock(x, y, z); - if(block instanceof BlockDetonatable) { - ((BlockDetonatable) block).onShot(ball.worldObj, x, y, z); - } - }; - - bullet.bntImpact = (ball, x, y, z, sideHit) -> { - Block block = ball.worldObj.getBlock(x, y, z); - if(block instanceof BlockDetonatable) { - ((BlockDetonatable) block).onShot(ball.worldObj, x, y, z); - } - }; - - return bullet; - } -} diff --git a/src/main/java/com/hbm/handler/guncfg/GunPoweredFactory.java b/src/main/java/com/hbm/handler/guncfg/GunPoweredFactory.java deleted file mode 100644 index c80cb8f1d..000000000 --- a/src/main/java/com/hbm/handler/guncfg/GunPoweredFactory.java +++ /dev/null @@ -1,249 +0,0 @@ -package com.hbm.handler.guncfg; - -import java.util.ArrayList; - -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.GunConfiguration; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -import net.minecraft.util.EnumChatFormatting; - -public class GunPoweredFactory { - - public static GunConfiguration getGlassCannonConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_AUTO; - config.firingDuration = 0; - config.durability = 2500; - config.allowsInfinity = false; - config.crosshair = Crosshair.BOX; - config.firingSound = "hbm:weapon.zomgShoot"; - config.maxCharge = 1_000_000; - config.chargeRate = 2500; - - config.name = "LIY2001 Anti-Material Electromagnetic Rifle Prototype"; - config.manufacturer = EnumGunManufacturer.OXFORD; - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.GLASS_EMRADIO); - config.config.add(BulletConfigSyncingUtil.GLASS_EMMICRO); - config.config.add(BulletConfigSyncingUtil.GLASS_EMIR); - config.config.add(BulletConfigSyncingUtil.GLASS_EMVISIBLE); - config.config.add(BulletConfigSyncingUtil.GLASS_EMUV); - config.config.add(BulletConfigSyncingUtil.GLASS_EMXRAY); - config.config.add(BulletConfigSyncingUtil.GLASS_EMGAMMA); - - return config; - } - - public static BulletConfiguration getEMRadioConfig() { - - BulletConfiguration bullet = new BulletConfiguration(); - - bullet.velocity = 4.0F; - bullet.spread = 0F; - bullet.dmgMin = 35; - bullet.dmgMax = 45; - bullet.bulletsMin = 1; - bullet.bulletsMax = 1; - bullet.gravity = 0D; - bullet.maxAge = 100; - bullet.doesRicochet = true; - bullet.ricochetAngle = 90; - bullet.HBRC = 2; - bullet.LBRC = 90; - bullet.bounceMod = 1; - bullet.doesPenetrate = true; - bullet.style = BulletConfiguration.STYLE_BOLT; - bullet.trail = BulletConfiguration.BOLT_LASER; - bullet.plink = BulletConfiguration.PLINK_ENERGY; - bullet.dischargePerShot = 25_000; - bullet.firingRate = 20; - bullet.modeName = "weapon.elecGun.glass_cannon.radio"; - bullet.chatColour = EnumChatFormatting.DARK_RED; - bullet.setToFire(200); - - return bullet; - } - - public static BulletConfiguration getEMMicroConfig() { - - BulletConfiguration bullet = new BulletConfiguration(); - - bullet.velocity = 3.0F; - bullet.spread = 0F; - bullet.dmgMin = 18; - bullet.dmgMax = 22; - bullet.bulletsMin = 1; - bullet.bulletsMax = 1; - bullet.gravity = 0D; - bullet.maxAge = 100; - bullet.doesRicochet = true; - bullet.ricochetAngle = 90; - bullet.HBRC = 2; - bullet.LBRC = 90; - bullet.bounceMod = 1; - bullet.doesPenetrate = true; - bullet.style = BulletConfiguration.STYLE_BOLT; - bullet.trail = BulletConfiguration.BOLT_LASER; - bullet.dischargePerShot = 12_500; - bullet.firingRate = 15; - bullet.modeName = "weapon.elecGun.glass_cannon.micro"; - bullet.chatColour = EnumChatFormatting.RED; - bullet.setToFire(200); - - return bullet; - } - - public static BulletConfiguration getEMInfraredConfig() { - - BulletConfiguration bullet = new BulletConfiguration(); - - bullet.velocity = 2.0F; - bullet.spread = 0F; - bullet.dmgMin = 9; - bullet.dmgMax = 11; - bullet.bulletsMin = 1; - bullet.bulletsMax = 1; - bullet.gravity = 0D; - bullet.maxAge = 100; - bullet.doesRicochet = true; - bullet.ricochetAngle = 90; - bullet.HBRC = 2; - bullet.LBRC = 90; - bullet.bounceMod = 1; - bullet.doesPenetrate = true; - bullet.style = BulletConfiguration.STYLE_BOLT; - bullet.trail = BulletConfiguration.BOLT_LASER; - bullet.dischargePerShot = 6_000; - bullet.firingRate = 10; - bullet.modeName = "weapon.elecGun.glass_cannon.ir"; - bullet.chatColour = EnumChatFormatting.RED; - bullet.setToFire(100); - - return bullet; - } - - public static BulletConfiguration getEMVisibleConfig() { - - BulletConfiguration bullet = new BulletConfiguration(); - - bullet.velocity = 2.0F; - bullet.spread = 0F; - bullet.dmgMin = 4; - bullet.dmgMax = 6; - bullet.bulletsMin = 1; - bullet.bulletsMax = 1; - bullet.gravity = 0D; - bullet.maxAge = 100; - bullet.doesRicochet = true; - bullet.ricochetAngle = 90; - bullet.HBRC = 2; - bullet.LBRC = 90; - bullet.bounceMod = 1; - bullet.doesPenetrate = true; - bullet.style = BulletConfiguration.STYLE_BOLT; - bullet.trail = BulletConfiguration.BOLT_WORM; - bullet.dischargePerShot = 2_500; - bullet.firingRate = 5; - bullet.modeName = "weapon.elecGun.glass_cannon.visible"; - bullet.chatColour = EnumChatFormatting.GREEN; - bullet.setToFire(100); - - return bullet; - } - - public static BulletConfiguration getEMUVConfig() { - - BulletConfiguration bullet = new BulletConfiguration(); - - bullet.velocity = 2.0F; - bullet.spread = 0F; - bullet.dmgMin = 3; - bullet.dmgMax = 3; - bullet.bulletsMin = 1; - bullet.bulletsMax = 1; - bullet.gravity = 0D; - bullet.maxAge = 100; - bullet.doesRicochet = true; - bullet.ricochetAngle = 90; - bullet.HBRC = 2; - bullet.LBRC = 90; - bullet.bounceMod = 1; - bullet.doesPenetrate = true; - bullet.style = BulletConfiguration.STYLE_BOLT; - bullet.trail = BulletConfiguration.BOLT_GLASS_CYAN; - bullet.dischargePerShot = 1_200; - bullet.firingRate = 3; - bullet.modeName = "weapon.elecGun.glass_cannon.uv"; - bullet.chatColour = EnumChatFormatting.AQUA; - bullet.setToFire(100); - - return bullet; - } - - public static BulletConfiguration getEMXrayConfig() { - - BulletConfiguration bullet = new BulletConfiguration(); - - bullet.velocity = 2.0F; - bullet.spread = 0F; - bullet.dmgMin = 2; - bullet.dmgMax = 2; - bullet.bulletsMin = 1; - bullet.bulletsMax = 1; - bullet.gravity = 0D; - bullet.maxAge = 100; - bullet.doesRicochet = true; - bullet.ricochetAngle = 90; - bullet.HBRC = 2; - bullet.LBRC = 90; - bullet.bounceMod = 1; - bullet.doesPenetrate = true; - bullet.style = BulletConfiguration.STYLE_BOLT; - bullet.trail = BulletConfiguration.BOLT_GLASS_BLUE; - bullet.dischargePerShot = 800; - bullet.firingRate = 2; - bullet.modeName = "weapon.elecGun.glass_cannon.xray"; - bullet.chatColour = EnumChatFormatting.BLUE; - bullet.setToFire(40); - - return bullet; - } - - public static BulletConfiguration getEMGammaConfig() { - - BulletConfiguration bullet = new BulletConfiguration(); - - bullet.velocity = 2.0F; - bullet.spread = 0F; - bullet.dmgMin = 1; - bullet.dmgMax = 1; - bullet.bulletsMin = 1; - bullet.bulletsMax = 1; - bullet.gravity = 0D; - bullet.maxAge = 100; - bullet.doesRicochet = true; - bullet.ricochetAngle = 90; - bullet.HBRC = 2; - bullet.LBRC = 90; - bullet.bounceMod = 1; - bullet.doesPenetrate = true; - bullet.style = BulletConfiguration.STYLE_BOLT; - bullet.trail = BulletConfiguration.BOLT_LACUNAE; - bullet.dischargePerShot = 400; - bullet.firingRate = 1; - bullet.modeName = "weapon.elecGun.glass_cannon.gamma"; - bullet.chatColour = EnumChatFormatting.LIGHT_PURPLE; - bullet.setToFire(40); - - return bullet; - } - -} diff --git a/src/main/java/com/hbm/handler/guncfg/GunRocketFactory.java b/src/main/java/com/hbm/handler/guncfg/GunRocketFactory.java index 1c933ce55..214aca559 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunRocketFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunRocketFactory.java @@ -1,179 +1,16 @@ package com.hbm.handler.guncfg; -import java.util.ArrayList; - -import com.hbm.entity.effect.EntitySpear; -import com.hbm.entity.projectile.EntityBulletBaseNT; -import com.hbm.explosion.ExplosionNukeSmall; -import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.GunConfiguration; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; -import com.hbm.items.ItemAmmoEnums.AmmoRocket; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationSequence; -import com.hbm.render.anim.HbmAnimations.AnimType; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -import net.minecraft.block.material.Material; -import net.minecraft.world.World; public class GunRocketFactory { - public static GunConfiguration getGustavConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 30; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 30; - config.firingDuration = 0; - config.ammoCap = 1; - config.reloadType = GunConfiguration.RELOAD_SINGLE; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CIRCUMFLEX; - config.firingSound = "hbm:weapon.rpgShoot"; - config.reloadSound = GunConfiguration.RSOUND_LAUNCHER; - config.reloadSoundEnd = false; - - config.name = "gustav"; - config.manufacturer = EnumGunManufacturer.SAAB; - config.comment.add("Fun fact of the day: Recoilless"); - config.comment.add("rifles don't actually fire rockets."); - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.ROCKET_NORMAL); - config.config.add(BulletConfigSyncingUtil.ROCKET_HE); - config.config.add(BulletConfigSyncingUtil.ROCKET_INCENDIARY); - config.config.add(BulletConfigSyncingUtil.ROCKET_PHOSPHORUS); - config.config.add(BulletConfigSyncingUtil.ROCKET_SHRAPNEL); - config.config.add(BulletConfigSyncingUtil.ROCKET_EMP); - config.config.add(BulletConfigSyncingUtil.ROCKET_GLARE); - config.config.add(BulletConfigSyncingUtil.ROCKET_TOXIC); - config.config.add(BulletConfigSyncingUtil.ROCKET_CANISTER); - config.config.add(BulletConfigSyncingUtil.ROCKET_SLEEK); - config.config.add(BulletConfigSyncingUtil.ROCKET_NUKE); - config.config.add(BulletConfigSyncingUtil.ROCKET_CHAINSAW); - config.durability = 140; - - return config; - } - - public static GunConfiguration getQuadroConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 5; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 100; - config.firingDuration = 0; - config.ammoCap = 4; - config.reloadType = GunConfiguration.RELOAD_FULL; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_CIRCUMFLEX; - config.firingSound = "hbm:weapon.rpgShoot"; - config.reloadSound = "hbm:weapon.quadroReload"; - config.reloadSoundEnd = false; - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("QUADRO_RECOIL", new BusAnimationSequence() - .addKeyframePosition(0, 0, -0.5, 50) - .addKeyframePosition(0, 0, 0, 50) - ) - ); - - config.animations.put(AnimType.RELOAD, new BusAnimation() - .addBus("QUADRO_RELOAD_ROTATE", new BusAnimationSequence() - .addKeyframePosition(0, 0, 60, 750) - .addKeyframePosition(0, 0, 60, 3500) - .addKeyframePosition(0, 0, 0, 750) - ) - .addBus("QUADRO_RELOAD_PUSH", new BusAnimationSequence() - .addKeyframePosition(-1, -1, 0, 0) - .addKeyframePosition(-1, -1, 0, 750) - .addKeyframePosition(-1, 0, 0, 500) - .addKeyframePosition(0, 0, 0, 3000) - .addKeyframePosition(0, 0, 0, 750) - ) - ); - - config.name = "quadro"; - config.manufacturer = EnumGunManufacturer.MANN; - config.comment.add("For the next three hundred years, people who needed to get to the second"); - config.comment.add("floor used the only method available to them, which was rocket jumping."); - config.comment.add("This persisted until 1857, when the young bearded inventor named"); - config.comment.add("President Abraham Lincoln invented stairs."); - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.ROCKET_NORMAL_LASER); - config.config.add(BulletConfigSyncingUtil.ROCKET_HE_LASER); - config.config.add(BulletConfigSyncingUtil.ROCKET_INCENDIARY_LASER); - config.config.add(BulletConfigSyncingUtil.ROCKET_PHOSPHORUS_LASER); - config.config.add(BulletConfigSyncingUtil.ROCKET_SHRAPNEL_LASER); - config.config.add(BulletConfigSyncingUtil.ROCKET_EMP_LASER); - config.config.add(BulletConfigSyncingUtil.ROCKET_GLARE_LASER); - config.config.add(BulletConfigSyncingUtil.ROCKET_TOXIC_LASER); - config.config.add(BulletConfigSyncingUtil.ROCKET_CANISTER); - config.config.add(BulletConfigSyncingUtil.ROCKET_SLEEK_LASER); - config.config.add(BulletConfigSyncingUtil.ROCKET_NUKE_LASER); - config.config.add(BulletConfigSyncingUtil.ROCKET_CHAINSAW_LASER); - config.durability = 500; - - return config; - } - - public static GunConfiguration getKarlConfig() { - - GunConfiguration config = getGustavConfig(); - - config.reloadDuration = 20; - - config.name = "karl"; - config.manufacturer = EnumGunManufacturer.UNKNOWN; - config.comment.clear(); - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.ROCKET_HE); - config.config.add(BulletConfigSyncingUtil.ROCKET_EMP); - config.config.add(BulletConfigSyncingUtil.ROCKET_SLEEK); - config.config.add(BulletConfigSyncingUtil.ROCKET_TOXIC); - config.config.add(BulletConfigSyncingUtil.ROCKET_CANISTER); - config.config.add(BulletConfigSyncingUtil.ROCKET_NUKE); - config.config.add(BulletConfigSyncingUtil.ROCKET_CHAINSAW); - config.config.add(BulletConfigSyncingUtil.ROCKET_ERROR); - config.durability = 500; - - return config; - } - - public static GunConfiguration getPanzConfig() { - - GunConfiguration config = getGustavConfig(); - - config.reloadDuration = 25; - config.hasSights = true; - - config.name = "panz"; - config.manufacturer = EnumGunManufacturer.ENZINGER; - config.comment.clear(); - config.comment.add("Panzer-Shrek"); - - config.durability = 260; - - return config; - } - public static BulletConfiguration getRocketConfig() { BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - bullet.ammo = new ComparableStack(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.STOCK)); + bullet.ammo = new ComparableStack(ModItems.nothing); bullet.dmgMin = 10; bullet.dmgMax = 15; bullet.explosive = 4F; @@ -181,232 +18,4 @@ public class GunRocketFactory { return bullet; } - - public static BulletConfiguration getRocketHEConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.HE)); - bullet.dmgMin = 10; - bullet.dmgMax = 15; - bullet.wear = 15; - bullet.explosive = 6.5F; - bullet.trail = 1; - - return bullet; - } - - public static BulletConfiguration getRocketIncendiaryConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.INCENDIARY)); - bullet.dmgMin = 10; - bullet.dmgMax = 15; - bullet.wear = 15; - bullet.explosive = 4F; - bullet.incendiary = 5; - bullet.trail = 2; - - return bullet; - } - - public static BulletConfiguration getRocketEMPConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.EMP)); - bullet.dmgMin = 10; - bullet.dmgMax = 15; - bullet.explosive = 2.5F; - bullet.emp = 10; - bullet.trail = 4; - - return bullet; - } - - public static BulletConfiguration getRocketSleekConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.SLEEK)); - bullet.dmgMin = 10; - bullet.dmgMax = 15; - bullet.explosive = 10F; - bullet.trail = 6; - bullet.gravity = 0; - bullet.jolt = 6.5D; - - return bullet; - } - - public static BulletConfiguration getRocketShrapnelConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.SHRAPNEL)); - bullet.dmgMin = 10; - bullet.dmgMax = 15; - bullet.explosive = 4F; - bullet.shrapnel = 25; - bullet.trail = 3; - - return bullet; - } - - public static BulletConfiguration getRocketGlareConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.GLARE)); - bullet.velocity = 5.0F; - bullet.dmgMin = 10; - bullet.dmgMax = 15; - bullet.wear = 20; - bullet.explosive = 4F; - bullet.incendiary = 5; - bullet.trail = 5; - - return bullet; - } - - public static BulletConfiguration getRocketNukeConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.NUCLEAR)); - bullet.velocity = 1.5F; - bullet.dmgMin = 10; - bullet.dmgMax = 15; - bullet.wear = 35; - bullet.explosive = 0; - bullet.incendiary = 0; - bullet.trail = 7; - - bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { - BulletConfigFactory.nuclearExplosion(bulletnt, x, y, z, ExplosionNukeSmall.PARAMS_MEDIUM); - }; - - return bullet; - } - - public static BulletConfiguration getRocketChlorineConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.CHLORINE)); - bullet.velocity = 1.5F; - bullet.dmgMin = 10; - bullet.dmgMax = 15; - bullet.wear = 10; - bullet.explosive = 0; - bullet.chlorine = 50; - bullet.trail = 7; - - return bullet; - } - - public static BulletConfiguration getRocketRPCConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.RPC)); - bullet.velocity = 3.0F; - bullet.dmgMin = 20; - bullet.dmgMax = 25; - bullet.wear = 15; - bullet.explosive = 0; - bullet.incendiary = 0; - bullet.trail = 8; - bullet.gravity = 0.000D; - bullet.ricochetAngle = 90; - bullet.LBRC = 100; - bullet.doesPenetrate = true; - - bullet.bntRicochet = (bulletnt, bX, bY, bZ) -> { - World worldObj = bulletnt.worldObj; - if(!worldObj.isRemote && (worldObj.getBlock(bX, bY, bZ).getMaterial() == Material.wood || - worldObj.getBlock(bX, bY, bZ).getMaterial() == Material.plants || - worldObj.getBlock(bX, bY, bZ).getMaterial() == Material.glass || - worldObj.getBlock(bX, bY, bZ).getMaterial() == Material.leaves)) - worldObj.func_147480_a(bX, bY, bZ, false); - - }; - - return bullet; - } - - public static BulletConfiguration getRocketPhosphorusConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.PHOSPHORUS)); - bullet.dmgMin = 10; - bullet.dmgMax = 15; - bullet.wear = 15; - bullet.explosive = 4F; - bullet.incendiary = 5; - bullet.trail = 9; - - bullet.bntImpact = BulletConfigFactory.getPhosphorousEffect(10, 60 * 20, 100, 0.5D, 1F); - - return bullet; - } - - public static BulletConfiguration getRocketCanisterConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.CANISTER)); - bullet.dmgMin = 10; - bullet.dmgMax = 15; - bullet.explosive = 2F; - bullet.trail = 0; - - bullet.bntUpdate = (bulletnt) -> { - if(!bulletnt.worldObj.isRemote) { - if(bulletnt.ticksExisted > 10) { - bulletnt.setDead(); - for(int i = 0; i < 50; i++) { - EntityBulletBaseNT bolt = new EntityBulletBaseNT(bulletnt.worldObj, BulletConfigSyncingUtil.M44_AP); - bolt.setPosition(bulletnt.posX, bulletnt.posY, bulletnt.posZ); - bolt.setThrowableHeading(bulletnt.motionX, bulletnt.motionY, bulletnt.motionZ, 0.25F, 0.1F); - bolt.setThrower(bulletnt.getThrower()); - bulletnt.worldObj.spawnEntityInWorld(bolt); - } - } - } - }; - - return bullet; - } - - public static BulletConfiguration getRocketErrorConfig() { - - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.DIGAMMA)); - bullet.velocity = 0.5F; - bullet.dmgMin = 10; - bullet.dmgMax = 15; - bullet.wear = 35; - bullet.explosive = 0; - bullet.incendiary = 0; - bullet.trail = 7; - - bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { - - if(bulletnt.worldObj.isRemote) - return; - - EntitySpear spear = new EntitySpear(bulletnt.worldObj); - spear.posX = bulletnt.posX; - spear.posZ = bulletnt.posZ; - spear.posY = bulletnt.posY + 100; - - bulletnt.worldObj.spawnEntityInWorld(spear); - }; - - return bullet; - } } diff --git a/src/main/java/com/hbm/handler/guncfg/GunRocketHomingFactory.java b/src/main/java/com/hbm/handler/guncfg/GunRocketHomingFactory.java deleted file mode 100644 index 3e2808d40..000000000 --- a/src/main/java/com/hbm/handler/guncfg/GunRocketHomingFactory.java +++ /dev/null @@ -1,258 +0,0 @@ -package com.hbm.handler.guncfg; - -import java.util.ArrayList; - -import com.hbm.entity.projectile.EntityRocketHoming; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ItemAmmoEnums.AmmoStinger; -import com.hbm.items.ModItems; -import com.hbm.lib.HbmCollection.EnumGunManufacturer; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -import net.minecraft.entity.player.EntityPlayer; - -public class GunRocketHomingFactory { - - public static GunConfiguration getStingerConfig() { - - GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 20; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 20; - config.firingDuration = 0; - config.ammoCap = 1; - config.reloadType = GunConfiguration.RELOAD_SINGLE; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_KRUCK; - config.firingSound = "hbm:weapon.rpgShoot"; - config.reloadSound = GunConfiguration.RSOUND_LAUNCHER; - config.reloadSoundEnd = false; - - config.name = "stinger"; - config.manufacturer = EnumGunManufacturer.RAYTHEON; - config.comment.add("Woosh, beep-beep-beep!"); - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.ROCKET_STINGER); - config.config.add(BulletConfigSyncingUtil.ROCKET_STINGER_HE); - config.config.add(BulletConfigSyncingUtil.ROCKET_STINGER_INCENDIARY); - config.config.add(BulletConfigSyncingUtil.ROCKET_STINGER_NUCLEAR); - config.config.add(BulletConfigSyncingUtil.ROCKET_STINGER_BONES); - config.durability = 250; - - return config; - } - - public static GunConfiguration getSkyStingerConfig() { -GunConfiguration config = new GunConfiguration(); - - config.rateOfFire = 20; - config.roundsPerCycle = 1; - config.gunMode = GunConfiguration.MODE_NORMAL; - config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 20; - config.firingDuration = 0; - config.ammoCap = 1; - config.reloadType = GunConfiguration.RELOAD_SINGLE; - config.allowsInfinity = true; - config.crosshair = Crosshair.L_KRUCK; - config.firingSound = "hbm:weapon.rpgShoot"; - config.reloadSound = GunConfiguration.RSOUND_LAUNCHER; - config.reloadSoundEnd = false; - - config.name = "stingerOneSky"; - config.manufacturer = EnumGunManufacturer.EQUESTRIA; - config.comment.add("Oh, I get it, because of the...nyeees!"); - config.comment.add("It all makes sense now!"); - config.comment.add(""); - config.comment.add("Rockets travel faster, are Three times stronger"); - config.comment.add("and fires a second rocket for free"); - config.comment.add(""); - config.comment.add("[LEGENDARY WEAPON]"); - - config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.ROCKET_STINGER); - config.config.add(BulletConfigSyncingUtil.ROCKET_STINGER_HE); - config.config.add(BulletConfigSyncingUtil.ROCKET_STINGER_INCENDIARY); - config.config.add(BulletConfigSyncingUtil.ROCKET_STINGER_NUCLEAR); - config.config.add(BulletConfigSyncingUtil.ROCKET_STINGER_BONES); - config.durability = 1000; - - return config; - } - - public static BulletConfiguration getRocketStingerConfig() { - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_stinger_rocket.stackFromEnum(AmmoStinger.STOCK)); - bullet.dmgMin = 20; - bullet.dmgMax = 25; - bullet.explosive = 4F; - bullet.trail = 0; - - bullet.bntUpdate = (bulletnt) -> { - - if(!bulletnt.worldObj.isRemote) { - - EntityPlayer player = bulletnt.worldObj.getClosestPlayerToEntity(bulletnt, -1.0D); - EntityRocketHoming rocket = new EntityRocketHoming(bulletnt.worldObj, player, 1.0F, 5.0F, 0); - if(player.getHeldItem().getItem() == ModItems.gun_skystinger && !player.isSneaking()) { - EntityRocketHoming rocket2 = new EntityRocketHoming(bulletnt.worldObj, player, 1.5F, 15.0F, 0); - rocket = new EntityRocketHoming(bulletnt.worldObj, player, 1.5F, 15.0F, 0); - rocket.setIsCritical(true); - rocket2.setIsCritical(true); - bulletnt.worldObj.spawnEntityInWorld(rocket2); - } - rocket.homingMod = 5; - rocket.homingRadius = 25; - bulletnt.worldObj.spawnEntityInWorld(rocket); - bulletnt.setDead(); - - } - }; - return bullet; - } - - public static BulletConfiguration getRocketStingerHEConfig() { - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_stinger_rocket.stackFromEnum(AmmoStinger.HE)); - bullet.dmgMin = 30; - bullet.dmgMax = 35; - bullet.explosive = 8F; - bullet.trail = 0; - bullet.wear = 15; - - bullet.bntUpdate = (bulletnt) -> { - - if(!bulletnt.worldObj.isRemote) { - - EntityPlayer player = bulletnt.worldObj.getClosestPlayerToEntity(bulletnt, -1.0D); - EntityRocketHoming rocket = new EntityRocketHoming(bulletnt.worldObj, player, 1.0F, 5.0F, 1); - if(player.getHeldItem().getItem() == ModItems.gun_skystinger && !player.isSneaking()) { - EntityRocketHoming rocket2 = new EntityRocketHoming(bulletnt.worldObj, player, 1.5F, 15.0F, 1); - rocket = new EntityRocketHoming(bulletnt.worldObj, player, 1.5F, 15.0F, 1); - rocket.setIsCritical(true); - rocket2.setIsCritical(true); - bulletnt.worldObj.spawnEntityInWorld(rocket2); - } - rocket.homingMod = 5; - rocket.homingRadius = 25; - bulletnt.worldObj.spawnEntityInWorld(rocket); - bulletnt.setDead(); - - } - }; - return bullet; - } - - public static BulletConfiguration getRocketStingerIncendiaryConfig() { - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_stinger_rocket.stackFromEnum(AmmoStinger.INCENDIARY)); - bullet.dmgMin = 15; - bullet.dmgMax = 20; - bullet.explosive = 4F; - bullet.trail = 0; - bullet.wear = 12; - - bullet.bntUpdate = (bulletnt) -> { - - if(!bulletnt.worldObj.isRemote) { - - EntityPlayer player = bulletnt.worldObj.getClosestPlayerToEntity(bulletnt, -1.0D); - EntityRocketHoming rocket = new EntityRocketHoming(bulletnt.worldObj, player, 1.0F, 5.0F, 2); - if(player.getHeldItem().getItem() == ModItems.gun_skystinger && !player.isSneaking()) { - EntityRocketHoming rocket2 = new EntityRocketHoming(bulletnt.worldObj, player, 1.5F, 15.0F, 2); - rocket = new EntityRocketHoming(bulletnt.worldObj, player, 1.5F, 15.0F, 2); - rocket.setIsCritical(true); - rocket2.setIsCritical(true); - bulletnt.worldObj.spawnEntityInWorld(rocket2); - } - rocket.homingMod = 5; - rocket.homingRadius = 25; - bulletnt.worldObj.spawnEntityInWorld(rocket); - bulletnt.setDead(); - - } - }; - return bullet; - } - - public static BulletConfiguration getRocketStingerNuclearConfig() { - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_stinger_rocket.stackFromEnum(AmmoStinger.NUCLEAR)); - bullet.dmgMin = 50; - bullet.dmgMax = 55; - bullet.explosive = 15F; - bullet.trail = 0; - bullet.wear = 30; - - bullet.bntUpdate = (bulletnt) -> { - - if(!bulletnt.worldObj.isRemote) { - - EntityPlayer player = bulletnt.worldObj.getClosestPlayerToEntity(bulletnt, -1.0D); - - if(player.getDistanceToEntity(bulletnt) < 16) { - EntityRocketHoming rocket = new EntityRocketHoming(bulletnt.worldObj, player, 1.0F, 5.0F, 4); - if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.gun_skystinger && !player.isSneaking()) { - EntityRocketHoming rocket2 = new EntityRocketHoming(bulletnt.worldObj, player, 1.5F, 15.0F, 4); - rocket = new EntityRocketHoming(bulletnt.worldObj, player, 1.5F, 15.0F, 4); - rocket.setIsCritical(true); - rocket2.setIsCritical(true); - bulletnt.worldObj.spawnEntityInWorld(rocket2); - } - rocket.homingMod = 5; - rocket.homingRadius = 25; - bulletnt.worldObj.spawnEntityInWorld(rocket); - } - bulletnt.setDead(); - - } - }; - return bullet; - } - - public static BulletConfiguration getRocketStingerBonesConfig() { - BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); - - bullet.ammo = new ComparableStack(ModItems.ammo_stinger_rocket.stackFromEnum(AmmoStinger.BONES)); - bullet.dmgMin = 20; - bullet.dmgMax = 25; - bullet.explosive = 8F; - bullet.trail = 0; - - bullet.bntUpdate = (bulletnt) -> { - - if(!bulletnt.worldObj.isRemote) { - - EntityPlayer player = bulletnt.worldObj.getClosestPlayerToEntity(bulletnt, -1.0D); - - if(player.getDistanceToEntity(bulletnt) < 16) { - EntityRocketHoming rocket = new EntityRocketHoming(bulletnt.worldObj, player, 1.0F, 5.0F, 42); - if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.gun_skystinger && !player.isSneaking()) { - EntityRocketHoming rocket2 = new EntityRocketHoming(bulletnt.worldObj, player, 1.5F, 15.0F, 42); - rocket = new EntityRocketHoming(bulletnt.worldObj, player, 1.5F, 15.0F, 42); - rocket.setIsCritical(true); - rocket2.setIsCritical(true); - bulletnt.worldObj.spawnEntityInWorld(rocket2); - } - rocket.homingMod = 5; - rocket.homingRadius = 25; - bulletnt.worldObj.spawnEntityInWorld(rocket); - } - bulletnt.setDead(); - - } - }; - return bullet; - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/handler/microblocks/MicroBlocksCompatHandler.java b/src/main/java/com/hbm/handler/microblocks/MicroBlocksCompatHandler.java new file mode 100644 index 000000000..3abe4eb0d --- /dev/null +++ b/src/main/java/com/hbm/handler/microblocks/MicroBlocksCompatHandler.java @@ -0,0 +1,77 @@ +package com.hbm.handler.microblocks; + +import com.hbm.blocks.ModBlocks; +import cpw.mods.fml.common.event.FMLInterModComms; +import net.minecraft.block.Block; +import net.minecraft.item.ItemStack; + +public class MicroBlocksCompatHandler { + public static void preInit() { + registerMicroBlockCompat(ModBlocks.basalt); + registerMicroBlockCompat(ModBlocks.basalt_smooth); + registerMicroBlockCompat(ModBlocks.basalt_brick); + registerMicroBlockCompat(ModBlocks.basalt_polished); + registerMicroBlockCompat(ModBlocks.basalt_tiles); + + registerMicroBlockCompat(ModBlocks.deco_titanium); + registerMicroBlockCompat(ModBlocks.deco_red_copper); + registerMicroBlockCompat(ModBlocks.deco_tungsten); + registerMicroBlockCompat(ModBlocks.deco_aluminium); + registerMicroBlockCompat(ModBlocks.deco_steel); + registerMicroBlockCompat(ModBlocks.deco_rusty_steel); + registerMicroBlockCompat(ModBlocks.deco_lead); + registerMicroBlockCompat(ModBlocks.deco_beryllium); + registerMicroBlockCompat(ModBlocks.deco_asbestos); + registerMicroBlockCompat(ModBlocks.deco_rbmk); + registerMicroBlockCompat(ModBlocks.deco_rbmk_smooth); + + registerMicroBlockCompat(ModBlocks.asphalt); + registerMicroBlockCompat(ModBlocks.asphalt_light); + + registerMicroBlockCompat(ModBlocks.reinforced_brick); + registerMicroBlockCompat(ModBlocks.reinforced_ducrete); + registerMicroBlockCompat(ModBlocks.reinforced_sand); + + registerMicroBlockCompat(ModBlocks.reinforced_stone); + registerMicroBlockCompat(ModBlocks.concrete_smooth); + registerMicroBlockCompat(ModBlocks.concrete_colored); + registerMicroBlockCompat(ModBlocks.concrete_colored_ext); + registerMicroBlockCompat(ModBlocks.concrete); + registerMicroBlockCompat(ModBlocks.concrete_asbestos); + registerMicroBlockCompat(ModBlocks.concrete_super); + registerMicroBlockCompat(ModBlocks.concrete_super_broken); + registerMicroBlockCompat(ModBlocks.ducrete_smooth); + registerMicroBlockCompat(ModBlocks.ducrete); + registerMicroBlockCompat(ModBlocks.concrete_pillar); + registerMicroBlockCompat(ModBlocks.brick_concrete); + registerMicroBlockCompat(ModBlocks.brick_concrete_mossy); + registerMicroBlockCompat(ModBlocks.brick_concrete_cracked); + registerMicroBlockCompat(ModBlocks.brick_concrete_broken); + registerMicroBlockCompat(ModBlocks.brick_concrete_marked); + registerMicroBlockCompat(ModBlocks.brick_ducrete); + registerMicroBlockCompat(ModBlocks.brick_obsidian); + registerMicroBlockCompat(ModBlocks.brick_light); + registerMicroBlockCompat(ModBlocks.brick_compound); + registerMicroBlockCompat(ModBlocks.brick_asbestos); + registerMicroBlockCompat(ModBlocks.brick_fire); + registerMicroBlockCompat(ModBlocks.lightstone); + + registerMicroBlockCompat(ModBlocks.cmb_brick); + registerMicroBlockCompat(ModBlocks.cmb_brick_reinforced); + registerMicroBlockCompat(ModBlocks.vinyl_tile); + + registerMicroBlockCompat(ModBlocks.tile_lab); + registerMicroBlockCompat(ModBlocks.tile_lab_cracked); + registerMicroBlockCompat(ModBlocks.tile_lab_broken); + } + + private static void registerMicroBlockCompat(Block block) { + for(int meta = 0; meta < 15; meta++) { + registerMicroBlockCompat(block, meta); + } + } + + private static void registerMicroBlockCompat(Block block, int meta) { + FMLInterModComms.sendMessage("ForgeMicroblock", "microMaterial", new ItemStack(block, 1, meta)); + } +} diff --git a/src/main/java/com/hbm/handler/nei/AmmoPressHandler.java b/src/main/java/com/hbm/handler/nei/AmmoPressHandler.java new file mode 100644 index 000000000..3f1ba26b8 --- /dev/null +++ b/src/main/java/com/hbm/handler/nei/AmmoPressHandler.java @@ -0,0 +1,16 @@ +package com.hbm.handler.nei; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.recipes.AmmoPressRecipes; + +public class AmmoPressHandler extends NEIUniversalHandler { + + public AmmoPressHandler() { + super(ModBlocks.machine_ammo_press.getLocalizedName(), ModBlocks.machine_ammo_press, AmmoPressRecipes.getRecipes()); + } + + @Override + public String getKey() { + return "ntmAmmoPress"; + } +} diff --git a/src/main/java/com/hbm/handler/nei/ArcFurnaceFluidHandler.java b/src/main/java/com/hbm/handler/nei/ArcFurnaceFluidHandler.java index 228cb786c..b7290eedb 100644 --- a/src/main/java/com/hbm/handler/nei/ArcFurnaceFluidHandler.java +++ b/src/main/java/com/hbm/handler/nei/ArcFurnaceFluidHandler.java @@ -6,7 +6,7 @@ import com.hbm.inventory.recipes.ArcFurnaceRecipes; public class ArcFurnaceFluidHandler extends NEIUniversalHandler { public ArcFurnaceFluidHandler() { - super("Arc Furnace (Fluid)", ModBlocks.machine_arc_furnace, ArcFurnaceRecipes.getFluidRecipes()); + super(ModBlocks.machine_arc_furnace.getLocalizedName(), ModBlocks.machine_arc_furnace, ArcFurnaceRecipes.getFluidRecipes()); } @Override diff --git a/src/main/java/com/hbm/handler/nei/ArcFurnaceSolidHandler.java b/src/main/java/com/hbm/handler/nei/ArcFurnaceSolidHandler.java index b2b21ffd9..7345e4f72 100644 --- a/src/main/java/com/hbm/handler/nei/ArcFurnaceSolidHandler.java +++ b/src/main/java/com/hbm/handler/nei/ArcFurnaceSolidHandler.java @@ -6,7 +6,7 @@ import com.hbm.inventory.recipes.ArcFurnaceRecipes; public class ArcFurnaceSolidHandler extends NEIUniversalHandler { public ArcFurnaceSolidHandler() { - super("Arc Furnace (Solid)", ModBlocks.machine_arc_furnace, ArcFurnaceRecipes.getSolidRecipes()); + super(ModBlocks.machine_arc_furnace.getLocalizedName(), ModBlocks.machine_arc_furnace, ArcFurnaceRecipes.getSolidRecipes()); } @Override diff --git a/src/main/java/com/hbm/handler/nei/ArcWelderHandler.java b/src/main/java/com/hbm/handler/nei/ArcWelderHandler.java index e598840fc..b1eb411bf 100644 --- a/src/main/java/com/hbm/handler/nei/ArcWelderHandler.java +++ b/src/main/java/com/hbm/handler/nei/ArcWelderHandler.java @@ -15,7 +15,7 @@ import net.minecraft.item.ItemStack; public class ArcWelderHandler extends NEIUniversalHandler { public ArcWelderHandler() { - super("Arc Welder", ModBlocks.machine_arc_welder, ArcWelderRecipes.getRecipes()); + super(ModBlocks.machine_arc_welder.getLocalizedName(), ModBlocks.machine_arc_welder, ArcWelderRecipes.getRecipes()); } @Override diff --git a/src/main/java/com/hbm/handler/nei/AshpitHandler.java b/src/main/java/com/hbm/handler/nei/AshpitHandler.java index d7cf8af20..6e4313a84 100644 --- a/src/main/java/com/hbm/handler/nei/AshpitHandler.java +++ b/src/main/java/com/hbm/handler/nei/AshpitHandler.java @@ -17,7 +17,7 @@ import net.minecraft.item.ItemStack; public class AshpitHandler extends NEIUniversalHandler { public AshpitHandler() { - super("Ashpit", ModBlocks.machine_ashpit, getRecipes()); + super(ModBlocks.machine_ashpit.getLocalizedName(), ModBlocks.machine_ashpit, getRecipes()); } @Override diff --git a/src/main/java/com/hbm/handler/nei/BoilingHandler.java b/src/main/java/com/hbm/handler/nei/BoilingHandler.java index a048cfb44..7894b6e8d 100644 --- a/src/main/java/com/hbm/handler/nei/BoilingHandler.java +++ b/src/main/java/com/hbm/handler/nei/BoilingHandler.java @@ -10,37 +10,35 @@ import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingStep; import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingType; import com.hbm.items.machine.ItemFluidIcon; +import net.minecraft.item.ItemStack; + public class BoilingHandler extends NEIUniversalHandler { public BoilingHandler() { - super("Boiler", ModBlocks.machine_boiler, generateRecipes()); + super(ModBlocks.machine_boiler.getLocalizedName(), new ItemStack[] { new ItemStack(ModBlocks.machine_boiler), new ItemStack(ModBlocks.machine_industrial_boiler) }, generateRecipes()); } @Override public String getKey() { return "ntmBoiling"; } - - public static HashMap cache; - + public static HashMap generateRecipes() { - - if(cache != null) return cache; - - cache = new HashMap(); - + + HashMap recipes = new HashMap(); + for(FluidType type : Fluids.getInNiceOrder()) { - + if(type.hasTrait(FT_Heatable.class)) { FT_Heatable trait = type.getTrait(FT_Heatable.class); - + if(trait.getEfficiency(HeatingType.BOILER) > 0) { HeatingStep step = trait.getFirstStep(); - cache.put(ItemFluidIcon.make(type, step.amountReq), ItemFluidIcon.make(step.typeProduced, step.amountProduced)); + recipes.put(ItemFluidIcon.make(type, step.amountReq), ItemFluidIcon.make(step.typeProduced, step.amountProduced)); } } } - return cache; + return recipes; } } diff --git a/src/main/java/com/hbm/handler/nei/ChemicalPlantRecipeHandler.java b/src/main/java/com/hbm/handler/nei/ChemicalPlantRecipeHandler.java new file mode 100644 index 000000000..47d77945b --- /dev/null +++ b/src/main/java/com/hbm/handler/nei/ChemicalPlantRecipeHandler.java @@ -0,0 +1,16 @@ +package com.hbm.handler.nei; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.recipes.ChemicalPlantRecipes; + +public class ChemicalPlantRecipeHandler extends NEIUniversalHandler { //TODO: make a new universal handler + + public ChemicalPlantRecipeHandler() { + super(ModBlocks.machine_chemical_plant.getLocalizedName(), ModBlocks.machine_chemical_plant, ChemicalPlantRecipes.getRecipes()); + } + + @Override + public String getKey() { + return "ntmChemicalPlant"; + } +} diff --git a/src/main/java/com/hbm/handler/nei/CokingHandler.java b/src/main/java/com/hbm/handler/nei/CokingHandler.java index a0227147e..41d0c72ce 100644 --- a/src/main/java/com/hbm/handler/nei/CokingHandler.java +++ b/src/main/java/com/hbm/handler/nei/CokingHandler.java @@ -9,7 +9,7 @@ import com.hbm.inventory.recipes.CokerRecipes; public class CokingHandler extends NEIUniversalHandler { public CokingHandler() { - super("Coking", ModBlocks.machine_coker, CokerRecipes.getRecipes()); + super(ModBlocks.machine_coker.getLocalizedName(), ModBlocks.machine_coker, CokerRecipes.getRecipes()); } @Override diff --git a/src/main/java/com/hbm/handler/nei/CombinationHandler.java b/src/main/java/com/hbm/handler/nei/CombinationHandler.java index 0c07afbbc..b303a2b53 100644 --- a/src/main/java/com/hbm/handler/nei/CombinationHandler.java +++ b/src/main/java/com/hbm/handler/nei/CombinationHandler.java @@ -9,7 +9,7 @@ import com.hbm.inventory.recipes.CombinationRecipes; public class CombinationHandler extends NEIUniversalHandler { public CombinationHandler() { - super("Combination Furnace", ModBlocks.furnace_combination, CombinationRecipes.getRecipes()); + super(ModBlocks.furnace_combination.getLocalizedName(), ModBlocks.furnace_combination, CombinationRecipes.getRecipes()); } @Override diff --git a/src/main/java/com/hbm/handler/nei/CompressorHandler.java b/src/main/java/com/hbm/handler/nei/CompressorHandler.java new file mode 100644 index 000000000..79beb12ff --- /dev/null +++ b/src/main/java/com/hbm/handler/nei/CompressorHandler.java @@ -0,0 +1,16 @@ +package com.hbm.handler.nei; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.recipes.CompressorRecipes; + +public class CompressorHandler extends NEIUniversalHandler { + + public CompressorHandler() { + super(ModBlocks.machine_compressor.getLocalizedName(), ModBlocks.machine_compressor, CompressorRecipes.getRecipes()); + } + + @Override + public String getKey() { + return "ntmCompressor"; + } +} diff --git a/src/main/java/com/hbm/handler/nei/CrystallizerRecipeHandler.java b/src/main/java/com/hbm/handler/nei/CrystallizerRecipeHandler.java index a3789f8cd..39f76178a 100644 --- a/src/main/java/com/hbm/handler/nei/CrystallizerRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/CrystallizerRecipeHandler.java @@ -3,8 +3,13 @@ package com.hbm.handler.nei; import java.awt.Rectangle; import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.gui.GUICrystallizer; import com.hbm.inventory.recipes.CrystallizerRecipes; +import com.hbm.inventory.recipes.CrystallizerRecipes.CrystallizerRecipe; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; public class CrystallizerRecipeHandler extends NEIUniversalHandler { @@ -24,4 +29,19 @@ public class CrystallizerRecipeHandler extends NEIUniversalHandler { guiGui.add(GUICrystallizer.class); RecipeTransferRectHandler.registerRectsToGuis(guiGui, transferRectsGui); } + + @Override + public void drawExtras(int recipe) { + + RecipeSet rec = (RecipeSet) this.arecipes.get(recipe); + + CrystallizerRecipe cRecipe = CrystallizerRecipes.getOutput(rec.input[1].item, Fluids.fromID(rec.input[0].item.getItemDamage())); + + if(cRecipe != null && cRecipe.productivity > 0) { + FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer; + String momentum = "Effectiveness: +" + Math.min((int) (cRecipe.productivity * 100), 99) + "% per level"; + int side = 8; + fontRenderer.drawString(momentum, side, 52, 0x404040); + } + } } diff --git a/src/main/java/com/hbm/handler/nei/DeuteriumHandler.java b/src/main/java/com/hbm/handler/nei/DeuteriumHandler.java new file mode 100644 index 000000000..91e0d3675 --- /dev/null +++ b/src/main/java/com/hbm/handler/nei/DeuteriumHandler.java @@ -0,0 +1,27 @@ +package com.hbm.handler.nei; + +import java.util.HashMap; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.items.machine.ItemFluidIcon; + +import net.minecraft.item.ItemStack; + +public class DeuteriumHandler extends NEIUniversalHandler { + + public DeuteriumHandler() { + super(ModBlocks.machine_deuterium_extractor.getLocalizedName(), new ItemStack[] { new ItemStack(ModBlocks.machine_deuterium_extractor), new ItemStack(ModBlocks.machine_deuterium_tower) }, generateRecipes()); + } + + @Override + public String getKey() { + return "ntmDeuterium"; + } + + public static HashMap generateRecipes() { + HashMap map = new HashMap(); + map.put(ItemFluidIcon.make(Fluids.WATER, 1_000), ItemFluidIcon.make(Fluids.HEAVYWATER, 20)); + return map; + } +} diff --git a/src/main/java/com/hbm/handler/nei/ElectrolyserFluidHandler.java b/src/main/java/com/hbm/handler/nei/ElectrolyserFluidHandler.java index 11af20db8..5072b1bfb 100644 --- a/src/main/java/com/hbm/handler/nei/ElectrolyserFluidHandler.java +++ b/src/main/java/com/hbm/handler/nei/ElectrolyserFluidHandler.java @@ -9,7 +9,7 @@ import com.hbm.inventory.recipes.ElectrolyserFluidRecipes; public class ElectrolyserFluidHandler extends NEIUniversalHandler { public ElectrolyserFluidHandler() { - super("Electrolysis", ModBlocks.machine_electrolyser, ElectrolyserFluidRecipes.getRecipes()); + super(ModBlocks.machine_electrolyser.getLocalizedName(), ModBlocks.machine_electrolyser, ElectrolyserFluidRecipes.getRecipes()); } @Override diff --git a/src/main/java/com/hbm/handler/nei/ElectrolyserMetalHandler.java b/src/main/java/com/hbm/handler/nei/ElectrolyserMetalHandler.java index f1d5b6e68..b695f86b9 100644 --- a/src/main/java/com/hbm/handler/nei/ElectrolyserMetalHandler.java +++ b/src/main/java/com/hbm/handler/nei/ElectrolyserMetalHandler.java @@ -9,7 +9,7 @@ import com.hbm.inventory.recipes.ElectrolyserMetalRecipes; public class ElectrolyserMetalHandler extends NEIUniversalHandler { public ElectrolyserMetalHandler() { - super("Electrolysis", ModBlocks.machine_electrolyser, ElectrolyserMetalRecipes.getRecipes()); + super(ModBlocks.machine_electrolyser.getLocalizedName(), ModBlocks.machine_electrolyser, ElectrolyserMetalRecipes.getRecipes()); } @Override diff --git a/src/main/java/com/hbm/handler/nei/ExposureChamberHandler.java b/src/main/java/com/hbm/handler/nei/ExposureChamberHandler.java index 4969763e4..a9f16bb50 100644 --- a/src/main/java/com/hbm/handler/nei/ExposureChamberHandler.java +++ b/src/main/java/com/hbm/handler/nei/ExposureChamberHandler.java @@ -9,7 +9,7 @@ import com.hbm.inventory.recipes.ExposureChamberRecipes; public class ExposureChamberHandler extends NEIUniversalHandler { public ExposureChamberHandler() { - super("Exposure Chamber", ModBlocks.machine_exposure_chamber, ExposureChamberRecipes.getRecipes()); + super(ModBlocks.machine_exposure_chamber.getLocalizedName(), ModBlocks.machine_exposure_chamber, ExposureChamberRecipes.getRecipes()); } @Override diff --git a/src/main/java/com/hbm/handler/nei/FractioningHandler.java b/src/main/java/com/hbm/handler/nei/FractioningHandler.java index 158ab9b4d..fb54c4d51 100644 --- a/src/main/java/com/hbm/handler/nei/FractioningHandler.java +++ b/src/main/java/com/hbm/handler/nei/FractioningHandler.java @@ -6,7 +6,7 @@ import com.hbm.inventory.recipes.FractionRecipes; public class FractioningHandler extends NEIUniversalHandler { public FractioningHandler() { - super("Fractioning", ModBlocks.machine_fraction_tower, FractionRecipes.getFractionRecipesForNEI()); + super(ModBlocks.machine_fraction_tower.getLocalizedName(), ModBlocks.machine_fraction_tower, FractionRecipes.getFractionRecipesForNEI()); } @Override diff --git a/src/main/java/com/hbm/handler/nei/FuelPoolHandler.java b/src/main/java/com/hbm/handler/nei/FuelPoolHandler.java index cdbce5b5c..92b08e2c7 100644 --- a/src/main/java/com/hbm/handler/nei/FuelPoolHandler.java +++ b/src/main/java/com/hbm/handler/nei/FuelPoolHandler.java @@ -2,6 +2,9 @@ package com.hbm.handler.nei; import com.hbm.blocks.ModBlocks; import com.hbm.inventory.recipes.FuelPoolRecipes; +import com.hbm.items.machine.ItemRBMKRod; + +import net.minecraft.item.ItemStack; public class FuelPoolHandler extends NEIUniversalHandler { @@ -13,4 +16,22 @@ public class FuelPoolHandler extends NEIUniversalHandler { public String getKey() { return "ntmSpentDrum"; } + + @Override + public void loadUsageRecipes(ItemStack ingredient) { + if(ingredient != null && ingredient.getItem() != null && ingredient.getItem() instanceof ItemRBMKRod) { + if(ItemRBMKRod.getCoreHeat(ingredient) < 50 && ItemRBMKRod.getHullHeat(ingredient) < 50) return; + } + + super.loadUsageRecipes(ingredient); + } + + @Override + public void loadCraftingRecipes(ItemStack ingredient) { + if(ingredient != null && ingredient.getItem() != null && ingredient.getItem() instanceof ItemRBMKRod) { + if(ItemRBMKRod.getCoreHeat(ingredient) >= 50 || ItemRBMKRod.getHullHeat(ingredient) >= 50) return; + } + + super.loadCraftingRecipes(ingredient); + } } diff --git a/src/main/java/com/hbm/handler/nei/HadronRecipeHandler.java b/src/main/java/com/hbm/handler/nei/HadronRecipeHandler.java deleted file mode 100644 index b9325cd9c..000000000 --- a/src/main/java/com/hbm/handler/nei/HadronRecipeHandler.java +++ /dev/null @@ -1,164 +0,0 @@ -package com.hbm.handler.nei; - -import static codechicken.lib.gui.GuiDraw.drawTexturedModalRect; - -import java.awt.Rectangle; -import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; -import java.util.Locale; - -import com.hbm.blocks.ModBlocks; -import com.hbm.handler.imc.ICompatNHNEI; -import com.hbm.inventory.gui.GUIHadron; -import com.hbm.inventory.recipes.HadronRecipes; -import com.hbm.inventory.recipes.HadronRecipes.HadronRecipe; -import com.hbm.lib.RefStrings; - -import codechicken.nei.NEIServerUtils; -import codechicken.nei.PositionedStack; -import codechicken.nei.recipe.TemplateRecipeHandler; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.item.ItemStack; - -public class HadronRecipeHandler extends TemplateRecipeHandler implements ICompatNHNEI { - - @Override - public ItemStack[] getMachinesForRecipe() { - return new ItemStack[]{ - new ItemStack(ModBlocks.hadron_core)}; - } - @Override - public String getRecipeID() { - return "hadron"; - } - public LinkedList transferRectsRec = new LinkedList(); - public LinkedList transferRectsGui = new LinkedList(); - public LinkedList> guiRec = new LinkedList>(); - public LinkedList> guiGui = new LinkedList>(); - - public class RecipeSet extends TemplateRecipeHandler.CachedRecipe { - - PositionedStack input1; - PositionedStack input2; - PositionedStack output1; - PositionedStack output2; - int momentum; - boolean analysisOnly; - - public RecipeSet(HadronRecipe recipe) { - - this.input1 = new PositionedStack(recipe.in1.toStack(), 12, 24); - this.input2 = new PositionedStack(recipe.in2.toStack(), 30, 24); - this.output1 = new PositionedStack(recipe.out1, 84, 24); - this.output2 = new PositionedStack(recipe.out2, 102, 24); - this.momentum = recipe.momentum; - this.analysisOnly = recipe.analysisOnly; - } - - @Override - public List getIngredients() { - return Arrays.asList(new PositionedStack[] { input1, input2 }); - } - - @Override - public List getOtherStacks() { - return Arrays.asList(new PositionedStack[] { output1, output2 }); - } - - @Override - public PositionedStack getResult() { - return output1; - } - } - - @Override - public String getRecipeName() { - return "Particle Accelerator"; - } - - @Override - public void loadCraftingRecipes(String outputId, Object... results) { - - if(outputId.equals("hadron") && getClass() == HadronRecipeHandler.class) { - - List recipes = HadronRecipes.getRecipes(); - - for(HadronRecipe recipe : recipes) { - this.arecipes.add(new RecipeSet(recipe)); - } - - } else { - super.loadCraftingRecipes(outputId, results); - } - } - - @Override - public void loadCraftingRecipes(ItemStack result) { - - List recipes = HadronRecipes.getRecipes(); - - for(HadronRecipe recipe : recipes) { - - if(NEIServerUtils.areStacksSameTypeCrafting(recipe.out1, result) || NEIServerUtils.areStacksSameTypeCrafting(recipe.out2, result)) { - this.arecipes.add(new RecipeSet(recipe)); - } - } - } - - @Override - public void loadUsageRecipes(String inputId, Object... ingredients) { - - if(inputId.equals("hadron") && getClass() == HadronRecipeHandler.class) { - loadCraftingRecipes("hadron", new Object[0]); - } else { - super.loadUsageRecipes(inputId, ingredients); - } - } - - @Override - public void loadUsageRecipes(ItemStack ingredient) { - - List recipes = HadronRecipes.getRecipes(); - - for(HadronRecipe recipe : recipes) { - - if(NEIServerUtils.areStacksSameTypeCrafting(recipe.in1.toStack(), ingredient) || NEIServerUtils.areStacksSameTypeCrafting(recipe.in2.toStack(), ingredient)) { - this.arecipes.add(new RecipeSet(recipe)); - } - } - } - - @Override - public void loadTransferRects() { - transferRectsGui = new LinkedList(); - guiGui = new LinkedList>(); - - transferRects.add(new RecipeTransferRect(new Rectangle(58 - 5, 34 - 11, 24, 18), "hadron")); - transferRectsGui.add(new RecipeTransferRect(new Rectangle(72 - 5, 28 - 11, 30, 30), "hadron")); - guiGui.add(GUIHadron.class); - RecipeTransferRectHandler.registerRectsToGuis(getRecipeTransferRectGuis(), transferRects); - RecipeTransferRectHandler.registerRectsToGuis(guiGui, transferRectsGui); - } - - @Override - public void drawExtras(int recipe) { - - RecipeSet rec = (RecipeSet) this.arecipes.get(recipe); - - if(rec.analysisOnly) - drawTexturedModalRect(128, 23, 0, 86, 18, 18); - - FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer; - - String mom = String.format(Locale.US, "%,d", rec.momentum); - fontRenderer.drawString(mom, -fontRenderer.getStringWidth(mom) / 2 + 30, 42, 0x404040); - } - - @Override - public String getGuiTexture() { - return RefStrings.MODID + ":textures/gui/nei/gui_nei_hadron.png"; - } -} diff --git a/src/main/java/com/hbm/handler/nei/LiquefactionHandler.java b/src/main/java/com/hbm/handler/nei/LiquefactionHandler.java index b3f31e9cb..5d0398d4c 100644 --- a/src/main/java/com/hbm/handler/nei/LiquefactionHandler.java +++ b/src/main/java/com/hbm/handler/nei/LiquefactionHandler.java @@ -6,7 +6,7 @@ import com.hbm.inventory.recipes.LiquefactionRecipes; public class LiquefactionHandler extends NEIUniversalHandler { public LiquefactionHandler() { - super("Liquefaction", ModBlocks.machine_liquefactor, LiquefactionRecipes.getRecipes()); + super(ModBlocks.machine_liquefactor.getLocalizedName(), ModBlocks.machine_liquefactor, LiquefactionRecipes.getRecipes()); } @Override diff --git a/src/main/java/com/hbm/handler/nei/MixerHandler.java b/src/main/java/com/hbm/handler/nei/MixerHandler.java index 320cde187..b93ff9ca1 100644 --- a/src/main/java/com/hbm/handler/nei/MixerHandler.java +++ b/src/main/java/com/hbm/handler/nei/MixerHandler.java @@ -9,7 +9,7 @@ import com.hbm.inventory.recipes.MixerRecipes; public class MixerHandler extends NEIUniversalHandler { public MixerHandler() { - super("Mixer", ModBlocks.machine_mixer, MixerRecipes.getRecipes()); + super(ModBlocks.machine_mixer.getLocalizedName(), ModBlocks.machine_mixer, MixerRecipes.getRecipes()); } @Override diff --git a/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java b/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java index 996e1dc27..d82303b6c 100644 --- a/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java +++ b/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java @@ -106,8 +106,8 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler implemen @Override public List getOtherStacks() { List other = new ArrayList(); - for(PositionedStack pos : output) { - other.add(pos); + for(int i = 1; i < output.length; i++) { + other.add(output[i]); } other.add(machinePositioned); return getCycledIngredients(cycleticks / 20, other); @@ -139,7 +139,7 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler implemen drawTexturedModalRect(pos[0] - 1, pos[1] - 1, 5, 87, 18, 18); } - drawTexturedModalRect(74, 14, 59, 87, 18, 38); + drawTexturedModalRect(74, 14, 59, 87, 18, 36); } public static int[][] getInputCoords(int count) { @@ -242,19 +242,19 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler implemen case 6: return new int[][] { {102, 6}, {120, 6}, {102, 24}, {120, 24}, - {102, 32}, {120, 32}, + {102, 42}, {120, 42}, }; case 7: return new int[][] { {102, 6}, {120, 6}, {102, 24}, {120, 24}, - {102, 32}, {120, 32}, + {102, 42}, {120, 42}, {138, 24}, }; case 8: return new int[][] { {102, 6}, {120, 6}, {102, 24}, {120, 24}, - {102, 32}, {120, 32}, - {138, 24}, {138, 32}, + {102, 42}, {120, 42}, + {138, 24}, {138, 42}, }; } diff --git a/src/main/java/com/hbm/handler/nei/OreSlopperHandler.java b/src/main/java/com/hbm/handler/nei/OreSlopperHandler.java new file mode 100644 index 000000000..28c953010 --- /dev/null +++ b/src/main/java/com/hbm/handler/nei/OreSlopperHandler.java @@ -0,0 +1,37 @@ +package com.hbm.handler.nei; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemFluidIcon; +import com.hbm.items.special.ItemBedrockOreNew; +import com.hbm.items.special.ItemBedrockOreNew.BedrockOreGrade; +import com.hbm.items.special.ItemBedrockOreNew.BedrockOreType; + +import net.minecraft.item.ItemStack; + +public class OreSlopperHandler extends NEIUniversalHandler { + + public OreSlopperHandler() { + super(ModBlocks.machine_ore_slopper.getLocalizedName(), ModBlocks.machine_ore_slopper, getRecipes()); + } + + @Override + public String getKey() { + return "ntmOreSlopper"; + } + + public static HashMap getRecipes() { + HashMap recipes = new HashMap(); + List outputs = new ArrayList(); + for(BedrockOreType type : BedrockOreType.values()) outputs.add(ItemBedrockOreNew.make(BedrockOreGrade.BASE, type)); + outputs.add(ItemFluidIcon.make(Fluids.SLOP, 1000)); + recipes.put(new ItemStack[] {ItemFluidIcon.make(Fluids.WATER, 1000), new ItemStack(ModItems.bedrock_ore_base)}, outputs.toArray(new ItemStack[0])); + + return recipes; + } +} diff --git a/src/main/java/com/hbm/handler/nei/OutgasserHandler.java b/src/main/java/com/hbm/handler/nei/OutgasserHandler.java index e3965aea1..6a7575609 100644 --- a/src/main/java/com/hbm/handler/nei/OutgasserHandler.java +++ b/src/main/java/com/hbm/handler/nei/OutgasserHandler.java @@ -9,7 +9,7 @@ import com.hbm.inventory.recipes.OutgasserRecipes; public class OutgasserHandler extends NEIUniversalHandler { public OutgasserHandler() { - super("Irradiation", ModBlocks.rbmk_outgasser, OutgasserRecipes.getRecipes()); + super(ModBlocks.rbmk_outgasser.getLocalizedName(), ModBlocks.rbmk_outgasser, OutgasserRecipes.getRecipes()); } @Override diff --git a/src/main/java/com/hbm/handler/nei/ParticleAcceleratorHandler.java b/src/main/java/com/hbm/handler/nei/ParticleAcceleratorHandler.java new file mode 100644 index 000000000..e2a56ff2c --- /dev/null +++ b/src/main/java/com/hbm/handler/nei/ParticleAcceleratorHandler.java @@ -0,0 +1,37 @@ +package com.hbm.handler.nei; + +import java.util.Locale; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.recipes.ParticleAcceleratorRecipes; +import com.hbm.inventory.recipes.ParticleAcceleratorRecipes.ParticleAcceleratorRecipe; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; + +public class ParticleAcceleratorHandler extends NEIUniversalHandler { + + public ParticleAcceleratorHandler() { + super(ModBlocks.pa_detector.getLocalizedName(), ModBlocks.pa_detector, ParticleAcceleratorRecipes.getRecipes()); + } + + @Override + public String getKey() { + return "ntmParticleAccelerator"; + } + + @Override + public void drawExtras(int recipe) { + + RecipeSet rec = (RecipeSet) this.arecipes.get(recipe); + + ParticleAcceleratorRecipe paRecipe = ParticleAcceleratorRecipes.getOutput(rec.input[0].item, rec.input[1].item); + + if(paRecipe != null) { + FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer; + String momentum = "Momentum: " + String.format(Locale.US, "%,d", paRecipe.momentum); + int side = 8; + fontRenderer.drawString(momentum, side, 52, 0x404040); + } + } +} diff --git a/src/main/java/com/hbm/handler/nei/PyroHandler.java b/src/main/java/com/hbm/handler/nei/PyroHandler.java new file mode 100644 index 000000000..b81813e53 --- /dev/null +++ b/src/main/java/com/hbm/handler/nei/PyroHandler.java @@ -0,0 +1,27 @@ +package com.hbm.handler.nei; + +import java.awt.Rectangle; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.gui.GUIPyroOven; +import com.hbm.inventory.recipes.PyroOvenRecipes; + +public class PyroHandler extends NEIUniversalHandler { + + public PyroHandler() { + super(ModBlocks.machine_pyrooven.getLocalizedName(), ModBlocks.machine_pyrooven, PyroOvenRecipes.getRecipes()); + } + + @Override + public String getKey() { + return "ntmPyrolysis"; + } + + @Override + public void loadTransferRects() { + super.loadTransferRects(); + transferRectsGui.add(new RecipeTransferRect(new Rectangle(50, 35, 28, 14), "ntmPyrolysis")); + guiGui.add(GUIPyroOven.class); + RecipeTransferRectHandler.registerRectsToGuis(guiGui, transferRectsGui); + } +} diff --git a/src/main/java/com/hbm/handler/nei/RBMKRodDisassemblyHandler.java b/src/main/java/com/hbm/handler/nei/RBMKRodDisassemblyHandler.java new file mode 100644 index 000000000..1e7decef2 --- /dev/null +++ b/src/main/java/com/hbm/handler/nei/RBMKRodDisassemblyHandler.java @@ -0,0 +1,94 @@ +package com.hbm.handler.nei; + +import java.util.HashMap; + +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.items.machine.ItemRBMKRod; + +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class RBMKRodDisassemblyHandler extends NEIUniversalHandler { + + public RBMKRodDisassemblyHandler() { + super("RBMK Rod Disassembly", Blocks.crafting_table, getRecipes()); + } + + @Override + public String getKey() { + return "ntmRBMKDisassembly"; + } + + public static HashMap getRecipes() { + HashMap map = new HashMap<>(); + + for(ItemRBMKRod rod : ItemRBMKRod.craftableRods) { + for(int enrichment = 0; enrichment <= 4; enrichment++) { + ItemStack result = new ItemStack(rod.pellet, 8, enrichment); + map.put(new ComparableStackHeat(rod, false, enrichment, false), result); + + if(rod.pellet.isXenonEnabled()) { + ItemStack resultPoison = new ItemStack(rod.pellet, 8, enrichment + 5); + map.put(new ComparableStackHeat(rod, false, enrichment, true), resultPoison); + } + } + } + + return map; + } + + // Don't show recipes for hot rods (which will cause it to only show cooling recipes) + @Override + public void loadUsageRecipes(ItemStack ingredient) { + if(ingredient != null && ingredient.getItem() != null && ingredient.getItem() instanceof ItemRBMKRod) { + if(ItemRBMKRod.getCoreHeat(ingredient) > 50 || ItemRBMKRod.getHullHeat(ingredient) > 50) return; + } + + super.loadUsageRecipes(ingredient); + } + + public static class ComparableStackHeat extends ComparableStack { + + // I was going to filter by all of these, but found it is just best to show all possible recipes for everything but heat + private final boolean isHot; + private final int enrichment; + private final boolean hasPoison; + + public ComparableStackHeat(Item item, boolean isHot) { + this(item, isHot, -1, false); + } + + public ComparableStackHeat(Item item, boolean isHot, int enrichment, boolean hasPoison) { + super(item); + this.isHot = isHot; + this.enrichment = enrichment; + this.hasPoison = hasPoison; + } + + public ItemStack toStack() { + ItemStack stack = super.toStack(); + ItemRBMKRod rod = (ItemRBMKRod) stack.getItem(); + if(enrichment >= 0) { + ItemRBMKRod.setYield(stack, Math.min(1 - ((double) enrichment) / 5, 0.99) * rod.yield); + } else { + ItemRBMKRod.setYield(stack, 0.2 * rod.yield); + } + if(hasPoison) ItemRBMKRod.setPoison(stack, 50); + if(!isHot) return stack; + ItemRBMKRod.setCoreHeat(stack, 100); + ItemRBMKRod.setHullHeat(stack, 50); + return stack; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = super.hashCode(); + result = prime * result + enrichment; + result = prime * result + (hasPoison ? 1 : 0); + return result; + } + + } +} \ No newline at end of file diff --git a/src/main/java/com/hbm/handler/nei/RBMKWasteDecayHandler.java b/src/main/java/com/hbm/handler/nei/RBMKWasteDecayHandler.java new file mode 100644 index 000000000..9be5a6ae2 --- /dev/null +++ b/src/main/java/com/hbm/handler/nei/RBMKWasteDecayHandler.java @@ -0,0 +1,40 @@ +package com.hbm.handler.nei; + +import java.util.HashMap; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.items.ModItems; +import com.hbm.items.special.ItemWasteLong; +import com.hbm.items.special.ItemWasteShort; + +import net.minecraft.item.ItemStack; + +public class RBMKWasteDecayHandler extends NEIUniversalHandler { + + public RBMKWasteDecayHandler() { + super("Nuclear Waste Decay", ModBlocks.machine_storage_drum, getRecipes()); + } + + @Override + public String getKey() { + return "ntmRBMKWaste"; + } + + public static HashMap getRecipes() { + HashMap map = new HashMap<>(); + + for(ItemWasteShort.WasteClass waste : ItemWasteShort.WasteClass.values()) { + map.put(new ComparableStack(ModItems.nuclear_waste_short, 1, waste), new ItemStack(ModItems.nuclear_waste_short_depleted, 1, waste.ordinal())); + map.put(new ComparableStack(ModItems.nuclear_waste_short_tiny, 1, waste), new ItemStack(ModItems.nuclear_waste_short_depleted_tiny, 1, waste.ordinal())); + } + + for(ItemWasteLong.WasteClass waste : ItemWasteLong.WasteClass.values()) { + map.put(new ComparableStack(ModItems.nuclear_waste_long, 1, waste), new ItemStack(ModItems.nuclear_waste_long_depleted, 1, waste.ordinal())); + map.put(new ComparableStack(ModItems.nuclear_waste_long_tiny, 1, waste), new ItemStack(ModItems.nuclear_waste_long_depleted_tiny, 1, waste.ordinal())); + } + + return map; + } + +} diff --git a/src/main/java/com/hbm/handler/nei/RTGRecipeHandler.java b/src/main/java/com/hbm/handler/nei/RTGRecipeHandler.java index 9a92cde64..ed76b9d91 100644 --- a/src/main/java/com/hbm/handler/nei/RTGRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/RTGRecipeHandler.java @@ -10,8 +10,7 @@ public class RTGRecipeHandler extends NEIUniversalHandler { public RTGRecipeHandler() { super("RTG", new ItemStack[] { new ItemStack(ModBlocks.machine_rtg_grey), - new ItemStack(ModBlocks.machine_difurnace_rtg_off), - new ItemStack(ModBlocks.machine_rtg_furnace_off) + new ItemStack(ModBlocks.machine_difurnace_rtg_off) }, ItemRTGPellet.getRecipeMap()); } diff --git a/src/main/java/com/hbm/handler/nei/RotaryFurnaceHandler.java b/src/main/java/com/hbm/handler/nei/RotaryFurnaceHandler.java new file mode 100644 index 000000000..09509295e --- /dev/null +++ b/src/main/java/com/hbm/handler/nei/RotaryFurnaceHandler.java @@ -0,0 +1,62 @@ +package com.hbm.handler.nei; + +import java.awt.Rectangle; +import java.util.Locale; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.gui.GUIMachineRotaryFurnace; +import com.hbm.inventory.recipes.RotaryFurnaceRecipes; +import com.hbm.inventory.recipes.RotaryFurnaceRecipes.RotaryFurnaceRecipe; +import com.hbm.items.machine.ItemScraps; +import com.hbm.util.i18n.I18nUtil; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.item.ItemStack; + +public class RotaryFurnaceHandler extends NEIUniversalHandler { + + public RotaryFurnaceHandler() { + super(ModBlocks.machine_rotary_furnace.getLocalizedName(), ModBlocks.machine_rotary_furnace, RotaryFurnaceRecipes.getRecipes()); + } + + @Override + public String getKey() { + return "ntmRotaryFurnace"; + } + + @Override + public void loadTransferRects() { + super.loadTransferRects(); + transferRectsGui.add(new RecipeTransferRect(new Rectangle(58, 19, 32, 10), "ntmRotaryFurnace")); + guiGui.add(GUIMachineRotaryFurnace.class); + RecipeTransferRectHandler.registerRectsToGuis(guiGui, transferRectsGui); + } + + @Override + public void drawExtras(int recipe) { + + RecipeSet rec = (RecipeSet) this.arecipes.get(recipe); + Object[] original = (Object[]) rec.originalInputInstance; + ItemStack output = rec.output[0].item; + + outer: for(RotaryFurnaceRecipe arc : RotaryFurnaceRecipes.recipes) { + + if(ItemStack.areItemStacksEqual(ItemScraps.create(arc.output, true), output) && arc.ingredients.length == original.length - (arc.fluid == null ? 0 : 1)) { + + for(int i = 0; i < rec.input.length - (arc.fluid == null ? 0 : 1); i++) { + if(arc.ingredients[i] != original[i]) continue outer; + } + + FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer; + String duration = String.format(Locale.US, "%,d", arc.duration) + " ticks"; + String consumption = I18nUtil.resolveKey(Fluids.STEAM.getUnlocalizedName()) + ": " + String.format(Locale.US, "%,d", arc.steam) + " mB/t"; + int side = 160; + fontRenderer.drawString(duration, side - fontRenderer.getStringWidth(duration), 43, 0x404040); + fontRenderer.drawString(consumption, side - fontRenderer.getStringWidth(consumption), 55, 0x404040); + return; + } + } + } +} diff --git a/src/main/java/com/hbm/handler/nei/SILEXRecipeHandler.java b/src/main/java/com/hbm/handler/nei/SILEXRecipeHandler.java index bc1363383..cf510ae67 100644 --- a/src/main/java/com/hbm/handler/nei/SILEXRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/SILEXRecipeHandler.java @@ -14,8 +14,8 @@ import com.hbm.inventory.recipes.SILEXRecipes; import com.hbm.inventory.recipes.SILEXRecipes.SILEXRecipe; import com.hbm.items.machine.ItemFELCrystal.EnumWavelengths; import com.hbm.lib.RefStrings; -import com.hbm.util.I18nUtil; import com.hbm.util.WeightedRandomObject; +import com.hbm.util.i18n.I18nUtil; import codechicken.nei.NEIServerUtils; import codechicken.nei.PositionedStack; diff --git a/src/main/java/com/hbm/handler/nei/SatelliteHandler.java b/src/main/java/com/hbm/handler/nei/SatelliteHandler.java new file mode 100644 index 000000000..c995e9e3d --- /dev/null +++ b/src/main/java/com/hbm/handler/nei/SatelliteHandler.java @@ -0,0 +1,177 @@ +package com.hbm.handler.nei; + +import codechicken.nei.NEIServerUtils; +import codechicken.nei.PositionedStack; +import codechicken.nei.recipe.TemplateRecipeHandler; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.imc.ICompatNHNEI; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsSatellite; +import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; +import com.hbm.saveddata.satellites.SatelliteMiner; +import com.hbm.util.ItemStackUtil; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.WeightedRandomChestContent; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import static codechicken.lib.gui.GuiDraw.drawTexturedModalRect; + +public class SatelliteHandler extends TemplateRecipeHandler implements ICompatNHNEI { + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[] { + new ItemStack(ModBlocks.sat_dock) + }; + } + + @Override + public String getRecipeID() { + return "ntmSatellite"; + } + + @Override + public String getRecipeName() { + return "Satellite"; + } + + @Override + public String getGuiTexture() { + return RefStrings.MODID + ":textures/gui/nei/gui_nei_anvil.png"; + } + + @Override + public void loadCraftingRecipes(String outputId, Object... results) { + if(outputId.equals("ntmSatellite")) { + for(Item satelliteItem : new Item[]{ModItems.sat_miner, ModItems.sat_lunar_miner}) { + String poolName = SatelliteMiner.getCargoForItem(satelliteItem); + if(poolName == null) { + continue; + } + this.addRecipeToList(satelliteItem, ItemPool.getPool(poolName)); + } + } else { + super.loadCraftingRecipes(outputId, results); + } + } + + @Override + public void loadCraftingRecipes(ItemStack result) { + for(Item satelliteItem : new Item[]{ModItems.sat_miner, ModItems.sat_lunar_miner}) { + String poolName = SatelliteMiner.getCargoForItem(satelliteItem); + if(poolName == null) { + continue; + } + WeightedRandomChestContent[] pool = ItemPool.getPool(poolName); + for(WeightedRandomChestContent poolEntry : pool) { + if(NEIServerUtils.areStacksSameTypeCrafting(poolEntry.theItemId, result)) { + this.addRecipeToList(satelliteItem, pool); + break; + } + } + } + } + + @Override + public void loadUsageRecipes(String inputId, Object... ingredients) { + if(inputId.equals("ntmSatellite")) { + loadCraftingRecipes("ntmSatellite"); + } else { + super.loadUsageRecipes(inputId, ingredients); + } + } + + @Override + public void loadUsageRecipes(ItemStack ingredient) { + if(ingredient.getItem() == ModItems.sat_miner) { + this.addRecipeToList(ModItems.sat_miner, ItemPool.getPool(ItemPoolsSatellite.POOL_SAT_MINER)); + } else if(ingredient.getItem() == ModItems.sat_lunar_miner) { + this.addRecipeToList(ModItems.sat_lunar_miner, ItemPool.getPool(ItemPoolsSatellite.POOL_SAT_LUNAR)); + } + } + + + private void addRecipeToList(Item poolItem, WeightedRandomChestContent[] poolEntries) { + List outs = new ArrayList<>(); + int weight = Arrays.stream(poolEntries).mapToInt(poolEntry -> poolEntry.itemWeight).sum(); + + for(WeightedRandomChestContent poolEntry : poolEntries) { + ItemStack stack = poolEntry.theItemId.copy(); + + float chance = 100F * poolEntry.itemWeight / weight; + ItemStackUtil.addTooltipToStack(stack, EnumChatFormatting.RED + "" + ((int)(chance * 10F) / 10F) + "%"); + + outs.add(stack); + } + + this.arecipes.add(new RecipeSet(new ItemStack(poolItem), outs)); + } + + @Override + public void drawBackground(int recipe) { + super.drawBackground(recipe); + + drawTexturedModalRect(11, 23, 113, 105, 18, 18); //in + drawTexturedModalRect(47, 5, 5, 87, 108, 54); //out + drawTexturedModalRect(29, 14, 131, 96, 18, 36); //operation + } + + public class RecipeSet extends TemplateRecipeHandler.CachedRecipe { + List input = new ArrayList<>(); + List output = new ArrayList<>(); + PositionedStack satelliteDock; + + public RecipeSet(Object in, List out) { + //not the prettiest of solutions but certainly the most pleasant to work with + int outLine = 1; + int inOX = 0; + int inOY = 0; + int outOX = 0; + int outOY = 0; + int anvX = 0; + int anvY = 31; + + outLine = 6; + inOX = 12; + inOY = 24; + outOX = 48; + outOY = 6; + anvX = 30; + + this.input.add(new PositionedStack(in, inOX, inOY)); + + int overflowCount = out.size() / 18; + for(int i = 0; i < Math.min(out.size(), 18); i++) { + ItemStack[] stacks = new ItemStack[overflowCount + 1]; + for(int j = 0; j < overflowCount + 1 && j * 18 + i < out.size(); j++) { + stacks[j] = out.get(j * 18 + i); + } + this.output.add(new PositionedStack(stacks, outOX + 18 * (i % outLine), outOY + 18 * (i / outLine))); + } + + this.satelliteDock = new PositionedStack(new ItemStack(ModBlocks.sat_dock), anvX, anvY); + } + + @Override + public List getIngredients() { + return getCycledIngredients(cycleticks / 20, input); + } + + @Override + public PositionedStack getResult() { + return output.get(0); + } + + @Override + public List getOtherStacks() { + ArrayList stacks = new ArrayList<>(output); + stacks.add(satelliteDock); + return getCycledIngredients(cycleticks / 20, stacks); + } + } +} diff --git a/src/main/java/com/hbm/handler/nei/SawmillHandler.java b/src/main/java/com/hbm/handler/nei/SawmillHandler.java index e573e9f42..43d79bf87 100644 --- a/src/main/java/com/hbm/handler/nei/SawmillHandler.java +++ b/src/main/java/com/hbm/handler/nei/SawmillHandler.java @@ -6,7 +6,7 @@ import com.hbm.tileentity.machine.TileEntitySawmill; public class SawmillHandler extends NEIUniversalHandler { public SawmillHandler() { - super("Sawmill", ModBlocks.machine_sawmill, TileEntitySawmill.getRecipes()); + super(ModBlocks.machine_sawmill.getLocalizedName(), ModBlocks.machine_sawmill, TileEntitySawmill.getRecipes()); } @Override diff --git a/src/main/java/com/hbm/handler/nei/SolderingStationHandler.java b/src/main/java/com/hbm/handler/nei/SolderingStationHandler.java index a48f5f620..a1f127692 100644 --- a/src/main/java/com/hbm/handler/nei/SolderingStationHandler.java +++ b/src/main/java/com/hbm/handler/nei/SolderingStationHandler.java @@ -15,7 +15,7 @@ import net.minecraft.item.ItemStack; public class SolderingStationHandler extends NEIUniversalHandler { public SolderingStationHandler() { - super("Soldering Station", ModBlocks.machine_soldering_station, SolderingRecipes.getRecipes()); + super(ModBlocks.machine_soldering_station.getLocalizedName(), ModBlocks.machine_soldering_station, SolderingRecipes.getRecipes()); } @Override diff --git a/src/main/java/com/hbm/handler/nei/SolidificationHandler.java b/src/main/java/com/hbm/handler/nei/SolidificationHandler.java index 181f7dfa8..5eda6e643 100644 --- a/src/main/java/com/hbm/handler/nei/SolidificationHandler.java +++ b/src/main/java/com/hbm/handler/nei/SolidificationHandler.java @@ -6,7 +6,7 @@ import com.hbm.inventory.recipes.SolidificationRecipes; public class SolidificationHandler extends NEIUniversalHandler { public SolidificationHandler() { - super("Solidification", ModBlocks.machine_solidifier, SolidificationRecipes.getRecipes()); + super(ModBlocks.machine_solidifier.getLocalizedName(), ModBlocks.machine_solidifier, SolidificationRecipes.getRecipes()); } @Override diff --git a/src/main/java/com/hbm/handler/nei/ZirnoxRecipeHandler.java b/src/main/java/com/hbm/handler/nei/ZirnoxRecipeHandler.java index a39208d98..b5ab368d5 100644 --- a/src/main/java/com/hbm/handler/nei/ZirnoxRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/ZirnoxRecipeHandler.java @@ -6,7 +6,7 @@ import com.hbm.tileentity.machine.TileEntityReactorZirnox; public class ZirnoxRecipeHandler extends NEIUniversalHandler { public ZirnoxRecipeHandler() { - super("ZIRNOX", ModBlocks.reactor_zirnox, TileEntityReactorZirnox.fuelMap); + super(ModBlocks.reactor_zirnox.getLocalizedName(), ModBlocks.reactor_zirnox, TileEntityReactorZirnox.fuelMap); } @Override diff --git a/src/main/java/com/hbm/handler/neutron/NeutronHandler.java b/src/main/java/com/hbm/handler/neutron/NeutronHandler.java new file mode 100644 index 000000000..d05472427 --- /dev/null +++ b/src/main/java/com/hbm/handler/neutron/NeutronHandler.java @@ -0,0 +1,50 @@ +package com.hbm.handler.neutron; + +import com.hbm.tileentity.machine.rbmk.RBMKDials; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.TickEvent; +import net.minecraft.world.World; + +import java.util.Map; + + +// General neutron handler because I didn't feel like having each handler class have its own interaction function. +public class NeutronHandler { + + private static int ticks = 0; + + @SubscribeEvent + public void onServerTick(TickEvent.ServerTickEvent event) { + if(event.phase != TickEvent.Phase.START) + return; + + // Freshen the node cache every `cacheTime` ticks to prevent huge RAM usage from idle nodes. + int cacheTime = 20; + boolean cacheClear = ticks >= cacheTime; + if(cacheClear) ticks = 0; + ticks++; + + // Remove `StreamWorld` objects if they have no streams. + NeutronNodeWorld.removeEmptyWorlds(); + + for(Map.Entry world : NeutronNodeWorld.streamWorlds.entrySet()) { + + // Gamerule caching because this apparently is kinda slow? + // meh, good enough + RBMKNeutronHandler.reflectorEfficiency = RBMKDials.getReflectorEfficiency(world.getKey()); + RBMKNeutronHandler.absorberEfficiency = RBMKDials.getAbsorberEfficiency(world.getKey()); + RBMKNeutronHandler.moderatorEfficiency = RBMKDials.getModeratorEfficiency(world.getKey()); + + // I hate this. + // this broke everything because it was ONE OFF + // IT'S NOT THE TOTAL HEIGHT IT'S THE AMOUNT OF BLOCKS ABOVE AAAAAAAAAAAAA + RBMKNeutronHandler.columnHeight = RBMKDials.getColumnHeight(world.getKey()) + 1; + RBMKNeutronHandler.fluxRange = RBMKDials.getFluxRange(world.getKey()); + + world.getValue().runStreamInteractions(world.getKey()); + world.getValue().removeAllStreams(); + + if(cacheClear) world.getValue().cleanNodes(); + } + } +} diff --git a/src/main/java/com/hbm/handler/neutron/NeutronNode.java b/src/main/java/com/hbm/handler/neutron/NeutronNode.java new file mode 100644 index 000000000..0c11d3a05 --- /dev/null +++ b/src/main/java/com/hbm/handler/neutron/NeutronNode.java @@ -0,0 +1,27 @@ +package com.hbm.handler.neutron; + +import com.hbm.handler.neutron.NeutronStream.NeutronType; +import com.hbm.util.fauxpointtwelve.BlockPos; +import net.minecraft.tileentity.TileEntity; + +import java.util.HashMap; +import java.util.Map; + +public abstract class NeutronNode { + + protected NeutronType type; + + protected BlockPos pos; + + protected TileEntity tile; + + // like NBT but less fucking CANCER + // Holds things like cached RBMK lid values. + protected Map data = new HashMap<>(); + + public NeutronNode(TileEntity tile, NeutronType type) { + this.type = type; + this.tile = tile; + this.pos = new BlockPos(tile); + } +} diff --git a/src/main/java/com/hbm/handler/neutron/NeutronNodeWorld.java b/src/main/java/com/hbm/handler/neutron/NeutronNodeWorld.java new file mode 100644 index 000000000..8ebe8a521 --- /dev/null +++ b/src/main/java/com/hbm/handler/neutron/NeutronNodeWorld.java @@ -0,0 +1,104 @@ +package com.hbm.handler.neutron; + +import com.hbm.util.fauxpointtwelve.BlockPos; +import net.minecraft.world.World; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +public class NeutronNodeWorld { + + // List of all stream worlds. + public static HashMap streamWorlds = new HashMap<>(); + + public static NeutronNode getNode(World world, BlockPos pos) { + StreamWorld streamWorld = streamWorlds.get(world); + return streamWorld != null ? streamWorld.nodeCache.get(pos) : null; + } + + public static void removeNode(World world, BlockPos pos) { + StreamWorld streamWorld = streamWorlds.get(world); + if(streamWorld == null) return; + streamWorld.removeNode(pos); + } + + public static StreamWorld getOrAddWorld(World world) { + StreamWorld streamWorld = streamWorlds.get(world); + if(streamWorld == null) { + streamWorld = new StreamWorld(); + streamWorlds.put(world, streamWorld); + } + return streamWorld; + } + + public static void removeAllWorlds() { + streamWorlds.clear(); + } + + public static void removeEmptyWorlds() { + streamWorlds.values().removeIf((streamWorld) -> { + return streamWorld.streams.isEmpty(); + }); + } + + public static class StreamWorld { + + private List streams; + private HashMap nodeCache = new HashMap<>(); + + public StreamWorld() { + streams = new ArrayList<>(); + } + + public void runStreamInteractions(World world) { + for(NeutronStream stream : streams) { + stream.runStreamInteraction(world, this); + } + } + + public void addStream(NeutronStream stream) { + streams.add(stream); + } + + public void removeAllStreams() { + streams.clear(); + } + + public void cleanNodes() { + List toRemove = new ArrayList<>(); + for(NeutronNode cachedNode : nodeCache.values()) { + if(cachedNode.type == NeutronStream.NeutronType.RBMK) { + RBMKNeutronHandler.RBMKNeutronNode node = (RBMKNeutronHandler.RBMKNeutronNode) cachedNode; + toRemove.addAll(node.checkNode(this)); + } + /* TODO: actually do this and uncache pile nodes + if(cachedNode.type == NeutronStream.NeutronType.PILE) { + PileNeutronNode node = (PileNeutronNode) cachedNode; + toRemove.addAll(node.checkNode()); + } + */ + } + + for(BlockPos pos : toRemove) { + nodeCache.remove(pos); + } + } + + public NeutronNode getNode(BlockPos pos) { + return nodeCache.get(pos); + } + + public void addNode(NeutronNode node) { + nodeCache.put(node.pos, node); + } + + public void removeNode(BlockPos pos) { + nodeCache.remove(pos); + } + + public void removeAllStreamsOfType(NeutronStream.NeutronType type) { + streams.removeIf(stream -> stream.type == type); + } + } +} diff --git a/src/main/java/com/hbm/handler/neutron/NeutronStream.java b/src/main/java/com/hbm/handler/neutron/NeutronStream.java new file mode 100644 index 000000000..5f887cb4a --- /dev/null +++ b/src/main/java/com/hbm/handler/neutron/NeutronStream.java @@ -0,0 +1,77 @@ +package com.hbm.handler.neutron; + +import com.hbm.handler.neutron.NeutronNodeWorld.StreamWorld; +import com.hbm.util.fauxpointtwelve.BlockPos; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +import java.util.Iterator; + +public abstract class NeutronStream { + + public enum NeutronType { + DUMMY, // Dummy streams for node decaying + RBMK, // RBMK neutron streams + PILE // Chicago pile streams + } + + public NeutronNode origin; + + // doubles!! + public double fluxQuantity; + // Hey, new implementation! Basically a ratio for slow flux to fast flux + // 0 = all slow flux + // 1 = all fast flux + public double fluxRatio; + + public NeutronType type = NeutronType.DUMMY; + + // Vector for direction of neutron flow. + public Vec3 vector; + + // Primarily used as a "dummy stream", not to be added to the streams list. + public NeutronStream(NeutronNode origin, Vec3 vector) { + this.origin = origin; + this.vector = vector; + posInstance = origin.pos.clone(); + } + + public NeutronStream(NeutronNode origin, Vec3 vector, double flux, double ratio, NeutronType type) { + this.origin = origin; + this.vector = vector; + posInstance = origin.pos.clone(); + this.fluxQuantity = flux; + this.fluxRatio = ratio; + this.type = type; + + NeutronNodeWorld.getOrAddWorld(origin.tile.getWorldObj()).addStream(this); + } + + protected BlockPos posInstance; + + private int i; + + // USES THE CACHE!!! + public Iterator getBlocks(int range) { + + i = 1; + + return new Iterator() { + @Override + public boolean hasNext() { + return i <= range; + } + + @Override + public BlockPos next() { + int x = (int) Math.floor(0.5 + vector.xCoord * i); + int z = (int) Math.floor(0.5 + vector.zCoord * i); + + i++; + return posInstance.mutate(origin.tile.xCoord + x, origin.tile.yCoord, origin.tile.zCoord + z); + } + }; + } + + public abstract void runStreamInteraction(World worldObj, StreamWorld streamWorld); +} diff --git a/src/main/java/com/hbm/handler/neutron/PileNeutronHandler.java b/src/main/java/com/hbm/handler/neutron/PileNeutronHandler.java new file mode 100644 index 000000000..50b9af133 --- /dev/null +++ b/src/main/java/com/hbm/handler/neutron/PileNeutronHandler.java @@ -0,0 +1,119 @@ +package com.hbm.handler.neutron; + +import api.hbm.block.IPileNeutronReceiver; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.neutron.NeutronNodeWorld.StreamWorld; +import com.hbm.tileentity.machine.pile.TileEntityPileBase; +import com.hbm.util.ContaminationUtil; +import com.hbm.util.fauxpointtwelve.BlockPos; +import net.minecraft.block.Block; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +import java.util.List; + +public class PileNeutronHandler { + + public static int range = 5; + + public static class PileNeutronNode extends NeutronNode { + + public PileNeutronNode(TileEntityPileBase tile) { + super(tile, NeutronStream.NeutronType.PILE); + } + + } + + public static PileNeutronNode makeNode(StreamWorld streamWorld, TileEntityPileBase tile) { + BlockPos pos = new BlockPos(tile); + PileNeutronNode node = (PileNeutronNode) streamWorld.getNode(pos); + return node != null ? node : new PileNeutronNode(tile); + } + + private static TileEntity blockPosToTE(World worldObj, BlockPos pos) { + return worldObj.getTileEntity(pos.getX(), pos.getY(), pos.getZ()); + } + + public static class PileNeutronStream extends NeutronStream { + + public PileNeutronStream(NeutronNode origin, Vec3 vector, double flux) { + super(origin, vector, flux, 0D, NeutronType.PILE); + } + + @SuppressWarnings("unchecked") + @Override + public void runStreamInteraction(World worldObj, StreamWorld streamWorld) { + + TileEntityPileBase originTE = (TileEntityPileBase) origin.tile; + BlockPos pos = new BlockPos(originTE); + + for(float i = 1; i <= range; i += 0.5F) { + + BlockPos nodePos = new BlockPos( + (int)Math.floor(pos.getX() + 0.5 + vector.xCoord * i), + (int)Math.floor(pos.getY() + 0.5 + vector.yCoord * i), + (int)Math.floor(pos.getZ() + 0.5 + vector.zCoord * i) + ); + + if(nodePos.equals(pos)) + continue; // don't interact with itself! + + pos.mutate(nodePos.getX(), nodePos.getY(), nodePos.getZ()); + + TileEntity tile; + + NeutronNode node = streamWorld.getNode(nodePos); + if(node != null && node instanceof PileNeutronNode) { + tile = node.tile; + } else { + tile = blockPosToTE(worldObj, nodePos); + if(tile == null) return; + + if(tile instanceof TileEntityPileBase) { + streamWorld.addNode(new PileNeutronNode((TileEntityPileBase) tile)); + } + } + + Block block = tile.getBlockType(); + int meta = tile.getBlockMetadata(); + if(!(tile instanceof TileEntityPileBase)) { + + // Return when a boron block is hit + if(block == ModBlocks.block_boron) + return; + + else if(block == ModBlocks.concrete || + block == ModBlocks.concrete_smooth || + block == ModBlocks.concrete_asbestos || + block == ModBlocks.concrete_colored || + block == ModBlocks.brick_concrete) + fluxQuantity *= 0.25; + + if(block == ModBlocks.block_graphite_rod && (meta & 8) == 0) + return; + } + + if(tile instanceof IPileNeutronReceiver) { + + IPileNeutronReceiver rec = (IPileNeutronReceiver) tile; + rec.receiveNeutrons((int) Math.floor(fluxQuantity)); + + if(block != ModBlocks.block_graphite_detector || (meta & 8) == 0) + return; + } + + int x = (int) (nodePos.getX() + 0.5); + int y = (int) (nodePos.getY() + 0.5); + int z = (int) (nodePos.getZ() + 0.5); + List entities = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(x, y, z, x, y, z)); + + if(entities != null) + for(EntityLivingBase e : entities) + ContaminationUtil.contaminate(e, ContaminationUtil.HazardType.RADIATION, ContaminationUtil.ContaminationType.CREATIVE, (float) (fluxQuantity / 4D)); + } + } + } +} diff --git a/src/main/java/com/hbm/handler/neutron/RBMKNeutronHandler.java b/src/main/java/com/hbm/handler/neutron/RBMKNeutronHandler.java new file mode 100644 index 000000000..fadaea505 --- /dev/null +++ b/src/main/java/com/hbm/handler/neutron/RBMKNeutronHandler.java @@ -0,0 +1,425 @@ +package com.hbm.handler.neutron; + +import com.hbm.blocks.machine.rbmk.RBMKBase; +import com.hbm.handler.neutron.NeutronNodeWorld.StreamWorld; +import com.hbm.handler.radiation.ChunkRadiationManager; +import com.hbm.tileentity.machine.rbmk.*; +import com.hbm.util.fauxpointtwelve.BlockPos; + +import java.util.ArrayList; +import java.util.List; +import java.util.Iterator; + +import net.minecraft.block.Block; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class RBMKNeutronHandler { + + static double moderatorEfficiency; + static double reflectorEfficiency; + static double absorberEfficiency; + static int columnHeight; + static int fluxRange; + + public enum RBMKType { + ROD, + MODERATOR, + CONTROL_ROD, + REFLECTOR, + ABSORBER, + OUTGASSER, + OTHER // why do neutron calculations on them if they won't change anything? + } + + private static TileEntity blockPosToTE(World worldObj, BlockPos pos) { + return worldObj.getTileEntity(pos.getX(), pos.getY(), pos.getZ()); + } + + public static RBMKNeutronNode makeNode(StreamWorld streamWorld, TileEntityRBMKBase tile) { + BlockPos pos = new BlockPos(tile); + RBMKNeutronNode node = (RBMKNeutronNode) streamWorld.getNode(pos); + return node != null ? node : new RBMKNeutronNode(tile, tile.getRBMKType(), tile.hasLid()); + } + + public static class RBMKNeutronNode extends NeutronNode { + + public RBMKNeutronNode(TileEntityRBMKBase tile, RBMKType type, boolean hasLid) { + super(tile, NeutronStream.NeutronType.RBMK); + this.data.put("hasLid", hasLid); + this.data.put("type", type); + posInstance = new BlockPos(tile); + } + + public void addLid() { + this.data.replace("hasLid", true); + } + + public void removeLid() { + this.data.replace("hasLid", false); + } + + protected BlockPos posInstance; + + private int x; + private int z; + + public Iterator getReaSimNodes() { + + x = -fluxRange; + z = -fluxRange; + + return new Iterator() { + @Override + public boolean hasNext() { + return (fluxRange + x) * (fluxRange * 2 + 1) + z + fluxRange + 1 < (fluxRange * 2 + 1) * (fluxRange * 2 + 1); + } + + @Override + public BlockPos next() { + if(Math.pow(x, 2) + Math.pow(z, 2) <= fluxRange * fluxRange) { + z++; + if(z > fluxRange) { + z = -fluxRange; + x++; + } + return posInstance.mutate(tile.xCoord + x, tile.yCoord, tile.zCoord + z); + } else { + z++; + if(z > fluxRange) { + z = -fluxRange; + x++; + } + return null; + } + } + }; + } + + public List checkNode(StreamWorld streamWorld) { + List list = new ArrayList<>(); + + BlockPos pos = new BlockPos(this.tile); + + RBMKNeutronStream[] streams = new RBMKNeutronStream[TileEntityRBMKRod.fluxDirs.length]; + + // Simulate streams coming out of the RBMK rod. + ForgeDirection[] fluxDirs = TileEntityRBMKRod.fluxDirs; + for(int i = 0; i < fluxDirs.length; i++) { + streams[i] = (new RBMKNeutronStream(this, Vec3.createVectorHelper(fluxDirs[i].offsetX, 0, fluxDirs[i].offsetZ))); + } + + // Check if the rod should uncache nodes. + if(tile instanceof TileEntityRBMKRod && !(tile instanceof TileEntityRBMKRodReaSim)) { + TileEntityRBMKRod rod = (TileEntityRBMKRod) tile; + if(!rod.hasRod || rod.lastFluxQuantity == 0) { + + for(RBMKNeutronStream stream : streams) { + for(NeutronNode node : stream.getNodes(streamWorld, false)) + if(node != null) + list.add(new BlockPos(node.tile)); + } + + return list; + } + } + + { + Iterator reaSimNodes = getReaSimNodes(); + + // Check if the ReaSim rod should be culled from the cache due to no rod or no flux. + if(tile instanceof TileEntityRBMKRodReaSim) { // fuckkkkkkk + TileEntityRBMKRodReaSim rod = (TileEntityRBMKRodReaSim) tile; + if(!rod.hasRod || rod.lastFluxQuantity == 0) { + reaSimNodes.forEachRemaining((a) -> { + if(a != null) + list.add(a.clone()); // ae The RAM usage will be really high here but hopefully the GC can take care of it :pray: + }); + return list; + } + } + } + + // Check if non-rod nodes should be uncached... but now with ReaSim! + { // Yeah, I don't want to contaminate the surrounding scope. + Iterator reaSimNodes = getReaSimNodes(); + + boolean hasRod = false; + + while(reaSimNodes.hasNext()) { + + BlockPos nodePos = reaSimNodes.next(); + + if(nodePos == null) + continue; + + NeutronNode node = streamWorld.getNode(nodePos); + + if(node != null && node.tile instanceof TileEntityRBMKRod) { + + TileEntityRBMKRod rod = (TileEntityRBMKRod) node.tile; + + if(rod.hasRod && rod.lastFluxQuantity > 0) { + hasRod = true; + break; + } + } + } + + if(!hasRod) { + list.add(pos); + return list; + } + } + + // Check if non-rod nodes should be uncached due to no rod in range. + for(RBMKNeutronStream stream : streams) { + + NeutronNode[] nodes = stream.getNodes(streamWorld, false); + + for(NeutronNode node : nodes) { + if(!(node == null) && node.tile instanceof TileEntityRBMKRod) + return list; + } + } + + // If we get here, then no rods were found along this stream's path! + // This, most of the time, means we can just uncache all the nodes inside the stream's path. + // That other part of the time, streams will be crossing paths. + // This is fine though, we can just uncache them anyway and the streams later on (next tick) will recache them. + // /\ idk what this guy was on about but this is just plain wrong. /\ + list.add(pos); + + return list; + } + } + + + public static class RBMKNeutronStream extends NeutronStream { + + public RBMKNeutronStream(NeutronNode origin, Vec3 vector) { + super(origin, vector); + } + + public RBMKNeutronStream(NeutronNode origin, Vec3 vector, double flux, double ratio) { + super(origin, vector, flux, ratio, NeutronType.RBMK); + } + + // Does NOT include the origin node + // USES THE CACHE!!! + public NeutronNode[] getNodes(StreamWorld streamWorld, boolean addNode) { + NeutronNode[] positions = new RBMKNeutronNode[fluxRange]; + + BlockPos pos = new BlockPos(origin.tile); + World world = origin.tile.getWorldObj(); + + for(int i = 1; i <= fluxRange; i++) { + int x = (int) Math.floor(0.5 + vector.xCoord * i); + int z = (int) Math.floor(0.5 + vector.zCoord * i); + + pos.mutate(origin.tile.xCoord + x, origin.tile.yCoord, origin.tile.zCoord + z); + + NeutronNode node = streamWorld.getNode(pos); + if(node != null && node instanceof RBMKNeutronNode) { + positions[i - 1] = node; + } else if(this.origin.tile.getBlockType() instanceof RBMKBase) { + TileEntity te = blockPosToTE(world, pos); + if(te instanceof TileEntityRBMKBase) { + TileEntityRBMKBase rbmkBase = (TileEntityRBMKBase) te; + node = makeNode(streamWorld, rbmkBase); + positions[i - 1] = node; + if(addNode) streamWorld.addNode(node); + } + } + } + return positions; + } + + // The... small one? whatever it's still pretty big, runs the interaction for the stream. + public void runStreamInteraction(World worldObj, StreamWorld streamWorld) { + + // do nothing if there's nothing to do lmao + if(fluxQuantity == 0D) + return; + + BlockPos pos = new BlockPos(origin.tile); + + TileEntityRBMKBase originTE; + + NeutronNode node = streamWorld.getNode(pos); + if(node != null) { + originTE = (TileEntityRBMKBase) node.tile; + } else { + originTE = (TileEntityRBMKBase) blockPosToTE(worldObj, pos); + if(originTE == null) return; // Doesn't exist anymore! + + streamWorld.addNode(new RBMKNeutronNode(originTE, originTE.getRBMKType(), originTE.hasLid())); + } + + int moderatedCount = 0; + + Iterator iterator = getBlocks(fluxRange); + + while(iterator.hasNext()) { + + BlockPos targetPos = iterator.next(); + + if(fluxQuantity == 0D) // Whoops, used it all up! + return; + + NeutronNode targetNode = streamWorld.getNode(targetPos); + if(targetNode == null) { + TileEntity te = blockPosToTE(worldObj, targetPos); // ok, maybe it didn't get added to the list somehow?? + if(te instanceof TileEntityRBMKBase) { + targetNode = makeNode(streamWorld, (TileEntityRBMKBase) te); + streamWorld.addNode(targetNode); // whoops! + } else { + int hits = getHits(targetPos); // Get the amount of hits on blocks. + if(hits == columnHeight) // If stream is fully blocked. + return; + else if(hits > 0) { // If stream is partially blocked. + irradiateFromFlux(pos, hits); + fluxQuantity *= 1 - ((double) hits / columnHeight); // Inverse to get partial blocking by blocks. + continue; + } else { // Nothing hit! + irradiateFromFlux(pos, 0); + continue; + } + } + } + + RBMKType type = (RBMKType) targetNode.data.get("type"); + + if(type == RBMKType.OTHER || type == null) // pass right on by! + continue; + + // we established earlier during `getNodes()` that they should all be RBMKBase TEs + // no issue with casting here! + TileEntityRBMKBase nodeTE = (TileEntityRBMKBase) targetNode.tile; + + if(!(boolean) targetNode.data.get("hasLid")) + ChunkRadiationManager.proxy.incrementRad(worldObj, targetPos.getX(), targetPos.getY(), targetPos.getZ(), (float) (this.fluxQuantity * 0.05F)); + + if(type == RBMKType.MODERATOR || nodeTE.isModerated()) { + moderatedCount++; + moderateStream(); + } + + if(nodeTE instanceof IRBMKFluxReceiver) { + IRBMKFluxReceiver column = (IRBMKFluxReceiver) nodeTE; + + if(type == RBMKType.ROD) { + TileEntityRBMKRod rod = (TileEntityRBMKRod) column; + + if(rod.hasRod) { + rod.receiveFlux(this); + return; + } + + } else if(type == RBMKType.OUTGASSER) { + TileEntityRBMKOutgasser outgasser = ((TileEntityRBMKOutgasser) column); + + if(outgasser.canProcess()) { + column.receiveFlux(this); + return; + } + } + + } else if(type == RBMKType.CONTROL_ROD) { + TileEntityRBMKControl rod = (TileEntityRBMKControl) nodeTE; + + if(rod.level > 0.0D) { + + this.fluxQuantity *= rod.getMult(); + continue; + } + return; + } else if(type == RBMKType.REFLECTOR) { + + if(((TileEntityRBMKBase) this.origin.tile).isModerated()) + moderatedCount++; + + if(this.fluxRatio > 0 && moderatedCount > 0) + for(int i = 0; i < moderatedCount; i++) + moderateStream(); + + if(reflectorEfficiency != 1.0D) { + this.fluxQuantity *= reflectorEfficiency; + continue; + } + + ((TileEntityRBMKRod) originTE).receiveFlux(this); + return; + } else if(type == RBMKType.ABSORBER) { + if(absorberEfficiency == 1) + return; + + this.fluxQuantity *= absorberEfficiency; + } + } + + NeutronNode[] nodes = getNodes(streamWorld, true); + + NeutronNode lastNode = nodes[(nodes.length - 1)]; + + if(lastNode == null) { // This implies that there was *no* last node, meaning either way it was never caught. + // There is really no good way to figure out where exactly it should irradiate, so just irradiate at the origin tile. + irradiateFromFlux(new BlockPos(origin.tile.xCoord + this.vector.xCoord, origin.tile.yCoord, origin.tile.zCoord + this.vector.zCoord)); + return; + } + + RBMKType lastNodeType = (RBMKType) lastNode.data.get("type"); + + if(lastNodeType == RBMKType.CONTROL_ROD) { + TileEntityRBMKControl rod = (TileEntityRBMKControl) lastNode.tile; + if(rod.getMult() > 0.0D) { + this.fluxQuantity *= rod.getMult(); + BlockPos posAfter = new BlockPos(lastNode.tile.xCoord + this.vector.xCoord, lastNode.tile.yCoord, lastNode.tile.zCoord + this.vector.zCoord); + + // The below code checks if the block after the control rod is actually a block or if it's an RBMK rod. + // Resolves GitHub issue #1933. + if(NeutronNodeWorld.getNode(worldObj, pos) == null) { + TileEntity te = blockPosToTE(worldObj, posAfter); + if (te instanceof TileEntityRBMKBase) { + RBMKNeutronNode nodeAfter = makeNode(NeutronNodeWorld.getOrAddWorld(worldObj), (TileEntityRBMKBase) te); + NeutronNodeWorld.getOrAddWorld(worldObj).addNode(nodeAfter); + } else { + irradiateFromFlux(posAfter); // I'm so mad about this... + } + } + } + } + } + + public int getHits(BlockPos pos) { + int hits = 0; + + for(int h = 0; h < columnHeight; h++) { + // holy fucking shit + // I have had this one line cause me like tens of problems + // I FUCKING HATE THIS + // total count of bugs fixed attributed to this function: 14 + Block block = origin.tile.getWorldObj().getBlock(pos.getX(), pos.getY() + h, pos.getZ()); + if(block.isOpaqueCube()) + hits += 1; + } + + return hits; + } + + public void irradiateFromFlux(BlockPos pos) { + ChunkRadiationManager.proxy.incrementRad(origin.tile.getWorldObj(), pos.getX(), pos.getY(), pos.getZ(), (float) (fluxQuantity * 0.05F * (1 - (double) getHits(pos) / columnHeight))); + } + + public void irradiateFromFlux(BlockPos pos, int hits) { + ChunkRadiationManager.proxy.incrementRad(origin.tile.getWorldObj(), pos.getX(), pos.getY(), pos.getZ(), (float) (fluxQuantity * 0.05F * (1 - (double) hits / columnHeight))); + } + + public void moderateStream() { + fluxRatio *= (1 - moderatorEfficiency); + } + + } +} diff --git a/src/main/java/com/hbm/handler/neutron/package-info.java b/src/main/java/com/hbm/handler/neutron/package-info.java new file mode 100644 index 000000000..17b5ba872 --- /dev/null +++ b/src/main/java/com/hbm/handler/neutron/package-info.java @@ -0,0 +1,76 @@ +package com.hbm.handler.neutron; + +/* +Hello all, especially Bobcat!! +This very well could be my last contribution here, so let's make it quick (I am 24 vicodin deep and in a majorly depressive state). + +Neutron Nodespace: + The neutron nodespace is a system inspired by the power net nodespace that allows for caching and + calculation of neutron streams from node to node. This is used in both the RBMK and the Chicago Pile, + and is planned to be used in future reactors if needed. + +How actually does the Neutron Nodespace work? + The neutron system is separated into a few different parts: + 1. The Neutron Node World + Neutron node worlds hold, well, the neutron nodes for a world. Each world has its own list, and the + nodes are updated based on their respective adding/removing functions. Only adding nodes is done automatically when a stream + passes through an unregistered node, so unregistering nodes must be done manually. This can also be done using a system + that automatically clears any unused nodes after a certain amount of time, see checkNode() in RBMKNeutronHandler for an example. + + 2. The Neutron Node + Neutron nodes are the actual nodes that interact with neutron streams. These hold a few parameters, + namely the neutron type (held as a NeutronType enum), the position of the node, the TileEntity + the node is encapsulating (optional for blocks), and a special data field. The data field is fully + optional and is mostly used in the RBMK space for holding data about the columns themselves to speed + up grabbing data. This field can hold any sort of data and is meant to be used similar to an NBT storage. + + 3. The Neutron Stream + Neutron streams are where the magic happens (figuratively speaking). Neutron streams can be defined + as a specific type, allowing them only to interact with one type of neutron node. Neutron streams have + a few values, including their origin (in the form of a NeutronNode object), flux quantity, flux ratio, and the + stream vector. The flux quantity and ratio (double 0-1) is a special way of handling the slow/fast flux. The flux ratio can be + calculated by taking the amount of fast flux over the total amount of flux (flux quantity). The amount of fast flux + can be calculated by doing the inverse of this, meaning multiplying the flux quantity by the flux ratio. The slow + flux can be found in nearly the same way, simply by multiplying the flux quantity by one minus the flux ratio. The stream + vector determines the "direction" of the neutron stream, and can be defined as any rotational vector. + The neutron stream class has a few functions that can be used: + 1. Iterator getBlocks(int range): This function returns an iterator over all the blocks in a stream's + path, determined by a given range and the stream's vector. + 2. void runStreamInteraction(World worldObj): This abstract function must be defined in any implementation of the + neutron stream algorithm. This can be seen in the `RBMKNeutronHandler` and the `PileNeutronHandler`. This function + will be run *once* for each and every stream, then they will be removed from the list. + *Each neutron stream only lasts for a single tick in an optimal system.* + +Using the Neutron Nodespace: + Using the neutron nodespace in a new system is not extremely complex, but also requires a few interlocking steps. + New systems should contain a main handler class, normally in the format of nameOfSystemNeutronHandler (see PileNeutronHandler + and RBMKNeutronHandler). This is required to contain at least two things: + 1. Extension of the abstract NeutronStream class. + This is required for the system to operate, as it contains the main code for actually handling the interactions for the stream. + 2. Extension of the abstract NeutronNode class. + This is also required, as this holds the constructor for defining the node type. This can also, optionally, contain special + functions for interfacing with the data field inside the node structure. + + Additional code for handling the streams as they are processed can be placed inside the NeutronHandler class, right above the loop + for processing all the stream interactions. This can be done for optimizing out gamerule checking and the like. + + As mentioned before, the nodes have to be manually destroyed by the TE, normally done within `invalidate()`. + There is also an experimental system for automatically clearing nodes from the nodespace when streams have not passed through + them every second. This can be seen at the end of the onServerTick() function in the NeutronHandler class. Additional + checks for other types can be added here if needed/desired. + +As a final note, this system is potentially way more complicated than it could need to be. +For any extra examples, below is a few files that contain some basic neutron nodespace code that can serve as a base for making new +systems. + +Stream Creation: + 2D Generic stream creation: spreadFlux() in tileentity.machine.rbmk.TileEntityRBMKRod + 2D Non-cardinal direction stream creation: spreadFlux() in tileentity.machine.rbmk.TileEntityRBMKRodReaSim + 3D non-cardinal direction stream creation: castRay() in tileentity.machine.pile.TileEntityPileBase + +Node Management: + Node invalidation: invalidate() in tileentity.machine.rbmk.TileEntityRBMKBase and tileentity.machine.pile.TileEntityPileBase + +See handler.neutron.PileNeutronHandler and handler.neutron.RBMKNeutronHandler for example system handlers. +See handler.neutron.NeutronHandler for the overarching class. +*/ diff --git a/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerSimple.java b/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerSimple.java index 161dd5522..d77c6b34b 100644 --- a/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerSimple.java +++ b/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerSimple.java @@ -5,12 +5,11 @@ import java.util.Map.Entry; import com.hbm.blocks.ModBlocks; import com.hbm.config.RadiationConfig; -import com.hbm.packet.AuxParticlePacket; -import com.hbm.packet.PacketDispatcher; +import com.hbm.main.MainRegistry; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.block.material.Material; import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.MathHelper; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; @@ -25,31 +24,31 @@ import net.minecraftforge.event.world.WorldEvent; * @author hbm */ public class ChunkRadiationHandlerSimple extends ChunkRadiationHandler { - + private HashMap perWorld = new HashMap(); private static final float maxRad = 100_000F; @Override public float getRadiation(World world, int x, int y, int z) { SimpleRadiationPerWorld radWorld = perWorld.get(world); - + if(radWorld != null) { ChunkCoordIntPair coords = new ChunkCoordIntPair(x >> 4, z >> 4); Float rad = radWorld.radiation.get(coords); return rad == null ? 0F : MathHelper.clamp_float(rad, 0, maxRad); } - + return 0; } @Override public void setRadiation(World world, int x, int y, int z, float rad) { SimpleRadiationPerWorld radWorld = perWorld.get(world); - + if(radWorld != null) { - + if(world.blockExists(x, 0, z)) { - + ChunkCoordIntPair coords = new ChunkCoordIntPair(x >> 4, z >> 4); radWorld.radiation.put(coords, MathHelper.clamp_float(rad, 0, maxRad)); world.getChunkFromBlockCoords(x, z).isModified = true; @@ -69,28 +68,28 @@ public class ChunkRadiationHandlerSimple extends ChunkRadiationHandler { @Override public void updateSystem() { - + for(Entry entry : perWorld.entrySet()) { - + HashMap radiation = entry.getValue().radiation; HashMap buff = new HashMap(radiation); radiation.clear(); World world = entry.getKey(); - + for(Entry chunk : buff.entrySet()) { - + if(chunk.getValue() == 0) continue; - + ChunkCoordIntPair coord = chunk.getKey(); - + for(int i = -1; i <= 1; i++) { for(int j = -1; j<= 1; j++) { - + int type = Math.abs(i) + Math.abs(j); float percent = type == 0 ? 0.6F : type == 1 ? 0.075F : 0.025F; ChunkCoordIntPair newCoord = new ChunkCoordIntPair(coord.chunkXPos + i, coord.chunkZPos + j); - + if(buff.containsKey(newCoord)) { Float val = radiation.get(newCoord); float rad = val == null ? 0 : val; @@ -100,15 +99,20 @@ public class ChunkRadiationHandlerSimple extends ChunkRadiationHandler { } else { radiation.put(newCoord, chunk.getValue() * percent); } - + float rad = radiation.get(newCoord); if(rad > RadiationConfig.fogRad && world != null && world.rand.nextInt(RadiationConfig.fogCh) == 0 && world.getChunkProvider().chunkExists(coord.chunkXPos, coord.chunkZPos)) { - + int x = coord.chunkXPos * 16 + world.rand.nextInt(16); int z = coord.chunkZPos * 16 + world.rand.nextInt(16); int y = world.getHeightValue(x, z) + world.rand.nextInt(5); - - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacket(x, y, z, 3), new TargetPoint(world.provider.dimensionId, x, y, z, 100)); + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "radFog"); + data.setDouble("posX", x); + data.setDouble("posY", y); + data.setDouble("posZ", z); + MainRegistry.proxy.effectNT(data); } } } @@ -119,7 +123,7 @@ public class ChunkRadiationHandlerSimple extends ChunkRadiationHandler { @Override public void clearSystem(World world) { SimpleRadiationPerWorld radWorld = perWorld.get(world); - + if(radWorld != null) { radWorld.radiation.clear(); } @@ -136,15 +140,15 @@ public class ChunkRadiationHandlerSimple extends ChunkRadiationHandler { if(!event.world.isRemote) perWorld.remove(event.world); } - + private static final String NBT_KEY_CHUNK_RADIATION = "hfr_simple_radiation"; @Override public void receiveChunkLoad(ChunkDataEvent.Load event) { - + if(!event.world.isRemote) { SimpleRadiationPerWorld radWorld = perWorld.get(event.world); - + if(radWorld != null) { radWorld.radiation.put(event.getChunk().getChunkCoordIntPair(), event.getData().getFloat(NBT_KEY_CHUNK_RADIATION)); } @@ -153,10 +157,10 @@ public class ChunkRadiationHandlerSimple extends ChunkRadiationHandler { @Override public void receiveChunkSave(ChunkDataEvent.Save event) { - + if(!event.world.isRemote) { SimpleRadiationPerWorld radWorld = perWorld.get(event.world); - + if(radWorld != null) { Float val = radWorld.radiation.get(event.getChunk().getChunkCoordIntPair()); float rad = val == null ? 0F : val; @@ -167,74 +171,74 @@ public class ChunkRadiationHandlerSimple extends ChunkRadiationHandler { @Override public void receiveChunkUnload(ChunkEvent.Unload event) { - + if(!event.world.isRemote) { SimpleRadiationPerWorld radWorld = perWorld.get(event.world); - + if(radWorld != null) { radWorld.radiation.remove(event.getChunk()); } } } - + public static class SimpleRadiationPerWorld { - + public HashMap radiation = new HashMap(); } - + @Override public void handleWorldDestruction() { - + int count = 10; int threshold = 10; int chunks = 5; - + //for all worlds for(Entry per : perWorld.entrySet()) { - + World world = per.getKey(); SimpleRadiationPerWorld list = per.getValue(); - + Object[] entries = list.radiation.entrySet().toArray(); - + if(entries.length == 0) continue; - + //chose this many random chunks for(int c = 0; c < chunks; c++) { - + Entry randEnt = (Entry) entries[world.rand.nextInt(entries.length)]; - + ChunkCoordIntPair coords = randEnt.getKey(); WorldServer serv = (WorldServer) world; ChunkProviderServer provider = (ChunkProviderServer) serv.getChunkProvider(); - + //choose this many random locations within the chunk for(int i = 0; i < count; i++) { - + if(randEnt == null || randEnt.getValue() < threshold) continue; - + if(provider.chunkExists(coords.chunkXPos, coords.chunkZPos)) { - + for(int a = 0; a < 16; a++) { for(int b = 0; b < 16; b++) { - + if(world.rand.nextInt(3) != 0) continue; - + int x = coords.getCenterXPos() - 8 + a; int z = coords.getCenterZPosition() - 8 + b; int y = world.getHeightValue(x, z) - world.rand.nextInt(2); - + if(world.getBlock(x, y, z) == Blocks.grass) { world.setBlock(x, y, z, ModBlocks.waste_earth); - + } else if(world.getBlock(x, y, z) == Blocks.tallgrass) { world.setBlock(x, y, z, Blocks.air); - + } else if(world.getBlock(x, y, z).getMaterial() == Material.leaves && !(world.getBlock(x, y, z) == ModBlocks.waste_leaves)) { - + if(world.rand.nextInt(7) <= 5) { world.setBlock(x, y, z, ModBlocks.waste_leaves); } else { diff --git a/src/main/java/com/hbm/handler/threading/PacketThreading.java b/src/main/java/com/hbm/handler/threading/PacketThreading.java new file mode 100644 index 000000000..2f6fd16be --- /dev/null +++ b/src/main/java/com/hbm/handler/threading/PacketThreading.java @@ -0,0 +1,213 @@ +package com.hbm.handler.threading; + +import com.google.common.util.concurrent.ThreadFactoryBuilder; +import com.hbm.config.GeneralConfig; +import com.hbm.main.MainRegistry; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.threading.PrecompiledPacket; +import com.hbm.packet.threading.ThreadedPacket; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import net.minecraft.entity.player.EntityPlayerMP; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.*; +import java.util.concurrent.locks.ReentrantLock; + +public class PacketThreading { + + public static final String threadPrefix = "NTM-Packet-Thread-"; + + public static final ThreadFactory packetThreadFactory = new ThreadFactoryBuilder().setNameFormat(threadPrefix + "%d").build(); + + public static final ThreadPoolExecutor threadPool = (ThreadPoolExecutor) Executors.newFixedThreadPool(1, packetThreadFactory); + + public static int totalCnt = 0; + + public static long nanoTimeWaited = 0; + + public static final List> futureList = new ArrayList<>(); + + public static ReentrantLock lock = new ReentrantLock(); + + /** + * Sets up thread pool settings during mod initialization. + */ + public static void init() { + threadPool.setKeepAliveTime(50, TimeUnit.MILLISECONDS); + if (GeneralConfig.enablePacketThreading) { + if (GeneralConfig.packetThreadingCoreCount < 0 || GeneralConfig.packetThreadingMaxCount <= 0) { + MainRegistry.logger.error("0.02_packetThreadingCoreCount < 0 or 0.03_packetThreadingMaxCount is <= 0, defaulting to 1 each."); + threadPool.setCorePoolSize(1); // beugh + threadPool.setMaximumPoolSize(1); + } else if (GeneralConfig.packetThreadingMaxCount > GeneralConfig.packetThreadingCoreCount) { + MainRegistry.logger.error("0.03_packetThreadingMaxCount is > 0.02_packetThreadingCoreCount, defaulting to 1 each."); + threadPool.setCorePoolSize(1); + threadPool.setMaximumPoolSize(1); + } else { + threadPool.setCorePoolSize(GeneralConfig.packetThreadingCoreCount); + threadPool.setMaximumPoolSize(GeneralConfig.packetThreadingMaxCount); + } + threadPool.allowCoreThreadTimeOut(false); + } else { + threadPool.allowCoreThreadTimeOut(true); + try { + lock.lock(); + for (Runnable task : threadPool.getQueue()) { + task.run(); // Run all tasks async just in-case there *are* tasks left to run. + } + clearThreadPoolTasks(); + } finally { + lock.unlock(); + } + } + } + + // Prepares a packet by making a PreBuf (or invalidating due to incorrect class). + private static boolean preparePacket(IMessage message) { + // `message` can be precompiled or not. + if(message instanceof PrecompiledPacket) + ((PrecompiledPacket) message).getCompiledBuffer(); // Gets the precompiled buffer, doing nothing if it already exists. + totalCnt++; + + if(!(message instanceof ThreadedPacket)) { + MainRegistry.logger.error("Invalid packet class, expected ThreadedPacket, got {}.", message.getClass().getSimpleName()); + return true; + } + return false; + } + + /** + * Adds a packet to the thread pool to be processed in the future. This is only compatible with the `sendToAllAround` dispatch operation. + * @param message Message to process. + * @param target TargetPoint to send to. + */ + public static void createAllAroundThreadedPacket(IMessage message, TargetPoint target) { + + if(preparePacket(message)) + return; + + ThreadedPacket packet = (ThreadedPacket) message; + + Runnable task = () -> { + try { + lock.lock(); + PacketDispatcher.wrapper.sendToAllAround(message, target); + packet.getCompiledBuffer().release(); + } finally { + lock.unlock(); + } + }; + + addTask(task); + } + + /** + * Adds a packet to the thread pool to be processed in the future. This is only compatible with the `sendTo` dispatch operation. + * + * @param message Message to process. + * @param player PlayerMP to send to. + */ + public static void createSendToThreadedPacket(IMessage message, EntityPlayerMP player) { + + if(preparePacket(message)) + return; + + ThreadedPacket packet = (ThreadedPacket) message; + + Runnable task = () -> { + try { + lock.lock(); + PacketDispatcher.wrapper.sendTo(message, player); + packet.getCompiledBuffer().release(); + } finally { + lock.unlock(); + } + }; + + addTask(task); + } + + private static void addTask(Runnable task) { + if(isTriggered()) + task.run(); + else if(GeneralConfig.enablePacketThreading) + futureList.add(threadPool.submit(task)); + else + task.run(); + } + + /** + * Wait until the packet thread is finished processing. + */ + public static void waitUntilThreadFinished() { + long startTime = System.nanoTime(); + try { + if (GeneralConfig.enablePacketThreading && (!GeneralConfig.packetThreadingErrorBypass && !hasTriggered)) { + for (Future future : futureList) { + nanoTimeWaited = System.nanoTime() - startTime; + future.get(50, TimeUnit.MILLISECONDS); // I HATE EVERYTHING + // if(TimeUnit.MILLISECONDS.convert(nanoTimeWaited, TimeUnit.NANOSECONDS) > 50) throw new TimeoutException(); // >50ms total time? timeout? yes sir, ooh rah! + // this seems to cause big problems with large worlds, never mind... + } + } + } catch (ExecutionException ignored) { + // impossible + } catch (TimeoutException e) { + if(!GeneralConfig.packetThreadingErrorBypass && !hasTriggered) + MainRegistry.logger.warn("A packet has taken >50ms to process, discarding {}/{} packets to prevent pausing of main thread ({} total futures).", threadPool.getQueue().size(), totalCnt, futureList.size()); + clearThreadPoolTasks(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); // maybe not the best thing but it's gotta be here + } finally { + futureList.clear(); + if(!threadPool.getQueue().isEmpty()) { + if(!GeneralConfig.packetThreadingErrorBypass && !hasTriggered) + MainRegistry.logger.warn("Residual packets in packet threading queue detected, discarding {}/{} packets.", threadPool.getQueue().size(), totalCnt); + clearThreadPoolTasks(); // Just in case the thread somehow doesn't process all the tasks, we don't want this backing up too far. + } + + totalCnt = 0; + } + } + + public static int clearCnt = 0; + + public static boolean hasTriggered = false; + + public static void clearThreadPoolTasks() { + + if(threadPool.getQueue().isEmpty()) { + clearCnt = 0; + return; + } + + threadPool.getQueue().clear(); + + if(!GeneralConfig.packetThreadingErrorBypass && !hasTriggered) + MainRegistry.logger.warn("Packet work queue cleared forcefully (clear count: {}).", clearCnt); + + clearCnt++; + + if(clearCnt > 5 && !isTriggered()) { + // If it's been cleared 5 times in a row, something may have gone really wrong. + // Best case scenario here, the server is lagging terribly, has a bad CPU, or has a poor network connection + // Worst case scenario, the entire packet thread is dead. (very not good) + // So just log it with a special message and only once. + MainRegistry.logger.error( + "Something has gone wrong and the packet pool has cleared 5 times (or more) in a row. " + + "This can indicate that the thread has been killed, suspended, or is otherwise non-functioning. " + + "This message will only be logged once, further packet operations will continue on the main thread. " + + "If this message is a common occurrence and is *completely expected*, then it can be bypassed permanently by setting " + + "the \"0.04_packetThreadingErrorBypass\" config option to true. This can lead to adverse effects, so do this at your own risk. " + + "Running \"/ntmpacket resetState\" resets this trigger as a temporary fix." + ); + hasTriggered = true; + } + } + + public static boolean isTriggered() { + return hasTriggered && !GeneralConfig.packetThreadingErrorBypass; + } +} diff --git a/src/main/java/com/hbm/hazard/HazardRegistry.java b/src/main/java/com/hbm/hazard/HazardRegistry.java index 0653efe8c..6c7b2a19b 100644 --- a/src/main/java/com/hbm/hazard/HazardRegistry.java +++ b/src/main/java/com/hbm/hazard/HazardRegistry.java @@ -394,6 +394,7 @@ public class HazardRegistry { registerRBMKRod(rbmk_fuel_zfb_pu241, pu239 * rod_rbmk * 0.1F, wst * rod_rbmk * 7.5F); registerRBMKRod(rbmk_fuel_zfb_am_mix, pu241 * rod_rbmk * 0.1F, wst * rod_rbmk * 10F); registerRBMK(rbmk_fuel_drx, bf * rod_rbmk, bf * rod_rbmk * 100F, true, true, 0, 1F/3F); + //registerRBMKRod(rbmk_fuel_curve, saf * rod_rbmk * np237 * rod_rbmk, wst * rod_rbmk * 35F); registerRBMKPellet(rbmk_pellet_ueu, u * billet, wst * billet * 20F); registerRBMKPellet(rbmk_pellet_meu, uf * billet, wst * billet * 21.5F); @@ -498,8 +499,8 @@ public class HazardRegistry { /* * Blacklist */ - for(String ore : TH232.ores()) HazardSystem.blacklist(ore); - for(String ore : U.ores()) HazardSystem.blacklist(ore); + for(String ore : TH232.all(MaterialShapes.ORE)) HazardSystem.blacklist(ore); + for(String ore : U.all(MaterialShapes.ORE)) HazardSystem.blacklist(ore); /* @@ -523,7 +524,7 @@ public class HazardRegistry { }; for(MaterialShapes shape : MaterialShapes.allShapes) { - for(String prefix : shape.prefixes) { + if(!shape.noAutogen) for(String prefix : shape.prefixes) { for(Object[] o : data) { HazardSystem.register(prefix + o[0], new HazardData().setMutex(0b1).addEntry(new HazardEntry(RADIATION, (float) o[1] * shape.q(1) / MaterialShapes.INGOT.q(1)))); } diff --git a/src/main/java/com/hbm/hazard/HazardSystem.java b/src/main/java/com/hbm/hazard/HazardSystem.java index 3df3590a7..07e59a7da 100644 --- a/src/main/java/com/hbm/hazard/HazardSystem.java +++ b/src/main/java/com/hbm/hazard/HazardSystem.java @@ -80,15 +80,18 @@ public class HazardSystem { public static boolean isItemBlacklisted(ItemStack stack) { - if(stackBlacklist.contains(new ComparableStack(stack).makeSingular())) + ComparableStack comp = new ComparableStack(stack).makeSingular(); + if(stackBlacklist.contains(comp)) return true; int[] ids = OreDictionary.getOreIDs(stack); for(int id : ids) { String name = OreDictionary.getOreName(id); - if(dictBlacklist.contains(name)) + if(dictBlacklist.contains(name)) { + stackBlacklist.add(comp); // caching! return true; + } } return false; diff --git a/src/main/java/com/hbm/hazard/transformer/HazardTransformerRadiationContainer.java b/src/main/java/com/hbm/hazard/transformer/HazardTransformerRadiationContainer.java index 2f66ebcb1..7455e4382 100644 --- a/src/main/java/com/hbm/hazard/transformer/HazardTransformerRadiationContainer.java +++ b/src/main/java/com/hbm/hazard/transformer/HazardTransformerRadiationContainer.java @@ -20,55 +20,67 @@ public class HazardTransformerRadiationContainer extends HazardTransformerBase { @Override public void transformPost(ItemStack stack, List entries) { - + boolean isCrate = Block.getBlockFromItem(stack.getItem()) instanceof BlockStorageCrate; boolean isBox = stack.getItem() == ModItems.containment_box; boolean isBag = stack.getItem() == ModItems.plastic_bag; - - if(!isCrate && !isBox && !isBag) return; + + boolean isContainer = stack.getItem() == ModItems.toolbox; // For anything using the standard ItemInventory shit. + + if(!isCrate && !isBox && !isBag && !isContainer) return; if(!stack.hasTagCompound()) return; - + float radiation = 0; - + + if(isContainer) { + ItemStack[] items = ItemStackUtil.readStacksFromNBT(stack, 24); // Biggest container: toolbox; 24 slots. + + if(items != null) + for(ItemStack held : items) + if(held != null) + radiation += HazardSystem.getHazardLevelFromStack(held, HazardRegistry.RADIATION) * held.stackSize; + // this indentation is killing me man + } + if(isCrate) { - + for(int i = 0; i < 104; i++) { ItemStack held = ItemStack.loadItemStackFromNBT(stack.stackTagCompound.getCompoundTag("slot" + i)); - + if(held != null) { radiation += HazardSystem.getHazardLevelFromStack(held, HazardRegistry.RADIATION) * held.stackSize; } } } - + if(isBox) { ItemStack[] fromNBT = ItemStackUtil.readStacksFromNBT(stack, 20); if(fromNBT == null) return; - + for(ItemStack held : fromNBT) { if(held != null) { radiation += HazardSystem.getHazardLevelFromStack(held, HazardRegistry.RADIATION) * held.stackSize; } } - + radiation = (float) BobMathUtil.squirt(radiation); } - + if(isBag) { ItemStack[] fromNBT = ItemStackUtil.readStacksFromNBT(stack, 1); if(fromNBT == null) return; - + for(ItemStack held : fromNBT) { if(held != null) { radiation += HazardSystem.getHazardLevelFromStack(held, HazardRegistry.RADIATION) * held.stackSize; } } - + radiation *= 2F; } - + if(radiation > 0) { entries.add(new HazardEntry(HazardRegistry.RADIATION, radiation)); } diff --git a/src/main/java/com/hbm/hazard/type/HazardTypeAsbestos.java b/src/main/java/com/hbm/hazard/type/HazardTypeAsbestos.java index abda08fba..1f0234e85 100644 --- a/src/main/java/com/hbm/hazard/type/HazardTypeAsbestos.java +++ b/src/main/java/com/hbm/hazard/type/HazardTypeAsbestos.java @@ -7,8 +7,8 @@ import com.hbm.extprop.HbmLivingProps; import com.hbm.hazard.modifier.HazardModifier; import com.hbm.util.ArmorRegistry; import com.hbm.util.ArmorUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.ArmorRegistry.HazardClass; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; diff --git a/src/main/java/com/hbm/hazard/type/HazardTypeBlinding.java b/src/main/java/com/hbm/hazard/type/HazardTypeBlinding.java index a65a2d9d5..4f014efff 100644 --- a/src/main/java/com/hbm/hazard/type/HazardTypeBlinding.java +++ b/src/main/java/com/hbm/hazard/type/HazardTypeBlinding.java @@ -5,8 +5,8 @@ import java.util.List; import com.hbm.config.RadiationConfig; import com.hbm.hazard.modifier.HazardModifier; import com.hbm.util.ArmorRegistry; -import com.hbm.util.I18nUtil; import com.hbm.util.ArmorRegistry.HazardClass; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; diff --git a/src/main/java/com/hbm/hazard/type/HazardTypeCoal.java b/src/main/java/com/hbm/hazard/type/HazardTypeCoal.java index 1dbeda3f8..873073397 100644 --- a/src/main/java/com/hbm/hazard/type/HazardTypeCoal.java +++ b/src/main/java/com/hbm/hazard/type/HazardTypeCoal.java @@ -7,8 +7,8 @@ import com.hbm.extprop.HbmLivingProps; import com.hbm.hazard.modifier.HazardModifier; import com.hbm.util.ArmorRegistry; import com.hbm.util.ArmorUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.ArmorRegistry.HazardClass; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; diff --git a/src/main/java/com/hbm/hazard/type/HazardTypeDigamma.java b/src/main/java/com/hbm/hazard/type/HazardTypeDigamma.java index a32c1d0d8..cafaeb1e2 100644 --- a/src/main/java/com/hbm/hazard/type/HazardTypeDigamma.java +++ b/src/main/java/com/hbm/hazard/type/HazardTypeDigamma.java @@ -4,7 +4,7 @@ import java.util.List; import com.hbm.hazard.modifier.HazardModifier; import com.hbm.util.ContaminationUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; diff --git a/src/main/java/com/hbm/hazard/type/HazardTypeExplosive.java b/src/main/java/com/hbm/hazard/type/HazardTypeExplosive.java index 85123d85d..904149e7b 100644 --- a/src/main/java/com/hbm/hazard/type/HazardTypeExplosive.java +++ b/src/main/java/com/hbm/hazard/type/HazardTypeExplosive.java @@ -4,7 +4,7 @@ import java.util.List; import com.hbm.config.RadiationConfig; import com.hbm.hazard.modifier.HazardModifier; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; diff --git a/src/main/java/com/hbm/hazard/type/HazardTypeHot.java b/src/main/java/com/hbm/hazard/type/HazardTypeHot.java index dc8022b46..9e21f7b00 100644 --- a/src/main/java/com/hbm/hazard/type/HazardTypeHot.java +++ b/src/main/java/com/hbm/hazard/type/HazardTypeHot.java @@ -6,7 +6,7 @@ import com.hbm.config.GeneralConfig; import com.hbm.config.RadiationConfig; import com.hbm.hazard.modifier.HazardModifier; import com.hbm.items.ModItems; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; diff --git a/src/main/java/com/hbm/hazard/type/HazardTypeHydroactive.java b/src/main/java/com/hbm/hazard/type/HazardTypeHydroactive.java index f7d6a3c49..f5394e4df 100644 --- a/src/main/java/com/hbm/hazard/type/HazardTypeHydroactive.java +++ b/src/main/java/com/hbm/hazard/type/HazardTypeHydroactive.java @@ -4,8 +4,9 @@ import java.util.List; import com.hbm.config.RadiationConfig; import com.hbm.hazard.modifier.HazardModifier; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; +import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; @@ -32,7 +33,7 @@ public class HazardTypeHydroactive extends HazardTypeBase { if(RadiationConfig.disableHydro) return; - if(item.isWet()) { + if(item.isWet() || item.worldObj.getBlock((int) Math.floor(item.posX), (int) Math.floor(item.posY), (int) Math.floor(item.posZ)).getMaterial() == Material.water) { item.setDead(); item.worldObj.newExplosion(null, item.posX, item.posY + item.height * 0.5, item.posZ, level, false, true); } diff --git a/src/main/java/com/hbm/hazard/type/HazardTypeRadiation.java b/src/main/java/com/hbm/hazard/type/HazardTypeRadiation.java index 177d32218..dba80f65a 100644 --- a/src/main/java/com/hbm/hazard/type/HazardTypeRadiation.java +++ b/src/main/java/com/hbm/hazard/type/HazardTypeRadiation.java @@ -9,7 +9,7 @@ import com.hbm.util.BobMathUtil; import com.hbm.util.ContaminationUtil; import com.hbm.util.ContaminationUtil.ContaminationType; import com.hbm.util.ContaminationUtil.HazardType; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/hbm/interfaces/IAnimatedDoor.java b/src/main/java/com/hbm/interfaces/IAnimatedDoor.java deleted file mode 100644 index d097f6fe2..000000000 --- a/src/main/java/com/hbm/interfaces/IAnimatedDoor.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.hbm.interfaces; - -public interface IAnimatedDoor extends IDoor { - - public void handleNewState(byte state); -} diff --git a/src/main/java/com/hbm/interfaces/ICopiable.java b/src/main/java/com/hbm/interfaces/ICopiable.java new file mode 100644 index 000000000..e0b8c94f5 --- /dev/null +++ b/src/main/java/com/hbm/interfaces/ICopiable.java @@ -0,0 +1,29 @@ +package com.hbm.interfaces; + +import com.hbm.util.Either; +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public interface ICopiable { + + NBTTagCompound getSettings(World world, int x, int y, int z); + + void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z); + + default String getSettingsSourceID(Either self) { + Block block = self.isLeft() ? self.left().getBlockType() : self.right(); + return block.getUnlocalizedName(); + } + + default String getSettingsSourceDisplay(Either self) { + Block block = self.isLeft() ? self.left().getBlockType() : self.right(); + return block.getLocalizedName(); + } + + default String[] infoForDisplay(World world, int x, int y, int z){ + return null; + } +} diff --git a/src/main/java/com/hbm/interfaces/ICustomWarhead.java b/src/main/java/com/hbm/interfaces/ICustomWarhead.java index 479ad891c..3cf52791e 100644 --- a/src/main/java/com/hbm/interfaces/ICustomWarhead.java +++ b/src/main/java/com/hbm/interfaces/ICustomWarhead.java @@ -12,7 +12,7 @@ import com.google.common.annotations.Beta; import com.hbm.hazard.HazardRegistry; import com.hbm.main.MainRegistry; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/hbm/interfaces/IDoor.java b/src/main/java/com/hbm/interfaces/IDoor.java deleted file mode 100644 index a0c539a28..000000000 --- a/src/main/java/com/hbm/interfaces/IDoor.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hbm.interfaces; - -public interface IDoor { - - void open(); - void close(); - DoorState getState(); - void toggle(); - default boolean setTexture(String tex) { - return false; - } - default void setTextureState(byte tex) { } - - default boolean setSkinIndex(byte skinIndex) { - return false; - } - - enum DoorState { - CLOSED, - OPEN, - CLOSING, - OPENING - } -} diff --git a/src/main/java/com/hbm/interfaces/IExplosionRay.java b/src/main/java/com/hbm/interfaces/IExplosionRay.java new file mode 100644 index 000000000..5c883c82e --- /dev/null +++ b/src/main/java/com/hbm/interfaces/IExplosionRay.java @@ -0,0 +1,31 @@ +package com.hbm.interfaces; + +/** + * Interface for procedural explosions. + * @author mlbv + */ +public interface IExplosionRay { + /** + * Called every tick. Caches the chunks affected by the explosion. + * All heavy calculations are recommended to be done off the main thread. + * @param processTimeMs maximum time to process in this tick + */ + void cacheChunksTick(int processTimeMs); + + /** + * Called every tick to apply block destruction to the affected chunks. + * @param processTimeMs maximum time to process in this tick + */ + void destructionTick(int processTimeMs); + + /** + * Immediately cancels the explosion. + */ + void cancel(); + + + /** + * @return true if the explosion is finished or cancelled. + */ + boolean isComplete(); +} diff --git a/src/main/java/com/hbm/interfaces/IHoldableWeapon.java b/src/main/java/com/hbm/interfaces/IHoldableWeapon.java index 22647eb3b..b1a228d05 100644 --- a/src/main/java/com/hbm/interfaces/IHoldableWeapon.java +++ b/src/main/java/com/hbm/interfaces/IHoldableWeapon.java @@ -1,6 +1,6 @@ package com.hbm.interfaces; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; +import com.hbm.items.weapon.sedna.Crosshair; public interface IHoldableWeapon { diff --git a/src/main/java/com/hbm/interfaces/IOrderedEnum.java b/src/main/java/com/hbm/interfaces/IOrderedEnum.java new file mode 100644 index 000000000..59f00f84d --- /dev/null +++ b/src/main/java/com/hbm/interfaces/IOrderedEnum.java @@ -0,0 +1,6 @@ +package com.hbm.interfaces; + +public interface IOrderedEnum { + + public Enum[] getOrder(); +} diff --git a/src/main/java/com/hbm/interfaces/NotableComments.java b/src/main/java/com/hbm/interfaces/NotableComments.java new file mode 100644 index 000000000..24ced52c9 --- /dev/null +++ b/src/main/java/com/hbm/interfaces/NotableComments.java @@ -0,0 +1,7 @@ +package com.hbm.interfaces; + +/* + * Historically, NTM has had so many comments that are either funny or lengthy rants or other silly shit that it's + * hard to keep track of all of it, this annotation shall be used on classes with noteworthy comments. + */ +public @interface NotableComments { } diff --git a/src/main/java/com/hbm/inventory/FluidContainerRegistry.java b/src/main/java/com/hbm/inventory/FluidContainerRegistry.java index c3f0e4afc..4bc72d64a 100644 --- a/src/main/java/com/hbm/inventory/FluidContainerRegistry.java +++ b/src/main/java/com/hbm/inventory/FluidContainerRegistry.java @@ -18,12 +18,18 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; public class FluidContainerRegistry { - - //TODO: continue incorporating hashmaps into this + + // TODO: continue incorporating hashmaps into this public static List allContainers = new ArrayList(); private static HashMap> containerMap = new HashMap>(); + public static void clearRegistry() { + allContainers.clear(); + containerMap.clear(); + } + public static void register() { + FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(Items.water_bucket), new ItemStack(Items.bucket), Fluids.WATER, 1000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(Items.potionitem), new ItemStack(Items.glass_bottle), Fluids.WATER, 250)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(Items.lava_bucket), new ItemStack(Items.bucket), Fluids.LAVA, 1000)); @@ -59,34 +65,34 @@ public class FluidContainerRegistry { FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(Items.experience_bottle), new ItemStack(Items.glass_bottle), Fluids.XPJUICE, 100)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.can_mug), new ItemStack(ModItems.can_empty), Fluids.MUG, 100)); - + FluidType[] fluids = Fluids.getAll(); for(int i = 1; i < fluids.length; i++) { - + FluidType type = fluids[i]; int id = type.getID(); - + if(type.getContainer(CD_Canister.class) != null) FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_full, 1, id), new ItemStack(ModItems.canister_empty), type, 1000)); if(type.getContainer(CD_Gastank.class) != null) FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.gas_full, 1, id), new ItemStack(ModItems.gas_empty), type, 1000)); - + if(type.hasNoContainer()) continue; - - if(type.isDispersable()){ - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.disperser_canister, 1 , i), new ItemStack(ModItems.disperser_canister_empty), Fluids.fromID(i), 2000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.glyphid_gland, 1 , i), new ItemStack(ModItems.glyphid_gland_empty), Fluids.fromID(i), 4000)); + + if(type.isDispersable()) { + FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.disperser_canister, 1, i), new ItemStack(ModItems.disperser_canister_empty), Fluids.fromID(i), 2000)); + FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.glyphid_gland, 1, i), new ItemStack(ModItems.glyphid_gland_empty), Fluids.fromID(i), 4000)); } FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.fluid_tank_lead_full, 1, id), new ItemStack(ModItems.fluid_tank_lead_empty), type, 1000)); if(type.needsLeadContainer()) continue; - + FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.fluid_tank_full, 1, id), new ItemStack(ModItems.fluid_tank_empty), type, 1000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.fluid_barrel_full, 1, id), new ItemStack(ModItems.fluid_barrel_empty), type, 16000)); } - + Compat.registerCompatFluidContainers(); } - + public static void registerContainer(FluidContainer con) { allContainers.add(con); OreDictionary.registerOre(con.type.getDict(con.content), con.fullContainer); @@ -103,51 +109,48 @@ public class FluidContainerRegistry { } public static FluidContainer getContainer(FluidType type, ItemStack stack) { - if(stack == null) - return null; - + if(stack == null) return null; + ItemStack sta = stack.copy(); sta.stackSize = 1; - if (!containerMap.containsKey(type)) + if(!containerMap.containsKey(type)) return null; - for (FluidContainer container : getContainers(type)) { - if (ItemStack.areItemStacksEqual(container.emptyContainer, sta) && ItemStack.areItemStackTagsEqual(container.emptyContainer, sta)) { + for(FluidContainer container : getContainers(type)) { + if(ItemStack.areItemStacksEqual(container.emptyContainer, sta) && ItemStack.areItemStackTagsEqual(container.emptyContainer, sta)) { return container; } } return null; } - + public static int getFluidContent(ItemStack stack, FluidType type) { - + if(stack == null) return 0; - + ItemStack sta = stack.copy(); sta.stackSize = 1; - if (!containerMap.containsKey(type)) + if(!containerMap.containsKey(type)) return 0; - + for(FluidContainer container : containerMap.get(type)) { if(ItemStack.areItemStacksEqual(container.fullContainer, sta) && ItemStack.areItemStackTagsEqual(container.fullContainer, sta)) return container.content; } - + return 0; } - + public static FluidType getFluidType(ItemStack stack) { - - if(stack == null) - return Fluids.NONE; - + if(stack == null) return Fluids.NONE; + ItemStack sta = stack.copy(); sta.stackSize = 1; - + for(FluidContainer container : allContainers) { if(ItemStack.areItemStacksEqual(container.fullContainer, sta) && ItemStack.areItemStackTagsEqual(container.fullContainer, sta)) return container.type; @@ -155,29 +158,26 @@ public class FluidContainerRegistry { return Fluids.NONE; } - + public static ItemStack getFullContainer(ItemStack stack, FluidType type) { - if(stack == null) - return null; - + if(stack == null) return null; + ItemStack sta = stack.copy(); sta.stackSize = 1; - if (!containerMap.containsKey(type)) - return null; + if(!containerMap.containsKey(type)) return null; for(FluidContainer container : containerMap.get(type)) { - if(ItemStack.areItemStacksEqual(container.emptyContainer, sta) && ItemStack.areItemStackTagsEqual(container.emptyContainer, sta)) + if(ItemStack.areItemStacksEqual(container.emptyContainer, sta) && ItemStack.areItemStackTagsEqual(container.emptyContainer, sta)) return container.fullContainer.copy(); } - + return null; } - + public static ItemStack getEmptyContainer(ItemStack stack) { - if(stack == null) - return null; - + if(stack == null) return null; + ItemStack sta = stack.copy(); sta.stackSize = 1; @@ -185,8 +185,7 @@ public class FluidContainerRegistry { if(ItemStack.areItemStacksEqual(container.fullContainer, sta) && ItemStack.areItemStackTagsEqual(container.fullContainer, sta)) return container.emptyContainer == null ? null : container.emptyContainer.copy(); } - + return null; } - } diff --git a/src/main/java/com/hbm/inventory/FluidStack.java b/src/main/java/com/hbm/inventory/FluidStack.java index 03b001ef4..32c3d5e9b 100644 --- a/src/main/java/com/hbm/inventory/FluidStack.java +++ b/src/main/java/com/hbm/inventory/FluidStack.java @@ -8,7 +8,7 @@ public class FluidStack { public int fill; public int pressure; - public FluidStack(int fill, FluidType type) { + @Deprecated public FluidStack(int fill, FluidType type) { // weird ass format this.fill = fill; this.type = type; } diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 973bf8000..7d4a9e0d2 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -9,7 +9,7 @@ import java.util.List; import static com.hbm.items.ModItems.*; import static com.hbm.blocks.ModBlocks.*; import static com.hbm.inventory.OreDictManager.DictFrame.*; -import static com.hbm.inventory.OreNames.*; +import static com.hbm.inventory.material.MaterialShapes.*; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockOreBasalt.EnumBasaltOreType; @@ -20,6 +20,7 @@ import com.hbm.hazard.HazardData; import com.hbm.hazard.HazardEntry; import com.hbm.hazard.HazardRegistry; import com.hbm.hazard.HazardSystem; +import com.hbm.interfaces.NotableComments; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.material.MaterialShapes; import com.hbm.inventory.material.Mats; @@ -45,8 +46,9 @@ import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreDictionary.OreRegisterEvent; //the more i optimize this, the more it starts looking like gregtech +@NotableComments public class OreDictManager { - + /** Alternate, additional names for ore dict registration. Used mostly for DictGroups */ private static final HashMap> reRegistration = new HashMap(); @@ -68,7 +70,7 @@ public class OreDictManager { public static final String KEY_SAPLING = "treeSapling"; public static final String KEY_SAND = "sand"; public static final String KEY_COBBLESTONE = "cobblestone"; - + public static final String KEY_BLACK = "dyeBlack"; public static final String KEY_RED = "dyeRed"; public static final String KEY_GREEN = "dyeGreen"; @@ -108,6 +110,8 @@ public class OreDictManager { /* * VANILLA */ + public static final DictFrame WOOD = new DictFrame("Wood"); + public static final DictFrame BONE = new DictFrame("Bone"); public static final DictFrame COAL = new DictFrame("Coal"); public static final DictFrame IRON = new DictFrame("Iron"); public static final DictFrame GOLD = new DictFrame("Gold"); @@ -151,45 +155,45 @@ public class OreDictManager { /* * STABLE */ - /** TITANIUM */ + /** TITANIUM */ public static final DictFrame TI = new DictFrame("Titanium"); - /** COPPER */ + /** COPPER */ public static final DictFrame CU = new DictFrame("Copper"); public static final DictFrame MINGRADE = new DictFrame("Mingrade"); public static final DictFrame ALLOY = new DictFrame("AdvancedAlloy"); - /** TUNGSTEN */ + /** TUNGSTEN */ public static final DictFrame W = new DictFrame("Tungsten"); - /** ALUMINUM */ + /** ALUMINUM */ public static final DictFrame AL = new DictFrame("Aluminum"); public static final DictFrame STEEL = new DictFrame("Steel"); - /** TECHNETIUM STEEL */ + /** TECHNETIUM STEEL */ public static final DictFrame TCALLOY = new DictFrame("TcAlloy"); /** CADMIUM STEEL */ public static final DictFrame CDALLOY = new DictFrame("CdAlloy"); - /** BISMUTH BRONZE */ + /** BISMUTH BRONZE */ public static final DictFrame BBRONZE = new DictFrame("BismuthBronze"); /** ARSENIC BRONZE */ public static final DictFrame ABRONZE = new DictFrame("ArsenicBronze"); /** BISMUTH STRONTIUM CALCIUM COPPER OXIDE */ public static final DictFrame BSCCO = new DictFrame("BSCCO"); - /** LEAD */ + /** LEAD */ public static final DictFrame PB = new DictFrame("Lead"); public static final DictFrame BI = new DictFrame("Bismuth"); public static final DictFrame AS = new DictFrame("Arsenic"); public static final DictFrame CA = new DictFrame("Calcium"); public static final DictFrame CD = new DictFrame("Cadmium"); - /** TANTALUM */ + /** TANTALUM */ public static final DictFrame TA = new DictFrame("Tantalum"); public static final DictFrame COLTAN = new DictFrame("Coltan"); - /** NIOBIUM */ + /** NIOBIUM */ public static final DictFrame NB = new DictFrame("Niobium"); - /** BERYLLIUM */ + /** BERYLLIUM */ public static final DictFrame BE = new DictFrame("Beryllium"); - /** COBALT */ + /** COBALT */ public static final DictFrame CO = new DictFrame("Cobalt"); - /** BORON */ + /** BORON */ public static final DictFrame B = new DictFrame("Boron"); - /** SILICON */ + /** SILICON */ public static final DictFrame SI = new DictFrame("Silicon"); public static final DictFrame GRAPHITE = new DictFrame("Graphite"); public static final DictFrame CARBON = new DictFrame("Carbon"); @@ -205,6 +209,8 @@ public class OreDictManager { public static final DictFrame CMB = new DictFrame("CMBSteel"); public static final DictFrame DESH = new DictFrame("WorkersAlloy"); public static final DictFrame STAR = new DictFrame("Starmetal"); + public static final DictFrame GUNMETAL = new DictFrame("GunMetal"); + public static final DictFrame WEAPONSTEEL = new DictFrame("WeaponSteel"); public static final DictFrame BIGMT = new DictFrame("Saturnite"); public static final DictFrame FERRO = new DictFrame("Ferrouranium"); public static final DictFrame EUPH = new DictFrame("Euphemium"); @@ -215,11 +221,11 @@ public class OreDictManager { /* * DUST AND GEM ORES */ - /** SULFUR */ + /** SULFUR */ public static final DictFrame S = new DictFrame("Sulfur"); - /** SALTPETER/NITER */ + /** SALTPETER/NITER */ public static final DictFrame KNO = new DictFrame("Saltpeter"); - /** FLUORITE */ + /** FLUORITE */ public static final DictFrame F = new DictFrame("Fluorite"); public static final DictFrame LIGNITE = new DictFrame("Lignite"); public static final DictFrame COALCOKE = new DictFrame("CoalCoke"); @@ -235,10 +241,12 @@ public class OreDictManager { public static final DictFrame MALACHITE = new DictFrame("Malachite"); public static final DictFrame LIMESTONE = new DictFrame("Limestone"); public static final DictFrame SLAG = new DictFrame("Slag"); + public static final DictFrame BAUXITE = new DictFrame("Bauxite"); + public static final DictFrame CRYOLITE = new DictFrame("Cryolite"); /* * HAZARDS, MISC */ - /** LITHIUM */ + /** LITHIUM */ public static final DictFrame LI = new DictFrame("Lithium"); /** SODIUM */ public static final DictFrame NA = new DictFrame("Sodium"); @@ -260,28 +268,28 @@ public class OreDictManager { * RARE EARTHS */ public static final DictFrame RAREEARTH = new DictFrame("RareEarth"); - /** LANTHANUM */ + /** LANTHANUM */ public static final DictFrame LA = new DictFrame("Lanthanum"); - /** ZIRCONIUM */ + /** ZIRCONIUM */ public static final DictFrame ZR = new DictFrame("Zirconium"); - /** NEODYMIUM */ + /** NEODYMIUM */ public static final DictFrame ND = new DictFrame("Neodymium"); - /** CERIUM */ + /** CERIUM */ public static final DictFrame CE = new DictFrame("Cerium"); /* * NITAN */ - /** IODINE */ + /** IODINE */ public static final DictFrame I = new DictFrame("Iodine"); - /** ASTATINE */ + /** ASTATINE */ public static final DictFrame AT = new DictFrame("Astatine"); - /** CAESIUM */ + /** CAESIUM */ public static final DictFrame CS = new DictFrame("Caesium"); - /** STRONTIUM */ + /** STRONTIUM */ public static final DictFrame ST = new DictFrame("Strontium"); - /** BROMINE */ + /** BROMINE */ public static final DictFrame BR = new DictFrame("Bromine"); - /** TENNESSINE */ + /** TENNESSINE */ public static final DictFrame TS = new DictFrame("Tennessine") ; /* * FISSION FRAGMENTS @@ -292,19 +300,19 @@ public class OreDictManager { public static final DictFrame XE135 = new DictFrame("Xenon135", "Xe135"); public static final DictFrame CS137 = new DictFrame("Caesium137", "Cs137"); public static final DictFrame AT209 = new DictFrame("Astatine209", "At209"); - + /* * COLLECTIONS */ /** Any form of elastic polymer */ - public static final DictGroup ANY_RUBBER = new DictGroup("AnyRubber", LATEX, RUBBER); + public static final DictGroup ANY_RUBBER = new DictGroup("AnyRubber", LATEX, RUBBER); /** Any post oil polymer like teflon ("polymer") or bakelite */ public static final DictGroup ANY_PLASTIC = new DictGroup("AnyPlastic", POLYMER, BAKELITE); //using the Any prefix means that it's just the secondary prefix, and that shape prefixes are applicable /** Any post vacuum polymer like PET or PVC */ public static final DictGroup ANY_HARDPLASTIC = new DictGroup("AnyHardPlastic", PC, PVC); /** Any post nuclear steel like TCA or CDA */ public static final DictGroup ANY_RESISTANTALLOY = new DictGroup("AnyResistantAlloy", TCALLOY, CDALLOY); - /** Any post nuclear steel like TCA or CDA */ + /** Any post RBMK bronze like BB or AB */ public static final DictGroup ANY_BISMOIDBRONZE = new DictGroup("AnyBismoidBronze", BBRONZE, ABRONZE); /** Any "powder" propellant like gunpowder, ballistite and cordite */ public static final DictFrame ANY_GUNPOWDER = new DictFrame("AnyPropellant"); @@ -321,7 +329,7 @@ public class OreDictManager { public static final DictFrame ANY_BISMOID = new DictFrame("AnyBismoid"); public static final DictFrame ANY_ASH = new DictFrame("Ash"); - + public static void registerOres() { /* @@ -335,7 +343,7 @@ public class OreDictManager { QUARTZ.dust(powder_quartz); DIAMOND.dust(powder_diamond).ore(gravel_diamond, ore_sellafield_diamond); EMERALD.dust(powder_emerald).ore(ore_sellafield_emerald); - + /* * RADIOACTIVE */ @@ -367,7 +375,7 @@ public class OreDictManager { SRN .rad(HazardRegistry.sr) .blinding(50F) .ingot(ingot_schraranium) .block(block_schraranium); GH336 .rad(HazardRegistry.gh336) .nugget(nugget_gh336) .billet(billet_gh336) .ingot(ingot_gh336); MUD .rad(HazardRegistry.mud) .ingot(ingot_mud); - + /* * STABLE */ @@ -409,6 +417,8 @@ public class OreDictManager { CMB .ingot(ingot_combine_steel) .dust(powder_combine_steel) .plate(plate_combine_steel) .block(block_combine_steel); DESH .nugget(nugget_desh) .ingot(ingot_desh) .dust(powder_desh) .block(block_desh); STAR .ingot(ingot_starmetal) .block(block_starmetal); + GUNMETAL .ingot(ingot_gunmetal) .plate(plate_gunmetal); + WEAPONSTEEL .ingot(ingot_weaponsteel) .plate(plate_weaponsteel); BIGMT .ingot(ingot_saturnite) .plate(plate_saturnite); FERRO .ingot(ingot_ferrouranium); EUPH .nugget(nugget_euphemium) .ingot(ingot_euphemium) .dust(powder_euphemium) .block(block_euphemium); @@ -434,10 +444,12 @@ public class OreDictManager { SODALITE .gem(gem_sodalite); VOLCANIC .gem(gem_volcanic) .ore(DictFrame.fromOne(ore_basalt, EnumBasaltOreType.GEM)); HEMATITE .ore(fromOne(stone_resource, EnumStoneType.HEMATITE)); - MALACHITE .ore(fromOne(stone_resource, EnumStoneType.MALACHITE)); + MALACHITE .ingot(DictFrame.fromOne(chunk_ore, EnumChunkType.MALACHITE)) .ore(fromOne(stone_resource, EnumStoneType.MALACHITE)); LIMESTONE .dust(powder_limestone) .ore(fromOne(stone_resource, EnumStoneType.LIMESTONE)); + BAUXITE .gem(fromOne(stone_resource, EnumStoneType.BAUXITE)); + CRYOLITE .crystal(fromOne(chunk_ore, EnumChunkType.CRYOLITE)); SLAG .block(block_slag); - + /* * HAZARDS, MISC */ @@ -449,16 +461,16 @@ public class OreDictManager { */ P_WHITE .hot(5) .ingot(ingot_phosphorus) .block(block_white_phosphorus); P_RED .dust(powder_fire) .block(block_red_phosphorus); - + /* * RARE METALS */ AUSTRALIUM .nugget(nugget_australium) .billet(billet_australium) .ingot(ingot_australium) .dust(powder_australium) .block(block_australium) .ore(ore_australium); - REIIUM .nugget(nugget_reiium) .ingot(ingot_reiium) .dust(powder_reiium) .block(block_reiium); - WEIDANIUM .nugget(nugget_weidanium) .ingot(ingot_weidanium) .dust(powder_weidanium) .block(block_weidanium); - UNOBTAINIUM .nugget(nugget_unobtainium) .ingot(ingot_unobtainium) .dust(powder_unobtainium) .block(block_unobtainium); - VERTICIUM .nugget(nugget_verticium) .ingot(ingot_verticium) .dust(powder_verticium) .block(block_verticium); - DAFFERGON .nugget(nugget_daffergon) .ingot(ingot_daffergon) .dust(powder_daffergon) .block(block_daffergon); + REIIUM .block(block_reiium); + WEIDANIUM .block(block_weidanium); + UNOBTAINIUM .block(block_unobtainium); + VERTICIUM .block(block_verticium); + DAFFERGON .block(block_daffergon); /* * RARE EARTHS @@ -468,7 +480,7 @@ public class OreDictManager { ZR .nugget(nugget_zirconium) .ingot(ingot_zirconium) .billet(billet_zirconium) .dust(powder_zirconium) .block(block_zirconium) .ore(ore_depth_zirconium); ND .nugget(fragment_neodymium) .dustSmall(powder_neodymium_tiny) .dust(powder_neodymium) .ore(ore_depth_nether_neodymium) .oreNether(ore_depth_nether_neodymium); CE .nugget(fragment_cerium) .dustSmall(powder_cerium_tiny) .dust(powder_cerium); - + /* * NITAN */ @@ -488,7 +500,7 @@ public class OreDictManager { XE135 .rad(HazardRegistry.xe135) .hot(10F) .dustSmall(powder_xe135_tiny) .dust(powder_xe135); CS137 .rad(HazardRegistry.cs137) .hot(3F) .hydro(3F) .dustSmall(powder_cs137_tiny) .dust(powder_cs137); AT209 .rad(HazardRegistry.at209) .hot(20F) .dust(powder_at209); - + /* * COLLECTIONS */ @@ -538,18 +550,27 @@ public class OreDictManager { for(NTMMaterial mat : Mats.orderedList) { if(mat.smeltable == SmeltingBehavior.SMELTABLE) { - if(mat.shapes.contains(MaterialShapes.BOLT)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.BOLT.name() + name, new ItemStack(ModItems.bolt, 1, mat.id)); - if(mat.shapes.contains(MaterialShapes.CASTPLATE)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.CASTPLATE.name() + name, new ItemStack(ModItems.plate_cast, 1, mat.id)); - if(mat.shapes.contains(MaterialShapes.WELDEDPLATE)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.WELDEDPLATE.name() + name, new ItemStack(ModItems.plate_welded, 1, mat.id)); - if(mat.shapes.contains(MaterialShapes.HEAVY_COMPONENT)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.HEAVY_COMPONENT.name() + name, new ItemStack(ModItems.heavy_component, 1, mat.id)); - if(mat.shapes.contains(MaterialShapes.DENSEWIRE)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.DENSEWIRE.name() + name, new ItemStack(ModItems.wire_dense, 1, mat.id)); - if(mat.shapes.contains(MaterialShapes.SHELL)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.SHELL.name() + name, new ItemStack(ModItems.shell, 1, mat.id)); - if(mat.shapes.contains(MaterialShapes.PIPE)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.PIPE.name() + name, new ItemStack(ModItems.pipe, 1, mat.id)); + if(mat.autogen.contains(MaterialShapes.CASTPLATE)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.CASTPLATE.name() + name, new ItemStack(ModItems.plate_cast, 1, mat.id)); + if(mat.autogen.contains(MaterialShapes.WELDEDPLATE)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.WELDEDPLATE.name() + name, new ItemStack(ModItems.plate_welded, 1, mat.id)); + if(mat.autogen.contains(MaterialShapes.HEAVY_COMPONENT)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.HEAVY_COMPONENT.name() + name, new ItemStack(ModItems.heavy_component, 1, mat.id)); + if(mat.autogen.contains(MaterialShapes.DENSEWIRE)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.DENSEWIRE.name() + name, new ItemStack(ModItems.wire_dense, 1, mat.id)); } - if(mat.shapes.contains(MaterialShapes.FRAGMENT)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.FRAGMENT.name() + name, new ItemStack(ModItems.bedrock_ore_fragment, 1, mat.id)); - if(mat.shapes.contains(MaterialShapes.WIRE)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.WIRE.name() + name, new ItemStack(ModItems.wire_fine, 1, mat.id)); + if(mat.autogen.contains(MaterialShapes.BOLT)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.BOLT.name() + name, new ItemStack(ModItems.bolt, 1, mat.id)); + if(mat.autogen.contains(MaterialShapes.INGOT)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.INGOT.name() + name, new ItemStack(ModItems.ingot_raw, 1, mat.id)); + if(mat.autogen.contains(MaterialShapes.SHELL)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.SHELL.name() + name, new ItemStack(ModItems.shell, 1, mat.id)); + if(mat.autogen.contains(MaterialShapes.PIPE)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.PIPE.name() + name, new ItemStack(ModItems.pipe, 1, mat.id)); + if(mat.autogen.contains(MaterialShapes.FRAGMENT)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.FRAGMENT.name() + name, new ItemStack(ModItems.bedrock_ore_fragment, 1, mat.id)); + if(mat.autogen.contains(MaterialShapes.WIRE)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.WIRE.name() + name, new ItemStack(ModItems.wire_fine, 1, mat.id)); + + if(mat.autogen.contains(MaterialShapes.LIGHTBARREL)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.LIGHTBARREL.name() + name, new ItemStack(ModItems.part_barrel_light, 1, mat.id)); + if(mat.autogen.contains(MaterialShapes.HEAVYBARREL)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.HEAVYBARREL.name() + name, new ItemStack(ModItems.part_barrel_heavy, 1, mat.id)); + if(mat.autogen.contains(MaterialShapes.LIGHTRECEIVER)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.LIGHTRECEIVER.name() + name, new ItemStack(ModItems.part_receiver_light, 1, mat.id)); + if(mat.autogen.contains(MaterialShapes.HEAVYRECEIVER)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.HEAVYRECEIVER.name() + name, new ItemStack(ModItems.part_receiver_heavy, 1, mat.id)); + if(mat.autogen.contains(MaterialShapes.MECHANISM)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.MECHANISM.name() + name, new ItemStack(ModItems.part_mechanism, 1, mat.id)); + if(mat.autogen.contains(MaterialShapes.STOCK)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.STOCK.name() + name, new ItemStack(ModItems.part_stock, 1, mat.id)); + if(mat.autogen.contains(MaterialShapes.GRIP)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.GRIP.name() + name, new ItemStack(ModItems.part_grip, 1, mat.id)); } - + for(EnumBedrockOre ore : EnumBedrockOre.values()) { OreDictionary.registerOre("ore" + ore.oreName, new ItemStack(ModItems.ore_enriched, 1, ore.ordinal())); } @@ -557,17 +578,17 @@ public class OreDictManager { OreDictionary.registerOre("itemRubber", ingot_rubber); OreDictionary.registerOre("coalCoke", fromOne(coke, EnumCokeType.COAL)); - + for(String name : new String[] {"fuelCoke", "coke"}) { OreDictionary.registerOre(name, fromOne(coke, EnumCokeType.COAL)); OreDictionary.registerOre(name, fromOne(coke, EnumCokeType.LIGNITE)); OreDictionary.registerOre(name, fromOne(coke, EnumCokeType.PETROLEUM)); } - + OreDictionary.registerOre("briquetteCoal", fromOne(briquette, EnumBriquetteType.COAL)); OreDictionary.registerOre("briquetteLignite", fromOne(briquette, EnumBriquetteType.LIGNITE)); OreDictionary.registerOre("briquetteWood", fromOne(briquette, EnumBriquetteType.WOOD)); - + OreDictionary.registerOre(getReflector(), neutron_reflector); OreDictionary.registerOre("logWood", pink_log); @@ -578,13 +599,13 @@ public class OreDictManager { OreDictionary.registerOre("slabWoodPink", pink_slab); OreDictionary.registerOre("stairWood", pink_stairs); OreDictionary.registerOre("stairWoodPink", pink_stairs); - + String[] dyes = { "Black", "Red", "Green", "Brown", "Blue", "Purple", "Cyan", "LightGray", "Gray", "Pink", "Lime", "Yellow", "LightBlue", "Magenta", "Orange", "White" }; for(int i = 0; i < 16; i++) { String dyeName = "dye" + dyes[i]; - + OreDictionary.registerOre(dyeName, new ItemStack(ModItems.chemical_dye, 1, i)); - + OreDictionary.registerOre(dyeName, new ItemStack(ModItems.crayon, 1, i)); } OreDictionary.registerOre("dye", new ItemStack(chemical_dye, 1, OreDictionary.WILDCARD_VALUE)); @@ -634,19 +655,9 @@ public class OreDictManager { OreDictionary.registerOre("container1000lubricant", bdcl); OreDictionary.registerOre("itemSilicon", billet_silicon); - - //Legacy wires - OreDictionary.registerOre(AL.wireFine(), wire_aluminium); - OreDictionary.registerOre(CU.wireFine(), wire_copper); - OreDictionary.registerOre(MINGRADE.wireFine(), wire_red_copper); - OreDictionary.registerOre(GOLD.wireFine(), wire_gold); - OreDictionary.registerOre(W.wireFine(), wire_tungsten); - OreDictionary.registerOre(ALLOY.wireFine(), wire_advanced_alloy); - OreDictionary.registerOre(MAGTUNG.wireFine(), wire_magnetized_tungsten); - OreDictionary.registerOre(SA326.wireFine(), wire_schrabidium); - + for(NTMMaterial mat : Mats.orderedList) { - if(mat.shapes.contains(MaterialShapes.FRAGMENT)) { + if(mat.autogen.contains(MaterialShapes.FRAGMENT)) { String name = mat.names[0]; if(!OreDictionary.getOres(MaterialShapes.DUST.name() + name).isEmpty()) MineralRecipes.add9To1(mat.make(ModItems.bedrock_ore_fragment), OreDictionary.getOres(MaterialShapes.DUST.name() + name).get(0)); else if(!OreDictionary.getOres(MaterialShapes.GEM.name() + name).isEmpty()) MineralRecipes.add9To1(mat.make(ModItems.bedrock_ore_fragment), OreDictionary.getOres(MaterialShapes.GEM.name() + name).get(0)); @@ -656,43 +667,42 @@ public class OreDictManager { else MineralRecipes.add9To1(mat.make(ModItems.bedrock_ore_fragment), new ItemStack(ModItems.nothing)); } } - + MaterialShapes.registerCompatShapes(); compensateMojangSpaghettiBullshit(); } - + public static String getReflector() { return GeneralConfig.enableReflectorCompat ? "plateDenseLead" : "plateTungCar"; //let's just mangle the name into "tungCar" so that it can't conflict with anything ever } - + public static void registerGroups() { ANY_RUBBER.addPrefix(INGOT, true); - ANY_PLASTIC.addPrefix(INGOT, true).addPrefix(DUST, true).addPrefix(BLOCK, true); - ANY_HARDPLASTIC.addPrefix(INGOT, true); - ANY_RESISTANTALLOY.addPrefix(INGOT, true).addPrefix(DUST, true).addPrefix(PLATECAST, true).addPrefix(PLATEWELDED, true).addPrefix(HEAVY_COMPONENT, true).addPrefix(BLOCK, true); - ANY_BISMOIDBRONZE.addPrefix(INGOT, true).addPrefix(PLATECAST, true); + ANY_PLASTIC.addPrefix(INGOT, true).addPrefix(DUST, true).addPrefix(BLOCK, true).addPrefix(GRIP, true).addPrefix(STOCK, true); + ANY_HARDPLASTIC.addPrefix(INGOT, true).addPrefix(STOCK, true).addPrefix(GRIP, true); + ANY_RESISTANTALLOY.addPrefix(INGOT, true).addPrefix(DUST, true).addPrefix(CASTPLATE, true).addPrefix(WELDEDPLATE, true).addPrefix(HEAVY_COMPONENT, true).addPrefix(BLOCK, true) + .addPrefix(LIGHTBARREL, true).addPrefix(HEAVYBARREL, true).addPrefix(LIGHTRECEIVER, true).addPrefix(HEAVYRECEIVER, true); + ANY_BISMOIDBRONZE.addPrefix(INGOT, true).addPrefix(CASTPLATE, true).addPrefix(LIGHTBARREL, true).addPrefix(HEAVYBARREL, true).addPrefix(LIGHTRECEIVER, true).addPrefix(HEAVYRECEIVER, true); ANY_TAR.addPrefix(ANY, false); } - + private static boolean recursionBrake = false; - + @SubscribeEvent public void onRegisterOre(OreRegisterEvent event) { - - if(recursionBrake) - return; - + if(recursionBrake) return; + recursionBrake = true; - + HashSet strings = reRegistration.get(event.Name); - + if(strings != null) { for(String name : strings) { OreDictionary.registerOre(name, event.Ore); MainRegistry.logger.info("Re-registration for " + event.Name + " to " + name); } } - + recursionBrake = false; if(event.Name.startsWith("ingot") || event.Name.startsWith("ore") || event.Name.startsWith("plate") || event.Name.startsWith("block")) { @@ -701,7 +711,7 @@ public class OreDictManager { } public static final HashSet arcSmeltable = new HashSet(); - + /** Vanilla item ore dict registration events never actually register in the ODM because vanilla items are registered so early that the ODM event handler doesn't exist yet. */ public static void compensateMojangSpaghettiBullshit() { @@ -724,12 +734,12 @@ public class OreDictManager { arcSmeltable.add(new ComparableStack(Items.brick)); arcSmeltable.add(new ComparableStack(Items.netherbrick)); } - + public static class DictFrame { public String[] mats; float hazMult = 1.0F; List hazards = new ArrayList(); - + public DictFrame(String... mats) { this.mats = mats; } @@ -737,52 +747,43 @@ public class OreDictManager { /* * Quick access methods to grab ore names for recipes. */ - public String any() { return ANY + mats[0]; } - public String nugget() { return NUGGET + mats[0]; } - public String tiny() { return TINY + mats[0]; } - public String bolt() { return BOLT + mats[0]; } - public String ingot() { return INGOT + mats[0]; } - public String dustTiny() { return DUSTTINY + mats[0]; } - public String dust() { return DUST + mats[0]; } - public String gem() { return GEM + mats[0]; } - public String crystal() { return CRYSTAL + mats[0]; } - public String plate() { return PLATE + mats[0]; } - public String plateCast() { return PLATECAST + mats[0]; } - public String plateWelded() { return PLATEWELDED + mats[0]; } - public String heavyComp() { return HEAVY_COMPONENT + mats[0]; } - public String wireFine() { return WIRE + mats[0]; } - public String wireDense() { return WIREDENSE + mats[0]; } - public String shell() { return SHELL + mats[0]; } - public String pipe() { return PIPE + mats[0]; } - public String billet() { return BILLET + mats[0]; } - public String block() { return BLOCK + mats[0]; } - public String ore() { return ORE + mats[0]; } - public String fragment() { return FRAGMENT + mats[0]; } - public String[] anys() { return appendToAll(ANY); } - public String[] nuggets() { return appendToAll(NUGGET); } - public String[] tinys() { return appendToAll(TINY); } - public String[] allNuggets() { return appendToAll(NUGGET, TINY); } - public String[] ingots() { return appendToAll(INGOT); } - public String[] dustTinys() { return appendToAll(DUSTTINY); } - public String[] dusts() { return appendToAll(DUST); } - public String[] gems() { return appendToAll(GEM); } - public String[] crystals() { return appendToAll(CRYSTAL); } - public String[] plates() { return appendToAll(PLATE); } - public String[] plateCasts() { return appendToAll(PLATECAST); } - public String[] shells() { return appendToAll(SHELL); } - public String[] pipes() { return appendToAll(PIPE); } - public String[] billets() { return appendToAll(BILLET); } - public String[] blocks() { return appendToAll(BLOCK); } - public String[] ores() { return appendToAll(ORE); } - public String[] fragments() { return appendToAll(FRAGMENT); } - + public String any() { return ANY.name() + mats[0]; } + public String nugget() { return NUGGET.name() + mats[0]; } + public String tiny() { return TINY.name() + mats[0]; } + public String bolt() { return BOLT.name() + mats[0]; } + public String ingot() { return INGOT.name() + mats[0]; } + public String dustTiny() { return DUSTTINY.name() + mats[0]; } + public String dust() { return DUST.name() + mats[0]; } + public String gem() { return GEM.name() + mats[0]; } + public String crystal() { return CRYSTAL.name() + mats[0]; } + public String plate() { return PLATE.name() + mats[0]; } + public String plateCast() { return CASTPLATE.name() + mats[0]; } + public String plateWelded() { return WELDEDPLATE.name() + mats[0]; } + public String heavyComp() { return HEAVY_COMPONENT.name() + mats[0]; } + public String wireFine() { return WIRE.name() + mats[0]; } + public String wireDense() { return DENSEWIRE.name() + mats[0]; } + public String shell() { return SHELL.name() + mats[0]; } + public String pipe() { return PIPE.name() + mats[0]; } + public String billet() { return BILLET.name() + mats[0]; } + public String block() { return BLOCK.name() + mats[0]; } + public String ore() { return ORE.name() + mats[0]; } + public String fragment() { return FRAGMENT.name() + mats[0]; } + public String lightBarrel() { return LIGHTBARREL.name() + mats[0]; } + public String heavyBarrel() { return HEAVYBARREL.name() + mats[0]; } + public String lightReceiver() { return LIGHTRECEIVER.name() + mats[0]; } + public String heavyReceiver() { return HEAVYRECEIVER.name() + mats[0]; } + public String mechanism() { return MECHANISM.name() + mats[0]; } + public String stock() { return STOCK.name() + mats[0]; } + public String grip() { return GRIP.name() + mats[0]; } + public String[] all(MaterialShapes shape) { return appendToAll(shape.prefixes); } + /** Returns cast (triple) plates if 528 mode is enabled or normal plates if not */ public String plate528() { return GeneralConfig.enable528 ? plateCast() : plate(); } - + private String[] appendToAll(String... prefix) { - + String[] names = new String[mats.length * prefix.length]; - + for(int i = 0; i < mats.length; i++) { for(int j = 0; j < prefix.length; j++) { names[i * prefix.length + j] = prefix[j] + mats[i]; @@ -796,12 +797,12 @@ public class OreDictManager { public DictFrame blinding(float time) { return this.haz(new HazardEntry(HazardRegistry.BLINDING, time)); } public DictFrame asbestos(float asb) { return this.haz(new HazardEntry(HazardRegistry.ASBESTOS, asb)); } public DictFrame hydro(float h) { return this.haz(new HazardEntry(HazardRegistry.HYDROACTIVE, h)); } - + public DictFrame haz(HazardEntry hazard) { hazards.add(hazard); return this; } - + /** Returns an ItemStack composed of the supplied item with the meta being the enum's ordinal. Purely syntactic candy */ public static ItemStack fromOne(Item item, Enum en) { return new ItemStack(item, 1, en.ordinal()); @@ -819,7 +820,7 @@ public class OreDictManager { public static Object[] fromAll(Item item, Class en) { Enum[] vals = en.getEnumConstants(); Object[] stacks = new Object[vals.length]; - + for(int i = 0; i < vals.length; i++) { stacks[i] = new ItemStack(item, 1, vals[i].ordinal()); } @@ -828,13 +829,13 @@ public class OreDictManager { public static Object[] fromAll(Block block, Class en) { Enum[] vals = en.getEnumConstants(); Object[] stacks = new Object[vals.length]; - + for(int i = 0; i < vals.length; i++) { stacks[i] = new ItemStack(block, 1, vals[i].ordinal()); } return stacks; } - + public DictFrame any(Object... thing) { return makeObject(ANY, thing); } @@ -868,13 +869,13 @@ public class OreDictManager { } public DictFrame plateCast(Object... plate) { hazMult = HazardRegistry.plateCast; - return makeObject(PLATECAST, plate); + return makeObject(CASTPLATE, plate); } public DictFrame billet(Object... billet) { hazMult = HazardRegistry.billet; return makeObject(BILLET, billet); } - + public DictFrame block(Object... block) { hazMult = HazardRegistry.block; return makeObject(BLOCK, block); @@ -888,17 +889,18 @@ public class OreDictManager { return makeObject(ORENETHER, oreNether); } - public DictFrame makeObject(String tag, Object... objects) { - + public DictFrame makeObject(MaterialShapes shape, Object... objects) { + + String tag = shape.name(); for(Object o : objects) { if(o instanceof Item) registerStack(tag, new ItemStack((Item) o)); if(o instanceof Block) registerStack(tag, new ItemStack((Block) o)); if(o instanceof ItemStack) registerStack(tag, (ItemStack) o); } - + return this; } - + public DictFrame makeItem(String tag, Item... items) { for(Item i : items) registerStack(tag, new ItemStack(i)); return this; @@ -911,26 +913,26 @@ public class OreDictManager { for(Block b : blocks) registerStack(tag, new ItemStack(b)); return this; } - + public static void registerHazards(List hazards, float hazMult, String dictKey) { - + if(!hazards.isEmpty() && hazMult > 0F) { HazardData data = new HazardData().setMutex(0b1); - + for(HazardEntry hazard : hazards) { data.addEntry(hazard.clone(hazMult)); } - + HazardSystem.register(dictKey, data); } } - + public void registerStack(String tag, ItemStack stack) { for(String mat : mats) { OreDictionary.registerOre(tag + mat, stack); registerHazards(hazards, hazMult, tag + mat); } - + /* * Fix for a small oddity in nuclearcraft: many radioactive elements do not have an ore prefix and the sizes * seem generally inconsistent (TH and U are 20 "tiny"s per ingot while boron is 12), so we assume those to be ingots. @@ -942,12 +944,12 @@ public class OreDictManager { } } } - + public static class DictGroup { - + private String groupName; private HashSet names = new HashSet(); - + public DictGroup(String groupName) { this.groupName = groupName; } @@ -959,7 +961,7 @@ public class OreDictManager { this(groupName); this.addFrames(frames); } - + public DictGroup addNames(String... names) { for(String mat : names) this.names.add(mat); return this; @@ -968,21 +970,22 @@ public class OreDictManager { for(DictFrame frame : frames) this.addNames(frame.mats); return this; } - + /** * Will add a reregistration entry for every mat name of every added DictFrame for the given prefix * @param prefix The prefix of both the input and result of the reregistration * @return */ - public DictGroup addPrefix(String prefix, boolean inputPrefix) { - + public DictGroup addPrefix(MaterialShapes shape, boolean inputPrefix) { + + String prefix = shape.name(); String group = prefix + groupName; - + for(String name : names) { String original = (inputPrefix ? prefix : "") + name; addReRegistration(original, group); } - + return this; } /** @@ -992,41 +995,48 @@ public class OreDictManager { * @return */ public DictGroup addFixed(String prefix, String original) { - + String group = prefix + groupName; addReRegistration(original, group); return this; } - - public String any() { return ANY + groupName; } - public String nugget() { return NUGGET + groupName; } - public String tiny() { return TINY + groupName; } - public String bolt() { return BOLT + groupName; } - public String ingot() { return INGOT + groupName; } - public String dustTiny() { return DUSTTINY + groupName; } - public String dust() { return DUST + groupName; } - public String gem() { return GEM + groupName; } - public String crystal() { return CRYSTAL + groupName; } - public String plate() { return PLATE + groupName; } - public String plateCast() { return PLATECAST + groupName; } - public String plateWelded() { return PLATEWELDED + groupName; } - public String heavyComp() { return HEAVY_COMPONENT + groupName; } - public String wireFine() { return WIRE + groupName; } - public String wireDense() { return WIREDENSE + groupName; } - public String billet() { return BILLET + groupName; } - public String block() { return BLOCK + groupName; } - public String ore() { return ORE + groupName; } + + public String any() { return ANY.name() + groupName; } + public String nugget() { return NUGGET.name() + groupName; } + public String tiny() { return TINY.name() + groupName; } + public String bolt() { return BOLT.name() + groupName; } + public String ingot() { return INGOT.name() + groupName; } + public String dustTiny() { return DUSTTINY .name() + groupName; } + public String dust() { return DUST.name() + groupName; } + public String gem() { return GEM.name() + groupName; } + public String crystal() { return CRYSTAL.name() + groupName; } + public String plate() { return PLATE.name() + groupName; } + public String plateCast() { return CASTPLATE.name() + groupName; } + public String plateWelded() { return WELDEDPLATE.name() + groupName; } + public String heavyComp() { return HEAVY_COMPONENT.name() + groupName; } + public String wireFine() { return WIRE.name() + groupName; } + public String wireDense() { return DENSEWIRE.name() + groupName; } + public String billet() { return BILLET.name() + groupName; } + public String block() { return BLOCK.name() + groupName; } + public String ore() { return ORE.name() + groupName; } + public String lightBarrel() { return LIGHTBARREL.name() + groupName; } + public String heavyBarrel() { return HEAVYBARREL.name() + groupName; } + public String lightReceiver() { return LIGHTRECEIVER.name() + groupName; } + public String heavyReceiver() { return HEAVYRECEIVER.name() + groupName; } + public String mechanism() { return MECHANISM.name() + groupName; } + public String stock() { return STOCK.name() + groupName; } + public String grip() { return GRIP.name() + groupName; } } - + private static void addReRegistration(String original, String additional) { - + HashSet strings = reRegistration.get(original); - + if(strings == null) strings = new HashSet(); - + strings.add(additional); - + reRegistration.put(original, strings); } } diff --git a/src/main/java/com/hbm/inventory/OreNames.java b/src/main/java/com/hbm/inventory/OreNames.java deleted file mode 100644 index 036d82ead..000000000 --- a/src/main/java/com/hbm/inventory/OreNames.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.hbm.inventory; - -public class OreNames { - - /* - * PREFIXES - */ - public static final String ANY = "any"; - public static final String NUGGET = "nugget"; - public static final String TINY = "tiny"; - public static final String FRAGMENT = "bedrockorefragment"; - public static final String BOLT = "bolt"; - public static final String INGOT = "ingot"; - public static final String DUSTTINY = "dustTiny"; - public static final String DUST = "dust"; - public static final String GEM = "gem"; - public static final String CRYSTAL = "crystal"; - public static final String PLATE = "plate"; - public static final String PLATECAST = "plateTriple"; //cast plates are solid plates made from 3 ingots, turns out that's literally just a GT triple plate - public static final String PLATEWELDED = "plateSextuple"; - public static final String SHELL = "shell"; - public static final String PIPE = "ntmpipe"; - public static final String WIRE = "wireFine"; - public static final String WIREDENSE = "wireDense"; - public static final String BILLET = "billet"; - public static final String BLOCK = "block"; - public static final String ORE = "ore"; - public static final String ORENETHER = "oreNether"; - public static final String HEAVY_COMPONENT = "componentHeavy"; - - public static final String[] prefixes = new String[] { - ANY, NUGGET, TINY, FRAGMENT, BOLT, INGOT, DUSTTINY, DUST, GEM, CRYSTAL, PLATE, PLATECAST, BILLET, BLOCK, ORE, ORENETHER, HEAVY_COMPONENT, WIRE, WIREDENSE - }; -} diff --git a/src/main/java/com/hbm/inventory/RecipesCommon.java b/src/main/java/com/hbm/inventory/RecipesCommon.java index 85a43f6bf..c2b9116a5 100644 --- a/src/main/java/com/hbm/inventory/RecipesCommon.java +++ b/src/main/java/com/hbm/inventory/RecipesCommon.java @@ -116,10 +116,17 @@ public class RecipesCommon { this.stacksize = 1; return; } - this.item = stack.getItem(); - if(this.item == null) this.item = ModItems.nothing; //i'm going to bash some fuckard's head in - this.stacksize = stack.stackSize; - this.meta = stack.getItemDamage(); + try { + this.item = stack.getItem(); + if(this.item == null) this.item = ModItems.nothing; //i'm going to bash some fuckard's head in + this.stacksize = stack.stackSize; + this.meta = stack.getItemDamage(); + } catch(Exception ex) { + this.item = ModItems.nothing; + if(!GeneralConfig.enableSilentCompStackErrors) { + ex.printStackTrace(); + } + } } public ComparableStack makeSingular() { @@ -271,6 +278,10 @@ public class RecipesCommon { public AStack copy() { return new ComparableStack(item, stacksize, meta); } + + public ComparableStack copy(int stacksize) { + return new ComparableStack(item, stacksize, meta); + } @Override public boolean matchesRecipe(ItemStack stack, boolean ignoreSize) { @@ -383,6 +394,10 @@ public class RecipesCommon { public AStack copy() { return new OreDictStack(name, stacksize); } + + public OreDictStack copy(int stacksize) { + return new OreDictStack(name, stacksize); + } @Override public boolean matchesRecipe(ItemStack stack, boolean ignoreSize) { diff --git a/src/main/java/com/hbm/inventory/SlotNonRetarded.java b/src/main/java/com/hbm/inventory/SlotNonRetarded.java index 02b7faa05..66d4fed74 100644 --- a/src/main/java/com/hbm/inventory/SlotNonRetarded.java +++ b/src/main/java/com/hbm/inventory/SlotNonRetarded.java @@ -1,13 +1,16 @@ package com.hbm.inventory; +import com.hbm.interfaces.NotableComments; + import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; /** - * Because vanilla slots have severe mental disabilities that prevent them from working as expected. + * Because vanilla slots have shit idiot brain fungus that prevent them from working as expected. * @author hbm */ +@NotableComments public class SlotNonRetarded extends Slot { public SlotNonRetarded(IInventory inventory, int id, int x, int y) { @@ -21,7 +24,7 @@ public class SlotNonRetarded extends Slot { public boolean isItemValid(ItemStack stack) { return inventory.isItemValidForSlot(this.slotNumber, stack); } - + /** * Because if slots have higher stacksizes than the maximum allowed by the tile, the display just stops working. * Why was that necessary? Sure it's not intended but falsifying information isn't very cool. diff --git a/src/main/java/com/hbm/inventory/SlotPattern.java b/src/main/java/com/hbm/inventory/SlotPattern.java index c40b92091..a6957c7ac 100644 --- a/src/main/java/com/hbm/inventory/SlotPattern.java +++ b/src/main/java/com/hbm/inventory/SlotPattern.java @@ -5,14 +5,22 @@ import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; public class SlotPattern extends Slot { protected boolean canHover = true; + + protected boolean allowStackSize = false; public SlotPattern(IInventory inv, int index, int x, int y) { super(inv, index, x, y); } + + public SlotPattern(IInventory inv, int index, int x, int y, boolean allowStackSize) { + super(inv, index, x, y); + this.allowStackSize = allowStackSize; + } @Override public boolean canTakeStack(EntityPlayer player) { @@ -24,6 +32,17 @@ public class SlotPattern extends Slot { return 1; } + @Override + public void putStack(ItemStack stack) { + if (stack != null) { + stack = stack.copy(); + + if (!allowStackSize) + stack.stackSize = 1; + } + super.putStack(stack); + } + public SlotPattern disableHover() { this.canHover = false; return this; diff --git a/src/main/java/com/hbm/inventory/UpgradeManager.java b/src/main/java/com/hbm/inventory/UpgradeManager.java deleted file mode 100644 index 39c366de4..000000000 --- a/src/main/java/com/hbm/inventory/UpgradeManager.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.hbm.inventory; - -import java.util.HashMap; - -import com.hbm.interfaces.Untested; -import com.hbm.items.machine.ItemMachineUpgrade; -import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; - -import net.minecraft.item.ItemStack; - -public class UpgradeManager { - - private static HashMap upgrades = new HashMap(); - private static UpgradeType mutexType = null; - - @Untested - public static void eval(ItemStack[] slots, int start, int end) { - - upgrades.clear(); - - for(int i = start; i <= end; i++) { - - if(slots[i] != null && slots[i].getItem() instanceof ItemMachineUpgrade) { - ItemMachineUpgrade item = (ItemMachineUpgrade) slots[i].getItem(); - - if(item.type.mutex) { - - if(mutexType == null || mutexType.ordinal() < item.type.ordinal()) { - mutexType = item.type; - } - - } else { - Integer up = upgrades.get(item.type); - int upgrade = (up == null ? 0 : up); - upgrade += item.tier; - upgrades.put(item.type, upgrade); - } - } - } - } - - public static int getLevel(UpgradeType type) { - Integer up = upgrades.get(type); - return up == null ? 0 : up; - } - - public static UpgradeType getMinerMutex() { - return mutexType; - } -} diff --git a/src/main/java/com/hbm/inventory/UpgradeManagerNT.java b/src/main/java/com/hbm/inventory/UpgradeManagerNT.java new file mode 100644 index 000000000..fae7ac9ef --- /dev/null +++ b/src/main/java/com/hbm/inventory/UpgradeManagerNT.java @@ -0,0 +1,87 @@ +package com.hbm.inventory; + +import com.hbm.items.machine.ItemMachineUpgrade; +import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; +import com.hbm.tileentity.IUpgradeInfoProvider; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; + +import java.util.Arrays; +import java.util.HashMap; + +/* + Steps for use: + 1. TE implements IUpgradeInfoProvider + 2. TE creates a new instance of UpgradeManagerNT + 3. Upgrades and their levels can then be pulled from there. + */ + +/** + * Upgrade system, now with caching! + * @author BallOfEnergy1 + */ +public class UpgradeManagerNT { + + public TileEntity owner; + public ItemStack[] cachedSlots; + + private UpgradeType mutexType; + public HashMap upgrades = new HashMap<>(); + + public UpgradeManagerNT(TileEntity te) { this.owner = te; } + @Deprecated public UpgradeManagerNT() { } + + public void checkSlots(ItemStack[] slots, int start, int end) { checkSlotsInternal(owner, slots, start, end); } + @Deprecated public void checkSlots(TileEntity te, ItemStack[] slots, int start, int end) { checkSlotsInternal(te, slots, start, end); } + + private void checkSlotsInternal(TileEntity te, ItemStack[] slots, int start, int end) { + + if(!(te instanceof IUpgradeInfoProvider) || slots == null) + return; + + ItemStack[] upgradeSlots = Arrays.copyOfRange(slots, start, end + 1); + + if(Arrays.equals(upgradeSlots, cachedSlots)) + return; + + cachedSlots = upgradeSlots.clone(); + + upgrades.clear(); + + for (int i = 0; i <= end - start; i++) { + + if(upgradeSlots[i] != null && upgradeSlots[i].getItem() instanceof ItemMachineUpgrade) { + + ItemMachineUpgrade item = (ItemMachineUpgrade) upgradeSlots[i].getItem(); + IUpgradeInfoProvider upgradable = (IUpgradeInfoProvider) te; + + if(upgradable.getValidUpgrades() == null) + return; + + if (upgradable.getValidUpgrades().containsKey(item.type)) { // Check if upgrade can even be accepted by the machine. + if (item.type.mutex) { + if (mutexType == null) { + upgrades.put(item.type, 1); + mutexType = item.type; + } else if(item.type.ordinal() > mutexType.ordinal()) { + upgrades.remove(mutexType); + upgrades.put(item.type, 1); + mutexType = item.type; + } + } else { + + Integer levelBefore = upgrades.get(item.type); + int upgradeLevel = (levelBefore == null ? 0 : levelBefore); + upgradeLevel += item.tier; + // Add additional check to make sure it doesn't go over the max. + upgrades.put(item.type, Math.min(upgradeLevel, upgradable.getValidUpgrades().get(item.type))); + } + } + } + } + } + + public Integer getLevel(UpgradeType type) { + return upgrades.getOrDefault(type, 0); + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerAmmoBag.java b/src/main/java/com/hbm/inventory/container/ContainerAmmoBag.java new file mode 100644 index 000000000..76fdcea70 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerAmmoBag.java @@ -0,0 +1,85 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotNonRetarded; +import com.hbm.items.tool.ItemAmmoBag.InventoryAmmoBag; +import com.hbm.util.InventoryUtil; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerAmmoBag extends Container { + + private InventoryAmmoBag bag; + + public ContainerAmmoBag(InventoryPlayer invPlayer, InventoryAmmoBag box) { + this.bag = box; + this.bag.openInventory(); + + for(int i = 0; i < 2; i++) { + for(int j = 0; j < 4; j++) { + this.addSlotToContainer(new SlotNonRetarded(box, j + i * 4, 53 + j * 18, 18 + i * 18)); + } + } + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 82 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 140)); + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { + ItemStack var3 = null; + Slot var4 = (Slot) this.inventorySlots.get(par2); + + if(var4 != null && var4.getHasStack()) { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if(par2 <= bag.getSizeInventory() - 1) { + if(!InventoryUtil.mergeItemStack(this.inventorySlots, var5, bag.getSizeInventory(), this.inventorySlots.size(), true)) { + return null; + } + } else if(!InventoryUtil.mergeItemStack(this.inventorySlots, var5, 0, bag.getSizeInventory(), false)) { + return null; + } + + if(var5.stackSize == 0) { + var4.putStack((ItemStack) null); + } else { + var4.onSlotChanged(); + } + + var4.onPickupFromSlot(p_82846_1_, var5); + } + + return var3; + } + + @Override + public ItemStack slotClick(int index, int button, int mode, EntityPlayer player) { + // prevents the player from moving around the currently open box + if(mode == 2 && button == player.inventory.currentItem) return null; + if(index == player.inventory.currentItem + 27 + bag.getSizeInventory()) return null; + return super.slotClick(index, button, mode, player); + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return bag.isUseableByPlayer(player); + } + + @Override + public void onContainerClosed(EntityPlayer player) { + super.onContainerClosed(player); + this.bag.closeInventory(); + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerAutocrafter.java b/src/main/java/com/hbm/inventory/container/ContainerAutocrafter.java index 0c5c3ff51..2c8b0438b 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerAutocrafter.java +++ b/src/main/java/com/hbm/inventory/container/ContainerAutocrafter.java @@ -24,7 +24,7 @@ public class ContainerAutocrafter extends ContainerBase { this.addSlotToContainer(new SlotPattern(tedf, j + i * 3, 44 + j * 18, 22 + i * 18)); } } - this.addSlotToContainer(new SlotPattern(tedf, 9, 116, 40)); + this.addSlotToContainer(new SlotPattern(tedf, 9, 116, 40, true)); /* RECIPE */ addSlots(tedf,10, 44, 86, 3, 3); @@ -74,13 +74,7 @@ public class ContainerAutocrafter extends ContainerBase { } else { - slot.putStack(held != null ? held.copy() : null); - - if(slot.getHasStack()) { - slot.getStack().stackSize = 1; - } - - slot.onSlotChanged(); + slot.putStack(held); autocrafter.matcher.initPatternSmart(autocrafter.getWorldObj(), slot.getStack(), index); autocrafter.updateTemplateGrid(); diff --git a/src/main/java/com/hbm/inventory/container/ContainerBase.java b/src/main/java/com/hbm/inventory/container/ContainerBase.java index 2dd45772b..14305fc1c 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerBase.java +++ b/src/main/java/com/hbm/inventory/container/ContainerBase.java @@ -1,5 +1,9 @@ package com.hbm.inventory.container; +import com.hbm.inventory.SlotCraftingOutput; +import com.hbm.inventory.SlotNonRetarded; +import com.hbm.inventory.SlotTakeOnly; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -12,7 +16,7 @@ import net.minecraft.item.ItemStack; * implementation, because I really needed to get the te from a container But * you should very much use this to kill the giant amount of boilerplate in * container classes - * + * * @author 70k **/ public class ContainerBase extends Container { @@ -27,6 +31,12 @@ public class ContainerBase extends Container { public boolean canInteractWith(EntityPlayer player) { return tile.isUseableByPlayer(player); } + + /** Respects slot restrictions */ + @Override + protected boolean mergeItemStack(ItemStack slotStack, int start, int end, boolean direction) { + return super.mergeItemStack(slotStack, start, end, direction); // overriding this with InventoryUtil.mergeItemStack breaks it but invoking it directly doesn't? wtf? + } @Override public ItemStack transferStackInSlot(EntityPlayer player, int index) { @@ -56,17 +66,22 @@ public class ContainerBase extends Container { return slotOriginal; } + + /** Standard player inventory with default hotbar offset */ + public void playerInv(InventoryPlayer invPlayer, int playerInvX, int playerInvY) { + playerInv(invPlayer, playerInvX, playerInvY, playerInvY + 58); + } /** Used to quickly set up the player inventory */ public void playerInv(InventoryPlayer invPlayer, int playerInvX, int playerInvY, int playerHotbarY) { for(int i = 0; i < 3; i++) { for(int j = 0; j < 9; j++) { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, playerInvX + j * 18, playerInvY + i * 18)); + this.addSlotToContainer(new SlotNonRetarded(invPlayer, j + i * 9 + 9, playerInvX + j * 18, playerInvY + i * 18)); } } for(int i = 0; i < 9; i++) { - this.addSlotToContainer(new Slot(invPlayer, i, playerInvX + i * 18, playerHotbarY)); + this.addSlotToContainer(new SlotNonRetarded(invPlayer, i, playerInvX + i * 18, playerHotbarY)); } } @@ -75,16 +90,39 @@ public class ContainerBase extends Container { // - Mellow, 1884 /** * Used to add several conventional inventory slots at a time - * + * * @param inv the inventory to add the slots to * @param from the slot index to start from */ public void addSlots(IInventory inv, int from, int x, int y, int rows, int cols) { - int slotSize = 18; + addSlots(inv, from, x, y, rows, cols, 18); + } + + public void addSlots(IInventory inv, int from, int x, int y, int rows, int cols, int slotSize) { for(int row = 0; row < rows; row++) { for(int col = 0; col < cols; col++) { - this.addSlotToContainer(new Slot(inv, col + row * cols + from, x + col * slotSize, y + row * slotSize)); + this.addSlotToContainer(new SlotNonRetarded(inv, col + row * cols + from, x + col * slotSize, y + row * slotSize)); } } } + + public void addOutputSlots(EntityPlayer player, IInventory inv, int from, int x, int y, int rows, int cols) { + addOutputSlots(player, inv, from, x, y, rows, cols, 18); + } + + public void addOutputSlots(EntityPlayer player, IInventory inv, int from, int x, int y, int rows, int cols, int slotSize) { + for(int row = 0; row < rows; row++) for(int col = 0; col < cols; col++) { + this.addSlotToContainer(new SlotCraftingOutput(player, inv, col + row * cols + from, x + col * slotSize, y + row * slotSize)); + } + } + + public void addTakeOnlySlots(IInventory inv, int from, int x, int y, int rows, int cols) { + addTakeOnlySlots(inv, from, x, y, rows, cols, 18); + } + + public void addTakeOnlySlots(IInventory inv, int from, int x, int y, int rows, int cols, int slotSize) { + for(int row = 0; row < rows; row++) for(int col = 0; col < cols; col++) { + this.addSlotToContainer(new SlotTakeOnly(inv, col + row * cols + from, x + col * slotSize, y + row * slotSize)); + } + } } diff --git a/src/main/java/com/hbm/inventory/container/ContainerCartDestroyer.java b/src/main/java/com/hbm/inventory/container/ContainerCartDestroyer.java index 356a97d92..cff9ae430 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCartDestroyer.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCartDestroyer.java @@ -66,13 +66,7 @@ public class ContainerCartDestroyer extends Container { if(slot.getHasStack()) ret = slot.getStack().copy(); - slot.putStack(held != null ? held.copy() : null); - - if(slot.getHasStack()) { - slot.getStack().stackSize = 1; - } - - slot.onSlotChanged(); + slot.putStack(held); return ret; } diff --git a/src/main/java/com/hbm/inventory/container/ContainerCasingBag.java b/src/main/java/com/hbm/inventory/container/ContainerCasingBag.java new file mode 100644 index 000000000..d02549627 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerCasingBag.java @@ -0,0 +1,85 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotNonRetarded; +import com.hbm.items.tool.ItemCasingBag.InventoryCasingBag; +import com.hbm.util.InventoryUtil; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerCasingBag extends Container { + + private InventoryCasingBag bag; + + public ContainerCasingBag(InventoryPlayer invPlayer, InventoryCasingBag box) { + this.bag = box; + this.bag.openInventory(); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 5; j++) { + this.addSlotToContainer(new SlotNonRetarded(box, j + i * 5, 44 + j * 18, 18 + i * 18)); + } + } + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 100 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 158)); + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { + ItemStack var3 = null; + Slot var4 = (Slot) this.inventorySlots.get(par2); + + if(var4 != null && var4.getHasStack()) { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if(par2 <= bag.getSizeInventory() - 1) { + if(!InventoryUtil.mergeItemStack(this.inventorySlots, var5, bag.getSizeInventory(), this.inventorySlots.size(), true)) { + return null; + } + } else if(!InventoryUtil.mergeItemStack(this.inventorySlots, var5, 0, bag.getSizeInventory(), false)) { + return null; + } + + if(var5.stackSize == 0) { + var4.putStack((ItemStack) null); + } else { + var4.onSlotChanged(); + } + + var4.onPickupFromSlot(p_82846_1_, var5); + } + + return var3; + } + + @Override + public ItemStack slotClick(int index, int button, int mode, EntityPlayer player) { + // prevents the player from moving around the currently open box + if(mode == 2 && button == player.inventory.currentItem) return null; + if(index == player.inventory.currentItem + 27 + bag.getSizeInventory()) return null; + return super.slotClick(index, button, mode, player); + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return bag.isUseableByPlayer(player); + } + + @Override + public void onContainerClosed(EntityPlayer player) { + super.onContainerClosed(player); + this.bag.closeInventory(); + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerChemfac.java b/src/main/java/com/hbm/inventory/container/ContainerChemfac.java index 45604135d..c04792035 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerChemfac.java +++ b/src/main/java/com/hbm/inventory/container/ContainerChemfac.java @@ -1,5 +1,6 @@ package com.hbm.inventory.container; +import com.hbm.inventory.SlotCraftingOutput; import com.hbm.inventory.SlotUpgrade; import com.hbm.tileentity.machine.TileEntityMachineChemfac; @@ -35,7 +36,7 @@ public class ContainerChemfac extends Container { for(int k = 0; k < 2; k++) { for(int l = 0; l < 2; l++) { - this.addSlotToContainer(new Slot(tile, this.inventorySlots.size(), 69 + j * 110 + l * 16, 14 + i * 38 + k * 16)); + this.addSlotToContainer(new SlotCraftingOutput(playerInv.player, tile, this.inventorySlots.size(), 69 + j * 110 + l * 16, 14 + i * 38 + k * 16)); } } diff --git a/src/main/java/com/hbm/inventory/container/ContainerCompressor.java b/src/main/java/com/hbm/inventory/container/ContainerCompressor.java index 6e569938d..ec6d7751e 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCompressor.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCompressor.java @@ -1,7 +1,7 @@ package com.hbm.inventory.container; import com.hbm.items.machine.IItemFluidIdentifier; -import com.hbm.tileentity.machine.TileEntityMachineCompressor; +import com.hbm.tileentity.machine.TileEntityMachineCompressorBase; import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; @@ -12,9 +12,9 @@ import net.minecraft.item.ItemStack; public class ContainerCompressor extends Container { - private TileEntityMachineCompressor compressor; + private TileEntityMachineCompressorBase compressor; - public ContainerCompressor(InventoryPlayer playerInv, TileEntityMachineCompressor tile) { + public ContainerCompressor(InventoryPlayer playerInv, TileEntityMachineCompressorBase tile) { compressor = tile; //Fluid ID diff --git a/src/main/java/com/hbm/inventory/container/ContainerCounterTorch.java b/src/main/java/com/hbm/inventory/container/ContainerCounterTorch.java index 925b3d7e1..c50c6014f 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCounterTorch.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCounterTorch.java @@ -48,13 +48,7 @@ public class ContainerCounterTorch extends ContainerBase { return ret; } else { - slot.putStack(held != null ? held.copy() : null); - - if(slot.getHasStack()) { - slot.getStack().stackSize = 1; - } - - slot.onSlotChanged(); + slot.putStack(held); radio.matcher.initPatternStandard(radio.getWorldObj(), slot.getStack(), index); return ret; diff --git a/src/main/java/com/hbm/inventory/container/ContainerCraneExtractor.java b/src/main/java/com/hbm/inventory/container/ContainerCraneExtractor.java index 5c6cc998e..1da5825e1 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCraneExtractor.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCraneExtractor.java @@ -24,16 +24,10 @@ public class ContainerCraneExtractor extends ContainerBase { this.addSlotToContainer(new SlotPattern(extractor, j + i * 3, 71 + j * 18, 17 + i * 18)); } } - /* + //buffer - for(int i = 0; i < 3; i++) { - for(int j = 0; j < 3; j++) { - this.addSlotToContainer(new Slot(extractor, 9 + j + i * 3, 8 + j * 18, 17 + i * 18)); - } - }*/ addSlots(extractor,9,8,17,3,3); - //upgrades this.addSlotToContainer(new SlotUpgrade(extractor, 18, 152, 23)); this.addSlotToContainer(new SlotUpgrade(extractor, 19, 152, 47)); @@ -111,13 +105,7 @@ public class ContainerCraneExtractor extends ContainerBase { return ret; } else { - slot.putStack(held != null ? held.copy() : null); - - if(slot.getHasStack()) { - slot.getStack().stackSize = 1; - } - - slot.onSlotChanged(); + slot.putStack(held); extractor.matcher.initPatternStandard(extractor.getWorldObj(), slot.getStack(), index); return ret; diff --git a/src/main/java/com/hbm/inventory/container/ContainerCraneGrabber.java b/src/main/java/com/hbm/inventory/container/ContainerCraneGrabber.java index 7b35961ee..17de36f86 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCraneGrabber.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCraneGrabber.java @@ -100,13 +100,7 @@ public class ContainerCraneGrabber extends ContainerBase { return ret; } else { - slot.putStack(held != null ? held.copy() : null); - - if(slot.getHasStack()) { - slot.getStack().stackSize = 1; - } - - slot.onSlotChanged(); + slot.putStack(held); grabber.matcher.initPatternStandard(grabber.getWorldObj(), slot.getStack(), index); return ret; diff --git a/src/main/java/com/hbm/inventory/container/ContainerCraneInserter.java b/src/main/java/com/hbm/inventory/container/ContainerCraneInserter.java index ad08c4a45..aa5acf950 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCraneInserter.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCraneInserter.java @@ -17,7 +17,7 @@ public class ContainerCraneInserter extends Container { for(int i = 0; i < 3; i++) { for(int j = 0; j < 7; j++) { - this.addSlotToContainer(new Slot(inserter, j + i * 7, 26 + j * 18, 17 + i * 18)); + this.addSlotToContainer(new Slot(inserter, j + i * 7, 8 + j * 18, 17 + i * 18)); } } diff --git a/src/main/java/com/hbm/inventory/container/ContainerCraneRouter.java b/src/main/java/com/hbm/inventory/container/ContainerCraneRouter.java index d30d8c8ae..79de2466f 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCraneRouter.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCraneRouter.java @@ -52,13 +52,7 @@ public class ContainerCraneRouter extends ContainerBase { } else { - slot.putStack(held != null ? held.copy() : null); - - if(slot.getHasStack()) { - slot.getStack().stackSize = 1; - } - - slot.onSlotChanged(); + slot.putStack(held); router.initPattern(slot.getStack(), index); return ret; diff --git a/src/main/java/com/hbm/inventory/container/ContainerCrateBase.java b/src/main/java/com/hbm/inventory/container/ContainerCrateBase.java index 96d32b07f..aaf4ca8a3 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCrateBase.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCrateBase.java @@ -1,22 +1,74 @@ package com.hbm.inventory.container; +import com.hbm.inventory.SlotNonRetarded; +import com.hbm.items.block.ItemBlockStorageCrate; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; public class ContainerCrateBase extends ContainerBase { - //just there so prev stuff doesnt break - protected IInventory crate = tile; - public ContainerCrateBase(InventoryPlayer invPlayer, IInventory tedf) { super(invPlayer, tedf); tile.openInventory(); } + @Override + public void playerInv(InventoryPlayer invPlayer, int playerInvX, int playerInvY, int playerHotbarY) { + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new SlotNonRetarded(invPlayer, j + i * 9 + 9, playerInvX + j * 18, playerInvY + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer( + (invPlayer.currentItem == i && this.tile instanceof ItemBlockStorageCrate.InventoryCrate) ? + new SlotPlayerCrateLocked(invPlayer, i, playerInvX + i * 18, playerHotbarY) : + new SlotNonRetarded(invPlayer, i, playerInvX + i * 18, playerHotbarY) + ); + } + } + + @Override + public ItemStack slotClick(int index, int button, int mode, EntityPlayer player) { + // prevents the player from moving around the currently open box + if(player.inventory.getStackInSlot(player.inventory.currentItem) != null && + player.inventory.getStackInSlot(player.inventory.currentItem).getItem() instanceof ItemBlockStorageCrate && !(this.tile instanceof TileEntity)) { + if (mode == 2 && button == player.inventory.currentItem) { + return null; + } + if (index == player.inventory.currentItem + 27 + this.tile.getSizeInventory()) { + return null; + } + } + return super.slotClick(index, button, mode, player); + } + @Override public void onContainerClosed(EntityPlayer p_75134_1_) { super.onContainerClosed(p_75134_1_); tile.closeInventory(); } + + /** + * No touching anything here. No moving around, no taking, no inserting, fuck off. + */ + public class SlotPlayerCrateLocked extends SlotNonRetarded { + + public SlotPlayerCrateLocked(IInventory inventory, int id, int x, int y) { + super(inventory, id, x, y); + } + @Override + public boolean canTakeStack(EntityPlayer player) { + return false; + } + + @Override + public boolean isItemValid(ItemStack item) { + return false; + } + } } diff --git a/src/main/java/com/hbm/inventory/container/ContainerCrateIron.java b/src/main/java/com/hbm/inventory/container/ContainerCrateIron.java index 6c2a62671..15d808110 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCrateIron.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCrateIron.java @@ -1,14 +1,13 @@ package com.hbm.inventory.container; -import com.hbm.tileentity.machine.storage.TileEntityCrateIron; - import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; @invtweaks.api.container.ChestContainer(rowSize = 9, isLargeChest = false) public class ContainerCrateIron extends ContainerCrateBase { - - public ContainerCrateIron(InventoryPlayer invPlayer, TileEntityCrateIron tedf) { + + public ContainerCrateIron(InventoryPlayer invPlayer, IInventory tedf) { super(invPlayer,tedf); for(int i = 0; i < 4; i++) { diff --git a/src/main/java/com/hbm/inventory/container/ContainerCrateTemplate.java b/src/main/java/com/hbm/inventory/container/ContainerCrateTemplate.java index 553451df8..8f8e02615 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCrateTemplate.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCrateTemplate.java @@ -1,14 +1,13 @@ package com.hbm.inventory.container; -import com.hbm.tileentity.machine.storage.TileEntityCrateTemplate; - import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; @invtweaks.api.container.ChestContainer(rowSize = 9, isLargeChest = false) public class ContainerCrateTemplate extends ContainerCrateBase { - - public ContainerCrateTemplate(InventoryPlayer invPlayer, TileEntityCrateTemplate tedf) { + + public ContainerCrateTemplate(InventoryPlayer invPlayer, IInventory tedf) { super(invPlayer,tedf); for(int i = 0; i < 3; i++) { @@ -19,4 +18,4 @@ public class ContainerCrateTemplate extends ContainerCrateBase { this.playerInv(invPlayer, 8, 86, 144); } -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerCrateTungsten.java b/src/main/java/com/hbm/inventory/container/ContainerCrateTungsten.java index 55b2d3cfa..58bdf3f50 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCrateTungsten.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCrateTungsten.java @@ -1,14 +1,13 @@ package com.hbm.inventory.container; -import com.hbm.tileentity.machine.storage.TileEntityCrateTungsten; - import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; @invtweaks.api.container.ChestContainer(rowSize = 9, isLargeChest = false) public class ContainerCrateTungsten extends ContainerCrateBase { - public ContainerCrateTungsten(InventoryPlayer invPlayer, TileEntityCrateTungsten te) { + public ContainerCrateTungsten(InventoryPlayer invPlayer, IInventory te) { super(invPlayer,te); for(int i = 0; i < 3; i++) { diff --git a/src/main/java/com/hbm/inventory/container/ContainerCrucible.java b/src/main/java/com/hbm/inventory/container/ContainerCrucible.java index 5061bb4a6..f04d9e9f1 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCrucible.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCrucible.java @@ -38,6 +38,12 @@ public class ContainerCrucible extends Container { } } + @Override + public ItemStack slotClick(int slot, int button, int mode, EntityPlayer player) { + if(mode == 2) return null; + return super.slotClick(slot, button, mode, player); + } + @Override public ItemStack transferStackInSlot(EntityPlayer player, int index) { ItemStack stack = null; diff --git a/src/main/java/com/hbm/inventory/container/ContainerDroneRequester.java b/src/main/java/com/hbm/inventory/container/ContainerDroneRequester.java index 7d1a6775d..13a8bbb0e 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerDroneRequester.java +++ b/src/main/java/com/hbm/inventory/container/ContainerDroneRequester.java @@ -39,11 +39,11 @@ public class ContainerDroneRequester extends ContainerCrateBase { if(par2 < 9) return null; //ignore filters - if(par2 <= crate.getSizeInventory() - 1) { - if(!this.mergeItemStack(var5, crate.getSizeInventory(), this.inventorySlots.size(), true)) { + if(par2 <= tile.getSizeInventory() - 1) { + if(!this.mergeItemStack(var5, tile.getSizeInventory(), this.inventorySlots.size(), true)) { return null; } - } else if(!this.mergeItemStack(var5, 9, crate.getSizeInventory(), false)) { + } else if(!this.mergeItemStack(var5, 9, tile.getSizeInventory(), false)) { return null; } @@ -75,25 +75,19 @@ public class ContainerDroneRequester extends ContainerCrateBase { ItemStack ret = null; ItemStack held = player.inventory.getItemStack(); - TileEntityDroneRequester requester = (TileEntityDroneRequester) crate; - + TileEntityDroneRequester requester = (TileEntityDroneRequester) tile; + if(slot.getHasStack()) ret = slot.getStack().copy(); - + if(button == 1 && mode == 0 && slot.getHasStack()) { requester.nextMode(index); return ret; - + } else { - slot.putStack(held != null ? held.copy() : null); - - if(slot.getHasStack()) { - slot.getStack().stackSize = 1; - } - - slot.onSlotChanged(); + slot.putStack(held); requester.matcher.initPatternStandard(requester.getWorldObj(), slot.getStack(), index); - + return ret; } } diff --git a/src/main/java/com/hbm/inventory/container/ContainerFEL.java b/src/main/java/com/hbm/inventory/container/ContainerFEL.java index c80e69e44..357c7378b 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerFEL.java +++ b/src/main/java/com/hbm/inventory/container/ContainerFEL.java @@ -42,8 +42,8 @@ public class ContainerFEL extends Container { ItemStack stack = slot.getStack(); rStack = stack.copy(); - if(index == 0) { - if(!this.mergeItemStack(stack, 1, this.inventorySlots.size(), false)) { + if(index <= 1) { + if(!this.mergeItemStack(stack, 2, this.inventorySlots.size(), false)) { return null; } } else { diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineAmmoPress.java b/src/main/java/com/hbm/inventory/container/ContainerMachineAmmoPress.java new file mode 100644 index 000000000..1dbe82ef2 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineAmmoPress.java @@ -0,0 +1,84 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotCraftingOutput; +import com.hbm.inventory.recipes.AmmoPressRecipes; +import com.hbm.inventory.recipes.AmmoPressRecipes.AmmoPressRecipe; +import com.hbm.tileentity.machine.TileEntityMachineAmmoPress; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerMachineAmmoPress extends Container { + + private TileEntityMachineAmmoPress press; + + public ContainerMachineAmmoPress(InventoryPlayer playerInv, TileEntityMachineAmmoPress tile) { + press = tile; + + //Inputs + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 3; j++) { + this.addSlotToContainer(new Slot(tile, i * 3 + j, 116 + j * 18, 18 + i * 18)); + } + } + //Output + this.addSlotToContainer(new SlotCraftingOutput(playerInv.player, tile, 9, 134, 72)); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(playerInv, j + i * 9 + 9, 8 + j * 18, 118 + i * 18)); + } + } + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(playerInv, i, 8 + i * 18, 176)); + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack rStack = null; + Slot slot = (Slot) this.inventorySlots.get(index); + + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + rStack = stack.copy(); + + if(index <= 9) { + if(!this.mergeItemStack(stack, 10, this.inventorySlots.size(), true)) { + return null; + } + } else { + + if(press.selectedRecipe < 0 || press.selectedRecipe >= AmmoPressRecipes.recipes.size()) return null; + AmmoPressRecipe recipe = AmmoPressRecipes.recipes.get(press.selectedRecipe); + + for(int i = 0; i < 9; i++) { + if(recipe.input[i] == null) continue; + if(recipe.input[i].matchesRecipe(stack, true)) { + if(!this.mergeItemStack(stack, i, i + 1, false)) { + return null; + } + } + } + + return null; + } + + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { + slot.onSlotChanged(); + } + } + + return rStack; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return press.isUseableByPlayer(player); + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineAssemblyMachine.java b/src/main/java/com/hbm/inventory/container/ContainerMachineAssemblyMachine.java new file mode 100644 index 000000000..f7bc0d499 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineAssemblyMachine.java @@ -0,0 +1,74 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotCraftingOutput; +import com.hbm.inventory.SlotNonRetarded; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemAssemblyTemplate; +import com.hbm.items.machine.ItemMachineUpgrade; +import com.hbm.util.InventoryUtil; + +import api.hbm.energymk2.IBatteryItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerMachineAssemblyMachine extends ContainerBase { + + public ContainerMachineAssemblyMachine(InventoryPlayer invPlayer, IInventory assembler) { + super(invPlayer, assembler); + + // Battery + this.addSlotToContainer(new SlotNonRetarded(assembler, 0, 152, 81)); + // Schematic + this.addSlotToContainer(new SlotNonRetarded(assembler, 1, 35, 126)); + // Upgrades + this.addSlots(assembler, 2, 152, 108, 2, 1); + // Input + this.addSlots(assembler, 4, 8, 18, 4, 3); + // Output + this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, assembler, 16, 98, 45)); + + this.playerInv(invPlayer, 8, 174); + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack slotOriginal = null; + Slot slot = (Slot) this.inventorySlots.get(index); + + if(slot != null && slot.getHasStack()) { + ItemStack slotStack = slot.getStack(); + slotOriginal = slotStack.copy(); + + if(index <= tile.getSizeInventory() - 1) { + SlotCraftingOutput.checkAchievements(player, slotStack); + if(!this.mergeItemStack(slotStack, tile.getSizeInventory(), this.inventorySlots.size(), true)) { + return null; + } + } else { + + if(slotOriginal.getItem() instanceof IBatteryItem || slotOriginal.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(slotStack, 0, 1, false)) return null; + } else if(slotOriginal.getItem() instanceof ItemAssemblyTemplate) { + if(!this.mergeItemStack(slotStack, 1, 2, false)) return null; + } else if(slotOriginal.getItem() instanceof ItemMachineUpgrade) { + if(!this.mergeItemStack(slotStack, 2, 4, false)) return null; + } else { + if(!InventoryUtil.mergeItemStack(this.inventorySlots, slotStack, 4, 7, false)) return null; + } + } + + if(slotStack.stackSize == 0) { + slot.putStack(null); + } else { + slot.onSlotChanged(); + } + + slot.onPickupFromSlot(player, slotStack); + } + + return slotOriginal; + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineChemicalFactory.java b/src/main/java/com/hbm/inventory/container/ContainerMachineChemicalFactory.java new file mode 100644 index 000000000..484dcfc21 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineChemicalFactory.java @@ -0,0 +1,77 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotCraftingOutput; +import com.hbm.inventory.SlotNonRetarded; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemMachineUpgrade; +import com.hbm.util.InventoryUtil; + +import api.hbm.energymk2.IBatteryItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerMachineChemicalFactory extends ContainerBase { + + public ContainerMachineChemicalFactory(InventoryPlayer invPlayer, IInventory chemicalPlant) { + super(invPlayer, chemicalPlant); + + // Battery + this.addSlotToContainer(new SlotNonRetarded(chemicalPlant, 0, 224, 88)); + // Upgrades + this.addSlots(chemicalPlant, 1, 206, 125, 3, 1); + + for(int i = 0; i < 4; i++) { + // Template + this.addSlots(chemicalPlant, 4 + i * 7, 93, 20 + i * 22, 1, 1, 16); + // Solid Input + this.addSlots(chemicalPlant, 5 + i * 7, 10, 20 + i * 22, 1, 3, 16); + // Solid Output + this.addOutputSlots(invPlayer.player, chemicalPlant, 8 + i * 7, 139, 20 + i * 22, 1, 3, 16); + } + + this.playerInv(invPlayer, 26, 134); + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack slotOriginal = null; + Slot slot = (Slot) this.inventorySlots.get(index); + + if(slot != null && slot.getHasStack()) { + ItemStack slotStack = slot.getStack(); + slotOriginal = slotStack.copy(); + + if(index <= tile.getSizeInventory() - 1) { + SlotCraftingOutput.checkAchievements(player, slotStack); + if(!this.mergeItemStack(slotStack, tile.getSizeInventory(), this.inventorySlots.size(), true)) { + return null; + } + } else { + + if(slotOriginal.getItem() instanceof IBatteryItem || slotOriginal.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(slotStack, 0, 1, false)) return null; + } else if(slotOriginal.getItem() instanceof ItemMachineUpgrade) { + if(!this.mergeItemStack(slotStack, 1, 4, false)) return null; + } else { + if(!InventoryUtil.mergeItemStack(this.inventorySlots, slotStack, 5, 8, false) && + !InventoryUtil.mergeItemStack(this.inventorySlots, slotStack, 12, 15, false) && + !InventoryUtil.mergeItemStack(this.inventorySlots, slotStack, 19, 22, false) && + !InventoryUtil.mergeItemStack(this.inventorySlots, slotStack, 26, 29, false)) return null; + } + } + + if(slotStack.stackSize == 0) { + slot.putStack(null); + } else { + slot.onSlotChanged(); + } + + slot.onPickupFromSlot(player, slotStack); + } + + return slotOriginal; + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineChemicalPlant.java b/src/main/java/com/hbm/inventory/container/ContainerMachineChemicalPlant.java new file mode 100644 index 000000000..2c4f4052a --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineChemicalPlant.java @@ -0,0 +1,80 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotCraftingOutput; +import com.hbm.inventory.SlotNonRetarded; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemChemistryTemplate; +import com.hbm.items.machine.ItemMachineUpgrade; +import com.hbm.util.InventoryUtil; + +import api.hbm.energymk2.IBatteryItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerMachineChemicalPlant extends ContainerBase { + + public ContainerMachineChemicalPlant(InventoryPlayer invPlayer, IInventory chemicalPlant) { + super(invPlayer, chemicalPlant); + + // Battery + this.addSlotToContainer(new SlotNonRetarded(chemicalPlant, 0, 152, 81)); + // Schematic + this.addSlotToContainer(new SlotNonRetarded(chemicalPlant, 1, 35, 126)); + // Upgrades + this.addSlots(chemicalPlant, 2, 152, 108, 2, 1); + // Solid Input + this.addSlots(chemicalPlant, 4, 8, 99, 1, 3); + // Solid Output + this.addOutputSlots(invPlayer.player, chemicalPlant, 7, 80, 99, 1, 3); + // Fluid Input + this.addSlots( chemicalPlant, 10, 8, 54, 1, 3); + this.addTakeOnlySlots( chemicalPlant, 13, 8, 72, 1, 3); + // Fluid Output + this.addSlots( chemicalPlant, 16, 80, 54, 1, 3); + this.addTakeOnlySlots( chemicalPlant, 19, 80, 72, 1, 3); + + this.playerInv(invPlayer, 8, 174); + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack slotOriginal = null; + Slot slot = (Slot) this.inventorySlots.get(index); + + if(slot != null && slot.getHasStack()) { + ItemStack slotStack = slot.getStack(); + slotOriginal = slotStack.copy(); + + if(index <= tile.getSizeInventory() - 1) { + SlotCraftingOutput.checkAchievements(player, slotStack); + if(!this.mergeItemStack(slotStack, tile.getSizeInventory(), this.inventorySlots.size(), true)) { + return null; + } + } else { + + if(slotOriginal.getItem() instanceof IBatteryItem || slotOriginal.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(slotStack, 0, 1, false)) return null; + } else if(slotOriginal.getItem() instanceof ItemChemistryTemplate) { + if(!this.mergeItemStack(slotStack, 1, 2, false)) return null; + } else if(slotOriginal.getItem() instanceof ItemMachineUpgrade) { + if(!this.mergeItemStack(slotStack, 2, 4, false)) return null; + } else { + if(!InventoryUtil.mergeItemStack(this.inventorySlots, slotStack, 4, 7, false)) return null; + } + } + + if(slotStack.stackSize == 0) { + slot.putStack(null); + } else { + slot.onSlotChanged(); + } + + slot.onPickupFromSlot(player, slotStack); + } + + return slotOriginal; + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineCustom.java b/src/main/java/com/hbm/inventory/container/ContainerMachineCustom.java index d85a2953f..2e988f28a 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineCustom.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineCustom.java @@ -94,13 +94,7 @@ public class ContainerMachineCustom extends Container { } else { - slot.putStack(held != null ? held.copy() : null); - - if(slot.getHasStack()) { - slot.getStack().stackSize = 1; - } - - slot.onSlotChanged(); + slot.putStack(held); custom.matcher.initPatternSmart(player.worldObj, slot.getStack(), index - 10); return ret; diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineRTG.java b/src/main/java/com/hbm/inventory/container/ContainerMachineRTG.java index 07e1f070e..d14121ce0 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineRTG.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineRTG.java @@ -13,60 +13,60 @@ public class ContainerMachineRTG extends Container { private TileEntityMachineRTG testNuke; private int heat; - + public ContainerMachineRTG(InventoryPlayer invPlayer, TileEntityMachineRTG tedf) { heat = 0; - + testNuke = tedf; - - this.addSlotToContainer(new Slot(tedf, 0, 26, 17)); - this.addSlotToContainer(new Slot(tedf, 1, 44, 17)); - this.addSlotToContainer(new Slot(tedf, 2, 62, 17)); - this.addSlotToContainer(new Slot(tedf, 3, 80, 17)); - this.addSlotToContainer(new Slot(tedf, 4, 98, 17)); - this.addSlotToContainer(new Slot(tedf, 5, 26, 35)); - this.addSlotToContainer(new Slot(tedf, 6, 44, 35)); - this.addSlotToContainer(new Slot(tedf, 7, 62, 35)); - this.addSlotToContainer(new Slot(tedf, 8, 80, 35)); - this.addSlotToContainer(new Slot(tedf, 9, 98, 35)); - this.addSlotToContainer(new Slot(tedf, 10, 26, 53)); - this.addSlotToContainer(new Slot(tedf, 11, 44, 53)); - this.addSlotToContainer(new Slot(tedf, 12, 62, 53)); - this.addSlotToContainer(new Slot(tedf, 13, 80, 53)); - this.addSlotToContainer(new Slot(tedf, 14, 98, 53)); - + + this.addSlotToContainer(new Slot(tedf, 0, 16, 18)); + this.addSlotToContainer(new Slot(tedf, 1, 34, 18)); + this.addSlotToContainer(new Slot(tedf, 2, 52, 18)); + this.addSlotToContainer(new Slot(tedf, 3, 70, 18)); + this.addSlotToContainer(new Slot(tedf, 4, 88, 18)); + this.addSlotToContainer(new Slot(tedf, 5, 16, 36)); + this.addSlotToContainer(new Slot(tedf, 6, 34, 36)); + this.addSlotToContainer(new Slot(tedf, 7, 52, 36)); + this.addSlotToContainer(new Slot(tedf, 8, 70, 36)); + this.addSlotToContainer(new Slot(tedf, 9, 88, 36)); + this.addSlotToContainer(new Slot(tedf, 10, 16, 54)); + this.addSlotToContainer(new Slot(tedf, 11, 34, 54)); + this.addSlotToContainer(new Slot(tedf, 12, 52, 54)); + this.addSlotToContainer(new Slot(tedf, 13, 70, 54)); + this.addSlotToContainer(new Slot(tedf, 14, 88, 54)); + for(int i = 0; i < 3; i++) { for(int j = 0; j < 9; j++) { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 106 + i * 18)); } } - + for(int i = 0; i < 9; i++) { - this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 164)); } } - + @Override public void addCraftingToCrafters(ICrafting crafting) { super.addCraftingToCrafters(crafting); crafting.sendProgressBarUpdate(this, 0, this.testNuke.heat); } - + @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) - { + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) + { ItemStack var3 = null; Slot var4 = (Slot) this.inventorySlots.get(par2); - + if (var4 != null && var4.getHasStack()) { ItemStack var5 = var4.getStack(); var3 = var5.copy(); - - if (par2 <= 14) { + + if (par2 <= 14) { if (!this.mergeItemStack(var5, 15, this.inventorySlots.size(), true)) { return null; @@ -74,9 +74,9 @@ public class ContainerMachineRTG extends Container { } else if (!this.mergeItemStack(var5, 0, 15, false)) { - return null; + return null; } - + if (var5.stackSize == 0) { var4.putStack((ItemStack) null); @@ -86,19 +86,19 @@ public class ContainerMachineRTG extends Container { var4.onSlotChanged(); } } - + return var3; - } + } @Override public boolean canInteractWith(EntityPlayer player) { return testNuke.isUseableByPlayer(player); } - + @Override public void detectAndSendChanges() { super.detectAndSendChanges(); - + for(int i = 0; i < this.crafters.size(); i++) { ICrafting par1 = (ICrafting)this.crafters.get(i); @@ -111,7 +111,7 @@ public class ContainerMachineRTG extends Container { this.heat = this.testNuke.heat; } - + @Override public void updateProgressBar(int i, int j) { if(i == 0) diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineReactorBreeding.java b/src/main/java/com/hbm/inventory/container/ContainerMachineReactorBreeding.java index cab45d330..331b69d1d 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineReactorBreeding.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineReactorBreeding.java @@ -43,8 +43,8 @@ public class ContainerMachineReactorBreeding extends Container { ItemStack stack = slot.getStack(); var3 = stack.copy(); - if(index <= 2) { - if(!this.mergeItemStack(stack, 2, this.inventorySlots.size(), true)) { + if(index <= 1) { + if(!this.mergeItemStack(stack, 1, this.inventorySlots.size(), true)) { return null; } diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineRotaryFurnace.java b/src/main/java/com/hbm/inventory/container/ContainerMachineRotaryFurnace.java new file mode 100644 index 000000000..219f1f0e6 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineRotaryFurnace.java @@ -0,0 +1,75 @@ +package com.hbm.inventory.container; + +import com.hbm.items.machine.IItemFluidIdentifier; +import com.hbm.tileentity.machine.TileEntityMachineRotaryFurnace; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntityFurnace; + +public class ContainerMachineRotaryFurnace extends Container { + + private TileEntityMachineRotaryFurnace furnace; + + public ContainerMachineRotaryFurnace(InventoryPlayer invPlayer, TileEntityMachineRotaryFurnace tile) { + furnace = tile; + + //Inputs + this.addSlotToContainer(new Slot(tile, 0, 8, 18)); + this.addSlotToContainer(new Slot(tile, 1, 26, 18)); + this.addSlotToContainer(new Slot(tile, 2, 44, 18)); + //Fluid ID + this.addSlotToContainer(new Slot(tile, 3, 8, 54)); + //Solid fuel + this.addSlotToContainer(new Slot(tile, 4, 44, 54)); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 104 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 162)); + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack rStack = null; + Slot slot = (Slot) this.inventorySlots.get(index); + + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + rStack = stack.copy(); + + if(index <= 4) { + if(!this.mergeItemStack(stack, 5, this.inventorySlots.size(), true)) return null; + } else { + if(TileEntityFurnace.isItemFuel(rStack)) { + if(!this.mergeItemStack(stack, 4, 5, false)) return null; + } else if(rStack.getItem() instanceof IItemFluidIdentifier) { + if(!this.mergeItemStack(stack, 3, 4, false)) return null; + } else { + if(!this.mergeItemStack(stack, 0, 3, false)) return null; + } + } + + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { + slot.onSlotChanged(); + } + } + + return rStack; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return furnace.isUseableByPlayer(player); + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineShredder.java b/src/main/java/com/hbm/inventory/container/ContainerMachineShredder.java index c10e47ae7..983129533 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineShredder.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineShredder.java @@ -55,12 +55,12 @@ public class ContainerMachineShredder extends Container { for(int i = 0; i < 3; i++) { for(int j = 0; j < 9; j++) { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 56)); + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 67)); } } for(int i = 0; i < 9; i++) { - this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56)); + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 67)); } } diff --git a/src/main/java/com/hbm/inventory/container/ContainerMassStorage.java b/src/main/java/com/hbm/inventory/container/ContainerMassStorage.java index 899cbc3f2..fae68ad3a 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMassStorage.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMassStorage.java @@ -27,32 +27,40 @@ public class ContainerMassStorage extends ContainerBase { } @Override - public ItemStack transferStackInSlot(EntityPlayer player, int par2) { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack result = null; + Slot slot = (Slot) this.inventorySlots.get(index); - if(var4 != null && var4.getHasStack()) { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - - if(par2 == 0 || par2 == 2) { - if(!this.mergeItemStack(var5, storage.getSizeInventory(), this.inventorySlots.size(), true)) { - return null; - } - } else if(!this.mergeItemStack(var5, 0, 1, false)) { - return null; - } - - if(var5.stackSize == 0) { - var4.putStack((ItemStack) null); - } else { - var4.onSlotChanged(); - } - - var4.onPickupFromSlot(player, var5); + // Refill instantly if needed, then do regular slot behavior + if(index == 2 && slot != null && !slot.getHasStack()) { + slot.putStack(storage.quickExtract()); } - return var3; + if(slot != null && slot.getHasStack()) { + ItemStack initial = slot.getStack(); + result = initial.copy(); + + if(index == 0 || index == 2) { + if(!this.mergeItemStack(initial, storage.getSizeInventory(), this.inventorySlots.size(), true)) { + return null; + } + } else { + // Try to insert instantly, then fall back to regular slot behavior + if(!storage.quickInsert(initial) && !this.mergeItemStack(initial, 0, 1, false)) { + return null; + } + } + + if(initial.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { + slot.onSlotChanged(); + } + + slot.onPickupFromSlot(player, initial); + } + + return result; } @Override @@ -79,13 +87,7 @@ public class ContainerMassStorage extends ContainerBase { if(storage.getStockpile() > 0) return ret; - slot.putStack(held != null ? held.copy() : null); - - if(slot.getHasStack()) { - slot.getStack().stackSize = 1; - } - - slot.onSlotChanged(); + slot.putStack(held); return ret; } diff --git a/src/main/java/com/hbm/inventory/container/ContainerNT.java b/src/main/java/com/hbm/inventory/container/ContainerNT.java new file mode 100644 index 000000000..7833f5e0f --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerNT.java @@ -0,0 +1,338 @@ +package com.hbm.inventory.container; + +import java.util.Iterator; + +import com.hbm.util.InventoryUtil; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public abstract class ContainerNT extends Container { + + /** + * Fix: mergeItemStack does not respect inventory or slot stack limitations. + * We simply intercept the method and call InventoryUtil.mergeItemStack which + * runs the same logic but respecting stack limits. + */ + @Override + protected boolean mergeItemStack(ItemStack stack, int start, int end, boolean reverse) { + return InventoryUtil.mergeItemStack(inventorySlots, stack, start, end, reverse); + } + + /** + * Fix: the default behavior of transferStackInSlot simply crashes the game. + * We intercept this part and return null, which means that by default, the + * shift click function does nothing. + */ + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + return null; + } + + // fuck you mojang + @Override + public ItemStack slotClick(int index, int button, int mode, EntityPlayer player) { + + /* + * INDEX + * -999: Mouse outside GUI + * MODE + * 2: Hotbar keys + * 3: Duplicate item + * 4: Drop item + * 5: Drag + */ + + ItemStack returnStack = null; + InventoryPlayer invPlayer = player.inventory; + Slot slot = index >= 0 && index < this.inventorySlots.size() ? (Slot) this.inventorySlots.get(index) : null; + + int i1; + ItemStack itemstack3; + + /// DRAG /// + if(mode == 5) { + int l = this.field_94536_g; + this.field_94536_g = func_94532_c(button); + + if((l != 1 || this.field_94536_g != 2) && l != this.field_94536_g) { + this.func_94533_d(); + } else if(invPlayer.getItemStack() == null) { + this.func_94533_d(); + } else if(this.field_94536_g == 0) { + this.field_94535_f = func_94529_b(button); + + if(func_94528_d(this.field_94535_f)) { + this.field_94536_g = 1; + this.field_94537_h.clear(); + } else { + this.func_94533_d(); + } + } else if(this.field_94536_g == 1) { + + if(slot != null && func_94527_a(slot, invPlayer.getItemStack(), true) && slot.isItemValid(invPlayer.getItemStack()) + && invPlayer.getItemStack().stackSize > this.field_94537_h.size() && this.canDragIntoSlot(slot)) { + this.field_94537_h.add(slot); + } + } else if(this.field_94536_g == 2) { + if(!this.field_94537_h.isEmpty()) { + itemstack3 = invPlayer.getItemStack().copy(); + i1 = invPlayer.getItemStack().stackSize; + Iterator iterator = this.field_94537_h.iterator(); + + while(iterator.hasNext()) { + Slot slot1 = (Slot) iterator.next(); + + if(slot1 != null && func_94527_a(slot1, invPlayer.getItemStack(), true) && slot1.isItemValid(invPlayer.getItemStack()) + && invPlayer.getItemStack().stackSize >= this.field_94537_h.size() && this.canDragIntoSlot(slot1)) { + ItemStack stackCopy = itemstack3.copy(); + int j1 = slot1.getHasStack() ? slot1.getStack().stackSize : 0; + func_94525_a(this.field_94537_h, this.field_94535_f, stackCopy, j1); + + if(stackCopy.stackSize > stackCopy.getMaxStackSize()) { + stackCopy.stackSize = stackCopy.getMaxStackSize(); + } + + if(stackCopy.stackSize > slot1.getSlotStackLimit()) { + stackCopy.stackSize = slot1.getSlotStackLimit(); + } + + i1 -= stackCopy.stackSize - j1; + slot1.putStack(stackCopy); + } + } + + itemstack3.stackSize = i1; + + if(itemstack3.stackSize <= 0) { + itemstack3 = null; + } + + invPlayer.setItemStack(itemstack3); + } + + this.func_94533_d(); + } else { + this.func_94533_d(); + } + /// NOBODY KNOWS /// + } else if(this.field_94536_g != 0) { + this.func_94533_d(); + + /// NON-DRAG /// + } else { + + int l1; + ItemStack itemstack5; + + /// LMB/RMB /// + if((mode == 0 || mode == 1) && (button == 0 || button == 1)) { + if(index == -999) { + if(invPlayer.getItemStack() != null && index == -999) { + if(button == 0) { + player.dropPlayerItemWithRandomChoice(invPlayer.getItemStack(), true); + invPlayer.setItemStack((ItemStack) null); + } + + if(button == 1) { + player.dropPlayerItemWithRandomChoice(invPlayer.getItemStack().splitStack(1), true); + + if(invPlayer.getItemStack().stackSize == 0) { + invPlayer.setItemStack((ItemStack) null); + } + } + } + } else if(mode == 1) { + if(index < 0) { + return null; + } + + slot = (Slot) this.inventorySlots.get(index); + + if(slot != null && slot.canTakeStack(player)) { + itemstack3 = this.transferStackInSlot(player, index); + + if(itemstack3 != null) { + Item item = itemstack3.getItem(); + returnStack = itemstack3.copy(); + + if(slot.getStack() != null && slot.getStack().getItem() == item) { + this.retrySlotClick(index, button, true, player); + } + } + } + } else { + if(index < 0) { + return null; + } + + slot = (Slot) this.inventorySlots.get(index); + + if(slot != null) { + itemstack3 = slot.getStack(); + ItemStack draggedStack = invPlayer.getItemStack(); + + if(itemstack3 != null) { + returnStack = itemstack3.copy(); + } + + if(itemstack3 == null) { + if(draggedStack != null && slot.isItemValid(draggedStack)) { + l1 = button == 0 ? draggedStack.stackSize : 1; + + if(l1 > slot.getSlotStackLimit()) { + l1 = slot.getSlotStackLimit(); + } + + if(draggedStack.stackSize >= l1) { + slot.putStack(draggedStack.splitStack(l1)); + } + + if(draggedStack.stackSize == 0) { + invPlayer.setItemStack((ItemStack) null); + } + } + } else if(slot.canTakeStack(player)) { + if(draggedStack == null) { + l1 = button == 0 ? itemstack3.stackSize : (itemstack3.stackSize + 1) / 2; + itemstack5 = slot.decrStackSize(l1); + invPlayer.setItemStack(itemstack5); + + if(itemstack3.stackSize == 0) { + slot.putStack((ItemStack) null); + } + + slot.onPickupFromSlot(player, invPlayer.getItemStack()); + } else if(slot.isItemValid(draggedStack)) { + if(itemstack3.getItem() == draggedStack.getItem() && itemstack3.getItemDamage() == draggedStack.getItemDamage() + && ItemStack.areItemStackTagsEqual(itemstack3, draggedStack)) { + l1 = button == 0 ? draggedStack.stackSize : 1; + + if(l1 > slot.getSlotStackLimit() - itemstack3.stackSize) { + l1 = slot.getSlotStackLimit() - itemstack3.stackSize; + } + + if(l1 > draggedStack.getMaxStackSize() - itemstack3.stackSize) { + l1 = draggedStack.getMaxStackSize() - itemstack3.stackSize; + } + + draggedStack.splitStack(l1); + + if(draggedStack.stackSize == 0) { + invPlayer.setItemStack((ItemStack) null); + } + + itemstack3.stackSize += l1; + } else if(draggedStack.stackSize <= slot.getSlotStackLimit()) { + slot.putStack(draggedStack); + invPlayer.setItemStack(itemstack3); + } + } else if(itemstack3.getItem() == draggedStack.getItem() && draggedStack.getMaxStackSize() > 1 + && (!itemstack3.getHasSubtypes() || itemstack3.getItemDamage() == draggedStack.getItemDamage()) && ItemStack.areItemStackTagsEqual(itemstack3, draggedStack)) { + l1 = itemstack3.stackSize; + + if(l1 > 0 && l1 + draggedStack.stackSize <= draggedStack.getMaxStackSize()) { + draggedStack.stackSize += l1; + itemstack3 = slot.decrStackSize(l1); + + if(itemstack3.stackSize == 0) { + slot.putStack((ItemStack) null); + } + + slot.onPickupFromSlot(player, invPlayer.getItemStack()); + } + } + } + + slot.onSlotChanged(); + } + } + } else if(mode == 2 && button >= 0 && button < 9) { + slot = (Slot) this.inventorySlots.get(index); + + if(slot.canTakeStack(player)) { + itemstack3 = invPlayer.getStackInSlot(button); + boolean flag = itemstack3 == null || slot.inventory == invPlayer && slot.isItemValid(itemstack3); + l1 = -1; + + if(!flag) { + l1 = invPlayer.getFirstEmptyStack(); + flag |= l1 > -1; + } + + if(slot.getHasStack() && flag) { + itemstack5 = slot.getStack(); + invPlayer.setInventorySlotContents(button, itemstack5.copy()); + + if((slot.inventory != invPlayer || !slot.isItemValid(itemstack3)) && itemstack3 != null) { + if(l1 > -1) { + invPlayer.addItemStackToInventory(itemstack3); + slot.decrStackSize(itemstack5.stackSize); + slot.putStack((ItemStack) null); + slot.onPickupFromSlot(player, itemstack5); + } + } else { + slot.decrStackSize(itemstack5.stackSize); + slot.putStack(itemstack3); + slot.onPickupFromSlot(player, itemstack5); + } + } else if(!slot.getHasStack() && itemstack3 != null && slot.isItemValid(itemstack3)) { + invPlayer.setInventorySlotContents(button, (ItemStack) null); + slot.putStack(itemstack3); + } + } + } else if(mode == 3 && player.capabilities.isCreativeMode && invPlayer.getItemStack() == null && index >= 0) { + slot = (Slot) this.inventorySlots.get(index); + + if(slot != null && slot.getHasStack()) { + itemstack3 = slot.getStack().copy(); + itemstack3.stackSize = itemstack3.getMaxStackSize(); + invPlayer.setItemStack(itemstack3); + } + } else if(mode == 4 && invPlayer.getItemStack() == null && index >= 0) { + slot = (Slot) this.inventorySlots.get(index); + + if(slot != null && slot.getHasStack() && slot.canTakeStack(player)) { + itemstack3 = slot.decrStackSize(button == 0 ? 1 : slot.getStack().stackSize); + slot.onPickupFromSlot(player, itemstack3); + player.dropPlayerItemWithRandomChoice(itemstack3, true); + } + } else if(mode == 6 && index >= 0) { + slot = (Slot) this.inventorySlots.get(index); + itemstack3 = invPlayer.getItemStack(); + + if(itemstack3 != null && (slot == null || !slot.getHasStack() || !slot.canTakeStack(player))) { + i1 = button == 0 ? 0 : this.inventorySlots.size() - 1; + l1 = button == 0 ? 1 : -1; + + for(int i2 = 0; i2 < 2; ++i2) { + for(int j2 = i1; j2 >= 0 && j2 < this.inventorySlots.size() && itemstack3.stackSize < itemstack3.getMaxStackSize(); j2 += l1) { + Slot slot3 = (Slot) this.inventorySlots.get(j2); + + if(slot3.getHasStack() && func_94527_a(slot3, itemstack3, true) && slot3.canTakeStack(player) && this.func_94530_a(itemstack3, slot3) + && (i2 != 0 || slot3.getStack().stackSize != slot3.getStack().getMaxStackSize())) { + int k1 = Math.min(itemstack3.getMaxStackSize() - itemstack3.stackSize, slot3.getStack().stackSize); + ItemStack itemstack2 = slot3.decrStackSize(k1); + itemstack3.stackSize += k1; + + if(itemstack2.stackSize <= 0) { + slot3.putStack((ItemStack) null); + } + + slot3.onPickupFromSlot(player, itemstack2); + } + } + } + } + + this.detectAndSendChanges(); + } + } + + return returnStack; + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerNukeFurnace.java b/src/main/java/com/hbm/inventory/container/ContainerNukeFurnace.java deleted file mode 100644 index 6457ee347..000000000 --- a/src/main/java/com/hbm/inventory/container/ContainerNukeFurnace.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.hbm.inventory.container; - -import com.hbm.inventory.SlotCraftingOutput; -import com.hbm.tileentity.machine.TileEntityNukeFurnace; -import com.hbm.util.InventoryUtil; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class ContainerNukeFurnace extends Container { - - private TileEntityNukeFurnace diFurnace; - private int dualCookTime; - private int dualPower; - - public ContainerNukeFurnace(InventoryPlayer invPlayer, TileEntityNukeFurnace tedf) { - dualCookTime = 0; - dualPower = 0; - - diFurnace = tedf; - - this.addSlotToContainer(new Slot(tedf, 0, 56, 53) { - @Override - public int getSlotStackLimit() { - return 1; - } - }); - - this.addSlotToContainer(new Slot(tedf, 1, 56, 17)); - this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 2, 116, 35)); - - for(int i = 0; i < 3; i++) { - for(int j = 0; j < 9; j++) { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); - } - } - - for(int i = 0; i < 9; i++) { - this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); - } - } - - @Override - public void addCraftingToCrafters(ICrafting crafting) { - super.addCraftingToCrafters(crafting); - crafting.sendProgressBarUpdate(this, 0, this.diFurnace.dualCookTime); - crafting.sendProgressBarUpdate(this, 1, this.diFurnace.dualPower); - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); - - if(var4 != null && var4.getHasStack()) { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - - if(par2 <= 2) { - if(!this.mergeItemStack(var5, 3, this.inventorySlots.size(), true)) { - return null; - } - } else { - - if(TileEntityNukeFurnace.getFuelValue(var5) > 0) { - if(!InventoryUtil.mergeItemStack(this.inventorySlots, var5, 0, 1, false)) - return null; - } else { - if(!this.mergeItemStack(var5, 1, 2, false)) - return null; - } - } - - if(var5.stackSize == 0) { - var4.putStack((ItemStack) null); - } else { - var4.onSlotChanged(); - } - } - - return var3; - } - - @Override - public boolean canInteractWith(EntityPlayer player) { - return diFurnace.isUseableByPlayer(player); - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - - for(int i = 0; i < this.crafters.size(); i++) { - ICrafting par1 = (ICrafting) this.crafters.get(i); - - if(this.dualCookTime != this.diFurnace.dualCookTime) { - par1.sendProgressBarUpdate(this, 0, this.diFurnace.dualCookTime); - } - - if(this.dualPower != this.diFurnace.dualPower) { - par1.sendProgressBarUpdate(this, 1, this.diFurnace.dualPower); - } - } - - this.dualCookTime = this.diFurnace.dualCookTime; - this.dualPower = this.diFurnace.dualPower; - } - - @Override - public void updateProgressBar(int i, int j) { - if(i == 0) { - diFurnace.dualCookTime = j; - } - if(i == 1) { - diFurnace.dualPower = j; - } - } -} diff --git a/src/main/java/com/hbm/inventory/container/ContainerPADetector.java b/src/main/java/com/hbm/inventory/container/ContainerPADetector.java new file mode 100644 index 000000000..08e8f9e81 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerPADetector.java @@ -0,0 +1,77 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotTakeOnly; +import com.hbm.items.ModItems; +import com.hbm.tileentity.machine.albion.TileEntityPADetector; + +import api.hbm.energymk2.IBatteryItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerPADetector extends Container { + + private TileEntityPADetector detector; + + public ContainerPADetector(InventoryPlayer playerInv, TileEntityPADetector tile) { + detector = tile; + + //Battery + this.addSlotToContainer(new Slot(tile, 0, 8, 72)); + //Containers + this.addSlotToContainer(new Slot(tile, 1, 62, 18)); + this.addSlotToContainer(new Slot(tile, 2, 80, 18)); + //Outputs + this.addSlotToContainer(new SlotTakeOnly(tile, 3, 62, 45)); + this.addSlotToContainer(new SlotTakeOnly(tile, 4, 80, 45)); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(playerInv, j + i * 9 + 9, 8 + j * 18, 122 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(playerInv, i, 8 + i * 18, 180)); + } + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return detector.isUseableByPlayer(player); + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack rStack = null; + Slot slot = (Slot) this.inventorySlots.get(index); + + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + rStack = stack.copy(); + + if(index <= 5) { + if(!this.mergeItemStack(stack, 6, this.inventorySlots.size(), true)) { + return null; + } + } else { + + if(rStack.getItem() instanceof IBatteryItem || rStack.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(stack, 0, 1, false)) return null; + } else { + if(!this.mergeItemStack(stack, 1, 3, false)) return null; + } + } + + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { + slot.onSlotChanged(); + } + } + + return rStack; + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerPADipole.java b/src/main/java/com/hbm/inventory/container/ContainerPADipole.java new file mode 100644 index 000000000..aedd8dc47 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerPADipole.java @@ -0,0 +1,72 @@ +package com.hbm.inventory.container; + +import com.hbm.items.ModItems; +import com.hbm.tileentity.machine.albion.TileEntityPADipole; + +import api.hbm.energymk2.IBatteryItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerPADipole extends Container { + + private TileEntityPADipole quadrupole; + + public ContainerPADipole(InventoryPlayer playerInv, TileEntityPADipole tile) { + quadrupole = tile; + + //Battery + this.addSlotToContainer(new Slot(tile, 0, 8, 72)); + //Coil + this.addSlotToContainer(new Slot(tile, 1, 89, 26)); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(playerInv, j + i * 9 + 9, 8 + j * 18, 122 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(playerInv, i, 8 + i * 18, 180)); + } + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return quadrupole.isUseableByPlayer(player); + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack rStack = null; + Slot slot = (Slot) this.inventorySlots.get(index); + + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + rStack = stack.copy(); + + if(index <= 1) { + if(!this.mergeItemStack(stack, 2, this.inventorySlots.size(), true)) { + return null; + } + } else { + + if(rStack.getItem() instanceof IBatteryItem || rStack.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(stack, 0, 1, false)) return null; + } else { + if(!this.mergeItemStack(stack, 1, 2, false)) return null; + } + } + + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { + slot.onSlotChanged(); + } + } + + return rStack; + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerPAQuadrupole.java b/src/main/java/com/hbm/inventory/container/ContainerPAQuadrupole.java new file mode 100644 index 000000000..eefd839db --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerPAQuadrupole.java @@ -0,0 +1,72 @@ +package com.hbm.inventory.container; + +import com.hbm.items.ModItems; +import com.hbm.tileentity.machine.albion.TileEntityPAQuadrupole; + +import api.hbm.energymk2.IBatteryItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerPAQuadrupole extends Container { + + private TileEntityPAQuadrupole quadrupole; + + public ContainerPAQuadrupole(InventoryPlayer playerInv, TileEntityPAQuadrupole tile) { + quadrupole = tile; + + //Battery + this.addSlotToContainer(new Slot(tile, 0, 26, 72)); + //Coil + this.addSlotToContainer(new Slot(tile, 1, 71, 36)); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(playerInv, j + i * 9 + 9, 8 + j * 18, 122 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(playerInv, i, 8 + i * 18, 180)); + } + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return quadrupole.isUseableByPlayer(player); + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack rStack = null; + Slot slot = (Slot) this.inventorySlots.get(index); + + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + rStack = stack.copy(); + + if(index <= 1) { + if(!this.mergeItemStack(stack, 2, this.inventorySlots.size(), true)) { + return null; + } + } else { + + if(rStack.getItem() instanceof IBatteryItem || rStack.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(stack, 0, 1, false)) return null; + } else { + if(!this.mergeItemStack(stack, 1, 2, false)) return null; + } + } + + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { + slot.onSlotChanged(); + } + } + + return rStack; + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerPARFC.java b/src/main/java/com/hbm/inventory/container/ContainerPARFC.java new file mode 100644 index 000000000..ebbc2ac1e --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerPARFC.java @@ -0,0 +1,63 @@ +package com.hbm.inventory.container; + +import com.hbm.tileentity.machine.albion.TileEntityPARFC; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerPARFC extends Container { + + private TileEntityPARFC rfc; + + public ContainerPARFC(InventoryPlayer playerInv, TileEntityPARFC tile) { + rfc = tile; + + //Battery + this.addSlotToContainer(new Slot(tile, 0, 53, 72)); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(playerInv, j + i * 9 + 9, 8 + j * 18, 122 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(playerInv, i, 8 + i * 18, 180)); + } + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return rfc.isUseableByPlayer(player); + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack rStack = null; + Slot slot = (Slot) this.inventorySlots.get(index); + + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + rStack = stack.copy(); + + if(index <= 0) { + if(!this.mergeItemStack(stack, 1, this.inventorySlots.size(), true)) { + return null; + } + } else { + if(!this.mergeItemStack(stack, 0, 1, false)) return null; + } + + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { + slot.onSlotChanged(); + } + } + + return rStack; + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerPASource.java b/src/main/java/com/hbm/inventory/container/ContainerPASource.java new file mode 100644 index 000000000..f9d41eb6b --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerPASource.java @@ -0,0 +1,78 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotTakeOnly; +import com.hbm.items.ModItems; +import com.hbm.tileentity.machine.albion.TileEntityPASource; +import com.hbm.util.InventoryUtil; + +import api.hbm.energymk2.IBatteryItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerPASource extends Container { + + private TileEntityPASource source; + + public ContainerPASource(InventoryPlayer playerInv, TileEntityPASource tile) { + source = tile; + + //Battery + this.addSlotToContainer(new Slot(tile, 0, 8, 72)); + //Inputs + this.addSlotToContainer(new Slot(tile, 1, 62, 18)); + this.addSlotToContainer(new Slot(tile, 2, 80, 18)); + //Containers + this.addSlotToContainer(new SlotTakeOnly(tile, 3, 62, 45)); + this.addSlotToContainer(new SlotTakeOnly(tile, 4, 80, 45)); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(playerInv, j + i * 9 + 9, 8 + j * 18, 122 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(playerInv, i, 8 + i * 18, 180)); + } + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return source.isUseableByPlayer(player); + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack rStack = null; + Slot slot = (Slot) this.inventorySlots.get(index); + + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + rStack = stack.copy(); + + if(index <= 5) { + if(!this.mergeItemStack(stack, 6, this.inventorySlots.size(), true)) { + return null; + } + } else { + + if(rStack.getItem() instanceof IBatteryItem || rStack.getItem() == ModItems.battery_creative) { + if(!InventoryUtil.mergeItemStack(this.inventorySlots, stack, 0, 1, false)) return null; + } else { + if(!InventoryUtil.mergeItemStack(this.inventorySlots, stack, 1, 3, false)) return null; + } + } + + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { + slot.onSlotChanged(); + } + } + + return rStack; + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerPneumoTube.java b/src/main/java/com/hbm/inventory/container/ContainerPneumoTube.java new file mode 100644 index 000000000..91eaab7f3 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerPneumoTube.java @@ -0,0 +1,52 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotPattern; +import com.hbm.tileentity.network.TileEntityPneumoTube; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerPneumoTube extends ContainerBase { + + private TileEntityPneumoTube tube; + + public ContainerPneumoTube(InventoryPlayer invPlayer, TileEntityPneumoTube tube) { + super(invPlayer, tube); + this.tube = tube; + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 5; j++) { + this.addSlotToContainer(new SlotPattern(tube, i * 5 + j, 35 + j * 18, 17 + i * 18)); + } + } + + playerInv(invPlayer, 8, 103, 161); + } + + @Override + public ItemStack slotClick(int index, int button, int mode, EntityPlayer player) { + if(index < 0 || index >= 15) return super.slotClick(index, button, mode, player); + + Slot slot = this.getSlot(index); + ItemStack ret = null; + ItemStack held = player.inventory.getItemStack(); + + if(slot.getHasStack()) ret = slot.getStack().copy(); + + if(button == 1 && mode == 0 && slot.getHasStack()) { + tube.nextMode(index); + return ret; + } else { + slot.putStack(held); + tube.initPattern(slot.getStack(), index); + return ret; + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + return null; + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerPyroOven.java b/src/main/java/com/hbm/inventory/container/ContainerPyroOven.java new file mode 100644 index 000000000..554569c1a --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerPyroOven.java @@ -0,0 +1,86 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotCraftingOutput; +import com.hbm.items.ModItems; +import com.hbm.items.machine.IItemFluidIdentifier; +import com.hbm.items.machine.ItemMachineUpgrade; +import com.hbm.tileentity.machine.oil.TileEntityMachinePyroOven; + +import api.hbm.energymk2.IBatteryItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerPyroOven extends Container { + + private TileEntityMachinePyroOven pyro; + + public ContainerPyroOven(InventoryPlayer invPlayer, TileEntityMachinePyroOven tedf) { + pyro = tedf; + + //Battery + this.addSlotToContainer(new Slot(tedf, 0, 152, 72)); + //Input + this.addSlotToContainer(new Slot(tedf, 1, 35, 45)); + //Output + this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 2, 89, 45)); + //Fluid ID + this.addSlotToContainer(new Slot(tedf, 3, 8, 72)); + //Upgrades + this.addSlotToContainer(new Slot(tedf, 4, 71, 72)); + this.addSlotToContainer(new Slot(tedf, 5, 89, 72)); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 122 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 180)); + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack rStack = null; + Slot slot = (Slot) this.inventorySlots.get(index); + + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + rStack = stack.copy(); + + if(index <= 5) { + if(!this.mergeItemStack(stack, 6, this.inventorySlots.size(), true)) { + return null; + } + } else { + + if(rStack.getItem() instanceof IBatteryItem || rStack.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(stack, 0, 1, false)) return null; + } else if(rStack.getItem() instanceof IItemFluidIdentifier) { + if(!this.mergeItemStack(stack, 3, 4, false)) return null; + } else if(rStack.getItem() instanceof ItemMachineUpgrade) { + if(!this.mergeItemStack(stack, 4, 6, false)) return null; + } else { + if(!this.mergeItemStack(stack, 1, 2, false)) return null; + } + } + + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { + slot.onSlotChanged(); + } + } + + return rStack; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return pyro.isUseableByPlayer(player); + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerSafe.java b/src/main/java/com/hbm/inventory/container/ContainerSafe.java index 03e334392..30fc1740c 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerSafe.java +++ b/src/main/java/com/hbm/inventory/container/ContainerSafe.java @@ -1,19 +1,18 @@ package com.hbm.inventory.container; -import com.hbm.tileentity.machine.storage.TileEntitySafe; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; +import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; //@invtweaks.api.container.ChestContainer(rowSize = 5) public class ContainerSafe extends Container { - private TileEntitySafe diFurnace; + private IInventory diFurnace; - public ContainerSafe(InventoryPlayer invPlayer, TileEntitySafe tedf) { + public ContainerSafe(InventoryPlayer invPlayer, IInventory tedf) { diFurnace = tedf; for(int i = 0; i < 3; i++) { diff --git a/src/main/java/com/hbm/inventory/container/ContainerToolBox.java b/src/main/java/com/hbm/inventory/container/ContainerToolBox.java new file mode 100644 index 000000000..512e75283 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerToolBox.java @@ -0,0 +1,85 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotNonRetarded; +import com.hbm.util.InventoryUtil; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +import static com.hbm.items.tool.ItemToolBox.*; + +public class ContainerToolBox extends Container { + + private final InventoryToolBox box; + + public ContainerToolBox(InventoryPlayer invPlayer, InventoryToolBox box) { + this.box = box; + this.box.openInventory(); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 8; j++) { + this.addSlotToContainer(new SlotNonRetarded(box, j + i * 8, 17 + j * 18, 49 + i * 18)); + } + } + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 129 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 187)); + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { + ItemStack var3 = null; + Slot var4 = (Slot) this.inventorySlots.get(par2); + + if(var4 != null && var4.getHasStack()) { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if(par2 <= box.getSizeInventory() - 1) { + if(!InventoryUtil.mergeItemStack(this.inventorySlots, var5, box.getSizeInventory(), this.inventorySlots.size(), true)) { + return null; + } + } else if(!InventoryUtil.mergeItemStack(this.inventorySlots, var5, 0, box.getSizeInventory(), false)) { + return null; + } + + if(var5.stackSize == 0) { + var4.putStack(null); + } else { + var4.onSlotChanged(); + } + + var4.onPickupFromSlot(p_82846_1_, var5); + } + + return var3; + } + + @Override + public ItemStack slotClick(int index, int button, int mode, EntityPlayer player) { + // prevents the player from moving around the currently open box + if(mode == 2 && button == player.inventory.currentItem) return null; + if(index == player.inventory.currentItem + 51) return null; + return super.slotClick(index, button, mode, player); + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return box.isUseableByPlayer(player); + } + + @Override + public void onContainerClosed(EntityPlayer player) { + super.onContainerClosed(player); + this.box.closeInventory(); + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerWeaponTable.java b/src/main/java/com/hbm/inventory/container/ContainerWeaponTable.java new file mode 100644 index 000000000..7832b11dc --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerWeaponTable.java @@ -0,0 +1,224 @@ +package com.hbm.inventory.container; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.util.InventoryUtil; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.InventoryBasic; +import net.minecraft.inventory.InventoryCraftResult; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerWeaponTable extends Container { + + public InventoryBasic mods = new InventoryBasic("Mods", false, 7); + public IInventory gun = new InventoryCraftResult(); + public int index = 0; + + public ContainerWeaponTable(InventoryPlayer inventory) { + + for(int i = 0; i < 7; i++) this.addSlotToContainer(new ModSlot(mods, i, 44 + 18 * i, 108)); + + this.addSlotToContainer(new Slot(gun, 0, 8, 108) { + + @Override + public boolean isItemValid(ItemStack stack) { + return gun.getStackInSlot(0) == null && stack.getItem() instanceof ItemGunBaseNT; + } + + @Override + public void putStack(ItemStack stack) { + + ContainerWeaponTable.this.index = 0; + + if(stack != null) { + ItemStack[] mods = WeaponModManager.getUpgradeItems(stack, index); + + if(mods != null) for(int i = 0; i < Math.min(mods.length, 7); i++) { + ContainerWeaponTable.this.mods.setInventorySlotContents(i, mods[i]); + } + } + + super.putStack(stack); + } + + @Override + public void onPickupFromSlot(EntityPlayer player, ItemStack stack) { + super.onPickupFromSlot(player, stack); + + WeaponModManager.install( + stack, index, + mods.getStackInSlot(0), + mods.getStackInSlot(1), + mods.getStackInSlot(2), + mods.getStackInSlot(3), + mods.getStackInSlot(4), + mods.getStackInSlot(5), + mods.getStackInSlot(6)); + + for(int i = 0; i < 7; i++) { + ItemStack mod = ContainerWeaponTable.this.mods.getStackInSlot(i); + if(WeaponModManager.isApplicable(stack, mod, index, false)) ContainerWeaponTable.this.mods.setInventorySlotContents(i, null); + } + + ContainerWeaponTable.this.index = 0; + } + }); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(inventory, j + i * 9 + 9, 8 + j * 18, 158 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(inventory, i, 8 + i * 18, 216)); + } + + this.onCraftMatrixChanged(this.mods); + } + + @Override + public ItemStack slotClick(int index, int button, int mode, EntityPlayer player) { + + if(mode == 999_999) { + if(player.worldObj.isRemote) return null; + ItemStack stack = gun.getStackInSlot(0); + if(stack != null && stack.getItem() instanceof ItemGunBaseNT) { + int configs = ((ItemGunBaseNT) stack.getItem()).getConfigCount(); + if(configs < button) return null; + + WeaponModManager.install( + stack, this.index, + mods.getStackInSlot(0), + mods.getStackInSlot(1), + mods.getStackInSlot(2), + mods.getStackInSlot(3), + mods.getStackInSlot(4), + mods.getStackInSlot(5), + mods.getStackInSlot(6)); + + for(int i = 0; i < 7; i++) { + ItemStack mod = ContainerWeaponTable.this.mods.getStackInSlot(i); + if(WeaponModManager.isApplicable(stack, mod, this.index, false)) ContainerWeaponTable.this.mods.setInventorySlotContents(i, null); + } + + this.index = button; + + if(stack != null) { + ItemStack[] mods = WeaponModManager.getUpgradeItems(stack, this.index); + + if(mods != null) for(int i = 0; i < Math.min(mods.length, 7); i++) { + ContainerWeaponTable.this.mods.setInventorySlotContents(i, mods[i]); + } + } + + this.detectAndSendChanges(); + } + return null; + } + + return super.slotClick(index, button, mode, player); + } + + @Override + public void onContainerClosed(EntityPlayer player) { + super.onContainerClosed(player); + + if(!player.worldObj.isRemote) { + for(int i = 0; i < this.mods.getSizeInventory(); ++i) { + ItemStack itemstack = this.mods.getStackInSlotOnClosing(i); + + if(itemstack != null) { + player.dropPlayerItemWithRandomChoice(itemstack, false); + } + } + + ItemStack itemstack = this.gun.getStackInSlotOnClosing(0); + + if(itemstack != null) { + WeaponModManager.uninstall(itemstack, index); + player.dropPlayerItemWithRandomChoice(itemstack, false); + } + } + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return true; + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack copy = null; + Slot slot = (Slot) this.inventorySlots.get(index); + + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + copy = stack.copy(); + + if(index < 8) { + if(!InventoryUtil.mergeItemStack(this.inventorySlots, stack, 8, this.inventorySlots.size(), true)) return null; + slot.onPickupFromSlot(player, stack); + } else { + if(stack.getItem() instanceof ItemGunBaseNT) { + if(!InventoryUtil.mergeItemStack(this.inventorySlots, stack, 7, 8, false)) return null; + } else { + if(!InventoryUtil.mergeItemStack(this.inventorySlots, stack, 0, 7, false)) return null; + } + } + + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { + slot.onSlotChanged(); + } + } + + return copy; + } + + public class ModSlot extends Slot { + + public ModSlot(IInventory inventory, int index, int x, int y) { + super(inventory, index, x, y); + } + + @Override + public boolean isItemValid(ItemStack stack) { + return gun.getStackInSlot(0) != null && WeaponModManager.isApplicable(gun.getStackInSlot(0), stack, index, true); + } + + @Override + public void putStack(ItemStack stack) { + super.putStack(stack); + refreshInstalledMods(); + WeaponModManager.onInstallStack(gun.getStackInSlot(0), stack, index); + } + + @Override + public void onPickupFromSlot(EntityPlayer player, ItemStack stack) { + super.onPickupFromSlot(player, stack); + refreshInstalledMods(); + WeaponModManager.onUninstallStack(gun.getStackInSlot(0), stack, index); + } + + public void refreshInstalledMods() { + if(gun.getStackInSlot(0) == null) return; + WeaponModManager.uninstall(gun.getStackInSlot(0), index); + WeaponModManager.install( + gun.getStackInSlot(0), index, + mods.getStackInSlot(0), + mods.getStackInSlot(1), + mods.getStackInSlot(2), + mods.getStackInSlot(3), + mods.getStackInSlot(4), + mods.getStackInSlot(5), + mods.getStackInSlot(6)); //miscalculated, slot array isn't visible - fuck! + } + } +} diff --git a/src/main/java/com/hbm/inventory/fluid/FluidType.java b/src/main/java/com/hbm/inventory/fluid/FluidType.java index f08ae979a..f983c90ed 100644 --- a/src/main/java/com/hbm/inventory/fluid/FluidType.java +++ b/src/main/java/com/hbm/inventory/fluid/FluidType.java @@ -13,8 +13,11 @@ import com.hbm.inventory.fluid.trait.*; import com.hbm.inventory.fluid.trait.FluidTraitSimple.*; import com.hbm.lib.RefStrings; import com.hbm.render.util.EnumSymbol; -import com.hbm.util.I18nUtil; +import com.hbm.uninos.INetworkProvider; +import com.hbm.uninos.networkproviders.FluidNetProvider; +import com.hbm.util.i18n.I18nUtil; +import api.hbm.fluidmk2.FluidNetMK2; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.tileentity.TileEntity; @@ -40,7 +43,7 @@ public class FluidType { public int flammability; public int reactivity; public EnumSymbol symbol; - public boolean customFluid = false; + public boolean renderWithTint = false; public static final int ROOM_TEMPERATURE = 20; @@ -78,7 +81,7 @@ public class FluidType { this.texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/fluids/" + texName + ".png"); this.guiTint = tint; this.localizedOverride = displayName; - this.customFluid = true; + this.renderWithTint = true; this.id = id; Fluids.register(this, id); @@ -92,6 +95,23 @@ public class FluidType { } } + /** For CompatFluidRegistry */ + public FluidType(String name, int id, int color, int p, int f, int r, EnumSymbol symbol, ResourceLocation texture) { + this.stringId = name; + this.color = color; + this.unlocalized = "hbmfluid." + name.toLowerCase(Locale.US); + this.poison = p; + this.flammability = f; + this.reactivity = r; + this.symbol = symbol; + this.texture = texture; + this.renderWithTint = true; + + this.id = id; + Fluids.register(this, id); + Fluids.foreignFluids.add(this); + } + public FluidType setTemp(int temperature) { this.temperature = temperature; return this; @@ -252,4 +272,10 @@ public class FluidType { public String name() { return this.stringId; } + + protected INetworkProvider NETWORK_PROVIDER = new FluidNetProvider(this); + + public INetworkProvider getNetworkProvider() { + return NETWORK_PROVIDER; + } } diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index cc933de8e..cadd39969 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -28,14 +28,18 @@ import com.hbm.inventory.fluid.trait.FT_Toxin.*; import com.hbm.render.util.EnumSymbol; import com.hbm.util.ArmorRegistry.HazardClass; +import api.hbm.fluidmk2.IFluidRegisterListener; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; public class Fluids { public static final Gson gson = new Gson(); + + public static List additionalListeners = new ArrayList(); public static FluidType NONE; + public static FluidType AIR; public static FluidType WATER; public static FluidType STEAM; public static FluidType HOTSTEAM; @@ -43,6 +47,9 @@ public class Fluids { public static FluidType ULTRAHOTSTEAM; public static FluidType COOLANT; public static FluidType COOLANT_HOT; + public static FluidType PERFLUOROMETHYL; + public static FluidType PERFLUOROMETHYL_COLD; + public static FluidType PERFLUOROMETHYL_HOT; public static FluidType LAVA; public static FluidType DEUTERIUM; public static FluidType TRITIUM; @@ -170,6 +177,8 @@ public class Fluids { public static FluidType HEAVYWATER_HOT; public static FluidType SODIUM; public static FluidType SODIUM_HOT; + public static FluidType LEAD; + public static FluidType LEAD_HOT; public static FluidType THORIUM_SALT; public static FluidType THORIUM_SALT_HOT; public static FluidType THORIUM_SALT_DEPLETED; @@ -177,18 +186,25 @@ public class Fluids { public static FluidType STELLAR_FLUX; public static FluidType VITRIOL; public static FluidType SLOP; - + public static FluidType LYE; + public static FluidType SODIUM_ALUMINATE; + public static FluidType BAUXITE_SOLUTION; + public static FluidType ALUMINA; + /* Lagacy names for compatibility purposes */ @Deprecated public static FluidType ACID; //JAOPCA uses this, apparently - + public static final HashBiMap renameMapping = HashBiMap.create(); - + public static List customFluids = new ArrayList(); + public static List foreignFluids = new ArrayList(); private static final HashMap idMapping = new HashMap(); private static final HashMap nameMapping = new HashMap(); + /** Inconsequential, only actually used when listing all fluids with niceOrder disabled */ protected static final List registerOrder = new ArrayList(); - protected static final List metaOrder = new ArrayList(); + /** What's used to list fluids with niceOrder enabled */ + public static final List metaOrder = new ArrayList(); public static final FT_Liquid LIQUID = new FT_Liquid(); public static final FT_Viscous VISCOUS = new FT_Viscous(); @@ -224,20 +240,20 @@ public class Fluids { public static final FT_Polluting P_LIQUID_GAS = new FT_Polluting().burn(PollutionType.SOOT, SOOT_GAS * 2F); public static void init() { - + // ##### ##### ##### ##### ## # ##### # # ##### ## # ##### // # # # # # ## # # # # # # ## # # // ##### # # ### # # # ##### ##### # # # # # ### // # # # # # # ## # # # # # # ## # // # # # # ##### # ## ##### # # ##### # ## ##### - + /* * The mapping ID is set in the CTOR, which is the static, never shifting ID that is used to save the fluid type. * Therefore, ALWAYS append new fluid entries AT THE BOTTOM to avoid unnecessary ID shifting. * In addition, you have to add your fluid to 'metaOrder' which is what is used to sort fluid identifiers and whatnot in the inventory. * You may screw with metaOrder as much as you like, as long as you keep all fluids in the list exactly once. */ - + NONE = new FluidType("NONE", 0x888888, 0, 0, 0, EnumSymbol.NONE); WATER = new FluidType("WATER", 0x3333FF, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, UNSIPHONABLE); STEAM = new FluidType("STEAM", 0xe5e5e5, 3, 0, 0, EnumSymbol.NONE).setTemp(100).addTraits(GASEOUS, UNSIPHONABLE); @@ -295,7 +311,7 @@ public class Fluids { PLASMA_BF = new FluidType("PLASMA_BF", 0xA7F1A3, 4, 5, 4, EnumSymbol.ANTIMATTER).setTemp(8500).addTraits(NOCON, NOID, PLASMA); CARBONDIOXIDE = new FluidType("CARBONDIOXIDE", 0x404040, 3, 0, 0, EnumSymbol.ASPHYXIANT).addTraits(GASEOUS, new FT_Polluting().release(PollutionType.POISON, POISON_MINOR)); PLASMA_DH3 = new FluidType("PLASMA_DH3", 0xFF83AA, 0, 4, 0, EnumSymbol.RADIATION).setTemp(3480).addTraits(NOCON, NOID, PLASMA); - HELIUM3 = new FluidType("HELIUM3", 0xFCF0C4, 0, 0, 0, EnumSymbol.ASPHYXIANT).addTraits(GASEOUS); + HELIUM3 = new FluidType("HELIUM3", 0xFCF0C4, 0, 0, 0, EnumSymbol.ASPHYXIANT).addTraits(GASEOUS).addContainers(new CD_Gastank(0xFD631F, 0xffffff)); DEATH = new FluidType("DEATH", 0x717A88, 2, 0, 1, EnumSymbol.ACID).setTemp(300).addTraits(new FT_Corrosive(80), new FT_Poison(true, 4), LEADCON, LIQUID, VISCOUS); ETHANOL = new FluidType("ETHANOL", 0xe0ffff, 2, 3, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xEAFFF3)).addTraits(new FT_Flammable(75_000), new FT_Combustible(FuelGrade.HIGH, 200_000), LIQUID, P_FUEL); HEAVYWATER = new FluidType("HEAVYWATER", 0x00a0b0, 1, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); @@ -305,8 +321,8 @@ public class Fluids { NAPHTHA_CRACK = new FluidType("NAPHTHA_CRACK", 0x595744, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x5F6D44)).addTraits(new FT_Flammable(125_000), new FT_Combustible(FuelGrade.MEDIUM, 200_000), LIQUID, VISCOUS, P_FUEL); LIGHTOIL_CRACK = new FluidType("LIGHTOIL_CRACK", 0x8c7451, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xB46B52)).addTraits(new FT_Flammable(200_000), new FT_Combustible(FuelGrade.MEDIUM, 500_000), LIQUID, P_FUEL); DIESEL_CRACK = new FluidType("DIESEL_CRACK", 0xf2eed5, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xFF2C2C)).addTraits(new FT_Flammable(200_000), new FT_Combustible(FuelGrade.HIGH, 450_000), LIQUID, P_FUEL); - AROMATICS = new FluidType("AROMATICS", 0x68A09A, 1, 4, 1, EnumSymbol.NONE).addTraits(new FT_Flammable(25_000), LIQUID, VISCOUS, P_GAS); - UNSATURATEDS = new FluidType("UNSATURATEDS", 0x628FAE, 1, 4, 1, EnumSymbol.NONE).addTraits(new FT_Flammable(1_000_000), GASEOUS, P_GAS); //acetylene burns as hot as satan's asshole + AROMATICS = new FluidType("AROMATICS", 0x68A09A, 1, 4, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0x68A09A, 0xEDCF27)).addTraits(new FT_Flammable(25_000), LIQUID, VISCOUS, P_GAS); + UNSATURATEDS = new FluidType("UNSATURATEDS", 0x628FAE, 1, 4, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0x628FAE, 0xEDCF27)).addTraits(new FT_Flammable(1_000_000), GASEOUS, P_GAS); //acetylene burns as hot as satan's asshole SALIENT = new FluidType("SALIENT", 0x457F2D, 0, 0, 0, EnumSymbol.NONE).addTraits(DELICIOUS, LIQUID, VISCOUS); XPJUICE = new FluidType("XPJUICE", 0xBBFF09, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); ENDERJUICE = new FluidType("ENDERJUICE", 0x127766, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); @@ -326,7 +342,7 @@ public class Fluids { BLOOD_HOT = new FluidType("BLOOD_HOT", 0xF22419, 3, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS).setTemp(666); //it's funny because it's the satan number SYNGAS = new FluidType("SYNGAS", 0x131313, 1, 4, 2, EnumSymbol.NONE).addContainers(new CD_Gastank(0xFFFFFF, 0x131313)).addTraits(GASEOUS); OXYHYDROGEN = new FluidType("OXYHYDROGEN", 0x483FC1, 0, 4, 2, EnumSymbol.NONE).addTraits(GASEOUS); - RADIOSOLVENT = new FluidType("RADIOSOLVENT", 0xA4D7DD, 3, 3, 0, EnumSymbol.NONE).addTraits(LIQUID, LEADCON, new FT_Corrosive(50), new FT_VentRadiation(0.01F)); + RADIOSOLVENT = new FluidType("RADIOSOLVENT", 0xA4D7DD, 3, 3, 0, EnumSymbol.NONE).addTraits(LIQUID, new FT_Corrosive(50)); CHLORINE = new FluidType("CHLORINE", 0xBAB572, 3, 0, 0, EnumSymbol.OXIDIZER).addContainers(new CD_Gastank(0xBAB572, 0x887B34)).addTraits(GASEOUS, new FT_Corrosive(25)); HEAVYOIL_VACUUM = new FluidType("HEAVYOIL_VACUUM", 0x131214, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS, P_OIL).addContainers(new CD_Canister(0x513F39)); REFORMATE = new FluidType("REFORMATE", 0x835472, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS, P_FUEL).addContainers(new CD_Canister(0xD180D6)); @@ -379,22 +395,33 @@ public class Fluids { LIGHTOIL_DS = new FluidType("LIGHTOIL_DS", 0x63543E, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xB46B52)).addTraits(LIQUID, P_FUEL); STELLAR_FLUX = new FluidType("STELLAR_FLUX", 0xE300FF, 0, 4, 4, EnumSymbol.ANTIMATTER).addTraits(ANTI, GASEOUS); VITRIOL = new FluidType("VITRIOL", 0x6E5222, 2, 0, 1, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); - SLOP = new FluidType(141, "SLOP", 0x929D45, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); - + SLOP = new FluidType("SLOP", 0x929D45, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); + LEAD = new FluidType("LEAD", 0x666672, 4, 0, 0, EnumSymbol.NONE).setTemp(350).addTraits(LIQUID, VISCOUS); + LEAD_HOT = new FluidType("LEAD_HOT", 0x776563, 4, 0, 0, EnumSymbol.NONE).setTemp(1500).addTraits(LIQUID, VISCOUS); + PERFLUOROMETHYL = new FluidType("PERFLUOROMETHYL", 0xBDC8DC, 1, 0, 1, EnumSymbol.NONE).setTemp(15).addTraits(LIQUID); + PERFLUOROMETHYL_COLD = new FluidType("PERFLUOROMETHYL_COLD",0x99DADE, 1, 0, 1, EnumSymbol.NONE).setTemp(-150).addTraits(LIQUID); + PERFLUOROMETHYL_HOT = new FluidType("PERFLUOROMETHYL_HOT",0xB899DE, 1, 0, 1, EnumSymbol.NONE).setTemp(250).addTraits(LIQUID); + LYE = new FluidType("LYE", 0xFFECCC, 3, 0, 1, EnumSymbol.ACID).addTraits(new FT_Corrosive(40), LIQUID); + SODIUM_ALUMINATE = new FluidType("SODIUM_ALUMINATE", 0xFFD191, 3, 0, 1, EnumSymbol.ACID).addTraits(new FT_Corrosive(30), LIQUID); + BAUXITE_SOLUTION = new FluidType("BAUXITE_SOLUTION", 0xE2560F, 3, 0, 3, EnumSymbol.ACID).addTraits(new FT_Corrosive(40), LIQUID, VISCOUS); + ALUMINA = new FluidType("ALUMINA", 0xDDFFFF, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); + AIR = new FluidType(151, "AIR", 0xE7EAEB, 0, 0, 0, EnumSymbol.NONE).addTraits(GASEOUS); + // ^ ^ ^ ^ ^ ^ ^ ^ //ADD NEW FLUIDS HERE - + File folder = MainRegistry.configHbmDir; File customTypes = new File(folder.getAbsolutePath() + File.separatorChar + "hbmFluidTypes.json"); if(!customTypes.exists()) initDefaultFluids(customTypes); readCustomFluids(customTypes); - + //AND DON'T FORGET THE META DOWN HERE // V V V V V V V V - + //null metaOrder.add(NONE); //vanilla + metaOrder.add(AIR); metaOrder.add(WATER); metaOrder.add(HEAVYWATER); metaOrder.add(HEAVYWATER_HOT); @@ -409,6 +436,9 @@ public class Fluids { metaOrder.add(CARBONDIOXIDE); metaOrder.add(COOLANT); metaOrder.add(COOLANT_HOT); + metaOrder.add(PERFLUOROMETHYL); + metaOrder.add(PERFLUOROMETHYL_COLD); + metaOrder.add(PERFLUOROMETHYL_HOT); metaOrder.add(CRYOGEL); metaOrder.add(MUG); metaOrder.add(MUG_HOT); @@ -416,6 +446,8 @@ public class Fluids { metaOrder.add(BLOOD_HOT); metaOrder.add(SODIUM); metaOrder.add(SODIUM_HOT); + metaOrder.add(LEAD); + metaOrder.add(LEAD_HOT); metaOrder.add(THORIUM_SALT); metaOrder.add(THORIUM_SALT_HOT); metaOrder.add(THORIUM_SALT_DEPLETED); @@ -518,8 +550,12 @@ public class Fluids { metaOrder.add(POTASSIUM_CHLORIDE); metaOrder.add(CALCIUM_CHLORIDE); metaOrder.add(CALCIUM_SOLUTION); + metaOrder.add(SODIUM_ALUMINATE); + metaOrder.add(BAUXITE_SOLUTION); + metaOrder.add(ALUMINA); //solutions and working fluids metaOrder.add(FRACKSOL); + metaOrder.add(LYE); //the fun guys metaOrder.add(PHOSGENE); metaOrder.add(MUSTARDGAS); @@ -550,15 +586,15 @@ public class Fluids { //bug meth metaOrder.add(PHEROMONE); metaOrder.add(PHEROMONE_M); - + //ANY INTERNAL RENAMING MUST BE REFLECTED HERE - DON'T FORGET TO CHANGE: LANG FILES + TYPE'S STRING ID + NAME OF TANK/GUI TEXTURE FILES! // V - + renameMapping.put("ACID", PEROXIDE); - + // LEGACY ACID = PEROXIDE; - + for(FluidType custom : customFluids) metaOrder.add(custom); CHLORINE.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 2F, 20, HazardClass.GAS_LUNG, false))); @@ -570,7 +606,7 @@ public class Fluids { double eff_steam_boil = 1.0D; double eff_steam_heatex = 0.25D; - + WATER.addTraits(new FT_Heatable().setEff(HeatingType.BOILER, eff_steam_boil).setEff(HeatingType.HEATEXCHANGER, eff_steam_heatex) .addStep(200, 1, STEAM, 100) .addStep(220, 1, HOTSTEAM, 10) @@ -600,29 +636,38 @@ public class Fluids { COOLANT.addTraits(new FT_Heatable().setEff(HeatingType.HEATEXCHANGER, 1.0D).setEff(HeatingType.PWR, 1.0D).setEff(HeatingType.ICF, 1.0D).addStep(300, 1, COOLANT_HOT, 1)); COOLANT_HOT.addTraits(new FT_Coolable(COOLANT, 1, 1, 300).setEff(CoolingType.HEATEXCHANGER, 1.0D)); - + + PERFLUOROMETHYL_COLD.addTraits(new FT_Heatable().setEff(HeatingType.PA, 1.0D).addStep(300, 1, PERFLUOROMETHYL, 1)); + PERFLUOROMETHYL.addTraits(new FT_Heatable().setEff(HeatingType.HEATEXCHANGER, 1.0D).setEff(HeatingType.PWR, 1.0D).setEff(HeatingType.ICF, 1.0D).addStep(300, 1, PERFLUOROMETHYL_HOT, 1)); + PERFLUOROMETHYL_HOT.addTraits(new FT_Coolable(PERFLUOROMETHYL, 1, 1, 300).setEff(CoolingType.HEATEXCHANGER, 1.0D)); + MUG.addTraits(new FT_Heatable().setEff(HeatingType.HEATEXCHANGER, 1.0D).setEff(HeatingType.PWR, 1.0D).setEff(HeatingType.ICF, 1.25D).addStep(400, 1, MUG_HOT, 1), new FT_PWRModerator(1.15D)); MUG_HOT.addTraits(new FT_Coolable(MUG, 1, 1, 400).setEff(CoolingType.HEATEXCHANGER, 1.0D)); - + BLOOD.addTraits(new FT_Heatable().setEff(HeatingType.HEATEXCHANGER, 1.0D).setEff(HeatingType.ICF, 1.25D).addStep(500, 1, BLOOD_HOT, 1)); BLOOD_HOT.addTraits(new FT_Coolable(BLOOD, 1, 1, 500).setEff(CoolingType.HEATEXCHANGER, 1.0D)); - + HEAVYWATER.addTraits(new FT_Heatable().setEff(HeatingType.PWR, 1.0D).addStep(300, 1, HEAVYWATER_HOT, 1), new FT_PWRModerator(1.25D)); HEAVYWATER_HOT.addTraits(new FT_Coolable(HEAVYWATER, 1, 1, 300).setEff(CoolingType.HEATEXCHANGER, 1.0D)); - + SODIUM.addTraits(new FT_Heatable().setEff(HeatingType.PWR, 2.5D).setEff(HeatingType.ICF, 3D).addStep(400, 1, SODIUM_HOT, 1)); SODIUM_HOT.addTraits(new FT_Coolable(SODIUM, 1, 1, 400).setEff(CoolingType.HEATEXCHANGER, 1.0D)); - + /* Fuck you, this is final now. If you had any concerns, you could have told me like a normal person instead of shitting on in-dev values that change every other day */ + LEAD.addTraits(new FT_Heatable().setEff(HeatingType.PWR, 0.75D).setEff(HeatingType.ICF, 4D).addStep(800, 1, LEAD_HOT, 1), new FT_PWRModerator(0.75D)); + /* Or maybe not, because I blocked your sorry ass. Guess why that is? */ + LEAD_HOT.addTraits(new FT_Coolable(LEAD, 1, 1, 680).setEff(CoolingType.HEATEXCHANGER, 1.0D)); + /* Maybe shittalking me in some corner where you thought I wouldn't listen was not that bright of an idea afterall? */ + THORIUM_SALT.addTraits(new FT_Heatable().setEff(HeatingType.PWR, 1.0D).addStep(400, 1, THORIUM_SALT_HOT, 1), new FT_PWRModerator(2.5D)); THORIUM_SALT_HOT.addTraits(new FT_Coolable(THORIUM_SALT_DEPLETED, 1, 1, 400).setEff(CoolingType.HEATEXCHANGER, 1.0D)); - + if(idMapping.size() != metaOrder.size()) { throw new IllegalStateException("A severe error has occoured during NTM's fluid registering process! The MetaOrder and Mappings are inconsistent! Mapping size: " + idMapping.size()+ " / MetaOrder size: " + metaOrder.size()); } - - + + /// FINAL /// - + long baseline = 100_000L; //we do not know double demandVeryLow = 0.5D; //for waste gasses double demandLow = 1.0D; //for fuel oils @@ -684,11 +729,11 @@ public class Fluids { registerCalculatedFuel(DIESEL_CRACK_REFORM, DIESEL_CRACK.getTrait(FT_Flammable.class).getHeatEnergy() * complexityReform, 2.5D, FuelGrade.HIGH); registerCalculatedFuel(KEROSENE_REFORM, KEROSENE.getTrait(FT_Flammable.class).getHeatEnergy() * complexityReform, 1.5D, FuelGrade.AERO); registerCalculatedFuel(REFORMGAS, (baseline / 0.06 * flammabilityHigh * demandLow * complexityVacuum * complexityFraction), 1.5D, FuelGrade.GAS); - + //all hail the spreadsheet //the spreadsheet must not be questioned //none may enter the orb- i mean the spreadsheet - + int coalHeat = 400_000; // 200TU/t for 2000 ticks registerCalculatedFuel(COALOIL, (coalHeat * (1000 /* bucket */ / 100 /* mB per coal */) * flammabilityLow * demandLow * complexityChemplant), 0, null); long coaloil = COALOIL.getTrait(FT_Flammable.class).getHeatEnergy(); @@ -710,24 +755,24 @@ public class Fluids { registerCalculatedFuel(SYNGAS, (coalHeat * (1000 /* bucket */ / 100 /* mB per coal */) * flammabilityLow * demandLow * complexityChemplant) * 1.5, 1.25, FuelGrade.GAS); //same as coal oil, +50% bonus registerCalculatedFuel(OXYHYDROGEN, 5_000, 3, FuelGrade.GAS); // whatever - + File config = new File(folder.getAbsolutePath() + File.separatorChar + "hbmFluidTraits.json"); File template = new File(folder.getAbsolutePath() + File.separatorChar + "_hbmFluidTraits.json"); - + if(!config.exists()) { writeDefaultTraits(template); } else { readTraits(config); } } - + private static void initDefaultFluids(File file) { - + try { JsonWriter writer = new JsonWriter(new FileWriter(file)); writer.setIndent(" "); writer.beginObject(); - + writer.name("CUSTOM_DEMO").beginObject(); writer.name("name").value("Custom Fluid Demo"); writer.name("id").value(1000); @@ -738,21 +783,21 @@ public class Fluids { writer.name("texture").value("custom_water"); writer.name("temperature").value(20); writer.endObject(); - + writer.endObject(); writer.close(); } catch(IOException e) { e.printStackTrace(); } } - + private static void readCustomFluids(File file) { - + try { JsonObject json = gson.fromJson(new FileReader(file), JsonObject.class); - + for(Entry entry : json.entrySet()) { - + JsonObject obj = (JsonObject) entry.getValue(); String name = entry.getKey(); @@ -766,54 +811,54 @@ public class Fluids { EnumSymbol symbol = EnumSymbol.valueOf(obj.get("symbol").getAsString()); String texture = obj.get("texture").getAsString(); int temperature = obj.get("temperature").getAsInt(); - + FluidType type = new FluidType(name, color, p, f, r, symbol, texture, tint, id, displayName).setTemp(temperature); customFluids.add(type); } - + } catch(Exception ex) { ex.printStackTrace(); } } - + private static void writeDefaultTraits(File file) { try { JsonWriter writer = new JsonWriter(new FileWriter(file)); writer.setIndent(" "); writer.beginObject(); - + for(FluidType type : metaOrder) { writer.name(type.getName()).beginObject(); - + for(Entry, FluidTrait> entry : type.traits.entrySet()) { writer.name(FluidTrait.traitNameMap.inverse().get(entry.getKey())).beginObject(); entry.getValue().serializeJSON(writer); writer.endObject(); } - + writer.endObject(); } - + writer.endObject(); writer.close(); } catch(IOException e) { e.printStackTrace(); } } - + private static void readTraits(File config) { - + try { JsonObject json = gson.fromJson(new FileReader(config), JsonObject.class); - + for(FluidType type : metaOrder) { - + JsonElement element = json.get(type.getName()); if(element != null) { type.traits.clear(); JsonObject obj = element.getAsJsonObject(); - + for(Entry entry : obj.entrySet()) { Class traitClass = FluidTrait.traitNameMap.get(entry.getKey()); try { @@ -826,14 +871,48 @@ public class Fluids { } } } - + } catch(Exception ex) { ex.printStackTrace(); } } - private static void registerCalculatedFuel(FluidType type, double base, double combustMult, FuelGrade grade) { + public static void reloadFluids(){ + File folder = MainRegistry.configHbmDir; + File customTypes = new File(folder.getAbsolutePath() + File.separatorChar + "hbmFluidTypes.json"); + if(!customTypes.exists()) initDefaultFluids(customTypes); + for(FluidType type : customFluids){ + idMapping.remove(type.getID()); + registerOrder.remove(type); + nameMapping.remove(type.getName()); + metaOrder.remove(type); + } + customFluids.clear(); + + for(FluidType type : foreignFluids){ + idMapping.remove(type.getID()); + registerOrder.remove(type); + nameMapping.remove(type.getName()); + metaOrder.remove(type); + } + foreignFluids.clear(); + + readCustomFluids(customTypes); + for(FluidType custom : customFluids) metaOrder.add(custom); + File config = new File(MainRegistry.configHbmDir.getAbsolutePath() + File.separatorChar + "hbmFluidTraits.json"); + File template = new File(MainRegistry.configHbmDir.getAbsolutePath() + File.separatorChar + "_hbmFluidTraits.json"); + + if(!config.exists()) { + writeDefaultTraits(template); + } else { + readTraits(config); + } + + for(IFluidRegisterListener listener : additionalListeners) listener.onFluidsLoad(); + } + private static void registerCalculatedFuel(FluidType type, double base, double combustMult, FuelGrade grade) { + long flammable = (long) base; long combustible = (long) (base * combustMult); @@ -841,11 +920,11 @@ public class Fluids { combustible = round(combustible); type.addTraits(new FT_Flammable(flammable)); - + if(combustible > 0 && grade != null) type.addTraits(new FT_Combustible(grade, combustible)); } - + /** ugly but it does the thing well enough */ private static long round(long l) { if(l > 10_000_000L) return l - (l % 100_000L); @@ -853,10 +932,10 @@ public class Fluids { if(l > 100_000L) return l - (l % 1_000L); if(l > 10_000L) return l - (l % 100L); if(l > 1_000L) return l - (l % 10L); - + return l; } - + protected static int registerSelf(FluidType fluid) { int id = idMapping.size(); idMapping.put(id, fluid); @@ -864,90 +943,90 @@ public class Fluids { nameMapping.put(fluid.getName(), fluid); return id; } - + protected static void register(FluidType fluid, int id) { idMapping.put(id, fluid); registerOrder.add(fluid); nameMapping.put(fluid.getName(), fluid); } - + public static FluidType fromID(int id) { FluidType fluid = idMapping.get(id); - + if(fluid == null) fluid = Fluids.NONE; - + return fluid; } - + public static FluidType fromName(String name) { FluidType fluid = nameMapping.get(name); - + if(fluid == null) fluid = Fluids.NONE; - + return fluid; } - + /** for old worlds with types saved as name, do not use otherwise */ public static FluidType fromNameCompat(String name) { if(renameMapping.containsKey(name)) { FluidType fluid = renameMapping.get(name); - + if(fluid == null) //null safety never killed nobody fluid = Fluids.NONE; - + return fluid; } - + return fromName(name); } - + /** basically the inverse of the above method */ public static String toNameCompat(FluidType type) { if(renameMapping.containsValue(type)) { String name = renameMapping.inverse().get(type); - + if(name == null) //ditto name = Fluids.NONE.getName(); - + return name; } - + return type.getName(); } - + public static FluidType[] getAll() { return getInOrder(false); } - + public static FluidType[] getInNiceOrder() { return getInOrder(true); } - + private static FluidType[] getInOrder(final boolean nice) { FluidType[] all = new FluidType[idMapping.size()]; - + for(int i = 0; i < all.length; i++) { FluidType type = nice ? metaOrder.get(i) : registerOrder.get(i); - + if(type == null) { throw new IllegalStateException("A severe error has occoured with NTM's fluid system! Fluid of the ID " + i + " has returned NULL in the registry!"); } - + all[i] = type; } - + return all; } - + public static class CD_Canister { public int color; public CD_Canister(int color) { this.color = color; } } - + public static class CD_Gastank { public int bottleColor, labelColor; - public CD_Gastank(int color1, int color2) { this.bottleColor = color1; this.labelColor = color2; } + public CD_Gastank(int bottle, int label) { this.bottleColor = bottle; this.labelColor = label; } } -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/inventory/fluid/tank/FluidLoaderFillableItem.java b/src/main/java/com/hbm/inventory/fluid/tank/FluidLoaderFillableItem.java index 9113bdfff..6410e2779 100644 --- a/src/main/java/com/hbm/inventory/fluid/tank/FluidLoaderFillableItem.java +++ b/src/main/java/com/hbm/inventory/fluid/tank/FluidLoaderFillableItem.java @@ -3,7 +3,7 @@ package com.hbm.inventory.fluid.tank; import com.hbm.handler.ArmorModHandler; import com.hbm.inventory.fluid.FluidType; -import api.hbm.fluid.IFillableItem; +import api.hbm.fluidmk2.IFillableItem; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java b/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java index 135582280..9d60e8a2a 100644 --- a/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java +++ b/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java @@ -7,12 +7,16 @@ import java.util.Set; import org.lwjgl.opengl.GL11; +import com.hbm.inventory.FluidStack; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.gui.GuiInfoContainer; import com.hbm.items.ModItems; import com.hbm.items.machine.IItemFluidIdentifier; +import com.hbm.util.BobMathUtil; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.Tessellator; @@ -22,7 +26,9 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; -public class FluidTank { +public class FluidTank implements Cloneable { + + public static final FluidTank[] EMPTY_ARRAY = new FluidTank[0]; public static final List loadingHandlers = new ArrayList(); public static final Set noDualUnload = new HashSet(); @@ -44,45 +50,38 @@ public class FluidTank { } public FluidTank withPressure(int pressure) { - if(this.pressure != pressure) this.setFill(0); - this.pressure = pressure; return this; } - public void setFill(int i) { - fluid = i; - } + public void setFill(int i) { fluid = i; } public void setTankType(FluidType type) { - - if(type == null) { - type = Fluids.NONE; - } - - if(this.type == type) - return; + if(type == null) type = Fluids.NONE; + if(this.type == type) return; this.type = type; this.setFill(0); } - public FluidType getTankType() { - return type; + public void resetTank() { + this.type = Fluids.NONE; + this.fluid = 0; + this.pressure = 0; } - public int getFill() { - return fluid; + /** Changes type and pressure based on a fluid stack, useful for changing tank types based on recipes */ + public FluidTank conform(FluidStack stack) { + this.setTankType(stack.type); + this.withPressure(stack.pressure); + return this; } - public int getMaxFill() { - return maxFluid; - } - - public int getPressure() { - return pressure; - } + public FluidType getTankType() { return type; } + public int getFill() { return fluid; } + public int getMaxFill() { return maxFluid; } + public int getPressure() { return pressure; } public int changeTankSize(int size) { maxFluid = size; @@ -92,20 +91,15 @@ public class FluidTank { fluid = maxFluid; return dif; } - return 0; } //Fills tank from canisters public boolean loadTank(int in, int out, ItemStack[] slots) { - - if(slots[in] == null) - return false; + if(slots[in] == null) return false; boolean isInfiniteBarrel = slots[in].getItem() == ModItems.fluid_barrel_infinite; - - if(!isInfiniteBarrel && pressure != 0) - return false; + if(!isInfiniteBarrel && pressure != 0) return false; int prev = this.getFill(); @@ -120,9 +114,7 @@ public class FluidTank { //Fills canisters from tank public boolean unloadTank(int in, int out, ItemStack[] slots) { - - if(slots[in] == null) - return false; + if(slots[in] == null) return false; int prev = this.getFill(); @@ -183,11 +175,11 @@ public class FluidTank { * @param width * @param height */ - public void renderTank(int x, int y, double z, int width, int height) { + @SideOnly(Side.CLIENT) public void renderTank(int x, int y, double z, int width, int height) { renderTank(x, y, z, width, height, 0); } - public void renderTank(int x, int y, double z, int width, int height, int orientation) { + @SideOnly(Side.CLIENT) public void renderTank(int x, int y, double z, int width, int height, int orientation) { GL11.glEnable(GL11.GL_BLEND); @@ -242,7 +234,7 @@ public class FluidTank { GL11.glDisable(GL11.GL_BLEND); } - public void renderTankInfo(GuiInfoContainer gui, int mouseX, int mouseY, int x, int y, int width, int height) { + @SideOnly(Side.CLIENT) public void renderTankInfo(GuiInfoContainer gui, int mouseX, int mouseY, int x, int y, int width, int height) { if(x <= mouseX && x + width > mouseX && y < mouseY && y + height >= mouseY) { List list = new ArrayList(); @@ -251,6 +243,7 @@ public class FluidTank { if(this.pressure != 0) { list.add(EnumChatFormatting.RED + "Pressure: " + this.pressure + " PU"); + list.add((BobMathUtil.getBlink() ? EnumChatFormatting.RED : EnumChatFormatting.DARK_RED) + "Pressurized, use compressor!"); } type.addInfo(list); diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Coolable.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Coolable.java index 87f595015..3e57ac963 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Coolable.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Coolable.java @@ -42,7 +42,7 @@ public class FT_Coolable extends FluidTrait { @Override public void addInfoHidden(List info) { - info.add(EnumChatFormatting.RED + "Thermal capacity: " + heatEnergy + " TU"); + info.add(EnumChatFormatting.RED + "Thermal capacity: " + heatEnergy + " TU per " + amountReq + "mB"); for(CoolingType type : CoolingType.values()) { double eff = getEfficiency(type); diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Heatable.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Heatable.java index 0ec79abb7..f51d64ab8 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Heatable.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Heatable.java @@ -42,7 +42,7 @@ public class FT_Heatable extends FluidTrait { @Override public void addInfoHidden(List info) { - info.add(EnumChatFormatting.RED + "Thermal capacity: " + this.getFirstStep().heatReq + " TU"); + info.add(EnumChatFormatting.RED + "Thermal capacity: " + this.getFirstStep().heatReq + " TU per " + this.getFirstStep().amountReq + "mB"); for(HeatingType type : HeatingType.values()) { double eff = getEfficiency(type); @@ -71,7 +71,8 @@ public class FT_Heatable extends FluidTrait { BOILER("Boilable"), HEATEXCHANGER("Heatable"), PWR("PWR Coolant"), - ICF("ICF Coolant"); + ICF("ICF Coolant"), + PA("Particle Accelerator Coolant"); public String name; diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_PWRModerator.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_PWRModerator.java index 65386405a..26f254e54 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_PWRModerator.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_PWRModerator.java @@ -11,15 +11,15 @@ import net.minecraft.util.EnumChatFormatting; public class FT_PWRModerator extends FluidTrait { private double multiplier; - + public FT_PWRModerator(){} public FT_PWRModerator(double mulitplier) { this.multiplier = mulitplier; } - + public double getMultiplier() { return multiplier; } - + @Override public void addInfo(List info) { info.add(EnumChatFormatting.BLUE + "[PWR Flux Multiplier]"); @@ -35,7 +35,7 @@ public class FT_PWRModerator extends FluidTrait { public void serializeJSON(JsonWriter writer) throws IOException { writer.name("multiplier").value(multiplier); } - + @Override public void deserializeJSON(JsonObject obj) { this.multiplier = obj.get("multiplier").getAsDouble(); diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Pheromone.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Pheromone.java index 52e467d6f..123b2751b 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Pheromone.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Pheromone.java @@ -11,6 +11,7 @@ import java.util.List; public class FT_Pheromone extends FluidTrait{ public int type; + public FT_Pheromone() {} public FT_Pheromone(int type) { this.type = type; diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Polluting.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Polluting.java index 457c5b639..79103bc68 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Polluting.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Polluting.java @@ -20,12 +20,12 @@ public class FT_Polluting extends FluidTrait { //original draft had both of them inside a hashmap for the release type but honestly handling hash maps in hash maps adds more complexity than it removes public HashMap releaseMap = new HashMap(); public HashMap burnMap = new HashMap(); - + public FT_Polluting release(PollutionType type, float amount) { releaseMap.put(type, amount); return this; } - + public FT_Polluting burn(PollutionType type, float amount) { burnMap.put(type, amount); return this; @@ -38,12 +38,12 @@ public class FT_Polluting extends FluidTrait { @Override public void addInfoHidden(List info) { - + if(!this.releaseMap.isEmpty()) { info.add(EnumChatFormatting.GREEN + "When spilled:"); for(Entry entry : releaseMap.entrySet()) info.add(EnumChatFormatting.GREEN + " - " + entry.getValue() + " " + entry.getKey() + " per mB"); } - + if(!this.burnMap.isEmpty()) { info.add(EnumChatFormatting.RED + "When burned:"); for(Entry entry : burnMap.entrySet()) info.add(EnumChatFormatting.RED + " - " + entry.getValue() + " " + entry.getKey() + " per mB"); @@ -60,16 +60,16 @@ public class FT_Polluting extends FluidTrait { public void serializeJSON(JsonWriter writer) throws IOException { writer.name("release").beginObject(); for(Entry entry : releaseMap.entrySet()) { - writer.name(entry.toString()).value(entry.getValue()); + writer.name(entry.getKey().name()).value(entry.getValue()); } writer.endObject(); writer.name("burn").beginObject(); for(Entry entry : burnMap.entrySet()) { - writer.name(entry.toString()).value(entry.getValue()); + writer.name(entry.getKey().name()).value(entry.getValue()); } writer.endObject(); } - + @Override public void deserializeJSON(JsonObject obj) { if(obj.has("release")) { @@ -89,14 +89,14 @@ public class FT_Polluting extends FluidTrait { } } } - + public static void pollute(World world, int x, int y, int z, FluidType type, FluidReleaseType release, float mB) { FT_Polluting trait = type.getTrait(FT_Polluting.class); if(trait == null) return; if(release == FluidReleaseType.VOID) return; - + HashMap map = release == FluidReleaseType.BURN ? trait.burnMap : trait.releaseMap; - + for(Entry entry : map.entrySet()) { PollutionHandler.incrementPollution(world, x, y, z, entry.getKey(), entry.getValue() * mB); } diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Toxin.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Toxin.java index fe814219e..748459014 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Toxin.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Toxin.java @@ -10,8 +10,8 @@ import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; import com.hbm.util.ArmorRegistry; import com.hbm.util.ArmorUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.ArmorRegistry.HazardClass; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.entity.EntityLivingBase; import net.minecraft.potion.PotionEffect; diff --git a/src/main/java/com/hbm/inventory/gui/GUIAmmoBag.java b/src/main/java/com/hbm/inventory/gui/GUIAmmoBag.java new file mode 100644 index 000000000..3754dc3a8 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIAmmoBag.java @@ -0,0 +1,51 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerAmmoBag; +import com.hbm.items.tool.ItemAmmoBag.InventoryAmmoBag; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUIAmmoBag extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_ammo_bag.png"); + private final InventoryAmmoBag inventory; + + public GUIAmmoBag(InventoryPlayer invPlayer, InventoryAmmoBag bag) { + super(new ContainerAmmoBag(invPlayer, bag)); + this.inventory = bag; + + this.xSize = 176; + this.ySize = 168; + } + + @Override + public void drawScreen(int x, int y, float interp) { + super.drawScreen(x, y, interp); + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = I18n.format(this.inventory.getInventoryName()); + + if(inventory.hasCustomInventoryName()) { + name = inventory.box.getDisplayName(); + } + + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 0xffffff); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 98, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIAnvil.java b/src/main/java/com/hbm/inventory/gui/GUIAnvil.java index 2b9bbe7ea..9a59e9b29 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIAnvil.java +++ b/src/main/java/com/hbm/inventory/gui/GUIAnvil.java @@ -17,8 +17,8 @@ import com.hbm.inventory.recipes.anvil.AnvilRecipes; import com.hbm.inventory.recipes.anvil.AnvilRecipes.AnvilConstructionRecipe; import com.hbm.inventory.recipes.anvil.AnvilRecipes.AnvilOutput; import com.hbm.lib.RefStrings; -import com.hbm.packet.AnvilCraftPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AnvilCraftPacket; import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.client.gui.FontRenderer; @@ -119,24 +119,6 @@ public class GUIAnvil extends GuiContainer { this.size = Math.max(0, (int)Math.ceil((this.recipes.size() - 10) / 2D)); } - /*@Override - protected void mouseMovedOrUp(int x, int y, int mode) { - super.mouseMovedOrUp(x, y, mode); - - if(mode == -1) return; // we don't care about mouseMove - for(Object obj : this.inventorySlots.inventorySlots) { - Slot slot = (Slot) obj; - - // if the mouse is over a slot, cancel - if(this.func_146978_c(slot.xDisplayPosition, slot.yDisplayPosition, 16, 16, x, y)) { - return; - } - } - - if(mode == 0 && this.index > 0) this.index--; - if(mode == 1 && this.index < this.size) this.index++; - }*/ - @Override public void drawScreen(int x, int y, float interp) { super.drawScreen(x, y, interp); diff --git a/src/main/java/com/hbm/inventory/gui/GUIArmorTable.java b/src/main/java/com/hbm/inventory/gui/GUIArmorTable.java index 250b9711f..106d30c74 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIArmorTable.java +++ b/src/main/java/com/hbm/inventory/gui/GUIArmorTable.java @@ -5,7 +5,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.handler.ArmorModHandler; import com.hbm.inventory.container.ContainerArmorTable; import com.hbm.lib.RefStrings; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; diff --git a/src/main/java/com/hbm/inventory/gui/GUIAutocrafter.java b/src/main/java/com/hbm/inventory/gui/GUIAutocrafter.java index d1d04592d..cc26020ab 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIAutocrafter.java +++ b/src/main/java/com/hbm/inventory/gui/GUIAutocrafter.java @@ -4,8 +4,10 @@ import java.util.Arrays; import org.lwjgl.opengl.GL11; +import com.hbm.interfaces.NotableComments; import com.hbm.inventory.container.ContainerAutocrafter; import com.hbm.lib.RefStrings; +import com.hbm.module.ModulePatternMatcher; import com.hbm.tileentity.machine.TileEntityMachineAutocrafter; import net.minecraft.client.Minecraft; @@ -15,6 +17,7 @@ import net.minecraft.inventory.Slot; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; +@NotableComments public class GUIAutocrafter extends GuiInfoContainer { private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_autocrafter.png"); @@ -39,16 +42,7 @@ public class GUIAutocrafter extends GuiInfoContainer { Slot slot = (Slot) this.inventorySlots.inventorySlots.get(i); if(this.isMouseOverSlot(slot, x, y) && diFurnace.matcher.modes[i] != null) { - - String label = EnumChatFormatting.YELLOW + ""; - - switch(diFurnace.matcher.modes[i]) { - case "exact": label += "Item and meta match"; break; - case "wildcard": label += "Item matches"; break; - default: label += "Ore dict key matches: " + diFurnace.matcher.modes[i]; break; - } - - this.func_146283_a(Arrays.asList(new String[] { EnumChatFormatting.RED + "Right click to change", label }), x, y - 30); + this.func_146283_a(Arrays.asList(new String[] { EnumChatFormatting.RED + "Right click to change", ModulePatternMatcher.getLabel(diFurnace.matcher.modes[i]) }), x, y - 30); } } diff --git a/src/main/java/com/hbm/inventory/gui/GUIBarrel.java b/src/main/java/com/hbm/inventory/gui/GUIBarrel.java index e739e81d6..bba645724 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIBarrel.java +++ b/src/main/java/com/hbm/inventory/gui/GUIBarrel.java @@ -4,8 +4,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerBarrel; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AuxButtonPacket; import com.hbm.tileentity.machine.storage.TileEntityBarrel; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUIBookLore.java b/src/main/java/com/hbm/inventory/gui/GUIBookLore.java index dc628427a..c25ef32ad 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIBookLore.java +++ b/src/main/java/com/hbm/inventory/gui/GUIBookLore.java @@ -6,7 +6,7 @@ import java.util.List; import org.lwjgl.opengl.GL11; import com.hbm.lib.RefStrings; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; diff --git a/src/main/java/com/hbm/inventory/gui/GUICasingBag.java b/src/main/java/com/hbm/inventory/gui/GUICasingBag.java new file mode 100644 index 000000000..413c47613 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUICasingBag.java @@ -0,0 +1,51 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerCasingBag; +import com.hbm.items.tool.ItemCasingBag.InventoryCasingBag; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUICasingBag extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_casing_bag.png"); + private final InventoryCasingBag inventory; + + public GUICasingBag(InventoryPlayer invPlayer, InventoryCasingBag bag) { + super(new ContainerCasingBag(invPlayer, bag)); + this.inventory = bag; + + this.xSize = 176; + this.ySize = 186; + } + + @Override + public void drawScreen(int x, int y, float interp) { + super.drawScreen(x, y, interp); + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = I18n.format(this.inventory.getInventoryName()); + + if(inventory.hasCustomInventoryName()) { + name = inventory.box.getDisplayName(); + } + + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 0xffffff); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 98, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUICombustionEngine.java b/src/main/java/com/hbm/inventory/gui/GUICombustionEngine.java index dc8f89785..d75127785 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICombustionEngine.java +++ b/src/main/java/com/hbm/inventory/gui/GUICombustionEngine.java @@ -9,8 +9,8 @@ import com.hbm.inventory.fluid.trait.FT_Combustible; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemPistons.EnumPistonType; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.TileEntityMachineCombustionEngine; import com.hbm.util.EnumUtil; diff --git a/src/main/java/com/hbm/inventory/gui/GUICompressor.java b/src/main/java/com/hbm/inventory/gui/GUICompressor.java index 66e72609b..9ae3c4179 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICompressor.java +++ b/src/main/java/com/hbm/inventory/gui/GUICompressor.java @@ -4,9 +4,9 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerCompressor; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.machine.TileEntityMachineCompressor; +import com.hbm.packet.toserver.NBTControlPacket; +import com.hbm.tileentity.machine.TileEntityMachineCompressorBase; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; @@ -18,9 +18,9 @@ import net.minecraft.util.ResourceLocation; public class GUICompressor extends GuiInfoContainer { private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_compressor.png"); - private TileEntityMachineCompressor compressor; + private TileEntityMachineCompressorBase compressor; - public GUICompressor(InventoryPlayer invPlayer, TileEntityMachineCompressor tedf) { + public GUICompressor(InventoryPlayer invPlayer, TileEntityMachineCompressorBase tedf) { super(new ContainerCompressor(invPlayer, tedf)); compressor = tedf; diff --git a/src/main/java/com/hbm/inventory/gui/GUICoreEmitter.java b/src/main/java/com/hbm/inventory/gui/GUICoreEmitter.java index e8ac99bda..89502cc38 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICoreEmitter.java +++ b/src/main/java/com/hbm/inventory/gui/GUICoreEmitter.java @@ -6,8 +6,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerCoreEmitter; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AuxButtonPacket; import com.hbm.tileentity.machine.TileEntityCoreEmitter; import com.hbm.util.BobMathUtil; diff --git a/src/main/java/com/hbm/inventory/gui/GUICoreStabilizer.java b/src/main/java/com/hbm/inventory/gui/GUICoreStabilizer.java index 99c6fb2be..30ec1aa1d 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICoreStabilizer.java +++ b/src/main/java/com/hbm/inventory/gui/GUICoreStabilizer.java @@ -6,8 +6,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerCoreStabilizer; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AuxButtonPacket; import com.hbm.tileentity.machine.TileEntityCoreStabilizer; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUICounterTorch.java b/src/main/java/com/hbm/inventory/gui/GUICounterTorch.java index b4c4dd7b2..a17ee5155 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICounterTorch.java +++ b/src/main/java/com/hbm/inventory/gui/GUICounterTorch.java @@ -7,10 +7,11 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerCounterTorch; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; +import com.hbm.module.ModulePatternMatcher; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.network.TileEntityRadioTorchCounter; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; @@ -72,16 +73,7 @@ public class GUICounterTorch extends GuiInfoContainer { Slot slot = (Slot) this.inventorySlots.inventorySlots.get(i); if(this.isMouseOverSlot(slot, x, y) && counter.matcher.modes[i] != null) { - - String label = EnumChatFormatting.YELLOW + ""; - - switch(counter.matcher.modes[i]) { - case "exact": label += "Item and meta match"; break; - case "wildcard": label += "Item matches"; break; - default: label += "Ore dict key matches: " + counter.matcher.modes[i]; break; - } - - this.func_146283_a(Arrays.asList(new String[] { EnumChatFormatting.RED + "Right click to change", label }), x, y - 30); + this.func_146283_a(Arrays.asList(new String[] { EnumChatFormatting.RED + "Right click to change", ModulePatternMatcher.getLabel(counter.matcher.modes[i]) }), x, y - 30); } } } diff --git a/src/main/java/com/hbm/inventory/gui/GUICraneBoxer.java b/src/main/java/com/hbm/inventory/gui/GUICraneBoxer.java index e2faf5fa4..80dc88555 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICraneBoxer.java +++ b/src/main/java/com/hbm/inventory/gui/GUICraneBoxer.java @@ -4,8 +4,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerCraneBoxer; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.network.TileEntityCraneBoxer; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUICraneExtractor.java b/src/main/java/com/hbm/inventory/gui/GUICraneExtractor.java index e6937c829..18cd12019 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICraneExtractor.java +++ b/src/main/java/com/hbm/inventory/gui/GUICraneExtractor.java @@ -6,8 +6,9 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerCraneExtractor; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; +import com.hbm.module.ModulePatternMatcher; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.network.TileEntityCraneExtractor; import net.minecraft.client.Minecraft; @@ -41,16 +42,7 @@ public class GUICraneExtractor extends GuiInfoContainer { Slot slot = (Slot) this.inventorySlots.inventorySlots.get(i); if(this.isMouseOverSlot(slot, x, y) && ejector.matcher.modes[i] != null) { - - String label = EnumChatFormatting.YELLOW + ""; - - switch(ejector.matcher.modes[i]) { - case "exact": label += "Item and meta match"; break; - case "wildcard": label += "Item matches"; break; - default: label += "Ore dict key matches: " + ejector.matcher.modes[i]; break; - } - - this.func_146283_a(Arrays.asList(new String[] { EnumChatFormatting.RED + "Right click to change", label }), x, y - 30); + this.func_146283_a(Arrays.asList(new String[] { EnumChatFormatting.RED + "Right click to change", ModulePatternMatcher.getLabel(ejector.matcher.modes[i]) }), x, y - 30); } } } diff --git a/src/main/java/com/hbm/inventory/gui/GUICraneGrabber.java b/src/main/java/com/hbm/inventory/gui/GUICraneGrabber.java index ef1465205..641f7eba9 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICraneGrabber.java +++ b/src/main/java/com/hbm/inventory/gui/GUICraneGrabber.java @@ -6,8 +6,9 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerCraneGrabber; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; +import com.hbm.module.ModulePatternMatcher; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.network.TileEntityCraneGrabber; import net.minecraft.client.Minecraft; @@ -41,16 +42,7 @@ public class GUICraneGrabber extends GuiInfoContainer { Slot slot = (Slot) this.inventorySlots.inventorySlots.get(i); if(this.isMouseOverSlot(slot, x, y) && grabber.matcher.modes[i] != null) { - - String label = EnumChatFormatting.YELLOW + ""; - - switch(grabber.matcher.modes[i]) { - case "exact": label += "Item and meta match"; break; - case "wildcard": label += "Item matches"; break; - default: label += "Ore dict key matches: " + grabber.matcher.modes[i]; break; - } - - this.func_146283_a(Arrays.asList(new String[] { EnumChatFormatting.RED + "Right click to change", label }), x, y - 30); + this.func_146283_a(Arrays.asList(new String[] { EnumChatFormatting.RED + "Right click to change", ModulePatternMatcher.getLabel(grabber.matcher.modes[i]) }), x, y - 30); } } } diff --git a/src/main/java/com/hbm/inventory/gui/GUICraneInserter.java b/src/main/java/com/hbm/inventory/gui/GUICraneInserter.java index 28813d9ae..a4890ae00 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICraneInserter.java +++ b/src/main/java/com/hbm/inventory/gui/GUICraneInserter.java @@ -4,11 +4,15 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerCraneInserter; import com.hbm.lib.RefStrings; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.network.TileEntityCraneInserter; import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ResourceLocation; public class GUICraneInserter extends GuiInfoContainer { @@ -23,11 +27,23 @@ public class GUICraneInserter extends GuiInfoContainer { this.xSize = 176; this.ySize = 185; } + + @Override + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + if(guiLeft + 151 <= x && guiLeft + 151 + 18 > x && guiTop + 34 < y && guiTop + 34 + 18 >= y) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setBoolean("destroyer", true); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, inserter.xCoord, inserter.yCoord, inserter.zCoord)); + } + } @Override protected void drawGuiContainerForegroundLayer(int i, int j) { String name = this.inserter.hasCustomInventoryName() ? this.inserter.getInventoryName() : I18n.format(this.inserter.getInventoryName()); - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2 - 18, 5, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); } @@ -36,5 +52,8 @@ public class GUICraneInserter extends GuiInfoContainer { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(inserter.destroyer) + drawTexturedModalRect(guiLeft + 151, guiTop + 34, 176, 0, 18, 18); } } diff --git a/src/main/java/com/hbm/inventory/gui/GUICraneRouter.java b/src/main/java/com/hbm/inventory/gui/GUICraneRouter.java index f378237df..657a09736 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICraneRouter.java +++ b/src/main/java/com/hbm/inventory/gui/GUICraneRouter.java @@ -8,8 +8,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerCraneRouter; import com.hbm.lib.RefStrings; import com.hbm.module.ModulePatternMatcher; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.network.TileEntityCraneRouter; import net.minecraft.client.Minecraft; @@ -83,16 +83,7 @@ public class GUICraneRouter extends GuiInfoContainer { int index = i % 5; if(this.isMouseOverSlot(slot, x, y) && matcher.modes[index] != null) { - - String label = EnumChatFormatting.YELLOW + ""; - - switch(matcher.modes[index]) { - case "exact": label += "Item and meta match"; break; - case "wildcard": label += "Item matches"; break; - default: label += "Ore dict key matches: " + matcher.modes[index]; break; - } - - this.func_146283_a(Arrays.asList(new String[] { EnumChatFormatting.RED + "Right click to change", label}), x, y - 30); + this.func_146283_a(Arrays.asList(new String[] { EnumChatFormatting.RED + "Right click to change", ModulePatternMatcher.getLabel(matcher.modes[index])}), x, y - 30); } } } diff --git a/src/main/java/com/hbm/inventory/gui/GUICrateIron.java b/src/main/java/com/hbm/inventory/gui/GUICrateIron.java index 04a354e53..42be50f2c 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICrateIron.java +++ b/src/main/java/com/hbm/inventory/gui/GUICrateIron.java @@ -1,10 +1,10 @@ package com.hbm.inventory.gui; +import net.minecraft.inventory.IInventory; import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerCrateIron; import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.storage.TileEntityCrateIron; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiContainer; @@ -13,22 +13,22 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.ResourceLocation; public class GUICrateIron extends GuiContainer { - - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/storage/gui_crate_iron.png"); - private TileEntityCrateIron diFurnace; - public GUICrateIron(InventoryPlayer invPlayer, TileEntityCrateIron tedf) { - super(new ContainerCrateIron(invPlayer, tedf)); - diFurnace = tedf; - + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/storage/gui_crate_iron.png"); + private IInventory diFurnace; + + public GUICrateIron(InventoryPlayer invPlayer, IInventory inv) { + super(new ContainerCrateIron(invPlayer, inv)); + diFurnace = inv; + this.xSize = 176; this.ySize = 186; } - + @Override protected void drawGuiContainerForegroundLayer(int i, int j) { String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); - + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); } diff --git a/src/main/java/com/hbm/inventory/gui/GUICrateTemplate.java b/src/main/java/com/hbm/inventory/gui/GUICrateTemplate.java index 9968d461c..920e8deba 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICrateTemplate.java +++ b/src/main/java/com/hbm/inventory/gui/GUICrateTemplate.java @@ -1,10 +1,10 @@ package com.hbm.inventory.gui; +import net.minecraft.inventory.IInventory; import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerCrateTemplate; import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.storage.TileEntityCrateTemplate; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiContainer; @@ -13,22 +13,22 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.ResourceLocation; public class GUICrateTemplate extends GuiContainer { - - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/storage/gui_crate_template.png"); - private TileEntityCrateTemplate diFurnace; - public GUICrateTemplate(InventoryPlayer invPlayer, TileEntityCrateTemplate tedf) { + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/storage/gui_crate_template.png"); + private IInventory diFurnace; + + public GUICrateTemplate(InventoryPlayer invPlayer, IInventory tedf) { super(new ContainerCrateTemplate(invPlayer, tedf)); diFurnace = tedf; - + this.xSize = 176; this.ySize = 168; } - + @Override protected void drawGuiContainerForegroundLayer(int i, int j) { String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); - + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); } @@ -39,4 +39,4 @@ public class GUICrateTemplate extends GuiContainer { Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); } -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/inventory/gui/GUICrateTungsten.java b/src/main/java/com/hbm/inventory/gui/GUICrateTungsten.java index 30a0ec162..42a3a4e0c 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICrateTungsten.java +++ b/src/main/java/com/hbm/inventory/gui/GUICrateTungsten.java @@ -1,10 +1,11 @@ package com.hbm.inventory.gui; +import com.hbm.tileentity.machine.storage.TileEntityCrateTungsten; +import net.minecraft.inventory.IInventory; import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerCrateTungsten; import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.storage.TileEntityCrateTungsten; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiContainer; @@ -16,33 +17,41 @@ public class GUICrateTungsten extends GuiContainer { private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/storage/gui_crate_tungsten.png"); private static ResourceLocation texture_hot = new ResourceLocation(RefStrings.MODID + ":textures/gui/storage/gui_crate_tungsten_hot.png"); - private TileEntityCrateTungsten diFurnace; - - public GUICrateTungsten(InventoryPlayer invPlayer, TileEntityCrateTungsten tedf) { + private IInventory diFurnace; + + public GUICrateTungsten(InventoryPlayer invPlayer, IInventory tedf) { super(new ContainerCrateTungsten(invPlayer, tedf)); + setupGUI(tedf); + } + + private void setupGUI(IInventory tedf) { diFurnace = tedf; - + this.xSize = 176; this.ySize = 168; } - + @Override protected void drawGuiContainerForegroundLayer(int i, int j) { String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); - + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 0xffffff); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 0xffffff); } - + @Override protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - - if(diFurnace.getWorldObj().getBlockMetadata(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord) == 0) - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - else - Minecraft.getMinecraft().getTextureManager().bindTexture(texture_hot); - + + if (diFurnace instanceof TileEntityCrateTungsten) { + TileEntityCrateTungsten crate = (TileEntityCrateTungsten) diFurnace; + if(crate.getWorldObj().getBlockMetadata(crate.xCoord, crate.yCoord, crate.zCoord) == 0) + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + else + Minecraft.getMinecraft().getTextureManager().bindTexture(texture_hot); + } else + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); // Assuming it's in the inventory, we don't need to worry about it somehow being heated :ayo: + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); } } diff --git a/src/main/java/com/hbm/inventory/gui/GUICrucible.java b/src/main/java/com/hbm/inventory/gui/GUICrucible.java index a41ef4288..b63e4af4f 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICrucible.java +++ b/src/main/java/com/hbm/inventory/gui/GUICrucible.java @@ -14,7 +14,7 @@ import com.hbm.inventory.material.Mats.MaterialStack; import com.hbm.inventory.material.NTMMaterial.SmeltingBehavior; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityCrucible; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.OpenGlHelper; diff --git a/src/main/java/com/hbm/inventory/gui/GUICrystallizer.java b/src/main/java/com/hbm/inventory/gui/GUICrystallizer.java index 5794c5382..f94527ed6 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICrystallizer.java +++ b/src/main/java/com/hbm/inventory/gui/GUICrystallizer.java @@ -5,7 +5,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerCrystallizer; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityMachineCrystallizer; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; diff --git a/src/main/java/com/hbm/inventory/gui/GUIDroneCrate.java b/src/main/java/com/hbm/inventory/gui/GUIDroneCrate.java index cd99405b4..4e98d7c4a 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIDroneCrate.java +++ b/src/main/java/com/hbm/inventory/gui/GUIDroneCrate.java @@ -4,8 +4,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerDroneCrate; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.network.TileEntityDroneCrate; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUIDroneRequester.java b/src/main/java/com/hbm/inventory/gui/GUIDroneRequester.java index 4fec012e5..9010e1ce6 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIDroneRequester.java +++ b/src/main/java/com/hbm/inventory/gui/GUIDroneRequester.java @@ -6,6 +6,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerDroneRequester; import com.hbm.lib.RefStrings; +import com.hbm.module.ModulePatternMatcher; import com.hbm.tileentity.network.TileEntityDroneRequester; import net.minecraft.client.Minecraft; @@ -37,16 +38,7 @@ public class GUIDroneRequester extends GuiInfoContainer { Slot slot = (Slot) this.inventorySlots.inventorySlots.get(i); if(this.isMouseOverSlot(slot, x, y) && diFurnace.matcher.modes[i] != null) { - - String label = EnumChatFormatting.YELLOW + ""; - - switch(diFurnace.matcher.modes[i]) { - case "exact": label += "Item and meta match"; break; - case "wildcard": label += "Item matches"; break; - default: label += "Ore dict key matches: " + diFurnace.matcher.modes[i]; break; - } - - this.func_146283_a(Arrays.asList(new String[] { EnumChatFormatting.RED + "Right click to change", label }), x, y - 30); + this.func_146283_a(Arrays.asList(new String[] { EnumChatFormatting.RED + "Right click to change", ModulePatternMatcher.getLabel(diFurnace.matcher.modes[i]) }), x, y - 30); } } } diff --git a/src/main/java/com/hbm/inventory/gui/GUIElectrolyserFluid.java b/src/main/java/com/hbm/inventory/gui/GUIElectrolyserFluid.java index 914228045..32a547130 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIElectrolyserFluid.java +++ b/src/main/java/com/hbm/inventory/gui/GUIElectrolyserFluid.java @@ -4,8 +4,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerElectrolyserFluid; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.TileEntityElectrolyser; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUIElectrolyserMetal.java b/src/main/java/com/hbm/inventory/gui/GUIElectrolyserMetal.java index 3e4eabfd9..7a02e66b5 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIElectrolyserMetal.java +++ b/src/main/java/com/hbm/inventory/gui/GUIElectrolyserMetal.java @@ -8,10 +8,10 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerElectrolyserMetal; import com.hbm.inventory.material.Mats; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.TileEntityElectrolyser; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; diff --git a/src/main/java/com/hbm/inventory/gui/GUIFEL.java b/src/main/java/com/hbm/inventory/gui/GUIFEL.java index 890cb3299..443c01cac 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIFEL.java +++ b/src/main/java/com/hbm/inventory/gui/GUIFEL.java @@ -7,8 +7,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerFEL; import com.hbm.items.machine.ItemFELCrystal.EnumWavelengths; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AuxButtonPacket; import com.hbm.tileentity.machine.TileEntityFEL; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUIForceField.java b/src/main/java/com/hbm/inventory/gui/GUIForceField.java index 506541074..e18aca9f1 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIForceField.java +++ b/src/main/java/com/hbm/inventory/gui/GUIForceField.java @@ -4,8 +4,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerForceField; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AuxButtonPacket; import com.hbm.tileentity.machine.TileEntityForceField; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUIFunnel.java b/src/main/java/com/hbm/inventory/gui/GUIFunnel.java index 817be3b10..80fd75371 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIFunnel.java +++ b/src/main/java/com/hbm/inventory/gui/GUIFunnel.java @@ -4,8 +4,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerFunnel; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.TileEntityMachineFunnel; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUIHadron.java b/src/main/java/com/hbm/inventory/gui/GUIHadron.java index b39db1804..0cae2f176 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIHadron.java +++ b/src/main/java/com/hbm/inventory/gui/GUIHadron.java @@ -8,11 +8,11 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerHadron; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AuxButtonPacket; import com.hbm.tileentity.machine.TileEntityHadron; import com.hbm.tileentity.machine.TileEntityHadron.EnumHadronState; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; diff --git a/src/main/java/com/hbm/inventory/gui/GUIHeaterHeatex.java b/src/main/java/com/hbm/inventory/gui/GUIHeaterHeatex.java index a5a2a781f..d4eefef9a 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIHeaterHeatex.java +++ b/src/main/java/com/hbm/inventory/gui/GUIHeaterHeatex.java @@ -8,8 +8,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerHeaterHeatex; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.TileEntityHeaterHeatex; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUIICF.java b/src/main/java/com/hbm/inventory/gui/GUIICF.java index 4569fed1d..0effa9b4d 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIICF.java +++ b/src/main/java/com/hbm/inventory/gui/GUIICF.java @@ -32,7 +32,7 @@ public class GUIICF extends GuiInfoContainer { icf.tanks[1].renderTankInfo(this, x, y, guiLeft + 188, guiTop + 18, 16, 70); icf.tanks[2].renderTankInfo(this, x, y, guiLeft + 224, guiTop + 18, 16, 70); - this.drawCustomInfoStat(x, y, guiLeft + 8, guiTop + 18, 16, 70, x, y, icf.maxLaser <= 0 ? "OFFLINE" : (BobMathUtil.getShortNumber(icf.laser) + "TU - " + (icf.laser * 1000 / icf.maxLaser) / 10D + "%")); + this.drawCustomInfoStat(x, y, guiLeft + 8, guiTop + 18, 16, 70, x, y, icf.maxLaser <= 0 ? "OFFLINE" : (BobMathUtil.getShortNumber(icf.laser) + "TU/t - " + (icf.laser * 1000 / icf.maxLaser) / 10D + "%")); this.drawCustomInfoStat(x, y, guiLeft + 187, guiTop + 89, 18, 18, x, y, BobMathUtil.getShortNumber(icf.heat) + " / " + BobMathUtil.getShortNumber(icf.maxHeat) + "TU"); } diff --git a/src/main/java/com/hbm/inventory/gui/GUIIGenerator.java b/src/main/java/com/hbm/inventory/gui/GUIIGenerator.java deleted file mode 100644 index 8c2ef0b81..000000000 --- a/src/main/java/com/hbm/inventory/gui/GUIIGenerator.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.hbm.inventory.gui; - -import org.lwjgl.opengl.GL11; - -import com.hbm.inventory.container.ContainerIGenerator; -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.TileEntityMachineIGenerator; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; - -public class GUIIGenerator extends GuiInfoContainer { - - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/generators/gui_igen.png"); - private TileEntityMachineIGenerator igen; - - public GUIIGenerator(InventoryPlayer invPlayer, TileEntityMachineIGenerator tedf) { - super(new ContainerIGenerator(invPlayer, tedf)); - igen = tedf; - - this.xSize = 176; - this.ySize = 237; - } - - @Override - public void drawScreen(int x, int y, float f) { - super.drawScreen(x, y, f); - - this.drawElectricityInfo(this, x, y, guiLeft + 26, guiTop + 134, 142, 16, igen.power, igen.maxPower); - - for(int i = 0; i < 4; i++) { - int fire = igen.burn[i]; - - this.drawCustomInfoStat(x, y, guiLeft + 68 + (i % 2) * 18, guiTop + 34 + (i / 2) * 36, 14, 14, x, y, new String[] {(fire / 20) + "s"}); - } - - this.drawCustomInfoStat(x, y, guiLeft + 113, guiTop + 4, 54, 18, x, y, new String[] {"Heat generated"}); - - igen.tanks[0].renderTankInfo(this, x, y, guiLeft + 80, guiTop + 112, 72, 16); - igen.tanks[1].renderTankInfo(this, x, y, guiLeft + 114, guiTop + 33, 16, 70); - igen.tanks[2].renderTankInfo(this, x, y, guiLeft + 150, guiTop + 33, 18, 70); - } - - @Override - protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.igen.hasCustomInventoryName() ? this.igen.getInventoryName() : I18n.format(this.igen.getInventoryName()); - - GL11.glPushMatrix(); - double scale = 0.75D; - GL11.glScaled(scale, scale, 1); - this.fontRendererObj.drawString(name, 22, 18, 0x303030); - GL11.glPopMatrix(); - - String spin = this.igen.spin + ""; - this.fontRendererObj.drawString(spin, 139 - this.fontRendererObj.getStringWidth(spin) / 2, 10, 0x00ff00); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float iinterpolation, int x, int y) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - - int water = igen.tanks[0].getFill() * 72 / igen.tanks[0].getMaxFill(); - drawTexturedModalRect(guiLeft + 80, guiTop + 112, 184, 14, water, 16); - - int power = (int) (igen.power * 142 / igen.maxPower); - drawTexturedModalRect(guiLeft + 26, guiTop + 134, 0, 237, power, 16); - - for(int i = 0; i < 4; i++) { - int fire = igen.burn[i]; - - if(fire > 0) { - drawTexturedModalRect(guiLeft + 68 + (i % 2) * 18, guiTop + 34 + (i / 2) * 36, 184, 0, 14, 14); - } - } - - if(igen.hasRTG) { - drawTexturedModalRect(guiLeft + 9, guiTop + 34, 176, 0, 4, 89); - drawTexturedModalRect(guiLeft + 51, guiTop + 34, 180, 0, 4, 89); - } - - igen.tanks[1].renderTank(guiLeft + 114, guiTop + 103, this.zLevel, 16, 70); - igen.tanks[2].renderTank(guiLeft + 150, guiTop + 103, this.zLevel, 16, 70); - } -} diff --git a/src/main/java/com/hbm/inventory/gui/GUIITER.java b/src/main/java/com/hbm/inventory/gui/GUIITER.java index 4e9b1d85c..27f78ff5d 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIITER.java +++ b/src/main/java/com/hbm/inventory/gui/GUIITER.java @@ -4,8 +4,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerITER; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AuxButtonPacket; import com.hbm.tileentity.machine.TileEntityITER; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUILaunchPadLarge.java b/src/main/java/com/hbm/inventory/gui/GUILaunchPadLarge.java index ebcbe6365..a4d3824cc 100644 --- a/src/main/java/com/hbm/inventory/gui/GUILaunchPadLarge.java +++ b/src/main/java/com/hbm/inventory/gui/GUILaunchPadLarge.java @@ -14,7 +14,7 @@ import com.hbm.items.weapon.ItemMissile; import com.hbm.lib.RefStrings; import com.hbm.render.item.ItemRenderMissileGeneric; import com.hbm.tileentity.bomb.TileEntityLaunchPadBase; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.RenderHelper; diff --git a/src/main/java/com/hbm/inventory/gui/GUILaunchPadRusted.java b/src/main/java/com/hbm/inventory/gui/GUILaunchPadRusted.java index a90bd4799..d3bf1c87f 100644 --- a/src/main/java/com/hbm/inventory/gui/GUILaunchPadRusted.java +++ b/src/main/java/com/hbm/inventory/gui/GUILaunchPadRusted.java @@ -10,8 +10,8 @@ import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.container.ContainerLaunchPadRusted; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.render.item.ItemRenderMissileGeneric; import com.hbm.tileentity.bomb.TileEntityLaunchPadRusted; diff --git a/src/main/java/com/hbm/inventory/gui/GUILeadBox.java b/src/main/java/com/hbm/inventory/gui/GUILeadBox.java index 715b40b01..49802ce65 100644 --- a/src/main/java/com/hbm/inventory/gui/GUILeadBox.java +++ b/src/main/java/com/hbm/inventory/gui/GUILeadBox.java @@ -13,43 +13,43 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; public class GUILeadBox extends GuiContainer { - + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_containment.png"); private final InventoryLeadBox inventory; private ItemStack firstHeld; - + public GUILeadBox(InventoryPlayer invPlayer, InventoryLeadBox box) { super(new ContainerLeadBox(invPlayer, box)); this.inventory = box; - + this.xSize = 176; this.ySize = 186; } @Override public void drawScreen(int x, int y, float interp) { - + if(firstHeld == null) { // *very* unlikely to be incorrect on the first frame after opening, so doing this is good enough firstHeld = this.mc.thePlayer.getHeldItem(); - + // if the open box has changed or disappeared, close the inventory } else if(this.mc.thePlayer.getHeldItem() != firstHeld) { //this.mc.thePlayer.closeScreen(); //return; } - + super.drawScreen(x, y, interp); } - + @Override protected void drawGuiContainerForegroundLayer(int i, int j) { String name = I18n.format(this.inventory.getInventoryName()); - + if(inventory.hasCustomInventoryName()) { - name = inventory.box.getDisplayName(); + name = inventory.target.getDisplayName(); } - + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); } diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineAmmoPress.java b/src/main/java/com/hbm/inventory/gui/GUIMachineAmmoPress.java new file mode 100644 index 000000000..94c5499c9 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineAmmoPress.java @@ -0,0 +1,305 @@ +package com.hbm.inventory.gui; + +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + +import org.lwjgl.input.Keyboard; +import org.lwjgl.input.Mouse; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; + +import com.hbm.inventory.RecipesCommon.AStack; +import com.hbm.inventory.container.ContainerMachineAmmoPress; +import com.hbm.inventory.recipes.AmmoPressRecipes; +import com.hbm.inventory.recipes.AmmoPressRecipes.AmmoPressRecipe; +import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; +import com.hbm.tileentity.machine.TileEntityMachineAmmoPress; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.gui.GuiTextField; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; + +public class GUIMachineAmmoPress extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_ammo_press.png"); + private TileEntityMachineAmmoPress press; + + private List recipes = new ArrayList(); + int index; + int size; + int selection; + private GuiTextField search; + + public GUIMachineAmmoPress(InventoryPlayer invPlayer, TileEntityMachineAmmoPress press) { + super(new ContainerMachineAmmoPress(invPlayer, press)); + this.press = press; + + this.xSize = 176; + this.ySize = 200; + + this.selection = press.selectedRecipe; + + regenerateRecipes(); + } + + @Override + public void initGui() { + + super.initGui(); + + Keyboard.enableRepeatEvents(true); + this.search = new GuiTextField(this.fontRendererObj, guiLeft + 10, guiTop + 75, 66, 12); + this.search.setTextColor(-1); + this.search.setDisabledTextColour(-1); + this.search.setEnableBackgroundDrawing(false); + this.search.setMaxStringLength(25); + } + + private void regenerateRecipes() { + + this.recipes.clear(); + this.recipes.addAll(AmmoPressRecipes.recipes); + + resetPaging(); + } + + private void search(String search) { + + search = search.toLowerCase(Locale.US); + + this.recipes.clear(); + + if(search.isEmpty()) { + this.recipes.addAll(AmmoPressRecipes.recipes); + + } else { + for(AmmoPressRecipe recipe : AmmoPressRecipes.recipes) { + if(recipe.output.getDisplayName().toLowerCase(Locale.US).contains(search)) { + this.recipes.add(recipe); + } + } + } + + resetPaging(); + } + + private void resetPaging() { + + this.index = 0; + this.size = Math.max(0, (int)Math.ceil((this.recipes.size() - 12) / 3D)); + } + + @Override + public void drawScreen(int x, int y, float interp) { + super.drawScreen(x, y, interp); + + for(Object obj : this.inventorySlots.inventorySlots) { + Slot slot = (Slot) obj; + + // if the mouse is over a slot, cancel + if(this.func_146978_c(slot.xDisplayPosition, slot.yDisplayPosition, 16, 16, x, y) && slot.getHasStack()) { + return; + } + } + + if(guiLeft <= x && guiLeft + xSize > x && guiTop < y && guiTop + ySize >= y && getSlotAtPosition(x, y) == null) { + if(!Mouse.isButtonDown(0) && !Mouse.isButtonDown(1) && Mouse.next()) { + int scroll = Mouse.getEventDWheel(); + + if(scroll > 0 && this.index > 0) this.index--; + if(scroll < 0 && this.index < this.size) this.index++; + } + } + + for(int i = index * 3; i < index * 3 + 12; i++) { + + if(i >= this.recipes.size()) + break; + + int ind = i - index * 3; + + int ix = 16 + 18 * (ind / 3); + int iy = 17 + 18 * (ind % 3); + if(guiLeft + ix <= x && guiLeft + ix + 18 > x && guiTop + iy < y && guiTop + iy + 18 >= y) { + AmmoPressRecipe recipe = this.recipes.get(i); + this.renderToolTip(recipe.output, x, y); + } + } + } + + @Override + protected void mouseClicked(int x, int y, int k) { + super.mouseClicked(x, y, k); + + this.search.mouseClicked(x, y, k); + + if(guiLeft + 7 <= x && guiLeft + 7 + 9 > x && guiTop + 17 < y && guiTop + 17 + 54 >= y) { + click(); + if(this.index > 0) this.index--; + return; + } + + if(guiLeft + 88 <= x && guiLeft + 88 + 9 > x && guiTop + 17 < y && guiTop + 17 + 54 >= y) { + click(); + if(this.index < this.size) this.index++; + return; + } + + for(int i = index * 3; i < index * 3 + 12; i++) { + + if(i >= this.recipes.size()) + break; + + int ind = i - index * 3; + + int ix = 16 + 18 * (ind / 3); + int iy = 17 + 18 * (ind % 3); + if(guiLeft + ix <= x && guiLeft + ix + 18 > x && guiTop + iy < y && guiTop + iy + 18 >= y) { + + int newSelection = AmmoPressRecipes.recipes.indexOf(this.recipes.get(i)); + + if(this.selection != newSelection) + this.selection = newSelection; + else + this.selection = -1; + + NBTTagCompound data = new NBTTagCompound(); + data.setInteger("selection", this.selection); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, press.xCoord, press.yCoord, press.zCoord)); + click(); + return; + } + } + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.press.hasCustomInventoryName() ? this.press.getInventoryName() : I18n.format(this.press.getInventoryName()); + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 0xffffff); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float interp, int x, int y) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(guiLeft + 7 <= x && guiLeft + 7 + 9 > x && guiTop + 17 < y && guiTop + 17 + 54 >= y) { + drawTexturedModalRect(guiLeft + 7, guiTop + 17, 176, 0, 9, 54); + } + if(guiLeft + 88 <= x && guiLeft + 88 + 9 > x && guiTop + 17 < y && guiTop + 17 + 54 >= y) { + drawTexturedModalRect(guiLeft + 88, guiTop + 17, 185, 0, 9, 54); + } + + if(this.search.isFocused()) { + drawTexturedModalRect(guiLeft + 8, guiTop + 72, 176, 54, 70, 16); + } + + for(int i = index * 3; i < index * 3 + 12; i++) { + if(i >= recipes.size()) + break; + + int ind = i - index * 3; + + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + RenderHelper.enableGUIStandardItemLighting(); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + + AmmoPressRecipe recipe = recipes.get(i); + + FontRenderer font = null; + if(recipe.output != null) font = recipe.output.getItem().getFontRenderer(recipe.output); + if(font == null) font = fontRendererObj; + + itemRender.zLevel = 100.0F; + itemRender.renderItemAndEffectIntoGUI(font, this.mc.getTextureManager(), recipe.output, guiLeft + 17 + 18 * (ind / 3), guiTop + 18 + 18 * (ind % 3)); + + itemRender.zLevel = 0.0F; + + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glDisable(GL11.GL_LIGHTING); + this.mc.getTextureManager().bindTexture(texture); + this.zLevel = 300.0F; + + if(selection == AmmoPressRecipes.recipes.indexOf(this.recipes.get(i))) + this.drawTexturedModalRect(guiLeft + 16 + 18 * (ind / 3), guiTop + 17 + 18 * (ind % 3), 194, 0, 18, 18); + else + this.drawTexturedModalRect(guiLeft + 16 + 18 * (ind / 3), guiTop + 17 + 18 * (ind % 3), 212, 0, 18, 18); + + GL11.glPushMatrix(); + GL11.glTranslated(guiLeft + 17 + 18 * (ind / 3) + 8, guiTop + 18 + 18 * (ind % 3) + 8, 0); + GL11.glScaled(0.5, 0.5, 1); + itemRender.renderItemOverlayIntoGUI(font, this.mc.getTextureManager(), recipe.output, 0, 0, recipe.output.stackSize + ""); + GL11.glPopMatrix(); + } + + if(selection >= 0 && selection < AmmoPressRecipes.recipes.size()) { + AmmoPressRecipe recipe = AmmoPressRecipes.recipes.get(selection); + + for(int i = 0; i < 9; i++) { + AStack stack = recipe.input[i]; + if(stack == null) continue; + if(press.slots[i] != null) continue; + List inputs = stack.extractForNEI(); + ItemStack input = inputs.size() <= 0 ? new ItemStack(ModItems.nothing) : inputs.get((int) (Math.abs(System.currentTimeMillis() / 1000) % inputs.size())); + + RenderHelper.enableGUIStandardItemLighting(); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + + FontRenderer font = input.getItem().getFontRenderer(input); + if(font == null) font = fontRendererObj; + + itemRender.zLevel = 10.0F; + itemRender.renderItemAndEffectIntoGUI(font, this.mc.getTextureManager(), input, guiLeft + 116 + 18 * (i % 3), guiTop + 18 + 18 * (i / 3)); + itemRender.renderItemOverlayIntoGUI(font, this.mc.getTextureManager(), input, guiLeft + 116 + 18 * (i % 3), guiTop + 18 + 18 * (i / 3), input.stackSize > 1 ? (input.stackSize + "") : null); + itemRender.zLevel = 0.0F; + + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glDisable(GL11.GL_LIGHTING); + + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + this.zLevel = 300.0F; + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glColor4f(1F, 1F, 1F, 0.5F); + GL11.glEnable(GL11.GL_BLEND); + drawTexturedModalRect(guiLeft + 116 + 18 * (i % 3), guiTop + 18+ 18 * (i / 3), 116 + 18 * (i % 3), 18+ 18 * (i / 3), 18, 18); + GL11.glColor4f(1F, 1F, 1F, 1F); + GL11.glDisable(GL11.GL_BLEND); + } + } + + RenderHelper.disableStandardItemLighting(); + GL11.glColor4f(1F, 1F, 1F, 1F); + this.search.drawTextBox(); + } + + @Override + protected void keyTyped(char c, int key) { + + if(this.search.textboxKeyTyped(c, key)) { + search(this.search.getText()); + } else { + super.keyTyped(c, key); + } + } + + @Override + public void onGuiClosed() { + Keyboard.enableRepeatEvents(false); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineArcFurnaceLarge.java b/src/main/java/com/hbm/inventory/gui/GUIMachineArcFurnaceLarge.java index f1fdb4d91..5c8f9e55c 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineArcFurnaceLarge.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineArcFurnaceLarge.java @@ -11,10 +11,10 @@ import com.hbm.inventory.container.ContainerMachineArcFurnaceLarge; import com.hbm.inventory.material.Mats; import com.hbm.inventory.material.Mats.MaterialStack; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.TileEntityMachineArcFurnaceLarge; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineAssembler.java b/src/main/java/com/hbm/inventory/gui/GUIMachineAssembler.java index 795d8882b..8f0be9228 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineAssembler.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineAssembler.java @@ -6,7 +6,7 @@ import com.hbm.inventory.container.ContainerMachineAssembler; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityMachineAssembler; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineAssemblyMachine.java b/src/main/java/com/hbm/inventory/gui/GUIMachineAssemblyMachine.java new file mode 100644 index 000000000..1572ed3be --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineAssemblyMachine.java @@ -0,0 +1,121 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerMachineAssemblyMachine; +import com.hbm.inventory.recipes.AssemblyMachineRecipes; +import com.hbm.inventory.recipes.loader.GenericRecipe; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.TileEntityMachineAssemblyMachine; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Slot; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; + +public class GUIMachineAssemblyMachine extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_assembler.png"); + private TileEntityMachineAssemblyMachine assembler; + + public GUIMachineAssemblyMachine(InventoryPlayer invPlayer, TileEntityMachineAssemblyMachine tedf) { + super(new ContainerMachineAssemblyMachine(invPlayer, tedf)); + assembler = tedf; + + this.xSize = 176; + this.ySize = 256; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + assembler.inputTank.renderTankInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 99, 52, 16); + assembler.outputTank.renderTankInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 99, 52, 16); + + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 18, 16, 61, assembler.power, assembler.maxPower); + + if(guiLeft + 7 <= mouseX && guiLeft + 7 + 18 > mouseX && guiTop + 125 < mouseY && guiTop + 125 + 18 >= mouseY) { + if(this.assembler.assemblerModule.recipe != null && AssemblyMachineRecipes.INSTANCE.recipeNameMap.containsKey(this.assembler.assemblerModule.recipe)) { + GenericRecipe recipe = (GenericRecipe) AssemblyMachineRecipes.INSTANCE.recipeNameMap.get(this.assembler.assemblerModule.recipe); + this.func_146283_a(recipe.print(), mouseX, mouseY); + } else { + this.drawCreativeTabHoveringText(EnumChatFormatting.YELLOW + "Click to set recipe", mouseX, mouseY); + } + } + } + + @Override + protected void mouseClicked(int x, int y, int button) { + super.mouseClicked(x, y, button); + + if(this.checkClick(x, y, 7, 125, 18, 18)) GUIScreenRecipeSelector.openSelector(AssemblyMachineRecipes.INSTANCE, assembler, assembler.assemblerModule.recipe, 0, this); + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.assembler.hasCustomInventoryName() ? this.assembler.getInventoryName() : I18n.format(this.assembler.getInventoryName()); + + this.fontRendererObj.drawString(name, 70 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int p = (int) (assembler.power * 61 / assembler.maxPower); + drawTexturedModalRect(guiLeft + 152, guiTop + 79 - p, 176, 61 - p, 16, p); + + if(assembler.assemblerModule.progress > 0) { + int j = (int) Math.ceil(70 * assembler.assemblerModule.progress); + drawTexturedModalRect(guiLeft + 62, guiTop + 126, 176, 61, j, 16); + } + + GenericRecipe recipe = AssemblyMachineRecipes.INSTANCE.recipeNameMap.get(assembler.assemblerModule.recipe); + + /// LEFT LED + if(assembler.didProcess) { + drawTexturedModalRect(guiLeft + 51, guiTop + 121, 195, 0, 3, 6); + } else if(recipe != null) { + drawTexturedModalRect(guiLeft + 51, guiTop + 121, 192, 0, 3, 6); + } + + /// RIGHT LED + if(assembler.didProcess) { + drawTexturedModalRect(guiLeft + 56, guiTop + 121, 195, 0, 3, 6); + } else if(recipe != null && assembler.power >= recipe.power) { + drawTexturedModalRect(guiLeft + 56, guiTop + 121, 192, 0, 3, 6); + } + + this.renderItem(recipe != null ? recipe.getIcon() : TEMPLATE_FOLDER, 8, 126); + + if(recipe != null && recipe.inputItem != null) { + for(int i = 0; i < recipe.inputItem.length; i++) { + Slot slot = (Slot) this.inventorySlots.inventorySlots.get(assembler.assemblerModule.inputSlots[i]); + if(!slot.getHasStack()) this.renderItem(recipe.inputItem[i].extractForCyclingDisplay(20), slot.xDisplayPosition, slot.yDisplayPosition, 10F); + } + + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glColor4f(1F, 1F, 1F, 0.5F); + GL11.glEnable(GL11.GL_BLEND); + this.zLevel = 300F; + for(int i = 0; i < recipe.inputItem.length; i++) { + Slot slot = (Slot) this.inventorySlots.inventorySlots.get(assembler.assemblerModule.inputSlots[i]); + if(!slot.getHasStack()) drawTexturedModalRect(guiLeft + slot.xDisplayPosition, guiTop + slot.yDisplayPosition, slot.xDisplayPosition, slot.yDisplayPosition, 16, 16); + } + this.zLevel = 0F; + GL11.glColor4f(1F, 1F, 1F, 1F); + GL11.glDisable(GL11.GL_BLEND); + } + + assembler.inputTank.renderTank(guiLeft + 8, guiTop + 115, this.zLevel, 52, 16, 1); + assembler.outputTank.renderTank(guiLeft + 80, guiTop + 115, this.zLevel, 52, 16, 1); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineBattery.java b/src/main/java/com/hbm/inventory/gui/GUIMachineBattery.java index 11480d37d..b82ed39d4 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineBattery.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineBattery.java @@ -14,11 +14,11 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMachineBattery; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AuxButtonPacket; import com.hbm.tileentity.machine.storage.TileEntityMachineBattery; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; public class GUIMachineBattery extends GuiInfoContainer { diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineChemicalFactory.java b/src/main/java/com/hbm/inventory/gui/GUIMachineChemicalFactory.java new file mode 100644 index 000000000..a31917752 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineChemicalFactory.java @@ -0,0 +1,138 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerMachineChemicalFactory; +import com.hbm.inventory.recipes.ChemicalPlantRecipes; +import com.hbm.inventory.recipes.loader.GenericRecipe; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.TileEntityMachineChemicalFactory; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Slot; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; + +public class GUIMachineChemicalFactory extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_chemical_factory.png"); + private TileEntityMachineChemicalFactory chemplant; + + public GUIMachineChemicalFactory(InventoryPlayer invPlayer, TileEntityMachineChemicalFactory tedf) { + super(new ContainerMachineChemicalFactory(invPlayer, tedf)); + chemplant = tedf; + + this.xSize = 248; + this.ySize = 216; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + for(int i = 0; i < 3; i++) for(int j = 0; j < 4; j++) { + chemplant.inputTanks[i + j * 3].renderTankInfo(this, mouseX, mouseY, guiLeft + 60 + i * 5, guiTop + 20 + j * 22, 3, 16); + chemplant.outputTanks[i + j * 3].renderTankInfo(this, mouseX, mouseY, guiLeft + 189 + i * 5, guiTop + 20 + j * 22, 3, 16); + } + + chemplant.water.renderTankInfo(this, mouseX, mouseY, guiLeft + 224, guiTop + 125, 7, 52); + chemplant.lps.renderTankInfo(this, mouseX, mouseY, guiLeft + 233, guiTop + 125, 7, 52); + + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 224, guiTop + 18, 16, 68, chemplant.power, chemplant.maxPower); + + for(int i = 0; i < 4; i++) if(guiLeft + 74 <= mouseX && guiLeft + 74 + 18 > mouseX && guiTop + 19 + i * 22 < mouseY && guiTop + 19 + i * 22 + 18 >= mouseY) { + if(this.chemplant.chemplantModule[i].recipe != null && ChemicalPlantRecipes.INSTANCE.recipeNameMap.containsKey(this.chemplant.chemplantModule[i].recipe)) { + GenericRecipe recipe = (GenericRecipe) ChemicalPlantRecipes.INSTANCE.recipeNameMap.get(this.chemplant.chemplantModule[i].recipe); + this.func_146283_a(recipe.print(), mouseX, mouseY); + } else { + this.drawCreativeTabHoveringText(EnumChatFormatting.YELLOW + "Click to set recipe", mouseX, mouseY); + } + } + } + + @Override + protected void mouseClicked(int x, int y, int button) { + super.mouseClicked(x, y, button); + + for(int i = 0; i < 4; i++) if(this.checkClick(x, y, 74, 19 + i * 22, 18, 18)) GUIScreenRecipeSelector.openSelector(ChemicalPlantRecipes.INSTANCE, chemplant, chemplant.chemplantModule[i].recipe, i, this); + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.chemplant.hasCustomInventoryName() ? this.chemplant.getInventoryName() : I18n.format(this.chemplant.getInventoryName()); + + this.fontRendererObj.drawString(name, 106 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 26, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, 248, 116); + drawTexturedModalRect(guiLeft + 18, guiTop + 116, 18, 116, 230, 100); + + int p = (int) (chemplant.power * 68 / chemplant.maxPower); + drawTexturedModalRect(guiLeft + 224, guiTop + 86 - p, 0, 184 - p, 16, p); + + for(int i = 0; i < 4; i++) if(chemplant.chemplantModule[i].progress > 0) { + int j = (int) Math.ceil(22 * chemplant.chemplantModule[i].progress); + drawTexturedModalRect(guiLeft + 113, guiTop + 29 + i * 22, 0, 216, j, 6); + } + + for(int g = 0; g < 4; g++) { + GenericRecipe recipe = ChemicalPlantRecipes.INSTANCE.recipeNameMap.get(chemplant.chemplantModule[g].recipe); + + /// LEFT LED + if(chemplant.didProcess[g]) { + drawTexturedModalRect(guiLeft + 113, guiTop + 21 + g * 22, 4, 222, 4, 4); + } else if(recipe != null) { + drawTexturedModalRect(guiLeft + 113, guiTop + 21 + g * 22, 0, 222, 4, 4); + } + + /// RIGHT LED + if(chemplant.didProcess[g]) { + drawTexturedModalRect(guiLeft + 121, guiTop + 21 + g * 22, 4, 222, 4, 4); + } else if(recipe != null && chemplant.power >= recipe.power && chemplant.canCool()) { + drawTexturedModalRect(guiLeft + 121, guiTop + 21 + g * 22, 0, 222, 4, 4); + } + } + + for(int g = 0; g < 4; g++) { // not a great way of doing it but at least we eliminate state leak bullshit + GenericRecipe recipe = ChemicalPlantRecipes.INSTANCE.recipeNameMap.get(chemplant.chemplantModule[g].recipe); + + this.renderItem(recipe != null ? recipe.getIcon() : TEMPLATE_FOLDER, 75, 20 + g * 22); + + if(recipe != null && recipe.inputItem != null) { + for(int i = 0; i < recipe.inputItem.length; i++) { + Slot slot = (Slot) this.inventorySlots.inventorySlots.get(chemplant.chemplantModule[g].inputSlots[i]); + if(!slot.getHasStack()) this.renderItem(recipe.inputItem[i].extractForCyclingDisplay(20), slot.xDisplayPosition, slot.yDisplayPosition, 10F); + } + + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glColor4f(1F, 1F, 1F, 0.5F); + GL11.glEnable(GL11.GL_BLEND); + this.zLevel = 300F; + for(int i = 0; i < recipe.inputItem.length; i++) { + Slot slot = (Slot) this.inventorySlots.inventorySlots.get(chemplant.chemplantModule[g].inputSlots[i]); + if(!slot.getHasStack()) drawTexturedModalRect(guiLeft + slot.xDisplayPosition, guiTop + slot.yDisplayPosition, slot.xDisplayPosition, slot.yDisplayPosition, 16, 16); + } + this.zLevel = 0F; + GL11.glColor4f(1F, 1F, 1F, 1F); + GL11.glDisable(GL11.GL_BLEND); + } + } + + for(int i = 0; i < 3; i++) for(int j = 0; j < 4; j++) { + chemplant.inputTanks[i + j * 3].renderTank(guiLeft + 60 + i * 5, guiTop + 36 + j * 22, this.zLevel, 3, 16); + chemplant.outputTanks[i + j * 3].renderTank(guiLeft + 189 + i * 5, guiTop + 36 + j * 22, this.zLevel, 3, 16); + } + + chemplant.water.renderTank(guiLeft + 224, guiTop + 177, this.zLevel, 7, 52); + chemplant.lps.renderTank(guiLeft + 233, guiTop + 177, this.zLevel, 7, 52); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineChemicalPlant.java b/src/main/java/com/hbm/inventory/gui/GUIMachineChemicalPlant.java new file mode 100644 index 000000000..9f02d0adf --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineChemicalPlant.java @@ -0,0 +1,125 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerMachineChemicalPlant; +import com.hbm.inventory.recipes.ChemicalPlantRecipes; +import com.hbm.inventory.recipes.loader.GenericRecipe; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.TileEntityMachineChemicalPlant; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Slot; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; + +public class GUIMachineChemicalPlant extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_chemplant.png"); + private TileEntityMachineChemicalPlant chemplant; + + public GUIMachineChemicalPlant(InventoryPlayer invPlayer, TileEntityMachineChemicalPlant tedf) { + super(new ContainerMachineChemicalPlant(invPlayer, tedf)); + chemplant = tedf; + + this.xSize = 176; + this.ySize = 256; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + for(int i = 0; i < 3; i++) { + chemplant.inputTanks[i].renderTankInfo(this, mouseX, mouseY, guiLeft + 8 + i * 18, guiTop + 18, 16, 34); + chemplant.outputTanks[i].renderTankInfo(this, mouseX, mouseY, guiLeft + 80 + i * 18, guiTop + 18, 16, 34); + } + + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 18, 16, 61, chemplant.power, chemplant.maxPower); + + if(guiLeft + 7 <= mouseX && guiLeft + 7 + 18 > mouseX && guiTop + 125 < mouseY && guiTop + 125 + 18 >= mouseY) { + if(this.chemplant.chemplantModule.recipe != null && ChemicalPlantRecipes.INSTANCE.recipeNameMap.containsKey(this.chemplant.chemplantModule.recipe)) { + GenericRecipe recipe = (GenericRecipe) ChemicalPlantRecipes.INSTANCE.recipeNameMap.get(this.chemplant.chemplantModule.recipe); + this.func_146283_a(recipe.print(), mouseX, mouseY); + } else { + this.drawCreativeTabHoveringText(EnumChatFormatting.YELLOW + "Click to set recipe", mouseX, mouseY); + } + } + } + + @Override + protected void mouseClicked(int x, int y, int button) { + super.mouseClicked(x, y, button); + + if(this.checkClick(x, y, 7, 125, 18, 18)) GUIScreenRecipeSelector.openSelector(ChemicalPlantRecipes.INSTANCE, chemplant, chemplant.chemplantModule.recipe, 0, this); + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.chemplant.hasCustomInventoryName() ? this.chemplant.getInventoryName() : I18n.format(this.chemplant.getInventoryName()); + + this.fontRendererObj.drawString(name, 70 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int p = (int) (chemplant.power * 61 / chemplant.maxPower); + drawTexturedModalRect(guiLeft + 152, guiTop + 79 - p, 176, 61 - p, 16, p); + + if(chemplant.chemplantModule.progress > 0) { + int j = (int) Math.ceil(70 * chemplant.chemplantModule.progress); + drawTexturedModalRect(guiLeft + 62, guiTop + 126, 176, 61, j, 16); + } + + GenericRecipe recipe = ChemicalPlantRecipes.INSTANCE.recipeNameMap.get(chemplant.chemplantModule.recipe); + + /// LEFT LED + if(chemplant.didProcess) { + drawTexturedModalRect(guiLeft + 51, guiTop + 121, 195, 0, 3, 6); + } else if(recipe != null) { + drawTexturedModalRect(guiLeft + 51, guiTop + 121, 192, 0, 3, 6); + } + + /// RIGHT LED + if(chemplant.didProcess) { + drawTexturedModalRect(guiLeft + 56, guiTop + 121, 195, 0, 3, 6); + } else if(recipe != null && chemplant.power >= recipe.power) { + drawTexturedModalRect(guiLeft + 56, guiTop + 121, 192, 0, 3, 6); + } + + this.renderItem(recipe != null ? recipe.getIcon() : TEMPLATE_FOLDER, 8, 126); + + if(recipe != null && recipe.inputItem != null) { + for(int i = 0; i < recipe.inputItem.length; i++) { + Slot slot = (Slot) this.inventorySlots.inventorySlots.get(chemplant.chemplantModule.inputSlots[i]); + if(!slot.getHasStack()) this.renderItem(recipe.inputItem[i].extractForCyclingDisplay(20), slot.xDisplayPosition, slot.yDisplayPosition, 10F); + } + + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glColor4f(1F, 1F, 1F, 0.5F); + GL11.glEnable(GL11.GL_BLEND); + this.zLevel = 300F; + for(int i = 0; i < recipe.inputItem.length; i++) { + Slot slot = (Slot) this.inventorySlots.inventorySlots.get(chemplant.chemplantModule.inputSlots[i]); + if(!slot.getHasStack()) drawTexturedModalRect(guiLeft + slot.xDisplayPosition, guiTop + slot.yDisplayPosition, slot.xDisplayPosition, slot.yDisplayPosition, 16, 16); + } + this.zLevel = 0F; + GL11.glColor4f(1F, 1F, 1F, 1F); + GL11.glDisable(GL11.GL_BLEND); + } + + for(int i = 0; i < 3; i++) { + chemplant.inputTanks[i].renderTank(guiLeft + 8 + i * 18, guiTop + 52, this.zLevel, 16, 34); + chemplant.outputTanks[i].renderTank(guiLeft + 80 + i * 18, guiTop + 52, this.zLevel, 16, 34); + } + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineChemplant.java b/src/main/java/com/hbm/inventory/gui/GUIMachineChemplant.java index fc03ff008..9eb22f102 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineChemplant.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineChemplant.java @@ -6,7 +6,7 @@ import com.hbm.inventory.container.ContainerMachineChemplant; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityMachineChemplant; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineCustom.java b/src/main/java/com/hbm/inventory/gui/GUIMachineCustom.java index 2a02cd763..d106f3717 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineCustom.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineCustom.java @@ -10,6 +10,7 @@ import com.hbm.inventory.SlotPattern; import com.hbm.inventory.container.ContainerMachineCustom; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; +import com.hbm.module.ModulePatternMatcher; import com.hbm.tileentity.machine.TileEntityCustomMachine; import net.minecraft.client.Minecraft; @@ -44,16 +45,7 @@ public class GUIMachineCustom extends GuiInfoContainer { int tileIndex = slot.getSlotIndex(); if(this.isMouseOverSlot(slot, x, y) && slot instanceof SlotPattern && custom.matcher.modes[tileIndex - 10] != null) { - - String label = EnumChatFormatting.YELLOW + ""; - - switch(custom.matcher.modes[tileIndex - 10]) { - case "exact": label += "Item and meta match"; break; - case "wildcard": label += "Item matches"; break; - default: label += "Ore dict key matches: " + custom.matcher.modes[tileIndex - 10]; break; - } - - this.func_146283_a(Arrays.asList(new String[] { EnumChatFormatting.RED + "Right click to change", label }), x, y - 30); + this.func_146283_a(Arrays.asList(new String[] { EnumChatFormatting.RED + "Right click to change", ModulePatternMatcher.getLabel(custom.matcher.modes[tileIndex - 10]) }), x, y - 30); } } } diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineCyclotron.java b/src/main/java/com/hbm/inventory/gui/GUIMachineCyclotron.java index 5f5cfc339..29cf1d2a1 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineCyclotron.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineCyclotron.java @@ -5,7 +5,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMachineCyclotron; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityMachineCyclotron; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineDiFurnaceRTG.java b/src/main/java/com/hbm/inventory/gui/GUIMachineDiFurnaceRTG.java index 36606b0f4..ffd99b533 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineDiFurnaceRTG.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineDiFurnaceRTG.java @@ -10,7 +10,7 @@ import com.hbm.inventory.container.ContainerMachineDiFurnaceRTG; import com.hbm.items.machine.ItemRTGPellet; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityDiFurnaceRTG; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineElectricFurnace.java b/src/main/java/com/hbm/inventory/gui/GUIMachineElectricFurnace.java index 1f97b7216..bfb80de4b 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineElectricFurnace.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineElectricFurnace.java @@ -11,7 +11,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.inventory.container.ContainerElectricFurnace; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityMachineElectricFurnace; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; public class GUIMachineElectricFurnace extends GuiInfoContainer { diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineExcavator.java b/src/main/java/com/hbm/inventory/gui/GUIMachineExcavator.java index 4b78d4aa5..2fb7c9065 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineExcavator.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineExcavator.java @@ -4,10 +4,10 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMachineExcavator; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.TileEntityMachineExcavator; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineFluidTank.java b/src/main/java/com/hbm/inventory/gui/GUIMachineFluidTank.java index 54ddb47e9..9ef320390 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineFluidTank.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineFluidTank.java @@ -4,8 +4,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMachineFluidTank; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AuxButtonPacket; import com.hbm.tileentity.machine.storage.TileEntityMachineFluidTank; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineGasCent.java b/src/main/java/com/hbm/inventory/gui/GUIMachineGasCent.java index 0b81a0bd8..9213bfaf2 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineGasCent.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineGasCent.java @@ -5,7 +5,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMachineGasCent; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityMachineGasCent; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.Tessellator; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineGasFlare.java b/src/main/java/com/hbm/inventory/gui/GUIMachineGasFlare.java index abcc30b6e..addb10a33 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineGasFlare.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineGasFlare.java @@ -5,10 +5,10 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMachineGasFlare; import com.hbm.inventory.fluid.trait.FT_Flammable; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.oil.TileEntityMachineGasFlare; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineLaunchTable.java b/src/main/java/com/hbm/inventory/gui/GUIMachineLaunchTable.java index c5373d331..975fb7ad1 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineLaunchTable.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineLaunchTable.java @@ -6,8 +6,8 @@ import com.hbm.inventory.container.ContainerLaunchTable; import com.hbm.items.weapon.ItemCustomMissile; import com.hbm.items.weapon.ItemCustomMissilePart.PartSize; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AuxButtonPacket; import com.hbm.render.util.MissileMultipart; import com.hbm.render.util.MissilePronter; import com.hbm.tileentity.bomb.TileEntityLaunchTable; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineMissileAssembly.java b/src/main/java/com/hbm/inventory/gui/GUIMachineMissileAssembly.java index c40100afa..d8aec81b6 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineMissileAssembly.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineMissileAssembly.java @@ -4,8 +4,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMachineMissileAssembly; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AuxButtonPacket; import com.hbm.render.util.MissileMultipart; import com.hbm.render.util.MissilePart; import com.hbm.render.util.MissilePronter; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineOilWell.java b/src/main/java/com/hbm/inventory/gui/GUIMachineOilWell.java index faa229824..91e00e52d 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineOilWell.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineOilWell.java @@ -5,7 +5,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMachineOilWell; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.oil.TileEntityOilDrillBase; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineRTG.java b/src/main/java/com/hbm/inventory/gui/GUIMachineRTG.java index 2dc166fa4..90ca0759b 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineRTG.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineRTG.java @@ -8,7 +8,7 @@ import com.hbm.inventory.container.ContainerMachineRTG; import com.hbm.items.machine.ItemRTGPellet; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityMachineRTG; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; @@ -19,61 +19,59 @@ public class GUIMachineRTG extends GuiInfoContainer { private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_rtg.png"); private TileEntityMachineRTG rtg; - + public GUIMachineRTG(InventoryPlayer invPlayer, TileEntityMachineRTG tedf) { super(new ContainerMachineRTG(invPlayer, tedf)); rtg = tedf; - + this.xSize = 176; - this.ySize = 166; + this.ySize = 188; } - + @Override public void drawScreen(int mouseX, int mouseY, float f) { super.drawScreen(mouseX, mouseY, f); - this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 69 - 52, 16, 52, rtg.power, rtg.powerMax); - + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 146, guiTop + 9, 16, 51, rtg.power, rtg.powerMax); String[] heatText = I18nUtil.resolveKeyArray("desc.gui.rtg.heat", rtg.heat); - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 134, guiTop + 17, 16, 52, mouseX, mouseY, heatText); - + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 124, guiTop + 9, 16, 51, mouseX, mouseY, heatText); + List pellets = ItemRTGPellet.pelletList; String[] pelletText = new String[pellets.size() + 1]; pelletText[0] = I18nUtil.resolveKey("desc.gui.rtg.pellets"); - + for(int i = 0; i < pellets.size(); i++) { ItemRTGPellet pellet = pellets.get(i); pelletText[i + 1] = I18nUtil.resolveKey("desc.gui.rtg.pelletPower", I18nUtil.resolveKey(pellet.getUnlocalizedName() + ".name"), pellet.getHeat() * 5); } - - this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, pelletText); + + this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 12, guiTop + 25, 16, 16, guiLeft - 8, guiTop + 36 + 16, pelletText); } @Override protected void drawGuiContainerForegroundLayer( int i, int j) { String name = this.rtg.hasCustomInventoryName() ? this.rtg.getInventoryName() : I18n.format(this.rtg.getInventoryName()); - - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + + this.fontRendererObj.drawString(name, 13 ,7, 10925486); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); } - + @Override protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - if(rtg.hasHeat()) - { - int i = rtg.getHeatScaled(52); - drawTexturedModalRect(guiLeft + 134, guiTop + 69 - i, 176, 52 - i, 16, i); + if (rtg.hasHeat()) { + int i = rtg.getHeatScaled(51); // was 50 + drawTexturedModalRect(guiLeft + 124, guiTop + 61 - i, 176, 10 + (51 - i), 16, i); } - if(rtg.hasPower()) - { - int i = (int)rtg.getPowerScaled(52); - drawTexturedModalRect(guiLeft + 152, guiTop + 69 - i, 192, 52 - i, 16, i); + + if (rtg.hasPower()) { + int i = (int) rtg.getPowerScaled(51); // was 50 + drawTexturedModalRect(guiLeft + 146, guiTop + 61 - i, 192, 10 + (51 - i), 16, i); } - - this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2); + + this.drawInfoPanel(guiLeft - 12, guiTop + 25, 16, 16, 2); } } diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNT.java b/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNT.java index 68fd71f77..d2c1d4b7f 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNT.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNT.java @@ -5,11 +5,11 @@ import java.util.Arrays; import org.lwjgl.opengl.GL11; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.TileEntityMachineRadarNT; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import api.hbm.entity.RadarEntry; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNTSlots.java b/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNTSlots.java index 2c9338326..4f4fc4987 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNTSlots.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNTSlots.java @@ -8,7 +8,7 @@ import com.hbm.inventory.container.ContainerMachineRadarNT; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityMachineRadarNT; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineRotaryFurnace.java b/src/main/java/com/hbm/inventory/gui/GUIMachineRotaryFurnace.java new file mode 100644 index 000000000..01e5acf9f --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineRotaryFurnace.java @@ -0,0 +1,101 @@ +package com.hbm.inventory.gui; + +import java.awt.Color; +import java.util.List; + +import org.lwjgl.input.Keyboard; +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerMachineRotaryFurnace; +import com.hbm.inventory.material.Mats; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.TileEntityMachineRotaryFurnace; +import com.hbm.util.i18n.I18nUtil; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Slot; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; + +public class GUIMachineRotaryFurnace extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_rotary_furnace.png"); + private TileEntityMachineRotaryFurnace furnace; + + public GUIMachineRotaryFurnace(InventoryPlayer playerInv, TileEntityMachineRotaryFurnace tile) { + super(new ContainerMachineRotaryFurnace(playerInv, tile)); + + this.furnace = tile; + this.xSize = 176; + this.ySize = 186; + } + + @Override + public void drawScreen(int x, int y, float interp) { + super.drawScreen(x, y, interp); + + furnace.tanks[0].renderTankInfo(this, x, y, guiLeft + 8, guiTop + 36, 52, 16); + furnace.tanks[1].renderTankInfo(this, x, y, guiLeft + 134, guiTop + 18, 16, 52); + furnace.tanks[2].renderTankInfo(this, x, y, guiLeft + 152, guiTop + 18, 16, 52); + + Slot slot = (Slot) this.inventorySlots.inventorySlots.get(4); + if(this.isMouseOverSlot(slot, x, y) && !slot.getHasStack()) { + List bonuses = this.furnace.burnModule.getDesc(); + if(!bonuses.isEmpty()) this.func_146283_a(bonuses, x, y); + } + + if(furnace.output == null) { + this.drawCustomInfoStat(x, y, guiLeft + 98, guiTop + 18, 16, 52, x, y, EnumChatFormatting.RED + "Empty"); + } else { + this.drawCustomInfoStat(x, y, guiLeft + 98, guiTop + 18, 16, 52, x, y,EnumChatFormatting.YELLOW + + I18nUtil.resolveKey(furnace.output.material.getUnlocalizedName()) + ": " + Mats.formatAmount(furnace.output.amount, Keyboard.isKeyDown(Keyboard.KEY_LSHIFT))); + } + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.furnace.hasCustomInventoryName() ? this.furnace.getInventoryName() : I18n.format(this.furnace.getInventoryName()); + this.fontRendererObj.drawString(name, (this.xSize - 54) / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float interp, int x, int y) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int p = (int) Math.ceil(furnace.progress * 33); + drawTexturedModalRect(guiLeft + 63, guiTop + 30, 176, 0, p, 10); + + if(furnace.maxBurnTime > 0) { + int b = furnace.burnTime * 14 / furnace.maxBurnTime; + drawTexturedModalRect(guiLeft + 26, guiTop + 69 - b, 176, 24 - b, 14, b); + } + + if(furnace.output != null) { + + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + + int hex = furnace.output.material.moltenColor; + int amount = furnace.output.amount * 52 / furnace.maxOutput; + Color color = new Color(hex); + GL11.glColor3f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F); + drawTexturedModalRect(guiLeft + 98, guiTop + 70 - amount, 176, 76 - amount, 16, amount); + GL11.glEnable(GL11.GL_BLEND); + GL11.glColor4f(1F, 1F, 1F, 0.3F); + drawTexturedModalRect(guiLeft + 98, guiTop + 70 - amount, 176, 76 - amount, 16, amount); + GL11.glDisable(GL11.GL_BLEND); + + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glColor3f(255, 255, 255); + } + + furnace.tanks[0].renderTank(guiLeft + 8, guiTop + 52, this.zLevel, 52, 16, 1); + furnace.tanks[1].renderTank(guiLeft + 134, guiTop + 70, this.zLevel, 16, 52); + furnace.tanks[2].renderTank(guiLeft + 152, guiTop + 70, this.zLevel, 16, 52); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineShredder.java b/src/main/java/com/hbm/inventory/gui/GUIMachineShredder.java index 255b789ba..ef433374e 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineShredder.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineShredder.java @@ -21,7 +21,7 @@ public class GUIMachineShredder extends GuiInfoContainer { diFurnace = tedf; this.xSize = 176; - this.ySize = 222; + this.ySize = 233; } @Override diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineSolderingStation.java b/src/main/java/com/hbm/inventory/gui/GUIMachineSolderingStation.java index 1a3a3f363..7e718b9f9 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineSolderingStation.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineSolderingStation.java @@ -4,11 +4,16 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMachineSolderingStation; import com.hbm.lib.RefStrings; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.TileEntityMachineSolderingStation; import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; public class GUIMachineSolderingStation extends GuiInfoContainer { @@ -32,6 +37,24 @@ public class GUIMachineSolderingStation extends GuiInfoContainer { this.drawElectricityInfo(this, x, y, guiLeft + 152, guiTop + 18, 16, 52, solderer.getPower(), solderer.getMaxPower()); this.drawCustomInfoStat(x, y, guiLeft + 78, guiTop + 67, 8, 8, guiLeft + 78, guiTop + 67, this.getUpgradeInfo(solderer)); + + + this.drawCustomInfoStat(x, y, guiLeft + 5, guiTop + 66, 10, 10, x, y, + "Recipe Collision Prevention: " + (solderer.collisionPrevention ? EnumChatFormatting.GREEN + "ON" : EnumChatFormatting.RED + "OFF"), + "Prevents no-fluid recipes from being processed", + "when fluid is present."); + } + + @Override + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + if(guiLeft + 5 <= x && guiLeft + 5 + 10 > x && guiTop + 66 < y && guiTop + 66 + 10 >= y) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setBoolean("collision", true); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, solderer.xCoord, solderer.yCoord, solderer.zCoord)); + } } @Override diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineStrandCaster.java b/src/main/java/com/hbm/inventory/gui/GUIMachineStrandCaster.java index f30b6d7a1..1037d1fa8 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineStrandCaster.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineStrandCaster.java @@ -4,7 +4,8 @@ import com.hbm.inventory.container.ContainerMachineStrandCaster; import com.hbm.inventory.material.Mats; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityMachineStrandCaster; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; + import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.resources.I18n; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineTurbineGas.java b/src/main/java/com/hbm/inventory/gui/GUIMachineTurbineGas.java index 6200eefa3..21945ed89 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineTurbineGas.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineTurbineGas.java @@ -11,10 +11,10 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.trait.FT_Combustible; import com.hbm.inventory.fluid.trait.FT_Combustible.FuelGrade; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.TileEntityMachineTurbineGas; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineWoodBurner.java b/src/main/java/com/hbm/inventory/gui/GUIMachineWoodBurner.java index 977f11d20..659febdab 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineWoodBurner.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineWoodBurner.java @@ -7,8 +7,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMachineWoodBurner; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.TileEntityMachineWoodBurner; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMassStorage.java b/src/main/java/com/hbm/inventory/gui/GUIMassStorage.java index dfa413f97..08d74a6c3 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMassStorage.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMassStorage.java @@ -7,8 +7,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMassStorage; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.storage.TileEntityMassStorage; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMicrowave.java b/src/main/java/com/hbm/inventory/gui/GUIMicrowave.java index bc64a398e..13a3ac0f7 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMicrowave.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMicrowave.java @@ -4,8 +4,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMicrowave; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AuxButtonPacket; import com.hbm.tileentity.machine.TileEntityMicrowave; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMiningLaser.java b/src/main/java/com/hbm/inventory/gui/GUIMiningLaser.java index 79681e6f8..6f5441984 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMiningLaser.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMiningLaser.java @@ -4,8 +4,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMiningLaser; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AuxButtonPacket; import com.hbm.tileentity.machine.TileEntityMachineMiningLaser; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMixer.java b/src/main/java/com/hbm/inventory/gui/GUIMixer.java index 79f6461d6..974e41635 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMixer.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMixer.java @@ -9,8 +9,8 @@ import com.hbm.inventory.container.ContainerMixer; import com.hbm.inventory.recipes.MixerRecipes; import com.hbm.inventory.recipes.MixerRecipes.MixerRecipe; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.TileEntityMachineMixer; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUINukeBoy.java b/src/main/java/com/hbm/inventory/gui/GUINukeBoy.java index b89cff524..3d2170bbc 100644 --- a/src/main/java/com/hbm/inventory/gui/GUINukeBoy.java +++ b/src/main/java/com/hbm/inventory/gui/GUINukeBoy.java @@ -6,7 +6,7 @@ import com.hbm.inventory.container.ContainerNukeBoy; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.tileentity.bomb.TileEntityNukeBoy; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; diff --git a/src/main/java/com/hbm/inventory/gui/GUINukeFstbmb.java b/src/main/java/com/hbm/inventory/gui/GUINukeFstbmb.java index b03155b93..a3147d449 100644 --- a/src/main/java/com/hbm/inventory/gui/GUINukeFstbmb.java +++ b/src/main/java/com/hbm/inventory/gui/GUINukeFstbmb.java @@ -6,8 +6,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerNukeFstbmb; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AuxButtonPacket; import com.hbm.tileentity.bomb.TileEntityNukeBalefire; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUINukeFurnace.java b/src/main/java/com/hbm/inventory/gui/GUINukeFurnace.java deleted file mode 100644 index 70187b8de..000000000 --- a/src/main/java/com/hbm/inventory/gui/GUINukeFurnace.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.hbm.inventory.gui; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -import com.hbm.inventory.container.ContainerNukeFurnace; -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.TileEntityNukeFurnace; - -public class GUINukeFurnace extends GuiInfoContainer { - - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_nuke_furnace.png"); - private TileEntityNukeFurnace furnace; - - public GUINukeFurnace(InventoryPlayer invPlayer, TileEntityNukeFurnace tedf) { - super(new ContainerNukeFurnace(invPlayer, tedf)); - furnace = tedf; - - this.xSize = 176; - this.ySize = 166; - } - - @Override - public void drawScreen(int mouseX, int mouseY, float f) { - super.drawScreen(mouseX, mouseY, f); - - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 55, guiTop + 34, 18, 18, mouseX, mouseY, new String[] { furnace.dualPower + " operation(s) left" }); - } - - @Override - protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.furnace.hasCustomInventoryName() ? this.furnace.getInventoryName() : I18n.format(this.furnace.getInventoryName()); - - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); - this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - - if(furnace.hasPower()) - drawTexturedModalRect(guiLeft + 55, guiTop + 35, 176, 0, 18, 16); - - int i = furnace.getDiFurnaceProgressScaled(24); - drawTexturedModalRect(guiLeft + 80, guiTop + 34, 176, 16, i, 17); - } -} diff --git a/src/main/java/com/hbm/inventory/gui/GUINukeGadget.java b/src/main/java/com/hbm/inventory/gui/GUINukeGadget.java index ad0d4c8ef..ee1979ebf 100644 --- a/src/main/java/com/hbm/inventory/gui/GUINukeGadget.java +++ b/src/main/java/com/hbm/inventory/gui/GUINukeGadget.java @@ -10,7 +10,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerNukeGadget; import com.hbm.lib.RefStrings; import com.hbm.tileentity.bomb.TileEntityNukeGadget; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; public class GUINukeGadget extends GuiInfoContainer { diff --git a/src/main/java/com/hbm/inventory/gui/GUINukeMan.java b/src/main/java/com/hbm/inventory/gui/GUINukeMan.java index b89d2b043..79268b460 100644 --- a/src/main/java/com/hbm/inventory/gui/GUINukeMan.java +++ b/src/main/java/com/hbm/inventory/gui/GUINukeMan.java @@ -10,7 +10,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerNukeMan; import com.hbm.lib.RefStrings; import com.hbm.tileentity.bomb.TileEntityNukeMan; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; public class GUINukeMan extends GuiInfoContainer { diff --git a/src/main/java/com/hbm/inventory/gui/GUINukeMike.java b/src/main/java/com/hbm/inventory/gui/GUINukeMike.java index b42539226..1c8c3abfd 100644 --- a/src/main/java/com/hbm/inventory/gui/GUINukeMike.java +++ b/src/main/java/com/hbm/inventory/gui/GUINukeMike.java @@ -6,7 +6,7 @@ import com.hbm.inventory.container.ContainerNukeMike; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.tileentity.bomb.TileEntityNukeMike; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; diff --git a/src/main/java/com/hbm/inventory/gui/GUINukeTsar.java b/src/main/java/com/hbm/inventory/gui/GUINukeTsar.java index 4d22cde31..eada61893 100644 --- a/src/main/java/com/hbm/inventory/gui/GUINukeTsar.java +++ b/src/main/java/com/hbm/inventory/gui/GUINukeTsar.java @@ -11,7 +11,7 @@ import com.hbm.inventory.container.ContainerNukeTsar; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.tileentity.bomb.TileEntityNukeTsar; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; public class GUINukeTsar extends GuiInfoContainer { diff --git a/src/main/java/com/hbm/inventory/gui/GUIOilburner.java b/src/main/java/com/hbm/inventory/gui/GUIOilburner.java index 8d040b03f..d93949e1a 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIOilburner.java +++ b/src/main/java/com/hbm/inventory/gui/GUIOilburner.java @@ -7,8 +7,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerOilburner; import com.hbm.inventory.fluid.trait.FT_Flammable; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.TileEntityHeaterOilburner; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUIPADetector.java b/src/main/java/com/hbm/inventory/gui/GUIPADetector.java new file mode 100644 index 000000000..f7cdb5810 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIPADetector.java @@ -0,0 +1,66 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerPADetector; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.albion.TileEntityPADetector; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; + +public class GUIPADetector extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/particleaccelerator/gui_detector.png"); + private TileEntityPADetector source; + + public GUIPADetector(InventoryPlayer player, TileEntityPADetector source) { + super(new ContainerPADetector(player, source)); + this.source = source; + + this.xSize = 176; + this.ySize = 204; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + source.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 36, 16, 52); + source.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 36, 16, 52); + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 18, 16, 52, source.power, source.getMaxPower()); + } + + @Override + protected void drawGuiContainerForegroundLayer( int i, int j) { + + String name = this.source.hasCustomInventoryName() ? this.source.getInventoryName() : I18n.format(this.source.getInventoryName()); + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2 - 9, 4, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + + this.fontRendererObj.drawString(EnumChatFormatting.AQUA + "/123K", 136, 22, 4210752); + int heat = (int) Math.ceil(source.temperature); + String label = (heat > 123 ? EnumChatFormatting.RED : EnumChatFormatting.AQUA) + "" + heat + "K"; + this.fontRendererObj.drawString(label, 166 - this.fontRendererObj.getStringWidth(label), 12, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float interp, int x, int y) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int j = (int) (source.power * 52 / source.getMaxPower()); + drawTexturedModalRect(guiLeft + 8, guiTop + 70 - j, 184, 52 - j, 16, j); + + int heat = (int) Math.ceil(source.temperature); + if(heat <= 123) drawTexturedModalRect(guiLeft + 44, guiTop + 18, 176, 8, 8, 8); + if(source.power >= source.usage) drawTexturedModalRect(guiLeft + 44, guiTop + 43, 176, 8, 8, 8); + + source.tanks[0].renderTank(guiLeft + 134, guiTop + 88, this.zLevel, 16, 52); + source.tanks[1].renderTank(guiLeft + 152, guiTop + 88, this.zLevel, 16, 52); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIPADipole.java b/src/main/java/com/hbm/inventory/gui/GUIPADipole.java new file mode 100644 index 000000000..da63bd28c --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIPADipole.java @@ -0,0 +1,179 @@ +package com.hbm.inventory.gui; + +import org.apache.commons.lang3.math.NumberUtils; +import org.lwjgl.input.Keyboard; +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerPADipole; +import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; +import com.hbm.tileentity.machine.albion.TileEntityPADipole; +import com.hbm.util.Vec3NT; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.gui.GuiTextField; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; + +public class GUIPADipole extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/particleaccelerator/gui_dipole.png"); + private TileEntityPADipole dipole; + + protected GuiTextField threshold; + + public GUIPADipole(InventoryPlayer player, TileEntityPADipole dipole) { + super(new ContainerPADipole(player, dipole)); + this.dipole = dipole; + + this.xSize = 176; + this.ySize = 204; + } + + @Override + public void initGui() { + super.initGui(); + + Keyboard.enableRepeatEvents(true); + + this.threshold = new GuiTextField(this.fontRendererObj, guiLeft + 47, guiTop + 77, 66, 8); + this.threshold.setTextColor(0x00ff00); + this.threshold.setDisabledTextColour(0x00ff00); + this.threshold.setEnableBackgroundDrawing(false); + this.threshold.setMaxStringLength(9); + this.threshold.setText("" + dipole.threshold); + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + dipole.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 36, 16, 52); + dipole.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 36, 16, 52); + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 18, 16, 52, dipole.power, dipole.getMaxPower()); + + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 62, guiTop + 29, 12, 12, mouseX, mouseY, EnumChatFormatting.BLUE + "Player orientation", EnumChatFormatting.RED + "Output orientation:", dipole.ditToForgeDir(dipole.dirLower).name()); + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 62, guiTop + 43, 12, 12, mouseX, mouseY, EnumChatFormatting.BLUE + "Player orientation", EnumChatFormatting.RED + "Output orientation:", dipole.ditToForgeDir(dipole.dirUpper).name()); + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 62, guiTop + 57, 12, 12, mouseX, mouseY, EnumChatFormatting.BLUE + "Player orientation", EnumChatFormatting.RED + "Output orientation:", dipole.ditToForgeDir(dipole.dirRedstone).name()); + } + + @Override + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + this.threshold.mouseClicked(x, y, i); + + if(guiLeft + 62 <= x && guiLeft + 62 + 12 > x && guiTop + 29 < y && guiTop + 29 + 12 >= y) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setBoolean("lower", true); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, dipole.xCoord, dipole.yCoord, dipole.zCoord)); + } + + if(guiLeft + 62 <= x && guiLeft + 62 + 12 > x && guiTop + 43 < y && guiTop + 43 + 12 >= y) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setBoolean("upper", true); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, dipole.xCoord, dipole.yCoord, dipole.zCoord)); + } + + if(guiLeft + 62 <= x && guiLeft + 62 + 12 > x && guiTop + 57 < y && guiTop + 57 + 12 >= y) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setBoolean("redstone", true); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, dipole.xCoord, dipole.yCoord, dipole.zCoord)); + } + } + + @Override + protected void drawGuiContainerForegroundLayer( int i, int j) { + + String name = this.dipole.hasCustomInventoryName() ? this.dipole.getInventoryName() : I18n.format(this.dipole.getInventoryName()); + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2 - 9, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + + this.fontRendererObj.drawString(EnumChatFormatting.AQUA + "/123K", 136, 22, 4210752); + int heat = (int) Math.ceil(dipole.temperature); + String label = (heat > 123 ? EnumChatFormatting.RED : EnumChatFormatting.AQUA) + "" + heat + "K"; + this.fontRendererObj.drawString(label, 166 - this.fontRendererObj.getStringWidth(label), 12, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float interp, int x, int y) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int j = (int) (dipole.power * 52 / dipole.getMaxPower()); + drawTexturedModalRect(guiLeft + 8, guiTop + 70 - j, 184, 52 - j, 16, j); + + int heat = (int) Math.ceil(dipole.temperature); + if(heat <= 123) drawTexturedModalRect(guiLeft + 93, guiTop + 54, 176, 8, 8, 8); + if(dipole.slots[1] != null && dipole.slots[1].getItem() == ModItems.pa_coil) drawTexturedModalRect(guiLeft + 103, guiTop + 54, 176, 8, 8, 8); + if(dipole.power >= dipole.usage) drawTexturedModalRect(guiLeft + 83, guiTop + 54, 176, 8, 8, 8); + + GL11.glPushMatrix(); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glLineWidth(3F); + + Vec3NT vec = new Vec3NT(0, 0, 0); + vec.rotateAroundZDeg(MainRegistry.proxy.me().rotationYaw); + + Tessellator tessellator = Tessellator.instance; + tessellator.startDrawing(1); + addLine(tessellator, 68, 35, 0x8080ff, vec, 180); + addLine(tessellator, 68, 35, 0xff0000, vec, MainRegistry.proxy.me().rotationYaw - dipole.dirLower * 90); + addLine(tessellator, 68, 49, 0x8080ff, vec, 180); + addLine(tessellator, 68, 49, 0xff0000, vec, MainRegistry.proxy.me().rotationYaw - dipole.dirUpper * 90); + addLine(tessellator, 68, 63, 0x8080ff, vec, 180); + addLine(tessellator, 68, 63, 0xff0000, vec, MainRegistry.proxy.me().rotationYaw - dipole.dirRedstone * 90); + tessellator.draw(); + + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glPopMatrix(); + + this.threshold.drawTextBox(); + + dipole.tanks[0].renderTank(guiLeft + 134, guiTop + 88, this.zLevel, 16, 52); + dipole.tanks[1].renderTank(guiLeft + 152, guiTop + 88, this.zLevel, 16, 52); + } + + public void addLine(Tessellator tess, int x, int y, int color, Vec3NT vec, float yaw) { + vec.setComponents(0, 6, 0); + vec.rotateAroundZDeg(yaw); + tess.setColorOpaque_I(color); + tess.addVertex(guiLeft + x, guiTop + y, this.zLevel); + tess.addVertex(guiLeft + x + vec.xCoord, guiTop + y + vec.yCoord, this.zLevel); + } + + @Override + protected void keyTyped(char c, int i) { + if(this.threshold.textboxKeyTyped(c, i)) { + String text = this.threshold.getText(); + if(text.startsWith("0")) this.threshold.setText(text.substring(1)); + if(this.threshold.getText().isEmpty()) this.threshold.setText("0"); + if(NumberUtils.isDigits(this.threshold.getText())) { + int num = NumberUtils.toInt(this.threshold.getText()); + NBTTagCompound data = new NBTTagCompound(); + data.setInteger("threshold", num); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, dipole.xCoord, dipole.yCoord, dipole.zCoord)); + } + return; + } + super.keyTyped(c, i); + } + + @Override + public void onGuiClosed() { + super.onGuiClosed(); + Keyboard.enableRepeatEvents(false); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIPAQuadrupole.java b/src/main/java/com/hbm/inventory/gui/GUIPAQuadrupole.java new file mode 100644 index 000000000..868317dc7 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIPAQuadrupole.java @@ -0,0 +1,68 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerPAQuadrupole; +import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.albion.TileEntityPAQuadrupole; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; + +public class GUIPAQuadrupole extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/particleaccelerator/gui_quadrupole.png"); + private TileEntityPAQuadrupole quadrupole; + + public GUIPAQuadrupole(InventoryPlayer player, TileEntityPAQuadrupole slopper) { + super(new ContainerPAQuadrupole(player, slopper)); + this.quadrupole = slopper; + + this.xSize = 176; + this.ySize = 204; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + quadrupole.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 116, guiTop + 36, 16, 52); + quadrupole.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 36, 16, 52); + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 18, 16, 52, quadrupole.power, quadrupole.getMaxPower()); + } + + @Override + protected void drawGuiContainerForegroundLayer( int i, int j) { + + String name = this.quadrupole.hasCustomInventoryName() ? this.quadrupole.getInventoryName() : I18n.format(this.quadrupole.getInventoryName()); + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2 - 9, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + + this.fontRendererObj.drawString(EnumChatFormatting.AQUA + "/123K", 118, 22, 4210752); + int heat = (int) Math.ceil(quadrupole.temperature); + String label = (heat > 123 ? EnumChatFormatting.RED : EnumChatFormatting.AQUA) + "" + heat + "K"; + this.fontRendererObj.drawString(label, 148 - this.fontRendererObj.getStringWidth(label), 12, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float interp, int x, int y) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int j = (int) (quadrupole.power * 52 / quadrupole.getMaxPower()); + drawTexturedModalRect(guiLeft + 26, guiTop + 70 - j, 184, 52 - j, 16, j); + + int heat = (int) Math.ceil(quadrupole.temperature); + if(heat <= 123) drawTexturedModalRect(guiLeft + 75, guiTop + 64, 176, 8, 8, 8); + if(quadrupole.slots[1] != null && quadrupole.slots[1].getItem() == ModItems.pa_coil) drawTexturedModalRect(guiLeft + 85, guiTop + 64, 176, 8, 8, 8); + if(quadrupole.power >= quadrupole.usage) drawTexturedModalRect(guiLeft + 65, guiTop + 64, 176, 8, 8, 8); + + quadrupole.tanks[0].renderTank(guiLeft + 116, guiTop + 88, this.zLevel, 16, 52); + quadrupole.tanks[1].renderTank(guiLeft + 134, guiTop + 88, this.zLevel, 16, 52); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIPARFC.java b/src/main/java/com/hbm/inventory/gui/GUIPARFC.java new file mode 100644 index 000000000..deba67b70 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIPARFC.java @@ -0,0 +1,59 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerPARFC; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.albion.TileEntityPARFC; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; + +public class GUIPARFC extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/particleaccelerator/gui_rfc.png"); + private TileEntityPARFC quadrupole; + + public GUIPARFC(InventoryPlayer player, TileEntityPARFC slopper) { + super(new ContainerPARFC(player, slopper)); + this.quadrupole = slopper; + + this.xSize = 176; + this.ySize = 204; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + quadrupole.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 89, guiTop + 36, 16, 52); + quadrupole.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 107, guiTop + 36, 16, 52); + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 53, guiTop + 18, 16, 52, quadrupole.power, quadrupole.getMaxPower()); + } + + @Override + protected void drawGuiContainerForegroundLayer( int i, int j) { + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + + this.fontRendererObj.drawString(EnumChatFormatting.AQUA + "/123K", 91, 22, 4210752); + int heat = (int) Math.ceil(quadrupole.temperature); + String label = (heat > 123 ? EnumChatFormatting.RED : EnumChatFormatting.AQUA) + "" + heat + "K"; + this.fontRendererObj.drawString(label, 121 - this.fontRendererObj.getStringWidth(label), 12, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float interp, int x, int y) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int j = (int) (quadrupole.power * 52 / quadrupole.getMaxPower()); + drawTexturedModalRect(guiLeft + 53, guiTop + 70 - j, 184, 52 - j, 16, j); + + quadrupole.tanks[0].renderTank(guiLeft + 89, guiTop + 88, this.zLevel, 16, 52); + quadrupole.tanks[1].renderTank(guiLeft + 107, guiTop + 88, this.zLevel, 16, 52); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIPASource.java b/src/main/java/com/hbm/inventory/gui/GUIPASource.java new file mode 100644 index 000000000..ada0eb595 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIPASource.java @@ -0,0 +1,106 @@ + package com.hbm.inventory.gui; + +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerPASource; +import com.hbm.lib.RefStrings; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; +import com.hbm.tileentity.machine.albion.TileEntityPASource; +import com.hbm.util.i18n.I18nUtil; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; + +public class GUIPASource extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/particleaccelerator/gui_source.png"); + private TileEntityPASource source; + + public GUIPASource(InventoryPlayer player, TileEntityPASource source) { + super(new ContainerPASource(player, source)); + this.source = source; + + this.xSize = 176; + this.ySize = 204; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + source.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 36, 16, 52); + source.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 36, 16, 52); + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 18, 16, 52, source.power, source.getMaxPower()); + + List info = new ArrayList(); + info.add(EnumChatFormatting.BLUE + "Last momentum: " + EnumChatFormatting.RESET + String.format(Locale.US, "%,d", source.lastSpeed)); + String[] message = I18nUtil.resolveKeyArray("pa." + this.source.state.name().toLowerCase(Locale.US) + ".desc"); + for(String s : message) info.add(EnumChatFormatting.YELLOW + s); + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 105, guiTop + 18, 10, 10, mouseX, mouseY, info); + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 105, guiTop + 30, 10, 10, mouseX, mouseY, EnumChatFormatting.RED + "Cancel operation"); + } + + @Override + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + if(guiLeft + 105 <= x && guiLeft + 105 + 10 > x && guiTop + 30 < y && guiTop + 30 + 10 >= y) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setBoolean("cancel", true); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, source.xCoord, source.yCoord, source.zCoord)); + } + } + + @Override + protected void drawGuiContainerForegroundLayer( int i, int j) { + + String name = this.source.hasCustomInventoryName() ? this.source.getInventoryName() : I18n.format(this.source.getInventoryName()); + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2 - 9, 4, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + + this.fontRendererObj.drawString(EnumChatFormatting.AQUA + "/123K", 136, 22, 4210752); + int heat = (int) Math.ceil(source.temperature); + String label = (heat > 123 ? EnumChatFormatting.RED : EnumChatFormatting.AQUA) + "" + heat + "K"; + this.fontRendererObj.drawString(label, 166 - this.fontRendererObj.getStringWidth(label), 12, 4210752); + + String state = I18n.format("pa." + this.source.state.name().toLowerCase(Locale.US)); + this.fontRendererObj.drawString(state, 79 - this.fontRendererObj.getStringWidth(state) / 2, 76, this.source.state.color); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float interp, int x, int y) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int j = (int) (source.power * 52 / source.getMaxPower()); + drawTexturedModalRect(guiLeft + 8, guiTop + 70 - j, 184, 52 - j, 16, j); + + int heat = (int) Math.ceil(source.temperature); + if(heat <= 123) drawTexturedModalRect(guiLeft + 44, guiTop + 18, 176, 8, 8, 8); + if(source.power >= source.usage) drawTexturedModalRect(guiLeft + 44, guiTop + 43, 176, 8, 8, 8); + + int color = source.state.color; + float red = (color & 0xff0000) >> 16; + float green = (color & 0x00ff00) >> 8; + float blue = (color & 0x0000ff); + + GL11.glColor4f(red, green, blue, 1.0F); + drawTexturedModalRect(guiLeft + 45, guiTop + 73, 176, 52, 68, 14); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + + source.tanks[0].renderTank(guiLeft + 134, guiTop + 88, this.zLevel, 16, 52); + source.tanks[1].renderTank(guiLeft + 152, guiTop + 88, this.zLevel, 16, 52); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIPWR.java b/src/main/java/com/hbm/inventory/gui/GUIPWR.java index db21f4194..3220d178b 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIPWR.java +++ b/src/main/java/com/hbm/inventory/gui/GUIPWR.java @@ -9,8 +9,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerPWR; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.render.util.GaugeUtil; import com.hbm.tileentity.machine.TileEntityPWRController; diff --git a/src/main/java/com/hbm/inventory/gui/GUIPneumoTube.java b/src/main/java/com/hbm/inventory/gui/GUIPneumoTube.java new file mode 100644 index 000000000..e1737e9cf --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIPneumoTube.java @@ -0,0 +1,110 @@ +package com.hbm.inventory.gui; + +import java.util.Arrays; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerPneumoTube; +import com.hbm.lib.RefStrings; +import com.hbm.module.ModulePatternMatcher; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; +import com.hbm.render.util.GaugeUtil; +import com.hbm.tileentity.network.TileEntityPneumoTube; +import com.hbm.uninos.networkproviders.PneumaticNetwork; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Slot; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; + +public class GUIPneumoTube extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/storage/gui_pneumatic_pipe.png"); + public TileEntityPneumoTube tube; + + public GUIPneumoTube(InventoryPlayer invPlayer, TileEntityPneumoTube tedf) { + super(new ContainerPneumoTube(invPlayer, tedf)); + this.tube = tedf; + + this.xSize = 176; + this.ySize = 185; + } + + @Override + public void drawScreen(int x, int y, float interp) { + super.drawScreen(x, y, interp); + + tube.compair.renderTankInfo(this, x, y, guiLeft + 7, guiTop + 16, 18, 18); + + this.drawCustomInfoStat(x, y, guiLeft + 7, guiTop + 52, 18, 18, x, y, (tube.redstone ? (EnumChatFormatting.GREEN + "ON ") : (EnumChatFormatting.RED + "OFF ")) + EnumChatFormatting.RESET + "with Redstone"); + this.drawCustomInfoStat(x, y, guiLeft + 6, guiTop + 36, 20, 8, x, y, "Compressor: " + tube.compair.getPressure() + " PU", "Max range: " + tube.getRangeFromPressure(tube.compair.getPressure()) + "m"); + + this.drawCustomInfoStat(x, y, guiLeft + 151, guiTop + 16, 18, 18, x, y, EnumChatFormatting.YELLOW + "Receiver order:", tube.receiveOrder == PneumaticNetwork.RECEIVE_ROBIN ? "Round robin" : "Random"); + this.drawCustomInfoStat(x, y, guiLeft + 151, guiTop + 52, 18, 18, x, y, EnumChatFormatting.YELLOW + "Provider slot order:", tube.sendOrder == PneumaticNetwork.SEND_FIRST ? "First to last" : tube.sendOrder == PneumaticNetwork.SEND_LAST ? "Last to first" : "Random"); + + + if(this.mc.thePlayer.inventory.getItemStack() == null) { + for(int i = 0; i < 15; ++i) { + Slot slot = (Slot) this.inventorySlots.inventorySlots.get(i); + + if(this.isMouseOverSlot(slot, x, y) && tube.pattern.modes[i] != null) { + this.func_146283_a(Arrays.asList(new String[] { EnumChatFormatting.RED + "Right click to change", ModulePatternMatcher.getLabel(tube.pattern.modes[i]) }), x, y - 30); + } + } + } + } + + @Override + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + click(x, y, 7, 52, 18, 18, "redstone"); + click(x, y, 6, 36, 20, 8, "pressure"); + click(x, y, 128, 30, 14, 26, "whitelist"); + click(x, y, 151, 16, 18, 18, "receive"); + click(x, y, 151, 52, 18, 18, "send"); + } + + public void click(int x, int y, int left, int top, int sizeX, int sizeY, String name) { + if(checkClick(x, y, left, top, sizeX, sizeY)) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setBoolean(name, true); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, tube.xCoord, tube.yCoord, tube.zCoord)); + } + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.tube.hasCustomInventoryName() ? this.tube.getInventoryName() : I18n.format(this.tube.getInventoryName()); + + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 5, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(tube.redstone) drawTexturedModalRect(guiLeft + 7, guiTop + 52, 179, 0, 18, 18); + + if(tube.whitelist) { + drawTexturedModalRect(guiLeft + 139, guiTop + 33, 176, 0, 3, 6); + } else { + drawTexturedModalRect(guiLeft + 139, guiTop + 47, 176, 0, 3, 6); + } + + drawTexturedModalRect(guiLeft + 151, guiTop + 16, 197, 18 * tube.receiveOrder, 18, 18); + drawTexturedModalRect(guiLeft + 151, guiTop + 52, 215, 18 * tube.sendOrder, 18, 18); + + drawTexturedModalRect(guiLeft + 6 + 4 * (tube.compair.getPressure() - 1), guiTop + 36, 179, 18, 4, 8); + GaugeUtil.drawSmoothGauge(guiLeft + 16, guiTop + 25, this.zLevel, (double) tube.compair.getFill() / (double) tube.compair.getMaxFill(), 5, 2, 1, 0xCA6C43, 0xAB4223); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIPyroOven.java b/src/main/java/com/hbm/inventory/gui/GUIPyroOven.java new file mode 100644 index 000000000..a7befa9f0 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIPyroOven.java @@ -0,0 +1,62 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerPyroOven; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.oil.TileEntityMachinePyroOven; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUIPyroOven extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_pyrooven.png"); + private TileEntityMachinePyroOven pyro; + + public GUIPyroOven(InventoryPlayer playerInv, TileEntityMachinePyroOven tile) { + super(new ContainerPyroOven(playerInv, tile)); + + this.pyro = tile; + this.xSize = 176; + this.ySize = 204; + } + + @Override + public void drawScreen(int x, int y, float interp) { + super.drawScreen(x, y, interp); + + pyro.tanks[0].renderTankInfo(this, x, y, guiLeft + 8, guiTop + 18, 16, 52); + pyro.tanks[1].renderTankInfo(this, x, y, guiLeft + 116, guiTop + 18, 16, 52); + this.drawElectricityInfo(this, x, y, guiLeft + 152, guiTop + 18, 16, 52, pyro.getPower(), pyro.getMaxPower()); + + this.drawCustomInfoStat(x, y, guiLeft + 108, guiTop + 76, 8, 8, guiLeft + 108, guiTop + 76, this.getUpgradeInfo(pyro)); + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.pyro.hasCustomInventoryName() ? this.pyro.getInventoryName() : I18n.format(this.pyro.getInventoryName()); + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2 - 18, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float interp, int x, int y) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int i = (int) (pyro.power * 52 / pyro.maxPower); + drawTexturedModalRect(guiLeft + 152, guiTop + 70 - i, 176, 64 - i, 16, i); + + int p = (int) (pyro.progress * 27); + drawTexturedModalRect(guiLeft + 57, guiTop + 47, 176, 0, p, 12); + + pyro.tanks[0].renderTank(guiLeft + 8, guiTop + 70, this.zLevel, 16, 52); + pyro.tanks[1].renderTank(guiLeft + 116, guiTop + 70, this.zLevel, 16, 52); + + this.drawInfoPanel(guiLeft + 108, guiTop + 76, 8, 8, 8); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIRBMKBoiler.java b/src/main/java/com/hbm/inventory/gui/GUIRBMKBoiler.java index 0b32f00e1..8a645908c 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIRBMKBoiler.java +++ b/src/main/java/com/hbm/inventory/gui/GUIRBMKBoiler.java @@ -6,8 +6,8 @@ import com.hbm.inventory.container.ContainerRBMKGeneric; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBoiler; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java b/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java index b07d3a19c..0ec74cd29 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java +++ b/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java @@ -11,12 +11,12 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.fluid.Fluids; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.RBMKColumn; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; @@ -134,7 +134,7 @@ public class GUIRBMKConsole extends GuiScreen { int index = ((mouseX - bX - guiLeft) / size + (mouseY - bY - guiTop) / size * 15); - if(index > 0 && index < selection.length && console.columns[index] != null) { + if(index >= 0 && index < selection.length && console.columns[index] != null) { this.selection[index] = !this.selection[index]; mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 0.75F + (this.selection[index] ? 0.25F : 0.0F))); @@ -366,6 +366,10 @@ public class GUIRBMKConsole extends GuiScreen { int fe = (int)Math.ceil((col.data.getDouble("enrichment")) * 8); if(fe > 8) fe = 8; drawTexturedModalRect(guiLeft + x + 4, guiTop + y + size - fe - 1, 14, 191 - fe, 2, fe); + + int fx = (int)Math.ceil((col.data.getDouble("xenon")) * 8 / 100); + if(fx > 8) fx = 8; + drawTexturedModalRect(guiLeft + x + 7, guiTop + y + size - fx - 1, 17, 191 - fx, 2, fx); } break; diff --git a/src/main/java/com/hbm/inventory/gui/GUIRBMKControl.java b/src/main/java/com/hbm/inventory/gui/GUIRBMKControl.java index fecf9b8e3..b1c8f415e 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIRBMKControl.java +++ b/src/main/java/com/hbm/inventory/gui/GUIRBMKControl.java @@ -4,8 +4,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerRBMKControl; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKControlManual; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUIRBMKControlAuto.java b/src/main/java/com/hbm/inventory/gui/GUIRBMKControlAuto.java index 13ce7330f..e55576bef 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIRBMKControlAuto.java +++ b/src/main/java/com/hbm/inventory/gui/GUIRBMKControlAuto.java @@ -6,8 +6,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerRBMKControlAuto; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKControlAuto; import net.minecraft.client.Minecraft; @@ -78,7 +78,7 @@ public class GUIRBMKControlAuto extends GuiInfoContainer { this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 61, guiTop + 70, 22, 10, mouseX, mouseY, new String[]{ "Select inverse quadratic interpolation" } ); this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 28, guiTop + 26, 30, 10, mouseX, mouseY, new String[]{ "Level at max heat", "Should be smaller than level at min heat" } ); - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 28, guiTop + 37, 30, 10, mouseX, mouseY, new String[]{ "Level at min heat", "Should be larger than level at min heat" } ); + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 28, guiTop + 37, 30, 10, mouseX, mouseY, new String[]{ "Level at min heat", "Should be larger than level at max heat" } ); this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 28, guiTop + 48, 30, 10, mouseX, mouseY, new String[]{ "Max heat", "Must be larger than min heat" } ); this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 28, guiTop + 59, 30, 10, mouseX, mouseY, new String[]{ "Min heat", "Must be smaller than max heat" } ); this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 28, guiTop + 70, 30, 10, mouseX, mouseY, new String[]{ "Save parameters" } ); diff --git a/src/main/java/com/hbm/inventory/gui/GUIRadioRec.java b/src/main/java/com/hbm/inventory/gui/GUIRadioRec.java index f9014122c..7c3184bc4 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIRadioRec.java +++ b/src/main/java/com/hbm/inventory/gui/GUIRadioRec.java @@ -6,10 +6,10 @@ import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.GL11; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.TileEntityRadioRec; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; diff --git a/src/main/java/com/hbm/inventory/gui/GUIRadiolysis.java b/src/main/java/com/hbm/inventory/gui/GUIRadiolysis.java index 2b25ba85a..26e6ad7d0 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIRadiolysis.java +++ b/src/main/java/com/hbm/inventory/gui/GUIRadiolysis.java @@ -8,7 +8,7 @@ import com.hbm.inventory.container.ContainerRadiolysis; import com.hbm.items.machine.ItemRTGPellet; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityMachineRadiolysis; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; diff --git a/src/main/java/com/hbm/inventory/gui/GUIReactorControl.java b/src/main/java/com/hbm/inventory/gui/GUIReactorControl.java index b141317da..b44711ee5 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIReactorControl.java +++ b/src/main/java/com/hbm/inventory/gui/GUIReactorControl.java @@ -7,8 +7,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerReactorControl; import com.hbm.lib.RefStrings; import com.hbm.module.NumberDisplay; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.TileEntityReactorControl; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUIReactorResearch.java b/src/main/java/com/hbm/inventory/gui/GUIReactorResearch.java index e02d155a5..e8d13b703 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIReactorResearch.java +++ b/src/main/java/com/hbm/inventory/gui/GUIReactorResearch.java @@ -7,8 +7,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerReactorResearch; import com.hbm.lib.RefStrings; import com.hbm.module.NumberDisplay; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.TileEntityReactorResearch; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; diff --git a/src/main/java/com/hbm/inventory/gui/GUIReactorZirnox.java b/src/main/java/com/hbm/inventory/gui/GUIReactorZirnox.java index f09558da7..25072180d 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIReactorZirnox.java +++ b/src/main/java/com/hbm/inventory/gui/GUIReactorZirnox.java @@ -4,10 +4,10 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerReactorZirnox; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.machine.TileEntityReactorZirnox; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; diff --git a/src/main/java/com/hbm/inventory/gui/GUISILEX.java b/src/main/java/com/hbm/inventory/gui/GUISILEX.java index 64b9f36bd..c0c66e971 100644 --- a/src/main/java/com/hbm/inventory/gui/GUISILEX.java +++ b/src/main/java/com/hbm/inventory/gui/GUISILEX.java @@ -10,10 +10,10 @@ import com.hbm.inventory.recipes.SILEXRecipes; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemFELCrystal.EnumWavelengths; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AuxButtonPacket; import com.hbm.tileentity.machine.TileEntitySILEX; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; diff --git a/src/main/java/com/hbm/inventory/gui/GUISafe.java b/src/main/java/com/hbm/inventory/gui/GUISafe.java index 8b49d5362..a5d465998 100644 --- a/src/main/java/com/hbm/inventory/gui/GUISafe.java +++ b/src/main/java/com/hbm/inventory/gui/GUISafe.java @@ -1,10 +1,10 @@ package com.hbm.inventory.gui; +import net.minecraft.inventory.IInventory; import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerSafe; import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.storage.TileEntitySafe; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiContainer; @@ -15,24 +15,24 @@ import net.minecraft.util.ResourceLocation; public class GUISafe extends GuiContainer { private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/storage/gui_safe.png"); - private TileEntitySafe diFurnace; - - public GUISafe(InventoryPlayer invPlayer, TileEntitySafe tedf) { + private IInventory diFurnace; + + public GUISafe(InventoryPlayer invPlayer, IInventory tedf) { super(new ContainerSafe(invPlayer, tedf)); diFurnace = tedf; this.xSize = 176; this.ySize = 168; } - + @Override protected void drawGuiContainerForegroundLayer(int i, int j) { String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); - + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); } - + @Override protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenBobmazon.java b/src/main/java/com/hbm/inventory/gui/GUIScreenBobmazon.java index a96b12b6a..bd74622e5 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIScreenBobmazon.java +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenBobmazon.java @@ -5,12 +5,13 @@ import java.util.Arrays; import java.util.List; import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; -import com.hbm.packet.ItemBobmazonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.ItemBobmazonPacket; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; @@ -21,89 +22,88 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.stats.Achievement; +import net.minecraft.stats.AchievementList; import net.minecraft.util.ResourceLocation; public class GUIScreenBobmazon extends GuiScreen { - - protected static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_bobmazon.png"); - protected int xSize = 176; - protected int ySize = 229; - protected int guiLeft; - protected int guiTop; - int currentPage = 0; - List offers = new ArrayList(); - List buttons = new ArrayList(); - private final EntityPlayer player; - - public GUIScreenBobmazon(EntityPlayer player, List offers) { - - this.player = player; - this.offers = offers; - } - - int getPageCount() { - return (int)Math.ceil((offers.size() - 1) / 3); - } - - public void updateScreen() { - if(currentPage < 0) - currentPage = 0; - if(currentPage > getPageCount()) - currentPage = getPageCount(); - - if(this.player.getHeldItem() != null && this.player.getHeldItem().getItem() == ModItems.bobmazon_hidden && player.getDisplayName().equals("SolsticeUnlimitd")) - this.mc.thePlayer.closeScreen(); - } - - public void drawScreen(int mouseX, int mouseY, float f) - { - this.drawDefaultBackground(); - this.drawGuiContainerBackgroundLayer(f, mouseX, mouseY); - GL11.glDisable(GL11.GL_LIGHTING); - this.drawGuiContainerForegroundLayer(mouseX, mouseY); - GL11.glEnable(GL11.GL_LIGHTING); - } - - public void initGui() - { - super.initGui(); - this.guiLeft = (this.width - this.xSize) / 2; - this.guiTop = (this.height - this.ySize) / 2; + protected static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_bobmazon.png"); + protected int xSize = 176 + 41; + protected int ySize = 229; + protected int guiLeft; + protected int guiTop; + int currentPage = 0; + List offers = new ArrayList(); + List buttons = new ArrayList(); + private final EntityPlayer player; - updateButtons(); - } - - protected void updateButtons() { - - if(!buttons.isEmpty()) - buttons.clear(); - - for(int i = currentPage * 3; i < Math.min(currentPage * 3 + 3, offers.size()); i++) { - buttons.add(new FolderButton(guiLeft + 34, guiTop + 35 + (54 * (int)Math.floor(i)) - currentPage * 3 * 54, offers.get(i))); - } + public GUIScreenBobmazon(EntityPlayer player, List offers) { - if(currentPage != 0) - buttons.add(new FolderButton(guiLeft + 25 - 18, guiTop + 26 + (27 * 3), 1, "Previous")); - if(currentPage != getPageCount()) - buttons.add(new FolderButton(guiLeft + 25 + (27 * 4) + 18, guiTop + 26 + (27 * 3), 2, "Next")); - } + this.player = player; + + this.offers = offers; + } + + int getPageCount() { + return (int) Math.ceil((offers.size() - 1) / 3); + } + + public void updateScreen() { + if(currentPage < 0) + currentPage = 0; + if(currentPage > getPageCount()) + currentPage = getPageCount(); + + if(this.player.getHeldItem() != null && this.player.getHeldItem().getItem() == ModItems.bobmazon_hidden && player.getDisplayName().equals("SolsticeUnlimitd")) + this.mc.thePlayer.closeScreen(); + } + + public void drawScreen(int mouseX, int mouseY, float f) { + this.drawDefaultBackground(); + this.drawGuiContainerBackgroundLayer(f, mouseX, mouseY); + GL11.glDisable(GL11.GL_LIGHTING); + this.drawGuiContainerForegroundLayer(mouseX, mouseY); + GL11.glEnable(GL11.GL_LIGHTING); + } + + public void initGui() { + super.initGui(); + this.guiLeft = (this.width - this.xSize) / 2; + this.guiTop = (this.height - this.ySize) / 2; + + updateButtons(); + } + + protected void updateButtons() { + + if(!buttons.isEmpty()) + buttons.clear(); + + for(int i = currentPage * 3; i < Math.min(currentPage * 3 + 3, offers.size()); i++) { + buttons.add(new FolderButton(guiLeft + 34, guiTop + 35 + (54 * (int) Math.floor(i)) - currentPage * 3 * 54, offers.get(i))); + } + + if(currentPage != 0) + buttons.add(new FolderButton(guiLeft + 25 - 18, guiTop + 26 + (27 * 3), 1, "Previous")); + if(currentPage != getPageCount()) + buttons.add(new FolderButton(guiLeft + 25 + (27 * 4) + 18 + 41, guiTop + 26 + (27 * 3), 2, "Next")); + } + + protected void mouseClicked(int i, int j, int k) { + try { + for(FolderButton b : buttons) + if(b.isMouseOnButton(i, j)) + b.executeAction(); + } catch(Exception ex) { + updateButtons(); + } + } - protected void mouseClicked(int i, int j, int k) { - try { - for(FolderButton b : buttons) - if(b.isMouseOnButton(i, j)) - b.executeAction(); - } catch (Exception ex) { - updateButtons(); - } - } - protected void drawGuiContainerForegroundLayer(int i, int j) { - this.fontRendererObj.drawString(I18n.format((currentPage + 1) + "/" + (getPageCount() + 1)), + this.fontRendererObj.drawString(I18n.format((currentPage + 1) + "/" + (getPageCount() + 1)), guiLeft + this.xSize / 2 - this.fontRendererObj.getStringWidth(I18n.format((currentPage + 1) + "/" + (getPageCount() + 1))) / 2, guiTop + 205, 4210752); - + for(FolderButton b : buttons) if(b.isMouseOnButton(i, j)) b.drawString(i, j); @@ -118,73 +118,73 @@ public class GUIScreenBobmazon extends GuiScreen { b.drawButton(b.isMouseOnButton(i, j)); for(FolderButton b : buttons) b.drawIcon(b.isMouseOnButton(i, j)); - - for(int d = currentPage * 3; d < Math.min(currentPage * 3 + 3, offers.size()); d++) { - offers.get(d).drawRequirement(this, guiLeft + 34, guiTop + 53 + (54 * (int)Math.floor(d)) - currentPage * 3 * 54); - } + + for(int d = currentPage * 3; d < Math.min(currentPage * 3 + 3, offers.size()); d++) { + offers.get(d).drawRequirement(this, guiLeft + 34, guiTop + 53 + (54 * (int) Math.floor(d)) - currentPage * 3 * 54); + } } - - protected void keyTyped(char p_73869_1_, int p_73869_2_) - { - if (p_73869_2_ == 1 || p_73869_2_ == this.mc.gameSettings.keyBindInventory.getKeyCode()) - { - this.mc.thePlayer.closeScreen(); - } - - } - + + protected void keyTyped(char p_73869_1_, int p_73869_2_) { + if(p_73869_2_ == 1 || p_73869_2_ == this.mc.gameSettings.keyBindInventory.getKeyCode()) { + this.mc.thePlayer.closeScreen(); + } + + } + class FolderButton { - + int xPos; int yPos; - //0: regular, 1: prev, 2: next + // 0: regular, 1: prev, 2: next int type; String info; Offer offer; - + public FolderButton(int x, int y, int t, String i) { xPos = x; yPos = y; type = t; info = i; } - + public FolderButton(int x, int y, Offer offer) { xPos = x; yPos = y; type = 0; this.offer = offer; } - + public void updateButton(int mouseX, int mouseY) { } - + public boolean isMouseOnButton(int mouseX, int mouseY) { return xPos <= mouseX && xPos + 18 > mouseX && yPos < mouseY && yPos + 18 >= mouseY; } - + public void drawButton(boolean b) { Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - drawTexturedModalRect(xPos, yPos, b ? 176 + 18 : 176, type == 1 ? 18 : (type == 2 ? 36 : 0), 18, 18); + drawTexturedModalRect(xPos, yPos, b ? 176 + 41 + 18 : 176 + 41, type == 1 ? 18 : (type == 2 ? 36 : 0), 18, 18); } - + public void drawIcon(boolean b) { try { - GL11.glDisable(GL11.GL_LIGHTING); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); if(offer != null) { + RenderHelper.enableGUIStandardItemLighting(); itemRender.renderItemAndEffectIntoGUI(fontRendererObj, mc.getTextureManager(), offer.offer, xPos + 1, yPos + 1); } - GL11.glEnable(GL11.GL_LIGHTING); - } catch(Exception x) { } + } catch(Exception x) { + } } - + public void drawString(int x, int y) { if(info == null || info.isEmpty()) return; - + func_146283_a(Arrays.asList(new String[] { info }), x, y); } - + public void executeAction() { mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); if(type == 0) { @@ -200,21 +200,21 @@ public class GUIScreenBobmazon extends GuiScreen { } } } - + @Override public boolean doesGuiPauseGame() { return false; } - + public static class Offer { - + public ItemStack offer; public Requirement requirement; public int cost; public int rating; public String comment; public String author; - + public Offer(ItemStack offer, Requirement requirement, int cost, int rating, String comment, String author) { this.offer = offer; this.requirement = requirement; @@ -223,82 +223,81 @@ public class GUIScreenBobmazon extends GuiScreen { this.comment = comment; this.author = author; } - + public Offer(ItemStack offer, Requirement requirement, int cost) { - this.offer = offer; - this.requirement = requirement; - this.cost = cost; - this.rating = 0; - this.comment = "No Ratings"; - this.author = ""; + this(offer, requirement, cost, 0); } - + + public Offer(ItemStack offer, Requirement requirement, int cost, int rating) { + this(offer, requirement, cost, rating, "No Ratings", ""); + } + public void drawRequirement(GUIScreenBobmazon gui, int x, int y) { try { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); RenderHelper.enableGUIStandardItemLighting(); - GL11.glColor3f(1F, 1F, 1F); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - gui.drawTexturedModalRect(x + 19, y - 4, 176, 62, 39, 8); - gui.drawTexturedModalRect(x + 19, y - 4, 176, 54, rating, 8); - + gui.drawTexturedModalRect(x + 19, y - 4, 176 + 41, 62, 39, 8); + gui.drawTexturedModalRect(x + 19, y - 4, 176 + 41, 54, rating, 8); + String count = ""; if(offer.stackSize > 1) count = " x" + offer.stackSize; GL11.glPushMatrix(); - - float scale = 0.65F; + float scale = 0.5F; GL11.glScalef(scale, scale, scale); - gui.fontRendererObj.drawString(I18n.format(offer.getDisplayName()) + count, (int)((x + 20) / scale), (int)((y - 12) / scale), 4210752); - + gui.fontRendererObj.drawString(I18n.format(offer.getDisplayName()) + count, (int) ((x + 20) / scale), (int) ((y - 12) / scale), 4210752); GL11.glPopMatrix(); - + String price = cost + " Cap"; if(cost != 1) price += "s"; gui.fontRendererObj.drawString(price, x + 62, y - 3, 4210752); - + GL11.glPushMatrix(); - - GL11.glScalef(0.5F, 0.5F, 0.5F); - - if(!author.isEmpty()) - gui.fontRendererObj.drawString("- " + author, (x + 20) * 2, (y + 18) * 2, 0x222222); - gui.fontRendererObj.drawString(comment, (x + 20) * 2, (y + 8) * 2, 0x222222); - + + GL11.glScalef(0.5F, 0.5F, 0.5F); + + if(!author.isEmpty()) + gui.fontRendererObj.drawString("- " + author, (x + 20) * 2, (y + 18) * 2, 0x222222); + gui.fontRendererObj.drawString(comment, (x + 20) * 2, (y + 8) * 2, 0x222222); + GL11.glPopMatrix(); - - GL11.glDisable(GL11.GL_LIGHTING); if(offer != null) { + GL11.glEnable(GL11.GL_LIGHTING); gui.itemRender.renderItemAndEffectIntoGUI(gui.fontRendererObj, gui.mc.getTextureManager(), requirement.achievement.theItemStack, x + 1, y + 1); } - GL11.glEnable(GL11.GL_LIGHTING); - - } catch(Exception ex) { } + + } catch(Exception ex) { + } } - + } - + public enum Requirement { + NONE(AchievementList.openInventory), STEEL(MainRegistry.achBlastFurnace), ASSEMBLY(MainRegistry.achAssembly), CHEMICS(MainRegistry.achChemplant), OIL(MainRegistry.achDesh), NUCLEAR(MainRegistry.achTechnetium), HIDDEN(MainRegistry.bobHidden); - + private Requirement(Achievement achievement) { this.achievement = achievement; } - + public boolean fullfills(EntityPlayerMP player) { - + return player.func_147099_x().hasAchievementUnlocked(achievement); } - + public Achievement achievement; } diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenClayTablet.java b/src/main/java/com/hbm/inventory/gui/GUIScreenClayTablet.java new file mode 100644 index 000000000..6cd2137af --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenClayTablet.java @@ -0,0 +1,150 @@ +package com.hbm.inventory.gui; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; + +import com.hbm.inventory.RecipesCommon.AStack; +import com.hbm.inventory.recipes.PedestalRecipes; +import com.hbm.inventory.recipes.PedestalRecipes.PedestalRecipe; +import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class GUIScreenClayTablet extends GuiScreen { + + protected int xSize = 142; + protected int ySize = 84; + protected int guiLeft; + protected int guiTop; + protected int tabletMeta = 0; + + protected static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/guide_pedestal.png"); + + public GUIScreenClayTablet() { } + + public void initGui() { + super.initGui(); + this.guiLeft = (this.width - this.xSize) / 2; + this.guiTop = (this.height - this.ySize) / 2; + } + + public void drawScreen(int mouseX, int mouseY, float f) { + this.drawDefaultBackground(); + this.drawGuiContainerBackgroundLayer(f, mouseX, mouseY); + GL11.glDisable(GL11.GL_LIGHTING); + this.drawGuiContainerForegroundLayer(mouseX, mouseY); + GL11.glEnable(GL11.GL_LIGHTING); + } + + protected void drawGuiContainerForegroundLayer(int i, int j) { } + + protected void drawGuiContainerBackgroundLayer(float f, int i, int j) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + if(player.getHeldItem() != null) tabletMeta = player.getHeldItem().getItemDamage(); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + + int tabletOffset = tabletMeta == 1 ? 84 : 0; + int iconOffset = tabletMeta == 1 ? 16 : 0; + float revealChance = tabletMeta == 1 ? 0.25F : 0.5F; + drawTexturedModalRect(guiLeft, guiTop, 0, tabletOffset, xSize, ySize); + + ArrayList recipeSet = PedestalRecipes.recipeSets[Math.abs(tabletMeta) % PedestalRecipes.recipeSets.length]; + + if(player.getHeldItem() != null && player.getHeldItem().hasTagCompound() && player.getHeldItem().stackTagCompound.hasKey("tabletSeed") && !recipeSet.isEmpty()) { + Random rand = new Random(player.getHeldItem().stackTagCompound.getLong("tabletSeed")); + PedestalRecipe recipe = recipeSet.get(rand.nextInt(recipeSet.size())); + + if(recipe.extra == recipe.extra.FULL_MOON) drawTexturedModalRect(guiLeft + 120, guiTop + 62, 142 + iconOffset, 32, 16, 16); + if(recipe.extra == recipe.extra.NEW_MOON) drawTexturedModalRect(guiLeft + 120, guiTop + 62, 142 + iconOffset, 48, 16, 16); + if(recipe.extra == recipe.extra.SUN) drawTexturedModalRect(guiLeft + 120, guiTop + 62, 142 + iconOffset, 64, 16, 16); + + for(int l = 0; l < 3; l++) { + for(int r = 0; r < 3; r++) { + if(rand.nextFloat() > revealChance) { + drawTexturedModalRect(guiLeft + 7 + r * 27, guiTop + 7 + l * 27, 142 + iconOffset, 16, 16, 16); + } else { + + AStack ingredient = recipe.input[r + l * 3]; + + if(ingredient == null) { + drawTexturedModalRect(guiLeft + 7 + r * 27, guiTop + 7 + l * 27, 142 + iconOffset, 0, 16, 16); + continue; + } + + List inputs = ingredient.extractForNEI(); + ItemStack input = inputs.size() <= 0 ? new ItemStack(ModItems.nothing) : inputs.get((int) (Math.abs(System.currentTimeMillis() / 1000) % inputs.size())); + + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + RenderHelper.enableGUIStandardItemLighting(); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + + FontRenderer font = null; + if(input != null) font = input.getItem().getFontRenderer(recipe.output); + if(font == null) font = fontRendererObj; + + itemRender.zLevel = 300.0F; + itemRender.renderItemAndEffectIntoGUI(font, this.mc.getTextureManager(), input, guiLeft + 7 + r * 27, guiTop + 7 + l * 27); + itemRender.renderItemOverlayIntoGUI(font, this.mc.getTextureManager(), input, guiLeft + 7 + r * 27, guiTop + 7 + l * 27, input.stackSize > 1 ? (input.stackSize + "") : null); + itemRender.zLevel = 0.0F; + + GL11.glDisable(GL11.GL_LIGHTING); + this.mc.getTextureManager().bindTexture(texture); + this.zLevel = 300.0F; + } + } + } + + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + RenderHelper.enableGUIStandardItemLighting(); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + + FontRenderer font = null; + if(recipe.output != null) font = recipe.output.getItem().getFontRenderer(recipe.output); + if(font == null) font = fontRendererObj; + + itemRender.zLevel = 300.0F; + itemRender.renderItemAndEffectIntoGUI(font, this.mc.getTextureManager(), recipe.output, guiLeft + xSize / 2 - 8, guiTop - 20); + itemRender.renderItemOverlayIntoGUI(font, this.mc.getTextureManager(), recipe.output, guiLeft + xSize / 2 - 8, guiTop - 20, recipe.output.stackSize > 1 ? (recipe.output.stackSize + "") : null); + itemRender.zLevel = 0.0F; + + GL11.glDisable(GL11.GL_LIGHTING); + + this.mc.getTextureManager().bindTexture(texture); + this.zLevel = 300.0F; + + GL11.glDisable(GL11.GL_DEPTH_TEST); + String label = recipe.output.getDisplayName(); + font.drawString(label, guiLeft + (xSize - font.getStringWidth(label)) / 2, guiTop - 30, 0xffffff); + + } else { + + for(int l = 0; l < 3; l++) { + for(int r = 0; r < 3; r++) { + drawTexturedModalRect(guiLeft + 7 + r * 27, guiTop + 7 + l * 27, 142 + iconOffset, 16, 16, 16); + } + } + } + } + + @Override + protected void keyTyped(char c, int key) { + if(key == 1 || key == this.mc.gameSettings.keyBindInventory.getKeyCode()) { + this.mc.thePlayer.closeScreen(); + } + } + + @Override public boolean doesGuiPauseGame() { return false; } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenDesignator.java b/src/main/java/com/hbm/inventory/gui/GUIScreenDesignator.java index 67cae4179..7f9c35ac9 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIScreenDesignator.java +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenDesignator.java @@ -8,8 +8,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; -import com.hbm.packet.ItemDesignatorPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.ItemDesignatorPacket; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenFluid.java b/src/main/java/com/hbm/inventory/gui/GUIScreenFluid.java index e72526ced..e25744def 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIScreenFluid.java +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenFluid.java @@ -12,8 +12,8 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemFluidIDMulti; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTItemControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTItemControlPacket; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenGuide.java b/src/main/java/com/hbm/inventory/gui/GUIScreenGuide.java index ae65041af..72a044a2d 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIScreenGuide.java +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenGuide.java @@ -11,7 +11,7 @@ import com.hbm.items.tool.ItemGuideBook.GuideImage; import com.hbm.items.tool.ItemGuideBook.GuidePage; import com.hbm.items.tool.ItemGuideBook.GuideText; import com.hbm.lib.RefStrings; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenHolotape.java b/src/main/java/com/hbm/inventory/gui/GUIScreenHolotape.java index 2f9779576..3cdc323b2 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIScreenHolotape.java +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenHolotape.java @@ -7,7 +7,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.items.ModItems; import com.hbm.items.special.ItemHolotapeImage.EnumHoloImage; import com.hbm.util.EnumUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenRadioTorch.java b/src/main/java/com/hbm/inventory/gui/GUIScreenRadioTorch.java index fc90751df..cfd090b59 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIScreenRadioTorch.java +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenRadioTorch.java @@ -6,11 +6,11 @@ import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.GL11; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.network.TileEntityRadioTorchBase; import com.hbm.tileentity.network.TileEntityRadioTorchSender; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenRadioTorchController.java b/src/main/java/com/hbm/inventory/gui/GUIScreenRadioTorchController.java new file mode 100644 index 000000000..55ca21e15 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenRadioTorchController.java @@ -0,0 +1,154 @@ +package com.hbm.inventory.gui; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.lwjgl.input.Keyboard; +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; +import com.hbm.tileentity.network.TileEntityRadioTorchController; +import com.hbm.util.Compat; +import com.hbm.util.i18n.I18nUtil; + +import api.hbm.redstoneoverradio.IRORInfo; +import api.hbm.redstoneoverradio.IRORValueProvider; +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.GuiTextField; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.common.util.ForgeDirection; + +public class GUIScreenRadioTorchController extends GuiScreen { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/machine/gui_rtty_controller.png"); + protected TileEntityRadioTorchController rtty; + protected int xSize = 256; + protected int ySize = 204; + protected int guiLeft; + protected int guiTop; + protected GuiTextField frequency; + + public GUIScreenRadioTorchController(TileEntityRadioTorchController radio) { + this.rtty = radio; + + this.xSize = 256; + this.ySize = 42; + } + + @Override + public void initGui() { + super.initGui(); + this.guiLeft = (this.width - this.xSize) / 2; + this.guiTop = (this.height - this.ySize) / 2; + + Keyboard.enableRepeatEvents(true); + + int oX = 4; + int oY = 4; + + this.frequency = new GuiTextField(this.fontRendererObj, guiLeft + 25 + oX, guiTop + 17 + oY, 90 - oX * 2, 14); + this.frequency.setTextColor(0x00ff00); + this.frequency.setDisabledTextColour(0x00ff00); + this.frequency.setEnableBackgroundDrawing(false); + this.frequency.setMaxStringLength(10); + this.frequency.setText(rtty.channel == null ? "" : rtty.channel); + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + this.drawDefaultBackground(); + this.drawGuiContainerBackgroundLayer(f, mouseX, mouseY); + GL11.glDisable(GL11.GL_LIGHTING); + this.drawGuiContainerForegroundLayer(mouseX, mouseY); + GL11.glEnable(GL11.GL_LIGHTING); + } + + + private void drawGuiContainerForegroundLayer(int x, int y) { + String name = I18nUtil.resolveKey("container.rttyController"); + this.fontRendererObj.drawString(name, this.guiLeft + this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, this.guiTop + 6, 4210752); + + if(guiLeft + 173 <= x && guiLeft + 173 + 18 > x && guiTop + 17 < y && guiTop + 17 + 18 >= y) { + func_146283_a(Arrays.asList(new String[] { rtty.polling ? "Polling" : "State Change" }), x, y); + } + if(guiLeft + 209 <= x && guiLeft + 209 + 18 > x && guiTop + 17 < y && guiTop + 17 + 18 >= y) { + func_146283_a(Arrays.asList(new String[] { "Save Settings" }), x, y); + } + if(guiLeft + 137 <= x && guiLeft + 137 + 18 > x && guiTop + 17 < y && guiTop + 17 + 18 >= y) { + ForgeDirection dir = ForgeDirection.getOrientation(rtty.getBlockMetadata()).getOpposite(); + TileEntity tile = Compat.getTileStandard(rtty.getWorldObj(), rtty.xCoord + dir.offsetX, rtty.yCoord + dir.offsetY, rtty.zCoord + dir.offsetZ); + if(tile instanceof IRORInfo) { + IRORInfo prov = (IRORInfo) tile; + String[] info = prov.getFunctionInfo(); + List lines = new ArrayList(); + lines.add("Usable functions:"); + for(String s : info) { + if(s.startsWith(IRORValueProvider.PREFIX_FUNCTION)) + lines.add(EnumChatFormatting.AQUA + s.substring(4)); + } + func_146283_a(lines, x, y); + } + } + } + + private void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(rtty.polling) { + drawTexturedModalRect(guiLeft + 173, guiTop + 17, 0, 42, 18, 18); + } + + this.frequency.drawTextBox(); + } + + @Override + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + this.frequency.mouseClicked(x, y, i); + + if(guiLeft + 173 <= x && guiLeft + 173 + 18 > x && guiTop + 17 < y && guiTop + 17 + 18 >= y) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setBoolean("p", !rtty.polling); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, rtty.xCoord, rtty.yCoord, rtty.zCoord)); + } + + if(guiLeft + 209 <= x && guiLeft + 209 + 18 > x && guiTop + 17 < y && guiTop + 17 + 18 >= y) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setString("c", this.frequency.getText()); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, rtty.xCoord, rtty.yCoord, rtty.zCoord)); + } + } + + @Override + protected void keyTyped(char c, int i) { + if(this.frequency.textboxKeyTyped(c, i)) return; + + if(i == 1 || i == this.mc.gameSettings.keyBindInventory.getKeyCode()) { + this.mc.thePlayer.closeScreen(); + this.mc.setIngameFocus(); + } + } + + @Override + public void onGuiClosed() { + Keyboard.enableRepeatEvents(false); + } + + @Override + public boolean doesGuiPauseGame() { + return false; + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenRadioTorchLogic.java b/src/main/java/com/hbm/inventory/gui/GUIScreenRadioTorchLogic.java index c78ea3061..565d86110 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIScreenRadioTorchLogic.java +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenRadioTorchLogic.java @@ -7,10 +7,10 @@ import org.lwjgl.input.Mouse; import org.lwjgl.opengl.GL11; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.network.TileEntityRadioTorchLogic; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenRadioTorchReader.java b/src/main/java/com/hbm/inventory/gui/GUIScreenRadioTorchReader.java new file mode 100644 index 000000000..5e241a318 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenRadioTorchReader.java @@ -0,0 +1,165 @@ +package com.hbm.inventory.gui; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.lwjgl.input.Keyboard; +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; +import com.hbm.tileentity.network.TileEntityRadioTorchReader; +import com.hbm.util.Compat; +import com.hbm.util.i18n.I18nUtil; + +import api.hbm.redstoneoverradio.IRORValueProvider; +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.GuiTextField; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.common.util.ForgeDirection; + +public class GUIScreenRadioTorchReader extends GuiScreen { + + protected static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/machine/gui_rtty_reader.png"); + public TileEntityRadioTorchReader rtty; + protected int xSize = 256; + protected int ySize = 204; + protected int guiLeft; + protected int guiTop; + + protected GuiTextField[] frequencies; + protected GuiTextField[] names; + + public GUIScreenRadioTorchReader(TileEntityRadioTorchReader rtty) { + this.rtty = rtty; + } + + @Override + public void initGui() { + super.initGui(); + this.guiLeft = (this.width - this.xSize) / 2; + this.guiTop = (this.height - this.ySize) / 2; + + Keyboard.enableRepeatEvents(true); + + int oX = 4; + int oY = 4; + this.frequencies = new GuiTextField[8]; + this.names = new GuiTextField[8]; + + for(int i = 0; i < 8; i++) { + this.frequencies[i] = new GuiTextField(this.fontRendererObj, guiLeft + 25 + oX, guiTop + 53 + i * 18 + oY, 72 - oX * 2, 14); + this.frequencies[i].setTextColor(0x00ff00); + this.frequencies[i].setDisabledTextColour(0x00ff00); + this.frequencies[i].setEnableBackgroundDrawing(false); + this.frequencies[i].setMaxStringLength(15); + this.frequencies[i].setText(rtty.channels[i] == null ? "" : rtty.channels[i]); + + this.names[i] = new GuiTextField(this.fontRendererObj, guiLeft + 119 + oX, guiTop + 53 + i * 18 + oY, 126 - oX * 2, 14); + this.names[i].setTextColor(0x00ff00); + this.names[i].setDisabledTextColour(0x00ff00); + this.names[i].setEnableBackgroundDrawing(false); + this.names[i].setMaxStringLength(25); + this.names[i].setText(rtty.names[i] == null ? "" : rtty.names[i]); + } + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + this.drawDefaultBackground(); + this.drawGuiContainerBackgroundLayer(f, mouseX, mouseY); + GL11.glDisable(GL11.GL_LIGHTING); + this.drawGuiContainerForegroundLayer(mouseX, mouseY); + GL11.glEnable(GL11.GL_LIGHTING); + } + + private void drawGuiContainerForegroundLayer(int x, int y) { + String name = I18nUtil.resolveKey("container.rttyReader"); + this.fontRendererObj.drawString(name, this.guiLeft + this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, this.guiTop + 6, 4210752); + + if(guiLeft + 173 <= x && guiLeft + 173 + 18 > x && guiTop + 17 < y && guiTop + 17 + 18 >= y) { + func_146283_a(Arrays.asList(new String[] { rtty.polling ? "Polling" : "State Change" }), x, y); + } + if(guiLeft + 209 <= x && guiLeft + 209 + 18 > x && guiTop + 17 < y && guiTop + 17 + 18 >= y) { + func_146283_a(Arrays.asList(new String[] { "Save Settings" }), x, y); + } + if(guiLeft + 29 <= x && guiLeft + 29 + 18 > x && guiTop + 17 < y && guiTop + 17 + 18 >= y) { + ForgeDirection dir = ForgeDirection.getOrientation(rtty.getBlockMetadata()).getOpposite(); + TileEntity tile = Compat.getTileStandard(rtty.getWorldObj(), rtty.xCoord + dir.offsetX, rtty.yCoord + dir.offsetY, rtty.zCoord + dir.offsetZ); + if(tile instanceof IRORValueProvider) { + IRORValueProvider prov = (IRORValueProvider) tile; + String[] info = prov.getFunctionInfo(); + List lines = new ArrayList(); + lines.add("Readable values:"); + for(String s : info) { + if(s.startsWith(IRORValueProvider.PREFIX_VALUE)) + lines.add(EnumChatFormatting.LIGHT_PURPLE + s.substring(4)); + } + func_146283_a(lines, x, y); + } + } + } + + private void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(rtty.polling) drawTexturedModalRect(guiLeft + 173, guiTop + 17, 0, 204, 18, 18); + + for(GuiTextField field : frequencies) field.drawTextBox(); + for(GuiTextField field : names) field.drawTextBox(); + } + + @Override + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + for(GuiTextField field : frequencies) field.mouseClicked(x, y, i); + for(GuiTextField field : names) field.mouseClicked(x, y, i); + + if(guiLeft + 173 <= x && guiLeft + 173 + 18 > x && guiTop + 17 < y && guiTop + 17 + 18 >= y) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setBoolean("p", !rtty.polling); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, rtty.xCoord, rtty.yCoord, rtty.zCoord)); + } + + if(guiLeft + 209 <= x && guiLeft + 209 + 18 > x && guiTop + 17 < y && guiTop + 17 + 18 >= y) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + for(int j = 0; j < 8; j++) data.setString("c" + j, this.frequencies[j].getText()); + for(int j = 0; j < 8; j++) data.setString("n" + j, this.names[j].getText()); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, rtty.xCoord, rtty.yCoord, rtty.zCoord)); + } + } + + @Override + protected void keyTyped(char c, int i) { + + for(GuiTextField field : frequencies) if(field.textboxKeyTyped(c, i)) return; + for(GuiTextField field : names) if(field.textboxKeyTyped(c, i)) return; + + if(i == 1 || i == this.mc.gameSettings.keyBindInventory.getKeyCode()) { + this.mc.thePlayer.closeScreen(); + this.mc.setIngameFocus(); + } + } + + @Override + public void onGuiClosed() { + Keyboard.enableRepeatEvents(false); + } + + @Override + public boolean doesGuiPauseGame() { + return false; + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenRecipeSelector.java b/src/main/java/com/hbm/inventory/gui/GUIScreenRecipeSelector.java new file mode 100644 index 000000000..6f101ef29 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenRecipeSelector.java @@ -0,0 +1,328 @@ +package com.hbm.inventory.gui; + +import java.util.ArrayList; +import java.util.List; + +import org.lwjgl.input.Keyboard; +import org.lwjgl.input.Mouse; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; + +import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.recipes.loader.GenericRecipe; +import com.hbm.inventory.recipes.loader.GenericRecipes; +import com.hbm.lib.RefStrings; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; + +import cpw.mods.fml.common.FMLCommonHandler; +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.GuiTextField; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; + +public class GUIScreenRecipeSelector extends GuiScreen { + + protected static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_recipe_selector.png"); + + //basic GUI setup + protected int xSize = 176; + protected int ySize = 132; + protected int guiLeft; + protected int guiTop; + // search crap + protected GenericRecipes recipeSet; + protected List recipes = new ArrayList(); + protected GuiTextField search; + protected int pageIndex; + protected int size; + protected String selection; + public static final String NULL_SELECTION = "null"; + // callback + protected int index; + protected IControlReceiver tile; + protected GuiScreen previousScreen; + + public static void openSelector(GenericRecipes recipeSet, IControlReceiver tile, String selection, int index, GuiScreen previousScreen) { + FMLCommonHandler.instance().showGuiScreen(new GUIScreenRecipeSelector(recipeSet, tile, selection, index, previousScreen)); + } + + public GUIScreenRecipeSelector(GenericRecipes recipeSet, IControlReceiver tile, String selection, int index, GuiScreen previousScreen) { + this.recipeSet = recipeSet; + this.tile = tile; + this.selection = selection; + this.index = index; + this.previousScreen = previousScreen; + if(this.selection == null) this.selection = NULL_SELECTION; + + regenerateRecipes(); + } + + @Override + public void initGui() { + super.initGui(); + this.guiLeft = (this.width - this.xSize) / 2; + this.guiTop = (this.height - this.ySize) / 2; + + Keyboard.enableRepeatEvents(true); + this.search = new GuiTextField(this.fontRendererObj, guiLeft + 28, guiTop + 111, 102, 12); + this.search.setTextColor(-1); + this.search.setDisabledTextColour(-1); + this.search.setEnableBackgroundDrawing(false); + this.search.setMaxStringLength(32); + } + + private void regenerateRecipes() { + + this.recipes.clear(); + this.recipes.addAll(recipeSet.recipeOrderedList); + + resetPaging(); + } + + private void search(String search) { + this.recipes.clear(); + + if(search.isEmpty()) { + this.recipes.addAll(recipeSet.recipeOrderedList); + } else { + for(Object o : recipeSet.recipeOrderedList) { + GenericRecipe recipe = (GenericRecipe) o; + if(recipe.matchesSearch(search)) this.recipes.add(recipe); + } + } + + resetPaging(); + } + + private void resetPaging() { + this.pageIndex = 0; + this.size = Math.max(0, (int)Math.ceil((this.recipes.size() - 40) / 8D)); + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + this.drawDefaultBackground(); + this.drawGuiContainerBackgroundLayer(f, mouseX, mouseY); + GL11.glDisable(GL11.GL_LIGHTING); + this.drawGuiContainerForegroundLayer(mouseX, mouseY); + GL11.glEnable(GL11.GL_LIGHTING); + this.handleScroll(); + + if(guiLeft + 7 <= mouseX && guiLeft + 7 + 144 > mouseX && guiTop + 17 < mouseY && guiTop + 17 + 90 >= mouseY) { + for(int i = pageIndex * 8; i < pageIndex * 8 + 40; i++) { + if(i >= this.recipes.size()) break; + + int ind = i - pageIndex * 8; + int ix = 7 + 18 * (ind % 8); + int iy = 17 + 18 * (ind / 8); + + if(guiLeft + ix <= mouseX && guiLeft + ix + 18 > mouseX && guiTop + iy < mouseY && guiTop + iy + 18 >= mouseY) { + GenericRecipe recipe = recipes.get(i); + this.func_146283_a(recipe.print(), mouseX, mouseY); + } + } + } + + if(guiLeft + 151 <= mouseX && guiLeft + 151 + 18 > mouseX && guiTop + 71 < mouseY && guiTop + 71 + 18 >= mouseY) { + if(this.selection != null && this.recipeSet.recipeNameMap.containsKey(selection)) { + GenericRecipe recipe = (GenericRecipe) this.recipeSet.recipeNameMap.get(selection); + this.func_146283_a(recipe.print(), mouseX, mouseY); + } + } + + if(guiLeft + 152 <= mouseX && guiLeft + 152 + 16 > mouseX && guiTop + 90 < mouseY && guiTop + 90 + 16 >= mouseY) { + this.drawCreativeTabHoveringText(EnumChatFormatting.YELLOW + "Close", mouseX, mouseY); + } + + if(guiLeft + 134 <= mouseX && guiLeft + 134 + 16 > mouseX && guiTop + 108 < mouseY && guiTop + 108 + 16 >= mouseY) { + this.drawCreativeTabHoveringText(EnumChatFormatting.YELLOW + "Clear search", mouseX, mouseY); + } + + if(guiLeft + 8 <= mouseX && guiLeft + 8 + 16 > mouseX && guiTop + 108 < mouseY && guiTop + 108 + 16 >= mouseY) { + this.drawCreativeTabHoveringText(EnumChatFormatting.ITALIC + "Press ENTER to toggle focus", mouseX, mouseY); + } + } + + protected void handleScroll() { + + if(!Mouse.isButtonDown(0) && !Mouse.isButtonDown(1) && Mouse.next()) { + int scroll = Mouse.getEventDWheel(); + if(scroll > 0 && this.pageIndex > 0) this.pageIndex--; + if(scroll < 0 && this.pageIndex < this.size) this.pageIndex++; + } + } + + private void drawGuiContainerForegroundLayer(int x, int y) { + this.search.drawTextBox(); + } + + private void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(this.search.isFocused()) { + drawTexturedModalRect(guiLeft + 26, guiTop + 108, 0, 132, 106, 16); + } + + if(guiLeft + 152 <= mouseX && guiLeft + 152 + 16 > mouseX && guiTop + 18 < mouseY && guiTop + 18 + 16 >= mouseY) { + drawTexturedModalRect(guiLeft + 152, guiTop + 18, 176, 0, 16, 16); + } + + if(guiLeft + 152 <= mouseX && guiLeft + 152 + 16 > mouseX && guiTop + 36 < mouseY && guiTop + 36 + 16 >= mouseY) { + drawTexturedModalRect(guiLeft + 152, guiTop + 36, 176, 16, 16, 16); + } + + if(guiLeft + 152 <= mouseX && guiLeft + 152 + 16 > mouseX && guiTop + 90 < mouseY && guiTop + 90 + 16 >= mouseY) { + drawTexturedModalRect(guiLeft + 152, guiTop + 90, 176, 32, 16, 16); + } + + if(guiLeft + 134 <= mouseX && guiLeft + 134 + 16 > mouseX && guiTop + 108 < mouseY && guiTop + 108 + 16 >= mouseY) { + drawTexturedModalRect(guiLeft + 134, guiTop + 108, 176, 48, 16, 16); + } + + if(guiLeft + 8 <= mouseX && guiLeft + 8 + 16 > mouseX && guiTop + 108 < mouseY && guiTop + 108 + 16 >= mouseY) { + drawTexturedModalRect(guiLeft + 8, guiTop + 108, 176, 64, 16, 16); + } + + for(int i = pageIndex * 8; i < pageIndex * 8 + 40; i++) { + if(i >= recipes.size()) break; + int ind = i - pageIndex * 8; + GenericRecipe recipe = recipes.get(i); + if(recipe.getInternalName().equals(this.selection)) this.drawTexturedModalRect(guiLeft + 7 + 18 * (ind % 8), guiTop + 17 + 18 * (ind / 8), 192, 0, 18, 18); + } + + for(int i = pageIndex * 8; i < pageIndex * 8 + 40; i++) { + if(i >= recipes.size()) break; + + int ind = i - pageIndex * 8; + GenericRecipe recipe = recipes.get(i); + + this.renderItem(recipe.getIcon(), 8 + 18 * (ind % 8), 18 + 18 * (ind / 8)); + this.mc.getTextureManager().bindTexture(texture); + } + + if(this.selection != null && this.recipeSet.recipeNameMap.containsKey(selection)) { + GenericRecipe recipe = (GenericRecipe) this.recipeSet.recipeNameMap.get(selection); + this.renderItem(recipe.getIcon(), 152, 72); + } + } + + public void renderItem(ItemStack stack, int x, int y) { + + FontRenderer font = stack.getItem().getFontRenderer(stack); + if(font == null) font = fontRendererObj; + + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + RenderHelper.enableGUIStandardItemLighting(); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) 240 / 1.0F, (float) 240 / 1.0F); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + + itemRender.zLevel = 100.0F; + itemRender.renderItemAndEffectIntoGUI(font, this.mc.getTextureManager(), stack, guiLeft + x, guiTop + y); + itemRender.zLevel = 0.0F; + + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glDisable(GL11.GL_LIGHTING); + } + + @Override + protected void mouseClicked(int x, int y, int k) { + super.mouseClicked(x, y, k); + + this.search.mouseClicked(x, y, k); + + if(guiLeft + 152 <= x && guiLeft + 152 + 16 > x && guiTop + 18 < y && guiTop + 18 + 16 >= y) { + click(); + if(this.pageIndex > 0) this.pageIndex--; + return; + } + + if(guiLeft + 152 <= x && guiLeft + 152 + 16 > x && guiTop + 36 < y && guiTop + 36 + 16 >= y) { + click(); + if(this.pageIndex < this.size) this.pageIndex++; + return; + } + + if(guiLeft + 134 <= x && guiLeft + 134 + 16 > x && guiTop + 108 < y && guiTop + 108 + 16 >= y) { + this.search.setText(""); + this.search(""); + this.search.setFocused(true); + return; + } + + for(int i = pageIndex * 8; i < pageIndex * 8 + 40; i++) { + if(i >= this.recipes.size()) break; + + int ind = i - pageIndex * 8; + int ix = 7 + 18 * (ind % 8); + int iy = 17 + 18 * (ind / 8); + + if(guiLeft + ix <= x && guiLeft + ix + 18 > x && guiTop + iy < y && guiTop + iy + 18 >= y) { + + String newSelection = ((GenericRecipe) recipes.get(i)).getInternalName(); + + if(!newSelection.equals(selection)) + this.selection = newSelection; + else + this.selection = NULL_SELECTION; + + click(); + return; + } + } + + if(guiLeft + 151 <= x && guiLeft + 151 + 18 > x && guiTop + 71 < y && guiTop + 71 + 18 >= y) { + if(!NULL_SELECTION.equals(this.selection)) { + this.selection = this.NULL_SELECTION; + click(); + return; + } + } + + if(guiLeft + 152 <= x && guiLeft + 152 + 16 > x && guiTop + 90 < y && guiTop + 90 + 16 >= y) { + FMLCommonHandler.instance().showGuiScreen(previousScreen); + } + } + + @Override + public void onGuiClosed() { + Keyboard.enableRepeatEvents(false); + + NBTTagCompound data = new NBTTagCompound(); + data.setInteger("index", this.index); + data.setString("selection", this.selection); + TileEntity te = (TileEntity) tile; + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, te.xCoord, te.yCoord, te.zCoord)); + } + + @Override + protected void keyTyped(char typedChar, int keyCode) { + + if(keyCode == Keyboard.KEY_RETURN) { + this.search.setFocused(!this.search.isFocused()); + return; + } + + if(this.search.textboxKeyTyped(typedChar, keyCode)) { + search(this.search.getText()); + return; + } + + if(keyCode == 1 || keyCode == this.mc.gameSettings.keyBindInventory.getKeyCode()) { + FMLCommonHandler.instance().showGuiScreen(previousScreen); + } + } + @Override public boolean doesGuiPauseGame() { return false; } + + public void click() { mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenSatCoord.java b/src/main/java/com/hbm/inventory/gui/GUIScreenSatCoord.java index af560d0d9..e7f4fe2bb 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIScreenSatCoord.java +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenSatCoord.java @@ -8,7 +8,7 @@ import com.hbm.items.ISatChip; import com.hbm.items.tool.ItemSatInterface; import com.hbm.lib.RefStrings; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.SatCoordPacket; +import com.hbm.packet.toserver.SatCoordPacket; import com.hbm.saveddata.satellites.Satellite.CoordActions; import com.hbm.saveddata.satellites.Satellite.Interfaces; diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenSatInterface.java b/src/main/java/com/hbm/inventory/gui/GUIScreenSatInterface.java index 392f620f9..bba6b5b4f 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIScreenSatInterface.java +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenSatInterface.java @@ -10,7 +10,7 @@ import com.hbm.items.ISatChip; import com.hbm.items.tool.ItemSatInterface; import com.hbm.lib.RefStrings; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.SatLaserPacket; +import com.hbm.packet.toserver.SatLaserPacket; import com.hbm.saveddata.satellites.Satellite.InterfaceActions; import com.hbm.saveddata.satellites.Satellite.Interfaces; diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenSnowglobe.java b/src/main/java/com/hbm/inventory/gui/GUIScreenSnowglobe.java index 03021464e..ef877a21c 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIScreenSnowglobe.java +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenSnowglobe.java @@ -5,7 +5,7 @@ import java.util.List; import org.lwjgl.opengl.GL11; import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.client.gui.GuiScreen; diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenTemplateFolder.java b/src/main/java/com/hbm/inventory/gui/GUIScreenTemplateFolder.java index f58519d0a..134b83c75 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIScreenTemplateFolder.java +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenTemplateFolder.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.Locale; import org.lwjgl.input.Keyboard; +import org.lwjgl.input.Mouse; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; @@ -24,8 +25,8 @@ import com.hbm.items.machine.ItemStamp; import com.hbm.items.machine.ItemStamp.StampType; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; -import com.hbm.packet.ItemFolderPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.ItemFolderPacket; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; @@ -153,6 +154,7 @@ public class GUIScreenTemplateFolder extends GuiScreen { return (int) Math.ceil((stacks.size() - 1) / (5 * 7)); } + @Override public void updateScreen() { if(currentPage < 0) currentPage = 0; @@ -160,6 +162,7 @@ public class GUIScreenTemplateFolder extends GuiScreen { currentPage = getPageCount(); } + @Override public void drawScreen(int mouseX, int mouseY, float f) { this.drawDefaultBackground(); this.drawGuiContainerBackgroundLayer(f, mouseX, mouseY); @@ -168,6 +171,7 @@ public class GUIScreenTemplateFolder extends GuiScreen { GL11.glEnable(GL11.GL_LIGHTING); } + @Override public void initGui() { super.initGui(); this.guiLeft = (this.width - this.xSize) / 2; @@ -204,6 +208,26 @@ public class GUIScreenTemplateFolder extends GuiScreen { buttons.add(new FolderButton(guiLeft + 25 + (27 * 4) + 18, guiTop + 26 + (27 * 3), 2, "Next")); } + @Override + public void handleMouseInput() { + super.handleMouseInput(); + + if(Mouse.getEventButton() == -1) { + int scroll = Mouse.getEventDWheel(); + + if(scroll > 0) { + if(currentPage > 0) + currentPage--; + updateButtons(); + } else if(scroll < 0) { + if(currentPage < getPageCount()) + currentPage++; + updateButtons(); + } + } + } + + @Override protected void mouseClicked(int i, int j, int k) { if(i >= guiLeft + 45 && i < guiLeft + 117 && j >= guiTop + 211 && j < guiTop + 223) { @@ -251,6 +275,7 @@ public class GUIScreenTemplateFolder extends GuiScreen { search.drawTextBox(); } + @Override protected void keyTyped(char p_73869_1_, int p_73869_2_) { if (this.search.textboxKeyTyped(p_73869_1_, p_73869_2_)) { diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenToolAbility.java b/src/main/java/com/hbm/inventory/gui/GUIScreenToolAbility.java new file mode 100644 index 000000000..9b31e5675 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenToolAbility.java @@ -0,0 +1,403 @@ +package com.hbm.inventory.gui; + +import java.util.ArrayList; +import java.util.List; + +import org.lwjgl.input.Mouse; +import org.lwjgl.opengl.GL11; + +import com.hbm.handler.ability.AvailableAbilities; +import com.hbm.handler.ability.IBaseAbility; +import com.hbm.handler.ability.IToolAreaAbility; +import com.hbm.handler.ability.IToolHarvestAbility; +import com.hbm.handler.ability.ToolPreset; +import com.hbm.items.tool.ItemToolAbility; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTItemControlPacket; +import com.hbm.util.Tuple.Pair; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class GUIScreenToolAbility extends GuiScreen { + + public static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/tool/gui_tool_ability.png"); + + protected int guiLeft; + protected int guiTop; + protected int xSize; + protected int ySize; + protected int insetWidth; + + public static class AbilityInfo { + public IBaseAbility ability; + public int textureU, textureV; + + public AbilityInfo(IBaseAbility ability, int textureU, int textureV) { + this.ability = ability; + this.textureU = textureU; + this.textureV = textureV; + } + } + + public static final List abilitiesArea = new ArrayList<>(); + public static final List abilitiesHarvest = new ArrayList<>(); + + static { + abilitiesArea.add(new AbilityInfo(IToolAreaAbility.NONE, 0, 91)); + abilitiesArea.add(new AbilityInfo(IToolAreaAbility.RECURSION, 32, 91)); + abilitiesArea.add(new AbilityInfo(IToolAreaAbility.HAMMER, 64, 91)); + abilitiesArea.add(new AbilityInfo(IToolAreaAbility.HAMMER_FLAT, 96, 91)); + abilitiesArea.add(new AbilityInfo(IToolAreaAbility.EXPLOSION, 128, 91)); + + abilitiesHarvest.add(new AbilityInfo(IToolHarvestAbility.NONE, 0, 107)); + abilitiesHarvest.add(new AbilityInfo(IToolHarvestAbility.SILK, 32, 107)); + abilitiesHarvest.add(new AbilityInfo(IToolHarvestAbility.LUCK, 64, 107)); + abilitiesHarvest.add(new AbilityInfo(IToolHarvestAbility.SMELTER, 96, 107)); + abilitiesHarvest.add(new AbilityInfo(IToolHarvestAbility.SHREDDER, 128, 107)); + abilitiesHarvest.add(new AbilityInfo(IToolHarvestAbility.CENTRIFUGE, 160, 107)); + abilitiesHarvest.add(new AbilityInfo(IToolHarvestAbility.CRYSTALLIZER, 192, 107)); + abilitiesHarvest.add(new AbilityInfo(IToolHarvestAbility.MERCURY, 224, 107)); + } + + protected ItemStack toolStack; + protected AvailableAbilities availableAbilities; + protected ItemToolAbility.Configuration config; + + protected int hoverIdxHarvest = -1; + protected int hoverIdxArea = -1; + protected int hoverIdxExtraBtn = -1; + + public GUIScreenToolAbility(AvailableAbilities availableAbilities) { + super(); + + this.availableAbilities = availableAbilities; + + this.xSize = 186; // Note: increased dynamically + this.ySize = 76; + + this.insetWidth = 20 * Math.max(abilitiesArea.size() - 4, abilitiesHarvest.size() - 8); + this.xSize += insetWidth; + } + + @Override + public void initGui() { + this.toolStack = this.mc.thePlayer.getHeldItem(); + + if(this.toolStack == null) { + doClose(); + } + + this.config = ((ItemToolAbility) this.toolStack.getItem()).getConfiguration(this.toolStack); + + guiLeft = (width - xSize) / 2; + guiTop = (height - ySize) / 2; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + this.drawDefaultBackground(); + + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + + // Draw window background + drawStretchedRect(guiLeft, guiTop, 0, 0, xSize, xSize - insetWidth, ySize, 74, 87); + + // Draw the switches + ToolPreset activePreset = config.getActivePreset(); + hoverIdxArea = drawSwitches(abilitiesArea, activePreset.areaAbility, activePreset.areaAbilityLevel, guiLeft + 15, guiTop + 25, mouseX, mouseY); + hoverIdxHarvest = drawSwitches(abilitiesHarvest, activePreset.harvestAbility, activePreset.harvestAbilityLevel, guiLeft + 15, guiTop + 45, mouseX, mouseY); + + // Draw preset indicator + drawNumber(config.currentPreset + 1, guiLeft + insetWidth + 115, guiTop + 25); + drawNumber(config.presets.size(), guiLeft + insetWidth + 149, guiTop + 25); + + // Draw extra buttons hover highlights + int extraBtnsX = guiLeft + xSize - 86; + + hoverIdxExtraBtn = -1; + for(int i = 0; i < 7; ++i) { + if(isInAABB(mouseX, mouseY, extraBtnsX + i * 11, guiTop + 11, 9, 9)) { + hoverIdxExtraBtn = i; + drawTexturedModalRect(extraBtnsX + i * 11, guiTop + 11, 193 + i * 9, 0, 9, 9); + } + } + + // Draw tooltip + String tooltipValue = ""; + + if(hoverIdxArea != -1) { + int level = 0; + if(abilitiesArea.get(hoverIdxArea).ability == activePreset.areaAbility) { + level = activePreset.areaAbilityLevel; + } + tooltipValue = abilitiesArea.get(hoverIdxArea).ability.getFullName(level); + } else if(hoverIdxHarvest != -1) { + int level = 0; + if(abilitiesHarvest.get(hoverIdxHarvest).ability == activePreset.harvestAbility) { + level = activePreset.harvestAbilityLevel; + } + tooltipValue = abilitiesHarvest.get(hoverIdxHarvest).ability.getFullName(level); + } else if(hoverIdxExtraBtn != -1) { + switch(hoverIdxExtraBtn) { + case 0: tooltipValue = "Reset all presets"; break; + case 1: tooltipValue = "Delete current preset"; break; + case 2: tooltipValue = "Add new preset"; break; + case 3: tooltipValue = "Select first preset"; break; + case 4: tooltipValue = "Next preset"; break; + case 5: tooltipValue = "Previous preset"; break; + case 6: tooltipValue = "Close window"; break; + } + } + + if(!tooltipValue.isEmpty()) { + int tooltipWidth = Math.max(6, fontRendererObj.getStringWidth(tooltipValue)); + int tooltipX = guiLeft + xSize / 2 - tooltipWidth / 2; + int tooltipY = guiTop + ySize + 1 + 4; + drawStretchedRect(tooltipX - 5, tooltipY - 4, 0, 76, tooltipWidth + 10, 186, 15, 3, 3); + fontRendererObj.drawString(tooltipValue, tooltipX, tooltipY, 0xffffffff); + } + } + + protected void drawStretchedRect(int x, int y, int u, int v, int realWidth, int width, int height, int keepLeft, int keepRight) { + int midWidth = width - keepLeft - keepRight; + int realMidWidth = realWidth - keepLeft - keepRight; + drawTexturedModalRect(x, y, u, v, keepLeft, height); + for(int i = 0; i < realMidWidth; i += midWidth) { + drawTexturedModalRect(x + keepLeft + i, y, u + keepLeft, v, Math.min(midWidth, realMidWidth - i), height); + } + drawTexturedModalRect(x + keepLeft + realMidWidth, y, u + keepLeft + midWidth, v, keepRight, height); + } + + protected int drawSwitches(List abilities, IBaseAbility selectedAbility, int selectedLevel, int x, int y, int mouseX, int mouseY) { + int hoverIdx = -1; + + for(int i = 0; i < abilities.size(); ++i) { + AbilityInfo abilityInfo = abilities.get(i); + boolean available = abilityAvailable(abilityInfo.ability); + boolean selected = abilityInfo.ability == selectedAbility; + + // Draw switch + drawTexturedModalRect(x + 20 * i, y, abilityInfo.textureU + (available ? 16 : 0), abilityInfo.textureV, 16, 16); + + // Draw level LEDs + if(abilityInfo.ability.levels() > 1) { + int level = 0; + + if(selected) { + level = selectedLevel + 1; + } + + // Note: only visual effect for the LEDs + // int maxLevel = Math.min(abilityInfo.ability.levels(), 5); + int maxLevel = 5; + + if(level > 10 || level < 0) { + // All-red LEDs for invalid levels + level = -1; + } + + drawTexturedModalRect(x + 20 * i + 17, y + 1, 188 + level * 2, maxLevel * 14, 2, 14); + } + + boolean isHovered = isInAABB(mouseX, mouseY, x + 20 * i, y, 16, 16); + + if(isHovered) { + hoverIdx = i; + } + + if(selected) { + // Draw selection highlight + drawTexturedModalRect(x + 20 * i - 1, y - 1, 220, 9, 18, 18); + } else if(available && isHovered) { + // Draw hover highlight + drawTexturedModalRect(x + 20 * i - 1, y - 1, 238, 9, 18, 18); + } + } + + return hoverIdx; + } + + protected void drawNumber(int number, int x, int y) { + number += 100; // Against accidental negatives + drawDigit((number / 10) % 10, x, y); + drawDigit(number % 10, x + 12, y); + } + + protected void drawDigit(int digit, int x, int y) { + drawTexturedModalRect(x, y, digit * 10, 123, 10, 15); + } + + private boolean isInAABB(int mouseX, int mouseY, int x, int y, int width, int height) { + return x <= mouseX && x + width > mouseX && y <= mouseY && y + height > mouseY; + } + + private boolean abilityAvailable(IBaseAbility ability) { + if(!availableAbilities.supportsAbility(ability)) { + return false; + } + + ToolPreset activePreset = config.getActivePreset(); + if(ability instanceof IToolHarvestAbility && ability != IToolHarvestAbility.NONE && !activePreset.areaAbility.allowsHarvest(activePreset.areaAbilityLevel)) { + return false; + } + + return true; + } + + @Override + public void handleMouseInput() { + super.handleMouseInput(); + + if(Mouse.getEventButton() == -1) { + int scroll = Mouse.getEventDWheel(); + + if(scroll < 0) doPrevPreset(true); + if(scroll > 0) doNextPreset(true); + } + } + + @Override + protected void mouseClicked(int mouseX, int mouseY, int button) { + ToolPreset activePreset = config.getActivePreset(); + + // Process switches + Pair clickResult; + + clickResult = handleSwitchesClicked(abilitiesArea, activePreset.areaAbility, activePreset.areaAbilityLevel, hoverIdxArea, mouseX, mouseY); + activePreset.areaAbility = (IToolAreaAbility) clickResult.key; + activePreset.areaAbilityLevel = clickResult.value; + + clickResult = handleSwitchesClicked(abilitiesHarvest, activePreset.harvestAbility, activePreset.harvestAbilityLevel, hoverIdxHarvest, mouseX, mouseY); + activePreset.harvestAbility = (IToolHarvestAbility) clickResult.key; + activePreset.harvestAbilityLevel = clickResult.value; + + if(!activePreset.areaAbility.allowsHarvest(activePreset.areaAbilityLevel)) { + activePreset.harvestAbility = IToolHarvestAbility.NONE; + activePreset.harvestAbilityLevel = 0; + } + + // Process extra buttons + if(hoverIdxExtraBtn != -1) { + switch(hoverIdxExtraBtn) { + case 0: doResetPresets(); break; + case 1: doDelPreset(); break; + case 2: doAddPreset(); break; + case 3: doZeroPreset(); break; + case 4: doNextPreset(false); break; + case 5: doPrevPreset(false); break; + case 6: doClose(); break; + } + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 0.5F)); + } + + // Allow quick-closing + if(!isInAABB(mouseX, mouseY, guiLeft, guiTop, xSize, ySize)) { + doClose(); + } + } + + protected Pair handleSwitchesClicked(List abilities, IBaseAbility selectedAbility, int selectedLevel, int hoverIdx, int mouseX, int mouseY) { + if(hoverIdx != -1) { + IBaseAbility hoveredAbility = abilities.get(hoverIdx).ability; + boolean available = abilityAvailable(hoveredAbility); + + if(available) { + int availableLevels = availableAbilities.maxLevel(hoveredAbility) + 1; + + if(hoveredAbility != selectedAbility || availableLevels > 1) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("hbm:item.techBoop"), 2F)); + } + + if(hoveredAbility == selectedAbility) { + selectedLevel = (selectedLevel + 1) % availableLevels; + } else { + selectedLevel = 0; + } + + selectedAbility = hoveredAbility; + } + } + + return new Pair<>(selectedAbility, selectedLevel); + } + + @Override + protected void keyTyped(char c, int key) { + if(key == 1 || key == this.mc.gameSettings.keyBindInventory.getKeyCode()) { + doClose(); + return; + } + + super.keyTyped(c, key); + } + + @Override + public boolean doesGuiPauseGame() { + return false; + } + + protected void doResetPresets() { + config.reset(availableAbilities); + } + + protected void doDelPreset() { + if(config.presets.size() <= 1) { + return; + } + config.presets.remove(config.currentPreset); + config.currentPreset = Math.min(config.currentPreset, config.presets.size() - 1); + } + + protected void doAddPreset() { + if(config.presets.size() >= 99) { + return; + } + + config.presets.add(config.currentPreset + 1, new ToolPreset()); + config.currentPreset += 1; + } + + protected void doZeroPreset() { + config.currentPreset = 0; + } + + protected void doNextPreset(boolean bound) { + if(bound) { + if(config.currentPreset < config.presets.size() - 1) { + config.currentPreset += 1; + } + } else { + config.currentPreset = (config.currentPreset + 1) % config.presets.size(); + } + } + + protected void doPrevPreset(boolean bound) { + if(bound) { + if(config.currentPreset > 0) { + config.currentPreset -= 1; + } + } else { + config.currentPreset = (config.currentPreset + config.presets.size() - 1) % config.presets.size(); + } + } + + protected void doClose() { + // A bit messy, but I suppose it works + ((ItemToolAbility) this.toolStack.getItem()).setConfiguration(toolStack, config); + PacketDispatcher.wrapper.sendToServer(new NBTItemControlPacket(this.toolStack.getTagCompound())); + + this.mc.thePlayer.closeScreen(); + + MainRegistry.proxy.displayTooltip(config.getActivePreset().getMessage().getFormattedText(), MainRegistry.proxy.ID_TOOLABILITY); + + this.mc.theWorld.playSoundAtEntity(this.mc.thePlayer, "random.orb", 0.25F, config.getActivePreset().isNone() ? 0.75F : 1.25F); + } +} \ No newline at end of file diff --git a/src/main/java/com/hbm/inventory/gui/GUISoyuzLauncher.java b/src/main/java/com/hbm/inventory/gui/GUISoyuzLauncher.java index 644f6eff6..a1fdb30cc 100644 --- a/src/main/java/com/hbm/inventory/gui/GUISoyuzLauncher.java +++ b/src/main/java/com/hbm/inventory/gui/GUISoyuzLauncher.java @@ -4,8 +4,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerSoyuzLauncher; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AuxButtonPacket; import com.hbm.tileentity.machine.TileEntitySoyuzLauncher; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/GUIToolBox.java b/src/main/java/com/hbm/inventory/gui/GUIToolBox.java new file mode 100644 index 000000000..d00282f56 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIToolBox.java @@ -0,0 +1,63 @@ +package com.hbm.inventory.gui; + +import com.hbm.inventory.container.ContainerToolBox; +import com.hbm.lib.RefStrings; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import org.lwjgl.opengl.GL11; + +import static com.hbm.items.tool.ItemToolBox.*; + +public class GUIToolBox extends GuiContainer { + + private final static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_toolbox.png"); + private final InventoryToolBox inventory; + private ItemStack firstHeld; + + public GUIToolBox(InventoryPlayer invPlayer, InventoryToolBox box) { + super(new ContainerToolBox(invPlayer, box)); + this.inventory = box; + + this.xSize = 176; + this.ySize = 211; + } + + @Override + public void drawScreen(int x, int y, float interp) { + + if(firstHeld == null) { + // *very* unlikely to be incorrect on the first frame after opening, so doing this is good enough + firstHeld = this.mc.thePlayer.getHeldItem(); + + // if the open box has changed or disappeared, close the inventory + } else if(this.mc.thePlayer.getHeldItem() != firstHeld) { + //this.mc.thePlayer.closeScreen(); + //return; + } + + super.drawScreen(x, y, interp); + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = I18n.format(this.inventory.getInventoryName()); + + if(inventory.hasCustomInventoryName()) { + name = inventory.target.getDisplayName(); + } + + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 37, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUITurretArty.java b/src/main/java/com/hbm/inventory/gui/GUITurretArty.java index f53a71a13..03a69a9b3 100644 --- a/src/main/java/com/hbm/inventory/gui/GUITurretArty.java +++ b/src/main/java/com/hbm/inventory/gui/GUITurretArty.java @@ -1,11 +1,11 @@ package com.hbm.inventory.gui; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AuxButtonPacket; import com.hbm.tileentity.turret.TileEntityTurretArty; import com.hbm.tileentity.turret.TileEntityTurretBaseNT; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.entity.player.InventoryPlayer; diff --git a/src/main/java/com/hbm/inventory/gui/GUITurretBase.java b/src/main/java/com/hbm/inventory/gui/GUITurretBase.java index c4c79e551..997af0011 100644 --- a/src/main/java/com/hbm/inventory/gui/GUITurretBase.java +++ b/src/main/java/com/hbm/inventory/gui/GUITurretBase.java @@ -8,11 +8,11 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerTurretBase; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AuxButtonPacket; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.turret.TileEntityTurretBaseNT; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; diff --git a/src/main/java/com/hbm/inventory/gui/GUITurretHIMARS.java b/src/main/java/com/hbm/inventory/gui/GUITurretHIMARS.java index 1458112b9..9baa21939 100644 --- a/src/main/java/com/hbm/inventory/gui/GUITurretHIMARS.java +++ b/src/main/java/com/hbm/inventory/gui/GUITurretHIMARS.java @@ -1,11 +1,11 @@ package com.hbm.inventory.gui; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.AuxButtonPacket; import com.hbm.tileentity.turret.TileEntityTurretBaseNT; import com.hbm.tileentity.turret.TileEntityTurretHIMARS; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.entity.player.InventoryPlayer; diff --git a/src/main/java/com/hbm/inventory/gui/GUIWatz.java b/src/main/java/com/hbm/inventory/gui/GUIWatz.java index c22046d29..cf190b93e 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIWatz.java +++ b/src/main/java/com/hbm/inventory/gui/GUIWatz.java @@ -6,8 +6,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerWatz; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.render.util.GaugeUtil; import com.hbm.render.util.GaugeUtil.Gauge; import com.hbm.tileentity.machine.TileEntityWatz; diff --git a/src/main/java/com/hbm/inventory/gui/GUIWeaponTable.java b/src/main/java/com/hbm/inventory/gui/GUIWeaponTable.java new file mode 100644 index 000000000..c81cc062f --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIWeaponTable.java @@ -0,0 +1,115 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.input.Mouse; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; + +import com.hbm.inventory.container.ContainerWeaponTable; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.lib.RefStrings; +import com.hbm.render.item.weapon.sedna.ItemRenderWeaponBase; + +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.IItemRenderer; +import net.minecraftforge.client.MinecraftForgeClient; + +public class GUIWeaponTable extends GuiInfoContainer { + + public static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/machine/gui_weapon_modifier.png"); + public int left; + public int top; + + public double yaw = 20; + public double pitch = -10; + + public GUIWeaponTable(InventoryPlayer player) { + super(new ContainerWeaponTable(player)); + + this.xSize = 176; + this.ySize = 240; + + guiLeft = (this.width - this.xSize) / 2; + guiTop = (this.height - this.ySize) / 2; + } + + @Override + public void drawScreen(int x, int y, float interp) { + super.drawScreen(x, y, interp); + + if(guiLeft + 8 <= x && guiLeft + 8 + 160 > x && guiTop + 18 < y && guiTop + 18 + 79 >= y) { + if(Mouse.isButtonDown(0)) { + double distX = (guiLeft + 8 + 80) - x; + double distY = (guiTop + 18 + 39.5) - y; + yaw = distX / 80D * -180D; + pitch = distY / 39.5D * 90D; + } + } + } + + @Override + protected void mouseClicked(int x, int y, int key) { + super.mouseClicked(x, y, key); + + if(guiLeft + 26 <= x && guiLeft + 26 + 7 > x && guiTop + 111 < y && guiTop + 111 + 10 >= y) { + ContainerWeaponTable container = (ContainerWeaponTable) this.inventorySlots; + ItemStack gun = container.gun.getStackInSlot(0); + if(gun != null && gun.getItem() instanceof ItemGunBaseNT) { + int configs = ((ItemGunBaseNT) gun.getItem()).getConfigCount(); + if(configs > 1) { + container.index++; + container.index %= configs; + this.handleMouseClick(null, 0, container.index, 999_999); + } + } + } + } + + @Override + protected void drawGuiContainerForegroundLayer(int mX, int mY) { + + String name = I18n.format("container.weaponsTable"); + this.fontRendererObj.drawString(name, (this.xSize) / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 0xffffff); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float inter, int mX, int mY) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + this.mc.getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + ContainerWeaponTable container = (ContainerWeaponTable) this.inventorySlots; + ItemStack gun = container.gun.getStackInSlot(0); + + if(gun != null && gun.getItem() instanceof ItemGunBaseNT) { + drawTexturedModalRect(guiLeft + 35, guiTop + 112, 176 + 6 * container.index, 0, 6, 8); + + GL11.glPushMatrix(); + GL11.glTranslated(guiLeft + 88, guiTop + 57, 100); + + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(gun, IItemRenderer.ItemRenderType.INVENTORY); + + if(customRenderer instanceof ItemRenderWeaponBase) { + ItemRenderWeaponBase renderGun = (ItemRenderWeaponBase) customRenderer; + + GL11.glPushMatrix(); + GL11.glRotated(180, 1, 0, 0); + RenderHelper.enableStandardItemLighting(); + GL11.glPopMatrix(); + + GL11.glRotated(yaw, 0, 1, 0); + GL11.glRotated(pitch, 1, 0, 0); + + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + renderGun.setupModTable(gun); + renderGun.renderModTable(gun, container.index); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + } + GL11.glPopMatrix(); + } + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GuiInfoContainer.java b/src/main/java/com/hbm/inventory/gui/GuiInfoContainer.java index bec49c8d3..d3f151798 100644 --- a/src/main/java/com/hbm/inventory/gui/GuiInfoContainer.java +++ b/src/main/java/com/hbm/inventory/gui/GuiInfoContainer.java @@ -7,23 +7,26 @@ import codechicken.nei.api.INEIGuiHandler; import codechicken.nei.api.TaggedInventoryArea; import com.hbm.inventory.SlotPattern; import com.hbm.inventory.container.ContainerBase; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; + import cpw.mods.fml.common.Optional; -import net.minecraft.item.Item; import net.minecraft.nbt.NBTTagCompound; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; +import com.hbm.items.ModItems; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.RefStrings; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.inventory.Container; @@ -40,36 +43,36 @@ public abstract class GuiInfoContainer extends GuiContainer implements INEIGuiHa public GuiInfoContainer(Container p_i1072_1_) { super(p_i1072_1_); } - + public void drawElectricityInfo(GuiInfoContainer gui, int mouseX, int mouseY, int x, int y, int width, int height, long power, long maxPower) { if(x <= mouseX && x + width > mouseX && y < mouseY && y + height >= mouseY) gui.drawInfo(new String[] { BobMathUtil.getShortNumber(power) + "/" + BobMathUtil.getShortNumber(maxPower) + "HE" }, mouseX, mouseY); } - + public void drawCustomInfoStat(int mouseX, int mouseY, int x, int y, int width, int height, int tPosX, int tPosY, String... text) { drawCustomInfoStat(mouseX, mouseY, x, y, width, height, tPosX, tPosY, Arrays.asList(text)); } - + public void drawCustomInfoStat(int mouseX, int mouseY, int x, int y, int width, int height, int tPosX, int tPosY, List text) { - + if(x <= mouseX && x + width > mouseX && y < mouseY && y + height >= mouseY) this.func_146283_a(text, tPosX, tPosY); } - + public void drawInfo(String[] text, int x, int y) { this.func_146283_a(Arrays.asList(text), x, y); } - + /** Automatically grabs upgrade info out of the tile entity if it's a IUpgradeInfoProvider and crams the available info into a list for display. Automation, yeah! */ public List getUpgradeInfo(TileEntity tile) { List lines = new ArrayList(); - + if(tile instanceof IUpgradeInfoProvider) { IUpgradeInfoProvider provider = (IUpgradeInfoProvider) tile; - + lines.add(I18nUtil.resolveKey("upgrade.gui.title")); - + for(UpgradeType type : UpgradeType.values()) { if(provider.canProvideInfo(type, 0, false)) { - int maxLevel = provider.getMaxLevel(type); + int maxLevel = provider.getValidUpgrades().get(type); switch(type) { case SPEED: lines.add(I18nUtil.resolveKey("upgrade.gui.speed", maxLevel)); break; case POWER: lines.add(I18nUtil.resolveKey("upgrade.gui.power", maxLevel)); break; @@ -81,20 +84,20 @@ public abstract class GuiInfoContainer extends GuiContainer implements INEIGuiHa } } } - + return lines; } - + @Deprecated public void drawCustomInfo(GuiInfoContainer gui, int mouseX, int mouseY, int x, int y, int width, int height, String[] text) { if(x <= mouseX && x + width > mouseX && y < mouseY && y + height >= mouseY) this.func_146283_a(Arrays.asList(text), mouseX, mouseY); } - + public void drawInfoPanel(int x, int y, int width, int height, int type) { Minecraft.getMinecraft().getTextureManager().bindTexture(guiUtil); - + switch(type) { case 0: drawTexturedModalRect(x, y, 0, 0, 8, 8); break; //Small blue I case 1: drawTexturedModalRect(x, y, 0, 8, 8, 8); break; //Small green I @@ -110,7 +113,7 @@ public abstract class GuiInfoContainer extends GuiContainer implements INEIGuiHa case 11: drawTexturedModalRect(x, y, 24, 32, 16, 16); break; //Large grey * } } - + protected boolean isMouseOverSlot(Slot slot, int x, int y) { return this.func_146978_c(slot.xDisplayPosition, slot.yDisplayPosition, 16, 16, x, y); } @@ -130,37 +133,37 @@ public abstract class GuiInfoContainer extends GuiContainer implements INEIGuiHa return null; } - + protected boolean checkClick(int x, int y, int left, int top, int sizeX, int sizeY) { return guiLeft + left <= x && guiLeft + left + sizeX > x && guiTop + top < y && guiTop + top + sizeY >= y; } - + /* Getters for external use of the GUI's rect rendering, such as NumberDisplay */ public int getGuiTop() { return this.guiTop; } - + public int getGuiLeft() { return this.guiLeft; } - + public float getZLevel() { return this.zLevel; } - + public void setZLevel(float level) { this.zLevel = level; } - + public RenderItem getItemRenderer() { return this.itemRender; } - + public FontRenderer getFontRenderer() { return this.fontRendererObj; } - + /** Draws item with label, excludes all the GL state setup */ protected void drawItemStack(ItemStack stack, int x, int y, String label) { GL11.glTranslatef(0.0F, 0.0F, 32.0F); this.zLevel = 200.0F; @@ -173,9 +176,30 @@ public abstract class GuiInfoContainer extends GuiContainer implements INEIGuiHa this.zLevel = 0.0F; itemRender.zLevel = 0.0F; } + + public static final ItemStack TEMPLATE_FOLDER = new ItemStack(ModItems.template_folder); + + /** Standardsized item rendering from GUIScreenRecipeSelector */ + public void renderItem(ItemStack stack, int x, int y) { + renderItem(stack, x, y, 100F); + } + + public void renderItem(ItemStack stack, int x, int y, float layer) { + FontRenderer font = stack.getItem().getFontRenderer(stack); + if(font == null) font = fontRendererObj; + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + RenderHelper.enableGUIStandardItemLighting(); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) 240 / 1.0F, (float) 240 / 1.0F); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + itemRender.zLevel = layer; + itemRender.renderItemAndEffectIntoGUI(font, this.mc.getTextureManager(), stack, guiLeft + x, guiTop + y); + itemRender.zLevel = 0.0F; + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glDisable(GL11.GL_LIGHTING); + } protected void drawStackText(List lines, int x, int y, FontRenderer font) { - + if(!lines.isEmpty()) { GL11.glDisable(GL12.GL_RESCALE_NORMAL); RenderHelper.disableStandardItemLighting(); @@ -189,11 +213,11 @@ public abstract class GuiInfoContainer extends GuiContainer implements INEIGuiHa while(iterator.hasNext()) { Object[] line = (Object[]) iterator.next(); int lineWidth = 0; - + boolean hasStack = false; - + for(Object o : line) { - + if(o instanceof String) { lineWidth += font.getStringWidth((String) o); } else { @@ -201,7 +225,7 @@ public abstract class GuiInfoContainer extends GuiContainer implements INEIGuiHa hasStack = true; } } - + if(hasStack) { height += 18; } else { @@ -243,19 +267,19 @@ public abstract class GuiInfoContainer extends GuiContainer implements INEIGuiHa this.drawGradientRect(minX - 3, minY + height + 2, minX + longestline + 3, minY + height + 3, color1, color1); for(int index = 0; index < lines.size(); ++index) { - + Object[] line = (Object[]) lines.get(index); int indent = 0; boolean hasStack = false; - + for(Object o : line) { if(!(o instanceof String)) { hasStack = true; } } - + for(Object o : line) { - + if(o instanceof String) { font.drawStringWithShadow((String) o, minX + indent, minY + (hasStack ? 4 : 0), -1); indent += font.getStringWidth((String) o) + 2; @@ -291,6 +315,11 @@ public abstract class GuiInfoContainer extends GuiContainer implements INEIGuiHa GL11.glEnable(GL12.GL_RESCALE_NORMAL); } } + + public void click() { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + } + ///NEI drag and drop support @Override @Optional.Method(modid = "NotEnoughItems") @@ -301,10 +330,10 @@ public abstract class GuiInfoContainer extends GuiContainer implements INEIGuiHa if(inventorySlots instanceof ContainerBase) { NBTTagCompound tag = new NBTTagCompound(); tag.setInteger("slot", slot.slotNumber); - //Item IDs are usually dangerous, but this is only getting called from clientside, while ingame anyway - //if someone somehow gets an ID shift with this i will eat my shoe - 70k - tag.setInteger("id", Item.getIdFromItem(stack.getItem())); - tag.setInteger("meta", stack.getItemDamage()); + + NBTTagCompound item = new NBTTagCompound(); + stack.writeToNBT(item); + tag.setTag("stack", item); TileEntity te = (TileEntity) ((ContainerBase) inventorySlots).tile; PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(tag, te.xCoord, te.yCoord, te.zCoord)); diff --git a/src/main/java/com/hbm/inventory/gui/GuiScreenRadioTelex.java b/src/main/java/com/hbm/inventory/gui/GuiScreenRadioTelex.java index 316c6e9fb..c406fd3c9 100644 --- a/src/main/java/com/hbm/inventory/gui/GuiScreenRadioTelex.java +++ b/src/main/java/com/hbm/inventory/gui/GuiScreenRadioTelex.java @@ -7,8 +7,8 @@ import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.GL11; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toserver.NBTControlPacket; import com.hbm.tileentity.network.TileEntityRadioTelex; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/inventory/gui/LoadingScreenRendererNT.java b/src/main/java/com/hbm/inventory/gui/LoadingScreenRendererNT.java new file mode 100644 index 000000000..8dd24c319 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/LoadingScreenRendererNT.java @@ -0,0 +1,189 @@ +package com.hbm.inventory.gui; + +import java.util.Random; + +import org.lwjgl.opengl.GL11; + +import com.hbm.handler.HTTPHandler; + +import cpw.mods.fml.client.FMLClientHandler; +import net.minecraft.client.LoadingScreenRenderer; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.Gui; +import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.shader.Framebuffer; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.MinecraftError; + +public class LoadingScreenRendererNT extends LoadingScreenRenderer { + + private String message = ""; + private Minecraft mc; + private String currentlyDisplayedText = ""; + private long time = Minecraft.getSystemTime(); + private boolean doesProgress; + private ScaledResolution resolution; + private Framebuffer frameBuffer; + public String tipOfTheDay = "Tip of the day: " + chooseTip(); + + public LoadingScreenRendererNT(Minecraft mc) { + super(mc); + this.mc = mc; + this.resolution = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight); + this.frameBuffer = new Framebuffer(mc.displayWidth, mc.displayHeight, false); + this.frameBuffer.setFramebufferFilter(9728); + } + + private String chooseTip() { + if(HTTPHandler.tipOfTheDay.isEmpty()) return "null"; + return HTTPHandler.tipOfTheDay.get(new Random().nextInt(HTTPHandler.tipOfTheDay.size())); + } + + @Override + public void resetProgressAndMessage(String message) { + this.doesProgress = false; + this.func_73722_d(message); + } + + @Override + public void displayProgressMessage(String message) { + this.doesProgress = true; + this.func_73722_d(message); + } + + @Override + public void func_73722_d(String message) { + this.currentlyDisplayedText = message; + + if(!this.mc.running) { + if(!this.doesProgress) { + throw new MinecraftError(); + } + } else { + GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT); + GL11.glMatrixMode(GL11.GL_PROJECTION); + GL11.glLoadIdentity(); + + if(OpenGlHelper.isFramebufferEnabled()) { + int scale = this.resolution.getScaleFactor(); + GL11.glOrtho(0.0D, (this.resolution.getScaledWidth() * scale), (this.resolution.getScaledHeight() * scale), 0.0D, 100.0D, 300.0D); + } else { + ScaledResolution scaledresolution = new ScaledResolution(this.mc, this.mc.displayWidth, this.mc.displayHeight); + GL11.glOrtho(0.0D, scaledresolution.getScaledWidth_double(), scaledresolution.getScaledHeight_double(), 0.0D, 100.0D, 300.0D); + } + + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glLoadIdentity(); + GL11.glTranslatef(0.0F, 0.0F, -200.0F); + } + } + + @Override + public void resetProgresAndWorkingMessage(String message) { + if(!this.mc.running) { + if(!this.doesProgress) { + throw new MinecraftError(); + } + } else { + this.time = 0L; + this.message = message; + this.setLoadingProgress(-1); + this.time = 0L; + } + } + + @Override + public void setLoadingProgress(int p_73718_1_) { + if(!this.mc.running) { + if(!this.doesProgress) { + throw new MinecraftError(); + } + } else { + long time = Minecraft.getSystemTime(); + + if(time - this.time >= 100L) { + this.time = time; + ScaledResolution scaledresolution = new ScaledResolution(this.mc, this.mc.displayWidth, this.mc.displayHeight); + int scaleFactor = scaledresolution.getScaleFactor(); + int width = scaledresolution.getScaledWidth(); + int height = scaledresolution.getScaledHeight(); + + if(OpenGlHelper.isFramebufferEnabled()) { + this.frameBuffer.framebufferClear(); + } else { + GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT); + } + + this.frameBuffer.bindFramebuffer(false); + GL11.glMatrixMode(GL11.GL_PROJECTION); + GL11.glLoadIdentity(); + GL11.glOrtho(0.0D, scaledresolution.getScaledWidth_double(), scaledresolution.getScaledHeight_double(), 0.0D, 100.0D, 300.0D); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glLoadIdentity(); + GL11.glTranslatef(0.0F, 0.0F, -200.0F); + + if(!OpenGlHelper.isFramebufferEnabled()) { + GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT); + } + + if(!FMLClientHandler.instance().handleLoadingScreen(scaledresolution)) { + Tessellator tessellator = Tessellator.instance; + this.mc.getTextureManager().bindTexture(Gui.optionsBackground); + float f = 32.0F; + tessellator.startDrawingQuads(); + tessellator.setColorOpaque_I(4210752); + tessellator.addVertexWithUV(0.0D, height, 0.0D, 0.0D, height / f); + tessellator.addVertexWithUV(width, height, 0.0D, width / f, height / f); + tessellator.addVertexWithUV(width, 0.0D, 0.0D, width / f, 0.0D); + tessellator.addVertexWithUV(0.0D, 0.0D, 0.0D, 0.0D, 0.0D); + tessellator.draw(); + + if(p_73718_1_ >= 0) { + byte b0 = 100; + byte b1 = 2; + int j1 = width / 2 - b0 / 2; + int k1 = height / 2 + 16; + GL11.glDisable(GL11.GL_TEXTURE_2D); + tessellator.startDrawingQuads(); + tessellator.setColorOpaque_I(8421504); + tessellator.addVertex(j1, k1, 0.0D); + tessellator.addVertex(j1, k1 + b1, 0.0D); + tessellator.addVertex(j1 + b0, k1 + b1, 0.0D); + tessellator.addVertex(j1 + b0, k1, 0.0D); + tessellator.setColorOpaque_I(8454016); + tessellator.addVertex(j1, k1, 0.0D); + tessellator.addVertex(j1, (k1 + b1), 0.0D); + tessellator.addVertex(j1 + p_73718_1_, k1 + b1, 0.0D); + tessellator.addVertex(j1 + p_73718_1_, k1, 0.0D); + tessellator.draw(); + GL11.glEnable(GL11.GL_TEXTURE_2D); + } + + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + this.mc.fontRenderer.drawStringWithShadow(this.currentlyDisplayedText, (width - this.mc.fontRenderer.getStringWidth(this.currentlyDisplayedText)) / 2, height / 2 - 4 - 16, 16777215); + this.mc.fontRenderer.drawStringWithShadow(this.message, (width - this.mc.fontRenderer.getStringWidth(this.message)) / 2, height / 2 - 4 + 8, 16777215); + + String[] frags = this.tipOfTheDay.split("\\$"); + for(int i = 0; i < frags.length; i++) { + String frag = frags[i]; + this.mc.fontRenderer.drawStringWithShadow(EnumChatFormatting.YELLOW + frag, (width - this.mc.fontRenderer.getStringWidth(frag)) / 2, height / 2 - 4 - 60 + i * 10, 16777215); + } + } + this.frameBuffer.unbindFramebuffer(); + + if(OpenGlHelper.isFramebufferEnabled()) { + this.frameBuffer.framebufferRender(width * scaleFactor, height * scaleFactor); + } + + this.mc.func_147120_f(); + + try { Thread.yield(); } catch(Exception exception) { } + } + } + } + + @Override public void func_146586_a() { } +} diff --git a/src/main/java/com/hbm/inventory/material/MatDistribution.java b/src/main/java/com/hbm/inventory/material/MatDistribution.java index 12e6d4f6e..6daea2e40 100644 --- a/src/main/java/com/hbm/inventory/material/MatDistribution.java +++ b/src/main/java/com/hbm/inventory/material/MatDistribution.java @@ -21,8 +21,10 @@ import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.material.Mats.MaterialStack; import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.items.ItemEnums; import com.hbm.items.ModItems; import com.hbm.items.ItemEnums.EnumAshType; +import com.hbm.items.ItemEnums.EnumCasingType; import com.hbm.util.Compat; import net.minecraft.block.Block; @@ -43,7 +45,7 @@ public class MatDistribution extends SerializableRecipe { registerEntry(Blocks.golden_rail, MAT_GOLD, INGOT.q(6, 6), MAT_REDSTONE, DUST.q(1, 6)); registerEntry(Blocks.detector_rail, MAT_IRON, INGOT.q(6, 6), MAT_REDSTONE, DUST.q(1, 6)); registerEntry(Items.minecart, MAT_IRON, INGOT.q(5)); - + //castables registerEntry(ModItems.blade_titanium, MAT_TITANIUM, INGOT.q(2)); registerEntry(ModItems.blade_tungsten, MAT_TUNGSTEN, INGOT.q(2)); @@ -57,18 +59,24 @@ public class MatDistribution extends SerializableRecipe { registerEntry(ModItems.stamp_obsidian_flat, MAT_OBSIDIAN, INGOT.q(3)); registerEntry(ModItems.pipes_steel, MAT_STEEL, BLOCK.q(3)); + registerEntry(DictFrame.fromOne(ModItems.casing, EnumCasingType.SMALL), MAT_GUNMETAL, PLATE.q(1, 4)); + registerEntry(DictFrame.fromOne(ModItems.casing, EnumCasingType.SMALL_STEEL), MAT_WEAPONSTEEL, PLATE.q(1, 4)); + registerEntry(DictFrame.fromOne(ModItems.casing, EnumCasingType.LARGE), MAT_GUNMETAL, PLATE.q(1, 2)); + registerEntry(DictFrame.fromOne(ModItems.casing, EnumCasingType.LARGE_STEEL), MAT_WEAPONSTEEL, PLATE.q(1, 2)); + registerEntry(Items.minecart, MAT_IRON, INGOT.q(5)); + registerEntry(DictFrame.fromOne(ModItems.chunk_ore, ItemEnums.EnumChunkType.CRYOLITE), MAT_ALUMINIUM, INGOT.q(1), MAT_SODIUM, INGOT.q(1)); //actual ores if(!Compat.isModLoaded(Compat.MOD_GT6)) { registerOre(OreDictManager.IRON.ore(), MAT_IRON, INGOT.q(2), MAT_TITANIUM, NUGGET.q(3), MAT_STONE, QUART.q(1)); registerOre(OreDictManager.TI.ore(), MAT_TITANIUM, INGOT.q(2), MAT_IRON, NUGGET.q(3), MAT_STONE, QUART.q(1)); registerOre(OreDictManager.W.ore(), MAT_TUNGSTEN, INGOT.q(2), MAT_STONE, QUART.q(1)); - registerOre(OreDictManager.AL.ore(), MAT_ALUMINIUM, INGOT.q(2), MAT_STONE, QUART.q(1)); + registerOre(OreDictManager.AL.ore(), MAT_ALUMINIUM, INGOT.q(2), MAT_SODIUM, NUGGET.q(3), MAT_STONE, QUART.q(1)); } - + registerOre(OreDictManager.COAL.ore(), MAT_CARBON, GEM.q(3), MAT_STONE, QUART.q(1)); registerOre(OreDictManager.GOLD.ore(), MAT_GOLD, INGOT.q(2), MAT_LEAD, NUGGET.q(3), MAT_STONE, QUART.q(1)); registerOre(OreDictManager.U.ore(), MAT_URANIUM, INGOT.q(2), MAT_LEAD, NUGGET.q(3), MAT_STONE, QUART.q(1)); - registerOre(OreDictManager.TH232.ore(), MAT_THORIUM, INGOT.q(2), MAT_URANIUM, NUGGET.q(3), MAT_STONE, QUART.q(1)); + for(String ore : OreDictManager.TH232.all(MaterialShapes.ONLY_ORE)) registerOre(ore, MAT_THORIUM, INGOT.q(2), MAT_URANIUM, NUGGET.q(3), MAT_STONE, QUART.q(1)); registerOre(OreDictManager.CU.ore(), MAT_COPPER, INGOT.q(2), MAT_STONE, QUART.q(1)); registerOre(OreDictManager.PB.ore(), MAT_LEAD, INGOT.q(2), MAT_GOLD, NUGGET.q(1), MAT_STONE, QUART.q(1)); registerOre(OreDictManager.BE.ore(), MAT_BERYLLIUM, INGOT.q(2), MAT_STONE, QUART.q(1)); @@ -76,8 +84,8 @@ public class MatDistribution extends SerializableRecipe { registerOre(OreDictManager.REDSTONE.ore(), MAT_REDSTONE, INGOT.q(4), MAT_STONE, QUART.q(1)); registerOre(OreDictManager.HEMATITE.ore(), MAT_HEMATITE, INGOT.q(1)); - registerOre(OreDictManager.MALACHITE.ore(), MAT_MALACHITE, INGOT.q(1)); - + registerOre(OreDictManager.MALACHITE.ore(), MAT_MALACHITE, INGOT.q(6)); + registerEntry(DictFrame.fromOne(ModBlocks.stone_resource, EnumStoneType.LIMESTONE), MAT_FLUX, DUST.q(10)); registerEntry(ModItems.powder_flux, MAT_FLUX, DUST.q(1)); registerEntry(new ItemStack(Items.coal, 1, 1), MAT_CARBON, NUGGET.q(3)); @@ -86,39 +94,40 @@ public class MatDistribution extends SerializableRecipe { registerEntry(DictFrame.fromOne(ModItems.powder_ash, EnumAshType.COAL), MAT_CARBON, NUGGET.q(2)); registerEntry(DictFrame.fromOne(ModItems.powder_ash, EnumAshType.MISC), MAT_CARBON, NUGGET.q(1)); } - + public static void registerEntry(Object key, Object... matDef) { ComparableStack comp = null; if(key instanceof Item) comp = new ComparableStack((Item) key); if(key instanceof Block) comp = new ComparableStack((Block) key); if(key instanceof ItemStack) comp = new ComparableStack((ItemStack) key); - + if(key instanceof ComparableStack) comp = (ComparableStack) key; + if(comp == null) return; if(matDef.length % 2 == 1) return; - + List stacks = new ArrayList(); - + for(int i = 0; i < matDef.length; i += 2) { stacks.add(new MaterialStack((NTMMaterial) matDef[i], (int) matDef[i + 1])); } - + if(stacks.isEmpty()) return; - + materialEntries.put(comp, stacks); } - + public static void registerOre(String key, Object... matDef) { if(matDef.length % 2 == 1) return; - + List stacks = new ArrayList(); - + for(int i = 0; i < matDef.length; i += 2) { stacks.add(new MaterialStack((NTMMaterial) matDef[i], (int) matDef[i + 1])); } - + if(stacks.isEmpty()) return; - + materialOreEntries.put(key, stacks); } @@ -183,7 +192,7 @@ public class MatDistribution extends SerializableRecipe { Mats.materialEntries.clear(); Mats.materialOreEntries.clear(); } - + @Override public String getComment() { return "Defines a set of items that can be smelted. Smelting generated from the ore dictionary (prefix + material) is auto-generated and cannot be " diff --git a/src/main/java/com/hbm/inventory/material/MaterialShapes.java b/src/main/java/com/hbm/inventory/material/MaterialShapes.java index a7cd59f3d..2f7de0461 100644 --- a/src/main/java/com/hbm/inventory/material/MaterialShapes.java +++ b/src/main/java/com/hbm/inventory/material/MaterialShapes.java @@ -9,8 +9,14 @@ public class MaterialShapes { public static final List allShapes = new ArrayList(); + public static final MaterialShapes ANY = new MaterialShapes(0, "any").noAutogen(); + public static final MaterialShapes ONLY_ORE = new MaterialShapes(0, "ore").noAutogen(); + public static final MaterialShapes ORE = new MaterialShapes(0, "ore", "oreNether").noAutogen(); + public static final MaterialShapes ORENETHER = new MaterialShapes(0, "oreNether").noAutogen(); + public static final MaterialShapes QUANTUM = new MaterialShapes(1); // 1/72 of an ingot, allows the ingot to be divisible through 2, 4, 6, 8, 9, 12, 24 and 36 - public static final MaterialShapes NUGGET = new MaterialShapes(8, "nugget"); + public static final MaterialShapes NUGGET = new MaterialShapes(8, "nugget", "tiny"); + public static final MaterialShapes TINY = new MaterialShapes(8, "tiny").noAutogen(); public static final MaterialShapes FRAGMENT = new MaterialShapes(8, "bedrockorefragment"); public static final MaterialShapes DUSTTINY = new MaterialShapes(NUGGET.quantity, "dustTiny"); public static final MaterialShapes WIRE = new MaterialShapes(9, "wireFine"); @@ -29,28 +35,37 @@ public class MaterialShapes { public static final MaterialShapes QUART = new MaterialShapes(162); public static final MaterialShapes BLOCK = new MaterialShapes(INGOT.quantity * 9, "block"); public static final MaterialShapes HEAVY_COMPONENT = new MaterialShapes(CASTPLATE.quantity * 256, "componentHeavy"); + + public static final MaterialShapes LIGHTBARREL = new MaterialShapes(INGOT.quantity * 3, "barrelLight"); + public static final MaterialShapes HEAVYBARREL = new MaterialShapes(INGOT.quantity * 6, "barrelHeavy"); + public static final MaterialShapes LIGHTRECEIVER = new MaterialShapes(INGOT.quantity * 4, "receiverLight"); + public static final MaterialShapes HEAVYRECEIVER = new MaterialShapes(INGOT.quantity * 9, "receiverHeavy"); + public static final MaterialShapes MECHANISM = new MaterialShapes(INGOT.quantity * 4, "gunMechanism"); + public static final MaterialShapes STOCK = new MaterialShapes(INGOT.quantity * 4, "stock"); + public static final MaterialShapes GRIP = new MaterialShapes(INGOT.quantity * 2, "grip"); public static void registerCompatShapes() { if(Compat.isModLoaded(Compat.MOD_GT6)) { - new MaterialShapes(BLOCK.q(1), "blockDust"); - new MaterialShapes(BLOCK.q(1), "blockGem"); - new MaterialShapes(BLOCK.q(1), "blockIngot"); - new MaterialShapes(BLOCK.q(1), "blockSolid"); - new MaterialShapes(INGOT.q(9, 8), "crushed"); - new MaterialShapes(INGOT.q(9, 72), "crushedTiny"); - new MaterialShapes(INGOT.q(10, 8), "crushedPurified"); - new MaterialShapes(INGOT.q(10, 72), "crushedPurifiedTiny"); - new MaterialShapes(INGOT.q(11, 8), "crushedCentrifuged"); - new MaterialShapes(INGOT.q(11, 72), "crushedCentrifugedTiny"); - new MaterialShapes(INGOT.q(1, 4), "dustSmall"); - new MaterialShapes(INGOT.q(1, 72), "dustDiv72"); - new MaterialShapes(INGOT.q(10, 9), "dustImpure"); - new MaterialShapes(INGOT.q(11, 9), "dustPure"); - new MaterialShapes(INGOT.q(12, 9), "dustRefined"); + new MaterialShapes(BLOCK.q(1), "blockDust").noAutogen(); + new MaterialShapes(BLOCK.q(1), "blockGem").noAutogen(); + new MaterialShapes(BLOCK.q(1), "blockIngot").noAutogen(); + new MaterialShapes(BLOCK.q(1), "blockSolid").noAutogen(); + new MaterialShapes(INGOT.q(9, 8), "crushed").noAutogen(); + new MaterialShapes(INGOT.q(9, 72), "crushedTiny").noAutogen(); + new MaterialShapes(INGOT.q(10, 8), "crushedPurified").noAutogen(); + new MaterialShapes(INGOT.q(10, 72), "crushedPurifiedTiny").noAutogen(); + new MaterialShapes(INGOT.q(11, 8), "crushedCentrifuged").noAutogen(); + new MaterialShapes(INGOT.q(11, 72), "crushedCentrifugedTiny").noAutogen(); + new MaterialShapes(INGOT.q(1, 4), "dustSmall").noAutogen(); + new MaterialShapes(INGOT.q(1, 72), "dustDiv72").noAutogen(); + new MaterialShapes(INGOT.q(10, 9), "dustImpure").noAutogen(); + new MaterialShapes(INGOT.q(11, 9), "dustPure").noAutogen(); + new MaterialShapes(INGOT.q(12, 9), "dustRefined").noAutogen(); } } + public boolean noAutogen = false; private int quantity; public final String[] prefixes; @@ -65,6 +80,12 @@ public class MaterialShapes { allShapes.add(this); } + /** Disables recipe autogen for special cases like compatibility prefixes (TINY, ORENETHER), technical prefixes (ANY) or prefixes that have to be handled manually (ORE) */ + public MaterialShapes noAutogen() { + this.noAutogen = true; + return this; + } + public int q(int amount) { return this.quantity * amount; } @@ -76,4 +97,8 @@ public class MaterialShapes { public String name() { return (prefixes != null && prefixes.length > 0) ? prefixes[0] : "unknown"; } + + public String make(NTMMaterial mat) { + return this.name() + mat.names[0]; + } } diff --git a/src/main/java/com/hbm/inventory/material/Mats.java b/src/main/java/com/hbm/inventory/material/Mats.java index 8879a622e..5a03bf288 100644 --- a/src/main/java/com/hbm/inventory/material/Mats.java +++ b/src/main/java/com/hbm/inventory/material/Mats.java @@ -13,8 +13,8 @@ import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.material.NTMMaterial.SmeltingBehavior; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemScraps; -import com.hbm.util.I18nUtil; import com.hbm.util.ItemStackUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.item.ItemStack; @@ -33,173 +33,184 @@ public class Mats { public static HashMap matByName = new HashMap(); public static HashMap> materialEntries = new HashMap(); public static HashMap> materialOreEntries = new HashMap(); - + /* * ItemStacks are saved with their metadata being truncated to a short, so the max meta is 32767 * Format for elements: Atomic number *100, plus the last two digits of the mass number. Mass number is 0 for generic/undefined/mixed materials. * Vanilla numbers are in vanilla space (0-29), basic alloys use alloy space (30-99) */ - + /* Vanilla Space, up to 30 materials, */ public static final int _VS = 0; /* Alloy Space, up to 70 materials. Use >20_000 as an extension.*/ public static final int _AS = 30; public static final int _ES = 20_000; - + //Vanilla and vanilla-like - public static final NTMMaterial MAT_STONE = makeSmeltable(_VS + 00, df("Stone"), 0x7F7F7F, 0x353535, 0x4D2F23).n(); - public static final NTMMaterial MAT_CARBON = makeAdditive( 699, CARBON, 0x363636, 0x030303, 0x404040).setShapes(WIRE, INGOT, BLOCK).n(); - public static final NTMMaterial MAT_COAL = makeNonSmeltable(600, COAL, 0x363636, 0x030303, 0x404040).setConversion(MAT_CARBON, 2, 1).setShapes(FRAGMENT).n(); - public static final NTMMaterial MAT_LIGNITE = makeNonSmeltable(601, LIGNITE, 0x542D0F, 0x261508, 0x472913).setConversion(MAT_CARBON, 3, 1).setShapes(FRAGMENT).n(); - public static final NTMMaterial MAT_COALCOKE = make( 610, COALCOKE) .setConversion(MAT_CARBON, 4, 3).n(); - public static final NTMMaterial MAT_PETCOKE = make( 611, PETCOKE) .setConversion(MAT_CARBON, 4, 3).n(); - public static final NTMMaterial MAT_LIGCOKE = make( 612, LIGCOKE) .setConversion(MAT_CARBON, 4, 3).n(); - public static final NTMMaterial MAT_GRAPHITE = make( 620, GRAPHITE) .setConversion(MAT_CARBON, 1, 1).n(); - public static final NTMMaterial MAT_DIAMOND = makeNonSmeltable(1430, DIAMOND, 0xFFFFFF, 0x1B7B6B, 0x8CF4E2).setConversion(MAT_CARBON, 1, 1).setShapes(FRAGMENT).n(); - public static final NTMMaterial MAT_IRON = makeSmeltable(2600, IRON, 0xFFFFFF, 0x353535, 0xFFA259).setShapes(FRAGMENT, INGOT, DUST, PIPE, CASTPLATE, WELDEDPLATE, BLOCK).m(); - public static final NTMMaterial MAT_GOLD = makeSmeltable(7900, GOLD, 0xFFFF8B, 0xC26E00, 0xE8D754).setShapes(FRAGMENT, WIRE, NUGGET, INGOT, DUST, DENSEWIRE, CASTPLATE, BLOCK).m(); - public static final NTMMaterial MAT_REDSTONE = makeSmeltable(_VS + 01, REDSTONE, 0xE3260C, 0x700E06, 0xFF1000).setShapes(FRAGMENT).n(); - public static final NTMMaterial MAT_OBSIDIAN = makeSmeltable(_VS + 02, df("Obsidian"), 0x3D234D).n(); - public static final NTMMaterial MAT_HEMATITE = makeAdditive( 2601, HEMATITE, 0xDFB7AE, 0x5F372E, 0x6E463D).m(); - public static final NTMMaterial MAT_WROUGHTIRON = makeSmeltable(2602, df("WroughtIron"), 0xFAAB89).m(); - public static final NTMMaterial MAT_PIGIRON = makeSmeltable(2603, df("PigIron"), 0xFF8B59).m(); - public static final NTMMaterial MAT_METEORICIRON = makeSmeltable(2604, df("MeteoricIron"), 0x715347).m(); - public static final NTMMaterial MAT_MALACHITE = makeAdditive( 2901, MALACHITE, 0xA2F0C8, 0x227048, 0x61AF87).m(); + public static final NTMMaterial MAT_WOOD = makeNonSmeltable(_VS + 03, WOOD, 0x896727, 0x281E0B, 0x896727).setAutogen(STOCK, GRIP).n(); + public static final NTMMaterial MAT_IVORY = makeNonSmeltable(_VS + 04, BONE, 0xFFFEEE, 0x797870, 0xEDEBCA).setAutogen(GRIP).n(); + public static final NTMMaterial MAT_STONE = makeSmeltable(_VS + 00, df("Stone"), 0x7F7F7F, 0x353535, 0x4D2F23).n(); + public static final NTMMaterial MAT_CARBON = makeAdditive( 699, CARBON, 0x363636, 0x030303, 0x404040).setAutogen(WIRE, BLOCK).n(); + public static final NTMMaterial MAT_COAL = makeNonSmeltable(600, COAL, 0x363636, 0x030303, 0x404040).setConversion(MAT_CARBON, 2, 1).setAutogen(FRAGMENT).n(); + public static final NTMMaterial MAT_LIGNITE = makeNonSmeltable(601, LIGNITE, 0x542D0F, 0x261508, 0x472913).setConversion(MAT_CARBON, 3, 1).setAutogen(FRAGMENT).n(); + public static final NTMMaterial MAT_COALCOKE = make( 610, COALCOKE) .setConversion(MAT_CARBON, 4, 3).n(); + public static final NTMMaterial MAT_PETCOKE = make( 611, PETCOKE) .setConversion(MAT_CARBON, 4, 3).n(); + public static final NTMMaterial MAT_LIGCOKE = make( 612, LIGCOKE) .setConversion(MAT_CARBON, 4, 3).n(); + public static final NTMMaterial MAT_GRAPHITE = make( 620, GRAPHITE) .setConversion(MAT_CARBON, 1, 1).n(); + public static final NTMMaterial MAT_DIAMOND = makeNonSmeltable(1430, DIAMOND, 0xFFFFFF, 0x1B7B6B, 0x8CF4E2).setConversion(MAT_CARBON, 1, 1).setAutogen(FRAGMENT).n(); + public static final NTMMaterial MAT_IRON = makeSmeltable(2600, IRON, 0xFFFFFF, 0x353535, 0xFFA259).setAutogen(FRAGMENT, DUST, PIPE, CASTPLATE, WELDEDPLATE, BLOCK).m(); + public static final NTMMaterial MAT_GOLD = makeSmeltable(7900, GOLD, 0xFFFF8B, 0xC26E00, 0xE8D754).setAutogen(FRAGMENT, WIRE, NUGGET, DUST, DENSEWIRE, CASTPLATE, BLOCK).m(); + public static final NTMMaterial MAT_REDSTONE = makeSmeltable(_VS + 01, REDSTONE, 0xE3260C, 0x700E06, 0xFF1000).setAutogen(FRAGMENT).n(); + public static final NTMMaterial MAT_OBSIDIAN = makeSmeltable(_VS + 02, df("Obsidian"), 0x3D234D).n(); + public static final NTMMaterial MAT_HEMATITE = makeAdditive( 2601, HEMATITE, 0xDFB7AE, 0x5F372E, 0x6E463D).m(); + public static final NTMMaterial MAT_WROUGHTIRON = makeSmeltable(2602, df("WroughtIron"), 0xFAAB89).m(); + public static final NTMMaterial MAT_PIGIRON = makeSmeltable(2603, df("PigIron"), 0xFF8B59).m(); + public static final NTMMaterial MAT_METEORICIRON = makeSmeltable(2604, df("MeteoricIron"), 0x715347).m(); + public static final NTMMaterial MAT_MALACHITE = makeAdditive( 2901, MALACHITE, 0xA2F0C8, 0x227048, 0x61AF87).m(); + public static final NTMMaterial MAT_BAUXITE = makeNonSmeltable(2902, BAUXITE, 0xF4BA30, 0xAA320A, 0xE2560F).setAutogen(FRAGMENT).n(); + public static final NTMMaterial MAT_CRYOLITE = makeNonSmeltable(2903, CRYOLITE, 0xCBC2A4, 0x8B711F, 0x8B701A).setAutogen(FRAGMENT).n(); //Radioactive - public static final NTMMaterial MAT_URANIUM = makeSmeltable(9200, U, 0xC1C7BD, 0x2B3227, 0x9AA196).setShapes(FRAGMENT, NUGGET, BILLET, INGOT, DUST, BLOCK).m(); - public static final NTMMaterial MAT_U233 = makeSmeltable(9233, U233, 0xC1C7BD, 0x2B3227, 0x9AA196).setShapes(NUGGET, BILLET, INGOT, DUST, BLOCK).m(); - public static final NTMMaterial MAT_U235 = makeSmeltable(9235, U235, 0xC1C7BD, 0x2B3227, 0x9AA196).setShapes(NUGGET, BILLET, INGOT, DUST, BLOCK).m(); - public static final NTMMaterial MAT_U238 = makeSmeltable(9238, U238, 0xC1C7BD, 0x2B3227, 0x9AA196).setShapes(FRAGMENT, NUGGET, BILLET, INGOT, DUST, BLOCK).m(); - public static final NTMMaterial MAT_THORIUM = makeSmeltable(9032, TH232, 0xBF825F, 0x1C0000, 0xBF825F).setShapes(FRAGMENT, NUGGET, BILLET, INGOT, DUST, BLOCK).m(); - public static final NTMMaterial MAT_PLUTONIUM = makeSmeltable(9400, PU, 0x9AA3A0, 0x111A17, 0x78817E).setShapes(NUGGET, BILLET, INGOT, DUST, BLOCK).m(); - public static final NTMMaterial MAT_RGP = makeSmeltable(9401, PURG, 0x9AA3A0, 0x111A17, 0x78817E).setShapes(NUGGET, BILLET, INGOT, BLOCK).m(); - public static final NTMMaterial MAT_PU238 = makeSmeltable(9438, PU238, 0xFFBC59, 0xFF8E2B, 0x78817E).setShapes(NUGGET, BILLET, INGOT, BLOCK).m(); - public static final NTMMaterial MAT_PU239 = makeSmeltable(9439, PU239, 0x9AA3A0, 0x111A17, 0x78817E).setShapes(NUGGET, BILLET, INGOT, BLOCK).m(); - public static final NTMMaterial MAT_PU240 = makeSmeltable(9440, PU240, 0x9AA3A0, 0x111A17, 0x78817E).setShapes(NUGGET, BILLET, INGOT, BLOCK).m(); - public static final NTMMaterial MAT_PU241 = makeSmeltable(9441, PU241, 0x9AA3A0, 0x111A17, 0x78817E).setShapes(NUGGET, BILLET, INGOT, BLOCK).m(); - public static final NTMMaterial MAT_RGA = makeSmeltable(9501, AMRG, 0xCEB3B9, 0x3A1C21, 0x93767B).setShapes(NUGGET, BILLET, INGOT, BLOCK).m(); - public static final NTMMaterial MAT_AM241 = makeSmeltable(9541, AM241, 0xCEB3B9, 0x3A1C21, 0x93767B).setShapes(NUGGET, BILLET, INGOT, BLOCK).m(); - public static final NTMMaterial MAT_AM242 = makeSmeltable(9542, AM242, 0xCEB3B9, 0x3A1C21, 0x93767B).setShapes(NUGGET, BILLET, INGOT, BLOCK).m(); - public static final NTMMaterial MAT_NEPTUNIUM = makeSmeltable(9337, NP237, 0xA6B2A6, 0x030F03, 0x647064).setShapes(NUGGET, BILLET, INGOT, DUST, BLOCK).m(); - public static final NTMMaterial MAT_POLONIUM = makeSmeltable(8410, PO210, 0x968779, 0x3D1509, 0x715E4A).setShapes(FRAGMENT, NUGGET, BILLET, INGOT, DUST, BLOCK).m(); - public static final NTMMaterial MAT_TECHNETIUM = makeSmeltable(4399, TC99, 0xFAFFFF, 0x576C6C, 0xCADFDF).setShapes(FRAGMENT, NUGGET, BILLET, INGOT, BLOCK).m(); - public static final NTMMaterial MAT_RADIUM = makeSmeltable(8826, RA226, 0xFCFCFC, 0xADBFBA, 0xE9FAF6).setShapes(FRAGMENT, NUGGET, BILLET, INGOT, DUST, BLOCK).m(); - public static final NTMMaterial MAT_ACTINIUM = makeSmeltable(8927, AC227, 0xECE0E0, 0x221616, 0x958989).setShapes(NUGGET, BILLET, INGOT).m(); - public static final NTMMaterial MAT_CO60 = makeSmeltable(2760, CO60, 0xC2D1EE, 0x353554, 0x8F72AE).setShapes(NUGGET, BILLET, INGOT, DUST).m(); - public static final NTMMaterial MAT_AU198 = makeSmeltable(7998, AU198, 0xFFFF8B, 0xC26E00, 0xE8D754).setShapes(NUGGET, BILLET, INGOT, DUST).m(); - public static final NTMMaterial MAT_PB209 = makeSmeltable(8209, PB209, 0xB38A94, 0x12020E, 0x7B535D).setShapes(NUGGET, BILLET, INGOT, DUST).m(); - public static final NTMMaterial MAT_SCHRABIDIUM = makeSmeltable(12626, SA326, 0x32FFFF, 0x005C5C, 0x32FFFF).setShapes(NUGGET, WIRE, BILLET, INGOT, DUST, DENSEWIRE, PLATE, CASTPLATE, BLOCK).m(); - public static final NTMMaterial MAT_SOLINIUM = makeSmeltable(12627, SA327, 0xA2E6E0, 0x00433D, 0x72B6B0).setShapes(NUGGET, BILLET, INGOT, BLOCK).m(); - public static final NTMMaterial MAT_SCHRABIDATE = makeSmeltable(12600, SBD, 0x77C0D7, 0x39005E, 0x6589B4).setShapes(INGOT, DUST, DENSEWIRE, CASTPLATE, BLOCK).m(); - public static final NTMMaterial MAT_SCHRARANIUM = makeSmeltable(12601, SRN, 0x2B3227, 0x2B3227, 0x24AFAC).setShapes(INGOT, BLOCK).m(); - public static final NTMMaterial MAT_GHIORSIUM = makeSmeltable(12836, GH336, 0xF4EFE1, 0x2A3306, 0xC6C6A1).setShapes(NUGGET, BILLET, INGOT, BLOCK).m(); + public static final NTMMaterial MAT_URANIUM = makeSmeltable(9200, U, 0xC1C7BD, 0x2B3227, 0x9AA196).setAutogen(FRAGMENT, NUGGET, BILLET, DUST, BLOCK).m(); + public static final NTMMaterial MAT_U233 = makeSmeltable(9233, U233, 0xC1C7BD, 0x2B3227, 0x9AA196).setAutogen(NUGGET, BILLET, DUST, BLOCK).m(); + public static final NTMMaterial MAT_U235 = makeSmeltable(9235, U235, 0xC1C7BD, 0x2B3227, 0x9AA196).setAutogen(NUGGET, BILLET, DUST, BLOCK).m(); + public static final NTMMaterial MAT_U238 = makeSmeltable(9238, U238, 0xC1C7BD, 0x2B3227, 0x9AA196).setAutogen(FRAGMENT, NUGGET, BILLET, DUST, BLOCK).m(); + public static final NTMMaterial MAT_THORIUM = makeSmeltable(9032, TH232, 0xBF825F, 0x1C0000, 0xBF825F).setAutogen(FRAGMENT, NUGGET, BILLET, DUST, BLOCK).m(); + public static final NTMMaterial MAT_PLUTONIUM = makeSmeltable(9400, PU, 0x9AA3A0, 0x111A17, 0x78817E).setAutogen(NUGGET, BILLET, DUST, BLOCK).m(); + public static final NTMMaterial MAT_RGP = makeSmeltable(9401, PURG, 0x9AA3A0, 0x111A17, 0x78817E).setAutogen(NUGGET, BILLET, BLOCK).m(); + public static final NTMMaterial MAT_PU238 = makeSmeltable(9438, PU238, 0xFFBC59, 0xFF8E2B, 0x78817E).setAutogen(NUGGET, BILLET, BLOCK).m(); + public static final NTMMaterial MAT_PU239 = makeSmeltable(9439, PU239, 0x9AA3A0, 0x111A17, 0x78817E).setAutogen(NUGGET, BILLET, BLOCK).m(); + public static final NTMMaterial MAT_PU240 = makeSmeltable(9440, PU240, 0x9AA3A0, 0x111A17, 0x78817E).setAutogen(NUGGET, BILLET, BLOCK).m(); + public static final NTMMaterial MAT_PU241 = makeSmeltable(9441, PU241, 0x9AA3A0, 0x111A17, 0x78817E).setAutogen(NUGGET, BILLET, BLOCK).m(); + public static final NTMMaterial MAT_RGA = makeSmeltable(9501, AMRG, 0xCEB3B9, 0x3A1C21, 0x93767B).setAutogen(NUGGET, BILLET, BLOCK).m(); + public static final NTMMaterial MAT_AM241 = makeSmeltable(9541, AM241, 0xCEB3B9, 0x3A1C21, 0x93767B).setAutogen(NUGGET, BILLET, BLOCK).m(); + public static final NTMMaterial MAT_AM242 = makeSmeltable(9542, AM242, 0xCEB3B9, 0x3A1C21, 0x93767B).setAutogen(NUGGET, BILLET, BLOCK).m(); + public static final NTMMaterial MAT_NEPTUNIUM = makeSmeltable(9337, NP237, 0xA6B2A6, 0x030F03, 0x647064).setAutogen(NUGGET, BILLET, DUST, BLOCK).m(); + public static final NTMMaterial MAT_POLONIUM = makeSmeltable(8410, PO210, 0x968779, 0x3D1509, 0x715E4A).setAutogen(FRAGMENT, NUGGET, BILLET, DUST, BLOCK).m(); + public static final NTMMaterial MAT_TECHNETIUM = makeSmeltable(4399, TC99, 0xFAFFFF, 0x576C6C, 0xCADFDF).setAutogen(FRAGMENT, NUGGET, BILLET, BLOCK).m(); + public static final NTMMaterial MAT_RADIUM = makeSmeltable(8826, RA226, 0xFCFCFC, 0xADBFBA, 0xE9FAF6).setAutogen(FRAGMENT, NUGGET, BILLET, DUST, BLOCK).m(); + public static final NTMMaterial MAT_ACTINIUM = makeSmeltable(8927, AC227, 0xECE0E0, 0x221616, 0x958989).setAutogen(NUGGET, BILLET).m(); + public static final NTMMaterial MAT_CO60 = makeSmeltable(2760, CO60, 0xC2D1EE, 0x353554, 0x8F72AE).setAutogen(NUGGET, BILLET, DUST).m(); + public static final NTMMaterial MAT_AU198 = makeSmeltable(7998, AU198, 0xFFFF8B, 0xC26E00, 0xE8D754).setAutogen(NUGGET, BILLET, DUST).m(); + public static final NTMMaterial MAT_PB209 = makeSmeltable(8209, PB209, 0xB38A94, 0x12020E, 0x7B535D).setAutogen(NUGGET, BILLET, DUST).m(); + public static final NTMMaterial MAT_SCHRABIDIUM = makeSmeltable(12626, SA326, 0x32FFFF, 0x005C5C, 0x32FFFF).setAutogen(NUGGET, WIRE, BILLET, DUST, DENSEWIRE, PLATE, CASTPLATE, BLOCK).m(); + public static final NTMMaterial MAT_SOLINIUM = makeSmeltable(12627, SA327, 0xA2E6E0, 0x00433D, 0x72B6B0).setAutogen(NUGGET, BILLET, BLOCK).m(); + public static final NTMMaterial MAT_SCHRABIDATE = makeSmeltable(12600, SBD, 0x77C0D7, 0x39005E, 0x6589B4).setAutogen(DUST, DENSEWIRE, CASTPLATE, BLOCK).m(); + public static final NTMMaterial MAT_SCHRARANIUM = makeSmeltable(12601, SRN, 0x2B3227, 0x2B3227, 0x24AFAC).setAutogen(BLOCK).m(); + public static final NTMMaterial MAT_GHIORSIUM = makeSmeltable(12836, GH336, 0xF4EFE1, 0x2A3306, 0xC6C6A1).setAutogen(NUGGET, BILLET, BLOCK).m(); //Base metals - public static final NTMMaterial MAT_TITANIUM = makeSmeltable(2200, TI, 0xF7F3F2, 0x4F4C4B, 0xA99E79).setShapes(FRAGMENT, INGOT, DUST, PLATE, CASTPLATE, WELDEDPLATE, SHELL, BLOCK, HEAVY_COMPONENT).m(); - public static final NTMMaterial MAT_COPPER = makeSmeltable(2900, CU, 0xFDCA88, 0x601E0D, 0xC18336).setShapes(FRAGMENT, WIRE, INGOT, DUST, PLATE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK, HEAVY_COMPONENT).m(); - public static final NTMMaterial MAT_TUNGSTEN = makeSmeltable(7400, W, 0x868686, 0x000000, 0x977474).setShapes(FRAGMENT, WIRE, BOLT, INGOT, DUST, DENSEWIRE, CASTPLATE, WELDEDPLATE, BLOCK, HEAVY_COMPONENT).m(); - public static final NTMMaterial MAT_ALUMINIUM = makeSmeltable(1300, AL, 0xFFFFFF, 0x344550, 0xD0B8EB).setShapes(FRAGMENT, WIRE, INGOT, DUST, PLATE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK, HEAVY_COMPONENT).m(); - public static final NTMMaterial MAT_LEAD = makeSmeltable(8200, PB, 0xA6A6B2, 0x03030F, 0x646470).setShapes(FRAGMENT, NUGGET, WIRE, INGOT, DUST, PLATE, CASTPLATE, PIPE, BLOCK, HEAVY_COMPONENT).m(); - public static final NTMMaterial MAT_BISMUTH = makeSmeltable(8300, BI, 0xB200FF, 0xB200FF, 0xB200FF).setShapes(FRAGMENT, NUGGET, BILLET, INGOT, DUST, BLOCK).m(); - public static final NTMMaterial MAT_ARSENIC = makeSmeltable(3300, AS, 0x6CBABA, 0x242525, 0x558080).setShapes(NUGGET, INGOT).m(); - public static final NTMMaterial MAT_TANTALIUM = makeSmeltable(7300, TA, 0xFFFFFF, 0x1D1D36, 0xA89B74).setShapes(NUGGET, INGOT, DUST, BLOCK).m(); - public static final NTMMaterial MAT_NEODYMIUM = makeSmeltable(6000, ND, 0xE6E6B6, 0x1C1C00, 0x8F8F5F).setShapes(FRAGMENT, NUGGET, DUSTTINY, INGOT, DUST, DENSEWIRE, BLOCK).m(); - public static final NTMMaterial MAT_NIOBIUM = makeSmeltable(4100, NB, 0xB76EC9, 0x2F2D42, 0xD576B1).setShapes(FRAGMENT, NUGGET, DUSTTINY, INGOT, DUST, BLOCK).m(); - public static final NTMMaterial MAT_BERYLLIUM = makeSmeltable(400, BE, 0xB2B2A6, 0x0F0F03, 0xAE9572).setShapes(FRAGMENT, NUGGET, INGOT, DUST, BLOCK).m(); - public static final NTMMaterial MAT_EMERALD = makeNonSmeltable(401, EMERALD, 0xBAFFD4, 0x003900, 0x17DD62).setConversion(MAT_BERYLLIUM, 4, 3).setShapes(FRAGMENT, DUST, GEM, BLOCK).n(); - public static final NTMMaterial MAT_COBALT = makeSmeltable(2700, CO, 0xC2D1EE, 0x353554, 0x8F72AE).setShapes(FRAGMENT, NUGGET, DUSTTINY, BILLET, INGOT, DUST, BLOCK).m(); - public static final NTMMaterial MAT_BORON = makeSmeltable(500, B, 0xBDC8D2, 0x29343E, 0xAD72AE).setShapes(FRAGMENT, DUSTTINY, INGOT, DUST, BLOCK).m(); - public static final NTMMaterial MAT_BORAX = makeSmeltable(501, BORAX, 0xFFFFFF, 0x946E23, 0xFFECC6).setShapes(FRAGMENT, DUST).n(); - public static final NTMMaterial MAT_LANTHANIUM = makeSmeltable(5700, LA, 0xC8E0E0, 0x3B5353, 0xA1B9B9).setShapes(FRAGMENT, INGOT, BLOCK).m(); - public static final NTMMaterial MAT_ZIRCONIUM = makeSmeltable(4000, ZR, 0xE3DCBE, 0x3E3719, 0xADA688).setShapes(FRAGMENT, NUGGET, WIRE, DUSTTINY, BILLET, INGOT, DUST, CASTPLATE, WELDEDPLATE, BLOCK).m(); - public static final NTMMaterial MAT_SODIUM = makeSmeltable(1100, NA, 0xD3BF9E, 0x3A5A6B, 0x7E9493).setShapes(FRAGMENT, DUST).m(); - public static final NTMMaterial MAT_SODALITE = makeNonSmeltable(1101, SODALITE, 0xDCE5F6, 0x4927B4, 0x96A7E6).setShapes(FRAGMENT, GEM).n(); - public static final NTMMaterial MAT_STRONTIUM = makeSmeltable(3800, SR, 0xF1E8BA, 0x271E00, 0xCAC193).setShapes(FRAGMENT, DUST).m(); - public static final NTMMaterial MAT_CALCIUM = makeSmeltable(2000, CA, 0xCFCFA6, 0x747F6E, 0xB7B784).setShapes(INGOT, DUST).m(); - public static final NTMMaterial MAT_LITHIUM = makeSmeltable(300, LI, 0xFFFFFF, 0x818181, 0xD6D6D6).setShapes(FRAGMENT, INGOT, DUST, BLOCK).m(); - public static final NTMMaterial MAT_SULFUR = makeNonSmeltable(1600, S, 0xFCEE80, 0xBDA022, 0xF1DF68).setShapes(FRAGMENT, DUST, BLOCK).n(); - public static final NTMMaterial MAT_KNO = makeNonSmeltable(700, KNO, 0xD4D4D4, 0x969696, 0xC9C9C9).setShapes(FRAGMENT, DUST, BLOCK).n(); - public static final NTMMaterial MAT_FLUORITE = makeNonSmeltable(900, F, 0xFFFFFF, 0xB0A192, 0xE1DBD4).setShapes(FRAGMENT, DUST, BLOCK).n(); - public static final NTMMaterial MAT_PHOSPHORUS = makeNonSmeltable(1500, P_RED, 0xCB0213, 0x600006, 0xBA0615).setShapes(FRAGMENT, DUST, BLOCK).n(); - public static final NTMMaterial MAT_CHLOROCALCITE = makeNonSmeltable(1701, CHLOROCALCITE, 0xF7E761, 0x475B46, 0xB8B963).setShapes(FRAGMENT, DUST).n(); - public static final NTMMaterial MAT_MOLYSITE = makeNonSmeltable(1702, MOLYSITE, 0xF9E97B, 0x216E00, 0xD0D264).setShapes(FRAGMENT, DUST).n(); - public static final NTMMaterial MAT_CINNABAR = makeNonSmeltable(8001, CINNABAR, 0xD87070, 0x993030, 0xBF4E4E).setShapes(FRAGMENT, GEM).n(); - public static final NTMMaterial MAT_CADMIUM = makeSmeltable(4800, CD, 0xFFFADE, 0x350000, 0xA85600).setShapes(INGOT, DUST).m(); - public static final NTMMaterial MAT_SILICON = makeSmeltable(1400, SI, 0xD1D7DF, 0x1A1A3D, 0x878B9E).setShapes(FRAGMENT, NUGGET, BILLET, INGOT).m(); - public static final NTMMaterial MAT_ASBESTOS = makeSmeltable(1401, ASBESTOS, 0xD8D9CF, 0x616258, 0xB0B3A8).setShapes(FRAGMENT, INGOT, BLOCK).n(); - public static final NTMMaterial MAT_OSMIRIDIUM = makeSmeltable(7699, OSMIRIDIUM, 0xDBE3EF, 0x7891BE, 0xACBDD9).setShapes(NUGGET, INGOT, CASTPLATE, WELDEDPLATE).m(); - + public static final NTMMaterial MAT_TITANIUM = makeSmeltable(2200, TI, 0xF7F3F2, 0x4F4C4B, 0xA99E79).setAutogen(FRAGMENT, DUST, PLATE, DENSEWIRE, CASTPLATE, WELDEDPLATE, SHELL, BLOCK, HEAVY_COMPONENT).m(); + public static final NTMMaterial MAT_COPPER = makeSmeltable(2900, CU, 0xFDCA88, 0x601E0D, 0xC18336).setAutogen(FRAGMENT, WIRE, DUST, PLATE, DENSEWIRE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK, HEAVY_COMPONENT).m(); + public static final NTMMaterial MAT_TUNGSTEN = makeSmeltable(7400, W, 0x868686, 0x000000, 0x977474).setAutogen(FRAGMENT, WIRE, BOLT, DUST, DENSEWIRE, CASTPLATE, WELDEDPLATE, BLOCK, HEAVY_COMPONENT).m(); + public static final NTMMaterial MAT_ALUMINIUM = makeSmeltable(1300, AL, 0xFFFFFF, 0x344550, 0xD0B8EB).setAutogen(FRAGMENT, WIRE, DUST, PLATE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK, HEAVY_COMPONENT).m(); + public static final NTMMaterial MAT_LEAD = makeSmeltable(8200, PB, 0xA6A6B2, 0x03030F, 0x646470).setAutogen(FRAGMENT, NUGGET, WIRE, BOLT, DUST, PLATE, CASTPLATE, PIPE, BLOCK, HEAVY_COMPONENT).m(); + public static final NTMMaterial MAT_BISMUTH = makeSmeltable(8300, BI, 0xB200FF, 0xB200FF, 0xB200FF).setAutogen(FRAGMENT, NUGGET, BILLET, DUST, BLOCK).m(); + public static final NTMMaterial MAT_ARSENIC = makeSmeltable(3300, AS, 0x6CBABA, 0x242525, 0x558080).setAutogen(NUGGET).m(); + public static final NTMMaterial MAT_TANTALIUM = makeSmeltable(7300, TA, 0xFFFFFF, 0x1D1D36, 0xA89B74).setAutogen(NUGGET, DUST, BLOCK).m(); + public static final NTMMaterial MAT_NEODYMIUM = makeSmeltable(6000, ND, 0xE6E6B6, 0x1C1C00, 0x8F8F5F).setAutogen(FRAGMENT, NUGGET, DUSTTINY, INGOT, DUST, DENSEWIRE, BLOCK).m(); + public static final NTMMaterial MAT_NIOBIUM = makeSmeltable(4100, NB, 0xB76EC9, 0x2F2D42, 0xD576B1).setAutogen(FRAGMENT, NUGGET, DUSTTINY, DUST, DENSEWIRE, BLOCK).m(); + public static final NTMMaterial MAT_BERYLLIUM = makeSmeltable(400, BE, 0xB2B2A6, 0x0F0F03, 0xAE9572).setAutogen(FRAGMENT, NUGGET, DUST, BLOCK).m(); + public static final NTMMaterial MAT_EMERALD = makeNonSmeltable(401, EMERALD, 0xBAFFD4, 0x003900, 0x17DD62).setConversion(MAT_BERYLLIUM, 4, 3).setAutogen(FRAGMENT, DUST, GEM, BLOCK).n(); + public static final NTMMaterial MAT_COBALT = makeSmeltable(2700, CO, 0xC2D1EE, 0x353554, 0x8F72AE).setAutogen(FRAGMENT, NUGGET, DUSTTINY, BILLET, DUST, BLOCK).m(); + public static final NTMMaterial MAT_BORON = makeSmeltable(500, B, 0xBDC8D2, 0x29343E, 0xAD72AE).setAutogen(FRAGMENT, DUSTTINY, DUST, BLOCK).m(); + public static final NTMMaterial MAT_BORAX = makeSmeltable(501, BORAX, 0xFFFFFF, 0x946E23, 0xFFECC6).setAutogen(FRAGMENT, INGOT, DUST).n(); + public static final NTMMaterial MAT_LANTHANIUM = makeSmeltable(5700, LA, 0xC8E0E0, 0x3B5353, 0xA1B9B9).setAutogen(FRAGMENT, BLOCK).m(); + public static final NTMMaterial MAT_ZIRCONIUM = makeSmeltable(4000, ZR, 0xE3DCBE, 0x3E3719, 0xADA688).setAutogen(FRAGMENT, NUGGET, WIRE, DUSTTINY, BILLET, DUST, CASTPLATE, WELDEDPLATE, BLOCK).m(); + public static final NTMMaterial MAT_SODIUM = makeSmeltable(1100, NA, 0xD3BF9E, 0x3A5A6B, 0x7E9493).setAutogen(FRAGMENT, INGOT, DUST).m(); + public static final NTMMaterial MAT_SODALITE = makeNonSmeltable(1101, SODALITE, 0xDCE5F6, 0x4927B4, 0x96A7E6).setAutogen(FRAGMENT, GEM).n(); + public static final NTMMaterial MAT_STRONTIUM = makeSmeltable(3800, SR, 0xF1E8BA, 0x271E00, 0xCAC193).setAutogen(FRAGMENT, INGOT, DUST).m(); + public static final NTMMaterial MAT_CALCIUM = makeSmeltable(2000, CA, 0xCFCFA6, 0x747F6E, 0xB7B784).setAutogen(DUST).m(); + public static final NTMMaterial MAT_LITHIUM = makeSmeltable(300, LI, 0xFFFFFF, 0x818181, 0xD6D6D6).setAutogen(FRAGMENT, DUST, BLOCK).m(); + public static final NTMMaterial MAT_SULFUR = makeNonSmeltable(1600, S, 0xFCEE80, 0xBDA022, 0xF1DF68).setAutogen(FRAGMENT, DUST, BLOCK).n(); + public static final NTMMaterial MAT_KNO = makeNonSmeltable(700, KNO, 0xD4D4D4, 0x969696, 0xC9C9C9).setAutogen(FRAGMENT, DUST, BLOCK).n(); + public static final NTMMaterial MAT_FLUORITE = makeNonSmeltable(900, F, 0xFFFFFF, 0xB0A192, 0xE1DBD4).setAutogen(FRAGMENT, DUST, BLOCK).n(); + public static final NTMMaterial MAT_PHOSPHORUS = makeNonSmeltable(1500, P_RED, 0xCB0213, 0x600006, 0xBA0615).setAutogen(FRAGMENT, DUST, BLOCK).n(); + public static final NTMMaterial MAT_CHLOROCALCITE = makeNonSmeltable(1701, CHLOROCALCITE, 0xF7E761, 0x475B46, 0xB8B963).setAutogen(FRAGMENT, DUST).n(); + public static final NTMMaterial MAT_MOLYSITE = makeNonSmeltable(1702, MOLYSITE, 0xF9E97B, 0x216E00, 0xD0D264).setAutogen(FRAGMENT, DUST).n(); + public static final NTMMaterial MAT_CINNABAR = makeNonSmeltable(8001, CINNABAR, 0xD87070, 0x993030, 0xBF4E4E).setAutogen(FRAGMENT, GEM).n(); + public static final NTMMaterial MAT_CADMIUM = makeSmeltable(4800, CD, 0xFFFADE, 0x350000, 0xA85600).setAutogen(DUST).m(); + public static final NTMMaterial MAT_SILICON = makeSmeltable(1400, SI, 0xD1D7DF, 0x1A1A3D, 0x878B9E).setAutogen(FRAGMENT, NUGGET, BILLET).m(); + public static final NTMMaterial MAT_ASBESTOS = makeSmeltable(1401, ASBESTOS, 0xD8D9CF, 0x616258, 0xB0B3A8).setAutogen(FRAGMENT, BLOCK).n(); + public static final NTMMaterial MAT_OSMIRIDIUM = makeSmeltable(7699, OSMIRIDIUM, 0xDBE3EF, 0x7891BE, 0xACBDD9).setAutogen(NUGGET, CASTPLATE, WELDEDPLATE).m(); + //Alloys - public static final NTMMaterial MAT_STEEL = makeSmeltable(_AS + 0, STEEL, 0xAFAFAF, 0x0F0F0F, 0x4A4A4A).setShapes(DUSTTINY, BOLT, WIRE, INGOT, DUST, PLATE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK, HEAVY_COMPONENT).m(); - public static final NTMMaterial MAT_MINGRADE = makeSmeltable(_AS + 1, MINGRADE, 0xFFBA7D, 0xAF1700, 0xE44C0F).setShapes(WIRE, INGOT, DUST, BLOCK).m(); - public static final NTMMaterial MAT_ALLOY = makeSmeltable(_AS + 2, ALLOY, 0xFF8330, 0x700000, 0xFF7318).setShapes(WIRE, INGOT, DUST, DENSEWIRE, PLATE, CASTPLATE, BLOCK, HEAVY_COMPONENT).m(); - public static final NTMMaterial MAT_DURA = makeSmeltable(_AS + 3, DURA, 0x183039, 0x030B0B, 0x376373).setShapes(BOLT, INGOT, DUST, PIPE, BLOCK).m(); - public static final NTMMaterial MAT_SATURN = makeSmeltable(_AS + 4, BIGMT, 0x4DA3AF, 0x00000C, 0x4DA3AF).setShapes(INGOT, DUST, PLATE, CASTPLATE, BLOCK).m(); - public static final NTMMaterial MAT_DESH = makeSmeltable(_AS + 12, DESH, 0xFF6D6D, 0x720000, 0xF22929).setShapes(INGOT, DUST, CASTPLATE, BLOCK, HEAVY_COMPONENT).m(); - public static final NTMMaterial MAT_STAR = makeSmeltable(_AS + 5, STAR, 0xCCCCEA, 0x11111A, 0xA5A5D3).setShapes(INGOT, DUST, DENSEWIRE, BLOCK).m(); - public static final NTMMaterial MAT_FERRO = makeSmeltable(_AS + 7, FERRO, 0xB7B7C9, 0x101022, 0x6B6B8B).setShapes(INGOT).m(); - public static final NTMMaterial MAT_TCALLOY = makeSmeltable(_AS + 6, TCALLOY, 0xD4D6D6, 0x323D3D, 0x9CA6A6).setShapes(INGOT, DUST, CASTPLATE, WELDEDPLATE, HEAVY_COMPONENT).m(); - public static final NTMMaterial MAT_CDALLOY = makeSmeltable(_AS + 13, CDALLOY, 0xF7DF8F, 0x604308, 0xFBD368).setShapes(INGOT, CASTPLATE, WELDEDPLATE, HEAVY_COMPONENT).m(); - public static final NTMMaterial MAT_BBRONZE = makeSmeltable(_AS + 16, BBRONZE, 0xE19A69, 0x485353, 0x987D65).setShapes(INGOT, CASTPLATE).m(); - public static final NTMMaterial MAT_ABRONZE = makeSmeltable(_AS + 17, ABRONZE, 0xDB9462, 0x203331, 0x77644D).setShapes(INGOT, CASTPLATE).m(); - public static final NTMMaterial MAT_BSCCO = makeSmeltable(_AS + 18, BSCCO, 0x767BF1, 0x000000, 0x5E62C0).setShapes(INGOT, DENSEWIRE).m(); - public static final NTMMaterial MAT_MAGTUNG = makeSmeltable(_AS + 8, MAGTUNG, 0x22A2A2, 0x0F0F0F, 0x22A2A2).setShapes(WIRE, INGOT, DUST, DENSEWIRE, BLOCK).m(); - public static final NTMMaterial MAT_CMB = makeSmeltable(_AS + 9, CMB, 0x6F6FB4, 0x000011, 0x6F6FB4).setShapes(INGOT, DUST, PLATE, CASTPLATE, WELDEDPLATE, BLOCK).m(); - public static final NTMMaterial MAT_DNT = makeSmeltable(_AS + 15, DNT, 0x7582B9, 0x16000E, 0x455289).setShapes(INGOT, DUST, DENSEWIRE, BLOCK).m(); - public static final NTMMaterial MAT_FLUX = makeAdditive(_AS + 10, df("Flux"), 0xF1E0BB, 0x6F6256, 0xDECCAD).setShapes(DUST).n(); - public static final NTMMaterial MAT_SLAG = makeSmeltable(_AS + 11, SLAG, 0x554940, 0x34281F, 0x6C6562).setShapes(BLOCK).n(); - public static final NTMMaterial MAT_MUD = makeSmeltable(_AS + 14, MUD, 0xBCB5A9, 0x481213, 0x96783B).setShapes(INGOT).n(); - + public static final NTMMaterial MAT_STEEL = makeSmeltable(_AS + 0, STEEL, 0xAFAFAF, 0x0F0F0F, 0x4A4A4A).setAutogen(DUSTTINY, BOLT, WIRE, DUST, PLATE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK, HEAVY_COMPONENT, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, GRIP).m(); + public static final NTMMaterial MAT_MINGRADE = makeSmeltable(_AS + 1, MINGRADE, 0xFFBA7D, 0xAF1700, 0xE44C0F).setAutogen(WIRE, DUST, DENSEWIRE, BLOCK).m(); + public static final NTMMaterial MAT_ALLOY = makeSmeltable(_AS + 2, ALLOY, 0xFF8330, 0x700000, 0xFF7318).setAutogen(WIRE, DUST, DENSEWIRE, PLATE, CASTPLATE, BLOCK, HEAVY_COMPONENT).m(); + public static final NTMMaterial MAT_DURA = makeSmeltable(_AS + 3, DURA, 0x82A59C, 0x06281E, 0x42665C).setAutogen(BOLT, DUST, PLATE, CASTPLATE, PIPE, BLOCK, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, HEAVYRECEIVER, GRIP).m(); + public static final NTMMaterial MAT_DESH = makeSmeltable(_AS + 12, DESH, 0xFF6D6D, 0x720000, 0xF22929).setAutogen(DUST, CASTPLATE, BLOCK, HEAVY_COMPONENT, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, STOCK, GRIP).m(); + public static final NTMMaterial MAT_STAR = makeSmeltable(_AS + 5, STAR, 0xCCCCEA, 0x11111A, 0xA5A5D3).setAutogen(DUST, DENSEWIRE, BLOCK).m(); + public static final NTMMaterial MAT_FERRO = makeSmeltable(_AS + 7, FERRO, 0xB7B7C9, 0x101022, 0x6B6B8B).setAutogen(CASTPLATE, HEAVYBARREL, HEAVYRECEIVER).m(); + public static final NTMMaterial MAT_TCALLOY = makeSmeltable(_AS + 6, TCALLOY, 0xD4D6D6, 0x323D3D, 0x9CA6A6).setAutogen(DUST, CASTPLATE, WELDEDPLATE, HEAVY_COMPONENT, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, HEAVYRECEIVER).m(); + public static final NTMMaterial MAT_CDALLOY = makeSmeltable(_AS + 13, CDALLOY, 0xF7DF8F, 0x604308, 0xFBD368).setAutogen(CASTPLATE, WELDEDPLATE, HEAVY_COMPONENT, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, HEAVYRECEIVER).m(); + public static final NTMMaterial MAT_BBRONZE = makeSmeltable(_AS + 16, BBRONZE, 0xE19A69, 0x485353, 0x987D65).setAutogen(CASTPLATE, LIGHTBARREL, LIGHTRECEIVER, HEAVYRECEIVER).m(); + public static final NTMMaterial MAT_ABRONZE = makeSmeltable(_AS + 17, ABRONZE, 0xDB9462, 0x203331, 0x77644D).setAutogen(CASTPLATE, LIGHTBARREL, LIGHTRECEIVER, HEAVYRECEIVER).m(); + public static final NTMMaterial MAT_BSCCO = makeSmeltable(_AS + 18, BSCCO, 0x767BF1, 0x000000, 0x5E62C0).setAutogen(DENSEWIRE).m(); + public static final NTMMaterial MAT_MAGTUNG = makeSmeltable(_AS + 8, MAGTUNG, 0x22A2A2, 0x0F0F0F, 0x22A2A2).setAutogen(WIRE, DUST, DENSEWIRE, BLOCK).m(); + public static final NTMMaterial MAT_CMB = makeSmeltable(_AS + 9, CMB, 0x6F6FB4, 0x000011, 0x6F6FB4).setAutogen(DUST, PLATE, CASTPLATE, WELDEDPLATE, BLOCK).m(); + public static final NTMMaterial MAT_DNT = makeSmeltable(_AS + 15, DNT, 0x7582B9, 0x16000E, 0x455289).setAutogen(DUST, DENSEWIRE, BLOCK).m(); + public static final NTMMaterial MAT_FLUX = makeAdditive(_AS + 10, df("Flux"), 0xF1E0BB, 0x6F6256, 0xDECCAD).setAutogen(DUST).n(); + public static final NTMMaterial MAT_SLAG = makeSmeltable(_AS + 11, SLAG, 0x554940, 0x34281F, 0x6C6562).setAutogen(BLOCK).n(); + public static final NTMMaterial MAT_MUD = makeSmeltable(_AS + 14, MUD, 0xBCB5A9, 0x481213, 0x96783B).n(); + public static final NTMMaterial MAT_GUNMETAL = makeSmeltable(_AS + 19, GUNMETAL, 0xFFEF3F, 0xAD3600, 0xF9C62C).setAutogen(LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, HEAVYRECEIVER, MECHANISM, STOCK, GRIP).n(); + public static final NTMMaterial MAT_WEAPONSTEEL = makeSmeltable(_AS + 20, WEAPONSTEEL, 0xA0A0A0, 0x000000, 0x808080).setAutogen(CASTPLATE, SHELL, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, HEAVYRECEIVER, MECHANISM, STOCK, GRIP).n(); + public static final NTMMaterial MAT_SATURN = makeSmeltable(_AS + 4, BIGMT, 0x3AC4DA, 0x09282C, 0x30A4B7).setAutogen(PLATE, CASTPLATE, SHELL, BLOCK, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, HEAVYRECEIVER, MECHANISM, STOCK, GRIP).m(); + //Extension - public static final NTMMaterial MAT_RAREEARTH = makeNonSmeltable(_ES + 00, RAREEARTH, 0xC1BDBD, 0x384646, 0x7B7F7F).setShapes(FRAGMENT, INGOT).n(); - + public static final NTMMaterial MAT_RAREEARTH = makeNonSmeltable(_ES + 00, RAREEARTH, 0xC1BDBD, 0x384646, 0x7B7F7F).setAutogen(FRAGMENT).n(); + public static final NTMMaterial MAT_POLYMER = makeNonSmeltable(_ES + 01, POLYMER, 0x363636, 0x040404, 0x272727).setAutogen(STOCK, GRIP).n(); + public static final NTMMaterial MAT_BAKELITE = makeNonSmeltable(_ES + 02, BAKELITE, 0xF28086, 0x2B0608, 0xC93940).setAutogen(STOCK, GRIP).n(); + public static final NTMMaterial MAT_RUBBER = makeNonSmeltable(_ES + 03, RUBBER, 0x817F75, 0x0F0D03, 0x4B4A3F).setAutogen(PIPE, GRIP).n(); + public static final NTMMaterial MAT_HARDPLASTIC = makeNonSmeltable(_ES + 04, PC, 0xEDE7C4, 0x908A67, 0xE1DBB8).setAutogen(STOCK, GRIP).n(); + public static final NTMMaterial MAT_PVC = makeNonSmeltable(_ES + 05, PVC, 0xFCFCFC, 0x9F9F9F, 0xF0F0F0).setAutogen(STOCK, GRIP).n(); + public static NTMMaterial makeSmeltable(int id, DictFrame dict, int color) { return makeSmeltable(id, dict, color, color, color); } public static NTMMaterial make(int id, DictFrame dict) { return new NTMMaterial(id, dict); } - + public static NTMMaterial makeSmeltable(int id, DictFrame dict, int solidColorLight, int solidColorDark, int moltenColor) { return new NTMMaterial(id, dict).smeltable(SmeltingBehavior.SMELTABLE).setSolidColor(solidColorLight, solidColorDark).setMoltenColor(moltenColor); } - + public static NTMMaterial makeAdditive(int id, DictFrame dict, int solidColorLight, int solidColorDark, int moltenColor) { return new NTMMaterial(id, dict).smeltable(SmeltingBehavior.ADDITIVE).setSolidColor(solidColorLight, solidColorDark).setMoltenColor(moltenColor); } - + public static NTMMaterial makeNonSmeltable(int id, DictFrame dict, int solidColorLight, int solidColorDark, int moltenColor) { return new NTMMaterial(id, dict).smeltable(SmeltingBehavior.NOT_SMELTABLE).setSolidColor(solidColorLight, solidColorDark).setMoltenColor(moltenColor); } - + public static DictFrame df(String string) { return new DictFrame(string); } - + /** will not respect stacksizes - all stacks will be treated as a singular */ public static List getMaterialsFromItem(ItemStack stack) { List list = new ArrayList(); List names = ItemStackUtil.getOreDictNames(stack); - + if(!names.isEmpty()) { outer: for(String name : names) { - + List oreEntries = materialOreEntries.get(name); - + if(oreEntries != null) { list.addAll(oreEntries); break outer; } - + for(Entry prefixEntry : prefixByName.entrySet()) { String prefix = prefixEntry.getKey(); - + if(name.startsWith(prefix)) { String materialName = name.substring(prefix.length()); NTMMaterial material = matByName.get(materialName); - - if(material != null) { + + if(material != null && (material.smeltsInto.smeltable == SmeltingBehavior.SMELTABLE || material.smeltsInto.smeltable == SmeltingBehavior.ADDITIVE)) { list.add(new MaterialStack(material, prefixEntry.getValue().q(1))); break outer; } @@ -207,17 +218,17 @@ public class Mats { } } } - + List entries = materialEntries.get(new ComparableStack(stack).makeSingular()); - + if(entries != null) { - list.addAll(entries); + entries.forEach(x -> { if(x != null) list.add(x); }); } - + if(stack.getItem() == ModItems.scraps) { list.add(ItemScraps.getMats(stack)); } - + return list; } @@ -227,28 +238,28 @@ public class Mats { baseMats.forEach(x -> smelting.add(new MaterialStack(x.material.smeltsInto, (int) (x.amount * x.material.convOut / x.material.convIn)))); return smelting; } - + public static class MaterialStack { //final fields to prevent accidental changing public final NTMMaterial material; public int amount; - + public MaterialStack(NTMMaterial material, int amount) { this.material = material; this.amount = amount; } - + public MaterialStack copy() { return new MaterialStack(material, amount); } } - + public static String formatAmount(int amount, boolean showInMb) { - + if(showInMb) return (amount * 2) + "mB"; - + String format = ""; - + int blocks = amount / BLOCK.q(1); amount -= BLOCK.q(blocks); int ingots = amount / INGOT.q(1); @@ -256,12 +267,12 @@ public class Mats { int nuggets = amount / NUGGET.q(1); amount -= NUGGET.q(nuggets); int quanta = amount; - + if(blocks > 0) format += (blocks == 1 ? I18nUtil.resolveKey("matshape.block", blocks) : I18nUtil.resolveKey("matshape.blocks", blocks)) + " "; if(ingots > 0) format += (ingots == 1 ? I18nUtil.resolveKey("matshape.ingot", ingots) : I18nUtil.resolveKey("matshape.ingots", ingots)) + " "; if(nuggets > 0) format += (nuggets == 1 ? I18nUtil.resolveKey("matshape.nugget", nuggets) : I18nUtil.resolveKey("matshape.nuggets", nuggets)) + " "; if(quanta > 0) format += (quanta == 1 ? I18nUtil.resolveKey("matshape.quantum", quanta) : I18nUtil.resolveKey("matshape.quanta", quanta)) + " "; - + return format.trim(); } } diff --git a/src/main/java/com/hbm/inventory/material/NTMMaterial.java b/src/main/java/com/hbm/inventory/material/NTMMaterial.java index 193ad939a..7f15f1bed 100644 --- a/src/main/java/com/hbm/inventory/material/NTMMaterial.java +++ b/src/main/java/com/hbm/inventory/material/NTMMaterial.java @@ -18,7 +18,7 @@ public class NTMMaterial { public final int id; public String[] names; - public Set shapes = new HashSet(); + public Set autogen = new HashSet(); public Set traits = new HashSet(); public SmeltingBehavior smeltable = SmeltingBehavior.NOT_SMELTABLE; public int solidColorLight = 0xFF4A00; @@ -58,8 +58,8 @@ public class NTMMaterial { } /** Shapes for autogen */ - public NTMMaterial setShapes(MaterialShapes... shapes) { - for(MaterialShapes shape : shapes) this.shapes.add(shape); + public NTMMaterial setAutogen(MaterialShapes... shapes) { + for(MaterialShapes shape : shapes) this.autogen.add(shape); return this; } diff --git a/src/main/java/com/hbm/inventory/recipes/AmmoPressRecipes.java b/src/main/java/com/hbm/inventory/recipes/AmmoPressRecipes.java new file mode 100644 index 000000000..1327ae459 --- /dev/null +++ b/src/main/java/com/hbm/inventory/recipes/AmmoPressRecipes.java @@ -0,0 +1,528 @@ +package com.hbm.inventory.recipes; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +import static com.hbm.inventory.OreDictManager.*; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; +import com.hbm.inventory.OreDictManager.DictFrame; +import com.hbm.inventory.RecipesCommon.AStack; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.RecipesCommon.OreDictStack; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.items.ItemEnums.EnumCasingType; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; + +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +public class AmmoPressRecipes extends SerializableRecipe { + + public static List recipes = new ArrayList(); + + @Override + public void registerDefaults() { + + OreDictStack lead = new OreDictStack(PB.ingot()); + OreDictStack nugget = new OreDictStack(PB.nugget()); + OreDictStack flechette = new OreDictStack(PB.bolt()); + OreDictStack steel = new OreDictStack(STEEL.ingot()); + OreDictStack wSteel = new OreDictStack(WEAPONSTEEL.ingot()); + OreDictStack copper = new OreDictStack(CU.ingot()); + OreDictStack plastic = new OreDictStack(ANY_PLASTIC.ingot()); + OreDictStack uranium = new OreDictStack(U238.ingot()); + OreDictStack ferro = new OreDictStack(FERRO.ingot()); + OreDictStack nb = new OreDictStack(NB.ingot()); + OreDictStack smokeless = new OreDictStack(ANY_SMOKELESS.dust()); + OreDictStack he = new OreDictStack(ANY_HIGHEXPLOSIVE.ingot()); + OreDictStack wp = new OreDictStack(P_WHITE.ingot()); + OreDictStack rp = new OreDictStack(P_RED.dust()); + OreDictStack pipe = new OreDictStack(STEEL.pipe()); + ComparableStack smokeful = new ComparableStack(Items.gunpowder); + ComparableStack rocket = new ComparableStack(ModItems.rocket_fuel); + ComparableStack cSmall = new ComparableStack(ModItems.casing, 1, EnumCasingType.SMALL); + ComparableStack cBig = new ComparableStack(ModItems.casing, 1, EnumCasingType.LARGE); + ComparableStack sSmall = new ComparableStack(ModItems.casing, 1, EnumCasingType.SMALL_STEEL); + ComparableStack sBig = new ComparableStack(ModItems.casing, 1, EnumCasingType.LARGE_STEEL); + ComparableStack bpShell = new ComparableStack(ModItems.casing, 1, EnumCasingType.SHOTSHELL); + ComparableStack pShell = new ComparableStack(ModItems.casing, 1, EnumCasingType.BUCKSHOT); + ComparableStack sShell = new ComparableStack(ModItems.casing, 1, EnumCasingType.BUCKSHOT_ADVANCED); + + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M357_BP, 16), + null, lead.copy(2), null, + null, smokeful, null, + null, cSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M357_SP, 8), + null, lead, null, + null, smokeless, null, + null, cSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M357_FMJ, 8), + null, steel, null, + null, smokeless, null, + null, cSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M357_JHP, 8), + plastic, copper, null, + null, smokeless, null, + null, cSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M357_AP, 8), + null, wSteel, null, + null, smokeless.copy(2), null, + null, sSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M357_EXPRESS, 8), + null, steel, null, + null, smokeless.copy(3), null, + null, cSmall, null)); + + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M44_BP, 12), + null, lead.copy(2), null, + null, smokeful, null, + null, cSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M44_SP, 6), + null, lead, null, + null, smokeless, null, + null, cSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M44_FMJ, 6), + null, steel, null, + null, smokeless, null, + null, cSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M44_JHP, 6), + plastic, copper, null, + null, smokeless, null, + null, cSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M44_AP, 6), + null, wSteel, null, + null, smokeless.copy(2), null, + null, sSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.M44_EXPRESS, 6), + null, steel, null, + null, smokeless.copy(3), null, + null, cSmall, null)); + + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P22_SP, 24), + null, lead, null, + null, smokeless, null, + null, cSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P22_FMJ, 24), + null, steel, null, + null, smokeless, null, + null, cSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P22_JHP, 24), + plastic, copper, null, + null, smokeless, null, + null, cSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P22_AP, 24), + null, wSteel, null, + null, smokeless.copy(2), null, + null, sSmall, null)); + + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P9_SP, 12), + null, lead, null, + null, smokeless, null, + null, cSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P9_FMJ, 12), + null, steel, null, + null, smokeless, null, + null, cSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P9_JHP, 12), + plastic, copper, null, + null, smokeless, null, + null, cSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P9_AP, 12), + null, wSteel, null, + null, smokeless.copy(2), null, + null, sSmall, null)); + + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P45_SP, 8), + null, lead, null, + null, smokeless, null, + null, cSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P45_FMJ, 8), + null, steel, null, + null, smokeless, null, + null, cSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P45_JHP, 8), + plastic, copper, null, + null, smokeless, null, + null, cSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P45_AP, 8), + null, wSteel, null, + null, smokeless.copy(2), null, + null, sSmall, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.P45_DU, 8), + null, uranium, null, + null, smokeless.copy(2), null, + null, sSmall, null)); + + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R556_SP, 16), + null, lead.copy(2), null, + null, smokeless.copy(2), null, + null, cSmall.copy(2), null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R556_FMJ, 16), + null, steel.copy(2), null, + null, smokeless.copy(2), null, + null, cSmall.copy(2), null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R556_JHP, 16), + plastic, copper.copy(2), null, + null, smokeless.copy(2), null, + null, cSmall.copy(2), null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R556_AP, 16), + null, wSteel.copy(2), null, + null, smokeless.copy(4), null, + null, sSmall.copy(2), null)); + + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R762_SP, 12), + null, lead.copy(2), null, + null, smokeless.copy(2), null, + null, cSmall.copy(2), null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R762_FMJ, 12), + null, steel.copy(2), null, + null, smokeless.copy(2), null, + null, cSmall.copy(2), null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R762_JHP, 12), + plastic, copper.copy(2), null, + null, smokeless.copy(2), null, + null, cSmall.copy(2), null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R762_AP, 12), + null, wSteel.copy(2), null, + null, smokeless.copy(4), null, + null, sSmall.copy(2), null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R762_DU, 12), + null, uranium.copy(2), null, + null, smokeless.copy(4), null, + null, sSmall.copy(2), null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.R762_HE, 12), + he, ferro, null, + null, smokeless.copy(4), null, + null, sSmall.copy(2), null)); + + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.BMG50_SP, 12), + null, lead.copy(2), null, + null, smokeless.copy(3), null, + null, cBig, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.BMG50_FMJ, 12), + null, steel.copy(2), null, + null, smokeless.copy(3), null, + null, cBig, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.BMG50_JHP, 12), + plastic, copper.copy(2), null, + null, smokeless.copy(3), null, + null, cBig, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.BMG50_AP, 12), + null, wSteel.copy(2), null, + null, smokeless.copy(6), null, + null, sBig, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.BMG50_DU, 12), + null, uranium.copy(2), null, + null, smokeless.copy(6), null, + null, sBig, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.BMG50_HE, 12), + he, ferro, null, + null, smokeless.copy(6), null, + null, sBig, null)); + + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_BP, 6), + null, nugget.copy(6), null, + null, smokeful, null, + null, bpShell, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_BP_MAGNUM, 6), + null, nugget.copy(8), null, + null, smokeful, null, + null, bpShell, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_BP_SLUG, 6), + null, lead, null, + null, smokeful, null, + null, bpShell, null)); + + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12, 6), + null, nugget.copy(6), null, + null, smokeless, null, + null, pShell, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_SLUG, 6), + null, lead, null, + null, smokeless, null, + null, pShell, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_FLECHETTE, 6), + null, flechette.copy(12), null, + null, smokeless, null, + null, pShell, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_MAGNUM, 6), + null, nugget.copy(8), null, + null, smokeless, null, + null, sShell, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_EXPLOSIVE, 6), + null, he, null, + null, smokeless, null, + null, sShell, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G12_PHOSPHORUS, 6), + null, wp, null, + null, smokeless, null, + null, sShell, null)); + + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G10, 4), + null, nugget.copy(8), null, + null, smokeless.copy(2), null, + null, sShell, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G10_SHRAPNEL, 4), + plastic, nugget.copy(8), null, + null, smokeless.copy(2), null, + null, sShell, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G10_DU, 4), + null, uranium, null, + null, smokeless.copy(2), null, + null, sShell, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G10_SLUG, 4), + null, lead, null, + null, smokeless.copy(2), null, + null, sShell, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G10_EXPLOSIVE, 4), + he, ferro, null, + null, smokeless.copy(2), null, + null, sShell, null)); + + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G26_FLARE, 4), + null, rp, null, + null, smokeless, null, + null, cBig, null)); + + ComparableStack dyn = new ComparableStack(ModItems.ball_dynamite); + OreDictStack coplate = new OreDictStack(CU.plate()); + OreDictStack diesel = new OreDictStack(Fluids.DIESEL.getDict(1_000)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G40_HE, 4), + null, dyn, null, + null, smokeless, null, + null, cBig, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G40_HEAT, 4), + coplate, he, null, + null, smokeless, null, + null, cBig, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G40_DEMO, 4), + null, he.copy(2), null, + null, smokeless, null, + null, cBig, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G40_INC, 4), + diesel, dyn, null, + null, smokeless, null, + null, cBig, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.G40_PHOSPHORUS, 4), + wp, he, null, + null, smokeless, null, + null, cBig, null)); + + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_HE, 2), + null, dyn, null, + null, cBig, null, + null, smokeless.copy(3), null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_HE, 2), + null, dyn, null, + null, cBig, null, + null, rocket, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_HEAT, 2), + coplate, he, null, + null, cBig, null, + null, smokeless.copy(3), null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_HEAT, 2), + coplate, he, null, + null, cBig, null, + null, rocket, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_DEMO, 2), + null, he.copy(2), null, + null, cBig, null, + null, smokeless.copy(3), null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_DEMO, 2), + null, he.copy(2), null, + null, cBig, null, + null, rocket, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_INC, 2), + diesel, dyn, null, + null, cBig, null, + null, smokeless.copy(3), null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_INC, 2), + diesel, dyn, null, + null, cBig, null, + null, rocket, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_PHOSPHORUS, 2), + wp, he, null, + null, cBig, null, + null, smokeless.copy(3), null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_PHOSPHORUS, 2), + wp, he, null, + null, cBig, null, + null, rocket, null)); + + OreDictStack sPlate = new OreDictStack(STEEL.plate()); + ComparableStack napalm = new ComparableStack(ModItems.canister_napalm); + OreDictStack gas = new OreDictStack(Fluids.GAS.getDict(1000)); + OreDictStack bf = new OreDictStack(Fluids.BALEFIRE.getDict(1000)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.FLAME_DIESEL, 1), + null, sPlate, null, + null, diesel, null, + null, sPlate, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.FLAME_NAPALM, 1), + null, sPlate, null, + null, napalm, null, + null, sPlate, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.FLAME_GAS, 1), + null, sPlate, null, + null, gas, null, + null, sPlate, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.FLAME_BALEFIRE, 1), + null, sPlate, null, + null, bf, null, + null, sPlate, null)); + + OreDictStack silicon = new OreDictStack(SI.billet()); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.CAPACITOR, 4), + null, plastic, null, + null, silicon.copy(4), null, + null, plastic, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.CAPACITOR_OVERCHARGE, 4), + null, plastic, null, + null, silicon.copy(6), null, + null, plastic, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.CAPACITOR_IR, 4), + null, plastic, null, + null, nb, null, + null, plastic, null)); + + OreDictStack lPlate = new OreDictStack(PB.plate()); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.TAU_URANIUM, 16), + null, lPlate, null, + null, uranium, null, + null, lPlate , null)); + + OreDictStack tungsten = new OreDictStack(W.ingot()); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.COIL_TUNGSTEN, 4), + null, null, null, + null, tungsten, null, + null, null , null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.COIL_FERROURANIUM, 4), + null, null, null, + null, ferro, null, + null, null , null)); + + ComparableStack shell = new ComparableStack(ModItems.assembly_nuke); + ComparableStack tatb = new ComparableStack(ModItems.ball_tatb); + OreDictStack plutonium = new OreDictStack(PU239.nugget()); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_STANDARD, 1), + null, plutonium, null, + null, shell, null, + null, null , null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_DEMO, 1), + null, plutonium.copy(2), null, + null, shell, null, + null, null , null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_HIGH, 1), + null, plutonium.copy(4), null, + null, shell, null, + null, null , null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_TOTS, 1), + null, plutonium.copy(2), null, + null, tatb.copy(2), null, + null, sPlate.copy(4) , null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_HIVE, 1), + null, he.copy(8), null, + null, sBig.copy(2), null, + null, sPlate.copy(4), null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_BALEFIRE, 1), + null, new ComparableStack(ModItems.egg_balefire_shard), null, + null, shell, null, + null, null , null)); + + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.CT_HOOK, 16), + null, steel, null, + null, pipe, null, + null, smokeless, null)); + recipes.add(new AmmoPressRecipe(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.CT_MORTAR, 4), + null, he.copy(4), null, + null, pipe, null, + null, smokeless, null)); + } + + public static HashMap getRecipes() { + HashMap recipes = new HashMap(); + + for(AmmoPressRecipe recipe : AmmoPressRecipes.recipes) { + List inputs = new ArrayList(); + for(AStack stack : recipe.input) if(stack != null) inputs.add(stack); + recipes.put(inputs.toArray(new AStack[0]), recipe.output.copy()); + } + + return recipes; + } + + @Override + public String getFileName() { + return "hbmAmmoPress.json"; + } + + @Override + public String getComment() { + return "Input array describes slots from left to right, top to bottom. Make sure the input array is exactly 9 elements long, empty slots are represented by null."; + } + + @Override + public Object getRecipeObject() { + return recipes; + } + + @Override + public void deleteRecipes() { + recipes.clear(); + } + + @Override + public void readRecipe(JsonElement recipe) { + JsonObject obj = (JsonObject) recipe; + + ItemStack output = this.readItemStack(obj.get("output").getAsJsonArray()); + JsonArray inputArray = obj.get("input").getAsJsonArray(); + AStack[] input = new AStack[9]; + + for(int i = 0; i < 9; i++) { + JsonElement element = inputArray.get(i); + if(element.isJsonNull()) { + input[i] = null; + } else { + input[i] = this.readAStack(element.getAsJsonArray()); + } + } + + this.recipes.add(new AmmoPressRecipe(output, input)); + } + + @Override + public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { + AmmoPressRecipe rec = (AmmoPressRecipe) recipe; + + writer.name("output"); + this.writeItemStack(rec.output, writer); + + writer.name("input").beginArray(); + for(int i = 0; i < rec.input.length; i++) { + if(rec.input[i] == null) { + writer.nullValue(); + } else { + this.writeAStack(rec.input[i], writer); + } + } + writer.endArray(); + } + + public static class AmmoPressRecipe { + public ItemStack output; + public AStack[] input; + + public AmmoPressRecipe(ItemStack output, AStack... input) { + this.output = output; + this.input = input; + } + } +} diff --git a/src/main/java/com/hbm/inventory/recipes/ArcFurnaceRecipes.java b/src/main/java/com/hbm/inventory/recipes/ArcFurnaceRecipes.java index eaafa0638..35b202158 100644 --- a/src/main/java/com/hbm/inventory/recipes/ArcFurnaceRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ArcFurnaceRecipes.java @@ -3,6 +3,7 @@ package com.hbm.inventory.recipes; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map.Entry; @@ -28,6 +29,7 @@ import com.hbm.items.machine.ItemScraps; import com.hbm.items.special.ItemBedrockOreNew; import com.hbm.items.special.ItemBedrockOreNew.BedrockOreGrade; import com.hbm.items.special.ItemBedrockOreNew.BedrockOreType; +import com.hbm.util.Tuple.Pair; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; @@ -36,43 +38,47 @@ import net.minecraftforge.oredict.OreDictionary; public class ArcFurnaceRecipes extends SerializableRecipe { - public static HashMap recipes = new HashMap(); + public static List> recipeList = new ArrayList(); + /* quick lookup for translating input stacks into the output, created lazily whenever a recipe is checked for the first time */ public static HashMap fastCacheSolid = new HashMap(); public static HashMap fastCacheLiquid = new HashMap(); + /* used for the recipe creation process to cache which inputs are already in use to prevent input collisions */ + public static HashSet occupiedSolid = new HashSet(); + public static HashSet occupiedLiquid = new HashSet(); @Override public void registerDefaults() { - recipes.put(new OreDictStack(KEY_SAND), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.NUGGET.q(1)))); - recipes.put(new ComparableStack(Items.flint), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 4)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.INGOT.q(1, 2)))); - recipes.put(new OreDictStack(QUARTZ.gem()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 3)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.NUGGET.q(3)))); - recipes.put(new OreDictStack(QUARTZ.dust()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 3)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.NUGGET.q(3)))); - recipes.put(new OreDictStack(QUARTZ.block()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 12)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.NUGGET.q(12)))); - recipes.put(new OreDictStack(FIBER.ingot()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 4)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.INGOT.q(1, 2)))); - recipes.put(new OreDictStack(FIBER.block()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 40)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.INGOT.q(9, 2)))); - recipes.put(new OreDictStack(ASBESTOS.ingot()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 4)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.INGOT.q(1, 2)))); - recipes.put(new OreDictStack(ASBESTOS.dust()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 4)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.INGOT.q(1, 2)))); - recipes.put(new OreDictStack(ASBESTOS.block()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 40)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.INGOT.q(9, 2)))); + register(new OreDictStack(KEY_SAND), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.NUGGET.q(1)))); + register(new ComparableStack(Items.flint), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 4)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.INGOT.q(1, 2)))); + register(new OreDictStack(QUARTZ.gem()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 3)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.NUGGET.q(3)))); + register(new OreDictStack(QUARTZ.dust()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 3)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.NUGGET.q(3)))); + register(new OreDictStack(QUARTZ.block()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 12)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.NUGGET.q(12)))); + register(new OreDictStack(FIBER.ingot()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 4)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.INGOT.q(1, 2)))); + register(new OreDictStack(FIBER.block()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 40)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.INGOT.q(9, 2)))); + register(new OreDictStack(ASBESTOS.ingot()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 4)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.INGOT.q(1, 2)))); + register(new OreDictStack(ASBESTOS.dust()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 4)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.INGOT.q(1, 2)))); + register(new OreDictStack(ASBESTOS.block()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.nugget_silicon, 40)) .fluid(new MaterialStack(Mats.MAT_SILICON, MaterialShapes.INGOT.q(9, 2)))); - recipes.put(new ComparableStack(ModBlocks.sand_quartz), new ArcFurnaceRecipe().solid(new ItemStack(ModBlocks.glass_quartz))); - recipes.put(new OreDictStack(BORAX.dust()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.powder_boron_tiny, 3)).fluid(new MaterialStack(Mats.MAT_BORON, MaterialShapes.NUGGET.q(3)))); + register(new ComparableStack(ModBlocks.sand_quartz), new ArcFurnaceRecipe().solid(new ItemStack(ModBlocks.glass_quartz))); + register(new OreDictStack(BORAX.dust()), new ArcFurnaceRecipe().solid(new ItemStack(ModItems.powder_boron_tiny, 3)).fluid(new MaterialStack(Mats.MAT_BORON, MaterialShapes.NUGGET.q(3)))); for(BedrockOreType type : BedrockOreType.values()) { - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_BYPRODUCT, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_ARC, type, 2))); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_ROASTED, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_ARC, type, 4))); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_BYPRODUCT, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_ARC, type, 2))); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_ROASTED, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_ARC, type, 4))); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_BYPRODUCT, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.RAD_ARC, type, 2))); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_ROASTED, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.RAD_ARC, type, 4))); + register(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_BYPRODUCT, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_ARC, type, 2))); + register(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_ROASTED, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_ARC, type, 4))); + register(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_BYPRODUCT, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_ARC, type, 2))); + register(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_ROASTED, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_ARC, type, 4))); + register(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_BYPRODUCT, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.RAD_ARC, type, 2))); + register(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_ROASTED, type)), new ArcFurnaceRecipe().solid(ItemBedrockOreNew.make(BedrockOreGrade.RAD_ARC, type, 4))); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_FIRST, type)), new ArcFurnaceRecipe().fluidNull(ItemBedrockOreNew.toFluid(type.primary1, 5), ItemBedrockOreNew.toFluid(type.primary2, 2))); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_SECOND, type)), new ArcFurnaceRecipe().fluidNull(ItemBedrockOreNew.toFluid(type.primary1, 2), ItemBedrockOreNew.toFluid(type.primary2, 5))); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)), new ArcFurnaceRecipe().fluidNull(ItemBedrockOreNew.toFluid(type.primary1, 1), ItemBedrockOreNew.toFluid(type.primary2, 1))); + register(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_FIRST, type)), new ArcFurnaceRecipe().fluidNull(ItemBedrockOreNew.toFluid(type.primary1, 5), ItemBedrockOreNew.toFluid(type.primary2, 2))); + register(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_SECOND, type)), new ArcFurnaceRecipe().fluidNull(ItemBedrockOreNew.toFluid(type.primary1, 2), ItemBedrockOreNew.toFluid(type.primary2, 5))); + register(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)), new ArcFurnaceRecipe().fluidNull(ItemBedrockOreNew.toFluid(type.primary1, 1), ItemBedrockOreNew.toFluid(type.primary2, 1))); int i3 = 3; - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_WASHED, type)), new ArcFurnaceRecipe().fluidNull(ItemBedrockOreNew.toFluid(type.byproductAcid1, i3), ItemBedrockOreNew.toFluid(type.byproductAcid2, i3), ItemBedrockOreNew.toFluid(type.byproductAcid3, i3))); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_WASHED, type)), new ArcFurnaceRecipe().fluidNull(ItemBedrockOreNew.toFluid(type.byproductSolvent1, i3), ItemBedrockOreNew.toFluid(type.byproductSolvent2, i3), ItemBedrockOreNew.toFluid(type.byproductSolvent3, i3))); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_WASHED, type)), new ArcFurnaceRecipe().fluidNull(ItemBedrockOreNew.toFluid(type.byproductRad1, i3), ItemBedrockOreNew.toFluid(type.byproductRad2, i3), ItemBedrockOreNew.toFluid(type.byproductRad3, i3))); + register(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_WASHED, type)), new ArcFurnaceRecipe().fluidNull(ItemBedrockOreNew.toFluid(type.byproductAcid1, i3), ItemBedrockOreNew.toFluid(type.byproductAcid2, i3), ItemBedrockOreNew.toFluid(type.byproductAcid3, i3))); + register(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_WASHED, type)), new ArcFurnaceRecipe().fluidNull(ItemBedrockOreNew.toFluid(type.byproductSolvent1, i3), ItemBedrockOreNew.toFluid(type.byproductSolvent2, i3), ItemBedrockOreNew.toFluid(type.byproductSolvent3, i3))); + register(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_WASHED, type)), new ArcFurnaceRecipe().fluidNull(ItemBedrockOreNew.toFluid(type.byproductRad1, i3), ItemBedrockOreNew.toFluid(type.byproductRad2, i3), ItemBedrockOreNew.toFluid(type.byproductRad3, i3))); } // Autogen for simple single type items @@ -82,14 +88,13 @@ public class ArcFurnaceRecipes extends SerializableRecipe { NTMMaterial convert = material.smeltsInto; if(convert.smeltable == SmeltingBehavior.SMELTABLE) { for(MaterialShapes shape : MaterialShapes.allShapes) { - String name = shape.name() + material.names[0]; - if(!OreDictionary.getOres(name).isEmpty()) { - OreDictStack dict = new OreDictStack(name); - ArcFurnaceRecipe recipe = recipes.get(dict); - if(recipe == null) recipe = new ArcFurnaceRecipe(); - if(recipe.fluidOutput == null) { + if(!shape.noAutogen) { + String name = shape.name() + material.names[0]; + if(!OreDictionary.getOres(name).isEmpty()) { + OreDictStack dict = new OreDictStack(name); + ArcFurnaceRecipe recipe = new ArcFurnaceRecipe(); recipe.fluid(new MaterialStack(convert, (int) (shape.q(1) * out / in))); - recipes.put(dict, recipe); + register(dict, recipe); } } } @@ -114,17 +119,31 @@ public class ArcFurnaceRecipes extends SerializableRecipe { if(input != null && output != null) { ComparableStack comp = new ComparableStack(input); if(OreDictManager.arcSmeltable.contains(comp) || OreDictManager.arcSmeltable.contains(new ComparableStack(output))) { - ArcFurnaceRecipe recipe = recipes.get(comp); - if(recipe == null) recipe = new ArcFurnaceRecipe(); - if(recipe.solidOutput == null) { - recipe.solid(output.copy()); - recipes.put(comp, recipe); - } + ArcFurnaceRecipe recipe = new ArcFurnaceRecipe(); + recipe.solid(output.copy()); + register(comp, recipe); } } } } + public static void register(AStack input, ArcFurnaceRecipe output) { + List inputs = input.extractForNEI(); + for(ItemStack stack : inputs) { + ComparableStack compStack = new ComparableStack(stack); + if(compStack.meta == OreDictionary.WILDCARD_VALUE) compStack.meta = 0; + if(output.solidOutput != null) if(occupiedSolid.contains(compStack)) return; + if(output.fluidOutput != null) if(occupiedLiquid.contains(compStack)) return; + } + recipeList.add(new Pair(input, output)); + for(ItemStack stack : inputs) { + ComparableStack compStack = new ComparableStack(stack); + if(compStack.meta == OreDictionary.WILDCARD_VALUE) compStack.meta = 0; + if(output.solidOutput != null) occupiedSolid.add(compStack); + if(output.fluidOutput != null) occupiedLiquid.add(compStack); + } + } + private static void addCustomSmeltable(AStack astack, List mats) { List smeltables = new ArrayList(); for(MaterialStack mat : mats) { @@ -133,12 +152,9 @@ public class ArcFurnaceRecipes extends SerializableRecipe { } } if(smeltables.isEmpty()) return; - ArcFurnaceRecipe recipe = recipes.get(astack); - if(recipe == null) recipe = new ArcFurnaceRecipe(); - if(recipe.fluidOutput == null) { - recipe.fluid(smeltables.toArray(new MaterialStack[0])); - recipes.put(astack, recipe); - } + ArcFurnaceRecipe recipe = new ArcFurnaceRecipe(); + recipe.fluid(smeltables.toArray(new MaterialStack[0])); + register(astack, recipe); } public static ArcFurnaceRecipe getOutput(ItemStack stack, boolean liquid) { @@ -158,7 +174,7 @@ public class ArcFurnaceRecipes extends SerializableRecipe { if(!liquid && fastCacheSolid.containsKey(cacheKey)) return fastCacheSolid.get(cacheKey); if(liquid && fastCacheLiquid.containsKey(cacheKey)) return fastCacheLiquid.get(cacheKey); - for(Entry entry : recipes.entrySet()) { + for(Pair entry : recipeList) { if(entry.getKey().matchesRecipe(stack, true)) { ArcFurnaceRecipe rec = entry.getValue(); if((liquid && rec.fluidOutput != null) || (!liquid && rec.solidOutput != null)) { @@ -177,7 +193,7 @@ public class ArcFurnaceRecipes extends SerializableRecipe { public static HashMap getSolidRecipes() { HashMap recipes = new HashMap(); - for(Entry recipe : ArcFurnaceRecipes.recipes.entrySet()) { + for(Pair recipe : ArcFurnaceRecipes.recipeList) { if(recipe.getValue().solidOutput != null) recipes.put(recipe.getKey().copy(), recipe.getValue().solidOutput.copy()); } return recipes; @@ -185,7 +201,7 @@ public class ArcFurnaceRecipes extends SerializableRecipe { public static HashMap getFluidRecipes() { HashMap recipes = new HashMap(); - for(Entry recipe : ArcFurnaceRecipes.recipes.entrySet()) { + for(Pair recipe : ArcFurnaceRecipes.recipeList) { if(recipe.getValue().fluidOutput != null && recipe.getValue().fluidOutput.length > 0) { Object[] out = new Object[recipe.getValue().fluidOutput.length]; for(int i = 0; i < out.length; i++) out[i] = ItemScraps.create(recipe.getValue().fluidOutput[i], true); @@ -207,12 +223,14 @@ public class ArcFurnaceRecipes extends SerializableRecipe { @Override public Object getRecipeObject() { - return recipes; + return recipeList; } @Override public void deleteRecipes() { - recipes.clear(); + occupiedSolid.clear(); + occupiedLiquid.clear(); + recipeList.clear(); fastCacheSolid.clear(); fastCacheLiquid.clear(); } @@ -233,7 +251,7 @@ public class ArcFurnaceRecipes extends SerializableRecipe { List mats = new ArrayList(); for(JsonElement fluid : fluids) { JsonArray matStack = fluid.getAsJsonArray(); - MaterialStack stack = new MaterialStack(Mats.matById.get(matStack.get(0).getAsInt()), matStack.get(1).getAsInt()); + MaterialStack stack = new MaterialStack(Mats.matByName.get(matStack.get(0).getAsString()), matStack.get(1).getAsInt()); if(stack.material.smeltable == SmeltingBehavior.SMELTABLE) { mats.add(stack); } @@ -243,12 +261,12 @@ public class ArcFurnaceRecipes extends SerializableRecipe { } } - this.recipes.put(input, arc); + register(input, arc); } @Override public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { - Entry rec = (Entry) recipe; + Pair rec = (Pair) recipe; writer.name("input"); this.writeAStack(rec.getKey(), writer); diff --git a/src/main/java/com/hbm/inventory/recipes/ArcWelderRecipes.java b/src/main/java/com/hbm/inventory/recipes/ArcWelderRecipes.java index 2dacf92dd..669a4bde2 100644 --- a/src/main/java/com/hbm/inventory/recipes/ArcWelderRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ArcWelderRecipes.java @@ -46,6 +46,8 @@ public class ArcWelderRecipes extends SerializableRecipe { new OreDictStack(ANY_BISMOIDBRONZE.plateCast(), 2), new OreDictStack(CMB.plateWelded(), 1), new ComparableStack(ModItems.ingot_cft))); //Dense Wires + recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.wire_dense, 1, Mats.MAT_COPPER.id), 100, 10_000L, + new OreDictStack(CU.wireFine(), 8))); recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.wire_dense, 1, Mats.MAT_ALLOY.id), 100, 10_000L, new OreDictStack(ALLOY.wireFine(), 8))); recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.wire_dense, 1, Mats.MAT_GOLD.id), 100, 10_000L, diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 39fff4c81..f725cd17a 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -27,14 +27,18 @@ import com.hbm.inventory.material.MaterialShapes; import com.hbm.inventory.material.Mats; import com.hbm.inventory.material.NTMMaterial; import com.hbm.inventory.recipes.loader.SerializableRecipe; -import com.hbm.items.ItemAmmoEnums; import com.hbm.items.ModItems; +import com.hbm.items.ItemEnums.EnumCasingType; +import com.hbm.items.ItemEnums.EnumSecretType; import com.hbm.items.ItemGenericPart.EnumPartType; import com.hbm.items.machine.ItemAssemblyTemplate; import com.hbm.items.machine.ItemCircuit.EnumCircuitType; import com.hbm.items.machine.ItemDrillbit.EnumDrillType; +import com.hbm.items.machine.ItemPACoil.EnumCoilType; import com.hbm.items.machine.ItemPistons.EnumPistonType; import com.hbm.items.weapon.ItemAmmoHIMARS; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret; import com.hbm.main.MainRegistry; import cpw.mods.fml.common.Loader; @@ -45,18 +49,18 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; public class AssemblerRecipes extends SerializableRecipe { - + public static HashMap recipes = new HashMap(); public static List recipeList = new ArrayList(); - + /** Legacy NOP, WarTec needs this */ public static void loadRecipes() { } @Override public void registerDefaults() { - + boolean exp = GeneralConfig.enableExpensiveMode; - + makeRecipe(new ComparableStack(ModItems.plate_iron, 2), new AStack[] {new OreDictStack(IRON.ingot(), 3), },30); makeRecipe(new ComparableStack(ModItems.plate_gold, 2), new AStack[] {new OreDictStack(GOLD.ingot(), 3), },30); makeRecipe(new ComparableStack(ModItems.plate_titanium, 2), new AStack[] {new OreDictStack(TI.ingot(), 3), },30); @@ -73,12 +77,10 @@ public class AssemblerRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModItems.asbestos_cloth, 4), new AStack[] {new OreDictStack(ASBESTOS.ingot(), 2), new ComparableStack(Items.string, 6), new ComparableStack(Blocks.wool, 1), },50); makeRecipe(new ComparableStack(ModItems.filter_coal, 1), new AStack[] {new OreDictStack(COAL.dust(), 4), new ComparableStack(Items.string, 2), new ComparableStack(Items.paper, 1), },50); makeRecipe(new ComparableStack(ModItems.centrifuge_element, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 4), new OreDictStack(TI.plate528(), 4), new ComparableStack(ModItems.motor, 1), }, 100); - makeRecipe(new ComparableStack(ModItems.magnet_circular, 1), new AStack[] {new ComparableStack(ModBlocks.fusion_conductor, 5), new OreDictStack(STEEL.ingot(), 4), new OreDictStack(ALLOY.plate(), 6), },150); makeRecipe(new ComparableStack(ModItems.reactor_core, 1), new AStack[] {new OreDictStack(PB.ingot(), 8), new OreDictStack(BE.ingot(), 6), new OreDictStack(STEEL.plate(), 16), new OreDictStack(OreDictManager.getReflector(), 8), new OreDictStack(FIBER.ingot(), 2) },100); makeRecipe(new ComparableStack(ModItems.rtg_unit, 1), new AStack[] {new ComparableStack(ModItems.thermo_element, 2), new OreDictStack(CU.plateCast(), 1), new OreDictStack(PB.ingot(), 2), new OreDictStack(STEEL.plate(), 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.CAPACITOR.ordinal()), },100); - makeRecipe(new ComparableStack(ModItems.levitation_unit, 1), new AStack[] {new ComparableStack(ModItems.coil_copper, 4), new ComparableStack(ModItems.coil_tungsten, 2), new OreDictStack(TI.plate(), 6), new ComparableStack(ModItems.nugget_schrabidium, 2), },100); makeRecipe(new ComparableStack(ModItems.drill_titanium, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new OreDictStack(DURA.ingot(), 2), new OreDictStack(DURA.bolt(), 4), new OreDictStack(TI.plate(), 6), },100); - makeRecipe(new ComparableStack(ModItems.entanglement_kit, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new OreDictStack(DURA.ingot(), 4), new OreDictStack(CU.plate(), 24), new ComparableStack(ModBlocks.hadron_coil_gold, 4), new OreDictStack(Fluids.XENON.getDict(1_000))},200); + makeRecipe(new ComparableStack(ModItems.entanglement_kit, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new OreDictStack(DURA.ingot(), 4), new OreDictStack(CU.plate(), 24), new OreDictStack(GOLD.wireDense(), 16), new OreDictStack(Fluids.XENON.getDict(1_000))},200); makeRecipe(new ComparableStack(ModItems.dysfunctional_reactor, 1), new AStack[] {new OreDictStack(STEEL.plate(), 15), new OreDictStack(PB.ingot(), 5), new ComparableStack(ModItems.rod_quad_empty, 10), new OreDictStack("dyeBrown", 3), },200); makeRecipe(new ComparableStack(ModItems.missile_assembly, 1), new AStack[] {new OreDictStack(STEEL.shell(), 2), new OreDictStack(AL.shell(), 2), new OreDictStack(TI.plate(), 8), new OreDictStack(ANY_PLASTIC.ingot(), 8), new ComparableStack(ModItems.rocket_fuel, 8), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BASIC), }, 200); makeRecipe(new ComparableStack(ModItems.warhead_generic_small, 1), new AStack[] {new OreDictStack(TI.plate(), 5), new OreDictStack(STEEL.plate(), 3), new ComparableStack(ModItems.ball_dynamite, 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.CHIP) },100); @@ -98,16 +100,10 @@ public class AssemblerRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModItems.warhead_volcano, 1), new AStack[] {new OreDictStack(TI.plate(), 24), new OreDictStack(STEEL.plate(), 16), new ComparableStack(ModBlocks.det_nuke, 3), new OreDictStack(U238.block(), 24), new ComparableStack(ModItems.circuit, 5, EnumCircuitType.CAPACITOR_BOARD.ordinal()) }, 600); makeRecipe(new ComparableStack(ModItems.missile_stealth, 1), new AStack[] { new OreDictStack(TI.plate(), 20), new OreDictStack(AL.plate(), 20), new OreDictStack(CU.plate(), 10), new OreDictStack(KEY_BLACK, 16), new OreDictStack(ANY_HARDPLASTIC.ingot(), 16), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 4), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.ADVANCED.ordinal()), new OreDictStack(STEEL.bolt(), 32) },1200); makeRecipe(new ComparableStack(ModItems.thruster_nuclear, 1), new AStack[] {new OreDictStack(DURA.ingot(), 32), new OreDictStack(B.ingot(), 8), new OreDictStack(PB.plate(), 16), new ComparableStack(ModItems.pipes_steel) },600); - makeRecipe(new ComparableStack(ModItems.chopper_head, 1), new AStack[] {new ComparableStack(ModBlocks.reinforced_glass, 2), new OreDictStack(CMB.ingot(), 22), new OreDictStack(MAGTUNG.wireFine(), 4), },300); - makeRecipe(new ComparableStack(ModItems.chopper_gun, 1), new AStack[] {new OreDictStack(CMB.plate(), 4), new OreDictStack(CMB.ingot(), 2), new OreDictStack(W.wireFine(), 6), new ComparableStack(ModItems.coil_magnetized_tungsten, 1), new ComparableStack(ModItems.motor, 1), },150); - makeRecipe(new ComparableStack(ModItems.chopper_torso, 1), new AStack[] {new OreDictStack(CMB.ingot(), 26), new OreDictStack(MAGTUNG.wireFine(), 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.chopper_blades, 2), },350); - makeRecipe(new ComparableStack(ModItems.chopper_tail, 1), new AStack[] {new OreDictStack(CMB.plate(), 8), new OreDictStack(CMB.ingot(), 5), new OreDictStack(MAGTUNG.wireFine(), 4), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.chopper_blades, 2), },200); - makeRecipe(new ComparableStack(ModItems.chopper_wing, 1), new AStack[] {new OreDictStack(CMB.plate(), 6), new OreDictStack(CMB.ingot(), 3), new OreDictStack(MAGTUNG.wireFine(), 2), },150); - makeRecipe(new ComparableStack(ModItems.chopper_blades, 1), new AStack[] {new OreDictStack(CMB.plate(), 8), new OreDictStack(STEEL.plate(), 2), new OreDictStack(CMB.ingot(), 2), },200); makeRecipe(new ComparableStack(ModItems.tritium_deuterium_cake, 1), new AStack[] {new ComparableStack(ModItems.cell_deuterium, 6), new ComparableStack(ModItems.cell_tritium, 2), new OreDictStack(LI.ingot(), 4), },150); makeRecipe(new ComparableStack(ModItems.pellet_cluster, 1), new AStack[] {new OreDictStack(STEEL.plate(), 4), new ComparableStack(Blocks.tnt, 1), }, 50); makeRecipe(new ComparableStack(ModItems.pellet_buckshot, 1), new AStack[] {new OreDictStack(PB.nugget(), 6), }, 50); - makeRecipe(new ComparableStack(ModItems.magnetron, 1), new AStack[] {new OreDictStack(ALLOY.plate(), 3), new OreDictStack(W.wireFine(), 1), new ComparableStack(ModItems.coil_tungsten, 1), },100); + makeRecipe(new ComparableStack(ModItems.magnetron, 1), new AStack[] {new OreDictStack(CU.plate(), 3), new OreDictStack(W.wireFine(), 4), }, 40); makeRecipe(new ComparableStack(ModItems.redcoil_capacitor, 1), new AStack[] {new OreDictStack(GOLD.plate(), 3), new ComparableStack(ModItems.fuse, 1), new OreDictStack(ALLOY.wireFine(), 4), new ComparableStack(ModItems.coil_advanced_alloy, 6), new ComparableStack(Blocks.redstone_block, 2), },200); makeRecipe(new ComparableStack(ModItems.part_lithium, 8), new AStack[] {new OreDictStack(ANY_RUBBER.ingot(), 1), new OreDictStack(LI.dust(), 1), },50); makeRecipe(new ComparableStack(ModItems.part_beryllium, 8), new AStack[] {new OreDictStack(ANY_RUBBER.ingot(), 1), new OreDictStack(BE.dust(), 1), },50); @@ -123,7 +119,6 @@ public class AssemblerRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModBlocks.seal_controller, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 3), new OreDictStack(ANY_PLASTIC.ingot(), 4), new OreDictStack(MINGRADE.ingot(), 1), new OreDictStack(REDSTONE.dust(), 4), new ComparableStack(ModBlocks.steel_roof, 5), },100); makeRecipe(new ComparableStack(ModBlocks.machine_centrifuge, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_element, 1), new OreDictStack(ANY_PLASTIC.ingot(), 2), new OreDictStack(STEEL.plate528(), 8), new OreDictStack(CU.plate(), 8), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ANALOG), }, 200); makeRecipe(new ComparableStack(ModBlocks.machine_gascent, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_element, 4), new OreDictStack(ANY_PLASTIC.ingot(), 4), new OreDictStack(DESH.ingot(), 2), new OreDictStack(STEEL.plate528(), 8), new ComparableStack(ModItems.coil_tungsten, 4), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED.ordinal()) }, 300); - makeRecipe(new ComparableStack(ModBlocks.machine_rtg_furnace_off, 1), new AStack[] {new ComparableStack(Blocks.furnace, 1), new ComparableStack(ModItems.rtg_unit, 3), new OreDictStack(PB.plate528(), 6), new OreDictStack(OreDictManager.getReflector(), 4), new OreDictStack(CU.plate(), 2), },150); makeRecipe(new ComparableStack(ModBlocks.machine_diesel, 1), new AStack[] {new OreDictStack(STEEL.shell(), 1), new ComparableStack(ModItems.piston_selenium, 1), new OreDictStack(STEEL.plateCast(), 1), new ComparableStack(ModItems.coil_copper, 4), }, 60); makeRecipe(new ComparableStack(ModBlocks.machine_rtg_grey, 1), new AStack[] {new ComparableStack(ModItems.rtg_unit, 3), new OreDictStack(STEEL.plate528(), 4), new OreDictStack(MINGRADE.wireFine(), 4), new OreDictStack(ANY_PLASTIC.ingot(), 3), },200); makeRecipe(new ComparableStack(ModBlocks.machine_battery, 1), new AStack[] {new OreDictStack(STEEL.plateWelded(), 1), new OreDictStack(S.dust(), 12), new OreDictStack(PB.dust(), 12) },100); @@ -137,13 +132,13 @@ public class AssemblerRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModBlocks.machine_coker, 1), new AStack[] {!exp ? new OreDictStack(STEEL.plateWelded(), 3) : new OreDictStack(STEEL.heavyComp(), 2), new OreDictStack(IRON.ingot(), 16), new OreDictStack(CU.plate528(), 8), new OreDictStack(RUBBER.ingot(), 4), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModBlocks.steel_grate, 4) },200); makeRecipe(new ComparableStack(ModBlocks.machine_refinery, 1), new AStack[] {!exp ? new OreDictStack(STEEL.plateWelded(), 3) : new OreDictStack(STEEL.heavyComp(), 1), new OreDictStack(CU.plate528(), 16), new OreDictStack(STEEL.shell(), 6), new OreDictStack(STEEL.pipe(), 12), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.ANALOG) },350); makeRecipe(new ComparableStack(ModBlocks.machine_epress, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new OreDictStack(ANY_RUBBER.ingot(), 4), new ComparableStack(ModItems.part_generic, 2, EnumPartType.PISTON_HYDRAULIC.ordinal()), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BASIC) }, 100); - makeRecipe(new ComparableStack(ModBlocks.machine_chemplant, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 12), new OreDictStack(CU.plate528(), 6), new ComparableStack(ModItems.tank_steel, 4), new ComparableStack(ModItems.coil_tungsten, 3), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ANALOG), new ComparableStack(ModItems.plate_polymer, 8), },200); + makeRecipe(new ComparableStack(ModBlocks.machine_chemical_plant, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(CU.pipe(), 2), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.coil_tungsten, 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ANALOG) }, 200); makeRecipe(new ComparableStack(ModBlocks.machine_crystallizer, 1), new AStack[] {new OreDictStack(STEEL.plateWelded(), 2), new OreDictStack(TI.shell(), 3), new OreDictStack(DESH.ingot(), 4), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit, 2, EnumCircuitType.BASIC), },200); makeRecipe(new ComparableStack(ModBlocks.machine_fluidtank, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new OreDictStack(STEEL.plate528(), 6), new OreDictStack(STEEL.shell(), 4), new OreDictStack(ANY_TAR.any(), 4), },150); makeRecipe(new ComparableStack(ModBlocks.machine_bat9000, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 16), new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 2), new ComparableStack(ModBlocks.steel_scaffold, 16), new OreDictStack(ANY_TAR.any(), 16), },150); makeRecipe(new ComparableStack(ModBlocks.machine_orbus, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 12), new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 8), new OreDictStack(BIGMT.plate(), 12), new ComparableStack(ModItems.coil_advanced_alloy, 12), new ComparableStack(ModItems.battery_sc_polonium, 1) }, 200); makeRecipe(new ComparableStack(ModBlocks.machine_mining_laser, 1), new AStack[] {new ComparableStack(ModItems.tank_steel, 3), !exp ? new OreDictStack(STEEL.plate528(), 16) : new OreDictStack(STEEL.heavyComp(), 3), new ComparableStack(ModItems.crystal_redstone, 3), new ComparableStack(Items.diamond, 3), new OreDictStack(ANY_PLASTIC.ingot(), 4), new ComparableStack(ModItems.motor, 3), !exp ? new OreDictStack(DURA.ingot(), 4) : new OreDictStack(DESH.heavyComp(), 1), new OreDictStack(DURA.bolt(), 8), new ComparableStack(ModBlocks.machine_battery, 3), },400); - makeRecipe(new ComparableStack(ModBlocks.machine_turbofan, 1), new AStack[] {!exp ? new OreDictStack(STEEL.shell(), 3) : new OreDictStack(STEEL.heavyComp(), 1), new OreDictStack(TI.shell(), 3), new ComparableStack(ModItems.turbine_tungsten, 1), new ComparableStack(ModItems.turbine_titanium, 7), new OreDictStack(DURA.pipe(), 4), new OreDictStack(MINGRADE.ingot(), 12), new OreDictStack(MINGRADE.wireFine(), 24), },500); + makeRecipe(new ComparableStack(ModBlocks.machine_turbofan, 1), new AStack[] {!exp ? new OreDictStack(TI.shell(), 8) : new OreDictStack(TI.heavyComp(), 1), new OreDictStack(DURA.pipe(), 4), new OreDictStack(ANY_PLASTIC.ingot(), 12), new ComparableStack(ModItems.turbine_tungsten, 1), new OreDictStack(GOLD.wireDense(), 12), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.BASIC.ordinal()) }, 300); makeRecipe(new ComparableStack(ModBlocks.machine_turbinegas, 1), new AStack[] {!exp ? new OreDictStack(STEEL.shell(), 10) : new OreDictStack(STEEL.heavyComp(), 2), new OreDictStack(GOLD.wireDense(), 12), new OreDictStack(DURA.pipe(), 4), new ComparableStack(ModBlocks.steel_scaffold, 8), new OreDictStack(STEEL.pipe(), 4), new ComparableStack(ModItems.turbine_tungsten, 3), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.ingot_rubber, 4), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.BASIC.ordinal())}, 600); makeRecipe(new ComparableStack(ModBlocks.machine_teleporter, 1), new AStack[] {new OreDictStack(TI.ingot(), 8), new OreDictStack(ALLOY.plate528(), 12), new OreDictStack(GOLD.wireFine(), 32), new ComparableStack(ModItems.entanglement_kit, 1), new ComparableStack(ModBlocks.machine_battery, 1) },300); makeRecipe(new ComparableStack(ModBlocks.machine_schrabidium_transmutator, 1), new AStack[] {new OreDictStack(MAGTUNG.ingot(), 1), !exp ? new OreDictStack(TI.ingot(), 24) : new OreDictStack(TI.heavyComp(), 2), !exp ? new OreDictStack(ALLOY.plate(), 18) : new OreDictStack(ALLOY.heavyComp(), 1), new OreDictStack(STEEL.plateWelded(), 12), new ComparableStack(ModItems.plate_desh, 6), new OreDictStack(RUBBER.ingot(), 8), new ComparableStack(ModBlocks.machine_battery, 5), new ComparableStack(ModItems.circuit, 2, EnumCircuitType.ADVANCED.ordinal()), },500); @@ -154,6 +149,7 @@ public class AssemblerRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModBlocks.watz_element, 3), new AStack[] {new OreDictStack(STEEL.plateCast(), 2), new OreDictStack(ZR.ingot(), 2), new OreDictStack(BIGMT.ingot(), 2), new OreDictStack(ANY_HARDPLASTIC.ingot(), 4)},200); makeRecipe(new ComparableStack(ModBlocks.watz_cooler, 3), new AStack[] {new OreDictStack(STEEL.plateCast(), 2), new OreDictStack(CU.plateCast(), 4), new OreDictStack(RUBBER.ingot(), 2), }, 200); makeRecipe(new ComparableStack(ModBlocks.watz_end, 3), new AStack[] {new OreDictStack(ANY_RESISTANTALLOY.plateWelded()), new OreDictStack(B.ingot(), 3), new OreDictStack(STEEL.plateWelded(), 2), }, 100); + makeRecipe(new ComparableStack(ModBlocks.mine_naval, 1), new AStack[] {new ComparableStack(ModItems.sphere_steel, 1), new ComparableStack(ModItems.pipes_steel, 1), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED), new ComparableStack(ModBlocks.block_semtex, 5)},300); makeRecipe(new ComparableStack(ModBlocks.nuke_gadget, 1), new AStack[] {new ComparableStack(ModItems.sphere_steel, 1), new ComparableStack(ModItems.fins_flat, 2), new ComparableStack(ModItems.pedestal_steel, 1), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.CONTROLLER), new OreDictStack("dyeGray", 8), },300); makeRecipe(new ComparableStack(ModBlocks.nuke_boy, 1), new AStack[] {new OreDictStack(STEEL.shell(), 2), new ComparableStack(ModItems.fins_small_steel, 1), new ComparableStack(ModItems.circuit, 2, EnumCircuitType.CONTROLLER), new OreDictStack("dyeBlue", 4), },300); makeRecipe(new ComparableStack(ModBlocks.nuke_man, 1), new AStack[] {new ComparableStack(ModItems.sphere_steel, 1), new OreDictStack(STEEL.shell(), 2), new ComparableStack(ModItems.fins_big_steel, 1), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.CONTROLLER), new OreDictStack("dyeYellow", 6), },300); @@ -165,13 +161,9 @@ public class AssemblerRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModBlocks.nuke_n2, 1), new AStack[] {new OreDictStack(STEEL.shell(), 6), new OreDictStack(MAGTUNG.wireFine(), 12), new ComparableStack(ModItems.circuit, 2, EnumCircuitType.CONTROLLER), new OreDictStack("dyeBlack", 8), },300); makeRecipe(new ComparableStack(ModBlocks.nuke_fstbmb, 1), new AStack[] {new ComparableStack(ModItems.sphere_steel, 1), new OreDictStack(TI.shell(), 6), new ComparableStack(ModItems.fins_big_steel, 1), new ComparableStack(ModItems.powder_magic, 8), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.CONTROLLER_ADVANCED), new OreDictStack("dyeGray", 8), },600, ModItems.journal_pip, ModItems.journal_bj); makeRecipe(new ComparableStack(ModBlocks.nuke_custom, 1), new AStack[] {new OreDictStack(STEEL.shell(), 2), new ComparableStack(ModItems.fins_small_steel, 1), new ComparableStack(ModItems.circuit, 8, EnumCircuitType.CONTROLLER_ADVANCED), new OreDictStack("dyeGray", 4), },300); - makeRecipe(new ComparableStack(ModBlocks.float_bomb, 1), new AStack[] {new OreDictStack(TI.plate(), 12), new ComparableStack(ModItems.levitation_unit, 1), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED), new OreDictStack(GOLD.wireFine(), 6), },250); + makeRecipe(new ComparableStack(ModBlocks.float_bomb, 1), new AStack[] {new OreDictStack(TI.plate(), 12), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.ADVANCED), new OreDictStack(GOLD.wireDense(), 8), },250); makeRecipe(new ComparableStack(ModBlocks.therm_endo, 1), new AStack[] {new OreDictStack(TI.plate(), 12), new ComparableStack(ModItems.powder_ice, 32), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED), new ComparableStack(ModItems.coil_gold, 4), },250); makeRecipe(new ComparableStack(ModBlocks.therm_exo, 1), new AStack[] {new OreDictStack(TI.plate(), 12), new OreDictStack(P_RED.dust(), 32), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED), new ComparableStack(ModItems.coil_gold, 4), },250); - makeRecipe(new ComparableStack(ModItems.spawn_chopper, 1), new AStack[] {new ComparableStack(ModItems.chopper_blades, 5), new ComparableStack(ModItems.chopper_gun, 1), new ComparableStack(ModItems.chopper_head, 1), new ComparableStack(ModItems.chopper_tail, 1), new ComparableStack(ModItems.chopper_torso, 1), new ComparableStack(ModItems.chopper_wing, 2), },300); - makeRecipe(new ComparableStack(ModItems.gun_defabricator, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new OreDictStack(ANY_PLASTIC.ingot(), 8), new OreDictStack(IRON.plate(), 5), new ComparableStack(ModItems.mechanism_special, 3), new ComparableStack(Items.diamond, 1), new ComparableStack(ModItems.plate_dalekanium, 3), },200); - makeRecipe(new ComparableStack(ModItems.gun_osipr_ammo, 24), new AStack[] {new OreDictStack(STEEL.plate(), 2), new OreDictStack(REDSTONE.dust(), 1), new ComparableStack(Items.glowstone_dust, 1), },50); - makeRecipe(new ComparableStack(ModItems.gun_osipr_ammo2, 1), new AStack[] {new OreDictStack(CMB.plate(), 4), new OreDictStack(REDSTONE.dust(), 7), new ComparableStack(ModItems.powder_power, 3), },200); makeRecipe(new ComparableStack(ModItems.grenade_fire, 1), new AStack[] {new ComparableStack(ModItems.grenade_frag, 1), new OreDictStack(P_RED.dust(), 1), new OreDictStack(CU.plate(), 2), },150); makeRecipe(new ComparableStack(ModItems.grenade_shrapnel, 1), new AStack[] {new ComparableStack(ModItems.grenade_frag, 1), new ComparableStack(ModItems.pellet_buckshot, 1), new OreDictStack(STEEL.plate(), 2), },150); makeRecipe(new ComparableStack(ModItems.grenade_cluster, 1), new AStack[] {new ComparableStack(ModItems.grenade_frag, 1), new ComparableStack(ModItems.pellet_cluster, 1), new OreDictStack(STEEL.plate(), 2), },200); @@ -179,7 +171,7 @@ public class AssemblerRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModItems.grenade_electric, 1), new AStack[] {new ComparableStack(ModItems.grenade_generic, 1), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.CAPACITOR.ordinal()), new OreDictStack(GOLD.plate(), 2), },200); makeRecipe(new ComparableStack(ModItems.grenade_pulse, 4), new AStack[] {new OreDictStack(STEEL.plate(), 1), new OreDictStack(IRON.plate(), 3), new OreDictStack(MINGRADE.wireFine(), 6), new ComparableStack(Items.diamond, 1), },300); makeRecipe(new ComparableStack(ModItems.grenade_plasma, 2), new AStack[] {new OreDictStack(STEEL.plate(), 3), new OreDictStack(ALLOY.plate(), 1), new ComparableStack(ModItems.coil_advanced_torus, 1), new ComparableStack(ModItems.cell_deuterium, 1), new ComparableStack(ModItems.cell_tritium, 1), },300); - makeRecipe(new ComparableStack(ModItems.grenade_tau, 2), new AStack[] {new OreDictStack(PB.plate(), 3), new OreDictStack(ALLOY.plate(), 1), new ComparableStack(ModItems.coil_advanced_torus, 1), new ComparableStack(ModItems.gun_xvl1456_ammo, 1), },300); + makeRecipe(new ComparableStack(ModItems.grenade_tau, 2), new AStack[] {new OreDictStack(PB.plate(), 3), new OreDictStack(ALLOY.plate(), 1), new ComparableStack(ModItems.coil_advanced_torus, 1), new ComparableStack(ModItems.ammo_standard, 1, EnumAmmo.TAU_URANIUM), },300); makeRecipe(new ComparableStack(ModItems.grenade_schrabidium, 1), new AStack[] {new ComparableStack(ModItems.grenade_flare, 1), new OreDictStack(SA326.dust(), 1), new OreDictStack(OreDictManager.getReflector(), 2), },300); makeRecipe(new ComparableStack(ModItems.grenade_nuclear, 1), new AStack[] {new OreDictStack(IRON.plate(), 1), new OreDictStack(STEEL.plate(), 1), new OreDictStack(PU239.nugget(), 2), new OreDictStack(MINGRADE.wireFine(), 2), },200); makeRecipe(new ComparableStack(ModItems.grenade_zomg, 1), new AStack[] {new ComparableStack(ModItems.plate_paa, 3), new OreDictStack(OreDictManager.getReflector(), 1), new ComparableStack(ModItems.coil_magnetized_tungsten, 3), new ComparableStack(ModItems.powder_power, 3), },300); @@ -191,7 +183,7 @@ public class AssemblerRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModItems.boy_shielding, 1), new AStack[] {new OreDictStack(OreDictManager.getReflector(), 12), new OreDictStack(STEEL.plate528(), 4), },150); makeRecipe(new ComparableStack(ModItems.boy_target, 1), new AStack[] {new OreDictStack(U235.nugget(), 18), },200); makeRecipe(new ComparableStack(ModItems.boy_bullet, 1), new AStack[] {new OreDictStack(U235.nugget(), 9), },100); - makeRecipe(new ComparableStack(ModItems.boy_propellant, 1), new AStack[] {new ComparableStack(ModItems.cordite, 8), new OreDictStack(IRON.plate528(), 8), new OreDictStack(AL.plate528(), 4), new OreDictStack(MINGRADE.wireFine(), 4), },100); + makeRecipe(new ComparableStack(ModItems.boy_propellant, 1), new AStack[] {new ComparableStack(ModItems.cordite, 8), new OreDictStack(IRON.plate528(), 8), new OreDictStack(AL.plate528(), 4), new OreDictStack(MINGRADE.wireFine(), 4), },100); makeRecipe(new ComparableStack(ModItems.boy_igniter, 1), new AStack[] {new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 1), new OreDictStack(AL.plate528(), 6), new OreDictStack(STEEL.plate528(), 1), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED.ordinal()), new OreDictStack(MINGRADE.wireFine(), 3), },150); //HE for gating purposes makeRecipe(new ComparableStack(ModItems.man_igniter, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 6), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED.ordinal()), new OreDictStack(MINGRADE.wireFine(), 9), },150); makeRecipe(new ComparableStack(ModItems.man_core, 1), new AStack[] {new OreDictStack(PU239.nugget(), 8), new OreDictStack(BE.nugget(), 2), },250); @@ -268,7 +260,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.circuit, 4, EnumCircuitType.CONTROLLER), new ComparableStack(ModItems.part_generic, 32, EnumPartType.LDE) },600); - + makeRecipe(new ComparableStack(ModItems.missile_soyuz_lander, 1), new AStack[] { new OreDictStack(AL.shell(), 4), new OreDictStack(RUBBER.ingot(), 16), @@ -277,7 +269,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.circuit, 3, EnumCircuitType.CONTROLLER_ADVANCED), new ComparableStack(ModItems.part_generic, 12, EnumPartType.LDE) },600, ModItems.journal_bj); - + makeRecipe(new ComparableStack(ModItems.sat_base, 1), new AStack[] { new OreDictStack(RUBBER.ingot(), 12), new OreDictStack(TI.shell(), 3), @@ -362,8 +354,8 @@ public class AssemblerRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModItems.upgrade_overdrive_1, 1), new AStack[] { new ComparableStack(ModItems.upgrade_speed_3, 1), new ComparableStack(ModItems.upgrade_effect_3, 1), - new OreDictStack(DESH.ingot(), 16), - new ComparableStack(ModItems.crystal_lithium, 4), + new OreDictStack(BIGMT.ingot(), 16), + new OreDictStack(ANY_HARDPLASTIC.ingot(), 16), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.ADVANCED), }, 200); makeRecipe(new ComparableStack(ModItems.upgrade_overdrive_2, 1), new AStack[] { @@ -371,18 +363,18 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.upgrade_speed_3, 1), new ComparableStack(ModItems.upgrade_effect_3, 1), new OreDictStack(BIGMT.ingot(), 16), - new ComparableStack(ModItems.crystal_lithium, 8), + new ComparableStack(ModItems.ingot_cft, 8), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CAPACITOR_BOARD), }, 300); makeRecipe(new ComparableStack(ModItems.upgrade_overdrive_3, 1), new AStack[] { new ComparableStack(ModItems.upgrade_overdrive_2, 1), new ComparableStack(ModItems.upgrade_speed_3, 1), new ComparableStack(ModItems.upgrade_effect_3, 1), - new OreDictStack(STAR.ingot(), 16), - new ComparableStack(ModItems.crystal_lithium, 16), + new OreDictStack(ANY_BISMOIDBRONZE.ingot(), 16), + new ComparableStack(ModItems.ingot_cft, 16), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BISMOID), }, 500); - + makeRecipe(new ComparableStack(ModBlocks.machine_fensu, 1), new AStack[] { new ComparableStack(ModItems.ingot_electronium, 32), new ComparableStack(ModBlocks.machine_dineutronium_battery, 16), @@ -405,13 +397,10 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BISMOID), }, 600); makeRecipe(new ComparableStack(ModBlocks.machine_combustion_engine, 1), new AStack[] { - new OreDictStack(STEEL.plate528(), 12), - new OreDictStack(IRON.plate(), 8), - new OreDictStack(CU.ingot(), 8), - new OreDictStack(GOLD.wireDense(), 6), - new ComparableStack(ModItems.tank_steel, 2), - new OreDictStack(W.bolt(), 16), - new OreDictStack(MINGRADE.wireFine(), 24), + new OreDictStack(STEEL.plate528(), 16), + new OreDictStack(CU.ingot(), 12), + new OreDictStack(GOLD.wireDense(), 8), + new ComparableStack(ModItems.tank_steel, 4), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BASIC) }, 300); @@ -481,7 +470,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.drillbit, 1, EnumDrillType.STEEL.ordinal()), new OreDictStack(DIAMOND.dust(), 16) }, 100); - + makeRecipe(new ComparableStack(ModItems.drillbit, 1, EnumDrillType.HSS.ordinal()), new AStack[] { new OreDictStack(DURA.ingot(), 12), new OreDictStack(ANY_PLASTIC.ingot(), 12), @@ -491,7 +480,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.drillbit, 1, EnumDrillType.HSS.ordinal()), new OreDictStack(DIAMOND.dust(), 24) }, 100); - + makeRecipe(new ComparableStack(ModItems.drillbit, 1, EnumDrillType.DESH.ordinal()), new AStack[] { new OreDictStack(DESH.ingot(), 16), new OreDictStack(RUBBER.ingot(), 12), @@ -501,7 +490,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.drillbit, 1, EnumDrillType.DESH.ordinal()), new OreDictStack(DIAMOND.dust(), 32) }, 100); - + makeRecipe(new ComparableStack(ModItems.drillbit, 1, EnumDrillType.TCALLOY.ordinal()), new AStack[] { new OreDictStack(ANY_RESISTANTALLOY.ingot(), 20), new OreDictStack(DESH.ingot(), 12), @@ -511,7 +500,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.drillbit, 1, EnumDrillType.TCALLOY.ordinal()), new OreDictStack(DIAMOND.dust(), 48) }, 100); - + makeRecipe(new ComparableStack(ModItems.drillbit, 1, EnumDrillType.FERRO.ordinal()), new AStack[] { new OreDictStack(FERRO.ingot(), 24), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 12), @@ -521,7 +510,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.drillbit, 1, EnumDrillType.FERRO.ordinal()), new OreDictStack(DIAMOND.dust(), 56) }, 100); - + makeRecipe(new ComparableStack(ModBlocks.machine_large_turbine, 1), new AStack[] { !exp ? new OreDictStack(STEEL.plate528(), 12) : new OreDictStack(STEEL.heavyComp(), 1), new OreDictStack(RUBBER.ingot(), 4), @@ -543,7 +532,7 @@ public class AssemblerRecipes extends SerializableRecipe { new OreDictStack(DURA.pipe(), 16), new OreDictStack(STEEL.pipe(), 16) }, 600); - + makeRecipe(new ComparableStack(ModBlocks.machine_condenser_powered, 1), new AStack[] { !exp ? new OreDictStack(STEEL.plateWelded(), 8) : new OreDictStack(STEEL.heavyComp(), 3), new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 4), @@ -553,18 +542,9 @@ public class AssemblerRecipes extends SerializableRecipe { new OreDictStack(Fluids.LUBRICANT.getDict(1_000), 4) }, 600); - makeRecipe(new ComparableStack(ModItems.pellet_chlorophyte, 2), new AStack[] { - new ComparableStack(ModItems.powder_chlorophyte, 1), - new OreDictStack(PB.nugget(), 12), - }, 50); - makeRecipe(new ComparableStack(ModItems.pellet_canister, 2), new AStack[] { - new OreDictStack(IRON.ingot(), 3), - }, 50); - makeRecipe(new ComparableStack(ModBlocks.machine_cyclotron, 1), new AStack[] { new ComparableStack(ModBlocks.machine_lithium_battery, 3), - new ComparableStack(ModBlocks.hadron_coil_neodymium, 8), - new OreDictStack(ALLOY.wireDense(), 16), + new OreDictStack(ND.wireDense(), 32), !exp ? new OreDictStack(STEEL.ingot(), 16) : new OreDictStack(STEEL.heavyComp(), 3), new OreDictStack(STEEL.plate528(), 32), new OreDictStack(AL.plate528(), 32), @@ -573,7 +553,7 @@ public class AssemblerRecipes extends SerializableRecipe { new OreDictStack(CU.plateCast(), 8), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BASIC) }, 600); - + makeRecipe(new ComparableStack(ModBlocks.reactor_zirnox, 1), new AStack[] { !exp ? new OreDictStack(STEEL.shell(), 4) : new OreDictStack(STEEL.heavyComp(), 1), new OreDictStack(STEEL.pipe(), 8), @@ -585,40 +565,6 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BASIC) }, 600); - makeRecipe(new ComparableStack(ModItems.gun_zomg, 1), new AStack[] { - new ComparableStack(ModItems.crystal_xen, 2), - new ComparableStack(ModItems.singularity_counter_resonant, 1), - new ComparableStack(ModItems.mechanism_special, 3), - new ComparableStack(ModItems.plate_paa, 12), - new OreDictStack(OreDictManager.getReflector(), 8), - new ComparableStack(ModItems.coil_magnetized_tungsten, 5), - new ComparableStack(ModItems.powder_magic, 4), - new OreDictStack(ASBESTOS.ingot(), 8) - }, 200); - - makeRecipe(new ComparableStack(ModItems.ammo_75bolt, 2, ItemAmmoEnums.Ammo75Bolt.STOCK.ordinal()), new AStack[] { - new OreDictStack(STEEL.plate(), 4), - new OreDictStack(ANY_PLASTICEXPLOSIVE.ingot(), 2), - new OreDictStack(ANY_HARDPLASTIC.ingot(), 2), - new ComparableStack(ModItems.cordite, 3), - new OreDictStack(U238.ingot(), 1) - }, 60); - - makeRecipe(new ComparableStack(ModItems.ammo_75bolt, 2, ItemAmmoEnums.Ammo75Bolt.INCENDIARY.ordinal()), new AStack[] { - new OreDictStack(STEEL.plate(), 4), - new OreDictStack(ANY_PLASTICEXPLOSIVE.ingot(), 2), - new OreDictStack(ANY_HARDPLASTIC.ingot(), 2), - new ComparableStack(ModItems.cordite, 3), - new OreDictStack(P_WHITE.ingot(), 3) - }, 60); - - makeRecipe(new ComparableStack(ModItems.ammo_75bolt, 2, ItemAmmoEnums.Ammo75Bolt.HE.ordinal()), new AStack[] { - new OreDictStack(STEEL.plate(), 4), - new OreDictStack(ANY_PLASTICEXPLOSIVE.ingot(), 2), - new OreDictStack(ANY_HARDPLASTIC.ingot(), 5), - new ComparableStack(ModItems.cordite, 5) - }, 60); - makeRecipe(new ComparableStack(ModItems.spawn_worm, 1), new AStack[] { new OreDictStack(TI.block(), 75), new ComparableStack(ModItems.motor, 75), @@ -638,7 +584,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.circuit, 64, EnumCircuitType.CONTROLLER_QUANTUM), new ComparableStack(ModItems.coin_ufo, 1), }, 1200, ModItems.journal_bj); - + makeRecipe(new ComparableStack(ModBlocks.vault_door, 1), new AStack[] { new OreDictStack(STEEL.ingot(), 32), new OreDictStack(W.ingot(), 32), @@ -649,7 +595,7 @@ public class AssemblerRecipes extends SerializableRecipe { new OreDictStack(DURA.bolt(), 16), new ComparableStack(ModItems.motor, 3), }, 200); - + makeRecipe(new ComparableStack(ModBlocks.blast_door, 1), new AStack[] { new OreDictStack(STEEL.ingot(), 8), new OreDictStack(W.ingot(), 8), @@ -660,7 +606,7 @@ public class AssemblerRecipes extends SerializableRecipe { new OreDictStack(DURA.bolt(), 4), new ComparableStack(ModItems.motor, 1), }, 300); - + makeRecipe(new ComparableStack(ModBlocks.fire_door, 1), new AStack[] { new OreDictStack(STEEL.ingot(), 8), new OreDictStack(STEEL.plate(), 8), @@ -672,34 +618,31 @@ public class AssemblerRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModBlocks.turret_chekhov, 1), new AStack[] { new ComparableStack(ModBlocks.machine_battery, 1), new OreDictStack(STEEL.ingot(), 16), - new OreDictStack(DURA.ingot(), 4), new ComparableStack(ModItems.motor, 3), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED), new OreDictStack(STEEL.pipe(), 3), - new ComparableStack(ModItems.mechanism_rifle_2, 1), + new OreDictStack(GUNMETAL.mechanism(), 3), new ComparableStack(ModBlocks.crate_iron, 1), new ComparableStack(ModItems.crt_display, 1) }, 200); makeRecipe(new ComparableStack(ModBlocks.turret_friendly, 1), new AStack[] { new ComparableStack(ModBlocks.machine_battery, 1), new OreDictStack(STEEL.ingot(), 16), - new OreDictStack(DURA.ingot(), 4), new ComparableStack(ModItems.motor, 3), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BASIC), new OreDictStack(STEEL.pipe(), 3), - new ComparableStack(ModItems.mechanism_rifle_1, 1), + new OreDictStack(GUNMETAL.mechanism(), 1), new ComparableStack(ModBlocks.crate_iron, 1), new ComparableStack(ModItems.crt_display, 1) }, 200); makeRecipe(new ComparableStack(ModBlocks.turret_jeremy, 1), new AStack[] { new ComparableStack(ModBlocks.machine_battery, 1), new OreDictStack(STEEL.ingot(), 16), - new OreDictStack(DURA.ingot(), 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED), new ComparableStack(ModItems.motor_desh, 1), new OreDictStack(STEEL.shell(), 3), - new ComparableStack(ModItems.mechanism_launcher_2, 1), + new OreDictStack(WEAPONSTEEL.mechanism(), 3), new ComparableStack(ModBlocks.crate_steel, 1), new ComparableStack(ModItems.crt_display, 1) }, 200); @@ -711,42 +654,39 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED), new ComparableStack(ModItems.motor_desh, 1), new OreDictStack(CU.ingot(), 32), - new ComparableStack(ModItems.mechanism_special, 1), + new OreDictStack(BIGMT.mechanism(), 3), new ComparableStack(ModItems.battery_lithium, 1), new ComparableStack(ModItems.crt_display, 1) }, 200); makeRecipe(new ComparableStack(ModBlocks.turret_richard, 1), new AStack[] { new ComparableStack(ModBlocks.machine_battery, 1), new OreDictStack(STEEL.ingot(), 16), - new OreDictStack(DURA.ingot(), 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED), new OreDictStack(ANY_PLASTIC.ingot(), 2), new OreDictStack(STEEL.shell(), 8), - new ComparableStack(ModItems.mechanism_launcher_2, 1), + new OreDictStack(WEAPONSTEEL.mechanism(), 3), new ComparableStack(ModBlocks.crate_steel, 1), new ComparableStack(ModItems.crt_display, 1) }, 200); makeRecipe(new ComparableStack(ModBlocks.turret_howard, 1), new AStack[] { new ComparableStack(ModBlocks.machine_battery, 1), new OreDictStack(STEEL.ingot(), 24), - new OreDictStack(DURA.ingot(), 6), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.motor_desh, 2), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.ADVANCED), new OreDictStack(STEEL.pipe(), 10), - new ComparableStack(ModItems.mechanism_rifle_2, 2), + new OreDictStack(WEAPONSTEEL.mechanism(), 3), new ComparableStack(ModBlocks.crate_steel, 1), new ComparableStack(ModItems.crt_display, 1) }, 200); makeRecipe(new ComparableStack(ModBlocks.turret_maxwell, 1), new AStack[] { new ComparableStack(ModBlocks.machine_lithium_battery, 1), new OreDictStack(STEEL.ingot(), 24), - new OreDictStack(DURA.ingot(), 6), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit, 2, EnumCircuitType.ADVANCED), new OreDictStack(STEEL.pipe(), 4), - new ComparableStack(ModItems.mechanism_special, 3), + new OreDictStack(BIGMT.mechanism(), 3), new ComparableStack(ModItems.magnetron, 16), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 8), new ComparableStack(ModItems.crt_display, 1) @@ -754,37 +694,34 @@ public class AssemblerRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModBlocks.turret_fritz, 1), new AStack[] { new ComparableStack(ModBlocks.machine_battery, 1), new OreDictStack(STEEL.ingot(), 16), - new OreDictStack(DURA.ingot(), 4), new ComparableStack(ModItems.motor, 3), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED), new OreDictStack(STEEL.pipe(), 8), - new ComparableStack(ModItems.mechanism_launcher_1, 1), + new OreDictStack(GUNMETAL.mechanism(), 3), new ComparableStack(ModBlocks.barrel_steel, 1), new ComparableStack(ModItems.crt_display, 1) }, 200); makeRecipe(new ComparableStack(ModBlocks.turret_arty, 1), new AStack[] { new ComparableStack(ModBlocks.machine_battery, 1), new OreDictStack(STEEL.ingot(), 128), - new OreDictStack(DURA.ingot(), 32), new ComparableStack(ModItems.motor_desh, 5), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.ADVANCED), new OreDictStack(STEEL.pipe(), 12), - new ComparableStack(ModItems.mechanism_launcher_2, 3), + new OreDictStack(WEAPONSTEEL.mechanism(), 16), new ComparableStack(ModBlocks.machine_radar, 1), new ComparableStack(ModItems.crt_display, 1) }, 200); makeRecipe(new ComparableStack(ModBlocks.turret_himars, 1), new AStack[] { new ComparableStack(ModBlocks.machine_battery, 1), new OreDictStack(STEEL.ingot(), 128), - new OreDictStack(DURA.ingot(), 64), new OreDictStack(ANY_PLASTIC.ingot(), 64), new ComparableStack(ModItems.motor_desh, 5), new ComparableStack(ModItems.circuit, 8, EnumCircuitType.ADVANCED), - new ComparableStack(ModItems.mechanism_launcher_2, 5), + new OreDictStack(BIGMT.mechanism(), 8), new ComparableStack(ModBlocks.machine_radar, 1), new ComparableStack(ModItems.crt_display, 1) }, 300); - + makeRecipe(new ComparableStack(ModItems.ammo_himars, 1, ItemAmmoHIMARS.SMALL), new AStack[] { new OreDictStack(STEEL.plate(), 24), new OreDictStack(ANY_PLASTIC.ingot(), 12), @@ -850,7 +787,19 @@ public class AssemblerRecipes extends SerializableRecipe { new OreDictStack(Fluids.PEROXIDE.getDict(1_000), 16), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED), }, 100); - + + makeRecipe(new ComparableStack(ModItems.ammo_standard, 6, EnumAmmo.BMG50_SM), new AStack[] { + new ComparableStack(ModItems.casing, 1, EnumCasingType.LARGE_STEEL), + new OreDictStack(ANY_SMOKELESS.dust(), 6), + new OreDictStack(STAR.ingot(), 3), + }, 100, ModItems.journal_silver); + makeRecipe(new ComparableStack(ModItems.ammo_secret, 12, EnumAmmoSecret.BMG50_BLACK), new AStack[] { + new ComparableStack(ModItems.casing, 2, EnumCasingType.LARGE_STEEL), + new OreDictStack(ANY_SMOKELESS.dust(), 24), + new ComparableStack(ModItems.item_secret, 1, EnumSecretType.SELENIUM_STEEL), + new ComparableStack(ModItems.black_diamond), + }, 1200, ModItems.journal_silver); + makeRecipe(new ComparableStack(ModBlocks.machine_silex, 1), new AStack[] { new ComparableStack(ModBlocks.glass_quartz, 16), !exp ? new OreDictStack(STEEL.plateCast(), 8) : new OreDictStack(STEEL.heavyComp(), 1), @@ -866,14 +815,14 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CAPACITOR), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BASIC) }, 400); - + makeRecipe(new ComparableStack(ModBlocks.rbmk_blank, 1), new AStack[] { new ComparableStack(ModBlocks.concrete_asbestos, 4), !exp ? new OreDictStack(STEEL.plate528(), 4) : new OreDictStack(STEEL.plateCast(), 16), new OreDictStack(CU.ingot(), 4), new ComparableStack(ModItems.plate_polymer, 4) }, 100); - + makeRecipe(new ComparableStack(ModItems.multitool_hit, 1), new AStack[] { new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), new OreDictStack(STEEL.plate(), 4), @@ -881,7 +830,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.motor, 4), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CAPACITOR_BOARD) }, 100); - + makeRecipe(new ComparableStack(ModBlocks.machine_assemfac, 1), new AStack[] { !exp ? new OreDictStack(STEEL.ingot(), 48) : new OreDictStack(STEEL.heavyComp(), 2), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 8), @@ -893,7 +842,7 @@ public class AssemblerRecipes extends SerializableRecipe { new OreDictStack(STEEL.pipe(), 8), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BASIC) }, 400); - + makeRecipe(new ComparableStack(ModBlocks.machine_chemfac, 1), new AStack[] { !exp ? new OreDictStack(STEEL.ingot(), 48) : new OreDictStack(STEEL.heavyComp(), 2), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 8), @@ -906,7 +855,18 @@ public class AssemblerRecipes extends SerializableRecipe { new OreDictStack(STEEL.pipe(), 8), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BASIC) }, 400); - + + makeRecipe(new ComparableStack(ModBlocks.machine_chemical_factory, 1), new AStack[] { + new OreDictStack(DURA.ingot(), 16), + new OreDictStack(ANY_RESISTANTALLOY.ingot(), 8), + new OreDictStack(RUBBER.ingot(), 16), + new OreDictStack(STEEL.shell(), 12), + new OreDictStack(CU.pipe(), 8), + new ComparableStack(ModItems.motor_desh, 4), + new ComparableStack(ModItems.coil_tungsten, 16), + new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BASIC) + }, 400); + makeRecipe(new ComparableStack(ModItems.missile_shuttle, 1), new AStack[] { new ComparableStack(ModItems.missile_generic, 2), new ComparableStack(ModItems.missile_strong, 1), @@ -918,7 +878,7 @@ public class AssemblerRecipes extends SerializableRecipe { new OreDictStack(KEY_ANYPANE, 6), new OreDictStack(STEEL.plate(), 4), }, 100); - + makeRecipe(new ComparableStack(ModBlocks.machine_difurnace_rtg_off, 1), new AStack[] { new ComparableStack(ModBlocks.machine_difurnace_off, 1), new ComparableStack(ModItems.rtg_unit, 3), @@ -957,6 +917,14 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.motor_desh, 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BISMOID) }, 200); + makeRecipe(new ComparableStack(ModBlocks.machine_pyrooven, 1), new AStack[] { + !exp ? new OreDictStack(STEEL.plateWelded(), 16) : new OreDictStack(STEEL.heavyComp(), 4), + new OreDictStack(ANY_HARDPLASTIC.ingot(), 16), + new ComparableStack(ModItems.ingot_cft, 4), + new OreDictStack(CU.pipe(), 12), + new ComparableStack(ModItems.motor_desh, 1), + new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BISMOID) + }, 200); makeRecipe(new ComparableStack(ModBlocks.machine_compressor, 1), new AStack[] { new OreDictStack(STEEL.plateCast(), 8), @@ -965,6 +933,13 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.motor, 3), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ANALOG) }, 200); + makeRecipe(new ComparableStack(ModBlocks.machine_compressor_compact, 1), new AStack[] { + new OreDictStack(STEEL.plateCast(), 8), + new OreDictStack(TI.shell(), 4), + new OreDictStack(CU.pipe(), 4), + new ComparableStack(ModItems.motor, 2), + new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BASIC) + }, 200); makeRecipe(new ComparableStack(ModBlocks.machine_electrolyser, 1), new AStack[] { !exp ? new OreDictStack(STEEL.plateCast(), 8) : new OreDictStack(STEEL.heavyComp(), 2), @@ -976,6 +951,50 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.circuit, 8, EnumCircuitType.BASIC) }, 200); + makeRecipe(new ComparableStack(ModItems.pa_coil, 1, EnumCoilType.GOLD), new AStack[] { new OreDictStack(GOLD.wireDense(), 128) }, 400); + makeRecipe(new ComparableStack(ModItems.pa_coil, 1, EnumCoilType.NIOBIUM), new AStack[] { new OreDictStack(NB.wireDense(), 64), new OreDictStack(TI.wireDense(), 64) }, 400); + makeRecipe(new ComparableStack(ModItems.pa_coil, 1, EnumCoilType.BSCCO), new AStack[] { new OreDictStack(BSCCO.wireDense(), 64), new OreDictStack(ANY_PLASTIC.ingot(), 64) }, 400); + makeRecipe(new ComparableStack(ModItems.pa_coil, 1, EnumCoilType.CHLOROPHYTE), new AStack[] { new OreDictStack(CU.wireDense(), 128), new ComparableStack(ModItems.powder_chlorophyte, 16) }, 400); + + makeRecipe(new ComparableStack(ModBlocks.pa_beamline), new AStack[] { + new OreDictStack(STEEL.plateCast(), 8), + new OreDictStack(CU.plate(), 16), + new OreDictStack(GOLD.wireDense(), 4) + }, 200); + makeRecipe(new ComparableStack(ModBlocks.pa_rfc), new AStack[] { + new ComparableStack(ModBlocks.pa_beamline, 3), + new OreDictStack(STEEL.plateCast(), 16), + new OreDictStack(CU.plate(), 64), + new OreDictStack(ANY_HARDPLASTIC.ingot(), 16), + new ComparableStack(ModItems.magnetron, 16), + }, 400); + makeRecipe(new ComparableStack(ModBlocks.pa_quadrupole), new AStack[] { + new ComparableStack(ModBlocks.pa_beamline, 1), + new OreDictStack(STEEL.plateCast(), 16), + new OreDictStack(ANY_HARDPLASTIC.ingot(), 16), + new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BISMOID), + }, 400); + makeRecipe(new ComparableStack(ModBlocks.pa_dipole), new AStack[] { + new ComparableStack(ModBlocks.pa_beamline, 2), + new OreDictStack(STEEL.plateCast(), 16), + new OreDictStack(ANY_HARDPLASTIC.ingot(), 32), + new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BISMOID), + }, 400); + makeRecipe(new ComparableStack(ModBlocks.pa_source), new AStack[] { + new ComparableStack(ModBlocks.pa_beamline, 3), + new OreDictStack(STEEL.plateCast(), 16), + new OreDictStack(ANY_HARDPLASTIC.ingot(), 16), + new ComparableStack(ModItems.magnetron, 16), + new ComparableStack(ModItems.circuit, 1, EnumCircuitType.QUANTUM), + }, 400); + makeRecipe(new ComparableStack(ModBlocks.pa_detector), new AStack[] { + new ComparableStack(ModBlocks.pa_beamline, 3), + new OreDictStack(STEEL.plateCast(), 24), + new OreDictStack(GOLD.wireDense(), 16), + new OreDictStack(ANY_HARDPLASTIC.ingot(), 16), + new ComparableStack(ModItems.circuit, 4, EnumCircuitType.QUANTUM), + }, 400); + makeRecipe(new ComparableStack(ModBlocks.machine_exposure_chamber, 1), new AStack[] { !exp ? new OreDictStack(AL.plateCast(), 12) : new OreDictStack(AL.heavyComp(), 1), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), @@ -986,7 +1005,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModBlocks.capacitor_tantalium, 1), new ComparableStack(ModBlocks.glass_quartz, 16) }, 200); - + makeRecipe(new ComparableStack(ModBlocks.launch_pad_large, 1), new AStack[] { new OreDictStack(STEEL.plateCast(), 6), @@ -1001,7 +1020,7 @@ public class AssemblerRecipes extends SerializableRecipe { new OreDictStack(ANY_HARDPLASTIC.ingot(), 16), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.ADVANCED) }, 400); - + makeRecipe(new ComparableStack(ModItems.euphemium_capacitor, 1), new AStack[] { new OreDictStack(NB.ingot(), 4), new ComparableStack(ModItems.redcoil_capacitor, 1), @@ -1074,6 +1093,31 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.motor, 4), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BISMOID) }, 100); + + + /// PLATES /// + makeRecipe(new ComparableStack(ModItems.plate_desh, 4), new AStack[] { + new OreDictStack(DESH.ingot(), 4), + new OreDictStack(ANY_PLASTIC.dust(), 2), + new OreDictStack(DURA.ingot(), 1), + }, 200); + makeRecipe(new ComparableStack(ModItems.plate_bismuth, 1), new AStack[] { + new ComparableStack(ModItems.nugget_bismuth, 2), + new OreDictStack(U238.billet(), 2), + new OreDictStack(NB.dust(), 1), + }, 200); + makeRecipe(new ComparableStack(ModItems.plate_euphemium, 1), new AStack[] { + new OreDictStack(EUPH.ingot(), 4), + new OreDictStack(AT.dust(), 3), + new OreDictStack(BI.dust(), 1), + new OreDictStack(VOLCANIC.gem(), 1), + new ComparableStack(ModItems.ingot_osmiridium), + }, 600); + makeRecipe(new ComparableStack(ModItems.plate_dineutronium, 4), new AStack[] { + new OreDictStack(DNT.ingot(), 4), + new ComparableStack(ModItems.powder_spark_mix, 2), + new OreDictStack(DESH.ingot(), 1), + }, 600); makeRecipe(new ComparableStack(DictFrame.fromOne(ModBlocks.block_cap, EnumCapBlock.NUKA)), new AStack[] { new ComparableStack(ModItems.cap_nuka, 128) }, 10); makeRecipe(new ComparableStack(DictFrame.fromOne(ModBlocks.block_cap, EnumCapBlock.QUANTUM)), new AStack[] { new ComparableStack(ModItems.cap_quantum, 128) }, 10); @@ -1087,7 +1131,7 @@ public class AssemblerRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModBlocks.machine_radgen, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(STEEL.plate(), 32), new ComparableStack(ModItems.coil_magnetized_tungsten, 6), new OreDictStack(MAGTUNG.wireFine(), 24), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BASIC), new ComparableStack(ModItems.reactor_core, 3), new OreDictStack(STAR.ingot(), 1), new OreDictStack("dyeRed", 1), }, 400, ModItems.journal_pip); makeRecipe(new ComparableStack(ModBlocks.machine_reactor_breeding, 1), new AStack[] {new ComparableStack(ModItems.reactor_core, 1), new OreDictStack(STEEL.ingot(), 12), new OreDictStack(PB.plate(), 16), new ComparableStack(ModBlocks.reinforced_glass, 4), new OreDictStack(ASBESTOS.ingot(), 4), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), new ComparableStack(ModItems.crt_display, 1)},150); makeRecipe(new ComparableStack(ModBlocks.reactor_research, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), new ComparableStack(ModItems.motor_desh, 2), new OreDictStack(B.ingot(), 5), new OreDictStack(PB.plate(), 8), new ComparableStack(ModItems.crt_display, 3), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BASIC), },300); - + } else { addTantalium(new ComparableStack(ModBlocks.machine_centrifuge, 1), 5); addTantalium(new ComparableStack(ModBlocks.machine_gascent, 1), 25); @@ -1100,7 +1144,7 @@ public class AssemblerRecipes extends SerializableRecipe { addTantalium(new ComparableStack(ModBlocks.machine_mining_laser, 1), 30); addTantalium(new ComparableStack(ModBlocks.machine_vacuum_distill, 1), 50); addTantalium(new ComparableStack(ModBlocks.machine_catalytic_reformer, 1), 50); - + addTantalium(new ComparableStack(ModBlocks.turret_chekhov, 1), 3); addTantalium(new ComparableStack(ModBlocks.turret_friendly, 1), 3); addTantalium(new ComparableStack(ModBlocks.turret_jeremy, 1), 3); @@ -1110,7 +1154,7 @@ public class AssemblerRecipes extends SerializableRecipe { addTantalium(new ComparableStack(ModBlocks.turret_maxwell, 1), 3); addTantalium(new ComparableStack(ModBlocks.turret_fritz, 1), 3); addTantalium(new ComparableStack(ModBlocks.launch_pad, 1), 5); - + makeRecipe(new ComparableStack(ModBlocks.machine_cyclotron, 1), new AStack[] { new ComparableStack(ModBlocks.machine_lithium_battery, 3), new ComparableStack(ModBlocks.hadron_coil_neodymium, 8), @@ -1124,7 +1168,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BASIC), new ComparableStack(ModItems.circuit, 50, EnumCircuitType.CAPACITOR_BOARD) }, 600); - + makeRecipe(new ComparableStack(ModBlocks.rbmk_console, 1), new AStack[] { new OreDictStack(STEEL.ingot(), 16), new OreDictStack(AL.plate528(), 32), @@ -1133,7 +1177,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.circuit, 20, EnumCircuitType.CAPACITOR_BOARD), new ComparableStack(ModItems.crt_display, 8), }, 300); - + makeRecipe(new ComparableStack(ModBlocks.rbmk_crane_console, 1), new AStack[] { new OreDictStack(STEEL.ingot(), 16), new OreDictStack(AL.plate528(), 8), @@ -1141,17 +1185,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BASIC), new ComparableStack(ModItems.circuit, 10, EnumCircuitType.CAPACITOR_BOARD), }, 300); - - makeRecipe(new ComparableStack(ModBlocks.hadron_core, 1), new AStack[] { - new ComparableStack(ModBlocks.hadron_coil_alloy, 24), - new OreDictStack(STEEL.ingot(), 8), - new OreDictStack(ANY_PLASTIC.ingot(), 16), - new OreDictStack(ANY_RESISTANTALLOY.ingot(), 8), - new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BISMOID), - new ComparableStack(ModItems.circuit, 192, EnumCircuitType.CAPACITOR_BOARD), - new ComparableStack(ModItems.crt_display, 1), - }, 300); - + makeRecipe(new ComparableStack(ModBlocks.struct_launcher_core, 1), new AStack[] { new ComparableStack(ModBlocks.machine_battery, 3), new ComparableStack(ModBlocks.steel_scaffold, 10), @@ -1160,7 +1194,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.circuit, 8, EnumCircuitType.ADVANCED), new ComparableStack(ModItems.circuit, 15, EnumCircuitType.CAPACITOR_BOARD), }, 200); - + makeRecipe(new ComparableStack(ModBlocks.struct_launcher_core_large, 1), new AStack[] { new ComparableStack(ModBlocks.machine_battery, 5), new ComparableStack(ModBlocks.steel_scaffold, 10), @@ -1169,7 +1203,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.circuit, 8, EnumCircuitType.ADVANCED), new ComparableStack(ModItems.circuit, 25, EnumCircuitType.CAPACITOR_BOARD), }, 200); - + makeRecipe(new ComparableStack(ModBlocks.struct_soyuz_core, 1), new AStack[] { new ComparableStack(ModBlocks.machine_lithium_battery, 5), new ComparableStack(ModBlocks.steel_scaffold, 24), @@ -1180,7 +1214,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.circuit, 100, EnumCircuitType.CAPACITOR_BOARD), }, 200); } - + makeRecipe(new ComparableStack(ModBlocks.machine_fracking_tower), new AStack[] { new ComparableStack(ModBlocks.steel_scaffold, 40), new ComparableStack(ModBlocks.concrete_smooth, 64), @@ -1191,7 +1225,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.tank_steel, 24), new ComparableStack(ModItems.pipes_steel, 2) }, 600); - + makeRecipe(new ComparableStack(ModBlocks.machine_catalytic_cracker), new AStack[] { new ComparableStack(ModBlocks.steel_scaffold, 16), !exp ? new OreDictStack(STEEL.shell(), 6) : new OreDictStack(STEEL.heavyComp()), @@ -1199,7 +1233,7 @@ public class AssemblerRecipes extends SerializableRecipe { new OreDictStack(NB.ingot(), 2), new ComparableStack(ModItems.catalyst_clay, 12), }, 300); - + makeRecipe(new ComparableStack(ModBlocks.machine_liquefactor), new AStack[] { new OreDictStack(STEEL.ingot(), 8), new OreDictStack(CU.plate528(), 12), @@ -1209,7 +1243,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.catalyst_clay, 4), new ComparableStack(ModItems.coil_tungsten, 8) }, 200); - + makeRecipe(new ComparableStack(ModBlocks.machine_solidifier), new AStack[] { new OreDictStack(ANY_CONCRETE.any(), 8), new OreDictStack(AL.plate528(), 12), @@ -1219,7 +1253,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.catalyst_clay, 4), new ComparableStack(ModItems.coil_copper, 4) }, 200); - + makeRecipe(new ComparableStack(ModBlocks.machine_radiolysis), new AStack[] { new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), new OreDictStack(RUBBER.ingot(), 8), @@ -1228,7 +1262,7 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.thermo_element, 8), new ComparableStack(ModItems.tank_steel, 3) }, 200); - + makeRecipe(new ComparableStack(ModBlocks.transition_seal, 1), new AStack[]{ new ComparableStack(ModBlocks.cmb_brick_reinforced, 16), new OreDictStack(STEEL.plate(), 64), @@ -1248,6 +1282,7 @@ public class AssemblerRecipes extends SerializableRecipe { new OreDictStack(DURA.bolt(), 16), new ComparableStack(ModItems.motor, 2) }, 200); + makeRecipe(new ComparableStack(ModBlocks.large_vehicle_door, 1), new AStack[]{new OreDictStack(STEEL.plateCast(), 16), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.motor, 4), new OreDictStack(DURA.bolt(), 16), new OreDictStack("dyeGreen", 4)}, 400); makeRecipe(new ComparableStack(ModBlocks.water_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 16), new OreDictStack(DURA.bolt(), 4), new OreDictStack("dyeRed", 1)}, 200); makeRecipe(new ComparableStack(ModBlocks.qe_containment, 1), new AStack[]{new OreDictStack(STEEL.plateCast(), 4), new OreDictStack(ALLOY.plate(), 4), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.motor, 2), new OreDictStack(DURA.bolt(), 32), new OreDictStack("dyeBlack", 4)}, 400); @@ -1257,13 +1292,13 @@ public class AssemblerRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModBlocks.sliding_seal_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.motor, 2), new OreDictStack(DURA.bolt(), 4), new OreDictStack("dyeWhite", 2)}, 200); makeRecipe(new ComparableStack(ModBlocks.silo_hatch, 1), new AStack[]{new OreDictStack(STEEL.plateWelded(), 4), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.motor, 2), new OreDictStack(STEEL.bolt(), 16), new OreDictStack(KEY_GREEN, 4)}, 200); makeRecipe(new ComparableStack(ModBlocks.silo_hatch_large, 1), new AStack[]{new OreDictStack(STEEL.plateWelded(), 6), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.motor, 2), new OreDictStack(STEEL.bolt(), 16), new OreDictStack(KEY_GREEN, 8)}, 200); - + if(GeneralConfig.enableMekanismChanges && Loader.isModLoaded("Mekanism")) { - + Block mb = (Block) Block.blockRegistry.getObject("Mekanism:MachineBlock"); - + if(mb != null) { - + makeRecipe(new ComparableStack(mb, 1, 4), new AStack[] { new OreDictStack(BIGMT.plateCast(), 16), new OreDictStack(CU.plateWelded(), 12), @@ -1275,13 +1310,13 @@ public class AssemblerRecipes extends SerializableRecipe { }, 1200); } } - + for(NTMMaterial mat : Mats.orderedList) { - if(mat.shapes.contains(MaterialShapes.CASTPLATE) && mat.shapes.contains(MaterialShapes.HEAVY_COMPONENT)) { + if(mat.autogen.contains(MaterialShapes.CASTPLATE) && mat.autogen.contains(MaterialShapes.HEAVY_COMPONENT)) { makeRecipe(new ComparableStack(ModItems.heavy_component, 1, mat.id), new AStack[] { new OreDictStack(MaterialShapes.CASTPLATE.name() + mat.names[0], 256) }, 12_000); } } - + // WarTec compatibility code try { Class wartecmodAssemblerRecipes = ClassLoader.getSystemClassLoader().loadClass("com.wartec.wartecmod.inventory.wartecmodAssemblerRecipes"); @@ -1292,18 +1327,18 @@ public class AssemblerRecipes extends SerializableRecipe { MainRegistry.logger.info("WarTec recipes loaded!"); } catch(Exception e) { } } - + public static void makeRecipe(ComparableStack out, AStack[] in, int duration) { makeRecipe(out, in, duration, ModItems.template_folder); } - + public static void makeRecipe(ComparableStack out, AStack[] in, int duration, Item... folder) { - + if(out == null || Item.itemRegistry.getNameForObject(out.item) == null) { MainRegistry.logger.error("Canceling assembler registration, item was null!"); return; } - + AssemblerRecipe recipe = new AssemblerRecipe(in, duration, folder); recipes.put(out, recipe); recipeList.add(out); @@ -1328,13 +1363,13 @@ public class AssemblerRecipes extends SerializableRecipe { @Override public void readRecipe(JsonElement recipe) { JsonObject obj = recipe.getAsJsonObject(); - + ItemStack output = this.readItemStack(obj.get("output").getAsJsonArray()); AStack[] input = this.readAStackArray(obj.get("input").getAsJsonArray()); int duration = obj.get("duration").getAsInt(); - + if(output == null || output.getItem() == ModItems.nothing) return; - + if(obj.has("folders")) { JsonArray array = obj.get("folders").getAsJsonArray(); List items = new ArrayList(); @@ -1351,46 +1386,46 @@ public class AssemblerRecipes extends SerializableRecipe { @Override public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { Entry entry = (Entry) recipe; - + writer.name("output"); this.writeItemStack(entry.getKey().toStack(), writer); writer.name("input").beginArray(); for(AStack stack : entry.getValue().ingredients) this.writeAStack(stack, writer); writer.endArray(); writer.name("duration").value(entry.getValue().time); - + if(entry.getValue().folders.size() != 1 || !entry.getValue().folders.contains(ModItems.template_folder)) { writer.name("folders").beginArray(); for(Item folder : entry.getValue().folders) writer.value(Item.itemRegistry.getNameForObject(folder)); writer.endArray(); } } - + public static ItemStack getOutputFromTempate(ItemStack stack) { - + if(stack != null && stack.getItem() instanceof ItemAssemblyTemplate) { - + ComparableStack comp = ItemAssemblyTemplate.readType(stack); - + //NEW if(comp != null) { return comp.toStack(); } - + //LEGACY int i = stack.getItemDamage(); if(i >= 0 && i < recipeList.size()) { return recipeList.get(i).toStack(); } } - + return null; } - + public static List getRecipeFromTempate(ItemStack stack) { - + if(stack != null && stack.getItem() instanceof ItemAssemblyTemplate) { - + //NEW ComparableStack compStack = ItemAssemblyTemplate.readType(stack); if(compStack != null) { @@ -1399,12 +1434,12 @@ public class AssemblerRecipes extends SerializableRecipe { AStack[] ret = recipe.ingredients; return ret == null ? null : Arrays.asList(ret); } - + //LEGACY int i = stack.getItemDamage(); if(i >= 0 && i < recipeList.size()) { ItemStack out = recipeList.get(i).toStack(); - + if(out != null) { ComparableStack comp = new ComparableStack(out); AssemblerRecipe recipe = recipes.get(comp); @@ -1414,55 +1449,55 @@ public class AssemblerRecipes extends SerializableRecipe { } } } - + return null; } - + public static void addTantalium(ComparableStack out, int amount) { - + AssemblerRecipe recipe = recipes.get(out); - + if(recipe != null) { - + AStack[] news = new AStack[recipe.ingredients.length + 1]; - + for(int i = 0; i < recipe.ingredients.length; i++) news[i] = recipe.ingredients[i]; - + news[news.length - 1] = new ComparableStack(ModItems.circuit, amount, EnumCircuitType.CAPACITOR_BOARD); recipe.ingredients = news; } } public static Map> getRecipes() { - + Map> recipes = new HashMap(); - + for(Entry entry : AssemblerRecipes.recipes.entrySet()) { - + List value = new ArrayList(); AssemblerRecipe recipe = entry.getValue(); - + for(AStack o : recipe.ingredients) { value.add(o.extractForNEI()); } - + recipes.put(entry.getKey().toStack(), value); } - + return recipes; } - + public static class AssemblerRecipe { - + public AStack[] ingredients; public int time; public HashSet folders; - + public AssemblerRecipe(AStack[] ingredients, int time) { this(ingredients, time, ModItems.template_folder); } - + public AssemblerRecipe(AStack[] ingredients, int time, Item... folder) { this.ingredients = ingredients; this.time = time; diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java new file mode 100644 index 000000000..fa7202ec5 --- /dev/null +++ b/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java @@ -0,0 +1,195 @@ +package com.hbm.inventory.recipes; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +import static com.hbm.inventory.OreDictManager.*; +import static com.hbm.inventory.material.Mats.*; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.FluidStack; +import com.hbm.inventory.OreDictManager; +import com.hbm.inventory.RecipesCommon.AStack; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.RecipesCommon.OreDictStack; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.recipes.loader.GenericRecipe; +import com.hbm.inventory.recipes.loader.GenericRecipes; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemFluidIcon; +import com.hbm.items.machine.ItemCircuit.EnumCircuitType; + +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +public class AssemblyMachineRecipes extends GenericRecipes { + + public static final AssemblyMachineRecipes INSTANCE = new AssemblyMachineRecipes(); + + @Override public int inputItemLimit() { return 12; } + @Override public int inputFluidLimit() { return 1; } + @Override public int outputItemLimit() { return 1; } + @Override public int outputFluidLimit() { return 1; } + + @Override public String getFileName() { return "hbmAsemblyMachine.json"; } + @Override public GenericRecipe instantiateRecipe(String name) { return new GenericRecipe(name); } + + @Override + public void registerDefaults() { + + // plates and ingots + this.register(new GenericRecipe("ass.platemixed").setup(50, 100).outputItems(new ItemStack(ModItems.plate_mixed, 4)) + .inputItems(new OreDictStack(ALLOY.plate(), 2), new OreDictStack(OreDictManager.getReflector(), 1), new OreDictStack(BIGMT.plate(), 1))); + this.register(new GenericRecipe("ass.dalekanium").setup(200, 100).outputItems(new ItemStack(ModItems.plate_dalekanium, 1)) + .inputItems(new ComparableStack(ModBlocks.block_meteor, 1))); + + // cloth + this.register(new GenericRecipe("ass.hazcloth").setup(50, 100).outputItems(new ItemStack(ModItems.hazmat_cloth, 4)) + .inputItems(new OreDictStack(PB.dust(), 4), new ComparableStack(Items.string, 8))); + this.register(new GenericRecipe("ass.firecloth").setup(50, 100).outputItems(new ItemStack(ModItems.asbestos_cloth, 4)) + .inputItems(new OreDictStack(ASBESTOS.ingot(), 1), new ComparableStack(Items.string, 8))); + this.register(new GenericRecipe("ass.filtercoal").setup(50, 100).outputItems(new ItemStack(ModItems.filter_coal, 1)) + .inputItems(new OreDictStack(COAL.dust(), 4), new ComparableStack(Items.string, 2), new ComparableStack(Items.paper, 1))); + + // machine parts + this.register(new GenericRecipe("ass.centrifugetower").setup(100, 100).outputItems(new ItemStack(ModItems.centrifuge_element, 1)) + .inputItems(new OreDictStack(DURA.plate528(), 4), new OreDictStack(TI.plate528(), 4), new ComparableStack(ModItems.motor, 1))); + this.register(new GenericRecipe("ass.reactorcore").setup(100, 100).outputItems(new ItemStack(ModItems.reactor_core, 1)) + .inputItems(new OreDictStack(PB.plateCast(), 4), new OreDictStack(BE.ingot(), 8), new OreDictStack(OreDictManager.getReflector(), 8), new OreDictStack(ASBESTOS.ingot(), 4))); + this.register(new GenericRecipe("ass.thermoelement").setup(60, 100).outputItems(new ItemStack(ModItems.thermo_element, 1)) + .inputItems(new OreDictStack(STEEL.plate(), 1), new OreDictStack(MINGRADE.wireFine(), 2), new OreDictStack(NETHERQUARTZ.dust(), 2))); + this.register(new GenericRecipe("ass.thermoelementsilicon").setup(60, 100).outputItems(new ItemStack(ModItems.thermo_element, 1)) + .inputItems(new OreDictStack(STEEL.plate(), 1), new OreDictStack(GOLD.wireFine(), 2), new OreDictStack(SI.billet(), 1))); + this.register(new GenericRecipe("ass.rtgunit").setup(100, 100).outputItems(new ItemStack(ModItems.rtg_unit, 1)) + .inputItems(new OreDictStack(PB.plateCast(), 2), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.thermo_element, 2))); + this.register(new GenericRecipe("ass.magnetron").setup(40, 100).outputItems(new ItemStack(ModItems.magnetron, 1)) + .inputItems(new OreDictStack(CU.plate(), 3), new OreDictStack(W.wireFine(), 4))); + this.register(new GenericRecipe("ass.titaniumdrill").setup(100, 100).outputItems(new ItemStack(ModItems.drill_titanium, 1)) + .inputItems(new OreDictStack(DURA.plateCast(), 1), new OreDictStack(TI.plate(), 8))); + this.register(new GenericRecipe("ass.entanglementkit").setup(200, 100).outputItems(new ItemStack(ModItems.entanglement_kit, 1)) + .inputItems(new OreDictStack(DURA.plateCast(), 4), new OreDictStack(CU.plate(), 24), new OreDictStack(GOLD.wireDense(), 16)) + .inputFluids(new FluidStack(Fluids.XENON, 8_000))); + this.register(new GenericRecipe("ass.protoreactor").setup(200, 100).outputItems(new ItemStack(ModItems.dysfunctional_reactor, 1)) + .inputItems(new OreDictStack(STEEL.shell(), 4), new OreDictStack(PB.plateCast(), 4), new ComparableStack(ModItems.rod_quad_empty, 10), new OreDictStack(KEY_BROWN, 3))); + + // powders + this.register(new GenericRecipe("ass.partlith").setup(40, 100).outputItems(new ItemStack(ModItems.part_lithium, 8)) + .inputItems(new OreDictStack(LI.dust(), 1))); + this.register(new GenericRecipe("ass.partberyl").setup(40, 100).outputItems(new ItemStack(ModItems.part_beryllium, 8)) + .inputItems(new OreDictStack(BE.dust(), 1))); + this.register(new GenericRecipe("ass.partcoal").setup(40, 100).outputItems(new ItemStack(ModItems.part_carbon, 8)) + .inputItems(new OreDictStack(COAL.dust(), 1))); + this.register(new GenericRecipe("ass.partcop").setup(40, 100).outputItems(new ItemStack(ModItems.part_copper, 8)) + .inputItems(new OreDictStack(CU.dust(), 1))); + this.register(new GenericRecipe("ass.partplut").setup(40, 100).outputItems(new ItemStack(ModItems.part_plutonium, 8)) + .inputItems(new OreDictStack(PU.dust(), 1))); + + // bunker blocks + this.register(new GenericRecipe("ass.cmbtile").setup(100, 100).outputItems(new ItemStack(ModBlocks.cmb_brick, 8)) + .inputItems(new OreDictStack(ANY_CONCRETE.any(), 4), new OreDictStack(CMB.plate(), 4))); + this.register(new GenericRecipe("ass.cmbbrick").setup(100, 100).outputItems(new ItemStack(ModBlocks.cmb_brick_reinforced, 8)) + .inputItems(new OreDictStack(MAGTUNG.ingot(), 8), new ComparableStack(ModBlocks.ducrete, 4), new ComparableStack(ModBlocks.cmb_brick, 8))); + this.register(new GenericRecipe("ass.sealframe").setup(100, 100).outputItems(new ItemStack(ModBlocks.seal_frame, 1)) + .inputItems(new OreDictStack(DURA.ingot(), 1), new OreDictStack(STEEL.plateCast(), 1), new OreDictStack(MINGRADE.wireDense(), 1))); + this.register(new GenericRecipe("ass.sealcontroller").setup(100, 100).outputItems(new ItemStack(ModBlocks.seal_controller, 1)) + .inputItems(new OreDictStack(DURA.ingot(), 1), new OreDictStack(STEEL.plateCast(), 1), new OreDictStack(ANY_PLASTIC.ingot(), 4), new OreDictStack(MINGRADE.wireDense(), 4))); + + // machines + this.register(new GenericRecipe("ass.shredder").setup(100, 100).outputItems(new ItemStack(ModBlocks.machine_shredder, 1)) + .inputItems(new OreDictStack(STEEL.plate528(), 8), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.motor, 2))); + this.register(new GenericRecipe("ass.centrifuge").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_centrifuge, 1)) + .inputItems(new ComparableStack(ModItems.centrifuge_element, 1), new OreDictStack(ANY_PLASTIC.ingot(), 4), new OreDictStack(STEEL.plate528(), 8), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ANALOG))); + this.register(new GenericRecipe("ass.gascent").setup(400, 100).outputItems(new ItemStack(ModBlocks.machine_gascent, 1)) + .inputItems(new ComparableStack(ModItems.centrifuge_element, 4), new OreDictStack(ANY_PLASTIC.ingot(), 8), new OreDictStack(DESH.ingot(), 2), new OreDictStack(STEEL.plate528(), 8), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED.ordinal()))); + this.register(new GenericRecipe("ass.dieselgen").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_diesel, 1)) + .inputItems(new OreDictStack(STEEL.shell(), 1), new OreDictStack(CU.plateCast(), 2), new ComparableStack(ModItems.coil_copper, 4))); + this.register(new GenericRecipe("ass.rtg").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_rtg_grey, 1)) + .inputItems(new ComparableStack(ModItems.rtg_unit, 3), new OreDictStack(STEEL.plate528(), 4), new OreDictStack(MINGRADE.wireFine(), 16), new OreDictStack(ANY_PLASTIC.ingot(), 4))); + this.register(new GenericRecipe("ass.derrick").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_well, 1)) + .inputItems(new OreDictStack(STEEL.plate(), 8), new OreDictStack(CU.plateCast(), 2), new OreDictStack(STEEL.pipe(), 4), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.drill_titanium, 1))); + this.register(new GenericRecipe("ass.pumpjack").setup(400, 100).outputItems(new ItemStack(ModBlocks.machine_pumpjack, 1)) + .inputItems(new OreDictStack(DURA.plate(), 8), new OreDictStack(STEEL.plateWelded(), 8), new OreDictStack(STEEL.pipe(), 12), new ComparableStack(ModItems.motor_desh), new ComparableStack(ModItems.drill_titanium, 1))); + this.register(new GenericRecipe("ass.flarestack").setup(100, 100).outputItems(new ItemStack(ModBlocks.machine_flare, 1)) + .inputItems(new OreDictStack(STEEL.plate(), 12), new OreDictStack(CU.plate528(), 4), new OreDictStack(STEEL.shell(), 4), new ComparableStack(ModItems.thermo_element, 3))); + this.register(new GenericRecipe("ass.refinery").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_refinery, 1)) + .inputItems(new OreDictStack(STEEL.plateWelded(), 3), new OreDictStack(CU.plate528(), 8), new OreDictStack(STEEL.shell(), 4), new OreDictStack(STEEL.pipe(), 12), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.ANALOG))); + this.register(new GenericRecipe("ass.coker").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_coker, 1)) + .inputItems(new OreDictStack(STEEL.plateWelded(), 8), new OreDictStack(STEEL.shell(), 4), new OreDictStack(CU.plate528(), 8), new OreDictStack(RUBBER.ingot(), 4), new OreDictStack(NB.ingot(), 4))); + + // batteries + this.register(new GenericRecipe("ass.battery").setup(100, 100).outputItems(new ItemStack(ModBlocks.machine_battery, 1)) + .inputItems(new OreDictStack(STEEL.plateWelded(), 1), new OreDictStack(S.dust(), 12), new OreDictStack(PB.dust(), 12))); + this.register(new GenericRecipe("ass.batterylithium").setup(100, 100).outputItems(new ItemStack(ModBlocks.machine_battery, 1)) + .inputItems(new OreDictStack(ANY_PLASTIC.ingot(), 8), new OreDictStack(CO.dust(), 12), new OreDictStack(LI.dust(), 12))); + this.register(new GenericRecipe("ass.batteryschrabidium").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_battery, 1)) + .inputItems(new OreDictStack(DESH.ingot(), 16), new OreDictStack(NP237.dust(), 12), new OreDictStack(SA326.dust(), 12))); + this.register(new GenericRecipe("ass.batterydnt").setup(400, 100).outputItems(new ItemStack(ModBlocks.machine_battery, 1)) + .inputItems(new OreDictStack(DNT.ingot(), 24), new ComparableStack(ModItems.powder_spark_mix, 12), new ComparableStack(ModItems.battery_spark_cell_1000, 1), new OreDictStack(CMB.ingot(), 32))); + + // rancid shit mob spawners + this.register(new GenericRecipe("ass.chopper").setup(1_200, 100).outputItems(new ItemStack(ModItems.spawn_chopper, 8)) + .inputItems(new OreDictStack(CMB.plateCast(), 24), new OreDictStack(STEEL.plate(), 32), new OreDictStack(MAGTUNG.wireFine(), 48), new ComparableStack(ModItems.motor_desh, 5), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.CONTROLLER_ADVANCED))); + + // weapon parts + this.register(new GenericRecipe("ass.clusterpellets").setup(50, 100).outputItems(new ItemStack(ModItems.pellet_cluster, 1)) + .inputItems(new OreDictStack(STEEL.plate(), 4), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 1))); + this.register(new GenericRecipe("ass.buckshot").setup(50, 100).outputItems(new ItemStack(ModItems.pellet_buckshot, 1)) + .inputItems(new OreDictStack(PB.nugget(), 6))); + + // missile parts + this.register(new GenericRecipe("ass.missileassembly").setup(200, 100).outputItems(new ItemStack(ModItems.missile_assembly, 1)) + .inputItems(new OreDictStack(AL.shell(), 2), new OreDictStack(TI.shell(), 4), new OreDictStack(ANY_PLASTIC.ingot(), 8), new ComparableStack(ModItems.rocket_fuel, 8), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BASIC))); + this.register(new GenericRecipe("ass.warheadhe1").setup(100, 100).outputItems(new ItemStack(ModItems.warhead_generic_small, 1)) + .inputItems(new OreDictStack(TI.plate(), 4), new ComparableStack(ModItems.ball_dynamite, 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.CHIP))); + this.register(new GenericRecipe("ass.warheadhe2").setup(200, 100).outputItems(new ItemStack(ModItems.warhead_generic_medium, 1)) + .inputItems(new OreDictStack(TI.plate(), 8), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 4), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BASIC))); + this.register(new GenericRecipe("ass.warheadhe3").setup(400, 100).outputItems(new ItemStack(ModItems.warhead_generic_large, 1)) + .inputItems(new OreDictStack(TI.plate(), 16), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 8), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED))); + this.register(new GenericRecipe("ass.warheadinc1").setup(100, 100).outputItems(new ItemStack(ModItems.warhead_incendiary_small, 1)) + .inputItems(new ComparableStack(ModItems.warhead_generic_small, 1), new OreDictStack(P_RED.dust(), 2))); + this.register(new GenericRecipe("ass.warheadinc2").setup(200, 100).outputItems(new ItemStack(ModItems.warhead_incendiary_medium, 1)) + .inputItems(new ComparableStack(ModItems.warhead_generic_medium, 1), new OreDictStack(P_RED.dust(), 4))); + this.register(new GenericRecipe("ass.warheadinc3").setup(400, 100).outputItems(new ItemStack(ModItems.warhead_incendiary_large, 1)) + .inputItems(new ComparableStack(ModItems.warhead_generic_large, 1), new OreDictStack(P_RED.dust(), 8))); + this.register(new GenericRecipe("ass.warheadcl1").setup(100, 100).outputItems(new ItemStack(ModItems.warhead_cluster_small, 1)) + .inputItems(new ComparableStack(ModItems.warhead_generic_small, 1), new ComparableStack(ModItems.pellet_cluster, 2))); + this.register(new GenericRecipe("ass.warheadcl2").setup(200, 100).outputItems(new ItemStack(ModItems.warhead_cluster_medium, 1)) + .inputItems(new ComparableStack(ModItems.warhead_generic_medium, 1), new ComparableStack(ModItems.pellet_cluster, 4))); + this.register(new GenericRecipe("ass.warheadcl3").setup(400, 100).outputItems(new ItemStack(ModItems.warhead_cluster_large, 1)) + .inputItems(new ComparableStack(ModItems.warhead_generic_large, 1), new ComparableStack(ModItems.pellet_cluster, 8))); + this.register(new GenericRecipe("ass.warheadbb1").setup(100, 100).outputItems(new ItemStack(ModItems.warhead_buster_small, 1)) + .inputItems(new ComparableStack(ModItems.warhead_generic_small, 1), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 2))); + this.register(new GenericRecipe("ass.warheadbb2").setup(200, 100).outputItems(new ItemStack(ModItems.warhead_buster_medium, 1)) + .inputItems(new ComparableStack(ModItems.warhead_generic_medium, 1), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 4))); + this.register(new GenericRecipe("ass.warheadbb3").setup(400, 100).outputItems(new ItemStack(ModItems.warhead_buster_large, 1)) + .inputItems(new ComparableStack(ModItems.warhead_generic_large, 1), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 8))); + this.register(new GenericRecipe("ass.warheadnuke").setup(400, 100).outputItems(new ItemStack(ModItems.warhead_nuclear, 1)) + .inputItems(new OreDictStack(TI.plateCast(), 12), new OreDictStack(PB.plateCast(), 6), new OreDictStack(U235.billet(), 6), new ComparableStack(ModItems.cordite, 12), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.CONTROLLER))); + this.register(new GenericRecipe("ass.warheadthermonuke").setup(600, 100).outputItems(new ItemStack(ModItems.warhead_mirv, 1)) + .inputItems(new OreDictStack(TI.plateCast(), 12), new OreDictStack(PB.plateCast(), 6), new OreDictStack(PU239.billet(), 8), new ComparableStack(ModItems.ball_tatb, 12), new ComparableStack(ModItems.circuit, 2, EnumCircuitType.CONTROLLER_ADVANCED)) + .inputFluids(new FluidStack(Fluids.DEUTERIUM, 4_000))); + this.register(new GenericRecipe("ass.warheadvolcano").setup(600, 100).outputItems(new ItemStack(ModItems.warhead_volcano, 1)) + .inputItems(new OreDictStack(TI.plateCast(), 12), new OreDictStack(STEEL.plateCast(), 6), new ComparableStack(ModBlocks.det_nuke, 3), new OreDictStack(U238.block(), 24), new ComparableStack(ModItems.circuit, 5, EnumCircuitType.CAPACITOR_BOARD.ordinal()))); + this.register(new GenericRecipe("ass.stealthmissile").setup(1_200, 100).outputItems(new ItemStack(ModItems.missile_stealth, 1)) + .inputItems(new OreDictStack(TI.plate(), 20), new OreDictStack(AL.plate(), 20), new OreDictStack(KEY_BLACK, 16), new OreDictStack(ANY_HARDPLASTIC.ingot(), 16), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 4), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.ADVANCED.ordinal()), new OreDictStack(STEEL.bolt(), 32))); + this.register(new GenericRecipe("ass.thrusternerva").setup(600, 100).outputItems(new ItemStack(ModItems.thruster_nuclear, 1)) + .inputItems(new OreDictStack(DURA.ingot(), 32), new OreDictStack(B.ingot(), 8), new OreDictStack(PB.plate(), 16), new ComparableStack(ModItems.pipes_steel))); + } + + public static HashMap getRecipes() { + HashMap recipes = new HashMap(); + + for(GenericRecipe recipe : INSTANCE.recipeOrderedList) { + List input = new ArrayList(); + if(recipe.inputItem != null) for(AStack stack : recipe.inputItem) input.add(stack); + if(recipe.inputFluid != null) for(FluidStack stack : recipe.inputFluid) input.add(ItemFluidIcon.make(stack)); + List output = new ArrayList(); + if(recipe.outputItem != null) for(IOutput stack : recipe.outputItem) output.add(stack.getAllPossibilities()); + if(recipe.outputFluid != null) for(FluidStack stack : recipe.outputFluid) output.add(ItemFluidIcon.make(stack)); + recipes.put(input.toArray(), output.toArray()); + } + + return recipes; + } +} diff --git a/src/main/java/com/hbm/inventory/recipes/BlastFurnaceRecipes.java b/src/main/java/com/hbm/inventory/recipes/BlastFurnaceRecipes.java index af7032305..1a7599b5d 100644 --- a/src/main/java/com/hbm/inventory/recipes/BlastFurnaceRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/BlastFurnaceRecipes.java @@ -77,7 +77,7 @@ public class BlastFurnaceRecipes extends SerializableRecipe { hiddenRecipes.add(new ComparableStack(ModItems.meteorite_sword_alloyed)); } - private static void addRecipe(Object in1, Object in2, ItemStack out) { + public static void addRecipe(Object in1, Object in2, ItemStack out) { if(in1 instanceof Item) in1 = new ComparableStack((Item) in1); if(in1 instanceof Block) in1 = new ComparableStack((Block) in1); diff --git a/src/main/java/com/hbm/inventory/recipes/BreederRecipes.java b/src/main/java/com/hbm/inventory/recipes/BreederRecipes.java index 7503b3dec..1ff4b65fb 100644 --- a/src/main/java/com/hbm/inventory/recipes/BreederRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/BreederRecipes.java @@ -19,7 +19,7 @@ import net.minecraft.item.ItemStack; public class BreederRecipes extends SerializableRecipe { - private static HashMap recipes = new HashMap(); + public static HashMap recipes = new HashMap(); @Override public void registerDefaults() { diff --git a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java index 2c91e4e4a..027efb67d 100644 --- a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java @@ -15,11 +15,14 @@ import com.hbm.config.GeneralConfig; import com.hbm.handler.imc.IMCCentrifuge; import static com.hbm.inventory.OreDictManager.*; import com.hbm.inventory.OreDictManager.DictFrame; +import com.hbm.inventory.OreDictManager; import com.hbm.inventory.RecipesCommon; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; +import com.hbm.inventory.material.MaterialShapes; import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.items.ItemEnums; import com.hbm.items.ItemEnums.EnumAshType; import com.hbm.items.ItemEnums.EnumChunkType; import com.hbm.items.ModItems; @@ -40,25 +43,25 @@ import net.minecraftforge.oredict.OreDictionary; public class CentrifugeRecipes extends SerializableRecipe { - private static HashMap recipes = new HashMap(); + public static HashMap recipes = new HashMap(); @Override public void registerDefaults() { - + boolean lbs = GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleCentrifuge; - + recipes.put(new ComparableStack(ModItems.waste_natural_uranium), new ItemStack[] { new ItemStack(ModItems.nugget_u238, 1), new ItemStack(ModItems.nugget_pu_mix, 2), new ItemStack(ModItems.nugget_pu239, 1), new ItemStack(ModItems.nuclear_waste_tiny, 2) }); - + recipes.put(new ComparableStack(ModItems.waste_uranium), new ItemStack[] { new ItemStack(ModItems.nugget_pu_mix, 2), new ItemStack(ModItems.nugget_plutonium, 1), new ItemStack(ModItems.nugget_technetium, 1), new ItemStack(ModItems.nuclear_waste_tiny, 2) }); - + recipes.put(new ComparableStack(ModItems.waste_thorium), new ItemStack[] { new ItemStack(ModItems.nugget_u238, 1), new ItemStack(ModItems.nugget_th232, 1), @@ -70,73 +73,73 @@ public class CentrifugeRecipes extends SerializableRecipe { new ItemStack(ModItems.nugget_technetium, 1), new ItemStack(ModItems.nugget_u238, 1), new ItemStack(ModItems.nuclear_waste_tiny, 3) }); - + recipes.put(new ComparableStack(ModItems.waste_plutonium), new ItemStack[] { new ItemStack(ModItems.nugget_pu_mix, 1), new ItemStack(ModItems.nugget_pu_mix, 1), new ItemStack(ModItems.nugget_technetium, 1), new ItemStack(ModItems.nuclear_waste_tiny, 3) }); - + recipes.put(new ComparableStack(ModItems.waste_u233), new ItemStack[] { new ItemStack(ModItems.nugget_u235, 1), new ItemStack(ModItems.nugget_neptunium, 1), new ItemStack(ModItems.nugget_technetium, 1), new ItemStack(ModItems.nuclear_waste_tiny, 3) }); - + recipes.put(new ComparableStack(ModItems.waste_u235), new ItemStack[] { new ItemStack(ModItems.nugget_pu238, 1), new ItemStack(ModItems.nugget_neptunium, 1), new ItemStack(ModItems.nugget_technetium, 1), new ItemStack(ModItems.nuclear_waste_tiny, 3) }); - + recipes.put(new ComparableStack(ModItems.waste_schrabidium), new ItemStack[] { new ItemStack(ModItems.nugget_beryllium, 2), new ItemStack(ModItems.nugget_pu239, 1), new ItemStack(ModItems.nuclear_waste_tiny, 1), new ItemStack(ModItems.nuclear_waste_tiny, 2) }); - + recipes.put(new ComparableStack(ModItems.waste_zfb_mox), new ItemStack[] { new ItemStack(ModItems.nugget_zirconium, 3), new ItemStack(ModItems.nugget_technetium, 1), new ItemStack(ModItems.nugget_pu_mix, 1), new ItemStack(ModItems.nuclear_waste_tiny, 1) }); - + recipes.put(new ComparableStack(ModItems.waste_plate_mox), new ItemStack[] { new ItemStack(ModItems.powder_sr90_tiny, 1), new ItemStack(ModItems.nugget_pu_mix, 3), new ItemStack(ModItems.powder_cs137_tiny, 1), new ItemStack(ModItems.nuclear_waste_tiny, 4) }); - + recipes.put(new ComparableStack(ModItems.waste_plate_pu238be), new ItemStack[] { new ItemStack(ModItems.nugget_beryllium, 1), new ItemStack(ModItems.nugget_pu238, 1), new ItemStack(ModItems.powder_coal_tiny, 2), new ItemStack(ModItems.nugget_lead, 2) }); - + recipes.put(new ComparableStack(ModItems.waste_plate_pu239), new ItemStack[] { new ItemStack(ModItems.nugget_pu240, 2), new ItemStack(ModItems.nugget_technetium, 1), new ItemStack(ModItems.powder_cs137_tiny, 1), new ItemStack(ModItems.nuclear_waste_tiny, 5) }); - + recipes.put(new ComparableStack(ModItems.waste_plate_ra226be), new ItemStack[] { new ItemStack(ModItems.nugget_beryllium, 2), new ItemStack(ModItems.nugget_polonium, 2), new ItemStack(ModItems.powder_coal_tiny, 1), new ItemStack(ModItems.nugget_lead, 1) }); - + recipes.put(new ComparableStack(ModItems.waste_plate_sa326), new ItemStack[] { new ItemStack(ModItems.nugget_solinium, 1), new ItemStack(ModItems.powder_neodymium_tiny, 1), new ItemStack(ModItems.nugget_tantalium, 1), new ItemStack(ModItems.nuclear_waste_tiny, 6) }); - + recipes.put(new ComparableStack(ModItems.waste_plate_u233), new ItemStack[] { new ItemStack(ModItems.nugget_u235, 1), new ItemStack(ModItems.powder_i131_tiny, 1), new ItemStack(ModItems.powder_sr90_tiny, 1), new ItemStack(ModItems.nuclear_waste_tiny, 6) }); - + recipes.put(new ComparableStack(ModItems.waste_plate_u235), new ItemStack[] { new ItemStack(ModItems.nugget_neptunium, 1), new ItemStack(ModItems.nugget_pu238, 1), @@ -281,7 +284,7 @@ public class CentrifugeRecipes extends SerializableRecipe { new ItemStack(ModItems.powder_boron_tiny, 2), new ItemStack(ModItems.powder_niobium_tiny, 2), new ItemStack(ModItems.nugget_zirconium, 3) }); - + ArrayList naquadriaNuggets = OreDictionary.getOres("nuggetNaquadria"); if(naquadriaNuggets.size() != 0) { ItemStack nuggetNQR = naquadriaNuggets.get(0); @@ -298,195 +301,195 @@ public class CentrifugeRecipes extends SerializableRecipe { new ItemStack(ModItems.nugget_euphemium, 6), new ItemStack(ModItems.nuclear_waste, 2) }); } - + recipes.put(new OreDictStack(COAL.ore()), new ItemStack[] { new ItemStack(ModItems.powder_coal, 2), new ItemStack(ModItems.powder_coal, 2), new ItemStack(ModItems.powder_coal, 2), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new OreDictStack(LIGNITE.ore()), new ItemStack[] { new ItemStack(ModItems.powder_lignite, 2), new ItemStack(ModItems.powder_lignite, 2), new ItemStack(ModItems.powder_lignite, 2), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new OreDictStack(IRON.ore()), new ItemStack[] { new ItemStack(ModItems.powder_iron, 1), new ItemStack(ModItems.powder_iron, 1), new ItemStack(ModItems.powder_iron, 1), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new OreDictStack(GOLD.ore()), new ItemStack[] { lbs ? new ItemStack(ModItems.powder_gold, 2) : new ItemStack(ModItems.powder_gold, 1), new ItemStack(ModItems.powder_gold, 1), lbs ? new ItemStack(ModItems.nugget_bismuth, 1) : new ItemStack(ModItems.powder_gold, 1), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new OreDictStack(DIAMOND.ore()), new ItemStack[] { new ItemStack(ModItems.powder_diamond, 1), new ItemStack(ModItems.powder_diamond, 1), new ItemStack(ModItems.powder_diamond, 1), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new OreDictStack(EMERALD.ore()), new ItemStack[] { new ItemStack(ModItems.powder_emerald, 1), new ItemStack(ModItems.powder_emerald, 1), new ItemStack(ModItems.powder_emerald, 1), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new OreDictStack(TI.ore()), new ItemStack[] { lbs ? new ItemStack(ModItems.powder_titanium, 2) : new ItemStack(ModItems.powder_titanium, 1), lbs ? new ItemStack(ModItems.powder_titanium, 2) : new ItemStack(ModItems.powder_titanium, 1), new ItemStack(ModItems.powder_iron, 1), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new OreDictStack(NETHERQUARTZ.ore()), new ItemStack[] { new ItemStack(ModItems.powder_quartz, 1), new ItemStack(ModItems.powder_quartz, 1), new ItemStack(ModItems.powder_lithium_tiny, 1), new ItemStack(Blocks.netherrack, 1) }); - + recipes.put(new OreDictStack(W.ore()), new ItemStack[] { lbs ? new ItemStack(ModItems.powder_tungsten, 2) : new ItemStack(ModItems.powder_tungsten, 1), new ItemStack(ModItems.powder_tungsten, 1), new ItemStack(ModItems.powder_iron, 1), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new OreDictStack(CU.ore()), new ItemStack[] { lbs ? new ItemStack(ModItems.powder_copper, 2) : new ItemStack(ModItems.powder_copper, 1), new ItemStack(ModItems.powder_copper, 1), new ItemStack(ModItems.powder_gold, 1), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new OreDictStack(AL.ore()), new ItemStack[] { - new ItemStack(ModItems.powder_aluminium, 1), - new ItemStack(ModItems.powder_aluminium, 1), + new ItemStack(ModItems.chunk_ore, 2, ItemEnums.EnumChunkType.CRYOLITE.ordinal()), + new ItemStack(ModItems.powder_titanium, 1), new ItemStack(ModItems.powder_iron, 1), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new OreDictStack(PB.ore()), new ItemStack[] { lbs ? new ItemStack(ModItems.powder_lead, 2) : new ItemStack(ModItems.powder_lead, 1), lbs ? new ItemStack(ModItems.nugget_bismuth, 1) : new ItemStack(ModItems.powder_lead, 1), new ItemStack(ModItems.powder_gold, 1), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new OreDictStack(SA326.ore()), new ItemStack[] { new ItemStack(ModItems.powder_schrabidium, 1), new ItemStack(ModItems.powder_schrabidium, 1), new ItemStack(ModItems.nugget_solinium, 1), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new OreDictStack("oreRareEarth"), new ItemStack[] { new ItemStack(ModItems.powder_desh_mix, 1), new ItemStack(ModItems.nugget_zirconium, 1), new ItemStack(ModItems.nugget_zirconium, 1), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new OreDictStack(PU.ore()), new ItemStack[] { new ItemStack(ModItems.powder_plutonium, 1), new ItemStack(ModItems.powder_plutonium, 1), new ItemStack(ModItems.nugget_polonium, 3), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new OreDictStack(U.ore()), new ItemStack[] { lbs ? new ItemStack(ModItems.powder_uranium, 2) : new ItemStack(ModItems.powder_uranium, 1), lbs ? new ItemStack(ModItems.nugget_technetium, 2) : new ItemStack(ModItems.powder_uranium, 1), lbs ? new ItemStack(ModItems.nugget_ra226, 2) : new ItemStack(ModItems.nugget_ra226, 1), new ItemStack(Blocks.gravel, 1) }); - - recipes.put(new OreDictStack(TH232.ore()), new ItemStack[] { + + for(String ore : OreDictManager.TH232.all(MaterialShapes.ORE)) recipes.put(new OreDictStack(ore), new ItemStack[] { new ItemStack(ModItems.powder_thorium, 1), new ItemStack(ModItems.powder_thorium, 1), new ItemStack(ModItems.powder_uranium, 1), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new OreDictStack(BE.ore()), new ItemStack[] { new ItemStack(ModItems.powder_beryllium, 1), new ItemStack(ModItems.powder_beryllium, 1), new ItemStack(ModItems.powder_emerald, 1), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new OreDictStack(F.ore()), new ItemStack[] { new ItemStack(ModItems.fluorite, 3), new ItemStack(ModItems.fluorite, 3), new ItemStack(ModItems.gem_sodalite, 1), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new OreDictStack(REDSTONE.ore()), new ItemStack[] { new ItemStack(Items.redstone, 3), new ItemStack(Items.redstone, 3), lbs ? new ItemStack(ModItems.ingot_mercury, 3) : new ItemStack(ModItems.ingot_mercury, 1), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new ComparableStack(ModBlocks.ore_tikite), new ItemStack[] { new ItemStack(ModItems.powder_plutonium, 1), new ItemStack(ModItems.powder_cobalt, 2), new ItemStack(ModItems.powder_niobium, 2), new ItemStack(Blocks.end_stone, 1) }); - + recipes.put(new OreDictStack(LAPIS.ore()), new ItemStack[] { new ItemStack(ModItems.powder_lapis, 6), new ItemStack(ModItems.powder_cobalt_tiny, 1), new ItemStack(ModItems.gem_sodalite, 1), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new ComparableStack(ModBlocks.block_euphemium_cluster), new ItemStack[] { new ItemStack(ModItems.nugget_euphemium, 7), new ItemStack(ModItems.powder_schrabidium, 4), new ItemStack(ModItems.ingot_starmetal, 2), new ItemStack(ModItems.nugget_solinium, 2) }); - + recipes.put(new ComparableStack(ModBlocks.ore_nether_fire), new ItemStack[] { new ItemStack(Items.blaze_powder, 2), new ItemStack(ModItems.powder_fire, 2), new ItemStack(ModItems.ingot_phosphorus), new ItemStack(Blocks.netherrack) }); - + recipes.put(new OreDictStack(CO.ore()), new ItemStack[] { new ItemStack(ModItems.powder_cobalt, 2), new ItemStack(ModItems.powder_iron, 1), new ItemStack(ModItems.powder_copper, 1), new ItemStack(Blocks.gravel, 1) }); - + recipes.put(new ComparableStack(ModItems.powder_tektite), new ItemStack[] { new ItemStack(ModItems.powder_meteorite_tiny, 1), new ItemStack(ModItems.powder_paleogenite_tiny, 1), new ItemStack(ModItems.powder_meteorite_tiny, 1), new ItemStack(ModItems.dust, 6) }); - + recipes.put(new ComparableStack(ModBlocks.block_slag), new ItemStack[] { new ItemStack(Blocks.gravel, 1), new ItemStack(ModItems.powder_fire, 1), new ItemStack(ModItems.powder_calcium), new ItemStack(ModItems.dust) }); - + recipes.put(new ComparableStack(ModItems.powder_ash, 1, EnumAshType.COAL.ordinal()), new ItemStack[] { new ItemStack(ModItems.powder_coal_tiny, 2), new ItemStack(ModItems.powder_boron_tiny, 1), new ItemStack(ModItems.dust_tiny, 6)}); - + for(EnumBedrockOre ore : EnumBedrockOre.values()) { int i = ore.ordinal(); - + recipes.put(new ComparableStack(ModItems.ore_bedrock, 1, i), new ItemStack[] { new ItemStack(ModItems.ore_centrifuged, 1, i), new ItemStack(ModItems.ore_centrifuged, 1, i), new ItemStack(ModItems.ore_centrifuged, 1, i), new ItemStack(ModItems.ore_centrifuged, 1, i) }); - + recipes.put(new ComparableStack(ModItems.ore_cleaned, 1, i), new ItemStack[] { new ItemStack(ModItems.ore_separated, 1, i), new ItemStack(ModItems.ore_separated, 1, i), new ItemStack(ModItems.ore_separated, 1, i), new ItemStack(ModItems.ore_separated, 1, i) }); - + recipes.put(new ComparableStack(ModItems.ore_purified, 1, i), new ItemStack[] { new ItemStack(ModItems.ore_enriched, 1, i), new ItemStack(ModItems.ore_enriched, 1, i), new ItemStack(ModItems.ore_enriched, 1, i), new ItemStack(ModItems.ore_enriched, 1, i) }); - + EnumByproduct tier1 = ore.byproducts[0]; ItemStack by1 = tier1 == null ? new ItemStack(ModItems.dust) : DictFrame.fromOne(ModItems.ore_byproduct, tier1, 1); recipes.put(new ComparableStack(ModItems.ore_nitrated, 1, i), new ItemStack[] { @@ -494,7 +497,7 @@ public class CentrifugeRecipes extends SerializableRecipe { new ItemStack(ModItems.ore_nitrocrystalline, 1, i), ItemStackUtil.carefulCopy(by1), ItemStackUtil.carefulCopy(by1) }); - + EnumByproduct tier2 = ore.byproducts[1]; ItemStack by2 = tier2 == null ? new ItemStack(ModItems.dust) : DictFrame.fromOne(ModItems.ore_byproduct, tier2, 1); recipes.put(new ComparableStack(ModItems.ore_deepcleaned, 1, i), new ItemStack[] { @@ -502,7 +505,7 @@ public class CentrifugeRecipes extends SerializableRecipe { new ItemStack(ModItems.ore_enriched, 1, i), ItemStackUtil.carefulCopy(by2), ItemStackUtil.carefulCopy(by2) }); - + EnumByproduct tier3 = ore.byproducts[2]; ItemStack by3 = tier3 == null ? new ItemStack(ModItems.dust) : DictFrame.fromOne(ModItems.ore_byproduct, tier3, 1); recipes.put(new ComparableStack(ModItems.ore_seared, 1, i), new ItemStack[] { @@ -511,7 +514,7 @@ public class CentrifugeRecipes extends SerializableRecipe { ItemStackUtil.carefulCopy(by3), ItemStackUtil.carefulCopy(by3) }); } - + for(BedrockOreType type : BedrockOreType.values()) { recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.BASE, type)), new ItemStack[] {ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY, type), new ItemStack(Blocks.gravel)}); @@ -527,27 +530,27 @@ public class CentrifugeRecipes extends SerializableRecipe { recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_NOSULFURIC, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.primary1, 1), ItemBedrockOreNew.extract(type.primary2, 1), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_NOSOLVENT, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.primary1, 1), ItemBedrockOreNew.extract(type.primary2, 1), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_NORAD, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.primary1, 1), ItemBedrockOreNew.extract(type.primary2, 1), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_FIRST, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.primary1, 1), ItemBedrockOreNew.extract(type.primary1, 1), ItemBedrockOreNew.extract(type.primary2, 1), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type, 2)}); - recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_SECOND, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.primary1, 1), ItemBedrockOreNew.extract(type.primary2, 1), ItemBedrockOreNew.extract(type.primary2, 1), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type, 2)}); + recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_FIRST, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.primary1, 1), ItemBedrockOreNew.extract(type.primary1, 1), ItemBedrockOreNew.extract(type.primary2, 1), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type, 1)}); + recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_SECOND, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.primary1, 1), ItemBedrockOreNew.extract(type.primary2, 1), ItemBedrockOreNew.extract(type.primary2, 1), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type, 1)}); recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_WASHED, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.byproductAcid1, 1), ItemBedrockOreNew.extract(type.byproductAcid2, 1), ItemBedrockOreNew.extract(type.byproductAcid3, 1), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_WASHED, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.byproductSolvent1, 1), ItemBedrockOreNew.extract(type.byproductSolvent2, 1), ItemBedrockOreNew.extract(type.byproductSolvent3, 1), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_WASHED, type)), new ItemStack[] {ItemBedrockOreNew.extract(type.byproductRad1, 1), ItemBedrockOreNew.extract(type.byproductRad2, 1), ItemBedrockOreNew.extract(type.byproductRad3, 1), ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)}); } - + List quartz = OreDictionary.getOres("crystalCertusQuartz"); - + if(quartz != null && !quartz.isEmpty()) { ItemStack qItem = quartz.get(0).copy(); qItem.stackSize = 2; - + recipes.put(new OreDictStack("oreCertusQuartz"), new ItemStack[] { qItem.copy(), qItem.copy(), qItem.copy(), qItem.copy() }); } - + recipes.put(new ComparableStack(Items.blaze_rod), new ItemStack[] {new ItemStack(Items.blaze_powder, 1), new ItemStack(Items.blaze_powder, 1), new ItemStack(ModItems.powder_fire, 1), new ItemStack(ModItems.powder_fire, 1) }); recipes.put(new ComparableStack(ModItems.ingot_schraranium), new ItemStack[] { new ItemStack(ModItems.nugget_schrabidium, 2), new ItemStack(ModItems.nugget_schrabidium, 1), new ItemStack(ModItems.nugget_uranium, 3), new ItemStack(ModItems.nugget_neptunium, 2) }); @@ -566,7 +569,7 @@ public class CentrifugeRecipes extends SerializableRecipe { recipes.put(new ComparableStack(ModItems.crystal_niter), new ItemStack[] { new ItemStack(ModItems.niter, 3), new ItemStack(ModItems.niter, 3), new ItemStack(ModItems.niter, 3), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_copper), new ItemStack[] { new ItemStack(ModItems.powder_copper, 2), new ItemStack(ModItems.powder_copper, 2), new ItemStack(ModItems.sulfur, 1), new ItemStack(ModItems.powder_cobalt_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_tungsten), new ItemStack[] { new ItemStack(ModItems.powder_tungsten, 2), new ItemStack(ModItems.powder_tungsten, 2), new ItemStack(ModItems.powder_iron, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); - recipes.put(new ComparableStack(ModItems.crystal_aluminium), new ItemStack[] { new ItemStack(ModItems.powder_aluminium, 2), new ItemStack(ModItems.powder_aluminium, 2), new ItemStack(ModItems.powder_iron, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); + recipes.put(new ComparableStack(ModItems.crystal_aluminium), new ItemStack[] { new ItemStack(ModItems.chunk_ore, 3, ItemEnums.EnumChunkType.CRYOLITE.ordinal()), new ItemStack(ModItems.powder_titanium, 1), new ItemStack(ModItems.powder_iron, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_fluorite), new ItemStack[] { new ItemStack(ModItems.fluorite, 4), new ItemStack(ModItems.fluorite, 4), new ItemStack(ModItems.gem_sodalite, 2), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_beryllium), new ItemStack[] { new ItemStack(ModItems.powder_beryllium, 2), new ItemStack(ModItems.powder_beryllium, 2), new ItemStack(ModItems.powder_quartz, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_lead), new ItemStack[] { new ItemStack(ModItems.powder_lead, 2), new ItemStack(ModItems.powder_lead, 2), new ItemStack(ModItems.powder_gold, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); @@ -579,44 +582,44 @@ public class CentrifugeRecipes extends SerializableRecipe { recipes.put(new ComparableStack(ModItems.crystal_starmetal), new ItemStack[] { new ItemStack(ModItems.powder_dura_steel, 3), new ItemStack(ModItems.powder_cobalt, 3), new ItemStack(ModItems.powder_astatine, 2), new ItemStack(ModItems.ingot_mercury, 5) }); recipes.put(new ComparableStack(ModItems.crystal_cobalt), new ItemStack[] { new ItemStack(ModItems.powder_cobalt, 2), new ItemStack(ModItems.powder_iron, 3), new ItemStack(ModItems.powder_copper, 3), new ItemStack(ModItems.powder_lithium_tiny, 1) }); } - + @Override public void registerPost() { - + if(!IMCCentrifuge.buffer.isEmpty()) { recipes.putAll(IMCCentrifuge.buffer); MainRegistry.logger.info("Fetched " + IMCCentrifuge.buffer.size() + " IMC centrifuge recipes!"); IMCCentrifuge.buffer.clear(); } } - + public static ItemStack[] getOutput(ItemStack stack) { - + if(stack == null || stack.getItem() == null) return null; - + ComparableStack comp = new ComparableStack(stack).makeSingular(); - + if(recipes.containsKey(comp)) return RecipesCommon.copyStackArray(recipes.get(comp)); - + for(Entry entry : recipes.entrySet()) { if(entry.getKey().isApplicable(stack)) { return RecipesCommon.copyStackArray(entry.getValue()); } } - + return null; } public static HashMap getRecipes() { - + HashMap recipes = new HashMap(); - + for(Entry entry : CentrifugeRecipes.recipes.entrySet()) { recipes.put(entry.getKey(), entry.getValue()); } - + return recipes; } diff --git a/src/main/java/com/hbm/inventory/recipes/ChemicalPlantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemicalPlantRecipes.java new file mode 100644 index 000000000..ca4bcc193 --- /dev/null +++ b/src/main/java/com/hbm/inventory/recipes/ChemicalPlantRecipes.java @@ -0,0 +1,371 @@ +package com.hbm.inventory.recipes; + +import static com.hbm.inventory.OreDictManager.*; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +import com.hbm.blocks.ModBlocks; +import com.hbm.config.GeneralConfig; +import com.hbm.inventory.FluidStack; +import com.hbm.inventory.RecipesCommon.AStack; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.RecipesCommon.OreDictStack; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.recipes.loader.GenericRecipe; +import com.hbm.inventory.recipes.loader.GenericRecipes; +import com.hbm.items.ItemEnums.EnumFuelAdditive; +import com.hbm.items.ItemGenericPart.EnumPartType; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemFluidIcon; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +public class ChemicalPlantRecipes extends GenericRecipes { + + public static final ChemicalPlantRecipes INSTANCE = new ChemicalPlantRecipes(); + + @Override public int inputItemLimit() { return 3; } + @Override public int inputFluidLimit() { return 3; } + @Override public int outputItemLimit() { return 3; } + @Override public int outputFluidLimit() { return 3; } + + @Override public String getFileName() { return "hbmChemicalPlant.json"; } + @Override public GenericRecipe instantiateRecipe(String name) { return new GenericRecipe(name); } + + @Override + public void registerDefaults() { + + /// REGULAR FLUIDS /// + this.register(new GenericRecipe("chem.hydrogen").setupNamed(20, 400).setIcon(ModItems.gas_full, Fluids.HYDROGEN.getID()) + .inputItems(new OreDictStack(COAL.gem(), 1)) + .inputFluids(new FluidStack(Fluids.WATER, 8_000)) + .outputFluids(new FluidStack(Fluids.HYDROGEN, 500))); + + this.register(new GenericRecipe("chem.hydrogencoke").setupNamed(20, 400).setIcon(ModItems.gas_full, Fluids.HYDROGEN.getID()) + .inputItems(new OreDictStack(ANY_COKE.gem(), 1)) + .inputFluids(new FluidStack(Fluids.WATER, 8_000)) + .outputFluids(new FluidStack(Fluids.HYDROGEN, 500))); + + this.register(new GenericRecipe("chem.oxygen").setupNamed(20, 400).setIcon(ModItems.gas_full, Fluids.OXYGEN.getID()) + .inputFluids(new FluidStack(Fluids.AIR, 8_000)) + .outputFluids(new FluidStack(Fluids.OXYGEN, 500))); + + this.register(new GenericRecipe("chem.xenon").setupNamed(300, 1_000).setIcon(ModItems.gas_full, Fluids.XENON.getID()) + .inputFluids(new FluidStack(Fluids.AIR, 16_000)) + .outputFluids(new FluidStack(Fluids.XENON, 50))); + + this.register(new GenericRecipe("chem.xenonoxy").setupNamed(20, 1_000).setIcon(ModItems.gas_full, Fluids.XENON.getID()) + .inputFluids(new FluidStack(Fluids.AIR, 8_000), new FluidStack(Fluids.OXYGEN, 250)) + .outputFluids(new FluidStack(Fluids.XENON, 50))); + + this.register(new GenericRecipe("chem.helium3").setupNamed(200, 2_000).setIcon(ModItems.gas_full, Fluids.HELIUM3.getID()) + .inputItems(new ComparableStack(ModBlocks.moon_turf, 8)) + .outputFluids(new FluidStack(Fluids.HELIUM3, 1_000))); + + this.register(new GenericRecipe("chem.co2").setup(60, 100) + .inputFluids(new FluidStack(Fluids.GAS, 1_000)) + .outputFluids(new FluidStack(Fluids.CARBONDIOXIDE, 1_000))); + + this.register(new GenericRecipe("chem.perfluoromethyl").setup(20, 100) + .inputItems(new OreDictStack(F.dust())) + .inputFluids(new FluidStack(Fluids.PETROLEUM, 1_000), new FluidStack(Fluids.UNSATURATEDS, 500)) + .outputFluids(new FluidStack(Fluids.PERFLUOROMETHYL, 1_000))); + + this.register(new GenericRecipe("chem.cccentrifuge").setup(200, 100) + .inputFluids(new FluidStack(Fluids.CHLOROCALCITE_CLEANED, 500), new FluidStack(Fluids.SULFURIC_ACID, 8_000)) + .outputFluids(new FluidStack(Fluids.POTASSIUM_CHLORIDE, 250), new FluidStack(Fluids.CALCIUM_CHLORIDE, 250))); + + /// OILS /// + this.register(new GenericRecipe("chem.ethanol").setupNamed(50, 100).setIcon(ModItems.canister_full, Fluids.ETHANOL.getID()) + .inputItems(new ComparableStack(Items.sugar, 10)) + .outputFluids(new FluidStack(Fluids.ETHANOL, 1000))); + + this.register(new GenericRecipe("chem.biogas").setupNamed(60, 100).setIcon(ModItems.gas_full, Fluids.BIOGAS.getID()) + .inputItems(new ComparableStack(ModItems.biomass, 16)) + .inputFluids(new FluidStack(Fluids.AIR, 4_000)) + .outputFluids(new FluidStack(Fluids.BIOGAS, 2_000))); + + this.register(new GenericRecipe("chem.biofuel").setupNamed(60, 100).setIcon(ModItems.canister_full, Fluids.BIOFUEL.getID()) + .inputFluids(new FluidStack(Fluids.BIOGAS, 1_500), new FluidStack(Fluids.ETHANOL, 250)) + .outputFluids(new FluidStack(Fluids.BIOFUEL, 1_000))); + + this.register(new GenericRecipe("chem.reoil").setupNamed(40, 100).setIcon(ModItems.canister_full, Fluids.RECLAIMED.getID()) + .inputFluids(new FluidStack(Fluids.SMEAR, 1_000)) + .outputFluids(new FluidStack(Fluids.RECLAIMED, 800))); + + this.register(new GenericRecipe("chem.gasoline").setupNamed(40, 100).setIcon(ModItems.canister_full, Fluids.GASOLINE.getID()) + .inputFluids(new FluidStack(Fluids.NAPHTHA, 1000)) + .outputFluids(new FluidStack(Fluids.GASOLINE, 800))); + + this.register(new GenericRecipe("chem.tarsand").setupNamed(200, 100).setIcon(ModBlocks.ore_oil_sand) + .inputItems(new ComparableStack(ModBlocks.ore_oil_sand, 16), new OreDictStack(ANY_TAR.any(), 1)) + .outputItems(new ItemStack(Blocks.sand, 16)) + .outputFluids(new FluidStack(Fluids.BITUMEN, 1_000))); + + this.register(new GenericRecipe("chem.tel").setup(40, 100) + .inputItems(new OreDictStack(ANY_TAR.any()), new OreDictStack(PB.dust())) + .inputFluids(new FluidStack(Fluids.PETROLEUM, 100), new FluidStack(Fluids.STEAM, 1000)) + .outputItems(DictFrame.fromOne(ModItems.fuel_additive, EnumFuelAdditive.ANTIKNOCK))); + + this.register(new GenericRecipe("chem.deicer").setup(40, 100) + .inputFluids(new FluidStack(Fluids.GAS, 100), new FluidStack(Fluids.HYDROGEN, 50)) + .outputItems(DictFrame.fromOne(ModItems.fuel_additive, EnumFuelAdditive.DEICER))); + + /// THE CONC AND ASPHALE /// + this.register(new GenericRecipe("chem.concrete").setup(100, 100) + .inputItems(new ComparableStack(ModItems.powder_cement, 1), new ComparableStack(Blocks.gravel, 8), new OreDictStack(KEY_SAND, 8)) + .inputFluids(new FluidStack(Fluids.WATER, 2_000)) + .outputItems(new ItemStack(ModBlocks.concrete_smooth, 16))); + + this.register(new GenericRecipe("chem.concreteasbestos").setup(100, 100) + .inputItems(new ComparableStack(ModItems.powder_cement, 4), new OreDictStack(ASBESTOS.ingot(), (GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleChemsitry) ? 1 : 4), new OreDictStack(KEY_SAND, 8)) + .inputFluids(new FluidStack(Fluids.WATER, 2_000)) + .outputItems(new ItemStack(ModBlocks.concrete_asbestos, 16))); + + this.register(new GenericRecipe("chem.ducrete").setup(150, 100) + .inputItems(new ComparableStack(ModItems.powder_cement, 4), new OreDictStack(FERRO.ingot()), new OreDictStack(KEY_SAND, 8)) + .inputFluids(new FluidStack(Fluids.WATER, 2_000)) + .outputItems(new ItemStack(ModBlocks.ducrete_smooth, 8))); + + this.register(new GenericRecipe("chem.asphalt").setup(100, 100) + .inputItems(new ComparableStack(Blocks.gravel, 2), new OreDictStack(KEY_SAND, 6)) + .inputFluids(new FluidStack(Fluids.BITUMEN, 1_000)) + .outputItems(new ItemStack(ModBlocks.asphalt, 16))); + + /// SOLIDS /// + this.register(new GenericRecipe("chem.desh").setup(100, 100) + .inputItems(new ComparableStack(ModItems.powder_desh_mix)) + .inputFluids((GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleChemsitry) ? + new FluidStack[] {new FluidStack(Fluids.LIGHTOIL, 200)} : + new FluidStack[] {new FluidStack(Fluids.LIGHTOIL, 200), new FluidStack(Fluids.MERCURY, 200)}) + .outputItems(new ItemStack(ModItems.ingot_desh))); + + this.register(new GenericRecipe("chem.polymer").setup(100, 100) + .inputItems(new OreDictStack(COAL.dust(), 2), new OreDictStack(F.dust())) + .inputFluids(new FluidStack(Fluids.PETROLEUM, 500, GeneralConfig.enable528 ? 1 : 0)) + .outputItems(new ItemStack(ModItems.ingot_polymer))); + + this.register(new GenericRecipe("chem.bakelite").setup(100, 100) + .inputFluids(new FluidStack(Fluids.AROMATICS, 500, GeneralConfig.enable528 ? 1 : 0), new FluidStack(Fluids.PETROLEUM, 500, GeneralConfig.enable528 ? 1 : 0)) + .outputItems(new ItemStack(ModItems.ingot_bakelite))); + + this.register(new GenericRecipe("chem.rubber").setup(100, 200) + .inputItems(new OreDictStack(S.dust())) + .inputFluids(new FluidStack(Fluids.UNSATURATEDS, 500, GeneralConfig.enable528 ? 2 : 0)) + .outputItems(new ItemStack(ModItems.ingot_rubber))); + + this.register(new GenericRecipe("chem.hardplastic").setup(100, 1_000) + .inputFluids(new FluidStack(Fluids.XYLENE, 500, GeneralConfig.enable528 ? 2 : 0), new FluidStack(Fluids.PHOSGENE, 500, GeneralConfig.enable528 ? 2 : 0)) + .outputItems(new ItemStack(ModItems.ingot_pc))); + + this.register(new GenericRecipe("chem.pvc").setup(100, 1_000) + .inputItems(new OreDictStack(CD.dust())) + .inputFluids(new FluidStack(Fluids.UNSATURATEDS, 250, GeneralConfig.enable528 ? 2 : 0), new FluidStack(Fluids.CHLORINE, 250, GeneralConfig.enable528 ? 2 : 0)) + .outputItems(new ItemStack(ModItems.ingot_pvc, 2))); + + this.register(new GenericRecipe("chem.kevlar").setup(60, 300) + .inputFluids(new FluidStack(Fluids.AROMATICS, 200), new FluidStack(Fluids.NITRIC_ACID, 100), new FluidStack(GeneralConfig.enable528 ? Fluids.PHOSGENE : Fluids.CHLORINE, 100)) + .outputItems(new ItemStack(ModItems.plate_kevlar, 4))); + + this.register(new GenericRecipe("chem.meth").setup(60, 300) + .inputItems(new ComparableStack(Items.wheat), new ComparableStack(Items.dye, 2, 3)) + .inputFluids(new FluidStack(Fluids.LUBRICANT, 400), new FluidStack(Fluids.PEROXIDE, 500)) + .outputItems(new ItemStack(ModItems.chocolate, 4))); + + this.register(new GenericRecipe("chem.epearl").setup(100, 300) + .inputItems(new OreDictStack(DIAMOND.dust(), 1)) + .inputFluids(new FluidStack(Fluids.XPJUICE, 500)) + .outputFluids(new FluidStack(Fluids.ENDERJUICE, 100))); + + this.register(new GenericRecipe("chem.meatprocessing").setupNamed(200, 200).setIcon(ModItems.glyphid_meat) + .inputItems(new OreDictStack(KEY_GLYPHID_MEAT, 3)) + .inputFluids(new FluidStack(Fluids.WATER, 1_000)) + .outputItems(new ItemStack(ModItems.sulfur, 4), new ItemStack(ModItems.niter, 3)) + .outputFluids(new FluidStack(Fluids.SALIENT, 250))); + + this.register(new GenericRecipe("chem.rustysteel").setup(40, 100) + .inputItems(new ComparableStack(ModBlocks.deco_steel, 8)) + .inputFluids(new FluidStack(Fluids.WATER, 1000)) + .outputItems(new ItemStack(ModBlocks.deco_rusty_steel, 8))); + + /// ACIDS /// + this.register(new GenericRecipe("chem.peroxide").setup(50, 100) + .inputFluids(new FluidStack(Fluids.WATER, 1_000)) + .outputFluids(new FluidStack(Fluids.PEROXIDE, 1_000))); + + this.register(new GenericRecipe("chem.sulfuricacid").setup(50, 100) + .inputItems(new OreDictStack(S.dust())) + .inputFluids(new FluidStack(Fluids.PEROXIDE, 1_000), new FluidStack(Fluids.WATER, 1_000)) + .outputFluids(new FluidStack(Fluids.SULFURIC_ACID, 2_000))); + + this.register(new GenericRecipe("chem.nitricacid").setup(50, 100) + .inputItems(new OreDictStack(KNO.dust())) + .inputFluids(new FluidStack(Fluids.SULFURIC_ACID, 500)) + .outputFluids(new FluidStack(Fluids.NITRIC_ACID, 1_000))); + + this.register(new GenericRecipe("chem.birkeland").setupNamed(200, 5_000) + .inputFluids(new FluidStack(Fluids.AIR, 8_000), new FluidStack(Fluids.WATER, 2_000)) + .outputFluids(new FluidStack(Fluids.NITRIC_ACID, 1_000))); + + this.register(new GenericRecipe("chem.schrabidic").setup(100, 5_000) + .inputItems(new ComparableStack(ModItems.pellet_charged)) + .inputFluids(new FluidStack(Fluids.SAS3, 8000), new FluidStack(Fluids.PEROXIDE, 6000)) + .outputFluids(new FluidStack(Fluids.SCHRABIDIC, 16000))); + + this.register(new GenericRecipe("chem.schrabidate").setup(150, 5_000) + .inputItems(new OreDictStack(IRON.dust())) + .inputFluids(new FluidStack(Fluids.SCHRABIDIC, 250)) + .outputItems(new ItemStack(ModItems.powder_schrabidate))); + + /// COLTAN /// + this.register(new GenericRecipe("chem.coltancleaning").setup(60, 100) + .inputItems(new OreDictStack(COLTAN.dust(), 2), new OreDictStack(COAL.dust())) + .inputFluids(new FluidStack(Fluids.PEROXIDE, 250), new FluidStack(Fluids.HYDROGEN, 500)) + .outputItems(new ItemStack(ModItems.powder_coltan), new ItemStack(ModItems.powder_niobium), new ItemStack(ModItems.dust)) + .outputFluids(new FluidStack(Fluids.WATER, 500))); + + this.register(new GenericRecipe("chem.coltanpain").setup(120, 100) + .inputItems(new ComparableStack(ModItems.powder_coltan), new OreDictStack(F.dust())) + .inputFluids(new FluidStack(Fluids.GAS, 1000), new FluidStack(Fluids.OXYGEN, 500)) + .outputFluids(new FluidStack(Fluids.PAIN, 1000))); + + this.register(new GenericRecipe("chem.coltancrystal").setup(80, 100) + .inputFluids(new FluidStack(Fluids.PAIN, 1000), new FluidStack(Fluids.PEROXIDE, 500)) + .outputItems(new ItemStack(ModItems.gem_tantalium), new ItemStack(ModItems.dust, 3)) + .outputFluids(new FluidStack(Fluids.WATER, 250))); + + /// EXPLOSIVES /// + this.register(new GenericRecipe("chem.cordite").setup(40, 100) + .inputItems(new OreDictStack(KNO.dust(), 2), new ComparableStack(ModItems.powder_sawdust, 2)) + .inputFluids((GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleChemsitry) ? new FluidStack(Fluids.HEATINGOIL, 200) : new FluidStack(Fluids.GAS, 200)) + .outputItems(new ItemStack(ModItems.cordite, 4))); + + this.register(new GenericRecipe("chem.rocketfuel").setup(200, 100) + .inputItems(new ComparableStack(ModItems.solid_fuel, 2)) + .inputFluids(new FluidStack(Fluids.PETROLEUM, 200, GeneralConfig.enable528 ? 1 : 0), new FluidStack(Fluids.NITRIC_ACID, 100)) + .outputItems(new ItemStack(ModItems.rocket_fuel, 4))); + + this.register(new GenericRecipe("chem.dynamite").setup(50, 100) + .inputItems(new ComparableStack(Items.sugar), new OreDictStack(KNO.dust()), new OreDictStack(KEY_SAND)) + .outputItems(new ItemStack(ModItems.ball_dynamite, 2))); + + this.register(new GenericRecipe("chem.tnt").setup(100, 1_000) + .inputItems(new OreDictStack(KNO.dust())) + .inputFluids(new FluidStack(Fluids.AROMATICS, 500, GeneralConfig.enable528 ? 1 : 0)) + .outputItems(new ItemStack(ModItems.ball_tnt, 4))); + + this.register(new GenericRecipe("chem.tatb").setup(50, 5_000) + .inputItems(new ComparableStack(ModItems.ball_tnt)) + .inputFluids(new FluidStack(Fluids.SOURGAS, 200, 1), new FluidStack(Fluids.NITRIC_ACID, 10)) + .outputItems(new ItemStack(ModItems.ball_tatb))); + + this.register(new GenericRecipe("chem.c4").setup(100, 1_000) + .inputItems(new OreDictStack(KNO.dust())) + .inputFluids(new FluidStack(Fluids.UNSATURATEDS, 500, GeneralConfig.enable528 ? 1 : 0)) + .outputItems(new ItemStack(ModItems.ingot_c4, 4))); + + this.register(new GenericRecipe("chem.shellchlorine").setup(100, 1_000) + .inputItems(new ComparableStack(ModItems.ammo_arty, 1, 0), new OreDictStack(ANY_PLASTIC.ingot(), 1)) + .inputFluids(new FluidStack(Fluids.CHLORINE, 4_000)) + .outputItems(new ItemStack(ModItems.ammo_arty, 1, 9))); + + this.register(new GenericRecipe("chem.shellphosgene").setup(100, 1_000) + .inputItems(new ComparableStack(ModItems.ammo_arty, 1, 0), new OreDictStack(ANY_PLASTIC.ingot(), 1)) + .inputFluids(new FluidStack(Fluids.PHOSGENE, 4_000)) + .outputItems(new ItemStack(ModItems.ammo_arty, 1, 10))); + + this.register(new GenericRecipe("chem.shellmustard").setup(100, 1_000) + .inputItems(new ComparableStack(ModItems.ammo_arty, 1, 0), new OreDictStack(ANY_PLASTIC.ingot(), 1)) + .inputFluids(new FluidStack(Fluids.MUSTARDGAS, 4_000)) + .outputItems(new ItemStack(ModItems.ammo_arty, 1, 11))); + + /// GLASS /// + this.register(new GenericRecipe("chem.laminate").setup(20, 100) + .inputFluids(new FluidStack(Fluids.XYLENE, 50), new FluidStack(Fluids.PHOSGENE, 50)) + .inputItems(new OreDictStack(KEY_ANYGLASS), new OreDictStack(STEEL.bolt(), 4)) + .outputItems(new ItemStack(ModBlocks.reinforced_laminate))); + + this.register(new GenericRecipe("chem.polarized").setup(100, 500) + .inputFluids(new FluidStack(Fluids.PETROLEUM, 1_000)) + .inputItems(new OreDictStack(KEY_ANYPANE)) + .outputItems(DictFrame.fromOne(ModItems.part_generic, EnumPartType.GLASS_POLARIZED, 16))); + + /// NUCLEAR PROCESSING /// + this.register(new GenericRecipe("chem.yellowcake").setup(250, 500) + .inputItems(new OreDictStack(U.billet(), 2), new OreDictStack(S.dust(), 2)) + .inputFluids(new FluidStack(Fluids.PEROXIDE, 500)) + .outputItems(new ItemStack(ModItems.powder_yellowcake))); + + this.register(new GenericRecipe("chem.uf6").setup(100, 500).setIcon(ModItems.fluid_icon, Fluids.UF6.getID()) + .inputItems(new ComparableStack(ModItems.powder_yellowcake), new OreDictStack(F.dust(), 4)) + .inputFluids(new FluidStack(Fluids.WATER, 1_000)) + .outputItems(new ItemStack(ModItems.sulfur, 2)) + .outputFluids(new FluidStack(Fluids.UF6, 1_200))); + + this.register(new GenericRecipe("chem.puf6").setup(200, 500) + .inputItems(new OreDictStack(PU.dust()), new OreDictStack(F.dust(), 3)) + .inputFluids(new FluidStack(Fluids.WATER, 1_000)) + .outputFluids(new FluidStack(Fluids.PUF6, 900))); + + this.register(new GenericRecipe("chem.sas3").setup(200, 5_000) + .inputItems(new OreDictStack(SA326.dust()), new OreDictStack(S.dust(), 2)) + .inputFluids(new FluidStack(Fluids.PEROXIDE, 2_000)) + .outputFluids(new FluidStack(Fluids.SAS3, 1_000))); + + this.register(new GenericRecipe("chem.balefire").setup(100, 10_000).setIcon(ModItems.fluid_icon, Fluids.BALEFIRE.getID()) + .inputItems(new ComparableStack(ModItems.egg_balefire_shard)) + .inputFluids(new FluidStack(Fluids.KEROSENE, 6_000)) + .outputItems(new ItemStack(ModItems.powder_balefire)) + .outputFluids(new FluidStack(Fluids.BALEFIRE, 8_000))); + + this.register(new GenericRecipe("chem.thoriumsalt").setup(100, 10_000).setIcon(ModItems.fluid_icon, Fluids.THORIUM_SALT.getID()) + .inputFluids(new FluidStack(Fluids.THORIUM_SALT_DEPLETED, 16_000)) + .inputItems(new OreDictStack(TH232.nugget(), 2)) + .outputFluids(new FluidStack(Fluids.THORIUM_SALT, 16_000)) + .outputItems( + new ChanceOutput(new ItemStack(ModItems.nugget_u233, 1), 0.5F), + new ChanceOutput(new ItemStack(ModItems.nuclear_waste_tiny, 1), 0.25F))); + + /// VITRIFICATION /// + this.register(new GenericRecipe("chem.vitliquid").setup(100, 1_000) + .inputItems(new ComparableStack(ModBlocks.sand_lead)) + .inputFluids(new FluidStack(Fluids.WASTEFLUID, 1_000)) + .outputItems(new ItemStack(ModItems.nuclear_waste_vitrified))); + + this.register(new GenericRecipe("chem.vitgaseous").setup(100, 1_000) + .inputItems(new ComparableStack(ModBlocks.sand_lead)) + .inputFluids(new FluidStack(Fluids.WASTEGAS, 1_000)) + .outputItems(new ItemStack(ModItems.nuclear_waste_vitrified))); + + this.register(new GenericRecipe("chem.vitsolid").setup(300, 1_000) + .inputItems(new ComparableStack(ModBlocks.sand_lead), new ComparableStack(ModItems.nuclear_waste, 4)) + .outputItems(new ItemStack(ModItems.nuclear_waste_vitrified, 4))); + + /// OSMIRIDIUM /// + this.register(new GenericRecipe("chem.osmiridiumdeath").setup(240, 1_000) + .inputItems(new ComparableStack(ModItems.powder_paleogenite), new OreDictStack(F.dust(), 8), new ComparableStack(ModItems.nugget_bismuth, 4)) + .inputFluids(new FluidStack(Fluids.PEROXIDE, 1_000, 5)) + .outputFluids(new FluidStack(Fluids.DEATH, 1_000, 0))); + + } + + public static HashMap getRecipes() { + HashMap recipes = new HashMap(); + + for(GenericRecipe recipe : INSTANCE.recipeOrderedList) { + List input = new ArrayList(); + if(recipe.inputItem != null) for(AStack stack : recipe.inputItem) input.add(stack); + if(recipe.inputFluid != null) for(FluidStack stack : recipe.inputFluid) input.add(ItemFluidIcon.make(stack)); + List output = new ArrayList(); + if(recipe.outputItem != null) for(IOutput stack : recipe.outputItem) output.add(stack.getAllPossibilities()); + if(recipe.outputFluid != null) for(FluidStack stack : recipe.outputFluid) output.add(ItemFluidIcon.make(stack)); + recipes.put(input.toArray(), output.toArray()); + } + + return recipes; + } +} diff --git a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java index 06b7f69cd..487d51983 100644 --- a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java @@ -25,8 +25,9 @@ import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; +@Deprecated public class ChemplantRecipes extends SerializableRecipe { - + /** * Nice order: The order in which the ChemRecipe are added to the recipes list * Meta order: Fixed using the id param, saved in indexMapping @@ -34,13 +35,13 @@ public class ChemplantRecipes extends SerializableRecipe { public static HashMap indexMapping = new HashMap(); public static List recipes = new ArrayList(); - + @Override public void registerDefaults() { - - //6-30, formerly oil cracking, coal liquefaction and solidifciation + + //6-30, formerly oil cracking, coal liquefaction and solidification registerOtherOil(); - + recipes.add(new ChemRecipe(36, "COOLANT", 50) .inputItems(new OreDictStack(KNO.dust())) .inputFluids(new FluidStack(Fluids.WATER, 1800)) @@ -99,7 +100,7 @@ public class ChemplantRecipes extends SerializableRecipe { new FluidStack(Fluids.XYLENE, 500), new FluidStack(Fluids.OXYGEN, 100)) .outputItems(new ItemStack(ModItems.ingot_pet)));*/ - + //Laminate Glass going here recipes.add(new ChemRecipe(97, "LAMINATE", 100) .inputFluids( @@ -219,18 +220,13 @@ public class ChemplantRecipes extends SerializableRecipe { new FluidStack(Fluids.HYDROGEN, 400), new FluidStack(Fluids.OXYGEN, 400))); recipes.add(new ChemRecipe(59, "XENON", 300) - .inputFluids(new FluidStack(Fluids.NONE, 0)) + .inputFluids(new FluidStack(Fluids.AIR, 16_000)) .outputFluids(new FluidStack(Fluids.XENON, 50))); recipes.add(new ChemRecipe(60, "XENON_OXY", 20) - .inputFluids(new FluidStack(Fluids.OXYGEN, 250)) + .inputFluids( + new FluidStack(Fluids.AIR, 8_000), + new FluidStack(Fluids.OXYGEN, 250)) .outputFluids(new FluidStack(Fluids.XENON, 50))); - recipes.add(new ChemRecipe(61, "SATURN", 60) - .inputItems( - new OreDictStack(DURA.dust(), 2), - new OreDictStack(CU.dust(), 1), - new OreDictStack(COAL.dust(), 1)) - .inputFluids(new FluidStack(Fluids.SULFURIC_ACID, 100)) - .outputItems(new ItemStack(ModItems.ingot_saturnite, 4))); recipes.add(new ChemRecipe(62, "BALEFIRE", 100) .inputItems(new ComparableStack(ModItems.egg_balefire_shard)) .inputFluids(new FluidStack(Fluids.KEROSENE, 6000)) @@ -334,7 +330,7 @@ public class ChemplantRecipes extends SerializableRecipe { new ComparableStack(ModItems.nugget_bismuth, 4)) .inputFluids(new FluidStack(Fluids.PEROXIDE, 1000, 5)) .outputFluids(new FluidStack(Fluids.DEATH, 1000, 0))); - //one bucket of ethanol equals 275_000 TU using the diesel baseline0 + //one bucket of ethanol equals 275_000 TU using the diesel baseline //the coal baseline is 400_000 per piece //if we assume a burntime of 1.5 ops (300 ticks) for sugar at 100 TU/t that would equal a total of 30_000 TU recipes.add(new ChemRecipe(75, "ETHANOL", 50) @@ -381,7 +377,7 @@ public class ChemplantRecipes extends SerializableRecipe { recipes.add(new ChemRecipe(101, "CC_CENTRIFUGE", 200) .inputFluids(new FluidStack(Fluids.CHLOROCALCITE_CLEANED, 500), new FluidStack(Fluids.SULFURIC_ACID, 8_000)) .outputFluids(new FluidStack(Fluids.POTASSIUM_CHLORIDE, 250), new FluidStack(Fluids.CALCIUM_CHLORIDE, 250))); - + recipes.add(new ChemRecipe(102, "THORIUM_SALT", 60) .inputFluids(new FluidStack(Fluids.THORIUM_SALT_DEPLETED, 16_000)) .inputItems(new OreDictStack(TH232.nugget(), 2)) @@ -397,11 +393,16 @@ public class ChemplantRecipes extends SerializableRecipe { new ItemStack(ModItems.niter, 3)) .outputFluids(new FluidStack(Fluids.SALIENT, 250))); + recipes.add(new ChemRecipe(104, "RUSTY_DECO_STEEL", 100) + .inputItems(new ComparableStack(ModBlocks.deco_steel, 8)) + .inputFluids(new FluidStack(Fluids.WATER, 1000)) + .outputItems(new ItemStack(ModBlocks.deco_rusty_steel, 8))); } public static void registerOtherOil() { recipes.add(new ChemRecipe(31, "BP_BIOGAS", 60) .inputItems(new ComparableStack(ModItems.biomass, 16)) //if we assume 1B BF = 500k and translate that to 2B BG = 500k, then each biomass is worth ~31k or roughly 1.5 furnace operations + .inputFluids(new FluidStack(Fluids.AIR, 4000)) .outputFluids(new FluidStack(2000, Fluids.BIOGAS))); recipes.add(new ChemRecipe(32, "BP_BIOFUEL", 60) .inputFluids(new FluidStack(1500, Fluids.BIOGAS), new FluidStack(250, Fluids.ETHANOL)) @@ -418,8 +419,8 @@ public class ChemplantRecipes extends SerializableRecipe { .inputFluids(new FluidStack(1000, Fluids.BITUMEN)) .outputItems(new ItemStack(ModBlocks.asphalt, 16))); } - - public static class ChemRecipe { + + @Deprecated public static class ChemRecipe { public int listing; private int id; @@ -429,49 +430,49 @@ public class ChemplantRecipes extends SerializableRecipe { public ItemStack[] outputs; public FluidStack[] outputFluids; private int duration; - + public ChemRecipe(int index, String name, int duration) { this.id = index; this.name = name; this.duration = duration; this.listing = recipes.size(); - + this.inputs = new AStack[4]; this.outputs = new ItemStack[4]; this.inputFluids = new FluidStack[2]; this.outputFluids = new FluidStack[2]; - + if(!indexMapping.containsKey(id)) { indexMapping.put(id, this); } else { throw new IllegalStateException("Chemical plant recipe " + name + " has been registered with duplicate id " + id + " used by " + indexMapping.get(id).name + "!"); } } - + public ChemRecipe inputItems(AStack... in) { for(int i = 0; i < in.length; i++) this.inputs[i] = in[i]; return this; } - + public ChemRecipe inputFluids(FluidStack... in) { for(int i = 0; i < in.length; i++) this.inputFluids[i] = in[i]; return this; } - + public ChemRecipe outputItems(ItemStack... out) { for(int i = 0; i < out.length; i++) this.outputs[i] = out[i]; return this; } - + public ChemRecipe outputFluids(FluidStack... out) { for(int i = 0; i < out.length; i++) this.outputFluids[i] = out[i]; return this; } - + public int getId() { return this.id; } - + public int getDuration() { return this.duration; } @@ -493,7 +494,7 @@ public class ChemplantRecipes extends SerializableRecipe { int id = obj.get("id").getAsInt(); String name = obj.get("name").getAsString(); int duration = obj.get("duration").getAsInt(); - + recipes.add(new ChemRecipe(id, name, duration) .inputFluids( this.readFluidArray( (JsonArray) obj.get("fluidInput"))) .inputItems( this.readAStackArray( (JsonArray) obj.get("itemInput"))) @@ -529,7 +530,7 @@ public class ChemplantRecipes extends SerializableRecipe { ex.printStackTrace(); } } - + public String getComment() { return "Rules: All in- and output arrays need to be present, even if empty. IDs need to be unique, but not sequential. It's safe if you add your own" + " recipes starting with ID 1000. Template order depends on the order of the recipes in this JSON file. The 'name' field is responsible for" diff --git a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java index 75b97e3a5..32f1bbd6a 100644 --- a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java @@ -24,8 +24,8 @@ import net.minecraft.init.Items; import net.minecraft.item.ItemStack; public class CokerRecipes extends SerializableRecipe { - - private static HashMap> recipes = new HashMap(); + + public static HashMap> recipes = new HashMap(); @Override public void registerDefaults() { @@ -58,7 +58,7 @@ public class CokerRecipes extends SerializableRecipe { registerSFAuto(WOODOIL, 340_000L, new ItemStack(Items.coal, 1, 1), GAS_COKER); registerRecipe(WATZ, 4_000, new ItemStack(ModItems.ingot_mud, 4), null); - registerRecipe(REDMUD, 1_000, new ItemStack(Items.iron_ingot, 1), new FluidStack(MERCURY, 50)); + registerRecipe(REDMUD, 450, new ItemStack(Items.iron_ingot, 1), new FluidStack(MERCURY, 50)); registerRecipe(BITUMEN, 16_000, DictFrame.fromOne(ModItems.coke, EnumCokeType.PETROLEUM), new FluidStack(OIL_COKER, 1_600)); registerRecipe(LUBRICANT, 12_000, DictFrame.fromOne(ModItems.coke, EnumCokeType.PETROLEUM), new FluidStack(OIL_COKER, 1_200)); registerRecipe(CALCIUM_SOLUTION, 125, new ItemStack(ModItems.powder_calcium), new FluidStack(SPENTSTEAM, 100)); @@ -68,23 +68,23 @@ public class CokerRecipes extends SerializableRecipe { registerRecipe(VITRIOL, 4000, new ItemStack(ModItems.powder_iron), new FluidStack(SULFURIC_ACID, 500)); } - private static void registerAuto(FluidType fluid, FluidType type) { + public static void registerAuto(FluidType fluid, FluidType type) { registerSFAuto(fluid, 820_000L, DictFrame.fromOne(ModItems.coke, EnumCokeType.PETROLEUM), type); //3200 burntime * 1.25 burntime bonus * 200 TU/t + 20000TU per operation } private static void registerSFAuto(FluidType fluid, long tuPerSF, ItemStack fuel, FluidType type) { long tuFlammable = fluid.hasTrait(FT_Flammable.class) ? fluid.getTrait(FT_Flammable.class).getHeatEnergy() : 0; long tuCombustible = fluid.hasTrait(FT_Combustible.class) ? fluid.getTrait(FT_Combustible.class).getCombustionEnergy() : 0; - + long tuPerBucket = Math.max(tuFlammable, tuCombustible); - + double penalty = 1;//1.1D; //no penalty - + int mB = (int) (tuPerSF * 1000L * penalty / tuPerBucket); if(mB > 10_000) mB -= (mB % 1000); else if(mB > 1_000) mB -= (mB % 100); else if(mB > 100) mB -= (mB % 10); - + FluidStack byproduct = type == null ? null : new FluidStack(type, Math.max(10, mB / 10)); registerRecipe(fluid, mB, fuel, byproduct); @@ -92,28 +92,28 @@ public class CokerRecipes extends SerializableRecipe { private static void registerRecipe(FluidType type, int quantity, ItemStack output, FluidStack byproduct) { recipes.put(type, new Triplet(quantity, output, byproduct)); } - + public static Triplet getOutput(FluidType type) { return recipes.get(type); } public static HashMap getRecipes() { - + HashMap recipes = new HashMap(); - + for(Entry> entry : CokerRecipes.recipes.entrySet()) { - + FluidType type = entry.getKey(); int amount = entry.getValue().getX(); ItemStack out = entry.getValue().getY().copy(); FluidStack byproduct = entry.getValue().getZ(); - + if(out != null && byproduct != null) recipes.put(ItemFluidIcon.make(type, amount), new ItemStack[] {out, ItemFluidIcon.make(byproduct)}); if(out != null && byproduct == null) recipes.put(ItemFluidIcon.make(type, amount), new ItemStack[] {out}); if(out == null && byproduct != null) recipes.put(ItemFluidIcon.make(type, amount), new ItemStack[] {ItemFluidIcon.make(byproduct)}); } - + return recipes; } diff --git a/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java b/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java index 8f4bf4b83..58cc7784a 100644 --- a/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java @@ -9,8 +9,6 @@ import static com.hbm.inventory.OreDictManager.*; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; -import com.hbm.blocks.BlockEnums.EnumStoneType; -import com.hbm.blocks.ModBlocks; import com.hbm.inventory.FluidStack; import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.inventory.RecipesCommon.AStack; @@ -18,6 +16,7 @@ import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.items.ItemEnums; import com.hbm.items.ItemEnums.EnumAshType; import com.hbm.items.ItemEnums.EnumBriquetteType; import com.hbm.items.ItemEnums.EnumCokeType; @@ -35,14 +34,14 @@ import net.minecraft.item.ItemStack; public class CombinationRecipes extends SerializableRecipe { - private static HashMap> recipes = new HashMap(); + public static HashMap> recipes = new HashMap(); @Override public void registerDefaults() { recipes.put(COAL.gem(), new Pair(DictFrame.fromOne(ModItems.coke, EnumCokeType.COAL), new FluidStack(Fluids.COALCREOSOTE, 100))); recipes.put(COAL.dust(), new Pair(DictFrame.fromOne(ModItems.coke, EnumCokeType.COAL), new FluidStack(Fluids.COALCREOSOTE, 100))); recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.briquette, EnumBriquetteType.COAL)), new Pair(DictFrame.fromOne(ModItems.coke, EnumCokeType.COAL), new FluidStack(Fluids.COALCREOSOTE, 150))); - + recipes.put(LIGNITE.gem(), new Pair(DictFrame.fromOne(ModItems.coke, EnumCokeType.LIGNITE), new FluidStack(Fluids.COALCREOSOTE, 50))); recipes.put(LIGNITE.dust(), new Pair(DictFrame.fromOne(ModItems.coke, EnumCokeType.LIGNITE), new FluidStack(Fluids.COALCREOSOTE, 50))); recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.briquette, EnumBriquetteType.LIGNITE)), new Pair(DictFrame.fromOne(ModItems.coke, EnumCokeType.LIGNITE), new FluidStack(Fluids.COALCREOSOTE, 100))); @@ -52,7 +51,7 @@ public class CombinationRecipes extends SerializableRecipe { recipes.put(CINNABAR.crystal(), new Pair(new ItemStack(ModItems.sulfur), new FluidStack(Fluids.MERCURY, 100))); recipes.put(new ComparableStack(Items.glowstone_dust), new Pair(new ItemStack(ModItems.sulfur), new FluidStack(Fluids.CHLORINE, 100))); recipes.put(SODALITE.gem(), new Pair(new ItemStack(ModItems.powder_sodium), new FluidStack(Fluids.CHLORINE, 100))); - recipes.put(new ComparableStack(DictFrame.fromOne(ModBlocks.stone_resource, EnumStoneType.BAUXITE)), new Pair(new ItemStack(ModItems.ingot_aluminium, 2), new FluidStack(Fluids.REDMUD, 250))); + recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.chunk_ore, ItemEnums.EnumChunkType.CRYOLITE)), new Pair(new ItemStack(ModItems.powder_aluminium, 1), new FluidStack(Fluids.LYE, 150))); recipes.put(NA.dust(), new Pair(null, new FluidStack(Fluids.SODIUM, 100))); recipes.put(LIMESTONE.dust(), new Pair(new ItemStack(ModItems.powder_calcium), new FluidStack(Fluids.CARBONDIOXIDE, 50))); @@ -67,7 +66,7 @@ public class CombinationRecipes extends SerializableRecipe { recipes.put(new ComparableStack(Items.reeds), new Pair(new ItemStack(Items.sugar, 2), new FluidStack(Fluids.ETHANOL, 50))); recipes.put(new ComparableStack(Blocks.clay), new Pair(new ItemStack(Blocks.brick_block, 1), null)); - + for(BedrockOreType type : BedrockOreType.values()) { recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.BASE, type)), new Pair(ItemBedrockOreNew.make(BedrockOreGrade.BASE_ROASTED, type), new FluidStack(Fluids.VITRIOL, 50))); recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY, type)), new Pair(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_ROASTED, type), new FluidStack(Fluids.VITRIOL, 50))); @@ -76,21 +75,21 @@ public class CombinationRecipes extends SerializableRecipe { recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_BYPRODUCT, type)), new Pair(ItemBedrockOreNew.make(BedrockOreGrade.RAD_ROASTED, type), new FluidStack(Fluids.VITRIOL, 50))); } } - + public static Pair getOutput(ItemStack stack) { - + if(stack == null || stack.getItem() == null) return null; - + ComparableStack comp = new ComparableStack(stack.getItem(), 1, stack.getItemDamage()); - + if(recipes.containsKey(comp)) { Pair out = recipes.get(comp); return new Pair(out.getKey() == null ? null : out.getKey().copy(), out.getValue()); } - + String[] dictKeys = comp.getDictKeys(); - + for(String key : dictKeys) { if(recipes.containsKey(key)) { @@ -98,19 +97,19 @@ public class CombinationRecipes extends SerializableRecipe { return new Pair(out.getKey() == null ? null : out.getKey().copy(), out.getValue()); } } - + return null; } public static HashMap getRecipes() { - + HashMap recipes = new HashMap(); - + for(Entry> entry : CombinationRecipes.recipes.entrySet()) { Object key = entry.getKey(); Pair val = entry.getValue(); Object o = key instanceof String ? new OreDictStack((String) key) : key; - + if(val.getKey() != null && val.getValue() != null) { recipes.put(o, new ItemStack[] {val.getKey(), ItemFluidIcon.make(val.getValue())}); } else if(val.getKey() != null) { @@ -119,7 +118,7 @@ public class CombinationRecipes extends SerializableRecipe { recipes.put(o, new ItemStack[] {ItemFluidIcon.make(val.getValue())}); } } - + return recipes; } @@ -139,10 +138,10 @@ public class CombinationRecipes extends SerializableRecipe { AStack in = this.readAStack(obj.get("input").getAsJsonArray()); FluidStack fluid = null; ItemStack out = null; - + if(obj.has("fluid")) fluid = this.readFluidStack(obj.get("fluid").getAsJsonArray()); if(obj.has("output")) out = this.readItemStack(obj.get("output").getAsJsonArray()); - + if(in instanceof ComparableStack) { recipes.put(((ComparableStack) in).makeSingular(), new Pair(out, fluid)); } else if(in instanceof OreDictStack) { @@ -157,7 +156,7 @@ public class CombinationRecipes extends SerializableRecipe { Pair Pair = rec.getValue(); ItemStack output = Pair.key; FluidStack fluid = Pair.value; - + writer.name("input"); if(in instanceof String) { this.writeAStack(new OreDictStack((String) in), writer); diff --git a/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java b/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java index a611276ae..ff8c074c3 100644 --- a/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java @@ -11,22 +11,38 @@ import com.hbm.inventory.FluidStack; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.items.machine.ItemFluidIcon; import com.hbm.util.Tuple.Pair; +import net.minecraft.item.ItemStack; + public class CompressorRecipes extends SerializableRecipe { public static HashMap, CompressorRecipe> recipes = new HashMap(); @Override public void registerDefaults() { - recipes.put(new Pair(Fluids.STEAM, 0), new CompressorRecipe(1_000, new FluidStack(Fluids.HOTSTEAM, 100))); - recipes.put(new Pair(Fluids.HOTSTEAM, 0), new CompressorRecipe(1_000, new FluidStack(Fluids.SUPERHOTSTEAM, 100))); - recipes.put(new Pair(Fluids.SUPERHOTSTEAM, 0), new CompressorRecipe(1_000, new FluidStack(Fluids.ULTRAHOTSTEAM, 100))); - recipes.put(new Pair(Fluids.PETROLEUM, 0), new CompressorRecipe(2_000, new FluidStack(Fluids.PETROLEUM, 2_000, 1), 20)); recipes.put(new Pair(Fluids.PETROLEUM, 1), new CompressorRecipe(2_000, new FluidStack(Fluids.LPG, 1_000, 0), 20)); recipes.put(new Pair(Fluids.BLOOD, 3), new CompressorRecipe(1_000, new FluidStack(Fluids.HEAVYOIL, 250, 0), 200)); + + recipes.put(new Pair(Fluids.PERFLUOROMETHYL, 0), new CompressorRecipe(1_000, new FluidStack(Fluids.PERFLUOROMETHYL, 1_000, 1), 50)); + recipes.put(new Pair(Fluids.PERFLUOROMETHYL, 1), new CompressorRecipe(1_000, new FluidStack(Fluids.PERFLUOROMETHYL_COLD, 1_000, 0), 50)); + } + + public static HashMap getRecipes() { + + HashMap recipes = new HashMap(); + + for(Entry, CompressorRecipe> entry : CompressorRecipes.recipes.entrySet()) { + ItemStack input = ItemFluidIcon.make(entry.getKey().getKey(), entry.getValue().inputAmount, entry.getKey().getValue()); + ItemStack output = ItemFluidIcon.make(entry.getValue().output); + if(input.getItemDamage() == output.getItemDamage()) continue; + recipes.put(input, output); + } + + return recipes; } public static class CompressorRecipe { diff --git a/src/main/java/com/hbm/inventory/recipes/CrackingRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrackingRecipes.java index 7bfe680ec..b66cf903d 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrackingRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrackingRecipes.java @@ -36,7 +36,7 @@ public class CrackingRecipes extends SerializableRecipe { public static final int xyl_crack_aroma = 80; public static final int xyl_crack_petro = 20; - private static Map> cracking = new HashMap(); + public static Map> cracking = new HashMap(); @Override public void registerDefaults() { diff --git a/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java index 919efab4f..fe489691e 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java @@ -258,14 +258,15 @@ public class CrucibleRecipes extends SerializableRecipe { NTMMaterial convert = material.smeltsInto; if(convert.smeltable == SmeltingBehavior.SMELTABLE || convert.smeltable == SmeltingBehavior.ADDITIVE) for(MaterialShapes shape : MaterialShapes.allShapes) { //TODO: buffer these - - String name = shape.name() + material.names[0]; - List ores = OreDictionary.getOres(name); - - if(!ores.isEmpty()) { - List stacks = new ArrayList(); - stacks.add(ItemScraps.create(new MaterialStack(convert, (int) (shape.q(1) * out / in)), true)); - map.put(new OreDictStack(name), stacks); + if(!shape.noAutogen) { + String name = shape.make(material); + List ores = OreDictionary.getOres(name); + + if(!ores.isEmpty()) { + List stacks = new ArrayList(); + stacks.add(ItemScraps.create(new MaterialStack(convert, (int) (shape.q(1) * out / in)), true)); + map.put(new OreDictStack(name), stacks); + } } } } diff --git a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java index 5930101dd..4902d2f06 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java @@ -13,18 +13,24 @@ import com.google.gson.stream.JsonWriter; import com.hbm.blocks.ModBlocks; import com.hbm.handler.imc.IMCCrystallizer; import com.hbm.inventory.FluidStack; +import com.hbm.inventory.OreDictManager; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.material.MaterialShapes; +import com.hbm.inventory.material.Mats; +import com.hbm.inventory.material.Mats.MaterialStack; import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.items.ItemEnums.EnumAshType; +import com.hbm.items.ItemEnums.EnumChunkType; import com.hbm.items.ItemEnums.EnumPlantType; import com.hbm.items.ItemEnums.EnumTarType; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemChemicalDye.EnumChemDye; import com.hbm.items.machine.ItemFluidIcon; +import com.hbm.items.machine.ItemScraps; import com.hbm.items.special.ItemBedrockOreNew; import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre; import com.hbm.items.special.ItemBedrockOreNew.BedrockOreGrade; @@ -43,7 +49,7 @@ import net.minecraftforge.oredict.OreDictionary; //This time we're doing this right //...right? public class CrystallizerRecipes extends SerializableRecipe { - + //'Object' is either a ComparableStack or the key for the ore dict private static HashMap, CrystallizerRecipe> recipes = new HashMap(); private static HashMap amounts = new HashMap(); // for use in the partitioner @@ -56,55 +62,57 @@ public class CrystallizerRecipes extends SerializableRecipe { final int mixingTime = 20; FluidStack sulfur = new FluidStack(Fluids.SULFURIC_ACID, 500); - registerRecipe(COAL.ore(), new CrystallizerRecipe(ModItems.crystal_coal, baseTime)); - registerRecipe(IRON.ore(), new CrystallizerRecipe(ModItems.crystal_iron, baseTime)); - registerRecipe(GOLD.ore(), new CrystallizerRecipe(ModItems.crystal_gold, baseTime)); - registerRecipe(REDSTONE.ore(), new CrystallizerRecipe(ModItems.crystal_redstone, baseTime)); - registerRecipe(LAPIS.ore(), new CrystallizerRecipe(ModItems.crystal_lapis, baseTime)); - registerRecipe(DIAMOND.ore(), new CrystallizerRecipe(ModItems.crystal_diamond, baseTime)); - registerRecipe(U.ore(), new CrystallizerRecipe(ModItems.crystal_uranium, baseTime), sulfur); - registerRecipe(TH232.ore(), new CrystallizerRecipe(ModItems.crystal_thorium, baseTime), sulfur); - registerRecipe(PU.ore(), new CrystallizerRecipe(ModItems.crystal_plutonium, baseTime), sulfur); - registerRecipe(TI.ore(), new CrystallizerRecipe(ModItems.crystal_titanium, baseTime), sulfur); - registerRecipe(S.ore(), new CrystallizerRecipe(ModItems.crystal_sulfur, baseTime)); - registerRecipe(KNO.ore(), new CrystallizerRecipe(ModItems.crystal_niter, baseTime)); - registerRecipe(CU.ore(), new CrystallizerRecipe(ModItems.crystal_copper, baseTime)); - registerRecipe(W.ore(), new CrystallizerRecipe(ModItems.crystal_tungsten, baseTime), sulfur); - registerRecipe(AL.ore(), new CrystallizerRecipe(ModItems.crystal_aluminium, baseTime)); - registerRecipe(F.ore(), new CrystallizerRecipe(ModItems.crystal_fluorite, baseTime)); - registerRecipe(BE.ore(), new CrystallizerRecipe(ModItems.crystal_beryllium, baseTime)); - registerRecipe(PB.ore(), new CrystallizerRecipe(ModItems.crystal_lead, baseTime)); - registerRecipe(SA326.ore(), new CrystallizerRecipe(ModItems.crystal_schrabidium, baseTime), sulfur); - registerRecipe(LI.ore(), new CrystallizerRecipe(ModItems.crystal_lithium, baseTime), sulfur); - //registerRecipe(STAR.ore(), new CrystallizerRecipe(ModItems.crystal_starmetal, baseTime), sulfur); - registerRecipe(CO.ore(), new CrystallizerRecipe(ModItems.crystal_cobalt, baseTime), sulfur); - - registerRecipe("oreRareEarth", new CrystallizerRecipe(ModItems.crystal_rare, baseTime), sulfur); - registerRecipe("oreCinnabar", new CrystallizerRecipe(ModItems.crystal_cinnebar, baseTime)); - - registerRecipe(new ComparableStack(ModBlocks.ore_nether_fire), new CrystallizerRecipe(ModItems.crystal_phosphorus, baseTime)); - registerRecipe(new ComparableStack(ModBlocks.ore_tikite), new CrystallizerRecipe(ModItems.crystal_trixite, baseTime), sulfur); - registerRecipe(new ComparableStack(ModBlocks.gravel_diamond), new CrystallizerRecipe(ModItems.crystal_diamond, baseTime)); - registerRecipe(SRN.ingot(), new CrystallizerRecipe(ModItems.crystal_schraranium, baseTime)); + registerRecipe(COAL.ore(), new CrystallizerRecipe(ModItems.crystal_coal, baseTime).prod(0.05F)); + registerRecipe(IRON.ore(), new CrystallizerRecipe(ModItems.crystal_iron, baseTime).prod(0.05F)); + registerRecipe(GOLD.ore(), new CrystallizerRecipe(ModItems.crystal_gold, baseTime).prod(0.05F)); + registerRecipe(REDSTONE.ore(), new CrystallizerRecipe(ModItems.crystal_redstone, baseTime).prod(0.05F)); + registerRecipe(LAPIS.ore(), new CrystallizerRecipe(ModItems.crystal_lapis, baseTime).prod(0.05F)); + registerRecipe(DIAMOND.ore(), new CrystallizerRecipe(ModItems.crystal_diamond, baseTime).prod(0.05F)); + registerRecipe(U.ore(), new CrystallizerRecipe(ModItems.crystal_uranium, baseTime).prod(0.05F), sulfur); + for(String ore : OreDictManager.TH232.all(MaterialShapes.ONLY_ORE)) registerRecipe(ore, new CrystallizerRecipe(ModItems.crystal_thorium, baseTime).prod(0.05F), sulfur); + registerRecipe(PU.ore(), new CrystallizerRecipe(ModItems.crystal_plutonium, baseTime).prod(0.05F), sulfur); + registerRecipe(TI.ore(), new CrystallizerRecipe(ModItems.crystal_titanium, baseTime).prod(0.05F), sulfur); + registerRecipe(S.ore(), new CrystallizerRecipe(ModItems.crystal_sulfur, baseTime).prod(0.05F)); + registerRecipe(KNO.ore(), new CrystallizerRecipe(ModItems.crystal_niter, baseTime).prod(0.05F)); + registerRecipe(CU.ore(), new CrystallizerRecipe(ModItems.crystal_copper, baseTime).prod(0.05F)); + registerRecipe(W.ore(), new CrystallizerRecipe(ModItems.crystal_tungsten, baseTime).prod(0.05F), sulfur); + registerRecipe(AL.ore(), new CrystallizerRecipe(ModItems.crystal_aluminium, baseTime).prod(0.05F)); + registerRecipe(F.ore(), new CrystallizerRecipe(ModItems.crystal_fluorite, baseTime).prod(0.05F)); + registerRecipe(BE.ore(), new CrystallizerRecipe(ModItems.crystal_beryllium, baseTime).prod(0.05F)); + registerRecipe(PB.ore(), new CrystallizerRecipe(ModItems.crystal_lead, baseTime).prod(0.05F)); + registerRecipe(SA326.ore(), new CrystallizerRecipe(ModItems.crystal_schrabidium, baseTime).prod(0.05F), sulfur); + registerRecipe(LI.ore(), new CrystallizerRecipe(ModItems.crystal_lithium, baseTime).prod(0.05F), sulfur); + registerRecipe(CO.ore(), new CrystallizerRecipe(ModItems.crystal_cobalt, baseTime).prod(0.05F), sulfur); - registerRecipe(KEY_SAND, new CrystallizerRecipe(ModItems.ingot_fiberglass, utilityTime)); - registerRecipe(SI.ingot(), new CrystallizerRecipe(new ItemStack(Items.quartz, 2), utilityTime), new FluidStack(Fluids.OXYGEN, 250)); - registerRecipe(REDSTONE.block(), new CrystallizerRecipe(ModItems.ingot_mercury, baseTime)); - registerRecipe(CINNABAR.crystal(), new CrystallizerRecipe(new ItemStack(ModItems.ingot_mercury, 3), baseTime)); - registerRecipe(BORAX.dust(), new CrystallizerRecipe(new ItemStack(ModItems.powder_boron_tiny, 3), baseTime), sulfur); + registerRecipe(new ComparableStack(ModItems.powder_calcium), new CrystallizerRecipe(new ItemStack(ModItems.powder_cement, 8), utilityTime).prod(0.1F), new FluidStack(Fluids.REDMUD, 75)); + registerRecipe(MALACHITE.ingot(), new CrystallizerRecipe(ItemScraps.create(new MaterialStack(Mats.MAT_COPPER, MaterialShapes.INGOT.q(1))), 300).prod(0.1F), new FluidStack(Fluids.SULFURIC_ACID, 250)); + + registerRecipe("oreRareEarth", new CrystallizerRecipe(ModItems.crystal_rare, baseTime).prod(0.05F), sulfur); + registerRecipe("oreCinnabar", new CrystallizerRecipe(ModItems.crystal_cinnebar, baseTime).prod(0.05F)); + + registerRecipe(new ComparableStack(ModBlocks.ore_nether_fire), new CrystallizerRecipe(ModItems.crystal_phosphorus, baseTime).prod(0.05F)); + registerRecipe(new ComparableStack(ModBlocks.ore_tikite), new CrystallizerRecipe(ModItems.crystal_trixite, baseTime).prod(0.05F), sulfur); + registerRecipe(new ComparableStack(ModBlocks.gravel_diamond), new CrystallizerRecipe(ModItems.crystal_diamond, baseTime).prod(0.05F)); + registerRecipe(SRN.ingot(), new CrystallizerRecipe(ModItems.crystal_schraranium, baseTime).prod(0.05F)); + + registerRecipe(KEY_SAND, new CrystallizerRecipe(ModItems.ingot_fiberglass, utilityTime).prod(0.15F)); + registerRecipe(SI.ingot(), new CrystallizerRecipe(new ItemStack(Items.quartz, 2), utilityTime).prod(0.1F), new FluidStack(Fluids.OXYGEN, 250)); + registerRecipe(REDSTONE.block(), new CrystallizerRecipe(ModItems.ingot_mercury, baseTime).prod(0.25F)); + registerRecipe(CINNABAR.crystal(), new CrystallizerRecipe(new ItemStack(ModItems.ingot_mercury, 3), baseTime).prod(0.25F)); + registerRecipe(BORAX.dust(), new CrystallizerRecipe(new ItemStack(ModItems.powder_boron_tiny, 3), baseTime).prod(0.25F), sulfur); registerRecipe(COAL.block(), new CrystallizerRecipe(ModBlocks.block_graphite, baseTime)); registerRecipe(new ComparableStack(Blocks.cobblestone), new CrystallizerRecipe(ModBlocks.reinforced_stone, utilityTime)); registerRecipe(new ComparableStack(ModBlocks.gravel_obsidian), new CrystallizerRecipe(ModBlocks.brick_obsidian, utilityTime)); - registerRecipe(new ComparableStack(Items.rotten_flesh), new CrystallizerRecipe(Items.leather, utilityTime)); + registerRecipe(new ComparableStack(Items.rotten_flesh), new CrystallizerRecipe(Items.leather, utilityTime).prod(0.25F)); registerRecipe(new ComparableStack(ModItems.coal_infernal), new CrystallizerRecipe(ModItems.solid_fuel, utilityTime)); - registerRecipe(new ComparableStack(ModBlocks.stone_gneiss), new CrystallizerRecipe(ModItems.powder_lithium, utilityTime)); + registerRecipe(new ComparableStack(ModBlocks.stone_gneiss), new CrystallizerRecipe(ModItems.powder_lithium, utilityTime).prod(0.25F)); registerRecipe(new ComparableStack(Items.dye, 1, 15), new CrystallizerRecipe(new ItemStack(Items.slime_ball, 4), mixingTime), new FluidStack(Fluids.SULFURIC_ACID, 250)); registerRecipe(new ComparableStack(Items.bone), new CrystallizerRecipe(new ItemStack(Items.slime_ball, 16), mixingTime), new FluidStack(Fluids.SULFURIC_ACID, 1_000)); registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.plant_item, EnumPlantType.MUSTARDWILLOW)), new CrystallizerRecipe(new ItemStack(ModItems.powder_cadmium), 100).setReq(10), new FluidStack(Fluids.RADIOSOLVENT, 250)); - registerRecipe(new ComparableStack(ModItems.scrap_oil), new CrystallizerRecipe(new ItemStack(ModItems.nugget_arsenic), 100).setReq(16), new FluidStack(Fluids.RADIOSOLVENT, 100)); - registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.powder_ash, EnumAshType.FULLERENE)), new CrystallizerRecipe(new ItemStack(ModItems.ingot_cft), baseTime).setReq(4), new FluidStack(Fluids.XYLENE, 1_000)); - + registerRecipe(new ComparableStack(ModItems.scrap_oil), new CrystallizerRecipe(new ItemStack(ModItems.nugget_arsenic), 100).prod(0.3F).setReq(16), new FluidStack(Fluids.RADIOSOLVENT, 100)); + registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.powder_ash, EnumAshType.FULLERENE)), new CrystallizerRecipe(new ItemStack(ModItems.ingot_cft), baseTime).prod(0.1F).setReq(4), new FluidStack(Fluids.XYLENE, 1_000)); + registerRecipe(DIAMOND.dust(), new CrystallizerRecipe(Items.diamond, utilityTime)); registerRecipe(EMERALD.dust(), new CrystallizerRecipe(Items.emerald, utilityTime)); registerRecipe(LAPIS.dust(), new CrystallizerRecipe(new ItemStack(Items.dye, 1, 4), utilityTime)); @@ -112,12 +120,12 @@ public class CrystallizerRecipes extends SerializableRecipe { registerRecipe(new ComparableStack(ModItems.powder_desh_ready), new CrystallizerRecipe(ModItems.ingot_desh, baseTime)); registerRecipe(new ComparableStack(ModItems.powder_meteorite), new CrystallizerRecipe(ModItems.fragment_meteorite, utilityTime)); registerRecipe(CD.dust(), new CrystallizerRecipe(ModItems.ingot_rubber, utilityTime), new FluidStack(Fluids.FISHOIL, 250)); - registerRecipe(LATEX.ingot(), new CrystallizerRecipe(ModItems.ingot_rubber, mixingTime), new FluidStack(Fluids.SOURGAS, 25)); - registerRecipe(new ComparableStack(ModItems.powder_sawdust), new CrystallizerRecipe(ModItems.cordite, mixingTime), new FluidStack(Fluids.NITROGLYCERIN, 250)); - + registerRecipe(LATEX.ingot(), new CrystallizerRecipe(ModItems.ingot_rubber, mixingTime).prod(0.15F), new FluidStack(Fluids.SOURGAS, 25)); + registerRecipe(new ComparableStack(ModItems.powder_sawdust), new CrystallizerRecipe(ModItems.cordite, mixingTime).prod(0.25F), new FluidStack(Fluids.NITROGLYCERIN, 250)); + registerRecipe(new ComparableStack(ModItems.meteorite_sword_treated), new CrystallizerRecipe(ModItems.meteorite_sword_etched, baseTime)); registerRecipe(new ComparableStack(ModItems.powder_impure_osmiridium), new CrystallizerRecipe(ModItems.crystal_osmiridium, baseTime), new FluidStack(Fluids.SCHRABIDIC, 1_000)); - + for(int i = 0; i < ScrapType.values().length; i++) { registerRecipe(new ComparableStack(ModItems.scrap_plastic, 1, i), new CrystallizerRecipe(new ItemStack(ModItems.circuit_star_piece, 1, i), baseTime)); } @@ -125,9 +133,9 @@ public class CrystallizerRecipes extends SerializableRecipe { FluidStack nitric = new FluidStack(Fluids.NITRIC_ACID, 500); FluidStack organic = new FluidStack(Fluids.SOLVENT, 500); FluidStack hiperf = new FluidStack(Fluids.RADIOSOLVENT, 500); - + int oreTime = 200; - + for(EnumBedrockOre ore : EnumBedrockOre.values()) { int i = ore.ordinal(); @@ -143,7 +151,7 @@ public class CrystallizerRecipes extends SerializableRecipe { for(BedrockOreType type : BedrockOreType.values()) { registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.BASE, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.BASE_WASHED, type), washing), new FluidStack(Fluids.WATER, 250)); registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.BASE_ROASTED, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.BASE_WASHED, type), washing), new FluidStack(Fluids.WATER, 250)); - + registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_SULFURIC, type), bedrock), new FluidStack(Fluids.SULFURIC_ACID, 250)); registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_ROASTED, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_SULFURIC, type), bedrock), new FluidStack(Fluids.SULFURIC_ACID, 250)); @@ -190,18 +198,18 @@ public class CrystallizerRecipes extends SerializableRecipe { registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_NOSOLVENT, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_SECOND, type), bedrock), secondary); registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_RAD, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_SECOND, type), bedrock), secondary); registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_NORAD, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_SECOND, type), bedrock), secondary); - + registerRecipe(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type)), new CrystallizerRecipe(ItemBedrockOreNew.make(BedrockOreGrade.BASE, type), bedrock).setReq(64), new FluidStack(Fluids.NITRIC_ACID, 1000)); } - - FluidStack[] dyes = new FluidStack[] {new FluidStack(Fluids.WOODOIL, 100), new FluidStack(Fluids.FISHOIL, 100)}; + + FluidStack[] dyes = new FluidStack[] {new FluidStack(Fluids.WOODOIL, 100), new FluidStack(Fluids.FISHOIL, 100), new FluidStack(Fluids.LIGHTOIL, 100)}; for(FluidStack dye : dyes) { - registerRecipe(COAL.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLACK, 4), mixingTime), dye); - registerRecipe(TI.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.WHITE, 4), mixingTime), dye); - registerRecipe(IRON.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.RED, 4), mixingTime), dye); - registerRecipe(W.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.YELLOW, 4), mixingTime), dye); - registerRecipe(CU.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.GREEN, 4), mixingTime), dye); - registerRecipe(CO.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLUE, 4), mixingTime), dye); + registerRecipe(COAL.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLACK, 4), mixingTime).prod(0.15F), dye); + registerRecipe(TI.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.WHITE, 4), mixingTime).prod(0.15F), dye); + registerRecipe(IRON.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.RED, 4), mixingTime).prod(0.15F), dye); + registerRecipe(W.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.YELLOW, 4), mixingTime).prod(0.15F), dye); + registerRecipe(CU.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.GREEN, 4), mixingTime).prod(0.15F), dye); + registerRecipe(CO.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLUE, 4), mixingTime).prod(0.15F), dye); } registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE)), new CrystallizerRecipe(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.WAX), 20), new FluidStack(Fluids.CHLORINE, 250)); @@ -213,7 +221,7 @@ public class CrystallizerRecipes extends SerializableRecipe { registerRecipe(KEY_SAND, new CrystallizerRecipe(Blocks.clay, 20), new FluidStack(Fluids.COLLOID, 1_000)); registerRecipe(new ComparableStack(ModBlocks.sand_quartz), new CrystallizerRecipe(new ItemStack(ModItems.ball_dynamite, 16), 20), new FluidStack(Fluids.NITROGLYCERIN, 1_000)); registerRecipe(NETHERQUARTZ.dust(), new CrystallizerRecipe(new ItemStack(ModItems.ball_dynamite, 4), 20), new FluidStack(Fluids.NITROGLYCERIN, 250)); - + /// COMPAT CERTUS QUARTZ /// List quartz = OreDictionary.getOres("crystalCertusQuartz"); if(quartz != null && !quartz.isEmpty()) { @@ -227,69 +235,77 @@ public class CrystallizerRecipes extends SerializableRecipe { if(dustWhitePhosphorus != null && !dustWhitePhosphorus.isEmpty()) { registerRecipe(P_WHITE.dust(), new CrystallizerRecipe(new ItemStack(ModItems.ingot_phosphorus), utilityTime), new FluidStack(Fluids.AROMATICS, 50)); } + + /// COMPAT CINNABAR DUST /// + List dustCinnabar = OreDictionary.getOres(CINNABAR.dust()); + if(dustCinnabar != null && !dustCinnabar.isEmpty()) { + registerRecipe(CINNABAR.dust(), new CrystallizerRecipe(new ItemStack(ModItems.cinnebar), utilityTime), new FluidStack(Fluids.PEROXIDE, 50)); + } + registerRecipe(new ComparableStack(ModBlocks.moon_turf, 16), new CrystallizerRecipe(new ItemStack(ModItems.chunk_ore, 1, EnumChunkType.MOONSTONE.ordinal()), 1200)); + if(!IMCCrystallizer.buffer.isEmpty()) { recipes.putAll(IMCCrystallizer.buffer); MainRegistry.logger.info("Fetched " + IMCCrystallizer.buffer.size() + " IMC crystallizer recipes!"); IMCCrystallizer.buffer.clear(); } } - + public static CrystallizerRecipe getOutput(ItemStack stack, FluidType type) { - + if(stack == null || stack.getItem() == null) return null; - + ComparableStack comp = new ComparableStack(stack.getItem(), 1, stack.getItemDamage()); Pair compKey = new Pair(comp, type); if(recipes.containsKey(compKey)) return recipes.get(compKey); - + String[] dictKeys = comp.getDictKeys(); - + for(String key : dictKeys) { Pair dictKey = new Pair(key, type); if(recipes.containsKey(dictKey)) return recipes.get(dictKey); } - + comp.meta = OreDictionary.WILDCARD_VALUE; if(recipes.containsKey(compKey)) return recipes.get(compKey); - + return null; } - + public static int getAmount(ItemStack stack) { - + if(stack == null || stack.getItem() == null) return 0; - + ComparableStack comp = new ComparableStack(stack.getItem(), 1, stack.getItemDamage()); if(amounts.containsKey(comp)) return amounts.get(comp); - + String[] dictKeys = comp.getDictKeys(); - + for(String key : dictKeys) { if(amounts.containsKey(key)) return amounts.get(key); } - + comp.meta = OreDictionary.WILDCARD_VALUE; if(amounts.containsKey(comp)) return amounts.get(comp); - + return 0; } public static HashMap getRecipes() { - + HashMap recipes = new HashMap(); - + for(Entry, CrystallizerRecipe> entry : CrystallizerRecipes.recipes.entrySet()) { - + CrystallizerRecipe recipe = entry.getValue(); - + Pair key = entry.getKey(); Object input = key.getKey(); FluidType acid = key.getValue(); - + if(input instanceof String) { OreDictStack stack = new OreDictStack((String) input, recipe.itemAmount); recipes.put(new Object[] {ItemFluidIcon.make(acid, recipe.acidAmount), stack}, recipe.output); @@ -301,39 +317,45 @@ public class CrystallizerRecipes extends SerializableRecipe { recipes.put(new Object[] {ItemFluidIcon.make(acid, recipe.acidAmount), stack}, recipe.output); } } - + return recipes; } - + public static void registerRecipe(Object input, CrystallizerRecipe recipe) { registerRecipe(input, recipe, new FluidStack(Fluids.PEROXIDE, 500)); } - + public static void registerRecipe(Object input, CrystallizerRecipe recipe, FluidStack stack) { recipe.acidAmount = stack.fill; recipes.put(new Pair(input, stack.type), recipe); amounts.put(input, recipe.itemAmount); } - + public static class CrystallizerRecipe { public int acidAmount; public int itemAmount = 1; public int duration; + public float productivity = 0F; public ItemStack output; - + public CrystallizerRecipe(Block output, int duration) { this(new ItemStack(output), duration); } public CrystallizerRecipe(Item output, int duration) { this(new ItemStack(output), duration); } - + public CrystallizerRecipe setReq(int amount) { this.itemAmount = amount; return this; } - + public CrystallizerRecipe(ItemStack output, int duration) { this.output = output; this.duration = duration; this.acidAmount = 500; } + + public CrystallizerRecipe prod(float productivity) { + this.productivity = productivity; + return this; + } } @Override @@ -354,7 +376,7 @@ public class CrystallizerRecipes extends SerializableRecipe { AStack input = this.readAStack(obj.get("input").getAsJsonArray()); FluidStack fluid = this.readFluidStack(obj.get("fluid").getAsJsonArray()); int duration = obj.get("duration").getAsInt(); - + CrystallizerRecipe cRecipe = new CrystallizerRecipe(output, duration).setReq(input.stacksize); input.stacksize = 1; cRecipe.acidAmount = fluid.fill; @@ -363,6 +385,7 @@ public class CrystallizerRecipes extends SerializableRecipe { } else if(input instanceof OreDictStack) { recipes.put(new Pair(((OreDictStack) input).name, fluid.type), cRecipe); } + if(obj.has("productivity")) cRecipe.prod(obj.get("productivity").getAsFloat()); } @Override @@ -381,6 +404,7 @@ public class CrystallizerRecipes extends SerializableRecipe { this.writeAStack(input, writer); writer.name("output"); this.writeItemStack(cRecipe.output, writer); + writer.name("productivity").value(cRecipe.productivity); } @Override diff --git a/src/main/java/com/hbm/inventory/recipes/CyclotronRecipes.java b/src/main/java/com/hbm/inventory/recipes/CyclotronRecipes.java index f5030c34f..734c24b5c 100644 --- a/src/main/java/com/hbm/inventory/recipes/CyclotronRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CyclotronRecipes.java @@ -44,7 +44,6 @@ public class CyclotronRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModItems.part_lithium), new OreDictStack("dustActinium"), new ItemStack(ModItems.powder_thorium), liA); makeRecipe(new ComparableStack(ModItems.part_lithium), new OreDictStack(U.dust()), new ItemStack(ModItems.powder_neptunium), liA); makeRecipe(new ComparableStack(ModItems.part_lithium), new OreDictStack(NP237.dust()), new ItemStack(ModItems.powder_plutonium), liA); - makeRecipe(new ComparableStack(ModItems.part_lithium), new ComparableStack(ModItems.powder_reiium), new ItemStack(ModItems.powder_weidanium), liA); /// LITHIUM END /// /// BERYLLIUM START /// @@ -57,7 +56,6 @@ public class CyclotronRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModItems.part_beryllium), new ComparableStack(ModItems.powder_strontium), new ItemStack(ModItems.powder_niobium), beA); makeRecipe(new ComparableStack(ModItems.part_beryllium), new ComparableStack(ModItems.powder_cerium), new ItemStack(ModItems.powder_neodymium), beA); makeRecipe(new ComparableStack(ModItems.part_beryllium), new OreDictStack("dustThorium"), new ItemStack(ModItems.powder_uranium), beA); - makeRecipe(new ComparableStack(ModItems.part_beryllium), new ComparableStack(ModItems.powder_weidanium), new ItemStack(ModItems.powder_australium), beA); /// BERYLLIUM END /// /// CARBON START /// @@ -71,7 +69,6 @@ public class CyclotronRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModItems.part_carbon), new ComparableStack(ModItems.ingot_mercury), new ItemStack(ModItems.powder_polonium), caA); makeRecipe(new ComparableStack(ModItems.part_carbon), new OreDictStack(PB.dust()), new ItemStack(ModItems.powder_ra226),caA); makeRecipe(new ComparableStack(ModItems.part_carbon), new ComparableStack(ModItems.powder_astatine), new ItemStack(ModItems.powder_actinium), caA); - makeRecipe(new ComparableStack(ModItems.part_carbon), new ComparableStack(ModItems.powder_australium), new ItemStack(ModItems.powder_verticium), caA); /// CARBON END /// /// COPPER START /// @@ -87,7 +84,6 @@ public class CyclotronRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModItems.part_copper), new ComparableStack(ModItems.powder_iodine), new ItemStack(ModItems.powder_polonium), coA); makeRecipe(new ComparableStack(ModItems.part_copper), new ComparableStack(ModItems.powder_caesium), new ItemStack(ModItems.powder_actinium), coA); makeRecipe(new ComparableStack(ModItems.part_copper), new OreDictStack("dustGold"), new ItemStack(ModItems.powder_uranium), coA); - makeRecipe(new ComparableStack(ModItems.part_copper), new ComparableStack(ModItems.powder_verticium), new ItemStack(ModItems.powder_unobtainium), coA); /// COPPER END /// /// PLUTONIUM START /// @@ -95,13 +91,10 @@ public class CyclotronRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModItems.part_plutonium), new OreDictStack("dustPhosphorus"), new ItemStack(ModItems.powder_tennessine), plA); makeRecipe(new ComparableStack(ModItems.part_plutonium), new OreDictStack(PU.dust()), new ItemStack(ModItems.powder_tennessine), plA); - makeRecipe(new ComparableStack(ModItems.part_plutonium), new ComparableStack(ModItems.powder_tennessine), new ItemStack(ModItems.powder_reiium), plA); + makeRecipe(new ComparableStack(ModItems.part_plutonium), new ComparableStack(ModItems.powder_tennessine), new ItemStack(ModItems.powder_australium), plA); makeRecipe(new ComparableStack(ModItems.part_plutonium), new ComparableStack(ModItems.pellet_charged), new ItemStack(ModItems.nugget_schrabidium), 1000); - makeRecipe(new ComparableStack(ModItems.part_plutonium), new ComparableStack(ModItems.powder_unobtainium), new ItemStack(ModItems.powder_daffergon), plA); makeRecipe(new ComparableStack(ModItems.part_plutonium), new ComparableStack(ModItems.cell_antimatter), new ItemStack(ModItems.cell_anti_schrabidium), 0); /// PLUTONIUM END /// - - ///TODO: fictional elements } private static void makeRecipe(ComparableStack part, AStack in, ItemStack out, int amat) { @@ -124,23 +117,6 @@ public class CyclotronRecipes extends SerializableRecipe { } } - //there's literally 0 reason why this doesn't work yet it refuses, fuck this - - /*Pair output = recipes.get(new Pair(boxStack, comp)); - - if(output != null) { - return new Object[] { output.getKey().copy(), output.getValue() }; - } - - for(String name : ItemStackUtil.getOreDictNames(stack)) { - OreDictStack ods = new OreDictStack(name); - output = recipes.get(new Pair(new ComparableStack(ModItems.part_beryllium), new OreDictStack("dustCobalt"))); - - if(output != null) { - return new Object[] { output.getKey().copy(), output.getValue() }; - } - }*/ - return null; } diff --git a/src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java b/src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java index 2d98d3e76..93ebcf84b 100644 --- a/src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java @@ -19,7 +19,7 @@ import com.hbm.items.machine.ItemFluidIcon; import net.minecraft.item.ItemStack; public class ElectrolyserFluidRecipes extends SerializableRecipe { - + public static HashMap recipes = new HashMap(); @Override @@ -28,27 +28,29 @@ public class ElectrolyserFluidRecipes extends SerializableRecipe { recipes.put(Fluids.HEAVYWATER, new ElectrolysisRecipe(2_000, new FluidStack(Fluids.DEUTERIUM, 200), new FluidStack(Fluids.OXYGEN, 200), 10)); recipes.put(Fluids.VITRIOL, new ElectrolysisRecipe(1_000, new FluidStack(Fluids.SULFURIC_ACID, 500), new FluidStack(Fluids.CHLORINE, 500), new ItemStack(ModItems.powder_iron), new ItemStack(ModItems.ingot_mercury))); recipes.put(Fluids.SLOP, new ElectrolysisRecipe(1_000, new FluidStack(Fluids.MERCURY, 250), new FluidStack(Fluids.NONE, 0), new ItemStack(ModItems.niter, 2), new ItemStack(ModItems.powder_limestone, 2), new ItemStack(ModItems.sulfur))); + recipes.put(Fluids.REDMUD, new ElectrolysisRecipe(450, new FluidStack(Fluids.MERCURY, 150), new FluidStack(Fluids.LYE, 50), new ItemStack(ModItems.powder_titanium, 3), new ItemStack(ModItems.powder_iron, 3), new ItemStack(ModItems.powder_aluminium, 2))); + recipes.put(Fluids.ALUMINA, new ElectrolysisRecipe(200, new FluidStack(Fluids.CARBONDIOXIDE, 100), new FluidStack(Fluids.NONE, 0),40, new ItemStack(ModItems.powder_aluminium, 7), new ItemStack(ModItems.fluorite, 2))); recipes.put(Fluids.POTASSIUM_CHLORIDE, new ElectrolysisRecipe(250, new FluidStack(Fluids.CHLORINE, 125), new FluidStack(Fluids.NONE, 0), new ItemStack(ModItems.dust))); recipes.put(Fluids.CALCIUM_CHLORIDE, new ElectrolysisRecipe(250, new FluidStack(Fluids.CHLORINE, 125), new FluidStack(Fluids.CALCIUM_SOLUTION, 125))); } public static HashMap getRecipes() { - + HashMap recipes = new HashMap(); - + for(Entry entry : ElectrolyserFluidRecipes.recipes.entrySet()) { - + ElectrolysisRecipe recipe = entry.getValue(); FluidStack input = new FluidStack(entry.getKey(), recipe.amount); List outputs = new ArrayList(); if(recipe.output1.type != Fluids.NONE) outputs.add(ItemFluidIcon.make(recipe.output1)); if(recipe.output2.type != Fluids.NONE) outputs.add(ItemFluidIcon.make(recipe.output2)); for(ItemStack byproduct : recipe.byproduct) outputs.add(byproduct); - + recipes.put(ItemFluidIcon.make(input), outputs.toArray()); } - + return recipes; } public static ElectrolysisRecipe getRecipe(FluidType type) { @@ -79,30 +81,30 @@ public class ElectrolyserFluidRecipes extends SerializableRecipe { FluidStack input = this.readFluidStack(obj.get("input").getAsJsonArray()); FluidStack output1 = this.readFluidStack(obj.get("output1").getAsJsonArray()); FluidStack output2 = this.readFluidStack(obj.get("output2").getAsJsonArray()); - + int duration = 20; if(obj.has("duraion")) duration = obj.get("duration").getAsInt(); - + ItemStack[] byproducts = new ItemStack[0]; if(obj.has("byproducts")) byproducts = this.readItemStackArray(obj.get("byproducts").getAsJsonArray()); - + recipes.put(input.type, new ElectrolysisRecipe(input.fill, output1, output2, duration, byproducts)); } @Override public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { Entry rec = (Entry) recipe; - + writer.name("input"); this.writeFluidStack(new FluidStack(rec.getKey(), rec.getValue().amount), writer); writer.name("output1"); this.writeFluidStack(rec.getValue().output1, writer); writer.name("output2"); this.writeFluidStack(rec.getValue().output2, writer); - + if(rec.getValue().byproduct != null && rec.getValue().byproduct.length > 0) { writer.name("byproducts").beginArray(); for(ItemStack stack : rec.getValue().byproduct) this.writeItemStack(stack, writer); writer.endArray(); } - + writer.name("duration").value(rec.getValue().duration); } @@ -112,7 +114,7 @@ public class ElectrolyserFluidRecipes extends SerializableRecipe { public int amount; public ItemStack[] byproduct; public int duration; - + public ElectrolysisRecipe(int amount, FluidStack output1, FluidStack output2, ItemStack... byproduct) { this.output1 = output1; this.output2 = output2; diff --git a/src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java b/src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java index 5d3559f34..8a51f85c2 100644 --- a/src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java @@ -16,6 +16,7 @@ import com.hbm.inventory.material.MaterialShapes; import com.hbm.inventory.material.Mats; import com.hbm.inventory.material.Mats.MaterialStack; import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.items.ItemEnums; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemFluidIcon; import com.hbm.items.machine.ItemScraps; @@ -29,7 +30,7 @@ import com.hbm.util.Tuple.*; import net.minecraft.item.ItemStack; public class ElectrolyserMetalRecipes extends SerializableRecipe { - + public static HashMap recipes = new HashMap(); @Override @@ -39,110 +40,112 @@ public class ElectrolyserMetalRecipes extends SerializableRecipe { new MaterialStack(Mats.MAT_IRON, MaterialShapes.INGOT.q(6)), new MaterialStack(Mats.MAT_TITANIUM, MaterialShapes.INGOT.q(2)), new ItemStack(ModItems.powder_lithium_tiny, 3))); - + recipes.put(new ComparableStack(ModItems.crystal_gold), new ElectrolysisMetalRecipe( new MaterialStack(Mats.MAT_GOLD, MaterialShapes.INGOT.q(6)), new MaterialStack(Mats.MAT_LEAD, MaterialShapes.INGOT.q(2)), new ItemStack(ModItems.powder_lithium_tiny, 3), new ItemStack(ModItems.ingot_mercury, 2))); - + recipes.put(new ComparableStack(ModItems.crystal_uranium), new ElectrolysisMetalRecipe( new MaterialStack(Mats.MAT_URANIUM, MaterialShapes.INGOT.q(6)), new MaterialStack(Mats.MAT_RADIUM, MaterialShapes.NUGGET.q(4)), new ItemStack(ModItems.powder_lithium_tiny, 3))); - + recipes.put(new ComparableStack(ModItems.crystal_thorium), new ElectrolysisMetalRecipe( new MaterialStack(Mats.MAT_THORIUM, MaterialShapes.INGOT.q(6)), new MaterialStack(Mats.MAT_URANIUM, MaterialShapes.INGOT.q(2)), new ItemStack(ModItems.powder_lithium_tiny, 3))); - + recipes.put(new ComparableStack(ModItems.crystal_plutonium), new ElectrolysisMetalRecipe( new MaterialStack(Mats.MAT_PLUTONIUM, MaterialShapes.INGOT.q(6)), new MaterialStack(Mats.MAT_POLONIUM, MaterialShapes.INGOT.q(2)), new ItemStack(ModItems.powder_lithium_tiny, 3))); - + recipes.put(new ComparableStack(ModItems.crystal_titanium), new ElectrolysisMetalRecipe( new MaterialStack(Mats.MAT_TITANIUM, MaterialShapes.INGOT.q(6)), new MaterialStack(Mats.MAT_IRON, MaterialShapes.INGOT.q(2)), new ItemStack(ModItems.powder_lithium_tiny, 3))); - + recipes.put(new ComparableStack(ModItems.crystal_copper), new ElectrolysisMetalRecipe( new MaterialStack(Mats.MAT_COPPER, MaterialShapes.INGOT.q(6)), new MaterialStack(Mats.MAT_LEAD, MaterialShapes.NUGGET.q(4)), new ItemStack(ModItems.powder_lithium_tiny, 3), new ItemStack(ModItems.sulfur, 2))); - + recipes.put(new ComparableStack(ModItems.crystal_tungsten), new ElectrolysisMetalRecipe( new MaterialStack(Mats.MAT_TUNGSTEN, MaterialShapes.INGOT.q(6)), new MaterialStack(Mats.MAT_IRON, MaterialShapes.INGOT.q(2)), new ItemStack(ModItems.powder_lithium_tiny, 3))); - + recipes.put(new ComparableStack(ModItems.crystal_aluminium), new ElectrolysisMetalRecipe( - new MaterialStack(Mats.MAT_ALUMINIUM, MaterialShapes.INGOT.q(6)), + new MaterialStack(Mats.MAT_ALUMINIUM, MaterialShapes.INGOT.q(2)), new MaterialStack(Mats.MAT_IRON, MaterialShapes.INGOT.q(2)), + new ItemStack(ModItems.chunk_ore, 4, ItemEnums.EnumChunkType.CRYOLITE.ordinal()), new ItemStack(ModItems.powder_lithium_tiny, 3))); - + + recipes.put(new ComparableStack(ModItems.crystal_beryllium), new ElectrolysisMetalRecipe( new MaterialStack(Mats.MAT_BERYLLIUM, MaterialShapes.INGOT.q(6)), new MaterialStack(Mats.MAT_LEAD, MaterialShapes.NUGGET.q(4)), new ItemStack(ModItems.powder_lithium_tiny, 3), new ItemStack(ModItems.powder_quartz, 2))); - + recipes.put(new ComparableStack(ModItems.crystal_lead), new ElectrolysisMetalRecipe( new MaterialStack(Mats.MAT_LEAD, MaterialShapes.INGOT.q(6)), new MaterialStack(Mats.MAT_GOLD, MaterialShapes.INGOT.q(2)), new ItemStack(ModItems.powder_lithium_tiny, 3))); - + recipes.put(new ComparableStack(ModItems.crystal_schraranium), new ElectrolysisMetalRecipe( new MaterialStack(Mats.MAT_SCHRABIDIUM, MaterialShapes.NUGGET.q(5)), new MaterialStack(Mats.MAT_URANIUM, MaterialShapes.NUGGET.q(2)), new ItemStack(ModItems.nugget_neptunium, 2))); - + recipes.put(new ComparableStack(ModItems.crystal_schrabidium), new ElectrolysisMetalRecipe( new MaterialStack(Mats.MAT_SCHRABIDIUM, MaterialShapes.INGOT.q(6)), new MaterialStack(Mats.MAT_PLUTONIUM, MaterialShapes.INGOT.q(2)), new ItemStack(ModItems.powder_lithium_tiny, 3))); - + recipes.put(new ComparableStack(ModItems.crystal_rare), new ElectrolysisMetalRecipe( new MaterialStack(Mats.MAT_ZIRCONIUM, MaterialShapes.NUGGET.q(6)), new MaterialStack(Mats.MAT_BORON, MaterialShapes.NUGGET.q(2)), new ItemStack(ModItems.powder_desh_mix, 3))); - + recipes.put(new ComparableStack(ModItems.crystal_trixite), new ElectrolysisMetalRecipe( new MaterialStack(Mats.MAT_PLUTONIUM, MaterialShapes.INGOT.q(3)), new MaterialStack(Mats.MAT_COBALT, MaterialShapes.INGOT.q(4)), new ItemStack(ModItems.powder_niobium, 4), new ItemStack(ModItems.powder_nitan_mix, 2))); - + recipes.put(new ComparableStack(ModItems.crystal_lithium), new ElectrolysisMetalRecipe( new MaterialStack(Mats.MAT_LITHIUM, MaterialShapes.INGOT.q(6)), new MaterialStack(Mats.MAT_BORON, MaterialShapes.INGOT.q(2)), new ItemStack(ModItems.powder_quartz, 2), new ItemStack(ModItems.fluorite, 2))); - + recipes.put(new ComparableStack(ModItems.crystal_starmetal), new ElectrolysisMetalRecipe( new MaterialStack(Mats.MAT_DURA, MaterialShapes.INGOT.q(4)), new MaterialStack(Mats.MAT_COBALT, MaterialShapes.INGOT.q(4)), new ItemStack(ModItems.powder_astatine, 3), new ItemStack(ModItems.ingot_mercury, 8))); - + recipes.put(new ComparableStack(ModItems.crystal_cobalt), new ElectrolysisMetalRecipe( new MaterialStack(Mats.MAT_COBALT, MaterialShapes.INGOT.q(3)), new MaterialStack(Mats.MAT_IRON, MaterialShapes.INGOT.q(4)), new ItemStack(ModItems.powder_copper, 4), new ItemStack(ModItems.powder_lithium_tiny, 3))); - + for(BedrockOreType type : BedrockOreType.values()) { ArrayList> productsF = new ArrayList<>(); productsF.add(new Pair(type.primary1, 8)); productsF.add(new Pair(type.primary2, 4)); - productsF.add(new Pair(ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type), 3)); + productsF.add(new Pair(ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type), 1)); recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_FIRST, type)), makeBedrockOreProduct(productsF)); ArrayList> productsS = new ArrayList<>(); productsS.add(new Pair(type.primary1, 4)); productsS.add(new Pair(type.primary2, 8)); - productsS.add(new Pair(ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type),3)); + productsS.add(new Pair(ItemBedrockOreNew.make(BedrockOreGrade.CRUMBS, type), 1)); recipes.put(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_SECOND, type)), makeBedrockOreProduct(productsS)); @@ -166,7 +169,7 @@ public class ElectrolyserMetalRecipes extends SerializableRecipe { continue; } } - + if(product.getKey() instanceof BedrockOreOutput) solidProducts.add(ItemBedrockOreNew.extract((BedrockOreOutput) product.getKey(), product.getValue())); if(product.getKey() instanceof ItemStack) solidProducts.add(((ItemStack) product.getKey()).copy()); } @@ -178,39 +181,39 @@ public class ElectrolyserMetalRecipes extends SerializableRecipe { 20, solidProducts.toArray(new ItemStack[0])); } - + public static ElectrolysisMetalRecipe getRecipe(ItemStack stack) { if(stack == null || stack.getItem() == null) return null; ComparableStack comp = new ComparableStack(stack).makeSingular(); - + if(recipes.containsKey(comp)) return recipes.get(comp); - + List names = ItemStackUtil.getOreDictNames(stack); - + for(String name : names) { OreDictStack ore = new OreDictStack(name); if(recipes.containsKey(ore)) return recipes.get(ore); } - + return null; } public static HashMap getRecipes() { - + HashMap recipes = new HashMap(); - + for(Entry entry : ElectrolyserMetalRecipes.recipes.entrySet()) { - + ElectrolysisMetalRecipe recipe = entry.getValue(); Object[] input = new Object[] { entry.getKey().copy(), ItemFluidIcon.make(Fluids.NITRIC_ACID, 100) }; List outputs = new ArrayList(); if(recipe.output1 != null) outputs.add(ItemScraps.create(recipe.output1, true)); if(recipe.output2 != null) outputs.add(ItemScraps.create(recipe.output2, true)); for(ItemStack byproduct : recipe.byproduct) outputs.add(byproduct); - + recipes.put(input, outputs.toArray()); } - + return recipes; } @@ -232,7 +235,7 @@ public class ElectrolyserMetalRecipes extends SerializableRecipe { @Override public void readRecipe(JsonElement recipe) { JsonObject obj = (JsonObject) recipe; - + AStack input = this.readAStack(obj.get("input").getAsJsonArray()); MaterialStack output1 = null; @@ -251,22 +254,22 @@ public class ElectrolyserMetalRecipes extends SerializableRecipe { int amount2 = out2.get(1).getAsInt(); output2 = new MaterialStack(Mats.matByName.get(name2), amount2); } - + ItemStack[] byproducts = new ItemStack[0]; if(obj.has("byproducts")) byproducts = this.readItemStackArray(obj.get("byproducts").getAsJsonArray()); - + int duration = 600; if(obj.has("duration")) duration = obj.get("duration").getAsInt(); - + recipes.put(input, new ElectrolysisMetalRecipe(output1, output2, duration, byproducts)); } @Override public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { Entry rec = (Entry) recipe; - + writer.name("input"); this.writeAStack(rec.getKey(), writer); - + if(rec.getValue().output1 != null) { writer.name("output1"); writer.beginArray(); @@ -284,23 +287,23 @@ public class ElectrolyserMetalRecipes extends SerializableRecipe { writer.endArray(); writer.setIndent(" "); } - + if(rec.getValue().byproduct != null && rec.getValue().byproduct.length > 0) { writer.name("byproducts").beginArray(); for(ItemStack stack : rec.getValue().byproduct) this.writeItemStack(stack, writer); writer.endArray(); } - + writer.name("duration").value(rec.getValue().duration); } - + public static class ElectrolysisMetalRecipe { - + public MaterialStack output1; public MaterialStack output2; public ItemStack[] byproduct; public int duration; - + public ElectrolysisMetalRecipe(MaterialStack output1, MaterialStack output2, ItemStack... byproduct) { this.output1 = output1; this.output2 = output2; diff --git a/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java b/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java index 8b144c3fb..dda69009f 100644 --- a/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java @@ -19,8 +19,8 @@ import net.minecraft.item.ItemStack; public class FractionRecipes extends SerializableRecipe { - private static Map> fractions = new HashMap(); - + public static Map> fractions = new HashMap(); + @Override public void registerDefaults() { fractions.put(Fluids.HEAVYOIL, new Pair(new FluidStack(Fluids.BITUMEN, 30), new FluidStack(Fluids.SMEAR, 70))); @@ -40,39 +40,40 @@ public class FractionRecipes extends SerializableRecipe { fractions.put(Fluids.OIL_COKER, new Pair(new FluidStack(Fluids.CRACKOIL, 30), new FluidStack(Fluids.HEATINGOIL, 70))); fractions.put(Fluids.NAPHTHA_COKER, new Pair(new FluidStack(Fluids.NAPHTHA_CRACK, 75), new FluidStack(Fluids.LIGHTOIL_CRACK, 25))); fractions.put(Fluids.GAS_COKER, new Pair(new FluidStack(Fluids.AROMATICS, 25), new FluidStack(Fluids.CARBONDIOXIDE, 75))); - fractions.put(Fluids.CHLOROCALCITE_MIX, new Pair(new FluidStack(Fluids.CHLOROCALCITE_CLEANED, 50), new FluidStack(Fluids.COLLOID, 50))); + fractions.put(Fluids.CHLOROCALCITE_MIX, new Pair(new FluidStack(Fluids.CHLOROCALCITE_CLEANED, 50), new FluidStack(Fluids.COLLOID, 50))); + fractions.put(Fluids.BAUXITE_SOLUTION, new Pair(new FluidStack(Fluids.REDMUD, 50), new FluidStack(Fluids.SODIUM_ALUMINATE, 50))); } - + public static Pair getFractions(FluidType oil) { return fractions.get(oil); } - + public static HashMap getFractionRecipesForNEI() { HashMap recipes = new HashMap(); - + for(Entry> recipe : fractions.entrySet()) { ItemStack[] out = new ItemStack[] { ItemFluidIcon.make(recipe.getValue().getKey()), ItemFluidIcon.make(recipe.getValue().getValue()) }; - + recipes.put(ItemFluidIcon.make(recipe.getKey(), 100), out); } - + return recipes; } - + @Override public String getFileName() { return "hbmFractions.json"; } - + @Override public String getComment() { return "Inputs are always 100mB, set output quantities accordingly."; } - + @Override public Object getRecipeObject() { return fractions; @@ -82,7 +83,7 @@ public class FractionRecipes extends SerializableRecipe { public void deleteRecipes() { fractions.clear(); } - + @Override public void readRecipe(JsonElement recipe) { JsonObject obj = (JsonObject) recipe; @@ -90,14 +91,14 @@ public class FractionRecipes extends SerializableRecipe { FluidType input = Fluids.fromName(obj.get("input").getAsString()); FluidStack output1 = this.readFluidStack(obj.get("output1").getAsJsonArray()); FluidStack output2 = this.readFluidStack(obj.get("output2").getAsJsonArray()); - + fractions.put(input, new Pair(output1, output2)); } - + @Override public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { Entry> rec = (Entry>) recipe; - + writer.name("input").value(rec.getKey().getName()); writer.name("output1"); this.writeFluidStack(rec.getValue().getKey(), writer); writer.name("output2"); this.writeFluidStack(rec.getValue().getValue(), writer); diff --git a/src/main/java/com/hbm/inventory/recipes/FuelPoolRecipes.java b/src/main/java/com/hbm/inventory/recipes/FuelPoolRecipes.java index 9f01c9d80..12bf21f4e 100644 --- a/src/main/java/com/hbm/inventory/recipes/FuelPoolRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/FuelPoolRecipes.java @@ -8,15 +8,17 @@ import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; +import com.hbm.handler.nei.RBMKRodDisassemblyHandler; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemPWRFuel.EnumPWRFuel; +import com.hbm.items.machine.ItemRBMKRod; import net.minecraft.item.ItemStack; public class FuelPoolRecipes extends SerializableRecipe { - + public static final HashMap recipes = new HashMap(); public static final FuelPoolRecipes instance = new FuelPoolRecipes(); @@ -38,8 +40,14 @@ public class FuelPoolRecipes extends SerializableRecipe { recipes.put(new ComparableStack(ModItems.waste_plate_sa326, 1, 1), new ItemStack(ModItems.waste_plate_sa326)); recipes.put(new ComparableStack(ModItems.waste_plate_ra226be, 1, 1), new ItemStack(ModItems.waste_plate_ra226be)); recipes.put(new ComparableStack(ModItems.waste_plate_pu238be, 1, 1), new ItemStack(ModItems.waste_plate_pu238be)); - + for(EnumPWRFuel pwr : EnumPWRFuel.values()) recipes.put(new ComparableStack(ModItems.pwr_fuel_hot, 1, pwr.ordinal()), new ItemStack(ModItems.pwr_fuel_depleted, 1, pwr.ordinal())); + + for(ItemRBMKRod rod : ItemRBMKRod.craftableRods) { + ItemStack result = new ItemStack(rod); + ItemRBMKRod.setYield(result, 0.2 * rod.yield); + recipes.put(new RBMKRodDisassemblyHandler.ComparableStackHeat(rod, true), result); + } } @Override diff --git a/src/main/java/com/hbm/inventory/recipes/GasCentrifugeRecipes.java b/src/main/java/com/hbm/inventory/recipes/GasCentrifugeRecipes.java index c352c085d..3e019e110 100644 --- a/src/main/java/com/hbm/inventory/recipes/GasCentrifugeRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/GasCentrifugeRecipes.java @@ -11,7 +11,7 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemFluidIcon; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/hbm/inventory/recipes/HadronRecipes.java b/src/main/java/com/hbm/inventory/recipes/HadronRecipes.java index e0694e1ae..d2cccc339 100644 --- a/src/main/java/com/hbm/inventory/recipes/HadronRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/HadronRecipes.java @@ -5,7 +5,6 @@ import java.util.ArrayList; import java.util.List; import com.google.gson.JsonElement; -import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.recipes.loader.SerializableRecipe; @@ -15,7 +14,7 @@ import com.hbm.tileentity.machine.TileEntityHadron.EnumHadronState; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; -public class HadronRecipes extends SerializableRecipe { +@Deprecated public class HadronRecipes extends SerializableRecipe { /* * Since we're dealing with like 10 or so recipes, using a HashMap (or to combine two keys, a HashMap *in* a HashMap) @@ -183,45 +182,10 @@ public class HadronRecipes extends SerializableRecipe { } @Override - public void readRecipe(JsonElement recipe) { - JsonObject obj = (JsonObject) recipe; - int momentum = obj.get("momentum").getAsInt(); - boolean lineMode = obj.get("lineMode").getAsBoolean(); - ItemStack[] in = this.readItemStackArray(obj.get("inputs").getAsJsonArray()); - ItemStack[] out = this.readItemStackArray(obj.get("outputs").getAsJsonArray()); - - this.recipes.add(new HadronRecipe( - in[0], - in[1], - momentum, - out[0], - out[1], - lineMode - )); - } + public void readRecipe(JsonElement recipe) { } @Override - public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { - HadronRecipe rec = (HadronRecipe) recipe; - - writer.name("momentum").value(rec.momentum); - writer.name("lineMode").value(rec.analysisOnly); - - writer.name("inputs").beginArray(); - this.writeItemStack(rec.in1.toStack(), writer); - this.writeItemStack(rec.in2.toStack(), writer); - writer.endArray(); - - writer.name("outputs").beginArray(); - this.writeItemStack(rec.out1, writer); - this.writeItemStack(rec.out2, writer); - writer.endArray(); - } - - @Override - public String getComment() { - return "Rules: Both in- and output stacks cannot be null. Stacksizes are set to 1 for all stacks."; - } + public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { } @Override public void deleteRecipes() { diff --git a/src/main/java/com/hbm/inventory/recipes/HydrotreatingRecipes.java b/src/main/java/com/hbm/inventory/recipes/HydrotreatingRecipes.java index 620d5b490..46f5b2e11 100644 --- a/src/main/java/com/hbm/inventory/recipes/HydrotreatingRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/HydrotreatingRecipes.java @@ -18,7 +18,7 @@ import net.minecraft.item.ItemStack; public class HydrotreatingRecipes extends SerializableRecipe { - private static HashMap> recipes = new HashMap(); + public static HashMap> recipes = new HashMap(); @Override public void registerDefaults() { diff --git a/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java b/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java index 4b2ea8f6b..014296f28 100644 --- a/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java @@ -27,47 +27,48 @@ import net.minecraftforge.oredict.OreDictionary; public class LiquefactionRecipes extends SerializableRecipe { - private static HashMap recipes = new HashMap(); + public static HashMap recipes = new HashMap(); @Override public void registerDefaults() { //oil processing - recipes.put(COAL.gem(), new FluidStack(100, Fluids.COALOIL)); - recipes.put(COAL.dust(), new FluidStack(100, Fluids.COALOIL)); - recipes.put(LIGNITE.gem(), new FluidStack(50, Fluids.COALOIL)); - recipes.put(LIGNITE.dust(), new FluidStack(50, Fluids.COALOIL)); - recipes.put(KEY_OIL_TAR, new FluidStack(75, Fluids.BITUMEN)); - recipes.put(KEY_CRACK_TAR, new FluidStack(100, Fluids.BITUMEN)); - recipes.put(KEY_COAL_TAR, new FluidStack(50, Fluids.BITUMEN)); - recipes.put(KEY_LOG, new FluidStack(100, Fluids.MUG)); - recipes.put(KNO.dust(), new FluidStack(750, Fluids.NITRIC_ACID)); - recipes.put(NA.dust(), new FluidStack(100, Fluids.SODIUM)); + recipes.put(COAL.gem(), new FluidStack(100, Fluids.COALOIL)); + recipes.put(COAL.dust(), new FluidStack(100, Fluids.COALOIL)); + recipes.put(LIGNITE.gem(), new FluidStack(50, Fluids.COALOIL)); + recipes.put(LIGNITE.dust(), new FluidStack(50, Fluids.COALOIL)); + recipes.put(KEY_OIL_TAR, new FluidStack(75, Fluids.BITUMEN)); + recipes.put(KEY_CRACK_TAR, new FluidStack(100, Fluids.BITUMEN)); + recipes.put(KEY_COAL_TAR, new FluidStack(50, Fluids.BITUMEN)); + recipes.put(KEY_LOG, new FluidStack(100, Fluids.MUG)); + recipes.put(NA.dust(), new FluidStack(100, Fluids.SODIUM)); + recipes.put(PB.ingot(), new FluidStack(100, Fluids.LEAD)); + recipes.put(PB.dust(), new FluidStack(100, Fluids.LEAD)); //general utility recipes because why not - recipes.put(new ComparableStack(Blocks.netherrack), new FluidStack(250, Fluids.LAVA)); - recipes.put(new ComparableStack(Blocks.cobblestone), new FluidStack(250, Fluids.LAVA)); - recipes.put(new ComparableStack(Blocks.stone), new FluidStack(250, Fluids.LAVA)); - recipes.put(new ComparableStack(Blocks.obsidian), new FluidStack(500, Fluids.LAVA)); - recipes.put(new ComparableStack(Items.snowball), new FluidStack(125, Fluids.WATER)); - recipes.put(new ComparableStack(Blocks.snow), new FluidStack(500, Fluids.WATER)); - recipes.put(new ComparableStack(Blocks.ice), new FluidStack(1000, Fluids.WATER)); - recipes.put(new ComparableStack(Blocks.packed_ice), new FluidStack(1000, Fluids.WATER)); - recipes.put(new ComparableStack(Items.ender_pearl), new FluidStack(100, Fluids.ENDERJUICE)); - recipes.put(new ComparableStack(ModItems.pellet_charged), new FluidStack(4000, Fluids.HELIUM4)); - recipes.put(new ComparableStack(ModBlocks.ore_oil_sand), new FluidStack(100, Fluids.BITUMEN)); + recipes.put(new ComparableStack(Blocks.netherrack), new FluidStack(250, Fluids.LAVA)); + recipes.put(new ComparableStack(Blocks.cobblestone), new FluidStack(250, Fluids.LAVA)); + recipes.put(new ComparableStack(Blocks.stone), new FluidStack(250, Fluids.LAVA)); + recipes.put(new ComparableStack(Blocks.obsidian), new FluidStack(500, Fluids.LAVA)); + recipes.put(new ComparableStack(Items.snowball), new FluidStack(125, Fluids.WATER)); + recipes.put(new ComparableStack(Blocks.snow), new FluidStack(500, Fluids.WATER)); + recipes.put(new ComparableStack(Blocks.ice), new FluidStack(1000, Fluids.WATER)); + recipes.put(new ComparableStack(Blocks.packed_ice), new FluidStack(1000, Fluids.WATER)); + recipes.put(new ComparableStack(Items.ender_pearl), new FluidStack(100, Fluids.ENDERJUICE)); + recipes.put(new ComparableStack(ModItems.pellet_charged), new FluidStack(4000, Fluids.HELIUM4)); + recipes.put(new ComparableStack(ModBlocks.ore_oil_sand), new FluidStack(100, Fluids.BITUMEN)); - recipes.put(new ComparableStack(Items.sugar), new FluidStack(100, Fluids.ETHANOL)); - recipes.put(new ComparableStack(ModBlocks.plant_flower, 1, 3), new FluidStack(150, Fluids.ETHANOL)); - recipes.put(new ComparableStack(ModBlocks.plant_flower, 1, 4), new FluidStack(50, Fluids.ETHANOL)); - recipes.put(new ComparableStack(ModItems.biomass), new FluidStack(125, Fluids.BIOGAS)); - recipes.put(new ComparableStack(ModItems.glyphid_gland_empty), new FluidStack(2000, Fluids.BIOGAS)); + recipes.put(new ComparableStack(Items.sugar), new FluidStack(100, Fluids.ETHANOL)); + recipes.put(new ComparableStack(ModBlocks.plant_flower, 1, 3), new FluidStack(150, Fluids.ETHANOL)); + recipes.put(new ComparableStack(ModBlocks.plant_flower, 1, 4), new FluidStack(50, Fluids.ETHANOL)); + recipes.put(new ComparableStack(ModItems.biomass), new FluidStack(125, Fluids.BIOGAS)); + recipes.put(new ComparableStack(ModItems.glyphid_gland_empty), new FluidStack(2000, Fluids.BIOGAS)); recipes.put(new ComparableStack(Items.fish, 1, OreDictionary.WILDCARD_VALUE), new FluidStack(100, Fluids.FISHOIL)); - recipes.put(new ComparableStack(Blocks.double_plant, 1, 0), new FluidStack(100, Fluids.SUNFLOWEROIL)); + recipes.put(new ComparableStack(Blocks.double_plant, 1, 0), new FluidStack(100, Fluids.SUNFLOWEROIL)); - recipes.put(new ComparableStack(Items.wheat_seeds), new FluidStack(50, Fluids.SEEDSLURRY)); - recipes.put(new ComparableStack(Blocks.tallgrass, 1, 1), new FluidStack(100, Fluids.SEEDSLURRY)); - recipes.put(new ComparableStack(Blocks.tallgrass, 1, 2), new FluidStack(100, Fluids.SEEDSLURRY)); - recipes.put(new ComparableStack(Blocks.vine), new FluidStack(100, Fluids.SEEDSLURRY)); + recipes.put(new ComparableStack(Items.wheat_seeds), new FluidStack(50, Fluids.SEEDSLURRY)); + recipes.put(new ComparableStack(Blocks.tallgrass, 1, 1), new FluidStack(100, Fluids.SEEDSLURRY)); + recipes.put(new ComparableStack(Blocks.tallgrass, 1, 2), new FluidStack(100, Fluids.SEEDSLURRY)); + recipes.put(new ComparableStack(Blocks.vine), new FluidStack(100, Fluids.SEEDSLURRY)); } public static FluidStack getOutput(ItemStack stack) { diff --git a/src/main/java/com/hbm/inventory/recipes/MagicRecipes.java b/src/main/java/com/hbm/inventory/recipes/MagicRecipes.java index f1333cd0c..863f76c25 100644 --- a/src/main/java/com/hbm/inventory/recipes/MagicRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/MagicRecipes.java @@ -9,9 +9,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ItemAmmoEnums; import com.hbm.items.ModItems; -import com.hbm.items.machine.ItemCircuit.EnumCircuitType; import net.minecraft.init.Items; import net.minecraft.inventory.InventoryCrafting; @@ -46,28 +44,6 @@ public class MagicRecipes { recipes.add(new MagicRecipe(new ItemStack(ModItems.balefire_and_steel), new OreDictStack(STEEL.ingot()), new ComparableStack(ModItems.egg_balefire_shard))); recipes.add(new MagicRecipe(new ItemStack(ModItems.mysteryshovel), new ComparableStack(Items.iron_shovel), new ComparableStack(Items.bone), new ComparableStack(ModItems.ingot_starmetal), new ComparableStack(ModItems.ducttape))); recipes.add(new MagicRecipe(new ItemStack(ModItems.ingot_electronium), new ComparableStack(ModItems.pellet_charged), new ComparableStack(ModItems.pellet_charged), new ComparableStack(ModItems.ingot_dineutronium), new ComparableStack(ModItems.ingot_dineutronium))); - - recipes.add(new MagicRecipe(new ItemStack(ModItems.ammo_44, 1, ItemAmmoEnums.Ammo44Magnum.PIP.ordinal()), - new ComparableStack(ModItems.ammo_44), - new ComparableStack(ModItems.powder_magic), - new ComparableStack(ModItems.powder_magic), - new ComparableStack(ModItems.powder_magic))); - recipes.add(new MagicRecipe(new ItemStack(ModItems.ammo_44, 1, ItemAmmoEnums.Ammo44Magnum.BJ.ordinal()), - new ComparableStack(ModItems.ammo_44), - new ComparableStack(ModItems.powder_magic), - new ComparableStack(ModItems.powder_magic), - new ComparableStack(ModItems.powder_desh))); - recipes.add(new MagicRecipe(new ItemStack(ModItems.ammo_44, 1, ItemAmmoEnums.Ammo44Magnum.SILVER.ordinal()), - new ComparableStack(ModItems.ammo_44), - new ComparableStack(ModItems.powder_magic), - new ComparableStack(ModItems.powder_magic), - new ComparableStack(ModItems.ingot_starmetal))); - - recipes.add(new MagicRecipe(new ItemStack(ModItems.gun_bf), - new ComparableStack(ModItems.gun_fatman), - new ComparableStack(ModItems.egg_balefire_shard), - new ComparableStack(ModItems.powder_magic), - new ComparableStack(ModItems.powder_magic))); recipes.add(new MagicRecipe(new ItemStack(ModItems.diamond_gavel), new ComparableStack(ModBlocks.gravel_diamond), @@ -80,29 +56,6 @@ public class MagicRecipes { new ComparableStack(ModItems.powder_dineutronium), new ComparableStack(ModItems.blades_desh), new ComparableStack(ModItems.diamond_gavel))); - - recipes.add(new MagicRecipe(new ItemStack(ModBlocks.hadron_coil_mese), - new ComparableStack(ModBlocks.hadron_coil_chlorophyte), - new ComparableStack(ModItems.powder_dineutronium), - new ComparableStack(ModItems.plate_desh), - new OreDictStack(GOLD.dust()))); - - recipes.add(new MagicRecipe(new ItemStack(ModBlocks.hadron_coil_mese), - new ComparableStack(ModBlocks.hadron_coil_chlorophyte), - new OreDictStack(DNT.wireDense()), - new OreDictStack(W.wireDense()), - new OreDictStack(GOLD.wireDense()))); - - recipes.add(new MagicRecipe(new ItemStack(ModItems.gun_darter), - new OreDictStack(STEEL.plate()), - new OreDictStack(STEEL.plate()), - new OreDictStack(ANY_PLASTIC.ingot()), - new OreDictStack(GOLD.plate()))); - - recipes.add(new MagicRecipe(new ItemStack(ModItems.ammo_dart, 4, ItemAmmoEnums.AmmoDart.NUCLEAR.ordinal()), - new OreDictStack(ANY_RUBBER.ingot()), - new ComparableStack(ModItems.nugget_pu239), - new ComparableStack(ModItems.circuit, 1, EnumCircuitType.CHIP))); } public static List getRecipes() { diff --git a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java index 6b182c05b..e20cf1b56 100644 --- a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java @@ -12,6 +12,8 @@ import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; +import com.hbm.blocks.BlockEnums; +import com.hbm.blocks.ModBlocks; import com.hbm.inventory.FluidStack; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; @@ -19,6 +21,7 @@ import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.items.ItemEnums; import com.hbm.items.ModItems; import com.hbm.items.ItemEnums.EnumAshType; import com.hbm.items.machine.ItemFluidIcon; @@ -30,7 +33,7 @@ import net.minecraftforge.oredict.OreDictionary; public class MixerRecipes extends SerializableRecipe { public static HashMap recipes = new HashMap(); - + @Override public void registerDefaults() { register(Fluids.COOLANT, new MixerRecipe(2_000, 50).setStack1(new FluidStack(Fluids.WATER, 1_800)).setSolid(new OreDictStack(KNO.dust()))); @@ -59,7 +62,7 @@ public class MixerRecipes extends SerializableRecipe { register(Fluids.NITRIC_ACID, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.SULFURIC_ACID, 500)).setSolid(new OreDictStack(KNO.dust()))); register(Fluids.RADIOSOLVENT, new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.REFORMGAS, 750)).setStack2(new FluidStack(Fluids.CHLORINE, 250))); register(Fluids.SCHRABIDIC, new MixerRecipe(16_000, 100).setStack1(new FluidStack(Fluids.SAS3, 8_000)).setStack2(new FluidStack(Fluids.PEROXIDE, 6_000)).setSolid(new ComparableStack(ModItems.pellet_charged))); - + register(Fluids.PETROIL, new MixerRecipe(1_000, 30).setStack1(new FluidStack(Fluids.RECLAIMED, 800)).setStack2(new FluidStack(Fluids.LUBRICANT, 200))); register(Fluids.LUBRICANT, new MixerRecipe(1_000, 20).setStack1(new FluidStack(Fluids.HEATINGOIL, 500)).setStack2(new FluidStack(Fluids.UNSATURATEDS, 500)), @@ -71,12 +74,12 @@ public class MixerRecipes extends SerializableRecipe { register(Fluids.NITROGLYCERIN, new MixerRecipe(1000, 20).setStack1(new FluidStack(Fluids.PETROLEUM, 1_000)).setStack2(new FluidStack(Fluids.NITRIC_ACID, 1_000)), new MixerRecipe(1000, 20).setStack1(new FluidStack(Fluids.FISHOIL, 500)).setStack2(new FluidStack(Fluids.NITRIC_ACID, 500))); - + register(Fluids.THORIUM_SALT, new MixerRecipe(1_000, 30).setStack1(new FluidStack(Fluids.CHLORINE, 1000)).setSolid(new OreDictStack(TH232.dust()))); register(Fluids.SYNGAS, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.COALOIL, 500)).setStack2(new FluidStack(Fluids.STEAM, 500))); register(Fluids.OXYHYDROGEN, - new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.HYDROGEN, 500)), + new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.HYDROGEN, 500)).setStack2(new FluidStack(Fluids.AIR, 2_000)), new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.HYDROGEN, 500)).setStack2(new FluidStack(Fluids.OXYGEN, 500))); register(Fluids.PETROIL_LEADED, new MixerRecipe(12_000, 40).setStack1(new FluidStack(Fluids.PETROIL, 10_000)).setSolid(new ComparableStack(ModItems.fuel_additive, 1, 0))); @@ -86,34 +89,41 @@ public class MixerRecipes extends SerializableRecipe { register(Fluids.DIESEL_REFORM, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.DIESEL, 900)).setStack2(new FluidStack(Fluids.REFORMATE, 100))); register(Fluids.DIESEL_CRACK_REFORM, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.DIESEL_CRACK, 900)).setStack2(new FluidStack(Fluids.REFORMATE, 100))); register(Fluids.KEROSENE_REFORM, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.KEROSENE, 900)).setStack2(new FluidStack(Fluids.REFORMATE, 100))); - + register(Fluids.CHLOROCALCITE_SOLUTION, new MixerRecipe(500, 50).setStack1(new FluidStack(Fluids.WATER, 250)).setStack2(new FluidStack(Fluids.NITRIC_ACID, 250)).setSolid(new OreDictStack(CHLOROCALCITE.dust()))); register(Fluids.CHLOROCALCITE_MIX, new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.CHLOROCALCITE_SOLUTION, 500)).setStack2(new FluidStack(Fluids.SULFURIC_ACID, 500)).setSolid(new ComparableStack(ModItems.powder_flux))); register(Fluids.PHEROMONE_M, new MixerRecipe(2000, 10).setStack1(new FluidStack(Fluids.PHEROMONE, 1500)).setStack2(new FluidStack(Fluids.BLOOD, 500)).setSolid(new ComparableStack(ModItems.pill_herbal))); + register(Fluids.BAUXITE_SOLUTION, new MixerRecipe(300, 80).setStack1(new FluidStack(Fluids.LYE, 50)).setSolid(new ComparableStack(ModBlocks.stone_resource, 1, BlockEnums.EnumStoneType.BAUXITE.ordinal()))); + register(Fluids.LYE, new MixerRecipe(50, 100).setStack1(new FluidStack(Fluids.WATER, 500)).setSolid(new ComparableStack(ModItems.powder_ash, 2, EnumAshType.WOOD))); + register(Fluids.ALUMINA, new MixerRecipe(200, 40).setStack1(new FluidStack(Fluids.SODIUM_ALUMINATE, 150)).setSolid(new OreDictStack(F.dust(), 3)), + new MixerRecipe(300, 40).setStack1(new FluidStack(Fluids.SODIUM_ALUMINATE, 150)).setSolid(new ComparableStack(DictFrame.fromOne(ModItems.chunk_ore, ItemEnums.EnumChunkType.CRYOLITE)))); + + register(Fluids.PERFLUOROMETHYL, new MixerRecipe(1000, 20).setStack1(new FluidStack(Fluids.PETROLEUM, 1000)).setStack2(new FluidStack(Fluids.UNSATURATEDS, 500)).setSolid(new OreDictStack(F.dust()))); + } - + public static void register(FluidType type, MixerRecipe... rec) { recipes.put(type, rec); } - + public static MixerRecipe[] getOutput(FluidType type) { return recipes.get(type); } - + public static MixerRecipe getOutput(FluidType type, int index) { MixerRecipe[] recs = recipes.get(type); - + if(recs == null) return null; - + return recs[index % recs.length]; } - + @Override public String getFileName() { return "hbmMixer.json"; } - + @Override public Object getRecipeObject() { return recipes; @@ -123,43 +133,43 @@ public class MixerRecipes extends SerializableRecipe { public void deleteRecipes() { recipes.clear(); } - + @Override public void readRecipe(JsonElement recipe) { JsonObject obj = (JsonObject) recipe; - + FluidType outputType = Fluids.fromName(obj.get("outputType").getAsString()); JsonArray recipeArray = obj.get("recipes").getAsJsonArray(); MixerRecipe[] array = new MixerRecipe[recipeArray.size()]; - + for(int i = 0; i < recipeArray.size(); i++) { JsonObject sub = recipeArray.get(i).getAsJsonObject(); MixerRecipe mix = new MixerRecipe(sub.get("outputAmount").getAsInt(), sub.get("duration").getAsInt()); - + if(sub.has("input1")) mix.setStack1(this.readFluidStack(sub.get("input1").getAsJsonArray())); if(sub.has("input2")) mix.setStack2(this.readFluidStack(sub.get("input2").getAsJsonArray())); if(sub.has("solidInput")) mix.setSolid(this.readAStack(sub.get("solidInput").getAsJsonArray())); - + array[i] = mix; - + } - + recipes.put(outputType, array); } - + @Override public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { Entry rec = (Entry) recipe; MixerRecipe[] recipes = rec.getValue(); - + writer.name("outputType").value(rec.getKey().getName()); writer.name("recipes").beginArray(); - + for(MixerRecipe mix : recipes) { writer.beginObject(); writer.name("duration").value(mix.processTime); writer.name("outputAmount").value(mix.output); - + if(mix.input1 != null) { writer.name("input1"); this.writeFluidStack(mix.input1, writer); } if(mix.input2 != null) { writer.name("input2"); this.writeFluidStack(mix.input2, writer); } if(mix.solidInput != null) { writer.name("solidInput"); this.writeAStack(mix.solidInput, writer); } @@ -169,36 +179,36 @@ public class MixerRecipes extends SerializableRecipe { } public static HashMap getRecipes() { - + HashMap recipes = new HashMap(); - + for(Entry entry : MixerRecipes.recipes.entrySet()) { - + FluidType type = entry.getKey(); MixerRecipe[] recs = entry.getValue(); - + for(MixerRecipe recipe : recs) { FluidStack output = new FluidStack(type, recipe.output); - + List objects = new ArrayList(); if(recipe.input1 != null) objects.add(ItemFluidIcon.make(recipe.input1)); if(recipe.input2 != null) objects.add(ItemFluidIcon.make(recipe.input2)); if(recipe.solidInput != null) objects.add(recipe.solidInput); - + recipes.put(objects.toArray(), ItemFluidIcon.make(output)); } } - + return recipes; } - + public static class MixerRecipe { public FluidStack input1; public FluidStack input2; public AStack solidInput; public int processTime; public int output; - + protected MixerRecipe(int output, int processTime) { this.output = output; this.processTime = processTime; diff --git a/src/main/java/com/hbm/inventory/recipes/ParticleAcceleratorRecipes.java b/src/main/java/com/hbm/inventory/recipes/ParticleAcceleratorRecipes.java new file mode 100644 index 000000000..0d0121fde --- /dev/null +++ b/src/main/java/com/hbm/inventory/recipes/ParticleAcceleratorRecipes.java @@ -0,0 +1,194 @@ +package com.hbm.inventory.recipes; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; +import com.hbm.inventory.RecipesCommon.AStack; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.items.ModItems; + +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +public class ParticleAcceleratorRecipes extends SerializableRecipe { + + public static final List recipes = new ArrayList(); + + @Override + public void registerDefaults() { + + recipes.add(new ParticleAcceleratorRecipe( + new ComparableStack(ModItems.particle_hydrogen), + new ComparableStack(ModItems.particle_copper), + 300, + new ItemStack(ModItems.particle_amat), + null + )); + recipes.add(new ParticleAcceleratorRecipe( + new ComparableStack(ModItems.particle_amat), + new ComparableStack(ModItems.particle_amat), + 400, + new ItemStack(ModItems.particle_aschrab), + null + )); + recipes.add(new ParticleAcceleratorRecipe( + new ComparableStack(ModItems.particle_aschrab), + new ComparableStack(ModItems.particle_aschrab), + 10_000, + new ItemStack(ModItems.particle_dark), + null + )); + recipes.add(new ParticleAcceleratorRecipe( + new ComparableStack(ModItems.particle_hydrogen), + new ComparableStack(ModItems.particle_amat), + 2_500, + new ItemStack(ModItems.particle_muon), + null + )); + recipes.add(new ParticleAcceleratorRecipe( + new ComparableStack(ModItems.particle_hydrogen), + new ComparableStack(ModItems.particle_lead), + 6_500, + new ItemStack(ModItems.particle_higgs), + null + )); + recipes.add(new ParticleAcceleratorRecipe( + new ComparableStack(ModItems.particle_muon), + new ComparableStack(ModItems.particle_higgs), + 5_000, + new ItemStack(ModItems.particle_tachyon), + null + )); + recipes.add(new ParticleAcceleratorRecipe( + new ComparableStack(ModItems.particle_muon), + new ComparableStack(ModItems.particle_dark), + 12_500, + new ItemStack(ModItems.particle_strange), + null + )); + recipes.add(new ParticleAcceleratorRecipe( + new ComparableStack(ModItems.particle_strange), + new ComparableStack(ModItems.powder_magic), + 12_500, + new ItemStack(ModItems.particle_sparkticle), + new ItemStack(ModItems.dust) + )); + recipes.add(new ParticleAcceleratorRecipe( + new ComparableStack(ModItems.particle_sparkticle), + new ComparableStack(ModItems.particle_higgs), + 70_000, + new ItemStack(ModItems.particle_digamma), + null + )); + recipes.add(new ParticleAcceleratorRecipe( + new ComparableStack(Items.chicken), + new ComparableStack(Items.chicken), + 100, + new ItemStack(ModItems.nugget), + new ItemStack(ModItems.nugget) + )); + } + + public static ParticleAcceleratorRecipe getOutput(ItemStack input1, ItemStack input2) { + + for(ParticleAcceleratorRecipe recipe : recipes) { + + if(((recipe.input1.matchesRecipe(input1, true) && recipe.input2.matchesRecipe(input2, true)) || + (recipe.input1.matchesRecipe(input2, true) && recipe.input2.matchesRecipe(input1, true)))) { + return recipe; + } + } + + return null; + } + + public static HashMap getRecipes() { + + HashMap recipes = new HashMap(); + + for(ParticleAcceleratorRecipe entry : ParticleAcceleratorRecipes.recipes) { + List outputs = new ArrayList(); + if(entry.output1 != null) outputs.add(entry.output1); + if(entry.output2 != null) outputs.add(entry.output2); + recipes.put(new Object[] {entry.input1, entry.input2}, outputs.toArray(new ItemStack[0])); + } + + return recipes; + } + + public static class ParticleAcceleratorRecipe { + public AStack input1; + public AStack input2; + public int momentum; + public ItemStack output1; + public ItemStack output2; + + public ParticleAcceleratorRecipe(AStack in1, AStack in2, int momentum, ItemStack out1, ItemStack out2) { + this.input1 = in1; + this.input2 = in2; + this.momentum = momentum; + this.output1 = out1; + this.output2 = out2; + } + + // it makes more sense to have this logic here + public boolean matchesRecipe(ItemStack in1, ItemStack in2) { + return this.input1.matchesRecipe(in1, true) && this.input2.matchesRecipe(in2, true) + || this.input1.matchesRecipe(in2, true) && this.input2.matchesRecipe(in1, true); + } + } + + @Override + public String getFileName() { + return "hbmParticleAccelerator.json"; + } + + @Override + public Object getRecipeObject() { + return recipes; + } + + @Override + public void deleteRecipes() { + recipes.clear(); + } + + @Override + public void readRecipe(JsonElement recipe) { + JsonObject obj = (JsonObject) recipe; + int momentum = obj.get("momentum").getAsInt(); + AStack[] in = this.readAStackArray(obj.get("inputs").getAsJsonArray()); + ItemStack[] out = this.readItemStackArray(obj.get("outputs").getAsJsonArray()); + + this.recipes.add(new ParticleAcceleratorRecipe( + in[0], + in.length > 1 ? in[1] : null, + momentum, + out[0], + out.length > 1 ? out[1] : null + )); + } + + @Override + public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { + ParticleAcceleratorRecipe rec = (ParticleAcceleratorRecipe) recipe; + + writer.name("momentum").value(rec.momentum); + + writer.name("inputs").beginArray(); + this.writeAStack(rec.input1, writer); + this.writeAStack(rec.input2, writer); + writer.endArray(); + + writer.name("outputs").beginArray(); + this.writeItemStack(rec.output1, writer); + if(rec.output2 != null) this.writeItemStack(rec.output2, writer); + writer.endArray(); + } +} diff --git a/src/main/java/com/hbm/inventory/recipes/PedestalRecipes.java b/src/main/java/com/hbm/inventory/recipes/PedestalRecipes.java new file mode 100644 index 000000000..b643ac3b7 --- /dev/null +++ b/src/main/java/com/hbm/inventory/recipes/PedestalRecipes.java @@ -0,0 +1,214 @@ +package com.hbm.inventory.recipes; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import static com.hbm.inventory.OreDictManager.*; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.RecipesCommon.AStack; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.RecipesCommon.OreDictStack; +import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.items.ItemEnums.EnumChunkType; +import com.hbm.items.ItemEnums.EnumSecretType; +import com.hbm.items.food.ItemConserve.EnumFoodType; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumModSpecial; + +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +public class PedestalRecipes extends SerializableRecipe { + + public static List recipes = new ArrayList(); + public static ArrayList[] recipeSets = new ArrayList[2]; + + static { for(int i = 0; i < recipeSets.length; i++) recipeSets[i] = new ArrayList(); } + + @Override + public void registerDefaults() { + + register(new PedestalRecipe(new ItemStack(ModItems.gun_light_revolver_dani), + null, new OreDictStack(PB.plate()), null, + new OreDictStack(GOLD.plate()), new ComparableStack(ModItems.gun_light_revolver), new OreDictStack(GOLD.plate()), + null, new OreDictStack(PB.plate()), null)); + + register(new PedestalRecipe(new ItemStack(ModItems.gun_maresleg_broken), + new ComparableStack(ModBlocks.barbed_wire), new OreDictStack(WEAPONSTEEL.plate()), new ComparableStack(ModBlocks.barbed_wire), + new OreDictStack(WEAPONSTEEL.plate()), new ComparableStack(ModItems.gun_maresleg), new OreDictStack(WEAPONSTEEL.plate()), + new ComparableStack(ModBlocks.barbed_wire), new OreDictStack(WEAPONSTEEL.plate()), new ComparableStack(ModBlocks.barbed_wire))); + + register(new PedestalRecipe(new ItemStack(ModItems.gun_heavy_revolver_lilmac), + null, new ComparableStack(ModItems.weapon_mod_special, 1, EnumModSpecial.SCOPE), null, + new ComparableStack(ModItems.powder_magic), new ComparableStack(ModItems.gun_heavy_revolver), new OreDictStack(WEAPONSTEEL.plate()), + null, new OreDictStack(BONE.grip()), new ComparableStack(Items.apple, 3))); + + register(new PedestalRecipe(new ItemStack(ModItems.gun_heavy_revolver_protege), + new ComparableStack(ModBlocks.chain, 16), new OreDictStack(CINNABAR.gem()), new ComparableStack(ModBlocks.chain, 16), + new ComparableStack(ModItems.scrap_nuclear), new ComparableStack(ModItems.gun_heavy_revolver), new ComparableStack(ModItems.scrap_nuclear), + new ComparableStack(ModBlocks.chain, 16), new OreDictStack(CINNABAR.gem()), new ComparableStack(ModBlocks.chain, 16))); + + register(new PedestalRecipe(new ItemStack(ModItems.gun_flamer_daybreaker), + new OreDictStack(GOLD.plateCast()), new ComparableStack(ModItems.canned_conserve, 1, EnumFoodType.JIZZ), new OreDictStack(GOLD.plateCast()), + new OreDictStack(P_WHITE.ingot()), new ComparableStack(ModItems.gun_flamer), new OreDictStack(P_WHITE.ingot()), + new OreDictStack(GOLD.plateCast()), new ComparableStack(ModItems.stick_dynamite), new OreDictStack(GOLD.plateCast())) + .extra(PedestalExtraCondition.SUN)); + + register(new PedestalRecipe(new ItemStack(ModItems.gun_autoshotgun_sexy), + new ComparableStack(ModItems.bolt_spike, 16), new ComparableStack(ModItems.wild_p), new ComparableStack(ModItems.bolt_spike, 16), + new ComparableStack(ModItems.card_qos), new ComparableStack(ModItems.gun_autoshotgun), new ComparableStack(ModItems.card_aos), + new ComparableStack(ModItems.bolt_spike, 16), new OreDictStack(STAR.ingot(), 16), new ComparableStack(ModItems.bolt_spike, 16))); + + register(new PedestalRecipe(new ItemStack(ModItems.gun_minigun_lacunae), + null, new ComparableStack(ModItems.powder_magic, 4), null, + new ComparableStack(ModItems.item_secret, 4, EnumSecretType.SELENIUM_STEEL), new ComparableStack(ModItems.gun_minigun), new ComparableStack(ModItems.item_secret, 4, EnumSecretType.SELENIUM_STEEL), + null, new ComparableStack(ModItems.powder_magic, 4), null) + .extra(PedestalExtraCondition.FULL_MOON)); + + register(new PedestalRecipe(new ItemStack(ModItems.gun_laser_pistol_morning_glory), + null, new ComparableStack(ModItems.morning_glory, 1), null, + new ComparableStack(ModItems.item_secret, 2, EnumSecretType.SELENIUM_STEEL), new ComparableStack(ModItems.gun_laser_pistol), new ComparableStack(ModItems.item_secret, 2, EnumSecretType.SELENIUM_STEEL), + null, new OreDictStack(EMERALD.gem(), 16), null)); + + register(new PedestalRecipe(new ItemStack(ModItems.gun_folly), + new ComparableStack(ModItems.item_secret, 4, EnumSecretType.FOLLY), new ComparableStack(ModItems.item_secret, 2, EnumSecretType.CONTROLLER), new ComparableStack(ModItems.item_secret, 4, EnumSecretType.FOLLY), + new OreDictStack(BSCCO.ingot(), 16), new OreDictStack(STAR.block(), 64), new OreDictStack(BSCCO.ingot(), 16), + new ComparableStack(ModItems.item_secret, 4, EnumSecretType.FOLLY), new ComparableStack(ModItems.item_secret, 2, EnumSecretType.CONTROLLER), new ComparableStack(ModItems.item_secret, 4, EnumSecretType.FOLLY)) + .extra(PedestalExtraCondition.FULL_MOON).set(1)); + + register(new PedestalRecipe(new ItemStack(ModItems.gun_aberrator), + null, new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), null, + new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), new OreDictStack(BIGMT.mechanism(), 4), new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), + null, new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), null).set(1)); + register(new PedestalRecipe(new ItemStack(ModItems.gun_aberrator_eott), + new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), + new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), new OreDictStack(BIGMT.mechanism(), 16), new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), + new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR)) + .extra(PedestalExtraCondition.GOOD_KARMA).set(1)); + + register(new PedestalRecipe(new ItemStack(ModItems.ammo_secret, 1, EnumAmmoSecret.FOLLY_SM.ordinal()), + new OreDictStack(STAR.ingot(), 1), new ComparableStack(ModItems.powder_magic), new OreDictStack(STAR.ingot(), 1), + new ComparableStack(ModItems.powder_magic), new ComparableStack(ModItems.chunk_ore, 1, EnumChunkType.MOONSTONE), new ComparableStack(ModItems.powder_magic), + new OreDictStack(STAR.ingot(), 1), new ComparableStack(ModItems.powder_magic), new OreDictStack(STAR.ingot(), 1)) + .extra(PedestalExtraCondition.FULL_MOON).set(1)); + register(new PedestalRecipe(new ItemStack(ModItems.ammo_secret, 1, EnumAmmoSecret.FOLLY_NUKE.ordinal()), + new OreDictStack(STAR.ingot(), 1), new ComparableStack(ModItems.powder_magic), new OreDictStack(STAR.ingot(), 1), + new ComparableStack(ModItems.powder_magic), new ComparableStack(ModItems.ammo_standard, 4, EnumAmmo.NUKE_HIGH), new ComparableStack(ModItems.powder_magic), + new OreDictStack(STAR.ingot(), 1), new ComparableStack(ModItems.powder_magic), new OreDictStack(STAR.ingot(), 1)) + .extra(PedestalExtraCondition.FULL_MOON).set(1)); + register(new PedestalRecipe(new ItemStack(ModItems.ammo_secret, 5, EnumAmmoSecret.P35_800.ordinal()), + null, null, null, + null, new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), null, + null, null, null).set(1)); + register(new PedestalRecipe(new ItemStack(ModItems.ammo_secret, 10, EnumAmmoSecret.P35_800_BL.ordinal()), + null, null, null, + null, new ComparableStack(ModItems.item_secret, 3, EnumSecretType.ABERRATOR), null, + null, null, null).set(1)); + } + + public static void register(PedestalRecipe recipe) { + recipes.add(recipe); + int set = Math.abs(recipe.recipeSet) % recipeSets.length; + recipeSets[set].add(recipe); + } + + @Override + public String getFileName() { + return "hbmPedestal.json"; + } + + @Override + public Object getRecipeObject() { + return recipes; + } + + @Override + public void deleteRecipes() { + recipes.clear(); + for(int i = 0; i < recipeSets.length; i++) recipeSets[i].clear(); + } + + @Override + public void readRecipe(JsonElement recipe) { + JsonObject obj = (JsonObject) recipe; + + ItemStack output = this.readItemStack(obj.get("output").getAsJsonArray()); + JsonArray inputArray = obj.get("input").getAsJsonArray(); + AStack[] input = new AStack[9]; + + for(int i = 0; i < 9; i++) { + JsonElement element = inputArray.get(i); + if(element.isJsonNull()) { + input[i] = null; + } else { + input[i] = this.readAStack(element.getAsJsonArray()); + } + } + + PedestalRecipe rec = new PedestalRecipe(output, input); + if(obj.has("extra")) { + rec.extra = PedestalExtraCondition.valueOf(obj.get("extra").getAsString()); + } + + if(obj.has("set")) { + rec.recipeSet = obj.get("set").getAsInt(); + } + + this.recipes.add(rec); + } + + @Override + public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { + PedestalRecipe rec = (PedestalRecipe) recipe; + + writer.name("output"); + this.writeItemStack(rec.output, writer); + + writer.name("input").beginArray(); + for(int i = 0; i < rec.input.length; i++) { + if(rec.input[i] == null) { + writer.nullValue(); + } else { + this.writeAStack(rec.input[i], writer); + } + } + writer.endArray(); + + writer.name("extra").value(rec.extra.name()); + if(rec.recipeSet != 0) writer.name("set").value(rec.recipeSet); + } + + public static enum PedestalExtraCondition { + NONE, FULL_MOON, NEW_MOON, SUN, GOOD_KARMA, BAD_KARMA + } + + public static class PedestalRecipe { + public ItemStack output; + public AStack[] input; + public int recipeSet = 0; + public PedestalExtraCondition extra = PedestalExtraCondition.NONE; + + public PedestalRecipe(ItemStack output, AStack... input) { + this.output = output; + this.input = input; + } + + public PedestalRecipe extra(PedestalExtraCondition extra) { + this.extra = extra; + return this; + } + + public PedestalRecipe set(int set) { + this.recipeSet = set; + return this; + } + } +} diff --git a/src/main/java/com/hbm/inventory/recipes/PressRecipes.java b/src/main/java/com/hbm/inventory/recipes/PressRecipes.java index db090d982..dcfa350d2 100644 --- a/src/main/java/com/hbm/inventory/recipes/PressRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/PressRecipes.java @@ -10,7 +10,6 @@ import static com.hbm.inventory.OreDictManager.*; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; -import com.hbm.inventory.OreNames; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; @@ -19,10 +18,8 @@ import com.hbm.inventory.material.Mats; import com.hbm.inventory.material.NTMMaterial; import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.items.ItemEnums.EnumBriquetteType; +import com.hbm.items.ItemEnums.EnumCasingType; import com.hbm.items.ItemEnums.EnumPages; -import com.hbm.items.ItemAmmoEnums.Ammo357Magnum; -import com.hbm.items.ItemAmmoEnums.Ammo556mm; -import com.hbm.items.ItemAmmoEnums.AmmoLunaticSniper; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemStamp; import com.hbm.items.machine.ItemCircuit.EnumCircuitType; @@ -33,6 +30,7 @@ import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; public class PressRecipes extends SerializableRecipe { @@ -73,50 +71,34 @@ public class PressRecipes extends SerializableRecipe { makeRecipe(StampType.FLAT, new OreDictStack(LIGNITE.dust()), DictFrame.fromOne(ModItems.briquette, EnumBriquetteType.LIGNITE)); makeRecipe(StampType.FLAT, new ComparableStack(ModItems.powder_sawdust), DictFrame.fromOne(ModItems.briquette, EnumBriquetteType.WOOD)); - makeRecipe(StampType.PLATE, new OreDictStack(IRON.ingot()), ModItems.plate_iron); - makeRecipe(StampType.PLATE, new OreDictStack(GOLD.ingot()), ModItems.plate_gold); - makeRecipe(StampType.PLATE, new OreDictStack(TI.ingot()), ModItems.plate_titanium); - makeRecipe(StampType.PLATE, new OreDictStack(AL.ingot()), ModItems.plate_aluminium); - makeRecipe(StampType.PLATE, new OreDictStack(STEEL.ingot()), ModItems.plate_steel); - makeRecipe(StampType.PLATE, new OreDictStack(PB.ingot()), ModItems.plate_lead); - makeRecipe(StampType.PLATE, new OreDictStack(CU.ingot()), ModItems.plate_copper); - makeRecipe(StampType.PLATE, new OreDictStack(ALLOY.ingot()), ModItems.plate_advanced_alloy); - makeRecipe(StampType.PLATE, new OreDictStack(SA326.ingot()), ModItems.plate_schrabidium); - makeRecipe(StampType.PLATE, new OreDictStack(CMB.ingot()), ModItems.plate_combine_steel); - makeRecipe(StampType.PLATE, new OreDictStack(BIGMT.ingot()), ModItems.plate_saturnite); - makeRecipe(StampType.PLATE, new OreDictStack(DURA.ingot()), ModItems.plate_dura_steel); + makeRecipe(StampType.PLATE, new OreDictStack(IRON.ingot()), ModItems.plate_iron); + makeRecipe(StampType.PLATE, new OreDictStack(GOLD.ingot()), ModItems.plate_gold); + makeRecipe(StampType.PLATE, new OreDictStack(TI.ingot()), ModItems.plate_titanium); + makeRecipe(StampType.PLATE, new OreDictStack(AL.ingot()), ModItems.plate_aluminium); + makeRecipe(StampType.PLATE, new OreDictStack(STEEL.ingot()), ModItems.plate_steel); + makeRecipe(StampType.PLATE, new OreDictStack(PB.ingot()), ModItems.plate_lead); + makeRecipe(StampType.PLATE, new OreDictStack(CU.ingot()), ModItems.plate_copper); + makeRecipe(StampType.PLATE, new OreDictStack(ALLOY.ingot()), ModItems.plate_advanced_alloy); + makeRecipe(StampType.PLATE, new OreDictStack(SA326.ingot()), ModItems.plate_schrabidium); + makeRecipe(StampType.PLATE, new OreDictStack(CMB.ingot()), ModItems.plate_combine_steel); + makeRecipe(StampType.PLATE, new OreDictStack(GUNMETAL.ingot()), ModItems.plate_gunmetal); + makeRecipe(StampType.PLATE, new OreDictStack(WEAPONSTEEL.ingot()), ModItems.plate_weaponsteel); + makeRecipe(StampType.PLATE, new OreDictStack(BIGMT.ingot()), ModItems.plate_saturnite); + makeRecipe(StampType.PLATE, new OreDictStack(DURA.ingot()), ModItems.plate_dura_steel); + + makeRecipe(StampType.C9, new OreDictStack(GUNMETAL.plate()), DictFrame.fromOne(ModItems.casing, EnumCasingType.SMALL, 4)); + makeRecipe(StampType.C50, new OreDictStack(GUNMETAL.plate()), DictFrame.fromOne(ModItems.casing, EnumCasingType.LARGE, 2)); + makeRecipe(StampType.C9, new OreDictStack(WEAPONSTEEL.plate()), DictFrame.fromOne(ModItems.casing, EnumCasingType.SMALL_STEEL, 4)); + makeRecipe(StampType.C50, new OreDictStack(WEAPONSTEEL.plate()), DictFrame.fromOne(ModItems.casing, EnumCasingType.LARGE_STEEL, 2)); for(NTMMaterial mat : Mats.orderedList) { - if(mat.shapes.contains(MaterialShapes.WIRE) && mat.shapes.contains(MaterialShapes.INGOT)) { - makeRecipe(StampType.WIRE, new OreDictStack(OreNames.INGOT + mat.names[0]), new ItemStack(ModItems.wire_fine, 8, mat.id)); + if(mat.autogen.contains(MaterialShapes.WIRE) && OreDictionary.doesOreNameExist(MaterialShapes.INGOT.make(mat))) { + makeRecipe(StampType.WIRE, new OreDictStack(MaterialShapes.INGOT.make(mat)), new ItemStack(ModItems.wire_fine, 8, mat.id)); } } makeRecipe(StampType.CIRCUIT, new OreDictStack(SI.billet()), DictFrame.fromOne(ModItems.circuit, EnumCircuitType.SILICON)); - makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_iron), ModItems.ammo_357.stackFromEnum(24, Ammo357Magnum.IRON)); - makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_steel), ModItems.ammo_357.stackFromEnum(24, Ammo357Magnum.LEAD)); - makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_lead), ModItems.ammo_357.stackFromEnum(24, Ammo357Magnum.NUCLEAR)); - makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_gold), ModItems.ammo_357.stackFromEnum(24, Ammo357Magnum.GOLD)); - makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_schrabidium), ModItems.ammo_357.stackFromEnum(6, Ammo357Magnum.SCHRABIDIUM)); - makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_nightmare), ModItems.ammo_357.stackFromEnum(24, Ammo357Magnum.NIGHTMARE1)); - makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_desh), ModItems.ammo_357.stackFromEnum(24, Ammo357Magnum.DESH)); - makeRecipe(StampType.C357, new OreDictStack(STEEL.ingot()), ModItems.ammo_357.stackFromEnum(24, Ammo357Magnum.STEEL)); - - makeRecipe(StampType.C44, new ComparableStack(ModItems.assembly_nopip), new ItemStack(ModItems.ammo_44, 24)); - makeRecipe(StampType.C44, new ComparableStack(ModItems.assembly_45), new ItemStack(ModItems.ammo_45, 32)); - - makeRecipe(StampType.C9, new ComparableStack(ModItems.assembly_smg), new ItemStack(ModItems.ammo_9mm, 32)); - makeRecipe(StampType.C9, new ComparableStack(ModItems.assembly_uzi), new ItemStack(ModItems.ammo_22lr, 32)); - makeRecipe(StampType.C9, new OreDictStack(GOLD.ingot()), ModItems.ammo_556.stackFromEnum(32, Ammo556mm.GOLD)); - makeRecipe(StampType.C9, new ComparableStack(ModItems.assembly_lacunae), new ItemStack(ModItems.ammo_5mm, 64)); - makeRecipe(StampType.C9, new ComparableStack(ModItems.assembly_556), new ItemStack(ModItems.ammo_556, 32)); - - makeRecipe(StampType.C50, new ComparableStack(ModItems.assembly_calamity), new ItemStack(ModItems.ammo_50bmg, 12)); - makeRecipe(StampType.C50, new ComparableStack(ModItems.assembly_actionexpress), new ItemStack(ModItems.ammo_50ae, 12)); - makeRecipe(StampType.C50, new ComparableStack(ModItems.assembly_luna), ModItems.ammo_luna_sniper.stackFromEnum(4, AmmoLunaticSniper.SABOT)); - makeRecipe(StampType.C50, new ComparableStack(ModItems.assembly_762), new ItemStack(ModItems.ammo_762, 32)); - makeRecipe(StampType.PRINTING1, new ComparableStack(Items.paper), DictFrame.fromOne(ModItems.page_of_, EnumPages.PAGE1)); makeRecipe(StampType.PRINTING2, new ComparableStack(Items.paper), DictFrame.fromOne(ModItems.page_of_, EnumPages.PAGE2)); makeRecipe(StampType.PRINTING3, new ComparableStack(Items.paper), DictFrame.fromOne(ModItems.page_of_, EnumPages.PAGE3)); diff --git a/src/main/java/com/hbm/inventory/recipes/PyroOvenRecipes.java b/src/main/java/com/hbm/inventory/recipes/PyroOvenRecipes.java new file mode 100644 index 000000000..e786dcead --- /dev/null +++ b/src/main/java/com/hbm/inventory/recipes/PyroOvenRecipes.java @@ -0,0 +1,225 @@ +package com.hbm.inventory.recipes; + +import static com.hbm.inventory.OreDictManager.*; +import static com.hbm.inventory.fluid.Fluids.*; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; +import com.hbm.inventory.FluidStack; +import com.hbm.inventory.RecipesCommon.AStack; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.RecipesCommon.OreDictStack; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.trait.FT_Flammable; +import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.items.ItemEnums.EnumAshType; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemFluidIcon; +import com.hbm.items.special.ItemBedrockOreNew; +import com.hbm.items.special.ItemBedrockOreNew.BedrockOreGrade; +import com.hbm.items.special.ItemBedrockOreNew.BedrockOreType; + +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class PyroOvenRecipes extends SerializableRecipe { + + public static List recipes = new ArrayList(); + + @Override + public void registerDefaults() { + + //solid fuel + registerSFAuto(SMEAR); + registerSFAuto(HEATINGOIL); + registerSFAuto(HEATINGOIL_VACUUM); + registerSFAuto(RECLAIMED); + registerSFAuto(PETROIL); + registerSFAuto(NAPHTHA); + registerSFAuto(NAPHTHA_CRACK); + registerSFAuto(DIESEL); + registerSFAuto(DIESEL_REFORM); + registerSFAuto(DIESEL_CRACK); + registerSFAuto(DIESEL_CRACK_REFORM); + registerSFAuto(LIGHTOIL); + registerSFAuto(LIGHTOIL_CRACK); + registerSFAuto(LIGHTOIL_VACUUM); + registerSFAuto(KEROSENE); + registerSFAuto(KEROSENE_REFORM); + registerSFAuto(SOURGAS); + registerSFAuto(REFORMGAS); + registerSFAuto(SYNGAS); + registerSFAuto(PETROLEUM); + registerSFAuto(LPG); + registerSFAuto(BIOFUEL); + registerSFAuto(AROMATICS); + registerSFAuto(UNSATURATEDS); + registerSFAuto(REFORMATE); + registerSFAuto(XYLENE); + registerSFAuto(BALEFIRE, 24_000_000L, ModItems.solid_fuel_bf); + + //bedrock ores + + for(BedrockOreType type : BedrockOreType.values()) { + recipes.add(new PyroOvenRecipe(10).in(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.BASE, type))).out(new FluidStack(Fluids.VITRIOL, 50)).out(ItemBedrockOreNew.make(BedrockOreGrade.BASE_ROASTED, type))); + recipes.add(new PyroOvenRecipe(10).in(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY, type))).out(new FluidStack(Fluids.VITRIOL, 50)).out(ItemBedrockOreNew.make(BedrockOreGrade.PRIMARY_ROASTED, type))); + recipes.add(new PyroOvenRecipe(10).in(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_BYPRODUCT, type))).out(new FluidStack(Fluids.VITRIOL, 50)).out(ItemBedrockOreNew.make(BedrockOreGrade.SULFURIC_ROASTED, type))); + recipes.add(new PyroOvenRecipe(10).in(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_BYPRODUCT, type))).out(new FluidStack(Fluids.VITRIOL, 50)).out(ItemBedrockOreNew.make(BedrockOreGrade.SOLVENT_ROASTED, type))); + recipes.add(new PyroOvenRecipe(10).in(new ComparableStack(ItemBedrockOreNew.make(BedrockOreGrade.RAD_BYPRODUCT, type))).out(new FluidStack(Fluids.VITRIOL, 50)).out(ItemBedrockOreNew.make(BedrockOreGrade.RAD_ROASTED, type))); + } + + //syngas from coal + recipes.add(new PyroOvenRecipe(100) + .in(new FluidStack(Fluids.STEAM, 500)).in(new OreDictStack(COAL.gem())) + .out(new FluidStack(Fluids.SYNGAS, 1_000))); + recipes.add(new PyroOvenRecipe(100) + .in(new FluidStack(Fluids.STEAM, 500)).in(new OreDictStack(COAL.dust())) + .out(new FluidStack(Fluids.SYNGAS, 1_000))); + recipes.add(new PyroOvenRecipe(100) + .in(new FluidStack(Fluids.STEAM, 250)).in(new OreDictStack(ANY_COKE.gem())) + .out(new FluidStack(Fluids.SYNGAS, 1_000))); + //syngas from biomass + recipes.add(new PyroOvenRecipe(100) + .in(new ComparableStack(ModItems.biomass, 4)) + .out(new FluidStack(Fluids.SYNGAS, 1_000)).out(new ItemStack(Items.coal, 1, 1))); + //soot from tar + recipes.add(new PyroOvenRecipe(40) + .out(new FluidStack(Fluids.HYDROGEN, 250)).in(new OreDictStack(ANY_TAR.any(), 4)) + .out(new FluidStack(Fluids.CARBONDIOXIDE, 1_000)).out(DictFrame.fromOne(ModItems.powder_ash, EnumAshType.SOOT))); + //heavyoil from coal + recipes.add(new PyroOvenRecipe(100) + .in(new FluidStack(Fluids.HYDROGEN, 500)).in(new OreDictStack(COAL.gem())) + .out(new FluidStack(Fluids.HEAVYOIL, 1_000))); + recipes.add(new PyroOvenRecipe(100) + .in(new FluidStack(Fluids.HYDROGEN, 500)).in(new OreDictStack(COAL.dust())) + .out(new FluidStack(Fluids.HEAVYOIL, 1_000))); + //coalgas from coal + recipes.add(new PyroOvenRecipe(50) + .in(new FluidStack(Fluids.HEAVYOIL, 500)).in(new OreDictStack(COAL.gem())) + .out(new FluidStack(Fluids.COALGAS, 1_000))); + recipes.add(new PyroOvenRecipe(50) + .in(new FluidStack(Fluids.HEAVYOIL, 500)).in(new OreDictStack(COAL.dust())) + .out(new FluidStack(Fluids.COALGAS, 1_000))); + recipes.add(new PyroOvenRecipe(50) + .in(new FluidStack(Fluids.HEAVYOIL, 500)).in(new OreDictStack(ANY_COKE.gem())) + .out(new FluidStack(Fluids.COALGAS, 1_000))); + //refgas from coker gas + recipes.add(new PyroOvenRecipe(60) + .in(new FluidStack(GAS_COKER, 4_000)) + .out(new FluidStack(Fluids.REFORMGAS, 100))); + //hydrogen and carbon from natgas + recipes.add(new PyroOvenRecipe(60) + .in(new FluidStack(Fluids.GAS, 12_000)) + .out(new FluidStack(Fluids.HYDROGEN, 8_000)).out(new ItemStack(ModItems.ingot_graphite, 1))); + } + + public static void registerSFAuto(FluidType fluid) { + registerSFAuto(fluid, 1_440_000L, ModItems.solid_fuel); //3200 burntime * 1.5 burntime bonus * 300 TU/t + } + private static void registerSFAuto(FluidType fluid, long tuPerSF, Item fuel) { + long tuPerBucket = fluid.getTrait(FT_Flammable.class).getHeatEnergy(); + double bonus = 0.5D; //double efficiency!! + + int mB = (int) (tuPerSF * 1000L * bonus / tuPerBucket); + + if(mB > 10_000) mB -= (mB % 1000); + else if(mB > 1_000) mB -= (mB % 100); + else if(mB > 100) mB -= (mB % 10); + + mB = Math.max(mB, 1); + + registerRecipe(fluid, mB, fuel); + } + + private static void registerRecipe(FluidType type, int quantity, Item output) { registerRecipe(type, quantity, new ItemStack(output)); } + private static void registerRecipe(FluidType type, int quantity, ItemStack output) { recipes.add(new PyroOvenRecipe(60).in(new FluidStack(type, quantity)).out(output)); } + + public static HashMap getRecipes() { + HashMap map = new HashMap(); + + for(PyroOvenRecipe rec : recipes) { + + Object[] in = null; + Object[] out = null; + + if(rec.inputFluid != null && rec.inputItem != null) in = new Object[] {ItemFluidIcon.make(rec.inputFluid), rec.inputItem}; + if(rec.inputFluid != null && rec.inputItem == null) in = new Object[] {ItemFluidIcon.make(rec.inputFluid)}; + if(rec.inputFluid == null && rec.inputItem != null) in = new Object[] {rec.inputItem}; + + if(rec.outputFluid != null && rec.outputItem != null) out = new Object[] {rec.outputItem, ItemFluidIcon.make(rec.outputFluid)}; + if(rec.outputFluid != null && rec.outputItem == null) out = new Object[] {ItemFluidIcon.make(rec.outputFluid)}; + if(rec.outputFluid == null && rec.outputItem != null) out = new Object[] {rec.outputItem}; + + if(in != null && out != null) { + map.put(in, out); + } + } + + return map; + } + + @Override + public String getFileName() { + return "hbmPyrolysis.json"; + } + + @Override + public Object getRecipeObject() { + return recipes; + } + + @Override + public void deleteRecipes() { + recipes.clear(); + } + + @Override + public void readRecipe(JsonElement recipe) { + JsonObject obj = (JsonObject) recipe; + + AStack inputItem = obj.has("inputItem") ? this.readAStack(obj.get("inputItem").getAsJsonArray()) : null; + FluidStack inputFluid = obj.has("inputFluid") ? this.readFluidStack(obj.get("inputFluid").getAsJsonArray()) : null; + ItemStack outputItem = obj.has("outputItem") ? this.readItemStack(obj.get("outputItem").getAsJsonArray()) : null; + FluidStack outputFluid = obj.has("outputFluid") ? this.readFluidStack(obj.get("outputFluid").getAsJsonArray()) : null; + int duration = obj.get("duration").getAsInt(); + + recipes.add(new PyroOvenRecipe(duration).in(inputFluid).in(inputItem).out(outputFluid).out(outputItem)); + } + + @Override + public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { + + PyroOvenRecipe rec = (PyroOvenRecipe) recipe; + + if(rec.inputFluid != null) { writer.name("inputFluid"); this.writeFluidStack(rec.inputFluid, writer); } + if(rec.inputItem != null) { writer.name("inputItem"); this.writeAStack(rec.inputItem, writer); } + if(rec.outputFluid != null) { writer.name("outputFluid"); this.writeFluidStack(rec.outputFluid, writer); } + if(rec.outputItem != null) { writer.name("outputItem"); this.writeItemStack(rec.outputItem, writer); } + writer.name("duration").value(rec.duration); + } + + public static class PyroOvenRecipe { + public FluidStack inputFluid; + public AStack inputItem; + public FluidStack outputFluid; + public ItemStack outputItem; + public int duration; + + public PyroOvenRecipe(int duration) { + this.duration = duration; + } + + public PyroOvenRecipe in(FluidStack stack) { this.inputFluid = stack; return this; } + public PyroOvenRecipe in(AStack stack) { this.inputItem = stack; return this; } + public PyroOvenRecipe out(FluidStack stack) { this.outputFluid = stack; return this; } + public PyroOvenRecipe out(ItemStack stack) { this.outputItem = stack; return this; } + } +} diff --git a/src/main/java/com/hbm/inventory/recipes/ReformingRecipes.java b/src/main/java/com/hbm/inventory/recipes/ReformingRecipes.java index ce8b44627..d728bb2de 100644 --- a/src/main/java/com/hbm/inventory/recipes/ReformingRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ReformingRecipes.java @@ -18,7 +18,7 @@ import net.minecraft.item.ItemStack; public class ReformingRecipes extends SerializableRecipe { - private static HashMap> recipes = new HashMap(); + public static HashMap> recipes = new HashMap(); @Override public void registerDefaults() { diff --git a/src/main/java/com/hbm/inventory/recipes/RotaryFurnaceRecipes.java b/src/main/java/com/hbm/inventory/recipes/RotaryFurnaceRecipes.java new file mode 100644 index 000000000..981df895e --- /dev/null +++ b/src/main/java/com/hbm/inventory/recipes/RotaryFurnaceRecipes.java @@ -0,0 +1,191 @@ +package com.hbm.inventory.recipes; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; + +import static com.hbm.inventory.OreDictManager.*; +import static com.hbm.inventory.material.Mats.*; +import static com.hbm.inventory.material.MaterialShapes.*; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; +import com.hbm.inventory.FluidStack; +import com.hbm.inventory.RecipesCommon.AStack; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.RecipesCommon.OreDictStack; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.material.Mats; +import com.hbm.inventory.material.Mats.MaterialStack; +import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemFluidIcon; +import com.hbm.items.machine.ItemScraps; + +import net.minecraft.item.ItemStack; + +public class RotaryFurnaceRecipes extends SerializableRecipe { + + public static List recipes = new ArrayList(); + + @Override + public void registerDefaults() { + + recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_STEEL, INGOT.q(1)), 100, 100, new OreDictStack(IRON.ingot()), new OreDictStack(COAL.gem()))); + recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_STEEL, INGOT.q(1)), 100, 100, new OreDictStack(IRON.ingot()), new OreDictStack(ANY_COKE.gem()))); + + recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_STEEL, INGOT.q(2)), 200, 25, new OreDictStack(IRON.fragment(), 9), new OreDictStack(COAL.gem()))); + recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_STEEL, INGOT.q(3)), 200, 25, new OreDictStack(IRON.fragment(), 9), new OreDictStack(ANY_COKE.gem()))); + recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_STEEL, INGOT.q(4)), 400, 25, new OreDictStack(IRON.fragment(), 9), new OreDictStack(ANY_COKE.gem()), new ComparableStack(ModItems.powder_flux))); + + recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_DESH, INGOT.q(1)), 100, 200, new FluidStack(Fluids.LIGHTOIL, 100), new ComparableStack(ModItems.powder_desh_ready))); + + recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_GUNMETAL, INGOT.q(4)), 200, 100, new OreDictStack(CU.ingot(), 3), new OreDictStack(AL.ingot(), 1))); + recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_WEAPONSTEEL, INGOT.q(1)), 200, 400, new FluidStack(Fluids.GAS_COKER, 100), new OreDictStack(STEEL.ingot(), 1), new ComparableStack(ModItems.powder_flux, 2))); + recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_SATURN, INGOT.q(2)), 200, 400, new FluidStack(Fluids.REFORMGAS, 250), new OreDictStack(DURA.dust(), 4), new OreDictStack(CU.dust()))); + recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_SATURN, INGOT.q(4)), 200, 300, new FluidStack(Fluids.REFORMGAS, 250), new OreDictStack(DURA.dust(), 4), new OreDictStack(CU.dust()), new OreDictStack(BORAX.dust()))); + recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_ALUMINIUM, INGOT.q(2)), 100, 400, new FluidStack(Fluids.SODIUM_ALUMINATE, 150))); + recipes.add(new RotaryFurnaceRecipe(new MaterialStack(MAT_ALUMINIUM, INGOT.q(3)), 40, 200, new FluidStack(Fluids.SODIUM_ALUMINATE, 150), new ComparableStack(ModItems.powder_flux, 2))); + } + + public static HashMap getRecipes() { + + HashMap recipes = new HashMap(); + + for(RotaryFurnaceRecipe recipe : RotaryFurnaceRecipes.recipes) { + + int size = recipe.ingredients.length + (recipe.fluid != null ? 1 : 0); + Object[] array = new Object[size]; + + for(int i = 0; i < recipe.ingredients.length; i++) { + array[i] = recipe.ingredients[i]; + } + + if(recipe.fluid != null) array[size - 1] = ItemFluidIcon.make(recipe.fluid); + + recipes.put(array, ItemScraps.create(recipe.output, true)); + } + + return recipes; + } + + public static RotaryFurnaceRecipe getRecipe(ItemStack... inputs) { + + outer: + for(RotaryFurnaceRecipe recipe : recipes) { + + List recipeList = new ArrayList(); + for(AStack ingredient : recipe.ingredients) recipeList.add(ingredient); + + for(int i = 0; i < inputs.length; i++) { + + ItemStack inputStack = inputs[i]; + + if(inputStack != null) { + + boolean hasMatch = false; + Iterator iterator = recipeList.iterator(); + + while(iterator.hasNext()) { + AStack recipeStack = iterator.next(); + + if(recipeStack.matchesRecipe(inputStack, true) && inputStack.stackSize >= recipeStack.stacksize) { + hasMatch = true; + recipeList.remove(recipeStack); + break; + } + } + + if(!hasMatch) { + continue outer; + } + } + } + + if(recipeList.isEmpty()) return recipe; + } + + return null; + } + + @Override + public String getFileName() { + return "hbmRotaryFurnace.json"; + } + + @Override + public Object getRecipeObject() { + return recipes; + } + + @Override + public void deleteRecipes() { + recipes.clear(); + } + + @Override + public void readRecipe(JsonElement recipe) { + JsonObject obj = (JsonObject) recipe; + + AStack[] inputs = this.readAStackArray(obj.get("inputs").getAsJsonArray()); + FluidStack fluid = obj.has("fluid") ? this.readFluidStack(obj.get("fluid").getAsJsonArray()) : null; + + JsonArray array = obj.get("output").getAsJsonArray(); + MaterialStack stack = new MaterialStack(Mats.matByName.get(array.get(0).getAsString()), array.get(1).getAsInt()); + + int duration = obj.get("duration").getAsInt(); + int steam = obj.get("steam").getAsInt(); + + recipes.add(new RotaryFurnaceRecipe(stack, duration, steam, fluid, inputs)); + } + + @Override + public void writeRecipe(Object obj, JsonWriter writer) throws IOException { + RotaryFurnaceRecipe recipe = (RotaryFurnaceRecipe) obj; + + writer.name("inputs").beginArray(); + for(AStack aStack : recipe.ingredients) { + this.writeAStack(aStack, writer); + } + writer.endArray(); + + if(recipe.fluid != null) { + writer.name("fluid"); + this.writeFluidStack(recipe.fluid, writer); + } + + writer.name("output").beginArray(); + writer.setIndent(""); + writer.value(recipe.output.material.names[0]).value(recipe.output.amount); + writer.endArray(); + writer.setIndent(" "); + + writer.name("duration").value(recipe.duration); + writer.name("steam").value(recipe.steam); + } + + public static class RotaryFurnaceRecipe { + + public AStack[] ingredients; + public FluidStack fluid; + public MaterialStack output; + public int duration; + public int steam; + + public RotaryFurnaceRecipe(MaterialStack output, int duration, int steam, FluidStack fluid, AStack... ingredients) { + this.ingredients = ingredients; + this.fluid = fluid; + this.output = output; + this.duration = duration; + this.steam = steam; + } + + public RotaryFurnaceRecipe(MaterialStack output, int duration, int steam, AStack... ingredients) { + this(output, duration, steam, null, ingredients); + } + } +} diff --git a/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java b/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java index 8bdecce61..6d57569e4 100644 --- a/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java @@ -20,6 +20,7 @@ import com.hbm.util.WeightedRandomObject; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; +import net.minecraft.item.Item; import net.minecraftforge.oredict.OreDictionary; public class SILEXRecipes { @@ -27,688 +28,716 @@ public class SILEXRecipes { private static HashMap recipes = new HashMap(); private static HashMap itemTranslation = new HashMap(); private static HashMap dictTranslation = new HashMap(); - + public static void register() { itemTranslation.put(new ComparableStack(ModItems.fluid_icon, 1, Fluids.UF6.getID()), new ComparableStack(ModItems.ingot_uranium)); dictTranslation.put(U.dust(), U.ingot()); recipes.put(U.ingot(), new SILEXRecipe(900, 100, EnumWavelengths.VISIBLE) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u235), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u238), 11)) + .addOut(new ItemStack(ModItems.nugget_u235), 1) + .addOut(new ItemStack(ModItems.nugget_u238), 11) ); - + recipes.put(new ComparableStack(ModItems.ingot_pu_mix), new SILEXRecipe(900, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu239), 6)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu240), 3)) + .addOut(new ItemStack(ModItems.nugget_pu239), 6) + .addOut(new ItemStack(ModItems.nugget_pu240), 3) ); - + recipes.put(new ComparableStack(ModItems.ingot_am_mix), new SILEXRecipe(900, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_am241), 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_am242), 6)) + .addOut(new ItemStack(ModItems.nugget_am241), 3) + .addOut(new ItemStack(ModItems.nugget_am242), 6) ); itemTranslation.put(new ComparableStack(ModItems.fluid_icon, 1, Fluids.PUF6.getID()), new ComparableStack(ModItems.ingot_plutonium)); dictTranslation.put(PU.dust(), PU.ingot()); recipes.put(PU.ingot(), new SILEXRecipe(900, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu238), 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu239), 4)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu240), 2)) + .addOut(new ItemStack(ModItems.nugget_pu238), 3) + .addOut(new ItemStack(ModItems.nugget_pu239), 4) + .addOut(new ItemStack(ModItems.nugget_pu240), 2) ); recipes.put(new ComparableStack(ModItems.ingot_schraranium), new SILEXRecipe(900, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_schrabidium), 4)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_uranium), 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_neptunium), 2)) + .addOut(new ItemStack(ModItems.nugget_schrabidium), 4) + .addOut(new ItemStack(ModItems.nugget_uranium), 3) + .addOut(new ItemStack(ModItems.nugget_neptunium), 2) ); itemTranslation.put(new ComparableStack(ModItems.powder_australium), new ComparableStack(ModItems.ingot_australium)); recipes.put(new ComparableStack(ModItems.ingot_australium), new SILEXRecipe(900, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_australium_lesser), 5)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_australium_greater), 1)) + .addOut(new ItemStack(ModItems.nugget_australium_lesser), 5) + .addOut(new ItemStack(ModItems.nugget_australium_greater), 1) ); - + recipes.put(new ComparableStack(ModItems.crystal_schraranium), new SILEXRecipe(900, 100, 3) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_schrabidium), 5)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_uranium), 2)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_neptunium), 2)) + .addOut(new ItemStack(ModItems.nugget_schrabidium), 5) + .addOut(new ItemStack(ModItems.nugget_uranium), 2) + .addOut(new ItemStack(ModItems.nugget_neptunium), 2) ); - + recipes.put(new ComparableStack(ModBlocks.ore_tikite), new SILEXRecipe(900, 100, EnumWavelengths.UV) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_plutonium), 2)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_cobalt), 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_niobium), 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_nitan_mix), 2)) + .addOut(new ItemStack(ModItems.powder_plutonium), 2) + .addOut(new ItemStack(ModItems.powder_cobalt), 3) + .addOut(new ItemStack(ModItems.powder_niobium), 3) + .addOut(new ItemStack(ModItems.powder_nitan_mix), 2) ); - + recipes.put(new ComparableStack(ModItems.crystal_trixite), new SILEXRecipe(1200, 100, EnumWavelengths.UV) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_plutonium), 2)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_cobalt), 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_niobium), 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_nitan_mix), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_spark_mix), 1)) + .addOut(new ItemStack(ModItems.powder_plutonium), 2) + .addOut(new ItemStack(ModItems.powder_cobalt), 3) + .addOut(new ItemStack(ModItems.powder_niobium), 3) + .addOut(new ItemStack(ModItems.powder_nitan_mix), 1) + .addOut(new ItemStack(ModItems.powder_spark_mix), 1) ); itemTranslation.put(new ComparableStack(ModItems.powder_lapis), new ComparableStack(Items.dye, 1, 4)); recipes.put(new ComparableStack(Items.dye, 1, 4), new SILEXRecipe(100, 100 ,1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.sulfur), 4)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_aluminium), 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_cobalt), 3)) + .addOut(new ItemStack(ModItems.sulfur), 4) + .addOut(new ItemStack(ModItems.powder_aluminium), 3) + .addOut(new ItemStack(ModItems.powder_cobalt), 3) ); recipes.put(new ComparableStack(ModItems.fluid_icon, 1, Fluids.DEATH.getID()), new SILEXRecipe(1000, 1000, 4) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_impure_osmiridium), 1)) + .addOut(new ItemStack(ModItems.powder_impure_osmiridium), 1) ); - recipes.put(new ComparableStack(ModItems.fluid_icon, 1, Fluids.VITRIOL.getID()), new SILEXRecipe(1000, 1000, EnumWavelengths.IR) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_bromine), 5)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_iodine), 5)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_iron), 5)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.sulfur), 15)) + recipes.put(new ComparableStack(ModItems.fluid_icon, 1, Fluids.VITRIOL.getID()), new SILEXRecipe(1000, 300, EnumWavelengths.IR) + .addOut(new ItemStack(ModItems.powder_bromine), 5) + .addOut(new ItemStack(ModItems.powder_iodine), 5) + .addOut(new ItemStack(ModItems.powder_iron), 5) + .addOut(new ItemStack(ModItems.sulfur), 15) ); - + + recipes.put(new ComparableStack(ModItems.fluid_icon, 1, Fluids.REDMUD.getID()), new SILEXRecipe(300, 50, EnumWavelengths.VISIBLE) + .addOut(new ItemStack(ModItems.powder_aluminium), 10) + .addOut(new ItemStack(ModItems.powder_neodymium_tiny, 3), 5) + .addOut(new ItemStack(ModItems.powder_boron_tiny, 3), 5) + .addOut(new ItemStack(ModItems.nugget_zirconium), 5) + .addOut(new ItemStack(ModItems.powder_iron), 20) + .addOut(new ItemStack(ModItems.powder_titanium), 15) + .addOut(new ItemStack(ModItems.powder_sodium), 10) + ); + for(int i = 0; i < 5; i++) { - + // UEU // recipes.put(new ComparableStack(ModItems.rbmk_pellet_ueu, 1, i), new SILEXRecipe(600, 100, 1) //NU and MEU will breed more plutonium due to their higher concentrations of U-238 - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_uranium), 86 - i * 11)) //NU is unenriched to the point where it'll always be lower burnup; so more Pu239 for longer - .addOut(new WeightedRandomObject(i < 2 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 10 + i * 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), 2 + 3 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), 2 + 5 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_uranium), 86 - i * 11) //NU is unenriched to the point where it'll always be lower burnup; so more Pu239 for longer + .addOut(i < 2 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 10 + i * 3) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), 2 + 3 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), 2 + 5 * i) ); + recipes.put(new ComparableStack(ModItems.rbmk_pellet_ueu, 1, i + 5), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_uranium), 86 - i * 11)) - .addOut(new WeightedRandomObject(i < 2 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 10 + i * 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), 2 + 3 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), 1 + 5 * i)) ); - + .addOut(new ItemStack(ModItems.powder_xe135_tiny), 1) + .addOut(new ItemStack(ModItems.nugget_uranium), 86 - i * 11) + .addOut(i < 2 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 10 + i * 3) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), 2 + 3 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), 1 + 5 * i) ); + // MEU // recipes.put(new ComparableStack(ModItems.rbmk_pellet_meu, 1, i), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_uranium_fuel), 84 - i * 16)) - .addOut(new WeightedRandomObject(i < 1 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 6 + i * 4)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), 4 + 5 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), 6 + 7 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_uranium_fuel), 84 - i * 16) + .addOut(i < 1 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 6 + i * 4) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), 4 + 5 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), 6 + 7 * i) ); + recipes.put(new ComparableStack(ModItems.rbmk_pellet_meu, 1, i + 5), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_uranium_fuel), 83 - i * 16)) - .addOut(new WeightedRandomObject(i < 1 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 6 + i * 4)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), 4 + 5 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), 6 + 7 * i)) ); - + .addOut(new ItemStack(ModItems.powder_xe135_tiny), 1) + .addOut(new ItemStack(ModItems.nugget_uranium_fuel), 83 - i * 16) + .addOut(i < 1 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 6 + i * 4) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), 4 + 5 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), 6 + 7 * i) ); + // HEU233 // recipes.put(new ComparableStack(ModItems.rbmk_pellet_heu233, 1, i), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u233), 90 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM233.ordinal()), 4 + 8 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM233.ordinal()), 6 + 12 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_u233), 90 - i * 20) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM233.ordinal()), 4 + 8 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM233.ordinal()), 6 + 12 * i) ); + recipes.put(new ComparableStack(ModItems.rbmk_pellet_heu233, 1, i + 5), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u233), 89 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM233.ordinal()), 4 + 8 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM233.ordinal()), 6 + 12 * i)) ); - + .addOut(new ItemStack(ModItems.powder_xe135_tiny), 1) + .addOut(new ItemStack(ModItems.nugget_u233), 89 - i * 20) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM233.ordinal()), 4 + 8 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM233.ordinal()), 6 + 12 * i) ); + // HEU235 // recipes.put(new ComparableStack(ModItems.rbmk_pellet_heu235, 1, i), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u235), 90 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), 4 + 8 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), 6 + 12 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_u235), 90 - i * 20) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), 4 + 8 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), 6 + 12 * i) ); + recipes.put(new ComparableStack(ModItems.rbmk_pellet_heu235, 1, i + 5), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u235), 89 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), 4 + 8 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), 6 + 12 * i)) ); - + .addOut(new ItemStack(ModItems.powder_xe135_tiny), 1) + .addOut(new ItemStack(ModItems.nugget_u235), 89 - i * 20) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), 4 + 8 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), 6 + 12 * i) ); + // TH232 // recipes.put(new ComparableStack(ModItems.rbmk_pellet_thmeu, 1, i), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_thorium_fuel), 84 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u233), 6 + i * 4)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.THORIUM.ordinal()), 10 + 16 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_thorium_fuel), 84 - i * 20) + .addOut(new ItemStack(ModItems.nugget_u233), 6 + i * 4) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.THORIUM.ordinal()), 10 + 16 * i) ); + recipes.put(new ComparableStack(ModItems.rbmk_pellet_thmeu, 1, i + 5), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_thorium_fuel), 83 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u233), 6 + i * 4)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.THORIUM.ordinal()), 10 + 16 * i)) ); - + .addOut(new ItemStack(ModItems.powder_xe135_tiny), 1) + .addOut(new ItemStack(ModItems.nugget_thorium_fuel), 83 - i * 20) + .addOut(new ItemStack(ModItems.nugget_u233), 6 + i * 4) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.THORIUM.ordinal()), 10 + 16 * i) ); + // LEP // recipes.put(new ComparableStack(ModItems.rbmk_pellet_lep, 1, i), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_plutonium_fuel), 84 - i * 14)) - .addOut(new WeightedRandomObject(i < 1 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 6 + i * 2)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM239.ordinal()), 7 + 8 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM240.ordinal()), 3 + 4 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_plutonium_fuel), 84 - i * 14) + .addOut(i < 1 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 6 + i * 2) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM239.ordinal()), 7 + 8 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM240.ordinal()), 3 + 4 * i) ); + recipes.put(new ComparableStack(ModItems.rbmk_pellet_lep, 1, i + 5), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_plutonium_fuel), 83 - i * 14)) - .addOut(new WeightedRandomObject(i < 1 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 6 + i * 2)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM239.ordinal()), 7 + 8 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM240.ordinal()), 3 + 4 * i)) ); - + .addOut(new ItemStack(ModItems.powder_xe135_tiny), 1) + .addOut(new ItemStack(ModItems.nugget_plutonium_fuel), 83 - i * 14) + .addOut(i < 1 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 6 + i * 2) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM239.ordinal()), 7 + 8 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM240.ordinal()), 3 + 4 * i) ); + // MEP // recipes.put(new ComparableStack(ModItems.rbmk_pellet_mep, 1, i), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu_mix), 85 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM239.ordinal()), 10 + 10 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM240.ordinal()), 5 + 5 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_pu_mix), 85 - i * 20) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM239.ordinal()), 10 + 10 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM240.ordinal()), 5 + 5 * i) ); + recipes.put(new ComparableStack(ModItems.rbmk_pellet_mep, 1, i + 5), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu_mix), 84 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM239.ordinal()), 10 + 10 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM240.ordinal()), 5 + 5 * i)) ); - + .addOut(new ItemStack(ModItems.powder_xe135_tiny), 1) + .addOut(new ItemStack(ModItems.nugget_pu_mix), 84 - i * 20) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM239.ordinal()), 10 + 10 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM240.ordinal()), 5 + 5 * i) ); + // HEP239 // recipes.put(new ComparableStack(ModItems.rbmk_pellet_hep239, 1, i), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu239), 85 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM239.ordinal()), 15 + 20 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_pu239), 85 - i * 20) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM239.ordinal()), 15 + 20 * i) ); + recipes.put(new ComparableStack(ModItems.rbmk_pellet_hep239, 1, i + 5), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu239), 84 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM239.ordinal()), 15 + 20 * i)) ); - + .addOut(new ItemStack(ModItems.powder_xe135_tiny), 1) + .addOut(new ItemStack(ModItems.nugget_pu239), 84 - i * 20) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM239.ordinal()), 15 + 20 * i) ); + // HEP241 // recipes.put(new ComparableStack(ModItems.rbmk_pellet_hep241, 1, i), new SILEXRecipe(600, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu241), 85 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM241.ordinal()), 15 + 20 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_pu241), 85 - i * 20) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM241.ordinal()), 15 + 20 * i) ); + recipes.put(new ComparableStack(ModItems.rbmk_pellet_hep241, 1, i + 5), new SILEXRecipe(600, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu241), 84 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM241.ordinal()), 15 + 20 * i)) ); - + .addOut(new ItemStack(ModItems.powder_xe135_tiny), 1) + .addOut(new ItemStack(ModItems.nugget_pu241), 84 - i * 20) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM241.ordinal()), 15 + 20 * i) ); + // MEN // recipes.put(new ComparableStack(ModItems.rbmk_pellet_men, 1, i), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_neptunium_fuel), 84 - i * 14)) - .addOut(new WeightedRandomObject(i < 1 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 6 + i * 2)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 4 + 5 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 6 + 7 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_neptunium_fuel), 84 - i * 14) + .addOut(i < 1 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 6 + i * 2) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 4 + 5 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 6 + 7 * i) ); + recipes.put(new ComparableStack(ModItems.rbmk_pellet_men, 1, i + 5), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_neptunium_fuel), 83 - i * 14)) - .addOut(new WeightedRandomObject(i < 1 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 6 + i * 2)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 4 + 5 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 6 + 7 * i)) ); - + .addOut(new ItemStack(ModItems.powder_xe135_tiny), 1) + .addOut(new ItemStack(ModItems.nugget_neptunium_fuel), 83 - i * 14) + .addOut(i < 1 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 6 + i * 2) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 4 + 5 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 6 + 7 * i) ); + // HEN // recipes.put(new ComparableStack(ModItems.rbmk_pellet_hen, 1, i), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_neptunium), 90 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 4 + 8 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 6 + 12 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_neptunium), 90 - i * 20) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 4 + 8 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 6 + 12 * i) ); + recipes.put(new ComparableStack(ModItems.rbmk_pellet_hen, 1, i + 5), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_neptunium), 89 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 4 + 8 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 6 + 12 * i)) ); - + .addOut(new ItemStack(ModItems.powder_xe135_tiny), 1) + .addOut(new ItemStack(ModItems.nugget_neptunium), 89 - i * 20) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 4 + 8 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 6 + 12 * i) ); + // MOX // recipes.put(new ComparableStack(ModItems.rbmk_pellet_mox, 1, i), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_mox_fuel), 84 - i * 20)) - .addOut(new WeightedRandomObject(i < 1 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 6 + i * 4)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), 2 + 3 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), 3 + 5 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM239.ordinal()), 3 + 5 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM240.ordinal()), 2 + 3 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_mox_fuel), 84 - i * 20) + .addOut(i < 1 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 6 + i * 4) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), 2 + 3 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), 3 + 5 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM239.ordinal()), 3 + 5 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM240.ordinal()), 2 + 3 * i) ); + //TODO: Readd xenon processing if/when the NEI handler can display more than 6 outputs properly recipes.put(new ComparableStack(ModItems.rbmk_pellet_mox, 1, i + 5), new SILEXRecipe(600, 100, 1) //Plutonium processing isn't possible w/o fucking up the NEI handler or removing xenon - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_mox_fuel), 84 - i * 20)) //To prevent people from taking advantage of differing waste types, conform to the latter - .addOut(new WeightedRandomObject(i < 1 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 6 + i * 4)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), 2 + 3 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), 3 + 5 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM239.ordinal()), 3 + 5 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM240.ordinal()), 2 + 3 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_mox_fuel), 84 - i * 20) //To prevent people from taking advantage of differing waste types, conform to the latter + .addOut(i < 1 ? new ItemStack(ModItems.nugget_pu239) : new ItemStack(ModItems.nugget_pu_mix), 6 + i * 4) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), 2 + 3 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), 3 + 5 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM239.ordinal()), 3 + 5 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.PLUTONIUM240.ordinal()), 2 + 3 * i) ); + // LEAUS // recipes.put(new ComparableStack(ModItems.rbmk_pellet_leaus, 1, i), new SILEXRecipe(600, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_australium_lesser), 90 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 6 + 12 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pb209), 4 + 8 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_australium_lesser), 90 - i * 20) + .addOut(new ItemStack(ModItems.nugget_lead), 6 + 12 * i) + .addOut(new ItemStack(ModItems.nugget_pb209), 4 + 8 * i) ); + recipes.put(new ComparableStack(ModItems.rbmk_pellet_leaus, 1, i + 5), new SILEXRecipe(600, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_australium_lesser), 89 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 6 + 12 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pb209), 4 + 8 * i)) ); - + .addOut(new ItemStack(ModItems.powder_xe135_tiny), 1) + .addOut(new ItemStack(ModItems.nugget_australium_lesser), 89 - i * 20) + .addOut(new ItemStack(ModItems.nugget_lead), 6 + 12 * i) + .addOut(new ItemStack(ModItems.nugget_pb209), 4 + 8 * i) ); + // HEAUS // recipes.put(new ComparableStack(ModItems.rbmk_pellet_heaus, 1, i), new SILEXRecipe(600, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_australium_greater), 90 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_au198), 5 + 10 * i)) - .addOut(new WeightedRandomObject(new ItemStack(Items.gold_nugget), 3 + 6 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pb209), 2 + 4 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_australium_greater), 90 - i * 20) + .addOut(new ItemStack(ModItems.nugget_au198), 5 + 10 * i) + .addOut(new ItemStack(Items.gold_nugget), 3 + 6 * i) + .addOut(new ItemStack(ModItems.nugget_pb209), 2 + 4 * i) ); + recipes.put(new ComparableStack(ModItems.rbmk_pellet_heaus, 1, i + 5), new SILEXRecipe(600, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_australium_greater), 89 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_au198), 5 + 10 * i)) - .addOut(new WeightedRandomObject(new ItemStack(Items.gold_nugget), 3 + 6 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pb209), 2 + 4 * i)) ); - + .addOut(new ItemStack(ModItems.powder_xe135_tiny), 1) + .addOut(new ItemStack(ModItems.nugget_australium_greater), 89 - i * 20) + .addOut(new ItemStack(ModItems.nugget_au198), 5 + 10 * i) + .addOut(new ItemStack(Items.gold_nugget), 3 + 6 * i) + .addOut(new ItemStack(ModItems.nugget_pb209), 2 + 4 * i) ); + // LES // recipes.put(new ComparableStack(ModItems.rbmk_pellet_les, 1, i), new SILEXRecipe(600, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_les), 90 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 2 + 3 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 2 + 5 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.SCHRABIDIUM.ordinal()), 1 + 2 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.SCHRABIDIUM.ordinal()), 1 + 2 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_coal_tiny), 4 + 8 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_les), 90 - i * 20) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 2 + 3 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 2 + 5 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.SCHRABIDIUM.ordinal()), 1 + 2 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.SCHRABIDIUM.ordinal()), 1 + 2 * i) + .addOut(new ItemStack(ModItems.powder_coal_tiny), 4 + 8 * i) ); + //TODO: Readd xenon processing if/when the NEI handler can display more than 6 outputs properly recipes.put(new ComparableStack(ModItems.rbmk_pellet_les, 1, i + 5), new SILEXRecipe(600, 100, 2) //I'd rather not fuck up the NEI handler, so six items it is - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_les), 90 - i * 20)) //Just bullshit something about "not enough np237 for extractable amounts of xe135" - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 2 + 3 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 2 + 5 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.SCHRABIDIUM.ordinal()), 1 + 2 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.SCHRABIDIUM.ordinal()), 1 + 2 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_coal_tiny), 4 + 8 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_les), 90 - i * 20) //Just bullshit something about "not enough np237 for extractable amounts of xe135" + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 2 + 3 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 2 + 5 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.SCHRABIDIUM.ordinal()), 1 + 2 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.SCHRABIDIUM.ordinal()), 1 + 2 * i) + .addOut(new ItemStack(ModItems.powder_coal_tiny), 4 + 8 * i) ); + // MES // recipes.put(new ComparableStack(ModItems.rbmk_pellet_mes, 1, i), new SILEXRecipe(600, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_schrabidium_fuel), 90 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 1 + 3 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 2 + 4 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.SCHRABIDIUM.ordinal()), 1 + 3 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.SCHRABIDIUM.ordinal()), 2 + 4 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_coal_tiny), 4 + 6 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_schrabidium_fuel), 90 - i * 20) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 1 + 3 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 2 + 4 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.SCHRABIDIUM.ordinal()), 1 + 3 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.SCHRABIDIUM.ordinal()), 2 + 4 * i) + .addOut(new ItemStack(ModItems.powder_coal_tiny), 4 + 6 * i) ); + //TODO: Readd xenon processing if/when the NEI handler can display more than 6 outputs properly recipes.put(new ComparableStack(ModItems.rbmk_pellet_mes, 1, i + 5), new SILEXRecipe(600, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_schrabidium_fuel), 90 - i * 20)) //ditto - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 1 + 3 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 2 + 4 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.SCHRABIDIUM.ordinal()), 1 + 3 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.SCHRABIDIUM.ordinal()), 2 + 4 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_coal_tiny), 4 + 6 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_schrabidium_fuel), 90 - i * 20) //ditto + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 1 + 3 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 2 + 4 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.SCHRABIDIUM.ordinal()), 1 + 3 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.SCHRABIDIUM.ordinal()), 2 + 4 * i) + .addOut(new ItemStack(ModItems.powder_coal_tiny), 4 + 6 * i) ); + // HES // recipes.put(new ComparableStack(ModItems.rbmk_pellet_hes, 1, i), new SILEXRecipe(600, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_hes), 90 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 1 + 2 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 1 + 3 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.SCHRABIDIUM.ordinal()), 2 + 5 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.SCHRABIDIUM.ordinal()), 4 + 6 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_coal_tiny), 2 + 4 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_hes), 90 - i * 20) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 1 + 2 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 1 + 3 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.SCHRABIDIUM.ordinal()), 2 + 5 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.SCHRABIDIUM.ordinal()), 4 + 6 * i) + .addOut(new ItemStack(ModItems.powder_coal_tiny), 2 + 4 * i) ); + //TODO: Readd xenon processing if/when the NEI handler can display more than 6 outputs properly recipes.put(new ComparableStack(ModItems.rbmk_pellet_hes, 1, i + 5), new SILEXRecipe(600, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_hes), 90 - i * 20)) //ditto - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 1 + 2 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 1 + 3 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.SCHRABIDIUM.ordinal()), 2 + 5 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.SCHRABIDIUM.ordinal()), 4 + 6 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_coal_tiny), 2 + 4 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_hes), 90 - i * 20) //ditto + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), 1 + 2 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), 1 + 3 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.SCHRABIDIUM.ordinal()), 2 + 5 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.SCHRABIDIUM.ordinal()), 4 + 6 * i) + .addOut(new ItemStack(ModItems.powder_coal_tiny), 2 + 4 * i) ); + // BALEFIRE // recipes.put(new ComparableStack(ModItems.rbmk_pellet_balefire, 1, i), new SILEXRecipe(400, 100, 3) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_balefire), 90 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 10 + 20 * i)) ); - + .addOut(new ItemStack(ModItems.powder_balefire), 90 - i * 20) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 10 + 20 * i) ); + // FLASHGOLD // recipes.put(new ComparableStack(ModItems.rbmk_pellet_balefire_gold, 1, i), new SILEXRecipe(600, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_au198), 90 - 20 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_balefire), 10 + 20 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_au198), 90 - 20 * i) + .addOut(new ItemStack(ModItems.powder_balefire), 10 + 20 * i) ); + // FLASHLEAD // recipes.put(new ComparableStack(ModItems.rbmk_pellet_flashlead, 1, i), new SILEXRecipe(600, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_au198), 44 - 10 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pb209), 44 - 10 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_bismuth), 1 + 6 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_mercury), 1 + 6 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_gh336), 10 + 8 * i)) ); //Reimumunch - + .addOut(new ItemStack(ModItems.nugget_au198), 44 - 10 * i) + .addOut(new ItemStack(ModItems.nugget_pb209), 44 - 10 * i) + .addOut(new ItemStack(ModItems.nugget_bismuth), 1 + 6 * i) + .addOut(new ItemStack(ModItems.nugget_mercury), 1 + 6 * i) + .addOut(new ItemStack(ModItems.nugget_gh336), 10 + 8 * i) ); //Reimumunch + // POBE // recipes.put(new ComparableStack(ModItems.rbmk_pellet_po210be, 1, i), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_polonium), 45 - 10 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_beryllium), 45 - 10 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 5 + 10 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_coal_tiny), 5 + 10 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_polonium), 45 - 10 * i) + .addOut(new ItemStack(ModItems.nugget_beryllium), 45 - 10 * i) + .addOut(new ItemStack(ModItems.nugget_lead), 5 + 10 * i) + .addOut(new ItemStack(ModItems.powder_coal_tiny), 5 + 10 * i) ); + // PUBE // recipes.put(new ComparableStack(ModItems.rbmk_pellet_pu238be, 1, i), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu238), 45 - 10 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_beryllium), 45 - 10 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 3 + 5 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 2 + 5 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_coal_tiny), 5 + 10 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_pu238), 45 - 10 * i) + .addOut(new ItemStack(ModItems.nugget_beryllium), 45 - 10 * i) + .addOut(new ItemStack(ModItems.nugget_lead), 3 + 5 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 2 + 5 * i) + .addOut(new ItemStack(ModItems.powder_coal_tiny), 5 + 10 * i) ); + recipes.put(new ComparableStack(ModItems.rbmk_pellet_pu238be, 1, i + 5), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu238), 44 - 10 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_beryllium), 45 - 10 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 3 + 5 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 2 + 5 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_coal_tiny), 5 + 10 * i)) ); - + .addOut(new ItemStack(ModItems.powder_xe135_tiny), 1) + .addOut(new ItemStack(ModItems.nugget_pu238), 44 - 10 * i) + .addOut(new ItemStack(ModItems.nugget_beryllium), 45 - 10 * i) + .addOut(new ItemStack(ModItems.nugget_lead), 3 + 5 * i) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 2 + 5 * i) + .addOut(new ItemStack(ModItems.powder_coal_tiny), 5 + 10 * i) ); + // RABE // recipes.put(new ComparableStack(ModItems.rbmk_pellet_ra226be, 1, i), new SILEXRecipe(600, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_ra226), 45 - 10 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_beryllium), 45 - 10 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 3 + 5 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_polonium), 2 + 5 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_coal_tiny), 5 + 10 * i)) ); - + .addOut(new ItemStack(ModItems.nugget_ra226), 45 - 10 * i) + .addOut(new ItemStack(ModItems.nugget_beryllium), 45 - 10 * i) + .addOut(new ItemStack(ModItems.nugget_lead), 3 + 5 * i) + .addOut(new ItemStack(ModItems.nugget_polonium), 2 + 5 * i) + .addOut(new ItemStack(ModItems.powder_coal_tiny), 5 + 10 * i) ); + // DRX // recipes.put(new ComparableStack(ModItems.rbmk_pellet_drx, 1, i), new SILEXRecipe(600, 100, 4) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.undefined), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.undefined), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.undefined), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.undefined), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.undefined), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.undefined), 1)) ); - + .addOut(new ItemStack(ModItems.undefined), 1) + .addOut(new ItemStack(ModItems.undefined), 1) + .addOut(new ItemStack(ModItems.undefined), 1) + .addOut(new ItemStack(ModItems.undefined), 1) + .addOut(new ItemStack(ModItems.undefined), 1) + .addOut(new ItemStack(ModItems.undefined), 1) ); + recipes.put(new ComparableStack(ModItems.rbmk_pellet_drx, 1, i + 5), new SILEXRecipe(600, 100, 4) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.undefined), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.undefined), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.undefined), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.undefined), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.undefined), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.undefined), 1)) ); - + .addOut(new ItemStack(ModItems.undefined), 1) + .addOut(new ItemStack(ModItems.undefined), 1) + .addOut(new ItemStack(ModItems.undefined), 1) + .addOut(new ItemStack(ModItems.undefined), 1) + .addOut(new ItemStack(ModItems.undefined), 1) + .addOut(new ItemStack(ModItems.undefined), 1) ); + // ZFB BI // recipes.put(new ComparableStack(ModItems.rbmk_pellet_zfb_bismuth, 1, i), new SILEXRecipe(600, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_uranium), 50 - i * 10)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu241), 50 - i * 10)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_bismuth), 50 + i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_zirconium), 150)) ); - + .addOut(new ItemStack(ModItems.nugget_uranium), 50 - i * 10) + .addOut(new ItemStack(ModItems.nugget_pu241), 50 - i * 10) + .addOut(new ItemStack(ModItems.nugget_bismuth), 50 + i * 20) + .addOut(new ItemStack(ModItems.nugget_zirconium), 150) ); + recipes.put(new ComparableStack(ModItems.rbmk_pellet_zfb_bismuth, 1, i + 5), new SILEXRecipe(600, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_uranium), 50 - i * 10)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu241), 50 - i * 10)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_bismuth), 50 + i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_zirconium), 147)) ); - + .addOut(new ItemStack(ModItems.powder_xe135_tiny), 3) + .addOut(new ItemStack(ModItems.nugget_uranium), 50 - i * 10) + .addOut(new ItemStack(ModItems.nugget_pu241), 50 - i * 10) + .addOut(new ItemStack(ModItems.nugget_bismuth), 50 + i * 20) + .addOut(new ItemStack(ModItems.nugget_zirconium), 147) ); + // ZFB PU-241 // recipes.put(new ComparableStack(ModItems.rbmk_pellet_zfb_pu241, 1, i), new SILEXRecipe(600, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u235), 50 - i * 10)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu240), 50 - i * 10)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu241), 50 + i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_zirconium), 150)) ); - + .addOut(new ItemStack(ModItems.nugget_u235), 50 - i * 10) + .addOut(new ItemStack(ModItems.nugget_pu240), 50 - i * 10) + .addOut(new ItemStack(ModItems.nugget_pu241), 50 + i * 20) + .addOut(new ItemStack(ModItems.nugget_zirconium), 150) ); + recipes.put(new ComparableStack(ModItems.rbmk_pellet_zfb_pu241, 1, i + 5), new SILEXRecipe(600, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u235), 50 - i * 10)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu240), 50 - i * 10)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu241), 50 + i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_zirconium), 147)) ); - + .addOut(new ItemStack(ModItems.powder_xe135_tiny), 3) + .addOut(new ItemStack(ModItems.nugget_u235), 50 - i * 10) + .addOut(new ItemStack(ModItems.nugget_pu240), 50 - i * 10) + .addOut(new ItemStack(ModItems.nugget_pu241), 50 + i * 20) + .addOut(new ItemStack(ModItems.nugget_zirconium), 147) ); + // ZFB RG-AM // recipes.put(new ComparableStack(ModItems.rbmk_pellet_zfb_am_mix, 1, i), new SILEXRecipe(600, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu241), 100 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_am_mix), 50 + i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_zirconium), 150)) ); - + .addOut(new ItemStack(ModItems.nugget_pu241), 100 - i * 20) + .addOut(new ItemStack(ModItems.nugget_am_mix), 50 + i * 20) + .addOut(new ItemStack(ModItems.nugget_zirconium), 150) ); + recipes.put(new ComparableStack(ModItems.rbmk_pellet_zfb_am_mix, 1, i + 5), new SILEXRecipe(600, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu241), 100 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_am_mix), 50 + i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_zirconium), 147)) ); + .addOut(new ItemStack(ModItems.powder_xe135_tiny), 3) + .addOut(new ItemStack(ModItems.nugget_pu241), 100 - i * 20) + .addOut(new ItemStack(ModItems.nugget_am_mix), 50 + i * 20) + .addOut(new ItemStack(ModItems.nugget_zirconium), 147) ); } recipes.put(new ComparableStack(ModItems.nuclear_waste_long, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_neptunium), 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu239), 45)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu240), 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_technetium), 15)) + .addOut(new ItemStack(ModItems.nugget_neptunium), 20) + .addOut(new ItemStack(ModItems.nugget_pu239), 45) + .addOut(new ItemStack(ModItems.nugget_pu240), 20) + .addOut(new ItemStack(ModItems.nugget_technetium), 15) ); recipes.put(new ComparableStack(ModItems.nuclear_waste_long_depleted, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 65)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_bismuth), 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.dust_tiny), 15)) + .addOut(new ItemStack(ModItems.nugget_lead), 65) + .addOut(new ItemStack(ModItems.nugget_bismuth), 20) + .addOut(new ItemStack(ModItems.dust_tiny), 15) ); recipes.put(new ComparableStack(ModItems.nuclear_waste_short, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu238), 12)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_sr90_tiny), 10)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_i131_tiny), 10)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_cs137_tiny), 12)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 56)) + .addOut(new ItemStack(ModItems.nugget_pu238), 12) + .addOut(new ItemStack(ModItems.powder_sr90_tiny), 10) + .addOut(new ItemStack(ModItems.powder_i131_tiny), 10) + .addOut(new ItemStack(ModItems.powder_cs137_tiny), 12) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 56) ); recipes.put(new ComparableStack(ModItems.nuclear_waste_short_depleted, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_zirconium), 10)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.dust_tiny), 32)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 22)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u238), 5)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_bismuth), 15)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 16)) + .addOut(new ItemStack(ModItems.nugget_zirconium), 10) + .addOut(new ItemStack(ModItems.dust_tiny), 32) + .addOut(new ItemStack(ModItems.nugget_lead), 22) + .addOut(new ItemStack(ModItems.nugget_u238), 5) + .addOut(new ItemStack(ModItems.nugget_bismuth), 15) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 16) ); recipes.put(new ComparableStack(ModItems.nuclear_waste_long, 1, ItemWasteLong.WasteClass.URANIUM233.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u235), 15)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_neptunium), 25)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu239), 45)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_technetium), 15)) + .addOut(new ItemStack(ModItems.nugget_u235), 15) + .addOut(new ItemStack(ModItems.nugget_neptunium), 25) + .addOut(new ItemStack(ModItems.nugget_pu239), 45) + .addOut(new ItemStack(ModItems.nugget_technetium), 15) ); recipes.put(new ComparableStack(ModItems.nuclear_waste_long_depleted, 1, ItemWasteLong.WasteClass.URANIUM233.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 60)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_bismuth), 25)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.dust_tiny), 15)) + .addOut(new ItemStack(ModItems.nugget_lead), 60) + .addOut(new ItemStack(ModItems.nugget_bismuth), 25) + .addOut(new ItemStack(ModItems.dust_tiny), 15) ); recipes.put(new ComparableStack(ModItems.nuclear_waste_short, 1, ItemWasteShort.WasteClass.URANIUM233.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu238), 4)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_sr90_tiny), 12)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_i131_tiny), 10)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_cs137_tiny), 14)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 60)) + .addOut(new ItemStack(ModItems.nugget_pu238), 4) + .addOut(new ItemStack(ModItems.powder_sr90_tiny), 12) + .addOut(new ItemStack(ModItems.powder_i131_tiny), 10) + .addOut(new ItemStack(ModItems.powder_cs137_tiny), 14) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 60) ); recipes.put(new ComparableStack(ModItems.nuclear_waste_short_depleted, 1, ItemWasteShort.WasteClass.URANIUM233.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_zirconium), 12)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.dust_tiny), 34)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 13)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u238), 2)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_bismuth), 10)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 29)) + .addOut(new ItemStack(ModItems.nugget_zirconium), 12) + .addOut(new ItemStack(ModItems.dust_tiny), 34) + .addOut(new ItemStack(ModItems.nugget_lead), 13) + .addOut(new ItemStack(ModItems.nugget_u238), 2) + .addOut(new ItemStack(ModItems.nugget_bismuth), 10) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 29) ); - + recipes.put(new ComparableStack(ModItems.nuclear_waste_short, 1, ItemWasteShort.WasteClass.PLUTONIUM239.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu240), 10)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu241), 25)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_sr90_tiny), 2)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_i131_tiny), 5)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_cs137_tiny), 6)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 52)) + .addOut(new ItemStack(ModItems.nugget_pu240), 10) + .addOut(new ItemStack(ModItems.nugget_pu241), 25) + .addOut(new ItemStack(ModItems.powder_sr90_tiny), 2) + .addOut(new ItemStack(ModItems.powder_i131_tiny), 5) + .addOut(new ItemStack(ModItems.powder_cs137_tiny), 6) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 52) ); recipes.put(new ComparableStack(ModItems.nuclear_waste_short_depleted, 1, ItemWasteShort.WasteClass.PLUTONIUM239.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_zirconium), 2)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.dust_tiny), 16)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 40)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u238), 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 39)) + .addOut(new ItemStack(ModItems.nugget_zirconium), 2) + .addOut(new ItemStack(ModItems.dust_tiny), 16) + .addOut(new ItemStack(ModItems.nugget_lead), 40) + .addOut(new ItemStack(ModItems.nugget_u238), 3) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 39) ); - + recipes.put(new ComparableStack(ModItems.nuclear_waste_short, 1, ItemWasteShort.WasteClass.PLUTONIUM240.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu241), 15)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_neptunium), 5)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_sr90_tiny), 2)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_i131_tiny), 5)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_cs137_tiny), 7)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 66)) + .addOut(new ItemStack(ModItems.nugget_pu241), 15) + .addOut(new ItemStack(ModItems.nugget_neptunium), 5) + .addOut(new ItemStack(ModItems.powder_sr90_tiny), 2) + .addOut(new ItemStack(ModItems.powder_i131_tiny), 5) + .addOut(new ItemStack(ModItems.powder_cs137_tiny), 7) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 66) ); recipes.put(new ComparableStack(ModItems.nuclear_waste_short_depleted, 1, ItemWasteShort.WasteClass.PLUTONIUM240.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_zirconium), 2)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.dust_tiny), 22)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_bismuth), 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 17)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u238), 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 36)) + .addOut(new ItemStack(ModItems.nugget_zirconium), 2) + .addOut(new ItemStack(ModItems.dust_tiny), 22) + .addOut(new ItemStack(ModItems.nugget_bismuth), 20) + .addOut(new ItemStack(ModItems.nugget_lead), 17) + .addOut(new ItemStack(ModItems.nugget_u238), 3) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 36) ); - + recipes.put(new ComparableStack(ModItems.nuclear_waste_short, 1, ItemWasteShort.WasteClass.PLUTONIUM241.ordinal()), new SILEXRecipe(900, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_am241), 25)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_am242), 35)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_technetium), 5)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_i131_tiny), 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_cs137_tiny), 7)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 25)) + .addOut(new ItemStack(ModItems.nugget_am241), 25) + .addOut(new ItemStack(ModItems.nugget_am242), 35) + .addOut(new ItemStack(ModItems.nugget_technetium), 5) + .addOut(new ItemStack(ModItems.powder_i131_tiny), 3) + .addOut(new ItemStack(ModItems.powder_cs137_tiny), 7) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 25) ); recipes.put(new ComparableStack(ModItems.nuclear_waste_short_depleted, 1, ItemWasteShort.WasteClass.PLUTONIUM241.ordinal()), new SILEXRecipe(900, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_bismuth), 60)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.dust_tiny), 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 15)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 5)) + .addOut(new ItemStack(ModItems.nugget_bismuth), 60) + .addOut(new ItemStack(ModItems.dust_tiny), 20) + .addOut(new ItemStack(ModItems.nugget_lead), 15) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 5) ); recipes.put(new ComparableStack(ModItems.nuclear_waste_long, 1, ItemWasteLong.WasteClass.THORIUM.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u233), 40)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u235), 35)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 25)) + .addOut(new ItemStack(ModItems.nugget_u233), 40) + .addOut(new ItemStack(ModItems.nugget_u235), 35) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 25) ); recipes.put(new ComparableStack(ModItems.nuclear_waste_long_depleted, 1, ItemWasteLong.WasteClass.THORIUM.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 35)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_bismuth), 40)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.dust_tiny), 15)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 10)) + .addOut(new ItemStack(ModItems.nugget_lead), 35) + .addOut(new ItemStack(ModItems.nugget_bismuth), 40) + .addOut(new ItemStack(ModItems.dust_tiny), 15) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 10) ); recipes.put(new ComparableStack(ModItems.nuclear_waste_long, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u238), 15)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu239), 40)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu240), 15)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_technetium), 15)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 15)) + .addOut(new ItemStack(ModItems.nugget_u238), 15) + .addOut(new ItemStack(ModItems.nugget_pu239), 40) + .addOut(new ItemStack(ModItems.nugget_pu240), 15) + .addOut(new ItemStack(ModItems.nugget_technetium), 15) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 15) ); recipes.put(new ComparableStack(ModItems.nuclear_waste_long_depleted, 1, ItemWasteLong.WasteClass.NEPTUNIUM.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u238), 16)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 55)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.dust_tiny), 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 9)) + .addOut(new ItemStack(ModItems.nugget_u238), 16) + .addOut(new ItemStack(ModItems.nugget_lead), 55) + .addOut(new ItemStack(ModItems.dust_tiny), 20) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 9) ); recipes.put(new ComparableStack(ModItems.nuclear_waste_short, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pu238), 40)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_sr90_tiny), 7)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_i131_tiny), 5)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_cs137_tiny), 8)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 40)) + .addOut(new ItemStack(ModItems.nugget_pu238), 40) + .addOut(new ItemStack(ModItems.powder_sr90_tiny), 7) + .addOut(new ItemStack(ModItems.powder_i131_tiny), 5) + .addOut(new ItemStack(ModItems.powder_cs137_tiny), 8) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 40) ); recipes.put(new ComparableStack(ModItems.nuclear_waste_short_depleted, 1, ItemWasteShort.WasteClass.NEPTUNIUM.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_zirconium), 7)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.dust_tiny), 29)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u238), 2)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 45)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 17)) + .addOut(new ItemStack(ModItems.nugget_zirconium), 7) + .addOut(new ItemStack(ModItems.dust_tiny), 29) + .addOut(new ItemStack(ModItems.nugget_u238), 2) + .addOut(new ItemStack(ModItems.nugget_lead), 45) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 17) ); - + recipes.put(new ComparableStack(ModItems.nuclear_waste_long, 1, ItemWasteLong.WasteClass.SCHRABIDIUM.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_solinium), 25)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_euphemium), 18)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_gh336), 16)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_tantalium), 8)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_neodymium_tiny), 8)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 25)) + .addOut(new ItemStack(ModItems.nugget_solinium), 25) + .addOut(new ItemStack(ModItems.nugget_euphemium), 18) + .addOut(new ItemStack(ModItems.nugget_gh336), 16) + .addOut(new ItemStack(ModItems.nugget_tantalium), 8) + .addOut(new ItemStack(ModItems.powder_neodymium_tiny), 8) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 25) ); recipes.put(new ComparableStack(ModItems.nuclear_waste_long_depleted, 1, ItemWasteLong.WasteClass.SCHRABIDIUM.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_solinium), 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_euphemium), 18)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_gh336), 15)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_tantalium), 8)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_neodymium_tiny), 8)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 31)) + .addOut(new ItemStack(ModItems.nugget_solinium), 20) + .addOut(new ItemStack(ModItems.nugget_euphemium), 18) + .addOut(new ItemStack(ModItems.nugget_gh336), 15) + .addOut(new ItemStack(ModItems.nugget_tantalium), 8) + .addOut(new ItemStack(ModItems.powder_neodymium_tiny), 8) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 31) ); recipes.put(new ComparableStack(ModItems.nuclear_waste_short, 1, ItemWasteShort.WasteClass.SCHRABIDIUM.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pb209), 7)) //We don't have any spicy lanthanides, and lead 209 + gold 198 is already *severely* pushing it, but there's no - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_au198), 7)) //point in contributing to pointless item bloat, so this will have to do - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_cs137_tiny), 5)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_i131_tiny), 5)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 76)) + .addOut(new ItemStack(ModItems.nugget_pb209), 7) //We don't have any spicy lanthanides, and lead 209 + gold 198 is already *severely* pushing it, but there's no + .addOut(new ItemStack(ModItems.nugget_au198), 7) //point in contributing to pointless item bloat, so this will have to do + .addOut(new ItemStack(ModItems.powder_cs137_tiny), 5) + .addOut(new ItemStack(ModItems.powder_i131_tiny), 5) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 76) ); recipes.put(new ComparableStack(ModItems.nuclear_waste_short_depleted, 1, ItemWasteShort.WasteClass.SCHRABIDIUM.ordinal()), new SILEXRecipe(900, 100, 1) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_bismuth), 7)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_mercury), 12)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_cerium_tiny), 14)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_lanthanium_tiny), 15)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.dust_tiny), 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_tiny), 32)) + .addOut(new ItemStack(ModItems.nugget_bismuth), 7) + .addOut(new ItemStack(ModItems.nugget_mercury), 12) + .addOut(new ItemStack(ModItems.powder_cerium_tiny), 14) + .addOut(new ItemStack(ModItems.powder_lanthanium_tiny), 15) + .addOut(new ItemStack(ModItems.dust_tiny), 20) + .addOut(new ItemStack(ModItems.nuclear_waste_tiny), 32) ); - + recipes.put(new ComparableStack(ModItems.fallout, 1), new SILEXRecipe(900, 100, 2) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.dust_tiny), 90)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_co60), 2)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_sr90_tiny), 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_i131_tiny), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_cs137_tiny), 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_au198), 1)) + .addOut(new ItemStack(ModItems.dust_tiny), 90) + .addOut(new ItemStack(ModItems.nugget_co60), 2) + .addOut(new ItemStack(ModItems.powder_sr90_tiny), 3) + .addOut(new ItemStack(ModItems.powder_i131_tiny), 1) + .addOut(new ItemStack(ModItems.powder_cs137_tiny), 3) + .addOut(new ItemStack(ModItems.nugget_au198), 1) ); - + recipes.put(new ComparableStack(Blocks.gravel, 1), new SILEXRecipe(1000, 250, EnumWavelengths.VISIBLE) - .addOut(new WeightedRandomObject(new ItemStack(Items.flint), 80)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_boron), 5)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_lithium), 10)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.fluorite), 5)) - ); - - recipes.put(new ComparableStack(ModItems.fluid_icon, 1, Fluids.FULLERENE.getID()), new SILEXRecipe(1_000, 1_000, EnumWavelengths.UV) - .addOut(new WeightedRandomObject(DictFrame.fromOne(ModItems.powder_ash, EnumAshType.FULLERENE), 1)) + .addOut(new ItemStack(Items.flint), 80) + .addOut(new ItemStack(ModItems.powder_boron), 5) + .addOut(new ItemStack(ModItems.powder_lithium), 10) + .addOut(new ItemStack(ModItems.fluorite), 5) ); + + recipes.put(new ComparableStack(ModItems.fluid_icon, 1, Fluids.FULLERENE.getID()), + new SILEXRecipe(1_000, 1_000, EnumWavelengths.VISIBLE).addOut(DictFrame.fromOne(ModItems.powder_ash, EnumAshType.FULLERENE), 1)); } - + + private static final HashMap tinyWasteTranslation = new HashMap(); + + static { + tinyWasteTranslation.put(ModItems.nuclear_waste_short_tiny, ModItems.nuclear_waste_short); + tinyWasteTranslation.put(ModItems.nuclear_waste_long_tiny, ModItems.nuclear_waste_long); + tinyWasteTranslation.put(ModItems.nuclear_waste_short_depleted_tiny, ModItems.nuclear_waste_short_depleted); + tinyWasteTranslation.put(ModItems.nuclear_waste_long_depleted_tiny, ModItems.nuclear_waste_long_depleted); + } + public static SILEXRecipe getOutput(ItemStack stack) { - + if(stack == null || stack.getItem() == null) return null; - + ComparableStack comp = translateItem(stack); - + if(recipes.containsKey(comp)) return recipes.get(comp); - + String[] dictKeys = comp.getDictKeys(); - + for(String key : dictKeys) { - String translation = translateDict(key); if(recipes.containsKey(translation)) return recipes.get(translation); } - + + if(tinyWasteTranslation.containsKey(comp.item)) { + SILEXRecipe result = getOutput(new ItemStack(tinyWasteTranslation.get(comp.item), comp.stacksize, comp.meta)); + + if(result != null) { + // This way it rounds down if somehow the recipe's fluid produced is not divisible by 900 + int fluidProduced = (result.fluidProduced / 900) * 100; + SILEXRecipe tinyVersion = new SILEXRecipe(fluidProduced, result.fluidConsumed, result.laserStrength); + // Shared ownership shouldn't be an issue since the resulting recipe isn't modified by the caller + tinyVersion.outputs = result.outputs; + + // TODO: Cache? Might break saving recipes, IDK + // recipes.put(comp, tinyVersion); + + return tinyVersion; + } + } + return null; } - + public static ComparableStack translateItem(ItemStack stack) { ComparableStack orig = new ComparableStack(stack.getItem(), 1, stack.getItemDamage()); ComparableStack translation = itemTranslation.get(orig); - + if(translation != null) return translation; - + return orig; } - + public static String translateDict(String key) { - + String translation = dictTranslation.get(key); - + if(translation != null) return translation; - + return key; } - + public static List getAllIngredients() { List ing = new ArrayList(); - - for(Entry entry : SILEXRecipes.recipes.entrySet()) { - ing.add(entry.getKey()); - } - for(Entry entry : SILEXRecipes.itemTranslation.entrySet()) { - ing.add(entry.getKey()); - } - for(Entry entry : SILEXRecipes.dictTranslation.entrySet()) { - ing.add(entry.getKey()); - } - + + for(Entry entry : SILEXRecipes.recipes.entrySet()) ing.add(entry.getKey()); + for(Entry entry : SILEXRecipes.itemTranslation.entrySet()) ing.add(entry.getKey()); + for(Entry entry : SILEXRecipes.dictTranslation.entrySet()) ing.add(entry.getKey()); + return ing; } public static Map getRecipes() { - + Map recipes = new HashMap(); List ing = getAllIngredients(); - + for(Object ingredient : ing) { - + if(ingredient instanceof String) { List ingredients = OreDictionary.getOres((String)ingredient); if(ingredients.size() > 0) { @@ -716,37 +745,41 @@ public class SILEXRecipes { if(output != null) recipes.put(ingredients, output); } - + } else if(ingredient instanceof ComparableStack) { SILEXRecipe output = getOutput(((ComparableStack) ingredient).toStack()); if(output != null) recipes.put(((ComparableStack)ingredient).toStack(), output); } } - + return recipes; } - + public static class SILEXRecipe { - + public int fluidProduced; public int fluidConsumed; public EnumWavelengths laserStrength; public List outputs = new ArrayList(); - + public SILEXRecipe(int fluidProduced, int fluidConsumed, EnumWavelengths laserStrength) { this.fluidProduced = fluidProduced; this.fluidConsumed = fluidConsumed; this.laserStrength = laserStrength; } - + public SILEXRecipe(int fluidProduced, int fluidConsumed, int laserStrength) { this(fluidProduced, fluidConsumed, EnumWavelengths.values()[laserStrength]); } - + + public SILEXRecipe addOut(ItemStack stack, int weight) { + return addOut(new WeightedRandomObject(stack, weight)); + } + public SILEXRecipe addOut(WeightedRandomObject entry) { outputs.add(entry); return this; - } + } } } diff --git a/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java b/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java index a23c3e2c9..908804a5e 100644 --- a/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java @@ -33,24 +33,24 @@ public class ShredderRecipes extends SerializableRecipe { public static HashMap shredderRecipes = new HashMap(); public static HashMap neiShredderRecipes; - + @Override public void registerPost() { - + String[] names = OreDictionary.getOreNames(); - + for(int i = 0; i < names.length; i++) { - + String name = names[i]; - + //if the dict contains invalid names, skip if(name == null || name.isEmpty()) continue; - + if(name.contains("Any")) continue; - + List matches = OreDictionary.getOres(name); - + //if the name isn't assigned to an ore, also skip if(matches == null || matches.isEmpty()) continue; @@ -63,23 +63,23 @@ public class ShredderRecipes extends SerializableRecipe { generateRecipes("crystal", name, matches, 1); //2 ingot units, any generateRecipes("ore", name, matches, 2); - + if(name.length() > 5 && name.substring(0, 5).equals("block")) { ItemStack dust = getDustByName(name.substring(5)); - + if(dust != null && dust.getItem() != ModItems.scrap) { - + dust.stackSize = 9; - + if(getIngotOrGemByName(name.substring(5)) == null) dust.stackSize = 4; - + for(ItemStack stack : matches) { putIfValid(stack, dust, name); } } } - + if(name.length() > 7 && name.substring(0, 8).equals("dustTiny")) { for(ItemStack stack : matches) { putIfValid(stack, new ItemStack(ModItems.dust_tiny), name); @@ -91,40 +91,40 @@ public class ShredderRecipes extends SerializableRecipe { } } } - + @Untested private static void generateRecipes(String prefix, String name, List matches, int outCount) { - + int len = prefix.length(); - + if(name.length() > len && name.substring(0, len).equals(prefix)) { - + String matName = name.substring(len); - + ItemStack dust = getDustByName(matName); - + if(dust != null && dust.getItem() != ModItems.scrap) { - + dust.stackSize = outCount; - + for(ItemStack stack : matches) { putIfValid(stack, dust, name); } } } } - + private static void putIfValid(ItemStack in, ItemStack dust, String name) { if(in != null) { - + if(in.getItem() != null) { setRecipe(new ComparableStack(in), dust); } else { MainRegistry.logger.error("Ore dict entry '" + name + "' has a null item in its stack! How does that even happen?"); Thread.currentThread().dumpStack(); } - + } else { MainRegistry.logger.error("Ore dict entry '" + name + "' has a null stack!"); Thread.currentThread().dumpStack(); @@ -196,7 +196,7 @@ public class ShredderRecipes extends SerializableRecipe { ShredderRecipes.setRecipe(ModBlocks.boxcar, new ItemStack(ModItems.powder_steel, 32)); ShredderRecipes.setRecipe(ModItems.ingot_schrabidate, new ItemStack(ModItems.powder_schrabidate, 1)); ShredderRecipes.setRecipe(ModBlocks.block_schrabidate, new ItemStack(ModItems.powder_schrabidate, 9)); - ShredderRecipes.setRecipe(ModItems.coal_infernal, new ItemStack(ModItems.powder_coal, 3)); + ShredderRecipes.setRecipe(ModItems.coal_infernal, new ItemStack(ModItems.powder_coal, 2)); ShredderRecipes.setRecipe(Items.fermented_spider_eye, new ItemStack(ModItems.powder_poison, 3)); ShredderRecipes.setRecipe(Items.poisonous_potato, new ItemStack(ModItems.powder_poison, 1)); ShredderRecipes.setRecipe(ModBlocks.ore_tektite_osmiridium, new ItemStack(ModItems.powder_tektite, 1)); @@ -209,15 +209,16 @@ public class ShredderRecipes extends SerializableRecipe { ShredderRecipes.setRecipe(DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.RARE), new ItemStack(ModItems.powder_desh_mix)); ShredderRecipes.setRecipe(Blocks.sand, new ItemStack(ModItems.dust, 2)); ShredderRecipes.setRecipe(ModBlocks.block_slag, new ItemStack(ModItems.powder_cement, 4)); - + ShredderRecipes.setRecipe(ModBlocks.ore_aluminium, DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.CRYOLITE, 2)); + List logs = OreDictionary.getOres("logWood"); List planks = OreDictionary.getOres("plankWood"); List saplings = OreDictionary.getOres("treeSapling"); - + for(ItemStack log : logs) ShredderRecipes.setRecipe(log, new ItemStack(ModItems.powder_sawdust, 4)); for(ItemStack plank : planks) ShredderRecipes.setRecipe(plank, new ItemStack(ModItems.powder_sawdust, 1)); for(ItemStack sapling : saplings) ShredderRecipes.setRecipe(sapling, new ItemStack(Items.stick, 1)); - + for(EnumBedrockOre ore : EnumBedrockOre.values()) { int i = ore.ordinal(); ShredderRecipes.setRecipe(new ItemStack(ModItems.ore_bedrock, 1, i), new ItemStack(ModItems.ore_enriched, 1, i)); @@ -230,7 +231,7 @@ public class ShredderRecipes extends SerializableRecipe { ShredderRecipes.setRecipe(new ItemStack(ModItems.ore_deepcleaned, 1, i), new ItemStack(ModItems.ore_enriched, 1, i)); ShredderRecipes.setRecipe(new ItemStack(ModItems.ore_seared, 1, i), new ItemStack(ModItems.ore_enriched, 1, i)); } - + for(int i = 0; i < 5; i++) ShredderRecipes.setRecipe(new ItemStack(Items.skull, 1, i), new ItemStack(ModItems.biomass, 4)); /* Crystal processing */ @@ -295,7 +296,7 @@ public class ShredderRecipes extends SerializableRecipe { ShredderRecipes.setRecipe(new ItemStack(ModBlocks.sellafield, 1, 3), new ItemStack(ModItems.scrap_nuclear, 5)); ShredderRecipes.setRecipe(new ItemStack(ModBlocks.sellafield, 1, 4), new ItemStack(ModItems.scrap_nuclear, 7)); ShredderRecipes.setRecipe(new ItemStack(ModBlocks.sellafield, 1, 5), new ItemStack(ModItems.scrap_nuclear, 15)); - + /* Fracking debris scrapping */ ShredderRecipes.setRecipe(ModBlocks.dirt_dead, new ItemStack(ModItems.scrap_oil, 1)); ShredderRecipes.setRecipe(ModBlocks.dirt_oily, new ItemStack(ModItems.scrap_oil, 1)); @@ -335,13 +336,13 @@ public class ShredderRecipes extends SerializableRecipe { ShredderRecipes.setRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, i), new ItemStack(Items.clay_ball, 4)); ShredderRecipes.setRecipe(new ItemStack(Blocks.wool, 1, i), new ItemStack(Items.string, 4)); } - + /* Shredding bobbleheads */ for(int i = 0; i < BobbleType.values().length; i++) { BobbleType type = BobbleType.values()[i]; ShredderRecipes.setRecipe(new ItemStack(ModBlocks.bobblehead, 1, i), new ItemStack(ModItems.scrap_plastic, 1, type.scrap.ordinal())); } - + /* Debris shredding */ ShredderRecipes.setRecipe(ModItems.debris_concrete, new ItemStack(ModItems.scrap_nuclear, 2)); ShredderRecipes.setRecipe(ModItems.debris_shrapnel, new ItemStack(ModItems.powder_steel_tiny, 5)); @@ -349,96 +350,97 @@ public class ShredderRecipes extends SerializableRecipe { ShredderRecipes.setRecipe(ModItems.debris_element, new ItemStack(ModItems.scrap_nuclear, 4)); ShredderRecipes.setRecipe(ModItems.debris_metal, new ItemStack(ModItems.powder_steel_tiny, 3)); ShredderRecipes.setRecipe(ModItems.debris_graphite, new ItemStack(ModItems.powder_coal, 1)); - + /* GC COMPAT */ Block gcMoonBlock = Compat.tryLoadBlock(Compat.MOD_GCC, "moonBlock"); if(gcMoonBlock != null && gcMoonBlock != Blocks.air) { ShredderRecipes.setRecipe(new ItemStack(gcMoonBlock, 1, 3), new ItemStack(ModBlocks.moon_turf)); //Moon dirt ShredderRecipes.setRecipe(new ItemStack(gcMoonBlock, 1, 5), new ItemStack(ModBlocks.moon_turf)); //Moon topsoil } - + /* AR COMPAT */ Block arMoonTurf = Compat.tryLoadBlock(Compat.MOD_AR, "turf"); - if(arMoonTurf != null && gcMoonBlock != Blocks.air) ShredderRecipes.setRecipe(arMoonTurf, new ItemStack(ModBlocks.moon_turf)); //i assume it's moon turf + if(arMoonTurf != null && arMoonTurf != Blocks.air) ShredderRecipes.setRecipe(arMoonTurf, new ItemStack(ModBlocks.moon_turf)); //i assume it's moon turf Block arMoonTurfDark = Compat.tryLoadBlock(Compat.MOD_AR, "turfDark"); - if(arMoonTurfDark != null && gcMoonBlock != Blocks.air) ShredderRecipes.setRecipe(arMoonTurfDark, new ItemStack(ModBlocks.moon_turf)); //probably moon dirt? would have helped if i had ever played AR for more than 5 seconds + if(arMoonTurfDark != null && arMoonTurfDark != Blocks.air) ShredderRecipes.setRecipe(arMoonTurfDark, new ItemStack(ModBlocks.moon_turf)); //probably moon dirt? would have helped if i had ever played AR for more than 5 seconds } - + /** * Returns scrap when no dust is found, for quickly adding recipes * @param name * @return */ public static ItemStack getDustByName(String name) { - + List matches = OreDictionary.getOres("dust" + name); - - if(matches != null && !matches.isEmpty()) - return matches.get(0).copy(); - + + if(matches != null && !matches.isEmpty()) { + return Compat.getPreferredOreOutput(matches); + } + return new ItemStack(ModItems.scrap); } - + /** * Returns null when no ingot or gem is found, for deciding whether the block shredding output should be 9 or 4 dusts * @param name * @return */ public static ItemStack getIngotOrGemByName(String name) { - + List matches = OreDictionary.getOres("ingot" + name); - + if(matches != null && !matches.isEmpty()) return matches.get(0).copy(); - + matches = OreDictionary.getOres("gem" + name); - + if(matches != null && !matches.isEmpty()) return matches.get(0).copy(); - + return null; } - + public static void setRecipe(Item in, ItemStack out) { setRecipe(new ComparableStack(in), out); } - + public static void setRecipe(Block in, ItemStack out) { setRecipe(new ComparableStack(in), out); } - + public static void setRecipe(ItemStack in, ItemStack out) { setRecipe(new ComparableStack(in), out); } - + public static void setRecipe(ComparableStack in, ItemStack out) { if(!shredderRecipes.containsKey(in)) { shredderRecipes.put(in, out); } } - + public static Map getShredderRecipes() { - + //convert the map only once to save on processing power (might be more ram intensive but that can't be THAT bad, right?) if(neiShredderRecipes == null) - neiShredderRecipes = new HashMap(shredderRecipes); - + neiShredderRecipes = new HashMap<>(shredderRecipes); + return neiShredderRecipes; } - + public static ItemStack getShredderResult(ItemStack stack) { - + if(stack == null || stack.getItem() == null) return new ItemStack(ModItems.scrap); - + ComparableStack comp = new ComparableStack(stack).makeSingular(); ItemStack sta = shredderRecipes.get(comp); - + if(sta == null) { comp.meta = OreDictionary.WILDCARD_VALUE; sta = shredderRecipes.get(comp); } - + return sta == null ? new ItemStack(ModItems.scrap) : sta; } diff --git a/src/main/java/com/hbm/inventory/recipes/SolderingRecipes.java b/src/main/java/com/hbm/inventory/recipes/SolderingRecipes.java index 54d3a9b68..ed3176d54 100644 --- a/src/main/java/com/hbm/inventory/recipes/SolderingRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SolderingRecipes.java @@ -110,6 +110,7 @@ public class SolderingRecipes extends SerializableRecipe { // a very, very vague guess on what the recipes should be. testing still needed, upgrade requirements are likely to change. maybe inclusion of caesium? recipes.add(new SolderingRecipe(new ItemStack(ModItems.circuit, 1, EnumCircuitType.CONTROLLER.ordinal()), 400, 15_000, + new FluidStack(Fluids.PERFLUOROMETHYL, 1_000), new AStack[] { new ComparableStack(ModItems.circuit, lbsm ? 8 : 32, EnumCircuitType.CHIP), new ComparableStack(ModItems.circuit, lbsm ? 8 : 32, EnumCircuitType.CAPACITOR), @@ -121,6 +122,7 @@ public class SolderingRecipes extends SerializableRecipe { new OreDictStack(PB.wireFine(), 16)} )); recipes.add(new SolderingRecipe(new ItemStack(ModItems.circuit, 1, EnumCircuitType.CONTROLLER_ADVANCED.ordinal()), 600, 25_000, + new FluidStack(Fluids.PERFLUOROMETHYL, 4_000), new AStack[] { new ComparableStack(ModItems.circuit, lbsm ? 8 : 16, EnumCircuitType.CHIP_BISMOID), new ComparableStack(ModItems.circuit, lbsm ? 16 : 48, EnumCircuitType.CAPACITOR_TANTALIUM), @@ -132,6 +134,7 @@ public class SolderingRecipes extends SerializableRecipe { new OreDictStack(PB.wireFine(), 24)} )); recipes.add(new SolderingRecipe(new ItemStack(ModItems.circuit, 1, EnumCircuitType.CONTROLLER_QUANTUM.ordinal()), 600, 250_000, + new FluidStack(Fluids.PERFLUOROMETHYL_COLD, 6_000), new AStack[] { new ComparableStack(ModItems.circuit, lbsm ? 8 : 16, EnumCircuitType.CHIP_QUANTUM), new ComparableStack(ModItems.circuit, lbsm ? 16 : 48, EnumCircuitType.CHIP_BISMOID), diff --git a/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java b/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java index fcef009fe..4e7aed3ad 100644 --- a/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java @@ -55,12 +55,12 @@ public class SolidificationRecipes extends SerializableRecipe { //in the event that these compounds are STILL too useless, add unsat + gas -> kerosene recipe for all those missile junkies //aromatics can be idfk wax or soap or sth, perhaps artificial lubricant? //on that note, add more leaded variants - - private static HashMap> recipes = new HashMap(); + + public static HashMap> recipes = new HashMap(); @Override public void registerDefaults() { - + registerRecipe(WATER, 1000, Blocks.ice); registerRecipe(LAVA, 1000, Blocks.obsidian); registerRecipe(MERCURY, 125, ModItems.ingot_mercury); @@ -68,8 +68,9 @@ public class SolidificationRecipes extends SerializableRecipe { registerRecipe(SALIENT, 1280, new ItemStack(ModItems.bio_wafer, 8)); //4 (food val) * 2 (sat mod) * 2 (constant) * 10 (quanta) * 8 (batch size) registerRecipe(ENDERJUICE, 100, Items.ender_pearl); registerRecipe(WATZ, 1000, ModItems.ingot_mud); - registerRecipe(REDMUD, 1000, Items.iron_ingot); + registerRecipe(REDMUD, 450, Items.iron_ingot); registerRecipe(SODIUM, 100, ModItems.powder_sodium); + registerRecipe(LEAD, 100, ModItems.ingot_lead); registerRecipe(SLOP, 250, ModBlocks.ore_oil_sand); registerRecipe(OIL, SF_OIL, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE)); @@ -83,7 +84,7 @@ public class SolidificationRecipes extends SerializableRecipe { registerRecipe(LUBRICANT, SF_LUBE, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.PARAFFIN)); registerRecipe(BALEFIRE, 250, ModItems.solid_fuel_bf); - + registerSFAuto(SMEAR); registerSFAuto(HEATINGOIL); registerSFAuto(HEATINGOIL_VACUUM); @@ -99,6 +100,7 @@ public class SolidificationRecipes extends SerializableRecipe { registerSFAuto(LIGHTOIL_CRACK); registerSFAuto(LIGHTOIL_VACUUM); registerSFAuto(KEROSENE); + registerSFAuto(KEROSENE_REFORM); //registerSFAuto(GAS); registerSFAuto(SOURGAS); registerSFAuto(REFORMGAS); @@ -111,8 +113,8 @@ public class SolidificationRecipes extends SerializableRecipe { registerSFAuto(UNSATURATEDS); registerSFAuto(REFORMATE); registerSFAuto(XYLENE); - registerSFAuto(BALEFIRE, 24000000L, ModItems.solid_fuel_bf); //holy shit this is energy dense*/ - + registerSFAuto(BALEFIRE, 24_000_000L, ModItems.solid_fuel_bf); //holy shit this is energy dense*/ + } private static void registerSFAuto(FluidType fluid) { @@ -121,13 +123,15 @@ public class SolidificationRecipes extends SerializableRecipe { private static void registerSFAuto(FluidType fluid, long tuPerSF, Item fuel) { long tuPerBucket = fluid.getTrait(FT_Flammable.class).getHeatEnergy(); double penalty = 1.25D; - + int mB = (int) (tuPerSF * 1000L * penalty / tuPerBucket); if(mB > 10_000) mB -= (mB % 1000); else if(mB > 1_000) mB -= (mB % 100); else if(mB > 100) mB -= (mB % 10); + mB = Math.max(mB, 1); + registerRecipe(fluid, mB, fuel); } @@ -136,24 +140,24 @@ public class SolidificationRecipes extends SerializableRecipe { private static void registerRecipe(FluidType type, int quantity, ItemStack output) { recipes.put(type, new Pair(quantity, output)); } - + public static Pair getOutput(FluidType type) { return recipes.get(type); } public static HashMap getRecipes() { - + HashMap recipes = new HashMap(); - + for(Entry> entry : SolidificationRecipes.recipes.entrySet()) { - + FluidType type = entry.getKey(); int amount = entry.getValue().getKey(); ItemStack out = entry.getValue().getValue().copy(); - + recipes.put(ItemFluidIcon.make(type, amount), out); } - + return recipes; } diff --git a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java index 8ca863583..a98931abb 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -1,12 +1,15 @@ package com.hbm.inventory.recipes.anvil; +import java.io.IOException; import java.util.ArrayList; import java.util.List; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; import com.hbm.blocks.ModBlocks; import com.hbm.config.GeneralConfig; import com.hbm.inventory.OreDictManager; -import com.hbm.inventory.OreNames; import com.hbm.inventory.OreDictManager.DictFrame; import static com.hbm.inventory.OreDictManager.*; @@ -19,30 +22,34 @@ import com.hbm.inventory.material.Mats; import com.hbm.inventory.material.NTMMaterial; import com.hbm.inventory.recipes.AssemblerRecipes; import com.hbm.inventory.recipes.AssemblerRecipes.AssemblerRecipe; -import com.hbm.items.ItemAmmoEnums.*; +import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.items.ItemEnums.EnumChunkType; import com.hbm.items.ModItems; import com.hbm.items.food.ItemFlask.EnumInfusion; import com.hbm.items.machine.ItemCircuit.EnumCircuitType; +import com.hbm.util.Tuple.Pair; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.init.Items; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; -public class AnvilRecipes { +public class AnvilRecipes extends SerializableRecipe { + + public static List smithingRecipes = new ArrayList(); + public static List constructionRecipes = new ArrayList(); - private static List smithingRecipes = new ArrayList(); - private static List constructionRecipes = new ArrayList(); - public static void register() { registerSmithing(); - registerConstruction(); } - + + @Override public String getFileName() { return "hbmAnvil.json"; } + @Override public Object getRecipeObject() { return constructionRecipes; } + @Override public void deleteRecipes() { constructionRecipes.clear(); } + @Override public void registerDefaults() { registerConstruction(); } + /* * ////// // // // ////// // // // // // ////// * // //// //// // // // // // //// // // @@ -51,9 +58,9 @@ public class AnvilRecipes { * ////// // // // // // // // // // ////// */ public static void registerSmithing() { - + Block[] anvils = new Block[]{ModBlocks.anvil_iron, ModBlocks.anvil_lead}; - + for(Block anvil : anvils) { smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_steel, 1), new ComparableStack(anvil), new OreDictStack(STEEL.ingot(), 10))); smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_desh, 1), new ComparableStack(anvil), new OreDictStack(DESH.ingot(), 10))); @@ -65,14 +72,14 @@ public class AnvilRecipes { smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_dnt, 1), new ComparableStack(anvil), new OreDictStack(DNT.ingot(), 10))); smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_osmiridium, 1), new ComparableStack(anvil), new OreDictStack(OSMIRIDIUM.ingot(), 10))); } - + for(int i = 0; i < 9; i++) smithingRecipes.add(new AnvilSmithingHotRecipe(3, new ItemStack(ModItems.ingot_steel_dusted, 1, i + 1), new ComparableStack(ModItems.ingot_steel_dusted, 1, i), new ComparableStack(ModItems.ingot_steel_dusted, 1, i))); - + smithingRecipes.add(new AnvilSmithingHotRecipe(3, new ItemStack(ModItems.ingot_chainsteel, 1), new ComparableStack(ModItems.ingot_steel_dusted, 1, 9), new ComparableStack(ModItems.ingot_steel_dusted, 1, 9))); - + smithingRecipes.add(new AnvilSmithingHotRecipe(3, new ItemStack(ModItems.ingot_meteorite_forged, 1), new ComparableStack(ModItems.ingot_meteorite), new ComparableStack(ModItems.ingot_meteorite))); smithingRecipes.add(new AnvilSmithingHotRecipe(3, new ItemStack(ModItems.blade_meteorite, 1), new ComparableStack(ModItems.ingot_meteorite_forged), new ComparableStack(ModItems.ingot_meteorite_forged))); smithingRecipes.add(new AnvilSmithingHotRecipe(3, new ItemStack(ModItems.meteorite_sword_reforged, 1), new ComparableStack(ModItems.meteorite_sword_seared), new ComparableStack(ModItems.ingot_meteorite_forged))); @@ -84,10 +91,11 @@ public class AnvilRecipes { smithingRecipes.add(new AnvilSmithingHotRecipe(3, new ItemStack(ModItems.cobalt_decorated_shovel, 1), new ComparableStack(ModItems.cobalt_shovel), new ComparableStack(ModItems.ingot_meteorite))); smithingRecipes.add(new AnvilSmithingHotRecipe(3, new ItemStack(ModItems.cobalt_decorated_hoe, 1), new ComparableStack(ModItems.cobalt_hoe), new ComparableStack(ModItems.ingot_meteorite))); - smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModItems.gun_ar15, 1), new ComparableStack(ModItems.gun_thompson), new ComparableStack(ModItems.pipe_lead))); smithingRecipes.add(new AnvilSmithingRecipe(1916169, new ItemStack(ModItems.wings_murk, 1), new ComparableStack(ModItems.wings_limp), new ComparableStack(ModItems.particle_tachyon))); smithingRecipes.add(new AnvilSmithingRecipe(4, new ItemStack(ModItems.flask_infusion, 1, EnumInfusion.SHIELD.ordinal()), new ComparableStack(ModItems.gem_alexandrite), new ComparableStack(ModItems.bottle_nuka))); + smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModItems.ingot_gunmetal, 1), new OreDictStack(CU.ingot()), new OreDictStack(AL.ingot()))); + smithingRecipes.add(new AnvilSmithingMold(0, new OreDictStack(GOLD.nugget()), new OreDictStack("nugget"))); smithingRecipes.add(new AnvilSmithingMold(1, new OreDictStack(U.billet()), new OreDictStack("billet"))); smithingRecipes.add(new AnvilSmithingMold(2, new OreDictStack(IRON.ingot()), new OreDictStack("ingot"))); @@ -110,24 +118,19 @@ public class AnvilRecipes { new ItemStack(ModItems.stamp_titanium_flat), new ItemStack(ModItems.stamp_obsidian_flat) })); - smithingRecipes.add(new AnvilSmithingMold(8, new OreDictStack(STEEL.shell()), new OreDictStack(OreNames.SHELL))); - smithingRecipes.add(new AnvilSmithingMold(9, new OreDictStack(STEEL.pipe()), new OreDictStack(OreNames.PIPE))); + smithingRecipes.add(new AnvilSmithingMold(8, new OreDictStack(STEEL.shell()), new OreDictStack(MaterialShapes.SHELL.name()))); + smithingRecipes.add(new AnvilSmithingMold(9, new OreDictStack(STEEL.pipe()), new OreDictStack(MaterialShapes.PIPE.name()))); smithingRecipes.add(new AnvilSmithingMold(10, new OreDictStack(IRON.ingot(), 9), new OreDictStack("ingot", 9))); smithingRecipes.add(new AnvilSmithingMold(11, new OreDictStack(IRON.plate(), 9), new OreDictStack("plate", 9))); smithingRecipes.add(new AnvilSmithingMold(12, new OreDictStack(IRON.block()), new OreDictStack("block"))); smithingRecipes.add(new AnvilSmithingMold(13, new ComparableStack(ModItems.pipes_steel), new ItemStack[] {new ItemStack(ModItems.pipes_steel)})); - smithingRecipes.add(new AnvilSmithingMold(14, new ComparableStack(ModItems.casing_357), new ItemStack[] {new ItemStack(ModItems.casing_357)})); - smithingRecipes.add(new AnvilSmithingMold(15, new ComparableStack(ModItems.casing_44), new ItemStack[] {new ItemStack(ModItems.casing_44)})); - smithingRecipes.add(new AnvilSmithingMold(16, new ComparableStack(ModItems.casing_9), new ItemStack[] {new ItemStack(ModItems.casing_9)})); - smithingRecipes.add(new AnvilSmithingMold(17, new ComparableStack(ModItems.casing_50), new ItemStack[] {new ItemStack(ModItems.casing_50)})); - smithingRecipes.add(new AnvilSmithingMold(18, new ComparableStack(ModItems.casing_buckshot), new ItemStack[] {new ItemStack(ModItems.casing_buckshot)})); smithingRecipes.add(new AnvilSmithingMold(20, new OreDictStack(ALLOY.wireDense(), 1), new OreDictStack("wireDense", 1))); smithingRecipes.add(new AnvilSmithingMold(21, new OreDictStack(ALLOY.wireDense(), 9), new OreDictStack("wireDense", 9))); - + smithingRecipes.add(new AnvilSmithingCyanideRecipe()); smithingRecipes.add(new AnvilSmithingRenameRecipe()); } - + /* * ////// ////// // // ////// ////// //// // // ////// ////// // ////// // // * // // // //// // // // // // // // // // // // // //// // @@ -136,7 +139,7 @@ public class AnvilRecipes { * ////// ////// // // ////// // // // ////// ////// // // ////// // // */ public static void registerConstruction() { - + constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(IRON.ingot()), new AnvilOutput(new ItemStack(ModItems.plate_iron))).setTier(3)); constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(GOLD.ingot()), new AnvilOutput(new ItemStack(ModItems.plate_gold))).setTier(3)); constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(TI.ingot()), new AnvilOutput(new ItemStack(ModItems.plate_titanium))).setTier(3)); @@ -145,14 +148,16 @@ public class AnvilRecipes { constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(PB.ingot()), new AnvilOutput(new ItemStack(ModItems.plate_lead))).setTier(3)); constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(CU.ingot()), new AnvilOutput(new ItemStack(ModItems.plate_copper))).setTier(3)); constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(ALLOY.ingot()), new AnvilOutput(new ItemStack(ModItems.plate_advanced_alloy))).setTier(3)); - constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(SA326.ingot()), new AnvilOutput(new ItemStack(ModItems.plate_schrabidium))).setTier(3)); - constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(CMB.ingot()), new AnvilOutput(new ItemStack(ModItems.plate_combine_steel))).setTier(3)); + constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(GUNMETAL.ingot()), new AnvilOutput(new ItemStack(ModItems.plate_gunmetal))).setTier(3)); + constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(WEAPONSTEEL.ingot()), new AnvilOutput(new ItemStack(ModItems.plate_weaponsteel))).setTier(3)); constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(BIGMT.ingot()), new AnvilOutput(new ItemStack(ModItems.plate_saturnite))).setTier(3)); constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(DURA.ingot()), new AnvilOutput(new ItemStack(ModItems.plate_dura_steel))).setTier(3)); + constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(SA326.ingot()), new AnvilOutput(new ItemStack(ModItems.plate_schrabidium))).setTier(3)); + constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(CMB.ingot()), new AnvilOutput(new ItemStack(ModItems.plate_combine_steel))).setTier(3)); for(NTMMaterial mat : Mats.orderedList) { - if(mat.shapes.contains(MaterialShapes.WIRE) && mat.shapes.contains(MaterialShapes.INGOT)) { - constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(OreNames.INGOT + mat.names[0]), new AnvilOutput(new ItemStack(ModItems.wire_fine, 8, mat.id))).setTier(4)); + if(mat.autogen.contains(MaterialShapes.WIRE) && OreDictionary.doesOreNameExist(MaterialShapes.INGOT.make(mat))) { + constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(MaterialShapes.INGOT.name() + mat.names[0]), new AnvilOutput(new ItemStack(ModItems.wire_fine, 8, mat.id))).setTier(4)); } } @@ -161,13 +166,13 @@ public class AnvilRecipes { constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(LAPIS.dust()), new AnvilOutput(new ItemStack(Items.dye, 1, 4))).setTier(3)); constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(DIAMOND.dust()), new AnvilOutput(new ItemStack(Items.diamond))).setTier(3)); constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(EMERALD.dust()), new AnvilOutput(new ItemStack(Items.emerald))).setTier(3)); - + registerConstructionRecipes(); registerConstructionAmmo(); registerConstructionUpgrades(); registerConstructionRecycling(); } - + public static void registerConstructionRecipes() { constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(AL.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_aluminium, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION)); @@ -182,13 +187,17 @@ public class AnvilRecipes { new AStack[] {new OreDictStack(DNT.ingot(), 4), new ComparableStack(ModBlocks.depth_brick)}, new AnvilOutput(new ItemStack(ModBlocks.depth_dnt))).setTier(1916169)); - for(NTMMaterial mat : Mats.orderedList) if(mat.shapes.contains(MaterialShapes.SHELL)) constructionRecipes.add(new AnvilConstructionRecipe( + for(NTMMaterial mat : Mats.orderedList) if(mat.autogen.contains(MaterialShapes.SHELL)) constructionRecipes.add(new AnvilConstructionRecipe( new OreDictStack(MaterialShapes.PLATE.name() + mat.names[0], 4), new AnvilOutput(new ItemStack(ModItems.shell, 1, mat.id))).setTier(1)); - for(NTMMaterial mat : Mats.orderedList) if(mat.shapes.contains(MaterialShapes.PIPE)) constructionRecipes.add(new AnvilConstructionRecipe( - new OreDictStack(MaterialShapes.PLATE.name() + mat.names[0], 3), - new AnvilOutput(new ItemStack(ModItems.pipe, 1, mat.id))).setTier(1)); - + for(NTMMaterial mat : Mats.orderedList) if(mat.autogen.contains(MaterialShapes.PIPE)) { + String key = (OreDictionary.doesOreNameExist(MaterialShapes.PLATE.name() + mat.names[0]) ? + MaterialShapes.PLATE.name() + mat.names[0] : MaterialShapes.INGOT.name() + mat.names[0]); + constructionRecipes.add(new AnvilConstructionRecipe( + new OreDictStack(key, 3), + new AnvilOutput(new ItemStack(ModItems.pipe, 1, mat.id))).setTier(1)); + } + constructionRecipes.add(new AnvilConstructionRecipe( new ComparableStack(ModItems.coil_copper, 2), new AnvilOutput(new ItemStack(ModItems.coil_copper_torus))).setTier(1).setOverlay(OverlayType.CONSTRUCTION)); @@ -208,7 +217,7 @@ public class AnvilRecipes { pullFromAssembler(new ComparableStack(ModItems.filter_coal), 2); pullFromAssembler(new ComparableStack(ModItems.thermo_element), 2); - + constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { new ComparableStack(Blocks.stonebrick, 4), @@ -216,16 +225,15 @@ public class AnvilRecipes { new OreDictStack(CU.plate(), 4) }, new AnvilOutput(new ItemStack(ModBlocks.machine_difurnace_off))).setTier(1)); - + int ukModifier = 1; constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { - new OreDictStack(KEY_CLEARGLASS, 4 * ukModifier), new OreDictStack(STEEL.ingot(), 8 * ukModifier), - new OreDictStack(CU.ingot(), 8 * ukModifier), + new OreDictStack(CU.plate(), 4 * ukModifier), new ComparableStack(ModItems.motor, 2 * ukModifier), new ComparableStack(ModItems.circuit, 4 * ukModifier, EnumCircuitType.VACUUM_TUBE.ordinal()) - }, new AnvilOutput(new ItemStack(ModBlocks.machine_assembler))).setTier(2)); + }, new AnvilOutput(new ItemStack(ModBlocks.machine_assembly_machine))).setTier(2)); constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { @@ -307,6 +315,14 @@ public class AnvilRecipes { new OreDictStack(KEY_BRICK, 16) }, new AnvilOutput(new ItemStack(ModBlocks.furnace_combination))).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( + new AStack[] { + new ComparableStack(Blocks.stonebrick, 8), + new ComparableStack(ModItems.ingot_firebrick, 16), + new OreDictStack(IRON.ingot(), 4), + new OreDictStack(CU.plate(), 8), + }, new AnvilOutput(new ItemStack(ModBlocks.machine_rotary_furnace))).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { new OreDictStack(KEY_PLANKS, 16), @@ -388,7 +404,7 @@ public class AnvilRecipes { new ComparableStack(ModItems.circuit, 2, EnumCircuitType.VACUUM_TUBE.ordinal()), new ComparableStack(ModItems.sawblade) }, new AnvilOutput(new ItemStack(ModBlocks.machine_autosaw))).setTier(2)); - + pullFromAssembler(new ComparableStack(ModBlocks.machine_diesel), 2); /*constructionRecipes.add(new AnvilConstructionRecipe( @@ -415,14 +431,14 @@ public class AnvilRecipes { new ComparableStack(ModBlocks.machine_condenser, 16), new OreDictStack(STEEL.pipe(), 8), }, new AnvilOutput(new ItemStack(ModBlocks.machine_tower_large))).setTier(4)); - + constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { new ComparableStack(Items.bone, 16), new ComparableStack(Items.leather, 4), new ComparableStack(Items.feather, 24) }, new AnvilOutput(new ItemStack(ModItems.wings_limp))).setTier(2)); - + constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { new ComparableStack(ModItems.sulfur, 12), @@ -431,7 +447,7 @@ public class AnvilRecipes { new ComparableStack(ModItems.circuit, 2, EnumCircuitType.BASIC.ordinal()) }, new AnvilOutput(new ItemStack(ModBlocks.machine_deuterium_extractor))).setTier(2)); - + constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { new ComparableStack(ModItems.deuterium_filter, 2), @@ -442,7 +458,7 @@ public class AnvilRecipes { new OreDictStack(Fluids.SOURGAS.getDict(1_000), 8), }, new AnvilOutput(new ItemStack(ModBlocks.machine_deuterium_tower))).setTier(4)); - + constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { new OreDictStack(ANY_CONCRETE.any(), 2), @@ -451,7 +467,7 @@ public class AnvilRecipes { new ComparableStack(ModItems.coil_copper, 4) }, new AnvilOutput(new ItemStack(ModBlocks.red_pylon_large))).setTier(2)); - + constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { new OreDictStack(ANY_CONCRETE.any(), 8), @@ -460,7 +476,7 @@ public class AnvilRecipes { new ComparableStack(ModItems.coil_copper, 8) }, new AnvilOutput(new ItemStack(ModBlocks.substation, 2))).setTier(2)); - + constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { new OreDictStack(STEEL.plate(), 4), @@ -468,7 +484,7 @@ public class AnvilRecipes { new ComparableStack(ModBlocks.steel_grate, 2) }, new AnvilOutput(new ItemStack(ModBlocks.chimney_brick))).setTier(2)); - + constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { new OreDictStack(STEEL.plate(), 16), @@ -477,7 +493,7 @@ public class AnvilRecipes { new ComparableStack(ModItems.filter_coal, 4) }, new AnvilOutput(new ItemStack(ModBlocks.chimney_industrial))).setTier(3)); - + constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { new ComparableStack(ModItems.tank_steel, 1), @@ -490,14 +506,14 @@ public class AnvilRecipes { new OreDictStack(PB.plate528(), 2), new ComparableStack(ModItems.nuclear_waste_vitrified, 10) }, new AnvilOutput(new ItemStack(ModBlocks.vitrified_barrel))).setTier(3)); - + constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { new ComparableStack(ModItems.man_core, 1), new OreDictStack(BE.ingot(), 4), new ComparableStack(ModItems.screwdriver, 1) }, new AnvilOutput(new ItemStack(ModItems.demon_core_open))).setTier(3)); - + constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] {new OreDictStack(DESH.ingot(), 4), new OreDictStack(ANY_PLASTIC.dust(), 2), new OreDictStack(DURA.ingot(), 1)}, new AnvilOutput(new ItemStack(ModItems.plate_desh, 4))).setTier(3)); @@ -515,13 +531,13 @@ public class AnvilRecipes { new AStack[] {new OreDictStack(TI.plate(), 2), new OreDictStack(STEEL.ingot(), 1), new OreDictStack(STEEL.bolt(), 4)}, new AnvilOutput(new ItemStack(ModItems.plate_armor_titanium))).setTier(2)); constructionRecipes.add(new AnvilConstructionRecipe( - new AStack[] {new OreDictStack(IRON.plate(), 4), new OreDictStack(BIGMT.plate(), 2), new ComparableStack(ModItems.plate_armor_titanium, 1)}, - new AnvilOutput(new ItemStack(ModItems.plate_armor_ajr))).setTier(3)); + new AStack[] {new OreDictStack(IRON.plate(), 6), new OreDictStack(NB.ingot(), 1), new ComparableStack(ModItems.plate_armor_titanium, 1)}, + new AnvilOutput(new ItemStack(ModItems.plate_armor_ajr, 2))).setTier(3)); constructionRecipes.add(new AnvilConstructionRecipe( - new AStack[] {new OreDictStack(ALLOY.plate(), 4), new ComparableStack(ModItems.plate_armor_titanium, 1), new OreDictStack(W.wireFine(), 6)}, + new AStack[] {new OreDictStack(ALLOY.plate(), 4), new ComparableStack(ModItems.plate_armor_titanium, 1), new OreDictStack(W.wireFine(), 8)}, new AnvilOutput(new ItemStack(ModItems.plate_armor_hev))).setTier(4)); constructionRecipes.add(new AnvilConstructionRecipe( - new AStack[] {new OreDictStack(OreDictManager.getReflector(), 4), new OreDictStack(STAR.ingot(), 1), new OreDictStack(MAGTUNG.wireFine(), 6)}, + new AStack[] {new OreDictStack(OreDictManager.getReflector(), 4), new OreDictStack(STAR.ingot(), 1), new OreDictStack(MAGTUNG.wireFine(), 8)}, new AnvilOutput(new ItemStack(ModItems.plate_armor_lunar))).setTier(4)); constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] {new ComparableStack(ModItems.ingot_meteorite_forged, 4), new OreDictStack(DESH.ingot(), 1), new ComparableStack(ModItems.billet_yharonite, 1)}, @@ -529,7 +545,7 @@ public class AnvilRecipes { constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] {new ComparableStack(ModItems.plate_dineutronium, 4), new ComparableStack(ModItems.particle_sparkticle, 1), new ComparableStack(ModItems.plate_armor_fau, 6)}, new AnvilOutput(new ItemStack(ModItems.plate_armor_dnt))).setTier(7)); - + pullFromAssembler(new ComparableStack(ModItems.plate_mixed, 4), 3); constructionRecipes.add(new AnvilConstructionRecipe( @@ -539,7 +555,7 @@ public class AnvilRecipes { new OreDictStack(AL.plateWelded(), 2), new OreDictStack(PU239.billet(), 3) }, new AnvilOutput(new ItemStack(ModItems.missile_doomsday))).setTier(5)); - + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModItems.ingot_u233, 1), new AnvilOutput(new ItemStack(ModItems.plate_fuel_u233))).setTier(4)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModItems.ingot_u235, 1), new AnvilOutput(new ItemStack(ModItems.plate_fuel_u235))).setTier(4)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModItems.ingot_mox_fuel, 1), new AnvilOutput(new ItemStack(ModItems.plate_fuel_mox))).setTier(4)); @@ -560,117 +576,28 @@ public class AnvilRecipes { constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.fluid_duct_exhaust, 8, i), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.plate_iron)), new AnvilOutput(new ItemStack(ModItems.plate_polymer))}).setTier(2)); } } - + public static void registerConstructionAmmo() { - - constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(CU.plate()), new AnvilOutput(new ItemStack(ModItems.casing_357))).setTier(1)); - constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(CU.plate()), new AnvilOutput(new ItemStack(ModItems.casing_44))).setTier(1)); - constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(CU.plate()), new AnvilOutput(new ItemStack(ModItems.casing_9))).setTier(1)); - constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(CU.plate()), new AnvilOutput(new ItemStack(ModItems.casing_50))).setTier(1)); - constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(CU.plate()), new AnvilOutput(new ItemStack(ModItems.casing_buckshot))).setTier(1)); + + constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.stamp_iron_flat), new OreDictStack(GUNMETAL.ingot(), 2)}, new AnvilOutput(new ItemStack(ModItems.stamp_9))).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.stamp_iron_flat), new OreDictStack(GUNMETAL.ingot(), 2)}, new AnvilOutput(new ItemStack(ModItems.stamp_50))).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.stamp_desh_flat), new OreDictStack(WEAPONSTEEL.ingot(), 4)}, new AnvilOutput(new ItemStack(ModItems.stamp_desh_9))).setTier(4)); + constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.stamp_desh_flat), new OreDictStack(WEAPONSTEEL.ingot(), 4)}, new AnvilOutput(new ItemStack(ModItems.stamp_desh_50))).setTier(4)); + + constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.mold_base), new OreDictStack(IRON.ingot(), 2)}, new AnvilOutput(new ItemStack(ModItems.mold, 1, 16))).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.mold_base), new OreDictStack(IRON.ingot(), 2)}, new AnvilOutput(new ItemStack(ModItems.mold, 1, 17))).setTier(1)); + + constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.mold_base), new OreDictStack(STEEL.ingot(), 4)}, new AnvilOutput(new ItemStack(ModItems.mold, 1, 22))).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.mold_base), new OreDictStack(STEEL.ingot(), 4)}, new AnvilOutput(new ItemStack(ModItems.mold, 1, 23))).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.mold_base), new OreDictStack(STEEL.ingot(), 4)}, new AnvilOutput(new ItemStack(ModItems.mold, 1, 24))).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.mold_base), new OreDictStack(STEEL.ingot(), 4)}, new AnvilOutput(new ItemStack(ModItems.mold, 1, 25))).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.mold_base), new OreDictStack(STEEL.ingot(), 4)}, new AnvilOutput(new ItemStack(ModItems.mold, 1, 26))).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.mold_base), new OreDictStack(STEEL.ingot(), 4)}, new AnvilOutput(new ItemStack(ModItems.mold, 1, 27))).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe(new AStack[]{new ComparableStack(ModItems.mold_base), new OreDictStack(STEEL.ingot(), 4)}, new AnvilOutput(new ItemStack(ModItems.mold, 1, 28))).setTier(2)); pullFromAssembler(new ComparableStack(ModItems.pellet_buckshot), 1); - pullFromAssembler(new ComparableStack(ModItems.pellet_canister), 1); - - constructionRecipes.add(new AnvilConstructionRecipe( new AStack[]{ - new ComparableStack(ModItems.powder_chlorophyte, 1), - new OreDictStack(PB.nugget(), 12),}, - new AnvilOutput(new ItemStack(ModItems.pellet_chlorophyte, 2))).setTier(1)); - - Object[][] recs = new Object[][] { - {ModItems.ammo_12gauge.stackFromEnum(12, Ammo12Gauge.STOCK), P_RED.dust(), ModItems.ammo_12gauge.stackFromEnum(12, Ammo12Gauge.INCENDIARY), 2}, - {ModItems.ammo_12gauge.stackFromEnum(12, Ammo12Gauge.STOCK), Item.getItemFromBlock(ModBlocks.gravel_obsidian), ModItems.ammo_12gauge.stackFromEnum(12, Ammo12Gauge.SHRAPNEL), 2}, - {ModItems.ammo_12gauge.stackFromEnum(12, Ammo12Gauge.STOCK), U238.ingot(), ModItems.ammo_12gauge.stackFromEnum(12, Ammo12Gauge.DU), 3}, - {ModItems.ammo_12gauge.stackFromEnum(120, Ammo12Gauge.STOCK), ModItems.coin_maskman, ModItems.ammo_12gauge.stackFromEnum(120, Ammo12Gauge.SLEEK), 4}, - - {ModItems.ammo_20gauge.stackFromEnum(12, Ammo20Gauge.STOCK), P_RED.dust(), ModItems.ammo_20gauge.stackFromEnum(12, Ammo20Gauge.INCENDIARY), 2}, - {ModItems.ammo_20gauge.stackFromEnum(12, Ammo20Gauge.STOCK), Item.getItemFromBlock(ModBlocks.gravel_obsidian), ModItems.ammo_20gauge.stackFromEnum(12, Ammo20Gauge.SHRAPNEL), 2}, - {ModItems.ammo_20gauge.stackFromEnum(12, Ammo20Gauge.STOCK), ModItems.powder_poison, ModItems.ammo_20gauge.stackFromEnum(12, Ammo20Gauge.CAUSTIC), 2}, - {ModItems.ammo_20gauge.stackFromEnum(12, Ammo20Gauge.STOCK), DIAMOND.dust(), ModItems.ammo_20gauge.stackFromEnum(12, Ammo20Gauge.SHOCK), 2}, - {ModItems.ammo_20gauge.stackFromEnum(12, Ammo20Gauge.STOCK), Item.getItemFromBlock(Blocks.soul_sand), ModItems.ammo_20gauge.stackFromEnum(12, Ammo20Gauge.WITHER), 3}, - {ModItems.ammo_20gauge.stackFromEnum(120, Ammo20Gauge.STOCK), ModItems.coin_maskman, ModItems.ammo_20gauge.stackFromEnum(120, Ammo20Gauge.SLEEK), 4}, - - {ModItems.ammo_4gauge.stackFromEnum(12, Ammo4Gauge.FLECHETTE), P_WHITE.ingot(), ModItems.ammo_4gauge.stackFromEnum(12, Ammo4Gauge.FLECHETTE_PHOSPHORUS), 2}, - {ModItems.ammo_4gauge.stackFromEnum(12, Ammo4Gauge.EXPLOSIVE), ModItems.egg_balefire_shard, ModItems.ammo_4gauge.stackFromEnum(12, Ammo4Gauge.BALEFIRE), 4}, - {ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.EXPLOSIVE), ModItems.ammo_rocket, ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.KAMPF), 2}, - {ModItems.ammo_4gauge.stackFromEnum(12, Ammo4Gauge.KAMPF), ModItems.pellet_canister, ModItems.ammo_4gauge.stackFromEnum(12, Ammo4Gauge.CANISTER), 3}, - {ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.STOCK), ModItems.pellet_claws, ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.CLAW), 5}, - {ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.STOCK), ModItems.toothpicks, ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.VAMPIRE), 5}, - {ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.STOCK), ModItems.pellet_charged, ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.VOID), 5}, - {ModItems.ammo_4gauge.stackFromEnum(120, Ammo4Gauge.STOCK), ModItems.coin_maskman, ModItems.ammo_4gauge.stackFromEnum(120, Ammo4Gauge.SLEEK), 4}, - - {ModItems.ammo_44.stackFromEnum(24, Ammo44Magnum.STOCK), DURA.ingot(), ModItems.ammo_44.stackFromEnum(24, Ammo44Magnum.AP), 2}, - {ModItems.ammo_44.stackFromEnum(24, Ammo44Magnum.STOCK), U238.ingot(), ModItems.ammo_44.stackFromEnum(24, Ammo44Magnum.DU), 2}, - {ModItems.ammo_44.stackFromEnum(24, Ammo44Magnum.STOCK), P_WHITE.ingot(), ModItems.ammo_44.stackFromEnum(24, Ammo44Magnum.PHOSPHORUS), 2}, - {ModItems.ammo_44.stackFromEnum(12, Ammo44Magnum.DU), STAR.ingot(), ModItems.ammo_44.stackFromEnum(12, Ammo44Magnum.STAR), 3}, - {ModItems.ammo_44.stackFromEnum(24, Ammo44Magnum.STOCK), ModItems.pellet_chlorophyte, ModItems.ammo_44.stackFromEnum(24, Ammo44Magnum.CHLOROPHYTE), 3}, - - {ModItems.ammo_45.stackFromEnum(32, Ammo45ACP.STOCK), DURA.ingot(), ModItems.ammo_45.stackFromEnum(32, Ammo45ACP.AP), 3}, - {ModItems.ammo_45.stackFromEnum(32, Ammo45ACP.STOCK), U238.ingot(), ModItems.ammo_45.stackFromEnum(32, Ammo45ACP.DU), 3}, - - {ModItems.ammo_5mm.stackFromEnum(128, Ammo5mm.STOCK), ModItems.ingot_semtex, ModItems.ammo_5mm.stackFromEnum(128, Ammo5mm.EXPLOSIVE), 2}, - {ModItems.ammo_5mm.stackFromEnum(128, Ammo5mm.STOCK), U238.ingot(), ModItems.ammo_5mm.stackFromEnum(128, Ammo5mm.DU), 2}, - {ModItems.ammo_5mm.stackFromEnum(32, Ammo5mm.DU), STAR.ingot(), ModItems.ammo_5mm.stackFromEnum(32, Ammo5mm.STAR), 3}, - {ModItems.ammo_5mm.stackFromEnum(128, Ammo5mm.STOCK), ModItems.pellet_chlorophyte, ModItems.ammo_5mm.stackFromEnum(128, Ammo5mm.CHLOROPHYTE), 3}, - - {ModItems.ammo_9mm.stackFromEnum(32, Ammo9mm.STOCK), DURA.ingot(), ModItems.ammo_9mm.stackFromEnum(32, Ammo9mm.AP), 2}, - {ModItems.ammo_9mm.stackFromEnum(32, Ammo9mm.STOCK), U238.ingot(), ModItems.ammo_9mm.stackFromEnum(32, Ammo9mm.DU), 2}, - {ModItems.ammo_9mm.stackFromEnum(32, Ammo9mm.STOCK), ModItems.pellet_chlorophyte, ModItems.ammo_9mm.stackFromEnum(32, Ammo9mm.CHLOROPHYTE), 3}, - - {ModItems.ammo_22lr.stackFromEnum(32, Ammo22LR.STOCK), DURA.ingot(), ModItems.ammo_22lr.stackFromEnum(32, Ammo22LR.AP), 2}, - {ModItems.ammo_22lr.stackFromEnum(32, Ammo22LR.STOCK), ModItems.pellet_chlorophyte, ModItems.ammo_22lr.stackFromEnum(32, Ammo22LR.CHLOROPHYTE), 3}, - - {ModItems.ammo_50bmg.stackFromEnum(16, Ammo50BMG.STOCK), P_RED.dust(), ModItems.ammo_50bmg.stackFromEnum(16, Ammo50BMG.INCENDIARY), 2}, - {ModItems.ammo_50bmg.stackFromEnum(16, Ammo50BMG.STOCK), P_WHITE.ingot(), ModItems.ammo_50bmg.stackFromEnum(16, Ammo50BMG.PHOSPHORUS), 2}, - {ModItems.ammo_50bmg.stackFromEnum(16, Ammo50BMG.STOCK), ModItems.ingot_semtex, ModItems.ammo_50bmg.stackFromEnum(16, Ammo50BMG.EXPLOSIVE), 2}, - {ModItems.ammo_50bmg.stackFromEnum(16, Ammo50BMG.STOCK), DURA.ingot(), ModItems.ammo_50bmg.stackFromEnum(16, Ammo50BMG.AP), 2}, - {ModItems.ammo_50bmg.stackFromEnum(16, Ammo50BMG.STOCK), U238.ingot(), ModItems.ammo_50bmg.stackFromEnum(16, Ammo50BMG.DU), 2}, - {ModItems.ammo_50bmg.stackFromEnum(8, Ammo50BMG.DU), STAR.ingot(), ModItems.ammo_50bmg.stackFromEnum(8, Ammo50BMG.STAR), 3}, - {ModItems.ammo_50bmg.stackFromEnum(16, Ammo50BMG.STOCK), ModItems.pellet_chlorophyte, ModItems.ammo_50bmg.stackFromEnum(16, Ammo50BMG.CHLOROPHYTE), 3}, - {ModItems.ammo_50bmg.stackFromEnum(128, Ammo50BMG.STOCK), ModItems.coin_maskman, ModItems.ammo_50bmg.stackFromEnum(128, Ammo50BMG.SLEEK), 4}, - {ModItems.ammo_50bmg.stackFromEnum(16, Ammo50BMG.STOCK), ModItems.pellet_flechette, ModItems.ammo_50bmg.stackFromEnum(16, Ammo50BMG.FLECHETTE), 2}, - {ModItems.ammo_50bmg.stackFromEnum(16, Ammo50BMG.FLECHETTE), ModItems.nugget_am_mix, ModItems.ammo_50bmg.stackFromEnum(16, Ammo50BMG.FLECHETTE_AM), 3}, - {ModItems.ammo_50bmg.stackFromEnum(32, Ammo50BMG.FLECHETTE), ModItems.powder_polonium, ModItems.ammo_50bmg.stackFromEnum(32, Ammo50BMG.FLECHETTE_PO), 3}, - - {ModItems.ammo_50ae.stackFromEnum(32, Ammo50AE.STOCK), DURA.ingot(), ModItems.ammo_50ae.stackFromEnum(32, Ammo50AE.AP), 2}, - {ModItems.ammo_50ae.stackFromEnum(32, Ammo50AE.STOCK), U238.ingot(), ModItems.ammo_50ae.stackFromEnum(32, Ammo50AE.DU), 2}, - {ModItems.ammo_50ae.stackFromEnum(16, Ammo50AE.DU), STAR.ingot(), ModItems.ammo_50ae.stackFromEnum(16, Ammo50AE.STAR), 3}, - {ModItems.ammo_50ae.stackFromEnum(32, Ammo50AE.STOCK), ModItems.pellet_chlorophyte, ModItems.ammo_50ae.stackFromEnum(32, Ammo50AE.CHLOROPHYTE), 3}, - - {ModItems.ammo_556.stackFromEnum(32, Ammo556mm.STOCK), P_WHITE.ingot(), ModItems.ammo_556.stackFromEnum(32, Ammo556mm.PHOSPHORUS), 2}, - {ModItems.ammo_556.stackFromEnum(32, Ammo556mm.STOCK), DURA.ingot(), ModItems.ammo_556.stackFromEnum(32, Ammo556mm.AP), 2}, - {ModItems.ammo_556.stackFromEnum(32, Ammo556mm.STOCK), U238.ingot(), ModItems.ammo_556.stackFromEnum(32, Ammo556mm.DU), 2}, - {ModItems.ammo_556.stackFromEnum(16, Ammo556mm.DU), STAR.ingot(), ModItems.ammo_556.stackFromEnum(16, Ammo556mm.STAR), 3}, - {ModItems.ammo_556.stackFromEnum(32, Ammo556mm.STOCK), ModItems.pellet_chlorophyte, ModItems.ammo_556.stackFromEnum(32, Ammo556mm.CHLOROPHYTE), 3}, - {ModItems.ammo_556.stackFromEnum(128, Ammo556mm.STOCK), ModItems.coin_maskman, ModItems.ammo_556.stackFromEnum(128, Ammo556mm.SLEEK), 4}, - {ModItems.ammo_556.stackFromEnum(32, Ammo556mm.STOCK), Items.redstone, ModItems.ammo_556.stackFromEnum(32, Ammo556mm.TRACER), 2}, - {ModItems.ammo_556.stackFromEnum(32, Ammo556mm.STOCK), ModItems.pellet_flechette, ModItems.ammo_556.stackFromEnum(32, Ammo556mm.FLECHETTE), 2}, - {ModItems.ammo_556.stackFromEnum(32, Ammo556mm.FLECHETTE), P_RED.dust(), ModItems.ammo_556.stackFromEnum(32, Ammo556mm.FLECHETTE_INCENDIARY), 2}, - {ModItems.ammo_556.stackFromEnum(32, Ammo556mm.FLECHETTE), P_WHITE.ingot(), ModItems.ammo_556.stackFromEnum(32, Ammo556mm.FLECHETTE_PHOSPHORUS), 2}, - {ModItems.ammo_556.stackFromEnum(32, Ammo556mm.FLECHETTE), U238.ingot(), ModItems.ammo_556.stackFromEnum(32, Ammo556mm.FLECHETTE_DU), 2}, - {ModItems.ammo_556.stackFromEnum(100, Ammo556mm.FLECHETTE), ModItems.coin_maskman, ModItems.ammo_556.stackFromEnum(128, Ammo556mm.FLECHETTE_SLEEK), 4}, - {ModItems.ammo_556.stackFromEnum(32, Ammo556mm.FLECHETTE), ModItems.pellet_chlorophyte, ModItems.ammo_556.stackFromEnum(32, Ammo556mm.FLECHETTE_CHLOROPHYTE), 3}, - - {ModItems.ammo_762.stackFromEnum(32, Ammo762NATO.STOCK), Items.redstone, ModItems.ammo_762.stackFromEnum(32, Ammo762NATO.TRACER), 2}, - {ModItems.ammo_762.stackFromEnum(32, Ammo762NATO.STOCK), DURA.ingot(), ModItems.ammo_762.stackFromEnum(32, Ammo762NATO.AP), 2}, - {ModItems.ammo_762.stackFromEnum(32, Ammo762NATO.STOCK), P_WHITE.ingot(), ModItems.ammo_762.stackFromEnum(32, Ammo762NATO.PHOSPHORUS), 2}, - {ModItems.ammo_762.stackFromEnum(32, Ammo762NATO.STOCK), U238.ingot(), ModItems.ammo_762.stackFromEnum(32, Ammo762NATO.DU), 2} - }; - - for(Object[] objs : recs) { - - ComparableStack ammoIn = new ComparableStack((ItemStack) objs[0]); - ItemStack out = (ItemStack) objs[2]; - - if(objs[1] instanceof Item) { - constructionRecipes.add(new AnvilConstructionRecipe(new AStack[] { ammoIn, new ComparableStack((Item)objs[1], 1) }, new AnvilOutput(out)).setTier((int)objs[3])); - - } else if(objs[1] instanceof String) { - constructionRecipes.add(new AnvilConstructionRecipe(new AStack[] { ammoIn, new OreDictStack((String)objs[1], 1) }, new AnvilOutput(out)).setTier((int)objs[3])); - } - } } - + public static void registerConstructionUpgrades() { pullFromAssembler(new ComparableStack(ModItems.upgrade_template), 2); pullFromAssembler(new ComparableStack(ModItems.upgrade_speed_1), 2); @@ -698,7 +625,7 @@ public class AnvilRecipes { pullFromAssembler(new ComparableStack(ModItems.upgrade_nullifier), 4); pullFromAssembler(new ComparableStack(ModItems.upgrade_screm), 4); } - + public static void registerConstructionRecycling() { constructionRecipes.add(new AnvilConstructionRecipe( @@ -720,6 +647,7 @@ public class AnvilRecipes { constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_tungsten, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_tungsten, 1))}).setTier(1)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_aluminium, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_aluminium, 1))}).setTier(1)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_steel, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_steel, 1))}).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_rusty_steel, 8), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_steel, 1))}).setTier(1)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_lead, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_lead, 1))}).setTier(1)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_beryllium, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_beryllium, 1))}).setTier(1)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_asbestos, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_asbestos, 1))}).setTier(1)); @@ -731,7 +659,7 @@ public class AnvilRecipes { new AnvilOutput(new ItemStack(ModItems.ingot_copper, 6)) } ).setTier(2)); - + constructionRecipes.add(new AnvilConstructionRecipe( new ComparableStack(ModBlocks.heater_oven), new AnvilOutput[] { @@ -817,7 +745,7 @@ public class AnvilRecipes { new AnvilOutput(new ItemStack(ModItems.circuit, 1, EnumCircuitType.CAPACITOR.ordinal()), 0.75F), new AnvilOutput(new ItemStack(ModItems.circuit, 1, EnumCircuitType.CAPACITOR.ordinal()), 0.5F), new AnvilOutput(new ItemStack(ModItems.circuit, 1, EnumCircuitType.ANALOG.ordinal()), 0.1F) - + } ).setTier(2)); constructionRecipes.add(new AnvilConstructionRecipe( @@ -828,7 +756,7 @@ public class AnvilRecipes { new AnvilOutput(new ItemStack(ModItems.wire_fine, 2, Mats.MAT_COPPER.id)), new AnvilOutput(new ItemStack(ModItems.wire_fine, 2, Mats.MAT_GOLD.id), 0.25F), new AnvilOutput(new ItemStack(ModItems.circuit, 1, EnumCircuitType.VACUUM_TUBE.ordinal()), 0.25F) - + } ).setTier(2)); constructionRecipes.add(new AnvilConstructionRecipe( @@ -841,7 +769,7 @@ public class AnvilRecipes { new AnvilOutput(new ItemStack(ModItems.battery_generic, 1), 0.25F), new AnvilOutput(new ItemStack(ModItems.battery_advanced, 1), 0.1F), new AnvilOutput(new ItemStack(ModItems.fusion_core, 1), 0.01F) - + } ).setTier(2)); constructionRecipes.add(new AnvilConstructionRecipe( @@ -854,7 +782,7 @@ public class AnvilRecipes { new AnvilOutput(new ItemStack(ModItems.battery_lithium, 1), 0.25F), new AnvilOutput(new ItemStack(ModItems.battery_sc_uranium, 1), 0.1F), new AnvilOutput(new ItemStack(ModItems.fusion_core, 1), 0.05F) - + } ).setTier(2)); constructionRecipes.add(new AnvilConstructionRecipe( @@ -868,7 +796,7 @@ public class AnvilRecipes { new AnvilOutput(new ItemStack(ModItems.fusion_core, 1), 0.5F), new AnvilOutput(new ItemStack(ModItems.gem_alexandrite, 1), 0.25F), new AnvilOutput(new ItemStack(ModItems.flame_pony, 1), 0.01F) - + } ).setTier(2)); constructionRecipes.add(new AnvilConstructionRecipe( @@ -912,7 +840,7 @@ public class AnvilRecipes { new AnvilOutput(new ItemStack(ModItems.plate_steel, 2), 0.5F), new AnvilOutput(new ItemStack(ModItems.plate_polymer, 2), 0.25F), new AnvilOutput(new ItemStack(ModItems.scrap, 1)) - + } ).setTier(1)); @@ -942,7 +870,7 @@ public class AnvilRecipes { new AnvilOutput(new ItemStack(ModItems.lithium, 1)), new AnvilOutput(new ItemStack(ModItems.cell_empty, 1)) }).setTier(2)); - + //RBMK constructionRecipes.add(new AnvilConstructionRecipe( new ComparableStack(ModBlocks.rbmk_moderator), new AnvilOutput[] { @@ -1001,9 +929,9 @@ public class AnvilRecipes { new AnvilOutput(new ItemStack(ModBlocks.rbmk_blank, 1)), new AnvilOutput(new ItemStack(ModBlocks.crate_steel, 2)) }).setTier(4)); - + if(!GeneralConfig.enable528) { - + constructionRecipes.add(new AnvilConstructionRecipe( new ComparableStack(ModBlocks.rbmk_rod), new AnvilOutput[] { new AnvilOutput(new ItemStack(ModBlocks.rbmk_blank, 1)), @@ -1074,7 +1002,7 @@ public class AnvilRecipes { new AnvilOutput(new ItemStack(ModItems.coil_copper, 2)), new AnvilOutput(new ItemStack(ModItems.ingot_steel, 4)) }).setTier(3)); - + constructionRecipes.add(new AnvilConstructionRecipe( new ComparableStack(ModBlocks.yellow_barrel), new AnvilOutput[] { new AnvilOutput(new ItemStack(ModItems.tank_steel, 1)), @@ -1096,85 +1024,91 @@ public class AnvilRecipes { new AnvilOutput(new ItemStack(Items.experience_bottle, 1), 0.5F) }).setTier(1)); } - + public static void pullFromAssembler(ComparableStack result, int tier) { - + AssemblerRecipe recipe = AssemblerRecipes.recipes.get(result); - + if(recipe != null) { constructionRecipes.add(new AnvilConstructionRecipe(recipe.ingredients, new AnvilOutput(result.toStack())).setTier(tier)); } } - + public static List getSmithing() { return smithingRecipes; } - + public static List getConstruction() { return constructionRecipes; } - + public static class AnvilConstructionRecipe { public List input = new ArrayList(); public List output = new ArrayList(); public int tierLower = 0; public int tierUpper = -1; OverlayType overlay = OverlayType.NONE; - + public AnvilConstructionRecipe(AStack input, AnvilOutput output) { this.input.add(input); this.output.add(output); this.setOverlay(OverlayType.SMITHING); //preferred overlay for 1:1 conversions is smithing } - + public AnvilConstructionRecipe(AStack[] input, AnvilOutput output) { for(AStack stack : input) this.input.add(stack); this.output.add(output); this.setOverlay(OverlayType.CONSTRUCTION); //preferred overlay for many:1 conversions is construction } - + public AnvilConstructionRecipe(AStack input, AnvilOutput[] output) { this.input.add(input); for(AnvilOutput out : output) this.output.add(out); this.setOverlay(OverlayType.RECYCLING); //preferred overlay for 1:many conversions is recycling } - + public AnvilConstructionRecipe(AStack[] input, AnvilOutput[] output) { for(AStack stack : input) this.input.add(stack); for(AnvilOutput out : output) this.output.add(out); this.setOverlay(OverlayType.NONE); //no preferred overlay for many:many conversions } - + + public AnvilConstructionRecipe(AStack[] input, Pair[] output) { + for(AStack stack : input) this.input.add(stack); + for(Pair out : output) this.output.add(new AnvilOutput(out.getKey(), out.getValue())); + this.setOverlay(OverlayType.NONE); //no preferred overlay for many:many conversions + } + public AnvilConstructionRecipe setTier(int tier) { this.tierLower = tier; if(GeneralConfig.enableLBSM && GeneralConfig.enableLBSMUnlockAnvil) this.tierLower = 1; return this; } - + public AnvilConstructionRecipe setTierRange(int lower, int upper) { this.tierLower = lower; this.tierUpper = upper; if(GeneralConfig.enableLBSM && GeneralConfig.enableLBSMUnlockAnvil) this.tierLower = this.tierUpper = 1; return this; } - + public boolean isTierValid(int tier) { - + if(this.tierUpper == -1) return tier >= this.tierLower; - + return tier >= this.tierLower && tier <= this.tierUpper; } - + public AnvilConstructionRecipe setOverlay(OverlayType overlay) { this.overlay = overlay; return this; } - + public OverlayType getOverlay() { return this.overlay; } - + public ItemStack getDisplay() { switch(this.overlay) { case NONE: return this.output.get(0).stack.copy(); @@ -1190,25 +1124,63 @@ public class AnvilRecipes { } } } - + public static class AnvilOutput { public ItemStack stack; public float chance; - + public AnvilOutput(ItemStack stack) { this(stack, 1F); } - + public AnvilOutput(ItemStack stack, float chance) { this.stack = stack; this.chance = chance; } } - + public static enum OverlayType { NONE, CONSTRUCTION, RECYCLING, SMITHING; } + + @Override + public void readRecipe(JsonElement recipe) { + JsonObject obj = (JsonObject) recipe; + + AStack[] inputs = this.readAStackArray(obj.get("inputs").getAsJsonArray()); + Pair[] outputs = this.readItemStackArrayChance(obj.get("outputs").getAsJsonArray()); + + int tierLower = obj.get("tierLower").getAsInt(); + int tierUpper = obj.has("tierUpper") ? obj.get("tierUpper").getAsInt() : -1; + + OverlayType overlay = OverlayType.NONE; + if(obj.has("overlay")) { + String overlayName = obj.get("overlay").getAsString(); + overlay = OverlayType.valueOf(overlayName); + if(overlay == null) overlay = OverlayType.NONE; + } + + this.constructionRecipes.add(new AnvilConstructionRecipe(inputs, outputs).setTierRange(tierLower, tierUpper).setOverlay(overlay)); + } + + @Override + public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { + AnvilConstructionRecipe rec = (AnvilConstructionRecipe) recipe; + + writer.name("inputs").beginArray(); + for(AStack stack : rec.input) this.writeAStack(stack, writer); + writer.endArray(); + + writer.name("outputs").beginArray(); + for(AnvilOutput stack : rec.output) this.writeItemStackChance(new Pair(stack.stack, stack.chance), writer); + writer.endArray(); + + writer.name("tierLower").value(rec.tierLower); + writer.name("tierUpper").value(rec.tierUpper); + + writer.name("overlay").value(rec.overlay.name()); + } } diff --git a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilSmithingMold.java b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilSmithingMold.java index 5dd1bef82..11a1693a3 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilSmithingMold.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilSmithingMold.java @@ -2,10 +2,10 @@ package com.hbm.inventory.recipes.anvil; import java.util.List; -import com.hbm.inventory.OreNames; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; +import com.hbm.inventory.material.MaterialShapes; import com.hbm.items.ModItems; import com.hbm.util.ItemStackUtil; @@ -34,7 +34,7 @@ public class AnvilSmithingMold extends AnvilSmithingRecipe { for(String name : names) { - for(String otherPrefix : OreNames.prefixes) { + for(MaterialShapes shape : MaterialShapes.allShapes) for(String otherPrefix : shape.prefixes) { if(otherPrefix.length() > matchesPrefix.name.length() && name.startsWith(otherPrefix)) { return false; //ignore if there's a longer prefix that matches (i.e. a more accurate match) } diff --git a/src/main/java/com/hbm/inventory/recipes/loader/GenericRecipe.java b/src/main/java/com/hbm/inventory/recipes/loader/GenericRecipe.java new file mode 100644 index 000000000..f2c8dfd42 --- /dev/null +++ b/src/main/java/com/hbm/inventory/recipes/loader/GenericRecipe.java @@ -0,0 +1,107 @@ +package com.hbm.inventory.recipes.loader; + +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + +import com.hbm.inventory.FluidStack; +import com.hbm.inventory.RecipesCommon.AStack; +import com.hbm.inventory.recipes.loader.GenericRecipes.ChanceOutput; +import com.hbm.inventory.recipes.loader.GenericRecipes.ChanceOutputMulti; +import com.hbm.inventory.recipes.loader.GenericRecipes.IOutput; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemFluidIcon; +import com.hbm.util.BobMathUtil; +import com.hbm.util.i18n.I18nUtil; + +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +public class GenericRecipe { + + protected final String name; + public AStack[] inputItem; + public FluidStack[] inputFluid; + public IOutput[] outputItem; + public FluidStack[] outputFluid; + public int duration; + public long power; + protected ItemStack icon; + public boolean writeIcon = false; + public boolean customLocalization = false; + + public GenericRecipe(String name) { + this.name = name; + } + + public GenericRecipe setDuration(int duration) { this.duration = duration; return this; } + public GenericRecipe setPower(long power) { this.power = power; return this; } + public GenericRecipe setup(int duration, long power) { return this.setDuration(duration).setPower(power); } + public GenericRecipe setupNamed(int duration, long power) { return this.setDuration(duration).setPower(power).setNamed(); } + public GenericRecipe setIcon(ItemStack icon) { this.icon = icon; this.writeIcon = true; return this; } + public GenericRecipe setIcon(Item item, int meta) { return this.setIcon(new ItemStack(item, 1, meta)); } + public GenericRecipe setIcon(Item item) { return this.setIcon(new ItemStack(item)); } + public GenericRecipe setIcon(Block block) { return this.setIcon(new ItemStack(block)); } + public GenericRecipe setNamed() { this.customLocalization = true; return this; } + + public GenericRecipe inputItems(AStack... input) { this.inputItem = input; return this; } + public GenericRecipe inputFluids(FluidStack... input) { this.inputFluid = input; return this; } + public GenericRecipe outputItems(IOutput... output) { this.outputItem = output; return this; } + public GenericRecipe outputFluids(FluidStack... output) { this.outputFluid = output; return this; } + + public GenericRecipe outputItems(ItemStack... output) { + this.outputItem = new IOutput[output.length]; + for(int i = 0; i < outputItem.length; i++) this.outputItem[i] = new ChanceOutput(output[i]); + return this; + } + + public ItemStack getIcon() { + + if(icon == null) { + if(outputItem != null) { + if(outputItem[0] instanceof ChanceOutput) icon = ((ChanceOutput) outputItem[0]).stack.copy(); + if(outputItem[0] instanceof ChanceOutputMulti) icon = ((ChanceOutputMulti) outputItem[0]).pool.get(0).stack.copy(); + return icon; + } + if(outputFluid != null) { + icon = ItemFluidIcon.make(outputFluid[0]); + } + } + + if(icon == null) icon = new ItemStack(ModItems.nothing); + return icon; + } + + public String getInternalName() { + return this.name; + } + + public String getLocalizedName() { + if(customLocalization) return I18nUtil.resolveKey(name); + return this.getIcon().getDisplayName(); + } + + public List print() { + List list = new ArrayList(); + list.add(EnumChatFormatting.YELLOW + this.getLocalizedName()); + if(duration > 0) list.add(EnumChatFormatting.RED + "Duration: " + this.duration / 20D + "s"); + if(power > 0) list.add(EnumChatFormatting.RED + "Consumption: " + BobMathUtil.getShortNumber(power) + "HE/t"); + list.add(EnumChatFormatting.BOLD + "Input:"); + if(inputItem != null) for(AStack stack : inputItem) { + ItemStack display = stack.extractForCyclingDisplay(20); + list.add(" " + EnumChatFormatting.GRAY + display.stackSize + "x " + display.getDisplayName()); + } + if(inputFluid != null) for(FluidStack fluid : inputFluid) list.add(" " + EnumChatFormatting.BLUE + fluid.fill + "mB " + fluid.type.getLocalizedName() + (fluid.pressure == 0 ? "" : " at " + EnumChatFormatting.RED + fluid.pressure + " PU")); + list.add(EnumChatFormatting.BOLD + "Output:"); + if(outputItem != null) for(IOutput output : outputItem) for(String line : output.getLabel()) list.add(" " + line); + if(outputFluid != null) for(FluidStack fluid : outputFluid) list.add(" " + EnumChatFormatting.BLUE + fluid.fill + "mB " + fluid.type.getLocalizedName() + (fluid.pressure == 0 ? "" : " at " + EnumChatFormatting.RED + fluid.pressure + " PU")); + return list; + } + + /** Default impl only matches localized name substring, can be extended to include ingredients as well */ + public boolean matchesSearch(String substring) { + return getLocalizedName().toLowerCase(Locale.US).contains(substring.toLowerCase(Locale.US)); + } +} diff --git a/src/main/java/com/hbm/inventory/recipes/loader/GenericRecipes.java b/src/main/java/com/hbm/inventory/recipes/loader/GenericRecipes.java new file mode 100644 index 000000000..6cb020bd6 --- /dev/null +++ b/src/main/java/com/hbm/inventory/recipes/loader/GenericRecipes.java @@ -0,0 +1,284 @@ +package com.hbm.inventory.recipes.loader; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Random; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; +import com.hbm.inventory.FluidStack; +import com.hbm.inventory.RecipesCommon.AStack; + +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.WeightedRandom; + +/** + * Fully genericized recipes. + * Features: + * * Fluid in and output + * * AStack intput + * * Chance-based outputs, for selecting items and for selecting items are produced in the first place + * * Duration + * * Tags for identification + * + * @author hbm + */ +public abstract class GenericRecipes extends SerializableRecipe { + + public static final Random RNG = new Random(); + + public List recipeOrderedList = new ArrayList(); + public HashMap recipeNameMap = new HashMap(); + + public abstract int inputItemLimit(); + public abstract int inputFluidLimit(); + public abstract int outputItemLimit(); + public abstract int outputFluidLimit(); + public boolean hasDuration() { return true; } + public boolean hasPower() { return true; } + + @Override + public Object getRecipeObject() { + return this.recipeOrderedList; + } + + @Override + public void deleteRecipes() { + this.recipeOrderedList.clear(); + this.recipeNameMap.clear(); + } + + public void register(T recipe) { + this.recipeOrderedList.add(recipe); + if(recipeNameMap.containsKey(recipe.name)) throw new IllegalStateException("Recipe " + recipe.name + " has been reciped with a duplicate ID!"); + this.recipeNameMap.put(recipe.name, recipe); + } + + @Override + public void readRecipe(JsonElement element) { + JsonObject obj = (JsonObject) element; + T recipe = instantiateRecipe(obj.get("name").getAsString()); + + if(this.inputItemLimit() > 0 && obj.has("inputItem")) recipe.inputItem = this.readAStackArray(obj.get("inputItem").getAsJsonArray()); + if(this.inputFluidLimit() > 0 && obj.has("inputFluid")) recipe.inputFluid = this.readFluidArray(obj.get("inputFluid").getAsJsonArray()); + + if(this.outputItemLimit() > 0 && obj.has("outputItem")) recipe.outputItem = this.readOutputArray(obj.get("outputItem").getAsJsonArray()); + if(this.outputFluidLimit() > 0 && obj.has("outputFluid")) recipe.outputFluid = this.readFluidArray(obj.get("outputFluid").getAsJsonArray()); + + if(this.hasDuration()) recipe.setDuration(obj.get("duration").getAsInt()); + if(this.hasPower()) recipe.setPower(obj.get("power").getAsLong()); + + if(obj.has("icon")) recipe.setIcon(this.readItemStack(obj.get("icon").getAsJsonArray())); + if(obj.has("named") && obj.get("named").getAsBoolean()) recipe.setNamed(); + + readExtraData(element, recipe); + + register(recipe); + } + + public abstract T instantiateRecipe(String name); + public void readExtraData(JsonElement element, T recipe) { } + + @Override + public void writeRecipe(Object recipeObject, JsonWriter writer) throws IOException { + T recipe = (T) recipeObject; + + writer.name("name").value(recipe.name); + + if(this.inputItemLimit() > 0 && recipe.inputItem != null) { + writer.name("inputItem").beginArray(); + for(AStack stack : recipe.inputItem) this.writeAStack(stack, writer); + writer.endArray(); + } + + if(this.inputFluidLimit() > 0 && recipe.inputFluid != null) { + writer.name("inputFluid").beginArray(); + for(FluidStack stack : recipe.inputFluid) this.writeFluidStack(stack, writer); + writer.endArray(); + } + + if(this.outputItemLimit() > 0 && recipe.outputItem != null) { + writer.name("outputItem").beginArray(); + for(IOutput stack : recipe.outputItem) stack.serialize(writer); + writer.endArray(); + } + + if(this.outputFluidLimit() > 0 && recipe.outputFluid != null) { + writer.name("outputFluid").beginArray(); + for(FluidStack stack : recipe.outputFluid) this.writeFluidStack(stack, writer); + writer.endArray(); + } + + if(this.hasDuration()) writer.name("duration").value(recipe.duration); + if(this.hasPower()) writer.name("power").value(recipe.power); + + if(recipe.writeIcon) { + writer.name("icon"); + this.writeItemStack(recipe.icon, writer); + } + + if(recipe.customLocalization) writer.name("named").value(true); + + writeExtraData(recipe, writer); + } + + public void writeExtraData(T recipe, JsonWriter writer) { } + + public IOutput[] readOutputArray(JsonArray array) { + IOutput[] output = new IOutput[array.size()]; + int index = 0; + + for(JsonElement element : array) { + JsonArray arrayElement = element.getAsJsonArray(); + String type = arrayElement.get(0).getAsString(); + if("single".equals(type)) { + ChanceOutput co = new ChanceOutput(); + co.deserialize(arrayElement); + output[index] = co; + } else if("multi".equals(type)) { + ChanceOutputMulti com = new ChanceOutputMulti(); + com.deserialize(arrayElement); + output[index] = com; + } else { + throw new IllegalArgumentException("Invalid IOutput type '" + type + "', expected 'single' or 'multi' for recipe " + array.toString()); + } + index++; + } + + return output; + } + + /////////////// + /// CLASSES /// + /////////////// + public static interface IOutput { + /** true for ChanceOutputMulti with a poolsize >1 */ + public boolean possibleMultiOutput(); + /** Decides an output, returns a copy of the held result */ + public ItemStack collapse(); + /** Returns an itemstack only if possibleMultiOutput is false, null otherwise */ + public ItemStack getSingle(); + public ItemStack[] getAllPossibilities(); + public void serialize(JsonWriter writer) throws IOException; + public void deserialize(JsonArray array); + public String[] getLabel(); + } + + /** A chance output, produces either an ItemStack or null */ + public static class ChanceOutput extends WeightedRandom.Item implements IOutput { + + // a weight of 0 means this output is not part of a weighted output + + public ItemStack stack; + public float chance = 1F; + + public ChanceOutput() { super(0); } // for deserialization + public ChanceOutput(ItemStack stack) { this(stack, 1F, 0); } + public ChanceOutput(ItemStack stack, int weight) { this(stack, 1F, weight); } + public ChanceOutput(ItemStack stack, float chance) { this(stack, chance, 0); } + public ChanceOutput(ItemStack stack, float chance, int weight) { + super(weight); + this.stack = stack; + this.chance = chance; + } + + @Override + public ItemStack collapse() { + if(this.chance >= 1F) return getSingle().copy(); + return RNG.nextFloat() <= chance ? getSingle().copy() : null; + } + + @Override public ItemStack getSingle() { return this.stack; } + @Override public boolean possibleMultiOutput() { return false; } + @Override public ItemStack[] getAllPossibilities() { return new ItemStack[] {getSingle()}; } + + @Override + public void serialize(JsonWriter writer) throws IOException { + boolean standardStack = chance >= 1 && itemWeight == 0; + + writer.beginArray(); + writer.setIndent(""); + + if(itemWeight == 0) writer.value("single"); + SerializableRecipe.writeItemStack(stack, writer); + writer.setIndent(""); + + if(!standardStack) { + writer.value(chance); + if(itemWeight > 0) writer.value(itemWeight); + } + + writer.endArray(); + writer.setIndent(" "); + } + + @Override + public void deserialize(JsonArray array) { + + if(array.get(0).isJsonPrimitive()) { // "single" tag, don't apply weight + this.stack = SerializableRecipe.readItemStack(array.get(1).getAsJsonArray()); + if(array.size() > 2) this.chance = array.get(2).getAsFloat(); + } else { // hopefully an array, therefore a weighted result + this.stack = SerializableRecipe.readItemStack(array.get(0).getAsJsonArray()); + if(array.size() > 1) this.chance = array.get(1).getAsFloat(); + if(array.size() > 2) this.itemWeight = array.get(2).getAsInt(); + } + } + + @Override + public String[] getLabel() { + return new String[] {EnumChatFormatting.GRAY + "" + this.stack.stackSize + "x " + this.stack.getDisplayName() + (this.chance >= 1 ? "" : " (" + (int)(this.chance * 1000) / 10F + "%)")}; + } + } + + /** Multiple choice chance output, produces a ChanceOutput chosen randomly by weight */ + public static class ChanceOutputMulti implements IOutput { + + public List pool = new ArrayList(); + + @Override public ItemStack collapse() { return ((ChanceOutput) WeightedRandom.getRandomItem(RNG, pool)).collapse(); } + @Override public boolean possibleMultiOutput() { return pool.size() > 1; } + @Override public ItemStack getSingle() { return possibleMultiOutput() ? null : pool.get(0).getSingle(); } + + @Override public ItemStack[] getAllPossibilities() { + ItemStack[] outputs = new ItemStack[pool.size()]; + for(int i = 0; i < outputs.length; i++) outputs[i] = pool.get(i).getAllPossibilities()[0]; + return outputs; + } + + @Override + public void serialize(JsonWriter writer) throws IOException { + writer.beginArray(); + writer.value("multi"); + for(ChanceOutput output : pool) output.serialize(writer); + writer.endArray(); + } + + @Override + public void deserialize(JsonArray array) { + for(JsonElement element : array) { + ChanceOutput output = new ChanceOutput(); + output.deserialize(element.getAsJsonArray()); + pool.add(output); + } + } + + @Override + public String[] getLabel() { + String[] label = new String[pool.size() + 1]; + label[0] = "One of:"; + int totalWeight = WeightedRandom.getTotalWeight(pool); + for(int i = 1; i < label.length; i++) { + ChanceOutput output = pool.get(i - 1); + float chance = (float) output.itemWeight / (float) totalWeight * output.chance; + label[i] = " " + EnumChatFormatting.GRAY + output.stack.stackSize + "x " + output.stack.getDisplayName() + " (" + (int)(chance * 1000F) / 10F + "%)"; + } + return label; + } + } +} diff --git a/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java b/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java index 807c78765..f633298f1 100644 --- a/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java +++ b/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java @@ -1,15 +1,12 @@ package com.hbm.inventory.recipes.loader; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; +import java.io.*; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Map; import com.google.gson.Gson; import com.google.gson.JsonArray; @@ -24,23 +21,30 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.material.MatDistribution; import com.hbm.inventory.recipes.*; +import com.hbm.inventory.recipes.anvil.AnvilRecipes; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; import com.hbm.util.Tuple.Pair; +import api.hbm.recipe.IRecipeRegisterListener; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; //the anti-spaghetti. this class provides so much functionality and saves so much time, i just love you, SerializableRecipe <3 public abstract class SerializableRecipe { - + public static final Gson gson = new Gson(); public static List recipeHandlers = new ArrayList(); - + public static List additionalListeners = new ArrayList(); + + public static Map recipeSyncHandlers = new HashMap(); + + public boolean modified = false; + /* * INIT */ - + public static void registerAllHandlers() { recipeHandlers.add(new PressRecipes()); recipeHandlers.add(new BlastFurnaceRecipes()); @@ -58,6 +62,7 @@ public abstract class SerializableRecipe { recipeHandlers.add(new LiquefactionRecipes()); recipeHandlers.add(new SolidificationRecipes()); recipeHandlers.add(new CokerRecipes()); + recipeHandlers.add(new PyroOvenRecipes()); recipeHandlers.add(new BreederRecipes()); recipeHandlers.add(new CyclotronRecipes()); recipeHandlers.add(new HadronRecipes()); @@ -68,68 +73,107 @@ public abstract class SerializableRecipe { recipeHandlers.add(new ElectrolyserFluidRecipes()); recipeHandlers.add(new ElectrolyserMetalRecipes()); recipeHandlers.add(new ArcWelderRecipes()); + recipeHandlers.add(new RotaryFurnaceRecipes()); recipeHandlers.add(new ExposureChamberRecipes()); + recipeHandlers.add(new ParticleAcceleratorRecipes()); + recipeHandlers.add(new AmmoPressRecipes()); recipeHandlers.add(new AssemblerRecipes()); + //AFTER Assembler + recipeHandlers.add(new AnvilRecipes()); + recipeHandlers.add(new PedestalRecipes()); + //GENERIC + recipeHandlers.add(AssemblyMachineRecipes.INSTANCE); + recipeHandlers.add(ChemicalPlantRecipes.INSTANCE); + recipeHandlers.add(new MatDistribution()); recipeHandlers.add(new CustomMachineRecipes()); //AFTER MatDistribution recipeHandlers.add(new ArcFurnaceRecipes()); } - + public static void initialize() { File recDir = new File(MainRegistry.configDir.getAbsolutePath() + File.separatorChar + "hbmRecipes"); - + if(!recDir.exists()) { if(!recDir.mkdir()) { throw new IllegalStateException("Unable to make recipe directory " + recDir.getAbsolutePath()); } } - + File info = new File(recDir.getAbsolutePath() + File.separatorChar + "REMOVE UNDERSCORE TO ENABLE RECIPE LOADING - RECIPES WILL RESET TO DEFAULT OTHERWISE"); try { info.createNewFile(); } catch(IOException e) { } - + MainRegistry.logger.info("Starting recipe init!"); - + for(SerializableRecipe recipe : recipeHandlers) { - + recipe.deleteRecipes(); - + File recFile = new File(recDir.getAbsolutePath() + File.separatorChar + recipe.getFileName()); - if(recFile.exists() && recFile.isFile()) { + if(recipeSyncHandlers.containsKey(recipe.getFileName())) { + MainRegistry.logger.info("Reading synced recipe file " + recipe.getFileName()); + InputStream stream = recipeSyncHandlers.get(recipe.getFileName()); + + try { + stream.reset(); + Reader reader = new InputStreamReader(stream); + recipe.readRecipeStream(reader); + recipe.modified = true; + } catch(IOException ex) { + MainRegistry.logger.error("Failed to reset synced recipe stream", ex); + } + } else if(recFile.exists() && recFile.isFile()) { MainRegistry.logger.info("Reading recipe file " + recFile.getName()); recipe.readRecipeFile(recFile); + recipe.modified = true; } else { MainRegistry.logger.info("No recipe file found, registering defaults for " + recipe.getFileName()); recipe.registerDefaults(); - + + for(IRecipeRegisterListener listener : additionalListeners) { + listener.onRecipeLoad(recipe.getClass().getSimpleName()); + } + File recTemplate = new File(recDir.getAbsolutePath() + File.separatorChar + "_" + recipe.getFileName()); MainRegistry.logger.info("Writing template file " + recTemplate.getName()); recipe.writeTemplateFile(recTemplate); + recipe.modified = false; } - + recipe.registerPost(); } - + MainRegistry.logger.info("Finished recipe init!"); } + public static void receiveRecipes(String filename, byte[] data) { + recipeSyncHandlers.put(filename, new ByteArrayInputStream(data)); + } + + public static void clearReceivedRecipes() { + boolean hasCleared = !recipeSyncHandlers.isEmpty(); + recipeSyncHandlers.clear(); + + if(hasCleared) initialize(); + } + /* * ABSTRACT */ - + /** The machine's (or process') name used for the recipe file */ public abstract String getFileName(); /** Return the list object holding all the recipes, usually an ArrayList or HashMap */ public abstract Object getRecipeObject(); /** Will use the supplied JsonElement (usually casts to JsonArray) from the over arching recipe array and adds the recipe to the recipe list object */ public abstract void readRecipe(JsonElement recipe); - /** Is given a single recipe from the recipe list object (a wrapper, Tuple, array, HashMap Entry, etc) and writes it to the current ongoing GSON stream + /** Is given a single recipe from the recipe list object (a wrapper, Tuple, array, HashMap Entry, etc) and writes it to the current ongoing GSON stream * @throws IOException */ public abstract void writeRecipe(Object recipe, JsonWriter writer) throws IOException; /** Registers the default recipes */ public abstract void registerDefaults(); - /** Deletes all existing recipes, currenly unused */ + /** Deletes all existing recipes, currently unused */ public abstract void deleteRecipes(); /** A routine called after registering all recipes, whether it's a template or not. Good for IMC functionality. */ public void registerPost() { } @@ -137,45 +181,45 @@ public abstract class SerializableRecipe { public String getComment() { return null; } - + /* * JSON R/W WRAPPERS */ - + public void writeTemplateFile(File template) { - + try { /* Get the recipe list object */ Object recipeObject = this.getRecipeObject(); List recipeList = new ArrayList(); - + /* Try to pry all recipes from our list */ if(recipeObject instanceof Collection) { recipeList.addAll((Collection) recipeObject); - + } else if(recipeObject instanceof HashMap) { recipeList.addAll(((HashMap) recipeObject).entrySet()); } - + if(recipeList.isEmpty()) throw new IllegalStateException("Error while writing recipes for " + this.getClass().getSimpleName() + ": Recipe list is either empty or in an unsupported format!"); - + JsonWriter writer = new JsonWriter(new FileWriter(template)); writer.setIndent(" "); //pretty formatting writer.beginObject(); //initial '{' - + if(this.getComment() != null) { writer.name("comment").value(this.getComment()); } - + writer.name("recipes").beginArray(); //all recipes are stored in an array called "recipes" - + for(Object recipe : recipeList) { writer.beginObject(); //begin object for a single recipe this.writeRecipe(recipe, writer); //serialize here writer.endObject(); //end recipe object } - + writer.endArray(); //end recipe array writer.endObject(); //final '}' writer.close(); @@ -183,22 +227,25 @@ public abstract class SerializableRecipe { ex.printStackTrace(); } } - + public void readRecipeFile(File file) { - try { - JsonObject json = gson.fromJson(new FileReader(file), JsonObject.class); - JsonArray recipes = json.get("recipes").getAsJsonArray(); - for(JsonElement recipe : recipes) { - this.readRecipe(recipe); - } + readRecipeStream(new FileReader(file)); } catch(FileNotFoundException ex) { } } - + + public void readRecipeStream(Reader reader) { + JsonObject json = gson.fromJson(reader, JsonObject.class); + JsonArray recipes = json.get("recipes").getAsJsonArray(); + for(JsonElement recipe : recipes) { + if(recipe != null) this.readRecipe(recipe); + } + } + /* * JSON IO UTIL */ - + public static AStack readAStack(JsonArray array) { try { String type = array.get(0).getAsString(); @@ -216,7 +263,7 @@ public abstract class SerializableRecipe { MainRegistry.logger.error("Error reading stack array " + array.toString()); return new ComparableStack(ModItems.nothing); } - + public static AStack[] readAStackArray(JsonArray array) { try { AStack[] items = new AStack[array.size()]; @@ -226,7 +273,7 @@ public abstract class SerializableRecipe { MainRegistry.logger.error("Error reading stack array " + array.toString()); return new AStack[0]; } - + public static void writeAStack(AStack astack, JsonWriter writer) throws IOException { writer.beginArray(); writer.setIndent(""); @@ -246,7 +293,7 @@ public abstract class SerializableRecipe { writer.endArray(); writer.setIndent(" "); } - + public static ItemStack readItemStack(JsonArray array) { try { Item item = (Item) Item.itemRegistry.getObject(array.get(0).getAsString()); @@ -257,7 +304,7 @@ public abstract class SerializableRecipe { MainRegistry.logger.error("Error reading stack array " + array.toString() + " - defaulting to NOTHING item!"); return new ItemStack(ModItems.nothing); } - + public static Pair readItemStackChance(JsonArray array) { try { Item item = (Item) Item.itemRegistry.getObject(array.get(0).getAsString()); @@ -269,7 +316,7 @@ public abstract class SerializableRecipe { MainRegistry.logger.error("Error reading stack array " + array.toString() + " - defaulting to NOTHING item!"); return new Pair(new ItemStack(ModItems.nothing), 1F); } - + public static ItemStack[] readItemStackArray(JsonArray array) { try { ItemStack[] items = new ItemStack[array.size()]; @@ -279,7 +326,7 @@ public abstract class SerializableRecipe { MainRegistry.logger.error("Error reading stack array " + array.toString()); return new ItemStack[0]; } - + public static Pair[] readItemStackArrayChance(JsonArray array) { try { Pair[] items = new Pair[array.size()]; @@ -289,7 +336,7 @@ public abstract class SerializableRecipe { MainRegistry.logger.error("Error reading stack array " + array.toString()); return new Pair[0]; } - + public static void writeItemStack(ItemStack stack, JsonWriter writer) throws IOException { writer.beginArray(); writer.setIndent(""); @@ -299,7 +346,7 @@ public abstract class SerializableRecipe { writer.endArray(); writer.setIndent(" "); } - + public static void writeItemStackChance(Pair stack, JsonWriter writer) throws IOException { writer.beginArray(); writer.setIndent(""); @@ -310,7 +357,7 @@ public abstract class SerializableRecipe { writer.endArray(); writer.setIndent(" "); } - + public static FluidStack readFluidStack(JsonArray array) { try { FluidType type = Fluids.fromName(array.get(0).getAsString()); @@ -321,7 +368,7 @@ public abstract class SerializableRecipe { MainRegistry.logger.error("Error reading fluid array " + array.toString()); return new FluidStack(Fluids.NONE, 0); } - + public static FluidStack[] readFluidArray(JsonArray array) { try { FluidStack[] fluids = new FluidStack[array.size()]; @@ -331,7 +378,7 @@ public abstract class SerializableRecipe { MainRegistry.logger.error("Error reading fluid array " + array.toString()); return new FluidStack[0]; } - + public static void writeFluidStack(FluidStack stack, JsonWriter writer) throws IOException { writer.beginArray(); writer.setIndent(""); @@ -341,12 +388,12 @@ public abstract class SerializableRecipe { writer.endArray(); writer.setIndent(" "); } - + public static boolean matchesIngredients(ItemStack[] inputs, AStack[] recipe) { List recipeList = new ArrayList(); for(AStack ingredient : recipe) recipeList.add(ingredient); - + for(int i = 0; i < inputs.length; i++) { ItemStack inputStack = inputs[i]; diff --git a/src/main/java/com/hbm/itempool/ItemPool.java b/src/main/java/com/hbm/itempool/ItemPool.java index 0d4fd2d11..b9b537d43 100644 --- a/src/main/java/com/hbm/itempool/ItemPool.java +++ b/src/main/java/com/hbm/itempool/ItemPool.java @@ -25,6 +25,7 @@ public class ItemPool { ItemPoolsRedRoom.init(); ItemPoolsSatellite.init(); ItemPoolsPile.init(); + ItemPoolsC130.init(); } public static HashMap pools = new HashMap(); @@ -65,6 +66,10 @@ public class ItemPool { return pool.pool; } + public static ItemStack getStack(String pool, Random rand) { + return getStack(ItemPool.getPool(pool), rand); + } + public static ItemStack getStack(WeightedRandomChestContent[] pool, Random rand) { WeightedRandomChestContent weighted = (WeightedRandomChestContent) WeightedRandom.getRandomItem(rand, pool); ItemStack stack = weighted.theItemId.copy(); diff --git a/src/main/java/com/hbm/itempool/ItemPoolsC130.java b/src/main/java/com/hbm/itempool/ItemPoolsC130.java new file mode 100644 index 000000000..c39fa9dbe --- /dev/null +++ b/src/main/java/com/hbm/itempool/ItemPoolsC130.java @@ -0,0 +1,61 @@ +package com.hbm.itempool; + +import static com.hbm.lib.HbmChestContents.weighted; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; + +import net.minecraft.util.WeightedRandomChestContent; + +public class ItemPoolsC130 { + + public static final String POOL_SUPPLIES = "POOL_SUPPLIES"; + public static final String POOL_WEAPONS = "POOL_WEAPONS"; + public static final String POOL_AMMO = "POOL_AMMO"; + + + public static void init() { + + new ItemPool(POOL_SUPPLIES) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.definitelyfood, 0, 3, 10, 25), + weighted(ModItems.syringe_metal_stimpak, 0, 1, 3, 10), + weighted(ModItems.pill_iodine, 0, 1, 2, 2), + weighted(ModItems.canister_full, Fluids.DIESEL.getID(), 1, 4, 5), + weighted(ModBlocks.machine_diesel, 0, 1, 1, 1), + weighted(ModItems.geiger_counter, 0, 1, 1, 2), + weighted(ModItems.med_bag, 0, 1, 1, 3), + weighted(ModItems.radaway, 0, 1, 5, 10), + }; + }}; + + new ItemPool(POOL_WEAPONS) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.gun_light_revolver, 0, 1, 1, 10), + weighted(ModItems.gun_henry, 0, 1, 1, 10), + weighted(ModItems.gun_maresleg, 0, 1, 1, 10), + weighted(ModItems.gun_greasegun, 0, 1, 1, 10), + weighted(ModItems.gun_carbine, 0, 1, 1, 5), + weighted(ModItems.gun_heavy_revolver, 0, 1, 1, 5), + weighted(ModItems.gun_panzerschreck, 0, 1, 1, 2), + weighted(ModItems.gun_double_barrel, 0, 1, 1, 1), + }; + }}; + + new ItemPool(POOL_AMMO) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.ammo_standard, EnumAmmo.M357_SP.ordinal(), 12, 12, 10), + weighted(ModItems.ammo_standard, EnumAmmo.M357_FMJ.ordinal(), 6, 6, 10), + weighted(ModItems.ammo_standard, EnumAmmo.M44_SP.ordinal(), 12, 12, 5), + weighted(ModItems.ammo_standard, EnumAmmo.M44_FMJ.ordinal(), 6, 6, 5), + weighted(ModItems.ammo_standard, EnumAmmo.P9_SP.ordinal(), 12, 12, 10), + weighted(ModItems.ammo_standard, EnumAmmo.P9_FMJ.ordinal(), 6, 6, 10), + weighted(ModItems.ammo_standard, EnumAmmo.R762_SP.ordinal(), 6, 6, 5), + weighted(ModItems.ammo_standard, EnumAmmo.G12_BP.ordinal(), 6, 6, 10), + weighted(ModItems.ammo_standard, EnumAmmo.ROCKET_HE.ordinal(), 1, 1, 3), + }; + }}; + } +} diff --git a/src/main/java/com/hbm/itempool/ItemPoolsComponent.java b/src/main/java/com/hbm/itempool/ItemPoolsComponent.java index 05bfdeb52..7bbeea0e0 100644 --- a/src/main/java/com/hbm/itempool/ItemPoolsComponent.java +++ b/src/main/java/com/hbm/itempool/ItemPoolsComponent.java @@ -3,10 +3,12 @@ package com.hbm.itempool; import static com.hbm.lib.HbmChestContents.weighted; import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.material.Mats; import com.hbm.items.ItemEnums.EnumCokeType; import com.hbm.items.machine.ItemCircuit.EnumCircuitType; import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemRTGPelletDepleted; import com.hbm.items.tool.ItemBlowtorch; import net.minecraft.init.Items; @@ -22,9 +24,13 @@ public class ItemPoolsComponent { public static final String POOL_SOLID_FUEL = "POOL_SOLID_FUEL"; public static final String POOL_VAULT_LAB = "POOL_VAULT_LAB"; public static final String POOL_VAULT_LOCKERS = "POOL_VAULT_LOCKERS"; - + public static final String POOL_METEOR_SAFE = "POOL_METEOR_SAFE"; + public static final String POOL_OIL_RIG = "POOL_OIL_RIG"; + public static final String POOL_RTG = "POOL_RTG"; + public static final String POOL_REPAIR_MATERIALS = "POOL_REPAIR_MATERIALS"; + public static void init() { - + //machine parts new ItemPool(POOL_MACHINE_PARTS) {{ this.pool = new WeightedRandomChestContent[] { @@ -47,7 +53,7 @@ public class ItemPoolsComponent { weighted(ModItems.blade_titanium, 0, 1, 8, 1) }; }}; - + //fuel isotopes found in bunkers and labs new ItemPool(POOL_NUKE_FUEL) {{ this.pool = new WeightedRandomChestContent[] { @@ -68,7 +74,7 @@ public class ItemPoolsComponent { weighted(ModItems.screwdriver, 0, 1, 1, 2) }; }}; - + //missile parts found in silos new ItemPool(POOL_SILO) {{ this.pool = new WeightedRandomChestContent[] { @@ -77,7 +83,6 @@ public class ItemPoolsComponent { weighted(ModItems.gas_mask_m65, 0, 1, 1, 5), weighted(ModItems.battery_advanced, 0, 1, 1, 5), weighted(ModItems.designator, 0, 1, 1, 5), - weighted(ModItems.crate_caller, 0, 1, 1, 1), weighted(ModItems.thruster_small, 0, 1, 1, 5), weighted(ModItems.thruster_medium, 0, 1, 1, 4), weighted(ModItems.fuel_tank_small, 0, 1, 1, 5), @@ -87,7 +92,7 @@ public class ItemPoolsComponent { weighted(ModItems.bottle_nuka, 0, 1, 3, 10) }; }}; - + //low quality items from offices in chests new ItemPool(POOL_OFFICE_TRASH) {{ this.pool = new WeightedRandomChestContent[] { @@ -106,7 +111,7 @@ public class ItemPoolsComponent { weighted(ModBlocks.deco_computer, 0, 1, 1, 1) }; }}; - + //things found in various filing cabinets, paper, books, etc new ItemPool(POOL_FILING_CABINET) {{ this.pool = new WeightedRandomChestContent[] { @@ -121,7 +126,7 @@ public class ItemPoolsComponent { weighted(ModItems.ink, 0, 1, 1, 1) }; }}; - + //solid fuels from bunker power rooms new ItemPool(POOL_SOLID_FUEL) {{ this.pool = new WeightedRandomChestContent[] { @@ -133,7 +138,7 @@ public class ItemPoolsComponent { weighted(ModItems.niter, 0, 1, 3, 1) }; }}; - + //various lab related items from bunkers new ItemPool(POOL_VAULT_LAB) {{ this.pool = new WeightedRandomChestContent[] { @@ -154,7 +159,7 @@ public class ItemPoolsComponent { weighted(ModItems.powder_boron, 0, 1, 1, 1) }; }}; - + //personal items and gear from vaults new ItemPool(POOL_VAULT_LOCKERS) {{ this.pool = new WeightedRandomChestContent[] { @@ -182,5 +187,57 @@ public class ItemPoolsComponent { weighted(Items.experience_bottle, 0, 1, 3, 1) }; }}; + + // Black Book safe in meteor dungeons + new ItemPool(POOL_METEOR_SAFE) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.book_of_, 0, 1, 1, 1), + weighted(ModItems.stamp_book, 0, 1, 1, 1), + weighted(ModItems.stamp_book, 1, 1, 1, 1), + weighted(ModItems.stamp_book, 2, 1, 1, 1), + weighted(ModItems.stamp_book, 3, 1, 1, 1), + weighted(ModItems.stamp_book, 4, 1, 1, 1), + weighted(ModItems.stamp_book, 5, 1, 1, 1), + weighted(ModItems.stamp_book, 6, 1, 1, 1), + weighted(ModItems.stamp_book, 7, 1, 1, 1), + }; + }}; + + new ItemPool(POOL_OIL_RIG) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.oil_detector, 0, 1, 1, 1), + weighted(ModItems.canister_full, Fluids.OIL.getID(), 1, 4, 5), + weighted(ModBlocks.machine_fraction_tower,0, 0, 1, 1), + weighted(ModBlocks.fraction_spacer,0, 0, 1, 1), + weighted(ModItems.circuit,EnumCircuitType.ANALOG.ordinal(), 1, 4, 1), + weighted(ModItems.circuit, EnumCircuitType.CAPACITOR.ordinal(), 1, 1, 3), + }; + }}; + + new ItemPool(POOL_RTG) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.pellet_rtg_depleted, ItemRTGPelletDepleted.DepletedRTGMaterial.LEAD.ordinal(), 1, 1, 40), + weighted(ModItems.pellet_rtg_weak,0, 0, 1, 1), + }; + }}; + + new ItemPool(POOL_REPAIR_MATERIALS) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.ingot_aluminium, 0, 2, 8, 3), + weighted(ModItems.ingot_steel, 0, 0, 12, 4), + weighted(ModItems.plate_aluminium, 0, 5, 12, 3), + weighted(ModItems.plate_iron, 0, 6, 16, 3), + weighted(ModItems.plate_steel, 0, 2, 12, 2), + weighted(ModItems.ingot_tungsten, 0, 0, 2, 1), + weighted(ModBlocks.deco_aluminium, 0, 12, 24, 4), + weighted(ModBlocks.deco_steel, 0, 5, 12, 2), + weighted(ModBlocks.block_aluminium, 0, 0, 2, 1), + weighted(ModBlocks.block_steel, 0, 0, 1, 1), + weighted(ModItems.bolt, Mats.MAT_STEEL.id, 4, 16, 3), + weighted(ModItems.circuit, EnumCircuitType.VACUUM_TUBE.ordinal(), 1, 2, 4), + weighted(ModItems.circuit, EnumCircuitType.ANALOG.ordinal(), 1, 3, 5), + weighted(ModItems.circuit, EnumCircuitType.CAPACITOR.ordinal(), 1, 1, 3), + }; + }}; } } diff --git a/src/main/java/com/hbm/itempool/ItemPoolsLegacy.java b/src/main/java/com/hbm/itempool/ItemPoolsLegacy.java index 52ba8708d..ef3bc5569 100644 --- a/src/main/java/com/hbm/itempool/ItemPoolsLegacy.java +++ b/src/main/java/com/hbm/itempool/ItemPoolsLegacy.java @@ -2,12 +2,12 @@ package com.hbm.itempool; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.material.Mats; +import com.hbm.items.ItemEnums.EnumCasingType; import com.hbm.items.ModItems; -import com.hbm.items.ItemAmmoEnums.Ammo357Magnum; -import com.hbm.items.ItemAmmoEnums.AmmoFatman; import com.hbm.items.machine.ItemBreedingRod.BreedingRodType; import com.hbm.items.machine.ItemCircuit.EnumCircuitType; import com.hbm.items.machine.ItemZirnoxRod.EnumZirnoxType; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import static com.hbm.lib.HbmChestContents.*; @@ -43,13 +43,14 @@ public class ItemPoolsLegacy { weighted(ModItems.ingot_beryllium, 0, 1, 2, 4), weighted(ModItems.ingot_titanium, 0, 1, 1, 3), weighted(ModItems.circuit, EnumCircuitType.VACUUM_TUBE.ordinal(), 1, 1, 5), - weighted(ModItems.gun_revolver, 0, 1, 1, 3), - weighted(ModItems.ammo_357, Ammo357Magnum.LEAD.ordinal(), 2, 6, 4), + weighted(ModItems.gun_light_revolver, 0, 1, 1, 3), + weighted(ModItems.ammo_standard, EnumAmmo.M357_SP.ordinal(), 2, 6, 4), + weighted(ModItems.ammo_standard, EnumAmmo.G12_BP.ordinal(), 3, 6, 3), + weighted(ModItems.ammo_standard, EnumAmmo.G26_FLARE_SUPPLY.ordinal(), 1, 1, 1), weighted(ModItems.gun_kit_1, 0, 1, 3, 4), - weighted(ModItems.gun_lever_action, 0, 1, 1, 1), - weighted(ModItems.ammo_20gauge, 0, 2, 6, 3), - weighted(ModItems.casing_9, 0, 4, 10, 3), - weighted(ModItems.casing_50, 0, 4, 10, 3), + weighted(ModItems.gun_maresleg, 0, 1, 1, 1), + weighted(ModItems.casing, EnumCasingType.SMALL.ordinal(), 4, 10, 3), + weighted(ModItems.casing, EnumCasingType.SHOTSHELL.ordinal(), 4, 10, 3), weighted(ModItems.cordite, 0, 4, 6, 5), weighted(ModItems.battery_generic, 0, 1, 1, 4), weighted(ModItems.battery_advanced, 0, 1, 1, 2), @@ -106,12 +107,10 @@ public class ItemPoolsLegacy { weighted(ModItems.circuit, EnumCircuitType.CHIP.ordinal(), 1, 1, 2), weighted(ModItems.gun_kit_1, 0, 1, 3, 6), weighted(ModItems.gun_kit_2, 0, 1, 2, 3), - weighted(ModItems.gun_rpg, 0, 1, 1, 4), - weighted(ModItems.ammo_rocket, 0, 1, 4, 5), - weighted(ModItems.gun_fatman, 0, 1, 1, 1), - weighted(ModItems.ammo_nuke, AmmoFatman.SAFE.ordinal(), 1, 2, 1), - weighted(ModItems.ammo_nuke, AmmoFatman.LOW.ordinal(), 1, 2, 1), - weighted(ModItems.ammo_nuke, AmmoFatman.PUMPKIN.ordinal(), 1, 2, 1), + weighted(ModItems.gun_panzerschreck, 0, 1, 1, 4), + weighted(ModItems.ammo_standard, EnumAmmo.ROCKET_HE.ordinal(), 1, 4, 5), + weighted(ModItems.ammo_standard, EnumAmmo.G26_FLARE_SUPPLY.ordinal(), 1, 1, 5), + weighted(ModItems.ammo_standard, EnumAmmo.G26_FLARE_WEAPON.ordinal(), 1, 1, 3), weighted(ModItems.grenade_nuclear, 0, 1, 1, 2), weighted(ModItems.grenade_smart, 0, 1, 3, 3), weighted(ModItems.grenade_mirv, 0, 1, 1, 2), @@ -120,7 +119,6 @@ public class ItemPoolsLegacy { weighted(ModItems.battery_advanced_cell, 0, 1, 1, 2), weighted(ModItems.battery_schrabidium, 0, 1, 1, 1), weighted(ModItems.syringe_awesome, 0, 1, 1, 1), - weighted(ModItems.crate_caller, 0, 1, 1, 3), weighted(ModItems.fusion_core, 0, 1, 1, 4), weighted(ModItems.bottle_nuka, 0, 1, 3, 6), weighted(ModItems.bottle_quantum, 0, 1, 1, 3), @@ -134,7 +132,8 @@ public class ItemPoolsLegacy { weighted(ModItems.gas_mask_filter, 0, 1, 1, 4), weighted(ModItems.journal_pip, 0, 1, 1, 1), weighted(ModItems.journal_bj, 0, 1, 1, 1), - weighted(ModItems.launch_code_piece, 0, 1, 1, 1) + weighted(ModItems.launch_code_piece, 0, 1, 1, 1), + weighted(ModItems.gun_double_barrel, 0, 1, 1, 1), }; }}; @@ -194,20 +193,17 @@ public class ItemPoolsLegacy { weighted(ModItems.t45_boots, 0, 1, 1, 15), weighted(ModItems.t45_kit, 0, 1, 1, 3), weighted(ModItems.fusion_core, 0, 1, 1, 10), - weighted(ModItems.gun_revolver, 0, 1, 1, 4), - weighted(ModItems.ammo_357, Ammo357Magnum.LEAD.ordinal(), 1, 24, 4), + weighted(ModItems.gun_light_revolver, 0, 1, 1, 4), weighted(ModItems.gun_kit_1, 0, 2, 3, 4), - weighted(ModItems.gun_rpg, 0, 1, 1, 3), - weighted(ModItems.ammo_rocket, 0, 1, 6, 3), + weighted(ModItems.ammo_standard, EnumAmmo.M357_FMJ.ordinal(), 1, 24, 4), + weighted(ModItems.ammo_standard, EnumAmmo.G40_HE.ordinal(), 1, 6, 3), + weighted(ModItems.ammo_standard, EnumAmmo.G26_FLARE_WEAPON.ordinal(), 1, 1, 5), weighted(ModItems.rod, BreedingRodType.U235.ordinal(), 1, 1, 2), weighted(ModItems.billet_uranium_fuel, 0, 1, 1, 2), weighted(ModItems.ingot_uranium_fuel, 0, 1, 1, 2), - weighted(ModItems.ammo_nuke, AmmoFatman.SAFE.ordinal(), 1, 2, 1), - weighted(ModItems.gun_fatman, 0, 1, 1, 1), weighted(ModItems.bottle_nuka, 0, 1, 3, 6), weighted(ModItems.bottle_quantum, 0, 1, 1, 3), weighted(ModItems.stealth_boy, 0, 1, 1, 7), - weighted(ModItems.crate_caller, 0, 1, 1, 3), weighted(ModItems.gas_mask_m65, 0, 1, 1, 5), weighted(ModItems.gas_mask_filter, 0, 1, 1, 5), weighted(ModItems.grenade_nuclear, 0, 1, 2, 2), diff --git a/src/main/java/com/hbm/itempool/ItemPoolsPile.java b/src/main/java/com/hbm/itempool/ItemPoolsPile.java index 46bf7adca..ad2a7f3ae 100644 --- a/src/main/java/com/hbm/itempool/ItemPoolsPile.java +++ b/src/main/java/com/hbm/itempool/ItemPoolsPile.java @@ -2,9 +2,9 @@ package com.hbm.itempool; import static com.hbm.lib.HbmChestContents.weighted; -import com.hbm.items.ItemAmmoEnums.Ammo357Magnum; -import com.hbm.items.ItemAmmoEnums.AmmoFatman; +import com.hbm.inventory.material.Mats; import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import net.minecraft.init.Items; import net.minecraft.util.WeightedRandomChestContent; @@ -14,6 +14,13 @@ public class ItemPoolsPile { public static final String POOL_PILE_HIVE = "POOL_PILE_HIVE"; public static final String POOL_PILE_BONES = "POOL_PILE_BONES"; public static final String POOL_PILE_CAPS = "POOL_PILE_CAPS"; + public static final String POOL_PILE_MED_SYRINGE = "POOL_PILE_MED_SYRINGE"; + public static final String POOL_PILE_MED_PILLS = "POOL_PILE_MED_PILLS"; + public static final String POOL_PILE_MAKESHIFT_GUN = "POOL_PILE_MAKESHIFT_GUN"; + public static final String POOL_PILE_MAKESHIFT_WRENCH = "POOL_PILE_MAKESHIFT_WRENCH"; + public static final String POOL_PILE_MAKESHIFT_PLATES = "POOL_PILE_MAKESHIFT_PLATES"; + public static final String POOL_PILE_MAKESHIFT_WIRE = "POOL_PILE_MAKESHIFT_WIRE"; + public static final String POOL_PILE_NUKE_STORAGE = "POOL_PILE_NUKE_STORAGE"; public static void init() { @@ -33,14 +40,12 @@ public class ItemPoolsPile { weighted(ModItems.steel_pickaxe, 0, 1, 1, 5), weighted(ModItems.steel_shovel, 0, 1, 1, 5), //Weapons - weighted(ModItems.gun_lever_action, 0, 1, 1, 5), - weighted(ModItems.gun_bio_revolver, 0, 1, 1, 1), + weighted(ModItems.gun_maresleg, 0, 1, 1, 5), + weighted(ModItems.gun_light_revolver, 0, 1, 1, 1), weighted(ModItems.grenade_if_generic, 0, 1, 2, 5), - weighted(ModItems.ammo_20gauge, 0, 8, 8, 10), - weighted(ModItems.ammo_12gauge, 0, 4, 4, 10), - weighted(ModItems.ammo_357, Ammo357Magnum.LEAD.ordinal(), 6, 12, 10), - weighted(ModItems.ammo_grenade, 0, 1, 1, 2), - weighted(ModItems.ammo_nuke, AmmoFatman.PUMPKIN.ordinal(), 1, 1, 1), + weighted(ModItems.ammo_standard, EnumAmmo.G12.ordinal(), 4, 4, 10), + weighted(ModItems.ammo_standard, EnumAmmo.M357_SP.ordinal(), 6, 12, 10), + weighted(ModItems.ammo_standard, EnumAmmo.G40_HE.ordinal(), 1, 1, 2), //Consumables weighted(ModItems.bottle_nuka, 0, 1, 2, 20), weighted(ModItems.bottle_quantum, 0, 1, 2, 1), @@ -69,5 +74,37 @@ public class ItemPoolsPile { weighted(ModItems.cap_sparkle, 0, 4, 4, 1), }; }}; + + //medicine stashes + new ItemPool(POOL_PILE_MED_SYRINGE) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.syringe_metal_stimpak, 0, 1, 1, 10), + weighted(ModItems.syringe_metal_medx, 0, 1, 1, 5), + weighted(ModItems.syringe_metal_psycho, 0, 1, 1, 5), + }; + }}; + new ItemPool(POOL_PILE_MED_PILLS) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.radaway, 0, 1, 1, 10), + weighted(ModItems.radx, 0, 1, 1, 10), + weighted(ModItems.iv_blood, 0, 1, 1, 15), + weighted(ModItems.siox, 0, 1, 1, 5), + }; + }}; + + //makeshift gun + new ItemPool(POOL_PILE_MAKESHIFT_GUN) {{ this.pool = new WeightedRandomChestContent[] { weighted(ModItems.gun_maresleg, 0, 1, 1, 10) }; }}; + new ItemPool(POOL_PILE_MAKESHIFT_WRENCH) {{ this.pool = new WeightedRandomChestContent[] { weighted(ModItems.wrench, 0, 1, 1, 10) }; }}; + new ItemPool(POOL_PILE_MAKESHIFT_PLATES) {{ this.pool = new WeightedRandomChestContent[] { weighted(ModItems.plate_steel, 0, 1, 1, 10) }; }}; + new ItemPool(POOL_PILE_MAKESHIFT_WIRE) {{ this.pool = new WeightedRandomChestContent[] { weighted(ModItems.wire_fine, Mats.MAT_ALUMINIUM.id, 1, 1, 10) }; }}; + + new ItemPool(POOL_PILE_NUKE_STORAGE) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.ammo_standard, EnumAmmo.NUKE_STANDARD.ordinal(), 1, 1, 50), + weighted(ModItems.ammo_standard, EnumAmmo.NUKE_HIGH.ordinal(), 1, 1, 10), + weighted(ModItems.ammo_standard, EnumAmmo.NUKE_TOTS.ordinal(), 1, 1, 10), + + }; + }}; } } diff --git a/src/main/java/com/hbm/itempool/ItemPoolsRedRoom.java b/src/main/java/com/hbm/itempool/ItemPoolsRedRoom.java index f2de185bb..4b1c88353 100644 --- a/src/main/java/com/hbm/itempool/ItemPoolsRedRoom.java +++ b/src/main/java/com/hbm/itempool/ItemPoolsRedRoom.java @@ -3,13 +3,16 @@ package com.hbm.itempool; import static com.hbm.lib.HbmChestContents.weighted; import com.hbm.blocks.ModBlocks; +import com.hbm.items.ItemEnums.EnumSecretType; import com.hbm.items.ModItems; import net.minecraft.util.WeightedRandomChestContent; public class ItemPoolsRedRoom { - + public static final String POOL_RED_PEDESTAL = "POOL_RED_PEDESTAL"; + public static final String POOL_BLACK_SLAB = "POOL_BLACK_SLAB"; + public static final String POOL_BLACK_PART = "POOL_BLACK_PART"; public static void init() { @@ -27,6 +30,7 @@ public class ItemPoolsRedRoom { weighted(ModItems.heart_container, 0, 1, 1, 10), weighted(ModItems.black_diamond, 0, 1, 1, 10), weighted(ModItems.scrumpy, 0, 1, 1, 10), + weighted(ModItems.wild_p, 0, 1, 1, 5), weighted(ModItems.card_aos, 0, 1, 1, 5), weighted(ModItems.card_qos, 0, 1, 1, 5), @@ -36,7 +40,25 @@ public class ItemPoolsRedRoom { weighted(ModItems.flask_infusion, 0, 1, 1, 5), weighted(ModBlocks.boxcar, 0, 1, 1, 5), weighted(ModItems.book_of_, 0, 1, 1, 5), - weighted(ModItems.gun_revolver_pip, 0, 1, 1, 5) + + weighted(ModItems.gun_hangman, 0, 1, 1, 1), + weighted(ModItems.gun_mas36, 0, 1, 1, 1), + }; + }}; + + //pedestal weapons + new ItemPool(POOL_BLACK_SLAB) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.clay_tablet, 0, 1, 1, 10) + }; + }}; + + //pedestal weapons + new ItemPool(POOL_BLACK_PART) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.item_secret, EnumSecretType.SELENIUM_STEEL.ordinal(), 4, 4, 10), + weighted(ModItems.item_secret, EnumSecretType.CONTROLLER.ordinal(), 1, 1, 10), + weighted(ModItems.item_secret, EnumSecretType.CANISTER.ordinal(), 1, 1, 10), }; }}; } diff --git a/src/main/java/com/hbm/itempool/ItemPoolsSingle.java b/src/main/java/com/hbm/itempool/ItemPoolsSingle.java index 61afecf6b..47c0a9c17 100644 --- a/src/main/java/com/hbm/itempool/ItemPoolsSingle.java +++ b/src/main/java/com/hbm/itempool/ItemPoolsSingle.java @@ -4,8 +4,8 @@ import static com.hbm.lib.HbmChestContents.weighted; import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; -import com.hbm.items.ItemAmmoEnums.AmmoFatman; import com.hbm.items.machine.ItemCircuit.EnumCircuitType; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import net.minecraft.init.Items; import net.minecraft.util.WeightedRandomChestContent; @@ -42,13 +42,13 @@ public class ItemPoolsSingle { new ItemPool(POOL_VAULT_RUSTY) {{ this.pool = new WeightedRandomChestContent[] { weighted(Items.gold_ingot, 0, 3, 14, 1), - weighted(ModItems.gun_uac_pistol, 0, 1, 1, 2), + weighted(ModItems.gun_heavy_revolver, 0, 1, 1, 2), weighted(ModItems.pin, 0, 8, 8, 1), - weighted(ModItems.gun_calamity, 0, 1, 1, 1), + weighted(ModItems.gun_am180, 0, 1, 1, 1), weighted(ModItems.bottle_quantum, 0, 1, 3, 1), weighted(ModItems.ingot_advanced_alloy, 0, 4, 12, 1), - weighted(ModItems.ammo_50bmg, 0, 24, 48, 1), - weighted(ModItems.ammo_45, 0, 48, 64, 2), + weighted(ModItems.ammo_standard, EnumAmmo.BMG50_FMJ.ordinal(), 24, 48, 1), + weighted(ModItems.ammo_standard, EnumAmmo.P9_JHP.ordinal(), 48, 64, 2), weighted(ModItems.circuit, EnumCircuitType.CHIP.ordinal(), 3, 6, 1), weighted(ModItems.gas_mask_m65, 0, 1, 1, 1), weighted(ModItems.grenade_if_he, 0, 1, 1, 1), @@ -63,14 +63,12 @@ public class ItemPoolsSingle { weighted(ModItems.battery_advanced_cell_4, 0, 1, 1, 1), weighted(ModItems.powder_desh_mix, 0, 1, 5, 1), weighted(Items.diamond, 0, 3, 6, 1), - weighted(ModItems.ammo_nuke, 0, 1, 1, 1), + weighted(ModItems.ammo_standard, EnumAmmo.NUKE_STANDARD.ordinal(), 1, 1, 1), weighted(ModItems.ammo_container, 0, 1, 1, 1), weighted(ModItems.grenade_nuclear, 0, 1, 1, 1), weighted(ModItems.grenade_smart, 0, 1, 6, 1), weighted(ModItems.powder_yellowcake, 0, 16, 24, 1), weighted(ModItems.gun_uzi, 0, 1, 1, 1), - weighted(ModItems.gun_uzi_silencer, 0, 1, 1, 1), - weighted(ModItems.clip_uzi, 0, 1, 3, 1), weighted(ModItems.circuit, EnumCircuitType.VACUUM_TUBE.ordinal(), 12, 16, 1), weighted(ModItems.circuit, EnumCircuitType.CHIP.ordinal(), 2, 6, 1) }; @@ -83,16 +81,12 @@ public class ItemPoolsSingle { weighted(ModItems.powder_power, 0, 1, 5, 1), weighted(ModItems.sat_chip, 0, 1, 1, 1), weighted(Items.diamond, 0, 5, 9, 1), - weighted(ModItems.warhead_nuclear, 0, 1, 1, 1), - weighted(ModItems.ammo_nuke, 0, 1, 3, 1), + weighted(ModItems.ammo_standard, EnumAmmo.NUKE_STANDARD.ordinal(), 1, 3, 1), weighted(ModItems.ammo_container, 0, 1, 4, 1), weighted(ModItems.grenade_nuclear, 0, 1, 2, 1), weighted(ModItems.grenade_mirv, 0, 1, 1, 1), weighted(ModItems.powder_yellowcake, 0, 26, 42, 1), - weighted(ModItems.ingot_u235, 0, 3, 6, 1), - weighted(ModItems.gun_fatman, 0, 1, 1, 1), - weighted(ModItems.gun_revolver_pip, 0, 1, 1, 1), - weighted(ModItems.clip_revolver_pip, 0, 2, 4, 1), + weighted(ModItems.gun_heavy_revolver, 0, 1, 1, 1), weighted(ModItems.circuit, EnumCircuitType.CHIP.ordinal(), 18, 32, 1), weighted(ModItems.circuit, EnumCircuitType.BASIC.ordinal(), 6, 12, 1) }; @@ -101,20 +95,12 @@ public class ItemPoolsSingle { new ItemPool(POOL_VAULT_UNBREAKABLE) {{ this.pool = new WeightedRandomChestContent[] { weighted(ModItems.ammo_container, 0, 3, 6, 1), - weighted(ModItems.clip_fatman, 0, 2, 3, 1), - weighted(ModItems.ammo_nuke, AmmoFatman.MIRV.ordinal(), 2, 3, 1), - weighted(ModItems.gun_mirv, 0, 1, 1, 1), - weighted(ModItems.gun_fatman, 0, 1, 1, 1), - weighted(ModItems.gun_proto, 0, 1, 1, 1), - weighted(ModItems.gun_b92, 0, 1, 1, 1), - weighted(ModItems.ingot_combine_steel, 0, 16, 28, 1), - weighted(ModItems.man_core, 0, 1, 1, 1), - weighted(ModItems.boy_kit, 0, 1, 1, 1), - weighted(ModItems.nuke_starter_kit, 0, 1, 1, 1), - weighted(ModItems.weaponized_starblaster_cell, 0, 1, 1, 1), - weighted(ModItems.warhead_mirv, 0, 1, 1, 1), + weighted(ModItems.ammo_standard, EnumAmmo.NUKE_DEMO.ordinal(), 2, 3, 1), + weighted(ModItems.gun_carbine, 0, 1, 1, 1), + weighted(ModItems.ammo_standard, EnumAmmo.R762_DU.ordinal(), 16, 32, 1), + weighted(ModItems.gun_congolake, 0, 1, 1, 1), weighted(ModItems.battery_schrabidium_cell, 0, 1, 1, 1), - weighted(ModItems.powder_nitan_mix, 0, 16, 32, 1) + weighted(ModItems.circuit, EnumCircuitType.ADVANCED.ordinal(), 6, 12, 1) }; }}; diff --git a/src/main/java/com/hbm/items/IEquipReceiver.java b/src/main/java/com/hbm/items/IEquipReceiver.java index 1f0c76ecd..62746e4b0 100644 --- a/src/main/java/com/hbm/items/IEquipReceiver.java +++ b/src/main/java/com/hbm/items/IEquipReceiver.java @@ -1,9 +1,10 @@ package com.hbm.items; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; public interface IEquipReceiver { - public void onEquip(EntityPlayer player); + public void onEquip(EntityPlayer player, ItemStack stack); } diff --git a/src/main/java/com/hbm/items/IKeybindReceiver.java b/src/main/java/com/hbm/items/IKeybindReceiver.java new file mode 100644 index 000000000..7a6204a51 --- /dev/null +++ b/src/main/java/com/hbm/items/IKeybindReceiver.java @@ -0,0 +1,13 @@ +package com.hbm.items; + +import com.hbm.handler.HbmKeybinds.EnumKeybind; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; + +public interface IKeybindReceiver { + + public boolean canHandleKeybind(EntityPlayer player, ItemStack stack, EnumKeybind keybind); + public void handleKeybind(EntityPlayer player, ItemStack stack, EnumKeybind keybind, boolean state); + public default void handleKeybindClient(EntityPlayer player, ItemStack stack, EnumKeybind keybind, boolean state) { } +} diff --git a/src/main/java/com/hbm/items/ISyncButtons.java b/src/main/java/com/hbm/items/ISyncButtons.java deleted file mode 100644 index e06e3e78c..000000000 --- a/src/main/java/com/hbm/items/ISyncButtons.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.hbm.items; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.event.MouseEvent; - -public interface ISyncButtons { - - public boolean canReceiveMouse(EntityPlayer player, ItemStack stack, MouseEvent event, int button, boolean buttonstate); - public void receiveMouse(EntityPlayer player, ItemStack stack, int button, boolean buttonstate); -} diff --git a/src/main/java/com/hbm/items/ItemAmmoEnums.java b/src/main/java/com/hbm/items/ItemAmmoEnums.java index 54ad9f1c6..03b5219e8 100644 --- a/src/main/java/com/hbm/items/ItemAmmoEnums.java +++ b/src/main/java/com/hbm/items/ItemAmmoEnums.java @@ -4,34 +4,9 @@ import java.util.Set; import com.google.common.collect.ImmutableSet; import com.hbm.items.weapon.ItemAmmo.AmmoItemTrait; -import com.hbm.lib.HbmCollection; public class ItemAmmoEnums { - public enum AmmoLunaticSniper implements IAmmoItemEnum { - SABOT("ammo_luna"), - INCENDIARY("ammo_luna_incendiary"), - EXPLOSIVE("ammo_luna_explosive"); - - private final Set traits; - private final String unloc; - - private AmmoLunaticSniper(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - public enum AmmoFireExt implements IAmmoItemEnum { WATER("ammo_fireext"), FOAM("ammo_fireext_foam"), @@ -55,33 +30,7 @@ public class ItemAmmoEnums { return unloc; } } - - public enum AmmoFlamethrower implements IAmmoItemEnum { - DIESEL("ammo_fuel"), - NAPALM("ammo_fuel_napalm", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_RANGE, AmmoItemTrait.CON_HEAVY_WEAR), - PHOSPHORUS("ammo_fuel_phosphorus", AmmoItemTrait.PRO_PHOSPHORUS_SPLASH, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_RANGE, AmmoItemTrait.PRO_RANGE, AmmoItemTrait.PRO_ACCURATE1, AmmoItemTrait.NEU_WARCRIME1, AmmoItemTrait.CON_SING_PROJECTILE, AmmoItemTrait.CON_HEAVY_WEAR), - VAPORIZER("ammo_fuel_vaporizer", AmmoItemTrait.PRO_PHOSPHORUS, AmmoItemTrait.PRO_FLAMES, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_ERASER, AmmoItemTrait.CON_ACCURACY2, AmmoItemTrait.CON_RANGE2, AmmoItemTrait.CON_HEAVY_WEAR, AmmoItemTrait.CON_LING_FIRE), - CHLORINE("ammo_fuel_gas", AmmoItemTrait.PRO_NO_GRAVITY, AmmoItemTrait.PRO_POISON_GAS, AmmoItemTrait.CON_NO_DAMAGE, AmmoItemTrait.CON_NO_FIRE); - - private final Set traits; - private final String unloc; - - private AmmoFlamethrower(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - + public enum AmmoMisc implements IAmmoItemEnum { //LUNA_SNIPER("ammo_lunar", Gun50BMGFactory.getLunaticSabotRound(), AmmoItemTrait.PRO_HEAVY_DAMAGE, AmmoItemTrait.PRO_ACCURATE2, AmmoItemTrait.NEU_HEAVY_METAL), DGK("ammo_dkg"); @@ -105,167 +54,6 @@ public class ItemAmmoEnums { } } - public enum AmmoStinger implements IAmmoItemEnum { - STOCK("ammo_stinger_rocket"), - HE("ammo_stinger_rocket_he", AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.CON_WEAR), - INCENDIARY("ammo_stinger_rocket_incendiary", HbmCollection.IncendiaryType), - NUCLEAR("ammo_stinger_rocket_nuclear", AmmoItemTrait.PRO_NUCLEAR, AmmoItemTrait.CON_SUPER_WEAR), - BONES("ammo_stinger_rocket_bones"); - - private final Set traits; - private final String unloc; - - private AmmoStinger(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - private AmmoStinger(String unloc, Set traits) { - this.traits = traits; - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - - public enum AmmoRocket implements IAmmoItemEnum { - STOCK("ammo_rocket"), - HE("ammo_rocket_he", AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.CON_WEAR), - INCENDIARY("ammo_rocket_incendiary", HbmCollection.IncendiaryType), - EMP("ammo_rocket_emp", AmmoItemTrait.PRO_EMP, AmmoItemTrait.CON_RADIUS), - SLEEK("ammo_rocket_sleek", AmmoItemTrait.PRO_RADIUS_HIGH, AmmoItemTrait.PRO_NO_GRAVITY, AmmoItemTrait.CON_SPEED), - SHRAPNEL("ammo_rocket_shrapnel", AmmoItemTrait.PRO_SHRAPNEL), - GLARE("ammo_rocket_glare", AmmoItemTrait.PRO_SPEED, AmmoItemTrait.PRO_INCENDIARY, AmmoItemTrait.CON_WEAR), - NUCLEAR("ammo_rocket_nuclear", AmmoItemTrait.PRO_NUCLEAR, AmmoItemTrait.CON_SUPER_WEAR, AmmoItemTrait.CON_SPEED), - CHLORINE("ammo_rocket_toxic", AmmoItemTrait.PRO_CHLORINE, AmmoItemTrait.CON_NO_EXPLODE1, AmmoItemTrait.CON_SPEED), - RPC("ammo_rocket_rpc", AmmoItemTrait.PRO_CHAINSAW, AmmoItemTrait.PRO_PENETRATION, AmmoItemTrait.PRO_NO_GRAVITY, AmmoItemTrait.CON_WEAR, AmmoItemTrait.CON_NO_EXPLODE1, AmmoItemTrait.NEU_UHH ), - PHOSPHORUS("ammo_rocket_phosphorus", HbmCollection.PhosphorusTypeSpecial), - CANISTER("ammo_rocket_canister"), - DIGAMMA("ammo_rocket_digamma"); - - private final Set traits; - private final String unloc; - - private AmmoRocket(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - private AmmoRocket(String unloc, Set traits) { - this.traits = traits; - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - - public enum AmmoGrenade implements IAmmoItemEnum { - STOCK("ammo_grenade"), - HE("ammo_grenade_he", AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.CON_WEAR), - INCENDIARY("ammo_grenade_incendiary", AmmoItemTrait.PRO_INCENDIARY, AmmoItemTrait.CON_WEAR), - PHOSPHORUS("ammo_grenade_phosphorus", AmmoItemTrait.PRO_PHOSPHORUS_SPLASH, AmmoItemTrait.NEU_WARCRIME1, AmmoItemTrait.CON_WEAR), - CHLORINE("ammo_grenade_toxic", AmmoItemTrait.PRO_CHLORINE, AmmoItemTrait.CON_NO_EXPLODE1), - SLEEK("ammo_grenade_sleek", AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.NEU_JOLT), - CONCUSSION("ammo_grenade_concussion", AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.CON_NO_EXPLODE2), - FINNED("ammo_grenade_finned", AmmoItemTrait.PRO_GRAVITY, AmmoItemTrait.CON_RADIUS), - NUCLEAR("ammo_grenade_nuclear", AmmoItemTrait.PRO_NUCLEAR, AmmoItemTrait.PRO_RANGE, AmmoItemTrait.CON_HEAVY_WEAR), - TRACER("ammo_grenade_tracer", AmmoItemTrait.NEU_BLANK), - KAMPF("ammo_grenade_kampf", AmmoItemTrait.PRO_ROCKET_PROPELLED, AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.PRO_ACCURATE1, AmmoItemTrait.CON_WEAR), - LEADBURSTER("ammo_grenade_leadburster", AmmoItemTrait.NEU_LEADBURSTER, AmmoItemTrait.CON_NO_EXPLODE1); - - private final Set traits; - private final String unloc; - - private AmmoGrenade(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - - public enum AmmoFatman implements IAmmoItemEnum { - STOCK("ammo_nuke"), - LOW("ammo_nuke_low", AmmoItemTrait.CON_RADIUS), - HIGH("ammo_nuke_high", AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.PRO_FALLOUT), - TOTS("ammo_nuke_tots", AmmoItemTrait.PRO_BOMB_COUNT, AmmoItemTrait.NEU_FUN, AmmoItemTrait.CON_ACCURACY2, AmmoItemTrait.CON_RADIUS, AmmoItemTrait.CON_NO_MIRV), - SAFE("ammo_nuke_safe", AmmoItemTrait.CON_RADIUS, AmmoItemTrait.CON_NO_EXPLODE2), - PUMPKIN("ammo_nuke_pumpkin", AmmoItemTrait.CON_NN), - MIRV("ammo_mirv"), - MIRV_LOW("ammo_mirv_low", AmmoItemTrait.CON_RADIUS), - MIRV_HIGH("ammo_mirv_high", AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.PRO_FALLOUT), - MIRV_SAFE("ammo_mirv_safe", AmmoItemTrait.CON_RADIUS, AmmoItemTrait.CON_NO_EXPLODE2), - MIRV_SPECIAL("ammo_mirv_special"), - BALEFIRE("gun_bf_ammo"), - BARREL("ammo_nuke_barrel"); - - private final Set traits; - private final String unloc; - - private AmmoFatman(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - - public enum AmmoDart implements IAmmoItemEnum { - GPS("ammo_dart"), - NUCLEAR("ammo_dart_nuclear"), - NERF("ammo_dart_nerf"); - - private final Set traits; - private final String unloc; - - private AmmoDart(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - public enum Ammo240Shell implements IAmmoItemEnum { STOCK("ammo_shell"), EXPLOSIVE("ammo_shell_explosive"), @@ -292,480 +80,6 @@ public class ItemAmmoEnums { } } - public enum Ammo9mm implements IAmmoItemEnum { - STOCK("ammo_9mm"), - AP("ammo_9mm_ap", HbmCollection.APType), - DU("ammo_9mm_du", HbmCollection.DUType), - CHLOROPHYTE("ammo_9mm_chlorophyte", HbmCollection.ChlorophyteType), - ROCKET("ammo_9mm_rocket", AmmoItemTrait.PRO_ROCKET, AmmoItemTrait.NEU_UHH); - - private final Set traits; - private final String unloc; - - private Ammo9mm(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - private Ammo9mm(String unloc, Set traits) { - this.traits = traits; - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - - public enum Ammo762NATO implements IAmmoItemEnum { - STOCK("ammo_762"), - AP("ammo_762_ap", HbmCollection.APType), - DU("ammo_762_du", HbmCollection.DUType), - TRACER("ammo_762_tracer", AmmoItemTrait.NEU_TRACER), - PHOSPHORUS("ammo_762_phosphorus", HbmCollection.PhosphorusType), - BLANK("ammo_762_k", AmmoItemTrait.NEU_BLANK); - - private final Set traits; - private final String unloc; - - private Ammo762NATO(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - private Ammo762NATO(String unloc, Set traits) { - this.traits = traits; - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - - public enum Ammo75Bolt implements IAmmoItemEnum { - STOCK("ammo_75bolt"), - INCENDIARY("ammo_75bolt_incendiary"), - HE("ammo_75bolt_he"); - - private final Set traits; - private final String unloc; - - private Ammo75Bolt(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - - public enum Ammo5mm implements IAmmoItemEnum { - STOCK("ammo_5mm"), - EXPLOSIVE("ammo_5mm_explosive", HbmCollection.ExplosiveType), - DU("ammo_5mm_du", HbmCollection.DUType), - STAR("ammo_5mm_star", HbmCollection.StarmetalType), - CHLOROPHYTE("ammo_5mm_chlorophyte", HbmCollection.ChlorophyteType); - - private final Set traits; - private final String unloc; - - private Ammo5mm(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - private Ammo5mm(String unloc, Set traits) { - this.traits = traits; - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - - public enum Ammo556mm implements IAmmoItemEnum { - STOCK("ammo_556"), - GOLD("gun_pm_ammo"), - PHOSPHORUS("ammo_556_phosphorus", HbmCollection.PhosphorusType), - AP("ammo_556_ap", HbmCollection.APType), - DU("ammo_556_du", HbmCollection.DUType), - STAR("ammo_556_star", HbmCollection.StarmetalType), - CHLOROPHYTE("ammo_556_chlorophyte", HbmCollection.ChlorophyteType), - SLEEK("ammo_556_sleek", AmmoItemTrait.NEU_MASKMAN_METEORITE), - TRACER("ammo_556_tracer", AmmoItemTrait.NEU_TRACER), - FLECHETTE("ammo_556_flechette", HbmCollection.FlechetteType), - FLECHETTE_INCENDIARY("ammo_556_flechette_incendiary", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_INCENDIARY, AmmoItemTrait.NEU_LESS_BOUNCY, AmmoItemTrait.CON_WEAR, AmmoItemTrait.CON_PENETRATION), - FLECHETTE_PHOSPHORUS("ammo_556_flechette_phosphorus", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_PHOSPHORUS, AmmoItemTrait.NEU_WARCRIME2, AmmoItemTrait.NEU_LESS_BOUNCY, AmmoItemTrait.CON_WEAR, AmmoItemTrait.CON_PENETRATION), - FLECHETTE_DU("ammo_556_flechette_du", AmmoItemTrait.PRO_HEAVY_DAMAGE, AmmoItemTrait.PRO_PENETRATION, AmmoItemTrait.NEU_HEAVY_METAL, AmmoItemTrait.NEU_LESS_BOUNCY, AmmoItemTrait.CON_HEAVY_WEAR), - FLECHETTE_CHLOROPHYTE("ammo_556_flechette_chlorophyte", HbmCollection.ChlorophyteType), - FLECHETTE_SLEEK("ammo_556_flechette_sleek", AmmoItemTrait.NEU_MASKMAN_METEORITE), - K("ammo_556_k", AmmoItemTrait.NEU_BLANK); - - private final Set traits; - private final String unloc; - - private Ammo556mm(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - private Ammo556mm(String unloc, Set traits) { - this.traits = traits; - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - - public enum Ammo50BMG implements IAmmoItemEnum { - STOCK("ammo_50bmg"), - INCENDIARY("ammo_50bmg_incendiary", HbmCollection.IncendiaryType), - PHOSPHORUS("ammo_50bmg_phosphorus", HbmCollection.PhosphorusType), - EXPLOSIVE("ammo_50bmg_explosive", HbmCollection.ExplosiveType), - AP("ammo_50bmg_ap", HbmCollection.APType), - DU("ammo_50bmg_du", HbmCollection.DUType), - STAR("ammo_50bmg_star", HbmCollection.StarmetalType), - CHLOROPHYTE("ammo_50bmg_chlorophyte", HbmCollection.ChlorophyteType), - SLEEK("ammo_50bmg_sleek", AmmoItemTrait.NEU_MASKMAN_METEORITE), - FLECHETTE("ammo_50bmg_flechette", AmmoItemTrait.PRO_DAMAGE), - FLECHETTE_AM("ammo_50bmg_flechette_am", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_UHH), - FLECHETTE_PO("ammo_50bmg_flechette_po", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_UHH); - - private final Set traits; - private final String unloc; - - private Ammo50BMG(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - private Ammo50BMG(String unloc, Set traits) { - this.traits = traits; - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - - public enum Ammo50AE implements IAmmoItemEnum { - STOCK("ammo_50ae"), - AP("ammo_50ae_ap", HbmCollection.APType), - DU("ammo_50ae_du", HbmCollection.DUType), - STAR("ammo_50ae_star", HbmCollection.StarmetalType), - CHLOROPHYTE("ammo_50ae_chlorophyte", HbmCollection.ChlorophyteType); - - private final Set traits; - private final String unloc; - - private Ammo50AE(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - private Ammo50AE(String unloc, Set traits) { - this.traits = traits; - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - - public enum Ammo4Gauge implements IAmmoItemEnum { - STOCK("ammo_4gauge"), - SLUG("ammo_4gauge_slug", AmmoItemTrait.PRO_ACCURATE2, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_WEAR, AmmoItemTrait.CON_SING_PROJECTILE), - FLECHETTE("ammo_4gauge_flechette", HbmCollection.FlechetteType), - FLECHETTE_PHOSPHORUS("ammo_4gauge_flechette_phosphorus", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_PHOSPHORUS, AmmoItemTrait.NEU_WARCRIME2, AmmoItemTrait.NEU_LESS_BOUNCY, AmmoItemTrait.CON_WEAR), - EXPLOSIVE("ammo_4gauge_explosive", AmmoItemTrait.PRO_EXPLOSIVE, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_40MM, AmmoItemTrait.CON_HEAVY_WEAR, AmmoItemTrait.CON_SING_PROJECTILE), - MINING("ammo_4gauge_semtex", AmmoItemTrait.PRO_EXPLOSIVE, AmmoItemTrait.PRO_MINING, AmmoItemTrait.CON_NO_EXPLODE3, AmmoItemTrait.CON_HEAVY_WEAR, AmmoItemTrait.CON_SING_PROJECTILE), - BALEFIRE("ammo_4gauge_balefire", AmmoItemTrait.PRO_EXPLOSIVE, AmmoItemTrait.PRO_BALEFIRE, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.CON_HEAVY_WEAR, AmmoItemTrait.CON_SING_PROJECTILE), - KAMPF("ammo_4gauge_kampf", AmmoItemTrait.PRO_EXPLOSIVE, AmmoItemTrait.PRO_ROCKET_PROPELLED, AmmoItemTrait.PRO_ACCURATE1, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.CON_WEAR, AmmoItemTrait.CON_SING_PROJECTILE), - CANISTER("ammo_4gauge_canister"), - SLEEK("ammo_4gauge_sleek", AmmoItemTrait.NEU_MASKMAN_FLECHETTE), - CLAW("ammo_4gauge_claw"), - VAMPIRE("ammo_4gauge_vampire"), - VOID("ammo_4gauge_void"), - QUACK("ammo_4gauge_titan", AmmoItemTrait.PRO_MARAUDER, AmmoItemTrait.NEU_NO_CON); - - private final Set traits; - private final String unloc; - - private Ammo4Gauge(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - private Ammo4Gauge(String unloc, Set traits) { - this.traits = traits; - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - - public enum Ammo45ACP implements IAmmoItemEnum { - STOCK("ammo_45"), - AP("ammo_45_ap", HbmCollection.APType), - DU("ammo_45_du", HbmCollection.DUType); - - private final Set traits; - private final String unloc; - - private Ammo45ACP(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - private Ammo45ACP(String unloc, Set traits) { - this.traits = traits; - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - - public enum Ammo44Magnum implements IAmmoItemEnum { - STOCK("ammo_44"), - AP("ammo_44_ap", HbmCollection.APType), - DU("ammo_44_du", HbmCollection.DUType), - PHOSPHORUS("ammo_44_phosphorus", HbmCollection.PhosphorusType), - STAR("ammo_44_star", HbmCollection.StarmetalType), - CHLOROPHYTE("ammo_44_chlorophyte", HbmCollection.ChlorophyteType), - PIP("ammo_44_pip", AmmoItemTrait.NEU_BOXCAR, AmmoItemTrait.CON_DAMAGE), - BJ("ammo_44_bj", AmmoItemTrait.NEU_BOAT, AmmoItemTrait.CON_DAMAGE), - SILVER("ammo_44_silver", AmmoItemTrait.NEU_BUILDING, AmmoItemTrait.CON_DAMAGE), - ROCKET("ammo_44_rocket", AmmoItemTrait.PRO_ROCKET, AmmoItemTrait.NEU_UHH); - - private final Set traits; - private final String unloc; - - private Ammo44Magnum(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - private Ammo44Magnum(String unloc, Set traits) { - this.traits = traits; - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - - public enum Ammo357Magnum implements IAmmoItemEnum { - IRON("gun_revolver_iron_ammo"), - LEAD("gun_revolver_ammo"), - NUCLEAR("gun_revolver_lead_ammo"), - GOLD("gun_revolver_gold_ammo"), - DESH("ammo_357_desh", AmmoItemTrait.PRO_FIT_357, AmmoItemTrait.PRO_DAMAGE_SLIGHT), - SCHRABIDIUM("gun_revolver_schrabidium_ammo"), - STEEL("gun_revolver_cursed_ammo"), - NIGHTMARE1("gun_revolver_nightmare_ammo"), - NIGHTMARE2("gun_revolver_nightmare2_ammo"); - - private final Set traits; - private final String unloc; - - private Ammo357Magnum(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - - public enum Ammo22LR implements IAmmoItemEnum { - STOCK("ammo_22lr"), - AP("ammo_22lr_ap", HbmCollection.APType), - CHLOROPHYTE("ammo_22lr_chlorophyte", HbmCollection.ChlorophyteType); - - private final Set traits; - private final String unloc; - - private Ammo22LR(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - private Ammo22LR(String unloc, Set traits) { - this.traits = traits; - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - - public enum Ammo20Gauge implements IAmmoItemEnum { - STOCK("ammo_20gauge"), - SLUG("ammo_20gauge_slug", AmmoItemTrait.PRO_ACCURATE2, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_WEAR, AmmoItemTrait.CON_SING_PROJECTILE), - FLECHETTE("ammo_20gauge_flechette", HbmCollection.FlechetteType), - INCENDIARY("ammo_20gauge_incendiary", AmmoItemTrait.PRO_INCENDIARY, AmmoItemTrait.CON_WEAR), - SHRAPNEL("ammo_20gauge_shrapnel", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_MORE_BOUNCY, AmmoItemTrait.CON_WEAR), - EXPLOSIVE("ammo_20gauge_explosive", HbmCollection.ExplosiveType), - CAUSTIC("ammo_20gauge_caustic", AmmoItemTrait.PRO_TOXIC, AmmoItemTrait.PRO_CAUSTIC, AmmoItemTrait.NEU_NO_BOUNCE, AmmoItemTrait.CON_HEAVY_WEAR), - SHOCK("ammo_20gauge_shock", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_STUNNING, AmmoItemTrait.PRO_EMP, AmmoItemTrait.NEU_NO_BOUNCE, AmmoItemTrait.CON_HEAVY_WEAR), - WITHER("ammo_20gauge_wither", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_WITHERING), - SLEEK("ammo_20gauge_sleek", AmmoItemTrait.NEU_MASKMAN_FLECHETTE); - - private final Set traits; - private final String unloc; - - private Ammo20Gauge(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - private Ammo20Gauge(String unloc, Set traits) { - this.traits = traits; - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - - public enum Ammo12Gauge implements IAmmoItemEnum { - STOCK("ammo_12gauge"), - INCENDIARY("ammo_12gauge_incendiary", AmmoItemTrait.PRO_INCENDIARY, AmmoItemTrait.CON_WEAR), - SHRAPNEL("ammo_12gauge_shrapnel", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_MORE_BOUNCY, AmmoItemTrait.CON_WEAR), - DU("ammo_12gauge_du", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_PENETRATION, AmmoItemTrait.NEU_HEAVY_METAL, AmmoItemTrait.CON_HEAVY_WEAR), - MARAUDER("ammo_12gauge_marauder", AmmoItemTrait.PRO_MARAUDER, AmmoItemTrait.NEU_NO_CON), - SLEEK("ammo_12gauge_sleek", AmmoItemTrait.NEU_MASKMAN_FLECHETTE), - PERCUSSION("ammo_12gauge_percussion", AmmoItemTrait.PRO_PERCUSSION, AmmoItemTrait.CON_NO_PROJECTILE); - - private final Set traits; - private final String unloc; - - private Ammo12Gauge(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - @Override - public Set getTraits() { - return traits; - } - - @Override - public String getInternalName() { - return unloc; - } - } - - public enum AmmoCoilgun implements IAmmoItemEnum { - STOCK("ammo_coilgun"), - DU("ammo_coilgun_du", AmmoItemTrait.PRO_HEAVY_DAMAGE, AmmoItemTrait.CON_HEAVY_WEAR), - RUBBER("ammo_coilgun_rubber", AmmoItemTrait.NEU_MORE_BOUNCY, AmmoItemTrait.CON_DAMAGE); - - private final Set traits; - private final String unloc; - - private AmmoCoilgun(String unloc, AmmoItemTrait... traits) { - this.traits = safeAssign(traits); - this.unloc = unloc; - } - - @Override public Set getTraits() { return traits; } - @Override public String getInternalName() { return unloc; } - } - public interface IAmmoItemEnum { public Set getTraits(); public String getInternalName(); diff --git a/src/main/java/com/hbm/items/ItemCustomLore.java b/src/main/java/com/hbm/items/ItemCustomLore.java index b8598c288..97a9b2c83 100644 --- a/src/main/java/com/hbm/items/ItemCustomLore.java +++ b/src/main/java/com/hbm/items/ItemCustomLore.java @@ -1,11 +1,12 @@ package com.hbm.items; +import java.util.ArrayList; import java.util.List; import java.util.Random; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -14,6 +15,7 @@ import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; public class ItemCustomLore extends Item { @@ -51,23 +53,27 @@ public class ItemCustomLore extends Item { if(this == ModItems.undefined) { - if(player.worldObj.rand.nextInt(10) == 0) { - list.add(EnumChatFormatting.DARK_RED + "UNDEFINED"); - } else { - Random rand = new Random(System.currentTimeMillis() / 500); - - if(setSize == 0) - setSize = Item.itemRegistry.getKeys().size(); - - int r = rand.nextInt(setSize); - - Item item = Item.getItemById(r); - - if(item != null) { - list.add(new ItemStack(item).getDisplayName()); + try { + if(player.worldObj.rand.nextInt(10) == 0) { + list.add(EnumChatFormatting.DARK_RED + "UNDEFINED"); } else { - list.add(EnumChatFormatting.RED + "ERROR #" + r); + Random rand = new Random(System.currentTimeMillis() / 500); + + if(setSize == 0) + setSize = Item.itemRegistry.getKeys().size(); + + int r = rand.nextInt(setSize); + + Item item = Item.getItemById(r); + + if(item != null) { + list.add(new ItemStack(item).getDisplayName()); + } else { + list.add(EnumChatFormatting.RED + "ERROR #" + r); + } } + } catch(Exception ex) { + list.add(EnumChatFormatting.DARK_RED + "UNDEFINED"); } } } @@ -100,4 +106,121 @@ public class ItemCustomLore extends Item { setTextureName(RefStrings.MODID + ':' + uloc); return super.setUnlocalizedName(uloc); } + + @Override + public String getItemStackDisplayName(ItemStack stack) { + if(stack.getItem() != ModItems.undefined || stack.getItemDamage() != 99) return ("" + StatCollector.translateToLocal(this.getUnlocalizedNameInefficiently(stack) + ".name")).trim(); + + return name.getResult(); + } + + public static String[] names = new String[] { + "THE DEFAULT", "NEXT ONE", "ANOTHER ONE", "NON-STANDARD NAME", "AMBIGUOUS TITLE", "SHORT" + }; + + public static Random rand = new Random(); + public static int currentIndex = 0; + public static ScramblingName name = new ScramblingName(names[0]); + + public static void updateSystem() { + name.updateTick(names); + } + + /** + * A surprise tool we need for later + * @author hbm + */ + public static class ScramblingName { + + public String previous; + public String next; + public String[] previousFrags; + public String[] nextFrags; + public String[] frags; + public int[] mask; + public int age = 0; + + public ScramblingName(String init) { + previous = next = init; + frags = init.split(""); + mask = new int[frags.length]; + previousFrags = chop(previous, frags.length); + nextFrags = chop(next, frags.length); + } + + public String getResult() { + return String.join("", frags); + } + + public void updateTick(String[] nextNames) { + age++; + try { + //pick new name + if(age % 200 == 0) nextName(nextNames); + //run substitution + if(age % 5 == 0) scramble(); + } catch(Exception ex) { } + } + + public void nextName(String[] nextNames) { + if(nextNames.length < 2) return; + + this.previous = this.next; + + String initial = next; + //keep choosing new names until it's different + while(initial.equals(next)) { + next = nextNames[rand.nextInt(nextNames.length)]; + } + + //frag setup + int length = Math.min(previous.length(), next.length()); + this.previousFrags = chop(previous, length); + this.frags = chop(previous, length); + this.nextFrags = chop(next, length); + mask = new int[length]; + } + + public void scramble() { + + //all fragments that haven't been substituted + List indices = new ArrayList(); + + for(int i = 0; i < mask.length; i++) { + int m = mask[i]; + //mask 0 means not yet processed + if(m == 0) indices.add(i); + //mask 1-5 means obfuscated + if(m > 0 && m <= 5) mask[i]++; + //mask >5 means replaced + if(m > 5) frags[i] = nextFrags[i]; + } + + //if there's at least one index listed, start processing + if(!indices.isEmpty()) { + int toSwitch = indices.get(rand.nextInt(indices.size())); + mask[toSwitch] = 1; + frags[toSwitch] = EnumChatFormatting.OBFUSCATED + previousFrags[toSwitch] + EnumChatFormatting.RESET; + } + } + + public String[] chop(String name, int parts) { + if(parts == name.length()) return name.split(""); + + double index = 0; + double incrementPerStep = (double) name.length() / (double) parts; + List slices = new ArrayList(); + + for(int i = 0; i < parts; i++) { + int end = (i == parts - 1) ? name.length() : (int) (index + incrementPerStep); + slices.add(name.substring((int) index, end)); + index += incrementPerStep; + } + + String[] chop = slices.toArray(new String[parts]); + //System.out.println("Chopped " + name + " into " + parts + " pieces: " + chop); + + return chop; + } + } } diff --git a/src/main/java/com/hbm/items/ItemEnumMulti.java b/src/main/java/com/hbm/items/ItemEnumMulti.java index 8085625d1..396fa9464 100644 --- a/src/main/java/com/hbm/items/ItemEnumMulti.java +++ b/src/main/java/com/hbm/items/ItemEnumMulti.java @@ -3,6 +3,7 @@ package com.hbm.items; import java.util.List; import java.util.Locale; +import com.hbm.interfaces.IOrderedEnum; import com.hbm.lib.RefStrings; import com.hbm.util.EnumUtil; @@ -31,8 +32,12 @@ public class ItemEnumMulti extends Item { @Override @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tab, List list) { - for(int i = 0; i < theEnum.getEnumConstants().length; i++) { - list.add(new ItemStack(item, 1, i)); + + Enum[] order = theEnum.getEnumConstants(); + if(order[0] instanceof IOrderedEnum) order = ((IOrderedEnum) order[0]).getOrder(); + + for(int i = 0; i < order.length; i++) { + list.add(new ItemStack(item, 1, order[i].ordinal())); } } @@ -97,4 +102,5 @@ public class ItemEnumMulti extends Item { return super.getUnlocalizedName(stack); } } + } diff --git a/src/main/java/com/hbm/items/ItemEnums.java b/src/main/java/com/hbm/items/ItemEnums.java index 8e4592d72..6ca3c76af 100644 --- a/src/main/java/com/hbm/items/ItemEnums.java +++ b/src/main/java/com/hbm/items/ItemEnums.java @@ -51,7 +51,10 @@ public class ItemEnums { } public static enum EnumChunkType { - RARE + RARE, + MALACHITE, + CRYOLITE, + MOONSTONE } public static enum EnumAchievementType { @@ -77,6 +80,14 @@ public class ItemEnums { } public static enum EnumSecretType { - CANISTER, CONTROLLER + CANISTER, CONTROLLER, SELENIUM_STEEL, ABERRATOR, FOLLY + } + + public static enum EnumCasingType { + SMALL, LARGE, SMALL_STEEL, LARGE_STEEL, SHOTSHELL, BUCKSHOT, BUCKSHOT_ADVANCED + } + + public static enum EnumIngotMetal { + SCRAP, INGOT, COUNTER, KEY, BEACON, CASING, CLOCKWORK, BAR, DETECTOR } } diff --git a/src/main/java/com/hbm/items/ItemGenericPart.java b/src/main/java/com/hbm/items/ItemGenericPart.java index e66ba0904..79c06cd88 100644 --- a/src/main/java/com/hbm/items/ItemGenericPart.java +++ b/src/main/java/com/hbm/items/ItemGenericPart.java @@ -14,7 +14,8 @@ public class ItemGenericPart extends ItemEnumMulti { PISTON_HYDRAULIC("piston_hydraulic"), PISTON_ELECTRIC("piston_electric"), LDE("low_density_element"), - HDE("heavy_duty_element"); + HDE("heavy_duty_element"), + GLASS_POLARIZED("glass_polarized"); private String texName; diff --git a/src/main/java/com/hbm/items/ItemInventory.java b/src/main/java/com/hbm/items/ItemInventory.java new file mode 100644 index 000000000..7c1aa0c47 --- /dev/null +++ b/src/main/java/com/hbm/items/ItemInventory.java @@ -0,0 +1,129 @@ +package com.hbm.items; + +import com.hbm.util.ItemStackUtil; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; + +import java.io.IOException; +import java.util.Random; + +/** + * Base class for items containing an inventory. This can be seen in crates, containment boxes, and the toolbox. + * @author BallOfEnergy/Gammawave + */ +public abstract class ItemInventory implements IInventory { + + public EntityPlayer player; + public ItemStack[] slots; + public ItemStack target; + + @Override + public void markDirty() { + + for(int i = 0; i < getSizeInventory(); ++i) { + if(getStackInSlot(i) != null && getStackInSlot(i).stackSize == 0) { + slots[i] = null; + } + } + + ItemStackUtil.addStacksToNBT(target, slots); // Maintain compatibility with the containment boxes. + target.setTagCompound(checkNBT(target.getTagCompound())); + + } + + public NBTTagCompound checkNBT(NBTTagCompound nbt) { + + if(nbt == null || nbt.hasNoTags()) + return null; + + Random random = new Random(); + + try { + byte[] abyte = CompressedStreamTools.compress(nbt); + + if (abyte.length > 6000) { + player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.RED + "Warning: Container NBT exceeds 6kB, contents will be ejected!")); + for (int i1 = 0; i1 < this.getSizeInventory(); ++i1) { + ItemStack itemstack = this.getStackInSlot(i1); + + if (itemstack != null) { + float f = random.nextFloat() * 0.8F + 0.1F; + float f1 = random.nextFloat() * 0.8F + 0.1F; + float f2 = random.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) { + int j1 = random.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(player.worldObj, player.posX + f, player.posY + f1, player.posZ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) { + entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (float) random.nextGaussian() * f3 + player.motionX; + entityitem.motionY = (float) random.nextGaussian() * f3 + 0.2F + player.motionY; + entityitem.motionZ = (float) random.nextGaussian() * f3 + player.motionZ; + player.worldObj.spawnEntityInWorld(entityitem); + } + } + } + + return null; // Reset. + } + } catch (IOException ignored) {} + + return nbt; + } + + @Override + public ItemStack decrStackSize(int slot, int amount) { + ItemStack stack = getStackInSlot(slot); + if(stack != null) { + if (stack.stackSize > amount) { + stack = stack.splitStack(amount); + markDirty(); + } else { + setInventorySlotContents(slot, null); + } + } + return stack; + } + + @Override + public void setInventorySlotContents(int slot, ItemStack stack) { + if(stack != null) { + stack.stackSize = Math.min(stack.stackSize, this.getInventoryStackLimit()); + } + + slots[slot] = stack; + markDirty(); + } + + @Override + public ItemStack getStackInSlotOnClosing(int slot) { + ItemStack stack = getStackInSlot(slot); + setInventorySlotContents(slot, null); + return stack; + } + + @Override public ItemStack getStackInSlot(int slot) { return slots[slot]; } + + @Override public boolean isUseableByPlayer(EntityPlayer player) { return true; } + @Override public boolean isItemValidForSlot(int slot, ItemStack stack) { return true; } + @Override public int getInventoryStackLimit() { return 64; } + + @Override public void openInventory() { player.worldObj.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:block.crateOpen", 1.0F, 0.8F); } + @Override public void closeInventory() { player.worldObj.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:block.crateClose", 1.0F, 0.8F); } +} diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index b7789ba87..251e2d396 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1,7855 +1,7182 @@ -package com.hbm.items; - -import com.hbm.blocks.ModBlocks; -import com.hbm.config.VersatileConfig; -import com.hbm.handler.BucketHandler; -import com.hbm.handler.ToolAbility; -import com.hbm.handler.ToolAbility.LuckAbility; -import com.hbm.handler.WeaponAbility; -import com.hbm.handler.guncfg.*; -import com.hbm.interfaces.ICustomWarhead.SaltedFuel.HalfLifeType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.inventory.fluid.tank.FluidTank; -import com.hbm.inventory.material.MaterialShapes; -import com.hbm.inventory.material.Mats; -import com.hbm.items.ItemAmmoEnums.*; -import com.hbm.items.ItemEnums.*; -import com.hbm.items.armor.*; -import com.hbm.items.armor.IArmorDisableModel.EnumPlayerPart; -import com.hbm.items.bomb.*; -import com.hbm.items.food.*; -import com.hbm.items.machine.*; -import com.hbm.items.machine.ItemFELCrystal.EnumWavelengths; -import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; -import com.hbm.items.machine.ItemPlateFuel.FunctionEnum; -import com.hbm.items.machine.ItemPWRFuel.EnumPWRFuel; -import com.hbm.items.machine.ItemRBMKRod.EnumBurnFunc; -import com.hbm.items.machine.ItemRBMKRod.EnumDepleteFunc; -import com.hbm.items.machine.ItemRTGPelletDepleted.DepletedRTGMaterial; -import com.hbm.items.machine.ItemStamp.StampType; -import com.hbm.items.special.*; -import com.hbm.items.special.ItemPlasticScrap.ScrapType; -import com.hbm.items.tool.*; -import com.hbm.items.tool.ItemToolAbility.EnumToolType; -import com.hbm.items.weapon.*; -import com.hbm.items.weapon.ItemCustomMissilePart.*; -import com.hbm.items.weapon.ItemMissile.MissileFormFactor; -import com.hbm.items.weapon.ItemMissile.MissileFuel; -import com.hbm.items.weapon.ItemMissile.MissileTier; -import com.hbm.items.weapon.gununified.ItemEnergyGunBase; -import com.hbm.lib.RefStrings; -import com.hbm.main.MainRegistry; -import com.hbm.potion.HbmPotion; -import com.hbm.tileentity.machine.rbmk.IRBMKFluxReceiver.NType; -import com.hbm.util.EnchantmentUtil; -import com.hbm.util.RTGUtil; - -import api.hbm.block.IToolable.ToolType; -import cpw.mods.fml.common.registry.GameRegistry; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.init.Items; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.Item.ToolMaterial; -import net.minecraft.item.ItemArmor.ArmorMaterial; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemSoup; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.util.EnumHelper; -import net.minecraftforge.fluids.FluidContainerRegistry; -import net.minecraftforge.fluids.FluidStack; - -public class ModItems { - - public static void mainRegistry() - { - initializeItem(); - registerItem(); - } - - public static Item redstone_sword; - public static Item big_sword; - - public static Item ingot_th232; - public static Item ingot_uranium; - public static Item ingot_u233; - public static Item ingot_u235; - public static Item ingot_u238; - public static Item ingot_u238m2; - public static Item ingot_plutonium; - public static Item ingot_pu238; - public static Item ingot_pu239; - public static Item ingot_pu240; - public static Item ingot_pu241; - public static Item ingot_pu_mix; - public static Item ingot_am241; - public static Item ingot_am242; - public static Item ingot_am_mix; - public static Item ingot_neptunium; - public static Item ingot_polonium; - public static Item ingot_technetium; - public static Item ingot_co60; - public static Item ingot_sr90; - public static Item ingot_au198; - public static Item ingot_pb209; - public static Item ingot_ra226; - public static Item ingot_titanium; - public static Item ingot_cobalt; - public static Item sulfur; - public static Item nitra; - public static Item nitra_small; - - public static Item coke; - public static Item lignite; - public static Item powder_lignite; - public static Item briquette; - public static Item coal_infernal; - public static Item cinnebar; - public static Item powder_ash; - public static Item powder_limestone; - public static Item powder_cement; - - public static Item niter; - public static Item ingot_copper; - public static Item ingot_red_copper; - public static Item ingot_tungsten; - public static Item ingot_aluminium; - public static Item fluorite; - public static Item ingot_beryllium; - public static Item ingot_schraranium; - public static Item ingot_schrabidium; - public static Item ingot_schrabidate; - public static Item ingot_plutonium_fuel; - public static Item ingot_neptunium_fuel; - public static Item ingot_uranium_fuel; - public static Item ingot_mox_fuel; - public static Item ingot_americium_fuel; - public static Item ingot_schrabidium_fuel; - public static Item ingot_thorium_fuel; - public static Item nugget_uranium_fuel; - public static Item nugget_thorium_fuel; - public static Item nugget_plutonium_fuel; - public static Item nugget_neptunium_fuel; - public static Item nugget_mox_fuel; - public static Item nugget_americium_fuel; - public static Item nugget_schrabidium_fuel; - public static Item ingot_advanced_alloy; - public static Item ingot_tcalloy; - public static Item ingot_cdalloy; - public static Item ingot_bismuth_bronze; - public static Item ingot_arsenic_bronze; - public static Item ingot_bscco; - public static Item lithium; - public static Item ingot_zirconium; - public static Item ingot_hes; - public static Item ingot_les; - public static Item nugget_hes; - public static Item nugget_les; - public static Item ingot_magnetized_tungsten; - public static Item ingot_combine_steel; - public static Item ingot_solinium; - public static Item nugget_solinium; - public static Item ingot_phosphorus; - public static Item ingot_semtex; - public static Item ingot_c4; - public static Item ingot_boron; - public static Item ingot_graphite; - public static Item ingot_firebrick; - public static Item ingot_smore; - - public static Item ingot_gh336; - public static Item nugget_gh336; - - public static Item ingot_australium; - public static Item ingot_weidanium; - public static Item ingot_reiium; - public static Item ingot_unobtainium; - public static Item ingot_daffergon; - public static Item ingot_verticium; - public static Item nugget_australium; - public static Item nugget_australium_lesser; - public static Item nugget_australium_greater; - public static Item nugget_weidanium; - public static Item nugget_reiium; - public static Item nugget_unobtainium; - public static Item nugget_daffergon; - public static Item nugget_verticium; - - public static Item ingot_desh; - public static Item nugget_desh; - public static Item ingot_dineutronium; - public static Item nugget_dineutronium; - public static Item powder_dineutronium; - public static Item ingot_tetraneutronium; - public static Item nugget_tetraneutronium; - public static Item powder_tetraneutronium; - public static Item ingot_starmetal; - public static Item ingot_saturnite; - public static Item plate_saturnite; - public static Item ingot_ferrouranium; - public static Item ingot_electronium; - public static Item nugget_zirconium; - public static Item nugget_mercury; - public static Item ingot_mercury; //It's to prevent any ambiguity, as it was treated as a full ingot in the past anyway - public static Item bottle_mercury; - - public static Item ore_byproduct; //byproduct of variable purity and quantity, can be treated as a nugget, might require shredding or acidizing, depends on the type - - public static Item ore_bedrock; - public static Item ore_centrifuged; - public static Item ore_cleaned; - public static Item ore_separated; - public static Item ore_purified; - public static Item ore_nitrated; - public static Item ore_nitrocrystalline; - public static Item ore_deepcleaned; - public static Item ore_seared; - //public static Item ore_radcleaned; - public static Item ore_enriched; //final stage - public static Item bedrock_ore_base; - public static Item bedrock_ore; - public static Item bedrock_ore_fragment; - - public static Item billet_uranium; - public static Item billet_u233; - public static Item billet_u235; - public static Item billet_u238; - public static Item billet_th232; - public static Item billet_plutonium; - public static Item billet_pu238; - public static Item billet_pu239; - public static Item billet_pu240; - public static Item billet_pu241; - public static Item billet_pu_mix; - public static Item billet_am241; - public static Item billet_am242; - public static Item billet_am_mix; - public static Item billet_neptunium; - public static Item billet_polonium; - public static Item billet_technetium; - public static Item billet_cobalt; - public static Item billet_co60; - public static Item billet_sr90; - public static Item billet_au198; - public static Item billet_pb209; - public static Item billet_ra226; - public static Item billet_actinium; - public static Item billet_schrabidium; - public static Item billet_solinium; - public static Item billet_gh336; - public static Item billet_australium; - public static Item billet_australium_lesser; - public static Item billet_australium_greater; - public static Item billet_uranium_fuel; - public static Item billet_thorium_fuel; - public static Item billet_plutonium_fuel; - public static Item billet_neptunium_fuel; - public static Item billet_mox_fuel; - public static Item billet_americium_fuel; - public static Item billet_les; - public static Item billet_schrabidium_fuel; - public static Item billet_hes; - public static Item billet_po210be; - public static Item billet_ra226be; - public static Item billet_pu238be; - public static Item billet_yharonite; - public static Item billet_balefire_gold; - public static Item billet_flashlead; - public static Item billet_zfb_bismuth; - public static Item billet_zfb_pu241; - public static Item billet_zfb_am_mix; - public static Item billet_beryllium; - public static Item billet_bismuth; - public static Item billet_zirconium; - public static Item billet_nuclear_waste; - - public static Item nugget_th232; - public static Item nugget_uranium; - public static Item nugget_u233; - public static Item nugget_u235; - public static Item nugget_u238; - public static Item nugget_plutonium; - public static Item nugget_pu238; - public static Item nugget_pu239; - public static Item nugget_pu240; - public static Item nugget_pu241; - public static Item nugget_pu_mix; - public static Item nugget_am241; - public static Item nugget_am242; - public static Item nugget_am_mix; - public static Item nugget_neptunium; - public static Item nugget_polonium; - public static Item nugget_technetium; - public static Item nugget_cobalt; - public static Item nugget_co60; - public static Item nugget_sr90; - public static Item nugget_au198; - public static Item nugget_pb209; - public static Item nugget_ra226; - public static Item nugget_actinium; - public static Item plate_titanium; - public static Item plate_aluminium; - public static Item neutron_reflector; - public static Item ingot_steel; - public static Item plate_steel; - public static Item plate_iron; - public static Item ingot_lead; - public static Item nugget_lead; - public static Item ingot_bismuth; - public static Item nugget_bismuth; - public static Item ingot_arsenic; - public static Item nugget_arsenic; - public static Item ingot_tantalium; - public static Item nugget_tantalium; - public static Item ingot_silicon; - public static Item billet_silicon; - public static Item nugget_silicon; - public static Item ingot_niobium; - public static Item nugget_niobium; - public static Item ingot_osmiridium; - public static Item nugget_osmiridium; - public static Item plate_lead; - public static Item plate_dura_steel; - public static Item nugget_schrabidium; - public static Item plate_schrabidium; - public static Item plate_copper; - public static Item nugget_beryllium; - public static Item plate_gold; - public static Item hazmat_cloth; - public static Item hazmat_cloth_red; - public static Item hazmat_cloth_grey; - public static Item asbestos_cloth; - public static Item rag; - public static Item rag_damp; - public static Item rag_piss; - public static Item filter_coal; - public static Item plate_advanced_alloy; - public static Item plate_combine_steel; - public static Item plate_mixed; - public static Item plate_paa; - public static Item pipes_steel; - public static Item drill_titanium; - public static Item plate_dalekanium; - public static Item plate_euphemium; - public static Item bolt; - public static Item bolt_spike; - public static Item plate_polymer; - public static Item plate_kevlar; - public static Item plate_dineutronium; - public static Item plate_desh; - public static Item plate_bismuth; - public static Item photo_panel; - public static Item sat_base; - public static Item thruster_nuclear; - public static Item safety_fuse; - public static Item part_generic; - public static Item item_secret; - public static Item chemical_dye; - public static Item crayon; - - public static Item undefined; - - public static Item ball_resin; - public static Item ingot_dura_steel; - public static Item ingot_polymer; - public static Item ingot_bakelite; - public static Item ingot_biorubber; - public static Item ingot_rubber; - public static Item ingot_pet; - public static Item ingot_pc; - public static Item ingot_pvc; - - public static Item ingot_fiberglass; - public static Item ingot_asbestos; - public static Item powder_asbestos; - public static Item ingot_calcium; - public static Item powder_calcium; - public static Item ingot_cadmium; - public static Item powder_cadmium; - public static Item powder_bismuth; - public static Item ingot_mud; - public static Item ingot_cft; - - public static Item ingot_lanthanium; - public static Item ingot_actinium; - - public static Item ingot_meteorite; - public static Item ingot_meteorite_forged; - public static Item blade_meteorite; - public static Item ingot_steel_dusted; - public static Item ingot_chainsteel; - - public static Item plate_armor_titanium; - public static Item plate_armor_ajr; - public static Item plate_armor_hev; - public static Item plate_armor_lunar; - public static Item plate_armor_fau; - public static Item plate_armor_dnt; - - public static Item oil_tar; - public static Item solid_fuel; - public static Item solid_fuel_presto; - public static Item solid_fuel_presto_triplet; - public static Item solid_fuel_bf; - public static Item solid_fuel_presto_bf; - public static Item solid_fuel_presto_triplet_bf; - public static Item rocket_fuel; - - public static Item crystal_coal; - public static Item crystal_iron; - public static Item crystal_gold; - public static Item crystal_redstone; - public static Item crystal_lapis; - public static Item crystal_diamond; - public static Item crystal_uranium; - public static Item crystal_thorium; - public static Item crystal_plutonium; - public static Item crystal_titanium; - public static Item crystal_sulfur; - public static Item crystal_niter; - public static Item crystal_copper; - public static Item crystal_tungsten; - public static Item crystal_aluminium; - public static Item crystal_fluorite; - public static Item crystal_beryllium; - public static Item crystal_lead; - public static Item crystal_schraranium; - public static Item crystal_schrabidium; - public static Item crystal_rare; - public static Item crystal_phosphorus; - public static Item crystal_lithium; - public static Item crystal_cobalt; - public static Item crystal_starmetal; - public static Item crystal_cinnebar; - public static Item crystal_trixite; - public static Item crystal_osmiridium; - - public static Item gem_sodalite; - public static Item gem_tantalium; - public static Item gem_volcanic; - public static Item gem_rad; - public static Item gem_alexandrite; - - public static Item powder_lead; - public static Item powder_tantalium; - public static Item powder_neptunium; - public static Item powder_polonium; - public static Item powder_co60; - public static Item powder_sr90; - public static Item powder_sr90_tiny; - public static Item powder_au198; - public static Item powder_ra226; - public static Item powder_i131; - public static Item powder_i131_tiny; - public static Item powder_xe135; - public static Item powder_xe135_tiny; - public static Item powder_cs137; - public static Item powder_cs137_tiny; - public static Item powder_at209; - public static Item powder_schrabidium; - public static Item powder_schrabidate; - - public static Item powder_aluminium; - public static Item powder_beryllium; - public static Item powder_copper; - public static Item powder_gold; - public static Item powder_iron; - public static Item powder_titanium; - public static Item powder_tungsten; - public static Item powder_uranium; - public static Item powder_plutonium; - public static Item dust; - public static Item dust_tiny; - public static Item fallout; - public static Item powder_power; - - public static Item powder_thorium; - public static Item powder_iodine; - public static Item powder_neodymium; - public static Item powder_astatine; - public static Item powder_caesium; - - public static Item powder_strontium; - public static Item powder_cobalt; - public static Item powder_bromine; - public static Item powder_niobium; - public static Item powder_tennessine; - public static Item powder_cerium; - - public static Item powder_advanced_alloy; - public static Item powder_tcalloy; - public static Item powder_coal; - public static Item powder_coal_tiny; - public static Item powder_combine_steel; - public static Item powder_diamond; - public static Item powder_emerald; - public static Item powder_lapis; - public static Item powder_quartz; - public static Item powder_magnetized_tungsten; - public static Item powder_chlorophyte; - public static Item powder_red_copper; - public static Item powder_steel; - public static Item powder_lithium; - public static Item powder_zirconium; - public static Item powder_sodium; - - public static Item powder_australium; - public static Item powder_weidanium; - public static Item powder_reiium; - public static Item powder_unobtainium; - public static Item powder_daffergon; - public static Item powder_verticium; - - public static Item powder_dura_steel; - public static Item powder_polymer; - public static Item powder_bakelite; - public static Item powder_euphemium; - public static Item powder_meteorite; - - public static Item powder_steel_tiny; - public static Item powder_lithium_tiny; - public static Item powder_neodymium_tiny; - public static Item powder_cobalt_tiny; - public static Item powder_niobium_tiny; - public static Item powder_cerium_tiny; - public static Item powder_lanthanium_tiny; - public static Item powder_actinium_tiny; - public static Item powder_boron_tiny; - public static Item powder_meteorite_tiny; - - public static Item powder_coltan_ore; - public static Item powder_coltan; - public static Item powder_tektite; - public static Item powder_paleogenite; - public static Item powder_paleogenite_tiny; - public static Item powder_impure_osmiridium; - public static Item powder_borax; - public static Item powder_chlorocalcite; - public static Item powder_molysite; - - public static Item powder_lanthanium; - public static Item powder_actinium; - public static Item powder_boron; - public static Item powder_desh; - public static Item powder_semtex_mix; - public static Item powder_desh_mix; - public static Item powder_desh_ready; - public static Item powder_nitan_mix; - public static Item powder_spark_mix; - public static Item powder_yellowcake; - public static Item powder_magic; - public static Item powder_balefire; - public static Item powder_sawdust; - public static Item powder_flux; - public static Item powder_fertilizer; - - public static Item fragment_neodymium; - public static Item fragment_cobalt; - public static Item fragment_niobium; - public static Item fragment_cerium; - public static Item fragment_lanthanium; - public static Item fragment_actinium; - public static Item fragment_boron; - public static Item fragment_meteorite; - public static Item fragment_coltan; - public static Item chunk_ore; - - public static Item biomass; - public static Item biomass_compressed; - public static Item bio_wafer; - public static Item plant_item; - - public static Item coil_copper; - public static Item coil_copper_torus; - public static Item coil_tungsten; - public static Item tank_steel; - public static Item motor; - public static Item motor_desh; - public static Item motor_bismuth; - public static Item centrifuge_element; - public static Item reactor_core; - public static Item rtg_unit; - public static Item levitation_unit; - - public static Item wire_aluminium; - public static Item wire_copper; - public static Item wire_red_copper; - public static Item wire_tungsten; - public static Item wire_gold; - public static Item wire_schrabidium; - public static Item wire_advanced_alloy; - public static Item wire_magnetized_tungsten; - - public static Item coil_advanced_alloy; - public static Item coil_advanced_torus; - public static Item coil_magnetized_tungsten; - public static Item coil_gold; - public static Item coil_gold_torus; - public static Item magnet_circular; - public static Item component_limiter; - public static Item component_emitter; - public static Item chlorine_pinwheel; - public static Item deuterium_filter; - - public static Item parts_legendary; - - public static Item circuit; - - public static Item crt_display; - public static ItemEnumMulti circuit_star_piece; - public static ItemEnumMulti circuit_star_component; - public static Item circuit_star; - - public static Item mechanism_revolver_1; - public static Item mechanism_revolver_2; - public static Item mechanism_rifle_1; - public static Item mechanism_rifle_2; - public static Item mechanism_launcher_1; - public static Item mechanism_launcher_2; - public static Item mechanism_special; - - public static Item casing_357; - public static Item casing_44; - public static Item casing_9; - public static Item casing_50; - public static Item casing_buckshot; - public static Item assembly_iron; - public static Item assembly_steel; - public static Item assembly_lead; - public static Item assembly_gold; - public static Item assembly_schrabidium; - public static Item assembly_nightmare; - public static Item assembly_desh; - //public static Item assembly_pip; - public static Item assembly_nopip; - public static Item assembly_smg; - public static Item assembly_556; - public static Item assembly_762; - public static Item assembly_45; - public static Item assembly_uzi; - public static Item assembly_actionexpress; - public static Item assembly_calamity; - public static Item assembly_lacunae; - public static Item assembly_nuke; - public static Item assembly_luna; - - public static Item folly_shell; - public static Item folly_bullet; - public static Item folly_bullet_nuclear; - public static Item folly_bullet_du; - - public static Item wiring_red_copper; - public static Item shell; - public static Item pipe; - public static Item fins_flat; - public static Item fins_small_steel; - public static Item fins_big_steel; - public static Item fins_tri_steel; - public static Item fins_quad_titanium; - public static Item sphere_steel; - public static Item pedestal_steel; - public static Item dysfunctional_reactor; - public static Item blade_titanium; - public static Item turbine_titanium; - public static Item blade_tungsten; - public static Item turbine_tungsten; - public static Item ring_starmetal; - public static Item flywheel_beryllium; - - public static Item gear_large; - public static Item sawblade; - - public static Item toothpicks; - public static Item ducttape; - public static Item catalyst_clay; - - public static Item warhead_generic_small; - public static Item warhead_generic_medium; - public static Item warhead_generic_large; - public static Item warhead_incendiary_small; - public static Item warhead_incendiary_medium; - public static Item warhead_incendiary_large; - public static Item warhead_cluster_small; - public static Item warhead_cluster_medium; - public static Item warhead_cluster_large; - public static Item warhead_buster_small; - public static Item warhead_buster_medium; - public static Item warhead_buster_large; - public static Item warhead_nuclear; - public static Item warhead_mirv; - public static Item warhead_volcano; - - public static Item fuel_tank_small; - public static Item fuel_tank_medium; - public static Item fuel_tank_large; - - public static Item thruster_small; - public static Item thruster_medium; - public static Item thruster_large; - - public static Item sat_head_mapper; - public static Item sat_head_scanner; - public static Item sat_head_radar; - public static Item sat_head_laser; - public static Item sat_head_resonator; - - public static Item seg_10; - public static Item seg_15; - public static Item seg_20; - - public static Item chopper_head; - public static Item chopper_gun; - public static Item chopper_torso; - public static Item chopper_tail; - public static Item chopper_wing; - public static Item chopper_blades; - public static Item combine_scrap; - - public static Item shimmer_head; - public static Item shimmer_axe_head; - public static Item shimmer_handle; - - //public static Item telepad; - public static Item entanglement_kit; - - public static Item stamp_stone_flat; - public static Item stamp_stone_plate; - public static Item stamp_stone_wire; - public static Item stamp_stone_circuit; - public static Item stamp_iron_flat; - public static Item stamp_iron_plate; - public static Item stamp_iron_wire; - public static Item stamp_iron_circuit; - public static Item stamp_steel_flat; - public static Item stamp_steel_plate; - public static Item stamp_steel_wire; - public static Item stamp_steel_circuit; - public static Item stamp_titanium_flat; - public static Item stamp_titanium_plate; - public static Item stamp_titanium_wire; - public static Item stamp_titanium_circuit; - public static Item stamp_obsidian_flat; - public static Item stamp_obsidian_plate; - public static Item stamp_obsidian_wire; - public static Item stamp_obsidian_circuit; - public static Item stamp_desh_flat; - public static Item stamp_desh_plate; - public static Item stamp_desh_wire; - public static Item stamp_desh_circuit; - public static Item stamp_book; - - public static Item stamp_357; - public static Item stamp_44; - public static Item stamp_9; - public static Item stamp_50; - - public static Item stamp_desh_357; - public static Item stamp_desh_44; - public static Item stamp_desh_9; - public static Item stamp_desh_50; - - public static Item blades_steel; - public static Item blades_titanium; - public static Item blades_advanced_alloy; - public static Item blades_desh; - - public static Item mold_base; - public static Item mold; - public static Item scraps; - public static Item plate_cast; - public static Item plate_welded; - public static Item heavy_component; - public static Item wire_fine; - public static Item wire_dense; - - public static Item part_lithium; - public static Item part_beryllium; - public static Item part_carbon; - public static Item part_copper; - public static Item part_plutonium; - - public static Item laser_crystal_co2; - public static Item laser_crystal_bismuth; - public static Item laser_crystal_cmb; - public static Item laser_crystal_dnt; - public static Item laser_crystal_digamma; - - public static Item thermo_element; - - public static Item catalytic_converter; - public static Item crackpipe; - - public static Item pellet_rtg_depleted; - - public static Item pellet_rtg_radium; - public static Item pellet_rtg_weak; - public static Item pellet_rtg; - public static Item pellet_rtg_strontium; - public static Item pellet_rtg_cobalt; - public static Item pellet_rtg_actinium; - public static Item pellet_rtg_polonium; - public static Item pellet_rtg_americium; - public static Item pellet_rtg_berkelium; - public static Item pellet_rtg_gold; - public static Item pellet_rtg_lead; - - public static Item tritium_deuterium_cake; - - public static Item piston_selenium; - public static Item piston_set; - public static Item drillbit; - - //public static Item crystal_energy; - //public static Item pellet_coolant; - - public static Item rune_blank; - public static Item rune_isa; - public static Item rune_dagaz; - public static Item rune_hagalaz; - public static Item rune_jera; - public static Item rune_thurisaz; - - public static Item ams_catalyst_blank; - public static Item ams_catalyst_aluminium; - public static Item ams_catalyst_beryllium; - public static Item ams_catalyst_caesium; - public static Item ams_catalyst_cerium; - public static Item ams_catalyst_cobalt; - public static Item ams_catalyst_copper; - public static Item ams_catalyst_dineutronium; - public static Item ams_catalyst_euphemium; - public static Item ams_catalyst_iron; - public static Item ams_catalyst_lithium; - public static Item ams_catalyst_niobium; - public static Item ams_catalyst_schrabidium; - public static Item ams_catalyst_strontium; - public static Item ams_catalyst_thorium; - public static Item ams_catalyst_tungsten; - - public static Item ams_focus_blank; - public static Item ams_focus_limiter; - public static Item ams_focus_booster; - - public static Item ams_muzzle; - - public static Item ams_lens; - - public static Item ams_core_sing; - public static Item ams_core_wormhole; - public static Item ams_core_eyeofharmony; - public static Item ams_core_thingy; - - public static Item fusion_shield_tungsten; - public static Item fusion_shield_desh; - public static Item fusion_shield_chlorophyte; - public static Item fusion_shield_vaporwave; - - public static Item cell_empty; - public static Item cell_uf6; - public static Item cell_puf6; - public static Item cell_deuterium; - public static Item cell_tritium; - public static Item cell_sas3; - public static Item cell_antimatter; - public static Item cell_anti_schrabidium; - public static Item cell_balefire; - - public static Item demon_core_open; - public static Item demon_core_closed; - - public static Item particle_empty; - public static Item particle_hydrogen; - public static Item particle_copper; - public static Item particle_lead; - public static Item particle_aproton; - public static Item particle_aelectron; - public static Item particle_amat; - public static Item particle_aschrab; - public static Item particle_higgs; - public static Item particle_muon; - public static Item particle_tachyon; - public static Item particle_strange; - public static Item particle_dark; - public static Item particle_sparkticle; - public static Item particle_digamma; - public static Item particle_lutece; - - public static Item pellet_antimatter; - public static Item singularity_micro; - public static Item singularity; - public static Item singularity_counter_resonant; - public static Item singularity_super_heated; - public static Item black_hole; - public static Item singularity_spark; - public static Item crystal_xen; - public static Item inf_water; - public static Item inf_water_mk2; - - public static Item fuel_additive; - - public static Item canister_empty; - public static Item canister_full; - public static Item canister_napalm; - - public static Item gas_empty; - public static Item gas_full; - - public static Item fluid_tank_full; - public static Item fluid_tank_empty; - public static Item fluid_tank_lead_full; - public static Item fluid_tank_lead_empty; - public static Item fluid_barrel_full; - public static Item fluid_barrel_empty; - public static Item fluid_barrel_infinite; - public static Item pipette; - public static Item pipette_boron; - public static Item pipette_laboratory; - public static Item siphon; - - public static Item disperser_canister_empty; - public static Item disperser_canister; - public static Item glyphid_gland; - public static Item glyphid_gland_empty; - - public static Item syringe_empty; - public static Item syringe_antidote; - public static Item syringe_poison; - public static Item syringe_awesome; - public static Item syringe_metal_empty; - public static Item syringe_metal_stimpak; - public static Item syringe_metal_medx; - public static Item syringe_metal_psycho; - public static Item syringe_metal_super; - public static Item syringe_taint; - public static Item syringe_mkunicorn; - public static Item iv_empty; - public static Item iv_blood; - public static Item iv_xp_empty; - public static Item iv_xp; - public static Item radaway; - public static Item radaway_strong; - public static Item radaway_flush; - public static Item radx; - public static Item siox; - public static Item pill_herbal; - public static Item xanax; - public static Item fmn; - public static Item five_htp; - public static Item med_bag; - public static Item pill_iodine; - public static Item plan_c; - public static Item pill_red; - public static Item stealth_boy; - public static Item gas_mask_filter; - public static Item gas_mask_filter_mono; - public static Item gas_mask_filter_combo; - public static Item gas_mask_filter_rag; - public static Item gas_mask_filter_piss; - public static Item jetpack_tank; - public static Item gun_kit_1; - public static Item gun_kit_2; - public static Item cbt_device; - public static Item cigarette; - - public static Item can_empty; - public static Item can_smart; - public static Item can_creature; - public static Item can_redbomb; - public static Item can_mrsugar; - public static Item can_overcharge; - public static Item can_luna; - public static Item can_bepis; - public static Item can_breen; - public static Item can_mug; - public static Item mucho_mango; - public static Item bottle_empty; - public static Item bottle_nuka; - public static Item bottle_cherry; - public static Item bottle_quantum; - public static Item bottle_sparkle; - public static Item bottle_rad; - public static Item bottle2_empty; - public static Item bottle2_korl; - public static Item bottle2_fritz; - public static Item bottle2_korl_special; - public static Item bottle2_fritz_special; - public static Item flask_empty; - public static Item flask_infusion; - public static Item chocolate_milk; - public static Item coffee; - public static Item coffee_radium; - public static Item chocolate; - public static Item cap_nuka; - public static Item cap_quantum; - public static Item cap_sparkle; - public static Item cap_rad; - public static Item cap_korl; - public static Item cap_fritz; - public static Item ring_pull; - public static Item bdcl; - //public static Item canned_beef; - //public static Item canned_tuna; - //public static Item canned_mystery; - //public static Item canned_pashtet; - //public static Item canned_cheese; - //public static Item canned_jizz; - //public static Item canned_milk; - //public static Item canned_ass; - //public static Item canned_pizza; - //public static Item canned_tube; - //public static Item canned_tomato; - //public static Item canned_asbestos; - //public static Item canned_bhole; - //public static Item canned_hotdogs; - //public static Item canned_leftovers; - //public static Item canned_yogurt; - //public static Item canned_stew; - //public static Item canned_chinese; - //public static Item canned_oil; - //public static Item canned_fist; - //public static Item canned_spam; - //public static Item canned_fried; - //public static Item canned_napalm; - //public static Item canned_diesel; - //public static Item canned_kerosene; - //public static Item canned_recursion; - //public static Item canned_bark; - public static ItemEnumMulti canned_conserve; - public static Item can_key; - - public static Item boat_rubber; - public static Item cart; - public static Item train; - public static Item drone; - - public static Item coin_creeper; - public static Item coin_radiation; - public static Item coin_maskman; - public static Item coin_worm; - public static Item coin_ufo; - //public static Item coin_siege; - //public static Item source; - - public static Item rod_empty; - public static Item rod; - public static Item rod_dual_empty; - public static Item rod_dual; - public static Item rod_quad_empty; - public static Item rod_quad; - - public static Item rod_zirnox_empty; - public static Item rod_zirnox_tritium; - public static ItemEnumMulti rod_zirnox; - - public static Item rod_zirnox_natural_uranium_fuel_depleted; - public static Item rod_zirnox_uranium_fuel_depleted; - public static Item rod_zirnox_thorium_fuel_depleted; - public static Item rod_zirnox_mox_fuel_depleted; - public static Item rod_zirnox_plutonium_fuel_depleted; - public static Item rod_zirnox_u233_fuel_depleted; - public static Item rod_zirnox_u235_fuel_depleted; - public static Item rod_zirnox_les_fuel_depleted; - public static Item rod_zirnox_zfb_mox_depleted; - - public static Item waste_natural_uranium; - public static Item waste_uranium; - public static Item waste_thorium; - public static Item waste_mox; - public static Item waste_plutonium; - public static Item waste_u233; - public static Item waste_u235; - public static Item waste_schrabidium; - public static Item waste_zfb_mox; - - public static Item waste_plate_u233; - public static Item waste_plate_u235; - public static Item waste_plate_mox; - public static Item waste_plate_pu239; - public static Item waste_plate_sa326; - public static Item waste_plate_ra226be; - public static Item waste_plate_pu238be; - - public static Item pile_rod_uranium; - public static Item pile_rod_pu239; - public static Item pile_rod_plutonium; - public static Item pile_rod_source; - public static Item pile_rod_boron; - public static Item pile_rod_lithium; - public static Item pile_rod_detector; - - public static Item plate_fuel_u233; - public static Item plate_fuel_u235; - public static Item plate_fuel_mox; - public static Item plate_fuel_pu239; - public static Item plate_fuel_sa326; - public static Item plate_fuel_ra226be; - public static Item plate_fuel_pu238be; - - public static Item pwr_fuel; - public static Item pwr_fuel_hot; - public static Item pwr_fuel_depleted; - - public static Item rbmk_lid; - public static Item rbmk_lid_glass; - public static Item rbmk_fuel_empty; - public static ItemRBMKRod rbmk_fuel_ueu; - public static ItemRBMKRod rbmk_fuel_meu; - public static ItemRBMKRod rbmk_fuel_heu233; - public static ItemRBMKRod rbmk_fuel_heu235; - public static ItemRBMKRod rbmk_fuel_thmeu; - public static ItemRBMKRod rbmk_fuel_lep; - public static ItemRBMKRod rbmk_fuel_mep; - public static ItemRBMKRod rbmk_fuel_hep239; - public static ItemRBMKRod rbmk_fuel_hep241; - public static ItemRBMKRod rbmk_fuel_lea; - public static ItemRBMKRod rbmk_fuel_mea; - public static ItemRBMKRod rbmk_fuel_hea241; - public static ItemRBMKRod rbmk_fuel_hea242; - public static ItemRBMKRod rbmk_fuel_men; - public static ItemRBMKRod rbmk_fuel_hen; - public static ItemRBMKRod rbmk_fuel_mox; - public static ItemRBMKRod rbmk_fuel_les; - public static ItemRBMKRod rbmk_fuel_mes; - public static ItemRBMKRod rbmk_fuel_hes; - public static ItemRBMKRod rbmk_fuel_leaus; - public static ItemRBMKRod rbmk_fuel_heaus; - public static ItemRBMKRod rbmk_fuel_po210be; - public static ItemRBMKRod rbmk_fuel_ra226be; - public static ItemRBMKRod rbmk_fuel_pu238be; - public static ItemRBMKRod rbmk_fuel_balefire_gold; - public static ItemRBMKRod rbmk_fuel_flashlead; - public static ItemRBMKRod rbmk_fuel_balefire; - public static ItemRBMKRod rbmk_fuel_zfb_bismuth; - public static ItemRBMKRod rbmk_fuel_zfb_pu241; - public static ItemRBMKRod rbmk_fuel_zfb_am_mix; - public static ItemRBMKRod rbmk_fuel_drx; - public static ItemRBMKRod rbmk_fuel_test; - public static ItemRBMKPellet rbmk_pellet_ueu; - public static ItemRBMKPellet rbmk_pellet_meu; - public static ItemRBMKPellet rbmk_pellet_heu233; - public static ItemRBMKPellet rbmk_pellet_heu235; - public static ItemRBMKPellet rbmk_pellet_thmeu; - public static ItemRBMKPellet rbmk_pellet_lep; - public static ItemRBMKPellet rbmk_pellet_mep; - public static ItemRBMKPellet rbmk_pellet_hep239; - public static ItemRBMKPellet rbmk_pellet_hep241; - public static ItemRBMKPellet rbmk_pellet_lea; - public static ItemRBMKPellet rbmk_pellet_mea; - public static ItemRBMKPellet rbmk_pellet_hea241; - public static ItemRBMKPellet rbmk_pellet_hea242; - public static ItemRBMKPellet rbmk_pellet_men; - public static ItemRBMKPellet rbmk_pellet_hen; - public static ItemRBMKPellet rbmk_pellet_mox; - public static ItemRBMKPellet rbmk_pellet_les; - public static ItemRBMKPellet rbmk_pellet_mes; - public static ItemRBMKPellet rbmk_pellet_hes; - public static ItemRBMKPellet rbmk_pellet_leaus; - public static ItemRBMKPellet rbmk_pellet_heaus; - public static ItemRBMKPellet rbmk_pellet_po210be; - public static ItemRBMKPellet rbmk_pellet_ra226be; - public static ItemRBMKPellet rbmk_pellet_pu238be; - public static ItemRBMKPellet rbmk_pellet_balefire_gold; - public static ItemRBMKPellet rbmk_pellet_flashlead; - public static ItemRBMKPellet rbmk_pellet_balefire; - public static ItemRBMKPellet rbmk_pellet_zfb_bismuth; - public static ItemRBMKPellet rbmk_pellet_zfb_pu241; - public static ItemRBMKPellet rbmk_pellet_zfb_am_mix; - public static ItemRBMKPellet rbmk_pellet_drx; - - public static Item watz_pellet; - public static Item watz_pellet_depleted; - - public static Item icf_pellet_empty; - public static Item icf_pellet; - public static Item icf_pellet_depleted; - - public static Item scrap_plastic; - public static Item scrap; - public static Item scrap_oil; - public static Item scrap_nuclear; - public static Item trinitite; - public static Item nuclear_waste_long; - public static Item nuclear_waste_long_tiny; - public static Item nuclear_waste_short; - public static Item nuclear_waste_short_tiny; - public static Item nuclear_waste_long_depleted; - public static Item nuclear_waste_long_depleted_tiny; - public static Item nuclear_waste_short_depleted; - public static Item nuclear_waste_short_depleted_tiny; - public static Item nuclear_waste; - public static Item nuclear_waste_tiny; - public static Item nuclear_waste_vitrified; - public static Item nuclear_waste_vitrified_tiny; - - public static Item debris_graphite; - public static Item debris_metal; - public static Item debris_fuel; - public static Item debris_concrete; - public static Item debris_exchanger; - public static Item debris_shrapnel; - public static Item debris_element; - - public static Item containment_box; - public static Item plastic_bag; - - public static Item test_nuke_igniter; - public static Item test_nuke_propellant; - public static Item test_nuke_tier1_shielding; - public static Item test_nuke_tier2_shielding; - public static Item test_nuke_tier1_bullet; - public static Item test_nuke_tier2_bullet; - public static Item test_nuke_tier1_target; - public static Item test_nuke_tier2_target; - - public static Item cordite; - public static Item ballistite; - public static Item ball_dynamite; - public static Item ball_tnt; - public static Item ball_tatb; - public static Item ball_fireclay; - - public static Item pellet_cluster; - public static Item powder_fire; - public static Item powder_ice; - public static Item powder_poison; - public static Item powder_thermite; - public static Item pellet_gas; - public static Item magnetron; - public static Item pellet_buckshot; - public static Item pellet_flechette; - public static Item pellet_chlorophyte; - public static Item pellet_canister; - public static Item pellet_claws; - public static Item pellet_charged; - - public static Item designator; - public static Item designator_range; - public static Item designator_manual; - public static Item designator_arty_range; - public static Item linker; - public static Item reactor_sensor; - public static Item oil_detector; - public static Item dosimeter; - public static Item geiger_counter; - public static Item digamma_diagnostic; - public static Item pollution_detector; - public static Item ore_density_scanner; - public static Item survey_scanner; - public static Item mirror_tool; - public static Item rbmk_tool; - public static Item coltan_tool; - public static Item power_net_tool; - public static Item analysis_tool; - public static Item coupling_tool; - public static Item drone_linker; - public static Item radar_linker; - - public static Item template_folder; - public static Item journal_pip; - public static Item journal_bj; - public static Item journal_silver; - public static Item assembly_template; - public static Item chemistry_template; - public static Item chemistry_icon; - public static Item crucible_template; - public static Item fluid_identifier; - public static Item fluid_identifier_multi; - public static Item fluid_icon; - public static Item siren_track; - public static Item fluid_duct; - - public static Item bobmazon_materials; - public static Item bobmazon_machines; - public static Item bobmazon_weapons; - public static Item bobmazon_tools; - public static Item bobmazon_hidden; - - public static Item launch_code_piece; - public static Item launch_code; - public static Item launch_key; - - public static Item missile_assembly; - public static Item missile_generic; - public static Item missile_anti_ballistic; - public static Item missile_incendiary; - public static Item missile_cluster; - public static Item missile_buster; - public static Item missile_decoy; - public static Item missile_strong; - public static Item missile_incendiary_strong; - public static Item missile_cluster_strong; - public static Item missile_buster_strong; - public static Item missile_emp_strong; - public static Item missile_burst; - public static Item missile_inferno; - public static Item missile_rain; - public static Item missile_drill; - public static Item missile_nuclear; - public static Item missile_nuclear_cluster; - public static Item missile_volcano; - public static Item missile_doomsday; - public static Item missile_doomsday_rusted; - public static Item missile_taint; - public static Item missile_micro; - public static Item missile_bhole; - public static Item missile_schrabidium; - public static Item missile_emp; - public static Item missile_shuttle; - public static Item missile_stealth; - public static Item missile_test; - - public static Item mp_thruster_10_kerosene; - public static Item mp_thruster_10_kerosene_tec; - public static Item mp_thruster_10_solid; - public static Item mp_thruster_10_xenon; - public static Item mp_thruster_15_kerosene; - public static Item mp_thruster_15_kerosene_tec; - public static Item mp_thruster_15_kerosene_dual; - public static Item mp_thruster_15_kerosene_triple; - public static Item mp_thruster_15_solid; - public static Item mp_thruster_15_solid_hexdecuple; - public static Item mp_thruster_15_hydrogen; - public static Item mp_thruster_15_hydrogen_dual; - public static Item mp_thruster_15_balefire_short; - public static Item mp_thruster_15_balefire; - public static Item mp_thruster_15_balefire_large; - public static Item mp_thruster_15_balefire_large_rad; - public static Item mp_thruster_20_kerosene; - public static Item mp_thruster_20_kerosene_dual; - public static Item mp_thruster_20_kerosene_triple; - public static Item mp_thruster_20_solid; - public static Item mp_thruster_20_solid_multi; - public static Item mp_thruster_20_solid_multier; - - public static Item mp_stability_10_flat; - public static Item mp_stability_10_cruise; - public static Item mp_stability_10_space; - public static Item mp_stability_15_flat; - public static Item mp_stability_15_thin; - public static Item mp_stability_15_soyuz; - public static Item mp_stability_20_flat; - - public static Item mp_fuselage_10_kerosene; - public static Item mp_fuselage_10_kerosene_camo; - public static Item mp_fuselage_10_kerosene_desert; - public static Item mp_fuselage_10_kerosene_sky; - public static Item mp_fuselage_10_kerosene_flames; - public static Item mp_fuselage_10_kerosene_insulation; - public static Item mp_fuselage_10_kerosene_sleek; - public static Item mp_fuselage_10_kerosene_metal; - public static Item mp_fuselage_10_kerosene_taint; - - public static Item mp_fuselage_10_solid; - public static Item mp_fuselage_10_solid_flames; - public static Item mp_fuselage_10_solid_insulation; - public static Item mp_fuselage_10_solid_sleek; - public static Item mp_fuselage_10_solid_soviet_glory; - public static Item mp_fuselage_10_solid_cathedral; - public static Item mp_fuselage_10_solid_moonlit; - public static Item mp_fuselage_10_solid_battery; - public static Item mp_fuselage_10_solid_duracell; - - public static Item mp_fuselage_10_xenon; - public static Item mp_fuselage_10_xenon_bhole; - - public static Item mp_fuselage_10_long_kerosene; - public static Item mp_fuselage_10_long_kerosene_camo; - public static Item mp_fuselage_10_long_kerosene_desert; - public static Item mp_fuselage_10_long_kerosene_sky; - public static Item mp_fuselage_10_long_kerosene_flames; - public static Item mp_fuselage_10_long_kerosene_insulation; - public static Item mp_fuselage_10_long_kerosene_sleek; - public static Item mp_fuselage_10_long_kerosene_metal; - public static Item mp_fuselage_10_long_kerosene_taint; - public static Item mp_fuselage_10_long_kerosene_dash; - public static Item mp_fuselage_10_long_kerosene_vap; - - public static Item mp_fuselage_10_long_solid; - public static Item mp_fuselage_10_long_solid_flames; - public static Item mp_fuselage_10_long_solid_insulation; - public static Item mp_fuselage_10_long_solid_sleek; - public static Item mp_fuselage_10_long_solid_soviet_glory; - public static Item mp_fuselage_10_long_solid_bullet; - public static Item mp_fuselage_10_long_solid_silvermoonlight; - - public static Item mp_fuselage_10_15_kerosene; - public static Item mp_fuselage_10_15_solid; - public static Item mp_fuselage_10_15_hydrogen; - public static Item mp_fuselage_10_15_balefire; - - public static Item mp_fuselage_15_kerosene; - public static Item mp_fuselage_15_kerosene_camo; - public static Item mp_fuselage_15_kerosene_desert; - public static Item mp_fuselage_15_kerosene_sky; - public static Item mp_fuselage_15_kerosene_insulation; - public static Item mp_fuselage_15_kerosene_metal; - public static Item mp_fuselage_15_kerosene_decorated; - public static Item mp_fuselage_15_kerosene_steampunk; - public static Item mp_fuselage_15_kerosene_polite; - public static Item mp_fuselage_15_kerosene_blackjack; - public static Item mp_fuselage_15_kerosene_lambda; - public static Item mp_fuselage_15_kerosene_minuteman; - public static Item mp_fuselage_15_kerosene_pip; - public static Item mp_fuselage_15_kerosene_taint; - public static Item mp_fuselage_15_kerosene_yuck; - - public static Item mp_fuselage_15_solid; - public static Item mp_fuselage_15_solid_insulation; - public static Item mp_fuselage_15_solid_desh; - public static Item mp_fuselage_15_solid_soviet_glory; - public static Item mp_fuselage_15_solid_soviet_stank; - public static Item mp_fuselage_15_solid_faust; - public static Item mp_fuselage_15_solid_silvermoonlight; - public static Item mp_fuselage_15_solid_snowy; - public static Item mp_fuselage_15_solid_panorama; - public static Item mp_fuselage_15_solid_roses; - public static Item mp_fuselage_15_solid_mimi; - - public static Item mp_fuselage_15_hydrogen; - public static Item mp_fuselage_15_hydrogen_cathedral; - - public static Item mp_fuselage_15_balefire; - - public static Item mp_fuselage_15_20_kerosene; - public static Item mp_fuselage_15_20_kerosene_magnusson; - public static Item mp_fuselage_15_20_solid; - - public static Item mp_fuselage_20_kerosene; - - public static Item mp_warhead_10_he; - public static Item mp_warhead_10_incendiary; - public static Item mp_warhead_10_buster; - public static Item mp_warhead_10_nuclear; - public static Item mp_warhead_10_nuclear_large; - public static Item mp_warhead_10_taint; - public static Item mp_warhead_10_cloud; - public static Item mp_warhead_15_he; - public static Item mp_warhead_15_incendiary; - public static Item mp_warhead_15_nuclear; - public static Item mp_warhead_15_nuclear_shark; - public static Item mp_warhead_15_nuclear_mimi; - public static Item mp_warhead_15_boxcar; - public static Item mp_warhead_15_n2; - public static Item mp_warhead_15_balefire; - public static Item mp_warhead_15_turbine; - public static Item mp_warhead_20_he; - - public static Item mp_chip_1; - public static Item mp_chip_2; - public static Item mp_chip_3; - public static Item mp_chip_4; - public static Item mp_chip_5; - - public static Item missile_skin_camo; - public static Item missile_skin_desert; - public static Item missile_skin_flames; - public static Item missile_skin_manly_pink; - public static Item missile_skin_orange_insulation; - public static Item missile_skin_sleek; - public static Item missile_skin_soviet_glory; - public static Item missile_skin_soviet_stank; - public static Item missile_skin_metal; - - public static Item missile_custom; - - public static Item missile_carrier; - public static Item missile_soyuz; - public static Item missile_soyuz_lander; - public static Item sat_mapper; - public static Item sat_scanner; - public static Item sat_radar; - public static Item sat_laser; - public static Item sat_foeq; - public static Item sat_resonator; - public static Item sat_miner; - public static Item sat_lunar_miner; - public static Item sat_gerald; - public static Item sat_chip; - public static Item sat_interface; - public static Item sat_coord; - public static Item sat_designator; - public static Item sat_relay; - - public static ItemEnumMulti ammo_misc; - public static ItemEnumMulti ammo_12gauge; - public static ItemEnumMulti ammo_20gauge; - public static ItemEnumMulti ammo_4gauge; - public static ItemEnumMulti ammo_357; - public static ItemEnumMulti ammo_44; - public static ItemEnumMulti ammo_5mm; - public static ItemEnumMulti ammo_9mm; - public static ItemEnumMulti ammo_45; - public static ItemEnumMulti ammo_556; - public static ItemEnumMulti ammo_762; - public static ItemEnumMulti ammo_22lr; - public static ItemEnumMulti ammo_50ae; - public static ItemEnumMulti ammo_50bmg; - public static ItemEnumMulti ammo_75bolt; - public static ItemEnumMulti ammo_rocket; - public static ItemEnumMulti ammo_grenade; - public static ItemEnumMulti ammo_shell; - public static ItemEnumMulti ammo_nuke; - public static ItemEnumMulti ammo_fuel; - public static ItemEnumMulti ammo_fireext; - public static ItemEnumMulti ammo_dart; - public static ItemEnumMulti ammo_stinger_rocket; - public static ItemEnumMulti ammo_luna_sniper; - public static ItemEnumMulti ammo_coilgun; - - public static Item ammo_cell; - - public static Item ammo_folly; - public static Item ammo_folly_nuclear; - public static Item ammo_folly_du; - public static Item ammo_dgk; - public static Item ammo_arty; - public static Item ammo_himars; - - public static Item gun_rpg; - public static Item gun_karl; - public static Item gun_panzerschreck; - public static Item gun_quadro; - public static Item gun_hk69; - public static Item gun_congolake; - public static Item gun_stinger; - public static Item gun_skystinger; - public static Item gun_revolver; - public static Item gun_revolver_saturnite; - public static Item gun_revolver_gold; - public static Item gun_revolver_schrabidium; - public static Item gun_revolver_cursed; - public static Item gun_revolver_nightmare; - public static Item gun_revolver_nightmare2; - public static Item gun_revolver_pip; - public static Item gun_revolver_nopip; - public static Item gun_revolver_blackjack; - public static Item gun_revolver_silver; - public static Item gun_revolver_red; - public static Item gun_bio_revolver; - public static Item gun_deagle; - public static Item gun_flechette; - public static Item gun_ar15; - public static Item gun_calamity; - public static Item gun_minigun; - public static Item gun_lacunae; - public static Item gun_folly; - public static Item gun_fatman; - public static Item gun_proto; - public static Item gun_mirv; - public static Item gun_bf; - public static Item gun_chemthrower; - public static Item gun_mp40; - public static Item gun_thompson; - public static Item gun_uzi; - public static Item gun_uzi_silencer; - public static Item gun_uzi_saturnite; - public static Item gun_uzi_saturnite_silencer; - public static Item gun_uboinik; - public static Item gun_remington; - public static Item gun_spas12; - public static Item gun_supershotgun; - public static Item gun_benelli; - public static Item gun_ks23; - public static Item gun_sauer; - public static Item gun_lever_action; - public static Item gun_lever_action_dark; - public static Item gun_lever_action_sonata; - public static Item gun_bolt_action; - public static Item gun_bolt_action_green; - public static Item gun_bolt_action_saturnite; - public static Item gun_mymy; - public static Item gun_b92; - public static Item gun_b92_ammo; - public static Item gun_b93; - public static Item gun_coilgun; - public static Item gun_xvl1456; - public static Item gun_xvl1456_ammo; - public static Item gun_osipr; - public static Item gun_osipr_ammo; - public static Item gun_osipr_ammo2; - public static Item gun_immolator; - public static Item gun_immolator_ammo; - public static Item gun_flamer; - public static Item gun_cryolator; - public static Item gun_cryocannon; - public static Item gun_cryolator_ammo; - public static Item gun_fireext; - public static Item gun_mp; - public static Item gun_bolter; - public static Item gun_bolter_digamma; - public static Item gun_zomg; - public static Item gun_super_shotgun; - public static Item gun_moist_nugget; - public static Item gun_revolver_inverted; - public static Item gun_emp; - public static Item gun_emp_ammo; - public static Item gun_jack; - public static Item gun_jack_ammo; - public static Item gun_spark; - public static Item gun_spark_ammo; - public static Item gun_hp; - public static Item gun_hp_ammo; - public static Item gun_euthanasia; - public static Item gun_euthanasia_ammo; - public static Item gun_dash; - public static Item gun_dash_ammo; - public static Item gun_twigun; - public static Item gun_twigun_ammo; - public static Item gun_defabricator; - public static Item gun_defabricator_ammo; - public static Item gun_vortex; - public static Item gun_waluigi; - public static Item gun_darter; - public static Item gun_glass_cannon; - public static Item gun_m2; - public static Item gun_lunatic_marksman; - public static Item gun_uac_pistol; - - // We'll figure this part out later - //public static Item gun_llr, gun_mlr, gun_hlr, gun_twr, gun_lunatic, gun_lunatic_shotty; - //public static Item gun_uac_pistol, gun_uac_dmr, gun_uac_carbine, gun_uac_lmg; - //public static Item gun_benelli, gun_benelli_mod, gun_g36, spear_bishamonten, pagoda; - - public static Item crucible; - - public static Item stick_dynamite; - public static Item stick_dynamite_fishing; - public static Item stick_tnt; - public static Item stick_semtex; - public static Item stick_c4; - - public static Item grenade_generic; - public static Item grenade_strong; - public static Item grenade_frag; - public static Item grenade_fire; - public static Item grenade_shrapnel; - public static Item grenade_cluster; - public static Item grenade_flare; - public static Item grenade_electric; - public static Item grenade_poison; - public static Item grenade_gas; - public static Item grenade_pulse; - public static Item grenade_plasma; - public static Item grenade_tau; - public static Item grenade_schrabidium; - public static Item grenade_lemon; - public static Item grenade_gascan; - public static Item grenade_kyiv; - public static Item grenade_mk2; - public static Item grenade_aschrab; - public static Item grenade_nuke; - public static Item grenade_nuclear; - public static Item grenade_zomg; - public static Item grenade_black_hole; - public static Item grenade_cloud; - public static Item grenade_pink_cloud; - public static Item ullapool_caber; - - public static Item grenade_if_generic; - public static Item grenade_if_he; - public static Item grenade_if_bouncy; - public static Item grenade_if_sticky; - public static Item grenade_if_impact; - public static Item grenade_if_incendiary; - public static Item grenade_if_toxic; - public static Item grenade_if_concussion; - public static Item grenade_if_brimstone; - public static Item grenade_if_mystery; - public static Item grenade_if_spark; - public static Item grenade_if_hopwire; - public static Item grenade_if_null; - - public static Item grenade_smart; - public static Item grenade_mirv; - public static Item grenade_breach; - public static Item grenade_burst; - - public static Item nuclear_waste_pearl; - - public static Item weaponized_starblaster_cell; - - public static Item bomb_waffle; - public static Item schnitzel_vegan; - public static Item cotton_candy; - public static Item apple_lead; - public static Item apple_schrabidium; - public static Item tem_flakes; - public static Item glowing_stew; - public static Item balefire_scrambled; - public static Item balefire_and_ham; - public static Item lemon; - public static Item definitelyfood; - public static Item loops; - public static Item loop_stew; - public static Item spongebob_macaroni; - public static Item fooditem; - public static Item twinkie; - public static Item static_sandwich; - public static Item pudding; - public static Item pancake; - public static Item nugget; - public static Item peas; - public static Item marshmallow; - public static Item cheese; - public static Item quesadilla; - public static Item glyphid_meat; - public static Item glyphid_meat_grilled; - public static Item egg_glyphid; - - public static Item med_ipecac; - public static Item med_ptsd; - public static Item med_schizophrenia; - - public static Item canteen_vodka; - public static Item canteen_fab; - - public static Item defuser; - public static Item reacher; - public static Item bismuth_tool; - public static Item meltdown_tool; - - public static Item flame_pony; - public static Item flame_conspiracy; - public static Item flame_politics; - public static Item flame_opinion; - - //public static Item gadget_explosive; - public static Item early_explosive_lenses; - public static Item explosive_lenses; - public static Item gadget_wireing; - public static Item gadget_core; - public static Item boy_igniter; - public static Item boy_propellant; - public static Item boy_bullet; - public static Item boy_target; - public static Item boy_shielding; - //public static Item man_explosive; - public static Item man_igniter; - public static Item man_core; - public static Item mike_core; - public static Item mike_deut; - public static Item mike_cooling_unit; - public static Item tsar_core; - public static Item fleija_igniter; - public static Item fleija_propellant; - public static Item fleija_core; - public static Item solinium_igniter; - public static Item solinium_propellant; - public static Item solinium_core; - public static Item n2_charge; - public static Item egg_balefire_shard; - public static Item egg_balefire; - - public static Item custom_tnt; - public static Item custom_nuke; - public static Item custom_hydro; - public static Item custom_amat; - public static Item custom_dirty; - public static Item custom_schrab; - public static Item custom_fall; - - public static Item battery_generic; - public static Item battery_advanced; - public static Item battery_lithium; - public static Item battery_schrabidium; - public static Item battery_spark; - public static Item battery_trixite; - public static Item battery_creative; - - public static Item battery_red_cell; - public static Item battery_red_cell_6; - public static Item battery_red_cell_24; - public static Item battery_advanced_cell; - public static Item battery_advanced_cell_4; - public static Item battery_advanced_cell_12; - public static Item battery_lithium_cell; - public static Item battery_lithium_cell_3; - public static Item battery_lithium_cell_6; - public static Item battery_schrabidium_cell; - public static Item battery_schrabidium_cell_2; - public static Item battery_schrabidium_cell_4; - public static Item battery_spark_cell_6; - public static Item battery_spark_cell_25; - public static Item battery_spark_cell_100; - public static Item battery_spark_cell_1000; - public static Item battery_spark_cell_2500; - public static Item battery_spark_cell_10000; - public static Item battery_spark_cell_power; - public static Item cube_power; - - public static Item battery_sc_uranium; - public static Item battery_sc_technetium; - public static Item battery_sc_plutonium; - public static Item battery_sc_polonium; - public static Item battery_sc_gold; - public static Item battery_sc_lead; - public static Item battery_sc_americium; - - public static Item battery_potato; - public static Item battery_potatos; - public static Item hev_battery; - public static Item fusion_core; - public static Item fusion_core_infinite; - public static Item energy_core; - public static Item fuse; - public static Item redcoil_capacitor; - public static Item euphemium_capacitor; - //by using these in crafting table recipes, i'm running the risk of making my recipes too greg-ian (which i don't like) - //in the event that i forget about the meaning of the word "sparingly", please throw a brick at my head - public static Item screwdriver; - public static Item screwdriver_desh; - public static Item hand_drill; - public static Item hand_drill_desh; - public static Item wrench_archineer; - public static Item chemistry_set; - public static Item chemistry_set_boron; - public static Item blowtorch; - public static Item acetylene_torch; - public static Item boltgun; - public static Item overfuse; - public static Item arc_electrode; - public static Item arc_electrode_burnt; - - /*public static Item factory_core_titanium; - public static Item factory_core_advanced;*/ - - public static Item upgrade_muffler; - - public static Item upgrade_template; - public static Item upgrade_speed_1; - public static Item upgrade_speed_2; - public static Item upgrade_speed_3; - public static Item upgrade_effect_1; - public static Item upgrade_effect_2; - public static Item upgrade_effect_3; - public static Item upgrade_power_1; - public static Item upgrade_power_2; - public static Item upgrade_power_3; - public static Item upgrade_fortune_1; - public static Item upgrade_fortune_2; - public static Item upgrade_fortune_3; - public static Item upgrade_afterburn_1; - public static Item upgrade_afterburn_2; - public static Item upgrade_afterburn_3; - public static Item upgrade_overdrive_1; - public static Item upgrade_overdrive_2; - public static Item upgrade_overdrive_3; - public static Item upgrade_radius; - public static Item upgrade_health; - public static Item upgrade_smelter; - public static Item upgrade_shredder; - public static Item upgrade_centrifuge; - public static Item upgrade_crystallizer; - public static Item upgrade_nullifier; - public static Item upgrade_screm; - public static Item upgrade_gc_speed; - public static Item upgrade_5g; - public static Item upgrade_stack; - public static Item upgrade_ejector; - - public static Item ingot_euphemium; - public static Item nugget_euphemium; - public static Item euphemium_helmet; - public static Item euphemium_plate; - public static Item euphemium_legs; - public static Item euphemium_boots; - public static Item apple_euphemium; - public static Item watch; - - public static Item goggles; - public static Item ashglasses; - public static Item gas_mask; - public static Item gas_mask_m65; - public static Item gas_mask_mono; - public static Item gas_mask_olde; - public static Item mask_rag; - public static Item mask_piss; - public static Item hat; - public static Item beta; - public static Item no9; - - public static Item t45_helmet; - public static Item t45_plate; - public static Item t45_legs; - public static Item t45_boots; - public static Item steamsuit_helmet; - public static Item steamsuit_plate; - public static Item steamsuit_legs; - public static Item steamsuit_boots; - public static Item dieselsuit_helmet; - public static Item dieselsuit_plate; - public static Item dieselsuit_legs; - public static Item dieselsuit_boots; - - public static Item chainsaw; - - public static Item schrabidium_helmet; - public static Item schrabidium_plate; - public static Item schrabidium_legs; - public static Item schrabidium_boots; - public static Item titanium_helmet; - public static Item titanium_plate; - public static Item titanium_legs; - public static Item titanium_boots; - public static Item steel_helmet; - public static Item steel_plate; - public static Item steel_legs; - public static Item steel_boots; - public static Item alloy_helmet; - public static Item alloy_plate; - public static Item alloy_legs; - public static Item alloy_boots; - public static Item cmb_helmet; - public static Item cmb_plate; - public static Item cmb_legs; - public static Item cmb_boots; - public static Item paa_plate; - public static Item paa_legs; - public static Item paa_boots; - public static Item asbestos_helmet; - public static Item asbestos_plate; - public static Item asbestos_legs; - public static Item asbestos_boots; - public static Item security_helmet; - public static Item security_plate; - public static Item security_legs; - public static Item security_boots; - public static Item cobalt_helmet; - public static Item cobalt_plate; - public static Item cobalt_legs; - public static Item cobalt_boots; - public static Item starmetal_helmet; - public static Item starmetal_plate; - public static Item starmetal_legs; - public static Item starmetal_boots; - public static Item dnt_helmet; - public static Item dnt_plate; - public static Item dnt_legs; - public static Item dnt_boots; - public static Item ajr_helmet; - public static Item ajr_plate; - public static Item ajr_legs; - public static Item ajr_boots; - public static Item ajro_helmet; - public static Item ajro_plate; - public static Item ajro_legs; - public static Item ajro_boots; - public static Item rpa_helmet; - public static Item rpa_plate; - public static Item rpa_legs; - public static Item rpa_boots; - public static Item bismuth_helmet; - public static Item bismuth_plate; - public static Item bismuth_legs; - public static Item bismuth_boots; - public static Item bj_helmet; - public static Item bj_plate; - public static Item bj_plate_jetpack; - public static Item bj_legs; - public static Item bj_boots; - public static Item envsuit_helmet; - public static Item envsuit_plate; - public static Item envsuit_legs; - public static Item envsuit_boots; - public static Item hev_helmet; - public static Item hev_plate; - public static Item hev_legs; - public static Item hev_boots; - public static Item fau_helmet; - public static Item fau_plate; - public static Item fau_legs; - public static Item fau_boots; - public static Item dns_helmet; - public static Item dns_plate; - public static Item dns_legs; - public static Item dns_boots; - public static Item trenchmaster_helmet; - public static Item trenchmaster_plate; - public static Item trenchmaster_legs; - public static Item trenchmaster_boots; - public static Item zirconium_legs; - public static Item robes_helmet; - public static Item robes_plate; - public static Item robes_legs; - public static Item robes_boots; - - public static Item jetpack_boost; - public static Item jetpack_break; - public static Item jetpack_fly; - public static Item jetpack_vector; - public static Item wings_limp; - public static Item wings_murk; - - public static Item jackt; - public static Item jackt2; - - public static Item schrabidium_sword; - public static Item schrabidium_pickaxe; - public static Item schrabidium_axe; - public static Item schrabidium_shovel; - public static Item schrabidium_hoe; - public static Item titanium_sword; - public static Item titanium_pickaxe; - public static Item titanium_axe; - public static Item titanium_shovel; - public static Item titanium_hoe; - public static Item steel_sword; - public static Item steel_pickaxe; - public static Item steel_axe; - public static Item steel_shovel; - public static Item steel_hoe; - public static Item alloy_sword; - public static Item alloy_pickaxe; - public static Item alloy_axe; - public static Item alloy_shovel; - public static Item alloy_hoe; - public static Item cmb_sword; - public static Item cmb_pickaxe; - public static Item cmb_axe; - public static Item cmb_shovel; - public static Item cmb_hoe; - public static Item elec_sword; - public static Item elec_pickaxe; - public static Item elec_axe; - public static Item elec_shovel; - public static Item desh_sword; - public static Item desh_pickaxe; - public static Item desh_axe; - public static Item desh_shovel; - public static Item desh_hoe; - public static Item cobalt_sword; - public static Item cobalt_pickaxe; - public static Item cobalt_axe; - public static Item cobalt_shovel; - public static Item cobalt_hoe; - public static Item cobalt_decorated_sword; - public static Item cobalt_decorated_pickaxe; - public static Item cobalt_decorated_axe; - public static Item cobalt_decorated_shovel; - public static Item cobalt_decorated_hoe; - public static Item starmetal_sword; - public static Item starmetal_pickaxe; - public static Item starmetal_axe; - public static Item starmetal_shovel; - public static Item starmetal_hoe; - public static Item smashing_hammer; - public static Item centri_stick; - public static Item drax; - public static Item drax_mk2; - public static Item drax_mk3; - public static Item bismuth_pickaxe; - public static Item bismuth_axe; - public static Item volcanic_pickaxe; - public static Item volcanic_axe; - public static Item chlorophyte_pickaxe; - public static Item chlorophyte_axe; - public static Item mese_pickaxe; - public static Item mese_axe; - public static Item dnt_sword; - public static Item dwarven_pickaxe; - - public static Item meteorite_sword; - public static Item meteorite_sword_seared; - public static Item meteorite_sword_reforged; - public static Item meteorite_sword_hardened; - public static Item meteorite_sword_alloyed; - public static Item meteorite_sword_machined; - public static Item meteorite_sword_treated; - public static Item meteorite_sword_etched; - public static Item meteorite_sword_bred; - public static Item meteorite_sword_irradiated; - public static Item meteorite_sword_fused; - public static Item meteorite_sword_baleful; - - public static Item matchstick; - public static Item balefire_and_steel; - - public static Item mask_of_infamy; - - public static Item schrabidium_hammer; - public static Item shimmer_sledge; - public static Item shimmer_axe; - public static Item bottle_opener; - public static Item pch; //for compat please do not hit me - public static Item wood_gavel; - public static Item lead_gavel; - public static Item diamond_gavel; - public static Item mese_gavel; - - public static Item crowbar; - - public static Item wrench; - public static Item wrench_flipped; - public static Item memespoon; - - public static Item multitool_hit; - public static Item multitool_dig; - public static Item multitool_silk; - public static Item multitool_ext; - public static Item multitool_miner; - public static Item multitool_beam; - public static Item multitool_sky; - public static Item multitool_mega; - public static Item multitool_joule; - public static Item multitool_decon; - - public static Item saw; - public static Item bat; - public static Item bat_nail; - public static Item golf_club; - public static Item pipe_rusty; - public static Item pipe_lead; - public static Item reer_graar; - public static Item stopsign; - public static Item sopsign; - public static Item chernobylsign; - - public static Item crystal_horn; - public static Item crystal_charred; - - public static Item attachment_mask; - public static Item attachment_mask_mono; - public static Item back_tesla; - public static Item servo_set; - public static Item servo_set_desh; - public static Item pads_rubber; - public static Item pads_slime; - public static Item pads_static; - public static Item cladding_paint; - public static Item cladding_rubber; - public static Item cladding_lead; - public static Item cladding_desh; - public static Item cladding_ghiorsium; - public static Item cladding_iron; - public static Item cladding_obsidian; - public static Item insert_kevlar; - public static Item insert_sapi; - public static Item insert_esapi; - public static Item insert_xsapi; - public static Item insert_steel; - public static Item insert_du; - public static Item insert_polonium; - public static Item insert_ghiorsium; - public static Item insert_era; - public static Item insert_yharonite; - public static Item insert_doxium; - public static Item armor_polish; - public static Item bandaid; - public static Item serum; - public static Item quartz_plutonium; - public static Item morning_glory; - public static Item lodestone; - public static Item horseshoe_magnet; - public static Item industrial_magnet; - public static Item bathwater; - public static Item bathwater_mk2; - public static Item spider_milk; - public static Item ink; - public static Item heart_piece; - public static Item heart_container; - public static Item heart_booster; - public static Item heart_fab; - public static Item black_diamond; - public static Item wd40; - public static Item scrumpy; - public static Item wild_p; - public static Item fabsols_vodka; - public static Item shackles; - public static Item injector_5htp; - public static Item injector_knife; - public static Item medal_liquidator; - public static Item bottled_cloud; - public static Item protection_charm; - public static Item meteor_charm; - public static Item neutrino_lens; - public static Item gas_tester; - public static Item defuser_gold; - public static Item ballistic_gauntlet; - public static Item night_vision; - public static Item card_aos; - public static Item card_qos; - public static Item australium_iii; - public static Item armor_battery; - public static Item armor_battery_mk2; - public static Item armor_battery_mk3; - - public static Item hazmat_helmet; - public static Item hazmat_plate; - public static Item hazmat_legs; - public static Item hazmat_boots; - public static Item hazmat_helmet_red; - public static Item hazmat_plate_red; - public static Item hazmat_legs_red; - public static Item hazmat_boots_red; - public static Item hazmat_helmet_grey; - public static Item hazmat_plate_grey; - public static Item hazmat_legs_grey; - public static Item hazmat_boots_grey; - public static Item liquidator_helmet; - public static Item liquidator_plate; - public static Item liquidator_legs; - public static Item liquidator_boots; - - public static Item hazmat_paa_helmet; - public static Item hazmat_paa_plate; - public static Item hazmat_paa_legs; - public static Item hazmat_paa_boots; - - public static Item wand; - public static Item wand_s; - public static Item wand_d; - - public static Item structure_single; - public static Item structure_solid; - public static Item structure_pattern; - public static Item structure_randomized; - public static Item structure_randomly; - public static Item structure_custommachine; - - public static Item rod_of_discord; - - public static Item cape_radiation; - public static Item cape_gasmask; - public static Item cape_schrabidium; - public static Item cape_hidden; - - public static Item nuke_starter_kit; - public static Item nuke_advanced_kit; - public static Item nuke_commercially_kit; - public static Item nuke_electric_kit; - public static Item gadget_kit; - public static Item boy_kit; - public static Item man_kit; - public static Item mike_kit; - public static Item tsar_kit; - public static Item multi_kit; - public static Item custom_kit; - public static Item grenade_kit; - public static Item fleija_kit; - public static Item prototype_kit; - public static Item missile_kit; - public static Item t45_kit; - public static Item euphemium_kit; - public static Item solinium_kit; - public static Item hazmat_kit; - public static Item hazmat_red_kit; - public static Item hazmat_grey_kit; - public static Item kit_custom; - public static Item kit_toolbox_empty; - public static Item kit_toolbox; - - public static Item loot_10; - public static Item loot_15; - public static Item loot_misc; - - public static Item clip_revolver_iron; - public static Item clip_revolver; - public static Item clip_revolver_gold; - public static Item clip_revolver_lead; - public static Item clip_revolver_schrabidium; - public static Item clip_revolver_cursed; - public static Item clip_revolver_nightmare; - public static Item clip_revolver_nightmare2; - public static Item clip_revolver_pip; - public static Item clip_revolver_nopip; - public static Item clip_rpg; - public static Item clip_stinger; - public static Item clip_fatman; - public static Item clip_mirv; - public static Item clip_bf; - public static Item clip_mp40; - public static Item clip_uzi; - public static Item clip_uboinik; - public static Item clip_lever_action; - public static Item clip_bolt_action; - public static Item clip_osipr; - public static Item clip_immolator; - public static Item clip_cryolator; - public static Item clip_mp; - public static Item clip_xvl1456; - public static Item clip_emp; - public static Item clip_jack; - public static Item clip_spark; - public static Item clip_hp; - public static Item clip_euthanasia; - public static Item clip_defabricator; - - public static Item ammo_container; - - public static Item igniter; - public static Item detonator; - public static Item detonator_multi; - public static Item detonator_laser; - public static Item detonator_deadman; - public static Item detonator_de; - public static Item crate_caller; - public static Item bomb_caller; - public static Item meteor_remote; - public static Item anchor_remote; - public static Item remote; - //public static Item turret_control; - public static Item turret_chip; - //public static Item turret_biometry; - - public static Item spawn_chopper; - public static Item spawn_worm; - public static Item spawn_ufo; - public static Item spawn_duck; - - public static Item key; - public static Item key_red; - public static Item key_red_cracked; - public static Item key_kit; - public static Item key_fake; - public static Item pin; - public static Item padlock_rusty; - public static Item padlock; - public static Item padlock_reinforced; - public static Item padlock_unbreakable; - - public static Item mech_key; - - public static Item bucket_mud; - public static Item bucket_acid; - public static Item bucket_toxic; - public static Item bucket_schrabidic_acid; - public static Item bucket_sulfuric_acid; - - public static Item door_metal; - public static Item door_office; - public static Item door_bunker; - public static Item door_red; - - public static Item sliding_blast_door_skin; - - public static Item record_lc; - public static Item record_ss; - public static Item record_vc; - public static Item record_glass; - - public static Item book_guide; - public static Item book_lore; - public static Item holotape_image; - public static Item holotape_damaged; - - public static Item polaroid; - public static Item glitch; - public static Item letter; - public static Item book_secret; - public static Item book_of_; - public static Item page_of_; - public static Item book_lemegeton; - public static Item burnt_bark; - - public static Item b_smoke1; - public static Item b_smoke2; - public static Item b_smoke3; - public static Item b_smoke4; - public static Item b_smoke5; - public static Item b_smoke6; - public static Item b_smoke7; - public static Item b_smoke8; - public static Item chlorine1; - public static Item chlorine2; - public static Item chlorine3; - public static Item chlorine4; - public static Item chlorine5; - public static Item chlorine6; - public static Item chlorine7; - public static Item chlorine8; - public static Item pc1; - public static Item pc2; - public static Item pc3; - public static Item pc4; - public static Item pc5; - public static Item pc6; - public static Item pc7; - public static Item pc8; - public static Item cloud1; - public static Item cloud2; - public static Item cloud3; - public static Item cloud4; - public static Item cloud5; - public static Item cloud6; - public static Item cloud7; - public static Item cloud8; - public static Item orange1; - public static Item orange2; - public static Item orange3; - public static Item orange4; - public static Item orange5; - public static Item orange6; - public static Item orange7; - public static Item orange8; - /*public static Item gasflame1; - public static Item gasflame2; - public static Item gasflame3; - public static Item gasflame4; - public static Item gasflame5; - public static Item gasflame6; - public static Item gasflame7; - public static Item gasflame8;*/ - public static Item flame_1; - public static Item flame_2; - public static Item flame_3; - public static Item flame_4; - public static Item flame_5; - public static Item flame_6; - public static Item flame_7; - public static Item flame_8; - public static Item flame_9; - public static Item flame_10; - public static Item ln2_1; - public static Item ln2_2; - public static Item ln2_3; - public static Item ln2_4; - public static Item ln2_5; - public static Item ln2_6; - public static Item ln2_7; - public static Item ln2_8; - public static Item ln2_9; - public static Item ln2_10; - public static Item nothing; - - public static Item achievement_icon; - public static Item bob_metalworks; - public static Item bob_assembly; - public static Item bob_chemistry; - public static Item bob_oil; - public static Item bob_nuclear; - - public static Item mysteryshovel; - public static Item memory; - - public static void initializeItem() - { - redstone_sword = new RedstoneSword(ToolMaterial.STONE).setUnlocalizedName("redstone_sword").setCreativeTab(CreativeTabs.tabCombat).setTextureName(RefStrings.MODID + ":redstone_sword"); - big_sword = new BigSword(ToolMaterial.EMERALD).setUnlocalizedName("big_sword").setCreativeTab(CreativeTabs.tabCombat).setTextureName(RefStrings.MODID + ":big_sword"); - - test_nuke_igniter = new Item().setUnlocalizedName("test_nuke_igniter").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_nuke_igniter"); - test_nuke_propellant = new Item().setUnlocalizedName("test_nuke_propellant").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_nuke_propellant"); - test_nuke_tier1_shielding = new Item().setUnlocalizedName("test_nuke_tier1_shielding").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_nuke_tier1_shielding"); - test_nuke_tier2_shielding = new Item().setUnlocalizedName("test_nuke_tier2_shielding").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_nuke_tier2_shielding"); - test_nuke_tier1_bullet = new Item().setUnlocalizedName("test_nuke_tier1_bullet").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_nuke_tier1_bullet"); - test_nuke_tier2_bullet = new Item().setUnlocalizedName("test_nuke_tier2_bullet").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_nuke_tier2_bullet"); - test_nuke_tier1_target = new Item().setUnlocalizedName("test_nuke_tier1_target").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_nuke_tier1_target"); - test_nuke_tier2_target = new Item().setUnlocalizedName("test_nuke_tier2_target").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":test_nuke_tier2_target"); - - ingot_th232 = new Item().setUnlocalizedName("ingot_th232").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_th232"); - ingot_uranium = new Item().setUnlocalizedName("ingot_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_uranium"); - ingot_u233 = new Item().setUnlocalizedName("ingot_u233").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_u233"); - ingot_u235 = new Item().setUnlocalizedName("ingot_u235").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_u235"); - ingot_u238 = new Item().setUnlocalizedName("ingot_u238").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_u238"); - ingot_u238m2 = new ItemUnstable(350, 200).setUnlocalizedName("ingot_u238m2").setCreativeTab(null).setTextureName(RefStrings.MODID + ":ingot_u238m2"); - ingot_plutonium = new Item().setUnlocalizedName("ingot_plutonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_plutonium"); - ingot_pu238 = new Item().setUnlocalizedName("ingot_pu238").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pu238"); - ingot_pu239 = new Item().setUnlocalizedName("ingot_pu239").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pu239"); - ingot_pu240 = new Item().setUnlocalizedName("ingot_pu240").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pu240"); - ingot_pu241 = new Item().setUnlocalizedName("ingot_pu241").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pu241"); - ingot_pu_mix = new Item().setUnlocalizedName("ingot_pu_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pu_mix"); - ingot_am241 = new Item().setUnlocalizedName("ingot_am241").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_am241"); - ingot_am242 = new Item().setUnlocalizedName("ingot_am242").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_am242"); - ingot_am_mix = new Item().setUnlocalizedName("ingot_am_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_am_mix"); - ingot_neptunium = new ItemCustomLore().setUnlocalizedName("ingot_neptunium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_neptunium"); - ingot_polonium = new Item().setUnlocalizedName("ingot_polonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_polonium"); - ingot_technetium = new Item().setUnlocalizedName("ingot_technetium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_technetium"); - ingot_co60 = new Item().setUnlocalizedName("ingot_co60").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_co60"); - ingot_sr90 = new Item().setUnlocalizedName("ingot_sr90").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_sr90"); - ingot_au198 = new Item().setUnlocalizedName("ingot_au198").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_au198"); - ingot_pb209 = new Item().setUnlocalizedName("ingot_pb209").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pb209"); - ingot_ra226 = new Item().setUnlocalizedName("ingot_ra226").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_ra226"); - ingot_titanium = new Item().setUnlocalizedName("ingot_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_titanium"); - ingot_cobalt = new Item().setUnlocalizedName("ingot_cobalt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_cobalt"); - ingot_boron = new Item().setUnlocalizedName("ingot_boron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_boron"); - ingot_graphite = new Item().setUnlocalizedName("ingot_graphite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_graphite"); - ingot_firebrick = new Item().setUnlocalizedName("ingot_firebrick").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_firebrick"); - ingot_smore = new ItemFood(10, 20F, false).setUnlocalizedName("ingot_smore").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_smore"); - sulfur = new Item().setUnlocalizedName("sulfur").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sulfur"); - nitra = new Item().setUnlocalizedName("nitra").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nitra"); - nitra_small = new Item().setUnlocalizedName("nitra_small").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nitra_small"); - - ingot_uranium_fuel = new Item().setUnlocalizedName("ingot_uranium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_uranium_fuel"); - ingot_plutonium_fuel = new Item().setUnlocalizedName("ingot_plutonium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_plutonium_fuel"); - ingot_neptunium_fuel = new Item().setUnlocalizedName("ingot_neptunium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_neptunium_fuel"); - ingot_mox_fuel = new Item().setUnlocalizedName("ingot_mox_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_mox_fuel"); - ingot_americium_fuel = new Item().setUnlocalizedName("ingot_americium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_americium_fuel"); - ingot_schrabidium_fuel = new Item().setUnlocalizedName("ingot_schrabidium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_schrabidium_fuel"); - ingot_thorium_fuel = new Item().setUnlocalizedName("ingot_thorium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_thorium_fuel"); - nugget_uranium_fuel = new Item().setUnlocalizedName("nugget_uranium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_uranium_fuel"); - nugget_thorium_fuel = new Item().setUnlocalizedName("nugget_thorium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_thorium_fuel"); - nugget_plutonium_fuel = new Item().setUnlocalizedName("nugget_plutonium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_plutonium_fuel"); - nugget_neptunium_fuel = new Item().setUnlocalizedName("nugget_neptunium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_neptunium_fuel"); - nugget_mox_fuel = new Item().setUnlocalizedName("nugget_mox_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_mox_fuel"); - nugget_americium_fuel = new Item().setUnlocalizedName("nugget_americium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_americium_fuel"); - nugget_schrabidium_fuel = new Item().setUnlocalizedName("nugget_schrabidium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_schrabidium_fuel"); - ingot_advanced_alloy = new Item().setUnlocalizedName("ingot_advanced_alloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_advanced_alloy"); - ingot_tcalloy = new Item().setUnlocalizedName("ingot_tcalloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_tcalloy"); - ingot_cdalloy = new Item().setUnlocalizedName("ingot_cdalloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_cdalloy"); - ingot_bismuth_bronze = new Item().setUnlocalizedName("ingot_bismuth_bronze").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_bismuth_bronze"); - ingot_arsenic_bronze = new Item().setUnlocalizedName("ingot_arsenic_bronze").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_arsenic_bronze"); - ingot_bscco = new Item().setUnlocalizedName("ingot_bscco").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_bscco"); - - niter = new Item().setUnlocalizedName("niter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":salpeter"); - ingot_copper = new Item().setUnlocalizedName("ingot_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_copper"); - ingot_red_copper = new Item().setUnlocalizedName("ingot_red_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_red_copper"); - ingot_tungsten = new Item().setUnlocalizedName("ingot_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_tungsten"); - ingot_aluminium = new Item().setUnlocalizedName("ingot_aluminium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_aluminium"); - fluorite = new Item().setUnlocalizedName("fluorite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fluorite"); - ingot_beryllium = new Item().setUnlocalizedName("ingot_beryllium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_beryllium"); - ingot_steel = new Item().setUnlocalizedName("ingot_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_steel"); - plate_steel = new Item().setUnlocalizedName("plate_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_steel"); - plate_iron = new Item().setUnlocalizedName("plate_iron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_iron"); - ingot_lead = new Item().setUnlocalizedName("ingot_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_lead"); - plate_lead = new Item().setUnlocalizedName("plate_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_lead"); - plate_dura_steel = new Item().setUnlocalizedName("plate_dura_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_dura_steel"); - ingot_schraranium = new ItemSchraranium().setUnlocalizedName("ingot_schraranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_schraranium"); - ingot_schrabidium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("ingot_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_schrabidium"); - ingot_schrabidate = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("ingot_schrabidate").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_schrabidate"); - plate_schrabidium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("plate_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_schrabidium"); - plate_copper = new Item().setUnlocalizedName("plate_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_copper"); - plate_gold = new Item().setUnlocalizedName("plate_gold").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_gold"); - plate_advanced_alloy = new Item().setUnlocalizedName("plate_advanced_alloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_advanced_alloy"); - lithium = new Item().setUnlocalizedName("lithium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":lithium"); - ingot_zirconium = new Item().setUnlocalizedName("ingot_zirconium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_zirconium"); - ingot_semtex = new ItemLemon(4, 5, true).setUnlocalizedName("ingot_semtex").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_semtex"); - ingot_c4 = new Item().setUnlocalizedName("ingot_c4").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_c4"); - ingot_phosphorus = new Item().setUnlocalizedName("ingot_phosphorus").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_phosphorus"); - wire_advanced_alloy = new Item().setUnlocalizedName("wire_advanced_alloy").setCreativeTab(null).setTextureName(RefStrings.MODID + ":wire_advanced_alloy"); - coil_advanced_alloy = new Item().setUnlocalizedName("coil_advanced_alloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_advanced_alloy"); - coil_advanced_torus = new Item().setUnlocalizedName("coil_advanced_torus").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_advanced_torus"); - ingot_magnetized_tungsten = new Item().setUnlocalizedName("ingot_magnetized_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_magnetized_tungsten"); - ingot_combine_steel = new ItemCustomLore().setUnlocalizedName("ingot_combine_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_combine_steel"); - plate_mixed = new Item().setUnlocalizedName("plate_mixed").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_mixed"); - plate_paa = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("plate_paa").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_paa"); - pipes_steel = new Item().setUnlocalizedName("pipes_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pipes_steel"); - drill_titanium = new Item().setUnlocalizedName("drill_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":drill_titanium"); - plate_dalekanium = new Item().setUnlocalizedName("plate_dalekanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_dalekanium"); - plate_euphemium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("plate_euphemium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_euphemium"); - bolt = new ItemAutogen(MaterialShapes.BOLT).oun("boltntm").setUnlocalizedName("bolt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bolt"); - bolt_spike = new ItemCustomLore().setUnlocalizedName("bolt_spike").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bolt_spike"); - plate_polymer = new Item().setUnlocalizedName("plate_polymer").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_polymer"); - plate_kevlar = new Item().setUnlocalizedName("plate_kevlar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_kevlar"); - plate_dineutronium = new Item().setUnlocalizedName("plate_dineutronium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_dineutronium"); - plate_desh = new Item().setUnlocalizedName("plate_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_desh"); - plate_bismuth = new ItemCustomLore().setUnlocalizedName("plate_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_bismuth"); - ingot_solinium = new Item().setUnlocalizedName("ingot_solinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_solinium"); - nugget_solinium = new Item().setUnlocalizedName("nugget_solinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_solinium"); - photo_panel = new Item().setUnlocalizedName("photo_panel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":photo_panel"); - sat_base = new Item().setUnlocalizedName("sat_base").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sat_base"); - thruster_nuclear = new Item().setUnlocalizedName("thruster_nuclear").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":thruster_nuclear"); - safety_fuse = new Item().setUnlocalizedName("safety_fuse").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":safety_fuse"); - part_generic = new ItemGenericPart().setUnlocalizedName("part_generic").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":part_generic"); - item_secret = new ItemEnumMulti(EnumSecretType.class, true, true).setUnlocalizedName("item_secret").setCreativeTab(null).setTextureName(RefStrings.MODID + ":item_secret"); - chemical_dye = new ItemChemicalDye().setUnlocalizedName("chemical_dye").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":chemical_dye"); - crayon = new ItemCrayon().setUnlocalizedName("crayon").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crayon"); - - undefined = new ItemCustomLore().setUnlocalizedName("undefined").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":undefined"); - - billet_uranium = new Item().setUnlocalizedName("billet_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_uranium"); - billet_u233 = new Item().setUnlocalizedName("billet_u233").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_u233"); - billet_u235 = new Item().setUnlocalizedName("billet_u235").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_u235"); - billet_u238 = new Item().setUnlocalizedName("billet_u238").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_u238"); - billet_th232 = new Item().setUnlocalizedName("billet_th232").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_th232"); - billet_plutonium = new Item().setUnlocalizedName("billet_plutonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_plutonium"); - billet_pu238 = new Item().setUnlocalizedName("billet_pu238").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_pu238"); - billet_pu239 = new Item().setUnlocalizedName("billet_pu239").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_pu239"); - billet_pu240 = new Item().setUnlocalizedName("billet_pu240").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_pu240"); - billet_pu241 = new Item().setUnlocalizedName("billet_pu241").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_pu241"); - billet_pu_mix = new Item().setUnlocalizedName("billet_pu_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_pu_mix"); - billet_am241 = new Item().setUnlocalizedName("billet_am241").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_am241"); - billet_am242 = new Item().setUnlocalizedName("billet_am242").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_am242"); - billet_am_mix = new Item().setUnlocalizedName("billet_am_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_am_mix"); - billet_neptunium = new Item().setUnlocalizedName("billet_neptunium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_neptunium"); - billet_polonium = new Item().setUnlocalizedName("billet_polonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_polonium"); - billet_technetium = new Item().setUnlocalizedName("billet_technetium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_technetium"); - billet_cobalt = new Item().setUnlocalizedName("billet_cobalt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_cobalt"); - billet_co60 = new Item().setUnlocalizedName("billet_co60").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_co60"); - billet_sr90 = new Item().setUnlocalizedName("billet_sr90").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_sr90"); - billet_au198 = new Item().setUnlocalizedName("billet_au198").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_au198"); - billet_pb209 = new Item().setUnlocalizedName("billet_pb209").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_pb209"); - billet_ra226 = new Item().setUnlocalizedName("billet_ra226").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_ra226"); - billet_actinium = new Item().setUnlocalizedName("billet_actinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_actinium"); - billet_schrabidium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("billet_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_schrabidium"); - billet_solinium = new Item().setUnlocalizedName("billet_solinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_solinium"); - billet_gh336 = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("billet_gh336").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_gh336"); - billet_australium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("billet_australium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_australium"); - billet_australium_lesser = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("billet_australium_lesser").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_australium_lesser"); - billet_australium_greater = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("billet_australium_greater").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_australium_greater"); - billet_uranium_fuel = new Item().setUnlocalizedName("billet_uranium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_uranium_fuel"); - billet_thorium_fuel = new Item().setUnlocalizedName("billet_thorium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_thorium_fuel"); - billet_plutonium_fuel = new Item().setUnlocalizedName("billet_plutonium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_plutonium_fuel"); - billet_neptunium_fuel = new Item().setUnlocalizedName("billet_neptunium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_neptunium_fuel"); - billet_mox_fuel = new Item().setUnlocalizedName("billet_mox_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_mox_fuel"); - billet_americium_fuel = new Item().setUnlocalizedName("billet_americium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_americium_fuel"); - billet_les = new Item().setUnlocalizedName("billet_les").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_les"); - billet_schrabidium_fuel = new Item().setUnlocalizedName("billet_schrabidium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_schrabidium_fuel"); - billet_hes = new Item().setUnlocalizedName("billet_hes").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_hes"); - billet_po210be = new Item().setUnlocalizedName("billet_po210be").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_po210be"); - billet_ra226be = new Item().setUnlocalizedName("billet_ra226be").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_ra226be"); - billet_pu238be = new Item().setUnlocalizedName("billet_pu238be").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_pu238be"); - billet_beryllium = new Item().setUnlocalizedName("billet_beryllium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_beryllium"); - billet_bismuth = new Item().setUnlocalizedName("billet_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_bismuth"); - billet_zirconium = new Item().setUnlocalizedName("billet_zirconium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_zirconium"); - billet_yharonite = new Item().setUnlocalizedName("billet_yharonite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_yharonite"); - billet_balefire_gold = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("billet_balefire_gold").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_balefire_gold"); - billet_flashlead = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("billet_flashlead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_flashlead"); - billet_zfb_bismuth = new Item().setUnlocalizedName("billet_zfb_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_zfb_bismuth"); - billet_zfb_pu241 = new Item().setUnlocalizedName("billet_zfb_pu241").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_zfb_pu241"); - billet_zfb_am_mix = new Item().setUnlocalizedName("billet_zfb_am_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_zfb_am_mix"); - billet_nuclear_waste = new Item().setUnlocalizedName("billet_nuclear_waste").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_nuclear_waste"); - - ball_resin = new ItemCustomLore().setUnlocalizedName("ball_resin").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ball_resin"); - ingot_dura_steel = new ItemCustomLore().setUnlocalizedName("ingot_dura_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_dura_steel"); - ingot_polymer = new ItemCustomLore().setUnlocalizedName("ingot_polymer").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_polymer"); - ingot_bakelite = new ItemCustomLore().setUnlocalizedName("ingot_bakelite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_bakelite"); - ingot_biorubber = new ItemCustomLore().setUnlocalizedName("ingot_biorubber").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_biorubber"); - ingot_rubber = new ItemCustomLore().setUnlocalizedName("ingot_rubber").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_rubber"); - //ingot_pet = new ItemCustomLore().setUnlocalizedName("ingot_pet").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pet"); - ingot_pc = new ItemCustomLore().setUnlocalizedName("ingot_pc").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pc"); - ingot_pvc = new ItemCustomLore().setUnlocalizedName("ingot_pvc").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pvc"); - ingot_desh = new ItemCustomLore().setUnlocalizedName("ingot_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_desh"); - nugget_desh = new ItemCustomLore().setUnlocalizedName("nugget_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_desh"); - ingot_dineutronium = new ItemCustomLore().setUnlocalizedName("ingot_dineutronium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_dineutronium"); - nugget_dineutronium = new ItemCustomLore().setUnlocalizedName("nugget_dineutronium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_dineutronium"); - powder_dineutronium = new ItemCustomLore().setUnlocalizedName("powder_dineutronium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_dineutronium"); - ingot_starmetal = new ItemStarmetal().setUnlocalizedName("ingot_starmetal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_starmetal"); - ingot_saturnite = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("ingot_saturnite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_saturnite"); - plate_saturnite = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("plate_saturnite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_saturnite"); - ingot_ferrouranium = new ItemCustomLore().setUnlocalizedName("ingot_ferrouranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_ferrouranium"); - ingot_fiberglass = new ItemCustomLore().setUnlocalizedName("ingot_fiberglass").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_fiberglass"); - ingot_asbestos = new ItemCustomLore().setUnlocalizedName("ingot_asbestos").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_asbestos"); - powder_asbestos = new ItemCustomLore().setUnlocalizedName("powder_asbestos").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_asbestos"); - ingot_electronium = new ItemCustomLore().setUnlocalizedName("ingot_electronium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_electronium"); - nugget_zirconium = new ItemCustomLore().setUnlocalizedName("nugget_zirconium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_zirconium"); - nugget_mercury = new Item().setUnlocalizedName("nugget_mercury_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_mercury_tiny"); - ingot_mercury = new ItemCustomLore().setUnlocalizedName("nugget_mercury").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_mercury"); - bottle_mercury = new ItemCustomLore().setUnlocalizedName("bottle_mercury").setContainerItem(Items.glass_bottle).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bottle_mercury"); - ingot_calcium = new Item().setUnlocalizedName("ingot_calcium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_calcium"); - powder_calcium = new Item().setUnlocalizedName("powder_calcium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_calcium"); - ingot_cadmium = new Item().setUnlocalizedName("ingot_cadmium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_cadmium"); - powder_cadmium = new Item().setUnlocalizedName("powder_cadmium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cadmium"); - powder_bismuth = new Item().setUnlocalizedName("powder_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_bismuth"); - ingot_mud = new Item().setUnlocalizedName("ingot_mud").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_mud"); - ingot_cft = new Item().setUnlocalizedName("ingot_cft").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_cft"); - - ore_byproduct = new ItemByproduct().setUnlocalizedName("ore_byproduct").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":byproduct"); - - ore_bedrock = new ItemBedrockOre().setUnlocalizedName("ore_bedrock").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_bedrock"); - ore_centrifuged = new ItemBedrockOre().setUnlocalizedName("ore_centrifuged").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_centrifuged"); - ore_cleaned = new ItemBedrockOre().setUnlocalizedName("ore_cleaned").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_cleaned"); - ore_separated = new ItemBedrockOre().setUnlocalizedName("ore_separated").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_separated"); - ore_purified = new ItemBedrockOre().setUnlocalizedName("ore_purified").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_purified"); - ore_nitrated = new ItemBedrockOre().setUnlocalizedName("ore_nitrated").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_nitrated"); - ore_nitrocrystalline = new ItemBedrockOre().setUnlocalizedName("ore_nitrocrystalline").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_nitrocrystalline"); - ore_deepcleaned = new ItemBedrockOre().setUnlocalizedName("ore_deepcleaned").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_deepcleaned"); - ore_seared = new ItemBedrockOre().setUnlocalizedName("ore_seared").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_seared"); - ore_enriched = new ItemBedrockOre().setUnlocalizedName("ore_enriched").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_enriched"); - bedrock_ore_base = new ItemBedrockOreBase().setUnlocalizedName("bedrock_ore_base").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bedrock_ore_new"); - bedrock_ore = new ItemBedrockOreNew().setUnlocalizedName("bedrock_ore").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bedrock_ore_new"); - bedrock_ore_fragment = new ItemAutogen(MaterialShapes.FRAGMENT).aot(Mats.MAT_BISMUTH, "bedrock_ore_fragment_bismuth").setUnlocalizedName("bedrock_ore_fragment").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bedrock_ore_fragment"); - - ingot_lanthanium = new ItemCustomLore().setUnlocalizedName("ingot_lanthanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_lanthanium"); - ingot_actinium = new ItemCustomLore().setUnlocalizedName("ingot_actinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_actinium"); - - ingot_meteorite = new ItemHot(200).setUnlocalizedName("ingot_meteorite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_meteorite"); - ingot_meteorite_forged = new ItemHot(200).setUnlocalizedName("ingot_meteorite_forged").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_meteorite_forged"); - blade_meteorite = new ItemHot(200).setUnlocalizedName("blade_meteorite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":blade_meteorite"); - ingot_steel_dusted = new ItemHotDusted(200).setUnlocalizedName("ingot_steel_dusted").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_steel_dusted"); - ingot_chainsteel = new ItemHot(100).setUnlocalizedName("ingot_chainsteel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_chainsteel"); - - plate_armor_titanium = new Item().setUnlocalizedName("plate_armor_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_titanium"); - plate_armor_ajr = new Item().setUnlocalizedName("plate_armor_ajr").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_ajr"); - plate_armor_hev = new Item().setUnlocalizedName("plate_armor_hev").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_hev"); - plate_armor_lunar = new Item().setUnlocalizedName("plate_armor_lunar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_lunar"); - plate_armor_fau = new Item().setUnlocalizedName("plate_armor_fau").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_fau"); - plate_armor_dnt = new Item().setUnlocalizedName("plate_armor_dnt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_dnt"); - - oil_tar = new ItemEnumMulti(EnumTarType.class, true, true).setUnlocalizedName("oil_tar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":oil_tar"); - solid_fuel = new Item().setUnlocalizedName("solid_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":solid_fuel"); - solid_fuel_presto = new Item().setUnlocalizedName("solid_fuel_presto").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":solid_fuel_presto"); - solid_fuel_presto_triplet = new Item().setUnlocalizedName("solid_fuel_presto_triplet").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":solid_fuel_presto_triplet"); - solid_fuel_bf = new Item().setUnlocalizedName("solid_fuel_bf").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":solid_fuel_bf"); - solid_fuel_presto_bf = new Item().setUnlocalizedName("solid_fuel_presto_bf").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":solid_fuel_presto_bf"); - solid_fuel_presto_triplet_bf = new Item().setUnlocalizedName("solid_fuel_presto_triplet_bf").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":solid_fuel_presto_triplet_bf"); - rocket_fuel = new Item().setUnlocalizedName("rocket_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":rocket_fuel"); - coke = new ItemEnumMulti(EnumCokeType.class, true, true).setUnlocalizedName("coke").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coke"); - lignite = new Item().setUnlocalizedName("lignite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":lignite"); - briquette = new ItemEnumMulti(EnumBriquetteType.class, true, true).setUnlocalizedName("briquette").setCreativeTab(MainRegistry.partsTab); - powder_lignite = new Item().setUnlocalizedName("powder_lignite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lignite"); - coal_infernal = new Item().setUnlocalizedName("coal_infernal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coal_infernal"); - cinnebar = new Item().setUnlocalizedName("cinnebar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":cinnebar"); - powder_ash = new ItemEnumMulti(EnumAshType.class, true, true).setUnlocalizedName("powder_ash").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_ash"); - powder_limestone = new Item().setUnlocalizedName("powder_limestone").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_limestone"); - powder_cement = new ItemLemon(2, 0.5F, false).setUnlocalizedName("powder_cement").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cement"); - - ingot_gh336 = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("ingot_gh336").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_gh336"); - nugget_gh336 = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("nugget_gh336").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_gh336"); - - ingot_australium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("ingot_australium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_australium"); - ingot_weidanium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("ingot_weidanium").setCreativeTab(null).setTextureName(RefStrings.MODID + ":ingot_weidanium"); - ingot_reiium = new ItemCustomLore().setUnlocalizedName("ingot_reiium").setCreativeTab(null).setTextureName(RefStrings.MODID + ":ingot_reiium"); - ingot_unobtainium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("ingot_unobtainium").setCreativeTab(null).setTextureName(RefStrings.MODID + ":ingot_unobtainium"); - ingot_daffergon = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("ingot_daffergon").setCreativeTab(null).setTextureName(RefStrings.MODID + ":ingot_daffergon"); - ingot_verticium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("ingot_verticium").setCreativeTab(null).setTextureName(RefStrings.MODID + ":ingot_verticium"); - nugget_australium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("nugget_australium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_australium"); - nugget_australium_lesser = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("nugget_australium_lesser").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_australium_lesser"); - nugget_australium_greater = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("nugget_australium_greater").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_australium_greater"); - nugget_weidanium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("nugget_weidanium").setCreativeTab(null).setTextureName(RefStrings.MODID + ":nugget_weidanium"); - nugget_reiium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("nugget_reiium").setCreativeTab(null).setTextureName(RefStrings.MODID + ":nugget_reiium"); - nugget_unobtainium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("nugget_unobtainium").setCreativeTab(null).setTextureName(RefStrings.MODID + ":nugget_unobtainium"); - nugget_daffergon = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("nugget_daffergon").setCreativeTab(null).setTextureName(RefStrings.MODID + ":nugget_daffergon"); - nugget_verticium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("nugget_verticium").setCreativeTab(null).setTextureName(RefStrings.MODID + ":nugget_verticium"); - - nugget_th232 = new Item().setUnlocalizedName("nugget_th232").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_th232"); - nugget_uranium = new Item().setUnlocalizedName("nugget_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_uranium"); - nugget_u233 = new Item().setUnlocalizedName("nugget_u233").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_u233"); - nugget_u235 = new Item().setUnlocalizedName("nugget_u235").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_u235"); - nugget_u238 = new Item().setUnlocalizedName("nugget_u238").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_u238"); - nugget_plutonium = new Item().setUnlocalizedName("nugget_plutonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_plutonium"); - nugget_pu238 = new Item().setUnlocalizedName("nugget_pu238").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_pu238"); - nugget_pu239 = new Item().setUnlocalizedName("nugget_pu239").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_pu239"); - nugget_pu240 = new Item().setUnlocalizedName("nugget_pu240").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_pu240"); - nugget_pu241 = new Item().setUnlocalizedName("nugget_pu241").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_pu241"); - nugget_pu_mix = new Item().setUnlocalizedName("nugget_pu_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_pu_mix"); - nugget_am241 = new Item().setUnlocalizedName("nugget_am241").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_am241"); - nugget_am242 = new Item().setUnlocalizedName("nugget_am242").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_am242"); - nugget_am_mix = new Item().setUnlocalizedName("nugget_am_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_am_mix"); - nugget_neptunium = new Item().setUnlocalizedName("nugget_neptunium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_neptunium"); - nugget_polonium = new Item().setUnlocalizedName("nugget_polonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_polonium"); - nugget_technetium = new Item().setUnlocalizedName("nugget_technetium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_technetium"); - nugget_cobalt = new Item().setUnlocalizedName("nugget_cobalt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_cobalt"); - nugget_co60 = new Item().setUnlocalizedName("nugget_co60").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_co60"); - nugget_sr90 = new Item().setUnlocalizedName("nugget_sr90").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_sr90"); - nugget_au198 = new Item().setUnlocalizedName("nugget_au198").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_au198"); - nugget_pb209 = new Item().setUnlocalizedName("nugget_pb209").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_pb209"); - nugget_ra226 = new Item().setUnlocalizedName("nugget_ra226").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_ra226"); - nugget_actinium = new Item().setUnlocalizedName("nugget_actinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_actinium"); - plate_titanium = new Item().setUnlocalizedName("plate_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_titanium"); - plate_aluminium = new Item().setUnlocalizedName("plate_aluminium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_aluminium"); - wire_red_copper = new Item().setUnlocalizedName("wire_red_copper").setCreativeTab(null).setTextureName(RefStrings.MODID + ":wire_red_copper"); - wire_tungsten = new ItemCustomLore().setUnlocalizedName("wire_tungsten").setCreativeTab(null).setTextureName(RefStrings.MODID + ":wire_tungsten"); - neutron_reflector = new Item().setUnlocalizedName("neutron_reflector").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":neutron_reflector"); - nugget_lead = new Item().setUnlocalizedName("nugget_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_lead"); - ingot_bismuth = new ItemCustomLore().setUnlocalizedName("ingot_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_bismuth"); - nugget_bismuth = new Item().setUnlocalizedName("nugget_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_bismuth"); - ingot_arsenic = new ItemCustomLore().setUnlocalizedName("ingot_arsenic").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_arsenic"); - nugget_arsenic = new Item().setUnlocalizedName("nugget_arsenic").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_arsenic"); - ingot_tantalium = new ItemCustomLore().setUnlocalizedName("ingot_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_tantalium"); - nugget_tantalium = new ItemCustomLore().setUnlocalizedName("nugget_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_tantalium"); - ingot_silicon = new Item().setUnlocalizedName("ingot_silicon").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_silicon"); - billet_silicon = new Item().setUnlocalizedName("billet_silicon").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_silicon"); - nugget_silicon = new Item().setUnlocalizedName("nugget_silicon").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_silicon"); - ingot_niobium = new Item().setUnlocalizedName("ingot_niobium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_niobium"); - nugget_niobium = new Item().setUnlocalizedName("nugget_niobium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_niobium"); - ingot_osmiridium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("ingot_osmiridium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_osmiridium"); - nugget_osmiridium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("nugget_osmiridium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_osmiridium"); - nugget_schrabidium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("nugget_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_schrabidium"); - nugget_beryllium = new Item().setUnlocalizedName("nugget_beryllium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_beryllium"); - hazmat_cloth = new Item().setUnlocalizedName("hazmat_cloth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hazmat_cloth"); - hazmat_cloth_red = new Item().setUnlocalizedName("hazmat_cloth_red").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hazmat_cloth_red"); - hazmat_cloth_grey = new Item().setUnlocalizedName("hazmat_cloth_grey").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hazmat_cloth_grey"); - asbestos_cloth = new Item().setUnlocalizedName("asbestos_cloth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":asbestos_cloth"); - rag = new ItemRag().setUnlocalizedName("rag").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":rag"); - rag_damp = new Item().setUnlocalizedName("rag_damp").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":rag_damp"); - rag_piss = new Item().setUnlocalizedName("rag_piss").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":rag_piss"); - filter_coal = new Item().setUnlocalizedName("filter_coal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":filter_coal"); - ingot_hes = new Item().setUnlocalizedName("ingot_hes").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_hes"); - ingot_les = new Item().setUnlocalizedName("ingot_les").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_les"); - nugget_hes = new Item().setUnlocalizedName("nugget_hes").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_hes"); - nugget_les = new Item().setUnlocalizedName("nugget_les").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_les"); - plate_combine_steel = new Item().setUnlocalizedName("plate_combine_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_combine_steel"); - - crystal_coal = new Item().setUnlocalizedName("crystal_coal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_coal"); - crystal_iron = new Item().setUnlocalizedName("crystal_iron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_iron"); - crystal_gold = new Item().setUnlocalizedName("crystal_gold").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_gold"); - crystal_redstone = new Item().setUnlocalizedName("crystal_redstone").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_redstone"); - crystal_lapis = new Item().setUnlocalizedName("crystal_lapis").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_lapis"); - crystal_diamond = new Item().setUnlocalizedName("crystal_diamond").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_diamond"); - crystal_uranium = new Item().setUnlocalizedName("crystal_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_uranium"); - crystal_thorium = new Item().setUnlocalizedName("crystal_thorium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_thorium"); - crystal_plutonium = new Item().setUnlocalizedName("crystal_plutonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_plutonium"); - crystal_titanium = new Item().setUnlocalizedName("crystal_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_titanium"); - crystal_sulfur = new Item().setUnlocalizedName("crystal_sulfur").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_sulfur"); - crystal_niter = new Item().setUnlocalizedName("crystal_niter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_niter"); - crystal_copper = new Item().setUnlocalizedName("crystal_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_copper"); - crystal_tungsten = new Item().setUnlocalizedName("crystal_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_tungsten"); - crystal_aluminium = new Item().setUnlocalizedName("crystal_aluminium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_aluminium"); - crystal_fluorite = new Item().setUnlocalizedName("crystal_fluorite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_fluorite"); - crystal_beryllium = new Item().setUnlocalizedName("crystal_beryllium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_beryllium"); - crystal_lead = new Item().setUnlocalizedName("crystal_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_lead"); - crystal_schraranium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("crystal_schraranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_schraranium"); - crystal_schrabidium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("crystal_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_schrabidium"); - crystal_rare = new Item().setUnlocalizedName("crystal_rare").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_rare"); - crystal_phosphorus = new Item().setUnlocalizedName("crystal_phosphorus").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_phosphorus"); - crystal_lithium = new Item().setUnlocalizedName("crystal_lithium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_lithium"); - crystal_cobalt = new Item().setUnlocalizedName("crystal_cobalt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_cobalt"); - crystal_starmetal = new Item().setUnlocalizedName("crystal_starmetal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_starmetal"); - crystal_cinnebar = new Item().setUnlocalizedName("crystal_cinnebar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_cinnebar"); - crystal_trixite = new Item().setUnlocalizedName("crystal_trixite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_trixite"); - crystal_osmiridium = new Item().setUnlocalizedName("crystal_osmiridium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_osmiridium"); - gem_sodalite = new ItemCustomLore().setUnlocalizedName("gem_sodalite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_sodalite"); - gem_tantalium = new ItemCustomLore().setUnlocalizedName("gem_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_tantalium"); - gem_volcanic = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("gem_volcanic").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_volcanic"); - gem_rad = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("gem_rad").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_rad"); - gem_alexandrite = new ItemAlexandrite().setUnlocalizedName("gem_alexandrite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_alexandrite"); - - powder_lead = new Item().setUnlocalizedName("powder_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lead"); - powder_tantalium = new ItemCustomLore().setUnlocalizedName("powder_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_tantalium"); - powder_neptunium = new Item().setUnlocalizedName("powder_neptunium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_neptunium"); - powder_polonium = new Item().setUnlocalizedName("powder_polonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_polonium"); - powder_co60 = new Item().setUnlocalizedName("powder_co60").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_co60"); - powder_sr90 = new Item().setUnlocalizedName("powder_sr90").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_sr90"); - powder_sr90_tiny = new Item().setUnlocalizedName("powder_sr90_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_sr90_tiny"); - powder_i131 = new Item().setUnlocalizedName("powder_i131").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_i131"); - powder_i131_tiny = new Item().setUnlocalizedName("powder_i131_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_i131_tiny"); - powder_xe135 = new Item().setUnlocalizedName("powder_xe135").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_xe135"); - powder_xe135_tiny = new Item().setUnlocalizedName("powder_xe135_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_xe135_tiny"); - powder_cs137 = new Item().setUnlocalizedName("powder_cs137").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cs137"); - powder_cs137_tiny = new Item().setUnlocalizedName("powder_cs137_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cs137_tiny"); - powder_au198 = new Item().setUnlocalizedName("powder_au198").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_au198"); - powder_ra226 = new Item().setUnlocalizedName("powder_ra226").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_ra226"); - powder_at209 = new Item().setUnlocalizedName("powder_at209").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_at209"); - powder_schrabidium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("powder_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_schrabidium"); - powder_schrabidate = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("powder_schrabidate").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_schrabidate"); - powder_aluminium = new Item().setUnlocalizedName("powder_aluminium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_aluminium"); - powder_beryllium = new Item().setUnlocalizedName("powder_beryllium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_beryllium"); - powder_copper = new Item().setUnlocalizedName("powder_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_copper"); - powder_gold = new Item().setUnlocalizedName("powder_gold").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_gold"); - powder_iron = new Item().setUnlocalizedName("powder_iron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_iron"); - powder_titanium = new Item().setUnlocalizedName("powder_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_titanium"); - powder_tungsten = new Item().setUnlocalizedName("powder_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_tungsten"); - powder_uranium = new Item().setUnlocalizedName("powder_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_uranium"); - powder_plutonium = new Item().setUnlocalizedName("powder_plutonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_plutonium"); - dust = new ItemCustomLore().setUnlocalizedName("dust").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":dust"); - dust_tiny = new Item().setUnlocalizedName("dust_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":dust_tiny"); - fallout = new Item().setUnlocalizedName("fallout").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fallout"); - powder_advanced_alloy = new Item().setUnlocalizedName("powder_advanced_alloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_advanced_alloy"); - powder_tcalloy = new Item().setUnlocalizedName("powder_tcalloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_tcalloy"); - powder_coal = new Item().setUnlocalizedName("powder_coal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_coal"); - powder_coal_tiny = new Item().setUnlocalizedName("powder_coal_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_coal_tiny"); - powder_combine_steel = new Item().setUnlocalizedName("powder_combine_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_combine_steel"); - powder_diamond = new Item().setUnlocalizedName("powder_diamond").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_diamond"); - powder_emerald = new Item().setUnlocalizedName("powder_emerald").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_emerald"); - powder_lapis = new Item().setUnlocalizedName("powder_lapis").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lapis"); - powder_quartz = new Item().setUnlocalizedName("powder_quartz").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_quartz"); - powder_magnetized_tungsten = new Item().setUnlocalizedName("powder_magnetized_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_magnetized_tungsten"); - powder_chlorophyte = new Item().setUnlocalizedName("powder_chlorophyte").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_chlorophyte"); - powder_red_copper = new Item().setUnlocalizedName("powder_red_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_red_copper"); - powder_steel = new Item().setUnlocalizedName("powder_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_steel"); - powder_lithium = new Item().setUnlocalizedName("powder_lithium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lithium"); - powder_zirconium = new Item().setUnlocalizedName("powder_zirconium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_zirconium"); - powder_sodium = new Item().setUnlocalizedName("powder_sodium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_sodium"); - powder_power = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("powder_power").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_energy_alt"); - powder_iodine = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_iodine").setCreativeTab(null).setTextureName(RefStrings.MODID + ":powder_iodine"); - powder_thorium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("powder_thorium").setCreativeTab(null).setTextureName(RefStrings.MODID + ":powder_thorium"); - powder_neodymium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_neodymium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_neodymium"); - powder_astatine = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_astatine").setCreativeTab(null).setTextureName(RefStrings.MODID + ":powder_astatine"); - powder_caesium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_caesium").setCreativeTab(null).setTextureName(RefStrings.MODID + ":powder_caesium"); - powder_australium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("powder_australium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_australium"); - powder_weidanium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("powder_weidanium").setCreativeTab(null).setTextureName(RefStrings.MODID + ":powder_weidanium"); - powder_reiium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("powder_reiium").setCreativeTab(null).setTextureName(RefStrings.MODID + ":powder_reiium"); - powder_unobtainium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("powder_unobtainium").setCreativeTab(null).setTextureName(RefStrings.MODID + ":powder_unobtainium"); - powder_daffergon = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("powder_daffergon").setCreativeTab(null).setTextureName(RefStrings.MODID + ":powder_daffergon"); - powder_verticium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("powder_verticium").setCreativeTab(null).setTextureName(RefStrings.MODID + ":powder_verticium"); - powder_strontium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_strontium").setCreativeTab(null).setTextureName(RefStrings.MODID + ":powder_strontium"); - powder_cobalt = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_cobalt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cobalt"); - powder_bromine = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_bromine").setCreativeTab(null).setTextureName(RefStrings.MODID + ":powder_bromine"); - powder_niobium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_niobium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_niobium"); - powder_tennessine = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_tennessine").setCreativeTab(null).setTextureName(RefStrings.MODID + ":powder_tennessine"); - powder_cerium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_cerium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cerium"); - powder_dura_steel = new ItemCustomLore().setUnlocalizedName("powder_dura_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_dura_steel"); - powder_polymer = new ItemCustomLore().setUnlocalizedName("powder_polymer").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_polymer"); - powder_bakelite = new ItemCustomLore().setUnlocalizedName("powder_bakelite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_bakelite"); - powder_euphemium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_euphemium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_euphemium"); - powder_meteorite = new Item().setUnlocalizedName("powder_meteorite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_meteorite"); - powder_lanthanium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_lanthanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lanthanium"); - powder_actinium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_actinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_actinium"); - powder_boron = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_boron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_boron"); - powder_semtex_mix = new Item().setUnlocalizedName("powder_semtex_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_semtex_mix"); - powder_desh_mix = new Item().setUnlocalizedName("powder_desh_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_desh_mix"); - powder_desh_ready = new Item().setUnlocalizedName("powder_desh_ready").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_desh_ready"); - powder_nitan_mix = new Item().setUnlocalizedName("powder_nitan_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_nitan_mix"); - powder_spark_mix = new Item().setUnlocalizedName("powder_spark_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_spark_mix"); - powder_desh = new Item().setUnlocalizedName("powder_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_desh"); - powder_steel_tiny = new Item().setUnlocalizedName("powder_steel_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_steel_tiny"); - powder_lithium_tiny = new Item().setUnlocalizedName("powder_lithium_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lithium_tiny"); - powder_neodymium_tiny = new Item().setUnlocalizedName("powder_neodymium_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_neodymium_tiny"); - powder_cobalt_tiny = new Item().setUnlocalizedName("powder_cobalt_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cobalt_tiny"); - powder_niobium_tiny = new Item().setUnlocalizedName("powder_niobium_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_niobium_tiny"); - powder_cerium_tiny = new Item().setUnlocalizedName("powder_cerium_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cerium_tiny"); - powder_lanthanium_tiny = new Item().setUnlocalizedName("powder_lanthanium_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lanthanium_tiny"); - powder_actinium_tiny = new Item().setUnlocalizedName("powder_actinium_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_actinium_tiny"); - powder_boron_tiny = new Item().setUnlocalizedName("powder_boron_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_boron_tiny"); - powder_meteorite_tiny = new Item().setUnlocalizedName("powder_meteorite_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_meteorite_tiny"); - powder_yellowcake = new Item().setUnlocalizedName("powder_yellowcake").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_yellowcake"); - powder_magic = new Item().setUnlocalizedName("powder_magic").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_magic"); - powder_balefire = new Item().setUnlocalizedName("powder_balefire").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_balefire"); - powder_sawdust = new Item().setUnlocalizedName("powder_sawdust").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_sawdust"); - powder_flux = new Item().setUnlocalizedName("powder_flux").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_flux"); - powder_fertilizer = new ItemFertilizer().setUnlocalizedName("powder_fertilizer").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_fertilizer"); - powder_coltan_ore = new Item().setUnlocalizedName("powder_coltan_ore").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_coltan_ore"); - powder_coltan = new Item().setUnlocalizedName("powder_coltan").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_coltan"); - powder_tektite = new Item().setUnlocalizedName("powder_tektite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_tektite"); - powder_paleogenite = new Item().setUnlocalizedName("powder_paleogenite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_paleogenite"); - powder_paleogenite_tiny = new Item().setUnlocalizedName("powder_paleogenite_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_paleogenite_tiny"); - powder_impure_osmiridium = new Item().setUnlocalizedName("powder_impure_osmiridium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_impure_osmiridium"); - powder_borax = new Item().setUnlocalizedName("powder_borax").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_borax"); - powder_chlorocalcite = new Item().setUnlocalizedName("powder_chlorocalcite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_chlorocalcite"); - powder_molysite = new Item().setUnlocalizedName("powder_molysite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_molysite"); - - fragment_neodymium = new Item().setUnlocalizedName("fragment_neodymium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_neodymium"); - fragment_cobalt = new Item().setUnlocalizedName("fragment_cobalt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_cobalt"); - fragment_niobium = new Item().setUnlocalizedName("fragment_niobium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_niobium"); - fragment_cerium = new Item().setUnlocalizedName("fragment_cerium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_cerium"); - fragment_lanthanium = new Item().setUnlocalizedName("fragment_lanthanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_lanthanium"); - fragment_actinium = new Item().setUnlocalizedName("fragment_actinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_actinium"); - fragment_boron = new Item().setUnlocalizedName("fragment_boron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_boron"); - fragment_meteorite = new Item().setUnlocalizedName("fragment_meteorite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_meteorite"); - fragment_coltan = new Item().setUnlocalizedName("fragment_coltan").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_coltan"); - chunk_ore = new ItemEnumMulti(EnumChunkType.class, true, true).setUnlocalizedName("chunk_ore").setCreativeTab(MainRegistry.partsTab); - - biomass = new Item().setUnlocalizedName("biomass").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":biomass"); - biomass_compressed = new Item().setUnlocalizedName("biomass_compressed").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":biomass_compressed"); - bio_wafer = new ItemLemon(4, 2F, false).setUnlocalizedName("bio_wafer").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bio_wafer"); - plant_item = new ItemEnumMulti(EnumPlantType.class, true, true).setUnlocalizedName("plant_item").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plant_item"); - - coil_copper = new Item().setUnlocalizedName("coil_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_copper"); - coil_copper_torus = new Item().setUnlocalizedName("coil_copper_torus").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_copper_torus"); - coil_tungsten = new Item().setUnlocalizedName("coil_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_tungsten"); - tank_steel = new Item().setUnlocalizedName("tank_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":tank_steel"); - motor = new Item().setUnlocalizedName("motor").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":motor"); - motor_desh = new Item().setUnlocalizedName("motor_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":motor_desh"); - motor_bismuth = new Item().setUnlocalizedName("motor_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":motor_bismuth"); - centrifuge_element = new Item().setUnlocalizedName("centrifuge_element").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":centrifuge_element"); - reactor_core = new Item().setUnlocalizedName("reactor_core").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":reactor_core"); - rtg_unit = new Item().setUnlocalizedName("rtg_unit").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":rtg_unit"); - levitation_unit = new Item().setUnlocalizedName("levitation_unit").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":levitation_unit"); - wire_aluminium = new Item().setUnlocalizedName("wire_aluminium").setCreativeTab(null).setTextureName(RefStrings.MODID + ":wire_aluminium"); - wire_copper = new Item().setUnlocalizedName("wire_copper").setCreativeTab(null).setTextureName(RefStrings.MODID + ":wire_copper"); - wire_gold = new Item().setUnlocalizedName("wire_gold").setCreativeTab(null).setTextureName(RefStrings.MODID + ":wire_gold"); - wire_schrabidium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("wire_schrabidium").setCreativeTab(null).setTextureName(RefStrings.MODID + ":wire_schrabidium"); - wire_magnetized_tungsten = new Item().setUnlocalizedName("wire_magnetized_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":wire_magnetized_tungsten"); - coil_magnetized_tungsten = new Item().setUnlocalizedName("coil_magnetized_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_magnetized_tungsten"); - coil_gold = new Item().setUnlocalizedName("coil_gold").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_gold"); - coil_gold_torus = new Item().setUnlocalizedName("coil_gold_torus").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_gold_torus"); - magnet_circular = new Item().setUnlocalizedName("magnet_circular").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":magnet_circular"); - component_limiter = new Item().setUnlocalizedName("component_limiter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":component_limiter"); - component_emitter = new Item().setUnlocalizedName("component_emitter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":component_emitter"); - chlorine_pinwheel = new ItemInfiniteFluid(Fluids.CHLORINE, 1, 2).setUnlocalizedName("chlorine_pinwheel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":chlorine_pinwheel"); - FluidTank.noDualUnload.add(chlorine_pinwheel); - ring_starmetal = new Item().setUnlocalizedName("ring_starmetal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ring_starmetal"); - flywheel_beryllium = new Item().setUnlocalizedName("flywheel_beryllium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flywheel_beryllium"); - deuterium_filter = new Item().setUnlocalizedName("deuterium_filter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":deuterium_filter"); - parts_legendary = new ItemEnumMulti(EnumLegendaryType.class, false, true).setUnlocalizedName("parts_legendary").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":parts_legendary"); - - gear_large = new ItemGear().setUnlocalizedName("gear_large").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gear_large"); - sawblade = new Item().setUnlocalizedName("sawblade").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sawblade"); - - shell = new ItemAutogen(MaterialShapes.SHELL).oun("shellntm").setUnlocalizedName("shell").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":shell"); - pipe = new ItemAutogen(MaterialShapes.PIPE).oun("pipentm").setUnlocalizedName("pipe").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pipe"); - fins_flat = new Item().setUnlocalizedName("fins_flat").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fins_flat"); - fins_small_steel = new Item().setUnlocalizedName("fins_small_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fins_small_steel"); - fins_big_steel = new Item().setUnlocalizedName("fins_big_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fins_big_steel"); - fins_tri_steel = new Item().setUnlocalizedName("fins_tri_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fins_tri_steel"); - fins_quad_titanium = new Item().setUnlocalizedName("fins_quad_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fins_quad_titanium"); - sphere_steel = new Item().setUnlocalizedName("sphere_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sphere_steel"); - pedestal_steel = new Item().setUnlocalizedName("pedestal_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pedestal_steel"); - dysfunctional_reactor = new Item().setUnlocalizedName("dysfunctional_reactor").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":dysfunctional_reactor"); - blade_titanium = new Item().setUnlocalizedName("blade_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":blade_titanium"); - turbine_titanium = new Item().setUnlocalizedName("turbine_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":turbine_titanium"); - blade_tungsten = new Item().setUnlocalizedName("blade_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":blade_tungsten"); - turbine_tungsten = new Item().setUnlocalizedName("turbine_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":turbine_tungsten"); - - toothpicks = new Item().setUnlocalizedName("toothpicks").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":toothpicks"); - ducttape = new Item().setUnlocalizedName("ducttape").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ducttape"); - catalyst_clay = new Item().setUnlocalizedName("catalyst_clay").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":catalyst_clay"); - - warhead_generic_small = new Item().setUnlocalizedName("warhead_generic_small").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_generic_small"); - warhead_generic_medium = new Item().setUnlocalizedName("warhead_generic_medium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_generic_medium"); - warhead_generic_large = new Item().setUnlocalizedName("warhead_generic_large").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_generic_large"); - warhead_incendiary_small = new Item().setUnlocalizedName("warhead_incendiary_small").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_incendiary_small"); - warhead_incendiary_medium = new Item().setUnlocalizedName("warhead_incendiary_medium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_incendiary_medium"); - warhead_incendiary_large = new Item().setUnlocalizedName("warhead_incendiary_large").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_incendiary_large"); - warhead_cluster_small = new Item().setUnlocalizedName("warhead_cluster_small").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_cluster_small"); - warhead_cluster_medium = new Item().setUnlocalizedName("warhead_cluster_medium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_cluster_medium"); - warhead_cluster_large = new Item().setUnlocalizedName("warhead_cluster_large").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_cluster_large"); - warhead_buster_small = new Item().setUnlocalizedName("warhead_buster_small").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_buster_small"); - warhead_buster_medium = new Item().setUnlocalizedName("warhead_buster_medium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_buster_medium"); - warhead_buster_large = new Item().setUnlocalizedName("warhead_buster_large").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_buster_large"); - warhead_nuclear = new Item().setUnlocalizedName("warhead_nuclear").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_nuclear"); - warhead_mirv = new Item().setUnlocalizedName("warhead_mirv").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_mirv"); - warhead_volcano = new Item().setUnlocalizedName("warhead_volcano").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_volcano"); - - fuel_tank_small = new Item().setUnlocalizedName("fuel_tank_small").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fuel_tank_small"); - fuel_tank_medium = new Item().setUnlocalizedName("fuel_tank_medium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fuel_tank_medium"); - fuel_tank_large = new Item().setUnlocalizedName("fuel_tank_large").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fuel_tank_large"); - - thruster_small = new Item().setUnlocalizedName("thruster_small").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":thruster_small"); - thruster_medium = new Item().setUnlocalizedName("thruster_medium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":thruster_medium"); - thruster_large = new Item().setUnlocalizedName("thruster_large").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":thruster_large"); - - sat_head_mapper = new Item().setUnlocalizedName("sat_head_mapper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sat_head_mapper"); - sat_head_scanner = new Item().setUnlocalizedName("sat_head_scanner").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sat_head_scanner"); - sat_head_radar = new Item().setUnlocalizedName("sat_head_radar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sat_head_radar"); - sat_head_laser = new Item().setUnlocalizedName("sat_head_laser").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sat_head_laser"); - sat_head_resonator = new Item().setUnlocalizedName("sat_head_resonator").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sat_head_resonator"); - - seg_10 = new Item().setUnlocalizedName("seg_10").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":seg_10"); - seg_15 = new Item().setUnlocalizedName("seg_15").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":seg_15"); - seg_20 = new Item().setUnlocalizedName("seg_20").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":seg_20"); - - chopper_head = new Item().setUnlocalizedName("chopper_head").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":chopper_head"); - chopper_gun = new Item().setUnlocalizedName("chopper_gun").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":chopper_gun"); - chopper_torso = new Item().setUnlocalizedName("chopper_torso").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":chopper_torso"); - chopper_tail = new Item().setUnlocalizedName("chopper_tail").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":chopper_tail"); - chopper_wing = new Item().setUnlocalizedName("chopper_wing").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":chopper_wing"); - chopper_blades = new Item().setUnlocalizedName("chopper_blades").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":chopper_blades"); - combine_scrap = new Item().setUnlocalizedName("combine_scrap").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":combine_scrap"); - - shimmer_head = new Item().setUnlocalizedName("shimmer_head").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":shimmer_head_original"); - shimmer_axe_head = new Item().setUnlocalizedName("shimmer_axe_head").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":shimmer_axe_head"); - shimmer_handle = new Item().setUnlocalizedName("shimmer_handle").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":shimmer_handle"); - - entanglement_kit = new ItemCustomLore().setUnlocalizedName("entanglement_kit").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":entanglement_kit"); - - circuit = new ItemCircuit().setUnlocalizedName("circuit").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":circuit"); - crt_display = new Item().setUnlocalizedName("crt_display").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crt_display"); - circuit_star_piece = (ItemEnumMulti) new ItemEnumMulti(ScrapType.class, true, true).setUnlocalizedName("circuit_star_piece").setCreativeTab(null); - circuit_star_component = (ItemEnumMulti) new ItemCircuitStarComponent().setUnlocalizedName("circuit_star_component").setCreativeTab(null); - circuit_star = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("circuit_star").setCreativeTab(null).setTextureName(RefStrings.MODID + ":circuit_star"); - mechanism_revolver_1 = new Item().setUnlocalizedName("mechanism_revolver_1").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":mechanism_1"); - mechanism_revolver_2 = new Item().setUnlocalizedName("mechanism_revolver_2").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":mechanism_3"); - mechanism_rifle_1 = new Item().setUnlocalizedName("mechanism_rifle_1").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":mechanism_2"); - mechanism_rifle_2 = new Item().setUnlocalizedName("mechanism_rifle_2").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":mechanism_4"); - mechanism_launcher_1 = new Item().setUnlocalizedName("mechanism_launcher_1").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":mechanism_5"); - mechanism_launcher_2 = new Item().setUnlocalizedName("mechanism_launcher_2").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":mechanism_6"); - mechanism_special = new Item().setUnlocalizedName("mechanism_special").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":mechanism_7"); - casing_357 = new Item().setUnlocalizedName("casing_357").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":casing_357"); - casing_44 = new Item().setUnlocalizedName("casing_44").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":casing_44"); - casing_9 = new Item().setUnlocalizedName("casing_9").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":casing_9"); - casing_50 = new Item().setUnlocalizedName("casing_50").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":casing_50"); - casing_buckshot = new Item().setUnlocalizedName("casing_buckshot").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":casing_buckshot"); - assembly_iron = new Item().setUnlocalizedName("assembly_iron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_iron"); - assembly_steel = new Item().setUnlocalizedName("assembly_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_steel"); - assembly_lead = new Item().setUnlocalizedName("assembly_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_lead"); - assembly_gold = new Item().setUnlocalizedName("assembly_gold").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_gold"); - assembly_schrabidium = new Item().setUnlocalizedName("assembly_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_schrabidium"); - assembly_nightmare = new Item().setUnlocalizedName("assembly_nightmare").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_nightmare"); - assembly_desh = new Item().setUnlocalizedName("assembly_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_desh"); - assembly_nopip = new Item().setUnlocalizedName("assembly_nopip").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_nopip"); - assembly_smg = new Item().setUnlocalizedName("assembly_smg").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_smg"); - assembly_556 = new Item().setUnlocalizedName("assembly_556").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_556"); - assembly_762 = new Item().setUnlocalizedName("assembly_762").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_762"); - assembly_45 = new Item().setUnlocalizedName("assembly_45").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_45"); - assembly_uzi = new Item().setUnlocalizedName("assembly_uzi").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_uzi"); - assembly_actionexpress = new Item().setUnlocalizedName("assembly_actionexpress").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_actionexpress"); - assembly_calamity = new Item().setUnlocalizedName("assembly_calamity").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_calamity"); - assembly_lacunae = new Item().setUnlocalizedName("assembly_lacunae").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_lacunae"); - assembly_nuke = new Item().setUnlocalizedName("assembly_nuke").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_nuke"); - assembly_luna = new Item().setUnlocalizedName("assembly_luna").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_luna"); - folly_shell = new Item().setUnlocalizedName("folly_shell").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":folly_shell"); - folly_bullet = new Item().setUnlocalizedName("folly_bullet").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":folly_bullet"); - folly_bullet_nuclear = new Item().setUnlocalizedName("folly_bullet_nuclear").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":folly_bullet_nuclear"); - folly_bullet_du = new Item().setUnlocalizedName("folly_bullet_du").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":folly_bullet_du"); - - wiring_red_copper = new ItemWiring().setUnlocalizedName("wiring_red_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":wiring_red_copper"); - - pellet_rtg_depleted = new ItemRTGPelletDepleted().setContainerItem(plate_iron).setUnlocalizedName("pellet_rtg_depleted").setCreativeTab(MainRegistry.controlTab); - - pellet_rtg_radium = new ItemRTGPellet(3).setDecays(DepletedRTGMaterial.LEAD, (long) (RTGUtil.getLifespan(16.0F, HalfLifeType.LONG, false) * 1.5)).setUnlocalizedName("pellet_rtg_radium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_radium"); - pellet_rtg_weak = new ItemRTGPellet(5).setDecays(DepletedRTGMaterial.LEAD, (long) (RTGUtil.getLifespan(1.0F, HalfLifeType.LONG, false) * 1.5)).setUnlocalizedName("pellet_rtg_weak").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_weak"); - pellet_rtg = new ItemRTGPellet(10).setDecays(DepletedRTGMaterial.LEAD, (long) (RTGUtil.getLifespan(87.7F, HalfLifeType.MEDIUM, false) * 1.5)).setUnlocalizedName("pellet_rtg").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg"); - pellet_rtg_strontium = new ItemRTGPellet(15).setDecays(DepletedRTGMaterial.ZIRCONIUM, (long) (RTGUtil.getLifespan(29.0F, HalfLifeType.MEDIUM, false) * 1.5)).setUnlocalizedName("pellet_rtg_strontium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_strontium"); - pellet_rtg_cobalt = new ItemRTGPellet(15).setDecays(DepletedRTGMaterial.NICKEL, (long) (RTGUtil.getLifespan(5.3F, HalfLifeType.MEDIUM, false) * 1.5)).setUnlocalizedName("pellet_rtg_cobalt").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_cobalt"); - pellet_rtg_actinium = new ItemRTGPellet(20).setDecays(DepletedRTGMaterial.LEAD, (long) (RTGUtil.getLifespan(21.8F, HalfLifeType.MEDIUM, false) * 1.5)).setUnlocalizedName("pellet_rtg_actinium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_actinium"); - pellet_rtg_americium = new ItemRTGPellet(20).setDecays(DepletedRTGMaterial.NEPTUNIUM, (long) (RTGUtil.getLifespan(4.7F, HalfLifeType.LONG, false) * 1.5)).setUnlocalizedName("pellet_rtg_americium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_americium"); - pellet_rtg_berkelium = new ItemRTGPellet(20).setUnlocalizedName("pellet_rtg_berkelium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_berkelium"); - pellet_rtg_polonium = new ItemRTGPellet(50).setDecays(DepletedRTGMaterial.LEAD, (long) (RTGUtil.getLifespan(138.0F, HalfLifeType.SHORT, false) * 1.5)).setUnlocalizedName("pellet_rtg_polonium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_polonium"); - pellet_rtg_gold = new ItemRTGPellet(VersatileConfig.rtgDecay() ? 200 : 100).setDecays(DepletedRTGMaterial.MERCURY, (long) (RTGUtil.getLifespan(2.7F, HalfLifeType.SHORT, false) * 1.5)).setUnlocalizedName("pellet_rtg_gold").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_gold"); - pellet_rtg_lead = new ItemRTGPellet(VersatileConfig.rtgDecay() ? 600 : 200).setDecays(DepletedRTGMaterial.BISMUTH, (long) (RTGUtil.getLifespan(0.3F, HalfLifeType.SHORT, false) * 1.5)).setUnlocalizedName("pellet_rtg_lead").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_lead"); - - tritium_deuterium_cake = new ItemCustomLore().setUnlocalizedName("tritium_deuterium_cake").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":tritium_deuterium_cake"); - - piston_selenium = new Item().setUnlocalizedName("piston_selenium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":piston_selenium"); - piston_set = new ItemPistons().setUnlocalizedName("piston_set").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1); - drillbit = new ItemDrillbit().setUnlocalizedName("drillbit").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1); - - rune_blank = new ItemCustomLore().setEffect().setUnlocalizedName("rune_blank").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_blank"); - rune_isa = new ItemCustomLore().setEffect().setUnlocalizedName("rune_isa").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_isa"); - rune_dagaz = new ItemCustomLore().setEffect().setUnlocalizedName("rune_dagaz").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_dagaz"); - rune_hagalaz = new ItemCustomLore().setEffect().setUnlocalizedName("rune_hagalaz").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_hagalaz"); - rune_jera = new ItemCustomLore().setEffect().setUnlocalizedName("rune_jera").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_jera"); - rune_thurisaz = new ItemCustomLore().setEffect().setUnlocalizedName("rune_thurisaz").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_thurisaz"); - - ams_catalyst_blank = new Item().setUnlocalizedName("ams_catalyst_blank").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_blank"); - ams_catalyst_aluminium = new ItemCatalyst(0xCCCCCC, 1000000, 1.15F, 0.85F, 1.15F).setUnlocalizedName("ams_catalyst_aluminium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_aluminium"); - ams_catalyst_beryllium = new ItemCatalyst(0x97978B, 0, 1.25F, 0.95F, 1.05F).setUnlocalizedName("ams_catalyst_beryllium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_beryllium"); - ams_catalyst_caesium = new ItemCatalyst(0x6400FF, 2500000, 1.00F, 0.85F, 1.15F).setUnlocalizedName("ams_catalyst_caesium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_caesium"); - ams_catalyst_cerium = new ItemCatalyst(0x1D3FFF, 1000000, 1.15F, 1.15F, 0.85F).setUnlocalizedName("ams_catalyst_cerium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_cerium"); - ams_catalyst_cobalt = new ItemCatalyst(0x789BBE, 0, 1.25F, 1.05F, 0.95F).setUnlocalizedName("ams_catalyst_cobalt").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_cobalt"); - ams_catalyst_copper = new ItemCatalyst(0xAADE29, 0, 1.25F, 1.00F, 1.00F).setUnlocalizedName("ams_catalyst_copper").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_copper"); - ams_catalyst_dineutronium = new ItemCatalyst(0x334077, 2500000, 1.00F, 1.15F, 0.85F).setUnlocalizedName("ams_catalyst_dineutronium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_dineutronium"); - ams_catalyst_euphemium = new ItemCatalyst(0xFF9CD2, 2500000, 1.00F, 1.00F, 1.00F).setUnlocalizedName("ams_catalyst_euphemium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_euphemium"); - ams_catalyst_iron = new ItemCatalyst(0xFF7E22, 1000000, 1.15F, 0.95F, 1.05F).setUnlocalizedName("ams_catalyst_iron").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_iron"); - ams_catalyst_lithium = new ItemCatalyst(0xFF2727, 0, 1.25F, 0.85F, 1.15F).setUnlocalizedName("ams_catalyst_lithium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_lithium"); - ams_catalyst_niobium = new ItemCatalyst(0x3BF1B6, 1000000, 1.15F, 1.05F, 0.95F).setUnlocalizedName("ams_catalyst_niobium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_niobium"); - ams_catalyst_schrabidium = new ItemCatalyst(0x32FFFF, 2500000, 1.00F, 1.05F, 0.95F).setUnlocalizedName("ams_catalyst_schrabidium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_schrabidium"); - ams_catalyst_strontium = new ItemCatalyst(0xDD0D35, 1000000, 1.15F, 1.00F, 1.00F).setUnlocalizedName("ams_catalyst_strontium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_strontium"); - ams_catalyst_thorium = new ItemCatalyst(0x653B22, 2500000, 1.00F, 0.95F, 1.05F).setUnlocalizedName("ams_catalyst_thorium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_thorium"); - ams_catalyst_tungsten = new ItemCatalyst(0xF5FF48, 0, 1.25F, 1.15F, 0.85F).setUnlocalizedName("ams_catalyst_tungsten").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_tungsten"); - - cell_empty = new Item().setUnlocalizedName("cell_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":cell_empty"); - cell_uf6 = new Item().setUnlocalizedName("cell_uf6").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_uf6"); - cell_puf6 = new Item().setUnlocalizedName("cell_puf6").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_puf6"); - cell_antimatter = new ItemDrop().setUnlocalizedName("cell_antimatter").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_antimatter"); - cell_deuterium = new Item().setUnlocalizedName("cell_deuterium").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_deuterium"); - cell_tritium = new Item().setUnlocalizedName("cell_tritium").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_tritium"); - cell_sas3 = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("cell_sas3").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_sas3"); - cell_anti_schrabidium = new ItemDrop().setUnlocalizedName("cell_anti_schrabidium").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_anti_schrabidium"); - cell_balefire = new Item().setUnlocalizedName("cell_balefire").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_balefire"); - - demon_core_open = new ItemDemonCore().setUnlocalizedName("demon_core_open").setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":demon_core_open"); - demon_core_closed = new Item().setUnlocalizedName("demon_core_closed").setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":demon_core_closed"); - - particle_empty = new Item().setUnlocalizedName("particle_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":particle_empty"); - particle_hydrogen = new Item().setUnlocalizedName("particle_hydrogen").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_hydrogen"); - particle_copper = new Item().setUnlocalizedName("particle_copper").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_copper"); - particle_lead = new Item().setUnlocalizedName("particle_lead").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_lead"); - particle_aproton = new Item().setUnlocalizedName("particle_aproton").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_aproton"); - particle_aelectron = new Item().setUnlocalizedName("particle_aelectron").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_aelectron"); - particle_amat = new Item().setUnlocalizedName("particle_amat").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_amat"); - particle_aschrab = new Item().setUnlocalizedName("particle_aschrab").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_aschrab"); - particle_higgs = new Item().setUnlocalizedName("particle_higgs").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_higgs"); - particle_muon = new Item().setUnlocalizedName("particle_muon").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_muon"); - particle_tachyon = new Item().setUnlocalizedName("particle_tachyon").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_tachyon"); - particle_strange = new Item().setUnlocalizedName("particle_strange").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_strange"); - particle_dark = new Item().setUnlocalizedName("particle_dark").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_dark"); - particle_sparkticle = new Item().setUnlocalizedName("particle_sparkticle").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_sparkticle"); - particle_digamma = new ItemDigamma(60).setUnlocalizedName("particle_digamma").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_digamma"); - particle_lutece = new Item().setUnlocalizedName("particle_lutece").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_lutece"); - singularity_micro = new ItemDrop().setUnlocalizedName("singularity_micro").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_micro"); - - singularity = new ItemDrop().setUnlocalizedName("singularity").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity"); - singularity_counter_resonant = new ItemDrop().setUnlocalizedName("singularity_counter_resonant").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_alt"); - singularity_super_heated = new ItemDrop().setUnlocalizedName("singularity_super_heated").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_5"); - black_hole = new ItemDrop().setUnlocalizedName("black_hole").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_4"); - singularity_spark = new ItemDrop().setUnlocalizedName("singularity_spark").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_spark_alt"); - pellet_antimatter = new ItemDrop().setUnlocalizedName("pellet_antimatter").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":pellet_antimatter"); - crystal_xen = new ItemDrop().setUnlocalizedName("crystal_xen").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":crystal_xen"); - - stamp_stone_flat = new ItemStamp(32, StampType.FLAT).setUnlocalizedName("stamp_stone_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_stone_flat"); - stamp_stone_plate = new ItemStamp(32, StampType.PLATE).setUnlocalizedName("stamp_stone_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_stone_plate"); - stamp_stone_wire = new ItemStamp(32, StampType.WIRE).setUnlocalizedName("stamp_stone_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_stone_wire"); - stamp_stone_circuit = new ItemStamp(32, StampType.CIRCUIT).setUnlocalizedName("stamp_stone_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_stone_circuit"); - stamp_iron_flat = new ItemStamp(64, StampType.FLAT).setUnlocalizedName("stamp_iron_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_iron_flat"); - stamp_iron_plate = new ItemStamp(64, StampType.PLATE).setUnlocalizedName("stamp_iron_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_iron_plate"); - stamp_iron_wire = new ItemStamp(64, StampType.WIRE).setUnlocalizedName("stamp_iron_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_iron_wire"); - stamp_iron_circuit = new ItemStamp(64, StampType.CIRCUIT).setUnlocalizedName("stamp_iron_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_iron_circuit"); - stamp_steel_flat = new ItemStamp(192, StampType.FLAT).setUnlocalizedName("stamp_steel_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_steel_flat"); - stamp_steel_plate = new ItemStamp(192, StampType.PLATE).setUnlocalizedName("stamp_steel_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_steel_plate"); - stamp_steel_wire = new ItemStamp(192, StampType.WIRE).setUnlocalizedName("stamp_steel_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_steel_wire"); - stamp_steel_circuit = new ItemStamp(192, StampType.CIRCUIT).setUnlocalizedName("stamp_steel_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_steel_circuit"); - stamp_titanium_flat = new ItemStamp(256, StampType.FLAT).setUnlocalizedName("stamp_titanium_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_titanium_flat"); - stamp_titanium_plate = new ItemStamp(256, StampType.PLATE).setUnlocalizedName("stamp_titanium_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_titanium_plate"); - stamp_titanium_wire = new ItemStamp(256, StampType.WIRE).setUnlocalizedName("stamp_titanium_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_titanium_wire"); - stamp_titanium_circuit = new ItemStamp(256, StampType.CIRCUIT).setUnlocalizedName("stamp_titanium_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_titanium_circuit"); - stamp_obsidian_flat = new ItemStamp(512, StampType.FLAT).setUnlocalizedName("stamp_obsidian_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_obsidian_flat"); - stamp_obsidian_plate = new ItemStamp(512, StampType.PLATE).setUnlocalizedName("stamp_obsidian_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_obsidian_plate"); - stamp_obsidian_wire = new ItemStamp(512, StampType.WIRE).setUnlocalizedName("stamp_obsidian_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_obsidian_wire"); - stamp_obsidian_circuit = new ItemStamp(512, StampType.CIRCUIT).setUnlocalizedName("stamp_obsidian_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_obsidian_circuit"); - stamp_desh_flat = new ItemStamp(0, StampType.FLAT).setUnlocalizedName("stamp_desh_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_desh_flat"); - stamp_desh_plate = new ItemStamp(0, StampType.PLATE).setUnlocalizedName("stamp_desh_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_desh_plate"); - stamp_desh_wire = new ItemStamp(0, StampType.WIRE).setUnlocalizedName("stamp_desh_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_desh_wire"); - stamp_desh_circuit = new ItemStamp(0, StampType.CIRCUIT).setUnlocalizedName("stamp_desh_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_desh_circuit"); - stamp_357 = new ItemStamp(1000, StampType.C357).setUnlocalizedName("stamp_357").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_357"); - stamp_44 = new ItemStamp(1000, StampType.C44).setUnlocalizedName("stamp_44").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_44"); - stamp_9 = new ItemStamp(1000, StampType.C9).setUnlocalizedName("stamp_9").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_9"); - stamp_50 = new ItemStamp(1000, StampType.C50).setUnlocalizedName("stamp_50").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_50"); - stamp_book = new ItemStampBook().setUnlocalizedName("stamp_book").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":stamp_book"); - - stamp_desh_357 = new ItemStamp(0, StampType.C357).setUnlocalizedName("stamp_desh_357").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_357_desh"); - stamp_desh_44 = new ItemStamp(0, StampType.C44).setUnlocalizedName("stamp_desh_44").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_44_desh"); - stamp_desh_9 = new ItemStamp(0, StampType.C9).setUnlocalizedName("stamp_desh_9").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_9_desh"); - stamp_desh_50 = new ItemStamp(0, StampType.C50).setUnlocalizedName("stamp_desh_50").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_50_desh"); - - blades_steel = new ItemBlades(200).setUnlocalizedName("blades_steel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":blades_steel"); - blades_titanium = new ItemBlades(350).setUnlocalizedName("blades_titanium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":blades_titanium"); - blades_advanced_alloy = new ItemBlades(700).setUnlocalizedName("blades_advanced_alloy").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":blades_advanced_alloy"); - blades_desh = new ItemBlades(0).setUnlocalizedName("blades_desh").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":blades_desh"); - - mold_base = new Item().setUnlocalizedName("mold_base").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":mold_base"); - mold = new ItemMold().setUnlocalizedName("mold").setCreativeTab(MainRegistry.controlTab); - scraps = new ItemScraps().aot(Mats.MAT_BISMUTH, "scraps_bismuth").setUnlocalizedName("scraps").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scraps"); - plate_cast = new ItemAutogen(MaterialShapes.CASTPLATE).aot(Mats.MAT_BISMUTH, "plate_cast_bismuth").setUnlocalizedName("plate_cast").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_cast"); - plate_welded = new ItemAutogen(MaterialShapes.WELDEDPLATE).setUnlocalizedName("plate_welded").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_welded"); - heavy_component = new ItemAutogen(MaterialShapes.HEAVY_COMPONENT).setUnlocalizedName("heavy_component").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":heavy_component"); - wire_fine = new ItemAutogen(MaterialShapes.WIRE) - .aot(Mats.MAT_ALUMINIUM, "wire_aluminium").aot(Mats.MAT_COPPER, "wire_copper") - .aot(Mats.MAT_MINGRADE, "wire_red_copper").aot(Mats.MAT_GOLD, "wire_gold") - .aot(Mats.MAT_TUNGSTEN, "wire_tungsten").aot(Mats.MAT_ALLOY, "wire_advanced_alloy") - .aot(Mats.MAT_CARBON, "wire_carbon").aot(Mats.MAT_SCHRABIDIUM, "wire_schrabidium") - .aot(Mats.MAT_MAGTUNG, "wire_magnetized_tungsten").setUnlocalizedName("wire_fine").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":wire_fine"); - wire_dense = new ItemAutogen(MaterialShapes.DENSEWIRE).setUnlocalizedName("wire_dense").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":wire_dense"); - - part_lithium = new Item().setUnlocalizedName("part_lithium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":part_lithium"); - part_beryllium = new Item().setUnlocalizedName("part_beryllium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":part_beryllium"); - part_carbon = new Item().setUnlocalizedName("part_carbon").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":part_carbon"); - part_copper = new Item().setUnlocalizedName("part_copper").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":part_copper"); - part_plutonium = new Item().setUnlocalizedName("part_plutonium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":part_plutonium"); - - laser_crystal_co2 = new ItemFELCrystal(EnumWavelengths.IR).setUnlocalizedName("laser_crystal_co2").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":laser_crystal_co2"); - laser_crystal_bismuth = new ItemFELCrystal(EnumWavelengths.VISIBLE).setUnlocalizedName("laser_crystal_bismuth").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":laser_crystal_bismuth"); - laser_crystal_cmb = new ItemFELCrystal(EnumWavelengths.UV).setUnlocalizedName("laser_crystal_cmb").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":laser_crystal_cmb"); - laser_crystal_dnt = new ItemFELCrystal(EnumWavelengths.GAMMA).setUnlocalizedName("laser_crystal_dnt").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":laser_crystal_dnt"); - laser_crystal_digamma = new ItemFELCrystal(EnumWavelengths.DRX).setUnlocalizedName("laser_crystal_digamma").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":laser_crystal_digamma"); - - thermo_element = new Item().setUnlocalizedName("thermo_element").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":thermo_element"); - catalytic_converter = new Item().setUnlocalizedName("catalytic_converter").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":catalytic_converter"); - - fuel_additive = new ItemEnumMulti(ItemEnums.EnumFuelAdditive.class, true, true).setUnlocalizedName("fuel_additive").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fuel_additive"); - - canister_empty = new ItemCustomLore().setUnlocalizedName("canister_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":canister_empty"); - canister_full = new ItemCanister().setUnlocalizedName("canister_full").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_empty"); - canister_napalm = new ItemCustomLore().setUnlocalizedName("canister_napalm").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_napalm"); - gas_empty = new Item().setUnlocalizedName("gas_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":gas_empty"); - gas_full = new ItemGasTank().setUnlocalizedName("gas_full").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.gas_empty).setTextureName(RefStrings.MODID + ":gas_empty"); - - syringe_empty = new Item().setUnlocalizedName("syringe_empty").setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":syringe_empty"); - syringe_antidote = new ItemSyringe().setUnlocalizedName("syringe_antidote").setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":syringe_antidote"); - syringe_poison = new ItemSyringe().setUnlocalizedName("syringe_poison").setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":syringe_poison"); - syringe_awesome = new ItemSyringe().setUnlocalizedName("syringe_awesome").setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":syringe_awesome"); - syringe_metal_empty = new Item().setUnlocalizedName("syringe_metal_empty").setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":syringe_metal_empty"); - syringe_metal_stimpak = new ItemSyringe().setUnlocalizedName("syringe_metal_stimpak").setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":syringe_metal_stimpak"); - syringe_metal_medx = new ItemSyringe().setUnlocalizedName("syringe_metal_medx").setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":syringe_metal_medx"); - syringe_metal_psycho = new ItemSyringe().setUnlocalizedName("syringe_metal_psycho").setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":syringe_metal_psycho"); - syringe_metal_super = new ItemSyringe().setUnlocalizedName("syringe_metal_super").setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":syringe_metal_super"); - syringe_taint = new ItemSyringe().setUnlocalizedName("syringe_taint").setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":syringe_taint"); - syringe_mkunicorn = new ItemSyringe().setUnlocalizedName("syringe_mkunicorn").setFull3D().setCreativeTab(null).setTextureName(RefStrings.MODID + ":syringe_mkunicorn"); - - iv_empty = new ItemSimpleConsumable().setUseActionServer((stack, user) -> { - if(user.hurtResistantTime <= 0) { - ItemSimpleConsumable.giveSoundAndDecrement(stack, user, "hbm:item.syringe", new ItemStack(ModItems.iv_blood)); - user.attackEntityFrom(DamageSource.magic, 5F); - } - }).setUnlocalizedName("iv_empty").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":iv_empty"); - - iv_blood = new ItemSimpleConsumable().setUseActionServer((stack, user) -> { - ItemSimpleConsumable.giveSoundAndDecrement(stack, user, "hbm:item.radaway", new ItemStack(ModItems.iv_empty)); - user.heal(5F); - }).setUnlocalizedName("iv_blood").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":iv_blood"); - - iv_xp_empty = new ItemSimpleConsumable().setUseActionServer((stack, user) -> { - if(EnchantmentUtil.getTotalExperience(user) >= 100) { - ItemSimpleConsumable.giveSoundAndDecrement(stack, user, "hbm:item.syringe", new ItemStack(ModItems.iv_xp)); - EnchantmentUtil.setExperience(user, EnchantmentUtil.getTotalExperience(user) - 100); - } - }).setUnlocalizedName("iv_xp_empty").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":iv_xp_empty"); - - iv_xp = new ItemSimpleConsumable().setUseActionServer((stack, user) -> { - ItemSimpleConsumable.giveSoundAndDecrement(stack, user, "random.orb", new ItemStack(ModItems.iv_xp_empty)); - EnchantmentUtil.addExperience(user, 100, false); - }).setUnlocalizedName("iv_xp").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":iv_xp"); - - radaway = new ItemSimpleConsumable().setUseActionServer((stack, user) -> { - ItemSimpleConsumable.giveSoundAndDecrement(stack, user, "hbm:item.radaway", new ItemStack(ModItems.iv_empty)); - ItemSimpleConsumable.addPotionEffect(user, HbmPotion.radaway, 140, 0); - }).setUnlocalizedName("radaway").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":radaway"); - - radaway_strong = new ItemSimpleConsumable().setUseActionServer((stack, user) -> { - ItemSimpleConsumable.giveSoundAndDecrement(stack, user, "hbm:item.radaway", new ItemStack(ModItems.iv_empty)); - ItemSimpleConsumable.addPotionEffect(user, HbmPotion.radaway, 350, 0); - }).setUnlocalizedName("radaway_strong").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":radaway_strong"); - - radaway_flush = new ItemSimpleConsumable().setUseActionServer((stack, user) -> { - ItemSimpleConsumable.giveSoundAndDecrement(stack, user, "hbm:item.radaway", new ItemStack(ModItems.iv_empty)); - ItemSimpleConsumable.addPotionEffect(user, HbmPotion.radaway, 500, 2); - }).setUnlocalizedName("radaway_flush").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":radaway_flush"); - - med_bag = new ItemSyringe().setUnlocalizedName("med_bag").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_bag"); - radx = new ItemPill(0).setUnlocalizedName("radx").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":radx"); - siox = new ItemPill(0).setUnlocalizedName("siox").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":siox"); - pill_herbal = new ItemPill(0).setUnlocalizedName("pill_herbal").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pill_herbal"); - xanax = new ItemPill(0).setUnlocalizedName("xanax").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":xanax_2"); - fmn = new ItemPill(0).setUnlocalizedName("fmn").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":tablet"); - five_htp = new ItemPill(0).setUnlocalizedName("five_htp").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":5htp"); - pill_iodine = new ItemPill(0).setUnlocalizedName("pill_iodine").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pill_iodine"); - plan_c = new ItemPill(0).setUnlocalizedName("plan_c").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":plan_c"); - pill_red = new ItemPill(0).setUnlocalizedName("pill_red").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pill_red"); - stealth_boy = new ItemStarterKit().setUnlocalizedName("stealth_boy").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":stealth_boy"); - gas_mask_filter = new ItemFilter().setUnlocalizedName("gas_mask_filter").setTextureName(RefStrings.MODID + ":gas_mask_filter"); - gas_mask_filter_mono = new ItemFilter().setUnlocalizedName("gas_mask_filter_mono").setTextureName(RefStrings.MODID + ":gas_mask_filter_mono"); - gas_mask_filter_combo = new ItemFilter().setUnlocalizedName("gas_mask_filter_combo").setTextureName(RefStrings.MODID + ":gas_mask_filter_combo"); - gas_mask_filter_rag = new ItemFilter().setUnlocalizedName("gas_mask_filter_rag").setTextureName(RefStrings.MODID + ":gas_mask_filter_rag"); - gas_mask_filter_piss = new ItemFilter().setUnlocalizedName("gas_mask_filter_piss").setTextureName(RefStrings.MODID + ":gas_mask_filter_piss"); - jetpack_tank = new ItemSyringe().setUnlocalizedName("jetpack_tank").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":jetpack_tank"); - gun_kit_1 = new ItemSyringe().setUnlocalizedName("gun_kit_1").setMaxStackSize(16).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":gun_kit_1"); - gun_kit_2 = new ItemSyringe().setUnlocalizedName("gun_kit_2").setMaxStackSize(16).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":gun_kit_2"); - cbt_device = new ItemSyringe().setUnlocalizedName("cbt_device").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":cbt_device"); - cigarette = new ItemCigarette().setUnlocalizedName("cigarette").setFull3D().setMaxStackSize(16).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cigarette"); - crackpipe = new ItemCigarette().setUnlocalizedName("crackpipe").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":crackpipe"); - bdcl = new ItemBDCL().setUnlocalizedName("bdcl").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bdcl"); - - attachment_mask = new ItemModGasmask().setUnlocalizedName("attachment_mask").setTextureName(RefStrings.MODID + ":attachment_mask"); - attachment_mask_mono = new ItemModGasmask().setUnlocalizedName("attachment_mask_mono").setTextureName(RefStrings.MODID + ":attachment_mask_mono"); - back_tesla = new ItemModTesla().setUnlocalizedName("back_tesla").setTextureName(RefStrings.MODID + ":back_tesla"); - servo_set = new ItemModServos().setUnlocalizedName("servo_set").setTextureName(RefStrings.MODID + ":servo_set"); - servo_set_desh = new ItemModServos().setUnlocalizedName("servo_set_desh").setTextureName(RefStrings.MODID + ":servo_set_desh"); - pads_rubber = new ItemModPads(0.5F).setUnlocalizedName("pads_rubber").setTextureName(RefStrings.MODID + ":pads_rubber"); - pads_slime = new ItemModPads(0.25F).setUnlocalizedName("pads_slime").setTextureName(RefStrings.MODID + ":pads_slime"); - pads_static = new ItemModPads(0.75F).setUnlocalizedName("pads_static").setTextureName(RefStrings.MODID + ":pads_static"); - cladding_paint = new ItemModCladding(0.025).setUnlocalizedName("cladding_paint").setTextureName(RefStrings.MODID + ":cladding_paint"); - cladding_rubber = new ItemModCladding(0.005).setUnlocalizedName("cladding_rubber").setTextureName(RefStrings.MODID + ":cladding_rubber"); - cladding_lead = new ItemModCladding(0.1).setUnlocalizedName("cladding_lead").setTextureName(RefStrings.MODID + ":cladding_lead"); - cladding_desh = new ItemModCladding(0.2).setUnlocalizedName("cladding_desh").setTextureName(RefStrings.MODID + ":cladding_desh"); - cladding_ghiorsium = new ItemModCladding(0.5).setUnlocalizedName("cladding_ghiorsium").setTextureName(RefStrings.MODID + ":cladding_ghiorsium"); - cladding_iron = new ItemModIron().setUnlocalizedName("cladding_iron").setTextureName(RefStrings.MODID + ":cladding_iron"); - cladding_obsidian = new ItemModObsidian().setUnlocalizedName("cladding_obsidian").setTextureName(RefStrings.MODID + ":cladding_obsidian"); - insert_kevlar = new ItemModInsert(1500, 1F, 0.9F, 1F, 1F).setUnlocalizedName("insert_kevlar").setTextureName(RefStrings.MODID + ":insert_kevlar"); - insert_sapi = new ItemModInsert(1750, 1F, 0.85F, 1F, 1F).setUnlocalizedName("insert_sapi").setTextureName(RefStrings.MODID + ":insert_sapi"); - insert_esapi = new ItemModInsert(2000, 0.95F, 0.8F, 1F, 1F).setUnlocalizedName("insert_esapi").setTextureName(RefStrings.MODID + ":insert_esapi"); - insert_xsapi = new ItemModInsert(2500, 0.9F, 0.75F, 1F, 1F).setUnlocalizedName("insert_xsapi").setTextureName(RefStrings.MODID + ":insert_xsapi"); - insert_steel = new ItemModInsert(1000, 1F, 0.95F, 0.75F, 0.95F).setUnlocalizedName("insert_steel").setTextureName(RefStrings.MODID + ":insert_steel"); - insert_du = new ItemModInsert(1500, 0.9F, 0.85F, 0.5F, 0.9F).setUnlocalizedName("insert_du").setTextureName(RefStrings.MODID + ":insert_du"); - insert_polonium = new ItemModInsert(500, 0.9F, 1F, 0.95F, 0.9F).setUnlocalizedName("insert_polonium").setTextureName(RefStrings.MODID + ":insert_polonium"); - insert_ghiorsium = new ItemModInsert(2000, 0.8F, 0.75F, 0.35F, 0.9F).setUnlocalizedName("insert_ghiorsium").setTextureName(RefStrings.MODID + ":insert_ghiorsium"); - insert_era = new ItemModInsert(25, 0.5F, 1F, 0.25F, 1F).setUnlocalizedName("insert_era").setTextureName(RefStrings.MODID + ":insert_era"); - insert_yharonite = new ItemModInsert(9999, 0.01F, 1F, 1F, 1F).setUnlocalizedName("insert_yharonite").setTextureName(RefStrings.MODID + ":insert_yharonite"); - insert_doxium = new ItemModInsert(9999, 5.0F, 1F, 1F, 1F).setUnlocalizedName("insert_doxium").setTextureName(RefStrings.MODID + ":insert_doxium"); - armor_polish = new ItemModPolish().setUnlocalizedName("armor_polish").setTextureName(RefStrings.MODID + ":armor_polish"); - bandaid = new ItemModBandaid().setUnlocalizedName("bandaid").setTextureName(RefStrings.MODID + ":bandaid"); - serum = new ItemModSerum().setUnlocalizedName("serum").setTextureName(RefStrings.MODID + ":serum"); - quartz_plutonium = new ItemModQuartz().setUnlocalizedName("quartz_plutonium").setTextureName(RefStrings.MODID + ":quartz_plutonium"); - morning_glory = new ItemModMorningGlory().setUnlocalizedName("morning_glory").setTextureName(RefStrings.MODID + ":morning_glory"); - lodestone = new ItemModLodestone(5).setUnlocalizedName("lodestone").setTextureName(RefStrings.MODID + ":lodestone"); - horseshoe_magnet = new ItemModLodestone(8).setUnlocalizedName("horseshoe_magnet").setTextureName(RefStrings.MODID + ":horseshoe_magnet"); - industrial_magnet = new ItemModLodestone(12).setUnlocalizedName("industrial_magnet").setTextureName(RefStrings.MODID + ":industrial_magnet"); - bathwater = new ItemModBathwater().setUnlocalizedName("bathwater").setTextureName(RefStrings.MODID + ":bathwater"); - bathwater_mk2 = new ItemModBathwater().setUnlocalizedName("bathwater_mk2").setTextureName(RefStrings.MODID + ":bathwater_mk2"); - spider_milk = new ItemModMilk().setUnlocalizedName("spider_milk").setTextureName(RefStrings.MODID + ":spider_milk"); - ink = new ItemModInk().setUnlocalizedName("ink").setTextureName(RefStrings.MODID + ":ink"); - heart_piece = new ItemModHealth(5F).setUnlocalizedName("heart_piece").setTextureName(RefStrings.MODID + ":heart_piece"); - heart_container = new ItemModHealth(20F).setUnlocalizedName("heart_container").setTextureName(RefStrings.MODID + ":heart_container"); - heart_booster = new ItemModHealth(40F).setUnlocalizedName("heart_booster").setTextureName(RefStrings.MODID + ":heart_booster"); - heart_fab = new ItemModHealth(60F).setUnlocalizedName("heart_fab").setTextureName(RefStrings.MODID + ":heart_fab"); - black_diamond = new ItemModHealth(40F).setUnlocalizedName("black_diamond").setTextureName(RefStrings.MODID + ":black_diamond"); - wd40 = new ItemModWD40().setUnlocalizedName("wd40").setTextureName(RefStrings.MODID + ":wd40"); - scrumpy = new ItemModRevive(1).setUnlocalizedName("scrumpy").setTextureName(RefStrings.MODID + ":scrumpy"); - wild_p = new ItemModRevive(3).setUnlocalizedName("wild_p").setTextureName(RefStrings.MODID + ":wild_p"); - fabsols_vodka = new ItemModRevive(9999).setUnlocalizedName("fabsols_vodka").setTextureName(RefStrings.MODID + ":fabsols_vodka"); - shackles = new ItemModShackles().setUnlocalizedName("shackles").setTextureName(RefStrings.MODID + ":shackles"); - injector_5htp = new ItemModAuto().setUnlocalizedName("injector_5htp").setTextureName(RefStrings.MODID + ":injector_5htp"); - injector_knife = new ItemModKnife().setUnlocalizedName("injector_knife").setTextureName(RefStrings.MODID + ":injector_knife"); - medal_liquidator = new ItemModMedal().setUnlocalizedName("medal_liquidator").setTextureName(RefStrings.MODID + ":medal_liquidator"); - bottled_cloud = new ItemModCloud().setUnlocalizedName("bottled_cloud").setTextureName(RefStrings.MODID + ":bottled_cloud"); - protection_charm = new ItemModCharm().setUnlocalizedName("protection_charm").setTextureName(RefStrings.MODID + ":protection_charm"); - meteor_charm = new ItemModCharm().setUnlocalizedName("meteor_charm").setTextureName(RefStrings.MODID + ":meteor_charm"); - neutrino_lens = new ItemModLens().setUnlocalizedName("neutrino_lens").setTextureName(RefStrings.MODID + ":neutrino_lens"); - gas_tester = new ItemModSensor().setUnlocalizedName("gas_tester").setTextureName(RefStrings.MODID + ":gas_tester"); - defuser_gold = new ItemModDefuser().setUnlocalizedName("defuser_gold").setTextureName(RefStrings.MODID + ":defuser_gold"); - ballistic_gauntlet = new ItemModTwoKick().setUnlocalizedName("ballistic_gauntlet").setTextureName(RefStrings.MODID + ":ballistic_gauntlet"); - night_vision = new ItemModNightVision().setUnlocalizedName("night_vision").setTextureName(RefStrings.MODID + ":night_vision"); - card_aos = new ItemModCard().setUnlocalizedName("card_aos").setTextureName(RefStrings.MODID + ":card_aos"); - card_qos = new ItemModCard().setUnlocalizedName("card_qos").setTextureName(RefStrings.MODID + ":card_qos"); - australium_iii = new ItemModShield(25F).setUnlocalizedName("australium_iii").setTextureName(RefStrings.MODID + ":australium_iii"); - armor_battery = new ItemModBattery(1.25D).setUnlocalizedName("armor_battery").setTextureName(RefStrings.MODID + ":armor_battery"); - armor_battery_mk2 = new ItemModBattery(1.5D).setUnlocalizedName("armor_battery_mk2").setTextureName(RefStrings.MODID + ":armor_battery_mk2"); - armor_battery_mk3 = new ItemModBattery(2D).setUnlocalizedName("armor_battery_mk3").setTextureName(RefStrings.MODID + ":armor_battery_mk3"); - - cap_nuka = new Item().setUnlocalizedName("cap_nuka").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_nuka"); - cap_quantum = new Item().setUnlocalizedName("cap_quantum").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_quantum"); - cap_sparkle = new Item().setUnlocalizedName("cap_sparkle").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_sparkle"); - cap_rad = new Item().setUnlocalizedName("cap_rad").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_rad"); - cap_korl = new Item().setUnlocalizedName("cap_korl").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_korl"); - cap_fritz = new Item().setUnlocalizedName("cap_fritz").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_fritz"); - ring_pull = new Item().setUnlocalizedName("ring_pull").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":ring_pull"); - - can_empty = new Item().setUnlocalizedName("can_empty").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_empty"); - can_smart = new ItemEnergy().makeCan().setUnlocalizedName("can_smart").setTextureName(RefStrings.MODID + ":can_smart"); - can_creature = new ItemEnergy().makeCan().setUnlocalizedName("can_creature").setTextureName(RefStrings.MODID + ":can_creature"); - can_redbomb = new ItemEnergy().makeCan().setUnlocalizedName("can_redbomb").setTextureName(RefStrings.MODID + ":can_redbomb"); - can_mrsugar = new ItemEnergy().makeCan().setUnlocalizedName("can_mrsugar").setTextureName(RefStrings.MODID + ":can_mrsugar"); - can_overcharge = new ItemEnergy().makeCan().setUnlocalizedName("can_overcharge").setTextureName(RefStrings.MODID + ":can_overcharge"); - can_luna = new ItemEnergy().makeCan().setUnlocalizedName("can_luna").setTextureName(RefStrings.MODID + ":can_luna"); - can_bepis = new ItemEnergy().makeCan().setUnlocalizedName("can_bepis").setTextureName(RefStrings.MODID + ":can_bepis"); - can_breen = new ItemEnergy().makeCan().setUnlocalizedName("can_breen").setTextureName(RefStrings.MODID + ":can_breen"); - can_mug = new ItemEnergy().makeCan().setUnlocalizedName("can_mug").setTextureName(RefStrings.MODID + ":can_mug"); - bottle_empty = new Item().setUnlocalizedName("bottle_empty").setTextureName(RefStrings.MODID + ":bottle_empty"); - bottle_nuka = new ItemEnergy().makeBottle(bottle_empty, cap_nuka).setUnlocalizedName("bottle_nuka").setTextureName(RefStrings.MODID + ":bottle_nuka"); - bottle_cherry = new ItemEnergy().makeBottle(bottle_empty, cap_nuka).setUnlocalizedName("bottle_cherry").setContainerItem(ModItems.bottle_empty).setTextureName(RefStrings.MODID + ":bottle_cherry"); - bottle_quantum = new ItemEnergy().makeBottle(bottle_empty, cap_quantum).setUnlocalizedName("bottle_quantum").setContainerItem(ModItems.bottle_empty).setTextureName(RefStrings.MODID + ":bottle_quantum"); - bottle_sparkle = new ItemEnergy().makeBottle(bottle_empty, cap_sparkle).setUnlocalizedName("bottle_sparkle").setContainerItem(ModItems.bottle_empty).setTextureName(RefStrings.MODID + ":bottle_sparkle"); - bottle_rad = new ItemEnergy().makeBottle(bottle_empty, cap_rad).setUnlocalizedName("bottle_rad").setContainerItem(ModItems.bottle_empty).setTextureName(RefStrings.MODID + ":bottle_rad"); - bottle2_empty = new Item().setUnlocalizedName("bottle2_empty").setTextureName(RefStrings.MODID + ":bottle2_empty"); - bottle2_korl = new ItemEnergy().makeBottle(bottle2_empty, cap_korl).setUnlocalizedName("bottle2_korl").setContainerItem(ModItems.bottle2_empty).setTextureName(RefStrings.MODID + ":bottle2_korl"); - bottle2_fritz = new ItemEnergy().makeBottle(bottle2_empty, cap_fritz).setUnlocalizedName("bottle2_fritz").setContainerItem(ModItems.bottle2_empty).setTextureName(RefStrings.MODID + ":bottle2_fritz"); - bottle2_korl_special = new ItemEnergy().makeBottle(bottle2_empty, cap_korl).setUnlocalizedName("bottle2_korl_special").setContainerItem(ModItems.bottle2_empty).setTextureName(RefStrings.MODID + ":bottle2_korl"); - bottle2_fritz_special = new ItemEnergy().makeBottle(bottle2_empty, cap_fritz).setUnlocalizedName("bottle2_fritz_special").setContainerItem(ModItems.bottle2_empty).setTextureName(RefStrings.MODID + ":bottle2_fritz"); - flask_infusion = new ItemFlask().setUnlocalizedName("flask_infusion").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":flask"); - chocolate_milk = new ItemEnergy().setUnlocalizedName("chocolate_milk").setTextureName(RefStrings.MODID + ":chocolate_milk"); - coffee = new ItemEnergy().setUnlocalizedName("coffee").setTextureName(RefStrings.MODID + ":coffee"); - coffee_radium = new ItemEnergy().setUnlocalizedName("coffee_radium").setTextureName(RefStrings.MODID + ":coffee_radium"); - chocolate = new ItemPill(0).setUnlocalizedName("chocolate").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":chocolate"); - canned_conserve = (ItemEnumMulti) new ItemConserve().setUnlocalizedName("canned_conserve").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned"); - can_key = new Item().setUnlocalizedName("can_key").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_key"); - - boat_rubber = new ItemBoatRubber().setUnlocalizedName("boat_rubber").setTextureName(RefStrings.MODID + ":boat_rubber"); - cart = new ItemModMinecart().setUnlocalizedName("cart"); - train = new ItemTrain().setUnlocalizedName("train"); - drone = new ItemDrone().setUnlocalizedName("drone"); - - coin_creeper = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_creeper").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_creeper"); - coin_radiation = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_radiation").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_radiation"); - coin_maskman = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_maskman").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_maskman"); - coin_worm = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_worm").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_worm"); - coin_ufo = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_ufo").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_ufo"); - - rod_empty = new Item().setUnlocalizedName("rod_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_empty"); - rod = (ItemEnumMulti) new ItemBreedingRod().setUnlocalizedName("rod").setContainerItem(ModItems.rod_empty).setCreativeTab(MainRegistry.controlTab); - rod_dual_empty = new Item().setUnlocalizedName("rod_dual_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_dual_empty"); - rod_dual = (ItemEnumMulti) new ItemBreedingRod().setUnlocalizedName("rod_dual").setContainerItem(ModItems.rod_dual_empty).setCreativeTab(MainRegistry.controlTab); - rod_quad_empty = new Item().setUnlocalizedName("rod_quad_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_quad_empty"); - rod_quad = (ItemEnumMulti) new ItemBreedingRod().setUnlocalizedName("rod_quad").setContainerItem(ModItems.rod_quad_empty).setCreativeTab(MainRegistry.controlTab); - - rod_zirnox_empty = new Item().setUnlocalizedName("rod_zirnox_empty").setMaxStackSize(64).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_empty"); - //rod_zirnox_natural_uranium_fuel = new ItemZirnoxRodDeprecated(250000, 30).setUnlocalizedName("rod_zirnox_natural_uranium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_natural_uranium_fuel"); - //rod_zirnox_uranium_fuel = new ItemZirnoxRodDeprecated(200000, 50).setUnlocalizedName("rod_zirnox_uranium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_uranium_fuel"); - //rod_zirnox_th232 = new ItemZirnoxBreedingRod(20000, 0).setUnlocalizedName("rod_zirnox_th232").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_th232"); - //rod_zirnox_thorium_fuel = new ItemZirnoxRodDeprecated(200000, 40).setUnlocalizedName("rod_zirnox_thorium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_thorium_fuel"); - //rod_zirnox_mox_fuel = new ItemZirnoxRodDeprecated(165000, 75).setUnlocalizedName("rod_zirnox_mox_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_mox_fuel"); - //rod_zirnox_plutonium_fuel = new ItemZirnoxRodDeprecated(175000, 65).setUnlocalizedName("rod_zirnox_plutonium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_plutonium_fuel"); - //rod_zirnox_u233_fuel = new ItemZirnoxRodDeprecated(150000, 100).setUnlocalizedName("rod_zirnox_u233_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_u233_fuel"); - //rod_zirnox_u235_fuel = new ItemZirnoxRodDeprecated(165000, 85).setUnlocalizedName("rod_zirnox_u235_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_u235_fuel"); - //rod_zirnox_les_fuel = new ItemZirnoxRodDeprecated(150000, 150).setUnlocalizedName("rod_zirnox_les_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_les_fuel"); - //rod_zirnox_lithium = new ItemZirnoxBreedingRod(20000, 0).setUnlocalizedName("rod_zirnox_lithium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_lithium"); - rod_zirnox_tritium = new Item().setUnlocalizedName("rod_zirnox_tritium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_tritium"); - //rod_zirnox_zfb_mox = new ItemZirnoxRodDeprecated(50000, 35).setUnlocalizedName("rod_zirnox_zfb_mox").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_zfb_mox"); - rod_zirnox = (ItemEnumMulti) new ItemZirnoxRod().setUnlocalizedName("rod_zirnox").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox"); - - rod_zirnox_natural_uranium_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_natural_uranium_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_uranium_fuel_depleted"); - rod_zirnox_uranium_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_uranium_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_uranium_fuel_depleted"); - rod_zirnox_thorium_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_thorium_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_thorium_fuel_depleted"); - rod_zirnox_mox_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_mox_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_mox_fuel_depleted"); - rod_zirnox_plutonium_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_plutonium_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_plutonium_fuel_depleted"); - rod_zirnox_u233_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_u233_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_u233_fuel_depleted"); - rod_zirnox_u235_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_u235_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_u235_fuel_depleted"); - rod_zirnox_les_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_les_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_les_fuel_depleted"); - rod_zirnox_zfb_mox_depleted = new Item().setUnlocalizedName("rod_zirnox_zfb_mox_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_zfb_mox_depleted"); - - waste_natural_uranium = new ItemDepletedFuel().setUnlocalizedName("waste_natural_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_uranium"); - waste_uranium = new ItemDepletedFuel().setUnlocalizedName("waste_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_uranium"); - waste_thorium = new ItemDepletedFuel().setUnlocalizedName("waste_thorium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_thorium"); - waste_mox = new ItemDepletedFuel().setUnlocalizedName("waste_mox").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_mox"); - waste_plutonium = new ItemDepletedFuel().setUnlocalizedName("waste_plutonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plutonium"); - waste_u233 = new ItemDepletedFuel().setUnlocalizedName("waste_u233").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_uranium"); - waste_u235 = new ItemDepletedFuel().setUnlocalizedName("waste_u235").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_uranium"); - waste_schrabidium = new ItemDepletedFuel().setUnlocalizedName("waste_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_schrabidium"); - waste_zfb_mox = new ItemDepletedFuel().setUnlocalizedName("waste_zfb_mox").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_zfb_mox"); - - waste_plate_u233 = new ItemDepletedFuel().setUnlocalizedName("waste_plate_u233").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_uranium"); - waste_plate_u235 = new ItemDepletedFuel().setUnlocalizedName("waste_plate_u235").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_uranium"); - waste_plate_mox = new ItemDepletedFuel().setUnlocalizedName("waste_plate_mox").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_mox"); - waste_plate_pu239 = new ItemDepletedFuel().setUnlocalizedName("waste_plate_pu239").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_mox"); - waste_plate_sa326 = new ItemDepletedFuel().setUnlocalizedName("waste_plate_sa326").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_sa326"); - waste_plate_ra226be = new ItemDepletedFuel().setUnlocalizedName("waste_plate_ra226be").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_ra226be"); - waste_plate_pu238be = new ItemDepletedFuel().setUnlocalizedName("waste_plate_pu238be").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_pu238be"); - - pile_rod_uranium = new ItemPileRod().setUnlocalizedName("pile_rod_uranium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_uranium"); - pile_rod_pu239 = new ItemPileRod().setUnlocalizedName("pile_rod_pu239").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_pu239"); - pile_rod_plutonium = new ItemPileRod().setUnlocalizedName("pile_rod_plutonium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_plutonium"); - pile_rod_source = new ItemPileRod().setUnlocalizedName("pile_rod_source").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_source"); - pile_rod_boron = new ItemPileRod().setUnlocalizedName("pile_rod_boron").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_boron"); - pile_rod_lithium = new ItemPileRod().setUnlocalizedName("pile_rod_lithium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_lithium"); - pile_rod_detector = new ItemPileRod().setUnlocalizedName("pile_rod_detector").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_detector"); - - plate_fuel_u233 = new ItemPlateFuel(2200000).setFunction(FunctionEnum.SQUARE_ROOT, 50).setUnlocalizedName("plate_fuel_u233").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_u233"); - plate_fuel_u235 = new ItemPlateFuel(2200000).setFunction(FunctionEnum.SQUARE_ROOT, 40).setUnlocalizedName("plate_fuel_u235").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_u235"); - plate_fuel_mox = new ItemPlateFuel(2400000).setFunction(FunctionEnum.LOGARITHM, 50).setUnlocalizedName("plate_fuel_mox").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_mox"); - plate_fuel_pu239 = new ItemPlateFuel(2000000).setFunction(FunctionEnum.NEGATIVE_QUADRATIC, 50).setUnlocalizedName("plate_fuel_pu239").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_pu239"); - plate_fuel_sa326 = new ItemPlateFuel(2000000).setFunction(FunctionEnum.LINEAR, 80).setUnlocalizedName("plate_fuel_sa326").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_sa326"); - plate_fuel_ra226be = new ItemPlateFuel(1300000).setFunction(FunctionEnum.PASSIVE, 30).setUnlocalizedName("plate_fuel_ra226be").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_ra226be"); - plate_fuel_pu238be = new ItemPlateFuel(1000000).setFunction(FunctionEnum.PASSIVE, 50).setUnlocalizedName("plate_fuel_pu238be").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_pu238be"); - - pwr_fuel = new ItemPWRFuel().setUnlocalizedName("pwr_fuel").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pwr_fuel"); - pwr_fuel_hot = new ItemEnumMulti(EnumPWRFuel.class, true, false).setUnlocalizedName("pwr_fuel_hot").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pwr_fuel_hot"); - pwr_fuel_depleted = new ItemEnumMulti(EnumPWRFuel.class, true, false).setUnlocalizedName("pwr_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pwr_fuel_depleted"); - - rbmk_lid = new ItemRBMKLid().setUnlocalizedName("rbmk_lid").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rbmk_lid"); - rbmk_lid_glass = new ItemRBMKLid().setUnlocalizedName("rbmk_lid_glass").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rbmk_lid_glass"); - - rbmk_pellet_ueu = (ItemRBMKPellet) new ItemRBMKPellet("Unenriched Uranium").setUnlocalizedName("rbmk_pellet_ueu").setTextureName(RefStrings.MODID + ":rbmk_pellet_ueu"); - rbmk_pellet_meu = (ItemRBMKPellet) new ItemRBMKPellet("Medium Enriched Uranium-235").setUnlocalizedName("rbmk_pellet_meu").setTextureName(RefStrings.MODID + ":rbmk_pellet_meu"); - rbmk_pellet_heu233 = (ItemRBMKPellet) new ItemRBMKPellet("Highly Enriched Uranium-233").setUnlocalizedName("rbmk_pellet_heu233").setTextureName(RefStrings.MODID + ":rbmk_pellet_heu233"); - rbmk_pellet_heu235 = (ItemRBMKPellet) new ItemRBMKPellet("Highly Enriched Uranium-235").setUnlocalizedName("rbmk_pellet_heu235").setTextureName(RefStrings.MODID + ":rbmk_pellet_heu235"); - rbmk_pellet_thmeu = (ItemRBMKPellet) new ItemRBMKPellet("Thorium with MEU Driver Fuel").setUnlocalizedName("rbmk_pellet_thmeu").setTextureName(RefStrings.MODID + ":rbmk_pellet_thmeu"); - rbmk_pellet_lep = (ItemRBMKPellet) new ItemRBMKPellet("Low Enriched Plutonium-239").setUnlocalizedName("rbmk_pellet_lep").setTextureName(RefStrings.MODID + ":rbmk_pellet_lep"); - rbmk_pellet_mep = (ItemRBMKPellet) new ItemRBMKPellet("Medium Enriched Plutonium-239").setUnlocalizedName("rbmk_pellet_mep").setTextureName(RefStrings.MODID + ":rbmk_pellet_mep"); - rbmk_pellet_hep239 = (ItemRBMKPellet) new ItemRBMKPellet("Highly Enriched Plutonium-239").setUnlocalizedName("rbmk_pellet_hep239").setTextureName(RefStrings.MODID + ":rbmk_pellet_hep239"); - rbmk_pellet_hep241 = (ItemRBMKPellet) new ItemRBMKPellet("Highly Enriched Plutonium-241").setUnlocalizedName("rbmk_pellet_hep241").setTextureName(RefStrings.MODID + ":rbmk_pellet_hep241"); - rbmk_pellet_lea = (ItemRBMKPellet) new ItemRBMKPellet("Low Enriched Americium-242").setUnlocalizedName("rbmk_pellet_lea").setTextureName(RefStrings.MODID + ":rbmk_pellet_lea"); - rbmk_pellet_mea = (ItemRBMKPellet) new ItemRBMKPellet("Medium Enriched Americium-242").setUnlocalizedName("rbmk_pellet_mea").setTextureName(RefStrings.MODID + ":rbmk_pellet_mea"); - rbmk_pellet_hea241 = (ItemRBMKPellet) new ItemRBMKPellet("Highly Enriched Americium-241").setUnlocalizedName("rbmk_pellet_hea241").setTextureName(RefStrings.MODID + ":rbmk_pellet_hea241"); - rbmk_pellet_hea242 = (ItemRBMKPellet) new ItemRBMKPellet("Highly Enriched Americium-242").setUnlocalizedName("rbmk_pellet_hea242").setTextureName(RefStrings.MODID + ":rbmk_pellet_hea242"); - rbmk_pellet_men = (ItemRBMKPellet) new ItemRBMKPellet("Medium Enriched Neptunium-237").setUnlocalizedName("rbmk_pellet_men").setTextureName(RefStrings.MODID + ":rbmk_pellet_men"); - rbmk_pellet_hen = (ItemRBMKPellet) new ItemRBMKPellet("Highly Enriched Neptunium-237").setUnlocalizedName("rbmk_pellet_hen").setTextureName(RefStrings.MODID + ":rbmk_pellet_hen"); - rbmk_pellet_mox = (ItemRBMKPellet) new ItemRBMKPellet("Mixed MEU & LEP Oxide").setUnlocalizedName("rbmk_pellet_mox").setTextureName(RefStrings.MODID + ":rbmk_pellet_mox"); - rbmk_pellet_les = (ItemRBMKPellet) new ItemRBMKPellet("Low Enriched Schrabidium-326").setUnlocalizedName("rbmk_pellet_les").setTextureName(RefStrings.MODID + ":rbmk_pellet_les"); - rbmk_pellet_mes = (ItemRBMKPellet) new ItemRBMKPellet("Medium Enriched Schrabidium-326").setUnlocalizedName("rbmk_pellet_mes").setTextureName(RefStrings.MODID + ":rbmk_pellet_mes"); - rbmk_pellet_hes = (ItemRBMKPellet) new ItemRBMKPellet("Highly Enriched Schrabidium-326").setUnlocalizedName("rbmk_pellet_hes").setTextureName(RefStrings.MODID + ":rbmk_pellet_hes"); - rbmk_pellet_leaus = (ItemRBMKPellet) new ItemRBMKPellet("Low Enriched Australium (Tasmanite)").setUnlocalizedName("rbmk_pellet_leaus").setTextureName(RefStrings.MODID + ":rbmk_pellet_leaus"); - rbmk_pellet_heaus = (ItemRBMKPellet) new ItemRBMKPellet("Highly Enriched Australium (Ayerite)").setUnlocalizedName("rbmk_pellet_heaus").setTextureName(RefStrings.MODID + ":rbmk_pellet_heaus"); - rbmk_pellet_po210be = (ItemRBMKPellet) new ItemRBMKPellet("Polonium-210 & Beryllium Neutron Source").disableXenon().setUnlocalizedName("rbmk_pellet_po210be").setTextureName(RefStrings.MODID + ":rbmk_pellet_po210be"); - rbmk_pellet_ra226be = (ItemRBMKPellet) new ItemRBMKPellet("Radium-226 & Beryllium Neutron Source").disableXenon().setUnlocalizedName("rbmk_pellet_ra226be").setTextureName(RefStrings.MODID + ":rbmk_pellet_ra226be"); - rbmk_pellet_pu238be = (ItemRBMKPellet) new ItemRBMKPellet("Plutonium-238 & Beryllium Neutron Source").setUnlocalizedName("rbmk_pellet_pu238be").setTextureName(RefStrings.MODID + ":rbmk_pellet_pu238be"); - rbmk_pellet_balefire_gold = (ItemRBMKPellet) new ItemRBMKPellet("Antihydrogen in a Magnetized Gold-198 Lattice").disableXenon().setUnlocalizedName("rbmk_pellet_balefire_gold").setTextureName(RefStrings.MODID + ":rbmk_pellet_balefire_gold"); - rbmk_pellet_flashlead = (ItemRBMKPellet) new ItemRBMKPellet("Antihydrogen confined by a Magnetized Gold-198 and Lead-209 Lattice").disableXenon().setUnlocalizedName("rbmk_pellet_flashlead").setTextureName(RefStrings.MODID + ":rbmk_pellet_flashlead"); - rbmk_pellet_balefire = (ItemRBMKPellet) new ItemRBMKPellet("Draconic Flames").disableXenon().setUnlocalizedName("rbmk_pellet_balefire").setTextureName(RefStrings.MODID + ":rbmk_pellet_balefire"); - rbmk_pellet_zfb_bismuth = (ItemRBMKPellet) new ItemRBMKPellet("Zirconium Fast Breeder - LEU/HEP-241#Bi").setUnlocalizedName("rbmk_pellet_zfb_bismuth").setTextureName(RefStrings.MODID + ":rbmk_pellet_zfb_bismuth"); - rbmk_pellet_zfb_pu241 = (ItemRBMKPellet) new ItemRBMKPellet("Zirconium Fast Breeder - HEU-235/HEP-240#Pu-241").setUnlocalizedName("rbmk_pellet_zfb_pu241").setTextureName(RefStrings.MODID + ":rbmk_pellet_zfb_pu241"); - rbmk_pellet_zfb_am_mix = (ItemRBMKPellet) new ItemRBMKPellet("Zirconium Fast Breeder - HEP-241#MEA").setUnlocalizedName("rbmk_pellet_zfb_am_mix").setTextureName(RefStrings.MODID + ":rbmk_pellet_zfb_am_mix"); - rbmk_pellet_drx = (ItemRBMKPellet) new ItemRBMKPellet(EnumChatFormatting.OBFUSCATED + "can't you hear, can't you hear the thunder?").setUnlocalizedName("rbmk_pellet_drx").setTextureName(RefStrings.MODID + ":rbmk_pellet_drx"); - - rbmk_fuel_empty = new Item().setUnlocalizedName("rbmk_fuel_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rbmk_fuel_empty"); - rbmk_fuel_ueu = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_ueu) - .setYield(100000000D) - .setStats(15) - .setFunction(EnumBurnFunc.LOG_TEN) - .setDepletionFunction(EnumDepleteFunc.RAISING_SLOPE) - .setHeat(0.65) //0.5 is too much of a nerf in heat; pu239 buildup justifies it being on par with MEU ig - .setMeltingPoint(2865) - .setUnlocalizedName("rbmk_fuel_ueu").setTextureName(RefStrings.MODID + ":rbmk_fuel_ueu"); - rbmk_fuel_meu = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_meu) - .setYield(100000000D) - .setStats(20) - .setFunction(EnumBurnFunc.LOG_TEN) - .setDepletionFunction(EnumDepleteFunc.RAISING_SLOPE) - .setHeat(0.65) //0.75 was a bit too much... - .setMeltingPoint(2865) - .setUnlocalizedName("rbmk_fuel_meu").setTextureName(RefStrings.MODID + ":rbmk_fuel_meu"); - rbmk_fuel_heu233 = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_heu233) - .setYield(100000000D) - .setStats(27.5D) - .setFunction(EnumBurnFunc.LINEAR) - .setHeat(1.25D) - .setMeltingPoint(2865) - .setUnlocalizedName("rbmk_fuel_heu233").setTextureName(RefStrings.MODID + ":rbmk_fuel_heu233"); - rbmk_fuel_heu235 = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_heu235) - .setYield(100000000D) - .setStats(50) //Consistency with HEN; its critical mass is too high to justify a linear function - .setFunction(EnumBurnFunc.SQUARE_ROOT) - .setMeltingPoint(2865) - .setUnlocalizedName("rbmk_fuel_heu235").setTextureName(RefStrings.MODID + ":rbmk_fuel_heu235"); - rbmk_fuel_thmeu = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_thmeu) - .setYield(100000000D) - .setStats(20) - .setFunction(EnumBurnFunc.PLATEU) - .setDepletionFunction(EnumDepleteFunc.BOOSTED_SLOPE) - .setHeat(0.65D) //Consistency with MEU - .setMeltingPoint(3350) - .setUnlocalizedName("rbmk_fuel_thmeu").setTextureName(RefStrings.MODID + ":rbmk_fuel_thmeu"); - rbmk_fuel_lep = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_lep) - .setYield(100000000D) - .setStats(35) - .setFunction(EnumBurnFunc.LOG_TEN) - .setDepletionFunction(EnumDepleteFunc.RAISING_SLOPE) - .setHeat(0.75D) - .setMeltingPoint(2744) - .setUnlocalizedName("rbmk_fuel_lep").setTextureName(RefStrings.MODID + ":rbmk_fuel_lep"); - rbmk_fuel_mep = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_mep) - .setYield(100000000D) - .setStats(35) - .setFunction(EnumBurnFunc.SQUARE_ROOT) - .setMeltingPoint(2744) - .setUnlocalizedName("rbmk_fuel_mep").setTextureName(RefStrings.MODID + ":rbmk_fuel_mep"); - rbmk_fuel_hep239 = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_hep239) - .setYield(100000000D) - .setStats(30) - .setFunction(EnumBurnFunc.LINEAR) - .setHeat(1.25D) - .setMeltingPoint(2744) - .setUnlocalizedName("rbmk_fuel_hep").setTextureName(RefStrings.MODID + ":rbmk_fuel_hep"); - rbmk_fuel_hep241 = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_hep241) - .setYield(100000000D) - .setStats(40) - .setFunction(EnumBurnFunc.LINEAR) - .setHeat(1.75D) - .setMeltingPoint(2744) - .setUnlocalizedName("rbmk_fuel_hep241").setTextureName(RefStrings.MODID + ":rbmk_fuel_hep241"); - rbmk_fuel_lea = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_lea) - .setYield(100000000D) - .setStats(60, 10) - .setFunction(EnumBurnFunc.SQUARE_ROOT) - .setDepletionFunction(EnumDepleteFunc.RAISING_SLOPE) - .setHeat(1.5D) - .setMeltingPoint(2386) - .setUnlocalizedName("rbmk_fuel_lea").setTextureName(RefStrings.MODID + ":rbmk_fuel_lea"); - rbmk_fuel_mea = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_mea) - .setYield(100000000D) - .setStats(35D, 20) - .setFunction(EnumBurnFunc.ARCH) - .setHeat(1.75D) - .setMeltingPoint(2386) - .setUnlocalizedName("rbmk_fuel_mea").setTextureName(RefStrings.MODID + ":rbmk_fuel_mea"); - rbmk_fuel_hea241 = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_hea241) - .setYield(100000000D) - .setStats(65, 15) - .setFunction(EnumBurnFunc.SQUARE_ROOT) - .setHeat(1.85D) - .setMeltingPoint(2386) - .setNeutronTypes(NType.FAST, NType.FAST) - .setUnlocalizedName("rbmk_fuel_hea241").setTextureName(RefStrings.MODID + ":rbmk_fuel_hea241"); - rbmk_fuel_hea242 = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_hea242) - .setYield(100000000D) - .setStats(45) - .setFunction(EnumBurnFunc.LINEAR) - .setHeat(2D) - .setMeltingPoint(2386) - .setUnlocalizedName("rbmk_fuel_hea242").setTextureName(RefStrings.MODID + ":rbmk_fuel_hea242"); - rbmk_fuel_men = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_men) - .setYield(100000000D) - .setStats(30) - .setFunction(EnumBurnFunc.SQUARE_ROOT) - .setDepletionFunction(EnumDepleteFunc.RAISING_SLOPE) - .setHeat(0.75) - .setMeltingPoint(2800) - .setNeutronTypes(NType.ANY, NType.FAST) //Build-up of Pu-239 leads to both speeds of neutrons grooving - .setUnlocalizedName("rbmk_fuel_men").setTextureName(RefStrings.MODID + ":rbmk_fuel_men"); - rbmk_fuel_hen = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_hen) - .setYield(100000000D) - .setStats(40) - .setFunction(EnumBurnFunc.SQUARE_ROOT) - .setMeltingPoint(2800) - .setNeutronTypes(NType.FAST, NType.FAST) - .setUnlocalizedName("rbmk_fuel_hen").setTextureName(RefStrings.MODID + ":rbmk_fuel_hen"); - rbmk_fuel_mox = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_mox) - .setYield(100000000D) - .setStats(40) - .setFunction(EnumBurnFunc.LOG_TEN) - .setDepletionFunction(EnumDepleteFunc.RAISING_SLOPE) - .setMeltingPoint(2815) - .setUnlocalizedName("rbmk_fuel_mox").setTextureName(RefStrings.MODID + ":rbmk_fuel_mox"); - rbmk_fuel_les = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_les) - .setYield(100000000D) - .setStats(50) - .setFunction(EnumBurnFunc.SQUARE_ROOT) - .setHeat(1.25D) - .setMeltingPoint(2500) - .setNeutronTypes(NType.SLOW, NType.SLOW) //Beryllium Moderation - .setUnlocalizedName("rbmk_fuel_les").setTextureName(RefStrings.MODID + ":rbmk_fuel_les"); - rbmk_fuel_mes = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_mes) - .setYield(100000000D) - .setStats(75D) - .setFunction(EnumBurnFunc.ARCH) - .setHeat(1.5D) - .setMeltingPoint(2750) - .setUnlocalizedName("rbmk_fuel_mes").setTextureName(RefStrings.MODID + ":rbmk_fuel_mes"); - rbmk_fuel_hes = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_hes) - .setYield(100000000D) - .setStats(90) - .setFunction(EnumBurnFunc.LINEAR) - .setDepletionFunction(EnumDepleteFunc.LINEAR) - .setHeat(1.75D) - .setMeltingPoint(3000) - .setUnlocalizedName("rbmk_fuel_hes").setTextureName(RefStrings.MODID + ":rbmk_fuel_hes"); - rbmk_fuel_leaus = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_leaus) - .setYield(100000000D) - .setStats(30) - .setFunction(EnumBurnFunc.SIGMOID) - .setDepletionFunction(EnumDepleteFunc.LINEAR) - .setXenon(0.05D, 50D) - .setHeat(1.5D) - .setMeltingPoint(7029).setUnlocalizedName("rbmk_fuel_leaus").setTextureName(RefStrings.MODID + ":rbmk_fuel_leaus"); - rbmk_fuel_heaus = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_heaus) - .setYield(100000000D) - .setStats(35) - .setFunction(EnumBurnFunc.SQUARE_ROOT) - .setXenon(0.05D, 50D) - .setHeat(2D) - .setMeltingPoint(5211).setUnlocalizedName("rbmk_fuel_heaus").setTextureName(RefStrings.MODID + ":rbmk_fuel_heaus"); - rbmk_fuel_po210be = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_po210be) - .setYield(25000000D) - .setStats(0D, 50) - .setFunction(EnumBurnFunc.PASSIVE) - .setDepletionFunction(EnumDepleteFunc.LINEAR) - .setXenon(0.0D, 50D) - .setHeat(0.1D) - .setDiffusion(0.05D) - .setMeltingPoint(1287) - .setNeutronTypes(NType.SLOW, NType.SLOW) //Beryllium Moderation - .setUnlocalizedName("rbmk_fuel_po210be").setTextureName(RefStrings.MODID + ":rbmk_fuel_po210be"); - rbmk_fuel_ra226be = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_ra226be) - .setYield(100000000D) - .setStats(0D, 20) - .setFunction(EnumBurnFunc.PASSIVE) - .setDepletionFunction(EnumDepleteFunc.LINEAR) - .setXenon(0.0D, 50D) - .setHeat(0.035D) - .setDiffusion(0.5D) - .setMeltingPoint(700) - .setNeutronTypes(NType.SLOW, NType.SLOW) //Beryllium Moderation - .setUnlocalizedName("rbmk_fuel_ra226be").setTextureName(RefStrings.MODID + ":rbmk_fuel_ra226be"); - rbmk_fuel_pu238be = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_pu238be) - .setYield(50000000D) - .setStats(40, 40) - .setFunction(EnumBurnFunc.SQUARE_ROOT) - .setHeat(0.1D) - .setDiffusion(0.05D) - .setMeltingPoint(1287) - .setNeutronTypes(NType.SLOW, NType.SLOW) //Beryllium Moderation - .setUnlocalizedName("rbmk_fuel_pu238be").setTextureName(RefStrings.MODID + ":rbmk_fuel_pu238be"); - rbmk_fuel_balefire_gold = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_balefire_gold) - .setYield(100000000D) - .setStats(50, 10) - .setFunction(EnumBurnFunc.ARCH) - .setDepletionFunction(EnumDepleteFunc.LINEAR) - .setXenon(0.0D, 50D) - .setMeltingPoint(2000) - .setUnlocalizedName("rbmk_fuel_balefire_gold").setTextureName(RefStrings.MODID + ":rbmk_fuel_balefire_gold"); - rbmk_fuel_flashlead = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_flashlead) - .setYield(250000000D) - .setStats(40, 50) - .setFunction(EnumBurnFunc.ARCH) - .setDepletionFunction(EnumDepleteFunc.LINEAR) - .setXenon(0.0D, 50D) - .setMeltingPoint(2050) - .setUnlocalizedName("rbmk_fuel_flashlead").setTextureName(RefStrings.MODID + ":rbmk_fuel_flashlead"); - rbmk_fuel_balefire = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_balefire) - .setYield(100000000D) - .setStats(100, 35) - .setFunction(EnumBurnFunc.LINEAR) - .setXenon(0.0D, 50D) - .setHeat(3D) - .setMeltingPoint(3652) - .setUnlocalizedName("rbmk_fuel_balefire").setTextureName(RefStrings.MODID + ":rbmk_fuel_balefire"); - rbmk_fuel_zfb_bismuth = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_zfb_bismuth) - .setYield(50000000D) - .setStats(20) - .setFunction(EnumBurnFunc.SQUARE_ROOT) - .setHeat(1.75D) - .setMeltingPoint(2744) - .setUnlocalizedName("rbmk_fuel_zfb_bismuth").setTextureName(RefStrings.MODID + ":rbmk_fuel_zfb_bismuth"); - rbmk_fuel_zfb_pu241 = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_zfb_pu241) - .setYield(50000000D) - .setStats(20) - .setFunction(EnumBurnFunc.SQUARE_ROOT) - .setMeltingPoint(2865) - .setUnlocalizedName("rbmk_fuel_zfb_pu241").setTextureName(RefStrings.MODID + ":rbmk_fuel_zfb_pu241"); - rbmk_fuel_zfb_am_mix = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_zfb_am_mix) - .setYield(50000000D) - .setStats(20) - .setFunction(EnumBurnFunc.LINEAR) - .setHeat(1.75D) - .setMeltingPoint(2744) - .setUnlocalizedName("rbmk_fuel_zfb_am_mix").setTextureName(RefStrings.MODID + ":rbmk_fuel_zfb_am_mix"); - rbmk_fuel_drx = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_drx) - .setYield(1000000D) - .setStats(1000, 10) - .setFunction(EnumBurnFunc.QUADRATIC) - .setHeat(0.1D) - .setMeltingPoint(100000) - .setUnlocalizedName("rbmk_fuel_drx").setTextureName(RefStrings.MODID + ":rbmk_fuel_drx"); - rbmk_fuel_test = (ItemRBMKRod) new ItemRBMKRod("THE VOICES") - .setYield(1000000D) - .setStats(100) - .setFunction(EnumBurnFunc.EXPERIMENTAL) - .setHeat(1.0D) - .setMeltingPoint(100000) - .setUnlocalizedName("rbmk_fuel_test").setTextureName(RefStrings.MODID + ":rbmk_fuel_test"); - - watz_pellet = new ItemWatzPellet().setUnlocalizedName("watz_pellet").setTextureName(RefStrings.MODID + ":watz_pellet"); - watz_pellet_depleted = new ItemWatzPellet().setUnlocalizedName("watz_pellet_depleted").setTextureName(RefStrings.MODID + ":watz_pellet"); - - icf_pellet_empty = new Item().setUnlocalizedName("icf_pellet_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":icf_pellet_empty"); - icf_pellet = new ItemICFPellet().setUnlocalizedName("icf_pellet").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":icf_pellet"); - icf_pellet_depleted = new Item().setUnlocalizedName("icf_pellet_depleted").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":icf_pellet_depleted"); - - trinitite = new ItemNuclearWaste().setUnlocalizedName("trinitite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":trinitite_new"); - nuclear_waste_long = new ItemWasteLong().setUnlocalizedName("nuclear_waste_long").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_long"); - nuclear_waste_long_tiny = new ItemWasteLong().setUnlocalizedName("nuclear_waste_long_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_long_tiny"); - nuclear_waste_short = new ItemWasteShort().setUnlocalizedName("nuclear_waste_short").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_short"); - nuclear_waste_short_tiny = new ItemWasteShort().setUnlocalizedName("nuclear_waste_short_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_short_tiny"); - nuclear_waste_long_depleted = new ItemWasteLong().setUnlocalizedName("nuclear_waste_long_depleted").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_long_depleted"); - nuclear_waste_long_depleted_tiny = new ItemWasteLong().setUnlocalizedName("nuclear_waste_long_depleted_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_long_depleted_tiny"); - nuclear_waste_short_depleted = new ItemWasteShort().setUnlocalizedName("nuclear_waste_short_depleted").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_short_depleted"); - nuclear_waste_short_depleted_tiny = new ItemWasteShort().setUnlocalizedName("nuclear_waste_short_depleted_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_short_depleted_tiny"); - nuclear_waste = new ItemNuclearWaste().setUnlocalizedName("nuclear_waste").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste"); - nuclear_waste_tiny = new ItemNuclearWaste().setUnlocalizedName("nuclear_waste_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_tiny"); - nuclear_waste_vitrified = new ItemNuclearWaste().setUnlocalizedName("nuclear_waste_vitrified").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_vitrified"); - nuclear_waste_vitrified_tiny = new ItemNuclearWaste().setUnlocalizedName("nuclear_waste_vitrified_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_vitrified_tiny"); - scrap_plastic = new ItemPlasticScrap().setUnlocalizedName("scrap_plastic").setTextureName(RefStrings.MODID + ":scrap_plastic"); - scrap = new Item().setUnlocalizedName("scrap").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scrap"); - scrap_oil = new Item().setUnlocalizedName("scrap_oil").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scrap_oil"); - scrap_nuclear = new Item().setUnlocalizedName("scrap_nuclear").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scrap_nuclear"); - containment_box = new ItemLeadBox().setUnlocalizedName("containment_box").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":containment_box"); - plastic_bag = new ItemPlasticBag().setUnlocalizedName("plastic_bag").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":plastic_bag"); - - debris_graphite = new Item().setUnlocalizedName("debris_graphite").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":debris_graphite"); - debris_metal = new Item().setUnlocalizedName("debris_metal").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":debris_metal"); - debris_fuel = new Item().setUnlocalizedName("debris_fuel").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":debris_fuel"); - debris_concrete = new Item().setUnlocalizedName("debris_concrete").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":debris_concrete"); - debris_exchanger = new Item().setUnlocalizedName("debris_exchanger").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":debris_exchanger"); - debris_shrapnel =new Item().setUnlocalizedName("debris_shrapnel").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":debris_shrapnel"); - debris_element =new Item().setUnlocalizedName("debris_element").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":debris_element"); - - pellet_cluster = new ItemCustomLore().setUnlocalizedName("pellet_cluster").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellet_cluster"); - powder_fire = new ItemCustomLore().setUnlocalizedName("powder_fire").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_red_phosphorus"); - powder_ice = new ItemCustomLore().setUnlocalizedName("powder_ice").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_ice"); - powder_poison = new ItemCustomLore().setUnlocalizedName("powder_poison").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_poison"); - powder_thermite = new ItemCustomLore().setUnlocalizedName("powder_thermite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_thermite"); - cordite = new Item().setUnlocalizedName("cordite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":cordite"); - ballistite = new Item().setUnlocalizedName("ballistite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ballistite"); - ball_dynamite = new Item().setUnlocalizedName("ball_dynamite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ball_dynamite"); - ball_tnt = new Item().setUnlocalizedName("ball_tnt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ball_tnt"); - ball_tatb = new Item().setUnlocalizedName("ball_tatb").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ball_tatb"); - ball_fireclay = new Item().setUnlocalizedName("ball_fireclay").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ball_fireclay"); - pellet_gas = new ItemCustomLore().setUnlocalizedName("pellet_gas").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellet_gas"); - magnetron = new ItemCustomLore().setUnlocalizedName("magnetron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":magnetron_alt"); - pellet_buckshot = new Item().setUnlocalizedName("pellet_buckshot").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_lead"); - pellet_flechette = new Item().setUnlocalizedName("pellet_flechette").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_flechette"); - pellet_chlorophyte = new Item().setUnlocalizedName("pellet_chlorophyte").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_chlorophyte"); - pellet_canister = new Item().setUnlocalizedName("pellet_canister").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_canister"); - pellet_claws = new Item().setUnlocalizedName("pellet_claws").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_claws"); - pellet_charged = new Item().setUnlocalizedName("pellet_charged").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_charged"); - - designator = new ItemDesingator().setUnlocalizedName("designator").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":designator"); - designator_range = new ItemDesingatorRange().setUnlocalizedName("designator_range").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":designator_range_alt"); - designator_manual = new ItemDesingatorManual().setUnlocalizedName("designator_manual").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":designator_manual"); - designator_arty_range = new ItemDesignatorArtyRange().setUnlocalizedName("designator_arty_range").setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":designator_arty_range"); - launch_code_piece = new Item().setUnlocalizedName("launch_code_piece").setMaxStackSize(1).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":launch_code_piece"); - launch_code = new Item().setUnlocalizedName("launch_code").setMaxStackSize(1).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":launch_code"); - launch_key = new Item().setUnlocalizedName("launch_key").setMaxStackSize(1).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":launch_key"); - missile_assembly = new Item().setUnlocalizedName("missile_assembly").setMaxStackSize(1).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":missile_assembly"); - missile_generic = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_generic").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_generic"); - missile_anti_ballistic = new ItemMissile(MissileFormFactor.ABM, MissileTier.TIER1).setUnlocalizedName("missile_anti_ballistic").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_anti_ballistic"); - missile_incendiary = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_incendiary"); - missile_cluster = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_cluster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_cluster"); - missile_buster = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_buster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_buster"); - missile_decoy = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_decoy").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_decoy"); - missile_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_strong"); - missile_incendiary_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_incendiary_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_incendiary_strong"); - missile_cluster_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_cluster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_cluster_strong"); - missile_buster_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_buster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_buster_strong"); - missile_emp_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_emp_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp_strong"); - missile_burst = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).setUnlocalizedName("missile_burst").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_burst"); - missile_inferno = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).setUnlocalizedName("missile_inferno").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_inferno"); - missile_rain = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).setUnlocalizedName("missile_rain").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_rain"); - missile_drill = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).setUnlocalizedName("missile_drill").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_drill"); - missile_nuclear = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).setUnlocalizedName("missile_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_nuclear"); - missile_nuclear_cluster = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).setUnlocalizedName("missile_nuclear_cluster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_nuclear_cluster"); - missile_volcano = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).setUnlocalizedName("missile_volcano").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_volcano"); - missile_doomsday = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).setUnlocalizedName("missile_doomsday").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_doomsday"); - missile_doomsday_rusted = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).notLaunchable().setUnlocalizedName("missile_doomsday_rusted").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_doomsday"); - missile_taint = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_taint").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_taint"); - missile_micro = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_micro").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_micro"); - missile_bhole = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_bhole").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_bhole"); - missile_schrabidium = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_schrabidium"); - missile_emp = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_emp").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp"); - missile_shuttle = new ItemMissile(MissileFormFactor.OTHER, MissileTier.TIER3, MissileFuel.KEROSENE_PEROXIDE).setUnlocalizedName("missile_shuttle").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_shuttle"); - missile_stealth = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER1).setUnlocalizedName("missile_stealth").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_stealth"); - missile_test = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_test").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":missile_micro"); - missile_carrier = new Item().setUnlocalizedName("missile_carrier").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":missile_carrier"); - missile_soyuz = new ItemSoyuz().setUnlocalizedName("missile_soyuz").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":soyuz"); - missile_soyuz_lander = new ItemCustomLore().setUnlocalizedName("missile_soyuz_lander").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":soyuz_lander"); - missile_custom = new ItemCustomMissile().setUnlocalizedName("missile_custom").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":missile_custom"); - sat_mapper = new ItemSatChip().setUnlocalizedName("sat_mapper").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_mapper"); - sat_scanner = new ItemSatChip().setUnlocalizedName("sat_scanner").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_scanner"); - sat_radar = new ItemSatChip().setUnlocalizedName("sat_radar").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_radar"); - sat_laser = new ItemSatChip().setUnlocalizedName("sat_laser").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_laser"); - sat_foeq = new ItemSatChip().setUnlocalizedName("sat_foeq").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_foeq"); - sat_resonator = new ItemSatChip().setUnlocalizedName("sat_resonator").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_resonator"); - sat_miner = new ItemSatChip().setUnlocalizedName("sat_miner").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_miner"); - sat_lunar_miner = new ItemSatChip().setUnlocalizedName("sat_lunar_miner").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_lunar_miner"); - sat_gerald = new ItemSatChip().setUnlocalizedName("sat_gerald").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_gerald"); - sat_chip = new ItemSatChip().setUnlocalizedName("sat_chip").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_chip"); - sat_interface = new ItemSatInterface().setUnlocalizedName("sat_interface").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_interface"); - sat_coord = new ItemSatInterface().setUnlocalizedName("sat_coord").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_coord"); - sat_designator = new ItemSatDesignator().setUnlocalizedName("sat_designator").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_designator"); - sat_relay = new ItemSatRelay().setUnlocalizedName("sat_relay").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_relay"); - - mp_thruster_10_kerosene = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 1.5F, PartSize.SIZE_10).setHealth(10F) .setUnlocalizedName("mp_thruster_10_kerosene"); - mp_thruster_10_kerosene_tec = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 1.5F, PartSize.SIZE_10).setHealth(15F).setRarity(Rarity.COMMON).setUnlocalizedName("mp_thruster_10_kerosene_tec"); - mp_thruster_10_solid = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 1.5F, PartSize.SIZE_10).setHealth(15F) .setUnlocalizedName("mp_thruster_10_solid"); - mp_thruster_10_xenon = new ItemCustomMissilePart().makeThruster(FuelType.XENON, 1F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_thruster_10_xenon"); - mp_thruster_15_kerosene = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 7.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene"); - mp_thruster_15_kerosene_tec = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 7.5F, PartSize.SIZE_15).setHealth(20F).setRarity(Rarity.COMMON).setUnlocalizedName("mp_thruster_15_kerosene_tec"); - mp_thruster_15_kerosene_dual = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 2.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene_dual"); - mp_thruster_15_kerosene_triple = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene_triple"); - mp_thruster_15_solid = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 5F, PartSize.SIZE_15).setHealth(20F) .setUnlocalizedName("mp_thruster_15_solid"); - mp_thruster_15_solid_hexdecuple = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 5F, PartSize.SIZE_15).setHealth(25F).setRarity(Rarity.UNCOMMON).setUnlocalizedName("mp_thruster_15_solid_hexdecuple"); - mp_thruster_15_hydrogen = new ItemCustomMissilePart().makeThruster(FuelType.HYDROGEN, 1F, 7.5F, PartSize.SIZE_15).setHealth(20F) .setUnlocalizedName("mp_thruster_15_hydrogen"); - mp_thruster_15_hydrogen_dual = new ItemCustomMissilePart().makeThruster(FuelType.HYDROGEN, 1F, 2.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_hydrogen_dual"); - mp_thruster_15_balefire_short = new ItemCustomMissilePart().makeThruster(FuelType.BALEFIRE, 1F, 5F, PartSize.SIZE_15).setHealth(25F) .setUnlocalizedName("mp_thruster_15_balefire_short"); - mp_thruster_15_balefire = new ItemCustomMissilePart().makeThruster(FuelType.BALEFIRE, 1F, 5F, PartSize.SIZE_15).setHealth(25F) .setUnlocalizedName("mp_thruster_15_balefire"); - mp_thruster_15_balefire_large = new ItemCustomMissilePart().makeThruster(FuelType.BALEFIRE, 1F, 7.5F, PartSize.SIZE_15).setHealth(35F) .setUnlocalizedName("mp_thruster_15_balefire_large"); - mp_thruster_15_balefire_large_rad = new ItemCustomMissilePart().makeThruster(FuelType.BALEFIRE, 1F, 7.5F, PartSize.SIZE_15).setAuthor("The Master").setHealth(35F).setRarity(Rarity.UNCOMMON).setUnlocalizedName("mp_thruster_15_balefire_large_rad"); - mp_thruster_20_kerosene = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene"); - mp_thruster_20_kerosene_dual = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene_dual"); - mp_thruster_20_kerosene_triple = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene_triple"); - mp_thruster_20_solid = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20).setHealth(35F).setWittyText("It's basically just a big hole at the end of the fuel tank.").setUnlocalizedName("mp_thruster_20_solid"); - mp_thruster_20_solid_multi = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20).setHealth(35F) .setUnlocalizedName("mp_thruster_20_solid_multi"); - mp_thruster_20_solid_multier = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20).setHealth(35F).setWittyText("Did I miscount? Hope not.").setUnlocalizedName("mp_thruster_20_solid_multier"); - - mp_stability_10_flat = new ItemCustomMissilePart().makeStability(0.5F, PartSize.SIZE_10).setHealth(10F) .setUnlocalizedName("mp_stability_10_flat"); - mp_stability_10_cruise = new ItemCustomMissilePart().makeStability(0.25F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_stability_10_cruise"); - mp_stability_10_space = new ItemCustomMissilePart().makeStability(0.35F, PartSize.SIZE_10).setHealth(5F).setRarity(Rarity.COMMON).setWittyText("Standing there alone, the ship is waiting / All systems are go, are you sure?") .setUnlocalizedName("mp_stability_10_space"); - mp_stability_15_flat = new ItemCustomMissilePart().makeStability(0.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_stability_15_flat"); - mp_stability_15_thin = new ItemCustomMissilePart().makeStability(0.35F, PartSize.SIZE_15).setHealth(5F) .setUnlocalizedName("mp_stability_15_thin"); - mp_stability_15_soyuz = new ItemCustomMissilePart().makeStability(0.25F, PartSize.SIZE_15).setHealth(15F).setRarity(Rarity.COMMON).setWittyText("Союз!").setUnlocalizedName("mp_stability_15_soyuz"); - mp_stability_20_flat = new ItemCustomMissilePart().makeStability(0.5F, PartSize.SIZE_20) .setUnlocalizedName("mp_s_20"); - - mp_fuselage_10_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 2500F, PartSize.SIZE_10, PartSize.SIZE_10).setAuthor("Hoboy").setHealth(20F).setUnlocalizedName("mp_fuselage_10_kerosene"); - mp_fuselage_10_kerosene_camo = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_10_kerosene_camo"); - mp_fuselage_10_kerosene_desert = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_10_kerosene_desert"); - mp_fuselage_10_kerosene_sky = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_10_kerosene_sky"); - mp_fuselage_10_kerosene_flames = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_kerosene_flames"); - mp_fuselage_10_kerosene_insulation = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(25F).setUnlocalizedName("mp_fuselage_10_kerosene_insulation"); - mp_fuselage_10_kerosene_sleek = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(35F).setUnlocalizedName("mp_fuselage_10_kerosene_sleek"); - mp_fuselage_10_kerosene_metal = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setTitle("Bolted Metal").setHealth(30F).setAuthor("Hoboy").setUnlocalizedName("mp_fuselage_10_kerosene_metal"); - mp_fuselage_10_kerosene_taint = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setUnlocalizedName("mp_fuselage_10_kerosene_taint"); - - mp_fuselage_10_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 2500F, PartSize.SIZE_10, PartSize.SIZE_10).setHealth(25F) .setUnlocalizedName("mp_fuselage_10_solid"); - mp_fuselage_10_solid_flames = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_solid_flames"); - mp_fuselage_10_solid_insulation = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(30F).setUnlocalizedName("mp_fuselage_10_solid_insulation"); - mp_fuselage_10_solid_sleek = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(35F).setUnlocalizedName("mp_fuselage_10_solid_sleek"); - mp_fuselage_10_solid_soviet_glory = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setHealth(35F).setTitle("Soviet Glory").setUnlocalizedName("mp_fuselage_10_solid_soviet_glory"); - mp_fuselage_10_solid_cathedral = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.RARE).setAuthor("Satan").setTitle("Unholy Cathedral").setWittyText("Quakeesque!").setUnlocalizedName("mp_fuselage_10_solid_cathedral"); - mp_fuselage_10_solid_moonlit = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("The Master & Hoboy").setTitle("Moonlit").setUnlocalizedName("mp_fuselage_10_solid_moonlit"); - mp_fuselage_10_solid_battery = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("wolfmonster222").setHealth(30F).setTitle("Ecstatic").setWittyText("I got caught eating batteries again :(").setUnlocalizedName("mp_fuselage_10_solid_battery"); - mp_fuselage_10_solid_duracell = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Duracell").setHealth(30F).setWittyText("The crunchiest battery on the market!").setUnlocalizedName("mp_fuselage_10_solid_duracell"); - - mp_fuselage_10_xenon = new ItemCustomMissilePart().makeFuselage(FuelType.XENON, 5000F, PartSize.SIZE_10, PartSize.SIZE_10).setHealth(20F) .setUnlocalizedName("mp_fuselage_10_xenon"); - mp_fuselage_10_xenon_bhole = ((ItemCustomMissilePart) mp_fuselage_10_xenon).copy().setRarity(Rarity.RARE).setAuthor("Sten89").setTitle("Morceus-1457").setUnlocalizedName("mp_fuselage_10_xenon_bhole"); - - mp_fuselage_10_long_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 5000F, PartSize.SIZE_10, PartSize.SIZE_10).setAuthor("Hoboy").setHealth(30F).setUnlocalizedName("mp_fuselage_10_long_kerosene"); - mp_fuselage_10_long_kerosene_camo = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_10_long_kerosene_camo"); - mp_fuselage_10_long_kerosene_desert = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_10_long_kerosene_desert"); - mp_fuselage_10_long_kerosene_sky = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_10_long_kerosene_sky"); - mp_fuselage_10_long_kerosene_flames = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_long_kerosene_flames"); - mp_fuselage_10_long_kerosene_insulation = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(35F).setUnlocalizedName("mp_fuselage_10_long_kerosene_insulation"); - mp_fuselage_10_long_kerosene_sleek = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(40F).setUnlocalizedName("mp_fuselage_10_long_kerosene_sleek"); - mp_fuselage_10_long_kerosene_metal = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setHealth(35F).setUnlocalizedName("mp_fuselage_10_long_kerosene_metal"); - mp_fuselage_10_long_kerosene_dash = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("Sam").setTitle("Dash").setWittyText("I wash my hands of it.").setCreativeTab(null).setUnlocalizedName("mp_fuselage_10_long_kerosene_dash"); - mp_fuselage_10_long_kerosene_taint = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setUnlocalizedName("mp_fuselage_10_long_kerosene_taint"); - mp_fuselage_10_long_kerosene_vap = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("VT-6/24").setTitle("Minty Contrail").setWittyText("Upper rivet!").setUnlocalizedName("mp_fuselage_10_long_kerosene_vap"); - - mp_fuselage_10_long_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 5000F, PartSize.SIZE_10, PartSize.SIZE_10).setHealth(35F) .setUnlocalizedName("mp_fuselage_10_long_solid"); - mp_fuselage_10_long_solid_flames = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_long_solid_flames"); - mp_fuselage_10_long_solid_insulation = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(40F).setUnlocalizedName("mp_fuselage_10_long_solid_insulation"); - mp_fuselage_10_long_solid_sleek = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(45F).setUnlocalizedName("mp_fuselage_10_long_solid_sleek"); - mp_fuselage_10_long_solid_soviet_glory = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setHealth(45F).setTitle("Soviet Glory").setWittyText("Fully Automated Luxury Gay Space Communism!").setUnlocalizedName("mp_fuselage_10_long_solid_soviet_glory"); - mp_fuselage_10_long_solid_bullet = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.COMMON).setAuthor("Sam").setTitle("Bullet Bill").setUnlocalizedName("mp_fuselage_10_long_solid_bullet"); - mp_fuselage_10_long_solid_silvermoonlight = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("The Master").setTitle("Silver Moonlight").setUnlocalizedName("mp_fuselage_10_long_solid_silvermoonlight"); - - mp_fuselage_10_15_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_kerosene"); - mp_fuselage_10_15_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F) .setUnlocalizedName("mp_fuselage_10_15_solid"); - mp_fuselage_10_15_hydrogen = new ItemCustomMissilePart().makeFuselage(FuelType.HYDROGEN, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_hydrogen"); - mp_fuselage_10_15_balefire = new ItemCustomMissilePart().makeFuselage(FuelType.BALEFIRE, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_balefire"); - - mp_fuselage_15_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setAuthor("Hoboy").setHealth(50F).setUnlocalizedName("mp_fuselage_15_kerosene"); - mp_fuselage_15_kerosene_camo = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_15_kerosene_camo"); - mp_fuselage_15_kerosene_desert = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_15_kerosene_desert"); - mp_fuselage_15_kerosene_sky = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_15_kerosene_sky"); - mp_fuselage_15_kerosene_insulation = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(55F).setWittyText("Rest in spaghetti Columbia :(").setUnlocalizedName("mp_fuselage_15_kerosene_insulation"); - mp_fuselage_15_kerosene_metal = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setTitle("Bolted Metal").setHealth(60F).setWittyText("Metal frame with metal plating reinforced with bolted metal sheets and metal.").setUnlocalizedName("mp_fuselage_15_kerosene_metal"); - mp_fuselage_15_kerosene_decorated = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setTitle("Decorated").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_decorated"); - mp_fuselage_15_kerosene_steampunk = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Steampunk").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_steampunk"); - mp_fuselage_15_kerosene_polite = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.LEGENDARY).setAuthor("Hoboy").setTitle("Polite").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_polite"); - mp_fuselage_15_kerosene_blackjack = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.LEGENDARY).setTitle("Queen Whiskey").setHealth(100F).setUnlocalizedName("mp_fuselage_15_kerosene_blackjack"); - mp_fuselage_15_kerosene_lambda = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.RARE).setAuthor("VT-6/24").setTitle("Lambda Complex").setHealth(75F).setWittyText("MAGNIFICENT MICROWAVE CASSEROLE").setUnlocalizedName("mp_fuselage_15_kerosene_lambda"); - mp_fuselage_15_kerosene_minuteman = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Spexta").setTitle("MX 1702").setUnlocalizedName("mp_fuselage_15_kerosene_minuteman"); - mp_fuselage_15_kerosene_pip = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("The Doctor").setTitle("LittlePip").setWittyText("31!").setCreativeTab(null).setUnlocalizedName("mp_fuselage_15_kerosene_pip"); - mp_fuselage_15_kerosene_taint = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setWittyText("DUN-DUN!").setUnlocalizedName("mp_fuselage_15_kerosene_taint"); - mp_fuselage_15_kerosene_yuck = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setTitle("Flesh").setWittyText("Note: Never clean DNA vials with your own spit.").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_yuck"); - - mp_fuselage_15_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setHealth(60F) .setUnlocalizedName("mp_fuselage_15_solid").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); - mp_fuselage_15_solid_insulation = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(65F).setUnlocalizedName("mp_fuselage_15_solid_insulation"); - mp_fuselage_15_solid_desh = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Desh Plating").setHealth(80F).setUnlocalizedName("mp_fuselage_15_solid_desh"); - mp_fuselage_15_solid_soviet_glory = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Soviet Glory").setHealth(70F).setUnlocalizedName("mp_fuselage_15_solid_soviet_glory"); - mp_fuselage_15_solid_soviet_stank = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setTitle("Soviet Stank").setHealth(15F).setWittyText("Aged like a fine wine! Well, almost.").setUnlocalizedName("mp_fuselage_15_solid_soviet_stank"); - mp_fuselage_15_solid_faust = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.LEGENDARY).setAuthor("Dr.Nostalgia").setTitle("Mighty Lauren").setHealth(250F).setWittyText("Welcome to Subway, may I take your order?").setUnlocalizedName("mp_fuselage_15_solid_faust"); - mp_fuselage_15_solid_silvermoonlight = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("The Master").setTitle("Silver Moonlight").setUnlocalizedName("mp_fuselage_15_solid_silvermoonlight"); - mp_fuselage_15_solid_snowy = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("Dr.Nostalgia").setTitle("Chilly Day").setUnlocalizedName("mp_fuselage_15_solid_snowy"); - mp_fuselage_15_solid_panorama = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Panorama").setUnlocalizedName("mp_fuselage_15_solid_panorama"); - mp_fuselage_15_solid_roses = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setTitle("Bed of roses").setUnlocalizedName("mp_fuselage_15_solid_roses"); - mp_fuselage_15_solid_mimi = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setTitle("Mimi-chan").setUnlocalizedName("mp_fuselage_15_solid_mimi"); - - mp_fuselage_15_hydrogen = new ItemCustomMissilePart().makeFuselage(FuelType.HYDROGEN, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setHealth(50F) .setUnlocalizedName("mp_fuselage_15_hydrogen").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); - mp_fuselage_15_hydrogen_cathedral = ((ItemCustomMissilePart) mp_fuselage_15_hydrogen).copy().setRarity(Rarity.UNCOMMON).setAuthor("Satan").setTitle("Unholy Cathedral").setUnlocalizedName("mp_fuselage_15_hydrogen_cathedral"); - - mp_fuselage_15_balefire = new ItemCustomMissilePart().makeFuselage(FuelType.BALEFIRE, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setHealth(75F) .setUnlocalizedName("mp_fuselage_15_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); - - mp_fuselage_15_20_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 20000, PartSize.SIZE_15, PartSize.SIZE_20).setAuthor("Hoboy").setHealth(70F).setUnlocalizedName("mp_fuselage_15_20_kerosene").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); - mp_fuselage_15_20_kerosene_magnusson = ((ItemCustomMissilePart)mp_fuselage_15_20_kerosene).copy().setRarity(Rarity.RARE).setAuthor("VT-6/24").setTitle("White Forest Rocket").setWittyText("And get your cranio-conjugal parasite away from my nose cone!").setUnlocalizedName("mp_fuselage_15_20_kerosene_magnusson"); - mp_fuselage_15_20_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 20000, PartSize.SIZE_15, PartSize.SIZE_20).setHealth(70F).setUnlocalizedName("mp_fuselage_15_20_solid").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); - - mp_fuselage_20_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 1000F, PartSize.SIZE_20, PartSize.SIZE_20) .setUnlocalizedName("mp_f_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); - - mp_warhead_10_he = new ItemCustomMissilePart().makeWarhead(WarheadType.HE, 15F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_warhead_10_he").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_10_incendiary = new ItemCustomMissilePart().makeWarhead(WarheadType.INC, 15F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_warhead_10_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_10_buster = new ItemCustomMissilePart().makeWarhead(WarheadType.BUSTER, 5F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_warhead_10_buster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_10_nuclear = new ItemCustomMissilePart().makeWarhead(WarheadType.NUCLEAR, 35F, 1.5F, PartSize.SIZE_10).setTitle("Tater Tot").setHealth(10F).setUnlocalizedName("mp_warhead_10_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_10_nuclear_large = new ItemCustomMissilePart().makeWarhead(WarheadType.NUCLEAR, 75F, 2.5F, PartSize.SIZE_10).setTitle("Chernobyl Boris").setHealth(15F).setUnlocalizedName("mp_warhead_10_nuclear_large").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_10_taint = new ItemCustomMissilePart().makeWarhead(WarheadType.TAINT, 15F, 1.5F, PartSize.SIZE_10).setHealth(20F).setRarity(Rarity.UNCOMMON).setWittyText("Eat my taint! Bureaucracy is dead and we killed it!").setUnlocalizedName("mp_warhead_10_taint").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_10_cloud = new ItemCustomMissilePart().makeWarhead(WarheadType.CLOUD, 15F, 1.5F, PartSize.SIZE_10).setHealth(20F).setRarity(Rarity.RARE).setUnlocalizedName("mp_warhead_10_cloud").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_15_he = new ItemCustomMissilePart().makeWarhead(WarheadType.HE, 50F, 2.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_warhead_15_he").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_15_incendiary = new ItemCustomMissilePart().makeWarhead(WarheadType.INC, 35F, 2.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_warhead_15_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_15_nuclear = new ItemCustomMissilePart().makeWarhead(WarheadType.NUCLEAR, 125F, 5F, PartSize.SIZE_15).setTitle("Auntie Bertha").setHealth(15F).setUnlocalizedName("mp_warhead_15_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_15_nuclear_shark = ((ItemCustomMissilePart) mp_warhead_15_nuclear).copy().setRarity(Rarity.UNCOMMON).setTitle("Discount Bullet Bill").setWittyText("Nose art on a cannon bullet? Who does that?").setUnlocalizedName("mp_warhead_15_nuclear_shark"); - mp_warhead_15_nuclear_mimi = ((ItemCustomMissilePart) mp_warhead_15_nuclear).copy().setRarity(Rarity.RARE).setTitle("FASHIONABLE MISSILE").setUnlocalizedName("mp_warhead_15_nuclear_mimi"); - mp_warhead_15_boxcar = new ItemCustomMissilePart().makeWarhead(WarheadType.TX, 250F, 7.5F, PartSize.SIZE_15).setWittyText("?!?!").setHealth(35F).setRarity(Rarity.LEGENDARY).setUnlocalizedName("mp_warhead_15_boxcar").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_15_n2 = new ItemCustomMissilePart().makeWarhead(WarheadType.N2, 100F, 5F, PartSize.SIZE_15).setWittyText("[screams geometrically]").setHealth(20F).setRarity(Rarity.RARE).setUnlocalizedName("mp_warhead_15_n2").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_15_balefire = new ItemCustomMissilePart().makeWarhead(WarheadType.BALEFIRE, 100F, 7.5F, PartSize.SIZE_15).setRarity(Rarity.LEGENDARY).setAuthor("VT-6/24").setHealth(15F).setWittyText("Hightower, never forgetti.").setUnlocalizedName("mp_warhead_15_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_15_turbine = new ItemCustomMissilePart().makeWarhead(WarheadType.TURBINE, 200F, 5F, PartSize.SIZE_15).setRarity(Rarity.SEWS_CLOTHES_AND_SUCKS_HORSE_COCK).setHealth(250F).setUnlocalizedName("mp_warhead_15_turbine").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_20_he = new ItemCustomMissilePart().makeWarhead(WarheadType.HE, 15F, 1F, PartSize.SIZE_20) .setUnlocalizedName("mp_w_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - - mp_chip_1 = new ItemCustomMissilePart().makeChip(0.1F) .setUnlocalizedName("mp_c_1").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_1"); - mp_chip_2 = new ItemCustomMissilePart().makeChip(0.05F) .setUnlocalizedName("mp_c_2").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_2"); - mp_chip_3 = new ItemCustomMissilePart().makeChip(0.01F) .setUnlocalizedName("mp_c_3").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_3"); - mp_chip_4 = new ItemCustomMissilePart().makeChip(0.005F) .setUnlocalizedName("mp_c_4").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_4"); - mp_chip_5 = new ItemCustomMissilePart().makeChip(0.0F) .setUnlocalizedName("mp_c_5").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_5"); - - missile_skin_camo = new ItemCustomLore().setUnlocalizedName("missile_skin_camo").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_camo"); - missile_skin_desert = new ItemCustomLore().setUnlocalizedName("missile_skin_desert").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_desert"); - missile_skin_flames = new ItemCustomLore().setUnlocalizedName("missile_skin_flames").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_flames"); - missile_skin_manly_pink = new ItemCustomLore().setUnlocalizedName("missile_skin_manly_pink").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_manly_pink"); - missile_skin_orange_insulation = new ItemCustomLore().setUnlocalizedName("missile_skin_orange_insulation").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_orange_insulation"); - missile_skin_sleek = new ItemCustomLore().setUnlocalizedName("missile_skin_sleek").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_sleek"); - missile_skin_soviet_glory = new ItemCustomLore().setUnlocalizedName("missile_skin_soviet_glory").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_soviet_glory"); - missile_skin_soviet_stank = new ItemCustomLore().setUnlocalizedName("missile_skin_soviet_stank").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_soviet_stank"); - missile_skin_metal = new ItemCustomLore().setUnlocalizedName("missile_skin_metal").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_metal"); - - ammo_12gauge = new ItemAmmo(Ammo12Gauge.class).setUnlocalizedName("ammo_12gauge"); - ammo_20gauge = new ItemAmmo(Ammo20Gauge.class).setUnlocalizedName("ammo_20gauge"); - ammo_4gauge = new ItemAmmo(Ammo4Gauge.class).setUnlocalizedName("ammo_4gauge"); - ammo_5mm = new ItemAmmo(Ammo5mm.class).setUnlocalizedName("ammo_5mm"); - ammo_9mm = new ItemAmmo(Ammo9mm.class).setUnlocalizedName("ammo_9mm"); - ammo_45 = new ItemAmmo(Ammo45ACP.class).setUnlocalizedName("ammo_45"); - ammo_556 = new ItemAmmo(Ammo556mm.class).setUnlocalizedName("ammo_556"); - ammo_762 = new ItemAmmo(Ammo762NATO.class).setUnlocalizedName("ammo_762"); - ammo_50ae = new ItemAmmo(Ammo50AE.class).setUnlocalizedName("ammo_50ae"); - ammo_50bmg = new ItemAmmo(Ammo50BMG.class).setUnlocalizedName("ammo_50bmg"); - ammo_75bolt = new ItemAmmo(Ammo75Bolt.class).setUnlocalizedName("ammo_75bolt"); - ammo_357 = new ItemAmmo(Ammo357Magnum.class).setUnlocalizedName("ammo_357"); - ammo_44 = new ItemAmmo(Ammo44Magnum.class).setUnlocalizedName("ammo_44"); - ammo_22lr = new ItemAmmo(Ammo22LR.class).setUnlocalizedName("ammo_22lr"); - ammo_rocket = new ItemAmmo(AmmoRocket.class).setUnlocalizedName("ammo_rocket"); - ammo_grenade = new ItemAmmo(AmmoGrenade.class).setUnlocalizedName("ammo_grenade"); - ammo_shell = new ItemAmmo(Ammo240Shell.class).setUnlocalizedName("ammo_shell"); - ammo_dgk = new ItemCustomLore().setUnlocalizedName("ammo_dgk").setCreativeTab(MainRegistry.weaponTab); - ammo_nuke = new ItemAmmo(AmmoFatman.class).setUnlocalizedName("ammo_nuke"); - ammo_fuel = new ItemAmmo(AmmoFlamethrower.class).setUnlocalizedName("ammo_fuel"); - ammo_fireext = new ItemAmmo(AmmoFireExt.class).setUnlocalizedName("ammo_fireext"); - ammo_cell = new ItemCustomLore().setCreativeTab(MainRegistry.weaponTab).setUnlocalizedName("ammo_cell").setMaxStackSize(16); - ammo_coilgun = new ItemAmmo(AmmoCoilgun.class).setUnlocalizedName("ammo_coilgun"); - ammo_dart = (ItemEnumMulti) new ItemAmmo(AmmoDart.class).setUnlocalizedName("ammo_dart").setMaxStackSize(16); - ammo_stinger_rocket = new ItemAmmo(AmmoStinger.class).setUnlocalizedName("ammo_stinger_rocket"); - ammo_luna_sniper = new ItemAmmo(AmmoLunaticSniper.class).setUnlocalizedName("ammo_luna_sniper"); - ammo_misc = new ItemAmmo(AmmoMisc.class).setUnlocalizedName("ammo_misc"); - ammo_folly = new ItemCustomLore().setUnlocalizedName("ammo_folly"); - ammo_folly_nuclear = new ItemCustomLore().setUnlocalizedName("ammo_folly_nuclear"); - ammo_folly_du = new ItemCustomLore().setUnlocalizedName("ammo_folly_du"); - ammo_arty = new ItemAmmoArty().setUnlocalizedName("ammo_arty"); - ammo_himars = new ItemAmmoHIMARS().setUnlocalizedName("ammo_himars"); - - gun_rpg = new ItemGunBase(GunRocketFactory.getGustavConfig()).setUnlocalizedName("gun_rpg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_rpg"); - gun_karl = new ItemGunBase(GunRocketFactory.getKarlConfig()).setUnlocalizedName("gun_karl").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_karl"); - gun_panzerschreck = new ItemGunBase(GunRocketFactory.getPanzConfig()).setUnlocalizedName("gun_panzerschreck").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_panzerschreck"); - gun_quadro = new ItemGunBase(GunRocketFactory.getQuadroConfig()).setUnlocalizedName("gun_quadro").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_quadro"); - gun_hk69 = new ItemGunBase(GunGrenadeFactory.getHK69Config()).setUnlocalizedName("gun_hk69").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_hk69"); - gun_congolake = new ItemGunBase(GunGrenadeFactory.getCongoConfig()).setUnlocalizedName("gun_congolake").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_congolake"); - gun_stinger = new ItemGunBase(GunRocketHomingFactory.getStingerConfig()).setUnlocalizedName("gun_stinger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_stinger"); - gun_skystinger = new ItemGunBase(GunRocketHomingFactory.getSkyStingerConfig()).setUnlocalizedName("gun_skystinger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_skystinger"); - gun_revolver = new ItemGunBase(Gun357MagnumFactory.getRevolverConfig()).setUnlocalizedName("gun_revolver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver"); - gun_revolver_saturnite = new ItemGunBase(Gun357MagnumFactory.getRevolverSaturniteConfig()).setUnlocalizedName("gun_revolver_saturnite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_saturnite"); - gun_revolver_gold = new ItemGunBase(Gun357MagnumFactory.getRevolverGoldConfig()).setUnlocalizedName("gun_revolver_gold").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_gold"); - gun_revolver_schrabidium = new ItemGunBase(Gun357MagnumFactory.getRevolverSchrabidiumConfig()).setUnlocalizedName("gun_revolver_schrabidium").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_schrabidium"); - gun_revolver_cursed = new ItemGunBase(Gun357MagnumFactory.getRevolverCursedConfig()).setUnlocalizedName("gun_revolver_cursed").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_cursed"); - gun_revolver_nightmare = new ItemGunBase(Gun357MagnumFactory.getRevolverNightmareConfig()).setUnlocalizedName("gun_revolver_nightmare").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare"); - gun_revolver_nightmare2 = new ItemGunBase(Gun357MagnumFactory.getRevolverNightmare2Config()).setUnlocalizedName("gun_revolver_nightmare2").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare2"); - gun_revolver_pip = new ItemGunPip(Gun44MagnumFactory.getMacintoshConfig()).setUnlocalizedName("gun_revolver_pip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_pip"); - gun_revolver_nopip = new ItemGunBase(Gun44MagnumFactory.getNovacConfig()).setUnlocalizedName("gun_revolver_nopip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nopip"); - gun_revolver_blackjack = new ItemGunBase(Gun44MagnumFactory.getBlackjackConfig()).setUnlocalizedName("gun_revolver_blackjack").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_blackjack"); - gun_revolver_silver = new ItemGunBase(Gun44MagnumFactory.getSilverConfig()).setUnlocalizedName("gun_revolver_silver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_silver"); - gun_revolver_red = new ItemGunBase(Gun44MagnumFactory.getRedConfig()).setUnlocalizedName("gun_revolver_red").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_red"); - gun_deagle = new ItemGunBase(Gun50AEFactory.getDeagleConfig()).setUnlocalizedName("gun_deagle").setFull3D().setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_deagle"); - gun_bio_revolver = new ItemGunBio(Gun357MagnumFactory.getRevolverBioConfig()).setUnlocalizedName("gun_bio_revolver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bio_revolver"); - gun_flechette = new ItemGunBase(Gun556mmFactory.getSPIWConfig(), Gun556mmFactory.getGLauncherConfig()).setUnlocalizedName("gun_flechette").setFull3D().setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_flechette"); - gun_ar15 = new ItemGunBase(Gun50BMGFactory.getAR15Config(), Gun50BMGFactory.getAR15BurstConfig()).setUnlocalizedName("gun_ar15").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_ar15"); - gun_calamity = new ItemGunBase(Gun762mmFactory.getCalamityConfig()).setUnlocalizedName("gun_calamity").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_calamity"); - gun_minigun = new ItemGunLacunae(Gun5mmFactory.get53Config()).setUnlocalizedName("gun_minigun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_minigun"); - gun_lacunae = new ItemGunLacunae(Gun5mmFactory.getLacunaeConfig()).setUnlocalizedName("gun_lacunae").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lacunae"); - gun_folly = new GunFolly().setUnlocalizedName("gun_folly").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_folly"); - gun_fatman = new ItemGunBase(GunFatmanFactory.getFatmanConfig()).setUnlocalizedName("gun_fatman").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman"); - gun_proto = new ItemGunBase(GunFatmanFactory.getProtoConfig()).setUnlocalizedName("gun_proto").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman"); - gun_mirv = new ItemGunBase(GunFatmanFactory.getMIRVConfig()).setUnlocalizedName("gun_mirv").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_mirv"); - gun_bf = new ItemGunBase(GunFatmanFactory.getBELConfig()).setUnlocalizedName("gun_bf").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_bf"); - gun_chemthrower = new ItemGunChemthrower().setUnlocalizedName("gun_chemthrower").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman"); - gun_mp40 = new ItemGunBase(Gun9mmFactory.getMP40Config()).setUnlocalizedName("gun_mp40").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_mp40"); - gun_thompson = new ItemGunBase(Gun45ACPFactory.getThompsonConfig()).setUnlocalizedName("gun_thompson").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_thompson"); - gun_uzi = new ItemGunBase(Gun22LRFactory.getUziConfig()).setUnlocalizedName("gun_uzi").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi"); - gun_uzi_silencer = new ItemGunBase(Gun22LRFactory.getUziConfig().silenced()).setUnlocalizedName("gun_uzi_silencer").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi_silencer"); - gun_uzi_saturnite = new ItemGunBase(Gun22LRFactory.getSaturniteConfig()).setUnlocalizedName("gun_uzi_saturnite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi_saturnite"); - gun_uzi_saturnite_silencer = new ItemGunBase(Gun22LRFactory.getSaturniteConfig().silenced()).setUnlocalizedName("gun_uzi_saturnite_silencer").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi_saturnite_silencer"); - gun_uboinik = new ItemGunBase(Gun12GaugeFactory.getUboinikConfig()).setUnlocalizedName("gun_uboinik").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik"); - gun_remington = new ItemGunBase(Gun12GaugeFactory.getRemington870Config()).setUnlocalizedName("gun_remington").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_spas12"); - gun_spas12 = new ItemGunBase(Gun12GaugeFactory.getSpas12Config(), Gun12GaugeFactory.getSpas12AltConfig()).setUnlocalizedName("gun_spas12").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_spas12"); - gun_benelli = new ItemGunBase(Gun12GaugeFactory.getBenelliModConfig()).setUnlocalizedName("gun_benelli").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_spas12"); - gun_supershotgun = new ItemGunShotty(Gun12GaugeFactory.getShottyConfig()).setUnlocalizedName("gun_supershotgun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik"); - gun_ks23 = new ItemGunBase(Gun4GaugeFactory.getKS23Config()).setUnlocalizedName("gun_ks23").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik"); - gun_sauer = new ItemGunBase(Gun4GaugeFactory.getSauerConfig()).setUnlocalizedName("gun_sauer").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik"); - gun_lever_action = new ItemGunBase(Gun20GaugeFactory.getMareConfig()).setUnlocalizedName("gun_lever_action").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lever_action"); - gun_lever_action_dark = new ItemGunBase(Gun20GaugeFactory.getMareDarkConfig()).setUnlocalizedName("gun_lever_action_dark").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lever_action_dark"); - gun_lever_action_sonata = new GunLeverActionS().setUnlocalizedName("gun_lever_action_sonata").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lever_action_sonata"); - gun_bolt_action = new ItemGunBase(Gun762mmFactory.getBoltConfig()).setUnlocalizedName("gun_bolt_action").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolt_action"); - gun_bolt_action_green = new ItemGunBase(Gun762mmFactory.getBoltGreenConfig()).setUnlocalizedName("gun_bolt_action_green").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolt_action_green"); - gun_bolt_action_saturnite = new ItemGunBase(Gun762mmFactory.getBoltSaturniteConfig()).setUnlocalizedName("gun_bolt_action_saturnite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolt_action_saturnite"); - gun_mymy = new ItemGunBase(GunDartFactory.getMymyConfig()).setUnlocalizedName("gun_mymy").setFull3D().setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_mymy"); - gun_b92_ammo = new GunB92Cell().setUnlocalizedName("gun_b92_ammo").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_b92_ammo_alt"); - gun_b92 = new GunB92().setUnlocalizedName("gun_b92").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_b92"); - gun_b93 = new GunB93().setUnlocalizedName("gun_b93").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_b93"); - gun_coilgun = new ItemCoilgun(GunEnergyFactory.getCoilgunConfig()).setUnlocalizedName("gun_coilgun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_coilgun"); - gun_xvl1456_ammo = new Item().setUnlocalizedName("gun_xvl1456_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_xvl1456_ammo"); - gun_xvl1456 = new ItemGunGauss(GunGaussFactory.getXVLConfig(), GunGaussFactory.getChargedConfig()).setUnlocalizedName("gun_xvl1456").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_xvl1456"); - gun_osipr_ammo = new Item().setUnlocalizedName("gun_osipr_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_osipr_ammo"); - gun_osipr_ammo2 = new Item().setUnlocalizedName("gun_osipr_ammo2").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_osipr_ammo2"); - gun_osipr = new ItemGunOSIPR(GunOSIPRFactory.getOSIPRConfig(), GunOSIPRFactory.getAltConfig()).setUnlocalizedName("gun_osipr").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_osipr"); - gun_immolator_ammo = new Item().setUnlocalizedName("gun_immolator_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_immolator_ammo"); - gun_immolator = new GunImmolator().setUnlocalizedName("gun_immolator").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_immolator"); - gun_flamer = new ItemGunBase(GunEnergyFactory.getFlamerConfig()).setUnlocalizedName("gun_flamer").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_flamer"); - gun_cryolator_ammo = new Item().setUnlocalizedName("gun_cryolator_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_cryolator_ammo"); - gun_cryolator = new GunCryolator().setUnlocalizedName("gun_cryolator").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_cryolator"); - gun_cryocannon = new ItemCryoCannon(GunEnergyFactory.getCryoCannonConfig()).setUnlocalizedName("gun_cryocannon").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_cryocannon"); - gun_fireext = new ItemGunBase(GunEnergyFactory.getExtConfig()).setUnlocalizedName("gun_fireext").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fireext"); - gun_mp = new ItemGunBase(Gun556mmFactory.getEuphieConfig()).setUnlocalizedName("gun_mp").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_pm"); - gun_bolter = new ItemGunBase(Gun75BoltFactory.getBolterConfig()).setUnlocalizedName("gun_bolter").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolter"); - gun_bolter_digamma = new ItemGunBase(Gun75BoltFactory.getBolterConfig()).setUnlocalizedName("gun_bolter_digamma").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolter_digamma"); - gun_zomg = new ItemGunBase(GunEnergyFactory.getZOMGConfig()).setUnlocalizedName("gun_zomg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_zomg"); - gun_revolver_inverted = new GunSuicide().setUnlocalizedName("gun_revolver_inverted").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_inverted"); - gun_emp_ammo = new Item().setUnlocalizedName("gun_emp_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_emp_ammo"); - gun_emp = new ItemGunBase(GunEnergyFactory.getEMPConfig()).setUnlocalizedName("gun_emp").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_emp"); - gun_jack_ammo = new Item().setUnlocalizedName("gun_jack_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_jack_ammo"); - gun_jack = new GunJack().setUnlocalizedName("gun_jack").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_jack"); - gun_spark_ammo = new Item().setUnlocalizedName("gun_spark_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_spark_ammo"); - gun_spark = new GunSpark().setUnlocalizedName("gun_spark").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_spark"); - gun_hp_ammo = new Item().setUnlocalizedName("gun_hp_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_hp_ammo"); - gun_hp = new GunHP().setUnlocalizedName("gun_hp").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_hp"); - gun_euthanasia_ammo = new Item().setUnlocalizedName("gun_euthanasia_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_euthanasia_ammo"); - gun_euthanasia = new GunEuthanasia().setUnlocalizedName("gun_euthanasia").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_euthanasia"); - gun_dash_ammo = new Item().setUnlocalizedName("gun_dash_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_dash_ammo"); - gun_dash = new GunDash().setUnlocalizedName("gun_dash").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_dash"); - gun_twigun_ammo = new Item().setUnlocalizedName("gun_twigun_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_twigun_ammo"); - gun_twigun = new GunEuthanasia().setUnlocalizedName("gun_twigun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_twigun"); - gun_defabricator_ammo = new Item().setUnlocalizedName("gun_defabricator_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_defabricator_ammo"); - gun_defabricator = new GunDefabricator().setUnlocalizedName("gun_defabricator").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_defabricator"); - gun_vortex = new ItemGunBase(Gun556mmFactory.getEuphieConfig()).setUnlocalizedName("gun_vortex").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_vortex"); - gun_super_shotgun = new ItemCustomLore().setUnlocalizedName("gun_super_shotgun").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_super_shotgun"); - gun_moist_nugget = new ItemNugget(3, false).setUnlocalizedName("gun_moist_nugget").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_moist_nugget"); - gun_darter = new ItemGunDart(GunDartFactory.getDarterConfig()).setFull3D().setUnlocalizedName("gun_darter").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_darter"); - gun_glass_cannon = new ItemEnergyGunBase(GunPoweredFactory.getGlassCannonConfig()).setFull3D().setUnlocalizedName("gun_glass_cannon").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_darter"); - gun_m2 = new ItemGunBase(Gun50BMGFactory.getM2Config()).setFull3D().setUnlocalizedName("gun_m2").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_darter"); - gun_lunatic_marksman = new ItemGunBase(Gun50BMGFactory.getLunaticMarksman()).setFull3D().setUnlocalizedName("gun_lunatic_marksman").setCreativeTab(MainRegistry.weaponTab); - gun_uac_pistol = new ItemGunBase(Gun45ACPFactory.getUACPistolConfig(), Gun45ACPFactory.getUACPistolBurstConfig()).setFull3D().setUnlocalizedName("gun_uac_pistol").setCreativeTab(MainRegistry.weaponTab); - - ToolMaterial matCrucible = EnumHelper.addToolMaterial("CRUCIBLE", 10, 3, 50.0F, 100.0F, 0); - crucible = new ItemCrucible(5000, 1F, matCrucible).setUnlocalizedName("crucible").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":crucible"); - - stick_dynamite = new ItemGrenade(3).setUnlocalizedName("stick_dynamite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_dynamite"); - stick_dynamite_fishing = new ItemGrenadeFishing(3).setUnlocalizedName("stick_dynamite_fishing").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_dynamite_fishing"); - stick_tnt = new Item().setUnlocalizedName("stick_tnt").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_tnt"); - stick_semtex = new Item().setUnlocalizedName("stick_semtex").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_semtex"); - stick_c4 = new Item().setUnlocalizedName("stick_c4").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_c4"); - - grenade_generic = new ItemGrenade(4).setUnlocalizedName("grenade_generic").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_generic"); - grenade_strong = new ItemGrenade(5).setUnlocalizedName("grenade_strong").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_strong"); - grenade_frag = new ItemGrenade(4).setUnlocalizedName("grenade_frag").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_frag_alt"); - grenade_fire = new ItemGrenade(4).setUnlocalizedName("grenade_fire").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_fire_alt"); - grenade_shrapnel = new ItemGrenade(4).setUnlocalizedName("grenade_shrapnel").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_shrapnel"); - grenade_cluster = new ItemGrenade(5).setUnlocalizedName("grenade_cluster").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_cluster_alt"); - grenade_flare = new ItemGrenade(0).setUnlocalizedName("grenade_flare").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_flare_alt"); - grenade_electric = new ItemGrenade(5).setUnlocalizedName("grenade_electric").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_electric_alt"); - grenade_poison = new ItemGrenade(4).setUnlocalizedName("grenade_poison").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_poison_alt"); - grenade_gas = new ItemGrenade(4).setUnlocalizedName("grenade_gas").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_gas_alt"); - grenade_pulse = new ItemGrenade(4).setUnlocalizedName("grenade_pulse").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_pulse"); - grenade_plasma = new ItemGrenade(5).setUnlocalizedName("grenade_plasma").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_plasma_alt"); - grenade_tau = new ItemGrenade(5).setUnlocalizedName("grenade_tau").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_tau_alt"); - grenade_schrabidium = new ItemGrenade(7).setUnlocalizedName("grenade_schrabidium").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_schrabidium_alt"); - grenade_lemon = new ItemGrenade(4).setUnlocalizedName("grenade_lemon").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_lemon"); - grenade_gascan = new ItemGrenade(-1).setUnlocalizedName("grenade_gascan").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_gascan"); - grenade_kyiv = new ItemGrenadeKyiv(-1).setUnlocalizedName("grenade_kyiv").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_kyiv"); - grenade_mk2 = new ItemGrenade(5).setUnlocalizedName("grenade_mk2").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_mk2_alt"); - grenade_aschrab = new ItemGrenade(-1).setUnlocalizedName("grenade_aschrab").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_aschrab"); - grenade_nuke = new ItemGrenade(-1).setUnlocalizedName("grenade_nuke").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_nuke_alt"); - grenade_nuclear = new ItemGrenade(7).setUnlocalizedName("grenade_nuclear").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_nuclear"); - grenade_zomg = new ItemGrenade(7).setUnlocalizedName("grenade_zomg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_zomg"); - grenade_black_hole = new ItemGrenade(7).setUnlocalizedName("grenade_black_hole").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_black_hole"); - grenade_cloud = new ItemGrenade(-1).setUnlocalizedName("grenade_cloud").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_cloud"); - grenade_pink_cloud = new ItemGrenade(-1).setUnlocalizedName("grenade_pink_cloud").setCreativeTab(null).setTextureName(RefStrings.MODID + ":grenade_pink_cloud"); - ullapool_caber = new WeaponSpecial(MainRegistry.tMatSteel).setUnlocalizedName("ullapool_caber").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ullapool_caber"); - - grenade_if_generic = new ItemGrenade(4).setUnlocalizedName("grenade_if_generic").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_generic"); - grenade_if_he = new ItemGrenade(5).setUnlocalizedName("grenade_if_he").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_he"); - grenade_if_bouncy = new ItemGrenade(4).setUnlocalizedName("grenade_if_bouncy").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_bouncy"); - grenade_if_sticky = new ItemGrenade(4).setUnlocalizedName("grenade_if_sticky").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_sticky"); - grenade_if_impact = new ItemGrenade(-1).setUnlocalizedName("grenade_if_impact").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_impact"); - grenade_if_incendiary = new ItemGrenade(4).setUnlocalizedName("grenade_if_incendiary").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_incendiary"); - grenade_if_toxic = new ItemGrenade(4).setUnlocalizedName("grenade_if_toxic").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_toxic"); - grenade_if_concussion = new ItemGrenade(4).setUnlocalizedName("grenade_if_concussion").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_concussion"); - grenade_if_brimstone = new ItemGrenade(5).setUnlocalizedName("grenade_if_brimstone").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_brimstone"); - grenade_if_mystery = new ItemGrenade(5).setUnlocalizedName("grenade_if_mystery").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_mystery"); - grenade_if_spark = new ItemGrenade(7).setUnlocalizedName("grenade_if_spark").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_spark"); - grenade_if_hopwire = new ItemGrenade(7).setUnlocalizedName("grenade_if_hopwire").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_hopwire"); - grenade_if_null = new ItemGrenade(7).setUnlocalizedName("grenade_if_null").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_null"); - - grenade_smart = new ItemGrenade(-1).setUnlocalizedName("grenade_smart").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_smart"); - grenade_mirv = new ItemGrenade(1).setUnlocalizedName("grenade_mirv").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_mirv"); - grenade_breach = new ItemGrenade(-1).setUnlocalizedName("grenade_breach").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_breach"); - grenade_burst = new ItemGrenade(1).setUnlocalizedName("grenade_burst").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_burst"); - nuclear_waste_pearl = new ItemGrenade(-1).setUnlocalizedName("nuclear_waste_pearl").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":nuclear_waste_pearl"); - - weaponized_starblaster_cell = new WeaponizedCell().setUnlocalizedName("weaponized_starblaster_cell").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_b92_ammo_weaponized"); - - bomb_waffle = new ItemWaffle(20, false).setUnlocalizedName("bomb_waffle").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bomb_waffle"); - schnitzel_vegan = new ItemSchnitzelVegan(0, true).setUnlocalizedName("schnitzel_vegan").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":schnitzel_vegan"); - cotton_candy = new ItemCottonCandy(5, false).setUnlocalizedName("cotton_candy").setCreativeTab(MainRegistry.consumableTab).setFull3D().setTextureName(RefStrings.MODID + ":cotton_candy"); - apple_lead = new ItemAppleSchrabidium(5, 0, false).setUnlocalizedName("apple_lead").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":apple_lead"); - apple_schrabidium = new ItemAppleSchrabidium(20, 100, false).setUnlocalizedName("apple_schrabidium").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":apple_schrabidium"); - tem_flakes = new ItemTemFlakes(0, 0, false).setUnlocalizedName("tem_flakes").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":tem_flakes"); - glowing_stew = new ItemSoup(6).setUnlocalizedName("glowing_stew").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":glowing_stew"); - balefire_scrambled = new ItemSoup(6).setUnlocalizedName("balefire_scrambled").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":balefire_scrambled"); - balefire_and_ham = new ItemSoup(6).setUnlocalizedName("balefire_and_ham").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":balefire_and_ham"); - lemon = new ItemLemon(3, 0.5F, false).setUnlocalizedName("lemon").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":lemon"); - definitelyfood = new ItemLemon(3, 0.5F, false).setUnlocalizedName("definitelyfood").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":definitelyfood"); - med_ipecac = new ItemLemon(0, 0, false).setUnlocalizedName("med_ipecac").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_ipecac_new"); - med_ptsd = new ItemLemon(0, 0, false).setUnlocalizedName("med_ptsd").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_ptsd_new"); - med_schizophrenia = new ItemLemon(0, 0, false).setUnlocalizedName("med_schizophrenia").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_schizophrenia_new"); - loops = new ItemLemon(4, 0.25F, false).setUnlocalizedName("loops").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":loops"); - loop_stew = new ItemLemon(10, 0.5F, false).setUnlocalizedName("loop_stew").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":loop_stew"); - spongebob_macaroni = new ItemLemon(5, 1F, false).setUnlocalizedName("spongebob_macaroni").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":spongebob_macaroni"); - fooditem = new ItemLemon(2, 5F, false).setUnlocalizedName("fooditem").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":fooditem"); - twinkie = new ItemLemon(3, 0.25F, false).setUnlocalizedName("twinkie").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":twinkie"); - static_sandwich = new ItemLemon(6, 1F, false).setUnlocalizedName("static_sandwich").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":static_sandwich"); - pudding = new ItemLemon(6, 1F, false).setUnlocalizedName("pudding").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pudding"); - canteen_vodka = new ItemCanteen(3 * 60).setUnlocalizedName("canteen_vodka").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canteen_vodka"); - canteen_fab = new ItemCanteen(2 * 60).setUnlocalizedName("canteen_fab").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canteen_fab"); - pancake = new ItemPancake(20, 20, false).setUnlocalizedName("pancake").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pancake"); - nugget = new ItemLemon(200, 1F, false).setUnlocalizedName("nugget").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":nugget"); - peas = new ItemPeas().setUnlocalizedName("peas").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":peas"); - marshmallow = new ItemMarshmallow().setUnlocalizedName("marshmallow").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":marshmallow"); - cheese = new ItemLemon(5, 0.75F, false).setUnlocalizedName("cheese").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cheese"); - quesadilla = new ItemLemon(8, 1F, false).setUnlocalizedName("cheese_quesadilla").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":quesadilla"); - mucho_mango = new ItemMuchoMango(10).setUnlocalizedName("mucho_mango").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":mucho_mango"); - glyphid_meat = new ItemLemon(3, 0.5F, true).setUnlocalizedName("glyphid_meat").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":glyphid_meat"); - glyphid_meat_grilled = new ItemLemon(8, 0.75F, true).setPotionEffect(Potion.damageBoost.id, 180, 1, 1F).setUnlocalizedName("glyphid_meat_grilled").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":glyphid_meat_grilled"); - egg_glyphid = new Item().setUnlocalizedName("egg_glyphid").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":egg_glyphid"); - - defuser = new ItemTooling(ToolType.DEFUSER, 100).setUnlocalizedName("defuser").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":defuser"); - reacher = new Item().setUnlocalizedName("reacher").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":reacher"); - bismuth_tool = new ItemAmatExtractor().setUnlocalizedName("bismuth_tool").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":bismuth_tool"); - meltdown_tool = new ItemDyatlov().setUnlocalizedName("meltdown_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":meltdown_tool"); - - flame_pony = new ItemCustomLore().setUnlocalizedName("flame_pony").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flame_pony"); - flame_conspiracy = new ItemCustomLore().setUnlocalizedName("flame_conspiracy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flame_conspiracy"); - flame_politics = new ItemCustomLore().setUnlocalizedName("flame_politics").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flame_politics"); - flame_opinion = new ItemCustomLore().setUnlocalizedName("flame_opinion").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flame_opinion"); - - //gadget_explosive = new Item().setUnlocalizedName("gadget_explosive").setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":gadget_explosive"); - early_explosive_lenses = new ItemCustomLore().setUnlocalizedName("early_explosive_lenses").setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":gadget_explosive8"); - explosive_lenses = new ItemCustomLore().setUnlocalizedName("explosive_lenses").setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":man_explosive8"); - gadget_wireing = new Item().setUnlocalizedName("gadget_wireing").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":gadget_wireing"); - gadget_core = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("gadget_core").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":gadget_core"); - - boy_igniter = new Item().setUnlocalizedName("boy_igniter").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":boy_igniter"); - boy_propellant = new Item().setUnlocalizedName("boy_propellant").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":boy_propellant"); - boy_bullet = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("boy_bullet").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":boy_bullet"); - boy_target = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("boy_target").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":boy_target"); - boy_shielding = new Item().setUnlocalizedName("boy_shielding").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":boy_shielding"); - - //man_explosive = new Item().setUnlocalizedName("man_explosive").setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":man_explosive"); - man_igniter = new Item().setUnlocalizedName("man_igniter").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":man_igniter"); - man_core = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("man_core").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":man_core"); - - mike_core = new Item().setUnlocalizedName("mike_core").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":mike_core"); - mike_deut = new Item().setUnlocalizedName("mike_deut").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setContainerItem(ModItems.tank_steel).setTextureName(RefStrings.MODID + ":mike_deut"); - mike_cooling_unit = new Item().setUnlocalizedName("mike_cooling_unit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":mike_cooling_unit"); - - tsar_core = new Item().setUnlocalizedName("tsar_core").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":tsar_core"); - - fleija_igniter = new ItemFleija().setUnlocalizedName("fleija_igniter").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":fleija_igniter"); - fleija_propellant = new ItemFleija().setUnlocalizedName("fleija_propellant").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":fleija_propellant"); - fleija_core = new ItemFleija().setUnlocalizedName("fleija_core").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":fleija_core"); - - solinium_igniter = new ItemSolinium().setUnlocalizedName("solinium_igniter").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":solinium_igniter"); - solinium_propellant = new ItemSolinium().setUnlocalizedName("solinium_propellant").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":solinium_propellant"); - solinium_core = new ItemSolinium().setUnlocalizedName("solinium_core").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":solinium_core"); - - n2_charge = new ItemN2().setUnlocalizedName("n2_charge").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":n2_charge"); - - egg_balefire_shard = new Item().setUnlocalizedName("egg_balefire_shard").setMaxStackSize(16).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":egg_balefire_shard"); - egg_balefire = new Item().setUnlocalizedName("egg_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":egg_balefire"); - - custom_tnt = new ItemCustomLore().setUnlocalizedName("custom_tnt").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_tnt"); - custom_nuke = new ItemCustomLore().setUnlocalizedName("custom_nuke").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_nuke"); - custom_hydro = new ItemCustomLore().setUnlocalizedName("custom_hydro").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_hydro"); - custom_amat = new ItemCustomLore().setUnlocalizedName("custom_amat").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_amat"); - custom_dirty = new ItemCustomLore().setUnlocalizedName("custom_dirty").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_dirty"); - custom_schrab = new ItemCustomLore().setUnlocalizedName("custom_schrab").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_schrab"); - custom_fall = new ItemCustomLore().setUnlocalizedName("custom_fall").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_fall"); - - battery_generic = new ItemBattery(5000, 100, 100).setUnlocalizedName("battery_generic").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_generic_new"); - battery_advanced = new ItemBattery(20000, 500, 500).setUnlocalizedName("battery_advanced").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_advanced_new"); - battery_lithium = new ItemBattery(250000, 1000, 1000).setUnlocalizedName("battery_lithium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_lithium"); - battery_schrabidium = new ItemBattery(1000000, 5000, 5000).setUnlocalizedName("battery_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_schrabidium_new"); - battery_spark = new ItemBattery(100000000, 2000000, 2000000).setUnlocalizedName("battery_spark").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark"); - battery_trixite = new ItemBattery(5000000, 40000, 200000).setUnlocalizedName("battery_trixite").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_trixite"); - battery_creative = new Item().setUnlocalizedName("battery_creative").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_creative_new"); - - battery_red_cell = new ItemBattery(15000, 100, 100).setUnlocalizedName("battery_red_cell").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_red_cell"); - battery_red_cell_6 = new ItemBattery(15000 * 6, 100, 100).setUnlocalizedName("battery_red_cell_6").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_red_cell_6"); - battery_red_cell_24 = new ItemBattery(15000 * 24, 100, 100).setUnlocalizedName("battery_red_cell_24").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_red_cell_24"); - battery_advanced_cell = new ItemBattery(60000, 500, 500).setUnlocalizedName("battery_advanced_cell").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_advanced_cell"); - battery_advanced_cell_4 = new ItemBattery(60000 * 4, 500, 500).setUnlocalizedName("battery_advanced_cell_4").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_advanced_cell_4"); - battery_advanced_cell_12 = new ItemBattery(60000 * 12, 500, 500).setUnlocalizedName("battery_advanced_cell_12").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_advanced_cell_12"); - battery_lithium_cell = new ItemBattery(750000, 1000, 1000).setUnlocalizedName("battery_lithium_cell").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_lithium_cell"); - battery_lithium_cell_3 = new ItemBattery(750000 * 3, 1000, 1000).setUnlocalizedName("battery_lithium_cell_3").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_lithium_cell_3"); - battery_lithium_cell_6 = new ItemBattery(750000 * 6, 1000, 1000).setUnlocalizedName("battery_lithium_cell_6").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_lithium_cell_6"); - battery_schrabidium_cell = new ItemBattery(3000000, 5000, 5000).setUnlocalizedName("battery_schrabidium_cell").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_schrabidium_cell"); - battery_schrabidium_cell_2 = new ItemBattery(3000000 * 2, 5000, 5000).setUnlocalizedName("battery_schrabidium_cell_2").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_schrabidium_cell_2"); - battery_schrabidium_cell_4 = new ItemBattery(3000000 * 4, 5000, 5000).setUnlocalizedName("battery_schrabidium_cell_4").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_schrabidium_cell_4"); - battery_spark_cell_6 = new ItemBattery(100000000L * 6L, 2000000, 2000000).setUnlocalizedName("battery_spark_cell_6").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_6"); - battery_spark_cell_25 = new ItemBattery(100000000L * 25L, 2000000, 2000000).setUnlocalizedName("battery_spark_cell_25").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_25"); - battery_spark_cell_100 = new ItemBattery(100000000L * 100L, 2000000, 2000000).setUnlocalizedName("battery_spark_cell_100").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_100"); - battery_spark_cell_1000 = new ItemBattery(100000000L * 1000L, 20000000, 20000000).setUnlocalizedName("battery_spark_cell_1000").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_1000"); - battery_spark_cell_2500 = new ItemBattery(100000000L * 2500L, 20000000, 20000000).setUnlocalizedName("battery_spark_cell_2500").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_2500"); - battery_spark_cell_10000 = new ItemBattery(100000000L * 10000L, 200000000, 200000000).setUnlocalizedName("battery_spark_cell_10000").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_10000"); - battery_spark_cell_power = new ItemBattery(100000000L * 1000000L, 200000000, 200000000).setUnlocalizedName("battery_spark_cell_power").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_power"); - cube_power = new ItemBattery(1000000000000000000L, 1000000000000000L, 1000000000000000L).setUnlocalizedName("cube_power").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":cube_power"); - - battery_sc_uranium = new ItemSelfcharger(5).setUnlocalizedName("battery_sc_uranium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_uranium"); - battery_sc_technetium = new ItemSelfcharger(25).setUnlocalizedName("battery_sc_technetium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_technetium"); - battery_sc_plutonium = new ItemSelfcharger(100).setUnlocalizedName("battery_sc_plutonium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_plutonium"); - battery_sc_polonium = new ItemSelfcharger(500).setUnlocalizedName("battery_sc_polonium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_polonium"); - battery_sc_gold = new ItemSelfcharger(2500).setUnlocalizedName("battery_sc_gold").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_gold"); - battery_sc_lead = new ItemSelfcharger(5000).setUnlocalizedName("battery_sc_lead").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_lead"); - battery_sc_americium = new ItemSelfcharger(10000).setUnlocalizedName("battery_sc_americium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_americium"); - - battery_potato = new ItemBattery(1000, 0, 100).setUnlocalizedName("battery_potato").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_potato"); - battery_potatos = new ItemPotatos(500000, 0, 100).setUnlocalizedName("battery_potatos").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_potatos"); - hev_battery = new ItemFusionCore(150000).setUnlocalizedName("hev_battery").setMaxStackSize(4).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":hev_battery"); - fusion_core = new ItemFusionCore(2500000).setUnlocalizedName("fusion_core").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_core"); - fusion_core_infinite = new Item().setUnlocalizedName("fusion_core_infinite").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_core_infinite"); - energy_core = new ItemBattery(10000000, 0, 1000).setUnlocalizedName("energy_core").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":energy_core"); - fuse = new ItemCustomLore().setUnlocalizedName("fuse").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fuse"); - redcoil_capacitor = new ItemCapacitor(10).setUnlocalizedName("redcoil_capacitor").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":redcoil_capacitor"); - euphemium_capacitor = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("euphemium_capacitor").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":redcoil_capacitor_euphemium"); - screwdriver = new ItemTooling(ToolType.SCREWDRIVER, 100).setUnlocalizedName("screwdriver"); - screwdriver_desh = new ItemTooling(ToolType.SCREWDRIVER, 0).setUnlocalizedName("screwdriver_desh"); - hand_drill = new ItemTooling(ToolType.HAND_DRILL, 100).setUnlocalizedName("hand_drill"); - hand_drill_desh = new ItemTooling(ToolType.HAND_DRILL, 0).setUnlocalizedName("hand_drill_desh"); - wrench_archineer = new ItemToolingWeapon(ToolType.WRENCH, 1000, 12F).setUnlocalizedName("wrench_archineer").setTextureName(RefStrings.MODID + ":wrench_archineer_hd"); - chemistry_set = new ItemCraftingDegradation(100).setUnlocalizedName("chemistry_set"); - chemistry_set_boron = new ItemCraftingDegradation(0).setUnlocalizedName("chemistry_set_boron"); - blowtorch = new ItemBlowtorch().setUnlocalizedName("blowtorch"); - acetylene_torch = new ItemBlowtorch().setUnlocalizedName("acetylene_torch"); - boltgun = new ItemBoltgun().setUnlocalizedName("boltgun"); - overfuse = new ItemCustomLore().setUnlocalizedName("overfuse").setMaxStackSize(1).setFull3D().setTextureName(RefStrings.MODID + ":overfuse"); - arc_electrode = new ItemArcElectrode().setUnlocalizedName("arc_electrode").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":arc_electrode"); - arc_electrode_burnt = new ItemArcElectrodeBurnt().setUnlocalizedName("arc_electrode_burnt").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":arc_electrode_burnt"); - - ams_focus_blank = new Item().setUnlocalizedName("ams_focus_blank").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":ams_focus_blank"); - ams_focus_limiter = new ItemCustomLore().setUnlocalizedName("ams_focus_limiter").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":ams_focus_limiter"); - ams_focus_booster = new ItemCustomLore().setUnlocalizedName("ams_focus_booster").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":ams_focus_booster"); - ams_muzzle = new ItemCustomLore().setUnlocalizedName("ams_muzzle").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":ams_muzzle"); - ams_lens = new ItemLens(60 * 60 * 60 * 20 * 100).setUnlocalizedName("ams_lens").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":ams_lens"); - ams_core_sing = new ItemAMSCore(1000000000L, 200, 10).setUnlocalizedName("ams_core_sing").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":ams_core_sing"); - ams_core_wormhole = new ItemAMSCore(1500000000L, 200, 15).setUnlocalizedName("ams_core_wormhole").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":ams_core_wormhole"); - ams_core_eyeofharmony = new ItemAMSCore(2500000000L, 300, 10).setUnlocalizedName("ams_core_eyeofharmony").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":ams_core_eyeofharmony"); - ams_core_thingy = new ItemAMSCore(5000000000L, 250, 5).setUnlocalizedName("ams_core_thingy").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":ams_core_thingy"); - - fusion_shield_tungsten = new ItemFusionShield(60 * 60 * 60 * 5, 3500).setUnlocalizedName("fusion_shield_tungsten").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_shield_tungsten"); - fusion_shield_desh = new ItemFusionShield(60 * 60 * 60 * 10, 4500).setUnlocalizedName("fusion_shield_desh").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_shield_desh"); - fusion_shield_chlorophyte = new ItemFusionShield(60 * 60 * 60 * 15, 9000).setUnlocalizedName("fusion_shield_chlorophyte").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_shield_chlorophyte"); - fusion_shield_vaporwave = new ItemFusionShield(60 * 60 * 60 * 10, 1916169).setUnlocalizedName("fusion_shield_vaporwave").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_shield_vaporwave"); - - upgrade_muffler = new ItemMuffler().setUnlocalizedName("upgrade_muffler").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":upgrade_muffler"); - - upgrade_template = new ItemCustomLore().setUnlocalizedName("upgrade_template").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":upgrade_template"); - upgrade_speed_1 = new ItemMachineUpgrade(UpgradeType.SPEED, 1).setUnlocalizedName("upgrade_speed_1").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_speed_1"); - upgrade_speed_2 = new ItemMachineUpgrade(UpgradeType.SPEED, 2).setUnlocalizedName("upgrade_speed_2").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_speed_2"); - upgrade_speed_3 = new ItemMachineUpgrade(UpgradeType.SPEED, 3).setUnlocalizedName("upgrade_speed_3").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_speed_3"); - upgrade_effect_1 = new ItemMachineUpgrade(UpgradeType.EFFECT, 1).setUnlocalizedName("upgrade_effect_1").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_effect_1"); - upgrade_effect_2 = new ItemMachineUpgrade(UpgradeType.EFFECT, 2).setUnlocalizedName("upgrade_effect_2").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_effect_2"); - upgrade_effect_3 = new ItemMachineUpgrade(UpgradeType.EFFECT, 3).setUnlocalizedName("upgrade_effect_3").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_effect_3"); - upgrade_power_1 = new ItemMachineUpgrade(UpgradeType.POWER, 1).setUnlocalizedName("upgrade_power_1").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_power_1"); - upgrade_power_2 = new ItemMachineUpgrade(UpgradeType.POWER, 2).setUnlocalizedName("upgrade_power_2").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_power_2"); - upgrade_power_3 = new ItemMachineUpgrade(UpgradeType.POWER, 3).setUnlocalizedName("upgrade_power_3").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_power_3"); - upgrade_fortune_1 = new ItemMachineUpgrade(UpgradeType.FORTUNE, 1).setUnlocalizedName("upgrade_fortune_1").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_fortune_1"); - upgrade_fortune_2 = new ItemMachineUpgrade(UpgradeType.FORTUNE, 2).setUnlocalizedName("upgrade_fortune_2").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_fortune_2"); - upgrade_fortune_3 = new ItemMachineUpgrade(UpgradeType.FORTUNE, 3).setUnlocalizedName("upgrade_fortune_3").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_fortune_3"); - upgrade_afterburn_1 = new ItemMachineUpgrade(UpgradeType.AFTERBURN, 1).setUnlocalizedName("upgrade_afterburn_1").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_afterburn_1"); - upgrade_afterburn_2 = new ItemMachineUpgrade(UpgradeType.AFTERBURN, 2).setUnlocalizedName("upgrade_afterburn_2").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_afterburn_2"); - upgrade_afterburn_3 = new ItemMachineUpgrade(UpgradeType.AFTERBURN, 3).setUnlocalizedName("upgrade_afterburn_3").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_afterburn_3"); - upgrade_overdrive_1 = new ItemMachineUpgrade(UpgradeType.OVERDRIVE, 1).setUnlocalizedName("upgrade_overdrive_1").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_overdrive_1"); - upgrade_overdrive_2 = new ItemMachineUpgrade(UpgradeType.OVERDRIVE, 2).setUnlocalizedName("upgrade_overdrive_2").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_overdrive_2"); - upgrade_overdrive_3 = new ItemMachineUpgrade(UpgradeType.OVERDRIVE, 3).setUnlocalizedName("upgrade_overdrive_3").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_overdrive_3"); - upgrade_radius = new ItemMachineUpgrade().setUnlocalizedName("upgrade_radius").setMaxStackSize(16).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_radius"); - upgrade_health = new ItemMachineUpgrade().setUnlocalizedName("upgrade_health").setMaxStackSize(16).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_health"); - upgrade_smelter = new ItemMachineUpgrade().setUnlocalizedName("upgrade_smelter").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_smelter"); - upgrade_shredder = new ItemMachineUpgrade().setUnlocalizedName("upgrade_shredder").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_shredder"); - upgrade_centrifuge = new ItemMachineUpgrade().setUnlocalizedName("upgrade_centrifuge").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_centrifuge"); - upgrade_crystallizer = new ItemMachineUpgrade().setUnlocalizedName("upgrade_crystallizer").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_crystallizer"); - upgrade_nullifier = new ItemMachineUpgrade().setUnlocalizedName("upgrade_nullifier").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_nullifier"); - upgrade_screm = new ItemMachineUpgrade().setUnlocalizedName("upgrade_screm").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_screm"); - upgrade_gc_speed = new ItemMachineUpgrade().setUnlocalizedName("upgrade_gc_speed").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_gc_speed"); - upgrade_5g = new ItemMachineUpgrade().setUnlocalizedName("upgrade_5g").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_5g"); - upgrade_stack = new ItemMetaUpgrade(3).setUnlocalizedName("upgrade_stack").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_stack"); - upgrade_ejector = new ItemMetaUpgrade(3).setUnlocalizedName("upgrade_ejector").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_ejector"); - - wand = new ItemWand().setUnlocalizedName("wand_k").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setFull3D().setTextureName(RefStrings.MODID + ":wand"); - wand_s = new ItemWandS().setUnlocalizedName("wand_s").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setFull3D().setTextureName(RefStrings.MODID + ":wand_s"); - wand_d = new ItemWandD().setUnlocalizedName("wand_d").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setFull3D().setTextureName(RefStrings.MODID + ":wand_d"); - - structure_single = new ItemStructureSingle().setUnlocalizedName("structure_single").setMaxStackSize(1).setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":structure_single"); - structure_solid = new ItemStructureSolid().setUnlocalizedName("structure_solid").setMaxStackSize(1).setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":structure_solid"); - structure_pattern = new ItemStructurePattern().setUnlocalizedName("structure_pattern").setMaxStackSize(1).setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":structure_pattern"); - structure_randomized = new ItemStructureRandomized().setUnlocalizedName("structure_randomized").setMaxStackSize(1).setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":structure_randomized"); - structure_randomly = new ItemStructureRandomly().setUnlocalizedName("structure_randomly").setMaxStackSize(1).setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":structure_randomly"); - structure_custommachine = new ItemCMStructure().setUnlocalizedName("structure_custommachine").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setFull3D().setTextureName(RefStrings.MODID + ":structure_custommachine"); - - rod_of_discord = new ItemDiscord().setUnlocalizedName("rod_of_discord").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setFull3D().setTextureName(RefStrings.MODID + ":rod_of_discord"); - - nuke_starter_kit = new ItemStarterKit().setUnlocalizedName("nuke_starter_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":nuke_starter_kit"); - nuke_advanced_kit = new ItemStarterKit().setUnlocalizedName("nuke_advanced_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":nuke_advanced_kit"); - nuke_commercially_kit = new ItemStarterKit().setUnlocalizedName("nuke_commercially_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":nuke_commercially_kit"); - nuke_electric_kit = new ItemStarterKit().setUnlocalizedName("nuke_electric_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":nuke_electric_kit"); - gadget_kit = new ItemStarterKit().setUnlocalizedName("gadget_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":gadget_kit"); - boy_kit = new ItemStarterKit().setUnlocalizedName("boy_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":boy_kit"); - man_kit = new ItemStarterKit().setUnlocalizedName("man_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":man_kit"); - mike_kit = new ItemStarterKit().setUnlocalizedName("mike_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":mike_kit"); - tsar_kit = new ItemStarterKit().setUnlocalizedName("tsar_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":tsar_kit"); - multi_kit = new ItemStarterKit().setUnlocalizedName("multi_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":multi_kit"); - custom_kit = new ItemStarterKit().setUnlocalizedName("custom_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_kit"); - grenade_kit = new ItemStarterKit().setUnlocalizedName("grenade_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_kit"); - fleija_kit = new ItemStarterKit().setUnlocalizedName("fleija_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":fleija_kit"); - prototype_kit = new ItemStarterKit().setUnlocalizedName("prototype_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":prototype_kit"); - missile_kit = new ItemStarterKit().setUnlocalizedName("missile_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_kit"); - t45_kit = new ItemStarterKit().setUnlocalizedName("t45_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":t45_kit"); - euphemium_kit = new ItemStarterKit().setUnlocalizedName("euphemium_kit").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":code"); - solinium_kit = new ItemStarterKit().setUnlocalizedName("solinium_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":solinium_kit"); - hazmat_kit = new ItemStarterKit().setUnlocalizedName("hazmat_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":hazmat_kit"); - hazmat_red_kit = new ItemStarterKit().setUnlocalizedName("hazmat_red_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":hazmat_red_kit"); - hazmat_grey_kit = new ItemStarterKit().setUnlocalizedName("hazmat_grey_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":hazmat_grey_kit"); - kit_custom = new ItemKitCustom().setUnlocalizedName("kit_custom").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":kit"); - kit_toolbox_empty = new Item().setUnlocalizedName("kit_toolbox_empty").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":kit_toolbox_empty"); - kit_toolbox = new ItemKitNBT().setUnlocalizedName("kit_toolbox").setCreativeTab(MainRegistry.consumableTab).setContainerItem(kit_toolbox_empty).setTextureName(RefStrings.MODID + ":kit_toolbox"); - - loot_10 = new ItemLootCrate().setUnlocalizedName("loot_10").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":loot_10"); - loot_15 = new ItemLootCrate().setUnlocalizedName("loot_15").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":loot_15"); - loot_misc = new ItemLootCrate().setUnlocalizedName("loot_misc").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":loot_misc"); - - clip_revolver_iron = new ItemClip(ammo_357.stackFromEnum(20, Ammo357Magnum.IRON)).setUnlocalizedName("clip_revolver_iron").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_revolver_iron"); - clip_revolver = new ItemClip(ammo_357.stackFromEnum(12, Ammo357Magnum.LEAD)).setUnlocalizedName("clip_revolver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_revolver"); - clip_revolver_gold = new ItemClip(ammo_357.stackFromEnum(6, Ammo357Magnum.GOLD)).setUnlocalizedName("clip_revolver_gold").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_revolver_gold"); - clip_revolver_lead = new ItemClip(ammo_357.stackFromEnum(6, Ammo357Magnum.NUCLEAR)).setUnlocalizedName("clip_revolver_lead").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_revolver_lead"); - clip_revolver_schrabidium = new ItemClip(ammo_357.stackFromEnum(2, Ammo357Magnum.SCHRABIDIUM)).setUnlocalizedName("clip_revolver_schrabidium").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_revolver_schrabidium"); - clip_revolver_cursed = new ItemClip(ammo_357.stackFromEnum(17, Ammo357Magnum.STEEL)).setUnlocalizedName("clip_revolver_cursed").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_revolver_cursed"); - clip_revolver_nightmare = new ItemClip(ammo_357.stackFromEnum(6, Ammo357Magnum.NIGHTMARE1)).setUnlocalizedName("clip_revolver_nightmare").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_revolver_nightmare"); - clip_revolver_nightmare2 = new ItemClip(ammo_357.stackFromEnum(6, Ammo357Magnum.NIGHTMARE2)).setUnlocalizedName("clip_revolver_nightmare2").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_revolver_nightmare2"); - clip_revolver_pip = new ItemClip(ammo_44.stackFromEnum(6, Ammo44Magnum.PIP)).setUnlocalizedName("clip_revolver_pip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_revolver_pip"); - clip_revolver_nopip = new ItemClip(ammo_44.stackFromEnum(6, Ammo44Magnum.STOCK)).setUnlocalizedName("clip_revolver_nopip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_revolver_nopip"); - clip_rpg = new ItemClip(ammo_rocket.stackFromEnum(4, AmmoRocket.STOCK)).setUnlocalizedName("clip_rpg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_rpg_alt"); - clip_stinger = new ItemClip(ammo_stinger_rocket.stackFromEnum(4, AmmoStinger.STOCK)).setUnlocalizedName("clip_stinger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_stinger"); - clip_fatman = new ItemClip(ammo_nuke.stackFromEnum(6, AmmoFatman.STOCK)).setUnlocalizedName("clip_fatman").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_fatman"); - clip_mirv = new ItemClip(ammo_nuke.stackFromEnum(3, AmmoFatman.MIRV)).setUnlocalizedName("clip_mirv").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_mirv"); - clip_bf = new ItemClip(ammo_nuke.stackFromEnum(2, AmmoFatman.BALEFIRE)).setUnlocalizedName("clip_bf").setCreativeTab(null).setTextureName(RefStrings.MODID + ":clip_bf"); - clip_mp40 = new ItemClip(ammo_9mm.stackFromEnum(32, Ammo9mm.STOCK)).setUnlocalizedName("clip_mp40").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_mp40"); - clip_uzi = new ItemClip(ammo_22lr.stackFromEnum(32, Ammo22LR.STOCK)).setUnlocalizedName("clip_uzi").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_uzi"); - clip_uboinik = new ItemClip(ammo_12gauge.stackFromEnum(12, Ammo12Gauge.STOCK)).setUnlocalizedName("clip_uboinik").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_uboinik"); - clip_lever_action = new ItemClip(ammo_20gauge.stackFromEnum(12, Ammo20Gauge.STOCK)).setUnlocalizedName("clip_lever_action").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_lever_action"); - clip_bolt_action = new ItemClip(ammo_20gauge.stackFromEnum(12, Ammo20Gauge.SLUG)).setUnlocalizedName("clip_bolt_action").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_bolt_action"); - clip_osipr = new ItemClip(new ItemStack(gun_osipr_ammo, 3)).setUnlocalizedName("clip_osipr").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_osipr"); - clip_immolator = new ItemClip(new ItemStack(gun_immolator_ammo, 60)).setUnlocalizedName("clip_immolator").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_immolator"); - clip_cryolator = new ItemClip(new ItemStack(gun_cryolator_ammo, 60)).setUnlocalizedName("clip_cryolator").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_cryolator"); - clip_mp = new ItemClip(ammo_556.stackFromEnum(2, Ammo556mm.GOLD)).setUnlocalizedName("clip_mp").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_mp"); - clip_xvl1456 = new ItemClip(new ItemStack(gun_xvl1456_ammo, 50)).setUnlocalizedName("clip_xvl1456").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_xvl1456"); - clip_emp = new ItemClip(new ItemStack(gun_emp_ammo, 12)).setUnlocalizedName("clip_emp").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_emp"); - clip_jack = new ItemClip(new ItemStack(gun_jack_ammo, 12)).setUnlocalizedName("clip_jack").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_jack"); - clip_spark = new ItemClip(new ItemStack(gun_spark_ammo, 12)).setUnlocalizedName("clip_spark").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_spark"); - clip_hp = new ItemClip(new ItemStack(gun_hp_ammo, 24)).setUnlocalizedName("clip_hp").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_hp"); - clip_euthanasia = new ItemClip(new ItemStack(gun_euthanasia_ammo, 32)).setUnlocalizedName("clip_euthanasia").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_euthanasia"); - clip_defabricator = new ItemClip(new ItemStack(gun_defabricator_ammo, 50)).setUnlocalizedName("clip_defabricator").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_defabricator"); - - ammo_container = new ItemAmmoContainer().setUnlocalizedName("ammo_container").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_container"); - - ingot_euphemium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("ingot_euphemium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_euphemium"); - nugget_euphemium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("nugget_euphemium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_euphemium"); - watch = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("watch").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":watch"); - apple_euphemium = new ItemAppleEuphemium(20, 100, false).setUnlocalizedName("apple_euphemium").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":apple_euphemium"); - - igniter = new ItemCustomLore().setUnlocalizedName("igniter").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":trigger"); - detonator = new ItemDetonator().setUnlocalizedName("detonator").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":detonator"); - detonator_multi = new ItemMultiDetonator().setUnlocalizedName("detonator_multi").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":detonator_multi"); - detonator_laser = new ItemLaserDetonator().setUnlocalizedName("detonator_laser").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":detonator_laser"); - detonator_deadman = new ItemDrop().setUnlocalizedName("detonator_deadman").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":detonator_deadman"); - detonator_de = new ItemDrop().setUnlocalizedName("detonator_de").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":detonator_de"); - crate_caller = new ItemCrateCaller().setUnlocalizedName("crate_caller").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":crate_caller"); - bomb_caller = new ItemBombCaller().setUnlocalizedName("bomb_caller").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bomb_caller"); - meteor_remote = new ItemMeteorRemote().setUnlocalizedName("meteor_remote").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":meteor_remote"); - anchor_remote = new ItemAnchorRemote().setUnlocalizedName("anchor_remote").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":anchor_remote"); - spawn_chopper = new ItemChopper().setUnlocalizedName("chopper").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":chopper"); - spawn_worm = new ItemChopper().setUnlocalizedName("spawn_worm").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":spawn_worm"); - spawn_ufo = new ItemChopper().setUnlocalizedName("spawn_ufo").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":spawn_ufo"); - spawn_duck = new ItemChopper().setUnlocalizedName("spawn_duck").setMaxStackSize(16).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":spawn_duck"); - linker = new ItemTeleLink().setUnlocalizedName("linker").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":linker"); - reactor_sensor = new ItemReactorSensor().setUnlocalizedName("reactor_sensor").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":reactor_sensor"); - oil_detector = new ItemOilDetector().setUnlocalizedName("oil_detector").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":oil_detector"); - //turret_control = new ItemTurretControl().setUnlocalizedName("turret_control").setFull3D().setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":turret_control"); - turret_chip = new ItemTurretChip().setUnlocalizedName("turret_chip").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":turret_chip"); - //turret_biometry = new ItemTurretBiometry().setUnlocalizedName("turret_biometry").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":rei_scanner"); - dosimeter = new ItemDosimeter().setUnlocalizedName("dosimeter").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":dosimeter"); - geiger_counter = new ItemGeigerCounter().setUnlocalizedName("geiger_counter").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":geiger_counter"); - digamma_diagnostic = new ItemDigammaDiagnostic().setUnlocalizedName("digamma_diagnostic").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":digamma_diagnostic"); - pollution_detector = new ItemPollutionDetector().setUnlocalizedName("pollution_detector").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pollution_detector"); - ore_density_scanner = new ItemOreDensityScanner().setUnlocalizedName("ore_density_scanner").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":ore_density_scanner"); - survey_scanner = new ItemSurveyScanner().setUnlocalizedName("survey_scanner").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":survey_scanner"); - mirror_tool = new ItemMirrorTool().setUnlocalizedName("mirror_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":mirror_tool"); - rbmk_tool = new ItemRBMKTool().setUnlocalizedName("rbmk_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":rbmk_tool"); - coltan_tool = new ItemColtanCompass().setUnlocalizedName("coltan_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coltass"); - power_net_tool = new ItemPowerNetTool().setUnlocalizedName("power_net_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":power_net_tool"); - analysis_tool = new ItemAnalysisTool().setUnlocalizedName("analysis_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":analysis_tool"); - coupling_tool = new ItemCouplingTool().setUnlocalizedName("coupling_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coupling_tool"); - drone_linker = new ItemDroneLinker().setUnlocalizedName("drone_linker").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":drone_linker"); - radar_linker = new ItemRadarLinker().setUnlocalizedName("radar_linker").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":radar_linker"); - - key = new ItemKey().setUnlocalizedName("key").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":key"); - key_red = new ItemCustomLore().setUnlocalizedName("key_red").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":key_red"); - key_red_cracked = new ItemCustomLore().setUnlocalizedName("key_red_cracked").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":key_red_cracked"); - key_kit = new ItemCounterfitKeys().setUnlocalizedName("key_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":key_pair"); - key_fake = new ItemKey().setUnlocalizedName("key_fake").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":key_gold"); - pin = new ItemCustomLore().setUnlocalizedName("pin").setMaxStackSize(8).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pin"); - padlock_rusty = new ItemLock(1).setUnlocalizedName("padlock_rusty").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":padlock_rusty"); - padlock = new ItemLock(0.1).setUnlocalizedName("padlock").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":padlock"); - padlock_reinforced = new ItemLock(0.02).setUnlocalizedName("padlock_reinforced").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":padlock_reinforced"); - padlock_unbreakable = new ItemLock(0).setUnlocalizedName("padlock_unbreakable").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":padlock_unbreakable"); - - mech_key = new ItemCustomLore().setUnlocalizedName("mech_key").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":mech_key"); - - template_folder = new ItemTemplateFolder().setUnlocalizedName("template_folder").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":template_folder"); - journal_pip = new ItemTemplateFolder().setUnlocalizedName("journal_pip").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":journal_pip"); - journal_bj = new ItemTemplateFolder().setUnlocalizedName("journal_bj").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":journal_bj"); - journal_silver = new ItemTemplateFolder().setUnlocalizedName("journal_silver").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":journal_silver"); - assembly_template = new ItemAssemblyTemplate().setUnlocalizedName("assembly_template").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":assembly_template"); - chemistry_template = new ItemChemistryTemplate().setUnlocalizedName("chemistry_template").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":chemistry_template"); - chemistry_icon = new ItemChemistryIcon().setUnlocalizedName("chemistry_icon").setMaxStackSize(1).setCreativeTab(null); - crucible_template = new ItemCrucibleTemplate().setUnlocalizedName("crucible_template").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":crucible_template"); - fluid_identifier = new ItemFluidIdentifier().setUnlocalizedName("fluid_identifier").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":fluid_identifier"); - fluid_identifier_multi = new ItemFluidIDMulti().setUnlocalizedName("fluid_identifier_multi").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":fluid_identifier_multi"); - fluid_icon = new ItemFluidIcon().setUnlocalizedName("fluid_icon").setCreativeTab(null).setTextureName(RefStrings.MODID + ":fluid_icon"); - fluid_tank_empty = new Item().setUnlocalizedName("fluid_tank_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank"); - fluid_tank_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_full").setContainerItem(ModItems.fluid_tank_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank"); - fluid_tank_lead_empty = new Item().setUnlocalizedName("fluid_tank_lead_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead"); - fluid_tank_lead_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_lead_full").setContainerItem(ModItems.fluid_tank_lead_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead"); - fluid_barrel_empty = new Item().setUnlocalizedName("fluid_barrel_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel"); - fluid_barrel_full = new ItemFluidTank().setUnlocalizedName("fluid_barrel_full").setContainerItem(ModItems.fluid_barrel_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel"); - fluid_barrel_infinite = new ItemInfiniteFluid(null, 1_000_000_000).setUnlocalizedName("fluid_barrel_infinite").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel_infinite"); - pipette = new ItemPipette().setUnlocalizedName("pipette").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pipette"); - pipette_boron = new ItemPipette().setUnlocalizedName("pipette_boron").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pipette_boron"); - pipette_laboratory = new ItemPipette().setUnlocalizedName("pipette_laboratory").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pipette_laboratory"); - siphon = new ItemFluidSiphon().setUnlocalizedName("siphon").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":siphon"); - inf_water = new ItemInfiniteFluid(Fluids.WATER, 50).setUnlocalizedName("inf_water").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":inf_water"); - inf_water_mk2 = new ItemInfiniteFluid(Fluids.WATER, 500).setUnlocalizedName("inf_water_mk2").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":inf_water_mk2"); - - FluidTank.noDualUnload.add(fluid_barrel_infinite); - FluidTank.noDualUnload.add(inf_water); - FluidTank.noDualUnload.add(inf_water_mk2); - - disperser_canister_empty = new Item().setUnlocalizedName("disperser_canister_empty").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":disperser_canister"); - disperser_canister = new ItemDisperser().setUnlocalizedName("disperser_canister").setContainerItem(ModItems.disperser_canister_empty).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":disperser_canister"); - - glyphid_gland_empty = new Item().setUnlocalizedName("glyphid_gland_empty").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":glyphid_gland"); - glyphid_gland = new ItemDisperser().setUnlocalizedName("glyphid_gland").setContainerItem(ModItems.glyphid_gland_empty).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":glyphid_gland"); - - siren_track = new ItemCassette().setUnlocalizedName("siren_track").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":cassette"); - fluid_duct = new ItemFluidDuct().setUnlocalizedName("fluid_duct").setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":duct"); - - bobmazon_materials = new ItemCatalog().setUnlocalizedName("bobmazon_materials").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":bobmazon_materials"); - bobmazon_machines = new ItemCatalog().setUnlocalizedName("bobmazon_machines").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":bobmazon_machines"); - bobmazon_weapons = new ItemCatalog().setUnlocalizedName("bobmazon_weapons").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":bobmazon_weapons"); - bobmazon_tools = new ItemCatalog().setUnlocalizedName("bobmazon_tools").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":bobmazon_tools"); - bobmazon_hidden = new ItemCatalog().setUnlocalizedName("bobmazon_hidden").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":bobmazon_special"); - - euphemium_helmet = new ArmorEuphemium(MainRegistry.aMatEuph, 0).setUnlocalizedName("euphemium_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":euphemium_helmet"); - euphemium_plate = new ArmorEuphemium(MainRegistry.aMatEuph, 1).setUnlocalizedName("euphemium_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":euphemium_plate"); - euphemium_legs = new ArmorEuphemium(MainRegistry.aMatEuph, 2).setUnlocalizedName("euphemium_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":euphemium_legs"); - euphemium_boots = new ArmorEuphemium(MainRegistry.aMatEuph, 3).setUnlocalizedName("euphemium_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":euphemium_boots"); - - ArmorMaterial aMatRags = EnumHelper.addArmorMaterial("HBM_RAGS", 150, new int[] { 1, 1, 1, 1 }, 0); - aMatRags.customCraftingMaterial = ModItems.rag; - - goggles = new ArmorModel(ArmorMaterial.IRON, 0).setUnlocalizedName("goggles").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":goggles"); - ashglasses = new ArmorAshGlasses(ArmorMaterial.IRON, 0).setUnlocalizedName("ashglasses").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ashglasses"); - gas_mask = new ArmorGasMask().setUnlocalizedName("gas_mask").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":gas_mask"); - gas_mask_m65 = new ArmorGasMask().setUnlocalizedName("gas_mask_m65").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":gas_mask_m65"); - gas_mask_mono = new ArmorGasMask().setUnlocalizedName("gas_mask_mono").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":gas_mask_mono"); - gas_mask_olde = new ArmorGasMask().setUnlocalizedName("gas_mask_olde").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":gas_mask_olde"); - mask_rag = new ModArmor(aMatRags, 0).setUnlocalizedName("mask_rag").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mask_rag"); - mask_piss = new ModArmor(aMatRags, 0).setUnlocalizedName("mask_piss").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mask_piss"); - hat = new ArmorHat(MainRegistry.aMatAlloy, 0).setUnlocalizedName("nossy_hat").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hat"); - no9 = new ArmorNo9(MainRegistry.aMatSteel, 0).setUnlocalizedName("no9").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":no9"); - beta = new ItemDrop().setUnlocalizedName("beta").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":beta"); - //oxy_mask = new ArmorModel(ArmorMaterial.IRON, 7, 0).setUnlocalizedName("oxy_mask").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":oxy_mask"); - - schrabidium_helmet = new ArmorFSB(MainRegistry.aMatSchrab, 0, RefStrings.MODID + ":textures/armor/schrabidium_1.png").setCap(4F).setMod(0.1F) - .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 2)) - .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 2)) - .addEffect(new PotionEffect(Potion.jump.id, 20, 1)) - .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 2)) - .setFireproof(true).setUnlocalizedName("schrabidium_helmet").setTextureName(RefStrings.MODID + ":schrabidium_helmet"); - schrabidium_plate = new ArmorFSB(MainRegistry.aMatSchrab, 1, RefStrings.MODID + ":textures/armor/schrabidium_1.png").cloneStats((ArmorFSB) schrabidium_helmet).setUnlocalizedName("schrabidium_plate").setTextureName(RefStrings.MODID + ":schrabidium_plate"); - schrabidium_legs = new ArmorFSB(MainRegistry.aMatSchrab, 2, RefStrings.MODID + ":textures/armor/schrabidium_2.png").cloneStats((ArmorFSB) schrabidium_helmet).setCap(4F).setMod(0.1F).setUnlocalizedName("schrabidium_legs").setTextureName(RefStrings.MODID + ":schrabidium_legs"); - schrabidium_boots = new ArmorFSB(MainRegistry.aMatSchrab, 3, RefStrings.MODID + ":textures/armor/schrabidium_1.png").cloneStats((ArmorFSB) schrabidium_helmet).setCap(4F).setMod(0.1F).setUnlocalizedName("schrabidium_boots").setTextureName(RefStrings.MODID + ":schrabidium_boots"); - bismuth_helmet = new ArmorBismuth(MainRegistry.aMatBismuth, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png").setCap(8F).setMod(0.3F) - .addResistance("fall", 0) - .addEffect(new PotionEffect(Potion.jump.id, 20, 6)) - .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 6)) - .addEffect(new PotionEffect(Potion.regeneration.id, 20, 1)) - .addEffect(new PotionEffect(Potion.nightVision.id, 15 * 20, 0)) - .setDashCount(3) - .setUnlocalizedName("bismuth_helmet").setTextureName(RefStrings.MODID + ":bismuth_helmet"); - bismuth_plate = new ArmorBismuth(MainRegistry.aMatBismuth, 1, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) bismuth_helmet).setCap(8F).setMod(0.3F).setUnlocalizedName("bismuth_plate").setTextureName(RefStrings.MODID + ":bismuth_plate"); - bismuth_legs = new ArmorBismuth(MainRegistry.aMatBismuth, 2, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) bismuth_helmet).setCap(8F).setMod(0.3F).setUnlocalizedName("bismuth_legs").setTextureName(RefStrings.MODID + ":bismuth_legs"); - bismuth_boots = new ArmorBismuth(MainRegistry.aMatBismuth, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) bismuth_helmet).setCap(8F).setMod(0.3F).setUnlocalizedName("bismuth_boots").setTextureName(RefStrings.MODID + ":bismuth_boots"); - titanium_helmet = new ArmorFSB(MainRegistry.aMatTitan, 0, RefStrings.MODID + ":textures/armor/titanium_1.png").setMod(0.85F).setUnlocalizedName("titanium_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_helmet"); - titanium_plate = new ArmorFSB(MainRegistry.aMatTitan, 1, RefStrings.MODID + ":textures/armor/titanium_1.png").cloneStats((ArmorFSB) titanium_helmet).setUnlocalizedName("titanium_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_plate"); - titanium_legs = new ArmorFSB(MainRegistry.aMatTitan, 2, RefStrings.MODID + ":textures/armor/titanium_2.png").cloneStats((ArmorFSB) titanium_helmet).setUnlocalizedName("titanium_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_legs"); - titanium_boots = new ArmorFSB(MainRegistry.aMatTitan, 3, RefStrings.MODID + ":textures/armor/titanium_1.png").cloneStats((ArmorFSB) titanium_helmet).setUnlocalizedName("titanium_boots").setTextureName(RefStrings.MODID + ":titanium_boots"); - steel_helmet = new ArmorFSB(MainRegistry.aMatSteel, 0, RefStrings.MODID + ":textures/armor/steel_1.png").setMod(0.9F).setUnlocalizedName("steel_helmet").setTextureName(RefStrings.MODID + ":steel_helmet"); - steel_plate = new ArmorFSB(MainRegistry.aMatSteel, 1, RefStrings.MODID + ":textures/armor/steel_1.png").cloneStats((ArmorFSB) steel_helmet).setUnlocalizedName("steel_plate").setTextureName(RefStrings.MODID + ":steel_plate"); - steel_legs = new ArmorFSB(MainRegistry.aMatSteel, 2, RefStrings.MODID + ":textures/armor/steel_2.png").cloneStats((ArmorFSB) steel_helmet).setUnlocalizedName("steel_legs").setTextureName(RefStrings.MODID + ":steel_legs"); - steel_boots = new ArmorFSB(MainRegistry.aMatSteel, 3, RefStrings.MODID + ":textures/armor/steel_1.png").cloneStats((ArmorFSB) steel_helmet).setUnlocalizedName("steel_boots").setTextureName(RefStrings.MODID + ":steel_boots"); - alloy_helmet = new ArmorFSB(MainRegistry.aMatAlloy, 0, RefStrings.MODID + ":textures/armor/alloy_1.png").setMod(0.75F).setUnlocalizedName("alloy_helmet").setTextureName(RefStrings.MODID + ":alloy_helmet"); - alloy_plate = new ArmorFSB(MainRegistry.aMatAlloy, 1, RefStrings.MODID + ":textures/armor/alloy_1.png").cloneStats((ArmorFSB) alloy_helmet).setUnlocalizedName("alloy_plate").setTextureName(RefStrings.MODID + ":alloy_plate"); - alloy_legs = new ArmorFSB(MainRegistry.aMatAlloy, 2, RefStrings.MODID + ":textures/armor/alloy_2.png").cloneStats((ArmorFSB) alloy_helmet).setUnlocalizedName("alloy_legs").setTextureName(RefStrings.MODID + ":alloy_legs"); - alloy_boots = new ArmorFSB(MainRegistry.aMatAlloy, 3, RefStrings.MODID + ":textures/armor/alloy_1.png").cloneStats((ArmorFSB) alloy_helmet).setUnlocalizedName("alloy_boots").setTextureName(RefStrings.MODID + ":alloy_boots"); - cmb_helmet = new ArmorFSB(MainRegistry.aMatCMB, 0, RefStrings.MODID + ":textures/armor/cmb_1.png").setCap(2F).setThreshold(2F).setMod(0.05F) - .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 2)) - .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 2)) - .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 4)) - .setFireproof(true).setUnlocalizedName("cmb_helmet").setTextureName(RefStrings.MODID + ":cmb_helmet"); - cmb_plate = new ArmorFSB(MainRegistry.aMatCMB, 1, RefStrings.MODID + ":textures/armor/cmb_1.png").cloneStats((ArmorFSB) cmb_helmet).setUnlocalizedName("cmb_plate").setTextureName(RefStrings.MODID + ":cmb_plate"); - cmb_legs = new ArmorFSB(MainRegistry.aMatCMB, 2, RefStrings.MODID + ":textures/armor/cmb_2.png").cloneStats((ArmorFSB) cmb_helmet).setUnlocalizedName("cmb_legs").setTextureName(RefStrings.MODID + ":cmb_legs"); - cmb_boots = new ArmorFSB(MainRegistry.aMatCMB, 3, RefStrings.MODID + ":textures/armor/cmb_1.png").cloneStats((ArmorFSB) cmb_helmet).setUnlocalizedName("cmb_boots").setTextureName(RefStrings.MODID + ":cmb_boots"); - paa_plate = new ArmorFSB(MainRegistry.aMatPaa, 1, RefStrings.MODID + ":textures/armor/paa_1.png").setCap(6F).setMod(0.3F).setNoHelmet(true) - .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 0)).setUnlocalizedName("paa_plate").setTextureName(RefStrings.MODID + ":paa_plate"); - paa_legs = new ArmorFSB(MainRegistry.aMatPaa, 2, RefStrings.MODID + ":textures/armor/paa_2.png").cloneStats((ArmorFSB) paa_plate).setUnlocalizedName("paa_legs").setTextureName(RefStrings.MODID + ":paa_legs"); - paa_boots = new ArmorFSB(MainRegistry.aMatPaa, 3, RefStrings.MODID + ":textures/armor/paa_1.png").cloneStats((ArmorFSB) paa_plate).setUnlocalizedName("paa_boots").setTextureName(RefStrings.MODID + ":paa_boots"); - asbestos_helmet = new ArmorFSB(MainRegistry.aMatAsbestos, 0, RefStrings.MODID + ":textures/armor/asbestos_1.png").setFireproof(true).setOverlay(RefStrings.MODID + ":textures/misc/overlay_asbestos.png").setUnlocalizedName("asbestos_helmet").setTextureName(RefStrings.MODID + ":asbestos_helmet"); - asbestos_plate = new ArmorFSB(MainRegistry.aMatAsbestos, 1, RefStrings.MODID + ":textures/armor/asbestos_1.png").setFireproof(true).setUnlocalizedName("asbestos_plate").setTextureName(RefStrings.MODID + ":asbestos_plate"); - asbestos_legs = new ArmorFSB(MainRegistry.aMatAsbestos, 2, RefStrings.MODID + ":textures/armor/asbestos_2.png").setFireproof(true).setUnlocalizedName("asbestos_legs").setTextureName(RefStrings.MODID + ":asbestos_legs"); - asbestos_boots = new ArmorFSB(MainRegistry.aMatAsbestos, 3, RefStrings.MODID + ":textures/armor/asbestos_1.png").setFireproof(true).setUnlocalizedName("asbestos_boots").setTextureName(RefStrings.MODID + ":asbestos_boots"); - security_helmet = new ArmorFSB(MainRegistry.aMatSecurity, 0, RefStrings.MODID + ":textures/armor/security_1.png").setMod(0.65F).setProjectileProtection(0.5F).setUnlocalizedName("security_helmet").setTextureName(RefStrings.MODID + ":security_helmet"); - security_plate = new ArmorFSB(MainRegistry.aMatSecurity, 1, RefStrings.MODID + ":textures/armor/security_1.png").cloneStats((ArmorFSB) security_helmet).setUnlocalizedName("security_plate").setTextureName(RefStrings.MODID + ":security_plate"); - security_legs = new ArmorFSB(MainRegistry.aMatSecurity, 2, RefStrings.MODID + ":textures/armor/security_2.png").cloneStats((ArmorFSB) security_helmet).setUnlocalizedName("security_legs").setTextureName(RefStrings.MODID + ":security_legs"); - security_boots = new ArmorFSB(MainRegistry.aMatSecurity, 3, RefStrings.MODID + ":textures/armor/security_1.png").cloneStats((ArmorFSB) security_helmet).setUnlocalizedName("security_boots").setTextureName(RefStrings.MODID + ":security_boots"); - cobalt_helmet = new ArmorFSB(MainRegistry.aMatCobalt, 0, RefStrings.MODID + ":textures/armor/cobalt_1.png").setMod(0.7F).setUnlocalizedName("cobalt_helmet").setTextureName(RefStrings.MODID + ":cobalt_helmet"); - cobalt_plate = new ArmorFSB(MainRegistry.aMatCobalt, 1, RefStrings.MODID + ":textures/armor/cobalt_1.png").cloneStats((ArmorFSB) cobalt_helmet).setUnlocalizedName("cobalt_plate").setTextureName(RefStrings.MODID + ":cobalt_plate"); - cobalt_legs = new ArmorFSB(MainRegistry.aMatCobalt, 2, RefStrings.MODID + ":textures/armor/cobalt_2.png").cloneStats((ArmorFSB) cobalt_helmet).setUnlocalizedName("cobalt_legs").setTextureName(RefStrings.MODID + ":cobalt_legs"); - cobalt_boots = new ArmorFSB(MainRegistry.aMatCobalt, 3, RefStrings.MODID + ":textures/armor/cobalt_1.png").cloneStats((ArmorFSB) cobalt_helmet).setUnlocalizedName("cobalt_boots").setTextureName(RefStrings.MODID + ":cobalt_boots"); - starmetal_helmet = new ArmorFSB(MainRegistry.aMatStarmetal, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png").setMod(0.5F).setCap(15F) - .setFireproof(true).setUnlocalizedName("starmetal_helmet").setTextureName(RefStrings.MODID + ":starmetal_helmet"); - starmetal_plate = new ArmorFSB(MainRegistry.aMatStarmetal, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) starmetal_helmet).setUnlocalizedName("starmetal_plate").setTextureName(RefStrings.MODID + ":starmetal_plate"); - starmetal_legs = new ArmorFSB(MainRegistry.aMatStarmetal, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) starmetal_helmet).setUnlocalizedName("starmetal_legs").setTextureName(RefStrings.MODID + ":starmetal_legs"); - starmetal_boots = new ArmorFSB(MainRegistry.aMatStarmetal, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) starmetal_helmet).setUnlocalizedName("starmetal_boots").setTextureName(RefStrings.MODID + ":starmetal_boots"); - - robes_helmet = new ArmorFSB(ArmorMaterial.CHAIN, 0, RefStrings.MODID + ":textures/armor/robes_1.png").setThreshold(1.0F).setUnlocalizedName("robes_helmet").setTextureName(RefStrings.MODID + ":robes_helmet"); - robes_plate = new ArmorFSB(ArmorMaterial.CHAIN, 1, RefStrings.MODID + ":textures/armor/robes_1.png").cloneStats((ArmorFSB) robes_helmet).setUnlocalizedName("robes_plate").setTextureName(RefStrings.MODID + ":robes_plate"); - robes_legs = new ArmorFSB(ArmorMaterial.CHAIN, 2, RefStrings.MODID + ":textures/armor/robes_2.png").cloneStats((ArmorFSB) robes_helmet).setUnlocalizedName("robes_legs").setTextureName(RefStrings.MODID + ":robes_legs"); - robes_boots = new ArmorFSB(ArmorMaterial.CHAIN, 3, RefStrings.MODID + ":textures/armor/robes_1.png").cloneStats((ArmorFSB) robes_helmet).setUnlocalizedName("robes_boots").setTextureName(RefStrings.MODID + ":robes_boots"); - - initializeItem2(); - } - - public static void initializeItem2() { - - ArmorMaterial aMatZirconium = EnumHelper.addArmorMaterial("HBM_ZIRCONIUM", 1000, new int[] { 2, 5, 3, 1 }, 100); - aMatZirconium.customCraftingMaterial = ModItems.ingot_zirconium; - zirconium_legs = new ArmorFSB(aMatZirconium, 2, RefStrings.MODID + ":textures/armor/zirconium_2.png").setMod(0.0F).setUnlocalizedName("zirconium_legs").setTextureName(RefStrings.MODID + ":zirconium_legs"); - - ArmorMaterial aMatDNT = EnumHelper.addArmorMaterial("HBM_DNT_LOLOLOL", 3, new int[] { 1, 1, 1, 1 }, 0); - aMatDNT.customCraftingMaterial = ModItems.ingot_dineutronium; - dnt_helmet = new ArmorFSB(aMatDNT, 0, RefStrings.MODID + ":textures/armor/dnt_1.png") - .setMod(5F).setUnlocalizedName("dnt_helmet").setTextureName(RefStrings.MODID + ":dnt_helmet"); - dnt_plate = new ArmorFSB(aMatDNT, 1, RefStrings.MODID + ":textures/armor/dnt_1.png").cloneStats((ArmorFSB) dnt_helmet).setUnlocalizedName("dnt_plate").setTextureName(RefStrings.MODID + ":dnt_plate"); - dnt_legs = new ArmorFSB(aMatDNT, 2, RefStrings.MODID + ":textures/armor/dnt_2.png").cloneStats((ArmorFSB) dnt_helmet).setUnlocalizedName("dnt_legs").setTextureName(RefStrings.MODID + ":dnt_legs"); - dnt_boots = new ArmorFSB(aMatDNT, 3, RefStrings.MODID + ":textures/armor/dnt_1.png").cloneStats((ArmorFSB) dnt_helmet).setUnlocalizedName("dnt_boots").setTextureName(RefStrings.MODID + ":dnt_boots"); - - ArmorMaterial aMatT45 = EnumHelper.addArmorMaterial("HBM_T45", 150, new int[] { 3, 8, 6, 3 }, 0); - aMatT45.customCraftingMaterial = ModItems.plate_armor_titanium; - t45_helmet = new ArmorT45(aMatT45, 0, 1000000, 10000, 1000, 5).setCap(10F).setMod(0.5F) - .setFireproof(true) - .enableVATS(true) - .setHasGeigerSound(true) - .setHasHardLanding(true) - .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 0)) - .setBlastProtection(0.5F) - .addResistance("monoxide", 0F) - .addResistance("fall", 0) - .hides(EnumPlayerPart.HAT) - .setUnlocalizedName("t45_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_helmet"); - t45_plate = new ArmorT45(aMatT45, 1, 1000000, 10000, 1000, 5).cloneStats((ArmorFSB) t45_helmet).setUnlocalizedName("t45_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_plate"); - t45_legs = new ArmorT45(aMatT45, 2, 1000000, 10000, 1000, 5).cloneStats((ArmorFSB) t45_helmet).setUnlocalizedName("t45_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_legs"); - t45_boots = new ArmorT45(aMatT45, 3, 1000000, 10000, 1000, 5).cloneStats((ArmorFSB) t45_helmet).setUnlocalizedName("t45_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_boots"); - - ArmorMaterial aMatDesh = EnumHelper.addArmorMaterial("HBM_DESH", 150, new int[] { 3, 8, 6, 3 }, 0); - aMatDesh.customCraftingMaterial = ModItems.ingot_desh; - steamsuit_helmet = new ArmorDesh(aMatDesh, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.STEAM, 64_000, 500, 50, 1).setThreshold(5F).setMod(0.8F) - .setFireproof(true) - .setHasHardLanding(true) - .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 4)) - .setBlastProtection(0.5F) - .addResistance("monoxide", 0F) - .addResistance("fall", 0) - .hides(EnumPlayerPart.HAT) - .setUnlocalizedName("steamsuit_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_helmet"); - steamsuit_plate = new ArmorDesh(aMatDesh, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.STEAM, 64_000, 500, 50, 1).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_plate"); - steamsuit_legs = new ArmorDesh(aMatDesh, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", Fluids.STEAM, 64_000, 500, 50, 1).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_legs"); - steamsuit_boots = new ArmorDesh(aMatDesh, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.STEAM, 64_000, 500, 50, 1).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_boots"); - - ArmorMaterial aMatDiesel = EnumHelper.addArmorMaterial("HBM_BNUUY", 150, new int[] { 3, 8, 6, 3 }, 0); - aMatDiesel.customCraftingMaterial = ModItems.plate_copper; - dieselsuit_helmet = new ArmorDiesel(aMatDiesel, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.DIESEL, 64_000, 500, 50, 1).setThreshold(2F).setMod(0.7F) - .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 2)) - .addEffect(new PotionEffect(Potion.jump.id, 20, 2)) - .enableThermalSight(true) - .enableVATS(true) - .addResistance("fall", 0) - .setUnlocalizedName("dieselsuit_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_helmet"); - dieselsuit_plate = new ArmorDiesel(aMatDiesel, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.DIESEL, 64_000, 500, 50, 1).cloneStats((ArmorFSB) dieselsuit_helmet).setUnlocalizedName("dieselsuit_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_plate"); - dieselsuit_legs = new ArmorDiesel(aMatDiesel, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", Fluids.DIESEL, 64_000, 500, 50, 1).cloneStats((ArmorFSB) dieselsuit_helmet).setUnlocalizedName("dieselsuit_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_legs"); - dieselsuit_boots = new ArmorDiesel(aMatDiesel, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.DIESEL, 64_000, 500, 50, 1).cloneStats((ArmorFSB) dieselsuit_helmet).setUnlocalizedName("dieselsuit_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_boots"); - - ArmorMaterial aMatAJR = EnumHelper.addArmorMaterial("HBM_T45AJR", 150, new int[] { 3, 8, 6, 3 }, 100); - aMatAJR.customCraftingMaterial = ModItems.plate_armor_ajr; - ajr_helmet = new ArmorAJR(aMatAJR, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).setMod(0.25F).setCap(6.0F).setThreshold(4F) - .setFireproof(true) - .enableVATS(true) - .setHasGeigerSound(true) - .setHasHardLanding(true) - .addEffect(new PotionEffect(Potion.jump.id, 20, 0)) - .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 0)) - .setBlastProtection(0.25F) - .setStep("hbm:step.metal") - .setJump("hbm:step.iron_jump") - .setFall("hbm:step.iron_land") - .addResistance("monoxide", 0F) - .addResistance("fall", 0) - .hides(EnumPlayerPart.HAT) - .setUnlocalizedName("ajr_helmet").setTextureName(RefStrings.MODID + ":ajr_helmet"); - ajr_plate = new ArmorAJR(aMatAJR, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajr_helmet).setUnlocalizedName("ajr_plate").setTextureName(RefStrings.MODID + ":ajr_plate"); - ajr_legs = new ArmorAJR(aMatAJR, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajr_helmet).setUnlocalizedName("ajr_legs").setTextureName(RefStrings.MODID + ":ajr_legs"); - ajr_boots = new ArmorAJR(aMatAJR, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajr_helmet).setUnlocalizedName("ajr_boots").setTextureName(RefStrings.MODID + ":ajr_boots"); - - ajro_helmet = new ArmorAJRO(aMatAJR, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).setMod(0.25F).setCap(6.0F).setThreshold(4F) - .setFireproof(true) - .enableVATS(true) - .setHasGeigerSound(true) - .setHasHardLanding(true) - .addEffect(new PotionEffect(Potion.jump.id, 20, 0)) - .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 0)) - .setBlastProtection(0.25F) - .setStep("hbm:step.metal") - .setJump("hbm:step.iron_jump") - .setFall("hbm:step.iron_land") - .addResistance("monoxide", 0F) - .addResistance("fall", 0) - .hides(EnumPlayerPart.HAT) - .setUnlocalizedName("ajro_helmet").setTextureName(RefStrings.MODID + ":ajro_helmet"); - ajro_plate = new ArmorAJRO(aMatAJR, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajro_helmet).setUnlocalizedName("ajro_plate").setTextureName(RefStrings.MODID + ":ajro_plate"); - ajro_legs = new ArmorAJRO(aMatAJR, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajro_helmet).setUnlocalizedName("ajro_legs").setTextureName(RefStrings.MODID + ":ajro_legs"); - ajro_boots = new ArmorAJRO(aMatAJR, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajro_helmet).setUnlocalizedName("ajro_boots").setTextureName(RefStrings.MODID + ":ajro_boots"); - - rpa_helmet = new ArmorRPA(aMatAJR, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).setMod(0.1F).setCap(6.0F).setThreshold(20F) - .setFireproof(true) - .enableVATS(true) - .setHasGeigerSound(true) - .setHasHardLanding(true) - .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 3)) - .setBlastProtection(0.25F) - .setProjectileProtection(0.25F) - .setProtectionLevel(1500) - .setStep("hbm:step.powered") - .setJump("hbm:step.powered") - .setFall("hbm:step.powered") - .addResistance("fall", 0) - .hides(EnumPlayerPart.HAT) - .setUnlocalizedName("rpa_helmet").setTextureName(RefStrings.MODID + ":rpa_helmet"); - rpa_plate = new ArmorRPA(aMatAJR, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) rpa_helmet).setUnlocalizedName("rpa_plate").setTextureName(RefStrings.MODID + ":rpa_plate"); - rpa_legs = new ArmorRPA(aMatAJR, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) rpa_helmet).setUnlocalizedName("rpa_legs").setTextureName(RefStrings.MODID + ":rpa_legs"); - rpa_boots = new ArmorRPA(aMatAJR, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) rpa_helmet).setUnlocalizedName("rpa_boots").setTextureName(RefStrings.MODID + ":rpa_boots"); - - ArmorMaterial aMatBJ = EnumHelper.addArmorMaterial("HBM_BLACKJACK", 150, new int[] { 3, 8, 6, 3 }, 100); - aMatBJ.customCraftingMaterial = ModItems.plate_armor_lunar; - bj_helmet = new ArmorBJ(aMatBJ, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).setMod(0.25F).setCap(4.0F).setThreshold(4F) - .setFireproof(true) - .enableVATS(true) - .enableThermalSight(true) - .setHasGeigerSound(true) - .setHasHardLanding(true) - .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 1)) - .addEffect(new PotionEffect(Potion.jump.id, 20, 0)) - .addEffect(new PotionEffect(Potion.field_76443_y.id, 20, 0)) - .addEffect(new PotionEffect(HbmPotion.radx.id, 20, 0)) - .setBlastProtection(0.5F) - .setProtectionLevel(500F) - .setStep("hbm:step.metal") - .setJump("hbm:step.iron_jump") - .setFall("hbm:step.iron_land") - .addResistance("fall", 0).setUnlocalizedName("bj_helmet").setTextureName(RefStrings.MODID + ":bj_helmet"); - bj_plate = new ArmorBJ(aMatBJ, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_plate").setTextureName(RefStrings.MODID + ":bj_plate"); - bj_plate_jetpack = new ArmorBJJetpack(aMatBJ, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_plate_jetpack").setTextureName(RefStrings.MODID + ":bj_plate_jetpack"); - bj_legs = new ArmorBJ(aMatBJ, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_legs").setTextureName(RefStrings.MODID + ":bj_legs"); - bj_boots = new ArmorBJ(aMatBJ, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_boots").setTextureName(RefStrings.MODID + ":bj_boots"); - - ArmorMaterial aMatEnv = EnumHelper.addArmorMaterial("HBM_ENV", 150, new int[] { 3, 8, 6, 3 }, 100); - aMatEnv.customCraftingMaterial = ModItems.plate_armor_hev; - envsuit_helmet = new ArmorEnvsuit(aMatEnv, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 100_000, 1_000, 250, 0).setMod(0.5F).setThreshold(2.0F) - .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 1)) - .addEffect(new PotionEffect(Potion.jump.id, 20, 0)) - .addResistance("fall", 0.25F) - .addResistance("monoxide", 0F) - .addResistance("onFire", 0F) - .hides(EnumPlayerPart.HAT) - .setUnlocalizedName("envsuit_helmet").setTextureName(RefStrings.MODID + ":envsuit_helmet"); - envsuit_plate = new ArmorEnvsuit(aMatEnv, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 100_000, 1_000, 250, 0).cloneStats((ArmorFSB) envsuit_helmet).setUnlocalizedName("envsuit_plate").setTextureName(RefStrings.MODID + ":envsuit_plate"); - envsuit_legs = new ArmorEnvsuit(aMatEnv, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 100_000, 1_000, 250, 0).cloneStats((ArmorFSB) envsuit_helmet).setUnlocalizedName("envsuit_legs").setTextureName(RefStrings.MODID + ":envsuit_legs"); - envsuit_boots = new ArmorEnvsuit(aMatEnv, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 100_000, 1_000, 250, 0).cloneStats((ArmorFSB) envsuit_helmet).setUnlocalizedName("envsuit_boots").setTextureName(RefStrings.MODID + ":envsuit_boots"); - - ArmorMaterial aMatHEV = EnumHelper.addArmorMaterial("HBM_HEV", 150, new int[] { 3, 8, 6, 3 }, 100); - aMatHEV.customCraftingMaterial = ModItems.plate_armor_hev; - hev_helmet = new ArmorHEV(aMatHEV, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 2500, 0).setMod(0.20F).setCap(4.0F).setThreshold(2.0F) - .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 1)) - .addEffect(new PotionEffect(Potion.jump.id, 20, 0)) - .setBlastProtection(0.25F) - .setProtectionLevel(500F) - .setHasGeigerSound(true) - .setHasCustomGeiger(true) - .addResistance("fall", 0.5F) - .addResistance("monoxide", 0F) - .addResistance("onFire", 0F) - .hides(EnumPlayerPart.HAT) - .setUnlocalizedName("hev_helmet").setTextureName(RefStrings.MODID + ":hev_helmet"); - hev_plate = new ArmorHEV(aMatHEV, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 2500, 0).cloneStats((ArmorFSB) hev_helmet).setUnlocalizedName("hev_plate").setTextureName(RefStrings.MODID + ":hev_plate"); - hev_legs = new ArmorHEV(aMatHEV, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 1000000, 10000, 2500, 0).cloneStats((ArmorFSB) hev_helmet).setUnlocalizedName("hev_legs").setTextureName(RefStrings.MODID + ":hev_legs"); - hev_boots = new ArmorHEV(aMatHEV, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 2500, 0).cloneStats((ArmorFSB) hev_helmet).setUnlocalizedName("hev_boots").setTextureName(RefStrings.MODID + ":hev_boots"); - - jackt = new ModArmor(MainRegistry.aMatSteel, 1).setUnlocalizedName("jackt").setTextureName(RefStrings.MODID + ":jackt"); - jackt2 = new ModArmor(MainRegistry.aMatSteel, 1).setUnlocalizedName("jackt2").setTextureName(RefStrings.MODID + ":jackt2"); - - ArmorMaterial aMatFau = EnumHelper.addArmorMaterial("HBM_DIGAMMA", 150, new int[] { 3, 8, 6, 3 }, 100); - aMatFau.customCraftingMaterial = ModItems.plate_armor_fau; - fau_helmet = new ArmorDigamma(aMatFau, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 2500, 0).setMod(0.25F).setCap(4.0F).setThreshold(2.0F) - .addEffect(new PotionEffect(Potion.jump.id, 20, 1)) - .setBlastProtection(0.05F) - .setMod(0.05F) - .setHasGeigerSound(true) - .enableThermalSight(true) - .setHasHardLanding(true) - .setStep("hbm:step.metal") - .setJump("hbm:step.iron_jump") - .setFall("hbm:step.iron_land") - .setProtectionLevel(1000F) - .addResistance("fall", 0F) - .addResistance("monoxide", 0F) - .setFireproof(true) - .hides(EnumPlayerPart.HAT) - .setUnlocalizedName("fau_helmet").setTextureName(RefStrings.MODID + ":fau_helmet"); - fau_plate = new ArmorDigamma(aMatFau, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 2500, 0).cloneStats((ArmorFSB) fau_helmet).setFullSetForHide().setUnlocalizedName("fau_plate").setTextureName(RefStrings.MODID + ":fau_plate"); - fau_legs = new ArmorDigamma(aMatFau, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 10000000, 10000, 2500, 0).cloneStats((ArmorFSB) fau_helmet).hides(EnumPlayerPart.LEFT_LEG, EnumPlayerPart.RIGHT_LEG).setFullSetForHide().setUnlocalizedName("fau_legs").setTextureName(RefStrings.MODID + ":fau_legs"); - fau_boots = new ArmorDigamma(aMatFau, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 2500, 0).cloneStats((ArmorFSB) fau_helmet).setUnlocalizedName("fau_boots").setTextureName(RefStrings.MODID + ":fau_boots"); - - ArmorMaterial aMatDNS = EnumHelper.addArmorMaterial("HBM_DNT_NANO", 150, new int[] { 3, 8, 6, 3 }, 100); - aMatDNS.customCraftingMaterial = ModItems.plate_armor_dnt; - dns_helmet = new ArmorDNT(aMatDNS, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000000, 1000000, 100000, 115) - .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 9)) - .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 7)) - .addEffect(new PotionEffect(Potion.jump.id, 20, 2)) - .setHasGeigerSound(true) - .enableVATS(true) - .enableThermalSight(true) - .setHasHardLanding(true) - .setStep("hbm:step.metal") - .setJump("hbm:step.iron_jump") - .setFall("hbm:step.iron_land") - .setFireproof(true) - .hides(EnumPlayerPart.HAT) - .setUnlocalizedName("dns_helmet").setTextureName(RefStrings.MODID + ":dns_helmet"); - dns_plate = new ArmorDNT(aMatDNS, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000000, 1000000, 100000, 115).cloneStats((ArmorFSB) dns_helmet).setUnlocalizedName("dns_plate").setTextureName(RefStrings.MODID + ":dns_plate"); - dns_legs = new ArmorDNT(aMatDNS, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 1000000000, 1000000, 100000, 115).cloneStats((ArmorFSB) dns_helmet).setUnlocalizedName("dns_legs").setTextureName(RefStrings.MODID + ":dns_legs"); - dns_boots = new ArmorDNT(aMatDNS, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000000, 1000000, 100000, 115).cloneStats((ArmorFSB) dns_helmet).setUnlocalizedName("dns_boots").setTextureName(RefStrings.MODID + ":dns_boots"); - - ArmorMaterial aMatTrench = EnumHelper.addArmorMaterial("HBM_TRENCH", 150, new int[] { 3, 8, 6, 3 }, 100); - aMatTrench.customCraftingMaterial = ModItems.plate_iron; - trenchmaster_helmet = new ArmorTrenchmaster(aMatTrench, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png").setMod(0.125F).setThreshold(5.0F) - .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 2)) - .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 1)) - .addEffect(new PotionEffect(Potion.jump.id, 20, 1)) - .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 0)) - .enableVATS(true) - .addResistance("fall", 0F) - .setFireproof(true) - .setStepSize(1) - .hides(EnumPlayerPart.HAT) - .setUnlocalizedName("trenchmaster_helmet").setTextureName(RefStrings.MODID + ":trenchmaster_helmet"); - trenchmaster_plate = new ArmorTrenchmaster(aMatTrench, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) trenchmaster_helmet).setUnlocalizedName("trenchmaster_plate").setTextureName(RefStrings.MODID + ":trenchmaster_plate"); - trenchmaster_legs = new ArmorTrenchmaster(aMatTrench, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) trenchmaster_helmet).setUnlocalizedName("trenchmaster_legs").setTextureName(RefStrings.MODID + ":trenchmaster_legs"); - trenchmaster_boots = new ArmorTrenchmaster(aMatTrench, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) trenchmaster_helmet).setUnlocalizedName("trenchmaster_boots").setTextureName(RefStrings.MODID + ":trenchmaster_boots"); - - jackt = new ModArmor(MainRegistry.aMatSteel, 1).setUnlocalizedName("jackt").setTextureName(RefStrings.MODID + ":jackt"); - jackt2 = new ModArmor(MainRegistry.aMatSteel, 1).setUnlocalizedName("jackt2").setTextureName(RefStrings.MODID + ":jackt2"); - - chainsaw = new ItemChainsaw(25, -0.05, MainRegistry.tMatChainsaw, EnumToolType.AXE, 5000, 1, 250, - Fluids.DIESEL, Fluids.DIESEL_CRACK, Fluids.KEROSENE, Fluids.BIOFUEL, Fluids.GASOLINE, Fluids.GASOLINE_LEADED, Fluids.PETROIL, Fluids.PETROIL_LEADED, Fluids.COALGAS, Fluids.COALGAS_LEADED) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new ToolAbility.RecursionAbility(5)) - .addHitAbility(new WeaponAbility.ChainsawAbility(10)) - .addHitAbility(new WeaponAbility.BeheaderAbility()).setShears().setUnlocalizedName("chainsaw").setTextureName(RefStrings.MODID + ":chainsaw"); - - schrabidium_sword = new ItemSwordAbility(150, 0, MainRegistry.tMatSchrab) - .addHitAbility(new WeaponAbility.RadiationAbility(50F)) - .addHitAbility(new WeaponAbility.VampireAbility(2F)) - .setRarity(EnumRarity.rare).setUnlocalizedName("schrabidium_sword").setTextureName(RefStrings.MODID + ":schrabidium_sword"); - - schrabidium_pickaxe = new ItemToolAbility(20, 0, MainRegistry.tMatSchrab, EnumToolType.PICKAXE) - .addHitAbility(new WeaponAbility.RadiationAbility(15F)) - .addBreakAbility(new ToolAbility.HammerAbility(2)) - .addBreakAbility(new ToolAbility.RecursionAbility(10)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(5)) - .addBreakAbility(new ToolAbility.SmelterAbility()) - .addBreakAbility(new ToolAbility.ShredderAbility()) - .setRarity(EnumRarity.rare).setUnlocalizedName("schrabidium_pickaxe").setTextureName(RefStrings.MODID + ":schrabidium_pickaxe"); - - schrabidium_axe = new ItemToolAbility(25, 0, MainRegistry.tMatSchrab, EnumToolType.AXE) - .addHitAbility(new WeaponAbility.RadiationAbility(15F)) - .addBreakAbility(new ToolAbility.HammerAbility(2)) - .addBreakAbility(new ToolAbility.RecursionAbility(10)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(5)) - .addBreakAbility(new ToolAbility.SmelterAbility()) - .addBreakAbility(new ToolAbility.ShredderAbility()) - .addHitAbility(new WeaponAbility.BeheaderAbility()) - .setRarity(EnumRarity.rare).setUnlocalizedName("schrabidium_axe").setTextureName(RefStrings.MODID + ":schrabidium_axe"); - - schrabidium_shovel = new ItemToolAbility(15, 0, MainRegistry.tMatSchrab, EnumToolType.SHOVEL) - .addHitAbility(new WeaponAbility.RadiationAbility(15F)) - .addBreakAbility(new ToolAbility.HammerAbility(2)) - .addBreakAbility(new ToolAbility.RecursionAbility(10)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(5)) - .addBreakAbility(new ToolAbility.SmelterAbility()) - .addBreakAbility(new ToolAbility.ShredderAbility()) - .setRarity(EnumRarity.rare).setUnlocalizedName("schrabidium_shovel").setTextureName(RefStrings.MODID + ":schrabidium_shovel"); - - schrabidium_hoe = new HoeSchrabidium(MainRegistry.tMatSchrab).setUnlocalizedName("schrabidium_hoe").setTextureName(RefStrings.MODID + ":schrabidium_hoe"); - - titanium_sword = new ItemSwordAbility(6.5F, 0, MainRegistry.tMatTitan).setUnlocalizedName("titanium_sword").setTextureName(RefStrings.MODID + ":titanium_sword"); - titanium_pickaxe = new ItemToolAbility(4.5F, 0, MainRegistry.tMatTitan, EnumToolType.PICKAXE).setUnlocalizedName("titanium_pickaxe").setTextureName(RefStrings.MODID + ":titanium_pickaxe"); - titanium_axe = new ItemToolAbility(5.5F, 0, MainRegistry.tMatTitan, EnumToolType.AXE) - .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("titanium_axe").setTextureName(RefStrings.MODID + ":titanium_axe"); - titanium_shovel = new ItemToolAbility(3.5F, 0, MainRegistry.tMatTitan, EnumToolType.SHOVEL).setUnlocalizedName("titanium_shovel").setTextureName(RefStrings.MODID + ":titanium_shovel"); - titanium_hoe = new ModHoe(MainRegistry.tMatTitan).setUnlocalizedName("titanium_hoe").setTextureName(RefStrings.MODID + ":titanium_hoe"); - steel_sword = new ItemSwordAbility(6F, 0, MainRegistry.tMatSteel).setUnlocalizedName("steel_sword").setTextureName(RefStrings.MODID + ":steel_sword"); - steel_pickaxe = new ItemToolAbility(4F, 0, MainRegistry.tMatSteel, EnumToolType.PICKAXE).setUnlocalizedName("steel_pickaxe").setTextureName(RefStrings.MODID + ":steel_pickaxe"); - steel_axe = new ItemToolAbility(5F, 0, MainRegistry.tMatSteel, EnumToolType.AXE) - .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("steel_axe").setTextureName(RefStrings.MODID + ":steel_axe"); - steel_shovel = new ItemToolAbility(3F, 0, MainRegistry.tMatSteel, EnumToolType.SHOVEL).setUnlocalizedName("steel_shovel").setTextureName(RefStrings.MODID + ":steel_shovel"); - steel_hoe = new ModHoe(MainRegistry.tMatSteel).setUnlocalizedName("steel_hoe").setTextureName(RefStrings.MODID + ":steel_hoe"); - - alloy_sword = new ItemSwordAbility(9F, 0, MainRegistry.tMatAlloy) - .addHitAbility(new WeaponAbility.StunAbility(2)).setUnlocalizedName("alloy_sword").setTextureName(RefStrings.MODID + ":alloy_sword"); - - alloy_pickaxe = new ItemToolAbility(6F, 0, MainRegistry.tMatAlloy, EnumToolType.PICKAXE) - .addBreakAbility(new ToolAbility.RecursionAbility(3)).setUnlocalizedName("alloy_pickaxe").setTextureName(RefStrings.MODID + ":alloy_pickaxe"); - - alloy_axe = new ItemToolAbility(7F, 0, MainRegistry.tMatAlloy, EnumToolType.AXE) - .addBreakAbility(new ToolAbility.RecursionAbility(3)) - .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("alloy_axe").setTextureName(RefStrings.MODID + ":alloy_axe"); - - alloy_shovel = new ItemToolAbility(5F, 0, MainRegistry.tMatAlloy, EnumToolType.SHOVEL) - .addBreakAbility(new ToolAbility.RecursionAbility(3)).setUnlocalizedName("alloy_shovel").setTextureName(RefStrings.MODID + ":alloy_shovel"); - - alloy_hoe = new ModHoe(MainRegistry.tMatAlloy).setUnlocalizedName("alloy_hoe").setTextureName(RefStrings.MODID + ":alloy_hoe"); - - cmb_sword = new ItemSwordAbility(50F, 0, MainRegistry.tMatCMB) - .addHitAbility(new WeaponAbility.StunAbility(2)) - .addHitAbility(new WeaponAbility.VampireAbility(2F)).setUnlocalizedName("cmb_sword").setTextureName(RefStrings.MODID + ":cmb_sword"); - - cmb_pickaxe = new ItemToolAbility(10F, 0, MainRegistry.tMatCMB, EnumToolType.PICKAXE) - .addBreakAbility(new ToolAbility.RecursionAbility(5)) - .addBreakAbility(new ToolAbility.SmelterAbility()) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(3)).setUnlocalizedName("cmb_pickaxe").setTextureName(RefStrings.MODID + ":cmb_pickaxe"); - - cmb_axe = new ItemToolAbility(12.5F, 0, MainRegistry.tMatCMB, EnumToolType.AXE) - .addBreakAbility(new ToolAbility.RecursionAbility(5)) - .addBreakAbility(new ToolAbility.SmelterAbility()) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(3)) - .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("cmb_axe").setTextureName(RefStrings.MODID + ":cmb_axe"); - - cmb_shovel = new ItemToolAbility(8F, 0, MainRegistry.tMatCMB, EnumToolType.SHOVEL) - .addBreakAbility(new ToolAbility.RecursionAbility(5)) - .addBreakAbility(new ToolAbility.SmelterAbility()) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(3)).setUnlocalizedName("cmb_shovel").setTextureName(RefStrings.MODID + ":cmb_shovel"); - - cmb_hoe = new ModHoe(MainRegistry.tMatCMB).setUnlocalizedName("cmb_hoe").setTextureName(RefStrings.MODID + ":cmb_hoe"); - - elec_sword = new ItemSwordAbilityPower(15F, 0, MainRegistry.tMatElec, 500000, 1000, 100) - .addHitAbility(new WeaponAbility.StunAbility(5)).setUnlocalizedName("elec_sword").setTextureName(RefStrings.MODID + ":elec_sword_anim"); - - elec_pickaxe = new ItemToolAbilityPower(10F, 0, MainRegistry.tMatElec, EnumToolType.PICKAXE, 500000, 1000, 100) - .addBreakAbility(new ToolAbility.HammerAbility(2)) - .addBreakAbility(new ToolAbility.RecursionAbility(5)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(2)).setUnlocalizedName("elec_pickaxe").setTextureName(RefStrings.MODID + ":elec_drill_anim"); - - elec_axe = new ItemToolAbilityPower(12.5F, 0, MainRegistry.tMatElec, EnumToolType.AXE, 500000, 1000, 100) - .addBreakAbility(new ToolAbility.HammerAbility(2)) - .addBreakAbility(new ToolAbility.RecursionAbility(5)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(2)) - .addHitAbility(new WeaponAbility.ChainsawAbility(15)) - .addHitAbility(new WeaponAbility.BeheaderAbility()).setShears().setUnlocalizedName("elec_axe").setTextureName(RefStrings.MODID + ":elec_chainsaw_anim"); - - elec_shovel = new ItemToolAbilityPower(7.5F, 0, MainRegistry.tMatElec, EnumToolType.SHOVEL, 500000, 1000, 100) - .addBreakAbility(new ToolAbility.HammerAbility(2)) - .addBreakAbility(new ToolAbility.RecursionAbility(5)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(2)).setUnlocalizedName("elec_shovel").setTextureName(RefStrings.MODID + ":elec_shovel_anim"); - - desh_sword = new ItemSwordAbility(15F, 0, MainRegistry.tMatDesh) - .addHitAbility(new WeaponAbility.StunAbility(2)).setUnlocalizedName("desh_sword").setTextureName(RefStrings.MODID + ":desh_sword"); - - desh_pickaxe = new ItemToolAbility(5F, -0.05, MainRegistry.tMatDesh, EnumToolType.PICKAXE) - .addBreakAbility(new ToolAbility.HammerAbility(1)) - .addBreakAbility(new ToolAbility.RecursionAbility(3)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(2)).setUnlocalizedName("desh_pickaxe").setTextureName(RefStrings.MODID + ":desh_pickaxe"); - - desh_axe = new ItemToolAbility(6.5F, -0.05, MainRegistry.tMatDesh, EnumToolType.AXE) - .addBreakAbility(new ToolAbility.HammerAbility(1)) - .addBreakAbility(new ToolAbility.RecursionAbility(3)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(2)) - .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("desh_axe").setTextureName(RefStrings.MODID + ":desh_axe"); - - desh_shovel = new ItemToolAbility(4F, -0.05, MainRegistry.tMatDesh, EnumToolType.SHOVEL) - .addBreakAbility(new ToolAbility.HammerAbility(1)) - .addBreakAbility(new ToolAbility.RecursionAbility(3)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(2)).setUnlocalizedName("desh_shovel").setTextureName(RefStrings.MODID + ":desh_shovel"); - - desh_hoe = new ModHoe(MainRegistry.tMatDesh).setUnlocalizedName("desh_hoe").setTextureName(RefStrings.MODID + ":desh_hoe"); - - cobalt_sword = new ItemSwordAbility(12F, 0, MainRegistry.tMatCobalt).setUnlocalizedName("cobalt_sword").setTextureName(RefStrings.MODID + ":cobalt_sword"); - cobalt_pickaxe = new ItemToolAbility(4F, 0, MainRegistry.tMatCobalt, EnumToolType.PICKAXE) - .addBreakAbility(new ToolAbility.RecursionAbility(4)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(1)).setUnlocalizedName("cobalt_pickaxe").setTextureName(RefStrings.MODID + ":cobalt_pickaxe"); - cobalt_axe = new ItemToolAbility(6F, 0, MainRegistry.tMatCobalt, EnumToolType.AXE) - .addBreakAbility(new ToolAbility.RecursionAbility(4)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(1)) - .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("cobalt_axe").setTextureName(RefStrings.MODID + ":cobalt_axe"); - cobalt_shovel = new ItemToolAbility(3.5F, 0, MainRegistry.tMatCobalt, EnumToolType.SHOVEL) - .addBreakAbility(new ToolAbility.RecursionAbility(4)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(1)).setUnlocalizedName("cobalt_shovel").setTextureName(RefStrings.MODID + ":cobalt_shovel"); - cobalt_hoe = new ModHoe(MainRegistry.tMatCobalt).setUnlocalizedName("cobalt_hoe").setTextureName(RefStrings.MODID + ":cobalt_hoe"); - - ToolMaterial matDecCobalt = EnumHelper.addToolMaterial("HBM_COBALT2", 3, 2500, 15.0F, 2.5F, 75).setRepairItem(new ItemStack(ModItems.ingot_cobalt)); - cobalt_decorated_sword = new ItemSwordAbility(15F, 0, matDecCobalt) - .addHitAbility(new WeaponAbility.BobbleAbility()).setUnlocalizedName("cobalt_decorated_sword").setTextureName(RefStrings.MODID + ":cobalt_decorated_sword"); - cobalt_decorated_pickaxe = new ItemToolAbility(6F, 0, matDecCobalt, EnumToolType.PICKAXE) - .addBreakAbility(new ToolAbility.RecursionAbility(4)) - .addBreakAbility(new ToolAbility.HammerAbility(1)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(3)).setUnlocalizedName("cobalt_decorated_pickaxe").setTextureName(RefStrings.MODID + ":cobalt_decorated_pickaxe"); - cobalt_decorated_axe = new ItemToolAbility(8F, 0, matDecCobalt, EnumToolType.AXE) - .addBreakAbility(new ToolAbility.RecursionAbility(4)) - .addBreakAbility(new ToolAbility.HammerAbility(1)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(3)) - .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("cobalt_decorated_axe").setTextureName(RefStrings.MODID + ":cobalt_decorated_axe"); - cobalt_decorated_shovel = new ItemToolAbility(5F, 0, matDecCobalt, EnumToolType.SHOVEL) - .addBreakAbility(new ToolAbility.RecursionAbility(4)) - .addBreakAbility(new ToolAbility.HammerAbility(1)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(3)).setUnlocalizedName("cobalt_decorated_shovel").setTextureName(RefStrings.MODID + ":cobalt_decorated_shovel"); - cobalt_decorated_hoe = new ModHoe(matDecCobalt).setUnlocalizedName("cobalt_decorated_hoe").setTextureName(RefStrings.MODID + ":cobalt_decorated_hoe"); - - ToolMaterial matStarmetal = EnumHelper.addToolMaterial("HBM_STARMETAL", 3, 3000, 20.0F, 2.5F, 100).setRepairItem(new ItemStack(ModItems.ingot_starmetal)); - starmetal_sword = new ItemSwordAbility(25F, 0, matStarmetal) - .addHitAbility(new WeaponAbility.BeheaderAbility()) - .addHitAbility(new WeaponAbility.StunAbility(3)) - .addHitAbility(new WeaponAbility.BobbleAbility()).setUnlocalizedName("starmetal_sword").setTextureName(RefStrings.MODID + ":starmetal_sword"); - starmetal_pickaxe = new ItemToolAbility(8F, 0, matStarmetal, EnumToolType.PICKAXE) - .addBreakAbility(new ToolAbility.RecursionAbility(6)) - .addBreakAbility(new ToolAbility.HammerAbility(2)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(5)) - .addHitAbility(new WeaponAbility.StunAbility(3)).setUnlocalizedName("starmetal_pickaxe").setTextureName(RefStrings.MODID + ":starmetal_pickaxe"); - starmetal_axe = new ItemToolAbility(12F, 0, matStarmetal, EnumToolType.AXE) - .addBreakAbility(new ToolAbility.RecursionAbility(6)) - .addBreakAbility(new ToolAbility.HammerAbility(2)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(5)) - .addHitAbility(new WeaponAbility.BeheaderAbility()) - .addHitAbility(new WeaponAbility.StunAbility(3)).setUnlocalizedName("starmetal_axe").setTextureName(RefStrings.MODID + ":starmetal_axe"); - starmetal_shovel = new ItemToolAbility(7F, 0, matStarmetal, EnumToolType.SHOVEL) - .addBreakAbility(new ToolAbility.RecursionAbility(6)) - .addBreakAbility(new ToolAbility.HammerAbility(2)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(5)) - .addHitAbility(new WeaponAbility.StunAbility(3)).setUnlocalizedName("starmetal_shovel").setTextureName(RefStrings.MODID + ":starmetal_shovel"); - starmetal_hoe = new ModHoe(matStarmetal).setUnlocalizedName("starmetal_hoe").setTextureName(RefStrings.MODID + ":starmetal_hoe"); - - centri_stick = new ItemToolAbility(3F, 0, MainRegistry.tMatElec, EnumToolType.MINER) - .addBreakAbility(new ToolAbility.CentrifugeAbility()).setMaxDamage(50).setUnlocalizedName("centri_stick").setTextureName(RefStrings.MODID + ":centri_stick"); - smashing_hammer = new ItemToolAbility(12F, -0.1, MainRegistry.tMatSteel, EnumToolType.MINER) - .addBreakAbility(new ToolAbility.ShredderAbility()).setMaxDamage(2500).setUnlocalizedName("smashing_hammer").setTextureName(RefStrings.MODID + ":smashing_hammer"); - drax = new ItemToolAbilityPower(15F, -0.05, MainRegistry.tMatElec, EnumToolType.MINER, 500000000, 100000, 5000) - .addBreakAbility(new ToolAbility.SmelterAbility()) - .addBreakAbility(new ToolAbility.ShredderAbility()) - .addBreakAbility(new ToolAbility.LuckAbility(2)) - .addBreakAbility(new ToolAbility.HammerAbility(1)) - .addBreakAbility(new ToolAbility.HammerAbility(2)) - .addBreakAbility(new ToolAbility.RecursionAbility(5)).setUnlocalizedName("drax").setTextureName(RefStrings.MODID + ":drax"); - drax_mk2 = new ItemToolAbilityPower(20F, -0.05, MainRegistry.tMatElec, EnumToolType.MINER, 1000000000, 250000, 7500) - .addBreakAbility(new ToolAbility.SmelterAbility()) - .addBreakAbility(new ToolAbility.ShredderAbility()) - .addBreakAbility(new ToolAbility.CentrifugeAbility()) - .addBreakAbility(new ToolAbility.LuckAbility(3)) - .addBreakAbility(new ToolAbility.HammerAbility(1)) - .addBreakAbility(new ToolAbility.HammerAbility(2)) - .addBreakAbility(new ToolAbility.HammerAbility(3)) - .addBreakAbility(new ToolAbility.RecursionAbility(7)).setUnlocalizedName("drax_mk2").setTextureName(RefStrings.MODID + ":drax_mk2"); - drax_mk3 = new ItemToolAbilityPower(20F, -0.05, MainRegistry.tMatElec, EnumToolType.MINER, 2500000000L, 500000, 10000) - .addBreakAbility(new ToolAbility.SmelterAbility()) - .addBreakAbility(new ToolAbility.ShredderAbility()) - .addBreakAbility(new ToolAbility.CentrifugeAbility()) - .addBreakAbility(new ToolAbility.CrystallizerAbility()) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new ToolAbility.LuckAbility(4)) - .addBreakAbility(new ToolAbility.HammerAbility(1)) - .addBreakAbility(new ToolAbility.HammerAbility(2)) - .addBreakAbility(new ToolAbility.HammerAbility(3)) - .addBreakAbility(new ToolAbility.HammerAbility(4)) - .addBreakAbility(new ToolAbility.RecursionAbility(9)).setUnlocalizedName("drax_mk3").setTextureName(RefStrings.MODID + ":drax_mk3"); - - ToolMaterial matBismuth = EnumHelper.addToolMaterial("HBM_BISMUTH", 4, 0, 50F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.ingot_bismuth)); - bismuth_pickaxe = new ItemToolAbility(15F, 0, matBismuth, EnumToolType.MINER) - .addBreakAbility(new ToolAbility.HammerAbility(2)) - .addBreakAbility(new ToolAbility.RecursionAbility(4)) - .addBreakAbility(new ToolAbility.ShredderAbility()) - .addBreakAbility(new ToolAbility.LuckAbility(2)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addHitAbility(new WeaponAbility.StunAbility(5)) - .addHitAbility(new WeaponAbility.VampireAbility(2F)) - .addHitAbility(new WeaponAbility.BeheaderAbility()) - .setDepthRockBreaker().setUnlocalizedName("bismuth_pickaxe").setTextureName(RefStrings.MODID + ":bismuth_pickaxe"); - bismuth_axe = new ItemToolAbility(125F, 0, matBismuth, EnumToolType.AXE) - .addBreakAbility(new ToolAbility.HammerAbility(2)) - .addBreakAbility(new ToolAbility.RecursionAbility(4)) - .addBreakAbility(new ToolAbility.ShredderAbility()) - .addBreakAbility(new ToolAbility.LuckAbility(2)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addHitAbility(new WeaponAbility.StunAbility(10)) - .addHitAbility(new WeaponAbility.VampireAbility(3F)) - .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("bismuth_axe").setTextureName(RefStrings.MODID + ":bismuth_axe"); - - - ToolMaterial matVolcano = EnumHelper.addToolMaterial("HBM_VOLCANIC", 4, 0, 50F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.ingot_bismuth)); - volcanic_pickaxe = new ItemToolAbility(15F, 0, matVolcano, EnumToolType.MINER) - .addBreakAbility(new ToolAbility.HammerAbility(2)) - .addBreakAbility(new ToolAbility.RecursionAbility(4)) - .addBreakAbility(new ToolAbility.SmelterAbility()) - .addBreakAbility(new ToolAbility.LuckAbility(3)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addHitAbility(new WeaponAbility.FireAbility(5)) - .addHitAbility(new WeaponAbility.VampireAbility(2F)) - .addHitAbility(new WeaponAbility.BeheaderAbility()) - .setDepthRockBreaker().setUnlocalizedName("volcanic_pickaxe").setTextureName(RefStrings.MODID + ":volcanic_pickaxe"); - volcanic_axe = new ItemToolAbility(125F, 0, matVolcano, EnumToolType.AXE) - .addBreakAbility(new ToolAbility.HammerAbility(2)) - .addBreakAbility(new ToolAbility.RecursionAbility(4)) - .addBreakAbility(new ToolAbility.SmelterAbility()) - .addBreakAbility(new ToolAbility.LuckAbility(3)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addHitAbility(new WeaponAbility.FireAbility(10)) - .addHitAbility(new WeaponAbility.VampireAbility(3F)) - .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("volcanic_axe").setTextureName(RefStrings.MODID + ":volcanic_axe"); - - ToolMaterial matChlorophyte = EnumHelper.addToolMaterial("HBM_CHLOROPHYTE", 4, 0, 75F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.powder_chlorophyte)); - chlorophyte_pickaxe = new ItemToolAbility(20F, 0, matChlorophyte, EnumToolType.MINER) - .addBreakAbility(new ToolAbility.HammerAbility(2)) - .addBreakAbility(new ToolAbility.RecursionAbility(4)) - .addBreakAbility(new ToolAbility.LuckAbility(4)) - .addBreakAbility(new ToolAbility.CentrifugeAbility()) - .addBreakAbility(new ToolAbility.MercuryAbility()) - .addHitAbility(new WeaponAbility.StunAbility(10)) - .addHitAbility(new WeaponAbility.VampireAbility(5F)) - .addHitAbility(new WeaponAbility.BeheaderAbility()) - .setDepthRockBreaker().setUnlocalizedName("chlorophyte_pickaxe").setTextureName(RefStrings.MODID + ":chlorophyte_pickaxe"); - chlorophyte_axe = new ItemToolAbility(175F, 0, matChlorophyte, EnumToolType.AXE) - .addBreakAbility(new ToolAbility.HammerAbility(2)) - .addBreakAbility(new ToolAbility.RecursionAbility(4)) - .addBreakAbility(new ToolAbility.LuckAbility(4)) - .addHitAbility(new WeaponAbility.StunAbility(15)) - .addHitAbility(new WeaponAbility.VampireAbility(10F)) - .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("chlorophyte_axe").setTextureName(RefStrings.MODID + ":chlorophyte_axe"); - - ToolMaterial matMese = EnumHelper.addToolMaterial("HBM_MESE", 4, 0, 100F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.plate_paa)); - mese_pickaxe = new ItemToolAbility(35F, 0, matMese, EnumToolType.MINER) - .addBreakAbility(new ToolAbility.HammerAbility(3)) - .addBreakAbility(new ToolAbility.RecursionAbility(5)) - .addBreakAbility(new ToolAbility.CrystallizerAbility()) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new ToolAbility.LuckAbility(9)) - .addBreakAbility(new ToolAbility.ExplosionAbility(2.5F)) - .addBreakAbility(new ToolAbility.ExplosionAbility(5F)) - .addBreakAbility(new ToolAbility.ExplosionAbility(10F)) - .addBreakAbility(new ToolAbility.ExplosionAbility(15F)) - .addHitAbility(new WeaponAbility.StunAbility(10)) - .addHitAbility(new WeaponAbility.PhosphorusAbility(60)) - .addHitAbility(new WeaponAbility.BeheaderAbility()) - .setDepthRockBreaker().setUnlocalizedName("mese_pickaxe").setTextureName(RefStrings.MODID + ":mese_pickaxe"); - mese_axe = new ItemToolAbility(250F, 0, matMese, EnumToolType.AXE) - .addBreakAbility(new ToolAbility.HammerAbility(3)) - .addBreakAbility(new ToolAbility.RecursionAbility(5)) - .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new ToolAbility.LuckAbility(9)) - .addBreakAbility(new ToolAbility.ExplosionAbility(2.5F)) - .addBreakAbility(new ToolAbility.ExplosionAbility(5F)) - .addBreakAbility(new ToolAbility.ExplosionAbility(10F)) - .addBreakAbility(new ToolAbility.ExplosionAbility(15F)) - .addHitAbility(new WeaponAbility.StunAbility(15)) - .addHitAbility(new WeaponAbility.PhosphorusAbility(90)) - .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("mese_axe").setTextureName(RefStrings.MODID + ":mese_axe"); - - dnt_sword = new ItemSwordAbility(12F, 0, matMese).setUnlocalizedName("dnt_sword").setTextureName(RefStrings.MODID + ":dnt_sword"); - - ToolMaterial matDwarf = EnumHelper.addToolMaterial("HBM_DWARVEN", 2, 0, 4F, 0.0F, 10).setRepairItem(new ItemStack(ModItems.ingot_copper)); - dwarven_pickaxe = new ItemToolAbility(5F, -0.1, matDwarf, EnumToolType.MINER) - .addBreakAbility(new ToolAbility.HammerAbility(1)).setUnlocalizedName("dwarven_pickaxe").setMaxDamage(250).setTextureName(RefStrings.MODID + ":dwarven_pickaxe"); - - ToolMaterial matMeteorite = EnumHelper.addToolMaterial("HBM_METEORITE", 4, 0, 50F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.plate_paa)); - meteorite_sword = new ItemSwordMeteorite(10F, 0, matMeteorite).setUnlocalizedName("meteorite_sword").setTextureName(RefStrings.MODID + ":meteorite_sword"); - meteorite_sword_seared = new ItemSwordMeteorite(15F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_seared").setTextureName(RefStrings.MODID + ":meteorite_sword"); - meteorite_sword_reforged = new ItemSwordMeteorite(25F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_reforged").setTextureName(RefStrings.MODID + ":meteorite_sword"); - meteorite_sword_hardened = new ItemSwordMeteorite(35F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_hardened").setTextureName(RefStrings.MODID + ":meteorite_sword"); - meteorite_sword_alloyed = new ItemSwordMeteorite(50F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_alloyed").setTextureName(RefStrings.MODID + ":meteorite_sword"); - meteorite_sword_machined = new ItemSwordMeteorite(65F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_machined").setTextureName(RefStrings.MODID + ":meteorite_sword"); - meteorite_sword_treated = new ItemSwordMeteorite(80F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_treated").setTextureName(RefStrings.MODID + ":meteorite_sword"); - meteorite_sword_etched = new ItemSwordMeteorite(100F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_etched").setTextureName(RefStrings.MODID + ":meteorite_sword"); - meteorite_sword_bred = new ItemSwordMeteorite(125F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_bred").setTextureName(RefStrings.MODID + ":meteorite_sword"); - meteorite_sword_irradiated = new ItemSwordMeteorite(175F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_irradiated").setTextureName(RefStrings.MODID + ":meteorite_sword"); - meteorite_sword_fused = new ItemSwordMeteorite(250F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_fused").setTextureName(RefStrings.MODID + ":meteorite_sword"); - meteorite_sword_baleful = new ItemSwordMeteorite(500F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_baleful").setTextureName(RefStrings.MODID + ":meteorite_sword"); - - mask_of_infamy = new MaskOfInfamy(ArmorMaterial.IRON, 0).setUnlocalizedName("mask_of_infamy").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mask_of_infamy"); - - hazmat_helmet = new ArmorHazmatMask(MainRegistry.aMatHaz, 0, RefStrings.MODID + ":textures/armor/hazmat_1.png").setUnlocalizedName("hazmat_helmet").setTextureName(RefStrings.MODID + ":hazmat_helmet"); - hazmat_plate = new ArmorHazmat(MainRegistry.aMatHaz, 1, RefStrings.MODID + ":textures/armor/hazmat_1.png").setUnlocalizedName("hazmat_plate").setTextureName(RefStrings.MODID + ":hazmat_plate"); - hazmat_legs = new ArmorHazmat(MainRegistry.aMatHaz, 2, RefStrings.MODID + ":textures/armor/hazmat_2.png").setUnlocalizedName("hazmat_legs").setTextureName(RefStrings.MODID + ":hazmat_legs"); - hazmat_boots = new ArmorHazmat(MainRegistry.aMatHaz, 3, RefStrings.MODID + ":textures/armor/hazmat_1.png").setUnlocalizedName("hazmat_boots").setTextureName(RefStrings.MODID + ":hazmat_boots"); - hazmat_helmet_red = new ArmorHazmatMask(MainRegistry.aMatHaz2, 0, "hbm:textures/models/ModelHazRed.png").setUnlocalizedName("hazmat_helmet_red").setTextureName(RefStrings.MODID + ":hazmat_helmet_red"); - hazmat_plate_red = new ArmorHazmat(MainRegistry.aMatHaz2, 1, RefStrings.MODID + ":textures/armor/hazmat_1_red.png").setUnlocalizedName("hazmat_plate_red").setTextureName(RefStrings.MODID + ":hazmat_plate_red"); - hazmat_legs_red = new ArmorHazmat(MainRegistry.aMatHaz2, 2, RefStrings.MODID + ":textures/armor/hazmat_2_red.png").setUnlocalizedName("hazmat_legs_red").setTextureName(RefStrings.MODID + ":hazmat_legs_red"); - hazmat_boots_red = new ArmorHazmat(MainRegistry.aMatHaz2, 3, RefStrings.MODID + ":textures/armor/hazmat_1_red.png").setUnlocalizedName("hazmat_boots_red").setTextureName(RefStrings.MODID + ":hazmat_boots_red"); - hazmat_helmet_grey = new ArmorHazmatMask(MainRegistry.aMatHaz3, 0, "hbm:textures/models/ModelHazGrey.png") - .setFireproof(true).setUnlocalizedName("hazmat_helmet_grey").setTextureName(RefStrings.MODID + ":hazmat_helmet_grey"); - hazmat_plate_grey = new ArmorHazmat(MainRegistry.aMatHaz3, 1, RefStrings.MODID + ":textures/armor/hazmat_1_grey.png").cloneStats((ArmorFSB) hazmat_helmet_grey).setUnlocalizedName("hazmat_plate_grey").setTextureName(RefStrings.MODID + ":hazmat_plate_grey"); - hazmat_legs_grey = new ArmorHazmat(MainRegistry.aMatHaz3, 2, RefStrings.MODID + ":textures/armor/hazmat_2_grey.png").cloneStats((ArmorFSB) hazmat_helmet_grey).setUnlocalizedName("hazmat_legs_grey").setTextureName(RefStrings.MODID + ":hazmat_legs_grey"); - hazmat_boots_grey = new ArmorHazmat(MainRegistry.aMatHaz3, 3, RefStrings.MODID + ":textures/armor/hazmat_1_grey.png").cloneStats((ArmorFSB) hazmat_helmet_grey).setUnlocalizedName("hazmat_boots_grey").setTextureName(RefStrings.MODID + ":hazmat_boots_grey"); - hazmat_paa_helmet = new ArmorHazmatMask(MainRegistry.aMatPaa, 0, RefStrings.MODID + ":textures/armor/hazmat_paa_1.png") - .setFireproof(true).setUnlocalizedName("hazmat_paa_helmet").setTextureName(RefStrings.MODID + ":hazmat_paa_helmet"); - hazmat_paa_plate = new ArmorHazmat(MainRegistry.aMatPaa, 1, RefStrings.MODID + ":textures/armor/hazmat_paa_1.png").cloneStats((ArmorFSB) hazmat_paa_helmet).setUnlocalizedName("hazmat_paa_plate").setTextureName(RefStrings.MODID + ":hazmat_paa_plate"); - hazmat_paa_legs = new ArmorHazmat(MainRegistry.aMatPaa, 2, RefStrings.MODID + ":textures/armor/hazmat_paa_2.png").cloneStats((ArmorFSB) hazmat_paa_helmet).setUnlocalizedName("hazmat_paa_legs").setTextureName(RefStrings.MODID + ":hazmat_paa_legs"); - hazmat_paa_boots = new ArmorHazmat(MainRegistry.aMatPaa, 3, RefStrings.MODID + ":textures/armor/hazmat_paa_1.png").cloneStats((ArmorFSB) hazmat_paa_helmet).setUnlocalizedName("hazmat_paa_boots").setTextureName(RefStrings.MODID + ":hazmat_paa_boots"); - - ArmorMaterial aMatLiquidator = EnumHelper.addArmorMaterial("HBM_LIQUIDATOR", 750, new int[] { 3, 8, 6, 3 }, 10); - aMatLiquidator.customCraftingMaterial = ModItems.plate_lead; - liquidator_helmet = new ArmorLiquidatorMask(aMatLiquidator, 0, RefStrings.MODID + ":textures/armor/liquidator_helmet.png") - .setThreshold(1.0F) - .setBlastProtection(0.25F) - .setFireproof(true) - .setStep("hbm:step.metal") - .setJump("hbm:step.iron_jump") - .setFall("hbm:step.iron_land").setUnlocalizedName("liquidator_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":liquidator_helmet"); - liquidator_plate = new ArmorLiquidator(aMatLiquidator, 1, RefStrings.MODID + ":textures/armor/liquidator_1.png").cloneStats((ArmorFSB) liquidator_helmet).setUnlocalizedName("liquidator_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":liquidator_plate"); - liquidator_legs = new ArmorLiquidator(aMatLiquidator, 2, RefStrings.MODID + ":textures/armor/liquidator_2.png").cloneStats((ArmorFSB) liquidator_helmet).setUnlocalizedName("liquidator_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":liquidator_legs"); - liquidator_boots = new ArmorLiquidator(aMatLiquidator, 3, RefStrings.MODID + ":textures/armor/liquidator_1.png").cloneStats((ArmorFSB) liquidator_helmet).setUnlocalizedName("liquidator_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":liquidator_boots"); - - jetpack_boost = new JetpackBooster(Fluids.BALEFIRE, 32000).setUnlocalizedName("jetpack_boost").setCreativeTab(CreativeTabs.tabCombat).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_boost"); - jetpack_break = new JetpackBreak(Fluids.KEROSENE, 12000).setUnlocalizedName("jetpack_break").setCreativeTab(CreativeTabs.tabCombat).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_break"); - jetpack_fly = new JetpackRegular(Fluids.KEROSENE, 12000).setUnlocalizedName("jetpack_fly").setCreativeTab(CreativeTabs.tabCombat).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_fly"); - jetpack_vector = new JetpackVectorized(Fluids.KEROSENE, 16000).setUnlocalizedName("jetpack_vector").setCreativeTab(CreativeTabs.tabCombat).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_vector"); - wings_murk = new WingsMurk(MainRegistry.aMatCobalt).setUnlocalizedName("wings_murk").setCreativeTab(CreativeTabs.tabCombat).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":wings_murk"); - wings_limp = new WingsMurk(MainRegistry.aMatCobalt).setUnlocalizedName("wings_limp").setCreativeTab(CreativeTabs.tabCombat).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":wings_limp"); - - cape_radiation = new ArmorModel(ArmorMaterial.CHAIN, 1).setUnlocalizedName("cape_radiation").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_radiation"); - cape_gasmask = new ArmorModel(ArmorMaterial.CHAIN, 1).setUnlocalizedName("cape_gasmask").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_gasmask"); - cape_schrabidium = new ArmorModel(MainRegistry.aMatSchrab, 1).setUnlocalizedName("cape_schrabidium").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_schrabidium"); - cape_hidden = new ArmorModel(ArmorMaterial.CHAIN, 1).setUnlocalizedName("cape_hidden").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_unknown"); - - schrabidium_hammer = new WeaponSpecial(MainRegistry.tMatHammmer).setUnlocalizedName("schrabidium_hammer").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":schrabidium_hammer"); - shimmer_sledge = new WeaponSpecial(MainRegistry.enumToolMaterialSledge).setUnlocalizedName("shimmer_sledge").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":shimmer_sledge_original"); - shimmer_axe = new WeaponSpecial(MainRegistry.enumToolMaterialSledge).setUnlocalizedName("shimmer_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":shimmer_axe"); - bottle_opener = new WeaponSpecial(MainRegistry.enumToolMaterialBottleOpener).setUnlocalizedName("bottle_opener").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":bottle_opener"); - pch = new WeaponSpecial(MainRegistry.tMatHammmer).setUnlocalizedName("pch").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":schrabidium_hammer"); - matchstick = new ItemMatch().setUnlocalizedName("matchstick").setCreativeTab(CreativeTabs.tabTools).setFull3D().setTextureName(RefStrings.MODID + ":matchstick"); - balefire_and_steel = new ItemBalefireMatch().setUnlocalizedName("balefire_and_steel").setCreativeTab(CreativeTabs.tabTools).setFull3D().setTextureName(RefStrings.MODID + ":balefire_and_steel"); - crowbar = new ModSword(MainRegistry.tMatSteel).setUnlocalizedName("crowbar").setFull3D().setTextureName(RefStrings.MODID + ":crowbar"); - wrench = new WeaponSpecial(MainRegistry.tMatSteel).setUnlocalizedName("wrench").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":wrench"); - wrench_flipped = new WeaponSpecial(MainRegistry.tMatElec).setUnlocalizedName("wrench_flipped").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":wrench_flipped"); - memespoon = new WeaponSpecial(MainRegistry.tMatSteel).setUnlocalizedName("memespoon").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":memespoon"); - wood_gavel = new WeaponSpecial(ToolMaterial.WOOD).setUnlocalizedName("wood_gavel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":wood_gavel"); - lead_gavel = new WeaponSpecial(MainRegistry.tMatSteel).setUnlocalizedName("lead_gavel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":lead_gavel"); - diamond_gavel = new WeaponSpecial(ToolMaterial.EMERALD).setUnlocalizedName("diamond_gavel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":diamond_gavel"); - ToolMaterial matMeseGavel = EnumHelper.addToolMaterial("HBM_MESEGAVEL", 4, 0, 50F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.plate_paa)); - mese_gavel = new ItemSwordAbility(250, 1.5, matMeseGavel) - .addHitAbility(new WeaponAbility.PhosphorusAbility(60)) - .addHitAbility(new WeaponAbility.RadiationAbility(500)) - .addHitAbility(new WeaponAbility.StunAbility(10)) - .addHitAbility(new WeaponAbility.VampireAbility(50)) - .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("mese_gavel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mese_gavel"); - - multitool_hit = new ItemMultitoolPassive().setUnlocalizedName("multitool_hit").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_fist"); - multitool_dig = new ItemMultitoolTool(4.0F, MainRegistry.enumToolMaterialMultitool, ItemMultitoolTool.getAllBlocks()).setFull3D().setUnlocalizedName("multitool_dig").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":multitool_claw"); - multitool_silk = new ItemMultitoolTool(4.0F, MainRegistry.enumToolMaterialMultitool, ItemMultitoolTool.getAllBlocks()).setFull3D().setUnlocalizedName("multitool_silk").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_claw"); - multitool_ext = new ItemMultitoolPassive().setUnlocalizedName("multitool_ext").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_open"); - multitool_miner = new ItemMultitoolPassive().setUnlocalizedName("multitool_miner").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_pointer"); - multitool_beam = new ItemMultitoolPassive().setUnlocalizedName("multitool_beam").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_pointer"); - multitool_sky= new ItemMultitoolPassive().setUnlocalizedName("multitool_sky").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_open"); - multitool_mega = new ItemMultitoolPassive().setUnlocalizedName("multitool_mega").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_fist"); - multitool_joule = new ItemMultitoolPassive().setUnlocalizedName("multitool_joule").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_fist"); - multitool_decon = new ItemMultitoolPassive().setUnlocalizedName("multitool_decon").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_fist"); - - saw = new ModSword(MainRegistry.enumToolMaterialSaw).setUnlocalizedName("weapon_saw").setFull3D().setTextureName(RefStrings.MODID + ":saw"); - bat = new ModSword(MainRegistry.enumToolMaterialBat).setUnlocalizedName("weapon_bat").setFull3D().setTextureName(RefStrings.MODID + ":bat"); - bat_nail = new ModSword(MainRegistry.enumToolMaterialBatNail).setUnlocalizedName("weapon_bat_nail").setFull3D().setTextureName(RefStrings.MODID + ":bat_nail"); - golf_club = new ModSword(MainRegistry.enumToolMaterialGolfClub).setUnlocalizedName("weapon_golf_club").setFull3D().setTextureName(RefStrings.MODID + ":golf_club"); - pipe_rusty = new ModSword(MainRegistry.enumToolMaterialPipeRusty).setUnlocalizedName("weapon_pipe_rusty").setFull3D().setTextureName(RefStrings.MODID + ":pipe_rusty"); - pipe_lead = new ModSword(MainRegistry.enumToolMaterialPipeLead).setUnlocalizedName("weapon_pipe_lead").setFull3D().setTextureName(RefStrings.MODID + ":pipe_lead"); - reer_graar = new ModSword(MainRegistry.tMatTitan).setUnlocalizedName("reer_graar").setFull3D().setTextureName(RefStrings.MODID + ":reer_graar_hd"); - stopsign = new WeaponSpecial(MainRegistry.tMatAlloy).setUnlocalizedName("stopsign").setTextureName(RefStrings.MODID + ":stopsign"); - sopsign = new WeaponSpecial(MainRegistry.tMatAlloy).setUnlocalizedName("sopsign").setTextureName(RefStrings.MODID + ":sopsign"); - chernobylsign = new WeaponSpecial(MainRegistry.tMatAlloy).setUnlocalizedName("chernobylsign").setTextureName(RefStrings.MODID + ":chernobylsign"); - - crystal_horn = new ItemCustomLore().setUnlocalizedName("crystal_horn").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_horn"); - crystal_charred = new ItemCustomLore().setUnlocalizedName("crystal_charred").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_charred"); - - bucket_mud = new ItemModBucket(ModBlocks.mud_block).setUnlocalizedName("bucket_mud").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_mud"); - bucket_acid = new ItemModBucket(ModBlocks.acid_block).setUnlocalizedName("bucket_acid").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_acid"); - bucket_toxic = new ItemModBucket(ModBlocks.toxic_block).setUnlocalizedName("bucket_toxic").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_toxic"); - bucket_schrabidic_acid = new ItemModBucket(ModBlocks.schrabidic_block).setUnlocalizedName("bucket_schrabidic_acid").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_schrabidic_acid"); - bucket_sulfuric_acid = new ItemModBucket(ModBlocks.sulfuric_acid_block).setUnlocalizedName("bucket_sulfuric_acid").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_sulfuric_acid"); - - door_metal = new ItemModDoor().setUnlocalizedName("door_metal").setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":door_metal"); - door_office = new ItemModDoor().setUnlocalizedName("door_office").setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":door_office"); - door_bunker = new ItemModDoor().setUnlocalizedName("door_bunker").setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":door_bunker"); - door_red = new ItemModDoor().setUnlocalizedName("door_red").setCreativeTab(null).setTextureName(RefStrings.MODID + ":door_red"); - - sliding_blast_door_skin = new ItemSlidingBlastDoorSkin().setUnlocalizedName("sliding_blast_door_skin").setCreativeTab(CreativeTabs.tabMisc).setTextureName(RefStrings.MODID + ":sliding_blast_door_default"); - - record_lc = new ItemModRecord("lc").setUnlocalizedName("record_lc").setCreativeTab(CreativeTabs.tabMisc).setTextureName(RefStrings.MODID + ":record_lc"); - record_ss = new ItemModRecord("ss").setUnlocalizedName("record_ss").setCreativeTab(CreativeTabs.tabMisc).setTextureName(RefStrings.MODID + ":record_ss"); - record_vc = new ItemModRecord("vc").setUnlocalizedName("record_vc").setCreativeTab(CreativeTabs.tabMisc).setTextureName(RefStrings.MODID + ":record_vc"); - record_glass = new ItemModRecord("glass").setUnlocalizedName("record_glass").setCreativeTab(null).setTextureName(RefStrings.MODID + ":record_glass"); - - book_guide = new ItemGuideBook().setUnlocalizedName("book_guide").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":book_guide"); - book_lore = new ItemBookLore().setUnlocalizedName("book_lore").setCreativeTab(null).setTextureName(RefStrings.MODID + ":book_pages"); - holotape_image = new ItemHolotapeImage().setUnlocalizedName("holotape_image").setCreativeTab(null).setTextureName(RefStrings.MODID + ":holotape"); - holotape_damaged = new Item().setUnlocalizedName("holotape_damaged").setCreativeTab(null).setTextureName(RefStrings.MODID + ":holotape_damaged"); - - polaroid = new ItemPolaroid().setUnlocalizedName("polaroid").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":polaroid_" + MainRegistry.polaroidID); - glitch = new ItemGlitch().setUnlocalizedName("glitch").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":glitch_" + MainRegistry.polaroidID); - letter = new ItemStarterKit().setUnlocalizedName("letter").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":letter"); - book_secret = new ItemCustomLore().setUnlocalizedName("book_secret").setCreativeTab(MainRegistry.polaroidID == 11 ? MainRegistry.consumableTab : null).setTextureName(RefStrings.MODID + ":book_secret"); - book_of_ = new ItemBook().setUnlocalizedName("book_of_").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":book_of_"); - page_of_ = new ItemEnumMulti(ItemEnums.EnumPages.class, true, false).setUnlocalizedName("page_of_").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":page_of_"); - book_lemegeton = new ItemBookLemegeton().setUnlocalizedName("book_lemegeton").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":book_lemegeton"); - burnt_bark = new ItemCustomLore().setUnlocalizedName("burnt_bark").setCreativeTab(null).setTextureName(RefStrings.MODID + ":burnt_bark"); - - b_smoke1 = new Item().setUnlocalizedName("b_smoke1").setTextureName(RefStrings.MODID + ":b_smoke1"); - b_smoke2 = new Item().setUnlocalizedName("b_smoke2").setTextureName(RefStrings.MODID + ":b_smoke2"); - b_smoke3 = new Item().setUnlocalizedName("b_smoke3").setTextureName(RefStrings.MODID + ":b_smoke3"); - b_smoke4 = new Item().setUnlocalizedName("b_smoke4").setTextureName(RefStrings.MODID + ":b_smoke4"); - b_smoke5 = new Item().setUnlocalizedName("b_smoke5").setTextureName(RefStrings.MODID + ":b_smoke5"); - b_smoke6 = new Item().setUnlocalizedName("b_smoke6").setTextureName(RefStrings.MODID + ":b_smoke6"); - b_smoke7 = new Item().setUnlocalizedName("b_smoke7").setTextureName(RefStrings.MODID + ":b_smoke7"); - b_smoke8 = new Item().setUnlocalizedName("b_smoke8").setTextureName(RefStrings.MODID + ":b_smoke8"); - chlorine1 = new Item().setUnlocalizedName("chlorine1").setTextureName(RefStrings.MODID + ":chlorine1"); - chlorine2 = new Item().setUnlocalizedName("chlorine2").setTextureName(RefStrings.MODID + ":chlorine2"); - chlorine3 = new Item().setUnlocalizedName("chlorine3").setTextureName(RefStrings.MODID + ":chlorine3"); - chlorine4 = new Item().setUnlocalizedName("chlorine4").setTextureName(RefStrings.MODID + ":chlorine4"); - chlorine5 = new Item().setUnlocalizedName("chlorine5").setTextureName(RefStrings.MODID + ":chlorine5"); - chlorine6 = new Item().setUnlocalizedName("chlorine6").setTextureName(RefStrings.MODID + ":chlorine6"); - chlorine7 = new Item().setUnlocalizedName("chlorine7").setTextureName(RefStrings.MODID + ":chlorine7"); - chlorine8 = new Item().setUnlocalizedName("chlorine8").setTextureName(RefStrings.MODID + ":chlorine8"); - pc1 = new Item().setUnlocalizedName("pc1").setTextureName(RefStrings.MODID + ":pc1"); - pc2 = new Item().setUnlocalizedName("pc2").setTextureName(RefStrings.MODID + ":pc2"); - pc3 = new Item().setUnlocalizedName("pc3").setTextureName(RefStrings.MODID + ":pc3"); - pc4 = new Item().setUnlocalizedName("pc4").setTextureName(RefStrings.MODID + ":pc4"); - pc5 = new Item().setUnlocalizedName("pc5").setTextureName(RefStrings.MODID + ":pc5"); - pc6 = new Item().setUnlocalizedName("pc6").setTextureName(RefStrings.MODID + ":pc6"); - pc7 = new Item().setUnlocalizedName("pc7").setTextureName(RefStrings.MODID + ":pc7"); - pc8 = new Item().setUnlocalizedName("pc8").setTextureName(RefStrings.MODID + ":pc8"); - cloud1 = new Item().setUnlocalizedName("cloud1").setTextureName(RefStrings.MODID + ":cloud1"); - cloud2 = new Item().setUnlocalizedName("cloud2").setTextureName(RefStrings.MODID + ":cloud2"); - cloud3 = new Item().setUnlocalizedName("cloud3").setTextureName(RefStrings.MODID + ":cloud3"); - cloud4 = new Item().setUnlocalizedName("cloud4").setTextureName(RefStrings.MODID + ":cloud4"); - cloud5 = new Item().setUnlocalizedName("cloud5").setTextureName(RefStrings.MODID + ":cloud5"); - cloud6 = new Item().setUnlocalizedName("cloud6").setTextureName(RefStrings.MODID + ":cloud6"); - cloud7 = new Item().setUnlocalizedName("cloud7").setTextureName(RefStrings.MODID + ":cloud7"); - cloud8 = new Item().setUnlocalizedName("cloud8").setTextureName(RefStrings.MODID + ":cloud8"); - orange1 = new Item().setUnlocalizedName("orange1").setTextureName(RefStrings.MODID + ":orange1"); - orange2 = new Item().setUnlocalizedName("orange2").setTextureName(RefStrings.MODID + ":orange2"); - orange3 = new Item().setUnlocalizedName("orange3").setTextureName(RefStrings.MODID + ":orange3"); - orange4 = new Item().setUnlocalizedName("orange4").setTextureName(RefStrings.MODID + ":orange4"); - orange5 = new Item().setUnlocalizedName("orange5").setTextureName(RefStrings.MODID + ":orange5"); - orange6 = new Item().setUnlocalizedName("orange6").setTextureName(RefStrings.MODID + ":orange6"); - orange7 = new Item().setUnlocalizedName("orange7").setTextureName(RefStrings.MODID + ":orange7"); - orange8 = new Item().setUnlocalizedName("orange8").setTextureName(RefStrings.MODID + ":orange8"); - flame_1 = new Item().setUnlocalizedName("flame_1").setTextureName(RefStrings.MODID + ":flame_1"); - flame_2 = new Item().setUnlocalizedName("flame_2").setTextureName(RefStrings.MODID + ":flame_2"); - flame_3 = new Item().setUnlocalizedName("flame_3").setTextureName(RefStrings.MODID + ":flame_3"); - flame_4 = new Item().setUnlocalizedName("flame_4").setTextureName(RefStrings.MODID + ":flame_4"); - flame_5 = new Item().setUnlocalizedName("flame_5").setTextureName(RefStrings.MODID + ":flame_5"); - flame_6 = new Item().setUnlocalizedName("flame_6").setTextureName(RefStrings.MODID + ":flame_6"); - flame_7 = new Item().setUnlocalizedName("flame_7").setTextureName(RefStrings.MODID + ":flame_7"); - flame_8 = new Item().setUnlocalizedName("flame_8").setTextureName(RefStrings.MODID + ":flame_8"); - flame_9 = new Item().setUnlocalizedName("flame_9").setTextureName(RefStrings.MODID + ":flame_9"); - flame_10 = new Item().setUnlocalizedName("flame_10").setTextureName(RefStrings.MODID + ":flame_10"); - ln2_1 = new Item().setUnlocalizedName("ln2_1").setTextureName(RefStrings.MODID + ":ln2_1"); - ln2_2 = new Item().setUnlocalizedName("ln2_2").setTextureName(RefStrings.MODID + ":ln2_2"); - ln2_3 = new Item().setUnlocalizedName("ln2_3").setTextureName(RefStrings.MODID + ":ln2_3"); - ln2_4 = new Item().setUnlocalizedName("ln2_4").setTextureName(RefStrings.MODID + ":ln2_4"); - ln2_5 = new Item().setUnlocalizedName("ln2_5").setTextureName(RefStrings.MODID + ":ln2_5"); - ln2_6 = new Item().setUnlocalizedName("ln2_6").setTextureName(RefStrings.MODID + ":ln2_6"); - ln2_7 = new Item().setUnlocalizedName("ln2_7").setTextureName(RefStrings.MODID + ":ln2_7"); - ln2_8 = new Item().setUnlocalizedName("ln2_8").setTextureName(RefStrings.MODID + ":ln2_8"); - ln2_9 = new Item().setUnlocalizedName("ln2_9").setTextureName(RefStrings.MODID + ":ln2_9"); - ln2_10 = new Item().setUnlocalizedName("ln2_10").setTextureName(RefStrings.MODID + ":ln2_10"); - nothing = new Item().setUnlocalizedName("nothing").setTextureName(RefStrings.MODID + ":nothing"); - - - achievement_icon = new ItemEnumMulti(ItemEnums.EnumAchievementType.class, true, true).setUnlocalizedName("achievement_icon"); - bob_metalworks = new Item().setUnlocalizedName("bob_metalworks").setTextureName(RefStrings.MODID + ":bob_metalworks"); - bob_assembly = new Item().setUnlocalizedName("bob_assembly").setTextureName(RefStrings.MODID + ":bob_assembly"); - bob_chemistry = new Item().setUnlocalizedName("bob_chemistry").setTextureName(RefStrings.MODID + ":bob_chemistry"); - bob_oil = new Item().setUnlocalizedName("bob_oil").setTextureName(RefStrings.MODID + ":bob_oil"); - bob_nuclear = new Item().setUnlocalizedName("bob_nuclear").setTextureName(RefStrings.MODID + ":bob_nuclear"); - - mysteryshovel = new ItemMS().setUnlocalizedName("mysteryshovel").setFull3D().setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cursed_shovel"); - memory = new ItemBattery(Long.MAX_VALUE / 100L, 100000000000000L, 100000000000000L).setUnlocalizedName("memory").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mo8_anim"); - - FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.mud_fluid, 1000), new ItemStack(ModItems.bucket_mud), new ItemStack(Items.bucket)); - FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.acid_fluid, 1000), new ItemStack(ModItems.bucket_acid), new ItemStack(Items.bucket)); - FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.toxic_fluid, 1000), new ItemStack(ModItems.bucket_toxic), new ItemStack(Items.bucket)); - FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.schrabidic_fluid, 1000), new ItemStack(ModItems.bucket_schrabidic_acid), new ItemStack(Items.bucket)); - FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.sulfuric_acid_fluid, 1000), new ItemStack(ModItems.bucket_sulfuric_acid), new ItemStack(Items.bucket)); - BucketHandler.INSTANCE.buckets.put(ModBlocks.mud_block, ModItems.bucket_mud); - BucketHandler.INSTANCE.buckets.put(ModBlocks.acid_block, ModItems.bucket_acid); - BucketHandler.INSTANCE.buckets.put(ModBlocks.toxic_block, ModItems.bucket_toxic); - BucketHandler.INSTANCE.buckets.put(ModBlocks.schrabidic_block, ModItems.bucket_schrabidic_acid); - BucketHandler.INSTANCE.buckets.put(ModBlocks.sulfuric_acid_block, ModItems.bucket_sulfuric_acid); - MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE); - } - - private static void registerItem() { - //Weapons - GameRegistry.registerItem(redstone_sword, redstone_sword.getUnlocalizedName()); - GameRegistry.registerItem(big_sword, big_sword.getUnlocalizedName()); - - //Test Nuke - GameRegistry.registerItem(test_nuke_igniter, test_nuke_igniter.getUnlocalizedName()); - GameRegistry.registerItem(test_nuke_propellant, test_nuke_propellant.getUnlocalizedName()); - GameRegistry.registerItem(test_nuke_tier1_shielding, test_nuke_tier1_shielding.getUnlocalizedName()); - GameRegistry.registerItem(test_nuke_tier2_shielding, test_nuke_tier2_shielding.getUnlocalizedName()); - GameRegistry.registerItem(test_nuke_tier1_bullet, test_nuke_tier1_bullet.getUnlocalizedName()); - GameRegistry.registerItem(test_nuke_tier2_bullet, test_nuke_tier2_bullet.getUnlocalizedName()); - GameRegistry.registerItem(test_nuke_tier1_target, test_nuke_tier1_target.getUnlocalizedName()); - GameRegistry.registerItem(test_nuke_tier2_target, test_nuke_tier2_target.getUnlocalizedName()); - - //Ingots - GameRegistry.registerItem(ingot_uranium, ingot_uranium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_u233, ingot_u233.getUnlocalizedName()); - GameRegistry.registerItem(ingot_u235, ingot_u235.getUnlocalizedName()); - GameRegistry.registerItem(ingot_u238, ingot_u238.getUnlocalizedName()); - GameRegistry.registerItem(ingot_u238m2, ingot_u238m2.getUnlocalizedName()); - GameRegistry.registerItem(ingot_th232, ingot_th232.getUnlocalizedName()); - GameRegistry.registerItem(ingot_plutonium, ingot_plutonium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_pu238, ingot_pu238.getUnlocalizedName()); - GameRegistry.registerItem(ingot_pu239, ingot_pu239.getUnlocalizedName()); - GameRegistry.registerItem(ingot_pu240, ingot_pu240.getUnlocalizedName()); - GameRegistry.registerItem(ingot_pu241, ingot_pu241.getUnlocalizedName()); - GameRegistry.registerItem(ingot_pu_mix, ingot_pu_mix.getUnlocalizedName()); - GameRegistry.registerItem(ingot_am241, ingot_am241.getUnlocalizedName()); - GameRegistry.registerItem(ingot_am242, ingot_am242.getUnlocalizedName()); - GameRegistry.registerItem(ingot_am_mix, ingot_am_mix.getUnlocalizedName()); - GameRegistry.registerItem(ingot_neptunium, ingot_neptunium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_polonium, ingot_polonium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_technetium, ingot_technetium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_co60, ingot_co60.getUnlocalizedName()); - GameRegistry.registerItem(ingot_sr90, ingot_sr90.getUnlocalizedName()); - GameRegistry.registerItem(ingot_au198, ingot_au198.getUnlocalizedName()); - GameRegistry.registerItem(ingot_pb209, ingot_pb209.getUnlocalizedName()); - GameRegistry.registerItem(ingot_ra226, ingot_ra226.getUnlocalizedName()); - GameRegistry.registerItem(ingot_titanium, ingot_titanium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_copper, ingot_copper.getUnlocalizedName()); - GameRegistry.registerItem(ingot_red_copper, ingot_red_copper.getUnlocalizedName()); - GameRegistry.registerItem(ingot_advanced_alloy, ingot_advanced_alloy.getUnlocalizedName()); - GameRegistry.registerItem(ingot_tungsten, ingot_tungsten.getUnlocalizedName()); - GameRegistry.registerItem(ingot_aluminium, ingot_aluminium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_steel, ingot_steel.getUnlocalizedName()); - GameRegistry.registerItem(ingot_tcalloy, ingot_tcalloy.getUnlocalizedName()); - GameRegistry.registerItem(ingot_cdalloy, ingot_cdalloy.getUnlocalizedName()); - GameRegistry.registerItem(ingot_bismuth_bronze, ingot_bismuth_bronze.getUnlocalizedName()); - GameRegistry.registerItem(ingot_arsenic_bronze, ingot_arsenic_bronze.getUnlocalizedName()); - GameRegistry.registerItem(ingot_bscco, ingot_bscco.getUnlocalizedName()); - GameRegistry.registerItem(ingot_lead, ingot_lead.getUnlocalizedName()); - GameRegistry.registerItem(ingot_bismuth, ingot_bismuth.getUnlocalizedName()); - GameRegistry.registerItem(ingot_arsenic, ingot_arsenic.getUnlocalizedName()); - GameRegistry.registerItem(ingot_calcium, ingot_calcium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_cadmium, ingot_cadmium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_tantalium, ingot_tantalium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_silicon, ingot_silicon.getUnlocalizedName()); - GameRegistry.registerItem(ingot_niobium, ingot_niobium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_beryllium, ingot_beryllium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_cobalt, ingot_cobalt.getUnlocalizedName()); - GameRegistry.registerItem(ingot_boron, ingot_boron.getUnlocalizedName()); - GameRegistry.registerItem(ingot_graphite, ingot_graphite.getUnlocalizedName()); - GameRegistry.registerItem(ingot_firebrick, ingot_firebrick.getUnlocalizedName()); - GameRegistry.registerItem(ingot_dura_steel, ingot_dura_steel.getUnlocalizedName()); - GameRegistry.registerItem(ingot_polymer, ingot_polymer.getUnlocalizedName()); - GameRegistry.registerItem(ingot_bakelite, ingot_bakelite.getUnlocalizedName()); - GameRegistry.registerItem(ingot_biorubber, ingot_biorubber.getUnlocalizedName()); - GameRegistry.registerItem(ingot_rubber, ingot_rubber.getUnlocalizedName()); - GameRegistry.registerItem(ingot_pc, ingot_pc.getUnlocalizedName()); - GameRegistry.registerItem(ingot_pvc, ingot_pvc.getUnlocalizedName()); - GameRegistry.registerItem(ingot_mud, ingot_mud.getUnlocalizedName()); - GameRegistry.registerItem(ingot_cft, ingot_cft.getUnlocalizedName()); - GameRegistry.registerItem(ingot_schraranium, ingot_schraranium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_schrabidium, ingot_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_schrabidate, ingot_schrabidate.getUnlocalizedName()); - GameRegistry.registerItem(ingot_magnetized_tungsten, ingot_magnetized_tungsten.getUnlocalizedName()); - GameRegistry.registerItem(ingot_combine_steel, ingot_combine_steel.getUnlocalizedName()); - GameRegistry.registerItem(ingot_solinium, ingot_solinium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_gh336, ingot_gh336.getUnlocalizedName()); - GameRegistry.registerItem(ingot_uranium_fuel, ingot_uranium_fuel.getUnlocalizedName()); - GameRegistry.registerItem(ingot_thorium_fuel, ingot_thorium_fuel.getUnlocalizedName()); - GameRegistry.registerItem(ingot_plutonium_fuel, ingot_plutonium_fuel.getUnlocalizedName()); - GameRegistry.registerItem(ingot_neptunium_fuel, ingot_neptunium_fuel.getUnlocalizedName()); - GameRegistry.registerItem(ingot_mox_fuel, ingot_mox_fuel.getUnlocalizedName()); - GameRegistry.registerItem(ingot_americium_fuel, ingot_americium_fuel.getUnlocalizedName()); - GameRegistry.registerItem(ingot_schrabidium_fuel, ingot_schrabidium_fuel.getUnlocalizedName()); - GameRegistry.registerItem(ingot_hes, ingot_hes.getUnlocalizedName()); - GameRegistry.registerItem(ingot_les, ingot_les.getUnlocalizedName()); - GameRegistry.registerItem(ingot_australium, ingot_australium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_weidanium, ingot_weidanium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_reiium, ingot_reiium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_unobtainium, ingot_unobtainium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_daffergon, ingot_daffergon.getUnlocalizedName()); - GameRegistry.registerItem(ingot_verticium, ingot_verticium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_lanthanium, ingot_lanthanium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_actinium, ingot_actinium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_desh, ingot_desh.getUnlocalizedName()); - GameRegistry.registerItem(ingot_ferrouranium, ingot_ferrouranium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_starmetal, ingot_starmetal.getUnlocalizedName()); - GameRegistry.registerItem(ingot_saturnite, ingot_saturnite.getUnlocalizedName()); - GameRegistry.registerItem(ingot_euphemium, ingot_euphemium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_dineutronium, ingot_dineutronium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_electronium, ingot_electronium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_smore, ingot_smore.getUnlocalizedName()); - GameRegistry.registerItem(ingot_osmiridium, ingot_osmiridium.getUnlocalizedName()); - - //Meteorite Ingots - GameRegistry.registerItem(ingot_steel_dusted, ingot_steel_dusted.getUnlocalizedName()); - GameRegistry.registerItem(ingot_chainsteel, ingot_chainsteel.getUnlocalizedName()); - GameRegistry.registerItem(ingot_meteorite, ingot_meteorite.getUnlocalizedName()); - GameRegistry.registerItem(ingot_meteorite_forged, ingot_meteorite_forged.getUnlocalizedName()); - GameRegistry.registerItem(blade_meteorite, blade_meteorite.getUnlocalizedName()); - - //Misc Ingots - GameRegistry.registerItem(ingot_phosphorus, ingot_phosphorus.getUnlocalizedName()); - GameRegistry.registerItem(lithium, lithium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_zirconium, ingot_zirconium.getUnlocalizedName()); - GameRegistry.registerItem(ingot_semtex, ingot_semtex.getUnlocalizedName()); - GameRegistry.registerItem(ingot_c4, ingot_c4.getUnlocalizedName()); - GameRegistry.registerItem(oil_tar, oil_tar.getUnlocalizedName()); - GameRegistry.registerItem(solid_fuel, solid_fuel.getUnlocalizedName()); - GameRegistry.registerItem(solid_fuel_presto, solid_fuel_presto.getUnlocalizedName()); - GameRegistry.registerItem(solid_fuel_presto_triplet, solid_fuel_presto_triplet.getUnlocalizedName()); - GameRegistry.registerItem(solid_fuel_bf, solid_fuel_bf.getUnlocalizedName()); - GameRegistry.registerItem(solid_fuel_presto_bf, solid_fuel_presto_bf.getUnlocalizedName()); - GameRegistry.registerItem(solid_fuel_presto_triplet_bf, solid_fuel_presto_triplet_bf.getUnlocalizedName()); - GameRegistry.registerItem(rocket_fuel, rocket_fuel.getUnlocalizedName()); - GameRegistry.registerItem(ingot_fiberglass, ingot_fiberglass.getUnlocalizedName()); - GameRegistry.registerItem(ingot_asbestos, ingot_asbestos.getUnlocalizedName()); - - //Billets - GameRegistry.registerItem(billet_uranium, billet_uranium.getUnlocalizedName()); - GameRegistry.registerItem(billet_u233, billet_u233.getUnlocalizedName()); - GameRegistry.registerItem(billet_u235, billet_u235.getUnlocalizedName()); - GameRegistry.registerItem(billet_u238, billet_u238.getUnlocalizedName()); - GameRegistry.registerItem(billet_th232, billet_th232.getUnlocalizedName()); - GameRegistry.registerItem(billet_plutonium, billet_plutonium.getUnlocalizedName()); - GameRegistry.registerItem(billet_pu238, billet_pu238.getUnlocalizedName()); - GameRegistry.registerItem(billet_pu239, billet_pu239.getUnlocalizedName()); - GameRegistry.registerItem(billet_pu240, billet_pu240.getUnlocalizedName()); - GameRegistry.registerItem(billet_pu241, billet_pu241.getUnlocalizedName()); - GameRegistry.registerItem(billet_pu_mix, billet_pu_mix.getUnlocalizedName()); - GameRegistry.registerItem(billet_am241, billet_am241.getUnlocalizedName()); - GameRegistry.registerItem(billet_am242, billet_am242.getUnlocalizedName()); - GameRegistry.registerItem(billet_am_mix, billet_am_mix.getUnlocalizedName()); - GameRegistry.registerItem(billet_neptunium, billet_neptunium.getUnlocalizedName()); - GameRegistry.registerItem(billet_polonium, billet_polonium.getUnlocalizedName()); - GameRegistry.registerItem(billet_technetium, billet_technetium.getUnlocalizedName()); - GameRegistry.registerItem(billet_cobalt, billet_cobalt.getUnlocalizedName()); - GameRegistry.registerItem(billet_co60, billet_co60.getUnlocalizedName()); - GameRegistry.registerItem(billet_sr90, billet_sr90.getUnlocalizedName()); - GameRegistry.registerItem(billet_au198, billet_au198.getUnlocalizedName()); - GameRegistry.registerItem(billet_pb209, billet_pb209.getUnlocalizedName()); - GameRegistry.registerItem(billet_ra226, billet_ra226.getUnlocalizedName()); - GameRegistry.registerItem(billet_actinium, billet_actinium.getUnlocalizedName()); - GameRegistry.registerItem(billet_schrabidium, billet_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(billet_solinium, billet_solinium.getUnlocalizedName()); - GameRegistry.registerItem(billet_gh336, billet_gh336.getUnlocalizedName()); - GameRegistry.registerItem(billet_australium, billet_australium.getUnlocalizedName()); - GameRegistry.registerItem(billet_australium_lesser, billet_australium_lesser.getUnlocalizedName()); - GameRegistry.registerItem(billet_australium_greater, billet_australium_greater.getUnlocalizedName()); - GameRegistry.registerItem(billet_uranium_fuel, billet_uranium_fuel.getUnlocalizedName()); - GameRegistry.registerItem(billet_thorium_fuel, billet_thorium_fuel.getUnlocalizedName()); - GameRegistry.registerItem(billet_plutonium_fuel, billet_plutonium_fuel.getUnlocalizedName()); - GameRegistry.registerItem(billet_neptunium_fuel, billet_neptunium_fuel.getUnlocalizedName()); - GameRegistry.registerItem(billet_mox_fuel, billet_mox_fuel.getUnlocalizedName()); - GameRegistry.registerItem(billet_americium_fuel, billet_americium_fuel.getUnlocalizedName()); - GameRegistry.registerItem(billet_les, billet_les.getUnlocalizedName()); - GameRegistry.registerItem(billet_schrabidium_fuel, billet_schrabidium_fuel.getUnlocalizedName()); - GameRegistry.registerItem(billet_hes, billet_hes.getUnlocalizedName()); - GameRegistry.registerItem(billet_po210be, billet_po210be.getUnlocalizedName()); - GameRegistry.registerItem(billet_ra226be, billet_ra226be.getUnlocalizedName()); - GameRegistry.registerItem(billet_pu238be, billet_pu238be.getUnlocalizedName()); - GameRegistry.registerItem(billet_beryllium, billet_beryllium.getUnlocalizedName()); - GameRegistry.registerItem(billet_bismuth, billet_bismuth.getUnlocalizedName()); - GameRegistry.registerItem(billet_silicon, billet_silicon.getUnlocalizedName()); - GameRegistry.registerItem(billet_zirconium, billet_zirconium.getUnlocalizedName()); - GameRegistry.registerItem(billet_zfb_bismuth, billet_zfb_bismuth.getUnlocalizedName()); - GameRegistry.registerItem(billet_zfb_pu241, billet_zfb_pu241.getUnlocalizedName()); - GameRegistry.registerItem(billet_zfb_am_mix, billet_zfb_am_mix.getUnlocalizedName()); - GameRegistry.registerItem(billet_yharonite, billet_yharonite.getUnlocalizedName()); - GameRegistry.registerItem(billet_balefire_gold, billet_balefire_gold.getUnlocalizedName()); - GameRegistry.registerItem(billet_flashlead, billet_flashlead.getUnlocalizedName()); - GameRegistry.registerItem(billet_nuclear_waste, billet_nuclear_waste.getUnlocalizedName()); - - //Dusts & Other - GameRegistry.registerItem(cinnebar, cinnebar.getUnlocalizedName()); - GameRegistry.registerItem(nugget_mercury, nugget_mercury.getUnlocalizedName()); - GameRegistry.registerItem(ingot_mercury, ingot_mercury.getUnlocalizedName()); - GameRegistry.registerItem(bottle_mercury, bottle_mercury.getUnlocalizedName()); - GameRegistry.registerItem(coke, coke.getUnlocalizedName()); - GameRegistry.registerItem(lignite, lignite.getUnlocalizedName()); - GameRegistry.registerItem(coal_infernal, coal_infernal.getUnlocalizedName()); - GameRegistry.registerItem(briquette, briquette.getUnlocalizedName()); - GameRegistry.registerItem(sulfur, sulfur.getUnlocalizedName()); - GameRegistry.registerItem(niter, niter.getUnlocalizedName()); - GameRegistry.registerItem(nitra, nitra.getUnlocalizedName()); - GameRegistry.registerItem(nitra_small, nitra_small.getUnlocalizedName()); - GameRegistry.registerItem(fluorite, fluorite.getUnlocalizedName()); - GameRegistry.registerItem(powder_coal, powder_coal.getUnlocalizedName()); - GameRegistry.registerItem(powder_coal_tiny, powder_coal_tiny.getUnlocalizedName()); - GameRegistry.registerItem(powder_iron, powder_iron.getUnlocalizedName()); - GameRegistry.registerItem(powder_gold, powder_gold.getUnlocalizedName()); - GameRegistry.registerItem(powder_lapis, powder_lapis.getUnlocalizedName()); - GameRegistry.registerItem(powder_quartz, powder_quartz.getUnlocalizedName()); - GameRegistry.registerItem(powder_diamond, powder_diamond.getUnlocalizedName()); - GameRegistry.registerItem(powder_emerald, powder_emerald.getUnlocalizedName()); - GameRegistry.registerItem(powder_uranium, powder_uranium.getUnlocalizedName()); - GameRegistry.registerItem(powder_plutonium, powder_plutonium.getUnlocalizedName()); - GameRegistry.registerItem(powder_neptunium, powder_neptunium.getUnlocalizedName()); - GameRegistry.registerItem(powder_polonium, powder_polonium.getUnlocalizedName()); - GameRegistry.registerItem(powder_co60, powder_co60.getUnlocalizedName()); - GameRegistry.registerItem(powder_sr90, powder_sr90.getUnlocalizedName()); - GameRegistry.registerItem(powder_sr90_tiny, powder_sr90_tiny.getUnlocalizedName()); - GameRegistry.registerItem(powder_i131, powder_i131.getUnlocalizedName()); - GameRegistry.registerItem(powder_i131_tiny, powder_i131_tiny.getUnlocalizedName()); - GameRegistry.registerItem(powder_xe135, powder_xe135.getUnlocalizedName()); - GameRegistry.registerItem(powder_xe135_tiny, powder_xe135_tiny.getUnlocalizedName()); - GameRegistry.registerItem(powder_cs137, powder_cs137.getUnlocalizedName()); - GameRegistry.registerItem(powder_cs137_tiny, powder_cs137_tiny.getUnlocalizedName()); - GameRegistry.registerItem(powder_au198, powder_au198.getUnlocalizedName()); - GameRegistry.registerItem(powder_ra226, powder_ra226.getUnlocalizedName()); - GameRegistry.registerItem(powder_at209, powder_at209.getUnlocalizedName()); - GameRegistry.registerItem(powder_titanium, powder_titanium.getUnlocalizedName()); - GameRegistry.registerItem(powder_copper, powder_copper.getUnlocalizedName()); - GameRegistry.registerItem(powder_red_copper, powder_red_copper.getUnlocalizedName()); - GameRegistry.registerItem(powder_advanced_alloy, powder_advanced_alloy.getUnlocalizedName()); - GameRegistry.registerItem(powder_tungsten, powder_tungsten.getUnlocalizedName()); - GameRegistry.registerItem(powder_aluminium, powder_aluminium.getUnlocalizedName()); - GameRegistry.registerItem(powder_steel, powder_steel.getUnlocalizedName()); - GameRegistry.registerItem(powder_steel_tiny, powder_steel_tiny.getUnlocalizedName()); - GameRegistry.registerItem(powder_tcalloy, powder_tcalloy.getUnlocalizedName()); - GameRegistry.registerItem(powder_lead, powder_lead.getUnlocalizedName()); - GameRegistry.registerItem(powder_bismuth, powder_bismuth.getUnlocalizedName()); - GameRegistry.registerItem(powder_calcium, powder_calcium.getUnlocalizedName()); - GameRegistry.registerItem(powder_cadmium, powder_cadmium.getUnlocalizedName()); - GameRegistry.registerItem(powder_coltan_ore, powder_coltan_ore.getUnlocalizedName()); - GameRegistry.registerItem(powder_coltan, powder_coltan.getUnlocalizedName()); - GameRegistry.registerItem(powder_tantalium, powder_tantalium.getUnlocalizedName()); - GameRegistry.registerItem(powder_tektite, powder_tektite.getUnlocalizedName()); - GameRegistry.registerItem(powder_paleogenite, powder_paleogenite.getUnlocalizedName()); - GameRegistry.registerItem(powder_paleogenite_tiny, powder_paleogenite_tiny.getUnlocalizedName()); - GameRegistry.registerItem(powder_impure_osmiridium, powder_impure_osmiridium.getUnlocalizedName()); - GameRegistry.registerItem(powder_borax, powder_borax.getUnlocalizedName()); - GameRegistry.registerItem(powder_chlorocalcite, powder_chlorocalcite.getUnlocalizedName()); - GameRegistry.registerItem(powder_molysite, powder_molysite.getUnlocalizedName()); - GameRegistry.registerItem(powder_yellowcake, powder_yellowcake.getUnlocalizedName()); - GameRegistry.registerItem(powder_beryllium, powder_beryllium.getUnlocalizedName()); - GameRegistry.registerItem(powder_dura_steel, powder_dura_steel.getUnlocalizedName()); - GameRegistry.registerItem(powder_polymer, powder_polymer.getUnlocalizedName()); - GameRegistry.registerItem(powder_bakelite, powder_bakelite.getUnlocalizedName()); - GameRegistry.registerItem(powder_schrabidium, powder_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(powder_schrabidate, powder_schrabidate.getUnlocalizedName()); - GameRegistry.registerItem(powder_magnetized_tungsten, powder_magnetized_tungsten.getUnlocalizedName()); - GameRegistry.registerItem(powder_chlorophyte, powder_chlorophyte.getUnlocalizedName()); - GameRegistry.registerItem(powder_combine_steel, powder_combine_steel.getUnlocalizedName()); - GameRegistry.registerItem(powder_lithium, powder_lithium.getUnlocalizedName()); - GameRegistry.registerItem(powder_lithium_tiny, powder_lithium_tiny.getUnlocalizedName()); - GameRegistry.registerItem(powder_zirconium, powder_zirconium.getUnlocalizedName()); - GameRegistry.registerItem(powder_sodium, powder_sodium.getUnlocalizedName()); - GameRegistry.registerItem(powder_lignite, powder_lignite.getUnlocalizedName()); - GameRegistry.registerItem(powder_iodine, powder_iodine.getUnlocalizedName()); - GameRegistry.registerItem(powder_thorium, powder_thorium.getUnlocalizedName()); - GameRegistry.registerItem(powder_neodymium, powder_neodymium.getUnlocalizedName()); - GameRegistry.registerItem(powder_neodymium_tiny, powder_neodymium_tiny.getUnlocalizedName()); - GameRegistry.registerItem(powder_astatine, powder_astatine.getUnlocalizedName()); - GameRegistry.registerItem(powder_caesium, powder_caesium.getUnlocalizedName()); - GameRegistry.registerItem(powder_australium, powder_australium.getUnlocalizedName()); - GameRegistry.registerItem(powder_weidanium, powder_weidanium.getUnlocalizedName()); - GameRegistry.registerItem(powder_reiium, powder_reiium.getUnlocalizedName()); - GameRegistry.registerItem(powder_unobtainium, powder_unobtainium.getUnlocalizedName()); - GameRegistry.registerItem(powder_daffergon, powder_daffergon.getUnlocalizedName()); - GameRegistry.registerItem(powder_verticium, powder_verticium.getUnlocalizedName()); - GameRegistry.registerItem(powder_strontium, powder_strontium.getUnlocalizedName()); - GameRegistry.registerItem(powder_cobalt, powder_cobalt.getUnlocalizedName()); - GameRegistry.registerItem(powder_cobalt_tiny, powder_cobalt_tiny.getUnlocalizedName()); - GameRegistry.registerItem(powder_bromine, powder_bromine.getUnlocalizedName()); - GameRegistry.registerItem(powder_niobium, powder_niobium.getUnlocalizedName()); - GameRegistry.registerItem(powder_niobium_tiny, powder_niobium_tiny.getUnlocalizedName()); - GameRegistry.registerItem(powder_tennessine, powder_tennessine.getUnlocalizedName()); - GameRegistry.registerItem(powder_cerium, powder_cerium.getUnlocalizedName()); - GameRegistry.registerItem(powder_cerium_tiny, powder_cerium_tiny.getUnlocalizedName()); - GameRegistry.registerItem(powder_lanthanium, powder_lanthanium.getUnlocalizedName()); - GameRegistry.registerItem(powder_lanthanium_tiny, powder_lanthanium_tiny.getUnlocalizedName()); - GameRegistry.registerItem(powder_actinium, powder_actinium.getUnlocalizedName()); - GameRegistry.registerItem(powder_actinium_tiny, powder_actinium_tiny.getUnlocalizedName()); - GameRegistry.registerItem(powder_boron, powder_boron.getUnlocalizedName()); - GameRegistry.registerItem(powder_boron_tiny, powder_boron_tiny.getUnlocalizedName()); - GameRegistry.registerItem(powder_asbestos, powder_asbestos.getUnlocalizedName()); - GameRegistry.registerItem(powder_magic, powder_magic.getUnlocalizedName()); - GameRegistry.registerItem(powder_sawdust, powder_sawdust.getUnlocalizedName()); - GameRegistry.registerItem(powder_flux, powder_flux.getUnlocalizedName()); - GameRegistry.registerItem(powder_fertilizer, powder_fertilizer.getUnlocalizedName()); - GameRegistry.registerItem(powder_balefire, powder_balefire.getUnlocalizedName()); - GameRegistry.registerItem(powder_semtex_mix, powder_semtex_mix.getUnlocalizedName()); - GameRegistry.registerItem(powder_desh_mix, powder_desh_mix.getUnlocalizedName()); - GameRegistry.registerItem(powder_desh_ready, powder_desh_ready.getUnlocalizedName()); - GameRegistry.registerItem(powder_desh, powder_desh.getUnlocalizedName()); - GameRegistry.registerItem(powder_nitan_mix, powder_nitan_mix.getUnlocalizedName()); - GameRegistry.registerItem(powder_spark_mix, powder_spark_mix.getUnlocalizedName()); - GameRegistry.registerItem(powder_meteorite, powder_meteorite.getUnlocalizedName()); - GameRegistry.registerItem(powder_meteorite_tiny, powder_meteorite_tiny.getUnlocalizedName()); - GameRegistry.registerItem(powder_euphemium, powder_euphemium.getUnlocalizedName()); - GameRegistry.registerItem(powder_dineutronium, powder_dineutronium.getUnlocalizedName()); - GameRegistry.registerItem(dust, dust.getUnlocalizedName()); - GameRegistry.registerItem(dust_tiny, dust_tiny.getUnlocalizedName()); - GameRegistry.registerItem(fallout, fallout.getUnlocalizedName()); - GameRegistry.registerItem(powder_ash, powder_ash.getUnlocalizedName()); - GameRegistry.registerItem(powder_limestone, powder_limestone.getUnlocalizedName()); - GameRegistry.registerItem(powder_cement, powder_cement.getUnlocalizedName()); - - //Powders - GameRegistry.registerItem(powder_fire, powder_fire.getUnlocalizedName()); - GameRegistry.registerItem(powder_ice, powder_ice.getUnlocalizedName()); - GameRegistry.registerItem(powder_poison, powder_poison.getUnlocalizedName()); - GameRegistry.registerItem(powder_thermite, powder_thermite.getUnlocalizedName()); - GameRegistry.registerItem(powder_power, powder_power.getUnlocalizedName()); - GameRegistry.registerItem(cordite, cordite.getUnlocalizedName()); - GameRegistry.registerItem(ballistite, ballistite.getUnlocalizedName()); - GameRegistry.registerItem(ball_dynamite, ball_dynamite.getUnlocalizedName()); - GameRegistry.registerItem(ball_tnt, ball_tnt.getUnlocalizedName()); - GameRegistry.registerItem(ball_tatb, ball_tatb.getUnlocalizedName()); - GameRegistry.registerItem(ball_resin, ball_resin.getUnlocalizedName()); - GameRegistry.registerItem(ball_fireclay, ball_fireclay.getUnlocalizedName()); - - //Ores - GameRegistry.registerItem(ore_bedrock, ore_bedrock.getUnlocalizedName()); - GameRegistry.registerItem(ore_centrifuged, ore_centrifuged.getUnlocalizedName()); - GameRegistry.registerItem(ore_cleaned, ore_cleaned.getUnlocalizedName()); - GameRegistry.registerItem(ore_separated, ore_separated.getUnlocalizedName()); - GameRegistry.registerItem(ore_purified, ore_purified.getUnlocalizedName()); - GameRegistry.registerItem(ore_nitrated, ore_nitrated.getUnlocalizedName()); - GameRegistry.registerItem(ore_nitrocrystalline, ore_nitrocrystalline.getUnlocalizedName()); - GameRegistry.registerItem(ore_deepcleaned, ore_deepcleaned.getUnlocalizedName()); - GameRegistry.registerItem(ore_seared, ore_seared.getUnlocalizedName()); - GameRegistry.registerItem(ore_enriched, ore_enriched.getUnlocalizedName()); - GameRegistry.registerItem(ore_byproduct, ore_byproduct.getUnlocalizedName()); - GameRegistry.registerItem(bedrock_ore_base, bedrock_ore_base.getUnlocalizedName()); - GameRegistry.registerItem(bedrock_ore, bedrock_ore.getUnlocalizedName()); - GameRegistry.registerItem(bedrock_ore_fragment, bedrock_ore_fragment.getUnlocalizedName()); - - //Crystals - GameRegistry.registerItem(crystal_coal, crystal_coal.getUnlocalizedName()); - GameRegistry.registerItem(crystal_iron, crystal_iron.getUnlocalizedName()); - GameRegistry.registerItem(crystal_gold, crystal_gold.getUnlocalizedName()); - GameRegistry.registerItem(crystal_redstone, crystal_redstone.getUnlocalizedName()); - GameRegistry.registerItem(crystal_lapis, crystal_lapis.getUnlocalizedName()); - GameRegistry.registerItem(crystal_diamond, crystal_diamond.getUnlocalizedName()); - GameRegistry.registerItem(crystal_uranium, crystal_uranium.getUnlocalizedName()); - GameRegistry.registerItem(crystal_thorium, crystal_thorium.getUnlocalizedName()); - GameRegistry.registerItem(crystal_plutonium, crystal_plutonium.getUnlocalizedName()); - GameRegistry.registerItem(crystal_titanium, crystal_titanium.getUnlocalizedName()); - GameRegistry.registerItem(crystal_sulfur, crystal_sulfur.getUnlocalizedName()); - GameRegistry.registerItem(crystal_niter, crystal_niter.getUnlocalizedName()); - GameRegistry.registerItem(crystal_copper, crystal_copper.getUnlocalizedName()); - GameRegistry.registerItem(crystal_tungsten, crystal_tungsten.getUnlocalizedName()); - GameRegistry.registerItem(crystal_aluminium, crystal_aluminium.getUnlocalizedName()); - GameRegistry.registerItem(crystal_fluorite, crystal_fluorite.getUnlocalizedName()); - GameRegistry.registerItem(crystal_beryllium, crystal_beryllium.getUnlocalizedName()); - GameRegistry.registerItem(crystal_lead, crystal_lead.getUnlocalizedName()); - GameRegistry.registerItem(crystal_schraranium, crystal_schraranium.getUnlocalizedName()); - GameRegistry.registerItem(crystal_schrabidium, crystal_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(crystal_rare, crystal_rare.getUnlocalizedName()); - GameRegistry.registerItem(crystal_phosphorus, crystal_phosphorus.getUnlocalizedName()); - GameRegistry.registerItem(crystal_lithium, crystal_lithium.getUnlocalizedName()); - GameRegistry.registerItem(crystal_cobalt, crystal_cobalt.getUnlocalizedName()); - GameRegistry.registerItem(crystal_starmetal, crystal_starmetal.getUnlocalizedName()); - GameRegistry.registerItem(crystal_cinnebar, crystal_cinnebar.getUnlocalizedName()); - GameRegistry.registerItem(crystal_trixite, crystal_trixite.getUnlocalizedName()); - GameRegistry.registerItem(crystal_osmiridium, crystal_osmiridium.getUnlocalizedName()); - GameRegistry.registerItem(gem_sodalite, gem_sodalite.getUnlocalizedName()); - GameRegistry.registerItem(gem_tantalium, gem_tantalium.getUnlocalizedName()); - GameRegistry.registerItem(gem_volcanic, gem_volcanic.getUnlocalizedName()); - GameRegistry.registerItem(gem_rad, gem_rad.getUnlocalizedName()); - GameRegistry.registerItem(gem_alexandrite, gem_alexandrite.getUnlocalizedName()); - - //Fragments - GameRegistry.registerItem(fragment_neodymium, fragment_neodymium.getUnlocalizedName()); - GameRegistry.registerItem(fragment_cobalt, fragment_cobalt.getUnlocalizedName()); - GameRegistry.registerItem(fragment_niobium, fragment_niobium.getUnlocalizedName()); - GameRegistry.registerItem(fragment_cerium, fragment_cerium.getUnlocalizedName()); - GameRegistry.registerItem(fragment_lanthanium, fragment_lanthanium.getUnlocalizedName()); - GameRegistry.registerItem(fragment_actinium, fragment_actinium.getUnlocalizedName()); - GameRegistry.registerItem(fragment_boron, fragment_boron.getUnlocalizedName()); - GameRegistry.registerItem(fragment_meteorite, fragment_meteorite.getUnlocalizedName()); - GameRegistry.registerItem(fragment_coltan, fragment_coltan.getUnlocalizedName()); - GameRegistry.registerItem(chunk_ore, chunk_ore.getUnlocalizedName()); - - //Things that look like rotten flesh but aren't - GameRegistry.registerItem(biomass, biomass.getUnlocalizedName()); - GameRegistry.registerItem(biomass_compressed, biomass_compressed.getUnlocalizedName()); - //delicious! - GameRegistry.registerItem(bio_wafer, bio_wafer.getUnlocalizedName()); - - //Nuggets - GameRegistry.registerItem(nugget_uranium, nugget_uranium.getUnlocalizedName()); - GameRegistry.registerItem(nugget_u233, nugget_u233.getUnlocalizedName()); - GameRegistry.registerItem(nugget_u235, nugget_u235.getUnlocalizedName()); - GameRegistry.registerItem(nugget_u238, nugget_u238.getUnlocalizedName()); - GameRegistry.registerItem(nugget_th232, nugget_th232.getUnlocalizedName()); - GameRegistry.registerItem(nugget_plutonium, nugget_plutonium.getUnlocalizedName()); - GameRegistry.registerItem(nugget_pu238, nugget_pu238.getUnlocalizedName()); - GameRegistry.registerItem(nugget_pu239, nugget_pu239.getUnlocalizedName()); - GameRegistry.registerItem(nugget_pu240, nugget_pu240.getUnlocalizedName()); - GameRegistry.registerItem(nugget_pu241, nugget_pu241.getUnlocalizedName()); - GameRegistry.registerItem(nugget_pu_mix, nugget_pu_mix.getUnlocalizedName()); - GameRegistry.registerItem(nugget_am241, nugget_am241.getUnlocalizedName()); - GameRegistry.registerItem(nugget_am242, nugget_am242.getUnlocalizedName()); - GameRegistry.registerItem(nugget_am_mix, nugget_am_mix.getUnlocalizedName()); - GameRegistry.registerItem(nugget_neptunium, nugget_neptunium.getUnlocalizedName()); - GameRegistry.registerItem(nugget_polonium, nugget_polonium.getUnlocalizedName()); - GameRegistry.registerItem(nugget_cobalt, nugget_cobalt.getUnlocalizedName()); - GameRegistry.registerItem(nugget_co60, nugget_co60.getUnlocalizedName()); - GameRegistry.registerItem(nugget_sr90, nugget_sr90.getUnlocalizedName()); - GameRegistry.registerItem(nugget_technetium, nugget_technetium.getUnlocalizedName()); - GameRegistry.registerItem(nugget_au198, nugget_au198.getUnlocalizedName()); - GameRegistry.registerItem(nugget_pb209, nugget_pb209.getUnlocalizedName()); - GameRegistry.registerItem(nugget_ra226, nugget_ra226.getUnlocalizedName()); - GameRegistry.registerItem(nugget_actinium, nugget_actinium.getUnlocalizedName()); - GameRegistry.registerItem(nugget_lead, nugget_lead.getUnlocalizedName()); - GameRegistry.registerItem(nugget_bismuth, nugget_bismuth.getUnlocalizedName()); - GameRegistry.registerItem(nugget_arsenic, nugget_arsenic.getUnlocalizedName()); - GameRegistry.registerItem(nugget_tantalium, nugget_tantalium.getUnlocalizedName()); - GameRegistry.registerItem(nugget_silicon, nugget_silicon.getUnlocalizedName()); - GameRegistry.registerItem(nugget_niobium, nugget_niobium.getUnlocalizedName()); - GameRegistry.registerItem(nugget_beryllium, nugget_beryllium.getUnlocalizedName()); - GameRegistry.registerItem(nugget_schrabidium, nugget_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(nugget_solinium, nugget_solinium.getUnlocalizedName()); - GameRegistry.registerItem(nugget_gh336, nugget_gh336.getUnlocalizedName()); - GameRegistry.registerItem(nugget_uranium_fuel, nugget_uranium_fuel.getUnlocalizedName()); - GameRegistry.registerItem(nugget_thorium_fuel, nugget_thorium_fuel.getUnlocalizedName()); - GameRegistry.registerItem(nugget_plutonium_fuel, nugget_plutonium_fuel.getUnlocalizedName()); - GameRegistry.registerItem(nugget_neptunium_fuel, nugget_neptunium_fuel.getUnlocalizedName()); - GameRegistry.registerItem(nugget_mox_fuel, nugget_mox_fuel.getUnlocalizedName()); - GameRegistry.registerItem(nugget_americium_fuel, nugget_americium_fuel.getUnlocalizedName()); - GameRegistry.registerItem(nugget_schrabidium_fuel, nugget_schrabidium_fuel.getUnlocalizedName()); - GameRegistry.registerItem(nugget_hes, nugget_hes.getUnlocalizedName()); - GameRegistry.registerItem(nugget_les, nugget_les.getUnlocalizedName()); - GameRegistry.registerItem(nugget_zirconium, nugget_zirconium.getUnlocalizedName()); - GameRegistry.registerItem(nugget_australium, nugget_australium.getUnlocalizedName()); - GameRegistry.registerItem(nugget_australium_lesser, nugget_australium_lesser.getUnlocalizedName()); - GameRegistry.registerItem(nugget_australium_greater, nugget_australium_greater.getUnlocalizedName()); - GameRegistry.registerItem(nugget_weidanium, nugget_weidanium.getUnlocalizedName()); - GameRegistry.registerItem(nugget_reiium, nugget_reiium.getUnlocalizedName()); - GameRegistry.registerItem(nugget_unobtainium, nugget_unobtainium.getUnlocalizedName()); - GameRegistry.registerItem(nugget_daffergon, nugget_daffergon.getUnlocalizedName()); - GameRegistry.registerItem(nugget_verticium, nugget_verticium.getUnlocalizedName()); - GameRegistry.registerItem(nugget_desh, nugget_desh.getUnlocalizedName()); - GameRegistry.registerItem(nugget_euphemium, nugget_euphemium.getUnlocalizedName()); - GameRegistry.registerItem(nugget_dineutronium, nugget_dineutronium.getUnlocalizedName()); - GameRegistry.registerItem(nugget_osmiridium, nugget_osmiridium.getUnlocalizedName()); - - //Plates - GameRegistry.registerItem(plate_iron, plate_iron.getUnlocalizedName()); - GameRegistry.registerItem(plate_gold, plate_gold.getUnlocalizedName()); - GameRegistry.registerItem(plate_titanium, plate_titanium.getUnlocalizedName()); - GameRegistry.registerItem(plate_aluminium, plate_aluminium.getUnlocalizedName()); - GameRegistry.registerItem(plate_steel, plate_steel.getUnlocalizedName()); - GameRegistry.registerItem(plate_lead, plate_lead.getUnlocalizedName()); - GameRegistry.registerItem(plate_copper, plate_copper.getUnlocalizedName()); - GameRegistry.registerItem(plate_advanced_alloy, plate_advanced_alloy.getUnlocalizedName()); - GameRegistry.registerItem(plate_dura_steel, plate_dura_steel.getUnlocalizedName()); - GameRegistry.registerItem(neutron_reflector, neutron_reflector.getUnlocalizedName()); - GameRegistry.registerItem(plate_schrabidium, plate_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(plate_combine_steel, plate_combine_steel.getUnlocalizedName()); - GameRegistry.registerItem(plate_mixed, plate_mixed.getUnlocalizedName()); - GameRegistry.registerItem(plate_saturnite, plate_saturnite.getUnlocalizedName()); - GameRegistry.registerItem(plate_paa, plate_paa.getUnlocalizedName()); - GameRegistry.registerItem(plate_polymer, plate_polymer.getUnlocalizedName()); - GameRegistry.registerItem(plate_kevlar, plate_kevlar.getUnlocalizedName()); - GameRegistry.registerItem(plate_dalekanium, plate_dalekanium.getUnlocalizedName()); - GameRegistry.registerItem(plate_desh, plate_desh.getUnlocalizedName()); - GameRegistry.registerItem(plate_bismuth, plate_bismuth.getUnlocalizedName()); - GameRegistry.registerItem(plate_euphemium, plate_euphemium.getUnlocalizedName()); - GameRegistry.registerItem(plate_dineutronium, plate_dineutronium.getUnlocalizedName()); - - //Armor Plates - GameRegistry.registerItem(plate_armor_titanium, plate_armor_titanium.getUnlocalizedName()); - GameRegistry.registerItem(plate_armor_ajr, plate_armor_ajr.getUnlocalizedName()); - GameRegistry.registerItem(plate_armor_hev, plate_armor_hev.getUnlocalizedName()); - GameRegistry.registerItem(plate_armor_lunar, plate_armor_lunar.getUnlocalizedName()); - GameRegistry.registerItem(plate_armor_fau, plate_armor_fau.getUnlocalizedName()); - GameRegistry.registerItem(plate_armor_dnt, plate_armor_dnt.getUnlocalizedName()); - - //Heavy/Cast Plate - GameRegistry.registerItem(plate_cast, plate_cast.getUnlocalizedName()); - GameRegistry.registerItem(plate_welded, plate_welded.getUnlocalizedName()); - GameRegistry.registerItem(shell, shell.getUnlocalizedName()); - GameRegistry.registerItem(pipe, pipe.getUnlocalizedName()); - GameRegistry.registerItem(heavy_component, heavy_component.getUnlocalizedName()); - - //Bolts - GameRegistry.registerItem(bolt, bolt.getUnlocalizedName()); - GameRegistry.registerItem(bolt_spike, bolt_spike.getUnlocalizedName()); - - //Cloth - GameRegistry.registerItem(hazmat_cloth, hazmat_cloth.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_cloth_red, hazmat_cloth_red.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_cloth_grey, hazmat_cloth_grey.getUnlocalizedName()); - GameRegistry.registerItem(asbestos_cloth, asbestos_cloth.getUnlocalizedName()); - GameRegistry.registerItem(rag, rag.getUnlocalizedName()); - GameRegistry.registerItem(rag_damp, rag_damp.getUnlocalizedName()); - GameRegistry.registerItem(rag_piss, rag_piss.getUnlocalizedName()); - GameRegistry.registerItem(filter_coal, filter_coal.getUnlocalizedName()); - - //Wires - GameRegistry.registerItem(wire_aluminium, wire_aluminium.getUnlocalizedName()); - GameRegistry.registerItem(wire_copper, wire_copper.getUnlocalizedName()); - GameRegistry.registerItem(wire_tungsten, wire_tungsten.getUnlocalizedName()); - GameRegistry.registerItem(wire_red_copper, wire_red_copper.getUnlocalizedName()); - GameRegistry.registerItem(wire_advanced_alloy, wire_advanced_alloy.getUnlocalizedName()); - GameRegistry.registerItem(wire_gold, wire_gold.getUnlocalizedName()); - GameRegistry.registerItem(wire_schrabidium, wire_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(wire_magnetized_tungsten, wire_magnetized_tungsten.getUnlocalizedName()); - GameRegistry.registerItem(wire_fine, wire_fine.getUnlocalizedName()); - GameRegistry.registerItem(wire_dense, wire_dense.getUnlocalizedName()); - - //Parts - GameRegistry.registerItem(coil_copper, coil_copper.getUnlocalizedName()); - GameRegistry.registerItem(coil_copper_torus, coil_copper_torus.getUnlocalizedName()); - GameRegistry.registerItem(coil_advanced_alloy, coil_advanced_alloy.getUnlocalizedName()); - GameRegistry.registerItem(coil_advanced_torus, coil_advanced_torus.getUnlocalizedName()); - GameRegistry.registerItem(coil_gold, coil_gold.getUnlocalizedName()); - GameRegistry.registerItem(coil_gold_torus, coil_gold_torus.getUnlocalizedName()); - GameRegistry.registerItem(coil_tungsten, coil_tungsten.getUnlocalizedName()); - GameRegistry.registerItem(coil_magnetized_tungsten, coil_magnetized_tungsten.getUnlocalizedName()); - GameRegistry.registerItem(safety_fuse, safety_fuse.getUnlocalizedName()); - GameRegistry.registerItem(tank_steel, tank_steel.getUnlocalizedName()); - GameRegistry.registerItem(motor, motor.getUnlocalizedName()); - GameRegistry.registerItem(motor_desh, motor_desh.getUnlocalizedName()); - GameRegistry.registerItem(motor_bismuth, motor_bismuth.getUnlocalizedName()); - GameRegistry.registerItem(centrifuge_element, centrifuge_element.getUnlocalizedName()); - //GameRegistry.registerItem(centrifuge_tower, centrifuge_tower.getUnlocalizedName()); - //GameRegistry.registerItem(magnet_dee, magnet_dee.getUnlocalizedName()); - GameRegistry.registerItem(magnet_circular, magnet_circular.getUnlocalizedName()); - //GameRegistry.registerItem(cyclotron_tower, cyclotron_tower.getUnlocalizedName()); - GameRegistry.registerItem(reactor_core, reactor_core.getUnlocalizedName()); - GameRegistry.registerItem(rtg_unit, rtg_unit.getUnlocalizedName()); - //GameRegistry.registerItem(thermo_unit_empty, thermo_unit_empty.getUnlocalizedName()); - //GameRegistry.registerItem(thermo_unit_endo, thermo_unit_endo.getUnlocalizedName()); - //GameRegistry.registerItem(thermo_unit_exo, thermo_unit_exo.getUnlocalizedName()); - GameRegistry.registerItem(levitation_unit, levitation_unit.getUnlocalizedName()); - GameRegistry.registerItem(pipes_steel, pipes_steel.getUnlocalizedName()); - GameRegistry.registerItem(drill_titanium, drill_titanium.getUnlocalizedName()); - GameRegistry.registerItem(photo_panel, photo_panel.getUnlocalizedName()); - GameRegistry.registerItem(chlorine_pinwheel, chlorine_pinwheel.getUnlocalizedName()); - GameRegistry.registerItem(ring_starmetal, ring_starmetal.getUnlocalizedName()); - GameRegistry.registerItem(deuterium_filter, deuterium_filter.getUnlocalizedName()); - GameRegistry.registerItem(chemical_dye, chemical_dye.getUnlocalizedName()); - GameRegistry.registerItem(crayon, crayon.getUnlocalizedName()); - GameRegistry.registerItem(part_generic, part_generic.getUnlocalizedName()); - GameRegistry.registerItem(item_secret, item_secret.getUnlocalizedName()); - GameRegistry.registerItem(parts_legendary, parts_legendary.getUnlocalizedName()); - GameRegistry.registerItem(gear_large, gear_large.getUnlocalizedName()); - GameRegistry.registerItem(sawblade, sawblade.getUnlocalizedName()); - - //Plant Products - GameRegistry.registerItem(plant_item, plant_item.getUnlocalizedName()); - - //Teleporter Parts - //GameRegistry.registerItem(telepad, telepad.getUnlocalizedName()); - GameRegistry.registerItem(entanglement_kit, entanglement_kit.getUnlocalizedName()); - - //AMS Parts - GameRegistry.registerItem(component_limiter, component_limiter.getUnlocalizedName()); - GameRegistry.registerItem(component_emitter, component_emitter.getUnlocalizedName()); - - //Bomb Parts - GameRegistry.registerItem(fins_flat, fins_flat.getUnlocalizedName()); - GameRegistry.registerItem(fins_small_steel, fins_small_steel.getUnlocalizedName()); - GameRegistry.registerItem(fins_big_steel, fins_big_steel.getUnlocalizedName()); - GameRegistry.registerItem(fins_tri_steel, fins_tri_steel.getUnlocalizedName()); - GameRegistry.registerItem(fins_quad_titanium, fins_quad_titanium.getUnlocalizedName()); - GameRegistry.registerItem(sphere_steel, sphere_steel.getUnlocalizedName()); - GameRegistry.registerItem(pedestal_steel, pedestal_steel.getUnlocalizedName()); - GameRegistry.registerItem(dysfunctional_reactor, dysfunctional_reactor.getUnlocalizedName()); - GameRegistry.registerItem(blade_titanium, blade_titanium.getUnlocalizedName()); - GameRegistry.registerItem(blade_tungsten, blade_tungsten.getUnlocalizedName()); - GameRegistry.registerItem(turbine_titanium, turbine_titanium.getUnlocalizedName()); - GameRegistry.registerItem(turbine_tungsten, turbine_tungsten.getUnlocalizedName()); - GameRegistry.registerItem(flywheel_beryllium, flywheel_beryllium.getUnlocalizedName()); - GameRegistry.registerItem(toothpicks, toothpicks.getUnlocalizedName()); - GameRegistry.registerItem(ducttape, ducttape.getUnlocalizedName()); - GameRegistry.registerItem(catalyst_clay, catalyst_clay.getUnlocalizedName()); - GameRegistry.registerItem(missile_assembly, missile_assembly.getUnlocalizedName()); - GameRegistry.registerItem(warhead_generic_small, warhead_generic_small.getUnlocalizedName()); - GameRegistry.registerItem(warhead_generic_medium, warhead_generic_medium.getUnlocalizedName()); - GameRegistry.registerItem(warhead_generic_large, warhead_generic_large.getUnlocalizedName()); - GameRegistry.registerItem(warhead_incendiary_small, warhead_incendiary_small.getUnlocalizedName()); - GameRegistry.registerItem(warhead_incendiary_medium, warhead_incendiary_medium.getUnlocalizedName()); - GameRegistry.registerItem(warhead_incendiary_large, warhead_incendiary_large.getUnlocalizedName()); - GameRegistry.registerItem(warhead_cluster_small, warhead_cluster_small.getUnlocalizedName()); - GameRegistry.registerItem(warhead_cluster_medium, warhead_cluster_medium.getUnlocalizedName()); - GameRegistry.registerItem(warhead_cluster_large, warhead_cluster_large.getUnlocalizedName()); - GameRegistry.registerItem(warhead_buster_small, warhead_buster_small.getUnlocalizedName()); - GameRegistry.registerItem(warhead_buster_medium, warhead_buster_medium.getUnlocalizedName()); - GameRegistry.registerItem(warhead_buster_large, warhead_buster_large.getUnlocalizedName()); - GameRegistry.registerItem(warhead_nuclear, warhead_nuclear.getUnlocalizedName()); - GameRegistry.registerItem(warhead_mirv, warhead_mirv.getUnlocalizedName()); - GameRegistry.registerItem(warhead_volcano, warhead_volcano.getUnlocalizedName()); - GameRegistry.registerItem(fuel_tank_small, fuel_tank_small.getUnlocalizedName()); - GameRegistry.registerItem(fuel_tank_medium, fuel_tank_medium.getUnlocalizedName()); - GameRegistry.registerItem(fuel_tank_large, fuel_tank_large.getUnlocalizedName()); - GameRegistry.registerItem(thruster_small, thruster_small.getUnlocalizedName()); - GameRegistry.registerItem(thruster_medium, thruster_medium.getUnlocalizedName()); - GameRegistry.registerItem(thruster_large, thruster_large.getUnlocalizedName()); - GameRegistry.registerItem(thruster_nuclear, thruster_nuclear.getUnlocalizedName()); - GameRegistry.registerItem(sat_base, sat_base.getUnlocalizedName()); - GameRegistry.registerItem(sat_head_mapper, sat_head_mapper.getUnlocalizedName()); - GameRegistry.registerItem(sat_head_scanner, sat_head_scanner.getUnlocalizedName()); - GameRegistry.registerItem(sat_head_radar, sat_head_radar.getUnlocalizedName()); - GameRegistry.registerItem(sat_head_laser, sat_head_laser.getUnlocalizedName()); - GameRegistry.registerItem(sat_head_resonator, sat_head_resonator.getUnlocalizedName()); - GameRegistry.registerItem(seg_10, seg_10.getUnlocalizedName()); - GameRegistry.registerItem(seg_15, seg_15.getUnlocalizedName()); - GameRegistry.registerItem(seg_20, seg_20.getUnlocalizedName()); - - //Chopper parts - GameRegistry.registerItem(chopper_head, chopper_head.getUnlocalizedName()); - GameRegistry.registerItem(chopper_gun, chopper_gun.getUnlocalizedName()); - GameRegistry.registerItem(chopper_torso, chopper_torso.getUnlocalizedName()); - GameRegistry.registerItem(chopper_tail, chopper_tail.getUnlocalizedName()); - GameRegistry.registerItem(chopper_wing, chopper_wing.getUnlocalizedName()); - GameRegistry.registerItem(chopper_blades, chopper_blades.getUnlocalizedName()); - GameRegistry.registerItem(combine_scrap, combine_scrap.getUnlocalizedName()); - - //Hammer Parts - GameRegistry.registerItem(shimmer_head, shimmer_head.getUnlocalizedName()); - GameRegistry.registerItem(shimmer_axe_head, shimmer_axe_head.getUnlocalizedName()); - GameRegistry.registerItem(shimmer_handle, shimmer_handle.getUnlocalizedName()); - - //Circuits - GameRegistry.registerItem(circuit, circuit.getUnlocalizedName()); - GameRegistry.registerItem(crt_display, crt_display.getUnlocalizedName()); - GameRegistry.registerItem(circuit_star_piece, circuit_star_piece.getUnlocalizedName()); - GameRegistry.registerItem(circuit_star_component, circuit_star_component.getUnlocalizedName()); - GameRegistry.registerItem(circuit_star, circuit_star.getUnlocalizedName()); - - //Gun Mechanisms - GameRegistry.registerItem(mechanism_revolver_1, mechanism_revolver_1.getUnlocalizedName()); - GameRegistry.registerItem(mechanism_revolver_2, mechanism_revolver_2.getUnlocalizedName()); - GameRegistry.registerItem(mechanism_rifle_1, mechanism_rifle_1.getUnlocalizedName()); - GameRegistry.registerItem(mechanism_rifle_2, mechanism_rifle_2.getUnlocalizedName()); - GameRegistry.registerItem(mechanism_launcher_1, mechanism_launcher_1.getUnlocalizedName()); - GameRegistry.registerItem(mechanism_launcher_2, mechanism_launcher_2.getUnlocalizedName()); - GameRegistry.registerItem(mechanism_special, mechanism_special.getUnlocalizedName()); - - //Casings - GameRegistry.registerItem(casing_357, casing_357.getUnlocalizedName()); - GameRegistry.registerItem(casing_44, casing_44.getUnlocalizedName()); - GameRegistry.registerItem(casing_9, casing_9.getUnlocalizedName()); - GameRegistry.registerItem(casing_50, casing_50.getUnlocalizedName()); - GameRegistry.registerItem(casing_buckshot, casing_buckshot.getUnlocalizedName()); - - //Bullet Assemblies - GameRegistry.registerItem(assembly_iron, assembly_iron.getUnlocalizedName()); - GameRegistry.registerItem(assembly_steel, assembly_steel.getUnlocalizedName()); - GameRegistry.registerItem(assembly_lead, assembly_lead.getUnlocalizedName()); - GameRegistry.registerItem(assembly_gold, assembly_gold.getUnlocalizedName()); - GameRegistry.registerItem(assembly_schrabidium, assembly_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(assembly_nightmare, assembly_nightmare.getUnlocalizedName()); - GameRegistry.registerItem(assembly_desh, assembly_desh.getUnlocalizedName()); - GameRegistry.registerItem(assembly_nopip, assembly_nopip.getUnlocalizedName()); - GameRegistry.registerItem(assembly_smg, assembly_smg.getUnlocalizedName()); - GameRegistry.registerItem(assembly_556, assembly_556.getUnlocalizedName()); - GameRegistry.registerItem(assembly_762, assembly_762.getUnlocalizedName()); - GameRegistry.registerItem(assembly_45, assembly_45.getUnlocalizedName()); - GameRegistry.registerItem(assembly_uzi, assembly_uzi.getUnlocalizedName()); - GameRegistry.registerItem(assembly_lacunae, assembly_lacunae.getUnlocalizedName()); - GameRegistry.registerItem(assembly_actionexpress, assembly_actionexpress.getUnlocalizedName()); - GameRegistry.registerItem(assembly_calamity, assembly_calamity.getUnlocalizedName()); - GameRegistry.registerItem(assembly_nuke, assembly_nuke.getUnlocalizedName()); - GameRegistry.registerItem(assembly_luna, assembly_luna.getUnlocalizedName()); - - //Folly Parts - GameRegistry.registerItem(folly_shell, folly_shell.getUnlocalizedName()); - GameRegistry.registerItem(folly_bullet, folly_bullet.getUnlocalizedName()); - GameRegistry.registerItem(folly_bullet_nuclear, folly_bullet_nuclear.getUnlocalizedName()); - GameRegistry.registerItem(folly_bullet_du, folly_bullet_du.getUnlocalizedName()); - - //Wiring - GameRegistry.registerItem(wiring_red_copper, wiring_red_copper.getUnlocalizedName()); - - //Flame War in a Box - GameRegistry.registerItem(flame_pony, flame_pony.getUnlocalizedName()); - GameRegistry.registerItem(flame_conspiracy, flame_conspiracy.getUnlocalizedName()); - GameRegistry.registerItem(flame_politics, flame_politics.getUnlocalizedName()); - GameRegistry.registerItem(flame_opinion, flame_opinion.getUnlocalizedName()); - - //Pellets - GameRegistry.registerItem(pellet_rtg_radium, pellet_rtg_radium.getUnlocalizedName()); - GameRegistry.registerItem(pellet_rtg_weak, pellet_rtg_weak.getUnlocalizedName()); - GameRegistry.registerItem(pellet_rtg, pellet_rtg.getUnlocalizedName()); - GameRegistry.registerItem(pellet_rtg_strontium, pellet_rtg_strontium.getUnlocalizedName()); - GameRegistry.registerItem(pellet_rtg_cobalt, pellet_rtg_cobalt.getUnlocalizedName()); - GameRegistry.registerItem(pellet_rtg_actinium, pellet_rtg_actinium.getUnlocalizedName()); - GameRegistry.registerItem(pellet_rtg_polonium, pellet_rtg_polonium.getUnlocalizedName()); - GameRegistry.registerItem(pellet_rtg_americium, pellet_rtg_americium.getUnlocalizedName()); - GameRegistry.registerItem(pellet_rtg_berkelium, pellet_rtg_berkelium.getUnlocalizedName()); - GameRegistry.registerItem(pellet_rtg_gold, pellet_rtg_gold.getUnlocalizedName()); - GameRegistry.registerItem(pellet_rtg_lead, pellet_rtg_lead.getUnlocalizedName()); - GameRegistry.registerItem(pellet_rtg_depleted, pellet_rtg_depleted.getUnlocalizedName()); - GameRegistry.registerItem(tritium_deuterium_cake, tritium_deuterium_cake.getUnlocalizedName()); - GameRegistry.registerItem(pellet_cluster, pellet_cluster.getUnlocalizedName()); - GameRegistry.registerItem(pellet_buckshot, pellet_buckshot.getUnlocalizedName()); - GameRegistry.registerItem(pellet_flechette, pellet_flechette.getUnlocalizedName()); - GameRegistry.registerItem(pellet_chlorophyte, pellet_chlorophyte.getUnlocalizedName()); - GameRegistry.registerItem(pellet_canister, pellet_canister.getUnlocalizedName()); - GameRegistry.registerItem(pellet_claws, pellet_claws.getUnlocalizedName()); - GameRegistry.registerItem(pellet_charged, pellet_charged.getUnlocalizedName()); - GameRegistry.registerItem(pellet_gas, pellet_gas.getUnlocalizedName()); - GameRegistry.registerItem(magnetron, magnetron.getUnlocalizedName()); - - //Engine Pieces - GameRegistry.registerItem(piston_selenium, piston_selenium.getUnlocalizedName()); - GameRegistry.registerItem(piston_set, piston_set.getUnlocalizedName()); - GameRegistry.registerItem(drillbit, drillbit.getUnlocalizedName()); - - //Cells - GameRegistry.registerItem(cell_empty, cell_empty.getUnlocalizedName()); - GameRegistry.registerItem(cell_uf6, cell_uf6.getUnlocalizedName()); - GameRegistry.registerItem(cell_puf6, cell_puf6.getUnlocalizedName()); - GameRegistry.registerItem(cell_deuterium, cell_deuterium.getUnlocalizedName()); - GameRegistry.registerItem(cell_tritium, cell_tritium.getUnlocalizedName()); - GameRegistry.registerItem(cell_sas3, cell_sas3.getUnlocalizedName()); - GameRegistry.registerItem(cell_antimatter, cell_antimatter.getUnlocalizedName()); - GameRegistry.registerItem(cell_anti_schrabidium, cell_anti_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(cell_balefire, cell_balefire.getUnlocalizedName()); - - //DEMON CORE - GameRegistry.registerItem(demon_core_open, demon_core_open.getUnlocalizedName()); - GameRegistry.registerItem(demon_core_closed, demon_core_closed.getUnlocalizedName()); - - //Particle Containers - GameRegistry.registerItem(particle_empty, particle_empty.getUnlocalizedName()); - GameRegistry.registerItem(particle_hydrogen, particle_hydrogen.getUnlocalizedName()); - GameRegistry.registerItem(particle_copper, particle_copper.getUnlocalizedName()); - GameRegistry.registerItem(particle_lead, particle_lead.getUnlocalizedName()); - GameRegistry.registerItem(particle_aproton, particle_aproton.getUnlocalizedName()); - GameRegistry.registerItem(particle_aelectron, particle_aelectron.getUnlocalizedName()); - GameRegistry.registerItem(particle_amat, particle_amat.getUnlocalizedName()); - GameRegistry.registerItem(particle_aschrab, particle_aschrab.getUnlocalizedName()); - GameRegistry.registerItem(particle_higgs, particle_higgs.getUnlocalizedName()); - GameRegistry.registerItem(particle_muon, particle_muon.getUnlocalizedName()); - GameRegistry.registerItem(particle_tachyon, particle_tachyon.getUnlocalizedName()); - GameRegistry.registerItem(particle_strange, particle_strange.getUnlocalizedName()); - GameRegistry.registerItem(particle_dark, particle_dark.getUnlocalizedName()); - GameRegistry.registerItem(particle_sparkticle, particle_sparkticle.getUnlocalizedName()); - GameRegistry.registerItem(particle_digamma, particle_digamma.getUnlocalizedName()); - GameRegistry.registerItem(particle_lutece, particle_lutece.getUnlocalizedName()); - - //Singularities, black holes and other cosmic horrors - GameRegistry.registerItem(singularity_micro, singularity_micro.getUnlocalizedName()); - GameRegistry.registerItem(singularity, singularity.getUnlocalizedName()); - GameRegistry.registerItem(singularity_counter_resonant, singularity_counter_resonant.getUnlocalizedName()); - GameRegistry.registerItem(singularity_super_heated, singularity_super_heated.getUnlocalizedName()); - GameRegistry.registerItem(black_hole, black_hole.getUnlocalizedName()); - GameRegistry.registerItem(singularity_spark, singularity_spark.getUnlocalizedName()); - GameRegistry.registerItem(crystal_xen, crystal_xen.getUnlocalizedName()); - GameRegistry.registerItem(pellet_antimatter, pellet_antimatter.getUnlocalizedName()); - - //Infinite Tanks - GameRegistry.registerItem(inf_water, inf_water.getUnlocalizedName()); - GameRegistry.registerItem(inf_water_mk2, inf_water_mk2.getUnlocalizedName()); - - //Canisters - GameRegistry.registerItem(fuel_additive, fuel_additive.getUnlocalizedName()); - GameRegistry.registerItem(canister_empty, canister_empty.getUnlocalizedName()); - GameRegistry.registerItem(canister_full, canister_full.getUnlocalizedName()); - GameRegistry.registerItem(canister_napalm, canister_napalm.getUnlocalizedName()); - - //Gas Tanks - GameRegistry.registerItem(gas_empty, gas_empty.getUnlocalizedName()); - GameRegistry.registerItem(gas_full, gas_full.getUnlocalizedName()); - - //Universal Tank - GameRegistry.registerItem(fluid_tank_empty, fluid_tank_empty.getUnlocalizedName()); - GameRegistry.registerItem(fluid_tank_full, fluid_tank_full.getUnlocalizedName()); - GameRegistry.registerItem(fluid_tank_lead_empty, fluid_tank_lead_empty.getUnlocalizedName()); - GameRegistry.registerItem(fluid_tank_lead_full, fluid_tank_lead_full.getUnlocalizedName()); - GameRegistry.registerItem(fluid_barrel_empty, fluid_barrel_empty.getUnlocalizedName()); - GameRegistry.registerItem(fluid_barrel_full, fluid_barrel_full.getUnlocalizedName()); - GameRegistry.registerItem(fluid_barrel_infinite, fluid_barrel_infinite.getUnlocalizedName()); - - //Pipette - GameRegistry.registerItem(pipette, pipette.getUnlocalizedName()); - GameRegistry.registerItem(pipette_boron, pipette_boron.getUnlocalizedName()); - GameRegistry.registerItem(pipette_laboratory, pipette_laboratory.getUnlocalizedName()); - - //Siphon - GameRegistry.registerItem(siphon, siphon.getUnlocalizedName()); - - //Batteries - GameRegistry.registerItem(battery_generic, battery_generic.getUnlocalizedName()); - GameRegistry.registerItem(battery_red_cell, battery_red_cell.getUnlocalizedName()); - GameRegistry.registerItem(battery_red_cell_6, battery_red_cell_6.getUnlocalizedName()); - GameRegistry.registerItem(battery_red_cell_24, battery_red_cell_24.getUnlocalizedName()); - GameRegistry.registerItem(battery_advanced, battery_advanced.getUnlocalizedName()); - GameRegistry.registerItem(battery_advanced_cell, battery_advanced_cell.getUnlocalizedName()); - GameRegistry.registerItem(battery_advanced_cell_4, battery_advanced_cell_4.getUnlocalizedName()); - GameRegistry.registerItem(battery_advanced_cell_12, battery_advanced_cell_12.getUnlocalizedName()); - GameRegistry.registerItem(battery_lithium, battery_lithium.getUnlocalizedName()); - GameRegistry.registerItem(battery_lithium_cell, battery_lithium_cell.getUnlocalizedName()); - GameRegistry.registerItem(battery_lithium_cell_3, battery_lithium_cell_3.getUnlocalizedName()); - GameRegistry.registerItem(battery_lithium_cell_6, battery_lithium_cell_6.getUnlocalizedName()); - GameRegistry.registerItem(battery_schrabidium, battery_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(battery_schrabidium_cell, battery_schrabidium_cell.getUnlocalizedName()); - GameRegistry.registerItem(battery_schrabidium_cell_2, battery_schrabidium_cell_2.getUnlocalizedName()); - GameRegistry.registerItem(battery_schrabidium_cell_4, battery_schrabidium_cell_4.getUnlocalizedName()); - GameRegistry.registerItem(battery_spark, battery_spark.getUnlocalizedName()); - GameRegistry.registerItem(battery_trixite, battery_trixite.getUnlocalizedName()); - GameRegistry.registerItem(battery_spark_cell_6, battery_spark_cell_6.getUnlocalizedName()); - GameRegistry.registerItem(battery_spark_cell_25, battery_spark_cell_25.getUnlocalizedName()); - GameRegistry.registerItem(battery_spark_cell_100, battery_spark_cell_100.getUnlocalizedName()); - GameRegistry.registerItem(battery_spark_cell_1000, battery_spark_cell_1000.getUnlocalizedName()); - GameRegistry.registerItem(battery_spark_cell_2500, battery_spark_cell_2500.getUnlocalizedName()); - GameRegistry.registerItem(battery_spark_cell_10000, battery_spark_cell_10000.getUnlocalizedName()); - GameRegistry.registerItem(battery_spark_cell_power, battery_spark_cell_power.getUnlocalizedName()); - GameRegistry.registerItem(cube_power, cube_power.getUnlocalizedName()); - GameRegistry.registerItem(battery_creative, battery_creative.getUnlocalizedName()); - GameRegistry.registerItem(battery_potato, battery_potato.getUnlocalizedName()); - GameRegistry.registerItem(battery_potatos, battery_potatos.getUnlocalizedName()); - GameRegistry.registerItem(battery_sc_uranium, battery_sc_uranium.getUnlocalizedName()); - GameRegistry.registerItem(battery_sc_technetium, battery_sc_technetium.getUnlocalizedName()); - GameRegistry.registerItem(battery_sc_plutonium, battery_sc_plutonium.getUnlocalizedName()); - GameRegistry.registerItem(battery_sc_polonium, battery_sc_polonium.getUnlocalizedName()); - GameRegistry.registerItem(battery_sc_gold, battery_sc_gold.getUnlocalizedName()); - GameRegistry.registerItem(battery_sc_lead, battery_sc_lead.getUnlocalizedName()); - GameRegistry.registerItem(battery_sc_americium, battery_sc_americium.getUnlocalizedName()); - GameRegistry.registerItem(hev_battery, hev_battery.getUnlocalizedName()); - GameRegistry.registerItem(fusion_core, fusion_core.getUnlocalizedName()); - GameRegistry.registerItem(energy_core, energy_core.getUnlocalizedName()); - GameRegistry.registerItem(fusion_core_infinite, fusion_core_infinite.getUnlocalizedName()); - - //Folders - GameRegistry.registerItem(template_folder, template_folder.getUnlocalizedName()); - GameRegistry.registerItem(journal_pip, journal_pip.getUnlocalizedName()); - GameRegistry.registerItem(journal_bj, journal_bj.getUnlocalizedName()); - GameRegistry.registerItem(journal_silver, journal_silver.getUnlocalizedName()); - GameRegistry.registerItem(bobmazon_materials, bobmazon_materials.getUnlocalizedName()); - GameRegistry.registerItem(bobmazon_machines, bobmazon_machines.getUnlocalizedName()); - GameRegistry.registerItem(bobmazon_weapons, bobmazon_weapons.getUnlocalizedName()); - GameRegistry.registerItem(bobmazon_tools, bobmazon_tools.getUnlocalizedName()); - GameRegistry.registerItem(bobmazon_hidden, bobmazon_hidden.getUnlocalizedName()); - - //Hydraulic Press Stamps - GameRegistry.registerItem(stamp_stone_flat, stamp_stone_flat.getUnlocalizedName()); - GameRegistry.registerItem(stamp_stone_plate, stamp_stone_plate.getUnlocalizedName()); - GameRegistry.registerItem(stamp_stone_wire, stamp_stone_wire.getUnlocalizedName()); - GameRegistry.registerItem(stamp_stone_circuit, stamp_stone_circuit.getUnlocalizedName()); - GameRegistry.registerItem(stamp_iron_flat, stamp_iron_flat.getUnlocalizedName()); - GameRegistry.registerItem(stamp_iron_plate, stamp_iron_plate.getUnlocalizedName()); - GameRegistry.registerItem(stamp_iron_wire, stamp_iron_wire.getUnlocalizedName()); - GameRegistry.registerItem(stamp_iron_circuit, stamp_iron_circuit.getUnlocalizedName()); - GameRegistry.registerItem(stamp_steel_flat, stamp_steel_flat.getUnlocalizedName()); - GameRegistry.registerItem(stamp_steel_plate, stamp_steel_plate.getUnlocalizedName()); - GameRegistry.registerItem(stamp_steel_wire, stamp_steel_wire.getUnlocalizedName()); - GameRegistry.registerItem(stamp_steel_circuit, stamp_steel_circuit.getUnlocalizedName()); - GameRegistry.registerItem(stamp_titanium_flat, stamp_titanium_flat.getUnlocalizedName()); - GameRegistry.registerItem(stamp_titanium_plate, stamp_titanium_plate.getUnlocalizedName()); - GameRegistry.registerItem(stamp_titanium_wire, stamp_titanium_wire.getUnlocalizedName()); - GameRegistry.registerItem(stamp_titanium_circuit, stamp_titanium_circuit.getUnlocalizedName()); - GameRegistry.registerItem(stamp_obsidian_flat, stamp_obsidian_flat.getUnlocalizedName()); - GameRegistry.registerItem(stamp_obsidian_plate, stamp_obsidian_plate.getUnlocalizedName()); - GameRegistry.registerItem(stamp_obsidian_wire, stamp_obsidian_wire.getUnlocalizedName()); - GameRegistry.registerItem(stamp_obsidian_circuit, stamp_obsidian_circuit.getUnlocalizedName()); - GameRegistry.registerItem(stamp_desh_flat, stamp_desh_flat.getUnlocalizedName()); - GameRegistry.registerItem(stamp_desh_plate, stamp_desh_plate.getUnlocalizedName()); - GameRegistry.registerItem(stamp_desh_wire, stamp_desh_wire.getUnlocalizedName()); - GameRegistry.registerItem(stamp_desh_circuit, stamp_desh_circuit.getUnlocalizedName()); - GameRegistry.registerItem(stamp_357, stamp_357.getUnlocalizedName()); - GameRegistry.registerItem(stamp_44, stamp_44.getUnlocalizedName()); - GameRegistry.registerItem(stamp_9, stamp_9.getUnlocalizedName()); - GameRegistry.registerItem(stamp_50, stamp_50.getUnlocalizedName()); - - GameRegistry.registerItem(stamp_desh_357, stamp_desh_357.getUnlocalizedName()); - GameRegistry.registerItem(stamp_desh_44, stamp_desh_44.getUnlocalizedName()); - GameRegistry.registerItem(stamp_desh_9, stamp_desh_9.getUnlocalizedName()); - GameRegistry.registerItem(stamp_desh_50, stamp_desh_50.getUnlocalizedName()); - GameRegistry.registerItem(stamp_book, stamp_book.getUnlocalizedName()); - - //Molds - GameRegistry.registerItem(mold_base, mold_base.getUnlocalizedName()); - GameRegistry.registerItem(mold, mold.getUnlocalizedName()); - GameRegistry.registerItem(scraps, scraps.getUnlocalizedName()); - - //Machine Upgrades - GameRegistry.registerItem(upgrade_muffler, upgrade_muffler.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_template, upgrade_template.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_speed_1, upgrade_speed_1.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_speed_2, upgrade_speed_2.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_speed_3, upgrade_speed_3.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_effect_1, upgrade_effect_1.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_effect_2, upgrade_effect_2.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_effect_3, upgrade_effect_3.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_power_1, upgrade_power_1.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_power_2, upgrade_power_2.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_power_3, upgrade_power_3.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_fortune_1, upgrade_fortune_1.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_fortune_2, upgrade_fortune_2.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_fortune_3, upgrade_fortune_3.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_afterburn_1, upgrade_afterburn_1.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_afterburn_2, upgrade_afterburn_2.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_afterburn_3, upgrade_afterburn_3.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_overdrive_1, upgrade_overdrive_1.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_overdrive_2, upgrade_overdrive_2.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_overdrive_3, upgrade_overdrive_3.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_radius, upgrade_radius.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_health, upgrade_health.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_smelter, upgrade_smelter.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_shredder, upgrade_shredder.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_centrifuge, upgrade_centrifuge.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_crystallizer, upgrade_crystallizer.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_nullifier, upgrade_nullifier.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_screm, upgrade_screm.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_gc_speed, upgrade_gc_speed.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_5g, upgrade_5g.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_stack, upgrade_stack.getUnlocalizedName()); - GameRegistry.registerItem(upgrade_ejector, upgrade_ejector.getUnlocalizedName()); - - //Machine Templates - GameRegistry.registerItem(siren_track, siren_track.getUnlocalizedName()); - GameRegistry.registerItem(fluid_identifier, fluid_identifier.getUnlocalizedName()); - GameRegistry.registerItem(fluid_identifier_multi, fluid_identifier_multi.getUnlocalizedName()); - GameRegistry.registerItem(fluid_icon, fluid_icon.getUnlocalizedName()); - GameRegistry.registerItem(fluid_duct, fluid_duct.getUnlocalizedName()); - GameRegistry.registerItem(assembly_template, assembly_template.getUnlocalizedName()); - GameRegistry.registerItem(chemistry_template, chemistry_template.getUnlocalizedName()); - GameRegistry.registerItem(chemistry_icon, chemistry_icon.getUnlocalizedName()); - GameRegistry.registerItem(crucible_template, crucible_template.getUnlocalizedName()); - - //Machine Items - GameRegistry.registerItem(fuse, fuse.getUnlocalizedName()); - GameRegistry.registerItem(redcoil_capacitor, redcoil_capacitor.getUnlocalizedName()); - GameRegistry.registerItem(euphemium_capacitor, euphemium_capacitor.getUnlocalizedName()); - GameRegistry.registerItem(screwdriver, screwdriver.getUnlocalizedName()); - GameRegistry.registerItem(screwdriver_desh, screwdriver_desh.getUnlocalizedName()); - GameRegistry.registerItem(hand_drill, hand_drill.getUnlocalizedName()); - GameRegistry.registerItem(hand_drill_desh, hand_drill_desh.getUnlocalizedName()); - GameRegistry.registerItem(chemistry_set, chemistry_set.getUnlocalizedName()); - GameRegistry.registerItem(chemistry_set_boron, chemistry_set_boron.getUnlocalizedName()); - GameRegistry.registerItem(blowtorch, blowtorch.getUnlocalizedName()); - GameRegistry.registerItem(acetylene_torch, acetylene_torch.getUnlocalizedName()); - GameRegistry.registerItem(boltgun, boltgun.getUnlocalizedName()); - GameRegistry.registerItem(overfuse, overfuse.getUnlocalizedName()); - GameRegistry.registerItem(arc_electrode, arc_electrode.getUnlocalizedName()); - GameRegistry.registerItem(arc_electrode_burnt, arc_electrode_burnt.getUnlocalizedName()); - - //Particle Collider Fuel - GameRegistry.registerItem(part_lithium, part_lithium.getUnlocalizedName()); - GameRegistry.registerItem(part_beryllium, part_beryllium.getUnlocalizedName()); - GameRegistry.registerItem(part_carbon, part_carbon.getUnlocalizedName()); - GameRegistry.registerItem(part_copper, part_copper.getUnlocalizedName()); - GameRegistry.registerItem(part_plutonium, part_plutonium.getUnlocalizedName()); - - //FEL laser crystals - GameRegistry.registerItem(laser_crystal_co2, laser_crystal_co2.getUnlocalizedName()); - GameRegistry.registerItem(laser_crystal_bismuth, laser_crystal_bismuth.getUnlocalizedName()); - GameRegistry.registerItem(laser_crystal_cmb, laser_crystal_cmb.getUnlocalizedName()); - GameRegistry.registerItem(laser_crystal_dnt, laser_crystal_dnt.getUnlocalizedName()); - GameRegistry.registerItem(laser_crystal_digamma, laser_crystal_digamma.getUnlocalizedName()); - - //Catalyst Rune Sigils - GameRegistry.registerItem(rune_blank, rune_blank.getUnlocalizedName()); - GameRegistry.registerItem(rune_isa, rune_isa.getUnlocalizedName()); - GameRegistry.registerItem(rune_dagaz, rune_dagaz.getUnlocalizedName()); - GameRegistry.registerItem(rune_hagalaz, rune_hagalaz.getUnlocalizedName()); - GameRegistry.registerItem(rune_jera, rune_jera.getUnlocalizedName()); - GameRegistry.registerItem(rune_thurisaz, rune_thurisaz.getUnlocalizedName()); - - //AMS Catalysts - GameRegistry.registerItem(ams_catalyst_blank, ams_catalyst_blank.getUnlocalizedName()); - GameRegistry.registerItem(ams_catalyst_aluminium, ams_catalyst_aluminium.getUnlocalizedName()); - GameRegistry.registerItem(ams_catalyst_beryllium, ams_catalyst_beryllium.getUnlocalizedName()); - GameRegistry.registerItem(ams_catalyst_caesium, ams_catalyst_caesium.getUnlocalizedName()); - GameRegistry.registerItem(ams_catalyst_cerium, ams_catalyst_cerium.getUnlocalizedName()); - GameRegistry.registerItem(ams_catalyst_cobalt, ams_catalyst_cobalt.getUnlocalizedName()); - GameRegistry.registerItem(ams_catalyst_copper, ams_catalyst_copper.getUnlocalizedName()); - GameRegistry.registerItem(ams_catalyst_euphemium, ams_catalyst_euphemium.getUnlocalizedName()); - GameRegistry.registerItem(ams_catalyst_dineutronium, ams_catalyst_dineutronium.getUnlocalizedName()); - GameRegistry.registerItem(ams_catalyst_iron, ams_catalyst_iron.getUnlocalizedName()); - GameRegistry.registerItem(ams_catalyst_lithium, ams_catalyst_lithium.getUnlocalizedName()); - GameRegistry.registerItem(ams_catalyst_niobium, ams_catalyst_niobium.getUnlocalizedName()); - GameRegistry.registerItem(ams_catalyst_schrabidium, ams_catalyst_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(ams_catalyst_strontium, ams_catalyst_strontium.getUnlocalizedName()); - GameRegistry.registerItem(ams_catalyst_thorium, ams_catalyst_thorium.getUnlocalizedName()); - GameRegistry.registerItem(ams_catalyst_tungsten, ams_catalyst_tungsten.getUnlocalizedName()); - - //Shredder Blades - GameRegistry.registerItem(blades_steel, blades_steel.getUnlocalizedName()); - GameRegistry.registerItem(blades_titanium, blades_titanium.getUnlocalizedName()); - GameRegistry.registerItem(blades_advanced_alloy, blades_advanced_alloy.getUnlocalizedName()); - GameRegistry.registerItem(blades_desh, blades_desh.getUnlocalizedName()); - - //Generator Stuff - GameRegistry.registerItem(thermo_element, thermo_element.getUnlocalizedName()); - GameRegistry.registerItem(catalytic_converter, catalytic_converter.getUnlocalizedName()); - - //AMS Components - GameRegistry.registerItem(ams_focus_blank, ams_focus_blank.getUnlocalizedName()); - GameRegistry.registerItem(ams_focus_limiter, ams_focus_limiter.getUnlocalizedName()); - GameRegistry.registerItem(ams_focus_booster, ams_focus_booster.getUnlocalizedName()); - GameRegistry.registerItem(ams_muzzle, ams_muzzle.getUnlocalizedName()); - GameRegistry.registerItem(ams_lens, ams_lens.getUnlocalizedName()); - GameRegistry.registerItem(ams_core_sing, ams_core_sing.getUnlocalizedName()); - GameRegistry.registerItem(ams_core_wormhole, ams_core_wormhole.getUnlocalizedName()); - GameRegistry.registerItem(ams_core_eyeofharmony, ams_core_eyeofharmony.getUnlocalizedName()); - GameRegistry.registerItem(ams_core_thingy, ams_core_thingy.getUnlocalizedName()); - - //Fusion Shields - GameRegistry.registerItem(fusion_shield_tungsten, fusion_shield_tungsten.getUnlocalizedName()); - GameRegistry.registerItem(fusion_shield_desh, fusion_shield_desh.getUnlocalizedName()); - GameRegistry.registerItem(fusion_shield_chlorophyte, fusion_shield_chlorophyte.getUnlocalizedName()); - GameRegistry.registerItem(fusion_shield_vaporwave, fusion_shield_vaporwave.getUnlocalizedName()); - - //Breeding Rods - GameRegistry.registerItem(rod_empty, rod_empty.getUnlocalizedName()); - GameRegistry.registerItem(rod, rod.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_empty, rod_dual_empty.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual, rod_dual.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_empty, rod_quad_empty.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad, rod_quad.getUnlocalizedName()); - - //ZIRNOX parts - GameRegistry.registerItem(rod_zirnox_empty, rod_zirnox_empty.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_natural_uranium_fuel, rod_zirnox_natural_uranium_fuel.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_uranium_fuel, rod_zirnox_uranium_fuel.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_th232, rod_zirnox_th232.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_thorium_fuel, rod_zirnox_thorium_fuel.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_mox_fuel, rod_zirnox_mox_fuel.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_plutonium_fuel, rod_zirnox_plutonium_fuel.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_u233_fuel, rod_zirnox_u233_fuel.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_u235_fuel, rod_zirnox_u235_fuel.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_les_fuel, rod_zirnox_les_fuel.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_lithium, rod_zirnox_lithium.getUnlocalizedName()); - GameRegistry.registerItem(rod_zirnox_tritium, rod_zirnox_tritium.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_zfb_mox, rod_zirnox_zfb_mox.getUnlocalizedName()); - GameRegistry.registerItem(rod_zirnox, rod_zirnox.getUnlocalizedName()); - - GameRegistry.registerItem(rod_zirnox_natural_uranium_fuel_depleted, rod_zirnox_natural_uranium_fuel_depleted.getUnlocalizedName()); - GameRegistry.registerItem(rod_zirnox_uranium_fuel_depleted, rod_zirnox_uranium_fuel_depleted.getUnlocalizedName()); - GameRegistry.registerItem(rod_zirnox_thorium_fuel_depleted, rod_zirnox_thorium_fuel_depleted.getUnlocalizedName()); - GameRegistry.registerItem(rod_zirnox_mox_fuel_depleted, rod_zirnox_mox_fuel_depleted.getUnlocalizedName()); - GameRegistry.registerItem(rod_zirnox_plutonium_fuel_depleted, rod_zirnox_plutonium_fuel_depleted.getUnlocalizedName()); - GameRegistry.registerItem(rod_zirnox_u233_fuel_depleted, rod_zirnox_u233_fuel_depleted.getUnlocalizedName()); - GameRegistry.registerItem(rod_zirnox_u235_fuel_depleted, rod_zirnox_u235_fuel_depleted.getUnlocalizedName()); - GameRegistry.registerItem(rod_zirnox_les_fuel_depleted, rod_zirnox_les_fuel_depleted.getUnlocalizedName()); - GameRegistry.registerItem(rod_zirnox_zfb_mox_depleted, rod_zirnox_zfb_mox_depleted.getUnlocalizedName()); - - //Depleted Fuel - GameRegistry.registerItem(waste_natural_uranium, waste_natural_uranium.getUnlocalizedName()); - GameRegistry.registerItem(waste_uranium, waste_uranium.getUnlocalizedName()); - GameRegistry.registerItem(waste_thorium, waste_thorium.getUnlocalizedName()); - GameRegistry.registerItem(waste_mox, waste_mox.getUnlocalizedName()); - GameRegistry.registerItem(waste_plutonium, waste_plutonium.getUnlocalizedName()); - GameRegistry.registerItem(waste_u233, waste_u233.getUnlocalizedName()); - GameRegistry.registerItem(waste_u235, waste_u235.getUnlocalizedName()); - GameRegistry.registerItem(waste_schrabidium, waste_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(waste_zfb_mox, waste_zfb_mox.getUnlocalizedName()); - - GameRegistry.registerItem(waste_plate_u233, waste_plate_u233.getUnlocalizedName()); - GameRegistry.registerItem(waste_plate_u235, waste_plate_u235.getUnlocalizedName()); - GameRegistry.registerItem(waste_plate_mox, waste_plate_mox.getUnlocalizedName()); - GameRegistry.registerItem(waste_plate_pu239, waste_plate_pu239.getUnlocalizedName()); - GameRegistry.registerItem(waste_plate_ra226be, waste_plate_ra226be.getUnlocalizedName()); - GameRegistry.registerItem(waste_plate_sa326, waste_plate_sa326.getUnlocalizedName()); - GameRegistry.registerItem(waste_plate_pu238be, waste_plate_pu238be.getUnlocalizedName()); - - //Pile parts - GameRegistry.registerItem(pile_rod_uranium, pile_rod_uranium.getUnlocalizedName()); - GameRegistry.registerItem(pile_rod_pu239, pile_rod_pu239.getUnlocalizedName()); - GameRegistry.registerItem(pile_rod_plutonium, pile_rod_plutonium.getUnlocalizedName()); - GameRegistry.registerItem(pile_rod_source, pile_rod_source.getUnlocalizedName()); - GameRegistry.registerItem(pile_rod_boron, pile_rod_boron.getUnlocalizedName()); - GameRegistry.registerItem(pile_rod_lithium, pile_rod_lithium.getUnlocalizedName()); - GameRegistry.registerItem(pile_rod_detector, pile_rod_detector.getUnlocalizedName()); - - //Plate Fuels - GameRegistry.registerItem(plate_fuel_u233, plate_fuel_u233.getUnlocalizedName()); - GameRegistry.registerItem(plate_fuel_u235, plate_fuel_u235.getUnlocalizedName()); - GameRegistry.registerItem(plate_fuel_mox, plate_fuel_mox.getUnlocalizedName()); - GameRegistry.registerItem(plate_fuel_pu239, plate_fuel_pu239.getUnlocalizedName()); - GameRegistry.registerItem(plate_fuel_sa326, plate_fuel_sa326.getUnlocalizedName()); - GameRegistry.registerItem(plate_fuel_ra226be, plate_fuel_ra226be.getUnlocalizedName()); - GameRegistry.registerItem(plate_fuel_pu238be, plate_fuel_pu238be.getUnlocalizedName()); - - //PWR Parts - GameRegistry.registerItem(pwr_fuel, pwr_fuel.getUnlocalizedName()); - GameRegistry.registerItem(pwr_fuel_hot, pwr_fuel_hot.getUnlocalizedName()); - GameRegistry.registerItem(pwr_fuel_depleted, pwr_fuel_depleted.getUnlocalizedName()); - - //RBMK parts - GameRegistry.registerItem(rbmk_lid, rbmk_lid.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_lid_glass, rbmk_lid_glass.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_empty, rbmk_fuel_empty.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_ueu, rbmk_fuel_ueu.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_meu, rbmk_fuel_meu.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_heu233, rbmk_fuel_heu233.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_heu235, rbmk_fuel_heu235.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_thmeu, rbmk_fuel_thmeu.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_lep, rbmk_fuel_lep.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_mep, rbmk_fuel_mep.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_hep239, rbmk_fuel_hep239.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_hep241, rbmk_fuel_hep241.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_lea, rbmk_fuel_lea.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_mea, rbmk_fuel_mea.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_hea241, rbmk_fuel_hea241.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_hea242, rbmk_fuel_hea242.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_men, rbmk_fuel_men.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_hen, rbmk_fuel_hen.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_mox, rbmk_fuel_mox.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_les, rbmk_fuel_les.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_mes, rbmk_fuel_mes.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_hes, rbmk_fuel_hes.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_leaus, rbmk_fuel_leaus.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_heaus, rbmk_fuel_heaus.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_po210be, rbmk_fuel_po210be.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_ra226be, rbmk_fuel_ra226be.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_pu238be, rbmk_fuel_pu238be.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_balefire_gold, rbmk_fuel_balefire_gold.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_flashlead, rbmk_fuel_flashlead.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_balefire, rbmk_fuel_balefire.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_zfb_bismuth, rbmk_fuel_zfb_bismuth.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_zfb_pu241, rbmk_fuel_zfb_pu241.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_zfb_am_mix, rbmk_fuel_zfb_am_mix.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_drx, rbmk_fuel_drx.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_fuel_test, rbmk_fuel_test.getUnlocalizedName()); - - GameRegistry.registerItem(rbmk_pellet_ueu, rbmk_pellet_ueu.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_meu, rbmk_pellet_meu.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_heu233, rbmk_pellet_heu233.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_heu235, rbmk_pellet_heu235.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_thmeu, rbmk_pellet_thmeu.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_lep, rbmk_pellet_lep.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_mep, rbmk_pellet_mep.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_hep239, rbmk_pellet_hep239.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_hep241, rbmk_pellet_hep241.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_lea, rbmk_pellet_lea.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_mea, rbmk_pellet_mea.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_hea241, rbmk_pellet_hea241.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_hea242, rbmk_pellet_hea242.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_men, rbmk_pellet_men.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_hen, rbmk_pellet_hen.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_mox, rbmk_pellet_mox.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_les, rbmk_pellet_les.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_mes, rbmk_pellet_mes.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_hes, rbmk_pellet_hes.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_leaus, rbmk_pellet_leaus.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_heaus, rbmk_pellet_heaus.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_po210be, rbmk_pellet_po210be.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_ra226be, rbmk_pellet_ra226be.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_pu238be, rbmk_pellet_pu238be.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_balefire_gold, rbmk_pellet_balefire_gold.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_flashlead, rbmk_pellet_flashlead.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_balefire, rbmk_pellet_balefire.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_zfb_bismuth, rbmk_pellet_zfb_bismuth.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_zfb_pu241, rbmk_pellet_zfb_pu241.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_zfb_am_mix, rbmk_pellet_zfb_am_mix.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_pellet_drx, rbmk_pellet_drx.getUnlocalizedName()); - - GameRegistry.registerItem(watz_pellet, watz_pellet.getUnlocalizedName()); - GameRegistry.registerItem(watz_pellet_depleted, watz_pellet_depleted.getUnlocalizedName()); - - GameRegistry.registerItem(icf_pellet_empty, icf_pellet_empty.getUnlocalizedName()); - GameRegistry.registerItem(icf_pellet, icf_pellet.getUnlocalizedName()); - GameRegistry.registerItem(icf_pellet_depleted, icf_pellet_depleted.getUnlocalizedName()); - - GameRegistry.registerItem(debris_graphite, debris_graphite.getUnlocalizedName()); - GameRegistry.registerItem(debris_metal, debris_metal.getUnlocalizedName()); - GameRegistry.registerItem(debris_fuel, debris_fuel.getUnlocalizedName()); - GameRegistry.registerItem(debris_concrete, debris_concrete.getUnlocalizedName()); - GameRegistry.registerItem(debris_exchanger, debris_exchanger.getUnlocalizedName()); - GameRegistry.registerItem(debris_shrapnel, debris_shrapnel.getUnlocalizedName()); - GameRegistry.registerItem(debris_element, debris_element.getUnlocalizedName()); - GameRegistry.registerItem(undefined, undefined.getUnlocalizedName()); - - GameRegistry.registerItem(scrap_plastic, scrap_plastic.getUnlocalizedName()); - GameRegistry.registerItem(scrap, scrap.getUnlocalizedName()); - GameRegistry.registerItem(scrap_oil, scrap_oil.getUnlocalizedName()); - GameRegistry.registerItem(scrap_nuclear, scrap_nuclear.getUnlocalizedName()); - GameRegistry.registerItem(trinitite, trinitite.getUnlocalizedName()); - GameRegistry.registerItem(nuclear_waste_long, nuclear_waste_long.getUnlocalizedName()); - GameRegistry.registerItem(nuclear_waste_long_tiny, nuclear_waste_long_tiny.getUnlocalizedName()); - GameRegistry.registerItem(nuclear_waste_short, nuclear_waste_short.getUnlocalizedName()); - GameRegistry.registerItem(nuclear_waste_short_tiny, nuclear_waste_short_tiny.getUnlocalizedName()); - GameRegistry.registerItem(nuclear_waste_long_depleted, nuclear_waste_long_depleted.getUnlocalizedName()); - GameRegistry.registerItem(nuclear_waste_long_depleted_tiny, nuclear_waste_long_depleted_tiny.getUnlocalizedName()); - GameRegistry.registerItem(nuclear_waste_short_depleted, nuclear_waste_short_depleted.getUnlocalizedName()); - GameRegistry.registerItem(nuclear_waste_short_depleted_tiny, nuclear_waste_short_depleted_tiny.getUnlocalizedName()); - GameRegistry.registerItem(nuclear_waste, nuclear_waste.getUnlocalizedName()); - GameRegistry.registerItem(nuclear_waste_tiny, nuclear_waste_tiny.getUnlocalizedName()); - GameRegistry.registerItem(nuclear_waste_vitrified, nuclear_waste_vitrified.getUnlocalizedName()); - GameRegistry.registerItem(nuclear_waste_vitrified_tiny, nuclear_waste_vitrified_tiny.getUnlocalizedName()); - - //Spawners - GameRegistry.registerItem(spawn_chopper, spawn_chopper.getUnlocalizedName()); - GameRegistry.registerItem(spawn_worm, spawn_worm.getUnlocalizedName()); - GameRegistry.registerItem(spawn_ufo, spawn_ufo.getUnlocalizedName()); - GameRegistry.registerItem(spawn_duck, spawn_duck.getUnlocalizedName()); - - //Computer Tools - GameRegistry.registerItem(designator, designator.getUnlocalizedName()); - GameRegistry.registerItem(designator_range, designator_range.getUnlocalizedName()); - GameRegistry.registerItem(designator_manual, designator_manual.getUnlocalizedName()); - GameRegistry.registerItem(designator_arty_range, designator_arty_range.getUnlocalizedName()); - GameRegistry.registerItem(turret_chip, turret_chip.getUnlocalizedName()); - GameRegistry.registerItem(linker, linker.getUnlocalizedName()); - GameRegistry.registerItem(reactor_sensor, reactor_sensor.getUnlocalizedName()); - GameRegistry.registerItem(oil_detector, oil_detector.getUnlocalizedName()); - GameRegistry.registerItem(ore_density_scanner, ore_density_scanner.getUnlocalizedName()); - GameRegistry.registerItem(survey_scanner, survey_scanner.getUnlocalizedName()); - GameRegistry.registerItem(mirror_tool, mirror_tool.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_tool, rbmk_tool.getUnlocalizedName()); - GameRegistry.registerItem(drone_linker, drone_linker.getUnlocalizedName()); - GameRegistry.registerItem(radar_linker, radar_linker.getUnlocalizedName()); - GameRegistry.registerItem(coltan_tool, coltan_tool.getUnlocalizedName()); - GameRegistry.registerItem(power_net_tool, power_net_tool.getUnlocalizedName()); - GameRegistry.registerItem(analysis_tool, analysis_tool.getUnlocalizedName()); - GameRegistry.registerItem(coupling_tool, coupling_tool.getUnlocalizedName()); - GameRegistry.registerItem(dosimeter, dosimeter.getUnlocalizedName()); - GameRegistry.registerItem(geiger_counter, geiger_counter.getUnlocalizedName()); - GameRegistry.registerItem(digamma_diagnostic, digamma_diagnostic.getUnlocalizedName()); - GameRegistry.registerItem(pollution_detector, pollution_detector.getUnlocalizedName()); - GameRegistry.registerItem(containment_box, containment_box.getUnlocalizedName()); - GameRegistry.registerItem(plastic_bag, plastic_bag.getUnlocalizedName()); - - //Keys and Locks - GameRegistry.registerItem(key, key.getUnlocalizedName()); - GameRegistry.registerItem(key_red, key_red.getUnlocalizedName()); - GameRegistry.registerItem(key_red_cracked, key_red_cracked.getUnlocalizedName()); - GameRegistry.registerItem(key_kit, key_kit.getUnlocalizedName()); - GameRegistry.registerItem(key_fake, key_fake.getUnlocalizedName()); - GameRegistry.registerItem(mech_key, mech_key.getUnlocalizedName()); - GameRegistry.registerItem(pin, pin.getUnlocalizedName()); - GameRegistry.registerItem(padlock_rusty, padlock_rusty.getUnlocalizedName()); - GameRegistry.registerItem(padlock, padlock.getUnlocalizedName()); - GameRegistry.registerItem(padlock_reinforced, padlock_reinforced.getUnlocalizedName()); - GameRegistry.registerItem(padlock_unbreakable, padlock_unbreakable.getUnlocalizedName()); - GameRegistry.registerItem(launch_code_piece, launch_code_piece.getUnlocalizedName()); - GameRegistry.registerItem(launch_code, launch_code.getUnlocalizedName()); - GameRegistry.registerItem(launch_key, launch_key.getUnlocalizedName()); - - //Missiles - //Tier 0 - GameRegistry.registerItem(missile_test, missile_test.getUnlocalizedName()); - GameRegistry.registerItem(missile_taint, missile_taint.getUnlocalizedName()); - GameRegistry.registerItem(missile_micro, missile_micro.getUnlocalizedName()); - GameRegistry.registerItem(missile_bhole, missile_bhole.getUnlocalizedName()); - GameRegistry.registerItem(missile_schrabidium, missile_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(missile_emp, missile_emp.getUnlocalizedName()); - //Tier 1 - GameRegistry.registerItem(missile_generic, missile_generic.getUnlocalizedName()); - GameRegistry.registerItem(missile_decoy, missile_decoy.getUnlocalizedName()); - GameRegistry.registerItem(missile_incendiary, missile_incendiary.getUnlocalizedName()); - GameRegistry.registerItem(missile_cluster, missile_cluster.getUnlocalizedName()); - GameRegistry.registerItem(missile_buster, missile_buster.getUnlocalizedName()); - GameRegistry.registerItem(missile_stealth, missile_stealth.getUnlocalizedName()); - GameRegistry.registerItem(missile_anti_ballistic, missile_anti_ballistic.getUnlocalizedName()); - //Tier 2 - GameRegistry.registerItem(missile_strong, missile_strong.getUnlocalizedName()); - GameRegistry.registerItem(missile_incendiary_strong, missile_incendiary_strong.getUnlocalizedName()); - GameRegistry.registerItem(missile_cluster_strong, missile_cluster_strong.getUnlocalizedName()); - GameRegistry.registerItem(missile_buster_strong, missile_buster_strong.getUnlocalizedName()); - GameRegistry.registerItem(missile_emp_strong, missile_emp_strong.getUnlocalizedName()); - //Tier 3 - GameRegistry.registerItem(missile_burst, missile_burst.getUnlocalizedName()); - GameRegistry.registerItem(missile_inferno, missile_inferno.getUnlocalizedName()); - GameRegistry.registerItem(missile_rain, missile_rain.getUnlocalizedName()); - GameRegistry.registerItem(missile_drill, missile_drill.getUnlocalizedName()); - GameRegistry.registerItem(missile_shuttle, missile_shuttle.getUnlocalizedName()); - //Tier 4 - GameRegistry.registerItem(missile_nuclear, missile_nuclear.getUnlocalizedName()); - GameRegistry.registerItem(missile_nuclear_cluster, missile_nuclear_cluster.getUnlocalizedName()); - GameRegistry.registerItem(missile_volcano, missile_volcano.getUnlocalizedName()); - GameRegistry.registerItem(missile_doomsday, missile_doomsday.getUnlocalizedName()); - GameRegistry.registerItem(missile_doomsday_rusted, missile_doomsday_rusted.getUnlocalizedName()); - //Rockets - GameRegistry.registerItem(missile_carrier, missile_carrier.getUnlocalizedName()); - GameRegistry.registerItem(missile_soyuz, missile_soyuz.getUnlocalizedName()); - GameRegistry.registerItem(missile_soyuz_lander, missile_soyuz_lander.getUnlocalizedName()); - GameRegistry.registerItem(missile_custom, missile_custom.getUnlocalizedName()); - - //Missile Parts - GameRegistry.registerItem(mp_thruster_10_kerosene, mp_thruster_10_kerosene.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_10_kerosene_tec, mp_thruster_10_kerosene_tec.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_10_solid, mp_thruster_10_solid.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_10_xenon, mp_thruster_10_xenon.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_15_kerosene, mp_thruster_15_kerosene.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_15_kerosene_tec, mp_thruster_15_kerosene_tec.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_15_kerosene_dual, mp_thruster_15_kerosene_dual.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_15_kerosene_triple, mp_thruster_15_kerosene_triple.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_15_solid, mp_thruster_15_solid.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_15_solid_hexdecuple, mp_thruster_15_solid_hexdecuple.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_15_hydrogen, mp_thruster_15_hydrogen.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_15_hydrogen_dual, mp_thruster_15_hydrogen_dual.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_15_balefire_short, mp_thruster_15_balefire_short.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_15_balefire, mp_thruster_15_balefire.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_15_balefire_large, mp_thruster_15_balefire_large.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_15_balefire_large_rad, mp_thruster_15_balefire_large_rad.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_20_kerosene, mp_thruster_20_kerosene.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_20_kerosene_dual, mp_thruster_20_kerosene_dual.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_20_kerosene_triple, mp_thruster_20_kerosene_triple.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_20_solid, mp_thruster_20_solid.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_20_solid_multi, mp_thruster_20_solid_multi.getUnlocalizedName()); - GameRegistry.registerItem(mp_thruster_20_solid_multier, mp_thruster_20_solid_multier.getUnlocalizedName()); - GameRegistry.registerItem(mp_stability_10_flat, mp_stability_10_flat.getUnlocalizedName()); - GameRegistry.registerItem(mp_stability_10_cruise, mp_stability_10_cruise.getUnlocalizedName()); - GameRegistry.registerItem(mp_stability_10_space, mp_stability_10_space.getUnlocalizedName()); - GameRegistry.registerItem(mp_stability_15_flat, mp_stability_15_flat.getUnlocalizedName()); - GameRegistry.registerItem(mp_stability_15_thin, mp_stability_15_thin.getUnlocalizedName()); - GameRegistry.registerItem(mp_stability_15_soyuz, mp_stability_15_soyuz.getUnlocalizedName()); - GameRegistry.registerItem(mp_stability_20_flat, mp_stability_20_flat.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_kerosene, mp_fuselage_10_kerosene.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_kerosene_camo, mp_fuselage_10_kerosene_camo.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_kerosene_desert, mp_fuselage_10_kerosene_desert.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_kerosene_sky, mp_fuselage_10_kerosene_sky.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_kerosene_flames, mp_fuselage_10_kerosene_flames.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_kerosene_insulation, mp_fuselage_10_kerosene_insulation.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_kerosene_sleek, mp_fuselage_10_kerosene_sleek.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_kerosene_metal, mp_fuselage_10_kerosene_metal.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_kerosene_taint, mp_fuselage_10_kerosene_taint.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_solid, mp_fuselage_10_solid.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_solid_flames, mp_fuselage_10_solid_flames.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_solid_insulation, mp_fuselage_10_solid_insulation.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_solid_sleek, mp_fuselage_10_solid_sleek.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_solid_soviet_glory, mp_fuselage_10_solid_soviet_glory.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_solid_cathedral, mp_fuselage_10_solid_cathedral.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_solid_moonlit, mp_fuselage_10_solid_moonlit.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_solid_battery, mp_fuselage_10_solid_battery.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_solid_duracell, mp_fuselage_10_solid_duracell.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_xenon, mp_fuselage_10_xenon.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_xenon_bhole, mp_fuselage_10_xenon_bhole.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_long_kerosene, mp_fuselage_10_long_kerosene.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_long_kerosene_camo, mp_fuselage_10_long_kerosene_camo.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_long_kerosene_desert, mp_fuselage_10_long_kerosene_desert.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_long_kerosene_sky, mp_fuselage_10_long_kerosene_sky.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_long_kerosene_flames, mp_fuselage_10_long_kerosene_flames.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_long_kerosene_insulation, mp_fuselage_10_long_kerosene_insulation.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_long_kerosene_sleek, mp_fuselage_10_long_kerosene_sleek.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_long_kerosene_metal, mp_fuselage_10_long_kerosene_metal.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_long_kerosene_dash, mp_fuselage_10_long_kerosene_dash.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_long_kerosene_taint, mp_fuselage_10_long_kerosene_taint.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_long_kerosene_vap, mp_fuselage_10_long_kerosene_vap.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_long_solid, mp_fuselage_10_long_solid.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_long_solid_flames, mp_fuselage_10_long_solid_flames.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_long_solid_insulation, mp_fuselage_10_long_solid_insulation.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_long_solid_sleek, mp_fuselage_10_long_solid_sleek.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_long_solid_soviet_glory, mp_fuselage_10_long_solid_soviet_glory.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_long_solid_bullet, mp_fuselage_10_long_solid_bullet.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_long_solid_silvermoonlight, mp_fuselage_10_long_solid_silvermoonlight.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_15_kerosene, mp_fuselage_10_15_kerosene.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_15_solid, mp_fuselage_10_15_solid.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_15_hydrogen, mp_fuselage_10_15_hydrogen.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_10_15_balefire, mp_fuselage_10_15_balefire.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_kerosene, mp_fuselage_15_kerosene.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_kerosene_camo, mp_fuselage_15_kerosene_camo.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_kerosene_desert, mp_fuselage_15_kerosene_desert.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_kerosene_sky, mp_fuselage_15_kerosene_sky.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_kerosene_insulation, mp_fuselage_15_kerosene_insulation.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_kerosene_metal, mp_fuselage_15_kerosene_metal.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_kerosene_decorated, mp_fuselage_15_kerosene_decorated.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_kerosene_steampunk, mp_fuselage_15_kerosene_steampunk.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_kerosene_polite, mp_fuselage_15_kerosene_polite.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_kerosene_blackjack, mp_fuselage_15_kerosene_blackjack.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_kerosene_lambda, mp_fuselage_15_kerosene_lambda.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_kerosene_minuteman, mp_fuselage_15_kerosene_minuteman.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_kerosene_pip, mp_fuselage_15_kerosene_pip.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_kerosene_taint, mp_fuselage_15_kerosene_taint.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_kerosene_yuck, mp_fuselage_15_kerosene_yuck.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_solid, mp_fuselage_15_solid.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_solid_insulation, mp_fuselage_15_solid_insulation.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_solid_desh, mp_fuselage_15_solid_desh.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_solid_soviet_glory, mp_fuselage_15_solid_soviet_glory.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_solid_soviet_stank, mp_fuselage_15_solid_soviet_stank.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_solid_faust, mp_fuselage_15_solid_faust.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_solid_silvermoonlight, mp_fuselage_15_solid_silvermoonlight.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_solid_snowy, mp_fuselage_15_solid_snowy.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_solid_panorama, mp_fuselage_15_solid_panorama.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_solid_roses, mp_fuselage_15_solid_roses.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_solid_mimi, mp_fuselage_15_solid_mimi.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_hydrogen, mp_fuselage_15_hydrogen.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_hydrogen_cathedral, mp_fuselage_15_hydrogen_cathedral.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_balefire, mp_fuselage_15_balefire.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_20_kerosene, mp_fuselage_15_20_kerosene.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_20_kerosene_magnusson, mp_fuselage_15_20_kerosene_magnusson.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_15_20_solid, mp_fuselage_15_20_solid.getUnlocalizedName()); - GameRegistry.registerItem(mp_fuselage_20_kerosene, mp_fuselage_20_kerosene.getUnlocalizedName()); - GameRegistry.registerItem(mp_warhead_10_he, mp_warhead_10_he.getUnlocalizedName()); - GameRegistry.registerItem(mp_warhead_10_incendiary, mp_warhead_10_incendiary.getUnlocalizedName()); - GameRegistry.registerItem(mp_warhead_10_buster, mp_warhead_10_buster.getUnlocalizedName()); - GameRegistry.registerItem(mp_warhead_10_nuclear, mp_warhead_10_nuclear.getUnlocalizedName()); - GameRegistry.registerItem(mp_warhead_10_nuclear_large, mp_warhead_10_nuclear_large.getUnlocalizedName()); - GameRegistry.registerItem(mp_warhead_10_taint, mp_warhead_10_taint.getUnlocalizedName()); - GameRegistry.registerItem(mp_warhead_10_cloud, mp_warhead_10_cloud.getUnlocalizedName()); - GameRegistry.registerItem(mp_warhead_15_he, mp_warhead_15_he.getUnlocalizedName()); - GameRegistry.registerItem(mp_warhead_15_incendiary, mp_warhead_15_incendiary.getUnlocalizedName()); - GameRegistry.registerItem(mp_warhead_15_nuclear, mp_warhead_15_nuclear.getUnlocalizedName()); - GameRegistry.registerItem(mp_warhead_15_nuclear_shark, mp_warhead_15_nuclear_shark.getUnlocalizedName()); - GameRegistry.registerItem(mp_warhead_15_nuclear_mimi, mp_warhead_15_nuclear_mimi.getUnlocalizedName()); - GameRegistry.registerItem(mp_warhead_15_boxcar, mp_warhead_15_boxcar.getUnlocalizedName()); - GameRegistry.registerItem(mp_warhead_15_n2, mp_warhead_15_n2.getUnlocalizedName()); - GameRegistry.registerItem(mp_warhead_15_balefire, mp_warhead_15_balefire.getUnlocalizedName()); - GameRegistry.registerItem(mp_warhead_15_turbine, mp_warhead_15_turbine.getUnlocalizedName()); - GameRegistry.registerItem(mp_warhead_20_he, mp_warhead_20_he.getUnlocalizedName()); - GameRegistry.registerItem(mp_chip_1, mp_chip_1.getUnlocalizedName()); - GameRegistry.registerItem(mp_chip_2, mp_chip_2.getUnlocalizedName()); - GameRegistry.registerItem(mp_chip_3, mp_chip_3.getUnlocalizedName()); - GameRegistry.registerItem(mp_chip_4, mp_chip_4.getUnlocalizedName()); - GameRegistry.registerItem(mp_chip_5, mp_chip_5.getUnlocalizedName()); - - /*GameRegistry.registerItem(missile_skin_camo, missile_skin_camo.getUnlocalizedName()); - GameRegistry.registerItem(missile_skin_desert, missile_skin_desert.getUnlocalizedName()); - GameRegistry.registerItem(missile_skin_flames, missile_skin_flames.getUnlocalizedName()); - GameRegistry.registerItem(missile_skin_manly_pink, missile_skin_manly_pink.getUnlocalizedName()); - GameRegistry.registerItem(missile_skin_orange_insulation, missile_skin_orange_insulation.getUnlocalizedName()); - GameRegistry.registerItem(missile_skin_sleek, missile_skin_sleek.getUnlocalizedName()); - GameRegistry.registerItem(missile_skin_soviet_glory, missile_skin_soviet_glory.getUnlocalizedName()); - GameRegistry.registerItem(missile_skin_soviet_stank, missile_skin_soviet_stank.getUnlocalizedName()); - GameRegistry.registerItem(missile_skin_metal, missile_skin_metal.getUnlocalizedName());*/ - - //Satellites - GameRegistry.registerItem(sat_mapper, sat_mapper.getUnlocalizedName()); - GameRegistry.registerItem(sat_scanner, sat_scanner.getUnlocalizedName()); - GameRegistry.registerItem(sat_radar, sat_radar.getUnlocalizedName()); - GameRegistry.registerItem(sat_laser, sat_laser.getUnlocalizedName()); - GameRegistry.registerItem(sat_foeq, sat_foeq.getUnlocalizedName()); - GameRegistry.registerItem(sat_resonator, sat_resonator.getUnlocalizedName()); - GameRegistry.registerItem(sat_miner, sat_miner.getUnlocalizedName()); - GameRegistry.registerItem(sat_lunar_miner, sat_lunar_miner.getUnlocalizedName()); - GameRegistry.registerItem(sat_gerald, sat_gerald.getUnlocalizedName()); - GameRegistry.registerItem(sat_chip, sat_chip.getUnlocalizedName()); - GameRegistry.registerItem(sat_interface, sat_interface.getUnlocalizedName()); - GameRegistry.registerItem(sat_coord, sat_coord.getUnlocalizedName()); - GameRegistry.registerItem(sat_designator, sat_designator.getUnlocalizedName()); - GameRegistry.registerItem(sat_relay, sat_relay.getUnlocalizedName()); - - //Guns - GameRegistry.registerItem(gun_revolver, gun_revolver.getUnlocalizedName()); - GameRegistry.registerItem(gun_revolver_saturnite, gun_revolver_saturnite.getUnlocalizedName()); - GameRegistry.registerItem(gun_revolver_gold, gun_revolver_gold.getUnlocalizedName()); - GameRegistry.registerItem(gun_revolver_schrabidium, gun_revolver_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(gun_revolver_cursed, gun_revolver_cursed.getUnlocalizedName()); - GameRegistry.registerItem(gun_revolver_nightmare, gun_revolver_nightmare.getUnlocalizedName()); - GameRegistry.registerItem(gun_revolver_nightmare2, gun_revolver_nightmare2.getUnlocalizedName()); - GameRegistry.registerItem(gun_revolver_pip, gun_revolver_pip.getUnlocalizedName()); - GameRegistry.registerItem(gun_revolver_nopip, gun_revolver_nopip.getUnlocalizedName()); - GameRegistry.registerItem(gun_revolver_blackjack, gun_revolver_blackjack.getUnlocalizedName()); - GameRegistry.registerItem(gun_revolver_silver, gun_revolver_silver.getUnlocalizedName()); - GameRegistry.registerItem(gun_revolver_red, gun_revolver_red.getUnlocalizedName()); - GameRegistry.registerItem(gun_bio_revolver, gun_bio_revolver.getUnlocalizedName()); - GameRegistry.registerItem(gun_deagle, gun_deagle.getUnlocalizedName()); - GameRegistry.registerItem(gun_uac_pistol, gun_uac_pistol.getUnlocalizedName()); - GameRegistry.registerItem(gun_flechette, gun_flechette.getUnlocalizedName()); - GameRegistry.registerItem(gun_ar15, gun_ar15.getUnlocalizedName()); - GameRegistry.registerItem(gun_calamity, gun_calamity.getUnlocalizedName()); - GameRegistry.registerItem(gun_m2, gun_m2.getUnlocalizedName()); - GameRegistry.registerItem(gun_minigun, gun_minigun.getUnlocalizedName()); - GameRegistry.registerItem(gun_lacunae, gun_lacunae.getUnlocalizedName()); - GameRegistry.registerItem(gun_folly, gun_folly.getUnlocalizedName()); - GameRegistry.registerItem(gun_b92, gun_b92.getUnlocalizedName()); - GameRegistry.registerItem(gun_b93, gun_b93.getUnlocalizedName()); - GameRegistry.registerItem(gun_rpg, gun_rpg.getUnlocalizedName()); - GameRegistry.registerItem(gun_karl, gun_karl.getUnlocalizedName()); - GameRegistry.registerItem(gun_panzerschreck, gun_panzerschreck.getUnlocalizedName()); - GameRegistry.registerItem(gun_quadro, gun_quadro.getUnlocalizedName()); - GameRegistry.registerItem(gun_hk69, gun_hk69.getUnlocalizedName()); - GameRegistry.registerItem(gun_congolake, gun_congolake.getUnlocalizedName()); - GameRegistry.registerItem(gun_stinger, gun_stinger.getUnlocalizedName()); - GameRegistry.registerItem(gun_fatman, gun_fatman.getUnlocalizedName()); - GameRegistry.registerItem(gun_proto, gun_proto.getUnlocalizedName()); - GameRegistry.registerItem(gun_mirv, gun_mirv.getUnlocalizedName()); - GameRegistry.registerItem(gun_bf, gun_bf.getUnlocalizedName()); - GameRegistry.registerItem(gun_chemthrower, gun_chemthrower.getUnlocalizedName()); - GameRegistry.registerItem(gun_mp40, gun_mp40.getUnlocalizedName()); - GameRegistry.registerItem(gun_thompson, gun_thompson.getUnlocalizedName()); - GameRegistry.registerItem(gun_uzi, gun_uzi.getUnlocalizedName()); - GameRegistry.registerItem(gun_uzi_silencer,gun_uzi_silencer.getUnlocalizedName()); - GameRegistry.registerItem(gun_uzi_saturnite, gun_uzi_saturnite.getUnlocalizedName()); - GameRegistry.registerItem(gun_uzi_saturnite_silencer,gun_uzi_saturnite_silencer.getUnlocalizedName()); - GameRegistry.registerItem(gun_uboinik, gun_uboinik.getUnlocalizedName()); - GameRegistry.registerItem(gun_remington, gun_remington.getUnlocalizedName()); - GameRegistry.registerItem(gun_spas12, gun_spas12.getUnlocalizedName()); - GameRegistry.registerItem(gun_benelli, gun_benelli.getUnlocalizedName()); - GameRegistry.registerItem(gun_supershotgun, gun_supershotgun.getUnlocalizedName()); - GameRegistry.registerItem(gun_ks23, gun_ks23.getUnlocalizedName()); - GameRegistry.registerItem(gun_sauer, gun_sauer.getUnlocalizedName()); - GameRegistry.registerItem(gun_lever_action, gun_lever_action.getUnlocalizedName()); - GameRegistry.registerItem(gun_lever_action_dark, gun_lever_action_dark.getUnlocalizedName()); - GameRegistry.registerItem(gun_lever_action_sonata, gun_lever_action_sonata.getUnlocalizedName()); - GameRegistry.registerItem(gun_bolt_action, gun_bolt_action.getUnlocalizedName()); - GameRegistry.registerItem(gun_bolt_action_green, gun_bolt_action_green.getUnlocalizedName()); - GameRegistry.registerItem(gun_bolt_action_saturnite, gun_bolt_action_saturnite.getUnlocalizedName()); - GameRegistry.registerItem(gun_mymy, gun_mymy.getUnlocalizedName()); - GameRegistry.registerItem(gun_coilgun, gun_coilgun.getUnlocalizedName()); - GameRegistry.registerItem(gun_xvl1456, gun_xvl1456.getUnlocalizedName()); - GameRegistry.registerItem(gun_osipr, gun_osipr.getUnlocalizedName()); - GameRegistry.registerItem(gun_immolator, gun_immolator.getUnlocalizedName()); - GameRegistry.registerItem(gun_flamer, gun_flamer.getUnlocalizedName()); - GameRegistry.registerItem(gun_cryolator, gun_cryolator.getUnlocalizedName()); - GameRegistry.registerItem(gun_cryocannon, gun_cryocannon.getUnlocalizedName()); - GameRegistry.registerItem(gun_fireext, gun_fireext.getUnlocalizedName()); - GameRegistry.registerItem(gun_mp, gun_mp.getUnlocalizedName()); - GameRegistry.registerItem(gun_bolter, gun_bolter.getUnlocalizedName()); - GameRegistry.registerItem(gun_bolter_digamma, gun_bolter_digamma.getUnlocalizedName()); - GameRegistry.registerItem(gun_zomg, gun_zomg.getUnlocalizedName()); - GameRegistry.registerItem(gun_emp, gun_emp.getUnlocalizedName()); - GameRegistry.registerItem(gun_revolver_inverted, gun_revolver_inverted.getUnlocalizedName()); - GameRegistry.registerItem(gun_jack, gun_jack.getUnlocalizedName()); - GameRegistry.registerItem(gun_spark, gun_spark.getUnlocalizedName()); - GameRegistry.registerItem(gun_hp, gun_hp.getUnlocalizedName()); - GameRegistry.registerItem(gun_euthanasia, gun_euthanasia.getUnlocalizedName()); - GameRegistry.registerItem(gun_skystinger, gun_skystinger.getUnlocalizedName()); - //GameRegistry.registerItem(gun_dash, gun_dash.getUnlocalizedName()); - //GameRegistry.registerItem(gun_twigun, gun_twigun.getUnlocalizedName()); - GameRegistry.registerItem(gun_defabricator, gun_defabricator.getUnlocalizedName()); - GameRegistry.registerItem(gun_vortex, gun_vortex.getUnlocalizedName()); - GameRegistry.registerItem(gun_super_shotgun, gun_super_shotgun.getUnlocalizedName()); - GameRegistry.registerItem(gun_moist_nugget, gun_moist_nugget.getUnlocalizedName()); - GameRegistry.registerItem(gun_darter, gun_darter.getUnlocalizedName()); - GameRegistry.registerItem(crucible, crucible.getUnlocalizedName()); - GameRegistry.registerItem(gun_glass_cannon, gun_glass_cannon.getUnlocalizedName()); - GameRegistry.registerItem(gun_lunatic_marksman, gun_lunatic_marksman.getUnlocalizedName()); - - //Ammo - GameRegistry.registerItem(gun_b92_ammo, gun_b92_ammo.getUnlocalizedName()); - GameRegistry.registerItem(gun_xvl1456_ammo, gun_xvl1456_ammo.getUnlocalizedName()); - GameRegistry.registerItem(gun_osipr_ammo, gun_osipr_ammo.getUnlocalizedName()); - GameRegistry.registerItem(gun_osipr_ammo2, gun_osipr_ammo2.getUnlocalizedName()); - GameRegistry.registerItem(gun_immolator_ammo, gun_immolator_ammo.getUnlocalizedName()); - GameRegistry.registerItem(gun_cryolator_ammo, gun_cryolator_ammo.getUnlocalizedName()); - GameRegistry.registerItem(gun_emp_ammo, gun_emp_ammo.getUnlocalizedName()); - GameRegistry.registerItem(gun_jack_ammo, gun_jack_ammo.getUnlocalizedName()); - GameRegistry.registerItem(gun_spark_ammo, gun_spark_ammo.getUnlocalizedName()); - GameRegistry.registerItem(gun_hp_ammo, gun_hp_ammo.getUnlocalizedName()); - GameRegistry.registerItem(gun_defabricator_ammo, gun_defabricator_ammo.getUnlocalizedName()); - GameRegistry.registerItem(gun_euthanasia_ammo, gun_euthanasia_ammo.getUnlocalizedName()); - - GameRegistry.registerItem(ammo_12gauge, ammo_12gauge.getUnlocalizedName()); - GameRegistry.registerItem(ammo_20gauge, ammo_20gauge.getUnlocalizedName()); - GameRegistry.registerItem(ammo_4gauge, ammo_4gauge.getUnlocalizedName()); - GameRegistry.registerItem(ammo_357, ammo_357.getUnlocalizedName()); - GameRegistry.registerItem(ammo_44, ammo_44.getUnlocalizedName()); - GameRegistry.registerItem(ammo_45, ammo_45.getUnlocalizedName()); - GameRegistry.registerItem(ammo_5mm, ammo_5mm.getUnlocalizedName()); - GameRegistry.registerItem(ammo_9mm, ammo_9mm.getUnlocalizedName()); - GameRegistry.registerItem(ammo_556, ammo_556.getUnlocalizedName()); - GameRegistry.registerItem(ammo_762, ammo_762.getUnlocalizedName()); - GameRegistry.registerItem(ammo_22lr, ammo_22lr.getUnlocalizedName()); - GameRegistry.registerItem(ammo_50ae, ammo_50ae.getUnlocalizedName()); - GameRegistry.registerItem(ammo_50bmg, ammo_50bmg.getUnlocalizedName()); - GameRegistry.registerItem(ammo_75bolt, ammo_75bolt.getUnlocalizedName()); - GameRegistry.registerItem(ammo_nuke, ammo_nuke.getUnlocalizedName()); - GameRegistry.registerItem(ammo_fuel, ammo_fuel.getUnlocalizedName()); - GameRegistry.registerItem(ammo_fireext, ammo_fireext.getUnlocalizedName()); - GameRegistry.registerItem(ammo_cell, ammo_cell.getUnlocalizedName()); - GameRegistry.registerItem(ammo_dart, ammo_dart.getUnlocalizedName()); - GameRegistry.registerItem(ammo_rocket, ammo_rocket.getUnlocalizedName()); - GameRegistry.registerItem(ammo_stinger_rocket, ammo_stinger_rocket.getUnlocalizedName()); - GameRegistry.registerItem(ammo_luna_sniper, ammo_luna_sniper.getUnlocalizedName()); - GameRegistry.registerItem(ammo_coilgun, ammo_coilgun.getUnlocalizedName()); - GameRegistry.registerItem(ammo_grenade, ammo_grenade.getUnlocalizedName()); - GameRegistry.registerItem(ammo_shell, ammo_shell.getUnlocalizedName()); - GameRegistry.registerItem(ammo_dgk, ammo_dgk.getUnlocalizedName()); - GameRegistry.registerItem(ammo_arty, ammo_arty.getUnlocalizedName()); - GameRegistry.registerItem(ammo_himars, ammo_himars.getUnlocalizedName()); - GameRegistry.registerItem(ammo_folly, ammo_folly.getUnlocalizedName()); - GameRegistry.registerItem(ammo_folly_nuclear, ammo_folly_nuclear.getUnlocalizedName()); - GameRegistry.registerItem(ammo_folly_du, ammo_folly_du.getUnlocalizedName()); - - //-C-l-i-p-s- Magazines - GameRegistry.registerItem(clip_revolver_iron, clip_revolver_iron.getUnlocalizedName()); - GameRegistry.registerItem(clip_revolver, clip_revolver.getUnlocalizedName()); - GameRegistry.registerItem(clip_revolver_gold, clip_revolver_gold.getUnlocalizedName()); - GameRegistry.registerItem(clip_revolver_lead, clip_revolver_lead.getUnlocalizedName()); - GameRegistry.registerItem(clip_revolver_schrabidium, clip_revolver_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(clip_revolver_cursed, clip_revolver_cursed.getUnlocalizedName()); - GameRegistry.registerItem(clip_revolver_nightmare, clip_revolver_nightmare.getUnlocalizedName()); - GameRegistry.registerItem(clip_revolver_nightmare2, clip_revolver_nightmare2.getUnlocalizedName()); - GameRegistry.registerItem(clip_revolver_pip, clip_revolver_pip.getUnlocalizedName()); - GameRegistry.registerItem(clip_revolver_nopip, clip_revolver_nopip.getUnlocalizedName()); - GameRegistry.registerItem(clip_rpg, clip_rpg.getUnlocalizedName()); - GameRegistry.registerItem(clip_stinger, clip_stinger.getUnlocalizedName()); - GameRegistry.registerItem(clip_fatman, clip_fatman.getUnlocalizedName()); - GameRegistry.registerItem(clip_mirv, clip_mirv.getUnlocalizedName()); - GameRegistry.registerItem(clip_bf, clip_bf.getUnlocalizedName()); - GameRegistry.registerItem(clip_mp40, clip_mp40.getUnlocalizedName()); - GameRegistry.registerItem(clip_uzi, clip_uzi.getUnlocalizedName()); - GameRegistry.registerItem(clip_uboinik, clip_uboinik.getUnlocalizedName()); - GameRegistry.registerItem(clip_lever_action, clip_lever_action.getUnlocalizedName()); - GameRegistry.registerItem(clip_bolt_action, clip_bolt_action.getUnlocalizedName()); - GameRegistry.registerItem(clip_xvl1456, clip_xvl1456.getUnlocalizedName()); - GameRegistry.registerItem(clip_osipr, clip_osipr.getUnlocalizedName()); - GameRegistry.registerItem(clip_immolator, clip_immolator.getUnlocalizedName()); - GameRegistry.registerItem(clip_cryolator, clip_cryolator.getUnlocalizedName()); - GameRegistry.registerItem(clip_mp, clip_mp.getUnlocalizedName()); - GameRegistry.registerItem(clip_emp, clip_emp.getUnlocalizedName()); - GameRegistry.registerItem(clip_jack, clip_jack.getUnlocalizedName()); - GameRegistry.registerItem(clip_spark, clip_spark.getUnlocalizedName()); - GameRegistry.registerItem(clip_hp, clip_hp.getUnlocalizedName()); - GameRegistry.registerItem(clip_euthanasia, clip_euthanasia.getUnlocalizedName()); - GameRegistry.registerItem(clip_defabricator, clip_defabricator.getUnlocalizedName()); - - GameRegistry.registerItem(ammo_container, ammo_container.getUnlocalizedName()); - - //Grenades - GameRegistry.registerItem(stick_dynamite, stick_dynamite.getUnlocalizedName()); //heave-ho! - GameRegistry.registerItem(stick_dynamite_fishing, stick_dynamite_fishing.getUnlocalizedName()); - GameRegistry.registerItem(stick_tnt, stick_tnt.getUnlocalizedName()); - GameRegistry.registerItem(stick_semtex, stick_semtex.getUnlocalizedName()); - GameRegistry.registerItem(stick_c4, stick_c4.getUnlocalizedName()); - GameRegistry.registerItem(grenade_generic, grenade_generic.getUnlocalizedName()); - GameRegistry.registerItem(grenade_strong, grenade_strong.getUnlocalizedName()); - GameRegistry.registerItem(grenade_frag, grenade_frag.getUnlocalizedName()); - GameRegistry.registerItem(grenade_fire, grenade_fire.getUnlocalizedName()); - GameRegistry.registerItem(grenade_shrapnel, grenade_shrapnel.getUnlocalizedName()); - GameRegistry.registerItem(grenade_cluster, grenade_cluster.getUnlocalizedName()); - GameRegistry.registerItem(grenade_flare, grenade_flare.getUnlocalizedName()); - GameRegistry.registerItem(grenade_electric, grenade_electric.getUnlocalizedName()); - GameRegistry.registerItem(grenade_poison, grenade_poison.getUnlocalizedName()); - GameRegistry.registerItem(grenade_gas, grenade_gas.getUnlocalizedName()); - GameRegistry.registerItem(grenade_cloud, grenade_cloud.getUnlocalizedName()); - GameRegistry.registerItem(grenade_pink_cloud, grenade_pink_cloud.getUnlocalizedName()); - GameRegistry.registerItem(grenade_smart, grenade_smart.getUnlocalizedName()); - GameRegistry.registerItem(grenade_mirv, grenade_mirv.getUnlocalizedName()); - GameRegistry.registerItem(grenade_breach, grenade_breach.getUnlocalizedName()); - GameRegistry.registerItem(grenade_burst, grenade_burst.getUnlocalizedName()); - GameRegistry.registerItem(grenade_pulse, grenade_pulse.getUnlocalizedName()); - GameRegistry.registerItem(grenade_plasma, grenade_plasma.getUnlocalizedName()); - GameRegistry.registerItem(grenade_tau, grenade_tau.getUnlocalizedName()); - GameRegistry.registerItem(grenade_schrabidium, grenade_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(grenade_nuke, grenade_nuke.getUnlocalizedName()); - GameRegistry.registerItem(grenade_lemon, grenade_lemon.getUnlocalizedName()); - GameRegistry.registerItem(grenade_gascan, grenade_gascan.getUnlocalizedName()); - GameRegistry.registerItem(grenade_kyiv, grenade_kyiv.getUnlocalizedName()); - GameRegistry.registerItem(grenade_mk2, grenade_mk2.getUnlocalizedName()); - GameRegistry.registerItem(grenade_aschrab, grenade_aschrab.getUnlocalizedName()); - GameRegistry.registerItem(grenade_nuclear, grenade_nuclear.getUnlocalizedName()); - GameRegistry.registerItem(grenade_zomg, grenade_zomg.getUnlocalizedName()); - GameRegistry.registerItem(grenade_black_hole, grenade_black_hole.getUnlocalizedName()); - - GameRegistry.registerItem(grenade_if_generic, grenade_if_generic.getUnlocalizedName()); - GameRegistry.registerItem(grenade_if_he, grenade_if_he.getUnlocalizedName()); - GameRegistry.registerItem(grenade_if_bouncy, grenade_if_bouncy.getUnlocalizedName()); - GameRegistry.registerItem(grenade_if_sticky, grenade_if_sticky.getUnlocalizedName()); - GameRegistry.registerItem(grenade_if_impact, grenade_if_impact.getUnlocalizedName()); - GameRegistry.registerItem(grenade_if_incendiary, grenade_if_incendiary.getUnlocalizedName()); - GameRegistry.registerItem(grenade_if_toxic, grenade_if_toxic.getUnlocalizedName()); - GameRegistry.registerItem(grenade_if_concussion, grenade_if_concussion.getUnlocalizedName()); - GameRegistry.registerItem(grenade_if_brimstone, grenade_if_brimstone.getUnlocalizedName()); - GameRegistry.registerItem(grenade_if_mystery, grenade_if_mystery.getUnlocalizedName()); - GameRegistry.registerItem(grenade_if_spark, grenade_if_spark.getUnlocalizedName()); - GameRegistry.registerItem(grenade_if_hopwire, grenade_if_hopwire.getUnlocalizedName()); - GameRegistry.registerItem(grenade_if_null, grenade_if_null.getUnlocalizedName()); - GameRegistry.registerItem(nuclear_waste_pearl, nuclear_waste_pearl.getUnlocalizedName()); - - //Disperser Canister - GameRegistry.registerItem(disperser_canister_empty, disperser_canister_empty.getUnlocalizedName()); - GameRegistry.registerItem(disperser_canister, disperser_canister.getUnlocalizedName()); - GameRegistry.registerItem(glyphid_gland_empty, glyphid_gland_empty.getUnlocalizedName()); - GameRegistry.registerItem(glyphid_gland, glyphid_gland.getUnlocalizedName()); - - GameRegistry.registerItem(ullapool_caber, ullapool_caber.getUnlocalizedName()); - GameRegistry.registerItem(weaponized_starblaster_cell, weaponized_starblaster_cell.getUnlocalizedName()); - - //Capes - GameRegistry.registerItem(cape_radiation, cape_radiation.getUnlocalizedName()); - GameRegistry.registerItem(cape_gasmask, cape_gasmask.getUnlocalizedName()); - GameRegistry.registerItem(cape_schrabidium, cape_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(cape_hidden, cape_hidden.getUnlocalizedName()); - - //Tools - GameRegistry.registerItem(dwarven_pickaxe, dwarven_pickaxe.getUnlocalizedName()); - GameRegistry.registerItem(schrabidium_sword, schrabidium_sword.getUnlocalizedName()); - GameRegistry.registerItem(schrabidium_hammer, schrabidium_hammer.getUnlocalizedName()); - GameRegistry.registerItem(shimmer_sledge, shimmer_sledge.getUnlocalizedName()); - GameRegistry.registerItem(shimmer_axe, shimmer_axe.getUnlocalizedName()); - //GameRegistry.registerItem(pch, pch.getUnlocalizedName()); //sike, nevermind - GameRegistry.registerItem(wood_gavel, wood_gavel.getUnlocalizedName()); - GameRegistry.registerItem(lead_gavel, lead_gavel.getUnlocalizedName()); - GameRegistry.registerItem(diamond_gavel, diamond_gavel.getUnlocalizedName()); - GameRegistry.registerItem(mese_gavel, mese_gavel.getUnlocalizedName()); - GameRegistry.registerItem(schrabidium_pickaxe, schrabidium_pickaxe.getUnlocalizedName()); - GameRegistry.registerItem(schrabidium_axe, schrabidium_axe.getUnlocalizedName()); - GameRegistry.registerItem(schrabidium_shovel, schrabidium_shovel.getUnlocalizedName()); - GameRegistry.registerItem(schrabidium_hoe, schrabidium_hoe.getUnlocalizedName()); - GameRegistry.registerItem(steel_sword, steel_sword.getUnlocalizedName()); - GameRegistry.registerItem(steel_pickaxe, steel_pickaxe.getUnlocalizedName()); - GameRegistry.registerItem(steel_axe, steel_axe.getUnlocalizedName()); - GameRegistry.registerItem(steel_shovel, steel_shovel.getUnlocalizedName()); - GameRegistry.registerItem(steel_hoe, steel_hoe.getUnlocalizedName()); - GameRegistry.registerItem(titanium_sword, titanium_sword.getUnlocalizedName()); - GameRegistry.registerItem(titanium_pickaxe, titanium_pickaxe.getUnlocalizedName()); - GameRegistry.registerItem(titanium_axe, titanium_axe.getUnlocalizedName()); - GameRegistry.registerItem(titanium_shovel, titanium_shovel.getUnlocalizedName()); - GameRegistry.registerItem(titanium_hoe, titanium_hoe.getUnlocalizedName()); - GameRegistry.registerItem(cobalt_sword, cobalt_sword.getUnlocalizedName()); - GameRegistry.registerItem(cobalt_pickaxe, cobalt_pickaxe.getUnlocalizedName()); - GameRegistry.registerItem(cobalt_axe, cobalt_axe.getUnlocalizedName()); - GameRegistry.registerItem(cobalt_shovel, cobalt_shovel.getUnlocalizedName()); - GameRegistry.registerItem(cobalt_hoe, cobalt_hoe.getUnlocalizedName()); - GameRegistry.registerItem(cobalt_decorated_sword, cobalt_decorated_sword.getUnlocalizedName()); - GameRegistry.registerItem(cobalt_decorated_pickaxe, cobalt_decorated_pickaxe.getUnlocalizedName()); - GameRegistry.registerItem(cobalt_decorated_axe, cobalt_decorated_axe.getUnlocalizedName()); - GameRegistry.registerItem(cobalt_decorated_shovel, cobalt_decorated_shovel.getUnlocalizedName()); - GameRegistry.registerItem(cobalt_decorated_hoe, cobalt_decorated_hoe.getUnlocalizedName()); - GameRegistry.registerItem(starmetal_sword, starmetal_sword.getUnlocalizedName()); - GameRegistry.registerItem(starmetal_pickaxe, starmetal_pickaxe.getUnlocalizedName()); - GameRegistry.registerItem(starmetal_axe, starmetal_axe.getUnlocalizedName()); - GameRegistry.registerItem(starmetal_shovel, starmetal_shovel.getUnlocalizedName()); - GameRegistry.registerItem(starmetal_hoe, starmetal_hoe.getUnlocalizedName()); - GameRegistry.registerItem(alloy_sword, alloy_sword.getUnlocalizedName()); - GameRegistry.registerItem(alloy_pickaxe, alloy_pickaxe.getUnlocalizedName()); - GameRegistry.registerItem(alloy_axe, alloy_axe.getUnlocalizedName()); - GameRegistry.registerItem(alloy_shovel, alloy_shovel.getUnlocalizedName()); - GameRegistry.registerItem(alloy_hoe, alloy_hoe.getUnlocalizedName()); - GameRegistry.registerItem(cmb_sword, cmb_sword.getUnlocalizedName()); - GameRegistry.registerItem(cmb_pickaxe, cmb_pickaxe.getUnlocalizedName()); - GameRegistry.registerItem(cmb_axe, cmb_axe.getUnlocalizedName()); - GameRegistry.registerItem(cmb_shovel, cmb_shovel.getUnlocalizedName()); - GameRegistry.registerItem(cmb_hoe, cmb_hoe.getUnlocalizedName()); - GameRegistry.registerItem(desh_sword, desh_sword.getUnlocalizedName()); - GameRegistry.registerItem(desh_pickaxe, desh_pickaxe.getUnlocalizedName()); - GameRegistry.registerItem(desh_axe, desh_axe.getUnlocalizedName()); - GameRegistry.registerItem(desh_shovel, desh_shovel.getUnlocalizedName()); - GameRegistry.registerItem(desh_hoe, desh_hoe.getUnlocalizedName()); - GameRegistry.registerItem(elec_sword, elec_sword.getUnlocalizedName()); - GameRegistry.registerItem(elec_pickaxe, elec_pickaxe.getUnlocalizedName()); - GameRegistry.registerItem(elec_axe, elec_axe.getUnlocalizedName()); - GameRegistry.registerItem(elec_shovel, elec_shovel.getUnlocalizedName()); - GameRegistry.registerItem(dnt_sword, dnt_sword.getUnlocalizedName()); - GameRegistry.registerItem(smashing_hammer, smashing_hammer.getUnlocalizedName()); - GameRegistry.registerItem(centri_stick, centri_stick.getUnlocalizedName()); - GameRegistry.registerItem(drax, drax.getUnlocalizedName()); - GameRegistry.registerItem(drax_mk2, drax_mk2.getUnlocalizedName()); - GameRegistry.registerItem(drax_mk3, drax_mk3.getUnlocalizedName()); - GameRegistry.registerItem(bismuth_pickaxe, bismuth_pickaxe.getUnlocalizedName()); - GameRegistry.registerItem(bismuth_axe, bismuth_axe.getUnlocalizedName()); - GameRegistry.registerItem(volcanic_pickaxe, volcanic_pickaxe.getUnlocalizedName()); - GameRegistry.registerItem(volcanic_axe, volcanic_axe.getUnlocalizedName()); - GameRegistry.registerItem(chlorophyte_pickaxe, chlorophyte_pickaxe.getUnlocalizedName()); - GameRegistry.registerItem(chlorophyte_axe, chlorophyte_axe.getUnlocalizedName()); - GameRegistry.registerItem(mese_pickaxe, mese_pickaxe.getUnlocalizedName()); - GameRegistry.registerItem(mese_axe, mese_axe.getUnlocalizedName()); GameRegistry.registerItem(matchstick, matchstick.getUnlocalizedName()); - GameRegistry.registerItem(balefire_and_steel, balefire_and_steel.getUnlocalizedName()); - GameRegistry.registerItem(crowbar, crowbar.getUnlocalizedName()); - GameRegistry.registerItem(wrench, wrench.getUnlocalizedName()); - GameRegistry.registerItem(wrench_archineer, wrench_archineer.getUnlocalizedName()); - GameRegistry.registerItem(wrench_flipped, wrench_flipped.getUnlocalizedName()); - GameRegistry.registerItem(memespoon, memespoon.getUnlocalizedName()); - GameRegistry.registerItem(saw, saw.getUnlocalizedName()); - GameRegistry.registerItem(bat, bat.getUnlocalizedName()); - GameRegistry.registerItem(bat_nail, bat_nail.getUnlocalizedName()); - GameRegistry.registerItem(golf_club, golf_club.getUnlocalizedName()); - GameRegistry.registerItem(pipe_rusty, pipe_rusty.getUnlocalizedName()); - GameRegistry.registerItem(pipe_lead, pipe_lead.getUnlocalizedName()); - GameRegistry.registerItem(reer_graar, reer_graar.getUnlocalizedName()); - GameRegistry.registerItem(stopsign, stopsign.getUnlocalizedName()); - GameRegistry.registerItem(sopsign, sopsign.getUnlocalizedName()); - GameRegistry.registerItem(chernobylsign, chernobylsign.getUnlocalizedName()); - - GameRegistry.registerItem(meteorite_sword, meteorite_sword.getUnlocalizedName()); - GameRegistry.registerItem(meteorite_sword_seared, meteorite_sword_seared.getUnlocalizedName()); - GameRegistry.registerItem(meteorite_sword_reforged, meteorite_sword_reforged.getUnlocalizedName()); - GameRegistry.registerItem(meteorite_sword_hardened, meteorite_sword_hardened.getUnlocalizedName()); - GameRegistry.registerItem(meteorite_sword_alloyed, meteorite_sword_alloyed.getUnlocalizedName()); - GameRegistry.registerItem(meteorite_sword_machined, meteorite_sword_machined.getUnlocalizedName()); - GameRegistry.registerItem(meteorite_sword_treated, meteorite_sword_treated.getUnlocalizedName()); - GameRegistry.registerItem(meteorite_sword_etched, meteorite_sword_etched.getUnlocalizedName()); - GameRegistry.registerItem(meteorite_sword_bred, meteorite_sword_bred.getUnlocalizedName()); - GameRegistry.registerItem(meteorite_sword_irradiated, meteorite_sword_irradiated.getUnlocalizedName()); - GameRegistry.registerItem(meteorite_sword_fused, meteorite_sword_fused.getUnlocalizedName()); - GameRegistry.registerItem(meteorite_sword_baleful, meteorite_sword_baleful.getUnlocalizedName()); - - //Multitool - GameRegistry.registerItem(multitool_hit, multitool_hit.getUnlocalizedName()); - GameRegistry.registerItem(multitool_dig, multitool_dig.getUnlocalizedName()); - GameRegistry.registerItem(multitool_silk, multitool_silk.getUnlocalizedName()); - GameRegistry.registerItem(multitool_ext, multitool_ext.getUnlocalizedName()); - GameRegistry.registerItem(multitool_miner, multitool_miner.getUnlocalizedName()); - GameRegistry.registerItem(multitool_beam, multitool_beam.getUnlocalizedName()); - GameRegistry.registerItem(multitool_sky, multitool_sky.getUnlocalizedName()); - GameRegistry.registerItem(multitool_mega, multitool_mega.getUnlocalizedName()); - GameRegistry.registerItem(multitool_joule, multitool_joule.getUnlocalizedName()); - GameRegistry.registerItem(multitool_decon, multitool_decon.getUnlocalizedName()); - - //Syringes & Pills - GameRegistry.registerItem(syringe_empty, syringe_empty.getUnlocalizedName()); - GameRegistry.registerItem(syringe_antidote, syringe_antidote.getUnlocalizedName()); - GameRegistry.registerItem(syringe_poison, syringe_poison.getUnlocalizedName()); - GameRegistry.registerItem(syringe_awesome, syringe_awesome.getUnlocalizedName()); - GameRegistry.registerItem(syringe_metal_empty, syringe_metal_empty.getUnlocalizedName()); - GameRegistry.registerItem(syringe_metal_stimpak, syringe_metal_stimpak.getUnlocalizedName()); - GameRegistry.registerItem(syringe_metal_medx, syringe_metal_medx.getUnlocalizedName()); - GameRegistry.registerItem(syringe_metal_psycho, syringe_metal_psycho.getUnlocalizedName()); - GameRegistry.registerItem(syringe_metal_super, syringe_metal_super.getUnlocalizedName()); - GameRegistry.registerItem(syringe_taint, syringe_taint.getUnlocalizedName()); - GameRegistry.registerItem(syringe_mkunicorn, syringe_mkunicorn.getUnlocalizedName()); - GameRegistry.registerItem(med_bag, med_bag.getUnlocalizedName()); - GameRegistry.registerItem(iv_empty, iv_empty.getUnlocalizedName()); - GameRegistry.registerItem(iv_blood, iv_blood.getUnlocalizedName()); - GameRegistry.registerItem(iv_xp_empty, iv_xp_empty.getUnlocalizedName()); - GameRegistry.registerItem(iv_xp, iv_xp.getUnlocalizedName()); - GameRegistry.registerItem(radaway, radaway.getUnlocalizedName()); - GameRegistry.registerItem(radaway_strong, radaway_strong.getUnlocalizedName()); - GameRegistry.registerItem(radaway_flush, radaway_flush.getUnlocalizedName()); - GameRegistry.registerItem(radx, radx.getUnlocalizedName()); - GameRegistry.registerItem(siox, siox.getUnlocalizedName()); - GameRegistry.registerItem(pill_herbal, pill_herbal.getUnlocalizedName()); - GameRegistry.registerItem(pill_iodine, pill_iodine.getUnlocalizedName()); - GameRegistry.registerItem(xanax, xanax.getUnlocalizedName()); - GameRegistry.registerItem(fmn, fmn.getUnlocalizedName()); - GameRegistry.registerItem(five_htp, five_htp.getUnlocalizedName()); - GameRegistry.registerItem(plan_c, plan_c.getUnlocalizedName()); - GameRegistry.registerItem(pill_red, pill_red.getUnlocalizedName()); - GameRegistry.registerItem(stealth_boy, stealth_boy.getUnlocalizedName()); - GameRegistry.registerItem(gas_mask_filter, gas_mask_filter.getUnlocalizedName()); - GameRegistry.registerItem(gas_mask_filter_mono, gas_mask_filter_mono.getUnlocalizedName()); - GameRegistry.registerItem(gas_mask_filter_combo, gas_mask_filter_combo.getUnlocalizedName()); - GameRegistry.registerItem(gas_mask_filter_rag, gas_mask_filter_rag.getUnlocalizedName()); - GameRegistry.registerItem(gas_mask_filter_piss, gas_mask_filter_piss.getUnlocalizedName()); - GameRegistry.registerItem(jetpack_tank, jetpack_tank.getUnlocalizedName()); - GameRegistry.registerItem(gun_kit_1, gun_kit_1.getUnlocalizedName()); - GameRegistry.registerItem(gun_kit_2, gun_kit_2.getUnlocalizedName()); - - //Food - GameRegistry.registerItem(bomb_waffle, bomb_waffle.getUnlocalizedName()); - GameRegistry.registerItem(schnitzel_vegan, schnitzel_vegan.getUnlocalizedName()); - GameRegistry.registerItem(cotton_candy, cotton_candy.getUnlocalizedName()); - GameRegistry.registerItem(apple_lead, apple_lead.getUnlocalizedName()); - GameRegistry.registerItem(apple_schrabidium, apple_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(tem_flakes, tem_flakes.getUnlocalizedName()); - GameRegistry.registerItem(glowing_stew, glowing_stew.getUnlocalizedName()); - GameRegistry.registerItem(balefire_scrambled, balefire_scrambled.getUnlocalizedName()); - GameRegistry.registerItem(balefire_and_ham, balefire_and_ham.getUnlocalizedName()); - GameRegistry.registerItem(lemon, lemon.getUnlocalizedName()); - GameRegistry.registerItem(definitelyfood, definitelyfood.getUnlocalizedName()); - GameRegistry.registerItem(loops, loops.getUnlocalizedName()); - GameRegistry.registerItem(loop_stew, loop_stew.getUnlocalizedName()); - GameRegistry.registerItem(spongebob_macaroni, spongebob_macaroni.getUnlocalizedName()); - GameRegistry.registerItem(fooditem, fooditem.getUnlocalizedName()); - GameRegistry.registerItem(twinkie, twinkie.getUnlocalizedName()); - GameRegistry.registerItem(static_sandwich, static_sandwich.getUnlocalizedName()); - GameRegistry.registerItem(pudding, pudding.getUnlocalizedName()); - GameRegistry.registerItem(pancake, pancake.getUnlocalizedName()); - GameRegistry.registerItem(nugget, nugget.getUnlocalizedName()); - GameRegistry.registerItem(peas, peas.getUnlocalizedName()); - GameRegistry.registerItem(marshmallow, marshmallow.getUnlocalizedName()); - GameRegistry.registerItem(cheese, cheese.getUnlocalizedName()); - GameRegistry.registerItem(quesadilla, quesadilla.getUnlocalizedName()); - GameRegistry.registerItem(glyphid_meat, glyphid_meat.getUnlocalizedName()); - GameRegistry.registerItem(glyphid_meat_grilled, glyphid_meat_grilled.getUnlocalizedName()); - GameRegistry.registerItem(egg_glyphid, egg_glyphid.getUnlocalizedName()); - GameRegistry.registerItem(med_ipecac, med_ipecac.getUnlocalizedName()); - GameRegistry.registerItem(med_ptsd, med_ptsd.getUnlocalizedName()); - GameRegistry.registerItem(canteen_vodka, canteen_vodka.getUnlocalizedName()); - GameRegistry.registerItem(canteen_fab, canteen_fab.getUnlocalizedName()); - GameRegistry.registerItem(mucho_mango, mucho_mango.getUnlocalizedName()); - GameRegistry.registerItem(chocolate, chocolate.getUnlocalizedName()); - - //Energy Drinks - GameRegistry.registerItem(can_empty, can_empty.getUnlocalizedName()); - GameRegistry.registerItem(can_smart, can_smart.getUnlocalizedName()); - GameRegistry.registerItem(can_creature, can_creature.getUnlocalizedName()); - GameRegistry.registerItem(can_redbomb, can_redbomb.getUnlocalizedName()); - GameRegistry.registerItem(can_mrsugar, can_mrsugar.getUnlocalizedName()); - GameRegistry.registerItem(can_overcharge, can_overcharge.getUnlocalizedName()); - GameRegistry.registerItem(can_luna, can_luna.getUnlocalizedName()); - GameRegistry.registerItem(can_bepis, can_bepis.getUnlocalizedName()); - GameRegistry.registerItem(can_breen, can_breen.getUnlocalizedName()); - GameRegistry.registerItem(can_mug, can_mug.getUnlocalizedName()); - - //Coffee - GameRegistry.registerItem(coffee, coffee.getUnlocalizedName()); - GameRegistry.registerItem(coffee_radium, coffee_radium.getUnlocalizedName()); - - //Cola - GameRegistry.registerItem(bottle_empty, bottle_empty.getUnlocalizedName()); - GameRegistry.registerItem(bottle_nuka, bottle_nuka.getUnlocalizedName()); - GameRegistry.registerItem(bottle_cherry, bottle_cherry.getUnlocalizedName()); - GameRegistry.registerItem(bottle_quantum, bottle_quantum.getUnlocalizedName()); - GameRegistry.registerItem(bottle_sparkle, bottle_sparkle.getUnlocalizedName()); - GameRegistry.registerItem(bottle_rad, bottle_rad.getUnlocalizedName()); - GameRegistry.registerItem(bottle2_empty, bottle2_empty.getUnlocalizedName()); - GameRegistry.registerItem(bottle2_korl, bottle2_korl.getUnlocalizedName()); - GameRegistry.registerItem(bottle2_fritz, bottle2_fritz.getUnlocalizedName()); - GameRegistry.registerItem(bottle2_korl_special, bottle2_korl_special.getUnlocalizedName()); - GameRegistry.registerItem(bottle2_fritz_special, bottle2_fritz_special.getUnlocalizedName()); - GameRegistry.registerItem(bottle_opener, bottle_opener.getUnlocalizedName()); - - //Flasks - GameRegistry.registerItem(flask_infusion, flask_infusion.getUnlocalizedName()); - - //Canned Food - GameRegistry.registerItem(canned_conserve, canned_conserve.getUnlocalizedName()); - - //Money - GameRegistry.registerItem(cap_nuka, cap_nuka.getUnlocalizedName()); - GameRegistry.registerItem(cap_quantum, cap_quantum.getUnlocalizedName()); - GameRegistry.registerItem(cap_sparkle, cap_sparkle.getUnlocalizedName()); - GameRegistry.registerItem(cap_rad, cap_rad.getUnlocalizedName()); - GameRegistry.registerItem(cap_korl, cap_korl.getUnlocalizedName()); - GameRegistry.registerItem(cap_fritz, cap_fritz.getUnlocalizedName()); - GameRegistry.registerItem(ring_pull, ring_pull.getUnlocalizedName()); - GameRegistry.registerItem(can_key, can_key.getUnlocalizedName()); - GameRegistry.registerItem(coin_creeper, coin_creeper.getUnlocalizedName()); - GameRegistry.registerItem(coin_radiation,coin_radiation.getUnlocalizedName()); - GameRegistry.registerItem(coin_maskman, coin_maskman.getUnlocalizedName()); - GameRegistry.registerItem(coin_worm, coin_worm.getUnlocalizedName()); - GameRegistry.registerItem(coin_ufo, coin_ufo.getUnlocalizedName()); - GameRegistry.registerItem(medal_liquidator, medal_liquidator.getUnlocalizedName()); - GameRegistry.registerItem(bottled_cloud, bottled_cloud.getUnlocalizedName()); - GameRegistry.registerItem(protection_charm, protection_charm.getUnlocalizedName()); - GameRegistry.registerItem(meteor_charm, meteor_charm.getUnlocalizedName()); - GameRegistry.registerItem(neutrino_lens, neutrino_lens.getUnlocalizedName()); - GameRegistry.registerItem(gas_tester, gas_tester.getUnlocalizedName()); - GameRegistry.registerItem(defuser_gold, defuser_gold.getUnlocalizedName()); - GameRegistry.registerItem(ballistic_gauntlet, ballistic_gauntlet.getUnlocalizedName()); - GameRegistry.registerItem(night_vision, night_vision.getUnlocalizedName()); - GameRegistry.registerItem(card_aos, card_aos.getUnlocalizedName()); - GameRegistry.registerItem(card_qos, card_qos.getUnlocalizedName()); - GameRegistry.registerItem(australium_iii, australium_iii.getUnlocalizedName()); - GameRegistry.registerItem(armor_battery, armor_battery.getUnlocalizedName()); - GameRegistry.registerItem(armor_battery_mk2, armor_battery_mk2.getUnlocalizedName()); - GameRegistry.registerItem(armor_battery_mk3, armor_battery_mk3.getUnlocalizedName()); - - //Chaos - GameRegistry.registerItem(chocolate_milk, chocolate_milk.getUnlocalizedName()); - GameRegistry.registerItem(cbt_device, cbt_device.getUnlocalizedName()); - GameRegistry.registerItem(cigarette, cigarette.getUnlocalizedName()); - GameRegistry.registerItem(crackpipe, crackpipe.getUnlocalizedName()); - GameRegistry.registerItem(bdcl, bdcl.getUnlocalizedName()); - - //Armor mods - GameRegistry.registerItem(attachment_mask, attachment_mask.getUnlocalizedName()); - GameRegistry.registerItem(attachment_mask_mono, attachment_mask_mono.getUnlocalizedName()); - GameRegistry.registerItem(back_tesla, back_tesla.getUnlocalizedName()); - GameRegistry.registerItem(servo_set, servo_set.getUnlocalizedName()); - GameRegistry.registerItem(servo_set_desh, servo_set_desh.getUnlocalizedName()); - GameRegistry.registerItem(pads_rubber, pads_rubber.getUnlocalizedName()); - GameRegistry.registerItem(pads_slime, pads_slime.getUnlocalizedName()); - GameRegistry.registerItem(pads_static, pads_static.getUnlocalizedName()); - GameRegistry.registerItem(cladding_paint, cladding_paint.getUnlocalizedName()); - GameRegistry.registerItem(cladding_rubber, cladding_rubber.getUnlocalizedName()); - GameRegistry.registerItem(cladding_lead, cladding_lead.getUnlocalizedName()); - GameRegistry.registerItem(cladding_desh, cladding_desh.getUnlocalizedName()); - GameRegistry.registerItem(cladding_ghiorsium, cladding_ghiorsium.getUnlocalizedName()); - GameRegistry.registerItem(cladding_iron, cladding_iron.getUnlocalizedName()); - GameRegistry.registerItem(cladding_obsidian, cladding_obsidian.getUnlocalizedName()); - GameRegistry.registerItem(insert_kevlar, insert_kevlar.getUnlocalizedName()); - GameRegistry.registerItem(insert_sapi, insert_sapi.getUnlocalizedName()); - GameRegistry.registerItem(insert_esapi, insert_esapi.getUnlocalizedName()); - GameRegistry.registerItem(insert_xsapi, insert_xsapi.getUnlocalizedName()); - GameRegistry.registerItem(insert_steel, insert_steel.getUnlocalizedName()); - GameRegistry.registerItem(insert_du, insert_du.getUnlocalizedName()); - GameRegistry.registerItem(insert_polonium, insert_polonium.getUnlocalizedName()); - GameRegistry.registerItem(insert_ghiorsium, insert_ghiorsium.getUnlocalizedName()); - GameRegistry.registerItem(insert_era, insert_era.getUnlocalizedName()); - GameRegistry.registerItem(insert_yharonite, insert_yharonite.getUnlocalizedName()); - GameRegistry.registerItem(insert_doxium, insert_doxium.getUnlocalizedName()); - GameRegistry.registerItem(armor_polish, armor_polish.getUnlocalizedName()); - GameRegistry.registerItem(bandaid, bandaid.getUnlocalizedName()); - GameRegistry.registerItem(serum, serum.getUnlocalizedName()); - GameRegistry.registerItem(quartz_plutonium, quartz_plutonium.getUnlocalizedName()); - GameRegistry.registerItem(morning_glory, morning_glory.getUnlocalizedName()); - GameRegistry.registerItem(lodestone, lodestone.getUnlocalizedName()); - GameRegistry.registerItem(horseshoe_magnet, horseshoe_magnet.getUnlocalizedName()); - GameRegistry.registerItem(industrial_magnet, industrial_magnet.getUnlocalizedName()); - GameRegistry.registerItem(bathwater, bathwater.getUnlocalizedName()); - GameRegistry.registerItem(bathwater_mk2, bathwater_mk2.getUnlocalizedName()); - GameRegistry.registerItem(spider_milk, spider_milk.getUnlocalizedName()); - GameRegistry.registerItem(ink, ink.getUnlocalizedName()); - GameRegistry.registerItem(heart_piece, heart_piece.getUnlocalizedName()); - GameRegistry.registerItem(heart_container, heart_container.getUnlocalizedName()); - GameRegistry.registerItem(heart_booster, heart_booster.getUnlocalizedName()); - GameRegistry.registerItem(heart_fab, heart_fab.getUnlocalizedName()); - GameRegistry.registerItem(black_diamond, black_diamond.getUnlocalizedName()); - GameRegistry.registerItem(wd40, wd40.getUnlocalizedName()); - GameRegistry.registerItem(scrumpy, scrumpy.getUnlocalizedName()); - GameRegistry.registerItem(wild_p, wild_p.getUnlocalizedName()); - GameRegistry.registerItem(fabsols_vodka, fabsols_vodka.getUnlocalizedName()); - GameRegistry.registerItem(shackles, shackles.getUnlocalizedName()); - GameRegistry.registerItem(injector_5htp, injector_5htp.getUnlocalizedName()); - GameRegistry.registerItem(injector_knife, injector_knife.getUnlocalizedName()); - - //Vehicles - GameRegistry.registerItem(boat_rubber, boat_rubber.getUnlocalizedName()); - GameRegistry.registerItem(cart, cart.getUnlocalizedName()); - GameRegistry.registerItem(train, train.getUnlocalizedName()); - GameRegistry.registerItem(drone, drone.getUnlocalizedName()); - - //High Explosive Lenses - GameRegistry.registerItem(early_explosive_lenses, early_explosive_lenses.getUnlocalizedName()); - GameRegistry.registerItem(explosive_lenses, explosive_lenses.getUnlocalizedName()); - - //The Gadget - //GameRegistry.registerItem(gadget_explosive, gadget_explosive.getUnlocalizedName()); - GameRegistry.registerItem(gadget_wireing, gadget_wireing.getUnlocalizedName()); - GameRegistry.registerItem(gadget_core, gadget_core.getUnlocalizedName()); - - //Little Boy - GameRegistry.registerItem(boy_shielding, boy_shielding.getUnlocalizedName()); - GameRegistry.registerItem(boy_target, boy_target.getUnlocalizedName()); - GameRegistry.registerItem(boy_bullet, boy_bullet.getUnlocalizedName()); - GameRegistry.registerItem(boy_propellant, boy_propellant.getUnlocalizedName()); - GameRegistry.registerItem(boy_igniter, boy_igniter.getUnlocalizedName());; - - //Fat Man - //GameRegistry.registerItem(man_explosive, man_explosive.getUnlocalizedName()); - GameRegistry.registerItem(man_igniter, man_igniter.getUnlocalizedName()); - GameRegistry.registerItem(man_core, man_core.getUnlocalizedName()); - - //Ivy Mike - GameRegistry.registerItem(mike_core, mike_core.getUnlocalizedName()); - GameRegistry.registerItem(mike_deut, mike_deut.getUnlocalizedName()); - GameRegistry.registerItem(mike_cooling_unit, mike_cooling_unit.getUnlocalizedName()); - - //Tsar Bomba - GameRegistry.registerItem(tsar_core, tsar_core.getUnlocalizedName()); - - //FLEIJA - GameRegistry.registerItem(fleija_igniter, fleija_igniter.getUnlocalizedName()); - GameRegistry.registerItem(fleija_propellant, fleija_propellant.getUnlocalizedName()); - GameRegistry.registerItem(fleija_core, fleija_core.getUnlocalizedName()); - - //Solinium - GameRegistry.registerItem(solinium_igniter, solinium_igniter.getUnlocalizedName()); - GameRegistry.registerItem(solinium_propellant, solinium_propellant.getUnlocalizedName()); - GameRegistry.registerItem(solinium_core, solinium_core.getUnlocalizedName()); - - //N2 - GameRegistry.registerItem(n2_charge, n2_charge.getUnlocalizedName()); - - //FSTBMB - GameRegistry.registerItem(egg_balefire_shard, egg_balefire_shard.getUnlocalizedName()); - GameRegistry.registerItem(egg_balefire, egg_balefire.getUnlocalizedName()); - - //Conventional Armor - GameRegistry.registerItem(goggles, goggles.getUnlocalizedName()); - GameRegistry.registerItem(ashglasses, ashglasses.getUnlocalizedName()); - GameRegistry.registerItem(gas_mask, gas_mask.getUnlocalizedName()); - GameRegistry.registerItem(gas_mask_m65, gas_mask_m65.getUnlocalizedName()); - GameRegistry.registerItem(gas_mask_mono, gas_mask_mono.getUnlocalizedName()); - GameRegistry.registerItem(gas_mask_olde, gas_mask_olde.getUnlocalizedName()); - GameRegistry.registerItem(mask_rag, mask_rag.getUnlocalizedName()); - GameRegistry.registerItem(mask_piss, mask_piss.getUnlocalizedName()); - //GameRegistry.registerItem(oxy_mask, oxy_mask.getUnlocalizedName()); - GameRegistry.registerItem(hat, hat.getUnlocalizedName()); - GameRegistry.registerItem(beta, beta.getUnlocalizedName()); - GameRegistry.registerItem(no9, no9.getUnlocalizedName()); - - GameRegistry.registerItem(steel_helmet, steel_helmet.getUnlocalizedName()); - GameRegistry.registerItem(steel_plate, steel_plate.getUnlocalizedName()); - GameRegistry.registerItem(steel_legs, steel_legs.getUnlocalizedName()); - GameRegistry.registerItem(steel_boots, steel_boots.getUnlocalizedName()); - GameRegistry.registerItem(titanium_helmet, titanium_helmet.getUnlocalizedName()); - GameRegistry.registerItem(titanium_plate, titanium_plate.getUnlocalizedName()); - GameRegistry.registerItem(titanium_legs, titanium_legs.getUnlocalizedName()); - GameRegistry.registerItem(titanium_boots, titanium_boots.getUnlocalizedName()); - GameRegistry.registerItem(alloy_helmet, alloy_helmet.getUnlocalizedName()); - GameRegistry.registerItem(alloy_plate, alloy_plate.getUnlocalizedName()); - GameRegistry.registerItem(alloy_legs, alloy_legs.getUnlocalizedName()); - GameRegistry.registerItem(alloy_boots, alloy_boots.getUnlocalizedName()); - - //Custom Rods - GameRegistry.registerItem(custom_tnt, custom_tnt.getUnlocalizedName()); - GameRegistry.registerItem(custom_nuke, custom_nuke.getUnlocalizedName()); - GameRegistry.registerItem(custom_hydro, custom_hydro.getUnlocalizedName()); - GameRegistry.registerItem(custom_amat, custom_amat.getUnlocalizedName()); - GameRegistry.registerItem(custom_dirty, custom_dirty.getUnlocalizedName()); - GameRegistry.registerItem(custom_schrab, custom_schrab.getUnlocalizedName()); - GameRegistry.registerItem(custom_fall, custom_fall.getUnlocalizedName()); - - //Power Armor - GameRegistry.registerItem(steamsuit_helmet, steamsuit_helmet.getUnlocalizedName()); - GameRegistry.registerItem(steamsuit_plate, steamsuit_plate.getUnlocalizedName()); - GameRegistry.registerItem(steamsuit_legs, steamsuit_legs.getUnlocalizedName()); - GameRegistry.registerItem(steamsuit_boots, steamsuit_boots.getUnlocalizedName()); - GameRegistry.registerItem(dieselsuit_helmet, dieselsuit_helmet.getUnlocalizedName()); - GameRegistry.registerItem(dieselsuit_plate, dieselsuit_plate.getUnlocalizedName()); - GameRegistry.registerItem(dieselsuit_legs, dieselsuit_legs.getUnlocalizedName()); - GameRegistry.registerItem(dieselsuit_boots, dieselsuit_boots.getUnlocalizedName()); - GameRegistry.registerItem(t45_helmet, t45_helmet.getUnlocalizedName()); - GameRegistry.registerItem(t45_plate, t45_plate.getUnlocalizedName()); - GameRegistry.registerItem(t45_legs, t45_legs.getUnlocalizedName()); - GameRegistry.registerItem(t45_boots, t45_boots.getUnlocalizedName()); - GameRegistry.registerItem(ajr_helmet, ajr_helmet.getUnlocalizedName()); - GameRegistry.registerItem(ajr_plate, ajr_plate.getUnlocalizedName()); - GameRegistry.registerItem(ajr_legs, ajr_legs.getUnlocalizedName()); - GameRegistry.registerItem(ajr_boots, ajr_boots.getUnlocalizedName()); - GameRegistry.registerItem(ajro_helmet, ajro_helmet.getUnlocalizedName()); - GameRegistry.registerItem(ajro_plate, ajro_plate.getUnlocalizedName()); - GameRegistry.registerItem(ajro_legs, ajro_legs.getUnlocalizedName()); - GameRegistry.registerItem(ajro_boots, ajro_boots.getUnlocalizedName()); - GameRegistry.registerItem(rpa_helmet, rpa_helmet.getUnlocalizedName()); - GameRegistry.registerItem(rpa_plate, rpa_plate.getUnlocalizedName()); - GameRegistry.registerItem(rpa_legs, rpa_legs.getUnlocalizedName()); - GameRegistry.registerItem(rpa_boots, rpa_boots.getUnlocalizedName()); - GameRegistry.registerItem(bj_helmet, bj_helmet.getUnlocalizedName()); - GameRegistry.registerItem(bj_plate, bj_plate.getUnlocalizedName()); - GameRegistry.registerItem(bj_plate_jetpack, bj_plate_jetpack.getUnlocalizedName()); - GameRegistry.registerItem(bj_legs, bj_legs.getUnlocalizedName()); - GameRegistry.registerItem(bj_boots, bj_boots.getUnlocalizedName()); - GameRegistry.registerItem(envsuit_helmet, envsuit_helmet.getUnlocalizedName()); - GameRegistry.registerItem(envsuit_plate, envsuit_plate.getUnlocalizedName()); - GameRegistry.registerItem(envsuit_legs, envsuit_legs.getUnlocalizedName()); - GameRegistry.registerItem(envsuit_boots, envsuit_boots.getUnlocalizedName()); - GameRegistry.registerItem(hev_helmet, hev_helmet.getUnlocalizedName()); - GameRegistry.registerItem(hev_plate, hev_plate.getUnlocalizedName()); - GameRegistry.registerItem(hev_legs, hev_legs.getUnlocalizedName()); - GameRegistry.registerItem(hev_boots, hev_boots.getUnlocalizedName()); - GameRegistry.registerItem(fau_helmet, fau_helmet.getUnlocalizedName()); - GameRegistry.registerItem(fau_plate, fau_plate.getUnlocalizedName()); - GameRegistry.registerItem(fau_legs, fau_legs.getUnlocalizedName()); - GameRegistry.registerItem(fau_boots, fau_boots.getUnlocalizedName()); - GameRegistry.registerItem(dns_helmet, dns_helmet.getUnlocalizedName()); - GameRegistry.registerItem(dns_plate, dns_plate.getUnlocalizedName()); - GameRegistry.registerItem(dns_legs, dns_legs.getUnlocalizedName()); - GameRegistry.registerItem(dns_boots, dns_boots.getUnlocalizedName()); - GameRegistry.registerItem(trenchmaster_helmet, trenchmaster_helmet.getUnlocalizedName()); - GameRegistry.registerItem(trenchmaster_plate, trenchmaster_plate.getUnlocalizedName()); - GameRegistry.registerItem(trenchmaster_legs, trenchmaster_legs.getUnlocalizedName()); - GameRegistry.registerItem(trenchmaster_boots, trenchmaster_boots.getUnlocalizedName()); - - //Nobody will ever read this anyway, so it shouldn't matter. - GameRegistry.registerItem(chainsaw, chainsaw.getUnlocalizedName()); - GameRegistry.registerItem(igniter, igniter.getUnlocalizedName()); - GameRegistry.registerItem(detonator, detonator.getUnlocalizedName()); - GameRegistry.registerItem(detonator_multi, detonator_multi.getUnlocalizedName()); - GameRegistry.registerItem(detonator_laser, detonator_laser.getUnlocalizedName()); - GameRegistry.registerItem(detonator_deadman, detonator_deadman.getUnlocalizedName()); - GameRegistry.registerItem(detonator_de, detonator_de.getUnlocalizedName()); - GameRegistry.registerItem(crate_caller, crate_caller.getUnlocalizedName()); - GameRegistry.registerItem(bomb_caller, bomb_caller.getUnlocalizedName()); - GameRegistry.registerItem(meteor_remote, meteor_remote.getUnlocalizedName()); - GameRegistry.registerItem(anchor_remote, anchor_remote.getUnlocalizedName()); - GameRegistry.registerItem(defuser, defuser.getUnlocalizedName()); - GameRegistry.registerItem(reacher, reacher.getUnlocalizedName()); - GameRegistry.registerItem(bismuth_tool, bismuth_tool.getUnlocalizedName()); - GameRegistry.registerItem(meltdown_tool, meltdown_tool.getUnlocalizedName()); - - GameRegistry.registerItem(hazmat_helmet, hazmat_helmet.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_plate, hazmat_plate.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_legs, hazmat_legs.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_boots, hazmat_boots.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_helmet_red, hazmat_helmet_red.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_plate_red, hazmat_plate_red.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_legs_red, hazmat_legs_red.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_boots_red, hazmat_boots_red.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_helmet_grey, hazmat_helmet_grey.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_plate_grey, hazmat_plate_grey.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_legs_grey, hazmat_legs_grey.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_boots_grey, hazmat_boots_grey.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_paa_helmet, hazmat_paa_helmet.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_paa_plate, hazmat_paa_plate.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_paa_legs, hazmat_paa_legs.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_paa_boots, hazmat_paa_boots.getUnlocalizedName()); - GameRegistry.registerItem(liquidator_helmet, liquidator_helmet.getUnlocalizedName()); - GameRegistry.registerItem(liquidator_plate, liquidator_plate.getUnlocalizedName()); - GameRegistry.registerItem(liquidator_legs, liquidator_legs.getUnlocalizedName()); - GameRegistry.registerItem(liquidator_boots, liquidator_boots.getUnlocalizedName()); - GameRegistry.registerItem(cmb_helmet, cmb_helmet.getUnlocalizedName()); - GameRegistry.registerItem(cmb_plate, cmb_plate.getUnlocalizedName()); - GameRegistry.registerItem(cmb_legs, cmb_legs.getUnlocalizedName()); - GameRegistry.registerItem(cmb_boots, cmb_boots.getUnlocalizedName()); - GameRegistry.registerItem(paa_plate, paa_plate.getUnlocalizedName()); - GameRegistry.registerItem(paa_legs, paa_legs.getUnlocalizedName()); - GameRegistry.registerItem(paa_boots, paa_boots.getUnlocalizedName()); - GameRegistry.registerItem(asbestos_helmet, asbestos_helmet.getUnlocalizedName()); - GameRegistry.registerItem(asbestos_plate, asbestos_plate.getUnlocalizedName()); - GameRegistry.registerItem(asbestos_legs, asbestos_legs.getUnlocalizedName()); - GameRegistry.registerItem(asbestos_boots, asbestos_boots.getUnlocalizedName()); - GameRegistry.registerItem(security_helmet, security_helmet.getUnlocalizedName()); - GameRegistry.registerItem(security_plate, security_plate.getUnlocalizedName()); - GameRegistry.registerItem(security_legs, security_legs.getUnlocalizedName()); - GameRegistry.registerItem(security_boots, security_boots.getUnlocalizedName()); - GameRegistry.registerItem(cobalt_helmet, cobalt_helmet.getUnlocalizedName()); - GameRegistry.registerItem(cobalt_plate, cobalt_plate.getUnlocalizedName()); - GameRegistry.registerItem(cobalt_legs, cobalt_legs.getUnlocalizedName()); - GameRegistry.registerItem(cobalt_boots, cobalt_boots.getUnlocalizedName()); - GameRegistry.registerItem(starmetal_helmet, starmetal_helmet.getUnlocalizedName()); - GameRegistry.registerItem(starmetal_plate, starmetal_plate.getUnlocalizedName()); - GameRegistry.registerItem(starmetal_legs, starmetal_legs.getUnlocalizedName()); - GameRegistry.registerItem(starmetal_boots, starmetal_boots.getUnlocalizedName()); - GameRegistry.registerItem(zirconium_legs, zirconium_legs.getUnlocalizedName()); - GameRegistry.registerItem(dnt_helmet, dnt_helmet.getUnlocalizedName()); - GameRegistry.registerItem(dnt_plate, dnt_plate.getUnlocalizedName()); - GameRegistry.registerItem(dnt_legs, dnt_legs.getUnlocalizedName()); - GameRegistry.registerItem(dnt_boots, dnt_boots.getUnlocalizedName()); - GameRegistry.registerItem(schrabidium_helmet, schrabidium_helmet.getUnlocalizedName()); - GameRegistry.registerItem(schrabidium_plate, schrabidium_plate.getUnlocalizedName()); - GameRegistry.registerItem(schrabidium_legs, schrabidium_legs.getUnlocalizedName()); - GameRegistry.registerItem(schrabidium_boots, schrabidium_boots.getUnlocalizedName()); - GameRegistry.registerItem(bismuth_helmet, bismuth_helmet.getUnlocalizedName()); - GameRegistry.registerItem(bismuth_plate, bismuth_plate.getUnlocalizedName()); - GameRegistry.registerItem(bismuth_legs, bismuth_legs.getUnlocalizedName()); - GameRegistry.registerItem(bismuth_boots, bismuth_boots.getUnlocalizedName()); - GameRegistry.registerItem(euphemium_helmet, euphemium_helmet.getUnlocalizedName()); - GameRegistry.registerItem(euphemium_plate, euphemium_plate.getUnlocalizedName()); - GameRegistry.registerItem(euphemium_legs, euphemium_legs.getUnlocalizedName()); - GameRegistry.registerItem(euphemium_boots, euphemium_boots.getUnlocalizedName()); - GameRegistry.registerItem(robes_helmet, robes_helmet.getUnlocalizedName()); - GameRegistry.registerItem(robes_plate, robes_plate.getUnlocalizedName()); - GameRegistry.registerItem(robes_legs, robes_legs.getUnlocalizedName()); - GameRegistry.registerItem(robes_boots, robes_boots.getUnlocalizedName()); - GameRegistry.registerItem(apple_euphemium, apple_euphemium.getUnlocalizedName()); - GameRegistry.registerItem(watch, watch.getUnlocalizedName()); - GameRegistry.registerItem(mask_of_infamy, mask_of_infamy.getUnlocalizedName()); - GameRegistry.registerItem(jackt, jackt.getUnlocalizedName()); - GameRegistry.registerItem(jackt2, jackt2.getUnlocalizedName()); - GameRegistry.registerItem(jetpack_fly, jetpack_fly.getUnlocalizedName()); - GameRegistry.registerItem(jetpack_break, jetpack_break.getUnlocalizedName()); - GameRegistry.registerItem(jetpack_vector, jetpack_vector.getUnlocalizedName()); - GameRegistry.registerItem(jetpack_boost, jetpack_boost.getUnlocalizedName()); - GameRegistry.registerItem(wings_limp, wings_limp.getUnlocalizedName()); - GameRegistry.registerItem(wings_murk, wings_murk.getUnlocalizedName()); - //GameRegistry.registerItem(australium_iv, australium_iv.getUnlocalizedName()); - //GameRegistry.registerItem(australium_v, australium_v.getUnlocalizedName()); - - //Expensive Ass Shit - GameRegistry.registerItem(crystal_horn, crystal_horn.getUnlocalizedName()); - GameRegistry.registerItem(crystal_charred, crystal_charred.getUnlocalizedName()); - - //OP Tools - GameRegistry.registerItem(wand, wand.getUnlocalizedName()); - GameRegistry.registerItem(wand_s, wand_s.getUnlocalizedName()); - GameRegistry.registerItem(wand_d, wand_d.getUnlocalizedName()); - GameRegistry.registerItem(structure_single, structure_single.getUnlocalizedName()); - GameRegistry.registerItem(structure_solid, structure_solid.getUnlocalizedName()); - GameRegistry.registerItem(structure_pattern, structure_pattern.getUnlocalizedName()); - GameRegistry.registerItem(structure_randomized, structure_randomized.getUnlocalizedName()); - GameRegistry.registerItem(structure_randomly, structure_randomly.getUnlocalizedName()); - GameRegistry.registerItem(structure_custommachine, structure_custommachine.getUnlocalizedName()); - GameRegistry.registerItem(rod_of_discord, rod_of_discord.getUnlocalizedName()); - GameRegistry.registerItem(polaroid, polaroid.getUnlocalizedName()); - GameRegistry.registerItem(glitch, glitch.getUnlocalizedName()); - GameRegistry.registerItem(book_secret, book_secret.getUnlocalizedName()); - GameRegistry.registerItem(book_of_, book_of_.getUnlocalizedName()); - GameRegistry.registerItem(page_of_, page_of_.getUnlocalizedName()); - GameRegistry.registerItem(book_lemegeton, book_lemegeton.getUnlocalizedName()); - GameRegistry.registerItem(burnt_bark, burnt_bark.getUnlocalizedName()); - - //Kits - GameRegistry.registerItem(nuke_starter_kit, nuke_starter_kit.getUnlocalizedName()); - GameRegistry.registerItem(nuke_advanced_kit, nuke_advanced_kit.getUnlocalizedName()); - GameRegistry.registerItem(nuke_commercially_kit, nuke_commercially_kit.getUnlocalizedName()); - GameRegistry.registerItem(nuke_electric_kit, nuke_electric_kit.getUnlocalizedName()); - GameRegistry.registerItem(gadget_kit, gadget_kit.getUnlocalizedName()); - GameRegistry.registerItem(boy_kit, boy_kit.getUnlocalizedName()); - GameRegistry.registerItem(man_kit, man_kit.getUnlocalizedName()); - GameRegistry.registerItem(mike_kit, mike_kit.getUnlocalizedName()); - GameRegistry.registerItem(tsar_kit, tsar_kit.getUnlocalizedName()); - GameRegistry.registerItem(prototype_kit, prototype_kit.getUnlocalizedName()); - GameRegistry.registerItem(fleija_kit, fleija_kit.getUnlocalizedName()); - GameRegistry.registerItem(solinium_kit, solinium_kit.getUnlocalizedName()); - GameRegistry.registerItem(multi_kit, multi_kit.getUnlocalizedName()); - GameRegistry.registerItem(custom_kit, custom_kit.getUnlocalizedName()); - GameRegistry.registerItem(missile_kit, missile_kit.getUnlocalizedName()); - GameRegistry.registerItem(grenade_kit, grenade_kit.getUnlocalizedName()); - GameRegistry.registerItem(t45_kit, t45_kit.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_kit, hazmat_kit.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_red_kit, hazmat_red_kit.getUnlocalizedName()); - GameRegistry.registerItem(hazmat_grey_kit, hazmat_grey_kit.getUnlocalizedName()); - GameRegistry.registerItem(kit_custom, kit_custom.getUnlocalizedName()); - GameRegistry.registerItem(euphemium_kit, euphemium_kit.getUnlocalizedName()); - GameRegistry.registerItem(kit_toolbox_empty, kit_toolbox_empty.getUnlocalizedName()); - GameRegistry.registerItem(kit_toolbox, kit_toolbox.getUnlocalizedName()); - GameRegistry.registerItem(letter, letter.getUnlocalizedName()); - - //Misile Loot Boxes - GameRegistry.registerItem(loot_10, loot_10.getUnlocalizedName()); - GameRegistry.registerItem(loot_15, loot_15.getUnlocalizedName()); - GameRegistry.registerItem(loot_misc, loot_misc.getUnlocalizedName()); - - //THIS is a bucket. - GameRegistry.registerItem(bucket_mud, bucket_mud.getUnlocalizedName()); - GameRegistry.registerItem(bucket_acid, bucket_acid.getUnlocalizedName()); - GameRegistry.registerItem(bucket_toxic, bucket_toxic.getUnlocalizedName()); - GameRegistry.registerItem(bucket_schrabidic_acid, bucket_schrabidic_acid.getUnlocalizedName()); - GameRegistry.registerItem(bucket_sulfuric_acid, bucket_sulfuric_acid.getUnlocalizedName()); - - //Door Items - GameRegistry.registerItem(door_metal, door_metal.getUnlocalizedName()); - GameRegistry.registerItem(door_office, door_office.getUnlocalizedName()); - GameRegistry.registerItem(door_bunker, door_bunker.getUnlocalizedName()); - GameRegistry.registerItem(door_red, door_red.getUnlocalizedName()); - GameRegistry.registerItem(sliding_blast_door_skin, sliding_blast_door_skin.getUnlocalizedName()); - - //Records - GameRegistry.registerItem(record_lc, record_lc.getUnlocalizedName()); - GameRegistry.registerItem(record_ss, record_ss.getUnlocalizedName()); - GameRegistry.registerItem(record_vc, record_vc.getUnlocalizedName()); - GameRegistry.registerItem(record_glass, record_glass.getUnlocalizedName()); - - //wow we're far down the item registry, is this the cellar? - GameRegistry.registerItem(book_guide, book_guide.getUnlocalizedName()); - GameRegistry.registerItem(book_lore, book_lore.getUnlocalizedName()); - GameRegistry.registerItem(holotape_image, holotape_image.getUnlocalizedName()); - GameRegistry.registerItem(holotape_damaged, holotape_damaged.getUnlocalizedName()); - - //Technical Items - GameRegistry.registerItem(b_smoke1, b_smoke1.getUnlocalizedName()); - GameRegistry.registerItem(b_smoke2, b_smoke2.getUnlocalizedName()); - GameRegistry.registerItem(b_smoke3, b_smoke3.getUnlocalizedName()); - GameRegistry.registerItem(b_smoke4, b_smoke4.getUnlocalizedName()); - GameRegistry.registerItem(b_smoke5, b_smoke5.getUnlocalizedName()); - GameRegistry.registerItem(b_smoke6, b_smoke6.getUnlocalizedName()); - GameRegistry.registerItem(b_smoke7, b_smoke7.getUnlocalizedName()); - GameRegistry.registerItem(b_smoke8, b_smoke8.getUnlocalizedName()); - GameRegistry.registerItem(chlorine1, chlorine1.getUnlocalizedName()); - GameRegistry.registerItem(chlorine2, chlorine2.getUnlocalizedName()); - GameRegistry.registerItem(chlorine3, chlorine3.getUnlocalizedName()); - GameRegistry.registerItem(chlorine4, chlorine4.getUnlocalizedName()); - GameRegistry.registerItem(chlorine5, chlorine5.getUnlocalizedName()); - GameRegistry.registerItem(chlorine6, chlorine6.getUnlocalizedName()); - GameRegistry.registerItem(chlorine7, chlorine7.getUnlocalizedName()); - GameRegistry.registerItem(chlorine8, chlorine8.getUnlocalizedName()); - GameRegistry.registerItem(pc1, pc1.getUnlocalizedName()); - GameRegistry.registerItem(pc2, pc2.getUnlocalizedName()); - GameRegistry.registerItem(pc3, pc3.getUnlocalizedName()); - GameRegistry.registerItem(pc4, pc4.getUnlocalizedName()); - GameRegistry.registerItem(pc5, pc5.getUnlocalizedName()); - GameRegistry.registerItem(pc6, pc6.getUnlocalizedName()); - GameRegistry.registerItem(pc7, pc7.getUnlocalizedName()); - GameRegistry.registerItem(pc8, pc8.getUnlocalizedName()); - GameRegistry.registerItem(cloud1, cloud1.getUnlocalizedName()); - GameRegistry.registerItem(cloud2, cloud2.getUnlocalizedName()); - GameRegistry.registerItem(cloud3, cloud3.getUnlocalizedName()); - GameRegistry.registerItem(cloud4, cloud4.getUnlocalizedName()); - GameRegistry.registerItem(cloud5, cloud5.getUnlocalizedName()); - GameRegistry.registerItem(cloud6, cloud6.getUnlocalizedName()); - GameRegistry.registerItem(cloud7, cloud7.getUnlocalizedName()); - GameRegistry.registerItem(cloud8, cloud8.getUnlocalizedName()); - GameRegistry.registerItem(orange1, orange1.getUnlocalizedName()); - GameRegistry.registerItem(orange2, orange2.getUnlocalizedName()); - GameRegistry.registerItem(orange3, orange3.getUnlocalizedName()); - GameRegistry.registerItem(orange4, orange4.getUnlocalizedName()); - GameRegistry.registerItem(orange5, orange5.getUnlocalizedName()); - GameRegistry.registerItem(orange6, orange6.getUnlocalizedName()); - GameRegistry.registerItem(orange7, orange7.getUnlocalizedName()); - GameRegistry.registerItem(orange8, orange8.getUnlocalizedName()); - GameRegistry.registerItem(flame_1, flame_1.getUnlocalizedName()); - GameRegistry.registerItem(flame_2, flame_2.getUnlocalizedName()); - GameRegistry.registerItem(flame_3, flame_3.getUnlocalizedName()); - GameRegistry.registerItem(flame_4, flame_4.getUnlocalizedName()); - GameRegistry.registerItem(flame_5, flame_5.getUnlocalizedName()); - GameRegistry.registerItem(flame_6, flame_6.getUnlocalizedName()); - GameRegistry.registerItem(flame_7, flame_7.getUnlocalizedName()); - GameRegistry.registerItem(flame_8, flame_8.getUnlocalizedName()); - GameRegistry.registerItem(flame_9, flame_9.getUnlocalizedName()); - GameRegistry.registerItem(flame_10, flame_10.getUnlocalizedName()); - GameRegistry.registerItem(ln2_1, ln2_1.getUnlocalizedName()); - GameRegistry.registerItem(ln2_2, ln2_2.getUnlocalizedName()); - GameRegistry.registerItem(ln2_3, ln2_3.getUnlocalizedName()); - GameRegistry.registerItem(ln2_4, ln2_4.getUnlocalizedName()); - GameRegistry.registerItem(ln2_5, ln2_5.getUnlocalizedName()); - GameRegistry.registerItem(ln2_6, ln2_6.getUnlocalizedName()); - GameRegistry.registerItem(ln2_7, ln2_7.getUnlocalizedName()); - GameRegistry.registerItem(ln2_8, ln2_8.getUnlocalizedName()); - GameRegistry.registerItem(ln2_9, ln2_9.getUnlocalizedName()); - GameRegistry.registerItem(ln2_10, ln2_10.getUnlocalizedName()); - GameRegistry.registerItem(nothing, nothing.getUnlocalizedName()); - GameRegistry.registerItem(achievement_icon, achievement_icon.getUnlocalizedName()); - GameRegistry.registerItem(bob_metalworks, bob_metalworks.getUnlocalizedName()); - GameRegistry.registerItem(bob_assembly, bob_assembly.getUnlocalizedName()); - GameRegistry.registerItem(bob_chemistry, bob_chemistry.getUnlocalizedName()); - GameRegistry.registerItem(bob_oil, bob_oil.getUnlocalizedName()); - GameRegistry.registerItem(bob_nuclear, bob_nuclear.getUnlocalizedName()); - GameRegistry.registerItem(mysteryshovel, mysteryshovel.getUnlocalizedName()); - GameRegistry.registerItem(memory, memory.getUnlocalizedName()); - } - - public static void addRemap(String unloc, Item item, Enum sub) { - addRemap(unloc, item, sub.ordinal()); - } - - public static void addRemap(String unloc, Item item, int meta) { - Item remap = new ItemRemap(item, meta).setUnlocalizedName(unloc).setTextureName(RefStrings.MODID + ":plate_armor_titanium"); - GameRegistry.registerItem(remap, remap.getUnlocalizedName()); - } -} +package com.hbm.items; + +import com.hbm.blocks.ModBlocks; +import com.hbm.config.VersatileConfig; +import com.hbm.handler.BucketHandler; +import com.hbm.handler.ability.IToolAreaAbility; +import com.hbm.handler.ability.IToolHarvestAbility; +import com.hbm.handler.ability.IWeaponAbility; +import com.hbm.interfaces.ICustomWarhead.SaltedFuel.HalfLifeType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.material.MaterialShapes; +import com.hbm.inventory.material.Mats; +import com.hbm.items.ItemAmmoEnums.*; +import com.hbm.items.ItemEnums.*; +import com.hbm.items.armor.*; +import com.hbm.items.armor.IArmorDisableModel.EnumPlayerPart; +import com.hbm.items.bomb.*; +import com.hbm.items.food.*; +import com.hbm.items.machine.*; +import com.hbm.items.machine.ItemFELCrystal.EnumWavelengths; +import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; +import com.hbm.items.machine.ItemPlateFuel.FunctionEnum; +import com.hbm.items.machine.ItemPWRFuel.EnumPWRFuel; +import com.hbm.items.machine.ItemRBMKRod.EnumBurnFunc; +import com.hbm.items.machine.ItemRBMKRod.EnumDepleteFunc; +import com.hbm.items.machine.ItemRTGPelletDepleted.DepletedRTGMaterial; +import com.hbm.items.machine.ItemStamp.StampType; +import com.hbm.items.special.*; +import com.hbm.items.special.ItemPlasticScrap.ScrapType; +import com.hbm.items.tool.*; +import com.hbm.items.tool.ItemToolAbility.EnumToolType; +import com.hbm.items.weapon.*; +import com.hbm.items.weapon.ItemCustomMissilePart.*; +import com.hbm.items.weapon.ItemMissile.MissileFormFactor; +import com.hbm.items.weapon.ItemMissile.MissileFuel; +import com.hbm.items.weapon.ItemMissile.MissileTier; +import com.hbm.items.weapon.sedna.factory.GunFactory; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.potion.HbmPotion; +import com.hbm.tileentity.machine.rbmk.IRBMKFluxReceiver.NType; +import com.hbm.util.RTGUtil; + +import api.hbm.block.IToolable.ToolType; +import cpw.mods.fml.common.registry.GameRegistry; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.Item.ToolMaterial; +import net.minecraft.item.ItemArmor.ArmorMaterial; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemSoup; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.EnumChatFormatting; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.common.util.EnumHelper; +import net.minecraftforge.fluids.FluidContainerRegistry; +import net.minecraftforge.fluids.FluidStack; + +public class ModItems { + + public static void mainRegistry() { + initializeItem(); + registerItem(); + } + + public static Item redstone_sword; + public static Item big_sword; + + public static Item ingot_th232; + public static Item ingot_uranium; + public static Item ingot_u233; + public static Item ingot_u235; + public static Item ingot_u238; + public static Item ingot_u238m2; + public static Item ingot_plutonium; + public static Item ingot_pu238; + public static Item ingot_pu239; + public static Item ingot_pu240; + public static Item ingot_pu241; + public static Item ingot_pu_mix; + public static Item ingot_am241; + public static Item ingot_am242; + public static Item ingot_am_mix; + public static Item ingot_neptunium; + public static Item ingot_polonium; + public static Item ingot_technetium; + public static Item ingot_co60; + public static Item ingot_sr90; + public static Item ingot_au198; + public static Item ingot_pb209; + public static Item ingot_ra226; + public static Item ingot_titanium; + public static Item ingot_cobalt; + public static Item sulfur; + public static Item nitra; + public static Item nitra_small; + + public static Item coke; + public static Item lignite; + public static Item powder_lignite; + public static Item briquette; + public static Item coal_infernal; + public static Item cinnebar; + public static Item powder_ash; + public static Item powder_limestone; + public static Item powder_cement; + + public static Item niter; + public static Item ingot_copper; + public static Item ingot_red_copper; + public static Item ingot_tungsten; + public static Item ingot_aluminium; + public static Item fluorite; + public static Item ingot_beryllium; + public static Item ingot_schraranium; + public static Item ingot_schrabidium; + public static Item ingot_schrabidate; + public static Item ingot_plutonium_fuel; + public static Item ingot_neptunium_fuel; + public static Item ingot_uranium_fuel; + public static Item ingot_mox_fuel; + public static Item ingot_americium_fuel; + public static Item ingot_schrabidium_fuel; + public static Item ingot_thorium_fuel; + public static Item nugget_uranium_fuel; + public static Item nugget_thorium_fuel; + public static Item nugget_plutonium_fuel; + public static Item nugget_neptunium_fuel; + public static Item nugget_mox_fuel; + public static Item nugget_americium_fuel; + public static Item nugget_schrabidium_fuel; + public static Item ingot_advanced_alloy; + public static Item ingot_tcalloy; + public static Item ingot_cdalloy; + public static Item ingot_bismuth_bronze; + public static Item ingot_arsenic_bronze; + public static Item ingot_bscco; + public static Item lithium; + public static Item ingot_zirconium; + public static Item ingot_hes; + public static Item ingot_les; + public static Item nugget_hes; + public static Item nugget_les; + public static Item ingot_magnetized_tungsten; + public static Item ingot_combine_steel; + public static Item ingot_solinium; + public static Item nugget_solinium; + public static Item ingot_phosphorus; + public static Item ingot_semtex; + public static Item ingot_c4; + public static Item ingot_boron; + public static Item ingot_graphite; + public static Item ingot_firebrick; + public static Item ingot_smore; + + public static Item ingot_gh336; + public static Item nugget_gh336; + + public static Item ingot_australium; + public static Item nugget_australium; + public static Item nugget_australium_lesser; + public static Item nugget_australium_greater; + + public static Item ingot_desh; + public static Item nugget_desh; + public static Item ingot_dineutronium; + public static Item nugget_dineutronium; + public static Item powder_dineutronium; + public static Item ingot_tetraneutronium; + public static Item nugget_tetraneutronium; + public static Item powder_tetraneutronium; + public static Item ingot_starmetal; + public static Item ingot_gunmetal; + public static Item plate_gunmetal; + public static Item ingot_weaponsteel; + public static Item plate_weaponsteel; + public static Item ingot_saturnite; + public static Item plate_saturnite; + public static Item ingot_ferrouranium; + public static Item ingot_electronium; + public static Item nugget_zirconium; + public static Item nugget_mercury; + public static Item ingot_mercury; //It's to prevent any ambiguity, as it was treated as a full ingot in the past anyway + public static Item bottle_mercury; + + public static Item ore_byproduct; //byproduct of variable purity and quantity, can be treated as a nugget, might require shredding or acidizing, depends on the type + + public static Item ore_bedrock; + public static Item ore_centrifuged; + public static Item ore_cleaned; + public static Item ore_separated; + public static Item ore_purified; + public static Item ore_nitrated; + public static Item ore_nitrocrystalline; + public static Item ore_deepcleaned; + public static Item ore_seared; + //public static Item ore_radcleaned; + public static Item ore_enriched; //final stage + public static Item bedrock_ore_base; + public static Item bedrock_ore; + public static Item bedrock_ore_fragment; + + public static Item billet_uranium; + public static Item billet_u233; + public static Item billet_u235; + public static Item billet_u238; + public static Item billet_th232; + public static Item billet_plutonium; + public static Item billet_pu238; + public static Item billet_pu239; + public static Item billet_pu240; + public static Item billet_pu241; + public static Item billet_pu_mix; + public static Item billet_am241; + public static Item billet_am242; + public static Item billet_am_mix; + public static Item billet_neptunium; + public static Item billet_polonium; + public static Item billet_technetium; + public static Item billet_cobalt; + public static Item billet_co60; + public static Item billet_sr90; + public static Item billet_au198; + public static Item billet_pb209; + public static Item billet_ra226; + public static Item billet_actinium; + public static Item billet_schrabidium; + public static Item billet_solinium; + public static Item billet_gh336; + public static Item billet_australium; + public static Item billet_australium_lesser; + public static Item billet_australium_greater; + public static Item billet_uranium_fuel; + public static Item billet_thorium_fuel; + public static Item billet_plutonium_fuel; + public static Item billet_neptunium_fuel; + public static Item billet_mox_fuel; + public static Item billet_americium_fuel; + public static Item billet_les; + public static Item billet_schrabidium_fuel; + public static Item billet_hes; + public static Item billet_po210be; + public static Item billet_ra226be; + public static Item billet_pu238be; + public static Item billet_yharonite; + public static Item billet_balefire_gold; + public static Item billet_flashlead; + public static Item billet_zfb_bismuth; + public static Item billet_zfb_pu241; + public static Item billet_zfb_am_mix; + public static Item billet_beryllium; + public static Item billet_bismuth; + public static Item billet_zirconium; + public static Item billet_nuclear_waste; + + public static Item nugget_th232; + public static Item nugget_uranium; + public static Item nugget_u233; + public static Item nugget_u235; + public static Item nugget_u238; + public static Item nugget_plutonium; + public static Item nugget_pu238; + public static Item nugget_pu239; + public static Item nugget_pu240; + public static Item nugget_pu241; + public static Item nugget_pu_mix; + public static Item nugget_am241; + public static Item nugget_am242; + public static Item nugget_am_mix; + public static Item nugget_neptunium; + public static Item nugget_polonium; + public static Item nugget_technetium; + public static Item nugget_cobalt; + public static Item nugget_co60; + public static Item nugget_sr90; + public static Item nugget_au198; + public static Item nugget_pb209; + public static Item nugget_ra226; + public static Item nugget_actinium; + public static Item plate_titanium; + public static Item plate_aluminium; + public static Item neutron_reflector; + public static Item ingot_steel; + public static Item plate_steel; + public static Item plate_iron; + public static Item ingot_lead; + public static Item nugget_lead; + public static Item ingot_bismuth; + public static Item nugget_bismuth; + public static Item ingot_arsenic; + public static Item nugget_arsenic; + public static Item ingot_tantalium; + public static Item nugget_tantalium; + public static Item ingot_silicon; + public static Item billet_silicon; + public static Item nugget_silicon; + public static Item ingot_niobium; + public static Item nugget_niobium; + public static Item ingot_osmiridium; + public static Item nugget_osmiridium; + public static Item plate_lead; + public static Item plate_dura_steel; + public static Item nugget_schrabidium; + public static Item plate_schrabidium; + public static Item plate_copper; + public static Item nugget_beryllium; + public static Item plate_gold; + public static Item hazmat_cloth; + public static Item hazmat_cloth_red; + public static Item hazmat_cloth_grey; + public static Item asbestos_cloth; + public static Item rag; + public static Item rag_damp; + public static Item rag_piss; + public static Item filter_coal; + public static Item plate_advanced_alloy; + public static Item plate_combine_steel; + public static Item plate_mixed; + public static Item plate_paa; + @Deprecated public static Item pipes_steel; + public static Item drill_titanium; + public static Item plate_dalekanium; + public static Item plate_euphemium; + public static Item bolt; + public static Item bolt_spike; + public static Item plate_polymer; + public static Item plate_kevlar; + public static Item plate_dineutronium; + public static Item plate_desh; + public static Item plate_bismuth; + public static Item photo_panel; + public static Item sat_base; + public static Item thruster_nuclear; + public static Item safety_fuse; + public static Item part_generic; + public static Item item_secret; + public static Item ingot_metal; + public static Item chemical_dye; + public static Item crayon; + + public static Item undefined; + + public static Item ball_resin; + public static Item ingot_dura_steel; + public static Item ingot_polymer; + public static Item ingot_bakelite; + public static Item ingot_biorubber; + public static Item ingot_rubber; + public static Item ingot_pet; + public static Item ingot_pc; + public static Item ingot_pvc; + + public static Item ingot_fiberglass; + public static Item ingot_asbestos; + public static Item powder_asbestos; + public static Item ingot_calcium; + public static Item powder_calcium; + public static Item ingot_cadmium; + public static Item powder_cadmium; + public static Item powder_bismuth; + public static Item ingot_mud; + public static Item ingot_cft; + + public static Item ingot_lanthanium; + public static Item ingot_actinium; + + public static Item ingot_meteorite; + public static Item ingot_meteorite_forged; + public static Item blade_meteorite; + public static Item ingot_steel_dusted; + public static Item ingot_chainsteel; + + public static Item plate_armor_titanium; + public static Item plate_armor_ajr; + public static Item plate_armor_hev; + public static Item plate_armor_lunar; + public static Item plate_armor_fau; + public static Item plate_armor_dnt; + + public static Item oil_tar; + public static Item solid_fuel; + public static Item solid_fuel_presto; + public static Item solid_fuel_presto_triplet; + public static Item solid_fuel_bf; + public static Item solid_fuel_presto_bf; + public static Item solid_fuel_presto_triplet_bf; + public static Item rocket_fuel; + + public static Item crystal_coal; + public static Item crystal_iron; + public static Item crystal_gold; + public static Item crystal_redstone; + public static Item crystal_lapis; + public static Item crystal_diamond; + public static Item crystal_uranium; + public static Item crystal_thorium; + public static Item crystal_plutonium; + public static Item crystal_titanium; + public static Item crystal_sulfur; + public static Item crystal_niter; + public static Item crystal_copper; + public static Item crystal_tungsten; + public static Item crystal_aluminium; + public static Item crystal_fluorite; + public static Item crystal_beryllium; + public static Item crystal_lead; + public static Item crystal_schraranium; + public static Item crystal_schrabidium; + public static Item crystal_rare; + public static Item crystal_phosphorus; + public static Item crystal_lithium; + public static Item crystal_cobalt; + public static Item crystal_starmetal; + public static Item crystal_cinnebar; + public static Item crystal_trixite; + public static Item crystal_osmiridium; + + public static Item gem_sodalite; + public static Item gem_tantalium; + public static Item gem_volcanic; + public static Item gem_rad; + public static Item gem_alexandrite; + + public static Item powder_lead; + public static Item powder_tantalium; + public static Item powder_neptunium; + public static Item powder_polonium; + public static Item powder_co60; + public static Item powder_sr90; + public static Item powder_sr90_tiny; + public static Item powder_au198; + public static Item powder_ra226; + public static Item powder_i131; + public static Item powder_i131_tiny; + public static Item powder_xe135; + public static Item powder_xe135_tiny; + public static Item powder_cs137; + public static Item powder_cs137_tiny; + public static Item powder_at209; + public static Item powder_schrabidium; + public static Item powder_schrabidate; + + public static Item powder_aluminium; + public static Item powder_beryllium; + public static Item powder_copper; + public static Item powder_gold; + public static Item powder_iron; + public static Item powder_titanium; + public static Item powder_tungsten; + public static Item powder_uranium; + public static Item powder_plutonium; + public static Item dust; + public static Item dust_tiny; + public static Item fallout; + public static Item powder_power; + + public static Item powder_thorium; + public static Item powder_iodine; + public static Item powder_neodymium; + public static Item powder_astatine; + public static Item powder_caesium; + + public static Item powder_strontium; + public static Item powder_cobalt; + public static Item powder_bromine; + public static Item powder_niobium; + public static Item powder_tennessine; + public static Item powder_cerium; + + public static Item powder_advanced_alloy; + public static Item powder_tcalloy; + public static Item powder_coal; + public static Item powder_coal_tiny; + public static Item powder_combine_steel; + public static Item powder_diamond; + public static Item powder_emerald; + public static Item powder_lapis; + public static Item powder_quartz; + public static Item powder_magnetized_tungsten; + public static Item powder_chlorophyte; + public static Item powder_red_copper; + public static Item powder_steel; + public static Item powder_lithium; + public static Item powder_zirconium; + public static Item powder_sodium; + + public static Item powder_australium; + + public static Item powder_dura_steel; + public static Item powder_polymer; + public static Item powder_bakelite; + public static Item powder_euphemium; + public static Item powder_meteorite; + + public static Item powder_steel_tiny; + public static Item powder_lithium_tiny; + public static Item powder_neodymium_tiny; + public static Item powder_cobalt_tiny; + public static Item powder_niobium_tiny; + public static Item powder_cerium_tiny; + public static Item powder_lanthanium_tiny; + public static Item powder_actinium_tiny; + public static Item powder_boron_tiny; + public static Item powder_meteorite_tiny; + + public static Item powder_coltan_ore; + public static Item powder_coltan; + public static Item powder_tektite; + public static Item powder_paleogenite; + public static Item powder_paleogenite_tiny; + public static Item powder_impure_osmiridium; + public static Item powder_borax; + public static Item powder_chlorocalcite; + public static Item powder_molysite; + + public static Item powder_lanthanium; + public static Item powder_actinium; + public static Item powder_boron; + public static Item powder_desh; + public static Item powder_semtex_mix; + public static Item powder_desh_mix; + public static Item powder_desh_ready; + public static Item powder_nitan_mix; + public static Item powder_spark_mix; + public static Item powder_yellowcake; + public static Item powder_magic; + public static Item powder_balefire; + public static Item powder_sawdust; + public static Item powder_flux; + public static Item powder_fertilizer; + + public static Item fragment_neodymium; + public static Item fragment_cobalt; + public static Item fragment_niobium; + public static Item fragment_cerium; + public static Item fragment_lanthanium; + public static Item fragment_actinium; + public static Item fragment_boron; + public static Item fragment_meteorite; + public static Item fragment_coltan; + public static Item chunk_ore; + + public static Item biomass; + public static Item biomass_compressed; + public static Item bio_wafer; + public static Item plant_item; + + public static Item coil_copper; + public static Item coil_copper_torus; + public static Item coil_tungsten; + public static Item tank_steel; + public static Item motor; + public static Item motor_desh; + public static Item motor_bismuth; + public static Item centrifuge_element; + public static Item reactor_core; + public static Item rtg_unit; + + public static Item coil_advanced_alloy; + public static Item coil_advanced_torus; + public static Item coil_magnetized_tungsten; + public static Item coil_gold; + public static Item coil_gold_torus; + public static Item component_limiter; + public static Item component_emitter; + public static Item chlorine_pinwheel; + public static Item deuterium_filter; + + public static Item parts_legendary; + + public static Item circuit; + + public static Item crt_display; + public static ItemEnumMulti circuit_star_piece; + public static ItemEnumMulti circuit_star_component; + public static Item circuit_star; + + public static Item assembly_nuke; + + public static Item casing; + + public static Item wiring_red_copper; + public static Item shell; + public static Item pipe; + public static Item fins_flat; + public static Item fins_small_steel; + public static Item fins_big_steel; + public static Item fins_tri_steel; + public static Item fins_quad_titanium; + public static Item sphere_steel; + public static Item pedestal_steel; + public static Item dysfunctional_reactor; + public static Item blade_titanium; + public static Item turbine_titanium; + public static Item blade_tungsten; + public static Item turbine_tungsten; + public static Item ring_starmetal; + public static Item flywheel_beryllium; + + public static Item gear_large; + public static Item sawblade; + + public static Item toothpicks; + public static Item ducttape; + public static Item catalyst_clay; + + public static Item warhead_generic_small; + public static Item warhead_generic_medium; + public static Item warhead_generic_large; + public static Item warhead_incendiary_small; + public static Item warhead_incendiary_medium; + public static Item warhead_incendiary_large; + public static Item warhead_cluster_small; + public static Item warhead_cluster_medium; + public static Item warhead_cluster_large; + public static Item warhead_buster_small; + public static Item warhead_buster_medium; + public static Item warhead_buster_large; + public static Item warhead_nuclear; + public static Item warhead_mirv; + public static Item warhead_volcano; + + public static Item fuel_tank_small; + public static Item fuel_tank_medium; + public static Item fuel_tank_large; + + public static Item thruster_small; + public static Item thruster_medium; + public static Item thruster_large; + + public static Item sat_head_mapper; + public static Item sat_head_scanner; + public static Item sat_head_radar; + public static Item sat_head_laser; + public static Item sat_head_resonator; + + public static Item seg_10; + public static Item seg_15; + public static Item seg_20; + + public static Item combine_scrap; + + public static Item shimmer_head; + public static Item shimmer_axe_head; + public static Item shimmer_handle; + + //public static Item telepad; + public static Item entanglement_kit; + + public static Item stamp_stone_flat; + public static Item stamp_stone_plate; + public static Item stamp_stone_wire; + public static Item stamp_stone_circuit; + public static Item stamp_iron_flat; + public static Item stamp_iron_plate; + public static Item stamp_iron_wire; + public static Item stamp_iron_circuit; + public static Item stamp_steel_flat; + public static Item stamp_steel_plate; + public static Item stamp_steel_wire; + public static Item stamp_steel_circuit; + public static Item stamp_titanium_flat; + public static Item stamp_titanium_plate; + public static Item stamp_titanium_wire; + public static Item stamp_titanium_circuit; + public static Item stamp_obsidian_flat; + public static Item stamp_obsidian_plate; + public static Item stamp_obsidian_wire; + public static Item stamp_obsidian_circuit; + public static Item stamp_desh_flat; + public static Item stamp_desh_plate; + public static Item stamp_desh_wire; + public static Item stamp_desh_circuit; + public static Item stamp_book; + + public static Item stamp_357; + public static Item stamp_44; + public static Item stamp_9; + public static Item stamp_50; + + public static Item stamp_desh_357; + public static Item stamp_desh_44; + public static Item stamp_desh_9; + public static Item stamp_desh_50; + + public static Item blades_steel; + public static Item blades_titanium; + public static Item blades_advanced_alloy; + public static Item blades_desh; + + public static Item mold_base; + public static Item mold; + public static Item scraps; + public static Item ingot_raw; + public static Item plate_cast; + public static Item plate_welded; + public static Item heavy_component; + public static Item wire_fine; + public static Item wire_dense; + public static Item part_barrel_light; + public static Item part_barrel_heavy; + public static Item part_receiver_light; + public static Item part_receiver_heavy; + public static Item part_mechanism; + public static Item part_stock; + public static Item part_grip; + + public static Item part_lithium; + public static Item part_beryllium; + public static Item part_carbon; + public static Item part_copper; + public static Item part_plutonium; + + public static Item laser_crystal_co2; + public static Item laser_crystal_bismuth; + public static Item laser_crystal_cmb; + public static Item laser_crystal_dnt; + public static Item laser_crystal_digamma; + + public static Item thermo_element; + + public static Item catalytic_converter; + public static Item crackpipe; + + public static Item pellet_rtg_depleted; + + public static Item pellet_rtg_radium; + public static Item pellet_rtg_weak; + public static Item pellet_rtg; + public static Item pellet_rtg_strontium; + public static Item pellet_rtg_cobalt; + public static Item pellet_rtg_actinium; + public static Item pellet_rtg_polonium; + public static Item pellet_rtg_americium; + public static Item pellet_rtg_gold; + public static Item pellet_rtg_lead; + + @Deprecated public static Item tritium_deuterium_cake; + + public static Item piston_selenium; + public static Item piston_set; + public static Item drillbit; + + public static Item rune_blank; + public static Item rune_isa; + public static Item rune_dagaz; + public static Item rune_hagalaz; + public static Item rune_jera; + public static Item rune_thurisaz; + + public static Item ams_catalyst_blank; + public static Item ams_catalyst_aluminium; + public static Item ams_catalyst_beryllium; + public static Item ams_catalyst_caesium; + public static Item ams_catalyst_cerium; + public static Item ams_catalyst_cobalt; + public static Item ams_catalyst_copper; + public static Item ams_catalyst_dineutronium; + public static Item ams_catalyst_euphemium; + public static Item ams_catalyst_iron; + public static Item ams_catalyst_lithium; + public static Item ams_catalyst_niobium; + public static Item ams_catalyst_schrabidium; + public static Item ams_catalyst_strontium; + public static Item ams_catalyst_thorium; + public static Item ams_catalyst_tungsten; + + public static Item ams_focus_blank; + public static Item ams_focus_limiter; + public static Item ams_focus_booster; + + public static Item ams_muzzle; + + public static Item ams_lens; + + public static Item ams_core_sing; + public static Item ams_core_wormhole; + public static Item ams_core_eyeofharmony; + public static Item ams_core_thingy; + + public static Item fusion_shield_tungsten; + public static Item fusion_shield_desh; + public static Item fusion_shield_chlorophyte; + public static Item fusion_shield_vaporwave; + + public static Item cell_empty; + public static Item cell_uf6; + public static Item cell_puf6; + public static Item cell_deuterium; + public static Item cell_tritium; + public static Item cell_sas3; + public static Item cell_antimatter; + public static Item cell_anti_schrabidium; + public static Item cell_balefire; + + public static Item demon_core_open; + public static Item demon_core_closed; + + public static Item pa_coil; + + public static Item particle_empty; + public static Item particle_hydrogen; + public static Item particle_copper; + public static Item particle_lead; + public static Item particle_aproton; + public static Item particle_aelectron; + public static Item particle_amat; + public static Item particle_aschrab; + public static Item particle_higgs; + public static Item particle_muon; + public static Item particle_tachyon; + public static Item particle_strange; + public static Item particle_dark; + public static Item particle_sparkticle; + public static Item particle_digamma; + public static Item particle_lutece; + + public static Item pellet_antimatter; + public static Item singularity; + public static Item singularity_counter_resonant; + public static Item singularity_super_heated; + public static Item black_hole; + public static Item singularity_spark; + public static Item crystal_xen; + public static Item inf_water; + public static Item inf_water_mk2; + + public static Item fuel_additive; + + public static Item canister_empty; + public static Item canister_full; + public static Item canister_napalm; + + public static Item gas_empty; + public static Item gas_full; + + public static Item fluid_tank_full; + public static Item fluid_tank_empty; + public static Item fluid_tank_lead_full; + public static Item fluid_tank_lead_empty; + public static Item fluid_barrel_full; + public static Item fluid_barrel_empty; + public static Item fluid_barrel_infinite; + public static Item pipette; + public static Item pipette_boron; + public static Item pipette_laboratory; + public static Item siphon; + + public static Item disperser_canister_empty; + public static Item disperser_canister; + public static Item glyphid_gland; + public static Item glyphid_gland_empty; + + public static Item syringe_empty; + public static Item syringe_antidote; + public static Item syringe_poison; + public static Item syringe_awesome; + public static Item syringe_metal_empty; + public static Item syringe_metal_stimpak; + public static Item syringe_metal_medx; + public static Item syringe_metal_psycho; + public static Item syringe_metal_super; + public static Item syringe_taint; + public static Item syringe_mkunicorn; + public static Item iv_empty; + public static Item iv_blood; + public static Item iv_xp_empty; + public static Item iv_xp; + public static Item radaway; + public static Item radaway_strong; + public static Item radaway_flush; + public static Item radx; + public static Item siox; + public static Item pill_herbal; + public static Item xanax; + public static Item fmn; + public static Item five_htp; + public static Item med_bag; + public static Item pill_iodine; + public static Item plan_c; + public static Item pill_red; + public static Item stealth_boy; + public static Item gas_mask_filter; + public static Item gas_mask_filter_mono; + public static Item gas_mask_filter_combo; + public static Item gas_mask_filter_rag; + public static Item gas_mask_filter_piss; + public static Item jetpack_tank; + public static Item gun_kit_1; + public static Item gun_kit_2; + public static Item cbt_device; + public static Item cigarette; + + public static Item can_empty; + public static Item can_smart; + public static Item can_creature; + public static Item can_redbomb; + public static Item can_mrsugar; + public static Item can_overcharge; + public static Item can_luna; + public static Item can_bepis; + public static Item can_breen; + public static Item can_mug; + public static Item mucho_mango; + public static Item bottle_empty; + public static Item bottle_nuka; + public static Item bottle_cherry; + public static Item bottle_quantum; + public static Item bottle_sparkle; + public static Item bottle_rad; + public static Item bottle2_empty; + public static Item bottle2_korl; + public static Item bottle2_fritz; + public static Item bottle2_korl_special; + public static Item bottle2_fritz_special; + public static Item flask_empty; + public static Item flask_infusion; + public static Item chocolate_milk; + public static Item coffee; + public static Item coffee_radium; + public static Item chocolate; + public static Item cap_nuka; + public static Item cap_quantum; + public static Item cap_sparkle; + public static Item cap_rad; + public static Item cap_korl; + public static Item cap_fritz; + public static Item ring_pull; + public static Item bdcl; + //public static Item canned_beef; + //public static Item canned_tuna; + //public static Item canned_mystery; + //public static Item canned_pashtet; + //public static Item canned_cheese; + //public static Item canned_jizz; + //public static Item canned_milk; + //public static Item canned_ass; + //public static Item canned_pizza; + //public static Item canned_tube; + //public static Item canned_tomato; + //public static Item canned_asbestos; + //public static Item canned_bhole; + //public static Item canned_hotdogs; + //public static Item canned_leftovers; + //public static Item canned_yogurt; + //public static Item canned_stew; + //public static Item canned_chinese; + //public static Item canned_oil; + //public static Item canned_fist; + //public static Item canned_spam; + //public static Item canned_fried; + //public static Item canned_napalm; + //public static Item canned_diesel; + //public static Item canned_kerosene; + //public static Item canned_recursion; + //public static Item canned_bark; + public static ItemEnumMulti canned_conserve; + public static Item can_key; + + public static Item boat_rubber; + public static Item cart; + public static Item train; + public static Item drone; + + public static Item coin_creeper; + public static Item coin_radiation; + public static Item coin_maskman; + public static Item coin_worm; + public static Item coin_ufo; + //public static Item coin_siege; + //public static Item source; + + public static Item rod_empty; + public static Item rod; + public static Item rod_dual_empty; + public static Item rod_dual; + public static Item rod_quad_empty; + public static Item rod_quad; + + public static Item rod_zirnox_empty; + public static Item rod_zirnox_tritium; + public static ItemEnumMulti rod_zirnox; + + public static Item rod_zirnox_natural_uranium_fuel_depleted; + public static Item rod_zirnox_uranium_fuel_depleted; + public static Item rod_zirnox_thorium_fuel_depleted; + public static Item rod_zirnox_mox_fuel_depleted; + public static Item rod_zirnox_plutonium_fuel_depleted; + public static Item rod_zirnox_u233_fuel_depleted; + public static Item rod_zirnox_u235_fuel_depleted; + public static Item rod_zirnox_les_fuel_depleted; + public static Item rod_zirnox_zfb_mox_depleted; + + public static Item waste_natural_uranium; + public static Item waste_uranium; + public static Item waste_thorium; + public static Item waste_mox; + public static Item waste_plutonium; + public static Item waste_u233; + public static Item waste_u235; + public static Item waste_schrabidium; + public static Item waste_zfb_mox; + + public static Item waste_plate_u233; + public static Item waste_plate_u235; + public static Item waste_plate_mox; + public static Item waste_plate_pu239; + public static Item waste_plate_sa326; + public static Item waste_plate_ra226be; + public static Item waste_plate_pu238be; + + public static Item pile_rod_uranium; + public static Item pile_rod_pu239; + public static Item pile_rod_plutonium; + public static Item pile_rod_source; + public static Item pile_rod_boron; + public static Item pile_rod_lithium; + public static Item pile_rod_detector; + + public static Item plate_fuel_u233; + public static Item plate_fuel_u235; + public static Item plate_fuel_mox; + public static Item plate_fuel_pu239; + public static Item plate_fuel_sa326; + public static Item plate_fuel_ra226be; + public static Item plate_fuel_pu238be; + + public static Item pwr_fuel; + public static Item pwr_fuel_hot; + public static Item pwr_fuel_depleted; + + public static Item rbmk_lid; + public static Item rbmk_lid_glass; + public static Item rbmk_fuel_empty; + public static ItemRBMKRod rbmk_fuel_ueu; + public static ItemRBMKRod rbmk_fuel_meu; + public static ItemRBMKRod rbmk_fuel_heu233; + public static ItemRBMKRod rbmk_fuel_heu235; + public static ItemRBMKRod rbmk_fuel_thmeu; + public static ItemRBMKRod rbmk_fuel_lep; + public static ItemRBMKRod rbmk_fuel_mep; + public static ItemRBMKRod rbmk_fuel_hep239; + public static ItemRBMKRod rbmk_fuel_hep241; + public static ItemRBMKRod rbmk_fuel_lea; + public static ItemRBMKRod rbmk_fuel_mea; + public static ItemRBMKRod rbmk_fuel_hea241; + public static ItemRBMKRod rbmk_fuel_hea242; + public static ItemRBMKRod rbmk_fuel_men; + public static ItemRBMKRod rbmk_fuel_hen; + public static ItemRBMKRod rbmk_fuel_mox; + public static ItemRBMKRod rbmk_fuel_les; + public static ItemRBMKRod rbmk_fuel_mes; + public static ItemRBMKRod rbmk_fuel_hes; + public static ItemRBMKRod rbmk_fuel_leaus; + public static ItemRBMKRod rbmk_fuel_heaus; + public static ItemRBMKRod rbmk_fuel_po210be; + public static ItemRBMKRod rbmk_fuel_ra226be; + public static ItemRBMKRod rbmk_fuel_pu238be; + public static ItemRBMKRod rbmk_fuel_balefire_gold; + public static ItemRBMKRod rbmk_fuel_flashlead; + public static ItemRBMKRod rbmk_fuel_balefire; + public static ItemRBMKRod rbmk_fuel_zfb_bismuth; + public static ItemRBMKRod rbmk_fuel_zfb_pu241; + public static ItemRBMKRod rbmk_fuel_zfb_am_mix; + public static ItemRBMKRod rbmk_fuel_drx; + public static ItemRBMKRod rbmk_fuel_test; + //public static ItemRBMKRod rbmk_fuel_curve; + public static ItemRBMKPellet rbmk_pellet_ueu; + public static ItemRBMKPellet rbmk_pellet_meu; + public static ItemRBMKPellet rbmk_pellet_heu233; + public static ItemRBMKPellet rbmk_pellet_heu235; + public static ItemRBMKPellet rbmk_pellet_thmeu; + public static ItemRBMKPellet rbmk_pellet_lep; + public static ItemRBMKPellet rbmk_pellet_mep; + public static ItemRBMKPellet rbmk_pellet_hep239; + public static ItemRBMKPellet rbmk_pellet_hep241; + public static ItemRBMKPellet rbmk_pellet_lea; + public static ItemRBMKPellet rbmk_pellet_mea; + public static ItemRBMKPellet rbmk_pellet_hea241; + public static ItemRBMKPellet rbmk_pellet_hea242; + public static ItemRBMKPellet rbmk_pellet_men; + public static ItemRBMKPellet rbmk_pellet_hen; + public static ItemRBMKPellet rbmk_pellet_mox; + public static ItemRBMKPellet rbmk_pellet_les; + public static ItemRBMKPellet rbmk_pellet_mes; + public static ItemRBMKPellet rbmk_pellet_hes; + public static ItemRBMKPellet rbmk_pellet_leaus; + public static ItemRBMKPellet rbmk_pellet_heaus; + public static ItemRBMKPellet rbmk_pellet_po210be; + public static ItemRBMKPellet rbmk_pellet_ra226be; + public static ItemRBMKPellet rbmk_pellet_pu238be; + public static ItemRBMKPellet rbmk_pellet_balefire_gold; + public static ItemRBMKPellet rbmk_pellet_flashlead; + public static ItemRBMKPellet rbmk_pellet_balefire; + public static ItemRBMKPellet rbmk_pellet_zfb_bismuth; + public static ItemRBMKPellet rbmk_pellet_zfb_pu241; + public static ItemRBMKPellet rbmk_pellet_zfb_am_mix; + public static ItemRBMKPellet rbmk_pellet_drx; + + public static Item watz_pellet; + public static Item watz_pellet_depleted; + + public static Item icf_pellet_empty; + public static Item icf_pellet; + public static Item icf_pellet_depleted; + + public static Item scrap_plastic; + public static Item scrap; + public static Item scrap_oil; + public static Item scrap_nuclear; + public static Item trinitite; + public static Item nuclear_waste_long; + public static Item nuclear_waste_long_tiny; + public static Item nuclear_waste_short; + public static Item nuclear_waste_short_tiny; + public static Item nuclear_waste_long_depleted; + public static Item nuclear_waste_long_depleted_tiny; + public static Item nuclear_waste_short_depleted; + public static Item nuclear_waste_short_depleted_tiny; + public static Item nuclear_waste; + public static Item nuclear_waste_tiny; + public static Item nuclear_waste_vitrified; + public static Item nuclear_waste_vitrified_tiny; + + public static Item debris_graphite; + public static Item debris_metal; + public static Item debris_fuel; + public static Item debris_concrete; + public static Item debris_exchanger; + public static Item debris_shrapnel; + public static Item debris_element; + + public static Item containment_box; + public static Item plastic_bag; + + public static Item ammo_bag; + public static Item ammo_bag_infinite; + public static Item casing_bag; + + public static Item cordite; + public static Item ballistite; + public static Item ball_dynamite; + public static Item ball_tnt; + public static Item ball_tatb; + public static Item ball_fireclay; + + public static Item pellet_cluster; + public static Item powder_fire; + public static Item powder_ice; + public static Item powder_poison; + public static Item powder_thermite; + public static Item pellet_gas; + public static Item magnetron; + public static Item pellet_buckshot; + public static Item pellet_charged; + + public static Item rangefinder; + public static Item designator; + public static Item designator_range; + public static Item designator_manual; + public static Item designator_arty_range; + public static Item linker; + public static Item reactor_sensor; + public static Item oil_detector; + public static Item dosimeter; + public static Item geiger_counter; + public static Item digamma_diagnostic; + public static Item pollution_detector; + public static Item ore_density_scanner; + public static Item survey_scanner; + public static Item mirror_tool; + public static Item rbmk_tool; + public static Item coltan_tool; + public static Item power_net_tool; + public static Item analysis_tool; + public static Item coupling_tool; + public static Item drone_linker; + public static Item radar_linker; + public static Item settings_tool; + + public static Item template_folder; + public static Item journal_pip; + public static Item journal_bj; + public static Item journal_silver; + public static Item assembly_template; + public static Item chemistry_template; + public static Item chemistry_icon; + public static Item crucible_template; + public static Item fluid_identifier; + public static Item fluid_identifier_multi; + public static Item fluid_icon; + public static Item siren_track; + public static Item fluid_duct; + + public static Item bobmazon; + public static Item bobmazon_hidden; + + public static Item launch_code_piece; + public static Item launch_code; + public static Item launch_key; + + public static Item missile_assembly; + public static Item missile_generic; + public static Item missile_anti_ballistic; + public static Item missile_incendiary; + public static Item missile_cluster; + public static Item missile_buster; + public static Item missile_decoy; + public static Item missile_strong; + public static Item missile_incendiary_strong; + public static Item missile_cluster_strong; + public static Item missile_buster_strong; + public static Item missile_emp_strong; + public static Item missile_burst; + public static Item missile_inferno; + public static Item missile_rain; + public static Item missile_drill; + public static Item missile_nuclear; + public static Item missile_nuclear_cluster; + public static Item missile_volcano; + public static Item missile_doomsday; + public static Item missile_doomsday_rusted; + public static Item missile_taint; + public static Item missile_micro; + public static Item missile_bhole; + public static Item missile_schrabidium; + public static Item missile_emp; + public static Item missile_shuttle; + public static Item missile_stealth; + public static Item missile_test; + + public static Item mp_thruster_10_kerosene; + public static Item mp_thruster_10_kerosene_tec; + public static Item mp_thruster_10_solid; + public static Item mp_thruster_10_xenon; + public static Item mp_thruster_15_kerosene; + public static Item mp_thruster_15_kerosene_tec; + public static Item mp_thruster_15_kerosene_dual; + public static Item mp_thruster_15_kerosene_triple; + public static Item mp_thruster_15_solid; + public static Item mp_thruster_15_solid_hexdecuple; + public static Item mp_thruster_15_hydrogen; + public static Item mp_thruster_15_hydrogen_dual; + public static Item mp_thruster_15_balefire_short; + public static Item mp_thruster_15_balefire; + public static Item mp_thruster_15_balefire_large; + public static Item mp_thruster_15_balefire_large_rad; + public static Item mp_thruster_20_kerosene; + public static Item mp_thruster_20_kerosene_dual; + public static Item mp_thruster_20_kerosene_triple; + public static Item mp_thruster_20_solid; + public static Item mp_thruster_20_solid_multi; + public static Item mp_thruster_20_solid_multier; + + public static Item mp_stability_10_flat; + public static Item mp_stability_10_cruise; + public static Item mp_stability_10_space; + public static Item mp_stability_15_flat; + public static Item mp_stability_15_thin; + public static Item mp_stability_15_soyuz; + public static Item mp_stability_20_flat; + + public static Item mp_fuselage_10_kerosene; + public static Item mp_fuselage_10_kerosene_camo; + public static Item mp_fuselage_10_kerosene_desert; + public static Item mp_fuselage_10_kerosene_sky; + public static Item mp_fuselage_10_kerosene_flames; + public static Item mp_fuselage_10_kerosene_insulation; + public static Item mp_fuselage_10_kerosene_sleek; + public static Item mp_fuselage_10_kerosene_metal; + public static Item mp_fuselage_10_kerosene_taint; + + public static Item mp_fuselage_10_solid; + public static Item mp_fuselage_10_solid_flames; + public static Item mp_fuselage_10_solid_insulation; + public static Item mp_fuselage_10_solid_sleek; + public static Item mp_fuselage_10_solid_soviet_glory; + public static Item mp_fuselage_10_solid_cathedral; + public static Item mp_fuselage_10_solid_moonlit; + public static Item mp_fuselage_10_solid_battery; + public static Item mp_fuselage_10_solid_duracell; + + public static Item mp_fuselage_10_xenon; + public static Item mp_fuselage_10_xenon_bhole; + + public static Item mp_fuselage_10_long_kerosene; + public static Item mp_fuselage_10_long_kerosene_camo; + public static Item mp_fuselage_10_long_kerosene_desert; + public static Item mp_fuselage_10_long_kerosene_sky; + public static Item mp_fuselage_10_long_kerosene_flames; + public static Item mp_fuselage_10_long_kerosene_insulation; + public static Item mp_fuselage_10_long_kerosene_sleek; + public static Item mp_fuselage_10_long_kerosene_metal; + public static Item mp_fuselage_10_long_kerosene_taint; + public static Item mp_fuselage_10_long_kerosene_dash; + public static Item mp_fuselage_10_long_kerosene_vap; + + public static Item mp_fuselage_10_long_solid; + public static Item mp_fuselage_10_long_solid_flames; + public static Item mp_fuselage_10_long_solid_insulation; + public static Item mp_fuselage_10_long_solid_sleek; + public static Item mp_fuselage_10_long_solid_soviet_glory; + public static Item mp_fuselage_10_long_solid_bullet; + public static Item mp_fuselage_10_long_solid_silvermoonlight; + + public static Item mp_fuselage_10_15_kerosene; + public static Item mp_fuselage_10_15_solid; + public static Item mp_fuselage_10_15_hydrogen; + public static Item mp_fuselage_10_15_balefire; + + public static Item mp_fuselage_15_kerosene; + public static Item mp_fuselage_15_kerosene_camo; + public static Item mp_fuselage_15_kerosene_desert; + public static Item mp_fuselage_15_kerosene_sky; + public static Item mp_fuselage_15_kerosene_insulation; + public static Item mp_fuselage_15_kerosene_metal; + public static Item mp_fuselage_15_kerosene_decorated; + public static Item mp_fuselage_15_kerosene_steampunk; + public static Item mp_fuselage_15_kerosene_polite; + public static Item mp_fuselage_15_kerosene_blackjack; + public static Item mp_fuselage_15_kerosene_lambda; + public static Item mp_fuselage_15_kerosene_minuteman; + public static Item mp_fuselage_15_kerosene_pip; + public static Item mp_fuselage_15_kerosene_taint; + public static Item mp_fuselage_15_kerosene_yuck; + + public static Item mp_fuselage_15_solid; + public static Item mp_fuselage_15_solid_insulation; + public static Item mp_fuselage_15_solid_desh; + public static Item mp_fuselage_15_solid_soviet_glory; + public static Item mp_fuselage_15_solid_soviet_stank; + public static Item mp_fuselage_15_solid_faust; + public static Item mp_fuselage_15_solid_silvermoonlight; + public static Item mp_fuselage_15_solid_snowy; + public static Item mp_fuselage_15_solid_panorama; + public static Item mp_fuselage_15_solid_roses; + public static Item mp_fuselage_15_solid_mimi; + + public static Item mp_fuselage_15_hydrogen; + public static Item mp_fuselage_15_hydrogen_cathedral; + + public static Item mp_fuselage_15_balefire; + + public static Item mp_fuselage_15_20_kerosene; + public static Item mp_fuselage_15_20_kerosene_magnusson; + public static Item mp_fuselage_15_20_solid; + + public static Item mp_fuselage_20_kerosene; + + public static Item mp_warhead_10_he; + public static Item mp_warhead_10_incendiary; + public static Item mp_warhead_10_buster; + public static Item mp_warhead_10_nuclear; + public static Item mp_warhead_10_nuclear_large; + public static Item mp_warhead_10_taint; + public static Item mp_warhead_10_cloud; + public static Item mp_warhead_15_he; + public static Item mp_warhead_15_incendiary; + public static Item mp_warhead_15_nuclear; + public static Item mp_warhead_15_nuclear_shark; + public static Item mp_warhead_15_nuclear_mimi; + public static Item mp_warhead_15_boxcar; + public static Item mp_warhead_15_n2; + public static Item mp_warhead_15_balefire; + public static Item mp_warhead_15_turbine; + public static Item mp_warhead_20_he; + + public static Item mp_chip_1; + public static Item mp_chip_2; + public static Item mp_chip_3; + public static Item mp_chip_4; + public static Item mp_chip_5; + + public static Item missile_skin_camo; + public static Item missile_skin_desert; + public static Item missile_skin_flames; + public static Item missile_skin_manly_pink; + public static Item missile_skin_orange_insulation; + public static Item missile_skin_sleek; + public static Item missile_skin_soviet_glory; + public static Item missile_skin_soviet_stank; + public static Item missile_skin_metal; + + public static Item missile_custom; + + public static Item missile_soyuz; + public static Item missile_soyuz_lander; + public static Item sat_mapper; + public static Item sat_scanner; + public static Item sat_radar; + public static Item sat_laser; + public static Item sat_foeq; + public static Item sat_resonator; + public static Item sat_miner; + public static Item sat_lunar_miner; + public static Item sat_gerald; + public static Item sat_chip; + public static Item sat_interface; + public static Item sat_coord; + public static Item sat_designator; + public static Item sat_relay; + + public static ItemEnumMulti ammo_misc; + public static ItemEnumMulti ammo_shell; + public static ItemEnumMulti ammo_fireext; + + public static Item ammo_dgk; + public static Item ammo_arty; + public static Item ammo_himars; + + public static Item gun_b92; + public static Item gun_b92_ammo; + public static Item gun_fireext; + + public static Item gun_debug; + public static Item ammo_debug; + + public static Item gun_pepperbox; + public static Item gun_light_revolver; + public static Item gun_light_revolver_atlas; + public static Item gun_light_revolver_dani; + public static Item gun_henry; + public static Item gun_henry_lincoln; + public static Item gun_greasegun; + public static Item gun_maresleg; + public static Item gun_maresleg_akimbo; + public static Item gun_maresleg_broken; + public static Item gun_flaregun; + public static Item gun_heavy_revolver; + public static Item gun_heavy_revolver_lilmac; + public static Item gun_heavy_revolver_protege; + public static Item gun_carbine; + public static Item gun_am180; + public static Item gun_liberator; + public static Item gun_congolake; + public static Item gun_flamer; + public static Item gun_flamer_topaz; + public static Item gun_flamer_daybreaker; + public static Item gun_uzi; + public static Item gun_uzi_akimbo; + public static Item gun_spas12; + public static Item gun_panzerschreck; + public static Item gun_g3; + public static Item gun_g3_zebra; + public static Item gun_stinger; + public static Item gun_chemthrower; + public static Item gun_amat; + public static Item gun_amat_subtlety; + public static Item gun_amat_penance; + public static Item gun_m2; + public static Item gun_autoshotgun; + public static Item gun_autoshotgun_shredder; + public static Item gun_autoshotgun_sexy; + public static Item gun_quadro; + public static Item gun_lag; + public static Item gun_minigun; + public static Item gun_minigun_dual; + public static Item gun_minigun_lacunae; + public static Item gun_missile_launcher; + public static Item gun_tesla_cannon; + public static Item gun_laser_pistol; + public static Item gun_laser_pistol_pew_pew; + public static Item gun_laser_pistol_morning_glory; + public static Item gun_stg77; + public static Item gun_tau; + public static Item gun_fatman; + public static Item gun_lasrifle; + public static Item gun_coilgun; + public static Item gun_hangman; + public static Item gun_mas36; + public static Item gun_bolter; + public static Item gun_folly; + public static Item gun_aberrator; + public static Item gun_aberrator_eott; + public static Item gun_double_barrel; + public static Item gun_double_barrel_sacred_dragon; + + public static Item gun_charge_thrower; + + public static Item ammo_standard; + public static Item ammo_secret; + + public static Item weapon_mod_test; + public static Item weapon_mod_generic; + public static Item weapon_mod_special; + public static Item weapon_mod_caliber; + + public static Item crucible; + + public static Item stick_dynamite; + public static Item stick_dynamite_fishing; + public static Item stick_tnt; + public static Item stick_semtex; + public static Item stick_c4; + + public static Item grenade_generic; + public static Item grenade_strong; + public static Item grenade_frag; + public static Item grenade_fire; + public static Item grenade_shrapnel; + public static Item grenade_cluster; + public static Item grenade_flare; + public static Item grenade_electric; + public static Item grenade_poison; + public static Item grenade_gas; + public static Item grenade_pulse; + public static Item grenade_plasma; + public static Item grenade_tau; + public static Item grenade_schrabidium; + public static Item grenade_lemon; + public static Item grenade_gascan; + public static Item grenade_kyiv; + public static Item grenade_mk2; + public static Item grenade_aschrab; + public static Item grenade_nuke; + public static Item grenade_nuclear; + public static Item grenade_zomg; + public static Item grenade_black_hole; + public static Item grenade_cloud; + public static Item grenade_pink_cloud; + public static Item ullapool_caber; + + public static Item grenade_if_generic; + public static Item grenade_if_he; + public static Item grenade_if_bouncy; + public static Item grenade_if_sticky; + public static Item grenade_if_impact; + public static Item grenade_if_incendiary; + public static Item grenade_if_toxic; + public static Item grenade_if_concussion; + public static Item grenade_if_brimstone; + public static Item grenade_if_mystery; + public static Item grenade_if_spark; + public static Item grenade_if_hopwire; + public static Item grenade_if_null; + + public static Item grenade_smart; + public static Item grenade_mirv; + public static Item grenade_breach; + public static Item grenade_burst; + + public static Item nuclear_waste_pearl; + + public static Item weaponized_starblaster_cell; + + public static Item bomb_waffle; + public static Item schnitzel_vegan; + public static Item cotton_candy; + public static Item apple_lead; + public static Item apple_schrabidium; + public static Item tem_flakes; + public static Item glowing_stew; + public static Item balefire_scrambled; + public static Item balefire_and_ham; + public static Item lemon; + public static Item definitelyfood; + public static Item loops; + public static Item loop_stew; + public static Item spongebob_macaroni; + public static Item fooditem; + public static Item twinkie; + public static Item static_sandwich; + public static Item pudding; + public static Item pancake; + public static Item nugget; + public static Item peas; + public static Item marshmallow; + public static Item cheese; + public static Item quesadilla; + public static Item glyphid_meat; + public static Item glyphid_meat_grilled; + public static Item egg_glyphid; + + public static Item med_ipecac; + public static Item med_ptsd; + public static Item med_schizophrenia; + + public static Item canteen_vodka; + + public static Item defuser; + public static Item reacher; + public static Item bismuth_tool; + public static Item meltdown_tool; + + public static Item flame_pony; + public static Item flame_conspiracy; + public static Item flame_politics; + public static Item flame_opinion; + + //public static Item gadget_explosive; + public static Item early_explosive_lenses; + public static Item explosive_lenses; + public static Item gadget_wireing; + public static Item gadget_core; + public static Item boy_igniter; + public static Item boy_propellant; + public static Item boy_bullet; + public static Item boy_target; + public static Item boy_shielding; + //public static Item man_explosive; + public static Item man_igniter; + public static Item man_core; + public static Item mike_core; + public static Item mike_deut; + public static Item mike_cooling_unit; + public static Item tsar_core; + public static Item fleija_igniter; + public static Item fleija_propellant; + public static Item fleija_core; + public static Item solinium_igniter; + public static Item solinium_propellant; + public static Item solinium_core; + public static Item n2_charge; + public static Item egg_balefire_shard; + public static Item egg_balefire; + + public static Item custom_tnt; + public static Item custom_nuke; + public static Item custom_hydro; + public static Item custom_amat; + public static Item custom_dirty; + public static Item custom_schrab; + public static Item custom_fall; + + public static Item battery_generic; + public static Item battery_advanced; + public static Item battery_lithium; + public static Item battery_schrabidium; + public static Item battery_spark; + public static Item battery_trixite; + public static Item battery_creative; + + public static Item battery_red_cell; + public static Item battery_red_cell_6; + public static Item battery_red_cell_24; + public static Item battery_advanced_cell; + public static Item battery_advanced_cell_4; + public static Item battery_advanced_cell_12; + public static Item battery_lithium_cell; + public static Item battery_lithium_cell_3; + public static Item battery_lithium_cell_6; + public static Item battery_schrabidium_cell; + public static Item battery_schrabidium_cell_2; + public static Item battery_schrabidium_cell_4; + public static Item battery_spark_cell_6; + public static Item battery_spark_cell_25; + public static Item battery_spark_cell_100; + public static Item battery_spark_cell_1000; + public static Item battery_spark_cell_2500; + public static Item battery_spark_cell_10000; + public static Item battery_spark_cell_power; + public static Item cube_power; + + public static Item battery_sc_uranium; + public static Item battery_sc_technetium; + public static Item battery_sc_plutonium; + public static Item battery_sc_polonium; + public static Item battery_sc_gold; + public static Item battery_sc_lead; + public static Item battery_sc_americium; + + public static Item battery_potato; + public static Item battery_potatos; + public static Item hev_battery; + public static Item fusion_core; + public static Item fusion_core_infinite; + public static Item energy_core; + public static Item fuse; + public static Item redcoil_capacitor; + public static Item euphemium_capacitor; + //by using these in crafting table recipes, i'm running the risk of making my recipes too greg-ian (which i don't like) + //in the event that i forget about the meaning of the word "sparingly", please throw a brick at my head + public static Item screwdriver; + public static Item screwdriver_desh; + public static Item hand_drill; + public static Item hand_drill_desh; + public static Item wrench_archineer; + public static Item chemistry_set; + public static Item chemistry_set_boron; + public static Item blowtorch; + public static Item acetylene_torch; + public static Item boltgun; + public static Item overfuse; + public static Item arc_electrode; + public static Item arc_electrode_burnt; + + public static Item upgrade_muffler; + + public static Item upgrade_template; + public static Item upgrade_speed_1; + public static Item upgrade_speed_2; + public static Item upgrade_speed_3; + public static Item upgrade_effect_1; + public static Item upgrade_effect_2; + public static Item upgrade_effect_3; + public static Item upgrade_power_1; + public static Item upgrade_power_2; + public static Item upgrade_power_3; + public static Item upgrade_fortune_1; + public static Item upgrade_fortune_2; + public static Item upgrade_fortune_3; + public static Item upgrade_afterburn_1; + public static Item upgrade_afterburn_2; + public static Item upgrade_afterburn_3; + public static Item upgrade_overdrive_1; + public static Item upgrade_overdrive_2; + public static Item upgrade_overdrive_3; + public static Item upgrade_radius; + public static Item upgrade_health; + public static Item upgrade_smelter; + public static Item upgrade_shredder; + public static Item upgrade_centrifuge; + public static Item upgrade_crystallizer; + public static Item upgrade_nullifier; + public static Item upgrade_screm; + public static Item upgrade_gc_speed; + public static Item upgrade_5g; + public static Item upgrade_stack; + public static Item upgrade_ejector; + + public static Item ingot_euphemium; + public static Item nugget_euphemium; + public static Item euphemium_helmet; + public static Item euphemium_plate; + public static Item euphemium_legs; + public static Item euphemium_boots; + public static Item apple_euphemium; + public static Item watch; + + public static Item goggles; + public static Item ashglasses; + public static Item gas_mask; + public static Item gas_mask_m65; + public static Item gas_mask_mono; + public static Item gas_mask_olde; + public static Item mask_rag; + public static Item mask_piss; + public static Item hat; + public static Item beta; + public static Item no9; + + public static Item t45_helmet; + public static Item t45_plate; + public static Item t45_legs; + public static Item t45_boots; + public static Item steamsuit_helmet; + public static Item steamsuit_plate; + public static Item steamsuit_legs; + public static Item steamsuit_boots; + public static Item dieselsuit_helmet; + public static Item dieselsuit_plate; + public static Item dieselsuit_legs; + public static Item dieselsuit_boots; + + public static Item chainsaw; + + public static Item schrabidium_helmet; + public static Item schrabidium_plate; + public static Item schrabidium_legs; + public static Item schrabidium_boots; + public static Item titanium_helmet; + public static Item titanium_plate; + public static Item titanium_legs; + public static Item titanium_boots; + public static Item steel_helmet; + public static Item steel_plate; + public static Item steel_legs; + public static Item steel_boots; + public static Item alloy_helmet; + public static Item alloy_plate; + public static Item alloy_legs; + public static Item alloy_boots; + public static Item cmb_helmet; + public static Item cmb_plate; + public static Item cmb_legs; + public static Item cmb_boots; + public static Item paa_plate; + public static Item paa_legs; + public static Item paa_boots; + public static Item asbestos_helmet; + public static Item asbestos_plate; + public static Item asbestos_legs; + public static Item asbestos_boots; + public static Item security_helmet; + public static Item security_plate; + public static Item security_legs; + public static Item security_boots; + public static Item cobalt_helmet; + public static Item cobalt_plate; + public static Item cobalt_legs; + public static Item cobalt_boots; + public static Item starmetal_helmet; + public static Item starmetal_plate; + public static Item starmetal_legs; + public static Item starmetal_boots; + public static Item dnt_helmet; + public static Item dnt_plate; + public static Item dnt_legs; + public static Item dnt_boots; + public static Item ajr_helmet; + public static Item ajr_plate; + public static Item ajr_legs; + public static Item ajr_boots; + public static Item ajro_helmet; + public static Item ajro_plate; + public static Item ajro_legs; + public static Item ajro_boots; + public static Item rpa_helmet; + public static Item rpa_plate; + public static Item rpa_legs; + public static Item rpa_boots; + public static Item bismuth_helmet; + public static Item bismuth_plate; + public static Item bismuth_legs; + public static Item bismuth_boots; + public static Item bj_helmet; + public static Item bj_plate; + public static Item bj_plate_jetpack; + public static Item bj_legs; + public static Item bj_boots; + public static Item envsuit_helmet; + public static Item envsuit_plate; + public static Item envsuit_legs; + public static Item envsuit_boots; + public static Item hev_helmet; + public static Item hev_plate; + public static Item hev_legs; + public static Item hev_boots; + public static Item fau_helmet; + public static Item fau_plate; + public static Item fau_legs; + public static Item fau_boots; + public static Item dns_helmet; + public static Item dns_plate; + public static Item dns_legs; + public static Item dns_boots; + public static Item taurun_helmet; + public static Item taurun_plate; + public static Item taurun_legs; + public static Item taurun_boots; + public static Item trenchmaster_helmet; + public static Item trenchmaster_plate; + public static Item trenchmaster_legs; + public static Item trenchmaster_boots; + public static Item zirconium_legs; + public static Item robes_helmet; + public static Item robes_plate; + public static Item robes_legs; + public static Item robes_boots; + + public static Item jetpack_boost; + public static Item jetpack_break; + public static Item jetpack_fly; + public static Item jetpack_vector; + public static Item wings_limp; + public static Item wings_murk; + + public static Item jackt; + public static Item jackt2; + + public static Item schrabidium_sword; + public static Item schrabidium_pickaxe; + public static Item schrabidium_axe; + public static Item schrabidium_shovel; + public static Item schrabidium_hoe; + public static Item titanium_sword; + public static Item titanium_pickaxe; + public static Item titanium_axe; + public static Item titanium_shovel; + public static Item titanium_hoe; + public static Item steel_sword; + public static Item steel_pickaxe; + public static Item steel_axe; + public static Item steel_shovel; + public static Item steel_hoe; + public static Item alloy_sword; + public static Item alloy_pickaxe; + public static Item alloy_axe; + public static Item alloy_shovel; + public static Item alloy_hoe; + public static Item cmb_sword; + public static Item cmb_pickaxe; + public static Item cmb_axe; + public static Item cmb_shovel; + public static Item cmb_hoe; + public static Item elec_sword; + public static Item elec_pickaxe; + public static Item elec_axe; + public static Item elec_shovel; + public static Item desh_sword; + public static Item desh_pickaxe; + public static Item desh_axe; + public static Item desh_shovel; + public static Item desh_hoe; + public static Item cobalt_sword; + public static Item cobalt_pickaxe; + public static Item cobalt_axe; + public static Item cobalt_shovel; + public static Item cobalt_hoe; + public static Item cobalt_decorated_sword; + public static Item cobalt_decorated_pickaxe; + public static Item cobalt_decorated_axe; + public static Item cobalt_decorated_shovel; + public static Item cobalt_decorated_hoe; + public static Item starmetal_sword; + public static Item starmetal_pickaxe; + public static Item starmetal_axe; + public static Item starmetal_shovel; + public static Item starmetal_hoe; + public static Item smashing_hammer; + public static Item centri_stick; + public static Item drax; + public static Item drax_mk2; + public static Item drax_mk3; + public static Item bismuth_pickaxe; + public static Item bismuth_axe; + public static Item volcanic_pickaxe; + public static Item volcanic_axe; + public static Item chlorophyte_pickaxe; + public static Item chlorophyte_axe; + public static Item mese_pickaxe; + public static Item mese_axe; + public static Item dnt_sword; + public static Item dwarven_pickaxe; + + public static Item meteorite_sword; + public static Item meteorite_sword_seared; + public static Item meteorite_sword_reforged; + public static Item meteorite_sword_hardened; + public static Item meteorite_sword_alloyed; + public static Item meteorite_sword_machined; + public static Item meteorite_sword_treated; + public static Item meteorite_sword_etched; + public static Item meteorite_sword_bred; + public static Item meteorite_sword_irradiated; + public static Item meteorite_sword_fused; + public static Item meteorite_sword_baleful; + + public static Item matchstick; + public static Item balefire_and_steel; + + public static Item mask_of_infamy; + + public static Item schrabidium_hammer; + public static Item shimmer_sledge; + public static Item shimmer_axe; + public static Item bottle_opener; + public static Item pch; //for compat please do not hit me + public static Item wood_gavel; + public static Item lead_gavel; + public static Item diamond_gavel; + public static Item mese_gavel; + + public static Item crowbar; + + public static Item wrench; + public static Item wrench_flipped; + public static Item memespoon; + + public static Item multitool_hit; + public static Item multitool_dig; + public static Item multitool_silk; + public static Item multitool_ext; + public static Item multitool_miner; + public static Item multitool_beam; + public static Item multitool_sky; + public static Item multitool_mega; + public static Item multitool_joule; + public static Item multitool_decon; + + public static Item saw; + public static Item bat; + public static Item bat_nail; + public static Item golf_club; + public static Item pipe_rusty; + public static Item pipe_lead; + public static Item reer_graar; + public static Item stopsign; + public static Item sopsign; + public static Item chernobylsign; + + public static Item crystal_horn; + public static Item crystal_charred; + + public static Item attachment_mask; + public static Item attachment_mask_mono; + public static Item back_tesla; + public static Item servo_set; + public static Item servo_set_desh; + public static Item pads_rubber; + public static Item pads_slime; + public static Item pads_static; + public static Item cladding_paint; + public static Item cladding_rubber; + public static Item cladding_lead; + public static Item cladding_desh; + public static Item cladding_ghiorsium; + public static Item cladding_iron; + public static Item cladding_obsidian; + public static Item insert_kevlar; + public static Item insert_sapi; + public static Item insert_esapi; + public static Item insert_xsapi; + public static Item insert_steel; + public static Item insert_du; + public static Item insert_polonium; + public static Item insert_ghiorsium; + public static Item insert_era; + public static Item insert_yharonite; + public static Item insert_doxium; + public static Item armor_polish; + public static Item bandaid; + public static Item serum; + public static Item quartz_plutonium; + public static Item morning_glory; + public static Item lodestone; + public static Item horseshoe_magnet; + public static Item industrial_magnet; + public static Item bathwater; + public static Item bathwater_mk2; + public static Item spider_milk; + public static Item ink; + public static Item heart_piece; + public static Item heart_container; + public static Item heart_booster; + public static Item heart_fab; + public static Item black_diamond; + public static Item wd40; + public static Item scrumpy; + public static Item wild_p; + public static Item shackles; + public static Item injector_5htp; + public static Item injector_knife; + public static Item medal_liquidator; + public static Item bottled_cloud; + public static Item protection_charm; + public static Item meteor_charm; + public static Item neutrino_lens; + public static Item gas_tester; + public static Item defuser_gold; + public static Item ballistic_gauntlet; + public static Item night_vision; + public static Item card_aos; + public static Item card_qos; + public static Item australium_iii; + public static Item armor_battery; + public static Item armor_battery_mk2; + public static Item armor_battery_mk3; + + public static Item hazmat_helmet; + public static Item hazmat_plate; + public static Item hazmat_legs; + public static Item hazmat_boots; + public static Item hazmat_helmet_red; + public static Item hazmat_plate_red; + public static Item hazmat_legs_red; + public static Item hazmat_boots_red; + public static Item hazmat_helmet_grey; + public static Item hazmat_plate_grey; + public static Item hazmat_legs_grey; + public static Item hazmat_boots_grey; + public static Item liquidator_helmet; + public static Item liquidator_plate; + public static Item liquidator_legs; + public static Item liquidator_boots; + + public static Item hazmat_paa_helmet; + public static Item hazmat_paa_plate; + public static Item hazmat_paa_legs; + public static Item hazmat_paa_boots; + + public static Item wand; + public static Item wand_s; + public static Item wand_d; + + public static Item structure_single; + public static Item structure_solid; + public static Item structure_pattern; + public static Item structure_randomized; + public static Item structure_randomly; + public static Item structure_custommachine; + + public static Item rod_of_discord; + + public static Item cape_radiation; + public static Item cape_gasmask; + public static Item cape_schrabidium; + public static Item cape_hidden; + + public static Item nuke_starter_kit; + public static Item nuke_advanced_kit; + public static Item nuke_commercially_kit; + public static Item nuke_electric_kit; + public static Item gadget_kit; + public static Item boy_kit; + public static Item man_kit; + public static Item mike_kit; + public static Item tsar_kit; + public static Item multi_kit; + public static Item custom_kit; + public static Item grenade_kit; + public static Item fleija_kit; + public static Item prototype_kit; + public static Item missile_kit; + public static Item t45_kit; + public static Item euphemium_kit; + public static Item solinium_kit; + public static Item hazmat_kit; + public static Item hazmat_red_kit; + public static Item hazmat_grey_kit; + public static Item kit_custom; + + public static Item legacy_toolbox; + public static Item toolbox; + + public static Item loot_10; + public static Item loot_15; + public static Item loot_misc; + + public static Item ammo_container; + + public static Item igniter; + public static Item detonator; + public static Item detonator_multi; + public static Item detonator_laser; + public static Item detonator_deadman; + public static Item detonator_de; + public static Item bomb_caller; + public static Item meteor_remote; + public static Item anchor_remote; + public static Item remote; + //public static Item turret_control; + public static Item turret_chip; + //public static Item turret_biometry; + + public static Item spawn_chopper; + public static Item spawn_worm; + public static Item spawn_ufo; + public static Item spawn_duck; + + public static Item key; + public static Item key_red; + public static Item key_red_cracked; + public static Item key_kit; + public static Item key_fake; + public static Item pin; + public static Item padlock_rusty; + public static Item padlock; + public static Item padlock_reinforced; + public static Item padlock_unbreakable; + + public static Item mech_key; + + public static Item bucket_mud; + public static Item bucket_acid; + public static Item bucket_toxic; + public static Item bucket_schrabidic_acid; + public static Item bucket_sulfuric_acid; + + public static Item door_metal; + public static Item door_office; + public static Item door_bunker; + public static Item door_red; + + public static Item sliding_blast_door_skin; + + public static Item record_lc; + public static Item record_ss; + public static Item record_vc; + public static Item record_glass; + + public static Item book_guide; + public static Item book_lore; + public static Item holotape_image; + public static Item holotape_damaged; + public static Item clay_tablet; + + public static Item polaroid; + public static Item glitch; + public static Item book_secret; + public static Item book_of_; + public static Item page_of_; + public static Item book_lemegeton; + public static Item burnt_bark; + + public static Item chlorine1; + public static Item chlorine2; + public static Item chlorine3; + public static Item chlorine4; + public static Item chlorine5; + public static Item chlorine6; + public static Item chlorine7; + public static Item chlorine8; + public static Item pc1; + public static Item pc2; + public static Item pc3; + public static Item pc4; + public static Item pc5; + public static Item pc6; + public static Item pc7; + public static Item pc8; + public static Item cloud1; + public static Item cloud2; + public static Item cloud3; + public static Item cloud4; + public static Item cloud5; + public static Item cloud6; + public static Item cloud7; + public static Item cloud8; + public static Item orange1; + public static Item orange2; + public static Item orange3; + public static Item orange4; + public static Item orange5; + public static Item orange6; + public static Item orange7; + public static Item orange8; + public static Item nothing; + + public static Item achievement_icon; + public static Item bob_metalworks; + public static Item bob_assembly; + public static Item bob_chemistry; + public static Item bob_oil; + public static Item bob_nuclear; + + public static Item mysteryshovel; + public static Item memory; + + public static Item conveyor_wand; + + public static void initializeItem() { + + redstone_sword = new RedstoneSword(ToolMaterial.STONE).setUnlocalizedName("redstone_sword").setCreativeTab(CreativeTabs.tabCombat).setTextureName(RefStrings.MODID + ":redstone_sword"); + big_sword = new BigSword(ToolMaterial.EMERALD).setUnlocalizedName("big_sword").setCreativeTab(CreativeTabs.tabCombat).setTextureName(RefStrings.MODID + ":big_sword"); + + ingot_th232 = new Item().setUnlocalizedName("ingot_th232").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_th232"); + ingot_uranium = new Item().setUnlocalizedName("ingot_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_uranium"); + ingot_u233 = new Item().setUnlocalizedName("ingot_u233").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_u233"); + ingot_u235 = new Item().setUnlocalizedName("ingot_u235").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_u235"); + ingot_u238 = new Item().setUnlocalizedName("ingot_u238").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_u238"); + ingot_u238m2 = new ItemUnstable(350, 200).setUnlocalizedName("ingot_u238m2").setCreativeTab(null).setTextureName(RefStrings.MODID + ":ingot_u238m2"); + ingot_plutonium = new Item().setUnlocalizedName("ingot_plutonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_plutonium"); + ingot_pu238 = new Item().setUnlocalizedName("ingot_pu238").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pu238"); + ingot_pu239 = new Item().setUnlocalizedName("ingot_pu239").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pu239"); + ingot_pu240 = new Item().setUnlocalizedName("ingot_pu240").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pu240"); + ingot_pu241 = new Item().setUnlocalizedName("ingot_pu241").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pu241"); + ingot_pu_mix = new Item().setUnlocalizedName("ingot_pu_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pu_mix"); + ingot_am241 = new Item().setUnlocalizedName("ingot_am241").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_am241"); + ingot_am242 = new Item().setUnlocalizedName("ingot_am242").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_am242"); + ingot_am_mix = new Item().setUnlocalizedName("ingot_am_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_am_mix"); + ingot_neptunium = new ItemCustomLore().setUnlocalizedName("ingot_neptunium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_neptunium"); + ingot_polonium = new Item().setUnlocalizedName("ingot_polonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_polonium"); + ingot_technetium = new Item().setUnlocalizedName("ingot_technetium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_technetium"); + ingot_co60 = new Item().setUnlocalizedName("ingot_co60").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_co60"); + ingot_sr90 = new Item().setUnlocalizedName("ingot_sr90").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_sr90"); + ingot_au198 = new Item().setUnlocalizedName("ingot_au198").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_au198"); + ingot_pb209 = new Item().setUnlocalizedName("ingot_pb209").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pb209"); + ingot_ra226 = new Item().setUnlocalizedName("ingot_ra226").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_ra226"); + ingot_titanium = new Item().setUnlocalizedName("ingot_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_titanium"); + ingot_cobalt = new Item().setUnlocalizedName("ingot_cobalt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_cobalt"); + ingot_boron = new Item().setUnlocalizedName("ingot_boron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_boron"); + ingot_graphite = new Item().setUnlocalizedName("ingot_graphite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_graphite"); + ingot_firebrick = new Item().setUnlocalizedName("ingot_firebrick").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_firebrick"); + ingot_smore = new ItemFood(10, 20F, false).setUnlocalizedName("ingot_smore").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_smore"); + sulfur = new Item().setUnlocalizedName("sulfur").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sulfur"); + nitra = new Item().setUnlocalizedName("nitra").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nitra"); + nitra_small = new Item().setUnlocalizedName("nitra_small").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nitra_small"); + + ingot_uranium_fuel = new Item().setUnlocalizedName("ingot_uranium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_uranium_fuel"); + ingot_plutonium_fuel = new Item().setUnlocalizedName("ingot_plutonium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_plutonium_fuel"); + ingot_neptunium_fuel = new Item().setUnlocalizedName("ingot_neptunium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_neptunium_fuel"); + ingot_mox_fuel = new Item().setUnlocalizedName("ingot_mox_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_mox_fuel"); + ingot_americium_fuel = new Item().setUnlocalizedName("ingot_americium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_americium_fuel"); + ingot_schrabidium_fuel = new Item().setUnlocalizedName("ingot_schrabidium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_schrabidium_fuel"); + ingot_thorium_fuel = new Item().setUnlocalizedName("ingot_thorium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_thorium_fuel"); + nugget_uranium_fuel = new Item().setUnlocalizedName("nugget_uranium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_uranium_fuel"); + nugget_thorium_fuel = new Item().setUnlocalizedName("nugget_thorium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_thorium_fuel"); + nugget_plutonium_fuel = new Item().setUnlocalizedName("nugget_plutonium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_plutonium_fuel"); + nugget_neptunium_fuel = new Item().setUnlocalizedName("nugget_neptunium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_neptunium_fuel"); + nugget_mox_fuel = new Item().setUnlocalizedName("nugget_mox_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_mox_fuel"); + nugget_americium_fuel = new Item().setUnlocalizedName("nugget_americium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_americium_fuel"); + nugget_schrabidium_fuel = new Item().setUnlocalizedName("nugget_schrabidium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_schrabidium_fuel"); + ingot_advanced_alloy = new Item().setUnlocalizedName("ingot_advanced_alloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_advanced_alloy"); + ingot_tcalloy = new Item().setUnlocalizedName("ingot_tcalloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_tcalloy"); + ingot_cdalloy = new Item().setUnlocalizedName("ingot_cdalloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_cdalloy"); + ingot_bismuth_bronze = new Item().setUnlocalizedName("ingot_bismuth_bronze").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_bismuth_bronze"); + ingot_arsenic_bronze = new Item().setUnlocalizedName("ingot_arsenic_bronze").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_arsenic_bronze"); + ingot_bscco = new Item().setUnlocalizedName("ingot_bscco").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_bscco"); + + niter = new Item().setUnlocalizedName("niter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":salpeter"); + ingot_copper = new Item().setUnlocalizedName("ingot_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_copper"); + ingot_red_copper = new Item().setUnlocalizedName("ingot_red_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_red_copper"); + ingot_tungsten = new Item().setUnlocalizedName("ingot_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_tungsten"); + ingot_aluminium = new Item().setUnlocalizedName("ingot_aluminium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_aluminium"); + fluorite = new Item().setUnlocalizedName("fluorite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fluorite"); + ingot_beryllium = new Item().setUnlocalizedName("ingot_beryllium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_beryllium"); + ingot_steel = new Item().setUnlocalizedName("ingot_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_steel"); + plate_steel = new Item().setUnlocalizedName("plate_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_steel"); + plate_iron = new Item().setUnlocalizedName("plate_iron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_iron"); + ingot_lead = new Item().setUnlocalizedName("ingot_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_lead"); + plate_lead = new Item().setUnlocalizedName("plate_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_lead"); + plate_dura_steel = new Item().setUnlocalizedName("plate_dura_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_dura_steel"); + ingot_schraranium = new ItemSchraranium().setUnlocalizedName("ingot_schraranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_schraranium"); + ingot_schrabidium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("ingot_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_schrabidium"); + ingot_schrabidate = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("ingot_schrabidate").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_schrabidate"); + plate_schrabidium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("plate_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_schrabidium"); + plate_copper = new Item().setUnlocalizedName("plate_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_copper"); + plate_gold = new Item().setUnlocalizedName("plate_gold").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_gold"); + plate_advanced_alloy = new Item().setUnlocalizedName("plate_advanced_alloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_advanced_alloy"); + lithium = new Item().setUnlocalizedName("lithium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":lithium"); + ingot_zirconium = new Item().setUnlocalizedName("ingot_zirconium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_zirconium"); + ingot_semtex = new ItemLemon(4, 5, true).setUnlocalizedName("ingot_semtex").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_semtex"); + ingot_c4 = new Item().setUnlocalizedName("ingot_c4").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_c4"); + ingot_phosphorus = new Item().setUnlocalizedName("ingot_phosphorus").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_phosphorus"); + coil_advanced_alloy = new Item().setUnlocalizedName("coil_advanced_alloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_advanced_alloy"); + coil_advanced_torus = new Item().setUnlocalizedName("coil_advanced_torus").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_advanced_torus"); + ingot_magnetized_tungsten = new Item().setUnlocalizedName("ingot_magnetized_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_magnetized_tungsten"); + ingot_combine_steel = new ItemCustomLore().setUnlocalizedName("ingot_combine_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_combine_steel"); + plate_mixed = new Item().setUnlocalizedName("plate_mixed").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_mixed"); + plate_paa = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("plate_paa").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_paa"); + pipes_steel = new Item().setUnlocalizedName("pipes_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pipes_steel"); + drill_titanium = new Item().setUnlocalizedName("drill_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":drill_titanium"); + plate_dalekanium = new Item().setUnlocalizedName("plate_dalekanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_dalekanium"); + plate_euphemium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("plate_euphemium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_euphemium"); + bolt = new ItemAutogen(MaterialShapes.BOLT).oun("boltntm").setUnlocalizedName("bolt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bolt"); + bolt_spike = new ItemCustomLore().setUnlocalizedName("bolt_spike").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bolt_spike"); + plate_polymer = new Item().setUnlocalizedName("plate_polymer").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_polymer"); + plate_kevlar = new Item().setUnlocalizedName("plate_kevlar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_kevlar"); + plate_dineutronium = new Item().setUnlocalizedName("plate_dineutronium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_dineutronium"); + plate_desh = new Item().setUnlocalizedName("plate_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_desh"); + plate_bismuth = new ItemCustomLore().setUnlocalizedName("plate_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_bismuth"); + ingot_solinium = new Item().setUnlocalizedName("ingot_solinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_solinium"); + nugget_solinium = new Item().setUnlocalizedName("nugget_solinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_solinium"); + photo_panel = new Item().setUnlocalizedName("photo_panel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":photo_panel"); + sat_base = new Item().setUnlocalizedName("sat_base").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sat_base"); + thruster_nuclear = new Item().setUnlocalizedName("thruster_nuclear").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":thruster_nuclear"); + safety_fuse = new Item().setUnlocalizedName("safety_fuse").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":safety_fuse"); + part_generic = new ItemGenericPart().setUnlocalizedName("part_generic").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":part_generic"); + item_secret = new ItemEnumMulti(EnumSecretType.class, true, true).setUnlocalizedName("item_secret").setCreativeTab(null).setTextureName(RefStrings.MODID + ":item_secret"); + ingot_metal = new ItemEnumMulti(EnumIngotMetal.class, true, true).setUnlocalizedName("ingot_metal").setCreativeTab(null).setTextureName(RefStrings.MODID + ":ingot_metal"); + chemical_dye = new ItemChemicalDye().setUnlocalizedName("chemical_dye").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":chemical_dye"); + crayon = new ItemCrayon().setUnlocalizedName("crayon").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crayon"); + + undefined = new ItemCustomLore().setUnlocalizedName("undefined").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":undefined"); + + billet_uranium = new Item().setUnlocalizedName("billet_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_uranium"); + billet_u233 = new Item().setUnlocalizedName("billet_u233").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_u233"); + billet_u235 = new Item().setUnlocalizedName("billet_u235").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_u235"); + billet_u238 = new Item().setUnlocalizedName("billet_u238").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_u238"); + billet_th232 = new Item().setUnlocalizedName("billet_th232").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_th232"); + billet_plutonium = new Item().setUnlocalizedName("billet_plutonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_plutonium"); + billet_pu238 = new Item().setUnlocalizedName("billet_pu238").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_pu238"); + billet_pu239 = new Item().setUnlocalizedName("billet_pu239").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_pu239"); + billet_pu240 = new Item().setUnlocalizedName("billet_pu240").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_pu240"); + billet_pu241 = new Item().setUnlocalizedName("billet_pu241").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_pu241"); + billet_pu_mix = new Item().setUnlocalizedName("billet_pu_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_pu_mix"); + billet_am241 = new Item().setUnlocalizedName("billet_am241").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_am241"); + billet_am242 = new Item().setUnlocalizedName("billet_am242").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_am242"); + billet_am_mix = new Item().setUnlocalizedName("billet_am_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_am_mix"); + billet_neptunium = new Item().setUnlocalizedName("billet_neptunium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_neptunium"); + billet_polonium = new Item().setUnlocalizedName("billet_polonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_polonium"); + billet_technetium = new Item().setUnlocalizedName("billet_technetium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_technetium"); + billet_cobalt = new Item().setUnlocalizedName("billet_cobalt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_cobalt"); + billet_co60 = new Item().setUnlocalizedName("billet_co60").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_co60"); + billet_sr90 = new Item().setUnlocalizedName("billet_sr90").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_sr90"); + billet_au198 = new Item().setUnlocalizedName("billet_au198").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_au198"); + billet_pb209 = new Item().setUnlocalizedName("billet_pb209").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_pb209"); + billet_ra226 = new Item().setUnlocalizedName("billet_ra226").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_ra226"); + billet_actinium = new Item().setUnlocalizedName("billet_actinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_actinium"); + billet_schrabidium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("billet_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_schrabidium"); + billet_solinium = new Item().setUnlocalizedName("billet_solinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_solinium"); + billet_gh336 = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("billet_gh336").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_gh336"); + billet_australium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("billet_australium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_australium"); + billet_australium_lesser = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("billet_australium_lesser").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_australium_lesser"); + billet_australium_greater = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("billet_australium_greater").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_australium_greater"); + billet_uranium_fuel = new Item().setUnlocalizedName("billet_uranium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_uranium_fuel"); + billet_thorium_fuel = new Item().setUnlocalizedName("billet_thorium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_thorium_fuel"); + billet_plutonium_fuel = new Item().setUnlocalizedName("billet_plutonium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_plutonium_fuel"); + billet_neptunium_fuel = new Item().setUnlocalizedName("billet_neptunium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_neptunium_fuel"); + billet_mox_fuel = new Item().setUnlocalizedName("billet_mox_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_mox_fuel"); + billet_americium_fuel = new Item().setUnlocalizedName("billet_americium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_americium_fuel"); + billet_les = new Item().setUnlocalizedName("billet_les").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_les"); + billet_schrabidium_fuel = new Item().setUnlocalizedName("billet_schrabidium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_schrabidium_fuel"); + billet_hes = new Item().setUnlocalizedName("billet_hes").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_hes"); + billet_po210be = new Item().setUnlocalizedName("billet_po210be").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_po210be"); + billet_ra226be = new Item().setUnlocalizedName("billet_ra226be").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_ra226be"); + billet_pu238be = new Item().setUnlocalizedName("billet_pu238be").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_pu238be"); + billet_beryllium = new Item().setUnlocalizedName("billet_beryllium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_beryllium"); + billet_bismuth = new Item().setUnlocalizedName("billet_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_bismuth"); + billet_zirconium = new Item().setUnlocalizedName("billet_zirconium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_zirconium"); + billet_yharonite = new Item().setUnlocalizedName("billet_yharonite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_yharonite"); + billet_balefire_gold = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("billet_balefire_gold").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_balefire_gold"); + billet_flashlead = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("billet_flashlead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_flashlead"); + billet_zfb_bismuth = new Item().setUnlocalizedName("billet_zfb_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_zfb_bismuth"); + billet_zfb_pu241 = new Item().setUnlocalizedName("billet_zfb_pu241").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_zfb_pu241"); + billet_zfb_am_mix = new Item().setUnlocalizedName("billet_zfb_am_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_zfb_am_mix"); + billet_nuclear_waste = new Item().setUnlocalizedName("billet_nuclear_waste").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_nuclear_waste"); + + ball_resin = new ItemCustomLore().setUnlocalizedName("ball_resin").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ball_resin"); + ingot_dura_steel = new ItemCustomLore().setUnlocalizedName("ingot_dura_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_dura_steel"); + ingot_polymer = new ItemCustomLore().setUnlocalizedName("ingot_polymer").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_polymer"); + ingot_bakelite = new ItemCustomLore().setUnlocalizedName("ingot_bakelite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_bakelite"); + ingot_biorubber = new ItemCustomLore().setUnlocalizedName("ingot_biorubber").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_biorubber"); + ingot_rubber = new ItemCustomLore().setUnlocalizedName("ingot_rubber").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_rubber"); + ingot_pc = new ItemCustomLore().setUnlocalizedName("ingot_pc").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pc"); + ingot_pvc = new ItemCustomLore().setUnlocalizedName("ingot_pvc").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pvc"); + ingot_desh = new ItemCustomLore().setUnlocalizedName("ingot_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_desh"); + nugget_desh = new ItemCustomLore().setUnlocalizedName("nugget_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_desh"); + ingot_dineutronium = new ItemCustomLore().setUnlocalizedName("ingot_dineutronium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_dineutronium"); + nugget_dineutronium = new ItemCustomLore().setUnlocalizedName("nugget_dineutronium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_dineutronium"); + powder_dineutronium = new ItemCustomLore().setUnlocalizedName("powder_dineutronium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_dineutronium"); + ingot_starmetal = new ItemStarmetal().setUnlocalizedName("ingot_starmetal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_starmetal"); + ingot_gunmetal = new Item().setUnlocalizedName("ingot_gunmetal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_gunmetal"); + plate_gunmetal = new Item().setUnlocalizedName("plate_gunmetal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_gunmetal"); + ingot_weaponsteel = new Item().setUnlocalizedName("ingot_weaponsteel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_gunsteel"); + plate_weaponsteel = new Item().setUnlocalizedName("plate_weaponsteel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_gunsteel"); + ingot_saturnite = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("ingot_saturnite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_saturnite"); + plate_saturnite = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("plate_saturnite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_saturnite"); + ingot_ferrouranium = new ItemCustomLore().setUnlocalizedName("ingot_ferrouranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_ferrouranium"); + ingot_fiberglass = new ItemCustomLore().setUnlocalizedName("ingot_fiberglass").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_fiberglass"); + ingot_asbestos = new ItemCustomLore().setUnlocalizedName("ingot_asbestos").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_asbestos"); + powder_asbestos = new ItemCustomLore().setUnlocalizedName("powder_asbestos").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_asbestos"); + ingot_electronium = new ItemCustomLore().setUnlocalizedName("ingot_electronium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_electronium"); + nugget_zirconium = new ItemCustomLore().setUnlocalizedName("nugget_zirconium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_zirconium"); + nugget_mercury = new Item().setUnlocalizedName("nugget_mercury_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_mercury_tiny"); + ingot_mercury = new ItemCustomLore().setUnlocalizedName("nugget_mercury").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_mercury"); + bottle_mercury = new ItemCustomLore().setUnlocalizedName("bottle_mercury").setContainerItem(Items.glass_bottle).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bottle_mercury"); + ingot_calcium = new Item().setUnlocalizedName("ingot_calcium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_calcium"); + powder_calcium = new Item().setUnlocalizedName("powder_calcium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_calcium"); + ingot_cadmium = new Item().setUnlocalizedName("ingot_cadmium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_cadmium"); + powder_cadmium = new Item().setUnlocalizedName("powder_cadmium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cadmium"); + powder_bismuth = new Item().setUnlocalizedName("powder_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_bismuth"); + ingot_mud = new Item().setUnlocalizedName("ingot_mud").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_mud"); + ingot_cft = new Item().setUnlocalizedName("ingot_cft").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_cft"); + + ore_byproduct = new ItemByproduct().setUnlocalizedName("ore_byproduct").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":byproduct"); + + ore_bedrock = new ItemBedrockOre().setUnlocalizedName("ore_bedrock").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_bedrock"); + ore_centrifuged = new ItemBedrockOre().setUnlocalizedName("ore_centrifuged").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_centrifuged"); + ore_cleaned = new ItemBedrockOre().setUnlocalizedName("ore_cleaned").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_cleaned"); + ore_separated = new ItemBedrockOre().setUnlocalizedName("ore_separated").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_separated"); + ore_purified = new ItemBedrockOre().setUnlocalizedName("ore_purified").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_purified"); + ore_nitrated = new ItemBedrockOre().setUnlocalizedName("ore_nitrated").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_nitrated"); + ore_nitrocrystalline = new ItemBedrockOre().setUnlocalizedName("ore_nitrocrystalline").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_nitrocrystalline"); + ore_deepcleaned = new ItemBedrockOre().setUnlocalizedName("ore_deepcleaned").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_deepcleaned"); + ore_seared = new ItemBedrockOre().setUnlocalizedName("ore_seared").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_seared"); + ore_enriched = new ItemBedrockOre().setUnlocalizedName("ore_enriched").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_enriched"); + bedrock_ore_base = new ItemBedrockOreBase().setUnlocalizedName("bedrock_ore_base").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bedrock_ore_new"); + bedrock_ore = new ItemBedrockOreNew().setUnlocalizedName("bedrock_ore").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bedrock_ore_new"); + bedrock_ore_fragment = new ItemAutogen(MaterialShapes.FRAGMENT).aot(Mats.MAT_BISMUTH, "bedrock_ore_fragment_bismuth").setUnlocalizedName("bedrock_ore_fragment").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bedrock_ore_fragment"); + + ingot_lanthanium = new ItemCustomLore().setUnlocalizedName("ingot_lanthanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_lanthanium"); + ingot_actinium = new ItemCustomLore().setUnlocalizedName("ingot_actinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_actinium"); + + ingot_meteorite = new ItemHot(200).setUnlocalizedName("ingot_meteorite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_meteorite"); + ingot_meteorite_forged = new ItemHot(200).setUnlocalizedName("ingot_meteorite_forged").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_meteorite_forged"); + blade_meteorite = new ItemHot(200).setUnlocalizedName("blade_meteorite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":blade_meteorite"); + ingot_steel_dusted = new ItemHotDusted(200).setUnlocalizedName("ingot_steel_dusted").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_steel_dusted"); + ingot_chainsteel = new ItemHot(100).setUnlocalizedName("ingot_chainsteel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_chainsteel"); + + plate_armor_titanium = new Item().setUnlocalizedName("plate_armor_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_titanium"); + plate_armor_ajr = new Item().setUnlocalizedName("plate_armor_ajr").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_ajr"); + plate_armor_hev = new Item().setUnlocalizedName("plate_armor_hev").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_hev"); + plate_armor_lunar = new Item().setUnlocalizedName("plate_armor_lunar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_lunar"); + plate_armor_fau = new Item().setUnlocalizedName("plate_armor_fau").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_fau"); + plate_armor_dnt = new Item().setUnlocalizedName("plate_armor_dnt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_dnt"); + + oil_tar = new ItemEnumMulti(EnumTarType.class, true, true).setUnlocalizedName("oil_tar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":oil_tar"); + solid_fuel = new Item().setUnlocalizedName("solid_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":solid_fuel"); + solid_fuel_presto = new Item().setUnlocalizedName("solid_fuel_presto").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":solid_fuel_presto"); + solid_fuel_presto_triplet = new Item().setUnlocalizedName("solid_fuel_presto_triplet").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":solid_fuel_presto_triplet"); + solid_fuel_bf = new Item().setUnlocalizedName("solid_fuel_bf").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":solid_fuel_bf"); + solid_fuel_presto_bf = new Item().setUnlocalizedName("solid_fuel_presto_bf").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":solid_fuel_presto_bf"); + solid_fuel_presto_triplet_bf = new Item().setUnlocalizedName("solid_fuel_presto_triplet_bf").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":solid_fuel_presto_triplet_bf"); + rocket_fuel = new Item().setUnlocalizedName("rocket_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":rocket_fuel"); + coke = new ItemEnumMulti(EnumCokeType.class, true, true).setUnlocalizedName("coke").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coke"); + lignite = new Item().setUnlocalizedName("lignite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":lignite"); + briquette = new ItemEnumMulti(EnumBriquetteType.class, true, true).setUnlocalizedName("briquette").setCreativeTab(MainRegistry.partsTab); + powder_lignite = new Item().setUnlocalizedName("powder_lignite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lignite"); + coal_infernal = new Item().setUnlocalizedName("coal_infernal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coal_infernal"); + cinnebar = new Item().setUnlocalizedName("cinnebar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":cinnebar"); + powder_ash = new ItemEnumMulti(EnumAshType.class, true, true).setUnlocalizedName("powder_ash").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_ash"); + powder_limestone = new Item().setUnlocalizedName("powder_limestone").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_limestone"); + powder_cement = new ItemLemon(2, 0.5F, false).setUnlocalizedName("powder_cement").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cement"); + + ingot_gh336 = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("ingot_gh336").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_gh336"); + nugget_gh336 = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("nugget_gh336").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_gh336"); + + ingot_australium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("ingot_australium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_australium"); + nugget_australium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("nugget_australium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_australium"); + nugget_australium_lesser = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("nugget_australium_lesser").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_australium_lesser"); + nugget_australium_greater = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("nugget_australium_greater").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_australium_greater"); + + nugget_th232 = new Item().setUnlocalizedName("nugget_th232").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_th232"); + nugget_uranium = new Item().setUnlocalizedName("nugget_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_uranium"); + nugget_u233 = new Item().setUnlocalizedName("nugget_u233").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_u233"); + nugget_u235 = new Item().setUnlocalizedName("nugget_u235").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_u235"); + nugget_u238 = new Item().setUnlocalizedName("nugget_u238").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_u238"); + nugget_plutonium = new Item().setUnlocalizedName("nugget_plutonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_plutonium"); + nugget_pu238 = new Item().setUnlocalizedName("nugget_pu238").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_pu238"); + nugget_pu239 = new Item().setUnlocalizedName("nugget_pu239").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_pu239"); + nugget_pu240 = new Item().setUnlocalizedName("nugget_pu240").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_pu240"); + nugget_pu241 = new Item().setUnlocalizedName("nugget_pu241").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_pu241"); + nugget_pu_mix = new Item().setUnlocalizedName("nugget_pu_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_pu_mix"); + nugget_am241 = new Item().setUnlocalizedName("nugget_am241").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_am241"); + nugget_am242 = new Item().setUnlocalizedName("nugget_am242").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_am242"); + nugget_am_mix = new Item().setUnlocalizedName("nugget_am_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_am_mix"); + nugget_neptunium = new Item().setUnlocalizedName("nugget_neptunium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_neptunium"); + nugget_polonium = new Item().setUnlocalizedName("nugget_polonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_polonium"); + nugget_technetium = new Item().setUnlocalizedName("nugget_technetium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_technetium"); + nugget_cobalt = new Item().setUnlocalizedName("nugget_cobalt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_cobalt"); + nugget_co60 = new Item().setUnlocalizedName("nugget_co60").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_co60"); + nugget_sr90 = new Item().setUnlocalizedName("nugget_sr90").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_sr90"); + nugget_au198 = new Item().setUnlocalizedName("nugget_au198").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_au198"); + nugget_pb209 = new Item().setUnlocalizedName("nugget_pb209").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_pb209"); + nugget_ra226 = new Item().setUnlocalizedName("nugget_ra226").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_ra226"); + nugget_actinium = new Item().setUnlocalizedName("nugget_actinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_actinium"); + plate_titanium = new Item().setUnlocalizedName("plate_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_titanium"); + plate_aluminium = new Item().setUnlocalizedName("plate_aluminium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_aluminium"); + neutron_reflector = new Item().setUnlocalizedName("neutron_reflector").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":neutron_reflector"); + nugget_lead = new Item().setUnlocalizedName("nugget_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_lead"); + ingot_bismuth = new ItemCustomLore().setUnlocalizedName("ingot_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_bismuth"); + nugget_bismuth = new Item().setUnlocalizedName("nugget_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_bismuth"); + ingot_arsenic = new ItemCustomLore().setUnlocalizedName("ingot_arsenic").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_arsenic"); + nugget_arsenic = new Item().setUnlocalizedName("nugget_arsenic").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_arsenic"); + ingot_tantalium = new ItemCustomLore().setUnlocalizedName("ingot_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_tantalium"); + nugget_tantalium = new ItemCustomLore().setUnlocalizedName("nugget_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_tantalium"); + ingot_silicon = new Item().setUnlocalizedName("ingot_silicon").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_silicon"); + billet_silicon = new Item().setUnlocalizedName("billet_silicon").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_silicon"); + nugget_silicon = new Item().setUnlocalizedName("nugget_silicon").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_silicon"); + ingot_niobium = new Item().setUnlocalizedName("ingot_niobium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_niobium"); + nugget_niobium = new Item().setUnlocalizedName("nugget_niobium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_niobium"); + ingot_osmiridium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("ingot_osmiridium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_osmiridium"); + nugget_osmiridium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("nugget_osmiridium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_osmiridium"); + nugget_schrabidium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("nugget_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_schrabidium"); + nugget_beryllium = new Item().setUnlocalizedName("nugget_beryllium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_beryllium"); + hazmat_cloth = new Item().setUnlocalizedName("hazmat_cloth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hazmat_cloth"); + hazmat_cloth_red = new Item().setUnlocalizedName("hazmat_cloth_red").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hazmat_cloth_red"); + hazmat_cloth_grey = new Item().setUnlocalizedName("hazmat_cloth_grey").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hazmat_cloth_grey"); + asbestos_cloth = new Item().setUnlocalizedName("asbestos_cloth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":asbestos_cloth"); + rag = new ItemRag().setUnlocalizedName("rag").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":rag"); + rag_damp = new Item().setUnlocalizedName("rag_damp").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":rag_damp"); + rag_piss = new Item().setUnlocalizedName("rag_piss").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":rag_piss"); + filter_coal = new Item().setUnlocalizedName("filter_coal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":filter_coal"); + ingot_hes = new Item().setUnlocalizedName("ingot_hes").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_hes"); + ingot_les = new Item().setUnlocalizedName("ingot_les").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_les"); + nugget_hes = new Item().setUnlocalizedName("nugget_hes").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_hes"); + nugget_les = new Item().setUnlocalizedName("nugget_les").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_les"); + plate_combine_steel = new Item().setUnlocalizedName("plate_combine_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_combine_steel"); + + crystal_coal = new Item().setUnlocalizedName("crystal_coal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_coal"); + crystal_iron = new Item().setUnlocalizedName("crystal_iron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_iron"); + crystal_gold = new Item().setUnlocalizedName("crystal_gold").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_gold"); + crystal_redstone = new Item().setUnlocalizedName("crystal_redstone").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_redstone"); + crystal_lapis = new Item().setUnlocalizedName("crystal_lapis").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_lapis"); + crystal_diamond = new Item().setUnlocalizedName("crystal_diamond").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_diamond"); + crystal_uranium = new Item().setUnlocalizedName("crystal_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_uranium"); + crystal_thorium = new Item().setUnlocalizedName("crystal_thorium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_thorium"); + crystal_plutonium = new Item().setUnlocalizedName("crystal_plutonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_plutonium"); + crystal_titanium = new Item().setUnlocalizedName("crystal_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_titanium"); + crystal_sulfur = new Item().setUnlocalizedName("crystal_sulfur").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_sulfur"); + crystal_niter = new Item().setUnlocalizedName("crystal_niter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_niter"); + crystal_copper = new Item().setUnlocalizedName("crystal_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_copper"); + crystal_tungsten = new Item().setUnlocalizedName("crystal_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_tungsten"); + crystal_aluminium = new Item().setUnlocalizedName("crystal_aluminium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_aluminium"); + crystal_fluorite = new Item().setUnlocalizedName("crystal_fluorite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_fluorite"); + crystal_beryllium = new Item().setUnlocalizedName("crystal_beryllium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_beryllium"); + crystal_lead = new Item().setUnlocalizedName("crystal_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_lead"); + crystal_schraranium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("crystal_schraranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_schraranium"); + crystal_schrabidium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("crystal_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_schrabidium"); + crystal_rare = new Item().setUnlocalizedName("crystal_rare").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_rare"); + crystal_phosphorus = new Item().setUnlocalizedName("crystal_phosphorus").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_phosphorus"); + crystal_lithium = new Item().setUnlocalizedName("crystal_lithium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_lithium"); + crystal_cobalt = new Item().setUnlocalizedName("crystal_cobalt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_cobalt"); + crystal_starmetal = new Item().setUnlocalizedName("crystal_starmetal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_starmetal"); + crystal_cinnebar = new Item().setUnlocalizedName("crystal_cinnebar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_cinnebar"); + crystal_trixite = new Item().setUnlocalizedName("crystal_trixite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_trixite"); + crystal_osmiridium = new Item().setUnlocalizedName("crystal_osmiridium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_osmiridium"); + gem_sodalite = new ItemCustomLore().setUnlocalizedName("gem_sodalite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_sodalite"); + gem_tantalium = new ItemCustomLore().setUnlocalizedName("gem_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_tantalium"); + gem_volcanic = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("gem_volcanic").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_volcanic"); + gem_rad = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("gem_rad").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_rad"); + gem_alexandrite = new ItemAlexandrite().setUnlocalizedName("gem_alexandrite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_alexandrite"); + + powder_lead = new Item().setUnlocalizedName("powder_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lead"); + powder_tantalium = new ItemCustomLore().setUnlocalizedName("powder_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_tantalium"); + powder_neptunium = new Item().setUnlocalizedName("powder_neptunium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_neptunium"); + powder_polonium = new Item().setUnlocalizedName("powder_polonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_polonium"); + powder_co60 = new Item().setUnlocalizedName("powder_co60").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_co60"); + powder_sr90 = new Item().setUnlocalizedName("powder_sr90").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_sr90"); + powder_sr90_tiny = new Item().setUnlocalizedName("powder_sr90_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_sr90_tiny"); + powder_i131 = new Item().setUnlocalizedName("powder_i131").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_i131"); + powder_i131_tiny = new Item().setUnlocalizedName("powder_i131_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_i131_tiny"); + powder_xe135 = new Item().setUnlocalizedName("powder_xe135").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_xe135"); + powder_xe135_tiny = new Item().setUnlocalizedName("powder_xe135_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_xe135_tiny"); + powder_cs137 = new Item().setUnlocalizedName("powder_cs137").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cs137"); + powder_cs137_tiny = new Item().setUnlocalizedName("powder_cs137_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cs137_tiny"); + powder_au198 = new Item().setUnlocalizedName("powder_au198").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_au198"); + powder_ra226 = new Item().setUnlocalizedName("powder_ra226").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_ra226"); + powder_at209 = new Item().setUnlocalizedName("powder_at209").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_at209"); + powder_schrabidium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("powder_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_schrabidium"); + powder_schrabidate = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("powder_schrabidate").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_schrabidate"); + powder_aluminium = new Item().setUnlocalizedName("powder_aluminium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_aluminium"); + powder_beryllium = new Item().setUnlocalizedName("powder_beryllium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_beryllium"); + powder_copper = new Item().setUnlocalizedName("powder_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_copper"); + powder_gold = new Item().setUnlocalizedName("powder_gold").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_gold"); + powder_iron = new Item().setUnlocalizedName("powder_iron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_iron"); + powder_titanium = new Item().setUnlocalizedName("powder_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_titanium"); + powder_tungsten = new Item().setUnlocalizedName("powder_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_tungsten"); + powder_uranium = new Item().setUnlocalizedName("powder_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_uranium"); + powder_plutonium = new Item().setUnlocalizedName("powder_plutonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_plutonium"); + dust = new ItemCustomLore().setUnlocalizedName("dust").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":dust"); + dust_tiny = new Item().setUnlocalizedName("dust_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":dust_tiny"); + fallout = new Item().setUnlocalizedName("fallout").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fallout"); + powder_advanced_alloy = new Item().setUnlocalizedName("powder_advanced_alloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_advanced_alloy"); + powder_tcalloy = new Item().setUnlocalizedName("powder_tcalloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_tcalloy"); + powder_coal = new Item().setUnlocalizedName("powder_coal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_coal"); + powder_coal_tiny = new Item().setUnlocalizedName("powder_coal_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_coal_tiny"); + powder_combine_steel = new Item().setUnlocalizedName("powder_combine_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_combine_steel"); + powder_diamond = new Item().setUnlocalizedName("powder_diamond").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_diamond"); + powder_emerald = new Item().setUnlocalizedName("powder_emerald").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_emerald"); + powder_lapis = new Item().setUnlocalizedName("powder_lapis").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lapis"); + powder_quartz = new Item().setUnlocalizedName("powder_quartz").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_quartz"); + powder_magnetized_tungsten = new Item().setUnlocalizedName("powder_magnetized_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_magnetized_tungsten"); + powder_chlorophyte = new Item().setUnlocalizedName("powder_chlorophyte").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_chlorophyte"); + powder_red_copper = new Item().setUnlocalizedName("powder_red_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_red_copper"); + powder_steel = new Item().setUnlocalizedName("powder_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_steel"); + powder_lithium = new Item().setUnlocalizedName("powder_lithium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lithium"); + powder_zirconium = new Item().setUnlocalizedName("powder_zirconium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_zirconium"); + powder_sodium = new Item().setUnlocalizedName("powder_sodium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_sodium"); + powder_power = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("powder_power").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_energy_alt"); + powder_iodine = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_iodine").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_iodine"); + powder_thorium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("powder_thorium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_thorium"); + powder_neodymium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_neodymium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_neodymium"); + powder_astatine = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_astatine").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_astatine"); + powder_caesium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_caesium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_caesium"); + powder_australium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("powder_australium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_australium"); + powder_strontium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_strontium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_strontium"); + powder_cobalt = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_cobalt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cobalt"); + powder_bromine = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_bromine").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_bromine"); + powder_niobium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_niobium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_niobium"); + powder_tennessine = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_tennessine").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_tennessine"); + powder_cerium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_cerium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cerium"); + powder_dura_steel = new ItemCustomLore().setUnlocalizedName("powder_dura_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_dura_steel"); + powder_polymer = new ItemCustomLore().setUnlocalizedName("powder_polymer").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_polymer"); + powder_bakelite = new ItemCustomLore().setUnlocalizedName("powder_bakelite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_bakelite"); + powder_euphemium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_euphemium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_euphemium"); + powder_meteorite = new Item().setUnlocalizedName("powder_meteorite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_meteorite"); + powder_lanthanium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_lanthanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lanthanium"); + powder_actinium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_actinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_actinium"); + powder_boron = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("powder_boron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_boron"); + powder_semtex_mix = new Item().setUnlocalizedName("powder_semtex_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_semtex_mix"); + powder_desh_mix = new Item().setUnlocalizedName("powder_desh_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_desh_mix"); + powder_desh_ready = new Item().setUnlocalizedName("powder_desh_ready").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_desh_ready"); + powder_nitan_mix = new Item().setUnlocalizedName("powder_nitan_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_nitan_mix"); + powder_spark_mix = new Item().setUnlocalizedName("powder_spark_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_spark_mix"); + powder_desh = new Item().setUnlocalizedName("powder_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_desh"); + powder_steel_tiny = new Item().setUnlocalizedName("powder_steel_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_steel_tiny"); + powder_lithium_tiny = new Item().setUnlocalizedName("powder_lithium_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lithium_tiny"); + powder_neodymium_tiny = new Item().setUnlocalizedName("powder_neodymium_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_neodymium_tiny"); + powder_cobalt_tiny = new Item().setUnlocalizedName("powder_cobalt_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cobalt_tiny"); + powder_niobium_tiny = new Item().setUnlocalizedName("powder_niobium_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_niobium_tiny"); + powder_cerium_tiny = new Item().setUnlocalizedName("powder_cerium_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cerium_tiny"); + powder_lanthanium_tiny = new Item().setUnlocalizedName("powder_lanthanium_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lanthanium_tiny"); + powder_actinium_tiny = new Item().setUnlocalizedName("powder_actinium_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_actinium_tiny"); + powder_boron_tiny = new Item().setUnlocalizedName("powder_boron_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_boron_tiny"); + powder_meteorite_tiny = new Item().setUnlocalizedName("powder_meteorite_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_meteorite_tiny"); + powder_yellowcake = new Item().setUnlocalizedName("powder_yellowcake").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_yellowcake"); + powder_magic = new Item().setUnlocalizedName("powder_magic").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_magic"); + powder_balefire = new Item().setUnlocalizedName("powder_balefire").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_balefire"); + powder_sawdust = new Item().setUnlocalizedName("powder_sawdust").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_sawdust"); + powder_flux = new Item().setUnlocalizedName("powder_flux").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_flux"); + powder_fertilizer = new ItemFertilizer().setUnlocalizedName("powder_fertilizer").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_fertilizer"); + powder_coltan_ore = new Item().setUnlocalizedName("powder_coltan_ore").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_coltan_ore"); + powder_coltan = new Item().setUnlocalizedName("powder_coltan").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_coltan"); + powder_tektite = new Item().setUnlocalizedName("powder_tektite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_tektite"); + powder_paleogenite = new Item().setUnlocalizedName("powder_paleogenite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_paleogenite"); + powder_paleogenite_tiny = new Item().setUnlocalizedName("powder_paleogenite_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_paleogenite_tiny"); + powder_impure_osmiridium = new Item().setUnlocalizedName("powder_impure_osmiridium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_impure_osmiridium"); + powder_borax = new Item().setUnlocalizedName("powder_borax").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_borax"); + powder_chlorocalcite = new Item().setUnlocalizedName("powder_chlorocalcite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_chlorocalcite"); + powder_molysite = new Item().setUnlocalizedName("powder_molysite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_molysite"); + + fragment_neodymium = new Item().setUnlocalizedName("fragment_neodymium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_neodymium"); + fragment_cobalt = new Item().setUnlocalizedName("fragment_cobalt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_cobalt"); + fragment_niobium = new Item().setUnlocalizedName("fragment_niobium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_niobium"); + fragment_cerium = new Item().setUnlocalizedName("fragment_cerium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_cerium"); + fragment_lanthanium = new Item().setUnlocalizedName("fragment_lanthanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_lanthanium"); + fragment_actinium = new Item().setUnlocalizedName("fragment_actinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_actinium"); + fragment_boron = new Item().setUnlocalizedName("fragment_boron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_boron"); + fragment_meteorite = new Item().setUnlocalizedName("fragment_meteorite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_meteorite"); + fragment_coltan = new Item().setUnlocalizedName("fragment_coltan").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_coltan"); + chunk_ore = new ItemEnumMulti(EnumChunkType.class, true, true).setUnlocalizedName("chunk_ore").setCreativeTab(MainRegistry.partsTab); + + biomass = new Item().setUnlocalizedName("biomass").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":biomass"); + biomass_compressed = new Item().setUnlocalizedName("biomass_compressed").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":biomass_compressed"); + bio_wafer = new ItemLemon(4, 2F, false).setUnlocalizedName("bio_wafer").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bio_wafer"); + plant_item = new ItemEnumMulti(EnumPlantType.class, true, true).setUnlocalizedName("plant_item").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plant_item"); + + coil_copper = new Item().setUnlocalizedName("coil_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_copper"); + coil_copper_torus = new Item().setUnlocalizedName("coil_copper_torus").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_copper_torus"); + coil_tungsten = new Item().setUnlocalizedName("coil_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_tungsten"); + tank_steel = new Item().setUnlocalizedName("tank_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":tank_steel"); + motor = new Item().setUnlocalizedName("motor").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":motor"); + motor_desh = new Item().setUnlocalizedName("motor_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":motor_desh"); + motor_bismuth = new Item().setUnlocalizedName("motor_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":motor_bismuth"); + centrifuge_element = new Item().setUnlocalizedName("centrifuge_element").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":centrifuge_element"); + reactor_core = new Item().setUnlocalizedName("reactor_core").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":reactor_core"); + rtg_unit = new Item().setUnlocalizedName("rtg_unit").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":rtg_unit"); + coil_magnetized_tungsten = new Item().setUnlocalizedName("coil_magnetized_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_magnetized_tungsten"); + coil_gold = new Item().setUnlocalizedName("coil_gold").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_gold"); + coil_gold_torus = new Item().setUnlocalizedName("coil_gold_torus").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_gold_torus"); + component_limiter = new Item().setUnlocalizedName("component_limiter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":component_limiter"); + component_emitter = new Item().setUnlocalizedName("component_emitter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":component_emitter"); + chlorine_pinwheel = new ItemInfiniteFluid(Fluids.CHLORINE, 1, 2).setUnlocalizedName("chlorine_pinwheel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":chlorine_pinwheel"); + FluidTank.noDualUnload.add(chlorine_pinwheel); + ring_starmetal = new Item().setUnlocalizedName("ring_starmetal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ring_starmetal"); + flywheel_beryllium = new Item().setUnlocalizedName("flywheel_beryllium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flywheel_beryllium"); + deuterium_filter = new Item().setUnlocalizedName("deuterium_filter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":deuterium_filter"); + parts_legendary = new ItemEnumMulti(EnumLegendaryType.class, false, true).setUnlocalizedName("parts_legendary").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":parts_legendary"); + + gear_large = new ItemGear().setUnlocalizedName("gear_large").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gear_large"); + sawblade = new Item().setUnlocalizedName("sawblade").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sawblade"); + + shell = new ItemAutogen(MaterialShapes.SHELL).oun("shellntm").setUnlocalizedName("shell").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":shell"); + pipe = new ItemAutogen(MaterialShapes.PIPE).oun("pipentm").setUnlocalizedName("pipe").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pipe"); + fins_flat = new Item().setUnlocalizedName("fins_flat").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fins_flat"); + fins_small_steel = new Item().setUnlocalizedName("fins_small_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fins_small_steel"); + fins_big_steel = new Item().setUnlocalizedName("fins_big_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fins_big_steel"); + fins_tri_steel = new Item().setUnlocalizedName("fins_tri_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fins_tri_steel"); + fins_quad_titanium = new Item().setUnlocalizedName("fins_quad_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fins_quad_titanium"); + sphere_steel = new Item().setUnlocalizedName("sphere_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sphere_steel"); + pedestal_steel = new Item().setUnlocalizedName("pedestal_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pedestal_steel"); + dysfunctional_reactor = new Item().setUnlocalizedName("dysfunctional_reactor").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":dysfunctional_reactor"); + blade_titanium = new Item().setUnlocalizedName("blade_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":blade_titanium"); + turbine_titanium = new Item().setUnlocalizedName("turbine_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":turbine_titanium"); + blade_tungsten = new Item().setUnlocalizedName("blade_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":blade_tungsten"); + turbine_tungsten = new Item().setUnlocalizedName("turbine_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":turbine_tungsten"); + + toothpicks = new Item().setUnlocalizedName("toothpicks").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":toothpicks"); + ducttape = new Item().setUnlocalizedName("ducttape").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ducttape"); + catalyst_clay = new Item().setUnlocalizedName("catalyst_clay").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":catalyst_clay"); + + warhead_generic_small = new Item().setUnlocalizedName("warhead_generic_small").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_generic_small"); + warhead_generic_medium = new Item().setUnlocalizedName("warhead_generic_medium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_generic_medium"); + warhead_generic_large = new Item().setUnlocalizedName("warhead_generic_large").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_generic_large"); + warhead_incendiary_small = new Item().setUnlocalizedName("warhead_incendiary_small").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_incendiary_small"); + warhead_incendiary_medium = new Item().setUnlocalizedName("warhead_incendiary_medium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_incendiary_medium"); + warhead_incendiary_large = new Item().setUnlocalizedName("warhead_incendiary_large").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_incendiary_large"); + warhead_cluster_small = new Item().setUnlocalizedName("warhead_cluster_small").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_cluster_small"); + warhead_cluster_medium = new Item().setUnlocalizedName("warhead_cluster_medium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_cluster_medium"); + warhead_cluster_large = new Item().setUnlocalizedName("warhead_cluster_large").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_cluster_large"); + warhead_buster_small = new Item().setUnlocalizedName("warhead_buster_small").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_buster_small"); + warhead_buster_medium = new Item().setUnlocalizedName("warhead_buster_medium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_buster_medium"); + warhead_buster_large = new Item().setUnlocalizedName("warhead_buster_large").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_buster_large"); + warhead_nuclear = new Item().setUnlocalizedName("warhead_nuclear").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_nuclear"); + warhead_mirv = new Item().setUnlocalizedName("warhead_mirv").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_mirv"); + warhead_volcano = new Item().setUnlocalizedName("warhead_volcano").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_volcano"); + + fuel_tank_small = new Item().setUnlocalizedName("fuel_tank_small").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fuel_tank_small"); + fuel_tank_medium = new Item().setUnlocalizedName("fuel_tank_medium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fuel_tank_medium"); + fuel_tank_large = new Item().setUnlocalizedName("fuel_tank_large").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fuel_tank_large"); + + thruster_small = new Item().setUnlocalizedName("thruster_small").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":thruster_small"); + thruster_medium = new Item().setUnlocalizedName("thruster_medium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":thruster_medium"); + thruster_large = new Item().setUnlocalizedName("thruster_large").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":thruster_large"); + + sat_head_mapper = new Item().setUnlocalizedName("sat_head_mapper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sat_head_mapper"); + sat_head_scanner = new Item().setUnlocalizedName("sat_head_scanner").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sat_head_scanner"); + sat_head_radar = new Item().setUnlocalizedName("sat_head_radar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sat_head_radar"); + sat_head_laser = new Item().setUnlocalizedName("sat_head_laser").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sat_head_laser"); + sat_head_resonator = new Item().setUnlocalizedName("sat_head_resonator").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sat_head_resonator"); + + seg_10 = new Item().setUnlocalizedName("seg_10").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":seg_10"); + seg_15 = new Item().setUnlocalizedName("seg_15").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":seg_15"); + seg_20 = new Item().setUnlocalizedName("seg_20").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":seg_20"); + + combine_scrap = new Item().setUnlocalizedName("combine_scrap").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":combine_scrap"); + + shimmer_head = new Item().setUnlocalizedName("shimmer_head").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":shimmer_head_original"); + shimmer_axe_head = new Item().setUnlocalizedName("shimmer_axe_head").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":shimmer_axe_head"); + shimmer_handle = new Item().setUnlocalizedName("shimmer_handle").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":shimmer_handle"); + + entanglement_kit = new ItemCustomLore().setUnlocalizedName("entanglement_kit").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":entanglement_kit"); + + circuit = new ItemCircuit().setUnlocalizedName("circuit").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":circuit"); + crt_display = new Item().setUnlocalizedName("crt_display").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crt_display"); + circuit_star_piece = (ItemEnumMulti) new ItemEnumMulti(ScrapType.class, true, true).setUnlocalizedName("circuit_star_piece").setCreativeTab(null); + circuit_star_component = (ItemEnumMulti) new ItemCircuitStarComponent().setUnlocalizedName("circuit_star_component").setCreativeTab(null); + circuit_star = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("circuit_star").setCreativeTab(null).setTextureName(RefStrings.MODID + ":circuit_star"); + assembly_nuke = new Item().setUnlocalizedName("assembly_nuke").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_nuke"); + casing = new ItemEnumMulti(ItemEnums.EnumCasingType.class, true, true).setUnlocalizedName("casing").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":casing"); + + wiring_red_copper = new ItemWiring().setUnlocalizedName("wiring_red_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":wiring_red_copper"); + + pellet_rtg_depleted = new ItemRTGPelletDepleted().setContainerItem(plate_iron).setUnlocalizedName("pellet_rtg_depleted").setCreativeTab(MainRegistry.controlTab); + + pellet_rtg_radium = new ItemRTGPellet(3).setDecays(DepletedRTGMaterial.LEAD, (long) (RTGUtil.getLifespan(16.0F, HalfLifeType.LONG, false) * 1.5)).setUnlocalizedName("pellet_rtg_radium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_radium"); + pellet_rtg_weak = new ItemRTGPellet(5).setDecays(DepletedRTGMaterial.LEAD, (long) (RTGUtil.getLifespan(1.0F, HalfLifeType.LONG, false) * 1.5)).setUnlocalizedName("pellet_rtg_weak").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_weak"); + pellet_rtg = new ItemRTGPellet(10).setDecays(DepletedRTGMaterial.LEAD, (long) (RTGUtil.getLifespan(87.7F, HalfLifeType.MEDIUM, false) * 1.5)).setUnlocalizedName("pellet_rtg").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg"); + pellet_rtg_strontium = new ItemRTGPellet(15).setDecays(DepletedRTGMaterial.ZIRCONIUM, (long) (RTGUtil.getLifespan(29.0F, HalfLifeType.MEDIUM, false) * 1.5)).setUnlocalizedName("pellet_rtg_strontium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_strontium"); + pellet_rtg_cobalt = new ItemRTGPellet(15).setDecays(DepletedRTGMaterial.NICKEL, (long) (RTGUtil.getLifespan(5.3F, HalfLifeType.MEDIUM, false) * 1.5)).setUnlocalizedName("pellet_rtg_cobalt").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_cobalt"); + pellet_rtg_actinium = new ItemRTGPellet(20).setDecays(DepletedRTGMaterial.LEAD, (long) (RTGUtil.getLifespan(21.8F, HalfLifeType.MEDIUM, false) * 1.5)).setUnlocalizedName("pellet_rtg_actinium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_actinium"); + pellet_rtg_americium = new ItemRTGPellet(20).setDecays(DepletedRTGMaterial.NEPTUNIUM, (long) (RTGUtil.getLifespan(4.7F, HalfLifeType.LONG, false) * 1.5)).setUnlocalizedName("pellet_rtg_americium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_americium"); + pellet_rtg_polonium = new ItemRTGPellet(50).setDecays(DepletedRTGMaterial.LEAD, (long) (RTGUtil.getLifespan(138.0F, HalfLifeType.SHORT, false) * 1.5)).setUnlocalizedName("pellet_rtg_polonium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_polonium"); + pellet_rtg_gold = new ItemRTGPellet(VersatileConfig.rtgDecay() ? 200 : 100).setDecays(DepletedRTGMaterial.MERCURY, (long) (RTGUtil.getLifespan(2.7F, HalfLifeType.SHORT, false) * 1.5)).setUnlocalizedName("pellet_rtg_gold").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_gold"); + pellet_rtg_lead = new ItemRTGPellet(VersatileConfig.rtgDecay() ? 600 : 200).setDecays(DepletedRTGMaterial.BISMUTH, (long) (RTGUtil.getLifespan(0.3F, HalfLifeType.SHORT, false) * 1.5)).setUnlocalizedName("pellet_rtg_lead").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_lead"); + + tritium_deuterium_cake = new ItemCustomLore().setUnlocalizedName("tritium_deuterium_cake").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":tritium_deuterium_cake"); + + piston_selenium = new Item().setUnlocalizedName("piston_selenium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":piston_selenium"); + piston_set = new ItemPistons().setUnlocalizedName("piston_set").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1); + drillbit = new ItemDrillbit().setUnlocalizedName("drillbit").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1); + + rune_blank = new ItemCustomLore().setEffect().setUnlocalizedName("rune_blank").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_blank"); + rune_isa = new ItemCustomLore().setEffect().setUnlocalizedName("rune_isa").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_isa"); + rune_dagaz = new ItemCustomLore().setEffect().setUnlocalizedName("rune_dagaz").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_dagaz"); + rune_hagalaz = new ItemCustomLore().setEffect().setUnlocalizedName("rune_hagalaz").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_hagalaz"); + rune_jera = new ItemCustomLore().setEffect().setUnlocalizedName("rune_jera").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_jera"); + rune_thurisaz = new ItemCustomLore().setEffect().setUnlocalizedName("rune_thurisaz").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_thurisaz"); + + ams_catalyst_blank = new Item().setUnlocalizedName("ams_catalyst_blank").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_blank"); + ams_catalyst_aluminium = new ItemCatalyst(0xCCCCCC, 1000000, 1.15F, 0.85F, 1.15F).setUnlocalizedName("ams_catalyst_aluminium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_aluminium"); + ams_catalyst_beryllium = new ItemCatalyst(0x97978B, 0, 1.25F, 0.95F, 1.05F).setUnlocalizedName("ams_catalyst_beryllium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_beryllium"); + ams_catalyst_caesium = new ItemCatalyst(0x6400FF, 2500000, 1.00F, 0.85F, 1.15F).setUnlocalizedName("ams_catalyst_caesium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_caesium"); + ams_catalyst_cerium = new ItemCatalyst(0x1D3FFF, 1000000, 1.15F, 1.15F, 0.85F).setUnlocalizedName("ams_catalyst_cerium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_cerium"); + ams_catalyst_cobalt = new ItemCatalyst(0x789BBE, 0, 1.25F, 1.05F, 0.95F).setUnlocalizedName("ams_catalyst_cobalt").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_cobalt"); + ams_catalyst_copper = new ItemCatalyst(0xAADE29, 0, 1.25F, 1.00F, 1.00F).setUnlocalizedName("ams_catalyst_copper").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_copper"); + ams_catalyst_dineutronium = new ItemCatalyst(0x334077, 2500000, 1.00F, 1.15F, 0.85F).setUnlocalizedName("ams_catalyst_dineutronium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_dineutronium"); + ams_catalyst_euphemium = new ItemCatalyst(0xFF9CD2, 2500000, 1.00F, 1.00F, 1.00F).setUnlocalizedName("ams_catalyst_euphemium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_euphemium"); + ams_catalyst_iron = new ItemCatalyst(0xFF7E22, 1000000, 1.15F, 0.95F, 1.05F).setUnlocalizedName("ams_catalyst_iron").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_iron"); + ams_catalyst_lithium = new ItemCatalyst(0xFF2727, 0, 1.25F, 0.85F, 1.15F).setUnlocalizedName("ams_catalyst_lithium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_lithium"); + ams_catalyst_niobium = new ItemCatalyst(0x3BF1B6, 1000000, 1.15F, 1.05F, 0.95F).setUnlocalizedName("ams_catalyst_niobium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_niobium"); + ams_catalyst_schrabidium = new ItemCatalyst(0x32FFFF, 2500000, 1.00F, 1.05F, 0.95F).setUnlocalizedName("ams_catalyst_schrabidium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_schrabidium"); + ams_catalyst_strontium = new ItemCatalyst(0xDD0D35, 1000000, 1.15F, 1.00F, 1.00F).setUnlocalizedName("ams_catalyst_strontium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_strontium"); + ams_catalyst_thorium = new ItemCatalyst(0x653B22, 2500000, 1.00F, 0.95F, 1.05F).setUnlocalizedName("ams_catalyst_thorium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_thorium"); + ams_catalyst_tungsten = new ItemCatalyst(0xF5FF48, 0, 1.25F, 1.15F, 0.85F).setUnlocalizedName("ams_catalyst_tungsten").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_tungsten"); + + cell_empty = new Item().setUnlocalizedName("cell_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":cell_empty"); + cell_uf6 = new Item().setUnlocalizedName("cell_uf6").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_uf6"); + cell_puf6 = new Item().setUnlocalizedName("cell_puf6").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_puf6"); + cell_antimatter = new ItemDrop().setUnlocalizedName("cell_antimatter").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_antimatter"); + cell_deuterium = new Item().setUnlocalizedName("cell_deuterium").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_deuterium"); + cell_tritium = new Item().setUnlocalizedName("cell_tritium").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_tritium"); + cell_sas3 = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("cell_sas3").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_sas3"); + cell_anti_schrabidium = new ItemDrop().setUnlocalizedName("cell_anti_schrabidium").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_anti_schrabidium"); + cell_balefire = new Item().setUnlocalizedName("cell_balefire").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_balefire"); + + demon_core_open = new ItemDemonCore().setUnlocalizedName("demon_core_open").setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":demon_core_open"); + demon_core_closed = new Item().setUnlocalizedName("demon_core_closed").setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":demon_core_closed"); + + pa_coil = new ItemPACoil().setUnlocalizedName("pa_coil").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pa_coil"); + + particle_empty = new Item().setUnlocalizedName("particle_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":particle_empty"); + particle_hydrogen = new Item().setUnlocalizedName("particle_hydrogen").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_hydrogen"); + particle_copper = new Item().setUnlocalizedName("particle_copper").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_copper"); + particle_lead = new Item().setUnlocalizedName("particle_lead").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_lead"); + particle_aproton = new Item().setUnlocalizedName("particle_aproton").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_aproton"); + particle_aelectron = new Item().setUnlocalizedName("particle_aelectron").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_aelectron"); + particle_amat = new Item().setUnlocalizedName("particle_amat").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_amat"); + particle_aschrab = new Item().setUnlocalizedName("particle_aschrab").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_aschrab"); + particle_higgs = new Item().setUnlocalizedName("particle_higgs").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_higgs"); + particle_muon = new Item().setUnlocalizedName("particle_muon").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_muon"); + particle_tachyon = new Item().setUnlocalizedName("particle_tachyon").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_tachyon"); + particle_strange = new Item().setUnlocalizedName("particle_strange").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_strange"); + particle_dark = new Item().setUnlocalizedName("particle_dark").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_dark"); + particle_sparkticle = new Item().setUnlocalizedName("particle_sparkticle").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_sparkticle"); + particle_digamma = new ItemDigamma(60).setUnlocalizedName("particle_digamma").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_digamma"); + particle_lutece = new Item().setUnlocalizedName("particle_lutece").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_lutece"); + + singularity = new ItemDrop().setUnlocalizedName("singularity").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity"); + singularity_counter_resonant = new ItemDrop().setUnlocalizedName("singularity_counter_resonant").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_alt"); + singularity_super_heated = new ItemDrop().setUnlocalizedName("singularity_super_heated").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_5"); + black_hole = new ItemDrop().setUnlocalizedName("black_hole").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_4"); + singularity_spark = new ItemDrop().setUnlocalizedName("singularity_spark").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_spark_alt"); + pellet_antimatter = new ItemDrop().setUnlocalizedName("pellet_antimatter").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":pellet_antimatter"); + crystal_xen = new ItemDrop().setUnlocalizedName("crystal_xen").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":crystal_xen"); + + stamp_stone_flat = new ItemStamp(32, StampType.FLAT).setUnlocalizedName("stamp_stone_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_stone_flat"); + stamp_stone_plate = new ItemStamp(32, StampType.PLATE).setUnlocalizedName("stamp_stone_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_stone_plate"); + stamp_stone_wire = new ItemStamp(32, StampType.WIRE).setUnlocalizedName("stamp_stone_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_stone_wire"); + stamp_stone_circuit = new ItemStamp(32, StampType.CIRCUIT).setUnlocalizedName("stamp_stone_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_stone_circuit"); + stamp_iron_flat = new ItemStamp(64, StampType.FLAT).setUnlocalizedName("stamp_iron_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_iron_flat"); + stamp_iron_plate = new ItemStamp(64, StampType.PLATE).setUnlocalizedName("stamp_iron_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_iron_plate"); + stamp_iron_wire = new ItemStamp(64, StampType.WIRE).setUnlocalizedName("stamp_iron_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_iron_wire"); + stamp_iron_circuit = new ItemStamp(64, StampType.CIRCUIT).setUnlocalizedName("stamp_iron_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_iron_circuit"); + stamp_steel_flat = new ItemStamp(192, StampType.FLAT).setUnlocalizedName("stamp_steel_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_steel_flat"); + stamp_steel_plate = new ItemStamp(192, StampType.PLATE).setUnlocalizedName("stamp_steel_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_steel_plate"); + stamp_steel_wire = new ItemStamp(192, StampType.WIRE).setUnlocalizedName("stamp_steel_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_steel_wire"); + stamp_steel_circuit = new ItemStamp(192, StampType.CIRCUIT).setUnlocalizedName("stamp_steel_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_steel_circuit"); + stamp_titanium_flat = new ItemStamp(256, StampType.FLAT).setUnlocalizedName("stamp_titanium_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_titanium_flat"); + stamp_titanium_plate = new ItemStamp(256, StampType.PLATE).setUnlocalizedName("stamp_titanium_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_titanium_plate"); + stamp_titanium_wire = new ItemStamp(256, StampType.WIRE).setUnlocalizedName("stamp_titanium_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_titanium_wire"); + stamp_titanium_circuit = new ItemStamp(256, StampType.CIRCUIT).setUnlocalizedName("stamp_titanium_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_titanium_circuit"); + stamp_obsidian_flat = new ItemStamp(512, StampType.FLAT).setUnlocalizedName("stamp_obsidian_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_obsidian_flat"); + stamp_obsidian_plate = new ItemStamp(512, StampType.PLATE).setUnlocalizedName("stamp_obsidian_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_obsidian_plate"); + stamp_obsidian_wire = new ItemStamp(512, StampType.WIRE).setUnlocalizedName("stamp_obsidian_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_obsidian_wire"); + stamp_obsidian_circuit = new ItemStamp(512, StampType.CIRCUIT).setUnlocalizedName("stamp_obsidian_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_obsidian_circuit"); + stamp_desh_flat = new ItemStamp(0, StampType.FLAT).setUnlocalizedName("stamp_desh_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_desh_flat"); + stamp_desh_plate = new ItemStamp(0, StampType.PLATE).setUnlocalizedName("stamp_desh_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_desh_plate"); + stamp_desh_wire = new ItemStamp(0, StampType.WIRE).setUnlocalizedName("stamp_desh_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_desh_wire"); + stamp_desh_circuit = new ItemStamp(0, StampType.CIRCUIT).setUnlocalizedName("stamp_desh_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_desh_circuit"); + stamp_357 = new ItemStamp(1000, StampType.C357).setUnlocalizedName("stamp_357").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_357"); + stamp_44 = new ItemStamp(1000, StampType.C44).setUnlocalizedName("stamp_44").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_44"); + stamp_9 = new ItemStamp(1000, StampType.C9).setUnlocalizedName("stamp_9").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_9"); + stamp_50 = new ItemStamp(1000, StampType.C50).setUnlocalizedName("stamp_50").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_50"); + stamp_book = new ItemStampBook().setUnlocalizedName("stamp_book").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":stamp_book"); + + stamp_desh_357 = new ItemStamp(0, StampType.C357).setUnlocalizedName("stamp_desh_357").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_357_desh"); + stamp_desh_44 = new ItemStamp(0, StampType.C44).setUnlocalizedName("stamp_desh_44").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_44_desh"); + stamp_desh_9 = new ItemStamp(0, StampType.C9).setUnlocalizedName("stamp_desh_9").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_9_desh"); + stamp_desh_50 = new ItemStamp(0, StampType.C50).setUnlocalizedName("stamp_desh_50").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_50_desh"); + + blades_steel = new ItemBlades(200).setUnlocalizedName("blades_steel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":blades_steel"); + blades_titanium = new ItemBlades(350).setUnlocalizedName("blades_titanium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":blades_titanium"); + blades_advanced_alloy = new ItemBlades(700).setUnlocalizedName("blades_advanced_alloy").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":blades_advanced_alloy"); + blades_desh = new ItemBlades(0).setUnlocalizedName("blades_desh").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":blades_desh"); + + mold_base = new Item().setUnlocalizedName("mold_base").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":mold_base"); + mold = new ItemMold().setUnlocalizedName("mold").setCreativeTab(MainRegistry.controlTab); + scraps = new ItemScraps().aot(Mats.MAT_BISMUTH, "scraps_bismuth").setUnlocalizedName("scraps").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scraps"); + ingot_raw = new ItemAutogen(MaterialShapes.INGOT).setUnlocalizedName("ingot_raw").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_raw"); + plate_cast = new ItemAutogen(MaterialShapes.CASTPLATE).aot(Mats.MAT_BISMUTH, "plate_cast_bismuth").setUnlocalizedName("plate_cast").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_cast"); + plate_welded = new ItemAutogen(MaterialShapes.WELDEDPLATE).setUnlocalizedName("plate_welded").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_welded"); + heavy_component = new ItemAutogen(MaterialShapes.HEAVY_COMPONENT).setUnlocalizedName("heavy_component").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":heavy_component"); + wire_fine = new ItemAutogen(MaterialShapes.WIRE) + .aot(Mats.MAT_ALUMINIUM, "wire_aluminium").aot(Mats.MAT_COPPER, "wire_copper") + .aot(Mats.MAT_MINGRADE, "wire_red_copper").aot(Mats.MAT_GOLD, "wire_gold") + .aot(Mats.MAT_TUNGSTEN, "wire_tungsten").aot(Mats.MAT_ALLOY, "wire_advanced_alloy") + .aot(Mats.MAT_CARBON, "wire_carbon").aot(Mats.MAT_SCHRABIDIUM, "wire_schrabidium") + .aot(Mats.MAT_MAGTUNG, "wire_magnetized_tungsten").setUnlocalizedName("wire_fine").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":wire_fine"); + wire_dense = new ItemAutogen(MaterialShapes.DENSEWIRE).setUnlocalizedName("wire_dense").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":wire_dense"); + + part_barrel_light = new ItemAutogen(MaterialShapes.LIGHTBARREL).setUnlocalizedName("part_barrel_light").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":part_barrel_light"); + part_barrel_heavy = new ItemAutogen(MaterialShapes.HEAVYBARREL).setUnlocalizedName("part_barrel_heavy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":part_barrel_heavy"); + part_receiver_light = new ItemAutogen(MaterialShapes.LIGHTRECEIVER).setUnlocalizedName("part_receiver_light").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":part_receiver_light"); + part_receiver_heavy = new ItemAutogen(MaterialShapes.HEAVYRECEIVER).setUnlocalizedName("part_receiver_heavy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":part_receiver_heavy"); + part_mechanism = new ItemAutogen(MaterialShapes.MECHANISM).setUnlocalizedName("part_mechanism").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":part_mechanism"); + part_stock = new ItemAutogen(MaterialShapes.STOCK).setUnlocalizedName("part_stock").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":part_stock"); + part_grip = new ItemAutogen(MaterialShapes.GRIP).setUnlocalizedName("part_grip").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":part_grip"); + + part_lithium = new Item().setUnlocalizedName("part_lithium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":part_lithium"); + part_beryllium = new Item().setUnlocalizedName("part_beryllium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":part_beryllium"); + part_carbon = new Item().setUnlocalizedName("part_carbon").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":part_carbon"); + part_copper = new Item().setUnlocalizedName("part_copper").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":part_copper"); + part_plutonium = new Item().setUnlocalizedName("part_plutonium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":part_plutonium"); + + laser_crystal_co2 = new ItemFELCrystal(EnumWavelengths.IR).setUnlocalizedName("laser_crystal_co2").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":laser_crystal_co2"); + laser_crystal_bismuth = new ItemFELCrystal(EnumWavelengths.VISIBLE).setUnlocalizedName("laser_crystal_bismuth").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":laser_crystal_bismuth"); + laser_crystal_cmb = new ItemFELCrystal(EnumWavelengths.UV).setUnlocalizedName("laser_crystal_cmb").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":laser_crystal_cmb"); + laser_crystal_dnt = new ItemFELCrystal(EnumWavelengths.GAMMA).setUnlocalizedName("laser_crystal_dnt").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":laser_crystal_dnt"); + laser_crystal_digamma = new ItemFELCrystal(EnumWavelengths.DRX).setUnlocalizedName("laser_crystal_digamma").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":laser_crystal_digamma"); + + thermo_element = new Item().setUnlocalizedName("thermo_element").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":thermo_element"); + catalytic_converter = new Item().setUnlocalizedName("catalytic_converter").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":catalytic_converter"); + + fuel_additive = new ItemEnumMulti(ItemEnums.EnumFuelAdditive.class, true, true).setUnlocalizedName("fuel_additive").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fuel_additive"); + + canister_empty = new ItemCustomLore().setUnlocalizedName("canister_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":canister_empty"); + canister_full = new ItemCanister().setUnlocalizedName("canister_full").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_empty"); + canister_napalm = new ItemCustomLore().setUnlocalizedName("canister_napalm").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_napalm"); + gas_empty = new Item().setUnlocalizedName("gas_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":gas_empty"); + gas_full = new ItemGasTank().setUnlocalizedName("gas_full").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.gas_empty).setTextureName(RefStrings.MODID + ":gas_empty"); + + ItemSimpleConsumable.init(); + + //TODO: move all this crap to ItemSimpleConsumable + syringe_empty = new Item().setUnlocalizedName("syringe_empty").setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":syringe_empty"); + syringe_metal_empty = new Item().setUnlocalizedName("syringe_metal_empty").setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":syringe_metal_empty"); + syringe_metal_stimpak = new ItemSyringe().setUnlocalizedName("syringe_metal_stimpak").setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":syringe_metal_stimpak"); + syringe_metal_medx = new ItemSyringe().setUnlocalizedName("syringe_metal_medx").setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":syringe_metal_medx"); + syringe_metal_psycho = new ItemSyringe().setUnlocalizedName("syringe_metal_psycho").setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":syringe_metal_psycho"); + syringe_metal_super = new ItemSyringe().setUnlocalizedName("syringe_metal_super").setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":syringe_metal_super"); + syringe_taint = new ItemSyringe().setUnlocalizedName("syringe_taint").setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":syringe_taint"); + syringe_mkunicorn = new ItemSyringe().setUnlocalizedName("syringe_mkunicorn").setFull3D().setCreativeTab(null).setTextureName(RefStrings.MODID + ":syringe_mkunicorn"); + + med_bag = new ItemSyringe().setUnlocalizedName("med_bag").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_bag"); + radx = new ItemPill(0).setUnlocalizedName("radx").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":radx"); + siox = new ItemPill(0).setUnlocalizedName("siox").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":siox"); + pill_herbal = new ItemPill(0).setUnlocalizedName("pill_herbal").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pill_herbal"); + xanax = new ItemPill(0).setUnlocalizedName("xanax").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":xanax_2"); + fmn = new ItemPill(0).setUnlocalizedName("fmn").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":tablet"); + five_htp = new ItemPill(0).setUnlocalizedName("five_htp").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":5htp"); + pill_iodine = new ItemPill(0).setUnlocalizedName("pill_iodine").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pill_iodine"); + plan_c = new ItemPill(0).setUnlocalizedName("plan_c").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":plan_c"); + pill_red = new ItemPill(0).setUnlocalizedName("pill_red").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pill_red"); + stealth_boy = new ItemStarterKit().setUnlocalizedName("stealth_boy").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":stealth_boy"); + gas_mask_filter = new ItemFilter().setUnlocalizedName("gas_mask_filter").setTextureName(RefStrings.MODID + ":gas_mask_filter"); + gas_mask_filter_mono = new ItemFilter().setUnlocalizedName("gas_mask_filter_mono").setTextureName(RefStrings.MODID + ":gas_mask_filter_mono"); + gas_mask_filter_combo = new ItemFilter().setUnlocalizedName("gas_mask_filter_combo").setTextureName(RefStrings.MODID + ":gas_mask_filter_combo"); + gas_mask_filter_rag = new ItemFilter().setUnlocalizedName("gas_mask_filter_rag").setTextureName(RefStrings.MODID + ":gas_mask_filter_rag"); + gas_mask_filter_piss = new ItemFilter().setUnlocalizedName("gas_mask_filter_piss").setTextureName(RefStrings.MODID + ":gas_mask_filter_piss"); + jetpack_tank = new ItemSyringe().setUnlocalizedName("jetpack_tank").setMaxStackSize(16).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":jetpack_tank"); + gun_kit_1 = new ItemRepairKit(10).setUnlocalizedName("gun_kit_1").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":gun_kit_1"); + gun_kit_2 = new ItemRepairKit(100).setUnlocalizedName("gun_kit_2").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":gun_kit_2"); + cbt_device = new ItemSyringe().setUnlocalizedName("cbt_device").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":cbt_device"); + cigarette = new ItemCigarette().setUnlocalizedName("cigarette").setFull3D().setMaxStackSize(16).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cigarette"); + crackpipe = new ItemCigarette().setUnlocalizedName("crackpipe").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":crackpipe"); + bdcl = new ItemBDCL().setUnlocalizedName("bdcl").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bdcl"); + + attachment_mask = new ItemModGasmask().setUnlocalizedName("attachment_mask").setTextureName(RefStrings.MODID + ":attachment_mask"); + attachment_mask_mono = new ItemModGasmask().setUnlocalizedName("attachment_mask_mono").setTextureName(RefStrings.MODID + ":attachment_mask_mono"); + back_tesla = new ItemModTesla().setUnlocalizedName("back_tesla").setTextureName(RefStrings.MODID + ":back_tesla"); + servo_set = new ItemModServos().setUnlocalizedName("servo_set").setTextureName(RefStrings.MODID + ":servo_set"); + servo_set_desh = new ItemModServos().setUnlocalizedName("servo_set_desh").setTextureName(RefStrings.MODID + ":servo_set_desh"); + pads_rubber = new ItemModPads(0.5F).setUnlocalizedName("pads_rubber").setTextureName(RefStrings.MODID + ":pads_rubber"); + pads_slime = new ItemModPads(0.25F).setUnlocalizedName("pads_slime").setTextureName(RefStrings.MODID + ":pads_slime"); + pads_static = new ItemModPads(0.75F).setUnlocalizedName("pads_static").setTextureName(RefStrings.MODID + ":pads_static"); + cladding_paint = new ItemModCladding(0.025).setUnlocalizedName("cladding_paint").setTextureName(RefStrings.MODID + ":cladding_paint"); + cladding_rubber = new ItemModCladding(0.005).setUnlocalizedName("cladding_rubber").setTextureName(RefStrings.MODID + ":cladding_rubber"); + cladding_lead = new ItemModCladding(0.1).setUnlocalizedName("cladding_lead").setTextureName(RefStrings.MODID + ":cladding_lead"); + cladding_desh = new ItemModCladding(0.2).setUnlocalizedName("cladding_desh").setTextureName(RefStrings.MODID + ":cladding_desh"); + cladding_ghiorsium = new ItemModCladding(0.5).setUnlocalizedName("cladding_ghiorsium").setTextureName(RefStrings.MODID + ":cladding_ghiorsium"); + cladding_iron = new ItemModIron().setUnlocalizedName("cladding_iron").setTextureName(RefStrings.MODID + ":cladding_iron"); + cladding_obsidian = new ItemModObsidian().setUnlocalizedName("cladding_obsidian").setTextureName(RefStrings.MODID + ":cladding_obsidian"); + insert_kevlar = new ItemModInsert(1500, 1F, 0.9F, 1F, 1F).setUnlocalizedName("insert_kevlar").setTextureName(RefStrings.MODID + ":insert_kevlar"); + insert_sapi = new ItemModInsert(1750, 1F, 0.85F, 1F, 1F).setUnlocalizedName("insert_sapi").setTextureName(RefStrings.MODID + ":insert_sapi"); + insert_esapi = new ItemModInsert(2000, 0.95F, 0.8F, 1F, 1F).setUnlocalizedName("insert_esapi").setTextureName(RefStrings.MODID + ":insert_esapi"); + insert_xsapi = new ItemModInsert(2500, 0.9F, 0.75F, 1F, 1F).setUnlocalizedName("insert_xsapi").setTextureName(RefStrings.MODID + ":insert_xsapi"); + insert_steel = new ItemModInsert(1000, 1F, 0.95F, 0.75F, 0.95F).setUnlocalizedName("insert_steel").setTextureName(RefStrings.MODID + ":insert_steel"); + insert_du = new ItemModInsert(1500, 0.9F, 0.85F, 0.5F, 0.9F).setUnlocalizedName("insert_du").setTextureName(RefStrings.MODID + ":insert_du"); + insert_polonium = new ItemModInsert(500, 0.9F, 1F, 0.95F, 0.9F).setUnlocalizedName("insert_polonium").setTextureName(RefStrings.MODID + ":insert_polonium"); + insert_ghiorsium = new ItemModInsert(2000, 0.8F, 0.75F, 0.35F, 0.9F).setUnlocalizedName("insert_ghiorsium").setTextureName(RefStrings.MODID + ":insert_ghiorsium"); + insert_era = new ItemModInsert(25, 0.5F, 1F, 0.25F, 1F).setUnlocalizedName("insert_era").setTextureName(RefStrings.MODID + ":insert_era"); + insert_yharonite = new ItemModInsert(9999, 0.01F, 1F, 1F, 1F).setUnlocalizedName("insert_yharonite").setTextureName(RefStrings.MODID + ":insert_yharonite"); + insert_doxium = new ItemModInsert(9999, 5.0F, 1F, 1F, 1F).setUnlocalizedName("insert_doxium").setTextureName(RefStrings.MODID + ":insert_doxium"); + armor_polish = new ItemModPolish().setUnlocalizedName("armor_polish").setTextureName(RefStrings.MODID + ":armor_polish"); + bandaid = new ItemModBandaid().setUnlocalizedName("bandaid").setTextureName(RefStrings.MODID + ":bandaid"); + serum = new ItemModSerum().setUnlocalizedName("serum").setTextureName(RefStrings.MODID + ":serum"); + quartz_plutonium = new ItemModQuartz().setUnlocalizedName("quartz_plutonium").setTextureName(RefStrings.MODID + ":quartz_plutonium"); + morning_glory = new ItemModMorningGlory().setUnlocalizedName("morning_glory").setTextureName(RefStrings.MODID + ":morning_glory"); + lodestone = new ItemModLodestone(5).setUnlocalizedName("lodestone").setTextureName(RefStrings.MODID + ":lodestone"); + horseshoe_magnet = new ItemModLodestone(8).setUnlocalizedName("horseshoe_magnet").setTextureName(RefStrings.MODID + ":horseshoe_magnet"); + industrial_magnet = new ItemModLodestone(12).setUnlocalizedName("industrial_magnet").setTextureName(RefStrings.MODID + ":industrial_magnet"); + bathwater = new ItemModBathwater().setUnlocalizedName("bathwater").setTextureName(RefStrings.MODID + ":bathwater"); + bathwater_mk2 = new ItemModBathwater().setUnlocalizedName("bathwater_mk2").setTextureName(RefStrings.MODID + ":bathwater_mk2"); + spider_milk = new ItemModMilk().setUnlocalizedName("spider_milk").setTextureName(RefStrings.MODID + ":spider_milk"); + ink = new ItemModInk().setUnlocalizedName("ink").setTextureName(RefStrings.MODID + ":ink"); + heart_piece = new ItemModHealth(5F).setUnlocalizedName("heart_piece").setTextureName(RefStrings.MODID + ":heart_piece"); + heart_container = new ItemModHealth(20F).setUnlocalizedName("heart_container").setTextureName(RefStrings.MODID + ":heart_container"); + heart_booster = new ItemModHealth(40F).setUnlocalizedName("heart_booster").setTextureName(RefStrings.MODID + ":heart_booster"); + heart_fab = new ItemModHealth(60F).setUnlocalizedName("heart_fab").setTextureName(RefStrings.MODID + ":heart_fab"); + black_diamond = new ItemModHealth(40F).setUnlocalizedName("black_diamond").setTextureName(RefStrings.MODID + ":black_diamond"); + wd40 = new ItemModWD40().setUnlocalizedName("wd40").setTextureName(RefStrings.MODID + ":wd40"); + scrumpy = new ItemModRevive(1).setUnlocalizedName("scrumpy").setTextureName(RefStrings.MODID + ":scrumpy"); + wild_p = new ItemModRevive(3).setUnlocalizedName("wild_p").setTextureName(RefStrings.MODID + ":wild_p"); + shackles = new ItemModShackles().setUnlocalizedName("shackles").setTextureName(RefStrings.MODID + ":shackles"); + injector_5htp = new ItemModAuto().setUnlocalizedName("injector_5htp").setTextureName(RefStrings.MODID + ":injector_5htp"); + injector_knife = new ItemModKnife().setUnlocalizedName("injector_knife").setTextureName(RefStrings.MODID + ":injector_knife"); + medal_liquidator = new ItemModMedal().setUnlocalizedName("medal_liquidator").setTextureName(RefStrings.MODID + ":medal_liquidator"); + bottled_cloud = new ItemModCloud().setUnlocalizedName("bottled_cloud").setTextureName(RefStrings.MODID + ":bottled_cloud"); + protection_charm = new ItemModCharm().setUnlocalizedName("protection_charm").setTextureName(RefStrings.MODID + ":protection_charm"); + meteor_charm = new ItemModCharm().setUnlocalizedName("meteor_charm").setTextureName(RefStrings.MODID + ":meteor_charm"); + neutrino_lens = new ItemModLens().setUnlocalizedName("neutrino_lens").setTextureName(RefStrings.MODID + ":neutrino_lens"); + gas_tester = new ItemModSensor().setUnlocalizedName("gas_tester").setTextureName(RefStrings.MODID + ":gas_tester"); + defuser_gold = new ItemModDefuser().setUnlocalizedName("defuser_gold").setTextureName(RefStrings.MODID + ":defuser_gold"); + ballistic_gauntlet = new ItemModTwoKick().setUnlocalizedName("ballistic_gauntlet").setTextureName(RefStrings.MODID + ":ballistic_gauntlet"); + night_vision = new ItemModNightVision().setUnlocalizedName("night_vision").setTextureName(RefStrings.MODID + ":night_vision"); + card_aos = new ItemModCard().setUnlocalizedName("card_aos").setTextureName(RefStrings.MODID + ":card_aos"); + card_qos = new ItemModCard().setUnlocalizedName("card_qos").setTextureName(RefStrings.MODID + ":card_qos"); + australium_iii = new ItemModShield(25F).setUnlocalizedName("australium_iii").setTextureName(RefStrings.MODID + ":australium_iii"); + armor_battery = new ItemModBattery(1.25D).setUnlocalizedName("armor_battery").setTextureName(RefStrings.MODID + ":armor_battery"); + armor_battery_mk2 = new ItemModBattery(1.5D).setUnlocalizedName("armor_battery_mk2").setTextureName(RefStrings.MODID + ":armor_battery_mk2"); + armor_battery_mk3 = new ItemModBattery(2D).setUnlocalizedName("armor_battery_mk3").setTextureName(RefStrings.MODID + ":armor_battery_mk3"); + + cap_nuka = new Item().setUnlocalizedName("cap_nuka").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_nuka"); + cap_quantum = new Item().setUnlocalizedName("cap_quantum").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_quantum"); + cap_sparkle = new Item().setUnlocalizedName("cap_sparkle").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_sparkle"); + cap_rad = new Item().setUnlocalizedName("cap_rad").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_rad"); + cap_korl = new Item().setUnlocalizedName("cap_korl").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_korl"); + cap_fritz = new Item().setUnlocalizedName("cap_fritz").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_fritz"); + ring_pull = new Item().setUnlocalizedName("ring_pull").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":ring_pull"); + + can_empty = new Item().setUnlocalizedName("can_empty").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_empty"); + can_smart = new ItemEnergy().makeCan().setUnlocalizedName("can_smart").setTextureName(RefStrings.MODID + ":can_smart"); + can_creature = new ItemEnergy().makeCan().setUnlocalizedName("can_creature").setTextureName(RefStrings.MODID + ":can_creature"); + can_redbomb = new ItemEnergy().makeCan().setUnlocalizedName("can_redbomb").setTextureName(RefStrings.MODID + ":can_redbomb"); + can_mrsugar = new ItemEnergy().makeCan().setUnlocalizedName("can_mrsugar").setTextureName(RefStrings.MODID + ":can_mrsugar"); + can_overcharge = new ItemEnergy().makeCan().setUnlocalizedName("can_overcharge").setTextureName(RefStrings.MODID + ":can_overcharge"); + can_luna = new ItemEnergy().makeCan().setUnlocalizedName("can_luna").setTextureName(RefStrings.MODID + ":can_luna"); + can_bepis = new ItemEnergy().makeCan().setUnlocalizedName("can_bepis").setTextureName(RefStrings.MODID + ":can_bepis"); + can_breen = new ItemEnergy().makeCan().setUnlocalizedName("can_breen").setTextureName(RefStrings.MODID + ":can_breen"); + can_mug = new ItemEnergy().makeCan().setUnlocalizedName("can_mug").setTextureName(RefStrings.MODID + ":can_mug"); + bottle_empty = new Item().setUnlocalizedName("bottle_empty").setTextureName(RefStrings.MODID + ":bottle_empty"); + bottle_nuka = new ItemEnergy().makeBottle(bottle_empty, cap_nuka).setUnlocalizedName("bottle_nuka").setTextureName(RefStrings.MODID + ":bottle_nuka"); + bottle_cherry = new ItemEnergy().makeBottle(bottle_empty, cap_nuka).setUnlocalizedName("bottle_cherry").setContainerItem(ModItems.bottle_empty).setTextureName(RefStrings.MODID + ":bottle_cherry"); + bottle_quantum = new ItemEnergy().makeBottle(bottle_empty, cap_quantum).setUnlocalizedName("bottle_quantum").setContainerItem(ModItems.bottle_empty).setTextureName(RefStrings.MODID + ":bottle_quantum"); + bottle_sparkle = new ItemEnergy().makeBottle(bottle_empty, cap_sparkle).setUnlocalizedName("bottle_sparkle").setContainerItem(ModItems.bottle_empty).setTextureName(RefStrings.MODID + ":bottle_sparkle"); + bottle_rad = new ItemEnergy().makeBottle(bottle_empty, cap_rad).setUnlocalizedName("bottle_rad").setContainerItem(ModItems.bottle_empty).setTextureName(RefStrings.MODID + ":bottle_rad"); + bottle2_empty = new Item().setUnlocalizedName("bottle2_empty").setTextureName(RefStrings.MODID + ":bottle2_empty"); + bottle2_korl = new ItemEnergy().makeBottle(bottle2_empty, cap_korl).setUnlocalizedName("bottle2_korl").setContainerItem(ModItems.bottle2_empty).setTextureName(RefStrings.MODID + ":bottle2_korl"); + bottle2_fritz = new ItemEnergy().makeBottle(bottle2_empty, cap_fritz).setUnlocalizedName("bottle2_fritz").setContainerItem(ModItems.bottle2_empty).setTextureName(RefStrings.MODID + ":bottle2_fritz"); + bottle2_korl_special = new ItemEnergy().makeBottle(bottle2_empty, cap_korl).setUnlocalizedName("bottle2_korl_special").setContainerItem(ModItems.bottle2_empty).setTextureName(RefStrings.MODID + ":bottle2_korl"); + bottle2_fritz_special = new ItemEnergy().makeBottle(bottle2_empty, cap_fritz).setUnlocalizedName("bottle2_fritz_special").setContainerItem(ModItems.bottle2_empty).setTextureName(RefStrings.MODID + ":bottle2_fritz"); + flask_infusion = new ItemFlask().setUnlocalizedName("flask_infusion").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":flask"); + chocolate_milk = new ItemEnergy().setUnlocalizedName("chocolate_milk").setTextureName(RefStrings.MODID + ":chocolate_milk"); + coffee = new ItemEnergy().setUnlocalizedName("coffee").setTextureName(RefStrings.MODID + ":coffee"); + coffee_radium = new ItemEnergy().setUnlocalizedName("coffee_radium").setTextureName(RefStrings.MODID + ":coffee_radium"); + chocolate = new ItemPill(0).setUnlocalizedName("chocolate").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":chocolate"); + canned_conserve = (ItemEnumMulti) new ItemConserve().setUnlocalizedName("canned_conserve").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned"); + can_key = new Item().setUnlocalizedName("can_key").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_key"); + + boat_rubber = new ItemBoatRubber().setUnlocalizedName("boat_rubber").setTextureName(RefStrings.MODID + ":boat_rubber"); + cart = new ItemModMinecart().setUnlocalizedName("cart"); + train = new ItemTrain().setUnlocalizedName("train"); + drone = new ItemDrone().setUnlocalizedName("drone"); + + coin_creeper = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_creeper").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_creeper"); + coin_radiation = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_radiation").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_radiation"); + coin_maskman = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_maskman").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_maskman"); + coin_worm = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_worm").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_worm"); + coin_ufo = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_ufo").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_ufo"); + + rod_empty = new Item().setUnlocalizedName("rod_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_empty"); + rod = (ItemEnumMulti) new ItemBreedingRod().setUnlocalizedName("rod").setContainerItem(ModItems.rod_empty).setCreativeTab(MainRegistry.controlTab); + rod_dual_empty = new Item().setUnlocalizedName("rod_dual_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_dual_empty"); + rod_dual = (ItemEnumMulti) new ItemBreedingRod().setUnlocalizedName("rod_dual").setContainerItem(ModItems.rod_dual_empty).setCreativeTab(MainRegistry.controlTab); + rod_quad_empty = new Item().setUnlocalizedName("rod_quad_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_quad_empty"); + rod_quad = (ItemEnumMulti) new ItemBreedingRod().setUnlocalizedName("rod_quad").setContainerItem(ModItems.rod_quad_empty).setCreativeTab(MainRegistry.controlTab); + + rod_zirnox_empty = new Item().setUnlocalizedName("rod_zirnox_empty").setMaxStackSize(64).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_empty"); + //rod_zirnox_natural_uranium_fuel = new ItemZirnoxRodDeprecated(250000, 30).setUnlocalizedName("rod_zirnox_natural_uranium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_natural_uranium_fuel"); + //rod_zirnox_uranium_fuel = new ItemZirnoxRodDeprecated(200000, 50).setUnlocalizedName("rod_zirnox_uranium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_uranium_fuel"); + //rod_zirnox_th232 = new ItemZirnoxBreedingRod(20000, 0).setUnlocalizedName("rod_zirnox_th232").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_th232"); + //rod_zirnox_thorium_fuel = new ItemZirnoxRodDeprecated(200000, 40).setUnlocalizedName("rod_zirnox_thorium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_thorium_fuel"); + //rod_zirnox_mox_fuel = new ItemZirnoxRodDeprecated(165000, 75).setUnlocalizedName("rod_zirnox_mox_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_mox_fuel"); + //rod_zirnox_plutonium_fuel = new ItemZirnoxRodDeprecated(175000, 65).setUnlocalizedName("rod_zirnox_plutonium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_plutonium_fuel"); + //rod_zirnox_u233_fuel = new ItemZirnoxRodDeprecated(150000, 100).setUnlocalizedName("rod_zirnox_u233_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_u233_fuel"); + //rod_zirnox_u235_fuel = new ItemZirnoxRodDeprecated(165000, 85).setUnlocalizedName("rod_zirnox_u235_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_u235_fuel"); + //rod_zirnox_les_fuel = new ItemZirnoxRodDeprecated(150000, 150).setUnlocalizedName("rod_zirnox_les_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_les_fuel"); + //rod_zirnox_lithium = new ItemZirnoxBreedingRod(20000, 0).setUnlocalizedName("rod_zirnox_lithium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_lithium"); + rod_zirnox_tritium = new Item().setUnlocalizedName("rod_zirnox_tritium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_tritium"); + //rod_zirnox_zfb_mox = new ItemZirnoxRodDeprecated(50000, 35).setUnlocalizedName("rod_zirnox_zfb_mox").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_zfb_mox"); + rod_zirnox = (ItemEnumMulti) new ItemZirnoxRod().setUnlocalizedName("rod_zirnox").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox"); + + rod_zirnox_natural_uranium_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_natural_uranium_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_uranium_fuel_depleted"); + rod_zirnox_uranium_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_uranium_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_uranium_fuel_depleted"); + rod_zirnox_thorium_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_thorium_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_thorium_fuel_depleted"); + rod_zirnox_mox_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_mox_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_mox_fuel_depleted"); + rod_zirnox_plutonium_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_plutonium_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_plutonium_fuel_depleted"); + rod_zirnox_u233_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_u233_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_u233_fuel_depleted"); + rod_zirnox_u235_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_u235_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_u235_fuel_depleted"); + rod_zirnox_les_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_les_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_les_fuel_depleted"); + rod_zirnox_zfb_mox_depleted = new Item().setUnlocalizedName("rod_zirnox_zfb_mox_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_zfb_mox_depleted"); + + waste_natural_uranium = new ItemDepletedFuel().setUnlocalizedName("waste_natural_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_uranium"); + waste_uranium = new ItemDepletedFuel().setUnlocalizedName("waste_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_uranium"); + waste_thorium = new ItemDepletedFuel().setUnlocalizedName("waste_thorium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_thorium"); + waste_mox = new ItemDepletedFuel().setUnlocalizedName("waste_mox").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_mox"); + waste_plutonium = new ItemDepletedFuel().setUnlocalizedName("waste_plutonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plutonium"); + waste_u233 = new ItemDepletedFuel().setUnlocalizedName("waste_u233").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_uranium"); + waste_u235 = new ItemDepletedFuel().setUnlocalizedName("waste_u235").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_uranium"); + waste_schrabidium = new ItemDepletedFuel().setUnlocalizedName("waste_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_schrabidium"); + waste_zfb_mox = new ItemDepletedFuel().setUnlocalizedName("waste_zfb_mox").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_zfb_mox"); + + waste_plate_u233 = new ItemDepletedFuel().setUnlocalizedName("waste_plate_u233").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_uranium"); + waste_plate_u235 = new ItemDepletedFuel().setUnlocalizedName("waste_plate_u235").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_uranium"); + waste_plate_mox = new ItemDepletedFuel().setUnlocalizedName("waste_plate_mox").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_mox"); + waste_plate_pu239 = new ItemDepletedFuel().setUnlocalizedName("waste_plate_pu239").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_mox"); + waste_plate_sa326 = new ItemDepletedFuel().setUnlocalizedName("waste_plate_sa326").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_sa326"); + waste_plate_ra226be = new ItemDepletedFuel().setUnlocalizedName("waste_plate_ra226be").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_ra226be"); + waste_plate_pu238be = new ItemDepletedFuel().setUnlocalizedName("waste_plate_pu238be").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_pu238be"); + + pile_rod_uranium = new ItemPileRod().setUnlocalizedName("pile_rod_uranium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_uranium"); + pile_rod_pu239 = new ItemPileRod().setUnlocalizedName("pile_rod_pu239").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_pu239"); + pile_rod_plutonium = new ItemPileRod().setUnlocalizedName("pile_rod_plutonium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_plutonium"); + pile_rod_source = new ItemPileRod().setUnlocalizedName("pile_rod_source").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_source"); + pile_rod_boron = new ItemPileRod().setUnlocalizedName("pile_rod_boron").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_boron"); + pile_rod_lithium = new ItemPileRod().setUnlocalizedName("pile_rod_lithium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_lithium"); + pile_rod_detector = new ItemPileRod().setUnlocalizedName("pile_rod_detector").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_detector"); + + plate_fuel_u233 = new ItemPlateFuel(2200000).setFunction(FunctionEnum.SQUARE_ROOT, 50).setUnlocalizedName("plate_fuel_u233").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_u233"); + plate_fuel_u235 = new ItemPlateFuel(2200000).setFunction(FunctionEnum.SQUARE_ROOT, 40).setUnlocalizedName("plate_fuel_u235").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_u235"); + plate_fuel_mox = new ItemPlateFuel(2400000).setFunction(FunctionEnum.LOGARITHM, 50).setUnlocalizedName("plate_fuel_mox").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_mox"); + plate_fuel_pu239 = new ItemPlateFuel(2000000).setFunction(FunctionEnum.NEGATIVE_QUADRATIC, 50).setUnlocalizedName("plate_fuel_pu239").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_pu239"); + plate_fuel_sa326 = new ItemPlateFuel(2000000).setFunction(FunctionEnum.LINEAR, 80).setUnlocalizedName("plate_fuel_sa326").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_sa326"); + plate_fuel_ra226be = new ItemPlateFuel(1300000).setFunction(FunctionEnum.PASSIVE, 30).setUnlocalizedName("plate_fuel_ra226be").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_ra226be"); + plate_fuel_pu238be = new ItemPlateFuel(1000000).setFunction(FunctionEnum.PASSIVE, 50).setUnlocalizedName("plate_fuel_pu238be").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_pu238be"); + + pwr_fuel = new ItemPWRFuel().setUnlocalizedName("pwr_fuel").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pwr_fuel"); + pwr_fuel_hot = new ItemEnumMulti(EnumPWRFuel.class, true, false).setUnlocalizedName("pwr_fuel_hot").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pwr_fuel_hot"); + pwr_fuel_depleted = new ItemEnumMulti(EnumPWRFuel.class, true, false).setUnlocalizedName("pwr_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pwr_fuel_depleted"); + + rbmk_lid = new ItemRBMKLid().setUnlocalizedName("rbmk_lid").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rbmk_lid"); + rbmk_lid_glass = new ItemRBMKLid().setUnlocalizedName("rbmk_lid_glass").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rbmk_lid_glass"); + + rbmk_pellet_ueu = (ItemRBMKPellet) new ItemRBMKPellet("Unenriched Uranium").setUnlocalizedName("rbmk_pellet_ueu").setTextureName(RefStrings.MODID + ":rbmk_pellet_ueu"); + rbmk_pellet_meu = (ItemRBMKPellet) new ItemRBMKPellet("Medium Enriched Uranium-235").setUnlocalizedName("rbmk_pellet_meu").setTextureName(RefStrings.MODID + ":rbmk_pellet_meu"); + rbmk_pellet_heu233 = (ItemRBMKPellet) new ItemRBMKPellet("Highly Enriched Uranium-233").setUnlocalizedName("rbmk_pellet_heu233").setTextureName(RefStrings.MODID + ":rbmk_pellet_heu233"); + rbmk_pellet_heu235 = (ItemRBMKPellet) new ItemRBMKPellet("Highly Enriched Uranium-235").setUnlocalizedName("rbmk_pellet_heu235").setTextureName(RefStrings.MODID + ":rbmk_pellet_heu235"); + rbmk_pellet_thmeu = (ItemRBMKPellet) new ItemRBMKPellet("Thorium with MEU Driver Fuel").setUnlocalizedName("rbmk_pellet_thmeu").setTextureName(RefStrings.MODID + ":rbmk_pellet_thmeu"); + rbmk_pellet_lep = (ItemRBMKPellet) new ItemRBMKPellet("Low Enriched Plutonium-239").setUnlocalizedName("rbmk_pellet_lep").setTextureName(RefStrings.MODID + ":rbmk_pellet_lep"); + rbmk_pellet_mep = (ItemRBMKPellet) new ItemRBMKPellet("Medium Enriched Plutonium-239").setUnlocalizedName("rbmk_pellet_mep").setTextureName(RefStrings.MODID + ":rbmk_pellet_mep"); + rbmk_pellet_hep239 = (ItemRBMKPellet) new ItemRBMKPellet("Highly Enriched Plutonium-239").setUnlocalizedName("rbmk_pellet_hep239").setTextureName(RefStrings.MODID + ":rbmk_pellet_hep239"); + rbmk_pellet_hep241 = (ItemRBMKPellet) new ItemRBMKPellet("Highly Enriched Plutonium-241").setUnlocalizedName("rbmk_pellet_hep241").setTextureName(RefStrings.MODID + ":rbmk_pellet_hep241"); + rbmk_pellet_lea = (ItemRBMKPellet) new ItemRBMKPellet("Low Enriched Americium-242").setUnlocalizedName("rbmk_pellet_lea").setTextureName(RefStrings.MODID + ":rbmk_pellet_lea"); + rbmk_pellet_mea = (ItemRBMKPellet) new ItemRBMKPellet("Medium Enriched Americium-242").setUnlocalizedName("rbmk_pellet_mea").setTextureName(RefStrings.MODID + ":rbmk_pellet_mea"); + rbmk_pellet_hea241 = (ItemRBMKPellet) new ItemRBMKPellet("Highly Enriched Americium-241").setUnlocalizedName("rbmk_pellet_hea241").setTextureName(RefStrings.MODID + ":rbmk_pellet_hea241"); + rbmk_pellet_hea242 = (ItemRBMKPellet) new ItemRBMKPellet("Highly Enriched Americium-242").setUnlocalizedName("rbmk_pellet_hea242").setTextureName(RefStrings.MODID + ":rbmk_pellet_hea242"); + rbmk_pellet_men = (ItemRBMKPellet) new ItemRBMKPellet("Medium Enriched Neptunium-237").setUnlocalizedName("rbmk_pellet_men").setTextureName(RefStrings.MODID + ":rbmk_pellet_men"); + rbmk_pellet_hen = (ItemRBMKPellet) new ItemRBMKPellet("Highly Enriched Neptunium-237").setUnlocalizedName("rbmk_pellet_hen").setTextureName(RefStrings.MODID + ":rbmk_pellet_hen"); + rbmk_pellet_mox = (ItemRBMKPellet) new ItemRBMKPellet("Mixed MEU & LEP Oxide").setUnlocalizedName("rbmk_pellet_mox").setTextureName(RefStrings.MODID + ":rbmk_pellet_mox"); + rbmk_pellet_les = (ItemRBMKPellet) new ItemRBMKPellet("Low Enriched Schrabidium-326").setUnlocalizedName("rbmk_pellet_les").setTextureName(RefStrings.MODID + ":rbmk_pellet_les"); + rbmk_pellet_mes = (ItemRBMKPellet) new ItemRBMKPellet("Medium Enriched Schrabidium-326").setUnlocalizedName("rbmk_pellet_mes").setTextureName(RefStrings.MODID + ":rbmk_pellet_mes"); + rbmk_pellet_hes = (ItemRBMKPellet) new ItemRBMKPellet("Highly Enriched Schrabidium-326").setUnlocalizedName("rbmk_pellet_hes").setTextureName(RefStrings.MODID + ":rbmk_pellet_hes"); + rbmk_pellet_leaus = (ItemRBMKPellet) new ItemRBMKPellet("Low Enriched Australium (Tasmanite)").setUnlocalizedName("rbmk_pellet_leaus").setTextureName(RefStrings.MODID + ":rbmk_pellet_leaus"); + rbmk_pellet_heaus = (ItemRBMKPellet) new ItemRBMKPellet("Highly Enriched Australium (Ayerite)").setUnlocalizedName("rbmk_pellet_heaus").setTextureName(RefStrings.MODID + ":rbmk_pellet_heaus"); + rbmk_pellet_po210be = (ItemRBMKPellet) new ItemRBMKPellet("Polonium-210 & Beryllium Neutron Source").disableXenon().setUnlocalizedName("rbmk_pellet_po210be").setTextureName(RefStrings.MODID + ":rbmk_pellet_po210be"); + rbmk_pellet_ra226be = (ItemRBMKPellet) new ItemRBMKPellet("Radium-226 & Beryllium Neutron Source").disableXenon().setUnlocalizedName("rbmk_pellet_ra226be").setTextureName(RefStrings.MODID + ":rbmk_pellet_ra226be"); + rbmk_pellet_pu238be = (ItemRBMKPellet) new ItemRBMKPellet("Plutonium-238 & Beryllium Neutron Source").setUnlocalizedName("rbmk_pellet_pu238be").setTextureName(RefStrings.MODID + ":rbmk_pellet_pu238be"); + rbmk_pellet_balefire_gold = (ItemRBMKPellet) new ItemRBMKPellet("Antihydrogen in a Magnetized Gold-198 Lattice").disableXenon().setUnlocalizedName("rbmk_pellet_balefire_gold").setTextureName(RefStrings.MODID + ":rbmk_pellet_balefire_gold"); + rbmk_pellet_flashlead = (ItemRBMKPellet) new ItemRBMKPellet("Antihydrogen confined by a Magnetized Gold-198 and Lead-209 Lattice").disableXenon().setUnlocalizedName("rbmk_pellet_flashlead").setTextureName(RefStrings.MODID + ":rbmk_pellet_flashlead"); + rbmk_pellet_balefire = (ItemRBMKPellet) new ItemRBMKPellet("Draconic Flames").disableXenon().setUnlocalizedName("rbmk_pellet_balefire").setTextureName(RefStrings.MODID + ":rbmk_pellet_balefire"); + rbmk_pellet_zfb_bismuth = (ItemRBMKPellet) new ItemRBMKPellet("Zirconium Fast Breeder - LEU/HEP-241#Bi").setUnlocalizedName("rbmk_pellet_zfb_bismuth").setTextureName(RefStrings.MODID + ":rbmk_pellet_zfb_bismuth"); + rbmk_pellet_zfb_pu241 = (ItemRBMKPellet) new ItemRBMKPellet("Zirconium Fast Breeder - HEU-235/HEP-240#Pu-241").setUnlocalizedName("rbmk_pellet_zfb_pu241").setTextureName(RefStrings.MODID + ":rbmk_pellet_zfb_pu241"); + rbmk_pellet_zfb_am_mix = (ItemRBMKPellet) new ItemRBMKPellet("Zirconium Fast Breeder - HEP-241#MEA").setUnlocalizedName("rbmk_pellet_zfb_am_mix").setTextureName(RefStrings.MODID + ":rbmk_pellet_zfb_am_mix"); + rbmk_pellet_drx = (ItemRBMKPellet) new ItemRBMKPellet(EnumChatFormatting.OBFUSCATED + "can't you hear, can't you hear the thunder?").setUnlocalizedName("rbmk_pellet_drx").setTextureName(RefStrings.MODID + ":rbmk_pellet_drx"); + + rbmk_fuel_empty = new Item().setUnlocalizedName("rbmk_fuel_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rbmk_fuel_empty"); + rbmk_fuel_ueu = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_ueu) + .setYield(100000000D) + .setStats(15) + .setFunction(EnumBurnFunc.LOG_TEN) + .setDepletionFunction(EnumDepleteFunc.RAISING_SLOPE) + .setHeat(0.65) //0.5 is too much of a nerf in heat; pu239 buildup justifies it being on par with MEU ig + .setMeltingPoint(2865) + .setUnlocalizedName("rbmk_fuel_ueu").setTextureName(RefStrings.MODID + ":rbmk_fuel_ueu"); + rbmk_fuel_meu = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_meu) + .setYield(100000000D) + .setStats(20) + .setFunction(EnumBurnFunc.LOG_TEN) + .setDepletionFunction(EnumDepleteFunc.RAISING_SLOPE) + .setHeat(0.65) //0.75 was a bit too much... + .setMeltingPoint(2865) + .setUnlocalizedName("rbmk_fuel_meu").setTextureName(RefStrings.MODID + ":rbmk_fuel_meu"); + rbmk_fuel_heu233 = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_heu233) + .setYield(100000000D) + .setStats(27.5D) + .setFunction(EnumBurnFunc.LINEAR) + .setHeat(1.25D) + .setMeltingPoint(2865) + .setUnlocalizedName("rbmk_fuel_heu233").setTextureName(RefStrings.MODID + ":rbmk_fuel_heu233"); + rbmk_fuel_heu235 = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_heu235) + .setYield(100000000D) + .setStats(50) //Consistency with HEN; its critical mass is too high to justify a linear function + .setFunction(EnumBurnFunc.SQUARE_ROOT) + .setMeltingPoint(2865) + .setUnlocalizedName("rbmk_fuel_heu235").setTextureName(RefStrings.MODID + ":rbmk_fuel_heu235"); + rbmk_fuel_thmeu = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_thmeu) + .setYield(100000000D) + .setStats(20) + .setFunction(EnumBurnFunc.PLATEU) + .setDepletionFunction(EnumDepleteFunc.BOOSTED_SLOPE) + .setHeat(0.65D) //Consistency with MEU + .setMeltingPoint(3350) + .setUnlocalizedName("rbmk_fuel_thmeu").setTextureName(RefStrings.MODID + ":rbmk_fuel_thmeu"); + rbmk_fuel_lep = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_lep) + .setYield(100000000D) + .setStats(35) + .setFunction(EnumBurnFunc.LOG_TEN) + .setDepletionFunction(EnumDepleteFunc.RAISING_SLOPE) + .setHeat(0.75D) + .setMeltingPoint(2744) + .setUnlocalizedName("rbmk_fuel_lep").setTextureName(RefStrings.MODID + ":rbmk_fuel_lep"); + rbmk_fuel_mep = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_mep) + .setYield(100000000D) + .setStats(35) + .setFunction(EnumBurnFunc.SQUARE_ROOT) + .setMeltingPoint(2744) + .setUnlocalizedName("rbmk_fuel_mep").setTextureName(RefStrings.MODID + ":rbmk_fuel_mep"); + rbmk_fuel_hep239 = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_hep239) + .setYield(100000000D) + .setStats(30) + .setFunction(EnumBurnFunc.LINEAR) + .setHeat(1.25D) + .setMeltingPoint(2744) + .setUnlocalizedName("rbmk_fuel_hep").setTextureName(RefStrings.MODID + ":rbmk_fuel_hep"); + rbmk_fuel_hep241 = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_hep241) + .setYield(100000000D) + .setStats(40) + .setFunction(EnumBurnFunc.LINEAR) + .setHeat(1.75D) + .setMeltingPoint(2744) + .setUnlocalizedName("rbmk_fuel_hep241").setTextureName(RefStrings.MODID + ":rbmk_fuel_hep241"); + rbmk_fuel_lea = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_lea) + .setYield(100000000D) + .setStats(60, 10) + .setFunction(EnumBurnFunc.SQUARE_ROOT) + .setDepletionFunction(EnumDepleteFunc.RAISING_SLOPE) + .setHeat(1.5D) + .setMeltingPoint(2386) + .setUnlocalizedName("rbmk_fuel_lea").setTextureName(RefStrings.MODID + ":rbmk_fuel_lea"); + rbmk_fuel_mea = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_mea) + .setYield(100000000D) + .setStats(35D, 20) + .setFunction(EnumBurnFunc.ARCH) + .setHeat(1.75D) + .setMeltingPoint(2386) + .setUnlocalizedName("rbmk_fuel_mea").setTextureName(RefStrings.MODID + ":rbmk_fuel_mea"); + rbmk_fuel_hea241 = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_hea241) + .setYield(100000000D) + .setStats(65, 15) + .setFunction(EnumBurnFunc.SQUARE_ROOT) + .setHeat(1.85D) + .setMeltingPoint(2386) + .setNeutronTypes(NType.FAST, NType.FAST) + .setUnlocalizedName("rbmk_fuel_hea241").setTextureName(RefStrings.MODID + ":rbmk_fuel_hea241"); + rbmk_fuel_hea242 = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_hea242) + .setYield(100000000D) + .setStats(45) + .setFunction(EnumBurnFunc.LINEAR) + .setHeat(2D) + .setMeltingPoint(2386) + .setUnlocalizedName("rbmk_fuel_hea242").setTextureName(RefStrings.MODID + ":rbmk_fuel_hea242"); + rbmk_fuel_men = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_men) + .setYield(100000000D) + .setStats(30) + .setFunction(EnumBurnFunc.SQUARE_ROOT) + .setDepletionFunction(EnumDepleteFunc.RAISING_SLOPE) + .setHeat(0.75) + .setMeltingPoint(2800) + .setNeutronTypes(NType.ANY, NType.FAST) //Build-up of Pu-239 leads to both speeds of neutrons grooving + .setUnlocalizedName("rbmk_fuel_men").setTextureName(RefStrings.MODID + ":rbmk_fuel_men"); + rbmk_fuel_hen = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_hen) + .setYield(100000000D) + .setStats(40) + .setFunction(EnumBurnFunc.SQUARE_ROOT) + .setMeltingPoint(2800) + .setNeutronTypes(NType.FAST, NType.FAST) + .setUnlocalizedName("rbmk_fuel_hen").setTextureName(RefStrings.MODID + ":rbmk_fuel_hen"); + rbmk_fuel_mox = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_mox) + .setYield(100000000D) + .setStats(40) + .setFunction(EnumBurnFunc.LOG_TEN) + .setDepletionFunction(EnumDepleteFunc.RAISING_SLOPE) + .setMeltingPoint(2815) + .setUnlocalizedName("rbmk_fuel_mox").setTextureName(RefStrings.MODID + ":rbmk_fuel_mox"); + rbmk_fuel_les = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_les) + .setYield(100000000D) + .setStats(50) + .setFunction(EnumBurnFunc.SQUARE_ROOT) + .setHeat(1.25D) + .setMeltingPoint(2500) + .setNeutronTypes(NType.SLOW, NType.SLOW) //Beryllium Moderation + .setUnlocalizedName("rbmk_fuel_les").setTextureName(RefStrings.MODID + ":rbmk_fuel_les"); + rbmk_fuel_mes = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_mes) + .setYield(100000000D) + .setStats(75D) + .setFunction(EnumBurnFunc.ARCH) + .setHeat(1.5D) + .setMeltingPoint(2750) + .setUnlocalizedName("rbmk_fuel_mes").setTextureName(RefStrings.MODID + ":rbmk_fuel_mes"); + rbmk_fuel_hes = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_hes) + .setYield(100000000D) + .setStats(90) + .setFunction(EnumBurnFunc.LINEAR) + .setDepletionFunction(EnumDepleteFunc.LINEAR) + .setHeat(1.75D) + .setMeltingPoint(3000) + .setUnlocalizedName("rbmk_fuel_hes").setTextureName(RefStrings.MODID + ":rbmk_fuel_hes"); + rbmk_fuel_leaus = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_leaus) + .setYield(100000000D) + .setStats(30) + .setFunction(EnumBurnFunc.SIGMOID) + .setDepletionFunction(EnumDepleteFunc.LINEAR) + .setXenon(0.05D, 50D) + .setHeat(1.5D) + .setMeltingPoint(7029).setUnlocalizedName("rbmk_fuel_leaus").setTextureName(RefStrings.MODID + ":rbmk_fuel_leaus"); + rbmk_fuel_heaus = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_heaus) + .setYield(100000000D) + .setStats(35) + .setFunction(EnumBurnFunc.LINEAR) + .setXenon(0.05D, 50D) + .setHeat(1.5D) + .setMeltingPoint(5211).setUnlocalizedName("rbmk_fuel_heaus").setTextureName(RefStrings.MODID + ":rbmk_fuel_heaus"); + rbmk_fuel_po210be = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_po210be) + .setYield(25000000D) + .setStats(0D, 50) + .setFunction(EnumBurnFunc.PASSIVE) + .setDepletionFunction(EnumDepleteFunc.LINEAR) + .setXenon(0.0D, 50D) + .setHeat(0.1D) + .setDiffusion(0.05D) + .setMeltingPoint(1287) + .setNeutronTypes(NType.SLOW, NType.SLOW) //Beryllium Moderation + .setUnlocalizedName("rbmk_fuel_po210be").setTextureName(RefStrings.MODID + ":rbmk_fuel_po210be"); + rbmk_fuel_ra226be = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_ra226be) + .setYield(100000000D) + .setStats(0D, 20) + .setFunction(EnumBurnFunc.PASSIVE) + .setDepletionFunction(EnumDepleteFunc.LINEAR) + .setXenon(0.0D, 50D) + .setHeat(0.035D) + .setDiffusion(0.5D) + .setMeltingPoint(700) + .setNeutronTypes(NType.SLOW, NType.SLOW) //Beryllium Moderation + .setUnlocalizedName("rbmk_fuel_ra226be").setTextureName(RefStrings.MODID + ":rbmk_fuel_ra226be"); + rbmk_fuel_pu238be = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_pu238be) + .setYield(50000000D) + .setStats(40, 40) + .setFunction(EnumBurnFunc.SQUARE_ROOT) + .setHeat(0.1D) + .setDiffusion(0.05D) + .setMeltingPoint(1287) + .setNeutronTypes(NType.SLOW, NType.SLOW) //Beryllium Moderation + .setUnlocalizedName("rbmk_fuel_pu238be").setTextureName(RefStrings.MODID + ":rbmk_fuel_pu238be"); + rbmk_fuel_balefire_gold = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_balefire_gold) + .setYield(100000000D) + .setStats(50, 10) + .setFunction(EnumBurnFunc.ARCH) + .setDepletionFunction(EnumDepleteFunc.LINEAR) + .setXenon(0.0D, 50D) + .setMeltingPoint(2000) + .setUnlocalizedName("rbmk_fuel_balefire_gold").setTextureName(RefStrings.MODID + ":rbmk_fuel_balefire_gold"); + rbmk_fuel_flashlead = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_flashlead) + .setYield(250000000D) + .setStats(40, 50) + .setFunction(EnumBurnFunc.ARCH) + .setDepletionFunction(EnumDepleteFunc.LINEAR) + .setXenon(0.0D, 50D) + .setMeltingPoint(2050) + .setUnlocalizedName("rbmk_fuel_flashlead").setTextureName(RefStrings.MODID + ":rbmk_fuel_flashlead"); + rbmk_fuel_balefire = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_balefire) + .setYield(100000000D) + .setStats(100, 35) + .setFunction(EnumBurnFunc.LINEAR) + .setXenon(0.0D, 50D) + .setHeat(3D) + .setMeltingPoint(3652) + .setUnlocalizedName("rbmk_fuel_balefire").setTextureName(RefStrings.MODID + ":rbmk_fuel_balefire"); + rbmk_fuel_zfb_bismuth = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_zfb_bismuth) + .setYield(50000000D) + .setStats(20) + .setFunction(EnumBurnFunc.SQUARE_ROOT) + .setHeat(1.75D) + .setMeltingPoint(2744) + .setUnlocalizedName("rbmk_fuel_zfb_bismuth").setTextureName(RefStrings.MODID + ":rbmk_fuel_zfb_bismuth"); + rbmk_fuel_zfb_pu241 = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_zfb_pu241) + .setYield(50000000D) + .setStats(20) + .setFunction(EnumBurnFunc.SQUARE_ROOT) + .setMeltingPoint(2865) + .setUnlocalizedName("rbmk_fuel_zfb_pu241").setTextureName(RefStrings.MODID + ":rbmk_fuel_zfb_pu241"); + rbmk_fuel_zfb_am_mix = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_zfb_am_mix) + .setYield(50000000D) + .setStats(20) + .setFunction(EnumBurnFunc.LINEAR) + .setHeat(1.75D) + .setMeltingPoint(2744) + .setUnlocalizedName("rbmk_fuel_zfb_am_mix").setTextureName(RefStrings.MODID + ":rbmk_fuel_zfb_am_mix"); + rbmk_fuel_drx = (ItemRBMKRod) new ItemRBMKRod(rbmk_pellet_drx) + .setYield(10000000D) + .setStats(1000, 10) + .setFunction(EnumBurnFunc.QUADRATIC) + .setHeat(0.1D) + .setMeltingPoint(100000) + .setUnlocalizedName("rbmk_fuel_drx").setTextureName(RefStrings.MODID + ":rbmk_fuel_drx"); + rbmk_fuel_test = (ItemRBMKRod) new ItemRBMKRod("THE VOICES") + .setYield(1000000D) + .setStats(100) + .setFunction(EnumBurnFunc.EXPERIMENTAL) + .setHeat(1.0D) + .setMeltingPoint(100000) + .setUnlocalizedName("rbmk_fuel_test").setTextureName(RefStrings.MODID + ":rbmk_fuel_test"); + /* Experimental flux curve shit + rbmk_fuel_curve = (ItemRBMKRod) new ItemRBMKRod("3D Flux Curve Test") + .setFluxCurve(true) + .setOutputFluxCurve((fluxQuantity, fluxRatio) -> fluxQuantity * (1 - Math.pow(fluxRatio, 2))) + .setDepletionOutputRatioCurve((ratioIn, depletion) -> Math.pow(ratioIn, 2) * depletion) + .setYield(1000000D) + .setStats(75) + .setFunction(EnumBurnFunc.SQUARE_ROOT) + .setHeat(1.5D) + .setMeltingPoint(100000) + .setUnlocalizedName("rbmk_fuel_curve").setTextureName(RefStrings.MODID + ":rbmk_fuel_curve"); + */ + + watz_pellet = new ItemWatzPellet().setUnlocalizedName("watz_pellet").setTextureName(RefStrings.MODID + ":watz_pellet"); + watz_pellet_depleted = new ItemWatzPellet().setUnlocalizedName("watz_pellet_depleted").setTextureName(RefStrings.MODID + ":watz_pellet"); + + icf_pellet_empty = new Item().setUnlocalizedName("icf_pellet_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":icf_pellet_empty"); + icf_pellet = new ItemICFPellet().setUnlocalizedName("icf_pellet").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":icf_pellet"); + icf_pellet_depleted = new Item().setUnlocalizedName("icf_pellet_depleted").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":icf_pellet_depleted"); + + trinitite = new ItemNuclearWaste().setUnlocalizedName("trinitite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":trinitite_new"); + nuclear_waste_long = new ItemWasteLong().setUnlocalizedName("nuclear_waste_long").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_long"); + nuclear_waste_long_tiny = new ItemWasteLong().setUnlocalizedName("nuclear_waste_long_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_long_tiny"); + nuclear_waste_short = new ItemWasteShort().setUnlocalizedName("nuclear_waste_short").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_short"); + nuclear_waste_short_tiny = new ItemWasteShort().setUnlocalizedName("nuclear_waste_short_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_short_tiny"); + nuclear_waste_long_depleted = new ItemWasteLong().setUnlocalizedName("nuclear_waste_long_depleted").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_long_depleted"); + nuclear_waste_long_depleted_tiny = new ItemWasteLong().setUnlocalizedName("nuclear_waste_long_depleted_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_long_depleted_tiny"); + nuclear_waste_short_depleted = new ItemWasteShort().setUnlocalizedName("nuclear_waste_short_depleted").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_short_depleted"); + nuclear_waste_short_depleted_tiny = new ItemWasteShort().setUnlocalizedName("nuclear_waste_short_depleted_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_short_depleted_tiny"); + nuclear_waste = new ItemNuclearWaste().setUnlocalizedName("nuclear_waste").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste"); + nuclear_waste_tiny = new ItemNuclearWaste().setUnlocalizedName("nuclear_waste_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_tiny"); + nuclear_waste_vitrified = new ItemNuclearWaste().setUnlocalizedName("nuclear_waste_vitrified").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_vitrified"); + nuclear_waste_vitrified_tiny = new ItemNuclearWaste().setUnlocalizedName("nuclear_waste_vitrified_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_vitrified_tiny"); + scrap_plastic = new ItemPlasticScrap().setUnlocalizedName("scrap_plastic").setTextureName(RefStrings.MODID + ":scrap_plastic"); + scrap = new Item().setUnlocalizedName("scrap").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scrap"); + scrap_oil = new Item().setUnlocalizedName("scrap_oil").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scrap_oil"); + scrap_nuclear = new Item().setUnlocalizedName("scrap_nuclear").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scrap_nuclear"); + containment_box = new ItemLeadBox().setUnlocalizedName("containment_box").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":containment_box"); + plastic_bag = new ItemPlasticBag().setUnlocalizedName("plastic_bag").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":plastic_bag"); + + ammo_bag = new ItemAmmoBag().setUnlocalizedName("ammo_bag").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":ammo_bag"); + ammo_bag_infinite = new ItemAmmoBag().setUnlocalizedName("ammo_bag_infinite").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":ammo_bag_infinite"); + casing_bag = new ItemCasingBag().setUnlocalizedName("casing_bag").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":casing_bag"); + + debris_graphite = new Item().setUnlocalizedName("debris_graphite").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":debris_graphite"); + debris_metal = new Item().setUnlocalizedName("debris_metal").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":debris_metal"); + debris_fuel = new Item().setUnlocalizedName("debris_fuel").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":debris_fuel"); + debris_concrete = new Item().setUnlocalizedName("debris_concrete").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":debris_concrete"); + debris_exchanger = new Item().setUnlocalizedName("debris_exchanger").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":debris_exchanger"); + debris_shrapnel =new Item().setUnlocalizedName("debris_shrapnel").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":debris_shrapnel"); + debris_element =new Item().setUnlocalizedName("debris_element").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":debris_element"); + + pellet_cluster = new ItemCustomLore().setUnlocalizedName("pellet_cluster").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellet_cluster"); + powder_fire = new ItemCustomLore().setUnlocalizedName("powder_fire").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_red_phosphorus"); + powder_ice = new ItemCustomLore().setUnlocalizedName("powder_ice").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_ice"); + powder_poison = new ItemCustomLore().setUnlocalizedName("powder_poison").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_poison"); + powder_thermite = new ItemCustomLore().setUnlocalizedName("powder_thermite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_thermite"); + cordite = new Item().setUnlocalizedName("cordite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":cordite"); + ballistite = new Item().setUnlocalizedName("ballistite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ballistite"); + ball_dynamite = new Item().setUnlocalizedName("ball_dynamite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ball_dynamite"); + ball_tnt = new Item().setUnlocalizedName("ball_tnt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ball_tnt"); + ball_tatb = new Item().setUnlocalizedName("ball_tatb").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ball_tatb"); + ball_fireclay = new Item().setUnlocalizedName("ball_fireclay").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ball_fireclay"); + pellet_gas = new ItemCustomLore().setUnlocalizedName("pellet_gas").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellet_gas"); + magnetron = new ItemCustomLore().setUnlocalizedName("magnetron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":magnetron_alt"); + pellet_buckshot = new Item().setUnlocalizedName("pellet_buckshot").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_lead"); + pellet_charged = new Item().setUnlocalizedName("pellet_charged").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_charged"); + + rangefinder = new ItemRangefinder().setUnlocalizedName("rangefinder").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":rangefinder"); + designator = new ItemDesingator().setUnlocalizedName("designator").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":designator"); + designator_range = new ItemDesingatorRange().setUnlocalizedName("designator_range").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":designator_range_alt"); + designator_manual = new ItemDesingatorManual().setUnlocalizedName("designator_manual").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":designator_manual"); + designator_arty_range = new ItemDesignatorArtyRange().setUnlocalizedName("designator_arty_range").setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":designator_arty_range"); + launch_code_piece = new Item().setUnlocalizedName("launch_code_piece").setMaxStackSize(1).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":launch_code_piece"); + launch_code = new Item().setUnlocalizedName("launch_code").setMaxStackSize(1).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":launch_code"); + launch_key = new Item().setUnlocalizedName("launch_key").setMaxStackSize(1).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":launch_key"); + missile_assembly = new Item().setUnlocalizedName("missile_assembly").setMaxStackSize(1).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":missile_assembly"); + missile_generic = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_generic").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_generic"); + missile_anti_ballistic = new ItemMissile(MissileFormFactor.ABM, MissileTier.TIER1).setUnlocalizedName("missile_anti_ballistic").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_anti_ballistic"); + missile_incendiary = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_incendiary"); + missile_cluster = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_cluster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_cluster"); + missile_buster = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_buster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_buster"); + missile_decoy = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_decoy").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_decoy"); + missile_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_strong"); + missile_incendiary_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_incendiary_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_incendiary_strong"); + missile_cluster_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_cluster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_cluster_strong"); + missile_buster_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_buster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_buster_strong"); + missile_emp_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_emp_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp_strong"); + missile_burst = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).setUnlocalizedName("missile_burst").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_burst"); + missile_inferno = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).setUnlocalizedName("missile_inferno").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_inferno"); + missile_rain = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).setUnlocalizedName("missile_rain").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_rain"); + missile_drill = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).setUnlocalizedName("missile_drill").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_drill"); + missile_nuclear = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).setUnlocalizedName("missile_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_nuclear"); + missile_nuclear_cluster = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).setUnlocalizedName("missile_nuclear_cluster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_nuclear_cluster"); + missile_volcano = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).setUnlocalizedName("missile_volcano").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_volcano"); + missile_doomsday = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).setUnlocalizedName("missile_doomsday").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_doomsday"); + missile_doomsday_rusted = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).notLaunchable().setUnlocalizedName("missile_doomsday_rusted").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_doomsday"); + missile_taint = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_taint").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_taint"); + missile_micro = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_micro").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_micro"); + missile_bhole = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_bhole").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_bhole"); + missile_schrabidium = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_schrabidium"); + missile_emp = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_emp").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp"); + missile_shuttle = new ItemMissile(MissileFormFactor.OTHER, MissileTier.TIER3, MissileFuel.KEROSENE_PEROXIDE).setUnlocalizedName("missile_shuttle").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_shuttle"); + missile_stealth = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER1).setUnlocalizedName("missile_stealth").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_stealth"); + missile_test = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_test").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":missile_micro"); + missile_soyuz = new ItemSoyuz().setUnlocalizedName("missile_soyuz").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":soyuz"); + missile_soyuz_lander = new ItemCustomLore().setUnlocalizedName("missile_soyuz_lander").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":soyuz_lander"); + missile_custom = new ItemCustomMissile().setUnlocalizedName("missile_custom").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":missile_custom"); + sat_mapper = new ItemSatChip().setUnlocalizedName("sat_mapper").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_mapper"); + sat_scanner = new ItemSatChip().setUnlocalizedName("sat_scanner").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_scanner"); + sat_radar = new ItemSatChip().setUnlocalizedName("sat_radar").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_radar"); + sat_laser = new ItemSatChip().setUnlocalizedName("sat_laser").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_laser"); + sat_foeq = new ItemSatChip().setUnlocalizedName("sat_foeq").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_foeq"); + sat_resonator = new ItemSatChip().setUnlocalizedName("sat_resonator").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_resonator"); + sat_miner = new ItemSatChip().setUnlocalizedName("sat_miner").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_miner"); + sat_lunar_miner = new ItemSatChip().setUnlocalizedName("sat_lunar_miner").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_lunar_miner"); + sat_gerald = new ItemSatChip().setUnlocalizedName("sat_gerald").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_gerald"); + sat_chip = new ItemSatChip().setUnlocalizedName("sat_chip").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_chip"); + sat_interface = new ItemSatInterface().setUnlocalizedName("sat_interface").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_interface"); + sat_coord = new ItemSatInterface().setUnlocalizedName("sat_coord").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_coord"); + sat_designator = new ItemSatDesignator().setUnlocalizedName("sat_designator").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_designator"); + sat_relay = new ItemSatChip().setUnlocalizedName("sat_relay").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_relay"); + + mp_thruster_10_kerosene = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 1.5F, PartSize.SIZE_10).setHealth(10F) .setUnlocalizedName("mp_thruster_10_kerosene"); + mp_thruster_10_kerosene_tec = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 1.5F, PartSize.SIZE_10).setHealth(15F).setRarity(Rarity.COMMON).setUnlocalizedName("mp_thruster_10_kerosene_tec"); + mp_thruster_10_solid = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 1.5F, PartSize.SIZE_10).setHealth(15F) .setUnlocalizedName("mp_thruster_10_solid"); + mp_thruster_10_xenon = new ItemCustomMissilePart().makeThruster(FuelType.XENON, 1F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_thruster_10_xenon"); + mp_thruster_15_kerosene = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 7.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene"); + mp_thruster_15_kerosene_tec = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 7.5F, PartSize.SIZE_15).setHealth(20F).setRarity(Rarity.COMMON).setUnlocalizedName("mp_thruster_15_kerosene_tec"); + mp_thruster_15_kerosene_dual = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 2.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene_dual"); + mp_thruster_15_kerosene_triple = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene_triple"); + mp_thruster_15_solid = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 5F, PartSize.SIZE_15).setHealth(20F) .setUnlocalizedName("mp_thruster_15_solid"); + mp_thruster_15_solid_hexdecuple = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 5F, PartSize.SIZE_15).setHealth(25F).setRarity(Rarity.UNCOMMON).setUnlocalizedName("mp_thruster_15_solid_hexdecuple"); + mp_thruster_15_hydrogen = new ItemCustomMissilePart().makeThruster(FuelType.HYDROGEN, 1F, 7.5F, PartSize.SIZE_15).setHealth(20F) .setUnlocalizedName("mp_thruster_15_hydrogen"); + mp_thruster_15_hydrogen_dual = new ItemCustomMissilePart().makeThruster(FuelType.HYDROGEN, 1F, 2.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_hydrogen_dual"); + mp_thruster_15_balefire_short = new ItemCustomMissilePart().makeThruster(FuelType.BALEFIRE, 1F, 5F, PartSize.SIZE_15).setHealth(25F) .setUnlocalizedName("mp_thruster_15_balefire_short"); + mp_thruster_15_balefire = new ItemCustomMissilePart().makeThruster(FuelType.BALEFIRE, 1F, 5F, PartSize.SIZE_15).setHealth(25F) .setUnlocalizedName("mp_thruster_15_balefire"); + mp_thruster_15_balefire_large = new ItemCustomMissilePart().makeThruster(FuelType.BALEFIRE, 1F, 7.5F, PartSize.SIZE_15).setHealth(35F) .setUnlocalizedName("mp_thruster_15_balefire_large"); + mp_thruster_15_balefire_large_rad = new ItemCustomMissilePart().makeThruster(FuelType.BALEFIRE, 1F, 7.5F, PartSize.SIZE_15).setAuthor("The Master").setHealth(35F).setRarity(Rarity.UNCOMMON).setUnlocalizedName("mp_thruster_15_balefire_large_rad"); + mp_thruster_20_kerosene = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene"); + mp_thruster_20_kerosene_dual = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene_dual"); + mp_thruster_20_kerosene_triple = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene_triple"); + mp_thruster_20_solid = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20).setHealth(35F).setWittyText("It's basically just a big hole at the end of the fuel tank.").setUnlocalizedName("mp_thruster_20_solid"); + mp_thruster_20_solid_multi = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20).setHealth(35F) .setUnlocalizedName("mp_thruster_20_solid_multi"); + mp_thruster_20_solid_multier = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20).setHealth(35F).setWittyText("Did I miscount? Hope not.").setUnlocalizedName("mp_thruster_20_solid_multier"); + + mp_stability_10_flat = new ItemCustomMissilePart().makeStability(0.5F, PartSize.SIZE_10).setHealth(10F) .setUnlocalizedName("mp_stability_10_flat"); + mp_stability_10_cruise = new ItemCustomMissilePart().makeStability(0.25F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_stability_10_cruise"); + mp_stability_10_space = new ItemCustomMissilePart().makeStability(0.35F, PartSize.SIZE_10).setHealth(5F).setRarity(Rarity.COMMON).setWittyText("Standing there alone, the ship is waiting / All systems are go, are you sure?") .setUnlocalizedName("mp_stability_10_space"); + mp_stability_15_flat = new ItemCustomMissilePart().makeStability(0.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_stability_15_flat"); + mp_stability_15_thin = new ItemCustomMissilePart().makeStability(0.35F, PartSize.SIZE_15).setHealth(5F) .setUnlocalizedName("mp_stability_15_thin"); + mp_stability_15_soyuz = new ItemCustomMissilePart().makeStability(0.25F, PartSize.SIZE_15).setHealth(15F).setRarity(Rarity.COMMON).setWittyText("Союз!").setUnlocalizedName("mp_stability_15_soyuz"); + mp_stability_20_flat = new ItemCustomMissilePart().makeStability(0.5F, PartSize.SIZE_20) .setUnlocalizedName("mp_s_20"); + + mp_fuselage_10_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 2500F, PartSize.SIZE_10, PartSize.SIZE_10).setAuthor("Hoboy").setHealth(20F).setUnlocalizedName("mp_fuselage_10_kerosene"); + mp_fuselage_10_kerosene_camo = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_10_kerosene_camo"); + mp_fuselage_10_kerosene_desert = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_10_kerosene_desert"); + mp_fuselage_10_kerosene_sky = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_10_kerosene_sky"); + mp_fuselage_10_kerosene_flames = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_kerosene_flames"); + mp_fuselage_10_kerosene_insulation = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(25F).setUnlocalizedName("mp_fuselage_10_kerosene_insulation"); + mp_fuselage_10_kerosene_sleek = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(35F).setUnlocalizedName("mp_fuselage_10_kerosene_sleek"); + mp_fuselage_10_kerosene_metal = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setTitle("Bolted Metal").setHealth(30F).setAuthor("Hoboy").setUnlocalizedName("mp_fuselage_10_kerosene_metal"); + mp_fuselage_10_kerosene_taint = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setUnlocalizedName("mp_fuselage_10_kerosene_taint"); + + mp_fuselage_10_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 2500F, PartSize.SIZE_10, PartSize.SIZE_10).setHealth(25F) .setUnlocalizedName("mp_fuselage_10_solid"); + mp_fuselage_10_solid_flames = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_solid_flames"); + mp_fuselage_10_solid_insulation = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(30F).setUnlocalizedName("mp_fuselage_10_solid_insulation"); + mp_fuselage_10_solid_sleek = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(35F).setUnlocalizedName("mp_fuselage_10_solid_sleek"); + mp_fuselage_10_solid_soviet_glory = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setHealth(35F).setTitle("Soviet Glory").setUnlocalizedName("mp_fuselage_10_solid_soviet_glory"); + mp_fuselage_10_solid_cathedral = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.RARE).setAuthor("Satan").setTitle("Unholy Cathedral").setWittyText("Quakeesque!").setUnlocalizedName("mp_fuselage_10_solid_cathedral"); + mp_fuselage_10_solid_moonlit = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("The Master & Hoboy").setTitle("Moonlit").setUnlocalizedName("mp_fuselage_10_solid_moonlit"); + mp_fuselage_10_solid_battery = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("wolfmonster222").setHealth(30F).setTitle("Ecstatic").setWittyText("I got caught eating batteries again :(").setUnlocalizedName("mp_fuselage_10_solid_battery"); + mp_fuselage_10_solid_duracell = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Duracell").setHealth(30F).setWittyText("The crunchiest battery on the market!").setUnlocalizedName("mp_fuselage_10_solid_duracell"); + + mp_fuselage_10_xenon = new ItemCustomMissilePart().makeFuselage(FuelType.XENON, 5000F, PartSize.SIZE_10, PartSize.SIZE_10).setHealth(20F) .setUnlocalizedName("mp_fuselage_10_xenon"); + mp_fuselage_10_xenon_bhole = ((ItemCustomMissilePart) mp_fuselage_10_xenon).copy().setRarity(Rarity.RARE).setAuthor("Sten89").setTitle("Morceus-1457").setUnlocalizedName("mp_fuselage_10_xenon_bhole"); + + mp_fuselage_10_long_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 5000F, PartSize.SIZE_10, PartSize.SIZE_10).setAuthor("Hoboy").setHealth(30F).setUnlocalizedName("mp_fuselage_10_long_kerosene"); + mp_fuselage_10_long_kerosene_camo = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_10_long_kerosene_camo"); + mp_fuselage_10_long_kerosene_desert = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_10_long_kerosene_desert"); + mp_fuselage_10_long_kerosene_sky = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_10_long_kerosene_sky"); + mp_fuselage_10_long_kerosene_flames = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_long_kerosene_flames"); + mp_fuselage_10_long_kerosene_insulation = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(35F).setUnlocalizedName("mp_fuselage_10_long_kerosene_insulation"); + mp_fuselage_10_long_kerosene_sleek = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(40F).setUnlocalizedName("mp_fuselage_10_long_kerosene_sleek"); + mp_fuselage_10_long_kerosene_metal = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setHealth(35F).setUnlocalizedName("mp_fuselage_10_long_kerosene_metal"); + mp_fuselage_10_long_kerosene_dash = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("Sam").setTitle("Dash").setWittyText("I wash my hands of it.").setCreativeTab(null).setUnlocalizedName("mp_fuselage_10_long_kerosene_dash"); + mp_fuselage_10_long_kerosene_taint = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setUnlocalizedName("mp_fuselage_10_long_kerosene_taint"); + mp_fuselage_10_long_kerosene_vap = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("VT-6/24").setTitle("Minty Contrail").setWittyText("Upper rivet!").setUnlocalizedName("mp_fuselage_10_long_kerosene_vap"); + + mp_fuselage_10_long_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 5000F, PartSize.SIZE_10, PartSize.SIZE_10).setHealth(35F) .setUnlocalizedName("mp_fuselage_10_long_solid"); + mp_fuselage_10_long_solid_flames = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_long_solid_flames"); + mp_fuselage_10_long_solid_insulation = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(40F).setUnlocalizedName("mp_fuselage_10_long_solid_insulation"); + mp_fuselage_10_long_solid_sleek = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(45F).setUnlocalizedName("mp_fuselage_10_long_solid_sleek"); + mp_fuselage_10_long_solid_soviet_glory = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setHealth(45F).setTitle("Soviet Glory").setWittyText("Fully Automated Luxury Gay Space Communism!").setUnlocalizedName("mp_fuselage_10_long_solid_soviet_glory"); + mp_fuselage_10_long_solid_bullet = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.COMMON).setAuthor("Sam").setTitle("Bullet Bill").setUnlocalizedName("mp_fuselage_10_long_solid_bullet"); + mp_fuselage_10_long_solid_silvermoonlight = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("The Master").setTitle("Silver Moonlight").setUnlocalizedName("mp_fuselage_10_long_solid_silvermoonlight"); + + mp_fuselage_10_15_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_kerosene"); + mp_fuselage_10_15_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F) .setUnlocalizedName("mp_fuselage_10_15_solid"); + mp_fuselage_10_15_hydrogen = new ItemCustomMissilePart().makeFuselage(FuelType.HYDROGEN, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_hydrogen"); + mp_fuselage_10_15_balefire = new ItemCustomMissilePart().makeFuselage(FuelType.BALEFIRE, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_balefire"); + + mp_fuselage_15_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setAuthor("Hoboy").setHealth(50F).setUnlocalizedName("mp_fuselage_15_kerosene"); + mp_fuselage_15_kerosene_camo = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_15_kerosene_camo"); + mp_fuselage_15_kerosene_desert = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_15_kerosene_desert"); + mp_fuselage_15_kerosene_sky = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_15_kerosene_sky"); + mp_fuselage_15_kerosene_insulation = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(55F).setWittyText("Rest in spaghetti Columbia :(").setUnlocalizedName("mp_fuselage_15_kerosene_insulation"); + mp_fuselage_15_kerosene_metal = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setTitle("Bolted Metal").setHealth(60F).setWittyText("Metal frame with metal plating reinforced with bolted metal sheets and metal.").setUnlocalizedName("mp_fuselage_15_kerosene_metal"); + mp_fuselage_15_kerosene_decorated = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setTitle("Decorated").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_decorated"); + mp_fuselage_15_kerosene_steampunk = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Steampunk").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_steampunk"); + mp_fuselage_15_kerosene_polite = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.LEGENDARY).setAuthor("Hoboy").setTitle("Polite").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_polite"); + mp_fuselage_15_kerosene_blackjack = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.LEGENDARY).setTitle("Queen Whiskey").setHealth(100F).setUnlocalizedName("mp_fuselage_15_kerosene_blackjack"); + mp_fuselage_15_kerosene_lambda = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.RARE).setAuthor("VT-6/24").setTitle("Lambda Complex").setHealth(75F).setWittyText("MAGNIFICENT MICROWAVE CASSEROLE").setUnlocalizedName("mp_fuselage_15_kerosene_lambda"); + mp_fuselage_15_kerosene_minuteman = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Spexta").setTitle("MX 1702").setUnlocalizedName("mp_fuselage_15_kerosene_minuteman"); + mp_fuselage_15_kerosene_pip = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("The Doctor").setTitle("LittlePip").setWittyText("31!").setCreativeTab(null).setUnlocalizedName("mp_fuselage_15_kerosene_pip"); + mp_fuselage_15_kerosene_taint = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setWittyText("DUN-DUN!").setUnlocalizedName("mp_fuselage_15_kerosene_taint"); + mp_fuselage_15_kerosene_yuck = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setTitle("Flesh").setWittyText("Note: Never clean DNA vials with your own spit.").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_yuck"); + + mp_fuselage_15_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setHealth(60F) .setUnlocalizedName("mp_fuselage_15_solid").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + mp_fuselage_15_solid_insulation = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(65F).setUnlocalizedName("mp_fuselage_15_solid_insulation"); + mp_fuselage_15_solid_desh = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Desh Plating").setHealth(80F).setUnlocalizedName("mp_fuselage_15_solid_desh"); + mp_fuselage_15_solid_soviet_glory = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Soviet Glory").setHealth(70F).setUnlocalizedName("mp_fuselage_15_solid_soviet_glory"); + mp_fuselage_15_solid_soviet_stank = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setTitle("Soviet Stank").setHealth(15F).setWittyText("Aged like a fine wine! Well, almost.").setUnlocalizedName("mp_fuselage_15_solid_soviet_stank"); + mp_fuselage_15_solid_faust = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.LEGENDARY).setAuthor("Dr.Nostalgia").setTitle("Mighty Lauren").setHealth(250F).setWittyText("Welcome to Subway, may I take your order?").setUnlocalizedName("mp_fuselage_15_solid_faust"); + mp_fuselage_15_solid_silvermoonlight = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("The Master").setTitle("Silver Moonlight").setUnlocalizedName("mp_fuselage_15_solid_silvermoonlight"); + mp_fuselage_15_solid_snowy = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("Dr.Nostalgia").setTitle("Chilly Day").setUnlocalizedName("mp_fuselage_15_solid_snowy"); + mp_fuselage_15_solid_panorama = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Panorama").setUnlocalizedName("mp_fuselage_15_solid_panorama"); + mp_fuselage_15_solid_roses = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setTitle("Bed of roses").setUnlocalizedName("mp_fuselage_15_solid_roses"); + mp_fuselage_15_solid_mimi = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setTitle("Mimi-chan").setUnlocalizedName("mp_fuselage_15_solid_mimi"); + + mp_fuselage_15_hydrogen = new ItemCustomMissilePart().makeFuselage(FuelType.HYDROGEN, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setHealth(50F) .setUnlocalizedName("mp_fuselage_15_hydrogen").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + mp_fuselage_15_hydrogen_cathedral = ((ItemCustomMissilePart) mp_fuselage_15_hydrogen).copy().setRarity(Rarity.UNCOMMON).setAuthor("Satan").setTitle("Unholy Cathedral").setUnlocalizedName("mp_fuselage_15_hydrogen_cathedral"); + + mp_fuselage_15_balefire = new ItemCustomMissilePart().makeFuselage(FuelType.BALEFIRE, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setHealth(75F) .setUnlocalizedName("mp_fuselage_15_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + + mp_fuselage_15_20_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 20000, PartSize.SIZE_15, PartSize.SIZE_20).setAuthor("Hoboy").setHealth(70F).setUnlocalizedName("mp_fuselage_15_20_kerosene").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + mp_fuselage_15_20_kerosene_magnusson = ((ItemCustomMissilePart)mp_fuselage_15_20_kerosene).copy().setRarity(Rarity.RARE).setAuthor("VT-6/24").setTitle("White Forest Rocket").setWittyText("And get your cranio-conjugal parasite away from my nose cone!").setUnlocalizedName("mp_fuselage_15_20_kerosene_magnusson"); + mp_fuselage_15_20_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 20000, PartSize.SIZE_15, PartSize.SIZE_20).setHealth(70F).setUnlocalizedName("mp_fuselage_15_20_solid").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + + mp_fuselage_20_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 1000F, PartSize.SIZE_20, PartSize.SIZE_20) .setUnlocalizedName("mp_f_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + + mp_warhead_10_he = new ItemCustomMissilePart().makeWarhead(WarheadType.HE, 15F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_warhead_10_he").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_10_incendiary = new ItemCustomMissilePart().makeWarhead(WarheadType.INC, 15F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_warhead_10_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_10_buster = new ItemCustomMissilePart().makeWarhead(WarheadType.BUSTER, 5F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_warhead_10_buster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_10_nuclear = new ItemCustomMissilePart().makeWarhead(WarheadType.NUCLEAR, 35F, 1.5F, PartSize.SIZE_10).setTitle("Tater Tot").setHealth(10F).setUnlocalizedName("mp_warhead_10_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_10_nuclear_large = new ItemCustomMissilePart().makeWarhead(WarheadType.NUCLEAR, 75F, 2.5F, PartSize.SIZE_10).setTitle("Chernobyl Boris").setHealth(15F).setUnlocalizedName("mp_warhead_10_nuclear_large").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_10_taint = new ItemCustomMissilePart().makeWarhead(WarheadType.TAINT, 15F, 1.5F, PartSize.SIZE_10).setHealth(20F).setRarity(Rarity.UNCOMMON).setWittyText("Eat my taint! Bureaucracy is dead and we killed it!").setUnlocalizedName("mp_warhead_10_taint").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_10_cloud = new ItemCustomMissilePart().makeWarhead(WarheadType.CLOUD, 15F, 1.5F, PartSize.SIZE_10).setHealth(20F).setRarity(Rarity.RARE).setUnlocalizedName("mp_warhead_10_cloud").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_15_he = new ItemCustomMissilePart().makeWarhead(WarheadType.HE, 50F, 2.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_warhead_15_he").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_15_incendiary = new ItemCustomMissilePart().makeWarhead(WarheadType.INC, 35F, 2.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_warhead_15_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_15_nuclear = new ItemCustomMissilePart().makeWarhead(WarheadType.NUCLEAR, 125F, 5F, PartSize.SIZE_15).setTitle("Auntie Bertha").setHealth(15F).setUnlocalizedName("mp_warhead_15_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_15_nuclear_shark = ((ItemCustomMissilePart) mp_warhead_15_nuclear).copy().setRarity(Rarity.UNCOMMON).setTitle("Discount Bullet Bill").setWittyText("Nose art on a cannon bullet? Who does that?").setUnlocalizedName("mp_warhead_15_nuclear_shark"); + mp_warhead_15_nuclear_mimi = ((ItemCustomMissilePart) mp_warhead_15_nuclear).copy().setRarity(Rarity.RARE).setTitle("FASHIONABLE MISSILE").setUnlocalizedName("mp_warhead_15_nuclear_mimi"); + mp_warhead_15_boxcar = new ItemCustomMissilePart().makeWarhead(WarheadType.TX, 250F, 7.5F, PartSize.SIZE_15).setWittyText("?!?!").setHealth(35F).setRarity(Rarity.LEGENDARY).setUnlocalizedName("mp_warhead_15_boxcar").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_15_n2 = new ItemCustomMissilePart().makeWarhead(WarheadType.N2, 100F, 5F, PartSize.SIZE_15).setWittyText("[screams geometrically]").setHealth(20F).setRarity(Rarity.RARE).setUnlocalizedName("mp_warhead_15_n2").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_15_balefire = new ItemCustomMissilePart().makeWarhead(WarheadType.BALEFIRE, 100F, 7.5F, PartSize.SIZE_15).setRarity(Rarity.LEGENDARY).setAuthor("VT-6/24").setHealth(15F).setWittyText("Hightower, never forgetti.").setUnlocalizedName("mp_warhead_15_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_15_turbine = new ItemCustomMissilePart().makeWarhead(WarheadType.TURBINE, 200F, 5F, PartSize.SIZE_15).setRarity(Rarity.SEWS_CLOTHES_AND_SUCKS_HORSE_COCK).setHealth(250F).setUnlocalizedName("mp_warhead_15_turbine").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_20_he = new ItemCustomMissilePart().makeWarhead(WarheadType.HE, 15F, 1F, PartSize.SIZE_20) .setUnlocalizedName("mp_w_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + + mp_chip_1 = new ItemCustomMissilePart().makeChip(0.1F) .setUnlocalizedName("mp_c_1").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_1"); + mp_chip_2 = new ItemCustomMissilePart().makeChip(0.05F) .setUnlocalizedName("mp_c_2").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_2"); + mp_chip_3 = new ItemCustomMissilePart().makeChip(0.01F) .setUnlocalizedName("mp_c_3").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_3"); + mp_chip_4 = new ItemCustomMissilePart().makeChip(0.005F) .setUnlocalizedName("mp_c_4").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_4"); + mp_chip_5 = new ItemCustomMissilePart().makeChip(0.0F) .setUnlocalizedName("mp_c_5").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_5"); + + missile_skin_camo = new ItemCustomLore().setUnlocalizedName("missile_skin_camo").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_camo"); + missile_skin_desert = new ItemCustomLore().setUnlocalizedName("missile_skin_desert").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_desert"); + missile_skin_flames = new ItemCustomLore().setUnlocalizedName("missile_skin_flames").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_flames"); + missile_skin_manly_pink = new ItemCustomLore().setUnlocalizedName("missile_skin_manly_pink").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_manly_pink"); + missile_skin_orange_insulation = new ItemCustomLore().setUnlocalizedName("missile_skin_orange_insulation").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_orange_insulation"); + missile_skin_sleek = new ItemCustomLore().setUnlocalizedName("missile_skin_sleek").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_sleek"); + missile_skin_soviet_glory = new ItemCustomLore().setUnlocalizedName("missile_skin_soviet_glory").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_soviet_glory"); + missile_skin_soviet_stank = new ItemCustomLore().setUnlocalizedName("missile_skin_soviet_stank").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_soviet_stank"); + missile_skin_metal = new ItemCustomLore().setUnlocalizedName("missile_skin_metal").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_metal"); + + ammo_shell = (ItemEnumMulti) new ItemAmmo(Ammo240Shell.class).setCreativeTab(MainRegistry.weaponTab).setUnlocalizedName("ammo_shell"); + ammo_dgk = new ItemCustomLore().setUnlocalizedName("ammo_dgk").setCreativeTab(MainRegistry.weaponTab); + ammo_fireext = (ItemEnumMulti) new ItemAmmo(AmmoFireExt.class).setCreativeTab(MainRegistry.weaponTab).setUnlocalizedName("ammo_fireext"); + ammo_misc = new ItemAmmo(AmmoMisc.class).setUnlocalizedName("ammo_misc"); + ammo_arty = new ItemAmmoArty().setUnlocalizedName("ammo_arty"); + ammo_himars = new ItemAmmoHIMARS().setUnlocalizedName("ammo_himars"); + + gun_b92_ammo = new GunB92Cell().setUnlocalizedName("gun_b92_ammo").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_b92_ammo_alt"); + gun_b92 = new GunB92().setUnlocalizedName("gun_b92").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_b92"); + + ToolMaterial matCrucible = EnumHelper.addToolMaterial("CRUCIBLE", 10, 3, 50.0F, 100.0F, 0); + crucible = new ItemCrucible(5000, 1F, matCrucible).setUnlocalizedName("crucible").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":crucible"); + + stick_dynamite = new ItemGrenade(3).setUnlocalizedName("stick_dynamite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_dynamite"); + stick_dynamite_fishing = new ItemGrenadeFishing(3).setUnlocalizedName("stick_dynamite_fishing").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_dynamite_fishing"); + stick_tnt = new Item().setUnlocalizedName("stick_tnt").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_tnt"); + stick_semtex = new Item().setUnlocalizedName("stick_semtex").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_semtex"); + stick_c4 = new Item().setUnlocalizedName("stick_c4").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":stick_c4"); + + grenade_generic = new ItemGrenade(4).setUnlocalizedName("grenade_generic").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_generic"); + grenade_strong = new ItemGrenade(5).setUnlocalizedName("grenade_strong").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_strong"); + grenade_frag = new ItemGrenade(4).setUnlocalizedName("grenade_frag").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_frag_alt"); + grenade_fire = new ItemGrenade(4).setUnlocalizedName("grenade_fire").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_fire_alt"); + grenade_shrapnel = new ItemGrenade(4).setUnlocalizedName("grenade_shrapnel").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_shrapnel"); + grenade_cluster = new ItemGrenade(5).setUnlocalizedName("grenade_cluster").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_cluster_alt"); + grenade_flare = new ItemGrenade(0).setUnlocalizedName("grenade_flare").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_flare_alt"); + grenade_electric = new ItemGrenade(5).setUnlocalizedName("grenade_electric").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_electric_alt"); + grenade_poison = new ItemGrenade(4).setUnlocalizedName("grenade_poison").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_poison_alt"); + grenade_gas = new ItemGrenade(4).setUnlocalizedName("grenade_gas").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_gas_alt"); + grenade_pulse = new ItemGrenade(4).setUnlocalizedName("grenade_pulse").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_pulse"); + grenade_plasma = new ItemGrenade(5).setUnlocalizedName("grenade_plasma").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_plasma_alt"); + grenade_tau = new ItemGrenade(5).setUnlocalizedName("grenade_tau").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_tau_alt"); + grenade_schrabidium = new ItemGrenade(7).setUnlocalizedName("grenade_schrabidium").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_schrabidium_alt"); + grenade_lemon = new ItemGrenade(4).setUnlocalizedName("grenade_lemon").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_lemon"); + grenade_gascan = new ItemGrenade(-1).setUnlocalizedName("grenade_gascan").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_gascan"); + grenade_kyiv = new ItemGrenadeKyiv(-1).setUnlocalizedName("grenade_kyiv").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_kyiv"); + grenade_mk2 = new ItemGrenade(5).setUnlocalizedName("grenade_mk2").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_mk2_alt"); + grenade_aschrab = new ItemGrenade(-1).setUnlocalizedName("grenade_aschrab").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_aschrab"); + grenade_nuke = new ItemGrenade(-1).setUnlocalizedName("grenade_nuke").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_nuke_alt"); + grenade_nuclear = new ItemGrenade(7).setUnlocalizedName("grenade_nuclear").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_nuclear"); + grenade_zomg = new ItemGrenade(7).setUnlocalizedName("grenade_zomg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_zomg"); + grenade_black_hole = new ItemGrenade(7).setUnlocalizedName("grenade_black_hole").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_black_hole"); + grenade_cloud = new ItemGrenade(-1).setUnlocalizedName("grenade_cloud").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_cloud"); + grenade_pink_cloud = new ItemGrenade(-1).setUnlocalizedName("grenade_pink_cloud").setCreativeTab(null).setTextureName(RefStrings.MODID + ":grenade_pink_cloud"); + ullapool_caber = new WeaponSpecial(MainRegistry.tMatSteel).setUnlocalizedName("ullapool_caber").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ullapool_caber"); + + grenade_if_generic = new ItemGrenade(4).setUnlocalizedName("grenade_if_generic").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_generic"); + grenade_if_he = new ItemGrenade(5).setUnlocalizedName("grenade_if_he").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_he"); + grenade_if_bouncy = new ItemGrenade(4).setUnlocalizedName("grenade_if_bouncy").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_bouncy"); + grenade_if_sticky = new ItemGrenade(4).setUnlocalizedName("grenade_if_sticky").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_sticky"); + grenade_if_impact = new ItemGrenade(-1).setUnlocalizedName("grenade_if_impact").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_impact"); + grenade_if_incendiary = new ItemGrenade(4).setUnlocalizedName("grenade_if_incendiary").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_incendiary"); + grenade_if_toxic = new ItemGrenade(4).setUnlocalizedName("grenade_if_toxic").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_toxic"); + grenade_if_concussion = new ItemGrenade(4).setUnlocalizedName("grenade_if_concussion").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_concussion"); + grenade_if_brimstone = new ItemGrenade(5).setUnlocalizedName("grenade_if_brimstone").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_brimstone"); + grenade_if_mystery = new ItemGrenade(5).setUnlocalizedName("grenade_if_mystery").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_mystery"); + grenade_if_spark = new ItemGrenade(7).setUnlocalizedName("grenade_if_spark").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_spark"); + grenade_if_hopwire = new ItemGrenade(7).setUnlocalizedName("grenade_if_hopwire").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_hopwire"); + grenade_if_null = new ItemGrenade(7).setUnlocalizedName("grenade_if_null").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_if_null"); + + grenade_smart = new ItemGrenade(-1).setUnlocalizedName("grenade_smart").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_smart"); + grenade_mirv = new ItemGrenade(1).setUnlocalizedName("grenade_mirv").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_mirv"); + grenade_breach = new ItemGrenade(-1).setUnlocalizedName("grenade_breach").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_breach"); + grenade_burst = new ItemGrenade(1).setUnlocalizedName("grenade_burst").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_burst"); + nuclear_waste_pearl = new ItemGrenade(-1).setUnlocalizedName("nuclear_waste_pearl").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":nuclear_waste_pearl"); + + weaponized_starblaster_cell = new WeaponizedCell().setUnlocalizedName("weaponized_starblaster_cell").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_b92_ammo_weaponized"); + + bomb_waffle = new ItemWaffle(20, false).setUnlocalizedName("bomb_waffle").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bomb_waffle"); + schnitzel_vegan = new ItemSchnitzelVegan(0, true).setUnlocalizedName("schnitzel_vegan").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":schnitzel_vegan"); + cotton_candy = new ItemCottonCandy(5, false).setUnlocalizedName("cotton_candy").setCreativeTab(MainRegistry.consumableTab).setFull3D().setTextureName(RefStrings.MODID + ":cotton_candy"); + apple_lead = new ItemAppleSchrabidium(5, 0, false).setUnlocalizedName("apple_lead").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":apple_lead"); + apple_schrabidium = new ItemAppleSchrabidium(20, 100, false).setUnlocalizedName("apple_schrabidium").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":apple_schrabidium"); + tem_flakes = new ItemTemFlakes(0, 0, false).setUnlocalizedName("tem_flakes").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":tem_flakes"); + glowing_stew = new ItemSoup(6).setUnlocalizedName("glowing_stew").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":glowing_stew"); + balefire_scrambled = new ItemSoup(6).setUnlocalizedName("balefire_scrambled").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":balefire_scrambled"); + balefire_and_ham = new ItemSoup(6).setUnlocalizedName("balefire_and_ham").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":balefire_and_ham"); + lemon = new ItemLemon(3, 0.5F, false).setUnlocalizedName("lemon").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":lemon"); + definitelyfood = new ItemLemon(3, 0.5F, false).setUnlocalizedName("definitelyfood").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":definitelyfood"); + med_ipecac = new ItemLemon(0, 0, false).setUnlocalizedName("med_ipecac").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_ipecac_new"); + med_ptsd = new ItemLemon(0, 0, false).setUnlocalizedName("med_ptsd").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_ptsd_new"); + med_schizophrenia = new ItemLemon(0, 0, false).setUnlocalizedName("med_schizophrenia").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_schizophrenia_new"); + loops = new ItemLemon(4, 0.25F, false).setUnlocalizedName("loops").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":loops"); + loop_stew = new ItemLemon(10, 0.5F, false).setUnlocalizedName("loop_stew").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":loop_stew"); + spongebob_macaroni = new ItemLemon(5, 1F, false).setUnlocalizedName("spongebob_macaroni").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":spongebob_macaroni"); + fooditem = new ItemLemon(2, 5F, false).setUnlocalizedName("fooditem").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":fooditem"); + twinkie = new ItemLemon(3, 0.25F, false).setUnlocalizedName("twinkie").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":twinkie"); + static_sandwich = new ItemLemon(6, 1F, false).setUnlocalizedName("static_sandwich").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":static_sandwich"); + pudding = new ItemLemon(6, 1F, false).setUnlocalizedName("pudding").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pudding"); + canteen_vodka = new ItemCanteen(3 * 60).setUnlocalizedName("canteen_vodka").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canteen_vodka"); + pancake = new ItemPancake(20, 20, false).setUnlocalizedName("pancake").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pancake"); + nugget = new ItemLemon(200, 1F, false).setUnlocalizedName("nugget").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":nugget"); + peas = new ItemPeas().setUnlocalizedName("peas").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":peas"); + marshmallow = new ItemMarshmallow().setUnlocalizedName("marshmallow").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":marshmallow"); + cheese = new ItemLemon(5, 0.75F, false).setUnlocalizedName("cheese").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cheese"); + quesadilla = new ItemLemon(8, 1F, false).setUnlocalizedName("cheese_quesadilla").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":quesadilla"); + mucho_mango = new ItemMuchoMango(10).setUnlocalizedName("mucho_mango").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":mucho_mango"); + glyphid_meat = new ItemLemon(3, 0.5F, true).setUnlocalizedName("glyphid_meat").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":glyphid_meat"); + glyphid_meat_grilled = new ItemLemon(8, 0.75F, true).setPotionEffect(Potion.damageBoost.id, 180, 1, 1F).setUnlocalizedName("glyphid_meat_grilled").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":glyphid_meat_grilled"); + egg_glyphid = new Item().setUnlocalizedName("egg_glyphid").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":egg_glyphid"); + + defuser = new ItemTooling(ToolType.DEFUSER, 100).setUnlocalizedName("defuser").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":defuser"); + reacher = new Item().setUnlocalizedName("reacher").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":reacher"); + bismuth_tool = new ItemAmatExtractor().setUnlocalizedName("bismuth_tool").setMaxStackSize(1).setFull3D().setCreativeTab(null).setTextureName(RefStrings.MODID + ":bismuth_tool"); + meltdown_tool = new ItemDyatlov().setUnlocalizedName("meltdown_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":meltdown_tool"); + + flame_pony = new ItemCustomLore().setUnlocalizedName("flame_pony").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flame_pony"); + flame_conspiracy = new ItemCustomLore().setUnlocalizedName("flame_conspiracy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flame_conspiracy"); + flame_politics = new ItemCustomLore().setUnlocalizedName("flame_politics").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flame_politics"); + flame_opinion = new ItemCustomLore().setUnlocalizedName("flame_opinion").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flame_opinion"); + + //gadget_explosive = new Item().setUnlocalizedName("gadget_explosive").setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":gadget_explosive"); + early_explosive_lenses = new ItemCustomLore().setUnlocalizedName("early_explosive_lenses").setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":gadget_explosive8"); + explosive_lenses = new ItemCustomLore().setUnlocalizedName("explosive_lenses").setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":man_explosive8"); + gadget_wireing = new Item().setUnlocalizedName("gadget_wireing").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":gadget_wireing"); + gadget_core = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("gadget_core").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":gadget_core"); + + boy_igniter = new Item().setUnlocalizedName("boy_igniter").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":boy_igniter"); + boy_propellant = new Item().setUnlocalizedName("boy_propellant").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":boy_propellant"); + boy_bullet = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("boy_bullet").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":boy_bullet"); + boy_target = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("boy_target").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":boy_target"); + boy_shielding = new Item().setUnlocalizedName("boy_shielding").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":boy_shielding"); + + //man_explosive = new Item().setUnlocalizedName("man_explosive").setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":man_explosive"); + man_igniter = new Item().setUnlocalizedName("man_igniter").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":man_igniter"); + man_core = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("man_core").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":man_core"); + + mike_core = new Item().setUnlocalizedName("mike_core").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":mike_core"); + mike_deut = new Item().setUnlocalizedName("mike_deut").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setContainerItem(ModItems.tank_steel).setTextureName(RefStrings.MODID + ":mike_deut"); + mike_cooling_unit = new Item().setUnlocalizedName("mike_cooling_unit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":mike_cooling_unit"); + + tsar_core = new Item().setUnlocalizedName("tsar_core").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":tsar_core"); + + fleija_igniter = new ItemFleija().setUnlocalizedName("fleija_igniter").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":fleija_igniter"); + fleija_propellant = new ItemFleija().setUnlocalizedName("fleija_propellant").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":fleija_propellant"); + fleija_core = new ItemFleija().setUnlocalizedName("fleija_core").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":fleija_core"); + + solinium_igniter = new ItemSolinium().setUnlocalizedName("solinium_igniter").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":solinium_igniter"); + solinium_propellant = new ItemSolinium().setUnlocalizedName("solinium_propellant").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":solinium_propellant"); + solinium_core = new ItemSolinium().setUnlocalizedName("solinium_core").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":solinium_core"); + + n2_charge = new ItemN2().setUnlocalizedName("n2_charge").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":n2_charge"); + + egg_balefire_shard = new Item().setUnlocalizedName("egg_balefire_shard").setMaxStackSize(16).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":egg_balefire_shard"); + egg_balefire = new Item().setUnlocalizedName("egg_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":egg_balefire"); + + custom_tnt = new ItemCustomLore().setUnlocalizedName("custom_tnt").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_tnt"); + custom_nuke = new ItemCustomLore().setUnlocalizedName("custom_nuke").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_nuke"); + custom_hydro = new ItemCustomLore().setUnlocalizedName("custom_hydro").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_hydro"); + custom_amat = new ItemCustomLore().setUnlocalizedName("custom_amat").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_amat"); + custom_dirty = new ItemCustomLore().setUnlocalizedName("custom_dirty").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_dirty"); + custom_schrab = new ItemCustomLore().setUnlocalizedName("custom_schrab").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_schrab"); + custom_fall = new ItemCustomLore().setUnlocalizedName("custom_fall").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_fall"); + + battery_generic = new ItemBattery(5000, 100, 100).setUnlocalizedName("battery_generic").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_generic_new"); + battery_advanced = new ItemBattery(20000, 500, 500).setUnlocalizedName("battery_advanced").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_advanced_new"); + battery_lithium = new ItemBattery(250000, 1000, 1000).setUnlocalizedName("battery_lithium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_lithium"); + battery_schrabidium = new ItemBattery(1000000, 5000, 5000).setUnlocalizedName("battery_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_schrabidium_new"); + battery_spark = new ItemBattery(100000000, 2000000, 2000000).setUnlocalizedName("battery_spark").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark"); + battery_trixite = new ItemBattery(5000000, 40000, 200000).setUnlocalizedName("battery_trixite").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_trixite"); + battery_creative = new Item().setUnlocalizedName("battery_creative").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_creative_new"); + + battery_red_cell = new ItemBattery(15000, 100, 100).setUnlocalizedName("battery_red_cell").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_red_cell"); + battery_red_cell_6 = new ItemBattery(15000 * 6, 100, 100).setUnlocalizedName("battery_red_cell_6").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_red_cell_6"); + battery_red_cell_24 = new ItemBattery(15000 * 24, 100, 100).setUnlocalizedName("battery_red_cell_24").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_red_cell_24"); + battery_advanced_cell = new ItemBattery(60000, 500, 500).setUnlocalizedName("battery_advanced_cell").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_advanced_cell"); + battery_advanced_cell_4 = new ItemBattery(60000 * 4, 500, 500).setUnlocalizedName("battery_advanced_cell_4").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_advanced_cell_4"); + battery_advanced_cell_12 = new ItemBattery(60000 * 12, 500, 500).setUnlocalizedName("battery_advanced_cell_12").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_advanced_cell_12"); + battery_lithium_cell = new ItemBattery(750000, 1000, 1000).setUnlocalizedName("battery_lithium_cell").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_lithium_cell"); + battery_lithium_cell_3 = new ItemBattery(750000 * 3, 1000, 1000).setUnlocalizedName("battery_lithium_cell_3").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_lithium_cell_3"); + battery_lithium_cell_6 = new ItemBattery(750000 * 6, 1000, 1000).setUnlocalizedName("battery_lithium_cell_6").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_lithium_cell_6"); + battery_schrabidium_cell = new ItemBattery(3000000, 5000, 5000).setUnlocalizedName("battery_schrabidium_cell").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_schrabidium_cell"); + battery_schrabidium_cell_2 = new ItemBattery(3000000 * 2, 5000, 5000).setUnlocalizedName("battery_schrabidium_cell_2").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_schrabidium_cell_2"); + battery_schrabidium_cell_4 = new ItemBattery(3000000 * 4, 5000, 5000).setUnlocalizedName("battery_schrabidium_cell_4").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_schrabidium_cell_4"); + battery_spark_cell_6 = new ItemBattery(100000000L * 6L, 2000000, 2000000).setUnlocalizedName("battery_spark_cell_6").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_6"); + battery_spark_cell_25 = new ItemBattery(100000000L * 25L, 2000000, 2000000).setUnlocalizedName("battery_spark_cell_25").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_25"); + battery_spark_cell_100 = new ItemBattery(100000000L * 100L, 2000000, 2000000).setUnlocalizedName("battery_spark_cell_100").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_100"); + battery_spark_cell_1000 = new ItemBattery(100000000L * 1000L, 20000000, 20000000).setUnlocalizedName("battery_spark_cell_1000").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_1000"); + battery_spark_cell_2500 = new ItemBattery(100000000L * 2500L, 20000000, 20000000).setUnlocalizedName("battery_spark_cell_2500").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_2500"); + battery_spark_cell_10000 = new ItemBattery(100000000L * 10000L, 200000000, 200000000).setUnlocalizedName("battery_spark_cell_10000").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_10000"); + battery_spark_cell_power = new ItemBattery(100000000L * 1000000L, 200000000, 200000000).setUnlocalizedName("battery_spark_cell_power").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_spark_cell_power"); + cube_power = new ItemBattery(1000000000000000000L, 1000000000000000L, 1000000000000000L).setUnlocalizedName("cube_power").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":cube_power"); + + battery_sc_uranium = new ItemSelfcharger(5).setUnlocalizedName("battery_sc_uranium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_uranium"); + battery_sc_technetium = new ItemSelfcharger(25).setUnlocalizedName("battery_sc_technetium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_technetium"); + battery_sc_plutonium = new ItemSelfcharger(100).setUnlocalizedName("battery_sc_plutonium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_plutonium"); + battery_sc_polonium = new ItemSelfcharger(500).setUnlocalizedName("battery_sc_polonium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_polonium"); + battery_sc_gold = new ItemSelfcharger(2500).setUnlocalizedName("battery_sc_gold").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_gold"); + battery_sc_lead = new ItemSelfcharger(5000).setUnlocalizedName("battery_sc_lead").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_lead"); + battery_sc_americium = new ItemSelfcharger(10000).setUnlocalizedName("battery_sc_americium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_americium"); + + battery_potato = new ItemBattery(1000, 0, 100).setUnlocalizedName("battery_potato").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_potato"); + battery_potatos = new ItemPotatos(500000, 0, 100).setUnlocalizedName("battery_potatos").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_potatos"); + hev_battery = new ItemFusionCore(150000).setUnlocalizedName("hev_battery").setMaxStackSize(4).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":hev_battery"); + fusion_core = new ItemFusionCore(2500000).setUnlocalizedName("fusion_core").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_core"); + fusion_core_infinite = new Item().setUnlocalizedName("fusion_core_infinite").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_core_infinite"); + energy_core = new ItemBattery(10000000, 0, 1000).setUnlocalizedName("energy_core").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":energy_core"); + fuse = new ItemCustomLore().setUnlocalizedName("fuse").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fuse"); + redcoil_capacitor = new ItemCapacitor(10).setUnlocalizedName("redcoil_capacitor").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":redcoil_capacitor"); + euphemium_capacitor = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("euphemium_capacitor").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":redcoil_capacitor_euphemium"); + screwdriver = new ItemTooling(ToolType.SCREWDRIVER, 100).setUnlocalizedName("screwdriver"); + screwdriver_desh = new ItemTooling(ToolType.SCREWDRIVER, 0).setUnlocalizedName("screwdriver_desh"); + hand_drill = new ItemTooling(ToolType.HAND_DRILL, 100).setUnlocalizedName("hand_drill"); + hand_drill_desh = new ItemTooling(ToolType.HAND_DRILL, 0).setUnlocalizedName("hand_drill_desh"); + wrench_archineer = new ItemToolingWeapon(ToolType.WRENCH, 1000, 12F).setUnlocalizedName("wrench_archineer").setTextureName(RefStrings.MODID + ":wrench_archineer_hd"); + chemistry_set = new ItemCraftingDegradation(100).setUnlocalizedName("chemistry_set"); + chemistry_set_boron = new ItemCraftingDegradation(0).setUnlocalizedName("chemistry_set_boron"); + blowtorch = new ItemBlowtorch().setUnlocalizedName("blowtorch"); + acetylene_torch = new ItemBlowtorch().setUnlocalizedName("acetylene_torch"); + boltgun = new ItemBoltgun().setUnlocalizedName("boltgun"); + overfuse = new ItemCustomLore().setUnlocalizedName("overfuse").setMaxStackSize(1).setFull3D().setTextureName(RefStrings.MODID + ":overfuse"); + arc_electrode = new ItemArcElectrode().setUnlocalizedName("arc_electrode").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":arc_electrode"); + arc_electrode_burnt = new ItemArcElectrodeBurnt().setUnlocalizedName("arc_electrode_burnt").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":arc_electrode_burnt"); + + ams_focus_blank = new Item().setUnlocalizedName("ams_focus_blank").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":ams_focus_blank"); + ams_focus_limiter = new ItemCustomLore().setUnlocalizedName("ams_focus_limiter").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":ams_focus_limiter"); + ams_focus_booster = new ItemCustomLore().setUnlocalizedName("ams_focus_booster").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":ams_focus_booster"); + ams_muzzle = new ItemCustomLore().setUnlocalizedName("ams_muzzle").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":ams_muzzle"); + ams_lens = new ItemLens(60 * 60 * 60 * 20 * 100).setUnlocalizedName("ams_lens").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":ams_lens"); + ams_core_sing = new ItemAMSCore(1000000000L, 200, 10).setUnlocalizedName("ams_core_sing").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":ams_core_sing"); + ams_core_wormhole = new ItemAMSCore(1500000000L, 200, 15).setUnlocalizedName("ams_core_wormhole").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":ams_core_wormhole"); + ams_core_eyeofharmony = new ItemAMSCore(2500000000L, 300, 10).setUnlocalizedName("ams_core_eyeofharmony").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":ams_core_eyeofharmony"); + ams_core_thingy = new ItemAMSCore(5000000000L, 250, 5).setUnlocalizedName("ams_core_thingy").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":ams_core_thingy"); + + fusion_shield_tungsten = new ItemFusionShield(60 * 60 * 60 * 5, 3500).setUnlocalizedName("fusion_shield_tungsten").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_shield_tungsten"); + fusion_shield_desh = new ItemFusionShield(60 * 60 * 60 * 10, 4500).setUnlocalizedName("fusion_shield_desh").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_shield_desh"); + fusion_shield_chlorophyte = new ItemFusionShield(60 * 60 * 60 * 15, 9000).setUnlocalizedName("fusion_shield_chlorophyte").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_shield_chlorophyte"); + fusion_shield_vaporwave = new ItemFusionShield(60 * 60 * 60 * 10, 1916169).setUnlocalizedName("fusion_shield_vaporwave").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_shield_vaporwave"); + + upgrade_muffler = new ItemMuffler().setUnlocalizedName("upgrade_muffler").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":upgrade_muffler"); + + upgrade_template = new ItemCustomLore().setUnlocalizedName("upgrade_template").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":upgrade_template"); + upgrade_speed_1 = new ItemMachineUpgrade(UpgradeType.SPEED, 1).setUnlocalizedName("upgrade_speed_1").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_speed_1"); + upgrade_speed_2 = new ItemMachineUpgrade(UpgradeType.SPEED, 2).setUnlocalizedName("upgrade_speed_2").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_speed_2"); + upgrade_speed_3 = new ItemMachineUpgrade(UpgradeType.SPEED, 3).setUnlocalizedName("upgrade_speed_3").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_speed_3"); + upgrade_effect_1 = new ItemMachineUpgrade(UpgradeType.EFFECT, 1).setUnlocalizedName("upgrade_effect_1").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_effect_1"); + upgrade_effect_2 = new ItemMachineUpgrade(UpgradeType.EFFECT, 2).setUnlocalizedName("upgrade_effect_2").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_effect_2"); + upgrade_effect_3 = new ItemMachineUpgrade(UpgradeType.EFFECT, 3).setUnlocalizedName("upgrade_effect_3").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_effect_3"); + upgrade_power_1 = new ItemMachineUpgrade(UpgradeType.POWER, 1).setUnlocalizedName("upgrade_power_1").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_power_1"); + upgrade_power_2 = new ItemMachineUpgrade(UpgradeType.POWER, 2).setUnlocalizedName("upgrade_power_2").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_power_2"); + upgrade_power_3 = new ItemMachineUpgrade(UpgradeType.POWER, 3).setUnlocalizedName("upgrade_power_3").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_power_3"); + upgrade_fortune_1 = new ItemMachineUpgrade(UpgradeType.FORTUNE, 1).setUnlocalizedName("upgrade_fortune_1").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_fortune_1"); + upgrade_fortune_2 = new ItemMachineUpgrade(UpgradeType.FORTUNE, 2).setUnlocalizedName("upgrade_fortune_2").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_fortune_2"); + upgrade_fortune_3 = new ItemMachineUpgrade(UpgradeType.FORTUNE, 3).setUnlocalizedName("upgrade_fortune_3").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_fortune_3"); + upgrade_afterburn_1 = new ItemMachineUpgrade(UpgradeType.AFTERBURN, 1).setUnlocalizedName("upgrade_afterburn_1").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_afterburn_1"); + upgrade_afterburn_2 = new ItemMachineUpgrade(UpgradeType.AFTERBURN, 2).setUnlocalizedName("upgrade_afterburn_2").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_afterburn_2"); + upgrade_afterburn_3 = new ItemMachineUpgrade(UpgradeType.AFTERBURN, 3).setUnlocalizedName("upgrade_afterburn_3").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_afterburn_3"); + upgrade_overdrive_1 = new ItemMachineUpgrade(UpgradeType.OVERDRIVE, 1).setUnlocalizedName("upgrade_overdrive_1").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_overdrive_1"); + upgrade_overdrive_2 = new ItemMachineUpgrade(UpgradeType.OVERDRIVE, 2).setUnlocalizedName("upgrade_overdrive_2").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_overdrive_2"); + upgrade_overdrive_3 = new ItemMachineUpgrade(UpgradeType.OVERDRIVE, 3).setUnlocalizedName("upgrade_overdrive_3").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_overdrive_3"); + upgrade_radius = new ItemMachineUpgrade().setUnlocalizedName("upgrade_radius").setMaxStackSize(16).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_radius"); + upgrade_health = new ItemMachineUpgrade().setUnlocalizedName("upgrade_health").setMaxStackSize(16).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_health"); + upgrade_smelter = new ItemMachineUpgrade().setUnlocalizedName("upgrade_smelter").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_smelter"); + upgrade_shredder = new ItemMachineUpgrade().setUnlocalizedName("upgrade_shredder").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_shredder"); + upgrade_centrifuge = new ItemMachineUpgrade().setUnlocalizedName("upgrade_centrifuge").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_centrifuge"); + upgrade_crystallizer = new ItemMachineUpgrade().setUnlocalizedName("upgrade_crystallizer").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_crystallizer"); + upgrade_nullifier = new ItemMachineUpgrade().setUnlocalizedName("upgrade_nullifier").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_nullifier"); + upgrade_screm = new ItemMachineUpgrade().setUnlocalizedName("upgrade_screm").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_screm"); + upgrade_gc_speed = new ItemMachineUpgrade().setUnlocalizedName("upgrade_gc_speed").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_gc_speed"); + upgrade_5g = new ItemMachineUpgrade().setUnlocalizedName("upgrade_5g").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_5g"); + upgrade_stack = new ItemMetaUpgrade(3).setUnlocalizedName("upgrade_stack").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_stack"); + upgrade_ejector = new ItemMetaUpgrade(3).setUnlocalizedName("upgrade_ejector").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_ejector"); + + wand = new ItemWand().setUnlocalizedName("wand_k").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setFull3D().setTextureName(RefStrings.MODID + ":wand"); + wand_s = new ItemWandS().setUnlocalizedName("wand_s").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setFull3D().setTextureName(RefStrings.MODID + ":wand_s"); + wand_d = new ItemWandD().setUnlocalizedName("wand_d").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setFull3D().setTextureName(RefStrings.MODID + ":wand_d"); + + structure_single = new ItemStructureSingle().setUnlocalizedName("structure_single").setMaxStackSize(1).setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":structure_single"); + structure_solid = new ItemStructureSolid().setUnlocalizedName("structure_solid").setMaxStackSize(1).setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":structure_solid"); + structure_pattern = new ItemStructurePattern().setUnlocalizedName("structure_pattern").setMaxStackSize(1).setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":structure_pattern"); + structure_randomized = new ItemStructureRandomized().setUnlocalizedName("structure_randomized").setMaxStackSize(1).setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":structure_randomized"); + structure_randomly = new ItemStructureRandomly().setUnlocalizedName("structure_randomly").setMaxStackSize(1).setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":structure_randomly"); + structure_custommachine = new ItemCMStructure().setUnlocalizedName("structure_custommachine").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setFull3D().setTextureName(RefStrings.MODID + ":structure_custommachine"); + + rod_of_discord = new ItemDiscord().setUnlocalizedName("rod_of_discord").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setFull3D().setTextureName(RefStrings.MODID + ":rod_of_discord"); + + nuke_starter_kit = new ItemStarterKit().setUnlocalizedName("nuke_starter_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":nuke_starter_kit"); + nuke_advanced_kit = new ItemStarterKit().setUnlocalizedName("nuke_advanced_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":nuke_advanced_kit"); + nuke_commercially_kit = new ItemStarterKit().setUnlocalizedName("nuke_commercially_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":nuke_commercially_kit"); + nuke_electric_kit = new ItemStarterKit().setUnlocalizedName("nuke_electric_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":nuke_electric_kit"); + gadget_kit = new ItemStarterKit().setUnlocalizedName("gadget_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":gadget_kit"); + boy_kit = new ItemStarterKit().setUnlocalizedName("boy_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":boy_kit"); + man_kit = new ItemStarterKit().setUnlocalizedName("man_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":man_kit"); + mike_kit = new ItemStarterKit().setUnlocalizedName("mike_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":mike_kit"); + tsar_kit = new ItemStarterKit().setUnlocalizedName("tsar_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":tsar_kit"); + multi_kit = new ItemStarterKit().setUnlocalizedName("multi_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":multi_kit"); + custom_kit = new ItemStarterKit().setUnlocalizedName("custom_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_kit"); + grenade_kit = new ItemStarterKit().setUnlocalizedName("grenade_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_kit"); + fleija_kit = new ItemStarterKit().setUnlocalizedName("fleija_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":fleija_kit"); + prototype_kit = new ItemStarterKit().setUnlocalizedName("prototype_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":prototype_kit"); + missile_kit = new ItemStarterKit().setUnlocalizedName("missile_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_kit"); + t45_kit = new ItemStarterKit().setUnlocalizedName("t45_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":t45_kit"); + euphemium_kit = new ItemStarterKit().setUnlocalizedName("euphemium_kit").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":code"); + solinium_kit = new ItemStarterKit().setUnlocalizedName("solinium_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":solinium_kit"); + hazmat_kit = new ItemStarterKit().setUnlocalizedName("hazmat_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":hazmat_kit"); + hazmat_red_kit = new ItemStarterKit().setUnlocalizedName("hazmat_red_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":hazmat_red_kit"); + hazmat_grey_kit = new ItemStarterKit().setUnlocalizedName("hazmat_grey_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":hazmat_grey_kit"); + kit_custom = new ItemKitCustom().setUnlocalizedName("kit_custom").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":kit"); + toolbox = new ItemToolBox().setUnlocalizedName("toolbox").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":kit_toolbox"); + legacy_toolbox = new ItemKitNBT().setUnlocalizedName("toolbox_legacy").setContainerItem(toolbox).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":kit_toolbox"); + + loot_10 = new ItemLootCrate().setUnlocalizedName("loot_10").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":loot_10"); + loot_15 = new ItemLootCrate().setUnlocalizedName("loot_15").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":loot_15"); + loot_misc = new ItemLootCrate().setUnlocalizedName("loot_misc").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":loot_misc"); + + ammo_container = new ItemAmmoContainer().setUnlocalizedName("ammo_container").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_container"); + + ingot_euphemium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("ingot_euphemium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_euphemium"); + nugget_euphemium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("nugget_euphemium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_euphemium"); + watch = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("watch").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":watch"); + apple_euphemium = new ItemAppleEuphemium(20, 100, false).setUnlocalizedName("apple_euphemium").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":apple_euphemium"); + + igniter = new ItemCustomLore().setUnlocalizedName("igniter").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":trigger"); + detonator = new ItemDetonator().setUnlocalizedName("detonator").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":detonator"); + detonator_multi = new ItemMultiDetonator().setUnlocalizedName("detonator_multi").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":detonator_multi"); + detonator_laser = new ItemLaserDetonator().setUnlocalizedName("detonator_laser").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":detonator_laser"); + detonator_deadman = new ItemDrop().setUnlocalizedName("detonator_deadman").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":detonator_deadman"); + detonator_de = new ItemDrop().setUnlocalizedName("detonator_de").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":detonator_de"); + bomb_caller = new ItemBombCaller().setUnlocalizedName("bomb_caller").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bomb_caller"); + meteor_remote = new ItemMeteorRemote().setUnlocalizedName("meteor_remote").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":meteor_remote"); + anchor_remote = new ItemAnchorRemote().setUnlocalizedName("anchor_remote").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":anchor_remote"); + spawn_chopper = new ItemChopper().setUnlocalizedName("chopper").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":chopper"); + spawn_worm = new ItemChopper().setUnlocalizedName("spawn_worm").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":spawn_worm"); + spawn_ufo = new ItemChopper().setUnlocalizedName("spawn_ufo").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":spawn_ufo"); + spawn_duck = new ItemChopper().setUnlocalizedName("spawn_duck").setMaxStackSize(16).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":spawn_duck"); + linker = new ItemTeleLink().setUnlocalizedName("linker").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":linker"); + reactor_sensor = new ItemReactorSensor().setUnlocalizedName("reactor_sensor").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":reactor_sensor"); + oil_detector = new ItemOilDetector().setUnlocalizedName("oil_detector").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":oil_detector"); + //turret_control = new ItemTurretControl().setUnlocalizedName("turret_control").setFull3D().setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":turret_control"); + turret_chip = new ItemTurretChip().setUnlocalizedName("turret_chip").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":turret_chip"); + //turret_biometry = new ItemTurretBiometry().setUnlocalizedName("turret_biometry").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":rei_scanner"); + dosimeter = new ItemDosimeter().setUnlocalizedName("dosimeter").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":dosimeter"); + geiger_counter = new ItemGeigerCounter().setUnlocalizedName("geiger_counter").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":geiger_counter"); + digamma_diagnostic = new ItemDigammaDiagnostic().setUnlocalizedName("digamma_diagnostic").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":digamma_diagnostic"); + pollution_detector = new ItemPollutionDetector().setUnlocalizedName("pollution_detector").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pollution_detector"); + ore_density_scanner = new ItemOreDensityScanner().setUnlocalizedName("ore_density_scanner").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":ore_density_scanner"); + survey_scanner = new ItemSurveyScanner().setUnlocalizedName("survey_scanner").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":survey_scanner"); + mirror_tool = new ItemMirrorTool().setUnlocalizedName("mirror_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":mirror_tool"); + rbmk_tool = new ItemRBMKTool().setUnlocalizedName("rbmk_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":rbmk_tool"); + coltan_tool = new ItemColtanCompass().setUnlocalizedName("coltan_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coltass"); + power_net_tool = new ItemPowerNetTool().setUnlocalizedName("power_net_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":power_net_tool"); + analysis_tool = new ItemAnalysisTool().setUnlocalizedName("analysis_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":analysis_tool"); + coupling_tool = new ItemCouplingTool().setUnlocalizedName("coupling_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coupling_tool"); + drone_linker = new ItemDroneLinker().setUnlocalizedName("drone_linker").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":drone_linker"); + radar_linker = new ItemRadarLinker().setUnlocalizedName("radar_linker").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":radar_linker"); + settings_tool = new ItemSettingsTool().setUnlocalizedName("settings_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":settings_tool"); + + key = new ItemKey().setUnlocalizedName("key").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":key"); + key_red = new ItemCustomLore().setUnlocalizedName("key_red").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":key_red"); + key_red_cracked = new ItemCustomLore().setUnlocalizedName("key_red_cracked").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":key_red_cracked"); + key_kit = new ItemCounterfitKeys().setUnlocalizedName("key_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":key_pair"); + key_fake = new ItemKey().setUnlocalizedName("key_fake").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":key_gold"); + pin = new ItemCustomLore().setUnlocalizedName("pin").setMaxStackSize(8).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pin"); + padlock_rusty = new ItemLock(1).setUnlocalizedName("padlock_rusty").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":padlock_rusty"); + padlock = new ItemLock(0.1).setUnlocalizedName("padlock").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":padlock"); + padlock_reinforced = new ItemLock(0.02).setUnlocalizedName("padlock_reinforced").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":padlock_reinforced"); + padlock_unbreakable = new ItemLock(0).setUnlocalizedName("padlock_unbreakable").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":padlock_unbreakable"); + + mech_key = new ItemCustomLore().setUnlocalizedName("mech_key").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":mech_key"); + + template_folder = new ItemTemplateFolder().setUnlocalizedName("template_folder").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":template_folder"); + journal_pip = new ItemTemplateFolder().setUnlocalizedName("journal_pip").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":journal_pip"); + journal_bj = new ItemTemplateFolder().setUnlocalizedName("journal_bj").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":journal_bj"); + journal_silver = new ItemTemplateFolder().setUnlocalizedName("journal_silver").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":journal_silver"); + assembly_template = new ItemAssemblyTemplate().setUnlocalizedName("assembly_template").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":assembly_template"); + chemistry_template = new ItemChemistryTemplate().setUnlocalizedName("chemistry_template").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":chemistry_template"); + chemistry_icon = new ItemChemistryIcon().setUnlocalizedName("chemistry_icon").setMaxStackSize(1).setCreativeTab(null); + crucible_template = new ItemCrucibleTemplate().setUnlocalizedName("crucible_template").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":crucible_template"); + fluid_identifier = new ItemFluidIdentifier().setUnlocalizedName("fluid_identifier").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":fluid_identifier"); + fluid_identifier_multi = new ItemFluidIDMulti().setUnlocalizedName("fluid_identifier_multi").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":fluid_identifier_multi"); + fluid_icon = new ItemFluidIcon().setUnlocalizedName("fluid_icon").setCreativeTab(null).setTextureName(RefStrings.MODID + ":fluid_icon"); + fluid_tank_empty = new Item().setUnlocalizedName("fluid_tank_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank"); + fluid_tank_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_full").setContainerItem(ModItems.fluid_tank_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank"); + fluid_tank_lead_empty = new Item().setUnlocalizedName("fluid_tank_lead_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead"); + fluid_tank_lead_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_lead_full").setContainerItem(ModItems.fluid_tank_lead_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead"); + fluid_barrel_empty = new Item().setUnlocalizedName("fluid_barrel_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel"); + fluid_barrel_full = new ItemFluidTank().setUnlocalizedName("fluid_barrel_full").setContainerItem(ModItems.fluid_barrel_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel"); + fluid_barrel_infinite = new ItemInfiniteFluid(null, 1_000_000_000).setUnlocalizedName("fluid_barrel_infinite").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel_infinite"); + pipette = new ItemPipette().setUnlocalizedName("pipette").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pipette"); + pipette_boron = new ItemPipette().setUnlocalizedName("pipette_boron").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pipette_boron"); + pipette_laboratory = new ItemPipette().setUnlocalizedName("pipette_laboratory").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pipette_laboratory"); + siphon = new ItemFluidSiphon().setUnlocalizedName("siphon").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":siphon"); + inf_water = new ItemInfiniteFluid(Fluids.WATER, 50).setUnlocalizedName("inf_water").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":inf_water"); + inf_water_mk2 = new ItemInfiniteFluid(Fluids.WATER, 500).setUnlocalizedName("inf_water_mk2").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":inf_water_mk2"); + + FluidTank.noDualUnload.add(fluid_barrel_infinite); + FluidTank.noDualUnload.add(inf_water); + FluidTank.noDualUnload.add(inf_water_mk2); + + disperser_canister_empty = new Item().setUnlocalizedName("disperser_canister_empty").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":disperser_canister"); + disperser_canister = new ItemDisperser().setUnlocalizedName("disperser_canister").setContainerItem(ModItems.disperser_canister_empty).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":disperser_canister"); + + glyphid_gland_empty = new Item().setUnlocalizedName("glyphid_gland_empty").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":glyphid_gland"); + glyphid_gland = new ItemDisperser().setUnlocalizedName("glyphid_gland").setContainerItem(ModItems.glyphid_gland_empty).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":glyphid_gland"); + + siren_track = new ItemCassette().setUnlocalizedName("siren_track").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":cassette"); + fluid_duct = new ItemFluidDuct().setUnlocalizedName("fluid_duct").setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":duct"); + + bobmazon = new ItemCatalog().setUnlocalizedName("bobmazon").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bobmazon"); + bobmazon_hidden = new ItemCatalog().setUnlocalizedName("bobmazon_hidden").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":bobmazon_special"); + + euphemium_helmet = new ArmorEuphemium(MainRegistry.aMatEuph, 0).setUnlocalizedName("euphemium_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":euphemium_helmet"); + euphemium_plate = new ArmorEuphemium(MainRegistry.aMatEuph, 1).setUnlocalizedName("euphemium_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":euphemium_plate"); + euphemium_legs = new ArmorEuphemium(MainRegistry.aMatEuph, 2).setUnlocalizedName("euphemium_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":euphemium_legs"); + euphemium_boots = new ArmorEuphemium(MainRegistry.aMatEuph, 3).setUnlocalizedName("euphemium_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":euphemium_boots"); + + ArmorMaterial aMatRags = EnumHelper.addArmorMaterial("HBM_RAGS", 150, new int[] { 1, 1, 1, 1 }, 0); + aMatRags.customCraftingMaterial = ModItems.rag; + + goggles = new ArmorModel(ArmorMaterial.IRON, 0).setUnlocalizedName("goggles").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":goggles"); + ashglasses = new ArmorAshGlasses(ArmorMaterial.IRON, 0).setUnlocalizedName("ashglasses").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ashglasses"); + gas_mask = new ArmorGasMask().setUnlocalizedName("gas_mask").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":gas_mask"); + gas_mask_m65 = new ArmorGasMask().setUnlocalizedName("gas_mask_m65").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":gas_mask_m65"); + gas_mask_mono = new ArmorGasMask().setUnlocalizedName("gas_mask_mono").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":gas_mask_mono"); + gas_mask_olde = new ArmorGasMask().setUnlocalizedName("gas_mask_olde").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":gas_mask_olde"); + mask_rag = new ModArmor(aMatRags, 0).setUnlocalizedName("mask_rag").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mask_rag"); + mask_piss = new ModArmor(aMatRags, 0).setUnlocalizedName("mask_piss").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mask_piss"); + hat = new ArmorHat(MainRegistry.aMatAlloy, 0).setUnlocalizedName("nossy_hat").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hat"); + no9 = new ArmorNo9(MainRegistry.aMatSteel, 0).setUnlocalizedName("no9").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":no9"); + beta = new ItemDrop().setUnlocalizedName("beta").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":beta"); + //oxy_mask = new ArmorModel(ArmorMaterial.IRON, 7, 0).setUnlocalizedName("oxy_mask").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":oxy_mask"); + + schrabidium_helmet = new ArmorFSB(MainRegistry.aMatSchrab, 0, RefStrings.MODID + ":textures/armor/schrabidium_1.png") + .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 2)) + .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 2)) + .addEffect(new PotionEffect(Potion.jump.id, 20, 1)) + .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 2)) + .setUnlocalizedName("schrabidium_helmet").setTextureName(RefStrings.MODID + ":schrabidium_helmet"); + schrabidium_plate = new ArmorFSB(MainRegistry.aMatSchrab, 1, RefStrings.MODID + ":textures/armor/schrabidium_1.png").cloneStats((ArmorFSB) schrabidium_helmet).setUnlocalizedName("schrabidium_plate").setTextureName(RefStrings.MODID + ":schrabidium_plate"); + schrabidium_legs = new ArmorFSB(MainRegistry.aMatSchrab, 2, RefStrings.MODID + ":textures/armor/schrabidium_2.png").cloneStats((ArmorFSB) schrabidium_helmet).setUnlocalizedName("schrabidium_legs").setTextureName(RefStrings.MODID + ":schrabidium_legs"); + schrabidium_boots = new ArmorFSB(MainRegistry.aMatSchrab, 3, RefStrings.MODID + ":textures/armor/schrabidium_1.png").cloneStats((ArmorFSB) schrabidium_helmet).setUnlocalizedName("schrabidium_boots").setTextureName(RefStrings.MODID + ":schrabidium_boots"); + bismuth_helmet = new ArmorBismuth(MainRegistry.aMatBismuth, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png") + .addEffect(new PotionEffect(Potion.jump.id, 20, 6)) + .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 6)) + .addEffect(new PotionEffect(Potion.regeneration.id, 20, 1)) + .addEffect(new PotionEffect(Potion.nightVision.id, 15 * 20, 0)) + .setDashCount(3) + .setUnlocalizedName("bismuth_helmet").setTextureName(RefStrings.MODID + ":bismuth_helmet"); + bismuth_plate = new ArmorBismuth(MainRegistry.aMatBismuth, 1, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) bismuth_helmet).setUnlocalizedName("bismuth_plate").setTextureName(RefStrings.MODID + ":bismuth_plate"); + bismuth_legs = new ArmorBismuth(MainRegistry.aMatBismuth, 2, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) bismuth_helmet).setUnlocalizedName("bismuth_legs").setTextureName(RefStrings.MODID + ":bismuth_legs"); + bismuth_boots = new ArmorBismuth(MainRegistry.aMatBismuth, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) bismuth_helmet).setUnlocalizedName("bismuth_boots").setTextureName(RefStrings.MODID + ":bismuth_boots"); + titanium_helmet = new ArmorFSB(MainRegistry.aMatTitan, 0, RefStrings.MODID + ":textures/armor/titanium_1.png").setUnlocalizedName("titanium_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_helmet"); + titanium_plate = new ArmorFSB(MainRegistry.aMatTitan, 1, RefStrings.MODID + ":textures/armor/titanium_1.png").cloneStats((ArmorFSB) titanium_helmet).setUnlocalizedName("titanium_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_plate"); + titanium_legs = new ArmorFSB(MainRegistry.aMatTitan, 2, RefStrings.MODID + ":textures/armor/titanium_2.png").cloneStats((ArmorFSB) titanium_helmet).setUnlocalizedName("titanium_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_legs"); + titanium_boots = new ArmorFSB(MainRegistry.aMatTitan, 3, RefStrings.MODID + ":textures/armor/titanium_1.png").cloneStats((ArmorFSB) titanium_helmet).setUnlocalizedName("titanium_boots").setTextureName(RefStrings.MODID + ":titanium_boots"); + steel_helmet = new ArmorFSB(MainRegistry.aMatSteel, 0, RefStrings.MODID + ":textures/armor/steel_1.png").setUnlocalizedName("steel_helmet").setTextureName(RefStrings.MODID + ":steel_helmet"); + steel_plate = new ArmorFSB(MainRegistry.aMatSteel, 1, RefStrings.MODID + ":textures/armor/steel_1.png").cloneStats((ArmorFSB) steel_helmet).setUnlocalizedName("steel_plate").setTextureName(RefStrings.MODID + ":steel_plate"); + steel_legs = new ArmorFSB(MainRegistry.aMatSteel, 2, RefStrings.MODID + ":textures/armor/steel_2.png").cloneStats((ArmorFSB) steel_helmet).setUnlocalizedName("steel_legs").setTextureName(RefStrings.MODID + ":steel_legs"); + steel_boots = new ArmorFSB(MainRegistry.aMatSteel, 3, RefStrings.MODID + ":textures/armor/steel_1.png").cloneStats((ArmorFSB) steel_helmet).setUnlocalizedName("steel_boots").setTextureName(RefStrings.MODID + ":steel_boots"); + alloy_helmet = new ArmorFSB(MainRegistry.aMatAlloy, 0, RefStrings.MODID + ":textures/armor/alloy_1.png").setUnlocalizedName("alloy_helmet").setTextureName(RefStrings.MODID + ":alloy_helmet"); + alloy_plate = new ArmorFSB(MainRegistry.aMatAlloy, 1, RefStrings.MODID + ":textures/armor/alloy_1.png").cloneStats((ArmorFSB) alloy_helmet).setUnlocalizedName("alloy_plate").setTextureName(RefStrings.MODID + ":alloy_plate"); + alloy_legs = new ArmorFSB(MainRegistry.aMatAlloy, 2, RefStrings.MODID + ":textures/armor/alloy_2.png").cloneStats((ArmorFSB) alloy_helmet).setUnlocalizedName("alloy_legs").setTextureName(RefStrings.MODID + ":alloy_legs"); + alloy_boots = new ArmorFSB(MainRegistry.aMatAlloy, 3, RefStrings.MODID + ":textures/armor/alloy_1.png").cloneStats((ArmorFSB) alloy_helmet).setUnlocalizedName("alloy_boots").setTextureName(RefStrings.MODID + ":alloy_boots"); + cmb_helmet = new ArmorFSB(MainRegistry.aMatCMB, 0, RefStrings.MODID + ":textures/armor/cmb_1.png") + .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 2)) + .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 2)) + .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 4)) + .setUnlocalizedName("cmb_helmet").setTextureName(RefStrings.MODID + ":cmb_helmet"); + cmb_plate = new ArmorFSB(MainRegistry.aMatCMB, 1, RefStrings.MODID + ":textures/armor/cmb_1.png").cloneStats((ArmorFSB) cmb_helmet).setUnlocalizedName("cmb_plate").setTextureName(RefStrings.MODID + ":cmb_plate"); + cmb_legs = new ArmorFSB(MainRegistry.aMatCMB, 2, RefStrings.MODID + ":textures/armor/cmb_2.png").cloneStats((ArmorFSB) cmb_helmet).setUnlocalizedName("cmb_legs").setTextureName(RefStrings.MODID + ":cmb_legs"); + cmb_boots = new ArmorFSB(MainRegistry.aMatCMB, 3, RefStrings.MODID + ":textures/armor/cmb_1.png").cloneStats((ArmorFSB) cmb_helmet).setUnlocalizedName("cmb_boots").setTextureName(RefStrings.MODID + ":cmb_boots"); + paa_plate = new ArmorFSB(MainRegistry.aMatPaa, 1, RefStrings.MODID + ":textures/armor/paa_1.png").setNoHelmet(true) + .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 0)).setUnlocalizedName("paa_plate").setTextureName(RefStrings.MODID + ":paa_plate"); + paa_legs = new ArmorFSB(MainRegistry.aMatPaa, 2, RefStrings.MODID + ":textures/armor/paa_2.png").cloneStats((ArmorFSB) paa_plate).setUnlocalizedName("paa_legs").setTextureName(RefStrings.MODID + ":paa_legs"); + paa_boots = new ArmorFSB(MainRegistry.aMatPaa, 3, RefStrings.MODID + ":textures/armor/paa_1.png").cloneStats((ArmorFSB) paa_plate).setUnlocalizedName("paa_boots").setTextureName(RefStrings.MODID + ":paa_boots"); + asbestos_helmet = new ArmorFSB(MainRegistry.aMatAsbestos, 0, RefStrings.MODID + ":textures/armor/asbestos_1.png").setOverlay(RefStrings.MODID + ":textures/misc/overlay_asbestos.png").setUnlocalizedName("asbestos_helmet").setTextureName(RefStrings.MODID + ":asbestos_helmet"); + asbestos_plate = new ArmorFSB(MainRegistry.aMatAsbestos, 1, RefStrings.MODID + ":textures/armor/asbestos_1.png").setUnlocalizedName("asbestos_plate").setTextureName(RefStrings.MODID + ":asbestos_plate"); + asbestos_legs = new ArmorFSB(MainRegistry.aMatAsbestos, 2, RefStrings.MODID + ":textures/armor/asbestos_2.png").setUnlocalizedName("asbestos_legs").setTextureName(RefStrings.MODID + ":asbestos_legs"); + asbestos_boots = new ArmorFSB(MainRegistry.aMatAsbestos, 3, RefStrings.MODID + ":textures/armor/asbestos_1.png").setUnlocalizedName("asbestos_boots").setTextureName(RefStrings.MODID + ":asbestos_boots"); + security_helmet = new ArmorFSB(MainRegistry.aMatSecurity, 0, RefStrings.MODID + ":textures/armor/security_1.png").setUnlocalizedName("security_helmet").setTextureName(RefStrings.MODID + ":security_helmet"); + security_plate = new ArmorFSB(MainRegistry.aMatSecurity, 1, RefStrings.MODID + ":textures/armor/security_1.png").cloneStats((ArmorFSB) security_helmet).setUnlocalizedName("security_plate").setTextureName(RefStrings.MODID + ":security_plate"); + security_legs = new ArmorFSB(MainRegistry.aMatSecurity, 2, RefStrings.MODID + ":textures/armor/security_2.png").cloneStats((ArmorFSB) security_helmet).setUnlocalizedName("security_legs").setTextureName(RefStrings.MODID + ":security_legs"); + security_boots = new ArmorFSB(MainRegistry.aMatSecurity, 3, RefStrings.MODID + ":textures/armor/security_1.png").cloneStats((ArmorFSB) security_helmet).setUnlocalizedName("security_boots").setTextureName(RefStrings.MODID + ":security_boots"); + cobalt_helmet = new ArmorFSB(MainRegistry.aMatCobalt, 0, RefStrings.MODID + ":textures/armor/cobalt_1.png").setUnlocalizedName("cobalt_helmet").setTextureName(RefStrings.MODID + ":cobalt_helmet"); + cobalt_plate = new ArmorFSB(MainRegistry.aMatCobalt, 1, RefStrings.MODID + ":textures/armor/cobalt_1.png").cloneStats((ArmorFSB) cobalt_helmet).setUnlocalizedName("cobalt_plate").setTextureName(RefStrings.MODID + ":cobalt_plate"); + cobalt_legs = new ArmorFSB(MainRegistry.aMatCobalt, 2, RefStrings.MODID + ":textures/armor/cobalt_2.png").cloneStats((ArmorFSB) cobalt_helmet).setUnlocalizedName("cobalt_legs").setTextureName(RefStrings.MODID + ":cobalt_legs"); + cobalt_boots = new ArmorFSB(MainRegistry.aMatCobalt, 3, RefStrings.MODID + ":textures/armor/cobalt_1.png").cloneStats((ArmorFSB) cobalt_helmet).setUnlocalizedName("cobalt_boots").setTextureName(RefStrings.MODID + ":cobalt_boots"); + starmetal_helmet = new ArmorFSB(MainRegistry.aMatStarmetal, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png") + .setUnlocalizedName("starmetal_helmet").setTextureName(RefStrings.MODID + ":starmetal_helmet"); + starmetal_plate = new ArmorFSB(MainRegistry.aMatStarmetal, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) starmetal_helmet).setUnlocalizedName("starmetal_plate").setTextureName(RefStrings.MODID + ":starmetal_plate"); + starmetal_legs = new ArmorFSB(MainRegistry.aMatStarmetal, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) starmetal_helmet).setUnlocalizedName("starmetal_legs").setTextureName(RefStrings.MODID + ":starmetal_legs"); + starmetal_boots = new ArmorFSB(MainRegistry.aMatStarmetal, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) starmetal_helmet).setUnlocalizedName("starmetal_boots").setTextureName(RefStrings.MODID + ":starmetal_boots"); + + robes_helmet = new ArmorFSB(ArmorMaterial.CHAIN, 0, RefStrings.MODID + ":textures/armor/robes_1.png").setUnlocalizedName("robes_helmet").setTextureName(RefStrings.MODID + ":robes_helmet"); + robes_plate = new ArmorFSB(ArmorMaterial.CHAIN, 1, RefStrings.MODID + ":textures/armor/robes_1.png").cloneStats((ArmorFSB) robes_helmet).setUnlocalizedName("robes_plate").setTextureName(RefStrings.MODID + ":robes_plate"); + robes_legs = new ArmorFSB(ArmorMaterial.CHAIN, 2, RefStrings.MODID + ":textures/armor/robes_2.png").cloneStats((ArmorFSB) robes_helmet).setUnlocalizedName("robes_legs").setTextureName(RefStrings.MODID + ":robes_legs"); + robes_boots = new ArmorFSB(ArmorMaterial.CHAIN, 3, RefStrings.MODID + ":textures/armor/robes_1.png").cloneStats((ArmorFSB) robes_helmet).setUnlocalizedName("robes_boots").setTextureName(RefStrings.MODID + ":robes_boots"); + + initializeItem2(); + } + + public static void initializeItem2() { + + ArmorMaterial aMatZirconium = EnumHelper.addArmorMaterial("HBM_ZIRCONIUM", 1000, new int[] { 2, 5, 3, 1 }, 100); + aMatZirconium.customCraftingMaterial = ModItems.ingot_zirconium; + zirconium_legs = new ArmorFSB(aMatZirconium, 2, RefStrings.MODID + ":textures/armor/zirconium_2.png").setUnlocalizedName("zirconium_legs").setTextureName(RefStrings.MODID + ":zirconium_legs"); + + ArmorMaterial aMatDNT = EnumHelper.addArmorMaterial("HBM_DNT_LOLOLOL", 3, new int[] { 1, 1, 1, 1 }, 0); + aMatDNT.customCraftingMaterial = ModItems.ingot_dineutronium; + dnt_helmet = new ArmorFSB(aMatDNT, 0, RefStrings.MODID + ":textures/armor/dnt_1.png") + .setUnlocalizedName("dnt_helmet").setTextureName(RefStrings.MODID + ":dnt_helmet"); + dnt_plate = new ArmorFSB(aMatDNT, 1, RefStrings.MODID + ":textures/armor/dnt_1.png").cloneStats((ArmorFSB) dnt_helmet).setUnlocalizedName("dnt_plate").setTextureName(RefStrings.MODID + ":dnt_plate"); + dnt_legs = new ArmorFSB(aMatDNT, 2, RefStrings.MODID + ":textures/armor/dnt_2.png").cloneStats((ArmorFSB) dnt_helmet).setUnlocalizedName("dnt_legs").setTextureName(RefStrings.MODID + ":dnt_legs"); + dnt_boots = new ArmorFSB(aMatDNT, 3, RefStrings.MODID + ":textures/armor/dnt_1.png").cloneStats((ArmorFSB) dnt_helmet).setUnlocalizedName("dnt_boots").setTextureName(RefStrings.MODID + ":dnt_boots"); + + ArmorMaterial aMatT45 = EnumHelper.addArmorMaterial("HBM_T45", 150, new int[] { 3, 8, 6, 3 }, 0); + aMatT45.customCraftingMaterial = ModItems.plate_armor_titanium; + t45_helmet = new ArmorT45(aMatT45, 0, 1000000, 10000, 1000, 5) + .enableVATS(true) + .setHasGeigerSound(true) + .setHasHardLanding(true) + .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 0)) + .hides(EnumPlayerPart.HAT) + .setUnlocalizedName("t45_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_helmet"); + t45_plate = new ArmorT45(aMatT45, 1, 1000000, 10000, 1000, 5).cloneStats((ArmorFSB) t45_helmet).setUnlocalizedName("t45_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_plate"); + t45_legs = new ArmorT45(aMatT45, 2, 1000000, 10000, 1000, 5).cloneStats((ArmorFSB) t45_helmet).setUnlocalizedName("t45_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_legs"); + t45_boots = new ArmorT45(aMatT45, 3, 1000000, 10000, 1000, 5).cloneStats((ArmorFSB) t45_helmet).setUnlocalizedName("t45_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_boots"); + + ArmorMaterial aMatDesh = EnumHelper.addArmorMaterial("HBM_DESH", 150, new int[] { 3, 8, 6, 3 }, 0); + aMatDesh.customCraftingMaterial = ModItems.ingot_desh; + steamsuit_helmet = new ArmorDesh(aMatDesh, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.STEAM, 64_000, 500, 50, 1) + .setHasHardLanding(true) + .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 4)) + .hides(EnumPlayerPart.HAT) + .setUnlocalizedName("steamsuit_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_helmet"); + steamsuit_plate = new ArmorDesh(aMatDesh, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.STEAM, 64_000, 500, 50, 1).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_plate"); + steamsuit_legs = new ArmorDesh(aMatDesh, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", Fluids.STEAM, 64_000, 500, 50, 1).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_legs"); + steamsuit_boots = new ArmorDesh(aMatDesh, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.STEAM, 64_000, 500, 50, 1).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_boots"); + + ArmorMaterial aMatDiesel = EnumHelper.addArmorMaterial("HBM_BNUUY", 150, new int[] { 3, 8, 6, 3 }, 0); + aMatDiesel.customCraftingMaterial = ModItems.plate_copper; + dieselsuit_helmet = new ArmorDiesel(aMatDiesel, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.DIESEL, 64_000, 500, 50, 1) + .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 2)) + .addEffect(new PotionEffect(Potion.jump.id, 20, 2)) + .enableThermalSight(true) + .enableVATS(true) + .setUnlocalizedName("dieselsuit_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_helmet"); + dieselsuit_plate = new ArmorDiesel(aMatDiesel, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.DIESEL, 64_000, 500, 50, 1).cloneStats((ArmorFSB) dieselsuit_helmet).setUnlocalizedName("dieselsuit_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_plate"); + dieselsuit_legs = new ArmorDiesel(aMatDiesel, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", Fluids.DIESEL, 64_000, 500, 50, 1).cloneStats((ArmorFSB) dieselsuit_helmet).setUnlocalizedName("dieselsuit_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_legs"); + dieselsuit_boots = new ArmorDiesel(aMatDiesel, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.DIESEL, 64_000, 500, 50, 1).cloneStats((ArmorFSB) dieselsuit_helmet).setUnlocalizedName("dieselsuit_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dieselsuit_boots"); + + ArmorMaterial aMatAJR = EnumHelper.addArmorMaterial("HBM_T45AJR", 150, new int[] { 3, 8, 6, 3 }, 100); + aMatAJR.customCraftingMaterial = ModItems.plate_armor_ajr; + ajr_helmet = new ArmorAJR(aMatAJR, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25) + .enableVATS(true) + .setHasGeigerSound(true) + .setHasHardLanding(true) + .addEffect(new PotionEffect(Potion.jump.id, 20, 0)) + .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 0)) + .setStep("hbm:step.metal").setJump("hbm:step.iron_jump").setFall("hbm:step.iron_land") + .hides(EnumPlayerPart.HAT) + .setUnlocalizedName("ajr_helmet").setTextureName(RefStrings.MODID + ":ajr_helmet"); + ajr_plate = new ArmorAJR(aMatAJR, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajr_helmet).setUnlocalizedName("ajr_plate").setTextureName(RefStrings.MODID + ":ajr_plate"); + ajr_legs = new ArmorAJR(aMatAJR, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajr_helmet).setUnlocalizedName("ajr_legs").setTextureName(RefStrings.MODID + ":ajr_legs"); + ajr_boots = new ArmorAJR(aMatAJR, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajr_helmet).setUnlocalizedName("ajr_boots").setTextureName(RefStrings.MODID + ":ajr_boots"); + + ajro_helmet = new ArmorAJRO(aMatAJR, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25) + .enableVATS(true) + .setHasGeigerSound(true) + .setHasHardLanding(true) + .addEffect(new PotionEffect(Potion.jump.id, 20, 0)) + .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 0)) + .setStep("hbm:step.metal").setJump("hbm:step.iron_jump").setFall("hbm:step.iron_land") + .hides(EnumPlayerPart.HAT) + .setUnlocalizedName("ajro_helmet").setTextureName(RefStrings.MODID + ":ajro_helmet"); + ajro_plate = new ArmorAJRO(aMatAJR, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajro_helmet).setUnlocalizedName("ajro_plate").setTextureName(RefStrings.MODID + ":ajro_plate"); + ajro_legs = new ArmorAJRO(aMatAJR, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajro_helmet).setUnlocalizedName("ajro_legs").setTextureName(RefStrings.MODID + ":ajro_legs"); + ajro_boots = new ArmorAJRO(aMatAJR, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajro_helmet).setUnlocalizedName("ajro_boots").setTextureName(RefStrings.MODID + ":ajro_boots"); + + rpa_helmet = new ArmorRPA(aMatAJR, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25) + .enableVATS(true) + .setHasGeigerSound(true) + .setHasHardLanding(true) + .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 3)) + .setStep("hbm:step.powered") + .setJump("hbm:step.powered") + .setFall("hbm:step.powered") + .hides(EnumPlayerPart.HAT) + .setUnlocalizedName("rpa_helmet").setTextureName(RefStrings.MODID + ":rpa_helmet"); + rpa_plate = new ArmorRPA(aMatAJR, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) rpa_helmet).setUnlocalizedName("rpa_plate").setTextureName(RefStrings.MODID + ":rpa_plate"); + rpa_legs = new ArmorRPA(aMatAJR, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) rpa_helmet).setUnlocalizedName("rpa_legs").setTextureName(RefStrings.MODID + ":rpa_legs"); + rpa_boots = new ArmorRPA(aMatAJR, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) rpa_helmet).setUnlocalizedName("rpa_boots").setTextureName(RefStrings.MODID + ":rpa_boots"); + + ArmorMaterial aMatBJ = EnumHelper.addArmorMaterial("HBM_BLACKJACK", 150, new int[] { 3, 8, 6, 3 }, 100); + aMatBJ.customCraftingMaterial = ModItems.plate_armor_lunar; + bj_helmet = new ArmorBJ(aMatBJ, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100) + .enableVATS(true) + .enableThermalSight(true) + .setHasGeigerSound(true) + .setHasHardLanding(true) + .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 1)) + .addEffect(new PotionEffect(Potion.jump.id, 20, 0)) + .addEffect(new PotionEffect(Potion.field_76443_y.id, 20, 0)) + .addEffect(new PotionEffect(HbmPotion.radx.id, 20, 0)) + .setStep("hbm:step.metal") + .setJump("hbm:step.iron_jump") + .setFall("hbm:step.iron_land").setUnlocalizedName("bj_helmet").setTextureName(RefStrings.MODID + ":bj_helmet"); + bj_plate = new ArmorBJ(aMatBJ, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_plate").setTextureName(RefStrings.MODID + ":bj_plate"); + bj_plate_jetpack = new ArmorBJJetpack(aMatBJ, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_plate_jetpack").setTextureName(RefStrings.MODID + ":bj_plate_jetpack"); + bj_legs = new ArmorBJ(aMatBJ, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_legs").setTextureName(RefStrings.MODID + ":bj_legs"); + bj_boots = new ArmorBJ(aMatBJ, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_boots").setTextureName(RefStrings.MODID + ":bj_boots"); + + ArmorMaterial aMatEnv = EnumHelper.addArmorMaterial("HBM_ENV", 150, new int[] { 3, 8, 6, 3 }, 100); + aMatEnv.customCraftingMaterial = ModItems.plate_armor_hev; + envsuit_helmet = new ArmorEnvsuit(aMatEnv, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 100_000, 1_000, 250, 0) + .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 1)) + .addEffect(new PotionEffect(Potion.jump.id, 20, 0)) + .hides(EnumPlayerPart.HAT) + .setUnlocalizedName("envsuit_helmet").setTextureName(RefStrings.MODID + ":envsuit_helmet"); + envsuit_plate = new ArmorEnvsuit(aMatEnv, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 100_000, 1_000, 250, 0).cloneStats((ArmorFSB) envsuit_helmet).setUnlocalizedName("envsuit_plate").setTextureName(RefStrings.MODID + ":envsuit_plate"); + envsuit_legs = new ArmorEnvsuit(aMatEnv, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 100_000, 1_000, 250, 0).cloneStats((ArmorFSB) envsuit_helmet).setUnlocalizedName("envsuit_legs").setTextureName(RefStrings.MODID + ":envsuit_legs"); + envsuit_boots = new ArmorEnvsuit(aMatEnv, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 100_000, 1_000, 250, 0).cloneStats((ArmorFSB) envsuit_helmet).setUnlocalizedName("envsuit_boots").setTextureName(RefStrings.MODID + ":envsuit_boots"); + + ArmorMaterial aMatHEV = EnumHelper.addArmorMaterial("HBM_HEV", 150, new int[] { 3, 8, 6, 3 }, 100); + aMatHEV.customCraftingMaterial = ModItems.plate_armor_hev; + hev_helmet = new ArmorHEV(aMatHEV, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 2500, 0) + .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 1)) + .addEffect(new PotionEffect(Potion.jump.id, 20, 0)) + .setHasGeigerSound(true) + .setHasCustomGeiger(true) + .hides(EnumPlayerPart.HAT) + .setUnlocalizedName("hev_helmet").setTextureName(RefStrings.MODID + ":hev_helmet"); + hev_plate = new ArmorHEV(aMatHEV, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 2500, 0).cloneStats((ArmorFSB) hev_helmet).setUnlocalizedName("hev_plate").setTextureName(RefStrings.MODID + ":hev_plate"); + hev_legs = new ArmorHEV(aMatHEV, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 1000000, 10000, 2500, 0).cloneStats((ArmorFSB) hev_helmet).setUnlocalizedName("hev_legs").setTextureName(RefStrings.MODID + ":hev_legs"); + hev_boots = new ArmorHEV(aMatHEV, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 2500, 0).cloneStats((ArmorFSB) hev_helmet).setUnlocalizedName("hev_boots").setTextureName(RefStrings.MODID + ":hev_boots"); + + jackt = new ModArmor(MainRegistry.aMatSteel, 1).setUnlocalizedName("jackt").setTextureName(RefStrings.MODID + ":jackt"); + jackt2 = new ModArmor(MainRegistry.aMatSteel, 1).setUnlocalizedName("jackt2").setTextureName(RefStrings.MODID + ":jackt2"); + + ArmorMaterial aMatFau = EnumHelper.addArmorMaterial("HBM_DIGAMMA", 150, new int[] { 3, 8, 6, 3 }, 100); + aMatFau.customCraftingMaterial = ModItems.plate_armor_fau; + fau_helmet = new ArmorDigamma(aMatFau, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 2500, 0) + .addEffect(new PotionEffect(Potion.jump.id, 20, 1)) + .setHasGeigerSound(true) + .enableThermalSight(true) + .setHasHardLanding(true) + .setStep("hbm:step.metal") + .setJump("hbm:step.iron_jump") + .setFall("hbm:step.iron_land") + .hides(EnumPlayerPart.HAT) + .setUnlocalizedName("fau_helmet").setTextureName(RefStrings.MODID + ":fau_helmet"); + fau_plate = new ArmorDigamma(aMatFau, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 2500, 0).cloneStats((ArmorFSB) fau_helmet).setFullSetForHide().setUnlocalizedName("fau_plate").setTextureName(RefStrings.MODID + ":fau_plate"); + fau_legs = new ArmorDigamma(aMatFau, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 10000000, 10000, 2500, 0).cloneStats((ArmorFSB) fau_helmet).hides(EnumPlayerPart.LEFT_LEG, EnumPlayerPart.RIGHT_LEG).setFullSetForHide().setUnlocalizedName("fau_legs").setTextureName(RefStrings.MODID + ":fau_legs"); + fau_boots = new ArmorDigamma(aMatFau, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 2500, 0).cloneStats((ArmorFSB) fau_helmet).setUnlocalizedName("fau_boots").setTextureName(RefStrings.MODID + ":fau_boots"); + + ArmorMaterial aMatDNS = EnumHelper.addArmorMaterial("HBM_DNT_NANO", 150, new int[] { 3, 8, 6, 3 }, 100); + aMatDNS.customCraftingMaterial = ModItems.plate_armor_dnt; + dns_helmet = new ArmorDNT(aMatDNS, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000000, 1000000, 100000, 115) + .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 9)) + .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 7)) + .addEffect(new PotionEffect(Potion.jump.id, 20, 2)) + .setHasGeigerSound(true) + .enableVATS(true) + .enableThermalSight(true) + .setHasHardLanding(true) + .setStep("hbm:step.metal") + .setJump("hbm:step.iron_jump") + .setFall("hbm:step.iron_land") + .hides(EnumPlayerPart.HAT) + .setUnlocalizedName("dns_helmet").setTextureName(RefStrings.MODID + ":dns_helmet"); + dns_plate = new ArmorDNT(aMatDNS, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000000, 1000000, 100000, 115).cloneStats((ArmorFSB) dns_helmet).setUnlocalizedName("dns_plate").setTextureName(RefStrings.MODID + ":dns_plate"); + dns_legs = new ArmorDNT(aMatDNS, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 1000000000, 1000000, 100000, 115).cloneStats((ArmorFSB) dns_helmet).setUnlocalizedName("dns_legs").setTextureName(RefStrings.MODID + ":dns_legs"); + dns_boots = new ArmorDNT(aMatDNS, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000000, 1000000, 100000, 115).cloneStats((ArmorFSB) dns_helmet).setUnlocalizedName("dns_boots").setTextureName(RefStrings.MODID + ":dns_boots"); + + ArmorMaterial aMatTaurun = EnumHelper.addArmorMaterial("HBM_TRENCH", 150, new int[] { 3, 8, 6, 3 }, 100); + aMatTaurun.customCraftingMaterial = ModItems.plate_iron; + taurun_helmet = new ArmorTaurun(aMatTaurun, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png") + .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 0)) + .setStepSize(1) + .hides(EnumPlayerPart.HAT) + .setUnlocalizedName("taurun_helmet").setTextureName(RefStrings.MODID + ":taurun_helmet"); + taurun_plate = new ArmorTaurun(aMatTaurun, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) taurun_helmet).setUnlocalizedName("taurun_plate").setTextureName(RefStrings.MODID + ":taurun_plate"); + taurun_legs = new ArmorTaurun(aMatTaurun, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) taurun_helmet).setUnlocalizedName("taurun_legs").setTextureName(RefStrings.MODID + ":taurun_legs"); + taurun_boots = new ArmorTaurun(aMatTaurun, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) taurun_helmet).setUnlocalizedName("taurun_boots").setTextureName(RefStrings.MODID + ":taurun_boots"); + ArmorMaterial aMatTrench = EnumHelper.addArmorMaterial("HBM_TRENCH", 150, new int[] { 3, 8, 6, 3 }, 100); + aMatTrench.customCraftingMaterial = ModItems.plate_iron; + trenchmaster_helmet = new ArmorTrenchmaster(aMatTrench, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png") + .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 2)) + .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 1)) + .addEffect(new PotionEffect(Potion.jump.id, 20, 1)) + .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 0)) + .enableVATS(true) + .setStepSize(1) + .hides(EnumPlayerPart.HAT) + .setUnlocalizedName("trenchmaster_helmet").setTextureName(RefStrings.MODID + ":trenchmaster_helmet"); + trenchmaster_plate = new ArmorTrenchmaster(aMatTrench, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) trenchmaster_helmet).setUnlocalizedName("trenchmaster_plate").setTextureName(RefStrings.MODID + ":trenchmaster_plate"); + trenchmaster_legs = new ArmorTrenchmaster(aMatTrench, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) trenchmaster_helmet).setUnlocalizedName("trenchmaster_legs").setTextureName(RefStrings.MODID + ":trenchmaster_legs"); + trenchmaster_boots = new ArmorTrenchmaster(aMatTrench, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) trenchmaster_helmet).setUnlocalizedName("trenchmaster_boots").setTextureName(RefStrings.MODID + ":trenchmaster_boots"); + + jackt = new ModArmor(MainRegistry.aMatSteel, 1).setUnlocalizedName("jackt").setTextureName(RefStrings.MODID + ":jackt"); + jackt2 = new ModArmor(MainRegistry.aMatSteel, 1).setUnlocalizedName("jackt2").setTextureName(RefStrings.MODID + ":jackt2"); + + chainsaw = new ItemChainsaw(25, -0.05, MainRegistry.tMatChainsaw, EnumToolType.AXE, 5000, 1, 250, + Fluids.DIESEL, Fluids.DIESEL_CRACK, Fluids.KEROSENE, Fluids.BIOFUEL, Fluids.GASOLINE, Fluids.GASOLINE_LEADED, Fluids.PETROIL, Fluids.PETROIL_LEADED, Fluids.COALGAS, Fluids.COALGAS_LEADED) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolAreaAbility.RECURSION, 2) + .addAbility(IWeaponAbility.CHAINSAW, 1) + .addAbility(IWeaponAbility.BEHEADER, 0).setShears().setUnlocalizedName("chainsaw").setTextureName(RefStrings.MODID + ":chainsaw"); + + schrabidium_sword = new ItemSwordAbility(75, 0, MainRegistry.tMatSchrab) + .addAbility(IWeaponAbility.RADIATION, 1) + .addAbility(IWeaponAbility.VAMPIRE, 0) + .setRarity(EnumRarity.rare).setUnlocalizedName("schrabidium_sword").setTextureName(RefStrings.MODID + ":schrabidium_sword"); + + schrabidium_pickaxe = new ItemToolAbility(20, 0, MainRegistry.tMatSchrab, EnumToolType.PICKAXE) + .addAbility(IWeaponAbility.RADIATION, 0) + .addAbility(IToolAreaAbility.HAMMER, 1) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 1) + .addAbility(IToolAreaAbility.RECURSION, 6) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 4) + .addAbility(IToolHarvestAbility.SMELTER, 0) + .addAbility(IToolHarvestAbility.SHREDDER, 0) + .setRarity(EnumRarity.rare).setUnlocalizedName("schrabidium_pickaxe").setTextureName(RefStrings.MODID + ":schrabidium_pickaxe"); + + schrabidium_axe = new ItemToolAbility(25, 0, MainRegistry.tMatSchrab, EnumToolType.AXE) + .addAbility(IWeaponAbility.RADIATION, 0) + .addAbility(IToolAreaAbility.HAMMER, 1) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 1) + .addAbility(IToolAreaAbility.RECURSION, 6) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 4) + .addAbility(IToolHarvestAbility.SMELTER, 0) + .addAbility(IToolHarvestAbility.SHREDDER, 0) + .addAbility(IWeaponAbility.BEHEADER, 0) + .setRarity(EnumRarity.rare).setUnlocalizedName("schrabidium_axe").setTextureName(RefStrings.MODID + ":schrabidium_axe"); + + schrabidium_shovel = new ItemToolAbility(15, 0, MainRegistry.tMatSchrab, EnumToolType.SHOVEL) + .addAbility(IWeaponAbility.RADIATION, 0) + .addAbility(IToolAreaAbility.HAMMER, 1) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 1) + .addAbility(IToolAreaAbility.RECURSION, 6) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 4) + .addAbility(IToolHarvestAbility.SMELTER, 0) + .addAbility(IToolHarvestAbility.SHREDDER, 0) + .setRarity(EnumRarity.rare).setUnlocalizedName("schrabidium_shovel").setTextureName(RefStrings.MODID + ":schrabidium_shovel"); + + schrabidium_hoe = new HoeSchrabidium(MainRegistry.tMatSchrab).setUnlocalizedName("schrabidium_hoe").setTextureName(RefStrings.MODID + ":schrabidium_hoe"); + + titanium_sword = new ItemSwordAbility(6.5F, 0, MainRegistry.tMatTitan).setUnlocalizedName("titanium_sword").setTextureName(RefStrings.MODID + ":titanium_sword"); + titanium_pickaxe = new ItemToolAbility(4.5F, 0, MainRegistry.tMatTitan, EnumToolType.PICKAXE).setUnlocalizedName("titanium_pickaxe").setTextureName(RefStrings.MODID + ":titanium_pickaxe"); + titanium_axe = new ItemToolAbility(5.5F, 0, MainRegistry.tMatTitan, EnumToolType.AXE) + .addAbility(IWeaponAbility.BEHEADER, 0).setUnlocalizedName("titanium_axe").setTextureName(RefStrings.MODID + ":titanium_axe"); + titanium_shovel = new ItemToolAbility(3.5F, 0, MainRegistry.tMatTitan, EnumToolType.SHOVEL).setUnlocalizedName("titanium_shovel").setTextureName(RefStrings.MODID + ":titanium_shovel"); + titanium_hoe = new ModHoe(MainRegistry.tMatTitan).setUnlocalizedName("titanium_hoe").setTextureName(RefStrings.MODID + ":titanium_hoe"); + steel_sword = new ItemSwordAbility(6F, 0, MainRegistry.tMatSteel).setUnlocalizedName("steel_sword").setTextureName(RefStrings.MODID + ":steel_sword"); + steel_pickaxe = new ItemToolAbility(4F, 0, MainRegistry.tMatSteel, EnumToolType.PICKAXE).setUnlocalizedName("steel_pickaxe").setTextureName(RefStrings.MODID + ":steel_pickaxe"); + steel_axe = new ItemToolAbility(5F, 0, MainRegistry.tMatSteel, EnumToolType.AXE) + .addAbility(IWeaponAbility.BEHEADER, 0).setUnlocalizedName("steel_axe").setTextureName(RefStrings.MODID + ":steel_axe"); + steel_shovel = new ItemToolAbility(3F, 0, MainRegistry.tMatSteel, EnumToolType.SHOVEL).setUnlocalizedName("steel_shovel").setTextureName(RefStrings.MODID + ":steel_shovel"); + steel_hoe = new ModHoe(MainRegistry.tMatSteel).setUnlocalizedName("steel_hoe").setTextureName(RefStrings.MODID + ":steel_hoe"); + + alloy_sword = new ItemSwordAbility(8F, 0, MainRegistry.tMatAlloy) + .addAbility(IWeaponAbility.STUN, 0).setUnlocalizedName("alloy_sword").setTextureName(RefStrings.MODID + ":alloy_sword"); + + alloy_pickaxe = new ItemToolAbility(5F, 0, MainRegistry.tMatAlloy, EnumToolType.PICKAXE) + .addAbility(IToolAreaAbility.RECURSION, 0).setUnlocalizedName("alloy_pickaxe").setTextureName(RefStrings.MODID + ":alloy_pickaxe"); + + alloy_axe = new ItemToolAbility(7F, 0, MainRegistry.tMatAlloy, EnumToolType.AXE) + .addAbility(IToolAreaAbility.RECURSION, 0) + .addAbility(IWeaponAbility.BEHEADER, 0).setUnlocalizedName("alloy_axe").setTextureName(RefStrings.MODID + ":alloy_axe"); + + alloy_shovel = new ItemToolAbility(4F, 0, MainRegistry.tMatAlloy, EnumToolType.SHOVEL) + .addAbility(IToolAreaAbility.RECURSION, 0).setUnlocalizedName("alloy_shovel").setTextureName(RefStrings.MODID + ":alloy_shovel"); + + alloy_hoe = new ModHoe(MainRegistry.tMatAlloy).setUnlocalizedName("alloy_hoe").setTextureName(RefStrings.MODID + ":alloy_hoe"); + + cmb_sword = new ItemSwordAbility(35F, 0, MainRegistry.tMatCMB) + .addAbility(IWeaponAbility.STUN, 0) + .addAbility(IWeaponAbility.VAMPIRE, 0).setUnlocalizedName("cmb_sword").setTextureName(RefStrings.MODID + ":cmb_sword"); + + cmb_pickaxe = new ItemToolAbility(10F, 0, MainRegistry.tMatCMB, EnumToolType.PICKAXE) + .addAbility(IToolAreaAbility.RECURSION, 2) + .addAbility(IToolHarvestAbility.SMELTER, 0) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 2).setUnlocalizedName("cmb_pickaxe").setTextureName(RefStrings.MODID + ":cmb_pickaxe"); + + cmb_axe = new ItemToolAbility(30F, 0, MainRegistry.tMatCMB, EnumToolType.AXE) + .addAbility(IToolAreaAbility.RECURSION, 2) + .addAbility(IToolHarvestAbility.SMELTER, 0) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 2) + .addAbility(IWeaponAbility.BEHEADER, 0).setUnlocalizedName("cmb_axe").setTextureName(RefStrings.MODID + ":cmb_axe"); + + cmb_shovel = new ItemToolAbility(8F, 0, MainRegistry.tMatCMB, EnumToolType.SHOVEL) + .addAbility(IToolAreaAbility.RECURSION, 2) + .addAbility(IToolHarvestAbility.SMELTER, 0) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 2).setUnlocalizedName("cmb_shovel").setTextureName(RefStrings.MODID + ":cmb_shovel"); + + cmb_hoe = new ModHoe(MainRegistry.tMatCMB).setUnlocalizedName("cmb_hoe").setTextureName(RefStrings.MODID + ":cmb_hoe"); + + elec_sword = new ItemSwordAbilityPower(12.5F, 0, MainRegistry.tMatElec, 500000, 1000, 100) + .addAbility(IWeaponAbility.STUN, 2).setUnlocalizedName("elec_sword").setTextureName(RefStrings.MODID + ":elec_sword_anim"); + + elec_pickaxe = new ItemToolAbilityPower(6F, 0, MainRegistry.tMatElec, EnumToolType.PICKAXE, 500000, 1000, 100) + .addAbility(IToolAreaAbility.HAMMER, 1) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 1) + .addAbility(IToolAreaAbility.RECURSION, 2) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 1).setUnlocalizedName("elec_pickaxe").setTextureName(RefStrings.MODID + ":elec_drill_anim"); + + elec_axe = new ItemToolAbilityPower(10F, 0, MainRegistry.tMatElec, EnumToolType.AXE, 500000, 1000, 100) + .addAbility(IToolAreaAbility.HAMMER, 1) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 1) + .addAbility(IToolAreaAbility.RECURSION, 2) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 1) + .addAbility(IWeaponAbility.CHAINSAW, 0) + .addAbility(IWeaponAbility.BEHEADER, 0).setShears().setUnlocalizedName("elec_axe").setTextureName(RefStrings.MODID + ":elec_chainsaw_anim"); + + elec_shovel = new ItemToolAbilityPower(5F, 0, MainRegistry.tMatElec, EnumToolType.SHOVEL, 500000, 1000, 100) + .addAbility(IToolAreaAbility.HAMMER, 1) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 1) + .addAbility(IToolAreaAbility.RECURSION, 2) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 1).setUnlocalizedName("elec_shovel").setTextureName(RefStrings.MODID + ":elec_shovel_anim"); + + desh_sword = new ItemSwordAbility(12.5F, 0, MainRegistry.tMatDesh) + .addAbility(IWeaponAbility.STUN, 0).setUnlocalizedName("desh_sword").setTextureName(RefStrings.MODID + ":desh_sword"); + + desh_pickaxe = new ItemToolAbility(5F, -0.05, MainRegistry.tMatDesh, EnumToolType.PICKAXE) + .addAbility(IToolAreaAbility.HAMMER, 0) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 0) + .addAbility(IToolAreaAbility.RECURSION, 0) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 1).setUnlocalizedName("desh_pickaxe").setTextureName(RefStrings.MODID + ":desh_pickaxe"); + + desh_axe = new ItemToolAbility(7.5F, -0.05, MainRegistry.tMatDesh, EnumToolType.AXE) + .addAbility(IToolAreaAbility.HAMMER, 0) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 0) + .addAbility(IToolAreaAbility.RECURSION, 0) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 1) + .addAbility(IWeaponAbility.BEHEADER, 0).setUnlocalizedName("desh_axe").setTextureName(RefStrings.MODID + ":desh_axe"); + + desh_shovel = new ItemToolAbility(4F, -0.05, MainRegistry.tMatDesh, EnumToolType.SHOVEL) + .addAbility(IToolAreaAbility.HAMMER, 0) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 0) + .addAbility(IToolAreaAbility.RECURSION, 0) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 1).setUnlocalizedName("desh_shovel").setTextureName(RefStrings.MODID + ":desh_shovel"); + + desh_hoe = new ModHoe(MainRegistry.tMatDesh).setUnlocalizedName("desh_hoe").setTextureName(RefStrings.MODID + ":desh_hoe"); + + cobalt_sword = new ItemSwordAbility(12F, 0, MainRegistry.tMatCobalt).setUnlocalizedName("cobalt_sword").setTextureName(RefStrings.MODID + ":cobalt_sword"); + cobalt_pickaxe = new ItemToolAbility(4F, 0, MainRegistry.tMatCobalt, EnumToolType.PICKAXE) + .addAbility(IToolAreaAbility.RECURSION, 1) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 0).setUnlocalizedName("cobalt_pickaxe").setTextureName(RefStrings.MODID + ":cobalt_pickaxe"); + cobalt_axe = new ItemToolAbility(6F, 0, MainRegistry.tMatCobalt, EnumToolType.AXE) + .addAbility(IToolAreaAbility.RECURSION, 1) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 0) + .addAbility(IWeaponAbility.BEHEADER, 0).setUnlocalizedName("cobalt_axe").setTextureName(RefStrings.MODID + ":cobalt_axe"); + cobalt_shovel = new ItemToolAbility(3.5F, 0, MainRegistry.tMatCobalt, EnumToolType.SHOVEL) + .addAbility(IToolAreaAbility.RECURSION, 1) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 0).setUnlocalizedName("cobalt_shovel").setTextureName(RefStrings.MODID + ":cobalt_shovel"); + cobalt_hoe = new ModHoe(MainRegistry.tMatCobalt).setUnlocalizedName("cobalt_hoe").setTextureName(RefStrings.MODID + ":cobalt_hoe"); + + ToolMaterial matDecCobalt = EnumHelper.addToolMaterial("HBM_COBALT2", 3, 2500, 15.0F, 2.5F, 75).setRepairItem(new ItemStack(ModItems.ingot_cobalt)); + cobalt_decorated_sword = new ItemSwordAbility(15F, 0, matDecCobalt) + .addAbility(IWeaponAbility.BOBBLE, 0).setUnlocalizedName("cobalt_decorated_sword").setTextureName(RefStrings.MODID + ":cobalt_decorated_sword"); + cobalt_decorated_pickaxe = new ItemToolAbility(6F, 0, matDecCobalt, EnumToolType.PICKAXE) + .addAbility(IToolAreaAbility.RECURSION, 1) + .addAbility(IToolAreaAbility.HAMMER, 0) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 0) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 2).setUnlocalizedName("cobalt_decorated_pickaxe").setTextureName(RefStrings.MODID + ":cobalt_decorated_pickaxe"); + cobalt_decorated_axe = new ItemToolAbility(8F, 0, matDecCobalt, EnumToolType.AXE) + .addAbility(IToolAreaAbility.RECURSION, 1) + .addAbility(IToolAreaAbility.HAMMER, 0) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 0) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 2) + .addAbility(IWeaponAbility.BEHEADER, 0).setUnlocalizedName("cobalt_decorated_axe").setTextureName(RefStrings.MODID + ":cobalt_decorated_axe"); + cobalt_decorated_shovel = new ItemToolAbility(5F, 0, matDecCobalt, EnumToolType.SHOVEL) + .addAbility(IToolAreaAbility.RECURSION, 1) + .addAbility(IToolAreaAbility.HAMMER, 0) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 0) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 2).setUnlocalizedName("cobalt_decorated_shovel").setTextureName(RefStrings.MODID + ":cobalt_decorated_shovel"); + cobalt_decorated_hoe = new ModHoe(matDecCobalt).setUnlocalizedName("cobalt_decorated_hoe").setTextureName(RefStrings.MODID + ":cobalt_decorated_hoe"); + + ToolMaterial matStarmetal = EnumHelper.addToolMaterial("HBM_STARMETAL", 3, 3000, 20.0F, 2.5F, 100).setRepairItem(new ItemStack(ModItems.ingot_starmetal)); + starmetal_sword = new ItemSwordAbility(25F, 0, matStarmetal) + .addAbility(IWeaponAbility.BEHEADER, 0) + .addAbility(IWeaponAbility.STUN, 1) + .addAbility(IWeaponAbility.BOBBLE, 0).setUnlocalizedName("starmetal_sword").setTextureName(RefStrings.MODID + ":starmetal_sword"); + starmetal_pickaxe = new ItemToolAbility(8F, 0, matStarmetal, EnumToolType.PICKAXE) + .addAbility(IToolAreaAbility.RECURSION, 3) + .addAbility(IToolAreaAbility.HAMMER, 1) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 1) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 4) + .addAbility(IWeaponAbility.STUN, 1).setUnlocalizedName("starmetal_pickaxe").setTextureName(RefStrings.MODID + ":starmetal_pickaxe"); + starmetal_axe = new ItemToolAbility(12F, 0, matStarmetal, EnumToolType.AXE) + .addAbility(IToolAreaAbility.RECURSION, 3) + .addAbility(IToolAreaAbility.HAMMER, 1) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 1) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 4) + .addAbility(IWeaponAbility.BEHEADER, 0) + .addAbility(IWeaponAbility.STUN, 1).setUnlocalizedName("starmetal_axe").setTextureName(RefStrings.MODID + ":starmetal_axe"); + starmetal_shovel = new ItemToolAbility(7F, 0, matStarmetal, EnumToolType.SHOVEL) + .addAbility(IToolAreaAbility.RECURSION, 3) + .addAbility(IToolAreaAbility.HAMMER, 1) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 1) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 4) + .addAbility(IWeaponAbility.STUN, 1).setUnlocalizedName("starmetal_shovel").setTextureName(RefStrings.MODID + ":starmetal_shovel"); + starmetal_hoe = new ModHoe(matStarmetal).setUnlocalizedName("starmetal_hoe").setTextureName(RefStrings.MODID + ":starmetal_hoe"); + + centri_stick = new ItemToolAbility(3F, 0, MainRegistry.tMatElec, EnumToolType.MINER) + .addAbility(IToolHarvestAbility.CENTRIFUGE, 0).setMaxDamage(50).setUnlocalizedName("centri_stick").setTextureName(RefStrings.MODID + ":centri_stick"); + smashing_hammer = new ItemToolAbility(12F, -0.1, MainRegistry.tMatSteel, EnumToolType.MINER) + .addAbility(IToolHarvestAbility.SHREDDER, 0).setMaxDamage(2500).setUnlocalizedName("smashing_hammer").setTextureName(RefStrings.MODID + ":smashing_hammer"); + drax = new ItemToolAbilityPower(10F, -0.05, MainRegistry.tMatElec, EnumToolType.MINER, 500000000, 100000, 5000) + .addAbility(IToolHarvestAbility.SMELTER, 0) + .addAbility(IToolHarvestAbility.SHREDDER, 0) + .addAbility(IToolHarvestAbility.LUCK, 1) + .addAbility(IToolAreaAbility.HAMMER, 1) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 1) + .addAbility(IToolAreaAbility.RECURSION, 2).setUnlocalizedName("drax").setTextureName(RefStrings.MODID + ":drax"); + drax_mk2 = new ItemToolAbilityPower(15F, -0.05, MainRegistry.tMatElec, EnumToolType.MINER, 1000000000, 250000, 7500) + .addAbility(IToolHarvestAbility.SMELTER, 0) + .addAbility(IToolHarvestAbility.SHREDDER, 0) + .addAbility(IToolHarvestAbility.CENTRIFUGE, 0) + .addAbility(IToolHarvestAbility.LUCK, 2) + .addAbility(IToolAreaAbility.HAMMER, 2) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 2) + .addAbility(IToolAreaAbility.RECURSION, 4).setUnlocalizedName("drax_mk2").setTextureName(RefStrings.MODID + ":drax_mk2"); + drax_mk3 = new ItemToolAbilityPower(20F, -0.05, MainRegistry.tMatElec, EnumToolType.MINER, 2500000000L, 500000, 10000) + .addAbility(IToolHarvestAbility.SMELTER, 0) + .addAbility(IToolHarvestAbility.SHREDDER, 0) + .addAbility(IToolHarvestAbility.CENTRIFUGE, 0) + .addAbility(IToolHarvestAbility.CRYSTALLIZER, 0) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 3) + .addAbility(IToolAreaAbility.HAMMER, 3) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 3) + .addAbility(IToolAreaAbility.RECURSION, 5).setUnlocalizedName("drax_mk3").setTextureName(RefStrings.MODID + ":drax_mk3"); + + ToolMaterial matBismuth = EnumHelper.addToolMaterial("HBM_BISMUTH", 4, 0, 50F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.ingot_bismuth)); + bismuth_pickaxe = new ItemToolAbility(15F, 0, matBismuth, EnumToolType.MINER) + .addAbility(IToolAreaAbility.HAMMER, 1) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 1) + .addAbility(IToolAreaAbility.RECURSION, 1) + .addAbility(IToolHarvestAbility.SHREDDER, 0) + .addAbility(IToolHarvestAbility.LUCK, 1) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IWeaponAbility.STUN, 2) + .addAbility(IWeaponAbility.VAMPIRE, 0) + .addAbility(IWeaponAbility.BEHEADER, 0) + .setDepthRockBreaker().setUnlocalizedName("bismuth_pickaxe").setTextureName(RefStrings.MODID + ":bismuth_pickaxe"); + bismuth_axe = new ItemToolAbility(25F, 0, matBismuth, EnumToolType.AXE) + .addAbility(IToolAreaAbility.HAMMER, 1) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 1) + .addAbility(IToolAreaAbility.RECURSION, 1) + .addAbility(IToolHarvestAbility.SHREDDER, 0) + .addAbility(IToolHarvestAbility.LUCK, 1) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IWeaponAbility.STUN, 3) + .addAbility(IWeaponAbility.VAMPIRE, 1) + .addAbility(IWeaponAbility.BEHEADER, 0).setUnlocalizedName("bismuth_axe").setTextureName(RefStrings.MODID + ":bismuth_axe"); + + + ToolMaterial matVolcano = EnumHelper.addToolMaterial("HBM_VOLCANIC", 4, 0, 50F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.ingot_bismuth)); + volcanic_pickaxe = new ItemToolAbility(15F, 0, matVolcano, EnumToolType.MINER) + .addAbility(IToolAreaAbility.HAMMER, 1) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 1) + .addAbility(IToolAreaAbility.RECURSION, 1) + .addAbility(IToolHarvestAbility.SMELTER, 0) + .addAbility(IToolHarvestAbility.LUCK, 2) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IWeaponAbility.FIRE, 0) + .addAbility(IWeaponAbility.VAMPIRE, 0) + .addAbility(IWeaponAbility.BEHEADER, 0) + .setDepthRockBreaker().setUnlocalizedName("volcanic_pickaxe").setTextureName(RefStrings.MODID + ":volcanic_pickaxe"); + volcanic_axe = new ItemToolAbility(25F, 0, matVolcano, EnumToolType.AXE) + .addAbility(IToolAreaAbility.HAMMER, 1) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 1) + .addAbility(IToolAreaAbility.RECURSION, 1) + .addAbility(IToolHarvestAbility.SMELTER, 0) + .addAbility(IToolHarvestAbility.LUCK, 2) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IWeaponAbility.FIRE, 1) + .addAbility(IWeaponAbility.VAMPIRE, 1) + .addAbility(IWeaponAbility.BEHEADER, 0).setUnlocalizedName("volcanic_axe").setTextureName(RefStrings.MODID + ":volcanic_axe"); + + ToolMaterial matChlorophyte = EnumHelper.addToolMaterial("HBM_CHLOROPHYTE", 4, 0, 75F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.powder_chlorophyte)); + chlorophyte_pickaxe = new ItemToolAbility(20F, 0, matChlorophyte, EnumToolType.MINER) + .addAbility(IToolAreaAbility.HAMMER, 1) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 1) + .addAbility(IToolAreaAbility.RECURSION, 1) + .addAbility(IToolHarvestAbility.LUCK, 3) + .addAbility(IToolHarvestAbility.CENTRIFUGE, 0) + .addAbility(IToolHarvestAbility.MERCURY, 0) + .addAbility(IWeaponAbility.STUN, 3) + .addAbility(IWeaponAbility.VAMPIRE, 2) + .addAbility(IWeaponAbility.BEHEADER, 0) + .setDepthRockBreaker().setUnlocalizedName("chlorophyte_pickaxe").setTextureName(RefStrings.MODID + ":chlorophyte_pickaxe"); + chlorophyte_axe = new ItemToolAbility(50F, 0, matChlorophyte, EnumToolType.AXE) + .addAbility(IToolAreaAbility.HAMMER, 1) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 1) + .addAbility(IToolAreaAbility.RECURSION, 1) + .addAbility(IToolHarvestAbility.LUCK, 3) + .addAbility(IWeaponAbility.STUN, 4) + .addAbility(IWeaponAbility.VAMPIRE, 3) + .addAbility(IWeaponAbility.BEHEADER, 0).setUnlocalizedName("chlorophyte_axe").setTextureName(RefStrings.MODID + ":chlorophyte_axe"); + + ToolMaterial matMese = EnumHelper.addToolMaterial("HBM_MESE", 4, 0, 100F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.plate_paa)); + mese_pickaxe = new ItemToolAbility(35F, 0, matMese, EnumToolType.MINER) + .addAbility(IToolAreaAbility.HAMMER, 2) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 2) + .addAbility(IToolAreaAbility.RECURSION, 2) + .addAbility(IToolHarvestAbility.CRYSTALLIZER, 0) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 5) + .addAbility(IToolAreaAbility.EXPLOSION, 3) + .addAbility(IWeaponAbility.STUN, 3) + .addAbility(IWeaponAbility.PHOSPHORUS, 0) + .addAbility(IWeaponAbility.BEHEADER, 0) + .setDepthRockBreaker().setUnlocalizedName("mese_pickaxe").setTextureName(RefStrings.MODID + ":mese_pickaxe"); + mese_axe = new ItemToolAbility(75F, 0, matMese, EnumToolType.AXE) + .addAbility(IToolAreaAbility.HAMMER, 2) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 2) + .addAbility(IToolAreaAbility.RECURSION, 2) + .addAbility(IToolHarvestAbility.SILK, 0) + .addAbility(IToolHarvestAbility.LUCK, 5) + .addAbility(IToolAreaAbility.EXPLOSION, 3) + .addAbility(IWeaponAbility.STUN, 4) + .addAbility(IWeaponAbility.PHOSPHORUS, 1) + .addAbility(IWeaponAbility.BEHEADER, 0).setUnlocalizedName("mese_axe").setTextureName(RefStrings.MODID + ":mese_axe"); + + dnt_sword = new ItemSwordAbility(12F, 0, matMese).setUnlocalizedName("dnt_sword").setTextureName(RefStrings.MODID + ":dnt_sword"); + + ToolMaterial matDwarf = EnumHelper.addToolMaterial("HBM_DWARVEN", 2, 0, 4F, 0.0F, 10).setRepairItem(new ItemStack(ModItems.ingot_copper)); + dwarven_pickaxe = new ItemToolAbility(5F, -0.1, matDwarf, EnumToolType.MINER) + .addAbility(IToolAreaAbility.HAMMER, 0) + .addAbility(IToolAreaAbility.HAMMER_FLAT, 0).setUnlocalizedName("dwarven_pickaxe").setMaxDamage(250).setTextureName(RefStrings.MODID + ":dwarven_pickaxe"); + + ToolMaterial matMeteorite = EnumHelper.addToolMaterial("HBM_METEORITE", 4, 0, 50F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.plate_paa)); + meteorite_sword = new ItemSwordMeteorite(9F, 0, matMeteorite).setUnlocalizedName("meteorite_sword").setTextureName(RefStrings.MODID + ":meteorite_sword"); + meteorite_sword_seared = new ItemSwordMeteorite(10F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_seared").setTextureName(RefStrings.MODID + ":meteorite_sword"); + meteorite_sword_reforged = new ItemSwordMeteorite(12.5F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_reforged").setTextureName(RefStrings.MODID + ":meteorite_sword"); + meteorite_sword_hardened = new ItemSwordMeteorite(15F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_hardened").setTextureName(RefStrings.MODID + ":meteorite_sword"); + meteorite_sword_alloyed = new ItemSwordMeteorite(17.5F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_alloyed").setTextureName(RefStrings.MODID + ":meteorite_sword"); + meteorite_sword_machined = new ItemSwordMeteorite(20F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_machined").setTextureName(RefStrings.MODID + ":meteorite_sword"); + meteorite_sword_treated = new ItemSwordMeteorite(22.5F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_treated").setTextureName(RefStrings.MODID + ":meteorite_sword"); + meteorite_sword_etched = new ItemSwordMeteorite(25F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_etched").setTextureName(RefStrings.MODID + ":meteorite_sword"); + meteorite_sword_bred = new ItemSwordMeteorite(30F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_bred").setTextureName(RefStrings.MODID + ":meteorite_sword"); + meteorite_sword_irradiated = new ItemSwordMeteorite(35F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_irradiated").setTextureName(RefStrings.MODID + ":meteorite_sword"); + meteorite_sword_fused = new ItemSwordMeteorite(50F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_fused").setTextureName(RefStrings.MODID + ":meteorite_sword"); + meteorite_sword_baleful = new ItemSwordMeteorite(75F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_baleful").setTextureName(RefStrings.MODID + ":meteorite_sword"); + + mask_of_infamy = new MaskOfInfamy(ArmorMaterial.IRON, 0).setUnlocalizedName("mask_of_infamy").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mask_of_infamy"); + + hazmat_helmet = new ArmorHazmatMask(MainRegistry.aMatHaz, 0, RefStrings.MODID + ":textures/armor/hazmat_1.png").setUnlocalizedName("hazmat_helmet").setTextureName(RefStrings.MODID + ":hazmat_helmet"); + hazmat_plate = new ArmorHazmat(MainRegistry.aMatHaz, 1, RefStrings.MODID + ":textures/armor/hazmat_1.png").setUnlocalizedName("hazmat_plate").setTextureName(RefStrings.MODID + ":hazmat_plate"); + hazmat_legs = new ArmorHazmat(MainRegistry.aMatHaz, 2, RefStrings.MODID + ":textures/armor/hazmat_2.png").setUnlocalizedName("hazmat_legs").setTextureName(RefStrings.MODID + ":hazmat_legs"); + hazmat_boots = new ArmorHazmat(MainRegistry.aMatHaz, 3, RefStrings.MODID + ":textures/armor/hazmat_1.png").setUnlocalizedName("hazmat_boots").setTextureName(RefStrings.MODID + ":hazmat_boots"); + hazmat_helmet_red = new ArmorHazmatMask(MainRegistry.aMatHaz2, 0, "hbm:textures/models/ModelHazRed.png").setUnlocalizedName("hazmat_helmet_red").setTextureName(RefStrings.MODID + ":hazmat_helmet_red"); + hazmat_plate_red = new ArmorHazmat(MainRegistry.aMatHaz2, 1, RefStrings.MODID + ":textures/armor/hazmat_1_red.png").setUnlocalizedName("hazmat_plate_red").setTextureName(RefStrings.MODID + ":hazmat_plate_red"); + hazmat_legs_red = new ArmorHazmat(MainRegistry.aMatHaz2, 2, RefStrings.MODID + ":textures/armor/hazmat_2_red.png").setUnlocalizedName("hazmat_legs_red").setTextureName(RefStrings.MODID + ":hazmat_legs_red"); + hazmat_boots_red = new ArmorHazmat(MainRegistry.aMatHaz2, 3, RefStrings.MODID + ":textures/armor/hazmat_1_red.png").setUnlocalizedName("hazmat_boots_red").setTextureName(RefStrings.MODID + ":hazmat_boots_red"); + hazmat_helmet_grey = new ArmorHazmatMask(MainRegistry.aMatHaz3, 0, "hbm:textures/models/ModelHazGrey.png") + .setUnlocalizedName("hazmat_helmet_grey").setTextureName(RefStrings.MODID + ":hazmat_helmet_grey"); + hazmat_plate_grey = new ArmorHazmat(MainRegistry.aMatHaz3, 1, RefStrings.MODID + ":textures/armor/hazmat_1_grey.png").cloneStats((ArmorFSB) hazmat_helmet_grey).setUnlocalizedName("hazmat_plate_grey").setTextureName(RefStrings.MODID + ":hazmat_plate_grey"); + hazmat_legs_grey = new ArmorHazmat(MainRegistry.aMatHaz3, 2, RefStrings.MODID + ":textures/armor/hazmat_2_grey.png").cloneStats((ArmorFSB) hazmat_helmet_grey).setUnlocalizedName("hazmat_legs_grey").setTextureName(RefStrings.MODID + ":hazmat_legs_grey"); + hazmat_boots_grey = new ArmorHazmat(MainRegistry.aMatHaz3, 3, RefStrings.MODID + ":textures/armor/hazmat_1_grey.png").cloneStats((ArmorFSB) hazmat_helmet_grey).setUnlocalizedName("hazmat_boots_grey").setTextureName(RefStrings.MODID + ":hazmat_boots_grey"); + hazmat_paa_helmet = new ArmorHazmatMask(MainRegistry.aMatPaa, 0, RefStrings.MODID + ":textures/armor/hazmat_paa_1.png") + .setUnlocalizedName("hazmat_paa_helmet").setTextureName(RefStrings.MODID + ":hazmat_paa_helmet"); + hazmat_paa_plate = new ArmorHazmat(MainRegistry.aMatPaa, 1, RefStrings.MODID + ":textures/armor/hazmat_paa_1.png").cloneStats((ArmorFSB) hazmat_paa_helmet).setUnlocalizedName("hazmat_paa_plate").setTextureName(RefStrings.MODID + ":hazmat_paa_plate"); + hazmat_paa_legs = new ArmorHazmat(MainRegistry.aMatPaa, 2, RefStrings.MODID + ":textures/armor/hazmat_paa_2.png").cloneStats((ArmorFSB) hazmat_paa_helmet).setUnlocalizedName("hazmat_paa_legs").setTextureName(RefStrings.MODID + ":hazmat_paa_legs"); + hazmat_paa_boots = new ArmorHazmat(MainRegistry.aMatPaa, 3, RefStrings.MODID + ":textures/armor/hazmat_paa_1.png").cloneStats((ArmorFSB) hazmat_paa_helmet).setUnlocalizedName("hazmat_paa_boots").setTextureName(RefStrings.MODID + ":hazmat_paa_boots"); + + ArmorMaterial aMatLiquidator = EnumHelper.addArmorMaterial("HBM_LIQUIDATOR", 750, new int[] { 3, 8, 6, 3 }, 10); + aMatLiquidator.customCraftingMaterial = ModItems.plate_lead; + liquidator_helmet = new ArmorLiquidatorMask(aMatLiquidator, 0, RefStrings.MODID + ":textures/armor/liquidator_helmet.png") + .setStep("hbm:step.metal") + .setJump("hbm:step.iron_jump") + .setFall("hbm:step.iron_land").setUnlocalizedName("liquidator_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":liquidator_helmet"); + liquidator_plate = new ArmorLiquidator(aMatLiquidator, 1, RefStrings.MODID + ":textures/armor/liquidator_1.png").cloneStats((ArmorFSB) liquidator_helmet).setUnlocalizedName("liquidator_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":liquidator_plate"); + liquidator_legs = new ArmorLiquidator(aMatLiquidator, 2, RefStrings.MODID + ":textures/armor/liquidator_2.png").cloneStats((ArmorFSB) liquidator_helmet).setUnlocalizedName("liquidator_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":liquidator_legs"); + liquidator_boots = new ArmorLiquidator(aMatLiquidator, 3, RefStrings.MODID + ":textures/armor/liquidator_1.png").cloneStats((ArmorFSB) liquidator_helmet).setUnlocalizedName("liquidator_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":liquidator_boots"); + + jetpack_boost = new JetpackBooster(Fluids.BALEFIRE, 32000).setUnlocalizedName("jetpack_boost").setCreativeTab(CreativeTabs.tabCombat).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_boost"); + jetpack_break = new JetpackBreak(Fluids.KEROSENE, 12000).setUnlocalizedName("jetpack_break").setCreativeTab(CreativeTabs.tabCombat).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_break"); + jetpack_fly = new JetpackRegular(Fluids.KEROSENE, 12000).setUnlocalizedName("jetpack_fly").setCreativeTab(CreativeTabs.tabCombat).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_fly"); + jetpack_vector = new JetpackVectorized(Fluids.KEROSENE, 16000).setUnlocalizedName("jetpack_vector").setCreativeTab(CreativeTabs.tabCombat).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_vector"); + wings_murk = new WingsMurk().setUnlocalizedName("wings_murk").setCreativeTab(CreativeTabs.tabCombat).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":wings_murk"); + wings_limp = new WingsMurk().setUnlocalizedName("wings_limp").setCreativeTab(CreativeTabs.tabCombat).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":wings_limp"); + + cape_radiation = new ArmorModel(ArmorMaterial.CHAIN, 1).setUnlocalizedName("cape_radiation").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_radiation"); + cape_gasmask = new ArmorModel(ArmorMaterial.CHAIN, 1).setUnlocalizedName("cape_gasmask").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_gasmask"); + cape_schrabidium = new ArmorModel(MainRegistry.aMatSchrab, 1).setUnlocalizedName("cape_schrabidium").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_schrabidium"); + cape_hidden = new ArmorModel(ArmorMaterial.CHAIN, 1).setUnlocalizedName("cape_hidden").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_unknown"); + + schrabidium_hammer = new WeaponSpecial(MainRegistry.tMatHammmer).setUnlocalizedName("schrabidium_hammer").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":schrabidium_hammer"); + shimmer_sledge = new WeaponSpecial(MainRegistry.enumToolMaterialSledge).setUnlocalizedName("shimmer_sledge").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":shimmer_sledge_original"); + shimmer_axe = new WeaponSpecial(MainRegistry.enumToolMaterialSledge).setUnlocalizedName("shimmer_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":shimmer_axe"); + bottle_opener = new WeaponSpecial(MainRegistry.enumToolMaterialBottleOpener).setUnlocalizedName("bottle_opener").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":bottle_opener"); + pch = new WeaponSpecial(MainRegistry.tMatHammmer).setUnlocalizedName("pch").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":schrabidium_hammer"); + matchstick = new ItemMatch().setUnlocalizedName("matchstick").setCreativeTab(CreativeTabs.tabTools).setFull3D().setTextureName(RefStrings.MODID + ":matchstick"); + balefire_and_steel = new ItemBalefireMatch().setUnlocalizedName("balefire_and_steel").setCreativeTab(CreativeTabs.tabTools).setFull3D().setTextureName(RefStrings.MODID + ":balefire_and_steel"); + crowbar = new ModSword(MainRegistry.tMatSteel).setUnlocalizedName("crowbar").setFull3D().setTextureName(RefStrings.MODID + ":crowbar"); + wrench = new WeaponSpecial(MainRegistry.tMatSteel).setUnlocalizedName("wrench").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":wrench"); + wrench_flipped = new WeaponSpecial(MainRegistry.tMatElec).setUnlocalizedName("wrench_flipped").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":wrench_flipped"); + memespoon = new WeaponSpecial(MainRegistry.tMatSteel).setUnlocalizedName("memespoon").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":memespoon"); + wood_gavel = new WeaponSpecial(ToolMaterial.WOOD).setUnlocalizedName("wood_gavel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":wood_gavel"); + lead_gavel = new WeaponSpecial(MainRegistry.tMatSteel).setUnlocalizedName("lead_gavel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":lead_gavel"); + diamond_gavel = new WeaponSpecial(ToolMaterial.EMERALD).setUnlocalizedName("diamond_gavel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":diamond_gavel"); + ToolMaterial matMeseGavel = EnumHelper.addToolMaterial("HBM_MESEGAVEL", 4, 0, 50F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.plate_paa)); + mese_gavel = new ItemSwordAbility(250, 1.5, matMeseGavel) + .addAbility(IWeaponAbility.PHOSPHORUS, 0) + .addAbility(IWeaponAbility.RADIATION, 2) + .addAbility(IWeaponAbility.STUN, 3) + .addAbility(IWeaponAbility.VAMPIRE, 4) + .addAbility(IWeaponAbility.BEHEADER, 0).setUnlocalizedName("mese_gavel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mese_gavel"); + + multitool_hit = new ItemMultitoolPassive().setUnlocalizedName("multitool_hit").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_fist"); + multitool_dig = new ItemMultitoolTool(4.0F, MainRegistry.enumToolMaterialMultitool, ItemMultitoolTool.getAllBlocks()).setFull3D().setUnlocalizedName("multitool_dig").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":multitool_claw"); + multitool_silk = new ItemMultitoolTool(4.0F, MainRegistry.enumToolMaterialMultitool, ItemMultitoolTool.getAllBlocks()).setFull3D().setUnlocalizedName("multitool_silk").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_claw"); + multitool_ext = new ItemMultitoolPassive().setUnlocalizedName("multitool_ext").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_open"); + multitool_miner = new ItemMultitoolPassive().setUnlocalizedName("multitool_miner").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_pointer"); + multitool_beam = new ItemMultitoolPassive().setUnlocalizedName("multitool_beam").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_pointer"); + multitool_sky= new ItemMultitoolPassive().setUnlocalizedName("multitool_sky").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_open"); + multitool_mega = new ItemMultitoolPassive().setUnlocalizedName("multitool_mega").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_fist"); + multitool_joule = new ItemMultitoolPassive().setUnlocalizedName("multitool_joule").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_fist"); + multitool_decon = new ItemMultitoolPassive().setUnlocalizedName("multitool_decon").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_fist"); + + saw = new ModSword(MainRegistry.enumToolMaterialSaw).setUnlocalizedName("weapon_saw").setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":saw"); + bat = new ModSword(MainRegistry.enumToolMaterialBat).setUnlocalizedName("weapon_bat").setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":bat"); + bat_nail = new ModSword(MainRegistry.enumToolMaterialBatNail).setUnlocalizedName("weapon_bat_nail").setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":bat_nail"); + golf_club = new ModSword(MainRegistry.enumToolMaterialGolfClub).setUnlocalizedName("weapon_golf_club").setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":golf_club"); + pipe_rusty = new ModSword(MainRegistry.enumToolMaterialPipeRusty).setUnlocalizedName("weapon_pipe_rusty").setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":pipe_rusty"); + pipe_lead = new ModSword(MainRegistry.enumToolMaterialPipeLead).setUnlocalizedName("weapon_pipe_lead").setFull3D().setTextureName(RefStrings.MODID + ":pipe_lead"); + reer_graar = new ModSword(MainRegistry.tMatTitan).setUnlocalizedName("reer_graar").setFull3D().setTextureName(RefStrings.MODID + ":reer_graar_hd"); + stopsign = new WeaponSpecial(MainRegistry.tMatAlloy).setUnlocalizedName("stopsign").setTextureName(RefStrings.MODID + ":stopsign"); + sopsign = new WeaponSpecial(MainRegistry.tMatAlloy).setUnlocalizedName("sopsign").setTextureName(RefStrings.MODID + ":sopsign"); + chernobylsign = new WeaponSpecial(MainRegistry.tMatAlloy).setUnlocalizedName("chernobylsign").setTextureName(RefStrings.MODID + ":chernobylsign"); + + crystal_horn = new ItemCustomLore().setUnlocalizedName("crystal_horn").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_horn"); + crystal_charred = new ItemCustomLore().setUnlocalizedName("crystal_charred").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_charred"); + + bucket_mud = new ItemModBucket(ModBlocks.mud_block).setUnlocalizedName("bucket_mud").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_mud"); + bucket_acid = new ItemModBucket(ModBlocks.acid_block).setUnlocalizedName("bucket_acid").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_acid"); + bucket_toxic = new ItemModBucket(ModBlocks.toxic_block).setUnlocalizedName("bucket_toxic").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_toxic"); + bucket_schrabidic_acid = new ItemModBucket(ModBlocks.schrabidic_block).setUnlocalizedName("bucket_schrabidic_acid").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_schrabidic_acid"); + bucket_sulfuric_acid = new ItemModBucket(ModBlocks.sulfuric_acid_block).setUnlocalizedName("bucket_sulfuric_acid").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_sulfuric_acid"); + + door_metal = new ItemModDoor().setUnlocalizedName("door_metal").setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":door_metal"); + door_office = new ItemModDoor().setUnlocalizedName("door_office").setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":door_office"); + door_bunker = new ItemModDoor().setUnlocalizedName("door_bunker").setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":door_bunker"); + door_red = new ItemModDoor().setUnlocalizedName("door_red").setCreativeTab(null).setTextureName(RefStrings.MODID + ":door_red"); + + sliding_blast_door_skin = new ItemSlidingBlastDoorSkin().setUnlocalizedName("sliding_blast_door_skin").setCreativeTab(CreativeTabs.tabMisc).setTextureName(RefStrings.MODID + ":sliding_blast_door_default"); + + record_lc = new ItemModRecord("lc").setUnlocalizedName("record_lc").setCreativeTab(CreativeTabs.tabMisc).setTextureName(RefStrings.MODID + ":record_lc"); + record_ss = new ItemModRecord("ss").setUnlocalizedName("record_ss").setCreativeTab(CreativeTabs.tabMisc).setTextureName(RefStrings.MODID + ":record_ss"); + record_vc = new ItemModRecord("vc").setUnlocalizedName("record_vc").setCreativeTab(CreativeTabs.tabMisc).setTextureName(RefStrings.MODID + ":record_vc"); + record_glass = new ItemModRecord("glass").setUnlocalizedName("record_glass").setCreativeTab(null).setTextureName(RefStrings.MODID + ":record_glass"); + + book_guide = new ItemGuideBook().setUnlocalizedName("book_guide").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":book_guide"); + book_lore = new ItemBookLore().setUnlocalizedName("book_lore").setCreativeTab(null).setTextureName(RefStrings.MODID + ":book_pages"); + holotape_image = new ItemHolotapeImage().setUnlocalizedName("holotape_image").setCreativeTab(null).setTextureName(RefStrings.MODID + ":holotape"); + holotape_damaged = new Item().setUnlocalizedName("holotape_damaged").setCreativeTab(null).setTextureName(RefStrings.MODID + ":holotape_damaged"); + clay_tablet = new ItemClayTablet().setUnlocalizedName("clay_tablet").setCreativeTab(null).setTextureName(RefStrings.MODID + ":clay_tablet"); + + polaroid = new ItemPolaroid().setUnlocalizedName("polaroid").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":polaroid_" + MainRegistry.polaroidID); + glitch = new ItemGlitch().setUnlocalizedName("glitch").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":glitch_" + MainRegistry.polaroidID); + book_secret = new ItemCustomLore().setUnlocalizedName("book_secret").setCreativeTab(MainRegistry.polaroidID == 11 ? MainRegistry.consumableTab : null).setTextureName(RefStrings.MODID + ":book_secret"); + book_of_ = new ItemBook().setUnlocalizedName("book_of_").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":book_of_"); + page_of_ = new ItemEnumMulti(ItemEnums.EnumPages.class, true, false).setUnlocalizedName("page_of_").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":page_of_"); + book_lemegeton = new ItemBookLemegeton().setUnlocalizedName("book_lemegeton").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":book_lemegeton"); + burnt_bark = new ItemCustomLore().setUnlocalizedName("burnt_bark").setCreativeTab(null).setTextureName(RefStrings.MODID + ":burnt_bark"); + + chlorine1 = new Item().setUnlocalizedName("chlorine1").setTextureName(RefStrings.MODID + ":chlorine1"); + chlorine2 = new Item().setUnlocalizedName("chlorine2").setTextureName(RefStrings.MODID + ":chlorine2"); + chlorine3 = new Item().setUnlocalizedName("chlorine3").setTextureName(RefStrings.MODID + ":chlorine3"); + chlorine4 = new Item().setUnlocalizedName("chlorine4").setTextureName(RefStrings.MODID + ":chlorine4"); + chlorine5 = new Item().setUnlocalizedName("chlorine5").setTextureName(RefStrings.MODID + ":chlorine5"); + chlorine6 = new Item().setUnlocalizedName("chlorine6").setTextureName(RefStrings.MODID + ":chlorine6"); + chlorine7 = new Item().setUnlocalizedName("chlorine7").setTextureName(RefStrings.MODID + ":chlorine7"); + chlorine8 = new Item().setUnlocalizedName("chlorine8").setTextureName(RefStrings.MODID + ":chlorine8"); + pc1 = new Item().setUnlocalizedName("pc1").setTextureName(RefStrings.MODID + ":pc1"); + pc2 = new Item().setUnlocalizedName("pc2").setTextureName(RefStrings.MODID + ":pc2"); + pc3 = new Item().setUnlocalizedName("pc3").setTextureName(RefStrings.MODID + ":pc3"); + pc4 = new Item().setUnlocalizedName("pc4").setTextureName(RefStrings.MODID + ":pc4"); + pc5 = new Item().setUnlocalizedName("pc5").setTextureName(RefStrings.MODID + ":pc5"); + pc6 = new Item().setUnlocalizedName("pc6").setTextureName(RefStrings.MODID + ":pc6"); + pc7 = new Item().setUnlocalizedName("pc7").setTextureName(RefStrings.MODID + ":pc7"); + pc8 = new Item().setUnlocalizedName("pc8").setTextureName(RefStrings.MODID + ":pc8"); + cloud1 = new Item().setUnlocalizedName("cloud1").setTextureName(RefStrings.MODID + ":cloud1"); + cloud2 = new Item().setUnlocalizedName("cloud2").setTextureName(RefStrings.MODID + ":cloud2"); + cloud3 = new Item().setUnlocalizedName("cloud3").setTextureName(RefStrings.MODID + ":cloud3"); + cloud4 = new Item().setUnlocalizedName("cloud4").setTextureName(RefStrings.MODID + ":cloud4"); + cloud5 = new Item().setUnlocalizedName("cloud5").setTextureName(RefStrings.MODID + ":cloud5"); + cloud6 = new Item().setUnlocalizedName("cloud6").setTextureName(RefStrings.MODID + ":cloud6"); + cloud7 = new Item().setUnlocalizedName("cloud7").setTextureName(RefStrings.MODID + ":cloud7"); + cloud8 = new Item().setUnlocalizedName("cloud8").setTextureName(RefStrings.MODID + ":cloud8"); + orange1 = new Item().setUnlocalizedName("orange1").setTextureName(RefStrings.MODID + ":orange1"); + orange2 = new Item().setUnlocalizedName("orange2").setTextureName(RefStrings.MODID + ":orange2"); + orange3 = new Item().setUnlocalizedName("orange3").setTextureName(RefStrings.MODID + ":orange3"); + orange4 = new Item().setUnlocalizedName("orange4").setTextureName(RefStrings.MODID + ":orange4"); + orange5 = new Item().setUnlocalizedName("orange5").setTextureName(RefStrings.MODID + ":orange5"); + orange6 = new Item().setUnlocalizedName("orange6").setTextureName(RefStrings.MODID + ":orange6"); + orange7 = new Item().setUnlocalizedName("orange7").setTextureName(RefStrings.MODID + ":orange7"); + orange8 = new Item().setUnlocalizedName("orange8").setTextureName(RefStrings.MODID + ":orange8"); + nothing = new Item().setUnlocalizedName("nothing").setTextureName(RefStrings.MODID + ":nothing"); + + + achievement_icon = new ItemEnumMulti(ItemEnums.EnumAchievementType.class, true, true).setUnlocalizedName("achievement_icon"); + bob_metalworks = new Item().setUnlocalizedName("bob_metalworks").setTextureName(RefStrings.MODID + ":bob_metalworks"); + bob_assembly = new Item().setUnlocalizedName("bob_assembly").setTextureName(RefStrings.MODID + ":bob_assembly"); + bob_chemistry = new Item().setUnlocalizedName("bob_chemistry").setTextureName(RefStrings.MODID + ":bob_chemistry"); + bob_oil = new Item().setUnlocalizedName("bob_oil").setTextureName(RefStrings.MODID + ":bob_oil"); + bob_nuclear = new Item().setUnlocalizedName("bob_nuclear").setTextureName(RefStrings.MODID + ":bob_nuclear"); + + mysteryshovel = new ItemMS().setUnlocalizedName("mysteryshovel").setFull3D().setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cursed_shovel"); + memory = new ItemBattery(Long.MAX_VALUE / 100L, 100000000000000L, 100000000000000L).setUnlocalizedName("memory").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mo8_anim"); + + conveyor_wand = new ItemConveyorWand().setUnlocalizedName("conveyor_wand").setCreativeTab(MainRegistry.machineTab).setFull3D().setTextureName(RefStrings.MODID + ":wand_s"); + + GunFactory.init(); + + FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.mud_fluid, 1000), new ItemStack(ModItems.bucket_mud), new ItemStack(Items.bucket)); + FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.acid_fluid, 1000), new ItemStack(ModItems.bucket_acid), new ItemStack(Items.bucket)); + FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.toxic_fluid, 1000), new ItemStack(ModItems.bucket_toxic), new ItemStack(Items.bucket)); + FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.schrabidic_fluid, 1000), new ItemStack(ModItems.bucket_schrabidic_acid), new ItemStack(Items.bucket)); + FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.sulfuric_acid_fluid, 1000), new ItemStack(ModItems.bucket_sulfuric_acid), new ItemStack(Items.bucket)); + BucketHandler.INSTANCE.buckets.put(ModBlocks.mud_block, ModItems.bucket_mud); + BucketHandler.INSTANCE.buckets.put(ModBlocks.acid_block, ModItems.bucket_acid); + BucketHandler.INSTANCE.buckets.put(ModBlocks.toxic_block, ModItems.bucket_toxic); + BucketHandler.INSTANCE.buckets.put(ModBlocks.schrabidic_block, ModItems.bucket_schrabidic_acid); + BucketHandler.INSTANCE.buckets.put(ModBlocks.sulfuric_acid_block, ModItems.bucket_sulfuric_acid); + MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE); + } + + private static void registerItem() { + //Weapons + GameRegistry.registerItem(redstone_sword, redstone_sword.getUnlocalizedName()); + GameRegistry.registerItem(big_sword, big_sword.getUnlocalizedName()); + + //Ingots + GameRegistry.registerItem(ingot_uranium, ingot_uranium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_u233, ingot_u233.getUnlocalizedName()); + GameRegistry.registerItem(ingot_u235, ingot_u235.getUnlocalizedName()); + GameRegistry.registerItem(ingot_u238, ingot_u238.getUnlocalizedName()); + GameRegistry.registerItem(ingot_u238m2, ingot_u238m2.getUnlocalizedName()); + GameRegistry.registerItem(ingot_th232, ingot_th232.getUnlocalizedName()); + GameRegistry.registerItem(ingot_plutonium, ingot_plutonium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_pu238, ingot_pu238.getUnlocalizedName()); + GameRegistry.registerItem(ingot_pu239, ingot_pu239.getUnlocalizedName()); + GameRegistry.registerItem(ingot_pu240, ingot_pu240.getUnlocalizedName()); + GameRegistry.registerItem(ingot_pu241, ingot_pu241.getUnlocalizedName()); + GameRegistry.registerItem(ingot_pu_mix, ingot_pu_mix.getUnlocalizedName()); + GameRegistry.registerItem(ingot_am241, ingot_am241.getUnlocalizedName()); + GameRegistry.registerItem(ingot_am242, ingot_am242.getUnlocalizedName()); + GameRegistry.registerItem(ingot_am_mix, ingot_am_mix.getUnlocalizedName()); + GameRegistry.registerItem(ingot_neptunium, ingot_neptunium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_polonium, ingot_polonium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_technetium, ingot_technetium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_co60, ingot_co60.getUnlocalizedName()); + GameRegistry.registerItem(ingot_sr90, ingot_sr90.getUnlocalizedName()); + GameRegistry.registerItem(ingot_au198, ingot_au198.getUnlocalizedName()); + GameRegistry.registerItem(ingot_pb209, ingot_pb209.getUnlocalizedName()); + GameRegistry.registerItem(ingot_ra226, ingot_ra226.getUnlocalizedName()); + GameRegistry.registerItem(ingot_titanium, ingot_titanium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_copper, ingot_copper.getUnlocalizedName()); + GameRegistry.registerItem(ingot_red_copper, ingot_red_copper.getUnlocalizedName()); + GameRegistry.registerItem(ingot_advanced_alloy, ingot_advanced_alloy.getUnlocalizedName()); + GameRegistry.registerItem(ingot_tungsten, ingot_tungsten.getUnlocalizedName()); + GameRegistry.registerItem(ingot_aluminium, ingot_aluminium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_steel, ingot_steel.getUnlocalizedName()); + GameRegistry.registerItem(ingot_tcalloy, ingot_tcalloy.getUnlocalizedName()); + GameRegistry.registerItem(ingot_cdalloy, ingot_cdalloy.getUnlocalizedName()); + GameRegistry.registerItem(ingot_bismuth_bronze, ingot_bismuth_bronze.getUnlocalizedName()); + GameRegistry.registerItem(ingot_arsenic_bronze, ingot_arsenic_bronze.getUnlocalizedName()); + GameRegistry.registerItem(ingot_bscco, ingot_bscco.getUnlocalizedName()); + GameRegistry.registerItem(ingot_lead, ingot_lead.getUnlocalizedName()); + GameRegistry.registerItem(ingot_bismuth, ingot_bismuth.getUnlocalizedName()); + GameRegistry.registerItem(ingot_arsenic, ingot_arsenic.getUnlocalizedName()); + GameRegistry.registerItem(ingot_calcium, ingot_calcium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_cadmium, ingot_cadmium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_tantalium, ingot_tantalium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_silicon, ingot_silicon.getUnlocalizedName()); + GameRegistry.registerItem(ingot_niobium, ingot_niobium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_beryllium, ingot_beryllium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_cobalt, ingot_cobalt.getUnlocalizedName()); + GameRegistry.registerItem(ingot_boron, ingot_boron.getUnlocalizedName()); + GameRegistry.registerItem(ingot_graphite, ingot_graphite.getUnlocalizedName()); + GameRegistry.registerItem(ingot_firebrick, ingot_firebrick.getUnlocalizedName()); + GameRegistry.registerItem(ingot_dura_steel, ingot_dura_steel.getUnlocalizedName()); + GameRegistry.registerItem(ingot_polymer, ingot_polymer.getUnlocalizedName()); + GameRegistry.registerItem(ingot_bakelite, ingot_bakelite.getUnlocalizedName()); + GameRegistry.registerItem(ingot_biorubber, ingot_biorubber.getUnlocalizedName()); + GameRegistry.registerItem(ingot_rubber, ingot_rubber.getUnlocalizedName()); + GameRegistry.registerItem(ingot_pc, ingot_pc.getUnlocalizedName()); + GameRegistry.registerItem(ingot_pvc, ingot_pvc.getUnlocalizedName()); + GameRegistry.registerItem(ingot_mud, ingot_mud.getUnlocalizedName()); + GameRegistry.registerItem(ingot_cft, ingot_cft.getUnlocalizedName()); + GameRegistry.registerItem(ingot_schraranium, ingot_schraranium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_schrabidium, ingot_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_schrabidate, ingot_schrabidate.getUnlocalizedName()); + GameRegistry.registerItem(ingot_magnetized_tungsten, ingot_magnetized_tungsten.getUnlocalizedName()); + GameRegistry.registerItem(ingot_combine_steel, ingot_combine_steel.getUnlocalizedName()); + GameRegistry.registerItem(ingot_solinium, ingot_solinium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_gh336, ingot_gh336.getUnlocalizedName()); + GameRegistry.registerItem(ingot_uranium_fuel, ingot_uranium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(ingot_thorium_fuel, ingot_thorium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(ingot_plutonium_fuel, ingot_plutonium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(ingot_neptunium_fuel, ingot_neptunium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(ingot_mox_fuel, ingot_mox_fuel.getUnlocalizedName()); + GameRegistry.registerItem(ingot_americium_fuel, ingot_americium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(ingot_schrabidium_fuel, ingot_schrabidium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(ingot_hes, ingot_hes.getUnlocalizedName()); + GameRegistry.registerItem(ingot_les, ingot_les.getUnlocalizedName()); + GameRegistry.registerItem(ingot_australium, ingot_australium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_lanthanium, ingot_lanthanium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_actinium, ingot_actinium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_desh, ingot_desh.getUnlocalizedName()); + GameRegistry.registerItem(ingot_ferrouranium, ingot_ferrouranium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_starmetal, ingot_starmetal.getUnlocalizedName()); + GameRegistry.registerItem(ingot_gunmetal, ingot_gunmetal.getUnlocalizedName()); + GameRegistry.registerItem(ingot_weaponsteel, ingot_weaponsteel.getUnlocalizedName()); + GameRegistry.registerItem(ingot_saturnite, ingot_saturnite.getUnlocalizedName()); + GameRegistry.registerItem(ingot_euphemium, ingot_euphemium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_dineutronium, ingot_dineutronium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_electronium, ingot_electronium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_smore, ingot_smore.getUnlocalizedName()); + GameRegistry.registerItem(ingot_osmiridium, ingot_osmiridium.getUnlocalizedName()); + + //Meteorite Ingots + GameRegistry.registerItem(ingot_steel_dusted, ingot_steel_dusted.getUnlocalizedName()); + GameRegistry.registerItem(ingot_chainsteel, ingot_chainsteel.getUnlocalizedName()); + GameRegistry.registerItem(ingot_meteorite, ingot_meteorite.getUnlocalizedName()); + GameRegistry.registerItem(ingot_meteorite_forged, ingot_meteorite_forged.getUnlocalizedName()); + GameRegistry.registerItem(blade_meteorite, blade_meteorite.getUnlocalizedName()); + + //Misc Ingots + GameRegistry.registerItem(ingot_phosphorus, ingot_phosphorus.getUnlocalizedName()); + GameRegistry.registerItem(lithium, lithium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_zirconium, ingot_zirconium.getUnlocalizedName()); + GameRegistry.registerItem(ingot_semtex, ingot_semtex.getUnlocalizedName()); + GameRegistry.registerItem(ingot_c4, ingot_c4.getUnlocalizedName()); + GameRegistry.registerItem(oil_tar, oil_tar.getUnlocalizedName()); + GameRegistry.registerItem(solid_fuel, solid_fuel.getUnlocalizedName()); + GameRegistry.registerItem(solid_fuel_presto, solid_fuel_presto.getUnlocalizedName()); + GameRegistry.registerItem(solid_fuel_presto_triplet, solid_fuel_presto_triplet.getUnlocalizedName()); + GameRegistry.registerItem(solid_fuel_bf, solid_fuel_bf.getUnlocalizedName()); + GameRegistry.registerItem(solid_fuel_presto_bf, solid_fuel_presto_bf.getUnlocalizedName()); + GameRegistry.registerItem(solid_fuel_presto_triplet_bf, solid_fuel_presto_triplet_bf.getUnlocalizedName()); + GameRegistry.registerItem(rocket_fuel, rocket_fuel.getUnlocalizedName()); + GameRegistry.registerItem(ingot_fiberglass, ingot_fiberglass.getUnlocalizedName()); + GameRegistry.registerItem(ingot_asbestos, ingot_asbestos.getUnlocalizedName()); + GameRegistry.registerItem(ingot_raw, ingot_raw.getUnlocalizedName()); + + //Billets + GameRegistry.registerItem(billet_uranium, billet_uranium.getUnlocalizedName()); + GameRegistry.registerItem(billet_u233, billet_u233.getUnlocalizedName()); + GameRegistry.registerItem(billet_u235, billet_u235.getUnlocalizedName()); + GameRegistry.registerItem(billet_u238, billet_u238.getUnlocalizedName()); + GameRegistry.registerItem(billet_th232, billet_th232.getUnlocalizedName()); + GameRegistry.registerItem(billet_plutonium, billet_plutonium.getUnlocalizedName()); + GameRegistry.registerItem(billet_pu238, billet_pu238.getUnlocalizedName()); + GameRegistry.registerItem(billet_pu239, billet_pu239.getUnlocalizedName()); + GameRegistry.registerItem(billet_pu240, billet_pu240.getUnlocalizedName()); + GameRegistry.registerItem(billet_pu241, billet_pu241.getUnlocalizedName()); + GameRegistry.registerItem(billet_pu_mix, billet_pu_mix.getUnlocalizedName()); + GameRegistry.registerItem(billet_am241, billet_am241.getUnlocalizedName()); + GameRegistry.registerItem(billet_am242, billet_am242.getUnlocalizedName()); + GameRegistry.registerItem(billet_am_mix, billet_am_mix.getUnlocalizedName()); + GameRegistry.registerItem(billet_neptunium, billet_neptunium.getUnlocalizedName()); + GameRegistry.registerItem(billet_polonium, billet_polonium.getUnlocalizedName()); + GameRegistry.registerItem(billet_technetium, billet_technetium.getUnlocalizedName()); + GameRegistry.registerItem(billet_cobalt, billet_cobalt.getUnlocalizedName()); + GameRegistry.registerItem(billet_co60, billet_co60.getUnlocalizedName()); + GameRegistry.registerItem(billet_sr90, billet_sr90.getUnlocalizedName()); + GameRegistry.registerItem(billet_au198, billet_au198.getUnlocalizedName()); + GameRegistry.registerItem(billet_pb209, billet_pb209.getUnlocalizedName()); + GameRegistry.registerItem(billet_ra226, billet_ra226.getUnlocalizedName()); + GameRegistry.registerItem(billet_actinium, billet_actinium.getUnlocalizedName()); + GameRegistry.registerItem(billet_schrabidium, billet_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(billet_solinium, billet_solinium.getUnlocalizedName()); + GameRegistry.registerItem(billet_gh336, billet_gh336.getUnlocalizedName()); + GameRegistry.registerItem(billet_australium, billet_australium.getUnlocalizedName()); + GameRegistry.registerItem(billet_australium_lesser, billet_australium_lesser.getUnlocalizedName()); + GameRegistry.registerItem(billet_australium_greater, billet_australium_greater.getUnlocalizedName()); + GameRegistry.registerItem(billet_uranium_fuel, billet_uranium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(billet_thorium_fuel, billet_thorium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(billet_plutonium_fuel, billet_plutonium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(billet_neptunium_fuel, billet_neptunium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(billet_mox_fuel, billet_mox_fuel.getUnlocalizedName()); + GameRegistry.registerItem(billet_americium_fuel, billet_americium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(billet_les, billet_les.getUnlocalizedName()); + GameRegistry.registerItem(billet_schrabidium_fuel, billet_schrabidium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(billet_hes, billet_hes.getUnlocalizedName()); + GameRegistry.registerItem(billet_po210be, billet_po210be.getUnlocalizedName()); + GameRegistry.registerItem(billet_ra226be, billet_ra226be.getUnlocalizedName()); + GameRegistry.registerItem(billet_pu238be, billet_pu238be.getUnlocalizedName()); + GameRegistry.registerItem(billet_beryllium, billet_beryllium.getUnlocalizedName()); + GameRegistry.registerItem(billet_bismuth, billet_bismuth.getUnlocalizedName()); + GameRegistry.registerItem(billet_silicon, billet_silicon.getUnlocalizedName()); + GameRegistry.registerItem(billet_zirconium, billet_zirconium.getUnlocalizedName()); + GameRegistry.registerItem(billet_zfb_bismuth, billet_zfb_bismuth.getUnlocalizedName()); + GameRegistry.registerItem(billet_zfb_pu241, billet_zfb_pu241.getUnlocalizedName()); + GameRegistry.registerItem(billet_zfb_am_mix, billet_zfb_am_mix.getUnlocalizedName()); + GameRegistry.registerItem(billet_yharonite, billet_yharonite.getUnlocalizedName()); + GameRegistry.registerItem(billet_balefire_gold, billet_balefire_gold.getUnlocalizedName()); + GameRegistry.registerItem(billet_flashlead, billet_flashlead.getUnlocalizedName()); + GameRegistry.registerItem(billet_nuclear_waste, billet_nuclear_waste.getUnlocalizedName()); + + //Dusts & Other + GameRegistry.registerItem(cinnebar, cinnebar.getUnlocalizedName()); + GameRegistry.registerItem(nugget_mercury, nugget_mercury.getUnlocalizedName()); + GameRegistry.registerItem(ingot_mercury, ingot_mercury.getUnlocalizedName()); + GameRegistry.registerItem(bottle_mercury, bottle_mercury.getUnlocalizedName()); + GameRegistry.registerItem(coke, coke.getUnlocalizedName()); + GameRegistry.registerItem(lignite, lignite.getUnlocalizedName()); + GameRegistry.registerItem(coal_infernal, coal_infernal.getUnlocalizedName()); + GameRegistry.registerItem(briquette, briquette.getUnlocalizedName()); + GameRegistry.registerItem(sulfur, sulfur.getUnlocalizedName()); + GameRegistry.registerItem(niter, niter.getUnlocalizedName()); + GameRegistry.registerItem(nitra, nitra.getUnlocalizedName()); + GameRegistry.registerItem(nitra_small, nitra_small.getUnlocalizedName()); + GameRegistry.registerItem(fluorite, fluorite.getUnlocalizedName()); + GameRegistry.registerItem(powder_coal, powder_coal.getUnlocalizedName()); + GameRegistry.registerItem(powder_coal_tiny, powder_coal_tiny.getUnlocalizedName()); + GameRegistry.registerItem(powder_iron, powder_iron.getUnlocalizedName()); + GameRegistry.registerItem(powder_gold, powder_gold.getUnlocalizedName()); + GameRegistry.registerItem(powder_lapis, powder_lapis.getUnlocalizedName()); + GameRegistry.registerItem(powder_quartz, powder_quartz.getUnlocalizedName()); + GameRegistry.registerItem(powder_diamond, powder_diamond.getUnlocalizedName()); + GameRegistry.registerItem(powder_emerald, powder_emerald.getUnlocalizedName()); + GameRegistry.registerItem(powder_uranium, powder_uranium.getUnlocalizedName()); + GameRegistry.registerItem(powder_plutonium, powder_plutonium.getUnlocalizedName()); + GameRegistry.registerItem(powder_neptunium, powder_neptunium.getUnlocalizedName()); + GameRegistry.registerItem(powder_polonium, powder_polonium.getUnlocalizedName()); + GameRegistry.registerItem(powder_co60, powder_co60.getUnlocalizedName()); + GameRegistry.registerItem(powder_sr90, powder_sr90.getUnlocalizedName()); + GameRegistry.registerItem(powder_sr90_tiny, powder_sr90_tiny.getUnlocalizedName()); + GameRegistry.registerItem(powder_i131, powder_i131.getUnlocalizedName()); + GameRegistry.registerItem(powder_i131_tiny, powder_i131_tiny.getUnlocalizedName()); + GameRegistry.registerItem(powder_xe135, powder_xe135.getUnlocalizedName()); + GameRegistry.registerItem(powder_xe135_tiny, powder_xe135_tiny.getUnlocalizedName()); + GameRegistry.registerItem(powder_cs137, powder_cs137.getUnlocalizedName()); + GameRegistry.registerItem(powder_cs137_tiny, powder_cs137_tiny.getUnlocalizedName()); + GameRegistry.registerItem(powder_au198, powder_au198.getUnlocalizedName()); + GameRegistry.registerItem(powder_ra226, powder_ra226.getUnlocalizedName()); + GameRegistry.registerItem(powder_at209, powder_at209.getUnlocalizedName()); + GameRegistry.registerItem(powder_titanium, powder_titanium.getUnlocalizedName()); + GameRegistry.registerItem(powder_copper, powder_copper.getUnlocalizedName()); + GameRegistry.registerItem(powder_red_copper, powder_red_copper.getUnlocalizedName()); + GameRegistry.registerItem(powder_advanced_alloy, powder_advanced_alloy.getUnlocalizedName()); + GameRegistry.registerItem(powder_tungsten, powder_tungsten.getUnlocalizedName()); + GameRegistry.registerItem(powder_aluminium, powder_aluminium.getUnlocalizedName()); + GameRegistry.registerItem(powder_steel, powder_steel.getUnlocalizedName()); + GameRegistry.registerItem(powder_steel_tiny, powder_steel_tiny.getUnlocalizedName()); + GameRegistry.registerItem(powder_tcalloy, powder_tcalloy.getUnlocalizedName()); + GameRegistry.registerItem(powder_lead, powder_lead.getUnlocalizedName()); + GameRegistry.registerItem(powder_bismuth, powder_bismuth.getUnlocalizedName()); + GameRegistry.registerItem(powder_calcium, powder_calcium.getUnlocalizedName()); + GameRegistry.registerItem(powder_cadmium, powder_cadmium.getUnlocalizedName()); + GameRegistry.registerItem(powder_coltan_ore, powder_coltan_ore.getUnlocalizedName()); + GameRegistry.registerItem(powder_coltan, powder_coltan.getUnlocalizedName()); + GameRegistry.registerItem(powder_tantalium, powder_tantalium.getUnlocalizedName()); + GameRegistry.registerItem(powder_tektite, powder_tektite.getUnlocalizedName()); + GameRegistry.registerItem(powder_paleogenite, powder_paleogenite.getUnlocalizedName()); + GameRegistry.registerItem(powder_paleogenite_tiny, powder_paleogenite_tiny.getUnlocalizedName()); + GameRegistry.registerItem(powder_impure_osmiridium, powder_impure_osmiridium.getUnlocalizedName()); + GameRegistry.registerItem(powder_borax, powder_borax.getUnlocalizedName()); + GameRegistry.registerItem(powder_chlorocalcite, powder_chlorocalcite.getUnlocalizedName()); + GameRegistry.registerItem(powder_molysite, powder_molysite.getUnlocalizedName()); + GameRegistry.registerItem(powder_yellowcake, powder_yellowcake.getUnlocalizedName()); + GameRegistry.registerItem(powder_beryllium, powder_beryllium.getUnlocalizedName()); + GameRegistry.registerItem(powder_dura_steel, powder_dura_steel.getUnlocalizedName()); + GameRegistry.registerItem(powder_polymer, powder_polymer.getUnlocalizedName()); + GameRegistry.registerItem(powder_bakelite, powder_bakelite.getUnlocalizedName()); + GameRegistry.registerItem(powder_schrabidium, powder_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(powder_schrabidate, powder_schrabidate.getUnlocalizedName()); + GameRegistry.registerItem(powder_magnetized_tungsten, powder_magnetized_tungsten.getUnlocalizedName()); + GameRegistry.registerItem(powder_chlorophyte, powder_chlorophyte.getUnlocalizedName()); + GameRegistry.registerItem(powder_combine_steel, powder_combine_steel.getUnlocalizedName()); + GameRegistry.registerItem(powder_lithium, powder_lithium.getUnlocalizedName()); + GameRegistry.registerItem(powder_lithium_tiny, powder_lithium_tiny.getUnlocalizedName()); + GameRegistry.registerItem(powder_zirconium, powder_zirconium.getUnlocalizedName()); + GameRegistry.registerItem(powder_sodium, powder_sodium.getUnlocalizedName()); + GameRegistry.registerItem(powder_lignite, powder_lignite.getUnlocalizedName()); + GameRegistry.registerItem(powder_iodine, powder_iodine.getUnlocalizedName()); + GameRegistry.registerItem(powder_thorium, powder_thorium.getUnlocalizedName()); + GameRegistry.registerItem(powder_neodymium, powder_neodymium.getUnlocalizedName()); + GameRegistry.registerItem(powder_neodymium_tiny, powder_neodymium_tiny.getUnlocalizedName()); + GameRegistry.registerItem(powder_astatine, powder_astatine.getUnlocalizedName()); + GameRegistry.registerItem(powder_caesium, powder_caesium.getUnlocalizedName()); + GameRegistry.registerItem(powder_australium, powder_australium.getUnlocalizedName()); + GameRegistry.registerItem(powder_strontium, powder_strontium.getUnlocalizedName()); + GameRegistry.registerItem(powder_cobalt, powder_cobalt.getUnlocalizedName()); + GameRegistry.registerItem(powder_cobalt_tiny, powder_cobalt_tiny.getUnlocalizedName()); + GameRegistry.registerItem(powder_bromine, powder_bromine.getUnlocalizedName()); + GameRegistry.registerItem(powder_niobium, powder_niobium.getUnlocalizedName()); + GameRegistry.registerItem(powder_niobium_tiny, powder_niobium_tiny.getUnlocalizedName()); + GameRegistry.registerItem(powder_tennessine, powder_tennessine.getUnlocalizedName()); + GameRegistry.registerItem(powder_cerium, powder_cerium.getUnlocalizedName()); + GameRegistry.registerItem(powder_cerium_tiny, powder_cerium_tiny.getUnlocalizedName()); + GameRegistry.registerItem(powder_lanthanium, powder_lanthanium.getUnlocalizedName()); + GameRegistry.registerItem(powder_lanthanium_tiny, powder_lanthanium_tiny.getUnlocalizedName()); + GameRegistry.registerItem(powder_actinium, powder_actinium.getUnlocalizedName()); + GameRegistry.registerItem(powder_actinium_tiny, powder_actinium_tiny.getUnlocalizedName()); + GameRegistry.registerItem(powder_boron, powder_boron.getUnlocalizedName()); + GameRegistry.registerItem(powder_boron_tiny, powder_boron_tiny.getUnlocalizedName()); + GameRegistry.registerItem(powder_asbestos, powder_asbestos.getUnlocalizedName()); + GameRegistry.registerItem(powder_magic, powder_magic.getUnlocalizedName()); + GameRegistry.registerItem(powder_sawdust, powder_sawdust.getUnlocalizedName()); + GameRegistry.registerItem(powder_flux, powder_flux.getUnlocalizedName()); + GameRegistry.registerItem(powder_fertilizer, powder_fertilizer.getUnlocalizedName()); + GameRegistry.registerItem(powder_balefire, powder_balefire.getUnlocalizedName()); + GameRegistry.registerItem(powder_semtex_mix, powder_semtex_mix.getUnlocalizedName()); + GameRegistry.registerItem(powder_desh_mix, powder_desh_mix.getUnlocalizedName()); + GameRegistry.registerItem(powder_desh_ready, powder_desh_ready.getUnlocalizedName()); + GameRegistry.registerItem(powder_desh, powder_desh.getUnlocalizedName()); + GameRegistry.registerItem(powder_nitan_mix, powder_nitan_mix.getUnlocalizedName()); + GameRegistry.registerItem(powder_spark_mix, powder_spark_mix.getUnlocalizedName()); + GameRegistry.registerItem(powder_meteorite, powder_meteorite.getUnlocalizedName()); + GameRegistry.registerItem(powder_meteorite_tiny, powder_meteorite_tiny.getUnlocalizedName()); + GameRegistry.registerItem(powder_euphemium, powder_euphemium.getUnlocalizedName()); + GameRegistry.registerItem(powder_dineutronium, powder_dineutronium.getUnlocalizedName()); + GameRegistry.registerItem(dust, dust.getUnlocalizedName()); + GameRegistry.registerItem(dust_tiny, dust_tiny.getUnlocalizedName()); + GameRegistry.registerItem(fallout, fallout.getUnlocalizedName()); + GameRegistry.registerItem(powder_ash, powder_ash.getUnlocalizedName()); + GameRegistry.registerItem(powder_limestone, powder_limestone.getUnlocalizedName()); + GameRegistry.registerItem(powder_cement, powder_cement.getUnlocalizedName()); + + //Powders + GameRegistry.registerItem(powder_fire, powder_fire.getUnlocalizedName()); + GameRegistry.registerItem(powder_ice, powder_ice.getUnlocalizedName()); + GameRegistry.registerItem(powder_poison, powder_poison.getUnlocalizedName()); + GameRegistry.registerItem(powder_thermite, powder_thermite.getUnlocalizedName()); + GameRegistry.registerItem(powder_power, powder_power.getUnlocalizedName()); + GameRegistry.registerItem(cordite, cordite.getUnlocalizedName()); + GameRegistry.registerItem(ballistite, ballistite.getUnlocalizedName()); + GameRegistry.registerItem(ball_dynamite, ball_dynamite.getUnlocalizedName()); + GameRegistry.registerItem(ball_tnt, ball_tnt.getUnlocalizedName()); + GameRegistry.registerItem(ball_tatb, ball_tatb.getUnlocalizedName()); + GameRegistry.registerItem(ball_resin, ball_resin.getUnlocalizedName()); + GameRegistry.registerItem(ball_fireclay, ball_fireclay.getUnlocalizedName()); + + //Ores + GameRegistry.registerItem(ore_bedrock, ore_bedrock.getUnlocalizedName()); + GameRegistry.registerItem(ore_centrifuged, ore_centrifuged.getUnlocalizedName()); + GameRegistry.registerItem(ore_cleaned, ore_cleaned.getUnlocalizedName()); + GameRegistry.registerItem(ore_separated, ore_separated.getUnlocalizedName()); + GameRegistry.registerItem(ore_purified, ore_purified.getUnlocalizedName()); + GameRegistry.registerItem(ore_nitrated, ore_nitrated.getUnlocalizedName()); + GameRegistry.registerItem(ore_nitrocrystalline, ore_nitrocrystalline.getUnlocalizedName()); + GameRegistry.registerItem(ore_deepcleaned, ore_deepcleaned.getUnlocalizedName()); + GameRegistry.registerItem(ore_seared, ore_seared.getUnlocalizedName()); + GameRegistry.registerItem(ore_enriched, ore_enriched.getUnlocalizedName()); + GameRegistry.registerItem(ore_byproduct, ore_byproduct.getUnlocalizedName()); + GameRegistry.registerItem(bedrock_ore_base, bedrock_ore_base.getUnlocalizedName()); + GameRegistry.registerItem(bedrock_ore, bedrock_ore.getUnlocalizedName()); + GameRegistry.registerItem(bedrock_ore_fragment, bedrock_ore_fragment.getUnlocalizedName()); + + //Crystals + GameRegistry.registerItem(crystal_coal, crystal_coal.getUnlocalizedName()); + GameRegistry.registerItem(crystal_iron, crystal_iron.getUnlocalizedName()); + GameRegistry.registerItem(crystal_gold, crystal_gold.getUnlocalizedName()); + GameRegistry.registerItem(crystal_redstone, crystal_redstone.getUnlocalizedName()); + GameRegistry.registerItem(crystal_lapis, crystal_lapis.getUnlocalizedName()); + GameRegistry.registerItem(crystal_diamond, crystal_diamond.getUnlocalizedName()); + GameRegistry.registerItem(crystal_uranium, crystal_uranium.getUnlocalizedName()); + GameRegistry.registerItem(crystal_thorium, crystal_thorium.getUnlocalizedName()); + GameRegistry.registerItem(crystal_plutonium, crystal_plutonium.getUnlocalizedName()); + GameRegistry.registerItem(crystal_titanium, crystal_titanium.getUnlocalizedName()); + GameRegistry.registerItem(crystal_sulfur, crystal_sulfur.getUnlocalizedName()); + GameRegistry.registerItem(crystal_niter, crystal_niter.getUnlocalizedName()); + GameRegistry.registerItem(crystal_copper, crystal_copper.getUnlocalizedName()); + GameRegistry.registerItem(crystal_tungsten, crystal_tungsten.getUnlocalizedName()); + GameRegistry.registerItem(crystal_aluminium, crystal_aluminium.getUnlocalizedName()); + GameRegistry.registerItem(crystal_fluorite, crystal_fluorite.getUnlocalizedName()); + GameRegistry.registerItem(crystal_beryllium, crystal_beryllium.getUnlocalizedName()); + GameRegistry.registerItem(crystal_lead, crystal_lead.getUnlocalizedName()); + GameRegistry.registerItem(crystal_schraranium, crystal_schraranium.getUnlocalizedName()); + GameRegistry.registerItem(crystal_schrabidium, crystal_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(crystal_rare, crystal_rare.getUnlocalizedName()); + GameRegistry.registerItem(crystal_phosphorus, crystal_phosphorus.getUnlocalizedName()); + GameRegistry.registerItem(crystal_lithium, crystal_lithium.getUnlocalizedName()); + GameRegistry.registerItem(crystal_cobalt, crystal_cobalt.getUnlocalizedName()); + GameRegistry.registerItem(crystal_starmetal, crystal_starmetal.getUnlocalizedName()); + GameRegistry.registerItem(crystal_cinnebar, crystal_cinnebar.getUnlocalizedName()); + GameRegistry.registerItem(crystal_trixite, crystal_trixite.getUnlocalizedName()); + GameRegistry.registerItem(crystal_osmiridium, crystal_osmiridium.getUnlocalizedName()); + GameRegistry.registerItem(gem_sodalite, gem_sodalite.getUnlocalizedName()); + GameRegistry.registerItem(gem_tantalium, gem_tantalium.getUnlocalizedName()); + GameRegistry.registerItem(gem_volcanic, gem_volcanic.getUnlocalizedName()); + GameRegistry.registerItem(gem_rad, gem_rad.getUnlocalizedName()); + GameRegistry.registerItem(gem_alexandrite, gem_alexandrite.getUnlocalizedName()); + + //Fragments + GameRegistry.registerItem(fragment_neodymium, fragment_neodymium.getUnlocalizedName()); + GameRegistry.registerItem(fragment_cobalt, fragment_cobalt.getUnlocalizedName()); + GameRegistry.registerItem(fragment_niobium, fragment_niobium.getUnlocalizedName()); + GameRegistry.registerItem(fragment_cerium, fragment_cerium.getUnlocalizedName()); + GameRegistry.registerItem(fragment_lanthanium, fragment_lanthanium.getUnlocalizedName()); + GameRegistry.registerItem(fragment_actinium, fragment_actinium.getUnlocalizedName()); + GameRegistry.registerItem(fragment_boron, fragment_boron.getUnlocalizedName()); + GameRegistry.registerItem(fragment_meteorite, fragment_meteorite.getUnlocalizedName()); + GameRegistry.registerItem(fragment_coltan, fragment_coltan.getUnlocalizedName()); + GameRegistry.registerItem(chunk_ore, chunk_ore.getUnlocalizedName()); + + //Things that look like rotten flesh but aren't + GameRegistry.registerItem(biomass, biomass.getUnlocalizedName()); + GameRegistry.registerItem(biomass_compressed, biomass_compressed.getUnlocalizedName()); + //delicious! + GameRegistry.registerItem(bio_wafer, bio_wafer.getUnlocalizedName()); + + //Nuggets + GameRegistry.registerItem(nugget_uranium, nugget_uranium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_u233, nugget_u233.getUnlocalizedName()); + GameRegistry.registerItem(nugget_u235, nugget_u235.getUnlocalizedName()); + GameRegistry.registerItem(nugget_u238, nugget_u238.getUnlocalizedName()); + GameRegistry.registerItem(nugget_th232, nugget_th232.getUnlocalizedName()); + GameRegistry.registerItem(nugget_plutonium, nugget_plutonium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_pu238, nugget_pu238.getUnlocalizedName()); + GameRegistry.registerItem(nugget_pu239, nugget_pu239.getUnlocalizedName()); + GameRegistry.registerItem(nugget_pu240, nugget_pu240.getUnlocalizedName()); + GameRegistry.registerItem(nugget_pu241, nugget_pu241.getUnlocalizedName()); + GameRegistry.registerItem(nugget_pu_mix, nugget_pu_mix.getUnlocalizedName()); + GameRegistry.registerItem(nugget_am241, nugget_am241.getUnlocalizedName()); + GameRegistry.registerItem(nugget_am242, nugget_am242.getUnlocalizedName()); + GameRegistry.registerItem(nugget_am_mix, nugget_am_mix.getUnlocalizedName()); + GameRegistry.registerItem(nugget_neptunium, nugget_neptunium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_polonium, nugget_polonium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_cobalt, nugget_cobalt.getUnlocalizedName()); + GameRegistry.registerItem(nugget_co60, nugget_co60.getUnlocalizedName()); + GameRegistry.registerItem(nugget_sr90, nugget_sr90.getUnlocalizedName()); + GameRegistry.registerItem(nugget_technetium, nugget_technetium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_au198, nugget_au198.getUnlocalizedName()); + GameRegistry.registerItem(nugget_pb209, nugget_pb209.getUnlocalizedName()); + GameRegistry.registerItem(nugget_ra226, nugget_ra226.getUnlocalizedName()); + GameRegistry.registerItem(nugget_actinium, nugget_actinium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_lead, nugget_lead.getUnlocalizedName()); + GameRegistry.registerItem(nugget_bismuth, nugget_bismuth.getUnlocalizedName()); + GameRegistry.registerItem(nugget_arsenic, nugget_arsenic.getUnlocalizedName()); + GameRegistry.registerItem(nugget_tantalium, nugget_tantalium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_silicon, nugget_silicon.getUnlocalizedName()); + GameRegistry.registerItem(nugget_niobium, nugget_niobium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_beryllium, nugget_beryllium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_schrabidium, nugget_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_solinium, nugget_solinium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_gh336, nugget_gh336.getUnlocalizedName()); + GameRegistry.registerItem(nugget_uranium_fuel, nugget_uranium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(nugget_thorium_fuel, nugget_thorium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(nugget_plutonium_fuel, nugget_plutonium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(nugget_neptunium_fuel, nugget_neptunium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(nugget_mox_fuel, nugget_mox_fuel.getUnlocalizedName()); + GameRegistry.registerItem(nugget_americium_fuel, nugget_americium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(nugget_schrabidium_fuel, nugget_schrabidium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(nugget_hes, nugget_hes.getUnlocalizedName()); + GameRegistry.registerItem(nugget_les, nugget_les.getUnlocalizedName()); + GameRegistry.registerItem(nugget_zirconium, nugget_zirconium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_australium, nugget_australium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_australium_lesser, nugget_australium_lesser.getUnlocalizedName()); + GameRegistry.registerItem(nugget_australium_greater, nugget_australium_greater.getUnlocalizedName()); + GameRegistry.registerItem(nugget_desh, nugget_desh.getUnlocalizedName()); + GameRegistry.registerItem(nugget_euphemium, nugget_euphemium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_dineutronium, nugget_dineutronium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_osmiridium, nugget_osmiridium.getUnlocalizedName()); + + //Plates + GameRegistry.registerItem(plate_iron, plate_iron.getUnlocalizedName()); + GameRegistry.registerItem(plate_gold, plate_gold.getUnlocalizedName()); + GameRegistry.registerItem(plate_titanium, plate_titanium.getUnlocalizedName()); + GameRegistry.registerItem(plate_aluminium, plate_aluminium.getUnlocalizedName()); + GameRegistry.registerItem(plate_steel, plate_steel.getUnlocalizedName()); + GameRegistry.registerItem(plate_lead, plate_lead.getUnlocalizedName()); + GameRegistry.registerItem(plate_copper, plate_copper.getUnlocalizedName()); + GameRegistry.registerItem(plate_advanced_alloy, plate_advanced_alloy.getUnlocalizedName()); + GameRegistry.registerItem(plate_dura_steel, plate_dura_steel.getUnlocalizedName()); + GameRegistry.registerItem(neutron_reflector, neutron_reflector.getUnlocalizedName()); + GameRegistry.registerItem(plate_schrabidium, plate_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(plate_combine_steel, plate_combine_steel.getUnlocalizedName()); + GameRegistry.registerItem(plate_mixed, plate_mixed.getUnlocalizedName()); + GameRegistry.registerItem(plate_gunmetal, plate_gunmetal.getUnlocalizedName()); + GameRegistry.registerItem(plate_weaponsteel, plate_weaponsteel.getUnlocalizedName()); + GameRegistry.registerItem(plate_saturnite, plate_saturnite.getUnlocalizedName()); + GameRegistry.registerItem(plate_paa, plate_paa.getUnlocalizedName()); + GameRegistry.registerItem(plate_polymer, plate_polymer.getUnlocalizedName()); + GameRegistry.registerItem(plate_kevlar, plate_kevlar.getUnlocalizedName()); + GameRegistry.registerItem(plate_dalekanium, plate_dalekanium.getUnlocalizedName()); + GameRegistry.registerItem(plate_desh, plate_desh.getUnlocalizedName()); + GameRegistry.registerItem(plate_bismuth, plate_bismuth.getUnlocalizedName()); + GameRegistry.registerItem(plate_euphemium, plate_euphemium.getUnlocalizedName()); + GameRegistry.registerItem(plate_dineutronium, plate_dineutronium.getUnlocalizedName()); + + //Armor Plates + GameRegistry.registerItem(plate_armor_titanium, plate_armor_titanium.getUnlocalizedName()); + GameRegistry.registerItem(plate_armor_ajr, plate_armor_ajr.getUnlocalizedName()); + GameRegistry.registerItem(plate_armor_hev, plate_armor_hev.getUnlocalizedName()); + GameRegistry.registerItem(plate_armor_lunar, plate_armor_lunar.getUnlocalizedName()); + GameRegistry.registerItem(plate_armor_fau, plate_armor_fau.getUnlocalizedName()); + GameRegistry.registerItem(plate_armor_dnt, plate_armor_dnt.getUnlocalizedName()); + + //Heavy/Cast Plate + GameRegistry.registerItem(plate_cast, plate_cast.getUnlocalizedName()); + GameRegistry.registerItem(plate_welded, plate_welded.getUnlocalizedName()); + GameRegistry.registerItem(shell, shell.getUnlocalizedName()); + GameRegistry.registerItem(pipe, pipe.getUnlocalizedName()); + GameRegistry.registerItem(heavy_component, heavy_component.getUnlocalizedName()); + + //Bolts + GameRegistry.registerItem(bolt, bolt.getUnlocalizedName()); + GameRegistry.registerItem(bolt_spike, bolt_spike.getUnlocalizedName()); + + //Cloth + GameRegistry.registerItem(hazmat_cloth, hazmat_cloth.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_cloth_red, hazmat_cloth_red.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_cloth_grey, hazmat_cloth_grey.getUnlocalizedName()); + GameRegistry.registerItem(asbestos_cloth, asbestos_cloth.getUnlocalizedName()); + GameRegistry.registerItem(rag, rag.getUnlocalizedName()); + GameRegistry.registerItem(rag_damp, rag_damp.getUnlocalizedName()); + GameRegistry.registerItem(rag_piss, rag_piss.getUnlocalizedName()); + GameRegistry.registerItem(filter_coal, filter_coal.getUnlocalizedName()); + + //Wires + GameRegistry.registerItem(wire_fine, wire_fine.getUnlocalizedName()); + GameRegistry.registerItem(wire_dense, wire_dense.getUnlocalizedName()); + + //Parts + GameRegistry.registerItem(coil_copper, coil_copper.getUnlocalizedName()); + GameRegistry.registerItem(coil_copper_torus, coil_copper_torus.getUnlocalizedName()); + GameRegistry.registerItem(coil_advanced_alloy, coil_advanced_alloy.getUnlocalizedName()); + GameRegistry.registerItem(coil_advanced_torus, coil_advanced_torus.getUnlocalizedName()); + GameRegistry.registerItem(coil_gold, coil_gold.getUnlocalizedName()); + GameRegistry.registerItem(coil_gold_torus, coil_gold_torus.getUnlocalizedName()); + GameRegistry.registerItem(coil_tungsten, coil_tungsten.getUnlocalizedName()); + GameRegistry.registerItem(coil_magnetized_tungsten, coil_magnetized_tungsten.getUnlocalizedName()); + GameRegistry.registerItem(safety_fuse, safety_fuse.getUnlocalizedName()); + GameRegistry.registerItem(tank_steel, tank_steel.getUnlocalizedName()); + GameRegistry.registerItem(motor, motor.getUnlocalizedName()); + GameRegistry.registerItem(motor_desh, motor_desh.getUnlocalizedName()); + GameRegistry.registerItem(motor_bismuth, motor_bismuth.getUnlocalizedName()); + GameRegistry.registerItem(centrifuge_element, centrifuge_element.getUnlocalizedName()); + GameRegistry.registerItem(reactor_core, reactor_core.getUnlocalizedName()); + GameRegistry.registerItem(rtg_unit, rtg_unit.getUnlocalizedName()); + GameRegistry.registerItem(pipes_steel, pipes_steel.getUnlocalizedName()); + GameRegistry.registerItem(drill_titanium, drill_titanium.getUnlocalizedName()); + GameRegistry.registerItem(photo_panel, photo_panel.getUnlocalizedName()); + GameRegistry.registerItem(chlorine_pinwheel, chlorine_pinwheel.getUnlocalizedName()); + GameRegistry.registerItem(ring_starmetal, ring_starmetal.getUnlocalizedName()); + GameRegistry.registerItem(deuterium_filter, deuterium_filter.getUnlocalizedName()); + GameRegistry.registerItem(chemical_dye, chemical_dye.getUnlocalizedName()); + GameRegistry.registerItem(crayon, crayon.getUnlocalizedName()); + GameRegistry.registerItem(part_generic, part_generic.getUnlocalizedName()); + GameRegistry.registerItem(item_secret, item_secret.getUnlocalizedName()); + GameRegistry.registerItem(ingot_metal, ingot_metal.getUnlocalizedName()); + GameRegistry.registerItem(parts_legendary, parts_legendary.getUnlocalizedName()); + GameRegistry.registerItem(gear_large, gear_large.getUnlocalizedName()); + GameRegistry.registerItem(sawblade, sawblade.getUnlocalizedName()); + GameRegistry.registerItem(part_barrel_light, part_barrel_light.getUnlocalizedName()); + GameRegistry.registerItem(part_barrel_heavy, part_barrel_heavy.getUnlocalizedName()); + GameRegistry.registerItem(part_receiver_light, part_receiver_light.getUnlocalizedName()); + GameRegistry.registerItem(part_receiver_heavy, part_receiver_heavy.getUnlocalizedName()); + GameRegistry.registerItem(part_mechanism, part_mechanism.getUnlocalizedName()); + GameRegistry.registerItem(part_stock, part_stock.getUnlocalizedName()); + GameRegistry.registerItem(part_grip, part_grip.getUnlocalizedName()); + + //Plant Products + GameRegistry.registerItem(plant_item, plant_item.getUnlocalizedName()); + + //Teleporter Parts + //GameRegistry.registerItem(telepad, telepad.getUnlocalizedName()); + GameRegistry.registerItem(entanglement_kit, entanglement_kit.getUnlocalizedName()); + + //AMS Parts + GameRegistry.registerItem(component_limiter, component_limiter.getUnlocalizedName()); + GameRegistry.registerItem(component_emitter, component_emitter.getUnlocalizedName()); + + //Bomb Parts + GameRegistry.registerItem(fins_flat, fins_flat.getUnlocalizedName()); + GameRegistry.registerItem(fins_small_steel, fins_small_steel.getUnlocalizedName()); + GameRegistry.registerItem(fins_big_steel, fins_big_steel.getUnlocalizedName()); + GameRegistry.registerItem(fins_tri_steel, fins_tri_steel.getUnlocalizedName()); + GameRegistry.registerItem(fins_quad_titanium, fins_quad_titanium.getUnlocalizedName()); + GameRegistry.registerItem(sphere_steel, sphere_steel.getUnlocalizedName()); + GameRegistry.registerItem(pedestal_steel, pedestal_steel.getUnlocalizedName()); + GameRegistry.registerItem(dysfunctional_reactor, dysfunctional_reactor.getUnlocalizedName()); + GameRegistry.registerItem(blade_titanium, blade_titanium.getUnlocalizedName()); + GameRegistry.registerItem(blade_tungsten, blade_tungsten.getUnlocalizedName()); + GameRegistry.registerItem(turbine_titanium, turbine_titanium.getUnlocalizedName()); + GameRegistry.registerItem(turbine_tungsten, turbine_tungsten.getUnlocalizedName()); + GameRegistry.registerItem(flywheel_beryllium, flywheel_beryllium.getUnlocalizedName()); + GameRegistry.registerItem(toothpicks, toothpicks.getUnlocalizedName()); + GameRegistry.registerItem(ducttape, ducttape.getUnlocalizedName()); + GameRegistry.registerItem(catalyst_clay, catalyst_clay.getUnlocalizedName()); + GameRegistry.registerItem(missile_assembly, missile_assembly.getUnlocalizedName()); + GameRegistry.registerItem(warhead_generic_small, warhead_generic_small.getUnlocalizedName()); + GameRegistry.registerItem(warhead_generic_medium, warhead_generic_medium.getUnlocalizedName()); + GameRegistry.registerItem(warhead_generic_large, warhead_generic_large.getUnlocalizedName()); + GameRegistry.registerItem(warhead_incendiary_small, warhead_incendiary_small.getUnlocalizedName()); + GameRegistry.registerItem(warhead_incendiary_medium, warhead_incendiary_medium.getUnlocalizedName()); + GameRegistry.registerItem(warhead_incendiary_large, warhead_incendiary_large.getUnlocalizedName()); + GameRegistry.registerItem(warhead_cluster_small, warhead_cluster_small.getUnlocalizedName()); + GameRegistry.registerItem(warhead_cluster_medium, warhead_cluster_medium.getUnlocalizedName()); + GameRegistry.registerItem(warhead_cluster_large, warhead_cluster_large.getUnlocalizedName()); + GameRegistry.registerItem(warhead_buster_small, warhead_buster_small.getUnlocalizedName()); + GameRegistry.registerItem(warhead_buster_medium, warhead_buster_medium.getUnlocalizedName()); + GameRegistry.registerItem(warhead_buster_large, warhead_buster_large.getUnlocalizedName()); + GameRegistry.registerItem(warhead_nuclear, warhead_nuclear.getUnlocalizedName()); + GameRegistry.registerItem(warhead_mirv, warhead_mirv.getUnlocalizedName()); + GameRegistry.registerItem(warhead_volcano, warhead_volcano.getUnlocalizedName()); + GameRegistry.registerItem(fuel_tank_small, fuel_tank_small.getUnlocalizedName()); + GameRegistry.registerItem(fuel_tank_medium, fuel_tank_medium.getUnlocalizedName()); + GameRegistry.registerItem(fuel_tank_large, fuel_tank_large.getUnlocalizedName()); + GameRegistry.registerItem(thruster_small, thruster_small.getUnlocalizedName()); + GameRegistry.registerItem(thruster_medium, thruster_medium.getUnlocalizedName()); + GameRegistry.registerItem(thruster_large, thruster_large.getUnlocalizedName()); + GameRegistry.registerItem(thruster_nuclear, thruster_nuclear.getUnlocalizedName()); + GameRegistry.registerItem(sat_base, sat_base.getUnlocalizedName()); + GameRegistry.registerItem(sat_head_mapper, sat_head_mapper.getUnlocalizedName()); + GameRegistry.registerItem(sat_head_scanner, sat_head_scanner.getUnlocalizedName()); + GameRegistry.registerItem(sat_head_radar, sat_head_radar.getUnlocalizedName()); + GameRegistry.registerItem(sat_head_laser, sat_head_laser.getUnlocalizedName()); + GameRegistry.registerItem(sat_head_resonator, sat_head_resonator.getUnlocalizedName()); + GameRegistry.registerItem(seg_10, seg_10.getUnlocalizedName()); + GameRegistry.registerItem(seg_15, seg_15.getUnlocalizedName()); + GameRegistry.registerItem(seg_20, seg_20.getUnlocalizedName()); + + //Chopper parts + GameRegistry.registerItem(combine_scrap, combine_scrap.getUnlocalizedName()); + + //Hammer Parts + GameRegistry.registerItem(shimmer_head, shimmer_head.getUnlocalizedName()); + GameRegistry.registerItem(shimmer_axe_head, shimmer_axe_head.getUnlocalizedName()); + GameRegistry.registerItem(shimmer_handle, shimmer_handle.getUnlocalizedName()); + + //Circuits + GameRegistry.registerItem(circuit, circuit.getUnlocalizedName()); + GameRegistry.registerItem(crt_display, crt_display.getUnlocalizedName()); + GameRegistry.registerItem(circuit_star_piece, circuit_star_piece.getUnlocalizedName()); + GameRegistry.registerItem(circuit_star_component, circuit_star_component.getUnlocalizedName()); + GameRegistry.registerItem(circuit_star, circuit_star.getUnlocalizedName()); + + //Casing + GameRegistry.registerItem(casing, casing.getUnlocalizedName()); + + //Bullet Assemblies + GameRegistry.registerItem(assembly_nuke, assembly_nuke.getUnlocalizedName()); + + //Wiring + GameRegistry.registerItem(wiring_red_copper, wiring_red_copper.getUnlocalizedName()); + + //Flame War in a Box + GameRegistry.registerItem(flame_pony, flame_pony.getUnlocalizedName()); + GameRegistry.registerItem(flame_conspiracy, flame_conspiracy.getUnlocalizedName()); + GameRegistry.registerItem(flame_politics, flame_politics.getUnlocalizedName()); + GameRegistry.registerItem(flame_opinion, flame_opinion.getUnlocalizedName()); + + //Pellets + GameRegistry.registerItem(pellet_rtg_radium, pellet_rtg_radium.getUnlocalizedName()); + GameRegistry.registerItem(pellet_rtg_weak, pellet_rtg_weak.getUnlocalizedName()); + GameRegistry.registerItem(pellet_rtg, pellet_rtg.getUnlocalizedName()); + GameRegistry.registerItem(pellet_rtg_strontium, pellet_rtg_strontium.getUnlocalizedName()); + GameRegistry.registerItem(pellet_rtg_cobalt, pellet_rtg_cobalt.getUnlocalizedName()); + GameRegistry.registerItem(pellet_rtg_actinium, pellet_rtg_actinium.getUnlocalizedName()); + GameRegistry.registerItem(pellet_rtg_polonium, pellet_rtg_polonium.getUnlocalizedName()); + GameRegistry.registerItem(pellet_rtg_americium, pellet_rtg_americium.getUnlocalizedName()); + GameRegistry.registerItem(pellet_rtg_gold, pellet_rtg_gold.getUnlocalizedName()); + GameRegistry.registerItem(pellet_rtg_lead, pellet_rtg_lead.getUnlocalizedName()); + GameRegistry.registerItem(pellet_rtg_depleted, pellet_rtg_depleted.getUnlocalizedName()); + GameRegistry.registerItem(tritium_deuterium_cake, tritium_deuterium_cake.getUnlocalizedName()); + GameRegistry.registerItem(pellet_cluster, pellet_cluster.getUnlocalizedName()); + GameRegistry.registerItem(pellet_buckshot, pellet_buckshot.getUnlocalizedName()); + GameRegistry.registerItem(pellet_charged, pellet_charged.getUnlocalizedName()); + GameRegistry.registerItem(pellet_gas, pellet_gas.getUnlocalizedName()); + GameRegistry.registerItem(magnetron, magnetron.getUnlocalizedName()); + + //Engine Pieces + GameRegistry.registerItem(piston_selenium, piston_selenium.getUnlocalizedName()); + GameRegistry.registerItem(piston_set, piston_set.getUnlocalizedName()); + GameRegistry.registerItem(drillbit, drillbit.getUnlocalizedName()); + + //Cells + GameRegistry.registerItem(cell_empty, cell_empty.getUnlocalizedName()); + GameRegistry.registerItem(cell_uf6, cell_uf6.getUnlocalizedName()); + GameRegistry.registerItem(cell_puf6, cell_puf6.getUnlocalizedName()); + GameRegistry.registerItem(cell_deuterium, cell_deuterium.getUnlocalizedName()); + GameRegistry.registerItem(cell_tritium, cell_tritium.getUnlocalizedName()); + GameRegistry.registerItem(cell_sas3, cell_sas3.getUnlocalizedName()); + GameRegistry.registerItem(cell_antimatter, cell_antimatter.getUnlocalizedName()); + GameRegistry.registerItem(cell_anti_schrabidium, cell_anti_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(cell_balefire, cell_balefire.getUnlocalizedName()); + + //DEMON CORE + GameRegistry.registerItem(demon_core_open, demon_core_open.getUnlocalizedName()); + GameRegistry.registerItem(demon_core_closed, demon_core_closed.getUnlocalizedName()); + + //PA + GameRegistry.registerItem(pa_coil, pa_coil.getUnlocalizedName()); + + //Particle Containers + GameRegistry.registerItem(particle_empty, particle_empty.getUnlocalizedName()); + GameRegistry.registerItem(particle_hydrogen, particle_hydrogen.getUnlocalizedName()); + GameRegistry.registerItem(particle_copper, particle_copper.getUnlocalizedName()); + GameRegistry.registerItem(particle_lead, particle_lead.getUnlocalizedName()); + GameRegistry.registerItem(particle_aproton, particle_aproton.getUnlocalizedName()); + GameRegistry.registerItem(particle_aelectron, particle_aelectron.getUnlocalizedName()); + GameRegistry.registerItem(particle_amat, particle_amat.getUnlocalizedName()); + GameRegistry.registerItem(particle_aschrab, particle_aschrab.getUnlocalizedName()); + GameRegistry.registerItem(particle_higgs, particle_higgs.getUnlocalizedName()); + GameRegistry.registerItem(particle_muon, particle_muon.getUnlocalizedName()); + GameRegistry.registerItem(particle_tachyon, particle_tachyon.getUnlocalizedName()); + GameRegistry.registerItem(particle_strange, particle_strange.getUnlocalizedName()); + GameRegistry.registerItem(particle_dark, particle_dark.getUnlocalizedName()); + GameRegistry.registerItem(particle_sparkticle, particle_sparkticle.getUnlocalizedName()); + GameRegistry.registerItem(particle_digamma, particle_digamma.getUnlocalizedName()); + GameRegistry.registerItem(particle_lutece, particle_lutece.getUnlocalizedName()); + + //Singularities, black holes and other cosmic horrors + GameRegistry.registerItem(singularity, singularity.getUnlocalizedName()); + GameRegistry.registerItem(singularity_counter_resonant, singularity_counter_resonant.getUnlocalizedName()); + GameRegistry.registerItem(singularity_super_heated, singularity_super_heated.getUnlocalizedName()); + GameRegistry.registerItem(black_hole, black_hole.getUnlocalizedName()); + GameRegistry.registerItem(singularity_spark, singularity_spark.getUnlocalizedName()); + GameRegistry.registerItem(crystal_xen, crystal_xen.getUnlocalizedName()); + GameRegistry.registerItem(pellet_antimatter, pellet_antimatter.getUnlocalizedName()); + + //Infinite Tanks + GameRegistry.registerItem(inf_water, inf_water.getUnlocalizedName()); + GameRegistry.registerItem(inf_water_mk2, inf_water_mk2.getUnlocalizedName()); + + //Canisters + GameRegistry.registerItem(fuel_additive, fuel_additive.getUnlocalizedName()); + GameRegistry.registerItem(canister_empty, canister_empty.getUnlocalizedName()); + GameRegistry.registerItem(canister_full, canister_full.getUnlocalizedName()); + GameRegistry.registerItem(canister_napalm, canister_napalm.getUnlocalizedName()); + + //Gas Tanks + GameRegistry.registerItem(gas_empty, gas_empty.getUnlocalizedName()); + GameRegistry.registerItem(gas_full, gas_full.getUnlocalizedName()); + + //Universal Tank + GameRegistry.registerItem(fluid_tank_empty, fluid_tank_empty.getUnlocalizedName()); + GameRegistry.registerItem(fluid_tank_full, fluid_tank_full.getUnlocalizedName()); + GameRegistry.registerItem(fluid_tank_lead_empty, fluid_tank_lead_empty.getUnlocalizedName()); + GameRegistry.registerItem(fluid_tank_lead_full, fluid_tank_lead_full.getUnlocalizedName()); + GameRegistry.registerItem(fluid_barrel_empty, fluid_barrel_empty.getUnlocalizedName()); + GameRegistry.registerItem(fluid_barrel_full, fluid_barrel_full.getUnlocalizedName()); + GameRegistry.registerItem(fluid_barrel_infinite, fluid_barrel_infinite.getUnlocalizedName()); + + //Pipette + GameRegistry.registerItem(pipette, pipette.getUnlocalizedName()); + GameRegistry.registerItem(pipette_boron, pipette_boron.getUnlocalizedName()); + GameRegistry.registerItem(pipette_laboratory, pipette_laboratory.getUnlocalizedName()); + + //Siphon + GameRegistry.registerItem(siphon, siphon.getUnlocalizedName()); + + //Batteries + GameRegistry.registerItem(battery_generic, battery_generic.getUnlocalizedName()); + GameRegistry.registerItem(battery_red_cell, battery_red_cell.getUnlocalizedName()); + GameRegistry.registerItem(battery_red_cell_6, battery_red_cell_6.getUnlocalizedName()); + GameRegistry.registerItem(battery_red_cell_24, battery_red_cell_24.getUnlocalizedName()); + GameRegistry.registerItem(battery_advanced, battery_advanced.getUnlocalizedName()); + GameRegistry.registerItem(battery_advanced_cell, battery_advanced_cell.getUnlocalizedName()); + GameRegistry.registerItem(battery_advanced_cell_4, battery_advanced_cell_4.getUnlocalizedName()); + GameRegistry.registerItem(battery_advanced_cell_12, battery_advanced_cell_12.getUnlocalizedName()); + GameRegistry.registerItem(battery_lithium, battery_lithium.getUnlocalizedName()); + GameRegistry.registerItem(battery_lithium_cell, battery_lithium_cell.getUnlocalizedName()); + GameRegistry.registerItem(battery_lithium_cell_3, battery_lithium_cell_3.getUnlocalizedName()); + GameRegistry.registerItem(battery_lithium_cell_6, battery_lithium_cell_6.getUnlocalizedName()); + GameRegistry.registerItem(battery_schrabidium, battery_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(battery_schrabidium_cell, battery_schrabidium_cell.getUnlocalizedName()); + GameRegistry.registerItem(battery_schrabidium_cell_2, battery_schrabidium_cell_2.getUnlocalizedName()); + GameRegistry.registerItem(battery_schrabidium_cell_4, battery_schrabidium_cell_4.getUnlocalizedName()); + GameRegistry.registerItem(battery_spark, battery_spark.getUnlocalizedName()); + GameRegistry.registerItem(battery_trixite, battery_trixite.getUnlocalizedName()); + GameRegistry.registerItem(battery_spark_cell_6, battery_spark_cell_6.getUnlocalizedName()); + GameRegistry.registerItem(battery_spark_cell_25, battery_spark_cell_25.getUnlocalizedName()); + GameRegistry.registerItem(battery_spark_cell_100, battery_spark_cell_100.getUnlocalizedName()); + GameRegistry.registerItem(battery_spark_cell_1000, battery_spark_cell_1000.getUnlocalizedName()); + GameRegistry.registerItem(battery_spark_cell_2500, battery_spark_cell_2500.getUnlocalizedName()); + GameRegistry.registerItem(battery_spark_cell_10000, battery_spark_cell_10000.getUnlocalizedName()); + GameRegistry.registerItem(battery_spark_cell_power, battery_spark_cell_power.getUnlocalizedName()); + GameRegistry.registerItem(cube_power, cube_power.getUnlocalizedName()); + GameRegistry.registerItem(battery_creative, battery_creative.getUnlocalizedName()); + GameRegistry.registerItem(battery_potato, battery_potato.getUnlocalizedName()); + GameRegistry.registerItem(battery_potatos, battery_potatos.getUnlocalizedName()); + GameRegistry.registerItem(battery_sc_uranium, battery_sc_uranium.getUnlocalizedName()); + GameRegistry.registerItem(battery_sc_technetium, battery_sc_technetium.getUnlocalizedName()); + GameRegistry.registerItem(battery_sc_plutonium, battery_sc_plutonium.getUnlocalizedName()); + GameRegistry.registerItem(battery_sc_polonium, battery_sc_polonium.getUnlocalizedName()); + GameRegistry.registerItem(battery_sc_gold, battery_sc_gold.getUnlocalizedName()); + GameRegistry.registerItem(battery_sc_lead, battery_sc_lead.getUnlocalizedName()); + GameRegistry.registerItem(battery_sc_americium, battery_sc_americium.getUnlocalizedName()); + GameRegistry.registerItem(hev_battery, hev_battery.getUnlocalizedName()); + GameRegistry.registerItem(fusion_core, fusion_core.getUnlocalizedName()); + GameRegistry.registerItem(energy_core, energy_core.getUnlocalizedName()); + GameRegistry.registerItem(fusion_core_infinite, fusion_core_infinite.getUnlocalizedName()); + + //Folders + GameRegistry.registerItem(template_folder, template_folder.getUnlocalizedName()); + GameRegistry.registerItem(journal_pip, journal_pip.getUnlocalizedName()); + GameRegistry.registerItem(journal_bj, journal_bj.getUnlocalizedName()); + GameRegistry.registerItem(journal_silver, journal_silver.getUnlocalizedName()); + GameRegistry.registerItem(bobmazon, bobmazon.getUnlocalizedName()); + GameRegistry.registerItem(bobmazon_hidden, bobmazon_hidden.getUnlocalizedName()); + + //Hydraulic Press Stamps + GameRegistry.registerItem(stamp_stone_flat, stamp_stone_flat.getUnlocalizedName()); + GameRegistry.registerItem(stamp_stone_plate, stamp_stone_plate.getUnlocalizedName()); + GameRegistry.registerItem(stamp_stone_wire, stamp_stone_wire.getUnlocalizedName()); + GameRegistry.registerItem(stamp_stone_circuit, stamp_stone_circuit.getUnlocalizedName()); + GameRegistry.registerItem(stamp_iron_flat, stamp_iron_flat.getUnlocalizedName()); + GameRegistry.registerItem(stamp_iron_plate, stamp_iron_plate.getUnlocalizedName()); + GameRegistry.registerItem(stamp_iron_wire, stamp_iron_wire.getUnlocalizedName()); + GameRegistry.registerItem(stamp_iron_circuit, stamp_iron_circuit.getUnlocalizedName()); + GameRegistry.registerItem(stamp_steel_flat, stamp_steel_flat.getUnlocalizedName()); + GameRegistry.registerItem(stamp_steel_plate, stamp_steel_plate.getUnlocalizedName()); + GameRegistry.registerItem(stamp_steel_wire, stamp_steel_wire.getUnlocalizedName()); + GameRegistry.registerItem(stamp_steel_circuit, stamp_steel_circuit.getUnlocalizedName()); + GameRegistry.registerItem(stamp_titanium_flat, stamp_titanium_flat.getUnlocalizedName()); + GameRegistry.registerItem(stamp_titanium_plate, stamp_titanium_plate.getUnlocalizedName()); + GameRegistry.registerItem(stamp_titanium_wire, stamp_titanium_wire.getUnlocalizedName()); + GameRegistry.registerItem(stamp_titanium_circuit, stamp_titanium_circuit.getUnlocalizedName()); + GameRegistry.registerItem(stamp_obsidian_flat, stamp_obsidian_flat.getUnlocalizedName()); + GameRegistry.registerItem(stamp_obsidian_plate, stamp_obsidian_plate.getUnlocalizedName()); + GameRegistry.registerItem(stamp_obsidian_wire, stamp_obsidian_wire.getUnlocalizedName()); + GameRegistry.registerItem(stamp_obsidian_circuit, stamp_obsidian_circuit.getUnlocalizedName()); + GameRegistry.registerItem(stamp_desh_flat, stamp_desh_flat.getUnlocalizedName()); + GameRegistry.registerItem(stamp_desh_plate, stamp_desh_plate.getUnlocalizedName()); + GameRegistry.registerItem(stamp_desh_wire, stamp_desh_wire.getUnlocalizedName()); + GameRegistry.registerItem(stamp_desh_circuit, stamp_desh_circuit.getUnlocalizedName()); + GameRegistry.registerItem(stamp_357, stamp_357.getUnlocalizedName()); + GameRegistry.registerItem(stamp_44, stamp_44.getUnlocalizedName()); + GameRegistry.registerItem(stamp_9, stamp_9.getUnlocalizedName()); + GameRegistry.registerItem(stamp_50, stamp_50.getUnlocalizedName()); + + GameRegistry.registerItem(stamp_desh_357, stamp_desh_357.getUnlocalizedName()); + GameRegistry.registerItem(stamp_desh_44, stamp_desh_44.getUnlocalizedName()); + GameRegistry.registerItem(stamp_desh_9, stamp_desh_9.getUnlocalizedName()); + GameRegistry.registerItem(stamp_desh_50, stamp_desh_50.getUnlocalizedName()); + GameRegistry.registerItem(stamp_book, stamp_book.getUnlocalizedName()); + + //Molds + GameRegistry.registerItem(mold_base, mold_base.getUnlocalizedName()); + GameRegistry.registerItem(mold, mold.getUnlocalizedName()); + GameRegistry.registerItem(scraps, scraps.getUnlocalizedName()); + + //Machine Upgrades + GameRegistry.registerItem(upgrade_muffler, upgrade_muffler.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_template, upgrade_template.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_speed_1, upgrade_speed_1.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_speed_2, upgrade_speed_2.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_speed_3, upgrade_speed_3.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_effect_1, upgrade_effect_1.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_effect_2, upgrade_effect_2.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_effect_3, upgrade_effect_3.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_power_1, upgrade_power_1.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_power_2, upgrade_power_2.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_power_3, upgrade_power_3.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_fortune_1, upgrade_fortune_1.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_fortune_2, upgrade_fortune_2.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_fortune_3, upgrade_fortune_3.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_afterburn_1, upgrade_afterburn_1.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_afterburn_2, upgrade_afterburn_2.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_afterburn_3, upgrade_afterburn_3.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_overdrive_1, upgrade_overdrive_1.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_overdrive_2, upgrade_overdrive_2.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_overdrive_3, upgrade_overdrive_3.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_radius, upgrade_radius.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_health, upgrade_health.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_smelter, upgrade_smelter.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_shredder, upgrade_shredder.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_centrifuge, upgrade_centrifuge.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_crystallizer, upgrade_crystallizer.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_nullifier, upgrade_nullifier.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_screm, upgrade_screm.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_gc_speed, upgrade_gc_speed.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_5g, upgrade_5g.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_stack, upgrade_stack.getUnlocalizedName()); + GameRegistry.registerItem(upgrade_ejector, upgrade_ejector.getUnlocalizedName()); + + //Machine Templates + GameRegistry.registerItem(siren_track, siren_track.getUnlocalizedName()); + GameRegistry.registerItem(fluid_identifier, fluid_identifier.getUnlocalizedName()); + GameRegistry.registerItem(fluid_identifier_multi, fluid_identifier_multi.getUnlocalizedName()); + GameRegistry.registerItem(fluid_icon, fluid_icon.getUnlocalizedName()); + GameRegistry.registerItem(fluid_duct, fluid_duct.getUnlocalizedName()); + GameRegistry.registerItem(assembly_template, assembly_template.getUnlocalizedName()); + GameRegistry.registerItem(chemistry_template, chemistry_template.getUnlocalizedName()); + GameRegistry.registerItem(chemistry_icon, chemistry_icon.getUnlocalizedName()); + GameRegistry.registerItem(crucible_template, crucible_template.getUnlocalizedName()); + + //Machine Items + GameRegistry.registerItem(fuse, fuse.getUnlocalizedName()); + GameRegistry.registerItem(redcoil_capacitor, redcoil_capacitor.getUnlocalizedName()); + GameRegistry.registerItem(euphemium_capacitor, euphemium_capacitor.getUnlocalizedName()); + GameRegistry.registerItem(screwdriver, screwdriver.getUnlocalizedName()); + GameRegistry.registerItem(screwdriver_desh, screwdriver_desh.getUnlocalizedName()); + GameRegistry.registerItem(hand_drill, hand_drill.getUnlocalizedName()); + GameRegistry.registerItem(hand_drill_desh, hand_drill_desh.getUnlocalizedName()); + GameRegistry.registerItem(chemistry_set, chemistry_set.getUnlocalizedName()); + GameRegistry.registerItem(chemistry_set_boron, chemistry_set_boron.getUnlocalizedName()); + GameRegistry.registerItem(blowtorch, blowtorch.getUnlocalizedName()); + GameRegistry.registerItem(acetylene_torch, acetylene_torch.getUnlocalizedName()); + GameRegistry.registerItem(boltgun, boltgun.getUnlocalizedName()); + GameRegistry.registerItem(overfuse, overfuse.getUnlocalizedName()); + GameRegistry.registerItem(arc_electrode, arc_electrode.getUnlocalizedName()); + GameRegistry.registerItem(arc_electrode_burnt, arc_electrode_burnt.getUnlocalizedName()); + + //Particle Collider Fuel + GameRegistry.registerItem(part_lithium, part_lithium.getUnlocalizedName()); + GameRegistry.registerItem(part_beryllium, part_beryllium.getUnlocalizedName()); + GameRegistry.registerItem(part_carbon, part_carbon.getUnlocalizedName()); + GameRegistry.registerItem(part_copper, part_copper.getUnlocalizedName()); + GameRegistry.registerItem(part_plutonium, part_plutonium.getUnlocalizedName()); + + //FEL laser crystals + GameRegistry.registerItem(laser_crystal_co2, laser_crystal_co2.getUnlocalizedName()); + GameRegistry.registerItem(laser_crystal_bismuth, laser_crystal_bismuth.getUnlocalizedName()); + GameRegistry.registerItem(laser_crystal_cmb, laser_crystal_cmb.getUnlocalizedName()); + GameRegistry.registerItem(laser_crystal_dnt, laser_crystal_dnt.getUnlocalizedName()); + GameRegistry.registerItem(laser_crystal_digamma, laser_crystal_digamma.getUnlocalizedName()); + + //Catalyst Rune Sigils + GameRegistry.registerItem(rune_blank, rune_blank.getUnlocalizedName()); + GameRegistry.registerItem(rune_isa, rune_isa.getUnlocalizedName()); + GameRegistry.registerItem(rune_dagaz, rune_dagaz.getUnlocalizedName()); + GameRegistry.registerItem(rune_hagalaz, rune_hagalaz.getUnlocalizedName()); + GameRegistry.registerItem(rune_jera, rune_jera.getUnlocalizedName()); + GameRegistry.registerItem(rune_thurisaz, rune_thurisaz.getUnlocalizedName()); + + //AMS Catalysts + GameRegistry.registerItem(ams_catalyst_blank, ams_catalyst_blank.getUnlocalizedName()); + GameRegistry.registerItem(ams_catalyst_aluminium, ams_catalyst_aluminium.getUnlocalizedName()); + GameRegistry.registerItem(ams_catalyst_beryllium, ams_catalyst_beryllium.getUnlocalizedName()); + GameRegistry.registerItem(ams_catalyst_caesium, ams_catalyst_caesium.getUnlocalizedName()); + GameRegistry.registerItem(ams_catalyst_cerium, ams_catalyst_cerium.getUnlocalizedName()); + GameRegistry.registerItem(ams_catalyst_cobalt, ams_catalyst_cobalt.getUnlocalizedName()); + GameRegistry.registerItem(ams_catalyst_copper, ams_catalyst_copper.getUnlocalizedName()); + GameRegistry.registerItem(ams_catalyst_euphemium, ams_catalyst_euphemium.getUnlocalizedName()); + GameRegistry.registerItem(ams_catalyst_dineutronium, ams_catalyst_dineutronium.getUnlocalizedName()); + GameRegistry.registerItem(ams_catalyst_iron, ams_catalyst_iron.getUnlocalizedName()); + GameRegistry.registerItem(ams_catalyst_lithium, ams_catalyst_lithium.getUnlocalizedName()); + GameRegistry.registerItem(ams_catalyst_niobium, ams_catalyst_niobium.getUnlocalizedName()); + GameRegistry.registerItem(ams_catalyst_schrabidium, ams_catalyst_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(ams_catalyst_strontium, ams_catalyst_strontium.getUnlocalizedName()); + GameRegistry.registerItem(ams_catalyst_thorium, ams_catalyst_thorium.getUnlocalizedName()); + GameRegistry.registerItem(ams_catalyst_tungsten, ams_catalyst_tungsten.getUnlocalizedName()); + + //Shredder Blades + GameRegistry.registerItem(blades_steel, blades_steel.getUnlocalizedName()); + GameRegistry.registerItem(blades_titanium, blades_titanium.getUnlocalizedName()); + GameRegistry.registerItem(blades_advanced_alloy, blades_advanced_alloy.getUnlocalizedName()); + GameRegistry.registerItem(blades_desh, blades_desh.getUnlocalizedName()); + + //Generator Stuff + GameRegistry.registerItem(thermo_element, thermo_element.getUnlocalizedName()); + GameRegistry.registerItem(catalytic_converter, catalytic_converter.getUnlocalizedName()); + + //AMS Components + GameRegistry.registerItem(ams_focus_blank, ams_focus_blank.getUnlocalizedName()); + GameRegistry.registerItem(ams_focus_limiter, ams_focus_limiter.getUnlocalizedName()); + GameRegistry.registerItem(ams_focus_booster, ams_focus_booster.getUnlocalizedName()); + GameRegistry.registerItem(ams_muzzle, ams_muzzle.getUnlocalizedName()); + GameRegistry.registerItem(ams_lens, ams_lens.getUnlocalizedName()); + GameRegistry.registerItem(ams_core_sing, ams_core_sing.getUnlocalizedName()); + GameRegistry.registerItem(ams_core_wormhole, ams_core_wormhole.getUnlocalizedName()); + GameRegistry.registerItem(ams_core_eyeofharmony, ams_core_eyeofharmony.getUnlocalizedName()); + GameRegistry.registerItem(ams_core_thingy, ams_core_thingy.getUnlocalizedName()); + + //Fusion Shields + GameRegistry.registerItem(fusion_shield_tungsten, fusion_shield_tungsten.getUnlocalizedName()); + GameRegistry.registerItem(fusion_shield_desh, fusion_shield_desh.getUnlocalizedName()); + GameRegistry.registerItem(fusion_shield_chlorophyte, fusion_shield_chlorophyte.getUnlocalizedName()); + GameRegistry.registerItem(fusion_shield_vaporwave, fusion_shield_vaporwave.getUnlocalizedName()); + + //Breeding Rods + GameRegistry.registerItem(rod_empty, rod_empty.getUnlocalizedName()); + GameRegistry.registerItem(rod, rod.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_empty, rod_dual_empty.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual, rod_dual.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_empty, rod_quad_empty.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad, rod_quad.getUnlocalizedName()); + + //ZIRNOX parts + GameRegistry.registerItem(rod_zirnox_empty, rod_zirnox_empty.getUnlocalizedName()); + //GameRegistry.registerItem(rod_zirnox_natural_uranium_fuel, rod_zirnox_natural_uranium_fuel.getUnlocalizedName()); + //GameRegistry.registerItem(rod_zirnox_uranium_fuel, rod_zirnox_uranium_fuel.getUnlocalizedName()); + //GameRegistry.registerItem(rod_zirnox_th232, rod_zirnox_th232.getUnlocalizedName()); + //GameRegistry.registerItem(rod_zirnox_thorium_fuel, rod_zirnox_thorium_fuel.getUnlocalizedName()); + //GameRegistry.registerItem(rod_zirnox_mox_fuel, rod_zirnox_mox_fuel.getUnlocalizedName()); + //GameRegistry.registerItem(rod_zirnox_plutonium_fuel, rod_zirnox_plutonium_fuel.getUnlocalizedName()); + //GameRegistry.registerItem(rod_zirnox_u233_fuel, rod_zirnox_u233_fuel.getUnlocalizedName()); + //GameRegistry.registerItem(rod_zirnox_u235_fuel, rod_zirnox_u235_fuel.getUnlocalizedName()); + //GameRegistry.registerItem(rod_zirnox_les_fuel, rod_zirnox_les_fuel.getUnlocalizedName()); + //GameRegistry.registerItem(rod_zirnox_lithium, rod_zirnox_lithium.getUnlocalizedName()); + GameRegistry.registerItem(rod_zirnox_tritium, rod_zirnox_tritium.getUnlocalizedName()); + //GameRegistry.registerItem(rod_zirnox_zfb_mox, rod_zirnox_zfb_mox.getUnlocalizedName()); + GameRegistry.registerItem(rod_zirnox, rod_zirnox.getUnlocalizedName()); + + GameRegistry.registerItem(rod_zirnox_natural_uranium_fuel_depleted, rod_zirnox_natural_uranium_fuel_depleted.getUnlocalizedName()); + GameRegistry.registerItem(rod_zirnox_uranium_fuel_depleted, rod_zirnox_uranium_fuel_depleted.getUnlocalizedName()); + GameRegistry.registerItem(rod_zirnox_thorium_fuel_depleted, rod_zirnox_thorium_fuel_depleted.getUnlocalizedName()); + GameRegistry.registerItem(rod_zirnox_mox_fuel_depleted, rod_zirnox_mox_fuel_depleted.getUnlocalizedName()); + GameRegistry.registerItem(rod_zirnox_plutonium_fuel_depleted, rod_zirnox_plutonium_fuel_depleted.getUnlocalizedName()); + GameRegistry.registerItem(rod_zirnox_u233_fuel_depleted, rod_zirnox_u233_fuel_depleted.getUnlocalizedName()); + GameRegistry.registerItem(rod_zirnox_u235_fuel_depleted, rod_zirnox_u235_fuel_depleted.getUnlocalizedName()); + GameRegistry.registerItem(rod_zirnox_les_fuel_depleted, rod_zirnox_les_fuel_depleted.getUnlocalizedName()); + GameRegistry.registerItem(rod_zirnox_zfb_mox_depleted, rod_zirnox_zfb_mox_depleted.getUnlocalizedName()); + + //Depleted Fuel + GameRegistry.registerItem(waste_natural_uranium, waste_natural_uranium.getUnlocalizedName()); + GameRegistry.registerItem(waste_uranium, waste_uranium.getUnlocalizedName()); + GameRegistry.registerItem(waste_thorium, waste_thorium.getUnlocalizedName()); + GameRegistry.registerItem(waste_mox, waste_mox.getUnlocalizedName()); + GameRegistry.registerItem(waste_plutonium, waste_plutonium.getUnlocalizedName()); + GameRegistry.registerItem(waste_u233, waste_u233.getUnlocalizedName()); + GameRegistry.registerItem(waste_u235, waste_u235.getUnlocalizedName()); + GameRegistry.registerItem(waste_schrabidium, waste_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(waste_zfb_mox, waste_zfb_mox.getUnlocalizedName()); + + GameRegistry.registerItem(waste_plate_u233, waste_plate_u233.getUnlocalizedName()); + GameRegistry.registerItem(waste_plate_u235, waste_plate_u235.getUnlocalizedName()); + GameRegistry.registerItem(waste_plate_mox, waste_plate_mox.getUnlocalizedName()); + GameRegistry.registerItem(waste_plate_pu239, waste_plate_pu239.getUnlocalizedName()); + GameRegistry.registerItem(waste_plate_ra226be, waste_plate_ra226be.getUnlocalizedName()); + GameRegistry.registerItem(waste_plate_sa326, waste_plate_sa326.getUnlocalizedName()); + GameRegistry.registerItem(waste_plate_pu238be, waste_plate_pu238be.getUnlocalizedName()); + + //Pile parts + GameRegistry.registerItem(pile_rod_uranium, pile_rod_uranium.getUnlocalizedName()); + GameRegistry.registerItem(pile_rod_pu239, pile_rod_pu239.getUnlocalizedName()); + GameRegistry.registerItem(pile_rod_plutonium, pile_rod_plutonium.getUnlocalizedName()); + GameRegistry.registerItem(pile_rod_source, pile_rod_source.getUnlocalizedName()); + GameRegistry.registerItem(pile_rod_boron, pile_rod_boron.getUnlocalizedName()); + GameRegistry.registerItem(pile_rod_lithium, pile_rod_lithium.getUnlocalizedName()); + GameRegistry.registerItem(pile_rod_detector, pile_rod_detector.getUnlocalizedName()); + + //Plate Fuels + GameRegistry.registerItem(plate_fuel_u233, plate_fuel_u233.getUnlocalizedName()); + GameRegistry.registerItem(plate_fuel_u235, plate_fuel_u235.getUnlocalizedName()); + GameRegistry.registerItem(plate_fuel_mox, plate_fuel_mox.getUnlocalizedName()); + GameRegistry.registerItem(plate_fuel_pu239, plate_fuel_pu239.getUnlocalizedName()); + GameRegistry.registerItem(plate_fuel_sa326, plate_fuel_sa326.getUnlocalizedName()); + GameRegistry.registerItem(plate_fuel_ra226be, plate_fuel_ra226be.getUnlocalizedName()); + GameRegistry.registerItem(plate_fuel_pu238be, plate_fuel_pu238be.getUnlocalizedName()); + + //PWR Parts + GameRegistry.registerItem(pwr_fuel, pwr_fuel.getUnlocalizedName()); + GameRegistry.registerItem(pwr_fuel_hot, pwr_fuel_hot.getUnlocalizedName()); + GameRegistry.registerItem(pwr_fuel_depleted, pwr_fuel_depleted.getUnlocalizedName()); + + //RBMK parts + GameRegistry.registerItem(rbmk_lid, rbmk_lid.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_lid_glass, rbmk_lid_glass.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_empty, rbmk_fuel_empty.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_ueu, rbmk_fuel_ueu.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_meu, rbmk_fuel_meu.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_heu233, rbmk_fuel_heu233.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_heu235, rbmk_fuel_heu235.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_thmeu, rbmk_fuel_thmeu.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_lep, rbmk_fuel_lep.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_mep, rbmk_fuel_mep.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_hep239, rbmk_fuel_hep239.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_hep241, rbmk_fuel_hep241.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_lea, rbmk_fuel_lea.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_mea, rbmk_fuel_mea.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_hea241, rbmk_fuel_hea241.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_hea242, rbmk_fuel_hea242.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_men, rbmk_fuel_men.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_hen, rbmk_fuel_hen.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_mox, rbmk_fuel_mox.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_les, rbmk_fuel_les.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_mes, rbmk_fuel_mes.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_hes, rbmk_fuel_hes.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_leaus, rbmk_fuel_leaus.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_heaus, rbmk_fuel_heaus.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_po210be, rbmk_fuel_po210be.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_ra226be, rbmk_fuel_ra226be.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_pu238be, rbmk_fuel_pu238be.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_balefire_gold, rbmk_fuel_balefire_gold.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_flashlead, rbmk_fuel_flashlead.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_balefire, rbmk_fuel_balefire.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_zfb_bismuth, rbmk_fuel_zfb_bismuth.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_zfb_pu241, rbmk_fuel_zfb_pu241.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_zfb_am_mix, rbmk_fuel_zfb_am_mix.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_drx, rbmk_fuel_drx.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_fuel_test, rbmk_fuel_test.getUnlocalizedName()); + //GameRegistry.registerItem(rbmk_fuel_curve, rbmk_fuel_curve.getUnlocalizedName()); + + GameRegistry.registerItem(rbmk_pellet_ueu, rbmk_pellet_ueu.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_meu, rbmk_pellet_meu.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_heu233, rbmk_pellet_heu233.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_heu235, rbmk_pellet_heu235.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_thmeu, rbmk_pellet_thmeu.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_lep, rbmk_pellet_lep.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_mep, rbmk_pellet_mep.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_hep239, rbmk_pellet_hep239.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_hep241, rbmk_pellet_hep241.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_lea, rbmk_pellet_lea.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_mea, rbmk_pellet_mea.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_hea241, rbmk_pellet_hea241.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_hea242, rbmk_pellet_hea242.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_men, rbmk_pellet_men.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_hen, rbmk_pellet_hen.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_mox, rbmk_pellet_mox.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_les, rbmk_pellet_les.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_mes, rbmk_pellet_mes.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_hes, rbmk_pellet_hes.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_leaus, rbmk_pellet_leaus.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_heaus, rbmk_pellet_heaus.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_po210be, rbmk_pellet_po210be.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_ra226be, rbmk_pellet_ra226be.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_pu238be, rbmk_pellet_pu238be.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_balefire_gold, rbmk_pellet_balefire_gold.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_flashlead, rbmk_pellet_flashlead.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_balefire, rbmk_pellet_balefire.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_zfb_bismuth, rbmk_pellet_zfb_bismuth.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_zfb_pu241, rbmk_pellet_zfb_pu241.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_zfb_am_mix, rbmk_pellet_zfb_am_mix.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_pellet_drx, rbmk_pellet_drx.getUnlocalizedName()); + + GameRegistry.registerItem(watz_pellet, watz_pellet.getUnlocalizedName()); + GameRegistry.registerItem(watz_pellet_depleted, watz_pellet_depleted.getUnlocalizedName()); + + GameRegistry.registerItem(icf_pellet_empty, icf_pellet_empty.getUnlocalizedName()); + GameRegistry.registerItem(icf_pellet, icf_pellet.getUnlocalizedName()); + GameRegistry.registerItem(icf_pellet_depleted, icf_pellet_depleted.getUnlocalizedName()); + + GameRegistry.registerItem(debris_graphite, debris_graphite.getUnlocalizedName()); + GameRegistry.registerItem(debris_metal, debris_metal.getUnlocalizedName()); + GameRegistry.registerItem(debris_fuel, debris_fuel.getUnlocalizedName()); + GameRegistry.registerItem(debris_concrete, debris_concrete.getUnlocalizedName()); + GameRegistry.registerItem(debris_exchanger, debris_exchanger.getUnlocalizedName()); + GameRegistry.registerItem(debris_shrapnel, debris_shrapnel.getUnlocalizedName()); + GameRegistry.registerItem(debris_element, debris_element.getUnlocalizedName()); + GameRegistry.registerItem(undefined, undefined.getUnlocalizedName()); + + GameRegistry.registerItem(scrap_plastic, scrap_plastic.getUnlocalizedName()); + GameRegistry.registerItem(scrap, scrap.getUnlocalizedName()); + GameRegistry.registerItem(scrap_oil, scrap_oil.getUnlocalizedName()); + GameRegistry.registerItem(scrap_nuclear, scrap_nuclear.getUnlocalizedName()); + GameRegistry.registerItem(trinitite, trinitite.getUnlocalizedName()); + GameRegistry.registerItem(nuclear_waste_long, nuclear_waste_long.getUnlocalizedName()); + GameRegistry.registerItem(nuclear_waste_long_tiny, nuclear_waste_long_tiny.getUnlocalizedName()); + GameRegistry.registerItem(nuclear_waste_short, nuclear_waste_short.getUnlocalizedName()); + GameRegistry.registerItem(nuclear_waste_short_tiny, nuclear_waste_short_tiny.getUnlocalizedName()); + GameRegistry.registerItem(nuclear_waste_long_depleted, nuclear_waste_long_depleted.getUnlocalizedName()); + GameRegistry.registerItem(nuclear_waste_long_depleted_tiny, nuclear_waste_long_depleted_tiny.getUnlocalizedName()); + GameRegistry.registerItem(nuclear_waste_short_depleted, nuclear_waste_short_depleted.getUnlocalizedName()); + GameRegistry.registerItem(nuclear_waste_short_depleted_tiny, nuclear_waste_short_depleted_tiny.getUnlocalizedName()); + GameRegistry.registerItem(nuclear_waste, nuclear_waste.getUnlocalizedName()); + GameRegistry.registerItem(nuclear_waste_tiny, nuclear_waste_tiny.getUnlocalizedName()); + GameRegistry.registerItem(nuclear_waste_vitrified, nuclear_waste_vitrified.getUnlocalizedName()); + GameRegistry.registerItem(nuclear_waste_vitrified_tiny, nuclear_waste_vitrified_tiny.getUnlocalizedName()); + + //Spawners + GameRegistry.registerItem(spawn_chopper, spawn_chopper.getUnlocalizedName()); + GameRegistry.registerItem(spawn_worm, spawn_worm.getUnlocalizedName()); + GameRegistry.registerItem(spawn_ufo, spawn_ufo.getUnlocalizedName()); + GameRegistry.registerItem(spawn_duck, spawn_duck.getUnlocalizedName()); + + //Computer Tools + GameRegistry.registerItem(rangefinder, rangefinder.getUnlocalizedName()); + GameRegistry.registerItem(designator, designator.getUnlocalizedName()); + GameRegistry.registerItem(designator_range, designator_range.getUnlocalizedName()); + GameRegistry.registerItem(designator_manual, designator_manual.getUnlocalizedName()); + GameRegistry.registerItem(designator_arty_range, designator_arty_range.getUnlocalizedName()); + GameRegistry.registerItem(turret_chip, turret_chip.getUnlocalizedName()); + GameRegistry.registerItem(linker, linker.getUnlocalizedName()); + GameRegistry.registerItem(reactor_sensor, reactor_sensor.getUnlocalizedName()); + GameRegistry.registerItem(oil_detector, oil_detector.getUnlocalizedName()); + GameRegistry.registerItem(ore_density_scanner, ore_density_scanner.getUnlocalizedName()); + GameRegistry.registerItem(survey_scanner, survey_scanner.getUnlocalizedName()); + GameRegistry.registerItem(mirror_tool, mirror_tool.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_tool, rbmk_tool.getUnlocalizedName()); + GameRegistry.registerItem(drone_linker, drone_linker.getUnlocalizedName()); + GameRegistry.registerItem(radar_linker, radar_linker.getUnlocalizedName()); + GameRegistry.registerItem(coltan_tool, coltan_tool.getUnlocalizedName()); + GameRegistry.registerItem(power_net_tool, power_net_tool.getUnlocalizedName()); + GameRegistry.registerItem(analysis_tool, analysis_tool.getUnlocalizedName()); + GameRegistry.registerItem(coupling_tool, coupling_tool.getUnlocalizedName()); + GameRegistry.registerItem(settings_tool, settings_tool.getUnlocalizedName()); + GameRegistry.registerItem(dosimeter, dosimeter.getUnlocalizedName()); + GameRegistry.registerItem(geiger_counter, geiger_counter.getUnlocalizedName()); + GameRegistry.registerItem(digamma_diagnostic, digamma_diagnostic.getUnlocalizedName()); + GameRegistry.registerItem(pollution_detector, pollution_detector.getUnlocalizedName()); + GameRegistry.registerItem(containment_box, containment_box.getUnlocalizedName()); + GameRegistry.registerItem(plastic_bag, plastic_bag.getUnlocalizedName()); + + GameRegistry.registerItem(ammo_bag, ammo_bag.getUnlocalizedName()); + GameRegistry.registerItem(ammo_bag_infinite, ammo_bag_infinite.getUnlocalizedName()); + GameRegistry.registerItem(casing_bag, casing_bag.getUnlocalizedName()); + + //Keys and Locks + GameRegistry.registerItem(key, key.getUnlocalizedName()); + GameRegistry.registerItem(key_red, key_red.getUnlocalizedName()); + GameRegistry.registerItem(key_red_cracked, key_red_cracked.getUnlocalizedName()); + GameRegistry.registerItem(key_kit, key_kit.getUnlocalizedName()); + GameRegistry.registerItem(key_fake, key_fake.getUnlocalizedName()); + GameRegistry.registerItem(mech_key, mech_key.getUnlocalizedName()); + GameRegistry.registerItem(pin, pin.getUnlocalizedName()); + GameRegistry.registerItem(padlock_rusty, padlock_rusty.getUnlocalizedName()); + GameRegistry.registerItem(padlock, padlock.getUnlocalizedName()); + GameRegistry.registerItem(padlock_reinforced, padlock_reinforced.getUnlocalizedName()); + GameRegistry.registerItem(padlock_unbreakable, padlock_unbreakable.getUnlocalizedName()); + GameRegistry.registerItem(launch_code_piece, launch_code_piece.getUnlocalizedName()); + GameRegistry.registerItem(launch_code, launch_code.getUnlocalizedName()); + GameRegistry.registerItem(launch_key, launch_key.getUnlocalizedName()); + + //Missiles + //Tier 0 + GameRegistry.registerItem(missile_test, missile_test.getUnlocalizedName()); + GameRegistry.registerItem(missile_taint, missile_taint.getUnlocalizedName()); + GameRegistry.registerItem(missile_micro, missile_micro.getUnlocalizedName()); + GameRegistry.registerItem(missile_bhole, missile_bhole.getUnlocalizedName()); + GameRegistry.registerItem(missile_schrabidium, missile_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(missile_emp, missile_emp.getUnlocalizedName()); + //Tier 1 + GameRegistry.registerItem(missile_generic, missile_generic.getUnlocalizedName()); + GameRegistry.registerItem(missile_decoy, missile_decoy.getUnlocalizedName()); + GameRegistry.registerItem(missile_incendiary, missile_incendiary.getUnlocalizedName()); + GameRegistry.registerItem(missile_cluster, missile_cluster.getUnlocalizedName()); + GameRegistry.registerItem(missile_buster, missile_buster.getUnlocalizedName()); + GameRegistry.registerItem(missile_stealth, missile_stealth.getUnlocalizedName()); + GameRegistry.registerItem(missile_anti_ballistic, missile_anti_ballistic.getUnlocalizedName()); + //Tier 2 + GameRegistry.registerItem(missile_strong, missile_strong.getUnlocalizedName()); + GameRegistry.registerItem(missile_incendiary_strong, missile_incendiary_strong.getUnlocalizedName()); + GameRegistry.registerItem(missile_cluster_strong, missile_cluster_strong.getUnlocalizedName()); + GameRegistry.registerItem(missile_buster_strong, missile_buster_strong.getUnlocalizedName()); + GameRegistry.registerItem(missile_emp_strong, missile_emp_strong.getUnlocalizedName()); + //Tier 3 + GameRegistry.registerItem(missile_burst, missile_burst.getUnlocalizedName()); + GameRegistry.registerItem(missile_inferno, missile_inferno.getUnlocalizedName()); + GameRegistry.registerItem(missile_rain, missile_rain.getUnlocalizedName()); + GameRegistry.registerItem(missile_drill, missile_drill.getUnlocalizedName()); + GameRegistry.registerItem(missile_shuttle, missile_shuttle.getUnlocalizedName()); + //Tier 4 + GameRegistry.registerItem(missile_nuclear, missile_nuclear.getUnlocalizedName()); + GameRegistry.registerItem(missile_nuclear_cluster, missile_nuclear_cluster.getUnlocalizedName()); + GameRegistry.registerItem(missile_volcano, missile_volcano.getUnlocalizedName()); + GameRegistry.registerItem(missile_doomsday, missile_doomsday.getUnlocalizedName()); + GameRegistry.registerItem(missile_doomsday_rusted, missile_doomsday_rusted.getUnlocalizedName()); + //Rockets + GameRegistry.registerItem(missile_soyuz, missile_soyuz.getUnlocalizedName()); + GameRegistry.registerItem(missile_soyuz_lander, missile_soyuz_lander.getUnlocalizedName()); + GameRegistry.registerItem(missile_custom, missile_custom.getUnlocalizedName()); + + //Missile Parts + GameRegistry.registerItem(mp_thruster_10_kerosene, mp_thruster_10_kerosene.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_10_kerosene_tec, mp_thruster_10_kerosene_tec.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_10_solid, mp_thruster_10_solid.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_10_xenon, mp_thruster_10_xenon.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_15_kerosene, mp_thruster_15_kerosene.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_15_kerosene_tec, mp_thruster_15_kerosene_tec.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_15_kerosene_dual, mp_thruster_15_kerosene_dual.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_15_kerosene_triple, mp_thruster_15_kerosene_triple.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_15_solid, mp_thruster_15_solid.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_15_solid_hexdecuple, mp_thruster_15_solid_hexdecuple.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_15_hydrogen, mp_thruster_15_hydrogen.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_15_hydrogen_dual, mp_thruster_15_hydrogen_dual.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_15_balefire_short, mp_thruster_15_balefire_short.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_15_balefire, mp_thruster_15_balefire.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_15_balefire_large, mp_thruster_15_balefire_large.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_15_balefire_large_rad, mp_thruster_15_balefire_large_rad.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_20_kerosene, mp_thruster_20_kerosene.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_20_kerosene_dual, mp_thruster_20_kerosene_dual.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_20_kerosene_triple, mp_thruster_20_kerosene_triple.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_20_solid, mp_thruster_20_solid.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_20_solid_multi, mp_thruster_20_solid_multi.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_20_solid_multier, mp_thruster_20_solid_multier.getUnlocalizedName()); + GameRegistry.registerItem(mp_stability_10_flat, mp_stability_10_flat.getUnlocalizedName()); + GameRegistry.registerItem(mp_stability_10_cruise, mp_stability_10_cruise.getUnlocalizedName()); + GameRegistry.registerItem(mp_stability_10_space, mp_stability_10_space.getUnlocalizedName()); + GameRegistry.registerItem(mp_stability_15_flat, mp_stability_15_flat.getUnlocalizedName()); + GameRegistry.registerItem(mp_stability_15_thin, mp_stability_15_thin.getUnlocalizedName()); + GameRegistry.registerItem(mp_stability_15_soyuz, mp_stability_15_soyuz.getUnlocalizedName()); + GameRegistry.registerItem(mp_stability_20_flat, mp_stability_20_flat.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_kerosene, mp_fuselage_10_kerosene.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_kerosene_camo, mp_fuselage_10_kerosene_camo.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_kerosene_desert, mp_fuselage_10_kerosene_desert.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_kerosene_sky, mp_fuselage_10_kerosene_sky.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_kerosene_flames, mp_fuselage_10_kerosene_flames.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_kerosene_insulation, mp_fuselage_10_kerosene_insulation.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_kerosene_sleek, mp_fuselage_10_kerosene_sleek.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_kerosene_metal, mp_fuselage_10_kerosene_metal.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_kerosene_taint, mp_fuselage_10_kerosene_taint.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_solid, mp_fuselage_10_solid.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_solid_flames, mp_fuselage_10_solid_flames.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_solid_insulation, mp_fuselage_10_solid_insulation.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_solid_sleek, mp_fuselage_10_solid_sleek.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_solid_soviet_glory, mp_fuselage_10_solid_soviet_glory.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_solid_cathedral, mp_fuselage_10_solid_cathedral.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_solid_moonlit, mp_fuselage_10_solid_moonlit.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_solid_battery, mp_fuselage_10_solid_battery.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_solid_duracell, mp_fuselage_10_solid_duracell.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_xenon, mp_fuselage_10_xenon.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_xenon_bhole, mp_fuselage_10_xenon_bhole.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_long_kerosene, mp_fuselage_10_long_kerosene.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_long_kerosene_camo, mp_fuselage_10_long_kerosene_camo.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_long_kerosene_desert, mp_fuselage_10_long_kerosene_desert.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_long_kerosene_sky, mp_fuselage_10_long_kerosene_sky.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_long_kerosene_flames, mp_fuselage_10_long_kerosene_flames.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_long_kerosene_insulation, mp_fuselage_10_long_kerosene_insulation.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_long_kerosene_sleek, mp_fuselage_10_long_kerosene_sleek.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_long_kerosene_metal, mp_fuselage_10_long_kerosene_metal.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_long_kerosene_dash, mp_fuselage_10_long_kerosene_dash.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_long_kerosene_taint, mp_fuselage_10_long_kerosene_taint.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_long_kerosene_vap, mp_fuselage_10_long_kerosene_vap.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_long_solid, mp_fuselage_10_long_solid.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_long_solid_flames, mp_fuselage_10_long_solid_flames.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_long_solid_insulation, mp_fuselage_10_long_solid_insulation.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_long_solid_sleek, mp_fuselage_10_long_solid_sleek.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_long_solid_soviet_glory, mp_fuselage_10_long_solid_soviet_glory.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_long_solid_bullet, mp_fuselage_10_long_solid_bullet.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_long_solid_silvermoonlight, mp_fuselage_10_long_solid_silvermoonlight.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_15_kerosene, mp_fuselage_10_15_kerosene.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_15_solid, mp_fuselage_10_15_solid.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_15_hydrogen, mp_fuselage_10_15_hydrogen.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_15_balefire, mp_fuselage_10_15_balefire.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_kerosene, mp_fuselage_15_kerosene.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_kerosene_camo, mp_fuselage_15_kerosene_camo.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_kerosene_desert, mp_fuselage_15_kerosene_desert.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_kerosene_sky, mp_fuselage_15_kerosene_sky.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_kerosene_insulation, mp_fuselage_15_kerosene_insulation.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_kerosene_metal, mp_fuselage_15_kerosene_metal.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_kerosene_decorated, mp_fuselage_15_kerosene_decorated.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_kerosene_steampunk, mp_fuselage_15_kerosene_steampunk.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_kerosene_polite, mp_fuselage_15_kerosene_polite.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_kerosene_blackjack, mp_fuselage_15_kerosene_blackjack.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_kerosene_lambda, mp_fuselage_15_kerosene_lambda.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_kerosene_minuteman, mp_fuselage_15_kerosene_minuteman.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_kerosene_pip, mp_fuselage_15_kerosene_pip.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_kerosene_taint, mp_fuselage_15_kerosene_taint.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_kerosene_yuck, mp_fuselage_15_kerosene_yuck.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_solid, mp_fuselage_15_solid.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_solid_insulation, mp_fuselage_15_solid_insulation.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_solid_desh, mp_fuselage_15_solid_desh.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_solid_soviet_glory, mp_fuselage_15_solid_soviet_glory.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_solid_soviet_stank, mp_fuselage_15_solid_soviet_stank.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_solid_faust, mp_fuselage_15_solid_faust.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_solid_silvermoonlight, mp_fuselage_15_solid_silvermoonlight.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_solid_snowy, mp_fuselage_15_solid_snowy.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_solid_panorama, mp_fuselage_15_solid_panorama.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_solid_roses, mp_fuselage_15_solid_roses.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_solid_mimi, mp_fuselage_15_solid_mimi.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_hydrogen, mp_fuselage_15_hydrogen.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_hydrogen_cathedral, mp_fuselage_15_hydrogen_cathedral.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_balefire, mp_fuselage_15_balefire.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_20_kerosene, mp_fuselage_15_20_kerosene.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_20_kerosene_magnusson, mp_fuselage_15_20_kerosene_magnusson.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_15_20_solid, mp_fuselage_15_20_solid.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_20_kerosene, mp_fuselage_20_kerosene.getUnlocalizedName()); + GameRegistry.registerItem(mp_warhead_10_he, mp_warhead_10_he.getUnlocalizedName()); + GameRegistry.registerItem(mp_warhead_10_incendiary, mp_warhead_10_incendiary.getUnlocalizedName()); + GameRegistry.registerItem(mp_warhead_10_buster, mp_warhead_10_buster.getUnlocalizedName()); + GameRegistry.registerItem(mp_warhead_10_nuclear, mp_warhead_10_nuclear.getUnlocalizedName()); + GameRegistry.registerItem(mp_warhead_10_nuclear_large, mp_warhead_10_nuclear_large.getUnlocalizedName()); + GameRegistry.registerItem(mp_warhead_10_taint, mp_warhead_10_taint.getUnlocalizedName()); + GameRegistry.registerItem(mp_warhead_10_cloud, mp_warhead_10_cloud.getUnlocalizedName()); + GameRegistry.registerItem(mp_warhead_15_he, mp_warhead_15_he.getUnlocalizedName()); + GameRegistry.registerItem(mp_warhead_15_incendiary, mp_warhead_15_incendiary.getUnlocalizedName()); + GameRegistry.registerItem(mp_warhead_15_nuclear, mp_warhead_15_nuclear.getUnlocalizedName()); + GameRegistry.registerItem(mp_warhead_15_nuclear_shark, mp_warhead_15_nuclear_shark.getUnlocalizedName()); + GameRegistry.registerItem(mp_warhead_15_nuclear_mimi, mp_warhead_15_nuclear_mimi.getUnlocalizedName()); + GameRegistry.registerItem(mp_warhead_15_boxcar, mp_warhead_15_boxcar.getUnlocalizedName()); + GameRegistry.registerItem(mp_warhead_15_n2, mp_warhead_15_n2.getUnlocalizedName()); + GameRegistry.registerItem(mp_warhead_15_balefire, mp_warhead_15_balefire.getUnlocalizedName()); + GameRegistry.registerItem(mp_warhead_15_turbine, mp_warhead_15_turbine.getUnlocalizedName()); + GameRegistry.registerItem(mp_warhead_20_he, mp_warhead_20_he.getUnlocalizedName()); + GameRegistry.registerItem(mp_chip_1, mp_chip_1.getUnlocalizedName()); + GameRegistry.registerItem(mp_chip_2, mp_chip_2.getUnlocalizedName()); + GameRegistry.registerItem(mp_chip_3, mp_chip_3.getUnlocalizedName()); + GameRegistry.registerItem(mp_chip_4, mp_chip_4.getUnlocalizedName()); + GameRegistry.registerItem(mp_chip_5, mp_chip_5.getUnlocalizedName()); + + //Satellites + GameRegistry.registerItem(sat_mapper, sat_mapper.getUnlocalizedName()); + GameRegistry.registerItem(sat_scanner, sat_scanner.getUnlocalizedName()); + GameRegistry.registerItem(sat_radar, sat_radar.getUnlocalizedName()); + GameRegistry.registerItem(sat_laser, sat_laser.getUnlocalizedName()); + GameRegistry.registerItem(sat_foeq, sat_foeq.getUnlocalizedName()); + GameRegistry.registerItem(sat_resonator, sat_resonator.getUnlocalizedName()); + GameRegistry.registerItem(sat_miner, sat_miner.getUnlocalizedName()); + GameRegistry.registerItem(sat_lunar_miner, sat_lunar_miner.getUnlocalizedName()); + GameRegistry.registerItem(sat_gerald, sat_gerald.getUnlocalizedName()); + GameRegistry.registerItem(sat_chip, sat_chip.getUnlocalizedName()); + GameRegistry.registerItem(sat_interface, sat_interface.getUnlocalizedName()); + GameRegistry.registerItem(sat_coord, sat_coord.getUnlocalizedName()); + GameRegistry.registerItem(sat_designator, sat_designator.getUnlocalizedName()); + GameRegistry.registerItem(sat_relay, sat_relay.getUnlocalizedName()); + + //Guns + GameRegistry.registerItem(gun_b92, gun_b92.getUnlocalizedName()); + GameRegistry.registerItem(crucible, crucible.getUnlocalizedName()); + + GameRegistry.registerItem(gun_debug, gun_debug.getUnlocalizedName()); + GameRegistry.registerItem(ammo_debug, ammo_debug.getUnlocalizedName()); + + GameRegistry.registerItem(gun_pepperbox, gun_pepperbox.getUnlocalizedName()); + GameRegistry.registerItem(gun_light_revolver, gun_light_revolver.getUnlocalizedName()); + GameRegistry.registerItem(gun_light_revolver_atlas, gun_light_revolver_atlas.getUnlocalizedName()); + GameRegistry.registerItem(gun_light_revolver_dani, gun_light_revolver_dani.getUnlocalizedName()); + GameRegistry.registerItem(gun_henry, gun_henry.getUnlocalizedName()); + GameRegistry.registerItem(gun_henry_lincoln, gun_henry_lincoln.getUnlocalizedName()); + GameRegistry.registerItem(gun_greasegun, gun_greasegun.getUnlocalizedName()); + GameRegistry.registerItem(gun_maresleg, gun_maresleg.getUnlocalizedName()); + GameRegistry.registerItem(gun_maresleg_akimbo, gun_maresleg_akimbo.getUnlocalizedName()); + GameRegistry.registerItem(gun_maresleg_broken, gun_maresleg_broken.getUnlocalizedName()); + GameRegistry.registerItem(gun_flaregun, gun_flaregun.getUnlocalizedName()); + GameRegistry.registerItem(gun_heavy_revolver, gun_heavy_revolver.getUnlocalizedName()); + GameRegistry.registerItem(gun_heavy_revolver_lilmac, gun_heavy_revolver_lilmac.getUnlocalizedName()); + GameRegistry.registerItem(gun_heavy_revolver_protege, gun_heavy_revolver_protege.getUnlocalizedName()); + GameRegistry.registerItem(gun_carbine, gun_carbine.getUnlocalizedName()); + GameRegistry.registerItem(gun_am180, gun_am180.getUnlocalizedName()); + GameRegistry.registerItem(gun_liberator, gun_liberator.getUnlocalizedName()); + GameRegistry.registerItem(gun_congolake, gun_congolake.getUnlocalizedName()); + GameRegistry.registerItem(gun_flamer, gun_flamer.getUnlocalizedName()); + GameRegistry.registerItem(gun_flamer_topaz, gun_flamer_topaz.getUnlocalizedName()); + GameRegistry.registerItem(gun_flamer_daybreaker, gun_flamer_daybreaker.getUnlocalizedName()); + GameRegistry.registerItem(gun_uzi, gun_uzi.getUnlocalizedName()); + GameRegistry.registerItem(gun_uzi_akimbo, gun_uzi_akimbo.getUnlocalizedName()); + GameRegistry.registerItem(gun_spas12, gun_spas12.getUnlocalizedName()); + GameRegistry.registerItem(gun_panzerschreck, gun_panzerschreck.getUnlocalizedName()); + GameRegistry.registerItem(gun_g3, gun_g3.getUnlocalizedName()); + GameRegistry.registerItem(gun_g3_zebra, gun_g3_zebra.getUnlocalizedName()); + GameRegistry.registerItem(gun_stinger, gun_stinger.getUnlocalizedName()); + GameRegistry.registerItem(gun_chemthrower, gun_chemthrower.getUnlocalizedName()); + GameRegistry.registerItem(gun_amat, gun_amat.getUnlocalizedName()); + GameRegistry.registerItem(gun_amat_subtlety, gun_amat_subtlety.getUnlocalizedName()); + GameRegistry.registerItem(gun_amat_penance, gun_amat_penance.getUnlocalizedName()); + GameRegistry.registerItem(gun_m2, gun_m2.getUnlocalizedName()); + GameRegistry.registerItem(gun_autoshotgun, gun_autoshotgun.getUnlocalizedName()); + GameRegistry.registerItem(gun_autoshotgun_shredder, gun_autoshotgun_shredder.getUnlocalizedName()); + GameRegistry.registerItem(gun_autoshotgun_sexy, gun_autoshotgun_sexy.getUnlocalizedName()); + GameRegistry.registerItem(gun_quadro, gun_quadro.getUnlocalizedName()); + GameRegistry.registerItem(gun_lag, gun_lag.getUnlocalizedName()); + GameRegistry.registerItem(gun_minigun, gun_minigun.getUnlocalizedName()); + GameRegistry.registerItem(gun_minigun_dual, gun_minigun_dual.getUnlocalizedName()); + GameRegistry.registerItem(gun_minigun_lacunae, gun_minigun_lacunae.getUnlocalizedName()); + GameRegistry.registerItem(gun_missile_launcher, gun_missile_launcher.getUnlocalizedName()); + GameRegistry.registerItem(gun_tesla_cannon, gun_tesla_cannon.getUnlocalizedName()); + GameRegistry.registerItem(gun_laser_pistol, gun_laser_pistol.getUnlocalizedName()); + GameRegistry.registerItem(gun_laser_pistol_pew_pew, gun_laser_pistol_pew_pew.getUnlocalizedName()); + GameRegistry.registerItem(gun_laser_pistol_morning_glory, gun_laser_pistol_morning_glory.getUnlocalizedName()); + GameRegistry.registerItem(gun_stg77, gun_stg77.getUnlocalizedName()); + GameRegistry.registerItem(gun_tau, gun_tau.getUnlocalizedName()); + GameRegistry.registerItem(gun_fatman, gun_fatman.getUnlocalizedName()); + GameRegistry.registerItem(gun_lasrifle, gun_lasrifle.getUnlocalizedName()); + GameRegistry.registerItem(gun_coilgun, gun_coilgun.getUnlocalizedName()); + GameRegistry.registerItem(gun_hangman, gun_hangman.getUnlocalizedName()); + GameRegistry.registerItem(gun_mas36, gun_mas36.getUnlocalizedName()); + GameRegistry.registerItem(gun_bolter, gun_bolter.getUnlocalizedName()); + GameRegistry.registerItem(gun_folly, gun_folly.getUnlocalizedName()); + GameRegistry.registerItem(gun_aberrator, gun_aberrator.getUnlocalizedName()); + GameRegistry.registerItem(gun_aberrator_eott, gun_aberrator_eott.getUnlocalizedName()); + GameRegistry.registerItem(gun_double_barrel, gun_double_barrel.getUnlocalizedName()); + GameRegistry.registerItem(gun_double_barrel_sacred_dragon, gun_double_barrel_sacred_dragon.getUnlocalizedName()); + + GameRegistry.registerItem(gun_fireext, gun_fireext.getUnlocalizedName()); + GameRegistry.registerItem(gun_charge_thrower, gun_charge_thrower.getUnlocalizedName()); + + GameRegistry.registerItem(ammo_standard, ammo_standard.getUnlocalizedName()); + GameRegistry.registerItem(ammo_secret, ammo_secret.getUnlocalizedName()); + + GameRegistry.registerItem(weapon_mod_test, weapon_mod_test.getUnlocalizedName()); + GameRegistry.registerItem(weapon_mod_generic, weapon_mod_generic.getUnlocalizedName()); + GameRegistry.registerItem(weapon_mod_special, weapon_mod_special.getUnlocalizedName()); + GameRegistry.registerItem(weapon_mod_caliber, weapon_mod_caliber.getUnlocalizedName()); + + //Ammo + GameRegistry.registerItem(gun_b92_ammo, gun_b92_ammo.getUnlocalizedName()); + + GameRegistry.registerItem(ammo_fireext, ammo_fireext.getUnlocalizedName()); + GameRegistry.registerItem(ammo_shell, ammo_shell.getUnlocalizedName()); + GameRegistry.registerItem(ammo_dgk, ammo_dgk.getUnlocalizedName()); + GameRegistry.registerItem(ammo_arty, ammo_arty.getUnlocalizedName()); + GameRegistry.registerItem(ammo_himars, ammo_himars.getUnlocalizedName()); + + GameRegistry.registerItem(ammo_container, ammo_container.getUnlocalizedName()); + + //Grenades + GameRegistry.registerItem(stick_dynamite, stick_dynamite.getUnlocalizedName()); //heave-ho! + GameRegistry.registerItem(stick_dynamite_fishing, stick_dynamite_fishing.getUnlocalizedName()); + GameRegistry.registerItem(stick_tnt, stick_tnt.getUnlocalizedName()); + GameRegistry.registerItem(stick_semtex, stick_semtex.getUnlocalizedName()); + GameRegistry.registerItem(stick_c4, stick_c4.getUnlocalizedName()); + GameRegistry.registerItem(grenade_generic, grenade_generic.getUnlocalizedName()); + GameRegistry.registerItem(grenade_strong, grenade_strong.getUnlocalizedName()); + GameRegistry.registerItem(grenade_frag, grenade_frag.getUnlocalizedName()); + GameRegistry.registerItem(grenade_fire, grenade_fire.getUnlocalizedName()); + GameRegistry.registerItem(grenade_shrapnel, grenade_shrapnel.getUnlocalizedName()); + GameRegistry.registerItem(grenade_cluster, grenade_cluster.getUnlocalizedName()); + GameRegistry.registerItem(grenade_flare, grenade_flare.getUnlocalizedName()); + GameRegistry.registerItem(grenade_electric, grenade_electric.getUnlocalizedName()); + GameRegistry.registerItem(grenade_poison, grenade_poison.getUnlocalizedName()); + GameRegistry.registerItem(grenade_gas, grenade_gas.getUnlocalizedName()); + GameRegistry.registerItem(grenade_cloud, grenade_cloud.getUnlocalizedName()); + GameRegistry.registerItem(grenade_pink_cloud, grenade_pink_cloud.getUnlocalizedName()); + GameRegistry.registerItem(grenade_smart, grenade_smart.getUnlocalizedName()); + GameRegistry.registerItem(grenade_mirv, grenade_mirv.getUnlocalizedName()); + GameRegistry.registerItem(grenade_breach, grenade_breach.getUnlocalizedName()); + GameRegistry.registerItem(grenade_burst, grenade_burst.getUnlocalizedName()); + GameRegistry.registerItem(grenade_pulse, grenade_pulse.getUnlocalizedName()); + GameRegistry.registerItem(grenade_plasma, grenade_plasma.getUnlocalizedName()); + GameRegistry.registerItem(grenade_tau, grenade_tau.getUnlocalizedName()); + GameRegistry.registerItem(grenade_schrabidium, grenade_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(grenade_nuke, grenade_nuke.getUnlocalizedName()); + GameRegistry.registerItem(grenade_lemon, grenade_lemon.getUnlocalizedName()); + GameRegistry.registerItem(grenade_gascan, grenade_gascan.getUnlocalizedName()); + GameRegistry.registerItem(grenade_kyiv, grenade_kyiv.getUnlocalizedName()); + GameRegistry.registerItem(grenade_mk2, grenade_mk2.getUnlocalizedName()); + GameRegistry.registerItem(grenade_aschrab, grenade_aschrab.getUnlocalizedName()); + GameRegistry.registerItem(grenade_nuclear, grenade_nuclear.getUnlocalizedName()); + GameRegistry.registerItem(grenade_zomg, grenade_zomg.getUnlocalizedName()); + GameRegistry.registerItem(grenade_black_hole, grenade_black_hole.getUnlocalizedName()); + + GameRegistry.registerItem(grenade_if_generic, grenade_if_generic.getUnlocalizedName()); + GameRegistry.registerItem(grenade_if_he, grenade_if_he.getUnlocalizedName()); + GameRegistry.registerItem(grenade_if_bouncy, grenade_if_bouncy.getUnlocalizedName()); + GameRegistry.registerItem(grenade_if_sticky, grenade_if_sticky.getUnlocalizedName()); + GameRegistry.registerItem(grenade_if_impact, grenade_if_impact.getUnlocalizedName()); + GameRegistry.registerItem(grenade_if_incendiary, grenade_if_incendiary.getUnlocalizedName()); + GameRegistry.registerItem(grenade_if_toxic, grenade_if_toxic.getUnlocalizedName()); + GameRegistry.registerItem(grenade_if_concussion, grenade_if_concussion.getUnlocalizedName()); + GameRegistry.registerItem(grenade_if_brimstone, grenade_if_brimstone.getUnlocalizedName()); + GameRegistry.registerItem(grenade_if_mystery, grenade_if_mystery.getUnlocalizedName()); + GameRegistry.registerItem(grenade_if_spark, grenade_if_spark.getUnlocalizedName()); + GameRegistry.registerItem(grenade_if_hopwire, grenade_if_hopwire.getUnlocalizedName()); + GameRegistry.registerItem(grenade_if_null, grenade_if_null.getUnlocalizedName()); + GameRegistry.registerItem(nuclear_waste_pearl, nuclear_waste_pearl.getUnlocalizedName()); + + //Disperser Canister + GameRegistry.registerItem(disperser_canister_empty, disperser_canister_empty.getUnlocalizedName()); + GameRegistry.registerItem(disperser_canister, disperser_canister.getUnlocalizedName()); + GameRegistry.registerItem(glyphid_gland_empty, glyphid_gland_empty.getUnlocalizedName()); + GameRegistry.registerItem(glyphid_gland, glyphid_gland.getUnlocalizedName()); + + GameRegistry.registerItem(ullapool_caber, ullapool_caber.getUnlocalizedName()); + GameRegistry.registerItem(weaponized_starblaster_cell, weaponized_starblaster_cell.getUnlocalizedName()); + + //Capes + GameRegistry.registerItem(cape_radiation, cape_radiation.getUnlocalizedName()); + GameRegistry.registerItem(cape_gasmask, cape_gasmask.getUnlocalizedName()); + GameRegistry.registerItem(cape_schrabidium, cape_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(cape_hidden, cape_hidden.getUnlocalizedName()); + + //Tools + GameRegistry.registerItem(dwarven_pickaxe, dwarven_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(schrabidium_sword, schrabidium_sword.getUnlocalizedName()); + GameRegistry.registerItem(schrabidium_hammer, schrabidium_hammer.getUnlocalizedName()); + GameRegistry.registerItem(shimmer_sledge, shimmer_sledge.getUnlocalizedName()); + GameRegistry.registerItem(shimmer_axe, shimmer_axe.getUnlocalizedName()); + GameRegistry.registerItem(wood_gavel, wood_gavel.getUnlocalizedName()); + GameRegistry.registerItem(lead_gavel, lead_gavel.getUnlocalizedName()); + GameRegistry.registerItem(diamond_gavel, diamond_gavel.getUnlocalizedName()); + GameRegistry.registerItem(mese_gavel, mese_gavel.getUnlocalizedName()); + GameRegistry.registerItem(schrabidium_pickaxe, schrabidium_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(schrabidium_axe, schrabidium_axe.getUnlocalizedName()); + GameRegistry.registerItem(schrabidium_shovel, schrabidium_shovel.getUnlocalizedName()); + GameRegistry.registerItem(schrabidium_hoe, schrabidium_hoe.getUnlocalizedName()); + GameRegistry.registerItem(steel_sword, steel_sword.getUnlocalizedName()); + GameRegistry.registerItem(steel_pickaxe, steel_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(steel_axe, steel_axe.getUnlocalizedName()); + GameRegistry.registerItem(steel_shovel, steel_shovel.getUnlocalizedName()); + GameRegistry.registerItem(steel_hoe, steel_hoe.getUnlocalizedName()); + GameRegistry.registerItem(titanium_sword, titanium_sword.getUnlocalizedName()); + GameRegistry.registerItem(titanium_pickaxe, titanium_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(titanium_axe, titanium_axe.getUnlocalizedName()); + GameRegistry.registerItem(titanium_shovel, titanium_shovel.getUnlocalizedName()); + GameRegistry.registerItem(titanium_hoe, titanium_hoe.getUnlocalizedName()); + GameRegistry.registerItem(cobalt_sword, cobalt_sword.getUnlocalizedName()); + GameRegistry.registerItem(cobalt_pickaxe, cobalt_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(cobalt_axe, cobalt_axe.getUnlocalizedName()); + GameRegistry.registerItem(cobalt_shovel, cobalt_shovel.getUnlocalizedName()); + GameRegistry.registerItem(cobalt_hoe, cobalt_hoe.getUnlocalizedName()); + GameRegistry.registerItem(cobalt_decorated_sword, cobalt_decorated_sword.getUnlocalizedName()); + GameRegistry.registerItem(cobalt_decorated_pickaxe, cobalt_decorated_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(cobalt_decorated_axe, cobalt_decorated_axe.getUnlocalizedName()); + GameRegistry.registerItem(cobalt_decorated_shovel, cobalt_decorated_shovel.getUnlocalizedName()); + GameRegistry.registerItem(cobalt_decorated_hoe, cobalt_decorated_hoe.getUnlocalizedName()); + GameRegistry.registerItem(starmetal_sword, starmetal_sword.getUnlocalizedName()); + GameRegistry.registerItem(starmetal_pickaxe, starmetal_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(starmetal_axe, starmetal_axe.getUnlocalizedName()); + GameRegistry.registerItem(starmetal_shovel, starmetal_shovel.getUnlocalizedName()); + GameRegistry.registerItem(starmetal_hoe, starmetal_hoe.getUnlocalizedName()); + GameRegistry.registerItem(alloy_sword, alloy_sword.getUnlocalizedName()); + GameRegistry.registerItem(alloy_pickaxe, alloy_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(alloy_axe, alloy_axe.getUnlocalizedName()); + GameRegistry.registerItem(alloy_shovel, alloy_shovel.getUnlocalizedName()); + GameRegistry.registerItem(alloy_hoe, alloy_hoe.getUnlocalizedName()); + GameRegistry.registerItem(cmb_sword, cmb_sword.getUnlocalizedName()); + GameRegistry.registerItem(cmb_pickaxe, cmb_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(cmb_axe, cmb_axe.getUnlocalizedName()); + GameRegistry.registerItem(cmb_shovel, cmb_shovel.getUnlocalizedName()); + GameRegistry.registerItem(cmb_hoe, cmb_hoe.getUnlocalizedName()); + GameRegistry.registerItem(desh_sword, desh_sword.getUnlocalizedName()); + GameRegistry.registerItem(desh_pickaxe, desh_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(desh_axe, desh_axe.getUnlocalizedName()); + GameRegistry.registerItem(desh_shovel, desh_shovel.getUnlocalizedName()); + GameRegistry.registerItem(desh_hoe, desh_hoe.getUnlocalizedName()); + GameRegistry.registerItem(elec_sword, elec_sword.getUnlocalizedName()); + GameRegistry.registerItem(elec_pickaxe, elec_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(elec_axe, elec_axe.getUnlocalizedName()); + GameRegistry.registerItem(elec_shovel, elec_shovel.getUnlocalizedName()); + GameRegistry.registerItem(dnt_sword, dnt_sword.getUnlocalizedName()); + GameRegistry.registerItem(smashing_hammer, smashing_hammer.getUnlocalizedName()); + GameRegistry.registerItem(centri_stick, centri_stick.getUnlocalizedName()); + GameRegistry.registerItem(drax, drax.getUnlocalizedName()); + GameRegistry.registerItem(drax_mk2, drax_mk2.getUnlocalizedName()); + GameRegistry.registerItem(drax_mk3, drax_mk3.getUnlocalizedName()); + GameRegistry.registerItem(bismuth_pickaxe, bismuth_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(bismuth_axe, bismuth_axe.getUnlocalizedName()); + GameRegistry.registerItem(volcanic_pickaxe, volcanic_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(volcanic_axe, volcanic_axe.getUnlocalizedName()); + GameRegistry.registerItem(chlorophyte_pickaxe, chlorophyte_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(chlorophyte_axe, chlorophyte_axe.getUnlocalizedName()); + GameRegistry.registerItem(mese_pickaxe, mese_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(mese_axe, mese_axe.getUnlocalizedName()); GameRegistry.registerItem(matchstick, matchstick.getUnlocalizedName()); + GameRegistry.registerItem(balefire_and_steel, balefire_and_steel.getUnlocalizedName()); + GameRegistry.registerItem(crowbar, crowbar.getUnlocalizedName()); + GameRegistry.registerItem(wrench, wrench.getUnlocalizedName()); + GameRegistry.registerItem(wrench_archineer, wrench_archineer.getUnlocalizedName()); + GameRegistry.registerItem(wrench_flipped, wrench_flipped.getUnlocalizedName()); + GameRegistry.registerItem(memespoon, memespoon.getUnlocalizedName()); + GameRegistry.registerItem(saw, saw.getUnlocalizedName()); + GameRegistry.registerItem(bat, bat.getUnlocalizedName()); + GameRegistry.registerItem(bat_nail, bat_nail.getUnlocalizedName()); + GameRegistry.registerItem(golf_club, golf_club.getUnlocalizedName()); + GameRegistry.registerItem(pipe_rusty, pipe_rusty.getUnlocalizedName()); + GameRegistry.registerItem(pipe_lead, pipe_lead.getUnlocalizedName()); + GameRegistry.registerItem(reer_graar, reer_graar.getUnlocalizedName()); + GameRegistry.registerItem(stopsign, stopsign.getUnlocalizedName()); + GameRegistry.registerItem(sopsign, sopsign.getUnlocalizedName()); + GameRegistry.registerItem(chernobylsign, chernobylsign.getUnlocalizedName()); + + GameRegistry.registerItem(meteorite_sword, meteorite_sword.getUnlocalizedName()); + GameRegistry.registerItem(meteorite_sword_seared, meteorite_sword_seared.getUnlocalizedName()); + GameRegistry.registerItem(meteorite_sword_reforged, meteorite_sword_reforged.getUnlocalizedName()); + GameRegistry.registerItem(meteorite_sword_hardened, meteorite_sword_hardened.getUnlocalizedName()); + GameRegistry.registerItem(meteorite_sword_alloyed, meteorite_sword_alloyed.getUnlocalizedName()); + GameRegistry.registerItem(meteorite_sword_machined, meteorite_sword_machined.getUnlocalizedName()); + GameRegistry.registerItem(meteorite_sword_treated, meteorite_sword_treated.getUnlocalizedName()); + GameRegistry.registerItem(meteorite_sword_etched, meteorite_sword_etched.getUnlocalizedName()); + GameRegistry.registerItem(meteorite_sword_bred, meteorite_sword_bred.getUnlocalizedName()); + GameRegistry.registerItem(meteorite_sword_irradiated, meteorite_sword_irradiated.getUnlocalizedName()); + GameRegistry.registerItem(meteorite_sword_fused, meteorite_sword_fused.getUnlocalizedName()); + GameRegistry.registerItem(meteorite_sword_baleful, meteorite_sword_baleful.getUnlocalizedName()); + + //Multitool + GameRegistry.registerItem(multitool_hit, multitool_hit.getUnlocalizedName()); + GameRegistry.registerItem(multitool_dig, multitool_dig.getUnlocalizedName()); + GameRegistry.registerItem(multitool_silk, multitool_silk.getUnlocalizedName()); + GameRegistry.registerItem(multitool_ext, multitool_ext.getUnlocalizedName()); + GameRegistry.registerItem(multitool_miner, multitool_miner.getUnlocalizedName()); + GameRegistry.registerItem(multitool_beam, multitool_beam.getUnlocalizedName()); + GameRegistry.registerItem(multitool_sky, multitool_sky.getUnlocalizedName()); + GameRegistry.registerItem(multitool_mega, multitool_mega.getUnlocalizedName()); + GameRegistry.registerItem(multitool_joule, multitool_joule.getUnlocalizedName()); + GameRegistry.registerItem(multitool_decon, multitool_decon.getUnlocalizedName()); + + //Syringes & Pills + GameRegistry.registerItem(syringe_empty, syringe_empty.getUnlocalizedName()); + GameRegistry.registerItem(syringe_antidote, syringe_antidote.getUnlocalizedName()); + GameRegistry.registerItem(syringe_poison, syringe_poison.getUnlocalizedName()); + GameRegistry.registerItem(syringe_awesome, syringe_awesome.getUnlocalizedName()); + GameRegistry.registerItem(syringe_metal_empty, syringe_metal_empty.getUnlocalizedName()); + GameRegistry.registerItem(syringe_metal_stimpak, syringe_metal_stimpak.getUnlocalizedName()); + GameRegistry.registerItem(syringe_metal_medx, syringe_metal_medx.getUnlocalizedName()); + GameRegistry.registerItem(syringe_metal_psycho, syringe_metal_psycho.getUnlocalizedName()); + GameRegistry.registerItem(syringe_metal_super, syringe_metal_super.getUnlocalizedName()); + GameRegistry.registerItem(syringe_taint, syringe_taint.getUnlocalizedName()); + GameRegistry.registerItem(syringe_mkunicorn, syringe_mkunicorn.getUnlocalizedName()); + GameRegistry.registerItem(med_bag, med_bag.getUnlocalizedName()); + GameRegistry.registerItem(iv_empty, iv_empty.getUnlocalizedName()); + GameRegistry.registerItem(iv_blood, iv_blood.getUnlocalizedName()); + GameRegistry.registerItem(iv_xp_empty, iv_xp_empty.getUnlocalizedName()); + GameRegistry.registerItem(iv_xp, iv_xp.getUnlocalizedName()); + GameRegistry.registerItem(radaway, radaway.getUnlocalizedName()); + GameRegistry.registerItem(radaway_strong, radaway_strong.getUnlocalizedName()); + GameRegistry.registerItem(radaway_flush, radaway_flush.getUnlocalizedName()); + GameRegistry.registerItem(radx, radx.getUnlocalizedName()); + GameRegistry.registerItem(siox, siox.getUnlocalizedName()); + GameRegistry.registerItem(pill_herbal, pill_herbal.getUnlocalizedName()); + GameRegistry.registerItem(pill_iodine, pill_iodine.getUnlocalizedName()); + GameRegistry.registerItem(xanax, xanax.getUnlocalizedName()); + GameRegistry.registerItem(fmn, fmn.getUnlocalizedName()); + GameRegistry.registerItem(five_htp, five_htp.getUnlocalizedName()); + GameRegistry.registerItem(plan_c, plan_c.getUnlocalizedName()); + GameRegistry.registerItem(pill_red, pill_red.getUnlocalizedName()); + GameRegistry.registerItem(stealth_boy, stealth_boy.getUnlocalizedName()); + GameRegistry.registerItem(gas_mask_filter, gas_mask_filter.getUnlocalizedName()); + GameRegistry.registerItem(gas_mask_filter_mono, gas_mask_filter_mono.getUnlocalizedName()); + GameRegistry.registerItem(gas_mask_filter_combo, gas_mask_filter_combo.getUnlocalizedName()); + GameRegistry.registerItem(gas_mask_filter_rag, gas_mask_filter_rag.getUnlocalizedName()); + GameRegistry.registerItem(gas_mask_filter_piss, gas_mask_filter_piss.getUnlocalizedName()); + GameRegistry.registerItem(jetpack_tank, jetpack_tank.getUnlocalizedName()); + GameRegistry.registerItem(gun_kit_1, gun_kit_1.getUnlocalizedName()); + GameRegistry.registerItem(gun_kit_2, gun_kit_2.getUnlocalizedName()); + + //Food + GameRegistry.registerItem(bomb_waffle, bomb_waffle.getUnlocalizedName()); + GameRegistry.registerItem(schnitzel_vegan, schnitzel_vegan.getUnlocalizedName()); + GameRegistry.registerItem(cotton_candy, cotton_candy.getUnlocalizedName()); + GameRegistry.registerItem(apple_lead, apple_lead.getUnlocalizedName()); + GameRegistry.registerItem(apple_schrabidium, apple_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(tem_flakes, tem_flakes.getUnlocalizedName()); + GameRegistry.registerItem(glowing_stew, glowing_stew.getUnlocalizedName()); + GameRegistry.registerItem(balefire_scrambled, balefire_scrambled.getUnlocalizedName()); + GameRegistry.registerItem(balefire_and_ham, balefire_and_ham.getUnlocalizedName()); + GameRegistry.registerItem(lemon, lemon.getUnlocalizedName()); + GameRegistry.registerItem(definitelyfood, definitelyfood.getUnlocalizedName()); + GameRegistry.registerItem(loops, loops.getUnlocalizedName()); + GameRegistry.registerItem(loop_stew, loop_stew.getUnlocalizedName()); + GameRegistry.registerItem(spongebob_macaroni, spongebob_macaroni.getUnlocalizedName()); + GameRegistry.registerItem(fooditem, fooditem.getUnlocalizedName()); + GameRegistry.registerItem(twinkie, twinkie.getUnlocalizedName()); + GameRegistry.registerItem(static_sandwich, static_sandwich.getUnlocalizedName()); + GameRegistry.registerItem(pudding, pudding.getUnlocalizedName()); + GameRegistry.registerItem(pancake, pancake.getUnlocalizedName()); + GameRegistry.registerItem(nugget, nugget.getUnlocalizedName()); + GameRegistry.registerItem(peas, peas.getUnlocalizedName()); + GameRegistry.registerItem(marshmallow, marshmallow.getUnlocalizedName()); + GameRegistry.registerItem(cheese, cheese.getUnlocalizedName()); + GameRegistry.registerItem(quesadilla, quesadilla.getUnlocalizedName()); + GameRegistry.registerItem(glyphid_meat, glyphid_meat.getUnlocalizedName()); + GameRegistry.registerItem(glyphid_meat_grilled, glyphid_meat_grilled.getUnlocalizedName()); + GameRegistry.registerItem(egg_glyphid, egg_glyphid.getUnlocalizedName()); + GameRegistry.registerItem(med_ipecac, med_ipecac.getUnlocalizedName()); + GameRegistry.registerItem(med_ptsd, med_ptsd.getUnlocalizedName()); + GameRegistry.registerItem(canteen_vodka, canteen_vodka.getUnlocalizedName()); + GameRegistry.registerItem(mucho_mango, mucho_mango.getUnlocalizedName()); + GameRegistry.registerItem(chocolate, chocolate.getUnlocalizedName()); + + //Energy Drinks + GameRegistry.registerItem(can_empty, can_empty.getUnlocalizedName()); + GameRegistry.registerItem(can_smart, can_smart.getUnlocalizedName()); + GameRegistry.registerItem(can_creature, can_creature.getUnlocalizedName()); + GameRegistry.registerItem(can_redbomb, can_redbomb.getUnlocalizedName()); + GameRegistry.registerItem(can_mrsugar, can_mrsugar.getUnlocalizedName()); + GameRegistry.registerItem(can_overcharge, can_overcharge.getUnlocalizedName()); + GameRegistry.registerItem(can_luna, can_luna.getUnlocalizedName()); + GameRegistry.registerItem(can_bepis, can_bepis.getUnlocalizedName()); + GameRegistry.registerItem(can_breen, can_breen.getUnlocalizedName()); + GameRegistry.registerItem(can_mug, can_mug.getUnlocalizedName()); + + //Coffee + GameRegistry.registerItem(coffee, coffee.getUnlocalizedName()); + GameRegistry.registerItem(coffee_radium, coffee_radium.getUnlocalizedName()); + + //Cola + GameRegistry.registerItem(bottle_empty, bottle_empty.getUnlocalizedName()); + GameRegistry.registerItem(bottle_nuka, bottle_nuka.getUnlocalizedName()); + GameRegistry.registerItem(bottle_cherry, bottle_cherry.getUnlocalizedName()); + GameRegistry.registerItem(bottle_quantum, bottle_quantum.getUnlocalizedName()); + GameRegistry.registerItem(bottle_sparkle, bottle_sparkle.getUnlocalizedName()); + GameRegistry.registerItem(bottle_rad, bottle_rad.getUnlocalizedName()); + GameRegistry.registerItem(bottle2_empty, bottle2_empty.getUnlocalizedName()); + GameRegistry.registerItem(bottle2_korl, bottle2_korl.getUnlocalizedName()); + GameRegistry.registerItem(bottle2_fritz, bottle2_fritz.getUnlocalizedName()); + GameRegistry.registerItem(bottle2_korl_special, bottle2_korl_special.getUnlocalizedName()); + GameRegistry.registerItem(bottle2_fritz_special, bottle2_fritz_special.getUnlocalizedName()); + GameRegistry.registerItem(bottle_opener, bottle_opener.getUnlocalizedName()); + + //Flasks + GameRegistry.registerItem(flask_infusion, flask_infusion.getUnlocalizedName()); + + //Canned Food + GameRegistry.registerItem(canned_conserve, canned_conserve.getUnlocalizedName()); + + //Money + GameRegistry.registerItem(cap_nuka, cap_nuka.getUnlocalizedName()); + GameRegistry.registerItem(cap_quantum, cap_quantum.getUnlocalizedName()); + GameRegistry.registerItem(cap_sparkle, cap_sparkle.getUnlocalizedName()); + GameRegistry.registerItem(cap_rad, cap_rad.getUnlocalizedName()); + GameRegistry.registerItem(cap_korl, cap_korl.getUnlocalizedName()); + GameRegistry.registerItem(cap_fritz, cap_fritz.getUnlocalizedName()); + GameRegistry.registerItem(ring_pull, ring_pull.getUnlocalizedName()); + GameRegistry.registerItem(can_key, can_key.getUnlocalizedName()); + GameRegistry.registerItem(coin_creeper, coin_creeper.getUnlocalizedName()); + GameRegistry.registerItem(coin_radiation,coin_radiation.getUnlocalizedName()); + GameRegistry.registerItem(coin_maskman, coin_maskman.getUnlocalizedName()); + GameRegistry.registerItem(coin_worm, coin_worm.getUnlocalizedName()); + GameRegistry.registerItem(coin_ufo, coin_ufo.getUnlocalizedName()); + GameRegistry.registerItem(medal_liquidator, medal_liquidator.getUnlocalizedName()); + GameRegistry.registerItem(bottled_cloud, bottled_cloud.getUnlocalizedName()); + GameRegistry.registerItem(protection_charm, protection_charm.getUnlocalizedName()); + GameRegistry.registerItem(meteor_charm, meteor_charm.getUnlocalizedName()); + GameRegistry.registerItem(neutrino_lens, neutrino_lens.getUnlocalizedName()); + GameRegistry.registerItem(gas_tester, gas_tester.getUnlocalizedName()); + GameRegistry.registerItem(defuser_gold, defuser_gold.getUnlocalizedName()); + GameRegistry.registerItem(ballistic_gauntlet, ballistic_gauntlet.getUnlocalizedName()); + GameRegistry.registerItem(night_vision, night_vision.getUnlocalizedName()); + GameRegistry.registerItem(card_aos, card_aos.getUnlocalizedName()); + GameRegistry.registerItem(card_qos, card_qos.getUnlocalizedName()); + GameRegistry.registerItem(australium_iii, australium_iii.getUnlocalizedName()); + GameRegistry.registerItem(armor_battery, armor_battery.getUnlocalizedName()); + GameRegistry.registerItem(armor_battery_mk2, armor_battery_mk2.getUnlocalizedName()); + GameRegistry.registerItem(armor_battery_mk3, armor_battery_mk3.getUnlocalizedName()); + + //Chaos + GameRegistry.registerItem(chocolate_milk, chocolate_milk.getUnlocalizedName()); + GameRegistry.registerItem(cbt_device, cbt_device.getUnlocalizedName()); + GameRegistry.registerItem(cigarette, cigarette.getUnlocalizedName()); + GameRegistry.registerItem(crackpipe, crackpipe.getUnlocalizedName()); + GameRegistry.registerItem(bdcl, bdcl.getUnlocalizedName()); + + //Armor mods + GameRegistry.registerItem(attachment_mask, attachment_mask.getUnlocalizedName()); + GameRegistry.registerItem(attachment_mask_mono, attachment_mask_mono.getUnlocalizedName()); + GameRegistry.registerItem(back_tesla, back_tesla.getUnlocalizedName()); + GameRegistry.registerItem(servo_set, servo_set.getUnlocalizedName()); + GameRegistry.registerItem(servo_set_desh, servo_set_desh.getUnlocalizedName()); + GameRegistry.registerItem(pads_rubber, pads_rubber.getUnlocalizedName()); + GameRegistry.registerItem(pads_slime, pads_slime.getUnlocalizedName()); + GameRegistry.registerItem(pads_static, pads_static.getUnlocalizedName()); + GameRegistry.registerItem(cladding_paint, cladding_paint.getUnlocalizedName()); + GameRegistry.registerItem(cladding_rubber, cladding_rubber.getUnlocalizedName()); + GameRegistry.registerItem(cladding_lead, cladding_lead.getUnlocalizedName()); + GameRegistry.registerItem(cladding_desh, cladding_desh.getUnlocalizedName()); + GameRegistry.registerItem(cladding_ghiorsium, cladding_ghiorsium.getUnlocalizedName()); + GameRegistry.registerItem(cladding_iron, cladding_iron.getUnlocalizedName()); + GameRegistry.registerItem(cladding_obsidian, cladding_obsidian.getUnlocalizedName()); + GameRegistry.registerItem(insert_kevlar, insert_kevlar.getUnlocalizedName()); + GameRegistry.registerItem(insert_sapi, insert_sapi.getUnlocalizedName()); + GameRegistry.registerItem(insert_esapi, insert_esapi.getUnlocalizedName()); + GameRegistry.registerItem(insert_xsapi, insert_xsapi.getUnlocalizedName()); + GameRegistry.registerItem(insert_steel, insert_steel.getUnlocalizedName()); + GameRegistry.registerItem(insert_du, insert_du.getUnlocalizedName()); + GameRegistry.registerItem(insert_polonium, insert_polonium.getUnlocalizedName()); + GameRegistry.registerItem(insert_ghiorsium, insert_ghiorsium.getUnlocalizedName()); + GameRegistry.registerItem(insert_era, insert_era.getUnlocalizedName()); + GameRegistry.registerItem(insert_yharonite, insert_yharonite.getUnlocalizedName()); + GameRegistry.registerItem(insert_doxium, insert_doxium.getUnlocalizedName()); + GameRegistry.registerItem(armor_polish, armor_polish.getUnlocalizedName()); + GameRegistry.registerItem(bandaid, bandaid.getUnlocalizedName()); + GameRegistry.registerItem(serum, serum.getUnlocalizedName()); + GameRegistry.registerItem(quartz_plutonium, quartz_plutonium.getUnlocalizedName()); + GameRegistry.registerItem(morning_glory, morning_glory.getUnlocalizedName()); + GameRegistry.registerItem(lodestone, lodestone.getUnlocalizedName()); + GameRegistry.registerItem(horseshoe_magnet, horseshoe_magnet.getUnlocalizedName()); + GameRegistry.registerItem(industrial_magnet, industrial_magnet.getUnlocalizedName()); + GameRegistry.registerItem(bathwater, bathwater.getUnlocalizedName()); + GameRegistry.registerItem(bathwater_mk2, bathwater_mk2.getUnlocalizedName()); + GameRegistry.registerItem(spider_milk, spider_milk.getUnlocalizedName()); + GameRegistry.registerItem(ink, ink.getUnlocalizedName()); + GameRegistry.registerItem(heart_piece, heart_piece.getUnlocalizedName()); + GameRegistry.registerItem(heart_container, heart_container.getUnlocalizedName()); + GameRegistry.registerItem(heart_booster, heart_booster.getUnlocalizedName()); + GameRegistry.registerItem(heart_fab, heart_fab.getUnlocalizedName()); + GameRegistry.registerItem(black_diamond, black_diamond.getUnlocalizedName()); + GameRegistry.registerItem(wd40, wd40.getUnlocalizedName()); + GameRegistry.registerItem(scrumpy, scrumpy.getUnlocalizedName()); + GameRegistry.registerItem(wild_p, wild_p.getUnlocalizedName()); + GameRegistry.registerItem(shackles, shackles.getUnlocalizedName()); + GameRegistry.registerItem(injector_5htp, injector_5htp.getUnlocalizedName()); + GameRegistry.registerItem(injector_knife, injector_knife.getUnlocalizedName()); + + //Vehicles + GameRegistry.registerItem(boat_rubber, boat_rubber.getUnlocalizedName()); + GameRegistry.registerItem(cart, cart.getUnlocalizedName()); + GameRegistry.registerItem(train, train.getUnlocalizedName()); + GameRegistry.registerItem(drone, drone.getUnlocalizedName()); + + //High Explosive Lenses + GameRegistry.registerItem(early_explosive_lenses, early_explosive_lenses.getUnlocalizedName()); + GameRegistry.registerItem(explosive_lenses, explosive_lenses.getUnlocalizedName()); + + //The Gadget + //GameRegistry.registerItem(gadget_explosive, gadget_explosive.getUnlocalizedName()); + GameRegistry.registerItem(gadget_wireing, gadget_wireing.getUnlocalizedName()); + GameRegistry.registerItem(gadget_core, gadget_core.getUnlocalizedName()); + + //Little Boy + GameRegistry.registerItem(boy_shielding, boy_shielding.getUnlocalizedName()); + GameRegistry.registerItem(boy_target, boy_target.getUnlocalizedName()); + GameRegistry.registerItem(boy_bullet, boy_bullet.getUnlocalizedName()); + GameRegistry.registerItem(boy_propellant, boy_propellant.getUnlocalizedName()); + GameRegistry.registerItem(boy_igniter, boy_igniter.getUnlocalizedName());; + + //Fat Man + //GameRegistry.registerItem(man_explosive, man_explosive.getUnlocalizedName()); + GameRegistry.registerItem(man_igniter, man_igniter.getUnlocalizedName()); + GameRegistry.registerItem(man_core, man_core.getUnlocalizedName()); + + //Ivy Mike + GameRegistry.registerItem(mike_core, mike_core.getUnlocalizedName()); + GameRegistry.registerItem(mike_deut, mike_deut.getUnlocalizedName()); + GameRegistry.registerItem(mike_cooling_unit, mike_cooling_unit.getUnlocalizedName()); + + //Tsar Bomba + GameRegistry.registerItem(tsar_core, tsar_core.getUnlocalizedName()); + + //FLEIJA + GameRegistry.registerItem(fleija_igniter, fleija_igniter.getUnlocalizedName()); + GameRegistry.registerItem(fleija_propellant, fleija_propellant.getUnlocalizedName()); + GameRegistry.registerItem(fleija_core, fleija_core.getUnlocalizedName()); + + //Solinium + GameRegistry.registerItem(solinium_igniter, solinium_igniter.getUnlocalizedName()); + GameRegistry.registerItem(solinium_propellant, solinium_propellant.getUnlocalizedName()); + GameRegistry.registerItem(solinium_core, solinium_core.getUnlocalizedName()); + + //N2 + GameRegistry.registerItem(n2_charge, n2_charge.getUnlocalizedName()); + + //FSTBMB + GameRegistry.registerItem(egg_balefire_shard, egg_balefire_shard.getUnlocalizedName()); + GameRegistry.registerItem(egg_balefire, egg_balefire.getUnlocalizedName()); + + //Conventional Armor + GameRegistry.registerItem(goggles, goggles.getUnlocalizedName()); + GameRegistry.registerItem(ashglasses, ashglasses.getUnlocalizedName()); + GameRegistry.registerItem(gas_mask, gas_mask.getUnlocalizedName()); + GameRegistry.registerItem(gas_mask_m65, gas_mask_m65.getUnlocalizedName()); + GameRegistry.registerItem(gas_mask_mono, gas_mask_mono.getUnlocalizedName()); + GameRegistry.registerItem(gas_mask_olde, gas_mask_olde.getUnlocalizedName()); + GameRegistry.registerItem(mask_rag, mask_rag.getUnlocalizedName()); + GameRegistry.registerItem(mask_piss, mask_piss.getUnlocalizedName()); + //GameRegistry.registerItem(oxy_mask, oxy_mask.getUnlocalizedName()); + GameRegistry.registerItem(hat, hat.getUnlocalizedName()); + GameRegistry.registerItem(beta, beta.getUnlocalizedName()); + GameRegistry.registerItem(no9, no9.getUnlocalizedName()); + + GameRegistry.registerItem(steel_helmet, steel_helmet.getUnlocalizedName()); + GameRegistry.registerItem(steel_plate, steel_plate.getUnlocalizedName()); + GameRegistry.registerItem(steel_legs, steel_legs.getUnlocalizedName()); + GameRegistry.registerItem(steel_boots, steel_boots.getUnlocalizedName()); + GameRegistry.registerItem(titanium_helmet, titanium_helmet.getUnlocalizedName()); + GameRegistry.registerItem(titanium_plate, titanium_plate.getUnlocalizedName()); + GameRegistry.registerItem(titanium_legs, titanium_legs.getUnlocalizedName()); + GameRegistry.registerItem(titanium_boots, titanium_boots.getUnlocalizedName()); + GameRegistry.registerItem(alloy_helmet, alloy_helmet.getUnlocalizedName()); + GameRegistry.registerItem(alloy_plate, alloy_plate.getUnlocalizedName()); + GameRegistry.registerItem(alloy_legs, alloy_legs.getUnlocalizedName()); + GameRegistry.registerItem(alloy_boots, alloy_boots.getUnlocalizedName()); + + //Custom Rods + GameRegistry.registerItem(custom_tnt, custom_tnt.getUnlocalizedName()); + GameRegistry.registerItem(custom_nuke, custom_nuke.getUnlocalizedName()); + GameRegistry.registerItem(custom_hydro, custom_hydro.getUnlocalizedName()); + GameRegistry.registerItem(custom_amat, custom_amat.getUnlocalizedName()); + GameRegistry.registerItem(custom_dirty, custom_dirty.getUnlocalizedName()); + GameRegistry.registerItem(custom_schrab, custom_schrab.getUnlocalizedName()); + GameRegistry.registerItem(custom_fall, custom_fall.getUnlocalizedName()); + + //Power Armor + GameRegistry.registerItem(steamsuit_helmet, steamsuit_helmet.getUnlocalizedName()); + GameRegistry.registerItem(steamsuit_plate, steamsuit_plate.getUnlocalizedName()); + GameRegistry.registerItem(steamsuit_legs, steamsuit_legs.getUnlocalizedName()); + GameRegistry.registerItem(steamsuit_boots, steamsuit_boots.getUnlocalizedName()); + GameRegistry.registerItem(dieselsuit_helmet, dieselsuit_helmet.getUnlocalizedName()); + GameRegistry.registerItem(dieselsuit_plate, dieselsuit_plate.getUnlocalizedName()); + GameRegistry.registerItem(dieselsuit_legs, dieselsuit_legs.getUnlocalizedName()); + GameRegistry.registerItem(dieselsuit_boots, dieselsuit_boots.getUnlocalizedName()); + GameRegistry.registerItem(t45_helmet, t45_helmet.getUnlocalizedName()); + GameRegistry.registerItem(t45_plate, t45_plate.getUnlocalizedName()); + GameRegistry.registerItem(t45_legs, t45_legs.getUnlocalizedName()); + GameRegistry.registerItem(t45_boots, t45_boots.getUnlocalizedName()); + GameRegistry.registerItem(ajr_helmet, ajr_helmet.getUnlocalizedName()); + GameRegistry.registerItem(ajr_plate, ajr_plate.getUnlocalizedName()); + GameRegistry.registerItem(ajr_legs, ajr_legs.getUnlocalizedName()); + GameRegistry.registerItem(ajr_boots, ajr_boots.getUnlocalizedName()); + GameRegistry.registerItem(ajro_helmet, ajro_helmet.getUnlocalizedName()); + GameRegistry.registerItem(ajro_plate, ajro_plate.getUnlocalizedName()); + GameRegistry.registerItem(ajro_legs, ajro_legs.getUnlocalizedName()); + GameRegistry.registerItem(ajro_boots, ajro_boots.getUnlocalizedName()); + GameRegistry.registerItem(rpa_helmet, rpa_helmet.getUnlocalizedName()); + GameRegistry.registerItem(rpa_plate, rpa_plate.getUnlocalizedName()); + GameRegistry.registerItem(rpa_legs, rpa_legs.getUnlocalizedName()); + GameRegistry.registerItem(rpa_boots, rpa_boots.getUnlocalizedName()); + GameRegistry.registerItem(bj_helmet, bj_helmet.getUnlocalizedName()); + GameRegistry.registerItem(bj_plate, bj_plate.getUnlocalizedName()); + GameRegistry.registerItem(bj_plate_jetpack, bj_plate_jetpack.getUnlocalizedName()); + GameRegistry.registerItem(bj_legs, bj_legs.getUnlocalizedName()); + GameRegistry.registerItem(bj_boots, bj_boots.getUnlocalizedName()); + GameRegistry.registerItem(envsuit_helmet, envsuit_helmet.getUnlocalizedName()); + GameRegistry.registerItem(envsuit_plate, envsuit_plate.getUnlocalizedName()); + GameRegistry.registerItem(envsuit_legs, envsuit_legs.getUnlocalizedName()); + GameRegistry.registerItem(envsuit_boots, envsuit_boots.getUnlocalizedName()); + GameRegistry.registerItem(hev_helmet, hev_helmet.getUnlocalizedName()); + GameRegistry.registerItem(hev_plate, hev_plate.getUnlocalizedName()); + GameRegistry.registerItem(hev_legs, hev_legs.getUnlocalizedName()); + GameRegistry.registerItem(hev_boots, hev_boots.getUnlocalizedName()); + GameRegistry.registerItem(fau_helmet, fau_helmet.getUnlocalizedName()); + GameRegistry.registerItem(fau_plate, fau_plate.getUnlocalizedName()); + GameRegistry.registerItem(fau_legs, fau_legs.getUnlocalizedName()); + GameRegistry.registerItem(fau_boots, fau_boots.getUnlocalizedName()); + GameRegistry.registerItem(dns_helmet, dns_helmet.getUnlocalizedName()); + GameRegistry.registerItem(dns_plate, dns_plate.getUnlocalizedName()); + GameRegistry.registerItem(dns_legs, dns_legs.getUnlocalizedName()); + GameRegistry.registerItem(dns_boots, dns_boots.getUnlocalizedName()); + GameRegistry.registerItem(taurun_helmet, taurun_helmet.getUnlocalizedName()); + GameRegistry.registerItem(taurun_plate, taurun_plate.getUnlocalizedName()); + GameRegistry.registerItem(taurun_legs, taurun_legs.getUnlocalizedName()); + GameRegistry.registerItem(taurun_boots, taurun_boots.getUnlocalizedName()); + GameRegistry.registerItem(trenchmaster_helmet, trenchmaster_helmet.getUnlocalizedName()); + GameRegistry.registerItem(trenchmaster_plate, trenchmaster_plate.getUnlocalizedName()); + GameRegistry.registerItem(trenchmaster_legs, trenchmaster_legs.getUnlocalizedName()); + GameRegistry.registerItem(trenchmaster_boots, trenchmaster_boots.getUnlocalizedName()); + + //Nobody will ever read this anyway, so it shouldn't matter. + GameRegistry.registerItem(chainsaw, chainsaw.getUnlocalizedName()); + GameRegistry.registerItem(igniter, igniter.getUnlocalizedName()); + GameRegistry.registerItem(detonator, detonator.getUnlocalizedName()); + GameRegistry.registerItem(detonator_multi, detonator_multi.getUnlocalizedName()); + GameRegistry.registerItem(detonator_laser, detonator_laser.getUnlocalizedName()); + GameRegistry.registerItem(detonator_deadman, detonator_deadman.getUnlocalizedName()); + GameRegistry.registerItem(detonator_de, detonator_de.getUnlocalizedName()); + GameRegistry.registerItem(bomb_caller, bomb_caller.getUnlocalizedName()); + GameRegistry.registerItem(meteor_remote, meteor_remote.getUnlocalizedName()); + GameRegistry.registerItem(anchor_remote, anchor_remote.getUnlocalizedName()); + GameRegistry.registerItem(defuser, defuser.getUnlocalizedName()); + GameRegistry.registerItem(reacher, reacher.getUnlocalizedName()); + GameRegistry.registerItem(bismuth_tool, bismuth_tool.getUnlocalizedName()); + GameRegistry.registerItem(meltdown_tool, meltdown_tool.getUnlocalizedName()); + + GameRegistry.registerItem(hazmat_helmet, hazmat_helmet.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_plate, hazmat_plate.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_legs, hazmat_legs.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_boots, hazmat_boots.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_helmet_red, hazmat_helmet_red.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_plate_red, hazmat_plate_red.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_legs_red, hazmat_legs_red.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_boots_red, hazmat_boots_red.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_helmet_grey, hazmat_helmet_grey.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_plate_grey, hazmat_plate_grey.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_legs_grey, hazmat_legs_grey.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_boots_grey, hazmat_boots_grey.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_paa_helmet, hazmat_paa_helmet.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_paa_plate, hazmat_paa_plate.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_paa_legs, hazmat_paa_legs.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_paa_boots, hazmat_paa_boots.getUnlocalizedName()); + GameRegistry.registerItem(liquidator_helmet, liquidator_helmet.getUnlocalizedName()); + GameRegistry.registerItem(liquidator_plate, liquidator_plate.getUnlocalizedName()); + GameRegistry.registerItem(liquidator_legs, liquidator_legs.getUnlocalizedName()); + GameRegistry.registerItem(liquidator_boots, liquidator_boots.getUnlocalizedName()); + GameRegistry.registerItem(cmb_helmet, cmb_helmet.getUnlocalizedName()); + GameRegistry.registerItem(cmb_plate, cmb_plate.getUnlocalizedName()); + GameRegistry.registerItem(cmb_legs, cmb_legs.getUnlocalizedName()); + GameRegistry.registerItem(cmb_boots, cmb_boots.getUnlocalizedName()); + GameRegistry.registerItem(paa_plate, paa_plate.getUnlocalizedName()); + GameRegistry.registerItem(paa_legs, paa_legs.getUnlocalizedName()); + GameRegistry.registerItem(paa_boots, paa_boots.getUnlocalizedName()); + GameRegistry.registerItem(asbestos_helmet, asbestos_helmet.getUnlocalizedName()); + GameRegistry.registerItem(asbestos_plate, asbestos_plate.getUnlocalizedName()); + GameRegistry.registerItem(asbestos_legs, asbestos_legs.getUnlocalizedName()); + GameRegistry.registerItem(asbestos_boots, asbestos_boots.getUnlocalizedName()); + GameRegistry.registerItem(security_helmet, security_helmet.getUnlocalizedName()); + GameRegistry.registerItem(security_plate, security_plate.getUnlocalizedName()); + GameRegistry.registerItem(security_legs, security_legs.getUnlocalizedName()); + GameRegistry.registerItem(security_boots, security_boots.getUnlocalizedName()); + GameRegistry.registerItem(cobalt_helmet, cobalt_helmet.getUnlocalizedName()); + GameRegistry.registerItem(cobalt_plate, cobalt_plate.getUnlocalizedName()); + GameRegistry.registerItem(cobalt_legs, cobalt_legs.getUnlocalizedName()); + GameRegistry.registerItem(cobalt_boots, cobalt_boots.getUnlocalizedName()); + GameRegistry.registerItem(starmetal_helmet, starmetal_helmet.getUnlocalizedName()); + GameRegistry.registerItem(starmetal_plate, starmetal_plate.getUnlocalizedName()); + GameRegistry.registerItem(starmetal_legs, starmetal_legs.getUnlocalizedName()); + GameRegistry.registerItem(starmetal_boots, starmetal_boots.getUnlocalizedName()); + GameRegistry.registerItem(zirconium_legs, zirconium_legs.getUnlocalizedName()); + GameRegistry.registerItem(dnt_helmet, dnt_helmet.getUnlocalizedName()); + GameRegistry.registerItem(dnt_plate, dnt_plate.getUnlocalizedName()); + GameRegistry.registerItem(dnt_legs, dnt_legs.getUnlocalizedName()); + GameRegistry.registerItem(dnt_boots, dnt_boots.getUnlocalizedName()); + GameRegistry.registerItem(schrabidium_helmet, schrabidium_helmet.getUnlocalizedName()); + GameRegistry.registerItem(schrabidium_plate, schrabidium_plate.getUnlocalizedName()); + GameRegistry.registerItem(schrabidium_legs, schrabidium_legs.getUnlocalizedName()); + GameRegistry.registerItem(schrabidium_boots, schrabidium_boots.getUnlocalizedName()); + GameRegistry.registerItem(bismuth_helmet, bismuth_helmet.getUnlocalizedName()); + GameRegistry.registerItem(bismuth_plate, bismuth_plate.getUnlocalizedName()); + GameRegistry.registerItem(bismuth_legs, bismuth_legs.getUnlocalizedName()); + GameRegistry.registerItem(bismuth_boots, bismuth_boots.getUnlocalizedName()); + GameRegistry.registerItem(euphemium_helmet, euphemium_helmet.getUnlocalizedName()); + GameRegistry.registerItem(euphemium_plate, euphemium_plate.getUnlocalizedName()); + GameRegistry.registerItem(euphemium_legs, euphemium_legs.getUnlocalizedName()); + GameRegistry.registerItem(euphemium_boots, euphemium_boots.getUnlocalizedName()); + GameRegistry.registerItem(robes_helmet, robes_helmet.getUnlocalizedName()); + GameRegistry.registerItem(robes_plate, robes_plate.getUnlocalizedName()); + GameRegistry.registerItem(robes_legs, robes_legs.getUnlocalizedName()); + GameRegistry.registerItem(robes_boots, robes_boots.getUnlocalizedName()); + GameRegistry.registerItem(apple_euphemium, apple_euphemium.getUnlocalizedName()); + GameRegistry.registerItem(watch, watch.getUnlocalizedName()); + GameRegistry.registerItem(mask_of_infamy, mask_of_infamy.getUnlocalizedName()); + GameRegistry.registerItem(jackt, jackt.getUnlocalizedName()); + GameRegistry.registerItem(jackt2, jackt2.getUnlocalizedName()); + GameRegistry.registerItem(jetpack_fly, jetpack_fly.getUnlocalizedName()); + GameRegistry.registerItem(jetpack_break, jetpack_break.getUnlocalizedName()); + GameRegistry.registerItem(jetpack_vector, jetpack_vector.getUnlocalizedName()); + GameRegistry.registerItem(jetpack_boost, jetpack_boost.getUnlocalizedName()); + GameRegistry.registerItem(wings_limp, wings_limp.getUnlocalizedName()); + GameRegistry.registerItem(wings_murk, wings_murk.getUnlocalizedName()); + //GameRegistry.registerItem(australium_iv, australium_iv.getUnlocalizedName()); + //GameRegistry.registerItem(australium_v, australium_v.getUnlocalizedName()); + + //Expensive Ass Shit + GameRegistry.registerItem(crystal_horn, crystal_horn.getUnlocalizedName()); + GameRegistry.registerItem(crystal_charred, crystal_charred.getUnlocalizedName()); + + //OP Tools + GameRegistry.registerItem(wand, wand.getUnlocalizedName()); + GameRegistry.registerItem(wand_s, wand_s.getUnlocalizedName()); + GameRegistry.registerItem(wand_d, wand_d.getUnlocalizedName()); + GameRegistry.registerItem(structure_single, structure_single.getUnlocalizedName()); + GameRegistry.registerItem(structure_solid, structure_solid.getUnlocalizedName()); + GameRegistry.registerItem(structure_pattern, structure_pattern.getUnlocalizedName()); + GameRegistry.registerItem(structure_randomized, structure_randomized.getUnlocalizedName()); + GameRegistry.registerItem(structure_randomly, structure_randomly.getUnlocalizedName()); + GameRegistry.registerItem(structure_custommachine, structure_custommachine.getUnlocalizedName()); + GameRegistry.registerItem(rod_of_discord, rod_of_discord.getUnlocalizedName()); + GameRegistry.registerItem(polaroid, polaroid.getUnlocalizedName()); + GameRegistry.registerItem(glitch, glitch.getUnlocalizedName()); + GameRegistry.registerItem(book_secret, book_secret.getUnlocalizedName()); + GameRegistry.registerItem(book_of_, book_of_.getUnlocalizedName()); + GameRegistry.registerItem(page_of_, page_of_.getUnlocalizedName()); + GameRegistry.registerItem(book_lemegeton, book_lemegeton.getUnlocalizedName()); + GameRegistry.registerItem(burnt_bark, burnt_bark.getUnlocalizedName()); + + //Kits + GameRegistry.registerItem(nuke_starter_kit, nuke_starter_kit.getUnlocalizedName()); + GameRegistry.registerItem(nuke_advanced_kit, nuke_advanced_kit.getUnlocalizedName()); + GameRegistry.registerItem(nuke_commercially_kit, nuke_commercially_kit.getUnlocalizedName()); + GameRegistry.registerItem(nuke_electric_kit, nuke_electric_kit.getUnlocalizedName()); + GameRegistry.registerItem(gadget_kit, gadget_kit.getUnlocalizedName()); + GameRegistry.registerItem(boy_kit, boy_kit.getUnlocalizedName()); + GameRegistry.registerItem(man_kit, man_kit.getUnlocalizedName()); + GameRegistry.registerItem(mike_kit, mike_kit.getUnlocalizedName()); + GameRegistry.registerItem(tsar_kit, tsar_kit.getUnlocalizedName()); + GameRegistry.registerItem(prototype_kit, prototype_kit.getUnlocalizedName()); + GameRegistry.registerItem(fleija_kit, fleija_kit.getUnlocalizedName()); + GameRegistry.registerItem(solinium_kit, solinium_kit.getUnlocalizedName()); + GameRegistry.registerItem(multi_kit, multi_kit.getUnlocalizedName()); + GameRegistry.registerItem(custom_kit, custom_kit.getUnlocalizedName()); + GameRegistry.registerItem(missile_kit, missile_kit.getUnlocalizedName()); + GameRegistry.registerItem(grenade_kit, grenade_kit.getUnlocalizedName()); + GameRegistry.registerItem(t45_kit, t45_kit.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_kit, hazmat_kit.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_red_kit, hazmat_red_kit.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_grey_kit, hazmat_grey_kit.getUnlocalizedName()); + GameRegistry.registerItem(kit_custom, kit_custom.getUnlocalizedName()); + GameRegistry.registerItem(euphemium_kit, euphemium_kit.getUnlocalizedName()); + GameRegistry.registerItem(legacy_toolbox, legacy_toolbox.getUnlocalizedName()); + GameRegistry.registerItem(toolbox, toolbox.getUnlocalizedName()); + + //Misile Loot Boxes + GameRegistry.registerItem(loot_10, loot_10.getUnlocalizedName()); + GameRegistry.registerItem(loot_15, loot_15.getUnlocalizedName()); + GameRegistry.registerItem(loot_misc, loot_misc.getUnlocalizedName()); + + //THIS is a bucket. + GameRegistry.registerItem(bucket_mud, bucket_mud.getUnlocalizedName()); + GameRegistry.registerItem(bucket_acid, bucket_acid.getUnlocalizedName()); + GameRegistry.registerItem(bucket_toxic, bucket_toxic.getUnlocalizedName()); + GameRegistry.registerItem(bucket_schrabidic_acid, bucket_schrabidic_acid.getUnlocalizedName()); + GameRegistry.registerItem(bucket_sulfuric_acid, bucket_sulfuric_acid.getUnlocalizedName()); + + //Door Items + GameRegistry.registerItem(door_metal, door_metal.getUnlocalizedName()); + GameRegistry.registerItem(door_office, door_office.getUnlocalizedName()); + GameRegistry.registerItem(door_bunker, door_bunker.getUnlocalizedName()); + GameRegistry.registerItem(door_red, door_red.getUnlocalizedName()); + GameRegistry.registerItem(sliding_blast_door_skin, sliding_blast_door_skin.getUnlocalizedName()); + + //Records + GameRegistry.registerItem(record_lc, record_lc.getUnlocalizedName()); + GameRegistry.registerItem(record_ss, record_ss.getUnlocalizedName()); + GameRegistry.registerItem(record_vc, record_vc.getUnlocalizedName()); + GameRegistry.registerItem(record_glass, record_glass.getUnlocalizedName()); + + //wow we're far down the item registry, is this the cellar? + GameRegistry.registerItem(book_guide, book_guide.getUnlocalizedName()); + GameRegistry.registerItem(book_lore, book_lore.getUnlocalizedName()); + GameRegistry.registerItem(holotape_image, holotape_image.getUnlocalizedName()); + GameRegistry.registerItem(holotape_damaged, holotape_damaged.getUnlocalizedName()); + GameRegistry.registerItem(clay_tablet, clay_tablet.getUnlocalizedName()); + + //Technical Items + GameRegistry.registerItem(chlorine1, chlorine1.getUnlocalizedName()); + GameRegistry.registerItem(chlorine2, chlorine2.getUnlocalizedName()); + GameRegistry.registerItem(chlorine3, chlorine3.getUnlocalizedName()); + GameRegistry.registerItem(chlorine4, chlorine4.getUnlocalizedName()); + GameRegistry.registerItem(chlorine5, chlorine5.getUnlocalizedName()); + GameRegistry.registerItem(chlorine6, chlorine6.getUnlocalizedName()); + GameRegistry.registerItem(chlorine7, chlorine7.getUnlocalizedName()); + GameRegistry.registerItem(chlorine8, chlorine8.getUnlocalizedName()); + GameRegistry.registerItem(pc1, pc1.getUnlocalizedName()); + GameRegistry.registerItem(pc2, pc2.getUnlocalizedName()); + GameRegistry.registerItem(pc3, pc3.getUnlocalizedName()); + GameRegistry.registerItem(pc4, pc4.getUnlocalizedName()); + GameRegistry.registerItem(pc5, pc5.getUnlocalizedName()); + GameRegistry.registerItem(pc6, pc6.getUnlocalizedName()); + GameRegistry.registerItem(pc7, pc7.getUnlocalizedName()); + GameRegistry.registerItem(pc8, pc8.getUnlocalizedName()); + GameRegistry.registerItem(cloud1, cloud1.getUnlocalizedName()); + GameRegistry.registerItem(cloud2, cloud2.getUnlocalizedName()); + GameRegistry.registerItem(cloud3, cloud3.getUnlocalizedName()); + GameRegistry.registerItem(cloud4, cloud4.getUnlocalizedName()); + GameRegistry.registerItem(cloud5, cloud5.getUnlocalizedName()); + GameRegistry.registerItem(cloud6, cloud6.getUnlocalizedName()); + GameRegistry.registerItem(cloud7, cloud7.getUnlocalizedName()); + GameRegistry.registerItem(cloud8, cloud8.getUnlocalizedName()); + GameRegistry.registerItem(orange1, orange1.getUnlocalizedName()); + GameRegistry.registerItem(orange2, orange2.getUnlocalizedName()); + GameRegistry.registerItem(orange3, orange3.getUnlocalizedName()); + GameRegistry.registerItem(orange4, orange4.getUnlocalizedName()); + GameRegistry.registerItem(orange5, orange5.getUnlocalizedName()); + GameRegistry.registerItem(orange6, orange6.getUnlocalizedName()); + GameRegistry.registerItem(orange7, orange7.getUnlocalizedName()); + GameRegistry.registerItem(orange8, orange8.getUnlocalizedName()); + GameRegistry.registerItem(nothing, nothing.getUnlocalizedName()); + GameRegistry.registerItem(achievement_icon, achievement_icon.getUnlocalizedName()); + GameRegistry.registerItem(bob_metalworks, bob_metalworks.getUnlocalizedName()); + GameRegistry.registerItem(bob_assembly, bob_assembly.getUnlocalizedName()); + GameRegistry.registerItem(bob_chemistry, bob_chemistry.getUnlocalizedName()); + GameRegistry.registerItem(bob_oil, bob_oil.getUnlocalizedName()); + GameRegistry.registerItem(bob_nuclear, bob_nuclear.getUnlocalizedName()); + GameRegistry.registerItem(mysteryshovel, mysteryshovel.getUnlocalizedName()); + GameRegistry.registerItem(memory, memory.getUnlocalizedName()); + GameRegistry.registerItem(conveyor_wand, conveyor_wand.getUnlocalizedName()); + } + + public static void addRemap(String unloc, Item item, Enum sub) { + addRemap(unloc, item, sub.ordinal()); + } + + public static void addRemap(String unloc, Item item, int meta) { + Item remap = new ItemRemap(item, meta).setUnlocalizedName(unloc).setTextureName(RefStrings.MODID + ":plate_armor_titanium"); + GameRegistry.registerItem(remap, remap.getUnlocalizedName()); + } +} diff --git a/src/main/java/com/hbm/items/armor/ArmorBJJetpack.java b/src/main/java/com/hbm/items/armor/ArmorBJJetpack.java index 5882236e7..e9e134585 100644 --- a/src/main/java/com/hbm/items/armor/ArmorBJJetpack.java +++ b/src/main/java/com/hbm/items/armor/ArmorBJJetpack.java @@ -3,11 +3,11 @@ package com.hbm.items.armor; import java.util.List; import com.hbm.extprop.HbmPlayerProps; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.render.model.ModelArmorBJ; import com.hbm.util.ArmorUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; @@ -33,51 +33,51 @@ public class ArmorBJJetpack extends ArmorBJ { @Override @SideOnly(Side.CLIENT) public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) { - + if(model == null) { model = new ModelArmorBJ(5); } - + return model; } public void onArmorTick(World world, EntityPlayer player, ItemStack stack) { - + super.onArmorTick(world, player, stack); - + HbmPlayerProps props = HbmPlayerProps.getData(player); - + if(!world.isRemote) { - + if(this.hasFSBArmor(player) && props.isJetpackActive()) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "jetpack_bj"); data.setInteger("player", player.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, player.posX, player.posY, player.posZ), new TargetPoint(world.provider.dimensionId, player.posX, player.posY, player.posZ, 100)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, player.posX, player.posY, player.posZ), new TargetPoint(world.provider.dimensionId, player.posX, player.posY, player.posZ, 100)); } } if(this.hasFSBArmor(player)) { - + ArmorUtil.resetFlightTime(player); - + if(props.isJetpackActive()) { - + if(player.motionY < 0.4D) player.motionY += 0.1D; - + player.fallDistance = 0; - + world.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:weapon.immolatorShoot", 0.125F, 1.5F); - + } else if(player.isSneaking()) { - + if(player.motionY < -0.08) { - + double mo = player.motionY * -0.4; player.motionY += mo; - + Vec3 vec = player.getLookVec(); vec.xCoord *= mo; vec.yCoord *= mo; diff --git a/src/main/java/com/hbm/items/armor/ArmorDNT.java b/src/main/java/com/hbm/items/armor/ArmorDNT.java index 068ae49f1..73617c0be 100644 --- a/src/main/java/com/hbm/items/armor/ArmorDNT.java +++ b/src/main/java/com/hbm/items/armor/ArmorDNT.java @@ -5,19 +5,18 @@ import java.util.UUID; import com.google.common.collect.Multimap; import com.hbm.extprop.HbmPlayerProps; +import com.hbm.handler.threading.PacketThreading; import com.hbm.items.ModItems; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.render.model.ModelArmorDNT; import com.hbm.util.ArmorUtil; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.model.ModelBiped; -import net.minecraft.client.resources.I18n; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; @@ -53,42 +52,42 @@ public class ArmorDNT extends ArmorFSBPowered { return models[armorSlot]; } - + private static final UUID speed = UUID.fromString("6ab858ba-d712-485c-bae9-e5e765fc555a"); @Override public void onArmorTick(World world, EntityPlayer player, ItemStack stack) { super.onArmorTick(world, player, stack); - + if(this != ModItems.dns_plate) return; HbmPlayerProps props = HbmPlayerProps.getData(player); - + /// SPEED /// Multimap multimap = super.getAttributeModifiers(stack); multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), new AttributeModifier(speed, "DNT SPEED", 0.25, 0)); player.getAttributeMap().removeAttributeModifiers(multimap); - + if(player.isSprinting()) { player.getAttributeMap().applyAttributeModifiers(multimap); } if(!world.isRemote) { - + /// JET /// if(this.hasFSBArmor(player) && (props.isJetpackActive() || (!player.onGround && !player.isSneaking() && props.enableBackpack))) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "jetpack_dns"); data.setInteger("player", player.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, player.posX, player.posY, player.posZ), new TargetPoint(world.provider.dimensionId, player.posX, player.posY, player.posZ, 100)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, player.posX, player.posY, player.posZ), new TargetPoint(world.provider.dimensionId, player.posX, player.posY, player.posZ, 100)); } } if(this.hasFSBArmor(player)) { - + ArmorUtil.resetFlightTime(player); if(props.isJetpackActive()) { @@ -102,7 +101,7 @@ public class ArmorDNT extends ArmorFSBPowered { } else if(!player.isSneaking() && !player.onGround && props.enableBackpack) { player.fallDistance = 0; - + if(player.motionY < -1) player.motionY += 0.4D; else if(player.motionY < -0.1) @@ -112,7 +111,7 @@ public class ArmorDNT extends ArmorFSBPowered { player.motionX *= 1.05D; player.motionZ *= 1.05D; - + if(player.moveForward != 0) { player.motionX += player.getLookVec().xCoord * 0.25 * player.moveForward; player.motionZ += player.getLookVec().zCoord * 0.25 * player.moveForward; @@ -120,13 +119,13 @@ public class ArmorDNT extends ArmorFSBPowered { world.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:weapon.immolatorShoot", 0.125F, 1.5F); } - + if(player.isSneaking() && !player.onGround) { player.motionY -= 0.1D; } } } - + @Override public void handleAttack(LivingAttackEvent event) { @@ -136,14 +135,14 @@ public class ArmorDNT extends ArmorFSBPowered { EntityPlayer player = (EntityPlayer) e; if(ArmorFSB.hasFSBArmor(player)) { - + if(event.source.isExplosion()) { return; } //e.worldObj.playSoundAtEntity(e, "random.break", 5F, 1.0F + e.getRNG().nextFloat() * 0.5F); HbmPlayerProps.plink(player, "random.break", 0.5F, 1.0F + e.getRNG().nextFloat() * 0.5F); - + event.setCanceled(true); } } @@ -158,12 +157,12 @@ public class ArmorDNT extends ArmorFSBPowered { EntityPlayer player = (EntityPlayer) e; if(ArmorFSB.hasFSBArmor(player)) { - + if(event.source.isExplosion()) { event.ammount *= 0.001F; return; } - + event.ammount = 0; } } @@ -173,24 +172,20 @@ public class ArmorDNT extends ArmorFSBPowered { @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - list.add("Charge: " + BobMathUtil.getShortNumber(getCharge(stack)) + " / " + BobMathUtil.getShortNumber(maxPower)); + list.add("Charge: " + BobMathUtil.getShortNumber(getCharge(stack)) + " / " + BobMathUtil.getShortNumber(this.getMaxCharge(stack))); list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKey("armor.fullSetBonus")); if(!effects.isEmpty()) { for(PotionEffect effect : effects) { - list.add(EnumChatFormatting.AQUA + " " + I18n.format(Potion.potionTypes[effect.getPotionID()].getName())); + list.add(EnumChatFormatting.AQUA + " " + I18nUtil.format(Potion.potionTypes[effect.getPotionID()].getName())); } } - - list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.explosionImmune")); - list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.cap", 5)); - list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.modifier", 0.001F)); + list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.vats")); list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.thermal")); list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.hardLanding")); - list.add(EnumChatFormatting.DARK_RED + " " + I18nUtil.resolveKey("armor.ignoreLimit")); list.add(EnumChatFormatting.AQUA + " " + I18nUtil.resolveKey("armor.rocketBoots")); list.add(EnumChatFormatting.AQUA + " " + I18nUtil.resolveKey("armor.fastFall")); list.add(EnumChatFormatting.AQUA + " " + I18nUtil.resolveKey("armor.sprintBoost")); diff --git a/src/main/java/com/hbm/items/armor/ArmorDiesel.java b/src/main/java/com/hbm/items/armor/ArmorDiesel.java index e42510fc3..da8a6b3f8 100644 --- a/src/main/java/com/hbm/items/armor/ArmorDiesel.java +++ b/src/main/java/com/hbm/items/armor/ArmorDiesel.java @@ -3,11 +3,11 @@ package com.hbm.items.armor; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; import com.hbm.handler.ArmorModHandler; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.render.model.ModelArmorDiesel; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -27,7 +27,7 @@ public class ArmorDiesel extends ArmorFSBFueled { public ArmorDiesel(ArmorMaterial material, int slot, String texture, FluidType fuelType, int maxFuel, int fillRate, int consumption, int drain) { super(material, slot, texture, fuelType, maxFuel, fillRate, consumption, drain); } - + @Override public Multimap getItemAttributeModifiers() { @@ -42,26 +42,26 @@ public class ArmorDiesel extends ArmorFSBFueled { @Override @SideOnly(Side.CLIENT) public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) { - + if(models == null) { models = new ModelArmorDiesel[4]; - + for(int i = 0; i < 4; i++) models[i] = new ModelArmorDiesel(i); } - + return models[armorSlot]; } @Override public void onArmorTick(World world, EntityPlayer player, ItemStack stack) { super.onArmorTick(world, player, stack); - + if(!world.isRemote && this == ModItems.dieselsuit_legs && this.hasFSBArmor(player) && world.getTotalWorldTime() % 3 == 0) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "bnuuy"); data.setInteger("player", player.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, player.posX, player.posY, player.posZ), new TargetPoint(world.provider.dimensionId, player.posX, player.posY, player.posZ, 100)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, player.posX, player.posY, player.posZ), new TargetPoint(world.provider.dimensionId, player.posX, player.posY, player.posZ, 100)); } } diff --git a/src/main/java/com/hbm/items/armor/ArmorEnvsuit.java b/src/main/java/com/hbm/items/armor/ArmorEnvsuit.java index e7ee41f79..940955329 100644 --- a/src/main/java/com/hbm/items/armor/ArmorEnvsuit.java +++ b/src/main/java/com/hbm/items/armor/ArmorEnvsuit.java @@ -1,11 +1,9 @@ package com.hbm.items.armor; -import java.util.UUID; - import com.google.common.collect.Multimap; +import com.hbm.handler.ArmorModHandler; import com.hbm.items.ModItems; import com.hbm.render.model.ModelArmorEnvsuit; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.model.ModelBiped; @@ -19,6 +17,8 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.util.Vec3; import net.minecraft.world.World; +import java.util.UUID; + public class ArmorEnvsuit extends ArmorFSBPowered { public ArmorEnvsuit(ArmorMaterial material, int slot, String texture, long maxPower, long chargeRate, long consumption, long drain) { @@ -41,14 +41,14 @@ public class ArmorEnvsuit extends ArmorFSBPowered { return models[armorSlot]; } - + private static final UUID speed = UUID.fromString("6ab858ba-d712-485c-bae9-e5e765fc555a"); @Override public void onArmorTick(World world, EntityPlayer player, ItemStack stack) { super.onArmorTick(world, player, stack); - + if(this != ModItems.envsuit_plate) return; @@ -56,13 +56,13 @@ public class ArmorEnvsuit extends ArmorFSBPowered { Multimap multimap = super.getAttributeModifiers(stack); multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), new AttributeModifier(speed, "SQUIRREL SPEED", 0.1, 0)); player.getAttributeMap().removeAttributeModifiers(multimap); - + if(this.hasFSBArmor(player)) { - + if(player.isSprinting()) player.getAttributeMap().applyAttributeModifiers(multimap); - + if(player.isInWater()) { - + if(!world.isRemote) { player.setAir(300); player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 15 * 20, 0)); @@ -78,7 +78,14 @@ public class ArmorEnvsuit extends ArmorFSBPowered { player.motionY += vec.yCoord; player.motionZ += vec.zCoord; } else { - if(!world.isRemote) { + boolean canRemoveNightVision = true; + ItemStack helmet = player.inventory.armorInventory[3]; + ItemStack helmetMod = ArmorModHandler.pryMod(helmet, ArmorModHandler.helmet_only); // Get the modification! + if (helmetMod != null && helmetMod.getItem() instanceof ItemModNightVision) { + canRemoveNightVision = false; + } + + if(!world.isRemote && canRemoveNightVision) { player.removePotionEffect(Potion.nightVision.id); } } diff --git a/src/main/java/com/hbm/items/armor/ArmorFSB.java b/src/main/java/com/hbm/items/armor/ArmorFSB.java index 115c298fb..2253f207c 100644 --- a/src/main/java/com/hbm/items/armor/ArmorFSB.java +++ b/src/main/java/com/hbm/items/armor/ArmorFSB.java @@ -3,10 +3,8 @@ package com.hbm.items.armor; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Collections; -import java.util.HashMap; import java.util.HashSet; import java.util.List; -import java.util.Map.Entry; import org.lwjgl.opengl.GL11; @@ -14,7 +12,8 @@ import com.hbm.extprop.HbmLivingProps; import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.items.ModItems; import com.hbm.util.ContaminationUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.ShadyUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.relauncher.ReflectionHelper; @@ -26,9 +25,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.resources.I18n; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemArmor; @@ -51,21 +48,12 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel { private String texture = ""; private ResourceLocation overlay = null; public List effects = new ArrayList(); - public HashMap resistance = new HashMap(); - public float blastProtection = -1; - public float projectileProtection = -1; - public float damageCap = -1; - public float damageMod = -1; - public float damageThreshold = 0; - public float protectionYield = 100F; - public boolean fireproof = false; public boolean noHelmet = false; public boolean vats = false; public boolean thermal = false; public boolean geigerSound = false; public boolean customGeiger = false; public boolean hardLanding = false; - public double gravity = 0; public int dashCount = 0; public int stepSize = 0; public String step; @@ -82,46 +70,6 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel { return this; } - public ArmorFSB addResistance(String damage, float mod) { - resistance.put(damage, mod); - return this; - } - - public ArmorFSB setCap(float cap) { - this.damageCap = cap; - return this; - } - - public ArmorFSB setMod(float mod) { - this.damageMod = mod; - return this; - } - - public ArmorFSB setThreshold(float threshold) { - this.damageThreshold = threshold; - return this; - } - - public ArmorFSB setProtectionLevel(float damageYield) { - this.protectionYield = damageYield; - return this; - } - - public ArmorFSB setBlastProtection(float blastProtection) { - this.blastProtection = blastProtection; - return this; - } - - public ArmorFSB setProjectileProtection(float projectileProtection) { - this.projectileProtection = projectileProtection; - return this; - } - - public ArmorFSB setFireproof(boolean fire) { - this.fireproof = fire; - return this; - } - public ArmorFSB setNoHelmet(boolean noHelmet) { this.noHelmet = noHelmet; return this; @@ -151,11 +99,6 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel { this.hardLanding = hardLanding; return this; } - - public ArmorFSB setGravity(double gravity) { - this.gravity = gravity; - return this; - } public ArmorFSB setDashCount(int dashCount) { this.dashCount = dashCount; @@ -191,21 +134,12 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel { //lists aren't being modified after instantiation, so there's no need to dereference this.effects = original.effects; - this.resistance = original.resistance; - this.damageCap = original.damageCap; - this.damageMod = original.damageMod; - this.damageThreshold = original.damageThreshold; - this.protectionYield = original.protectionYield; - this.blastProtection = original.blastProtection; - this.projectileProtection = original.projectileProtection; - this.fireproof = original.fireproof; this.noHelmet = original.noHelmet; this.vats = original.vats; this.thermal = original.thermal; this.geigerSound = original.geigerSound; this.customGeiger = original.customGeiger; this.hardLanding = original.hardLanding; - this.gravity = original.gravity; this.dashCount = original.dashCount; this.stepSize = original.stepSize; this.step = original.step; @@ -222,85 +156,29 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel { @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - - list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKey("armor.fullSetBonus")); + + List toAdd = new ArrayList(); if(!effects.isEmpty()) { - + List potionList = new ArrayList(); for(PotionEffect effect : effects) { - list.add(EnumChatFormatting.AQUA + " " + I18n.format(Potion.potionTypes[effect.getPotionID()].getName())); + potionList.add(I18nUtil.format(Potion.potionTypes[effect.getPotionID()].getName())); } + + toAdd.add(EnumChatFormatting.AQUA + String.join(", ", potionList)); } - if(!resistance.isEmpty()) { + if(geigerSound) toAdd.add(EnumChatFormatting.GOLD + " " + I18nUtil.resolveKey("armor.geigerSound")); + if(customGeiger) toAdd.add(EnumChatFormatting.GOLD + " " + I18nUtil.resolveKey("armor.geigerHUD")); + if(vats) toAdd.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.vats")); + if(thermal) toAdd.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.thermal")); + if(hardLanding) toAdd.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.hardLanding")); + if(stepSize != 0) toAdd.add(EnumChatFormatting.BLUE + " " + I18nUtil.resolveKey("armor.stepSize", stepSize)); + if(dashCount > 0) toAdd.add(EnumChatFormatting.AQUA + " " + I18nUtil.resolveKey("armor.dash", dashCount)); - for(Entry struct : resistance.entrySet()) { - - if(struct.getValue() != 0) - list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.damageModifier", struct.getValue(), I18n.format(struct.getKey()))); - else - list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.nullDamage", I18n.format(struct.getKey()))); - } - } - - if(blastProtection != -1) { - list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.blastProtection", blastProtection)); - } - - if(projectileProtection != -1) { - list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.projectileProtection", projectileProtection)); - } - - if(damageCap != -1) { - list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.cap", damageCap)); - } - - if(damageMod != -1) { - list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.modifier", damageMod)); - } - - if(damageThreshold > 0) { - list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.threshold", damageThreshold)); - } - - if(fireproof) { - list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.fireproof")); - } - - if(geigerSound) { - list.add(EnumChatFormatting.GOLD + " " + I18nUtil.resolveKey("armor.geigerSound")); - } - - if(customGeiger) { - list.add(EnumChatFormatting.GOLD + " " + I18nUtil.resolveKey("armor.geigerHUD")); - } - - if(vats) { - list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.vats")); - } - - if(thermal) { - list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.thermal")); - } - - if(hardLanding) { - list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.hardLanding")); - } - - if(gravity != 0) { - list.add(EnumChatFormatting.BLUE + " " + I18nUtil.resolveKey("armor.gravity", gravity)); - } - - if(stepSize != 0) { - list.add(EnumChatFormatting.BLUE + " " + I18nUtil.resolveKey("armor.stepSize", stepSize)); - } - - if(dashCount > 0) { - list.add(EnumChatFormatting.AQUA + " " + I18nUtil.resolveKey("armor.dash", dashCount)); - } - - if(protectionYield != 100F) { - list.add(EnumChatFormatting.BLUE + " " + I18nUtil.resolveKey("armor.yield", protectionYield)); + if(!toAdd.isEmpty()) { + list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKey("armor.fullSetBonus")); + list.addAll(toAdd); } } @@ -359,125 +237,59 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel { return false; } - public void handleAttack(LivingAttackEvent event) { - - EntityLivingBase e = event.entityLiving; - - if(e instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) e; - - if(ArmorFSB.hasFSBArmor(player)) { - - ItemStack plate = player.inventory.armorInventory[2]; - - ArmorFSB chestplate = (ArmorFSB) plate.getItem(); - - if(chestplate.damageThreshold >= event.ammount && !event.source.isUnblockable()) { - event.setCanceled(true); - } - - if(chestplate.fireproof && event.source.isFireDamage()) { - player.extinguish(); - event.setCanceled(true); - } - - if(chestplate.resistance.get(event.source.getDamageType()) != null && chestplate.resistance.get(event.source.getDamageType()) <= 0) { - event.setCanceled(true); - } - } - } - } - - public void handleHurt(LivingHurtEvent event) { - - EntityLivingBase e = event.entityLiving; - - if(e instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) e; - - if(ArmorFSB.hasFSBArmor(player)) { - - ArmorFSB chestplate = (ArmorFSB) player.inventory.armorInventory[2].getItem(); - - //store any damage above the yield - float overFlow = Math.max(0, event.ammount - chestplate.protectionYield); - //reduce the damage to the yield cap if it exceeds the yield - event.ammount = Math.min(event.ammount, chestplate.protectionYield); - - if(!event.source.isUnblockable()) - event.ammount -= chestplate.damageThreshold; - - if(chestplate.damageMod != -1) { - event.ammount *= chestplate.damageMod; - } - - if(chestplate.resistance.get(event.source.getDamageType()) != null) { - event.ammount *= chestplate.resistance.get(event.source.getDamageType()); - } - - if(chestplate.blastProtection != -1 && event.source.isExplosion()) { - event.ammount *= chestplate.blastProtection; - } - - if(chestplate.projectileProtection != -1 && event.source.isProjectile()) { - event.ammount *= chestplate.projectileProtection; - } - - if(chestplate.damageCap != -1) { - event.ammount = Math.min(event.ammount, chestplate.damageCap); - } - - //add back anything that was above the protection yield before - event.ammount += overFlow; - } - } - } - public void handleTick(TickEvent.PlayerTickEvent event) { EntityPlayer player = event.player; + boolean step = true; + + if(player.getUniqueID().equals(ShadyUtil.the_NCR) || player.getUniqueID().equals(ShadyUtil.Barnaby99_x)) { + step = false; + + if(player.worldObj.isRemote && player.onGround) { + steppy(player, "hbm:step.powered"); + } + } if(ArmorFSB.hasFSBArmor(player)) { ItemStack plate = player.inventory.armorInventory[2]; - ArmorFSB chestplate = (ArmorFSB) plate.getItem(); if(!chestplate.effects.isEmpty()) { - for(PotionEffect i : chestplate.effects) { player.addPotionEffect(new PotionEffect(i.getPotionID(), i.getDuration(), i.getAmplifier(), true)); } } - if(!player.capabilities.isFlying && !player.isInWater()) - player.motionY -= chestplate.gravity; - - if(chestplate.step != null && player.worldObj.isRemote && player.onGround) { - - try { - Field nextStepDistance = ReflectionHelper.findField(Entity.class, "nextStepDistance", "field_70150_b"); - Field distanceWalkedOnStepModified = ReflectionHelper.findField(Entity.class, "distanceWalkedOnStepModified", "field_82151_R"); - - if(player.getEntityData().getFloat("hfr_nextStepDistance") == 0) { - player.getEntityData().setFloat("hfr_nextStepDistance", nextStepDistance.getFloat(player)); - } - - int px = MathHelper.floor_double(player.posX); - int py = MathHelper.floor_double(player.posY - 0.2D - (double) player.yOffset); - int pz = MathHelper.floor_double(player.posZ); - Block block = player.worldObj.getBlock(px, py, pz); - - if(block.getMaterial() != Material.air && player.getEntityData().getFloat("hfr_nextStepDistance") <= distanceWalkedOnStepModified.getFloat(player)) - player.playSound(chestplate.step, 1.0F, 1.0F); - - player.getEntityData().setFloat("hfr_nextStepDistance", nextStepDistance.getFloat(player)); - - } catch(Exception x) { - } + if(step == true && chestplate.step != null && player.worldObj.isRemote && player.onGround) { + steppy(player, chestplate.step); } } } + + public static void steppy(EntityPlayer player, String sound) { + + try { + Field nextStepDistance = ReflectionHelper.findField(Entity.class, "nextStepDistance", "field_70150_b"); + Field distanceWalkedOnStepModified = ReflectionHelper.findField(Entity.class, "distanceWalkedOnStepModified", "field_82151_R"); + + if(player.getEntityData().getFloat("hfr_nextStepDistance") == 0) { + player.getEntityData().setFloat("hfr_nextStepDistance", nextStepDistance.getFloat(player)); + } + + int px = MathHelper.floor_double(player.posX); + int py = MathHelper.floor_double(player.posY - 0.2D - (double) player.yOffset); + int pz = MathHelper.floor_double(player.posZ); + Block block = player.worldObj.getBlock(px, py, pz); + + if(block.getMaterial() != Material.air && player.getEntityData().getFloat("hfr_nextStepDistance") <= distanceWalkedOnStepModified.getFloat(player)) + player.playSound(sound, 1.0F, 1.0F); + + player.getEntityData().setFloat("hfr_nextStepDistance", nextStepDistance.getFloat(player)); + + } catch(Exception x) { + } + } public void handleJump(EntityPlayer player) { @@ -531,14 +343,9 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel { @Override public void onArmorTick(World world, EntityPlayer entity, ItemStack stack) { - if(this.armorType != 1) - return; - - if(!hasFSBArmor(entity) || !this.geigerSound) - return; - - if(entity.inventory.hasItem(ModItems.geiger_counter) || entity.inventory.hasItem(ModItems.dosimeter)) - return; + if(this.armorType != 1) return; + if(!hasFSBArmor(entity) || !this.geigerSound) return; + if(entity.inventory.hasItem(ModItems.geiger_counter) || entity.inventory.hasItem(ModItems.dosimeter)) return; if(world.getTotalWorldTime() % 5 == 0) { @@ -560,26 +367,20 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel { int r = list.get(world.rand.nextInt(list.size())); - if(r > 0) - world.playSoundAtEntity(entity, "hbm:item.geiger" + r, 1.0F, 1.0F); + if(r > 0) world.playSoundAtEntity(entity, "hbm:item.geiger" + r, 1.0F, 1.0F); } } } public static int check(World world, int x, int y, int z) { - int rads = (int) Math.ceil(ChunkRadiationManager.proxy.getRadiation(world, x, y, z)); return rads; } // For crazier stuff not possible without hooking the event - @SideOnly(Side.CLIENT) - public void handleOverlay(RenderGameOverlayEvent.Pre event, EntityPlayer player) { - } + @SideOnly(Side.CLIENT) public void handleOverlay(RenderGameOverlayEvent.Pre event, EntityPlayer player) { } - public boolean isArmorEnabled(ItemStack stack) { - return true; - } + public boolean isArmorEnabled(ItemStack stack) { return true; } @SideOnly(Side.CLIENT) public void renderHelmetOverlay(ItemStack stack, EntityPlayer player, ScaledResolution resolution, float partialTicks, boolean hasScreen, int mouseX, int mouseY) { @@ -624,4 +425,7 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel { public boolean disablesPart(EntityPlayer player, ItemStack stack, EnumPlayerPart part) { return hidden.contains(part) && (!needsFullSet || hasFSBArmorIgnoreCharge(player)); } + + public void handleAttack(LivingAttackEvent event) { } + public void handleHurt(LivingHurtEvent event) { } } diff --git a/src/main/java/com/hbm/items/armor/ArmorFSBFueled.java b/src/main/java/com/hbm/items/armor/ArmorFSBFueled.java index cfb41950a..da97d79a3 100644 --- a/src/main/java/com/hbm/items/armor/ArmorFSBFueled.java +++ b/src/main/java/com/hbm/items/armor/ArmorFSBFueled.java @@ -5,7 +5,7 @@ import java.util.List; import com.hbm.inventory.fluid.FluidType; import com.hbm.util.BobMathUtil; -import api.hbm.fluid.IFillableItem; +import api.hbm.fluidmk2.IFillableItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/com/hbm/items/armor/ArmorGasMask.java b/src/main/java/com/hbm/items/armor/ArmorGasMask.java index 1359848e8..d763ff5a2 100644 --- a/src/main/java/com/hbm/items/armor/ArmorGasMask.java +++ b/src/main/java/com/hbm/items/armor/ArmorGasMask.java @@ -11,8 +11,8 @@ import com.hbm.lib.RefStrings; import com.hbm.render.model.ModelGasMask; import com.hbm.render.model.ModelM65; import com.hbm.util.ArmorUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.ArmorRegistry.HazardClass; +import com.hbm.util.i18n.I18nUtil; import api.hbm.item.IGasMask; import cpw.mods.fml.relauncher.Side; diff --git a/src/main/java/com/hbm/items/armor/ArmorModel.java b/src/main/java/com/hbm/items/armor/ArmorModel.java index 88eed031d..c6a2b5137 100644 --- a/src/main/java/com/hbm/items/armor/ArmorModel.java +++ b/src/main/java/com/hbm/items/armor/ArmorModel.java @@ -1,6 +1,7 @@ package com.hbm.items.armor; import java.util.List; +import java.util.stream.IntStream; import org.lwjgl.opengl.GL11; @@ -10,7 +11,6 @@ import com.hbm.lib.RefStrings; import com.hbm.render.model.ModelCloak; import com.hbm.render.model.ModelGoggles; import com.hbm.render.model.ModelHat; -import com.hbm.render.model.ModelM65; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -31,21 +31,12 @@ import net.minecraft.util.ResourceLocation; // clientonly... public class ArmorModel extends ItemArmor { + @SideOnly(Side.CLIENT) private ModelGoggles modelGoggles; + @SideOnly(Side.CLIENT) private ModelHat modelHat; + @SideOnly(Side.CLIENT) private ModelCloak modelCloak; + @SideOnly(Side.CLIENT) - private ModelGoggles modelGoggles; - @SideOnly(Side.CLIENT) - private ModelCloak modelCloak; - @SideOnly(Side.CLIENT) - private ModelM65 modelM65; - @SideOnly(Side.CLIENT) - private ModelHat modelHat; - @Spaghetti("replace this garbage with an array") - private ResourceLocation goggleBlur0 = new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_goggles_0.png"); - private ResourceLocation goggleBlur1 = new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_goggles_1.png"); - private ResourceLocation goggleBlur2 = new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_goggles_2.png"); - private ResourceLocation goggleBlur3 = new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_goggles_3.png"); - private ResourceLocation goggleBlur4 = new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_goggles_4.png"); - private ResourceLocation goggleBlur5 = new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_goggles_5.png"); + private ResourceLocation[] gogglesBlurs; public ArmorModel(ArmorMaterial armorMaterial, int armorType) { super(armorMaterial, 0, armorType); @@ -56,26 +47,20 @@ public class ArmorModel extends ItemArmor { public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) { if(this == ModItems.goggles) { if(armorSlot == 0) { - if(this.modelGoggles == null) { - this.modelGoggles = new ModelGoggles(); - } - return this.modelGoggles; + if(modelGoggles == null) modelGoggles = new ModelGoggles(); + return modelGoggles; } } if(this == ModItems.hat) { if(armorSlot == 0) { - if(this.modelHat == null) { - this.modelHat = new ModelHat(0); - } - return this.modelHat; + if(modelHat == null) modelHat = new ModelHat(0); + return modelHat; } } if(this == ModItems.cape_radiation || this == ModItems.cape_gasmask || this == ModItems.cape_schrabidium || this == ModItems.cape_hidden) { if(armorSlot == 1) { - if(this.modelCloak == null) { - this.modelCloak = new ModelCloak(); - } - return this.modelCloak; + if(modelCloak == null) modelCloak = new ModelCloak(); + return modelCloak; } } return null; @@ -107,61 +92,42 @@ public class ArmorModel extends ItemArmor { if(this != ModItems.goggles && this != ModItems.hazmat_helmet_red && this != ModItems.hazmat_helmet_grey) return; + + if(gogglesBlurs == null) gogglesBlurs = IntStream.range(0, 6) + .mapToObj(i -> new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_goggles_" + i + ".png")) + .toArray(ResourceLocation[]::new); GL11.glEnable(GL11.GL_BLEND); GL11.glDisable(GL11.GL_DEPTH_TEST); - GL11.glDepthMask(false); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glDisable(GL11.GL_ALPHA_TEST); - switch((int) ((double) stack.getItemDamage() / (double) stack.getMaxDamage() * 6D)) { - case 0: - Minecraft.getMinecraft().getTextureManager().bindTexture(goggleBlur0); - break; - case 1: - Minecraft.getMinecraft().getTextureManager().bindTexture(goggleBlur1); - break; - case 2: - Minecraft.getMinecraft().getTextureManager().bindTexture(goggleBlur2); - break; - case 3: - Minecraft.getMinecraft().getTextureManager().bindTexture(goggleBlur3); - break; - case 4: - Minecraft.getMinecraft().getTextureManager().bindTexture(goggleBlur4); - break; - case 5: - Minecraft.getMinecraft().getTextureManager().bindTexture(goggleBlur5); - break; - default: - Minecraft.getMinecraft().getTextureManager().bindTexture(goggleBlur5); - break; - } + GL11.glDepthMask(false); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO); + + int blurTextureIndex = (int) ((double) stack.getItemDamage() / (double) stack.getMaxDamage() * 6D); + if (blurTextureIndex < 0 || blurTextureIndex > 5) + blurTextureIndex = 5; + + Minecraft.getMinecraft().getTextureManager().bindTexture(gogglesBlurs[blurTextureIndex]); Tessellator tessellator = Tessellator.instance; tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(0.0D, (double) resolution.getScaledHeight(), -90.0D, 0.0D, 1.0D); - tessellator.addVertexWithUV((double) resolution.getScaledWidth(), (double) resolution.getScaledHeight(), -90.0D, 1.0D, 1.0D); - tessellator.addVertexWithUV((double) resolution.getScaledWidth(), 0.0D, -90.0D, 1.0D, 0.0D); + tessellator.addVertexWithUV(0.0D, resolution.getScaledHeight(), -90.0D, 0.0D, 1.0D); + tessellator.addVertexWithUV(resolution.getScaledWidth(), resolution.getScaledHeight(), -90.0D, 1.0D, 1.0D); + tessellator.addVertexWithUV(resolution.getScaledWidth(), 0.0D, -90.0D, 1.0D, 0.0D); tessellator.addVertexWithUV(0.0D, 0.0D, -90.0D, 0.0D, 0.0D); tessellator.draw(); + GL11.glDepthMask(true); GL11.glEnable(GL11.GL_DEPTH_TEST); GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glDisable(GL11.GL_BLEND); } @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - if(this == ModItems.cape_radiation) { - list.add("Avalible for everyone"); - } - if(this == ModItems.cape_gasmask) { - list.add("Avalible for everyone"); - } - if(this == ModItems.cape_schrabidium) { - list.add("Avalible for everyone"); - } + if(this == ModItems.cape_radiation) list.add("Avalible for everyone"); + if(this == ModItems.cape_gasmask) list.add("Avalible for everyone"); + if(this == ModItems.cape_schrabidium) list.add("Avalible for everyone"); } } diff --git a/src/main/java/com/hbm/items/armor/ArmorTaurun.java b/src/main/java/com/hbm/items/armor/ArmorTaurun.java new file mode 100644 index 000000000..d927935b4 --- /dev/null +++ b/src/main/java/com/hbm/items/armor/ArmorTaurun.java @@ -0,0 +1,34 @@ +package com.hbm.items.armor; + +import com.hbm.render.model.ModelArmorTaurun; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; + +public class ArmorTaurun extends ArmorFSB { + + public ArmorTaurun(ArmorMaterial material, int slot, String texture) { + super(material, slot, texture); + this.setMaxDamage(0); + } + + @SideOnly(Side.CLIENT) + ModelArmorTaurun[] models; + + @Override + @SideOnly(Side.CLIENT) + public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) { + + if(models == null) { + models = new ModelArmorTaurun[4]; + + for(int i = 0; i < 4; i++) + models[i] = new ModelArmorTaurun(i); + } + + return models[armorSlot]; + } +} diff --git a/src/main/java/com/hbm/items/armor/ArmorTrenchmaster.java b/src/main/java/com/hbm/items/armor/ArmorTrenchmaster.java index 4967059fc..c716e18e9 100644 --- a/src/main/java/com/hbm/items/armor/ArmorTrenchmaster.java +++ b/src/main/java/com/hbm/items/armor/ArmorTrenchmaster.java @@ -3,8 +3,10 @@ package com.hbm.items.armor; import java.util.List; import com.hbm.extprop.HbmPlayerProps; +import com.hbm.handler.ArmorModHandler; +import com.hbm.items.ModItems; import com.hbm.render.model.ModelArmorTrenchmaster; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -44,7 +46,7 @@ public class ArmorTrenchmaster extends ArmorFSB { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { super.addInformation(stack, player, list, ext); - list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.fasterReload")); + //list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.fasterReload")); list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.moreAmmo")); } @@ -85,4 +87,19 @@ public class ArmorTrenchmaster extends ArmorFSB { } } } + + public static boolean isTrenchMaster(EntityPlayer player) { + if(player == null) return false; + return player.inventory.armorInventory[2] != null && player.inventory.armorInventory[2].getItem() == ModItems.trenchmaster_plate && ArmorFSB.hasFSBArmor(player); + } + + public static boolean hasAoS(EntityPlayer player) { + if(player == null) return false; + if(player.inventory.armorInventory[3] != null) { + ItemStack[] mods = ArmorModHandler.pryMods(player.inventory.armorInventory[3]); + ItemStack helmet = mods[ArmorModHandler.helmet_only]; + return helmet != null && helmet.getItem() == ModItems.card_aos; + } + return false; + } } diff --git a/src/main/java/com/hbm/items/armor/ItemArmorMod.java b/src/main/java/com/hbm/items/armor/ItemArmorMod.java index cc6666e4f..a91cbdf54 100644 --- a/src/main/java/com/hbm/items/armor/ItemArmorMod.java +++ b/src/main/java/com/hbm/items/armor/ItemArmorMod.java @@ -5,7 +5,7 @@ import java.util.List; import com.google.common.collect.Multimap; import com.hbm.handler.ArmorModHandler; import com.hbm.main.MainRegistry; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/hbm/items/armor/ItemModCladding.java b/src/main/java/com/hbm/items/armor/ItemModCladding.java index a71b8cb28..c18eae1fb 100644 --- a/src/main/java/com/hbm/items/armor/ItemModCladding.java +++ b/src/main/java/com/hbm/items/armor/ItemModCladding.java @@ -27,6 +27,6 @@ public class ItemModCladding extends ItemArmorMod { @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.YELLOW + " " + stack.getDisplayName() + " (+" + rad + " radiation resistence)"); + list.add(EnumChatFormatting.YELLOW + " " + stack.getDisplayName() + " (+" + rad + " radiation resistance)"); } } diff --git a/src/main/java/com/hbm/items/armor/ItemModGasmask.java b/src/main/java/com/hbm/items/armor/ItemModGasmask.java index cacecfc27..681caa195 100644 --- a/src/main/java/com/hbm/items/armor/ItemModGasmask.java +++ b/src/main/java/com/hbm/items/armor/ItemModGasmask.java @@ -9,8 +9,8 @@ import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; import com.hbm.render.model.ModelM65; import com.hbm.util.ArmorUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.ArmorRegistry.HazardClass; +import com.hbm.util.i18n.I18nUtil; import api.hbm.item.IGasMask; import cpw.mods.fml.relauncher.Side; diff --git a/src/main/java/com/hbm/items/armor/ItemModKnife.java b/src/main/java/com/hbm/items/armor/ItemModKnife.java index 9d61d7e2e..9507dd03e 100644 --- a/src/main/java/com/hbm/items/armor/ItemModKnife.java +++ b/src/main/java/com/hbm/items/armor/ItemModKnife.java @@ -4,9 +4,9 @@ import java.util.List; import java.util.UUID; import com.hbm.handler.ArmorModHandler; +import com.hbm.handler.threading.PacketThreading; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.entity.EntityLivingBase; @@ -20,7 +20,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; public class ItemModKnife extends ItemArmorMod { - + public static final UUID trigamma_UUID = UUID.fromString("86d44ca9-44f1-4ca6-bdbb-d9d33bead251"); public ItemModKnife() { @@ -29,11 +29,11 @@ public class ItemModKnife extends ItemArmorMod { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - + list.add(EnumChatFormatting.RED + "Pain."); list.add(""); list.add(EnumChatFormatting.RED + "Hurts, doesn't it?"); - + list.add(""); super.addInformation(stack, player, list, bool); } @@ -42,45 +42,45 @@ public class ItemModKnife extends ItemArmorMod { public void addDesc(List list, ItemStack stack, ItemStack armor) { list.add(EnumChatFormatting.RED + " " + stack.getDisplayName()); } - + @Override public void modUpdate(EntityLivingBase entity, ItemStack armor) { - + if(!entity.worldObj.isRemote) { - + if(entity.ticksExisted % 50 == 0 && entity.getMaxHealth() > 2F) { entity.worldObj.playSoundAtEntity(entity, "hbm:entity.slicer", 1.0F, 1.0F); - + NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "bloodvomit"); nbt.setInteger("entity", entity.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); + IAttributeInstance attributeinstance = entity.getAttributeMap().getAttributeInstance(SharedMonsterAttributes.maxHealth); - + float health = entity.getMaxHealth(); - + try { attributeinstance.removeModifier(attributeinstance.getModifier(trigamma_UUID)); } catch(Exception ex) { } - + attributeinstance.applyModifier(new AttributeModifier(trigamma_UUID, "digamma", -(entity.getMaxHealth() - health + 2), 0)); - + if(entity instanceof EntityPlayerMP) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "properJolt"); - + if(entity.getMaxHealth() > 2F) { data.setInteger("time", 10000 + entity.getRNG().nextInt(10000)); data.setInteger("maxTime", 10000); } else { data.setInteger("time", 0); data.setInteger("maxTime", 0); - + ((EntityPlayer)entity).triggerAchievement(MainRegistry.achSomeWounds); } - PacketDispatcher.wrapper.sendTo(new AuxParticlePacketNT(data, 0, 0, 0), (EntityPlayerMP)entity); + PacketThreading.createSendToThreadedPacket(new AuxParticlePacketNT(data, 0, 0, 0), (EntityPlayerMP)entity); } } } diff --git a/src/main/java/com/hbm/items/armor/ItemModLens.java b/src/main/java/com/hbm/items/armor/ItemModLens.java index a9df9cfff..2e55ef0e0 100644 --- a/src/main/java/com/hbm/items/armor/ItemModLens.java +++ b/src/main/java/com/hbm/items/armor/ItemModLens.java @@ -4,9 +4,9 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.handler.ArmorModHandler; +import com.hbm.handler.threading.PacketThreading; import com.hbm.items.ISatChip; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.saveddata.SatelliteSavedData; import com.hbm.saveddata.satellites.Satellite; import com.hbm.saveddata.satellites.SatelliteScanner; @@ -27,12 +27,12 @@ public class ItemModLens extends ItemArmorMod implements ISatChip { public ItemModLens() { super(ArmorModHandler.extra, true, false, false, false); } - + @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { list.add(EnumChatFormatting.AQUA + "Satellite Frequency: " + this.getFreq(itemstack)); list.add(""); - + super.addInformation(itemstack, player, list, bool); } @@ -46,12 +46,12 @@ public class ItemModLens extends ItemArmorMod implements ISatChip { World world = entity.worldObj; if(world.isRemote) return; if(!(entity instanceof EntityPlayerMP)) return; - + EntityPlayerMP player = (EntityPlayerMP) entity; ItemStack lens = ArmorModHandler.pryMods(armor)[ArmorModHandler.extra]; - + if(lens == null) return; - + int freq = this.getFreq(lens); Satellite sat = SatelliteSavedData.getData(world).getSatFromFreq(freq); if(!(sat instanceof SatelliteScanner)) return; @@ -60,22 +60,22 @@ public class ItemModLens extends ItemArmorMod implements ISatChip { int y = (int) Math.floor(player.posY); int z = (int) Math.floor(player.posZ); int range = 3; - + int cX = x >> 4; int cZ = z >> 4; - + int height = Math.max(Math.min(y + 10, 255), 64); int seg = (int) (world.getTotalWorldTime() % height); - + int hits = 0; - + for(int chunkX = cX - range; chunkX <= cX + range; chunkX++) { for(int chunkZ = cZ - range; chunkZ <= cZ + range; chunkZ++) { Chunk c = world.getChunkFromChunkCoords(chunkX, chunkZ); - + for(int ix = 0; ix < 16; ix++) { for(int iz = 0; iz < 16; iz++) { - + Block b = c.getBlock(ix, seg, iz); int aX = (chunkX << 4) + ix; int aZ = (chunkZ << 4) + iz; @@ -94,14 +94,14 @@ public class ItemModLens extends ItemArmorMod implements ISatChip { if(addIf(ModBlocks.crate_ammo, b, 1, aX, seg, aZ, null, 0x800000, player)) hits++; if(addIf(ModBlocks.crate_can, b, 1, aX, seg, aZ, null, 0x800000, player)) hits++; if(addIf(ModBlocks.ore_bedrock, b, 1, aX, seg, aZ, "Bedrock Ore", 0xff0000, player)) hits++; - + if(hits > 100) return; } } } } } - + private boolean addIf(Block target, Block b, int chance, int x, int y, int z, String label, int color, EntityPlayerMP player) { if(target == b && player.getRNG().nextInt(chance) == 0) { @@ -111,10 +111,10 @@ public class ItemModLens extends ItemArmorMod implements ISatChip { data.setInteger("expires", 15_000); data.setDouble("dist", 300D); if(label != null) data.setString("label", label); - PacketDispatcher.wrapper.sendTo(new AuxParticlePacketNT(data, x, y, z), player); + PacketThreading.createSendToThreadedPacket(new AuxParticlePacketNT(data, x, y, z), player); return true; } - + return false; } } diff --git a/src/main/java/com/hbm/items/armor/ItemModLodestone.java b/src/main/java/com/hbm/items/armor/ItemModLodestone.java index 9939244b7..f89e6c508 100644 --- a/src/main/java/com/hbm/items/armor/ItemModLodestone.java +++ b/src/main/java/com/hbm/items/armor/ItemModLodestone.java @@ -2,6 +2,7 @@ package com.hbm.items.armor; import java.util.List; +import com.hbm.extprop.HbmPlayerProps; import com.hbm.handler.ArmorModHandler; import net.minecraft.entity.EntityLivingBase; @@ -36,7 +37,10 @@ public class ItemModLodestone extends ItemArmorMod { @Override public void modUpdate(EntityLivingBase entity, ItemStack armor) { - + + // No magnet if keybind toggled + if (entity instanceof EntityPlayer && !HbmPlayerProps.getData((EntityPlayer) entity).isMagnetActive()) return; + List items = entity.worldObj.getEntitiesWithinAABB(EntityItem.class, entity.boundingBox.expand(range, range, range)); for(EntityItem item : items) { diff --git a/src/main/java/com/hbm/items/armor/ItemModNightVision.java b/src/main/java/com/hbm/items/armor/ItemModNightVision.java index 6418a88bc..7ae5f3507 100644 --- a/src/main/java/com/hbm/items/armor/ItemModNightVision.java +++ b/src/main/java/com/hbm/items/armor/ItemModNightVision.java @@ -1,10 +1,13 @@ package com.hbm.items.armor; +import com.hbm.extprop.HbmPlayerProps; import com.hbm.handler.ArmorModHandler; -import net.minecraft.client.resources.I18n; +import com.hbm.util.i18n.I18nUtil; + import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumChatFormatting; @@ -12,29 +15,43 @@ import net.minecraft.util.EnumChatFormatting; import java.util.List; public class ItemModNightVision extends ItemArmorMod { + private static final String NIGHT_VISION_ACTIVE_NBT_KEY = "ITEM_MOD_NV_ACTIVE"; + public ItemModNightVision() { super(ArmorModHandler.helmet_only, true, false, false, false); } @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.AQUA + I18n.format("item.night_vision.description.item")); + list.add(EnumChatFormatting.AQUA + I18nUtil.format("item.night_vision.description.item")); list.add(""); super.addInformation(itemstack, player, list, bool); } @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.YELLOW + I18n.format("item.night_vision.description.in_armor", stack.getDisplayName())); + list.add(EnumChatFormatting.YELLOW + I18nUtil.format("item.night_vision.description.in_armor", stack.getDisplayName())); } @Override public void modUpdate(EntityLivingBase entity, ItemStack armor) { if(!entity.worldObj.isRemote && entity instanceof EntityPlayer && armor.getItem() instanceof ArmorFSBPowered && ArmorFSBPowered.hasFSBArmor((EntityPlayer) entity)) { - entity.addPotionEffect(new PotionEffect(Potion.nightVision.id, 15 * 20, 0)); + if(HbmPlayerProps.getData(((EntityPlayer) entity)).enableHUD) { + // 15 seconds to make less flickering if the client lags + entity.addPotionEffect(new PotionEffect(Potion.nightVision.id, 15 * 20, 0)); + if(!armor.hasTagCompound()) { + armor.setTagCompound(new NBTTagCompound()); + } + if(!armor.getTagCompound().hasKey(NIGHT_VISION_ACTIVE_NBT_KEY)) { + armor.getTagCompound().setBoolean(NIGHT_VISION_ACTIVE_NBT_KEY, true); // Value does not matter, it's just a flag + } - if(entity.getRNG().nextInt(100) == 0) { - armor.damageItem(1, entity); + if (entity.getRNG().nextInt(100) == 0) { + armor.damageItem(1, entity); + } + } else if(armor.hasTagCompound() && armor.getTagCompound().hasKey(NIGHT_VISION_ACTIVE_NBT_KEY)) { // Disable night vision if it was the armor mod that applied it to avoid removing other night vision sources. + entity.removePotionEffect(Potion.nightVision.id); + armor.getTagCompound().removeTag(NIGHT_VISION_ACTIVE_NBT_KEY); } } } diff --git a/src/main/java/com/hbm/items/armor/ItemModPads.java b/src/main/java/com/hbm/items/armor/ItemModPads.java index 9e7d62556..a29a570b3 100644 --- a/src/main/java/com/hbm/items/armor/ItemModPads.java +++ b/src/main/java/com/hbm/items/armor/ItemModPads.java @@ -74,7 +74,7 @@ public class ItemModPads extends ItemArmorMod { if(charge == 0) charge = powered.consumption / 40; - long power = Math.min(powered.maxPower, powered.getCharge(stack) + charge); + long power = Math.min(powered.getMaxCharge(stack), powered.getCharge(stack) + charge); powered.setCharge(stack, power); } } diff --git a/src/main/java/com/hbm/items/armor/ItemModRevive.java b/src/main/java/com/hbm/items/armor/ItemModRevive.java index 57519ed89..c5a224f88 100644 --- a/src/main/java/com/hbm/items/armor/ItemModRevive.java +++ b/src/main/java/com/hbm/items/armor/ItemModRevive.java @@ -26,14 +26,13 @@ public class ItemModRevive extends ItemArmorMod { if(this == ModItems.wild_p) { list.add(EnumChatFormatting.DARK_GRAY + "Explosive " + EnumChatFormatting.RED + "Reactive " + EnumChatFormatting.DARK_GRAY + "Plot " + EnumChatFormatting.RED + "Armor"); } - if(this == ModItems.fabsols_vodka) { - list.add(EnumChatFormatting.ITALIC + "In the news:"); - list.add(EnumChatFormatting.RED + "" + EnumChatFormatting.BOLD + "Man literally too angry to die."); - list.add(""); - list.add(EnumChatFormatting.ITALIC + "\"I ain't got time to die\" says local"); - list.add(EnumChatFormatting.ITALIC + "man after ripping the physical manifestation"); - list.add(EnumChatFormatting.ITALIC + "of disaster itself in half."); - } + + /*list.add(EnumChatFormatting.ITALIC + "In the news:"); + list.add(EnumChatFormatting.RED + "" + EnumChatFormatting.BOLD + "Man literally too angry to die."); + list.add(""); + list.add(EnumChatFormatting.ITALIC + "\"I ain't got time to die\" says local"); + list.add(EnumChatFormatting.ITALIC + "man after ripping the physical manifestation"); + list.add(EnumChatFormatting.ITALIC + "of disaster itself in half.");*/ list.add(""); list.add(EnumChatFormatting.GOLD + "" + (stack.getMaxDamage() - stack.getItemDamage()) + " revives left"); diff --git a/src/main/java/com/hbm/items/armor/JetpackBase.java b/src/main/java/com/hbm/items/armor/JetpackBase.java index f7dd9b7cd..f68814769 100644 --- a/src/main/java/com/hbm/items/armor/JetpackBase.java +++ b/src/main/java/com/hbm/items/armor/JetpackBase.java @@ -3,11 +3,8 @@ package com.hbm.items.armor; import java.util.List; import com.hbm.handler.ArmorModHandler; -import com.hbm.inventory.fluid.FluidType; import com.hbm.render.model.ModelJetPack; -import com.hbm.util.ArmorUtil; -import api.hbm.fluid.IFillableItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.Minecraft; @@ -17,28 +14,21 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.RenderPlayerEvent; -public abstract class JetpackBase extends ItemArmorMod implements IFillableItem { +public abstract class JetpackBase extends ItemArmorMod { - private ModelJetPack model; - public FluidType fuel; - public int maxFuel; + protected ModelBiped cachedModel; - public JetpackBase(FluidType fuel, int maxFuel) { + public JetpackBase() { super(ArmorModHandler.plate_only, false, true, false, false); - this.fuel = fuel; - this.maxFuel = maxFuel; } @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.LIGHT_PURPLE + fuel.getLocalizedName() + ": " + this.getFuel(itemstack) + "mB / " + this.maxFuel + "mB"); - list.add(""); super.addInformation(itemstack, player, list, bool); list.add(EnumChatFormatting.GOLD + "Can be worn on its own!"); } @@ -51,7 +41,7 @@ public abstract class JetpackBase extends ItemArmorMod implements IFillableItem if(jetpack == null) return; - list.add(EnumChatFormatting.RED + " " + stack.getDisplayName() + " (" + fuel.getLocalizedName() + ": " + this.getFuel(jetpack) + "mB / " + this.maxFuel + "mB"); + list.add(EnumChatFormatting.RED + " " + stack.getDisplayName()); } @Override @@ -66,8 +56,6 @@ public abstract class JetpackBase extends ItemArmorMod implements IFillableItem return; onArmorTick(entity.worldObj, (EntityPlayer)entity, jetpack); - ArmorUtil.resetFlightTime((EntityPlayer)entity); - ArmorModHandler.applyMod(armor, jetpack); } @@ -103,87 +91,12 @@ public abstract class JetpackBase extends ItemArmorMod implements IFillableItem @SideOnly(Side.CLIENT) public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) { if (armorSlot == 1) { - if (model == null) { - this.model = new ModelJetPack(); + if (cachedModel == null) { + this.cachedModel = new ModelJetPack(); } - return this.model; + return this.cachedModel; } return null; } - - protected void useUpFuel(EntityPlayer player, ItemStack stack, int rate) { - - if(player.ticksExisted % rate == 0) - this.setFuel(stack, this.getFuel(stack) - 1); - } - - public static int getFuel(ItemStack stack) { - if(stack.stackTagCompound == null) { - stack.stackTagCompound = new NBTTagCompound(); - return 0; - } - - return stack.stackTagCompound.getInteger("fuel"); - - } - - public static void setFuel(ItemStack stack, int i) { - if(stack.stackTagCompound == null) { - stack.stackTagCompound = new NBTTagCompound(); - } - - stack.stackTagCompound.setInteger("fuel", i); - - } - - public int getMaxFill(ItemStack stack) { - return this.maxFuel; - } - - public int getLoadSpeed(ItemStack stack) { - return 10; - } - - @Override - public boolean acceptsFluid(FluidType type, ItemStack stack) { - return type == this.fuel; - } - - @Override - public int tryFill(FluidType type, int amount, ItemStack stack) { - - if(!acceptsFluid(type, stack)) - return amount; - - int fill = this.getFuel(stack); - int req = maxFuel - fill; - - int toFill = Math.min(amount, req); - //toFill = Math.min(toFill, getLoadSpeed(stack)); - - this.setFuel(stack, fill + toFill); - - return amount - toFill; - } - - @Override - public boolean providesFluid(FluidType type, ItemStack stack) { - return false; - } - - @Override - public int tryEmpty(FluidType type, int amount, ItemStack stack) { - return 0; - } - - @Override - public FluidType getFirstFluidType(ItemStack stack) { - return null; - } - - @Override - public int getFill(ItemStack stack) { - return 0; - } } diff --git a/src/main/java/com/hbm/items/armor/JetpackBooster.java b/src/main/java/com/hbm/items/armor/JetpackBooster.java index 09b90947b..9b4f463c5 100644 --- a/src/main/java/com/hbm/items/armor/JetpackBooster.java +++ b/src/main/java/com/hbm/items/armor/JetpackBooster.java @@ -3,9 +3,11 @@ package com.hbm.items.armor; import java.util.List; import com.hbm.extprop.HbmPlayerProps; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.fluid.FluidType; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; + +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.util.ArmorUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; @@ -17,7 +19,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class JetpackBooster extends JetpackBase { +public class JetpackBooster extends JetpackFueledBase { public JetpackBooster(FluidType fuel, int maxFuel) { super(fuel, maxFuel); @@ -40,7 +42,7 @@ public class JetpackBooster extends JetpackBase { data.setString("type", "jetpack"); data.setInteger("player", player.getEntityId()); data.setInteger("mode", 1); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, player.posX, player.posY, player.posZ), new TargetPoint(world.provider.dimensionId, player.posX, player.posY, player.posZ, 100)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, player.posX, player.posY, player.posZ), new TargetPoint(world.provider.dimensionId, player.posX, player.posY, player.posZ, 100)); } } @@ -62,6 +64,7 @@ public class JetpackBooster extends JetpackBase { world.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:weapon.flamethrowerShoot", 0.25F, 1.0F); this.useUpFuel(player, stack, 1); + ArmorUtil.resetFlightTime(player); } } diff --git a/src/main/java/com/hbm/items/armor/JetpackBreak.java b/src/main/java/com/hbm/items/armor/JetpackBreak.java index 340fd2f09..e5c4128f9 100644 --- a/src/main/java/com/hbm/items/armor/JetpackBreak.java +++ b/src/main/java/com/hbm/items/armor/JetpackBreak.java @@ -3,9 +3,10 @@ package com.hbm.items.armor; import java.util.List; import com.hbm.extprop.HbmPlayerProps; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.fluid.FluidType; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.util.ArmorUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; @@ -16,7 +17,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -public class JetpackBreak extends JetpackBase { +public class JetpackBreak extends JetpackFueledBase { public static int maxFuel = 1200; @@ -30,34 +31,34 @@ public class JetpackBreak extends JetpackBase { } public void onArmorTick(World world, EntityPlayer player, ItemStack stack) { - + HbmPlayerProps props = HbmPlayerProps.getData(player); - + if(!world.isRemote) { - + if(getFuel(stack) > 0 && (props.isJetpackActive() || (!player.onGround && !player.isSneaking() && props.enableBackpack))) { - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "jetpack"); - data.setInteger("player", player.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, player.posX, player.posY, player.posZ), new TargetPoint(world.provider.dimensionId, player.posX, player.posY, player.posZ, 100)); + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "jetpack"); + data.setInteger("player", player.getEntityId()); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, player.posX, player.posY, player.posZ), new TargetPoint(world.provider.dimensionId, player.posX, player.posY, player.posZ, 100)); } } if(getFuel(stack) > 0) { - + if(props.isJetpackActive()) { player.fallDistance = 0; - + if(player.motionY < 0.4D) player.motionY += 0.1D; - + world.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:weapon.flamethrowerShoot", 0.25F, 1.5F); this.useUpFuel(player, stack, 5); - + } else if(!player.isSneaking() && !player.onGround && props.enableBackpack) { player.fallDistance = 0; - + if(player.motionY < -1) player.motionY += 0.2D; else if(player.motionY < -0.1) @@ -67,20 +68,22 @@ public class JetpackBreak extends JetpackBase { player.motionX *= 1.025D; player.motionZ *= 1.025D; - + world.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:weapon.flamethrowerShoot", 0.25F, 1.5F); this.useUpFuel(player, stack, 10); } + + ArmorUtil.resetFlightTime(player); } - } - - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + } - list.add("Regular jetpack that will automatically hover mid-air."); - list.add("Sneaking will stop hover mode."); - list.add("Hover mode will consume less fuel and increase air-mobility."); - - super.addInformation(stack, player, list, ext); - } + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + + list.add("Regular jetpack that will automatically hover mid-air."); + list.add("Sneaking will stop hover mode."); + list.add("Hover mode will consume less fuel and increase air-mobility."); + + super.addInformation(stack, player, list, ext); + } } diff --git a/src/main/java/com/hbm/items/armor/JetpackFueledBase.java b/src/main/java/com/hbm/items/armor/JetpackFueledBase.java new file mode 100644 index 000000000..c1271ae58 --- /dev/null +++ b/src/main/java/com/hbm/items/armor/JetpackFueledBase.java @@ -0,0 +1,117 @@ +package com.hbm.items.armor; + +import java.util.List; + +import com.hbm.handler.ArmorModHandler; +import com.hbm.inventory.fluid.FluidType; + +import api.hbm.fluidmk2.IFillableItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; + +public abstract class JetpackFueledBase extends JetpackBase implements IFillableItem { + + public FluidType fuel; + public int maxFuel; + + public JetpackFueledBase(FluidType fuel, int maxFuel) { + super(); + this.fuel = fuel; + this.maxFuel = maxFuel; + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { + list.add(EnumChatFormatting.LIGHT_PURPLE + fuel.getLocalizedName() + ": " + this.getFuel(itemstack) + "mB / " + this.maxFuel + "mB"); + list.add(""); + super.addInformation(itemstack, player, list, bool); + } + + @Override + public void addDesc(List list, ItemStack stack, ItemStack armor) { + + ItemStack jetpack = ArmorModHandler.pryMods(armor)[ArmorModHandler.plate_only]; + + if(jetpack == null) + return; + + list.add(EnumChatFormatting.RED + " " + stack.getDisplayName() + " (" + fuel.getLocalizedName() + ": " + this.getFuel(jetpack) + "mB / " + this.maxFuel + "mB)"); + } + + protected void useUpFuel(EntityPlayer player, ItemStack stack, int rate) { + if(player.ticksExisted % rate == 0){ + this.setFuel(stack, this.getFuel(stack) - 1); + } + } + + public static int getFuel(ItemStack stack) { + if(stack.stackTagCompound == null) { + stack.stackTagCompound = new NBTTagCompound(); + return 0; + } + + return stack.stackTagCompound.getInteger("fuel"); + + } + + public static void setFuel(ItemStack stack, int i) { + if(stack.stackTagCompound == null) { + stack.stackTagCompound = new NBTTagCompound(); + } + + stack.stackTagCompound.setInteger("fuel", i); + + } + + public int getMaxFill(ItemStack stack) { + return this.maxFuel; + } + + public int getLoadSpeed(ItemStack stack) { + return 10; + } + + @Override + public boolean acceptsFluid(FluidType type, ItemStack stack) { + return type == this.fuel; + } + + @Override + public int tryFill(FluidType type, int amount, ItemStack stack) { + + if(!acceptsFluid(type, stack)) + return amount; + + int fill = this.getFuel(stack); + int req = maxFuel - fill; + + int toFill = Math.min(amount, req); + //toFill = Math.min(toFill, getLoadSpeed(stack)); + + this.setFuel(stack, fill + toFill); + + return amount - toFill; + } + + @Override + public boolean providesFluid(FluidType type, ItemStack stack) { + return false; + } + + @Override + public int tryEmpty(FluidType type, int amount, ItemStack stack) { + return 0; + } + + @Override + public FluidType getFirstFluidType(ItemStack stack) { + return null; + } + + @Override + public int getFill(ItemStack stack) { + return 0; + } +} diff --git a/src/main/java/com/hbm/items/armor/JetpackRegular.java b/src/main/java/com/hbm/items/armor/JetpackRegular.java index cbf04933b..3779a9946 100644 --- a/src/main/java/com/hbm/items/armor/JetpackRegular.java +++ b/src/main/java/com/hbm/items/armor/JetpackRegular.java @@ -3,9 +3,10 @@ package com.hbm.items.armor; import java.util.List; import com.hbm.extprop.HbmPlayerProps; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.fluid.FluidType; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.util.ArmorUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; @@ -16,7 +17,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -public class JetpackRegular extends JetpackBase { +public class JetpackRegular extends JetpackFueledBase { public JetpackRegular(FluidType fuel, int maxFuel) { super(fuel, maxFuel); @@ -38,7 +39,7 @@ public class JetpackRegular extends JetpackBase { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "jetpack"); data.setInteger("player", player.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, player.posX, player.posY, player.posZ), new TargetPoint(world.provider.dimensionId, player.posX, player.posY, player.posZ, 100)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, player.posX, player.posY, player.posZ), new TargetPoint(world.provider.dimensionId, player.posX, player.posY, player.posZ, 100)); } } @@ -50,6 +51,7 @@ public class JetpackRegular extends JetpackBase { world.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:weapon.flamethrowerShoot", 0.25F, 1.5F); this.useUpFuel(player, stack, 5); + ArmorUtil.resetFlightTime(player); } } diff --git a/src/main/java/com/hbm/items/armor/JetpackVectorized.java b/src/main/java/com/hbm/items/armor/JetpackVectorized.java index d95312f80..27b306906 100644 --- a/src/main/java/com/hbm/items/armor/JetpackVectorized.java +++ b/src/main/java/com/hbm/items/armor/JetpackVectorized.java @@ -3,9 +3,10 @@ package com.hbm.items.armor; import java.util.List; import com.hbm.extprop.HbmPlayerProps; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.fluid.FluidType; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.util.ArmorUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; @@ -17,7 +18,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class JetpackVectorized extends JetpackBase { +public class JetpackVectorized extends JetpackFueledBase { public JetpackVectorized(FluidType fuel, int maxFuel) { super(fuel, maxFuel); @@ -40,7 +41,7 @@ public class JetpackVectorized extends JetpackBase { data.setString("type", "jetpack"); data.setInteger("player", player.getEntityId()); data.setInteger("mode", 1); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, player.posX, player.posY, player.posZ), new TargetPoint(world.provider.dimensionId, player.posX, player.posY, player.posZ, 100)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, player.posX, player.posY, player.posZ), new TargetPoint(world.provider.dimensionId, player.posX, player.posY, player.posZ, 100)); } } @@ -62,6 +63,7 @@ public class JetpackVectorized extends JetpackBase { world.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:weapon.flamethrowerShoot", 0.25F, 1.5F); this.useUpFuel(player, stack, 3); + ArmorUtil.resetFlightTime(player); } } diff --git a/src/main/java/com/hbm/items/armor/WingsMurk.java b/src/main/java/com/hbm/items/armor/WingsMurk.java index d74840b42..daec63319 100644 --- a/src/main/java/com/hbm/items/armor/WingsMurk.java +++ b/src/main/java/com/hbm/items/armor/WingsMurk.java @@ -2,37 +2,43 @@ package com.hbm.items.armor; import com.hbm.extprop.HbmPlayerProps; import com.hbm.items.ModItems; +import com.hbm.main.ResourceManager; import com.hbm.render.model.ModelArmorWings; import com.hbm.util.ArmorUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.model.ModelBiped; +import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class WingsMurk extends ItemArmor { +public class WingsMurk extends JetpackBase { - public WingsMurk(ArmorMaterial material) { - super(material, 0, 1); + public WingsMurk() { + super(); } - @SideOnly(Side.CLIENT) - ModelArmorWings model; + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { + return ResourceManager.wings_murk.toString(); + } @Override @SideOnly(Side.CLIENT) public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) { - - if(model == null) { - model = new ModelArmorWings(this == ModItems.wings_murk ? 0 : 1); + if (armorSlot == 1) { + if(cachedModel == null) { + cachedModel = new ModelArmorWings(this == ModItems.wings_murk ? 0 : 1); + } + + return cachedModel; } - - return model; + + return null; } public void onArmorTick(World world, EntityPlayer player, ItemStack stack) { diff --git a/src/main/java/com/hbm/items/block/ItemBlockBase.java b/src/main/java/com/hbm/items/block/ItemBlockBase.java index 97286b3a2..fdbe48c6c 100644 --- a/src/main/java/com/hbm/items/block/ItemBlockBase.java +++ b/src/main/java/com/hbm/items/block/ItemBlockBase.java @@ -20,7 +20,7 @@ import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; public class ItemBlockBase extends ItemBlock { - + public ItemBlockBase(Block block) { super(block); @@ -88,4 +88,10 @@ public class ItemBlockBase extends ItemBlock { return EnumRarity.common; } + + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int pass) { + return this.field_150939_a.getRenderColor(stack.getItemDamage()); + } } diff --git a/src/main/java/com/hbm/items/block/ItemBlockStorageCrate.java b/src/main/java/com/hbm/items/block/ItemBlockStorageCrate.java new file mode 100644 index 000000000..97d2cb7e8 --- /dev/null +++ b/src/main/java/com/hbm/items/block/ItemBlockStorageCrate.java @@ -0,0 +1,173 @@ +package com.hbm.items.block; + +import com.hbm.blocks.ModBlocks; +import com.hbm.config.ServerConfig; +import com.hbm.inventory.container.*; +import com.hbm.inventory.gui.*; +import com.hbm.items.ItemInventory; +import com.hbm.items.tool.ItemKey; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.machine.storage.*; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +import javax.annotation.Nonnull; + +public class ItemBlockStorageCrate extends ItemBlockBase implements IGUIProvider { + + public ItemBlockStorageCrate(Block block) { + super(block); + } + + // IF WE PUT ROCKS IN THE SHAPE OF A RUNWAY GOD WILL GIVE US HIGH-FRUCTOSE CORN SYRUP + @Override + public int getMaxItemUseDuration(ItemStack stack) { + return 1; + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + if(!ServerConfig.CRATE_OPEN_HELD.get()) return stack; + + Block block = Block.getBlockFromItem(player.getHeldItem().getItem()); + if(block == ModBlocks.mass_storage) return stack; // Genuinely can't figure out how to make this part work, so I'm just not gonna mess with it. + + if(!world.isRemote && stack.stackSize == 1) { + if(stack.stackTagCompound != null && stack.stackTagCompound.hasKey("lock")) { + for(ItemStack item : player.inventory.mainInventory) { + + if(item == null) continue; // Skip if no item. + if(!(item.getItem() instanceof ItemKey)) continue; // Skip if item isn't a key. + if(item.stackTagCompound == null) continue; // Skip if there is no NBT (wouldn't open it anyway). + if(item.stackTagCompound.getInteger("pins") == stack.stackTagCompound.getInteger("lock")) { // Check if pins are equal (if it can open it) + TileEntityCrateBase.spawnSpiders(player, world, stack); + player.openGui(MainRegistry.instance, 0, world, 0, 0, 0); + break; + } + } + return stack; // Return early if it was locked. + } + TileEntityCrateBase.spawnSpiders(player, world, stack); + player.openGui(MainRegistry.instance, 0, world, 0, 0, 0); // If there is no lock then don't bother checking. + } + + return stack; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + Block block = Block.getBlockFromItem(player.getHeldItem().getItem()); + if(block == ModBlocks.crate_iron) return new ContainerCrateIron(player.inventory, new InventoryCrate(player, player.getHeldItem())); + if(block == ModBlocks.crate_steel) return new ContainerCrateSteel(player.inventory, new InventoryCrate(player, player.getHeldItem())); + if(block == ModBlocks.crate_desh) return new ContainerCrateDesh(player.inventory, new InventoryCrate(player, player.getHeldItem())); + if(block == ModBlocks.crate_tungsten) return new ContainerCrateTungsten(player.inventory, new InventoryCrate(player, player.getHeldItem())); + if(block == ModBlocks.crate_template) return new ContainerCrateTemplate(player.inventory, new InventoryCrate(player, player.getHeldItem())); + if(block == ModBlocks.safe) return new ContainerSafe(player.inventory, new InventoryCrate(player, player.getHeldItem())); + throw new NullPointerException(); + } + + @Override + @SideOnly(Side.CLIENT) + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + Block block = Block.getBlockFromItem(player.getHeldItem().getItem()); + if(block == ModBlocks.crate_iron) return new GUICrateIron(player.inventory, new InventoryCrate(player, player.getHeldItem())); + if(block == ModBlocks.crate_steel) return new GUICrateSteel(player.inventory, new InventoryCrate(player, player.getHeldItem())); + if(block == ModBlocks.crate_desh) return new GUICrateDesh(player.inventory, new InventoryCrate(player, player.getHeldItem())); + if(block == ModBlocks.crate_tungsten) return new GUICrateTungsten(player.inventory, new InventoryCrate(player, player.getHeldItem())); + if(block == ModBlocks.crate_template) return new GUICrateTemplate(player.inventory, new InventoryCrate(player, player.getHeldItem())); + if(block == ModBlocks.safe) return new GUISafe(player.inventory, new InventoryCrate(player, player.getHeldItem())); + throw new NullPointerException(); + } + + public static class InventoryCrate extends ItemInventory { + + public InventoryCrate(EntityPlayer player, ItemStack crate) { + this.player = player; + this.target = crate; + + this.slots = new ItemStack[this.getSizeInventory()]; + if(target.stackTagCompound == null) { + target.stackTagCompound = new NBTTagCompound(); + } + + for(int i = 0; i < slots.length; i++) + this.slots[i] = ItemStack.loadItemStackFromNBT(target.stackTagCompound.getCompoundTag("slot" + i)); + } + + @Nonnull + public static TileEntityCrateBase findCrateType(Item crate) { + Block block = Block.getBlockFromItem(crate); + if(block == ModBlocks.crate_iron) return new TileEntityCrateIron(); + if(block == ModBlocks.crate_steel) return new TileEntityCrateSteel(); + if(block == ModBlocks.crate_desh) return new TileEntityCrateDesh(); + if(block == ModBlocks.crate_tungsten) return new TileEntityCrateTungsten(); + if(block == ModBlocks.crate_template) return new TileEntityCrateTemplate(); + if(block == ModBlocks.safe) return new TileEntitySafe(); + throw new NullPointerException(); + } + + @Override + public int getSizeInventory() { + return findCrateType(target.getItem()).getSizeInventory(); + } + + @Override + public String getInventoryName() { + TileEntityCrateBase tile = findCrateType(target.getItem()); + if (hasCustomInventoryName()) { + tile.setCustomName(target.getDisplayName()); + } + return tile.getInventoryName(); + } + + @Override + public boolean hasCustomInventoryName() { + return target.hasDisplayName(); + } + + @Override + public void markDirty() { // You have been blessed by the unfuck + + // Preserve existing NBT so we keep lock data and piders + NBTTagCompound nbt = target.stackTagCompound != null ? target.stackTagCompound : new NBTTagCompound(); + int invSize = this.getSizeInventory(); + + for(int i = 0; i < invSize; i++) { + + ItemStack stack = this.getStackInSlot(i); + if(stack == null) { + nbt.removeTag("slot" + i); + continue; + } + + NBTTagCompound slot = new NBTTagCompound(); + stack.writeToNBT(slot); + nbt.setTag("slot" + i, slot); + } + + if (nbt.hasNoTags()) { + nbt = null; + } + + target.setTagCompound(nbt); + } + + @Override + public void closeInventory() { + super.closeInventory(); + + // Check for 6kb item vomit + target.setTagCompound(checkNBT(target.getTagCompound())); + player.inventoryContainer.detectAndSendChanges(); + } + } +} diff --git a/src/main/java/com/hbm/items/block/ItemModSlab.java b/src/main/java/com/hbm/items/block/ItemModSlab.java index a562c28f2..97f0c7d69 100644 --- a/src/main/java/com/hbm/items/block/ItemModSlab.java +++ b/src/main/java/com/hbm/items/block/ItemModSlab.java @@ -1,11 +1,13 @@ package com.hbm.items.block; import com.hbm.blocks.ModBlocks; +import com.hbm.interfaces.NotableComments; import net.minecraft.block.Block; import net.minecraft.block.BlockSlab; import net.minecraft.item.ItemSlab; +@NotableComments public class ItemModSlab extends ItemSlab { public ItemModSlab(Block block) { @@ -16,6 +18,7 @@ public class ItemModSlab extends ItemSlab { if(b == ModBlocks.concrete_slab || b == ModBlocks.concrete_double_slab) return (BlockSlab) ModBlocks.concrete_slab; if(b == ModBlocks.concrete_brick_slab || b == ModBlocks.concrete_brick_double_slab) return (BlockSlab) ModBlocks.concrete_brick_slab; if(b == ModBlocks.brick_slab || b == ModBlocks.brick_double_slab) return (BlockSlab) ModBlocks.brick_slab; + if(b == ModBlocks.stones_slab || b == ModBlocks.stones_double_slab) return (BlockSlab) ModBlocks.stones_slab; return null; } @@ -23,6 +26,7 @@ public class ItemModSlab extends ItemSlab { if(b == ModBlocks.concrete_slab || b == ModBlocks.concrete_double_slab) return (BlockSlab) ModBlocks.concrete_double_slab; if(b == ModBlocks.concrete_brick_slab || b == ModBlocks.concrete_brick_double_slab) return (BlockSlab) ModBlocks.concrete_brick_double_slab; if(b == ModBlocks.brick_slab || b == ModBlocks.brick_double_slab) return (BlockSlab) ModBlocks.brick_double_slab; + if(b == ModBlocks.stones_slab || b == ModBlocks.stones_double_slab) return (BlockSlab) ModBlocks.stones_double_slab; return null; } } diff --git a/src/main/java/com/hbm/items/block/ItemTaintBlock.java b/src/main/java/com/hbm/items/block/ItemTaintBlock.java deleted file mode 100644 index 2f048d02a..000000000 --- a/src/main/java/com/hbm/items/block/ItemTaintBlock.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.hbm.items.block; - -import java.util.List; - -import com.hbm.blocks.bomb.BlockTaint; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; - -public class ItemTaintBlock extends ItemBlock -{ - public ItemTaintBlock(Block p_i45358_1_) - { - super(p_i45358_1_); - this.setMaxDamage(0); - this.setHasSubtypes(true); - } - - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int p_77617_1_) - { - return this.field_150939_a.func_149735_b(2, BlockTaint.func_150032_b(p_77617_1_)); - } - - public int getMetadata(int p_77647_1_) - { - return p_77647_1_; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) - { - list.add("DO NOT TOUCH, BREATHE OR STARE AT."); - } -} diff --git a/src/main/java/com/hbm/items/food/ItemCanteen.java b/src/main/java/com/hbm/items/food/ItemCanteen.java index 81a3c20b0..e344a4712 100644 --- a/src/main/java/com/hbm/items/food/ItemCanteen.java +++ b/src/main/java/com/hbm/items/food/ItemCanteen.java @@ -35,18 +35,11 @@ public class ItemCanteen extends Item { public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player) { stack.setItemDamage(stack.getMaxDamage()); - if (this == ModItems.canteen_vodka) { + if(this == ModItems.canteen_vodka) { player.addPotionEffect(new PotionEffect(Potion.confusion.id, 10 * 20, 0)); player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 30 * 20, 2)); } - if (this == ModItems.canteen_fab) { - player.heal(10F); - player.addPotionEffect(new PotionEffect(Potion.confusion.id, 15 * 20, 0)); - player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 60 * 20, 2)); - player.addPotionEffect(new PotionEffect(Potion.resistance.id, 60 * 20, 2)); - player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 60 * 20, 1)); - } - + VersatileConfig.applyPotionSickness(player, 5); return stack; @@ -64,34 +57,27 @@ public class ItemCanteen extends Item { @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - if (stack.getItemDamage() == 0 && !VersatileConfig.hasPotionSickness(player)) + if(stack.getItemDamage() == 0 && !VersatileConfig.hasPotionSickness(player)) player.setItemInUse(stack, this.getMaxItemUseDuration(stack)); return stack; } - - @Override + + @Override @SideOnly(Side.CLIENT) - public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_, List list, boolean p_77624_4_) - { - if(this == ModItems.canteen_vodka) - { + public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_, List list, boolean p_77624_4_) { + if(this == ModItems.canteen_vodka) { list.add("Cooldown: 3 minutes"); list.add("Nausea I for 10 seconds"); list.add("Strength III for 30 seconds"); list.add(""); - - if(MainRegistry.polaroidID == 11) - //list.add("Why sipp when you can succ?"); + + if(MainRegistry.polaroidID == 11) + // list.add("Why sipp when you can succ?"); list.add("Time to get hammered & sickled!"); - else - list.add("Smells like disinfectant, tastes like disinfectant."); - } - if(this == ModItems.canteen_fab) - { - list.add("Cooldown: 2 minutes"); - list.add("Engages the fab drive"); - } - } + else + list.add("Smells like disinfectant, tastes like disinfectant."); + } + } } diff --git a/src/main/java/com/hbm/items/food/ItemConserve.java b/src/main/java/com/hbm/items/food/ItemConserve.java index 9b45540e6..592b2eae6 100644 --- a/src/main/java/com/hbm/items/food/ItemConserve.java +++ b/src/main/java/com/hbm/items/food/ItemConserve.java @@ -7,7 +7,7 @@ import com.hbm.entity.effect.EntityVortex; import com.hbm.items.ItemEnumMulti; import com.hbm.items.ModItems; import com.hbm.util.EnumUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/hbm/items/food/ItemLemon.java b/src/main/java/com/hbm/items/food/ItemLemon.java index 17499655c..b331b799e 100644 --- a/src/main/java/com/hbm/items/food/ItemLemon.java +++ b/src/main/java/com/hbm/items/food/ItemLemon.java @@ -2,10 +2,9 @@ package com.hbm.items.food; import java.util.List; +import com.hbm.handler.threading.PacketThreading; import com.hbm.items.ModItems; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; - +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; @@ -20,55 +19,55 @@ public class ItemLemon extends ItemFood { public ItemLemon(int p_i45339_1_, float p_i45339_2_, boolean p_i45339_3_) { super(p_i45339_1_, p_i45339_2_, p_i45339_3_); - + if(this == ModItems.med_ipecac || this == ModItems.med_ptsd) { this.setAlwaysEdible(); } } - + @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { if(this == ModItems.lemon) { list.add("Eh, good enough."); } - + if(this == ModItems.med_ipecac) { list.add("Bitter juice that will cause your stomach"); list.add("to forcefully eject its contents."); } - + if(this == ModItems.med_ptsd) { list.add("This isn't even PTSD mediaction, it's just"); list.add("Ipecac in a different bottle!"); } - + if(this == ModItems.med_schizophrenia) { list.add("Makes the voices go away. Just for a while."); list.add(""); list.add("..."); list.add("Better not take it."); } - + if(this == ModItems.med_schizophrenia) { list.add("Makes the voices go away. Just for a while."); list.add(""); list.add("..."); list.add("Better not take it."); } - + if(this == ModItems.loops) { list.add("Brøther, may I have some lööps?"); } - + if(this == ModItems.loop_stew) { list.add("A very, very healthy breakfast."); } - + if(this == ModItems.twinkie) { list.add("Expired 600 years ago!"); } - + if(this == ModItems.pudding) { list.add("What if he did?"); list.add("What if he didn't?"); @@ -96,18 +95,18 @@ public class ItemLemon extends ItemFood { { if(this == ModItems.med_ipecac || this == ModItems.med_ptsd) { player.addPotionEffect(new PotionEffect(Potion.hunger.id, 50, 49)); - + NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "vomit"); nbt.setInteger("entity", player.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(player.dimension, player.posX, player.posY, player.posZ, 25)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(player.dimension, player.posX, player.posY, player.posZ, 25)); + world.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:entity.vomit", 1.0F, 1.0F); } - + if(this == ModItems.med_schizophrenia) { } - + if(this == ModItems.loop_stew) { player.addPotionEffect(new PotionEffect(Potion.regeneration.id, 20 * 20, 1)); player.addPotionEffect(new PotionEffect(Potion.resistance.id, 60 * 20, 2)); @@ -119,12 +118,12 @@ public class ItemLemon extends ItemFood { public ItemStack onEaten(ItemStack stack, World worldObj, EntityPlayer player) { ItemStack sta = super.onEaten(stack, worldObj, player); - + if(this == ModItems.loop_stew) return new ItemStack(Items.bowl); - + return sta; - + } } diff --git a/src/main/java/com/hbm/items/food/ItemNugget.java b/src/main/java/com/hbm/items/food/ItemNugget.java deleted file mode 100644 index b6da8bc71..000000000 --- a/src/main/java/com/hbm/items/food/ItemNugget.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.hbm.items.food; - -import java.util.List; - -import com.hbm.items.ModItems; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemStack; - -public class ItemNugget extends ItemFood { - - public ItemNugget(int p_i45340_1_, boolean p_i45340_2_) { - super(p_i45340_1_, p_i45340_2_); - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - if (this == ModItems.gun_moist_nugget) { - list.add("A Mosin-Na...no wait, it's"); - list.add("just a moist nugget."); - } - } - -} diff --git a/src/main/java/com/hbm/items/food/ItemPill.java b/src/main/java/com/hbm/items/food/ItemPill.java index 3c7508e47..02207c79f 100644 --- a/src/main/java/com/hbm/items/food/ItemPill.java +++ b/src/main/java/com/hbm/items/food/ItemPill.java @@ -9,7 +9,7 @@ import com.hbm.extprop.HbmLivingProps; import com.hbm.items.ModItems; import com.hbm.lib.ModDamageSource; import com.hbm.potion.HbmPotion; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemFood; diff --git a/src/main/java/com/hbm/items/machine/ItemAssemblyTemplate.java b/src/main/java/com/hbm/items/machine/ItemAssemblyTemplate.java index d3e58e448..7a1c26a0b 100644 --- a/src/main/java/com/hbm/items/machine/ItemAssemblyTemplate.java +++ b/src/main/java/com/hbm/items/machine/ItemAssemblyTemplate.java @@ -9,7 +9,7 @@ import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.recipes.AssemblerRecipes; import com.hbm.inventory.recipes.AssemblerRecipes.AssemblerRecipe; import com.hbm.items.ModItems; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -54,8 +54,8 @@ public class ItemAssemblyTemplate extends Item { //LEGACY if(out == null) out = AssemblerRecipes.recipeList.get(stack.getItemDamage()); - AssemblerRecipe recipe = AssemblerRecipes.recipes.get(stack); - + AssemblerRecipe recipe = AssemblerRecipes.recipes.get(out); + if(recipe != null && !recipe.folders.contains(ModItems.template_folder)) return this.hiddenIcon; @@ -168,14 +168,11 @@ public class ItemAssemblyTemplate extends Item { return; } - boolean nbtType = true; - //NEW ComparableStack out = readType(stack); //LEGACY if(out == null) { out = AssemblerRecipes.recipeList.get(i); - nbtType = false; } AssemblerRecipe recipe = AssemblerRecipes.recipes.get(out); @@ -202,13 +199,6 @@ public class ItemAssemblyTemplate extends Item { } list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("info.templatefolder", String.join(" / ", names))); - - if(nbtType) { - list.add(EnumChatFormatting.GREEN + "Persistent template"); - } else { - list.add(EnumChatFormatting.RED + "Volatile template"); - } - list.add(""); if(out == null) { diff --git a/src/main/java/com/hbm/items/machine/ItemCassette.java b/src/main/java/com/hbm/items/machine/ItemCassette.java index 2809ead79..9a0dc6a55 100644 --- a/src/main/java/com/hbm/items/machine/ItemCassette.java +++ b/src/main/java/com/hbm/items/machine/ItemCassette.java @@ -3,7 +3,7 @@ package com.hbm.items.machine; import java.util.List; import com.hbm.items.ModItems; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java b/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java index b063ce516..d644a4515 100644 --- a/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java +++ b/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java @@ -5,7 +5,7 @@ import java.util.List; import com.hbm.inventory.recipes.ChemplantRecipes; import com.hbm.inventory.recipes.ChemplantRecipes.ChemRecipe; import com.hbm.items.ModItems; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/hbm/items/machine/ItemCrucibleTemplate.java b/src/main/java/com/hbm/items/machine/ItemCrucibleTemplate.java index 38cc57570..878cac22c 100644 --- a/src/main/java/com/hbm/items/machine/ItemCrucibleTemplate.java +++ b/src/main/java/com/hbm/items/machine/ItemCrucibleTemplate.java @@ -8,7 +8,7 @@ import com.hbm.inventory.material.Mats; import com.hbm.inventory.material.Mats.MaterialStack; import com.hbm.inventory.recipes.CrucibleRecipes; import com.hbm.inventory.recipes.CrucibleRecipes.CrucibleRecipe; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/hbm/items/machine/ItemDepletedFuel.java b/src/main/java/com/hbm/items/machine/ItemDepletedFuel.java index fe839a410..5ffb16617 100644 --- a/src/main/java/com/hbm/items/machine/ItemDepletedFuel.java +++ b/src/main/java/com/hbm/items/machine/ItemDepletedFuel.java @@ -3,7 +3,7 @@ package com.hbm.items.machine; import java.util.List; import com.hbm.items.special.ItemNuclearWaste; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/hbm/items/machine/ItemFELCrystal.java b/src/main/java/com/hbm/items/machine/ItemFELCrystal.java index 0a105cb2b..850aa4b30 100644 --- a/src/main/java/com/hbm/items/machine/ItemFELCrystal.java +++ b/src/main/java/com/hbm/items/machine/ItemFELCrystal.java @@ -3,7 +3,7 @@ package com.hbm.items.machine; import java.util.List; import com.hbm.items.ModItems; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/hbm/items/machine/ItemFluidIDMulti.java b/src/main/java/com/hbm/items/machine/ItemFluidIDMulti.java index 612eb8442..a0ea666ba 100644 --- a/src/main/java/com/hbm/items/machine/ItemFluidIDMulti.java +++ b/src/main/java/com/hbm/items/machine/ItemFluidIDMulti.java @@ -8,14 +8,13 @@ import com.hbm.inventory.gui.GUIScreenFluid; import com.hbm.items.IItemControlReceiver; import com.hbm.main.MainRegistry; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.PlayerInformPacket; +import com.hbm.packet.toclient.PlayerInformPacket; import com.hbm.tileentity.IGUIProvider; import com.hbm.util.ChatBuilder; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; @@ -150,7 +149,7 @@ public class ItemFluidIDMulti extends Item implements IItemFluidIdentifier, IIte @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIScreenFluid(player); } } diff --git a/src/main/java/com/hbm/items/machine/ItemFluidIcon.java b/src/main/java/com/hbm/items/machine/ItemFluidIcon.java index 358d498d8..f41ec69eb 100644 --- a/src/main/java/com/hbm/items/machine/ItemFluidIcon.java +++ b/src/main/java/com/hbm/items/machine/ItemFluidIcon.java @@ -6,6 +6,7 @@ import com.hbm.inventory.FluidStack; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; +import com.hbm.util.BobMathUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -40,7 +41,10 @@ public class ItemFluidIcon extends Item { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { if(stack.hasTagCompound()) { if(getQuantity(stack) > 0) list.add(getQuantity(stack) + "mB"); - if(getPressure(stack) > 0) list.add(EnumChatFormatting.RED + "" + getPressure(stack) + "PU"); + if(getPressure(stack) > 0) { + list.add(EnumChatFormatting.RED + "" + getPressure(stack) + "PU"); + list.add((BobMathUtil.getBlink() ? EnumChatFormatting.RED : EnumChatFormatting.DARK_RED) + "Pressurized, use compressor!"); + } } Fluids.fromID(stack.getItemDamage()).addInfo(list); diff --git a/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java b/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java index 5abea5f30..b2068040b 100644 --- a/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java +++ b/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java @@ -5,7 +5,7 @@ import java.util.List; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/hbm/items/machine/ItemFluidSiphon.java b/src/main/java/com/hbm/items/machine/ItemFluidSiphon.java index 2a7fc95ce..ecf9797e6 100644 --- a/src/main/java/com/hbm/items/machine/ItemFluidSiphon.java +++ b/src/main/java/com/hbm/items/machine/ItemFluidSiphon.java @@ -10,8 +10,7 @@ import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Unsiphonable; import com.hbm.items.ModItems; import com.hbm.items.tool.ItemPipette; -import api.hbm.fluid.IFluidStandardReceiver; -import api.hbm.fluid.IFluidStandardTransceiver; +import api.hbm.fluidmk2.IFluidStandardReceiverMK2; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -19,78 +18,82 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class ItemFluidSiphon extends Item { - + @Override public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int i, float f0, float f1, float f2) { TileEntity te = CompatExternal.getCoreFromPos(world, x, y, z); - if(te != null && (te instanceof IFluidStandardReceiver || te instanceof IFluidStandardTransceiver)) { - FluidTank[] tanks; - if (te instanceof IFluidStandardReceiver) { - tanks = ((IFluidStandardReceiver) te).getReceivingTanks(); - } else { - tanks = ((IFluidStandardTransceiver) te).getReceivingTanks(); - } + if(te != null && te instanceof IFluidStandardReceiverMK2) { + FluidTank[] tanks = ((IFluidStandardReceiverMK2) te).getReceivingTanks(); - boolean hasDrainedTank = false; - - // We need to iterate through the inventory for _each_ siphonable tank, so we can handle fluids that can only go into certain containers - // After we successfully siphon any fluid from a tank, we stop further processing, multiple fluid types require multiple clicks - for (FluidTank tank : tanks) { - if (tank.getFill() <= 0) continue; + boolean hasDrainedTank = false; - ItemStack availablePipette = null; - FluidType tankType = tank.getTankType(); + // We need to iterate through the inventory for _each_ siphonable + // tank, so we can handle fluids that can only go into certain containers + // After we successfully siphon any fluid from a tank, we stop + // further processing, multiple fluid types require multiple clicks + for(FluidTank tank : tanks) { + if(tank.getFill() <= 0) + continue; - if (tankType.hasTrait(FT_Unsiphonable.class)) continue; + ItemStack availablePipette = null; + FluidType tankType = tank.getTankType(); - for (int j = 0; j < player.inventory.mainInventory.length; j++) { - ItemStack inventoryStack = player.inventory.mainInventory[j]; - if (inventoryStack == null) continue; + if(tankType.hasTrait(FT_Unsiphonable.class)) + continue; - FluidContainer container = FluidContainerRegistry.getContainer(tankType, inventoryStack); + for(int j = 0; j < player.inventory.mainInventory.length; j++) { + ItemStack inventoryStack = player.inventory.mainInventory[j]; + if(inventoryStack == null) + continue; - if (availablePipette == null && inventoryStack.getItem() instanceof ItemPipette) { - ItemPipette pipette = (ItemPipette) inventoryStack.getItem(); - if (!pipette.willFizzle(tankType) && pipette != ModItems.pipette_laboratory) { // Ignoring laboratory pipettes for now - availablePipette = inventoryStack; - } - } + FluidContainer container = FluidContainerRegistry.getContainer(tankType, inventoryStack); - if (container == null) continue; + if(availablePipette == null && inventoryStack.getItem() instanceof ItemPipette) { + ItemPipette pipette = (ItemPipette) inventoryStack.getItem(); + if(!pipette.willFizzle(tankType) && pipette != ModItems.pipette_laboratory) { // Ignoring laboratory pipettes for now + availablePipette = inventoryStack; + } + } - ItemStack full = FluidContainerRegistry.getFullContainer(inventoryStack, tankType); + if(container == null) + continue; - while (tank.getFill() >= container.content && inventoryStack.stackSize > 0) { - hasDrainedTank = true; + ItemStack full = FluidContainerRegistry.getFullContainer(inventoryStack, tankType); - inventoryStack.stackSize--; - if (inventoryStack.stackSize <= 0) { - player.inventory.mainInventory[j] = null; - } + while(tank.getFill() >= container.content && inventoryStack.stackSize > 0) { + hasDrainedTank = true; - ItemStack filledContainer = full.copy(); - tank.setFill(tank.getFill() - container.content); - player.inventory.addItemStackToInventory(filledContainer); - } - } + inventoryStack.stackSize--; + if(inventoryStack.stackSize <= 0) { + player.inventory.mainInventory[j] = null; + } - // If the remainder of the tank can only fit into a pipette, fill a pipette with the remainder - // Will not auto-fill fizzlable pipettes, there is no feedback for the fizzle in this case, and that's a touch too unfair - if (availablePipette != null && tank.getFill() < 1000) { - ItemPipette pipette = (ItemPipette) availablePipette.getItem(); - - if (pipette.acceptsFluid(tankType, availablePipette)) { - hasDrainedTank = true; - tank.setFill(pipette.tryFill(tankType, tank.getFill(), availablePipette)); - } - } + ItemStack filledContainer = full.copy(); + tank.setFill(tank.getFill() - container.content); + player.inventory.addItemStackToInventory(filledContainer); + } + } - if (hasDrainedTank) return true; - } + // If the remainder of the tank can only fit into a pipette, + // fill a pipette with the remainder + // Will not auto-fill fizzlable pipettes, there is no feedback + // for the fizzle in this case, and that's a touch too unfair + if(availablePipette != null && tank.getFill() < 1000) { + ItemPipette pipette = (ItemPipette) availablePipette.getItem(); + + if(pipette.acceptsFluid(tankType, availablePipette)) { + hasDrainedTank = true; + tank.setFill(pipette.tryFill(tankType, tank.getFill(), availablePipette)); + } + } + + if(hasDrainedTank) + return true; + } } return false; } - + } diff --git a/src/main/java/com/hbm/items/machine/ItemICFPellet.java b/src/main/java/com/hbm/items/machine/ItemICFPellet.java index 5cbc88ff0..7f115adb2 100644 --- a/src/main/java/com/hbm/items/machine/ItemICFPellet.java +++ b/src/main/java/com/hbm/items/machine/ItemICFPellet.java @@ -12,7 +12,7 @@ import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.util.BobMathUtil; import com.hbm.util.EnumUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/hbm/items/machine/ItemLens.java b/src/main/java/com/hbm/items/machine/ItemLens.java index 93ebb1f86..905af7c05 100644 --- a/src/main/java/com/hbm/items/machine/ItemLens.java +++ b/src/main/java/com/hbm/items/machine/ItemLens.java @@ -43,15 +43,14 @@ public class ItemLens extends Item { stack.stackTagCompound.setLong("damage", damage); } - - public double getDurabilityForDisplay(ItemStack stack) - { - return (double)getLensDamage(stack) / (double)maxDamage; - } - - public boolean showDurabilityBar(ItemStack stack) - { - return getDurabilityForDisplay(stack) != 0; - } + @Override + public double getDurabilityForDisplay(ItemStack stack) { + return (double) getLensDamage(stack) / (double) maxDamage; + } + + @Override + public boolean showDurabilityBar(ItemStack stack) { + return getDurabilityForDisplay(stack) != 0; + } } diff --git a/src/main/java/com/hbm/items/machine/ItemMold.java b/src/main/java/com/hbm/items/machine/ItemMold.java index 81b8fb0b8..25b273d4f 100644 --- a/src/main/java/com/hbm/items/machine/ItemMold.java +++ b/src/main/java/com/hbm/items/machine/ItemMold.java @@ -6,11 +6,13 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.inventory.material.Mats; +import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.inventory.material.MaterialShapes; import com.hbm.inventory.material.NTMMaterial; +import com.hbm.items.ItemEnums.EnumCasingType; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -75,11 +77,20 @@ public class ItemMold extends Item { registerMold(new MoldBlock( 12, L, "block", MaterialShapes.BLOCK)); registerMold(new MoldSingle( 13, L, "pipes", new ItemStack(ModItems.pipes_steel), Mats.MAT_STEEL, MaterialShapes.BLOCK.q(3))); - registerMold(new MoldSingle( 14, S, "c357", new ItemStack(ModItems.casing_357), Mats.MAT_COPPER, MaterialShapes.PLATE.q(1))); - registerMold(new MoldSingle( 15, S, "c44", new ItemStack(ModItems.casing_44), Mats.MAT_COPPER, MaterialShapes.PLATE.q(1))); - registerMold(new MoldSingle( 16, S, "c9", new ItemStack(ModItems.casing_9), Mats.MAT_COPPER, MaterialShapes.PLATE.q(1))); - registerMold(new MoldSingle( 17, S, "c50", new ItemStack(ModItems.casing_50), Mats.MAT_COPPER, MaterialShapes.PLATE.q(1))); - registerMold(new MoldSingle( 18, S, "cbuckshot", new ItemStack(ModItems.casing_buckshot), Mats.MAT_COPPER, MaterialShapes.PLATE.q(1))); + registerMold(new MoldMulti( 16, S, "c9", MaterialShapes.PLATE.q(1, 4), + Mats.MAT_GUNMETAL, DictFrame.fromOne(ModItems.casing, EnumCasingType.SMALL), + Mats.MAT_WEAPONSTEEL, DictFrame.fromOne(ModItems.casing, EnumCasingType.SMALL_STEEL))); + registerMold(new MoldMulti( 17, S, "c50", MaterialShapes.PLATE.q(1, 2), + Mats.MAT_GUNMETAL, DictFrame.fromOne(ModItems.casing, EnumCasingType.LARGE), + Mats.MAT_WEAPONSTEEL, DictFrame.fromOne(ModItems.casing, EnumCasingType.LARGE_STEEL))); + + registerMold(new MoldShape( 22, S, "barrel_light", MaterialShapes.LIGHTBARREL)); + registerMold(new MoldShape( 23, S, "barrel_heavy", MaterialShapes.HEAVYBARREL)); + registerMold(new MoldShape( 24, S, "receiver_light", MaterialShapes.LIGHTRECEIVER)); + registerMold(new MoldShape( 25, S, "receiver_heavy", MaterialShapes.HEAVYRECEIVER)); + registerMold(new MoldShape( 26, S, "mechanism", MaterialShapes.MECHANISM)); + registerMold(new MoldShape( 27, S, "stock", MaterialShapes.STOCK)); + registerMold(new MoldShape( 28, S, "grip", MaterialShapes.GRIP)); } public void registerMold(Mold mold) { @@ -174,6 +185,15 @@ public class ItemMold extends Item { String od = shape.name() + name; List ores = OreDictionary.getOres(od); if(!ores.isEmpty()) { + //prioritize NTM items + for(ItemStack ore : ores) { + if(Item.itemRegistry.getNameForObject(ore.getItem()).startsWith(RefStrings.MODID)) { + ItemStack copy = ore.copy(); + copy.stackSize = this.amount; + return copy; + } + } + //...then try whatever comes first ItemStack copy = ores.get(0).copy(); copy.stackSize = this.amount; return copy; diff --git a/src/main/java/com/hbm/items/machine/ItemMuffler.java b/src/main/java/com/hbm/items/machine/ItemMuffler.java index 915fd65d7..664b7dfb6 100644 --- a/src/main/java/com/hbm/items/machine/ItemMuffler.java +++ b/src/main/java/com/hbm/items/machine/ItemMuffler.java @@ -1,6 +1,6 @@ package com.hbm.items.machine; -import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.CompatExternal; import net.minecraft.entity.player.EntityPlayer; @@ -15,8 +15,8 @@ public class ItemMuffler extends Item { public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int i, float f0, float f1, float f2) { TileEntity te = CompatExternal.getCoreFromPos(world, x, y, z); - if(te != null && te instanceof TileEntityMachineBase) { - TileEntityMachineBase tile = (TileEntityMachineBase) te; + if(te != null && te instanceof TileEntityLoadedBase) { + TileEntityLoadedBase tile = (TileEntityLoadedBase) te; if(!tile.muffled) { tile.muffled = true; world.playSoundAtEntity(player, "hbm:item.upgradePlug", 1.0F, 1.0F); diff --git a/src/main/java/com/hbm/items/machine/ItemPACoil.java b/src/main/java/com/hbm/items/machine/ItemPACoil.java new file mode 100644 index 000000000..8730a3787 --- /dev/null +++ b/src/main/java/com/hbm/items/machine/ItemPACoil.java @@ -0,0 +1,51 @@ +package com.hbm.items.machine; + +import java.util.List; +import java.util.Locale; + +import com.hbm.items.ItemEnumMulti; +import com.hbm.util.EnumUtil; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +public class ItemPACoil extends ItemEnumMulti { + + public ItemPACoil() { + super(EnumCoilType.class, true, true); + this.setMaxStackSize(1); + } + + public static enum EnumCoilType { + GOLD(0, 2_200, 0, 2_200, 15), + NIOBIUM(1_500, 8_400, 1_500, 8_400, 21), + BSCCO(7_500, 15_000, 7_500, 15_000, 27), + CHLOROPHYTE(14_500, 75_000, 14_500, 75_000, 51); + + public int quadMin; + public int quadMax; + public int diMin; + public int diMax; + public int diDistMin; + + private EnumCoilType(int quadMin, int quadMax, int diMin, int diMax, int diDistMin) { + this.quadMin = quadMin; + this.quadMax = quadMax; + this.diMin = diMin; + this.diMax = diMax; + this.diDistMin = diDistMin; + } + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + EnumCoilType type = EnumUtil.grabEnumSafely(theEnum, stack.getItemDamage()); + list.add(EnumChatFormatting.BLUE + "Quadrupole operational range: " + EnumChatFormatting.RESET + String.format(Locale.US, "%,d", type.quadMin) + " - " + String.format(Locale.US, "%,d", type.quadMax)); + list.add(EnumChatFormatting.BLUE + "Dipole operational range: " + EnumChatFormatting.RESET + String.format(Locale.US, "%,d", type.diMin) + " - " + String.format(Locale.US, "%,d", type.diMax)); + list.add(EnumChatFormatting.BLUE + "Dipole minimum side length: " + EnumChatFormatting.RESET + type.diDistMin); + list.add(EnumChatFormatting.RED + "Minimums not met result in a power draw penalty!"); + list.add(EnumChatFormatting.RED + "Maximums exceeded result in the particle crashing!"); + list.add(EnumChatFormatting.RED + "Particles will crash in dipoles if both penalties take effect!"); + } +} diff --git a/src/main/java/com/hbm/items/machine/ItemPileRod.java b/src/main/java/com/hbm/items/machine/ItemPileRod.java index 103e68494..91735dcea 100644 --- a/src/main/java/com/hbm/items/machine/ItemPileRod.java +++ b/src/main/java/com/hbm/items/machine/ItemPileRod.java @@ -2,7 +2,7 @@ package com.hbm.items.machine; import java.util.List; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; diff --git a/src/main/java/com/hbm/items/machine/ItemRBMKLid.java b/src/main/java/com/hbm/items/machine/ItemRBMKLid.java index 1c1490798..87e59ca73 100644 --- a/src/main/java/com/hbm/items/machine/ItemRBMKLid.java +++ b/src/main/java/com/hbm/items/machine/ItemRBMKLid.java @@ -2,9 +2,12 @@ package com.hbm.items.machine; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.rbmk.RBMKBase; +import com.hbm.handler.neutron.NeutronNodeWorld; +import com.hbm.handler.neutron.RBMKNeutronHandler.RBMKNeutronNode; import com.hbm.items.ModItems; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBase; +import com.hbm.util.fauxpointtwelve.BlockPos; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; @@ -17,42 +20,46 @@ public class ItemRBMKLid extends Item { @Override public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float fx, float fy, float fz) { - + Block b = world.getBlock(x, y, z); - + if(b instanceof RBMKBase) { RBMKBase rbmk = (RBMKBase) b; - + int[] pos = rbmk.findCore(world, x, y, z); - + if(pos == null) return false; - + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); - + if(!(te instanceof TileEntityRBMKBase)) return false; - + TileEntityRBMKBase tile = (TileEntityRBMKBase) te; - + if(tile.hasLid()) return false; - + + RBMKNeutronNode node = (RBMKNeutronNode) NeutronNodeWorld.getNode(world, new BlockPos(te)); + if(node != null) + node.addLid(); + int meta = RBMKBase.DIR_NORMAL_LID.ordinal(); - + if(this == ModItems.rbmk_lid_glass) { meta = RBMKBase.DIR_GLASS_LID.ordinal(); world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, Blocks.glass.stepSound.func_150496_b(), (Blocks.glass.stepSound.getVolume() + 1.0F) / 2.0F, Blocks.glass.stepSound.getPitch() * 0.8F); } else { world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, ModBlocks.concrete_smooth.stepSound.func_150496_b(), (ModBlocks.concrete_smooth.stepSound.getVolume() + 1.0F) / 2.0F, ModBlocks.concrete_smooth.stepSound.getPitch() * 0.8F); } - + world.setBlockMetadataWithNotify(pos[0], pos[1], pos[2], meta + RBMKBase.offset, 3); stack.stackSize--; - + return true; } - + return false; } } diff --git a/src/main/java/com/hbm/items/machine/ItemRBMKPellet.java b/src/main/java/com/hbm/items/machine/ItemRBMKPellet.java index e50dbcd66..2b252f2ff 100644 --- a/src/main/java/com/hbm/items/machine/ItemRBMKPellet.java +++ b/src/main/java/com/hbm/items/machine/ItemRBMKPellet.java @@ -16,7 +16,7 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; public class ItemRBMKPellet extends ItemNuclearWaste { - + public String fullName = ""; protected boolean hasXenon = true; @@ -26,12 +26,16 @@ public class ItemRBMKPellet extends ItemNuclearWaste { this.setMaxDamage(0); this.setCreativeTab(MainRegistry.controlTab); } - + public ItemRBMKPellet disableXenon() { this.hasXenon = false; return this; } + public boolean isXenonEnabled() { + return hasXenon; + } + @Override @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tabs, List list) { @@ -39,10 +43,10 @@ public class ItemRBMKPellet extends ItemNuclearWaste { list.add(new ItemStack(item, 1, i)); } } - + @SideOnly(Side.CLIENT) private IIcon[] enrichmentOverlays; - + @SideOnly(Side.CLIENT) private IIcon xenonOverlay; @@ -50,13 +54,13 @@ public class ItemRBMKPellet extends ItemNuclearWaste { @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconRegister) { super.registerIcons(iconRegister); - + this.enrichmentOverlays = new IIcon[5]; - + for(int i = 0; i < enrichmentOverlays.length; i++) { enrichmentOverlays[i] = iconRegister.registerIcon("hbm:rbmk_pellet_overlay_e" + i); } - + if(this.hasXenon) xenonOverlay = iconRegister.registerIcon("hbm:rbmk_pellet_overlay_xenon"); } @@ -71,16 +75,16 @@ public class ItemRBMKPellet extends ItemNuclearWaste { public int getRenderPasses(int meta) { return hasXenon(meta) ? 3 : 2; } - + @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { super.addInformation(stack, player, list, bool); list.add(EnumChatFormatting.ITALIC + this.fullName); list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "Pellet for recycling"); - + int meta = rectify(stack.getItemDamage()); - + switch(meta % 5) { case 0: list.add(EnumChatFormatting.GOLD + "Brand New"); break; case 1: list.add(EnumChatFormatting.YELLOW + "Barely Depleted"); break; @@ -88,7 +92,7 @@ public class ItemRBMKPellet extends ItemNuclearWaste { case 3: list.add(EnumChatFormatting.DARK_GREEN + "Highly Depleted"); break; case 4: list.add(EnumChatFormatting.DARK_GRAY + "Fully Depleted"); break; } - + if(hasXenon(meta)) list.add(EnumChatFormatting.DARK_PURPLE + "High Xenon Poison"); } @@ -96,20 +100,20 @@ public class ItemRBMKPellet extends ItemNuclearWaste { @Override @SideOnly(Side.CLIENT) public IIcon getIconFromDamageForRenderPass(int meta, int pass) { - + if(pass == 0) return this.itemIcon; - + if(pass == 2) return this.xenonOverlay; - + return this.enrichmentOverlays[rectify(meta) % 5]; } - + public static boolean hasXenon(int meta) { return rectify(meta) >= 5; } - + public static int rectify(int meta) { return Math.abs(meta) % 10; } diff --git a/src/main/java/com/hbm/items/machine/ItemRBMKRod.java b/src/main/java/com/hbm/items/machine/ItemRBMKRod.java index 93e30f4ac..1ab86f42d 100644 --- a/src/main/java/com/hbm/items/machine/ItemRBMKRod.java +++ b/src/main/java/com/hbm/items/machine/ItemRBMKRod.java @@ -1,23 +1,27 @@ package com.hbm.items.machine; +import java.util.ArrayList; import java.util.List; import java.util.Locale; +import java.util.function.BiFunction; +import java.util.function.Function; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.rbmk.IRBMKFluxReceiver.NType; +import com.hbm.util.i18n.I18nUtil; import com.hbm.tileentity.machine.rbmk.RBMKDials; -import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class ItemRBMKRod extends Item { - + public ItemRBMKPellet pellet; public String fullName = ""; //full name of the fuel rod public double reactivity; //endpoint of the function @@ -32,7 +36,7 @@ public class ItemRBMKRod extends Item { public double diffusion = 0.02D; //the speed at which the core heats the hull public NType nType = NType.SLOW; //neutronType, the most efficient neutron type for fission public NType rType = NType.FAST; //releaseType, the type of neutrons released by this fuel - + /* _____ * ,I I I I, * |'-----'| @@ -49,18 +53,22 @@ public class ItemRBMKRod extends Item { * | | * '-----' * I I I I - * + * * i drew a fuel rod yay */ + public static List craftableRods = new ArrayList<>(); + public ItemRBMKRod(ItemRBMKPellet pellet) { this(pellet.fullName); this.pellet = pellet; + + craftableRods.add(this); } public ItemRBMKRod(String fullName) { this.fullName = fullName; - + this.setContainerItem(ModItems.rbmk_fuel_empty); this.setMaxStackSize(1); this.setCreativeTab(MainRegistry.controlTab); @@ -90,7 +98,7 @@ public class ItemRBMKRod extends Item { this.depFunc = func; return this; } - + public ItemRBMKRod setXenon(double gen, double burn) { this.xGen = gen; this.xBurn = burn; @@ -117,7 +125,7 @@ public class ItemRBMKRod extends Item { this.rType = rType; return this; } - + /** * Adjusts the input flux using the poison level * Generates, then burns poison @@ -128,76 +136,82 @@ public class ItemRBMKRod extends Item { * @return outFlux */ public double burn(World world, ItemStack stack, double inFlux) { - - inFlux += selfRate; - - double xenon = getPoison(stack); - xenon -= xenonBurnFunc(inFlux); - - inFlux *= (1D - getPoisonLevel(stack)); - xenon += xenonGenFunc(inFlux); - - if(xenon < 0D) xenon = 0D; - if(xenon > 100D) xenon = 100D; - - setPoison(stack, xenon); - + inFlux += selfRate; + + //if xenon poison is enabled + if(RBMKDials.getXenon(world)) { + double xenon = getPoison(stack); + xenon -= xenonBurnFunc(inFlux); + + inFlux *= (1D - getPoisonLevel(stack)); + + xenon += xenonGenFunc(inFlux); + + if(xenon < 0D) xenon = 0D; + if(xenon > 100D) xenon = 100D; + + setPoison(stack, xenon); + } + double outFlux = reactivityFunc(inFlux, getEnrichment(stack)) * RBMKDials.getReactivityMod(world); - - double y = getYield(stack); - y -= inFlux; - - if(y < 0D) y = 0D; - - setYield(stack, y); - + + //if depletion is enabled + if(RBMKDials.getDepletion(world)) { + double y = getYield(stack); + y -= inFlux; + + if(y < 0D) y = 0D; + + setYield(stack, y); + } + double coreHeat = this.getCoreHeat(stack); coreHeat += outFlux * heat; - + this.setCoreHeat(stack, rectify(coreHeat)); - + return outFlux; } - + private double rectify(double num) { - + if(num > 1_000_000D) num = 1_000_000D; if(num < 20D || Double.isNaN(num)) num = 20D; - + return num; } - + /** * Heat up the core based on the outFlux, then move some heat to the hull * @param stack */ public void updateHeat(World world, ItemStack stack, double mod) { - + double coreHeat = this.getCoreHeat(stack); double hullHeat = this.getHullHeat(stack); - + if(coreHeat > hullHeat) { - + double mid = (coreHeat - hullHeat) / 2D; - + coreHeat -= mid * this.diffusion * RBMKDials.getFuelDiffusionMod(world) * mod; hullHeat += mid * this.diffusion * RBMKDials.getFuelDiffusionMod(world) * mod; - + this.setCoreHeat(stack, rectify(coreHeat)); this.setHullHeat(stack, rectify(hullHeat)); } } - + /** * return one tick's worth of heat and cool the hull of the fuel rod, this heat goes into the fuel rod assembly block * @param stack * @return */ public double provideHeat(World world, ItemStack stack, double heat, double mod) { - + double hullHeat = this.getHullHeat(stack); - + //metldown! the hull melts so the entire structure stops making sense //hull and core heats are instantly equalized into 33% of their sum each, //the rest is sent to the component which is always fatal @@ -208,20 +222,20 @@ public class ItemRBMKRod extends Item { this.setHullHeat(stack, avg); return avg - heat; } - + if(hullHeat <= heat) return 0; - + double ret = (hullHeat - heat) / 2; - + ret *= RBMKDials.getFuelHeatProvision(world) * mod; - + hullHeat -= ret; this.setHullHeat(stack, hullHeat); - + return ret; } - + public static enum EnumBurnFunc { PASSIVE(EnumChatFormatting.DARK_GREEN + "SAFE / PASSIVE"), //const, no reactivity LOG_TEN(EnumChatFormatting.YELLOW + "MEDIUM / LOGARITHMIC"), //log10(x + 1) * reactivity * 50 @@ -232,22 +246,22 @@ public class ItemRBMKRod extends Item { LINEAR(EnumChatFormatting.RED + "DANGEROUS / LINEAR"), //x * reactivity QUADRATIC(EnumChatFormatting.RED + "DANGEROUS / QUADRATIC"), //x^2 / 100 * reactivity EXPERIMENTAL(EnumChatFormatting.RED + "EXPERIMENTAL / SINE SLOPE"); //x * (sin(x) + 1) - + public String title = ""; - + private EnumBurnFunc(String title) { this.title = title; } } - + /** - * @param reactivity [0;100] ...or at least those are sane levels + * @param enrichment [0;100] ...or at least those are sane levels * @return the amount of reactivity yielded, unmodified by xenon */ public double reactivityFunc(double in, double enrichment) { - + double flux = in * reactivityModByEnrichment(enrichment); - + switch(this.function) { case PASSIVE: return selfRate * enrichment; case LOG_TEN: return Math.log10(flux + 1) * 0.5D * reactivity; @@ -259,20 +273,20 @@ public class ItemRBMKRod extends Item { case QUADRATIC: return flux * flux / 10000D * reactivity; case EXPERIMENTAL: return flux * (Math.sin(flux) + 1) * reactivity; } - + return 0; } - + public String getFuncDescription(ItemStack stack) { - + String function; - + switch(this.function) { case PASSIVE: function = EnumChatFormatting.RED + "" + selfRate; break; case LOG_TEN: function = "log10(%1$s + 1) * 0.5 * %2$s"; break; - case PLATEU: function = "(1 - e^-%1$s / 25)) * %2$s"; + case PLATEU: function = "(1 - e^(-%1$s / 25)) * %2$s"; break; case ARCH: function = "(%1$s - %1$s² / 10000) / 100 * %2$s [0;∞]"; break; @@ -288,20 +302,20 @@ public class ItemRBMKRod extends Item { break; default: function = "ERROR"; } - + double enrichment = getEnrichment(stack); - + if(enrichment < 1) { enrichment = reactivityModByEnrichment(enrichment); String reactivity = EnumChatFormatting.YELLOW + "" + ((int)(this.reactivity * enrichment * 1000D) / 1000D) + EnumChatFormatting.WHITE; String enrichmentPer = EnumChatFormatting.GOLD + " (" + ((int)(enrichment * 1000D) / 10D) + "%)"; - + return String.format(Locale.US, function, selfRate > 0 ? "(x" + EnumChatFormatting.RED + " + " + selfRate + "" + EnumChatFormatting.WHITE + ")" : "x", reactivity).concat(enrichmentPer); } - + return String.format(Locale.US, function, selfRate > 0 ? "(x" + EnumChatFormatting.RED + " + " + selfRate + "" + EnumChatFormatting.WHITE + ")" : "x", reactivity); } - + public static enum EnumDepleteFunc { LINEAR, //old function RAISING_SLOPE, //for breeding fuels such as MEU, maximum of 110% at 28% depletion @@ -309,9 +323,9 @@ public class ItemRBMKRod extends Item { GENTLE_SLOPE, //recommended for most fuels, maximum barely over the start, near the beginning STATIC; //for arcade-style neutron sources } - + public double reactivityModByEnrichment(double enrichment) { - + switch(this.depFunc) { default: case LINEAR: return enrichment; @@ -321,7 +335,7 @@ public class ItemRBMKRod extends Item { case GENTLE_SLOPE: return enrichment + (Math.sin(enrichment * Math.PI) / 3D); //x + (sin(x * pi) / 3) also works } } - + /** * Xenon generated per tick, linear function * @param flux @@ -330,7 +344,7 @@ public class ItemRBMKRod extends Item { public double xenonGenFunc(double flux) { return flux * xGen; } - + /** * Xenon burned away per tick, quadratic function * @param flux @@ -339,7 +353,7 @@ public class ItemRBMKRod extends Item { public double xenonBurnFunc(double flux) { return (flux * flux) / xBurn; } - + /** * @param stack * @return enrichment [0;1] @@ -347,7 +361,7 @@ public class ItemRBMKRod extends Item { public static double getEnrichment(ItemStack stack) { return getYield(stack) / ((ItemRBMKRod) stack.getItem()).yield; } - + /** * @param stack * @return poison [0;1] @@ -355,18 +369,70 @@ public class ItemRBMKRod extends Item { public static double getPoisonLevel(ItemStack stack) { return getPoison(stack) / 100D; } - + + // START Special flux curve handling! + // Nothing really uses this yet, though it's a really fun feature to play around with. + + // For the RBMK handler to see if the rod is special. + public boolean specialFluxCurve = false; + + public ItemRBMKRod setFluxCurve(boolean bool) { + specialFluxCurve = bool; + return this; + } + + /** Double 1: Flux ratio in. + * Double 2: Depletion value. + * Return double: Output flux ratio. + **/ + BiFunction ratioCurve; + + /** Double 1: Flux quantity in.
+ * Double 2: Flux ratio in.
+ * Return double: Output flux quantity. + **/ + BiFunction fluxCurve; + + public ItemRBMKRod setOutputRatioCurve(Function func) { + this.ratioCurve = (fluxRatioIn, depletion) -> func.apply(fluxRatioIn) * 1.0D; + return this; + } + + public ItemRBMKRod setDepletionOutputRatioCurve(BiFunction func) { + this.ratioCurve = func; + return this; + } + + public ItemRBMKRod setOutputFluxCurve(BiFunction func) { + this.fluxCurve = func; + return this; + } + + public double fluxRatioOut(double fluxRatioIn, double depletion) { + return MathHelper.clamp_double(ratioCurve.apply(fluxRatioIn, depletion), 0, 1); + } + + public double fluxFromRatio(double quantity, double ratio) { + return fluxCurve.apply(quantity, ratio); + } + + // END Special flux curve handling. + @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - + list.add(EnumChatFormatting.ITALIC + this.fullName); - + if(this == ModItems.rbmk_fuel_drx) { - + + if(ItemRBMKRod.getHullHeat(stack) >= 50 || ItemRBMKRod.getCoreHeat(stack) >= 50) { + list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKey("desc.item.wasteCooling")); + } + if(selfRate > 0 || this.function == EnumBurnFunc.SIGMOID) { list.add(EnumChatFormatting.RED + I18nUtil.resolveKey("trait.rbmx.source")); } - + list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey("trait.rbmx.depletion", ((int)(((yield - getYield(stack)) / yield) * 100000)) / 1000D + "%")); list.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKey("trait.rbmx.xenon", ((int)(getPoison(stack) * 1000D) / 1000D) + "%")); list.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey("trait.rbmx.splitsWith", I18nUtil.resolveKey(nType.unlocalized + ".x"))); @@ -380,13 +446,17 @@ public class ItemRBMKRod extends Item { list.add(EnumChatFormatting.RED + I18nUtil.resolveKey("trait.rbmx.skinTemp", ((int)(getHullHeat(stack) * 10D) / 10D) + "m")); list.add(EnumChatFormatting.RED + I18nUtil.resolveKey("trait.rbmx.coreTemp", ((int)(getCoreHeat(stack) * 10D) / 10D) + "m")); list.add(EnumChatFormatting.DARK_RED + I18nUtil.resolveKey("trait.rbmx.melt", meltingPoint + "m")); - + } else { + if(ItemRBMKRod.getHullHeat(stack) >= 50 || ItemRBMKRod.getCoreHeat(stack) >= 50) { + list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKey("desc.item.wasteCooling")); + } + if(selfRate > 0 || this.function == EnumBurnFunc.SIGMOID) { list.add(EnumChatFormatting.RED + I18nUtil.resolveKey("trait.rbmk.source")); } - + list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey("trait.rbmk.depletion", ((int)(((yield - getYield(stack)) / yield) * 100000D)) / 1000D + "%")); list.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKey("trait.rbmk.xenon", ((int)(getPoison(stack) * 1000D) / 1000D) + "%")); list.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey("trait.rbmk.splitsWith", I18nUtil.resolveKey(nType.unlocalized))); @@ -414,10 +484,10 @@ public class ItemRBMKRod extends Item { list.add(EnumChatFormatting.RED + "Skin temp: " + ((int)(getHullHeat(stack) * 10D) / 10D) + "°C"); list.add(EnumChatFormatting.RED + "Core temp: " + ((int)(getCoreHeat(stack) * 10D) / 10D) + "°C"); list.add(EnumChatFormatting.DARK_RED + "Melting point: " + meltingPoint + "°C");*/ - + super.addInformation(stack, player, list, bool); } - + /* __ __ ____ ________ * | \ | | | __ \ |__ __| * | \ | | | |__| | | | @@ -425,40 +495,40 @@ public class ItemRBMKRod extends Item { * | | \ | | |__| | | | * |__| \__| |_____/ |__| */ - + public static void setYield(ItemStack stack, double yield) { setDouble(stack, "yield", yield); } - + public static double getYield(ItemStack stack) { - + if(stack.getItem() instanceof ItemRBMKRod) { return getDouble(stack, "yield"); } - + return 0; } - + public static void setPoison(ItemStack stack, double xenon) { setDouble(stack, "xenon", xenon); } - + public static double getPoison(ItemStack stack) { return getDouble(stack, "xenon"); } - + public static void setCoreHeat(ItemStack stack, double heat) { setDouble(stack, "core", heat); } - + public static double getCoreHeat(ItemStack stack) { return getDouble(stack, "core"); } - + public static void setHullHeat(ItemStack stack, double heat) { setDouble(stack, "hull", heat); } - + public static double getHullHeat(ItemStack stack) { return getDouble(stack, "hull"); } @@ -472,23 +542,23 @@ public class ItemRBMKRod extends Item { public double getDurabilityForDisplay(ItemStack stack) { return 1D - getEnrichment(stack); } - + public static void setDouble(ItemStack stack, String key, double yield) { - + if(!stack.hasTagCompound()) setNBTDefaults(stack); - + stack.stackTagCompound.setDouble(key, yield); } - + public static double getDouble(ItemStack stack, String key) { - + if(!stack.hasTagCompound()) setNBTDefaults(stack); return stack.stackTagCompound.getDouble(key); } - + /** * Sets up the default values for all NBT data because doing it one-by-one will only correctly set the first called value and the rest stays 0 which is very not good * @param stack @@ -500,7 +570,7 @@ public class ItemRBMKRod extends Item { setCoreHeat(stack, 20.0D); setHullHeat(stack, 20.0D); } - + @Override public void onCreated(ItemStack stack, World world, EntityPlayer player) { setNBTDefaults(stack); //minimize the window where NBT screwups can happen diff --git a/src/main/java/com/hbm/items/machine/ItemRTGPellet.java b/src/main/java/com/hbm/items/machine/ItemRTGPellet.java index 151a27f34..0533003d2 100644 --- a/src/main/java/com/hbm/items/machine/ItemRTGPellet.java +++ b/src/main/java/com/hbm/items/machine/ItemRTGPellet.java @@ -11,7 +11,7 @@ import com.hbm.config.VersatileConfig; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemRTGPelletDepleted.DepletedRTGMaterial; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; diff --git a/src/main/java/com/hbm/items/machine/ItemScraps.java b/src/main/java/com/hbm/items/machine/ItemScraps.java index 5c3436148..72788e5ac 100644 --- a/src/main/java/com/hbm/items/machine/ItemScraps.java +++ b/src/main/java/com/hbm/items/machine/ItemScraps.java @@ -10,7 +10,7 @@ import com.hbm.inventory.material.Mats.MaterialStack; import com.hbm.items.ModItems; import com.hbm.items.special.ItemAutogen; import com.hbm.lib.RefStrings; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import com.hbm.inventory.material.NTMMaterial; import com.hbm.inventory.material.NTMMaterial.SmeltingBehavior; diff --git a/src/main/java/com/hbm/items/machine/ItemTemplateFolder.java b/src/main/java/com/hbm/items/machine/ItemTemplateFolder.java index f25fd20df..36b771381 100644 --- a/src/main/java/com/hbm/items/machine/ItemTemplateFolder.java +++ b/src/main/java/com/hbm/items/machine/ItemTemplateFolder.java @@ -6,15 +6,16 @@ import com.hbm.inventory.gui.GUIScreenTemplateFolder; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; import com.hbm.tileentity.IGUIProvider; -import com.hbm.util.I18nUtil; +import com.hbm.util.BobMathUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; public class ItemTemplateFolder extends Item implements IGUIProvider { @@ -32,8 +33,9 @@ public class ItemTemplateFolder extends Item implements IGUIProvider { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { String[] lang = I18nUtil.resolveKeyArray(ModItems.template_folder.getUnlocalizedName() + ".desc"); + EnumChatFormatting color = BobMathUtil.getBlink() ? EnumChatFormatting.RED : EnumChatFormatting.YELLOW; for(String line : lang) { - list.add(line); + list.add(color + line); } } @@ -44,7 +46,7 @@ public class ItemTemplateFolder extends Item implements IGUIProvider { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIScreenTemplateFolder(player); } } diff --git a/src/main/java/com/hbm/items/machine/ItemZirnoxRod.java b/src/main/java/com/hbm/items/machine/ItemZirnoxRod.java index d2a50f20d..8ca22d57e 100644 --- a/src/main/java/com/hbm/items/machine/ItemZirnoxRod.java +++ b/src/main/java/com/hbm/items/machine/ItemZirnoxRod.java @@ -6,7 +6,7 @@ import java.util.Locale; import com.hbm.items.ItemEnumMulti; import com.hbm.util.BobMathUtil; import com.hbm.util.EnumUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/hbm/items/special/ItemAutogen.java b/src/main/java/com/hbm/items/special/ItemAutogen.java index ea2be4db1..b828c9d2b 100644 --- a/src/main/java/com/hbm/items/special/ItemAutogen.java +++ b/src/main/java/com/hbm/items/special/ItemAutogen.java @@ -52,7 +52,7 @@ public class ItemAutogen extends Item { TextureMap map = (TextureMap) reg; for(NTMMaterial mat : Mats.orderedList) { - if(!textureOverrides.containsKey(mat) && mat.solidColorLight != mat.solidColorDark && (shape == null || mat.shapes.contains(shape))) { //only generate icons if there is no override, color variation is available and if the icon will actually be used + if(!textureOverrides.containsKey(mat) && mat.solidColorLight != mat.solidColorDark && (shape == null || mat.autogen.contains(shape))) { //only generate icons if there is no override, color variation is available and if the icon will actually be used String placeholderName = this.getIconString() + "-" + mat.names[0]; //the part after the dash is discarded - the name only has to be unique so that the hashmap which holds all the icon definitions can hold multiple references TextureAtlasSpriteMutatable mutableIcon = new TextureAtlasSpriteMutatable(placeholderName, new RGBMutatorInterpolatedComponentRemap(0xFFFFFF, 0x505050, mat.solidColorLight, mat.solidColorDark)); map.setTextureEntry(placeholderName, mutableIcon); @@ -71,7 +71,7 @@ public class ItemAutogen extends Item { public void getSubItems(Item item, CreativeTabs tab, List list) { for(NTMMaterial mat : Mats.orderedList) { - if(mat.shapes.contains(this.shape)) { + if(mat.autogen.contains(this.shape)) { list.add(new ItemStack(item, 1, mat.id)); } } diff --git a/src/main/java/com/hbm/items/special/ItemBedrockOreBase.java b/src/main/java/com/hbm/items/special/ItemBedrockOreBase.java index a20220d8e..c7a784844 100644 --- a/src/main/java/com/hbm/items/special/ItemBedrockOreBase.java +++ b/src/main/java/com/hbm/items/special/ItemBedrockOreBase.java @@ -5,7 +5,11 @@ import java.util.Random; import com.hbm.items.special.ItemBedrockOreNew.BedrockOreType; import com.hbm.items.tool.ItemOreDensityScanner; +import com.hbm.main.MainRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -16,6 +20,15 @@ import net.minecraft.util.StatCollector; import net.minecraft.world.gen.NoiseGeneratorPerlin; public class ItemBedrockOreBase extends Item { + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs tab, List list) { + ItemStack ore = new ItemStack(item); + EntityPlayer player = MainRegistry.proxy.me(); + if(player != null) setOreAmount(ore, (int) Math.floor(player.posX), (int) Math.floor(player.posZ)); + list.add(ore); + } public static double getOreAmount(ItemStack stack, BedrockOreType type) { if(!stack.hasTagCompound()) return 0; @@ -38,7 +51,7 @@ public class ItemBedrockOreBase extends Item { for(BedrockOreType type : BedrockOreType.values()) { double amount = this.getOreAmount(stack, type); String typeName = StatCollector.translateToLocalFormatted("item.bedrock_ore.type." + type.suffix + ".name"); - list.add(typeName + ": " + ((int) (amount * 100)) / 100D + " (" + ItemOreDensityScanner.translateDensity(amount) + EnumChatFormatting.RESET + ")"); + list.add(typeName + ": " + ((int) (amount * 100)) / 100D + " (" + ItemOreDensityScanner.getColor(amount) + StatCollector.translateToLocalFormatted(ItemOreDensityScanner.translateDensity(amount)) + EnumChatFormatting.GRAY + ")"); } } diff --git a/src/main/java/com/hbm/items/special/ItemBedrockOreNew.java b/src/main/java/com/hbm/items/special/ItemBedrockOreNew.java index dd46758f1..a61fc2efd 100644 --- a/src/main/java/com/hbm/items/special/ItemBedrockOreNew.java +++ b/src/main/java/com/hbm/items/special/ItemBedrockOreNew.java @@ -8,7 +8,7 @@ import java.util.Locale; import com.hbm.items.ModItems; import com.hbm.util.EnumUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -34,7 +34,7 @@ public class ItemBedrockOreNew extends Item { public IIcon[] icons = new IIcon[BedrockOreType.values().length * BedrockOreGrade.values().length]; public IIcon[] overlays = new IIcon[ProcessingTrait.values().length]; - + public ItemBedrockOreNew() { this.setHasSubtypes(true); this.setMaxDamage(0); @@ -44,10 +44,10 @@ public class ItemBedrockOreNew extends Item { @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister reg) { - + if(reg instanceof TextureMap) { TextureMap map = (TextureMap) reg; - + for(int i = 0; i < BedrockOreGrade.values().length; i++) { BedrockOreGrade grade = BedrockOreGrade.values()[i]; for(int j = 0; j < BedrockOreType.values().length; j++) { BedrockOreType type = BedrockOreType.values()[j]; String placeholderName = RefStrings.MODID + ":bedrock_ore_" + grade.prefix + "_" + type.suffix + "-" + (i * BedrockOreType.values().length + j); @@ -57,7 +57,7 @@ public class ItemBedrockOreNew extends Item { } } } - + for(int i = 0; i < overlays.length; i++) { ProcessingTrait trait = ProcessingTrait.values()[i]; overlays[i] = reg.registerIcon(RefStrings.MODID + ":bedrock_ore_overlay." + trait.name().toLowerCase(Locale.US)); @@ -67,7 +67,7 @@ public class ItemBedrockOreNew extends Item { @Override @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tab, List list) { - + for(int j = 0; j < BedrockOreType.values().length; j++) { BedrockOreType type = BedrockOreType.values()[j]; for(int i = 0; i < BedrockOreGrade.values().length; i++) { BedrockOreGrade grade = BedrockOreGrade.values()[i]; list.add(this.make(grade, type)); @@ -80,7 +80,7 @@ public class ItemBedrockOreNew extends Item { public boolean requiresMultipleRenderPasses() { return true; } - + @Override public int getRenderPasses(int metadata) { return 1 + this.getGrade(metadata).traits.length; @@ -105,15 +105,15 @@ public class ItemBedrockOreNew extends Item { String type = StatCollector.translateToLocalFormatted(this.getUnlocalizedNameInefficiently(stack) + ".type." + this.getType(meta).suffix + ".name"); return StatCollector.translateToLocalFormatted(this.getUnlocalizedNameInefficiently(stack) + ".grade." + this.getGrade(meta).name().toLowerCase(Locale.US) + ".name", type); } - + @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - + for(ProcessingTrait trait : this.getGrade(stack.getItemDamage()).traits) { list.add(I18nUtil.resolveKey(this.getUnlocalizedNameInefficiently(stack) + ".trait." + trait.name().toLowerCase(Locale.US))); } } - + public static class BedrockOreOutput { public NTMMaterial mat; public int amount; @@ -122,21 +122,21 @@ public class ItemBedrockOreNew extends Item { this.amount = amount; } } - + public static BedrockOreOutput o(NTMMaterial mat, int amount) { return new BedrockOreOutput(mat, amount); } public static enum BedrockOreType { // primary sulfuric solvent radsolvent - LIGHT_METAL( 0xFFFFFF, 0x353535, "light", o(MAT_IRON, 9), o(MAT_COPPER, 9), o(MAT_TITANIUM, 9), o(MAT_ALUMINIUM, 5), o(MAT_ALUMINIUM, 4), o(MAT_CHLOROCALCITE, 5), o(MAT_LITHIUM, 5), o(MAT_SODIUM, 3), o(MAT_CHLOROCALCITE, 6), o(MAT_LITHIUM, 6), o(MAT_SODIUM, 6)), + LIGHT_METAL( 0xFFFFFF, 0x353535, "light", o(MAT_IRON, 9), o(MAT_COPPER, 9), o(MAT_TITANIUM, 6), o(MAT_BAUXITE, 9), o(MAT_CRYOLITE, 3), o(MAT_CHLOROCALCITE, 5), o(MAT_LITHIUM, 5), o(MAT_SODIUM, 3), o(MAT_CHLOROCALCITE, 6), o(MAT_LITHIUM, 6), o(MAT_SODIUM, 6)), HEAVY_METAL( 0x868686, 0x000000, "heavy", o(MAT_TUNGSTEN, 9), o(MAT_LEAD, 9), o(MAT_GOLD, 2), o(MAT_GOLD, 2), o(MAT_BERYLLIUM, 3), o(MAT_TUNGSTEN, 9), o(MAT_LEAD, 9), o(MAT_GOLD, 5), o(MAT_BISMUTH, 1), o(MAT_BISMUTH, 1), o(MAT_GOLD, 6)), RARE_EARTH( 0xE6E6B6, 0x1C1C00, "rare", o(MAT_COBALT, 5), o(MAT_RAREEARTH, 5),o(MAT_BORON, 5), o(MAT_LANTHANIUM, 3), o(MAT_NIOBIUM, 4), o(MAT_NEODYMIUM, 3), o(MAT_STRONTIUM, 3), o(MAT_ZIRCONIUM, 3), o(MAT_NIOBIUM, 5), o(MAT_NEODYMIUM, 5), o(MAT_STRONTIUM, 3)), ACTINIDE( 0xC1C7BD, 0x2B3227, "actinide", o(MAT_URANIUM, 4), o(MAT_THORIUM, 4), o(MAT_RADIUM, 2), o(MAT_RADIUM, 2), o(MAT_POLONIUM, 2), o(MAT_RADIUM, 2), o(MAT_RADIUM, 2), o(MAT_POLONIUM, 2), o(MAT_TECHNETIUM, 1), o(MAT_TECHNETIUM, 1), o(MAT_U238, 1)), NON_METAL( 0xAFAFAF, 0x0F0F0F, "nonmetal", o(MAT_COAL, 9), o(MAT_SULFUR, 9), o(MAT_LIGNITE, 9), o(MAT_KNO, 6), o(MAT_FLUORITE, 6), o(MAT_PHOSPHORUS, 5), o(MAT_FLUORITE, 6), o(MAT_SULFUR, 6), o(MAT_CHLOROCALCITE, 6), o(MAT_SILICON, 2), o(MAT_SILICON, 2)), CRYSTALLINE( 0xE2FFFA, 0x1E8A77, "crystal", o(MAT_REDSTONE, 9), o(MAT_CINNABAR, 4), o(MAT_SODALITE, 9), o(MAT_ASBESTOS, 6), o(MAT_DIAMOND, 3), o(MAT_CINNABAR, 3), o(MAT_ASBESTOS, 5), o(MAT_EMERALD, 3), o(MAT_BORAX, 3), o(MAT_MOLYSITE, 3), o(MAT_SODALITE, 9)); //sediment - + public int light; public int dark; public String suffix; @@ -144,7 +144,7 @@ public class ItemBedrockOreNew extends Item { public BedrockOreOutput byproductAcid1, byproductAcid2, byproductAcid3; public BedrockOreOutput byproductSolvent1, byproductSolvent2, byproductSolvent3; public BedrockOreOutput byproductRad1, byproductRad2, byproductRad3; - + private BedrockOreType(int light, int dark, String suffix, BedrockOreOutput p1, BedrockOreOutput p2, BedrockOreOutput bA1, BedrockOreOutput bA2, BedrockOreOutput bA3, BedrockOreOutput bS1, BedrockOreOutput bS2, BedrockOreOutput bS3, BedrockOreOutput bR1, BedrockOreOutput bR2, BedrockOreOutput bR3) { this.light = light; this.dark = dark; @@ -155,14 +155,14 @@ public class ItemBedrockOreNew extends Item { this.byproductRad1 = bR1; this.byproductRad2 = bR2; this.byproductRad3 = bR3; } } - + public static MaterialStack toFluid(BedrockOreOutput o, double amount) { if(o.mat != null && o.mat.smeltable == SmeltingBehavior.SMELTABLE) { return new MaterialStack(o.mat, (int) Math.ceil(MaterialShapes.FRAGMENT.q(o.amount) * amount)); } return null; } - + public static ItemStack extract(BedrockOreOutput o, double amount) { return new ItemStack(ModItems.bedrock_ore_fragment, Math.min((int) Math.ceil(o.amount * amount), 64), o.mat.id); } @@ -179,7 +179,7 @@ public class ItemBedrockOreNew extends Item { public static final int roasted = 0xCFCFCF; public static final int arc = 0xC3A2A2; public static final int washed = 0xDBE2CB; - + public static enum ProcessingTrait { ROASTED, ARC, @@ -189,7 +189,7 @@ public class ItemBedrockOreNew extends Item { SOLVENT, RAD } - + public static enum BedrockOreGrade { BASE(none, "base"), //from the slopper BASE_ROASTED(roasted, "base", ROASTED), //optional combination oven step, yields vitriol @@ -205,45 +205,45 @@ public class ItemBedrockOreNew extends Item { PRIMARY_FIRST(0xFFD3D4, "primary", CENTRIFUGED), //higher first material yield PRIMARY_SECOND(0xD3FFEB, "primary", CENTRIFUGED), //higher second material yield CRUMBS(none, "crumbs", CENTRIFUGED), //endpoint for primary, recycling - + SULFURIC_BYPRODUCT(none, "sulfuric", CENTRIFUGED, SULFURIC), //from centrifuging SULFURIC_ROASTED(roasted, "sulfuric", ROASTED, SULFURIC), //comboven again SULFURIC_ARC(arc, "sulfuric", ARC, SULFURIC), //alternate step SULFURIC_WASHED(washed, "sulfuric", WASHED, SULFURIC), //sulfuric endpoint - + SOLVENT_BYPRODUCT(none, "solvent", CENTRIFUGED, SOLVENT), //from centrifuging SOLVENT_ROASTED(roasted, "solvent", ROASTED, SOLVENT), //comboven again SOLVENT_ARC(arc, "solvent", ARC, SOLVENT), //alternate step SOLVENT_WASHED(washed, "solvent", WASHED, SOLVENT), //solvent endpoint - + RAD_BYPRODUCT(none, "rad", CENTRIFUGED, RAD), //from centrifuging RAD_ROASTED(roasted, "rad", ROASTED, RAD), //comboven again RAD_ARC(arc, "rad", ARC, RAD), //alternate step RAD_WASHED(washed, "rad", WASHED, RAD); //rad endpoint - + public int tint; public String prefix; public ProcessingTrait[] traits; - + private BedrockOreGrade(int tint, String prefix, ProcessingTrait... traits) { this.tint = tint; this.prefix = prefix; this.traits = traits; } } - + public static ItemStack make(BedrockOreGrade grade, BedrockOreType type) { return make(grade, type, 1); } - + public static ItemStack make(BedrockOreGrade grade, BedrockOreType type, int amount) { return new ItemStack(ModItems.bedrock_ore, amount, grade.ordinal() << 4 | type.ordinal()); } - + public BedrockOreGrade getGrade(int meta) { return EnumUtil.grabEnumSafely(BedrockOreGrade.class, meta >> 4); } - + public BedrockOreType getType(int meta) { return EnumUtil.grabEnumSafely(BedrockOreType.class, meta & 15); } diff --git a/src/main/java/com/hbm/items/special/ItemBook.java b/src/main/java/com/hbm/items/special/ItemBook.java index 56995b012..1a409b52f 100644 --- a/src/main/java/com/hbm/items/special/ItemBook.java +++ b/src/main/java/com/hbm/items/special/ItemBook.java @@ -9,7 +9,6 @@ import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.Item; @@ -40,7 +39,7 @@ public class ItemBook extends Item implements IGUIProvider { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIBook(player.inventory); } } diff --git a/src/main/java/com/hbm/items/special/ItemBookLore.java b/src/main/java/com/hbm/items/special/ItemBookLore.java index 866bd0866..dcedb72ba 100644 --- a/src/main/java/com/hbm/items/special/ItemBookLore.java +++ b/src/main/java/com/hbm/items/special/ItemBookLore.java @@ -7,10 +7,10 @@ import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.tileentity.IGUIProvider; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; @@ -115,7 +115,7 @@ public class ItemBookLore extends Item implements IGUIProvider { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIBookLore(player); } diff --git a/src/main/java/com/hbm/items/special/ItemCigarette.java b/src/main/java/com/hbm/items/special/ItemCigarette.java index 092885af4..47851f23e 100644 --- a/src/main/java/com/hbm/items/special/ItemCigarette.java +++ b/src/main/java/com/hbm/items/special/ItemCigarette.java @@ -3,10 +3,10 @@ package com.hbm.items.special; import java.util.List; import com.hbm.extprop.HbmLivingProps; +import com.hbm.handler.threading.PacketThreading; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; @@ -44,41 +44,41 @@ public class ItemCigarette extends Item { stack.stackSize--; if(!world.isRemote) { - + if(this == ModItems.cigarette) { HbmLivingProps.incrementBlackLung(player, 2000); HbmLivingProps.incrementAsbestos(player, 2000); HbmLivingProps.incrementRadiation(player, 100F); - + ItemStack helmet = player.getEquipmentInSlot(4); if(helmet != null && helmet.getItem() == ModItems.no9) { player.triggerAchievement(MainRegistry.achNo9); } } - + if(this == ModItems.crackpipe) { HbmLivingProps.incrementBlackLung(player, 500); player.addPotionEffect(new PotionEffect(Potion.confusion.id, 200, 0)); player.heal(10F); } - + world.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:player.cough", 1.0F, 1.0F); - + NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "vomit"); nbt.setString("mode", "smoke"); nbt.setInteger("count", 30); nbt.setInteger("entity", player.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(player.dimension, player.posX, player.posY, player.posZ, 25)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(player.dimension, player.posX, player.posY, player.posZ, 25)); } - + return stack; } @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - + if(this == ModItems.cigarette) { list.add(EnumChatFormatting.RED + "✓ Asbestos filter"); list.add(EnumChatFormatting.RED + "✓ High in tar"); diff --git a/src/main/java/com/hbm/items/special/ItemClayTablet.java b/src/main/java/com/hbm/items/special/ItemClayTablet.java new file mode 100644 index 000000000..c41a8a1d9 --- /dev/null +++ b/src/main/java/com/hbm/items/special/ItemClayTablet.java @@ -0,0 +1,39 @@ +package com.hbm.items.special; + +import com.hbm.inventory.gui.GUIScreenClayTablet; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.IGUIProvider; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class ItemClayTablet extends Item implements IGUIProvider { + + public ItemClayTablet() { + this.setMaxDamage(0); + this.setMaxStackSize(1); + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + if(!world.isRemote && !stack.hasTagCompound()) { + stack.stackTagCompound = new NBTTagCompound(); + stack.stackTagCompound.setLong("tabletSeed", player.getRNG().nextLong()); + } + if(world.isRemote) player.openGui(MainRegistry.instance, 0, world, 0, 0, 0); + return stack; + } + + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return null; } + + @Override @SideOnly(Side.CLIENT) + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIScreenClayTablet(); + } +} diff --git a/src/main/java/com/hbm/items/special/ItemDemonCore.java b/src/main/java/com/hbm/items/special/ItemDemonCore.java index 549ad61ed..97115f80b 100644 --- a/src/main/java/com/hbm/items/special/ItemDemonCore.java +++ b/src/main/java/com/hbm/items/special/ItemDemonCore.java @@ -3,7 +3,7 @@ package com.hbm.items.special; import java.util.List; import com.hbm.items.ModItems; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/com/hbm/items/special/ItemDigamma.java b/src/main/java/com/hbm/items/special/ItemDigamma.java index 1783971e8..a3555434f 100644 --- a/src/main/java/com/hbm/items/special/ItemDigamma.java +++ b/src/main/java/com/hbm/items/special/ItemDigamma.java @@ -5,7 +5,7 @@ import java.util.List; import com.hbm.config.WeaponConfig; import com.hbm.entity.effect.EntityQuasar; import com.hbm.util.ContaminationUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityItem; diff --git a/src/main/java/com/hbm/items/special/ItemDrop.java b/src/main/java/com/hbm/items/special/ItemDrop.java index 14e921edc..154785cf5 100644 --- a/src/main/java/com/hbm/items/special/ItemDrop.java +++ b/src/main/java/com/hbm/items/special/ItemDrop.java @@ -17,7 +17,7 @@ import com.hbm.explosion.vanillant.ExplosionVNT; import com.hbm.interfaces.IBomb; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/com/hbm/items/special/ItemGlitch.java b/src/main/java/com/hbm/items/special/ItemGlitch.java index 4145b0fbf..0031aecdb 100644 --- a/src/main/java/com/hbm/items/special/ItemGlitch.java +++ b/src/main/java/com/hbm/items/special/ItemGlitch.java @@ -4,11 +4,13 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.entity.effect.EntityVortex; -import com.hbm.entity.missile.EntityMIRV; import com.hbm.entity.projectile.EntityBoxcar; +import com.hbm.entity.projectile.EntityMeteor; import com.hbm.explosion.ExplosionChaos; import com.hbm.explosion.ExplosionLarge; +import com.hbm.interfaces.Spaghetti; import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; @@ -22,14 +24,13 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.util.ChatComponentText; import net.minecraft.world.World; +@Spaghetti("why do you even exist") public class ItemGlitch extends Item implements IBatteryItem { - public ItemGlitch() - { - this.maxStackSize = 1; - this.setMaxDamage(1); - } - + public ItemGlitch() { + this.maxStackSize = 1; + this.setMaxDamage(1); + } @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { @@ -91,7 +92,7 @@ public class ItemGlitch extends Item implements IBatteryItem { } break; case 13: - player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_revolver_pip)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_heavy_revolver_lilmac)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.bottle_sparkle)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.geiger_counter)); player.addChatMessage(new ChatComponentText("Have some free stuff. You'll need it for that one cryptic achievement.")); @@ -111,8 +112,8 @@ public class ItemGlitch extends Item implements IBatteryItem { player.addChatMessage(new ChatComponentText("89% of magic tricks are not magic. Technically, they are sorcery.")); break; case 18: - player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lever_action)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ammo_20gauge, 12)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_maresleg)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ammo_standard, 12, EnumAmmo.G12.ordinal())); player.addChatMessage(new ChatComponentText("Here ya go.")); break; case 19: @@ -151,7 +152,7 @@ public class ItemGlitch extends Item implements IBatteryItem { world.spawnEntityInWorld(vortex); break; case 28: - EntityMIRV mirv = new EntityMIRV(world); + EntityMeteor mirv = new EntityMeteor(world); mirv.posX = player.posX; mirv.posY = player.posY + 100; mirv.posZ = player.posZ; diff --git a/src/main/java/com/hbm/items/special/ItemHolotapeImage.java b/src/main/java/com/hbm/items/special/ItemHolotapeImage.java index 5c4cb8a27..a319a176e 100644 --- a/src/main/java/com/hbm/items/special/ItemHolotapeImage.java +++ b/src/main/java/com/hbm/items/special/ItemHolotapeImage.java @@ -9,7 +9,6 @@ import com.hbm.util.EnumUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -81,7 +80,7 @@ public class ItemHolotapeImage extends ItemHoloTape implements IGUIProvider { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIScreenHolotape(); } } diff --git a/src/main/java/com/hbm/items/special/ItemKitNBT.java b/src/main/java/com/hbm/items/special/ItemKitNBT.java index f7248759c..571ecf257 100644 --- a/src/main/java/com/hbm/items/special/ItemKitNBT.java +++ b/src/main/java/com/hbm/items/special/ItemKitNBT.java @@ -14,64 +14,64 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; public class ItemKitNBT extends Item { - + public ItemKitNBT() { this.setMaxStackSize(1); } - + @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - + ItemStack[] stacks = ItemStackUtil.readStacksFromNBT(stack); - + if(stacks != null) { - + for(ItemStack item : stacks) { if(item != null) { player.inventory.addItemStackToInventory(item.copy()); } } } - + ItemStack container = stack.getItem().getContainerItem(stack); - + stack.stackSize--; - + if(container != null) { - + if(stack.stackSize > 0) { player.inventory.addItemStackToInventory(container.copy()); } else { stack = container.copy(); } } - + world.playSoundAtEntity(player, "hbm:item.unpack", 1.0F, 1.0F); - + return stack; } - + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - + ItemStack[] stacks = ItemStackUtil.readStacksFromNBT(stack); - + if(stacks != null) { - + list.add("Contains:"); - + for(ItemStack item : stacks) { list.add("-" + item.getDisplayName() + (item.stackSize > 1 ? (" x" + item.stackSize) : "")); } } } - + public static ItemStack create(ItemStack... contents) { - ItemStack stack = new ItemStack(ModItems.kit_toolbox); + ItemStack stack = new ItemStack(ModItems.legacy_toolbox); stack.stackTagCompound = new NBTTagCompound(); ItemStackUtil.addStacksToNBT(stack, contents); - + return stack; } } diff --git a/src/main/java/com/hbm/items/special/ItemSimpleConsumable.java b/src/main/java/com/hbm/items/special/ItemSimpleConsumable.java index d31a376a8..f092824f6 100644 --- a/src/main/java/com/hbm/items/special/ItemSimpleConsumable.java +++ b/src/main/java/com/hbm/items/special/ItemSimpleConsumable.java @@ -2,14 +2,23 @@ package com.hbm.items.special; import java.util.function.BiConsumer; +import com.hbm.config.VersatileConfig; import com.hbm.items.ItemCustomLore; +import com.hbm.items.ModItems; +import com.hbm.lib.ModDamageSource; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.potion.HbmPotion; +import com.hbm.util.EnchantmentUtil; import com.hbm.util.Tuple.Pair; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; +import net.minecraft.util.DamageSource; import net.minecraft.world.World; public class ItemSimpleConsumable extends ItemCustomLore { @@ -19,6 +28,10 @@ public class ItemSimpleConsumable extends ItemCustomLore { private BiConsumer useActionServer; private BiConsumer> hitAction; private BiConsumer> hitActionServer; + + public ItemSimpleConsumable() { + this.setCreativeTab(MainRegistry.consumableTab); + } @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { @@ -69,9 +82,97 @@ public class ItemSimpleConsumable extends ItemCustomLore { } } + public static void doRadaway(ItemStack stack, EntityPlayer user, int duration) { + giveSoundAndDecrement(stack, user, "hbm:item.radaway", new ItemStack(ModItems.iv_empty)); + addPotionEffect(user, HbmPotion.radaway, duration, 0); + } + //this formatting style probably already has a name but i will call it "the greg" public ItemSimpleConsumable setUseAction( BiConsumer delegate) { this.useAction = delegate; return this; } public ItemSimpleConsumable setUseActionServer( BiConsumer delegate) { this.useActionServer = delegate; return this; } public ItemSimpleConsumable setHitAction( BiConsumer> delegate) { this.hitAction = delegate; return this; } public ItemSimpleConsumable setHitActionServer( BiConsumer> delegate) { this.hitActionServer = delegate; return this; } + + public static void init() { + + /// SYRINGES /// + ModItems.syringe_antidote = new ItemSimpleConsumable() + .setUseActionServer((stack, user) -> { effectAntidote(stack, user, user); }).setHitActionServer((stack, pair) -> { effectAntidote(stack, pair.key, pair.value); }) + .setUnlocalizedName("syringe_antidote").setFull3D().setTextureName(RefStrings.MODID + ":syringe_antidote"); + + ModItems.syringe_poison = new ItemSimpleConsumable() + .setUseActionServer((stack, user) -> { effectPoison(stack, user, user); }).setHitActionServer((stack, pair) -> { effectPoison(stack, pair.key, pair.value); }) + .setUnlocalizedName("syringe_poison").setFull3D().setTextureName(RefStrings.MODID + ":syringe_poison"); + + ModItems.syringe_awesome = new ItemSimpleConsumable() + .setUseActionServer((stack, user) -> { effectAwesome(stack, user, user); }).setHitActionServer((stack, pair) -> { effectAwesome(stack, pair.key, pair.value); }) + .setRarity(EnumRarity.uncommon).setEffect().setUnlocalizedName("syringe_awesome").setFull3D().setTextureName(RefStrings.MODID + ":syringe_awesome"); + + /// BLOOD BAGS /// + ModItems.iv_empty = new ItemSimpleConsumable().setUseActionServer((stack, user) -> { + giveSoundAndDecrement(stack, user, "hbm:item.syringe", new ItemStack(ModItems.iv_blood)); + user.setHealth(Math.max(user.getHealth() - 5F, 0F)); + if(user.getHealth() <= 0) user.onDeath(DamageSource.magic); + }).setUnlocalizedName("iv_empty").setTextureName(RefStrings.MODID + ":iv_empty"); + + ModItems.iv_blood = new ItemSimpleConsumable().setUseActionServer((stack, user) -> { + giveSoundAndDecrement(stack, user, "hbm:item.radaway", new ItemStack(ModItems.iv_empty)); + user.heal(5F); + }).setUnlocalizedName("iv_blood").setTextureName(RefStrings.MODID + ":iv_blood"); + + ModItems.iv_xp_empty = new ItemSimpleConsumable().setUseActionServer((stack, user) -> { + if(EnchantmentUtil.getTotalExperience(user) >= 100) { + giveSoundAndDecrement(stack, user, "hbm:item.syringe", new ItemStack(ModItems.iv_xp)); + EnchantmentUtil.setExperience(user, EnchantmentUtil.getTotalExperience(user) - 100); + } + }).setUnlocalizedName("iv_xp_empty").setTextureName(RefStrings.MODID + ":iv_xp_empty"); + + ModItems.iv_xp = new ItemSimpleConsumable().setUseActionServer((stack, user) -> { + giveSoundAndDecrement(stack, user, "random.orb", new ItemStack(ModItems.iv_xp_empty)); + EnchantmentUtil.addExperience(user, 100, false); + }).setUnlocalizedName("iv_xp").setTextureName(RefStrings.MODID + ":iv_xp"); + + /// RADAWAY /// + ModItems.radaway = new ItemSimpleConsumable().setUseActionServer((stack, user) -> { + doRadaway(stack, user, 140); + }).setUnlocalizedName("radaway").setTextureName(RefStrings.MODID + ":radaway"); + + ModItems.radaway_strong = new ItemSimpleConsumable().setUseActionServer((stack, user) -> { + doRadaway(stack, user, 350); + }).setUnlocalizedName("radaway_strong").setTextureName(RefStrings.MODID + ":radaway_strong"); + + ModItems.radaway_flush = new ItemSimpleConsumable().setUseActionServer((stack, user) -> { + doRadaway(stack, user, 500); + }).setUnlocalizedName("radaway_flush").setTextureName(RefStrings.MODID + ":radaway_flush"); + } + + public static void effectAntidote(ItemStack stack, EntityLivingBase affected, EntityLivingBase source) { + if(VersatileConfig.hasPotionSickness(affected)) return; + affected.clearActivePotions(); + giveSoundAndDecrement(stack, source, "hbm:item.syringe", new ItemStack(ModItems.syringe_empty)); + VersatileConfig.applyPotionSickness(affected, 5); + } + + public static void effectPoison(ItemStack stack, EntityLivingBase affected, EntityLivingBase source) { + if(affected == source) affected.attackEntityFrom(affected.getRNG().nextBoolean() ? ModDamageSource.euthanizedSelf : ModDamageSource.euthanizedSelf2, 30); + else affected.attackEntityFrom(ModDamageSource.euthanized(source, source), 30); + giveSoundAndDecrement(stack, source, "hbm:item.syringe", new ItemStack(ModItems.syringe_empty)); + } + + public static void effectAwesome(ItemStack stack, EntityLivingBase affected, EntityLivingBase source) { + if(VersatileConfig.hasPotionSickness(affected)) return; + giveSoundAndDecrement(stack, source, "hbm:item.syringe", new ItemStack(ModItems.syringe_empty)); + affected.addPotionEffect(new PotionEffect(Potion.regeneration.id, 50 * 20, 9)); + affected.addPotionEffect(new PotionEffect(Potion.resistance.id, 50 * 20, 9)); + affected.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 50 * 20, 0)); + affected.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 50 * 20, 24)); + affected.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 50 * 20, 9)); + affected.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 50 * 20, 6)); + affected.addPotionEffect(new PotionEffect(Potion.jump.id, 50 * 20, 9)); + affected.addPotionEffect(new PotionEffect(Potion.field_76434_w.id, 50 * 20, 9)); + affected.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 50 * 20, 4)); + affected.addPotionEffect(new PotionEffect(Potion.confusion.id, 5 * 20, 4)); + affected.addPotionEffect(new PotionEffect(HbmPotion.radx.id, 50 * 20, 9)); + VersatileConfig.applyPotionSickness(affected, 5); + } } diff --git a/src/main/java/com/hbm/items/special/ItemStarterKit.java b/src/main/java/com/hbm/items/special/ItemStarterKit.java index 67cebf52f..ba8bf97b4 100644 --- a/src/main/java/com/hbm/items/special/ItemStarterKit.java +++ b/src/main/java/com/hbm/items/special/ItemStarterKit.java @@ -10,7 +10,6 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBattery; import com.hbm.items.machine.ItemBreedingRod.BreedingRodType; import com.hbm.items.machine.ItemCircuit.EnumCircuitType; -import com.hbm.util.ShadyUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -22,10 +21,9 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import net.minecraft.util.ChatComponentText; import net.minecraft.world.World; -@Deprecated //not deprecated per se but please stop using it wherever possible +@Deprecated @Spaghetti("i do not care how much 'optimization' you want to throw at this dumpster fire but there's no saving grace here") public class ItemStarterKit extends Item { @@ -74,11 +72,9 @@ public class ItemStarterKit extends Item { player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_press, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_difurnace_off, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_gascent, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_puf6_tank, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_reactor_breeding, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_nuke_furnace_off, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_assembler, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_chemplant, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_assembly_machine, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_chemical_plant, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.reactor_research, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_turbine, 2)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.radaway, 8)); @@ -97,7 +93,6 @@ public class ItemStarterKit extends Item { if(this == ModItems.nuke_advanced_kit) { - player.inventory.addItemStackToInventory(new ItemStack(ModItems.powder_yellowcake, 64)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.powder_plutonium, 64)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_steel, 64)); @@ -111,13 +106,12 @@ public class ItemStarterKit extends Item { player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_uf6_tank, 2)); player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_puf6_tank, 2)); player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_reactor_breeding, 2)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_rtg_furnace_off, 2)); player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.reactor_research, 4)); player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_turbine, 4)); player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_radgen, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_rtg_grey, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_assembler, 3)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_chemplant, 2)); + player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_assembly_machine, 3)); + player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_chemical_plant, 2)); player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_fluidtank, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); @@ -131,7 +125,6 @@ public class ItemStarterKit extends Item { player.inventory.addItemStackToInventory(new ItemStack(ModItems.radaway_strong, 4)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.radx, 4)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.pill_iodine, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.tritium_deuterium_cake, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.geiger_counter, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.survey_scanner, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.gas_mask_m65, 1)); @@ -174,29 +167,6 @@ public class ItemStarterKit extends Item { if(this == ModItems.nuke_electric_kit) { - /*player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_coal_off), 2)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_diesel), 1)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.red_cable), 64)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.red_cable), 64)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.red_wire_coated), 64)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_battery), 6)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off), 2)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_chemplant), 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_red_cell_24, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_advanced_cell_4, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_advanced_cell_4, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_lithium, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.fusion_core, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.energy_core, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_aluminium, 32)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_titanium, 32)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_steel, 32)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.circuit_aluminium, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.circuit_copper, 8)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.circuit_red_copper, 4)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.circuit_gold, 2)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.motor, 4));*/ - player.inventory.addItemStackToInventory(new ItemStack(ModItems.coil_copper, 16)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.coil_gold, 8)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.coil_tungsten, 8)); @@ -463,34 +433,20 @@ public class ItemStarterKit extends Item { player.inventory.addItemStackToInventory(new ItemStack(ModItems.euphemium_plate, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.euphemium_legs, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.euphemium_boots, 1)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.statue_elb), 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_revolver_cursed, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.watch, 1)); + player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.statue_elb_f), 1)); } - if(this == ModItems.hazmat_kit) - { + if(this == ModItems.hazmat_kit) { giveHaz(world, player, 0); } - - if(this == ModItems.hazmat_red_kit) - { + + if(this == ModItems.hazmat_red_kit) { giveHaz(world, player, 1); } - - if(this == ModItems.hazmat_grey_kit) - { + + if(this == ModItems.hazmat_grey_kit) { giveHaz(world, player, 2); } - - if(this == ModItems.letter && world.isRemote) - { - if(player.getUniqueID().toString().equals(ShadyUtil.a20)) { - player.addChatMessage(new ChatComponentText("Error: null reference @ com.hbm.items.ItemStarterKit.class, please report this to the modder!")); - } else { - player.addChatMessage(new ChatComponentText("You rip the letter in half; nothing happens.")); - } - } world.playSoundAtEntity(player, "hbm:item.unpack", 1.0F, 1.0F); stack.stackSize--; @@ -498,42 +454,42 @@ public class ItemStarterKit extends Item { } - @SideOnly(Side.CLIENT) - @Override - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean b) { + @SideOnly(Side.CLIENT) + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean b) { - if(this == ModItems.nuke_starter_kit || - this == ModItems.nuke_advanced_kit || - this == ModItems.nuke_commercially_kit || - this == ModItems.nuke_electric_kit || - this == ModItems.gadget_kit || - this == ModItems.boy_kit || - this == ModItems.man_kit || - this == ModItems.mike_kit || - this == ModItems.tsar_kit || - this == ModItems.prototype_kit || - this == ModItems.fleija_kit || - this == ModItems.solinium_kit || - this == ModItems.t45_kit || - this == ModItems.grenade_kit || - this == ModItems.missile_kit || - this == ModItems.multi_kit) { - list.add("Please empty inventory before opening!"); - } - if(this == ModItems.nuke_starter_kit || - this == ModItems.nuke_advanced_kit || - this == ModItems.nuke_commercially_kit || - this == ModItems.gadget_kit || - this == ModItems.boy_kit || - this == ModItems.man_kit || - this == ModItems.mike_kit || - this == ModItems.tsar_kit || - this == ModItems.prototype_kit || - this == ModItems.fleija_kit || - this == ModItems.solinium_kit || - this == ModItems.hazmat_kit) { - list.add("Armor will be displaced by hazmat suit."); - } - } + if(this == ModItems.nuke_starter_kit || + this == ModItems.nuke_advanced_kit || + this == ModItems.nuke_commercially_kit || + this == ModItems.nuke_electric_kit || + this == ModItems.gadget_kit || + this == ModItems.boy_kit || + this == ModItems.man_kit || + this == ModItems.mike_kit || + this == ModItems.tsar_kit || + this == ModItems.prototype_kit || + this == ModItems.fleija_kit || + this == ModItems.solinium_kit || + this == ModItems.t45_kit || + this == ModItems.grenade_kit || + this == ModItems.missile_kit || + this == ModItems.multi_kit) { + list.add("Please empty inventory before opening!"); + } + if(this == ModItems.nuke_starter_kit || + this == ModItems.nuke_advanced_kit || + this == ModItems.nuke_commercially_kit || + this == ModItems.gadget_kit || + this == ModItems.boy_kit || + this == ModItems.man_kit || + this == ModItems.mike_kit || + this == ModItems.tsar_kit || + this == ModItems.prototype_kit || + this == ModItems.fleija_kit || + this == ModItems.solinium_kit || + this == ModItems.hazmat_kit) { + list.add("Armor will be displaced by hazmat suit."); + } + } } diff --git a/src/main/java/com/hbm/items/special/ItemSyringe.java b/src/main/java/com/hbm/items/special/ItemSyringe.java index 48b6e928b..0a4800953 100644 --- a/src/main/java/com/hbm/items/special/ItemSyringe.java +++ b/src/main/java/com/hbm/items/special/ItemSyringe.java @@ -6,19 +6,14 @@ import java.util.Random; import com.hbm.config.VersatileConfig; import com.hbm.extprop.HbmLivingProps; import com.hbm.handler.ArmorModHandler; +import com.hbm.interfaces.Spaghetti; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; -import com.hbm.items.weapon.ItemGunBase; -import com.hbm.lib.ModDamageSource; import com.hbm.potion.HbmPotion; -import api.hbm.fluid.IFillableItem; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import api.hbm.fluidmk2.IFillableItem; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.passive.EntityCow; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; @@ -27,6 +22,7 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; +@Spaghetti("fuck") public class ItemSyringe extends Item { Random rand = new Random(); @@ -34,74 +30,6 @@ public class ItemSyringe extends Item { @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - if(this == ModItems.syringe_antidote && !VersatileConfig.hasPotionSickness(player)) { - if(!world.isRemote) { - player.clearActivePotions(); - - stack.stackSize--; - world.playSoundAtEntity(player, "hbm:item.syringe", 1.0F, 1.0F); - - if(stack.stackSize <= 0) { - return new ItemStack(ModItems.syringe_empty); - } - - if(!player.inventory.addItemStackToInventory(new ItemStack(ModItems.syringe_empty))) { - player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.syringe_empty, 1, 0), false); - } - - VersatileConfig.applyPotionSickness(player, 5); - } - } - - if(this == ModItems.syringe_awesome && !VersatileConfig.hasPotionSickness(player)) { - if(!world.isRemote) { - player.addPotionEffect(new PotionEffect(Potion.regeneration.id, 50 * 20, 9)); - player.addPotionEffect(new PotionEffect(Potion.resistance.id, 50 * 20, 9)); - player.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 50 * 20, 0)); - player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 50 * 20, 24)); - player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 50 * 20, 9)); - player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 50 * 20, 6)); - player.addPotionEffect(new PotionEffect(Potion.jump.id, 50 * 20, 9)); - player.addPotionEffect(new PotionEffect(Potion.field_76434_w.id, 50 * 20, 9)); - player.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 50 * 20, 4)); - player.addPotionEffect(new PotionEffect(Potion.confusion.id, 5 * 20, 4)); - player.addPotionEffect(new PotionEffect(HbmPotion.radx.id, 50 * 20, 9)); - - stack.stackSize--; - world.playSoundAtEntity(player, "hbm:item.syringe", 1.0F, 1.0F); - - if(stack.stackSize <= 0) { - return new ItemStack(ModItems.syringe_empty); - } - - if(!player.inventory.addItemStackToInventory(new ItemStack(ModItems.syringe_empty))) { - player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.syringe_empty, 1, 0), false); - } - - VersatileConfig.applyPotionSickness(player, 50); - } - } - - if(this == ModItems.syringe_poison) { - if(!world.isRemote) { - if(rand.nextInt(2) == 0) - player.attackEntityFrom(ModDamageSource.euthanizedSelf, 30); - else - player.attackEntityFrom(ModDamageSource.euthanizedSelf2, 30); - - stack.stackSize--; - world.playSoundAtEntity(player, "hbm:item.syringe", 1.0F, 1.0F); - - if(stack.stackSize <= 0) { - return new ItemStack(ModItems.syringe_empty); - } - - if(!player.inventory.addItemStackToInventory(new ItemStack(ModItems.syringe_empty))) { - player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.syringe_empty, 1, 0), false); - } - } - } - if(this == ModItems.syringe_metal_stimpak && !VersatileConfig.hasPotionSickness(player)) { if(!world.isRemote) { player.heal(5); @@ -116,7 +44,7 @@ public class ItemSyringe extends Item { if(!player.inventory.addItemStackToInventory(new ItemStack(ModItems.syringe_metal_empty))) { player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.syringe_metal_empty, 1, 0), false); } - + VersatileConfig.applyPotionSickness(player, 5); } } @@ -135,7 +63,7 @@ public class ItemSyringe extends Item { if(!player.inventory.addItemStackToInventory(new ItemStack(ModItems.syringe_metal_empty))) { player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.syringe_metal_empty, 1, 0), false); } - + VersatileConfig.applyPotionSickness(player, 5); } } @@ -155,7 +83,7 @@ public class ItemSyringe extends Item { if(!player.inventory.addItemStackToInventory(new ItemStack(ModItems.syringe_metal_empty))) { player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.syringe_metal_empty, 1, 0), false); } - + VersatileConfig.applyPotionSickness(player, 5); } } @@ -175,7 +103,7 @@ public class ItemSyringe extends Item { if(!player.inventory.addItemStackToInventory(new ItemStack(ModItems.syringe_metal_empty))) { player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.syringe_metal_empty, 1, 0), false); } - + VersatileConfig.applyPotionSickness(player, 15); } } @@ -193,7 +121,7 @@ public class ItemSyringe extends Item { player.removePotionEffect(Potion.weakness.id); player.removePotionEffect(Potion.wither.id); player.removePotionEffect(HbmPotion.radiation.id); - + VersatileConfig.applyPotionSickness(player, 15); stack.stackSize--; @@ -283,53 +211,17 @@ public class ItemSyringe extends Item { return stack; IFillableItem fillable = (IFillableItem) jetpack.getItem(); - + if(!fillable.acceptsFluid(Fluids.KEROSENE, jetpack)) return stack; - - fillable.tryFill(Fluids.KEROSENE, 1000, jetpack); - + + if(fillable.tryFill(Fluids.KEROSENE, 1000, jetpack) < 1000) { + world.playSoundAtEntity(player, "hbm:item.jetpackTank", 1.0F, 1.0F); + stack.stackSize--; + } + if(jetpack.getItem() != player.inventory.armorInventory[2].getItem()) ArmorModHandler.applyMod(player.inventory.armorInventory[2], jetpack); - - world.playSoundAtEntity(player, "hbm:item.jetpackTank", 1.0F, 1.0F); - - stack.stackSize--; - } - } - - if(this == ModItems.gun_kit_1 || this == ModItems.gun_kit_2) { - if(!world.isRemote) { - float repair = 0; - - if(this == ModItems.gun_kit_1) { - repair = 0.1F; - world.playSoundAtEntity(player, "hbm:item.spray", 1.0F, 1.0F); - } - if(this == ModItems.gun_kit_2) { - repair = 0.5F; - world.playSoundAtEntity(player, "hbm:item.repair", 1.0F, 1.0F); - } - - for(int i = 0; i < 9; i++) { - - ItemStack gun = player.inventory.mainInventory[i]; - - if(gun != null && gun.getItem() instanceof ItemGunBase) { - - int full = ((ItemGunBase) gun.getItem()).mainConfig.durability; - int wear = ItemGunBase.getItemWear(gun); - - int nWear = (int) (wear - (full * repair)); - - if(nWear < 0) - nWear = 0; - - ItemGunBase.setItemWear(gun, nWear); - } - } - - stack.stackSize--; } } @@ -345,94 +237,10 @@ public class ItemSyringe extends Item { return stack; } - @Override - @SideOnly(Side.CLIENT) - public boolean hasEffect(ItemStack p_77636_1_) { - if(this == ModItems.syringe_awesome) { - return true; - } - - return false; - } - - @Override - public EnumRarity getRarity(ItemStack p_77613_1_) { - if(this == ModItems.syringe_awesome) { - return EnumRarity.uncommon; - } - return EnumRarity.common; - } - @Override public boolean hitEntity(ItemStack stack, EntityLivingBase entity, EntityLivingBase entityPlayer) { World world = entity.worldObj; - if(this == ModItems.syringe_antidote && !VersatileConfig.hasPotionSickness(entity)) { - if(!world.isRemote) { - entity.clearActivePotions(); - VersatileConfig.applyPotionSickness(entity, 5); - - stack.stackSize--; - world.playSoundAtEntity(entity, "hbm:item.syringe", 1.0F, 1.0F); - - if(entityPlayer instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) entityPlayer; - if(!player.inventory.addItemStackToInventory(new ItemStack(ModItems.syringe_empty))) { - player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.syringe_empty, 1, 0), false); - } - } - } - } - - if(this == ModItems.syringe_awesome && !VersatileConfig.hasPotionSickness(entity)) { - if(!world.isRemote) { - - if(entity instanceof EntityCow) { - - entity.addPotionEffect(new PotionEffect(HbmPotion.bang.id, 40, 0)); - - } else { - entity.addPotionEffect(new PotionEffect(Potion.regeneration.id, 50 * 20, 9)); - entity.addPotionEffect(new PotionEffect(Potion.resistance.id, 50 * 20, 9)); - entity.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 50 * 20, 0)); - entity.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 50 * 20, 24)); - entity.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 50 * 20, 9)); - entity.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 50 * 20, 6)); - entity.addPotionEffect(new PotionEffect(Potion.jump.id, 50 * 20, 9)); - entity.addPotionEffect(new PotionEffect(Potion.field_76434_w.id, 50 * 20, 9)); - entity.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 50 * 20, 4)); - entity.addPotionEffect(new PotionEffect(Potion.confusion.id, 5 * 20, 4)); - VersatileConfig.applyPotionSickness(entity, 50); - } - - stack.stackSize--; - world.playSoundAtEntity(entity, "hbm:item.syringe", 1.0F, 1.0F); - - if(entityPlayer instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) entityPlayer; - if(!player.inventory.addItemStackToInventory(new ItemStack(ModItems.syringe_empty))) { - player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.syringe_empty, 1, 0), false); - } - } - } - } - - if(this == ModItems.syringe_poison) { - if(!world.isRemote) { - entity.attackEntityFrom(ModDamageSource.euthanized(entityPlayer, entityPlayer), 30); - - stack.stackSize--; - world.playSoundAtEntity(entity, "hbm:item.syringe", 1.0F, 1.0F); - - if(entityPlayer instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) entityPlayer; - if(!player.inventory.addItemStackToInventory(new ItemStack(ModItems.syringe_empty))) { - player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.syringe_empty, 1, 0), false); - } - } - } - } - if(this == ModItems.syringe_metal_stimpak && !VersatileConfig.hasPotionSickness(entity)) { if(!world.isRemote) { entity.heal(5); @@ -592,7 +400,7 @@ public class ItemSyringe extends Item { if(this == ModItems.gun_kit_2) { list.add("Repairs all weapons in hotbar by 50%"); } - + if(this == ModItems.syringe_mkunicorn) { list.add(EnumChatFormatting.RED + "?"); } diff --git a/src/main/java/com/hbm/items/special/ItemTrain.java b/src/main/java/com/hbm/items/special/ItemTrain.java index 6ecadd476..19bdab7ea 100644 --- a/src/main/java/com/hbm/items/special/ItemTrain.java +++ b/src/main/java/com/hbm/items/special/ItemTrain.java @@ -8,13 +8,11 @@ import com.hbm.blocks.rail.IRailNTM.RailCheckType; import com.hbm.entity.train.EntityRailCarBase; import com.hbm.entity.train.TrainCargoTram; import com.hbm.entity.train.TrainCargoTramTrailer; -import com.hbm.entity.train.TrainTunnelBore; import com.hbm.items.ItemEnumMulti; import com.hbm.util.EnumUtil; import com.hbm.util.fauxpointtwelve.BlockPos; import net.minecraft.block.Block; -import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -25,7 +23,7 @@ public class ItemTrain extends ItemEnumMulti { public ItemTrain() { super(EnumTrainType.class, true, true); - this.setCreativeTab(CreativeTabs.tabTransport); + this.setCreativeTab(null);//CreativeTabs.tabTransport); this.setMaxStackSize(1); } @@ -45,8 +43,7 @@ public class ItemTrain extends ItemEnumMulti { // Engine Gauge Max Speed Accel. Eng. Brake Parking Brake CARGO_TRAM(TrainCargoTram.class, "Electric", "Standard Gauge", "10m/s", "0.2m/s²", "<1m/s", "Yes"), - CARGO_TRAM_TRAILER(TrainCargoTramTrailer.class, null, "Standard Gauge", "Yes", null, null, "No"), - TUNNEL_BORE(TrainTunnelBore.class, "NONE", "Standard Gauge", "10m/s", "0.2m/s²", "<1m/s", "Yes"); + CARGO_TRAM_TRAILER(TrainCargoTramTrailer.class, null, "Standard Gauge", "Yes", null, null, "No"); public Class train; public String engine; diff --git a/src/main/java/com/hbm/items/tool/IItemAbility.java b/src/main/java/com/hbm/items/tool/IItemAbility.java deleted file mode 100644 index 4096a2a6b..000000000 --- a/src/main/java/com/hbm/items/tool/IItemAbility.java +++ /dev/null @@ -1,181 +0,0 @@ -package com.hbm.items.tool; - -import java.util.ArrayList; -import java.util.Random; - -import com.hbm.blocks.ModBlocks; - -import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.network.play.client.C07PacketPlayerDigging; -import net.minecraft.network.play.server.S23PacketBlockChange; -import net.minecraft.stats.StatList; -import net.minecraft.world.World; -import net.minecraftforge.common.ForgeHooks; -import net.minecraftforge.common.IShearable; -import net.minecraftforge.event.world.BlockEvent; - -public interface IItemAbility { - - public boolean canHarvestBlock(Block par1Block, ItemStack itemStack); - public boolean isShears(ItemStack stack); - - public default boolean canShearBlock(Block block, ItemStack stack, World world, int x, int y, int z) { - return this.isShears(stack) && block instanceof IShearable && ((IShearable) block).isShearable(stack, world, x, y, z); - } - - public default void breakExtraBlock(World world, int x, int y, int z, EntityPlayer playerEntity, int refX, int refY, int refZ) { - - if(world.isAirBlock(x, y, z)) - return; - - if(!(playerEntity instanceof EntityPlayerMP)) - return; - - EntityPlayerMP player = (EntityPlayerMP) playerEntity; - ItemStack stack = player.getHeldItem(); - - Block block = world.getBlock(x, y, z); - int meta = world.getBlockMetadata(x, y, z); - - if(!(canHarvestBlock(block, stack) || canShearBlock(block, stack, world, x, y, z)) || block == Blocks.bedrock || block == ModBlocks.stone_keyhole) - return; - - Block refBlock = world.getBlock(refX, refY, refZ); - float refStrength = ForgeHooks.blockStrength(refBlock, player, world, refX, refY, refZ); - float strength = ForgeHooks.blockStrength(block, player, world, x, y, z); - - if(!ForgeHooks.canHarvestBlock(block, player, meta) || refStrength / strength > 10f || refBlock.getBlockHardness(world, refX, refY, refZ) < 0) - return; - - BlockEvent.BreakEvent event = ForgeHooks.onBlockBreakEvent(world, player.theItemInWorldManager.getGameType(), player, x, y, z); - if(event.isCanceled()) - return; - - if(player.capabilities.isCreativeMode) { - block.onBlockHarvested(world, x, y, z, meta, player); - if(block.removedByPlayer(world, player, x, y, z, false)) - block.onBlockDestroyedByPlayer(world, x, y, z, meta); - - if(!world.isRemote) { - player.playerNetServerHandler.sendPacket(new S23PacketBlockChange(x, y, z, world)); - } - return; - } - - player.getCurrentEquippedItem().func_150999_a(world, block, x, y, z, player); - - if(!world.isRemote) { - - if(canShearBlock(block, stack, world, x, y, z)) { - shearBlock(world, x, y, z, block, player); - } - - block.onBlockHarvested(world, x, y, z, meta, player); - - if(block.removedByPlayer(world, player, x, y, z, true)) { - block.onBlockDestroyedByPlayer(world, x, y, z, meta); - block.harvestBlock(world, player, x, y, z, meta); - block.dropXpOnBlockBreak(world, x, y, z, event.getExpToDrop()); - } - - player.playerNetServerHandler.sendPacket(new S23PacketBlockChange(x, y, z, world)); - - } else { - world.playAuxSFX(2001, x, y, z, Block.getIdFromBlock(block) + (meta << 12)); - if(block.removedByPlayer(world, player, x, y, z, true)) { - block.onBlockDestroyedByPlayer(world, x, y, z, meta); - } - ItemStack itemstack = player.getCurrentEquippedItem(); - if(itemstack != null) { - itemstack.func_150999_a(world, block, x, y, z, player); - - if(itemstack.stackSize == 0) { - player.destroyCurrentEquippedItem(); - } - } - - Minecraft.getMinecraft().getNetHandler().addToSendQueue(new C07PacketPlayerDigging(2, x, y, z, Minecraft.getMinecraft().objectMouseOver.sideHit)); - } - } - - /** Assumes a canShearBlock check has passed, will most likely crash otherwise! */ - public static void shearBlock(World world, int x, int y, int z, Block block, EntityPlayer player) { - - ItemStack held = player.getHeldItem(); - - IShearable target = (IShearable) block; - if(target.isShearable(held, player.worldObj, x, y, z)) { - ArrayList drops = target.onSheared(held, player.worldObj, x, y, z, EnchantmentHelper.getEnchantmentLevel(Enchantment.fortune.effectId, held)); - Random rand = new Random(); - - for(ItemStack stack : drops) { - float f = 0.7F; - double d = (double) (rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D; - double d1 = (double) (rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D; - double d2 = (double) (rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D; - EntityItem entityitem = new EntityItem(player.worldObj, (double) x + d, (double) y + d1, (double) z + d2, stack); - entityitem.delayBeforeCanPickup = 10; - player.worldObj.spawnEntityInWorld(entityitem); - } - - held.damageItem(1, player); - player.addStat(StatList.mineBlockStatArray[Block.getIdFromBlock(block)], 1); - } - } - - public static void standardDigPost(World world, int x, int y, int z, EntityPlayerMP player) { - - Block block = world.getBlock(x, y, z); - int l = world.getBlockMetadata(x, y, z); - world.playAuxSFXAtEntity(player, 2001, x, y, z, Block.getIdFromBlock(block) + (world.getBlockMetadata(x, y, z) << 12)); - boolean flag = false; - - if(player.capabilities.isCreativeMode) { - flag = removeBlock(world, x, y, z, false, player); - player.playerNetServerHandler.sendPacket(new S23PacketBlockChange(x, y, z, world)); - } else { - ItemStack itemstack = player.getCurrentEquippedItem(); - boolean flag1 = block.canHarvestBlock(player, l); - - if(itemstack != null) { - itemstack.func_150999_a(world, block, x, y, z, player); - - if(itemstack.stackSize == 0) { - player.destroyCurrentEquippedItem(); - } - } - - flag = removeBlock(world, x, y, z, flag1, player); - if(flag && flag1) { - block.harvestBlock(world, player, x, y, z, l); - } - } - - /* - * // Drop experience if (!player.capabilities.isCreativeMode && flag && - * event != null) { block.dropXpOnBlockBreak(world, x, y, z, - * event.getExpToDrop()); } - */ - } - - public static boolean removeBlock(World world, int x, int y, int z, boolean canHarvest, EntityPlayerMP player) { - Block block = world.getBlock(x, y, z); - int l = world.getBlockMetadata(x, y, z); - block.onBlockHarvested(world, x, y, z, l, player); - boolean flag = block.removedByPlayer(world, player, x, y, z, canHarvest); - - if(flag) { - block.onBlockDestroyedByPlayer(world, x, y, z, l); - } - - return flag; - } -} diff --git a/src/main/java/com/hbm/items/tool/ItemAmatExtractor.java b/src/main/java/com/hbm/items/tool/ItemAmatExtractor.java index ffd2b3ddb..0086e8474 100644 --- a/src/main/java/com/hbm/items/tool/ItemAmatExtractor.java +++ b/src/main/java/com/hbm/items/tool/ItemAmatExtractor.java @@ -1,50 +1,6 @@ package com.hbm.items.tool; -import com.hbm.blocks.bomb.BlockCrashedBomb; -import com.hbm.items.ModItems; -import com.hbm.util.ContaminationUtil; -import com.hbm.util.ContaminationUtil.ContaminationType; -import com.hbm.util.ContaminationUtil.HazardType; - -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; public class ItemAmatExtractor extends Item { - - @Override - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) { - - if(world.getBlock(x, y, z) instanceof BlockCrashedBomb) { - if(!world.isRemote && player.inventory.hasItem(ModItems.cell_empty)) { - - float chance = world.rand.nextFloat(); - - if(chance < 0.01) { - ((BlockCrashedBomb) world.getBlock(x, y, z)).explode(world, x, y, z); - } else if(chance <= 0.3) { - player.inventory.consumeInventoryItem(ModItems.cell_empty); - - if(!player.inventory.addItemStackToInventory(new ItemStack(ModItems.cell_balefire))) { - player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.cell_balefire, 1, 0), false); - } - } else { - player.inventory.consumeInventoryItem(ModItems.cell_empty); - - if(!player.inventory.addItemStackToInventory(new ItemStack(ModItems.cell_antimatter))) { - player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.cell_antimatter, 1, 0), false); - } - } - - player.inventoryContainer.detectAndSendChanges(); - ContaminationUtil.contaminate(player, HazardType.RADIATION, ContaminationType.CREATIVE, 50.0F); - } - - player.swingItem(); - return true; - } - - return false; - } } diff --git a/src/main/java/com/hbm/items/tool/ItemAmmoBag.java b/src/main/java/com/hbm/items/tool/ItemAmmoBag.java new file mode 100644 index 000000000..f3c33483f --- /dev/null +++ b/src/main/java/com/hbm/items/tool/ItemAmmoBag.java @@ -0,0 +1,149 @@ +package com.hbm.items.tool; + +import com.hbm.inventory.container.ContainerAmmoBag; +import com.hbm.inventory.gui.GUIAmmoBag; +import com.hbm.items.ModItems; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.util.ItemStackUtil; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class ItemAmmoBag extends Item implements IGUIProvider { + + public ItemAmmoBag() { + this.setMaxStackSize(1); + } + + @Override + public int getMaxItemUseDuration(ItemStack stack) { + return 1; + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + if(!world.isRemote) player.openGui(MainRegistry.instance, 0, world, 0, 0, 0); + return stack; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerAmmoBag(player.inventory, new InventoryAmmoBag(player.getHeldItem())); + } + + @Override + @SideOnly(Side.CLIENT) + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIAmmoBag(player.inventory, new InventoryAmmoBag(player.getHeldItem())); + } + + @Override + public boolean showDurabilityBar(ItemStack stack) { + if(this == ModItems.ammo_bag_infinite) return false; + return !stack.hasTagCompound() || getDurabilityForDisplay(stack) != 0; + } + + @Override + public double getDurabilityForDisplay(ItemStack stack) { + if(!stack.hasTagCompound()) return 1D; + + InventoryAmmoBag inv = new InventoryAmmoBag(stack); + int capacity = 0; + int bullets = 0; + for(int i = 0; i < inv.getSizeInventory(); i++) { + ItemStack slot = inv.getStackInSlot(i); + if(slot == null) { + capacity += 64; + } else { + capacity += slot.getMaxStackSize(); + bullets += slot.stackSize; + } + } + return 1D - (double) bullets / (double) capacity; + } + + public static class InventoryAmmoBag implements IInventory { + + public final ItemStack box; + public ItemStack[] slots; + + public InventoryAmmoBag(ItemStack bag) { + this.box = bag; + slots = new ItemStack[this.getSizeInventory()]; + + if(!bag.hasTagCompound()) + bag.setTagCompound(new NBTTagCompound()); + + ItemStack[] fromNBT = ItemStackUtil.readStacksFromNBT(bag, slots.length); + + if(fromNBT != null) { + for(int i = 0; i < slots.length; i++) { + slots[i] = fromNBT[i]; + } + } + } + + @Override public int getSizeInventory() { return 8; } + @Override public ItemStack getStackInSlot(int slot) { return slots[slot]; } + + @Override + public ItemStack decrStackSize(int slot, int amount) { + ItemStack stack = getStackInSlot(slot); + if (stack != null) { + if (stack.stackSize > amount) { + stack = stack.splitStack(amount); + markDirty(); + } else { + setInventorySlotContents(slot, null); + } + } + return stack; + } + + @Override + public ItemStack getStackInSlotOnClosing(int slot) { + ItemStack stack = getStackInSlot(slot); + setInventorySlotContents(slot, null); + return stack; + } + + @Override + public void setInventorySlotContents(int slot, ItemStack stack) { + + if(stack != null) { + stack.stackSize = Math.min(stack.stackSize, this.getInventoryStackLimit()); + } + + slots[slot] = stack; + markDirty(); + } + + @Override public String getInventoryName() { return "container.ammoBag"; } + @Override public boolean hasCustomInventoryName() { return box.hasDisplayName(); } + @Override public int getInventoryStackLimit() { return 64; } + + @Override + public void markDirty() { + for(int i = 0; i < getSizeInventory(); ++i) { + if(getStackInSlot(i) != null && getStackInSlot(i).stackSize == 0) { + slots[i] = null; + } + } + + ItemStackUtil.addStacksToNBT(box, slots); + } + + @Override public boolean isUseableByPlayer(EntityPlayer player) { return true; } + @Override public void openInventory() { } + @Override public void closeInventory() { } + @Override public boolean isItemValidForSlot(int slot, ItemStack stack) { return !stack.hasTagCompound(); } + } +} diff --git a/src/main/java/com/hbm/items/tool/ItemAmmoContainer.java b/src/main/java/com/hbm/items/tool/ItemAmmoContainer.java index 2657bb7fe..53ef51595 100644 --- a/src/main/java/com/hbm/items/tool/ItemAmmoContainer.java +++ b/src/main/java/com/hbm/items/tool/ItemAmmoContainer.java @@ -1,13 +1,8 @@ package com.hbm.items.tool; -import java.util.ArrayList; import java.util.List; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.GunConfiguration; import com.hbm.items.ModItems; -import com.hbm.items.weapon.ItemGunBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -16,52 +11,19 @@ import net.minecraft.world.World; public class ItemAmmoContainer extends Item { - public static final List configBlacklist = new ArrayList(); - public ItemAmmoContainer() { - this.setMaxDamage(1); - - configBlacklist.add(BulletConfigSyncingUtil.SCHRABIDIUM_REVOLVER); + this.setMaxStackSize(1); } @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - - for(ItemStack slot : player.inventory.mainInventory) { - - if(slot == null || !(slot.getItem() instanceof ItemGunBase)) continue; - List cfgs = new ArrayList(); - ItemGunBase gun = (ItemGunBase) slot.getItem(); - if(gun.mainConfig != null) cfgs.add(gun.mainConfig); - if(gun.altConfig != null) cfgs.add(gun.altConfig); - - for(GunConfiguration cfg : cfgs) { - if(cfg.config.isEmpty()) continue; - Integer first = cfg.config.get(0); - if(configBlacklist.contains(first)) continue; - BulletConfiguration bullet = BulletConfigSyncingUtil.pullConfig(first); - if(bullet == null) continue; - if(bullet.ammo == null) continue; - - ItemStack ammo = bullet.ammo.toStack(); - //for belt-fed guns: 64 is main config, 1 if alt config - //for reloaded guns: mag capacity divided by reload amount (equals one stack) - ammo.stackSize = cfg.reloadType == cfg.RELOAD_NONE ? cfg == gun.mainConfig ? 64 : 1 : (int) Math.ceil((double) cfg.ammoCap / (double) bullet.ammoCount); - player.inventory.addItemStackToInventory(ammo); - } - } - - stack.stackSize--; - if(stack.stackSize <= 0) - stack.damageItem(5, player); - return stack; } @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { if(this == ModItems.ammo_container) { - list.add("Gives ammo for most held weapons."); + list.add("to be implemented :P"); } } } diff --git a/src/main/java/com/hbm/items/tool/ItemBlowtorch.java b/src/main/java/com/hbm/items/tool/ItemBlowtorch.java index e690582c0..35bcd3da1 100644 --- a/src/main/java/com/hbm/items/tool/ItemBlowtorch.java +++ b/src/main/java/com/hbm/items/tool/ItemBlowtorch.java @@ -3,17 +3,17 @@ package com.hbm.items.tool; import java.util.List; import java.util.Locale; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import api.hbm.block.IToolable; import api.hbm.block.IToolable.ToolType; -import api.hbm.fluid.IFillableItem; +import api.hbm.fluidmk2.IFillableItem; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -31,10 +31,10 @@ public class ItemBlowtorch extends Item implements IFillableItem { this.setMaxStackSize(1); this.setFull3D(); this.setCreativeTab(MainRegistry.controlTab); - + ToolType.TORCH.register(new ItemStack(this)); } - + @Override public Item setUnlocalizedName(String unlocalizedName) { super.setUnlocalizedName(unlocalizedName); @@ -47,20 +47,20 @@ public class ItemBlowtorch extends Item implements IFillableItem { if(this == ModItems.blowtorch) return type == Fluids.GAS; if(this == ModItems.acetylene_torch) return type == Fluids.UNSATURATEDS || type == Fluids.OXYGEN; - + return false; } @Override public int tryFill(FluidType type, int amount, ItemStack stack) { - + if(!acceptsFluid(type, stack)) return amount; - + int toFill = Math.min(amount, 50); toFill = Math.min(toFill, getMaxFill(type) - this.getFill(stack, type)); this.setFill(stack, type, this.getFill(stack, type) + toFill); - + return amount - toFill; } @@ -68,25 +68,25 @@ public class ItemBlowtorch extends Item implements IFillableItem { if(!stack.hasTagCompound()) { initNBT(stack); } - + //just in case String name = Fluids.toNameCompat(type); if(stack.stackTagCompound.hasKey(name)) { int fill = stack.stackTagCompound.getInteger(name); stack.stackTagCompound.removeTag(name); stack.stackTagCompound.setInteger(Integer.toString(type.getID()), fill); - + return fill; } - + return stack.stackTagCompound.getInteger(Integer.toString(type.getID())); } - + public int getMaxFill(FluidType type) { if(type == Fluids.GAS) return 4_000; if(type == Fluids.UNSATURATEDS) return 8_000; if(type == Fluids.OXYGEN) return 16_000; - + return 0; } @@ -94,12 +94,12 @@ public class ItemBlowtorch extends Item implements IFillableItem { if(!stack.hasTagCompound()) { initNBT(stack); } - + stack.stackTagCompound.setInteger(Integer.toString(type.getID()), fill); } - + public void initNBT(ItemStack stack) { - + stack.stackTagCompound = new NBTTagCompound(); if(this == ModItems.blowtorch) { @@ -110,7 +110,7 @@ public class ItemBlowtorch extends Item implements IFillableItem { this.setFill(stack, Fluids.OXYGEN, this.getMaxFill(Fluids.OXYGEN)); } } - + public static ItemStack getEmptyTool(Item item) { ItemBlowtorch tool = (ItemBlowtorch) item; ItemStack stack = new ItemStack(item); @@ -122,51 +122,51 @@ public class ItemBlowtorch extends Item implements IFillableItem { tool.setFill(stack, Fluids.UNSATURATEDS, 0); tool.setFill(stack, Fluids.OXYGEN, 0); } - + return stack; } @Override public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float fX, float fY, float fZ) { - + Block b = world.getBlock(x, y, z); - + if(b instanceof IToolable) { - + if(this == ModItems.blowtorch) { - if(this.getFill(stack, Fluids.GAS) < 1000) return false; + if(this.getFill(stack, Fluids.GAS) < 250) return false; } - + if(this == ModItems.acetylene_torch) { if(this.getFill(stack, Fluids.UNSATURATEDS) < 20) return false; if(this.getFill(stack, Fluids.OXYGEN) < 10) return false; } - + if(((IToolable)b).onScrew(world, player, x, y, z, side, fX, fY, fZ, ToolType.TORCH)) { - + if(!world.isRemote) { - + if(this == ModItems.blowtorch) { this.setFill(stack, Fluids.GAS, this.getFill(stack, Fluids.GAS) - 250); } - + if(this == ModItems.acetylene_torch) { this.setFill(stack, Fluids.UNSATURATEDS, this.getFill(stack, Fluids.UNSATURATEDS) - 20); this.setFill(stack, Fluids.OXYGEN, this.getFill(stack, Fluids.OXYGEN) - 10); } - + player.inventoryContainer.detectAndSendChanges(); - + NBTTagCompound dPart = new NBTTagCompound(); dPart.setString("type", "tau"); dPart.setByte("count", (byte) 10); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(dPart, x + fX, y + fY, z + fZ), new TargetPoint(world.provider.dimensionId, x, y, z, 50)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(dPart, x + fX, y + fY, z + fZ), new TargetPoint(world.provider.dimensionId, x, y, z, 50)); } - + return true; } } - + return false; } @@ -177,27 +177,27 @@ public class ItemBlowtorch extends Item implements IFillableItem { @Override public double getDurabilityForDisplay(ItemStack stack) { - + double frac = 0D; - + if(this == ModItems.blowtorch) { frac = (double) this.getFill(stack, Fluids.GAS) / (double) this.getMaxFill(Fluids.GAS); } - + if(this == ModItems.acetylene_torch) { frac = Math.min( (double) this.getFill(stack, Fluids.UNSATURATEDS) / (double) this.getMaxFill(Fluids.UNSATURATEDS), (double) this.getFill(stack, Fluids.OXYGEN) / (double) this.getMaxFill(Fluids.OXYGEN) ); } - + return 1 - frac; } @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - + if(this == ModItems.blowtorch) { list.add(EnumChatFormatting.YELLOW + getFillGauge(stack, Fluids.GAS)); } diff --git a/src/main/java/com/hbm/items/tool/ItemBoltgun.java b/src/main/java/com/hbm/items/tool/ItemBoltgun.java index 0b4ef3dd2..ef85ff820 100644 --- a/src/main/java/com/hbm/items/tool/ItemBoltgun.java +++ b/src/main/java/com/hbm/items/tool/ItemBoltgun.java @@ -1,12 +1,12 @@ package com.hbm.items.tool; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.material.Mats; import com.hbm.items.IAnimatedItem; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.render.anim.BusAnimation; import com.hbm.render.anim.BusAnimationSequence; import com.hbm.util.EntityDamageUtil; @@ -32,29 +32,29 @@ public class ItemBoltgun extends Item implements IAnimatedItem { public ItemBoltgun() { this.setMaxStackSize(1); this.setCreativeTab(MainRegistry.controlTab); - + ToolType.BOLT.register(new ItemStack(this)); } - + @Override public Item setUnlocalizedName(String unlocalizedName) { super.setUnlocalizedName(unlocalizedName); this.setTextureName(RefStrings.MODID + ":"+ unlocalizedName); return this; } - + @Override public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity) { - + World world = player.worldObj; if(!entity.isEntityAlive()) return false; - + ItemStack[] bolts = new ItemStack[] { new ItemStack(ModItems.bolt_spike), Mats.MAT_STEEL.make(ModItems.bolt), Mats.MAT_TUNGSTEN.make(ModItems.bolt), Mats.MAT_DURA.make(ModItems.bolt)}; - + for(ItemStack bolt : bolts) { for(int i = 0; i < player.inventory.getSizeInventory(); i++) { ItemStack slot = player.inventory.getStackInSlot(i); - + if(slot != null) { if(slot.getItem() == bolt.getItem() && slot.getItemDamage() == bolt.getItemDamage()) { if(!world.isRemote) { @@ -62,7 +62,7 @@ public class ItemBoltgun extends Item implements IAnimatedItem { player.inventory.decrStackSize(i, 1); player.inventoryContainer.detectAndSendChanges(); EntityDamageUtil.attackEntityFromIgnoreIFrame(entity, DamageSource.causePlayerDamage(player).setDamageBypassesArmor(), 10F); - + if(!entity.isEntityAlive() && entity instanceof EntityPlayer) { ((EntityPlayer) entity).triggerAchievement(MainRegistry.achGoFish); } @@ -72,7 +72,7 @@ public class ItemBoltgun extends Item implements IAnimatedItem { data.setString("mode", "largeexplode"); data.setFloat("size", 1F); data.setByte("count", (byte)1); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, entity.posX, entity.posY + entity.height / 2 - entity.yOffset, entity.posZ), new TargetPoint(world.provider.dimensionId, entity.posX, entity.posY, entity.posZ, 50)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, entity.posX, entity.posY + entity.height / 2 - entity.yOffset, entity.posZ), new TargetPoint(world.provider.dimensionId, entity.posX, entity.posY, entity.posZ, 50)); } else { // doing this on the client outright removes the packet delay and makes the animation silky-smooth NBTTagCompound d0 = new NBTTagCompound(); @@ -85,15 +85,15 @@ public class ItemBoltgun extends Item implements IAnimatedItem { } } } - + return false; } @Override public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float fX, float fY, float fZ) { - + Block b = world.getBlock(x, y, z); - + if(b instanceof IToolable && ((IToolable)b).onScrew(world, player, x, y, z, side, fX, fY, fZ, ToolType.BOLT)) { if(!world.isRemote) { @@ -108,17 +108,17 @@ public class ItemBoltgun extends Item implements IAnimatedItem { data.setString("mode", "largeexplode"); data.setFloat("size", 1F); data.setByte("count", (byte)1); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x + fX + dir.offsetX * off, y + fY + dir.offsetY * off, z + fZ + dir.offsetZ * off), new TargetPoint(world.provider.dimensionId, x, y, z, 50)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, x + fX + dir.offsetX * off, y + fY + dir.offsetY * off, z + fZ + dir.offsetZ * off), new TargetPoint(world.provider.dimensionId, x, y, z, 50)); NBTTagCompound d0 = new NBTTagCompound(); d0.setString("type", "anim"); d0.setString("mode", "generic"); - PacketDispatcher.wrapper.sendTo(new AuxParticlePacketNT(d0, 0, 0, 0), (EntityPlayerMP) player); + PacketThreading.createSendToThreadedPacket(new AuxParticlePacketNT(d0, 0, 0, 0), (EntityPlayerMP) player); } - + return false; } - + return false; } @@ -127,7 +127,7 @@ public class ItemBoltgun extends Item implements IAnimatedItem { public BusAnimation getAnimation(NBTTagCompound data, ItemStack stack) { return new BusAnimation() .addBus("RECOIL", new BusAnimationSequence() - .addKeyframePosition(1, 0, 1, 50) - .addKeyframePosition(0, 0, 1, 100)); + .addPos(1, 0, 1, 50) + .addPos(0, 0, 1, 100)); } } diff --git a/src/main/java/com/hbm/items/tool/ItemBombCaller.java b/src/main/java/com/hbm/items/tool/ItemBombCaller.java index 5ea5c732e..87394ece7 100644 --- a/src/main/java/com/hbm/items/tool/ItemBombCaller.java +++ b/src/main/java/com/hbm/items/tool/ItemBombCaller.java @@ -37,10 +37,7 @@ public class ItemBombCaller extends Item { case 5: list.add("Type: VT stinger rockets"); break; case 6: list.add("Type: PIP OH GOD"); break; case 7: list.add("Type: Cloud the cloud oh god the cloud"); break; - default: list.add("Type: INVALID, Report it to mod creator"); - } - } @Override diff --git a/src/main/java/com/hbm/items/tool/ItemBookLemegeton.java b/src/main/java/com/hbm/items/tool/ItemBookLemegeton.java index 90bcdd20c..b8bc68810 100644 --- a/src/main/java/com/hbm/items/tool/ItemBookLemegeton.java +++ b/src/main/java/com/hbm/items/tool/ItemBookLemegeton.java @@ -7,7 +7,6 @@ import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.Item; @@ -29,7 +28,7 @@ public class ItemBookLemegeton extends Item implements IGUIProvider { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUILemegeton(player.inventory); } } diff --git a/src/main/java/com/hbm/items/tool/ItemCasingBag.java b/src/main/java/com/hbm/items/tool/ItemCasingBag.java new file mode 100644 index 000000000..6329998f2 --- /dev/null +++ b/src/main/java/com/hbm/items/tool/ItemCasingBag.java @@ -0,0 +1,180 @@ +package com.hbm.items.tool; + +import com.hbm.inventory.container.ContainerCasingBag; +import com.hbm.inventory.gui.GUICasingBag; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.util.ItemStackUtil; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class ItemCasingBag extends Item implements IGUIProvider { + + public ItemCasingBag() { + this.setMaxStackSize(1); + } + + @Override + public int getMaxItemUseDuration(ItemStack stack) { + return 1; + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + if(!world.isRemote) player.openGui(MainRegistry.instance, 0, world, 0, 0, 0); + return stack; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerCasingBag(player.inventory, new InventoryCasingBag(player.getHeldItem())); + } + + @Override + @SideOnly(Side.CLIENT) + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUICasingBag(player.inventory, new InventoryCasingBag(player.getHeldItem())); + } + + /** + * Returns true if ammo was able to be added + * @param bag + * @param casing + * @param amount + * @return + */ + public static boolean pushCasing(ItemStack bag, ItemStack casing, float amount) { + if(!bag.hasTagCompound()) bag.stackTagCompound = new NBTTagCompound(); + String name = casing.getUnlocalizedName() + "@" + casing.getItemDamage(); + boolean ret = false; + //only add if the previous number did not exceed 1 (i.e. the bag ran full, and may have been emptied, we don't know) + //this may also cause minor loss, which evens out the dupe mentioned below. not that it matters, casings only have a 50% recovery rate! + if(bag.stackTagCompound.getFloat(name) < 1) { + ret = true; + bag.stackTagCompound.setFloat(name, bag.stackTagCompound.getFloat(name) + amount); + } + if(bag.stackTagCompound.getFloat(name) >= 1) { + InventoryCasingBag inv = new InventoryCasingBag(bag); + ItemStack toAdd = casing.copy(); + while(bag.stackTagCompound.getFloat(name) >= 1) { + + boolean didSomething = false; + + for(int i = 0; i < inv.getSizeInventory(); i++) { + if(toAdd.stackSize <= 0) break; + ItemStack slot = inv.getStackInSlot(i); + if(slot != null && slot.getItem() == toAdd.getItem() && slot.getItemDamage() == toAdd.getItemDamage()) { + int am = Math.min(toAdd.stackSize, slot.getMaxStackSize() - slot.stackSize); + toAdd.stackSize -= am; + slot.stackSize += am; + if(am > 0) didSomething = true; + } + } + + for(int i = 0; i < inv.getSizeInventory(); i++) { + if(toAdd.stackSize <= 0) break; + ItemStack slot = inv.getStackInSlot(i); + if(slot == null) { + inv.setInventorySlotContents(i, toAdd); + didSomething = true; + break; + } + } + + if(didSomething) { + bag.stackTagCompound.setFloat(name, bag.stackTagCompound.getFloat(name) - 1F); + ret = true; + } else { + break; + } + } + inv.markDirty(); + } + return ret; + } + + public static class InventoryCasingBag implements IInventory { + + public final ItemStack box; + public ItemStack[] slots; + + public InventoryCasingBag(ItemStack box) { + this.box = box; + slots = new ItemStack[this.getSizeInventory()]; + + if(!box.hasTagCompound()) + box.setTagCompound(new NBTTagCompound()); + + ItemStack[] fromNBT = ItemStackUtil.readStacksFromNBT(box, slots.length); + + if(fromNBT != null) { + for(int i = 0; i < slots.length; i++) { + slots[i] = fromNBT[i]; + } + } + } + + @Override public int getSizeInventory() { return 15; } + @Override public ItemStack getStackInSlot(int slot) { return slots[slot]; } + + @Override + public ItemStack decrStackSize(int slot, int amount) { + ItemStack stack = getStackInSlot(slot); + if (stack != null) { + if (stack.stackSize > amount) { + stack = stack.splitStack(amount); + markDirty(); + } else { + setInventorySlotContents(slot, null); + } + } + return stack; + } + + @Override + public ItemStack getStackInSlotOnClosing(int slot) { + ItemStack stack = getStackInSlot(slot); + setInventorySlotContents(slot, null); + return stack; + } + + @Override + public void setInventorySlotContents(int slot, ItemStack stack) { + + if(stack != null) { + stack.stackSize = Math.min(stack.stackSize, this.getInventoryStackLimit()); + } + + slots[slot] = stack; + markDirty(); + } + + @Override public String getInventoryName() { return "container.casingBag"; } + @Override public boolean hasCustomInventoryName() { return box.hasDisplayName(); } + @Override public int getInventoryStackLimit() { return 64; } + + @Override + public void markDirty() { + for(int i = 0; i < getSizeInventory(); ++i) { + if(getStackInSlot(i) != null && getStackInSlot(i).stackSize == 0) { + slots[i] = null; + } + } + + ItemStackUtil.addStacksToNBT(box, slots); + } + + @Override public boolean isUseableByPlayer(EntityPlayer player) { return true; } + @Override public void openInventory() { } + @Override public void closeInventory() { } + @Override public boolean isItemValidForSlot(int slot, ItemStack stack) { return false; } + } +} diff --git a/src/main/java/com/hbm/items/tool/ItemCatalog.java b/src/main/java/com/hbm/items/tool/ItemCatalog.java index db2eeb413..5bf610aa7 100644 --- a/src/main/java/com/hbm/items/tool/ItemCatalog.java +++ b/src/main/java/com/hbm/items/tool/ItemCatalog.java @@ -10,7 +10,6 @@ import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.Item; @@ -21,10 +20,7 @@ public class ItemCatalog extends Item implements IGUIProvider { @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - - if(world.isRemote) - player.openGui(MainRegistry.instance, 0, world, 0, 0, 0); - + if(world.isRemote) player.openGui(MainRegistry.instance, 0, world, 0, 0, 0); return stack; } @@ -44,10 +40,9 @@ public class ItemCatalog extends Item implements IGUIProvider { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { if(BobmazonOfferFactory.getOffers(player.getHeldItem()) != null) return new GUIScreenBobmazon(player, BobmazonOfferFactory.getOffers(player.getHeldItem())); - return null; } } diff --git a/src/main/java/com/hbm/items/tool/ItemChainsaw.java b/src/main/java/com/hbm/items/tool/ItemChainsaw.java index a2d4dfb38..32a53c960 100644 --- a/src/main/java/com/hbm/items/tool/ItemChainsaw.java +++ b/src/main/java/com/hbm/items/tool/ItemChainsaw.java @@ -1,9 +1,9 @@ package com.hbm.items.tool; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.fluid.FluidType; import com.hbm.items.IHeldSoundProvider; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayerMP; @@ -18,18 +18,18 @@ public class ItemChainsaw extends ItemToolAbilityFueled implements IHeldSoundPro @Override public boolean onEntitySwing(EntityLivingBase entityLiving, ItemStack stack) { - + if(!(entityLiving instanceof EntityPlayerMP)) return false; - + if(stack.getItemDamage() >= stack.getMaxDamage()) return false; - + NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "anim"); nbt.setString("mode", "sSwing"); - PacketDispatcher.wrapper.sendTo(new AuxParticlePacketNT(nbt, 0, 0, 0), (EntityPlayerMP)entityLiving); - + PacketThreading.createSendToThreadedPacket(new AuxParticlePacketNT(nbt, 0, 0, 0), (EntityPlayerMP)entityLiving); + return false; } } diff --git a/src/main/java/com/hbm/items/tool/ItemColtanCompass.java b/src/main/java/com/hbm/items/tool/ItemColtanCompass.java index b8cbe6b8e..c39efde01 100644 --- a/src/main/java/com/hbm/items/tool/ItemColtanCompass.java +++ b/src/main/java/com/hbm/items/tool/ItemColtanCompass.java @@ -31,7 +31,7 @@ public class ItemColtanCompass extends Item { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { list.add("Points towards the coltan deposit."); list.add("The deposit is a large area where coltan ore spawns like standard ore,"); - list.add("it's not one large blob of ore on that exact location, dipshit."); + list.add("it's not one large blob of ore on that exact location."); } @Override diff --git a/src/main/java/com/hbm/items/tool/ItemConveyorWand.java b/src/main/java/com/hbm/items/tool/ItemConveyorWand.java new file mode 100644 index 000000000..1c33446d6 --- /dev/null +++ b/src/main/java/com/hbm/items/tool/ItemConveyorWand.java @@ -0,0 +1,519 @@ +package com.hbm.items.tool; + +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + +import org.lwjgl.input.Keyboard; + +import com.hbm.blocks.ILookOverlay; +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.network.BlockConveyorBase; +import com.hbm.blocks.network.BlockConveyorBendable; +import com.hbm.blocks.network.BlockCraneBase; +import com.hbm.main.MainRegistry; +import com.hbm.render.util.RenderOverhead; +import com.hbm.util.i18n.I18nUtil; +import com.hbm.wiaj.WorldInAJar; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.play.server.S23PacketBlockChange; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.MovingObjectPosition.MovingObjectType; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; +import net.minecraftforge.common.ForgeHooks; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.event.world.BlockEvent; + +public class ItemConveyorWand extends Item implements ILookOverlay { + + public ItemConveyorWand() { + setHasSubtypes(true); + } + + public static enum ConveyorType { + REGULAR, + EXPRESS, + DOUBLE, + TRIPLE + } + + public static ConveyorType getType(ItemStack stack) { + if(stack == null) return ConveyorType.REGULAR; + return ConveyorType.values()[stack.getItemDamage()]; + } + + public static Block getConveyorBlock(ConveyorType type) { + switch(type) { + case EXPRESS: return ModBlocks.conveyor_express; + case DOUBLE: return ModBlocks.conveyor_double; + case TRIPLE: return ModBlocks.conveyor_triple; + default: return ModBlocks.conveyor; + } + } + + public static boolean hasSnakesAndLadders(ConveyorType type) { + return type == ConveyorType.REGULAR; + } + + @SuppressWarnings({ "unchecked", "rawtypes" }) + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs tab, List list) { + for(ConveyorType type : ConveyorType.values()) { + list.add(new ItemStack(item, 1, type.ordinal())); + } + } + + @Override + public String getUnlocalizedName(ItemStack stack) { + return super.getUnlocalizedName() + "." + getType(stack).name().toLowerCase(Locale.US); + } + + @SuppressWarnings({ "unchecked", "rawtypes" }) + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + + if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { + for(String s : I18nUtil.resolveKeyArray(super.getUnlocalizedName(stack) + ".desc")) { + list.add(EnumChatFormatting.YELLOW + s); + } + if(hasSnakesAndLadders(getType(stack))) { + list.add(EnumChatFormatting.AQUA + I18nUtil.resolveKey(super.getUnlocalizedName(stack) + ".vertical.desc")); + } + } else { + list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "Hold <" + EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + EnumChatFormatting.DARK_GRAY + + "" + EnumChatFormatting.ITALIC + "> to display more info"); + } + } + + @Override + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float fx, float fy, float fz) { + if(player.isSneaking() && !stack.hasTagCompound()) { + ForgeDirection dir = ForgeDirection.getOrientation(side); + Block onBlock = world.getBlock(x, y, z); + int onMeta = world.getBlockMetadata(x, y, z); + ConveyorType type = getType(stack); + + if(hasSnakesAndLadders(type) && onBlock == ModBlocks.conveyor && onMeta < 6) { + if(dir == ForgeDirection.UP) { + onBlock = ModBlocks.conveyor_lift; + world.setBlock(x, y, z, onBlock, onMeta, 3); + } else if(dir == ForgeDirection.DOWN) { + onBlock = ModBlocks.conveyor_chute; + world.setBlock(x, y, z, onBlock, onMeta, 3); + } + } + + Block toPlace = getConveyorBlock(type); + if(hasSnakesAndLadders(type)) { + if(onBlock == ModBlocks.conveyor_lift && dir == ForgeDirection.UP) toPlace = ModBlocks.conveyor_lift; + if(onBlock == ModBlocks.conveyor_chute && dir == ForgeDirection.DOWN) toPlace = ModBlocks.conveyor_chute; + } + + x += dir.offsetX; + y += dir.offsetY; + z += dir.offsetZ; + + if(world.getBlock(x, y, z).isReplaceable(world, x, y, z)) { + world.setBlock(x, y, z, toPlace); + toPlace.onBlockPlacedBy(world, x, y, z, player, stack); + stack.stackSize--; + } + + return true; + } + + // If placing on top of a conveyor block, auto-snap to edge if possible + // this makes it easier to connect without having to click the small edge of a conveyor + Block onBlock = world.getBlock(x, y, z); + if(onBlock instanceof BlockConveyorBendable) { + BlockConveyorBase bendable = (BlockConveyorBase) onBlock; + ForgeDirection moveDir = stack.hasTagCompound() ? bendable.getInputDirection(world, x, y, z) : bendable.getOutputDirection(world, x, y, z); + + int ox = x + moveDir.offsetX; + int oy = y + moveDir.offsetY; + int oz = z + moveDir.offsetZ; + + if(world.getBlock(ox, oy, oz).isReplaceable(world, ox, oy, oz)) { + side = moveDir.ordinal(); + } + } + + if(!stack.hasTagCompound()) { + // Starting placement + NBTTagCompound nbt = stack.stackTagCompound = new NBTTagCompound(); + + nbt.setInteger("x", x); + nbt.setInteger("y", y); + nbt.setInteger("z", z); + nbt.setInteger("side", side); + + int count = 0; + if(player.capabilities.isCreativeMode) { + count = 256; + } else { + for(ItemStack inventoryStack : player.inventory.mainInventory) { + if(inventoryStack != null && inventoryStack.getItem() == this && inventoryStack.getItemDamage() == stack.getItemDamage()) { + count += inventoryStack.stackSize; + } + } + } + + nbt.setInteger("count", count); + } else { + // Constructing conveyor + NBTTagCompound nbt = stack.stackTagCompound; + + int sx = nbt.getInteger("x"); + int sy = nbt.getInteger("y"); + int sz = nbt.getInteger("z"); + int sSide = nbt.getInteger("side"); + int count = nbt.getInteger("count"); + + if(!world.isRemote) { + ConveyorType type = getType(stack); + + // pretend to construct, if it doesn't fail, actually construct + int constructCount = construct(world, null, type, player, sx, sy, sz, sSide, x, y, z, side, 0, 0, 0, count); + if(constructCount > 0) { + int toRemove = construct(world, world, type, player, sx, sy, sz, sSide, x, y, z, side, 0, 0, 0, count); + + if(!player.capabilities.isCreativeMode) { + for(ItemStack inventoryStack : player.inventory.mainInventory) { + if(inventoryStack != null && inventoryStack.getItem() == this && inventoryStack.getItemDamage() == stack.getItemDamage()) { + int removing = Math.min(toRemove, inventoryStack.stackSize); + inventoryStack.stackSize -= removing; + toRemove -= removing; + } + + if(toRemove <= 0) break; + } + + player.inventoryContainer.detectAndSendChanges(); + } + + player.addChatMessage(new ChatComponentText("Conveyor built!")); + } else if(constructCount == 0) { + player.addChatMessage(new ChatComponentText("Not enough conveyors, build cancelled")); + } else { + player.addChatMessage(new ChatComponentText("Conveyor obstructed, build cancelled")); + } + } else { + RenderOverhead.clearActionPreview(); + lastMop = null; + } + + stack.stackTagCompound = null; + } + + return true; // always eat interactions + } + + private static MovingObjectPosition lastMop; + private static int lastSide; + private static float lastYaw; + + @Override + public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean inHand) { + if(!(entity instanceof EntityPlayer)) return; + EntityPlayer player = (EntityPlayer) entity; + + if(!inHand && stack.hasTagCompound()) { + ItemStack held = player.getHeldItem(); + if(held == null || held.getItem() != this || held.getItemDamage() != stack.getItemDamage()) { + stack.stackTagCompound = null; + if(world.isRemote) { + RenderOverhead.clearActionPreview(); + lastMop = null; + } + } + } + + // clientside prediction only + if(world.isRemote && inHand) { + if(!stack.hasTagCompound()) { + RenderOverhead.clearActionPreview(); + lastMop = null; + return; + } + + MovingObjectPosition mop = Minecraft.getMinecraft().objectMouseOver; + if(mop == null || mop.typeOfHit != MovingObjectType.BLOCK) { + RenderOverhead.clearActionPreview(); + lastMop = null; + return; + } + + int x = mop.blockX; + int y = mop.blockY; + int z = mop.blockZ; + int side = mop.sideHit; + + Block onBlock = world.getBlock(x, y, z); + if(onBlock instanceof BlockConveyorBendable) { + BlockConveyorBase bendable = (BlockConveyorBase) onBlock; + ForgeDirection moveDir = bendable.getInputDirection(world, x, y, z); + + int ox = x + moveDir.offsetX; + int oy = y + moveDir.offsetY; + int oz = z + moveDir.offsetZ; + + if(world.getBlock(ox, oy, oz).isReplaceable(world, ox, oy, oz)) { + side = moveDir.ordinal(); + } + } + + if(lastMop != null && mop.blockX == lastMop.blockX && mop.blockY == lastMop.blockY && mop.blockZ == lastMop.blockZ && side == lastSide && Math.abs(lastYaw - player.rotationYaw) < 15) return; + lastMop = mop; + lastYaw = player.rotationYaw; + lastSide = side; + + NBTTagCompound nbt = stack.stackTagCompound; + + int sx = nbt.getInteger("x"); + int sy = nbt.getInteger("y"); + int sz = nbt.getInteger("z"); + int sSide = nbt.getInteger("side"); + int count = nbt.getInteger("count"); + + // Size has a one block buffer on both sides, for overshooting conveyors + int sizeX = Math.abs(sx - x) + 3; + int sizeY = Math.abs(sy - y) + 3; + int sizeZ = Math.abs(sz - z) + 3; + + int minX = Math.min(sx, x) - 1; + int minY = Math.min(sy, y) - 1; + int minZ = Math.min(sz, z) - 1; + + WorldInAJar wiaj = new WorldInAJar(sizeX, sizeY, sizeZ); + boolean pathSuccess = construct(world, wiaj, getType(stack), player, sx, sy, sz, sSide, x, y, z, side, minX, minY, minZ, count) > 0; + + RenderOverhead.setActionPreview(wiaj, minX, minY, minZ, pathSuccess); + } + } + + // In creative, auto delete connected conveyors + @Override + public boolean onBlockStartBreak(ItemStack stack, int x, int y, int z, EntityPlayer playerEntity) { + if(!playerEntity.isSneaking()) return false; + + World world = playerEntity.worldObj; + Block block = world.getBlock(x, y, z); + + if(!playerEntity.capabilities.isCreativeMode) return false; + if(!(playerEntity instanceof EntityPlayerMP)) return false; + + EntityPlayerMP player = (EntityPlayerMP) playerEntity; + + if(!world.isRemote && block instanceof BlockConveyorBase) { + BlockConveyorBase conveyor = (BlockConveyorBase) block; + ForgeDirection input = conveyor.getInputDirection(world, x, y, z); + ForgeDirection output = conveyor.getOutputDirection(world, x, y, z); + breakExtra(world, player, x + input.offsetX, y + input.offsetY, z + input.offsetZ, 32); + breakExtra(world, player, x + output.offsetX, y + output.offsetY, z + output.offsetZ, 32); + } + + return false; + } + + private void breakExtra(World world, EntityPlayerMP player, int x, int y, int z, int depth) { + depth--; + if(depth <= 0) return; + + Block block = world.getBlock(x, y, z); + int meta = world.getBlockMetadata(x, y, z); + if(!(block instanceof BlockConveyorBase)) return; + + BlockConveyorBase conveyor = (BlockConveyorBase) block; + ForgeDirection input = conveyor.getInputDirection(world, x, y, z); + ForgeDirection output = conveyor.getOutputDirection(world, x, y, z); + + BlockEvent.BreakEvent event = ForgeHooks.onBlockBreakEvent(world, player.theItemInWorldManager.getGameType(), player, x, y, z); + if(event.isCanceled()) + return; + + block.onBlockHarvested(world, x, y, z, meta, player); + if(block.removedByPlayer(world, player, x, y, z, false)) { + block.onBlockDestroyedByPlayer(world, x, y, z, meta); + } + + player.playerNetServerHandler.sendPacket(new S23PacketBlockChange(x, y, z, world)); + breakExtra(world, player, x + input.offsetX, y + input.offsetY, z + input.offsetZ, depth); + breakExtra(world, player, x + output.offsetX, y + output.offsetY, z + output.offsetZ, depth); + } + + // attempts to construct a conveyor between two points, including bends, lifts, and chutes + private static int construct(World routeWorld, IBlockAccess buildWorld, ConveyorType type, EntityPlayer player, int x1, int y1, int z1, int side1, int x2, int y2, int z2, int side2, int box, int boy, int boz, int max) { + ForgeDirection dir = ForgeDirection.getOrientation(side1); + ForgeDirection targetDir = ForgeDirection.getOrientation(side2); + + // if placing within a single block, we have to handle rotation specially, treating it like a manual placement with player facing + if(x1 == x2 && y1 == y2 && z1 == z2 && side1 == side2 && (dir == ForgeDirection.UP || dir == ForgeDirection.DOWN)) { + int meta = getFacingMeta(player); + + y1 += dir.offsetY; + + if(!routeWorld.getBlock(x1, y1, z1).isReplaceable(routeWorld, x1, y1, z1)) return -1; + + Block block = getConveyorBlock(type); + if(buildWorld instanceof World) { + ((World) buildWorld).setBlock(x1 - box, y1 - boy, z1 - boz, block, meta, 3); + } else if(buildWorld instanceof WorldInAJar) { + ((WorldInAJar) buildWorld).setBlock(x1 - box, y1 - boy, z1 - boz, block, meta); + } + + return 1; + } + + boolean hasVertical = hasSnakesAndLadders(type); + + int tx = x2 + targetDir.offsetX; + int ty = y2 + targetDir.offsetY; + int tz = z2 + targetDir.offsetZ; + + int x = x1 + dir.offsetX; + int y = y1 + dir.offsetY; + int z = z1 + dir.offsetZ; + + if(dir == ForgeDirection.UP || dir == ForgeDirection.DOWN) { + dir = getTargetDirection(x, y, z, x2, y2, z2, hasVertical); + } + + Block targetBlock = routeWorld.getBlock(x2, y2, z2); + boolean isTargetHorizontal = targetDir != ForgeDirection.UP && targetDir != ForgeDirection.DOWN; + boolean shouldTurnToTarget = isTargetHorizontal || targetBlock instanceof BlockCraneBase || targetBlock == ModBlocks.conveyor_lift || targetBlock == ModBlocks.conveyor_chute; + + ForgeDirection horDir = dir == ForgeDirection.UP || dir == ForgeDirection.DOWN ? ForgeDirection.getOrientation(getFacingMeta(player)).getOpposite() : dir; + + // Initial dropdown to floor level, if possible + if(hasVertical && y > ty) { + if(routeWorld.getBlock(x, y - 1, z).isReplaceable(routeWorld, x, y - 1, z)) { + dir = ForgeDirection.DOWN; + } + } + + for(int loopDepth = 1; loopDepth <= max; loopDepth++) { + if(!routeWorld.getBlock(x, y, z).isReplaceable(routeWorld, x, y, z)) return -1; + + Block block = getConveyorForDirection(type, dir); + int meta = getConveyorMetaForDirection(block, dir, targetDir, horDir); + + int ox = x + dir.offsetX; + int oy = y + dir.offsetY; + int oz = z + dir.offsetZ; + + // check if we should turn before continuing + int fromDistance = taxiDistance(x, y, z, tx, ty, tz); + int toDistance = taxiDistance(ox, oy, oz, tx, ty, tz); + int finalDistance = taxiDistance(ox, oy, oz, x2, y2, z2); + boolean notAtTarget = (shouldTurnToTarget ? finalDistance : fromDistance) > 0; + boolean willBeObstructed = notAtTarget && !routeWorld.getBlock(ox, oy, oz).isReplaceable(routeWorld, ox, oy, oz); + boolean shouldTurn = (toDistance >= fromDistance && notAtTarget) || willBeObstructed; + + if(shouldTurn) { + ForgeDirection newDir = getTargetDirection(x, y, z, shouldTurnToTarget ? x2 : tx, shouldTurnToTarget ? y2 : ty, shouldTurnToTarget ? z2 : tz, tx, ty, tz, dir, willBeObstructed, hasVertical); + + if(newDir == ForgeDirection.UP) { + block = ModBlocks.conveyor_lift; + } else if(newDir == ForgeDirection.DOWN) { + block = ModBlocks.conveyor_chute; + } else if(dir.getRotation(ForgeDirection.UP) == newDir) { + meta += 8; + } else if(dir.getRotation(ForgeDirection.DOWN) == newDir) { + meta += 4; + } + + dir = newDir; + if(dir != ForgeDirection.UP && dir != ForgeDirection.DOWN) horDir = dir; + } + + if(buildWorld instanceof World) { + ((World) buildWorld).setBlock(x - box, y - boy, z - boz, block, meta, 3); + } else if(buildWorld instanceof WorldInAJar) { + ((WorldInAJar) buildWorld).setBlock(x - box, y - boy, z - boz, block, meta); + } + + if(x == tx && y == ty && z == tz) return loopDepth; + + x += dir.offsetX; + y += dir.offsetY; + z += dir.offsetZ; + } + + return 0; + } + + private static int getFacingMeta(EntityPlayer player) { + int meta = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + switch(meta) { + case 0: return 2; + case 1: return 5; + case 2: return 3; + case 3: return 4; + } + return 2; + } + + private static int getConveyorMetaForDirection(Block block, ForgeDirection dir, ForgeDirection targetDir, ForgeDirection horDir) { + if(block != ModBlocks.conveyor_chute && block != ModBlocks.conveyor_lift) return dir.getOpposite().ordinal(); + if(targetDir == ForgeDirection.UP || targetDir == ForgeDirection.DOWN) return horDir.getOpposite().ordinal(); + return targetDir.ordinal(); + } + + private static Block getConveyorForDirection(ConveyorType type, ForgeDirection dir) { + if(dir == ForgeDirection.UP) return ModBlocks.conveyor_lift; + if(dir == ForgeDirection.DOWN) return ModBlocks.conveyor_chute; + return getConveyorBlock(type); + } + + private static ForgeDirection getTargetDirection(int x1, int y1, int z1, int x2, int y2, int z2, boolean hasVertical) { + return getTargetDirection(x1, y1, z1, x2, y2, z2, x2, y2, z2, null, false, hasVertical); + } + + private static ForgeDirection getTargetDirection(int x1, int y1, int z1, int x2, int y2, int z2, int tx, int ty, int tz, ForgeDirection heading, boolean willBeObstructed, boolean hasVertical) { + if(hasVertical && (y1 != y2 || y1 != ty) && (willBeObstructed || (x1 == x2 && z1 == z2) || (x1 == tx && z1 == tz))) return y1 > y2 ? ForgeDirection.DOWN : ForgeDirection.UP; + + if(Math.abs(x1 - x2) > Math.abs(z1 - z2)) { + if(heading == ForgeDirection.EAST || heading == ForgeDirection.WEST) return z1 > z2 ? ForgeDirection.NORTH : ForgeDirection.SOUTH; + return x1 > x2 ? ForgeDirection.WEST : ForgeDirection.EAST; + } else { + if(heading == ForgeDirection.NORTH || heading == ForgeDirection.SOUTH) return x1 > x2 ? ForgeDirection.WEST : ForgeDirection.EAST; + return z1 > z2 ? ForgeDirection.NORTH : ForgeDirection.SOUTH; + } + } + + private static int taxiDistance(int x1, int y1, int z1, int x2, int y2, int z2) { + return Math.abs(x1 - x2) + Math.abs(y1 - y2) + Math.abs(z1 - z2); + } + + @Override + @SideOnly(Side.CLIENT) + public void printHook(Pre event, World world, int x, int y, int z) { + EntityPlayer player = MainRegistry.proxy.me(); + if(player == null || !player.isSneaking() || !player.capabilities.isCreativeMode) return; + + Block block = world.getBlock(x, y, z); + if(block instanceof BlockConveyorBase) { + List text = new ArrayList<>(); + text.add("Break whole conveyor line"); + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(block.getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } + } + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/items/tool/ItemCrateCaller.java b/src/main/java/com/hbm/items/tool/ItemCrateCaller.java deleted file mode 100644 index 5ec1ff32d..000000000 --- a/src/main/java/com/hbm/items/tool/ItemCrateCaller.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.hbm.items.tool; - -import java.util.List; -import java.util.Random; - -import com.hbm.blocks.ModBlocks; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ChatComponentText; -import net.minecraft.world.World; - -public class ItemCrateCaller extends Item { - - Random rand = new Random(); - - public ItemCrateCaller() { - this.canRepair = false; - this.setMaxDamage(4); - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) - { - list.add("Right click to request supply drop!"); - } - - @Override - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - - stack.damageItem(1, player); - - int x = rand.nextInt(31) - 15; - int z = rand.nextInt(31) - 15; - - Block crate = ModBlocks.crate; - - int i = rand.nextInt(1000); - - if(i < 350) - crate = ModBlocks.crate_weapon; - if(i < 100) - crate = ModBlocks.crate_metal; - if(i < 50) - crate = ModBlocks.crate_lead; - if(i == 0) - crate = ModBlocks.crate_red; - - if(!world.isRemote) - { - if(world.getBlock((int)player.posX + x, 255, (int)player.posZ + z) == Blocks.air) - world.setBlock((int)player.posX + x, 255, (int)player.posZ + z, crate); - } - if(world.isRemote) - { - player.addChatMessage(new ChatComponentText("Called in supply drop!")); - } - - world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); - - player.swingItem(); - - return stack; - - } - -} diff --git a/src/main/java/com/hbm/items/tool/ItemDesingatorManual.java b/src/main/java/com/hbm/items/tool/ItemDesingatorManual.java index bfffd9b3b..3cb8b732d 100644 --- a/src/main/java/com/hbm/items/tool/ItemDesingatorManual.java +++ b/src/main/java/com/hbm/items/tool/ItemDesingatorManual.java @@ -9,7 +9,6 @@ import com.hbm.tileentity.IGUIProvider; import api.hbm.item.IDesignatorItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.Item; @@ -56,7 +55,7 @@ public class ItemDesingatorManual extends Item implements IDesignatorItem, IGUIP @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIScreenDesignator(player); } } diff --git a/src/main/java/com/hbm/items/tool/ItemDiscord.java b/src/main/java/com/hbm/items/tool/ItemDiscord.java index 75f8893de..b17818c25 100644 --- a/src/main/java/com/hbm/items/tool/ItemDiscord.java +++ b/src/main/java/com/hbm/items/tool/ItemDiscord.java @@ -20,7 +20,7 @@ public class ItemDiscord extends Item { MovingObjectPosition pos = Library.rayTrace(player, 100, 1); - if(pos.typeOfHit == MovingObjectType.BLOCK) { + if(pos != null && pos.typeOfHit == MovingObjectType.BLOCK) { if(!world.isRemote) { diff --git a/src/main/java/com/hbm/items/tool/ItemDrone.java b/src/main/java/com/hbm/items/tool/ItemDrone.java index f63f44fd6..c4d0e8214 100644 --- a/src/main/java/com/hbm/items/tool/ItemDrone.java +++ b/src/main/java/com/hbm/items/tool/ItemDrone.java @@ -7,7 +7,7 @@ import org.lwjgl.input.Keyboard; import com.hbm.entity.item.EntityDeliveryDrone; import com.hbm.items.ItemEnumMulti; import com.hbm.main.MainRegistry; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/com/hbm/items/tool/ItemGuideBook.java b/src/main/java/com/hbm/items/tool/ItemGuideBook.java index f9579af33..87f40c907 100644 --- a/src/main/java/com/hbm/items/tool/ItemGuideBook.java +++ b/src/main/java/com/hbm/items/tool/ItemGuideBook.java @@ -7,11 +7,10 @@ import com.hbm.inventory.gui.GUIScreenGuide; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.tileentity.IGUIProvider; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; @@ -40,7 +39,7 @@ public class ItemGuideBook extends Item implements IGUIProvider { public void getSubItems(Item item, CreativeTabs tab, List list) { for(int i = 1; i < BookType.values().length; i++) - list.add(new ItemStack(item, 1, i)); + if(i != 2) list.add(new ItemStack(item, 1, i)); } @Override @@ -324,7 +323,7 @@ public class ItemGuideBook extends Item implements IGUIProvider { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIScreenGuide(player); } } diff --git a/src/main/java/com/hbm/items/tool/ItemLaserDetonator.java b/src/main/java/com/hbm/items/tool/ItemLaserDetonator.java index 4fee946c8..4e0d022bc 100644 --- a/src/main/java/com/hbm/items/tool/ItemLaserDetonator.java +++ b/src/main/java/com/hbm/items/tool/ItemLaserDetonator.java @@ -8,11 +8,11 @@ import com.hbm.config.GeneralConfig; import com.hbm.interfaces.IBomb; import com.hbm.interfaces.IBomb.BombReturnCode; import com.hbm.interfaces.IHoldableWeapon; +import com.hbm.items.weapon.sedna.Crosshair; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.PlayerInformPacket; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; +import com.hbm.packet.toclient.PlayerInformPacket; import com.hbm.util.ChatBuilder; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/com/hbm/items/tool/ItemLeadBox.java b/src/main/java/com/hbm/items/tool/ItemLeadBox.java index 0e4384955..51e810c71 100644 --- a/src/main/java/com/hbm/items/tool/ItemLeadBox.java +++ b/src/main/java/com/hbm/items/tool/ItemLeadBox.java @@ -2,16 +2,15 @@ package com.hbm.items.tool; import com.hbm.inventory.container.ContainerLeadBox; import com.hbm.inventory.gui.GUILeadBox; +import com.hbm.items.ItemInventory; import com.hbm.main.MainRegistry; import com.hbm.tileentity.IGUIProvider; import com.hbm.util.ItemStackUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; -import net.minecraft.inventory.IInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -22,7 +21,7 @@ public class ItemLeadBox extends Item implements IGUIProvider { public ItemLeadBox() { this.setMaxStackSize(1); } - + @Override public int getMaxItemUseDuration(ItemStack stack) { return 1; @@ -30,7 +29,6 @@ public class ItemLeadBox extends Item implements IGUIProvider { @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - if(!world.isRemote) player.openGui(MainRegistry.instance, 0, world, 0, 0, 0); return stack; } @@ -42,30 +40,24 @@ public class ItemLeadBox extends Item implements IGUIProvider { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUILeadBox(player.inventory, new InventoryLeadBox(player, player.getHeldItem())); } - - public static class InventoryLeadBox implements IInventory { - - public final EntityPlayer player; - public final ItemStack box; - public ItemStack[] slots; - + + public static class InventoryLeadBox extends ItemInventory { + public InventoryLeadBox(EntityPlayer player, ItemStack box) { this.player = player; - this.box = box; + this.target = box; slots = new ItemStack[this.getSizeInventory()]; - + if(!box.hasTagCompound()) box.setTagCompound(new NBTTagCompound()); - + ItemStack[] fromNBT = ItemStackUtil.readStacksFromNBT(box, slots.length); - + if(fromNBT != null) { - for(int i = 0; i < slots.length; i++) { - slots[i] = fromNBT[i]; - } + System.arraycopy(fromNBT, 0, slots, 0, slots.length); } } @@ -74,43 +66,6 @@ public class ItemLeadBox extends Item implements IGUIProvider { return 20; } - @Override - public ItemStack getStackInSlot(int slot) { - return slots[slot]; - } - - @Override - public ItemStack decrStackSize(int slot, int amount) { - ItemStack stack = getStackInSlot(slot); - if (stack != null) { - if (stack.stackSize > amount) { - stack = stack.splitStack(amount); - markDirty(); - } else { - setInventorySlotContents(slot, null); - } - } - return stack; - } - - @Override - public ItemStack getStackInSlotOnClosing(int slot) { - ItemStack stack = getStackInSlot(slot); - setInventorySlotContents(slot, null); - return stack; - } - - @Override - public void setInventorySlotContents(int slot, ItemStack stack) { - - if(stack != null) { - stack.stackSize = Math.min(stack.stackSize, this.getInventoryStackLimit()); - } - - slots[slot] = stack; - markDirty(); - } - @Override public String getInventoryName() { return "container.leadBox"; @@ -118,44 +73,12 @@ public class ItemLeadBox extends Item implements IGUIProvider { @Override public boolean hasCustomInventoryName() { - return box.hasDisplayName(); + return target.hasDisplayName(); } @Override public int getInventoryStackLimit() { return 1; } - - @Override - public void markDirty() { - - for(int i = 0; i < getSizeInventory(); ++i) { - if(getStackInSlot(i) != null && getStackInSlot(i).stackSize == 0) { - slots[i] = null; - } - } - - ItemStackUtil.addStacksToNBT(box, slots); - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - return true; - } - - @Override - public void openInventory() { - player.worldObj.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:block.crateOpen", 1.0F, 0.8F); - } - - @Override - public void closeInventory() { - player.worldObj.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:block.crateClose", 1.0F, 0.8F); - } - - @Override - public boolean isItemValidForSlot(int slot, ItemStack stack) { - return true; - } } } diff --git a/src/main/java/com/hbm/items/tool/ItemMirrorTool.java b/src/main/java/com/hbm/items/tool/ItemMirrorTool.java index 61db24d6e..5387a1a82 100644 --- a/src/main/java/com/hbm/items/tool/ItemMirrorTool.java +++ b/src/main/java/com/hbm/items/tool/ItemMirrorTool.java @@ -6,7 +6,7 @@ import com.google.common.collect.Multimap; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; import com.hbm.tileentity.machine.TileEntitySolarMirror; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.Block; import net.minecraft.entity.SharedMonsterAttributes; diff --git a/src/main/java/com/hbm/items/tool/ItemOilDetector.java b/src/main/java/com/hbm/items/tool/ItemOilDetector.java index 45d41af10..bf89565d2 100644 --- a/src/main/java/com/hbm/items/tool/ItemOilDetector.java +++ b/src/main/java/com/hbm/items/tool/ItemOilDetector.java @@ -5,10 +5,10 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.main.MainRegistry; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.PlayerInformPacket; +import com.hbm.packet.toclient.PlayerInformPacket; import com.hbm.util.ChatBuilder; +import com.hbm.util.i18n.I18nUtil; -import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.Item; @@ -19,10 +19,9 @@ import net.minecraft.world.World; public class ItemOilDetector extends Item { @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) - { - list.add(I18n.format(this.getUnlocalizedName() + ".desc1")); - list.add(I18n.format(this.getUnlocalizedName() + ".desc2")); + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { + list.add(I18nUtil.format(this.getUnlocalizedName() + ".desc1")); + list.add(I18nUtil.format(this.getUnlocalizedName() + ".desc2")); } @Override diff --git a/src/main/java/com/hbm/items/tool/ItemOreDensityScanner.java b/src/main/java/com/hbm/items/tool/ItemOreDensityScanner.java index 12483fac7..5fd3ac58f 100644 --- a/src/main/java/com/hbm/items/tool/ItemOreDensityScanner.java +++ b/src/main/java/com/hbm/items/tool/ItemOreDensityScanner.java @@ -3,7 +3,7 @@ package com.hbm.items.tool; import com.hbm.items.special.ItemBedrockOreBase; import com.hbm.items.special.ItemBedrockOreNew.BedrockOreType; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.PlayerInformPacket; +import com.hbm.packet.toclient.PlayerInformPacket; import com.hbm.util.ChatBuilder; import net.minecraft.entity.Entity; diff --git a/src/main/java/com/hbm/items/tool/ItemPipette.java b/src/main/java/com/hbm/items/tool/ItemPipette.java index 2ac303116..6486efec1 100644 --- a/src/main/java/com/hbm/items/tool/ItemPipette.java +++ b/src/main/java/com/hbm/items/tool/ItemPipette.java @@ -1,12 +1,11 @@ package com.hbm.items.tool; -import api.hbm.fluid.IFillableItem; - import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; +import api.hbm.fluidmk2.IFillableItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/hbm/items/tool/ItemPlasticBag.java b/src/main/java/com/hbm/items/tool/ItemPlasticBag.java index 1d575e314..6393832a5 100644 --- a/src/main/java/com/hbm/items/tool/ItemPlasticBag.java +++ b/src/main/java/com/hbm/items/tool/ItemPlasticBag.java @@ -8,7 +8,6 @@ import com.hbm.util.ItemStackUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; @@ -42,7 +41,7 @@ public class ItemPlasticBag extends Item implements IGUIProvider { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIPlasticBag(player.inventory, new InventoryPlasticBag(player, player.getHeldItem())); } diff --git a/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java b/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java index 1776249cf..c83ca9459 100644 --- a/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java +++ b/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java @@ -4,7 +4,7 @@ import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionData; import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.PlayerInformPacket; +import com.hbm.packet.toclient.PlayerInformPacket; import com.hbm.util.ChatBuilder; import net.minecraft.entity.Entity; diff --git a/src/main/java/com/hbm/items/tool/ItemPowerNetTool.java b/src/main/java/com/hbm/items/tool/ItemPowerNetTool.java index a5907f3f5..283504f71 100644 --- a/src/main/java/com/hbm/items/tool/ItemPowerNetTool.java +++ b/src/main/java/com/hbm/items/tool/ItemPowerNetTool.java @@ -3,8 +3,8 @@ package com.hbm.items.tool; import java.util.List; import com.hbm.blocks.BlockDummyable; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.util.ChatBuilder; import com.hbm.util.fauxpointtwelve.BlockPos; @@ -26,29 +26,29 @@ public class ItemPowerNetTool extends Item { @Override public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float fX, float fY, float fZ) { - + Block b = world.getBlock(x, y, z); - + if(b instanceof BlockDummyable) { int[] pos = ((BlockDummyable) b).findCore(world, x, y, z); - + if(pos != null) { x = pos[0]; y = pos[1]; z = pos[2]; } } - + TileEntity te = world.getTileEntity(x, y, z); - + if(world.isRemote) return true; - + if((te instanceof IEnergyConductorMK2)) { PowerNode node = Nodespace.getNode(world, x, y, z); - + if(node != null && node.hasValidNet()) { - + PowerNetMK2 net = node.net; String id = Integer.toHexString(net.hashCode()); player.addChatComponentMessage(ChatBuilder.start("Start of diagnostic for network " + id).color(EnumChatFormatting.GOLD).flush()); @@ -56,29 +56,29 @@ public class ItemPowerNetTool extends Item { player.addChatComponentMessage(ChatBuilder.start("Providers: " + net.providerEntries.size()).color(EnumChatFormatting.YELLOW).flush()); player.addChatComponentMessage(ChatBuilder.start("Receivers: " + net.receiverEntries.size()).color(EnumChatFormatting.YELLOW).flush()); player.addChatComponentMessage(ChatBuilder.start("End of diagnostic for network " + id).color(EnumChatFormatting.GOLD).flush()); - + for(PowerNode link : net.links) { - + for(BlockPos pos : link.positions) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "debug"); data.setInteger("color", 0xffff00); data.setFloat("scale", 0.5F); data.setString("text", id); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, pos.getX() + 0.5, pos.getY() + 1.5, pos.getZ() + 0.5), new TargetPoint(world.provider.dimensionId, pos.getX(), pos.getY(), pos.getZ(), radius)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, pos.getX() + 0.5, pos.getY() + 1.5, pos.getZ() + 0.5), new TargetPoint(world.provider.dimensionId, pos.getX(), pos.getY(), pos.getZ(), radius)); } } - + } else { player.addChatComponentMessage(ChatBuilder.start("Error: No network found!").color(EnumChatFormatting.RED).flush()); } - + return true; } - + return false; } - + private static final int radius = 20; @Override diff --git a/src/main/java/com/hbm/items/tool/ItemRBMKTool.java b/src/main/java/com/hbm/items/tool/ItemRBMKTool.java index 34f5ef405..def28215e 100644 --- a/src/main/java/com/hbm/items/tool/ItemRBMKTool.java +++ b/src/main/java/com/hbm/items/tool/ItemRBMKTool.java @@ -8,7 +8,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.rbmk.RBMKBase; import com.hbm.tileentity.machine.rbmk.TileEntityCraneConsole; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.Block; import net.minecraft.entity.SharedMonsterAttributes; diff --git a/src/main/java/com/hbm/items/tool/ItemRangefinder.java b/src/main/java/com/hbm/items/tool/ItemRangefinder.java new file mode 100644 index 000000000..9c1d5179f --- /dev/null +++ b/src/main/java/com/hbm/items/tool/ItemRangefinder.java @@ -0,0 +1,47 @@ +package com.hbm.items.tool; + +import com.hbm.main.MainRegistry; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.PlayerInformPacket; +import com.hbm.util.ChatBuilder; +import com.hbm.util.Vec3NT; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class ItemRangefinder extends Item { + + public static final int META_POLARIZED = 1; + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + if(world.isRemote) return stack; + + Vec3NT start = new Vec3NT(player.posX, player.posY + player.eyeHeight, player.posZ); + Vec3NT startOriginal = new Vec3NT(start); // why the fuck + Vec3NT end = new Vec3NT(start).add(new Vec3NT(player.getLookVec()).multiply(300)); + + MovingObjectPosition mop = world.func_147447_a(start, end, false, true, false); + + if(mop != null && mop.typeOfHit == mop.typeOfHit.BLOCK) { + double dist = startOriginal.distanceTo(mop.hitVec); + String msg = ((int)(dist * 10D)) / 10D + "m"; + if(stack.getItemDamage() == META_POLARIZED) msg = EnumChatFormatting.LIGHT_PURPLE + msg + EnumChatFormatting.RESET; + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start(msg).flush(), MainRegistry.proxy.ID_DETONATOR, 5000), (EntityPlayerMP) player); + } + + return stack; + } + + @Override + public String getItemStackDisplayName(ItemStack stack) { + String name = super.getItemStackDisplayName(stack); + if(stack.getItemDamage() == META_POLARIZED) name = EnumChatFormatting.LIGHT_PURPLE + name + EnumChatFormatting.RESET; + return name; + } +} diff --git a/src/main/java/com/hbm/items/tool/ItemRepairKit.java b/src/main/java/com/hbm/items/tool/ItemRepairKit.java new file mode 100644 index 000000000..11bb57989 --- /dev/null +++ b/src/main/java/com/hbm/items/tool/ItemRepairKit.java @@ -0,0 +1,54 @@ +package com.hbm.items.tool; + +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class ItemRepairKit extends Item { + + public ItemRepairKit(int dura) { + this.setMaxStackSize(1); + this.setMaxDamage(dura - 1); + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + if(world.isRemote) return stack; + + boolean didSomething = false; + + for(int i = 0; i < 9; i++) { + + ItemStack item = player.inventory.mainInventory[i]; + + if(item != null && item.getItem() instanceof ItemGunBaseNT) { + ItemGunBaseNT gun = (ItemGunBaseNT) item.getItem(); + int configs = gun.getConfigCount(); + + for(int j = 0; j < configs; j++) { + GunConfig cfg = gun.getConfig(item, j); + float maxDura = cfg.getDurability(item); + float wear = Math.min(gun.getWear(item, j), maxDura); + if(wear > 0) { + gun.setWear(item, j, Math.max(0F, gun.getWear(item, j) - maxDura * 0.25F)); + didSomething = true; + } + } + } + } + + if(didSomething) { + if(this == ModItems.gun_kit_1) world.playSoundAtEntity(player, "hbm:item.spray", 1.0F, 1.0F); + if(this == ModItems.gun_kit_2) world.playSoundAtEntity(player, "hbm:item.repair", 1.0F, 1.0F); + + stack.damageItem(1, player); + } + + return stack; + } +} diff --git a/src/main/java/com/hbm/items/tool/ItemSatInterface.java b/src/main/java/com/hbm/items/tool/ItemSatInterface.java index f67a8cc9e..480993e35 100644 --- a/src/main/java/com/hbm/items/tool/ItemSatInterface.java +++ b/src/main/java/com/hbm/items/tool/ItemSatInterface.java @@ -6,14 +6,13 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.ItemSatChip; import com.hbm.main.MainRegistry; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.SatPanelPacket; +import com.hbm.packet.toclient.SatPanelPacket; import com.hbm.saveddata.SatelliteSavedData; import com.hbm.saveddata.satellites.Satellite; import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; @@ -59,7 +58,7 @@ public class ItemSatInterface extends ItemSatChip implements IGUIProvider { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { if(this == ModItems.sat_interface) return new GUIScreenSatInterface(player); else if(this == ModItems.sat_coord) diff --git a/src/main/java/com/hbm/items/tool/ItemSatRelay.java b/src/main/java/com/hbm/items/tool/ItemSatRelay.java deleted file mode 100644 index ba040cbd0..000000000 --- a/src/main/java/com/hbm/items/tool/ItemSatRelay.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.hbm.items.tool; - -import com.hbm.items.machine.ItemSatChip; - -public class ItemSatRelay extends ItemSatChip { -//Schrabby doesn't fucking know how this works so I HOPE it will create a new item that works without fucking everything up - - -} diff --git a/src/main/java/com/hbm/items/tool/ItemSettingsTool.java b/src/main/java/com/hbm/items/tool/ItemSettingsTool.java new file mode 100644 index 000000000..33f74af82 --- /dev/null +++ b/src/main/java/com/hbm/items/tool/ItemSettingsTool.java @@ -0,0 +1,139 @@ +package com.hbm.items.tool; + +import com.hbm.extprop.HbmPlayerProps; +import com.hbm.handler.HbmKeybinds; +import com.hbm.interfaces.ICopiable; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.PlayerInformPacket; +import com.hbm.util.ChatBuilder; +import com.hbm.util.Either; +import com.hbm.util.i18n.I18nUtil; + +import net.minecraft.block.Block; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; + +import javax.annotation.Nullable; +import java.util.List; + +public class ItemSettingsTool extends Item { + + @Override + public void onUpdate(ItemStack stack, World world, Entity entity, int i, boolean bool) { + NBTTagList displayInfo; + if(!(entity instanceof EntityPlayerMP)) return; + + if(((EntityPlayer) entity).getHeldItem() == stack && stack.hasTagCompound()) { + EntityPlayer player = ((EntityPlayer) entity); + int delay = stack.stackTagCompound.getInteger("inputDelay"); + delay++; + displayInfo = stack.stackTagCompound.getTagList("displayInfo", 10); + + if (HbmPlayerProps.getData(player).getKeyPressed(HbmKeybinds.EnumKeybind.TOOL_ALT) && delay > 4) { + int index = stack.stackTagCompound.getInteger("copyIndex") + 1; + if(index > displayInfo.tagCount() - 1) index = 0; + stack.stackTagCompound.setInteger("copyIndex", index); + delay = 0; + } + + stack.stackTagCompound.setInteger("inputDelay", delay); + if(world.getTotalWorldTime() % 5 != 0) return; + + if(displayInfo.tagCount() > 0){ + for (int j = 0; j < displayInfo.tagCount(); j++) { + NBTTagCompound nbt = displayInfo.getCompoundTagAt(j); + EnumChatFormatting format = stack.stackTagCompound.getInteger("copyIndex") == j ? EnumChatFormatting.AQUA : EnumChatFormatting.YELLOW; + PacketDispatcher.wrapper.sendTo( + new PlayerInformPacket(ChatBuilder.startTranslation(nbt.getString("info")) + .color(format) + .flush() + , 897 + j, 4000 ), (EntityPlayerMP) entity); + } + } + } + + } + @SuppressWarnings("unchecked") + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + list.add("Can copy the settings (filters, fluid ID, etc) of machines"); + list.add("Shift right-click to copy, right click to paste"); + list.add("Ctrl click on pipes to paste settings to multiple pipes"); + if(stack.stackTagCompound != null) { + NBTTagCompound nbt = stack.stackTagCompound; + if (nbt.hasKey("tileName")){ + list.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey(nbt.getString("tileName") + ".name")); + } else { + list.add(EnumChatFormatting.RED + " None "); + } + + } + } + @Override + public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float fX, float fY, float fZ) { + Either schrodinger = getCopyInfoSource(world, x, y, z); + if(schrodinger == null) return false; + ICopiable copiable = schrodinger.cast(); + + if(player.isSneaking()) { + stack.stackTagCompound = copiable.getSettings(world, x, y, z); + if(stack.stackTagCompound != null) { + + stack.stackTagCompound.setString("tileName", copiable.getSettingsSourceID(schrodinger)); + stack.stackTagCompound.setInteger("copyIndex", 0); + stack.stackTagCompound.setInteger("inputDelay", 0); + String[] info = copiable.infoForDisplay(world, x, y, z); + if (info != null) { + NBTTagList displayInfo = new NBTTagList(); + for (String str : info) { + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setString("info", str); + displayInfo.appendTag(nbt); + } + stack.stackTagCompound.setTag("displayInfo", displayInfo); + } + + if (world.isRemote) { + player.addChatMessage(ChatBuilder.start("[").color(EnumChatFormatting.DARK_AQUA) + .nextTranslation(this.getUnlocalizedName() + ".name").color(EnumChatFormatting.DARK_AQUA) + .next("] ").color(EnumChatFormatting.DARK_AQUA) + .next("Copied settings of " + copiable.getSettingsSourceDisplay(schrodinger)).color(EnumChatFormatting.AQUA).flush()); + } + } else { + player.addChatMessage(ChatBuilder.start("[").color(EnumChatFormatting.DARK_AQUA) + .nextTranslation(this.getUnlocalizedName() + ".name").color(EnumChatFormatting.DARK_AQUA) + .next("] ").color(EnumChatFormatting.DARK_AQUA) + .next("Copy failed, machine has no settings tool support: " + copiable.getSettingsSourceDisplay(schrodinger)).color(EnumChatFormatting.RED).flush()); + } + + } else if(stack.hasTagCompound()) { + int index = stack.stackTagCompound.getInteger("copyIndex"); + copiable.pasteSettings(stack.stackTagCompound, index, world, player, x, y, z); + } + + return !world.isRemote; + } + + @Nullable + private Either getCopyInfoSource(World world, int x, int y, int z) { + TileEntity te = world.getTileEntity(x, y, z); + if(te instanceof ICopiable) { + return Either.left(te); + } + + Block block = world.getBlock(x, y, z); + if(block instanceof ICopiable) { + return Either.right(block); + } + + return null; + } +} diff --git a/src/main/java/com/hbm/items/tool/ItemSurveyScanner.java b/src/main/java/com/hbm/items/tool/ItemSurveyScanner.java index 0e3517671..e4906b2ea 100644 --- a/src/main/java/com/hbm/items/tool/ItemSurveyScanner.java +++ b/src/main/java/com/hbm/items/tool/ItemSurveyScanner.java @@ -37,16 +37,13 @@ public class ItemSurveyScanner extends Item { Block block = world.getBlock(x + a * 5, i, z + b * 5); - if(block == ModBlocks.ore_oil) - hasOil = true; - else if(block == ModBlocks.ore_coltan) - hasColtan = true; - else if(block == ModBlocks.stone_depth) - hasDepth = true; - else if(block == ModBlocks.stone_gneiss) - hasSchist = true; - else if(block == ModBlocks.ore_australium) - hasAussie = true; + //wow, this sucks! + if(block == ModBlocks.ore_oil) hasOil = true; + else if(block == ModBlocks.ore_coltan) hasColtan = true; + else if(block == ModBlocks.stone_depth) hasDepth = true; + else if(block == ModBlocks.stone_depth_nether) hasDepth = true; + else if(block == ModBlocks.stone_gneiss) hasSchist = true; + else if(block == ModBlocks.ore_australium) hasAussie = true; } Block block = world.getBlock(x + a * 2, 0, z + b * 2); @@ -57,18 +54,12 @@ public class ItemSurveyScanner extends Item { } } - if(hasOil) - player.addChatComponentMessage(new ChatComponentText("Found OIL!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.BLACK))); - if(hasColtan) - player.addChatComponentMessage(new ChatComponentText("Found COLTAN!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GOLD))); - if(hasDepth) - player.addChatComponentMessage(new ChatComponentText("Found DEPTH ROCK!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GRAY))); - if(hasSchist) - player.addChatComponentMessage(new ChatComponentText("Found SCHIST!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.DARK_AQUA))); - if(hasAussie) - player.addChatComponentMessage(new ChatComponentText("Found AUSTRALIUM!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW))); - if(tile != null && tile.resource != null) - player.addChatComponentMessage(new ChatComponentText("Found BEDROCK ORE for " + tile.resource.getDisplayName() + "!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED))); + if(hasOil) player.addChatComponentMessage(new ChatComponentText("Found OIL!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.BLACK))); + if(hasColtan) player.addChatComponentMessage(new ChatComponentText("Found COLTAN!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GOLD))); + if(hasDepth) player.addChatComponentMessage(new ChatComponentText("Found DEPTH ROCK!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GRAY))); + if(hasSchist) player.addChatComponentMessage(new ChatComponentText("Found SCHIST!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.DARK_AQUA))); + if(hasAussie) player.addChatComponentMessage(new ChatComponentText("Found AUSTRALIUM!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW))); + if(tile != null && tile.resource != null) player.addChatComponentMessage(new ChatComponentText("Found BEDROCK ORE for " + tile.resource.getDisplayName() + "!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED))); } player.swingItem(); diff --git a/src/main/java/com/hbm/items/tool/ItemSwordAbility.java b/src/main/java/com/hbm/items/tool/ItemSwordAbility.java index 5c8132c58..563a09730 100644 --- a/src/main/java/com/hbm/items/tool/ItemSwordAbility.java +++ b/src/main/java/com/hbm/items/tool/ItemSwordAbility.java @@ -1,11 +1,11 @@ package com.hbm.items.tool; -import java.util.ArrayList; import java.util.List; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; -import com.hbm.handler.WeaponAbility; +import com.hbm.handler.ability.AvailableAbilities; +import com.hbm.handler.ability.IWeaponAbility; import com.hbm.items.ModItems; import cpw.mods.fml.relauncher.Side; @@ -17,15 +17,14 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; -import net.minecraft.util.EnumChatFormatting; -public class ItemSwordAbility extends ItemSword implements IItemAbility { +public class ItemSwordAbility extends ItemSword { private EnumRarity rarity = EnumRarity.common; // was there a reason for this to be private? protected float damage; protected double movement; - private List hitAbility = new ArrayList(); + private AvailableAbilities abilities = new AvailableAbilities(); public ItemSwordAbility(float damage, double movement, ToolMaterial material) { super(material); @@ -33,8 +32,8 @@ public class ItemSwordAbility extends ItemSword implements IItemAbility { this.movement = movement; } - public ItemSwordAbility addHitAbility(WeaponAbility weaponAbility) { - this.hitAbility.add(weaponAbility); + public ItemSwordAbility addAbility(IWeaponAbility weaponAbility, int level) { + this.abilities.addAbility(weaponAbility, level); return this; } @@ -50,15 +49,15 @@ public class ItemSwordAbility extends ItemSword implements IItemAbility { public boolean hitEntity(ItemStack stack, EntityLivingBase victim, EntityLivingBase attacker) { - if(!attacker.worldObj.isRemote && !this.hitAbility.isEmpty() && attacker instanceof EntityPlayer && canOperate(stack)) { + if(!attacker.worldObj.isRemote && attacker instanceof EntityPlayer && canOperate(stack)) { // hacky hacky hack if(this == ModItems.mese_gavel) attacker.worldObj.playSoundAtEntity(victim, "hbm:weapon.whack", 3.0F, 1.F); - for(WeaponAbility ability : this.hitAbility) { - ability.onHit(attacker.worldObj, (EntityPlayer) attacker, victim, this); - } + this.abilities.getWeaponAbilities().forEach((ability, level) -> { + ability.onHit(level, attacker.worldObj, (EntityPlayer) attacker, victim, this); + }); } stack.damageItem(1, attacker); @@ -77,23 +76,10 @@ public class ItemSwordAbility extends ItemSword implements IItemAbility { @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - - if(!this.hitAbility.isEmpty()) { - - list.add("Weapon modifiers: "); - - for(WeaponAbility ability : this.hitAbility) { - list.add(" " + EnumChatFormatting.RED + ability.getFullName()); - } - } + abilities.addInformation(list); } protected boolean canOperate(ItemStack stack) { return true; } - - @Override - public boolean isShears(ItemStack stack) { - return false; - } } diff --git a/src/main/java/com/hbm/items/tool/ItemToolAbility.java b/src/main/java/com/hbm/items/tool/ItemToolAbility.java index 43b6c885e..589938c88 100644 --- a/src/main/java/com/hbm/items/tool/ItemToolAbility.java +++ b/src/main/java/com/hbm/items/tool/ItemToolAbility.java @@ -1,41 +1,63 @@ package com.hbm.items.tool; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.util.ArrayList; +import java.util.Comparator; import java.util.HashSet; import java.util.List; import java.util.Locale; +import java.util.Random; import java.util.Set; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; import com.google.common.collect.Sets; -import com.hbm.handler.ToolAbility; -import com.hbm.handler.ToolAbility.*; +import com.hbm.inventory.gui.GUIScreenToolAbility; +import com.hbm.items.IItemControlReceiver; +import com.hbm.items.IKeybindReceiver; +import com.hbm.handler.HbmKeybinds.EnumKeybind; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.ability.AvailableAbilities; +import com.hbm.handler.ability.IBaseAbility; +import com.hbm.handler.ability.IToolAreaAbility; +import com.hbm.handler.ability.IToolHarvestAbility; +import com.hbm.handler.ability.ToolPreset; import com.hbm.main.MainRegistry; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.PlayerInformPacket; -import com.hbm.util.ChatBuilder; -import com.hbm.handler.WeaponAbility; +import com.hbm.packet.toclient.PlayerInformPacket; +import com.hbm.tileentity.IGUIProvider; import api.hbm.item.IDepthRockTool; +import cpw.mods.fml.relauncher.ReflectionHelper; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; +import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Blocks; +import net.minecraft.inventory.Container; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemTool; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.network.play.server.S23PacketBlockChange; +import net.minecraft.stats.StatList; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; +import net.minecraftforge.common.ForgeHooks; +import net.minecraftforge.common.IShearable; +import net.minecraftforge.event.world.BlockEvent; -public class ItemToolAbility extends ItemTool implements IItemAbility, IDepthRockTool { +public class ItemToolAbility extends ItemTool implements IDepthRockTool, IGUIProvider, IItemControlReceiver, IKeybindReceiver { protected boolean isShears = false; protected EnumToolType toolType; @@ -43,9 +65,9 @@ public class ItemToolAbility extends ItemTool implements IItemAbility, IDepthRoc //was there a reason for this to be private? protected float damage; protected double movement; - protected List breakAbility = new ArrayList() {{ add(null); }}; - protected List hitAbility = new ArrayList(); - + protected AvailableAbilities availableAbilities = new AvailableAbilities().addToolAbilities(); + protected boolean rockBreaker = false; + public static enum EnumToolType { PICKAXE( @@ -97,13 +119,14 @@ public class ItemToolAbility extends ItemTool implements IItemAbility, IDepthRoc } } - public ItemToolAbility addBreakAbility(ToolAbility breakAbility) { - this.breakAbility.add(breakAbility); + public ItemToolAbility addAbility(IBaseAbility ability, int level) { + this.availableAbilities.addAbility(ability, level); + return this; } - public ItemToolAbility addHitAbility(WeaponAbility weaponAbility) { - this.hitAbility.add(weaponAbility); + public ItemToolAbility setDepthRockBreaker() { + this.rockBreaker = true; return this; } @@ -119,27 +142,60 @@ public class ItemToolAbility extends ItemTool implements IItemAbility, IDepthRoc public boolean hitEntity(ItemStack stack, EntityLivingBase victim, EntityLivingBase attacker) { - if(!attacker.worldObj.isRemote && !this.hitAbility.isEmpty() && attacker instanceof EntityPlayer && canOperate(stack)) { + if(!attacker.worldObj.isRemote && attacker instanceof EntityPlayer && canOperate(stack)) { - for(WeaponAbility ability : this.hitAbility) { - ability.onHit(attacker.worldObj, (EntityPlayer) attacker, victim, this); - } + this.availableAbilities.getWeaponAbilities().forEach((ability, level) -> { + ability.onHit(level, attacker.worldObj, (EntityPlayer) attacker, victim, this); + }); } - stack.damageItem(2, attacker); + stack.damageItem(1, attacker); return true; } + // Should be safe, considering the AoE ability does a similar trick already. + // If not, wrap this in a ThreadLocal or something... + public static int dropX, dropY, dropZ; + @Override public boolean onBlockStartBreak(ItemStack stack, int x, int y, int z, EntityPlayer player) { World world = player.worldObj; Block block = world.getBlock(x, y, z); - int meta = world.getBlockMetadata(x, y, z); + + /* + * The original implementation of this always returned FALSE which uses the vanilla block break code. + * This one now returns TRUE when an ability applies and instead relies on breakExtraBlock, which has the minor + * issue of only running on the sever, while the client uses the vanilla implementation. breakExtraBlock was only + * meant to be used for AoE or vein miner and not for the block that's being mined, hence break EXTRA block. + * The consequence was that the server would fail to break keyholes since breakExtraBlock is supposed to exclude + * them, while the client happily removes the block, causing a desync. + * + * Since keyholes aren't processable and exempt from silk touch anyway, we just default to the vanilla implementation in every case. + */ + if(block == ModBlocks.stone_keyhole || block == ModBlocks.stone_keyhole_meta) return false; - if(!world.isRemote && (canHarvestBlock(block, stack) || canShearBlock(block, stack, world, x, y, z)) && this.getCurrentAbility(stack) != null && canOperate(stack)) - return this.getCurrentAbility(stack).onDig(world, x, y, z, player, block, meta, this); + if(!world.isRemote && (canHarvestBlock(block, stack) || canShearBlock(block, stack, world, x, y, z)) && canOperate(stack)) { + Configuration config = getConfiguration(stack); + ToolPreset preset = config.getActivePreset(); + + dropX = x; + dropY = y; + dropZ = z; + + preset.harvestAbility.preHarvestAll(preset.harvestAbilityLevel, world, player); + + boolean skipRef = preset.areaAbility.onDig(preset.areaAbilityLevel, world, x, y, z, player, this); + + if(!skipRef) { + breakExtraBlock(world, x, y, z, player, x, y, z); + } + + preset.harvestAbility.postHarvestAll(preset.harvestAbilityLevel, world, player); + + return true; + } return false; } @@ -164,18 +220,35 @@ public class ItemToolAbility extends ItemTool implements IItemAbility, IDepthRoc return super.getDigSpeed(stack, block, meta); } + public boolean canOperate(ItemStack stack) { + return true; + } + @Override public boolean canHarvestBlock(Block block, ItemStack stack) { if(!canOperate(stack)) return false; - if(this.getCurrentAbility(stack) instanceof SilkAbility) + if(this.getConfiguration(stack).getActivePreset().harvestAbility == IToolHarvestAbility.SILK) return true; return getDigSpeed(stack, block, 0) > 1; } + @Override + public boolean canBreakRock(World world, EntityPlayer player, ItemStack tool, Block block, int x, int y, int z) { + return canOperate(tool) && this.rockBreaker; + } + + public boolean canShearBlock(Block block, ItemStack stack, World world, int x, int y, int z) { + return this.isShears(stack) && block instanceof IShearable && ((IShearable) block).isShearable(stack, world, x, y, z); + } + + public boolean isShears(ItemStack stack) { + return this.isShears; + } + @Override public Multimap getItemAttributeModifiers() { @@ -187,38 +260,13 @@ public class ItemToolAbility extends ItemTool implements IItemAbility, IDepthRoc @SideOnly(Side.CLIENT) public boolean hasEffect(ItemStack stack) { - return getCurrentAbility(stack) != null || stack.isItemEnchanted(); + return stack.isItemEnchanted() || !getConfiguration(stack).getActivePreset().isNone(); } @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - if(this.breakAbility.size() > 1) { - list.add("Abilities: "); - - for(ToolAbility ability : this.breakAbility) { - - if(ability != null) { - - if(getCurrentAbility(stack) == ability) - list.add(" >" + EnumChatFormatting.GOLD + ability.getFullName()); - else - list.add(" " + EnumChatFormatting.GOLD + ability.getFullName()); - } - } - - list.add("Right click to cycle through abilities!"); - list.add("Sneak-click to turn ability off!"); - } - - if(!this.hitAbility.isEmpty()) { - - list.add("Weapon modifiers: "); - - for(WeaponAbility ability : this.hitAbility) { - list.add(" " + EnumChatFormatting.RED + ability.getFullName()); - } - } + availableAbilities.addInformation(list); if(this.rockBreaker) { list.add(""); @@ -226,78 +274,299 @@ public class ItemToolAbility extends ItemTool implements IItemAbility, IDepthRoc } } - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - - if(world.isRemote || this.breakAbility.size() < 2 || !canOperate(stack)) - return super.onItemRightClick(stack, world, player); + public void breakExtraBlock(World world, int x, int y, int z, EntityPlayer playerEntity, int refX, int refY, int refZ) { - int i = getAbility(stack); - i++; + if(world.isAirBlock(x, y, z)) + return; - if(player.isSneaking()) - i = 0; + if(!(playerEntity instanceof EntityPlayerMP)) + return; - setAbility(stack, i % this.breakAbility.size()); + EntityPlayerMP player = (EntityPlayerMP) playerEntity; + ItemStack stack = player.getHeldItem(); - while(getCurrentAbility(stack) != null && !getCurrentAbility(stack).isAllowed()) { - - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("[Ability ").nextTranslation(getCurrentAbility(stack).getName()).next(getCurrentAbility(stack).getExtension() + " is blacklisted!]").colorAll(EnumChatFormatting.RED).flush(), MainRegistry.proxy.ID_TOOLABILITY), (EntityPlayerMP) player); - - - i++; - setAbility(stack, i % this.breakAbility.size()); + if(stack == null) { + return; } - if(getCurrentAbility(stack) != null) { - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("[Enabled ").nextTranslation(getCurrentAbility(stack).getName()).next(getCurrentAbility(stack).getExtension() + "]").colorAll(EnumChatFormatting.YELLOW).flush(), MainRegistry.proxy.ID_TOOLABILITY), (EntityPlayerMP) player); + Block block = world.getBlock(x, y, z); + int meta = world.getBlockMetadata(x, y, z); + + if(!(canHarvestBlock(block, stack) || + canShearBlock(block, stack, world, x, y, z)) || + (block.getBlockHardness(world, x, y, z) == -1.0F && block.getPlayerRelativeBlockHardness(player, world, x, y, z) == 0.0F) || + block == ModBlocks.stone_keyhole) return; + + Block refBlock = world.getBlock(refX, refY, refZ); + float refStrength = ForgeHooks.blockStrength(refBlock, player, world, refX, refY, refZ); + float strength = ForgeHooks.blockStrength(block, player, world, x, y, z); + + if( + !ForgeHooks.canHarvestBlock(block, player, meta) || + refStrength / strength > 10f || + refBlock.getPlayerRelativeBlockHardness(player, world, refX, refY, refZ) < 0 + ) + return; + + BlockEvent.BreakEvent event = ForgeHooks.onBlockBreakEvent(world, player.theItemInWorldManager.getGameType(), player, x, y, z); + if(event.isCanceled()) + return; + + Configuration config = getConfiguration(stack); + ToolPreset preset = config.getActivePreset(); + + preset.harvestAbility.onHarvestBlock(preset.harvestAbilityLevel, world, x, y, z, player, block, meta); + } + + /** Assumes a canShearBlock check has passed, will most likely crash otherwise! */ + public static void shearBlock(World world, int x, int y, int z, Block block, EntityPlayer player) { + + ItemStack held = player.getHeldItem(); + + IShearable target = (IShearable) block; + if(target.isShearable(held, player.worldObj, x, y, z)) { + ArrayList drops = target.onSheared(held, player.worldObj, x, y, z, EnchantmentHelper.getEnchantmentLevel(Enchantment.fortune.effectId, held)); + Random rand = new Random(); + + for(ItemStack stack : drops) { + float f = 0.7F; + double d = (double) (rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D; + double d1 = (double) (rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D; + double d2 = (double) (rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D; + EntityItem entityitem = new EntityItem(player.worldObj, (double) dropX + d, (double) dropY + d1, (double) dropZ + d2, stack); + entityitem.delayBeforeCanPickup = 10; + player.worldObj.spawnEntityInWorld(entityitem); + } + + held.damageItem(1, player); + player.addStat(StatList.mineBlockStatArray[Block.getIdFromBlock(block)], 1); + } + } + + // Since it's added by forge, access transformers don't affect it (even wildcards), so we do it the old-fashioned way + private static Method blockCaptureDrops = ReflectionHelper.findMethod(Block.class, null, new String[] { "captureDrops" }, new Class[] { boolean.class }); + + public static void standardDigPost(World world, int x, int y, int z, EntityPlayerMP player) { + + Block block = world.getBlock(x, y, z); + int l = world.getBlockMetadata(x, y, z); + world.playAuxSFXAtEntity(player, 2001, x, y, z, Block.getIdFromBlock(block) + (world.getBlockMetadata(x, y, z) << 12)); + boolean removedByPlayer = false; + + if(player.capabilities.isCreativeMode) { + removedByPlayer = removeBlock(world, x, y, z, false, player); + player.playerNetServerHandler.sendPacket(new S23PacketBlockChange(x, y, z, world)); } else { - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("[Tool ability deactivated]").color(EnumChatFormatting.GOLD).flush(), MainRegistry.proxy.ID_TOOLABILITY), (EntityPlayerMP) player); + ItemStack itemstack = player.getCurrentEquippedItem(); + boolean canHarvest = block.canHarvestBlock(player, l); + + removedByPlayer = removeBlock(world, x, y, z, canHarvest, player); + + if(itemstack != null) { + itemstack.func_150999_a(world, block, x, y, z, player); + + if(itemstack.stackSize == 0) { + player.destroyCurrentEquippedItem(); + } + } + + if(removedByPlayer && canHarvest) { + try { + blockCaptureDrops.invoke(block, true); + block.harvestBlock(world, player, x, y, z, l); + List drops = (List)blockCaptureDrops.invoke(block, false); + for (ItemStack stack : drops) { + block.dropBlockAsItem(world, dropX, dropY, dropZ, stack); + } + } catch (IllegalAccessException e) { + // Shouldn't be possible with ReflectionHelper + MainRegistry.logger.error("Failed to capture drops for block " + block, e); + } catch (InvocationTargetException e) { + // Might be possible? Not in practice, though + MainRegistry.logger.error("Failed to capture drops for block " + block, e); + } + } } - world.playSoundAtEntity(player, "random.orb", 0.25F, getCurrentAbility(stack) == null ? 0.75F : 1.25F); - - return stack; + // Why was this commented out? + // Drop experience + // if (!player.capabilities.isCreativeMode && flag && event != null) { + // block.dropXpOnBlockBreak(world, x, y, z, event.getExpToDrop()); + // } } - private ToolAbility getCurrentAbility(ItemStack stack) { - int ability = getAbility(stack) % this.breakAbility.size(); - return this.breakAbility.get(ability); + public static boolean removeBlock(World world, int x, int y, int z, boolean canHarvest, EntityPlayerMP player) { + Block block = world.getBlock(x, y, z); + int l = world.getBlockMetadata(x, y, z); + block.onBlockHarvested(world, x, y, z, l, player); + boolean flag = block.removedByPlayer(world, player, x, y, z, canHarvest); + + if(flag) { + block.onBlockDestroyedByPlayer(world, x, y, z, l); + } + + return flag; } - private int getAbility(ItemStack stack) { + public static class Configuration { + public List presets; + public int currentPreset; - if(stack.hasTagCompound()) - return stack.stackTagCompound.getInteger("ability"); + public Configuration() { + this.presets = null; + this.currentPreset = 0; + } - return 0; + public Configuration(List presets, int currentPreset) { + this.presets = presets; + this.currentPreset = currentPreset; + } + + public void writeToNBT(NBTTagCompound nbt) { + nbt.setInteger("ability", currentPreset); + + NBTTagList nbtPresets = new NBTTagList(); + + for(ToolPreset preset : presets) { + NBTTagCompound nbtPreset = new NBTTagCompound(); + preset.writeToNBT(nbtPreset); + nbtPresets.appendTag(nbtPreset); + } + + nbt.setTag("abilityPresets", nbtPresets); + } + + public void readFromNBT(NBTTagCompound nbt) { + currentPreset = nbt.getInteger("ability"); + + NBTTagList nbtPresets = nbt.getTagList("abilityPresets", 10); + int numPresets = Math.min(nbtPresets.tagCount(), 99); + + presets = new ArrayList(numPresets); + + for(int i = 0; i < numPresets; i++) { + NBTTagCompound nbtPreset = nbtPresets.getCompoundTagAt(i); + ToolPreset preset = new ToolPreset(); + preset.readFromNBT(nbtPreset); + presets.add(preset); + } + + currentPreset = Math.max(0, Math.min(currentPreset, presets.size() - 1)); + } + + public void reset(AvailableAbilities availableAbilities) { + currentPreset = 0; + + presets = new ArrayList(availableAbilities.size()); + presets.add(new ToolPreset()); + + availableAbilities.getToolAreaAbilities().forEach((ability, level) -> { + if (ability == IToolAreaAbility.NONE) + return; + presets.add(new ToolPreset(ability, level, IToolHarvestAbility.NONE, 0)); + }); + + availableAbilities.getToolHarvestAbilities().forEach((ability, level) -> { + if (ability == IToolHarvestAbility.NONE) + return; + presets.add(new ToolPreset(IToolAreaAbility.NONE, 0, ability, level)); + }); + + presets.sort( + Comparator + .comparing((ToolPreset p) -> p.harvestAbility) + .thenComparingInt(p -> p.harvestAbilityLevel) + .thenComparing(p -> p.areaAbility) + .thenComparingInt(p -> p.areaAbilityLevel) + ); + } + + public void restrictTo(AvailableAbilities availableAbilities) { + for (ToolPreset preset : presets) { + preset.restrictTo(availableAbilities); + } + } + + public ToolPreset getActivePreset() { + return presets.get(currentPreset); + } } - private void setAbility(ItemStack stack, int ability) { + public Configuration getConfiguration(ItemStack stack) { + Configuration config = new Configuration(); - if(!stack.hasTagCompound()) + if(stack == null || !stack.hasTagCompound() || !stack.stackTagCompound.hasKey("ability") || !stack.stackTagCompound.hasKey("abilityPresets")) { + config.reset(availableAbilities); + return config; + } + + config.readFromNBT(stack.stackTagCompound); + config.restrictTo(availableAbilities); + return config; + } + + public void setConfiguration(ItemStack stack, Configuration config) { + if (stack == null) { + return; + } + + if (!stack.hasTagCompound()) { stack.stackTagCompound = new NBTTagCompound(); + } - stack.stackTagCompound.setInteger("ability", ability); - } - - public boolean canOperate(ItemStack stack) { - return true; - } - - public ItemToolAbility setDepthRockBreaker() { - this.rockBreaker = true; - return this; - } - - private boolean rockBreaker = false; - - @Override - public boolean canBreakRock(World world, EntityPlayer player, ItemStack tool, Block block, int x, int y, int z) { - return canOperate(tool) && this.rockBreaker; + config.writeToNBT(stack.stackTagCompound); } @Override - public boolean isShears(ItemStack stack) { - return this.isShears; + public void receiveControl(ItemStack stack, NBTTagCompound data) { + Configuration config = new Configuration(); + config.readFromNBT(data); + config.restrictTo(availableAbilities); + setConfiguration(stack, config); + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return null; + } + + @Override + @SideOnly(Side.CLIENT) + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIScreenToolAbility(this.availableAbilities); + } + + @Override + public boolean canHandleKeybind(EntityPlayer player, ItemStack stack, EnumKeybind keybind) { + if(player.worldObj.isRemote) return keybind == EnumKeybind.ABILITY_ALT; + return keybind == EnumKeybind.ABILITY_CYCLE; + } + + @Override + public void handleKeybind(EntityPlayer player, ItemStack stack, EnumKeybind keybind, boolean state) { + + if(keybind == EnumKeybind.ABILITY_CYCLE && state) { + + World world = player.worldObj; + if(!canOperate(stack)) return; + + Configuration config = getConfiguration(stack); + if(config.presets.size() < 2 || world.isRemote) return; + + if(player.isSneaking()) { + config.currentPreset = 0; + } else { + config.currentPreset = (config.currentPreset + 1) % config.presets.size(); + } + + setConfiguration(stack, config); + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(config.getActivePreset().getMessage(), MainRegistry.proxy.ID_TOOLABILITY), (EntityPlayerMP) player); + world.playSoundAtEntity(player, "random.orb", 0.25F, config.getActivePreset().isNone() ? 0.75F : 1.25F); + } + } + + @Override + public void handleKeybindClient(EntityPlayer player, ItemStack stack, EnumKeybind keybind, boolean state) { + if(state) player.openGui(MainRegistry.instance, 0, player.worldObj, 0, 0, 0); } } diff --git a/src/main/java/com/hbm/items/tool/ItemToolAbilityFueled.java b/src/main/java/com/hbm/items/tool/ItemToolAbilityFueled.java index 55ee9cf55..96ebe914b 100644 --- a/src/main/java/com/hbm/items/tool/ItemToolAbilityFueled.java +++ b/src/main/java/com/hbm/items/tool/ItemToolAbilityFueled.java @@ -5,7 +5,7 @@ import java.util.List; import com.hbm.inventory.fluid.FluidType; -import api.hbm.fluid.IFillableItem; +import api.hbm.fluidmk2.IFillableItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/com/hbm/items/tool/ItemToolBox.java b/src/main/java/com/hbm/items/tool/ItemToolBox.java new file mode 100644 index 000000000..8be7104ea --- /dev/null +++ b/src/main/java/com/hbm/items/tool/ItemToolBox.java @@ -0,0 +1,305 @@ +package com.hbm.items.tool; + +import com.hbm.inventory.container.ContainerToolBox; +import com.hbm.inventory.gui.GUIToolBox; +import com.hbm.items.ItemInventory; +import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.util.ItemStackUtil; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.*; +import net.minecraft.world.World; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +public class ItemToolBox extends Item implements IGUIProvider { + + @SideOnly(Side.CLIENT) protected IIcon iconOpen; + @SideOnly(Side.CLIENT) protected IIcon iconClosed; + + public ItemToolBox() { + this.setMaxStackSize(1); + } + + @Override + public int getMaxItemUseDuration(ItemStack stack) { + return 1; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconRegister) { + super.registerIcons(iconRegister); + this.iconOpen = iconRegister.registerIcon(RefStrings.MODID + ":kit_toolbox_empty"); + this.iconClosed = iconRegister.registerIcon(RefStrings.MODID + ":kit_toolbox"); + } + + @Override + @SideOnly(Side.CLIENT) + public boolean requiresMultipleRenderPasses() { + return true; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(ItemStack stack, int renderPass) { + + if(stack.getTagCompound() != null && stack.getTagCompound().getBoolean("isOpen") && renderPass == 1) return this.iconOpen; + return renderPass == 1 ? this.iconClosed : getIconFromDamageForRenderPass(stack.getItemDamage(), renderPass); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + list.add("Click with the toolbox to swap hotbars in/out of the toolbox."); + list.add("Shift-click with the toolbox to open the toolbox."); + } + + // Finds active rows in the toolbox (rows with items inside them). + public List getActiveRows(ItemStack box) { + ItemStack[] stacks = ItemStackUtil.readStacksFromNBT(box, 24); + if(stacks == null) + return new ArrayList<>(); + List activeRows = new ArrayList<>(); + for (int row = 0; row < 3; row++) { + for (int slot = 0; slot < 8; slot++) { + if(stacks[row * 8 + slot] != null) { + activeRows.add(row); + break; + } + } + } + return activeRows; + } + + // This function genuinely hurts my soul, but it works... + public void moveRows(ItemStack box, EntityPlayer player) { + + // Move from hotbar into array in preparation for boxing. + ItemStack[] endingHotBar = new ItemStack[9]; + ItemStack[] stacksToTransferToBox = new ItemStack[8]; + + boolean hasToolbox = false; + int extraToolboxes = 0; + for (int i = 0; i < 9; i++) { // Maximum allowed HotBar size is 9. + + ItemStack slot = player.inventory.getStackInSlot(i); + + if(slot != null && slot.getItem() == ModItems.toolbox && i != player.inventory.currentItem) { + + extraToolboxes++; + player.dropPlayerItemWithRandomChoice(slot, true); + player.inventory.setInventorySlotContents(i, null); + + } else if(i == player.inventory.currentItem) { + hasToolbox = true; + endingHotBar[i] = slot; + } else { + stacksToTransferToBox[i - (hasToolbox ? 1 : 0)] = slot; + } + } + + if(extraToolboxes > 0) { + if(extraToolboxes == 1) + player.addChatComponentMessage(new ChatComponentText("You can't toolbox a toolbox... ").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED))); // TODO: tell someone else to do i18n stuff; i don't want to + else + player.addChatComponentMessage(new ChatComponentText("You can't toolbox a toolbox... (x" + extraToolboxes + ")").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED))); // TODO: this too :ayo: + } + + // Move stacks around inside the box, mostly shifts rows to other rows and shifts the top row to the hotbar. + ItemStack[] stacks = ItemStackUtil.readStacksFromNBT(box, 24); + ItemStack[] endingStacks = new ItemStack[24]; + + int lowestActiveIndex = Integer.MAX_VALUE; // Lowest active index to find which row to move *to* the hotbar. + int lowestInactiveIndex = Integer.MAX_VALUE; // Lowest *inactive* index to find which row to move the hotbar to. + + if(stacks != null) { + List activeRows = getActiveRows(box); + + { // despair + for (int i = 0; i < 3; i++) { + if(activeRows.contains(i)) + lowestActiveIndex = Math.min(i, lowestActiveIndex); + else + lowestInactiveIndex = Math.min(i, lowestInactiveIndex); + } + + if(lowestInactiveIndex > 2) // No inactive rows... + lowestInactiveIndex = 2; // Set to the last possible row; the items will be moved out of the way in time. + else + lowestInactiveIndex = Math.max(0, lowestInactiveIndex - 1); // A little shittery to make items pop into the row that's *going* to be empty. + } + + // This entire section sucks, but honestly it's not actually that bad; it works so.... + for (Integer activeRowIndex : activeRows) { + + int activeIndex = 8 * activeRowIndex; + + if (activeRowIndex == lowestActiveIndex) { // Items to "flow" to the hotbar. + hasToolbox = false; + for (int i = 0; i < 9; i++) { + if(i == player.inventory.currentItem) { + hasToolbox = true; + continue; + } + endingHotBar[i] = stacks[activeIndex + i - (hasToolbox ? 1 : 0)]; + } + continue; + } + + int targetIndex = 8 * (activeRowIndex - 1); + + System.arraycopy(stacks, activeIndex, endingStacks, targetIndex, 8); + } + } + + if(stacks == null) + lowestInactiveIndex = 0; // Fix crash relating to a null NBT causing this value to be Integer.MAX_VALUE. + + // Finally, move all temporary arrays into their respective locations. + System.arraycopy(stacksToTransferToBox, 0, endingStacks, lowestInactiveIndex * 8, 8); + + for (int i = 0; i < endingHotBar.length; i++) { + player.inventory.setInventorySlotContents(i, endingHotBar[i]); + } + + box.setTagCompound(new NBTTagCompound()); + ItemStackUtil.addStacksToNBT(box, endingStacks); + + NBTTagCompound nbt = box.getTagCompound(); + + if(!nbt.hasNoTags()) { + Random random = new Random(); + + try { + byte[] abyte = CompressedStreamTools.compress(nbt); + + if (abyte.length > 6000) { + player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.RED + "Warning: Container NBT exceeds 6kB, contents will be ejected!")); + ItemStack[] stacks1 = ItemStackUtil.readStacksFromNBT(box, 24 /* Toolbox inv size. */); + if(stacks1 == null) + return; + for (ItemStack itemstack : stacks1) { + + if (itemstack != null) { + float f = random.nextFloat() * 0.8F + 0.1F; + float f1 = random.nextFloat() * 0.8F + 0.1F; + float f2 = random.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) { + int j1 = random.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(player.worldObj, player.posX + f, player.posY + f1, player.posZ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) { + entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (float) random.nextGaussian() * f3 + player.motionX; + entityitem.motionY = (float) random.nextGaussian() * f3 + 0.2F + player.motionY; + entityitem.motionZ = (float) random.nextGaussian() * f3 + player.motionZ; + player.worldObj.spawnEntityInWorld(entityitem); + } + } + } + + box.setTagCompound(new NBTTagCompound()); // Reset. + } + } catch (IOException ignored) {} + } + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + if(!world.isRemote) { + if (!player.isSneaking()) { + moveRows(stack, player); + player.inventoryContainer.detectAndSendChanges(); + } else { + if(stack.getTagCompound() == null) + stack.setTagCompound(new NBTTagCompound()); + stack.getTagCompound().setBoolean("isOpen", true); + player.openGui(MainRegistry.instance, 0, world, 0, 0, 0); + } + } + return stack; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerToolBox(player.inventory, new InventoryToolBox(player, player.getHeldItem())); + } + + @Override + @SideOnly(Side.CLIENT) + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIToolBox(player.inventory, new InventoryToolBox(player, player.getHeldItem())); + } + + public static class InventoryToolBox extends ItemInventory { + + public InventoryToolBox(EntityPlayer player, ItemStack box) { + this.player = player; + this.target = box; + slots = new ItemStack[this.getSizeInventory()]; + + if(!box.hasTagCompound()) + box.setTagCompound(new NBTTagCompound()); + + ItemStack[] fromNBT = ItemStackUtil.readStacksFromNBT(box, slots.length); + + if(fromNBT != null) { + System.arraycopy(fromNBT, 0, slots, 0, slots.length); + } + } + + @Override + public int getSizeInventory() { + return 24; + } + + @Override + public String getInventoryName() { + return "container.toolBox"; + } + + @Override + public boolean hasCustomInventoryName() { + return target.hasDisplayName(); + } + + @Override + public void closeInventory() { + super.closeInventory(); + + this.target.getTagCompound().removeTag("isOpen"); + this.target.getTagCompound().setInteger("rand", player.worldObj.rand.nextInt()); // a boolean changing isn't sufficient to detect the change + player.inventoryContainer.detectAndSendChanges(); + } + + @Override + public boolean isItemValidForSlot(int slot, ItemStack stack) { + return stack.getItem() != ModItems.toolbox; + } + } +} diff --git a/src/main/java/com/hbm/items/tool/ItemWand.java b/src/main/java/com/hbm/items/tool/ItemWand.java index 9bb6dc6ca..69d05195d 100644 --- a/src/main/java/com/hbm/items/tool/ItemWand.java +++ b/src/main/java/com/hbm/items/tool/ItemWand.java @@ -2,8 +2,11 @@ package com.hbm.items.tool; import java.util.List; +import com.hbm.blocks.ModBlocks; + import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -11,98 +14,87 @@ import net.minecraft.util.ChatComponentText; import net.minecraft.world.World; public class ItemWand extends Item { - + + @SuppressWarnings({ "unchecked", "rawtypes" }) @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) - { + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { list.add("Creative-only item"); list.add("\"Destruction brings creation\""); list.add("(Set positions with right click,"); list.add("set block with shift-right click!)"); - - if(itemstack.stackTagCompound != null && - !(itemstack.stackTagCompound.getInteger("x") == 0 && - itemstack.stackTagCompound.getInteger("y") == 0 && - itemstack.stackTagCompound.getInteger("z") == 0)) - { - list.add("Pos: " + itemstack.stackTagCompound.getInteger("x") + ", " + itemstack.stackTagCompound.getInteger("y") + ", " + itemstack.stackTagCompound.getInteger("z")); + + if(stack.stackTagCompound != null && !(stack.stackTagCompound.getInteger("x") == 0 && stack.stackTagCompound.getInteger("y") == 0 && stack.stackTagCompound.getInteger("z") == 0)) { + list.add("Pos: " + stack.stackTagCompound.getInteger("x") + ", " + stack.stackTagCompound.getInteger("y") + ", " + stack.stackTagCompound.getInteger("z")); } else { list.add("Positions not set!"); } - if(itemstack.stackTagCompound != null) - list.add("Block saved: " + Block.getBlockById(itemstack.stackTagCompound.getInteger("block")).getUnlocalizedName()); + if(stack.stackTagCompound != null) + list.add("Block saved: " + Block.getBlockById(stack.stackTagCompound.getInteger("block")).getUnlocalizedName()); } - + @Override - public boolean onItemUse(ItemStack p_77648_1_, EntityPlayer p_77648_2_, World p_77648_3_, int p_77648_4_, int p_77648_5_, int p_77648_6_, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_) - { - if(p_77648_1_.stackTagCompound == null) - { - p_77648_1_.stackTagCompound = new NBTTagCompound(); + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float fx, float fy, float fz) { + if(stack.stackTagCompound == null) { + stack.stackTagCompound = new NBTTagCompound(); } - - if(p_77648_2_.isSneaking()) - { - p_77648_1_.stackTagCompound.setInteger("block", Block.getIdFromBlock(p_77648_3_.getBlock(p_77648_4_, p_77648_5_, p_77648_6_))); - p_77648_1_.stackTagCompound.setInteger("meta", p_77648_3_.getBlockMetadata(p_77648_4_, p_77648_5_, p_77648_6_)); - if(p_77648_3_.isRemote) - p_77648_2_.addChatMessage(new ChatComponentText("Set block " + Block.getBlockById(p_77648_1_.stackTagCompound.getInteger("block")).getUnlocalizedName())); + + if(player.isSneaking()) { + stack.stackTagCompound.setInteger("block", Block.getIdFromBlock(world.getBlock(x, y, z))); + stack.stackTagCompound.setInteger("meta", world.getBlockMetadata(x, y, z)); + if(world.isRemote) + player.addChatMessage(new ChatComponentText("Set block " + Block.getBlockById(stack.stackTagCompound.getInteger("block")).getUnlocalizedName())); } else { - if(p_77648_1_.stackTagCompound.getInteger("x") == 0 && - p_77648_1_.stackTagCompound.getInteger("y") == 0 && - p_77648_1_.stackTagCompound.getInteger("z") == 0) - { - p_77648_1_.stackTagCompound.setInteger("x", p_77648_4_); - p_77648_1_.stackTagCompound.setInteger("y", p_77648_5_); - p_77648_1_.stackTagCompound.setInteger("z", p_77648_6_); - if(p_77648_3_.isRemote) - p_77648_2_.addChatMessage(new ChatComponentText("Position set!")); + if(stack.stackTagCompound.getInteger("x") == 0 && stack.stackTagCompound.getInteger("y") == 0 && stack.stackTagCompound.getInteger("z") == 0) { + stack.stackTagCompound.setInteger("x", x); + stack.stackTagCompound.setInteger("y", y); + stack.stackTagCompound.setInteger("z", z); + if(world.isRemote) + player.addChatMessage(new ChatComponentText("Position set!")); } else { - - int x = p_77648_1_.stackTagCompound.getInteger("x"); - int y = p_77648_1_.stackTagCompound.getInteger("y"); - int z = p_77648_1_.stackTagCompound.getInteger("z"); - - p_77648_1_.stackTagCompound.setInteger("x", 0); - p_77648_1_.stackTagCompound.setInteger("y", 0); - p_77648_1_.stackTagCompound.setInteger("z", 0); - - if(!p_77648_3_.isRemote) - { - for(int i = Math.min(x, p_77648_4_); i <= Math.max(x, p_77648_4_); i++) - { - for(int j = Math.min(y, p_77648_5_); j <= Math.max(y, p_77648_5_); j++) - { - for(int k = Math.min(z, p_77648_6_); k <= Math.max(z, p_77648_6_); k++) - { - p_77648_3_.setBlock(i, j, k, Block.getBlockById(p_77648_1_.stackTagCompound.getInteger("block")), p_77648_1_.stackTagCompound.getInteger("meta"), 3); + + int ox = stack.stackTagCompound.getInteger("x"); + int oy = stack.stackTagCompound.getInteger("y"); + int oz = stack.stackTagCompound.getInteger("z"); + + stack.stackTagCompound.setInteger("x", 0); + stack.stackTagCompound.setInteger("y", 0); + stack.stackTagCompound.setInteger("z", 0); + + if(!world.isRemote) { + Block block = Block.getBlockById(stack.stackTagCompound.getInteger("block")); + int meta = stack.stackTagCompound.getInteger("meta"); + boolean replaceAir = block == ModBlocks.wand_air; + + for(int i = Math.min(ox, x); i <= Math.max(ox, x); i++) { + for(int j = Math.min(oy, y); j <= Math.max(oy, y); j++) { + for(int k = Math.min(oz, z); k <= Math.max(oz, z); k++) { + if(replaceAir && world.getBlock(i, j, k) != Blocks.air) continue; + world.setBlock(i, j, k, block, meta, 3); } } } } - if(p_77648_3_.isRemote) - p_77648_2_.addChatMessage(new ChatComponentText("Selection filled!")); + if(world.isRemote) + player.addChatMessage(new ChatComponentText("Selection filled!")); } } - - return true; - } + + return true; + } @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - if(stack.stackTagCompound == null) - { + if(stack.stackTagCompound == null) { stack.stackTagCompound = new NBTTagCompound(); } - if(player.isSneaking()) - { + if(player.isSneaking()) { stack.stackTagCompound.setInteger("block", 0); stack.stackTagCompound.setInteger("meta", 0); if(world.isRemote) player.addChatMessage(new ChatComponentText("Set block " + Block.getBlockById(stack.stackTagCompound.getInteger("block")).getUnlocalizedName())); } - + return stack; } -} +} \ No newline at end of file diff --git a/src/main/java/com/hbm/items/tool/ItemWandD.java b/src/main/java/com/hbm/items/tool/ItemWandD.java index 348203890..3d3875a20 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandD.java +++ b/src/main/java/com/hbm/items/tool/ItemWandD.java @@ -1,30 +1,71 @@ package com.hbm.items.tool; import java.util.List; +import java.util.Random; -import com.hbm.explosion.vanillant.ExplosionVNT; -import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard; +import com.hbm.blocks.ModBlocks; +import com.hbm.config.GeneralConfig; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsSingle; import com.hbm.lib.Library; -import com.hbm.particle.helper.ExplosionCreator; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.machine.storage.TileEntitySafe; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.WeightedRandomChestContent; import net.minecraft.world.World; public class ItemWandD extends Item { @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - + if(world.isRemote) return stack; - + MovingObjectPosition pos = Library.rayTrace(player, 500, 1, false, true, false); - + if(pos != null) { - + + int y = world.getHeightValue(pos.blockX, pos.blockZ); + + Random rand = new Random(); + + if(world.getBlock(pos.blockX, y - 1, pos.blockZ).canPlaceTorchOnTop(world, pos.blockX, y - 1, pos.blockZ)) { + world.setBlock(pos.blockX, y, pos.blockZ, ModBlocks.safe, rand.nextInt(4) + 2, 2); + TileEntitySafe safe = (TileEntitySafe) world.getTileEntity(pos.blockX, y, pos.blockZ); + + switch(rand.nextInt(10)) { + case 0: case 1: case 2: case 3: + safe.setMod(1); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_VAULT_RUSTY), safe, rand.nextInt(4) + 3); + break; + case 4: case 5: case 6: + safe.setMod(0.1); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_VAULT_STANDARD), safe, rand.nextInt(3) + 2); + break; + case 7: case 8: + safe.setMod(0.02); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_VAULT_REINFORCED), safe, rand.nextInt(3) + 1); + break; + case 9: + safe.setMod(0.0); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_VAULT_UNBREAKABLE), safe, rand.nextInt(2) + 1); + break; + } + + safe.setPins(rand.nextInt(999) + 1); + safe.lock(); + + safe.fillWithSpiders(); // debug + + if(GeneralConfig.enableDebugMode) + MainRegistry.logger.info("[Debug] Successfully spawned safe at " + pos.blockX + " " + (y + 1) +" " + pos.blockZ); + } + /*ExplosionVNT vnt = new ExplosionVNT(world, pos.hitVec.xCoord, pos.hitVec.yCoord, pos.hitVec.zCoord, 7); vnt.setBlockAllocator(new BlockAllocatorBulkie(60)); vnt.setBlockProcessor(new BlockProcessorStandard().withBlockEffect(new BlockMutatorBulkie(ModBlocks.block_slag)).setNoDrop()); @@ -32,25 +73,27 @@ public class ItemWandD extends Item { vnt.setPlayerProcessor(new PlayerProcessorStandard()); vnt.setSFX(new ExplosionEffectStandard()); vnt.explode();*/ - + //PollutionHandler.incrementPollution(world, pos.blockX, pos.blockY, pos.blockZ, PollutionType.SOOT, 15); - + /*int i = pos.blockX >> 4; int j = pos.blockZ >> 4; - + i = (i << 4) + 8; j = (j << 4) + 8; Component comp = new RuralHouse1(world.rand, i, j); comp.addComponentParts(world, world.rand, new StructureBoundingBox(i, j, i + 32, j + 32));*/ - + + /* ExplosionVNT vnt = new ExplosionVNT(world, pos.blockX + 0.5, pos.blockY + 1, pos.blockZ + 0.5, 15F); vnt.makeStandard(); vnt.setSFX(); vnt.setBlockAllocator(new BlockAllocatorStandard(32)); vnt.explode(); - + ExplosionCreator.composeEffectStandard(world, pos.blockX + 0.5, pos.blockY + 0.5, pos.blockZ + 0.5); - + */ + /*for(int i = 0; i < 10; i++) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "debris"); @@ -59,20 +102,20 @@ public class ItemWandD extends Item { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "oomph"); PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, pos.blockX, pos.blockY, pos.blockZ), new TargetPoint(world.provider.dimensionId, pos.blockX, pos.blockY, pos.blockZ, 100));*/ - + /*TimeAnalyzer.startCount("setBlock"); world.setBlock(pos.blockX, pos.blockY, pos.blockZ, Blocks.dirt); TimeAnalyzer.startEndCount("getBlock"); world.getBlock(pos.blockX, pos.blockY, pos.blockZ); TimeAnalyzer.endCount(); TimeAnalyzer.dump();*/ - + /*TomSaveData data = TomSaveData.forWorld(world); data.impact = true; data.fire = 0F; data.dust = 0F; data.markDirty();*/ - + /*for(int i = -5; i <= 5; i++) { for(int j = -5; j <= 5; j++) { WorldUtil.setBiome(world, pos.blockX + i, pos.blockZ + j, BiomeGenCraterBase.craterBiome); @@ -80,39 +123,39 @@ public class ItemWandD extends Item { } WorldUtil.syncBiomeChange(world, pos.blockX, pos.blockZ);*/ - + /*EntityTomBlast tom = new EntityTomBlast(world); tom.posX = pos.blockX; tom.posY = pos.blockY; tom.posZ = pos.blockZ; tom.destructionRange = 600; world.spawnEntityInWorld(tom);*/ - + /*List del = world.getEntitiesWithinAABB(EntityNukeTorex.class, AxisAlignedBB.getBoundingBox(pos.blockX, pos.blockY + 1, pos.blockZ, pos.blockX, pos.blockY + 1, pos.blockZ).expand(50, 50, 50)); - + if(!del.isEmpty()) { for(EntityNukeTorex torex : del) torex.setDead(); } else { EntityNukeTorex.statFac(world, pos.blockX, pos.blockY + 1, pos.blockZ, 150); }*/ - + /*EntityTracker entitytracker = ((WorldServer) world).getEntityTracker(); IntHashMap map = ReflectionHelper.getPrivateValue(EntityTracker.class, entitytracker, "trackedEntityIDs", "field_72794_c"); EntityTrackerEntry entry = (EntityTrackerEntry) map.lookup(torex.getEntityId()); entry.blocksDistanceThreshold = 1000;*/ //world.spawnEntityInWorld(EntityNukeExplosionMK5.statFacNoRad(world, 150, pos.blockX, pos.blockY + 1, pos.blockZ)); - + //DungeonToolbox.generateBedrockOreWithChance(world, world.rand, pos.blockX, pos.blockZ, EnumBedrockOre.TITANIUM, new FluidStack(Fluids.SULFURIC_ACID, 500), 2, 1); - + /*EntitySiegeTunneler tunneler = new EntitySiegeTunneler(world); tunneler.setPosition(pos.blockX, pos.blockY + 1, pos.blockZ); tunneler.onSpawnWithEgg(null); world.spawnEntityInWorld(tunneler);*/ - + //CellularDungeonFactory.meteor.generate(world, x, y, z, world.rand); - + /*int r = 5; - + int x = pos.blockX; int y = pos.blockY; int z = pos.blockZ; @@ -124,24 +167,24 @@ public class ItemWandD extends Item { } } }*/ - + //new Bunker().generate(world, world.rand, x, y, z); - + /*EntityBlockSpider spider = new EntityBlockSpider(world); spider.setPosition(x + 0.5, y, z + 0.5); spider.makeBlock(world.getBlock(x, y, z), world.getBlockMetadata(x, y, z)); world.setBlockToAir(x, y, z); world.spawnEntityInWorld(spider);*/ - - + + /*NBTTagCompound data = new NBTTagCompound(); data.setString("type", "rift"); data.setDouble("posX", x); data.setDouble("posY", y + 1); data.setDouble("posZ", z); - + MainRegistry.proxy.effectNT(data);*/ - + //new Spaceship().generate_r0(world, world.rand, x - 4, y, z - 8); //new Ruin001().generate_r0(world, world.rand, x, y - 8, z); @@ -149,11 +192,11 @@ public class ItemWandD extends Item { //CellularDungeonFactory.jungle.generate(world, x, y, z, world.rand); //CellularDungeonFactory.jungle.generate(world, x, y + 4, z, world.rand); //CellularDungeonFactory.jungle.generate(world, x, y + 8, z, world.rand); - + //new AncientTomb().build(world, world.rand, x, y + 10, z); - + //new ArcticVault().trySpawn(world, x, y, z); - + /*for(int ix = x - 10; ix <= x + 10; ix++) { for(int iz = z - 10; iz <= z + 10; iz++) { @@ -175,7 +218,7 @@ public class ItemWandD extends Item { } }*/ } - + return stack; } diff --git a/src/main/java/com/hbm/items/tool/ItemWandS.java b/src/main/java/com/hbm/items/tool/ItemWandS.java index 303a3114f..2de5998fb 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandS.java +++ b/src/main/java/com/hbm/items/tool/ItemWandS.java @@ -1,7 +1,156 @@ package com.hbm.items.tool; +import java.util.Date; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.text.DateFormat; +import java.text.SimpleDateFormat; + +import com.hbm.blocks.ModBlocks; +import com.hbm.util.BobMathUtil; +import com.hbm.util.Tuple.Pair; +import com.hbm.world.gen.NBTStructure; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; public class ItemWandS extends Item { - -} + + private static final DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd_HH.mm.ss"); + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + list.add("Creative-only item"); + list.add("\"Replication breeds decadence\""); + list.add("(Saves an area defined by two right-clicks,"); + list.add("adds a block to the blacklist by crouch right-clicking!)"); + + if(stack.stackTagCompound != null) { + int px = stack.stackTagCompound.getInteger("x"); + int py = stack.stackTagCompound.getInteger("y"); + int pz = stack.stackTagCompound.getInteger("z"); + + if(px != 0 || py != 0 || pz != 0) { + list.add(EnumChatFormatting.AQUA + "From: " + px + ", " + py + ", " + pz); + } else { + list.add(EnumChatFormatting.AQUA + "No start position set"); + } + + Set> blocks = getBlocks(stack); + + if(blocks.size() > 0) { + list.add("Blacklist:"); + for(Pair block : blocks) { + list.add(EnumChatFormatting.RED + "- " + block.key.getUnlocalizedName()); + } + } + } + } + + // why the fuck ye'd leave this whole thing obfuscated is beyond me + @Override + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float fx, float fy, float fz) { + if(stack.stackTagCompound == null) { + stack.stackTagCompound = new NBTTagCompound(); + } + + if(player.isSneaking()) { + Pair target = new Pair(world.getBlock(x, y, z), world.getBlockMetadata(x, y, z)); + Set> blocks = getBlocks(stack); + + if(blocks.contains(target)) { + blocks.remove(target); + if(world.isRemote) player.addChatMessage(new ChatComponentText("Removed from blacklist " + target.key.getUnlocalizedName())); + } else { + blocks.add(target); + if(world.isRemote) player.addChatMessage(new ChatComponentText("Added to blacklist " + target.key.getUnlocalizedName())); + } + + setBlocks(stack, blocks); + + } else { + int px = stack.stackTagCompound.getInteger("x"); + int py = stack.stackTagCompound.getInteger("y"); + int pz = stack.stackTagCompound.getInteger("z"); + + if(px == 0 && py == 0 && pz == 0) { + setPosition(stack, x, y, z); + + if(world.isRemote) player.addChatMessage(new ChatComponentText("First position set!")); + } else { + setPosition(stack, 0, 0, 0); + + Set> blocks = getBlocks(stack); + blocks.add(new Pair(Blocks.air, 0)); + blocks.add(new Pair(ModBlocks.spotlight_beam, 0)); + + String filename = "structure_" + dateFormat.format(new Date()).toString() + ".nbt"; + + NBTStructure.saveArea(filename, world, x, y, z, px, py, pz, blocks); + + if(world.isRemote) player.addChatMessage(new ChatComponentText("Structure saved to: .minecraft/structures/" + filename)); + } + } + + return true; + } + + private void setPosition(ItemStack stack, int x, int y, int z) { + stack.stackTagCompound.setInteger("x", x); + stack.stackTagCompound.setInteger("y", y); + stack.stackTagCompound.setInteger("z", z); + } + + private Set> getBlocks(ItemStack stack) { + if(stack.stackTagCompound == null) { + return new HashSet<>(); + } + + int[] blockIds = stack.stackTagCompound.getIntArray("blocks"); + int[] metas = stack.stackTagCompound.getIntArray("metas"); + Set> blocks = new HashSet<>(blockIds.length); + + for(int i = 0; i < blockIds.length; i++) { + blocks.add(new Pair(Block.getBlockById(blockIds[i]), metas[i])); + } + + return blocks; + } + + @SuppressWarnings("unchecked") + private void setBlocks(ItemStack stack, Set> blocks) { + if(stack.stackTagCompound == null) { + stack.stackTagCompound = new NBTTagCompound(); + } + + stack.stackTagCompound.setIntArray("blocks", BobMathUtil.collectionToIntArray(blocks, i -> Block.getIdFromBlock(((Pair)i).getKey()))); + stack.stackTagCompound.setIntArray("metas", BobMathUtil.collectionToIntArray(blocks, i -> ((Pair)i).getValue())); + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + if(stack.stackTagCompound == null) { + stack.stackTagCompound = new NBTTagCompound(); + } + + if(player.isSneaking()) { + stack.stackTagCompound.setIntArray("blocks", new int[0]); + stack.stackTagCompound.setIntArray("metas", new int[0]); + + if(world.isRemote) { + player.addChatMessage(new ChatComponentText("Cleared blacklist")); + } + } + + return stack; + } + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/items/tool/WeaponSpecial.java b/src/main/java/com/hbm/items/tool/WeaponSpecial.java index c59daa016..faba31497 100644 --- a/src/main/java/com/hbm/items/tool/WeaponSpecial.java +++ b/src/main/java/com/hbm/items/tool/WeaponSpecial.java @@ -4,11 +4,13 @@ import java.util.List; import java.util.Random; import com.google.common.collect.Multimap; -import com.hbm.entity.effect.EntityNukeTorex; -import com.hbm.entity.logic.EntityNukeExplosionMK5; import com.hbm.entity.projectile.EntityRubble; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.EntityProcessorCrossSmooth; +import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; +import com.hbm.particle.helper.ExplosionCreator; import com.hbm.potion.HbmPotion; import com.hbm.util.ArmorUtil; @@ -23,21 +25,21 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; +import net.minecraft.util.DamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.Vec3; import net.minecraft.world.World; public class WeaponSpecial extends ItemSword { - + Random rand = new Random(); public WeaponSpecial(ToolMaterial p_i45356_1_) { super(p_i45356_1_); } - - @Override - public EnumRarity getRarity(ItemStack p_77613_1_) - { + + @Override + public EnumRarity getRarity(ItemStack p_77613_1_) { if(this == ModItems.schrabidium_hammer) { return EnumRarity.rare; } @@ -47,26 +49,23 @@ public class WeaponSpecial extends ItemSword { if(this == ModItems.shimmer_sledge || this == ModItems.shimmer_axe) { return EnumRarity.epic; } - + return EnumRarity.common; - } - - @Override - public boolean hitEntity(ItemStack stack, EntityLivingBase entity, EntityLivingBase entityPlayer) - { - World world = entity.worldObj; + } + + @Override + public boolean hitEntity(ItemStack stack, EntityLivingBase entity, EntityLivingBase entityPlayer) { + World world = entity.worldObj; if(this == ModItems.schrabidium_hammer) { - if (!world.isRemote) - { - entity.setHealth(0.0F); - } - world.playSoundAtEntity(entity, "hbm:weapon.bonk", 3.0F, 1.0F); + if(!world.isRemote) { + entity.setHealth(0.0F); + } + world.playSoundAtEntity(entity, "hbm:weapon.bonk", 3.0F, 1.0F); } if(this == ModItems.bottle_opener) { - if (!world.isRemote) - { + if(!world.isRemote) { int i = rand.nextInt(7); if(i == 0) entity.addPotionEffect(new PotionEffect(Potion.blindness.id, 5 * 60 * 20, 0)); @@ -76,19 +75,18 @@ public class WeaponSpecial extends ItemSword { entity.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 5 * 60 * 20, 2)); if(i == 3) entity.addPotionEffect(new PotionEffect(Potion.confusion.id, 1 * 60 * 20, 0)); - } - world.playSoundAtEntity(entity, "random.anvil_land", 3.0F, 1.F); + } + world.playSoundAtEntity(entity, "random.anvil_land", 3.0F, 1.F); } - + if(this == ModItems.ullapool_caber) { - if (!world.isRemote) - { + if(!world.isRemote) { world.createExplosion(null, entity.posX, entity.posY, entity.posZ, 7.5F, true); - } - + } + stack.damageItem(505, entityPlayer); } - + if(this == ModItems.shimmer_sledge) { Vec3 vec = entityPlayer.getLookVec(); double dX = vec.xCoord * 5; @@ -98,37 +96,37 @@ public class WeaponSpecial extends ItemSword { entity.motionX += dX; entity.motionY += dY; entity.motionZ += dZ; - world.playSoundAtEntity(entity, "hbm:weapon.bang", 3.0F, 1.F); + world.playSoundAtEntity(entity, "hbm:weapon.bang", 3.0F, 1.F); } - + if(this == ModItems.shimmer_axe) { entity.setHealth(entity.getHealth() / 2); - - world.playSoundAtEntity(entity, "hbm:weapon.slice", 3.0F, 1.F); + + world.playSoundAtEntity(entity, "hbm:weapon.slice", 3.0F, 1.F); } - + if(this == ModItems.wood_gavel) { - world.playSoundAtEntity(entity, "hbm:weapon.whack", 3.0F, 1.F); + world.playSoundAtEntity(entity, "hbm:weapon.whack", 3.0F, 1.F); } - + if(this == ModItems.lead_gavel) { - world.playSoundAtEntity(entity, "hbm:weapon.whack", 3.0F, 1.F); - + world.playSoundAtEntity(entity, "hbm:weapon.whack", 3.0F, 1.F); + entity.addPotionEffect(new PotionEffect(HbmPotion.lead.id, 15 * 20, 4)); } - + if(this == ModItems.diamond_gavel) { - + float ded = entity.getMaxHealth() / 3; entity.setHealth(entity.getHealth() - ded); - - world.playSoundAtEntity(entity, "hbm:weapon.whack", 3.0F, 1.F); + + world.playSoundAtEntity(entity, "hbm:weapon.whack", 3.0F, 1.F); } - + if(this == ModItems.wrench) { Vec3 vec = entityPlayer.getLookVec(); - + double dX = vec.xCoord * 0.5; double dY = vec.yCoord * 0.5; double dZ = vec.zCoord * 0.5; @@ -136,47 +134,47 @@ public class WeaponSpecial extends ItemSword { entity.motionX += dX; entity.motionY += dY; entity.motionZ += dZ; - world.playSoundAtEntity(entity, "random.anvil_land", 3.0F, 0.75F); + world.playSoundAtEntity(entity, "random.anvil_land", 3.0F, 0.75F); } - - if(this == ModItems.memespoon) { + + if(this == ModItems.memespoon && !world.isRemote) { + + if(!(entityPlayer instanceof EntityPlayer)) + return false; if(entityPlayer.fallDistance >= 2) { world.playSoundAtEntity(entity, "hbm:weapon.bang", 3.0F, 0.75F); - entity.setHealth(0); + entity.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) entityPlayer), 50F); } - - if(!(entityPlayer instanceof EntityPlayer)) - return false; - - if(entityPlayer.fallDistance >= 20 && !((EntityPlayer)entityPlayer).capabilities.isCreativeMode) { - if(!world.isRemote) { - world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, 100, entity.posX, entity.posY, entity.posZ)); - EntityNukeTorex.statFac(world, entity.posX, entity.posY, entity.posZ, 100); - } + + if(entityPlayer.fallDistance >= 20 && !((EntityPlayer) entityPlayer).capabilities.isCreativeMode) { + ExplosionVNT vnt = new ExplosionVNT(world, entity.posX, entity.posY + entity.height / 2D, entity.posZ, 15, entityPlayer); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, 150).setupPiercing(25, 0.5F)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + ExplosionCreator.composeEffectSmall(world, entity.posX, entity.posY + entity.height / 2D, entity.posZ); + vnt.explode(); } } if(this == ModItems.stopsign || this == ModItems.sopsign) - world.playSoundAtEntity(entity, "hbm:weapon.stop", 1.0F, 1.0F); - + world.playSoundAtEntity(entity, "hbm:weapon.stop", 1.0F, 1.0F); + return false; - } - + } + @Override - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int i, float f1, float f2, float f3) - { + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int i, float f1, float f2, float f3) { if(this == ModItems.shimmer_sledge) { if(world.getBlock(x, y, z) != Blocks.air && world.getBlock(x, y, z).getExplosionResistance(null) < 6000) { - + EntityRubble rubble = new EntityRubble(world); rubble.posX = x + 0.5F; rubble.posY = y; rubble.posZ = z + 0.5F; - + rubble.setMetaBasedOnBlock(world.getBlock(x, y, z), world.getBlockMetadata(x, y, z)); - + Vec3 vec = player.getLookVec(); double dX = vec.xCoord * 5; double dY = vec.yCoord * 5; @@ -185,22 +183,22 @@ public class WeaponSpecial extends ItemSword { rubble.motionX += dX; rubble.motionY += dY; rubble.motionZ += dZ; - world.playSoundAtEntity(rubble, "hbm:weapon.bang", 3.0F, 1.0F); - - if(!world.isRemote) { - - world.spawnEntityInWorld(rubble); + world.playSoundAtEntity(rubble, "hbm:weapon.bang", 3.0F, 1.0F); + + if(!world.isRemote) { + + world.spawnEntityInWorld(rubble); world.func_147480_a(x, y, z, false); - } + } } return true; } - + if(this == ModItems.shimmer_axe) { - world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "hbm:weapon.kapeng", 3.0F, 1.0F); + world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "hbm:weapon.kapeng", 3.0F, 1.0F); - if(!world.isRemote) { + if(!world.isRemote) { if(world.getBlock(x, y, z) != Blocks.air && world.getBlock(x, y, z).getExplosionResistance(null) < 6000) { world.func_147480_a(x, y, z, false); } @@ -210,17 +208,16 @@ public class WeaponSpecial extends ItemSword { if(world.getBlock(x, y - 1, z) != Blocks.air && world.getBlock(x, y - 1, z).getExplosionResistance(null) < 6000) { world.func_147480_a(x, y - 1, z, false); } - } + } return true; } - + return false; - } - - @Override - public Multimap getItemAttributeModifiers() - { - Multimap multimap = super.getItemAttributeModifiers(); + } + + @Override + public Multimap getItemAttributeModifiers() { + Multimap multimap = super.getItemAttributeModifiers(); if(this == ModItems.schrabidium_hammer) { multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "Weapon modifier", -0.5, 1)); } @@ -230,24 +227,23 @@ public class WeaponSpecial extends ItemSword { if(this == ModItems.wrench || this == ModItems.wrench_flipped) { multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "Weapon modifier", -0.1, 1)); } - return multimap; - } - - @Override + return multimap; + } + + @Override public void onUpdate(ItemStack stack, World world, Entity entity, int i, boolean b) { - if(entity instanceof EntityPlayer) { - if(ArmorUtil.checkForFiend((EntityPlayer) entity)) { - ((EntityPlayer) entity).triggerAchievement(MainRegistry.achFiend); - } else if(ArmorUtil.checkForFiend2((EntityPlayer) entity)) { - ((EntityPlayer) entity).triggerAchievement(MainRegistry.achFiend2); - } - } - } - + if(entity instanceof EntityPlayer) { + if(ArmorUtil.checkForFiend((EntityPlayer) entity)) { + ((EntityPlayer) entity).triggerAchievement(MainRegistry.achFiend); + } else if(ArmorUtil.checkForFiend2((EntityPlayer) entity)) { + ((EntityPlayer) entity).triggerAchievement(MainRegistry.achFiend2); + } + } + } + @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) - { + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { if(this == ModItems.schrabidium_hammer) { list.add("Even though it says \"+1000000000"); list.add("damage\", it's actually \"onehit anything\""); diff --git a/src/main/java/com/hbm/items/weapon/GunB92.java b/src/main/java/com/hbm/items/weapon/GunB92.java index 8a514a634..32dea25a6 100644 --- a/src/main/java/com/hbm/items/weapon/GunB92.java +++ b/src/main/java/com/hbm/items/weapon/GunB92.java @@ -7,6 +7,7 @@ import com.google.common.collect.Multimap; import com.hbm.entity.effect.EntityCloudFleijaRainbow; import com.hbm.entity.logic.EntityNukeExplosionMK3; import com.hbm.entity.projectile.EntityExplosiveBeam; +import com.hbm.interfaces.Spaghetti; import com.hbm.main.MainRegistry; import net.minecraft.entity.Entity; @@ -23,6 +24,7 @@ import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; import net.minecraftforge.event.entity.player.ArrowNockEvent; + @Spaghetti("destroy this class") public class GunB92 extends Item { Random rand = new Random(); @@ -264,19 +266,6 @@ public class GunB92 extends Item { return rad * 5; } - public static float getOffsetFromAnim(ItemStack stack) { - float i = getAnim(stack); - - if (i < 10) - return 0; - i -= 10; - - if (i < 10) - return i / 10; - else - return 2 - (i / 10); - } - public static float getTransFromAnim(ItemStack stack) { float i = getAnim(stack); diff --git a/src/main/java/com/hbm/items/weapon/GunB92Cell.java b/src/main/java/com/hbm/items/weapon/GunB92Cell.java index eac40f6f3..282e228d3 100644 --- a/src/main/java/com/hbm/items/weapon/GunB92Cell.java +++ b/src/main/java/com/hbm/items/weapon/GunB92Cell.java @@ -38,7 +38,7 @@ public class GunB92Cell extends Item { list.add("Draws energy from the B92, allowing you to"); list.add("reload it an additional 25 times."); - list.add("The cell will permanently hold it's charge,"); + list.add("The cell will permanently hold its charge,"); list.add("it is not meant to be used as a battery enhancement"); list.add("for the B92, but rather as a bomb."); list.add(""); diff --git a/src/main/java/com/hbm/items/weapon/GunB93.java b/src/main/java/com/hbm/items/weapon/GunB93.java deleted file mode 100644 index 245279dd9..000000000 --- a/src/main/java/com/hbm/items/weapon/GunB93.java +++ /dev/null @@ -1,270 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; -import java.util.Random; - -import com.google.common.collect.Multimap; -import com.hbm.entity.effect.EntityCloudFleijaRainbow; -import com.hbm.entity.logic.EntityNukeExplosionMK3; -import com.hbm.entity.projectile.EntityModBeam; -import net.minecraft.entity.Entity; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.ArrowLooseEvent; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -public class GunB93 extends Item { - - Random rand = new Random(); - - public int dmgMin = 16; - public int dmgMax = 28; - - public GunB93() { - - this.maxStackSize = 1; - } - - @Override - public void onPlayerStoppedUsing(ItemStack p_77615_1_, World p_77615_2_, EntityPlayer p_77615_3_, int p_77615_4_) { - if (!p_77615_3_.isSneaking()) { - int j = this.getMaxItemUseDuration(p_77615_1_) - p_77615_4_; - - ArrowLooseEvent event = new ArrowLooseEvent(p_77615_3_, p_77615_1_, j); - MinecraftForge.EVENT_BUS.post(event); - j = event.charge; - - boolean flag = true; - - if (flag) { - float f = j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - - if (j < 10.0D) { - return; - } - - if (j > 10.0F) { - f = 10.0F; - } - - if (!p_77615_2_.isRemote) { - - EntityModBeam entityarrow1; - entityarrow1 = new EntityModBeam(p_77615_2_, p_77615_3_, 3.0F); - entityarrow1.mode = getPower(p_77615_1_) - 1; - p_77615_1_.damageItem(1, p_77615_3_); - - p_77615_2_.spawnEntityInWorld(entityarrow1); - - p_77615_2_.playSoundAtEntity(p_77615_3_, "hbm:weapon.sparkShoot", 5.0F, 1.0F); - } - - setAnim(p_77615_1_, 1); - setPower(p_77615_1_, 0); - } - } else { - } - } - - @Override - public void onUpdate(ItemStack stack, World world, Entity entity, int i, boolean b) { - int j = getAnim(stack); - - if (j > 0) { - if (j < 30) - setAnim(stack, j + 1); - else - setAnim(stack, 0); - - if (j == 15) { - world.playSoundAtEntity(entity, "hbm:weapon.b92Reload", 2F, 0.9F); - setPower(stack, getPower(stack) + 1); - - if(getPower(stack) > 10) { - - setPower(stack, 0); - - if(!world.isRemote) { - EntityNukeExplosionMK3 ex = EntityNukeExplosionMK3.statFacFleija(world, entity.posX, entity.posY, entity.posZ, 50); - if(!ex.isDead) { - world.playSoundEffect(entity.posX, entity.posY, entity.posZ, "random.explode", 100.0f, world.rand.nextFloat() * 0.1F + 0.9F); - - world.spawnEntityInWorld(ex); - - EntityCloudFleijaRainbow cloud = new EntityCloudFleijaRainbow(world, 50); - cloud.posX = entity.posX; - cloud.posY = entity.posY; - cloud.posZ = entity.posZ; - world.spawnEntityInWorld(cloud); - } - } - } - } - } - - } - - @Override - public ItemStack onEaten(ItemStack p_77654_1_, World p_77654_2_, EntityPlayer p_77654_3_) { - return p_77654_1_; - } - - /** - * How long it takes to use or consume an item - */ - @Override - public int getMaxItemUseDuration(ItemStack p_77626_1_) { - return 72000; - } - - /** - * returns the action that specifies what animation to play when the items - * is being used - */ - @Override - public EnumAction getItemUseAction(ItemStack p_77661_1_) { - return EnumAction.bow; - } - - /** - * Called whenever this item is equipped and the right mouse button is - * pressed. Args: itemStack, world, entityPlayer - */ - @Override - public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { - if (!p_77659_3_.isSneaking() && getPower(p_77659_1_) > 0) { - ArrowNockEvent event = new ArrowNockEvent(p_77659_3_, p_77659_1_); - MinecraftForge.EVENT_BUS.post(event); - - if (this.getAnim(p_77659_1_) == 0) - p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); - } else { - if (getAnim(p_77659_1_) == 0) { - setAnim(p_77659_1_, 1); - } - } - - return p_77659_1_; - } - - /** - * Return the enchantability factor of the item, most of the time is based - * on material. - */ - @Override - public int getItemEnchantability() { - return 1; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - list.add("[LEGENDARY WEAPON]"); - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", 3.5, 0)); - return multimap; - } - - private static int getAnim(ItemStack stack) { - if (stack.stackTagCompound == null) { - stack.stackTagCompound = new NBTTagCompound(); - return 0; - } - - return stack.stackTagCompound.getInteger("animation"); - - } - - private static void setAnim(ItemStack stack, int i) { - if (stack.stackTagCompound == null) { - stack.stackTagCompound = new NBTTagCompound(); - } - - stack.stackTagCompound.setInteger("animation", i); - - } - - private static int getPower(ItemStack stack) { - if (stack.stackTagCompound == null) { - stack.stackTagCompound = new NBTTagCompound(); - return 0; - } - - return stack.stackTagCompound.getInteger("energy"); - - } - - private static void setPower(ItemStack stack, int i) { - if (stack.stackTagCompound == null) { - stack.stackTagCompound = new NBTTagCompound(); - } - - stack.stackTagCompound.setInteger("energy", i); - - } - - public static float getRotationFromAnim(ItemStack stack) { - float rad = 0.0174533F; - rad *= 7.5F; - int i = getAnim(stack); - - if (i < 10) - return 0; - i -= 10; - - if (i < 6) - return rad * i; - if (i > 14) - return rad * (5 - (i - 15)); - return rad * 5; - } - - public static float getOffsetFromAnim(ItemStack stack) { - float i = getAnim(stack); - - if (i < 10) - return 0; - i -= 10; - - if (i < 10) - return i / 10; - else - return 2 - (i / 10); - } - - public static float getTransFromAnim(ItemStack stack) { - float i = getAnim(stack); - - if (i < 10) - return 0; - i -= 10; - - if (i > 4 && i < 10) - return (i - 5) * 0.05F; - - if (i > 9 && i < 15) - return (10 * 0.05F) - ((i - 5) * 0.05F); - - return 0; - } - - @Override - public EnumRarity getRarity(ItemStack p_77613_1_) { - - return EnumRarity.uncommon; - } -} diff --git a/src/main/java/com/hbm/items/weapon/GunCryolator.java b/src/main/java/com/hbm/items/weapon/GunCryolator.java deleted file mode 100644 index 1a0c8b44f..000000000 --- a/src/main/java/com/hbm/items/weapon/GunCryolator.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; -import java.util.Random; - -import com.google.common.collect.Multimap; -import com.hbm.entity.projectile.EntityLN2; -import com.hbm.items.ModItems; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -public class GunCryolator extends Item { - - Random rand = new Random(); - - public GunCryolator() { - this.maxStackSize = 1; - } - - @Override - public EnumAction getItemUseAction(ItemStack par1ItemStack) { - return EnumAction.bow; - } - - @Override - public int getMaxItemUseDuration(ItemStack p_77626_1_) { - return 72000; - } - - @Override - public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { - new ArrowNockEvent(p_77659_3_, p_77659_1_); - { - p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); - } - - return p_77659_1_; - } - - @Override - public void onUsingTick(ItemStack stack, EntityPlayer player, int count) { - World world = player.worldObj; - - boolean flag = player.capabilities.isCreativeMode - || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; - if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_cryolator_ammo))) { - EntityLN2 entityarrow = new EntityLN2(world, player, 3.0F); - - if (flag) { - entityarrow.canBePickedUp = 2; - } else { - if (count % 10 == 0) - player.inventory.consumeInventoryItem(ModItems.gun_cryolator_ammo); - } - - if (count % 5 == 0) - world.playSoundAtEntity(player, "hbm:weapon.cryolatorShoot", 1.0F, 1F); - - if (!world.isRemote) { - world.spawnEntityInWorld(entityarrow); - } - } - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - list.add("Ice to meet you!"); - list.add(""); - list.add("Ammo: Cryolator Ammo"); - list.add("Damage: 5"); - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", 4, 0)); - return multimap; - } -} diff --git a/src/main/java/com/hbm/items/weapon/GunDash.java b/src/main/java/com/hbm/items/weapon/GunDash.java deleted file mode 100644 index c0ebd1e06..000000000 --- a/src/main/java/com/hbm/items/weapon/GunDash.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; -import java.util.Random; - -import com.google.common.collect.Multimap; -import com.hbm.entity.projectile.EntityLaser; -import com.hbm.items.ModItems; -import com.hbm.lib.Library; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -public class GunDash extends Item { - - Random rand = new Random(); - - public GunDash() - { - this.maxStackSize = 1; - } - - @Override - public EnumAction getItemUseAction(ItemStack par1ItemStack) { - return EnumAction.bow; - } - - @Override - public int getMaxItemUseDuration(ItemStack p_77626_1_) { - return 72000; - } - - @Override - public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { - new ArrowNockEvent(p_77659_3_, p_77659_1_); - { - p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); - } - - return p_77659_1_; - } - - @Override - public void onUsingTick(ItemStack stack, EntityPlayer player, int count) - { - World world = player.worldObj; - - boolean flag = player.capabilities.isCreativeMode - || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; - if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_dash_ammo)) - && count % 2 == 0) { - - EntityLaser laser = new EntityLaser(world, player); - MovingObjectPosition pos = Library.rayTrace(player, 200, 1.0F); - laser.posX = pos.blockX + 0.5; - laser.posY = pos.blockY + 0.5; - laser.posZ = pos.blockZ + 0.5; - - world.playSoundAtEntity(player, "hbm:weapon.rifleShoot", 1.0F, 0.8F + (rand.nextFloat() * 0.4F)); - - if (!flag) { - player.inventory.consumeInventoryItem(ModItems.gun_dash_ammo); - } - - if (!world.isRemote) { - world.spawnEntityInWorld(laser); - } - } - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - list.add("Ratatatatatatatata!!"); - list.add(""); - list.add("Ammo: SMG Round"); - list.add("Damage: 2 - 8"); - list.add(""); - list.add("[LEGENDARY WEAPON]"); - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", 3, 0)); - return multimap; - } -} diff --git a/src/main/java/com/hbm/items/weapon/GunDefabricator.java b/src/main/java/com/hbm/items/weapon/GunDefabricator.java deleted file mode 100644 index ce1457033..000000000 --- a/src/main/java/com/hbm/items/weapon/GunDefabricator.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; -import java.util.Random; - -import com.google.common.collect.Multimap; -import com.hbm.entity.projectile.EntityBullet; -import com.hbm.items.ModItems; -import com.hbm.main.MainRegistry; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -public class GunDefabricator extends Item { - - Random rand = new Random(); - - public GunDefabricator() - { - this.maxStackSize = 1; - } - - @Override - public EnumAction getItemUseAction(ItemStack par1ItemStack) { - return EnumAction.bow; - } - - @Override - public int getMaxItemUseDuration(ItemStack p_77626_1_) { - return 72000; - } - - @Override - public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { - new ArrowNockEvent(p_77659_3_, p_77659_1_); - { - p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); - } - - return p_77659_1_; - } - - @Override - public void onUsingTick(ItemStack stack, EntityPlayer player, int count) - { - World world = player.worldObj; - - boolean flag = player.capabilities.isCreativeMode - || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; - if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_defabricator_ammo)) - && count % 2 == 0) { - EntityBullet entitybullet = new EntityBullet(world, player, 3.0F, 40, 120, false, "tauDay"); - entitybullet.setDamage(40 + rand.nextInt(120 - 40)); - - //world.playSoundAtEntity(player, "random.explode", 1.0F, 1.5F + (rand.nextFloat() / 4)); - world.playSoundAtEntity(player, "hbm:weapon.defabShoot", 1.0F, 0.9F + (rand.nextFloat() * 0.2F)); - if(count == this.getMaxItemUseDuration(stack)) - world.playSoundAtEntity(player, "hbm:weapon.defabSpinup", 1.0F, 1.0F); - - if(count % 20 == 0 && !flag) - player.inventory.consumeInventoryItem(ModItems.gun_defabricator_ammo); - - if (!world.isRemote) { - world.spawnEntityInWorld(entitybullet); - } - } - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - if(MainRegistry.polaroidID == 11) - list.add("Did you set your alarm for volcano day?"); - else - list.add("BAD WOLF"); - list.add(""); - list.add("Ammo: Defabricator Energy Cell"); - list.add("Damage: 40 - 120"); - list.add(""); - list.add("[LEGENDARY WEAPON]"); - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", 6.5, 0)); - return multimap; - } -} diff --git a/src/main/java/com/hbm/items/weapon/GunEuthanasia.java b/src/main/java/com/hbm/items/weapon/GunEuthanasia.java deleted file mode 100644 index adf81090d..000000000 --- a/src/main/java/com/hbm/items/weapon/GunEuthanasia.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; -import java.util.Random; - -import com.google.common.collect.Multimap; -import com.hbm.entity.projectile.EntityBullet; -import com.hbm.items.ModItems; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -public class GunEuthanasia extends Item { - - Random rand = new Random(); - - public GunEuthanasia() - { - this.maxStackSize = 1; - } - - @Override - public EnumAction getItemUseAction(ItemStack par1ItemStack) { - return EnumAction.bow; - } - - @Override - public int getMaxItemUseDuration(ItemStack p_77626_1_) { - return 72000; - } - - @Override - public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { - new ArrowNockEvent(p_77659_3_, p_77659_1_); - { - p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); - } - - return p_77659_1_; - } - - @Override - public void onUsingTick(ItemStack stack, EntityPlayer player, int count) - { - World world = player.worldObj; - - boolean flag = player.capabilities.isCreativeMode - || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; - if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_euthanasia_ammo)) - && count % 8 == 0) { - - int deadly = rand.nextInt(5); - - EntityBullet entityarrow = new EntityBullet(world, player, 3.0F, 2, 8, deadly == 0, false); - entityarrow.setDamage(1 + rand.nextInt(3)); - entityarrow.antidote = true; - - //world.playSoundAtEntity(player, "random.explode", 1.0F, 1.5F + (rand.nextFloat() / 4)); - world.playSoundAtEntity(player, "hbm:weapon.rifleShoot", 1.0F, 0.8F + (rand.nextFloat() * 0.4F)); - - if (flag) { - entityarrow.canBePickedUp = 2; - } else { - player.inventory.consumeInventoryItem(ModItems.gun_euthanasia_ammo); - } - - if (!world.isRemote) { - world.spawnEntityInWorld(entityarrow); - } - } - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - list.add("Say hello to my little syringe gun!"); - list.add(""); - list.add("Ammo: Syringe"); - list.add("Damage: 1 - 4"); - list.add("Syringes have a 20% chance to instakill the enemy."); - list.add(""); - list.add("[LEGENDARY WEAPON]"); - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", 3, 0)); - return multimap; - } -} diff --git a/src/main/java/com/hbm/items/weapon/GunFolly.java b/src/main/java/com/hbm/items/weapon/GunFolly.java deleted file mode 100644 index c4bb2506f..000000000 --- a/src/main/java/com/hbm/items/weapon/GunFolly.java +++ /dev/null @@ -1,135 +0,0 @@ -package com.hbm.items.weapon; - -import com.hbm.entity.projectile.EntityBulletBaseNT; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.interfaces.IHoldableWeapon; -import com.hbm.items.ModItems; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; - -public class GunFolly extends Item implements IHoldableWeapon { - - @Override - public Crosshair getCrosshair() { - return Crosshair.L_SPLIT; - } - - @Override - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - - int state = getState(stack); - - if(state == 0) { - - world.playSoundAtEntity(player, "hbm:weapon.follyOpen", 1.0F, 1.0F); - setState(stack, 1); - - } else if(state == 1) { - - if(player.inventory.hasItem(ModItems.ammo_folly)) { - - world.playSoundAtEntity(player, "hbm:weapon.follyReload", 1.0F, 1.0F); - player.inventory.consumeInventoryItem(ModItems.ammo_folly); - setState(stack, 2); - } else { - - world.playSoundAtEntity(player, "hbm:weapon.follyClose", 1.0F, 1.0F); - setState(stack, 0); - } - - } else if(state == 2) { - - world.playSoundAtEntity(player, "hbm:weapon.follyClose", 1.0F, 1.0F); - setState(stack, 3); - setTimer(stack, 100); - } else if(state == 3) { - - if(getTimer(stack) == 0) { - - setState(stack, 0); - world.playSoundAtEntity(player, "hbm:weapon.follyFire", 1.0F, 1.0F); - - double mult = 1.75D; - - player.motionX -= player.getLookVec().xCoord * mult; - player.motionY -= player.getLookVec().yCoord * mult; - player.motionZ -= player.getLookVec().zCoord * mult; - - if (!world.isRemote) { - EntityBulletBaseNT bullet = new EntityBulletBaseNT(world, BulletConfigSyncingUtil.TEST_CONFIG, player); - world.spawnEntityInWorld(bullet); - } - } - } - - return stack; - } - - @Override - public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean isCurrentItem) { - - if(getState(stack) == 3) { - - if(isCurrentItem) { - int timer = getTimer(stack); - - if(timer > 0) { - timer--; - - if(timer % 20 == 0 && timer != 0) - world.playSoundAtEntity(entity, "hbm:weapon.follyBuzzer", 1.0F, 1.0F); - - if(timer == 0) - world.playSoundAtEntity(entity, "hbm:weapon.follyAquired", 1.0F, 1.0F); - - setTimer(stack, timer); - } - } else { - setTimer(stack, 100); - } - } - } - - //0: closed, empty, - //1: open, empty - //2: open, full - //3: closed, full - public static void setState(ItemStack stack, int i) { - writeNBT(stack, "state", i); - } - - public static int getState(ItemStack stack) { - return readNBT(stack, "state"); - } - - public static void setTimer(ItemStack stack, int i) { - writeNBT(stack, "timer", i); - } - - public static int getTimer(ItemStack stack) { - return readNBT(stack, "timer"); - } - - private static void writeNBT(ItemStack stack, String key, int value) { - - if(!stack.hasTagCompound()) - stack.stackTagCompound = new NBTTagCompound(); - - stack.stackTagCompound.setInteger(key, value); - } - - private static int readNBT(ItemStack stack, String key) { - - if(!stack.hasTagCompound()) - return 0; - - return stack.stackTagCompound.getInteger(key); - } - -} diff --git a/src/main/java/com/hbm/items/weapon/GunHP.java b/src/main/java/com/hbm/items/weapon/GunHP.java deleted file mode 100644 index 8d3d0f31b..000000000 --- a/src/main/java/com/hbm/items/weapon/GunHP.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; -import java.util.Random; - -import com.google.common.collect.Multimap; -import com.hbm.entity.projectile.EntityPlasmaBeam; -import com.hbm.items.ModItems; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -public class GunHP extends Item { - - Random rand = new Random(); - - public GunHP() { - this.maxStackSize = 1; - } - - @Override - public EnumAction getItemUseAction(ItemStack par1ItemStack) { - return EnumAction.bow; - } - - @Override - public int getMaxItemUseDuration(ItemStack p_77626_1_) { - return 72000; - } - - @Override - public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { - new ArrowNockEvent(p_77659_3_, p_77659_1_); - { - p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); - } - - return p_77659_1_; - } - - @Override - public void onUsingTick(ItemStack stack, EntityPlayer player, int count) { - World world = player.worldObj; - - boolean flag = player.capabilities.isCreativeMode - || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; - if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_hp_ammo))) { - - EntityPlasmaBeam plasma = new EntityPlasmaBeam(world, player, 1F); - EntityPlasmaBeam plasma1 = new EntityPlasmaBeam(world, player, 1F); - EntityPlasmaBeam plasma2 = new EntityPlasmaBeam(world, player, 1F); - EntityPlasmaBeam plasma3 = new EntityPlasmaBeam(world, player, 1F); - EntityPlasmaBeam plasma4 = new EntityPlasmaBeam(world, player, 1F); - plasma1.motionX *= (0.75 + (rand.nextDouble() * 0.5)); - plasma1.motionY *= (0.75 + (rand.nextDouble() * 0.5)); - plasma1.motionZ *= (0.75 + (rand.nextDouble() * 0.5)); - plasma2.motionX *= (0.75 + (rand.nextDouble() * 0.5)); - plasma2.motionY *= (0.75 + (rand.nextDouble() * 0.5)); - plasma2.motionZ *= (0.75 + (rand.nextDouble() * 0.5)); - plasma3.motionX *= (0.75 + (rand.nextDouble() * 0.5)); - plasma3.motionY *= (0.75 + (rand.nextDouble() * 0.5)); - plasma3.motionZ *= (0.75 + (rand.nextDouble() * 0.5)); - plasma4.motionX *= (0.75 + (rand.nextDouble() * 0.5)); - plasma4.motionY *= (0.75 + (rand.nextDouble() * 0.5)); - plasma4.motionZ *= (0.75 + (rand.nextDouble() * 0.5)); - - if (flag) { - plasma.canBePickedUp = 2; - } else { - if (count % 20 == 0) - player.inventory.consumeInventoryItem(ModItems.gun_hp_ammo); - } - - if (count == this.getMaxItemUseDuration(stack)) - world.playSoundAtEntity(player, "hbm:weapon.immolatorIgnite", 1.0F, 1F); - if (count % 10 == 0) - world.playSoundAtEntity(player, "hbm:weapon.immolatorShoot", 1.0F, 1F); - - if (!world.isRemote) { - world.spawnEntityInWorld(plasma); - world.spawnEntityInWorld(plasma1); - world.spawnEntityInWorld(plasma2); - world.spawnEntityInWorld(plasma3); - world.spawnEntityInWorld(plasma4); - } - } - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - list.add("Rrrrt - rrrrt - rrrrt, weeee!"); - list.add(""); - list.add("Ammo: Ink Cartridge"); - list.add("Damage: 25 - 45"); - list.add(""); - list.add("[LEGENDARY WEAPON]"); - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", 4, 0)); - return multimap; - } -} diff --git a/src/main/java/com/hbm/items/weapon/GunImmolator.java b/src/main/java/com/hbm/items/weapon/GunImmolator.java deleted file mode 100644 index e725f19b1..000000000 --- a/src/main/java/com/hbm/items/weapon/GunImmolator.java +++ /dev/null @@ -1,126 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; -import java.util.Random; - -import com.google.common.collect.Multimap; -import com.hbm.entity.projectile.EntityFire; -import com.hbm.entity.projectile.EntityPlasmaBeam; -import com.hbm.items.ModItems; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -public class GunImmolator extends Item { - - Random rand = new Random(); - - public GunImmolator() { - this.maxStackSize = 1; - } - - @Override - public EnumAction getItemUseAction(ItemStack par1ItemStack) { - return EnumAction.bow; - } - - @Override - public int getMaxItemUseDuration(ItemStack p_77626_1_) { - return 72000; - } - - @Override - public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { - new ArrowNockEvent(p_77659_3_, p_77659_1_); - { - p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); - } - - return p_77659_1_; - } - - @Override - public void onUsingTick(ItemStack stack, EntityPlayer player, int count) { - World world = player.worldObj; - - if (!player.isSneaking()) { - boolean flag = player.capabilities.isCreativeMode - || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; - if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_immolator_ammo))) { - EntityFire entityarrow = new EntityFire(world, player, 3.0F); - entityarrow.setDamage(6 + rand.nextInt(5)); - - if (flag) { - entityarrow.canBePickedUp = 2; - } else { - if(count % 10 == 0) - player.inventory.consumeInventoryItem(ModItems.gun_immolator_ammo); - } - - if(count == this.getMaxItemUseDuration(stack)) - world.playSoundAtEntity(player, "hbm:weapon.flamethrowerIgnite", 1.0F, 1F); - if(count % 5 == 0) - world.playSoundAtEntity(player, "hbm:weapon.flamethrowerShoot", 1.0F, 1F); - - if (!world.isRemote) { - world.spawnEntityInWorld(entityarrow); - } - } - } else { - boolean flag = player.capabilities.isCreativeMode - || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; - if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_immolator_ammo))) { - - EntityPlasmaBeam plasma = new EntityPlasmaBeam(world, player, 1F); - - if (flag) { - plasma.canBePickedUp = 2; - } else { - if(count % 4 == 0) - player.inventory.consumeInventoryItem(ModItems.gun_immolator_ammo); - } - - if(count == this.getMaxItemUseDuration(stack)) - world.playSoundAtEntity(player, "hbm:weapon.immolatorIgnite", 1.0F, 1F); - if(count % 10 == 0) - world.playSoundAtEntity(player, "hbm:weapon.immolatorShoot", 1.0F, 1F); - - if (!world.isRemote) - world.spawnEntityInWorld(plasma); - } - } - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - list.add("Hold right mouse button"); - list.add("to shoot fire,"); - list.add("sneak to shoot"); - list.add("plasma beams!"); - list.add(""); - list.add("Ammo: Immolator Fuel"); - list.add("Damage: 5"); - list.add("Secondary Damage: 25 - 45"); - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", 4, 0)); - return multimap; - } -} diff --git a/src/main/java/com/hbm/items/weapon/GunJack.java b/src/main/java/com/hbm/items/weapon/GunJack.java deleted file mode 100644 index efb6e453e..000000000 --- a/src/main/java/com/hbm/items/weapon/GunJack.java +++ /dev/null @@ -1,150 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; -import java.util.Random; - -import com.google.common.collect.Multimap; -import com.hbm.entity.projectile.EntityBullet; -import com.hbm.items.ModItems; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.ArrowLooseEvent; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -public class GunJack extends Item { - Random rand = new Random(); - - public int dmgMin = 12; - public int dmgMax = 24; - - public GunJack() { - - this.maxStackSize = 1; - } - - /** - * called when the player releases the use item button. Args: itemstack, - * world, entityplayer, itemInUseCount - */ - @Override - public void onPlayerStoppedUsing(ItemStack p_77615_1_, World p_77615_2_, EntityPlayer p_77615_3_, int p_77615_4_) { - int j = this.getMaxItemUseDuration(p_77615_1_) - p_77615_4_; - - ArrowLooseEvent event = new ArrowLooseEvent(p_77615_3_, p_77615_1_, j); - MinecraftForge.EVENT_BUS.post(event); - j = event.charge; - - boolean flag = p_77615_3_.capabilities.isCreativeMode - || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, p_77615_1_) > 0; - - if (flag || p_77615_3_.inventory.hasItem(ModItems.gun_jack_ammo)) { - float f = j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - - if (j < 10.0D) { - return; - } - - if (j > 10.0F) { - f = 10.0F; - } - - p_77615_1_.damageItem(1, p_77615_3_); - - p_77615_2_.playSoundAtEntity(p_77615_3_, "hbm:weapon.shotgunShoot", 1.0F, 1.0F); - - if (flag) { } else { - p_77615_3_.inventory.consumeInventoryItem(ModItems.gun_jack_ammo); - } - - int k = rand.nextInt(25) + 24; - - for(int i = 0; i < k; i++) { - - EntityBullet entityarrow1 = new EntityBullet(p_77615_2_, p_77615_3_, 3.0F); - entityarrow1.setDamage(dmgMin + rand.nextInt(dmgMax - dmgMin)); - - if(!p_77615_2_.isRemote) - p_77615_2_.spawnEntityInWorld(entityarrow1); - } - } - } - - @Override - public ItemStack onEaten(ItemStack p_77654_1_, World p_77654_2_, EntityPlayer p_77654_3_) { - return p_77654_1_; - } - - /** - * How long it takes to use or consume an item - */ - @Override - public int getMaxItemUseDuration(ItemStack p_77626_1_) { - return 72000; - } - - /** - * returns the action that specifies what animation to play when the items - * is being used - */ - @Override - public EnumAction getItemUseAction(ItemStack p_77661_1_) { - return EnumAction.bow; - } - - /** - * Called whenever this item is equipped and the right mouse button is - * pressed. Args: itemStack, world, entityPlayer - */ - @Override - public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { - ArrowNockEvent event = new ArrowNockEvent(p_77659_3_, p_77659_1_); - MinecraftForge.EVENT_BUS.post(event); - - if (p_77659_3_.capabilities.isCreativeMode || p_77659_3_.inventory.hasItem(ModItems.gun_jack_ammo)) { - p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); - } - - return p_77659_1_; - } - - /** - * Return the enchantability factor of the item, most of the time is based - * on material. - */ - @Override - public int getItemEnchantability() { - return 1; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - list.add("One barrel? Boring."); - list.add("Two barrels? Nah."); - list.add("Four barrels? Heck yes!"); - list.add(""); - list.add("Ammo: Quadruple Shotgun Shells"); - list.add("Damage: 12 - 24"); - list.add("Projectiles: 24 - 48"); - list.add(""); - list.add("[LEGENDARY WEAPON]"); - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", 4.5, 0)); - return multimap; - } -} diff --git a/src/main/java/com/hbm/items/weapon/GunLeverActionS.java b/src/main/java/com/hbm/items/weapon/GunLeverActionS.java deleted file mode 100644 index 2d90d50ca..000000000 --- a/src/main/java/com/hbm/items/weapon/GunLeverActionS.java +++ /dev/null @@ -1,232 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; -import java.util.Random; - -import com.google.common.collect.Multimap; -import com.hbm.items.ModItems; -import com.hbm.lib.ModDamageSource; -import com.hbm.main.MainRegistry; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.StatCollector; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.ArrowLooseEvent; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -public class GunLeverActionS extends Item { - - Random rand = new Random(); - - public int dmgMin = 8; - public int dmgMax = 16; - - public GunLeverActionS() { - - this.maxStackSize = 1; - - this.setMaxDamage(500); - } - - /** - * called when the player releases the use item button. Args: itemstack, - * world, entityplayer, itemInUseCount - */ - @Override - public void onPlayerStoppedUsing(ItemStack p_77615_1_, World p_77615_2_, EntityPlayer p_77615_3_, int p_77615_4_) { - int j = this.getMaxItemUseDuration(p_77615_1_) - p_77615_4_; - - ArrowLooseEvent event = new ArrowLooseEvent(p_77615_3_, p_77615_1_, j); - MinecraftForge.EVENT_BUS.post(event); - j = event.charge; - - boolean flag = p_77615_3_.capabilities.isCreativeMode - || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, p_77615_1_) > 0; - - if (flag || p_77615_3_.inventory.hasItem(ModItems.ammo_20gauge)) { - float f = j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - - if (j < 10.0D) { - return; - } - - if (j > 10.0F) { - f = 10.0F; - } - - Vec3 vec = p_77615_3_.getLookVec(); - vec.xCoord *= -1; - vec.yCoord *= -1; - vec.zCoord *= -1; - vec.normalize(); - - p_77615_3_.motionX += vec.xCoord * 0.75; - p_77615_3_.motionY += vec.yCoord * 0.75; - p_77615_3_.motionZ += vec.zCoord * 0.75; - - p_77615_3_.inventory.consumeInventoryItem(ModItems.ammo_20gauge); - - p_77615_1_.damageItem(1, p_77615_3_); - - p_77615_3_.attackEntityFrom(ModDamageSource.suicide, 10000); - if(!p_77615_3_.capabilities.isCreativeMode) - p_77615_3_.setHealth(0.0F); - - p_77615_2_.playSoundAtEntity(p_77615_3_, "hbm:weapon.revolverShootAlt", 5.0F, 0.75F); - - setAnim(p_77615_1_, 1); - } - } - - - @Override - public void onUpdate(ItemStack stack, World world, Entity entity, int i, boolean b) { - int j = getAnim(stack); - - if(j > 0) { - if(j < 30) - setAnim(stack, j + 1); - else - setAnim(stack, 0); - - if(j == 15) - world.playSoundAtEntity(entity, "hbm:weapon.leverActionReload", 2F, 0.85F); - } - - } - - @Override - public ItemStack onEaten(ItemStack p_77654_1_, World p_77654_2_, EntityPlayer p_77654_3_) { - return p_77654_1_; - } - - /** - * How long it takes to use or consume an item - */ - @Override - public int getMaxItemUseDuration(ItemStack p_77626_1_) { - return 72000; - } - - /** - * returns the action that specifies what animation to play when the items - * is being used - */ - @Override - public EnumAction getItemUseAction(ItemStack p_77661_1_) { - return EnumAction.bow; - } - - /** - * Called whenever this item is equipped and the right mouse button is - * pressed. Args: itemStack, world, entityPlayer - */ - @Override - public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { - ArrowNockEvent event = new ArrowNockEvent(p_77659_3_, p_77659_1_); - MinecraftForge.EVENT_BUS.post(event); - - if(this.getAnim(p_77659_1_) == 0) - p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); - - return p_77659_1_; - } - - /** - * Return the enchantability factor of the item, most of the time is based - * on material. - */ - @Override - public int getItemEnchantability() { - return 1; - } - - public String getItemStackDisplayName(ItemStack stack) - { - if(MainRegistry.polaroidID == 11) - return ("" + StatCollector.translateToLocal(this.getUnlocalizedName() + "_2.name")).trim(); - else - return ("" + StatCollector.translateToLocal(this.getUnlocalizedName() + ".name")).trim(); - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - if(MainRegistry.polaroidID == 11) - list.add("Vee guilt-tripped me into this."); - else - list.add("I hate your guts, Vee."); - list.add(""); - list.add("Ammo: 12x74 Buckshot"); - list.add("Damage: Infinite"); - list.add(""); - list.add("[LEGENDARY WEAPON]"); - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", 3.5, 0)); - return multimap; - } - - private static int getAnim(ItemStack stack) { - if(stack.stackTagCompound == null) { - stack.stackTagCompound = new NBTTagCompound(); - return 0; - } - - return stack.stackTagCompound.getInteger("animation"); - - } - - private static void setAnim(ItemStack stack, int i) { - if(stack.stackTagCompound == null) { - stack.stackTagCompound = new NBTTagCompound(); - } - - stack.stackTagCompound.setInteger("animation", i); - - } - - public static float getRotationFromAnim(ItemStack stack) { - float rad = 0.0174533F; - rad *= 7.5F; - int i = getAnim(stack); - - if(i < 10) - return 0; - i -= 10; - - if(i < 10) - return rad * i; - else - return (rad * 10) - (rad * (i - 10)); - } - - public static float getOffsetFromAnim(ItemStack stack) { - float i = getAnim(stack); - - if(i < 10) - return 0; - i -= 10; - - if(i < 10) - return i / 10; - else - return 2 - (i / 10); - } -} diff --git a/src/main/java/com/hbm/items/weapon/GunRpg.java b/src/main/java/com/hbm/items/weapon/GunRpg.java deleted file mode 100644 index e3c8fa53e..000000000 --- a/src/main/java/com/hbm/items/weapon/GunRpg.java +++ /dev/null @@ -1,144 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; - -import com.google.common.collect.Multimap; -import com.hbm.entity.projectile.EntityRocket; -import com.hbm.items.ModItems; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.ArrowLooseEvent; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -public class GunRpg extends Item { - public static final String[] bowPullIconNameArray = new String[] { "pulling_0", "pulling_1", "pulling_2" }; - @SideOnly(Side.CLIENT) - private IIcon[] iconArray; - public GunRpg() { - this.maxStackSize = 1; - this.setMaxDamage(500); - } - - /** - * called when the player releases the use item button. Args: itemstack, - * world, entityplayer, itemInUseCount - */ - @Override - public void onPlayerStoppedUsing(ItemStack p_77615_1_, World p_77615_2_, EntityPlayer p_77615_3_, int p_77615_4_) { - int j = this.getMaxItemUseDuration(p_77615_1_) - p_77615_4_; - - ArrowLooseEvent event = new ArrowLooseEvent(p_77615_3_, p_77615_1_, j); - MinecraftForge.EVENT_BUS.post(event); - j = event.charge; - - boolean flag = p_77615_3_.capabilities.isCreativeMode - || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, p_77615_1_) > 0; - - if (flag || p_77615_3_.inventory.hasItem(ModItems.ammo_rocket)) { - float f = j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - - if (j < 25.0D) { - return; - } - - if (j > 25.0F) { - f = 25.0F; - } - - EntityRocket entityarrow = new EntityRocket(p_77615_2_, p_77615_3_, 3.0F); - - if (f == 1.0F) { - entityarrow.setIsCritical(true); - } - - p_77615_1_.damageItem(1, p_77615_3_); - p_77615_2_.playSoundAtEntity(p_77615_3_, "hbm:weapon.rpgShoot", 1.0F, 0.25F); - - if (flag) { - entityarrow.canBePickedUp = 2; - } else { - p_77615_3_.inventory.consumeInventoryItem(ModItems.ammo_rocket); - } - - if (!p_77615_2_.isRemote) { - entityarrow.canBePickedUp = 2; - p_77615_2_.spawnEntityInWorld(entityarrow); - } - } - } - - @Override - public ItemStack onEaten(ItemStack p_77654_1_, World p_77654_2_, EntityPlayer p_77654_3_) { - return p_77654_1_; - } - - /** - * How long it takes to use or consume an item - */ - @Override - public int getMaxItemUseDuration(ItemStack p_77626_1_) { - return 72000; - } - - /** - * returns the action that specifies what animation to play when the items - * is being used - */ - @Override - public EnumAction getItemUseAction(ItemStack p_77661_1_) { - return EnumAction.bow; - } - - /** - * Called whenever this item is equipped and the right mouse button is - * pressed. Args: itemStack, world, entityPlayer - */ - @Override - public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { - ArrowNockEvent event = new ArrowNockEvent(p_77659_3_, p_77659_1_); - MinecraftForge.EVENT_BUS.post(event); - - p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); - - return p_77659_1_; - } - - /** - * Return the enchantability factor of the item, most of the time is based - * on material. - */ - @Override - public int getItemEnchantability() { - return 1; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - list.add("Kaboom!"); - list.add(""); - list.add("Ammo: Rockets"); - list.add("Projectiles explode on impact."); - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", 4, 0)); - return multimap; - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/items/weapon/GunSpark.java b/src/main/java/com/hbm/items/weapon/GunSpark.java deleted file mode 100644 index 55b34c1d7..000000000 --- a/src/main/java/com/hbm/items/weapon/GunSpark.java +++ /dev/null @@ -1,141 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; -import java.util.Random; - -import com.google.common.collect.Multimap; -import com.hbm.entity.projectile.EntitySparkBeam; -import com.hbm.items.ModItems; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.ArrowLooseEvent; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -public class GunSpark extends Item { - Random rand = new Random(); - - public int dmgMin = 12; - public int dmgMax = 24; - - public GunSpark() { - - this.maxStackSize = 1; - } - - /** - * called when the player releases the use item button. Args: itemstack, - * world, entityplayer, itemInUseCount - */ - @Override - public void onPlayerStoppedUsing(ItemStack p_77615_1_, World p_77615_2_, EntityPlayer p_77615_3_, int p_77615_4_) { - int j = this.getMaxItemUseDuration(p_77615_1_) - p_77615_4_; - - ArrowLooseEvent event = new ArrowLooseEvent(p_77615_3_, p_77615_1_, j); - MinecraftForge.EVENT_BUS.post(event); - j = event.charge; - - boolean flag = p_77615_3_.capabilities.isCreativeMode - || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, p_77615_1_) > 0; - - if (flag || p_77615_3_.inventory.hasItem(ModItems.gun_spark_ammo)) { - float f = j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - - if (j < 10.0D) { - return; - } - - if (j > 10.0F) { - f = 10.0F; - } - - p_77615_1_.damageItem(1, p_77615_3_); - - p_77615_2_.playSoundAtEntity(p_77615_3_, "hbm:weapon.sparkShoot", 1.0F, 1.0F); - - if (flag) { } else { - p_77615_3_.inventory.consumeInventoryItem(ModItems.gun_spark_ammo); - } - - EntitySparkBeam beam = new EntitySparkBeam(p_77615_2_, p_77615_3_, 3F); - beam.setDamage(dmgMin + rand.nextInt(dmgMax - dmgMin)); - - if(!p_77615_2_.isRemote) - p_77615_2_.spawnEntityInWorld(beam); - } - } - - @Override - public ItemStack onEaten(ItemStack p_77654_1_, World p_77654_2_, EntityPlayer p_77654_3_) { - return p_77654_1_; - } - - /** - * How long it takes to use or consume an item - */ - @Override - public int getMaxItemUseDuration(ItemStack p_77626_1_) { - return 72000; - } - - /** - * returns the action that specifies what animation to play when the items - * is being used - */ - @Override - public EnumAction getItemUseAction(ItemStack p_77661_1_) { - return EnumAction.bow; - } - - /** - * Called whenever this item is equipped and the right mouse button is - * pressed. Args: itemStack, world, entityPlayer - */ - @Override - public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { - ArrowNockEvent event = new ArrowNockEvent(p_77659_3_, p_77659_1_); - MinecraftForge.EVENT_BUS.post(event); - - p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); - - return p_77659_1_; - } - - /** - * Return the enchantability factor of the item, most of the time is based - * on material. - */ - @Override - public int getItemEnchantability() { - return 1; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - list.add("'magic does not compute'"); - list.add("'aeiou'"); - list.add(""); - list.add("Ammo: Electromagnetic Cartridge"); - list.add("Projectiles explode on impact."); - list.add(""); - list.add("[LEGENDARY WEAPON]"); - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", 4.5, 0)); - return multimap; - } -} diff --git a/src/main/java/com/hbm/items/weapon/GunSuicide.java b/src/main/java/com/hbm/items/weapon/GunSuicide.java deleted file mode 100644 index b94700be1..000000000 --- a/src/main/java/com/hbm/items/weapon/GunSuicide.java +++ /dev/null @@ -1,158 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; -import java.util.Random; - -import com.google.common.collect.Multimap; -import com.hbm.items.ModItems; -import com.hbm.lib.ModDamageSource; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.ArrowLooseEvent; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -public class GunSuicide extends Item { - - public static final String[] bowPullIconNameArray = new String[] {"pulling_0", "pulling_1", "pulling_2"}; - @SideOnly(Side.CLIENT) - private IIcon[] iconArray; - private Item ammo; - Random rand = new Random(); - - public GunSuicide() - { - this.maxStackSize = 1; - //if(this == ModItems.gun_revolver) - { - this.setMaxDamage(500); - } - - this.ammo = ModItems.ammo_357; - } - - /** - * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount - */ - @Override - public void onPlayerStoppedUsing(ItemStack p_77615_1_, World p_77615_2_, EntityPlayer p_77615_3_, int p_77615_4_) - { - int j = this.getMaxItemUseDuration(p_77615_1_) - p_77615_4_; - - ArrowLooseEvent event = new ArrowLooseEvent(p_77615_3_, p_77615_1_, j); - MinecraftForge.EVENT_BUS.post(event); - j = event.charge; - - boolean flag = p_77615_3_.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, p_77615_1_) > 0; - - - if (flag || p_77615_3_.inventory.hasItem(ammo)) - { - float f = j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - - if (j < 10.0D) - { - return; - } - - if (j > 10.0F) - { - f = 10.0F; - } - - p_77615_1_.damageItem(1, p_77615_3_); - p_77615_2_.playSoundAtEntity(p_77615_3_, "hbm:weapon.revolverShoot", 1.0F, 1.0F); - - if (flag) - { } - else - { - p_77615_3_.inventory.consumeInventoryItem(ammo); - } - - if (!p_77615_2_.isRemote) - { - p_77615_3_.attackEntityFrom(ModDamageSource.suicide, 10000); - if(!p_77615_3_.capabilities.isCreativeMode) - p_77615_3_.setHealth(0.0F); - } - } - } - - @Override - public ItemStack onEaten(ItemStack p_77654_1_, World p_77654_2_, EntityPlayer p_77654_3_) - { - return p_77654_1_; - } - - /** - * How long it takes to use or consume an item - */ - @Override - public int getMaxItemUseDuration(ItemStack p_77626_1_) - { - return 72000; - } - - /** - * returns the action that specifies what animation to play when the items is being used - */ - @Override - public EnumAction getItemUseAction(ItemStack p_77661_1_) - { - return EnumAction.bow; - } - - /** - * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer - */ - @Override - public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) - { - ArrowNockEvent event = new ArrowNockEvent(p_77659_3_, p_77659_1_); - MinecraftForge.EVENT_BUS.post(event); - - p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); - - return p_77659_1_; - } - - /** - * Return the enchantability factor of the item, most of the time is based on material. - */ - @Override - public int getItemEnchantability() - { - return 1; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - list.add("I've seen things..."); - list.add("...I shouldn't have seen."); - list.add(""); - list.add("Ammo: Lead Bullets"); - list.add("Damage: Infinite"); - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", 2.5, 0)); - return multimap; - } -} diff --git a/src/main/java/com/hbm/items/weapon/GunUZI.java b/src/main/java/com/hbm/items/weapon/GunUZI.java deleted file mode 100644 index 630347f80..000000000 --- a/src/main/java/com/hbm/items/weapon/GunUZI.java +++ /dev/null @@ -1,135 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; -import java.util.Random; - -import com.google.common.collect.Multimap; -import com.hbm.entity.projectile.EntityBullet; -import com.hbm.interfaces.IHoldableWeapon; -import com.hbm.items.ModItems; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -public class GunUZI extends Item implements IHoldableWeapon { - - Random rand = new Random(); - - public GunUZI() - { - this.maxStackSize = 1; - } - - @Override - public EnumAction getItemUseAction(ItemStack par1ItemStack) { - return EnumAction.none; - } - - @Override - public int getMaxItemUseDuration(ItemStack p_77626_1_) { - return 72000; - } - - @Override - public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { - new ArrowNockEvent(p_77659_3_, p_77659_1_); - { - p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); - } - - return p_77659_1_; - } - - @Override - public void onUsingTick(ItemStack stack, EntityPlayer player, int count) - { - World world = player.worldObj; - - boolean flag = player.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; - - if (player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.ammo_22lr)) { - - EntityBullet entityarrow = new EntityBullet(world, player, 3.0F, 2, 4, false, false); - entityarrow.setDamage(2 + rand.nextInt(3)); - - if(this == ModItems.gun_uzi_saturnite || this == ModItems.gun_uzi_saturnite_silencer) { - entityarrow.setDamage(4 + rand.nextInt(5)); - entityarrow.fire = true; - } - - if(this == ModItems.gun_uzi || this == ModItems.gun_uzi_saturnite) - world.playSoundAtEntity(player, "hbm:weapon.uziShoot", 10.0F, 1.0F); - if(this == ModItems.gun_uzi_silencer || this == ModItems.gun_uzi_saturnite_silencer) - world.playSoundAtEntity(player, "hbm:weapon.silencerShoot", 0.15F, 1.0F); - - if (!flag) { - player.inventory.consumeInventoryItem(ModItems.ammo_22lr); - } - - if (!world.isRemote) { - world.spawnEntityInWorld(entityarrow); - } - } - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - if(this == ModItems.gun_uzi) - list.add("[very intense pewpew-ing]"); - if(this == ModItems.gun_uzi_silencer) - list.add("Mom, where are my mittens?"); - if(this == ModItems.gun_uzi_saturnite) - list.add("The real deal."); - if(this == ModItems.gun_uzi_saturnite_silencer) - list.add("The real deal 2: Electric boogaloo"); - list.add(""); - list.add("Ammo: .22 LR Round"); - - if(this == ModItems.gun_uzi || this == ModItems.gun_uzi_silencer) { - list.add("Damage: 2 - 4"); - } - if(this == ModItems.gun_uzi_saturnite || this == ModItems.gun_uzi_saturnite_silencer) { - list.add("Damage: 4 - 8"); - list.add("Sets enemy on fire."); - } - } - - @Override - public EnumRarity getRarity(ItemStack p_77613_1_) { - - if (this == ModItems.gun_uzi_saturnite || this == ModItems.gun_uzi_saturnite_silencer) { - return EnumRarity.rare; - } - - return EnumRarity.common; - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", 2.5D, 0)); - return multimap; - } - - @Override - public Crosshair getCrosshair() { - return Crosshair.L_CROSS; - } -} diff --git a/src/main/java/com/hbm/items/weapon/GunXVL1456.java b/src/main/java/com/hbm/items/weapon/GunXVL1456.java deleted file mode 100644 index 56381afe1..000000000 --- a/src/main/java/com/hbm/items/weapon/GunXVL1456.java +++ /dev/null @@ -1,180 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; -import java.util.Random; - -import com.google.common.collect.Multimap; -import com.hbm.entity.projectile.EntityBullet; -import com.hbm.items.ModItems; -import com.hbm.lib.ModDamageSource; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.ArrowLooseEvent; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -public class GunXVL1456 extends Item { - - Random rand = new Random(); - - public GunXVL1456() - { - this.maxStackSize = 1; - this.setMaxDamage(2500); - } - - @Override - public EnumAction getItemUseAction(ItemStack par1ItemStack) { - return EnumAction.bow; - } - - @Override - public void onPlayerStoppedUsing(ItemStack stack, World world, EntityPlayer player, int i) { - - int j = this.getMaxItemUseDuration(stack) - i; - ArrowLooseEvent event = new ArrowLooseEvent(player, stack, j); - MinecraftForge.EVENT_BUS.post(event); - // if (event.isCanceled()) { - // return; - // } - j = event.charge * 2; - - if (player.isSneaking() && j >= 20) { - boolean flag = player.capabilities.isCreativeMode - || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; - - if (flag || player.inventory.hasItem(ModItems.gun_xvl1456_ammo)) { - EntityBullet entitybullet = new EntityBullet(world, player, 3.0F, j, j + 5, false, "tauDay"); - - entitybullet.setDamage(j + rand.nextInt(6)); - - world.playSoundAtEntity(player, "hbm:weapon.tauShoot", 1.0F, 0.5F); - - if (flag) { - entitybullet.canBePickedUp = 2; - } else { - player.inventory.consumeInventoryItem(ModItems.gun_xvl1456_ammo); - } - - entitybullet.setIsCritical(true); - - if (!world.isRemote) { - world.spawnEntityInWorld(entitybullet); - } - stack.damageItem((int)(j * 0.05F), player); - - player.rotationPitch -= (j * 0.1F); - } - } - } - - @Override - public int getMaxItemUseDuration(ItemStack p_77626_1_) { - return 72000; - } - - @Override - public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { - ArrowNockEvent event = new ArrowNockEvent(p_77659_3_, p_77659_1_); - MinecraftForge.EVENT_BUS.post(event); - // if (event.isCanceled()) { - // return event.result; - // } - // Made uncancelable to prevent intermod idiocy - { - p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); - } - - return p_77659_1_; - } - - @Override - public void onUsingTick(ItemStack stack, EntityPlayer player, int count) - { - World world = player.worldObj; - - if (!player.isSneaking()) { - boolean flag = player.capabilities.isCreativeMode - || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; - if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_xvl1456_ammo)) && count % 4 == 0) { - - EntityBullet entityarrow = new EntityBullet(world, player, 3.0F, 25, 65, false, "eyyOk"); - entityarrow.setDamage(25 + rand.nextInt(65 - 25)); - - world.playSoundAtEntity(player, "hbm:weapon.tauShoot", 1.0F, 0.8F + (rand.nextFloat() * 0.4F)); - - if (flag) { - entityarrow.canBePickedUp = 2; - } else { - player.inventory.consumeInventoryItem(ModItems.gun_xvl1456_ammo); - } - - if (!world.isRemote) { - world.spawnEntityInWorld(entityarrow); - } - } - } else { - if (count % 20 == 0 && this.getMaxItemUseDuration(stack) - count != 0) { - boolean flag = player.capabilities.isCreativeMode - || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; - if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_xvl1456_ammo))) { - if (!flag) { - player.inventory.consumeInventoryItem(ModItems.gun_xvl1456_ammo); - } - } - } - - world.playSoundAtEntity(player, "hbm:misc.nullTau", 0.1F, 1.0F); - } - - if(player instanceof EntityPlayer) - { - if(count < getMaxItemUseDuration(stack) - 200 && player.isSneaking() && count != 0) - { - if(!world.isRemote) - { - stack.damageItem(1250, player); - - world.createExplosion(player, player.posX, player.posY, player.posZ, 10.0F, true); - player.attackEntityFrom(ModDamageSource.tauBlast, 1000F); - player.dropOneItem(false); - } - } - } - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - list.add("Hold right mouse button"); - list.add("to shoot tauons,"); - list.add("sneak to charge up for"); - list.add("stronger shots!"); - list.add(""); - list.add("Ammo: Depleted Uranium"); - list.add("Damage: 25 - 65"); - list.add("Charged Damage: 40 - 400"); - list.add("Projectiles penetrate walls."); - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", 6, 0)); - return multimap; - } - -} diff --git a/src/main/java/com/hbm/items/weapon/GunZOMG.java b/src/main/java/com/hbm/items/weapon/GunZOMG.java deleted file mode 100644 index 971592633..000000000 --- a/src/main/java/com/hbm/items/weapon/GunZOMG.java +++ /dev/null @@ -1,226 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; -import java.util.Random; - -import com.google.common.collect.Multimap; -import com.hbm.entity.projectile.EntityBullet; -import com.hbm.entity.projectile.EntityRainbow; -import com.hbm.items.ModItems; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ChatComponentText; -import net.minecraft.world.World; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -public class GunZOMG extends Item { - - Random rand = new Random(); - - public GunZOMG() { - this.maxStackSize = 1; - } - - @Override - public EnumAction getItemUseAction(ItemStack par1ItemStack) { - return EnumAction.bow; - } - - @Override - public int getMaxItemUseDuration(ItemStack p_77626_1_) { - return 72000; - } - - @Override - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - new ArrowNockEvent(player, stack); - { - player.setItemInUse(stack, this.getMaxItemUseDuration(stack)); - } - - if (!stack.hasTagCompound()) { - stack.stackTagCompound = new NBTTagCompound(); - stack.stackTagCompound.setBoolean("valid", false); - stack.stackTagCompound.setBoolean("superuser", false); - } - - if (!player.isSneaking()) { - if (stack.stackTagCompound.getBoolean("valid")) { - if ((player.inventory.hasItem(ModItems.nugget_euphemium) - || player.inventory.hasItem(ModItems.ingot_euphemium))) { - } else { - if (!player.inventory.hasItem(ModItems.nugget_euphemium) - && !player.inventory.hasItem(ModItems.ingot_euphemium)) { - stack.stackTagCompound.setBoolean("valid", false); - if (!world.isRemote) { - player.addChatMessage(new ChatComponentText("[ZOMG] Validation lost!")); - player.addChatMessage(new ChatComponentText("[ZOMG] Request new validation!")); - } - } - } - } else { - if (!world.isRemote) { - player.addChatMessage(new ChatComponentText("[ZOMG] Gun not validated!")); - player.addChatMessage(new ChatComponentText("[ZOMG] Validate your gun with shift right-click.")); - } - } - } else { - if (stack.stackTagCompound.getBoolean("valid")) { - if (!world.isRemote) { - player.addChatMessage(new ChatComponentText("[ZOMG] Gun has already been validated.")); - } - } else { - if (player.inventory.hasItem(ModItems.nugget_euphemium) || player.inventory.hasItem(ModItems.ingot_euphemium)) { - stack.stackTagCompound.setBoolean("valid", true); - if (!world.isRemote) { - player.addChatMessage(new ChatComponentText("[ZOMG] Gun has been validated!")); - } - - //if(Library.superuser.contains(player.getUniqueID().toString())) { - if(player.inventory.hasItem(ModItems.polaroid)) { - if (!world.isRemote) { - player.addChatMessage(new ChatComponentText("[ZOMG] Welcome, superuser!")); - } - stack.stackTagCompound.setBoolean("superuser", true); - } else { - if (!world.isRemote) { - player.addChatMessage(new ChatComponentText("[ZOMG] Welcome, user!")); - } - stack.stackTagCompound.setBoolean("superuser", false); - } - } else { - if (!world.isRemote) { - player.addChatMessage(new ChatComponentText("[ZOMG] Validation failed!")); - player.addChatMessage(new ChatComponentText("[ZOMG] No external negative gravity well found!")); - } - } - } - } - - return stack; - } - - @Override - public void onUsingTick(ItemStack stack, EntityPlayer player, int count) { - World world = player.worldObj; - - if (!stack.hasTagCompound()) { - stack.stackTagCompound = new NBTTagCompound(); - stack.stackTagCompound.setBoolean("valid", false); - stack.stackTagCompound.setBoolean("superuser", false); - } - - if (!player.isSneaking()) { - if (stack.stackTagCompound.getBoolean("valid")) { - EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack); - if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.nugget_euphemium) - || player.inventory.hasItem(ModItems.ingot_euphemium)) && count % 1 == 0) { - if (!stack.stackTagCompound.getBoolean("superuser")) { - EntityBullet entityarrow = new EntityBullet(world, player, 3.0F, 35, 45, false, "chopper"); - EntityBullet entityarrow1 = new EntityBullet(world, player, 3.0F, 35, 45, false, "chopper"); - EntityBullet entityarrow2 = new EntityBullet(world, player, 3.0F, 35, 45, false, "chopper"); - EntityBullet entityarrow3 = new EntityBullet(world, player, 3.0F, 35, 45, false, "chopper"); - EntityBullet entityarrow4 = new EntityBullet(world, player, 3.0F, 35, 45, false, "chopper"); - EntityBullet entityarrow5 = new EntityBullet(world, player, 3.0F, 35, 45, false, "chopper"); - entityarrow.setDamage(35 + rand.nextInt(45 - 35)); - entityarrow1.setDamage(35 + rand.nextInt(45 - 35)); - entityarrow2.setDamage(35 + rand.nextInt(45 - 35)); - entityarrow3.setDamage(35 + rand.nextInt(45 - 35)); - entityarrow4.setDamage(35 + rand.nextInt(45 - 35)); - entityarrow5.setDamage(35 + rand.nextInt(45 - 35)); - - world.playSoundAtEntity(player, "hbm:weapon.osiprShoot", 1.0F, 0.6F + (rand.nextFloat() * 0.4F)); - - if (!world.isRemote) { - world.spawnEntityInWorld(entityarrow); - world.spawnEntityInWorld(entityarrow1); - world.spawnEntityInWorld(entityarrow2); - world.spawnEntityInWorld(entityarrow3); - world.spawnEntityInWorld(entityarrow4); - world.spawnEntityInWorld(entityarrow5); - } - } else { - EntityRainbow entityarrow = new EntityRainbow(world, player, 1F); - EntityRainbow entityarrow1 = new EntityRainbow(world, player, 1F); - EntityRainbow entityarrow2 = new EntityRainbow(world, player, 1F); - EntityRainbow entityarrow3 = new EntityRainbow(world, player, 1F); - EntityRainbow entityarrow4 = new EntityRainbow(world, player, 1F); - entityarrow.setDamage(10000 + rand.nextInt(90000)); - entityarrow1.setDamage(10000 + rand.nextInt(90000)); - entityarrow2.setDamage(10000 + rand.nextInt(90000)); - entityarrow3.setDamage(10000 + rand.nextInt(90000)); - entityarrow4.setDamage(10000 + rand.nextInt(90000)); - - //world.playSoundAtEntity(player, "random.explode", 1.0F, 1.5F + (rand.nextFloat() / 4)); - world.playSoundAtEntity(player, "hbm:weapon.zomgShoot", 1.0F, 0.8F + (rand.nextFloat() * 0.4F)); - - if (!world.isRemote) { - world.spawnEntityInWorld(entityarrow); - world.spawnEntityInWorld(entityarrow1); - world.spawnEntityInWorld(entityarrow2); - world.spawnEntityInWorld(entityarrow3); - world.spawnEntityInWorld(entityarrow4); - } - } - } else { - if (!player.inventory.hasItem(ModItems.nugget_euphemium) - && !player.inventory.hasItem(ModItems.ingot_euphemium)) { - stack.stackTagCompound.setBoolean("valid", false); - if (!world.isRemote) { - player.addChatMessage(new ChatComponentText("[ZOMG] Validation lost!")); - player.addChatMessage(new ChatComponentText("[ZOMG] Request new validation!")); - } - } - } - } - } - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - if(itemstack.getTagCompound() == null) - { - list.add("Gun not validated."); - } else if(itemstack.getTagCompound().getBoolean("valid")) { - if(itemstack.getTagCompound().getBoolean("superuser")) { - list.add("Gun set to superuser mode."); - list.add("Firing mode: Negative energy bursts"); - } else { - list.add("Gun set to regular user mode."); - list.add("Firing mode: Dark pulse spray"); - } - } else { - list.add("Gun not validated."); - } - list.add(""); - list.add("Ammo: None (Requires Validation)"); - list.add("Damage: 35 - 45"); - list.add("Energy Damage: 10000 - 100000"); - list.add("Energy projectiles destroy blocks."); - list.add(""); - list.add("[LEGENDARY WEAPON]"); - //for(int i = 0; i < 25; i++) - // list.add("How do I use the ZOMG? How do I use the ZOMG? How do I use the ZOMG?"); - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", 6, 0)); - return multimap; - } -} diff --git a/src/main/java/com/hbm/items/weapon/ItemAmmo.java b/src/main/java/com/hbm/items/weapon/ItemAmmo.java index eebc241a8..24776babc 100644 --- a/src/main/java/com/hbm/items/weapon/ItemAmmo.java +++ b/src/main/java/com/hbm/items/weapon/ItemAmmo.java @@ -6,14 +6,11 @@ import java.util.List; import java.util.Locale; import java.util.Set; -import com.hbm.items.ItemAmmoEnums.AmmoRocket; import com.hbm.items.ItemAmmoEnums.IAmmoItemEnum; import com.hbm.items.ItemEnumMulti; -import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; -import com.hbm.main.MainRegistry; import com.hbm.util.EnumUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -122,7 +119,7 @@ public class ItemAmmo extends ItemEnumMulti { public ItemAmmo(Class> clazz, String altName) { super(clazz, true, true); - setCreativeTab(MainRegistry.weaponTab); + this.setCreativeTab(null); this.altName = altName; } @@ -131,10 +128,6 @@ public class ItemAmmo extends ItemEnumMulti { super.addInformation(stack, player, list, ext); if(!altName.isEmpty()) list.add(EnumChatFormatting.ITALIC + I18nUtil.resolveKey(altName)); - - if(stack.getItem() == ModItems.ammo_rocket && stack.getItemDamage() == AmmoRocket.DIGAMMA.ordinal()) { - list.add(player.worldObj.rand.nextInt(3) < 2 ? EnumChatFormatting.RED + "COVER YOURSELF IN OIL" : EnumChatFormatting.RED + "" + EnumChatFormatting.OBFUSCATED + "COVER YOURSELF IN OIL"); - } IAmmoItemEnum item = (IAmmoItemEnum) EnumUtil.grabEnumSafely(theEnum, stack.getItemDamage()); Set ammoTraits = item.getTraits(); diff --git a/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java b/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java index d6482e22f..1f9cd0582 100644 --- a/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java +++ b/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java @@ -20,11 +20,11 @@ import com.hbm.explosion.vanillant.standard.EntityProcessorCross; import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.fluid.Fluids; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; import com.hbm.particle.helper.ExplosionCreator; @@ -50,7 +50,7 @@ import net.minecraft.util.Vec3; import net.minecraft.util.MovingObjectPosition.MovingObjectType; public class ItemAmmoArty extends Item { - + public static Random rand = new Random(); public static ArtilleryShell[] itemTypes = new ArtilleryShell[ /* >>> */ 12 /* <<< */ ]; /* item types */ @@ -67,7 +67,7 @@ public class ItemAmmoArty extends Item { public final int PHOSGENE = 10; public final int MUSTARD = 11; /* non-item shell types */ - + public ItemAmmoArty() { this.setHasSubtypes(true); this.setCreativeTab(MainRegistry.weaponTab); @@ -97,7 +97,7 @@ public class ItemAmmoArty extends Item { String r = EnumChatFormatting.RED + ""; String y = EnumChatFormatting.YELLOW + ""; String b = EnumChatFormatting.BLUE + ""; - + switch(stack.getItemDamage()) { case NORMAL: list.add(y + "Strength: 10"); @@ -137,7 +137,7 @@ public class ItemAmmoArty extends Item { list.add(r + "minecraft's unicode has to offer)"); break; case CARGO: - + if(stack.hasTagCompound() && stack.stackTagCompound.getCompoundTag("cargo") != null) { ItemStack cargo = ItemStack.loadItemStackFromNBT(stack.stackTagCompound.getCompoundTag("cargo")); list.add(y + cargo.getDisplayName()); @@ -153,53 +153,53 @@ public class ItemAmmoArty extends Item { @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister reg) { - + this.icons = new IIcon[itemTypes.length]; for(int i = 0; i < icons.length; i++) { this.icons[i] = reg.registerIcon(RefStrings.MODID + ":" + itemTypes[i].name); } - + this.iconCargo = reg.registerIcon(RefStrings.MODID + ":ammo_arty_cargo_full"); } - + @SideOnly(Side.CLIENT) public IIcon getIconIndex(ItemStack stack) { - + if(stack.getItemDamage() == CARGO && stack.hasTagCompound() && stack.stackTagCompound.getCompoundTag("cargo") != null) { return this.iconCargo; } - + return this.getIconFromDamage(stack.getItemDamage()); } - + @Override @SideOnly(Side.CLIENT) public IIcon getIconFromDamage(int meta) { return this.icons[meta]; } - + @Override public String getUnlocalizedName(ItemStack stack) { return "item." + itemTypes[Math.abs(stack.getItemDamage()) % itemTypes.length].name; } - - protected static SpentCasing SIXTEEN_INCH_CASE = new SpentCasing(CasingType.STRAIGHT).setScale(15F, 15F, 10F).setupSmoke(1F, 1D, 200, 60).setMaxAge(300); - + + protected static SpentCasing SIXTEEN_INCH_CASE = new SpentCasing(CasingType.STRAIGHT).setScale(15F, 15F, 10F).setupSmoke(1F, 1D, 200, 60).setMaxAge(300).setBounceMotion(1F, 0.5F); + public abstract class ArtilleryShell { - + String name; public SpentCasing casing; - + public ArtilleryShell(String name, int casingColor) { this.name = name; this.casing = SIXTEEN_INCH_CASE.clone().register(name).setColor(casingColor); } - + public abstract void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop); public void onUpdate(EntityArtilleryShell shell) { } } - + public static void standardExplosion(EntityArtilleryShell shell, MovingObjectPosition mop, float size, float rangeMod, boolean breaksBlocks) { Vec3 vec = Vec3.createVectorHelper(shell.motionX, shell.motionY, shell.motionZ).normalize(); ExplosionVNT xnt = new ExplosionVNT(shell.worldObj, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, size); @@ -213,22 +213,22 @@ public class ItemAmmoArty extends Item { xnt.explode(); shell.killAndClear(); } - + public static void standardCluster(EntityArtilleryShell shell, int clusterType, int amount, double splitHeight, double deviation) { if(!shell.getWhistle() || shell.motionY > 0) return; if(shell.getTargetHeight() + splitHeight < shell.posY) return; - + shell.killAndClear(); - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "plasmablast"); data.setFloat("r", 1.0F); data.setFloat("g", 1.0F); data.setFloat("b", 1.0F); data.setFloat("scale", 50F); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, shell.posX, shell.posY, shell.posZ), + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, shell.posX, shell.posY, shell.posZ), new TargetPoint(shell.dimension, shell.posX, shell.posY, shell.posZ, 500)); - + for(int i = 0; i < amount; i++) { EntityArtilleryShell cluster = new EntityArtilleryShell(shell.worldObj); cluster.setType(clusterType); @@ -242,12 +242,12 @@ public class ItemAmmoArty extends Item { shell.worldObj.spawnEntityInWorld(cluster); } } - + private void init() { /* STANDARD SHELLS */ - this.itemTypes[NORMAL] = new ArtilleryShell("ammo_arty", SpentCasing.COLOR_CASE_16INCH) { public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { standardExplosion(shell, mop, 10F, 3F, false); ExplosionCreator.composeEffect(shell.worldObj, mop.blockX + 0.5, mop.blockY + 0.5, mop.blockZ + 0.5, 10, 2F, 0.5F, 25F, 5, 0, 20, 0.75F, 1F, -2F, 150); }}; - this.itemTypes[CLASSIC] = new ArtilleryShell("ammo_arty_classic", SpentCasing.COLOR_CASE_16INCH) { public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { standardExplosion(shell, mop, 15F, 5F, false); ExplosionCreator.composeEffect(shell.worldObj, mop.blockX + 0.5, mop.blockY + 0.5, mop.blockZ + 0.5, 15, 5F, 1F, 45F, 10, 0, 50, 1F, 3F, -2F, 200); }}; - this.itemTypes[EXPLOSIVE] = new ArtilleryShell("ammo_arty_he", SpentCasing.COLOR_CASE_16INCH) { public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { standardExplosion(shell, mop, 15F, 3F, true); ExplosionCreator.composeEffect(shell.worldObj, mop.blockX + 0.5, mop.blockY + 0.5, mop.blockZ + 0.5, 15, 5F, 1F, 45F, 10, 16, 50, 1F, 3F, -2F, 200); }}; + this.itemTypes[NORMAL] = new ArtilleryShell("ammo_arty", SpentCasing.COLOR_CASE_16INCH) { public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { standardExplosion(shell, mop, 10F, 3F, false); ExplosionCreator.composeEffect(shell.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 10, 2F, 0.5F, 25F, 5, 0, 20, 0.75F, 1F, -2F, 150); }}; + this.itemTypes[CLASSIC] = new ArtilleryShell("ammo_arty_classic", SpentCasing.COLOR_CASE_16INCH) { public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { standardExplosion(shell, mop, 15F, 5F, false); ExplosionCreator.composeEffect(shell.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 15, 5F, 1F, 45F, 10, 0, 50, 1F, 3F, -2F, 200); }}; + this.itemTypes[EXPLOSIVE] = new ArtilleryShell("ammo_arty_he", SpentCasing.COLOR_CASE_16INCH) { public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { standardExplosion(shell, mop, 15F, 3F, true); ExplosionCreator.composeEffect(shell.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 15, 5F, 1F, 45F, 10, 16, 50, 1F, 3F, -2F, 200); }}; /* MINI NUKE */ this.itemTypes[MINI_NUKE] = new ArtilleryShell("ammo_arty_mini_nuke", SpentCasing.COLOR_CASE_16INCH_NUKE) { @@ -257,16 +257,16 @@ public class ItemAmmoArty extends Item { ExplosionNukeSmall.explode(shell.worldObj, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, ExplosionNukeSmall.PARAMS_MEDIUM); } }; - + /* FULL NUKE */ this.itemTypes[NUKE] = new ArtilleryShell("ammo_arty_nuke", SpentCasing.COLOR_CASE_16INCH_NUKE) { public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { shell.worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(shell.worldObj, BombConfig.missileRadius, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord)); - EntityNukeTorex.statFac(shell.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, BombConfig.missileRadius); + EntityNukeTorex.statFacStandard(shell.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, BombConfig.missileRadius); shell.setDead(); } }; - + /* PHOSPHORUS */ this.itemTypes[PHOSPHORUS] = new ArtilleryShell("ammo_arty_phosphorus", SpentCasing.COLOR_CASE_16INCH_PHOS) { public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { @@ -288,15 +288,15 @@ public class ItemAmmoArty extends Item { for(int i = 0; i < 5; i++) { NBTTagCompound haze = new NBTTagCompound(); haze.setString("type", "haze"); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(haze, mop.hitVec.xCoord + shell.worldObj.rand.nextGaussian() * 10, mop.hitVec.yCoord, mop.hitVec.zCoord + shell.worldObj.rand.nextGaussian() * 10), new TargetPoint(shell.dimension, shell.posX, shell.posY, shell.posZ, 150)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(haze, mop.hitVec.xCoord + shell.worldObj.rand.nextGaussian() * 10, mop.hitVec.yCoord, mop.hitVec.zCoord + shell.worldObj.rand.nextGaussian() * 10), new TargetPoint(shell.dimension, shell.posX, shell.posY, shell.posZ, 150)); } NBTTagCompound data = new NBTTagCompound(); data.setString("type", "rbmkmush"); data.setFloat("scale", 10); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord), new TargetPoint(shell.dimension, shell.posX, shell.posY, shell.posZ, 250)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord), new TargetPoint(shell.dimension, shell.posX, shell.posY, shell.posZ, 250)); } }; - + /* THIS DOOFUS */ this.itemTypes[CARGO] = new ArtilleryShell("ammo_arty_cargo", SpentCasing.COLOR_CASE_16INCH) { public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { if(mop.typeOfHit == MovingObjectType.BLOCK) { @@ -304,7 +304,7 @@ public class ItemAmmoArty extends Item { shell.getStuck(mop.blockX, mop.blockY, mop.blockZ, mop.sideHit); } }}; - + /* GAS */ this.itemTypes[CHLORINE] = new ArtilleryShell("ammo_arty_chlorine", SpentCasing.COLOR_CASE_16INCH) { public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { @@ -363,7 +363,7 @@ public class ItemAmmoArty extends Item { PollutionHandler.incrementPollution(shell.worldObj, mop.blockX, mop.blockY, mop.blockZ, PollutionType.POISON, 30F); } }; - + /* CLUSTER SHELLS */ this.itemTypes[PHOSPHORUS_MULTI] = new ArtilleryShell("ammo_arty_phosphorus_multi", SpentCasing.COLOR_CASE_16INCH_PHOS) { public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { ItemAmmoArty.this.itemTypes[PHOSPHORUS].onImpact(shell, mop); } diff --git a/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java b/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java index 61ad4299d..0fac30620 100644 --- a/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java +++ b/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java @@ -13,10 +13,10 @@ import com.hbm.explosion.vanillant.standard.BlockMutatorDebris; import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; import com.hbm.explosion.vanillant.standard.EntityProcessorCross; import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; +import com.hbm.handler.threading.PacketThreading; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.particle.helper.ExplosionCreator; import com.hbm.potion.HbmPotion; @@ -39,7 +39,7 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.Vec3; public class ItemAmmoHIMARS extends Item { - + public static HIMARSRocket[] itemTypes = new HIMARSRocket[ /* >>> */ 8 /* <<< */ ]; public static final int SMALL = 0; @@ -50,11 +50,11 @@ public class ItemAmmoHIMARS extends Item { public static final int LARGE_TB = 5; public static final int SMALL_MINI_NUKE = 6; public static final int SMALL_LAVA = 7; - + public ItemAmmoHIMARS() { this.setHasSubtypes(true); this.setCreativeTab(MainRegistry.weaponTab); - this.setTextureName(RefStrings.MODID + ":ammo_rocket"); + this.setTextureName(RefStrings.MODID + ":ammo_standard.rocket_he"); this.setMaxStackSize(1); init(); } @@ -78,7 +78,7 @@ public class ItemAmmoHIMARS extends Item { String r = EnumChatFormatting.RED + ""; String y = EnumChatFormatting.YELLOW + ""; String b = EnumChatFormatting.BLUE + ""; - + switch(stack.getItemDamage()) { case SMALL: list.add(y + "Strength: 20"); @@ -123,30 +123,30 @@ public class ItemAmmoHIMARS extends Item { break; } } - + @Override public String getUnlocalizedName(ItemStack stack) { return "item.ammo_himars_" + itemTypes[Math.abs(stack.getItemDamage()) % itemTypes.length].name; } - + public abstract class HIMARSRocket { - + public final String name; public final ResourceLocation texture; public final int amount; public final int modelType; /* 0 = sixfold/standard ; 1 = single */ - + public HIMARSRocket(String name, String texture, int type) { this.name = name; this.texture = new ResourceLocation(RefStrings.MODID + ":textures/models/projectiles/" + texture + ".png"); this.amount = type == 0 ? 6 : 1; this.modelType = type; } - + public abstract void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop); public void onUpdate(EntityArtilleryRocket rocket) { } } - + public static void standardExplosion(EntityArtilleryRocket rocket, MovingObjectPosition mop, float size, float rangeMod, boolean breaksBlocks, Block slag, int slagMeta) { Vec3 vec = Vec3.createVectorHelper(rocket.motionX, rocket.motionY, rocket.motionZ).normalize(); ExplosionVNT xnt = new ExplosionVNT(rocket.worldObj, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, size); @@ -159,14 +159,14 @@ public class ItemAmmoHIMARS extends Item { xnt.explode(); rocket.killAndClear(); } - + public static void standardMush(EntityArtilleryRocket rocket, MovingObjectPosition mop, float size) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "rbmkmush"); data.setFloat("scale", size); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord), new TargetPoint(rocket.dimension, rocket.posX, rocket.posY, rocket.posZ, 250)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord), new TargetPoint(rocket.dimension, rocket.posX, rocket.posY, rocket.posZ, 250)); } - + private void init() { /* STANDARD ROCKETS */ this.itemTypes[SMALL] = new HIMARSRocket("standard", "himars_standard", 0) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { standardExplosion(rocket, mop, 20F, 3F, false, ModBlocks.block_slag, 1); ExplosionCreator.composeEffect(rocket.worldObj, mop.blockX + 0.5, mop.blockY + 0.5, mop.blockZ + 0.5, 15, 5F, 1F, 45F, 10, 0, 50, 1F, 3F, -2F, 200); }}; @@ -181,7 +181,7 @@ public class ItemAmmoHIMARS extends Item { ExplosionNukeSmall.explode(rocket.worldObj, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, ExplosionNukeSmall.PARAMS_MEDIUM); } }; - + this.itemTypes[SMALL_WP] = new HIMARSRocket("standard_wp", "himars_standard_wp", 0) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { rocket.worldObj.playSoundEffect(rocket.posX, rocket.posY, rocket.posZ, "hbm:weapon.explosionMedium", 20.0F, 0.9F + rocket.worldObj.rand.nextFloat() * 0.2F); @@ -201,11 +201,11 @@ public class ItemAmmoHIMARS extends Item { for(int i = 0; i < 10; i++) { NBTTagCompound haze = new NBTTagCompound(); haze.setString("type", "haze"); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(haze, mop.hitVec.xCoord + rocket.worldObj.rand.nextGaussian() * 15, mop.hitVec.yCoord, mop.hitVec.zCoord + rocket.worldObj.rand.nextGaussian() * 15), new TargetPoint(rocket.dimension, rocket.posX, rocket.posY, rocket.posZ, 150)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(haze, mop.hitVec.xCoord + rocket.worldObj.rand.nextGaussian() * 15, mop.hitVec.yCoord, mop.hitVec.zCoord + rocket.worldObj.rand.nextGaussian() * 15), new TargetPoint(rocket.dimension, rocket.posX, rocket.posY, rocket.posZ, 150)); } standardMush(rocket, mop, 15); }}; - + this.itemTypes[SMALL_TB] = new HIMARSRocket("standard_tb", "himars_standard_tb", 0) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { rocket.worldObj.playSoundEffect(rocket.posX, rocket.posY, rocket.posZ, "hbm:weapon.explosionMedium", 20.0F, 0.9F + rocket.worldObj.rand.nextFloat() * 0.2F); @@ -213,7 +213,7 @@ public class ItemAmmoHIMARS extends Item { ExplosionLarge.spawnShrapnels(rocket.worldObj, (int) mop.hitVec.xCoord, (int) mop.hitVec.yCoord, (int) mop.hitVec.zCoord, 30); standardMush(rocket, mop, 20); }}; - + this.itemTypes[LARGE_TB] = new HIMARSRocket("single_tb", "himars_single_tb", 1) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { rocket.worldObj.playSoundEffect(rocket.posX, rocket.posY, rocket.posZ, "hbm:weapon.explosionMedium", 20.0F, 0.9F + rocket.worldObj.rand.nextFloat() * 0.2F); diff --git a/src/main/java/com/hbm/items/weapon/ItemCoilgun.java b/src/main/java/com/hbm/items/weapon/ItemCoilgun.java deleted file mode 100644 index af245c5d2..000000000 --- a/src/main/java/com/hbm/items/weapon/ItemCoilgun.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.hbm.items.weapon; - -import com.hbm.handler.GunConfiguration; -import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationSequence; -import com.hbm.render.anim.HbmAnimations.AnimType; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.item.ItemStack; - -public class ItemCoilgun extends ItemGunBase { - - public ItemCoilgun(GunConfiguration config) { - super(config); - } - - @Override - @SideOnly(Side.CLIENT) - public BusAnimation getAnimation(ItemStack stack, AnimType type) { - - if(type == AnimType.CYCLE) { - return new BusAnimation() - .addBus("RECOIL", new BusAnimationSequence() - .addKeyframePosition(1, 0, 0, 100) - .addKeyframePosition(0, 0, 0, 200)); - } - - if(type == AnimType.RELOAD) { - return new BusAnimation() - .addBus("RELOAD", new BusAnimationSequence() - .addKeyframePosition(1, 0, 0, 250) - .addKeyframePosition(1, 0, 0, 500) - .addKeyframePosition(0, 0, 0, 250)); - } - - GunConfiguration config = ((ItemGunBase) stack.getItem()).mainConfig; - return config.animations.get(type); - } -} diff --git a/src/main/java/com/hbm/items/weapon/ItemCrucible.java b/src/main/java/com/hbm/items/weapon/ItemCrucible.java index 0fbfb1a64..d077dd131 100644 --- a/src/main/java/com/hbm/items/weapon/ItemCrucible.java +++ b/src/main/java/com/hbm/items/weapon/ItemCrucible.java @@ -4,10 +4,10 @@ import java.util.List; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; +import com.hbm.handler.threading.PacketThreading; import com.hbm.items.IEquipReceiver; import com.hbm.items.tool.ItemSwordAbility; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.util.ShadyUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -34,102 +34,102 @@ public class ItemCrucible extends ItemSwordAbility implements IEquipReceiver { } @Override - public void onEquip(EntityPlayer player) { - + public void onEquip(EntityPlayer player, ItemStack stack) { + if(!(player instanceof EntityPlayerMP)) return; - + if(player.getHeldItem() != null && player.getHeldItem().getItemDamage() < player.getHeldItem().getMaxDamage()) { - + World world = player.worldObj; world.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:weapon.cDeploy", 1.0F, 1.0F); - + NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "anim"); nbt.setString("mode", "crucible"); - PacketDispatcher.wrapper.sendTo(new AuxParticlePacketNT(nbt, 0, 0, 0), (EntityPlayerMP)player); + PacketThreading.createSendToThreadedPacket(new AuxParticlePacketNT(nbt, 0, 0, 0), (EntityPlayerMP)player); } } @Override public boolean onEntitySwing(EntityLivingBase entityLiving, ItemStack stack) { - + if(!(entityLiving instanceof EntityPlayerMP)) return false; - + if(entityLiving instanceof EntityPlayer && ((EntityPlayer)entityLiving).getUniqueID().toString().equals(ShadyUtil.Tankish)) { stack.setItemDamage(0); } - + if(stack.getItemDamage() >= stack.getMaxDamage()) return false; - + NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "anim"); nbt.setString("mode", "cSwing"); - PacketDispatcher.wrapper.sendTo(new AuxParticlePacketNT(nbt, 0, 0, 0), (EntityPlayerMP)entityLiving); - + PacketThreading.createSendToThreadedPacket(new AuxParticlePacketNT(nbt, 0, 0, 0), (EntityPlayerMP)entityLiving); + return false; } @Override public boolean hitEntity(ItemStack stack, EntityLivingBase victim, EntityLivingBase attacker) { - + boolean active = stack.getItemDamage() < stack.getMaxDamage(); - + if(active) { - + attacker.worldObj.playSoundEffect(victim.posX, victim.posY, victim.posZ, "mob.zombie.woodbreak", 1.0F, 0.75F + victim.getRNG().nextFloat() * 0.2F); - + if(!attacker.worldObj.isRemote && !victim.isEntityAlive()) { int count = Math.min((int)Math.ceil(victim.getMaxHealth() / 3D), 250); - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "vanillaburst"); data.setInteger("count", count * 4); data.setDouble("motion", 0.1D); data.setString("mode", "blockdust"); data.setInteger("block", Block.getIdFromBlock(Blocks.redstone_block)); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, victim.posX, victim.posY + victim.height * 0.5, victim.posZ), new TargetPoint(victim.dimension, victim.posX, victim.posY + victim.height * 0.5, victim.posZ, 50)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, victim.posX, victim.posY + victim.height * 0.5, victim.posZ), new TargetPoint(victim.dimension, victim.posX, victim.posY + victim.height * 0.5, victim.posZ, 50)); } - + if(attacker instanceof EntityPlayer && (((EntityPlayer)attacker).getDisplayName().equals("Tankish") || ((EntityPlayer)attacker).getDisplayName().equals("Tankish020"))) return true; - + return super.hitEntity(stack, victim, attacker); } else { - + if(!attacker.worldObj.isRemote && attacker instanceof EntityPlayer) ((EntityPlayer)attacker).addChatComponentMessage(new ChatComponentText("Not enough energy.").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED))); return false; } } - + public Multimap getAttributeModifiers(ItemStack stack) { Multimap multimap = HashMultimap.create(); - + if(stack.getItemDamage() < stack.getMaxDamage()) { multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "Tool modifier", (double) this.damage, 0)); multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "Tool modifier", movement, 1)); } - + return multimap; } @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - + String charge = EnumChatFormatting.RED + "Charge ["; - + for(int i = 2; i >= 0; i--) if(stack.getItemDamage() <= i) charge += "||||||"; else charge += " "; - + charge += "]"; - + list.add(charge); } } diff --git a/src/main/java/com/hbm/items/weapon/ItemCryoCannon.java b/src/main/java/com/hbm/items/weapon/ItemCryoCannon.java deleted file mode 100644 index 6a69055ab..000000000 --- a/src/main/java/com/hbm/items/weapon/ItemCryoCannon.java +++ /dev/null @@ -1,118 +0,0 @@ -package com.hbm.items.weapon; - -import com.hbm.entity.projectile.EntityChemical; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.GunConfiguration; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.packet.GunAnimationPacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.render.anim.HbmAnimations.AnimType; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; - -public class ItemCryoCannon extends ItemGunBase { - - public ItemCryoCannon(GunConfiguration config) { - super(config); - } - - @Override - protected void fire(ItemStack stack, World world, EntityPlayer player) { - - if(getPressure(stack) >= 1000) return; - if(getTurbine(stack) < 100) return; - - BulletConfiguration config = null; - - if(mainConfig.reloadType == GunConfiguration.RELOAD_NONE) { - config = getBeltCfg(player, stack, true); - } else { - config = BulletConfigSyncingUtil.pullConfig(mainConfig.config.get(getMagType(stack))); - } - - int bullets = config.bulletsMin; - - for(int k = 0; k < mainConfig.roundsPerCycle; k++) { - - if(!hasAmmo(stack, player, true)) - break; - - if(config.bulletsMax > config.bulletsMin) - bullets += world.rand.nextInt(config.bulletsMax - config.bulletsMin); - - for(int i = 0; i < bullets; i++) { - spawnProjectile(world, player, stack, BulletConfigSyncingUtil.getKey(config)); - } - - if(player instanceof EntityPlayerMP) - PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.CYCLE.ordinal()), (EntityPlayerMP) player); - - useUpAmmo(player, stack, true); - player.inventoryContainer.detectAndSendChanges(); - - int wear = (int) Math.ceil(config.wear / (1F + EnchantmentHelper.getEnchantmentLevel(Enchantment.unbreaking.effectId, stack))); - setItemWear(stack, getItemWear(stack) + wear); - } - - world.playSoundAtEntity(player, mainConfig.firingSound, mainConfig.firingVolume, mainConfig.firingPitch); - - if(mainConfig.ejector != null && !mainConfig.ejector.getAfterReload()) - queueCasing(player, mainConfig.ejector, config, stack); - } - - @Override - protected void spawnProjectile(World world, EntityPlayer player, ItemStack stack, int config) { - EntityChemical chem = new EntityChemical(world, player); - chem.setFluid(Fluids.OXYGEN); - world.spawnEntityInWorld(chem); - - int pressure = getPressure(stack); - pressure += 5; - pressure = MathHelper.clamp_int(pressure, 0, 1000); - setPressure(stack, pressure); - } - - @Override - protected void updateServer(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { - - int turbine = getTurbine(stack); - int pressure = getPressure(stack); - - if(getIsMouseDown(stack)) { - turbine += 10; - } else { - turbine -= 5; - pressure -= 5; - } - - turbine = MathHelper.clamp_int(turbine, 0, 100); - pressure = MathHelper.clamp_int(pressure, 0, 1000); - setTurbine(stack, turbine); - setPressure(stack, pressure); - - super.updateServer(stack, world, player, slot, isCurrentItem); - } - - public static void setTurbine(ItemStack stack, int i) { - writeNBT(stack, "turbine", i); - } - - public static int getTurbine(ItemStack stack) { - return readNBT(stack, "turbine"); - } - - public static void setPressure(ItemStack stack, int i) { - writeNBT(stack, "pressure", i); - } - - public static int getPressure(ItemStack stack) { - return readNBT(stack, "pressure"); - } -} diff --git a/src/main/java/com/hbm/items/weapon/ItemCustomMissilePart.java b/src/main/java/com/hbm/items/weapon/ItemCustomMissilePart.java index 7c660a189..26c459982 100644 --- a/src/main/java/com/hbm/items/weapon/ItemCustomMissilePart.java +++ b/src/main/java/com/hbm/items/weapon/ItemCustomMissilePart.java @@ -2,7 +2,9 @@ package com.hbm.items.weapon; import java.util.HashMap; import java.util.List; +import java.util.function.Consumer; +import com.hbm.entity.missile.EntityMissileCustom; import com.hbm.items.special.ItemLootCrate; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; @@ -86,7 +88,17 @@ public class ItemCustomMissilePart extends Item { SCHRAB, TAINT, CLOUD, - TURBINE + TURBINE, + + //shit solution but it works. this allows traits to be attached to these empty dummy types, allowing for custom warheads + CUSTOM0, CUSTOM1, CUSTOM2, CUSTOM3, CUSTOM4, CUSTOM5, CUSTOM6, CUSTOM7, CUSTOM8, CUSTOM9; + + /** Overrides that type's impact effect. Only runs serverside */ + public Consumer impactCustom = null; + /** Runs at the beginning of the missile's update cycle, both client and serverside. */ + public Consumer updateCustom = null; + /** Override for the warhead's name in the missile description */ + public String labelCustom = null; } public enum FuelType { @@ -246,6 +258,8 @@ public class ItemCustomMissilePart extends Item { public String getWarhead(WarheadType type) { + if(type.labelCustom != null) return type.labelCustom; + switch(type) { case HE: return EnumChatFormatting.YELLOW + "HE"; diff --git a/src/main/java/com/hbm/items/weapon/ItemGunBase.java b/src/main/java/com/hbm/items/weapon/ItemGunBase.java deleted file mode 100644 index e40e9889c..000000000 --- a/src/main/java/com/hbm/items/weapon/ItemGunBase.java +++ /dev/null @@ -1,860 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; - -import org.lwjgl.input.Mouse; - -import com.hbm.config.GeneralConfig; -import com.hbm.entity.projectile.EntityBulletBaseNT; -import com.hbm.handler.ArmorModHandler; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.CasingEjector; -import com.hbm.handler.GunConfiguration; -import com.hbm.handler.HbmKeybinds; -import com.hbm.interfaces.IHoldableWeapon; -import com.hbm.interfaces.IItemHUD; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.IEquipReceiver; -import com.hbm.items.ModItems; -import com.hbm.items.armor.ArmorFSB; -import com.hbm.lib.HbmCollection; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.GunAnimationPacket; -import com.hbm.packet.GunButtonPacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.HbmAnimations.AnimType; -import com.hbm.render.util.RenderScreenOverlay; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; -import com.hbm.util.I18nUtil; -import com.hbm.util.InventoryUtil; - -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.Minecraft; -import net.minecraft.client.settings.GameSettings; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; -import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; -import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; - -public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEquipReceiver { - - public GunConfiguration mainConfig; - public GunConfiguration altConfig; - - @SideOnly(Side.CLIENT) - public boolean m1;// = false; - @SideOnly(Side.CLIENT) - public boolean m2;// = false; - - public ItemGunBase(GunConfiguration config) { - mainConfig = config; - this.setMaxStackSize(1); - } - - public ItemGunBase(GunConfiguration config, GunConfiguration alt) { - this(config); - altConfig = alt; - } - - @Override - public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean isCurrentItem) { - - if(entity instanceof EntityPlayer) { - - isCurrentItem = ((EntityPlayer)entity).getHeldItem() == stack; - - if (FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT && world.isRemote) { - updateClient(stack, world, (EntityPlayer)entity, slot, isCurrentItem); - } else { - updateServer(stack, world, (EntityPlayer)entity, slot, isCurrentItem); - } - } - } - - @SideOnly(Side.CLIENT) - protected void updateClient(ItemStack stack, World world, EntityPlayer entity, int slot, boolean isCurrentItem) { - - if(!world.isRemote) - return; - - boolean clickLeft = Mouse.isButtonDown(0); - boolean clickRight = Mouse.isButtonDown(1); - boolean left = m1; - boolean right = m2; - - if(isCurrentItem) { - if(left && right) { - PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(false, (byte) 0)); - PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(false, (byte) 1)); - m1 = false; - m2 = false; - } - - if(left && !clickLeft) { - PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(false, (byte) 0)); - m1 = false; - endActionClient(stack, world, entity, true); - } - - if(right && !clickRight) { - PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(false, (byte) 1)); - m2 = false; - endActionClient(stack, world, entity, false); - } - - if(mainConfig.reloadType != GunConfiguration.RELOAD_NONE || (altConfig != null && altConfig.reloadType != 0)) { - - if(GameSettings.isKeyDown(HbmKeybinds.reloadKey) && Minecraft.getMinecraft().currentScreen == null && (getMag(stack) < mainConfig.ammoCap || hasInfinity(stack, mainConfig))) { - PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(true, (byte) 2)); - setIsReloading(stack, true); - resetReloadCycle(entity, stack); - } - } - } - } - - protected void updateServer(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { - - if(getDelay(stack) > 0 && isCurrentItem) - setDelay(stack, getDelay(stack) - 1); - - if(getIsMouseDown(stack) && !(player.getHeldItem() == stack)) { - setIsMouseDown(stack, false); - } - - int burstDuration = getBurstDuration(stack); - if(burstDuration > 0) { - - if(altConfig == null) { - if (burstDuration % mainConfig.firingDuration == 0 && tryShoot(stack, world, player, true)) { - fire(stack, world, player); - } - } else { - boolean canFire = altConfig.firingDuration == 1 || burstDuration % altConfig.firingDuration == 0; - if (canFire && tryShoot(stack, world, player, false)) { - altFire(stack, world, player); - } - } - - setBurstDuration(stack, getBurstDuration(stack) - 1); - if(getBurstDuration(stack) == 0) setDelay(stack, mainConfig.rateOfFire); - } - if(getIsAltDown(stack) && !isCurrentItem) { - setIsAltDown(stack, false); - } - - if(GeneralConfig.enableGuns && mainConfig.firingMode == 1 && getIsMouseDown(stack) && tryShoot(stack, world, player, isCurrentItem)) { - fire(stack, world, player); - setDelay(stack, mainConfig.rateOfFire); - } - - if(getIsReloading(stack) && isCurrentItem) { - reload2(stack, world, player); - } - - BulletConfiguration queued = getCasing(stack); - int timer = getCasingTimer(stack); - - if(queued != null && timer > 0) { - - timer--; - - if(timer <= 0) { - trySpawnCasing(player, mainConfig.ejector, queued, stack); - } - - setCasingTimer(stack, timer); - } - } - - //whether or not the gun can shoot in its current state - protected boolean tryShoot(ItemStack stack, World world, EntityPlayer player, boolean main) { - - //cancel reload when trying to shoot if it's a single reload weapon and at least one round is loaded - if(getIsReloading(stack) && mainConfig.reloadType == GunConfiguration.RELOAD_SINGLE && getMag(stack) > 0) { - setReloadCycle(stack, 0); - setIsReloading(stack, false); - } - - if(main && getDelay(stack) == 0 && !getIsReloading(stack) && getItemWear(stack) < mainConfig.durability) { - return hasAmmo(stack, player, main); - } - - if(!main && altConfig != null && getDelay(stack) == 0 && !getIsReloading(stack) && getItemWear(stack) < mainConfig.durability) { - - return hasAmmo(stack, player, false); - } - - return false; - } - - public boolean hasAmmo(ItemStack stack, EntityPlayer player, boolean main) { - - GunConfiguration config = mainConfig; - - if(!main) - config = altConfig; - - if(config.reloadType == GunConfiguration.RELOAD_NONE) { - return getBeltSize(player, getBeltType(player, stack, main)) > 0; - - } else { - //return getMag(stack) >= 0 + config.roundsPerCycle; - return getMag(stack) > 0; - } - } - - //called every time the gun shoots successfully, calls spawnProjectile(), sets item wear - protected void fire(ItemStack stack, World world, EntityPlayer player) { - - BulletConfiguration config = null; - - if(mainConfig.reloadType == GunConfiguration.RELOAD_NONE) { - config = getBeltCfg(player, stack, true); - } else { - config = BulletConfigSyncingUtil.pullConfig(mainConfig.config.get(getMagType(stack))); - } - - int bullets = config.bulletsMin; - - for(int k = 0; k < mainConfig.roundsPerCycle; k++) { - - if(!hasAmmo(stack, player, true)) - break; - - if(config.bulletsMax > config.bulletsMin) - bullets += world.rand.nextInt(config.bulletsMax - config.bulletsMin); - - for(int i = 0; i < bullets; i++) { - spawnProjectile(world, player, stack, BulletConfigSyncingUtil.getKey(config)); - } - - useUpAmmo(player, stack, true); - player.inventoryContainer.detectAndSendChanges(); - - int wear = (int) Math.ceil(config.wear / (1F + EnchantmentHelper.getEnchantmentLevel(Enchantment.unbreaking.effectId, stack))); - setItemWear(stack, getItemWear(stack) + wear); - } - - if(player instanceof EntityPlayerMP) { - AnimType animType = getMag(stack) == 0 ? AnimType.CYCLE_EMPTY : AnimType.CYCLE; - PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(animType.ordinal()), (EntityPlayerMP) player); - } - - String firingSound = mainConfig.firingSound; - if (getMag(stack) == 0 && mainConfig.firingSoundEmpty != null) firingSound = mainConfig.firingSoundEmpty; - world.playSoundAtEntity(player, firingSound, mainConfig.firingVolume, mainConfig.firingPitch); - - if(mainConfig.ejector != null && !mainConfig.ejector.getAfterReload()) - queueCasing(player, mainConfig.ejector, config, stack); - } - - //unlike fire(), being called does not automatically imply success, some things may still have to be handled before spawning the projectile - protected void altFire(ItemStack stack, World world, EntityPlayer player) { - - if(altConfig == null) - return; - - BulletConfiguration config = altConfig.reloadType == GunConfiguration.RELOAD_NONE ? getBeltCfg(player, stack, false) : BulletConfigSyncingUtil.pullConfig(altConfig.config.get(getMagType(stack))); - - int bullets = config.bulletsMin; - - for(int k = 0; k < altConfig.roundsPerCycle; k++) { - - if(altConfig.reloadType != GunConfiguration.RELOAD_NONE && !hasAmmo(stack, player, true)) - break; - - if(config.bulletsMax > config.bulletsMin) - bullets += world.rand.nextInt(config.bulletsMax - config.bulletsMin); - - for(int i = 0; i < bullets; i++) { - spawnProjectile(world, player, stack, BulletConfigSyncingUtil.getKey(config)); - } - - if(player instanceof EntityPlayerMP) - PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.ALT_CYCLE.ordinal()), (EntityPlayerMP) player); - - useUpAmmo(player, stack, false); - player.inventoryContainer.detectAndSendChanges(); - - setItemWear(stack, getItemWear(stack) + config.wear); - } - - world.playSoundAtEntity(player, altConfig.firingSound, mainConfig.firingVolume, altConfig.firingPitch); - - if(altConfig.ejector != null) - queueCasing(player, altConfig.ejector, config, stack); - } - - //spawns the actual projectile, can be overridden to change projectile entity - protected void spawnProjectile(World world, EntityPlayer player, ItemStack stack, int config) { - EntityBulletBaseNT bullet = new EntityBulletBaseNT(world, config, player); - world.spawnEntityInWorld(bullet); - } - - //called on click (server side, called by mouse packet) for semi-automatics and specific events - public void startAction(ItemStack stack, World world, EntityPlayer player, boolean main) { - - boolean validConfig = mainConfig.firingMode == GunConfiguration.FIRE_MANUAL || mainConfig.firingMode == GunConfiguration.FIRE_BURST; - - if(validConfig && main && tryShoot(stack, world, player, main)) { - - if(mainConfig.firingMode == GunConfiguration.FIRE_BURST){ - if(getBurstDuration(stack) <= 0) - setBurstDuration(stack,mainConfig.firingDuration * mainConfig.roundsPerBurst); - } else { - fire(stack, world, player); - setDelay(stack, mainConfig.rateOfFire); - } - } - - if(!main && altConfig != null && tryShoot(stack, world, player, main)) { - - if(altConfig.firingMode == GunConfiguration.FIRE_BURST && getBurstDuration(stack) <= 0){ - setBurstDuration(stack,altConfig.firingDuration * altConfig.roundsPerBurst); - } else { - altFire(stack, world, player); - setDelay(stack, altConfig.rateOfFire); - } - } - } - - //called on click (client side, called by mouse click event) - public void startActionClient(ItemStack stack, World world, EntityPlayer player, boolean main) { } - - //called on click release (server side, called by mouse packet) for release actions like charged shots - public void endAction(ItemStack stack, World world, EntityPlayer player, boolean main) { } - - //called on click release (client side, called by update cycle) - public void endActionClient(ItemStack stack, World world, EntityPlayer player, boolean main) { } - - //current reload - protected void reload2(ItemStack stack, World world, EntityPlayer player) { - - if(getMag(stack) >= mainConfig.ammoCap) { - setIsReloading(stack, false); - return; - } - - if(getReloadCycle(stack) <= 0) { - - BulletConfiguration prevCfg = BulletConfigSyncingUtil.pullConfig(mainConfig.config.get(getMagType(stack))); - - BulletConfiguration cfg = BulletConfigSyncingUtil.pullConfig(mainConfig.config.get(getMagType(stack))); - ComparableStack ammo = (ComparableStack) cfg.ammo.copy(); - - final int countNeeded = (mainConfig.reloadType == GunConfiguration.RELOAD_FULL) ? mainConfig.ammoCap - getMag(stack) : 1; - final int availableStacks = InventoryUtil.countAStackMatches(player, ammo, true); - final int availableFills = availableStacks * cfg.ammoCount; - final boolean hasLoaded = availableFills > 0; - final int toAdd = Math.min(availableFills * cfg.ammoCount, countNeeded); - final int toConsume = (int) Math.ceil((double) toAdd / cfg.ammoCount); - - // Skip logic if cannot reload - if(availableFills == 0) { - setIsReloading(stack, false); - return; - } - - String reloadSound = mainConfig.reloadSoundEmpty != null && getMag(stack) == 0 ? mainConfig.reloadSoundEmpty : mainConfig.reloadSound; - - ammo.stacksize = toConsume; - setMag(stack, getMag(stack) + toAdd); - if (getMag(stack) >= mainConfig.ammoCap) { - setIsReloading(stack, false); - PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.RELOAD_END.ordinal()), (EntityPlayerMP) player); - } else { - resetReloadCycle(player, stack); - AnimType animType = availableFills <= 1 ? AnimType.RELOAD_END : AnimType.RELOAD_CYCLE; - PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(animType.ordinal()), (EntityPlayerMP) player); - if (availableFills > 1 && !mainConfig.reloadSoundEnd) - world.playSoundAtEntity(player, reloadSound, 1.0F, 1.0F); - } - - if(hasLoaded && mainConfig.reloadSoundEnd) - world.playSoundAtEntity(player, reloadSound, 1.0F, 1.0F); - - if(mainConfig.ejector != null && mainConfig.ejector.getAfterReload()) - queueCasing(player, mainConfig.ejector, prevCfg, stack); - - InventoryUtil.tryConsumeAStack(player.inventory.mainInventory, 0, player.inventory.mainInventory.length - 1, ammo); - } else { - setReloadCycle(stack, getReloadCycle(stack) - 1); - } - - if(stack != player.getHeldItem()) { - setReloadCycle(stack, 0); - setIsReloading(stack, false); - } - } - - //initiates a reload - public void startReloadAction(ItemStack stack, World world, EntityPlayer player) { - - if(getMag(stack) == 0) - resetAmmoType(stack, world, player); - - if(player.isSneaking() && hasInfinity(stack, mainConfig)) { - - if(getMag(stack) == mainConfig.ammoCap) { - setMag(stack, 0); - this.resetAmmoType(stack, world, player); - world.playSoundAtEntity(player, "tile.piston.out", 1.0F, 1.0F); - } - - return; - } - - if(getMag(stack) == mainConfig.ammoCap) - return; - - if(getIsReloading(stack)) - return; - - if(!mainConfig.reloadSoundEnd) { - String reloadSound = mainConfig.reloadSoundEmpty != null && getMag(stack) == 0 ? mainConfig.reloadSoundEmpty : mainConfig.reloadSound; - world.playSoundAtEntity(player, reloadSound, 1.0F, 1.0F); - } - - if(!world.isRemote) { - AnimType reloadType = getMag(stack) == 0 ? AnimType.RELOAD_EMPTY : AnimType.RELOAD; - PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(reloadType.ordinal()), (EntityPlayerMP) player); - } - - setIsReloading(stack, true); - resetReloadCycle(player, stack); - } - - public boolean canReload(ItemStack stack, World world, EntityPlayer player) { - - if(getMag(stack) == mainConfig.ammoCap && hasInfinity(stack, mainConfig)) - return true; - - if(getMag(stack) == 0) { - - for(int config : mainConfig.config) { - if(InventoryUtil.doesPlayerHaveAStack(player, BulletConfigSyncingUtil.pullConfig(config).ammo, false, false)) { - return true; - } - } - - } else { - ComparableStack ammo = BulletConfigSyncingUtil.pullConfig(mainConfig.config.get(getMagType(stack))).ammo; - return InventoryUtil.doesPlayerHaveAStack(player, ammo, false, false); - } - - return false; - } - - //searches the player's inv for next fitting ammo type and changes the gun's mag - protected void resetAmmoType(ItemStack stack, World world, EntityPlayer player) { - - for(int config : mainConfig.config) { - BulletConfiguration cfg = BulletConfigSyncingUtil.pullConfig(config); - - if(InventoryUtil.doesPlayerHaveAStack(player, cfg.ammo, false, false)) { - setMagType(stack, mainConfig.config.indexOf(config)); - break; - } - } - } - - //item mouseover text - @Override - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - - ComparableStack ammo = BulletConfigSyncingUtil.pullConfig(mainConfig.config.get(getMagType(stack))).ammo; - - list.add(I18nUtil.resolveKey(HbmCollection.ammo, mainConfig.ammoCap > 0 ? I18nUtil.resolveKey(HbmCollection.ammoMag, getMag(stack), mainConfig.ammoCap) : I18nUtil.resolveKey(HbmCollection.ammoBelt))); - - try { - list.add(I18nUtil.resolveKey(HbmCollection.ammoType, ammo.toStack().getDisplayName())); - - if(altConfig != null && altConfig.ammoCap == 0) { - ComparableStack ammo2 = BulletConfigSyncingUtil.pullConfig(altConfig.config.get(0)).ammo; - if(!ammo.isApplicable(ammo2)) { - list.add(I18nUtil.resolveKey(HbmCollection.altAmmoType, ammo2.toStack().getDisplayName())); - } - } - } - catch (Exception e) - { - e.printStackTrace(); - list.add("Error: " + e + " has occurred!"); - } - - addAdditionalInformation(stack, list); - } - - protected void addAdditionalInformation(ItemStack stack, List list) { - final BulletConfiguration bulletConfig = BulletConfigSyncingUtil.pullConfig(mainConfig.config.get(getMagType(stack))); - list.add(I18nUtil.resolveKey(HbmCollection.gunDamage, bulletConfig.dmgMin, bulletConfig.dmgMax)); - if(bulletConfig.bulletsMax != 1) - list.add(I18nUtil.resolveKey(HbmCollection.gunPellets, bulletConfig.bulletsMin, bulletConfig.bulletsMax)); - int dura = Math.max(mainConfig.durability - getItemWear(stack), 0); - - list.add(I18nUtil.resolveKey(HbmCollection.durability, dura + " / " + mainConfig.durability)); - - list.add(""); - String unloc = "gun.name." + mainConfig.name; - String loc = I18nUtil.resolveKey(unloc); - list.add(I18nUtil.resolveKey(HbmCollection.gunName, unloc.equals(loc) ? mainConfig.name : loc)); - list.add(I18nUtil.resolveKey(HbmCollection.gunMaker, I18nUtil.resolveKey(mainConfig.manufacturer.getKey()))); - - if(!mainConfig.comment.isEmpty()) { - list.add(""); - for(String s : mainConfig.comment) - list.add(EnumChatFormatting.ITALIC + s); - } - if(GeneralConfig.enableExtendedLogging) { - list.add(""); - list.add("Type: " + getMagType(stack)); - list.add("Is Reloading: " + getIsReloading(stack)); - list.add("Reload Cycle: " + getReloadCycle(stack)); - list.add("RoF Cooldown: " + getDelay(stack)); - } - } - - //returns ammo item of belt-weapons - public static ComparableStack getBeltType(EntityPlayer player, ItemStack stack, boolean main) { - ItemGunBase gun = (ItemGunBase)stack.getItem(); - GunConfiguration guncfg = main ? gun.mainConfig : (gun.altConfig != null ? gun.altConfig : gun.mainConfig); - - for(Integer config : guncfg.config) { - - BulletConfiguration cfg = BulletConfigSyncingUtil.pullConfig(config); - - if(InventoryUtil.doesPlayerHaveAStack(player, cfg.ammo, false, true)) { - return cfg.ammo; - } - } - - return BulletConfigSyncingUtil.pullConfig(guncfg.config.get(0)).ammo; - } - - //returns BCFG of belt-weapons - public static BulletConfiguration getBeltCfg(EntityPlayer player, ItemStack stack, boolean main) { - ItemGunBase gun = (ItemGunBase)stack.getItem(); - GunConfiguration guncfg = main ? gun.mainConfig : (gun.altConfig != null ? gun.altConfig : gun.mainConfig); - getBeltType(player, stack, main); - - for(int config : guncfg.config) { - - BulletConfiguration cfg = BulletConfigSyncingUtil.pullConfig(config); - - if(InventoryUtil.doesPlayerHaveAStack(player, cfg.ammo, false, false)) { - return cfg; - } - } - - return BulletConfigSyncingUtil.pullConfig(guncfg.config.get(0)); - } - - //returns ammo capacity of belt-weapons for current ammo - public static int getBeltSize(EntityPlayer player, ComparableStack ammo) { - - int amount = 0; - - for(ItemStack stack : player.inventory.mainInventory) { - if(stack != null && ammo.matchesRecipe(stack, true)) { - amount += stack.stackSize; - } - } - - return amount; - } - - //reduces ammo count for mag and belt-based weapons, should be called AFTER firing - public void useUpAmmo(EntityPlayer player, ItemStack stack, boolean main) { - - if(!main && altConfig == null) - return; - - GunConfiguration config = mainConfig; - - if(!main) - config = altConfig; - - if(hasInfinity(stack, config)) return; - if(isTrenchMaster(player) && player.getRNG().nextInt(3) == 0) return; - if(hasAoS(player) && player.getRNG().nextInt(3) == 0) return; - - if(config.reloadType != GunConfiguration.RELOAD_NONE) { - setMag(stack, getMag(stack) - 1); - } else { - InventoryUtil.doesPlayerHaveAStack(player, getBeltType(player, stack, main), true, false); - } - } - - public boolean hasInfinity(ItemStack stack, GunConfiguration config) { - return config.allowsInfinity && EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; - } - - /// sets reload cycle to config defult /// - public static void resetReloadCycle(EntityPlayer player, ItemStack stack) { - writeNBT(stack, "reload", getReloadDuration(player, stack)); - } - - /// if reloading routine is active /// - public static void setIsReloading(ItemStack stack, boolean b) { - writeNBT(stack, "isReloading", b ? 1 : 0); - } - - public static boolean getIsReloading(ItemStack stack) { - return readNBT(stack, "isReloading") == 1; - } - - /// if left mouse button is down /// - public static void setIsMouseDown(ItemStack stack, boolean b) { - writeNBT(stack, "isMouseDown", b ? 1 : 0); - } - - public static boolean getIsMouseDown(ItemStack stack) { - return readNBT(stack, "isMouseDown") == 1; - } - - /// if alt mouse button is down /// - public static void setIsAltDown(ItemStack stack, boolean b) { - writeNBT(stack, "isAltDown", b ? 1 : 0); - } - - public static boolean getIsAltDown(ItemStack stack) { - return readNBT(stack, "isAltDown") == 1; - } - - /// RoF cooldown /// - public static void setDelay(ItemStack stack, int i) { - writeNBT(stack, "dlay", i); - } - - public static int getDelay(ItemStack stack) { - return readNBT(stack, "dlay"); - } - - /// Gun wear /// - public static void setItemWear(ItemStack stack, int i) { - writeNBT(stack, "wear", i); - } - - public static int getItemWear(ItemStack stack) { - return readNBT(stack, "wear"); - } - - /// R/W cycle animation timer /// - public static void setCycleAnim(ItemStack stack, int i) { - writeNBT(stack, "cycle", i); - } - - public static int getCycleAnim(ItemStack stack) { - return readNBT(stack, "cycle"); - } - - /// R/W reload animation timer /// - public static void setReloadCycle(ItemStack stack, int i) { - writeNBT(stack, "reload", i); - } - - public static int getReloadCycle(ItemStack stack) { - return readNBT(stack, "reload"); - } - - /// magazine capacity /// - public static void setMag(ItemStack stack, int i) { - writeNBT(stack, "magazine", i); - } - - public static int getMag(ItemStack stack) { - return readNBT(stack, "magazine"); - } - - /// magazine type (int specified by index in bullet config list) /// - public static void setMagType(ItemStack stack, int i) { - writeNBT(stack, "magazineType", i); - } - - public static int getMagType(ItemStack stack) { - return readNBT(stack, "magazineType"); - } - /// Sets how long a burst fires for, only useful for burst fire weapons /// - public static void setBurstDuration(ItemStack stack, int i) { - writeNBT(stack, "bduration", i); - } - - public static int getBurstDuration(ItemStack stack) { - return readNBT(stack, "bduration"); - } - - /// queued casing for ejection /// - public static void setCasing(ItemStack stack, BulletConfiguration bullet) { - writeNBT(stack, "casing", BulletConfigSyncingUtil.getKey(bullet)); - } - - public static BulletConfiguration getCasing(ItemStack stack) { - return BulletConfigSyncingUtil.pullConfig(readNBT(stack, "casing")); - } - - /// timer for ejecting casing /// - public static void setCasingTimer(ItemStack stack, int i) { - writeNBT(stack, "casingTimer", i); - } - - public static int getCasingTimer(ItemStack stack) { - return readNBT(stack, "casingTimer"); - } - - /// NBT utility /// - public static void writeNBT(ItemStack stack, String key, int value) { - - if(!stack.hasTagCompound()) - stack.stackTagCompound = new NBTTagCompound(); - - stack.stackTagCompound.setInteger(key, value); - } - - public static int readNBT(ItemStack stack, String key) { - - if(!stack.hasTagCompound()) - return 0; - - return stack.stackTagCompound.getInteger(key); - } - - @Override - public Crosshair getCrosshair() { - return mainConfig.crosshair; - } - - @Override - @SideOnly(Side.CLIENT) - public void renderHUD(Pre event, ElementType type, EntityPlayer player, ItemStack stack) { - - ItemGunBase gun = ((ItemGunBase)stack.getItem()); - GunConfiguration gcfg = gun.mainConfig; - - if(type == ElementType.HOTBAR) { - int mag = ItemGunBase.getMagType(stack); - if(gun.mainConfig.config.size() == 0) return; - BulletConfiguration bcfg = BulletConfigSyncingUtil.pullConfig(gun.mainConfig.config.get(mag < gun.mainConfig.config.size() ? mag : 0)); - - if(bcfg == null) { - return; - } - - ComparableStack ammo = bcfg.ammo; - int count = ItemGunBase.getMag(stack); - int max = gcfg.ammoCap; - boolean showammo = gcfg.showAmmo; - - if(gcfg.reloadType == GunConfiguration.RELOAD_NONE) { - ammo = ItemGunBase.getBeltType(player, stack, true); - count = ItemGunBase.getBeltSize(player, ammo); - max = -1; - } - - int dura = ItemGunBase.getItemWear(stack) * 50 / gcfg.durability; - - RenderScreenOverlay.renderAmmo(event.resolution, Minecraft.getMinecraft().ingameGUI, ammo.toStack(), count, max, dura, showammo); - - if(gun.altConfig != null && gun.altConfig.reloadType == GunConfiguration.RELOAD_NONE) { - ComparableStack oldAmmo = ammo; - ammo = ItemGunBase.getBeltType(player, stack, false); - - if(!ammo.isApplicable(oldAmmo)) { - count = ItemGunBase.getBeltSize(player, ammo); - RenderScreenOverlay.renderAmmoAlt(event.resolution, Minecraft.getMinecraft().ingameGUI, ammo.toStack(), count); - } - } - } - - if(type == ElementType.CROSSHAIRS && GeneralConfig.enableCrosshairs) { - - event.setCanceled(true); - - if(!(gcfg.hasSights && player.isSneaking())) - RenderScreenOverlay.renderCustomCrosshairs(event.resolution, Minecraft.getMinecraft().ingameGUI, ((IHoldableWeapon)player.getHeldItem().getItem()).getCrosshair()); - else - RenderScreenOverlay.renderCustomCrosshairs(event.resolution, Minecraft.getMinecraft().ingameGUI, Crosshair.NONE); - } - } - - @SideOnly(Side.CLIENT) - public BusAnimation getAnimation(ItemStack stack, AnimType type) { - GunConfiguration config = ((ItemGunBase) stack.getItem()).mainConfig; - if (!config.animationsLoaded && config.loadAnimations != null) { - config.loadAnimations.accept(null); - config.animationsLoaded = true; - } - return config.animations.get(type); - } - - @Override - public void onEquip(EntityPlayer player) { - if(!mainConfig.equipSound.isEmpty() && !player.worldObj.isRemote) { - player.worldObj.playSoundAtEntity(player, mainConfig.equipSound, 1, 1); - } - - if(player instanceof EntityPlayerMP) PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.EQUIP.ordinal()), (EntityPlayerMP) player); - } - - protected static void queueCasing(Entity entity, CasingEjector ejector, BulletConfiguration bullet, ItemStack stack) { - - if(ejector == null || bullet == null || bullet.spentCasing == null) return; - - if(ejector.getDelay() <= 0) { - trySpawnCasing(entity, ejector, bullet, stack); - } else { - setCasing(stack, bullet); - setCasingTimer(stack, ejector.getDelay()); - } - } - - protected static void trySpawnCasing(Entity entity, CasingEjector ejector, BulletConfiguration bullet, ItemStack stack) { - - if(ejector == null) return; //abort if the gun can't eject bullets at all - if(bullet == null) return; //abort if there's no valid bullet cfg - if(bullet.spentCasing == null) return; //abort if the bullet is caseless - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "casing"); - data.setFloat("pitch", (float) Math.toRadians(entity.rotationPitch)); - data.setFloat("yaw", (float) Math.toRadians(entity.rotationYaw)); - data.setBoolean("crouched", entity.isSneaking()); - data.setString("name", bullet.spentCasing.getName()); - data.setInteger("ej", ejector.getId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, entity.posX, entity.posY + entity.getEyeHeight(), entity.posZ), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 50)); - } - - public static int getReloadDuration(EntityPlayer player, ItemStack stack) { - GunConfiguration config = ((ItemGunBase) stack.getItem()).mainConfig; - int cycle = config.reloadDuration; - if (getMag(stack) == 0) cycle += config.emptyReloadAdditionalDuration; - if(isTrenchMaster(player)) return Math.max(1, cycle / 2); - return cycle; - } - - public static boolean isTrenchMaster(EntityPlayer player) { - return player.inventory.armorInventory[2] != null && player.inventory.armorInventory[2].getItem() == ModItems.trenchmaster_plate && ArmorFSB.hasFSBArmor(player); - } - - public static boolean hasAoS(EntityPlayer player) { - if(player.inventory.armorInventory[3] != null) { - ItemStack[] mods = ArmorModHandler.pryMods(player.inventory.armorInventory[3]); - ItemStack helmet = mods[ArmorModHandler.helmet_only]; - return helmet != null && helmet.getItem() == ModItems.card_aos; - } - return false; - } -} diff --git a/src/main/java/com/hbm/items/weapon/ItemGunBio.java b/src/main/java/com/hbm/items/weapon/ItemGunBio.java deleted file mode 100644 index 1e7184e84..000000000 --- a/src/main/java/com/hbm/items/weapon/ItemGunBio.java +++ /dev/null @@ -1,125 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.ArrayList; -import java.util.List; - -import com.hbm.handler.GunConfiguration; -import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationSequence; -import com.hbm.render.anim.HbmAnimations.AnimType; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class ItemGunBio extends ItemGunBase { - - public ItemGunBio(GunConfiguration config) { - super(config); - } - - public static long lastShot; - public static List smokeNodes = new ArrayList(); - - @Override - public void startActionClient(ItemStack stack, World world, EntityPlayer player, boolean main) { } - - @Override - @SideOnly(Side.CLIENT) - protected void updateClient(ItemStack stack, World world, EntityPlayer entity, int slot, boolean isCurrentItem) { - super.updateClient(stack, world, entity, slot, isCurrentItem); - - boolean smoking = lastShot + 2000 > System.currentTimeMillis(); - - if(!smoking && !smokeNodes.isEmpty()) { - smokeNodes.clear(); - } - - if(smoking) { - - Vec3 prev = Vec3.createVectorHelper(-entity.motionX, -entity.motionY, -entity.motionZ); - prev.rotateAroundY((float) (entity.rotationYaw * Math.PI / 180D)); - double accel = 15D; - double side = (entity.rotationYaw - entity.prevRotationYawHead) * 0.1D; - double waggle = 0.025D; - - for(double[] node : smokeNodes) { - node[0] += prev.xCoord * accel + world.rand.nextGaussian() * waggle + side; - node[1] += prev.yCoord + 1.5D; - node[2] += prev.zCoord * accel + world.rand.nextGaussian() * waggle; - } - - double alpha = (System.currentTimeMillis() - ItemGunBio.lastShot) / 2000D; - alpha = (1 - alpha) * 0.5D; - - if(this.getIsReloading(stack)) alpha = 0; - - smokeNodes.add(new double[] {0, 0, 0, alpha}); - } - } - - @Override - @SideOnly(Side.CLIENT) - public BusAnimation getAnimation(ItemStack stack, AnimType type) { - - if(type == AnimType.CYCLE) { - lastShot = System.currentTimeMillis(); - return new BusAnimation() - .addBus("RECOIL", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 50) - .addKeyframePosition(0, 0, -3, 50) - .addKeyframePosition(0, 0, 0, 250) - ) - .addBus("HAMMER", new BusAnimationSequence() - .addKeyframePosition(0, 0, 1, 50) - .addKeyframePosition(0, 0, 1, 300) - .addKeyframePosition(0, 0, 0, 200) - ) - .addBus("DRUM", new BusAnimationSequence() - .addKeyframePosition(0, 0, 1, 50) - ); - } - - if(type == AnimType.RELOAD) { - return new BusAnimation() - .addBus("LATCH", new BusAnimationSequence() - .addKeyframePosition(0, 0, 90, 300) - .addKeyframePosition(0, 0, 90, 2000) - .addKeyframePosition(0, 0, 0, 150) - ) - .addBus("FRONT", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 200) - .addKeyframePosition(0, 0, 45, 150) - .addKeyframePosition(0, 0, 45, 2000) - .addKeyframePosition(0, 0, 0, 75) - ) - .addBus("RELOAD_ROT", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 300) - .addKeyframePosition(60, 0, 0, 500) - .addKeyframePosition(60, 0, 0, 500) - .addKeyframePosition(0, -90, -90, 0) - .addKeyframePosition(0, -90, -90, 600) - .addKeyframePosition(0, 0, 0, 300) - .addKeyframePosition(0, 0, 0, 100) - .addKeyframePosition(-45, 0, 0, 50) - .addKeyframePosition(-45, 0, 0, 100) - .addKeyframePosition(0, 0, 0, 300) - ) - .addBus("RELOAD_MOVE", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 300) - .addKeyframePosition(0, -15, 0, 1000) - .addKeyframePosition(0, 0, 0, 450) - ) - .addBus("DRUM_PUSH", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 1600) - .addKeyframePosition(0, 0, -5, 0) - .addKeyframePosition(0, 0, 0, 300) - ); - } - - return null; - } -} diff --git a/src/main/java/com/hbm/items/weapon/ItemGunChemthrower.java b/src/main/java/com/hbm/items/weapon/ItemGunChemthrower.java deleted file mode 100644 index 110ed0f3e..000000000 --- a/src/main/java/com/hbm/items/weapon/ItemGunChemthrower.java +++ /dev/null @@ -1,227 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; - -import com.hbm.config.GeneralConfig; -import com.hbm.entity.projectile.EntityChemical; -import com.hbm.handler.GunConfiguration; -import com.hbm.handler.guncfg.GunEnergyFactory; -import com.hbm.interfaces.IHoldableWeapon; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.items.machine.ItemFluidIcon; -import com.hbm.packet.GunAnimationPacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.render.anim.HbmAnimations.AnimType; -import com.hbm.render.util.RenderScreenOverlay; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -import api.hbm.fluid.IFillableItem; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.Minecraft; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; -import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; -import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; - -public class ItemGunChemthrower extends ItemGunBase implements IFillableItem { - - public ItemGunChemthrower() { - super(GunEnergyFactory.getChemConfig()); - } - - @Override - protected void fire(ItemStack stack, World world, EntityPlayer player) { - - if(!hasAmmo(stack, player, true)) - return; - - int bullets = 1; - - for(int i = 0; i < bullets; i++) { - spawnProjectile(world, player, stack, 0); - } - - if(player instanceof EntityPlayerMP) - PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.CYCLE.ordinal()), (EntityPlayerMP) player); - - useUpAmmo(player, stack, true); - player.inventoryContainer.detectAndSendChanges(); - - int wear = (int) Math.ceil(10 / (1F + EnchantmentHelper.getEnchantmentLevel(Enchantment.unbreaking.effectId, stack))); - setItemWear(stack, getItemWear(stack) + wear); - } - - @Override - public boolean hasAmmo(ItemStack stack, EntityPlayer player, boolean main) { - return getMag(stack) >= 0 + this.getConsumption(stack); - } - - @Override - public void useUpAmmo(EntityPlayer player, ItemStack stack, boolean main) { - - if(!main && altConfig == null) - return; - - GunConfiguration config = mainConfig; - - if(!main) - config = altConfig; - - if(hasInfinity(stack, config)) - return; - - setMag(stack, getMag(stack) - this.getConsumption(stack)); - } - - @Override - public boolean canReload(ItemStack stack, World world, EntityPlayer player) { - return false; - } - - @Override - protected void spawnProjectile(World world, EntityPlayer player, ItemStack stack, int config) { - //spawn fluid projectile - EntityChemical chem = new EntityChemical(world, player); - chem.setFluid(this.getFluidType(stack)); - world.spawnEntityInWorld(chem); - } - - @Override - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - - list.add("Ammo: " + getMag(stack) + " / " + mainConfig.ammoCap + "mB"); - - list.add("Ammo Type: " + this.getFluidType(stack).getLocalizedName()); - - int dura = mainConfig.durability - getItemWear(stack); - - if(dura < 0) - dura = 0; - - list.add("Durability: " + dura + " / " + mainConfig.durability); - list.add(""); - list.add("Name: " + mainConfig.name); - list.add("Manufacturer: " + mainConfig.manufacturer); - - if(!mainConfig.comment.isEmpty()) { - list.add(""); - for(String s : mainConfig.comment) - list.add(EnumChatFormatting.ITALIC + s); - } - - if(GeneralConfig.enableExtendedLogging) { - list.add(""); - list.add("Type: " + getMagType(stack)); - list.add("Is Reloading: " + getIsReloading(stack)); - list.add("Reload Cycle: " + getReloadCycle(stack)); - list.add("RoF Cooldown: " + getDelay(stack)); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void renderHUD(Pre event, ElementType type, EntityPlayer player, ItemStack stack) { - - ItemGunBase gun = ((ItemGunBase)stack.getItem()); - GunConfiguration gcfg = gun.mainConfig; - - if(type == ElementType.HOTBAR) { - - FluidType fluid = this.getFluidType(stack); - - ItemStack ammo = ItemFluidIcon.make(fluid, 1); - - int count = ItemGunBase.getMag(stack); - int max = gcfg.ammoCap; - boolean showammo = gcfg.showAmmo; - - int dura = ItemGunBase.getItemWear(stack) * 50 / gcfg.durability; - - RenderScreenOverlay.renderAmmo(event.resolution, Minecraft.getMinecraft().ingameGUI, ammo, count, max, dura, showammo); - } - - if(type == ElementType.CROSSHAIRS && GeneralConfig.enableCrosshairs) { - - event.setCanceled(true); - - if(!(gcfg.hasSights && player.isSneaking())) - RenderScreenOverlay.renderCustomCrosshairs(event.resolution, Minecraft.getMinecraft().ingameGUI, ((IHoldableWeapon)player.getHeldItem().getItem()).getCrosshair()); - else - RenderScreenOverlay.renderCustomCrosshairs(event.resolution, Minecraft.getMinecraft().ingameGUI, Crosshair.NONE); - } - } - - @Override - protected void reload2(ItemStack stack, World world, EntityPlayer player) { - this.setIsReloading(stack, false); - } - - public FluidType getFluidType(ItemStack stack) { - return Fluids.fromID(this.getMagType(stack)); - } - - public int getConsumption(ItemStack stack) { - return 3; - } - - @Override - public boolean acceptsFluid(FluidType type, ItemStack stack) { - return getFluidType(stack) == type || this.getMag(stack) == 0; - } - - public static final int transferSpeed = 50; - - @Override - public int tryFill(FluidType type, int amount, ItemStack stack) { - - if(!acceptsFluid(type, stack)) - return amount; - - if(this.getMag(stack) == 0) - this.setMagType(stack, type.getID()); - - int fill = this.getMag(stack); - int req = this.mainConfig.ammoCap - fill; - - int toFill = Math.min(amount, req); - toFill = Math.min(toFill, transferSpeed); - - this.setMag(stack, fill + toFill); - - return amount - toFill; - } - - @Override - public boolean providesFluid(FluidType type, ItemStack stack) { - return getFluidType(stack) == type; - } - - @Override - public int tryEmpty(FluidType type, int amount, ItemStack stack) { - - int fill = this.getMag(stack); - int toUnload = Math.min(fill, amount); - toUnload = Math.min(toUnload, transferSpeed); - - this.setMag(stack, fill - toUnload); - - return toUnload; - } - - @Override - public FluidType getFirstFluidType(ItemStack stack) { - return this.getFluidType(stack); - } - - @Override - public int getFill(ItemStack stack) { - return this.getMag(stack); - } -} diff --git a/src/main/java/com/hbm/items/weapon/ItemGunDart.java b/src/main/java/com/hbm/items/weapon/ItemGunDart.java deleted file mode 100644 index 1840cda68..000000000 --- a/src/main/java/com/hbm/items/weapon/ItemGunDart.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.hbm.items.weapon; - -import com.hbm.handler.GunConfiguration; - -import api.hbm.item.IDesignatorItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.ChatStyle; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class ItemGunDart extends ItemGunBase implements IDesignatorItem { - - public ItemGunDart(GunConfiguration config) { - super(config); - } - - public static void writePlayer(ItemStack stack, EntityPlayer player) { - - if(!stack.hasTagCompound()) - stack.stackTagCompound = new NBTTagCompound(); - - stack.stackTagCompound.setString("player", player.getDisplayName()); - stack.stackTagCompound.setLong("lease", player.worldObj.getTotalWorldTime() + 60 * 60 * 20); - } - - public static EntityPlayer readPlayer(World world, ItemStack stack) { - - if(!stack.hasTagCompound()) - return null; - - if(stack.stackTagCompound.getLong("lease") < world.getTotalWorldTime()) - return null; - - return MinecraftServer.getServer().getConfigurationManager().func_152612_a(stack.stackTagCompound.getString("player")); - } - - public void startAction(ItemStack stack, World world, EntityPlayer player, boolean main) { - - if(main) { - super.startAction(stack, world, player, main); - } else { - - EntityPlayer target = readPlayer(world, stack); - - if(target != null) { - - int dim = target.worldObj.provider.dimensionId; - int x = (int)target.posX; - int y = (int)target.posY; - int z = (int)target.posZ; - int dist = (int) target.getDistanceToEntity(player); - - player.addChatComponentMessage(new ChatComponentText(target.getDisplayName()).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW))); - player.addChatComponentMessage(new ChatComponentText("Dim: " + dim + " X:" + x + " Y:" + y + " Z:" + z + " (" + dist + " blocks away)").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW))); - } else { - - player.addChatComponentMessage(new ChatComponentText("No Target").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED))); - } - } - } - - @Override - public boolean isReady(World world, ItemStack stack, int x, int y, int z) { - EntityPlayer target = readPlayer(world, stack); - return target != null && target.dimension == world.provider.dimensionId; - } - - @Override - public Vec3 getCoords(World world, ItemStack stack, int x, int y, int z) { - EntityPlayer target = readPlayer(world, stack); - return Vec3.createVectorHelper(target.posX, target.posY, target.posZ); - } -} diff --git a/src/main/java/com/hbm/items/weapon/ItemGunDetonator.java b/src/main/java/com/hbm/items/weapon/ItemGunDetonator.java deleted file mode 100644 index ae89da2c9..000000000 --- a/src/main/java/com/hbm/items/weapon/ItemGunDetonator.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.hbm.items.weapon; - -import com.hbm.handler.GunConfiguration; - -import net.minecraft.item.ItemStack; - -public class ItemGunDetonator extends ItemGunBase { - - public ItemGunDetonator(GunConfiguration config) { - super(config); - } - - @Override - public boolean hasInfinity(ItemStack stack, GunConfiguration config) { - return true; - } -} diff --git a/src/main/java/com/hbm/items/weapon/ItemGunGauss.java b/src/main/java/com/hbm/items/weapon/ItemGunGauss.java deleted file mode 100644 index 7dd20b1a0..000000000 --- a/src/main/java/com/hbm/items/weapon/ItemGunGauss.java +++ /dev/null @@ -1,158 +0,0 @@ -package com.hbm.items.weapon; - -import com.hbm.entity.projectile.EntityBulletBaseNT; -import com.hbm.handler.GunConfiguration; -import com.hbm.items.ModItems; -import com.hbm.lib.ModDamageSource; -import com.hbm.main.MainRegistry; -import com.hbm.packet.GunAnimationPacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.render.anim.HbmAnimations.AnimType; -import com.hbm.sound.AudioWrapper; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public class ItemGunGauss extends ItemGunBase { - - private AudioWrapper chargeLoop; - - public ItemGunGauss(GunConfiguration config, GunConfiguration alt) { - super(config, alt); - } - - public void endAction(ItemStack stack, World world, EntityPlayer player, boolean main) { - - if(getHasShot(stack)) { - world.playSoundAtEntity(player, "hbm:weapon.sparkShoot", 2.0F, 1.0F); - setHasShot(stack, false); - } - - if(!main && getStored(stack) > 0) { - EntityBulletBaseNT bullet = new EntityBulletBaseNT(world, altConfig.config.get(0), player); - bullet.overrideDamage = Math.max(getStored(stack), 1) * 10F; - world.spawnEntityInWorld(bullet); - world.playSoundAtEntity(player, "hbm:weapon.tauShoot", 0.5F, 0.75F); - setItemWear(stack, getItemWear(stack) + (getCharge(stack)) * 2); - setCharge(stack, 0); - - if(player instanceof EntityPlayerMP) - PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.CYCLE.ordinal()), (EntityPlayerMP) player); - } - } - - public void endActionClient(ItemStack stack, World world, EntityPlayer player, boolean main) { - - if(chargeLoop != null) { - chargeLoop.stopSound(); - chargeLoop = null; - } - } - - protected void altFire(ItemStack stack, World world, EntityPlayer player) { - setCharge(stack, 1); - } - - @Override - public void startActionClient(ItemStack stack, World world, EntityPlayer player, boolean main) { - - if(!main && getItemWear(stack) < mainConfig.durability && player.inventory.hasItem(ModItems.gun_xvl1456_ammo)) { - chargeLoop = MainRegistry.proxy.getLoopedSound("hbm:weapon.tauChargeLoop2", (float)player.posX, (float)player.posY, (float)player.posZ, 1.0F, 5F, 0.75F); - world.playSoundAtEntity(player, "hbm:weapon.tauChargeLoop2", 1.0F, 0.75F); - - if(chargeLoop != null) { - chargeLoop.startSound(); - } - } - } - - protected void updateServer(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { - - super.updateServer(stack, world, player, slot, isCurrentItem); - - if(getIsAltDown(stack) && getItemWear(stack) < mainConfig.durability) { - - int c = getCharge(stack); - - if(c > 200) { - setCharge(stack, 0); - setItemWear(stack, mainConfig.durability); - player.attackEntityFrom(ModDamageSource.tauBlast, 1000); - world.newExplosion(player, player.posX, player.posY + player.eyeHeight, player.posZ, 5.0F, true, true); - return; - } - - if(c > 0) { - setCharge(stack, c + 1); - - if(c % 10 == 1 && c < 140 && c > 2) { - - if(player.inventory.hasItem(ModItems.gun_xvl1456_ammo)) { - player.inventory.consumeInventoryItem(ModItems.gun_xvl1456_ammo); - setStored(stack, getStored(stack) + 1); - } else { - setCharge(stack, 0); - setStored(stack, 0); - } - } - } else { - setStored(stack, 0); - } - } else { - setCharge(stack, 0); - setStored(stack, 0); - } - } - - protected void updateClient(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { - super.updateClient(stack, world, player, slot, isCurrentItem); - - if(chargeLoop != null) { - if(!chargeLoop.isPlaying()) { - chargeLoop = rebootAudio(chargeLoop, player); - } - chargeLoop.updatePosition((float)player.posX, (float)player.posY, (float)player.posZ); - chargeLoop.updatePitch(1 + (getCharge(stack)) * 0.01F); - } - } - - public AudioWrapper rebootAudio(AudioWrapper wrapper, EntityPlayer player) { - wrapper.stopSound(); - AudioWrapper audio = MainRegistry.proxy.getLoopedSound("hbm:weapon.tauChargeLoop2", (float)player.posX, (float)player.posY, (float)player.posZ, wrapper.getVolume(), wrapper.getRange(), wrapper.getPitch()); - audio.startSound(); - return audio; - } - - protected void spawnProjectile(World world, EntityPlayer player, ItemStack stack, int config) { - - super.spawnProjectile(world, player, stack, config); - setHasShot(stack, true); - } - - public static void setHasShot(ItemStack stack, boolean b) { - writeNBT(stack, "hasShot", b ? 1 : 0); - } - - public static boolean getHasShot(ItemStack stack) { - return readNBT(stack, "hasShot") == 1; - } - - /// gauss charge state /// - public static void setCharge(ItemStack stack, int i) { - writeNBT(stack, "gauss_charge", i); - } - - public static int getCharge(ItemStack stack) { - return readNBT(stack, "gauss_charge"); - } - - public static void setStored(ItemStack stack, int i) { - writeNBT(stack, "gauss_stored", i); - } - - public static int getStored(ItemStack stack) { - return readNBT(stack, "gauss_stored"); - } -} diff --git a/src/main/java/com/hbm/items/weapon/ItemGunLacunae.java b/src/main/java/com/hbm/items/weapon/ItemGunLacunae.java deleted file mode 100644 index 03fa31c1c..000000000 --- a/src/main/java/com/hbm/items/weapon/ItemGunLacunae.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.hbm.items.weapon; - -import com.hbm.handler.GunConfiguration; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public class ItemGunLacunae extends ItemGunBase { - - public ItemGunLacunae(GunConfiguration config) { - super(config); - } - - @Override - public void startAction(ItemStack stack, World world, EntityPlayer player, boolean main) { - - if(main) { - setDelay(stack, 20); - world.playSoundAtEntity(player, "hbm:weapon.lacunaeSpinup", 1.0F, 1.0F); - } - } - - @Override - public void endAction(ItemStack stack, World world, EntityPlayer player, boolean main) { - - if(main) - world.playSoundAtEntity(player, "hbm:weapon.lacunaeSpindown", 1.0F, 1.0F); - } - - protected void updateServer(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { - - super.updateServer(stack, world, player, slot, isCurrentItem); - - if(getIsMouseDown(stack)) { - - int rot = readNBT(stack, "rot") % 360; - rot += 25; - writeNBT(stack, "rot", rot); - } - } -} diff --git a/src/main/java/com/hbm/items/weapon/ItemGunOSIPR.java b/src/main/java/com/hbm/items/weapon/ItemGunOSIPR.java deleted file mode 100644 index dd8f945bc..000000000 --- a/src/main/java/com/hbm/items/weapon/ItemGunOSIPR.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.hbm.items.weapon; - -import com.hbm.entity.projectile.EntityCombineBallNT; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.GunConfiguration; -import com.hbm.items.ModItems; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public class ItemGunOSIPR extends ItemGunBase { - - public ItemGunOSIPR(GunConfiguration config, GunConfiguration alt) { - super(config, alt); - } - - @Override - protected void altFire(ItemStack stack, World world, EntityPlayer player) { - - setCharge(stack, 1); - world.playSoundAtEntity(player, "hbm:weapon.osiprCharging", 1.0F, 1F); - } - - @Override - protected void updateServer(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { - super.updateServer(stack, world, player, slot, isCurrentItem); - - if(!isCurrentItem) { - setCharge(stack, 0); - return; - } - - int i = getCharge(stack); - - if(i >= 20) { - EntityCombineBallNT energyBall = new EntityCombineBallNT(world, BulletConfigSyncingUtil.SPECIAL_OSIPR_CHARGED, player); - world.spawnEntityInWorld(energyBall); - world.playSoundAtEntity(player, altConfig.firingSound, 1.0F, 1F); - setCharge(stack, 0); - setDelay(stack, altConfig.rateOfFire); - player.inventory.consumeInventoryItem(ModItems.gun_osipr_ammo2); - - } else if(i > 0) - setCharge(stack, i + 1); - } - - @Override - protected boolean tryShoot(ItemStack stack, World world, EntityPlayer player, boolean main) { - - return super.tryShoot(stack, world, player, main) && getCharge(stack) == 0; - } - - /// CMB charge state /// - public static void setCharge(ItemStack stack, int i) { - writeNBT(stack, "cmb_charge", i); - } - - public static int getCharge(ItemStack stack) { - return readNBT(stack, "cmb_charge"); - } -} diff --git a/src/main/java/com/hbm/items/weapon/ItemGunPip.java b/src/main/java/com/hbm/items/weapon/ItemGunPip.java deleted file mode 100644 index c6ed8aaf9..000000000 --- a/src/main/java/com/hbm/items/weapon/ItemGunPip.java +++ /dev/null @@ -1,137 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.ArrayList; -import java.util.List; - -import com.hbm.handler.GunConfiguration; -import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationSequence; -import com.hbm.render.anim.HbmAnimations.AnimType; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class ItemGunPip extends ItemGunBase { - - public static long lastShot; - public static List smokeNodes = new ArrayList(); - - public ItemGunPip(GunConfiguration config) { - super(config); - } - - @Override - @SideOnly(Side.CLIENT) - protected void updateClient(ItemStack stack, World world, EntityPlayer entity, int slot, boolean isCurrentItem) { - super.updateClient(stack, world, entity, slot, isCurrentItem); - - boolean smoking = lastShot + 2000 > System.currentTimeMillis(); - - if(!smoking && !smokeNodes.isEmpty()) { - smokeNodes.clear(); - } - - if(smoking) { - Vec3 prev = Vec3.createVectorHelper(-entity.motionX, -entity.motionY, -entity.motionZ); - prev.rotateAroundY((float) (entity.rotationYaw * Math.PI / 180D)); - double accel = 15D; - double side = (entity.rotationYaw - entity.prevRotationYawHead) * 0.1D; - double waggle = 0.025D; - - for(double[] node : smokeNodes) { - node[0] += -prev.zCoord * accel + world.rand.nextGaussian() * waggle; - node[1] += prev.yCoord + 1.5D; - node[2] += prev.xCoord * accel + world.rand.nextGaussian() * waggle + side; - } - - double alpha = (System.currentTimeMillis() - lastShot) / 2000D; - alpha = (1 - alpha) * 0.5D; - - if(this.getIsReloading(stack)) alpha = 0; - - smokeNodes.add(new double[] {0, 0, 0, alpha}); - } - } - - @Override - @SideOnly(Side.CLIENT) - public BusAnimation getAnimation(ItemStack stack, AnimType type) { - - if(type == AnimType.EQUIP) { - return new BusAnimation() - .addBus("ROTATE", new BusAnimationSequence() - .addKeyframePosition(-360, 0, 0, 350) - ); - } - - if(type == AnimType.CYCLE) { - lastShot = System.currentTimeMillis(); - int s = 1; - return new BusAnimation() - .addBus("RECOIL", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 50 * s) - .addKeyframePosition(0, 0, -3, 50 * s) - .addKeyframePosition(0, 0, 0, 250 * s) - ) - .addBus("HAMMER", new BusAnimationSequence() - .addKeyframePosition(0, 0, 1, 50 * s) - .addKeyframePosition(0, 0, 1, 300 * s) - .addKeyframePosition(0, 0, 0, 200 * s) - ) - .addBus("DRUM", new BusAnimationSequence() - .addKeyframePosition(0, 0, 1, 50 * s) - ); - } - - if(type == AnimType.RELOAD) { - int s = 1; - return new BusAnimation() - .addBus("RELAOD_TILT", new BusAnimationSequence() - .addKeyframePosition(-15, 0, 0, 100 * s) - .addKeyframePosition(65, 0, 0, 100 * s) //200 - .addKeyframePosition(45, 0, 0, 50 * s) //250 - .addKeyframePosition(0, 0, 0, 200 * s) //450 - .addKeyframePosition(0, 0, 0, 1450 * s) //1900 - .addKeyframePosition(-80, 0, 0, 100 * s) //2000 - .addKeyframePosition(-80, 0, 0, 100 * s) //2100 - .addKeyframePosition(0, 0, 0, 200 * s) //2300 - ) - .addBus("RELOAD_CYLINDER", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 200 * s) - .addKeyframePosition(90, 0, 0, 100 * s) //300 - .addKeyframePosition(90, 0, 0, 1700 * s) //2000 - .addKeyframePosition(0, 0, 0, 70 * s) //2100 - ) - .addBus("RELOAD_LIFT", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 350 * s) - .addKeyframePosition(-45, 0, 0, 250 * s) //600 - .addKeyframePosition(-45, 0, 0, 350 * s) //950 - .addKeyframePosition(-15, 0, 0, 200 * s) //1150 - .addKeyframePosition(-15, 0, 0, 1050 * s) //2200 - .addKeyframePosition(0, 0, 0, 100 * s) //2300 - ) - .addBus("RELOAD_JOLT", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 600 * s) - .addKeyframePosition(2, 0, 0, 50 * s) //650 - .addKeyframePosition(0, 0, 0, 100 * s) //750 - ) - .addBus("RELOAD_BULLETS", new BusAnimationSequence() - .addKeyframePosition(0, 0, 0, 650 * s) - .addKeyframePosition(10, 0, 0, 300 * s) //950 - .addKeyframePosition(10, 0, 0, 200 * s) //1150 - .addKeyframePosition(0, 0, 0, 700 * s) //1850 - ) - .addBus("RELOAD_BULLETS_CON", new BusAnimationSequence() - .addKeyframePosition(1, 0, 0, 0 * s) - .addKeyframePosition(1, 0, 0, 950 * s) - .addKeyframePosition(0, 0, 0, 1 * s) - ); - } - - return null; - } -} diff --git a/src/main/java/com/hbm/items/weapon/ItemGunShotty.java b/src/main/java/com/hbm/items/weapon/ItemGunShotty.java deleted file mode 100644 index 39588922c..000000000 --- a/src/main/java/com/hbm/items/weapon/ItemGunShotty.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hbm.items.weapon; - -import com.hbm.handler.GunConfiguration; -import com.hbm.util.ShadyUtil; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public class ItemGunShotty extends ItemGunBase { - - public ItemGunShotty(GunConfiguration config) { - super(config); - } - - protected void updateServer(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { - super.updateServer(stack, world, player, slot, isCurrentItem); - - if((player.getUniqueID().toString().equals(ShadyUtil.Dr_Nostalgia) || player.getDisplayName().equals("Tankish") || player.getDisplayName().equals("Tankish020")) && - this.getDelay(stack) < this.mainConfig.rateOfFire * 0.9) - this.setDelay(stack, 0); - } - -} diff --git a/src/main/java/com/hbm/items/weapon/ItemPlasmaSpear.java b/src/main/java/com/hbm/items/weapon/ItemPlasmaSpear.java deleted file mode 100644 index 38b210a38..000000000 --- a/src/main/java/com/hbm/items/weapon/ItemPlasmaSpear.java +++ /dev/null @@ -1,179 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; - -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.items.ISyncButtons; -import com.hbm.lib.ModDamageSource; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; - -import api.hbm.fluid.IFillableItem; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.EntityDamageSource; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import net.minecraftforge.client.event.MouseEvent; - -public class ItemPlasmaSpear extends Item implements IFillableItem, ISyncButtons { - - public static final int maxFuel = 3_000; - - @Override - public boolean showDurabilityBar(ItemStack stack) { - return getFill(stack) < maxFuel; - } - - @Override - public double getDurabilityForDisplay(ItemStack stack) { - return 1 - (double) getFill(stack) / (double) maxFuel; - } - - @Override - public int getFill(ItemStack stack) { - if(stack.stackTagCompound == null) { - stack.stackTagCompound = new NBTTagCompound(); - setFill(stack, maxFuel); - return maxFuel; - } - - return stack.stackTagCompound.getInteger("fuel"); - } - - public void setFill(ItemStack stack, int fill) { - if(stack.stackTagCompound == null) { - stack.stackTagCompound = new NBTTagCompound(); - } - - stack.stackTagCompound.setInteger("fuel", fill); - } - - public static ItemStack getEmptyTool(Item item) { - ItemPlasmaSpear tool = (ItemPlasmaSpear) item; - ItemStack stack = new ItemStack(item); - tool.setFill(stack, 0); - return stack; - } - - @Override - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - - if(world.isRemote) return stack; - - if(!stack.hasTagCompound()) { - stack.stackTagCompound = new NBTTagCompound(); - } - - stack.stackTagCompound.setBoolean("melee", !stack.stackTagCompound.getBoolean("melee")); - world.playSoundAtEntity(player, "random.orb", 0.25F, 1.25F); - - return stack; - } - - @Override - public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity) { - - if(stack.hasTagCompound() && !stack.stackTagCompound.getBoolean("melee")) { - return true; //cancel hitting, it's ranged - } - - return false; - } - - @Override - public boolean onEntitySwing(EntityLivingBase entityLiving, ItemStack stack) { - - if(!(entityLiving instanceof EntityPlayerMP)) - return false; - - if(getFill(stack) <= 0) - return false; - - if(stack.hasTagCompound() && stack.stackTagCompound.getBoolean("melee")) { - return true; //cancel hitting, it's ranged - } - - NBTTagCompound nbt = new NBTTagCompound(); - nbt.setString("type", "anim"); - nbt.setString("mode", "lSwing"); - PacketDispatcher.wrapper.sendTo(new AuxParticlePacketNT(nbt, 0, 0, 0), (EntityPlayerMP)entityLiving); - - return false; - } - - @Override - public boolean canReceiveMouse(EntityPlayer player, ItemStack stack, MouseEvent event, int button, boolean buttonstate) { - - if(stack.hasTagCompound() && stack.stackTagCompound.getBoolean("melee")) { - return false; - } - - if(button == 0) { - event.setCanceled(true); - return true; - } - - return false; - } - - @Override - public void receiveMouse(EntityPlayer player, ItemStack stack, int button, boolean buttonstate) { - Vec3 start = Vec3.createVectorHelper(player.posX, player.posY + player.getEyeHeight() - player.yOffset, player.posZ); - Vec3 look = player.getLookVec(); - Vec3 end = start.addVector(look.xCoord * 100, look.yCoord * 100, look.zCoord * 100); - - List targets = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, AxisAlignedBB.getBoundingBox( - Math.min(start.xCoord, end.xCoord), - Math.min(start.yCoord, end.yCoord), - Math.min(start.zCoord, end.zCoord), - Math.max(start.xCoord, end.xCoord), - Math.max(start.yCoord, end.yCoord), - Math.max(start.zCoord, end.zCoord) - )); - - for(Entity target : targets) { - - AxisAlignedBB aabb = target.boundingBox; - MovingObjectPosition hitMop = aabb.calculateIntercept(start, end); - - if(hitMop != null) { - target.attackEntityFrom(new EntityDamageSource(ModDamageSource.s_laser, player).setDamageBypassesArmor(), 15F); - } - } - } - - @Override - public boolean acceptsFluid(FluidType type, ItemStack stack) { - return type == Fluids.SCHRABIDIC; - } - - @Override - public int tryFill(FluidType type, int amount, ItemStack stack) { - - int fill = this.getFill(stack); - int toFill = this.maxFuel - fill; - toFill = Math.min(toFill, amount); - toFill = Math.min(toFill, 10); - - this.setFill(stack, fill + toFill); - - return amount - toFill; - } - - @Override public boolean providesFluid(FluidType type, ItemStack stack) { return false; } - @Override public int tryEmpty(FluidType type, int amount, ItemStack stack) { return 0; } - - @Override - public FluidType getFirstFluidType(ItemStack stack) { - return Fluids.SCHRABIDIC; - } -} diff --git a/src/main/java/com/hbm/items/weapon/gununified/GunFrame.java b/src/main/java/com/hbm/items/weapon/gununified/GunFrame.java deleted file mode 100644 index ad2ab4f0d..000000000 --- a/src/main/java/com/hbm/items/weapon/gununified/GunFrame.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.hbm.items.weapon.gununified; - -import java.util.ArrayList; -import java.util.List; - -import com.hbm.util.Tuple.Pair; -import com.hbm.util.Tuple.Triplet; - -import api.hbm.item.IClickReceiver; -import api.hbm.item.IGunHUDProvider; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; - -@Deprecated -public abstract class GunFrame extends Item implements IGunHUDProvider, IClickReceiver { - - @Override - public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean isCurrentItem) { - - if(entity instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) entity; - - if(world.isRemote) { - this.updatePlayerClient(stack, world, player, slot, isCurrentItem); - } else { - this.updatePlayerServer(stack, world, player, slot, isCurrentItem); - } - } - } - - public void updatePlayerClient(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { } - public void updatePlayerServer(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { } - - @Override - @SideOnly(Side.CLIENT) - public boolean handleMouseInput(ItemStack stack, EntityPlayer player, int button, boolean state) { - return false; - } - - @Override - public List> getStatusBars(ItemStack stack, EntityPlayer player) { - return new ArrayList(); - } - - @Override - public List> getAmmoInfo(ItemStack stack, EntityPlayer player) { - return null; - } - - public static double getDurabilityBar(ItemStack stack) { - return 1.0D; - } -} diff --git a/src/main/java/com/hbm/items/weapon/gununified/GunRealoadable.java b/src/main/java/com/hbm/items/weapon/gununified/GunRealoadable.java deleted file mode 100644 index d1cfc831f..000000000 --- a/src/main/java/com/hbm/items/weapon/gununified/GunRealoadable.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.hbm.items.weapon.gununified; - -import org.lwjgl.input.Keyboard; - -import com.hbm.handler.HbmKeybinds; - -import api.hbm.item.IButtonReceiver; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; - -public class GunRealoadable extends GunFrame implements IButtonReceiver { - - private IReloadBehavior reload; - public static boolean lastReload = false; - - @Override - @SideOnly(Side.CLIENT) - public void handleKeyboardInput(ItemStack stack, EntityPlayer player) { - - boolean reload = Keyboard.isKeyDown(HbmKeybinds.reloadKey.getKeyCode()); - - if(this.reload != null) { - this.reload.tryStartReload(stack, player); - } - - lastReload = reload; - } -} diff --git a/src/main/java/com/hbm/items/weapon/gununified/IReloadBehavior.java b/src/main/java/com/hbm/items/weapon/gununified/IReloadBehavior.java deleted file mode 100644 index 1bc6e3d19..000000000 --- a/src/main/java/com/hbm/items/weapon/gununified/IReloadBehavior.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.hbm.items.weapon.gununified; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; - -public interface IReloadBehavior { - - public boolean tryStartReload(ItemStack stack, EntityPlayer player); - public boolean updateRelaod(ItemStack stack, EntityPlayer player); -} diff --git a/src/main/java/com/hbm/items/weapon/gununified/IStatusBarProvider.java b/src/main/java/com/hbm/items/weapon/gununified/IStatusBarProvider.java deleted file mode 100644 index 6d91fce96..000000000 --- a/src/main/java/com/hbm/items/weapon/gununified/IStatusBarProvider.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.hbm.items.weapon.gununified; - -import java.util.List; - -import com.hbm.util.Tuple.Triplet; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; - -public interface IStatusBarProvider { - - public void provideBars(ItemStack stack, EntityPlayer player, List> bars); -} diff --git a/src/main/java/com/hbm/items/weapon/gununified/ItemEnergyGunBase.java b/src/main/java/com/hbm/items/weapon/gununified/ItemEnergyGunBase.java deleted file mode 100644 index 554f5a6ea..000000000 --- a/src/main/java/com/hbm/items/weapon/gununified/ItemEnergyGunBase.java +++ /dev/null @@ -1,289 +0,0 @@ -package com.hbm.items.weapon.gununified; - -import java.util.List; - -import org.lwjgl.input.Mouse; - -import com.hbm.config.GeneralConfig; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.GunConfiguration; -import com.hbm.interfaces.IHoldableWeapon; -import com.hbm.items.weapon.ItemGunBase; -import com.hbm.packet.GunAnimationPacket; -import com.hbm.packet.GunButtonPacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.render.anim.HbmAnimations.AnimType; -import com.hbm.render.util.RenderScreenOverlay; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; -import com.hbm.util.BobMathUtil; -import com.hbm.util.ChatBuilder; - -import api.hbm.energymk2.IBatteryItem; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.Minecraft; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; -import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; -import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; - -public class ItemEnergyGunBase extends ItemGunBase implements IBatteryItem { - - public ItemEnergyGunBase(GunConfiguration config) { - super(config); - } - - public ItemEnergyGunBase(GunConfiguration config, GunConfiguration alt) { - super(config, alt); - } - - @Override - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - list.add("Energy Stored: " + BobMathUtil.getShortNumber(getCharge(stack)) + "/" + BobMathUtil.getShortNumber(mainConfig.maxCharge) + "HE"); - list.add("Charge rate: " + BobMathUtil.getShortNumber(mainConfig.chargeRate) + "HE/t"); - - addAdditionalInformation(stack, list); - } - - @Override - @SideOnly(Side.CLIENT) - protected void updateClient(ItemStack stack, World world, EntityPlayer entity, int slot, boolean isCurrentItem) { - - if(!world.isRemote) - return; - - boolean clickLeft = Mouse.isButtonDown(0); - boolean clickRight = Mouse.isButtonDown(1); - boolean left = m1; - boolean right = m2; - - if(isCurrentItem) { - if(left && right) { - PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(false, (byte) 0)); - PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(false, (byte) 1)); - m1 = false; - m2 = false; - } - - if(left && !clickLeft) { - PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(false, (byte) 0)); - m1 = false; - endActionClient(stack, world, entity, true); - } - - if(right && !clickRight) { - PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(false, (byte) 1)); - m2 = false; - endActionClient(stack, world, entity, false); - } - } - } - - protected void updateServer(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { - - if(getDelay(stack) > 0 && isCurrentItem) - setDelay(stack, getDelay(stack) - 1); - - if(getIsMouseDown(stack) && !(player.getHeldItem() == stack)) { - setIsMouseDown(stack, false); - } - - if(getIsAltDown(stack) && !isCurrentItem) { - setIsAltDown(stack, false); - } - - if(GeneralConfig.enableGuns && mainConfig.firingMode == 1 && getIsMouseDown(stack) && tryShoot(stack, world, player, isCurrentItem)) { - - fire(stack, world, player); - setDelay(stack, getConfig(stack).firingRate); - } - } - - protected boolean tryShoot(ItemStack stack, World world, EntityPlayer player, boolean main) { - - - if(main && getDelay(stack) == 0) { - return getConfig(stack).dischargePerShot <= getCharge(stack); - } - - return false; - } - - protected void fire(ItemStack stack, World world, EntityPlayer player) { - - BulletConfiguration config = getConfig(stack); - - int bullets = config.bulletsMin; - - for(int k = 0; k < mainConfig.roundsPerCycle; k++) { - - if(config.bulletsMax > config.bulletsMin) - bullets += world.rand.nextInt(config.bulletsMax - config.bulletsMin); - - for(int i = 0; i < bullets; i++) { - spawnProjectile(world, player, stack, BulletConfigSyncingUtil.getKey(config)); - } - - if(player instanceof EntityPlayerMP) - PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.CYCLE.ordinal()), (EntityPlayerMP) player); - - setCharge(stack, getCharge(stack) - config.dischargePerShot);; - } - - world.playSoundAtEntity(player, mainConfig.firingSound, 1.0F, mainConfig.firingPitch); - } - - public void startAction(ItemStack stack, World world, EntityPlayer player, boolean main) { - - if(mainConfig.firingMode == GunConfiguration.FIRE_MANUAL && main && tryShoot(stack, world, player, main)) { - fire(stack, world, player); - setDelay(stack, mainConfig.rateOfFire); - - } - - if(!main && stack.getItem() instanceof ItemEnergyGunBase) { - - byte mode = stack.hasTagCompound() ? stack.getTagCompound().getByte("mode") : 0; - - if(!stack.hasTagCompound()) - stack.stackTagCompound = new NBTTagCompound(); - - mode++; - if(mode >= mainConfig.config.size()) { - mode = 0; - } - - stack.getTagCompound().setByte("mode", mode); - - if(!world.isRemote) { - BulletConfiguration config = BulletConfigSyncingUtil.pullConfig(mainConfig.config.get(mode)); - //PacketDispatcher.wrapper.sendTo(new PlayerInformPacket("" + config.chatColour + config.modeName, MainRegistry.proxy.ID_GUN_MODE), (EntityPlayerMP)player); - - player.addChatMessage(ChatBuilder.start("") - .nextTranslation("weapon.elecGun.modeChange").color(EnumChatFormatting.WHITE) - .nextTranslation(" ") - .nextTranslation(config.modeName).color(config.chatColour).flush()); - } - } - } - - // yummy boilerplate - - public boolean showDurabilityBar(ItemStack stack) { - return true; - } - - public double getDurabilityForDisplay(ItemStack stack) { - return 1D - (double) getCharge(stack) / (double) getMaxCharge(stack); - } - - @Override - public void chargeBattery(ItemStack stack, long i) { - if(stack.getItem() instanceof ItemEnergyGunBase) { - if(stack.hasTagCompound()) { - stack.stackTagCompound.setLong("charge", stack.stackTagCompound.getLong("charge") + i); - } else { - stack.stackTagCompound = new NBTTagCompound(); - stack.stackTagCompound.setLong("charge", i); - } - } - } - - @Override - public void setCharge(ItemStack stack, long i) { - if(stack.getItem() instanceof ItemEnergyGunBase) { - if(stack.hasTagCompound()) { - stack.stackTagCompound.setLong("charge", i); - } else { - stack.stackTagCompound = new NBTTagCompound(); - stack.stackTagCompound.setLong("charge", i); - } - } - } - - @Override - public void dischargeBattery(ItemStack stack, long i) { - if(stack.getItem() instanceof ItemEnergyGunBase) { - if(stack.hasTagCompound()) { - stack.stackTagCompound.setLong("charge", stack.stackTagCompound.getLong("charge") - i); - } else { - stack.stackTagCompound = new NBTTagCompound(); - stack.stackTagCompound.setLong("charge", ((ItemEnergyGunBase)stack.getItem()).mainConfig.maxCharge - i); - } - } - } - - @Override - public long getCharge(ItemStack stack) { - if(stack.getItem() instanceof ItemEnergyGunBase) { - if(stack.hasTagCompound()) { - return stack.stackTagCompound.getLong("charge"); - } else { - stack.stackTagCompound = new NBTTagCompound(); - stack.stackTagCompound.setLong("charge", ((ItemEnergyGunBase) stack.getItem()).mainConfig.maxCharge); - return stack.stackTagCompound.getLong("charge"); - } - } - - return 0; - } - - @Override - public long getMaxCharge(ItemStack stack) { - return mainConfig.maxCharge; - } - - @Override - public long getChargeRate() { - return mainConfig.chargeRate; - } - - @Override - public long getDischargeRate() { - return 0; - } - - public BulletConfiguration getConfig(ItemStack stack) { - - byte mode = 0; - - if(stack.hasTagCompound()) - mode = stack.getTagCompound().getByte("mode"); - - return BulletConfigSyncingUtil.pullConfig(mainConfig.config.get(mode)); - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs tab, List list) { - - ItemStack stack = new ItemStack(item); - stack.stackTagCompound = new NBTTagCompound(); - stack.stackTagCompound.setLong("charge", ((ItemEnergyGunBase) item).getMaxCharge(stack)); - - list.add(stack); - } - - @Override - @SideOnly(Side.CLIENT) - public void renderHUD(Pre event, ElementType type, EntityPlayer player, ItemStack stack) { - - if(type == ElementType.CROSSHAIRS && GeneralConfig.enableCrosshairs) { - - event.setCanceled(true); - - if(!(mainConfig.hasSights && player.isSneaking())) - RenderScreenOverlay.renderCustomCrosshairs(event.resolution, Minecraft.getMinecraft().ingameGUI, ((IHoldableWeapon)player.getHeldItem().getItem()).getCrosshair()); - else - RenderScreenOverlay.renderCustomCrosshairs(event.resolution, Minecraft.getMinecraft().ingameGUI, Crosshair.NONE); - } - } - -} diff --git a/src/main/java/com/hbm/items/weapon/gununified/StatusBarDurability.java b/src/main/java/com/hbm/items/weapon/gununified/StatusBarDurability.java deleted file mode 100644 index 9a47d0664..000000000 --- a/src/main/java/com/hbm/items/weapon/gununified/StatusBarDurability.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hbm.items.weapon.gununified; - -import java.util.List; - -import com.hbm.util.Tuple.Triplet; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; - -public class StatusBarDurability implements IStatusBarProvider { - - @Override - public void provideBars(ItemStack stack, EntityPlayer player, List> bars) { - //TODO - } -} diff --git a/src/main/java/com/hbm/items/weapon/sedna/BulletConfig.java b/src/main/java/com/hbm/items/weapon/sedna/BulletConfig.java new file mode 100644 index 000000000..4406ed660 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/BulletConfig.java @@ -0,0 +1,311 @@ +package com.hbm.items.weapon.sedna; + +import java.util.ArrayList; +import java.util.List; +import java.util.function.BiConsumer; +import java.util.function.Consumer; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.bomb.BlockDetonatable; +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.entity.projectile.EntityBulletBeamBase; +import com.hbm.interfaces.NotableComments; +import com.hbm.inventory.OreDictManager.DictFrame; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.items.ItemEnums.EnumCasingType; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.factory.ConfettiUtil; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret; +import com.hbm.particle.SpentCasing; +import com.hbm.util.BobMathUtil; +import com.hbm.util.EntityDamageUtil; +import com.hbm.util.TrackerUtil; + +import com.hbm.util.DamageResistanceHandler.DamageClass; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.WorldServer; +import net.minecraftforge.common.util.ForgeDirection; + +@NotableComments +public class BulletConfig implements Cloneable { + + public static List configs = new ArrayList(); + + public int id; + + public ComparableStack ammo; + public ItemStack casingItem; + public int casingAmount; + /** How much ammo is added to a standard mag when loading one item */ + public int ammoReloadCount = 1; + public float velocity = 10F; + public float spread = 0F; + public float wear = 1F; + public int projectilesMin = 1; + public int projectilesMax = 1; + public ProjectileType pType = ProjectileType.BULLET; + + public float damageMult = 1.0F; + public float armorThresholdNegation = 0.0F; + public float armorPiercingPercent = 0.0F; + public float knockbackMult = 0.1F; + public float headshotMult = 1.25F; + + public DamageClass dmgClass = DamageClass.PHYSICAL; + + public float ricochetAngle = 5F; + public int maxRicochetCount = 2; + /** Whether damage dealt to an entity is subtracted from the projectile's damage on penetration */ + public boolean damageFalloffByPen = true; + + public Consumer onUpdate; + public BiConsumer onImpact; + public BiConsumer onImpactBeam; //fuck fuck fuck fuck i should have used a better base class here god dammit + public BiConsumer onRicochet = LAMBDA_STANDARD_RICOCHET; + public BiConsumer onEntityHit = LAMBDA_STANDARD_ENTITY_HIT; + + public double gravity = 0; + public int expires = 30; + public boolean impactsEntities = true; + public boolean doesPenetrate = false; + /** Whether projectiles ignore blocks entirely */ + public boolean isSpectral = false; + public int selfDamageDelay = 2; + + public boolean blackPowder = false; + public boolean renderRotations = true; + public SpentCasing casing; + public BiConsumer renderer; + public BiConsumer rendererBeam; + + public BulletConfig() { + this.id = configs.size(); + configs.add(this); + } + + /** Required for the clone() operation to reset the ID, otherwise the ID and config entry will be the same as the original */ + public BulletConfig forceReRegister() { + this.id = configs.size(); + configs.add(this); + return this; + } + + public BulletConfig setBeam() { this.pType = ProjectileType.BEAM; return this; } + public BulletConfig setChunkloading() { this.pType = ProjectileType.BULLET_CHUNKLOADING; return this; } + public BulletConfig setItem(Item ammo) { this.ammo = new ComparableStack(ammo); return this; } + public BulletConfig setItem(ItemStack ammo) { this.ammo = new ComparableStack(ammo); return this; } + public BulletConfig setItem(ComparableStack ammo) { this.ammo = ammo; return this; } + public BulletConfig setItem(EnumAmmo ammo) { this.ammo = new ComparableStack(ModItems.ammo_standard, 1, ammo.ordinal()); return this; } + public BulletConfig setItem(EnumAmmoSecret ammo) { this.ammo = new ComparableStack(ModItems.ammo_secret, 1, ammo.ordinal()); return this; } + public BulletConfig setCasing(ItemStack item, int amount) { this.casingItem = item; this.casingAmount = amount; return this; } + public BulletConfig setCasing(EnumCasingType item, int amount) { this.casingItem = DictFrame.fromOne(ModItems.casing, item); this.casingAmount = amount; return this; } + public BulletConfig setReloadCount(int ammoReloadCount) { this.ammoReloadCount = ammoReloadCount; return this; } + public BulletConfig setVel(float velocity) { this.velocity = velocity; return this; } + public BulletConfig setSpread(float spread) { this.spread = spread; return this; } + public BulletConfig setWear(float wear) { this.wear = wear; return this; } + public BulletConfig setProjectiles(int amount) { this.projectilesMin = this.projectilesMax = amount; return this; } + public BulletConfig setProjectiles(int min, int max) { this.projectilesMin = min; this.projectilesMax = max; return this; } + public BulletConfig setDamage(float damageMult) { this.damageMult = damageMult; return this; } + public BulletConfig setThresholdNegation(float armorThresholdNegation) { this.armorThresholdNegation = armorThresholdNegation; return this; } + public BulletConfig setArmorPiercing(float armorPiercingPercent) { this.armorPiercingPercent = armorPiercingPercent; return this; } + public BulletConfig setKnockback(float knockbackMult) { this.knockbackMult = knockbackMult; return this; } + public BulletConfig setHeadshot(float headshotMult) { this.headshotMult = headshotMult; return this; } + public BulletConfig setupDamageClass(DamageClass clazz) { this.dmgClass = clazz; return this; } + public BulletConfig setRicochetAngle(float angle) { this.ricochetAngle = angle; return this; } + public BulletConfig setRicochetCount(int count) { this.maxRicochetCount = count; return this; } + public BulletConfig setDamageFalloffByPen(boolean falloff) { this.damageFalloffByPen = falloff; return this; } + public BulletConfig setGrav(double gravity) { this.gravity = gravity; return this; } + public BulletConfig setLife(int expires) { this.expires = expires; return this; } + public BulletConfig setImpactsEntities(boolean impact) { this.impactsEntities = impact; return this; } + public BulletConfig setDoesPenetrate(boolean pen) { this.doesPenetrate = pen; return this; } + public BulletConfig setSpectral(boolean spectral) { this.isSpectral = spectral; return this; } + public BulletConfig setSelfDamageDelay(int delay) { this.selfDamageDelay = delay; return this; } + public BulletConfig setBlackPowder(boolean bp) { this.blackPowder = bp; return this; } + public BulletConfig setRenderRotations(boolean rot) { this.renderRotations = rot; return this; } + public BulletConfig setCasing(SpentCasing casing) { this.casing = casing; return this; } + + public BulletConfig setRenderer(BiConsumer renderer) { this.renderer = renderer; return this; } + public BulletConfig setRendererBeam(BiConsumer renderer) { this.rendererBeam = renderer; return this; } + + public BulletConfig setOnUpdate(Consumer lambda) { this.onUpdate = lambda; return this; } + public BulletConfig setOnRicochet(BiConsumer lambda) { this.onRicochet = lambda; return this; } + public BulletConfig setOnImpact(BiConsumer lambda) { this.onImpact = lambda; return this; } + public BulletConfig setOnBeamImpact(BiConsumer lambda) { this.onImpactBeam = lambda; return this; } + public BulletConfig setOnEntityHit(BiConsumer lambda) { this.onEntityHit = lambda; return this; } + + public static enum ProjectileType { + BULLET, + BULLET_CHUNKLOADING, + BEAM + } + + @SuppressWarnings("incomplete-switch") //shut up + public static DamageSource getDamage(Entity projectile, EntityLivingBase shooter, DamageClass dmgClass) { + + DamageSource dmg; + + if(shooter != null) dmg = new DamageSourceSednaWithAttacker(dmgClass.name(), projectile, shooter); + else dmg = new DamageSourceSednaNoAttacker(dmgClass.name()); + + switch(dmgClass) { + case PHYSICAL: dmg.setProjectile(); break; + case FIRE: dmg.setFireDamage(); break; + case EXPLOSIVE: dmg.setExplosion(); break; + case ELECTRIC: break; + case LASER: break; + case SUBATOMIC: break; + } + + return dmg; + } + + public static BiConsumer LAMBDA_STANDARD_RICOCHET = (bullet, mop) -> { + + if(mop.typeOfHit == mop.typeOfHit.BLOCK) { + + Block b = bullet.worldObj.getBlock(mop.blockX, mop.blockY, mop.blockZ); + if(b.getMaterial() == Material.glass) { + bullet.worldObj.func_147480_a(mop.blockX, mop.blockY, mop.blockZ, false); + bullet.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); + return; + } + if(b instanceof BlockDetonatable) { + ((BlockDetonatable) b).onShot(bullet.worldObj, mop.blockX, mop.blockY, mop.blockZ); + } + if(b == ModBlocks.deco_crt) { + int meta = bullet.worldObj.getBlockMetadata(mop.blockX, mop.blockY, mop.blockZ); + bullet.worldObj.setBlockMetadataWithNotify(mop.blockX, mop.blockY, mop.blockZ, meta % 4 + 4, 3); + } + + ForgeDirection dir = ForgeDirection.getOrientation(mop.sideHit); + Vec3 face = Vec3.createVectorHelper(dir.offsetX, dir.offsetY, dir.offsetZ); + Vec3 vel = Vec3.createVectorHelper(bullet.motionX, bullet.motionY, bullet.motionZ).normalize(); + + double angle = Math.abs(BobMathUtil.getCrossAngle(vel, face) - 90); + + if(angle <= bullet.config.ricochetAngle) { + + bullet.ricochets++; + if(bullet.ricochets > bullet.config.maxRicochetCount) { + bullet.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); + bullet.setDead(); + } + + switch(mop.sideHit) { + case 0: case 1: bullet.motionY *= -1; break; + case 2: case 3: bullet.motionZ *= -1; break; + case 4: case 5: bullet.motionX *= -1; break; + } + bullet.worldObj.playSoundAtEntity(bullet, "hbm:weapon.ricochet", 0.25F, 1.0F); + bullet.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); + //send a teleport so the ricochet is more accurate instead of the interp smoothing fucking everything up + if(bullet.worldObj instanceof WorldServer) TrackerUtil.sendTeleport((WorldServer) bullet.worldObj, bullet); + return; + + } else { + bullet.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); + bullet.setDead(); + } + } + }; + + public static BiConsumer LAMBDA_STANDARD_ENTITY_HIT = (bullet, mop) -> { + + if(mop.typeOfHit == mop.typeOfHit.ENTITY) { + Entity entity = mop.entityHit; + + if(entity == bullet.getThrower() && bullet.ticksExisted < bullet.selfDamageDelay()) return; + if(entity instanceof EntityLivingBase && ((EntityLivingBase) entity).getHealth() <= 0) return; + + DamageSource source = bullet.config.getDamage(bullet, bullet.getThrower(), bullet.config.dmgClass); + float intendedDamage = bullet.damage; + + if(!(entity instanceof EntityLivingBase)) { + EntityDamageUtil.attackEntityFromIgnoreIFrame(entity, source, bullet.damage); + return; + } else if(bullet.config.headshotMult > 1F) { + + EntityLivingBase living = (EntityLivingBase) entity; + double head = living.height - living.getEyeHeight(); + + if(!!living.isEntityAlive() && mop.hitVec != null && mop.hitVec.yCoord > (living.posY + living.height - head * 2)) { + intendedDamage *= bullet.config.headshotMult; + } + } + + EntityLivingBase living = (EntityLivingBase) entity; + float prevHealth = living.getHealth(); + + EntityDamageUtil.attackEntityFromNT(living, source, intendedDamage, true, true, bullet.config.knockbackMult, bullet.config.armorThresholdNegation, bullet.config.armorPiercingPercent); + + float newHealth = living.getHealth(); + + if(bullet.config.damageFalloffByPen) bullet.damage -= Math.max(prevHealth - newHealth, 0) * 0.5; + if(!bullet.doesPenetrate() || bullet.damage < 0) { + bullet.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); + bullet.setDead(); + } + + if(!living.isEntityAlive()) ConfettiUtil.decideConfetti(living, source); + } + }; + + public static BiConsumer LAMBDA_STANDARD_BEAM_HIT = (bullet, mop) -> { + + if(mop.typeOfHit == mop.typeOfHit.ENTITY) { + Entity entity = mop.entityHit; + + if(entity instanceof EntityLivingBase && ((EntityLivingBase) entity).getHealth() <= 0) return; + + DamageSource source = bullet.config.getDamage(bullet, bullet.getThrower(), bullet.config.dmgClass); + + if(!(entity instanceof EntityLivingBase)) { + EntityDamageUtil.attackEntityFromIgnoreIFrame(entity, source, bullet.damage); + return; + } + + EntityLivingBase living = (EntityLivingBase) entity; + EntityDamageUtil.attackEntityFromNT(living, source, bullet.damage, true, true, bullet.config.knockbackMult, bullet.config.armorThresholdNegation, bullet.config.armorPiercingPercent); + if(!living.isEntityAlive()) ConfettiUtil.decideConfetti(living, source); + } + }; + + public static BiConsumer LAMBDA_BEAM_HIT = (beam, mop) -> { + + if(mop.typeOfHit == mop.typeOfHit.ENTITY) { + Entity entity = mop.entityHit; + + if(entity instanceof EntityLivingBase && ((EntityLivingBase) entity).getHealth() <= 0) return; + + DamageSource source = beam.config.getDamage(beam, beam.thrower, beam.config.dmgClass); + + if(!(entity instanceof EntityLivingBase)) { + EntityDamageUtil.attackEntityFromIgnoreIFrame(entity, source, beam.damage); + return; + } + + EntityLivingBase living = (EntityLivingBase) entity; + EntityDamageUtil.attackEntityFromNT(living, source, beam.damage, true, false, beam.config.knockbackMult, beam.config.armorThresholdNegation, beam.config.armorPiercingPercent); + } + }; + + @Override + public BulletConfig clone() { + try { + BulletConfig clone = (BulletConfig) super.clone(); + clone.forceReRegister(); + return clone; + } catch(CloneNotSupportedException e) { } + return null; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/Crosshair.java b/src/main/java/com/hbm/items/weapon/sedna/Crosshair.java new file mode 100644 index 000000000..6292b6785 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/Crosshair.java @@ -0,0 +1,36 @@ +package com.hbm.items.weapon.sedna; + +public enum Crosshair { + + NONE(0, 0, 0), + CROSS(1, 55, 16), + CIRCLE(19, 55, 16), + SEMI(37, 55, 16), + KRUCK(55, 55, 16), + DUAL(1, 73, 16), + SPLIT(19, 73, 16), + CLASSIC(37, 73, 16), + BOX(55, 73, 16), + + L_CROSS(0, 90, 32), + L_KRUCK(32, 90, 32), + L_CLASSIC(64, 90, 32), + L_CIRCLE(96, 90, 32), + L_SPLIT(0, 122, 32), + L_ARROWS(32, 122, 32), + L_BOX(64, 122, 32), + L_CIRCUMFLEX(96, 122, 32), + L_RAD(0, 154, 32), + L_MODERN(32, 154, 32), + L_BOX_OUTLINE(64, 154, 32); + + public int x; + public int y; + public int size; + + private Crosshair(int x, int y, int size) { + this.x = x; + this.y = y; + this.size = size; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/DamageSourceSednaNoAttacker.java b/src/main/java/com/hbm/items/weapon/sedna/DamageSourceSednaNoAttacker.java new file mode 100644 index 000000000..889583f0d --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/DamageSourceSednaNoAttacker.java @@ -0,0 +1,21 @@ +package com.hbm.items.weapon.sedna; + +import java.util.Locale; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.util.ChatComponentTranslation; +import net.minecraft.util.DamageSource; +import net.minecraft.util.IChatComponent; + +public class DamageSourceSednaNoAttacker extends DamageSource { + + public DamageSourceSednaNoAttacker(String type) { + super(type.toLowerCase(Locale.US)); + } + + @Override + public IChatComponent func_151519_b(EntityLivingBase died) { + IChatComponent diedName = died.func_145748_c_(); + return new ChatComponentTranslation("death.sedna." + this.damageType, diedName); + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/DamageSourceSednaWithAttacker.java b/src/main/java/com/hbm/items/weapon/sedna/DamageSourceSednaWithAttacker.java new file mode 100644 index 000000000..e63ab3097 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/DamageSourceSednaWithAttacker.java @@ -0,0 +1,32 @@ +package com.hbm.items.weapon.sedna; + +import java.util.Locale; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.ChatComponentTranslation; +import net.minecraft.util.ChatStyle; +import net.minecraft.util.IChatComponent; + +public class DamageSourceSednaWithAttacker extends DamageSourceSednaNoAttacker { + + public Entity projectile; + public Entity shooter; + + public DamageSourceSednaWithAttacker(String type, Entity projectile, Entity shooter) { + super(type.toLowerCase(Locale.US)); + this.projectile = projectile; + this.shooter = shooter; + } + + @Override public Entity getSourceOfDamage() { return this.projectile; } //what even uses this, except for the wackass "shot by bullet" death messages? + @Override public Entity getEntity() { return this.shooter; } + + @Override + public IChatComponent func_151519_b(EntityLivingBase died) { + IChatComponent diedName = died.func_145748_c_(); + IChatComponent shooterName = shooter != null ? shooter.func_145748_c_() : new ChatComponentText("Unknown").setChatStyle(new ChatStyle().setObfuscated(true)); + return new ChatComponentTranslation("death.sedna." + this.damageType + ".attacker", diedName, shooterName); + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/GunConfig.java b/src/main/java/com/hbm/items/weapon/sedna/GunConfig.java new file mode 100644 index 000000000..65db47377 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/GunConfig.java @@ -0,0 +1,166 @@ +package com.hbm.items.weapon.sedna; + +import java.util.ArrayList; +import java.util.List; +import java.util.function.BiConsumer; +import java.util.function.BiFunction; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.SmokeNode; +import com.hbm.items.weapon.sedna.factory.GunStateDecider; +import com.hbm.items.weapon.sedna.factory.Lego; +import com.hbm.items.weapon.sedna.hud.IHUDComponent; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.HbmAnimations.AnimType; + +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +/** + * Despite how complicated the GunConfig looks, it actually only exists to hold together a bunch of fields. Everything else is infrastructure for getting and setting. + * The gun config determines general gun specific stats like durability, crosshair, animations, receivers, click handling and the decider. + * + * @author hbm + * */ +public class GunConfig { + + public List smokeNodes = new ArrayList(); + + public static final String O_RECEIVERS = "O_RECEIVERS"; + public static final String F_DURABILITY = "F_DURABILITY"; + public static final String I_DRAWDURATION = "I_DRAWDURATION"; + public static final String I_INSPECTDURATION = "I_INSPECTDURATION"; + public static final String I_INSPECTCANCEL = "I_INSPECTCANCEL"; + public static final String O_CROSSHAIR = "O_CROSSHAIR"; + public static final String B_HIDECROSSHAIR = "B_HIDECROSSHAIR"; + public static final String B_THERMALSIGHTS = "B_THERMALSIGHTS"; + public static final String B_RELOADREQUIRESTYPECHANGE = "B_RELOADREQUIRESTYPECHANGE"; + public static final String B_RELOADANIMATIONSEQUENTIAL = "B_RELOADANIMATIONSEQUENTIAL"; + public static final String O_SCOPETEXTURE = "O_SCOPETEXTURE"; + public static final String CON_SMOKE = "CON_SMOKE"; + public static final String CON_ORCHESTRA = "CON_ORCHESTRA"; + public static final String CON_ONPRESSPRIMARY = "CON_ONPRESSPRIMARY"; + public static final String CON_ONPRESSSECONDARY = "CON_ONPRESSSECONDARY"; + public static final String CON_ONPRESSTERTIARY = "CON_ONPRESSTERTIARY"; + public static final String CON_ONPRESSRELOAD = "CON_ONPRESSRELOAD"; + public static final String CON_ONRELEASEPRIMARY = "CON_ONRELEASEPRIMARY"; + public static final String CON_ONRELEASESECONDARY = "CON_ONRELEASESECONDARY"; + public static final String CON_ONRELEASETERTIARY = "CON_ONRELEASETERTIARY"; + public static final String CON_ONRELEASERELOAD = "CON_ONRELEASERELOAD"; + public static final String CON_DECIDER = "CON_DECIDER"; + public static final String FUN_ANIMNATIONS = "FUN_ANIMNATIONS"; + public static final String O_HUDCOMPONENTS = "O_HUDCOMPONENTS"; + + /* FIELDS */ + + public int index; + /** List of receivers used by the gun, primary and secondary are usually indices 0 and 1 respectively, if applicable */ + protected Receiver[] receivers_DNA; + protected float durability_DNA; + protected int drawDuration_DNA = 0; + protected int inspectDuration_DNA = 0; + protected boolean inspectCancel_DNA = true; + protected Crosshair crosshair_DNA; + protected boolean hideCrosshair_DNA = true; + protected boolean thermalSights_DNA = false; + protected boolean reloadRequiresTypeChange_DNA = false; + protected boolean reloadAnimationsSequential_DNA; + protected ResourceLocation scopeTexture_DNA; + /** Handles smoke clientside */ + protected BiConsumer smokeHandler_DNA; + /** This piece only triggers during reloads, playing sounds depending on the reload's progress making reload sounds easier and synced to animations */ + protected BiConsumer orchestra_DNA; + /** Lambda functions for clicking shit */ + protected BiConsumer onPressPrimary_DNA; + protected BiConsumer onPressSecondary_DNA; + protected BiConsumer onPressTertiary_DNA; + protected BiConsumer onPressReload_DNA; + /** Lambda functions for releasing the aforementioned shit */ + protected BiConsumer onReleasePrimary_DNA; + protected BiConsumer onReleaseSecondary_DNA; + protected BiConsumer onReleaseTertiary_DNA; + protected BiConsumer onReleaseReload_DNA; + /** The engine for the state machine that determines the gun's overall behavior */ + protected BiConsumer decider_DNA; + /** Lambda that returns the relevant animation for the given params */ + protected BiFunction animations_DNA; + protected IHUDComponent[] hudComponents_DNA; + + /* GETTERS */ + + public Receiver[] getReceivers(ItemStack stack) { return WeaponModManager.eval(receivers_DNA, stack, O_RECEIVERS, this, this.index); } + public float getDurability(ItemStack stack) { return WeaponModManager.eval(durability_DNA, stack, F_DURABILITY, this, this.index); } + public int getDrawDuration(ItemStack stack) { return WeaponModManager.eval(drawDuration_DNA, stack, I_DRAWDURATION, this, this.index); } + public int getInspectDuration(ItemStack stack) { return WeaponModManager.eval(inspectDuration_DNA, stack, I_INSPECTDURATION, this, this.index); } + public boolean getInspectCancel(ItemStack stack) { return WeaponModManager.eval(inspectCancel_DNA, stack, I_INSPECTCANCEL, this, this.index); } + public Crosshair getCrosshair(ItemStack stack) { return WeaponModManager.eval(crosshair_DNA, stack, O_CROSSHAIR, this, this.index); } + public boolean getHideCrosshair(ItemStack stack) { return WeaponModManager.eval(hideCrosshair_DNA, stack, B_HIDECROSSHAIR, this, this.index); } + public boolean hasThermalSights(ItemStack stack) { return WeaponModManager.eval(thermalSights_DNA, stack, B_THERMALSIGHTS, this, this.index); } + public boolean getReloadChangesType(ItemStack stack) { return WeaponModManager.eval(reloadRequiresTypeChange_DNA, stack, B_RELOADREQUIRESTYPECHANGE, this, this.index); } + public boolean getReloadAnimSequential(ItemStack stack) { return WeaponModManager.eval(reloadAnimationsSequential_DNA, stack, B_RELOADANIMATIONSEQUENTIAL, this, this.index); } + public ResourceLocation getScopeTexture(ItemStack stack) { return WeaponModManager.eval(scopeTexture_DNA, stack, O_SCOPETEXTURE, this, this.index); } + public BiConsumer getSmokeHandler(ItemStack stack) { return WeaponModManager.eval(smokeHandler_DNA, stack, CON_SMOKE, this, this.index); } + public BiConsumer getOrchestra(ItemStack stack) { return WeaponModManager.eval(this.orchestra_DNA, stack, CON_ORCHESTRA, this, this.index); } + + public BiConsumer getPressPrimary(ItemStack stack) { return WeaponModManager.eval(this.onPressPrimary_DNA, stack, CON_ONPRESSPRIMARY, this, this.index); } + public BiConsumer getPressSecondary(ItemStack stack) { return WeaponModManager.eval(this.onPressSecondary_DNA, stack, CON_ONPRESSSECONDARY, this, this.index); } + public BiConsumer getPressTertiary(ItemStack stack) { return WeaponModManager.eval(this.onPressTertiary_DNA, stack, CON_ONPRESSTERTIARY, this, this.index); } + public BiConsumer getPressReload(ItemStack stack) { return WeaponModManager.eval(this.onPressReload_DNA, stack, CON_ONPRESSRELOAD, this, this.index); } + + public BiConsumer getReleasePrimary(ItemStack stack) { return WeaponModManager.eval(this.onReleasePrimary_DNA, stack, CON_ONRELEASEPRIMARY, this, this.index); } + public BiConsumer getReleaseSecondary(ItemStack stack) { return WeaponModManager.eval(this.onReleaseSecondary_DNA, stack, CON_ONRELEASESECONDARY, this, this.index); } + public BiConsumer getReleaseTertiary(ItemStack stack) { return WeaponModManager.eval(this.onReleaseTertiary_DNA, stack, CON_ONRELEASETERTIARY, this, this.index); } + public BiConsumer getReleaseReload(ItemStack stack) { return WeaponModManager.eval(this.onReleaseReload_DNA, stack, CON_ONRELEASERELOAD, this, this.index); } + + public BiConsumer getDecider(ItemStack stack) { return WeaponModManager.eval(this.decider_DNA, stack, CON_DECIDER, this, this.index); } + + public BiFunction getAnims(ItemStack stack) { return WeaponModManager.eval(this.animations_DNA, stack, FUN_ANIMNATIONS, this, this.index); } + public IHUDComponent[] getHUDComponents(ItemStack stack) { return WeaponModManager.eval(this.hudComponents_DNA, stack, O_HUDCOMPONENTS, this, this.index); } + + /* SETTERS */ + + public GunConfig rec(Receiver... receivers) { this.receivers_DNA = receivers; for(Receiver r : receivers_DNA) r.parent = this; return this; } + public GunConfig dura(float dura) { this.durability_DNA = dura; return this; } + public GunConfig draw(int draw) { this.drawDuration_DNA = draw; return this; } + public GunConfig inspect(int inspect) { this.inspectDuration_DNA = inspect; return this; } + public GunConfig inspectCancel(boolean flag) { this.inspectCancel_DNA = flag; return this; } + public GunConfig crosshair(Crosshair crosshair) { this.crosshair_DNA = crosshair; return this; } + public GunConfig hideCrosshair(boolean flag) { this.hideCrosshair_DNA = flag; return this; } + public GunConfig thermalSights(boolean flag) { this.thermalSights_DNA = flag; return this; } + public GunConfig reloadChangeType(boolean flag) { this.reloadRequiresTypeChange_DNA = flag; return this; } + public GunConfig reloadSequential(boolean flag) { this.reloadAnimationsSequential_DNA = flag; return this; } + public GunConfig scopeTexture(ResourceLocation tex) { this.scopeTexture_DNA = tex; return this; } + + public GunConfig smoke(BiConsumer smoke) { this.smokeHandler_DNA = smoke; return this; } + public GunConfig orchestra(BiConsumer orchestra) { this.orchestra_DNA = orchestra; return this; } + + //press + public GunConfig pp(BiConsumer lambda) { this.onPressPrimary_DNA = lambda; return this; } + public GunConfig ps(BiConsumer lambda) { this.onPressSecondary_DNA = lambda; return this; } + public GunConfig pt(BiConsumer lambda) { this.onPressTertiary_DNA = lambda; return this; } + public GunConfig pr(BiConsumer lambda) { this.onPressReload_DNA = lambda; return this; } + + //release + public GunConfig rp(BiConsumer lambda) { this.onReleasePrimary_DNA = lambda; return this; } + public GunConfig rs(BiConsumer lambda) { this.onReleaseSecondary_DNA = lambda; return this; } + public GunConfig rt(BiConsumer lambda) { this.onReleaseTertiary_DNA = lambda; return this; } + public GunConfig rr(BiConsumer lambda) { this.onReleaseReload_DNA = lambda; return this; } + + //decider + public GunConfig decider(BiConsumer lambda) { this.decider_DNA = lambda; return this; } + + //client + public GunConfig anim(BiFunction lambda) { this.animations_DNA = lambda; return this; } + public GunConfig hud(IHUDComponent... components) { this.hudComponents_DNA = components; return this; } + + /** Standard package for keybind handling and decider using LEGO prefabs: Primary fire on LMB, + * reload on R, aiming on MMB and the standard decider which includes jamming and auto fire handling*/ + public GunConfig setupStandardConfiguration() { + this.pp(Lego.LAMBDA_STANDARD_CLICK_PRIMARY); + this.pr(Lego.LAMBDA_STANDARD_RELOAD); + this.pt(Lego.LAMBDA_TOGGLE_AIM); + this.decider(GunStateDecider.LAMBDA_STANDARD_DECIDER); + return this; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/ItemGunBaseNT.java b/src/main/java/com/hbm/items/weapon/sedna/ItemGunBaseNT.java new file mode 100644 index 000000000..66cb14695 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/ItemGunBaseNT.java @@ -0,0 +1,463 @@ +package com.hbm.items.weapon.sedna; + +import java.text.DecimalFormat; +import java.text.DecimalFormatSymbols; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.BiConsumer; +import java.util.function.Function; + +import com.hbm.config.GeneralConfig; +import com.hbm.handler.HbmKeybinds.EnumKeybind; +import com.hbm.interfaces.IItemHUD; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.gui.GUIWeaponTable; +import com.hbm.items.IEquipReceiver; +import com.hbm.items.IKeybindReceiver; +import com.hbm.items.armor.ArmorTrenchmaster; +import com.hbm.items.weapon.sedna.hud.IHUDComponent; +import com.hbm.items.weapon.sedna.mags.IMagazine; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.GunAnimationPacket; +import com.hbm.render.anim.HbmAnimations.AnimType; +import com.hbm.render.util.RenderScreenOverlay; +import com.hbm.sound.AudioWrapper; +import com.hbm.util.BobMathUtil; +import com.hbm.util.EnumUtil; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.Gui; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.MathHelper; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; + +public class ItemGunBaseNT extends Item implements IKeybindReceiver, IItemHUD, IEquipReceiver { + + /** Timestamp for rendering smoke nodes and muzzle flashes */ + public long[] lastShot; + /** [0;1] randomized every shot for various rendering applications */ + public double shotRand = 0D; + + public static List secrets = new ArrayList(); + public List recognizedMods = new ArrayList(); + + public static final DecimalFormatSymbols SYMBOLS_US = new DecimalFormatSymbols(Locale.US); + public static final DecimalFormat FORMAT_DMG = new DecimalFormat("#.##", SYMBOLS_US); + + public static float recoilVertical = 0; + public static float recoilHorizontal = 0; + public static float recoilDecay = 0.75F; + public static float recoilRebound = 0.25F; + public static float offsetVertical = 0; + public static float offsetHorizontal = 0; + + public static void setupRecoil(float vertical, float horizontal, float decay, float rebound) { + recoilVertical += vertical; + recoilHorizontal += horizontal; + recoilDecay = decay; + recoilRebound = rebound; + } + + public static void setupRecoil(float vertical, float horizontal) { + setupRecoil(vertical, horizontal, 0.75F, 0.25F); + } + + public static final String O_GUNCONFIG = "O_GUNCONFIG_"; + + public static final String KEY_DRAWN = "drawn"; + public static final String KEY_AIMING = "aiming"; + public static final String KEY_MODE = "mode_"; + public static final String KEY_WEAR = "wear_"; + public static final String KEY_TIMER = "timer_"; + public static final String KEY_STATE = "state_"; + public static final String KEY_PRIMARY = "mouse1_"; + public static final String KEY_SECONDARY = "mouse2_"; + public static final String KEY_TERTIARY = "mouse3_"; + public static final String KEY_RELOAD = "reload_"; + public static final String KEY_LASTANIM = "lastanim_"; + public static final String KEY_ANIMTIMER = "animtimer_"; + public static final String KEY_LOCKONTARGET = "lockontarget"; + public static final String KEY_LOCKEDON = "lockedon"; + public static final String KEY_CANCELRELOAD = "cancel"; + public static final String KEY_EQUIPPED = "eqipped"; + + public static ConcurrentHashMap loopedSounds = new ConcurrentHashMap(); + + public static float prevAimingProgress; + public static float aimingProgress; + + /** NEVER ACCESS DIRECTLY - USE GETTER */ + protected GunConfig[] configs_DNA; + + public Function LAMBDA_NAME_MUTATOR; + public WeaponQuality quality; + + public GunConfig getConfig(ItemStack stack, int index) { + GunConfig cfg = configs_DNA[index]; + if(stack == null) return cfg; + return WeaponModManager.eval(cfg, stack, O_GUNCONFIG + index, this, index); + } + + public int getConfigCount() { + return configs_DNA.length; + } + + public ItemGunBaseNT(WeaponQuality quality, GunConfig... cfg) { + this.setMaxStackSize(1); + this.configs_DNA = cfg; + this.quality = quality; + this.lastShot = new long[cfg.length]; + for(int i = 0; i < cfg.length; i++) cfg[i].index = i; + if(quality == WeaponQuality.A_SIDE || quality == WeaponQuality.SPECIAL || quality == WeaponQuality.UTILITY) this.setCreativeTab(MainRegistry.weaponTab); + if(quality == WeaponQuality.LEGENDARY || quality == WeaponQuality.SECRET) this.secrets.add(this); + this.setTextureName(RefStrings.MODID + ":gun_darter"); + } + + public static enum WeaponQuality { + A_SIDE, + B_SIDE, + LEGENDARY, + SPECIAL, + UTILITY, + SECRET, + DEBUG + } + + public static enum GunState { + DRAWING, //forced delay where nothing can be done + IDLE, //the gun is ready to fire or reload + COOLDOWN, //forced delay, but with option for refire + RELOADING, //forced delay after which a reload action happens, may be canceled (TBI) + JAMMED, //forced delay due to jamming + } + + public ItemGunBaseNT setNameMutator(Function lambda) { + this.LAMBDA_NAME_MUTATOR = lambda; + return this; + } + + public String getItemStackDisplayName(ItemStack stack) { + + if(this.LAMBDA_NAME_MUTATOR != null) { + String unloc = this.LAMBDA_NAME_MUTATOR.apply(stack); + if(unloc != null) return (StatCollector.translateToLocal(unloc + ".name")).trim(); + } + + return super.getItemStackDisplayName(stack); + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + + int configs = this.configs_DNA.length; + for(int i = 0; i < configs; i++) { + GunConfig config = getConfig(stack, i); + for(Receiver rec : config.getReceivers(stack)) { + IMagazine mag = rec.getMagazine(stack); + list.add("Ammo: " + mag.getIconForHUD(stack, player).getDisplayName() + " " + mag.reportAmmoStateForHUD(stack, player)); + float dmg = rec.getBaseDamage(stack); + list.add("Base Damage: " + FORMAT_DMG.format(dmg)); + if(mag.getType(stack, player.inventory) instanceof BulletConfig) { + BulletConfig bullet = (BulletConfig) mag.getType(stack, player.inventory); + int min = (int) (bullet.projectilesMin * rec.getSplitProjectiles(stack)); + int max = (int) (bullet.projectilesMax * rec.getSplitProjectiles(stack)); + list.add("Damage with current ammo: " + FORMAT_DMG.format(dmg * bullet.damageMult) + (min > 1 ? (" x" + (min != max ? (min + "-" + max) : min)) : "")); + } + } + + float maxDura = config.getDurability(stack); + if(maxDura > 0) { + int dura = MathHelper.clamp_int((int)((maxDura - this.getWear(stack, i)) * 100 / maxDura), 0, 100); + list.add("Condition: " + dura + "%"); + } + + for(ItemStack upgrade : WeaponModManager.getUpgradeItems(stack, i)) { + list.add(EnumChatFormatting.YELLOW + upgrade.getDisplayName()); + } + } + + switch(this.quality) { + case A_SIDE: list.add(EnumChatFormatting.YELLOW + "Standard Arsenal"); break; + case B_SIDE: list.add(EnumChatFormatting.GOLD + "B-Side"); break; + case LEGENDARY: list.add(EnumChatFormatting.RED + "Legendary Weapon"); break; + case SPECIAL: list.add(EnumChatFormatting.AQUA + "Special Weapon"); break; + case UTILITY: list.add(EnumChatFormatting.GREEN + "Utility"); break; + case SECRET: list.add((BobMathUtil.getBlink() ? EnumChatFormatting.DARK_RED : EnumChatFormatting.RED) + "SECRET"); break; + case DEBUG: list.add((BobMathUtil.getBlink() ? EnumChatFormatting.YELLOW : EnumChatFormatting.GOLD) + "DEBUG"); break; + } + + if(Minecraft.getMinecraft().currentScreen instanceof GUIWeaponTable && !this.recognizedMods.isEmpty()) { + list.add(EnumChatFormatting.RED + "Accepts:"); + for(ComparableStack comp : this.recognizedMods) list.add(EnumChatFormatting.RED + " " + comp.toStack().getDisplayName()); + } + } + + @Override + public boolean canHandleKeybind(EntityPlayer player, ItemStack stack, EnumKeybind keybind) { + return keybind == EnumKeybind.GUN_PRIMARY || keybind == EnumKeybind.GUN_SECONDARY || keybind == EnumKeybind.GUN_TERTIARY || keybind == EnumKeybind.RELOAD; + } + + @Override + public void handleKeybind(EntityPlayer player, ItemStack stack, EnumKeybind keybind, boolean newState) { + handleKeybind(player, player.inventory, stack, keybind, newState); + } + + public void handleKeybind(EntityLivingBase entity, IInventory inventory, ItemStack stack, EnumKeybind keybind, boolean newState) { + if(!GeneralConfig.enableGuns) return; + + int configs = this.configs_DNA.length; + + for(int i = 0; i < configs; i++) { + GunConfig config = getConfig(stack, i); + LambdaContext ctx = new LambdaContext(config, entity, inventory, i); + + if(keybind == EnumKeybind.GUN_PRIMARY && newState && !getPrimary(stack, i)) { if(config.getPressPrimary(stack) != null) config.getPressPrimary(stack).accept(stack, ctx); this.setPrimary(stack, i, newState); continue; } + if(keybind == EnumKeybind.GUN_PRIMARY && !newState && getPrimary(stack, i)) { if(config.getReleasePrimary(stack) != null) config.getReleasePrimary(stack).accept(stack, ctx); this.setPrimary(stack, i, newState); continue; } + if(keybind == EnumKeybind.GUN_SECONDARY && newState && !getSecondary(stack, i)) { if(config.getPressSecondary(stack) != null) config.getPressSecondary(stack).accept(stack, ctx); this.setSecondary(stack, i, newState); continue; } + if(keybind == EnumKeybind.GUN_SECONDARY && !newState && getSecondary(stack, i)) { if(config.getReleaseSecondary(stack) != null) config.getReleaseSecondary(stack).accept(stack, ctx); this.setSecondary(stack, i, newState); continue; } + if(keybind == EnumKeybind.GUN_TERTIARY && newState && !getTertiary(stack, i)) { if(config.getPressTertiary(stack) != null) config.getPressTertiary(stack).accept(stack, ctx); this.setTertiary(stack, i, newState); continue; } + if(keybind == EnumKeybind.GUN_TERTIARY && !newState && getTertiary(stack, i)) { if(config.getReleaseTertiary(stack) != null) config.getReleaseTertiary(stack).accept(stack, ctx); this.setTertiary(stack, i, newState); continue; } + if(keybind == EnumKeybind.RELOAD && newState && !getReloadKey(stack, i)) { if(config.getPressReload(stack) != null) config.getPressReload(stack).accept(stack, ctx); this.setReloadKey(stack, i, newState); continue; } + if(keybind == EnumKeybind.RELOAD && !newState && getReloadKey(stack, i)) { if(config.getReleaseReload(stack) != null) config.getReleaseReload(stack).accept(stack, ctx); this.setReloadKey(stack, i, newState); continue; } + } + } + + @Override + public void onEquip(EntityPlayer player, ItemStack stack) { + for(int i = 0; i < this.configs_DNA.length; i++) { + if(this.getLastAnim(stack, i) == AnimType.EQUIP && this.getAnimTimer(stack, i) < 5) continue; + playAnimation(player, stack, AnimType.EQUIP, i); + this.setPrimary(stack, i, false); + this.setSecondary(stack, i, false); + this.setTertiary(stack, i, false); + this.setReloadKey(stack, i, false); + } + } + + public static void playAnimation(EntityPlayer player, ItemStack stack, AnimType type, int index) { + if(player instanceof EntityPlayerMP) { + PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(type.ordinal(), 0, index), (EntityPlayerMP) player); + setLastAnim(stack, index, type); + setAnimTimer(stack, index, 0); + } + } + + @Override + public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean isHeld) { + + if(!(entity instanceof EntityLivingBase)) return; + EntityPlayer player = entity instanceof EntityPlayer ? (EntityPlayer) entity : null; + int confNo = this.configs_DNA.length; + GunConfig[] configs = new GunConfig[confNo]; + LambdaContext[] ctx = new LambdaContext[confNo]; + for(int i = 0; i < confNo; i++) { + configs[i] = this.getConfig(stack, i); + ctx[i] = new LambdaContext(configs[i], (EntityLivingBase) entity, player != null ? player.inventory : null, i); + } + + if(world.isRemote) { + + if(isHeld && player == MainRegistry.proxy.me()) { + + /// DEBUG /// + /*Vec3 offset = Vec3.createVectorHelper(-0.2, -0.1, 0.75); + offset.rotateAroundX(-entity.rotationPitch / 180F * (float) Math.PI); + offset.rotateAroundY(-entity.rotationYaw / 180F * (float) Math.PI); + world.spawnParticle("flame", entity.posX + offset.xCoord, entity.posY + entity.getEyeHeight() + offset.yCoord, entity.posZ + offset.zCoord, 0, 0, 0);*/ + + /// AIMING /// + prevAimingProgress = aimingProgress; + boolean aiming = this.getIsAiming(stack); + float aimSpeed = 0.25F; + if(aiming && aimingProgress < 1F) aimingProgress += aimSpeed; + if(!aiming && aimingProgress > 0F) aimingProgress -= aimSpeed; + aimingProgress = MathHelper.clamp_float(aimingProgress, 0F, 1F); + + /// SMOKE NODES /// + for(int i = 0; i < confNo; i++) if(configs[i].getSmokeHandler(stack) != null) { + configs[i].getSmokeHandler(stack).accept(stack, ctx[i]); + } + + for(int i = 0; i < confNo; i++) { + BiConsumer orchestra = configs[i].getOrchestra(stack); + if(orchestra != null) orchestra.accept(stack, ctx[i]); + } + } + return; + } + + /// ON EQUIP /// + if(player != null) { + boolean wasHeld = this.getIsEquipped(stack); + + if(!wasHeld && isHeld && player != null) { + this.onEquip(player, stack); + } + } + + this.setIsEquipped(stack, isHeld); + + /// RESET WHEN NOT EQUIPPED /// + if(!isHeld) { + for(int i = 0; i < confNo; i++) { + GunState current = this.getState(stack, i); + if(current != GunState.JAMMED) { + this.setState(stack, i, GunState.DRAWING); + this.setTimer(stack, i, configs[i].getDrawDuration(stack)); + } + this.setLastAnim(stack, i, AnimType.CYCLE); //prevents new guns from initializing with DRAWING, 0 + } + this.setIsAiming(stack, false); + this.setReloadCancel(stack, false); + return; + } + + for(int i = 0; i < confNo; i++) for(int k = 0; k == 0 || (k < 2 && ArmorTrenchmaster.isTrenchMaster(player) && this.getState(stack, i) == GunState.RELOADING); k++) { + BiConsumer orchestra = configs[i].getOrchestra(stack); + if(orchestra != null) orchestra.accept(stack, ctx[i]); + + setAnimTimer(stack, i, getAnimTimer(stack, i) + 1); + + /// STTATE MACHINE /// + int timer = this.getTimer(stack, i); + if(timer > 0) this.setTimer(stack, i, timer - 1); + if(timer <= 1) configs[i].getDecider(stack).accept(stack, ctx[i]); + } + } + + // GUN DRAWN // + public static boolean getIsDrawn(ItemStack stack) { return getValueBool(stack, KEY_DRAWN); } + public static void setIsDrawn(ItemStack stack, boolean value) { setValueBool(stack, KEY_DRAWN, value); } + // GUN STATE TIMER // + public static int getTimer(ItemStack stack, int index) { return getValueInt(stack, KEY_TIMER + index); } + public static void setTimer(ItemStack stack, int index, int value) { setValueInt(stack, KEY_TIMER + index, value); } + // GUN STATE // + public static GunState getState(ItemStack stack, int index) { return EnumUtil.grabEnumSafely(GunState.class, getValueByte(stack, KEY_STATE + index)); } + public static void setState(ItemStack stack, int index, GunState value) { setValueByte(stack, KEY_STATE + index, (byte) value.ordinal()); } + // GUN MODE // + public static int getMode(ItemStack stack, int index) { return getValueInt(stack, KEY_MODE + index); } + public static void setMode(ItemStack stack, int index, int value) { setValueInt(stack, KEY_MODE + index, value); } + // GUN AIMING // + public static boolean getIsAiming(ItemStack stack) { return getValueBool(stack, KEY_AIMING); } + public static void setIsAiming(ItemStack stack, boolean value) { setValueBool(stack, KEY_AIMING, value); } + // GUN AIMING // + public static float getWear(ItemStack stack, int index) { return getValueFloat(stack, KEY_WEAR + index); } + public static void setWear(ItemStack stack, int index, float value) { setValueFloat(stack, KEY_WEAR + index, value); } + // LOCKON // + public static int getLockonTarget(ItemStack stack) { return getValueInt(stack, KEY_LOCKONTARGET); } + public static void setLockonTarget(ItemStack stack, int value) { setValueInt(stack, KEY_LOCKONTARGET, value); } + public static boolean getIsLockedOn(ItemStack stack) { return getValueBool(stack, KEY_LOCKEDON); } + public static void setIsLockedOn(ItemStack stack, boolean value) { setValueBool(stack, KEY_LOCKEDON, value); } + // ANIM TRACKING // + public static AnimType getLastAnim(ItemStack stack, int index) { return EnumUtil.grabEnumSafely(AnimType.class, getValueInt(stack, KEY_LASTANIM + index)); } + public static void setLastAnim(ItemStack stack, int index, AnimType value) { setValueInt(stack, KEY_LASTANIM + index, value.ordinal()); } + public static int getAnimTimer(ItemStack stack, int index) { return getValueInt(stack, KEY_ANIMTIMER + index); } + public static void setAnimTimer(ItemStack stack, int index, int value) { setValueInt(stack, KEY_ANIMTIMER + index, value); } + + // BUTTON STATES // + public static boolean getPrimary(ItemStack stack, int index) { return getValueBool(stack, KEY_PRIMARY + index); } + public static void setPrimary(ItemStack stack, int index, boolean value) { setValueBool(stack, KEY_PRIMARY + index, value); } + public static boolean getSecondary(ItemStack stack, int index) { return getValueBool(stack, KEY_SECONDARY + index); } + public static void setSecondary(ItemStack stack, int index, boolean value) { setValueBool(stack, KEY_SECONDARY + index, value); } + public static boolean getTertiary(ItemStack stack, int index) { return getValueBool(stack, KEY_TERTIARY + index); } + public static void setTertiary(ItemStack stack, int index, boolean value) { setValueBool(stack, KEY_TERTIARY + index, value); } + public static boolean getReloadKey(ItemStack stack, int index) { return getValueBool(stack, KEY_RELOAD + index); } + public static void setReloadKey(ItemStack stack, int index, boolean value) { setValueBool(stack, KEY_RELOAD + index, value); } + // RELOAD CANCEL // + public static boolean getReloadCancel(ItemStack stack) { return getValueBool(stack, KEY_CANCELRELOAD); } + public static void setReloadCancel(ItemStack stack, boolean value) { setValueBool(stack, KEY_CANCELRELOAD, value); } + // EQUIPPED // + public static boolean getIsEquipped(ItemStack stack) { return getValueBool(stack, KEY_EQUIPPED); } + public static void setIsEquipped(ItemStack stack, boolean value) { setValueBool(stack, KEY_EQUIPPED, value); } + + + /// UTIL /// + public static int getValueInt(ItemStack stack, String name) { if(stack.hasTagCompound()) return stack.getTagCompound().getInteger(name); return 0; } + public static void setValueInt(ItemStack stack, String name, int value) { if(!stack.hasTagCompound()) stack.stackTagCompound = new NBTTagCompound(); stack.getTagCompound().setInteger(name, value); } + + public static float getValueFloat(ItemStack stack, String name) { if(stack.hasTagCompound()) return stack.getTagCompound().getFloat(name); return 0; } + public static void setValueFloat(ItemStack stack, String name, float value) { if(!stack.hasTagCompound()) stack.stackTagCompound = new NBTTagCompound(); stack.getTagCompound().setFloat(name, value); } + + public static byte getValueByte(ItemStack stack, String name) { if(stack.hasTagCompound()) return stack.getTagCompound().getByte(name); return 0; } + public static void setValueByte(ItemStack stack, String name, byte value) { if(!stack.hasTagCompound()) stack.stackTagCompound = new NBTTagCompound(); stack.getTagCompound().setByte(name, value); } + + public static boolean getValueBool(ItemStack stack, String name) { if(stack.hasTagCompound()) return stack.getTagCompound().getBoolean(name); return false; } + public static void setValueBool(ItemStack stack, String name, boolean value) { if(!stack.hasTagCompound()) stack.stackTagCompound = new NBTTagCompound(); stack.getTagCompound().setBoolean(name, value); } + + /** Wrapper for extra context used in most Consumer lambdas which are part of the guncfg */ + public static class LambdaContext { + public final GunConfig config; + public final EntityLivingBase entity; + public final IInventory inventory; + public final int configIndex; + + public LambdaContext(GunConfig config, EntityLivingBase player, IInventory inventory, int configIndex) { + this.config = config; + this.entity = player; + this.inventory = inventory; + this.configIndex = configIndex; + } + + public EntityPlayer getPlayer() { + if(!(entity instanceof EntityPlayer)) return null; + return (EntityPlayer) entity; + } + } + + @Override + @SideOnly(Side.CLIENT) + public void renderHUD(Pre event, ElementType type, EntityPlayer player, ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + + if(type == ElementType.CROSSHAIRS) { + event.setCanceled(true); + GunConfig config = gun.getConfig(stack, 0); + if(config.getHideCrosshair(stack) && aimingProgress >= 1F) return; + RenderScreenOverlay.renderCustomCrosshairs(event.resolution, Minecraft.getMinecraft().ingameGUI, config.getCrosshair(stack)); + } + + int confNo = this.configs_DNA.length; + + for(int i = 0; i < confNo; i++) { + IHUDComponent[] components = gun.getConfig(stack, i).getHUDComponents(stack); + + if(components != null) for(IHUDComponent component : components) { + int bottomOffset = 0; + component.renderHUDComponent(event, type, player, stack, bottomOffset, i); + bottomOffset += component.getComponentHeight(player, stack); + } + } + + Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); + } + + public static class SmokeNode { + + public double forward = 0D; + public double side = 0D; + public double lift = 0D; + public double alpha; + public double width = 1D; + + public SmokeNode(double alpha) { this.alpha = alpha; } + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/Receiver.java b/src/main/java/com/hbm/items/weapon/sedna/Receiver.java new file mode 100644 index 000000000..90f2aa7a1 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/Receiver.java @@ -0,0 +1,168 @@ +package com.hbm.items.weapon.sedna; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.factory.Lego; +import com.hbm.items.weapon.sedna.mags.IMagazine; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; + +import net.minecraft.item.ItemStack; +import net.minecraft.util.Vec3; + +/** + * Receivers are the gun's "moving parts", i.e. they determine things like base damage, spread, the ejector and the magazine. Think of this class like the + * barrel, receiver and chamber of the gun, an underbarrel grenade launcher for example would be a separate receiver instance compared to the regular gun it is attached to. + * + * @author hbm + */ +public class Receiver { + + public static final String F_BASEDAMAGE = "F_BASEDAMAGE"; + public static final String I_DELAYAFTERFIRE = "I_DELAYAFTERFIRE"; + public static final String I_DELAYAFTERDRYFIRE = "I_DELAYAFTERDRYFIRE"; + public static final String I_ROUNDSPERCYCLE = "I_ROUNDSPERCYCLE"; + public static final String F_SPLITPROJECTILES = "F_SPLITPROJECTILES"; + public static final String F_SPREADINNATE = "F_SPREADINNATE"; + public static final String F_SPREADAMMO = "F_SPREADAMMO"; + public static final String F_SPREADHIPFIRE = "F_SPREADHIPFIRE"; + public static final String F_SPREADDURABILITY = "F_SPREADDURABILITY"; + public static final String B_REFIREONHOLD = "B_REFIREONHOLD"; + public static final String B_REFIREAFTERDRY = "B_REFIREAFTERDRY"; + public static final String B_DOESDRYFIRE = "B_DOESDRYFIRE"; + public static final String B_DOESDRYFIREAFTERAUTO = "B_DOESDRYFIREAFTERAUTO"; + public static final String B_EJECTONFIRE = "B_EJECTONFIRE"; + public static final String B_RELOADONEMPTY = "B_RELOADONEMPTY"; + public static final String I_RELOADBEGINDURATION = "I_RELOADBEGINDURATION"; + public static final String I_RELOADCYCLEDURATION = "I_RELOADCYCLEDURATION"; + public static final String I_RELOADENDDURATION = "I_RELOADENDDURATION"; + public static final String I_RELOADCOCKONEMPTYPRE = "I_RELOADCOCKONEMPTYPRE"; + public static final String I_RELOADCOCKONEMPTYPOST = "I_RELOADCOCKONEMPTYPOST"; + public static final String I_JAMDURATION = "I_JAMDURATION"; + public static final String S_FIRESOUND = "S_FIRESOUND"; + public static final String F_FIREVOLUME = "F_FIREVOLUME"; + public static final String F_FIREPITCH = "F_FIREPITCH"; + public static final String O_MAGAZINE = "O_MAGAZINE"; + public static final String O_PROJECTILEOFFSET = "O_PROJECTILEOFFSET"; + public static final String O_PROJECTILEOFFSETSCOPED = "O_PROJECTILEOFFSETSCOPED"; + public static final String FUN_CANFIRE = "FUN_CANFIRE"; + public static final String CON_ONFIRE = "CON_ONFIRE"; + public static final String CON_ONRECOIL = "CON_ONRECOIL"; + + public Receiver(int index) { + this.index = index; + } + + protected int index; + protected GunConfig parent; + protected float baseDamage_DNA; + protected int delayAfterFire_DNA; + protected int delayAfterDryFire_DNA; + protected int roundsPerCycle_DNA = 1; + protected float splitProjectiles_DNA = 1; + protected float spreadInnate_DNA = 0F; + protected float spreadMultAmmo_DNA = 1F; + protected float spreadPenaltyHipfire_DNA = 0.025F; + protected float spreadDurability_DNA = 0.125F; + protected boolean refireOnHold_DNA = false; + protected boolean refireAfterDry_DNA = false; + protected boolean doesDryFire_DNA = true; + protected boolean doesDryFireAfterAuto_DNA = false; + protected boolean ejectOnFire_DNA = true; + protected boolean reloadOnEmpty_DNA = false; + protected int reloadBeginDuration_DNA; + protected int reloadCycleDuration_DNA; + protected int reloadEndDuration_DNA; + protected int reloadCockOnEmptyPre_DNA; + protected int reloadCockOnEmptyPost_DNA; + protected int jamDuration_DNA = 0; + protected String fireSound_DNA; + protected float fireVolume_DNA = 1.0F; + protected float firePitch_DNA = 1.0F; + protected IMagazine magazine_DNA; + protected Vec3 projectileOffset_DNA = Vec3.createVectorHelper(0, 0, 0); + protected Vec3 projectileOffsetScoped_DNA = Vec3.createVectorHelper(0, 0, 0); + protected BiFunction canFire_DNA; + protected BiConsumer onFire_DNA; + protected BiConsumer onRecoil_DNA; + + /* GETTERS */ + public float getBaseDamage(ItemStack stack) { return WeaponModManager.eval(this.baseDamage_DNA, stack, F_BASEDAMAGE, this, parent.index); } + public int getDelayAfterFire(ItemStack stack) { return WeaponModManager.eval(this.delayAfterFire_DNA, stack, I_DELAYAFTERFIRE, this, parent.index); } + public int getDelayAfterDryFire(ItemStack stack) { return WeaponModManager.eval(this.delayAfterDryFire_DNA, stack, I_DELAYAFTERDRYFIRE, this, parent.index); } + public int getRoundsPerCycle(ItemStack stack) { return WeaponModManager.eval(this.roundsPerCycle_DNA, stack, I_ROUNDSPERCYCLE, this, parent.index); } + public float getSplitProjectiles(ItemStack stack) { return WeaponModManager.eval(this.splitProjectiles_DNA, stack, F_SPLITPROJECTILES, this, parent.index); } + public float getInnateSpread(ItemStack stack) { return WeaponModManager.eval(this.spreadInnate_DNA, stack, F_SPREADINNATE, this, parent.index); } + public float getAmmoSpread(ItemStack stack) { return WeaponModManager.eval(this.spreadMultAmmo_DNA, stack, F_SPREADAMMO, this, parent.index); } + public float getHipfireSpread(ItemStack stack) { return WeaponModManager.eval(this.spreadPenaltyHipfire_DNA, stack, F_SPREADHIPFIRE, this, parent.index); } + public float getDurabilitySpread(ItemStack stack) { return WeaponModManager.eval(this.spreadDurability_DNA, stack, F_SPREADDURABILITY, this, parent.index); } + public boolean getRefireOnHold(ItemStack stack) { return WeaponModManager.eval(this.refireOnHold_DNA, stack, B_REFIREONHOLD, this, parent.index); } + public boolean getRefireAfterDry(ItemStack stack) { return WeaponModManager.eval(this.refireAfterDry_DNA, stack, B_REFIREAFTERDRY, this, parent.index); } + public boolean getDoesDryFire(ItemStack stack) { return WeaponModManager.eval(this.doesDryFire_DNA, stack, B_DOESDRYFIRE, this, parent.index); } + public boolean getDoesDryFireAfterAuto(ItemStack stack) { return WeaponModManager.eval(this.doesDryFireAfterAuto_DNA, stack, B_DOESDRYFIREAFTERAUTO, this, parent.index); } + public boolean getEjectOnFire(ItemStack stack) { return WeaponModManager.eval(this.ejectOnFire_DNA, stack, B_EJECTONFIRE, this, parent.index); } + public boolean getReloadOnEmpty(ItemStack stack) { return WeaponModManager.eval(this.reloadOnEmpty_DNA, stack, B_RELOADONEMPTY, this, parent.index); } + public int getReloadBeginDuration(ItemStack stack) { return WeaponModManager.eval(this.reloadBeginDuration_DNA, stack, I_RELOADBEGINDURATION, this, parent.index); } + public int getReloadCycleDuration(ItemStack stack) { return WeaponModManager.eval(this.reloadCycleDuration_DNA, stack, I_RELOADCYCLEDURATION, this, parent.index); } + public int getReloadEndDuration(ItemStack stack) { return WeaponModManager.eval(this.reloadEndDuration_DNA, stack, I_RELOADENDDURATION, this, parent.index); } + public int getReloadCockOnEmptyPre(ItemStack stack) { return WeaponModManager.eval(this.reloadCockOnEmptyPre_DNA, stack, I_RELOADCOCKONEMPTYPRE, this, parent.index); } + public int getReloadCockOnEmptyPost(ItemStack stack) { return WeaponModManager.eval(this.reloadCockOnEmptyPost_DNA, stack, I_RELOADCOCKONEMPTYPOST, this, parent.index); } + public int getJamDuration(ItemStack stack) { return WeaponModManager.eval(this.jamDuration_DNA, stack, I_JAMDURATION, this, parent.index); } + public String getFireSound(ItemStack stack) { return WeaponModManager.eval(this.fireSound_DNA, stack, S_FIRESOUND, this, parent.index); } + public float getFireVolume(ItemStack stack) { return WeaponModManager.eval(this.fireVolume_DNA, stack, F_FIREVOLUME, this, parent.index); } + public float getFirePitch(ItemStack stack) { return WeaponModManager.eval(this.firePitch_DNA, stack, F_FIREPITCH, this, parent.index); } + public IMagazine getMagazine(ItemStack stack) { return WeaponModManager.eval(this.magazine_DNA, stack, O_MAGAZINE, this, parent.index); } + public Vec3 getProjectileOffset(ItemStack stack) { return WeaponModManager.eval(this.projectileOffset_DNA, stack, O_PROJECTILEOFFSET, this, parent.index); } + public Vec3 getProjectileOffsetScoped(ItemStack stack) { return WeaponModManager.eval(this.projectileOffsetScoped_DNA, stack, O_PROJECTILEOFFSETSCOPED, this, parent.index); } + + public BiFunction getCanFire(ItemStack stack) { return WeaponModManager.eval(this.canFire_DNA, stack, FUN_CANFIRE, this, parent.index); } + public BiConsumer getOnFire(ItemStack stack) { return WeaponModManager.eval(this.onFire_DNA, stack, CON_ONFIRE, this, parent.index); } + public BiConsumer getRecoil(ItemStack stack) { return WeaponModManager.eval(this.onRecoil_DNA, stack, CON_ONRECOIL, this, parent.index); } + + /* SETTERS */ + public Receiver dmg(float dmg) { this.baseDamage_DNA = dmg; return this; } + public Receiver delay(int delay) { this.delayAfterFire_DNA = this.delayAfterDryFire_DNA = delay; return this; } + public Receiver dry(int delay) { this.delayAfterDryFire_DNA = delay; return this; } + public Receiver rounds(int rounds) { this.roundsPerCycle_DNA = rounds; return this; } + public Receiver split(float rounds) { this.splitProjectiles_DNA = rounds; return this; } + public Receiver spread(float spread) { this.spreadInnate_DNA = spread; return this; } + public Receiver spreadAmmo(float spread) { this.spreadMultAmmo_DNA = spread; return this; } + public Receiver spreadHipfire(float spread) { this.spreadPenaltyHipfire_DNA = spread; return this; } + public Receiver spreadDurability(float spread) { this.spreadDurability_DNA = spread; return this; } + public Receiver auto(boolean auto) { this.refireOnHold_DNA = auto; return this; } + public Receiver autoAfterDry(boolean auto) { this.refireAfterDry_DNA = auto; return this; } + public Receiver dryfire(boolean dryfire) { this.doesDryFire_DNA = dryfire; return this; } + public Receiver dryfireAfterAuto(boolean dryfire) { this.doesDryFireAfterAuto_DNA = dryfire; return this; } + public Receiver ejectOnFire(boolean eject) { this.ejectOnFire_DNA = eject; return this; } + public Receiver reloadOnEmpty(boolean reload) { this.reloadOnEmpty_DNA = reload; return this; } + public Receiver mag(IMagazine magazine) { this.magazine_DNA = magazine; return this; } + public Receiver offset(double f, double u, double s) { this.projectileOffset_DNA = Vec3.createVectorHelper(f, u, s); this.projectileOffsetScoped_DNA = Vec3.createVectorHelper(f, u, 0); return this; } + public Receiver offsetScoped(double f, double u, double s) { this.projectileOffsetScoped_DNA = Vec3.createVectorHelper(f, u, s); return this; } + public Receiver jam(int jam) { this.jamDuration_DNA = jam; return this; } + + public Receiver reload(int delay) { return reload(0, delay, delay, 0, 0); } + public Receiver reload(int begin, int cycle, int end, int cock) { return reload(0, begin, cycle, end, cock); } + public Receiver reload(int pre, int begin, int cycle, int end, int post) { + this.reloadBeginDuration_DNA = begin; + this.reloadCycleDuration_DNA = cycle; + this.reloadEndDuration_DNA = end; + this.reloadCockOnEmptyPre_DNA = pre; + this.reloadCockOnEmptyPost_DNA = post; + return this; + } + + public Receiver canFire(BiFunction lambda) { this.canFire_DNA = lambda; return this; } + public Receiver fire(BiConsumer lambda) { this.onFire_DNA = lambda; return this; } + public Receiver recoil(BiConsumer lambda) { this.onRecoil_DNA = lambda; return this; } + + public Receiver sound(String sound, float volume, float pitch) { + this.fireSound_DNA = sound; + this.fireVolume_DNA = volume; + this.firePitch_DNA = pitch; + return this; + } + + public Receiver setupStandardFire() { return this.canFire(Lego.LAMBDA_STANDARD_CAN_FIRE) .fire(Lego.LAMBDA_STANDARD_FIRE); } + public Receiver setupLockonFire() { return this.canFire(Lego.LAMBDA_LOCKON_CAN_FIRE) .fire(Lego.LAMBDA_STANDARD_FIRE); } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/ConfettiUtil.java b/src/main/java/com/hbm/items/weapon/sedna/factory/ConfettiUtil.java new file mode 100644 index 000000000..10745b90d --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/ConfettiUtil.java @@ -0,0 +1,57 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.Locale; + +import com.hbm.entity.mob.*; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.particle.helper.AshesCreator; +import com.hbm.particle.helper.SkeletonCreator; +import com.hbm.util.DamageResistanceHandler.DamageClass; + +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.monster.EntitySkeleton; +import net.minecraft.entity.monster.EntitySlime; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; + +public class ConfettiUtil { + + public static void decideConfetti(EntityLivingBase entity, DamageSource source) { + if(entity.isEntityAlive()) return; + if(source.damageType.equals(DamageClass.LASER.name().toLowerCase(Locale.US))) pulverize(entity); + if(source.damageType.equals(DamageClass.ELECTRIC.name().toLowerCase(Locale.US))) pulverize(entity); + if(source.isExplosion()) gib(entity); + if(source.isFireDamage()) cremate(entity); + } + + public static void pulverize(EntityLivingBase entity) { + int amount = MathHelper.clamp_int((int) (entity.width * entity.height * entity.width * 25), 5, 50); + AshesCreator.composeEffect(entity.worldObj, entity, amount, 0.125F); + SkeletonCreator.composeEffect(entity.worldObj, entity, 1F); + entity.worldObj.playSoundEffect(entity.posX, entity.posY, entity.posZ, "hbm:weapon.fire.disintegration", 2.0F, 0.9F + entity.getRNG().nextFloat() * 0.2F); + } + + public static void cremate(EntityLivingBase entity) { + int amount = MathHelper.clamp_int((int) (entity.width * entity.height * entity.width * 25), 5, 50); + AshesCreator.composeEffect(entity.worldObj, entity, amount, 0.125F); + SkeletonCreator.composeEffect(entity.worldObj, entity, 0.25F); + entity.worldObj.playSoundEffect(entity.posX, entity.posY, entity.posZ, "hbm:weapon.fire.disintegration", 2.0F, 0.9F + entity.getRNG().nextFloat() * 0.2F); + } + + public static void gib(EntityLivingBase entity) { + if(entity instanceof EntityCyberCrab) return; + if(entity instanceof EntityTeslaCrab) return; + if(entity instanceof EntityTaintCrab) return; + if(entity instanceof EntitySkeleton) return; + if(entity instanceof EntitySlime) return; + + NBTTagCompound vdat = new NBTTagCompound(); + vdat.setString("type", "giblets"); + vdat.setInteger("ent", entity.getEntityId()); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(vdat, entity.posX, entity.posY + entity.height * 0.5, entity.posZ), new TargetPoint(entity.dimension, entity.posX, entity.posY + entity.height * 0.5, entity.posZ, 150)); + entity.worldObj.playSoundEffect(entity.posX, entity.posY, entity.posZ, "mob.zombie.woodbreak", 2.0F, 0.95F + entity.getRNG().nextFloat() * 0.2F); + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactory.java b/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactory.java new file mode 100644 index 000000000..bbf976df7 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactory.java @@ -0,0 +1,173 @@ +package com.hbm.items.weapon.sedna.factory; + +import com.hbm.interfaces.IOrderedEnum; +import com.hbm.items.ItemEnumMulti; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.particle.SpentCasing; +import com.hbm.particle.SpentCasing.CasingType; + +import net.minecraft.item.Item; + +public class GunFactory { + + public static BulletConfig ammo_debug; + + public static SpentCasing CASING44 = new SpentCasing(CasingType.STRAIGHT).setScale(1.5F, 1.0F, 1.5F).setColor(SpentCasing.COLOR_CASE_44); + + public static void init() { + + /// AMMO ITEMS /// + ModItems.ammo_debug = new Item().setUnlocalizedName("ammo_debug").setTextureName(RefStrings.MODID + ":ammo_45"); + ModItems.ammo_standard = new ItemEnumMulti(EnumAmmo.class, true, true).setUnlocalizedName("ammo_standard").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_standard"); + ModItems.ammo_secret = new ItemEnumMulti(EnumAmmoSecret.class, true, true).setUnlocalizedName("ammo_secret").setCreativeTab(null).setTextureName(RefStrings.MODID + ":ammo_secret"); + + /// BULLLET CFGS /// + ammo_debug = new BulletConfig().setItem(ModItems.ammo_debug).setSpread(0.01F).setRicochetAngle(45).setCasing(CASING44.clone().register("DEBUG0")); + + /// GUNS /// + ModItems.gun_debug = new ItemGunBaseNT(WeaponQuality.DEBUG, new GunConfig() + .dura(600F).draw(15).inspect(23).crosshair(Crosshair.L_CLASSIC).smoke(Lego.LAMBDA_STANDARD_SMOKE).orchestra(Orchestras.DEBUG_ORCHESTRA) + .rec(new Receiver(0) + .dmg(10F).delay(14).reload(46).jam(23).sound("hbm:weapon.44Shoot", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 12).addConfigs(ammo_debug)) + .offset(0.75, -0.0625, -0.3125D) + .canFire(Lego.LAMBDA_STANDARD_CAN_FIRE).fire(Lego.LAMBDA_STANDARD_FIRE)) + .pp(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD).pt(Lego.LAMBDA_TOGGLE_AIM) + .decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) + .anim(Lego.LAMBDA_DEBUG_ANIMS) + ).setUnlocalizedName("gun_debug"); + + XFactoryBlackPowder.init(); + XFactory357.init(); + XFactory44.init(); + XFactory9mm.init(); + XFactory12ga.init(); + XFactory40mm.init(); + XFactory762mm.init(); + XFactory22lr.init(); + XFactoryFlamer.init(); + XFactoryRocket.init(); + XFactory556mm.init(); + XFactory50.init(); + XFactoryEnergy.init(); + XFactoryAccelerator.init(); + XFactoryCatapult.init(); + XFactory75Bolt.init(); + XFactoryFolly.init(); + XFactoryTurret.init(); + XFactory10ga.init(); + XFactory35800.init(); + XFactory45.init(); + XFactoryTool.init(); + + ModItems.weapon_mod_test = new ItemEnumMulti(EnumModTest.class, true, true).setUnlocalizedName("weapon_mod_test").setMaxStackSize(1); + ModItems.weapon_mod_generic = new ItemEnumMulti(EnumModGeneric.class, true, true).setUnlocalizedName("weapon_mod_generic").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab); + ModItems.weapon_mod_special = new ItemEnumMulti(EnumModSpecial.class, true, true).setUnlocalizedName("weapon_mod_special").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab); + ModItems.weapon_mod_caliber = new ItemEnumMulti(EnumModCaliber.class, true, true).setUnlocalizedName("weapon_mod_caliber").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab); + + /// PROXY BULLSHIT /// + MainRegistry.proxy.registerGunCfg(); + } + + public static enum EnumAmmo implements IOrderedEnum { + STONE, STONE_AP, STONE_IRON, STONE_SHOT, + M357_BP, M357_SP, M357_FMJ, M357_JHP, M357_AP, M357_EXPRESS, + M44_BP, M44_SP, M44_FMJ, M44_JHP, M44_AP, M44_EXPRESS, + P22_SP, P22_FMJ, P22_JHP, P22_AP, + P9_SP, P9_FMJ, P9_JHP, P9_AP, + R556_SP, R556_FMJ, R556_JHP, R556_AP, + R762_SP, R762_FMJ, R762_JHP, R762_AP, R762_DU, + BMG50_SP, BMG50_FMJ, BMG50_JHP, BMG50_AP, BMG50_DU, + B75, B75_INC, B75_EXP, + G12_BP, G12_BP_MAGNUM, G12_BP_SLUG, G12, G12_SLUG, G12_FLECHETTE, G12_MAGNUM, G12_EXPLOSIVE, G12_PHOSPHORUS, + G26_FLARE, G26_FLARE_SUPPLY, G26_FLARE_WEAPON, + G40_HE, G40_HEAT, G40_DEMO, G40_INC, G40_PHOSPHORUS, + ROCKET_HE, ROCKET_HEAT, ROCKET_DEMO, ROCKET_INC, ROCKET_PHOSPHORUS, + FLAME_DIESEL, FLAME_GAS, FLAME_NAPALM, FLAME_BALEFIRE, + CAPACITOR, CAPACITOR_OVERCHARGE, CAPACITOR_IR, + TAU_URANIUM, + COIL_TUNGSTEN, COIL_FERROURANIUM, + NUKE_STANDARD, NUKE_DEMO, NUKE_HIGH, NUKE_TOTS, NUKE_HIVE, + G10, G10_SHRAPNEL, G10_DU, G10_SLUG, + R762_HE, BMG50_HE, G10_EXPLOSIVE, + P45_SP, P45_FMJ, P45_JHP, P45_AP, P45_DU, + CT_HOOK, CT_MORTAR, CT_MORTAR_CHARGE, + NUKE_BALEFIRE, BMG50_SM, + + //ONLY ADD NEW ENTRIES AT THE BOTTOM TO AVOID SHIFTING! + ; + + /** used for creative tab order */ + public static EnumAmmo[] order = new EnumAmmo[] { + STONE, STONE_AP, STONE_IRON, STONE_SHOT, + M357_BP, M357_SP, M357_FMJ, M357_JHP, M357_AP, M357_EXPRESS, + M44_BP, M44_SP, M44_FMJ, M44_JHP, M44_AP, M44_EXPRESS, + P22_SP, P22_FMJ, P22_JHP, P22_AP, + P9_SP, P9_FMJ, P9_JHP, P9_AP, + P45_SP, P45_FMJ, P45_JHP, P45_AP, P45_DU, + R556_SP, R556_FMJ, R556_JHP, R556_AP, + R762_SP, R762_FMJ, R762_JHP, R762_AP, R762_DU, R762_HE, + BMG50_SP, BMG50_FMJ, BMG50_JHP, BMG50_AP, BMG50_DU, BMG50_SM, BMG50_HE, + B75, B75_INC, B75_EXP, + G12_BP, G12_BP_MAGNUM, G12_BP_SLUG, G12, G12_SLUG, G12_FLECHETTE, G12_MAGNUM, G12_EXPLOSIVE, G12_PHOSPHORUS, + G10, G10_SHRAPNEL, G10_DU, G10_SLUG, G10_EXPLOSIVE, + G26_FLARE, G26_FLARE_SUPPLY, G26_FLARE_WEAPON, + G40_HE, G40_HEAT, G40_DEMO, G40_INC, G40_PHOSPHORUS, + ROCKET_HE, ROCKET_HEAT, ROCKET_DEMO, ROCKET_INC, ROCKET_PHOSPHORUS, + FLAME_DIESEL, FLAME_GAS, FLAME_NAPALM, FLAME_BALEFIRE, + CAPACITOR, CAPACITOR_OVERCHARGE, CAPACITOR_IR, + TAU_URANIUM, + COIL_TUNGSTEN, COIL_FERROURANIUM, + NUKE_STANDARD, NUKE_DEMO, NUKE_HIGH, NUKE_TOTS, NUKE_HIVE, NUKE_BALEFIRE, + CT_HOOK, CT_MORTAR, CT_MORTAR_CHARGE, + }; + + public Enum[] getOrder() { + return order; + } + } + + public static enum EnumAmmoSecret { + FOLLY_SM, FOLLY_NUKE, + M44_EQUESTRIAN, G12_EQUESTRIAN, BMG50_EQUESTRIAN, + P35_800, BMG50_BLACK, P35_800_BL + } + + public static enum EnumModTest { + FIRERATE, DAMAGE, MULTI, + OVERRIDE_2_5, OVERRIDE_5, OVERRIDE_7_5, OVERRIDE_10, OVERRIDE_12_5, OVERRIDE_15, OVERRIDE_20; + } + + public static enum EnumModGeneric { + IRON_DAMAGE, IRON_DURA, + STEEL_DAMAGE, STEEL_DURA, + DURA_DAMAGE, DURA_DURA, + DESH_DAMAGE, DESH_DURA, + WSTEEL_DAMAGE, WSTEEL_DURA, + FERRO_DAMAGE, FERRO_DURA, + TCALLOY_DAMAGE, TCALLOY_DURA, + BIGMT_DAMAGE, BIGMT_DURA, + BRONZE_DAMAGE, BRONZE_DURA, + } + + public static enum EnumModSpecial { + SILENCER, SCOPE, SAW, GREASEGUN, SLOWDOWN, + SPEEDUP, CHOKE, SPEEDLOADER, + FURNITURE_GREEN, FURNITURE_BLACK, BAYONET, + STACK_MAG, SKIN_SATURNITE, LAS_SHOTGUN, + LAS_CAPACITOR, LAS_AUTO + } + + public static enum EnumModCaliber { + P9, P45, P22, M357, M44, R556, R762, BMG50, + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java b/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java new file mode 100644 index 000000000..753de9167 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java @@ -0,0 +1,308 @@ +package com.hbm.items.weapon.sedna.factory; + +import static com.hbm.items.weapon.sedna.factory.GunFactory.*; +import static com.hbm.items.weapon.sedna.factory.XFactory10ga.*; +import static com.hbm.items.weapon.sedna.factory.XFactory12ga.*; +import static com.hbm.items.weapon.sedna.factory.XFactory22lr.*; +import static com.hbm.items.weapon.sedna.factory.XFactory357.*; +import static com.hbm.items.weapon.sedna.factory.XFactory35800.*; +import static com.hbm.items.weapon.sedna.factory.XFactory40mm.*; +import static com.hbm.items.weapon.sedna.factory.XFactory44.*; +import static com.hbm.items.weapon.sedna.factory.XFactory45.*; +import static com.hbm.items.weapon.sedna.factory.XFactory50.*; +import static com.hbm.items.weapon.sedna.factory.XFactory556mm.*; +import static com.hbm.items.weapon.sedna.factory.XFactory75Bolt.*; +import static com.hbm.items.weapon.sedna.factory.XFactory762mm.*; +import static com.hbm.items.weapon.sedna.factory.XFactory9mm.*; +import static com.hbm.items.weapon.sedna.factory.XFactoryAccelerator.*; +import static com.hbm.items.weapon.sedna.factory.XFactoryBlackPowder.*; +import static com.hbm.items.weapon.sedna.factory.XFactoryCatapult.*; +import static com.hbm.items.weapon.sedna.factory.XFactoryEnergy.*; +import static com.hbm.items.weapon.sedna.factory.XFactoryFolly.*; +import static com.hbm.items.weapon.sedna.factory.XFactoryTool.*; +import static com.hbm.items.weapon.sedna.factory.XFactoryTurret.*; +import static com.hbm.items.weapon.sedna.factory.XFactoryRocket.*; + +import java.util.function.BiConsumer; + +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.entity.projectile.EntityBulletBeamBase; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.weapon.sedna.*; + +import net.minecraftforge.client.MinecraftForgeClient; + +public class GunFactoryClient { + + public static void init() { + //GUNS + MinecraftForgeClient.registerItemRenderer(ModItems.gun_debug, new ItemRenderDebug()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_pepperbox, new ItemRenderPepperbox()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_light_revolver, new ItemRenderAtlas(ResourceManager.bio_revolver_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_light_revolver_atlas, new ItemRenderAtlas(ResourceManager.bio_revolver_atlas_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_light_revolver_dani, new ItemRenderDANI()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_henry, new ItemRenderHenry(ResourceManager.henry_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_henry_lincoln, new ItemRenderHenry(ResourceManager.henry_lincoln_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_greasegun, new ItemRenderGreasegun()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_maresleg, new ItemRenderMaresleg(ResourceManager.maresleg_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_maresleg_akimbo, new ItemRenderMareslegAkimbo()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_maresleg_broken, new ItemRenderMaresleg(ResourceManager.maresleg_broken_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_flaregun, new ItemRenderFlaregun()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_heavy_revolver, new ItemRenderHeavyRevolver(ResourceManager.heavy_revolver_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_heavy_revolver_lilmac, new ItemRenderHeavyRevolver(ResourceManager.lilmac_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_heavy_revolver_protege, new ItemRenderHeavyRevolver(ResourceManager.heavy_revolver_protege_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_carbine, new ItemRenderCarbine()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_am180, new ItemRenderAm180()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_liberator, new ItemRenderLiberator()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_congolake, new ItemRenderCongoLake()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_flamer, new ItemRenderFlamer(ResourceManager.flamethrower_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_flamer_topaz, new ItemRenderFlamer(ResourceManager.flamethrower_topaz_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_flamer_daybreaker, new ItemRenderFlamer(ResourceManager.flamethrower_daybreaker_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_lag, new ItemRenderLAG()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_uzi, new ItemRenderUzi()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_uzi_akimbo, new ItemRenderUziAkimbo()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_spas12, new ItemRenderSPAS12()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_panzerschreck, new ItemRenderPanzerschreck()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_g3, new ItemRenderG3(ResourceManager.g3_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_g3_zebra, new ItemRenderG3(ResourceManager.g3_zebra_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_stinger, new ItemRenderStinger()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_chemthrower, new ItemRenderChemthrower()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_amat, new ItemRenderAmat(ResourceManager.amat_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_amat_subtlety, new ItemRenderAmat(ResourceManager.amat_subtlety_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_amat_penance, new ItemRenderAmat(ResourceManager.amat_penance_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_m2, new ItemRenderM2()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_autoshotgun, new ItemRenderShredder(ResourceManager.shredder_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_autoshotgun_shredder, new ItemRenderShredder(ResourceManager.shredder_orig_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_autoshotgun_sexy, new ItemRenderSexy()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_quadro, new ItemRenderQuadro()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_minigun, new ItemRenderMinigun(ResourceManager.minigun_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_minigun_lacunae, new ItemRenderMinigun(ResourceManager.minigun_lacunae_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_minigun_dual, new ItemRenderMinigunDual()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_missile_launcher, new ItemRenderMissileLauncher()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_tesla_cannon, new ItemRenderTeslaCannon()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_laser_pistol, new ItemRenderLaserPistol(ResourceManager.laser_pistol_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_laser_pistol_pew_pew, new ItemRenderLaserPistol(ResourceManager.laser_pistol_pew_pew_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_laser_pistol_morning_glory, new ItemRenderLaserPistol(ResourceManager.laser_pistol_morning_glory_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_stg77, new ItemRenderSTG77()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_tau, new ItemRenderTau()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_fatman, new ItemRenderFatMan()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_lasrifle, new ItemRenderLasrifle()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_coilgun, new ItemRenderCoilgun()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_hangman, new ItemRenderHangman()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_mas36, new ItemRenderMAS36()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolter, new ItemRenderBolter()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_folly, new ItemRenderFolly()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_aberrator, new ItemRenderAberrator()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_aberrator_eott, new ItemRenderEOTT()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_double_barrel, new ItemRenderDoubleBarrel(ResourceManager.double_barrel_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_double_barrel_sacred_dragon, new ItemRenderDoubleBarrel(ResourceManager.double_barrel_sacred_dragon_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_charge_thrower, new ItemRenderChargeThrower()); + + //PROJECTILES + ammo_debug.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + + stone.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + flint.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + iron.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + shot.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + + m357_bp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + m357_sp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + m357_fmj.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + m357_jhp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + m357_ap.setRenderer(LegoClient.RENDER_AP_BULLET); + m357_express.setRenderer(LegoClient.RENDER_EXPRESS_BULLET); + + m44_bp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + m44_sp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + m44_fmj.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + m44_jhp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + m44_ap.setRenderer(LegoClient.RENDER_AP_BULLET); + m44_express.setRenderer(LegoClient.RENDER_EXPRESS_BULLET); + m44_equestrian_pip.setRenderer(LegoClient.RENDER_LEGENDARY_BULLET); + m44_equestrian_mn7.setRenderer(LegoClient.RENDER_LEGENDARY_BULLET); + + p22_sp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + p22_fmj.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + p22_jhp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + p22_ap.setRenderer(LegoClient.RENDER_AP_BULLET); + + p9_sp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + p9_fmj.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + p9_jhp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + p9_ap.setRenderer(LegoClient.RENDER_AP_BULLET); + + p45_sp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + p45_fmj.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + p45_jhp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + p45_ap.setRenderer(LegoClient.RENDER_AP_BULLET); + p45_du.setRenderer(LegoClient.RENDER_DU_BULLET); + + r556_sp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + r556_fmj.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + r556_jhp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + r556_ap.setRenderer(LegoClient.RENDER_AP_BULLET); + + setRendererBulk(LegoClient.RENDER_AP_BULLET, r556_inc_sp, r556_inc_fmj, r556_inc_jhp, r556_inc_ap); + + r762_sp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + r762_fmj.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + r762_jhp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + r762_ap.setRenderer(LegoClient.RENDER_AP_BULLET); + r762_du.setRenderer(LegoClient.RENDER_DU_BULLET); + r762_he.setRenderer(LegoClient.RENDER_HE_BULLET); + + bmg50_sp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + bmg50_fmj.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + bmg50_jhp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + bmg50_ap.setRenderer(LegoClient.RENDER_AP_BULLET); + bmg50_du.setRenderer(LegoClient.RENDER_DU_BULLET); + bmg50_he.setRenderer(LegoClient.RENDER_HE_BULLET); + bmg50_sm.setRenderer(LegoClient.RENDER_SM_BULLET); + bmg50_black.setRenderer(LegoClient.RENDER_BLACK_BULLET); + + b75.setRenderer(LegoClient.RENDER_AP_BULLET); + b75_inc.setRenderer(LegoClient.RENDER_AP_BULLET); + b75_exp.setRenderer(LegoClient.RENDER_EXPRESS_BULLET); + + g12_bp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + g12_bp_magnum.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + g12_bp_slug.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + g12.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + g12_slug.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + g12_flechette.setRenderer(LegoClient.RENDER_FLECHETTE_BULLET); + g12_magnum.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + g12_explosive.setRenderer(LegoClient.RENDER_EXPRESS_BULLET); + g12_phosphorus.setRenderer(LegoClient.RENDER_AP_BULLET); + g12_equestrian_bj.setRenderer(LegoClient.RENDER_LEGENDARY_BULLET); + g12_equestrian_tkr.setRenderer(LegoClient.RENDER_LEGENDARY_BULLET); + + g12_sub.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + g12_sub_slug.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + g12_sub_flechette.setRenderer(LegoClient.RENDER_FLECHETTE_BULLET); + g12_sub_magnum.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + g12_sub_explosive.setRenderer(LegoClient.RENDER_EXPRESS_BULLET); + g12_sub_phosphorus.setRenderer(LegoClient.RENDER_AP_BULLET); + + setRendererBulkBeam(LegoClient.RENDER_LASER_CYAN, g12_shredder, g12_shredder_slug, g12_shredder_flechette, g12_shredder_magnum, g12_shredder_explosive, g12_shredder_phosphorus); + + g10.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + g10_shrapnel.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + g10_du.setRenderer(LegoClient.RENDER_DU_BULLET); + g10_slug.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + g10_explosive.setRenderer(LegoClient.RENDER_HE_BULLET); + + g26_flare.setRenderer(LegoClient.RENDER_FLARE); + g26_flare_supply.setRenderer(LegoClient.RENDER_FLARE_SUPPLY); + g26_flare_weapon.setRenderer(LegoClient.RENDER_FLARE_WEAPON); + + setRendererBulk(LegoClient.RENDER_GRENADE, g40_he, g40_heat, g40_demo, g40_inc, g40_phosphorus); + + setRendererBulk(LegoClient.RENDER_RPZB, rocket_rpzb); + setRendererBulk(LegoClient.RENDER_QD, rocket_qd); + setRendererBulk(LegoClient.RENDER_ML, rocket_ml); + + setRendererBulk(LegoClient.RENDER_NUKE, nuke_standard, nuke_demo, nuke_high); + nuke_tots.setRenderer(LegoClient.RENDER_GRENADE); + nuke_hive.setRenderer(LegoClient.RENDER_HIVE); + nuke_balefire.setRenderer(LegoClient.RENDER_NUKE_BALEFIRE); + + setRendererBulkBeam(LegoClient.RENDER_LIGHTNING, energy_tesla, energy_tesla_overcharge, energy_tesla_ir); + setRendererBulkBeam(LegoClient.RENDER_LIGHTNING_SUB, energy_tesla_ir_sub); + setRendererBulkBeam(LegoClient.RENDER_TAU, tau_uranium); + setRendererBulkBeam(LegoClient.RENDER_TAU_CHARGE, tau_uranium_charge); + setRendererBulkBeam(LegoClient.RENDER_LASER_RED, energy_las, energy_las_overcharge, energy_las_ir); + setRendererBulkBeam(LegoClient.RENDER_LASER_PURPLE, energy_lacunae, energy_lacunae_overcharge, energy_lacunae_ir); + setRendererBulkBeam(LegoClient.RENDER_LASER_EMERALD, energy_emerald, energy_emerald_overcharge, energy_emerald_ir); + + setRendererBulk(LegoClient.RENDER_AP_BULLET, coil_tungsten, coil_ferrouranium); + + folly_sm.setRendererBeam(LegoClient.RENDER_FOLLY); + folly_nuke.setRenderer(LegoClient.RENDER_BIG_NUKE); + + p35800.setRendererBeam(LegoClient.RENDER_CRACKLE); + p35800_bl.setRendererBeam(LegoClient.RENDER_BLACK_LIGHTNING); + + ct_hook.setRenderer(LegoClient.RENDER_CT_HOOK); + ct_mortar.setRenderer(LegoClient.RENDER_CT_MORTAR); + ct_mortar_charge.setRenderer(LegoClient.RENDER_CT_MORTAR_CHARGE); + + setRendererBulk(LegoClient.RENDER_GRENADE, shell_normal, shell_explosive, shell_ap, shell_du, shell_w9); //TODO: change the sabots + + //HUDS + ((ItemGunBaseNT) ModItems.gun_debug) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_pepperbox) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_light_revolver) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_light_revolver_atlas) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_henry) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_henry_lincoln) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_greasegun) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_maresleg) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_maresleg_broken) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_flaregun) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_heavy_revolver) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_heavy_revolver_lilmac) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_heavy_revolver_protege) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_carbine) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_am180) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_liberator) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_congolake) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_flamer) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO_NOCOUNTER); + ((ItemGunBaseNT) ModItems.gun_flamer_topaz) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO_NOCOUNTER); + ((ItemGunBaseNT) ModItems.gun_flamer_daybreaker) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO_NOCOUNTER); + ((ItemGunBaseNT) ModItems.gun_uzi) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_spas12) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_panzerschreck) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_g3) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_g3_zebra) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_stinger) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_chemthrower) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_amat) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_amat_subtlety) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_amat_penance) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_m2) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_autoshotgun) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_autoshotgun_shredder) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_autoshotgun_sexy) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_quadro) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_lag) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_minigun) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_minigun_lacunae) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_missile_launcher) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_tesla_cannon) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_laser_pistol) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_laser_pistol_pew_pew) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_laser_pistol_morning_glory) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_stg77) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_tau) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_fatman) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_lasrifle) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_coilgun) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_hangman) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_mas36) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_bolter) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_folly) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_aberrator) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_double_barrel) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_double_barrel_sacred_dragon) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_fireext) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_charge_thrower) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + + ((ItemGunBaseNT) ModItems.gun_light_revolver_dani) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY_MIRROR, LegoClient.HUD_COMPONENT_AMMO_MIRROR); + ((ItemGunBaseNT) ModItems.gun_light_revolver_dani) .getConfig(null, 1).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_maresleg_akimbo) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY_MIRROR, LegoClient.HUD_COMPONENT_AMMO_MIRROR); + ((ItemGunBaseNT) ModItems.gun_maresleg_akimbo) .getConfig(null, 1).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_uzi_akimbo) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY_MIRROR, LegoClient.HUD_COMPONENT_AMMO_MIRROR); + ((ItemGunBaseNT) ModItems.gun_uzi_akimbo) .getConfig(null, 1).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_minigun_dual) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY_MIRROR, LegoClient.HUD_COMPONENT_AMMO_MIRROR); + ((ItemGunBaseNT) ModItems.gun_minigun_dual) .getConfig(null, 1).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_aberrator_eott) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_AMMO_MIRROR); + ((ItemGunBaseNT) ModItems.gun_aberrator_eott) .getConfig(null, 1).hud(LegoClient.HUD_COMPONENT_AMMO); + } + + public static void setRendererBulk(BiConsumer renderer, BulletConfig... configs) { for(BulletConfig config : configs) config.setRenderer(renderer); } + public static void setRendererBulkBeam(BiConsumer renderer, BulletConfig... configs) { for(BulletConfig config : configs) config.setRendererBeam(renderer); } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/GunStateDecider.java b/src/main/java/com/hbm/items/weapon/sedna/factory/GunStateDecider.java new file mode 100644 index 000000000..75992ca7e --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/GunStateDecider.java @@ -0,0 +1,159 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.function.BiConsumer; +import java.util.function.BooleanSupplier; + +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.mags.IMagazine; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.GunState; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.render.anim.HbmAnimations.AnimType; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; + +public class GunStateDecider { + + /** + * The meat and bones of the gun system's state machine. + * This standard decider can handle guns with an automatic primary receiver, as well as one receiver's reloading state. + * It supports draw delays as well as semi and auto fire + */ + public static BiConsumer LAMBDA_STANDARD_DECIDER = (stack, ctx) -> { + int index = ctx.configIndex; + GunState lastState = ItemGunBaseNT.getState(stack, index); + deciderStandardFinishDraw(stack, lastState, index); + deciderStandardClearJam(stack, lastState, index); + deciderStandardReload(stack, ctx, lastState, 0, index); + deciderAutoRefire(stack, ctx, lastState, 0, index, () -> { return ItemGunBaseNT.getPrimary(stack, index) && ItemGunBaseNT.getMode(stack, ctx.configIndex) == 0; }); + }; + + /** Transitions the gun from DRAWING to IDLE */ + public static void deciderStandardFinishDraw(ItemStack stack, GunState lastState, int index) { + + //transition to idle + if(lastState == GunState.DRAWING) { + ItemGunBaseNT.setState(stack, index, GunState.IDLE); + ItemGunBaseNT.setTimer(stack, index, 0); + } + } + + /** Transitions the gun from DRAWING to IDLE */ + public static void deciderStandardClearJam(ItemStack stack, GunState lastState, int index) { + + //transition to idle + if(lastState == GunState.JAMMED) { + ItemGunBaseNT.setState(stack, index, GunState.IDLE); + ItemGunBaseNT.setTimer(stack, index, 0); + } + } + + /** Triggers a reload action on the first receiver. If the mag is not full and reloading is still possible, set to RELOADING, otherwise IDLE */ + public static void deciderStandardReload(ItemStack stack, LambdaContext ctx, GunState lastState, int recIndex, int gunIndex) { + + if(lastState == GunState.RELOADING) { + + EntityLivingBase entity = ctx.entity; + EntityPlayer player = ctx.getPlayer(); + GunConfig cfg = ctx.config; + Receiver rec = cfg.getReceivers(stack)[recIndex]; + IMagazine mag = rec.getMagazine(stack); + + mag.reloadAction(stack, ctx.inventory); + boolean cancel = ItemGunBaseNT.getReloadCancel(stack); + + //if after reloading the gun can still reload, assume a tube mag and resume reloading + if(!cancel && mag.canReload(stack, ctx.inventory)) { + ItemGunBaseNT.setState(stack, gunIndex, GunState.RELOADING); + ItemGunBaseNT.setTimer(stack, gunIndex, rec.getReloadCycleDuration(stack)); + ItemGunBaseNT.playAnimation(player, stack, AnimType.RELOAD_CYCLE, gunIndex); + //if no more reloading can be done, go idle + } else { + + if(getStandardJamChance(stack, cfg, gunIndex) > entity.getRNG().nextFloat()) { + ItemGunBaseNT.setState(stack, gunIndex, GunState.JAMMED); + ItemGunBaseNT.setTimer(stack, gunIndex, rec.getJamDuration(stack)); + ItemGunBaseNT.playAnimation(player, stack, AnimType.JAMMED, gunIndex); + } else { + ItemGunBaseNT.setState(stack, gunIndex, GunState.DRAWING); + int duration = rec.getReloadEndDuration(stack) + (mag.getAmountBeforeReload(stack) <= 0 ? rec.getReloadCockOnEmptyPost(stack) : 0); + ItemGunBaseNT.setTimer(stack, gunIndex, duration); + ItemGunBaseNT.playAnimation(player, stack, AnimType.RELOAD_END, gunIndex); + } + + ItemGunBaseNT.setReloadCancel(stack, false); + } + + mag.setAmountAfterReload(stack, mag.getAmount(stack, ctx.inventory)); + } + } + + public static float getStandardJamChance(ItemStack stack, GunConfig config, int index) { + float percent = (float) ItemGunBaseNT.getWear(stack, index) / config.getDurability(stack); + if(percent < 0.66F) return 0F; + return Math.min((percent - 0.66F) * 4F, 1F); + } + + /** Triggers a re-fire of the primary if the fire delay has expired, the left mouse button is down and re-firing is enabled, otherwise switches to IDLE */ + public static void deciderAutoRefire(ItemStack stack, LambdaContext ctx, GunState lastState, int recIndex, int gunIndex, BooleanSupplier refireCondition) { + + if(lastState == GunState.COOLDOWN) { + + EntityLivingBase entity = ctx.entity; + EntityPlayer player = ctx.getPlayer(); + GunConfig cfg = ctx.config; + Receiver rec = cfg.getReceivers(stack)[recIndex]; + + //if the gun supports re-fire (i.e. if it's an auto) + if(rec.getRefireOnHold(stack) && refireCondition.getAsBoolean()) { + //if there's a bullet loaded, fire again + if(rec.getCanFire(stack).apply(stack, ctx)) { + rec.getOnFire(stack).accept(stack, ctx); + ItemGunBaseNT.setState(stack, gunIndex, GunState.COOLDOWN); + ItemGunBaseNT.setTimer(stack, gunIndex, rec.getDelayAfterFire(stack)); + + if(rec.getFireSound(stack) != null) entity.worldObj.playSoundEffect(entity.posX, entity.posY, entity.posZ, rec.getFireSound(stack), rec.getFireVolume(stack), rec.getFirePitch(stack)); + + int remaining = rec.getRoundsPerCycle(stack) - 1; + for(int i = 0; i < remaining; i++) if(rec.getCanFire(stack).apply(stack, ctx)) rec.getOnFire(stack).accept(stack, ctx); + //if not, check if dry firing is allowed for refires + } else if(rec.getDoesDryFireAfterAuto(stack)) { + //if refire after dry is allowed, switch to COOLDOWN which will trigger a refire, otherwise switch to DRAWING + ItemGunBaseNT.setState(stack, gunIndex, rec.getRefireAfterDry(stack) ? GunState.COOLDOWN : GunState.DRAWING); + ItemGunBaseNT.setTimer(stack, gunIndex, rec.getDelayAfterDryFire(stack)); + ItemGunBaseNT.playAnimation(player, stack, AnimType.CYCLE_DRY, gunIndex); + //if not, revert to idle + } else { + ItemGunBaseNT.setState(stack, gunIndex, GunState.IDLE); + ItemGunBaseNT.setTimer(stack, gunIndex, 0); + } + //if not, go idle + } else { + + //reload on empty, only for non-refiring guns + if(rec.getReloadOnEmpty(stack) && rec.getMagazine(stack).getAmount(stack, ctx.inventory) <= 0) { + ItemGunBaseNT.setIsAiming(stack, false); + IMagazine mag = rec.getMagazine(stack); + + if(mag.canReload(stack, ctx.inventory)) { + int loaded = mag.getAmount(stack, ctx.inventory); + mag.setAmountBeforeReload(stack, loaded); + ItemGunBaseNT.setState(stack, ctx.configIndex, GunState.RELOADING); + ItemGunBaseNT.setTimer(stack, ctx.configIndex, rec.getReloadBeginDuration(stack) + (loaded <= 0 ? rec.getReloadCockOnEmptyPre(stack) : 0)); + ItemGunBaseNT.playAnimation(player, stack, AnimType.RELOAD, ctx.configIndex); + } else { + ItemGunBaseNT.setState(stack, gunIndex, GunState.IDLE); + ItemGunBaseNT.setTimer(stack, gunIndex, 0); + } + + } else { + ItemGunBaseNT.setState(stack, gunIndex, GunState.IDLE); + ItemGunBaseNT.setTimer(stack, gunIndex, 0); + } + } + } + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/Lego.java b/src/main/java/com/hbm/items/weapon/sedna/factory/Lego.java new file mode 100644 index 000000000..9289be9f6 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/Lego.java @@ -0,0 +1,339 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.List; +import java.util.Random; +import java.util.function.BiConsumer; +import java.util.function.BiFunction; + +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.entity.projectile.EntityBulletBaseMK4CL; +import com.hbm.entity.projectile.EntityBulletBeamBase; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.EntityProcessorCrossSmooth; +import com.hbm.explosion.vanillant.standard.ExplosionEffectTiny; +import com.hbm.explosion.vanillant.standard.ExplosionEffectWeapon; +import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; +import com.hbm.interfaces.NotableComments; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.BulletConfig.ProjectileType; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.GunState; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.SmokeNode; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.mags.IMagazine; +import com.hbm.main.MainRegistry; +import com.hbm.particle.helper.BlackPowderCreator; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.HbmAnimations.AnimType; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraftforge.common.util.ForgeDirection; + +/** + * "LEGO" - i.e. standardized building blocks which can be used to set up gun configs easily. + * + * small update, 24/11/03: this turned into fucking spaghetti. fuuuuuuuck. + * + * @author hbm + */ +@NotableComments +public class Lego { + + public static final Random ANIM_RAND = new Random(); + + /** + * If IDLE and the mag of receiver 0 can be loaded, set state to RELOADING. Used by keybinds. */ + public static BiConsumer LAMBDA_STANDARD_RELOAD = (stack, ctx) -> { + + EntityPlayer player = ctx.getPlayer(); + Receiver rec = ctx.config.getReceivers(stack)[0]; + GunState state = ItemGunBaseNT.getState(stack, ctx.configIndex); + + if(state == GunState.IDLE) { + + ItemGunBaseNT.setIsAiming(stack, false); + IMagazine mag = rec.getMagazine(stack); + + if(mag.canReload(stack, ctx.inventory)) { + int loaded = mag.getAmount(stack, ctx.inventory); + mag.setAmountBeforeReload(stack, loaded); + ItemGunBaseNT.setState(stack, ctx.configIndex, GunState.RELOADING); + ItemGunBaseNT.setTimer(stack, ctx.configIndex, rec.getReloadBeginDuration(stack) + (loaded <= 0 ? rec.getReloadCockOnEmptyPre(stack) : 0)); + ItemGunBaseNT.playAnimation(player, stack, AnimType.RELOAD, ctx.configIndex); + if(ctx.config.getReloadChangesType(stack)) mag.initNewType(stack, ctx.inventory); + } else { + ItemGunBaseNT.playAnimation(player, stack, AnimType.INSPECT, ctx.configIndex); + if(!ctx.config.getInspectCancel(stack)) { + ItemGunBaseNT.setState(stack, ctx.configIndex, GunState.DRAWING); + ItemGunBaseNT.setTimer(stack, ctx.configIndex, ctx.config.getInspectDuration(stack)); + } + } + } + }; + + /** If IDLE and ammo is loaded, fire and set to JUST_FIRED. */ + public static BiConsumer LAMBDA_STANDARD_CLICK_PRIMARY = (stack, ctx) -> { clickReceiver(stack, ctx, 0); }; + + public static void clickReceiver(ItemStack stack, LambdaContext ctx, int receiver) { + + EntityLivingBase entity = ctx.entity; + EntityPlayer player = ctx.getPlayer(); + Receiver rec = ctx.config.getReceivers(stack)[receiver]; + int index = ctx.configIndex; + GunState state = ItemGunBaseNT.getState(stack, index); + + if(state == GunState.IDLE) { + + if(rec.getCanFire(stack).apply(stack, ctx)) { + rec.getOnFire(stack).accept(stack, ctx); + + if(rec.getFireSound(stack) != null) + entity.worldObj.playSoundEffect(entity.posX, entity.posY, entity.posZ, rec.getFireSound(stack), rec.getFireVolume(stack), rec.getFirePitch(stack)); + + int remaining = rec.getRoundsPerCycle(stack) - 1; + for(int i = 0; i < remaining; i++) if(rec.getCanFire(stack).apply(stack, ctx)) rec.getOnFire(stack).accept(stack, ctx); + + ItemGunBaseNT.setState(stack, index, GunState.COOLDOWN); + ItemGunBaseNT.setTimer(stack, index, rec.getDelayAfterFire(stack)); + } else { + + if(rec.getDoesDryFire(stack)) { + ItemGunBaseNT.playAnimation(player, stack, AnimType.CYCLE_DRY, index); + ItemGunBaseNT.setState(stack, index, rec.getRefireAfterDry(stack) ? GunState.COOLDOWN : GunState.DRAWING); + ItemGunBaseNT.setTimer(stack, index, rec.getDelayAfterDryFire(stack)); + } + } + } + + if(state == GunState.RELOADING) { + ItemGunBaseNT.setReloadCancel(stack, true); + } + } + + /** If IDLE, switch mode between 0 and 1. */ + public static BiConsumer LAMBDA_STANDARD_CLICK_SECONDARY = (stack, ctx) -> { + + EntityLivingBase entity = ctx.entity; + int index = ctx.configIndex; + GunState state = ItemGunBaseNT.getState(stack, index); + + if(state == GunState.IDLE) { + int mode = ItemGunBaseNT.getMode(stack, 0); + ItemGunBaseNT.setMode(stack, index, 1 - mode); + if(mode == 0) + entity.worldObj.playSoundEffect(entity.posX, entity.posY, entity.posZ, "hbm:weapon.switchmode1", 1F, 1F); + else + entity.worldObj.playSoundEffect(entity.posX, entity.posY, entity.posZ, "hbm:weapon.switchmode2", 1F, 1F); + } + }; + + /** Default smoke. */ + public static BiConsumer LAMBDA_STANDARD_SMOKE = (stack, ctx) -> { + handleStandardSmoke(ctx.entity, stack, 2000, 0.025D, 1.15D, ctx.configIndex); + }; + + public static void handleStandardSmoke(EntityLivingBase entity, ItemStack stack, int smokeDuration, double alphaDecay, double widthGrowth, int index) { + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + long lastShot = gun.lastShot[index]; + List smokeNodes = gun.getConfig(stack, index).smokeNodes; + + boolean smoking = lastShot + smokeDuration > System.currentTimeMillis(); + if(!smoking && !smokeNodes.isEmpty()) smokeNodes.clear(); + + if(smoking) { + Vec3 prev = Vec3.createVectorHelper(-entity.motionX, -entity.motionY, -entity.motionZ); + prev.rotateAroundY((float) (entity.rotationYaw * Math.PI / 180D)); + double accel = 15D; + double side = (entity.rotationYaw - entity.prevRotationYawHead) * 0.1D; + double waggle = 0.025D; + + for(SmokeNode node : smokeNodes) { + node.forward += -prev.zCoord * accel + entity.worldObj.rand.nextGaussian() * waggle; + node.lift += prev.yCoord + 1.5D; + node.side += prev.xCoord * accel + entity.worldObj.rand.nextGaussian() * waggle + side; + if(node.alpha > 0) node.alpha -= alphaDecay; + node.width *= widthGrowth; + } + + double alpha = (System.currentTimeMillis() - lastShot) / (double) smokeDuration; + alpha = (1 - alpha) * 0.5D; + + if(gun.getState(stack, index) == GunState.RELOADING || smokeNodes.size() == 0) alpha = 0; + smokeNodes.add(new SmokeNode(alpha)); + } + } + + /** Toggles isAiming. Used by keybinds. */ + public static BiConsumer LAMBDA_TOGGLE_AIM = (stack, ctx) -> { ItemGunBaseNT.setIsAiming(stack, !ItemGunBaseNT.getIsAiming(stack)); }; + + /** Returns true if the mag has ammo in it. Used by keybind functions on whether to fire, and deciders on whether to trigger a refire. */ + public static BiFunction LAMBDA_STANDARD_CAN_FIRE = (stack, ctx) -> { return ctx.config.getReceivers(stack)[0].getMagazine(stack).getAmount(stack, ctx.inventory) > 0; }; + + /** Returns true if the mag has ammo in it, and the gun is in the locked on state */ + public static BiFunction LAMBDA_LOCKON_CAN_FIRE = (stack, ctx) -> { return ctx.config.getReceivers(stack)[0].getMagazine(stack).getAmount(stack, ctx.inventory) > 0 && ItemGunBaseNT.getIsLockedOn(stack); }; + + + + + /** JUMPER - bypasses mag testing and just allows constant fire */ + public static BiFunction LAMBDA_DEBUG_CAN_FIRE = (stack, ctx) -> { return true; }; + + /** Spawns an EntityBulletBaseMK4 with the loaded bulletcfg */ + public static BiConsumer LAMBDA_STANDARD_FIRE = (stack, ctx) -> { + doStandardFire(stack, ctx, AnimType.CYCLE, true); + }; + /** Spawns an EntityBulletBaseMK4 with the loaded bulletcfg, ignores wear */ + public static BiConsumer LAMBDA_NOWEAR_FIRE = (stack, ctx) -> { + doStandardFire(stack, ctx, AnimType.CYCLE, false); + }; + /** Spawns an EntityBulletBaseMK4 with the loaded bulletcfg, then resets lockon progress */ + public static BiConsumer LAMBDA_LOCKON_FIRE = (stack, ctx) -> { + doStandardFire(stack, ctx, AnimType.CYCLE, true); + ItemGunBaseNT.setIsLockedOn(stack, false); + }; + + public static void doStandardFire(ItemStack stack, LambdaContext ctx, AnimType anim, boolean calcWear) { + EntityLivingBase entity = ctx.entity; + EntityPlayer player = ctx.getPlayer(); + int index = ctx.configIndex; + if(anim != null) ItemGunBaseNT.playAnimation(player, stack, anim, ctx.configIndex); + + boolean aim = ItemGunBaseNT.getIsAiming(stack); + Receiver primary = ctx.config.getReceivers(stack)[0]; + IMagazine mag = primary.getMagazine(stack); + BulletConfig config = (BulletConfig) mag.getType(stack, ctx.inventory); + + Vec3 offset = ItemGunBaseNT.getIsAiming(stack) ? primary.getProjectileOffsetScoped(stack) : primary.getProjectileOffset(stack); + double forwardOffset = offset.xCoord; + double heightOffset = offset.yCoord; + double sideOffset = offset.zCoord; + + /*forwardOffset = 0.75; + heightOffset = -0.125; + sideOffset = -0.25D;*/ + + int projectiles = config.projectilesMin; + if(config.projectilesMax > config.projectilesMin) projectiles += entity.getRNG().nextInt(config.projectilesMax - config.projectilesMin + 1); + projectiles = (int) (projectiles * primary.getSplitProjectiles(stack)); + + for(int i = 0; i < projectiles; i++) { + float damage = calcDamage(ctx, stack, primary, calcWear, index); + float spread = calcSpread(ctx, stack, primary, config, calcWear, index, aim); + + if(config.pType == ProjectileType.BULLET) { + EntityBulletBaseMK4 mk4 = new EntityBulletBaseMK4(entity, config, damage, spread, sideOffset, heightOffset, forwardOffset); + if(ItemGunBaseNT.getIsLockedOn(stack)) mk4.lockonTarget = entity.worldObj.getEntityByID(ItemGunBaseNT.getLockonTarget(stack)); + if(i == 0 && config.blackPowder) BlackPowderCreator.composeEffect(entity.worldObj, mk4.posX, mk4.posY, mk4.posZ, mk4.motionX, mk4.motionY, mk4.motionZ, 10, 0.25F, 0.5F, 10, 0.25F); + entity.worldObj.spawnEntityInWorld(mk4); + } else if(config.pType == ProjectileType.BULLET_CHUNKLOADING) { + EntityBulletBaseMK4CL mk4 = new EntityBulletBaseMK4CL(entity, config, damage, spread, sideOffset, heightOffset, forwardOffset); + if(ItemGunBaseNT.getIsLockedOn(stack)) mk4.lockonTarget = entity.worldObj.getEntityByID(ItemGunBaseNT.getLockonTarget(stack)); + if(i == 0 && config.blackPowder) BlackPowderCreator.composeEffect(entity.worldObj, mk4.posX, mk4.posY, mk4.posZ, mk4.motionX, mk4.motionY, mk4.motionZ, 10, 0.25F, 0.5F, 10, 0.25F); + entity.worldObj.spawnEntityInWorld(mk4); + } else if(config.pType == ProjectileType.BEAM) { + EntityBulletBeamBase mk4 = new EntityBulletBeamBase(entity, config, damage, spread, sideOffset, heightOffset, forwardOffset); + entity.worldObj.spawnEntityInWorld(mk4); + } + } + + if(player != null) player.addStat(MainRegistry.statBullets, 1); + mag.useUpAmmo(stack, ctx.inventory, 1); + if(calcWear) ItemGunBaseNT.setWear(stack, index, Math.min(ItemGunBaseNT.getWear(stack, index) + config.wear, ctx.config.getDurability(stack))); + } + + public static float getStandardWearSpread(ItemStack stack, GunConfig config, int index) { + float percent = (float) ItemGunBaseNT.getWear(stack, index) / config.getDurability(stack); + if(percent < 0.5F) return 0F; + return (percent - 0.5F) * 2F; + } + + /** Returns the standard multiplier for damage based on wear */ + public static float getStandardWearDamage(ItemStack stack, GunConfig config, int index) { + float percent = (float) ItemGunBaseNT.getWear(stack, index) / config.getDurability(stack); + if(percent < 0.75F) return 1F; + return 1F - (percent - 0.75F) * 2F; + } + + /** Returns the full calculated damage based on guncfg and wear */ + public static float calcDamage(LambdaContext ctx, ItemStack stack, Receiver primary, boolean calcWear, int index) { + return primary.getBaseDamage(stack) * (calcWear ? getStandardWearDamage(stack, ctx.config, index) : 1); + } + + public static float calcSpread(LambdaContext ctx, ItemStack stack, Receiver primary, BulletConfig config, boolean calcWear, int index, boolean aim) { + // the gun's innate spread, SMGs will have poor accuracy no matter what + float spreadInnate = primary.getInnateSpread(stack); + // the ammo's spread (for example for buckshot) multiplied with the gun's ammo modifier (choke or sawed off barrel) + float spreadAmmo = config.spread * primary.getAmmoSpread(stack); + // hipfire penalty, i.e. extra spread when not aiming + float spreadHipfire = aim ? 0F : primary.getHipfireSpread(stack); + // extra spread caused by weapon durability, [0;0.125] by default + float spreadWear = !calcWear ? 0F : (getStandardWearSpread(stack, ctx.config, index) * primary.getDurabilitySpread(stack)); + + return spreadInnate + spreadAmmo + spreadHipfire + spreadWear; + } + + public static void standardExplode(EntityBulletBaseMK4 bullet, MovingObjectPosition mop, float range) { standardExplode(bullet, mop, range, 1F); } + public static void standardExplode(EntityBulletBaseMK4 bullet, MovingObjectPosition mop, float range, float damageMod) { + ExplosionVNT vnt = new ExplosionVNT(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, range, bullet.getThrower()); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, bullet.damage * damageMod).setupPiercing(bullet.config.armorThresholdNegation, bullet.config.armorPiercingPercent)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.setSFX(new ExplosionEffectWeapon(10, 2.5F, 1F)); + vnt.explode(); + } + + public static void tinyExplode(EntityBulletBaseMK4 bullet, MovingObjectPosition mop, float range) { tinyExplode(bullet, mop, range, 1F); } + public static void tinyExplode(EntityBulletBaseMK4 bullet, MovingObjectPosition mop, float range, float damageMod) { + ForgeDirection dir = ForgeDirection.getOrientation(mop.sideHit); + double x = mop.hitVec.xCoord + dir.offsetX * 0.25D; + double y = mop.hitVec.yCoord + dir.offsetY * 0.25D; + double z = mop.hitVec.zCoord + dir.offsetZ * 0.25D; + ExplosionVNT vnt = new ExplosionVNT(bullet.worldObj, x, y, z, range, bullet.getThrower()); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, bullet.damage * damageMod) + .setupPiercing(bullet.config.armorThresholdNegation, bullet.config.armorPiercingPercent).setKnockback(0.25D)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.setSFX(new ExplosionEffectTiny()); + vnt.explode(); + } + + /** anims for the DEBUG revolver, mostly a copy of the li'lpip but with some fixes regarding the cylinder movement */ + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_DEBUG_ANIMS = (stack, type) -> { + switch(type) { + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, 0, 50).addPos(0, 0, -3, 50).addPos(0, 0, 0, 250)) + .addBus("HAMMER", new BusAnimationSequence().addPos(0, 0, 1, 50).addPos(0, 0, 1, 400).addPos(0, 0, 0, 200)) + .addBus("DRUM", new BusAnimationSequence().addPos(0, 0, 0, 450).addPos(0, 0, 1, 200)); + case CYCLE_DRY: return new BusAnimation() + .addBus("HAMMER", new BusAnimationSequence().addPos(0, 0, 1, 50).addPos(0, 0, 1, 300 + 100).addPos(0, 0, 0, 200)) + .addBus("DRUM", new BusAnimationSequence().addPos(0, 0, 0, 450).addPos(0, 0, 1, 200)); + case EQUIP: return new BusAnimation().addBus("ROTATE", new BusAnimationSequence().addPos(-360, 0, 0, 350)); + case RELOAD: return new BusAnimation() + .addBus("RELAOD_TILT", new BusAnimationSequence().addPos(-15, 0, 0, 100).addPos(65, 0, 0, 100).addPos(45, 0, 0, 50).addPos(0, 0, 0, 200).addPos(0, 0, 0, 1450).addPos(-80, 0, 0, 100).addPos(-80, 0, 0, 100).addPos(0, 0, 0, 200)) + .addBus("RELOAD_CYLINDER", new BusAnimationSequence().addPos(0, 0, 0, 200).addPos(90, 0, 0, 100).addPos(90, 0, 0, 1700).addPos(0, 0, 0, 70)) + .addBus("RELOAD_LIFT", new BusAnimationSequence().addPos(0, 0, 0, 350).addPos(-45, 0, 0, 250).addPos(-45, 0, 0, 350).addPos(-15, 0, 0, 200).addPos(-15, 0, 0, 1050).addPos(0, 0, 0, 100)) + .addBus("RELOAD_JOLT", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(2, 0, 0, 50).addPos(0, 0, 0, 100)) + .addBus("RELOAD_BULLETS", new BusAnimationSequence().addPos(0, 0, 0, 650).addPos(10, 0, 0, 300).addPos(10, 0, 0, 200).addPos(0, 0, 0, 700)) + .addBus("RELOAD_BULLETS_CON", new BusAnimationSequence().addPos(1, 0, 0, 0).addPos(1, 0, 0, 950).addPos(0, 0, 0, 1 ) ); + case INSPECT: + case JAMMED: return new BusAnimation() + .addBus("RELAOD_TILT", new BusAnimationSequence().addPos(-15, 0, 0, 100).addPos(65, 0, 0, 100).addPos(45, 0, 0, 50).addPos(0, 0, 0, 200).addPos(0, 0, 0, 200).addPos(-80, 0, 0, 100).addPos(-80, 0, 0, 100).addPos(0, 0, 0, 200)) + .addBus("RELOAD_CYLINDER", new BusAnimationSequence().addPos(0, 0, 0, 200).addPos(90, 0, 0, 100).addPos(90, 0, 0, 450).addPos(0, 0, 0, 70)); + } + + return null; + }; + + /* + * Be honest. Do you genuinely think posting a random screenshot of your game with absolutely ZERO context of what modpack, what + * Shaders if any or literally any context at all would come to a magic solution? + * For all we know you accidentally rubbed Vaseline all over your monitor and jizzed in the hdmi socket of your pc + * + * ~ u/Wolfyy47_, 2024 + */ +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/LegoClient.java b/src/main/java/com/hbm/items/weapon/sedna/factory/LegoClient.java new file mode 100644 index 000000000..0b835d173 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/LegoClient.java @@ -0,0 +1,652 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.function.BiConsumer; + +import org.lwjgl.opengl.GL11; + +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.entity.projectile.EntityBulletBeamBase; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.hud.HUDComponentAmmoCounter; +import com.hbm.items.weapon.sedna.hud.HUDComponentDurabilityBar; +import com.hbm.items.weapon.sedna.impl.ItemGunChargeThrower; +import com.hbm.lib.RefStrings; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.weapon.sedna.ItemRenderFatMan; +import com.hbm.render.tileentity.RenderArcFurnace; +import com.hbm.render.util.BeamPronter; +import com.hbm.render.util.BeamPronter.EnumBeamType; +import com.hbm.render.util.BeamPronter.EnumWaveType; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ActiveRenderInfo; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec3; + +public class LegoClient { + + public static HUDComponentDurabilityBar HUD_COMPONENT_DURABILITY = new HUDComponentDurabilityBar(); + public static HUDComponentDurabilityBar HUD_COMPONENT_DURABILITY_MIRROR = new HUDComponentDurabilityBar(true); + public static HUDComponentAmmoCounter HUD_COMPONENT_AMMO = new HUDComponentAmmoCounter(0); + public static HUDComponentAmmoCounter HUD_COMPONENT_AMMO_MIRROR = new HUDComponentAmmoCounter(0).mirror(); + public static HUDComponentAmmoCounter HUD_COMPONENT_AMMO_NOCOUNTER = new HUDComponentAmmoCounter(0).noCounter(); + + public static BiConsumer RENDER_STANDARD_BULLET = (bullet, interp) -> { + double length = bullet.prevVelocity + (bullet.velocity - bullet.prevVelocity) * interp; + if(length <= 0) return; + renderBulletStandard(Tessellator.instance, 0xFFBF00, 0xFFFFFF, length, false); + }; + + public static BiConsumer RENDER_FLECHETTE_BULLET = (bullet, interp) -> { + double length = bullet.prevVelocity + (bullet.velocity - bullet.prevVelocity) * interp; + if(length <= 0) return; + renderBulletStandard(Tessellator.instance, 0x8C8C8C, 0xCACACA, length, false); + }; + + public static BiConsumer RENDER_AP_BULLET = (bullet, interp) -> { + double length = bullet.prevVelocity + (bullet.velocity - bullet.prevVelocity) * interp; + if(length <= 0) return; + renderBulletStandard(Tessellator.instance, 0xFF6A00, 0xFFE28D, length, false); + }; + + public static BiConsumer RENDER_EXPRESS_BULLET = (bullet, interp) -> { + double length = bullet.prevVelocity + (bullet.velocity - bullet.prevVelocity) * interp; + if(length <= 0) return; + renderBulletStandard(Tessellator.instance, 0x9E082E, 0xFF8A79, length, false); + }; + + public static BiConsumer RENDER_DU_BULLET = (bullet, interp) -> { + double length = bullet.prevVelocity + (bullet.velocity - bullet.prevVelocity) * interp; + if(length <= 0) return; + renderBulletStandard(Tessellator.instance, 0x5CCD41, 0xE9FF8D, length, false); + }; + + public static BiConsumer RENDER_HE_BULLET = (bullet, interp) -> { + double length = bullet.prevVelocity + (bullet.velocity - bullet.prevVelocity) * interp; + if(length <= 0) return; + renderBulletStandard(Tessellator.instance, 0xD8CA00, 0xFFF19D, length, true); + }; + + public static BiConsumer RENDER_SM_BULLET = (bullet, interp) -> { + double length = bullet.prevVelocity + (bullet.velocity - bullet.prevVelocity) * interp; + if(length <= 0) return; + renderBulletStandard(Tessellator.instance, 0x42A8DD, 0xFFFFFF, length, true); + }; + + public static BiConsumer RENDER_BLACK_BULLET = (bullet, interp) -> { + double length = bullet.prevVelocity + (bullet.velocity - bullet.prevVelocity) * interp; + if(length <= 0) return; + renderBulletStandard(Tessellator.instance, 0x000000, 0x7F006E, length, true); + }; + + public static BiConsumer RENDER_TRACER_BULLET = (bullet, interp) -> { + double length = bullet.prevVelocity + (bullet.velocity - bullet.prevVelocity) * interp; + if(length <= 0) return; + renderBulletStandard(Tessellator.instance, 0x9E082E, 0xFF8A79, length, true); + }; + + public static BiConsumer RENDER_LEGENDARY_BULLET = (bullet, interp) -> { + double length = bullet.prevVelocity + (bullet.velocity - bullet.prevVelocity) * interp; + if(length <= 0) return; + renderBulletStandard(Tessellator.instance, 0x7F006E, 0xFF7FED, length, true); + }; + + public static void renderBulletStandard(Tessellator tess, int dark, int light, double length, boolean fullbright) { renderBulletStandard(tess, dark, light, length, 0.03125D, 0.03125D * 0.25D, fullbright); } + + public static void renderBulletStandard(Tessellator tess, int dark, int light, double length, double widthF, double widthB, boolean fullbright) { + + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glColor4f(1F, 1F, 1F, 1F); + + tess.startDrawingQuads(); + if(fullbright) tess.setBrightness(240); + tess.setNormal(0F, 1F, 0F); + tess.setColorOpaque_I(dark); + tess.addVertex(length, widthB, -widthB); tess.addVertex(length, widthB, widthB); + tess.setColorOpaque_I(light); + tess.addVertex(0, widthF, widthF); tess.addVertex(0, widthF, -widthF); + tess.setColorOpaque_I(dark); + tess.addVertex(length, -widthB, -widthB); tess.addVertex(length, -widthB, widthB); + tess.setColorOpaque_I(light); + tess.addVertex(0, -widthF, widthF); tess.addVertex(0, -widthF, -widthF); + tess.setColorOpaque_I(dark); + tess.addVertex(length, -widthB, widthB); tess.addVertex(length, widthB, widthB); + tess.setColorOpaque_I(light); + tess.addVertex(0, widthF, widthF); tess.addVertex(0, -widthF, widthF); + tess.setColorOpaque_I(dark); + tess.addVertex(length, -widthB, -widthB); tess.addVertex(length, widthB, -widthB); + tess.setColorOpaque_I(light); + tess.addVertex(0, widthF, -widthF); tess.addVertex(0, -widthF, -widthF); + tess.setColorOpaque_I(dark); + tess.addVertex(length, widthB, widthB); tess.addVertex(length, widthB, -widthB); + tess.addVertex(length, -widthB, -widthB); tess.addVertex(length, -widthB, widthB); + tess.setColorOpaque_I(light); + tess.addVertex(0, widthF, widthF); tess.addVertex(0, widthF, -widthF); + tess.addVertex(0, -widthF, -widthF); tess.addVertex(0, -widthF, widthF); + tess.draw(); + + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glEnable(GL11.GL_TEXTURE_2D); + } + + public static BiConsumer RENDER_FLARE = (bullet, interp) -> { renderFlare(bullet, interp, 1F, 0.5F, 0.5F); }; + public static BiConsumer RENDER_FLARE_SUPPLY = (bullet, interp) -> { renderFlare(bullet, interp, 0.5F, 0.5F, 1F); }; + public static BiConsumer RENDER_FLARE_WEAPON = (bullet, interp) -> { renderFlare(bullet, interp, 0.5F, 1F, 0.5F); }; + + private static final ResourceLocation flare = new ResourceLocation(RefStrings.MODID + ":textures/particle/flare.png"); + public static void renderFlare(Entity bullet, float interp, float r, float g, float b) { + + if(bullet.ticksExisted < 2) return; + RenderArcFurnace.fullbright(true); + + double scale = Math.min(5, (bullet.ticksExisted + interp - 2) * 0.5) * (0.8 + bullet.worldObj.rand.nextDouble() * 0.4); + renderFlareSprite(bullet, interp, r, g, b, scale, 0.5F, 0.75F); + + RenderArcFurnace.fullbright(false); + } + public static void renderFlareSprite(Entity bullet, float interp, float r, float g, float b, double scale, float outerAlpha, float innerAlpha) { + + GL11.glPushMatrix(); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + GL11.glAlphaFunc(GL11.GL_GREATER, 0); + GL11.glDisable(GL11.GL_ALPHA_TEST); + GL11.glDepthMask(false); + RenderHelper.disableStandardItemLighting(); + + Minecraft.getMinecraft().getTextureManager().bindTexture(flare); + + Tessellator tess = Tessellator.instance; + tess.startDrawingQuads(); + + float f1 = ActiveRenderInfo.rotationX; + float f2 = ActiveRenderInfo.rotationZ; + float f3 = ActiveRenderInfo.rotationYZ; + float f4 = ActiveRenderInfo.rotationXY; + float f5 = ActiveRenderInfo.rotationXZ; + + double posX = 0; + double posY = 0; + double posZ = 0; + + tess.setColorRGBA_F(r, g, b, outerAlpha); + tess.addVertexWithUV((double) (posX - f1 * scale - f3 * scale), (double) (posY - f5 * scale), (double) (posZ - f2 * scale - f4 * scale), 1, 1); + tess.addVertexWithUV((double) (posX - f1 * scale + f3 * scale), (double) (posY + f5 * scale), (double) (posZ - f2 * scale + f4 * scale), 1, 0); + tess.addVertexWithUV((double) (posX + f1 * scale + f3 * scale), (double) (posY + f5 * scale), (double) (posZ + f2 * scale + f4 * scale), 0, 0); + tess.addVertexWithUV((double) (posX + f1 * scale - f3 * scale), (double) (posY - f5 * scale), (double) (posZ + f2 * scale - f4 * scale), 0, 1); + + scale *= 0.5D; + + tess.setColorRGBA_F(1F, 1F, 1F, innerAlpha); + tess.addVertexWithUV((double) (posX - f1 * scale - f3 * scale), (double) (posY - f5 * scale), (double) (posZ - f2 * scale - f4 * scale), 1, 1); + tess.addVertexWithUV((double) (posX - f1 * scale + f3 * scale), (double) (posY + f5 * scale), (double) (posZ - f2 * scale + f4 * scale), 1, 0); + tess.addVertexWithUV((double) (posX + f1 * scale + f3 * scale), (double) (posY + f5 * scale), (double) (posZ + f2 * scale + f4 * scale), 0, 0); + tess.addVertexWithUV((double) (posX + f1 * scale - f3 * scale), (double) (posY - f5 * scale), (double) (posZ + f2 * scale - f4 * scale), 0, 1); + + tess.draw(); + + GL11.glDepthMask(true); + GL11.glEnable(GL11.GL_ALPHA_TEST); + RenderHelper.enableStandardItemLighting(); + GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); + GL11.glDisable(GL11.GL_BLEND); + GL11.glPopMatrix(); + } + + public static BiConsumer RENDER_GRENADE = (bullet, interp) -> { + GL11.glScalef(0.25F, 0.25F, 0.25F); + GL11.glRotated(90, 0, 0, 1); + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.grenade_tex); + ResourceManager.projectiles.renderPart("Grenade"); + GL11.glShadeModel(GL11.GL_FLAT); + }; + + public static BiConsumer RENDER_BIG_NUKE = (bullet, interp) -> { + GL11.glScalef(0.5F, 0.5F, 0.5F); + GL11.glRotated(90, 0, 0, 1); + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.rocket_mirv_tex); + ResourceManager.projectiles.renderPart("MissileMIRV"); + GL11.glShadeModel(GL11.GL_FLAT); + }; + + public static BiConsumer RENDER_RPZB = (bullet, interp) -> { + + GL11.glPushMatrix(); + GL11.glScalef(0.125F, 0.125F, 0.125F); + GL11.glRotated(90, 0, -1, 0); + GL11.glTranslatef(0, 0, 3.5F); + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.panzerschreck_tex); + ResourceManager.panzerschreck.renderPart("Rocket"); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glPopMatrix(); + + GL11.glTranslatef(0.375F, 0, 0); + double length = bullet.prevVelocity + (bullet.velocity - bullet.prevVelocity) * interp; + if(length > 0) renderBulletStandard(Tessellator.instance, 0x808080, 0xFFF2A7, length * 2, true); + }; + + public static BiConsumer RENDER_QD = (bullet, interp) -> { + + GL11.glPushMatrix(); + GL11.glRotated(90, 0, 0, 1); + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.rocket_tex); + ResourceManager.projectiles.renderPart("Rocket"); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glPopMatrix(); + + GL11.glTranslatef(0.375F, 0, 0); + double length = bullet.prevVelocity + (bullet.velocity - bullet.prevVelocity) * interp; + if(length > 0) renderBulletStandard(Tessellator.instance, 0x808080, 0xFFF2A7, length * 2, true); + }; + + public static BiConsumer RENDER_ML = (bullet, interp) -> { + + GL11.glPushMatrix(); + GL11.glScalef(0.25F, 0.25F, 0.25F); + GL11.glRotated(-90, 0, 1, 0); + GL11.glTranslatef(0, -1, -4.5F); + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.missile_launcher_tex); + ResourceManager.missile_launcher.renderPart("Missile"); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glPopMatrix(); + + GL11.glTranslatef(0.375F, 0, 0); + double length = bullet.prevVelocity + (bullet.velocity - bullet.prevVelocity) * interp; + if(length > 0) renderBulletStandard(Tessellator.instance, 0x808080, 0xFFF2A7, length * 2, true); + }; + + public static BiConsumer RENDER_LIGHTNING = (bullet, interp) -> { + + RenderArcFurnace.fullbright(true); + GL11.glPushMatrix(); + GL11.glRotatef(180 - bullet.rotationYaw, 0, 1F, 0); + GL11.glRotatef(-bullet.rotationPitch - 90, 1F, 0, 0); + Vec3 delta = Vec3.createVectorHelper(0, bullet.beamLength, 0); + double age = MathHelper.clamp_double(1D - ((double) bullet.ticksExisted - 2 + interp) / (double) bullet.getBulletConfig().expires, 0, 1); + GL11.glScaled(age / 2 + 0.5, 1, age / 2 + 0.5); + double scale = 0.075D; + int colorInner = ((int)(0x20 * age) << 16) | ((int)(0x20 * age) << 8) | (int) (0x40 * age); + int colorOuter = ((int)(0x40 * age) << 16) | ((int)(0x40 * age) << 8) | (int) (0x80 * age); + BeamPronter.prontBeam(delta, EnumWaveType.RANDOM, EnumBeamType.SOLID, colorInner, colorInner, bullet.ticksExisted / 3, (int)(bullet.beamLength / 2 + 1), (float)scale * 1F, 4, 0.25F); + BeamPronter.prontBeam(delta, EnumWaveType.RANDOM, EnumBeamType.SOLID, colorOuter, colorOuter, bullet.ticksExisted, (int)(bullet.beamLength / 2 + 1), (float)scale * 7F, 2, 0.0625F); + BeamPronter.prontBeam(delta, EnumWaveType.RANDOM, EnumBeamType.SOLID, colorOuter, colorOuter, bullet.ticksExisted / 2, (int)(bullet.beamLength / 2 + 1), (float)scale * 7F, 2, 0.0625F); + GL11.glPopMatrix(); + RenderArcFurnace.fullbright(false); + }; + + public static BiConsumer RENDER_LIGHTNING_SUB = (bullet, interp) -> { + + RenderArcFurnace.fullbright(true); + GL11.glPushMatrix(); + GL11.glRotatef(180 - bullet.rotationYaw, 0, 1F, 0); + GL11.glRotatef(-bullet.rotationPitch - 90, 1F, 0, 0); + Vec3 delta = Vec3.createVectorHelper(0, bullet.beamLength, 0); + double age = MathHelper.clamp_double(1D - ((double) bullet.ticksExisted - 2 + interp) / (double) bullet.getBulletConfig().expires, 0, 1); + GL11.glScaled(age / 2 + 0.15, 1, age / 2 + 0.15); + double scale = 0.075D; + int colorInner = ((int)(0x20 * age) << 16) | ((int)(0x20 * age) << 8) | (int) (0x40 * age); + int colorOuter = ((int)(0x40 * age) << 16) | ((int)(0x40 * age) << 8) | (int) (0x80 * age); + BeamPronter.prontBeam(delta, EnumWaveType.RANDOM, EnumBeamType.SOLID, colorInner, colorInner, bullet.ticksExisted / 3, (int)(bullet.beamLength / 2 + 1), (float)scale * 1F, 4, 0.25F); + BeamPronter.prontBeam(delta, EnumWaveType.RANDOM, EnumBeamType.SOLID, colorOuter, colorOuter, bullet.ticksExisted, (int)(bullet.beamLength / 2 + 1), (float)scale * 7F, 2, 0.0625F); + BeamPronter.prontBeam(delta, EnumWaveType.RANDOM, EnumBeamType.SOLID, colorOuter, colorOuter, bullet.ticksExisted / 2, (int)(bullet.beamLength / 2 + 1), (float)scale * 7F, 2, 0.0625F); + GL11.glPopMatrix(); + RenderArcFurnace.fullbright(false); + }; + + public static BiConsumer RENDER_TAU = (bullet, interp) -> { + + RenderArcFurnace.fullbright(true); + double age = MathHelper.clamp_double(1D - ((double) bullet.ticksExisted - 2 + interp) / (double) bullet.getBulletConfig().expires, 0, 1); + + GL11.glPushMatrix(); + GL11.glRotatef(180 - bullet.rotationYaw, 0, 1F, 0); + GL11.glRotatef(-bullet.rotationPitch - 90, 1F, 0, 0); + + GL11.glPushMatrix(); + Vec3 delta = Vec3.createVectorHelper(0, bullet.beamLength, 0); + GL11.glScaled(age / 2 + 0.5, 1, age / 2 + 0.5); + double scale = 0.075D; + int colorInner = ((int)(0x30 * age) << 16) | ((int)(0x25 * age) << 8) | (int) (0x10 * age); + BeamPronter.prontBeam(delta, EnumWaveType.RANDOM, EnumBeamType.SOLID, colorInner, colorInner, (bullet.ticksExisted + bullet.getEntityId()) / 2, (int)(bullet.beamLength / 2 + 1), (float)scale * 4F, 2, 0.0625F); + GL11.glPopMatrix(); + + GL11.glScaled(age * 2, 1, age * 2); + GL11.glTranslated(0, bullet.beamLength, 0); + GL11.glRotatef(-90, 0, 0, 1); + renderBulletStandard(Tessellator.instance, 0xFFBF00, 0xFFFFFF, bullet.beamLength, true); + + GL11.glPopMatrix(); + RenderArcFurnace.fullbright(false); + }; + + public static BiConsumer RENDER_TAU_CHARGE = (bullet, interp) -> { + + RenderArcFurnace.fullbright(true); + double age = MathHelper.clamp_double(1D - ((double) bullet.ticksExisted - 2 + interp) / (double) bullet.getBulletConfig().expires, 0, 1); + + GL11.glPushMatrix(); + GL11.glRotatef(180 - bullet.rotationYaw, 0, 1F, 0); + GL11.glRotatef(-bullet.rotationPitch - 90, 1F, 0, 0); + + GL11.glPushMatrix(); + Vec3 delta = Vec3.createVectorHelper(0, bullet.beamLength, 0); + GL11.glScaled(age / 2 + 0.5, 1, age / 2 + 0.5); + double scale = 0.075D; + int colorInner = ((int)(0x60 * age) << 16) | ((int)(0x50 * age) << 8) | (int) (0x30 * age); + BeamPronter.prontBeam(delta, EnumWaveType.RANDOM, EnumBeamType.SOLID, colorInner, colorInner, (bullet.ticksExisted + bullet.getEntityId()) / 2, (int)(bullet.beamLength / 2 + 1), (float)scale * 4F, 2, 0.0625F); + GL11.glPopMatrix(); + + GL11.glScaled(age * 2, 1, age * 2); + GL11.glTranslated(0, bullet.beamLength, 0); + GL11.glRotatef(-90, 0, 0, 1); + renderBulletStandard(Tessellator.instance, 0xFFF0A0, 0xFFFFFF, bullet.beamLength, true); + + GL11.glPopMatrix(); + RenderArcFurnace.fullbright(false); + }; + + public static BiConsumer RENDER_CRACKLE = (bullet, interp) -> { + + RenderArcFurnace.fullbright(true); + double age = MathHelper.clamp_double(1D - ((double) bullet.ticksExisted - 2 + interp) / (double) bullet.getBulletConfig().expires, 0, 1); + + GL11.glPushMatrix(); + GL11.glRotatef(180 - bullet.rotationYaw, 0, 1F, 0); + GL11.glRotatef(-bullet.rotationPitch - 90, 1F, 0, 0); + + double scale = 5D; + GL11.glScaled(age * scale, 1, age * scale); + GL11.glTranslated(0, bullet.beamLength, 0); + GL11.glRotatef(-90, 0, 0, 1); + renderBulletStandard(Tessellator.instance, 0xE3D692, 0xffffff, bullet.beamLength, true); + + GL11.glPopMatrix(); + RenderArcFurnace.fullbright(false); + }; + + public static BiConsumer RENDER_BLACK_LIGHTNING = (bullet, interp) -> { + + RenderArcFurnace.fullbright(true); + double age = MathHelper.clamp_double(1D - ((double) bullet.ticksExisted - 2 + interp) / (double) bullet.getBulletConfig().expires, 0, 1); + + GL11.glPushMatrix(); + GL11.glRotatef(180 - bullet.rotationYaw, 0, 1F, 0); + GL11.glRotatef(-bullet.rotationPitch - 90, 1F, 0, 0); + + double scale = 5D; + GL11.glScaled(age * scale, 1, age * scale); + GL11.glTranslated(0, bullet.beamLength, 0); + GL11.glRotatef(-90, 0, 0, 1); + renderBulletStandard(Tessellator.instance, 0x4C3093, 0x000000, bullet.beamLength, true); + + GL11.glPopMatrix(); + RenderArcFurnace.fullbright(false); + }; + + public static BiConsumer RENDER_LASER_RED = (bullet, interp) -> { + renderStandardLaser(bullet, interp, 0x80, 0x15, 0x15); + }; + public static BiConsumer RENDER_LASER_EMERALD = (bullet, interp) -> { + renderStandardLaser(bullet, interp, 0x15, 0x80, 0x15); + }; + public static BiConsumer RENDER_LASER_CYAN = (bullet, interp) -> { + renderStandardLaser(bullet, interp, 0x15, 0x15, 0x80); + }; + public static BiConsumer RENDER_LASER_PURPLE = (bullet, interp) -> { + renderStandardLaser(bullet, interp, 0x60, 0x15, 0x80); + }; + public static BiConsumer RENDER_LASER_WHITE = (bullet, interp) -> { + renderStandardLaser(bullet, interp, 0x15, 0x15, 0x15); + }; + + public static void renderStandardLaser(EntityBulletBeamBase bullet, float interp, int r, int g, int b) { + + RenderArcFurnace.fullbright(true); + GL11.glPushMatrix(); + GL11.glRotatef(180 - bullet.rotationYaw, 0, 1F, 0); + GL11.glRotatef(-bullet.rotationPitch - 90, 1F, 0, 0); + Vec3 delta = Vec3.createVectorHelper(0, bullet.beamLength, 0); + double age = MathHelper.clamp_double(1D - ((double) bullet.ticksExisted - 2 + interp) / (double) bullet.getBulletConfig().expires, 0, 1); + GL11.glScaled(age / 2 + 0.5, 1, age / 2 + 0.5); + int colorInner = ((int)(r * age) << 16) | ((int)(g * age) << 8) | (int) (b * age); + BeamPronter.prontBeam(delta, EnumWaveType.RANDOM, EnumBeamType.SOLID, colorInner, colorInner, bullet.ticksExisted / 3, (int)(bullet.beamLength / 2 + 1), 0F, 8, 0.0625F); + GL11.glPopMatrix(); + RenderArcFurnace.fullbright(false); + } + + public static BiConsumer RENDER_FOLLY = (bullet, interp) -> { + + double age = MathHelper.clamp_double(1D - ((double) bullet.ticksExisted - 2 + interp) / (double) bullet.getBulletConfig().expires, 0, 1); + RenderArcFurnace.fullbright(true); + + GL11.glPushMatrix(); + renderFlareSprite(bullet, interp, 1F, 1F, 1F, (1 - age) * 7.5 + 1.5, 0.5F * (float) age, 0.75F * (float) age); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + GL11.glAlphaFunc(GL11.GL_GREATER, 0); + GL11.glRotatef(180 - bullet.rotationYaw, 0, 1F, 0); + GL11.glRotatef(-bullet.rotationPitch - 90, 1F, 0, 0); + Vec3 delta = Vec3.createVectorHelper(0, bullet.beamLength, 0); + GL11.glScaled((1 - age) * 25 + 2.5, 1, (1 - age) * 25 + 2.5); + int colorInner = ((int)(0x20 * age) << 16) | ((int)(0x20 * age) << 8) | (int) (0x20 * age); + BeamPronter.prontBeam(delta, EnumWaveType.RANDOM, EnumBeamType.SOLID, colorInner, colorInner, bullet.ticksExisted / 3, (int)(bullet.beamLength / 2 + 1), 0F, 8, 0.0625F); + GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); + GL11.glDisable(GL11.GL_BLEND); + GL11.glPopMatrix(); + + RenderArcFurnace.fullbright(false); + }; + + public static BiConsumer RENDER_NUKE = (bullet, interp) -> { + + GL11.glPushMatrix(); + GL11.glScalef(0.125F, 0.125F, 0.125F); + GL11.glRotated(-90, 0, 1, 0); + GL11.glTranslatef(0, -1, 1F); + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.fatman_mininuke_tex); + ResourceManager.fatman.renderPart("MiniNuke"); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glPopMatrix(); + }; + + public static BiConsumer RENDER_NUKE_BALEFIRE = (bullet, interp) -> { + + GL11.glPushMatrix(); + GL11.glScalef(0.125F, 0.125F, 0.125F); + GL11.glRotated(-90, 0, 1, 0); + GL11.glTranslatef(0, -1, 1F); + GL11.glShadeModel(GL11.GL_SMOOTH); + ItemRenderFatMan.renderBalefire(interp); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glPopMatrix(); + }; + + public static BiConsumer RENDER_HIVE = (bullet, interp) -> { + + GL11.glPushMatrix(); + GL11.glScalef(0.125F, 0.125F, 0.125F); + GL11.glRotated(90, 0, -1, 0); + GL11.glTranslatef(0, 0, 3.5F); + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.panzerschreck_tex); + ResourceManager.panzerschreck.renderPart("Rocket"); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glPopMatrix(); + }; + + public static BiConsumer RENDER_CT_HOOK = (bullet, interp) -> { + + GL11.glPushMatrix(); + + GL11.glRotatef(bullet.prevRotationYaw + (bullet.rotationYaw - bullet.prevRotationYaw) * interp - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(bullet.prevRotationPitch + (bullet.rotationPitch - bullet.prevRotationPitch) * interp + 180, 0.0F, 0.0F, 1.0F); + + GL11.glScalef(0.125F, 0.125F, 0.125F); + GL11.glRotated(90, 0, -1, 0); + GL11.glRotated(180, 0, 0, 1); + GL11.glTranslatef(0, 0, -6F); + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_hook_tex); + ResourceManager.charge_thrower.renderPart("Hook"); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glPopMatrix(); + + if(bullet.getThrower() instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) bullet.getThrower(); + if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.gun_charge_thrower && ItemGunChargeThrower.getLastHook(player.getHeldItem()) == bullet.getEntityId()) { + renderWire(bullet, interp); + } + } + }; + + public static void renderWire(EntityBulletBaseMK4 bullet, float interp) { + Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.wire_greyscale_tex); + + double bx = bullet.prevPosX + (bullet.posX - bullet.prevPosX) * interp; + double by = bullet.prevPosY + (bullet.posY - bullet.prevPosY) * interp; + double bz = bullet.prevPosZ + (bullet.posZ - bullet.prevPosZ) * interp; + + Entity thrower = bullet.getThrower(); + double x = thrower.prevPosX + (thrower.posX - thrower.prevPosX) * interp; + double y = thrower.prevPosY + (thrower.posY - thrower.prevPosY) * interp; + double z = thrower.prevPosZ + (thrower.posZ - thrower.prevPosZ) * interp; + double eyaw = thrower.prevRotationYaw + (thrower.rotationYaw - thrower.prevRotationYaw) * interp; + double epitch = thrower.prevRotationPitch + (thrower.rotationPitch - thrower.prevRotationPitch) * interp; + + Vec3 offset = Vec3.createVectorHelper(0.125D, 0.25, -0.75); + offset.rotateAroundX((float) -epitch / 180F * (float) Math.PI); + offset.rotateAroundY((float) -eyaw / 180F * (float) Math.PI); + + Vec3 target = Vec3.createVectorHelper(x - offset.xCoord, y + thrower.getEyeHeight() - offset.yCoord, z - offset.zCoord); + + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + + double deltaX = target.xCoord - bx; + double deltaY = target.yCoord - by; + double deltaZ = target.zCoord - bz; + Vec3 delta = Vec3.createVectorHelper(deltaX, deltaY, deltaZ); + + Tessellator tess = Tessellator.instance; + tess.startDrawingQuads(); + + int count = 10; + double hang = Math.min(delta.lengthVector() / 15D, 0.5D); + + double girth = 0.03125D; + double hyp = Math.sqrt(delta.xCoord * delta.xCoord + delta.zCoord * delta.zCoord); + double yaw = Math.atan2(delta.xCoord, delta.zCoord); + double pitch = Math.atan2(delta.yCoord, hyp); + double rotator = Math.PI * 0.5D; + double newPitch = pitch + rotator; + double newYaw = yaw + rotator; + double iZ = Math.cos(yaw) * Math.cos(newPitch) * girth; + double iX = Math.sin(yaw) * Math.cos(newPitch) * girth; + double iY = Math.sin(newPitch) * girth; + double jZ = Math.cos(newYaw) * girth; + double jX = Math.sin(newYaw) * girth; + + for(float j = 0; j < count; j++) { + + float k = j + 1; + + double sagJ = Math.sin(j / count * Math.PI) * hang; + double sagK = Math.sin(k / count * Math.PI) * hang; + double sagMean = (sagJ + sagK) / 2D; + + double ja = j + 0.5D; + double ix = bx + deltaX / (double)(count) * ja; + double iy = by + deltaY / (double)(count) * ja - sagMean; + double iz = bz + deltaZ / (double)(count) * ja; + + int brightness = bullet.worldObj.getLightBrightnessForSkyBlocks(MathHelper.floor_double(ix), MathHelper.floor_double(iy), MathHelper.floor_double(iz), 0); + tess.setBrightness(brightness); + + tess.setColorOpaque_I(0x606060); + + drawLineSegment(tess, + (deltaX * j / count), + (deltaY * j / count) - sagJ, + (deltaZ * j / count), + (deltaX * k / count), + (deltaY * k / count) - sagK, + (deltaZ * k / count), + iX, iY, iZ, jX, jZ); + } + + tess.draw(); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + } + + public static void drawLineSegment(Tessellator tessellator, double x, double y, double z, double a, double b, double c, double iX, double iY, double iZ, double jX, double jZ) { + + double deltaX = a - x; + double deltaY = b - y; + double deltaZ = c - z; + double length = Math.sqrt(deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ); + int wrap = (int) Math.ceil(length * 8); + + if(deltaX + deltaZ < 0) { + wrap *= -1; + jZ *= -1; + jX *= -1; + } + + tessellator.addVertexWithUV(x + iX, y + iY, z + iZ, 0, 0); + tessellator.addVertexWithUV(x - iX, y - iY, z - iZ, 0, 1); + tessellator.addVertexWithUV(a - iX, b - iY, c - iZ, wrap, 1); + tessellator.addVertexWithUV(a + iX, b + iY, c + iZ, wrap, 0); + tessellator.addVertexWithUV(x + jX, y, z + jZ, 0, 0); + tessellator.addVertexWithUV(x - jX, y, z - jZ, 0, 1); + tessellator.addVertexWithUV(a - jX, b, c - jZ, wrap, 1); + tessellator.addVertexWithUV(a + jX, b, c + jZ, wrap, 0); + } + + public static BiConsumer RENDER_CT_MORTAR = (bullet, interp) -> { + + GL11.glPushMatrix(); + GL11.glScalef(0.125F, 0.125F, 0.125F); + GL11.glRotated(90, 0, -1, 0); + GL11.glRotated(180, 0, 0, 1); + GL11.glTranslatef(0, 0, -6F); + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_mortar_tex); + ResourceManager.charge_thrower.renderPart("Mortar"); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glPopMatrix(); + }; + + public static BiConsumer RENDER_CT_MORTAR_CHARGE = (bullet, interp) -> { + + GL11.glPushMatrix(); + GL11.glScalef(0.125F, 0.125F, 0.125F); + GL11.glRotated(90, 0, -1, 0); + GL11.glRotated(180, 0, 0, 1); + GL11.glTranslatef(0, 0, -6F); + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_mortar_tex); + ResourceManager.charge_thrower.renderPart("Mortar"); + ResourceManager.charge_thrower.renderPart("Oomph"); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glPopMatrix(); + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/Orchestras.java b/src/main/java/com/hbm/items/weapon/sedna/factory/Orchestras.java new file mode 100644 index 000000000..c13f16a26 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/Orchestras.java @@ -0,0 +1,1515 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.function.BiConsumer; + +import com.hbm.config.ClientConfig; +import com.hbm.items.ModItems; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.impl.ItemGunChargeThrower; +import com.hbm.items.weapon.sedna.impl.ItemGunStinger; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.mags.IMagazine; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.lib.ModDamageSource; +import com.hbm.main.MainRegistry; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.particle.SpentCasing; +import com.hbm.particle.helper.CasingCreator; +import com.hbm.render.anim.HbmAnimations.AnimType; +import com.hbm.sound.AudioWrapper; +import com.hbm.util.EntityDamageUtil; + +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.block.Block; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MovingObjectPosition; + +/** Orchestras are server-side components that run along client-side animations. + * The orchestra only knows what animation is or was playing and how long it started, but not if it is still active. + * Orchestras are useful for things like playing server-side sound, spawning casings or sending particle packets.*/ +public class Orchestras { + + public static BiConsumer DEBUG_ORCHESTRA = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.RELOAD) { + if(timer == 3) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 1F); + if(timer == 10) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 1F); + if(timer == 34) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallInsert", 1F, 1F); + if(timer == 40) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + + if(timer == 16) { + Receiver rec = ctx.config.getReceivers(stack)[0]; + IMagazine mag = rec.getMagazine(stack); + SpentCasing casing = mag.getCasing(stack, ctx.inventory); + if(casing != null) for(int i = 0; i < mag.getCapacity(stack); i++) CasingCreator.composeEffect(entity.worldObj, entity, 0.25, -0.125, -0.125, -0.05, 0, 0, 0.01, casing.getName()); + } + } + if(type == AnimType.CYCLE) { + if(timer == 11) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 1F); + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + if(timer == 11) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 1F); + } + if(type == AnimType.INSPECT) { + if(timer == 3) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 1F); + if(timer == 16) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_PEPPERBOX = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.RELOAD) { + if(timer == 24) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallInsert", 1F, 1F); + if(timer == 55) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverSpin", 1F, 1F); + } + if(type == AnimType.CYCLE) { + if(timer == 21) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.6F); + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 0.8F); + if(timer == 11) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.6F); + } + if(type == AnimType.INSPECT) { + if(timer == 3) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverSpin", 1F, 1F); + } + if(type == AnimType.JAMMED) { + if(timer == 28) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 0.75F); + if(timer == 45) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 0.6F); + } + }; + + public static BiConsumer ORCHESTRA_ATLAS = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.RELOAD) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 1F); + if(timer == 36) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallInsert", 1F, 1F); + if(timer == 44) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + } + if(type == AnimType.CYCLE) { + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.9F); + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.9F); + } + if(type == AnimType.INSPECT) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 1F); + if(timer == 24) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + } + if(type == AnimType.JAMMED) { + if(timer == 12) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 1F); + if(timer == 34) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_DANI = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.RELOAD) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 1F); + if(timer == 36) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallInsert", 1F, 1F); + if(timer == 44) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + } + if(type == AnimType.CYCLE) { + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.9F); + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.9F); + } + if(type == AnimType.INSPECT) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 1F); + if(timer == 24) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + } + if(type == AnimType.JAMMED) { + if(timer == 12) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 1F); + if(timer == 34) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_HENRY = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(type == AnimType.RELOAD) { + if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 1F); + if(timer == 16) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallInsert", 1F, 1F); + } + if(type == AnimType.RELOAD_CYCLE) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallInsert", 1F, 1F); + } + if(type == AnimType.RELOAD_END) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 0.9F); + if(timer == 12 && ctx.config.getReceivers(stack)[0].getMagazine(stack).getAmountBeforeReload(stack) <= 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.leverCock", 1F, 1F); + } + if(type == AnimType.JAMMED) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 0.9F); + if(timer == 12) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.leverCock", 1F, 1F); + if(timer == 36) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.leverCock", 1F, 1F); + if(timer == 44) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.leverCock", 1F, 1F); + } + if(type == AnimType.CYCLE) { + if(timer == 14) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.5, -0.125, aiming ? -0.125 : -0.375D, 0, 0.12, -0.12, 0.01, -7.5F + (float)entity.getRNG().nextGaussian() * 5F, (float)entity.getRNG().nextGaussian() * 1.5F, casing.getName(), true, 60, 0.5D, 20); + } + if(timer == 12) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.leverCock", 1F, 1F); + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + if(timer == 12) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.leverCock", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_GREASEGUN = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(type == AnimType.EQUIP) { + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.openLatch", 1F, 1F); + } + if(type == AnimType.CYCLE) { + if(timer == 2) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.55, aiming ? 0 : -0.125, aiming ? 0 : -0.25D, 0, 0.18, -0.12, 0.01, -7.5F + (float)entity.getRNG().nextGaussian() * 5F, 12F + (float)entity.getRNG().nextGaussian() * 5F, casing.getName()); + } + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 0.8F); + if(timer == 11) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 0.8F); + + } + if(type == AnimType.RELOAD) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F); + if(timer == 24) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + if(timer == 36) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 0.8F); + } + if(type == AnimType.INSPECT) { + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.8F); + if(timer == 26) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallInsert", 1F, 1.25F); + } + if(type == AnimType.JAMMED) { + if(timer == 11) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 0.8F); + if(timer == 26) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 0.8F); + } + }; + + public static BiConsumer ORCHESTRA_MARESLEG = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(type == AnimType.RELOAD) { + if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.8F); + if(timer == 16) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.shotgunReload", 1F, 1F); + } + if(type == AnimType.RELOAD_CYCLE) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.shotgunReload", 1F, 1F); + } + if(type == AnimType.RELOAD_END) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.7F); + } + if(type == AnimType.JAMMED) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.7F); + if(timer == 17) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.leverCock", 1F, 0.8F); + if(timer == 29) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.leverCock", 1F, 0.8F); + } + if(type == AnimType.CYCLE) { + if(timer == 14) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.3125, -0.125, aiming ? -0.125 : -0.375D, 0, 0.18, -0.12, 0.01, -10F + (float)entity.getRNG().nextGaussian() * 5F, (float)entity.getRNG().nextGaussian() * 2.5F, casing.getName(), true, 60, 0.5D, 20); + } + if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.leverCock", 1F, 0.8F); + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.leverCock", 1F, 0.8F); + } + }; + + public static BiConsumer ORCHESTRA_MARESLEG_SHORT = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(type == AnimType.RELOAD) { + if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.8F); + if(timer == 16) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.shotgunReload", 1F, 1F); + } + if(type == AnimType.RELOAD_CYCLE) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.shotgunReload", 1F, 1F); + } + if(type == AnimType.RELOAD_END) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.7F); + } + if(type == AnimType.JAMMED) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.7F); + if(timer == 17) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.leverCock", 1F, 0.8F); + if(timer == 29) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.leverCock", 1F, 0.8F); + } + if(type == AnimType.CYCLE) { + if(timer == 14) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.3125, -0.125, aiming ? -0.125 : -0.375D, 0, -0.08, 0, 0.01, -15F + (float)entity.getRNG().nextGaussian() * 5F, (float)entity.getRNG().nextGaussian() * 2.5F, casing.getName(), true, 60, 0.5D, 20); + } + if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.leverCock", 1F, 0.8F); + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.leverCock", 1F, 0.8F); + } + }; + + public static BiConsumer ORCHESTRA_MARESLEG_AKIMBO = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(type == AnimType.CYCLE) { + if(timer == 14) { + int offset = ctx.configIndex == 0 ? -1 : 1; + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.3125, -0.125, aiming ? -0.125 * offset : -0.375D * offset, 0, -0.08, 0, 0.01, -15F + (float)entity.getRNG().nextGaussian() * 5F, (float)entity.getRNG().nextGaussian() * 2.5F, casing.getName(), true, 60, 0.5D, 20); + } + if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.leverCock", 1F, 0.8F); + return; + } + + ORCHESTRA_MARESLEG_SHORT.accept(stack, ctx); + }; + + public static BiConsumer ORCHESTRA_FLAREGUN = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(type == AnimType.RELOAD) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 0.8F); + if(timer == 4) { + IMagazine mag = ctx.config.getReceivers(stack)[0].getMagazine(stack); + if(mag.getAmountAfterReload(stack) > 0) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.625, -0.125, aiming ? -0.125 : -0.375D, -0.12, 0.18, 0, 0.01, -15F + (float)entity.getRNG().nextGaussian() * 7.5F, (float)entity.getRNG().nextGaussian() * 5F, casing.getName(), true, 60, 0.5D, 20); + mag.setAmountBeforeReload(stack, 0); + } + } + if(timer == 16) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.insertCanister", 1F, 1F); + if(timer == 24) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallInsert", 1F, 1F); + } + if(type == AnimType.JAMMED) { + if(timer == 10) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 0.8F); + if(timer == 29) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallInsert", 1F, 1F); + } + if(type == AnimType.CYCLE) { + if(timer == 12) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 1F); + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + if(timer == 12) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_NOPIP = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.RELOAD) { + if(timer == 3) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 1F); + if(timer == 10) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 1F); + if(timer == 34) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallInsert", 1F, 1F); + if(timer == 40) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + + if(timer == 16) { + Receiver rec = ctx.config.getReceivers(stack)[0]; + IMagazine mag = rec.getMagazine(stack); + SpentCasing casing = mag.getCasing(stack, ctx.inventory); + if(casing != null) for(int i = 0; i < mag.getCapacity(stack); i++) CasingCreator.composeEffect(entity.worldObj, entity, 0.25, -0.125, -0.125, -0.05, 0, 0, 0.01, -6.5F + (float)entity.getRNG().nextGaussian() * 3F, (float)entity.getRNG().nextGaussian() * 5F, casing.getName()); + } + } + if(type == AnimType.CYCLE) { + if(timer == 11) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 1F); + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + if(timer == 11) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 1F); + } + if(type == AnimType.INSPECT) { + if(timer == 3) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 1F); + if(timer == 16) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_CARBINE = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(type == AnimType.CYCLE) { + if(timer == 1) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.3125, aiming ? 0 : -0.125, aiming ? 0 : -0.25D, 0, 0.21, -0.06, 0.01, -10F + (float)entity.getRNG().nextGaussian() * 2.5F, 2.5F + (float)entity.getRNG().nextGaussian() * 2F, casing.getName(), true, 60, 0.5D, 20); + } + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 0.8F); + } + if(type == AnimType.RELOAD) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F); + if(timer == 26) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + } + if(type == AnimType.RELOAD_END) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 0.8F); + } + if(type == AnimType.JAMMED) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 0.8F); + if(timer == 31) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 0.8F); + } + if(type == AnimType.INSPECT) { + if(timer == 6) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + if(timer == 30) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 0.9F); + } + }; + + public static BiConsumer ORCHESTRA_AM180 = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(ClientConfig.GUN_ANIMS_LEGACY.get()) { + if(type == AnimType.CYCLE) { + if(timer == 0) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.4375, aiming ? 0 : -0.125, aiming ? 0 : -0.25D, 0, -0.06, 0, 0.01, (float)entity.getRNG().nextGaussian() * 10F, (float)entity.getRNG().nextGaussian() * 10F, casing.getName()); + } + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + if(timer == 6) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 0.9F); + } + if(type == AnimType.RELOAD) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F); + if(timer == 20) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.impact", 0.25F, 1F); + if(timer == 32) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + if(timer == 40) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 0.9F); + } + if(type == AnimType.JAMMED) { + if(timer == 15) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 0.8F); + } + if(type == AnimType.INSPECT) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F); + if(timer == 35) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + } + } else { + if(type == AnimType.CYCLE) { + if(timer == 0) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.4375, aiming ? 0 : -0.125, aiming ? 0 : -0.25D, 0, -0.06, 0, 0.01, (float)entity.getRNG().nextGaussian() * 10F, (float)entity.getRNG().nextGaussian() * 10F, casing.getName()); + } + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + if(timer == 6) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 0.9F); + } + if(type == AnimType.RELOAD) { + if(timer == 6) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F); + if(timer == 26) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.impact", 0.25F, 1F); + if(timer == 48) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + if(timer == 54) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 0.9F); + } + if(type == AnimType.JAMMED) { + if(timer == 6) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 0.8F); + if(timer == 20) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 1.0F); + } + if(type == AnimType.INSPECT) { + if(timer == 6) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F); + if(timer == 53) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + } + } + }; + + public static BiConsumer ORCHESTRA_LIBERATOR = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.RELOAD) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.75F); + if(timer == 4) { + IMagazine mag = ctx.config.getReceivers(stack)[0].getMagazine(stack); + int toEject = mag.getAmountAfterReload(stack) - mag.getAmount(stack, ctx.inventory); + SpentCasing casing = mag.getCasing(stack, ctx.inventory); + if(casing != null) for(int i = 0; i < toEject; i++) CasingCreator.composeEffect(entity.worldObj, entity, 0.625, -0.1875, -0.375D, -0.12, 0.18, 0, 0.01, -15F + (float)entity.getRNG().nextGaussian() * 7.5F, (float)entity.getRNG().nextGaussian() * 5F, casing.getName(), true, 60, 0.5D, 20); + } + if(timer == 15) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallInsert", 1F, 1F); + } + if(type == AnimType.RELOAD_CYCLE) { + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallInsert", 1F, 1F); + } + if(type == AnimType.RELOAD_END) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 0.9F); + } + if(type == AnimType.JAMMED) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 0.9F); + if(timer == 12) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.75F); + if(timer == 26) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 0.9F); + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + } + if(type == AnimType.INSPECT) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.75F); + IMagazine mag = ctx.config.getReceivers(stack)[0].getMagazine(stack); + int toEject = mag.getAmountAfterReload(stack) - mag.getAmount(stack, ctx.inventory); + if(timer == 4 && toEject > 0) { + SpentCasing casing = mag.getCasing(stack, ctx.inventory); + if(casing != null) for(int i = 0; i < toEject; i++) CasingCreator.composeEffect(entity.worldObj, entity, 0.625, -0.1875, -0.375D, -0.12, 0.18, 0, 0.01, -15F * (float)entity.getRNG().nextGaussian() * 7.5F, (float)entity.getRNG().nextGaussian() * 5F, casing.getName(), true, 60, 0.5D, 20); + mag.setAmountAfterReload(stack, 0); + } + if(timer == 20) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 0.9F); + } + }; + + public static BiConsumer ORCHESTRA_CONGOLAKE = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(type == AnimType.CYCLE) { + if(timer == 15) { + IMagazine mag = ctx.config.getReceivers(stack)[0].getMagazine(stack); + SpentCasing casing = mag.getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.625, aiming ? -0.0625 : -0.25, aiming ? 0 : -0.375D, 0, 0.18, 0.12, 0.01, -5F + (float)entity.getRNG().nextGaussian() * 3.5F, -10F + entity.getRNG().nextFloat() * 5F, casing.getName(), true, 60, 0.5D, 20); + } + } + if(type == AnimType.RELOAD || type == AnimType.RELOAD_CYCLE) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.glReload", 1F, 1F); + } + if(type == AnimType.INSPECT) { + if(timer == 9) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.glOpen", 1F, 1F); + if(timer == 27) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.glClose", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_FLAMER = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.CYCLE && entity.worldObj.isRemote) { + AudioWrapper runningAudio = ItemGunBaseNT.loopedSounds.get(entity); + + if(timer < 5) { + //start sound + if(runningAudio == null || !runningAudio.isPlaying()) { + AudioWrapper audio = MainRegistry.proxy.getLoopedSound("hbm:weapon.fire.flameLoop", (float) entity.posX, (float) entity.posY, (float) entity.posZ, 1F, 15F, 1F, 10); + ItemGunBaseNT.loopedSounds.put(entity, audio); + audio.startSound(); + } + //keepalive + if(runningAudio != null && runningAudio.isPlaying()) { + runningAudio.keepAlive(); + runningAudio.updatePosition((float) entity.posX, (float) entity.posY, (float) entity.posZ); + } + } else { + //stop sound due to timeout + if(runningAudio != null && runningAudio.isPlaying()) runningAudio.stopSound(); + } + } + //stop sound due to state change + if(type != AnimType.CYCLE && entity.worldObj.isRemote) { + AudioWrapper runningAudio = ItemGunBaseNT.loopedSounds.get(entity); + if(runningAudio != null && runningAudio.isPlaying()) runningAudio.stopSound(); + } + if(entity.worldObj.isRemote) return; + + if(type == AnimType.RELOAD) { + if(timer == 15) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.openLatch", 1F, 1F); + if(timer == 35) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.impact", 0.5F, 1F); + if(timer == 60) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 0.75F); + if(timer == 70) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.insertCanister", 1F, 1F); + if(timer == 85) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pressureValve", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_FLAMER_DAYBREAKER = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.RELOAD) { + if(timer == 15) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.openLatch", 1F, 1F); + if(timer == 35) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.impact", 0.5F, 1F); + if(timer == 60) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 0.75F); + if(timer == 70) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.insertCanister", 1F, 1F); + if(timer == 85) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pressureValve", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_LAG = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(type == AnimType.CYCLE) { + if(timer == 1) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.375, aiming ? 0 : -0.0625, aiming ? 0 : -0.25D, 0, 0.18, -0.12, 0.01, -10F + (float)entity.getRNG().nextGaussian() * 5F, 10F + entity.getRNG().nextFloat() * 10F, casing.getName()); + } + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 1F); + + } + if(type == AnimType.RELOAD) { + if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F); + if(timer == 26) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + if(timer == 40) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 1F); + } + if(type == AnimType.JAMMED) { + if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F); + if(timer == 20) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.impact", 0.5F, 1.6F); + if(timer == 36) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_UZI = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(type == AnimType.EQUIP) { + if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.openLatch", 1F, 1.25F); + } + if(type == AnimType.CYCLE) { + if(timer == 1) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.375, aiming ? 0 : -0.125, aiming ? 0 : -0.25D, 0, 0.18, -0.12, 0.01, -2.5F + (float)entity.getRNG().nextGaussian() * 5F, 10F + (float)entity.getRNG().nextFloat() * 15F, casing.getName()); + } + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 1F); + + } + if(type == AnimType.RELOAD) { + if(timer == 4) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F); + if(timer == 26) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + if(timer == 36) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 1F); + } + if(type == AnimType.JAMMED) { + if(timer == 17) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 1F); + if(timer == 31) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_UZI_AKIMBO = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.EQUIP) { + if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.openLatch", 1F, 1.25F); + } + if(type == AnimType.CYCLE) { + if(timer == 1) { + int mult = ctx.configIndex == 0 ? -1 : 1; + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.375, -0.125, -0.375D * mult, 0, 0.18, -0.12 * mult, 0.01, -2.5F + (float)entity.getRNG().nextGaussian() * 5F, (10F + (float)entity.getRNG().nextFloat() * 15F) * mult, casing.getName()); + } + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 1F); + + } + if(type == AnimType.RELOAD) { + if(timer == 4) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F); + if(timer == 26) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + if(timer == 36) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 1F); + } + if(type == AnimType.JAMMED) { + if(timer == 17) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 1F); + if(timer == 31) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_SPAS = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(type == AnimType.CYCLE || type == AnimType.ALT_CYCLE) { + if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.shotgunCock", 1F, 1F); + if(timer == 10) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); //turns out there's a reason why stovepipes look like that + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.375, aiming ? 0 : -0.125, aiming ? 0 : -0.25D, 0, 0.18, -0.12, 0.01, -3F + (float)entity.getRNG().nextGaussian() * 2.5F, -15F + entity.getRNG().nextFloat() * -5F, casing.getName()); + } + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + if(timer == 8) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.shotgunCock", 1F, 1F); + } + if(type == AnimType.RELOAD) { + IMagazine mag = ctx.config.getReceivers(stack)[0].getMagazine(stack); + if(mag.getAmount(stack, ctx.inventory) == 0) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 1F); + if(timer == 7) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + } + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.shotgunReload", 1F, 1F); + } + if(type == AnimType.RELOAD_CYCLE) { + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.shotgunReload", 1F, 1F); + } + if(type == AnimType.INSPECT) { + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.shotgunCockOpen", 1F, 1F); + if(timer == 18) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.shotgunCockClose", 1F, 1F); + } + if(type == AnimType.JAMMED) { + if(timer == 18) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.foley.gunWhack", 1F, 1F); + if(timer == 25) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.foley.gunWhack", 1F, 1F); + if(timer == 29) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.shotgunCockClose", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_PANERSCHRECK = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.RELOAD) { + if(timer == 30) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.insertCanister", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_G3 = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean scoped = stack.getItem() == ModItems.gun_g3_zebra || WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SCOPE); + boolean aiming = ItemGunBaseNT.getIsAiming(stack) && !scoped; + + if(type == AnimType.CYCLE) { + if(timer == 0) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.5, aiming ? 0 : -0.125, aiming ? 0 : -0.25D, 0, 0.18, -0.12, 0.01, (float)entity.getRNG().nextGaussian() * 5F, 12.5F + (float)entity.getRNG().nextFloat() * 5F, casing.getName()); + } + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 0.8F); + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 0.9F); + + } + if(type == AnimType.RELOAD) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F); + if(timer == 4) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 0.9F); + if(timer == 32) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + if(timer == 36) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + } + if(type == AnimType.INSPECT) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F); + if(timer == 28) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + } + if(type == AnimType.JAMMED) { + if(timer == 16) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 0.9F); + if(timer == 20) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + if(timer == 26) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 0.9F); + if(timer == 30) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_STINGER = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(entity.worldObj.isRemote) { + AudioWrapper runningAudio = ItemGunBaseNT.loopedSounds.get(entity); + if(ItemGunStinger.getLockonProgress(stack) > 0 && !ItemGunStinger.getIsLockedOn(stack)) { + //start sound + if(runningAudio == null || !runningAudio.isPlaying()) { + AudioWrapper audio = MainRegistry.proxy.getLoopedSound("hbm:weapon.fire.lockon", (float) entity.posX, (float) entity.posY, (float) entity.posZ, 1F, 15F, 1F, 10); + ItemGunBaseNT.loopedSounds.put(entity, audio); + audio.startSound(); + } + //keepalive + if(runningAudio != null && runningAudio.isPlaying()) { + runningAudio.keepAlive(); + runningAudio.updatePosition((float) entity.posX, (float) entity.posY, (float) entity.posZ); + } + } else { + //stop sound due to timeout + if(runningAudio != null && runningAudio.isPlaying()) runningAudio.stopSound(); + } + } + + if(type == AnimType.RELOAD) { + if(timer == 30) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.insertCanister", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_CHEMTHROWER = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.CYCLE && entity.worldObj.isRemote) { + AudioWrapper runningAudio = ItemGunBaseNT.loopedSounds.get(entity); + + if(timer < 5) { + //start sound + if(runningAudio == null || !runningAudio.isPlaying()) { + AudioWrapper audio = MainRegistry.proxy.getLoopedSound("hbm:weapon.fire.flameLoop", (float) entity.posX, (float) entity.posY, (float) entity.posZ, 1F, 15F, 1F, 10); + ItemGunBaseNT.loopedSounds.put(entity, audio); + audio.startSound(); + } + //keepalive + if(runningAudio != null && runningAudio.isPlaying()) { + runningAudio.keepAlive(); + runningAudio.updatePosition((float) entity.posX, (float) entity.posY, (float) entity.posZ); + } + } else { + //stop sound due to timeout + if(runningAudio != null && runningAudio.isPlaying()) runningAudio.stopSound(); + } + } + //stop sound due to state change + if(type != AnimType.CYCLE && entity.worldObj.isRemote) { + AudioWrapper runningAudio = ItemGunBaseNT.loopedSounds.get(entity); + if(runningAudio != null && runningAudio.isPlaying()) runningAudio.stopSound(); + } + }; + + public static BiConsumer ORCHESTRA_AMAT = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(type == AnimType.EQUIP) { + if(timer == 10) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 0.5F, 1.25F); + if(timer == 15) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 0.5F, 1.25F); + } + + if(type == AnimType.CYCLE) { + if(timer == 7) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltOpen", 0.5F, 1F); + if(timer == 16) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltClose", 0.5F, 1F); + if(timer == 12) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, + 0.375, aiming ? 0 : -0.125, -0.25D, + -0.05, 0.2, -0.025, + 0.01, -10F + (float) entity.getRNG().nextGaussian() * 10F, (float) entity.getRNG().nextGaussian() * 12.5F, casing.getName(), true, 60, 0.5D, 10); + } + } + + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 0.75F); + if(timer == 7) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltOpen", 0.5F, 1F); + if(timer == 16) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltClose", 0.5F, 1F); + } + + if(type == AnimType.RELOAD) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F); + if(timer == 20) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + if(timer == 32) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltOpen", 0.5F, 1F); + if(timer == 41) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltClose", 0.5F, 1F); + } + + if(type == AnimType.JAMMED) { + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltOpen", 0.5F, 1F); + if(timer == 12) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltClose", 0.5F, 1F); + if(timer == 16) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltOpen", 0.5F, 1F); + if(timer == 23) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltClose", 0.5F, 1F); + } + + if(type == AnimType.INSPECT) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 0.5F, 1F); + if(timer == 45) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 0.5F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_M2 = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(type == AnimType.EQUIP) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:turret.howard_reload", 1F, 1F); + } + + if(type == AnimType.CYCLE) { + if(timer == 0) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.375, aiming ? 0 : -0.125, aiming ? 0 : -0.3125D, 0, 0.06, -0.18, 0.01, (float)entity.getRNG().nextGaussian() * 20F, 12.5F + (float)entity.getRNG().nextGaussian() * 7.5F, casing.getName()); + } + } + }; + + public static BiConsumer ORCHESTRA_SHREDDER = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.CYCLE) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.fire.shredderCycle", 0.25F, 1.5F); + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.fire.shredderCycle", 0.25F, 1.5F); + } + if(type == AnimType.RELOAD) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F); + if(timer == 32) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + } + if(type == AnimType.INSPECT) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F); + if(timer == 28) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_SHREDDER_SEXY = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(type == AnimType.CYCLE) { + if(timer == 0 && ctx.config.getReceivers(stack)[0].getMagazine(stack).getType(stack, null) == XFactory12ga.g12_equestrian_bj) { + ItemGunBaseNT.setTimer(stack, 0, 20); + } + + if(timer == 2) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.375, aiming ? -0.0625 : -0.125, aiming ? 0 : -0.25D, 0, 0.18, -0.12, 0.01, -10F + (float)entity.getRNG().nextGaussian() * 2.5F, (float)entity.getRNG().nextGaussian() * -20F + 15F, casing.getName(), false, 60, 0.5D, 20); + } + } + + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + } + if(type == AnimType.RELOAD) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 1F); + if(timer == 4) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 0.75F); + if(timer == 16) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 1F); + if(timer == 30) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F); + if(timer == 55) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.impact", 0.5F, 1F); + if(timer == 65) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + if(timer == 74) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallInsert", 1F, 1F); + if(timer == 88) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 0.75F); + if(timer == 100) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 1F); + + if(timer == 55) ctx.config.getReceivers(stack)[0].getMagazine(stack).reloadAction(stack, ctx.inventory); + } + + if(type == AnimType.INSPECT) { + if(timer == 20) entity.worldObj.playSoundAtEntity(entity, "hbm:player.gulp", 1F, 1F); + if(timer == 25) entity.worldObj.playSoundAtEntity(entity, "hbm:player.gulp", 1F, 1F); + if(timer == 30) entity.worldObj.playSoundAtEntity(entity, "hbm:player.gulp", 1F, 1F); + if(timer == 35) entity.worldObj.playSoundAtEntity(entity, "hbm:player.gulp", 1F, 1F); + if(timer == 50) entity.worldObj.playSoundAtEntity(entity, "hbm:player.groan", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_QUADRO = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.RELOAD) { + if(timer == 30) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.insertCanister", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_MINIGUN = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(type == AnimType.CYCLE) { + if(timer == 0) { + int rounds = WeaponModManager.hasUpgrade(stack, ctx.configIndex, WeaponModManager.ID_MINIGUN_SPEED) ? 3 : 1; + for(int i = 0; i < rounds; i++) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, aiming ? 0.125 : 0.5, aiming ? -0.125 : -0.25, aiming ? -0.25 : -0.5D, 0, 0.18, -0.12, 0.01, (float)entity.getRNG().nextGaussian() * 15F, (float)entity.getRNG().nextGaussian() * 15F, casing.getName()); + } + } + if(timer == (WeaponModManager.hasUpgrade(stack, 0, 207) ? 3 : 1)) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverSpin", 1F, 0.75F); + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 0.75F); + if(timer == 1) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverSpin", 1F, 0.75F); + } + if(type == AnimType.RELOAD) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverSpin", 1F, 0.75F); + } + if(type == AnimType.INSPECT) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverSpin", 1F, 0.75F); + } + }; + + public static BiConsumer ORCHESTRA_MINIGUN_DUAL = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.CYCLE) { + if(timer == 0) { + int index = ctx.configIndex == 0 ? -1 : 1; + int rounds = WeaponModManager.hasUpgrade(stack, ctx.configIndex, WeaponModManager.ID_MINIGUN_SPEED) ? 3 : 1; + for(int i = 0; i < rounds; i++) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.25, -0.25, -0.5D * index, 0, 0.18, -0.12 * index, 0.01, (float)entity.getRNG().nextGaussian() * 15F, (float)entity.getRNG().nextGaussian() * 15F, casing.getName()); + } + } + if(timer == (WeaponModManager.hasUpgrade(stack, 0, 207) ? 3 : 1)) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverSpin", 1F, 0.75F); + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 0.75F); + if(timer == 1) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverSpin", 1F, 0.75F); + } + if(type == AnimType.RELOAD) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverSpin", 1F, 0.75F); + } + if(type == AnimType.INSPECT) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverSpin", 1F, 0.75F); + } + }; + + public static BiConsumer ORCHESTRA_MISSILE_LAUNCHER = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1.25F); + } + if(type == AnimType.RELOAD) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltOpen", 1F, 0.9F); + if(timer == 30) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.insertCanister", 1F, 1F); + if(timer == 42) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltClose", 1F, 0.9F); + } + + if(type == AnimType.JAMMED || type == AnimType.INSPECT) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltOpen", 1F, 0.9F); + if(timer == 27) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltClose", 1F, 0.9F); + } + }; + + public static BiConsumer ORCHESTRA_TESLA = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.CYCLE) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.fire.shredderCycle", 0.25F, 1.25F); + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.fire.shredderCycle", 0.25F, 1.25F); + } + if(type == AnimType.INSPECT) { + if(timer == 12) entity.worldObj.playSoundAtEntity(entity, "hbm:block.squeakyToy", 0.25F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_LASER_PISTOL = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1.5F); + } + + if(type == AnimType.RELOAD) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 1F); + if(timer == 10) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 1.25F); + if(timer == 34) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallInsert", 1F, 1.25F); + if(timer == 40) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1.25F); + } + + if(type == AnimType.JAMMED) { + if(timer == 10) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 1F); + if(timer == 15) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1.25F); + if(timer == 30) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.impact", 0.25F, 1.5F); + } + }; + + public static BiConsumer ORCHESTRA_STG77 = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(ClientConfig.GUN_ANIMS_LEGACY.get()) { + if(type == AnimType.CYCLE) { + if(timer == 0) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, aiming ? 0.125 : 0.125, aiming ? -0.125 : -0.25, aiming ? -0.125 : -0.25D, 0, 0.18, -0.12, 0.01, (float)entity.getRNG().nextGaussian() * 5F, 7.5F + entity.getRNG().nextFloat() * 5F, casing.getName()); + } + if(timer == 40) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 0.25F, 1.25F); + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 0.8F); + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 0.9F); + if(timer == 40) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 0.25F, 1.25F); + } + if(type == AnimType.RELOAD) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 0.9F); + if(timer == 10) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F); + if(timer == 24) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + if(timer == 34) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + } + if(type == AnimType.INSPECT) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 0.9F); + if(timer == 10) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 1F); + + if(timer == 114) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallInsert", 1F, 1F); + if(timer == 124) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + } + } else { + if(type == AnimType.CYCLE) { + if(timer == 0) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, aiming ? 0.125 : 0.25, aiming ? -0.125 : -0.25, aiming ? -0.125 : -0.25D, 0, 0.18, -0.12, 0.01, (float)entity.getRNG().nextGaussian() * 5F, 7.5F + entity.getRNG().nextFloat() * 5F, casing.getName()); + } + if(timer == 40) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 0.25F, 1.25F); + } + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 0.8F); + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 0.9F); + if(timer == 40) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 0.25F, 1.25F); + } + if(type == AnimType.RELOAD) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 0.9F); + if(timer == 16) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F); + if(timer == 32) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.impact", 0.25F, 1.25F); + if(timer == 38) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + if(timer == 43) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + } + if(type == AnimType.INSPECT) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 0.9F); + if(timer == 11) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 1F); + + if(timer == 72) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallInsert", 1F, 1F); + if(timer == 84) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + } + } + }; + + public static BiConsumer ORCHESTRA_TAU = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.SPINUP && entity.worldObj.isRemote) { + AudioWrapper runningAudio = ItemGunBaseNT.loopedSounds.get(entity); + + if(timer < 300) { + if(runningAudio == null || !runningAudio.isPlaying()) { + AudioWrapper audio = MainRegistry.proxy.getLoopedSound("hbm:weapon.fire.tauLoop", (float) entity.posX, (float) entity.posY, (float) entity.posZ, 1F, 15F, 0.75F, 10); + audio.updatePitch(0.75F); + ItemGunBaseNT.loopedSounds.put(entity, audio); + audio.startSound(); + } + if(runningAudio != null && runningAudio.isPlaying()) { + runningAudio.keepAlive(); + runningAudio.updatePosition((float) entity.posX, (float) entity.posY, (float) entity.posZ); + runningAudio.updatePitch(0.75F + timer * 0.01F); + } + } else { + if(runningAudio != null && runningAudio.isPlaying()) runningAudio.stopSound(); + } + } + //stop sound due to state change + if(type != AnimType.SPINUP && entity.worldObj.isRemote) { + AudioWrapper runningAudio = ItemGunBaseNT.loopedSounds.get(entity); + if(runningAudio != null && runningAudio.isPlaying()) runningAudio.stopSound(); + } + if(entity.worldObj.isRemote) return; + + if(type == AnimType.CYCLE) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.fire.tau", 0.5F, 0.9F + entity.getRNG().nextFloat() * 0.2F); + } + + if(type == AnimType.ALT_CYCLE) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.fire.tau", 0.5F, 0.7F + entity.getRNG().nextFloat() * 0.2F); + } + + if(type == AnimType.SPINUP) { + if(timer % 10 == 0 && timer < 130) { + IMagazine mag = ctx.config.getReceivers(stack)[0].getMagazine(stack); + if(mag.getAmount(stack, ctx.inventory) <= 0) { + ItemGunBaseNT.playAnimation(ctx.getPlayer(), stack, AnimType.CYCLE_DRY, ctx.configIndex); + return; + } + mag.useUpAmmo(stack, ctx.inventory, 1); + } + + if(timer > 200) { + ItemGunBaseNT.playAnimation(ctx.getPlayer(), stack, AnimType.CYCLE_DRY, ctx.configIndex); + + entity.attackEntityFrom(ModDamageSource.tauBlast, 1_000F); + + ItemGunBaseNT.setWear(stack, ctx.configIndex, Math.min(ItemGunBaseNT.getWear(stack, ctx.configIndex) + 10_000F, ctx.config.getDurability(stack))); + + entity.worldObj.playSoundEffect(entity.posX, entity.posY + entity.getEyeHeight(), entity.posZ, "hbm:entity.ufoBlast", 5.0F, 0.9F); + entity.worldObj.playSoundEffect(entity.posX, entity.posY + entity.getEyeHeight(), entity.posZ, "fireworks.blast", 5.0F, 0.5F); + + float yaw = entity.worldObj.rand.nextFloat() * 180F; + for(int i = 0; i < 3; i++) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "plasmablast"); + data.setFloat("r", 1.0F); + data.setFloat("g", 0.8F); + data.setFloat("b", 0.5F); + data.setFloat("pitch", -60F + 60F * i); + data.setFloat("yaw", yaw); + data.setFloat("scale", 2F); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, entity.posX, entity.posY + entity.getEyeHeight(), entity.posZ), + new TargetPoint(entity.dimension, entity.posX, entity.posY + entity.getEyeHeight(), entity.posZ, 100)); + } + } + } + }; + + public static BiConsumer ORCHESTRA_FATMAN = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.RELOAD) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.fatmanFull", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_LASRIFLE = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1.5F); + } + + if(type == AnimType.RELOAD) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 1F); + if(timer == 18) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.impact", 0.25F, 1F); + if(timer == 30) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + if(timer == 38) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + } + + if(type == AnimType.INSPECT) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 1F); + if(timer == 12) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + if(timer == 20) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + } + + if(type == AnimType.JAMMED) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 1F); + if(timer == 22) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + if(timer == 30) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_COILGUN = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.RELOAD) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.coilgunReload", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_HANGMAN = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + } + + if(type == AnimType.RELOAD) { + + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.8F); + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 0.8F); + if(timer == 25) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + if(timer == 35) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.75F); + + if(timer == 10) { + Receiver rec = ctx.config.getReceivers(stack)[0]; + IMagazine mag = rec.getMagazine(stack); + SpentCasing casing = mag.getCasing(stack, ctx.inventory); + if(casing != null) for(int i = 0; i < mag.getCapacity(stack); i++) CasingCreator.composeEffect(entity.worldObj, entity, 0.25, -0.25, -0.125, -0.05, 0, 0, 0.01, -6.5F + (float)entity.getRNG().nextGaussian() * 3F, (float)entity.getRNG().nextGaussian() * 5F, casing.getName()); + } + } + + if(type == AnimType.INSPECT) { + if(timer == 16 && ctx.getPlayer() != null) { + MovingObjectPosition mop = EntityDamageUtil.getMouseOver(ctx.getPlayer(), 3.0D); + if(mop != null) { + if(mop.typeOfHit == mop.typeOfHit.ENTITY) { + float damage = 10F; + mop.entityHit.attackEntityFrom(DamageSource.causePlayerDamage(ctx.getPlayer()), damage); + mop.entityHit.motionX *= 2; + mop.entityHit.motionZ *= 2; + entity.worldObj.playSoundAtEntity(mop.entityHit, "hbm:weapon.fire.smack", 1F, 0.9F + entity.getRNG().nextFloat() * 0.2F); + } + if(mop.typeOfHit == mop.typeOfHit.BLOCK) { + Block b = entity.worldObj.getBlock(mop.blockX, mop.blockY, mop.blockZ); + entity.worldObj.playSoundEffect(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, b.stepSound.getStepResourcePath(), 2F, 0.9F + entity.getRNG().nextFloat() * 0.2F); + } + } + } + } + + if(type == AnimType.JAMMED) { + if(timer == 10) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.8F); + if(timer == 15) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 0.8F); + if(timer == 20) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + if(timer == 25) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.75F); + } + }; + + public static BiConsumer ORCHESTRA_BOLTER = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(type == AnimType.CYCLE) { + if(timer == 1) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.5, aiming ? 0 : -0.125, aiming ? -0.0625 : -0.25D, 0, 0.18, -0.12, 0.01, -10F + (float)entity.getRNG().nextGaussian() * 5F, 10F + entity.getRNG().nextFloat() * 10F, casing.getName()); + } + } + + if(type == AnimType.RELOAD) { + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magRemove", 1F, 1F); + if(timer == 26) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magInsert", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_FOLLY = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.RELOAD) { + if(timer == 20) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.screw", 1F, 1F); + if(timer == 80) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.insertRocket", 1F, 1F); + if(timer == 120) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.screw", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_DOUBLE_BARREL = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.RELOAD) { + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.75F); + if(timer == 19) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallInsert", 1F, 0.9F); + if(timer == 29) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 0.8F); + + if(timer == 12) { + IMagazine mag = ctx.config.getReceivers(stack)[0].getMagazine(stack); + int toEject = mag.getAmountAfterReload(stack) - mag.getAmount(stack, ctx.inventory); + SpentCasing casing = mag.getCasing(stack, ctx.inventory); + if(casing != null) for(int i = 0; i < toEject; i++) CasingCreator.composeEffect(entity.worldObj, entity, 0, -0.1875, -0.375D, -0.24, 0.18, 0, 0.01, -20F + (float)entity.getRNG().nextGaussian() * 5F, (float)entity.getRNG().nextGaussian() * 2.5F, casing.getName(), true, 60, 0.5D, 20); + } + } + + if(type == AnimType.INSPECT) { + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverCock", 1F, 0.75F); + if(timer == 19) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 0.8F); + } + + if(type == AnimType.CYCLE_DRY) { + if(timer == 2) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_ABERRATOR = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(type == AnimType.RELOAD) { + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallRemove", 1F, 0.75F); + if(timer == 32) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.magSmallInsert", 1F, 0.75F); + if(timer == 42) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 0.75F); + } + + if(type == AnimType.CYCLE) { + if(timer == 1) { + int cba = (stack.getItem() == ModItems.gun_aberrator_eott && ctx.configIndex == 0) ? -1 : 1; + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.5, aiming ? 0 : -0.125, aiming ? -0.0625 : -0.25D * cba, -0.05, 0.25, -0.05 * cba, 0.01, -10F + (float)entity.getRNG().nextGaussian() * 10F, (float)entity.getRNG().nextGaussian() * 12.5F, casing.getName()); + } + } + + if(type == AnimType.CYCLE_DRY) { + if(timer == 1) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 0.75F); + if(timer == 9) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pistolCock", 1F, 0.75F); + } + }; + + public static BiConsumer ORCHESTRA_MAS36 = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack) && !WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SCOPE); + + if(type == AnimType.EQUIP) { + if(timer == 10) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.openLatch", 1F, 1F); + if(timer == 18) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.revolverClose", 1F, 1F); + } + + if(type == AnimType.CYCLE) { + if(timer == 7) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltOpen", 0.5F, 1F); + if(timer == 16) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltClose", 0.5F, 1F); + if(timer == 12) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, + 0.375, aiming ? 0 : -0.125, aiming ? 0 : -0.25D, + -0.05, 0.2, -0.025, + 0.01, -10F + (float) entity.getRNG().nextGaussian() * 10F, (float) entity.getRNG().nextGaussian() * 12.5F, casing.getName(), true, 60, 0.5D, 10); + } + } + + if(type == AnimType.CYCLE_DRY) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 0.75F); + if(timer == 7) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltOpen", 0.5F, 1F); + if(timer == 16) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltClose", 0.5F, 1F); + } + + if(type == AnimType.RELOAD) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltOpen", 1F, 1F); + if(timer == 20) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.rifleCock", 1F, 1F); + if(timer == 36) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltClose", 1F, 1F); + } + + if(type == AnimType.JAMMED) { + if(timer == 5) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltOpen", 0.5F, 1F); + if(timer == 12) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltClose", 0.5F, 1F); + if(timer == 16) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltOpen", 0.5F, 1F); + if(timer == 23) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltClose", 0.5F, 1F); + } + + if(type == AnimType.INSPECT) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltOpen", 0.5F, 1F); + if(timer == 17) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltClose", 0.5F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_FIREEXT = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.RELOAD) { + if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.pressureValve", 1F, 1F); + } + }; + + public static BiConsumer ORCHESTRA_CHARGE_THROWER = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.CYCLE_DRY) { + Entity e = entity.worldObj.getEntityByID(ItemGunChargeThrower.getLastHook(stack)); + if(timer == 0 && e == null) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 0.75F); + } + + if(type == AnimType.RELOAD) { + if(timer == 30) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.insertRocket", 1F, 1F); + if(timer == 40) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.boltClose", 1F, 1F); + } + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory10ga.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory10ga.java new file mode 100644 index 000000000..93c0e6913 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory10ga.java @@ -0,0 +1,143 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; + +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.items.ModItems; +import com.hbm.items.ItemEnums.EnumCasingType; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.particle.SpentCasing; +import com.hbm.particle.SpentCasing.CasingType; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; + +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; + +public class XFactory10ga { + + public static BulletConfig g10; + public static BulletConfig g10_shrapnel; + public static BulletConfig g10_du; + public static BulletConfig g10_slug; + public static BulletConfig g10_explosive; + + public static BiConsumer LAMBDA_TINY_EXPLODE = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3 && mop.entityHit == bullet.getThrower()) return; + Lego.tinyExplode(bullet, mop, 1.5F); bullet.setDead(); + }; + + public static void init() { + + float buckshotSpread = 0.035F; + g10 = new BulletConfig().setItem(EnumAmmo.G10).setCasing(EnumCasingType.BUCKSHOT_ADVANCED, 4).setProjectiles(10).setDamage(1F/10F).setSpread(buckshotSpread).setRicochetAngle(15).setThresholdNegation(5F).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0xB52B2B, SpentCasing.COLOR_CASE_12GA).setScale(1F).register("10GA")); + g10_shrapnel = new BulletConfig().setItem(EnumAmmo.G10_SHRAPNEL).setCasing(EnumCasingType.BUCKSHOT_ADVANCED, 4).setProjectiles(10).setDamage(1F/10F).setSpread(buckshotSpread).setRicochetAngle(90).setRicochetCount(15).setThresholdNegation(5F).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0xE5DD00, SpentCasing.COLOR_CASE_12GA).setScale(1F).register("10GAShrapnel")); + g10_du = new BulletConfig().setItem(EnumAmmo.G10_DU).setCasing(EnumCasingType.BUCKSHOT_ADVANCED, 4).setProjectiles(10).setDamage(1F/4F).setSpread(buckshotSpread).setRicochetAngle(15).setThresholdNegation(10F).setArmorPiercing(0.2F).setDoesPenetrate(true).setDamageFalloffByPen(false).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0x538D53, SpentCasing.COLOR_CASE_12GA).setScale(1F).register("10GADU")); + g10_slug = new BulletConfig().setItem(EnumAmmo.G10_SLUG).setCasing(EnumCasingType.BUCKSHOT_ADVANCED, 4).setRicochetAngle(15).setThresholdNegation(10F).setArmorPiercing(0.1F).setDoesPenetrate(true).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0x808080, SpentCasing.COLOR_CASE_12GA).setScale(1F).register("10GASlug")); + g10_explosive = new BulletConfig().setItem(EnumAmmo.G10_EXPLOSIVE).setCasing(EnumCasingType.BUCKSHOT_ADVANCED, 4).setWear(3F).setProjectiles(10).setDamage(1F/4F).setSpread(buckshotSpread).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0xFAC943, SpentCasing.COLOR_CASE_12GA).setScale(1F).register("10GAEXP")).setOnImpact(LAMBDA_TINY_EXPLODE); + + ModItems.gun_double_barrel = new ItemGunBaseNT(WeaponQuality.SPECIAL, new GunConfig() + .dura(1000).draw(10).inspect(39).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(30F).rounds(2).delay(10).reload(41).reloadOnEmpty(true).sound("hbm:weapon.fire.shotgun", 1.0F, 0.9F) + .mag(new MagazineFullReload(0, 2).addConfigs(g10, g10_shrapnel, g10_du, g10_slug, g10_explosive)) + .offset(0.75, -0.0625, -0.1875) + .setupStandardFire().recoil(LAMBDA_RECOIL_DOUBLE_BARREL)) + .setupStandardConfiguration() + .anim(LAMBDA_DOUBLE_BARREL_ANIMS).orchestra(Orchestras.ORCHESTRA_DOUBLE_BARREL) + ).setUnlocalizedName("gun_double_barrel"); + ModItems.gun_double_barrel_sacred_dragon = new ItemGunBaseNT(WeaponQuality.B_SIDE, new GunConfig() + .dura(6000).draw(10).inspect(39).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(45F).spreadAmmo(1.35F).rounds(2).delay(10).reload(41).reloadOnEmpty(true).sound("hbm:weapon.fire.shotgun", 1.0F, 0.9F) + .mag(new MagazineFullReload(0, 2).addConfigs(g10, g10_shrapnel, g10_du, g10_slug, g10_explosive)) + .offset(0.75, -0.0625, -0.1875) + .setupStandardFire().recoil(LAMBDA_RECOIL_DOUBLE_BARREL)) + .setupStandardConfiguration() + .anim(LAMBDA_DOUBLE_BARREL_ANIMS).orchestra(Orchestras.ORCHESTRA_DOUBLE_BARREL) + ).setUnlocalizedName("gun_double_barrel_sacred_dragon"); + } + + public static BiConsumer LAMBDA_RECOIL_DOUBLE_BARREL = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil(10, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5)); + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_DOUBLE_BARREL_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(-60, 0, 0, 0).addPos(0, 0, -3, 500, IType.SIN_DOWN)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, -1, 50).addPos(0, 0, 0, 250)) + .addBus("BUCKLE", new BusAnimationSequence().addPos(0, -60, 0, 50).addPos(0, 0, 0, 250)); + case RELOAD: return new BusAnimation() + .addBus("TURN", new BusAnimationSequence() + .addPos(0, 30, 0, 350, IType.SIN_FULL) + .addPos(0, 30, 0, 1150) + .addPos(0, 0, 0, 350, IType.SIN_FULL)) + .addBus("LEVER", new BusAnimationSequence() + .addPos(0, 0, 0, 250) + .addPos(0, 0, -90, 100, IType.SIN_FULL) + .addPos(0, 0, -90, 1300) + .addPos(0, 0, 0, 100, IType.SIN_FULL)) + .addBus("BARREL", new BusAnimationSequence() + .addPos(0, 0, 0, 300) + .addPos(60, 0, 0, 150, IType.SIN_UP) + .addPos(60, 0, 0, 1150) + .addPos(0, 0, 0, 150, IType.SIN_UP)) + .addBus("LIFT", new BusAnimationSequence() + .addPos(0, 0, 0, 350) + .addPos(-5, 0, 0, 150, IType.SIN_FULL) + .addPos(0, 0, 0, 100, IType.SIN_FULL) + .addPos(0, 0, 0, 700) + .addPos(-5, 0, 0, 100, IType.SIN_FULL) + .addPos(0, 0, 0, 100, IType.SIN_UP) //1500 + .addPos(45, 0, 0, 150) + .addPos(45, 0, 0, 150) + .addPos(-5, 0, 0, 150, IType.SIN_DOWN) + .addPos(0, 0, 0, 100, IType.SIN_FULL)) //2050 + .addBus("SHELLS", new BusAnimationSequence() + .addPos(0, 0, 0, 450) + .addPos(0, 0, -2.5, 100) + .addPos(0, -5, -5, 350, IType.SIN_DOWN) + .addPos(0, -3, -2, 0) + .addPos(0, 0, -2, 250) + .addPos(0, 0, 0, 150, IType.SIN_UP)) //1300 + .addBus("SHELL_FLIP", new BusAnimationSequence().addPos(0, 0, 0, 450).addPos(-360, 0, 0, 450).addPos(0, 0, 0, 0)); + case INSPECT: return new BusAnimation() + .addBus("LEVER", new BusAnimationSequence() + .addPos(0, 0, 0, 250) + .addPos(0, 0, -90, 100, IType.SIN_FULL) + .addPos(0, 0, -90, 800) + .addPos(0, 0, 0, 100, IType.SIN_FULL)) + .addBus("BARREL", new BusAnimationSequence() + .addPos(0, 0, 0, 300) + .addPos(60, 0, 0, 150, IType.SIN_UP) + .addPos(60, 0, 0, 650) + .addPos(0, 0, 0, 150, IType.SIN_UP)) + .addBus("LIFT", new BusAnimationSequence() + .addPos(0, 0, 0, 350) + .addPos(-5, 0, 0, 150, IType.SIN_FULL) + .addPos(0, 0, 0, 100, IType.SIN_FULL) + .addPos(0, 0, 0, 200) + .addPos(-5, 0, 0, 100, IType.SIN_FULL) + .addPos(0, 0, 0, 100, IType.SIN_UP) //1500 + .addPos(45, 0, 0, 150) + .addPos(45, 0, 0, 150) + .addPos(-5, 0, 0, 150, IType.SIN_DOWN) + .addPos(0, 0, 0, 100, IType.SIN_FULL)); + } + + return null; + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory12ga.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory12ga.java new file mode 100644 index 000000000..490bd64b7 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory12ga.java @@ -0,0 +1,682 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.List; +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.Function; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.bomb.BlockDetonatable; +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.entity.projectile.EntityDuchessGambit; +import com.hbm.extprop.HbmLivingProps; +import com.hbm.items.ModItems; +import com.hbm.items.ItemEnums.EnumCasingType; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.GunState; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret; +import com.hbm.items.weapon.sedna.mags.MagazineBelt; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.items.weapon.sedna.mags.MagazineSingleReload; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.particle.SpentCasing; +import com.hbm.particle.SpentCasing.CasingType; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; +import com.hbm.util.BobMathUtil; +import com.hbm.util.TrackerUtil; +import com.hbm.util.Vec3NT; +import com.hbm.util.DamageResistanceHandler.DamageClass; +import com.hbm.util.EntityDamageUtil; + +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraft.world.WorldServer; +import net.minecraftforge.common.util.ForgeDirection; + +public class XFactory12ga { + + public static BulletConfig g12_bp; + public static BulletConfig g12_bp_magnum; + public static BulletConfig g12_bp_slug; + public static BulletConfig g12; + public static BulletConfig g12_slug; + public static BulletConfig g12_flechette; + public static BulletConfig g12_magnum; + public static BulletConfig g12_explosive; + public static BulletConfig g12_phosphorus; + //public static BulletConfig g12_anthrax; + public static BulletConfig g12_equestrian_bj; + public static BulletConfig g12_equestrian_tkr; + + public static BulletConfig g12_shredder; + public static BulletConfig g12_shredder_slug; + public static BulletConfig g12_shredder_flechette; + public static BulletConfig g12_shredder_magnum; + public static BulletConfig g12_shredder_explosive; + public static BulletConfig g12_shredder_phosphorus; + + public static BulletConfig g12_sub; + public static BulletConfig g12_sub_slug; + public static BulletConfig g12_sub_flechette; + public static BulletConfig g12_sub_magnum; + public static BulletConfig g12_sub_explosive; + public static BulletConfig g12_sub_phosphorus; + + public static BiConsumer LAMBDA_STANDARD_EXPLODE = (bullet, mop) -> { + Lego.standardExplode(bullet, mop, 2F); bullet.setDead(); + }; + + public static BiConsumer LAMBDA_BOAT = (bullet, mop) -> { + EntityDuchessGambit pippo = new EntityDuchessGambit(bullet.worldObj); + pippo.posX = mop.hitVec.xCoord; + pippo.posY = mop.hitVec.yCoord + 50; + pippo.posZ = mop.hitVec.zCoord;; + bullet.worldObj.spawnEntityInWorld(pippo); + bullet.worldObj.playSoundEffect(pippo.posX, pippo.posY + 50, pippo.posZ, "hbm:weapon.boat", 100F, 1F); + bullet.setDead(); + }; + + public static BulletConfig makeShredderConfig(BulletConfig original, BulletConfig submunition) { + BulletConfig cfg = new BulletConfig().setBeam().setRenderRotations(false).setLife(5).setDamage(original.damageMult * original.projectilesMax).setupDamageClass(DamageClass.LASER); + cfg.setItem(original.ammo); + cfg.setCasing(original.casing); + cfg.setOnBeamImpact((beam, mop) -> { + + int projectiles = submunition.projectilesMin; + if(submunition.projectilesMax > submunition.projectilesMin) projectiles += beam.worldObj.rand.nextInt(submunition.projectilesMax - submunition.projectilesMin + 1); + + if(mop.typeOfHit == mop.typeOfHit.BLOCK) { + + ForgeDirection dir = ForgeDirection.getOrientation(mop.sideHit); + + mop.hitVec.xCoord += dir.offsetX * 0.1; + mop.hitVec.yCoord += dir.offsetY * 0.1; + mop.hitVec.zCoord += dir.offsetZ * 0.1; + + spawnPulse(beam.worldObj, mop, beam.rotationYaw, beam.rotationPitch); + + List blast = beam.worldObj.getEntitiesWithinAABBExcludingEntity(beam, AxisAlignedBB.getBoundingBox(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord).expand(0.75, 0.75, 0.75)); + DamageSource source = BulletConfig.getDamage(beam, beam.getThrower(), DamageClass.LASER); + + for(Entity e : blast) { + if(!e.isEntityAlive()) continue; + if(e instanceof EntityLivingBase) { + EntityDamageUtil.attackEntityFromNT((EntityLivingBase) e, source, beam.damage, true, false, 0D, 0F, 0F); + if(!e.isEntityAlive()) ConfettiUtil.decideConfetti((EntityLivingBase) e, source); + } else { + e.attackEntityFrom(source, beam.damage); + } + } + + for(int i = 0; i < projectiles; i++) { + EntityBulletBaseMK4 bullet = new EntityBulletBaseMK4(beam.worldObj, beam.thrower, submunition, beam.damage * submunition.damageMult, 0.2F, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, dir.offsetX, dir.offsetY, dir.offsetZ); + bullet.worldObj.spawnEntityInWorld(bullet); + } + } + + if(mop.typeOfHit == mop.typeOfHit.ENTITY) { + + spawnPulse(beam.worldObj, mop, beam.rotationYaw, beam.rotationPitch); + + for(int i = 0; i < projectiles; i++) { + Vec3NT vec = new Vec3NT(beam.worldObj.rand.nextGaussian(), beam.worldObj.rand.nextGaussian(), beam.worldObj.rand.nextGaussian()).normalizeSelf(); + EntityBulletBaseMK4 bullet = new EntityBulletBaseMK4(beam.worldObj, beam.thrower, submunition, beam.damage * submunition.damageMult, 0.2F, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, vec.xCoord, vec.yCoord, vec.zCoord); + bullet.worldObj.spawnEntityInWorld(bullet); + } + } + }); + return cfg; + } + + public static BulletConfig makeShredderSubmunition(BulletConfig original) { + BulletConfig cfg = original.clone(); + cfg.setRicochetAngle(90).setRicochetCount(3).setVel(0.5F).setLife(50).setupDamageClass(DamageClass.LASER).setOnRicochet(LAMBDA_SHREDDER_RICOCHET); + return cfg; + } + + //this sucks + public static BiConsumer LAMBDA_SHREDDER_RICOCHET = (bullet, mop) -> { + + if(mop.typeOfHit == mop.typeOfHit.BLOCK) { + + Block b = bullet.worldObj.getBlock(mop.blockX, mop.blockY, mop.blockZ); + if(b.getMaterial() == Material.glass) { + bullet.worldObj.func_147480_a(mop.blockX, mop.blockY, mop.blockZ, false); + bullet.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); + return; + } + if(b instanceof BlockDetonatable) { + ((BlockDetonatable) b).onShot(bullet.worldObj, mop.blockX, mop.blockY, mop.blockZ); + } + if(b == ModBlocks.deco_crt) { + int meta = bullet.worldObj.getBlockMetadata(mop.blockX, mop.blockY, mop.blockZ); + bullet.worldObj.setBlockMetadataWithNotify(mop.blockX, mop.blockY, mop.blockZ, meta % 4 + 4, 3); + } + + ForgeDirection dir = ForgeDirection.getOrientation(mop.sideHit); + Vec3 face = Vec3.createVectorHelper(dir.offsetX, dir.offsetY, dir.offsetZ); + Vec3 vel = Vec3.createVectorHelper(bullet.motionX, bullet.motionY, bullet.motionZ).normalize(); + + double angle = Math.abs(BobMathUtil.getCrossAngle(vel, face) - 90); + + if(angle <= bullet.config.ricochetAngle) { + + spawnPulse(bullet.worldObj, mop, bullet.rotationYaw, bullet.rotationPitch); + + List blast = bullet.worldObj.getEntitiesWithinAABBExcludingEntity(bullet, AxisAlignedBB.getBoundingBox(bullet.posX, bullet.posY, bullet.posZ, bullet.posX, bullet.posY, bullet.posZ).expand(0.5, 0.5, 0.5)); + DamageSource source = BulletConfig.getDamage(bullet, bullet.getThrower(), DamageClass.LASER); + + for(Entity e : blast) { + if(!e.isEntityAlive()) continue; + if(e instanceof EntityLivingBase) { + EntityDamageUtil.attackEntityFromNT((EntityLivingBase) e, source, bullet.damage, true, false, 0D, 0F, 0F); + if(!e.isEntityAlive()) ConfettiUtil.decideConfetti((EntityLivingBase) e, source); + } else { + e.attackEntityFrom(source, bullet.damage); + } + } + + bullet.ricochets++; + if(bullet.ricochets > bullet.config.maxRicochetCount) { + bullet.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); + bullet.setDead(); + } + + switch(mop.sideHit) { + case 0: case 1: bullet.motionY *= -1; break; + case 2: case 3: bullet.motionZ *= -1; break; + case 4: case 5: bullet.motionX *= -1; break; + } + bullet.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); + //send a teleport so the ricochet is more accurate instead of the interp smoothing fucking everything up + if(bullet.worldObj instanceof WorldServer) TrackerUtil.sendTeleport((WorldServer) bullet.worldObj, bullet); + return; + + } else { + bullet.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); + bullet.setDead(); + } + } + }; + + public static void spawnPulse(World world, MovingObjectPosition mop, float yaw, float pitch) { + + double x = mop.hitVec.xCoord; + double y = mop.hitVec.yCoord; + double z = mop.hitVec.zCoord; + + if(mop.typeOfHit == mop.typeOfHit.BLOCK) { + if(mop.sideHit == ForgeDirection.UP.ordinal()) { yaw = 0F; pitch = 0F; } + if(mop.sideHit == ForgeDirection.DOWN.ordinal()) { yaw = 0F; pitch = 0F; } + if(mop.sideHit == ForgeDirection.NORTH.ordinal()) { yaw = 0F; pitch = 90F; } + if(mop.sideHit == ForgeDirection.SOUTH.ordinal()) { yaw = 180F; pitch = 90F; } + if(mop.sideHit == ForgeDirection.EAST.ordinal()) { yaw = 90F; pitch = 90F; } + if(mop.sideHit == ForgeDirection.WEST.ordinal()) { yaw = 270F; pitch = 90F; } + + ForgeDirection dir = ForgeDirection.getOrientation(mop.sideHit); + + x += dir.offsetX * 0.05; + y += dir.offsetY * 0.05; + z += dir.offsetZ * 0.05; + } + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "plasmablast"); + data.setFloat("r", 0.5F); + data.setFloat("g", 0.5F); + data.setFloat("b", 1.0F); + data.setFloat("pitch", pitch); + data.setFloat("yaw", yaw); + data.setFloat("scale", 0.75F); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(world.provider.dimensionId, x, y, z, 100)); + } + + public static void init() { + + float buckshotSpread = 0.035F; + float magnumSpread = 0.015F; + g12_bp = new BulletConfig().setItem(EnumAmmo.G12_BP).setCasing(EnumCasingType.SHOTSHELL, 12).setBlackPowder(true).setProjectiles(8).setDamage(0.75F/8F).setSpread(buckshotSpread).setRicochetAngle(15).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(SpentCasing.COLOR_CASE_BRASS, SpentCasing.COLOR_CASE_BRASS).setScale(0.75F).register("12GA_BP")); + g12_bp_magnum = new BulletConfig().setItem(EnumAmmo.G12_BP_MAGNUM).setCasing(EnumCasingType.SHOTSHELL, 12).setBlackPowder(true).setProjectiles(4).setDamage(0.75F/4F).setSpread(buckshotSpread).setRicochetAngle(25).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(SpentCasing.COLOR_CASE_BRASS, SpentCasing.COLOR_CASE_BRASS).setScale(0.75F).register("12GA_BP_MAGNUM")); + g12_bp_slug = new BulletConfig().setItem(EnumAmmo.G12_BP_SLUG).setCasing(EnumCasingType.SHOTSHELL, 12).setBlackPowder(true).setDamage(0.75F).setSpread(0.01F).setRicochetAngle(5).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(SpentCasing.COLOR_CASE_BRASS, SpentCasing.COLOR_CASE_BRASS).setScale(0.75F).register("12GA_BP_SLUG")); + g12 = new BulletConfig().setItem(EnumAmmo.G12).setCasing(EnumCasingType.BUCKSHOT, 6).setProjectiles(8).setDamage(1F/8F).setSpread(buckshotSpread).setRicochetAngle(15).setThresholdNegation(2F).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0xB52B2B, SpentCasing.COLOR_CASE_BRASS).setScale(0.75F).register("12GA")); + g12_slug = new BulletConfig().setItem(EnumAmmo.G12_SLUG).setCasing(EnumCasingType.BUCKSHOT, 6).setHeadshot(1.5F).setSpread(0.0F).setRicochetAngle(25).setThresholdNegation(4F).setArmorPiercing(0.15F).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0x393939, SpentCasing.COLOR_CASE_BRASS).setScale(0.75F).register("12GA_SLUG")); + g12_flechette = new BulletConfig().setItem(EnumAmmo.G12_FLECHETTE).setCasing(EnumCasingType.BUCKSHOT, 6).setProjectiles(8).setDamage(1F/8F).setThresholdNegation(5F).setArmorPiercing(0.2F).setSpread(0.025F).setRicochetAngle(5).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0x3C80F0, SpentCasing.COLOR_CASE_BRASS).setScale(0.75F).register("12GA_FLECHETTE")); + g12_magnum = new BulletConfig().setItem(EnumAmmo.G12_MAGNUM).setCasing(EnumCasingType.BUCKSHOT_ADVANCED, 6).setProjectiles(4).setDamage(2F/4F).setSpread(magnumSpread).setRicochetAngle(15).setThresholdNegation(4F).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0x278400, SpentCasing.COLOR_CASE_12GA).setScale(0.75F).register("12GA_MAGNUM")); + g12_explosive = new BulletConfig().setItem(EnumAmmo.G12_EXPLOSIVE).setCasing(EnumCasingType.BUCKSHOT_ADVANCED, 6).setDamage(2.5F).setOnImpact(LAMBDA_STANDARD_EXPLODE).setSpread(0F).setRicochetAngle(15).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0xDA4127, SpentCasing.COLOR_CASE_12GA).setScale(0.75F).register("12GA_EXPLOSIVE")); + g12_phosphorus = new BulletConfig().setItem(EnumAmmo.G12_PHOSPHORUS).setCasing(EnumCasingType.BUCKSHOT_ADVANCED, 6).setProjectiles(8).setDamage(1F/8F).setSpread(magnumSpread).setRicochetAngle(15).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0x910001, SpentCasing.COLOR_CASE_12GA).setScale(0.75F).register("12GA_PHOSPHORUS")) + .setOnImpact((bullet, mop) -> { if(mop.entityHit != null && mop.entityHit instanceof EntityLivingBase) { HbmLivingProps data = HbmLivingProps.getData((EntityLivingBase) mop.entityHit); if(data.phosphorus < 300) data.phosphorus = 300; } }); + //g12_anthrax = new BulletConfig().setItem(EnumAmmo.G12_ANTHRAX).setProjectiles(8).setDamage(1F/8F).setSpread(0.015F).setRicochetAngle(15).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0x749300, SpentCasing.COLOR_CASE_12GA).setScale(0.75F).register("12GA_ANTHRAX")); + g12_equestrian_bj = new BulletConfig().setItem(EnumAmmoSecret.G12_EQUESTRIAN).setDamage(0F).setOnImpact(LAMBDA_BOAT).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(SpentCasing.COLOR_CASE_EQUESTRIAN, SpentCasing.COLOR_CASE_12GA).setScale(0.75F).register("12gaEquestrianBJ")); + g12_equestrian_tkr = new BulletConfig().setItem(EnumAmmoSecret.G12_EQUESTRIAN).setDamage(0F).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(SpentCasing.COLOR_CASE_EQUESTRIAN, SpentCasing.COLOR_CASE_12GA).setScale(0.75F).register("12gaEquestrianTKR")); + + BulletConfig[] all = new BulletConfig[] {g12_bp, g12_bp_magnum, g12_bp_slug, g12, g12_slug, g12_flechette, g12_magnum, g12_explosive, g12_phosphorus}; + + g12_sub = makeShredderSubmunition(g12); + g12_sub_slug = makeShredderSubmunition(g12_slug); + g12_sub_flechette = makeShredderSubmunition(g12_flechette); + g12_sub_magnum = makeShredderSubmunition(g12_magnum); + g12_sub_explosive = makeShredderSubmunition(g12_explosive); + g12_sub_phosphorus = makeShredderSubmunition(g12_phosphorus); + g12_shredder = makeShredderConfig(g12, g12_sub); + g12_shredder_slug = makeShredderConfig(g12_slug, g12_sub_slug); + g12_shredder_flechette = makeShredderConfig(g12_flechette, g12_sub_flechette); + g12_shredder_magnum = makeShredderConfig(g12_magnum, g12_sub_magnum); + g12_shredder_explosive = makeShredderConfig(g12_explosive, g12_sub_explosive); + g12_shredder_phosphorus = makeShredderConfig(g12_phosphorus, g12_sub_phosphorus); + + ModItems.gun_maresleg = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(600).draw(10).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(16F).delay(20).reload(22, 10, 13, 0).jam(24).sound("hbm:weapon.fire.shotgun", 1.0F, 1.0F) + .mag(new MagazineSingleReload(0, 6).addConfigs(all)) + .offset(0.75, -0.0625, -0.1875) + .setupStandardFire().recoil(LAMBDA_RECOIL_MARESLEG)) + .setupStandardConfiguration() + .anim(LAMBDA_MARESLEG_ANIMS).orchestra(Orchestras.ORCHESTRA_MARESLEG) + ).setNameMutator(LAMBDA_NAME_MARESLEG) + .setUnlocalizedName("gun_maresleg"); + ModItems.gun_maresleg_akimbo = new ItemGunBaseNT(WeaponQuality.B_SIDE, + new GunConfig().dura(600).draw(5).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(16F).spreadHipfire(0F).spreadAmmo(1.35F).delay(20).reload(22, 10, 13, 0).jam(24).sound("hbm:weapon.fire.shotgun", 1.0F, 1.0F) + .mag(new MagazineSingleReload(0, 6).addConfigs(all)) + .offset(0.75, -0.0625, 0.1875D) + .setupStandardFire().recoil(LAMBDA_RECOIL_MARESLEG)) + .pp(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD) + .decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) + .anim(LAMBDA_MARESLEG_SHORT_ANIMS).orchestra(Orchestras.ORCHESTRA_MARESLEG_AKIMBO), + new GunConfig().dura(600).draw(5).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(16F).spreadHipfire(0F).spreadAmmo(1.35F).delay(20).reload(22, 10, 13, 0).jam(24).sound("hbm:weapon.fire.shotgun", 1.0F, 1.0F) + .mag(new MagazineSingleReload(1, 6).addConfigs(all)) + .offset(0.75, -0.0625, -0.1875) + .setupStandardFire().recoil(LAMBDA_RECOIL_MARESLEG)) + .ps(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD) + .decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) + .anim(LAMBDA_MARESLEG_SHORT_ANIMS).orchestra(Orchestras.ORCHESTRA_MARESLEG_AKIMBO) + ).setUnlocalizedName("gun_maresleg_akimbo"); + ModItems.gun_maresleg_broken = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() + .dura(0).draw(5).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(48F).spreadAmmo(1.15F).delay(20).reload(22, 10, 13, 0).jam(24).sound("hbm:weapon.fire.shotgun", 1.0F, 1.0F) + .mag(new MagazineSingleReload(0, 6).addConfigs(g12_equestrian_tkr, g12_bp, g12_bp_magnum, g12_bp_slug, g12, g12_slug, g12_flechette, g12_magnum, g12_explosive, g12_phosphorus)) + .offset(0.75, -0.0625, -0.1875) + .canFire(Lego.LAMBDA_STANDARD_CAN_FIRE).fire(Lego.LAMBDA_NOWEAR_FIRE).recoil(LAMBDA_RECOIL_MARESLEG)) + .setupStandardConfiguration() + .anim(LAMBDA_MARESLEG_SHORT_ANIMS).orchestra(Orchestras.ORCHESTRA_MARESLEG_SHORT) + ).setUnlocalizedName("gun_maresleg_broken"); + + ModItems.gun_liberator = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(200).draw(20).inspect(21).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(16F).delay(20).rounds(4).reload(25, 15, 7, 0).jam(45).sound("hbm:weapon.fire.shotgunAlt", 1.0F, 1.0F) + .mag(new MagazineSingleReload(0, 4).addConfigs(all)) + .offset(0.75, -0.0625, -0.1875) + .setupStandardFire().recoil(LAMBDA_RECOIL_LIBERATOR)) + .setupStandardConfiguration() + .anim(LAMBDA_LIBERATOR_ANIMS).orchestra(Orchestras.ORCHESTRA_LIBERATOR) + ).setUnlocalizedName("gun_liberator"); + + ModItems.gun_spas12 = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(600).draw(20).inspect(39).reloadSequential(true).reloadChangeType(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(32F).spreadHipfire(0F).delay(20).reload(5, 10, 10, 10, 0).jam(36).sound("hbm:weapon.shotgunShoot", 1.0F, 1.0F) + .mag(new MagazineSingleReload(0, 8).addConfigs(all)) + .offset(0.75, -0.0625, -0.1875) + .setupStandardFire().recoil(LAMBDA_RECOIL_MARESLEG)) + .setupStandardConfiguration().ps(LAMBDA_SPAS_SECONDARY).pt(null) + .anim(LAMBDA_SPAS_ANIMS).orchestra(Orchestras.ORCHESTRA_SPAS) + ).setUnlocalizedName("gun_spas12"); + + ModItems.gun_autoshotgun = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(2_000).draw(10).inspect(33).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(48F).delay(10).auto(true).autoAfterDry(true).dryfireAfterAuto(true).reload(44).jam(19).sound("hbm:weapon.fire.shotgunAuto", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 20).addConfigs(all)) + .offset(0.75, -0.125, -0.25) + .setupStandardFire().recoil(LAMBDA_RECOIL_AUTOSHOTGUN)) + .setupStandardConfiguration() + .anim(LAMBDA_SHREDDER_ANIMS).orchestra(Orchestras.ORCHESTRA_SHREDDER) + ).setUnlocalizedName("gun_autoshotgun"); + ModItems.gun_autoshotgun_shredder = new ItemGunBaseNT(WeaponQuality.B_SIDE, new GunConfig() + .dura(2_000).draw(10).inspect(33).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(50F).delay(10).auto(true).autoAfterDry(true).dryfireAfterAuto(true).reload(44).jam(19).sound("hbm:weapon.fire.shotgunAuto", 1.0F, 1.0F) + .mag(new MagazineBelt().addConfigs(g12_shredder, g12_shredder_slug, g12_shredder_flechette, g12_shredder_magnum, g12_shredder_explosive, g12_shredder_phosphorus)) + .offset(0.75, -0.125, -0.25) + .setupStandardFire().recoil(LAMBDA_RECOIL_AUTOSHOTGUN)) + .setupStandardConfiguration() + .anim(LAMBDA_SHREDDER_ANIMS).orchestra(Orchestras.ORCHESTRA_SHREDDER) + ).setUnlocalizedName("gun_autoshotgun_shredder"); + + ModItems.gun_autoshotgun_sexy = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() + .dura(5_000).draw(20).inspect(33).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).hideCrosshair(false).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(64F).delay(4).auto(true).dryfireAfterAuto(true).reload(110).jam(19).sound("hbm:weapon.fire.shotgunAuto", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 100).addConfigs(g12_equestrian_bj, g12_bp, g12_bp_magnum, g12_bp_slug, g12, g12_slug, g12_flechette, g12_magnum, g12_explosive, g12_phosphorus)) + .offset(0.75, -0.125, -0.25) + .setupStandardFire().recoil(LAMBDA_RECOIL_SEXY)) + .setupStandardConfiguration() + .anim(LAMBDA_SEXY_ANIMS).orchestra(Orchestras.ORCHESTRA_SHREDDER_SEXY) + ).setUnlocalizedName("gun_autoshotgun_sexy"); + } + + public static Function LAMBDA_NAME_MARESLEG = (stack) -> { + if(WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SAWED_OFF)) return stack.getUnlocalizedName() + "_short"; + return null; + }; + + public static BiConsumer LAMBDA_RECOIL_MARESLEG = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil(10, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5)); + }; + + public static BiConsumer LAMBDA_RECOIL_LIBERATOR = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil(5, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5)); + }; + + public static BiConsumer LAMBDA_RECOIL_AUTOSHOTGUN = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil((float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5) + 1.5F, (float) (ctx.getPlayer().getRNG().nextGaussian() * 0.5)); + }; + + public static BiConsumer LAMBDA_RECOIL_SEXY = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil((float) (ctx.getPlayer().getRNG().nextGaussian() * 0.5), (float) (ctx.getPlayer().getRNG().nextGaussian() * 0.5)); + }; + + public static BiConsumer LAMBDA_SPAS_SECONDARY = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + EntityPlayer player = ctx.getPlayer(); + Receiver rec = ctx.config.getReceivers(stack)[0]; + int index = ctx.configIndex; + GunState state = ItemGunBaseNT.getState(stack, index); + if(state == GunState.IDLE) { + if(rec.getCanFire(stack).apply(stack, ctx)) { + rec.getOnFire(stack).accept(stack, ctx); + int remaining = rec.getRoundsPerCycle(stack); + int timeFired = 1; + for(int i = 0; i < remaining; i++) { + if(rec.getCanFire(stack).apply(stack, ctx)) { + rec.getOnFire(stack).accept(stack, ctx); + timeFired++; + } + } + if(rec.getFireSound(stack) != null) entity.worldObj.playSoundEffect(entity.posX, entity.posY, entity.posZ, rec.getFireSound(stack), rec.getFireVolume(stack), rec.getFirePitch(stack) * (timeFired > 1 ? 0.9F : 1F)); + ItemGunBaseNT.setState(stack, index, GunState.COOLDOWN); + ItemGunBaseNT.setTimer(stack, index, 20); + } else { + if(rec.getDoesDryFire(stack)) { + ItemGunBaseNT.playAnimation(player, stack, AnimType.CYCLE_DRY, index); + ItemGunBaseNT.setState(stack, index, GunState.DRAWING); + ItemGunBaseNT.setTimer(stack, index, rec.getDelayAfterDryFire(stack)); + } + } + } + if(state == GunState.RELOADING) { + ItemGunBaseNT.setReloadCancel(stack, true); + } + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_MARESLEG_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(-60, 0, 0, 0).addPos(0, 0, -3, 500, IType.SIN_DOWN)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, 0, 50).addPos(0, 0, -1, 50).addPos(0, 0, 0, 250)) + .addBus("SIGHT", new BusAnimationSequence().addPos(35, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)) + .addBus("LEVER", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(-85, 0, 0, 200).addPos(0, 0, 0, 200)) + .addBus("TURN", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(0, 0, 45, 200, IType.SIN_DOWN).addPos(0, 0, 0, 200, IType.SIN_UP)) + .addBus("HAMMER", new BusAnimationSequence().addPos(30, 0, 0, 50).addPos(30, 0, 0, 550).addPos(0, 0, 0, 200)); + case CYCLE_DRY: return new BusAnimation() + .addBus("LEVER", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(-90, 0, 0, 200).addPos(0, 0, 0, 200)) + .addBus("TURN", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(0, 0, 45, 200, IType.SIN_DOWN).addPos(0, 0, 0, 200, IType.SIN_UP)) + .addBus("HAMMER", new BusAnimationSequence().addPos(30, 0, 0, 50).addPos(30, 0, 0, 550).addPos(0, 0, 0, 200)); + case RELOAD: + boolean empty = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory) <= 0; + return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().addPos(30, 0, 0, 400, IType.SIN_FULL)) + .addBus("LEVER", new BusAnimationSequence().addPos(0, 0, 0, 400).addPos(-85, 0, 0, 200)) + .addBus("SHELL", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(0, 0.25, -3, 0).addPos(0, empty ? 0.25 : 0.125, -1.5, 150, IType.SIN_UP).addPos(0, empty ? 0.25 : -0.25, 0, 150, IType.SIN_DOWN)) + .addBus("FLAG", new BusAnimationSequence().addPos(0, 0, 0, empty ? 900 : 0).addPos(1, 1, 1, 0)); + case RELOAD_CYCLE: return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().addPos(30, 0, 0, 0)) + .addBus("LEVER", new BusAnimationSequence().addPos(-85, 0, 0, 0)) + .addBus("SHELL", new BusAnimationSequence().addPos(0, 0.25, -3, 0).addPos(0, 0.125, -1.5, 150, IType.SIN_UP).addPos(0, -0.125, 0, 150, IType.SIN_DOWN)) + .addBus("FLAG", new BusAnimationSequence().addPos(1, 1, 1, 0)); + case RELOAD_END: return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().addPos(30, 0, 0, 0).addPos(30, 0, 0, 250).addPos(0, 0, 0, 400, IType.SIN_FULL)) + .addBus("LEVER", new BusAnimationSequence().addPos(-85, 0, 0, 0).addPos(0, 0, 0, 200)) + .addBus("FLAG", new BusAnimationSequence().addPos(1, 1, 1, 0)); + case JAMMED: return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().addPos(30, 0, 0, 0).addPos(30, 0, 0, 250).addPos(0, 0, 0, 400, IType.SIN_FULL)) + .addBus("LEVER", new BusAnimationSequence().addPos(-85, 0, 0, 0).addPos(-15, 0, 0, 200).addPos(-15, 0, 0, 650).addPos(-85, 0, 0, 200).addPos(-15, 0, 0, 200).addPos(-15, 0, 0, 200).addPos(-85, 0, 0, 200).addPos(0, 0, 0, 200)) + .addBus("TURN", new BusAnimationSequence().addPos(0, 0, 0, 850).addPos(0, 0, 45, 200, IType.SIN_DOWN).addPos(0, 0, 45, 800).addPos(0, 0, 0, 200, IType.SIN_UP)) + .addBus("FLAG", new BusAnimationSequence().addPos(1, 1, 1, 0)); + case INSPECT: return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().addPos(-35, 0, 0, 300, IType.SIN_FULL).addPos(-35, 0, 0, 1150).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("TURN", new BusAnimationSequence().addPos(0, 0, 0, 450).addPos(0, 0, -90, 500, IType.SIN_FULL).addPos(0, 0, -90, 500).addPos(0, 0, 0, 500, IType.SIN_FULL)); + } + + return null; + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_MARESLEG_SHORT_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(-60, 0, 0, 0).addPos(0, 0, -3, 250, IType.SIN_DOWN)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, 0, 50).addPos(0, 0, -1, 50).addPos(0, 0, 0, 250)) + .addBus("SIGHT", new BusAnimationSequence().addPos(35, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)) + .addBus("LEVER", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(-85, 0, 0, 200).addPos(0, 0, 0, 200)) + .addBus("HAMMER", new BusAnimationSequence().addPos(30, 0, 0, 50).addPos(30, 0, 0, 550).addPos(0, 0, 0, 200)) + .addBus("FLIP", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(360, 0, 0, 400)) + .addBus("SHELL", new BusAnimationSequence().addPos(-20, 0, 0, 0)); //gets rid of the shell in the barrel during cycling + case CYCLE_DRY: return new BusAnimation() + .addBus("LEVER", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(-90, 0, 0, 200).addPos(0, 0, 0, 200)) + .addBus("HAMMER", new BusAnimationSequence().addPos(30, 0, 0, 50).addPos(30, 0, 0, 550).addPos(0, 0, 0, 200)) + .addBus("FLIP", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(360, 0, 0, 400)) + .addBus("SHELL", new BusAnimationSequence().addPos(-20, 0, 0, 0)); + case JAMMED: return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().addPos(30, 0, 0, 0).addPos(30, 0, 0, 250).addPos(0, 0, 0, 400, IType.SIN_FULL)) + .addBus("LEVER", new BusAnimationSequence().addPos(-85, 0, 0, 0).addPos(-15, 0, 0, 200).addPos(-15, 0, 0, 650).addPos(-85, 0, 0, 200).addPos(-15, 0, 0, 200).addPos(-15, 0, 0, 200).addPos(-85, 0, 0, 200).addPos(0, 0, 0, 200)) + .addBus("FLAG", new BusAnimationSequence().addPos(1, 1, 1, 0)); + } + + return LAMBDA_MARESLEG_ANIMS.apply(stack, type); + }; + + /** This fucking sucks */ + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_LIBERATOR_ANIMS = (stack, type) -> { + int ammo = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory); + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, -2.5, 50, IType.SIN_DOWN).addPos(0, 0, 0, 350, IType.SIN_FULL)); + case CYCLE_DRY: return new BusAnimation(); + case RELOAD: if(ammo == 0) return new BusAnimation() + .addBus("LATCH", new BusAnimationSequence().addPos(15, 0, 0, 100)) + .addBus("BREAK", new BusAnimationSequence().addPos(0, 0, 0, 100).addPos(60, 0, 0, 350, IType.SIN_DOWN)) + .addBus("SHELL1", new BusAnimationSequence().addPos(2, -4, -2, 0).addPos(2, -4, -2, 400).addPos(0, 0, -2, 450, IType.SIN_FULL).addPos(0, 0, 0, 50, IType.SIN_UP)) + .addBus("SHELL2", new BusAnimationSequence().addPos(2, -4, -2, 0)) + .addBus("SHELL3", new BusAnimationSequence().addPos(2, -4, -2, 0)) + .addBus("SHELL4", new BusAnimationSequence().addPos(2, -4, -2, 0)); + if(ammo == 1) return new BusAnimation() + .addBus("LATCH", new BusAnimationSequence().addPos(15, 0, 0, 100)) + .addBus("BREAK", new BusAnimationSequence().addPos(0, 0, 0, 100).addPos(60, 0, 0, 350, IType.SIN_DOWN)) + .addBus("SHELL1", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus("SHELL2", new BusAnimationSequence().addPos(2, -4, -2, 0).addPos(2, -4, -2, 400).addPos(0, 0, -2, 450, IType.SIN_FULL).addPos(0, 0, 0, 50, IType.SIN_UP)) + .addBus("SHELL3", new BusAnimationSequence().addPos(2, -4, -2, 0)) + .addBus("SHELL4", new BusAnimationSequence().addPos(2, -4, -2, 0)); + if(ammo == 2) return new BusAnimation() + .addBus("LATCH", new BusAnimationSequence().addPos(15, 0, 0, 100)) + .addBus("BREAK", new BusAnimationSequence().addPos(0, 0, 0, 100).addPos(60, 0, 0, 350, IType.SIN_DOWN)) + .addBus("SHELL1", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus("SHELL2", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus("SHELL3", new BusAnimationSequence().addPos(2, -4, -2, 0).addPos(2, -4, -2, 400).addPos(0, 0, -2, 450, IType.SIN_FULL).addPos(0, 0, 0, 50, IType.SIN_UP)) + .addBus("SHELL4", new BusAnimationSequence().addPos(2, -4, -2, 0)); + if(ammo == 3) return new BusAnimation() + .addBus("LATCH", new BusAnimationSequence().addPos(15, 0, 0, 100)) + .addBus("BREAK", new BusAnimationSequence().addPos(0, 0, 0, 100).addPos(60, 0, 0, 350, IType.SIN_DOWN)) + .addBus("SHELL1", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus("SHELL2", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus("SHELL3", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus("SHELL4", new BusAnimationSequence().addPos(2, -4, -2, 0).addPos(2, -4, -2, 400).addPos(0, 0, -2, 450, IType.SIN_FULL).addPos(0, 0, 0, 50, IType.SIN_UP)); + case RELOAD_CYCLE: + if(ammo == 0) return new BusAnimation() + .addBus("LATCH", new BusAnimationSequence().addPos(15, 0, 0, 0)) + .addBus("BREAK", new BusAnimationSequence().addPos(60, 0, 0, 0)) + .addBus("SHELL1", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus("SHELL2", new BusAnimationSequence().addPos(2, -4, -2, 0).addPos(0, 0, -2, 450, IType.SIN_FULL).addPos(0, 0, 0, 50, IType.SIN_UP)) + .addBus("SHELL3", new BusAnimationSequence().addPos(2, -4, -2, 0)) + .addBus("SHELL4", new BusAnimationSequence().addPos(2, -4, -2, 0)); + if(ammo == 1) return new BusAnimation() + .addBus("LATCH", new BusAnimationSequence().addPos(15, 0, 0, 0)) + .addBus("BREAK", new BusAnimationSequence().addPos(60, 0, 0, 0)) + .addBus("SHELL1", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus("SHELL2", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus("SHELL3", new BusAnimationSequence().addPos(2, -4, -2, 0).addPos(0, 0, -2, 450, IType.SIN_FULL).addPos(0, 0, 0, 50, IType.SIN_UP)) + .addBus("SHELL4", new BusAnimationSequence().addPos(2, -4, -2, 0)); + if(ammo == 2) return new BusAnimation() + .addBus("LATCH", new BusAnimationSequence().addPos(15, 0, 0, 0)) + .addBus("BREAK", new BusAnimationSequence().addPos(60, 0, 0, 0)) + .addBus("SHELL1", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus("SHELL2", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus("SHELL3", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus("SHELL4", new BusAnimationSequence().addPos(2, -4, -2, 0).addPos(0, 0, -2, 450, IType.SIN_FULL).addPos(0, 0, 0, 50, IType.SIN_UP)); + return null; + case RELOAD_END: return new BusAnimation() + .addBus("LATCH", new BusAnimationSequence().addPos(15, 0, 0, 0).addPos(15, 0, 0, 250).addPos(0, 0, 0, 50)) + .addBus("BREAK", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 250, IType.SIN_UP)) + .addBus(ammo >= 0 ? "SHELL1" : "NULL", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus(ammo >= 1 ? "SHELL2" : "NULL", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus(ammo >= 2 ? "SHELL3" : "NULL", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus(ammo >= 3 ? "SHELL4" : "NULL", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus(ammo < 0 ? "SHELL1" : "NULL", new BusAnimationSequence().addPos(2, -8, -2, 0)) + .addBus(ammo < 1 ? "SHELL2" : "NULL", new BusAnimationSequence().addPos(2, -8, -2, 0)) + .addBus(ammo < 2 ? "SHELL3" : "NULL", new BusAnimationSequence().addPos(2, -8, -2, 0)) + .addBus(ammo < 3 ? "SHELL4" : "NULL", new BusAnimationSequence().addPos(2, -8, -2, 0)); + case JAMMED: return new BusAnimation() + .addBus("LATCH", new BusAnimationSequence().addPos(15, 0, 0, 0).addPos(15, 0, 0, 250).addPos(0, 0, 0, 50).addPos(0, 0, 0, 550).addPos(15, 0, 0, 100).addPos(15, 0, 0, 600).addPos(0, 0, 0, 50)) + .addBus("BREAK", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 250, IType.SIN_UP).addPos(0, 0, 0, 600).addPos(45, 0, 0, 250, IType.SIN_DOWN).addPos(45, 0, 0, 300).addPos(0, 0, 0, 150, IType.SIN_UP)) + .addBus(ammo >= 0 ? "SHELL1" : "NULL", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus(ammo >= 1 ? "SHELL2" : "NULL", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus(ammo >= 2 ? "SHELL3" : "NULL", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus(ammo >= 3 ? "SHELL4" : "NULL", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus(ammo < 0 ? "SHELL1" : "NULL", new BusAnimationSequence().addPos(2, -8, -2, 0)) + .addBus(ammo < 1 ? "SHELL2" : "NULL", new BusAnimationSequence().addPos(2, -8, -2, 0)) + .addBus(ammo < 2 ? "SHELL3" : "NULL", new BusAnimationSequence().addPos(2, -8, -2, 0)) + .addBus(ammo < 3 ? "SHELL4" : "NULL", new BusAnimationSequence().addPos(2, -8, -2, 0)); + case INSPECT: return new BusAnimation() + .addBus("LATCH", new BusAnimationSequence().addPos(15, 0, 0, 100).addPos(15, 0, 0, 1100).addPos(0, 0, 0, 50)) + .addBus("BREAK", new BusAnimationSequence().addPos(0, 0, 0, 100).addPos(60, 0, 0, 350, IType.SIN_DOWN).addPos(60, 0, 0, 500).addPos(0, 0, 0, 250, IType.SIN_UP)) + .addBus(ammo > 0 ? "SHELL1" : "NULL", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus(ammo > 1 ? "SHELL2" : "NULL", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus(ammo > 2 ? "SHELL3" : "NULL", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus(ammo > 3 ? "SHELL4" : "NULL", new BusAnimationSequence().addPos(0, 0, 0, 0)) + .addBus(ammo < 1 ? "SHELL1" : "NULL", new BusAnimationSequence().addPos(2, -8, -2, 0)) + .addBus(ammo < 2 ? "SHELL2" : "NULL", new BusAnimationSequence().addPos(2, -8, -2, 0)) + .addBus(ammo < 3 ? "SHELL3" : "NULL", new BusAnimationSequence().addPos(2, -8, -2, 0)) + .addBus(ammo < 4 ? "SHELL4" : "NULL", new BusAnimationSequence().addPos(2, -8, -2, 0)); + } + + return null; + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_SPAS_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(-60, 0, 0, 0).addPos(0, 0, -3, 500, IType.SIN_DOWN)); + case CYCLE: return ResourceManager.spas_12_anim.get("Fire"); + case CYCLE_DRY: return ResourceManager.spas_12_anim.get("FireDry"); + case ALT_CYCLE: return ResourceManager.spas_12_anim.get("FireAlt"); + case RELOAD: + boolean empty = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory) <= 0; + return ResourceManager.spas_12_anim.get(empty ? "ReloadEmptyStart" : "ReloadStart"); + case RELOAD_CYCLE: return ResourceManager.spas_12_anim.get("Reload"); + case RELOAD_END: return ResourceManager.spas_12_anim.get("ReloadEnd"); + case JAMMED: return ResourceManager.spas_12_anim.get("Jammed"); + case INSPECT: return ResourceManager.spas_12_anim.get("Inspect"); + } + + return null; + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_SHREDDER_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, -1, 50, IType.SIN_DOWN).addPos(0, 0, 0, 150, IType.SIN_FULL)) + .addBus("CYCLE", new BusAnimationSequence().addPos(0, 0, 0, 150).addPos(0, 0, 18, 100)); + case CYCLE_DRY: return new BusAnimation() + .addBus("CYCLE", new BusAnimationSequence().addPos(0, 0, 0, 150).addPos(0, 0, 18, 100)); + case RELOAD: return new BusAnimation() + .addBus("MAG", new BusAnimationSequence().addPos(0, -8, 0, 250, IType.SIN_UP).addPos(0, -8, 0, 1000).addPos(0, 0, 0, 300)) + .addBus("LIFT", new BusAnimationSequence().addPos(0, 0, 0, 750).addPos(-25, 0, 0, 300, IType.SIN_FULL).addPos(-25, 0, 0, 500).addPos(-27, 0, 0, 100, IType.SIN_DOWN).addPos(-25, 0, 0, 100, IType.SIN_FULL).addPos(-25, 0, 0, 150).addPos(0, 0, 0, 300, IType.SIN_FULL)); + case JAMMED: return new BusAnimation() + .addBus("MAG", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, -2, 0, 150, IType.SIN_UP).addPos(0, 0, 0, 100)) + .addBus("LIFT", new BusAnimationSequence().addPos(0, 0, 0, 750).addPos(-2, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)); + case INSPECT: return new BusAnimation() + .addBus("MAG", new BusAnimationSequence() + .addPos(0, -1, 0, 150).addPos(6, -1, 0, 150).addPos(6, 12, 0, 350, IType.SIN_DOWN).addPos(6, -2, 0, 350, IType.SIN_UP).addPos(6, -1, 0, 50) + .addPos(6, -1, 0, 100).addPos(0, -1, 0, 150, IType.SIN_FULL).addPos(0, 0, 0, 150, IType.SIN_UP)) + .addBus("SPEEN", new BusAnimationSequence().addPos(0, 0, 0, 300).addPos(360, 0, 0, 700)) + .addBus("LIFT", new BusAnimationSequence().addPos(0, 0, 0, 1450).addPos(-2, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)); + } + + return null; + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_SEXY_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(45, 0, 0, 0).addPos(0, 0, 0, 1000, IType.SIN_DOWN)); + case CYCLE: + int amount = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, null); + return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().hold(50).addPos(0, 0, -0.25, 50, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)) + .addBus("BARREL", new BusAnimationSequence().addPos(0, 0, -1, 50, IType.SIN_DOWN).addPos(0, 0, 0, 150)) + .addBus("CYCLE", new BusAnimationSequence().addPos(1, 0, 0, 150)) + .addBus("HOOD", new BusAnimationSequence().hold(50).addPos(3, 0, 0, 50, IType.SIN_DOWN).addPos(0, 0, 0, 50, IType.SIN_UP)) + .addBus("SHELLS", new BusAnimationSequence().setPos(amount - 1, 0, 0)); + case CYCLE_DRY: return new BusAnimation() + .addBus("CYCLE", new BusAnimationSequence().addPos(0, 0, 18, 50)); + case RELOAD: return new BusAnimation() + .addBus("LOWER", new BusAnimationSequence().addPos(15, 0, 0, 500, IType.SIN_FULL).hold(2750).addPos(12, 0, 0, 100, IType.SIN_DOWN).addPos(15, 0, 0, 100, IType.SIN_FULL).hold(1050).addPos(18, 0, 0, 100, IType.SIN_DOWN).addPos(15, 0, 0, 100, IType.SIN_FULL).hold(300).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("LEVER", new BusAnimationSequence().addPos(0, 0, 1, 150).hold(4700).addPos(0, 0, 0, 150)) + .addBus("HOOD", new BusAnimationSequence().hold(250).addPos(60, 0, 0, 500, IType.SIN_FULL).hold(3250).addPos(0, 0, 0, 500, IType.SIN_UP)) + .addBus("BELT", new BusAnimationSequence().setPos(1, 0, 0).hold(750).addPos(0, 0, 0, 500, IType.SIN_UP).hold(2000).addPos(1, 0, 0, 500, IType.SIN_UP)) + .addBus("MAG", new BusAnimationSequence().hold(1500).addPos(0, -1, 0, 250, IType.SIN_UP).addPos(2, -1, 0, 500, IType.SIN_UP).addPos(7, 1, 0, 250, IType.SIN_UP).addPos(15, 2, 0, 250).setPos(0, -2, 0).addPos(0, 0, 0, 500, IType.SIN_UP)) + .addBus("MAGROT", new BusAnimationSequence().hold(2250).addPos(0, 0, -180, 500, IType.SIN_FULL).setPos(0, 0, 0)); + case INSPECT: return new BusAnimation() + .addBus("BOTTLE", new BusAnimationSequence().setPos(8, -8, -2).addPos(6, -4, -2, 500, IType.SIN_DOWN).addPos(3, -3, -5, 500, IType.SIN_FULL).addPos(3, -2, -5, 1000).addPos(4, -6, -2, 750, IType.SIN_FULL).addPos(6, -8, -2, 500, IType.SIN_UP)) + .addBus("SIP", new BusAnimationSequence().setPos(25, 0, 0).hold(500).addPos(-90, 0, 0, 500, IType.SIN_FULL).addPos(-110, 0, 0, 1000).addPos(25, 0, 0, 750, IType.SIN_FULL)); + } + + return null; + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory22lr.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory22lr.java new file mode 100644 index 000000000..19c398e60 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory22lr.java @@ -0,0 +1,112 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.Function; + +import com.hbm.config.ClientConfig; +import com.hbm.items.ModItems; +import com.hbm.items.ItemEnums.EnumCasingType; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.main.ResourceManager; +import com.hbm.particle.SpentCasing; +import com.hbm.particle.SpentCasing.CasingType; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; + +import net.minecraft.item.ItemStack; + +public class XFactory22lr { + + public static BulletConfig p22_sp; + public static BulletConfig p22_fmj; + public static BulletConfig p22_jhp; + public static BulletConfig p22_ap; + + public static void init() { + SpentCasing casing22 = new SpentCasing(CasingType.STRAIGHT).setColor(SpentCasing.COLOR_CASE_BRASS).setScale(0.5F); + p22_sp = new BulletConfig().setItem(EnumAmmo.P22_SP).setCasing(EnumCasingType.SMALL, 24).setKnockback(0F) + .setCasing(casing22.clone().register("p22")); + p22_fmj = new BulletConfig().setItem(EnumAmmo.P22_FMJ).setCasing(EnumCasingType.SMALL, 24).setKnockback(0F).setDamage(0.8F).setThresholdNegation(1F).setArmorPiercing(0.1F) + .setCasing(casing22.clone().register("p22fmj")); + p22_jhp = new BulletConfig().setItem(EnumAmmo.P22_JHP).setCasing(EnumCasingType.SMALL, 24).setKnockback(0F).setDamage(1.5F).setHeadshot(1.5F).setArmorPiercing(-0.25F) + .setCasing(casing22.clone().register("p22jhp")); + p22_ap = new BulletConfig().setItem(EnumAmmo.P22_AP).setCasing(EnumCasingType.SMALL_STEEL, 24).setKnockback(0F).setDoesPenetrate(true).setDamageFalloffByPen(false).setDamage(1.25F).setThresholdNegation(2.5F).setArmorPiercing(0.15F) + .setCasing(casing22.clone().setColor(SpentCasing.COLOR_CASE_44).register("p22ap")); + + ModItems.gun_am180 = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(177 * 25).draw(15).inspect(38).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(2F).delay(1).dry(10).auto(true).spread(0.01F).reload(66).jam(30).sound("hbm:weapon.fire.greaseGun", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 177).addConfigs(p22_sp, p22_fmj, p22_jhp, p22_ap)) + .offset(1, -0.0625 * 1.5, -0.1875D) + .setupStandardFire().recoil(LAMBDA_RECOIL_AM180)) + .setupStandardConfiguration() + .anim(LAMBDA_AM180_ANIMS).orchestra(Orchestras.ORCHESTRA_AM180) + ).setNameMutator(LAMBDA_NAME_AM180) + .setUnlocalizedName("gun_am180"); + } + + public static Function LAMBDA_NAME_AM180 = (stack) -> { + if(WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SILENCER)) return stack.getUnlocalizedName() + "_silenced"; + return null; + }; + + public static BiConsumer LAMBDA_SMOKE = (stack, ctx) -> { + Lego.handleStandardSmoke(ctx.entity, stack, 3000, 0.05D, 1.1D, 0); + }; + + public static BiConsumer LAMBDA_RECOIL_AM180 = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil((float) (ctx.getPlayer().getRNG().nextGaussian() * 0.25), (float) (ctx.getPlayer().getRNG().nextGaussian() * 0.25)); + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_AM180_ANIMS = (stack, type) -> { + if(ClientConfig.GUN_ANIMS_LEGACY.get()) { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(45, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_FULL)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, ItemGunBaseNT.getIsAiming(stack) ? -0.125 : -0.25, 15, IType.SIN_DOWN).addPos(0, 0, 0, 35, IType.SIN_FULL)); + case CYCLE_DRY: return new BusAnimation() + .addBus("BOLT", new BusAnimationSequence().addPos(0, 0, 0, 550).addPos(0, 0, -1.5, 100, IType.SIN_UP).addPos(0, 0, 0, 100, IType.SIN_UP)) + .addBus("TURN", new BusAnimationSequence().addPos(0, 0, 0, 300).addPos(0, 0, 15, 250, IType.SIN_FULL).addPos(0, 0, 15, 400).addPos(0, 0, 0, 250, IType.SIN_FULL)); + case RELOAD: + return new BusAnimation() + .addBus("MAGTURN", new BusAnimationSequence().addPos(15, 0, 0, 250, IType.SIN_FULL).addPos(15, 0, 0, 250).addPos(15, 0, 70, 300, IType.SIN_FULL).addPos(15, 0, 0, 0).addPos(15, 0, 0, 750).addPos(0, 0, 0, 250, IType.SIN_FULL)) + .addBus("MAG", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(2, 0, -4, 250, IType.SIN_FULL).addPos(-10, 2, -4, 300, IType.SIN_UP).addPos(3, -6, -4, 0).addPos(2, 0, -4, 500, IType.SIN_FULL).addPos(0, 0, 0, 250, IType.SIN_FULL)) + .addBus("BOLT", new BusAnimationSequence().addPos(0, 0, 0, 2250).addPos(0, 0, -1.5, 100, IType.SIN_UP).addPos(0, 0, 0, 100, IType.SIN_UP)) + .addBus("TURN", new BusAnimationSequence().addPos(0, 0, 0, 2000).addPos(0, 0, 15, 250, IType.SIN_FULL).addPos(0, 0, 15, 400).addPos(0, 0, 0, 250, IType.SIN_FULL)); + case JAMMED: return new BusAnimation() + .addBus("BOLT", new BusAnimationSequence().addPos(0, 0, 0, 750).addPos(0, 0, -1.5, 100, IType.SIN_UP).addPos(0, 0, 0, 100, IType.SIN_UP)) + .addBus("TURN", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 45, 250, IType.SIN_FULL).addPos(0, 0, 45, 400).addPos(0, 0, 0, 250, IType.SIN_FULL)); + case INSPECT: return new BusAnimation() + .addBus("MAGTURN", new BusAnimationSequence().addPos(15, 0, 0, 250, IType.SIN_FULL).addPos(15, 0, 0, 1400).addPos(0, 0, 0, 250, IType.SIN_FULL)) + .addBus("MAG", new BusAnimationSequence().addPos(0, 0, 0, 200).addPos(4, -1, -4, 200, IType.SIN_FULL).addPos(4, -1.5, -4, 50).addPos(4, 0, -4, 100).addPos(4, 6, -4, 250, IType.SIN_DOWN).addPos(4, 0, -4, 150, IType.SIN_UP).addPos(4, -1, -4, 100, IType.SIN_DOWN).addPos(4, -1, -4, 250).addPos(0, 0, 0, 250, IType.SIN_FULL)) + .addBus("MAGSPIN", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(-400, 0, 0, 500, IType.SIN_FULL).addPos(-400, 0, 0, 250).addPos(-360, 0, 0, 250)); + } + } else { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(45, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_FULL)); + case CYCLE: return ResourceManager.am180_anim.get("Fire"); + case CYCLE_DRY: return ResourceManager.am180_anim.get("FireDry"); + case RELOAD: return ResourceManager.am180_anim.get("Reload"); + case JAMMED: return ResourceManager.am180_anim.get("Jammed"); + case INSPECT: return ResourceManager.am180_anim.get("Inspect"); + } + } + + return null; + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory357.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory357.java new file mode 100644 index 000000000..adfc26784 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory357.java @@ -0,0 +1,130 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; + +import com.hbm.items.ItemEnums.EnumCasingType; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.HbmAnimations.AnimType; + +import net.minecraft.item.ItemStack; + +public class XFactory357 { + + public static BulletConfig m357_bp; + public static BulletConfig m357_sp; + public static BulletConfig m357_fmj; + public static BulletConfig m357_jhp; + public static BulletConfig m357_ap; + public static BulletConfig m357_express; + + public static void init() { + m357_bp = new BulletConfig().setItem(EnumAmmo.M357_BP).setCasing(EnumCasingType.SMALL, 16).setDamage(0.75F).setBlackPowder(true); + m357_sp = new BulletConfig().setItem(EnumAmmo.M357_SP).setCasing(EnumCasingType.SMALL, 8); + m357_fmj = new BulletConfig().setItem(EnumAmmo.M357_FMJ).setCasing(EnumCasingType.SMALL, 8).setDamage(0.8F).setThresholdNegation(2F).setArmorPiercing(0.1F); + m357_jhp = new BulletConfig().setItem(EnumAmmo.M357_JHP).setCasing(EnumCasingType.SMALL, 8).setDamage(1.5F).setHeadshot(1.5F).setArmorPiercing(-0.25F); + m357_ap = new BulletConfig().setItem(EnumAmmo.M357_AP).setCasing(EnumCasingType.SMALL_STEEL, 8).setDoesPenetrate(true).setDamageFalloffByPen(false).setDamage(1.25F).setThresholdNegation(5F).setArmorPiercing(0.15F); + m357_express = new BulletConfig().setItem(EnumAmmo.M357_EXPRESS).setCasing(EnumCasingType.SMALL, 8).setDoesPenetrate(true).setDamage(1.5F).setThresholdNegation(2F).setArmorPiercing(0.1F).setWear(1.5F); + + ModItems.gun_light_revolver = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(300).draw(4).inspect(23).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(7.5F).delay(11).reload(55).jam(45).sound("hbm:weapon.fire.pistol", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 6).addConfigs(m357_bp, m357_sp, m357_fmj, m357_jhp, m357_ap, m357_express)) + .offset(0.75, -0.0625, -0.3125D) + .setupStandardFire().recoil(LAMBDA_RECOIL_ATLAS)) + .setupStandardConfiguration() + .anim(LAMBDA_ATLAS_ANIMS).orchestra(Orchestras.ORCHESTRA_ATLAS) + ).setUnlocalizedName("gun_light_revolver"); + ModItems.gun_light_revolver_atlas = new ItemGunBaseNT(WeaponQuality.B_SIDE, new GunConfig() + .dura(300).draw(4).inspect(23).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(12.5F).delay(11).reload(55).jam(45).sound("hbm:weapon.fire.pistol", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 6).addConfigs(m357_bp, m357_sp, m357_fmj, m357_jhp, m357_ap, m357_express)) + .offset(0.75, -0.0625, -0.3125D) + .setupStandardFire().recoil(LAMBDA_RECOIL_ATLAS)) + .setupStandardConfiguration() + .anim(LAMBDA_ATLAS_ANIMS).orchestra(Orchestras.ORCHESTRA_ATLAS) + ).setUnlocalizedName("gun_light_revolver_atlas"); + ModItems.gun_light_revolver_dani = new ItemGunBaseNT(WeaponQuality.LEGENDARY, + new GunConfig().dura(30_000).draw(20).inspect(23).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(15F).spreadHipfire(0F).delay(11).reload(55).jam(45).sound("hbm:weapon.fire.pistol", 1.0F, 1.1F) + .mag(new MagazineFullReload(0, 6).addConfigs(m357_bp, m357_sp, m357_fmj, m357_jhp, m357_ap, m357_express)) + .offset(0.75, -0.0625, 0.3125D) + .setupStandardFire().recoil(LAMBDA_RECOIL_DANI)) + .pp(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD) + .decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) + .anim(LAMBDA_DANI_ANIMS).orchestra(Orchestras.ORCHESTRA_DANI), + new GunConfig().dura(30_000).draw(20).inspect(23).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(15F).spreadHipfire(0F).delay(11).reload(55).jam(45).sound("hbm:weapon.fire.pistol", 1.0F, 0.9F) + .mag(new MagazineFullReload(1, 6).addConfigs(m357_bp, m357_sp, m357_fmj, m357_jhp, m357_ap, m357_express)) + .offset(0.75, -0.0625, -0.3125D) + .setupStandardFire().recoil(LAMBDA_RECOIL_DANI)) + .ps(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD) + .decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) + .anim(LAMBDA_DANI_ANIMS).orchestra(Orchestras.ORCHESTRA_DANI) + ).setUnlocalizedName("gun_light_revolver_dani"); + } + + public static BiConsumer LAMBDA_RECOIL_ATLAS = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil(10, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5)); + }; + + public static BiConsumer LAMBDA_RECOIL_DANI = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil(5, (float) (ctx.getPlayer().getRNG().nextGaussian() * 0.75)); + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_ATLAS_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(-90, 0, 0, 0).addPos(0, 0, 0, 350, IType.SIN_DOWN)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, 0, 50).addPos(0, 0, -3, 50).addPos(0, 0, 0, 250)) + .addBus("HAMMER", new BusAnimationSequence().addPos(0, 0, 1, 50).addPos(0, 0, 1, 300).addPos(0, 0, 0, 200)) + .addBus("DRUM", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(0, 0, 1, 200)); + case CYCLE_DRY: return new BusAnimation() + .addBus("HAMMER", new BusAnimationSequence().addPos(0, 0, 1, 50).addPos(0, 0, 1, 200).addPos(0, 0, 0, 200)) + .addBus("DRUM", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(0, 0, 1, 200)); + case RELOAD: return new BusAnimation() + .addBus("LATCH", new BusAnimationSequence().addPos(0, 0, 90, 300).addPos(0, 0, 90, 2000).addPos(0, 0, 0, 150)) + .addBus("FRONT", new BusAnimationSequence().addPos(0, 0, 0, 200).addPos(0, 0, 45, 150).addPos(0, 0, 45, 2000).addPos(0, 0, 0, 75)) + .addBus("RELOAD_ROT", new BusAnimationSequence().addPos(0, 0, 0, 300).addPos(60, 0, 0, 500).addPos(60, 0, 0, 500).addPos(0, -90, -90, 0).addPos(0, -90, -90, 600).addPos(0, 0, 0, 300).addPos(0, 0, 0, 100).addPos(-45, 0, 0, 50).addPos(-45, 0, 0, 100).addPos(0, 0, 0, 300)) + .addBus("RELOAD_MOVE", new BusAnimationSequence().addPos(0, 0, 0, 300).addPos(0, -15, 0, 1000).addPos(0, 0, 0, 450)) + .addBus("DRUM_PUSH", new BusAnimationSequence().addPos(0, 0, 0, 1600).addPos(0, 0, -5, 0).addPos(0, 0, 0, 300)); + case INSPECT: return new BusAnimation() + .addBus("LATCH", new BusAnimationSequence().addPos(0, 0, 90, 300).addPos(0, 0, 90, 1000).addPos(0, 0, 0, 150)) + .addBus("FRONT", new BusAnimationSequence().addPos(0, 0, 0, 200).addPos(0, 0, 45, 150).addPos(0, 0, 45, 1000).addPos(0, 0, 0, 75)) + .addBus("RELOAD_ROT", new BusAnimationSequence().addPos(0, 0, 0, 300).addPos(45, 0, 0, 500, IType.SIN_FULL).addPos(45, 0, 0, 500).addPos(-45, 0, 0, 50).addPos(-45, 0, 0, 100).addPos(0, 0, 0, 300)) + .addBus("RELOAD_MOVE", new BusAnimationSequence().addPos(0, 0, 0, 300).addPos(0, -2.5, 0, 500, IType.SIN_FULL).addPos(0, -2.5, 0, 500).addPos(0, 0, 0, 350)); + case JAMMED: return new BusAnimation() + .addBus("LATCH", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 90, 300).addPos(0, 0, 90, 1000).addPos(0, 0, 0, 150)) + .addBus("FRONT", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 0, 200).addPos(0, 0, 45, 150).addPos(0, 0, 45, 1000).addPos(0, 0, 0, 75)) + .addBus("RELOAD_ROT", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 0, 300).addPos(45, 0, 0, 500, IType.SIN_FULL).addPos(45, 0, 0, 500).addPos(-45, 0, 0, 50).addPos(-45, 0, 0, 100).addPos(0, 0, 0, 300)) + .addBus("RELOAD_MOVE", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 0, 300).addPos(0, -2.5, 0, 500, IType.SIN_FULL).addPos(0, -2.5, 0, 500).addPos(0, 0, 0, 350)); + } + + return null; + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_DANI_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation().addBus("EQUIP", new BusAnimationSequence().addPos(360 * 3, 0, 0, 1000, IType.SIN_DOWN)); + } + + return LAMBDA_ATLAS_ANIMS.apply(stack, type); + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory35800.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory35800.java new file mode 100644 index 000000000..ddd435107 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory35800.java @@ -0,0 +1,128 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; + +import com.hbm.entity.effect.EntityFireLingering; +import com.hbm.entity.projectile.EntityBulletBeamBase; +import com.hbm.extprop.HbmLivingProps; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.particle.SpentCasing; +import com.hbm.particle.SpentCasing.CasingType; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; + +public class XFactory35800 { + + public static BulletConfig p35800; + public static BulletConfig p35800_bl; + + public static BiConsumer LAMBDA_BLACK_IMPACT = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY) { + Entity hit = mop.entityHit; + if(hit instanceof EntityLivingBase) { + HbmLivingProps.getData((EntityLivingBase) hit).blackFire += 200; + } + } + if(mop.typeOfHit == mop.typeOfHit.BLOCK) { + EntityFireLingering fire = new EntityFireLingering(bullet.worldObj).setArea(7.5F, 2F).setDuration(200).setType(EntityFireLingering.TYPE_BLACK); + fire.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); + bullet.worldObj.spawnEntityInWorld(fire); + } + + BulletConfig.LAMBDA_STANDARD_BEAM_HIT.accept(bullet, mop); + }; + + public static void init() { + + p35800 = new BulletConfig().setItem(EnumAmmoSecret.P35_800).setArmorPiercing(0.5F).setThresholdNegation(50F).setBeam().setSpread(0.0F).setLife(3).setRenderRotations(false) + .setCasing(new SpentCasing(CasingType.STRAIGHT).setColor(0xCEB78E).register("35-800")).setOnBeamImpact(BulletConfig.LAMBDA_STANDARD_BEAM_HIT); + p35800_bl = new BulletConfig().setItem(EnumAmmoSecret.P35_800_BL).setArmorPiercing(0.5F).setThresholdNegation(50F).setBeam().setSpread(0.0F).setLife(3).setRenderRotations(false) + .setCasing(new SpentCasing(CasingType.STRAIGHT).setColor(0xCEB78E).register("35-800")).setOnBeamImpact(LAMBDA_BLACK_IMPACT); + + ModItems.gun_aberrator = new ItemGunBaseNT(WeaponQuality.SECRET, new GunConfig() + .dura(2_000).draw(10).inspect(26).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(100F).delay(13).dry(21).reload(51).sound("hbm:weapon.fire.aberrator", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 5).addConfigs(p35800, p35800_bl)) + .offset(0.75, -0.0625 * 1.5, -0.1875) + .canFire(Lego.LAMBDA_STANDARD_CAN_FIRE).fire(Lego.LAMBDA_NOWEAR_FIRE).recoil(LAMBDA_RECOIL_ABERRATOR)) + .setupStandardConfiguration() + .anim(LAMBDA_ABERRATOR).orchestra(Orchestras.ORCHESTRA_ABERRATOR) + ).setUnlocalizedName("gun_aberrator"); + + ModItems.gun_aberrator_eott = new ItemGunBaseNT(WeaponQuality.SECRET, + new GunConfig().dura(2_000).draw(10).inspect(26).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(100F).spreadHipfire(0F).delay(13).dry(21).reload(51).sound("hbm:weapon.fire.aberrator", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 5).addConfigs(p35800, p35800_bl)) + .offset(0.75, -0.0625 * 1.5, 0.1875) + .canFire(Lego.LAMBDA_STANDARD_CAN_FIRE).fire(Lego.LAMBDA_NOWEAR_FIRE).recoil(LAMBDA_RECOIL_ABERRATOR)) + .pp(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD) + .decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) + .anim(LAMBDA_ABERRATOR).orchestra(Orchestras.ORCHESTRA_ABERRATOR), + new GunConfig().dura(2_000).draw(10).inspect(26).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(100F).spreadHipfire(0F).delay(13).dry(21).reload(51).sound("hbm:weapon.fire.aberrator", 1.0F, 1.0F) + .mag(new MagazineFullReload(1, 5).addConfigs(p35800, p35800_bl)) + .offset(0.75, -0.0625 * 1.5, -0.1875) + .canFire(Lego.LAMBDA_STANDARD_CAN_FIRE).fire(Lego.LAMBDA_NOWEAR_FIRE).recoil(LAMBDA_RECOIL_ABERRATOR)) + .ps(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD) + .decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) + .anim(LAMBDA_ABERRATOR).orchestra(Orchestras.ORCHESTRA_ABERRATOR) + ).setUnlocalizedName("gun_aberrator_eott"); + } + + public static BiConsumer LAMBDA_RECOIL_ABERRATOR = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil(10, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5)); + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_ABERRATOR = (stack, type) -> { + boolean aim = ItemGunBaseNT.getIsAiming(stack); + int ammo = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, null); + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(360, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("RISE", new BusAnimationSequence().addPos(0, -3, 0, 0).addPos(0, 0, 0, 500, IType.SIN_FULL)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, 0, 50).addPos(aim ? -15 : -25, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("SIGHT", new BusAnimationSequence().addPos(0, 0, 0, 50).addPos(aim ? 5 : 15, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 250, IType.SIN_FULL)) + .addBus("SLIDE", new BusAnimationSequence().addPos(0, 0, 0, 50).addPos(0, 0, -1.125, 50, IType.SIN_DOWN).addPos(0, 0, -1.125, 50).addPos(0, 0, 0, 150, IType.SIN_UP)) + .addBus(ammo <= 1 ? "NULL" : "BULLET", new BusAnimationSequence().addPos(0, 0, 0, 150).addPos(0, 0.375, 1.125, 150, IType.SIN_UP)) + .addBus("HAMMER", new BusAnimationSequence().addPos(45, 0, 0, 50).addPos(-45, 0, -1.125, 50, IType.SIN_DOWN).addPos(-20, 0, -1.125, 50).addPos(0, 0, 0, 150, IType.SIN_UP)); + case CYCLE_DRY: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, 0, 700).addPos(-5, 0, 0, 100, IType.SIN_FULL).addPos(0, 0, 0, 250, IType.SIN_FULL)) + .addBus("SLIDE", new BusAnimationSequence().addPos(0, 0, 0, 550).addPos(0, 0, -1.125, 150, IType.SIN_FULL).addPos(0, 0, -1.125, 50).addPos(0, 0, 0, 150, IType.SIN_UP)) + .addBus("HAMMER", new BusAnimationSequence().addPos(45, 0, 0, 50).addPos(45, 0, 0, 500).addPos(-45, 0, -1.125, 150, IType.SIN_FULL).addPos(-20, 0, -1.125, 50).addPos(0, 0, 0, 150, IType.SIN_UP)); + case RELOAD: return new BusAnimation() + .addBus("ROLL", new BusAnimationSequence().addPos(0, 0, 20, 150, IType.SIN_FULL).addPos(0, 0, 20, 50).addPos(0, 0, -45, 150, IType.SIN_UP).addPos(0, 0, 0, 150, IType.SIN_FULL)) + .addBus("MAG", new BusAnimationSequence().addPos(0, 0, 0, 350).addPos(0, -2, 0, 0).addPos(-15, -5, 0, 350).addPos(-15, 0, 0, 0).addPos(-15, 0, 0, 700).addPos(3, 3, 0, 0).addPos(0, -2, 0, 250, IType.SIN_DOWN).addPos(0, -2, 0, 50).addPos(0, 0, 0, 150, IType.SIN_DOWN)) + .addBus("MAGROLL", new BusAnimationSequence().addPos(0, 0, 0, 350).addPos(0, 0, -180, 250).addPos(0, 0, 0, 0)) + .addBus("EQUIP", new BusAnimationSequence().addPos(0, 0, 0, 750).addPos(5, 0, 0, 150, IType.SIN_FULL).addPos(-190, 0, 0, 500, IType.SIN_FULL).addPos(-190, 0, 0, 450).addPos(-360, 0, 0, 350, IType.SIN_DOWN).addPos(0, 0, 0, 0)) + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, 0, 2350).addPos(-5, 0, 0, 100, IType.SIN_FULL).addPos(0, 0, 0, 250, IType.SIN_FULL)) + .addBus("SLIDE", new BusAnimationSequence().addPos(0, 0, 0, 2200).addPos(0, 0, -1.125, 150, IType.SIN_FULL).addPos(0, 0, -1.125, 50).addPos(0, 0, 0, 150, IType.SIN_UP)) + .addBus("HAMMER", new BusAnimationSequence().addPos(0, 0, 0, 2250).addPos(-45, 0, -1.125, 100, IType.SIN_FULL).addPos(-20, 0, -1.125, 50).addPos(0, 0, 0, 150, IType.SIN_UP)) + .addBus("BULLET", new BusAnimationSequence().addPos(ammo > 0 ? 0 : -100, 0, 0, 0).addPos(ammo > 0 ? 0 : -100, 0, 0, 2400).addPos(0, 0, 0, 0).addPos(0, 0.375, 1.125, 150, IType.SIN_UP)); + case INSPECT: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(0, 0, 0, 0).addPos(-720, 0, 0, 1000, IType.SIN_FULL).addPos(-720, 0, 0, 250).addPos(0, 0, 0, 1000, IType.SIN_FULL)); + } + + return null; + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory40mm.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory40mm.java new file mode 100644 index 000000000..ca090b375 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory40mm.java @@ -0,0 +1,224 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.Consumer; + +import com.hbm.entity.effect.EntityFireLingering; +import com.hbm.entity.logic.EntityC130; +import com.hbm.entity.logic.EntityC130.C130PayloadType; +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard; +import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; +import com.hbm.explosion.vanillant.standard.EntityProcessorCrossSmooth; +import com.hbm.explosion.vanillant.standard.ExplosionEffectWeapon; +import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; +import com.hbm.extprop.HbmLivingProps; +import com.hbm.items.ItemEnums.EnumCasingType; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.mags.MagazineSingleReload; +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.particle.SpentCasing; +import com.hbm.particle.SpentCasing.CasingType; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; +import com.hbm.util.EntityDamageUtil; +import com.hbm.util.TrackerUtil; +import com.hbm.util.DamageResistanceHandler.DamageClass; +import com.hbm.world.WorldUtil; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class XFactory40mm { + + public static BulletConfig g26_flare; + public static BulletConfig g26_flare_supply; + public static BulletConfig g26_flare_weapon; + + public static BulletConfig g40_he; + public static BulletConfig g40_heat; + public static BulletConfig g40_demo; + public static BulletConfig g40_inc; + public static BulletConfig g40_phosphorus; + + public static BiConsumer LAMBDA_STANDARD_IGNITE = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY) { + if(mop.entityHit instanceof EntityLivingBase) { + HbmLivingProps props = HbmLivingProps.getData((EntityLivingBase) mop.entityHit); + props.fire += 200; + } + } + }; + public static BiConsumer LAMBDA_STANDARD_EXPLODE = (bullet, mop) -> { + Lego.standardExplode(bullet, mop, 5F); bullet.setDead(); + }; + public static BiConsumer LAMBDA_STANDARD_EXPLODE_HEAT = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3) return; + Lego.standardExplode(bullet, mop, 3.5F); bullet.setDead(); + if(mop.typeOfHit == mop.typeOfHit.ENTITY && mop.entityHit instanceof EntityLivingBase) { + EntityLivingBase living = (EntityLivingBase) mop.entityHit; + EntityDamageUtil.attackEntityFromNT(living, bullet.config.getDamage(bullet, bullet.getThrower(), DamageClass.EXPLOSIVE), bullet.damage * 3F, true, true, 0.5F, 3F, 0.15F); + } else if(mop.typeOfHit == mop.typeOfHit.ENTITY) { + mop.entityHit.attackEntityFrom(bullet.config.getDamage(bullet, bullet.getThrower(), DamageClass.EXPLOSIVE), bullet.damage * 3F); + } + }; + public static BiConsumer LAMBDA_STANDARD_EXPLODE_DEMO = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3) return; + ExplosionVNT vnt = new ExplosionVNT(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 5F, bullet.getThrower()); + vnt.setBlockAllocator(new BlockAllocatorStandard()); + vnt.setBlockProcessor(new BlockProcessorStandard()); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, bullet.damage)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.setSFX(new ExplosionEffectWeapon(10, 2.5F, 1F)); + vnt.explode(); + bullet.setDead(); + }; + public static BiConsumer LAMBDA_STANDARD_EXPLODE_INC = (bullet, mop) -> { + spawnFire(bullet, mop, false, 200); + }; + public static BiConsumer LAMBDA_STANDARD_EXPLODE_PHOSPHORUS = (bullet, mop) -> { + spawnFire(bullet, mop, true, 400); + }; + + public static void spawnFire(EntityBulletBaseMK4 bullet, MovingObjectPosition mop, boolean phosphorus, int duration) { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3) return; + World world = bullet.worldObj; + Lego.standardExplode(bullet, mop, 3F); + EntityFireLingering fire = new EntityFireLingering(world).setArea(5, 2).setDuration(duration).setType(phosphorus ? EntityFireLingering.TYPE_PHOSPHORUS : EntityFireLingering.TYPE_DIESEL); + fire.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); + world.spawnEntityInWorld(fire); + bullet.setDead(); + for(int dx = -1; dx <= 1; dx++) { + for(int dy = -1; dy <= 1; dy++) { + for(int dz = -1; dz <= 1; dz++) { + int x = (int) Math.floor(mop.hitVec.xCoord) + dx; + int y = (int) Math.floor(mop.hitVec.yCoord) + dy; + int z = (int) Math.floor(mop.hitVec.zCoord) + dz; + if(world.getBlock(x, y, z).isAir(bullet.worldObj, x, y, z)) for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + if(world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ).isFlammable(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir.getOpposite())) { + world.setBlock(x, y, z, Blocks.fire); + break; + } + } + } + } + } + } + + public static Consumer LAMBDA_SPAWN_C130_SUPPLIESS = (entity) -> { spawnPlane(entity, C130PayloadType.SUPPLIES); }; + public static Consumer LAMBDA_SPAWN_C130_WEAPONS = (entity) -> { spawnPlane(entity, C130PayloadType.WEAPONS); }; + + public static void spawnPlane(Entity entity, C130PayloadType payload) { + if(!entity.worldObj.isRemote && entity.ticksExisted == 40) { + EntityBulletBaseMK4 bullet = (EntityBulletBaseMK4) entity; + if(bullet.getThrower() != null) bullet.worldObj.playSoundAtEntity(bullet.getThrower(), "hbm:item.techBleep", 1.0F, 1.0F); + EntityC130 c130 = new EntityC130(bullet.worldObj); + int x = (int) Math.floor(bullet.posX); + int z = (int) Math.floor(bullet.posZ); + int y = bullet.worldObj.getHeightValue(x, z); + c130.fac(bullet.worldObj, x, y, z, payload); + WorldUtil.loadAndSpawnEntityInWorld(c130); + TrackerUtil.setTrackingRange(bullet.worldObj, c130, 250); + } + } + + public static void init() { + + g26_flare = new BulletConfig().setItem(EnumAmmo.G26_FLARE).setCasing(EnumCasingType.LARGE, 4).setLife(100).setVel(2F).setGrav(0.015D).setRenderRotations(false).setOnImpact(LAMBDA_STANDARD_IGNITE).setCasing(new SpentCasing(CasingType.STRAIGHT).setColor(0x9E1616).setScale(2F).register("g26Flare")); + g26_flare_supply = new BulletConfig().setItem(EnumAmmo.G26_FLARE_SUPPLY).setCasing(EnumCasingType.LARGE, 4).setLife(100).setVel(2F).setGrav(0.015D).setRenderRotations(false).setOnImpact(LAMBDA_STANDARD_IGNITE).setOnUpdate(LAMBDA_SPAWN_C130_SUPPLIESS).setCasing(new SpentCasing(CasingType.STRAIGHT).setColor(0x3C80F0).setScale(2F).register("g26FlareSupply")); + g26_flare_weapon = new BulletConfig().setItem(EnumAmmo.G26_FLARE_WEAPON).setCasing(EnumCasingType.LARGE, 4).setLife(100).setVel(2F).setGrav(0.015D).setRenderRotations(false).setOnImpact(LAMBDA_STANDARD_IGNITE).setOnUpdate(LAMBDA_SPAWN_C130_WEAPONS).setCasing(new SpentCasing(CasingType.STRAIGHT).setColor(0x278400).setScale(2F).register("g26FlareWeapon")); + + BulletConfig g40_base = new BulletConfig().setLife(200).setVel(2F).setGrav(0.035D); + g40_he = g40_base.clone().setItem(EnumAmmo.G40_HE).setCasing(EnumCasingType.LARGE, 4).setOnImpact(LAMBDA_STANDARD_EXPLODE).setCasing(new SpentCasing(CasingType.STRAIGHT).setColor(0x777777).setScale(2, 2F, 1.5F).register("g40")); + g40_heat = g40_base.clone().setItem(EnumAmmo.G40_HEAT).setCasing(EnumCasingType.LARGE, 4).setOnImpact(LAMBDA_STANDARD_EXPLODE_HEAT).setDamage(0.5F).setCasing(new SpentCasing(CasingType.STRAIGHT).setColor(0x5E6854).setScale(2, 2F, 1.5F).register("g40heat")); + g40_demo = g40_base.clone().setItem(EnumAmmo.G40_DEMO).setCasing(EnumCasingType.LARGE, 4).setOnImpact(LAMBDA_STANDARD_EXPLODE_DEMO).setDamage(0.75F).setCasing(new SpentCasing(CasingType.STRAIGHT).setColor(0xE30000).setScale(2, 2F, 1.5F).register("g40demo")); + g40_inc = g40_base.clone().setItem(EnumAmmo.G40_INC).setCasing(EnumCasingType.LARGE, 4).setOnImpact(LAMBDA_STANDARD_EXPLODE_INC).setDamage(0.75F).setCasing(new SpentCasing(CasingType.STRAIGHT).setColor(0xE86F20).setScale(2, 2F, 1.5F).register("g40inc")); + g40_phosphorus = g40_base.clone().setItem(EnumAmmo.G40_PHOSPHORUS).setCasing(EnumCasingType.LARGE, 4).setOnImpact(LAMBDA_STANDARD_EXPLODE_PHOSPHORUS).setDamage(0.75F).setCasing(new SpentCasing(CasingType.STRAIGHT).setColor(0xC8C8C8).setScale(2, 2F, 1.5F).register("g40phos")); + + ModItems.gun_flaregun = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(100).draw(7).inspect(39).crosshair(Crosshair.L_CIRCUMFLEX).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(15F).delay(20).reload(28).jam(33).sound("hbm:weapon.hkShoot", 1.0F, 1.0F) + .mag(new MagazineSingleReload(0, 1).addConfigs(g26_flare, g26_flare_supply, g26_flare_weapon)) + .offset(0.75, -0.0625, -0.1875D) + .setupStandardFire().recoil(LAMBDA_RECOIL_GL)) + .setupStandardConfiguration() + .anim(LAMBDA_FLAREGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_FLAREGUN) + ).setUnlocalizedName("gun_flaregun"); + + ModItems.gun_congolake = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(400).draw(7).inspect(39).reloadSequential(true).reloadChangeType(true).crosshair(Crosshair.L_CIRCUMFLEX).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(20F).delay(24).reload(16, 16, 16, 0).jam(0).sound("hbm:weapon.glShoot", 1.0F, 1.0F) + .mag(new MagazineSingleReload(0, 4).addConfigs(g40_he, g40_heat, g40_demo, g40_inc, g40_phosphorus)) + .offset(0.75, -0.0625, -0.1875D) + .setupStandardFire().recoil(LAMBDA_RECOIL_GL)) + .setupStandardConfiguration() + .anim(LAMBDA_CONGOLAKE_ANIMS).orchestra(Orchestras.ORCHESTRA_CONGOLAKE) + ).setUnlocalizedName("gun_congolake"); + } + + public static BiConsumer LAMBDA_SMOKE = (stack, ctx) -> { + Lego.handleStandardSmoke(ctx.entity, stack, 1500, 0.025D, 1.05D, 0); + }; + + public static BiConsumer LAMBDA_RECOIL_GL = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil(10, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5)); + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_FLAREGUN_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(-90, 0, 0, 0).addPos(0, 0, 0, 350, IType.SIN_DOWN)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, 0, 50).addPos(0, 0, -3, 50).addPos(0, 0, 0, 250)) + .addBus("HAMMER", new BusAnimationSequence().addPos(15, 0, 0, 50).addPos(15, 0, 0, 550).addPos(0, 0, 0, 100)); + case CYCLE_DRY: return new BusAnimation() + .addBus("HAMMER", new BusAnimationSequence().addPos(15, 0, 0, 50).addPos(15, 0, 0, 550).addPos(0, 0, 0, 100)); + case RELOAD: return new BusAnimation() + .addBus("OPEN", new BusAnimationSequence().addPos(45, 0, 0, 200, IType.SIN_FULL).addPos(45, 0, 0, 750).addPos(0, 0, 0, 200, IType.SIN_UP)) + .addBus("SHELL", new BusAnimationSequence().addPos(4, -8, -4, 0).addPos(4, -8, -4, 200).addPos(0, 0, -5, 500, IType.SIN_DOWN).addPos(0, 0, 0, 200, IType.SIN_UP)) + .addBus("FLIP", new BusAnimationSequence().addPos(0, 0, 0, 200).addPos(25, 0, 0, 200, IType.SIN_DOWN).addPos(25, 0, 0, 800).addPos(0, 0, 0, 200, IType.SIN_DOWN)); + case JAMMED: return new BusAnimation() + .addBus("OPEN", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(45, 0, 0, 200, IType.SIN_FULL).addPos(45, 0, 0, 500).addPos(0, 0, 0, 200, IType.SIN_UP)) + .addBus("FLIP", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 0, 200).addPos(25, 0, 0, 200, IType.SIN_DOWN).addPos(25, 0, 0, 550).addPos(0, 0, 0, 200, IType.SIN_DOWN)); + case INSPECT: return new BusAnimation() + .addBus("FLIP", new BusAnimationSequence().addPos(-360 * 3, 0, 0, 1500, IType.SIN_FULL)); + } + + return null; + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_CONGOLAKE_ANIMS = (stack, type) -> { + int ammo = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory); + switch(type) { + case EQUIP: return ResourceManager.congolake_anim.get("Equip"); + case CYCLE: return ResourceManager.congolake_anim.get(ammo <= 1 ? "FireEmpty" : "Fire"); + case RELOAD: return ResourceManager.congolake_anim.get(ammo == 0 ? "ReloadEmpty": "ReloadStart"); + case RELOAD_CYCLE: return ResourceManager.congolake_anim.get("Reload"); + case RELOAD_END: return ResourceManager.congolake_anim.get("ReloadEnd"); + case JAMMED: return ResourceManager.congolake_anim.get("Jammed"); + case INSPECT: return ResourceManager.congolake_anim.get("Inspect"); + } + + return null; + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory44.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory44.java new file mode 100644 index 000000000..345ab3d4d --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory44.java @@ -0,0 +1,279 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.Function; + +import com.hbm.entity.projectile.EntityBoxcar; +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.entity.projectile.EntityTorpedo; +import com.hbm.items.ModItems; +import com.hbm.items.ItemEnums.EnumCasingType; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.GunState; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.items.weapon.sedna.mags.MagazineSingleReload; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.lib.RefStrings; +import com.hbm.particle.SpentCasing; +import com.hbm.particle.SpentCasing.CasingType; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; + +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.ResourceLocation; + +public class XFactory44 { + + public static final ResourceLocation scope_lilmac = new ResourceLocation(RefStrings.MODID, "textures/misc/scope_44.png"); + + public static BulletConfig m44_bp; + public static BulletConfig m44_sp; + public static BulletConfig m44_fmj; + public static BulletConfig m44_jhp; + public static BulletConfig m44_ap; + public static BulletConfig m44_express; + public static BulletConfig m44_equestrian_pip; + public static BulletConfig m44_equestrian_mn7; + + public static BiConsumer LAMBDA_BOXCAR = (bullet, mop) -> { + EntityBoxcar pippo = new EntityBoxcar(bullet.worldObj); + pippo.posX = mop.hitVec.xCoord; + pippo.posY = mop.hitVec.yCoord + 50; + pippo.posZ = mop.hitVec.zCoord;; + bullet.worldObj.spawnEntityInWorld(pippo); + bullet.worldObj.playSoundEffect(pippo.posX, pippo.posY + 50, pippo.posZ, "hbm:alarm.trainHorn", 100F, 1F); + bullet.setDead(); + }; + + public static BiConsumer LAMBDA_TORPEDO = (bullet, mop) -> { + EntityTorpedo murky = new EntityTorpedo(bullet.worldObj); + murky.posX = mop.hitVec.xCoord; + murky.posY = mop.hitVec.yCoord + 50; + murky.posZ = mop.hitVec.zCoord;; + bullet.worldObj.spawnEntityInWorld(murky); + bullet.setDead(); + }; + + public static void init() { + SpentCasing casing44 = new SpentCasing(CasingType.STRAIGHT).setColor(SpentCasing.COLOR_CASE_BRASS).setupSmoke(1F, 0.5D, 60, 20); + m44_bp = new BulletConfig().setItem(EnumAmmo.M44_BP).setCasing(EnumCasingType.SMALL, 12).setDamage(0.75F).setBlackPowder(true) + .setCasing(casing44.clone().register("m44bp")); + m44_sp = new BulletConfig().setItem(EnumAmmo.M44_SP).setCasing(EnumCasingType.SMALL, 6) + .setCasing(casing44.clone().register("m44")); + m44_fmj = new BulletConfig().setItem(EnumAmmo.M44_FMJ).setCasing(EnumCasingType.SMALL, 6).setDamage(0.8F).setThresholdNegation(3F).setArmorPiercing(0.1F) + .setCasing(casing44.clone().register("m44fmj")); + m44_jhp = new BulletConfig().setItem(EnumAmmo.M44_JHP).setCasing(EnumCasingType.SMALL, 6).setDamage(1.5F).setHeadshot(1.5F).setArmorPiercing(-0.25F) + .setCasing(casing44.clone().register("m44jhp")); + m44_ap = new BulletConfig().setItem(EnumAmmo.M44_AP).setCasing(EnumCasingType.SMALL_STEEL, 6).setDoesPenetrate(true).setDamageFalloffByPen(false).setDamage(1.25F).setThresholdNegation(7.5F).setArmorPiercing(0.15F) + .setCasing(casing44.clone().setColor(SpentCasing.COLOR_CASE_44).register("m44ap")); + m44_express = new BulletConfig().setItem(EnumAmmo.M44_EXPRESS).setCasing(EnumCasingType.SMALL, 6).setDoesPenetrate(true).setDamage(1.5F).setThresholdNegation(3F).setArmorPiercing(0.1F).setWear(1.5F) + .setCasing(casing44.clone().register("m44express")); + m44_equestrian_pip = new BulletConfig().setItem(EnumAmmoSecret.M44_EQUESTRIAN).setDamage(0F).setOnImpact(LAMBDA_BOXCAR) + .setCasing(casing44.clone().setColor(SpentCasing.COLOR_CASE_EQUESTRIAN).register("m44equestrianPip")); + m44_equestrian_mn7 = new BulletConfig().setItem(EnumAmmoSecret.M44_EQUESTRIAN).setDamage(0F).setOnImpact(LAMBDA_TORPEDO) + .setCasing(casing44.clone().setColor(SpentCasing.COLOR_CASE_EQUESTRIAN).register("m44equestrianMn7")); + + ModItems.gun_henry = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(300).draw(15).inspect(23).reloadSequential(true).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(10F).delay(20).reload(25, 11, 14, 8).jam(45).sound("hbm:weapon.fire.rifle", 1.0F, 1.0F) + .mag(new MagazineSingleReload(0, 14).addConfigs(m44_bp, m44_sp, m44_fmj, m44_jhp, m44_ap, m44_express)) + .offset(0.75, -0.0625, -0.1875D) + .setupStandardFire().recoil(LAMBDA_RECOIL_HENRY)) + .setupStandardConfiguration() + .anim(LAMBDA_HENRY_ANIMS).orchestra(Orchestras.ORCHESTRA_HENRY) + ).setUnlocalizedName("gun_henry"); + ModItems.gun_henry_lincoln = new ItemGunBaseNT(WeaponQuality.B_SIDE, new GunConfig() + .dura(300).draw(15).inspect(23).reloadSequential(true).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(20F).spreadHipfire(0F).delay(20).reload(25, 11, 14, 8).jam(45).sound("hbm:weapon.fire.rifle", 1.0F, 1.25F) + .mag(new MagazineSingleReload(0, 14).addConfigs(m44_bp, m44_sp, m44_fmj, m44_jhp, m44_ap, m44_express)) + .offset(0.75, -0.0625, -0.1875D) + .setupStandardFire().recoil(LAMBDA_RECOIL_HENRY)) + .setupStandardConfiguration() + .anim(LAMBDA_HENRY_ANIMS).orchestra(Orchestras.ORCHESTRA_HENRY) + ).setUnlocalizedName("gun_henry_lincoln"); + + ModItems.gun_heavy_revolver = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(600).draw(10).inspect(23).crosshair(Crosshair.L_CLASSIC).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(15F).delay(14).reload(46).jam(23).sound("hbm:weapon.44Shoot", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 6).addConfigs(m44_bp, m44_sp, m44_fmj, m44_jhp, m44_ap, m44_express)) + .offset(0.75, -0.0625, -0.3125D) + .setupStandardFire().recoil(LAMBDA_RECOIL_NOPIP)) + .setupStandardConfiguration() + .anim(LAMBDA_NOPIP_ANIMS).orchestra(Orchestras.ORCHESTRA_NOPIP) + ).setNameMutator(LAMBDA_NAME_NOPIP) + .setUnlocalizedName("gun_heavy_revolver"); + ModItems.gun_heavy_revolver_lilmac = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() + .dura(31_000).draw(10).inspect(23).crosshair(Crosshair.L_CLASSIC).scopeTexture(scope_lilmac).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(30F).delay(14).reload(46).jam(23).sound("hbm:weapon.44Shoot", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 6).addConfigs(m44_equestrian_pip, m44_bp, m44_sp, m44_fmj, m44_jhp, m44_ap, m44_express)) + .offset(0.75, -0.0625, -0.3125D) + .setupStandardFire().recoil(LAMBDA_RECOIL_NOPIP)) + .setupStandardConfiguration() + .anim(LAMBDA_LILMAC_ANIMS).orchestra(Orchestras.ORCHESTRA_NOPIP) + ).setUnlocalizedName("gun_heavy_revolver_lilmac"); + ModItems.gun_heavy_revolver_protege = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() + .dura(31_000).draw(10).inspect(23).crosshair(Crosshair.L_CLASSIC).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(30F).delay(14).reload(46).jam(23).sound("hbm:weapon.44Shoot", 1.0F, 0.8F) + .mag(new MagazineFullReload(0, 6).addConfigs(m44_equestrian_mn7, m44_bp, m44_sp, m44_fmj, m44_jhp, m44_ap, m44_express)) + .offset(0.75, -0.0625, -0.3125D) + .setupStandardFire().recoil(LAMBDA_RECOIL_NOPIP)) + .setupStandardConfiguration() + .anim(LAMBDA_LILMAC_ANIMS).orchestra(Orchestras.ORCHESTRA_NOPIP) + ).setUnlocalizedName("gun_heavy_revolver_protege"); + + ModItems.gun_hangman = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() + .dura(600).draw(10).inspect(31).inspectCancel(false).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(25F).delay(10).reload(46).jam(23).sound("hbm:weapon.44Shoot", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 8).addConfigs(m44_bp, m44_sp, m44_fmj, m44_jhp, m44_ap, m44_express)) + .offset(1, -0.0625 * 2.5, -0.25D) + .setupStandardFire().recoil(LAMBDA_RECOIL_HANGMAN)) + .setupStandardConfiguration().ps(SMACK_A_FUCKER) + .anim(LAMBDA_HANGMAN_ANIMS).orchestra(Orchestras.ORCHESTRA_HANGMAN) + ).setUnlocalizedName("gun_hangman"); + } + + public static Function LAMBDA_NAME_NOPIP = (stack) -> { + if(WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SCOPE)) return stack.getUnlocalizedName() + "_scoped"; + return null; + }; + + public static BiConsumer SMACK_A_FUCKER = (stack, ctx) -> { + if(ItemGunBaseNT.getState(stack, ctx.configIndex) == GunState.IDLE || ItemGunBaseNT.getLastAnim(stack, ctx.configIndex) == AnimType.CYCLE) { + ItemGunBaseNT.setIsAiming(stack, false); + ItemGunBaseNT.setState(stack, ctx.configIndex, GunState.DRAWING); + ItemGunBaseNT.setTimer(stack, ctx.configIndex, ctx.config.getInspectDuration(stack)); + ItemGunBaseNT.playAnimation(ctx.getPlayer(), stack, AnimType.INSPECT, ctx.configIndex); + } + }; + + public static BiConsumer LAMBDA_RECOIL_HENRY = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil(5, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1)); + }; + + public static BiConsumer LAMBDA_RECOIL_NOPIP = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil(10, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5)); + }; + + public static BiConsumer LAMBDA_RECOIL_HANGMAN = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil(5, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1)); + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_HENRY_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(-90, 0, 0, 0).addPos(0, 0, -3, 350, IType.SIN_DOWN)) + .addBus("SIGHT", new BusAnimationSequence().addPos(80, 0, 0, 0).addPos(80, 0, 0, 500).addPos(0, 0, -3, 250, IType.SIN_DOWN)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, 0, 50).addPos(0, 0, -1, 50).addPos(0, 0, 0, 250)) + .addBus("SIGHT", new BusAnimationSequence().addPos(35, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)) + .addBus("LEVER", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(-90, 0, 0, 200).addPos(0, 0, 0, 200)) + .addBus("TURN", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(0, 0, 45, 200, IType.SIN_DOWN).addPos(0, 0, 0, 200, IType.SIN_UP)) + .addBus("HAMMER", new BusAnimationSequence().addPos(30, 0, 0, 50).addPos(30, 0, 0, 550).addPos(0, 0, 0, 200)); + case CYCLE_DRY: return new BusAnimation() + .addBus("LEVER", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(-90, 0, 0, 200).addPos(0, 0, 0, 200)) + .addBus("TURN", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(0, 0, 45, 200, IType.SIN_DOWN).addPos(0, 0, 0, 200, IType.SIN_UP)) + .addBus("HAMMER", new BusAnimationSequence().addPos(30, 0, 0, 50).addPos(30, 0, 0, 550).addPos(0, 0, 0, 200)); + case RELOAD: return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().addPos(-60, 0, 0, 400, IType.SIN_FULL)) + .addBus("TWIST", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, -90, 200, IType.SIN_FULL)) + .addBus("BULLET", new BusAnimationSequence().addPos(0, 0, 0, 700).addPos(3, 0, -6, 0).addPos(0, 0, 1, 300, IType.SIN_FULL).addPos(0, 0, 0, 250, IType.SIN_FULL)); + case RELOAD_CYCLE: return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().addPos(-60, 0, 0, 0)) + .addBus("TWIST", new BusAnimationSequence().addPos(0, 0, -90, 0)) + .addBus("BULLET", new BusAnimationSequence().addPos(3, 0, -6, 0).addPos(0, 0, 1, 300, IType.SIN_FULL).addPos(0, 0, 0, 250, IType.SIN_FULL)); + case RELOAD_END: + boolean empty = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmountBeforeReload(stack) <= 0; + return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().addPos(-60, 0, 0, 0).addPos(-60, 0, 0, 300).addPos(0, 0, 0, 400, IType.SIN_FULL)) + .addBus("TWIST", new BusAnimationSequence().addPos(0, 0, -90, 0).addPos(0, 0, 0, 200, IType.SIN_FULL)) + .addBus("LEVER", new BusAnimationSequence().addPos(0, 0, 0, 700).addPos(empty ? -90 : 0, 0, 0, 200).addPos(0, 0, 0, 200)) + .addBus("TURN", new BusAnimationSequence().addPos(0, 0, 0, 700).addPos(0, 0, empty ? 45 : 0, 200, IType.SIN_DOWN).addPos(0, 0, 0, 200, IType.SIN_UP)); + case JAMMED: return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().addPos(-60, 0, 0, 0).addPos(-60, 0, 0, 300).addPos(0, 0, 0, 400, IType.SIN_FULL)) + .addBus("TWIST", new BusAnimationSequence().addPos(0, 0, -90, 0).addPos(0, 0, 0, 200, IType.SIN_FULL)) + .addBus("LEVER", new BusAnimationSequence().addPos(0, 0, 0, 700).addPos(-90, 0, 0, 200).addPos(0, 0, 0, 200).addPos(0, 0, 0, 500).addPos(-90, 0, 0, 200).addPos(0, 0, 0, 200).addPos(0, 0, 0, 200).addPos(-90, 0, 0, 200).addPos(0, 0, 0, 200)) + .addBus("TURN", new BusAnimationSequence().addPos(0, 0, 0, 700).addPos(0, 0, 45, 200, IType.SIN_DOWN).addPos(0, 0, 0, 200, IType.SIN_UP).addPos(0, 0, 0, 500).addPos(0, 0, 45, 200, IType.SIN_FULL).addPos(0, 0, 45, 600).addPos(0, 0, 0, 200, IType.SIN_FULL)); + case INSPECT: return new BusAnimation() + .addBus("YEET", new BusAnimationSequence().addPos(0, 2, 0, 200, IType.SIN_DOWN).addPos(0, 0, 0, 200, IType.SIN_UP)) + .addBus("ROLL", new BusAnimationSequence().addPos(0, 0, 360, 400)); + } + + return null; + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_NOPIP_ANIMS = (stack, type) -> { + switch(type) { + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, 0, 50).addPos(0, 0, -3, 50).addPos(0, 0, 0, 250)) + .addBus("HAMMER", new BusAnimationSequence().addPos(0, 0, 1, 50).addPos(0, 0, 1, 400).addPos(0, 0, 0, 200)) + .addBus("DRUM", new BusAnimationSequence().addPos(0, 0, 0, 450).addPos(0, 0, 1, 200)); + case CYCLE_DRY: return new BusAnimation() + .addBus("HAMMER", new BusAnimationSequence().addPos(0, 0, 1, 50).addPos(0, 0, 1, 300 + 100).addPos(0, 0, 0, 200)) + .addBus("DRUM", new BusAnimationSequence().addPos(0, 0, 0, 450).addPos(0, 0, 1, 200)); + case EQUIP: return new BusAnimation().addBus("ROTATE", new BusAnimationSequence().addPos(90, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN)); + case RELOAD: return new BusAnimation() + .addBus("RELAOD_TILT", new BusAnimationSequence().addPos(-15, 0, 0, 100).addPos(65, 0, 0, 100).addPos(45, 0, 0, 50).addPos(0, 0, 0, 200).addPos(0, 0, 0, 1450).addPos(-80, 0, 0, 100).addPos(-80, 0, 0, 100).addPos(0, 0, 0, 200)) + .addBus("RELOAD_CYLINDER", new BusAnimationSequence().addPos(0, 0, 0, 200).addPos(90, 0, 0, 100).addPos(90, 0, 0, 1700).addPos(0, 0, 0, 70)) + .addBus("RELOAD_LIFT", new BusAnimationSequence().addPos(0, 0, 0, 350).addPos(-45, 0, 0, 250).addPos(-45, 0, 0, 350).addPos(-15, 0, 0, 200).addPos(-15, 0, 0, 1050).addPos(0, 0, 0, 100)) + .addBus("RELOAD_JOLT", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(2, 0, 0, 50).addPos(0, 0, 0, 100)) + .addBus("RELOAD_BULLETS", new BusAnimationSequence().addPos(0, 0, 0, 650).addPos(10, 0, 0, 300).addPos(10, 0, 0, 200).addPos(0, 0, 0, 700)) + .addBus("RELOAD_BULLETS_CON", new BusAnimationSequence().addPos(1, 0, 0, 0).addPos(1, 0, 0, 950).addPos(0, 0, 0, 1 ) ); + case INSPECT: + case JAMMED: return new BusAnimation() + .addBus("RELAOD_TILT", new BusAnimationSequence().addPos(-15, 0, 0, 100).addPos(65, 0, 0, 100).addPos(45, 0, 0, 50).addPos(0, 0, 0, 200).addPos(0, 0, 0, 200).addPos(-80, 0, 0, 100).addPos(-80, 0, 0, 100).addPos(0, 0, 0, 200)) + .addBus("RELOAD_CYLINDER", new BusAnimationSequence().addPos(0, 0, 0, 200).addPos(90, 0, 0, 100).addPos(90, 0, 0, 450).addPos(0, 0, 0, 70)); + } + + return null; + }; + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_LILMAC_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation().addBus("SPIN", new BusAnimationSequence().addPos(-360, 0, 0, 350)); + } + + return LAMBDA_NOPIP_ANIMS.apply(stack, type); + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_HANGMAN_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation().addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, 0, 50).addPos(0, 0, -3, 50).addPos(0, 0, 0, 250)); + case RELOAD: return new BusAnimation() + .addBus("LID", new BusAnimationSequence().addPos(0, 0, -90, 250).addPos(0, 0, -90, 1500).addPos(0, 0, 0, 250)) + .addBus("MAG", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(0, -10, 0, 250, IType.SIN_UP).addPos(0, -10, 0, 500).addPos(0, 0, 0, 350, IType.SIN_FULL)) + .addBus("BULLETS", new BusAnimationSequence().addPos(1, 1, 1, 0).addPos(0, 0, 0, 500)) + .addBus("EQUIP", new BusAnimationSequence().addPos(-15, 0, 0, 500, IType.SIN_FULL).addPos(-15, 0, 0, 850).addPos(-25, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 350, IType.SIN_FULL)) + .addBus("ROLL", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 25, 250, IType.SIN_FULL).addPos(0, 0, 25, 1000).addPos(0, 0, 0, 250, IType.SIN_FULL)); + case INSPECT: return new BusAnimation() + .addBus("TURN", new BusAnimationSequence().addPos(0, 170, 0, 500, IType.SIN_UP).addPos(0, 170, 0, 550).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("ROLL", new BusAnimationSequence().addPos(0, 0, 110, 500, IType.SIN_FULL).addPos(0, 0, 110, 550).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("SMACK", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 1, 150, IType.SIN_DOWN).addPos(0, 0, -3, 150, IType.SIN_UP).addPos(0, 0, 0, 350, IType.SIN_FULL)); + case JAMMED: return new BusAnimation() + .addBus("LID", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, -90, 250).addPos(0, 0, -90, 300).addPos(0, 0, 0, 250)) + .addBus("MAG", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 0, 250).addPos(0, -3, 0, 150, IType.SIN_UP).addPos(0, 0, 0, 150, IType.SIN_FULL)) + .addBus("EQUIP", new BusAnimationSequence().addPos(0, 0, 0, 1000).addPos(-10, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 350, IType.SIN_FULL)) + .addBus("ROLL", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 25, 250, IType.SIN_FULL).addPos(0, 0, 25, 300).addPos(0, 0, 0, 250, IType.SIN_FULL)); + } + + return null; + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory45.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory45.java new file mode 100644 index 000000000..6225637a4 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory45.java @@ -0,0 +1,30 @@ +package com.hbm.items.weapon.sedna.factory; + +import com.hbm.items.ItemEnums.EnumCasingType; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.particle.SpentCasing; +import com.hbm.particle.SpentCasing.CasingType; + +public class XFactory45 { + + public static BulletConfig p45_sp; + public static BulletConfig p45_fmj; + public static BulletConfig p45_jhp; + public static BulletConfig p45_ap; + public static BulletConfig p45_du; + + public static void init() { + SpentCasing casing9 = new SpentCasing(CasingType.STRAIGHT).setColor(SpentCasing.COLOR_CASE_BRASS).setScale(1F, 1F, 0.75F); + p45_sp = new BulletConfig().setItem(EnumAmmo.P45_SP).setCasing(EnumCasingType.SMALL, 8) + .setCasing(casing9.clone().register("p45")); + p45_fmj = new BulletConfig().setItem(EnumAmmo.P45_FMJ).setCasing(EnumCasingType.SMALL, 8).setDamage(0.8F).setThresholdNegation(2F).setArmorPiercing(0.1F) + .setCasing(casing9.clone().register("p45fmj")); + p45_jhp = new BulletConfig().setItem(EnumAmmo.P45_JHP).setCasing(EnumCasingType.SMALL, 8).setDamage(1.5F).setHeadshot(1.5F).setArmorPiercing(-0.25F) + .setCasing(casing9.clone().register("p45jhp")); + p45_ap = new BulletConfig().setItem(EnumAmmo.P45_AP).setCasing(EnumCasingType.SMALL_STEEL, 8).setDoesPenetrate(true).setDamageFalloffByPen(false).setDamage(1.25F).setThresholdNegation(5F).setArmorPiercing(0.15F) + .setCasing(casing9.clone().setColor(SpentCasing.COLOR_CASE_44).register("p45ap")); + p45_du = new BulletConfig().setItem(EnumAmmo.P45_DU).setCasing(EnumCasingType.SMALL_STEEL, 8).setDoesPenetrate(true).setDamageFalloffByPen(false).setDamage(2.5F).setThresholdNegation(15F).setArmorPiercing(0.25F) + .setCasing(casing9.clone().setColor(SpentCasing.COLOR_CASE_44).register("p45du")); + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory50.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory50.java new file mode 100644 index 000000000..9a0c0fcae --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory50.java @@ -0,0 +1,186 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; + +import com.hbm.entity.projectile.EntityBuilding; +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.items.ModItems; +import com.hbm.items.ItemEnums.EnumCasingType; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret; +import com.hbm.items.weapon.sedna.mags.MagazineBelt; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.lib.RefStrings; +import com.hbm.particle.SpentCasing; +import com.hbm.particle.SpentCasing.CasingType; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; + +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.ResourceLocation; + +public class XFactory50 { + + public static final ResourceLocation scope = new ResourceLocation(RefStrings.MODID, "textures/misc/scope_amat.png"); + public static final ResourceLocation scope_thermal = new ResourceLocation(RefStrings.MODID, "textures/misc/scope_penance.png"); + + public static BulletConfig bmg50_sp; + public static BulletConfig bmg50_fmj; + public static BulletConfig bmg50_jhp; + public static BulletConfig bmg50_ap; + public static BulletConfig bmg50_du; + public static BulletConfig bmg50_he; + public static BulletConfig bmg50_sm; + public static BulletConfig bmg50_black; + public static BulletConfig bmg50_equestrian; + + public static BiConsumer LAMBDA_BUILDING = (bullet, mop) -> { + EntityBuilding silver = new EntityBuilding(bullet.worldObj); + silver.posX = mop.hitVec.xCoord; + silver.posY = mop.hitVec.yCoord + 50; + silver.posZ = mop.hitVec.zCoord;; + bullet.worldObj.spawnEntityInWorld(silver); + bullet.setDead(); + }; + + public static BiConsumer LAMBDA_STANDARD_EXPLODE = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3 && mop.entityHit == bullet.getThrower()) return; + Lego.tinyExplode(bullet, mop, 2F); bullet.setDead(); + }; + + public static void init() { + SpentCasing casing50 = new SpentCasing(CasingType.BOTTLENECK).setColor(SpentCasing.COLOR_CASE_BRASS).setScale(1.5F); + bmg50_sp = new BulletConfig().setItem(EnumAmmo.BMG50_SP).setCasing(EnumCasingType.LARGE, 12) + .setCasing(casing50.clone().register("bmg50")); + bmg50_fmj = new BulletConfig().setItem(EnumAmmo.BMG50_FMJ).setCasing(EnumCasingType.LARGE, 12).setDamage(0.8F).setThresholdNegation(7F).setArmorPiercing(0.1F) + .setCasing(casing50.clone().register("bmg50fmj")); + bmg50_jhp = new BulletConfig().setItem(EnumAmmo.BMG50_JHP).setCasing(EnumCasingType.LARGE, 12).setDamage(1.5F).setHeadshot(1.5F).setArmorPiercing(-0.25F) + .setCasing(casing50.clone().register("bmg50jhp")); + bmg50_ap = new BulletConfig().setItem(EnumAmmo.BMG50_AP).setCasing(EnumCasingType.LARGE_STEEL, 12).setDoesPenetrate(true).setDamageFalloffByPen(false).setDamage(1.25F).setThresholdNegation(17.5F).setArmorPiercing(0.15F) + .setCasing(casing50.clone().setColor(SpentCasing.COLOR_CASE_44).register("bmg50ap")); + bmg50_du = new BulletConfig().setItem(EnumAmmo.BMG50_DU).setCasing(EnumCasingType.LARGE_STEEL, 12).setDoesPenetrate(true).setDamageFalloffByPen(false).setDamage(1.5F).setThresholdNegation(21F).setArmorPiercing(0.25F) + .setCasing(casing50.clone().setColor(SpentCasing.COLOR_CASE_44).register("bmg50du")); + bmg50_he = new BulletConfig().setItem(EnumAmmo.BMG50_HE).setCasing(EnumCasingType.LARGE_STEEL, 12).setWear(3F).setDoesPenetrate(true).setDamageFalloffByPen(false).setDamage(1.75F).setOnImpact(LAMBDA_STANDARD_EXPLODE) + .setCasing(casing50.clone().setColor(SpentCasing.COLOR_CASE_44).register("bmg50he")); + bmg50_sm = new BulletConfig().setItem(EnumAmmo.BMG50_SM).setCasing(EnumCasingType.LARGE_STEEL, 6).setWear(10F).setDoesPenetrate(true).setDamageFalloffByPen(false).setDamage(2.5F).setThresholdNegation(30F).setArmorPiercing(0.35F) + .setCasing(casing50.clone().setColor(SpentCasing.COLOR_CASE_44).register("bmg50sm")); + bmg50_black = new BulletConfig().setItem(EnumAmmoSecret.BMG50_BLACK).setWear(5F).setDoesPenetrate(true).setDamageFalloffByPen(false).setSpectral(true).setDamage(1.5F).setHeadshot(3F).setThresholdNegation(30F).setArmorPiercing(0.35F) + .setCasing(casing50.clone().setColor(SpentCasing.COLOR_CASE_EQUESTRIAN).register("bmg50black")); + bmg50_equestrian = new BulletConfig().setItem(EnumAmmoSecret.BMG50_EQUESTRIAN).setDamage(0F).setOnImpact(LAMBDA_BUILDING) + .setCasing(casing50.clone().setColor(SpentCasing.COLOR_CASE_EQUESTRIAN).register("bmg50equestrian")); + + ModItems.gun_amat = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(350).draw(20).inspect(50).crosshair(Crosshair.CIRCLE).scopeTexture(scope).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(30F).delay(25).dry(25).spreadHipfire(0.05F).reload(51).jam(43).sound("hbm:weapon.fire.amat", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 7).addConfigs(bmg50_sp, bmg50_fmj, bmg50_jhp, bmg50_ap, bmg50_du, bmg50_sm, bmg50_he)) + .offset(1, -0.0625 * 1.5, -0.25D) + .setupStandardFire().recoil(LAMBDA_RECOIL_AMAT)) + .setupStandardConfiguration() + .anim(LAMBDA_AMAT_ANIMS).orchestra(Orchestras.ORCHESTRA_AMAT) + ).setUnlocalizedName("gun_amat"); + ModItems.gun_amat_subtlety = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() + .dura(1_000).draw(20).inspect(50).crosshair(Crosshair.CIRCLE).scopeTexture(scope).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(50F).delay(25).dry(25).spreadHipfire(0.05F).reload(51).jam(43).sound("hbm:weapon.fire.amat", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 7).addConfigs(bmg50_equestrian, bmg50_sp, bmg50_fmj, bmg50_jhp, bmg50_ap, bmg50_du, bmg50_sm, bmg50_he)) + .offset(1, -0.0625 * 1.5, -0.25D) + .setupStandardFire().recoil(LAMBDA_RECOIL_AMAT)) + .setupStandardConfiguration() + .anim(LAMBDA_AMAT_ANIMS).orchestra(Orchestras.ORCHESTRA_AMAT) + ).setUnlocalizedName("gun_amat_subtlety"); + ModItems.gun_amat_penance = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() + .dura(5_000).draw(20).inspect(50).crosshair(Crosshair.CIRCLE).scopeTexture(scope_thermal).thermalSights(true).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(45F).delay(25).dry(25).spreadHipfire(0F).reload(51).jam(43).sound("hbm:weapon.silencerShoot", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 7).addConfigs(bmg50_sp, bmg50_fmj, bmg50_jhp, bmg50_ap, bmg50_du, bmg50_sm, bmg50_he, bmg50_black)) + .offset(1, -0.0625 * 1.5, -0.25D) + .setupStandardFire().recoil(LAMBDA_RECOIL_AMAT)) + .setupStandardConfiguration() + .anim(LAMBDA_AMAT_ANIMS).orchestra(Orchestras.ORCHESTRA_AMAT) + ).setUnlocalizedName("gun_amat_penance"); + + ModItems.gun_m2 = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(3_000).draw(10).inspect(31).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(7.5F).delay(2).dry(10).auto(true).spread(0.005F).sound("hbm:turret.chekhov_fire", 1.0F, 1.0F) + .mag(new MagazineBelt().addConfigs(bmg50_sp, bmg50_fmj, bmg50_jhp, bmg50_ap, bmg50_du, bmg50_he)) + .offset(1, -0.0625 * 2.5, -0.25D) + .setupStandardFire().recoil(LAMBDA_RECOIL_M2)) + .setupStandardConfiguration() + .anim(LAMBDA_M2_ANIMS).orchestra(Orchestras.ORCHESTRA_M2) + ).setUnlocalizedName("gun_m2"); + } + + public static BiConsumer LAMBDA_SMOKE = (stack, ctx) -> { + Lego.handleStandardSmoke(ctx.entity, stack, 2000, 0.05D, 1.1D, 0); + }; + + public static BiConsumer LAMBDA_RECOIL_AMAT = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil(12.5F, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1)); + }; + + public static BiConsumer LAMBDA_RECOIL_M2 = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil((float) (ctx.getPlayer().getRNG().nextGaussian() * 0.5), (float) (ctx.getPlayer().getRNG().nextGaussian() * 0.5)); + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_AMAT_ANIMS = (stack, type) -> { + double turn = -60; + double pullAmount = -2.5; + double side = 4; + double down = -2; + double detach = 0.5; + double apex = 7; + + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(45, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("BIPOD", new BusAnimationSequence().hold(500).addPos(80, 0, 0, 350).addPos(80, 25, 0, 150)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, -0.5, 50, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)) + .addBus("BOLT_TURN", new BusAnimationSequence().hold(250).addPos(0, 0, turn, 150).hold(700).addPos(0, 0, 0, 150)) + .addBus("BOLT_PULL", new BusAnimationSequence().hold(350).addPos(0, 0, pullAmount, 250, IType.SIN_UP).hold(250).addPos(0, 0, 0, 200, IType.LINEAR)) + .addBus("LIFT", new BusAnimationSequence().hold(600).addPos(-3, 0, 0, 150, IType.SIN_DOWN).hold(300).addPos(0, 0, 0, 250, IType.SIN_FULL)); + case CYCLE_DRY: return new BusAnimation() + .addBus("BOLT_TURN", new BusAnimationSequence().hold(250).addPos(0, 0, turn, 150).hold(700).addPos(0, 0, 0, 150)) + .addBus("BOLT_PULL", new BusAnimationSequence().hold(350).addPos(0, 0, pullAmount, 250, IType.SIN_UP).hold(250).addPos(0, 0, 0, 200, IType.LINEAR)) + .addBus("LIFT", new BusAnimationSequence().hold(600).addPos(-3, 0, 0, 150, IType.SIN_DOWN).hold(300).addPos(0, 0, 0, 250, IType.SIN_FULL)); + case RELOAD: return new BusAnimation() + .addBus("MAG", new BusAnimationSequence().addPos(0, -10, 0, 350, IType.SIN_UP).addPos(0, 0, 0, 650, IType.SIN_UP)) + .addBus("LIFT", new BusAnimationSequence().hold(1000).addPos(-2, 0, 0, 150, IType.SIN_DOWN).addPos(0, 0, 0, 250, IType.SIN_FULL).hold(450).addPos(-3, 0, 0, 150, IType.SIN_DOWN).hold(300).addPos(0, 0, 0, 250, IType.SIN_FULL)) + .addBus("BOLT_TURN", new BusAnimationSequence().hold(1500).addPos(0, 0, turn, 150).hold(700).addPos(0, 0, 0, 150)) + .addBus("BOLT_PULL", new BusAnimationSequence().hold(1600).addPos(0, 0, pullAmount, 250, IType.SIN_UP).hold(250).addPos(0, 0, 0, 200, IType.LINEAR)); + case JAMMED: return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().hold(250).addPos(-15, 0, 0, 500, IType.SIN_FULL).holdUntil(1650).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("BOLT_TURN", new BusAnimationSequence().hold(250).addPos(0, 0, turn, 150).holdUntil(1250).addPos(0, 0, 0, 150)) + .addBus("BOLT_PULL", new BusAnimationSequence().hold(350).addPos(0, 0, pullAmount, 250, IType.SIN_UP).addPos(0, 0, 0, 200, IType.LINEAR).addPos(0, 0, pullAmount, 250, IType.SIN_UP).addPos(0, 0, 0, 200, IType.LINEAR)); + case INSPECT: return new BusAnimation() + .addBus("SCOPE_THROW", new BusAnimationSequence().addPos(0, detach, 0, 100, IType.SIN_FULL).addPos(side, down, 0, 500, IType.SIN_FULL).addPos(side, down - 0.5, 0, 100).addPos(side, apex, 0, 350, IType.SIN_FULL).addPos(side, down - 0.5, 0, 350, IType.SIN_DOWN).addPos(side, down, 0, 100).hold(250).addPos(0, detach, 0, 500, IType.SIN_FULL).addPos(0, 0, 0, 250, IType.SIN_FULL)) + .addBus("SCOPE_SPIN", new BusAnimationSequence().hold(700).addPos(-360, 0, 0, 700)); + } + + return null; + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_M2_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(80, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_FULL)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, -0.25, 25).addPos(0, 0, 0, 75)); + } + + return null; + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory556mm.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory556mm.java new file mode 100644 index 000000000..c37d6c78a --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory556mm.java @@ -0,0 +1,252 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.Function; + +import com.hbm.config.ClientConfig; +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.extprop.HbmLivingProps; +import com.hbm.items.ModItems; +import com.hbm.items.ItemEnums.EnumCasingType; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.GunState; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.particle.SpentCasing; +import com.hbm.particle.SpentCasing.CasingType; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.ResourceLocation; + +public class XFactory556mm { + + public static final ResourceLocation scope = new ResourceLocation(RefStrings.MODID, "textures/misc/scope_bolt.png"); + + public static BulletConfig r556_sp; + public static BulletConfig r556_fmj; + public static BulletConfig r556_jhp; + public static BulletConfig r556_ap; + + public static BulletConfig r556_inc_sp; + public static BulletConfig r556_inc_fmj; + public static BulletConfig r556_inc_jhp; + public static BulletConfig r556_inc_ap; + + public static BiConsumer INCENDIARY = (bullet, mop) -> { + if(mop.entityHit != null && mop.entityHit instanceof EntityLivingBase) { + HbmLivingProps data = HbmLivingProps.getData((EntityLivingBase) mop.entityHit); + if(data.phosphorus < 300) data.phosphorus = 300; + } + }; + + public static void init() { + SpentCasing casing556 = new SpentCasing(CasingType.BOTTLENECK).setColor(SpentCasing.COLOR_CASE_BRASS).setScale(0.8F); + r556_sp = new BulletConfig().setItem(EnumAmmo.R556_SP).setCasing(EnumCasingType.SMALL, 8) + .setCasing(casing556.clone().register("r556")); + r556_fmj = new BulletConfig().setItem(EnumAmmo.R556_FMJ).setCasing(EnumCasingType.SMALL, 8).setDamage(0.8F).setThresholdNegation(4F).setArmorPiercing(0.1F) + .setCasing(casing556.clone().register("r556fmj")); + r556_jhp = new BulletConfig().setItem(EnumAmmo.R556_JHP).setCasing(EnumCasingType.SMALL, 8).setDamage(1.5F).setHeadshot(1.5F).setArmorPiercing(-0.25F) + .setCasing(casing556.clone().register("r556jhp")); + r556_ap = new BulletConfig().setItem(EnumAmmo.R556_AP).setCasing(EnumCasingType.SMALL_STEEL, 8).setDoesPenetrate(true).setDamageFalloffByPen(false).setDamage(1.25F).setThresholdNegation(10F).setArmorPiercing(0.15F) + .setCasing(casing556.clone().setColor(SpentCasing.COLOR_CASE_44).register("r556ap")); + + r556_inc_sp = r556_sp.clone().setOnImpact(INCENDIARY); + r556_inc_fmj = r556_fmj.clone().setOnImpact(INCENDIARY); + r556_inc_jhp = r556_jhp.clone().setOnImpact(INCENDIARY); + r556_inc_ap = r556_ap.clone().setOnImpact(INCENDIARY); + + ModItems.gun_g3 = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(3_000).draw(10).inspect(33).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(5F).delay(2).auto(true).dry(15).reload(50).jam(47).sound("hbm:weapon.fire.assault", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 30).addConfigs(r556_sp, r556_fmj, r556_jhp, r556_ap)) + .offset(1, -0.0625 * 2.5, -0.25D) + .setupStandardFire().recoil(LAMBDA_RECOIL_G3)) + .setupStandardConfiguration().ps(Lego.LAMBDA_STANDARD_CLICK_SECONDARY) + .anim(LAMBDA_G3_ANIMS).orchestra(Orchestras.ORCHESTRA_G3) + ).setNameMutator(LAMBDA_NAME_G3).setUnlocalizedName("gun_g3"); + ModItems.gun_g3_zebra = new ItemGunBaseNT(WeaponQuality.B_SIDE, new GunConfig() + .dura(6_000).draw(10).inspect(33).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE).scopeTexture(scope) + .rec(new Receiver(0) + .dmg(7.5F).delay(2).auto(true).dry(15).spreadHipfire(0.01F).reload(50).jam(47).sound("hbm:weapon.fire.silenced", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 30).addConfigs(r556_inc_sp, r556_inc_fmj, r556_inc_jhp, r556_inc_ap)) + .offset(1, -0.0625 * 2.5, -0.25D) + .setupStandardFire().recoil(LAMBDA_RECOIL_ZEBRA)) + .setupStandardConfiguration().ps(Lego.LAMBDA_STANDARD_CLICK_SECONDARY) + .anim(LAMBDA_G3_ANIMS).orchestra(Orchestras.ORCHESTRA_G3) + ).setNameMutator(LAMBDA_NAME_G3).setUnlocalizedName("gun_g3_zebra"); + + ModItems.gun_stg77 = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(3_000).draw(10).inspect(125).crosshair(Crosshair.CIRCLE).scopeTexture(scope).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(10F).delay(2).dry(15).auto(true).reload(46).jam(0).sound("hbm:weapon.fire.assault", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 30).addConfigs(r556_sp, r556_fmj, r556_jhp, r556_ap)) + .offset(1, -0.0625 * 2.5, -0.25D) + .setupStandardFire().recoil(LAMBDA_RECOIL_STG)) + .pp(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).ps(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD).pt(Lego.LAMBDA_TOGGLE_AIM) + .decider(LAMBDA_STG77_DECIDER) + .anim(LAMBDA_STG77_ANIMS).orchestra(Orchestras.ORCHESTRA_STG77) + ).setUnlocalizedName("gun_stg77"); + } + + public static Function LAMBDA_NAME_G3 = (stack) -> { + if(WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SILENCER) && + WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_NO_STOCK) && + WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_FURNITURE_BLACK) && + WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SCOPE)) return stack.getUnlocalizedName() + "_infiltrator"; + if(!WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_NO_STOCK) && + WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_FURNITURE_GREEN)) return stack.getUnlocalizedName() + "_a3"; + return null; + }; + + public static BiConsumer LAMBDA_SMOKE = (stack, ctx) -> { + Lego.handleStandardSmoke(ctx.entity, stack, 1500, 0.075D, 1.1D, 0); + }; + + public static BiConsumer LAMBDA_STG77_DECIDER = (stack, ctx) -> { + int index = ctx.configIndex; + GunState lastState = ItemGunBaseNT.getState(stack, index); + GunStateDecider.deciderStandardFinishDraw(stack, lastState, index); + GunStateDecider.deciderStandardClearJam(stack, lastState, index); + GunStateDecider.deciderStandardReload(stack, ctx, lastState, 0, index); + GunStateDecider.deciderAutoRefire(stack, ctx, lastState, 0, index, () -> { return ItemGunBaseNT.getSecondary(stack, index); }); + }; + + public static BiConsumer LAMBDA_RECOIL_G3 = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil((float) (ctx.getPlayer().getRNG().nextGaussian() * 0.25), (float) (ctx.getPlayer().getRNG().nextGaussian() * 0.25)); + }; + + public static BiConsumer LAMBDA_RECOIL_ZEBRA = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil((float) (ctx.getPlayer().getRNG().nextGaussian() * 0.125), (float) (ctx.getPlayer().getRNG().nextGaussian() * 0.125)); + }; + + public static BiConsumer LAMBDA_RECOIL_STG = (stack, ctx) -> { }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_G3_ANIMS = (stack, type) -> { + boolean empty = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory) <= 0; + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(45, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_FULL)); + case CYCLE: return new BusAnimation() + .addBus("BOLT", new BusAnimationSequence().addPos(0, 0, 0, 20).addPos(0, 0, -4.5, 40).addPos(0, 0, 0, 40)) + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, (ItemGunBaseNT.getIsAiming(stack) || !WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_NO_STOCK)) ? -0.25 : -0.75, 25, IType.SIN_DOWN).addPos(0, 0, 0, 75, IType.SIN_FULL)); + case CYCLE_DRY: return new BusAnimation() + .addBus("BOLT", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(0, 0, -0.3125, 100).hold(25).addPos(0, 0, -2.75, 130).hold(50).addPos(0, 0, -2.4375, 50).addPos(0, 0, 0, 85)) + .addBus("PLUG", new BusAnimationSequence().addPos(0, 0, 0, 250).hold(125).addPos(0, 0, -2.4375, 130).hold(100).addPos(0, 0, 0, 85)) + .addBus("HANDLE", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(0, 90, 0, 100).hold(25).hold(180).addPos(0, 0, 0, 50)) + .addBus("LIFT", new BusAnimationSequence().addPos(0, 0, 0, 400).addPos(-1, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)); + case RELOAD: + return new BusAnimation() + .addBus("MAG", new BusAnimationSequence() + .addPos(0, -8, 0, 250, IType.SIN_UP) //250 + .addPos(0, -8, 0, 1050) //1300 + .addPos(0, 0, 0, 250)) //1550 + .addBus("BOLT", new BusAnimationSequence() + .addPos(0, 0, 0, 200) //200 + .addPos(0, 0, -0.3125, 100) //300 + .hold(10) //310 + .addPos(0, 0, -3.25, 200) //510 + .holdUntil(1875) //1875 + .addPos(0, 0, -2.9375, 50) //1925 + .addPos(0, 0, 0, 100)) //2025 + .addBus("PLUG", new BusAnimationSequence() + .addPos(0, 0, 0, 310) //310 + .addPos(0, 0, -2.9375, 200) //510 + .holdUntil(1925) //1925 + .addPos(0, 0, 0, 100)) //2025 + .addBus("HANDLE", new BusAnimationSequence() + .addPos(0, 0, 0, 200) //200 + .addPos(0, 90, 0, 100) //300 + .hold(210) //510 + .addPos(0, 90, 45, 75) //685 + .holdUntil(1775) //1775 + .addPos(0, 90, 0, 100) //1875 + .addPos(0, 0, 0, 50)) //1925 + .addBus("LIFT", new BusAnimationSequence() + .addPos(0, 0, 0, 750) //750 + .addPos(-25, 0, 0, 500, IType.SIN_FULL) //1250 + .holdUntil(1550) //1550 + .addPos(-26, 0, 0, 100, IType.SIN_DOWN) //1650 + .addPos(-25, 0, 0, 100, IType.SIN_FULL) //1750 + .holdUntil(2000) //2000 + .addPos(0, 0, 0, 500, IType.SIN_FULL)) //3500 + .addBus("BULLET", new BusAnimationSequence().addPos(empty ? 1 : 0, 0, 0, 0).addPos(0, 0, 0, 1000)); + case INSPECT: return new BusAnimation() + .addBus("MAG", new BusAnimationSequence() + .addPos(0, -1, 0, 150) //150 + .addPos(2, -1, 0, 150) //300 + .addPos(2, 8, 0, 350, IType.SIN_DOWN) //650 + .addPos(2, -2, 0, 350, IType.SIN_UP) //1000 + .addPos(2, -1, 0, 50) //1050 + .addPos(2, -1, 0, 100) //1150 + .addPos(0, -1, 0, 150, IType.SIN_FULL) //1300 + .addPos(0, 0, 0, 150, IType.SIN_UP)) //1450 + .addBus("SPEEN", new BusAnimationSequence().addPos(0, 0, 0, 300).addPos(0, 360, 360, 700)) + .addBus("LIFT", new BusAnimationSequence().addPos(0, 0, 0, 1450).addPos(-2, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)) + .addBus("BULLET", new BusAnimationSequence().addPos(empty ? 1 : 0, 0, 0, 0)); + case JAMMED: return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(-25, 0, 0, 250, IType.SIN_FULL).addPos(-25, 0, 0, 1250).addPos(0, 0, 0, 350, IType.SIN_FULL)) + .addBus("BOLT", new BusAnimationSequence().addPos(0, 0, 0, 1000).addPos(0, 0, -3.25, 150).addPos(0, 0, 0, 100).addPos(0, 0, 0, 250).addPos(0, 0, -3.25, 150).addPos(0, 0, 0, 100)) + .addBus("PLUG", new BusAnimationSequence().addPos(0, 0, 0, 1000).addPos(0, 0, -3.25, 150).addPos(0, 0, 0, 100).addPos(0, 0, 0, 250).addPos(0, 0, -3.25, 150).addPos(0, 0, 0, 100)); + } + + return null; + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_STG77_ANIMS = (stack, type) -> { + if(ClientConfig.GUN_ANIMS_LEGACY.get()) { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(45, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_FULL)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, ItemGunBaseNT.getIsAiming(stack) ? -0.125 : -0.375, 25, IType.SIN_DOWN).addPos(0, 0, 0, 75, IType.SIN_FULL)) + .addBus("SAFETY", new BusAnimationSequence().addPos(0.25, 0, 0, 0).addPos(0.25, 0, 0, 2000).addPos(0, 0, 0, 50)); + case CYCLE_DRY: return new BusAnimation() + .addBus("BOLT", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(0, 0, -2, 150).addPos(0, 0, 0, 100, IType.SIN_UP)) + .addBus("SAFETY", new BusAnimationSequence().addPos(0.25, 0, 0, 0).addPos(0.25, 0, 0, 2000).addPos(0, 0, 0, 50)); + case RELOAD: return new BusAnimation() + .addBus("BOLT", new BusAnimationSequence().addPos(0, 0, -2, 150).addPos(0, 0, -2, 1600).addPos(0, 0, 0, 100, IType.SIN_UP)) + .addBus("HANDLE", new BusAnimationSequence().addPos(0, 0, 0, 150).addPos(0, 0, 20, 50).addPos(0, 0, 20, 1500).addPos(0, 0, 0, 50)) + .addBus("LIFT", new BusAnimationSequence().addPos(0, 0, 0, 200).addPos(-2, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)); + case INSPECT: return new BusAnimation() + .addBus("BOLT", new BusAnimationSequence().addPos(0, 0, -2, 150).addPos(0, 0, -2, 6100).addPos(0, 0, 0, 100, IType.SIN_UP)) + .addBus("HANDLE", new BusAnimationSequence().addPos(0, 0, 0, 150).addPos(0, 0, 20, 50).addPos(0, 0, 20, 6000).addPos(0, 0, 0, 50)) + .addBus("INSPECT_LEVER", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, -10, 100).addPos(0, 0, -10, 100).addPos(0, 0, 0, 100)) + .addBus("INSPECT_BARREL", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(0, 0, 20, 150).addPos(0, 0, 0, 400).addPos(0, 0, 0, 500).addPos(15, 0, 0, 500).addPos(15, 0, 0, 2000).addPos(0, 0, 0, 500).addPos(0, 0, 0, 500).addPos(0, 0, 20, 200).addPos(0, 0, 20, 400).addPos(0, 0, 0, 150)) + .addBus("INSPECT_MOVE", new BusAnimationSequence().addPos(0, 0, 0, 750).addPos(0, 0, 6, 1000).addPos(2, 0, 3, 500, IType.SIN_FULL).addPos(2, 0.75, 0, 500, IType.SIN_FULL).addPos(2, 0.75, 0, 1000).addPos(2, 0, 3, 500, IType.SIN_FULL).addPos(0, 0, 6, 500).addPos(0, 0, 0, 1000)) + .addBus("INSPECT_GUN", new BusAnimationSequence().addPos(0, 0, 0, 1750).addPos(15, 0, -70, 500, IType.SIN_FULL).addPos(15, 0, -70, 1500).addPos(0, 0, 0, 500, IType.SIN_FULL)); + } + } else { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(45, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_FULL)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, ItemGunBaseNT.getIsAiming(stack) ? -0.125 : -0.375, 25, IType.SIN_DOWN).addPos(0, 0, 0, 75, IType.SIN_FULL)) + .addBus("SAFETY", new BusAnimationSequence().addPos(0.25, 0, 0, 0).addPos(0.25, 0, 0, 2000).addPos(0, 0, 0, 50)); + case CYCLE_DRY: return ResourceManager.stg77_anim.get("FireDry"); + case RELOAD: return ResourceManager.stg77_anim.get("Reload"); + case INSPECT: return ResourceManager.stg77_anim.get("Inspect"); + } + } + + + return null; + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory75Bolt.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory75Bolt.java new file mode 100644 index 000000000..1638a2794 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory75Bolt.java @@ -0,0 +1,92 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; + +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.extprop.HbmLivingProps; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.particle.SpentCasing; +import com.hbm.particle.SpentCasing.CasingType; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.HbmAnimations.AnimType; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; + +public class XFactory75Bolt { + + public static BulletConfig b75; + public static BulletConfig b75_inc; + public static BulletConfig b75_exp; + + public static BiConsumer LAMBDA_TINY_EXPLODE = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3 && mop.entityHit == bullet.getThrower()) return; + Lego.tinyExplode(bullet, mop, 2F); bullet.setDead(); + }; + public static BiConsumer LAMBDA_INC = (bullet, mop) -> { + if(mop.entityHit != null && mop.entityHit instanceof EntityLivingBase) { + HbmLivingProps data = HbmLivingProps.getData((EntityLivingBase) mop.entityHit); + if(data.phosphorus < 300) data.phosphorus = 300; + } + }; + public static BiConsumer LAMBDA_STANDARD_EXPLODE = (bullet, mop) -> { + Lego.standardExplode(bullet, mop, 5F); bullet.setDead(); + }; + + public static void init() { + SpentCasing casing75 = new SpentCasing(CasingType.STRAIGHT).setColor(SpentCasing.COLOR_CASE_BRASS).setScale(2F, 2F, 1.5F); + + b75 = new BulletConfig().setItem(EnumAmmo.B75) + .setCasing(casing75.clone().register("b75")).setOnImpact(LAMBDA_TINY_EXPLODE); + b75_inc = new BulletConfig().setItem(EnumAmmo.B75_INC).setDamage(0.8F).setArmorPiercing(0.1F) + .setCasing(casing75.clone().register("b75inc")).setOnImpact(LAMBDA_INC); + b75_exp = new BulletConfig().setItem(EnumAmmo.B75_EXP).setDamage(1.5F).setArmorPiercing(-0.25F) + .setCasing(casing75.clone().register("b75exp")).setOnImpact(LAMBDA_STANDARD_EXPLODE); + + ModItems.gun_bolter = new ItemGunBaseNT(WeaponQuality.SPECIAL, new GunConfig() + .dura(3_000).draw(20).inspect(31).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(15F).delay(2).auto(true).spread(0.005F).reload(40).jam(55).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 30).addConfigs(b75, b75_inc, b75_exp)) + .offset(1, -0.0625 * 2.5, -0.25D) + .setupStandardFire().recoil(LAMBDA_RECOIL_BOLT)) + .setupStandardConfiguration() + .anim(LAMBDA_BOLTER_ANIMS).orchestra(Orchestras.ORCHESTRA_BOLTER) + ).setUnlocalizedName("gun_bolter"); + } + + public static BiConsumer LAMBDA_SMOKE = (stack, ctx) -> { + Lego.handleStandardSmoke(ctx.entity, stack, 2000, 0.05D, 1.1D, 0); + }; + + public static BiConsumer LAMBDA_RECOIL_BOLT = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil((float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5), (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5)); + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_BOLTER_ANIMS = (stack, type) -> { + switch(type) { + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(1, 0, 0, 25).addPos(0, 0, 0, 75)); + case RELOAD: return new BusAnimation() + .addBus("TILT", new BusAnimationSequence().addPos(1, 0, 0, 250).addPos(1, 0, 0, 1500).addPos(0, 0, 0, 250)) + .addBus("MAG", new BusAnimationSequence().addPos(0, 0, 1, 500).addPos(1, 0, 1, 500).addPos(0, 0, 0, 500)); + case JAMMED: return new BusAnimation() + .addBus("TILT", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(1, 0, 0, 250).addPos(1, 0, 0, 700).addPos(0, 0, 0, 250)) + .addBus("MAG", new BusAnimationSequence().addPos(0, 0, 0, 750).addPos(0.6, 0, 0, 250).addPos(0, 0, 0, 250)); + } + + return null; + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java new file mode 100644 index 000000000..9ed290110 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java @@ -0,0 +1,251 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; + +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.items.ModItems; +import com.hbm.items.ItemEnums.EnumCasingType; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.GunState; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.mags.MagazineBelt; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.main.MainRegistry; +import com.hbm.particle.SpentCasing; +import com.hbm.particle.SpentCasing.CasingType; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; +import com.hbm.util.DamageResistanceHandler.DamageClass; + +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; + +public class XFactory762mm { + + public static BulletConfig r762_sp; + public static BulletConfig r762_fmj; + public static BulletConfig r762_jhp; + public static BulletConfig r762_ap; + public static BulletConfig r762_du; + public static BulletConfig r762_he; + + public static BulletConfig energy_lacunae; + public static BulletConfig energy_lacunae_overcharge; + public static BulletConfig energy_lacunae_ir; + + public static BiConsumer LAMBDA_TINY_EXPLODE = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3 && mop.entityHit == bullet.getThrower()) return; + Lego.tinyExplode(bullet, mop, 1.5F); bullet.setDead(); + }; + + public static void init() { + SpentCasing casing762 = new SpentCasing(CasingType.BOTTLENECK).setColor(SpentCasing.COLOR_CASE_BRASS); + r762_sp = new BulletConfig().setItem(EnumAmmo.R762_SP).setCasing(EnumCasingType.SMALL, 6) + .setCasing(casing762.clone().register("r762")); + r762_fmj = new BulletConfig().setItem(EnumAmmo.R762_FMJ).setCasing(EnumCasingType.SMALL, 6).setDamage(0.8F).setThresholdNegation(5F).setArmorPiercing(0.1F) + .setCasing(casing762.clone().register("r762fmj")); + r762_jhp = new BulletConfig().setItem(EnumAmmo.R762_JHP).setCasing(EnumCasingType.SMALL, 6).setDamage(1.5F).setHeadshot(1.5F).setArmorPiercing(-0.25F) + .setCasing(casing762.clone().register("r762jhp")); + r762_ap = new BulletConfig().setItem(EnumAmmo.R762_AP).setCasing(EnumCasingType.SMALL_STEEL, 6).setDoesPenetrate(true).setDamageFalloffByPen(false).setDamage(1.25F).setThresholdNegation(12.5F).setArmorPiercing(0.15F) + .setCasing(casing762.clone().setColor(SpentCasing.COLOR_CASE_44).register("r762ap")); + r762_du = new BulletConfig().setItem(EnumAmmo.R762_DU).setCasing(EnumCasingType.SMALL_STEEL, 6).setDoesPenetrate(true).setDamageFalloffByPen(false).setDamage(1.5F).setThresholdNegation(15F).setArmorPiercing(0.25F) + .setCasing(casing762.clone().setColor(SpentCasing.COLOR_CASE_44).register("r762du")); + r762_he = new BulletConfig().setItem(EnumAmmo.R762_HE).setCasing(EnumCasingType.SMALL_STEEL, 6).setWear(3F).setDamage(1.75F).setOnImpact(LAMBDA_TINY_EXPLODE) + .setCasing(casing762.clone().setColor(SpentCasing.COLOR_CASE_44).register("r762he")); + + energy_lacunae = new BulletConfig().setItem(EnumAmmo.CAPACITOR).setCasing(new ItemStack(ModItems.ingot_polymer, 2), 4 * 40).setupDamageClass(DamageClass.LASER).setBeam().setReloadCount(40).setSpread(0.0F).setLife(5).setRenderRotations(false).setOnBeamImpact(BulletConfig.LAMBDA_STANDARD_BEAM_HIT); + energy_lacunae_overcharge = new BulletConfig().setItem(EnumAmmo.CAPACITOR_OVERCHARGE).setCasing(new ItemStack(ModItems.ingot_polymer, 2), 4 * 40).setupDamageClass(DamageClass.LASER).setBeam().setReloadCount(40).setSpread(0.0F).setLife(5).setRenderRotations(false).setDoesPenetrate(true).setOnBeamImpact(BulletConfig.LAMBDA_STANDARD_BEAM_HIT); + energy_lacunae_ir = new BulletConfig().setItem(EnumAmmo.CAPACITOR_IR).setCasing(new ItemStack(ModItems.ingot_polymer, 2), 4 * 40).setupDamageClass(DamageClass.FIRE).setBeam().setReloadCount(40).setSpread(0.0F).setLife(5).setRenderRotations(false).setOnBeamImpact(XFactoryEnergy.LAMBDA_IR_HIT); + + ModItems.gun_carbine = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(3_000).draw(10).inspect(31).reloadSequential(true).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(15F).delay(5).dry(15).spread(0.0F).reload(30, 0, 15, 0).jam(60).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 14).addConfigs(r762_sp, r762_fmj, r762_jhp, r762_ap, r762_du, r762_he)) + .offset(1, -0.0625 * 2.5, -0.25D) + .setupStandardFire().recoil(LAMBDA_RECOIL_CARBINE)) + .setupStandardConfiguration() + .anim(LAMBDA_CARBINE_ANIMS).orchestra(Orchestras.ORCHESTRA_CARBINE) + ).setUnlocalizedName("gun_carbine"); + + ModItems.gun_minigun = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(50_000).draw(20).inspect(20).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(6F).delay(1).auto(true).dry(15).spread(0.01F).sound("hbm:weapon.calShoot", 1.0F, 1.0F) + .mag(new MagazineBelt().addConfigs(r762_sp, r762_fmj, r762_jhp, r762_ap, r762_du, r762_he)) + .offset(1, -0.0625 * 2.5, -0.25D) + .setupStandardFire().recoil(LAMBDA_RECOIL_MINIGUN)) + .setupStandardConfiguration() + .anim(LAMBDA_MINIGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_MINIGUN) + ).setUnlocalizedName("gun_minigun"); + ModItems.gun_minigun_lacunae = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() + .dura(50_000).draw(20).inspect(20).crosshair(Crosshair.L_CIRCLE) + .rec(new Receiver(0) + .dmg(12F).delay(1).auto(true).dry(15).reload(15).spread(0.01F).sound("hbm:weapon.fire.laserGatling", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 200).addConfigs(energy_lacunae, energy_lacunae_overcharge, energy_lacunae_ir)) + .offset(1, -0.0625 * 2.5, -0.25D) + .setupStandardFire().recoil(LAMBDA_RECOIL_LACUNAE)) + .setupStandardConfiguration() + .anim(LAMBDA_MINIGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_MINIGUN) + ).setUnlocalizedName("gun_minigun_lacunae"); + ModItems.gun_minigun_dual = new ItemGunBaseNT(WeaponQuality.DEBUG, + new GunConfig() + .dura(50_000).draw(20).inspect(20).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(6F).delay(1).auto(true).dry(15).spread(0.01F).sound("hbm:weapon.calShoot", 1.0F, 1.0F) + .mag(new MagazineBelt().addConfigs(r762_sp, r762_fmj, r762_jhp, r762_ap, r762_du, r762_he)) + .offset(1, -0.0625 * 2.5, 0.25D) + .setupStandardFire().recoil(LAMBDA_RECOIL_MINIGUN)) + .pp(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD) + .decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) + .anim(LAMBDA_MINIGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_MINIGUN_DUAL), + new GunConfig() + .dura(50_000).draw(20).inspect(20).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(6F).delay(1).auto(true).dry(15).spread(0.01F).sound("hbm:weapon.calShoot", 1.0F, 1.0F) + .mag(new MagazineBelt().addConfigs(r762_sp, r762_fmj, r762_jhp, r762_ap, r762_du, r762_he)) + .offset(1, -0.0625 * 2.5, -0.25D) + .setupStandardFire().recoil(LAMBDA_RECOIL_MINIGUN)) + .ps(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD) + .decider(LAMBDA_SECOND_MINIGUN) + .anim(LAMBDA_MINIGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_MINIGUN_DUAL) + ).setUnlocalizedName("gun_minigun_dual"); + + ModItems.gun_mas36 = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() + .dura(5_000).draw(20).inspect(31).reloadSequential(true).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(30F).delay(25).dry(25).spread(0.0F).reload(43).jam(43).sound("hbm:weapon.fire.rifleHeavy", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 7).addConfigs(r762_sp, r762_fmj, r762_jhp, r762_ap, r762_du, r762_he)) + .offset(1, -0.0625 * 1.5, -0.25D) + .setupStandardFire().recoil(LAMBDA_RECOIL_CARBINE)) + .setupStandardConfiguration() + .anim(LAMBDA_MAS36_ANIMS).orchestra(Orchestras.ORCHESTRA_MAS36) + ).setUnlocalizedName("gun_mas36"); + } + + public static BiConsumer LAMBDA_SECOND_MINIGUN = (stack, ctx) -> { + int index = ctx.configIndex; + GunState lastState = ItemGunBaseNT.getState(stack, index); + GunStateDecider.deciderStandardFinishDraw(stack, lastState, index); + GunStateDecider.deciderStandardClearJam(stack, lastState, index); + GunStateDecider.deciderStandardReload(stack, ctx, lastState, 0, index); + GunStateDecider.deciderAutoRefire(stack, ctx, lastState, 0, index, () -> { return ItemGunBaseNT.getSecondary(stack, index) && ItemGunBaseNT.getMode(stack, ctx.configIndex) == 0; }); + }; + + public static BiConsumer LAMBDA_SMOKE = (stack, ctx) -> { + Lego.handleStandardSmoke(ctx.entity, stack, 1500, 0.075D, 1.1D, 0); + }; + + public static BiConsumer LAMBDA_RECOIL_CARBINE = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil(5, (float) (ctx.getPlayer().getRNG().nextGaussian() * 0.5)); + }; + + public static BiConsumer LAMBDA_RECOIL_MINIGUN = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil((float) (ctx.getPlayer().getRNG().nextGaussian() * 0.5), (float) (ctx.getPlayer().getRNG().nextGaussian() * 0.5)); + }; + + public static BiConsumer LAMBDA_RECOIL_LACUNAE = (stack, ctx) -> { }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_CARBINE_ANIMS = (stack, type) -> { + int ammo = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory); + boolean empty = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory) <= ammo; + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(45, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_FULL)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, ItemGunBaseNT.getIsAiming(stack) ? -0.25 : -0.5, 50, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)) + .addBus("SLIDE", new BusAnimationSequence().addPos(0, 0, -1, 50, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_UP)) + .addBus(ammo <= 1 ? "NULL" : "REL", new BusAnimationSequence().addPos(0, 0, 0.25, 50).addPos(0, 0.125, 1.25, 100, IType.SIN_UP)); + case CYCLE_DRY: return new BusAnimation() + .addBus("SLIDE", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, -1, 100, IType.SIN_DOWN).addPos(0, 0, -1, 50).addPos(0, 0, 0, 100, IType.SIN_UP)); + case RELOAD: return new BusAnimation() + .addBus("MAG", new BusAnimationSequence().addPos(0, -4, 0, 250, IType.SIN_UP).addPos(0, -4, 0, 750).addPos(0, 0, 0, 500, IType.SIN_DOWN)) + .addBus("LIFT", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(-25, 0, 0, 250, IType.SIN_FULL).addPos(-25, 0, 0, 1000)) + .addBus("BULLET", new BusAnimationSequence().addPos(empty ? 1 : 0, 0, 0, 0).addPos(0, 0, 0, 1000)); + case RELOAD_END: return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().addPos(-25, 0, 0, 0).addPos(-25, 0, 0, 750).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("SLIDE", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(0, 0, -1, 100, IType.SIN_DOWN).addPos(0, 0, -1, 50).addPos(0, 0, 0, 100, IType.SIN_UP)) + .addBus("REL", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(0, 0, 0.25, 150).addPos(0, 0.125, 1.25, 100, IType.SIN_UP)); + case JAMMED: return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().addPos(-25, 0, 0, 0).addPos(-25, 0, 0, 750).addPos(0, 0, 0, 500, IType.SIN_FULL).addPos(0, 0, 0, 250).addPos(-25, 0, 0, 250, IType.SIN_FULL).addPos(-25, 0, 0, 750).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("SLIDE", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(0, 0, -1, 100, IType.SIN_DOWN).addPos(0, 0, -1, 50).addPos(0, 0, -0.25, 100, IType.SIN_UP).addPos(0, 0, -0.25, 1250).addPos(0, 0, -1, 100, IType.SIN_DOWN).addPos(0, 0, -1, 50).addPos(0, 0, 0, 100, IType.SIN_UP)) + .addBus("REL", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(0, 0, 0.25, 150).addPos(0, 0.125, 1, 100, IType.SIN_UP).addPos(0, 0.125, 1, 1250).addPos(0, 0.125, 0.25, 100, IType.SIN_DOWN).addPos(0, 0.125, 1, 100, IType.SIN_UP)); + case INSPECT: return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().addPos(-25, 0, 0, 250, IType.SIN_FULL).addPos(-25, 0, 0, 1500).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("SLIDE", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, -0.75, 150, IType.SIN_DOWN).addPos(0, 0, -0.75, 1000).addPos(0, 0, 0, 100, IType.SIN_UP)) + .addBus(empty ? "NULL" : "REL", new BusAnimationSequence().addPos(0, 0.125, 1.25, 0).addPos(0, 0.125, 1.25, 500).addPos(0, 0.125, 0.5, 150, IType.SIN_DOWN).addPos(0, 0.125, 0.5, 1000).addPos(0, 0.125, 1.25, 100, IType.SIN_UP)); + } + + return null; + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_MINIGUN_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(45, 0, 0, 0).addPos(0, 0, 0, 1000, IType.SIN_FULL)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, ItemGunBaseNT.getIsAiming(stack) ? -0.25 : -0.5, 0).addPos(0, 0, ItemGunBaseNT.getIsAiming(stack) ? -0.25 : -0.5, 100).addPos(0, 0, 0, 150, IType.SIN_FULL)) + .addBus("ROTATE", new BusAnimationSequence().addPos(0, 0, 60, 50).addPos(0, 0, 720, 1000, IType.SIN_DOWN)); + case CYCLE_DRY: return new BusAnimation() + .addBus("ROTATE", new BusAnimationSequence().addPos(0, 0, 60, 50).addPos(0, 0, 720, 1000, IType.SIN_DOWN)); + case RELOAD: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(-15, 0, 0, 250, IType.SIN_DOWN).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("ROTATE", new BusAnimationSequence().addPos(0, 0, 60, 50).addPos(0, 0, 720, 1000, IType.SIN_DOWN)); + case INSPECT: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(3, 0, 0, 150, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)) + .addBus("ROTATE", new BusAnimationSequence().addPos(0, 0, -720, 1000, IType.SIN_DOWN)); + } + + return null; + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_MAS36_ANIMS = (stack, type) -> { + int mag = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory); + double turn = -90; + double pullAmount = ItemGunBaseNT.getIsAiming(stack) ? -1F : -1.5D; + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("STOCK", new BusAnimationSequence().setPos(-158, 0, 0).hold(500).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("EQUIP", new BusAnimationSequence().setPos(45, 0, 0).addPos(0, 0, 0, 500, IType.SIN_FULL).hold(500).addPos(1, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, -0.5, 50, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)) + .addBus("BOLT_TURN", new BusAnimationSequence().hold(250).addPos(0, 0, turn, 150).hold(700).addPos(0, 0, 0, 150)) + .addBus("BOLT_PULL", new BusAnimationSequence().hold(350).addPos(0, 0, pullAmount, 250, IType.SIN_UP).hold(250).addPos(0, 0, 0, 200, IType.LINEAR)) + .addBus("LIFT", new BusAnimationSequence().hold(600).addPos(-3, 0, 0, 150, IType.SIN_DOWN).hold(300).addPos(0, 0, 0, 250, IType.SIN_FULL)) + .addBus("BULLET", mag <= 1 ? new BusAnimationSequence().setPos(-100, 0, 0) : new BusAnimationSequence().hold(850).addPos(0, 0.1875, 1.5, 200, IType.LINEAR)); + case CYCLE_DRY: return new BusAnimation() + .addBus("BOLT_TURN", new BusAnimationSequence().hold(250).addPos(0, 0, turn, 150).hold(700).addPos(0, 0, 0, 150)) + .addBus("BOLT_PULL", new BusAnimationSequence().hold(350).addPos(0, 0, pullAmount, 250, IType.SIN_UP).hold(250).addPos(0, 0, 0, 200, IType.LINEAR)) + .addBus("LIFT", new BusAnimationSequence().hold(600).addPos(-3, 0, 0, 150, IType.SIN_DOWN).hold(300).addPos(0, 0, 0, 250, IType.SIN_FULL)) + .addBus("BULLET", new BusAnimationSequence().setPos(-100, 0, 0)); + case RELOAD: return new BusAnimation() + .addBus("BOLT_TURN", new BusAnimationSequence().addPos(0, 0, turn, 150).holdUntil(2000).addPos(0, 0, 0, 150)) + .addBus("BOLT_PULL", new BusAnimationSequence().hold(100).addPos(0, 0, -1.5D, 250, IType.SIN_UP).holdUntil(1800).addPos(0, 0, 0, 200, IType.LINEAR)) + .addBus("BULLET", new BusAnimationSequence().setPos(-100, 0, 0).holdUntil(1200).setPos(0, 0, 0).hold(600).addPos(0, 0.1875, 1.5, 200, IType.LINEAR)) + .addBus("LIFT", new BusAnimationSequence().hold(200).addPos(30, 0, 0, 500, IType.SIN_FULL).holdUntil(1200).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("SHOW_CLIP", new BusAnimationSequence().setPos(1, 1, 1)) + .addBus("CLIP", new BusAnimationSequence().setPos(2, -3, 0).hold(250).addPos(0.5, 1, 0, 500, IType.SIN_DOWN).addPos(0, 0, 0, 250, IType.SIN_FULL).hold(400).addPos(-0.5, 0.5, 0, 150).addPos(-3, -3, 0, 250, IType.SIN_UP)) + .addBus("BULLETS", new BusAnimationSequence().setPos(2, -3, 0).hold(250).addPos(0.5, 1, 0, 500, IType.SIN_DOWN).addPos(0, 0, 0, 250, IType.SIN_FULL).hold(150).addPos(0, -1.5, 0, 250, IType.SIN_DOWN)); + case JAMMED: return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().hold(250).addPos(-15, 0, 0, 500, IType.SIN_FULL).holdUntil(1650).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("BOLT_TURN", new BusAnimationSequence().hold(250).addPos(0, 0, turn, 150).holdUntil(1250).addPos(0, 0, 0, 150)) + .addBus("BOLT_PULL", new BusAnimationSequence().hold(350).addPos(0, 0, pullAmount, 250, IType.SIN_UP).addPos(0, 0, 0, 200, IType.LINEAR).addPos(0, 0, pullAmount, 250, IType.SIN_UP).addPos(0, 0, 0, 200, IType.LINEAR)); + case INSPECT: return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().hold(350).addPos(-3, 0, 0, 150, IType.SIN_DOWN).holdUntil(1050).addPos(0, 0, 0, 250, IType.SIN_FULL)) + .addBus("BOLT_TURN", new BusAnimationSequence().addPos(0, 0, turn, 150).holdUntil(1050).addPos(0, 0, 0, 150)) + .addBus("BOLT_PULL", new BusAnimationSequence().hold(100).addPos(0, 0, -1D, 250, IType.SIN_UP).hold(500).addPos(0, 0, 0, 200, IType.LINEAR)) + .addBus("BULLET", mag == 0 ? new BusAnimationSequence().setPos(-100, 0, 0) : new BusAnimationSequence().setPos(0, 0.1875, 1.5).hold(100).addPos(0, 0.125, 0.5, 250, IType.SIN_UP).hold(500).addPos(0, 0.1875, 1.5, 200, IType.LINEAR)); + } + + return null; + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory9mm.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory9mm.java new file mode 100644 index 000000000..5fbb723dd --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory9mm.java @@ -0,0 +1,241 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.Function; + +import com.hbm.items.ModItems; +import com.hbm.items.ItemEnums.EnumCasingType; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.GunState; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.mags.IMagazine; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.particle.SpentCasing; +import com.hbm.particle.SpentCasing.CasingType; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; +import com.hbm.util.EntityDamageUtil; +import com.hbm.util.DamageResistanceHandler.DamageClass; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; + +public class XFactory9mm { + + public static BulletConfig p9_sp; + public static BulletConfig p9_fmj; + public static BulletConfig p9_jhp; + public static BulletConfig p9_ap; + + public static void init() { + SpentCasing casing9 = new SpentCasing(CasingType.STRAIGHT).setColor(SpentCasing.COLOR_CASE_BRASS).setScale(1F, 1F, 0.75F); + p9_sp = new BulletConfig().setItem(EnumAmmo.P9_SP).setCasing(EnumCasingType.SMALL, 12) + .setCasing(casing9.clone().register("p9")); + p9_fmj = new BulletConfig().setItem(EnumAmmo.P9_FMJ).setCasing(EnumCasingType.SMALL, 12).setDamage(0.8F).setThresholdNegation(2F).setArmorPiercing(0.1F) + .setCasing(casing9.clone().register("p9fmj")); + p9_jhp = new BulletConfig().setItem(EnumAmmo.P9_JHP).setCasing(EnumCasingType.SMALL, 12).setDamage(1.5F).setHeadshot(1.5F).setArmorPiercing(-0.25F) + .setCasing(casing9.clone().register("p9jhp")); + p9_ap = new BulletConfig().setItem(EnumAmmo.P9_AP).setCasing(EnumCasingType.SMALL_STEEL, 12).setDoesPenetrate(true).setDamageFalloffByPen(false).setDamage(1.25F).setThresholdNegation(5F).setArmorPiercing(0.15F) + .setCasing(casing9.clone().setColor(SpentCasing.COLOR_CASE_44).register("p9ap")); + + ModItems.gun_greasegun = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(3_000).draw(20).inspect(31).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(3F).delay(4).dry(40).auto(true).spread(0.015F).reload(60).jam(55).sound("hbm:weapon.fire.greaseGun", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 30).addConfigs(p9_sp, p9_fmj, p9_jhp, p9_ap)) + .offset(1, -0.0625 * 2.5, -0.25D) + .setupStandardFire().recoil(LAMBDA_RECOIL_GREASEGUN)) + .setupStandardConfiguration() + .anim(LAMBDA_GREASEGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_GREASEGUN) + ).setNameMutator(LAMBDA_NAME_GREASEGUN) + .setUnlocalizedName("gun_greasegun"); + + ModItems.gun_lag = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(1_700).draw(7).inspect(31).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(25F).delay(4).dry(10).spread(0.005F).reload(53).jam(44).sound("hbm:weapon.fire.pistol", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 17).addConfigs(p9_sp, p9_fmj, p9_jhp, p9_ap)) + .offset(1, -0.0625 * 2.5, -0.25D) + .setupStandardFire().fire(LAMBDA_FIRE_LAG).recoil(LAMBDA_RECOIL_LAG)) + .setupStandardConfiguration() + .anim(LAMBDA_LAG_ANIMS).orchestra(Orchestras.ORCHESTRA_LAG) + ).setUnlocalizedName("gun_lag"); + + ModItems.gun_uzi = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(3_000).draw(15).inspect(31).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(3F).delay(2).dry(25).auto(true).spread(0.005F).reload(55).jam(50).sound("hbm:weapon.fire.uzi", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 30).addConfigs(p9_sp, p9_fmj, p9_jhp, p9_ap)) + .offset(1, -0.0625 * 2.5, -0.25D) + .setupStandardFire().recoil(LAMBDA_RECOIL_UZI)) + .setupStandardConfiguration() + .anim(LAMBDA_UZI_ANIMS).orchestra(Orchestras.ORCHESTRA_UZI) + ).setNameMutator(LAMBDA_NAME_UZI) + .setUnlocalizedName("gun_uzi"); + ModItems.gun_uzi_akimbo = new ItemGunBaseNT(WeaponQuality.B_SIDE, + new GunConfig().dura(3_000).draw(15).inspect(31).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(3F).spreadHipfire(0F).delay(2).dry(25).auto(true).spread(0.005F).reload(55).jam(50).sound("hbm:weapon.fire.uzi", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 30).addConfigs(p9_sp, p9_fmj, p9_jhp, p9_ap)) + .offset(1, -0.0625 * 2.5, 0.375D) + .setupStandardFire().recoil(LAMBDA_RECOIL_UZI)) + .pp(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD) + .decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) + .anim(LAMBDA_UZI_ANIMS).orchestra(Orchestras.ORCHESTRA_UZI_AKIMBO), + new GunConfig().dura(3_000).draw(15).inspect(31).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE) + .rec(new Receiver(0) + .dmg(3F).spreadHipfire(0F).delay(2).dry(25).auto(true).spread(0.005F).reload(55).jam(50).sound("hbm:weapon.fire.uzi", 1.0F, 1.0F) + .mag(new MagazineFullReload(1, 30).addConfigs(p9_sp, p9_fmj, p9_jhp, p9_ap)) + .offset(1, -0.0625 * 2.5, -0.375D) + .setupStandardFire().recoil(LAMBDA_RECOIL_UZI)) + .ps(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD) + .decider(LAMBDA_SECOND_UZI) + .anim(LAMBDA_UZI_ANIMS).orchestra(Orchestras.ORCHESTRA_UZI_AKIMBO) + ).setUnlocalizedName("gun_uzi_akimbo"); + } + + public static Function LAMBDA_NAME_GREASEGUN = (stack) -> { + if(WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_GREASEGUN_CLEAN)) return stack.getUnlocalizedName() + "_m3"; + return null; + }; + + public static Function LAMBDA_NAME_UZI = (stack) -> { + if(WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SILENCER)) return stack.getUnlocalizedName() + "_richter"; + return null; + }; + + public static BiConsumer LAMBDA_RECOIL_GREASEGUN = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil(2, (float) (ctx.getPlayer().getRNG().nextGaussian() * 0.5)); + }; + + public static BiConsumer LAMBDA_RECOIL_LAG = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil(5, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5)); + }; + + public static BiConsumer LAMBDA_RECOIL_UZI = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil(1, (float) (ctx.getPlayer().getRNG().nextGaussian() * 0.25)); + }; + + public static BiConsumer LAMBDA_SECOND_UZI = (stack, ctx) -> { + int index = ctx.configIndex; + GunState lastState = ItemGunBaseNT.getState(stack, index); + GunStateDecider.deciderStandardFinishDraw(stack, lastState, index); + GunStateDecider.deciderStandardClearJam(stack, lastState, index); + GunStateDecider.deciderStandardReload(stack, ctx, lastState, 0, index); + GunStateDecider.deciderAutoRefire(stack, ctx, lastState, 0, index, () -> { return ItemGunBaseNT.getSecondary(stack, index) && ItemGunBaseNT.getMode(stack, ctx.configIndex) == 0; }); + }; + + public static BiConsumer LAMBDA_FIRE_LAG = (stack, ctx) -> { + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + EntityPlayer player = ctx.getPlayer(); + if(player != null && type == AnimType.INSPECT && timer > 20 && timer < 60) { + int index = ctx.configIndex; + Receiver primary = ctx.config.getReceivers(stack)[0]; + IMagazine mag = primary.getMagazine(stack); + BulletConfig config = (BulletConfig) mag.getType(stack, ctx.inventory); + player.addStat(MainRegistry.statBullets, 1); + mag.useUpAmmo(stack, ctx.inventory, 1); + ItemGunBaseNT.setWear(stack, index, Math.min(ItemGunBaseNT.getWear(stack, index) + config.wear, ctx.config.getDurability(stack))); + player.worldObj.playSoundEffect(player.posX, player.posY, player.posZ, primary.getFireSound(stack), primary.getFireVolume(stack), primary.getFirePitch(stack)); + ItemGunBaseNT.setState(stack, index, GunState.COOLDOWN); + ItemGunBaseNT.setTimer(stack, index, primary.getDelayAfterFire(stack)); + EntityDamageUtil.attackEntityFromNT(player, BulletConfig.getDamage(player, player, DamageClass.PHYSICAL), 1_000F, true, false, 1D, 5F, 0F); + } else { + Lego.doStandardFire(stack, ctx, AnimType.CYCLE, true); + } + }; + + public static BiConsumer LAMBDA_SMOKE = (stack, ctx) -> { + Lego.handleStandardSmoke(ctx.entity, stack, 2000, 0.05D, 1.1D, ctx.configIndex); + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_GREASEGUN_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(80, 0, 0, 0).addPos(80, 0, 0, 500).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("STOCK", new BusAnimationSequence().addPos(0, 0, -4, 0).addPos(0, 0, -4, 200).addPos(0, 0, 0, 300, IType.SIN_FULL)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, ItemGunBaseNT.getIsAiming(stack) ? -0.25 : -0.5, 50, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)) + .addBus("FLAP", new BusAnimationSequence().addPos(0, 0, 15, 100, IType.SIN_DOWN).addPos(0, 0, -5, 100, IType.SIN_FULL).addPos(0, 0, 0, 50, IType.SIN_FULL)); + case CYCLE_DRY: return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(-25, 0, 0, 250, IType.SIN_FULL).addPos(-25, 0, 0, 750).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("TURN", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, -45, 250, IType.SIN_FULL).addPos(0, 0, -45, 750).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("HANDLE", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 0, 250).addPos(-90, 0, 0, 250, IType.SIN_FULL).addPos(0, 0, 0, 250, IType.SIN_FULL)); + case RELOAD: + boolean empty = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory) <= 0; + return new BusAnimation() + .addBus("MAG", new BusAnimationSequence().addPos(0, -8, 0, 250, IType.SIN_UP).addPos(0, -8, 0, 750).addPos(0, 0, 0, 500, IType.SIN_DOWN)) + .addBus("LIFT", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(-25, 0, 0, 250, IType.SIN_FULL).addPos(-25, 0, 0, 1750).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("TURN", new BusAnimationSequence().addPos(0, 0, 0, 1750).addPos(0, 0, -45, 250, IType.SIN_FULL).addPos(0, 0, -45, 500).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("HANDLE", new BusAnimationSequence().addPos(0, 0, 0, 2000).addPos(-90, 0, 0, 250, IType.SIN_FULL).addPos(0, 0, 0, 250, IType.SIN_FULL)) + .addBus("BULLET", new BusAnimationSequence().addPos(empty ? 1 : 0, 0, 0, 0).addPos(0, 0, 0, 1000)); + case JAMMED: return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(-25, 0, 0, 250, IType.SIN_FULL).addPos(-25, 0, 0, 1500).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("TURN", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, -45, 250, IType.SIN_FULL).addPos(0, 0, -45, 1500).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("HANDLE", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 0, 250).addPos(-90, 0, 0, 250, IType.SIN_FULL).addPos(0, 0, 0, 250, IType.SIN_FULL).addPos(0, 0, 0, 250).addPos(-90, 0, 0, 250, IType.SIN_FULL).addPos(0, 0, 0, 250, IType.SIN_FULL)); + case INSPECT: return new BusAnimation() + .addBus("TURN", new BusAnimationSequence().addPos(0, 0, -45, 150).addPos(0, 0, 45, 150).addPos(0, 0, 45, 50).addPos(0, 0, 0, 250).addPos(0, 0, 0, 500).addPos(0, 0, 45, 150).addPos(0, 0, -45, 150).addPos(0, 0, 0, 150)) + .addBus("FLAP", new BusAnimationSequence().addPos(0, 0, 0, 300).addPos(0, 0, 180, 150).addPos(0, 0, 180, 850).addPos(0, 0, 0, 150)); + } + + return null; + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_LAG_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(-90, 0, 0, 0).addPos(0, 0, 0, 350, IType.SIN_DOWN)); + case CYCLE: return ResourceManager.lag_anim.get("Firing"); + //.addBus("HAMMER", new BusAnimationSequence().addPos(0, 0, 25, 50).addPos(0, 0, 25, 50).addPos(0, 0, 0, 100, IType.SIN_DOWN)); + case CYCLE_DRY: return ResourceManager.lag_anim.get("Dryfire"); + case RELOAD: return ResourceManager.lag_anim.get("Reload"); + case JAMMED: return ResourceManager.lag_anim.get("Jam"); + case INSPECT: return ResourceManager.lag_anim.get("Inspect") + .addBus("ADD_TRANS", new BusAnimationSequence().addPos(-4, 0, -3, 500).addPos(-4, 0, -3, 2000).addPos(0, 0, 0, 500)) + .addBus("ADD_ROT", new BusAnimationSequence().addPos(0, -2, 5, 500).addPos(0, -2, 5, 2000).addPos(0, 0, 0, 500)); + } + + return null; + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_UZI_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(80, 0, 0, 0).addPos(80, 0, 0, 500).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("STOCKBACK", new BusAnimationSequence().addPos(-200, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("STOCKFRONT", new BusAnimationSequence().addPos(180, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_FULL)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, ItemGunBaseNT.getIsAiming(stack) ? -0.5 : -0.75, 25, IType.SIN_DOWN).addPos(0, 0, 0, 75, IType.SIN_FULL)); + case CYCLE_DRY: return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(-25, 0, 0, 250, IType.SIN_FULL).addPos(-25, 0, 0, 500).addPos(0, 0, 0, 250, IType.SIN_FULL)) + .addBus("SLIDE", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, -2, 150, IType.SIN_FULL).addPos(0, 0, 0, 50, IType.SIN_UP)); + case RELOAD: + boolean empty = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory) <= 0; + return new BusAnimation() + .addBus("MAG", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(0, -10, 0, 250, IType.SIN_UP).addPos(0, -10, 0, 750).addPos(0, 0, 0, 500, IType.SIN_DOWN)) + .addBus("LIFT", new BusAnimationSequence().addPos(-25, 0, 0, 250, IType.SIN_FULL).addPos(-25, 0, 0, 2000).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("SLIDE", new BusAnimationSequence().addPos(0, 0, 0, 2000).addPos(0, 0, -2, 150, IType.SIN_FULL).addPos(0, 0, 0, 50, IType.SIN_UP)) + .addBus("BULLET", new BusAnimationSequence().addPos(empty ? 0 : 1, 0, 0, 0).addPos(empty ? 0 : 1, 0, 0, 500).addPos(1, 0, 0, 0)); + case JAMMED: return new BusAnimation() + .addBus("LIFT", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(-25, 0, 0, 250, IType.SIN_FULL).addPos(-25, 0, 0, 1250).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("SLIDE", new BusAnimationSequence().addPos(0, 0, 0, 1000).addPos(0, 0, -2, 150, IType.SIN_FULL).addPos(0, 0, 0, 50, IType.SIN_UP).addPos(0, 0, 0, 500).addPos(0, 0, -2, 150, IType.SIN_FULL).addPos(0, 0, 0, 50, IType.SIN_UP)); + case INSPECT: return new BusAnimation() + .addBus("YEET", new BusAnimationSequence().addPos(0, -1, 0, 100).addPos(0, 0, 0, 100, IType.SIN_UP).addPos(0, 12, 0, 350, IType.SIN_DOWN).addPos(0, 0, 0, 350, IType.SIN_UP).addPos(0, -1, 0, 50, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)) + .addBus("SPEEN", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(-360, 0, 0, 600)); + } + return null; + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryAccelerator.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryAccelerator.java new file mode 100644 index 000000000..7f8bfa5a9 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryAccelerator.java @@ -0,0 +1,199 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.Consumer; + +import com.hbm.entity.projectile.EntityBulletBeamBase; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.mags.MagazineBelt; +import com.hbm.items.weapon.sedna.mags.MagazineSingleReload; +import com.hbm.main.MainRegistry; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; +import com.hbm.util.DamageResistanceHandler.DamageClass; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.Vec3; + +public class XFactoryAccelerator { + + public static MagazineBelt tauChargeMag = new MagazineBelt(); + + public static BulletConfig tau_uranium; + public static BulletConfig tau_uranium_charge; + + public static BulletConfig coil_tungsten; + public static BulletConfig coil_ferrouranium; + + public static Consumer LAMBDA_UPDATE_TUNGSTEN = (entity) -> {breakInPath(entity, 1.25F); }; + public static Consumer LAMBDA_UPDATE_FERRO = (entity) -> { breakInPath(entity, 2.5F); }; + + public static void breakInPath(Entity entity, float threshold) { + + Vec3 vec = Vec3.createVectorHelper(entity.posX - entity.prevPosX, entity.posY - entity.prevPosY, entity.posZ - entity.prevPosZ); + double motion = Math.max(vec.lengthVector(), 0.1); + vec = vec.normalize(); + + for(double d = 0; d < motion; d += 0.5) { + + double dX = entity.posX - vec.xCoord * d; + double dY = entity.posY - vec.yCoord * d; + double dZ = entity.posZ - vec.zCoord * d; + + if(entity.worldObj.isRemote) { + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setString("type", "vanillaExt"); + nbt.setString("mode", "fireworks"); + nbt.setDouble("posX", dX); + nbt.setDouble("posY", dY); + nbt.setDouble("posZ", dZ); + MainRegistry.proxy.effectNT(nbt); + + } else { + int x = (int) Math.floor(dX); + int y = (int) Math.floor(dY); + int z = (int) Math.floor(dZ); + Block b = entity.worldObj.getBlock(x, y, z); + float hardness = b.getBlockHardness(entity.worldObj, x, y, z); + if(b.getMaterial() != Material.air && hardness >= 0 && hardness < threshold) { + entity.worldObj.func_147480_a(x, y, z, false); + } + } + } + } + + public static void init() { + + tau_uranium = new BulletConfig().setItem(EnumAmmo.TAU_URANIUM).setCasing(new ItemStack(ModItems.plate_lead, 2), 16).setupDamageClass(DamageClass.SUBATOMIC).setBeam().setLife(5).setRenderRotations(false).setDoesPenetrate(true).setDamageFalloffByPen(false) + .setOnBeamImpact(BulletConfig.LAMBDA_BEAM_HIT); + tau_uranium_charge = new BulletConfig().setItem(EnumAmmo.TAU_URANIUM).setCasing(new ItemStack(ModItems.plate_lead, 2), 16).setupDamageClass(DamageClass.SUBATOMIC).setBeam().setLife(5).setRenderRotations(false).setDoesPenetrate(true).setDamageFalloffByPen(false).setSpectral(true) + .setOnBeamImpact(BulletConfig.LAMBDA_BEAM_HIT); + + coil_tungsten = new BulletConfig().setItem(EnumAmmo.COIL_TUNGSTEN).setVel(7.5F).setLife(50).setDoesPenetrate(true).setDamageFalloffByPen(false).setSpectral(true) + .setOnUpdate(LAMBDA_UPDATE_TUNGSTEN); + coil_ferrouranium = new BulletConfig().setItem(EnumAmmo.COIL_FERROURANIUM).setVel(7.5F).setLife(50).setDoesPenetrate(true).setDamageFalloffByPen(false).setSpectral(true) + .setOnUpdate(LAMBDA_UPDATE_FERRO); + + tauChargeMag.addConfigs(tau_uranium_charge); + + ModItems.gun_tau = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(6_400).draw(10).inspect(10).crosshair(Crosshair.CIRCLE) + .rec(new Receiver(0) + .dmg(25F).spreadHipfire(0F).delay(4).auto(true).spread(0F) + .mag(new MagazineBelt().addConfigs(tau_uranium)) + .offset(1, -0.0625 * 2.5, -0.25D) + .setupStandardFire().recoil(LAMBDA_RECOIL_TAU)) + .pp(Lego.LAMBDA_STANDARD_CLICK_PRIMARY) + .rp(LAMBDA_TAU_PRIMARY_RELEASE) + .ps(LAMBDA_TAU_SECONDARY_PRESS) + .rs(LAMBDA_TAU_SECONDARY_RELEASE) + .pr(Lego.LAMBDA_STANDARD_RELOAD) + .decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) + .anim(LAMBDA_TAU_ANIMS).orchestra(Orchestras.ORCHESTRA_TAU) + ).setUnlocalizedName("gun_tau"); + + ModItems.gun_coilgun = new ItemGunBaseNT(WeaponQuality.SPECIAL, new GunConfig() + .dura(400).draw(5).inspect(39).crosshair(Crosshair.L_CIRCUMFLEX) + .rec(new Receiver(0) + .dmg(35F).delay(5).reload(20).jam(33).sound("hbm:weapon.coilgunShoot", 1.0F, 1.0F) + .mag(new MagazineSingleReload(0, 1).addConfigs(coil_tungsten, coil_ferrouranium)) + .offset(0.75, -0.0625, -0.1875D) + .setupStandardFire().recoil(LAMBDA_RECOIL_COILGUN)) + .setupStandardConfiguration() + .anim(LAMBDA_COILGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_COILGUN) + ).setUnlocalizedName("gun_coilgun"); + } + + public static BiConsumer LAMBDA_TAU_PRIMARY_RELEASE = (stack, ctx) -> { + if(ctx.getPlayer() == null || ItemGunBaseNT.getLastAnim(stack, ctx.configIndex) != AnimType.CYCLE) return; + ctx.getPlayer().worldObj.playSoundEffect(ctx.getPlayer().posX, ctx.getPlayer().posY, ctx.getPlayer().posZ, "hbm:weapon.fire.tauRelease", 1F, 1F); + }; + + public static BiConsumer LAMBDA_TAU_SECONDARY_PRESS = (stack, ctx) -> { + if(ctx.getPlayer() == null) return; + if(ctx.config.getReceivers(stack)[0].getMagazine(stack).getAmount(stack, ctx.inventory) <= 0) return; + ItemGunBaseNT.playAnimation(ctx.getPlayer(), stack, AnimType.SPINUP, ctx.configIndex); + tauChargeMag.getMagType(stack); //caches the last loaded ammo + }; + + public static BiConsumer LAMBDA_TAU_SECONDARY_RELEASE = (stack, ctx) -> { + if(ctx.getPlayer() == null) return; + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(timer >= 10 && ItemGunBaseNT.getLastAnim(stack, ctx.configIndex) == AnimType.SPINUP) { + ItemGunBaseNT.playAnimation(ctx.getPlayer(), stack, AnimType.ALT_CYCLE, ctx.configIndex); + int unitsUsed = 1 + Math.min(12, timer / 10); + + EntityLivingBase entity = ctx.entity; + int index = ctx.configIndex; + + Receiver primary = ctx.config.getReceivers(stack)[0]; + BulletConfig config = tauChargeMag.getFirstConfig(stack, ctx.inventory); + + Vec3 offset = primary.getProjectileOffset(stack); + double forwardOffset = offset.xCoord; + double heightOffset = offset.yCoord; + double sideOffset = offset.zCoord; + + float damage = Lego.getStandardWearDamage(stack, ctx.config, index) * unitsUsed * 5; + float spread = Lego.calcSpread(ctx, stack, primary, config, true, index, false); + EntityBulletBeamBase mk4 = new EntityBulletBeamBase(entity, config, damage, spread, sideOffset, heightOffset, forwardOffset); + entity.worldObj.spawnEntityInWorld(mk4); + + ItemGunBaseNT.setWear(stack, index, Math.min(ItemGunBaseNT.getWear(stack, index) + config.wear * unitsUsed, ctx.config.getDurability(stack))); + + } else { + ItemGunBaseNT.playAnimation(ctx.getPlayer(), stack, AnimType.CYCLE_DRY, ctx.configIndex); + } + }; + + public static BiConsumer LAMBDA_RECOIL_TAU = (stack, ctx) -> { }; + + public static BiConsumer LAMBDA_RECOIL_COILGUN = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil(10, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5)); + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_TAU_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(45, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_FULL)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, -0.5, 50).addPos(0, 0, 0, 150, IType.SIN_FULL)) + .addBus("ROTATE", new BusAnimationSequence().addPos(0, 0, -5, 50, IType.SIN_DOWN).addPos(0, 0, 5, 100, IType.SIN_FULL).addPos(0, 0, 0, 50, IType.SIN_UP)); + case ALT_CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, -3, 100, IType.SIN_DOWN).addPos(0, 0, 0, 250, IType.SIN_FULL)) + .addBus("ROTATE", new BusAnimationSequence().addPos(0, 0, -5, 50, IType.SIN_DOWN).addPos(0, 0, 5, 100, IType.SIN_FULL).addPos(0, 0, 0, 50, IType.SIN_UP)); + case CYCLE_DRY: return new BusAnimation(); + case INSPECT: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(2, 0, 0, 150, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)) + .addBus("ROTATE", new BusAnimationSequence().addPos(0, 0, -360 * 3, 500 * 3, IType.SIN_DOWN)); + case SPINUP: return new BusAnimation() + .addBus("ROTATE", new BusAnimationSequence().addPos(0, 0, 360 * 6, 3000, IType.SIN_UP).addPos(0, 0, 0, 0).addPos(0, 0, 360 * 40, 500 * 20)); + } + + return null; + }; + + public static BiFunction LAMBDA_COILGUN_ANIMS = (stack, type) -> { + if(type == AnimType.EQUIP) return new BusAnimation().addBus("RELOAD", new BusAnimationSequence().addPos(1, 0, 0, 0).addPos(0, 0, 0, 250)); + if(type == AnimType.CYCLE) return new BusAnimation().addBus("RECOIL", new BusAnimationSequence().addPos(ItemGunBaseNT.getIsAiming(stack) ? 0.5 : 1, 0, 0, 100).addPos(0, 0, 0, 200)); + if(type == AnimType.RELOAD) return new BusAnimation().addBus("RELOAD", new BusAnimationSequence().addPos(1, 0, 0, 250).addPos(1, 0, 0, 500).addPos(0, 0, 0, 250)); + return null; + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryBlackPowder.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryBlackPowder.java new file mode 100644 index 000000000..e8637d22a --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryBlackPowder.java @@ -0,0 +1,78 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; + +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; + +import net.minecraft.item.ItemStack; + +public class XFactoryBlackPowder { + + public static BulletConfig stone = new BulletConfig().setItem(EnumAmmo.STONE).setBlackPowder(true).setHeadshot(1F).setSpread(0.025F).setRicochetAngle(15); + public static BulletConfig flint = new BulletConfig().setItem(EnumAmmo.STONE_AP).setBlackPowder(true).setHeadshot(1F).setSpread(0.01F).setRicochetAngle(5).setDoesPenetrate(true).setDamage(1.5F); + public static BulletConfig iron = new BulletConfig().setItem(EnumAmmo.STONE_IRON).setBlackPowder(true).setHeadshot(1F).setSpread(0F).setRicochetAngle(90).setRicochetCount(5).setDoesPenetrate(true).setDamageFalloffByPen(false).setDamage(1.5F); + public static BulletConfig shot = new BulletConfig().setItem(EnumAmmo.STONE_SHOT).setBlackPowder(true).setHeadshot(1F).setSpread(0.1F).setRicochetAngle(45).setProjectiles(6, 6).setDamage(1F/6F); + + public static void init() { + + ModItems.gun_pepperbox = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(300).draw(4).inspect(23).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(5F).delay(27).reload(67).jam(58).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 6).addConfigs(stone, flint, iron, shot)) + .offset(0.75, -0.0625, -0.1875D) + .setupStandardFire().recoil(LAMBDA_RECOIL_PEPPERBOX)) + .setupStandardConfiguration() + .anim(LAMBDA_PEPPERBOX_ANIMS).orchestra(Orchestras.ORCHESTRA_PEPPERBOX) + ).setUnlocalizedName("gun_pepperbox"); + } + + public static BiConsumer LAMBDA_RECOIL_PEPPERBOX = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil(10, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5)); + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_PEPPERBOX_ANIMS = (stack, type) -> { + switch(type) { + case CYCLE: return new BusAnimation() + .addBus("ROTATE", new BusAnimationSequence().addPos(0, 0, 0, 1025).addPos(60, 0, 0, 250)) + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, 0, 50).addPos(45, 0, 0, 150, IType.SIN_DOWN).addPos(45, 0, 0, 50).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("HAMMER", new BusAnimationSequence().addPos(80, 0, 0, 25).addPos(80, 0, 0, 1000).addPos(0, 0, 0, 250)) + .addBus("TRIGGER", new BusAnimationSequence().addPos(1, 0, 0, 25).addPos(1, 0, 0, 250).addPos(0, 0, 0, 100)); + case CYCLE_DRY: return new BusAnimation() + .addBus("ROTATE", new BusAnimationSequence().addPos(0, 0, 0, 525).addPos(60, 0, 0, 250)) + .addBus("HAMMER", new BusAnimationSequence().addPos(80, 0, 0, 25).addPos(80, 0, 0, 500).addPos(0, 0, 0, 250)) + .addBus("TRIGGER", new BusAnimationSequence().addPos(1, 0, 0, 25).addPos(1, 0, 0, 250).addPos(0, 0, 0, 100)); + case EQUIP: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(-45, 0, 0, 0).addPos(0, 0, 0, 200, IType.SIN_DOWN)); + case RELOAD: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(90, 0, 0, 500, IType.SIN_FULL).addPos(90, 0, 0, 1600).addPos(0, 0, 0, 500, IType.SIN_FULL).addPos(-5, 0, 0, 200, IType.SIN_UP).addPos(0, 0, 0, 200, IType.SIN_DOWN)) + .addBus("TRANSLATE", new BusAnimationSequence().addPos(0, -12, 5, 500, IType.SIN_FULL).addPos(0, -12, 5, 700).addPos(0, -13, 5, 200).addPos(0, -12, 5, 200).addPos(0, -12, 5, 500).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("LOADER", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 5, -5, 0).addPos(0, 0, -0.1, 500, IType.SIN_FULL).addPos(0, 0, -1, 200).addPos(0, 0, -1, 200).addPos(0, 0, -0.1, 200).addPos(0, 5, -5, 500, IType.SIN_FULL).addPos(0, 0, 0, 0)) + .addBus("ROTATE", new BusAnimationSequence().addPos(0, 0, 0, 2600).addPos(-360 * 1, 0, 0, 750, IType.SIN_FULL)) + .addBus("SHOT", new BusAnimationSequence().addPos(1, 0, 0, 1400).addPos(0, 0, 0, 0)); + case INSPECT: return new BusAnimation() + .addBus("ROTATE", new BusAnimationSequence().addPos(-360 * 1, 0, 0, 750, IType.SIN_FULL)) + .addBus("RECOIL", new BusAnimationSequence().addPos(-5, 0, 0, 200, IType.SIN_UP).addPos(0, 0, 0, 200, IType.SIN_DOWN)); + case JAMMED: return new BusAnimation() + .addBus("ROTATE", new BusAnimationSequence().addPos(0, 0, 0, 1300).addPos(60, 0, 0, 500, IType.SIN_FULL).addPos(60, 0, 0, 400).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("TRANSLATE", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, -6, 0, 400, IType.SIN_FULL).addPos(0, -6, 0, 2000).addPos(0, 0, 0, 400, IType.SIN_FULL)) + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(45, 0, 0, 400, IType.SIN_FULL).addPos(45, 0, 0, 2000).addPos(0, 0, 0, 400, IType.SIN_FULL)); + } + + return null; + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryCatapult.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryCatapult.java new file mode 100644 index 000000000..42d957506 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryCatapult.java @@ -0,0 +1,204 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.Random; +import java.util.function.BiConsumer; +import java.util.function.BiFunction; + +import com.hbm.entity.logic.EntityNukeExplosionMK5; +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard; +import com.hbm.explosion.vanillant.standard.BlockMutatorBalefire; +import com.hbm.explosion.vanillant.standard.BlockMutatorFire; +import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; +import com.hbm.explosion.vanillant.standard.EntityProcessorCrossSmooth; +import com.hbm.explosion.vanillant.standard.ExplosionEffectWeapon; +import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; +import com.hbm.handler.radiation.ChunkRadiationManager; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.mags.MagazineSingleReload; +import com.hbm.main.MainRegistry; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; + +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class XFactoryCatapult { + + public static BulletConfig nuke_standard; + public static BulletConfig nuke_demo; + public static BulletConfig nuke_high; + public static BulletConfig nuke_tots; + public static BulletConfig nuke_hive; + public static BulletConfig nuke_balefire; + + public static BiConsumer LAMBDA_NUKE_STANDARD = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3 && mop.entityHit == bullet.getThrower()) return; + if(bullet.isDead) return; + bullet.setDead(); + + ExplosionVNT vnt = new ExplosionVNT(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 10); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(2, bullet.damage).withRangeMod(1.5F)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.explode(); + + incrementRad(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 1F); + spawnMush(bullet, mop); + }; + + public static BiConsumer LAMBDA_NUKE_DEMO = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3 && mop.entityHit == bullet.getThrower()) return; + if(bullet.isDead) return; + bullet.setDead(); + + ExplosionVNT vnt = new ExplosionVNT(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 15); + vnt.setBlockAllocator(new BlockAllocatorStandard(64)); + vnt.setBlockProcessor(new BlockProcessorStandard().withBlockEffect(new BlockMutatorFire())); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(2, bullet.damage).withRangeMod(1.5F)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.explode(); + + incrementRad(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 1.5F); + spawnMush(bullet, mop); + }; + + public static BiConsumer LAMBDA_NUKE_HIGH = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3 && mop.entityHit == bullet.getThrower()) return; + if(bullet.isDead) return; + bullet.setDead(); + bullet.worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(bullet.worldObj, 35, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord)); + spawnMush(bullet, mop); + }; + + public static BiConsumer LAMBDA_NUKE_BALEFIRE = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3 && mop.entityHit == bullet.getThrower()) return; + if(bullet.isDead) return; + bullet.setDead(); + + ExplosionVNT vnt = new ExplosionVNT(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 10); + vnt.setBlockAllocator(new BlockAllocatorStandard(64)); + vnt.setBlockProcessor(new BlockProcessorStandard().withBlockEffect(new BlockMutatorBalefire())); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(2, bullet.damage).withRangeMod(1.5F)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.explode(); + + incrementRad(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 1.5F); + + bullet.worldObj.playSoundEffect(mop.hitVec.xCoord, mop.hitVec.yCoord + 0.5, mop.hitVec.zCoord, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "muke"); + data.setBoolean("balefire", true); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, mop.hitVec.xCoord, mop.hitVec.yCoord + 0.5, mop.hitVec.zCoord), new TargetPoint(bullet.dimension, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 250)); + }; + + public static void incrementRad(World world, double posX, double posY, double posZ, float mult) { + for(int i = -2; i <= 2; i++) { for(int j = -2; j <= 2; j++) { + if(Math.abs(i) + Math.abs(j) < 4) { + ChunkRadiationManager.proxy.incrementRad(world, (int) Math.floor(posX + i * 16), (int) Math.floor(posY), (int) Math.floor(posZ + j * 16), 50F / (Math.abs(i) + Math.abs(j) + 1) * mult); + } + } + } + } + + public static void spawnMush(EntityBulletBaseMK4 bullet, MovingObjectPosition mop) { + bullet.worldObj.playSoundEffect(mop.hitVec.xCoord, mop.hitVec.yCoord + 0.5, mop.hitVec.zCoord, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "muke"); + data.setBoolean("balefire", MainRegistry.polaroidID == 11 || bullet.worldObj.rand.nextInt(100) == 0); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, mop.hitVec.xCoord, mop.hitVec.yCoord + 0.5, mop.hitVec.zCoord), new TargetPoint(bullet.dimension, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 250)); + } + + public static BiConsumer LAMBDA_NUKE_TINYTOT = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3 && mop.entityHit == bullet.getThrower()) return; + if(bullet.isDead) return; + bullet.setDead(); + + ExplosionVNT vnt = new ExplosionVNT(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 5); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(2, bullet.damage).withRangeMod(1.5F)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.explode(); + + incrementRad(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 0.25F); + bullet.worldObj.playSoundEffect(mop.hitVec.xCoord, mop.hitVec.yCoord + 0.5, mop.hitVec.zCoord, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "tinytot"); + data.setBoolean("balefire", MainRegistry.polaroidID == 11 || bullet.worldObj.rand.nextInt(100) == 0); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, mop.hitVec.xCoord, mop.hitVec.yCoord + 0.5, mop.hitVec.zCoord), new TargetPoint(bullet.dimension, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 250)); + }; + + public static BiConsumer LAMBDA_NUKE_HIVE = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3 && mop.entityHit == bullet.getThrower()) return; + if(bullet.isDead) return; + bullet.setDead(); + ExplosionVNT vnt = new ExplosionVNT(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 5); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, bullet.damage).withRangeMod(1.5F)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.setSFX(new ExplosionEffectWeapon(10, 2.5F, 1F)); + vnt.explode(); + }; + + public static void init() { + + nuke_standard = new BulletConfig().setItem(EnumAmmo.NUKE_STANDARD).setLife(300).setVel(3F).setGrav(0.025F).setOnImpact(LAMBDA_NUKE_STANDARD); + nuke_demo = new BulletConfig().setItem(EnumAmmo.NUKE_DEMO).setLife(300).setVel(3F).setGrav(0.025F).setOnImpact(LAMBDA_NUKE_DEMO); + nuke_high = new BulletConfig().setItem(EnumAmmo.NUKE_HIGH).setLife(300).setVel(3F).setGrav(0.025F).setOnImpact(LAMBDA_NUKE_HIGH); + nuke_tots = new BulletConfig().setItem(EnumAmmo.NUKE_TOTS).setProjectiles(8).setLife(300).setVel(3F).setGrav(0.025F).setSpread(0.1F).setDamage(0.35F).setOnImpact(LAMBDA_NUKE_TINYTOT); + nuke_hive = new BulletConfig().setItem(EnumAmmo.NUKE_HIVE).setProjectiles(12).setLife(300).setVel(1F).setGrav(0.025F).setSpread(0.15F).setDamage(0.25F).setOnImpact(LAMBDA_NUKE_HIVE); + nuke_balefire = new BulletConfig().setItem(EnumAmmo.NUKE_BALEFIRE).setDamage(2.5F).setLife(300).setVel(3F).setGrav(0.025F).setOnImpact(LAMBDA_NUKE_BALEFIRE); + + ModItems.gun_fatman = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(300).draw(20).inspect(30).reloadChangeType(true).crosshair(Crosshair.L_CIRCUMFLEX).hideCrosshair(false) + .rec(new Receiver(0) + .dmg(100F).spreadHipfire(0F).delay(10).reload(57).jam(40).sound("hbm:weapon.fire.fatman", 1.0F, 1.0F) + .mag(new MagazineSingleReload(0, 1).addConfigs(nuke_standard, nuke_demo, nuke_high, nuke_tots, nuke_hive, nuke_balefire)) + .offset(1, -0.0625 * 1.5, -0.1875D).offsetScoped(1, -0.0625 * 1.5, -0.125D) + .setupStandardFire().recoil(LAMBDA_RECOIL_FATMAN)) + .setupStandardConfiguration() + .anim(LAMBDA_FATMAN_ANIMS).orchestra(Orchestras.ORCHESTRA_FATMAN) + ).setUnlocalizedName("gun_fatman"); + } + + public static BiConsumer LAMBDA_RECOIL_FATMAN = (stack, ctx) -> { }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_FATMAN_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 1000, IType.SIN_DOWN)); + case CYCLE: + Random rand = MainRegistry.proxy.me().getRNG(); + return new BusAnimation() + .addBus("GAUGE", new BusAnimationSequence().addPos(0, 0, 135 + rand.nextInt(136), 100, IType.SIN_DOWN).addPos(0, 0, 0, 500, IType.SIN_DOWN)) + .addBus("PISTON", new BusAnimationSequence().addPos(0, 0, 3, 100, IType.SIN_UP)) + .addBus("NUKE", new BusAnimationSequence().addPos(0, 0, 3, 100, IType.SIN_UP).addPos(0, 0, 0, 0)); + case RELOAD: return new BusAnimation() + .addBus("LID", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(0, 0, -45, 250, IType.SIN_UP).addPos(0, 0, -45, 1200).addPos(0, 0, 0, 250, IType.SIN_UP)) + .addBus("HANDLE", new BusAnimationSequence().addPos(0, 0, -2, 500, IType.SIN_FULL).addPos(0, 0, -2, 1700).addPos(0, 0, 0, 750, IType.SIN_FULL)) + .addBus("NUKE", new BusAnimationSequence().addPos(5, -4, 3, 0).addPos(5, -4, 3, 750).addPos(2, 0.5, 3, 500, IType.SIN_UP).addPos(1, 0.5, 3, 100).addPos(0, 0, 3, 100).addPos(0, 0, 3, 750).addPos(0, 0, 0, 750, IType.SIN_FULL)) + .addBus("PISTON", new BusAnimationSequence().addPos(0, 0, 3, 0).addPos(0, 0, 3, 2200).addPos(0, 0, 0, 750, IType.SIN_FULL)) + .addBus("EQUIP", new BusAnimationSequence().addPos(5, 0, 0, 500, IType.SIN_FULL).addPos(0, 0, 0, 500, IType.SIN_FULL).addPos(0, 0, 0, 450).addPos(3, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL).addPos(0, 0, 0, 500).addPos(-10, 0, 0, 375, IType.SIN_DOWN).addPos(0, 0, 0, 375, IType.SIN_UP)); + case JAMMED: return new BusAnimation() + .addBus("HANDLE", new BusAnimationSequence().addPos(0, 0, 0, 750).addPos(0, 0, -2, 250, IType.SIN_FULL).addPos(0, 0, 0, 250, IType.SIN_FULL).addPos(0, 0, -2, 250, IType.SIN_FULL).addPos(0, 0, 0, 250, IType.SIN_FULL)) + .addBus("EQUIP", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(-15, 0, 0, 250, IType.SIN_FULL).addPos(-15, 0, 0, 1000).addPos(0, 0, 0, 250, IType.SIN_FULL)); + case INSPECT: return new BusAnimation() + .addBus("HANDLE", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(0, 0, -2, 250, IType.SIN_FULL).addPos(0, 0, 0, 250, IType.SIN_FULL).addPos(0, 0, -2, 250, IType.SIN_FULL).addPos(0, 0, 0, 250, IType.SIN_FULL)) + .addBus("EQUIP", new BusAnimationSequence().addPos(-15, 0, 0, 250, IType.SIN_FULL).addPos(-15, 0, 0, 1000).addPos(0, 0, 0, 250, IType.SIN_FULL)); + } + return null; + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryEnergy.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryEnergy.java new file mode 100644 index 000000000..4167419d7 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryEnergy.java @@ -0,0 +1,291 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.Collections; +import java.util.List; +import java.util.function.BiConsumer; +import java.util.function.BiFunction; + +import com.hbm.entity.effect.EntityFireLingering; +import com.hbm.entity.projectile.EntityBulletBeamBase; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.EntityProcessorCrossSmooth; +import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; +import com.hbm.extprop.HbmLivingProps; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.mags.MagazineBelt; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; +import com.hbm.util.DamageResistanceHandler.DamageClass; + +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.block.Block; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class XFactoryEnergy { + + public static final ResourceLocation scope_luna = new ResourceLocation(RefStrings.MODID, "textures/misc/scope_amat.png"); + + public static BulletConfig energy_tesla; + public static BulletConfig energy_tesla_overcharge; + public static BulletConfig energy_tesla_ir; + public static BulletConfig energy_tesla_ir_sub; + + public static BulletConfig energy_las; + public static BulletConfig energy_las_overcharge; + public static BulletConfig energy_las_ir; + public static BulletConfig energy_emerald; + public static BulletConfig energy_emerald_overcharge; + public static BulletConfig energy_emerald_ir; + + public static BiConsumer LAMBDA_LIGHTNING_HIT = (beam, mop) -> { + + if(mop.typeOfHit == mop.typeOfHit.BLOCK) { + ForgeDirection dir = ForgeDirection.getOrientation(mop.sideHit); + mop.hitVec.xCoord += dir.offsetX * 0.5; + mop.hitVec.yCoord += dir.offsetY * 0.5; + mop.hitVec.zCoord += dir.offsetZ * 0.5; + } + + ExplosionVNT vnt = new ExplosionVNT(beam.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 2F, beam.getThrower()); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, beam.damage).setDamageClass(beam.config.dmgClass)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.explode(); + beam.worldObj.playSoundEffect(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, "hbm:entity.ufoBlast", 5.0F, 0.9F + beam.worldObj.rand.nextFloat() * 0.2F); + beam.worldObj.playSoundEffect(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, "fireworks.blast", 5.0F, 0.5F); + + float yaw = beam.worldObj.rand.nextFloat() * 180F; + for(int i = 0; i < 3; i++) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "plasmablast"); + data.setFloat("r", 0.5F); + data.setFloat("g", 0.5F); + data.setFloat("b", 1.0F); + data.setFloat("pitch", -60F + 60F * i); + data.setFloat("yaw", yaw); + data.setFloat("scale", 2F); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord), + new TargetPoint(beam.worldObj.provider.dimensionId, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 100)); + } + + if(mop.typeOfHit == mop.typeOfHit.ENTITY) { + if(mop.entityHit instanceof EntityLivingBase) { + ((EntityLivingBase) mop.entityHit).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 60, 9)); + ((EntityLivingBase) mop.entityHit).addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 60, 9)); + } + } + }; + + public static BiConsumer LAMBDA_LIGHTNING_SPLIT = (beam, mop) -> { + LAMBDA_LIGHTNING_HIT.accept(beam, mop); + if(mop.typeOfHit != mop.typeOfHit.ENTITY) return; + + double range = 20; + List potentialTargets = beam.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord).expand(range, range, range)); + Collections.shuffle(potentialTargets); + + for(EntityLivingBase target : potentialTargets) { + if(target == beam.thrower) continue; + if(target == mop.entityHit) continue; + + Vec3 delta = Vec3.createVectorHelper(target.posX - mop.hitVec.xCoord, target.posY + target.height / 2 - mop.hitVec.yCoord, target.posZ - mop.hitVec.zCoord); + if(delta.lengthVector() > 20) continue; + EntityBulletBeamBase sub = new EntityBulletBeamBase(beam.thrower, energy_tesla_ir_sub, beam.damage); + sub.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); + sub.setRotationsFromVector(delta); + sub.performHitscanExternal(delta.lengthVector()); + beam.worldObj.spawnEntityInWorld(sub); + } + }; + + public static BiConsumer LAMBDA_IR_HIT = (beam, mop) -> { + BulletConfig.LAMBDA_STANDARD_BEAM_HIT.accept(beam, mop); + + if(mop.typeOfHit == mop.typeOfHit.ENTITY) { + if(mop.entityHit instanceof EntityLivingBase) { + EntityLivingBase living = (EntityLivingBase) mop.entityHit; + HbmLivingProps props = HbmLivingProps.getData(living); + if(props.fire < 100) props.fire = 100; + } + } + + if(mop.typeOfHit == mop.typeOfHit.BLOCK) { + World world = beam.worldObj; + Block b = world.getBlock(mop.blockX, mop.blockY, mop.blockZ); + ForgeDirection dir = ForgeDirection.getOrientation(mop.sideHit); + if(b.isFlammable(world, mop.blockX, mop.blockY, mop.blockZ, dir.getOpposite())) { + if(world.getBlock(mop.blockX + dir.offsetX, mop.blockY + dir.offsetY, mop.blockZ + dir.offsetZ).isAir(world, mop.blockX + dir.offsetX, mop.blockY + dir.offsetY, mop.blockZ + dir.offsetZ)) { + world.setBlock(mop.blockX + dir.offsetX, mop.blockY + dir.offsetY, mop.blockZ + dir.offsetZ, Blocks.fire); + return; + } + } + + EntityFireLingering fire = new EntityFireLingering(beam.worldObj).setArea(2, 1).setDuration(100).setType(EntityFireLingering.TYPE_DIESEL); + fire.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); + beam.worldObj.spawnEntityInWorld(fire); + } + }; + + public static void init() { + + energy_tesla = new BulletConfig().setItem(EnumAmmo.CAPACITOR).setCasing(new ItemStack(ModItems.ingot_polymer, 2), 4).setupDamageClass(DamageClass.ELECTRIC).setBeam().setSpread(0.0F).setLife(5).setRenderRotations(false).setDoesPenetrate(true) + .setOnBeamImpact(LAMBDA_LIGHTNING_HIT); + energy_tesla_overcharge = new BulletConfig().setItem(EnumAmmo.CAPACITOR_OVERCHARGE).setCasing(new ItemStack(ModItems.ingot_polymer, 2), 4).setupDamageClass(DamageClass.ELECTRIC).setBeam().setSpread(0.0F).setLife(5).setRenderRotations(false).setDoesPenetrate(true) + .setDamage(1.5F).setOnBeamImpact(LAMBDA_LIGHTNING_HIT); + energy_tesla_ir = new BulletConfig().setItem(EnumAmmo.CAPACITOR_IR).setCasing(new ItemStack(ModItems.ingot_polymer, 2), 4).setupDamageClass(DamageClass.ELECTRIC).setBeam().setSpread(0.0F).setLife(5).setRenderRotations(false) + .setDamage(0.8F).setOnBeamImpact(LAMBDA_LIGHTNING_SPLIT); + energy_tesla_ir_sub = new BulletConfig().setItem(EnumAmmo.CAPACITOR_IR).setupDamageClass(DamageClass.ELECTRIC).setBeam().setSpread(0.0F).setLife(3).setWear(3F).setRenderRotations(false).setDoesPenetrate(true) + .setDamage(0.5F).setOnBeamImpact(BulletConfig.LAMBDA_STANDARD_BEAM_HIT); + + energy_las = new BulletConfig().setItem(EnumAmmo.CAPACITOR).setCasing(new ItemStack(ModItems.ingot_polymer, 2), 4).setupDamageClass(DamageClass.LASER).setBeam().setSpread(0.0F).setLife(5).setRenderRotations(false).setOnBeamImpact(BulletConfig.LAMBDA_STANDARD_BEAM_HIT); + energy_las_overcharge = new BulletConfig().setItem(EnumAmmo.CAPACITOR_OVERCHARGE).setCasing(new ItemStack(ModItems.ingot_polymer, 2), 4).setupDamageClass(DamageClass.LASER).setBeam().setSpread(0.0F).setLife(5).setRenderRotations(false).setDoesPenetrate(true).setOnBeamImpact(BulletConfig.LAMBDA_STANDARD_BEAM_HIT); + energy_las_ir = new BulletConfig().setItem(EnumAmmo.CAPACITOR_IR).setCasing(new ItemStack(ModItems.ingot_polymer, 2), 4).setupDamageClass(DamageClass.FIRE).setBeam().setSpread(0.0F).setLife(5).setRenderRotations(false).setOnBeamImpact(LAMBDA_IR_HIT); + + energy_emerald = energy_las.clone().setArmorPiercing(0.5F).setThresholdNegation(10F); + energy_emerald_overcharge = energy_las_overcharge.clone().setArmorPiercing(0.5F).setThresholdNegation(15F); + energy_emerald_ir = energy_las_ir.clone().setArmorPiercing(0.5F).setThresholdNegation(10F); + + ModItems.gun_tesla_cannon = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(1_000).draw(10).inspect(33).crosshair(Crosshair.CIRCLE) + .rec(new Receiver(0) + .dmg(35F).delay(20).spreadHipfire(1.5F).reload(44).jam(19).sound("hbm:weapon.fire.tesla", 1.0F, 1.0F) + .mag(new MagazineBelt().addConfigs(energy_tesla, energy_tesla_overcharge, energy_tesla_ir)) + .offset(0.75, 0, -0.375).offsetScoped(0.75, 0, -0.25) + .setupStandardFire().recoil(LAMBDA_RECOIL_ENERGY)) + .setupStandardConfiguration() + .anim(LAMBDA_TESLA_ANIMS).orchestra(Orchestras.ORCHESTRA_TESLA) + ).setUnlocalizedName("gun_tesla_cannon"); + + ModItems.gun_laser_pistol = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(500).draw(10).inspect(26).crosshair(Crosshair.CIRCLE) + .rec(new Receiver(0) + .dmg(25F).delay(5).spread(1F).spreadHipfire(1F).reload(45).jam(37).sound("hbm:weapon.fire.laserPistol", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 30).addConfigs(energy_las, energy_las_overcharge, energy_las_ir)) + .offset(0.75, -0.0625 * 1.5, -0.1875) + .setupStandardFire().recoil(LAMBDA_RECOIL_ENERGY)) + .setupStandardConfiguration() + .anim(LAMBDA_LASER_PISTOL).orchestra(Orchestras.ORCHESTRA_LASER_PISTOL) + ).setUnlocalizedName("gun_laser_pistol"); + ModItems.gun_laser_pistol_pew_pew = new ItemGunBaseNT(WeaponQuality.B_SIDE, new GunConfig() + .dura(500).draw(10).inspect(26).crosshair(Crosshair.CIRCLE) + .rec(new Receiver(0) + .dmg(30F).rounds(5).delay(10).spread(0.25F).spreadHipfire(1F).reload(45).jam(37).sound("hbm:weapon.fire.laserPistol", 1.0F, 0.8F) + .mag(new MagazineFullReload(0, 10).addConfigs(energy_las, energy_las_overcharge, energy_las_ir)) + .offset(0.75, -0.0625 * 1.5, -0.1875) + .setupStandardFire().recoil(LAMBDA_RECOIL_ENERGY)) + .setupStandardConfiguration() + .anim(LAMBDA_LASER_PISTOL).orchestra(Orchestras.ORCHESTRA_LASER_PISTOL) + ).setUnlocalizedName("gun_laser_pistol_pew_pew"); + ModItems.gun_laser_pistol_morning_glory = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() + .dura(1_500).draw(10).inspect(26).crosshair(Crosshair.CIRCLE) + .rec(new Receiver(0) + .dmg(20F).delay(7).spread(0F).spreadHipfire(0.5F).reload(45).jam(37).sound("hbm:weapon.fire.laserPistol", 1.0F, 1.1F) + .mag(new MagazineFullReload(0, 20).addConfigs(energy_emerald, energy_emerald_overcharge, energy_emerald_ir)) + .offset(0.75, -0.0625 * 1.5, -0.1875) + .setupStandardFire().recoil(LAMBDA_RECOIL_ENERGY)) + .setupStandardConfiguration() + .anim(LAMBDA_LASER_PISTOL).orchestra(Orchestras.ORCHESTRA_LASER_PISTOL) + ).setUnlocalizedName("gun_laser_pistol_morning_glory"); + + ModItems.gun_lasrifle = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(2_000).draw(10).inspect(26).crosshair(Crosshair.CIRCLE).scopeTexture(scope_luna) + .rec(new Receiver(0) + .dmg(50F).delay(8).spreadHipfire(1F).reload(44).jam(36).sound("hbm:weapon.fire.laser", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 24).addConfigs(energy_las, energy_las_overcharge, energy_las_ir)) + .offset(0.75, -0.0625 * 1.5, -0.1875) + .setupStandardFire().recoil(LAMBDA_RECOIL_ENERGY)) + .setupStandardConfiguration() + .anim(LAMBDA_LASRIFLE).orchestra(Orchestras.ORCHESTRA_LASRIFLE) + ).setUnlocalizedName("gun_lasrifle"); + } + + public static BiConsumer LAMBDA_RECOIL_ENERGY = (stack, ctx) -> { }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_TESLA_ANIMS = (stack, type) -> { + int amount = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory); + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 1000, IType.SIN_DOWN)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, ItemGunBaseNT.getIsAiming(stack) ? -0.5 : -1, 100, IType.SIN_DOWN).addPos(0, 0, 0, 250, IType.SIN_FULL)) + .addBus("CYCLE", new BusAnimationSequence().addPos(0, 0, 0, 150).addPos(0, 0, 22.5, 350)) + .addBus("COUNT", new BusAnimationSequence().addPos(amount, 0, 0, 0)); + case CYCLE_DRY: return new BusAnimation() + .addBus("CYCLE", new BusAnimationSequence().addPos(0, 0, 0, 150).addPos(0, 0, 22.5, 350)); + case INSPECT: return new BusAnimation() + .addBus("YOMI", new BusAnimationSequence().addPos(8, -4, 0, 0).addPos(4, -1, 0, 500, IType.SIN_DOWN).addPos(4, -1, 0, 1000).addPos(6, -6, 0, 500, IType.SIN_UP)) + .addBus("SQUEEZE", new BusAnimationSequence().addPos(1, 1, 1, 0).addPos(1, 1, 1, 750).addPos(1, 1, 0.5, 125).addPos(1, 1, 1, 125)); + } + + return null; + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_LASER_PISTOL = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, -0.5, 50, IType.SIN_DOWN).addPos(0, 0, 0, 150, IType.SIN_FULL)); + case RELOAD: return new BusAnimation() + .addBus("LATCH", new BusAnimationSequence().addPos(0, -20, 0, 100).hold(1900).addPos(0, 0, 0, 100)) + .addBus("LIFT", new BusAnimationSequence().hold(100).addPos(-45, 0, 0, 250, IType.SIN_FULL).hold(500).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("JOLT", new BusAnimationSequence().hold(350).addPos(0, 0, 0.5, 100, IType.SIN_FULL).addPos(0, 0, -1.5, 100, IType.SIN_UP).addPos(0, 0, 0, 150, IType.SIN_FULL).holdUntil(2100).addPos(-0.0625, 0, 0, 50, IType.SIN_UP).addPos(0, 0, 0, 100, IType.SIN_FULL)) + .addBus("BATTERY", new BusAnimationSequence().hold(550).addPos(0, 0, 5, 250).hold(550).setPos(0, -2, -2).addPos(0, 0, -2, 250, IType.SIN_FULL).addPos(0, 0, 0, 250, IType.SIN_UP)); + case JAMMED: return new BusAnimation() + .addBus("LATCH", new BusAnimationSequence().hold(500).addPos(0, -20, 0, 100).hold(250).addPos(0, 0, 0, 100)) + .addBus("JOLT", new BusAnimationSequence().hold(950).addPos(-0.0625, 0, 0, 50, IType.SIN_UP).addPos(0, 0, 0, 100, IType.SIN_FULL)) + .addBus("EQUIP", new BusAnimationSequence().hold(1500).addPos(7.5, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 250, IType.SIN_FULL)); + case INSPECT: return new BusAnimation() + .addBus("SWIRL", new BusAnimationSequence().addPos(-720, 0, 0, 750, IType.SIN_FULL).hold(500).addPos(0, 0, 0, 750, IType.SIN_FULL)); + } + return null; + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_LASRIFLE = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, -0.5, 50, IType.SIN_DOWN).addPos(0, 0, 0, 150, IType.SIN_FULL)); + case RELOAD: return new BusAnimation() + .addBus("LEVER", new BusAnimationSequence().addPos(-90, 0, 0, 350, IType.SIN_UP).addPos(-90, 0, 0, 1500).addPos(0, 0, 0, 350, IType.SIN_UP)) + .addBus("MAG", new BusAnimationSequence().addPos(0, 0, 0, 350).addPos(0, -5, 0, 350, IType.SIN_UP).addPos(0, -5, 0, 500).addPos(0, -0.25, 0, 500, IType.SIN_FULL).addPos(0, -0.25, 0, 150).addPos(0, 0, 0, 350)) + .addBus("EQUIP", new BusAnimationSequence().addPos(0, 0, 0, 1700).addPos(-2, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)); + case JAMMED: return new BusAnimation() + .addBus("LEVER", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(-90, 0, 0, 350, IType.SIN_UP).addPos(-90, 0, 0, 600).addPos(0, 0, 0, 350, IType.SIN_UP)) + .addBus("MAG", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 0, 350).addPos(0, -2, 0, 200, IType.SIN_UP).addPos(0, -0.25, 0, 250, IType.SIN_FULL).addPos(0, -0.25, 0, 150).addPos(0, 0, 0, 350)) + .addBus("EQUIP", new BusAnimationSequence().addPos(0, 0, 0, 500).addPos(0, 0, 0, 800).addPos(-2, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)); + case INSPECT: return new BusAnimation() + .addBus("LEVER", new BusAnimationSequence().addPos(-90, 0, 0, 350, IType.SIN_UP).addPos(-90, 0, 0, 600).addPos(0, 0, 0, 350, IType.SIN_UP)) + .addBus("MAG", new BusAnimationSequence().addPos(0, 0, 0, 350).addPos(0, -2, 0, 200, IType.SIN_UP).addPos(0, -0.25, 0, 250, IType.SIN_FULL).addPos(0, -0.25, 0, 150).addPos(0, 0, 0, 350)) + .addBus("EQUIP", new BusAnimationSequence().addPos(0, 0, 0, 800).addPos(-2, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)); + } + + return null; + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryFlamer.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryFlamer.java new file mode 100644 index 000000000..50e845278 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryFlamer.java @@ -0,0 +1,204 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.List; +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.Consumer; + +import com.hbm.entity.effect.EntityFireLingering; +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.extprop.HbmLivingProps; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.impl.ItemGunChemthrower; +import com.hbm.items.weapon.sedna.mags.MagazineFluid; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.particle.helper.FlameCreator; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; +import com.hbm.util.DamageResistanceHandler.DamageClass; + +import net.minecraft.block.Block; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class XFactoryFlamer { + + public static BulletConfig flame_nograv; + public static BulletConfig flame_nograv_bf; + + public static BulletConfig flame_diesel; + public static BulletConfig flame_gas; + public static BulletConfig flame_napalm; + public static BulletConfig flame_balefire; + + public static BulletConfig flame_topaz_diesel; + public static BulletConfig flame_topaz_gas; + public static BulletConfig flame_topaz_napalm; + public static BulletConfig flame_topaz_balefire; + + public static BulletConfig flame_daybreaker_diesel; + public static BulletConfig flame_daybreaker_gas; + public static BulletConfig flame_daybreaker_napalm; + public static BulletConfig flame_daybreaker_balefire; + + public static Consumer LAMBDA_FIRE = (bullet) -> { + if(bullet.worldObj.isRemote && MainRegistry.proxy.me().getDistanceToEntity(bullet) < 100) FlameCreator.composeEffectClient(bullet.worldObj, bullet.posX, bullet.posY - 0.125, bullet.posZ, FlameCreator.META_FIRE); + }; + public static Consumer LAMBDA_BALEFIRE = (bullet) -> { + if(bullet.worldObj.isRemote && MainRegistry.proxy.me().getDistanceToEntity(bullet) < 100) FlameCreator.composeEffectClient(bullet.worldObj, bullet.posX, bullet.posY - 0.125, bullet.posZ, FlameCreator.META_BALEFIRE); + }; + public static BiConsumer LAMBDA_IGNITE_FIRE = (bullet, mop) -> { + if(mop.entityHit instanceof EntityLivingBase) { + HbmLivingProps props = HbmLivingProps.getData((EntityLivingBase) mop.entityHit); + if(props.fire < 100) props.fire = 100; + } + }; + public static BiConsumer LAMBDA_IGNITE_BALEFIRE = (bullet, mop) -> { + if(mop.entityHit instanceof EntityLivingBase) { + HbmLivingProps props = HbmLivingProps.getData((EntityLivingBase) mop.entityHit); + if(props.balefire < 200) props.balefire = 200; + } + }; + public static BiConsumer LAMBDA_LINGER_DIESEL = (bullet, mop) -> { if(!igniteIfPossible(bullet, mop)) spawnFire(bullet, mop, 2F, 1F, 100, EntityFireLingering.TYPE_DIESEL); }; + public static BiConsumer LAMBDA_LINGER_GAS = (bullet, mop) -> { igniteIfPossible(bullet, mop); }; + public static BiConsumer LAMBDA_LINGER_NAPALM = (bullet, mop) -> { if(!igniteIfPossible(bullet, mop)) spawnFire(bullet, mop, 2.5F, 1F, 200, EntityFireLingering.TYPE_DIESEL); }; + public static BiConsumer LAMBDA_LINGER_BALEFIRE = (bullet, mop) -> { spawnFire(bullet, mop, 3F, 1F, 300, EntityFireLingering.TYPE_BALEFIRE); }; + + public static boolean igniteIfPossible(EntityBulletBaseMK4 bullet, MovingObjectPosition mop) { + if(mop.typeOfHit == mop.typeOfHit.BLOCK) { + World world = bullet.worldObj; + Block b = world.getBlock(mop.blockX, mop.blockY, mop.blockZ); + ForgeDirection dir = ForgeDirection.getOrientation(mop.sideHit); + if(b.isFlammable(world, mop.blockX, mop.blockY, mop.blockZ, dir.getOpposite())) { + if(world.getBlock(mop.blockX + dir.offsetX, mop.blockY + dir.offsetY, mop.blockZ + dir.offsetZ).isAir(world, mop.blockX + dir.offsetX, mop.blockY + dir.offsetY, mop.blockZ + dir.offsetZ)) { + world.setBlock(mop.blockX + dir.offsetX, mop.blockY + dir.offsetY, mop.blockZ + dir.offsetZ, Blocks.fire); + return true; + } + } + bullet.setDead(); + } + return false; + } + + public static void spawnFire(EntityBulletBaseMK4 bullet, MovingObjectPosition mop, float width, float height, int duration, int type) { + if(mop.typeOfHit == mop.typeOfHit.BLOCK) { + List fires = bullet.worldObj.getEntitiesWithinAABB(EntityFireLingering.class, + AxisAlignedBB.getBoundingBox(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord).expand(width / 2 + 0.5, height / 2 + 0.5, width / 2 + 0.5)); + if(fires.isEmpty()) { + EntityFireLingering fire = new EntityFireLingering(bullet.worldObj).setArea(width, height).setDuration(duration).setType(type); + fire.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); + bullet.worldObj.spawnEntityInWorld(fire); + } + bullet.setDead(); + } + } + + public static void init() { + flame_diesel = new BulletConfig().setItem(EnumAmmo.FLAME_DIESEL).setCasing(new ItemStack(ModItems.plate_steel, 2), 500).setupDamageClass(DamageClass.FIRE).setLife(100).setVel(1F).setGrav(0.02D).setReloadCount(500).setSelfDamageDelay(20).setKnockback(0F) + .setOnUpdate(LAMBDA_FIRE).setOnRicochet(LAMBDA_LINGER_DIESEL); + flame_gas = new BulletConfig().setItem(EnumAmmo.FLAME_GAS).setCasing(new ItemStack(ModItems.plate_steel, 2), 500).setupDamageClass(DamageClass.FIRE).setLife(10).setSpread(0.05F).setVel(1F).setGrav(0.0D).setReloadCount(500).setSelfDamageDelay(20).setKnockback(0F) + .setOnUpdate(LAMBDA_FIRE).setOnRicochet(LAMBDA_LINGER_GAS); + flame_napalm = new BulletConfig().setItem(EnumAmmo.FLAME_NAPALM).setCasing(new ItemStack(ModItems.plate_steel, 2), 500).setupDamageClass(DamageClass.FIRE).setLife(200).setVel(1F).setGrav(0.02D).setReloadCount(500).setSelfDamageDelay(20).setKnockback(0F) + .setOnUpdate(LAMBDA_FIRE).setOnRicochet(LAMBDA_LINGER_NAPALM); + flame_balefire = new BulletConfig().setItem(EnumAmmo.FLAME_BALEFIRE).setCasing(new ItemStack(ModItems.plate_steel, 2), 500).setupDamageClass(DamageClass.FIRE).setLife(200).setVel(1F).setGrav(0.02D).setReloadCount(500).setSelfDamageDelay(20).setKnockback(0F) + .setOnUpdate(LAMBDA_BALEFIRE).setOnRicochet(LAMBDA_LINGER_BALEFIRE); + + flame_nograv = flame_diesel.clone().setGrav(0); + flame_nograv_bf = flame_balefire.clone().setGrav(0).setLife(100); + + flame_topaz_diesel = flame_diesel .clone().setProjectiles(2).setSpread(0.05F).setLife(60).setGrav(0.0D); + flame_topaz_gas = flame_gas .clone().setProjectiles(2).setSpread(0.05F); + flame_topaz_napalm = flame_napalm .clone().setProjectiles(2).setSpread(0.05F).setLife(60).setGrav(0.0D); + flame_topaz_balefire = flame_balefire .clone().setProjectiles(2).setSpread(0.05F).setLife(60).setGrav(0.0D); + + flame_daybreaker_diesel = flame_diesel.clone().setLife(200).setVel(2F).setGrav(0.035D) + .setOnImpact((bullet, mop) -> { Lego.standardExplode(bullet, mop, 5F); spawnFire(bullet, mop, 6F, 2F, 200, EntityFireLingering.TYPE_DIESEL); bullet.setDead(); }); + flame_daybreaker_gas = flame_gas.clone().setLife(200).setVel(2F).setGrav(0.035D) + .setOnImpact((bullet, mop) -> { Lego.standardExplode(bullet, mop, 5F); bullet.setDead(); }); + flame_daybreaker_napalm = flame_napalm.clone().setLife(200).setVel(2F).setGrav(0.035D) + .setOnImpact((bullet, mop) -> { Lego.standardExplode(bullet, mop, 7.5F); spawnFire(bullet, mop, 6F, 2F, 300, EntityFireLingering.TYPE_DIESEL); bullet.setDead(); }); + flame_daybreaker_balefire = flame_balefire.clone().setLife(200).setVel(2F).setGrav(0.035D) + .setOnImpact((bullet, mop) -> { Lego.standardExplode(bullet, mop, 5F); spawnFire(bullet, mop, 7.5F, 2.5F, 400, EntityFireLingering.TYPE_BALEFIRE); bullet.setDead(); }); + + ModItems.gun_flamer = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(20_000).draw(10).inspect(17).crosshair(Crosshair.L_CIRCLE) + .rec(new Receiver(0) + .dmg(1F).spreadHipfire(0F).delay(1).auto(true).reload(90).jam(17) + .mag(new MagazineFullReload(0, 300).addConfigs(flame_diesel, flame_gas, flame_napalm, flame_balefire)) + .offset(0.75, -0.0625, -0.25D) + .setupStandardFire()) + .setupStandardConfiguration() + .anim(LAMBDA_FLAMER_ANIMS).orchestra(Orchestras.ORCHESTRA_FLAMER) + ).setUnlocalizedName("gun_flamer"); + ModItems.gun_flamer_topaz = new ItemGunBaseNT(WeaponQuality.B_SIDE, new GunConfig() + .dura(20_000).draw(10).inspect(17).crosshair(Crosshair.L_CIRCLE) + .rec(new Receiver(0) + .dmg(1.5F).spreadHipfire(0F).delay(1).auto(true).reload(90).jam(17) + .mag(new MagazineFullReload(0, 500).addConfigs(flame_topaz_diesel, flame_topaz_gas, flame_topaz_napalm, flame_topaz_balefire)) + .offset(0.75, -0.0625, -0.25D) + .setupStandardFire()) + .setupStandardConfiguration() + .anim(LAMBDA_FLAMER_ANIMS).orchestra(Orchestras.ORCHESTRA_FLAMER) + ).setUnlocalizedName("gun_flamer_topaz"); + ModItems.gun_flamer_daybreaker = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() + .dura(20_000).draw(10).inspect(17).crosshair(Crosshair.L_CIRCLE) + .rec(new Receiver(0) + .dmg(25F).spreadHipfire(0F).delay(10).auto(true).reload(90).jam(17).sound("hbm:weapon.fire.blackPowder", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 50).addConfigs(flame_daybreaker_diesel, flame_daybreaker_gas, flame_daybreaker_napalm, flame_daybreaker_balefire)) + .offset(0.75, -0.0625, -0.25D) + .setupStandardFire()) + .setupStandardConfiguration() + .anim(LAMBDA_FLAMER_ANIMS).orchestra(Orchestras.ORCHESTRA_FLAMER_DAYBREAKER) + ).setUnlocalizedName("gun_flamer_daybreaker"); + + ModItems.gun_chemthrower = new ItemGunChemthrower(WeaponQuality.A_SIDE, new GunConfig() + .dura(90_000).draw(10).inspect(17).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .delay(1).spreadHipfire(0F).auto(true) + .mag(new MagazineFluid(0, 3_000)) + .offset(0.75, -0.0625, -0.25D) + .canFire(ItemGunChemthrower.LAMBDA_CAN_FIRE).fire(ItemGunChemthrower.LAMBDA_FIRE)) + .pp(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) + .anim(LAMBDA_CHEMTHROWER_ANIMS).orchestra(Orchestras.ORCHESTRA_CHEMTHROWER) + ).setUnlocalizedName("gun_chemthrower"); + } + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_FLAMER_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(-45, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN)); + case RELOAD: return ResourceManager.flamethrower_anim.get("Reload"); + case INSPECT: + case JAMMED: return new BusAnimation() + .addBus("ROTATE", new BusAnimationSequence().addPos(0, 0, 45, 250, IType.SIN_FULL).addPos(0, 0, 45, 350).addPos(0, 0, -15, 150, IType.SIN_FULL).addPos(0, 0, 0, 100, IType.SIN_FULL)); + } + + return null; + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_CHEMTHROWER_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(-45, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN)); + } + + return null; + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryFolly.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryFolly.java new file mode 100644 index 000000000..793284b3d --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryFolly.java @@ -0,0 +1,157 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.List; +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.Consumer; + +import com.hbm.entity.effect.EntityNukeTorex; +import com.hbm.entity.logic.EntityNukeExplosionMK5; +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.entity.projectile.EntityBulletBeamBase; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.GunState; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret; +import com.hbm.items.weapon.sedna.mags.MagazineSingleReload; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; +import com.hbm.util.ContaminationUtil; +import com.hbm.util.EntityDamageUtil; +import com.hbm.util.Vec3NT; +import com.hbm.util.ContaminationUtil.ContaminationType; +import com.hbm.util.ContaminationUtil.HazardType; +import com.hbm.util.DamageResistanceHandler.DamageClass; + +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MovingObjectPosition; + +public class XFactoryFolly { + + public static BulletConfig folly_sm; + public static BulletConfig folly_nuke; + + public static Consumer LAMBDA_SM_UPDATE = (entity) -> { + if(entity.worldObj.isRemote) return; + EntityBulletBeamBase beam = (EntityBulletBeamBase) entity; + Vec3NT dir = new Vec3NT(beam.headingX, beam.headingY, beam.headingZ).normalizeSelf(); + + if(beam.ticksExisted < 50) { + double spacing = 10; + double dist = beam.ticksExisted * spacing; + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "plasmablast"); + data.setFloat("r", 0.75F); + data.setFloat("g", 0.75F); + data.setFloat("b", 0.75F); + data.setFloat("pitch", (float) beam.rotationPitch + 90); + data.setFloat("yaw", (float) -beam.rotationYaw); + data.setFloat("scale", 2F + beam.ticksExisted / (float)(beam.beamLength / spacing) * 3F); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, beam.posX + dir.xCoord * dist, beam.posY + dir.yCoord * dist, beam.posZ + dir.zCoord * dist), new TargetPoint(beam.dimension, beam.posX, beam.posY, beam.posZ, 250)); + } + + if(entity.ticksExisted != 2) return; + + if(beam.thrower != null) ContaminationUtil.contaminate(beam.thrower, HazardType.RADIATION, ContaminationType.CREATIVE, 150F); + + List entities = beam.worldObj.getEntitiesWithinAABBExcludingEntity(beam, beam.boundingBox.addCoord(beam.headingX, beam.headingY, beam.headingZ).expand(1.0D, 1.0D, 1.0D)); + + for(int i = 1; i < beam.beamLength; i += 2) { + int x = (int) Math.floor(beam.posX + dir.xCoord * i); + int y = (int) Math.floor(beam.posY + dir.yCoord * i); + int z = (int) Math.floor(beam.posZ + dir.zCoord * i); + + for(int ix = x - 1; ix <= x + 1; ix++) for(int iy = y - 1; iy <= y + 1; iy++) for(int iz = z - 1; iz <= z + 1; iz++) { + if(iy > 0 && iy < 256) beam.worldObj.setBlock(ix, iy, iz, Blocks.air); + AxisAlignedBB aabb = AxisAlignedBB.getBoundingBox(ix - 1, iy - 1, iz - 1, ix + 2, iy + 2, iz + 2); + for(Entity e : entities) if(e != beam.thrower && e.boundingBox.intersectsWith(aabb)) { + if(e instanceof EntityLivingBase) EntityDamageUtil.attackEntityFromNT((EntityLivingBase) e, beam.config.getDamage(beam, beam.thrower, beam.config.dmgClass), beam.damage, true, false, 0D, 100F, 0.99F); + else EntityDamageUtil.attackEntityFromIgnoreIFrame(e, beam.config.getDamage(beam, beam.thrower, beam.config.dmgClass), beam.damage); + } + } + } + }; + + public static BiConsumer LAMBDA_NUKE_IMPACT = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 2) return; + if(bullet.isDead) return; + bullet.setDead(); + bullet.worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(bullet.worldObj, 100, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord)); + EntityNukeTorex.statFacStandard(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 100); + }; + + public static void init() { + + folly_sm = new BulletConfig().setItem(EnumAmmoSecret.FOLLY_SM).setupDamageClass(DamageClass.SUBATOMIC).setBeam().setLife(100).setVel(2F).setGrav(0.015D).setRenderRotations(false).setSpectral(true).setDoesPenetrate(true) + .setOnUpdate(LAMBDA_SM_UPDATE); + folly_nuke = new BulletConfig().setItem(EnumAmmoSecret.FOLLY_NUKE).setChunkloading().setLife(600).setVel(4F).setGrav(0.015D) + .setOnImpact(LAMBDA_NUKE_IMPACT); + + ModItems.gun_folly = new ItemGunBaseNT(WeaponQuality.SECRET, new GunConfig() + .dura(0).draw(40).crosshair(Crosshair.NONE) + .rec(new Receiver(0) + .dmg(1_000F).delay(26).dryfire(false).reload(160).jam(0).sound("hbm:weapon.fire.loudestNoiseOnEarth", 100.0F, 1.0F) + .mag(new MagazineSingleReload(0, 1).addConfigs(folly_sm, folly_nuke)) + .offset(0.75, -0.0625, -0.1875D).offsetScoped(0.75, -0.0625, -0.125D) + .canFire(LAMBDA_CAN_FIRE).fire(LAMBDA_FIRE).recoil(LAMBDA_RECOIL_FOLLY)) + .setupStandardConfiguration().pt(LAMBDA_TOGGLE_AIM) + .anim(LAMBDA_FOLLY_ANIMS).orchestra(Orchestras.ORCHESTRA_FOLLY) + ).setUnlocalizedName("gun_folly"); + } + + public static BiConsumer LAMBDA_TOGGLE_AIM = (stack, ctx) -> { + if(ItemGunBaseNT.getState(stack, ctx.configIndex) == GunState.IDLE) { + boolean wasAiming = ItemGunBaseNT.getIsAiming(stack); + ItemGunBaseNT.setIsAiming(stack, !wasAiming); + if(!wasAiming) ItemGunBaseNT.playAnimation(ctx.getPlayer(), stack, AnimType.SPINUP, ctx.configIndex); + } + }; + + public static BiConsumer LAMBDA_FIRE = (stack, ctx) -> { + Lego.doStandardFire(stack, ctx, AnimType.CYCLE, false); + }; + + public static BiFunction LAMBDA_CAN_FIRE = (stack, ctx) -> { + if(!ItemGunBaseNT.getIsAiming(stack)) return false; + if(ItemGunBaseNT.getLastAnim(stack, ctx.configIndex) != AnimType.SPINUP) return false; + if(ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex) < 100) return false; + return ctx.config.getReceivers(stack)[0].getMagazine(stack).getAmount(stack, ctx.inventory) > 0; + }; + + public static BiConsumer LAMBDA_RECOIL_FOLLY = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil(25, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5)); + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_FOLLY_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(-60, 0, 0, 0).addPos(5, 0, 0, 1500, IType.SIN_DOWN).addPos(0, 0, 0, 500, IType.SIN_FULL)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, -4.5, 50).addPos(0, 0, -4.5, 500).addPos(0, 0, 0, 500, IType.SIN_UP)) + .addBus("LOAD", new BusAnimationSequence().addPos(0, 0, 0, 50).addPos(-25, 0, 0, 250, IType.SIN_DOWN).addPos(0, 0, 0, 1000, IType.SIN_FULL)); + case RELOAD: return new BusAnimation() + .addBus("LOAD", new BusAnimationSequence().addPos(60, 0, 0, 1000, IType.SIN_FULL).addPos(60, 0, 0, 6000).addPos(0, 0, 0, 1000, IType.SIN_FULL)) + .addBus("SCREW", new BusAnimationSequence().addPos(0, 0, 0, 1000).addPos(0, 0, -135, 1000, IType.SIN_FULL).addPos(0, 0, -135, 4000).addPos(0, 0, 0, 1000, IType.SIN_FULL)) + .addBus("BREECH", new BusAnimationSequence().addPos(0, 0, 0, 1000).addPos(0, 0, -0.5, 1000, IType.SIN_FULL).addPos(0, -4, -0.5, 1000, IType.SIN_FULL).addPos(0, -4, -0.5, 2000).addPos(0, 0, -0.5, 1000, IType.SIN_FULL).addPos(0, 0, 0, 1000, IType.SIN_FULL)) + .addBus("SHELL", new BusAnimationSequence().addPos(0, -4, -4.5, 0).addPos(0, -4, -4.5, 3000).addPos(0, 0, -4.5, 1000, IType.SIN_FULL).addPos(0, 0, 0, 500, IType.SIN_UP)); + } + + return null; + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryRocket.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryRocket.java new file mode 100644 index 000000000..a70a284d5 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryRocket.java @@ -0,0 +1,278 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.Consumer; + +import com.hbm.entity.effect.EntityFireLingering; +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard; +import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; +import com.hbm.explosion.vanillant.standard.EntityProcessorCrossSmooth; +import com.hbm.explosion.vanillant.standard.ExplosionEffectWeapon; +import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.impl.ItemGunStinger; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.items.weapon.sedna.mags.MagazineSingleReload; +import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; +import com.hbm.util.EntityDamageUtil; +import com.hbm.util.DamageResistanceHandler.DamageClass; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class XFactoryRocket { + + public static BulletConfig[] rocket_template; + + public static BulletConfig[] rocket_rpzb; + public static BulletConfig[] rocket_qd; + public static BulletConfig[] rocket_ml; + + // FLYING + public static Consumer LAMBDA_STANDARD_ACCELERATE = (entity) -> { + EntityBulletBaseMK4 bullet = (EntityBulletBaseMK4) entity; + if(bullet.accel < 7) bullet.accel += 0.4D; + }; + public static Consumer LAMBDA_STEERING_ACCELERATE = (entity) -> { + EntityBulletBaseMK4 bullet = (EntityBulletBaseMK4) entity; + if(bullet.accel < 4) bullet.accel += 0.4D; + if(bullet.getThrower() == null || !(bullet.getThrower() instanceof EntityPlayer)) return; + + EntityPlayer player = (EntityPlayer) bullet.getThrower(); + if(Vec3.createVectorHelper(bullet.posX - player.posX, bullet.posY - player.posY, bullet.posZ - player.posZ).lengthVector() > 100) return; + if(player.getHeldItem() == null || !(player.getHeldItem().getItem() instanceof ItemGunBaseNT) || !ItemGunBaseNT.getIsAiming(player.getHeldItem())) return; + + MovingObjectPosition mop = Library.rayTrace(player, 200, 1); + if(mop == null || mop.hitVec == null) return; + + Vec3 vec = Vec3.createVectorHelper(mop.hitVec.xCoord - bullet.posX, mop.hitVec.yCoord - bullet.posY, mop.hitVec.zCoord - bullet.posZ); + if(vec.lengthVector() < 3) return; + vec = vec.normalize(); + + double speed = Vec3.createVectorHelper(bullet.motionX, bullet.motionY, bullet.motionZ).lengthVector(); + bullet.motionX = vec.xCoord * speed; + bullet.motionY = vec.yCoord * speed; + bullet.motionZ = vec.zCoord * speed; + }; + + // IMPACT + public static BiConsumer LAMBDA_STANDARD_EXPLODE = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3) return; + Lego.standardExplode(bullet, mop, 5F); bullet.setDead(); + }; + public static BiConsumer LAMBDA_STANDARD_EXPLODE_HEAT = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3) return; + Lego.standardExplode(bullet, mop, 3.5F); bullet.setDead(); + if(mop.typeOfHit == mop.typeOfHit.ENTITY && mop.entityHit instanceof EntityLivingBase) { + EntityLivingBase living = (EntityLivingBase) mop.entityHit; + EntityDamageUtil.attackEntityFromNT(living, bullet.config.getDamage(bullet, bullet.getThrower(), DamageClass.EXPLOSIVE), bullet.damage * 3F, true, true, 0.5F, 5F, 0.2F); + } else if(mop.typeOfHit == mop.typeOfHit.ENTITY) { + mop.entityHit.attackEntityFrom(bullet.config.getDamage(bullet, bullet.getThrower(), DamageClass.EXPLOSIVE), bullet.damage * 3F); + } + }; + public static BiConsumer LAMBDA_STANDARD_EXPLODE_DEMO = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3) return; + ExplosionVNT vnt = new ExplosionVNT(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 5F, bullet.getThrower()); + vnt.setBlockAllocator(new BlockAllocatorStandard()); + vnt.setBlockProcessor(new BlockProcessorStandard()); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, bullet.damage)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.setSFX(new ExplosionEffectWeapon(10, 2.5F, 1F)); + vnt.explode(); + bullet.setDead(); + }; + public static BiConsumer LAMBDA_STANDARD_EXPLODE_INC = (bullet, mop) -> { + spawnFire(bullet, mop, false, 300); + }; + public static BiConsumer LAMBDA_STANDARD_EXPLODE_PHOSPHORUS = (bullet, mop) -> { + spawnFire(bullet, mop, true, 600); + }; + + public static void spawnFire(EntityBulletBaseMK4 bullet, MovingObjectPosition mop, boolean phosphorus, int duration) { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3) return; + World world = bullet.worldObj; + Lego.standardExplode(bullet, mop, 3F); + EntityFireLingering fire = new EntityFireLingering(world).setArea(6, 2).setDuration(duration).setType(phosphorus ? EntityFireLingering.TYPE_PHOSPHORUS : EntityFireLingering.TYPE_DIESEL); + fire.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); + world.spawnEntityInWorld(fire); + bullet.setDead(); + for(int dx = -2; dx <= 2; dx++) { + for(int dy = -2; dy <= 2; dy++) { + for(int dz = -2; dz <= 2; dz++) { + int x = (int) Math.floor(mop.hitVec.xCoord) + dx; + int y = (int) Math.floor(mop.hitVec.yCoord) + dy; + int z = (int) Math.floor(mop.hitVec.zCoord) + dz; + if(world.getBlock(x, y, z).isAir(bullet.worldObj, x, y, z)) for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + if(world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ).isFlammable(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir.getOpposite())) { + world.setBlock(x, y, z, Blocks.fire); + break; + } + } + } + } + } + } + + public static BulletConfig makeRPZB(BulletConfig original) { return original.clone(); } + public static BulletConfig makeQD(BulletConfig original) { return original.clone().setLife(400).setOnUpdate(LAMBDA_STEERING_ACCELERATE); } + public static BulletConfig makeML(BulletConfig original) { return original.clone(); } + + //this is starting to get messy but we need to put this crap *somewhere* and fragmenting it into a billion classes with two methods each just isn't gonna help + public static void init() { + + rocket_template = new BulletConfig[5]; + + BulletConfig baseRocket = new BulletConfig().setLife(300).setSelfDamageDelay(10).setVel(0F).setGrav(0D).setOnEntityHit(null).setOnRicochet(null).setOnUpdate(LAMBDA_STANDARD_ACCELERATE); + + rocket_template[0] = baseRocket.clone().setItem(EnumAmmo.ROCKET_HE).setOnImpact(LAMBDA_STANDARD_EXPLODE); + rocket_template[1] = baseRocket.clone().setItem(EnumAmmo.ROCKET_HEAT).setDamage(0.5F).setOnImpact(LAMBDA_STANDARD_EXPLODE_HEAT); + rocket_template[2] = baseRocket.clone().setItem(EnumAmmo.ROCKET_DEMO).setDamage(0.75F).setOnImpact(LAMBDA_STANDARD_EXPLODE_DEMO); + rocket_template[3] = baseRocket.clone().setItem(EnumAmmo.ROCKET_INC).setDamage(0.75F).setOnImpact(LAMBDA_STANDARD_EXPLODE_INC); + rocket_template[4] = baseRocket.clone().setItem(EnumAmmo.ROCKET_PHOSPHORUS).setDamage(0.75F).setOnImpact(LAMBDA_STANDARD_EXPLODE_PHOSPHORUS); + + rocket_rpzb = new BulletConfig[rocket_template.length]; + rocket_qd = new BulletConfig[rocket_template.length]; + rocket_ml = new BulletConfig[rocket_template.length]; + + for(int i = 0; i < rocket_template.length; i++) { + rocket_rpzb[i] = makeRPZB(rocket_template[i]); + rocket_qd[i] = makeQD(rocket_template[i]); + rocket_ml[i] = makeML(rocket_template[i]); + } + + ModItems.gun_panzerschreck = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(300).draw(7).inspect(40).crosshair(Crosshair.L_CIRCUMFLEX) + .rec(new Receiver(0) + .dmg(25F).delay(5).reload(50).jam(40).sound("hbm:weapon.rpgShoot", 1.0F, 1.0F) + .mag(new MagazineSingleReload(0, 1).addConfigs(rocket_rpzb)) + .offset(1, -0.0625 * 1.5, -0.1875D) + .setupStandardFire().recoil(LAMBDA_RECOIL_ROCKET)) + .setupStandardConfiguration() + .anim(LAMBDA_PANZERSCHRECK_ANIMS).orchestra(Orchestras.ORCHESTRA_PANERSCHRECK) + ).setUnlocalizedName("gun_panzerschreck"); + + ModItems.gun_stinger = new ItemGunStinger(WeaponQuality.A_SIDE, new GunConfig() + .dura(300).draw(7).inspect(40).crosshair(Crosshair.L_BOX_OUTLINE) + .rec(new Receiver(0) + .dmg(35F).delay(5).reload(50).jam(40).sound("hbm:weapon.rpgShoot", 1.0F, 1.0F) + .mag(new MagazineSingleReload(0, 1).addConfigs(rocket_rpzb)) + .offset(1, -0.0625 * 1.5, -0.1875D) + .setupLockonFire().recoil(LAMBDA_RECOIL_ROCKET)) + .setupStandardConfiguration().ps(LAMBDA_STINGER_SECONDARY_PRESS).rs(LAMBDA_STINGER_SECONDARY_RELEASE) + .anim(LAMBDA_PANZERSCHRECK_ANIMS).orchestra(Orchestras.ORCHESTRA_STINGER) + ).setUnlocalizedName("gun_stinger"); + + ModItems.gun_quadro = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(400).draw(7).inspect(40).crosshair(Crosshair.L_CIRCUMFLEX).hideCrosshair(false) + .rec(new Receiver(0) + .dmg(40F).spreadHipfire(0F).delay(10).reload(55).jam(40).sound("hbm:weapon.rpgShoot", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 4).addConfigs(rocket_qd)) + .offset(1, -0.0625 * 1.5, -0.1875D) + .setupStandardFire().recoil(LAMBDA_RECOIL_ROCKET)) + .setupStandardConfiguration() + .anim(LAMBDA_QUADRO_ANIMS).orchestra(Orchestras.ORCHESTRA_QUADRO) + ).setUnlocalizedName("gun_quadro"); + + ModItems.gun_missile_launcher = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() + .dura(500).draw(20).inspect(40).crosshair(Crosshair.L_CIRCUMFLEX).hideCrosshair(false) + .rec(new Receiver(0) + .dmg(50F).spreadHipfire(0F).delay(5).reload(48).jam(33).sound("hbm:weapon.rpgShoot", 1.0F, 1.0F) + .mag(new MagazineSingleReload(0, 1).addConfigs(rocket_ml)) + .offset(1, -0.0625 * 1.5, -0.1875D) + .setupStandardFire().recoil(LAMBDA_RECOIL_ROCKET)) + .setupStandardConfiguration().pp(LAMBDA_MISSILE_LAUNCHER_PRIMARY_PRESS) + .anim(LAMBDA_MISSILE_LAUNCHER_ANIMS).orchestra(Orchestras.ORCHESTRA_MISSILE_LAUNCHER) + ).setUnlocalizedName("gun_missile_launcher"); + } + + public static BiConsumer LAMBDA_STINGER_SECONDARY_PRESS = (stack, ctx) -> { ItemGunStinger.setIsLockingOn(stack, true); }; + public static BiConsumer LAMBDA_STINGER_SECONDARY_RELEASE = (stack, ctx) -> { ItemGunStinger.setIsLockingOn(stack, false); }; + + public static BiConsumer LAMBDA_MISSILE_LAUNCHER_PRIMARY_PRESS = (stack, ctx) -> { + if(ItemGunBaseNT.getIsAiming(stack)) { + int target = ItemGunStinger.getLockonTarget(ctx.getPlayer(), 150D, 20D); + if(target != -1) { + ItemGunBaseNT.setLockonTarget(stack, target); + ItemGunBaseNT.setIsLockedOn(stack, true); + } + } + Lego.LAMBDA_STANDARD_CLICK_PRIMARY.accept(stack, ctx); + ItemGunBaseNT.setIsLockedOn(stack, false); + }; + + public static BiConsumer LAMBDA_RECOIL_ROCKET = (stack, ctx) -> { }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_PANZERSCHRECK_ANIMS = (stack, type) -> { + boolean empty = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory) <= 0; + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN)); + case RELOAD: return new BusAnimation() + .addBus("RELOAD", new BusAnimationSequence().addPos(90, 0, 0, 750, IType.SIN_FULL).addPos(90, 0, 0, 1000).addPos(0, 0, 0, 750, IType.SIN_FULL)) + .addBus("ROCKET", new BusAnimationSequence().addPos(0, -3, -6, 0).addPos(0, -3, -6, 750).addPos(0, 0, -6.5, 500, IType.SIN_DOWN).addPos(0, 0, 0, 350, IType.SIN_UP)); + case JAMMED: empty = false; + case INSPECT: + return new BusAnimation() + .addBus("RELOAD", new BusAnimationSequence().addPos(90, 0, 0, 750, IType.SIN_FULL).addPos(90, 0, 0, 500).addPos(0, 0, 0, 750, IType.SIN_FULL)) + .addBus("ROCKET", new BusAnimationSequence().addPos(0, empty ? -3 : 0, 0, 0)); + } + return null; + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_QUADRO_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, -0.5, 50).addPos(0, 0, 0, 50)); + case RELOAD: return new BusAnimation() + .addBus("RELOAD_ROTATE", new BusAnimationSequence().addPos(0, 0, 60, 500, IType.SIN_FULL).addPos(0, 0, 60, 1500).addPos(0, 0, 0, 750, IType.SIN_FULL)) + .addBus("RELOAD_PUSH", new BusAnimationSequence().addPos(-1, -1, 0, 0).addPos(-1, -1, 0, 500).addPos(-1, 0, 0, 350).addPos(0, 0, 0, 1000)); + case JAMMED: + case INSPECT: return new BusAnimation() + .addBus("RELOAD_ROTATE", new BusAnimationSequence().addPos(0, 0, 60, 750, IType.SIN_FULL).addPos(0, 0, 60, 500).addPos(0, 0, 0, 750, IType.SIN_FULL)); + } + return null; + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_MISSILE_LAUNCHER_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 1000, IType.SIN_DOWN)); + case RELOAD: return new BusAnimation() + .addBus("BARREL", new BusAnimationSequence().addPos(0, 0, 1.5, 150).addPos(0, 0, 1.5, 2100).addPos(0, 0, 0, 150)) + .addBus("OPEN", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(90, 0, 0, 500, IType.SIN_FULL).addPos(90, 0, 0, 1000).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("EQUIP", new BusAnimationSequence().addPos(0, 0, 0, 2250).addPos(-1, 0, 0, 150, IType.SIN_DOWN).addPos(0, 0, 0, 150, IType.SIN_UP)) + .addBus("MISSILE", new BusAnimationSequence().addPos(-10, 0, 0, 0).addPos(-10, 0, 0, 750).addPos(3, 0, 2, 0).addPos(0, 0, -6, 350, IType.SIN_FULL).addPos(0, 0, 0, 350, IType.SIN_UP)); + case JAMMED: + case INSPECT: return new BusAnimation() + .addBus("BARREL", new BusAnimationSequence().addPos(0, 0, 1.5, 150).addPos(0, 0, 1.5, 1350).addPos(0, 0, 0, 150)) + .addBus("OPEN", new BusAnimationSequence().addPos(0, 0, 0, 250).addPos(90, 0, 0, 500, IType.SIN_FULL).addPos(90, 0, 0, 250).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("EQUIP", new BusAnimationSequence().addPos(0, 0, 0, 1500).addPos(-1, 0, 0, 150, IType.SIN_DOWN).addPos(0, 0, 0, 150, IType.SIN_UP)); + } + return null; + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryTool.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryTool.java new file mode 100644 index 000000000..91cb0f688 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryTool.java @@ -0,0 +1,301 @@ +package com.hbm.items.weapon.sedna.factory; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.Consumer; + +import com.hbm.blocks.ModBlocks; +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.BlockAllocatorBulkie; +import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard; +import com.hbm.explosion.vanillant.standard.BlockMutatorDebris; +import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; +import com.hbm.explosion.vanillant.standard.EntityProcessorCrossSmooth; +import com.hbm.explosion.vanillant.standard.ExplosionEffectWeapon; +import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; +import com.hbm.items.weapon.sedna.impl.ItemGunChargeThrower; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.particle.helper.ExplosionCreator; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; +import com.hbm.tileentity.IRepairable; +import com.hbm.tileentity.IRepairable.EnumExtinguishType; +import com.hbm.util.CompatExternal; +import com.hbm.util.Vec3NT; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.common.util.ForgeDirection; + +public class XFactoryTool { + + public static final ResourceLocation scope = new ResourceLocation(RefStrings.MODID, "textures/misc/scope_tool.png"); + + public static BulletConfig fext_water; + public static BulletConfig fext_foam; + public static BulletConfig fext_sand; + + public static BulletConfig ct_hook; + public static BulletConfig ct_mortar; + public static BulletConfig ct_mortar_charge; + + public static BiConsumer LAMBDA_WATER_HIT = (bullet, mop) -> { + if(!bullet.worldObj.isRemote) { + int ix = mop.blockX; + int iy = mop.blockY; + int iz = mop.blockZ; + boolean fizz = false; + for(int i = -1; i <= 1; i++) for(int j = -1; j <= 1; j++) for(int k = -1; k <= 1; k++) { + Block block = bullet.worldObj.getBlock(ix + i, iy + j, iz + k); + if(block == Blocks.fire || block == ModBlocks.foam_layer || block == ModBlocks.block_foam) { + bullet.worldObj.setBlock(ix + i, iy + j, iz + k, Blocks.air); + fizz = true; + } + } + TileEntity core = CompatExternal.getCoreFromPos(bullet.worldObj, ix, iy, iz); + if(core instanceof IRepairable) ((IRepairable) core).tryExtinguish(bullet.worldObj, ix, iy, iz, EnumExtinguishType.WATER); + if(fizz) bullet.worldObj.playSoundEffect(bullet.posX, bullet.posY, bullet.posZ, "random.fizz", 1.0F, 1.5F + bullet.worldObj.rand.nextFloat() * 0.5F); + bullet.setDead(); + } + }; + + public static Consumer LAMBDA_WATER_UPDATE = (bullet) -> { + if(bullet.worldObj.isRemote) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "vanillaExt"); + data.setString("mode", "blockdust"); + data.setInteger("block", Block.getIdFromBlock(Blocks.water)); + data.setDouble("posX", bullet.posX); data.setDouble("posY", bullet.posY); data.setDouble("posZ", bullet.posZ); + data.setDouble("mX", bullet.motionX + bullet.worldObj.rand.nextGaussian() * 0.05); + data.setDouble("mY", bullet.motionY - 0.2 + bullet.worldObj.rand.nextGaussian() * 0.05); + data.setDouble("mZ", bullet.motionZ + bullet.worldObj.rand.nextGaussian() * 0.05); + MainRegistry.proxy.effectNT(data); + } else { + int x = (int)Math.floor(bullet.posX); + int y = (int)Math.floor(bullet.posY); + int z = (int)Math.floor(bullet.posZ); + if(bullet.worldObj.getBlock(x, y, z) == ModBlocks.volcanic_lava_block && bullet.worldObj.getBlockMetadata(x, y, z) == 0) { + bullet.worldObj.setBlock(x, y, z, Blocks.obsidian); + bullet.setDead(); + } + } + }; + + public static BiConsumer LAMBDA_FOAM_HIT = (bullet, mop) -> { + if(!bullet.worldObj.isRemote) { + int ix = mop.blockX; + int iy = mop.blockY; + int iz = mop.blockZ; + boolean fizz = false; + for(int i = -1; i <= 1; i++) for(int j = -1; j <= 1; j++) for(int k = -1; k <= 1; k++) { + Block b = bullet.worldObj.getBlock(ix + i, iy + j, iz + k); + if(b.getMaterial() == Material.fire) { + bullet.worldObj.setBlock(ix + i, iy + j, iz + k, Blocks.air); + fizz = true; + } + } + TileEntity core = CompatExternal.getCoreFromPos(bullet.worldObj, ix, iy, iz); + if(core instanceof IRepairable) { ((IRepairable) core).tryExtinguish(bullet.worldObj, ix, iy, iz, EnumExtinguishType.FOAM); return; } + if(bullet.worldObj.rand.nextBoolean()) { + ForgeDirection dir = ForgeDirection.getOrientation(mop.sideHit); + ix += dir.offsetX; iy += dir.offsetY; iz += dir.offsetZ; + } + Block b = bullet.worldObj.getBlock(ix, iy, iz); + if(b.isReplaceable(bullet.worldObj, ix, iy, iz) && ModBlocks.foam_layer.canPlaceBlockAt(bullet.worldObj, ix, iy, iz)) { + if(b != ModBlocks.foam_layer) { + bullet.worldObj.setBlock(ix, iy, iz, ModBlocks.foam_layer); + } else { + int meta = bullet.worldObj.getBlockMetadata(ix, iy, iz); + if(meta < 6) bullet.worldObj.setBlockMetadataWithNotify(ix, iy, iz, meta + 1, 3); + else bullet.worldObj.setBlock(ix, iy, iz, ModBlocks.block_foam); + } + } + if(fizz) bullet.worldObj.playSoundEffect(bullet.posX, bullet.posY, bullet.posZ, "random.fizz", 1.0F, 1.5F + bullet.worldObj.rand.nextFloat() * 0.5F); + } + }; + + public static Consumer LAMBDA_FOAM_UPDATE = (bullet) -> { + if(bullet.worldObj.isRemote) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "vanillaExt"); + data.setString("mode", "blockdust"); + data.setInteger("block", Block.getIdFromBlock(ModBlocks.block_foam)); + data.setDouble("posX", bullet.posX); data.setDouble("posY", bullet.posY); data.setDouble("posZ", bullet.posZ); + data.setDouble("mX", bullet.motionX + bullet.worldObj.rand.nextGaussian() * 0.1); + data.setDouble("mY", bullet.motionY - 0.2 + bullet.worldObj.rand.nextGaussian() * 0.1); + data.setDouble("mZ", bullet.motionZ + bullet.worldObj.rand.nextGaussian() * 0.1); + MainRegistry.proxy.effectNT(data); + } + }; + + public static BiConsumer LAMBDA_SAND_HIT = (bullet, mop) -> { + if(!bullet.worldObj.isRemote) { + int ix = mop.blockX; + int iy = mop.blockY; + int iz = mop.blockZ; + TileEntity core = CompatExternal.getCoreFromPos(bullet.worldObj, ix, iy, iz); + if(core instanceof IRepairable) { ((IRepairable) core).tryExtinguish(bullet.worldObj, ix, iy, iz, EnumExtinguishType.SAND); return; } + if(bullet.worldObj.rand.nextBoolean()) { + ForgeDirection dir = ForgeDirection.getOrientation(mop.sideHit); + ix += dir.offsetX; iy += dir.offsetY; iz += dir.offsetZ; + } + Block b = bullet.worldObj.getBlock(ix, iy, iz); + if((b.isReplaceable(bullet.worldObj, ix, iy, iz) || b == ModBlocks.sand_boron_layer) && ModBlocks.sand_boron_layer.canPlaceBlockAt(bullet.worldObj, ix, iy, iz)) { + if(b != ModBlocks.sand_boron_layer) { + bullet.worldObj.setBlock(ix, iy, iz, ModBlocks.sand_boron_layer); + } else { + int meta = bullet.worldObj.getBlockMetadata(ix, iy, iz); + if(meta < 6) bullet.worldObj.setBlockMetadataWithNotify(ix, iy, iz, meta + 1, 3); + else bullet.worldObj.setBlock(ix, iy, iz, ModBlocks.sand_boron); + } + if(b.getMaterial() == Material.fire) bullet.worldObj.playSoundEffect(bullet.posX, bullet.posY, bullet.posZ, "random.fizz", 1.0F, 1.5F + bullet.worldObj.rand.nextFloat() * 0.5F); + } + } + }; + + public static Consumer LAMBDA_SAND_UPDATE = (bullet) -> { + if(bullet.worldObj.isRemote) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "vanillaExt"); + data.setString("mode", "blockdust"); + data.setInteger("block", Block.getIdFromBlock(ModBlocks.sand_boron)); + data.setDouble("posX", bullet.posX); data.setDouble("posY", bullet.posY); data.setDouble("posZ", bullet.posZ); + data.setDouble("mX", bullet.motionX + bullet.worldObj.rand.nextGaussian() * 0.1); + data.setDouble("mY", bullet.motionY - 0.2 + bullet.worldObj.rand.nextGaussian() * 0.1); + data.setDouble("mZ", bullet.motionZ + bullet.worldObj.rand.nextGaussian() * 0.1); + MainRegistry.proxy.effectNT(data); + } + }; + + public static Consumer LAMBDA_SET_HOOK = (entity) -> { + EntityBulletBaseMK4 bullet = (EntityBulletBaseMK4) entity; + if(!bullet.worldObj.isRemote && bullet.ticksExisted < 2 && bullet.getThrower() instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) bullet.getThrower(); + if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.gun_charge_thrower) { + ItemGunChargeThrower.setLastHook(player.getHeldItem(), bullet.getEntityId()); + } + } + bullet.ignoreFrustumCheck = true; + }; + + public static BiConsumer LAMBDA_HOOK = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.BLOCK) { + Vec3NT vec = new Vec3NT(-bullet.motionX, -bullet.motionY, -bullet.motionZ).normalizeSelf().multiply(0.05); + bullet.setPosition(mop.hitVec.xCoord + vec.xCoord, mop.hitVec.yCoord + vec.yCoord, mop.hitVec.zCoord + vec.zCoord); + bullet.getStuck(mop.blockX, mop.blockY, mop.blockZ, mop.sideHit); + } + }; + + public static BiConsumer LAMBDA_MORTAR = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3 && mop.entityHit == bullet.getThrower()) return; + ExplosionVNT vnt = new ExplosionVNT(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 5, bullet.getThrower()); + vnt.setBlockAllocator(new BlockAllocatorBulkie(60, 8)); + vnt.setBlockProcessor(new BlockProcessorStandard()); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, bullet.damage).setupPiercing(bullet.config.armorThresholdNegation, bullet.config.armorPiercingPercent)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.setSFX(new ExplosionEffectWeapon(10, 2.5F, 1F)); + vnt.explode(); + bullet.setDead(); + }; + + public static BiConsumer LAMBDA_MORTAR_CHARGE = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3 && mop.entityHit == bullet.getThrower()) return; + ExplosionVNT vnt = new ExplosionVNT(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 15, bullet.getThrower()); + vnt.setBlockAllocator(new BlockAllocatorStandard()); + vnt.setBlockProcessor(new BlockProcessorStandard().setNoDrop().withBlockEffect(new BlockMutatorDebris(ModBlocks.block_slag, 1))); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, bullet.damage).setupPiercing(bullet.config.armorThresholdNegation, bullet.config.armorPiercingPercent)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + ExplosionCreator.composeEffectSmall(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord + 0.5, mop.hitVec.zCoord); + vnt.explode(); + bullet.setDead(); + }; + + public static void init() { + + fext_water = new BulletConfig().setItem(new ItemStack(ModItems.ammo_fireext, 1, 0)).setReloadCount(300).setLife(100).setVel(0.75F).setGrav(0.04D).setSpread(0.025F) + .setOnUpdate(LAMBDA_WATER_UPDATE) + .setOnEntityHit((bulletEntity, target) -> { if(target.entityHit != null) target.entityHit.extinguish(); }) + .setOnRicochet(LAMBDA_WATER_HIT); + fext_foam = new BulletConfig().setItem(new ItemStack(ModItems.ammo_fireext, 1, 1)).setReloadCount(300).setLife(100).setVel(0.75F).setGrav(0.04D).setSpread(0.05F) + .setOnUpdate(LAMBDA_FOAM_UPDATE) + .setOnEntityHit((bulletEntity, target) -> { if(target.entityHit != null) target.entityHit.extinguish(); }) + .setOnRicochet(LAMBDA_FOAM_HIT); + fext_sand = new BulletConfig().setItem(new ItemStack(ModItems.ammo_fireext, 1, 1)).setReloadCount(300).setLife(100).setVel(0.75F).setGrav(0.04D).setSpread(0.05F) + .setOnUpdate(LAMBDA_SAND_UPDATE) + .setOnEntityHit((bulletEntity, target) -> { if(target.entityHit != null) target.entityHit.extinguish(); }) + .setOnRicochet(LAMBDA_SAND_HIT); + + ct_hook = new BulletConfig().setItem(EnumAmmo.CT_HOOK).setRenderRotations(false).setLife(6_000).setVel(3F).setGrav(0.035D).setDoesPenetrate(true).setDamageFalloffByPen(false) + .setOnUpdate(LAMBDA_SET_HOOK).setOnImpact(LAMBDA_HOOK); + ct_mortar = new BulletConfig().setItem(EnumAmmo.CT_MORTAR).setDamage(2.5F).setLife(200).setVel(3F).setGrav(0.035D) + .setOnImpact(LAMBDA_MORTAR); + ct_mortar_charge = new BulletConfig().setItem(EnumAmmo.CT_MORTAR_CHARGE).setDamage(5F).setLife(200).setVel(3F).setGrav(0.035D) + .setOnImpact(LAMBDA_MORTAR_CHARGE); + + ModItems.gun_fireext = new ItemGunBaseNT(WeaponQuality.UTILITY, new GunConfig() + .dura(5_000).draw(10).inspect(55).reloadChangeType(true).hideCrosshair(false).crosshair(Crosshair.L_CIRCLE) + .rec(new Receiver(0) + .dmg(0F).delay(1).dry(0).auto(true).spread(0F).spreadHipfire(0F).reload(20).jam(0).sound("hbm:weapon.extinguisher", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 300).addConfigs(fext_water, fext_foam, fext_sand)) + .offset(1, -0.0625 * 2.5, -0.25D) + .setupStandardFire()) + .setupStandardConfiguration() + .orchestra(Orchestras.ORCHESTRA_FIREEXT) + ).setUnlocalizedName("gun_fireext"); + + ModItems.gun_charge_thrower = new ItemGunChargeThrower(WeaponQuality.UTILITY, new GunConfig() + .dura(3_000).draw(10).inspect(55).reloadChangeType(true).hideCrosshair(false).crosshair(Crosshair.L_CIRCUMFLEX) + .rec(new Receiver(0) + .dmg(10F).delay(4).dry(10).auto(true).spread(0F).spreadHipfire(0F).reload(60).jam(0).sound("hbm:weapon.fire.grenade", 1.0F, 1.0F) + .mag(new MagazineFullReload(0, 1).addConfigs(ct_hook, ct_mortar, ct_mortar_charge)) + .offset(1, -0.0625 * 2.5, -0.25D) + .setupStandardFire().recoil(LAMBDA_RECOIL_CT)) + .setupStandardConfiguration() + .anim(LAMBDA_CT_ANIMS).orchestra(Orchestras.ORCHESTRA_CHARGE_THROWER) + ).setUnlocalizedName("gun_charge_thrower"); + } + + public static BiConsumer LAMBDA_RECOIL_CT = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil(10, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5)); + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_CT_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation() + .addBus("EQUIP", new BusAnimationSequence().addPos(-45, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN)); + case CYCLE: return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, -1, 100, IType.SIN_DOWN).addPos(0, 0, 0, 250, IType.SIN_FULL)); + case RELOAD: return new BusAnimation() + .addBus("RAISE", new BusAnimationSequence().addPos(-45, 0, 0, 500, IType.SIN_FULL).hold(2000).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("AMMO", new BusAnimationSequence().setPos(0, -10, -5).hold(500).addPos(0, 0, 5, 750, IType.SIN_FULL).addPos(0, 0, 0, 500, IType.SIN_UP).hold(4000)) + .addBus("TWIST", new BusAnimationSequence().setPos(0, 0, 25).hold(2000).addPos(0, 0, 0, 150)); + case INSPECT: return new BusAnimation() + .addBus("TURN", new BusAnimationSequence().addPos(0, 60, 0, 500, IType.SIN_FULL).hold(1750).addPos(0, 0, 0, 500, IType.SIN_FULL)) + .addBus("ROLL", new BusAnimationSequence().hold(750).addPos(0, 0, -90, 500, IType.SIN_FULL).hold(1000).addPos(0, 0, 0, 500, IType.SIN_FULL)); + } + + return null; + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryTurret.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryTurret.java new file mode 100644 index 000000000..38c0680e0 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryTurret.java @@ -0,0 +1,48 @@ +package com.hbm.items.weapon.sedna.factory; + +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard; +import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; +import com.hbm.explosion.vanillant.standard.EntityProcessorCrossSmooth; +import com.hbm.explosion.vanillant.standard.ExplosionEffectWeapon; +import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; +import com.hbm.items.ModItems; +import com.hbm.items.ItemAmmoEnums.Ammo240Shell; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.particle.SpentCasing; +import com.hbm.particle.SpentCasing.CasingType; + +import net.minecraft.item.ItemStack; + +public class XFactoryTurret { + + public static BulletConfig dgk_normal; + + public static SpentCasing CASINNG240MM = new SpentCasing(CasingType.BOTTLENECK).setScale(7.5F).setBounceMotion(0.02F, 0.05F).setColor(SpentCasing.COLOR_CASE_BRASS).setupSmoke(1F, 0.5D, 60, 20); + public static BulletConfig shell_normal; + public static BulletConfig shell_explosive; + public static BulletConfig shell_ap; + public static BulletConfig shell_du; + public static BulletConfig shell_w9; + + public static void init() { + dgk_normal = new BulletConfig().setItem(new ItemStack(ModItems.ammo_dgk)); + + shell_normal = new BulletConfig().setItem(ModItems.ammo_shell.stackFromEnum(Ammo240Shell.STOCK)).setDamage(1F).setCasing(CASINNG240MM.clone().register("240standard")).setOnImpact((bullet, mop) -> { + Lego.standardExplode(bullet, mop, 10F); bullet.setDead(); + }); + shell_explosive = new BulletConfig().setItem(ModItems.ammo_shell.stackFromEnum(Ammo240Shell.EXPLOSIVE)).setDamage(1.5F).setCasing(CASINNG240MM.clone().register("240ext")).setOnImpact((bullet, mop) -> { + ExplosionVNT vnt = new ExplosionVNT(bullet.worldObj, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, 10F); + vnt.setBlockAllocator(new BlockAllocatorStandard()); + vnt.setBlockProcessor(new BlockProcessorStandard()); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, bullet.damage)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.setSFX(new ExplosionEffectWeapon(10, 2.5F, 1F)); + vnt.explode(); + bullet.setDead(); + }); + shell_ap = new BulletConfig().setItem(ModItems.ammo_shell.stackFromEnum(Ammo240Shell.APFSDS_T)).setDamage(2F).setDoesPenetrate(true).setCasing(CASINNG240MM.clone().register("240w")); + shell_du = new BulletConfig().setItem(ModItems.ammo_shell.stackFromEnum(Ammo240Shell.APFSDS_DU)).setDamage(2.5F).setDoesPenetrate(true).setDamageFalloffByPen(false).setCasing(CASINNG240MM.clone().register("240u")); + shell_w9 = new BulletConfig().setItem(ModItems.ammo_shell.stackFromEnum(Ammo240Shell.W9)).setDamage(2.5F).setCasing(CASINNG240MM.clone().register("240n")).setOnImpact(XFactoryCatapult.LAMBDA_NUKE_STANDARD); + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/hud/HUDComponentAmmoCounter.java b/src/main/java/com/hbm/items/weapon/sedna/hud/HUDComponentAmmoCounter.java new file mode 100644 index 000000000..90398bda4 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/hud/HUDComponentAmmoCounter.java @@ -0,0 +1,70 @@ +package com.hbm.items.weapon.sedna.hud; + +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mags.IMagazine; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; + +public class HUDComponentAmmoCounter implements IHUDComponent { + + private static final ResourceLocation misc = new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_misc.png"); + protected static final RenderItem itemRenderer = RenderItem.getInstance(); + protected int receiver; + protected boolean mirrored; + protected boolean noCounter; + + public HUDComponentAmmoCounter(int receiver) { + this.receiver = receiver; + } + + public HUDComponentAmmoCounter mirror() { + this.mirrored = true; + return this; + } + + public HUDComponentAmmoCounter noCounter() { + this.noCounter = true; + return this; + } + + @Override + public int getComponentHeight(EntityPlayer player, ItemStack stack){ + return 24; + } + + @Override + public void renderHUDComponent(Pre event, ElementType type, EntityPlayer player, ItemStack stack, int bottomOffset, int gunIndex) { + + if(type != type.HOTBAR) return; + ScaledResolution resolution = event.resolution; + Minecraft mc = Minecraft.getMinecraft(); + + int pX = resolution.getScaledWidth() / 2 + (mirrored ? -(62 + 36 + 52) : (62 + 36)) + (noCounter ? 14 : 0); + int pZ = resolution.getScaledHeight() - bottomOffset - 23; + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + IMagazine mag = gun.getConfig(stack, gunIndex).getReceivers(stack)[this.receiver].getMagazine(stack); + + if(!noCounter) mc.fontRenderer.drawString(mag.reportAmmoStateForHUD(stack, player), pX + 17, pZ + 6, 0xFFFFFF); + + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + RenderHelper.enableGUIStandardItemLighting(); + itemRenderer.renderItemAndEffectIntoGUI(mc.fontRenderer, mc.getTextureManager(), mag.getIconForHUD(stack, player), pX, pZ); + RenderHelper.disableStandardItemLighting(); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + mc.renderEngine.bindTexture(misc); + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/hud/HUDComponentDurabilityBar.java b/src/main/java/com/hbm/items/weapon/sedna/hud/HUDComponentDurabilityBar.java new file mode 100644 index 000000000..d7160bfd3 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/hud/HUDComponentDurabilityBar.java @@ -0,0 +1,53 @@ +package com.hbm.items.weapon.sedna.hud; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; + +public class HUDComponentDurabilityBar implements IHUDComponent { + + private static final ResourceLocation misc = new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_misc.png"); + + protected boolean mirrored = false; + + public HUDComponentDurabilityBar() { + this(false); + } + public HUDComponentDurabilityBar(boolean mirror) { + this.mirrored = mirror; + } + + @Override + public int getComponentHeight(EntityPlayer player, ItemStack stack) { + return 5; + } + + @Override + public void renderHUDComponent(Pre event, ElementType type, EntityPlayer player, ItemStack stack, int bottomOffset, int gunIndex) { + + if(type != type.HOTBAR) return; + ScaledResolution resolution = event.resolution; + Minecraft mc = Minecraft.getMinecraft(); + + int pX = resolution.getScaledWidth() / 2 + (mirrored ? -(62 + 36 + 52) : (62 + 36)); + int pZ = resolution.getScaledHeight() - 21; + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + int dura = (int) (50 * gun.getWear(stack, gunIndex) / gun.getConfig(stack, gunIndex).getDurability(stack)); + + GL11.glColor4f(1F, 1F, 1F, 1F); + + mc.renderEngine.bindTexture(misc); + mc.ingameGUI.drawTexturedModalRect(pX, pZ + 16, 94, 0, 52, 3); + mc.ingameGUI.drawTexturedModalRect(pX + 1, pZ + 16, 95, 3, 50 - dura, 3); + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/hud/IHUDComponent.java b/src/main/java/com/hbm/items/weapon/sedna/hud/IHUDComponent.java new file mode 100644 index 000000000..071ad0ad6 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/hud/IHUDComponent.java @@ -0,0 +1,12 @@ +package com.hbm.items.weapon.sedna.hud; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; + +public interface IHUDComponent { + + public int getComponentHeight(EntityPlayer player, ItemStack stack); + public void renderHUDComponent(Pre event, ElementType type, EntityPlayer player, ItemStack stack, int bottomOffset, int gunIndex); +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunChargeThrower.java b/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunChargeThrower.java new file mode 100644 index 000000000..cf6f138e5 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunChargeThrower.java @@ -0,0 +1,74 @@ +package com.hbm.items.weapon.sedna.impl; + +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.extprop.HbmPlayerProps; +import com.hbm.handler.HbmKeybinds.EnumKeybind; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.factory.XFactoryTool; +import com.hbm.util.ArmorUtil; +import com.hbm.util.Vec3NT; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class ItemGunChargeThrower extends ItemGunBaseNT { + + public static final String KEY_LASTHOOK = "lasthook"; + + public ItemGunChargeThrower(WeaponQuality quality, GunConfig... cfg) { + super(quality, cfg); + } + + @Override + public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean isHeld) { + super.onUpdate(stack, world, entity, slot, isHeld); + + if(this.getState(stack, 0) == GunState.RELOADING) { + if(this.getLastHook(stack) != -1) this.setLastHook(stack, -1); + } + + if(isHeld && entity instanceof EntityPlayer) { + Entity e = world.getEntityByID(this.getLastHook(stack)); + if(e != null && !e.isDead && e instanceof EntityBulletBaseMK4 && ((EntityBulletBaseMK4) e).config == XFactoryTool.ct_hook && ((EntityBulletBaseMK4) e).velocity < 0.01) { + EntityPlayer player = (EntityPlayer) entity; + Vec3NT vec = new Vec3NT(e.posX - player.posX, e.posY - player.posY - player.getEyeHeight(), e.posZ - player.posZ); + double line = vec.lengthVector(); + if(HbmPlayerProps.getData((EntityPlayer) entity).getKeyPressed(EnumKeybind.GUN_PRIMARY)) { + vec.normalizeSelf().multiply(0.1); + player.motionX += vec.xCoord; + player.motionY += vec.yCoord + 0.04; + player.motionZ += vec.zCoord; + if(!world.isRemote && line < 2) e.setDead(); + } else if(!HbmPlayerProps.getData((EntityPlayer) entity).getKeyPressed(EnumKeybind.GUN_SECONDARY)) { + Vec3NT nextPos = new Vec3NT(player.posX + player.motionX, player.posY + player.getEyeHeight() + player.motionY, player.posZ + player.motionZ); + Vec3NT delta = new Vec3NT(e.posX - nextPos.xCoord, e.posY - nextPos.yCoord, e.posZ - nextPos.zCoord); + if(delta.lengthVector() > line) { + delta.normalizeSelf().multiply(line); + Vec3NT newNext = new Vec3NT(e.posX - delta.xCoord, e.posY - delta.yCoord, e.posZ - delta.zCoord); + Vec3NT vel = new Vec3NT(newNext.xCoord - player.posX, newNext.yCoord - player.posY - player.getEyeHeight(), newNext.zCoord - player.posZ); + if(vel.lengthVector() < 3) { + player.motionX = vel.xCoord; + player.motionY = vel.yCoord; + player.motionZ = vel.zCoord; + } + } + } else { + player.motionX *= 0.5; + player.motionY *= 0.5; + player.motionZ *= 0.5; + } + + if(player.motionY > -0.1) player.fallDistance = 0; + ArmorUtil.resetFlightTime((EntityPlayer)entity); + } + } else { + if(this.getLastHook(stack) != -1) this.setLastHook(stack, -1); + } + } + + public static int getLastHook(ItemStack stack) { return getValueInt(stack, KEY_LASTHOOK); } + public static void setLastHook(ItemStack stack, int value) { setValueInt(stack, KEY_LASTHOOK, value); } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunChemthrower.java b/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunChemthrower.java new file mode 100644 index 000000000..366b0df8a --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunChemthrower.java @@ -0,0 +1,101 @@ +package com.hbm.items.weapon.sedna.impl; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; + +import com.hbm.entity.projectile.EntityChemical; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.mags.IMagazine; +import com.hbm.items.weapon.sedna.mags.MagazineFluid; +import com.hbm.render.anim.HbmAnimations.AnimType; + +import api.hbm.fluidmk2.IFillableItem; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.Vec3; + +public class ItemGunChemthrower extends ItemGunBaseNT implements IFillableItem { + + public static final int CONSUMPTION = 3; + + public ItemGunChemthrower(WeaponQuality quality, GunConfig... cfg) { + super(quality, cfg); + } + + @Override + public boolean acceptsFluid(FluidType type, ItemStack stack) { + return getFluidType(stack) == type || this.getMagCount(stack) == 0; + } + + public static final int transferSpeed = 50; + + @Override + public int tryFill(FluidType type, int amount, ItemStack stack) { + + if(!acceptsFluid(type, stack)) return amount; + if(this.getMagCount(stack) == 0) this.setMagType(stack, type.getID()); + + int fill = this.getMagCount(stack); + int req = this.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getCapacity(stack) - fill; + int toFill = Math.min(amount, req); + toFill = Math.min(toFill, transferSpeed); + this.setMagCount(stack, fill + toFill); + + return amount - toFill; + } + + public FluidType getFluidType(ItemStack stack) { + return Fluids.fromID(this.getMagType(stack)); + } + + @Override + public boolean providesFluid(FluidType type, ItemStack stack) { + return getFluidType(stack) == type; + } + + @Override + public int tryEmpty(FluidType type, int amount, ItemStack stack) { + int fill = this.getMagCount(stack); + int toUnload = Math.min(fill, amount); + toUnload = Math.min(toUnload, transferSpeed); + this.setMagCount(stack, fill - toUnload); + return toUnload; + } + + @Override public FluidType getFirstFluidType(ItemStack stack) { return Fluids.fromID(this.getMagType(stack)); } + @Override public int getFill(ItemStack stack) { return this.getMagCount(stack); } + + public static int getMagType(ItemStack stack) { return ItemGunBaseNT.getValueInt(stack, MagazineFluid.KEY_MAG_TYPE + 0); } + public static void setMagType(ItemStack stack, int value) { ItemGunBaseNT.setValueInt(stack, MagazineFluid.KEY_MAG_TYPE + 0, value); } + public static int getMagCount(ItemStack stack) { return ItemGunBaseNT.getValueInt(stack, MagazineFluid.KEY_MAG_COUNT + 0); } + public static void setMagCount(ItemStack stack, int value) { ItemGunBaseNT.setValueInt(stack, MagazineFluid.KEY_MAG_COUNT + 0, value); } + + public static BiFunction LAMBDA_CAN_FIRE = (stack, ctx) -> { return ctx.config.getReceivers(stack)[0].getMagazine(stack).getAmount(stack, ctx.inventory) >= CONSUMPTION; }; + + public static BiConsumer LAMBDA_FIRE = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + EntityPlayer player = ctx.getPlayer(); + int index = ctx.configIndex; + ItemGunBaseNT.playAnimation(player, stack, AnimType.CYCLE, ctx.configIndex); + + Receiver primary = ctx.config.getReceivers(stack)[0]; + IMagazine mag = primary.getMagazine(stack); + + Vec3 offset = primary.getProjectileOffset(stack); + double forwardOffset = offset.xCoord; + double heightOffset = offset.yCoord; + double sideOffset = offset.zCoord; + + EntityChemical chem = new EntityChemical(entity.worldObj, entity, sideOffset, heightOffset, forwardOffset); + chem.setFluid((FluidType) mag.getType(stack, ctx.inventory)); + entity.worldObj.spawnEntityInWorld(chem); + + mag.useUpAmmo(stack, ctx.inventory, CONSUMPTION); + ItemGunBaseNT.setWear(stack, index, Math.min(ItemGunBaseNT.getWear(stack, index) + 1F, ctx.config.getDurability(stack))); + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunStinger.java b/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunStinger.java new file mode 100644 index 000000000..20fe6ef71 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunStinger.java @@ -0,0 +1,156 @@ +package com.hbm.items.weapon.sedna.impl; + +import java.util.List; + +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.hud.IHUDComponent; +import com.hbm.render.util.RenderScreenOverlay; +import com.hbm.util.Vec3NT; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; + +public class ItemGunStinger extends ItemGunBaseNT { + + public static final String KEY_LOCKINGON = "lockingon"; + public static final String KEY_LOCKONPROGRESS = "lockonprogress"; + + public static float prevLockon; + public static float lockon; + + public ItemGunStinger(WeaponQuality quality, GunConfig... cfg) { + super(quality, cfg); + } + + @Override + public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean isHeld) { + super.onUpdate(stack, world, entity, slot, isHeld); + + if(entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) entity; + if(!world.isRemote && !isHeld && this.getIsLockingOn(stack)) { + this.setIsLockingOn(stack, false); + } + + this.prevLockon = this.lockon; + + if(!world.isRemote) { + int prevTarget = this.getLockonTarget(stack); + if(isHeld && this.getIsLockingOn(stack) && this.getIsAiming(stack) && this.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, player.inventory) > 0) { + int newLockonTarget = this.getLockonTarget(player, 150D, 10D); + + if(newLockonTarget == -1) { + if(!this.getIsLockedOn(stack)) resetLockon(world, stack); + } else { + if(!this.getIsLockedOn(stack) && newLockonTarget != prevTarget) { + resetLockon(world, stack); + this.setLockonTarget(stack, newLockonTarget); + } + progressLockon(world, stack); + + if(this.getLockonProgress(stack) >= 60 && !this.getIsLockedOn(stack)) { + player.worldObj.playSoundAtEntity(player, "hbm:item.techBleep", 1F, 1F); + this.setIsLockedOn(stack, true); + } + } + } else { + resetLockon(world, stack); + } + } else { + if(this.getLockonProgress(stack) > 1) { + this.lockon += (1F / 60F); + } else { + this.lockon = 0; + } + } + } + } + + public void resetLockon(World world, ItemStack stack) { + this.setLockonProgress(stack, 0); + this.setIsLockedOn(stack, false); + } + + public void progressLockon(World world, ItemStack stack) { + this.setLockonProgress(stack, this.getLockonProgress(stack) + 1); + } + + public static int getLockonTarget(EntityPlayer player, double distance, double angleThreshold) { + + if(player == null) return -1; + + double x = player.posX; + double y = player.posY + player.getEyeHeight(); + double z = player.posZ; + + Vec3NT delta = new Vec3NT(player.getLook(1F)).multiply(distance); + Vec3NT look = new Vec3NT(delta).add(x, y, z); + Vec3NT left = new Vec3NT(delta).add(x, y, z).rotateAroundYDeg(-angleThreshold).add(0, 10, 0); + Vec3NT right = new Vec3NT(delta).add(x, y, z).rotateAroundYDeg(angleThreshold).add(0, -10, 0); + Vec3NT pos = new Vec3NT(x, y, z); + + AxisAlignedBB aabb = AxisAlignedBB.getBoundingBox(Vec3NT.getMinX(look, left, right, pos), Vec3NT.getMinY(look, left, right, pos), Vec3NT.getMinZ(look, left, right, pos), + Vec3NT.getMaxX(look, left, right, pos), Vec3NT.getMaxY(look, left, right, pos), Vec3NT.getMaxZ(look, left, right, pos)); + List entities = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, aabb); + Entity closestEntity = null; + double closestAngle = 360D; + + Vec3NT toEntity = new Vec3NT(0, 0, 0); + + for(Entity entity : entities) { + if(entity.height < 0.5F || !entity.canBeCollidedWith()) continue; + toEntity.setComponents(entity.posX - x, entity.posY + entity.height / 2D - y, entity.posZ - z); + + double vecProd = toEntity.xCoord * delta.xCoord + toEntity.yCoord * delta.yCoord + toEntity.zCoord * delta.zCoord; + double bot = toEntity.lengthVector() * delta.lengthVector(); + double angle = Math.abs(Math.acos(vecProd / bot) * 180 / Math.PI); + + if(angle < closestAngle && angle < angleThreshold) { + closestAngle = angle; + closestEntity = entity; + } + } + + return closestEntity == null ? - 1 : closestEntity.getEntityId(); + } + + @Override + @SideOnly(Side.CLIENT) + public void renderHUD(Pre event, ElementType type, EntityPlayer player, ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + + if(type == ElementType.CROSSHAIRS) { + event.setCanceled(true); + if(aimingProgress < 1F) return; + RenderScreenOverlay.renderCustomCrosshairs(event.resolution, Minecraft.getMinecraft().ingameGUI, gun.getConfig(stack, 0).getCrosshair(stack)); + RenderScreenOverlay.renderStingerLockon(event.resolution, Minecraft.getMinecraft().ingameGUI); + } + + int confNo = this.configs_DNA.length; + + for(int i = 0; i < confNo; i++) { + IHUDComponent[] components = gun.getConfig(stack, i).getHUDComponents(stack); + + if(components != null) for(IHUDComponent component : components) { + int bottomOffset = 0; + component.renderHUDComponent(event, type, player, stack, bottomOffset, i); + bottomOffset += component.getComponentHeight(player, stack); + } + } + } + + public static boolean getIsLockingOn(ItemStack stack) { return getValueBool(stack, KEY_LOCKINGON); } + public static void setIsLockingOn(ItemStack stack, boolean value) { setValueBool(stack, KEY_LOCKINGON, value); } + public static int getLockonProgress(ItemStack stack) { return getValueInt(stack, KEY_LOCKONPROGRESS); } + public static void setLockonProgress(ItemStack stack, int value) { setValueInt(stack, KEY_LOCKONPROGRESS, value); } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mags/IMagazine.java b/src/main/java/com/hbm/items/weapon/sedna/mags/IMagazine.java new file mode 100644 index 000000000..a05fe9880 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mags/IMagazine.java @@ -0,0 +1,74 @@ +package com.hbm.items.weapon.sedna.mags; + +import com.hbm.items.ModItems; +import com.hbm.items.armor.ArmorTrenchmaster; +import com.hbm.items.tool.ItemCasingBag; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.particle.SpentCasing; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; + +/** + * The magazine simply provides the receiver it's attached to with ammo, the receiver does not care where it comes from. + * Therefore it is the mag's responsibility to handle reloading, any type restrictions as well as belt-like action from "magless" guns. + * + * @author hbm + */ +public interface IMagazine { + + /** What ammo is loaded currently */ + public T getType(ItemStack stack, IInventory inventory); + /** Sets the mag's ammo type */ + public void setType(ItemStack stack, T type); + /** How much ammo this mag can carry */ + public int getCapacity(ItemStack stack); + /** How much ammo is currently loaded */ + public int getAmount(ItemStack stack, IInventory inventory); + /** Sets the mag's ammo level */ + public void setAmount(ItemStack stack, int amount); + /** removes the specified amount from the magazine */ + public void useUpAmmo(ItemStack stack, IInventory inventory, int amount); + /** If a reload can even be initiated, i.e. the player even has bullets to load, inventory can be null */ + public boolean canReload(ItemStack stack, IInventory inventory); + /** On the begin of a reload, potentially change the mag type before the reload happens for animation purposes */ + public void initNewType(ItemStack stack, IInventory inventory); + /** The action done at the end of one reload cycle, either loading one shell or replacing the whole mag, inventory can be null */ + public void reloadAction(ItemStack stack, IInventory inventory); + /** The stack that should be displayed for the ammo HUD */ + public ItemStack getIconForHUD(ItemStack stack, EntityPlayer player); + /** It explains itself */ + public String reportAmmoStateForHUD(ItemStack stack, EntityPlayer player); + /** Casing config to use then ejecting */ + public SpentCasing getCasing(ItemStack stack, IInventory inventory); + /** When reloading, remember the amount before reload is initiated */ + public void setAmountBeforeReload(ItemStack stack, int amount); + /** Amount of rounds before reload has started. Do note that the NBT stack sync likely arrives + * after the animation packets, so for RELOAD type anims, use the live ammo count instead! */ + public int getAmountBeforeReload(ItemStack stack); + /** Sets amount of ammo after each reload operation */ + public void setAmountAfterReload(ItemStack stack, int amount); + /** Cached amount of ammo after the most recent reload */ + public int getAmountAfterReload(ItemStack stack); + + public static void handleAmmoBag(IInventory inventory, BulletConfig config, int shotsFired) { + if(config.casingItem != null && config.casingAmount > 0 && inventory instanceof InventoryPlayer) { + InventoryPlayer inv = (InventoryPlayer) inventory; + for(ItemStack stack : inv.mainInventory) { + if(stack != null && stack.getItem() == ModItems.casing_bag && ItemCasingBag.pushCasing(stack, config.casingItem, 1F / config.casingAmount * 0.5F * shotsFired)) return; + } + } + } + + public static boolean shouldUseUpTrenchie(IInventory inv) { + if(inv instanceof InventoryPlayer) { + InventoryPlayer invPlayer = (InventoryPlayer) inv; + boolean trenchie = ArmorTrenchmaster.isTrenchMaster(invPlayer.player); + boolean aos = ArmorTrenchmaster.hasAoS(invPlayer.player); + if(trenchie || aos) return invPlayer.player.getRNG().nextInt(3) < 2; + } + return true; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mags/MagazineBelt.java b/src/main/java/com/hbm/items/weapon/sedna/mags/MagazineBelt.java new file mode 100644 index 000000000..0aae9d81f --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mags/MagazineBelt.java @@ -0,0 +1,162 @@ +package com.hbm.items.weapon.sedna.mags; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.items.ModItems; +import com.hbm.items.tool.ItemAmmoBag.InventoryAmmoBag; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.particle.SpentCasing; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; + +public class MagazineBelt implements IMagazine { + + public List acceptedBullets = new ArrayList(); + + public MagazineBelt addConfigs(BulletConfig... cfgs) { for(BulletConfig cfg : cfgs) acceptedBullets.add(cfg); return this; } + + @Override + public BulletConfig getType(ItemStack stack, IInventory inventory) { + BulletConfig config = getFirstConfig(stack, inventory); + if(this.getMagType(stack) != config.id) { + this.setMagType(stack, config.id); + } + return config; + } + + @Override + public void useUpAmmo(ItemStack stack, IInventory inventory, int amount) { + if(inventory == null) return; + if(!IMagazine.shouldUseUpTrenchie(inventory)) return; + + BulletConfig first = this.getFirstConfig(stack, inventory); + + for(int i = 0; i < inventory.getSizeInventory(); i++) { + ItemStack slot = inventory.getStackInSlot(i); + + if(slot != null) { + if(first.ammo.matchesRecipe(slot, true)) { + int toRemove = Math.min(slot.stackSize, amount); + amount -= toRemove; + inventory.decrStackSize(i, toRemove); + IMagazine.handleAmmoBag(inventory, first, toRemove); + if(amount <= 0) return; + } + + boolean infBag = slot.getItem() == ModItems.ammo_bag_infinite; + if(slot.getItem() == ModItems.ammo_bag || infBag) { + InventoryAmmoBag bag = new InventoryAmmoBag(slot); + for(int j = 0; j < bag.getSizeInventory(); j++) { + ItemStack bagslot = bag.getStackInSlot(j); + + if(bagslot != null) { + if(first.ammo.matchesRecipe(bagslot, true)) { + int toRemove = Math.min(bagslot.stackSize, amount); + amount -= toRemove; + if(!infBag) bag.decrStackSize(j, toRemove); + IMagazine.handleAmmoBag(inventory, first, toRemove); + if(amount <= 0) return; + } + } + } + } + } + } + } + + @Override public void setType(ItemStack stack, BulletConfig type) { } + @Override public int getCapacity(ItemStack stack) { return 0; } + @Override public void setAmount(ItemStack stack, int amount) { } + @Override public boolean canReload(ItemStack stack, IInventory inventory) { return false; } + @Override public void initNewType(ItemStack stack, IInventory inventory) { } + @Override public void reloadAction(ItemStack stack, IInventory inventory) { } + @Override public void setAmountBeforeReload(ItemStack stack, int amount) { } + @Override public int getAmountBeforeReload(ItemStack stack) { return 0; } + @Override public void setAmountAfterReload(ItemStack stack, int amount) { } + @Override public int getAmountAfterReload(ItemStack stack) { return 0; } + + @Override + public int getAmount(ItemStack stack, IInventory inventory) { + if(inventory == null) return 1; // for EntityAIFireGun + BulletConfig first = this.getFirstConfig(stack, inventory); + int count = 0; + for(int i = 0; i < inventory.getSizeInventory(); i++) { + ItemStack slot = inventory.getStackInSlot(i); + + if(slot != null) { + if(first.ammo.matchesRecipe(slot, true)) count += slot.stackSize; + + boolean infBag = slot.getItem() == ModItems.ammo_bag_infinite; + if(slot.getItem() == ModItems.ammo_bag || infBag) { + InventoryAmmoBag bag = new InventoryAmmoBag(slot); + for(int j = 0; j < bag.getSizeInventory(); j++) { + ItemStack bagslot = bag.getStackInSlot(j); + + if(bagslot != null) { + if(first.ammo.matchesRecipe(bagslot, true)) { + if(infBag) return 9_999; + count += bagslot.stackSize; + } + } + } + } + } + } + return count; + } + + @Override + public ItemStack getIconForHUD(ItemStack stack, EntityPlayer player) { + BulletConfig first = this.getFirstConfig(stack, player.inventory); + return first.ammo.toStack(); + } + + @Override + public String reportAmmoStateForHUD(ItemStack stack, EntityPlayer player) { + return "x" + getAmount(stack, player.inventory); + } + + @Override + public SpentCasing getCasing(ItemStack stack, IInventory invnetory) { + return getFirstConfig(stack, invnetory).casing; + } + + public BulletConfig getFirstConfig(ItemStack stack, IInventory inventory) { + + if(inventory == null) return acceptedBullets.get(0); + + for(int i = 0; i < inventory.getSizeInventory(); i++) { + ItemStack slot = inventory.getStackInSlot(i); + + if(slot != null) { + for(BulletConfig config : this.acceptedBullets) { + if(config.ammo.matchesRecipe(slot, true)) return config; + } + + if(slot.getItem() == ModItems.ammo_bag || slot.getItem() == ModItems.ammo_bag_infinite) { + InventoryAmmoBag bag = new InventoryAmmoBag(slot); + for(int j = 0; j < bag.getSizeInventory(); j++) { + ItemStack bagslot = bag.getStackInSlot(j); + + if(bagslot != null) { + for(BulletConfig config : this.acceptedBullets) { + if(config.ammo.matchesRecipe(bagslot, true)) return config; + } + } + } + } + } + } + + BulletConfig cached = BulletConfig.configs.get(this.getMagType(stack)); + return acceptedBullets.contains(cached) ? cached : acceptedBullets.get(0); + } + + public static final String KEY_MAG_TYPE = "magtype"; + public static int getMagType(ItemStack stack) { return ItemGunBaseNT.getValueInt(stack, KEY_MAG_TYPE); } + public static void setMagType(ItemStack stack, int value) { ItemGunBaseNT.setValueInt(stack, KEY_MAG_TYPE, value); } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mags/MagazineFluid.java b/src/main/java/com/hbm/items/weapon/sedna/mags/MagazineFluid.java new file mode 100644 index 000000000..1f0056825 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mags/MagazineFluid.java @@ -0,0 +1,71 @@ +package com.hbm.items.weapon.sedna.mags; + +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.particle.SpentCasing; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; + +public class MagazineFluid implements IMagazine { + + public static final String KEY_MAG_COUNT = "magcount"; + public static final String KEY_MAG_TYPE = "magtype"; + public static final String KEY_MAG_PREV = "magprev"; + public static final String KEY_MAG_AFTER = "magafter"; + + /** A number so the gun tell multiple mags apart */ + public int index; + /** How much ammo this mag can hold */ + public int capacity; + + public MagazineFluid(int index, int capacity) { + this.index = index; + this.capacity = capacity; + } + + @Override + public FluidType getType(ItemStack stack, IInventory inventory) { + int id = this.getMagType(stack, index); + return Fluids.fromID(id); + } + + @Override + public void setType(ItemStack stack, FluidType type) { + this.setMagType(stack, index, type.getID()); + } + + @Override + public int getCapacity(ItemStack stack) { + return capacity; + } + + @Override + public void useUpAmmo(ItemStack stack, IInventory inventory, int amount) { + this.setAmount(stack, this.getAmount(stack, inventory) - amount); + } + + @Override public int getAmount(ItemStack stack, IInventory inventory) { return getMagCount(stack, index); } + @Override public void setAmount(ItemStack stack, int amount) { setMagCount(stack, index, amount); } + + @Override public boolean canReload(ItemStack stack, IInventory inventory) { return false; } + @Override public void initNewType(ItemStack stack, IInventory inventory) { } + @Override public void reloadAction(ItemStack stack, IInventory inventory) { } + @Override public SpentCasing getCasing(ItemStack stack, IInventory inventory) { return null; } + + @Override public ItemStack getIconForHUD(ItemStack stack, EntityPlayer player) { return new ItemStack(ModItems.fluid_icon, 1, this.getMagType(stack, index)); } + @Override public String reportAmmoStateForHUD(ItemStack stack, EntityPlayer player) { return getIconForHUD(stack, player).getDisplayName(); } + + @Override public void setAmountBeforeReload(ItemStack stack, int amount) { ItemGunBaseNT.setValueInt(stack, KEY_MAG_PREV + index, amount); } + @Override public int getAmountBeforeReload(ItemStack stack) { return ItemGunBaseNT.getValueInt(stack, KEY_MAG_PREV + index); } + @Override public void setAmountAfterReload(ItemStack stack, int amount) { ItemGunBaseNT.setValueInt(stack, KEY_MAG_AFTER + index, amount); } + @Override public int getAmountAfterReload(ItemStack stack) { return ItemGunBaseNT.getValueInt(stack, KEY_MAG_AFTER + index); } + + public static int getMagType(ItemStack stack, int index) { return ItemGunBaseNT.getValueInt(stack, KEY_MAG_TYPE + index); } + public static void setMagType(ItemStack stack, int index, int value) { ItemGunBaseNT.setValueInt(stack, KEY_MAG_TYPE + index, value); } + public static int getMagCount(ItemStack stack, int index) { return ItemGunBaseNT.getValueInt(stack, KEY_MAG_COUNT + index); } + public static void setMagCount(ItemStack stack, int index, int value) { ItemGunBaseNT.setValueInt(stack, KEY_MAG_COUNT + index, value); } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mags/MagazineFullReload.java b/src/main/java/com/hbm/items/weapon/sedna/mags/MagazineFullReload.java new file mode 100644 index 000000000..6bbddfee6 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mags/MagazineFullReload.java @@ -0,0 +1,18 @@ +package com.hbm.items.weapon.sedna.mags; + +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; + +/** Uses individual bullets which are loaded all at once */ +public class MagazineFullReload extends MagazineSingleTypeBase { + + public MagazineFullReload(int index, int capacity) { + super(index, capacity); + } + + /** Reloads all rounds at once. If the mag is empty, the mag's type will change to the first valid ammo type */ + @Override + public void reloadAction(ItemStack stack, IInventory inventory) { + standardReload(stack, inventory, this.capacity); + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mags/MagazineSingleReload.java b/src/main/java/com/hbm/items/weapon/sedna/mags/MagazineSingleReload.java new file mode 100644 index 000000000..acdefb73f --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mags/MagazineSingleReload.java @@ -0,0 +1,18 @@ +package com.hbm.items.weapon.sedna.mags; + +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; + +/** Uses individual bullets which are loaded one by one */ +public class MagazineSingleReload extends MagazineSingleTypeBase { + + public MagazineSingleReload(int index, int capacity) { + super(index, capacity); + } + + /** Reloads all rounds at once. If the mag is empty, the mag's type will change to the first valid ammo type */ + @Override + public void reloadAction(ItemStack stack, IInventory inventory) { + standardReload(stack, inventory, 1); + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mags/MagazineSingleTypeBase.java b/src/main/java/com/hbm/items/weapon/sedna/mags/MagazineSingleTypeBase.java new file mode 100644 index 000000000..74df8d102 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mags/MagazineSingleTypeBase.java @@ -0,0 +1,246 @@ +package com.hbm.items.weapon.sedna.mags; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.items.ModItems; +import com.hbm.items.tool.ItemAmmoBag.InventoryAmmoBag; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.particle.SpentCasing; +import com.hbm.util.BobMathUtil; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; + +/** Base class for typical magazines, i.e. ones that hold bullets, shells, grenades, etc, any ammo item. Stores a single type of BulletConfigs */ +public abstract class MagazineSingleTypeBase implements IMagazine { + + public static final String KEY_MAG_COUNT = "magcount"; + public static final String KEY_MAG_TYPE = "magtype"; + public static final String KEY_MAG_PREV = "magprev"; + public static final String KEY_MAG_AFTER = "magafter"; + + public List acceptedBullets = new ArrayList(); + + /** A number so the gun tell multiple mags apart */ + public int index; + /** How much ammo this mag can hold */ + public int capacity; + + public MagazineSingleTypeBase(int index, int capacity) { + this.index = index; + this.capacity = capacity; + } + + public MagazineSingleTypeBase addConfigs(BulletConfig... cfgs) { for(BulletConfig cfg : cfgs) acceptedBullets.add(cfg); return this; } + + @Override + public BulletConfig getType(ItemStack stack, IInventory inventory) { + int type = getMagType(stack, index); + if(type >= 0 && type < BulletConfig.configs.size()) { + BulletConfig cfg = BulletConfig.configs.get(type); + if(acceptedBullets.contains(cfg)) return cfg; + return acceptedBullets.get(0); + } + return null; + } + + @Override + public void setType(ItemStack stack, BulletConfig type) { + int i = BulletConfig.configs.indexOf(type); + if(i >= 0) setMagType(stack, index, i); + } + + @Override + public ItemStack getIconForHUD(ItemStack stack, EntityPlayer player) { + BulletConfig config = this.getType(stack, player.inventory); + if(config != null) return config.ammo.toStack(); + return null; + } + + @Override + public String reportAmmoStateForHUD(ItemStack stack, EntityPlayer player) { + return getAmount(stack, player.inventory) + " / " + getCapacity(stack); + } + + @Override + public SpentCasing getCasing(ItemStack stack, IInventory inventory) { + return this.getType(stack, inventory).casing; + } + + @Override + public void useUpAmmo(ItemStack stack, IInventory inventory, int amount) { + if(!IMagazine.shouldUseUpTrenchie(inventory) && getCapacity(stack) != 1) return; + this.setAmount(stack, this.getAmount(stack, inventory) - amount); + IMagazine.handleAmmoBag(inventory, this.getType(stack, inventory), amount); + } + + /** Returns true if the player has the same ammo if partially loaded, or any valid ammo if not */ + @Override + public boolean canReload(ItemStack stack, IInventory inventory) { + if(this.getAmount(stack, inventory) >= this.getCapacity(stack)) return false; + if(inventory == null) return true; + BulletConfig nextConfig = getFirstConfig(stack, inventory); + return nextConfig != null; + } + + public void standardReload(ItemStack stack, IInventory inventory, int loadLimit) { + + if(inventory == null) { + BulletConfig config = this.getType(stack, inventory); + if(config == null) { config = this.acceptedBullets.get(0); this.setType(stack, config); } //fixing broken NBT + this.setAmount(stack, this.capacity); + return; + } + + for(int i = 0; i < inventory.getSizeInventory(); i++) { + ItemStack slot = inventory.getStackInSlot(i); + + if(loadLimit <= 0) return; + + if(slot != null) { + + //mag is empty, assume next best type + if(this.getAmount(stack, null) == 0) { + + for(BulletConfig config : this.acceptedBullets) { + if(config.ammo.matchesRecipe(slot, true)) { + this.setType(stack, config); + int wantsToLoad = (int) Math.ceil((double) this.getCapacity(stack) / (double) config.ammoReloadCount); + int toLoad = BobMathUtil.min(wantsToLoad, slot.stackSize, loadLimit); + this.setAmount(stack, Math.min(toLoad * config.ammoReloadCount, this.capacity)); + inventory.decrStackSize(i, toLoad); + loadLimit -= toLoad; + break; + } + } + //mag has a type set, only load that + } else { + BulletConfig config = this.getType(stack, null); + if(config == null) { config = this.acceptedBullets.get(0); this.setType(stack, config); } //fixing broken NBT + + if(config.ammo.matchesRecipe(slot, true)) { + int alreadyLoaded = this.getAmount(stack, null); + int wantsToLoad = (int) Math.ceil((double) (this.getCapacity(stack) - alreadyLoaded) / (double) config.ammoReloadCount); + int toLoad = BobMathUtil.min(wantsToLoad, slot.stackSize, loadLimit); + this.setAmount(stack, Math.min((toLoad * config.ammoReloadCount) + alreadyLoaded, this.capacity)); + inventory.decrStackSize(i, toLoad); + loadLimit -= toLoad; + } + } + + boolean infBag = slot.getItem() == ModItems.ammo_bag_infinite; + if(slot.getItem() == ModItems.ammo_bag || infBag) { + InventoryAmmoBag bag = new InventoryAmmoBag(slot); + + for(int j = 0; j < bag.getSizeInventory(); j++) { + ItemStack bagslot = bag.getStackInSlot(j); + + if(bagslot != null) { + + //mag is empty, assume next best type + if(this.getAmount(stack, null) == 0) { + + for(BulletConfig config : this.acceptedBullets) { + if(config.ammo.matchesRecipe(bagslot, true)) { + this.setType(stack, config); + int wantsToLoad = (int) Math.ceil((double) this.getCapacity(stack) / (double) config.ammoReloadCount); + int toLoad = BobMathUtil.min(wantsToLoad, infBag ? 9_999 : bagslot.stackSize, loadLimit); + this.setAmount(stack, Math.min(toLoad * config.ammoReloadCount, this.capacity)); + if(!infBag) bag.decrStackSize(j, toLoad); + loadLimit -= toLoad; + break; + } + } + //mag has a type set, only load that + } else { + BulletConfig config = this.getType(stack, null); + if(config == null) { config = this.acceptedBullets.get(0); this.setType(stack, config); } //fixing broken NBT + + if(config.ammo.matchesRecipe(bagslot, true)) { + int alreadyLoaded = this.getAmount(stack, bag); + int wantsToLoad = (int) Math.ceil((double) (this.getCapacity(stack) - alreadyLoaded) / (double) config.ammoReloadCount); + int toLoad = BobMathUtil.min(wantsToLoad, infBag ? 9_999 : bagslot.stackSize, loadLimit); + this.setAmount(stack, Math.min((toLoad * config.ammoReloadCount) + alreadyLoaded, this.capacity)); + if(!infBag) bag.decrStackSize(j, toLoad); + loadLimit -= toLoad; + } + } + } + } + } + } + } + } + + /** Returns the config of the first potential loadable round, either what's already chambered or the first valid one if empty */ + public BulletConfig getFirstConfig(ItemStack stack, IInventory inventory) { + if(inventory == null) return null; + + for(int i = 0; i < inventory.getSizeInventory(); i++) { + ItemStack slot = inventory.getStackInSlot(i); + + if(slot != null) { + if(this.getAmount(stack, null) == 0) { + for(BulletConfig config : this.acceptedBullets) { + if(config.ammo.matchesRecipe(slot, true)) return config; + } + } else { + BulletConfig config = this.getType(stack, null); + if(config == null) { config = this.acceptedBullets.get(0); this.setType(stack, config); } + if(config.ammo.matchesRecipe(slot, true)) return config; + } + + if(slot.getItem() == ModItems.ammo_bag || slot.getItem() == ModItems.ammo_bag_infinite) { + InventoryAmmoBag bag = new InventoryAmmoBag(slot); + + for(int j = 0; j < bag.getSizeInventory(); j++) { + ItemStack bagslot = bag.getStackInSlot(j); + + if(bagslot != null) { + if(this.getAmount(stack, null) == 0) { + for(BulletConfig config : this.acceptedBullets) { + if(config.ammo.matchesRecipe(bagslot, true)) return config; + } + } else { + BulletConfig config = this.getType(stack, null); + if(config == null) { config = this.acceptedBullets.get(0); this.setType(stack, config); } + if(config.ammo.matchesRecipe(bagslot, true)) return config; + } + } + } + } + } + } + + return null; + } + + @Override public void initNewType(ItemStack stack, IInventory inventory) { + if(inventory == null) return; + BulletConfig nextConfig = getFirstConfig(stack, inventory); + if(nextConfig != null) { + int i = BulletConfig.configs.indexOf(nextConfig); + this.setMagType(stack, index, i); + } + } + + @Override public int getCapacity(ItemStack stack) { return capacity; } + @Override public int getAmount(ItemStack stack, IInventory inventory) { return getMagCount(stack, index); } + @Override public void setAmount(ItemStack stack, int amount) { setMagCount(stack, index, amount); } + + @Override public void setAmountBeforeReload(ItemStack stack, int amount) { ItemGunBaseNT.setValueInt(stack, KEY_MAG_PREV + index, amount); } + @Override public int getAmountBeforeReload(ItemStack stack) { return ItemGunBaseNT.getValueInt(stack, KEY_MAG_PREV + index); } + @Override public void setAmountAfterReload(ItemStack stack, int amount) { ItemGunBaseNT.setValueInt(stack, KEY_MAG_AFTER + index, amount); } + @Override public int getAmountAfterReload(ItemStack stack) { return ItemGunBaseNT.getValueInt(stack, KEY_MAG_AFTER + index); } + + // MAG TYPE // + public static int getMagType(ItemStack stack, int index) { return ItemGunBaseNT.getValueInt(stack, KEY_MAG_TYPE + index); } + public static void setMagType(ItemStack stack, int index, int value) { ItemGunBaseNT.setValueInt(stack, KEY_MAG_TYPE + index, value); } + + // MAG COUNT // + public static int getMagCount(ItemStack stack, int index) { return ItemGunBaseNT.getValueInt(stack, KEY_MAG_COUNT + index); } + public static void setMagCount(ItemStack stack, int index, int value) { ItemGunBaseNT.setValueInt(stack, KEY_MAG_COUNT + index, value); } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/IWeaponMod.java b/src/main/java/com/hbm/items/weapon/sedna/mods/IWeaponMod.java new file mode 100644 index 000000000..a6b959bc7 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/IWeaponMod.java @@ -0,0 +1,16 @@ +package com.hbm.items.weapon.sedna.mods; + +import net.minecraft.item.ItemStack; + +public interface IWeaponMod { + + /** Lower numbers get installed and therefore evaluated first. Important when multiplicative and additive bonuses are supposed to stack */ + public int getModPriority(); + public String[] getSlots(); + /** The meat and bones of the upgrade eval. Requires the base value, the held gun, the value's + * identifier and the yet unmodified parent (i.e. if the value is part of the receiver, that receiver) */ + public T eval(T base, ItemStack gun, String key, Object parent); + + public default void onInstall(ItemStack gun, ItemStack mod, int index) { } + public default void onUninstall(ItemStack gun, ItemStack mod, int index) { } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeapnModG3SawedOff.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeapnModG3SawedOff.java new file mode 100644 index 000000000..ce7a202e6 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeapnModG3SawedOff.java @@ -0,0 +1,33 @@ +package com.hbm.items.weapon.sedna.mods; + +import java.util.function.BiFunction; + +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.factory.XFactory556mm; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; + +import net.minecraft.item.ItemStack; + +public class WeapnModG3SawedOff extends WeaponModBase { + + public WeapnModG3SawedOff(int id) { + super(id, "SHIELD"); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + if(key == GunConfig.I_DRAWDURATION) return cast(5, base); + if(key == GunConfig.FUN_ANIMNATIONS) return (T) LAMBDA_G3_ANIMS; + return base; + } + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_G3_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation().addBus("EQUIP", new BusAnimationSequence().addPos(45, 0, 0, 0).addPos(0, 0, 0, 250, IType.SIN_FULL)); + } + return XFactory556mm.LAMBDA_G3_ANIMS.apply(stack, type); + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModBase.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModBase.java new file mode 100644 index 000000000..2e265c19e --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModBase.java @@ -0,0 +1,29 @@ +package com.hbm.items.weapon.sedna.mods; + +public abstract class WeaponModBase implements IWeaponMod { + + public static final int PRIORITY_SET = Integer.MAX_VALUE; + public static final int PRIORITY_MULTIPLICATIVE = 1_000; + public static final int PRIORITY_ADDITIVE = 500; + public static final int PRIORITY_MULT_FINAL = -1; + + public String[] slots; + public int priority = 0; + + public WeaponModBase(int id, String... slots) { this.slots = slots; WeaponModManager.idToMod.put(id, this); } + public WeaponModBase setPriority(int priority) { this.priority = priority; return this; } + + @Override public int getModPriority() { return priority; } + + @Override public String[] getSlots() { return slots; } + + /** + * Java generics are cool and all but once you actually get to use them, they suck ass. + * This piece of shit only exists to prevent double cast, casting from int to would require (T) (Integer) int, which makes me want to vomit. + * Using this method here implicitly casts the int (or whatever it is) to Object, and Object can be cast to . + * @param The value that needs to be cast + * @param Any value with the type that should be cast to + * @return + */ + public T cast(Object arg, T castTo) { return (T) arg; } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModCaliber.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModCaliber.java new file mode 100644 index 000000000..1794a8cd4 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModCaliber.java @@ -0,0 +1,74 @@ +package com.hbm.items.weapon.sedna.mods; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.mags.IMagazine; +import com.hbm.items.weapon.sedna.mags.MagazineBelt; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.items.weapon.sedna.mags.MagazineSingleReload; +import com.hbm.items.weapon.sedna.mags.MagazineSingleTypeBase; + +import net.minecraft.item.ItemStack; + +public class WeaponModCaliber extends WeaponModBase { + + protected static MagazineSingleReload DUMMY_SINGLE = new MagazineSingleReload(0, 0); + protected static MagazineFullReload DUMMY_FULL = new MagazineFullReload(0, 0); + protected static MagazineBelt DUMMY_BELT = new MagazineBelt(); + protected final List cfg = new ArrayList(); + protected final int count; + protected final float baseDamage; + + public WeaponModCaliber(int id, int count, float baseDamage, BulletConfig... cfg) { + super(id, "CALIBER"); + this.setPriority(PRIORITY_SET); + for(BulletConfig conf : cfg) this.cfg.add(conf); + this.count = count; + this.baseDamage = baseDamage; + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + if(key == Receiver.O_MAGAZINE) { + if(base instanceof MagazineSingleReload) { + MagazineSingleReload original = (MagazineSingleReload) base; + DUMMY_SINGLE.acceptedBullets = cfg; + DUMMY_SINGLE.capacity = count; + DUMMY_SINGLE.index = original.index; + return (T) DUMMY_SINGLE; + } + if(base instanceof MagazineFullReload) { + MagazineFullReload original = (MagazineFullReload) base; + DUMMY_FULL.acceptedBullets = cfg; + DUMMY_FULL.capacity = count; + DUMMY_FULL.index = original.index; + return (T) DUMMY_FULL; + } + if(base instanceof MagazineBelt) { + DUMMY_BELT.acceptedBullets = cfg; + return (T) DUMMY_BELT; + } + } + if(key == Receiver.F_BASEDAMAGE) { + return cast(baseDamage, base); + } + return base; + } + + /* adding or removing a caliber mod annihilates the loaded rounds */ + public void onInstall(ItemStack gun, ItemStack mod, int index) { clearMag(gun, index); } + public void onUninstall(ItemStack gun, ItemStack mod, int index) { clearMag(gun, index); } + + public void clearMag(ItemStack stack, int index) { + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + IMagazine mag = gun.getConfig(stack, index).getReceivers(stack)[0].getMagazine(stack); + if(mag instanceof MagazineSingleTypeBase) { + MagazineSingleTypeBase mstb = (MagazineSingleTypeBase) mag; + mstb.setAmount(stack, 0); + } + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModCarbineBayonet.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModCarbineBayonet.java new file mode 100644 index 000000000..9bd319669 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModCarbineBayonet.java @@ -0,0 +1,78 @@ +package com.hbm.items.weapon.sedna.mods; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; + +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.factory.Orchestras; +import com.hbm.items.weapon.sedna.factory.XFactory44; +import com.hbm.items.weapon.sedna.factory.XFactory762mm; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; +import com.hbm.util.EntityDamageUtil; + +import net.minecraft.block.Block; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MovingObjectPosition; + +public class WeaponModCarbineBayonet extends WeaponModBase { + + public WeaponModCarbineBayonet(int id) { + super(id, "BAYONET"); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + if(key == GunConfig.FUN_ANIMNATIONS) return (T) LAMBDA_CARBINE_ANIMS; + if(key == GunConfig.I_INSPECTDURATION) return cast(30, base); + if(key == GunConfig.CON_ONPRESSSECONDARY) return (T) XFactory44.SMACK_A_FUCKER; + if(key == GunConfig.CON_ORCHESTRA) return (T) ORCHESTRA_CARBINE; + if(key == GunConfig.I_INSPECTCANCEL) return cast(false, base); + return base; + } + + public static BiConsumer ORCHESTRA_CARBINE = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.INSPECT) { + + if(timer == 15 && ctx.getPlayer() != null) { + MovingObjectPosition mop = EntityDamageUtil.getMouseOver(ctx.getPlayer(), 3.0D); + if(mop != null) { + if(mop.typeOfHit == mop.typeOfHit.ENTITY) { + float damage = 15F; + mop.entityHit.attackEntityFrom(DamageSource.causePlayerDamage(ctx.getPlayer()), damage); + mop.entityHit.motionX *= 2; + mop.entityHit.motionZ *= 2; + entity.worldObj.playSoundAtEntity(mop.entityHit, "hbm:weapon.fire.stab", 1F, 0.9F + entity.getRNG().nextFloat() * 0.2F); + } + if(mop.typeOfHit == mop.typeOfHit.BLOCK) { + Block b = entity.worldObj.getBlock(mop.blockX, mop.blockY, mop.blockZ); + entity.worldObj.playSoundEffect(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, b.stepSound.getStepResourcePath(), 2F, 0.9F + entity.getRNG().nextFloat() * 0.2F); + } + } + } + return; + } + + Orchestras.ORCHESTRA_CARBINE.accept(stack, ctx); + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_CARBINE_ANIMS = (stack, type) -> { + switch(type) { + case INSPECT: return new BusAnimation() + .addBus("STAB", new BusAnimationSequence().addPos(0, 1, -2, 250, IType.SIN_DOWN).hold(250).addPos(0, 1, 5, 250, IType.SIN_UP).hold(250).addPos(0, 0, 0, 500, IType.SIN_FULL)); + } + + return XFactory762mm.LAMBDA_CARBINE_ANIMS.apply(stack, type); + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModChoke.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModChoke.java new file mode 100644 index 000000000..85820fa4a --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModChoke.java @@ -0,0 +1,19 @@ +package com.hbm.items.weapon.sedna.mods; + +import com.hbm.items.weapon.sedna.Receiver; + +import net.minecraft.item.ItemStack; + +public class WeaponModChoke extends WeaponModBase { + + public WeaponModChoke(int id) { + super(id, "BARREL"); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + if(key == Receiver.F_SPREADAMMO) { return cast((Float) base * 0.5F, base); } + + return base; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModGenericDamage.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModGenericDamage.java new file mode 100644 index 000000000..83cc7d5eb --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModGenericDamage.java @@ -0,0 +1,23 @@ +package com.hbm.items.weapon.sedna.mods; + +import com.hbm.items.weapon.sedna.Receiver; + +import net.minecraft.item.ItemStack; + +public class WeaponModGenericDamage extends WeaponModBase { + + public WeaponModGenericDamage(int id) { + super(id, "GENERIC_DAMAGE"); + this.setPriority(PRIORITY_MULTIPLICATIVE); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + + if(parent instanceof Receiver && key == Receiver.F_BASEDAMAGE && base instanceof Float) { + return cast((Float) base * 1.15F, base); + } + + return base; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModGenericDurability.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModGenericDurability.java new file mode 100644 index 000000000..577250b78 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModGenericDurability.java @@ -0,0 +1,23 @@ +package com.hbm.items.weapon.sedna.mods; + +import com.hbm.items.weapon.sedna.GunConfig; + +import net.minecraft.item.ItemStack; + +public class WeaponModGenericDurability extends WeaponModBase { + + public WeaponModGenericDurability(int id) { + super(id, "GENERIC_DURABILITY"); + this.setPriority(PRIORITY_MULTIPLICATIVE); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + + if(parent instanceof GunConfig && key == GunConfig.F_DURABILITY && base instanceof Float) { + return cast((Float) base * 2F, base); + } + + return base; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModGreasegun.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModGreasegun.java new file mode 100644 index 000000000..60ffeff59 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModGreasegun.java @@ -0,0 +1,50 @@ +package com.hbm.items.weapon.sedna.mods; + +import java.util.function.BiConsumer; + +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.factory.Orchestras; +import com.hbm.particle.SpentCasing; +import com.hbm.particle.helper.CasingCreator; +import com.hbm.render.anim.HbmAnimations.AnimType; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; + +public class WeaponModGreasegun extends WeaponModBase { + + public WeaponModGreasegun(int id) { + super(id, "FURNITURE"); + this.setPriority(PRIORITY_ADDITIVE); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + if(key == GunConfig.F_DURABILITY) return cast((Float) base * 3F, base); + if(key == Receiver.F_BASEDAMAGE) return cast((Float) base + 2F, base); + if(key == Receiver.F_SPREADINNATE) return cast(0F, base); + if(key == Receiver.I_DELAYAFTERFIRE) return cast((Integer) base / 2, base); + if(key == GunConfig.CON_ORCHESTRA) return (T) ORCHESTRA_GREASEGUN; + return base; + } + + public static BiConsumer ORCHESTRA_GREASEGUN = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + boolean aiming = ItemGunBaseNT.getIsAiming(stack); + + if(type == AnimType.CYCLE) { + if(timer == 1) { + SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.55, aiming ? 0 : -0.125, aiming ? 0 : -0.25D, 0, 0.18, -0.12, 0.01, -7.5F + (float)entity.getRNG().nextGaussian() * 5F, 12F + (float)entity.getRNG().nextGaussian() * 5F, casing.getName()); + } + return; + } + Orchestras.ORCHESTRA_GREASEGUN.accept(stack, ctx); + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModLasAuto.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModLasAuto.java new file mode 100644 index 000000000..2633a182f --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModLasAuto.java @@ -0,0 +1,23 @@ +package com.hbm.items.weapon.sedna.mods; + +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.Receiver; + +import net.minecraft.item.ItemStack; + +public class WeaponModLasAuto extends WeaponModBase { + + public WeaponModLasAuto(int id) { + super(id, "RECEIVER"); + this.setPriority(PRIORITY_SET); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + if(key == Receiver.F_BASEDAMAGE) return cast((Float) base * 0.66F, base); + if(key == Receiver.B_REFIREONHOLD) return cast(true, base); + if(key == Receiver.I_DELAYAFTERFIRE) return cast(5, base); + if(key == GunConfig.O_SCOPETEXTURE) return cast(null, base); + return base; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModLasCapacitor.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModLasCapacitor.java new file mode 100644 index 000000000..8d9eb4e89 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModLasCapacitor.java @@ -0,0 +1,27 @@ +package com.hbm.items.weapon.sedna.mods; + +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; + +import net.minecraft.item.ItemStack; + +public class WeaponModLasCapacitor extends WeaponModBase { + + public WeaponModLasCapacitor(int id) { + super(id, "UNDERBARREL"); + this.setPriority(PRIORITY_MULTIPLICATIVE); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + if(key == Receiver.F_BASEDAMAGE) return cast((Float) base * 1.05F, base); + if(key == Receiver.O_MAGAZINE) { + MagazineFullReload original = (MagazineFullReload) base; + WeaponModStackMag.DUMMY_FULL.acceptedBullets = original.acceptedBullets; + WeaponModStackMag.DUMMY_FULL.capacity = original.capacity * 3 / 2; + WeaponModStackMag.DUMMY_FULL.index = original.index; + return (T) WeaponModStackMag.DUMMY_FULL; + } + return base; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModLasShotgun.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModLasShotgun.java new file mode 100644 index 000000000..350b03189 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModLasShotgun.java @@ -0,0 +1,25 @@ +package com.hbm.items.weapon.sedna.mods; + +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.Receiver; + +import net.minecraft.item.ItemStack; + +public class WeaponModLasShotgun extends WeaponModBase { + + public WeaponModLasShotgun(int id) { + super(id, "BARREL"); + this.setPriority(PRIORITY_MULTIPLICATIVE); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + if(key == Receiver.F_BASEDAMAGE) return cast((Float) base * 0.35F, base); + if(key == Receiver.F_SPLITPROJECTILES) return cast((Float) base * 3F, base); + if(key == Receiver.F_SPREADINNATE) return cast((Float) base + 3F, base); + if(key == Receiver.F_SPREADHIPFIRE) return cast(0F, base); + if(key == GunConfig.O_CROSSHAIR) return cast(Crosshair.L_CIRCLE, base); + return base; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModLiberatorSpeedloader.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModLiberatorSpeedloader.java new file mode 100644 index 000000000..8d4070708 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModLiberatorSpeedloader.java @@ -0,0 +1,57 @@ +package com.hbm.items.weapon.sedna.mods; + +import java.util.function.BiFunction; + +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.factory.XFactory12ga; +import com.hbm.items.weapon.sedna.mags.IMagazine; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.items.weapon.sedna.mags.MagazineSingleReload; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; + +import net.minecraft.item.ItemStack; + +public class WeaponModLiberatorSpeedloader extends WeaponModBase { + + public static MagazineFullReload MAG = new MagazineFullReload(0, 4); + + public WeaponModLiberatorSpeedloader(int id) { + super(id, "SPEEDLOADER"); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + if(key == GunConfig.FUN_ANIMNATIONS) { return (T) LAMBDA_LIBERATOR_ANIMS; } + if(parent instanceof Receiver && base instanceof IMagazine && key == Receiver.O_MAGAZINE) { + MagazineSingleReload originalMag = (MagazineSingleReload) base; + if(MAG.acceptedBullets.isEmpty()) MAG.acceptedBullets.addAll(originalMag.acceptedBullets); + return (T) MAG; + } + + return base; + } + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_LIBERATOR_ANIMS = (stack, type) -> { + switch(type) { + case RELOAD: return new BusAnimation() + .addBus("LATCH", new BusAnimationSequence().addPos(15, 0, 0, 100)) + .addBus("BREAK", new BusAnimationSequence().addPos(0, 0, 0, 100).addPos(60, 0, 0, 350, IType.SIN_DOWN)) + .addBus("SHELL1", new BusAnimationSequence().addPos(2, -4, -2, 0).addPos(2, -4, -2, 400).addPos(0, 0, -2, 450, IType.SIN_FULL).addPos(0, 0, 0, 50, IType.SIN_UP)) + .addBus("SHELL2", new BusAnimationSequence().addPos(2, -4, -2, 0).addPos(2, -4, -2, 400).addPos(0, 0, -2, 450, IType.SIN_FULL).addPos(0, 0, 0, 50, IType.SIN_UP)) + .addBus("SHELL3", new BusAnimationSequence().addPos(2, -4, -2, 0).addPos(2, -4, -2, 400).addPos(0, 0, -2, 450, IType.SIN_FULL).addPos(0, 0, 0, 50, IType.SIN_UP)) + .addBus("SHELL4", new BusAnimationSequence().addPos(2, -4, -2, 0).addPos(2, -4, -2, 400).addPos(0, 0, -2, 450, IType.SIN_FULL).addPos(0, 0, 0, 50, IType.SIN_UP)); + case RELOAD_END: return new BusAnimation() + .addBus("LATCH", new BusAnimationSequence().addPos(15, 0, 0, 0).addPos(15, 0, 0, 250).addPos(0, 0, 0, 50)) + .addBus("BREAK", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 250, IType.SIN_UP)); + case JAMMED: return new BusAnimation() + .addBus("LATCH", new BusAnimationSequence().addPos(15, 0, 0, 0).addPos(15, 0, 0, 250).addPos(0, 0, 0, 50).addPos(0, 0, 0, 550).addPos(15, 0, 0, 100).addPos(15, 0, 0, 600).addPos(0, 0, 0, 50)) + .addBus("BREAK", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 250, IType.SIN_UP).addPos(0, 0, 0, 600).addPos(45, 0, 0, 250, IType.SIN_DOWN).addPos(45, 0, 0, 300).addPos(0, 0, 0, 150, IType.SIN_UP)); + } + + return XFactory12ga.LAMBDA_LIBERATOR_ANIMS.apply(stack, type); + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModMASBayonet.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModMASBayonet.java new file mode 100644 index 000000000..876be1c3b --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModMASBayonet.java @@ -0,0 +1,78 @@ +package com.hbm.items.weapon.sedna.mods; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; + +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.factory.Orchestras; +import com.hbm.items.weapon.sedna.factory.XFactory44; +import com.hbm.items.weapon.sedna.factory.XFactory762mm; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; +import com.hbm.util.EntityDamageUtil; + +import net.minecraft.block.Block; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MovingObjectPosition; + +public class WeaponModMASBayonet extends WeaponModBase { + + public WeaponModMASBayonet(int id) { + super(id, "BAYONET"); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + if(key == GunConfig.FUN_ANIMNATIONS) return (T) LAMBDA_MAS36_ANIMS; + if(key == GunConfig.I_INSPECTDURATION) return cast(30, base); + if(key == GunConfig.CON_ONPRESSSECONDARY) return (T) XFactory44.SMACK_A_FUCKER; + if(key == GunConfig.CON_ORCHESTRA) return (T) ORCHESTRA_MAS36; + if(key == GunConfig.I_INSPECTCANCEL) return cast(false, base); + return base; + } + + public static BiConsumer ORCHESTRA_MAS36 = (stack, ctx) -> { + EntityLivingBase entity = ctx.entity; + if(entity.worldObj.isRemote) return; + AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); + int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + + if(type == AnimType.INSPECT) { + + if(timer == 15 && ctx.getPlayer() != null) { + MovingObjectPosition mop = EntityDamageUtil.getMouseOver(ctx.getPlayer(), 3.0D); + if(mop != null) { + if(mop.typeOfHit == mop.typeOfHit.ENTITY) { + float damage = 15F; + mop.entityHit.attackEntityFrom(DamageSource.causePlayerDamage(ctx.getPlayer()), damage); + mop.entityHit.motionX *= 2; + mop.entityHit.motionZ *= 2; + entity.worldObj.playSoundAtEntity(mop.entityHit, "hbm:weapon.fire.stab", 1F, 0.9F + entity.getRNG().nextFloat() * 0.2F); + } + if(mop.typeOfHit == mop.typeOfHit.BLOCK) { + Block b = entity.worldObj.getBlock(mop.blockX, mop.blockY, mop.blockZ); + entity.worldObj.playSoundEffect(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, b.stepSound.getStepResourcePath(), 2F, 0.9F + entity.getRNG().nextFloat() * 0.2F); + } + } + } + return; + } + + Orchestras.ORCHESTRA_MAS36.accept(stack, ctx); + }; + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_MAS36_ANIMS = (stack, type) -> { + switch(type) { + case INSPECT: return new BusAnimation() + .addBus("STAB", new BusAnimationSequence().addPos(0, 1, -2, 250, IType.SIN_DOWN).hold(250).addPos(0, 1, 5, 250, IType.SIN_UP).hold(250).addPos(0, 0, 0, 500, IType.SIN_FULL)); + } + + return XFactory762mm.LAMBDA_MAS36_ANIMS.apply(stack, type); + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModManager.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModManager.java new file mode 100644 index 000000000..128341947 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModManager.java @@ -0,0 +1,363 @@ +package com.hbm.items.weapon.sedna.mods; + +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; + +import com.google.common.collect.HashBiMap; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.factory.XFactory9mm; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumModCaliber; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumModGeneric; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumModSpecial; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumModTest; +import com.hbm.items.weapon.sedna.factory.XFactory22lr; +import com.hbm.items.weapon.sedna.factory.XFactory357; +import com.hbm.items.weapon.sedna.factory.XFactory44; +import com.hbm.items.weapon.sedna.factory.XFactory45; +import com.hbm.items.weapon.sedna.factory.XFactory50; +import com.hbm.items.weapon.sedna.factory.XFactory556mm; +import com.hbm.items.weapon.sedna.factory.XFactory762mm; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +/** + * The mod manager operates by scraping upgrades from a gun, then iterating over them and evaluating the given value, passing the modified value to successive mods. + * The way that mods stack (additive vs multiplicative) depends on the order the mod is installed in + * + * @author hbm + */ +public class WeaponModManager { + + public static final String KEY_MOD_LIST = "KEY_MOD_LIST_"; + + /** Mapping of mods to IDs, keep the register order consistent! */ + public static HashBiMap idToMod = HashBiMap.create(); + /** Mapping of mod items to mod definitions */ + public static HashMap stackToMod = new HashMap(); + /** Map for turning individual mods back into their item form, used when uninstaling mods */ + public static HashMap modToStack = new HashMap(); + + /** Assigns the IWeaponMod instances to items */ + public static void init() { + + /* ORDER MATTERS! */ + /* CTOR contains registering to the idToMod, avoid reordering to prevent ID shifting! */ + /// TEST /// + IWeaponMod TEST_FIRERATE = new WeaponModTestFirerate(0, "FIRERATE"); + IWeaponMod TEST_DAMAGE = new WeaponModTestDamage(1, "DAMAGE"); + IWeaponMod TEST_MULTI = new WeaponModTestMulti(2, "MULTI"); + + new WeaponModDefinition(new ItemStack(ModItems.weapon_mod_test, 1, EnumModTest.FIRERATE.ordinal())).addDefault(TEST_FIRERATE); + new WeaponModDefinition(new ItemStack(ModItems.weapon_mod_test, 1, EnumModTest.DAMAGE.ordinal())).addDefault(TEST_DAMAGE); + new WeaponModDefinition(new ItemStack(ModItems.weapon_mod_test, 1, EnumModTest.MULTI.ordinal())).addDefault(TEST_MULTI); + + new WeaponModDefinition(new ItemStack(ModItems.weapon_mod_test, 1, EnumModTest.OVERRIDE_2_5.ordinal())).addDefault(new WeaponModOverride(3, 2.5F, "OVERRIDE")); + new WeaponModDefinition(new ItemStack(ModItems.weapon_mod_test, 1, EnumModTest.OVERRIDE_5.ordinal())).addDefault(new WeaponModOverride(4, 5F, "OVERRIDE")); + new WeaponModDefinition(new ItemStack(ModItems.weapon_mod_test, 1, EnumModTest.OVERRIDE_7_5.ordinal())).addDefault(new WeaponModOverride(5, 7.5F, "OVERRIDE")); + new WeaponModDefinition(new ItemStack(ModItems.weapon_mod_test, 1, EnumModTest.OVERRIDE_10.ordinal())).addDefault(new WeaponModOverride(6, 10F, "OVERRIDE")); + new WeaponModDefinition(new ItemStack(ModItems.weapon_mod_test, 1, EnumModTest.OVERRIDE_12_5.ordinal())).addDefault(new WeaponModOverride(7, 12_5F, "OVERRIDE")); + new WeaponModDefinition(new ItemStack(ModItems.weapon_mod_test, 1, EnumModTest.OVERRIDE_15.ordinal())).addDefault(new WeaponModOverride(8, 15F, "OVERRIDE")); + new WeaponModDefinition(new ItemStack(ModItems.weapon_mod_test, 1, EnumModTest.OVERRIDE_20.ordinal())).addDefault(new WeaponModOverride(9, 20F, "OVERRIDE")); + + new WeaponModDefinition(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.IRON_DAMAGE.ordinal())).addMod(ModItems.gun_pepperbox, new WeaponModGenericDamage(100)); + new WeaponModDefinition(new ItemStack(ModItems.weapon_mod_generic, 1, EnumModGeneric.IRON_DURA.ordinal())).addMod(ModItems.gun_pepperbox, new WeaponModGenericDurability(101)); + + Item[] steelGuns = new Item[] { + ModItems.gun_light_revolver, ModItems.gun_light_revolver_atlas, + ModItems.gun_henry, ModItems.gun_henry_lincoln, + ModItems.gun_greasegun, + ModItems.gun_maresleg, ModItems.gun_maresleg_akimbo, + ModItems.gun_flaregun }; + Item[] duraGuns = new Item[] { + ModItems.gun_am180, + ModItems.gun_liberator, + ModItems.gun_congolake, + ModItems.gun_flamer, + ModItems.gun_flamer_topaz }; + Item[] deshGuns = new Item[] { + ModItems.gun_heavy_revolver, + ModItems.gun_carbine, + ModItems.gun_uzi, ModItems.gun_uzi_akimbo, + ModItems.gun_spas12, + ModItems.gun_panzerschreck }; + Item[] wsteelGuns = new Item[] { + ModItems.gun_g3, ModItems.gun_g3_zebra, + ModItems.gun_stinger, + ModItems.gun_chemthrower }; + Item[] ferroGuns = new Item[] { + ModItems.gun_amat, + ModItems.gun_m2, + ModItems.gun_autoshotgun, ModItems.gun_autoshotgun_shredder, + ModItems.gun_quadro }; + Item[] tcalloyGuns = new Item[] { + ModItems.gun_lag, + ModItems.gun_minigun, + ModItems.gun_missile_launcher, + ModItems.gun_tesla_cannon }; + Item[] bigmtGuns = new Item[] { + ModItems.gun_laser_pistol, ModItems.gun_laser_pistol_pew_pew, + ModItems.gun_stg77, + ModItems.gun_fatman, + ModItems.gun_tau }; + Item[] bronzeGuns = new Item[] { + ModItems.gun_lasrifle }; + + new WeaponModDefinition(EnumModGeneric.STEEL_DAMAGE).addMod(steelGuns, new WeaponModGenericDamage(102)); + new WeaponModDefinition(EnumModGeneric.STEEL_DURA).addMod(steelGuns, new WeaponModGenericDurability(103)); + new WeaponModDefinition(EnumModGeneric.DURA_DAMAGE).addMod(duraGuns, new WeaponModGenericDamage(104)); + new WeaponModDefinition(EnumModGeneric.DURA_DURA).addMod(duraGuns, new WeaponModGenericDurability(105)); + new WeaponModDefinition(EnumModGeneric.DESH_DAMAGE).addMod(deshGuns, new WeaponModGenericDamage(106)); + new WeaponModDefinition(EnumModGeneric.DESH_DURA).addMod(deshGuns, new WeaponModGenericDurability(107)); + new WeaponModDefinition(EnumModGeneric.WSTEEL_DAMAGE).addMod(wsteelGuns, new WeaponModGenericDamage(108)); + new WeaponModDefinition(EnumModGeneric.WSTEEL_DURA).addMod(wsteelGuns, new WeaponModGenericDurability(109)); + new WeaponModDefinition(EnumModGeneric.FERRO_DAMAGE).addMod(ferroGuns, new WeaponModGenericDamage(110)); + new WeaponModDefinition(EnumModGeneric.FERRO_DURA).addMod(ferroGuns, new WeaponModGenericDurability(111)); + new WeaponModDefinition(EnumModGeneric.TCALLOY_DAMAGE).addMod(tcalloyGuns, new WeaponModGenericDamage(112)); + new WeaponModDefinition(EnumModGeneric.TCALLOY_DURA).addMod(tcalloyGuns, new WeaponModGenericDurability(113)); + new WeaponModDefinition(EnumModGeneric.BIGMT_DAMAGE).addMod(bigmtGuns, new WeaponModGenericDamage(114)); + new WeaponModDefinition(EnumModGeneric.BIGMT_DURA).addMod(bigmtGuns, new WeaponModGenericDurability(115)); + new WeaponModDefinition(EnumModGeneric.BRONZE_DAMAGE).addMod(bronzeGuns, new WeaponModGenericDamage(116)); + new WeaponModDefinition(EnumModGeneric.BRONZE_DURA).addMod(bronzeGuns, new WeaponModGenericDurability(117)); + + new WeaponModDefinition(EnumModSpecial.SPEEDLOADER).addMod(ModItems.gun_liberator, new WeaponModLiberatorSpeedloader(200)); + new WeaponModDefinition(EnumModSpecial.SILENCER).addMod(new Item[] {ModItems.gun_am180, ModItems.gun_uzi, ModItems.gun_uzi_akimbo, ModItems.gun_g3, ModItems.gun_amat}, new WeaponModSilencer(ID_SILENCER)); + new WeaponModDefinition(EnumModSpecial.SCOPE).addMod(new Item[] {ModItems.gun_heavy_revolver, ModItems.gun_g3, ModItems.gun_mas36, ModItems.gun_charge_thrower}, new WeaponModScope(ID_SCOPE)); + new WeaponModDefinition(EnumModSpecial.SAW) + .addMod(new Item[] {ModItems.gun_maresleg, ModItems.gun_double_barrel}, new WeaponModSawedOff(ID_SAWED_OFF)) + .addMod(ModItems.gun_panzerschreck, new WeaponModPanzerschreckSawedOff(ID_NO_SHIELD)) + .addMod(new Item[] {ModItems.gun_g3, ModItems.gun_g3_zebra}, new WeapnModG3SawedOff(ID_NO_STOCK)); + new WeaponModDefinition(EnumModSpecial.GREASEGUN).addMod(ModItems.gun_greasegun, new WeaponModGreasegun(ID_GREASEGUN_CLEAN)); + new WeaponModDefinition(EnumModSpecial.SLOWDOWN).addMod(new Item[] {ModItems.gun_minigun, ModItems.gun_minigun_dual}, new WeaponModSlowdown(207)); + new WeaponModDefinition(EnumModSpecial.SPEEDUP) + .addMod(new Item[] {ModItems.gun_minigun, ModItems.gun_minigun_dual}, new WeaponModMinigunSpeedup(ID_MINIGUN_SPEED)) + .addMod(new Item[] {ModItems.gun_autoshotgun, ModItems.gun_autoshotgun_shredder}, new WeaponModShredderSpeedup(209)); + new WeaponModDefinition(EnumModSpecial.CHOKE).addMod(new Item[] {ModItems.gun_pepperbox, ModItems.gun_maresleg, ModItems.gun_double_barrel, ModItems.gun_liberator, ModItems.gun_spas12, ModItems.gun_autoshotgun_sexy}, new WeaponModChoke(210)); + new WeaponModDefinition(EnumModSpecial.FURNITURE_GREEN).addMod(ModItems.gun_g3, new WeaponModPolymerFurniture(ID_FURNITURE_GREEN)); + new WeaponModDefinition(EnumModSpecial.FURNITURE_BLACK).addMod(ModItems.gun_g3, new WeaponModPolymerFurniture(ID_FURNITURE_BLACK)); + new WeaponModDefinition(EnumModSpecial.BAYONET) + .addMod(ModItems.gun_mas36, new WeaponModMASBayonet(ID_MAS_BAYONET)) + .addMod(ModItems.gun_carbine, new WeaponModCarbineBayonet(ID_CARBINE_BAYONET)); + new WeaponModDefinition(EnumModSpecial.STACK_MAG).addMod(new Item[] {ModItems.gun_greasegun, ModItems.gun_uzi, ModItems.gun_uzi_akimbo, ModItems.gun_aberrator, ModItems.gun_aberrator_eott}, new WeaponModStackMag(214)); + new WeaponModDefinition(EnumModSpecial.SKIN_SATURNITE).addMod(new Item[] {ModItems.gun_uzi, ModItems.gun_uzi_akimbo}, new WeaponModUziSaturnite(ID_UZI_SATURN)); + new WeaponModDefinition(EnumModSpecial.LAS_SHOTGUN).addMod(new Item[] {ModItems.gun_lasrifle}, new WeaponModLasShotgun(ID_LAS_SHOTGUN)); + new WeaponModDefinition(EnumModSpecial.LAS_CAPACITOR).addMod(new Item[] {ModItems.gun_lasrifle}, new WeaponModLasCapacitor(ID_LAS_CAPACITOR)); + new WeaponModDefinition(EnumModSpecial.LAS_AUTO).addMod(new Item[] {ModItems.gun_lasrifle}, new WeaponModLasAuto(ID_LAS_AUTO)); + + BulletConfig[] p9 = new BulletConfig[] {XFactory9mm.p9_sp, XFactory9mm.p9_fmj, XFactory9mm.p9_jhp, XFactory9mm.p9_ap}; + BulletConfig[] p45 = new BulletConfig[] {XFactory45.p45_sp, XFactory45.p45_fmj, XFactory45.p45_jhp, XFactory45.p45_ap, XFactory45.p45_du}; + BulletConfig[] p22 = new BulletConfig[] {XFactory22lr.p22_sp, XFactory22lr.p22_fmj, XFactory22lr.p22_jhp, XFactory22lr.p22_ap}; + BulletConfig[] m357 = new BulletConfig[] {XFactory357.m357_sp, XFactory357.m357_fmj, XFactory357.m357_jhp, XFactory357.m357_ap, XFactory357.m357_express}; + BulletConfig[] m44 = new BulletConfig[] {XFactory44.m44_sp, XFactory44.m44_fmj, XFactory44.m44_jhp, XFactory44.m44_ap, XFactory44.m44_express}; + BulletConfig[] r556 = new BulletConfig[] {XFactory556mm.r556_sp, XFactory556mm.r556_fmj, XFactory556mm.r556_jhp, XFactory556mm.r556_ap}; + BulletConfig[] r762 = new BulletConfig[] {XFactory762mm.r762_sp, XFactory762mm.r762_fmj, XFactory762mm.r762_jhp, XFactory762mm.r762_ap, XFactory762mm.r762_du, XFactory762mm.r762_he}; + BulletConfig[] bmg50 = new BulletConfig[] {XFactory50.bmg50_sp, XFactory50.bmg50_fmj, XFactory50.bmg50_jhp, XFactory50.bmg50_ap, XFactory50.bmg50_du, XFactory50.bmg50_he}; + new WeaponModDefinition(EnumModCaliber.P9) + .addMod(ModItems.gun_henry, new WeaponModCaliber(300, 28, 10F, p9)); + new WeaponModDefinition(EnumModCaliber.P45) + .addMod(ModItems.gun_henry, new WeaponModCaliber(310, 28, 10F, p45)) + .addMod(ModItems.gun_greasegun, new WeaponModCaliber(311, 24, 3F, p45)) + .addMod(ModItems.gun_uzi, new WeaponModCaliber(312, 24, 3F, p45)) + .addMod(ModItems.gun_uzi_akimbo, new WeaponModCaliber(313, 24, 3F, p45)) + .addMod(ModItems.gun_lag, new WeaponModCaliber(314, 15, 25F, p45)); + new WeaponModDefinition(EnumModCaliber.P22) + .addMod(ModItems.gun_henry, new WeaponModCaliber(320, 28, 10F, p22)) + .addMod(ModItems.gun_uzi, new WeaponModCaliber(321, 40, 3F, p22)) + .addMod(ModItems.gun_uzi_akimbo, new WeaponModCaliber(322, 40, 3F, p22)); + new WeaponModDefinition(EnumModCaliber.M357) + .addMod(ModItems.gun_henry, new WeaponModCaliber(330, 20, 10F, m357)) + .addMod(ModItems.gun_lag, new WeaponModCaliber(331, 15, 25F, m357)); + new WeaponModDefinition(EnumModCaliber.M44) + .addMod(ModItems.gun_lag, new WeaponModCaliber(340, 13, 25F, m44)); + new WeaponModDefinition(EnumModCaliber.R556) + .addMod(ModItems.gun_henry, new WeaponModCaliber(350, 10, 10F, r556)) + .addMod(ModItems.gun_carbine, new WeaponModCaliber(351, 20, 15F, r556)) + .addMod(new Item[] {ModItems.gun_minigun, ModItems.gun_minigun_dual}, new WeaponModCaliber(352, 0, 6F, r556)); + new WeaponModDefinition(EnumModCaliber.R762) + .addMod(ModItems.gun_henry, new WeaponModCaliber(360, 8, 10F, r762)) + .addMod(ModItems.gun_g3, new WeaponModCaliber(361, 24, 5F, r762)); + new WeaponModDefinition(EnumModCaliber.BMG50) + .addMod(ModItems.gun_henry, new WeaponModCaliber(370, 5, 10F, bmg50)) + .addMod(new Item[] {ModItems.gun_minigun, ModItems.gun_minigun_dual}, new WeaponModCaliber(371, 0, 6F, bmg50)); + } + + public static final int ID_SILENCER = 201; + public static final int ID_SCOPE = 202; + public static final int ID_SAWED_OFF = 203; + public static final int ID_NO_SHIELD = 204; + public static final int ID_NO_STOCK = 205; + public static final int ID_GREASEGUN_CLEAN = 206; + public static final int ID_MINIGUN_SPEED = 208; + public static final int ID_FURNITURE_GREEN = 211; + public static final int ID_FURNITURE_BLACK = 212; + public static final int ID_MAS_BAYONET = 213; + public static final int ID_UZI_SATURN = 215; + public static final int ID_LAS_SHOTGUN = 216; + public static final int ID_LAS_CAPACITOR = 217; + public static final int ID_LAS_AUTO = 218; + public static final int ID_CARBINE_BAYONET = 219; + + public static ItemStack[] getUpgradeItems(ItemStack stack, int cfg) { + if(!stack.hasTagCompound()) return new ItemStack[0]; + int[] modIds = stack.stackTagCompound.getIntArray(KEY_MOD_LIST + cfg); + if(modIds.length == 0) return new ItemStack[0]; + ItemStack[] mods = new ItemStack[modIds.length]; + for(int i = 0; i < mods.length; i++) { + IWeaponMod mod = idToMod.get(modIds[i]); + if(mod != null) { + mods[i] = mod != null ? modToStack.get(mod) : null; + if(mods[i] != null) mods[i] = mods[i].copy(); + } + } + return mods; + } + + public static boolean hasUpgrade(ItemStack stack, int cfg, int id) { + if(!stack.hasTagCompound()) return false; + int[] modIds = stack.stackTagCompound.getIntArray(KEY_MOD_LIST + cfg); + for(int i = 0; i < modIds.length; i++) { + if(modIds[i] == id) return true; + } + return false; + } + + /** Installs the supplied mods to the gun */ + public static void install(ItemStack stack, int cfg, ItemStack... mods) { + List toInstall = new ArrayList(); + ComparableStack gun = new ComparableStack(stack); + + for(ItemStack mod : mods) { + if(mod == null) continue; + ComparableStack comp = new ComparableStack(mod); + WeaponModDefinition def = stackToMod.get(comp); + if(def != null) { + IWeaponMod forGun = def.modByGun.get(gun); + if(forGun != null) toInstall.add(forGun); //since this code only runs for upgrading, we can just indexOf because who cares + else { + forGun = def.modByGun.get(null); + if(forGun != null) toInstall.add(forGun); + } + } + } + if(toInstall.isEmpty()) return; + toInstall.sort(modSorter); + if(!stack.hasTagCompound()) stack.stackTagCompound = new NBTTagCompound(); + int[] modIds = new int[toInstall.size()]; + for(int i = 0; i < modIds.length; i++) modIds[i] = idToMod.inverse().get(toInstall.get(i)); + stack.stackTagCompound.setIntArray(KEY_MOD_LIST + cfg, modIds); + } + + /** Wipes all mods from the gun */ + public static void uninstall(ItemStack stack, int cfg) { + if(stack.hasTagCompound()) { + stack.stackTagCompound.removeTag(KEY_MOD_LIST + cfg); + //no need to clean up empty stackTagCompound because gun NBT is never empty anyway + } + } + + public static void onInstallStack(ItemStack gun, ItemStack mod, int cfg) { + IWeaponMod newMod = modFromStack(gun, mod, cfg); + if(newMod == null) return; + newMod.onInstall(gun, mod, cfg); + } + + public static void onUninstallStack(ItemStack gun, ItemStack mod, int cfg) { + IWeaponMod newMod = modFromStack(gun, mod, cfg); + if(newMod == null) return; + newMod.onUninstall(gun, mod, cfg); + } + + public static IWeaponMod modFromStack(ItemStack gun, ItemStack mod, int cfg) { + if(gun == null || mod == null) return null; + WeaponModDefinition def = stackToMod.get(new ComparableStack(mod)); + if(def == null) return null; + IWeaponMod newMod = def.modByGun.get(new ComparableStack(gun).makeSingular()); //shift clicking causes the gun to have stack size 0! + if(newMod == null) newMod = def.modByGun.get(null); + return newMod; + } + + public static boolean isApplicable(ItemStack gun, ItemStack mod, int cfg, boolean checkMutex) { + IWeaponMod newMod = modFromStack(gun, mod, cfg); + if(newMod == null) return false; //if there's just no mod applicable + + if(checkMutex) for(int i : gun.stackTagCompound.getIntArray(KEY_MOD_LIST + cfg)) { + IWeaponMod iMod = idToMod.get(i); + if(iMod != null) for(String mutex0 : newMod.getSlots()) for(String mutex1 : iMod.getSlots()) { + if(mutex0.equals(mutex1)) return false; //if any of the mod's slots are already taken + } + } + + return true; //yippie! + } + + public static Comparator modSorter = new Comparator() { + + @Override + public int compare(IWeaponMod o1, IWeaponMod o2) { + return o2.getModPriority() - o1.getModPriority(); + } + }; + + /** Scrapes all upgrades, iterates over them and evaluates the given value. The parent (i.e. holder of the base value) + * is passed for context (so upgrades can differentiate primary and secondary receivers for example). Passing a null + * stack causes the base value to be returned. */ + public static T eval(T base, ItemStack stack, String key, Object parent, int cfg) { + if(stack == null) return base; + if(!stack.hasTagCompound()) return base; + + for(int i : stack.stackTagCompound.getIntArray(KEY_MOD_LIST + cfg)) { + IWeaponMod mod = idToMod.get(i); + if(mod != null) base = mod.eval(base, stack, key, parent); + } + + return base; + } + + public static class WeaponModDefinition { + + /** Holds the weapon mod handlers for each given gun. Key null refers to mods that apply to ALL guns that are otherwise not included. */ + public HashMap modByGun = new HashMap(); + public ItemStack stack; + + public WeaponModDefinition(ItemStack stack) { + this.stack = stack; + stackToMod.put(new ComparableStack(stack), this); + } + + public WeaponModDefinition(EnumModGeneric num) { + this(new ItemStack(ModItems.weapon_mod_generic, 1, num.ordinal())); + } + + public WeaponModDefinition(EnumModSpecial num) { + this(new ItemStack(ModItems.weapon_mod_special, 1, num.ordinal())); + } + + public WeaponModDefinition(EnumModCaliber num) { + this(new ItemStack(ModItems.weapon_mod_caliber, 1, num.ordinal())); + } + + public WeaponModDefinition addMod(ItemStack gun, IWeaponMod mod) { return addMod(new ComparableStack(gun), mod); } + public WeaponModDefinition addMod(Item gun, IWeaponMod mod) { return addMod(new ComparableStack(gun), mod); } + public WeaponModDefinition addMod(Item[] gun, IWeaponMod mod) { for(Item item : gun) addMod(new ComparableStack(item), mod); return this; } + public WeaponModDefinition addMod(ComparableStack gun, IWeaponMod mod) { + modByGun.put(gun, mod); + modToStack.put(mod, stack); + if(gun != null) { + ItemGunBaseNT nt = (ItemGunBaseNT) gun.item; + ComparableStack comp = new ComparableStack(stack); + if(!nt.recognizedMods.contains(comp)) nt.recognizedMods.add(comp); + } + return this; + } + + public WeaponModDefinition addDefault(IWeaponMod mod) { + return addMod((ComparableStack) null, mod); + } + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModMinigunSpeedup.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModMinigunSpeedup.java new file mode 100644 index 000000000..131c4cb9a --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModMinigunSpeedup.java @@ -0,0 +1,19 @@ +package com.hbm.items.weapon.sedna.mods; + +import com.hbm.items.weapon.sedna.Receiver; + +import net.minecraft.item.ItemStack; + +public class WeaponModMinigunSpeedup extends WeaponModBase { + + public WeaponModMinigunSpeedup(int id) { + super(id, "SPEED"); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + if(key == Receiver.I_ROUNDSPERCYCLE) return cast((Integer) base * 3, base); + if(key == Receiver.F_SPREADINNATE) return cast((Float) base * 1.5F, base); + return base; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModOverride.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModOverride.java new file mode 100644 index 000000000..54f68163b --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModOverride.java @@ -0,0 +1,22 @@ +package com.hbm.items.weapon.sedna.mods; + +import com.hbm.items.weapon.sedna.Receiver; + +import net.minecraft.item.ItemStack; + +public class WeaponModOverride extends WeaponModBase { + + protected final float baseDamage; + + public WeaponModOverride(int id, float baseDamage, String... slots) { + super(id, slots); + this.baseDamage = baseDamage; + this.setPriority(PRIORITY_SET); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + if(key == Receiver.F_BASEDAMAGE) return cast(baseDamage, base); + return base; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModPanzerschreckSawedOff.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModPanzerschreckSawedOff.java new file mode 100644 index 000000000..7e45dfaa6 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModPanzerschreckSawedOff.java @@ -0,0 +1,49 @@ +package com.hbm.items.weapon.sedna.mods; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; + +import com.hbm.extprop.HbmLivingProps; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.items.weapon.sedna.factory.Lego; +import com.hbm.items.weapon.sedna.factory.XFactoryRocket; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.HbmAnimations.AnimType; +import com.hbm.util.EntityDamageUtil; +import com.hbm.util.DamageResistanceHandler.DamageClass; + +import net.minecraft.item.ItemStack; + +public class WeaponModPanzerschreckSawedOff extends WeaponModBase { + + public WeaponModPanzerschreckSawedOff(int id) { + super(id, "SHIELD"); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + if(key == GunConfig.I_DRAWDURATION) return cast(5, base); + if(key == Receiver.CON_ONFIRE) { return (T) LAMBDA_FIRE; } + return base; + } + + @SuppressWarnings("incomplete-switch") public static BiFunction LAMBDA_PANZERSCHRECK_ANIMS = (stack, type) -> { + switch(type) { + case EQUIP: return new BusAnimation().addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 250, IType.SIN_DOWN)); + } + return XFactoryRocket.LAMBDA_PANZERSCHRECK_ANIMS.apply(stack, type); + }; + + public static BiConsumer LAMBDA_FIRE = (stack, ctx) -> { + Lego.LAMBDA_STANDARD_FIRE.accept(stack, ctx); + if(ctx.entity != null) { + HbmLivingProps.getData(ctx.entity).fire += 100; + EntityDamageUtil.attackEntityFromNT(ctx.entity, BulletConfig.getDamage(ctx.entity, ctx.entity, DamageClass.FIRE), 4F, true, false, 0F, 0F, 0F); + } + }; +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModPolymerFurniture.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModPolymerFurniture.java new file mode 100644 index 000000000..5961dfe2c --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModPolymerFurniture.java @@ -0,0 +1,27 @@ +package com.hbm.items.weapon.sedna.mods; + +import java.util.function.BiConsumer; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; + +import net.minecraft.item.ItemStack; + +public class WeaponModPolymerFurniture extends WeaponModBase { + + public WeaponModPolymerFurniture(int id) { + super(id, "FURNITURE"); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + if(key == Receiver.CON_ONRECOIL) return (T) LAMBDA_RECOIL_G3; + return base; + } + + public static BiConsumer LAMBDA_RECOIL_G3 = (stack, ctx) -> { + ItemGunBaseNT.setupRecoil((float) (ctx.getPlayer().getRNG().nextGaussian() * 0.125), (float) (ctx.getPlayer().getRNG().nextGaussian() * 0.125)); + }; + +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModSawedOff.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModSawedOff.java new file mode 100644 index 000000000..95f9b5f23 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModSawedOff.java @@ -0,0 +1,30 @@ +package com.hbm.items.weapon.sedna.mods; + +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.factory.XFactory12ga; + +import net.minecraft.item.ItemStack; + +public class WeaponModSawedOff extends WeaponModBase { + + public WeaponModSawedOff(int id) { + super(id, "BARREL"); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + + if(key == Receiver.F_SPREADINNATE) { return cast(Math.max(0.025F, (Float) base), base); } + if(key == Receiver.F_SPREADAMMO) { return cast((Float) base * 1.5F, base); } + if(key == Receiver.F_BASEDAMAGE) { return cast((Float) base * 1.35F, base); } + + if(gun.getItem() == ModItems.gun_maresleg) { + if(key == GunConfig.FUN_ANIMNATIONS) return (T) XFactory12ga.LAMBDA_MARESLEG_SHORT_ANIMS; + if(key == GunConfig.I_DRAWDURATION) return cast(5, base); + } + + return base; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModScope.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModScope.java new file mode 100644 index 000000000..7b595d151 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModScope.java @@ -0,0 +1,31 @@ +package com.hbm.items.weapon.sedna.mods; + +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality; +import com.hbm.items.weapon.sedna.factory.XFactory44; +import com.hbm.items.weapon.sedna.factory.XFactory556mm; +import com.hbm.items.weapon.sedna.factory.XFactoryTool; + +import net.minecraft.item.ItemStack; + +public class WeaponModScope extends WeaponModBase { + + public WeaponModScope(int id) { + super(id, "SCOPE"); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + + if(key == GunConfig.O_SCOPETEXTURE) { + if(gun.getItem() == ModItems.gun_heavy_revolver) return (T) XFactory44.scope_lilmac; + if(((ItemGunBaseNT) gun.getItem()).quality == WeaponQuality.UTILITY) return (T) XFactoryTool.scope; + return (T) XFactory556mm.scope; + } + if(key == GunConfig.B_HIDECROSSHAIR) return cast(true, base); // just in case + + return base; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModShredderSpeedup.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModShredderSpeedup.java new file mode 100644 index 000000000..fd34cb64b --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModShredderSpeedup.java @@ -0,0 +1,19 @@ +package com.hbm.items.weapon.sedna.mods; + +import com.hbm.items.weapon.sedna.Receiver; + +import net.minecraft.item.ItemStack; + +public class WeaponModShredderSpeedup extends WeaponModBase { + + public WeaponModShredderSpeedup(int id) { + super(id, "SPEED"); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + if(key == Receiver.I_DELAYAFTERFIRE) return cast((Integer) base / 2, base); + if(key == Receiver.I_DELAYAFTERDRYFIRE) return cast((Integer) base / 2, base); + return base; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModSilencer.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModSilencer.java new file mode 100644 index 000000000..52cdac0c3 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModSilencer.java @@ -0,0 +1,24 @@ +package com.hbm.items.weapon.sedna.mods; + +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.Receiver; + +import net.minecraft.item.ItemStack; + +public class WeaponModSilencer extends WeaponModBase { + + public WeaponModSilencer(int id) { + super(id, "SILENCER"); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + + if(key == Receiver.S_FIRESOUND) { + if(gun.getItem() == ModItems.gun_amat) return (T) "hbm:weapon.silencerShoot"; + return (T) "hbm:weapon.fire.silenced"; + } + + return base; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModSlowdown.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModSlowdown.java new file mode 100644 index 000000000..bb1919dd7 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModSlowdown.java @@ -0,0 +1,19 @@ +package com.hbm.items.weapon.sedna.mods; + +import com.hbm.items.weapon.sedna.Receiver; + +import net.minecraft.item.ItemStack; + +public class WeaponModSlowdown extends WeaponModBase { + + public WeaponModSlowdown(int id) { + super(id, "SPEED"); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + if(key == Receiver.I_DELAYAFTERFIRE) return cast((Integer) base * 2, base); + if(key == Receiver.F_SPREADINNATE) return cast(0F, base); + return base; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModStackMag.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModStackMag.java new file mode 100644 index 000000000..6fd3e35a1 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModStackMag.java @@ -0,0 +1,41 @@ +package com.hbm.items.weapon.sedna.mods; + +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.items.weapon.sedna.mags.MagazineSingleReload; + +import net.minecraft.item.ItemStack; + +public class WeaponModStackMag extends WeaponModBase { + + // we can get away with reusing and re-adjusting these single instances because magazines + // aren't permanent objects, they are not cached anywhere, a magazine is only relevant + // for accessing the itemstack's ammo info and for the state machine's reload operation + protected static MagazineSingleReload DUMMY_SINGLE = new MagazineSingleReload(0, 0); + protected static MagazineFullReload DUMMY_FULL = new MagazineFullReload(0, 0); + + public WeaponModStackMag(int id) { + super(id, "MAG"); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + if(key == Receiver.O_MAGAZINE) { + if(base instanceof MagazineSingleReload) { + MagazineSingleReload original = (MagazineSingleReload) base; + DUMMY_SINGLE.acceptedBullets = original.acceptedBullets; + DUMMY_SINGLE.capacity = original.capacity * 3 / 2; + DUMMY_SINGLE.index = original.index; + return (T) DUMMY_SINGLE; + } + if(base instanceof MagazineFullReload) { + MagazineFullReload original = (MagazineFullReload) base; + DUMMY_FULL.acceptedBullets = original.acceptedBullets; + DUMMY_FULL.capacity = original.capacity * 3 / 2; + DUMMY_FULL.index = original.index; + return (T) DUMMY_FULL; + } + } + return base; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModTestDamage.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModTestDamage.java new file mode 100644 index 000000000..214650bd7 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModTestDamage.java @@ -0,0 +1,23 @@ +package com.hbm.items.weapon.sedna.mods; + +import com.hbm.items.weapon.sedna.Receiver; + +import net.minecraft.item.ItemStack; + +public class WeaponModTestDamage extends WeaponModBase { + + public WeaponModTestDamage(int id, String... slots) { + super(id, slots); + this.setPriority(PRIORITY_MULT_FINAL); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + + if(parent instanceof Receiver && key == Receiver.F_BASEDAMAGE && base instanceof Float) { + return cast((Float) base * 1.5F, base); + } + + return base; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModTestFirerate.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModTestFirerate.java new file mode 100644 index 000000000..67aeb2157 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModTestFirerate.java @@ -0,0 +1,23 @@ +package com.hbm.items.weapon.sedna.mods; + +import com.hbm.items.weapon.sedna.Receiver; + +import net.minecraft.item.ItemStack; + +public class WeaponModTestFirerate extends WeaponModBase { + + public WeaponModTestFirerate(int id, String... slots) { + super(id, slots); + this.setPriority(PRIORITY_MULT_FINAL); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + + if(parent instanceof Receiver && key == Receiver.I_DELAYAFTERFIRE && base instanceof Integer) { + return cast(Math.max((Integer) base / 2, 1), base); + } + + return base; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModTestMulti.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModTestMulti.java new file mode 100644 index 000000000..6c92fe6e3 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModTestMulti.java @@ -0,0 +1,23 @@ +package com.hbm.items.weapon.sedna.mods; + +import com.hbm.items.weapon.sedna.Receiver; + +import net.minecraft.item.ItemStack; + +public class WeaponModTestMulti extends WeaponModBase { + + public WeaponModTestMulti(int id, String... slots) { + super(id, slots); + this.setPriority(PRIORITY_MULT_FINAL); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + + if(parent instanceof Receiver && key == Receiver.I_ROUNDSPERCYCLE && base instanceof Integer) { + return cast((Integer) base * 3, base); + } + + return base; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModUziSaturnite.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModUziSaturnite.java new file mode 100644 index 000000000..2acc446eb --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModUziSaturnite.java @@ -0,0 +1,21 @@ +package com.hbm.items.weapon.sedna.mods; + +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.Receiver; + +import net.minecraft.item.ItemStack; + +public class WeaponModUziSaturnite extends WeaponModBase { + + public WeaponModUziSaturnite(int id) { + super(id, "FURNITURE"); + this.setPriority(PRIORITY_ADDITIVE); + } + + @Override + public T eval(T base, ItemStack gun, String key, Object parent) { + if(key == GunConfig.F_DURABILITY) return cast((Float) base * 5F, base); + if(key == Receiver.F_BASEDAMAGE) return cast((Float) base + 3F, base); + return base; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/package-info.java b/src/main/java/com/hbm/items/weapon/sedna/package-info.java new file mode 100644 index 000000000..a23713eca --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/sedna/package-info.java @@ -0,0 +1,24 @@ +/** + * + */ +/** + * @author hbm + * + */ +package com.hbm.items.weapon.sedna; + +/* + +The MK2 unified gun system SEDNA + +ItemGunBase - NBT, timer, keybind handling + | GunConfig (1) - durability and sights + | Receiver (n) - base damage, fire modes + | Magazine (1) - NBT, reload management + | BulletConfig (n) - ammo stats + +Based on this system, alt fire that should logically use the same receiver actually use two different receivers, and +by extension two different mag fields. In this case, make sure to use the same mag instance (or an identical one) +on either receiver to ensure that both receivers access the same ammo pool and accept the same ammo types. + +*/ \ No newline at end of file diff --git a/src/main/java/com/hbm/lib/HbmChestContents.java b/src/main/java/com/hbm/lib/HbmChestContents.java index 7c3c1f9f6..157ff80ea 100644 --- a/src/main/java/com/hbm/lib/HbmChestContents.java +++ b/src/main/java/com/hbm/lib/HbmChestContents.java @@ -1,20 +1,19 @@ package com.hbm.lib; -import java.util.Random; - import com.hbm.items.special.ItemBookLore; - import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.WeightedRandomChestContent; +import java.util.Random; + public class HbmChestContents { public static WeightedRandomChestContent weighted(Item item, int meta, int min, int max, int weight) { return new WeightedRandomChestContent(item, meta, Math.min(min, max), Math.max(min, max), weight); } public static WeightedRandomChestContent weighted(Block block, int meta, int min, int max, int weight) { return new WeightedRandomChestContent(Item.getItemFromBlock(block), meta, Math.min(min, max), Math.max(min, max), weight); } public static WeightedRandomChestContent weighted(ItemStack item, int min, int max, int weight) { return new WeightedRandomChestContent(item, Math.min(min, max), Math.max(min, max), weight); } - + /** ITEMBOOKLORE SHIT */ //one downside of all this huge flexibility, make a wrapper if it's too annoying public static ItemStack generateOfficeBook(Random rand) { //TODO rework this lore in general @@ -28,14 +27,14 @@ public class HbmChestContents { case 4: key = "memo_schrab_nuke"; pages = 3; break; default: return null; } - + return ItemBookLore.createBook(key, pages, 0x6BC8FF, 0x0A0A0A); } - + public static ItemStack generateLabBook(Random rand) { String key; int pages; - + switch(rand.nextInt(5)) { case 0: key = "bf_bomb_1"; pages = 4; break; case 1: key = "bf_bomb_2"; pages = 6; break; @@ -44,7 +43,7 @@ public class HbmChestContents { case 4: key = "bf_bomb_5"; pages = 9; break; default: return null; } - + return ItemBookLore.createBook(key, pages, 0x1E1E1E, 0x46EA44); } } diff --git a/src/main/java/com/hbm/lib/HbmCollection.java b/src/main/java/com/hbm/lib/HbmCollection.java index 6c2e7df23..577e990a8 100644 --- a/src/main/java/com/hbm/lib/HbmCollection.java +++ b/src/main/java/com/hbm/lib/HbmCollection.java @@ -1,79 +1,7 @@ package com.hbm.lib; -import java.util.List; -import java.util.Set; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.items.weapon.ItemAmmo.AmmoItemTrait; - public class HbmCollection { - - public static final Set APType = ImmutableSet.of(AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.CON_WEAR); - public static final Set FlechetteType = ImmutableSet.of(AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_LESS_BOUNCY, AmmoItemTrait.CON_WEAR); - public static final Set IncendiaryType = ImmutableSet.of(AmmoItemTrait.PRO_INCENDIARY, AmmoItemTrait.CON_WEAR); - public static final Set PhosphorusType = ImmutableSet.of(AmmoItemTrait.PRO_PHOSPHORUS, AmmoItemTrait.NEU_WARCRIME1, AmmoItemTrait.CON_WEAR, AmmoItemTrait.CON_PENETRATION); - public static final Set PhosphorusTypeSpecial = ImmutableSet.of(AmmoItemTrait.PRO_PHOSPHORUS_SPLASH, AmmoItemTrait.NEU_WARCRIME1, AmmoItemTrait.CON_WEAR); - public static final Set ExplosiveType = ImmutableSet.of(AmmoItemTrait.PRO_EXPLOSIVE, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.CON_HEAVY_WEAR); - public static final Set DUType = ImmutableSet.of(AmmoItemTrait.PRO_HEAVY_DAMAGE, AmmoItemTrait.NEU_HEAVY_METAL, AmmoItemTrait.CON_HEAVY_WEAR); - public static final Set StarmetalType = ImmutableSet.of(AmmoItemTrait.PRO_HEAVY_DAMAGE, AmmoItemTrait.NEU_STARMETAL, AmmoItemTrait.CON_HEAVY_WEAR); - public static final Set ChlorophyteType = ImmutableSet.of(AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_WEAR, AmmoItemTrait.PRO_PENETRATION, AmmoItemTrait.NEU_CHLOROPHYTE, AmmoItemTrait.NEU_HOMING, AmmoItemTrait.CON_SPEED); - - /// BULLET COLLECTIONS - // SHOTGUNS - /** 12 GAUGE **/ - public static final List g12 = ImmutableList.of(BulletConfigSyncingUtil.G12_NORMAL, BulletConfigSyncingUtil.G12_INCENDIARY, BulletConfigSyncingUtil.G12_SHRAPNEL, BulletConfigSyncingUtil.G12_DU, BulletConfigSyncingUtil.G12_AM, BulletConfigSyncingUtil.G12_SLEEK, BulletConfigSyncingUtil.G12_PERCUSSION); - public static final List g12hs = ImmutableList.of(BulletConfigSyncingUtil.G12HS_NORMAL, BulletConfigSyncingUtil.G12HS_INCENDIARY, BulletConfigSyncingUtil.G12HS_SHRAPNEL, BulletConfigSyncingUtil.G12HS_DU, BulletConfigSyncingUtil.G12HS_AM, BulletConfigSyncingUtil.G12HS_SLEEK, BulletConfigSyncingUtil.G12HS_PERCUSSION); - /** 20 GAUGE **/ - public static final List g20 = ImmutableList.of(BulletConfigSyncingUtil.G20_NORMAL, BulletConfigSyncingUtil.G20_SLUG, BulletConfigSyncingUtil.G20_FLECHETTE, BulletConfigSyncingUtil.G20_FIRE, BulletConfigSyncingUtil.G20_SHRAPNEL, BulletConfigSyncingUtil.G20_EXPLOSIVE, BulletConfigSyncingUtil.G20_CAUSTIC, BulletConfigSyncingUtil.G20_SHOCK, BulletConfigSyncingUtil.G20_WITHER, BulletConfigSyncingUtil.G20_SLEEK); - /** 4 GAUGE **/ - public static final List g4 = ImmutableList.of(BulletConfigSyncingUtil.G4_NORMAL, BulletConfigSyncingUtil.G4_SLUG, BulletConfigSyncingUtil.G4_FLECHETTE, BulletConfigSyncingUtil.G4_FLECHETTE_PHOSPHORUS, BulletConfigSyncingUtil.G4_EXPLOSIVE, BulletConfigSyncingUtil.G4_SEMTEX, BulletConfigSyncingUtil.G4_BALEFIRE, BulletConfigSyncingUtil.G4_KAMPF, BulletConfigSyncingUtil.G4_CANISTER, BulletConfigSyncingUtil.G4_CLAW, BulletConfigSyncingUtil.G4_VAMPIRE, BulletConfigSyncingUtil.G4_VOID, BulletConfigSyncingUtil.G4_TITAN, BulletConfigSyncingUtil.G4_SLEEK); - // PISTOL CALIBER - /** .22 LONG RIFLE **/ - public static final List lr22 = ImmutableList.of(BulletConfigSyncingUtil.LR22_NORMAL, BulletConfigSyncingUtil.LR22_AP, BulletConfigSyncingUtil.CHL_LR22); - public static final List lr22Inc = ImmutableList.of(BulletConfigSyncingUtil.LR22_NORMAL_FIRE, BulletConfigSyncingUtil.LR22_AP_FIRE, BulletConfigSyncingUtil.CHL_LR22_FIRE); - /** .44 MAGNUM (BASIC) **/ - public static final List m44Normal = ImmutableList.of(BulletConfigSyncingUtil.M44_NORMAL, BulletConfigSyncingUtil.M44_AP, BulletConfigSyncingUtil.M44_DU, BulletConfigSyncingUtil.M44_PHOSPHORUS, BulletConfigSyncingUtil.M44_STAR, BulletConfigSyncingUtil.CHL_M44, BulletConfigSyncingUtil.M44_ROCKET); - /** .44 MAGNUM (ALL) **/ - public static final List m44All = ImmutableList.of(BulletConfigSyncingUtil.M44_NORMAL, BulletConfigSyncingUtil.M44_AP, BulletConfigSyncingUtil.M44_DU, BulletConfigSyncingUtil.M44_PHOSPHORUS, BulletConfigSyncingUtil.M44_STAR, BulletConfigSyncingUtil.CHL_M44, BulletConfigSyncingUtil.M44_ROCKET, BulletConfigSyncingUtil.M44_PIP, BulletConfigSyncingUtil.M44_BJ, BulletConfigSyncingUtil.M44_SILVER); - /** .50 ACTION EXPRESS **/ - public static final List ae50 = ImmutableList.of(BulletConfigSyncingUtil.AE50_NORMAL, BulletConfigSyncingUtil.AE50_AP, BulletConfigSyncingUtil.AE50_DU, BulletConfigSyncingUtil.AE50_STAR, BulletConfigSyncingUtil.CHL_AE50); - /** 9MM Parabellum **/ - public static final List p9 = ImmutableList.of(BulletConfigSyncingUtil.P9_NORMAL, BulletConfigSyncingUtil.P9_AP, BulletConfigSyncingUtil.P9_DU, BulletConfigSyncingUtil.CHL_P9, BulletConfigSyncingUtil.P9_ROCKET); - /** .45 AUTOMATIC COLT PISTOL **/ - public static final List acp45 = ImmutableList.of(BulletConfigSyncingUtil.ACP_45, BulletConfigSyncingUtil.ACP_45_AP, BulletConfigSyncingUtil.ACP_45_DU); - // RIFLE CALIBER - /** .50 BROWNING MACHINE GUN **/ - public static final List bmg50 = ImmutableList.of(BulletConfigSyncingUtil.BMG50_NORMAL, BulletConfigSyncingUtil.BMG50_INCENDIARY, BulletConfigSyncingUtil.BMG50_PHOSPHORUS, BulletConfigSyncingUtil.BMG50_EXPLOSIVE, BulletConfigSyncingUtil.BMG50_AP, BulletConfigSyncingUtil.BMG50_DU, BulletConfigSyncingUtil.BMG50_STAR, BulletConfigSyncingUtil.CHL_BMG50, BulletConfigSyncingUtil.BMG50_SLEEK); - /** .50 BROWNING MACHINE GUN (FLECHETTE) **/ - public static final List bmg50Flechette = ImmutableList.of(BulletConfigSyncingUtil.BMG50_FLECHETTE_AM, BulletConfigSyncingUtil.BMG50_FLECHETTE_NORMAL, BulletConfigSyncingUtil.BMG50_FLECHETTE_PO); - /** 5.56MMx45 NATO (BASIC) **/ - public static final List r556 = ImmutableList.of(BulletConfigSyncingUtil.R556_NORMAL, BulletConfigSyncingUtil.R556_TRACER, BulletConfigSyncingUtil.R556_PHOSPHORUS, BulletConfigSyncingUtil.R556_AP, BulletConfigSyncingUtil.R556_DU, BulletConfigSyncingUtil.R556_STAR, BulletConfigSyncingUtil.CHL_R556, BulletConfigSyncingUtil.R556_SLEEK, BulletConfigSyncingUtil.R556_K, BulletConfigSyncingUtil.R556_GOLD); - /** 5.56MMx45 NATO (FLECHETTE) **/ - public static final List r556Flechette = ImmutableList.of(BulletConfigSyncingUtil.R556_FLECHETTE, BulletConfigSyncingUtil.R556_FLECHETTE_INCENDIARY, BulletConfigSyncingUtil.R556_FLECHETTE_PHOSPHORUS, BulletConfigSyncingUtil.R556_FLECHETTE_DU, BulletConfigSyncingUtil.CHL_R556_FLECHETTE, BulletConfigSyncingUtil.R556_FLECHETTE_SLEEK, BulletConfigSyncingUtil.R556_K); - /** 7.62x51mm NATO **/ - public static final List r762 = ImmutableList.of(BulletConfigSyncingUtil.R762_NORMAL, BulletConfigSyncingUtil.R762_PHOSPHORUS, BulletConfigSyncingUtil.R762_AP, BulletConfigSyncingUtil.R762_DU, BulletConfigSyncingUtil.R762_TRACER, BulletConfigSyncingUtil.R762_K); - /** 5MM **/ - public static final List r5 = ImmutableList.of(BulletConfigSyncingUtil.R5_NORMAL, BulletConfigSyncingUtil.R5_EXPLOSIVE, BulletConfigSyncingUtil.R5_DU, BulletConfigSyncingUtil.R5_STAR, BulletConfigSyncingUtil.CHL_R5); - /** 5MM LACUNAE **/ - public static final List r5Bolt = ImmutableList.of(BulletConfigSyncingUtil.R5_NORMAL_BOLT, BulletConfigSyncingUtil.R5_EXPLOSIVE_BOLT, BulletConfigSyncingUtil.R5_DU_BOLT, BulletConfigSyncingUtil.R5_STAR_BOLT, BulletConfigSyncingUtil.CHL_R5_BOLT); - // MISC - /** .75 **/ - public static final List b75 = ImmutableList.of(BulletConfigSyncingUtil.B75_NORMAL, BulletConfigSyncingUtil.B75_INCENDIARY, BulletConfigSyncingUtil.B75_HE); - /** 240MM SHELL **/ - public static final List cannon = ImmutableList.of(BulletConfigSyncingUtil.SHELL_NORMAL, BulletConfigSyncingUtil.SHELL_EXPLOSIVE, BulletConfigSyncingUtil.SHELL_AP, BulletConfigSyncingUtil.SHELL_DU, BulletConfigSyncingUtil.SHELL_W9); - /** FLAMETHROWER FUEL **/ - public static final List flamer = ImmutableList.of(BulletConfigSyncingUtil.FLAMER_NORMAL, BulletConfigSyncingUtil.FLAMER_NAPALM, BulletConfigSyncingUtil.FLAMER_WP, BulletConfigSyncingUtil.FLAMER_VAPORIZER, BulletConfigSyncingUtil.FLAMER_GAS); - /** MINI-NUKES **/ - public static final List fatman = ImmutableList.of(BulletConfigSyncingUtil.NUKE_NORMAL, BulletConfigSyncingUtil.NUKE_LOW, BulletConfigSyncingUtil.NUKE_HIGH, BulletConfigSyncingUtil.NUKE_TOTS, BulletConfigSyncingUtil.NUKE_SAFE, BulletConfigSyncingUtil.NUKE_PUMPKIN, BulletConfigSyncingUtil.NUKE_BARREL); - /** MIRV MINI-NUKES **/ - public static final List fatmanMIRV = ImmutableList.of(BulletConfigSyncingUtil.NUKE_MIRV_NORMAL, BulletConfigSyncingUtil.NUKE_MIRV_LOW, BulletConfigSyncingUtil.NUKE_MIRV_HIGH, BulletConfigSyncingUtil.NUKE_MIRV_SAFE, BulletConfigSyncingUtil.NUKE_MIRV_SPECIAL); - /** 40MM GRENADE **/ - public static final List grenade = ImmutableList.of(BulletConfigSyncingUtil.GRENADE_NORMAL, BulletConfigSyncingUtil.GRENADE_HE, BulletConfigSyncingUtil.GRENADE_INCENDIARY, BulletConfigSyncingUtil.GRENADE_PHOSPHORUS, BulletConfigSyncingUtil.GRENADE_CHEMICAL, BulletConfigSyncingUtil.GRENADE_CONCUSSION, BulletConfigSyncingUtil.GRENADE_FINNED, BulletConfigSyncingUtil.GRENADE_SLEEK, BulletConfigSyncingUtil.GRENADE_NUCLEAR, BulletConfigSyncingUtil.GRENADE_TRACER, BulletConfigSyncingUtil.GRENADE_KAMPF, BulletConfigSyncingUtil.GRENADE_LEADBURSTER); - /** 84MM ROCKET **/ - public static final List rocket = ImmutableList.of(BulletConfigSyncingUtil.ROCKET_NORMAL, BulletConfigSyncingUtil.ROCKET_HE, BulletConfigSyncingUtil.ROCKET_INCENDIARY, BulletConfigSyncingUtil.ROCKET_PHOSPHORUS, BulletConfigSyncingUtil.ROCKET_SHRAPNEL, BulletConfigSyncingUtil.ROCKET_EMP, BulletConfigSyncingUtil.ROCKET_GLARE, BulletConfigSyncingUtil.ROCKET_TOXIC, BulletConfigSyncingUtil.ROCKET_CANISTER, BulletConfigSyncingUtil.ROCKET_SLEEK, BulletConfigSyncingUtil.ROCKET_NUKE, BulletConfigSyncingUtil.ROCKET_CHAINSAW); - + /// FREQUENTLY USED TRANSLATION KEYS // GUN MANUFACTURERS public static enum EnumGunManufacturer { @@ -171,12 +99,12 @@ public class HbmCollection { WINCHESTER, /**Winchester Repeating Arms Company / Big MT**/ WINCHESTER_BIGMT; - + public String getKey() { return "gun.make." + toString(); } } - + // GUN DETAILS public static final String ammo = "desc.item.gun.ammo"; public static final String ammoMag = "desc.item.gun.ammoMag"; diff --git a/src/main/java/com/hbm/lib/HbmWorld.java b/src/main/java/com/hbm/lib/HbmWorld.java index 3c6b89701..ed4ca9208 100644 --- a/src/main/java/com/hbm/lib/HbmWorld.java +++ b/src/main/java/com/hbm/lib/HbmWorld.java @@ -1,53 +1,47 @@ package com.hbm.lib; import com.hbm.world.gen.MapGenNTMFeatures; +import com.hbm.world.gen.NBTStructure; import com.hbm.world.gen.NTMWorldGenerator; -import com.hbm.world.gen.component.BunkerComponents; +import com.hbm.world.gen.component.*; import com.hbm.world.gen.component.BunkerComponents.BunkerStart; -import com.hbm.world.gen.component.CivilianFeatures; -import com.hbm.world.gen.component.OfficeFeatures; -import com.hbm.world.gen.component.RuinFeatures; -import com.hbm.world.gen.component.SiloComponent; - import cpw.mods.fml.common.IWorldGenerator; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.world.gen.structure.MapGenStructureIO; import net.minecraftforge.common.MinecraftForge; public class HbmWorld { - + public static void mainRegistry() { initWorldGen(); } - - public static NTMWorldGenerator worldGenerator; - - public static void initWorldGen() { - //MapGenStructureIO.registerStructure(StructureStartTest.class, "HFR_STRUCTURE"); - //MapGenStructureIO.func_143031_a(StructureComponentTest.class, "HFR_COMPONENT"); + public static NTMWorldGenerator worldGenerator; + + public static void initWorldGen() { MapGenStructureIO.registerStructure(MapGenNTMFeatures.Start.class, "NTMFeatures"); MapGenStructureIO.registerStructure(BunkerStart.class, "NTMBunker"); registerNTMFeatures(); - + registerWorldGen(new HbmWorldGen(), 1); - + worldGenerator = new NTMWorldGenerator(); registerWorldGen(worldGenerator, 1); //Ideally, move everything over from HbmWorldGen to NTMWorldGenerator MinecraftForge.EVENT_BUS.register(worldGenerator); - //registerWorldGen(new WorldGenTest(), 1); + + NBTStructure.register(); } - - public static void registerWorldGen(IWorldGenerator nukerWorldGen, int weightedProbability) { + + private static void registerWorldGen(IWorldGenerator nukerWorldGen, int weightedProbability) { GameRegistry.registerWorldGenerator(nukerWorldGen, weightedProbability); } - + /** Register structures in MapGenStructureIO */ - public static void registerNTMFeatures() { + private static void registerNTMFeatures() { CivilianFeatures.registerComponents(); OfficeFeatures.registerComponents(); RuinFeatures.registerComponents(); BunkerComponents.registerComponents(); MapGenStructureIO.func_143031_a(SiloComponent.class, "NTMSiloComponent"); } -} +} \ No newline at end of file diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index e17c1b0fd..6bdbc7b8b 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -1,10 +1,7 @@ package com.hbm.lib; -import java.util.Random; - import com.hbm.blocks.BlockEnums.EnumStoneType; import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.generic.BlockMotherOfAllOres; import com.hbm.blocks.generic.BlockNTMFlower.EnumFlowerType; import com.hbm.config.GeneralConfig; import com.hbm.config.MobConfig; @@ -22,38 +19,24 @@ import com.hbm.tileentity.machine.storage.TileEntitySoyuzCapsule; import com.hbm.util.LootGenerator; import com.hbm.util.WeightedRandomGeneric; import com.hbm.world.dungeon.*; -import com.hbm.world.feature.BedrockOre; +import com.hbm.world.feature.*; import com.hbm.world.feature.BedrockOre.BedrockOreDefinition; -import com.hbm.world.feature.DepthDeposit; -import com.hbm.world.feature.Dud; -import com.hbm.world.feature.Geyser; -import com.hbm.world.feature.GeyserLarge; -import com.hbm.world.feature.GlyphidHive; -import com.hbm.world.feature.Meteorite; -import com.hbm.world.feature.OilBubble; -import com.hbm.world.feature.OilSandBubble; -import com.hbm.world.feature.OilSpot; -import com.hbm.world.feature.Sellafield; import com.hbm.world.generator.CellularDungeonFactory; import com.hbm.world.generator.DungeonToolbox; - +import cpw.mods.fml.common.IWorldGenerator; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntityChest; -import net.minecraft.tileentity.TileEntitySkull; import net.minecraft.util.WeightedRandom; import net.minecraft.util.WeightedRandomChestContent; import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.biome.BiomeGenBeach; -import net.minecraft.world.biome.BiomeGenForest; -import net.minecraft.world.biome.BiomeGenJungle; -import net.minecraft.world.biome.BiomeGenRiver; +import net.minecraft.world.biome.*; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.feature.WorldGenMinable; import net.minecraftforge.common.util.ForgeDirection; -import cpw.mods.fml.common.IWorldGenerator; + +import java.util.Random; public class HbmWorldGen implements IWorldGenerator { @@ -71,13 +54,13 @@ public class HbmWorldGen implements IWorldGenerator { generateSurface(world, rand, chunkX * 16, chunkZ * 16); break; } } - + private void generateSurface(World world, Random rand, int i, int j) { BiomeGenBase biome = world.getWorldChunkManager().getBiomeGenAt(i, j); if(!TomSaveData.forWorld(world).impact) { - + if(biome instanceof BiomeGenForest && rand.nextInt(16) == 0) { DungeonToolbox.generateFlowers(world, rand, i, j, ModBlocks.plant_flower, EnumFlowerType.FOXGLOVE.ordinal()); } @@ -97,9 +80,6 @@ public class HbmWorldGen implements IWorldGenerator { DungeonToolbox.generateFlowers(world, rand, i, j, ModBlocks.reeds, 0); } } - - if(WorldConfig.oilcoalSpawn > 0 && rand.nextInt(WorldConfig.oilcoalSpawn) == 0) - DungeonToolbox.generateOre(world, rand, i, j, 1, 64, 32, 32, ModBlocks.ore_coal_oil); if(WorldConfig.gasbubbleSpawn > 0 && rand.nextInt(WorldConfig.gasbubbleSpawn) == 0) DungeonToolbox.generateOre(world, rand, i, j, 1, 32, 30, 10, ModBlocks.gas_flammable, 1); @@ -118,7 +98,7 @@ public class HbmWorldGen implements IWorldGenerator { DepthDeposit.generateConditionOverworld(world, i, 0, 3, j, 5, 0.8D, ModBlocks.ore_depth_cinnebar, rand, 16); DepthDeposit.generateConditionOverworld(world, i, 0, 3, j, 5, 0.8D, ModBlocks.ore_depth_zirconium, rand, 16); DepthDeposit.generateConditionOverworld(world, i, 0, 3, j, 5, 0.8D, ModBlocks.ore_depth_borax, rand, 16); - + DungeonToolbox.generateOre(world, rand, i, j, 25, 6, 30, 10, ModBlocks.ore_gneiss_iron, ModBlocks.stone_gneiss); DungeonToolbox.generateOre(world, rand, i, j, 10, 6, 30, 10, ModBlocks.ore_gneiss_gold, ModBlocks.stone_gneiss); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.uraniumSpawn * 3, 6, 30, 10, ModBlocks.ore_gneiss_uranium, ModBlocks.stone_gneiss); @@ -127,7 +107,7 @@ public class HbmWorldGen implements IWorldGenerator { DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.lithiumSpawn, 6, 30, 10, ModBlocks.ore_gneiss_lithium, ModBlocks.stone_gneiss); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.rareSpawn, 6, 30, 10, ModBlocks.ore_gneiss_rare, ModBlocks.stone_gneiss); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.gassshaleSpawn * 3, 10, 30, 10, ModBlocks.ore_gneiss_gas, ModBlocks.stone_gneiss); - + DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.uraniumSpawn, 5, 5, 20, ModBlocks.ore_uranium); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.thoriumSpawn, 5, 5, 25, ModBlocks.ore_thorium); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.titaniumSpawn, 6, 5, 30, ModBlocks.ore_titanium); @@ -144,21 +124,20 @@ public class HbmWorldGen implements IWorldGenerator { DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.asbestosSpawn, 4, 16, 16, ModBlocks.ore_asbestos); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.cinnebarSpawn, 4, 8, 16, ModBlocks.ore_cinnebar); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.cobaltSpawn, 4, 4, 8, ModBlocks.ore_cobalt); - + DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.ironClusterSpawn, 6, 15, 45, ModBlocks.cluster_iron); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.titaniumClusterSpawn, 6, 15, 30, ModBlocks.cluster_titanium); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.aluminiumClusterSpawn, 6, 15, 35, ModBlocks.cluster_aluminium); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.copperClusterSpawn, 6, 15, 20, ModBlocks.cluster_copper); - DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.malachiteSpawn, 16, 6, 40, ModBlocks.stone_resource, EnumStoneType.MALACHITE.ordinal()); - DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.limestoneSpawn, 12, 25, 30, ModBlocks.stone_resource, EnumStoneType.LIMESTONE.ordinal()); + DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.limestoneSpawn, 16, 25, 30, ModBlocks.stone_resource, EnumStoneType.LIMESTONE.ordinal()); if(WorldConfig.newBedrockOres) { if(rand.nextInt(10) == 0) { int randPosX = i + rand.nextInt(2) + 8; int randPosZ = j + rand.nextInt(2) + 8; - + BedrockOre.generate(world, randPosX, randPosZ, new ItemStack(ModItems.bedrock_ore_base), null, 0xD78A16, 1); } @@ -180,12 +159,6 @@ public class HbmWorldGen implements IWorldGenerator { } } - for(int k = 0; k < WorldConfig.randomSpawn; k++) { - BlockMotherOfAllOres.shuffleOverride(rand); - DungeonToolbox.generateOre(world, rand, i, j, 1, 10, 4, 30, ModBlocks.ore_random); - } - BlockMotherOfAllOres.resetOverride(); - if(GeneralConfig.enable528ColtanSpawn) { DungeonToolbox.generateOre(world, rand, i, j, GeneralConfig.coltanRate, 4, 15, 40, ModBlocks.ore_coltan); } @@ -194,16 +167,16 @@ public class HbmWorldGen implements IWorldGenerator { int colX = (int) (colRand.nextGaussian() * 1500); int colZ = (int) (colRand.nextGaussian() * 1500); int colRange = 750; - - if((GeneralConfig.enable528BedrockSpawn || GeneralConfig.enable528BedrockDeposit) && rand.nextInt(GeneralConfig.bedrockRate) != 0) { + + if((GeneralConfig.enable528BedrockSpawn || GeneralConfig.enable528BedrockDeposit) && rand.nextInt(GeneralConfig.bedrockRate) == 0) { int x = i + rand.nextInt(16) + 8; int z = j + rand.nextInt(16) + 8; - + if(GeneralConfig.enable528BedrockSpawn || (GeneralConfig.enable528BedrockDeposit && x <= colX + colRange && x >= colX - colRange && z <= colZ + colRange && z >= colZ - colRange)) { BedrockOre.generate(world, x, z, new ItemStack(ModItems.fragment_coltan), null, 0xA78D7A, 1); } } - + if(GeneralConfig.enable528ColtanDeposit) { for(int k = 0; k < 2; k++) { @@ -230,18 +203,18 @@ public class HbmWorldGen implements IWorldGenerator { (new WorldGenMinable(ModBlocks.ore_australium, 50)).generate(world, rand, randPosX, randPosY, randPosZ); } } - + boolean enableDungeons = world.getWorldInfo().isMapFeaturesEnabled(); if(GeneralConfig.enableDungeons == 1) enableDungeons = true; if(GeneralConfig.enableDungeons == 0) enableDungeons = false; - + if(enableDungeons && world.provider.dimensionId == 0) { - + if(MobConfig.enableHives && rand.nextInt(MobConfig.hiveSpawn) == 0) { int x = i + rand.nextInt(16) + 8; int z = j + rand.nextInt(16) + 8; int y = world.getHeightValue(x, z); - + for(int k = 3; k >= -1; k--) { if(world.getBlock(x, y - 1 + k, z).isNormalCube()) { GlyphidHive.generateSmall(world, x, y + k, z, rand, rand.nextInt(10) == 0, true); @@ -286,23 +259,6 @@ public class HbmWorldGen implements IWorldGenerator { } } - if(!biome.canSpawnLightningBolt() && biome.temperature >= 2F) { - if(WorldConfig.vertibirdStructure > 0 && rand.nextInt(WorldConfig.vertibirdStructure) == 0) { - for(int a = 0; a < 1; a++) { - int x = i + rand.nextInt(16); - int z = j + rand.nextInt(16); - int y = world.getHeightValue(x, z); - - if(rand.nextInt(2) == 0) { - new Vertibird().generate(world, rand, x, y, z); - } else { - new CrashedVertibird().generate(world, rand, x, y, z); - } - - } - } - } - if(WorldConfig.dungeonStructure > 0 && rand.nextInt(WorldConfig.dungeonStructure) == 0) { int x = i + rand.nextInt(16); int y = rand.nextInt(256); @@ -322,18 +278,6 @@ public class HbmWorldGen implements IWorldGenerator { } } - if(biome.temperature == 0.5F || biome.temperature == 2.0F) { - if(WorldConfig.satelliteStructure > 0 && rand.nextInt(WorldConfig.satelliteStructure) == 0) { - for(int a = 0; a < 1; a++) { - int x = i + rand.nextInt(16); - int z = j + rand.nextInt(16); - int y = world.getHeightValue(x, z); - - new Satellite().generate(world, rand, x, y, z); - } - } - } - if(!biome.canSpawnLightningBolt() && biome.temperature >= 1.5F) { if(rand.nextInt(200) == 0) { for(int a = 0; a < 1; a++) { @@ -346,14 +290,6 @@ public class HbmWorldGen implements IWorldGenerator { } } - /*if(WorldConfig.siloStructure > 0 && rand.nextInt(WorldConfig.siloStructure) == 0) { - int x = i + rand.nextInt(16); - int z = j + rand.nextInt(16); - int y = world.getHeightValue(x, z); - - new Silo().generate(world, rand, x, y, z); - }*/ - if(WorldConfig.factoryStructure > 0 && rand.nextInt(WorldConfig.factoryStructure) == 0) { int x = i + rand.nextInt(16); int z = j + rand.nextInt(16); @@ -363,8 +299,8 @@ public class HbmWorldGen implements IWorldGenerator { } if(WorldConfig.dudStructure > 0 && rand.nextInt(WorldConfig.dudStructure) == 0) { - int x = i + rand.nextInt(16); - int z = j + rand.nextInt(16); + int x = i + 8 + rand.nextInt(16); + int z = j + 8 + rand.nextInt(16); int y = world.getHeightValue(x, z); new Dud().generate(world, rand, x, y, z); @@ -393,7 +329,7 @@ public class HbmWorldGen implements IWorldGenerator { if(world.getBlock(x, y - 1, z).canPlaceTorchOnTop(world, x, y - 1, z)) { world.setBlock(x, y, z, ModBlocks.broadcaster_pc, rand.nextInt(4) + 2, 2); - + if(GeneralConfig.enableDebugMode) MainRegistry.logger.info("[Debug] Successfully spawned corrupted broadcaster at " + x + " " + (y) +" " + z); } @@ -404,13 +340,15 @@ public class HbmWorldGen implements IWorldGenerator { int z = j + rand.nextInt(16) + 8; int y = world.getHeightValue(x, z); - if(world.getBlock(x, y - 1, z).canPlaceTorchOnTop(world, x, y - 1, z)) { - world.setBlock(x, y, z, ModBlocks.mine_ap); - TileEntityLandmine landmine = (TileEntityLandmine) world.getTileEntity(x, y, z); - landmine.waitingForPlayer = true; + for(int g = y + 2; g >= y; g--) { - if(GeneralConfig.enableDebugMode) - MainRegistry.logger.info("[Debug] Successfully spawned landmine at " + x + " " + (y) + " " + z); + if(world.getBlock(x, g - 1, z).canPlaceTorchOnTop(world, x, g - 1, z)) { + world.setBlock(x, g, z, ModBlocks.mine_ap); + TileEntityLandmine landmine = (TileEntityLandmine) world.getTileEntity(x, g, z); + landmine.waitingForPlayer = true; + if(GeneralConfig.enableDebugMode) MainRegistry.logger.info("[Debug] Successfully spawned landmine at " + x + " " + g + " " + z); + break; + } } } @@ -420,13 +358,13 @@ public class HbmWorldGen implements IWorldGenerator { int y = world.getHeightValue(x, z); if(world.getBlock(x, y - 1, z).canPlaceTorchOnTop(world, x, y - 1, z) && world.getBlock(x, y, z).isReplaceable(world, x, y, z)) { - + world.setBlock(x, y, z, ModBlocks.lantern_behemoth, 12, 3); MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] {4, 0, 0, 0, 0, 0}, ModBlocks.lantern_behemoth, ForgeDirection.NORTH); - + TileEntityLanternBehemoth lantern = (TileEntityLanternBehemoth) world.getTileEntity(x, y, z); lantern.isBroken = true; - + if(rand.nextInt(2) == 0) { LootGenerator.setBlock(world, x, y, z - 2); LootGenerator.lootBooklet(world, x, y, z - 2); @@ -449,13 +387,13 @@ public class HbmWorldGen implements IWorldGenerator { } if(WorldConfig.radfreq > 0 && GeneralConfig.enableRad && rand.nextInt(WorldConfig.radfreq) == 0 && biome == BiomeGenBase.desert) { - + for (int a = 0; a < 1; a++) { int x = i + rand.nextInt(16); int z = j + rand.nextInt(16); - + double r = rand.nextInt(15) + 10; - + if(rand.nextInt(50) == 0) r = 50; @@ -470,7 +408,7 @@ public class HbmWorldGen implements IWorldGenerator { int x = i + rand.nextInt(16); int z = j + rand.nextInt(16); int y = world.getHeightValue(x, z); - + if(world.getBlock(x, y - 1, z) == Blocks.grass) new Geyser().generate(world, rand, x, y, z); } @@ -488,17 +426,17 @@ public class HbmWorldGen implements IWorldGenerator { int x = i + rand.nextInt(16); int z = j + rand.nextInt(16); int y = world.getHeightValue(x, z) - 4; - + if(world.getBlock(x, y + 1, z).canPlaceTorchOnTop(world, x, y + 1, z)) { - + world.setBlock(x, y, z, ModBlocks.soyuz_capsule, 3, 2); - + TileEntitySoyuzCapsule cap = (TileEntitySoyuzCapsule)world.getTileEntity(x, y, z); - + if(cap != null) { cap.setInventorySlotContents(rand.nextInt(cap.getSizeInventory()), new ItemStack(ModItems.record_glass)); } - + if(GeneralConfig.enableDebugMode) MainRegistry.logger.info("[Debug] Successfully spawned capsule at " + x + " " + z); } @@ -518,9 +456,9 @@ public class HbmWorldGen implements IWorldGenerator { if (rand.nextInt(1000) == 0) { int x = i + rand.nextInt(16); int z = j + rand.nextInt(16); - + boolean done = false; - + for(int k = 0; k < 256; k++) { if(world.getBlock(x, k, z) == Blocks.log && world.getBlockMetadata(x, k, z) == 0) { world.setBlock(x, k, z, ModBlocks.pink_log); @@ -540,7 +478,7 @@ public class HbmWorldGen implements IWorldGenerator { if(world.getBlock(x, y - 1, z).canPlaceTorchOnTop(world, x, y - 1, z)) { world.setBlock(x, y, z, ModBlocks.safe, rand.nextInt(4) + 2, 2); TileEntitySafe safe = (TileEntitySafe) world.getTileEntity(x, y, z); - + switch(rand.nextInt(10)) { case 0: case 1: case 2: case 3: safe.setMod(1); @@ -562,58 +500,30 @@ public class HbmWorldGen implements IWorldGenerator { safe.setPins(rand.nextInt(999) + 1); safe.lock(); - + + if(rand.nextInt(10) < 3) // 30% chance; those safes have been sitting there for ages, they gotta have some spiders in them + safe.fillWithSpiders(); + if(GeneralConfig.enableDebugMode) MainRegistry.logger.info("[Debug] Successfully spawned safe at " + x + " " + (y + 1) +" " + z); } - - } - if (WorldConfig.meteorStructure > 0 && rand.nextInt(WorldConfig.meteorStructure) == 0 && biome != BiomeGenBase.ocean && biome != BiomeGenBase.deepOcean) { - int x = i + rand.nextInt(16) + 8; - int z = j + rand.nextInt(16) + 8; - - CellularDungeonFactory.meteor.generate(world, x, 10, z, rand); - - if(GeneralConfig.enableDebugMode) - MainRegistry.logger.info("[Debug] Successfully spawned meteor dungeon at " + x + " 10 " + z); - - int y = world.getHeightValue(x, z); - - for(int f = 0; f < 3; f++) - world.setBlock(x, y + f, z, ModBlocks.meteor_pillar); - world.setBlock(x, y + 3, z, ModBlocks.meteor_brick_chiseled); - - for(int f = 0; f < 10; f++) { - - x = i + rand.nextInt(65) - 32; - z = j + rand.nextInt(65) - 32; - y = world.getHeightValue(x, z); - - if(world.getBlock(x, y - 1, z).canPlaceTorchOnTop(world, x, y - 1, z)) { - world.setBlock(x, y, z, Blocks.skull, 1, 2); - TileEntitySkull skull = (TileEntitySkull)world.getTileEntity(x, y, z); - - if(skull != null) - skull.func_145903_a(rand.nextInt(16)); - } - } } if((biome == BiomeGenBase.jungle || biome == BiomeGenBase.jungleEdge || biome == BiomeGenBase.jungleHills) && WorldConfig.jungleStructure > 0 && rand.nextInt(WorldConfig.jungleStructure) == 0) { int x = i + rand.nextInt(16); int z = j + rand.nextInt(16); - + CellularDungeonFactory.jungle.generate(world, x, 20, z, world.rand); CellularDungeonFactory.jungle.generate(world, x, 24, z, world.rand); CellularDungeonFactory.jungle.generate(world, x, 28, z, world.rand); - + if(GeneralConfig.enableDebugMode) MainRegistry.logger.info("[Debug] Successfully spawned jungle dungeon at " + x + " 10 " + z); - + int y = world.getHeightValue(x, z); - + for(int f = 0; f < 3; f++) world.setBlock(x, y + f, z, ModBlocks.deco_titanium); world.setBlock(x, y + 3, z, Blocks.redstone_block); @@ -625,12 +535,12 @@ public class HbmWorldGen implements IWorldGenerator { int y = 16 + rand.nextInt(32); new ArcticVault().trySpawn(world, x, y, z); } - + if (WorldConfig.pyramidStructure > 0 && biome.temperature >= 2.0F && !biome.canSpawnLightningBolt() && rand.nextInt(WorldConfig.pyramidStructure) == 0) { int x = i + rand.nextInt(16); int z = j + rand.nextInt(16); int y = world.getHeightValue(x, z); - + new AncientTomb().build(world, rand, x, y, z); } } @@ -646,11 +556,11 @@ public class HbmWorldGen implements IWorldGenerator { if(WorldConfig.bedrockOilSpawn > 0 && rand.nextInt(WorldConfig.bedrockOilSpawn) == 0) { int randPosX = i + rand.nextInt(16); int randPosZ = j + rand.nextInt(16); - + for(int x = -4; x <= 4; x++) { for(int y = 0; y <= 4; y++) { for(int z = -4; z <= 4; z++) { - + if(Math.abs(x) + Math.abs(y) + Math.abs(z) <= 6) { Block b = world.getBlock(randPosX + x, y, randPosZ + z); if(b.isReplaceableOreGen(world, randPosX + x, y, randPosZ + z, Blocks.stone) || b.isReplaceableOreGen(world, randPosX + x, y, randPosZ + z, Blocks.bedrock)) { @@ -660,7 +570,7 @@ public class HbmWorldGen implements IWorldGenerator { } } } - + DungeonToolbox.generateOre(world, rand, i, j, 16, 8, 10, 50, ModBlocks.stone_porous); OilSpot.generateOilSpot(world, randPosX, randPosZ, 5, 50, true); } @@ -739,12 +649,12 @@ public class HbmWorldGen implements IWorldGenerator { } } } - + if(rand.nextInt(4) == 0) { int x = i + rand.nextInt(16) + 8; int y = 6 + rand.nextInt(13); int z = j + rand.nextInt(16) + 8; - + if(world.getBlock(x, y, z).isReplaceableOreGen(world, x, y, z, Blocks.stone)) { world.setBlock(x, y, z, ModBlocks.stone_keyhole); } @@ -761,10 +671,10 @@ public class HbmWorldGen implements IWorldGenerator { DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.netherPhosphorusSpawn, 6, 0, 127, ModBlocks.ore_nether_fire, Blocks.netherrack); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.netherCoalSpawn, 32, 16, 96, ModBlocks.ore_nether_coal, Blocks.netherrack); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.netherCobaltSpawn, 6, 100, 26, ModBlocks.ore_nether_cobalt, Blocks.netherrack); - + if(GeneralConfig.enablePlutoniumOre) DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.netherPlutoniumSpawn, 4, 0, 127, ModBlocks.ore_nether_plutonium, Blocks.netherrack); - + if(rand.nextInt(10) == 0) { @SuppressWarnings("unchecked") WeightedRandomGeneric item = (WeightedRandomGeneric) WeightedRandom.getRandomItem(rand, BedrockOre.weightedOresNether); @@ -784,8 +694,8 @@ public class HbmWorldGen implements IWorldGenerator { int d = 16 + rand.nextInt(96); for(int y = d - 5; y <= d; y++) - if(world.getBlock(x, y + 1, z) == Blocks.air && world.getBlock(x, y, z) == Blocks.netherrack) - world.setBlock(x, y, z, ModBlocks.ore_nether_smoldering); + if(world.getBlock(x, y + 1, z) == Blocks.air && world.getBlock(x, y, z) == Blocks.netherrack) + world.setBlock(x, y, z, ModBlocks.ore_nether_smoldering); } for(int k = 0; k < 1; k++){ @@ -794,21 +704,21 @@ public class HbmWorldGen implements IWorldGenerator { int d = 16 + rand.nextInt(96); for(int y = d - 5; y <= d; y++) - if(world.getBlock(x, y + 1, z) == Blocks.air && world.getBlock(x, y, z) == Blocks.netherrack) - world.setBlock(x, y, z, ModBlocks.geysir_nether); + if(world.getBlock(x, y + 1, z) == Blocks.air && world.getBlock(x, y, z) == Blocks.netherrack) + world.setBlock(x, y, z, ModBlocks.geysir_nether); } } private void generateEnd(World world, Random rand, int i, int j) { - + if(WorldConfig.endOre) { DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.endTikiteSpawn, 6, 0, 127, ModBlocks.ore_tikite, Blocks.end_stone); - + /*for(int k = 0; k < 50; k++){ int x = i + rand.nextInt(16); int z = j + rand.nextInt(16); int d = 5 + rand.nextInt(60); - + for(int y = d - 5; y <= d; y++) if(world.getBlock(x, y, z) == Blocks.air && world.getBlock(x, y + 1, z).isSideSolid(world, x, y, z, ForgeDirection.DOWN)) world.setBlock(x, y, z, ModBlocks.crystal_trixite); diff --git a/src/main/java/com/hbm/lib/Library.java b/src/main/java/com/hbm/lib/Library.java index 828433470..e0d5217cb 100644 --- a/src/main/java/com/hbm/lib/Library.java +++ b/src/main/java/com/hbm/lib/Library.java @@ -1,8 +1,10 @@ package com.hbm.lib; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; +import api.hbm.energymk2.IBatteryItem; +import api.hbm.energymk2.IEnergyConnectorBlock; +import api.hbm.energymk2.IEnergyConnectorMK2; +import api.hbm.fluidmk2.IFluidConnectorBlockMK2; +import api.hbm.fluidmk2.IFluidConnectorMK2; import com.hbm.blocks.ModBlocks; import com.hbm.entity.mob.EntityHunterChopper; @@ -10,12 +12,6 @@ import com.hbm.entity.projectile.EntityChopperMine; import com.hbm.interfaces.Spaghetti; import com.hbm.inventory.fluid.FluidType; import com.hbm.items.ModItems; - -import api.hbm.energymk2.IBatteryItem; -import api.hbm.energymk2.IEnergyConnectorBlock; -import api.hbm.energymk2.IEnergyConnectorMK2; -import api.hbm.fluid.IFluidConnector; -import api.hbm.fluid.IFluidConnectorBlock; import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -30,11 +26,15 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + @Spaghetti("this whole class") public class Library { - + static Random rand = new Random(); - + public static boolean checkForHeld(EntityPlayer player, Item item) { if(player.getHeldItem() == null) return false; return player.getHeldItem().getItem() == item; @@ -46,60 +46,60 @@ public class Library { public static final ForgeDirection NEG_Y = ForgeDirection.DOWN; public static final ForgeDirection POS_Z = ForgeDirection.SOUTH; public static final ForgeDirection NEG_Z = ForgeDirection.NORTH; - + /* * Is putting this into this trash can a good idea? No. Do I have a better idea? Not currently. */ public static boolean canConnect(IBlockAccess world, int x, int y, int z, ForgeDirection dir /* cable's connecting side */) { - + if(y > 255 || y < 0) return false; - + Block b = world.getBlock(x, y, z); - + if(b instanceof IEnergyConnectorBlock) { IEnergyConnectorBlock con = (IEnergyConnectorBlock) b; - + if(con.canConnect(world, x, y, z, dir.getOpposite() /* machine's connecting side */)) return true; } - + TileEntity te = world.getTileEntity(x, y, z); - + if(te instanceof IEnergyConnectorMK2) { IEnergyConnectorMK2 con = (IEnergyConnectorMK2) te; - + if(con.canConnect(dir.getOpposite() /* machine's connecting side */)) return true; } - + return false; } /** dir is the direction along the fluid duct entering the block */ public static boolean canConnectFluid(IBlockAccess world, int x, int y, int z, ForgeDirection dir /* duct's connecting side */, FluidType type) { - + if(y > 255 || y < 0) return false; - + Block b = world.getBlock(x, y, z); - - if(b instanceof IFluidConnectorBlock) { - IFluidConnectorBlock con = (IFluidConnectorBlock) b; - + + if(b instanceof IFluidConnectorBlockMK2) { + IFluidConnectorBlockMK2 con = (IFluidConnectorBlockMK2) b; + if(con.canConnect(type, world, x, y, z, dir.getOpposite() /* machine's connecting side */)) return true; } - + TileEntity te = world.getTileEntity(x, y, z); - - if(te instanceof IFluidConnector) { - IFluidConnector con = (IFluidConnector) te; - + + if(te instanceof IFluidConnectorMK2) { + IFluidConnectorMK2 con = (IFluidConnectorMK2) te; + if(con.canConnect(type, dir.getOpposite() /* machine's connecting side */)) return true; } - + return false; } @@ -192,7 +192,7 @@ public class Library { return entity; } - + public static MovingObjectPosition rayTrace(EntityPlayer player, double length, float interpolation) { Vec3 vec3 = getPosition(interpolation, player); vec3.yCoord += player.eyeHeight; @@ -208,7 +208,7 @@ public class Library { Vec3 vec32 = vec3.addVector(vec31.xCoord * length, vec31.yCoord * length, vec31.zCoord * length); return player.worldObj.func_147447_a(vec3, vec32, allowLiquids, disallowNonCollidingBlocks, mopOnMiss); } - + public static Vec3 getPosition(float interpolation, EntityPlayer player) { if(interpolation == 1.0F) { return Vec3.createVectorHelper(player.posX, player.posY + (player.getEyeHeight() - player.getDefaultEyeHeight()), player.posZ); @@ -219,52 +219,47 @@ public class Library { return Vec3.createVectorHelper(d0, d1, d2); } } - + public static List getBlockPosInPath(int x, int y, int z, int length, Vec3 vec0) { List list = new ArrayList(); - + for(int i = 0; i <= length; i++) { list.add(new int[] { (int)(x + (vec0.xCoord * i)), y, (int)(z + (vec0.zCoord * i)), i }); } - + return list; } - + //not great either but certainly better public static long chargeItemsFromTE(ItemStack[] slots, int index, long power, long maxPower) { + + if(power < 0) return 0; + if(power > maxPower) return maxPower; - if(power < 0) - return 0; - - if(power > maxPower) - return maxPower; + if(slots[index] != null && slots[index].getItem() == ModItems.battery_creative) return 0; + if(slots[index] != null && slots[index].getItem() == ModItems.fusion_core_infinite) return 0; if(slots[index] != null && slots[index].getItem() instanceof IBatteryItem) { - + IBatteryItem battery = (IBatteryItem) slots[index].getItem(); long batMax = battery.getMaxCharge(slots[index]); long batCharge = battery.getCharge(slots[index]); long batRate = battery.getChargeRate(); long toCharge = Math.min(Math.min(power, batRate), batMax - batCharge); - + power -= toCharge; - + battery.chargeBattery(slots[index], toCharge); } - + return power; } - + public static long chargeTEFromItems(ItemStack[] slots, int index, long power, long maxPower) { - if(slots[index] != null && slots[index].getItem() == ModItems.battery_creative) { - return maxPower; - } - - if(slots[index] != null && slots[index].getItem() == ModItems.fusion_core_infinite) { - return maxPower; - } + if(slots[index] != null && slots[index].getItem() == ModItems.battery_creative) return maxPower; + if(slots[index] != null && slots[index].getItem() == ModItems.fusion_core_infinite) return maxPower; if(slots[index] != null && slots[index].getItem() instanceof IBatteryItem) { @@ -280,11 +275,11 @@ public class Library { return power; } - + //Flut-Füll gesteuerter Energieübertragungsalgorithmus //Flood fill controlled energy transmission algorithm public static void ffgeua(int x, int y, int z, boolean newTact, Object that, World worldObj) { - + /* * This here smoldering crater is all that remains from the old energy system. * In loving memory, 2016-2021. @@ -307,12 +302,12 @@ public class Library { MovingObjectPosition pos = world.rayTraceBlocks(Vec3.createVectorHelper(x, y, z), Vec3.createVectorHelper(a, b, c)); return pos != null; } - + public static boolean isObstructedOpaque(World world, double x, double y, double z, double a, double b, double c) { MovingObjectPosition pos = world.func_147447_a(Vec3.createVectorHelper(x, y, z), Vec3.createVectorHelper(a, b, c), false, true, false); return pos != null; } - + public static Block getRandomConcrete() { int i = rand.nextInt(20); if(i <= 1) return ModBlocks.brick_concrete_broken; diff --git a/src/main/java/com/hbm/lib/ModDamageSource.java b/src/main/java/com/hbm/lib/ModDamageSource.java index 142c57380..deaeca1f7 100644 --- a/src/main/java/com/hbm/lib/ModDamageSource.java +++ b/src/main/java/com/hbm/lib/ModDamageSource.java @@ -1,13 +1,14 @@ package com.hbm.lib; -import com.hbm.entity.projectile.*; - +import com.hbm.entity.projectile.EntityBullet; +import com.hbm.entity.projectile.EntityLaserBeam; +import com.hbm.entity.projectile.EntityMinerBeam; import net.minecraft.entity.Entity; import net.minecraft.util.DamageSource; import net.minecraft.util.EntityDamageSourceIndirect; public class ModDamageSource extends DamageSource { - + public static DamageSource nuclearBlast = (new DamageSource("nuclearBlast")).setExplosion(); public static DamageSource mudPoisoning = (new DamageSource("mudPoisoning")).setDamageBypassesArmor(); public static DamageSource acid = (new DamageSource("acid")); //.setDamageBypassesArmor(); @@ -95,18 +96,6 @@ public class ModDamageSource extends DamageSource { return (new EntityDamageSourceIndirect(s_euthanized, ent, hit)).setDamageBypassesArmor(); } - public static DamageSource causeFireDamage(EntityFire ent, Entity hit) { - return (new EntityDamageSourceIndirect(s_flamethrower, ent, hit)).setFireDamage().setDamageBypassesArmor(); - } - - public static DamageSource causePlasmaDamage(EntityPlasmaBeam ent, Entity hit) { - return (new EntityDamageSourceIndirect(s_immolator, ent, hit)).setDamageBypassesArmor(); - } - - public static DamageSource causeIceDamage(EntityLN2 ent, Entity hit) { - return (new EntityDamageSourceIndirect(s_cryolator, ent, hit)).setDamageBypassesArmor(); - } - public static DamageSource causeLaserDamage(EntityLaserBeam ent, Entity hit) { return (new EntityDamageSourceIndirect(s_laser, ent, hit)).setDamageBypassesArmor(); } diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index af861b280..f3db74449 100644 --- a/src/main/java/com/hbm/lib/RefStrings.java +++ b/src/main/java/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (5061)"; + public static final String VERSION = "1.0.27 BETA (5383)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index c84df18c8..1d934e87d 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -1,2178 +1,2159 @@ - package com.hbm.main; - -import com.hbm.handler.imc.IMCHandlerNHNEI; -import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; -import net.minecraft.client.audio.PositionedSoundRecord; -import net.minecraft.client.model.ModelChicken; -import net.minecraft.client.particle.EntityAuraFX; -import net.minecraft.client.particle.EntityBlockDustFX; -import net.minecraft.client.particle.EntityCloudFX; -import net.minecraft.client.particle.EntityFX; -import net.minecraft.client.particle.EntityFireworkSparkFX; -import net.minecraft.client.particle.EntityFlameFX; -import net.minecraft.client.particle.EntityReddustFX; -import net.minecraft.client.renderer.entity.RenderMinecart; -import net.minecraft.client.renderer.entity.RenderSnowball; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; -import net.minecraft.client.resources.Language; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.Vec3; -import net.minecraft.util.MovingObjectPosition.MovingObjectType; -import net.minecraft.world.World; -import net.minecraftforge.client.MinecraftForgeClient; -import net.minecraftforge.client.model.AdvancedModelLoader; -import net.minecraftforge.common.MinecraftForge; -import paulscode.sound.SoundSystemConfig; - -import java.awt.Color; -import java.awt.Desktop; -import java.net.URI; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.generic.BlockBobble.TileEntityBobble; -import com.hbm.blocks.generic.BlockEmitter.TileEntityEmitter; -import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; -import com.hbm.blocks.generic.BlockPedestal.TileEntityPedestal; -import com.hbm.blocks.generic.BlockPlushie.TileEntityPlushie; -import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; -import com.hbm.blocks.machine.Floodlight.TileEntityFloodlight; -import com.hbm.blocks.machine.MachineFan.TileEntityFan; -import com.hbm.blocks.machine.PistonInserter.TileEntityPistonInserter; -import com.hbm.blocks.machine.WatzPump.TileEntityWatzPump; -import com.hbm.config.GeneralConfig; -import com.hbm.entity.cart.*; -import com.hbm.entity.effect.*; -import com.hbm.entity.grenade.*; -import com.hbm.entity.item.*; -import com.hbm.entity.logic.*; -import com.hbm.entity.missile.*; -import com.hbm.entity.missile.EntityMissileTier0.*; -import com.hbm.entity.missile.EntityMissileTier1.*; -import com.hbm.entity.missile.EntityMissileTier2.*; -import com.hbm.entity.missile.EntityMissileTier3.*; -import com.hbm.entity.missile.EntityMissileTier4.*; -import com.hbm.entity.mob.*; -import com.hbm.entity.mob.botprime.*; -import com.hbm.entity.mob.glyphid.*; -import com.hbm.entity.mob.siege.*; -import com.hbm.entity.particle.*; -import com.hbm.entity.projectile.*; -import com.hbm.entity.train.*; -import com.hbm.entity.train.EntityRailCarBase.BoundingBoxDummyEntity; -import com.hbm.entity.train.EntityRailCarRidable.SeatDummyEntity; -import com.hbm.handler.CasingEjector; -import com.hbm.handler.HbmKeybinds; -import com.hbm.handler.ImpactWorldHandler; -import com.hbm.handler.HbmKeybinds.EnumKeybind; -import com.hbm.items.IAnimatedItem; -import com.hbm.items.ModItems; -import com.hbm.lib.RefStrings; -import com.hbm.particle.*; -import com.hbm.particle.helper.ExplosionCreator; -import com.hbm.particle.helper.IParticleCreator; -import com.hbm.particle.psys.engine.EventHandlerParticleEngine; -import com.hbm.render.anim.*; -import com.hbm.render.anim.HbmAnimations.Animation; -import com.hbm.render.block.*; -import com.hbm.render.entity.*; -import com.hbm.render.entity.effect.*; -import com.hbm.render.entity.item.*; -import com.hbm.render.entity.mob.*; -import com.hbm.render.entity.projectile.*; -import com.hbm.render.entity.rocket.*; -import com.hbm.render.item.*; -import com.hbm.render.item.ItemRenderMissileGeneric.RenderMissileType; -import com.hbm.render.item.block.*; -import com.hbm.render.item.weapon.*; -import com.hbm.render.loader.HmfModelLoader; -import com.hbm.render.model.ModelPigeon; -import com.hbm.render.tileentity.*; -import com.hbm.render.util.MissilePart; -import com.hbm.render.util.RenderInfoSystem; -import com.hbm.render.util.RenderInfoSystem.InfoEntry; -import com.hbm.render.util.RenderOverhead; -import com.hbm.render.util.RenderOverhead.Marker; -import com.hbm.sound.AudioWrapper; -import com.hbm.sound.AudioWrapperClient; -import com.hbm.tileentity.TileEntityDoorGeneric; -import com.hbm.tileentity.bomb.*; -import com.hbm.tileentity.deco.*; -import com.hbm.tileentity.machine.*; -import com.hbm.tileentity.machine.oil.*; -import com.hbm.tileentity.machine.rbmk.*; -import com.hbm.tileentity.machine.storage.*; -import com.hbm.tileentity.network.*; -import com.hbm.tileentity.turret.*; -import com.hbm.util.BobMathUtil; -import com.hbm.util.ColorUtil; -import com.hbm.util.fauxpointtwelve.BlockPos; -import com.hbm.wiaj.cannery.Jars; - -import cpw.mods.fml.client.registry.ClientRegistry; -import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.relauncher.ReflectionHelper; - -public class ClientProxy extends ServerProxy { - - public RenderInfoSystem theInfoSystem = new RenderInfoSystem(); - - @Override - public void registerRenderInfo() { - - registerClientEventHandler(new ModEventHandlerClient()); - registerClientEventHandler(new ModEventHandlerRenderer()); - registerClientEventHandler(new EventHandlerParticleEngine()); - registerClientEventHandler(theInfoSystem); - - AdvancedModelLoader.registerModelHandler(new HmfModelLoader()); - - registerTileEntitySpecialRenderer(); - registerItemRenderer(); - registerEntityRenderer(); - registerBlockRenderer(); - - Jars.initJars(); - - if(GeneralConfig.enableSoundExtension) { - SoundSystemConfig.setNumberNormalChannels(GeneralConfig.normalSoundChannels); - SoundSystemConfig.setNumberStreamingChannels(50); - } - } - - private void registerClientEventHandler(Object handler) { - MinecraftForge.EVENT_BUS.register(handler); - FMLCommonHandler.instance().bus().register(handler); - } - - @Override - public void handleNHNEICompat(){ - IMCHandlerNHNEI.IMCSender(); - } - - @Override - public void registerTileEntitySpecialRenderer() { - //test crap - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityObjTester.class, new RendererObjTester()); - //deco - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoPoleSatelliteReceiver.class, new RenderPoleSatelliteReceiver()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlock.class, new RenderDecoBlock()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBroadcaster.class, new RenderDecoBlock()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityGeiger.class, new RenderDecoBlock()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRadioRec.class, new RenderDecoBlock()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRadiobox.class, new RenderDecoBlock()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineSatDock.class, new RenderDecoBlock()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAlt.class, new RenderDecoBlockAlt()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAltG.class, new RenderDecoBlockAlt()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAltW.class, new RenderDecoBlockAlt()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAltF.class, new RenderDecoBlockAlt()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDemonLamp.class, new RenderDemonLamp()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFloodlight.class, new RenderFloodlight()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLoot.class, new RenderLoot()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPedestal.class, new RenderPedestalTile()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBobble.class, new RenderBobble()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySnowglobe.class, new RenderSnowglobe()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPlushie.class, new RenderPlushie()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityEmitter.class, new RenderEmitter()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLantern.class, new RenderLantern()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLanternBehemoth.class, new RenderLanternBehemoth()); - //bombs - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeGadget.class, new RenderNukeGadget()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeBoy.class, new RenderNukeBoy()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeCustom.class, new RenderNukeCustom()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeSolinium.class, new RenderNukeSolinium()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeN2.class, new RenderNukeN2()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeMan.class, new RenderNukeMan()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeBalefire.class, new RenderNukeFstbmb()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBombMulti.class, new RenderBombMulti()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeMike.class, new RenderNukeMike()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeTsar.class, new RenderNukeTsar()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeFleija.class, new RenderNukeFleija()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCrashedBomb.class, new RenderCrashedBomb()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukePrototype.class, new RenderNukePrototype()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCharge.class, new RenderExplosiveCharge()); - //turrets - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretChekhov.class, new RenderTurretChekhov()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretFriendly.class, new RenderTurretFriendly()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretJeremy.class, new RenderTurretJeremy()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretTauon.class, new RenderTurretTauon()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretRichard.class, new RenderTurretRichard()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretHoward.class, new RenderTurretHoward()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretHowardDamaged.class, new RenderTurretHowardDamaged()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretMaxwell.class, new RenderTurretMaxwell()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretFritz.class, new RenderTurretFritz()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretBrandon.class, new RenderTurretBrandon()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretArty.class, new RenderTurretArty()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretHIMARS.class, new RenderTurretHIMARS()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretSentry.class, new RenderTurretSentry()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretSentryDamaged.class, new RenderTurretSentry()); - //mines - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLandmine.class, new RenderLandmine()); - //machines - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCentrifuge.class, new RenderCentrifuge()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineGasCent.class, new RenderCentrifuge()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFEL.class, new RenderFEL()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySILEX.class, new RenderSILEX()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineUF6Tank.class, new RenderUF6Tank()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePuF6Tank.class, new RenderPuF6Tank()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineIGenerator.class, new RenderIGenerator()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCyclotron.class, new RenderCyclotron()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineExposureChamber.class, new RenderExposureChamber()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineOilWell.class, new RenderDerrick()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineGasFlare.class, new RenderGasFlare()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityChimneyBrick.class, new RenderChimneyBrick()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityChimneyIndustrial.class, new RenderChimneyIndustrial()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMiningLaser.class, new RenderLaserMiner()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAssembler.class, new RenderAssembler()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAssemfac.class, new RenderAssemfac()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineChemplant.class, new RenderChemplant()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineChemfac.class, new RenderChemfac()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineFluidTank.class, new RenderFluidTank()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineBAT9000.class, new RenderBAT9000()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineOrbus.class, new RenderOrbus()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRefinery.class, new RenderRefinery()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineFractionTower.class, new RenderFractionTower()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySpacer.class, new RenderSpacer()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePumpjack.class, new RenderPumpjack()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineFrackingTower.class, new RenderFrackingTower()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineTurbofan.class, new RenderTurbofan()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineTurbineGas.class, new RenderTurbineGas()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineLPW2.class, new RenderLPW2()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePress.class, new RenderPress()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineEPress.class, new RenderEPress()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadGen.class, new RenderRadGen()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadarNT.class, new RenderRadar()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadarLarge.class, new RenderRadarLarge()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadarScreen.class, new RenderRadarScreen()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityReactorResearch.class, new RenderSmallReactor()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTesla.class, new RenderTesla()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBarrel.class, new RenderFluidBarrel()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCrystallizer.class, new RenderCrystallizer()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMicrowave.class, new RenderMicrowave()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRTG.class, new RenderRTG()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMiniRTG.class, new RenderRTG()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFF.class, new RenderForceField()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityForceField.class, new RenderMachineForceField()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineFENSU.class, new RenderFENSU()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineLargeTurbine.class, new RenderBigTurbine()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineReactorBreeding.class, new RenderBreeder()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySolarBoiler.class, new RenderSolarBoiler()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityStorageDrum.class, new RenderStorageDrum()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityChungus.class, new RenderChungus()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTowerLarge.class, new RenderLargeTower()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTowerSmall.class, new RenderSmallTower()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCondenserPowered.class, new RenderCondenser()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDeuteriumTower.class, new RenderDeuteriumTower()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCatalyticCracker.class, new RenderCatalyticCracker()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineLiquefactor.class, new RenderLiquefactor()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineSolidifier.class, new RenderSolidifier()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCompressor.class, new RenderCompressor()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineDrain.class, new RenderDrain()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadiolysis.class, new RenderRadiolysis()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityElectrolyser.class, new RenderElectrolyser()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFurnaceIron.class, new RenderFurnaceIron()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFurnaceSteel.class, new RenderFurnaceSteel()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFurnaceCombination.class, new RenderFurnaceCombination()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityHeaterFirebox.class, new RenderFirebox()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityHeaterOven.class, new RenderHeatingOven()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAshpit.class, new RenderAshpit()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityHeaterOilburner.class, new RenderOilburner()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityHeaterElectric.class, new RenderElectricHeater()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityHeaterHeatex.class, new RenderHeaterHeatex()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityStirling.class, new RenderStirling()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySawmill.class, new RenderSawmill()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCrucible.class, new RenderCrucible()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityHeatBoiler.class, new RenderBoiler()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityHeatBoilerIndustrial.class, new RenderIndustrialBoiler()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySteamEngine.class, new RenderSteamEngine()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineDiesel.class, new RenderDieselGen()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCombustionEngine.class, new RenderCombustionEngine()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineExcavator.class, new RenderExcavator()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineOreSlopper.class, new RenderOreSlopper()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMixer.class, new RenderMixer()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineHephaestus.class, new RenderHephaestus()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAutosaw.class, new RenderAutosaw()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineVacuumDistill.class, new RenderVacuumDistill()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCatalyticReformer.class, new RenderCatalyticReformer()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineHydrotreater.class, new RenderHydrotreater()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCoker.class, new RenderCoker()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFan.class, new RenderFan()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPistonInserter.class, new RenderPistonInserter()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityConveyorPress.class, new RenderConveyorPress()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRadioTelex.class, new RenderTelex()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePumpSteam.class, new RenderPump()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePumpElectric.class, new RenderPump()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineArcWelder.class, new RenderArcWelder()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineSolderingStation.class, new RenderSolderingStation()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineArcFurnaceLarge.class, new RenderArcFurnace()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineWoodBurner.class, new RenderWoodBurner()); - //Foundry - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFoundryBasin.class, new RenderFoundry()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFoundryMold.class, new RenderFoundry()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineStrandCaster.class, new RenderStrandCaster()); - //ZIRNOX - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityReactorZirnox.class, new RenderZirnox()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityZirnoxDestroyed.class, new RenderZirnoxDestroyed()); - //DFC - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCoreEmitter.class, new RenderCoreComponent()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCoreReceiver.class, new RenderCoreComponent()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCoreInjector.class, new RenderCoreComponent()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCoreStabilizer.class, new RenderCoreComponent()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCore.class, new RenderCore()); - //missile blocks - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaunchPad.class, new RenderLaunchPad()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaunchPadRusted.class, new RenderLaunchPadRusted()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaunchPadLarge.class, new RenderLaunchPadLarge()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMissileAssembly.class, new RenderMissileAssembly()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCompactLauncher.class, new RenderCompactLauncher()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaunchTable.class, new RenderLaunchTable()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySoyuzLauncher.class, new RenderSoyuzLauncher()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySoyuzCapsule.class, new RenderCapsule()); - //network - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPylon.class, new RenderPylon()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityConnector.class, new RenderConnector()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPylonMedium.class, new RenderPylonMedium()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPylonLarge.class, new RenderPylonLarge()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySubstation.class, new RenderSubstation()); - //chargers - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCharger.class, new RenderCharger()); - //DecoContainer - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFileCabinet.class, new RenderFileCabinet()); - //multiblocks - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMultiblock.class, new RenderMultiblock()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySoyuzStruct.class, new RenderSoyuzMultiblock()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityITERStruct.class, new RenderITERMultiblock()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPlasmaStruct.class, new RenderPlasmaMultiblock()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityWatzStruct.class, new RenderWatzMultiblock()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityICFStruct.class, new RenderICFMultiblock()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCustomMachine.class, new RenderCustomMachine()); - //RBMK - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKControlManual.class, new RenderRBMKControlRod()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKControlAuto.class, new RenderRBMKControlRod()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCraneConsole.class, new RenderCraneConsole()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKConsole.class, new RenderRBMKConsole()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKAbsorber.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKBlank.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKBoiler.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKModerator.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKOutgasser.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKReflector.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRod.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRodReaSim.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKCooler.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKStorage.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKHeater.class, new RenderRBMKLid()); - //ITER - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityITER.class, new RenderITER()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePlasmaHeater.class, new RenderPlasmaHeater()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityICF.class, new RenderICF()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityICFController.class, new RenderICFController()); - //Watz - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityWatz.class, new RenderWatz()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityWatzPump.class, new RenderWatzPump()); - //doors - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityVaultDoor.class, new RenderVaultDoor()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBlastDoor.class, new RenderBlastDoor()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDoorGeneric.class, new RenderDoorGeneric()); - } - - @Override - public void registerItemRenderer() { - - ItemRenderLibrary.init(); - - for(Entry entry : ItemRenderLibrary.renderers.entrySet()) - MinecraftForgeClient.registerItemRenderer(entry.getKey(), entry.getValue()); - - //this bit registers an item renderer for every existing tile entity renderer that implements IItemRendererProvider - Iterator iterator = TileEntityRendererDispatcher.instance.mapSpecialRenderers.values().iterator(); - while(iterator.hasNext()) { - Object renderer = iterator.next(); - if(renderer instanceof IItemRendererProvider) { - IItemRendererProvider prov = (IItemRendererProvider) renderer; - for(Item item : prov.getItemsForRenderer()) { - MinecraftForgeClient.registerItemRenderer(item, prov.getRenderer()); - } - } - } - - //universal JSON translated items - double[] rtp = new double[] {0, 180, -90}; - double[] ttp_high = new double[] {0.125, 0.625, 0}; - double[] ttp_low = new double[] {0, 0.75, 0}; - double[] stp = new double[] {1.7, 1.7, 0.85}; - double[] rfp = new double[] {0, 180, -90}; - double[] tfp = new double[] {1.13, 5.2, -0.26}; - double[] sfp = new double[] {1.36, 1.36, 0.68}; - double[] rir = new double[] {0, 0, 0}; - double[] tir = new double[] {0, 0, 0}; - double[] sir = new double[] {1.1, 1.1, 1.1}; - - MinecraftForgeClient.registerItemRenderer(ModItems.titanium_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); - MinecraftForgeClient.registerItemRenderer(ModItems.alloy_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); - MinecraftForgeClient.registerItemRenderer(ModItems.desh_sword, new ItemRenderTransformer(rtp, ttp_low, stp, rfp, tfp, sfp, rir, tir, sir)); - MinecraftForgeClient.registerItemRenderer(ModItems.cobalt_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); - MinecraftForgeClient.registerItemRenderer(ModItems.cobalt_decorated_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); - MinecraftForgeClient.registerItemRenderer(ModItems.starmetal_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); - MinecraftForgeClient.registerItemRenderer(ModItems.schrabidium_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); - MinecraftForgeClient.registerItemRenderer(ModItems.cmb_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); - MinecraftForgeClient.registerItemRenderer(ModItems.dnt_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); - - double[] sfp_default = new double[] {1, 1, 1}; - double[] tfp_default = new double[] {0, 0, 0}; - double[] sir_default = new double[] {1, 1, 1}; - - MinecraftForgeClient.registerItemRenderer(ModItems.bismuth_pickaxe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); - MinecraftForgeClient.registerItemRenderer(ModItems.bismuth_axe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); - MinecraftForgeClient.registerItemRenderer(ModItems.volcanic_pickaxe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); - MinecraftForgeClient.registerItemRenderer(ModItems.volcanic_axe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); - MinecraftForgeClient.registerItemRenderer(ModItems.chlorophyte_pickaxe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); - MinecraftForgeClient.registerItemRenderer(ModItems.chlorophyte_axe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); - MinecraftForgeClient.registerItemRenderer(ModItems.mese_pickaxe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); - MinecraftForgeClient.registerItemRenderer(ModItems.mese_axe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); - - ItemRenderMissileGeneric.init(); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_test, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER0)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_taint, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER0)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_micro, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER0)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_bhole, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER0)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_schrabidium, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER0)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_emp, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER0)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_stealth, new ItemRenderMissileGeneric(RenderMissileType.TYPE_STEALTH)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_generic, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER1)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_incendiary, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER1)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_cluster, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER1)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_buster, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER1)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_decoy, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER1)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_anti_ballistic, new ItemRenderMissileGeneric(RenderMissileType.TYPE_ABM)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_strong, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER2)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_incendiary_strong, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER2)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_cluster_strong, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER2)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_buster_strong, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER2)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_emp_strong, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER2)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_burst, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER3)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_inferno, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER3)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_rain, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER3)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_drill, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER3)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_nuclear, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_nuclear_cluster, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_volcano, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_doomsday, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_doomsday_rusted, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_carrier, new ItemRenderMissileGeneric(RenderMissileType.TYPE_CARRIER)); - MinecraftForgeClient.registerItemRenderer(ModItems.missile_shuttle, new ItemRenderMissileGeneric(RenderMissileType.TYPE_ROBIN)); - - //templates - MinecraftForgeClient.registerItemRenderer(ModItems.assembly_template, new ItemRenderTemplate()); - MinecraftForgeClient.registerItemRenderer(ModItems.chemistry_template, new ItemRenderTemplate()); - MinecraftForgeClient.registerItemRenderer(ModItems.crucible_template, new ItemRenderTemplate()); - //hot stuff - MinecraftForgeClient.registerItemRenderer(ModItems.ingot_steel_dusted, new ItemRendererHot()); - MinecraftForgeClient.registerItemRenderer(ModItems.ingot_chainsteel, new ItemRendererHot()); - MinecraftForgeClient.registerItemRenderer(ModItems.ingot_meteorite, new ItemRendererHot()); - MinecraftForgeClient.registerItemRenderer(ModItems.ingot_meteorite_forged, new ItemRendererHot()); - MinecraftForgeClient.registerItemRenderer(ModItems.blade_meteorite, new ItemRendererHot()); - //meteorite swords - MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_seared, new ItemRendererMeteorSword(1.0F, 0.5F, 0.0F)); - MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_reforged, new ItemRendererMeteorSword(0.5F, 1.0F, 1.0F)); - MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_hardened, new ItemRendererMeteorSword(0.25F, 0.25F, 0.25F)); - MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_alloyed, new ItemRendererMeteorSword(0.0F, 0.5F, 1.0F)); - MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_machined, new ItemRendererMeteorSword(1.0F, 1.0F, 0.0F)); - MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_treated, new ItemRendererMeteorSword(0.5F, 1.0F, 0.5F)); - MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_etched, new ItemRendererMeteorSword(1.0F, 1.0F, 0.5F)); - MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_bred, new ItemRendererMeteorSword(0.5F, 0.5F, 0.0F)); - MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_irradiated, new ItemRendererMeteorSword(0.75F, 1.0F, 0.0F)); - MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_fused, new ItemRendererMeteorSword(1.0F, 0.0F, 0.5F)); - MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_baleful, new ItemRendererMeteorSword(0.0F, 1.0F, 0.0F)); - //swords and hammers - MinecraftForgeClient.registerItemRenderer(ModItems.redstone_sword, new ItemRenderRedstoneSword()); - MinecraftForgeClient.registerItemRenderer(ModItems.big_sword, new ItemRenderBigSword()); - MinecraftForgeClient.registerItemRenderer(ModItems.shimmer_sledge, new ItemRenderShim()); - MinecraftForgeClient.registerItemRenderer(ModItems.shimmer_axe, new ItemRenderShim()); - MinecraftForgeClient.registerItemRenderer(ModItems.stopsign, new ItemRenderShim()); - MinecraftForgeClient.registerItemRenderer(ModItems.sopsign, new ItemRenderShim()); - MinecraftForgeClient.registerItemRenderer(ModItems.chernobylsign, new ItemRenderShim()); - MinecraftForgeClient.registerItemRenderer(ModItems.wood_gavel, new ItemRenderGavel()); - MinecraftForgeClient.registerItemRenderer(ModItems.lead_gavel, new ItemRenderGavel()); - MinecraftForgeClient.registerItemRenderer(ModItems.diamond_gavel, new ItemRenderGavel()); - MinecraftForgeClient.registerItemRenderer(ModItems.mese_gavel, new ItemRenderGavel()); - MinecraftForgeClient.registerItemRenderer(ModItems.crucible, new ItemRenderCrucible()); - MinecraftForgeClient.registerItemRenderer(ModItems.chainsaw, new ItemRenderChainsaw()); - MinecraftForgeClient.registerItemRenderer(ModItems.boltgun, new ItemRenderBoltgun()); - //guns - MinecraftForgeClient.registerItemRenderer(ModItems.gun_rpg, new ItemRenderRpg()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_karl, new ItemRenderRpg()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_panzerschreck, new ItemRenderRpg()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_stinger, new ItemRenderStinger()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_skystinger, new ItemRenderStinger()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver, new ItemRenderWeaponFFColt(ResourceManager.ff_gun_bright, ResourceManager.ff_iron, ResourceManager.ff_wood)); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_saturnite, new ItemRenderWeaponFFColt(ResourceManager.ff_saturnite, ResourceManager.ff_iron, ResourceManager.ff_wood)); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_gold, new ItemRenderWeaponFFColt(ResourceManager.ff_gold, ResourceManager.ff_gold, ResourceManager.ff_gun_dark)); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_schrabidium, new ItemRenderWeaponFFColt(ResourceManager.ff_schrabidium, ResourceManager.ff_schrabidium, ResourceManager.ff_gun_dark)); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_cursed, new ItemRenderWeaponFFCursed()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_nightmare, new ItemRenderWeaponFFNightmare()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_nightmare2, new ItemRenderWeaponFFNightmareDark()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_fatman, new ItemRenderFatMan()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_proto, new ItemRenderFatMan()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_mirv, new ItemRenderMIRVLauncher()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_bf, new ItemRenderBFLauncher()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_xvl1456, new ItemRenderWeaponTau()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_zomg, new ItemRenderZOMG()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_osipr, new ItemRenderOSIPR()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_mp, new ItemRenderMP()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_inverted, new ItemRenderRevolverInverted()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_mp40, new ItemRenderMP40()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_emp, new ItemRenderEMPRay()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_immolator, new ItemRenderImmolator()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_cryolator, new ItemRenderCryolator()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_uboinik, new ItemRenderUboinik()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_jack, new ItemRenderOverkill()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_spark, new ItemRenderOverkill()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_hp, new ItemRenderOverkill()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_euthanasia, new ItemRenderOverkill()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_defabricator, new ItemRenderOverkill()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_dash, new ItemRenderOverkill()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_twigun, new ItemRenderOverkill()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action, new ItemRenderWeaponFFMaresLeg(ResourceManager.ff_gun_bright, ResourceManager.ff_wood)); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action, new ItemRenderWeaponFFBolt(ResourceManager.rem700, ResourceManager.rem700_tex)); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action_dark, new ItemRenderWeaponFFMaresLeg(ResourceManager.ff_gun_normal, ResourceManager.ff_wood_red)); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action_green, new ItemRenderWeaponFFBolt(ResourceManager.rem700poly, ResourceManager.rem700poly_tex)); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action_sonata, new ItemRenderGunAnim()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action_saturnite, new ItemRenderGunAnim()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action_saturnite, new ItemRenderWeaponFFBolt(ResourceManager.rem700sat, ResourceManager.rem700sat_tex)); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_b92, new ItemRenderGunAnim()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_b93, new ItemRenderGunAnim()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_uzi, new ItemRenderUZI()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_uzi_silencer, new ItemRenderUZI()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_uzi_saturnite, new ItemRenderUZI()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_uzi_saturnite_silencer, new ItemRenderUZI()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_calamity, new ItemRenderWeaponFFMG42()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_minigun, new ItemRenderOverkill()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_lacunae, new ItemRenderOverkill()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_folly, new ItemRenderOverkill()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_hk69, new ItemRenderWeaponObj()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_bio_revolver, new ItemRenderBioRevolver()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_deagle, new ItemRenderWeaponObj()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_supershotgun, new ItemRenderWeaponShotty()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_ks23, new ItemRenderWeaponKS23()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_flamer, new ItemRenderWeaponObj()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_flechette, new ItemRenderWeaponObj()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_quadro, new ItemRenderWeaponQuadro()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_sauer, new ItemRenderWeaponSauer()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_vortex, new ItemRenderWeaponVortex()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_thompson, new ItemRenderWeaponThompson()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolter, new ItemRenderWeaponBolter()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolter_digamma, new ItemRenderWeaponBolter()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_fireext, new ItemRenderFireExt()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_ar15, new ItemRenderWeaponAR15()); - MinecraftForgeClient.registerItemRenderer(ModItems.detonator_laser, new ItemRenderDetonatorLaser()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_remington, new ItemRenderWeaponRemington()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_spas12, new ItemRenderWeaponSpas12()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_glass_cannon, new ItemRenderWeaponGlass()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_chemthrower, new ItemRenderWeaponChemthrower()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_m2, new ItemRenderM2()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_nopip, new ItemRenderWeaponNovac()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_pip, new ItemRenderWeaponLilMac()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_blackjack, new ItemRenderWeaponNovac()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_silver, new ItemRenderWeaponNovac()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_red, new ItemRenderWeaponNovac()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_lunatic_marksman, new ItemRenderLunaticSniper()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_benelli, new ItemRenderBenelli()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_uac_pistol, new ItemRenderUACPistol()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_coilgun, new ItemRenderWeaponCoilgun()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_cryocannon, new ItemRenderWeaponCryoCannon()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_congolake, new ItemRenderWeaponCongo()); - //multitool - MinecraftForgeClient.registerItemRenderer(ModItems.multitool_dig, new ItemRenderMultitool()); - MinecraftForgeClient.registerItemRenderer(ModItems.multitool_silk, new ItemRenderMultitool()); - MinecraftForgeClient.registerItemRenderer(ModItems.multitool_ext, new ItemRenderMultitool()); - MinecraftForgeClient.registerItemRenderer(ModItems.multitool_miner, new ItemRenderMultitool()); - MinecraftForgeClient.registerItemRenderer(ModItems.multitool_hit, new ItemRenderMultitool()); - MinecraftForgeClient.registerItemRenderer(ModItems.multitool_beam, new ItemRenderMultitool()); - MinecraftForgeClient.registerItemRenderer(ModItems.multitool_sky, new ItemRenderMultitool()); - MinecraftForgeClient.registerItemRenderer(ModItems.multitool_mega, new ItemRenderMultitool()); - MinecraftForgeClient.registerItemRenderer(ModItems.multitool_joule, new ItemRenderMultitool()); - MinecraftForgeClient.registerItemRenderer(ModItems.multitool_decon, new ItemRenderMultitool()); - //blocks - MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_wall), new ItemRenderDecoBlock()); - MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_corner), new ItemRenderDecoBlock()); - MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_roof), new ItemRenderDecoBlock()); - } - - @Override - public void registerEntityRenderer() { - //projectiles - RenderingRegistry.registerEntityRenderingHandler(EntityRocket.class, new RenderSnowball(ModItems.man_core)); - RenderingRegistry.registerEntityRenderingHandler(EntitySchrab.class, new RenderFlare()); - RenderingRegistry.registerEntityRenderingHandler(EntityBullet.class, new RenderRocket()); - RenderingRegistry.registerEntityRenderingHandler(EntityBulletBaseNT.class, new RenderBullet()); - RenderingRegistry.registerEntityRenderingHandler(EntityRainbow.class, new RenderRainbow()); - RenderingRegistry.registerEntityRenderingHandler(EntityNightmareBlast.class, new RenderOminousBullet()); - RenderingRegistry.registerEntityRenderingHandler(EntityFire.class, new RenderFireball(ModItems.nothing)); - RenderingRegistry.registerEntityRenderingHandler(EntityPlasmaBeam.class, new RenderBeam()); - RenderingRegistry.registerEntityRenderingHandler(EntityLaserBeam.class, new RenderBeam2()); - RenderingRegistry.registerEntityRenderingHandler(EntityMinerBeam.class, new RenderBeam3()); - RenderingRegistry.registerEntityRenderingHandler(EntitySparkBeam.class, new RenderBeam4()); - RenderingRegistry.registerEntityRenderingHandler(EntityExplosiveBeam.class, new RenderBeam5()); - RenderingRegistry.registerEntityRenderingHandler(EntityModBeam.class, new RenderBeam6()); - RenderingRegistry.registerEntityRenderingHandler(EntitySiegeLaser.class, new RenderSiegeLaser()); - RenderingRegistry.registerEntityRenderingHandler(EntityLN2.class, new RenderLN2(ModItems.nothing)); - RenderingRegistry.registerEntityRenderingHandler(EntityLaser.class, new RenderLaser()); - RenderingRegistry.registerEntityRenderingHandler(EntityBombletZeta.class, new RenderBombletTheta()); - RenderingRegistry.registerEntityRenderingHandler(EntityMeteor.class, new RenderMeteor()); - RenderingRegistry.registerEntityRenderingHandler(EntityBoxcar.class, new RenderBoxcar()); - RenderingRegistry.registerEntityRenderingHandler(EntityDuchessGambit.class, new RenderBoxcar()); - RenderingRegistry.registerEntityRenderingHandler(EntityBuilding.class, new RenderBoxcar()); - RenderingRegistry.registerEntityRenderingHandler(EntityBomber.class, new RenderBomber()); - RenderingRegistry.registerEntityRenderingHandler(EntityBurningFOEQ.class, new RenderFOEQ()); - RenderingRegistry.registerEntityRenderingHandler(EntityFallingNuke.class, new RenderFallingNuke()); - RenderingRegistry.registerEntityRenderingHandler(EntityMinerRocket.class, new RenderMinerRocket()); - RenderingRegistry.registerEntityRenderingHandler(EntityBobmazon.class, new RenderMinerRocket()); - RenderingRegistry.registerEntityRenderingHandler(EntityTom.class, new RenderTom()); - RenderingRegistry.registerEntityRenderingHandler(EntityAAShell.class, new RenderMirv()); - RenderingRegistry.registerEntityRenderingHandler(EntityRocketHoming.class, new RenderSRocket()); - RenderingRegistry.registerEntityRenderingHandler(EntityChopperMine.class, new RenderChopperMine()); - RenderingRegistry.registerEntityRenderingHandler(EntityRubble.class, new RenderRubble()); - RenderingRegistry.registerEntityRenderingHandler(EntityShrapnel.class, new RenderShrapnel()); - RenderingRegistry.registerEntityRenderingHandler(EntityFireworks.class, new RenderShrapnel()); - RenderingRegistry.registerEntityRenderingHandler(EntityWaterSplash.class, new RenderEmpty()); - RenderingRegistry.registerEntityRenderingHandler(EntityEMP.class, new RenderEmpty()); - RenderingRegistry.registerEntityRenderingHandler(EntityBeamVortex.class, new RenderVortexBeam()); - RenderingRegistry.registerEntityRenderingHandler(EntityRBMKDebris.class, new RenderRBMKDebris()); - RenderingRegistry.registerEntityRenderingHandler(EntityZirnoxDebris.class, new RenderZirnoxDebris()); - RenderingRegistry.registerEntityRenderingHandler(EntityArtilleryShell.class, new RenderArtilleryShell()); - RenderingRegistry.registerEntityRenderingHandler(EntityArtilleryRocket.class, new RenderArtilleryRocket()); - RenderingRegistry.registerEntityRenderingHandler(EntityCog.class, new RenderCog()); - RenderingRegistry.registerEntityRenderingHandler(EntitySawblade.class, new RenderSawblade()); - RenderingRegistry.registerEntityRenderingHandler(EntityChemical.class, new RenderChemical()); - RenderingRegistry.registerEntityRenderingHandler(EntityMist.class, new RenderMist()); - RenderingRegistry.registerEntityRenderingHandler(EntityWaypoint.class, new RenderMist()); - RenderingRegistry.registerEntityRenderingHandler(EntityAcidBomb.class, new RenderSnowball(Items.slime_ball)); - //grenades - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeGeneric.class, new RenderSnowball(ModItems.grenade_generic)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeStrong.class, new RenderSnowball(ModItems.grenade_strong)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeFrag.class, new RenderSnowball(ModItems.grenade_frag)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeFire.class, new RenderSnowball(ModItems.grenade_fire)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeCluster.class, new RenderSnowball(ModItems.grenade_cluster)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeFlare.class, new RenderFlare()); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeElectric.class, new RenderSnowball(ModItems.grenade_electric)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadePoison.class, new RenderSnowball(ModItems.grenade_poison)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeGas.class, new RenderSnowball(ModItems.grenade_gas)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeSchrabidium.class, new RenderSnowball(ModItems.grenade_schrabidium)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeNuke.class, new RenderSnowball(ModItems.grenade_nuke)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeNuclear.class, new RenderSnowball(ModItems.grenade_nuclear)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadePlasma.class, new RenderSnowball(ModItems.grenade_plasma)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeTau.class, new RenderSnowball(ModItems.grenade_tau)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeLemon.class, new RenderSnowball(ModItems.grenade_lemon)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeMk2.class, new RenderGrenade()); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeZOMG.class, new RenderSnowball(ModItems.grenade_zomg)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeASchrab.class, new RenderGrenade()); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadePulse.class, new RenderSnowball(ModItems.grenade_pulse)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeShrapnel.class, new RenderSnowball(ModItems.grenade_shrapnel)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeBlackHole.class, new RenderSnowball(ModItems.grenade_black_hole)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeGascan.class, new RenderSnowball(ModItems.grenade_gascan)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeCloud.class, new RenderSnowball(ModItems.grenade_cloud)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadePC.class, new RenderSnowball(ModItems.grenade_pink_cloud)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeSmart.class, new RenderSnowball(ModItems.grenade_smart)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeMIRV.class, new RenderSnowball(ModItems.grenade_mirv)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeBreach.class, new RenderSnowball(ModItems.grenade_breach)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeBurst.class, new RenderSnowball(ModItems.grenade_burst)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFGeneric.class, new RenderSnowball(ModItems.grenade_if_generic)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFHE.class, new RenderSnowball(ModItems.grenade_if_he)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFBouncy.class, new RenderSnowball(ModItems.grenade_if_bouncy)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFSticky.class, new RenderSnowball(ModItems.grenade_if_sticky)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFImpact.class, new RenderSnowball(ModItems.grenade_if_impact)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFIncendiary.class, new RenderSnowball(ModItems.grenade_if_incendiary)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFToxic.class, new RenderSnowball(ModItems.grenade_if_toxic)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFConcussion.class, new RenderSnowball(ModItems.grenade_if_concussion)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFBrimstone.class, new RenderSnowball(ModItems.grenade_if_brimstone)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFMystery.class, new RenderSnowball(ModItems.grenade_if_mystery)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFSpark.class, new RenderSnowball(ModItems.grenade_if_spark)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFHopwire.class, new RenderSnowball(ModItems.grenade_if_hopwire)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFNull.class, new RenderSnowball(ModItems.grenade_if_null)); - RenderingRegistry.registerEntityRenderingHandler(EntityWastePearl.class, new RenderSnowball(ModItems.nuclear_waste_pearl)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeDynamite.class, new RenderSnowball(ModItems.stick_dynamite)); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeBouncyGeneric.class, new RenderGenericGrenade()); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeImpactGeneric.class, new RenderGenericGrenade()); - RenderingRegistry.registerEntityRenderingHandler(EntityDisperserCanister.class, new RenderGenericGrenade()); - //missiles - RenderingRegistry.registerEntityRenderingHandler(EntityMissileCustom.class, new RenderMissileCustom()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileGeneric.class, new RenderMissileGeneric()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileDecoy.class, new RenderMissileGeneric()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileStealth.class, new RenderMissileGeneric()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileAntiBallistic.class, new RenderMissileGeneric()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileIncendiary.class, new RenderMissileGeneric()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileCluster.class, new RenderMissileGeneric()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileBunkerBuster.class, new RenderMissileGeneric()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileStrong.class, new RenderMissileStrong()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileIncendiaryStrong.class, new RenderMissileStrong()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileClusterStrong.class, new RenderMissileStrong()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileBusterStrong.class, new RenderMissileStrong()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileEMPStrong.class, new RenderMissileStrong()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileBurst.class, new RenderMissileHuge()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileInferno.class, new RenderMissileHuge()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileRain.class, new RenderMissileHuge()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileDrill.class, new RenderMissileHuge()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileNuclear.class, new RenderMissileNuclear()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileMirv.class, new RenderMissileNuclear()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileVolcano.class, new RenderMissileNuclear()); - RenderingRegistry.registerEntityRenderingHandler(EntityMIRV.class, new RenderMirv()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileDoomsday.class, new RenderMissileNuclear()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileDoomsdayRusted.class, new RenderMissileNuclear()); - RenderingRegistry.registerEntityRenderingHandler(EntitySoyuz.class, new RenderSoyuz()); - RenderingRegistry.registerEntityRenderingHandler(EntitySoyuzCapsule.class, new RenderSoyuzCapsule()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileTaint.class, new RenderMissileTaint()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileMicro.class, new RenderMissileTaint()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileBHole.class, new RenderMissileTaint()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileSchrabidium.class, new RenderMissileTaint()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileEMP.class, new RenderMissileTaint()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileShuttle.class, new RenderMissileShuttle()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileTest.class, new RenderMissileTaint()); - //effects - RenderingRegistry.registerEntityRenderingHandler(EntityCloudFleija.class, new RenderCloudFleija()); - RenderingRegistry.registerEntityRenderingHandler(EntityCloudFleijaRainbow.class, new RenderCloudRainbow()); - RenderingRegistry.registerEntityRenderingHandler(EntityCloudSolinium.class, new RenderCloudSolinium()); - RenderingRegistry.registerEntityRenderingHandler(EntityCloudTom.class, new RenderCloudTom()); - RenderingRegistry.registerEntityRenderingHandler(EntityFalloutRain.class, new RenderFallout()); - RenderingRegistry.registerEntityRenderingHandler(EntityBlackHole.class, new RenderBlackHole()); - RenderingRegistry.registerEntityRenderingHandler(EntityVortex.class, new RenderBlackHole()); - RenderingRegistry.registerEntityRenderingHandler(EntityRagingVortex.class, new RenderBlackHole()); - RenderingRegistry.registerEntityRenderingHandler(EntityQuasar.class, new RenderQuasar()); - RenderingRegistry.registerEntityRenderingHandler(EntityDeathBlast.class, new RenderDeathBlast()); - RenderingRegistry.registerEntityRenderingHandler(EntitySpear.class, new RenderSpear()); - RenderingRegistry.registerEntityRenderingHandler(EntityNukeTorex.class, new RenderTorex()); - //minecarts - RenderingRegistry.registerEntityRenderingHandler(EntityMinecartTest.class, new RenderMinecartTest()); - RenderingRegistry.registerEntityRenderingHandler(EntityMinecartCrate.class, new RenderMinecart()); - RenderingRegistry.registerEntityRenderingHandler(EntityMinecartNTM.class, new RenderNeoCart()); - RenderingRegistry.registerEntityRenderingHandler(EntityMagnusCartus.class, new RenderMagnusCartus()); - RenderingRegistry.registerEntityRenderingHandler(EntityBoatRubber.class, new RenderBoatRubber()); - //trains - RenderingRegistry.registerEntityRenderingHandler(SeatDummyEntity.class, new RenderEmpty()); - RenderingRegistry.registerEntityRenderingHandler(BoundingBoxDummyEntity.class, new RenderEmpty()); - RenderingRegistry.registerEntityRenderingHandler(TrainCargoTram.class, new RenderTrainCargoTram()); - RenderingRegistry.registerEntityRenderingHandler(TrainCargoTramTrailer.class, new RenderTrainCargoTramTrailer()); - RenderingRegistry.registerEntityRenderingHandler(TrainTunnelBore.class, new RenderTunnelBore()); - //items - RenderingRegistry.registerEntityRenderingHandler(EntityMovingItem.class, new RenderMovingItem()); - RenderingRegistry.registerEntityRenderingHandler(EntityMovingPackage.class, new RenderMovingPackage()); - RenderingRegistry.registerEntityRenderingHandler(EntityTNTPrimedBase.class, new RenderTNTPrimedBase()); - RenderingRegistry.registerEntityRenderingHandler(EntityDeliveryDrone.class, new RenderDeliveryDrone()); - RenderingRegistry.registerEntityRenderingHandler(EntityRequestDrone.class, new RenderDeliveryDrone()); - RenderingRegistry.registerEntityRenderingHandler(EntityFallingBlockNT.class, new RenderFallingBlockNT()); - //mobs - RenderingRegistry.registerEntityRenderingHandler(EntityCreeperNuclear.class, new RenderCreeperUniversal(RefStrings.MODID + ":" + "textures/entity/creeper.png", RefStrings.MODID + ":" + "textures/entity/creeper_armor.png").setSwellMod(5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityCreeperTainted.class, new RenderCreeperUniversal(RefStrings.MODID + ":" + "textures/entity/creeper_tainted.png", RefStrings.MODID + ":" + "textures/entity/creeper_armor_taint.png")); - RenderingRegistry.registerEntityRenderingHandler(EntityCreeperPhosgene.class, new RenderCreeperUniversal(RefStrings.MODID + ":" + "textures/entity/creeper_phosgene.png", "textures/entity/creeper/creeper_armor.png")); - RenderingRegistry.registerEntityRenderingHandler(EntityCreeperVolatile.class, new RenderCreeperUniversal(RefStrings.MODID + ":" + "textures/entity/creeper_volatile.png", "textures/entity/creeper/creeper_armor.png")); - RenderingRegistry.registerEntityRenderingHandler(EntityCreeperGold.class, new RenderCreeperUniversal(RefStrings.MODID + ":" + "textures/entity/creeper_gold.png", "textures/entity/creeper/creeper_armor.png")); - RenderingRegistry.registerEntityRenderingHandler(EntityHunterChopper.class, new RenderHunterChopper()); - RenderingRegistry.registerEntityRenderingHandler(EntityCyberCrab.class, new RenderCyberCrab()); - RenderingRegistry.registerEntityRenderingHandler(EntityTeslaCrab.class, new RenderTeslaCrab()); - RenderingRegistry.registerEntityRenderingHandler(EntityTaintCrab.class, new RenderTaintCrab()); - RenderingRegistry.registerEntityRenderingHandler(EntityMaskMan.class, new RenderMaskMan()); - RenderingRegistry.registerEntityRenderingHandler(EntityBOTPrimeHead.class, new RenderWormHead()); - RenderingRegistry.registerEntityRenderingHandler(EntityBOTPrimeBody.class, new RenderWormBody()); - RenderingRegistry.registerEntityRenderingHandler(EntityDuck.class, new RenderDuck(new ModelChicken(), 0.3F)); - RenderingRegistry.registerEntityRenderingHandler(EntityQuackos.class, new RenderQuacc(new ModelChicken(), 7.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityFBI.class, new RenderFBI()); - RenderingRegistry.registerEntityRenderingHandler(EntityRADBeast.class, new RenderRADBeast()); - RenderingRegistry.registerEntityRenderingHandler(EntityBlockSpider.class, new RenderBlockSpider()); - RenderingRegistry.registerEntityRenderingHandler(EntityUFO.class, new RenderUFO()); - RenderingRegistry.registerEntityRenderingHandler(EntitySiegeZombie.class, new RenderSiegeZombie()); - RenderingRegistry.registerEntityRenderingHandler(EntitySiegeUFO.class, new RenderSiegeUFO()); - RenderingRegistry.registerEntityRenderingHandler(EntitySiegeCraft.class, new RenderSiegeCraft()); - RenderingRegistry.registerEntityRenderingHandler(EntitySiegeSkeleton.class, new RenderSiegeSkeleton()); - RenderingRegistry.registerEntityRenderingHandler(EntitySiegeTunneler.class, new RenderSiegeTunneler()); - RenderingRegistry.registerEntityRenderingHandler(EntityGhost.class, new RenderGhost()); - RenderingRegistry.registerEntityRenderingHandler(EntityGlyphid.class, new RenderGlyphid()); - RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidBrawler.class, new RenderGlyphid()); - RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidBehemoth.class, new RenderGlyphid()); - RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidBrenda.class, new RenderGlyphid()); - RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidBombardier.class, new RenderGlyphid()); - RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidBlaster.class, new RenderGlyphid()); - RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidScout.class, new RenderGlyphid()); - RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidNuclear.class, new RenderGlyphidNuclear()); - RenderingRegistry.registerEntityRenderingHandler(EntityParasiteMaggot.class, new RenderMaggot()); - RenderingRegistry.registerEntityRenderingHandler(EntityFBIDrone.class, new RenderDrone()); - RenderingRegistry.registerEntityRenderingHandler(EntityPlasticBag.class, new RenderPlasticBag()); - RenderingRegistry.registerEntityRenderingHandler(EntityPigeon.class, new RenderPigeon(new ModelPigeon(), 0.3F)); - //"particles" - RenderingRegistry.registerEntityRenderingHandler(EntityBSmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.b_smoke1, ModItems.b_smoke2, ModItems.b_smoke3, ModItems.b_smoke4, ModItems.b_smoke5, ModItems.b_smoke6, ModItems.b_smoke7, ModItems.b_smoke8 })); - RenderingRegistry.registerEntityRenderingHandler(EntityChlorineFX.class, new MultiCloudRenderer(new Item[] { ModItems.chlorine1, ModItems.chlorine2, ModItems.chlorine3, ModItems.chlorine4, ModItems.chlorine5, ModItems.chlorine6, ModItems.chlorine7, ModItems.chlorine8 })); - RenderingRegistry.registerEntityRenderingHandler(EntityPinkCloudFX.class, new MultiCloudRenderer(new Item[] { ModItems.pc1, ModItems.pc2, ModItems.pc3, ModItems.pc4, ModItems.pc5, ModItems.pc6, ModItems.pc7, ModItems.pc8 })); - RenderingRegistry.registerEntityRenderingHandler(com.hbm.entity.particle.EntityCloudFX.class, new MultiCloudRenderer(new Item[] { ModItems.cloud1, ModItems.cloud2, ModItems.cloud3, ModItems.cloud4, ModItems.cloud5, ModItems.cloud6, ModItems.cloud7, ModItems.cloud8 })); - RenderingRegistry.registerEntityRenderingHandler(EntityOrangeFX.class, new MultiCloudRenderer(new Item[] { ModItems.orange1, ModItems.orange2, ModItems.orange3, ModItems.orange4, ModItems.orange5, ModItems.orange6, ModItems.orange7, ModItems.orange8 })); - RenderingRegistry.registerEntityRenderingHandler(EntityFogFX.class, new FogRenderer()); - RenderingRegistry.registerEntityRenderingHandler(EntityEMPBlast.class, new RenderEMPBlast()); - } - - @Override - public void registerBlockRenderer() { - - RenderingRegistry.registerBlockHandler(new RenderTaintBlock()); - RenderingRegistry.registerBlockHandler(new RenderScaffoldBlock()); - RenderingRegistry.registerBlockHandler(new RenderTapeBlock()); - RenderingRegistry.registerBlockHandler(new RenderSteelBeam()); - RenderingRegistry.registerBlockHandler(new RenderBarrel()); - RenderingRegistry.registerBlockHandler(new RenderFence()); - RenderingRegistry.registerBlockHandler(new RenderBarbedWire()); - RenderingRegistry.registerBlockHandler(new RenderAntennaTop()); - RenderingRegistry.registerBlockHandler(new RenderConserve()); - RenderingRegistry.registerBlockHandler(new RenderConveyor()); - RenderingRegistry.registerBlockHandler(new RenderConveyorChute()); - RenderingRegistry.registerBlockHandler(new RenderConveyorLift()); - RenderingRegistry.registerBlockHandler(new RenderRTGBlock()); - RenderingRegistry.registerBlockHandler(new RenderSpikeBlock()); - RenderingRegistry.registerBlockHandler(new RenderChain()); - RenderingRegistry.registerBlockHandler(new RenderMirror()); - RenderingRegistry.registerBlockHandler(new RenderGrate()); - RenderingRegistry.registerBlockHandler(new RenderPipe()); - RenderingRegistry.registerBlockHandler(new RenderBattery()); - RenderingRegistry.registerBlockHandler(new RenderAnvil()); - RenderingRegistry.registerBlockHandler(new RenderCable()); - RenderingRegistry.registerBlockHandler(new RenderCableClassic()); - RenderingRegistry.registerBlockHandler(new RenderTestPipe()); - RenderingRegistry.registerBlockHandler(new RenderBlockCT()); - RenderingRegistry.registerBlockHandler(new RenderDetCord()); - RenderingRegistry.registerBlockHandler(new RenderBlockMultipass()); - RenderingRegistry.registerBlockHandler(new RenderBlockSideRotation()); - RenderingRegistry.registerBlockHandler(new RenderDiode()); - RenderingRegistry.registerBlockHandler(new RenderBoxDuct()); - RenderingRegistry.registerBlockHandler(new RenderBlockDecoModel(ModBlocks.deco_computer.getRenderType(), ResourceManager.deco_computer)); - RenderingRegistry.registerBlockHandler(new RenderReeds()); - RenderingRegistry.registerBlockHandler(new RenderRTTY()); - RenderingRegistry.registerBlockHandler(new RenderDiFurnaceExtension()); - RenderingRegistry.registerBlockHandler(new RenderSplitter()); - RenderingRegistry.registerBlockHandler(new RenderCapacitor()); - RenderingRegistry.registerBlockHandler(new RenderPedestal()); - RenderingRegistry.registerBlockHandler(new RenderLight()); - RenderingRegistry.registerBlockHandler(new RenderCRT()); - RenderingRegistry.registerBlockHandler(new RenderToaster()); - RenderingRegistry.registerBlockHandler(new RenderPartitioner()); - - RenderingRegistry.registerBlockHandler(new RenderFoundryBasin()); - RenderingRegistry.registerBlockHandler(new RenderFoundryMold()); - RenderingRegistry.registerBlockHandler(new RenderFoundryChannel()); - RenderingRegistry.registerBlockHandler(new RenderFoundryTank()); - RenderingRegistry.registerBlockHandler(new RenderFoundryOutlet()); - - RenderingRegistry.registerBlockHandler(new RenderRail()); - - RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_dynamite.getRenderType(), ResourceManager.charge_dynamite)); - RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_c4.getRenderType(), ResourceManager.charge_c4)); - - RenderingRegistry.registerBlockHandler(new RenderRBMKRod()); - RenderingRegistry.registerBlockHandler(new RenderRBMKReflector()); - RenderingRegistry.registerBlockHandler(new RenderRBMKControl()); - RenderingRegistry.registerBlockHandler(new RenderPribris()); - } - - @Override - public void registerMissileItems() { - - MissilePart.registerAllParts(); - - Iterator it = MissilePart.parts.entrySet().iterator(); - - while(it.hasNext()) { - Map.Entry pair = (Map.Entry) it.next(); - MissilePart part = (MissilePart) pair.getValue(); - MinecraftForgeClient.registerItemRenderer(part.part, new ItemRenderMissilePart(part)); - } - - MinecraftForgeClient.registerItemRenderer(ModItems.missile_custom, new ItemRenderMissile()); - } - - @Deprecated - @Override - public void particleControl(double x, double y, double z, int type) { - - - World world = Minecraft.getMinecraft().theWorld; - TextureManager man = Minecraft.getMinecraft().renderEngine; - - switch(type) { - case 0: - - for(int i = 0; i < 10; i++) { - EntityCloudFX smoke = new EntityCloudFX(world, x + world.rand.nextGaussian(), y + world.rand.nextGaussian(), z + world.rand.nextGaussian(), 0.0, 0.0, 0.0); - Minecraft.getMinecraft().effectRenderer.addEffect(smoke); - } - break; - - case 1: - - EntityCloudFX smoke = new EntityCloudFX(world, x, y, z, 0.0, 0.1, 0.0); - Minecraft.getMinecraft().effectRenderer.addEffect(smoke); - break; - - case 2: - - ParticleContrail contrail = new ParticleContrail(man, world, x, y, z); - Minecraft.getMinecraft().effectRenderer.addEffect(contrail); - break; - - case 3: - - ParticleRadiationFog fog = new ParticleRadiationFog(man, world, x, y, z); - Minecraft.getMinecraft().effectRenderer.addEffect(fog); - break; - } - } - - //version 2, now with strings! - @Deprecated - @Override - public void spawnParticle(double x, double y, double z, String type, float args[]) { - - World world = Minecraft.getMinecraft().theWorld; - TextureManager man = Minecraft.getMinecraft().renderEngine; - - if("launchsmoke".equals(type) && args.length == 3) { - ParticleSmokePlume contrail = new ParticleSmokePlume(man, world, x, y, z); - contrail.motionX = args[0]; - contrail.motionY = args[1]; - contrail.motionZ = args[2]; - Minecraft.getMinecraft().effectRenderer.addEffect(contrail); - } - if("exKerosene".equals(type)) { - ParticleContrail contrail = new ParticleContrail(man, world, x, y, z, 0F, 0F, 0F, 1F); - Minecraft.getMinecraft().effectRenderer.addEffect(contrail); - } - if("exSolid".equals(type)) { - ParticleContrail contrail = new ParticleContrail(man, world, x, y, z, 0.3F, 0.2F, 0.05F, 1F); - Minecraft.getMinecraft().effectRenderer.addEffect(contrail); - } - if("exHydrogen".equals(type)) { - ParticleContrail contrail = new ParticleContrail(man, world, x, y, z, 0.7F, 0.7F, 0.7F, 1F); - Minecraft.getMinecraft().effectRenderer.addEffect(contrail); - } - if("exBalefire".equals(type)) { - ParticleContrail contrail = new ParticleContrail(man, world, x, y, z, 0.2F, 0.7F, 0.2F, 1F); - Minecraft.getMinecraft().effectRenderer.addEffect(contrail); - } - if("radSmoke".equals(type)) { - ParticleRadiationFog contrail = new ParticleRadiationFog(man, world, x, y, z); - Minecraft.getMinecraft().effectRenderer.addEffect(contrail); - } - } - - public static HashMap particleCreators = new HashMap(); - - static { - particleCreators.put("explosionLarge", new ExplosionCreator()); - } - - //mk3, only use this one - @Override - public void effectNT(NBTTagCompound data) { - - World world = Minecraft.getMinecraft().theWorld; - - if(world == null) //might i ask why? - return; - - TextureManager man = Minecraft.getMinecraft().renderEngine; - EntityPlayer player = Minecraft.getMinecraft().thePlayer; - int particleSetting = Minecraft.getMinecraft().gameSettings.particleSetting; - Random rand = world.rand; - String type = data.getString("type"); - double x = data.getDouble("posX"); - double y = data.getDouble("posY"); - double z = data.getDouble("posZ"); - - if(particleCreators.containsKey(type)) { - particleCreators.get(type).makeParticle(world, player, man, rand, x, y, z, data); - return; - } - - if("missileContrail".equals(type)) { - - if(Vec3.createVectorHelper(player.posX - x, player.posY - y, player.posZ - z).lengthVector() > 350) return; - - float scale = data.hasKey("scale") ? data.getFloat("scale") : 1F; - double mX = data.getDouble("moX"); - double mY = data.getDouble("moY"); - double mZ = data.getDouble("moZ"); - - /*ParticleContrail contrail = new ParticleContrail(man, world, x, y, z, 0, 0, 0, scale); - contrail.motionX = mX; - contrail.motionY = mY; - contrail.motionZ = mZ; - Minecraft.getMinecraft().effectRenderer.addEffect(contrail);*/ - - ParticleRocketFlame fx = new ParticleRocketFlame(man, world, x, y, z).setScale(scale); - fx.motionX = mX; - fx.motionY = mY; - fx.motionZ = mZ; - if(data.hasKey("maxAge")) fx.setMaxAge(data.getInteger("maxAge")); - Minecraft.getMinecraft().effectRenderer.addEffect(fx); - } - - if("smoke".equals(type)) { - - String mode = data.getString("mode"); - int count = Math.max(1, data.getInteger("count")); - - if("cloud".equals(mode)) { - - for(int i = 0; i < count; i++) { - ParticleExSmoke fx = new ParticleExSmoke(man, world, x, y, z); - fx.motionY = rand.nextGaussian() * (1 + (count / 100)); - fx.motionX = rand.nextGaussian() * (1 + (count / 150)); - fx.motionZ = rand.nextGaussian() * (1 + (count / 150)); - if(rand.nextBoolean()) fx.motionY = Math.abs(fx.motionY); - Minecraft.getMinecraft().effectRenderer.addEffect(fx); - } - } - - if("radial".equals(mode)) { - - for(int i = 0; i < count; i++) { - ParticleExSmoke fx = new ParticleExSmoke(man, world, x, y, z); - fx.motionY = rand.nextGaussian() * (1 + (count / 50)); - fx.motionX = rand.nextGaussian() * (1 + (count / 50)); - fx.motionZ = rand.nextGaussian() * (1 + (count / 50)); - Minecraft.getMinecraft().effectRenderer.addEffect(fx); - } - } - - if("radialDigamma".equals(mode)) { - - Vec3 vec = Vec3.createVectorHelper(2, 0, 0); - vec.rotateAroundY(rand.nextFloat() * (float)Math.PI * 2F); - - for(int i = 0; i < count; i++) { - ParticleDigammaSmoke fx = new ParticleDigammaSmoke(man, world, x, y, z); - fx.motionY = 0; - fx.motionX = vec.xCoord; - fx.motionZ = vec.zCoord; - Minecraft.getMinecraft().effectRenderer.addEffect(fx); - - vec.rotateAroundY((float)Math.PI * 2F / (float)count); - } - } - - if("shock".equals(mode)) { - - double strength = data.getDouble("strength"); - - Vec3 vec = Vec3.createVectorHelper(strength, 0, 0); - vec.rotateAroundY(rand.nextInt(360)); - - for(int i = 0; i < count; i++) { - ParticleExSmoke fx = new ParticleExSmoke(man, world, x, y, z); - fx.motionY = 0; - fx.motionX = vec.xCoord; - fx.motionZ = vec.zCoord; - Minecraft.getMinecraft().effectRenderer.addEffect(fx); - - vec.rotateAroundY((float)Math.PI * 2F / (float)count); - } - } - - if("shockRand".equals(mode)) { - - double strength = data.getDouble("strength"); - - Vec3 vec = Vec3.createVectorHelper(strength, 0, 0); - vec.rotateAroundY(rand.nextInt(360)); - double r; - - for(int i = 0; i < count; i++) { - r = rand.nextDouble(); - ParticleExSmoke fx = new ParticleExSmoke(man, world, x, y, z); - fx.motionY = 0; - fx.motionX = vec.xCoord * r; - fx.motionZ = vec.zCoord * r; - Minecraft.getMinecraft().effectRenderer.addEffect(fx); - - vec.rotateAroundY(360 / count); - } - } - - if("wave".equals(mode)) { - - double strength = data.getDouble("range"); - - Vec3 vec = Vec3.createVectorHelper(strength, 0, 0); - - for(int i = 0; i < count; i++) { - - vec.rotateAroundY((float) Math.toRadians(rand.nextFloat() * 360F)); - - ParticleExSmoke fx = new ParticleExSmoke(man, world, x + vec.xCoord, y, z + vec.zCoord); - fx.maxAge = 50; - fx.motionY = 0; - fx.motionX = 0; - fx.motionZ = 0; - Minecraft.getMinecraft().effectRenderer.addEffect(fx); - - vec.rotateAroundY(360 / count); - } - } - } - - if("exhaust".equals(type)) { - - String mode = data.getString("mode"); - - if("soyuz".equals(mode)) { - - if(Vec3.createVectorHelper(player.posX - x, player.posY - y, player.posZ - z).lengthVector() > 350) - return; - - int count = Math.max(1, data.getInteger("count")); - double width = data.getDouble("width"); - - for(int i = 0; i < count; i++) { - - ParticleRocketFlame fx = new ParticleRocketFlame(man, world, x + rand.nextGaussian() * width, y, z + rand.nextGaussian() * width); - fx.motionY = -0.75 + rand.nextDouble() * 0.5; - Minecraft.getMinecraft().effectRenderer.addEffect(fx); - } - } - - if("meteor".equals(mode)) { - - if(Vec3.createVectorHelper(player.posX - x, player.posY - y, player.posZ - z).lengthVector() > 350) - return; - - int count = Math.max(1, data.getInteger("count")); - double width = data.getDouble("width"); - - for(int i = 0; i < count; i++) { - - ParticleRocketFlame fx = new ParticleRocketFlame(man, world, x + rand.nextGaussian() * width, y + rand.nextGaussian() * width, z + rand.nextGaussian() * width); - Minecraft.getMinecraft().effectRenderer.addEffect(fx); - } - } - } - - if("fireworks".equals(type)) { - int color = data.getInteger("color"); - char c = (char)data.getInteger("char"); - - ParticleLetter fx = new ParticleLetter(world, x, y, z, color, c); - Minecraft.getMinecraft().effectRenderer.addEffect(fx); - - for(int i = 0; i < 50; i++) { - EntityFireworkSparkFX blast = new EntityFireworkSparkFX(world, x, y, z, - 0.4 * world.rand.nextGaussian(), - 0.4 * world.rand.nextGaussian(), - 0.4 * world.rand.nextGaussian(), Minecraft.getMinecraft().effectRenderer); - blast.setColour(color); - Minecraft.getMinecraft().effectRenderer.addEffect(blast); - } - } - - if("vanillaburst".equals(type)) { - - double motion = data.getDouble("motion"); - - for(int i = 0; i < data.getInteger("count"); i++) { - - double mX = rand.nextGaussian() * motion; - double mY = rand.nextGaussian() * motion; - double mZ = rand.nextGaussian() * motion; - - EntityFX fx = null; - - if("flame".equals(data.getString("mode"))) { - fx = new EntityFlameFX(world, x, y, z, mX, mY, mZ); - } - - if("cloud".equals(data.getString("mode"))) { - fx = new net.minecraft.client.particle.EntityCloudFX(world, x, y, z, mX, mY, mZ); - } - - if("reddust".equals(data.getString("mode"))) { - fx = new net.minecraft.client.particle.EntityReddustFX(world, x, y, z, 0.0F, 0.0F, 0.0F); - fx.motionX = mX; - fx.motionY = mY; - fx.motionZ = mZ; - } - - if("bluedust".equals(data.getString("mode"))) { - fx = new net.minecraft.client.particle.EntityReddustFX(world, x, y, z, 0.01F, 0.01F, 1F); - } - - if("greendust".equals(data.getString("mode"))) { - fx = new net.minecraft.client.particle.EntityReddustFX(world, x, y, z, 0.01F, 0.5F, 0.1F); - } - - if("blockdust".equals(data.getString("mode"))) { - - Block b = Block.getBlockById(data.getInteger("block")); - fx = new net.minecraft.client.particle.EntityBlockDustFX(world, x, y, z, mX, mY + 0.2, mZ, b, 0); - ReflectionHelper.setPrivateValue(EntityFX.class, fx, 50 + rand.nextInt(50), "particleMaxAge", "field_70547_e"); - } - - if(fx != null) - Minecraft.getMinecraft().effectRenderer.addEffect(fx); - } - } - - if("vanillaExt".equals(type)) { - - double mX = data.getDouble("mX"); - double mY = data.getDouble("mY"); - double mZ = data.getDouble("mZ"); - - EntityFX fx = null; - - if("flame".equals(data.getString("mode"))) { - fx = new EntityFlameFX(world, x, y, z, mX, mY, mZ); - } - - if("smoke".equals(data.getString("mode"))) { - fx = new net.minecraft.client.particle.EntitySmokeFX(world, x, y, z, mX, mY, mZ); - } - - if("volcano".equals(data.getString("mode"))) { - fx = new net.minecraft.client.particle.EntitySmokeFX(world, x, y, z, mX, mY, mZ); - float scale = 100; - ReflectionHelper.setPrivateValue(net.minecraft.client.particle.EntitySmokeFX.class, (net.minecraft.client.particle.EntitySmokeFX)fx, scale, "smokeParticleScale", "field_70587_a"); - ReflectionHelper.setPrivateValue(EntityFX.class, fx, 200 + rand.nextInt(50), "particleMaxAge", "field_70547_e"); - fx.noClip = true; - fx.motionY = 2.5 + rand.nextDouble(); - fx.motionX = rand.nextGaussian() * 0.2; - fx.motionZ = rand.nextGaussian() * 0.2; - } - - if("cloud".equals(data.getString("mode"))) { - fx = new net.minecraft.client.particle.EntityCloudFX(world, x, y, z, mX, mY, mZ); - - if(data.hasKey("r")) { - float rng = rand.nextFloat() * 0.1F; - fx.setRBGColorF(data.getFloat("r") + rng, data.getFloat("g") + rng, data.getFloat("b") + rng); - ReflectionHelper.setPrivateValue(net.minecraft.client.particle.EntityCloudFX.class, (EntityCloudFX)fx, 7.5F, "field_70569_a"); - fx.motionX = 0; - fx.motionY = 0; - fx.motionZ = 0; - } - } - - if("reddust".equals(data.getString("mode"))) { - fx = new net.minecraft.client.particle.EntityReddustFX(world, x, y, z, (float)mX, (float)mY, (float)mZ); - } - - if("bluedust".equals(data.getString("mode"))) { - fx = new net.minecraft.client.particle.EntityReddustFX(world, x, y, z, 0.01F, 0.01F, 1F); - } - - if("greendust".equals(data.getString("mode"))) { - fx = new net.minecraft.client.particle.EntityReddustFX(world, x, y, z, 0.01F, 0.5F, 0.1F); - } - - if("fireworks".equals(data.getString("mode"))) { - fx = new EntityFireworkSparkFX(world, x, y, z, 0, 0, 0, Minecraft.getMinecraft().effectRenderer); - } - - if("largeexplode".equals(data.getString("mode"))) { - - - fx = new net.minecraft.client.particle.EntityLargeExplodeFX(man, world, x, y, z, data.getFloat("size"), 0.0F, 0.0F); - float r = 1.0F - rand.nextFloat() * 0.2F; - fx.setRBGColorF(1F * r, 0.9F * r, 0.5F * r); - - for(int i = 0; i < data.getByte("count"); i++) { - net.minecraft.client.particle.EntityExplodeFX sec = new net.minecraft.client.particle.EntityExplodeFX(world, x, y, z, 0.0F, 0.0F, 0.0F); - float r2 = 1.0F - rand.nextFloat() * 0.5F; - sec.setRBGColorF(0.5F * r2, 0.5F * r2, 0.5F * r2); - sec.multipleParticleScaleBy(i + 1); - Minecraft.getMinecraft().effectRenderer.addEffect(sec); - } - } - - if("townaura".equals(data.getString("mode"))) { - fx = new EntityAuraFX(world, x, y, z, 0, 0, 0); - float color = 0.5F + rand.nextFloat() * 0.5F; - fx.setRBGColorF(0.8F * color, 0.9F * color, 1.0F * color); - fx.setVelocity(mX, mY, mZ); - } - - if("blockdust".equals(data.getString("mode"))) { - - Block b = Block.getBlockById(data.getInteger("block")); - fx = new net.minecraft.client.particle.EntityBlockDustFX(world, x, y, z, mX, mY + 0.2, mZ, b, 0); - ReflectionHelper.setPrivateValue(EntityFX.class, fx, 10 + rand.nextInt(20), "particleMaxAge", "field_70547_e"); - } - - if("colordust".equals(data.getString("mode"))) { - - Block b = Blocks.wool; - fx = new net.minecraft.client.particle.EntityBlockDustFX(world, x, y, z, mX, mY + 0.2, mZ, b, 0); - fx.setRBGColorF(data.getFloat("r"), data.getFloat("g"), data.getFloat("b")); - ReflectionHelper.setPrivateValue(EntityFX.class, fx, 10 + rand.nextInt(20), "particleMaxAge", "field_70547_e"); - } - - if(fx != null) { - - if(data.getBoolean("noclip")) { - fx.noClip = true; - } - - if(data.getInteger("overrideAge") > 0) { - ReflectionHelper.setPrivateValue(EntityFX.class, fx, data.getInteger("overrideAge"), "particleMaxAge", "field_70547_e"); - } - - Minecraft.getMinecraft().effectRenderer.addEffect(fx); - } - } - - if("vanilla".equals(type)) { - - double mX = data.getDouble("mX"); - double mY = data.getDouble("mY"); - double mZ = data.getDouble("mZ"); - world.spawnParticle(data.getString("mode"), x, y, z, mX, mY, mZ); - } - - if("jetpack".equals(type)) { - - if(particleSetting == 2) - return; - - Entity ent = world.getEntityByID(data.getInteger("player")); - - if(ent instanceof EntityPlayer) { - - EntityPlayer p = (EntityPlayer)ent; - - Vec3 vec = Vec3.createVectorHelper(0, 0, -0.25); - Vec3 offset = Vec3.createVectorHelper(0.125, 0, 0); - float angle = (float) -Math.toRadians(p.rotationYawHead - (p.rotationYawHead - p.renderYawOffset)); - - vec.rotateAroundY(angle); - offset.rotateAroundY(angle); - - double ix = p.posX + vec.xCoord; - double iy = p.posY + p.eyeHeight - 1; - double iz = p.posZ + vec.zCoord; - double ox = offset.xCoord; - double oz = offset.zCoord; - - double moX = 0; - double moY = 0; - double moZ = 0; - - int mode = data.getInteger("mode"); - - if(mode == 0) { - moY -= 0.2; - } - - if(mode == 1) { - Vec3 look = p.getLookVec(); - - moX -= look.xCoord * 0.1D; - moY -= look.yCoord * 0.1D; - moZ -= look.zCoord * 0.1D; - } - - if(particleSetting == 0) { - Vec3 pos = Vec3.createVectorHelper(ix, iy, iz); - Vec3 thrust = Vec3.createVectorHelper(moX, moY, moZ); - thrust = thrust.normalize(); - Vec3 target = pos.addVector(thrust.xCoord * 10, thrust.yCoord * 10, thrust.zCoord * 10); - MovingObjectPosition mop = player.worldObj.func_147447_a(pos, target, false, false, true); - - if(mop != null && mop.typeOfHit == MovingObjectType.BLOCK && mop.sideHit == 1) { - - Block b = world.getBlock(mop.blockX, mop.blockY, mop.blockZ); - int meta = world.getBlockMetadata(mop.blockX, mop.blockY, mop.blockZ); - - Vec3 delta = Vec3.createVectorHelper(ix - mop.hitVec.xCoord, iy - mop.hitVec.yCoord, iz - mop.hitVec.zCoord); - Vec3 vel = Vec3.createVectorHelper(0.75 - delta.lengthVector() * 0.075, 0, 0); - - for(int i = 0; i < (10 - delta.lengthVector()); i++) { - vel.rotateAroundY(world.rand.nextFloat() * (float)Math.PI * 2F); - Minecraft.getMinecraft().effectRenderer.addEffect(new EntityBlockDustFX(world, mop.hitVec.xCoord, mop.hitVec.yCoord + 0.1, mop.hitVec.zCoord, vel.xCoord, 0.1, vel.zCoord, b, meta)); - } - } - } - - double mX2 = BobMathUtil.safeClamp(p.motionX + moX * 2, -5, 5); - double mY2 = BobMathUtil.safeClamp(p.motionY + moY * 2, -5, 5); - double mZ2 = BobMathUtil.safeClamp(p.motionZ + moZ * 2, -5, 5); - double mX3 = BobMathUtil.safeClamp(p.motionX + moX * 2, -10, 10); - double mY3 = BobMathUtil.safeClamp(p.motionY + moY * 2, -10, 10); - double mZ3 = BobMathUtil.safeClamp(p.motionZ + moZ * 2, -10, 10); - - Minecraft.getMinecraft().effectRenderer.addEffect(new EntityFlameFX(world, ix + ox, iy, iz + oz, mX2, mY2, mZ2)); - Minecraft.getMinecraft().effectRenderer.addEffect(new EntityFlameFX(world, ix - ox, iy, iz - oz, mX2, mY2, mZ2)); - - if(particleSetting == 0) { - Minecraft.getMinecraft().effectRenderer.addEffect(new net.minecraft.client.particle.EntitySmokeFX(world, ix + ox, iy, iz + oz, mX3, mY3, mZ3)); - Minecraft.getMinecraft().effectRenderer.addEffect(new net.minecraft.client.particle.EntitySmokeFX(world, ix - ox, iy, iz - oz, mX3, mY3, mZ3)); - } - } - } - - if("bnuuy".equals(type)) { - - if(particleSetting == 2) - return; - - Entity ent = world.getEntityByID(data.getInteger("player")); - - if(ent instanceof EntityPlayer) { - - EntityPlayer p = (EntityPlayer)ent; - - Vec3 vec = Vec3.createVectorHelper(0, 0, -0.6); - Vec3 offset = Vec3.createVectorHelper(0.275, 0, 0); - float angle = (float) -Math.toRadians(p.rotationYawHead - (p.rotationYawHead - p.renderYawOffset)); - - vec.rotateAroundY(angle); - offset.rotateAroundY(angle); - - double ix = p.posX + vec.xCoord; - double iy = p.posY + p.eyeHeight - 1 + 0.4; - double iz = p.posZ + vec.zCoord; - double ox = offset.xCoord; - double oz = offset.zCoord; - - if(player.isSneaking()) { - iy += 0.25; - } - - vec = vec.normalize(); - double mult = 0.025D; - double mX = vec.xCoord * mult; - double mZ = vec.zCoord * mult; - - //Minecraft.getMinecraft().effectRenderer.addEffect(new EntityFlameFX(world, ix + ox, iy, iz + oz, 0, 0, 0)); - //Minecraft.getMinecraft().effectRenderer.addEffect(new EntityFlameFX(world, ix - ox, iy, iz - oz, 0, 0, 0)); - - for(int i = 0; i < 2; i++) { - net.minecraft.client.particle.EntitySmokeFX fx = new net.minecraft.client.particle.EntitySmokeFX(world, ix + ox * (i == 0 ? -1 : 1), iy, iz + oz * (i == 0 ? -1 : 1), mX, 0, mZ); - float scale = 0.5F; - ReflectionHelper.setPrivateValue(net.minecraft.client.particle.EntitySmokeFX.class, (net.minecraft.client.particle.EntitySmokeFX)fx, scale, "smokeParticleScale", "field_70587_a"); - Minecraft.getMinecraft().effectRenderer.addEffect(fx); - } - } - } - - if("jetpack_bj".equals(type)) { - - if(particleSetting == 2) - return; - - Entity ent = world.getEntityByID(data.getInteger("player")); - - if(ent instanceof EntityPlayer) { - - EntityPlayer p = (EntityPlayer)ent; - - Vec3 vec = Vec3.createVectorHelper(0, 0, -0.3125); - Vec3 offset = Vec3.createVectorHelper(0.125, 0, 0); - float angle = (float) -Math.toRadians(p.rotationYawHead - (p.rotationYawHead - p.renderYawOffset)); - - vec.rotateAroundY(angle); - offset.rotateAroundY(angle); - - double ix = p.posX + vec.xCoord; - double iy = p.posY + p.eyeHeight - 0.9375; - double iz = p.posZ + vec.zCoord; - double ox = offset.xCoord; - double oz = offset.zCoord; - - if(particleSetting == 0) { - Vec3 pos = Vec3.createVectorHelper(ix, iy, iz); - Vec3 thrust = Vec3.createVectorHelper(0, -1, 0); - Vec3 target = pos.addVector(thrust.xCoord * 10, thrust.yCoord * 10, thrust.zCoord * 10); - MovingObjectPosition mop = player.worldObj.func_147447_a(pos, target, false, false, true); - - if(mop != null && mop.typeOfHit == MovingObjectType.BLOCK && mop.sideHit == 1) { - - Block b = world.getBlock(mop.blockX, mop.blockY, mop.blockZ); - int meta = world.getBlockMetadata(mop.blockX, mop.blockY, mop.blockZ); - - Vec3 delta = Vec3.createVectorHelper(ix - mop.hitVec.xCoord, iy - mop.hitVec.yCoord, iz - mop.hitVec.zCoord); - Vec3 vel = Vec3.createVectorHelper(0.75 - delta.lengthVector() * 0.075, 0, 0); - - for(int i = 0; i < (10 - delta.lengthVector()); i++) { - vel.rotateAroundY(world.rand.nextFloat() * (float)Math.PI * 2F); - Minecraft.getMinecraft().effectRenderer.addEffect(new EntityBlockDustFX(world, mop.hitVec.xCoord, mop.hitVec.yCoord + 0.1, mop.hitVec.zCoord, vel.xCoord, 0.1, vel.zCoord, b, meta)); - } - } - } - - EntityReddustFX dust1 = new EntityReddustFX(world, ix + ox, iy, iz + oz, 0.8F, 0.5F, 1.0F); - EntityReddustFX dust2 = new EntityReddustFX(world, ix - ox, iy, iz - oz, 0.8F, 0.5F, 1.0F); - dust1.setVelocity(p.motionX, p.motionY, p.motionZ); - dust2.setVelocity(p.motionX, p.motionY, p.motionZ); - Minecraft.getMinecraft().effectRenderer.addEffect(dust1); - Minecraft.getMinecraft().effectRenderer.addEffect(dust2); - } - } - - if("jetpack_dns".equals(type)) { - - if(particleSetting == 2) - return; - - Entity ent = world.getEntityByID(data.getInteger("player")); - - if(ent instanceof EntityPlayer) { - - EntityPlayer p = (EntityPlayer)ent; - - Vec3 offset = Vec3.createVectorHelper(0.125, 0, 0); - float angle = (float) -Math.toRadians(p.rotationYawHead - (p.rotationYawHead - p.renderYawOffset)); - - offset.rotateAroundY(angle); - - double ix = p.posX; - double iy = p.posY - p.getYOffset() - 0.5D; - double iz = p.posZ; - double ox = offset.xCoord; - double oz = offset.zCoord; - - if(particleSetting == 0) { - Vec3 pos = Vec3.createVectorHelper(ix, iy, iz); - Vec3 thrust = Vec3.createVectorHelper(0, -1, 0); - Vec3 target = pos.addVector(thrust.xCoord * 10, thrust.yCoord * 10, thrust.zCoord * 10); - MovingObjectPosition mop = player.worldObj.func_147447_a(pos, target, false, false, true); - - if(mop != null && mop.typeOfHit == MovingObjectType.BLOCK && mop.sideHit == 1) { - - Block b = world.getBlock(mop.blockX, mop.blockY, mop.blockZ); - int meta = world.getBlockMetadata(mop.blockX, mop.blockY, mop.blockZ); - - Vec3 delta = Vec3.createVectorHelper(ix - mop.hitVec.xCoord, iy - mop.hitVec.yCoord, iz - mop.hitVec.zCoord); - Vec3 vel = Vec3.createVectorHelper(0.75 - delta.lengthVector() * 0.075, 0, 0); - - for(int i = 0; i < (10 - delta.lengthVector()); i++) { - vel.rotateAroundY(world.rand.nextFloat() * (float)Math.PI * 2F); - Minecraft.getMinecraft().effectRenderer.addEffect(new EntityBlockDustFX(world, mop.hitVec.xCoord, mop.hitVec.yCoord + 0.1, mop.hitVec.zCoord, vel.xCoord, 0.1, vel.zCoord, b, meta)); - } - } - } - - EntityReddustFX dust1 = new EntityReddustFX(world, ix + ox, iy, iz + oz, 0.01F, 1.0F, 1.0F); - EntityReddustFX dust2 = new EntityReddustFX(world, ix - ox, iy, iz - oz, 0.01F, 1.0F, 1.0F); - dust1.setVelocity(p.motionX, p.motionY, p.motionZ); - dust2.setVelocity(p.motionX, p.motionY, p.motionZ); - Minecraft.getMinecraft().effectRenderer.addEffect(dust1); - Minecraft.getMinecraft().effectRenderer.addEffect(dust2); - } - } - - if("muke".equals(type)) { - - ParticleMukeWave wave = new ParticleMukeWave(man, world, x, y, z); - ParticleMukeFlash flash = new ParticleMukeFlash(man, world, x, y, z, data.getBoolean("balefire")); - - Minecraft.getMinecraft().effectRenderer.addEffect(wave); - Minecraft.getMinecraft().effectRenderer.addEffect(flash); - - //single swing: HT 15, MHT 15 - //double swing: HT 60, MHT 50 - - player.hurtTime = 15; - player.maxHurtTime = 15; - player.attackedAtYaw = 0F; - } - - if("tinytot".equals(type)) { - - ParticleMukeWave wave = new ParticleMukeWave(man, world, x, y, z); - Minecraft.getMinecraft().effectRenderer.addEffect(wave); - - for(double d = 0.0D; d <= 1.6D; d += 0.1) { - ParticleMukeCloud cloud = new ParticleMukeCloud(man, world, x, y, z, rand.nextGaussian() * 0.05, d + rand.nextGaussian() * 0.02, rand.nextGaussian() * 0.05); - Minecraft.getMinecraft().effectRenderer.addEffect(cloud); - } - for(int i = 0; i < 50; i++) { - ParticleMukeCloud cloud = new ParticleMukeCloud(man, world, x, y + 0.5, z, rand.nextGaussian() * 0.5, rand.nextInt(5) == 0 ? 0.02 : 0, rand.nextGaussian() * 0.5); - Minecraft.getMinecraft().effectRenderer.addEffect(cloud); - } - for(int i = 0; i < 15; i++) { - double ix = rand.nextGaussian() * 0.2; - double iz = rand.nextGaussian() * 0.2; - - if(ix * ix + iz * iz > 0.75) { - ix *= 0.5; - iz *= 0.5; - } - - double iy = 1.6 + (rand.nextDouble() * 2 - 1) * (0.75 - (ix * ix + iz * iz)) * 0.5; - - ParticleMukeCloud cloud = new ParticleMukeCloud(man, world, x, y, z, ix, iy + rand.nextGaussian() * 0.02, iz); - Minecraft.getMinecraft().effectRenderer.addEffect(cloud); - } - player.hurtTime = 15; - player.maxHurtTime = 15; - player.attackedAtYaw = 0F; - } - - if("ufo".equals(type)) { - double motion = data.getDouble("motion"); - ParticleMukeCloud cloud = new ParticleMukeCloud(man, world, x, y, z, rand.nextGaussian() * motion, 0, rand.nextGaussian() * motion); - Minecraft.getMinecraft().effectRenderer.addEffect(cloud); - } - - if("haze".equals(type)) { - - ParticleHaze fog = new ParticleHaze(man, world, x, y, z); - Minecraft.getMinecraft().effectRenderer.addEffect(fog); - } - - if("plasmablast".equals(type)) { - - ParticlePlasmaBlast cloud = new ParticlePlasmaBlast(man, world, x, y, z, data.getFloat("r"), data.getFloat("g"), data.getFloat("b"), data.getFloat("pitch"), data.getFloat("yaw")); - cloud.setScale(data.getFloat("scale")); - Minecraft.getMinecraft().effectRenderer.addEffect(cloud); - } - - if("justTilt".equals(type)) { - - player.hurtTime = player.maxHurtTime = data.getInteger("time"); - player.attackedAtYaw = 0F; - } - - if("properJolt".equals(type)) { - - player.hurtTime = data.getInteger("time"); - player.maxHurtTime = data.getInteger("maxTime"); - player.attackedAtYaw = 0F; - } - - if("sweat".equals(type)) { - - Entity e = world.getEntityByID(data.getInteger("entity")); - Block b = Block.getBlockById(data.getInteger("block")); - int meta = data.getInteger("meta"); - - if(e instanceof EntityLivingBase) { - - for(int i = 0; i < data.getInteger("count"); i++) { - - double ix = e.boundingBox.minX - 0.2 + (e.boundingBox.maxX - e.boundingBox.minX + 0.4) * rand.nextDouble(); - double iy = e.boundingBox.minY + (e.boundingBox.maxY - e.boundingBox.minY + 0.2) * rand.nextDouble(); - double iz = e.boundingBox.minZ - 0.2 + (e.boundingBox.maxZ - e.boundingBox.minZ + 0.4) * rand.nextDouble(); - - - EntityFX fx = new net.minecraft.client.particle.EntityBlockDustFX(world, ix, iy, iz, 0, 0, 0, b, meta); - ReflectionHelper.setPrivateValue(EntityFX.class, fx, 150 + rand.nextInt(50), "particleMaxAge", "field_70547_e"); - - Minecraft.getMinecraft().effectRenderer.addEffect(fx); - } - } - } - - if("vomit".equals(type)) { - - Entity e = world.getEntityByID(data.getInteger("entity")); - int count = data.getInteger("count") / (particleSetting + 1); - - if(e instanceof EntityLivingBase) { - - double ix = e.posX; - double iy = e.posY - e.getYOffset() + e.getEyeHeight() + (e instanceof EntityPlayer ? 1 : 0); - double iz = e.posZ; - - Vec3 vec = e.getLookVec(); - - for(int i = 0; i < count; i++) { - - if("normal".equals(data.getString("mode"))) { - EntityFX fx = new net.minecraft.client.particle.EntityBlockDustFX(world, ix, iy, iz, (vec.xCoord + rand.nextGaussian() * 0.2) * 0.2, (vec.yCoord + rand.nextGaussian() * 0.2) * 0.2, (vec.zCoord + rand.nextGaussian() * 0.2) * 0.2, Blocks.stained_hardened_clay, (rand.nextBoolean() ? 5 : 13)); - ReflectionHelper.setPrivateValue(EntityFX.class, fx, 150 + rand.nextInt(50), "particleMaxAge", "field_70547_e"); - Minecraft.getMinecraft().effectRenderer.addEffect(fx); - } - - if("blood".equals(data.getString("mode"))) { - EntityFX fx = new net.minecraft.client.particle.EntityBlockDustFX(world, ix, iy, iz, (vec.xCoord + rand.nextGaussian() * 0.2) * 0.2, (vec.yCoord + rand.nextGaussian() * 0.2) * 0.2, (vec.zCoord + rand.nextGaussian() * 0.2) * 0.2, Blocks.redstone_block, 0); - ReflectionHelper.setPrivateValue(EntityFX.class, fx, 150 + rand.nextInt(50), "particleMaxAge", "field_70547_e"); - Minecraft.getMinecraft().effectRenderer.addEffect(fx); - } - - if("smoke".equals(data.getString("mode"))) { - EntityFX fx = new net.minecraft.client.particle.EntitySmokeFX(world, ix, iy, iz, (vec.xCoord + rand.nextGaussian() * 0.1) * 0.05, (vec.yCoord + rand.nextGaussian() * 0.1) * 0.05, (vec.zCoord + rand.nextGaussian() * 0.1) * 0.05, 0.2F); - ReflectionHelper.setPrivateValue(EntityFX.class, fx, 10 + rand.nextInt(10), "particleMaxAge", "field_70547_e"); - Minecraft.getMinecraft().effectRenderer.addEffect(fx); - } - } - } - } - - if("radiation".equals(type)) { - - for(int i = 0; i < data.getInteger("count"); i++) { - - EntityAuraFX flash = new EntityAuraFX(world, - player.posX + rand.nextGaussian() * 4, - player.posY + rand.nextGaussian() * 2, - player.posZ + rand.nextGaussian() * 4, - 0, 0, 0); - - flash.setRBGColorF(0F, 0.75F, 1F); - flash.setVelocity(rand.nextGaussian(), rand.nextGaussian(), rand.nextGaussian()); - Minecraft.getMinecraft().effectRenderer.addEffect(flash); - } - } - - if("schrabfog".equals(type)) { - - EntityAuraFX flash = new EntityAuraFX(world, x, y, z, 0, 0, 0); - flash.setRBGColorF(0F, 1F, 1F); - Minecraft.getMinecraft().effectRenderer.addEffect(flash); - } - - if("hadron".equals(type)) { - - Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleHadron(man, world, x, y, z)); - } - - if("rift".equals(type)) { - - Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleRift(man, world, x, y, z)); - } - - if("rbmkflame".equals(type)) { - int maxAge = data.getInteger("maxAge"); - Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleRBMKFlame(man, world, x, y, z, maxAge)); - } - - if("rbmkmush".equals(type)) { - float scale = data.getFloat("scale"); - Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleRBMKMush(man, world, x, y, z, scale)); - } - - if("tower".equals(type)) { - if(particleSetting == 0 || (particleSetting == 1 && rand.nextBoolean())) { - ParticleCoolingTower fx = new ParticleCoolingTower(man, world, x, y, z); - fx.setLift(data.getFloat("lift")); - fx.setBaseScale(data.getFloat("base")); - fx.setMaxScale(data.getFloat("max")); - fx.setLife(data.getInteger("life") / (particleSetting + 1)); - if(data.hasKey("noWind")) fx.noWind(); - if(data.hasKey("strafe")) fx.setStrafe(data.getFloat("strafe")); - if(data.hasKey("alpha")) fx.alphaMod(data.getFloat("alpha")); - - if(data.hasKey("color")) { - Color color = new Color(data.getInteger("color")); - fx.setRBGColorF(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F); - } - - Minecraft.getMinecraft().effectRenderer.addEffect(fx); - } - } - - if("splash".equals(type)) { - if(particleSetting == 0 || (particleSetting == 1 && rand.nextBoolean())) { - ParticleSplash fx = new ParticleSplash(man, world, x, y, z); - - if(data.hasKey("color")) { - Color color = new Color(data.getInteger("color")); - float f = 1F - rand.nextFloat() * 0.2F; - fx.setRBGColorF(color.getRed() / 255F * f, color.getGreen() / 255F * f, color.getBlue() / 255F * f); - } - - Minecraft.getMinecraft().effectRenderer.addEffect(fx); - } - } - - if("deadleaf".equals(type)) { - if(particleSetting == 0 || (particleSetting == 1 && rand.nextBoolean())) - Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleDeadLeaf(man, world, x, y, z)); - } - - if("anim".equals(type)) { - - String mode = data.getString("mode"); - - /* crucible deploy */ - if("crucible".equals(mode) && player.getHeldItem() != null) { - - BusAnimation animation = new BusAnimation() - .addBus("GUARD_ROT", new BusAnimationSequence() - .addKeyframePosition(90, 0, 1, 0) - .addKeyframePosition(90, 0, 1, 800) - .addKeyframePosition(0, 0, 1, 50)); - - HbmAnimations.hotbar[player.inventory.currentItem] = new Animation(player.getHeldItem().getItem().getUnlocalizedName(), System.currentTimeMillis(), animation); - } - - /* crucible swing */ - if("cSwing".equals(mode)) { - - if(HbmAnimations.getRelevantTransformation("SWING_ROT")[0] == 0) { - - int offset = rand.nextInt(80) - 20; - - BusAnimation animation = new BusAnimation() - .addBus("SWING_ROT", new BusAnimationSequence() - .addKeyframePosition(90 - offset, 90 - offset, 35, 75) - .addKeyframePosition(90 + offset, 90 - offset, -45, 150) - .addKeyframePosition(0, 0, 0, 500)) - .addBus("SWING_TRANS", new BusAnimationSequence() - .addKeyframePosition(-3, 0, 0, 75) - .addKeyframePosition(8, 0, 0, 150) - .addKeyframePosition(0, 0, 0, 500)); - - Minecraft.getMinecraft().getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("hbm:weapon.cSwing"), 0.8F + player.getRNG().nextFloat() * 0.2F)); - - HbmAnimations.hotbar[player.inventory.currentItem] = new Animation(player.getHeldItem().getItem().getUnlocalizedName(), System.currentTimeMillis(), animation); - } - } - - /* chainsaw swing */ - if("sSwing".equals(mode) || "lSwing".equals(mode)) { //temp for lance - - int forward = 150; - int sideways = 100; - int retire = 200; - - if(HbmAnimations.getRelevantAnim() == null) { - - BusAnimation animation = new BusAnimation() - .addBus("SWING_ROT", new BusAnimationSequence() - .addKeyframePosition(0, 0, 90, forward) - .addKeyframePosition(45, 0, 90, sideways) - .addKeyframePosition(0, 0, 0, retire)) - .addBus("SWING_TRANS", new BusAnimationSequence() - .addKeyframePosition(0, 0, 3, forward) - .addKeyframePosition(2, 0, 2, sideways) - .addKeyframePosition(0, 0, 0, retire)); - - - HbmAnimations.hotbar[player.inventory.currentItem] = new Animation(player.getHeldItem().getItem().getUnlocalizedName(), System.currentTimeMillis(), animation); - - } else { - - double[] rot = HbmAnimations.getRelevantTransformation("SWING_ROT"); - double[] trans = HbmAnimations.getRelevantTransformation("SWING_TRANS"); - - if(System.currentTimeMillis() - HbmAnimations.getRelevantAnim().startMillis < 50) return; - - BusAnimation animation = new BusAnimation() - .addBus("SWING_ROT", new BusAnimationSequence() - .addKeyframePosition(rot[0], rot[1], rot[2], 0) - .addKeyframePosition(0, 0, 90, forward) - .addKeyframePosition(45, 0, 90, sideways) - .addKeyframePosition(0, 0, 0, retire)) - .addBus("SWING_TRANS", new BusAnimationSequence() - .addKeyframePosition(trans[0], trans[1], trans[2], 0) - .addKeyframePosition(0, 0, 3, forward) - .addKeyframePosition(2, 0, 2, sideways) - .addKeyframePosition(0, 0, 0, retire)); - - HbmAnimations.hotbar[player.inventory.currentItem] = new Animation(player.getHeldItem().getItem().getUnlocalizedName(), System.currentTimeMillis(), animation); - } - } - - if("generic".equals(mode)) { - ItemStack stack = player.getHeldItem(); - - if(stack != null && stack.getItem() instanceof IAnimatedItem) { - IAnimatedItem item = (IAnimatedItem) stack.getItem(); - BusAnimation anim = item.getAnimation(data, stack); - - if(anim != null) { - HbmAnimations.hotbar[player.inventory.currentItem] = new Animation(player.getHeldItem().getItem().getUnlocalizedName(), System.currentTimeMillis(), anim); - } - } - } - } - - if("tau".equals(type)) { - - for(int i = 0; i < data.getByte("count"); i++) - Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleSpark(world, x, y, z, rand.nextGaussian() * 0.05, 0.05, rand.nextGaussian() * 0.05)); - Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleHadron(man, world, x, y, z)); - } - - if("vanish".equals(type)) { - int ent = data.getInteger("ent"); - this.vanish(ent); - } - - if("giblets".equals(type)) { - int ent = data.getInteger("ent"); - this.vanish(ent); - Entity e = world.getEntityByID(ent); - - if(e == null) - return; - - float width = e.width; - float height = e.height; - int gW = (int)(width / 0.25F); - int gH = (int)(height / 0.25F); - - int count = (int) (gW * 1.5 * gH); - - if(data.hasKey("cDiv")) - count = (int) Math.ceil(count / (double)data.getInteger("cDiv")); - - boolean blowMeIntoTheGodDamnStratosphere = rand.nextInt(15) == 0; - double mult = 1D; - - if(blowMeIntoTheGodDamnStratosphere) - mult *= 10; - - for(int i = 0; i < count; i++) { - Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleGiblet(man, world, x, y, z, rand.nextGaussian() * 0.25 * mult, rand.nextDouble() * mult, rand.nextGaussian() * 0.25 * mult)); - } - } - - if("amat".equals(type)) { - Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleAmatFlash(world, x, y, z, data.getFloat("scale"))); - } - - if("debug".equals(type)) { - String t = data.getString("text"); - int color = data.getInteger("color"); - float scale = data.getFloat("scale"); - ParticleText text = new ParticleText(world, x, y, z, color, t); - text.multipleParticleScaleBy(scale); - Minecraft.getMinecraft().effectRenderer.addEffect(text); - } - - if("debugline".equals(type)) { - double mX = data.getDouble("mX"); - double mY = data.getDouble("mY"); - double mZ = data.getDouble("mZ"); - int color = data.getInteger("color"); - ParticleDebugLine text = new ParticleDebugLine(world, x, y, z, mX, mY, mZ, color); - Minecraft.getMinecraft().effectRenderer.addEffect(text); - } - - if("debugdrone".equals(type)) { - Item held = player.getHeldItem() == null ? null : player.getHeldItem().getItem(); - - if(held == ModItems.drone || - held == Item.getItemFromBlock(ModBlocks.drone_crate_provider) || - held == Item.getItemFromBlock(ModBlocks.drone_crate_requester) || - held == Item.getItemFromBlock(ModBlocks.drone_dock) || - held == Item.getItemFromBlock(ModBlocks.drone_waypoint_request) || - held == Item.getItemFromBlock(ModBlocks.drone_waypoint) || - held == ModItems.drone_linker) { - double mX = data.getDouble("mX"); - double mY = data.getDouble("mY"); - double mZ = data.getDouble("mZ"); - int color = data.getInteger("color"); - ParticleDebugLine text = new ParticleDebugLine(world, x, y, z, mX, mY, mZ, color); - Minecraft.getMinecraft().effectRenderer.addEffect(text); - } - } - - if("network".equals(type)) { - ParticleDebug debug = null; - double mX = data.getDouble("mX"); - double mY = data.getDouble("mY"); - double mZ = data.getDouble("mZ"); - - if("power".equals(data.getString("mode"))) { - debug = new ParticleDebug(man, world, x, y, z, mX, mY, mZ); - } - if("fluid".equals(data.getString("mode"))) { - int color = data.getInteger("color"); - debug = new ParticleDebug(man, world, x, y, z, mX, mY, mZ, color); - } - Minecraft.getMinecraft().effectRenderer.addEffect(debug); - } - - if("gasfire".equals(type)) { - double mX = data.getDouble("mX"); - double mY = data.getDouble("mY"); - double mZ = data.getDouble("mZ"); - float scale = data.getFloat("scale"); - ParticleGasFlame text = new ParticleGasFlame(world, x, y, z, mX, mY, mZ, scale > 0 ? scale : 6.5F); - Minecraft.getMinecraft().effectRenderer.addEffect(text); - } - - if("marker".equals(type)) { - int color = data.getInteger("color"); - String label = data.getString("label"); - int expires = data.getInteger("expires"); - double dist = data.getDouble("dist"); - - RenderOverhead.queuedMarkers.put(new BlockPos(x, y, z), new Marker(color).setDist(dist).setExpire(expires > 0 ? System.currentTimeMillis() + expires : 0).withLabel(label.isEmpty() ? null : label)); - } - - if("casing".equals(type)) { - CasingEjector ejector = CasingEjector.fromId(data.getInteger("ej")); - if(ejector == null) return; - SpentCasing casingConfig = SpentCasing.fromName((data.getString("name"))); - if(casingConfig == null) return; - - for(int i = 0; i < ejector.getAmount(); i++) { - ejector.spawnCasing(man, casingConfig, world, x, y, z, data.getFloat("pitch"), data.getFloat("yaw"), data.getBoolean("crouched")); - } - } - - if("foundry".equals(type)) { - int color = data.getInteger("color"); - byte dir = data.getByte("dir"); - float length = data.getFloat("len"); - float base = data.getFloat("base"); - float offset = data.getFloat("off"); - - ParticleFoundry sploosh = new ParticleFoundry(man, world, x, y, z, color, dir, length, base, offset); - Minecraft.getMinecraft().effectRenderer.addEffect(sploosh); - } - - if("frozen".equals(type)) { - player.motionX = 0; - player.motionZ = 0; - player.motionY = Math.min(player.motionY, 0); - player.moveForward = 0; - player.moveStrafing = 0; - } - } - - private HashMap vanished = new HashMap(); - - public void vanish(int ent) { - vanished.put(ent, System.currentTimeMillis() + 2000); - } - - @Override - public boolean isVanished(Entity e) { - - if(e == null) - return false; - - if(!this.vanished.containsKey(e.getEntityId())) - return false; - - return this.vanished.get(e.getEntityId()) > System.currentTimeMillis(); - } - - @Override - public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float range, float pitch) { - - AudioWrapperClient audio = new AudioWrapperClient(new ResourceLocation(sound)); - audio.updatePosition(x, y, z); - audio.updateVolume(volume); - audio.updateRange(range); - return audio; - } - - @Override - public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float range, float pitch, int keepAlive) { - AudioWrapper audio = getLoopedSound(sound, x, y, z, volume, range, pitch); - audio.setKeepAlive(keepAlive); - return audio; - } - - @Override - public void playSound(String sound, Object data) { } - - @Override - public void displayTooltip(String msg, int time, int id) { - - if(id != 0) - this.theInfoSystem.push(new InfoEntry(msg, time), id); - else - this.theInfoSystem.push(new InfoEntry(msg, time)); - } - - @Override - public boolean getIsKeyPressed(EnumKeybind key) { - - switch(key){ - case JETPACK: return Minecraft.getMinecraft().gameSettings.keyBindJump.getIsKeyPressed(); - case TOGGLE_JETPACK: return HbmKeybinds.jetpackKey.getIsKeyPressed(); - case TOGGLE_HEAD: return HbmKeybinds.hudKey.getIsKeyPressed(); - case RELOAD: return HbmKeybinds.reloadKey.getIsKeyPressed(); - case DASH: return HbmKeybinds.dashKey.getIsKeyPressed(); - case TRAIN: return HbmKeybinds.trainKey.getIsKeyPressed(); - case CRANE_UP: return HbmKeybinds.craneUpKey.getIsKeyPressed(); - case CRANE_DOWN: return HbmKeybinds.craneDownKey.getIsKeyPressed(); - case CRANE_LEFT: return HbmKeybinds.craneLeftKey.getIsKeyPressed(); - case CRANE_RIGHT: return HbmKeybinds.craneRightKey.getIsKeyPressed(); - case CRANE_LOAD: return HbmKeybinds.craneLoadKey.getIsKeyPressed(); - } - - return false; - } - - @Override - public EntityPlayer me() { - return Minecraft.getMinecraft().thePlayer; - } - - @Override - public void openLink(String url) { - try { - Desktop.getDesktop().browse(new URI(url)); - } catch (Exception e) { } - } - - @Override - public List getSubItems(ItemStack stack) { - - List list = new ArrayList(); - stack.getItem().getSubItems(stack.getItem(), stack.getItem().getCreativeTab(), list); - for(ItemStack sta : list) { - sta.stackSize = stack.stackSize; - } - return list; - } - - @Override - public float getImpactDust(World world) { - return ImpactWorldHandler.getDustForClient(world); - } - - @Override - public float getImpactFire(World world) { - return ImpactWorldHandler.getFireForClient(world); - } - - @Override - public boolean getImpact(World world) { - return ImpactWorldHandler.getImpactForClient(world); - } - - @Override - public void playSoundClient(double x, double y, double z, String sound, float volume, float pitch) { - Minecraft.getMinecraft().getSoundHandler().playSound(new PositionedSoundRecord(new ResourceLocation(sound), volume, pitch, (float) x, (float) y, (float) z)); - } - - @Override - public String getLanguageCode() { - Language lang = Minecraft.getMinecraft().getLanguageManager().getCurrentLanguage(); - return lang.getLanguageCode(); - } - - @Override - public int getStackColor(ItemStack stack, boolean amplify) { - if(stack == null) return 0x000000; - if(stack.getItem() instanceof ItemBlock) { - Block b = Block.getBlockFromItem(stack.getItem()); - return b.getMaterial().getMaterialMapColor().colorValue; - } - int color = ColorUtil.getAverageColorFromStack(stack); - if(amplify) color = ColorUtil.amplifyColor(color); - return color; - } -} +package com.hbm.main; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockBobble.TileEntityBobble; +import com.hbm.blocks.generic.BlockEmitter.TileEntityEmitter; +import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; +import com.hbm.blocks.generic.BlockPedestal.TileEntityPedestal; +import com.hbm.blocks.generic.BlockPlushie.TileEntityPlushie; +import com.hbm.blocks.generic.BlockSkeletonHolder.TileEntitySkeletonHolder; +import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; +import com.hbm.blocks.machine.Floodlight.TileEntityFloodlight; +import com.hbm.blocks.machine.MachineFan.TileEntityFan; +import com.hbm.blocks.machine.PistonInserter.TileEntityPistonInserter; +import com.hbm.blocks.machine.WatzPump.TileEntityWatzPump; +import com.hbm.blocks.network.FluidPump.TileEntityFluidPump; +import com.hbm.config.GeneralConfig; +import com.hbm.entity.cart.EntityMinecartCrate; +import com.hbm.entity.cart.EntityMinecartNTM; +import com.hbm.entity.effect.*; +import com.hbm.entity.grenade.*; +import com.hbm.entity.item.*; +import com.hbm.entity.logic.*; +import com.hbm.entity.missile.*; +import com.hbm.entity.missile.EntityMissileTier0.*; +import com.hbm.entity.missile.EntityMissileTier1.*; +import com.hbm.entity.missile.EntityMissileTier2.*; +import com.hbm.entity.missile.EntityMissileTier3.*; +import com.hbm.entity.missile.EntityMissileTier4.*; +import com.hbm.entity.mob.*; +import com.hbm.entity.mob.botprime.EntityBOTPrimeBody; +import com.hbm.entity.mob.botprime.EntityBOTPrimeHead; +import com.hbm.entity.mob.glyphid.*; +import com.hbm.entity.mob.siege.*; +import com.hbm.entity.particle.*; +import com.hbm.entity.projectile.*; +import com.hbm.entity.train.EntityRailCarBase.BoundingBoxDummyEntity; +import com.hbm.entity.train.EntityRailCarRidable.SeatDummyEntity; +import com.hbm.entity.train.*; +import com.hbm.handler.CasingEjector; +import com.hbm.handler.HbmKeybinds; +import com.hbm.handler.HbmKeybinds.EnumKeybind; +import com.hbm.handler.ImpactWorldHandler; +import com.hbm.handler.imc.IMCHandlerNHNEI; +import com.hbm.items.IAnimatedItem; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.factory.GunFactoryClient; +import com.hbm.lib.RefStrings; +import com.hbm.particle.*; +import com.hbm.particle.helper.ParticleCreators; +import com.hbm.particle.psys.engine.EventHandlerParticleEngine; +import com.hbm.qmaw.QMAWLoader; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.HbmAnimations; +import com.hbm.render.anim.HbmAnimations.Animation; +import com.hbm.render.block.*; +import com.hbm.render.entity.RenderEmpty; +import com.hbm.render.entity.effect.*; +import com.hbm.render.entity.item.*; +import com.hbm.render.entity.mob.*; +import com.hbm.render.entity.projectile.*; +import com.hbm.render.entity.rocket.*; +import com.hbm.render.item.*; +import com.hbm.render.item.ItemRenderMissileGeneric.RenderMissileType; +import com.hbm.render.item.block.ItemRenderBlock; +import com.hbm.render.item.block.ItemRenderDecoBlock; +import com.hbm.render.item.weapon.*; +import com.hbm.render.loader.HmfModelLoader; +import com.hbm.render.model.ModelPigeon; +import com.hbm.render.tileentity.*; +import com.hbm.render.util.MissilePart; +import com.hbm.render.util.RenderInfoSystem; +import com.hbm.render.util.RenderInfoSystem.InfoEntry; +import com.hbm.render.util.RenderOverhead; +import com.hbm.render.util.RenderOverhead.Marker; +import com.hbm.sound.AudioWrapper; +import com.hbm.sound.AudioWrapperClient; +import com.hbm.tileentity.TileEntityDoorGeneric; +import com.hbm.tileentity.bomb.*; +import com.hbm.tileentity.deco.*; +import com.hbm.tileentity.machine.*; +import com.hbm.tileentity.machine.albion.*; +import com.hbm.tileentity.machine.oil.*; +import com.hbm.tileentity.machine.rbmk.*; +import com.hbm.tileentity.machine.storage.*; +import com.hbm.tileentity.network.*; +import com.hbm.tileentity.turret.*; +import com.hbm.util.BobMathUtil; +import com.hbm.util.ColorUtil; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.i18n.I18nClient; +import com.hbm.util.i18n.ITranslate; +import com.hbm.wiaj.cannery.Jars; + +import cpw.mods.fml.client.registry.ClientRegistry; +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.relauncher.ReflectionHelper; +import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.model.ModelChicken; +import net.minecraft.client.particle.EntityCloudFX; +import net.minecraft.client.particle.*; +import net.minecraft.client.renderer.entity.RenderMinecart; +import net.minecraft.client.renderer.entity.RenderSnowball; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; +import net.minecraft.client.resources.IReloadableResourceManager; +import net.minecraft.client.resources.Language; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.MovingObjectPosition.MovingObjectType; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraftforge.client.MinecraftForgeClient; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.common.MinecraftForge; +import paulscode.sound.SoundSystemConfig; + +import java.awt.*; +import java.net.URI; +import java.util.List; +import java.util.*; +import java.util.Map.Entry; + +public class ClientProxy extends ServerProxy { + + private static final I18nClient I18N = new I18nClient(); + + public RenderInfoSystem theInfoSystem = new RenderInfoSystem(); + + public ITranslate getI18n() { return I18N; } + + /** Runs just before item an block init */ + @Override + public void registerPreRenderInfo() { + AdvancedModelLoader.registerModelHandler(new HmfModelLoader()); + } + + /** Runs right after item and block init */ + @Override + public void registerRenderInfo() { + + registerClientEventHandler(new ModEventHandlerClient()); + registerClientEventHandler(new ModEventHandlerRenderer()); + registerClientEventHandler(new EventHandlerParticleEngine()); + registerClientEventHandler(theInfoSystem); + + registerTileEntitySpecialRenderer(); + registerItemRenderer(); + registerEntityRenderer(); + registerBlockRenderer(); + + Jars.initJars(); + + ((IReloadableResourceManager) Minecraft.getMinecraft().getResourceManager()).registerReloadListener(new QMAWLoader()); + + if(GeneralConfig.enableSoundExtension) { + SoundSystemConfig.setNumberNormalChannels(GeneralConfig.normalSoundChannels); + SoundSystemConfig.setNumberStreamingChannels(50); + } + } + + private void registerClientEventHandler(Object handler) { + MinecraftForge.EVENT_BUS.register(handler); + FMLCommonHandler.instance().bus().register(handler); + } + + @Override + public void handleNHNEICompat(){ + IMCHandlerNHNEI.IMCSender(); + } + + @Override + public void registerGunCfg() { + GunFactoryClient.init(); + } + + @Override + public void registerTileEntitySpecialRenderer() { + //test crap + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityObjTester.class, new RendererObjTester()); + //deco + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoPoleSatelliteReceiver.class, new RenderPoleSatelliteReceiver()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlock.class, new RenderDecoBlock()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBroadcaster.class, new RenderDecoBlock()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityGeiger.class, new RenderDecoBlock()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRadioRec.class, new RenderDecoBlock()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRadiobox.class, new RenderDecoBlock()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineSatDock.class, new RenderDecoBlock()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAlt.class, new RenderDecoBlockAlt()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAltG.class, new RenderDecoBlockAlt()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAltW.class, new RenderDecoBlockAlt()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAltF.class, new RenderDecoBlockAlt()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDemonLamp.class, new RenderDemonLamp()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFloodlight.class, new RenderFloodlight()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLoot.class, new RenderLoot()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPedestal.class, new RenderPedestalTile()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySkeletonHolder.class, new RenderSkeletonHolder()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBobble.class, new RenderBobble()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySnowglobe.class, new RenderSnowglobe()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPlushie.class, new RenderPlushie()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityEmitter.class, new RenderEmitter()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLantern.class, new RenderLantern()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLanternBehemoth.class, new RenderLanternBehemoth()); + //bombs + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeGadget.class, new RenderNukeGadget()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeBoy.class, new RenderNukeBoy()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeCustom.class, new RenderNukeCustom()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeSolinium.class, new RenderNukeSolinium()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeN2.class, new RenderNukeN2()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeMan.class, new RenderNukeMan()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeBalefire.class, new RenderNukeFstbmb()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBombMulti.class, new RenderBombMulti()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeMike.class, new RenderNukeMike()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeTsar.class, new RenderNukeTsar()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeFleija.class, new RenderNukeFleija()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCrashedBomb.class, new RenderCrashedBomb()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukePrototype.class, new RenderNukePrototype()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCharge.class, new RenderExplosiveCharge()); + //turrets + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretChekhov.class, new RenderTurretChekhov()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretFriendly.class, new RenderTurretFriendly()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretJeremy.class, new RenderTurretJeremy()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretTauon.class, new RenderTurretTauon()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretRichard.class, new RenderTurretRichard()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretHoward.class, new RenderTurretHoward()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretHowardDamaged.class, new RenderTurretHowardDamaged()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretMaxwell.class, new RenderTurretMaxwell()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretFritz.class, new RenderTurretFritz()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretBrandon.class, new RenderTurretBrandon()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretArty.class, new RenderTurretArty()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretHIMARS.class, new RenderTurretHIMARS()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretSentry.class, new RenderTurretSentry()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretSentryDamaged.class, new RenderTurretSentry()); + //mines + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLandmine.class, new RenderLandmine()); + //machines + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCentrifuge.class, new RenderCentrifuge()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineGasCent.class, new RenderCentrifuge()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFEL.class, new RenderFEL()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySILEX.class, new RenderSILEX()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineUF6Tank.class, new RenderUF6Tank()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePuF6Tank.class, new RenderPuF6Tank()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineIGenerator.class, new RenderIGenerator()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCyclotron.class, new RenderCyclotron()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPASource.class, new RenderPASource()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPABeamline.class, new RenderPABeamline()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPARFC.class, new RenderPARFC()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPAQuadrupole.class, new RenderPAQuadrupole()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPADipole.class, new RenderPADipole()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPADetector.class, new RenderPADetector()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineExposureChamber.class, new RenderExposureChamber()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineOilWell.class, new RenderDerrick()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineGasFlare.class, new RenderGasFlare()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityChimneyBrick.class, new RenderChimneyBrick()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityChimneyIndustrial.class, new RenderChimneyIndustrial()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMiningLaser.class, new RenderLaserMiner()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAssembler.class, new RenderAssembler()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAssemblyMachine.class, new RenderAssemblyMachine()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAssemfac.class, new RenderAssemfac()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineChemplant.class, new RenderChemplant()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineChemicalPlant.class, new RenderChemicalPlant()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineChemfac.class, new RenderChemfac()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineChemicalFactory.class, new RenderChemicalFactory()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineFluidTank.class, new RenderFluidTank()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineBAT9000.class, new RenderBAT9000()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineOrbus.class, new RenderOrbus()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRefinery.class, new RenderRefinery()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineFractionTower.class, new RenderFractionTower()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySpacer.class, new RenderSpacer()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePumpjack.class, new RenderPumpjack()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineFrackingTower.class, new RenderFrackingTower()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineTurbofan.class, new RenderTurbofan()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineTurbineGas.class, new RenderTurbineGas()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineLPW2.class, new RenderLPW2()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePress.class, new RenderPress()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineEPress.class, new RenderEPress()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAmmoPress.class, new RenderAmmoPress()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadGen.class, new RenderRadGen()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityGeiger.class, new RenderGeiger()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadarNT.class, new RenderRadar()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadarLarge.class, new RenderRadarLarge()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadarScreen.class, new RenderRadarScreen()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityReactorResearch.class, new RenderSmallReactor()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTesla.class, new RenderTesla()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBarrel.class, new RenderFluidBarrel()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRotaryFurnace.class, new RenderRotaryFurnace()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCrystallizer.class, new RenderCrystallizer()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMicrowave.class, new RenderMicrowave()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRTG.class, new RenderRTG()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMiniRTG.class, new RenderRTG()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFF.class, new RenderForceField()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityForceField.class, new RenderMachineForceField()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineFENSU.class, new RenderFENSU()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineLargeTurbine.class, new RenderBigTurbine()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineReactorBreeding.class, new RenderBreeder()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySolarBoiler.class, new RenderSolarBoiler()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityStorageDrum.class, new RenderStorageDrum()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityChungus.class, new RenderChungus()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTowerLarge.class, new RenderLargeTower()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTowerSmall.class, new RenderSmallTower()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCondenserPowered.class, new RenderCondenser()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDeuteriumTower.class, new RenderDeuteriumTower()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCatalyticCracker.class, new RenderCatalyticCracker()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineLiquefactor.class, new RenderLiquefactor()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineSolidifier.class, new RenderSolidifier()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineIntake.class, new RenderIntake()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCompressor.class, new RenderCompressor()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCompressorCompact.class, new RenderCompressorCompact()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineDrain.class, new RenderDrain()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadiolysis.class, new RenderRadiolysis()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityElectrolyser.class, new RenderElectrolyser()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFurnaceIron.class, new RenderFurnaceIron()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFurnaceSteel.class, new RenderFurnaceSteel()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFurnaceCombination.class, new RenderFurnaceCombination()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityHeaterFirebox.class, new RenderFirebox()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityHeaterOven.class, new RenderHeatingOven()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAshpit.class, new RenderAshpit()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityHeaterOilburner.class, new RenderOilburner()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityHeaterElectric.class, new RenderElectricHeater()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityHeaterHeatex.class, new RenderHeaterHeatex()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityStirling.class, new RenderStirling()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySawmill.class, new RenderSawmill()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCrucible.class, new RenderCrucible()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityHeatBoiler.class, new RenderBoiler()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityHeatBoilerIndustrial.class, new RenderIndustrialBoiler()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySteamEngine.class, new RenderSteamEngine()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineDiesel.class, new RenderDieselGen()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCombustionEngine.class, new RenderCombustionEngine()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineExcavator.class, new RenderExcavator()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineOreSlopper.class, new RenderOreSlopper()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMixer.class, new RenderMixer()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineHephaestus.class, new RenderHephaestus()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAutosaw.class, new RenderAutosaw()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineVacuumDistill.class, new RenderVacuumDistill()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCatalyticReformer.class, new RenderCatalyticReformer()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineHydrotreater.class, new RenderHydrotreater()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCoker.class, new RenderCoker()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePyroOven.class, new RenderPyroOven()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFan.class, new RenderFan()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPistonInserter.class, new RenderPistonInserter()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityConveyorPress.class, new RenderConveyorPress()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRadioTelex.class, new RenderTelex()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePumpSteam.class, new RenderPump()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePumpElectric.class, new RenderPump()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineArcWelder.class, new RenderArcWelder()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineSolderingStation.class, new RenderSolderingStation()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineArcFurnaceLarge.class, new RenderArcFurnace()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineWoodBurner.class, new RenderWoodBurner()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFluidPump.class, new RenderFluidPump()); + //Foundry + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFoundryBasin.class, new RenderFoundry()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFoundryMold.class, new RenderFoundry()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineStrandCaster.class, new RenderStrandCaster()); + //ZIRNOX + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityReactorZirnox.class, new RenderZirnox()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityZirnoxDestroyed.class, new RenderZirnoxDestroyed()); + //DFC + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCoreEmitter.class, new RenderCoreComponent()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCoreReceiver.class, new RenderCoreComponent()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCoreInjector.class, new RenderCoreComponent()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCoreStabilizer.class, new RenderCoreComponent()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCore.class, new RenderCore()); + //missile blocks + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaunchPad.class, new RenderLaunchPad()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaunchPadRusted.class, new RenderLaunchPadRusted()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaunchPadLarge.class, new RenderLaunchPadLarge()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMissileAssembly.class, new RenderMissileAssembly()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCompactLauncher.class, new RenderCompactLauncher()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaunchTable.class, new RenderLaunchTable()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySoyuzLauncher.class, new RenderSoyuzLauncher()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySoyuzCapsule.class, new RenderCapsule()); + //network + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPylon.class, new RenderPylon()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityConnector.class, new RenderConnector()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPylonMedium.class, new RenderPylonMedium()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPylonLarge.class, new RenderPylonLarge()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySubstation.class, new RenderSubstation()); + //chargers + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCharger.class, new RenderCharger()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRefueler.class, new RenderRefueler()); + //DecoContainer + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFileCabinet.class, new RenderFileCabinet()); + //multiblocks + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMultiblock.class, new RenderMultiblock()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySoyuzStruct.class, new RenderSoyuzMultiblock()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityITERStruct.class, new RenderITERMultiblock()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPlasmaStruct.class, new RenderPlasmaMultiblock()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityWatzStruct.class, new RenderWatzMultiblock()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityICFStruct.class, new RenderICFMultiblock()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCustomMachine.class, new RenderCustomMachine()); + //RBMK + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKControlManual.class, new RenderRBMKControlRod()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKControlAuto.class, new RenderRBMKControlRod()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCraneConsole.class, new RenderCraneConsole()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKConsole.class, new RenderRBMKConsole()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKAbsorber.class, new RenderRBMKLid()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKBlank.class, new RenderRBMKLid()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKBoiler.class, new RenderRBMKLid()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKModerator.class, new RenderRBMKLid()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKOutgasser.class, new RenderRBMKLid()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKReflector.class, new RenderRBMKLid()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRod.class, new RenderRBMKLid()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRodReaSim.class, new RenderRBMKLid()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKCooler.class, new RenderRBMKLid()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKStorage.class, new RenderRBMKLid()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKHeater.class, new RenderRBMKLid()); + //ITER + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityITER.class, new RenderITER()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePlasmaHeater.class, new RenderPlasmaHeater()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityICF.class, new RenderICF()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityICFController.class, new RenderICFController()); + //Watz + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityWatz.class, new RenderWatz()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityWatzPump.class, new RenderWatzPump()); + //doors + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityVaultDoor.class, new RenderVaultDoor()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBlastDoor.class, new RenderBlastDoor()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDoorGeneric.class, new RenderDoorGeneric()); + } + + @Override + public void registerItemRenderer() { + + ItemRenderLibrary.init(); + + for(Entry entry : ItemRenderLibrary.renderers.entrySet()) + MinecraftForgeClient.registerItemRenderer(entry.getKey(), entry.getValue()); + + //this bit registers an item renderer for every existing tile entity renderer that implements IItemRendererProvider + Iterator iterator = TileEntityRendererDispatcher.instance.mapSpecialRenderers.values().iterator(); + while(iterator.hasNext()) { + Object renderer = iterator.next(); + if(renderer instanceof IItemRendererProvider) { + IItemRendererProvider prov = (IItemRendererProvider) renderer; + for(Item item : prov.getItemsForRenderer()) { + MinecraftForgeClient.registerItemRenderer(item, prov.getRenderer()); + } + } + } + + //universal JSON translated items + double[] rtp = new double[] {0, 180, -90}; + double[] ttp_high = new double[] {0.125, 0.625, 0}; + double[] ttp_low = new double[] {0, 0.75, 0}; + double[] stp = new double[] {1.7, 1.7, 0.85}; + double[] rfp = new double[] {0, 180, -90}; + double[] tfp = new double[] {1.13, 5.2, -0.26}; + double[] sfp = new double[] {1.36, 1.36, 0.68}; + double[] rir = new double[] {0, 0, 0}; + double[] tir = new double[] {0, 0, 0}; + double[] sir = new double[] {1, 1, 1}; + + MinecraftForgeClient.registerItemRenderer(ModItems.titanium_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); + MinecraftForgeClient.registerItemRenderer(ModItems.alloy_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); + MinecraftForgeClient.registerItemRenderer(ModItems.desh_sword, new ItemRenderTransformer(rtp, ttp_low, stp, rfp, tfp, sfp, rir, tir, sir)); + MinecraftForgeClient.registerItemRenderer(ModItems.cobalt_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); + MinecraftForgeClient.registerItemRenderer(ModItems.cobalt_decorated_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); + MinecraftForgeClient.registerItemRenderer(ModItems.starmetal_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); + MinecraftForgeClient.registerItemRenderer(ModItems.schrabidium_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); + MinecraftForgeClient.registerItemRenderer(ModItems.cmb_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); + MinecraftForgeClient.registerItemRenderer(ModItems.dnt_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); + + double[] sfp_default = new double[] {1, 1, 1}; + double[] tfp_default = new double[] {0, 0, 0}; + double[] sir_default = new double[] {1, 1, 1}; + + MinecraftForgeClient.registerItemRenderer(ModItems.bismuth_pickaxe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); + MinecraftForgeClient.registerItemRenderer(ModItems.bismuth_axe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); + MinecraftForgeClient.registerItemRenderer(ModItems.volcanic_pickaxe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); + MinecraftForgeClient.registerItemRenderer(ModItems.volcanic_axe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); + MinecraftForgeClient.registerItemRenderer(ModItems.chlorophyte_pickaxe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); + MinecraftForgeClient.registerItemRenderer(ModItems.chlorophyte_axe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); + MinecraftForgeClient.registerItemRenderer(ModItems.mese_pickaxe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); + MinecraftForgeClient.registerItemRenderer(ModItems.mese_axe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); + + ItemRenderMissileGeneric.init(); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_test, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER0)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_taint, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER0)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_micro, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER0)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_bhole, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER0)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_schrabidium, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER0)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_emp, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER0)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_stealth, new ItemRenderMissileGeneric(RenderMissileType.TYPE_STEALTH)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_generic, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER1)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_incendiary, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER1)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_cluster, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER1)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_buster, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER1)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_decoy, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER1)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_anti_ballistic, new ItemRenderMissileGeneric(RenderMissileType.TYPE_ABM)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_strong, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER2)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_incendiary_strong, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER2)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_cluster_strong, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER2)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_buster_strong, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER2)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_emp_strong, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER2)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_burst, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER3)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_inferno, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER3)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_rain, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER3)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_drill, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER3)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_nuclear, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_nuclear_cluster, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_volcano, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_doomsday, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_doomsday_rusted, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_shuttle, new ItemRenderMissileGeneric(RenderMissileType.TYPE_ROBIN)); + + //templates + MinecraftForgeClient.registerItemRenderer(ModItems.assembly_template, new ItemRenderTemplate()); + MinecraftForgeClient.registerItemRenderer(ModItems.chemistry_template, new ItemRenderTemplate()); + MinecraftForgeClient.registerItemRenderer(ModItems.crucible_template, new ItemRenderTemplate()); + //hot stuff + MinecraftForgeClient.registerItemRenderer(ModItems.ingot_steel_dusted, new ItemRendererHot()); + MinecraftForgeClient.registerItemRenderer(ModItems.ingot_chainsteel, new ItemRendererHot()); + MinecraftForgeClient.registerItemRenderer(ModItems.ingot_meteorite, new ItemRendererHot()); + MinecraftForgeClient.registerItemRenderer(ModItems.ingot_meteorite_forged, new ItemRendererHot()); + MinecraftForgeClient.registerItemRenderer(ModItems.blade_meteorite, new ItemRendererHot()); + //meteorite swords + MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_seared, new ItemRendererMeteorSword(1.0F, 0.5F, 0.0F)); + MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_reforged, new ItemRendererMeteorSword(0.5F, 1.0F, 1.0F)); + MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_hardened, new ItemRendererMeteorSword(0.25F, 0.25F, 0.25F)); + MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_alloyed, new ItemRendererMeteorSword(0.0F, 0.5F, 1.0F)); + MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_machined, new ItemRendererMeteorSword(1.0F, 1.0F, 0.0F)); + MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_treated, new ItemRendererMeteorSword(0.5F, 1.0F, 0.5F)); + MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_etched, new ItemRendererMeteorSword(1.0F, 1.0F, 0.5F)); + MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_bred, new ItemRendererMeteorSword(0.5F, 0.5F, 0.0F)); + MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_irradiated, new ItemRendererMeteorSword(0.75F, 1.0F, 0.0F)); + MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_fused, new ItemRendererMeteorSword(1.0F, 0.0F, 0.5F)); + MinecraftForgeClient.registerItemRenderer(ModItems.meteorite_sword_baleful, new ItemRendererMeteorSword(0.0F, 1.0F, 0.0F)); + //swords and hammers + MinecraftForgeClient.registerItemRenderer(ModItems.redstone_sword, new ItemRenderRedstoneSword()); + MinecraftForgeClient.registerItemRenderer(ModItems.big_sword, new ItemRenderBigSword()); + MinecraftForgeClient.registerItemRenderer(ModItems.shimmer_sledge, new ItemRenderShim()); + MinecraftForgeClient.registerItemRenderer(ModItems.shimmer_axe, new ItemRenderShim()); + MinecraftForgeClient.registerItemRenderer(ModItems.stopsign, new ItemRenderShim()); + MinecraftForgeClient.registerItemRenderer(ModItems.sopsign, new ItemRenderShim()); + MinecraftForgeClient.registerItemRenderer(ModItems.chernobylsign, new ItemRenderShim()); + MinecraftForgeClient.registerItemRenderer(ModItems.wood_gavel, new ItemRenderGavel()); + MinecraftForgeClient.registerItemRenderer(ModItems.lead_gavel, new ItemRenderGavel()); + MinecraftForgeClient.registerItemRenderer(ModItems.diamond_gavel, new ItemRenderGavel()); + MinecraftForgeClient.registerItemRenderer(ModItems.mese_gavel, new ItemRenderGavel()); + MinecraftForgeClient.registerItemRenderer(ModItems.crucible, new ItemRenderCrucible()); + MinecraftForgeClient.registerItemRenderer(ModItems.chainsaw, new ItemRenderChainsaw()); + MinecraftForgeClient.registerItemRenderer(ModItems.boltgun, new ItemRenderBoltgun()); + //guns + MinecraftForgeClient.registerItemRenderer(ModItems.gun_b92, new ItemRenderGunAnim()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_fireext, new ItemRenderFireExt()); + MinecraftForgeClient.registerItemRenderer(ModItems.detonator_laser, new ItemRenderDetonatorLaser()); + //multitool + MinecraftForgeClient.registerItemRenderer(ModItems.multitool_dig, new ItemRenderMultitool()); + MinecraftForgeClient.registerItemRenderer(ModItems.multitool_silk, new ItemRenderMultitool()); + MinecraftForgeClient.registerItemRenderer(ModItems.multitool_ext, new ItemRenderMultitool()); + MinecraftForgeClient.registerItemRenderer(ModItems.multitool_miner, new ItemRenderMultitool()); + MinecraftForgeClient.registerItemRenderer(ModItems.multitool_hit, new ItemRenderMultitool()); + MinecraftForgeClient.registerItemRenderer(ModItems.multitool_beam, new ItemRenderMultitool()); + MinecraftForgeClient.registerItemRenderer(ModItems.multitool_sky, new ItemRenderMultitool()); + MinecraftForgeClient.registerItemRenderer(ModItems.multitool_mega, new ItemRenderMultitool()); + MinecraftForgeClient.registerItemRenderer(ModItems.multitool_joule, new ItemRenderMultitool()); + MinecraftForgeClient.registerItemRenderer(ModItems.multitool_decon, new ItemRenderMultitool()); + //blocks + MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_roof), new ItemRenderDecoBlock()); + MinecraftForgeClient.registerItemRenderer(ModItems.conveyor_wand, new ItemRenderBlock(ModBlocks.conveyor, ModBlocks.conveyor_express, ModBlocks.conveyor_double, ModBlocks.conveyor_triple)); + } + + @Override + public void registerEntityRenderer() { + //projectiles + RenderingRegistry.registerEntityRenderingHandler(EntityRocket.class, new RenderSnowball(ModItems.man_core)); + RenderingRegistry.registerEntityRenderingHandler(EntitySchrab.class, new RenderFlare()); + RenderingRegistry.registerEntityRenderingHandler(EntityBullet.class, new RenderRocket()); + RenderingRegistry.registerEntityRenderingHandler(EntityBulletBaseNT.class, new RenderBullet()); + RenderingRegistry.registerEntityRenderingHandler(EntityBulletBaseMK4.class, new RenderBulletMK4()); + RenderingRegistry.registerEntityRenderingHandler(EntityBulletBaseMK4CL.class, new RenderBulletMK4()); + RenderingRegistry.registerEntityRenderingHandler(EntityBulletBeamBase.class, new RenderBeam()); + RenderingRegistry.registerEntityRenderingHandler(EntityRainbow.class, new RenderRainbow()); + RenderingRegistry.registerEntityRenderingHandler(EntityLaserBeam.class, new RenderBeam2()); + RenderingRegistry.registerEntityRenderingHandler(EntityMinerBeam.class, new RenderBeam3()); + RenderingRegistry.registerEntityRenderingHandler(EntitySparkBeam.class, new RenderBeam4()); + RenderingRegistry.registerEntityRenderingHandler(EntityExplosiveBeam.class, new RenderBeam5()); + RenderingRegistry.registerEntityRenderingHandler(EntityModBeam.class, new RenderBeam6()); + RenderingRegistry.registerEntityRenderingHandler(EntitySiegeLaser.class, new RenderSiegeLaser()); + RenderingRegistry.registerEntityRenderingHandler(EntityBombletZeta.class, new RenderBombletTheta()); + RenderingRegistry.registerEntityRenderingHandler(EntityMeteor.class, new RenderMeteor()); + RenderingRegistry.registerEntityRenderingHandler(EntityBoxcar.class, new RenderBoxcar()); + RenderingRegistry.registerEntityRenderingHandler(EntityDuchessGambit.class, new RenderBoxcar()); + RenderingRegistry.registerEntityRenderingHandler(EntityBuilding.class, new RenderBoxcar()); + RenderingRegistry.registerEntityRenderingHandler(EntityTorpedo.class, new RenderBoxcar()); + RenderingRegistry.registerEntityRenderingHandler(EntityBomber.class, new RenderBomber()); + RenderingRegistry.registerEntityRenderingHandler(EntityC130.class, new RenderC130()); + RenderingRegistry.registerEntityRenderingHandler(EntityBurningFOEQ.class, new RenderFOEQ()); + RenderingRegistry.registerEntityRenderingHandler(EntityFallingNuke.class, new RenderFallingNuke()); + RenderingRegistry.registerEntityRenderingHandler(EntityMinerRocket.class, new RenderMinerRocket()); + RenderingRegistry.registerEntityRenderingHandler(EntityBobmazon.class, new RenderMinerRocket()); + RenderingRegistry.registerEntityRenderingHandler(EntityTom.class, new RenderTom()); + RenderingRegistry.registerEntityRenderingHandler(EntityChopperMine.class, new RenderChopperMine()); + RenderingRegistry.registerEntityRenderingHandler(EntityRubble.class, new RenderRubble()); + RenderingRegistry.registerEntityRenderingHandler(EntityShrapnel.class, new RenderShrapnel()); + RenderingRegistry.registerEntityRenderingHandler(EntityFireworks.class, new RenderShrapnel()); + RenderingRegistry.registerEntityRenderingHandler(EntityWaterSplash.class, new RenderEmpty()); + RenderingRegistry.registerEntityRenderingHandler(EntityEMP.class, new RenderEmpty()); + RenderingRegistry.registerEntityRenderingHandler(EntityBeamVortex.class, new RenderVortexBeam()); + RenderingRegistry.registerEntityRenderingHandler(EntityRBMKDebris.class, new RenderRBMKDebris()); + RenderingRegistry.registerEntityRenderingHandler(EntityZirnoxDebris.class, new RenderZirnoxDebris()); + RenderingRegistry.registerEntityRenderingHandler(EntityArtilleryShell.class, new RenderArtilleryShell()); + RenderingRegistry.registerEntityRenderingHandler(EntityArtilleryRocket.class, new RenderArtilleryRocket()); + RenderingRegistry.registerEntityRenderingHandler(EntityCog.class, new RenderCog()); + RenderingRegistry.registerEntityRenderingHandler(EntitySawblade.class, new RenderSawblade()); + RenderingRegistry.registerEntityRenderingHandler(EntityChemical.class, new RenderChemical()); + RenderingRegistry.registerEntityRenderingHandler(EntityMist.class, new RenderMist()); + RenderingRegistry.registerEntityRenderingHandler(EntityFireLingering.class, new RenderMist()); + RenderingRegistry.registerEntityRenderingHandler(EntityWaypoint.class, new RenderMist()); + RenderingRegistry.registerEntityRenderingHandler(EntityAcidBomb.class, new RenderSnowball(Items.slime_ball)); + //grenades + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeGeneric.class, new RenderSnowball(ModItems.grenade_generic)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeStrong.class, new RenderSnowball(ModItems.grenade_strong)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeFrag.class, new RenderSnowball(ModItems.grenade_frag)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeFire.class, new RenderSnowball(ModItems.grenade_fire)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeCluster.class, new RenderSnowball(ModItems.grenade_cluster)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeFlare.class, new RenderFlare()); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeElectric.class, new RenderSnowball(ModItems.grenade_electric)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadePoison.class, new RenderSnowball(ModItems.grenade_poison)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeGas.class, new RenderSnowball(ModItems.grenade_gas)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeSchrabidium.class, new RenderSnowball(ModItems.grenade_schrabidium)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeNuke.class, new RenderSnowball(ModItems.grenade_nuke)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeNuclear.class, new RenderSnowball(ModItems.grenade_nuclear)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadePlasma.class, new RenderSnowball(ModItems.grenade_plasma)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeTau.class, new RenderSnowball(ModItems.grenade_tau)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeLemon.class, new RenderSnowball(ModItems.grenade_lemon)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeMk2.class, new RenderGrenade()); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeZOMG.class, new RenderSnowball(ModItems.grenade_zomg)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeASchrab.class, new RenderGrenade()); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadePulse.class, new RenderSnowball(ModItems.grenade_pulse)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeShrapnel.class, new RenderSnowball(ModItems.grenade_shrapnel)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeBlackHole.class, new RenderSnowball(ModItems.grenade_black_hole)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeGascan.class, new RenderSnowball(ModItems.grenade_gascan)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeCloud.class, new RenderSnowball(ModItems.grenade_cloud)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadePC.class, new RenderSnowball(ModItems.grenade_pink_cloud)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeSmart.class, new RenderSnowball(ModItems.grenade_smart)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeMIRV.class, new RenderSnowball(ModItems.grenade_mirv)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeBreach.class, new RenderSnowball(ModItems.grenade_breach)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeBurst.class, new RenderSnowball(ModItems.grenade_burst)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFGeneric.class, new RenderSnowball(ModItems.grenade_if_generic)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFHE.class, new RenderSnowball(ModItems.grenade_if_he)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFBouncy.class, new RenderSnowball(ModItems.grenade_if_bouncy)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFSticky.class, new RenderSnowball(ModItems.grenade_if_sticky)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFImpact.class, new RenderSnowball(ModItems.grenade_if_impact)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFIncendiary.class, new RenderSnowball(ModItems.grenade_if_incendiary)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFToxic.class, new RenderSnowball(ModItems.grenade_if_toxic)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFConcussion.class, new RenderSnowball(ModItems.grenade_if_concussion)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFBrimstone.class, new RenderSnowball(ModItems.grenade_if_brimstone)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFMystery.class, new RenderSnowball(ModItems.grenade_if_mystery)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFSpark.class, new RenderSnowball(ModItems.grenade_if_spark)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFHopwire.class, new RenderSnowball(ModItems.grenade_if_hopwire)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFNull.class, new RenderSnowball(ModItems.grenade_if_null)); + RenderingRegistry.registerEntityRenderingHandler(EntityWastePearl.class, new RenderSnowball(ModItems.nuclear_waste_pearl)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeDynamite.class, new RenderSnowball(ModItems.stick_dynamite)); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeBouncyGeneric.class, new RenderGenericGrenade()); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeImpactGeneric.class, new RenderGenericGrenade()); + RenderingRegistry.registerEntityRenderingHandler(EntityDisperserCanister.class, new RenderGenericGrenade()); + //missiles + RenderingRegistry.registerEntityRenderingHandler(EntityMissileCustom.class, new RenderMissileCustom()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileGeneric.class, new RenderMissileGeneric()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileDecoy.class, new RenderMissileGeneric()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileStealth.class, new RenderMissileGeneric()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileAntiBallistic.class, new RenderMissileGeneric()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileIncendiary.class, new RenderMissileGeneric()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileCluster.class, new RenderMissileGeneric()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileBunkerBuster.class, new RenderMissileGeneric()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileStrong.class, new RenderMissileStrong()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileIncendiaryStrong.class, new RenderMissileStrong()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileClusterStrong.class, new RenderMissileStrong()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileBusterStrong.class, new RenderMissileStrong()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileEMPStrong.class, new RenderMissileStrong()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileBurst.class, new RenderMissileHuge()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileInferno.class, new RenderMissileHuge()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileRain.class, new RenderMissileHuge()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileDrill.class, new RenderMissileHuge()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileNuclear.class, new RenderMissileNuclear()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileMirv.class, new RenderMissileNuclear()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileVolcano.class, new RenderMissileNuclear()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileDoomsday.class, new RenderMissileNuclear()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileDoomsdayRusted.class, new RenderMissileNuclear()); + RenderingRegistry.registerEntityRenderingHandler(EntitySoyuz.class, new RenderSoyuz()); + RenderingRegistry.registerEntityRenderingHandler(EntitySoyuzCapsule.class, new RenderSoyuzCapsule()); + RenderingRegistry.registerEntityRenderingHandler(EntityParachuteCrate.class, new RenderParachuteCrate()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileTaint.class, new RenderMissileTaint()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileMicro.class, new RenderMissileTaint()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileBHole.class, new RenderMissileTaint()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileSchrabidium.class, new RenderMissileTaint()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileEMP.class, new RenderMissileTaint()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileShuttle.class, new RenderMissileShuttle()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileTest.class, new RenderMissileTaint()); + //effects + RenderingRegistry.registerEntityRenderingHandler(EntityCloudFleija.class, new RenderCloudFleija()); + RenderingRegistry.registerEntityRenderingHandler(EntityCloudFleijaRainbow.class, new RenderCloudRainbow()); + RenderingRegistry.registerEntityRenderingHandler(EntityCloudSolinium.class, new RenderCloudSolinium()); + RenderingRegistry.registerEntityRenderingHandler(EntityCloudTom.class, new RenderCloudTom()); + RenderingRegistry.registerEntityRenderingHandler(EntityFalloutRain.class, new RenderFallout()); + RenderingRegistry.registerEntityRenderingHandler(EntityBlackHole.class, new RenderBlackHole()); + RenderingRegistry.registerEntityRenderingHandler(EntityVortex.class, new RenderBlackHole()); + RenderingRegistry.registerEntityRenderingHandler(EntityRagingVortex.class, new RenderBlackHole()); + RenderingRegistry.registerEntityRenderingHandler(EntityQuasar.class, new RenderQuasar()); + RenderingRegistry.registerEntityRenderingHandler(EntityDeathBlast.class, new RenderDeathBlast()); + RenderingRegistry.registerEntityRenderingHandler(EntitySpear.class, new RenderSpear()); + RenderingRegistry.registerEntityRenderingHandler(EntityNukeTorex.class, new RenderTorex()); + //minecarts + RenderingRegistry.registerEntityRenderingHandler(EntityMinecartTest.class, new RenderMinecartTest()); + RenderingRegistry.registerEntityRenderingHandler(EntityMinecartCrate.class, new RenderMinecart()); + RenderingRegistry.registerEntityRenderingHandler(EntityMinecartNTM.class, new RenderNeoCart()); + RenderingRegistry.registerEntityRenderingHandler(EntityMagnusCartus.class, new RenderMagnusCartus()); + RenderingRegistry.registerEntityRenderingHandler(EntityBoatRubber.class, new RenderBoatRubber()); + //trains + RenderingRegistry.registerEntityRenderingHandler(SeatDummyEntity.class, new RenderEmpty()); + RenderingRegistry.registerEntityRenderingHandler(BoundingBoxDummyEntity.class, new RenderEmpty()); + RenderingRegistry.registerEntityRenderingHandler(TrainCargoTram.class, new RenderTrainCargoTram()); + RenderingRegistry.registerEntityRenderingHandler(TrainCargoTramTrailer.class, new RenderTrainCargoTramTrailer()); + //items + RenderingRegistry.registerEntityRenderingHandler(EntityMovingItem.class, new RenderMovingItem()); + RenderingRegistry.registerEntityRenderingHandler(EntityMovingPackage.class, new RenderMovingPackage()); + RenderingRegistry.registerEntityRenderingHandler(EntityTNTPrimedBase.class, new RenderTNTPrimedBase()); + RenderingRegistry.registerEntityRenderingHandler(EntityDeliveryDrone.class, new RenderDeliveryDrone()); + RenderingRegistry.registerEntityRenderingHandler(EntityRequestDrone.class, new RenderDeliveryDrone()); + RenderingRegistry.registerEntityRenderingHandler(EntityFallingBlockNT.class, new RenderFallingBlockNT()); + //mobs + RenderingRegistry.registerEntityRenderingHandler(EntityCreeperNuclear.class, new RenderCreeperUniversal(RefStrings.MODID + ":" + "textures/entity/creeper.png", RefStrings.MODID + ":" + "textures/entity/creeper_armor.png").setSwellMod(5F)); + RenderingRegistry.registerEntityRenderingHandler(EntityCreeperTainted.class, new RenderCreeperUniversal(RefStrings.MODID + ":" + "textures/entity/creeper_tainted.png", RefStrings.MODID + ":" + "textures/entity/creeper_armor_taint.png")); + RenderingRegistry.registerEntityRenderingHandler(EntityCreeperPhosgene.class, new RenderCreeperUniversal(RefStrings.MODID + ":" + "textures/entity/creeper_phosgene.png", "textures/entity/creeper/creeper_armor.png")); + RenderingRegistry.registerEntityRenderingHandler(EntityCreeperVolatile.class, new RenderCreeperUniversal(RefStrings.MODID + ":" + "textures/entity/creeper_volatile.png", "textures/entity/creeper/creeper_armor.png")); + RenderingRegistry.registerEntityRenderingHandler(EntityCreeperGold.class, new RenderCreeperUniversal(RefStrings.MODID + ":" + "textures/entity/creeper_gold.png", "textures/entity/creeper/creeper_armor.png")); + RenderingRegistry.registerEntityRenderingHandler(EntityHunterChopper.class, new RenderHunterChopper()); + RenderingRegistry.registerEntityRenderingHandler(EntityCyberCrab.class, new RenderCyberCrab()); + RenderingRegistry.registerEntityRenderingHandler(EntityTeslaCrab.class, new RenderTeslaCrab()); + RenderingRegistry.registerEntityRenderingHandler(EntityTaintCrab.class, new RenderTaintCrab()); + RenderingRegistry.registerEntityRenderingHandler(EntityMaskMan.class, new RenderMaskMan()); + RenderingRegistry.registerEntityRenderingHandler(EntityBOTPrimeHead.class, new RenderWormHead()); + RenderingRegistry.registerEntityRenderingHandler(EntityBOTPrimeBody.class, new RenderWormBody()); + RenderingRegistry.registerEntityRenderingHandler(EntityDuck.class, new RenderDuck(new ModelChicken(), 0.3F)); + RenderingRegistry.registerEntityRenderingHandler(EntityQuackos.class, new RenderQuacc(new ModelChicken(), 7.5F)); + RenderingRegistry.registerEntityRenderingHandler(EntityFBI.class, new RenderFBI()); + RenderingRegistry.registerEntityRenderingHandler(EntityRADBeast.class, new RenderRADBeast()); + RenderingRegistry.registerEntityRenderingHandler(EntityBlockSpider.class, new RenderBlockSpider()); + RenderingRegistry.registerEntityRenderingHandler(EntityUFO.class, new RenderUFO()); + RenderingRegistry.registerEntityRenderingHandler(EntitySiegeCraft.class, new RenderSiegeCraft()); + RenderingRegistry.registerEntityRenderingHandler(EntitySiegeTunneler.class, new RenderSiegeTunneler()); + RenderingRegistry.registerEntityRenderingHandler(EntityGhost.class, new RenderGhost()); + RenderingRegistry.registerEntityRenderingHandler(EntityGlyphid.class, new RenderGlyphid()); + RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidBrawler.class, new RenderGlyphid()); + RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidBehemoth.class, new RenderGlyphid()); + RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidBrenda.class, new RenderGlyphid()); + RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidBombardier.class, new RenderGlyphid()); + RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidBlaster.class, new RenderGlyphid()); + RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidScout.class, new RenderGlyphid()); + RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidNuclear.class, new RenderGlyphidNuclear()); + RenderingRegistry.registerEntityRenderingHandler(EntityParasiteMaggot.class, new RenderMaggot()); + RenderingRegistry.registerEntityRenderingHandler(EntityFBIDrone.class, new RenderDrone()); + RenderingRegistry.registerEntityRenderingHandler(EntityPlasticBag.class, new RenderPlasticBag()); + RenderingRegistry.registerEntityRenderingHandler(EntityPigeon.class, new RenderPigeon(new ModelPigeon(), 0.3F)); + RenderingRegistry.registerEntityRenderingHandler(EntityDummy.class, new RenderDummy()); + RenderingRegistry.registerEntityRenderingHandler(EntityUndeadSoldier.class, new RenderUndeadSoldier()); + //"particles" + RenderingRegistry.registerEntityRenderingHandler(EntityChlorineFX.class, new MultiCloudRenderer(new Item[] { ModItems.chlorine1, ModItems.chlorine2, ModItems.chlorine3, ModItems.chlorine4, ModItems.chlorine5, ModItems.chlorine6, ModItems.chlorine7, ModItems.chlorine8 })); + RenderingRegistry.registerEntityRenderingHandler(EntityPinkCloudFX.class, new MultiCloudRenderer(new Item[] { ModItems.pc1, ModItems.pc2, ModItems.pc3, ModItems.pc4, ModItems.pc5, ModItems.pc6, ModItems.pc7, ModItems.pc8 })); + RenderingRegistry.registerEntityRenderingHandler(com.hbm.entity.particle.EntityCloudFX.class, new MultiCloudRenderer(new Item[] { ModItems.cloud1, ModItems.cloud2, ModItems.cloud3, ModItems.cloud4, ModItems.cloud5, ModItems.cloud6, ModItems.cloud7, ModItems.cloud8 })); + RenderingRegistry.registerEntityRenderingHandler(EntityOrangeFX.class, new MultiCloudRenderer(new Item[] { ModItems.orange1, ModItems.orange2, ModItems.orange3, ModItems.orange4, ModItems.orange5, ModItems.orange6, ModItems.orange7, ModItems.orange8 })); + RenderingRegistry.registerEntityRenderingHandler(EntityFogFX.class, new FogRenderer()); + RenderingRegistry.registerEntityRenderingHandler(EntityEMPBlast.class, new RenderEMPBlast()); + } + + @Override + public void registerBlockRenderer() { + + RenderingRegistry.registerBlockHandler(new RenderISBRHUniversal()); + + /// STOP DOING THIS /// + RenderingRegistry.registerBlockHandler(new RenderScaffoldBlock()); + RenderingRegistry.registerBlockHandler(new RenderTapeBlock()); + RenderingRegistry.registerBlockHandler(new RenderSteelBeam()); + RenderingRegistry.registerBlockHandler(new RenderSteelWall()); + RenderingRegistry.registerBlockHandler(new RenderSteelCorner()); + RenderingRegistry.registerBlockHandler(new RenderBarrel()); + RenderingRegistry.registerBlockHandler(new RenderFence()); + RenderingRegistry.registerBlockHandler(new RenderBarbedWire()); + RenderingRegistry.registerBlockHandler(new RenderAntennaTop()); + RenderingRegistry.registerBlockHandler(new RenderConserve()); + RenderingRegistry.registerBlockHandler(new RenderConveyor()); + RenderingRegistry.registerBlockHandler(new RenderConveyorChute()); + RenderingRegistry.registerBlockHandler(new RenderConveyorLift()); + RenderingRegistry.registerBlockHandler(new RenderRTGBlock()); + RenderingRegistry.registerBlockHandler(new RenderSpikeBlock()); + RenderingRegistry.registerBlockHandler(new RenderChain()); + RenderingRegistry.registerBlockHandler(new RenderMirror()); + RenderingRegistry.registerBlockHandler(new RenderGrate()); + RenderingRegistry.registerBlockHandler(new RenderPipe()); + RenderingRegistry.registerBlockHandler(new RenderBattery()); + RenderingRegistry.registerBlockHandler(new RenderAnvil()); + RenderingRegistry.registerBlockHandler(new RenderCable()); + RenderingRegistry.registerBlockHandler(new RenderCableClassic()); + RenderingRegistry.registerBlockHandler(new RenderTestPipe()); + RenderingRegistry.registerBlockHandler(new RenderBlockCT()); + RenderingRegistry.registerBlockHandler(new RenderDetCord()); + RenderingRegistry.registerBlockHandler(new RenderBlockMultipass()); + RenderingRegistry.registerBlockHandler(new RenderBlockSideRotation()); + RenderingRegistry.registerBlockHandler(new RenderDiode()); + RenderingRegistry.registerBlockHandler(new RenderBoxDuct()); + RenderingRegistry.registerBlockHandler(new RenderBlockDecoModel(ModBlocks.deco_computer.getRenderType(), ResourceManager.deco_computer)); + RenderingRegistry.registerBlockHandler(new RenderReeds()); + RenderingRegistry.registerBlockHandler(new RenderHangingVine()); + RenderingRegistry.registerBlockHandler(new RenderRTTY()); + RenderingRegistry.registerBlockHandler(new RenderDiFurnaceExtension()); + RenderingRegistry.registerBlockHandler(new RenderSplitter()); + RenderingRegistry.registerBlockHandler(new RenderCapacitor()); + RenderingRegistry.registerBlockHandler(new RenderPedestal()); + RenderingRegistry.registerBlockHandler(new RenderLight()); + RenderingRegistry.registerBlockHandler(new RenderCRT()); + RenderingRegistry.registerBlockHandler(new RenderToaster()); + RenderingRegistry.registerBlockHandler(new RenderPartitioner()); + RenderingRegistry.registerBlockHandler(new RenderPneumoTube()); + + RenderingRegistry.registerBlockHandler(new RenderFoundryBasin()); + RenderingRegistry.registerBlockHandler(new RenderFoundryMold()); + RenderingRegistry.registerBlockHandler(new RenderFoundryChannel()); + RenderingRegistry.registerBlockHandler(new RenderFoundryTank()); + RenderingRegistry.registerBlockHandler(new RenderFoundryOutlet()); + + RenderingRegistry.registerBlockHandler(new RenderRail()); + + RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_dynamite.getRenderType(), ResourceManager.charge_dynamite)); + RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_c4.getRenderType(), ResourceManager.charge_c4)); + + RenderingRegistry.registerBlockHandler(new RenderRBMKRod()); + RenderingRegistry.registerBlockHandler(new RenderRBMKReflector()); + RenderingRegistry.registerBlockHandler(new RenderRBMKControl()); + RenderingRegistry.registerBlockHandler(new RenderPribris()); + + RenderingRegistry.registerBlockHandler(new RenderBlockWand()); + } + + @Override + public void registerMissileItems() { + + MissilePart.registerAllParts(); + + Iterator it = MissilePart.parts.entrySet().iterator(); + + while(it.hasNext()) { + Map.Entry pair = (Map.Entry) it.next(); + MissilePart part = (MissilePart) pair.getValue(); + MinecraftForgeClient.registerItemRenderer(part.part, new ItemRenderMissilePart(part)); + } + + MinecraftForgeClient.registerItemRenderer(ModItems.missile_custom, new ItemRenderMissile()); + } + + //mk3, only use this one + @Override + public void effectNT(NBTTagCompound data) { + + World world = Minecraft.getMinecraft().theWorld; + + if(world == null) //might i ask why? + return; + + TextureManager man = Minecraft.getMinecraft().renderEngine; + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + int particleSetting = Minecraft.getMinecraft().gameSettings.particleSetting; + Random rand = world.rand; + String type = data.getString("type"); + double x = data.getDouble("posX"); + double y = data.getDouble("posY"); + double z = data.getDouble("posZ"); + + if(ParticleCreators.particleCreators.containsKey(type)) { + ParticleCreators.particleCreators.get(type).makeParticle(world, player, man, rand, x, y, z, data); + return; + } + + // Old MK1 system ported to MK3: + + if("waterSplash".equals(type)) { + for (int i = 0; i < 10; i++) { + EntityCloudFX smoke = new EntityCloudFX(world, x + world.rand.nextGaussian(), y + world.rand.nextGaussian(), z + world.rand.nextGaussian(), 0.0, 0.0, 0.0); + Minecraft.getMinecraft().effectRenderer.addEffect(smoke); + } + } + + if("cloudFX2".equals(type)) { // i have genuinely no idea what used this + EntityCloudFX smoke = new EntityCloudFX(world, x, y, z, 0.0, 0.1, 0.0); + Minecraft.getMinecraft().effectRenderer.addEffect(smoke); + } + + if("ABMContrail".equals(type)) { + ParticleContrail contrail = new ParticleContrail(man, world, x, y, z); + Minecraft.getMinecraft().effectRenderer.addEffect(contrail); + } + + // End MK1 porting. + + // Old MK2 system ported to MK3: + + if("launchSmoke".equals(type)) { + ParticleSmokePlume contrail = new ParticleSmokePlume(man, world, x, y, z); + contrail.motionX = data.getDouble("moX"); + contrail.motionY = data.getDouble("moY"); + contrail.motionZ = data.getDouble("moZ"); + Minecraft.getMinecraft().effectRenderer.addEffect(contrail); + } + + if("exKerosene".equals(type)) { + ParticleContrail contrail = new ParticleContrail(man, world, x, y, z, 0F, 0F, 0F, 1F); + Minecraft.getMinecraft().effectRenderer.addEffect(contrail); + } + + if("exSolid".equals(type)) { + ParticleContrail contrail = new ParticleContrail(man, world, x, y, z, 0.3F, 0.2F, 0.05F, 1F); + Minecraft.getMinecraft().effectRenderer.addEffect(contrail); + } + + if("exHydrogen".equals(type)) { + ParticleContrail contrail = new ParticleContrail(man, world, x, y, z, 0.7F, 0.7F, 0.7F, 1F); + Minecraft.getMinecraft().effectRenderer.addEffect(contrail); + } + + if("exBalefire".equals(type)) { + ParticleContrail contrail = new ParticleContrail(man, world, x, y, z, 0.2F, 0.7F, 0.2F, 1F); + Minecraft.getMinecraft().effectRenderer.addEffect(contrail); + } + + if("radFog".equals(type)) { + ParticleRadiationFog contrail = new ParticleRadiationFog(man, world, x, y, z); + Minecraft.getMinecraft().effectRenderer.addEffect(contrail); + } + + // End MK2 porting. + + if("missileContrail".equals(type)) { + + if(Vec3.createVectorHelper(player.posX - x, player.posY - y, player.posZ - z).lengthVector() > 350) return; + + float scale = data.hasKey("scale") ? data.getFloat("scale") : 1F; + double mX = data.getDouble("moX"); + double mY = data.getDouble("moY"); + double mZ = data.getDouble("moZ"); + + /*ParticleContrail contrail = new ParticleContrail(man, world, x, y, z, 0, 0, 0, scale); + contrail.motionX = mX; + contrail.motionY = mY; + contrail.motionZ = mZ; + Minecraft.getMinecraft().effectRenderer.addEffect(contrail);*/ + + ParticleRocketFlame fx = new ParticleRocketFlame(man, world, x, y, z).setScale(scale); + fx.motionX = mX; + fx.motionY = mY; + fx.motionZ = mZ; + if(data.hasKey("maxAge")) fx.setMaxAge(data.getInteger("maxAge")); + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + + if("smoke".equals(type)) { + + String mode = data.getString("mode"); + int count = Math.max(1, data.getInteger("count")); + + if("cloud".equals(mode)) { + + for(int i = 0; i < count; i++) { + ParticleExSmoke fx = new ParticleExSmoke(man, world, x, y, z); + fx.motionY = rand.nextGaussian() * (1 + (count / 100)); + fx.motionX = rand.nextGaussian() * (1 + (count / 150)); + fx.motionZ = rand.nextGaussian() * (1 + (count / 150)); + if(rand.nextBoolean()) fx.motionY = Math.abs(fx.motionY); + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + } + + if("radial".equals(mode)) { + + for(int i = 0; i < count; i++) { + ParticleExSmoke fx = new ParticleExSmoke(man, world, x, y, z); + fx.motionY = rand.nextGaussian() * (1 + (count / 50)); + fx.motionX = rand.nextGaussian() * (1 + (count / 50)); + fx.motionZ = rand.nextGaussian() * (1 + (count / 50)); + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + } + + if("radialDigamma".equals(mode)) { + + Vec3 vec = Vec3.createVectorHelper(2, 0, 0); + vec.rotateAroundY(rand.nextFloat() * (float)Math.PI * 2F); + + for(int i = 0; i < count; i++) { + ParticleDigammaSmoke fx = new ParticleDigammaSmoke(man, world, x, y, z); + fx.motionY = 0; + fx.motionX = vec.xCoord; + fx.motionZ = vec.zCoord; + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + + vec.rotateAroundY((float)Math.PI * 2F / (float)count); + } + } + + if("shock".equals(mode)) { + + double strength = data.getDouble("strength"); + + Vec3 vec = Vec3.createVectorHelper(strength, 0, 0); + vec.rotateAroundY(rand.nextInt(360)); + + for(int i = 0; i < count; i++) { + ParticleExSmoke fx = new ParticleExSmoke(man, world, x, y, z); + fx.motionY = 0; + fx.motionX = vec.xCoord; + fx.motionZ = vec.zCoord; + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + + vec.rotateAroundY((float)Math.PI * 2F / (float)count); + } + } + + if("shockRand".equals(mode)) { + + double strength = data.getDouble("strength"); + + Vec3 vec = Vec3.createVectorHelper(strength, 0, 0); + vec.rotateAroundY(rand.nextInt(360)); + double r; + + for(int i = 0; i < count; i++) { + r = rand.nextDouble(); + ParticleExSmoke fx = new ParticleExSmoke(man, world, x, y, z); + fx.motionY = 0; + fx.motionX = vec.xCoord * r; + fx.motionZ = vec.zCoord * r; + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + + vec.rotateAroundY(360 / count); + } + } + + if("wave".equals(mode)) { + + double strength = data.getDouble("range"); + + Vec3 vec = Vec3.createVectorHelper(strength, 0, 0); + + for(int i = 0; i < count; i++) { + + vec.rotateAroundY((float) Math.toRadians(rand.nextFloat() * 360F)); + + ParticleExSmoke fx = new ParticleExSmoke(man, world, x + vec.xCoord, y, z + vec.zCoord); + fx.maxAge = 50; + fx.motionY = 0; + fx.motionX = 0; + fx.motionZ = 0; + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + + vec.rotateAroundY(360 / count); + } + } + + if("foamSplash".equals(mode)) { + + double strength = data.getDouble("range"); + + Vec3 vec = Vec3.createVectorHelper(strength, 0, 0); + + for(int i = 0; i < count; i++) { + + vec.rotateAroundY((float) Math.toRadians(rand.nextFloat() * 360F)); + + ParticleFoam fx = new ParticleFoam(man, world, x + vec.xCoord, y, z + vec.zCoord); + fx.maxAge = 50; + fx.motionY = 0; + fx.motionX = 0; + fx.motionZ = 0; + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + + vec.rotateAroundY(360 / count); + } + } + } + + + + if("exhaust".equals(type)) { + + String mode = data.getString("mode"); + + if("soyuz".equals(mode)) { + + if(Vec3.createVectorHelper(player.posX - x, player.posY - y, player.posZ - z).lengthVector() > 350) + return; + + int count = Math.max(1, data.getInteger("count")); + double width = data.getDouble("width"); + + for(int i = 0; i < count; i++) { + + ParticleRocketFlame fx = new ParticleRocketFlame(man, world, x + rand.nextGaussian() * width, y, z + rand.nextGaussian() * width); + fx.motionY = -0.75 + rand.nextDouble() * 0.5; + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + } + + if("meteor".equals(mode)) { + + if(Vec3.createVectorHelper(player.posX - x, player.posY - y, player.posZ - z).lengthVector() > 350) + return; + + int count = Math.max(1, data.getInteger("count")); + double width = data.getDouble("width"); + + for(int i = 0; i < count; i++) { + + ParticleRocketFlame fx = new ParticleRocketFlame(man, world, x + rand.nextGaussian() * width, y + rand.nextGaussian() * width, z + rand.nextGaussian() * width); + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + } + } + + if("fireworks".equals(type)) { + int color = data.getInteger("color"); + char c = (char)data.getInteger("char"); + + ParticleLetter fx = new ParticleLetter(world, x, y, z, color, c); + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + + for(int i = 0; i < 50; i++) { + EntityFireworkSparkFX blast = new EntityFireworkSparkFX(world, x, y, z, + 0.4 * world.rand.nextGaussian(), + 0.4 * world.rand.nextGaussian(), + 0.4 * world.rand.nextGaussian(), Minecraft.getMinecraft().effectRenderer); + blast.setColour(color); + Minecraft.getMinecraft().effectRenderer.addEffect(blast); + } + } + + if("vanillaburst".equals(type)) { + + double motion = data.getDouble("motion"); + + for(int i = 0; i < data.getInteger("count"); i++) { + + double mX = rand.nextGaussian() * motion; + double mY = rand.nextGaussian() * motion; + double mZ = rand.nextGaussian() * motion; + + EntityFX fx = null; + + if("flame".equals(data.getString("mode"))) { + fx = new EntityFlameFX(world, x, y, z, mX, mY, mZ); + } + + if("cloud".equals(data.getString("mode"))) { + fx = new net.minecraft.client.particle.EntityCloudFX(world, x, y, z, mX, mY, mZ); + } + + if("reddust".equals(data.getString("mode"))) { + fx = new net.minecraft.client.particle.EntityReddustFX(world, x, y, z, 0.0F, 0.0F, 0.0F); + fx.motionX = mX; + fx.motionY = mY; + fx.motionZ = mZ; + } + + if("bluedust".equals(data.getString("mode"))) { + fx = new net.minecraft.client.particle.EntityReddustFX(world, x, y, z, 0.01F, 0.01F, 1F); + } + + if("greendust".equals(data.getString("mode"))) { + fx = new net.minecraft.client.particle.EntityReddustFX(world, x, y, z, 0.01F, 0.5F, 0.1F); + } + + if("blockdust".equals(data.getString("mode"))) { + + Block b = Block.getBlockById(data.getInteger("block")); + fx = new net.minecraft.client.particle.EntityBlockDustFX(world, x, y, z, mX, mY + 0.2, mZ, b, 0); + ReflectionHelper.setPrivateValue(EntityFX.class, fx, 50 + rand.nextInt(50), "particleMaxAge", "field_70547_e"); + } + + if(fx != null) + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + } + + if("vanillaExt".equals(type)) { + + double mX = data.getDouble("mX"); + double mY = data.getDouble("mY"); + double mZ = data.getDouble("mZ"); + + EntityFX fx = null; + + if("flame".equals(data.getString("mode"))) { + fx = new EntityFlameFX(world, x, y, z, mX, mY, mZ); + } + + if("smoke".equals(data.getString("mode"))) { + fx = new net.minecraft.client.particle.EntitySmokeFX(world, x, y, z, mX, mY, mZ); + } + + if("volcano".equals(data.getString("mode"))) { + fx = new net.minecraft.client.particle.EntitySmokeFX(world, x, y, z, mX, mY, mZ); + float scale = 100; + ReflectionHelper.setPrivateValue(net.minecraft.client.particle.EntitySmokeFX.class, (net.minecraft.client.particle.EntitySmokeFX)fx, scale, "smokeParticleScale", "field_70587_a"); + ReflectionHelper.setPrivateValue(EntityFX.class, fx, 200 + rand.nextInt(50), "particleMaxAge", "field_70547_e"); + fx.noClip = true; + fx.motionY = 2.5 + rand.nextDouble(); + fx.motionX = rand.nextGaussian() * 0.2; + fx.motionZ = rand.nextGaussian() * 0.2; + } + + if("cloud".equals(data.getString("mode"))) { + fx = new net.minecraft.client.particle.EntityCloudFX(world, x, y, z, mX, mY, mZ); + + if(data.hasKey("r")) { + float rng = rand.nextFloat() * 0.1F; + fx.setRBGColorF(data.getFloat("r") + rng, data.getFloat("g") + rng, data.getFloat("b") + rng); + ReflectionHelper.setPrivateValue(net.minecraft.client.particle.EntityCloudFX.class, (EntityCloudFX)fx, 7.5F, "field_70569_a"); + fx.motionX = 0; + fx.motionY = 0; + fx.motionZ = 0; + } + } + + if("reddust".equals(data.getString("mode"))) { + fx = new net.minecraft.client.particle.EntityReddustFX(world, x, y, z, (float)mX, (float)mY, (float)mZ); + } + + if("bluedust".equals(data.getString("mode"))) { + fx = new net.minecraft.client.particle.EntityReddustFX(world, x, y, z, 0.01F, 0.01F, 1F); + } + + if("greendust".equals(data.getString("mode"))) { + fx = new net.minecraft.client.particle.EntityReddustFX(world, x, y, z, 0.01F, 0.5F, 0.1F); + } + + if("fireworks".equals(data.getString("mode"))) { + fx = new EntityFireworkSparkFX(world, x, y, z, 0, 0, 0, Minecraft.getMinecraft().effectRenderer); + } + + if("largeexplode".equals(data.getString("mode"))) { + + + fx = new net.minecraft.client.particle.EntityLargeExplodeFX(man, world, x, y, z, data.getFloat("size"), 0.0F, 0.0F); + float r = 1.0F - rand.nextFloat() * 0.2F; + fx.setRBGColorF(1F * r, 0.9F * r, 0.5F * r); + + for(int i = 0; i < data.getByte("count"); i++) { + net.minecraft.client.particle.EntityExplodeFX sec = new net.minecraft.client.particle.EntityExplodeFX(world, x, y, z, 0.0F, 0.0F, 0.0F); + float r2 = 1.0F - rand.nextFloat() * 0.5F; + sec.setRBGColorF(0.5F * r2, 0.5F * r2, 0.5F * r2); + sec.multipleParticleScaleBy(i + 1); + Minecraft.getMinecraft().effectRenderer.addEffect(sec); + } + } + + if("townaura".equals(data.getString("mode"))) { + fx = new EntityAuraFX(world, x, y, z, 0, 0, 0); + float color = 0.5F + rand.nextFloat() * 0.5F; + fx.setRBGColorF(0.8F * color, 0.9F * color, 1.0F * color); + fx.setVelocity(mX, mY, mZ); + } + + if("blockdust".equals(data.getString("mode"))) { + + Block b = Block.getBlockById(data.getInteger("block")); + fx = new net.minecraft.client.particle.EntityBlockDustFX(world, x, y, z, mX, mY + 0.2, mZ, b, 0); + ReflectionHelper.setPrivateValue(EntityFX.class, fx, 10 + rand.nextInt(20), "particleMaxAge", "field_70547_e"); + } + + if("colordust".equals(data.getString("mode"))) { + + Block b = Blocks.wool; + fx = new net.minecraft.client.particle.EntityBlockDustFX(world, x, y, z, mX, mY + 0.2, mZ, b, 0); + fx.setRBGColorF(data.getFloat("r"), data.getFloat("g"), data.getFloat("b")); + ReflectionHelper.setPrivateValue(EntityFX.class, fx, 10 + rand.nextInt(20), "particleMaxAge", "field_70547_e"); + } + + if(fx != null) { + + if(data.getBoolean("noclip")) { + fx.noClip = true; + } + + if(data.getInteger("overrideAge") > 0) { + ReflectionHelper.setPrivateValue(EntityFX.class, fx, data.getInteger("overrideAge"), "particleMaxAge", "field_70547_e"); + } + + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + } + + if("vanilla".equals(type)) { + + double mX = data.getDouble("mX"); + double mY = data.getDouble("mY"); + double mZ = data.getDouble("mZ"); + world.spawnParticle(data.getString("mode"), x, y, z, mX, mY, mZ); + } + + if("jetpack".equals(type)) { + + if(particleSetting == 2) + return; + + Entity ent = world.getEntityByID(data.getInteger("player")); + + if(ent instanceof EntityPlayer) { + + EntityPlayer p = (EntityPlayer)ent; + + Vec3 vec = Vec3.createVectorHelper(0, 0, -0.25); + Vec3 offset = Vec3.createVectorHelper(0.125, 0, 0); + float angle = (float) -Math.toRadians(p.rotationYawHead - (p.rotationYawHead - p.renderYawOffset)); + + vec.rotateAroundY(angle); + offset.rotateAroundY(angle); + + double ix = p.posX + vec.xCoord; + double iy = p.posY + p.eyeHeight - 1; + double iz = p.posZ + vec.zCoord; + double ox = offset.xCoord; + double oz = offset.zCoord; + + double moX = 0; + double moY = 0; + double moZ = 0; + + int mode = data.getInteger("mode"); + + if(mode == 0) { + moY -= 0.2; + } + + if(mode == 1) { + Vec3 look = p.getLookVec(); + + moX -= look.xCoord * 0.1D; + moY -= look.yCoord * 0.1D; + moZ -= look.zCoord * 0.1D; + } + + if(particleSetting == 0) { + Vec3 pos = Vec3.createVectorHelper(ix, iy, iz); + Vec3 thrust = Vec3.createVectorHelper(moX, moY, moZ); + thrust = thrust.normalize(); + Vec3 target = pos.addVector(thrust.xCoord * 10, thrust.yCoord * 10, thrust.zCoord * 10); + MovingObjectPosition mop = player.worldObj.func_147447_a(pos, target, false, false, true); + + if(mop != null && mop.typeOfHit == MovingObjectType.BLOCK && mop.sideHit == 1) { + + Block b = world.getBlock(mop.blockX, mop.blockY, mop.blockZ); + int meta = world.getBlockMetadata(mop.blockX, mop.blockY, mop.blockZ); + + Vec3 delta = Vec3.createVectorHelper(ix - mop.hitVec.xCoord, iy - mop.hitVec.yCoord, iz - mop.hitVec.zCoord); + Vec3 vel = Vec3.createVectorHelper(0.75 - delta.lengthVector() * 0.075, 0, 0); + + for(int i = 0; i < (10 - delta.lengthVector()); i++) { + vel.rotateAroundY(world.rand.nextFloat() * (float)Math.PI * 2F); + Minecraft.getMinecraft().effectRenderer.addEffect(new EntityBlockDustFX(world, mop.hitVec.xCoord, mop.hitVec.yCoord + 0.1, mop.hitVec.zCoord, vel.xCoord, 0.1, vel.zCoord, b, meta)); + } + } + } + + double mX2 = BobMathUtil.safeClamp(p.motionX + moX * 2, -5, 5); + double mY2 = BobMathUtil.safeClamp(p.motionY + moY * 2, -5, 5); + double mZ2 = BobMathUtil.safeClamp(p.motionZ + moZ * 2, -5, 5); + double mX3 = BobMathUtil.safeClamp(p.motionX + moX * 2, -10, 10); + double mY3 = BobMathUtil.safeClamp(p.motionY + moY * 2, -10, 10); + double mZ3 = BobMathUtil.safeClamp(p.motionZ + moZ * 2, -10, 10); + + Minecraft.getMinecraft().effectRenderer.addEffect(new EntityFlameFX(world, ix + ox, iy, iz + oz, mX2, mY2, mZ2)); + Minecraft.getMinecraft().effectRenderer.addEffect(new EntityFlameFX(world, ix - ox, iy, iz - oz, mX2, mY2, mZ2)); + + if(particleSetting == 0) { + Minecraft.getMinecraft().effectRenderer.addEffect(new net.minecraft.client.particle.EntitySmokeFX(world, ix + ox, iy, iz + oz, mX3, mY3, mZ3)); + Minecraft.getMinecraft().effectRenderer.addEffect(new net.minecraft.client.particle.EntitySmokeFX(world, ix - ox, iy, iz - oz, mX3, mY3, mZ3)); + } + } + } + + if("bnuuy".equals(type)) { + + if(particleSetting == 2) + return; + + Entity ent = world.getEntityByID(data.getInteger("player")); + + if(ent instanceof EntityPlayer) { + + EntityPlayer p = (EntityPlayer)ent; + + Vec3 vec = Vec3.createVectorHelper(0, 0, -0.6); + Vec3 offset = Vec3.createVectorHelper(0.275, 0, 0); + float angle = (float) -Math.toRadians(p.rotationYawHead - (p.rotationYawHead - p.renderYawOffset)); + + vec.rotateAroundY(angle); + offset.rotateAroundY(angle); + + double ix = p.posX + vec.xCoord; + double iy = p.posY + p.eyeHeight - 1 + 0.4; + double iz = p.posZ + vec.zCoord; + double ox = offset.xCoord; + double oz = offset.zCoord; + + if(player.isSneaking()) { + iy += 0.25; + } + + vec = vec.normalize(); + double mult = 0.025D; + double mX = vec.xCoord * mult; + double mZ = vec.zCoord * mult; + + //Minecraft.getMinecraft().effectRenderer.addEffect(new EntityFlameFX(world, ix + ox, iy, iz + oz, 0, 0, 0)); + //Minecraft.getMinecraft().effectRenderer.addEffect(new EntityFlameFX(world, ix - ox, iy, iz - oz, 0, 0, 0)); + + for(int i = 0; i < 2; i++) { + net.minecraft.client.particle.EntitySmokeFX fx = new net.minecraft.client.particle.EntitySmokeFX(world, ix + ox * (i == 0 ? -1 : 1), iy, iz + oz * (i == 0 ? -1 : 1), mX, 0, mZ); + float scale = 0.5F; + ReflectionHelper.setPrivateValue(net.minecraft.client.particle.EntitySmokeFX.class, (net.minecraft.client.particle.EntitySmokeFX)fx, scale, "smokeParticleScale", "field_70587_a"); + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + } + } + + if("jetpack_bj".equals(type)) { + + if(particleSetting == 2) + return; + + Entity ent = world.getEntityByID(data.getInteger("player")); + + if(ent instanceof EntityPlayer) { + + EntityPlayer p = (EntityPlayer)ent; + + Vec3 vec = Vec3.createVectorHelper(0, 0, -0.3125); + Vec3 offset = Vec3.createVectorHelper(0.125, 0, 0); + float angle = (float) -Math.toRadians(p.rotationYawHead - (p.rotationYawHead - p.renderYawOffset)); + + vec.rotateAroundY(angle); + offset.rotateAroundY(angle); + + double ix = p.posX + vec.xCoord; + double iy = p.posY + p.eyeHeight - 0.9375; + double iz = p.posZ + vec.zCoord; + double ox = offset.xCoord; + double oz = offset.zCoord; + + if(particleSetting == 0) { + Vec3 pos = Vec3.createVectorHelper(ix, iy, iz); + Vec3 thrust = Vec3.createVectorHelper(0, -1, 0); + Vec3 target = pos.addVector(thrust.xCoord * 10, thrust.yCoord * 10, thrust.zCoord * 10); + MovingObjectPosition mop = player.worldObj.func_147447_a(pos, target, false, false, true); + + if(mop != null && mop.typeOfHit == MovingObjectType.BLOCK && mop.sideHit == 1) { + + Block b = world.getBlock(mop.blockX, mop.blockY, mop.blockZ); + int meta = world.getBlockMetadata(mop.blockX, mop.blockY, mop.blockZ); + + Vec3 delta = Vec3.createVectorHelper(ix - mop.hitVec.xCoord, iy - mop.hitVec.yCoord, iz - mop.hitVec.zCoord); + Vec3 vel = Vec3.createVectorHelper(0.75 - delta.lengthVector() * 0.075, 0, 0); + + for(int i = 0; i < (10 - delta.lengthVector()); i++) { + vel.rotateAroundY(world.rand.nextFloat() * (float)Math.PI * 2F); + Minecraft.getMinecraft().effectRenderer.addEffect(new EntityBlockDustFX(world, mop.hitVec.xCoord, mop.hitVec.yCoord + 0.1, mop.hitVec.zCoord, vel.xCoord, 0.1, vel.zCoord, b, meta)); + } + } + } + + EntityReddustFX dust1 = new EntityReddustFX(world, ix + ox, iy, iz + oz, 0.8F, 0.5F, 1.0F); + EntityReddustFX dust2 = new EntityReddustFX(world, ix - ox, iy, iz - oz, 0.8F, 0.5F, 1.0F); + dust1.setVelocity(p.motionX, p.motionY, p.motionZ); + dust2.setVelocity(p.motionX, p.motionY, p.motionZ); + Minecraft.getMinecraft().effectRenderer.addEffect(dust1); + Minecraft.getMinecraft().effectRenderer.addEffect(dust2); + } + } + + if("jetpack_dns".equals(type)) { + + if(particleSetting == 2) + return; + + Entity ent = world.getEntityByID(data.getInteger("player")); + + if(ent instanceof EntityPlayer) { + + EntityPlayer p = (EntityPlayer)ent; + + Vec3 offset = Vec3.createVectorHelper(0.125, 0, 0); + float angle = (float) -Math.toRadians(p.rotationYawHead - (p.rotationYawHead - p.renderYawOffset)); + + offset.rotateAroundY(angle); + + double ix = p.posX; + double iy = p.posY - p.getYOffset() - 0.5D; + double iz = p.posZ; + double ox = offset.xCoord; + double oz = offset.zCoord; + + if(particleSetting == 0) { + Vec3 pos = Vec3.createVectorHelper(ix, iy, iz); + Vec3 thrust = Vec3.createVectorHelper(0, -1, 0); + Vec3 target = pos.addVector(thrust.xCoord * 10, thrust.yCoord * 10, thrust.zCoord * 10); + MovingObjectPosition mop = player.worldObj.func_147447_a(pos, target, false, false, true); + + if(mop != null && mop.typeOfHit == MovingObjectType.BLOCK && mop.sideHit == 1) { + + Block b = world.getBlock(mop.blockX, mop.blockY, mop.blockZ); + int meta = world.getBlockMetadata(mop.blockX, mop.blockY, mop.blockZ); + + Vec3 delta = Vec3.createVectorHelper(ix - mop.hitVec.xCoord, iy - mop.hitVec.yCoord, iz - mop.hitVec.zCoord); + Vec3 vel = Vec3.createVectorHelper(0.75 - delta.lengthVector() * 0.075, 0, 0); + + for(int i = 0; i < (10 - delta.lengthVector()); i++) { + vel.rotateAroundY(world.rand.nextFloat() * (float)Math.PI * 2F); + Minecraft.getMinecraft().effectRenderer.addEffect(new EntityBlockDustFX(world, mop.hitVec.xCoord, mop.hitVec.yCoord + 0.1, mop.hitVec.zCoord, vel.xCoord, 0.1, vel.zCoord, b, meta)); + } + } + } + + EntityReddustFX dust1 = new EntityReddustFX(world, ix + ox, iy, iz + oz, 0.01F, 1.0F, 1.0F); + EntityReddustFX dust2 = new EntityReddustFX(world, ix - ox, iy, iz - oz, 0.01F, 1.0F, 1.0F); + dust1.setVelocity(p.motionX, p.motionY, p.motionZ); + dust2.setVelocity(p.motionX, p.motionY, p.motionZ); + Minecraft.getMinecraft().effectRenderer.addEffect(dust1); + Minecraft.getMinecraft().effectRenderer.addEffect(dust2); + } + } + + if("muke".equals(type)) { + + ParticleMukeWave wave = new ParticleMukeWave(man, world, x, y, z); + ParticleMukeFlash flash = new ParticleMukeFlash(man, world, x, y, z, data.getBoolean("balefire")); + + Minecraft.getMinecraft().effectRenderer.addEffect(wave); + Minecraft.getMinecraft().effectRenderer.addEffect(flash); + + //single swing: HT 15, MHT 15 + //double swing: HT 60, MHT 50 + + player.hurtTime = 15; + player.maxHurtTime = 15; + player.attackedAtYaw = 0F; + } + + if("tinytot".equals(type)) { + + ParticleMukeWave wave = new ParticleMukeWave(man, world, x, y, z); + Minecraft.getMinecraft().effectRenderer.addEffect(wave); + + for(double d = 0.0D; d <= 1.6D; d += 0.1) { + ParticleMukeCloud cloud = new ParticleMukeCloud(man, world, x, y, z, rand.nextGaussian() * 0.05, d + rand.nextGaussian() * 0.02, rand.nextGaussian() * 0.05); + Minecraft.getMinecraft().effectRenderer.addEffect(cloud); + } + for(int i = 0; i < 50; i++) { + ParticleMukeCloud cloud = new ParticleMukeCloud(man, world, x, y + 0.5, z, rand.nextGaussian() * 0.5, rand.nextInt(5) == 0 ? 0.02 : 0, rand.nextGaussian() * 0.5); + Minecraft.getMinecraft().effectRenderer.addEffect(cloud); + } + for(int i = 0; i < 15; i++) { + double ix = rand.nextGaussian() * 0.2; + double iz = rand.nextGaussian() * 0.2; + + if(ix * ix + iz * iz > 0.75) { + ix *= 0.5; + iz *= 0.5; + } + + double iy = 1.6 + (rand.nextDouble() * 2 - 1) * (0.75 - (ix * ix + iz * iz)) * 0.5; + + ParticleMukeCloud cloud = new ParticleMukeCloud(man, world, x, y, z, ix, iy + rand.nextGaussian() * 0.02, iz); + Minecraft.getMinecraft().effectRenderer.addEffect(cloud); + } + player.hurtTime = 15; + player.maxHurtTime = 15; + player.attackedAtYaw = 0F; + } + + if("ufo".equals(type)) { + double motion = data.getDouble("motion"); + ParticleMukeCloud cloud = new ParticleMukeCloud(man, world, x, y, z, rand.nextGaussian() * motion, 0, rand.nextGaussian() * motion); + Minecraft.getMinecraft().effectRenderer.addEffect(cloud); + } + + if("bf".equals(type)) { + ParticleMukeCloud cloud = new ParticleMukeCloudBF(man, world, x, y, z, 0, 0, 0); + Minecraft.getMinecraft().effectRenderer.addEffect(cloud); + } + + if("haze".equals(type)) { + + ParticleHaze fog = new ParticleHaze(man, world, x, y, z); + Minecraft.getMinecraft().effectRenderer.addEffect(fog); + } + + if("plasmablast".equals(type)) { + + ParticlePlasmaBlast cloud = new ParticlePlasmaBlast(man, world, x, y, z, data.getFloat("r"), data.getFloat("g"), data.getFloat("b"), data.getFloat("pitch"), data.getFloat("yaw")); + cloud.setScale(data.getFloat("scale")); + Minecraft.getMinecraft().effectRenderer.addEffect(cloud); + } + + if("justTilt".equals(type)) { + + player.hurtTime = player.maxHurtTime = data.getInteger("time"); + player.attackedAtYaw = 0F; + } + + if("properJolt".equals(type)) { + + player.hurtTime = data.getInteger("time"); + player.maxHurtTime = data.getInteger("maxTime"); + player.attackedAtYaw = 0F; + } + + if("sweat".equals(type)) { + + Entity e = world.getEntityByID(data.getInteger("entity")); + Block b = Block.getBlockById(data.getInteger("block")); + int meta = data.getInteger("meta"); + + if(e instanceof EntityLivingBase) { + + for(int i = 0; i < data.getInteger("count"); i++) { + + double ix = e.boundingBox.minX - 0.2 + (e.boundingBox.maxX - e.boundingBox.minX + 0.4) * rand.nextDouble(); + double iy = e.boundingBox.minY + (e.boundingBox.maxY - e.boundingBox.minY + 0.2) * rand.nextDouble(); + double iz = e.boundingBox.minZ - 0.2 + (e.boundingBox.maxZ - e.boundingBox.minZ + 0.4) * rand.nextDouble(); + + + EntityFX fx = new net.minecraft.client.particle.EntityBlockDustFX(world, ix, iy, iz, 0, 0, 0, b, meta); + ReflectionHelper.setPrivateValue(EntityFX.class, fx, 150 + rand.nextInt(50), "particleMaxAge", "field_70547_e"); + + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + } + } + + if("vomit".equals(type)) { + + Entity e = world.getEntityByID(data.getInteger("entity")); + int count = data.getInteger("count") / (particleSetting + 1); + + if(e instanceof EntityLivingBase) { + + double ix = e.posX; + double iy = e.posY - e.getYOffset() + e.getEyeHeight() + (e instanceof EntityPlayer ? 1 : 0); + double iz = e.posZ; + + Vec3 vec = e.getLookVec(); + + for(int i = 0; i < count; i++) { + + if("normal".equals(data.getString("mode"))) { + EntityFX fx = new net.minecraft.client.particle.EntityBlockDustFX(world, ix, iy, iz, (vec.xCoord + rand.nextGaussian() * 0.2) * 0.2, (vec.yCoord + rand.nextGaussian() * 0.2) * 0.2, (vec.zCoord + rand.nextGaussian() * 0.2) * 0.2, Blocks.stained_hardened_clay, (rand.nextBoolean() ? 5 : 13)); + ReflectionHelper.setPrivateValue(EntityFX.class, fx, 150 + rand.nextInt(50), "particleMaxAge", "field_70547_e"); + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + + if("blood".equals(data.getString("mode"))) { + EntityFX fx = new net.minecraft.client.particle.EntityBlockDustFX(world, ix, iy, iz, (vec.xCoord + rand.nextGaussian() * 0.2) * 0.2, (vec.yCoord + rand.nextGaussian() * 0.2) * 0.2, (vec.zCoord + rand.nextGaussian() * 0.2) * 0.2, Blocks.redstone_block, 0); + ReflectionHelper.setPrivateValue(EntityFX.class, fx, 150 + rand.nextInt(50), "particleMaxAge", "field_70547_e"); + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + + if("smoke".equals(data.getString("mode"))) { + EntityFX fx = new net.minecraft.client.particle.EntitySmokeFX(world, ix, iy, iz, (vec.xCoord + rand.nextGaussian() * 0.1) * 0.05, (vec.yCoord + rand.nextGaussian() * 0.1) * 0.05, (vec.zCoord + rand.nextGaussian() * 0.1) * 0.05, 0.2F); + ReflectionHelper.setPrivateValue(EntityFX.class, fx, 10 + rand.nextInt(10), "particleMaxAge", "field_70547_e"); + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + } + } + } + + if("radiation".equals(type)) { + + for(int i = 0; i < data.getInteger("count"); i++) { + + EntityAuraFX flash = new EntityAuraFX(world, + player.posX + rand.nextGaussian() * 4, + player.posY + rand.nextGaussian() * 2, + player.posZ + rand.nextGaussian() * 4, + 0, 0, 0); + + flash.setRBGColorF(0F, 0.75F, 1F); + flash.setVelocity(rand.nextGaussian(), rand.nextGaussian(), rand.nextGaussian()); + Minecraft.getMinecraft().effectRenderer.addEffect(flash); + } + } + + if("schrabfog".equals(type)) { + + EntityAuraFX flash = new EntityAuraFX(world, x, y, z, 0, 0, 0); + flash.setRBGColorF(0F, 1F, 1F); + Minecraft.getMinecraft().effectRenderer.addEffect(flash); + } + + if("hadron".equals(type)) { + + Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleHadron(man, world, x, y, z)); + } + + if("rift".equals(type)) { + + Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleRift(man, world, x, y, z)); + } + + if("rbmkflame".equals(type)) { + int maxAge = data.getInteger("maxAge"); + Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleRBMKFlame(man, world, x, y, z, maxAge)); + } + + if("rbmkmush".equals(type)) { + float scale = data.getFloat("scale"); + Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleRBMKMush(man, world, x, y, z, scale)); + } + + if("tower".equals(type)) { + if(particleSetting == 0 || (particleSetting == 1 && rand.nextBoolean())) { + ParticleCoolingTower fx = new ParticleCoolingTower(man, world, x, y, z); + fx.setLift(data.getFloat("lift")); + fx.setBaseScale(data.getFloat("base")); + fx.setMaxScale(data.getFloat("max")); + fx.setLife(data.getInteger("life") / (particleSetting + 1)); + if(data.hasKey("noWind")) fx.noWind(); + if(data.hasKey("strafe")) fx.setStrafe(data.getFloat("strafe")); + if(data.hasKey("alpha")) fx.alphaMod(data.getFloat("alpha")); + + if(data.hasKey("color")) { + Color color = new Color(data.getInteger("color")); + fx.setRBGColorF(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F); + } + + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + } + + if("splash".equals(type)) { + if(particleSetting == 0 || (particleSetting == 1 && rand.nextBoolean())) { + ParticleSplash fx = new ParticleSplash(man, world, x, y, z); + + if(data.hasKey("color")) { + Color color = new Color(data.getInteger("color")); + float f = 1F - rand.nextFloat() * 0.2F; + fx.setRBGColorF(color.getRed() / 255F * f, color.getGreen() / 255F * f, color.getBlue() / 255F * f); + } + + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + } + + if("fluidfill".equals(type)) { + double mX = data.getDouble("mX"); + double mY = data.getDouble("mY"); + double mZ = data.getDouble("mZ"); + + EntityFX fx = new net.minecraft.client.particle.EntityCritFX(world, x, y, z, mX, mY, mZ); + fx.nextTextureIndexX(); + + if(data.hasKey("color")) { + Color color = new Color(data.getInteger("color")); + fx.setRBGColorF(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F); + } + + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + + if("deadleaf".equals(type)) { + if(particleSetting == 0 || (particleSetting == 1 && rand.nextBoolean())) + Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleDeadLeaf(man, world, x, y, z)); + } + + if("anim".equals(type)) { + + String mode = data.getString("mode"); + + /* crucible deploy */ + if("crucible".equals(mode) && player.getHeldItem() != null) { + + BusAnimation animation = new BusAnimation() + .addBus("GUARD_ROT", new BusAnimationSequence() + .addPos(90, 0, 1, 0) + .addPos(90, 0, 1, 800) + .addPos(0, 0, 1, 50)); + + String id = ModItems.crucible.getUnlocalizedName(); + HbmAnimations.hotbar[player.inventory.currentItem][0] = new Animation(id, System.currentTimeMillis(), animation, null); + } + + /* crucible swing */ + if("cSwing".equals(mode)) { + + if(HbmAnimations.getRelevantTransformation("SWING_ROT")[0] == 0) { + + int offset = rand.nextInt(80) - 20; + + BusAnimation animation = new BusAnimation() + .addBus("SWING_ROT", new BusAnimationSequence() + .addPos(90 - offset, 90 - offset, 35, 75) + .addPos(90 + offset, 90 - offset, -45, 150) + .addPos(0, 0, 0, 500)) + .addBus("SWING_TRANS", new BusAnimationSequence() + .addPos(-3, 0, 0, 75) + .addPos(8, 0, 0, 150) + .addPos(0, 0, 0, 500)); + + Minecraft.getMinecraft().getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("hbm:weapon.cSwing"), 0.8F + player.getRNG().nextFloat() * 0.2F)); + String id = ModItems.crucible.getUnlocalizedName(); + HbmAnimations.hotbar[player.inventory.currentItem][0] = new Animation(id, System.currentTimeMillis(), animation, null); + } + } + + /* chainsaw swing */ + if("sSwing".equals(mode) || "lSwing".equals(mode)) { //temp for lance + + int forward = 150; + int sideways = 100; + int retire = 200; + + if(HbmAnimations.getRelevantAnim() == null) { + + BusAnimation animation = new BusAnimation() + .addBus("SWING_ROT", new BusAnimationSequence() + .addPos(0, 0, 90, forward) + .addPos(45, 0, 90, sideways) + .addPos(0, 0, 0, retire)) + .addBus("SWING_TRANS", new BusAnimationSequence() + .addPos(0, 0, 3, forward) + .addPos(2, 0, 2, sideways) + .addPos(0, 0, 0, retire)); + + + HbmAnimations.hotbar[player.inventory.currentItem][0] = new Animation(player.getHeldItem().getItem().getUnlocalizedName(), System.currentTimeMillis(), animation, null); + + } else { + + double[] rot = HbmAnimations.getRelevantTransformation("SWING_ROT"); + double[] trans = HbmAnimations.getRelevantTransformation("SWING_TRANS"); + + if(System.currentTimeMillis() - HbmAnimations.getRelevantAnim().startMillis < 50) return; + + BusAnimation animation = new BusAnimation() + .addBus("SWING_ROT", new BusAnimationSequence() + .addPos(rot[0], rot[1], rot[2], 0) + .addPos(0, 0, 90, forward) + .addPos(45, 0, 90, sideways) + .addPos(0, 0, 0, retire)) + .addBus("SWING_TRANS", new BusAnimationSequence() + .addPos(trans[0], trans[1], trans[2], 0) + .addPos(0, 0, 3, forward) + .addPos(2, 0, 2, sideways) + .addPos(0, 0, 0, retire)); + + HbmAnimations.hotbar[player.inventory.currentItem][0] = new Animation(player.getHeldItem().getItem().getUnlocalizedName(), System.currentTimeMillis(), animation, null); + } + } + + if("generic".equals(mode)) { + ItemStack stack = player.getHeldItem(); + + if(stack != null && stack.getItem() instanceof IAnimatedItem) { + IAnimatedItem item = (IAnimatedItem) stack.getItem(); + BusAnimation anim = item.getAnimation(data, stack); + + if(anim != null) { + HbmAnimations.hotbar[player.inventory.currentItem][0] = new Animation(player.getHeldItem().getItem().getUnlocalizedName(), System.currentTimeMillis(), anim, null); + } + } + } + } + + if("tau".equals(type)) { + + for(int i = 0; i < data.getByte("count"); i++) + Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleSpark(world, x, y, z, rand.nextGaussian() * 0.05, 0.05, rand.nextGaussian() * 0.05)); + Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleHadron(man, world, x, y, z)); + } + + if("vanish".equals(type)) { + int ent = data.getInteger("ent"); + this.vanish(ent); + } + + if("giblets".equals(type)) { + int ent = data.getInteger("ent"); + this.vanish(ent); + Entity e = world.getEntityByID(ent); + + if(e == null) + return; + + float width = e.width; + float height = e.height; + int gW = (int)(width / 0.25F); + int gH = (int)(height / 0.25F); + + int count = (int) (gW * 1.5 * gH); + + if(data.hasKey("cDiv")) + count = (int) Math.ceil(count / (double)data.getInteger("cDiv")); + + boolean blowMeIntoTheGodDamnStratosphere = rand.nextInt(15) == 0; + double mult = 1D; + + if(blowMeIntoTheGodDamnStratosphere) + mult *= 10; + + for(int i = 0; i < count; i++) { + Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleGiblet(man, world, x, y, z, rand.nextGaussian() * 0.25 * mult, rand.nextDouble() * mult, rand.nextGaussian() * 0.25 * mult)); + } + } + + if("amat".equals(type)) { + Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleAmatFlash(world, x, y, z, data.getFloat("scale"))); + } + + if("debug".equals(type)) { + String t = data.getString("text"); + int color = data.getInteger("color"); + float scale = data.getFloat("scale"); + ParticleText text = new ParticleText(world, x, y, z, color, t); + text.multipleParticleScaleBy(scale); + Minecraft.getMinecraft().effectRenderer.addEffect(text); + } + + if("debugline".equals(type)) { + double mX = data.getDouble("mX"); + double mY = data.getDouble("mY"); + double mZ = data.getDouble("mZ"); + int color = data.getInteger("color"); + ParticleDebugLine text = new ParticleDebugLine(world, x, y, z, mX, mY, mZ, color); + Minecraft.getMinecraft().effectRenderer.addEffect(text); + } + + if("debugdrone".equals(type)) { + Item held = player.getHeldItem() == null ? null : player.getHeldItem().getItem(); + + if(held == ModItems.drone || + held == Item.getItemFromBlock(ModBlocks.drone_crate_provider) || + held == Item.getItemFromBlock(ModBlocks.drone_crate_requester) || + held == Item.getItemFromBlock(ModBlocks.drone_dock) || + held == Item.getItemFromBlock(ModBlocks.drone_waypoint_request) || + held == Item.getItemFromBlock(ModBlocks.drone_waypoint) || + held == ModItems.drone_linker) { + double mX = data.getDouble("mX"); + double mY = data.getDouble("mY"); + double mZ = data.getDouble("mZ"); + int color = data.getInteger("color"); + ParticleDebugLine text = new ParticleDebugLine(world, x, y, z, mX, mY, mZ, color); + Minecraft.getMinecraft().effectRenderer.addEffect(text); + } + } + + if("network".equals(type)) { + ParticleDebug debug = null; + double mX = data.getDouble("mX"); + double mY = data.getDouble("mY"); + double mZ = data.getDouble("mZ"); + + if("power".equals(data.getString("mode"))) { + debug = new ParticleDebug(man, world, x, y, z, mX, mY, mZ); + } + if("fluid".equals(data.getString("mode"))) { + int color = data.getInteger("color"); + debug = new ParticleDebug(man, world, x, y, z, mX, mY, mZ, color); + } + Minecraft.getMinecraft().effectRenderer.addEffect(debug); + } + + if("gasfire".equals(type)) { + double mX = data.getDouble("mX"); + double mY = data.getDouble("mY"); + double mZ = data.getDouble("mZ"); + float scale = data.getFloat("scale"); + ParticleGasFlame text = new ParticleGasFlame(world, x, y, z, mX, mY, mZ, scale > 0 ? scale : 6.5F); + Minecraft.getMinecraft().effectRenderer.addEffect(text); + } + + if("marker".equals(type)) { + int color = data.getInteger("color"); + String label = data.getString("label"); + int expires = data.getInteger("expires"); + double dist = data.getDouble("dist"); + + RenderOverhead.queuedMarkers.put(new BlockPos(x, y, z), new Marker(color).setDist(dist).setExpire(expires > 0 ? System.currentTimeMillis() + expires : 0).withLabel(label.isEmpty() ? null : label)); + } + + if("casing".equals(type)) { + CasingEjector ejector = CasingEjector.fromId(data.getInteger("ej")); + if(ejector == null) return; + SpentCasing casingConfig = SpentCasing.fromName((data.getString("name"))); + if(casingConfig == null) return; + + for(int i = 0; i < ejector.getAmount(); i++) { + ejector.spawnCasing(man, casingConfig, world, x, y, z, data.getFloat("pitch"), data.getFloat("yaw"), data.getBoolean("crouched")); + } + } + + if("foundry".equals(type)) { + int color = data.getInteger("color"); + byte dir = data.getByte("dir"); + float length = data.getFloat("len"); + float base = data.getFloat("base"); + float offset = data.getFloat("off"); + + ParticleFoundry sploosh = new ParticleFoundry(man, world, x, y, z, color, dir, length, base, offset); + Minecraft.getMinecraft().effectRenderer.addEffect(sploosh); + } + + if("frozen".equals(type)) { + player.motionX = 0; + player.motionZ = 0; + player.motionY = Math.min(player.motionY, 0); + player.moveForward = 0; + player.moveStrafing = 0; + } + } + + private static HashMap vanished = new HashMap(); + public static void vanish(int ent) { vanished.put(ent, System.currentTimeMillis() + 2000); } + public static void vanish(int ent, int duration) { vanished.put(ent, System.currentTimeMillis() + duration); } + + @Override + public boolean isVanished(Entity e) { + if(e == null) return false; + if(!this.vanished.containsKey(e.getEntityId())) return false; + return this.vanished.get(e.getEntityId()) > System.currentTimeMillis(); + } + + @Override + public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float range, float pitch) { + + AudioWrapperClient audio = new AudioWrapperClient(new ResourceLocation(sound)); + audio.updatePosition(x, y, z); + audio.updateVolume(volume); + audio.updateRange(range); + return audio; + } + + @Override + public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float range, float pitch, int keepAlive) { + AudioWrapper audio = getLoopedSound(sound, x, y, z, volume, range, pitch); + audio.setKeepAlive(keepAlive); + return audio; + } + + @Override + public void playSound(String sound, Object data) { } + + @Override + public void displayTooltip(String msg, int time, int id) { + + if(id != 0) + this.theInfoSystem.push(new InfoEntry(msg, time), id); + else + this.theInfoSystem.push(new InfoEntry(msg, time)); + } + + @Override + public boolean getIsKeyPressed(EnumKeybind key) { + + switch(key){ + case JETPACK: return Minecraft.getMinecraft().gameSettings.keyBindJump.getIsKeyPressed(); + case TOGGLE_JETPACK: return HbmKeybinds.jetpackKey.getIsKeyPressed(); + case TOGGLE_MAGNET: return HbmKeybinds.magnetKey.getIsKeyPressed(); + case TOGGLE_HEAD: return HbmKeybinds.hudKey.getIsKeyPressed(); + case RELOAD: return HbmKeybinds.reloadKey.getIsKeyPressed(); + case DASH: return HbmKeybinds.dashKey.getIsKeyPressed(); + case TRAIN: return HbmKeybinds.trainKey.getIsKeyPressed(); + case CRANE_UP: return HbmKeybinds.craneUpKey.getIsKeyPressed(); + case CRANE_DOWN: return HbmKeybinds.craneDownKey.getIsKeyPressed(); + case CRANE_LEFT: return HbmKeybinds.craneLeftKey.getIsKeyPressed(); + case CRANE_RIGHT: return HbmKeybinds.craneRightKey.getIsKeyPressed(); + case CRANE_LOAD: return HbmKeybinds.craneLoadKey.getIsKeyPressed(); + case ABILITY_CYCLE: return HbmKeybinds.abilityCycle.getIsKeyPressed(); + case ABILITY_ALT: return HbmKeybinds.abilityAlt.getIsKeyPressed(); + case TOOL_ALT: return HbmKeybinds.copyToolAlt.getIsKeyPressed(); + case TOOL_CTRL: return HbmKeybinds.copyToolCtrl.getIsKeyPressed(); + case GUN_PRIMARY: return HbmKeybinds.gunPrimaryKey.getIsKeyPressed(); + case GUN_SECONDARY: return HbmKeybinds.gunSecondaryKey.getIsKeyPressed(); + case GUN_TERTIARY: return HbmKeybinds.gunTertiaryKey.getIsKeyPressed(); + } + + return false; + } + + @Override + public EntityPlayer me() { + return Minecraft.getMinecraft().thePlayer; + } + + @Override + public void openLink(String url) { + try { + Desktop.getDesktop().browse(new URI(url)); + } catch (Exception e) { } + } + + @Override + public List getSubItems(ItemStack stack) { + + List list = new ArrayList(); + stack.getItem().getSubItems(stack.getItem(), stack.getItem().getCreativeTab(), list); + for(ItemStack sta : list) { + sta.stackSize = stack.stackSize; + } + return list; + } + + @Override + public float getImpactDust(World world) { + return ImpactWorldHandler.getDustForClient(world); + } + + @Override + public float getImpactFire(World world) { + return ImpactWorldHandler.getFireForClient(world); + } + + @Override + public boolean getImpact(World world) { + return ImpactWorldHandler.getImpactForClient(world); + } + + @Override + public void playSoundClient(double x, double y, double z, String sound, float volume, float pitch) { + Minecraft.getMinecraft().getSoundHandler().playSound(new PositionedSoundRecord(new ResourceLocation(sound), volume, pitch, (float) x, (float) y, (float) z)); + } + + @Override + public String getLanguageCode() { + Language lang = Minecraft.getMinecraft().getLanguageManager().getCurrentLanguage(); + return lang.getLanguageCode(); + } + + @Override + public int getStackColor(ItemStack stack, boolean amplify) { + if(stack == null) return 0x000000; + if(stack.getItem() instanceof ItemBlock) { + Block b = Block.getBlockFromItem(stack.getItem()); + return b.getMaterial().getMaterialMapColor().colorValue; + } + int color = ColorUtil.getAverageColorFromStack(stack); + if(amplify) color = ColorUtil.amplifyColor(color); + return color; + } +} diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index b279cb7a2..67b872581 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -1,19 +1,19 @@ package com.hbm.main; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.BlockEnums.DecoCabinetEnum; +import com.hbm.blocks.BlockEnums.LightstoneType; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockConcreteColoredExt.EnumConcreteType; import com.hbm.blocks.generic.BlockGenericStairs; import com.hbm.blocks.generic.BlockMultiSlab; import com.hbm.blocks.generic.BlockNTMFlower.EnumFlowerType; import com.hbm.blocks.generic.BlockPlushie.PlushieType; +import com.hbm.blocks.generic.BlockWoodStructure.EnumWoodStructure; import com.hbm.config.GeneralConfig; import com.hbm.crafting.*; import com.hbm.crafting.handlers.*; import com.hbm.inventory.OreDictManager; +import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.material.MaterialShapes; import com.hbm.inventory.material.Mats; @@ -22,8 +22,6 @@ import com.hbm.inventory.material.NTMMaterial; import static com.hbm.inventory.OreDictManager.*; import com.hbm.items.ModItems; -import com.hbm.items.ItemAmmoEnums.Ammo50BMG; -import com.hbm.items.ItemAmmoEnums.Ammo5mm; import com.hbm.items.ItemEnums.EnumLegendaryType; import com.hbm.items.ItemEnums.EnumPages; import com.hbm.items.ItemEnums.EnumPlantType; @@ -35,12 +33,12 @@ import com.hbm.items.machine.ItemCircuit.EnumCircuitType; import com.hbm.items.special.ItemCircuitStarComponent.CircuitComponentType; import com.hbm.items.special.ItemHolotapeImage.EnumHoloImage; import com.hbm.items.special.ItemPlasticScrap.ScrapType; +import com.hbm.items.tool.ItemConveyorWand.ConveyorType; import com.hbm.items.tool.ItemDrone.EnumDroneType; import com.hbm.items.tool.ItemGuideBook.BookType; -import com.hbm.util.EnchantmentUtil; - +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; -import net.minecraft.enchantment.Enchantment; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; @@ -50,16 +48,17 @@ import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.RecipeSorter; import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; -import cpw.mods.fml.common.Loader; -import cpw.mods.fml.common.registry.GameRegistry; + +import java.util.ArrayList; +import java.util.List; public class CraftingManager { - + public static void mainRegistry() { - + AddCraftingRec(); SmeltingRecipes.AddSmeltingRec(); - + MineralRecipes.register(); RodRecipes.register(); ToolRecipes.register(); @@ -67,29 +66,28 @@ public class CraftingManager { WeaponRecipes.register(); ConsumableRecipes.register(); PowderRecipes.register(); - + GameRegistry.addRecipe(new RBMKFuelCraftingHandler()); GameRegistry.addRecipe(new MKUCraftingHandler()); - GameRegistry.addRecipe(new ToolboxCraftingHandler()); GameRegistry.addRecipe(new CargoShellCraftingHandler()); GameRegistry.addRecipe(new ScrapsCraftingHandler()); - + RecipeSorter.register("hbm:rbmk", RBMKFuelCraftingHandler.class, RecipeSorter.Category.SHAPELESS, "after:minecraft:shapeless"); - RecipeSorter.register("hbm:toolbox", ToolboxCraftingHandler.class, RecipeSorter.Category.SHAPELESS, "after:minecraft:shapeless"); RecipeSorter.register("hbm:cargo", CargoShellCraftingHandler.class, RecipeSorter.Category.SHAPELESS, "after:minecraft:shapeless"); RecipeSorter.register("hbm:scraps", ScrapsCraftingHandler.class, RecipeSorter.Category.SHAPELESS, "after:minecraft:shapeless"); RecipeSorter.register("hbm:mku", MKUCraftingHandler.class, RecipeSorter.Category.SHAPED, "after:minecraft:shaped before:minecraft:shapeless"); + RecipeSorter.register("hbm:containerupgrade", ContainerUpgradeCraftingHandler.class, RecipeSorter.Category.SHAPED, "after:minecraft:shaped before:minecraft:shapeless"); } public static void AddCraftingRec() { for(Object[] array : BlockMultiSlab.recipeGen) { - addRecipeAuto(new ItemStack((Block) array[1], 6, (int) array[2]), new Object[] { "###", '#', (Block) array[0] }); + addRecipeAuto(new ItemStack((Block) array[2], 6, (int) array[3]), new Object[] { "###", '#', new ItemStack((Block) array[0], 1, (int) array[1]) }); } for(Object[] array : BlockGenericStairs.recipeGen) { addRecipeAuto(new ItemStack((Block) array[2], 4), new Object[] { "# ", "## ", "###", '#', new ItemStack((Block) array[0], 1, (int) array[1]) }); } - + addRecipeAuto(new ItemStack(ModItems.redstone_sword, 1), new Object[] { "R", "R", "S", 'R', REDSTONE.block(), 'S', KEY_STICK }); addRecipeAuto(new ItemStack(ModItems.big_sword, 1), new Object[] { "QIQ", "QIQ", "GSG", 'G', Items.gold_ingot, 'S', KEY_STICK, 'I', Items.iron_ingot, 'Q', Items.quartz}); @@ -97,9 +95,6 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.hazmat_cloth_red, 1), new Object[] { "C", "R", "C", 'C', ModItems.hazmat_cloth, 'R', REDSTONE.dust() }); addRecipeAuto(new ItemStack(ModItems.hazmat_cloth_grey, 1), new Object[] { " P ", "ICI", " L ", 'C', ModItems.hazmat_cloth_red, 'P', IRON.plate(), 'L', PB.plate(), 'I', ANY_RUBBER.ingot() }); addRecipeAuto(new ItemStack(ModItems.asbestos_cloth, 8), new Object[] { "SCS", "CPC", "SCS", 'S', Items.string, 'P', BR.dust(), 'C', Blocks.wool }); - addRecipeAuto(Mats.MAT_TUNGSTEN.make(ModItems.bolt, 16), new Object[] { "D", "D", 'D', W.ingot()}); - addRecipeAuto(Mats.MAT_STEEL.make(ModItems.bolt, 16), new Object[] { "D", "D", 'D', STEEL.ingot()}); - addRecipeAuto(Mats.MAT_DURA.make(ModItems.bolt, 16), new Object[] { "D", "D", 'D', DURA.ingot()}); addRecipeAuto(new ItemStack(ModItems.bolt_spike, 2), new Object[] { "BB", "B ", "B ", 'B', STEEL.bolt()}); addRecipeAuto(new ItemStack(ModItems.pipes_steel, 1), new Object[] { "B", "B", "B", 'B', STEEL.block() }); addRecipeAuto(new ItemStack(ModItems.plate_polymer, 8), new Object[] { "DD", 'D', ANY_PLASTIC.ingot() }); @@ -128,12 +123,12 @@ public class CraftingManager { addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP_QUANTUM), new Object[] { "HHH", "SIS", "WWW", 'H', ANY_HARDPLASTIC.ingot(), 'S', BSCCO.wireDense(), 'I', ModItems.pellet_charged, 'W', GOLD.wireFine() }); addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CONTROLLER_CHASSIS), new Object[] { "PPP", "CBB", "PPP", 'P', ANY_PLASTIC.ingot(), 'C', ModItems.crt_display, 'B', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.PCB) }); addRecipeAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ATOMIC_CLOCK), new Object[] { "ICI", "CSC", "ICI", 'I', ModItems.plate_polymer, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), 'S', SR.dust() }); - + addRecipeAuto(new ItemStack(ModItems.crt_display, 4), new Object[] { " A ", "SGS", " T ", 'A', AL.dust(), 'S', STEEL.plate(), 'G', KEY_ANYPANE, 'T', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE) }); - + addRecipeAuto(new ItemStack(ModItems.cell_empty, 6), new Object[] { " S ", "G G", " S ", 'S', STEEL.plate(), 'G', KEY_ANYPANE }); addRecipeAuto(new ItemStack(ModItems.cell_deuterium, 8), new Object[] { "DDD", "DTD", "DDD", 'D', ModItems.cell_empty, 'T', ModItems.mike_deut }); - addRecipeAuto(new ItemStack(ModItems.particle_empty, 2), new Object[] { "STS", "G G", "STS", 'S', STEEL.plate(), 'T', W.ingot(), 'G', KEY_ANYPANE }); + addRecipeAuto(new ItemStack(ModItems.particle_empty, 2), new Object[] { "STS", "G G", "STS", 'S', PB.plateCast(), 'T', ModItems.coil_gold, 'G', KEY_ANYPANE }); addShapelessAuto(new ItemStack(ModItems.particle_copper, 1), new Object[] { ModItems.particle_empty, CU.dust(), ModItems.pellet_charged }); addShapelessAuto(new ItemStack(ModItems.particle_lead, 1), new Object[] { ModItems.particle_empty, PB.dust(), ModItems.pellet_charged }); addShapelessAuto(new ItemStack(ModItems.cell_antimatter, 1), new Object[] { ModItems.particle_aproton, ModItems.particle_aelectron, ModItems.cell_empty }); @@ -214,42 +209,31 @@ public class CraftingManager { addShapelessAuto(new ItemStack(Items.string, 3), new Object[] { DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.WEED) }); addRecipeAuto(new ItemStack(Items.paper, 3), new Object[] { "SSS", 'S', ModItems.powder_sawdust }); - ItemStack infinity = new ItemStack(Items.enchanted_book); - EnchantmentUtil.addEnchantment(infinity, Enchantment.infinity, 1); - addRecipeAuto(infinity, new Object[] { "SBS", "BDB", "SBS", 'S', ModItems.ammo_50bmg.stackFromEnum(Ammo50BMG.STAR), 'B', ModItems.ammo_5mm.stackFromEnum(Ammo5mm.STAR), 'D', ModItems.powder_magic }); - ItemStack unbreaking = new ItemStack(Items.enchanted_book); - EnchantmentUtil.addEnchantment(unbreaking, Enchantment.unbreaking, 3); - addRecipeAuto(unbreaking, new Object[] { "SBS", "BDB", "SBS", 'S', BIGMT.ingot(), 'B', ModItems.plate_armor_lunar, 'D', ModItems.powder_magic }); - ItemStack thorns = new ItemStack(Items.enchanted_book); - EnchantmentUtil.addEnchantment(thorns, Enchantment.thorns, 3); - addRecipeAuto(thorns, new Object[] { "SBS", "BDB", "SBS", 'S', ModBlocks.barbed_wire, 'B', ModBlocks.spikes, 'D', ModItems.powder_magic }); - addRecipeAuto(new ItemStack(ModItems.wrench, 1), new Object[] { " S ", " IS", "I ", 'S', STEEL.ingot(), 'I', IRON.ingot() }); addRecipeAuto(new ItemStack(ModItems.wrench_flipped, 1), new Object[] { "S", "D", "W", 'S', Items.iron_sword, 'D', ModItems.ducttape, 'W', ModItems.wrench }); addRecipeAuto(new ItemStack(ModItems.memespoon, 1), new Object[] { "CGC", "PSP", "IAI", 'C', ModItems.powder_yellowcake, 'G', TH232.block(), 'P', ModItems.photo_panel, 'S', ModItems.steel_shovel, 'I', ModItems.plate_polymer, 'A', "ingotAustralium" }); addShapelessAuto(new ItemStack(ModItems.cbt_device, 1), new Object[] { STEEL.bolt(), ModItems.wrench }); addShapelessAuto(new ItemStack(ModItems.toothpicks, 3), new Object[] { KEY_STICK, KEY_STICK, KEY_STICK }); - addRecipeAuto(new ItemStack(ModItems.ducttape, 6), new Object[] { "FSF", "SPS", "FSF", 'F', Items.string, 'S', KEY_SLIME, 'P', Items.paper }); + addRecipeAuto(new ItemStack(ModItems.ducttape, 4), new Object[] { "F", "P", "S", 'F', Items.string, 'S', KEY_SLIME, 'P', Items.paper }); addRecipeAuto(new ItemStack(ModBlocks.radio_torch_sender, 4), new Object[] { "G", "R", "I", 'G', "dustGlowstone", 'R', Blocks.redstone_torch, 'I', NETHERQUARTZ.gem() }); addRecipeAuto(new ItemStack(ModBlocks.radio_torch_receiver, 4), new Object[] { "G", "R", "I", 'G', "dustGlowstone", 'R', Blocks.redstone_torch, 'I', IRON.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.radio_torch_logic, 4), new Object[] { "G", "R", "I", 'G', "dustGlowstone", 'R', Blocks.redstone_torch, 'I', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP) }); addRecipeAuto(new ItemStack(ModBlocks.radio_torch_counter, 4), new Object[] { "G", "R", "I", 'G', "dustGlowstone", 'R', Blocks.redstone_torch, 'I', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE) }); + addRecipeAuto(new ItemStack(ModBlocks.radio_torch_reader, 4), new Object[] { " G ", "IRI", 'G', "dustGlowstone", 'R', Blocks.redstone_torch, 'I', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE) }); + addRecipeAuto(new ItemStack(ModBlocks.radio_torch_controller, 4), new Object[] { " G ", "IRI", 'G', "dustGlowstone", 'R', Blocks.redstone_torch, 'I', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP) }); addRecipeAuto(new ItemStack(ModBlocks.radio_telex, 2), new Object[] { "SCR", "W#W", "WWW", 'S', ModBlocks.radio_torch_sender, 'C', ModItems.crt_display, 'R', ModBlocks.radio_torch_receiver, 'W', KEY_PLANKS, '#', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ANALOG) }); - - addRecipeAuto(new ItemStack(ModBlocks.conveyor, 16), new Object[] { "LLL", "I I", "LLL", 'L', Items.leather, 'I', IRON.ingot() }); - addRecipeAuto(new ItemStack(ModBlocks.conveyor, 16), new Object[] { "RSR", "I I", "RSR", 'I', IRON.ingot(), 'R', DictFrame.fromOne(ModItems.plant_item, EnumPlantType.ROPE), 'S', IRON.plate() }); - addRecipeAuto(new ItemStack(ModBlocks.conveyor, 64), new Object[] { "LLL", "I I", "LLL", 'L', ANY_RUBBER.ingot(), 'I', IRON.ingot() }); - addRecipeAuto(new ItemStack(ModBlocks.conveyor_express, 8), new Object[] { "CCC", "CLC", "CCC", 'C', ModBlocks.conveyor, 'L', Fluids.LUBRICANT.getDict(1_000) }); - addRecipeAuto(new ItemStack(ModBlocks.conveyor_double, 3), new Object[] { "CPC", "CPC", "CPC", 'C', ModBlocks.conveyor, 'P', IRON.plate() }); - addRecipeAuto(new ItemStack(ModBlocks.conveyor_triple, 3), new Object[] { "CPC", "CPC", "CPC", 'C', ModBlocks.conveyor_double, 'P', STEEL.plate() }); - addRecipeAuto(new ItemStack(ModBlocks.conveyor_chute, 3), new Object[] { "IGI", "IGI", "ICI" , 'I', IRON.ingot(), 'G', ModBlocks.steel_grate, 'C', ModBlocks.conveyor }); - addRecipeAuto(new ItemStack(ModBlocks.conveyor_lift, 3), new Object[] { "IGI", "IGI", "ICI" , 'I', IRON.ingot(), 'G', ModBlocks.chain, 'C', ModBlocks.conveyor }); + + addRecipeAuto(DictFrame.fromOne(ModItems.conveyor_wand, ConveyorType.REGULAR, 16), new Object[] { "LLL", "I I", "LLL", 'L', Items.leather, 'I', IRON.ingot() }); + addRecipeAuto(DictFrame.fromOne(ModItems.conveyor_wand, ConveyorType.REGULAR, 16), new Object[] { "RSR", "I I", "RSR", 'I', IRON.ingot(), 'R', DictFrame.fromOne(ModItems.plant_item, EnumPlantType.ROPE), 'S', IRON.plate() }); + addRecipeAuto(DictFrame.fromOne(ModItems.conveyor_wand, ConveyorType.REGULAR, 64), new Object[] { "LLL", "I I", "LLL", 'L', ANY_RUBBER.ingot(), 'I', IRON.ingot() }); + addRecipeAuto(DictFrame.fromOne(ModItems.conveyor_wand, ConveyorType.EXPRESS, 8), new Object[] { "CCC", "CLC", "CCC", 'C', DictFrame.fromOne(ModItems.conveyor_wand, ConveyorType.REGULAR), 'L', Fluids.LUBRICANT.getDict(1_000) }); + addRecipeAuto(DictFrame.fromOne(ModItems.conveyor_wand, ConveyorType.DOUBLE), new Object[] { "CPC", 'C', DictFrame.fromOne(ModItems.conveyor_wand, ConveyorType.REGULAR), 'P', IRON.plate() }); + addRecipeAuto(DictFrame.fromOne(ModItems.conveyor_wand, ConveyorType.TRIPLE), new Object[] { "DPC", 'C', DictFrame.fromOne(ModItems.conveyor_wand, ConveyorType.REGULAR), 'D', DictFrame.fromOne(ModItems.conveyor_wand, ConveyorType.DOUBLE), 'P', STEEL.plate() }); //addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 1), new Object[] { "T T", "PHP", "TFT", 'T', W.ingot(), 'P', ModItems.board_copper, 'H', Blocks.hopper, 'F', Blocks.furnace }); addRecipeAuto(new ItemStack(ModBlocks.machine_difurnace_extension, 1), new Object[] { " C ", "BGB", "BGB", 'C', CU.plate(), 'B', ModItems.ingot_firebrick, 'G', ModBlocks.steel_grate }); - addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off), 1), new Object[] { "SSS", "LFL", "CCC", 'S', STEEL.plate(), 'C', CU.plateCast(), 'L', PB.plate(), 'F', Item.getItemFromBlock(Blocks.furnace) }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off), 1), new Object[] { "BBB", "WFW", "RRR", 'B', BE.ingot(), 'R', ModItems.coil_tungsten, 'W', CU.plateCast(), 'F', Item.getItemFromBlock(Blocks.furnace) }); addRecipeAuto(new ItemStack(ModBlocks.red_wire_coated, 16), new Object[] { "WRW", "RIR", "WRW", 'W', ModItems.plate_polymer, 'I', MINGRADE.ingot(), 'R', MINGRADE.wireFine() }); addRecipeAuto(new ItemStack(ModBlocks.red_cable_paintable, 16), new Object[] { "WRW", "RIR", "WRW", 'W', STEEL.plate(), 'I', MINGRADE.ingot(), 'R', MINGRADE.wireFine() }); @@ -282,17 +266,22 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.crate_template, 1), new Object[] { "IPI", "P P", "IPI", 'I', IRON.ingot(), 'P', Items.paper }); addRecipeAuto(new ItemStack(ModBlocks.crate_iron, 1), new Object[] { "PPP", "I I", "III", 'P', IRON.plate(), 'I', IRON.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.crate_steel, 1), new Object[] { "PPP", "I I", "III", 'P', STEEL.plate(), 'I', STEEL.ingot() }); - addRecipeAuto(new ItemStack(ModBlocks.crate_desh, 1), new Object[] { " D ", "DSD", " D ", 'D', ModItems.plate_desh, 'S', ModBlocks.crate_steel }); - addRecipeAuto(new ItemStack(ModBlocks.crate_tungsten, 1), new Object[] { "BPB", "PCP", "BPB", 'B', W.block(), 'P', CU.plateCast(), 'C', ModBlocks.crate_steel }); - addRecipeAuto(new ItemStack(ModBlocks.safe, 1), new Object[] { "LAL", "ACA", "LAL", 'L', PB.plate(), 'A', ALLOY.plate(), 'C', ModBlocks.crate_steel }); - addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 0), new Object[] { "ICI", "CLC", "ICI", 'I', TI.ingot(), 'C', ModBlocks.crate_steel, 'L', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE) }); - addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 1), new Object[] { "PCP", "PMP", "PPP", 'P', DESH.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), 'M', new ItemStack(ModBlocks.mass_storage, 1, 0) }); - addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 2), new Object[] { "PCP", "PMP", "PPP", 'P', ANY_RESISTANTALLOY.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'M', new ItemStack(ModBlocks.mass_storage, 1, 1) }); + + GameRegistry.addRecipe(new ContainerUpgradeCraftingHandler(new ItemStack(ModBlocks.crate_desh, 1), new Object[] { " D ", "DSD", " D ", 'D', ModItems.plate_desh, 'S', ModBlocks.crate_steel })); + GameRegistry.addRecipe(new ContainerUpgradeCraftingHandler(new ItemStack(ModBlocks.crate_tungsten, 1), new Object[] { "BPB", "PCP", "BPB", 'B', W.block(), 'P', CU.plateCast(), 'C', ModBlocks.crate_steel })); + // Note: voids the last few slots when placed, because a safe's inventory is smaller than a crate's one + GameRegistry.addRecipe(new ContainerUpgradeCraftingHandler(new ItemStack(ModBlocks.safe, 1), new Object[] { "LAL", "ACA", "LAL", 'L', PB.plate(), 'A', ALLOY.plate(), 'C', ModBlocks.crate_steel })); + // Note: doesn't preserve storage because a crate's contents are different items, but a mass storage's is just one + addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 0), new Object[] { " L ", "ICI", " I ", 'I', TI.ingot(), 'C', ModBlocks.crate_steel, 'L', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE) }); + GameRegistry.addRecipe(new ContainerUpgradeCraftingHandler(new ItemStack(ModBlocks.mass_storage, 1, 1), new Object[] { " C ", "PMP", " P ", 'P', DESH.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), 'M', new ItemStack(ModBlocks.mass_storage, 1, 0) })); + GameRegistry.addRecipe(new ContainerUpgradeCraftingHandler(new ItemStack(ModBlocks.mass_storage, 1, 2), new Object[] { " C ", "PMP", " P ", 'P', ANY_RESISTANTALLOY.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'M', new ItemStack(ModBlocks.mass_storage, 1, 1) })); addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 3), new Object[] { "PPP", "PIP", "PPP", 'P', KEY_PLANKS, 'I', IRON.plate() }); + addRecipeAuto(new ItemStack(ModBlocks.machine_autocrafter, 1), new Object[] { "SCS", "MWM", "SCS", 'S', STEEL.plate(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE), 'M', ModItems.motor, 'W', Blocks.crafting_table }); addRecipeAuto(new ItemStack(ModBlocks.machine_funnel, 1), new Object[] { "S S", "SRS", " S ", 'S', STEEL.ingot(), 'R', REDSTONE.dust() }); addRecipeAuto(new ItemStack(ModBlocks.machine_waste_drum, 1), new Object[] { "LRL", "BRB", "LRL", 'L', PB.ingot(), 'B', Blocks.iron_bars, 'R', ModItems.rod_quad_empty }); addRecipeAuto(new ItemStack(ModBlocks.machine_press, 1), new Object[] { "IRI", "IPI", "IBI", 'I', IRON.ingot(), 'R', Blocks.furnace, 'B', IRON.block(), 'P', Blocks.piston }); + addRecipeAuto(new ItemStack(ModBlocks.machine_ammo_press, 1), new Object[] { "IPI", "C C", "SSS", 'I', IRON.ingot(), 'P', Blocks.piston, 'C', CU.ingot(), 'S', Blocks.stone }); addRecipeAuto(new ItemStack(ModBlocks.machine_siren, 1), new Object[] { "SIS", "ICI", "SRS", 'S', STEEL.plate(), 'I', ANY_RUBBER.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE), 'R', REDSTONE.dust() }); addRecipeAuto(new ItemStack(ModBlocks.machine_microwave, 1), new Object[] { "III", "SGM", "IDI", 'I', ModItems.plate_polymer, 'S', STEEL.plate(), 'G', KEY_ANYPANE, 'M', ModItems.magnetron, 'D', ModItems.motor }); addRecipeAuto(new ItemStack(ModBlocks.machine_solar_boiler), new Object[] { "SHS", "DHD", "SHS", 'S', STEEL.ingot(), 'H', STEEL.shell(), 'D', KEY_BLACK }); @@ -321,11 +310,10 @@ public class CraftingManager { addRecipeAuto(DictFrame.fromOne(ModItems.arc_electrode, EnumElectrodeType.DESH), new Object[] { "C", "T", "C", 'C', DESH.ingot(), 'T', TI.ingot() }); addRecipeAuto(DictFrame.fromOne(ModItems.arc_electrode, EnumElectrodeType.DESH), new Object[] { "C", "T", "C", 'C', DESH.ingot(), 'T', W.ingot() }); addRecipeAuto(DictFrame.fromOne(ModItems.arc_electrode, EnumElectrodeType.SATURNITE), new Object[] { "C", "T", "C", 'C', BIGMT.ingot(), 'T', NB.ingot() }); - - addRecipeAuto(new ItemStack(ModItems.detonator, 1), new Object[] { " W", "SC", "CE", 'S', STEEL.plate(), 'W', MINGRADE.wireFine(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'E', STEEL.ingot() }); + + addRecipeAuto(new ItemStack(ModItems.detonator, 1), new Object[] { "C", "S", 'S', STEEL.plate(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), }); addShapelessAuto(new ItemStack(ModItems.detonator_multi, 1), new Object[] { ModItems.detonator, DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED) }); - addRecipeAuto(new ItemStack(ModItems.detonator_laser, 1), new Object[] { "RRD", "PIC", " P", 'P', STEEL.plate(), 'R', REDSTONE.dust(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'D', DIAMOND.gem(), 'I', STEEL.ingot() }); - addRecipeAuto(new ItemStack(ModItems.detonator_laser, 1), new Object[] { "RRD", "PIC", " P", 'P', STEEL.plate(), 'R', REDSTONE.dust(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'D', EMERALD.gem(), 'I', STEEL.ingot() }); + addShapelessAuto(new ItemStack(ModItems.detonator_laser, 1), new Object[] { ModItems.rangefinder, DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), RUBBER.ingot(), GOLD.wireDense() }); addShapelessAuto(new ItemStack(ModItems.detonator_deadman, 1), new Object[] { ModItems.detonator, ModItems.defuser, ModItems.ducttape }); addRecipeAuto(new ItemStack(ModItems.detonator_de, 1), new Object[] { "T", "D", "T", 'T', Blocks.tnt, 'D', ModItems.detonator_deadman }); @@ -338,16 +326,16 @@ public class CraftingManager { addShapelessAuto(new ItemStack(ModItems.fuse, 1), new Object[] { STEEL.plate(), ModItems.plate_polymer, W.wireFine() }); addShapelessAuto(new ItemStack(ModItems.overfuse, 1), new Object[] { STEEL.bolt(), NP237.dust(), I.dust(), TH232.dust(), AT.dust(), ND.dust(), CU.plateCast(), ModItems.black_hole, CS.dust() }); addShapelessAuto(new ItemStack(ModItems.overfuse, 1), new Object[] { STEEL.bolt(), ST.dust(), BR.dust(), CO.dust(), TS.dust(), NB.dust(), CU.plateCast(), ModItems.black_hole, CE.dust() }); - + addRecipeAuto(new ItemStack(ModItems.blades_steel, 1), new Object[] { " P ", "PIP", " P ", 'P', STEEL.plate(), 'I', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModItems.blades_titanium, 1), new Object[] { " P ", "PIP", " P ", 'P', TI.plate(), 'I', TI.ingot() }); addRecipeAuto(new ItemStack(ModItems.blades_advanced_alloy, 1), new Object[] { " P ", "PIP", " P ", 'P', ALLOY.plate(), 'I', ALLOY.ingot() }); - addRecipeAuto(new ItemStack(ModItems.blades_desh, 1), new Object[] { " S ", "PBP", " S ", 'S', BIGMT.plate(), 'P', ModItems.plate_desh, 'B', ModItems.blades_advanced_alloy }); //4 desh ingots still needed to do anything - + addRecipeAuto(new ItemStack(ModItems.blades_desh, 1), new Object[] { " P ", "PBP", " P ", 'P', ModItems.plate_desh, 'B', ModItems.blades_advanced_alloy }); //4 desh ingots still needed to do anything + addRecipeAuto(new ItemStack(ModItems.blades_steel, 1), new Object[] { "PIP", 'P', STEEL.plate(), 'I', new ItemStack(ModItems.blades_steel, 1, OreDictionary.WILDCARD_VALUE) }); addRecipeAuto(new ItemStack(ModItems.blades_titanium, 1), new Object[] { "PIP", 'P', TI.plate(), 'I', new ItemStack(ModItems.blades_titanium, 1, OreDictionary.WILDCARD_VALUE) }); addRecipeAuto(new ItemStack(ModItems.blades_advanced_alloy, 1), new Object[] { "PIP", 'P', ALLOY.plate(), 'I', new ItemStack(ModItems.blades_advanced_alloy, 1, OreDictionary.WILDCARD_VALUE) }); - + addRecipeAuto(new ItemStack(ModItems.laser_crystal_co2, 1), new Object[] { "QDQ", "NCN", "QDQ", 'Q', ModBlocks.glass_quartz, 'D', DESH.ingot(), 'N', NB.ingot(), 'C', new ItemStack(ModItems.fluid_tank_full, 1, Fluids.CARBONDIOXIDE.getID()) }); addRecipeAuto(new ItemStack(ModItems.laser_crystal_bismuth, 1), new Object[] {"QUQ", "BCB", "QTQ", 'Q', ModBlocks.glass_quartz, 'U', U.ingot(), 'T', TH232.ingot(), 'B', ModItems.nugget_bismuth, 'C', ModItems.crystal_rare }); addRecipeAuto(new ItemStack(ModItems.laser_crystal_cmb, 1), new Object[] {"QBQ", "CSC", "QBQ", 'Q', ModBlocks.glass_quartz, 'B', CMB.ingot(), 'C', SBD.ingot(), 'S', ModItems.cell_anti_schrabidium }); @@ -355,23 +343,15 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.laser_crystal_digamma, 1), new Object[] {"QUQ", "UEU", "QUQ", 'Q', ModBlocks.glass_quartz, 'U', ModItems.undefined, 'E', ModItems.ingot_electronium } ); Item[] bricks = new Item[] {Items.brick, Items.netherbrick}; - + for(Item brick : bricks) { addRecipeAuto(new ItemStack(ModItems.stamp_stone_flat, 1), new Object[] { "III", "SSS", 'I', brick, 'S', "stone" }); addRecipeAuto(new ItemStack(ModItems.stamp_iron_flat, 1), new Object[] { "III", "SSS", 'I', brick, 'S', IRON.ingot() }); addRecipeAuto(new ItemStack(ModItems.stamp_steel_flat, 1), new Object[] { "III", "SSS", 'I', brick, 'S', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModItems.stamp_titanium_flat, 1), new Object[] { "III", "SSS", 'I', brick, 'S', TI.ingot() }); addRecipeAuto(new ItemStack(ModItems.stamp_obsidian_flat, 1), new Object[] { "III", "SSS", 'I', brick, 'S', Blocks.obsidian }); - addRecipeAuto(new ItemStack(ModItems.stamp_desh_flat, 1), new Object[] { "BDB", "DSD", "BDB", 'B', brick, 'D', DESH.ingot(), 'S', BIGMT.ingot() }); + addRecipeAuto(new ItemStack(ModItems.stamp_desh_flat, 1), new Object[] { "BDB", "DSD", "BDB", 'B', brick, 'D', DESH.ingot(), 'S', FERRO.ingot() }); } - - addRecipeAuto(new ItemStack(ModItems.mechanism_revolver_1, 1), new Object[] { "ICI", "CAC", "ICI", 'I', IRON.plate(), 'C', CU.ingot(), 'A', AL.ingot() }); - addRecipeAuto(new ItemStack(ModItems.mechanism_revolver_2, 1), new Object[] { "ATA", "TDT", "ATA", 'A', ALLOY.plate(), 'T', W.ingot(), 'D', DURA.ingot() }); - addRecipeAuto(new ItemStack(ModItems.mechanism_rifle_1, 1), new Object[] { "ICI", "MAM", "ICI", 'I', IRON.plate(), 'C', CU.ingot(), 'A', AL.ingot(), 'M', ModItems.mechanism_revolver_1 }); - addRecipeAuto(new ItemStack(ModItems.mechanism_rifle_2, 1), new Object[] { "ATA", "MDM", "ATA", 'A', ALLOY.plate(), 'T', W.ingot(), 'D', DURA.ingot(), 'M', ModItems.mechanism_revolver_2 }); - addRecipeAuto(new ItemStack(ModItems.mechanism_launcher_1, 1), new Object[] { "TTT", "SSS", "BBI", 'T', TI.plate(), 'S', STEEL.ingot(), 'B', W.bolt(), 'I', MINGRADE.ingot() }); - addRecipeAuto(new ItemStack(ModItems.mechanism_launcher_2, 1), new Object[] { "TTT", "SSS", "BBI", 'T', ALLOY.plate(), 'S', ANY_PLASTIC.ingot(), 'B', W.bolt(), 'I', DESH.ingot() }); - addRecipeAuto(new ItemStack(ModItems.mechanism_special, 1), new Object[] { "PCI", "ISS", "PCI", 'P', ModItems.plate_desh, 'C', ModItems.coil_advanced_alloy, 'I', STAR.ingot(), 'S', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED) }); addRecipeAuto(new ItemStack(ModBlocks.watz_pump, 1), new Object[] { "MPM", "PCP", "PSP", 'M', ModItems.motor_desh, 'P', ANY_RESISTANTALLOY.plateCast(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BISMOID), 'S', ModItems.pipes_steel }); @@ -401,16 +381,16 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.tile_lab_broken, 6), new Object[] { " C " , "C C", " C ", 'C', ModBlocks.tile_lab_cracked }); addShapelessAuto(new ItemStack(ModBlocks.asphalt_light, 1), new Object[] { ModBlocks.asphalt, Items.glowstone_dust }); addShapelessAuto(new ItemStack(ModBlocks.asphalt, 1), new Object[] { ModBlocks.asphalt_light }); - + String[] dyes = { "Black", "Red", "Green", "Brown", "Blue", "Purple", "Cyan", "LightGray", "Gray", "Pink", "Lime", "Yellow", "LightBlue", "Magenta", "Orange", "White" }; - + for(int i = 0; i < 16; i++) { String dyeName = "dye" + dyes[15 - i]; addRecipeAuto(new ItemStack(ModBlocks.concrete_colored, 8, i), new Object[] { "CCC", "CDC", "CCC", 'C', ModBlocks.concrete_smooth, 'D', dyeName }); } addShapelessAuto(new ItemStack(ModBlocks.concrete_smooth, 1), new Object[] { new ItemStack(ModBlocks.concrete_colored, 1, OreDictionary.WILDCARD_VALUE) }); addShapelessAuto(new ItemStack(ModBlocks.concrete_smooth, 1), new Object[] { new ItemStack(ModBlocks.concrete_colored_ext, 1, OreDictionary.WILDCARD_VALUE) }); - + addRecipeAuto(new ItemStack(ModBlocks.concrete_colored_ext, 6, EnumConcreteType.MACHINE.ordinal()), new Object[] { "CCC", "1 2", "CCC", 'C', ModBlocks.concrete_smooth, '1', KEY_BROWN, '2', KEY_GRAY }); addRecipeAuto(new ItemStack(ModBlocks.concrete_colored_ext, 6, EnumConcreteType.MACHINE_STRIPE.ordinal()), new Object[] { "CCC", "1 2", "CCC", 'C', ModBlocks.concrete_smooth, '1', KEY_BROWN, '2', KEY_BLACK }); addRecipeAuto(new ItemStack(ModBlocks.concrete_colored_ext, 6, EnumConcreteType.INDIGO.ordinal()), new Object[] { "CCC", "1 2", "CCC", 'C', ModBlocks.concrete_smooth, '1', KEY_BLUE, '2', KEY_PURPLE }); @@ -430,7 +410,12 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.basalt_polished, 4), new Object[] { "CC", "CC", 'C', ModBlocks.basalt_smooth }); addRecipeAuto(new ItemStack(ModBlocks.basalt_brick, 4), new Object[] { "CC", "CC", 'C', ModBlocks.basalt_polished }); addRecipeAuto(new ItemStack(ModBlocks.basalt_tiles, 4), new Object[] { "CC", "CC", 'C', ModBlocks.basalt_brick }); - + + addShapelessAuto(new ItemStack(ModBlocks.lightstone, 4), new Object[] { Blocks.stone, Blocks.stone, Blocks.stone, ModItems.powder_limestone }); + addRecipeAuto(new ItemStack(ModBlocks.lightstone, 4, LightstoneType.TILE.ordinal()), new Object[] { "CC", "CC", 'C', new ItemStack(ModBlocks.lightstone, 1, 0) }); + addRecipeAuto(new ItemStack(ModBlocks.lightstone, 4, LightstoneType.BRICKS.ordinal()), new Object[] { "CC", "CC", 'C', new ItemStack(ModBlocks.lightstone, 1, LightstoneType.TILE.ordinal()) }); + addShapelessAuto(new ItemStack(ModBlocks.lightstone, 1, LightstoneType.BRICKS_CHISELED.ordinal()), new Object[] { new ItemStack(ModBlocks.lightstone, 1, LightstoneType.BRICKS.ordinal()) }); + addShapelessAuto(new ItemStack(ModBlocks.lightstone, 1, LightstoneType.CHISELED.ordinal()), new Object[] { ModBlocks.lightstone }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_brick), 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', ModBlocks.brick_concrete }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_compound), 4), new Object[] { "FBF", "BTB", "FBF", 'F', STEEL.bolt(), 'B', ModBlocks.reinforced_brick, 'T', ANY_TAR.any() }); @@ -448,7 +433,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.spotlight_fluoro, 8), new Object[] { "G", "M", "A", 'G', KEY_ANYPANE, 'M', ModItems.ingot_mercury, 'A', ModItems.plate_aluminium }); addRecipeAuto(new ItemStack(ModBlocks.spotlight_halogen, 8), new Object[] { "G", "B", "S", 'G', KEY_ANYPANE, 'B', ModItems.powder_bromine, 'S', STEEL.plate() }); addRecipeAuto(new ItemStack(ModBlocks.floodlight, 2), new Object[] { "CSC", "TST", "G G", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CAPACITOR), 'S', STEEL.plate(), 'T', ModItems.coil_tungsten, 'G', KEY_ANYPANE }); - + addRecipeAuto(new ItemStack(ModBlocks.barbed_wire, 16), new Object[] { "AIA", "I I", "AIA", 'A', STEEL.wireFine(), 'I', IRON.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.barbed_wire_fire, 8), new Object[] { "BBB", "BIB", "BBB", 'B', ModBlocks.barbed_wire, 'I', P_RED.dust() }); addRecipeAuto(new ItemStack(ModBlocks.barbed_wire_poison, 8), new Object[] { "BBB", "BIB", "BBB", 'B', ModBlocks.barbed_wire, 'I', ModItems.powder_poison }); @@ -456,6 +441,8 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.barbed_wire_wither, 8), new Object[] { "BBB", "BIB", "BBB", 'B', ModBlocks.barbed_wire, 'I', new ItemStack(Items.skull, 1, 1) }); addRecipeAuto(new ItemStack(ModBlocks.barbed_wire_ultradeath, 4), new Object[] { "BCB", "CIC", "BCB", 'B', ModBlocks.barbed_wire, 'C', ModItems.powder_yellowcake, 'I', ModItems.nuclear_waste }); + addShapelessAuto(new ItemStack(ModBlocks.sandbags, 4), new Object[] { ModItems.plate_polymer, KEY_SAND, KEY_SAND, KEY_SAND }); + addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.tape_recorder), 4), new Object[] { "TST", "SSS", 'T', W.ingot(), 'S', STEEL.ingot() }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_poles), 16), new Object[] { "S S", "SSS", "S S", 'S', STEEL.ingot() }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.pole_top), 1), new Object[] { "T T", "TRT", "BBB", 'T', W.ingot(), 'B', BE.ingot(), 'R', MINGRADE.ingot() }); @@ -470,28 +457,22 @@ public class CraftingManager { addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_grate), 4), new Object[] { "SS", "SS", 'S', ModBlocks.steel_beam }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_grate_wide), 4), new Object[] { "SS", 'S', ModBlocks.steel_grate }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_grate), 1), new Object[] { "SS", 'S', ModBlocks.steel_grate_wide }); - addRecipeAuto(new ItemStack(ModBlocks.steel_scaffold, 8, 0), new Object[] { "SSS", "SDS", "SSS", 'S', ModBlocks.steel_scaffold, 'D', "dyeGray" }); addRecipeAuto(new ItemStack(ModBlocks.steel_scaffold, 8, 1), new Object[] { "SSS", "SDS", "SSS", 'S', ModBlocks.steel_scaffold, 'D', "dyeRed" }); addRecipeAuto(new ItemStack(ModBlocks.steel_scaffold, 8, 2), new Object[] { "SSS", "SDS", "SSS", 'S', ModBlocks.steel_scaffold, 'D', "dyeWhite" }); addRecipeAuto(new ItemStack(ModBlocks.steel_scaffold, 8, 3), new Object[] { "SSS", "SDS", "SSS", 'S', ModBlocks.steel_scaffold, 'D', "dyeYellow" }); - + + addRecipeAuto(new ItemStack(ModBlocks.wood_barrier, 8), new Object[] { "SFS", "SFS", 'S', KEY_SLAB, 'F', Blocks.fence }); + addRecipeAuto(DictFrame.fromOne(ModBlocks.wood_structure, EnumWoodStructure.ROOF, 16), new Object[] { "SSS", "F F", 'S', KEY_SLAB, 'F', Blocks.fence }); + addRecipeAuto(DictFrame.fromOne(ModBlocks.wood_structure, EnumWoodStructure.CEILING, 16), new Object[] { "F F", "SSS", 'S', KEY_SLAB, 'F', Blocks.fence }); + addRecipeAuto(DictFrame.fromOne(ModBlocks.wood_structure, EnumWoodStructure.SCAFFOLD, 4), new Object[] { "SSS", "F F", "F F", 'S', KEY_SLAB, 'F', Blocks.fence }); + reg2(); } - + public static void reg2() { - addRecipeAuto(new ItemStack(ModItems.stamp_357, 1), new Object[] { "RSR", "III", " C ", 'R', REDSTONE.dust(), 'S', ModItems.stamp_iron_flat, 'I', ModItems.plate_polymer, 'C', ModItems.casing_357 }); - addRecipeAuto(new ItemStack(ModItems.stamp_44, 1), new Object[] { "RSR", "III", " C ", 'R', REDSTONE.dust(), 'S', ModItems.stamp_iron_flat, 'I', ModItems.plate_polymer, 'C', ModItems.casing_44 }); - addRecipeAuto(new ItemStack(ModItems.stamp_9, 1), new Object[] { "RSR", "III", " C ", 'R', REDSTONE.dust(), 'S', ModItems.stamp_iron_flat, 'I', ModItems.plate_polymer, 'C', ModItems.casing_9 }); - addRecipeAuto(new ItemStack(ModItems.stamp_50, 1), new Object[] { "RSR", "III", " C ", 'R', REDSTONE.dust(), 'S', ModItems.stamp_iron_flat, 'I', ModItems.plate_polymer, 'C', ModItems.casing_50 }); - - addRecipeAuto(new ItemStack(ModItems.stamp_desh_357, 1), new Object[] { "RSR", "III", " C ", 'R', ModItems.ingot_dura_steel, 'S', ModItems.stamp_desh_flat, 'I', ModItems.ingot_saturnite, 'C', ModItems.casing_357 }); - addRecipeAuto(new ItemStack(ModItems.stamp_desh_44, 1), new Object[] { "RSR", "III", " C ", 'R', ModItems.ingot_dura_steel, 'S', ModItems.stamp_desh_flat, 'I', ModItems.ingot_saturnite, 'C', ModItems.casing_44 }); - addRecipeAuto(new ItemStack(ModItems.stamp_desh_9, 1), new Object[] { "RSR", "III", " C ", 'R', ModItems.ingot_dura_steel, 'S', ModItems.stamp_desh_flat, 'I', ModItems.ingot_saturnite, 'C', ModItems.casing_9 }); - addRecipeAuto(new ItemStack(ModItems.stamp_desh_50, 1), new Object[] { "RSR", "III", " C ", 'R', ModItems.ingot_dura_steel, 'S', ModItems.stamp_desh_flat, 'I', ModItems.ingot_saturnite, 'C', ModItems.casing_50 }); - addRecipeAuto(new ItemStack(ModBlocks.sat_dock, 1), new Object[] { "SSS", "PCP", 'S', STEEL.ingot(), 'P', ANY_PLASTIC.ingot(), 'C', ModBlocks.crate_iron }); addRecipeAuto(new ItemStack(ModBlocks.book_guide, 1), new Object[] { "IBI", "LBL", "IBI", 'B', Items.book, 'I', KEY_BLACK, 'L', KEY_BLUE }); @@ -500,7 +481,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.rail_highspeed, 16), new Object[] { "S S", "SIS", "S S", 'S', STEEL.ingot(), 'I', IRON.plate() }); addRecipeAuto(new ItemStack(ModBlocks.rail_booster, 6), new Object[] { "S S", "CIC", "SRS", 'S', STEEL.ingot(), 'I', IRON.plate(), 'R', MINGRADE.ingot(), 'C', ModItems.coil_copper }); - addRecipeAuto(new ItemStack(ModBlocks.rail_large_straight, 4), new Object[] { "B B", "SSS", "W W", 'B', ModItems.bolt_spike, 'S', ModBlocks.steel_beam, 'W', KEY_SLAB }); + /*addRecipeAuto(new ItemStack(ModBlocks.rail_large_straight, 4), new Object[] { "B B", "SSS", "W W", 'B', ModItems.bolt_spike, 'S', ModBlocks.steel_beam, 'W', KEY_SLAB }); addShapelessAuto(new ItemStack(ModBlocks.rail_large_straight, 1), new Object[] { ModBlocks.rail_large_straight_short, ModBlocks.rail_large_straight_short, ModBlocks.rail_large_straight_short, ModBlocks.rail_large_straight_short, ModBlocks.rail_large_straight_short }); addShapelessAuto(new ItemStack(ModBlocks.rail_large_straight_short, 5), new Object[] { ModBlocks.rail_large_straight }); addRecipeAuto(new ItemStack(ModBlocks.rail_large_buffer, 1), new Object[] { " S", "RS", 'R', ModBlocks.rail_large_straight, 'S', STEEL.ingot() }); @@ -510,7 +491,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.rail_large_ramp, 1), new Object[] { " R ", "SSS", 'R', ModBlocks.rail_large_straight, 'S', KEY_SLAB }); addRecipeAuto(new ItemStack(ModBlocks.rail_large_switch, 1), new Object[] { "R R", " RR", " R", 'R', ModBlocks.rail_large_straight }); addShapelessAuto(new ItemStack(ModBlocks.rail_large_switch), new Object[] { ModBlocks.rail_large_switch_flipped }); - addShapelessAuto(new ItemStack(ModBlocks.rail_large_switch_flipped), new Object[] { ModBlocks.rail_large_switch }); + addShapelessAuto(new ItemStack(ModBlocks.rail_large_switch_flipped), new Object[] { ModBlocks.rail_large_switch });*/ addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.bomb_multi), 1), new Object[] { "AAD", "CHF", "AAD", 'A', AL.wireFine(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'H', AL.shell(), 'F', ModItems.fins_quad_titanium, 'D', KEY_WHITE }); addShapelessAuto(new ItemStack(ModItems.powder_ice, 4), new Object[] { Items.snowball, KNO.dust(), REDSTONE.dust() }); @@ -521,12 +502,12 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.flame_conspiracy, 1), new Object[] { " S ", "STS", " S ", 'S', Fluids.KEROSENE.getDict(1000), 'T', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModItems.flame_politics, 1), new Object[] { " I ", "IPI", " I ", 'P', Items.paper, 'I', KEY_BLACK }); addRecipeAuto(new ItemStack(ModItems.flame_opinion, 1), new Object[] { " R ", "RPR", " R ", 'P', Items.paper, 'R', KEY_RED }); - + addRecipeAuto(new ItemStack(ModItems.solid_fuel_presto, 1), new Object[] { " P ", "SRS", " P ", 'P', Items.paper, 'S', ModItems.solid_fuel, 'R', REDSTONE.dust() }); addShapelessAuto(new ItemStack(ModItems.solid_fuel_presto_triplet, 1), new Object[] { ModItems.solid_fuel_presto, ModItems.solid_fuel_presto, ModItems.solid_fuel_presto, ModItems.ball_dynamite }); addRecipeAuto(new ItemStack(ModItems.solid_fuel_presto_bf, 1), new Object[] { " P ", "SRS", " P ", 'P', Items.paper, 'S', ModItems.solid_fuel_bf, 'R', REDSTONE.dust() }); addShapelessAuto(new ItemStack(ModItems.solid_fuel_presto_triplet_bf, 1), new Object[] { ModItems.solid_fuel_presto_bf, ModItems.solid_fuel_presto_bf, ModItems.solid_fuel_presto_bf, ModItems.ingot_c4 }); - + addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.flame_war), 1), new Object[] { "WHW", "CTP", "WOW", 'W', Item.getItemFromBlock(Blocks.planks), 'T', Item.getItemFromBlock(Blocks.tnt), 'H', ModItems.flame_pony, 'C', ModItems.flame_conspiracy, 'P', ModItems.flame_politics, 'O', ModItems.flame_opinion }); addRecipeAuto(new ItemStack(ModBlocks.det_cord, 4), new Object[] { " P ", "PGP", " P ", 'P', Items.paper, 'G', Items.gunpowder }); addRecipeAuto(new ItemStack(ModBlocks.det_charge, 1), new Object[] { "PDP", "DTD", "PDP", 'P', STEEL.plate(), 'D', ModBlocks.det_cord, 'T', ANY_PLASTICEXPLOSIVE.ingot() }); @@ -588,12 +569,12 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.battery_sc_gold), new Object[] { "NBN", "PCP", "NBN", 'N', TA.nugget(), 'B', AU198.billet(), 'P', ANY_PLASTIC.ingot(), 'C', ModItems.battery_sc_polonium }); addRecipeAuto(new ItemStack(ModItems.battery_sc_lead), new Object[] { "NBN", "PCP", "NBN", 'N', TA.nugget(), 'B', PB209.billet(), 'P', ANY_PLASTIC.ingot(), 'C', ModItems.battery_sc_gold }); addRecipeAuto(new ItemStack(ModItems.battery_sc_americium), new Object[] { "NBN", "PCP", "NBN", 'N', TA.nugget(), 'B', AM241.billet(), 'P', ANY_PLASTIC.ingot(), 'C', ModItems.battery_sc_lead }); - + addRecipeAuto(new ItemStack(ModItems.wiring_red_copper, 1), new Object[] { "PPP", "PIP", "PPP", 'P', STEEL.plate(), 'I', STEEL.ingot() }); - + addRecipeAuto(new ItemStack(ModItems.jetpack_tank, 1), new Object[] { " S ", "BKB", " S ", 'S', STEEL.plate(), 'B', STEEL.bolt(), 'K', Fluids.KEROSENE.getDict(1000) }); - addRecipeAuto(new ItemStack(ModItems.gun_kit_1, 4), new Object[] { "I ", "LB", "P ", 'I', ANY_RUBBER.ingot(), 'L', Fluids.LUBRICANT.getDict(1000), 'B', STEEL.bolt(), 'P', IRON.plate() }); - addRecipeAuto(new ItemStack(ModItems.gun_kit_2, 1), new Object[] { "III", "GLG", "PPP", 'I', ANY_RUBBER.ingot(), 'L', ModItems.ducttape, 'G', ModItems.gun_kit_1, 'P', IRON.plate() }); + addShapelessAuto(new ItemStack(ModItems.gun_kit_1, 1), new Object[] { ANY_RUBBER.ingot(), Fluids.WOODOIL.getDict(1_000), IRON.ingot() }); + addShapelessAuto(new ItemStack(ModItems.gun_kit_2, 1), new Object[] { ModItems.gun_kit_1, ModItems.wrench, ModItems.ducttape, Fluids.LUBRICANT.getDict(1_000) }); addRecipeAuto(new ItemStack(ModItems.igniter, 1), new Object[] { " W", "SC", "CE", 'S', STEEL.plate(), 'W', SA326.wireFine(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'E', EUPH.ingot() }); addRecipeAuto(new ItemStack(ModItems.watch, 1), new Object[] { "LYL", "EWE", "LYL", 'E', EUPH.ingot(), 'L', KEY_BLUE, 'W', Items.clock, 'Y', ModItems.billet_yharonite }); @@ -606,7 +587,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.padlock, 1), new Object[] { " P ", "PBP", "PPP", 'P', STEEL.plate(), 'B', STEEL.bolt() }); addRecipeAuto(new ItemStack(ModItems.padlock_reinforced, 1), new Object[] { " P ", "PBP", "PDP", 'P', ALLOY.plate(), 'D', ModItems.plate_desh, 'B', DURA.bolt() }); addRecipeAuto(new ItemStack(ModItems.padlock_unbreakable, 1), new Object[] { " P ", "PBP", "PDP", 'P', BIGMT.plate(), 'D', DIAMOND.gem(), 'B', DURA.bolt() }); - + addRecipeAuto(new ItemStack(ModItems.record_lc, 1), new Object[] { " S ", "SDS", " S ", 'S', ANY_PLASTIC.ingot(), 'D', LAPIS.dust() }); addRecipeAuto(new ItemStack(ModItems.record_ss, 1), new Object[] { " S ", "SDS", " S ", 'S', ANY_PLASTIC.ingot(), 'D', ALLOY.dust() }); addRecipeAuto(new ItemStack(ModItems.record_vc, 1), new Object[] { " S ", "SDS", " S ", 'S', ANY_PLASTIC.ingot(), 'D', CMB.dust() }); @@ -622,20 +603,25 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.fluid_duct_neo, 8, 1), new Object[] { "IAI", " ", "IAI", 'I', IRON.plate(), 'A', AL.plate() }); addRecipeAuto(new ItemStack(ModBlocks.fluid_duct_neo, 8, 2), new Object[] { "ASA", " ", "ASA", 'S', STEEL.plate(), 'A', AL.plate() }); addRecipeAuto(new ItemStack(ModBlocks.fluid_duct_paintable, 8), new Object[] { "SAS", "A A", "SAS", 'S', STEEL.ingot(), 'A', AL.plate() }); + addRecipeAuto(new ItemStack(ModBlocks.fluid_duct_paintable_block_exhaust, 8), new Object[] { "SAS", "A A", "SAS", 'S', IRON.ingot(), 'A', ModItems.plate_polymer}); addShapelessAuto(new ItemStack(ModBlocks.fluid_duct_gauge), new Object[] { ModBlocks.fluid_duct_paintable, STEEL.ingot(), DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC) }); addRecipeAuto(new ItemStack(ModBlocks.fluid_valve, 1), new Object[] { "S", "W", 'S', Blocks.lever, 'W', ModBlocks.fluid_duct_paintable }); addRecipeAuto(new ItemStack(ModBlocks.fluid_switch, 1), new Object[] { "S", "W", 'S', REDSTONE.dust(), 'W', ModBlocks.fluid_duct_paintable }); + addRecipeAuto(new ItemStack(ModBlocks.fluid_pump, 1), new Object[] { " S ", "PGP", "IMI", 'S', STEEL.shell(), 'P', STEEL.pipe(), 'G', GRAPHITE.ingot(), 'I', STEEL.ingot(), 'M', ModItems.motor }); + addRecipeAuto(new ItemStack(ModBlocks.pneumatic_tube, 8), new Object[] { "CRC", 'C', CU.plateCast(), 'R', ANY_RUBBER.ingot() }); + addRecipeAuto(new ItemStack(ModBlocks.pneumatic_tube, 24), new Object[] { "CRC", 'C', CU.plateWelded(), 'R', ANY_RUBBER.ingot() }); + addRecipeAuto(new ItemStack(ModItems.template_folder, 1), new Object[] { "LPL", "BPB", "LPL", 'P', Items.paper, 'L', "dye", 'B', "dye" }); addRecipeAuto(new ItemStack(ModItems.pellet_antimatter, 1), new Object[] { "###", "###", "###", '#', ModItems.cell_antimatter }); addRecipeAuto(new ItemStack(ModItems.fluid_tank_empty, 8), new Object[] { "121", "1G1", "121", '1', AL.plate(), '2', IRON.plate(), 'G', KEY_ANYPANE }); addRecipeAuto(new ItemStack(ModItems.fluid_tank_lead_empty, 4), new Object[] { "LUL", "LTL", "LUL", 'L', PB.plate(), 'U', U238.billet(), 'T', ModItems.fluid_tank_empty }); addRecipeAuto(new ItemStack(ModItems.fluid_barrel_empty, 2), new Object[] { "121", "1G1", "121", '1', STEEL.plate(), '2', AL.plate(), 'G', KEY_ANYPANE }); - + if(!GeneralConfig.enable528) { addRecipeAuto(new ItemStack(ModItems.inf_water, 1), new Object[] { "222", "131", "222", '1', Items.water_bucket, '2', AL.plate(), '3', DIAMOND.gem() }); addRecipeAuto(new ItemStack(ModItems.inf_water_mk2, 1), new Object[] { "BPB", "PTP", "BPB", 'B', ModItems.inf_water, 'P', ModBlocks.fluid_duct_neo, 'T', ModItems.tank_steel }); } - + //not so Temporary Crappy Recipes addRecipeAuto(new ItemStack(ModItems.piston_selenium, 1), new Object[] { "SSS", "STS", " D ", 'S', STEEL.plate(), 'T', W.ingot(), 'D', DURA.bolt() }); addShapelessAuto(new ItemStack(ModItems.catalyst_clay), new Object[] { IRON.dust(), Items.clay_ball }); @@ -672,14 +658,16 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.custom_fall, 1), new Object[] { "IIP", "CHW", "IIP", 'I', ANY_RUBBER.ingot(), 'P', BIGMT.plate(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'H', STEEL.shell(), 'W', ModItems.coil_copper }); addRecipeAuto(new ItemStack(ModBlocks.machine_controller, 1), new Object[] { "TDT", "DCD", "TDT", 'T', ANY_RESISTANTALLOY.ingot(), 'D', ModItems.crt_display, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED) }); addRecipeAuto(new ItemStack(ModItems.containment_box, 1), new Object[] { "LUL", "UCU", "LUL", 'L', PB.plate(), 'U', U238.billet(), 'C', ModBlocks.crate_steel }); + addRecipeAuto(new ItemStack(ModItems.casing_bag, 1), new Object[] { " L ", "LGL", " L ", 'L', Items.leather, 'G', GUNMETAL.plate() }); + addRecipeAuto(new ItemStack(ModItems.casing_bag, 1), new Object[] { " L ", "LGL", " L ", 'L', ANY_RUBBER.ingot(), 'G', GUNMETAL.plate() }); + addRecipeAuto(new ItemStack(ModItems.ammo_bag, 1), new Object[] { "LLL", "MGM", "LLL", 'L', Items.leather, 'G', WEAPONSTEEL.plate(), 'M', WEAPONSTEEL.mechanism() }); + addRecipeAuto(new ItemStack(ModItems.ammo_bag, 1), new Object[] { "LLL", "MGM", "LLL", 'L', ANY_RUBBER.ingot(), 'G', WEAPONSTEEL.plate(), 'M', WEAPONSTEEL.mechanism() }); addRecipeAuto(new ItemStack(ModBlocks.absorber, 1), new Object[] { "ICI", "CPC", "ICI", 'I', CU.ingot(), 'C', COAL.dust(), 'P', PB.dust() }); addRecipeAuto(new ItemStack(ModBlocks.absorber_red, 1), new Object[] { "ICI", "CPC", "ICI", 'I', TI.ingot(), 'C', COAL.dust(), 'P', ModBlocks.absorber }); addRecipeAuto(new ItemStack(ModBlocks.absorber_green, 1), new Object[] { "ICI", "CPC", "ICI", 'I', ANY_PLASTIC.ingot(), 'C', ModItems.powder_desh_mix, 'P', ModBlocks.absorber_red }); addRecipeAuto(new ItemStack(ModBlocks.absorber_pink, 1), new Object[] { "ICI", "CPC", "ICI", 'I', BIGMT.ingot(), 'C', ModItems.powder_nitan_mix, 'P', ModBlocks.absorber_green }); addRecipeAuto(new ItemStack(ModBlocks.decon, 1), new Object[] { "BGB", "SAS", "BSB", 'B', BE.ingot(), 'G', Blocks.iron_bars, 'S', STEEL.ingot(), 'A', ModBlocks.absorber }); - addRecipeAuto(new ItemStack(ModBlocks.machine_amgen, 1), new Object[] { "ITI", "TAT", "ITI", 'I', ALLOY.ingot(), 'T', ModItems.thermo_element, 'A', ModBlocks.absorber }); - addRecipeAuto(new ItemStack(ModBlocks.machine_geo, 1), new Object[] { "ITI", "PCP", "ITI", 'I', DURA.ingot(), 'T', ModItems.thermo_element, 'P', CU.plateCast(), 'C', ModBlocks.red_wire_coated }); addRecipeAuto(new ItemStack(ModBlocks.machine_minirtg, 1), new Object[] { "LLL", "PPP", "TRT", 'L', PB.plate(), 'P', PU238.billet(), 'T', ModItems.thermo_element, 'R', ModItems.rtg_unit }); addRecipeAuto(new ItemStack(ModBlocks.machine_powerrtg, 1), new Object[] { "SRS", "PTP", "SRS", 'S', STAR.ingot(), 'R', ModItems.rtg_unit, 'P', PO210.billet(), 'T', TS.dust() }); @@ -698,15 +686,15 @@ public class CraftingManager { for(int i = 1; i < Fluids.getAll().length; ++i) { addShapelessAuto(new ItemStack(ModItems.fluid_duct, 1, i), new Object[] { new ItemStack(ModBlocks.fluid_duct_neo, 1), new ItemStack(ModItems.fluid_identifier, 1, i) }); - - addShapelessAuto(new ItemStack(ModItems.fluid_duct, 8, i), new Object[] { new ItemStack(ModBlocks.fluid_duct_neo, 1), new ItemStack(ModBlocks.fluid_duct_neo, 1), - new ItemStack(ModBlocks.fluid_duct_neo, 1), new ItemStack(ModBlocks.fluid_duct_neo, 1), new ItemStack(ModBlocks.fluid_duct_neo, 1), + + addShapelessAuto(new ItemStack(ModItems.fluid_duct, 8, i), new Object[] { new ItemStack(ModBlocks.fluid_duct_neo, 1), new ItemStack(ModBlocks.fluid_duct_neo, 1), + new ItemStack(ModBlocks.fluid_duct_neo, 1), new ItemStack(ModBlocks.fluid_duct_neo, 1), new ItemStack(ModBlocks.fluid_duct_neo, 1), new ItemStack(ModBlocks.fluid_duct_neo, 1), new ItemStack(ModBlocks.fluid_duct_neo, 1), new ItemStack(ModBlocks.fluid_duct_neo, 1), new ItemStack(ModItems.fluid_identifier, 1, i) }); - + addShapelessAuto(new ItemStack(ModItems.fluid_duct, 1, i), new Object[] { new ItemStack(ModItems.fluid_duct, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ModItems.fluid_identifier, 1, i) }); - - addShapelessAuto(new ItemStack(ModItems.fluid_duct, 8, i), new Object[] { new ItemStack(ModItems.fluid_duct, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ModItems.fluid_duct, 1, OreDictionary.WILDCARD_VALUE), - new ItemStack(ModItems.fluid_duct, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ModItems.fluid_duct, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ModItems.fluid_duct, 1, OreDictionary.WILDCARD_VALUE), + + addShapelessAuto(new ItemStack(ModItems.fluid_duct, 8, i), new Object[] { new ItemStack(ModItems.fluid_duct, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ModItems.fluid_duct, 1, OreDictionary.WILDCARD_VALUE), + new ItemStack(ModItems.fluid_duct, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ModItems.fluid_duct, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ModItems.fluid_duct, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ModItems.fluid_duct, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ModItems.fluid_duct, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ModItems.fluid_duct, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ModItems.fluid_identifier, 1, i) }); } @@ -736,7 +724,7 @@ public class CraftingManager { addShapelessAuto(new ItemStack(ModBlocks.sand_boron, 8), new Object[] { "sand", "sand", "sand", "sand", "sand", "sand", "sand", "sand", B.dust() }); addShapelessAuto(new ItemStack(ModBlocks.sand_lead, 8), new Object[] { "sand", "sand", "sand", "sand", "sand", "sand", "sand", "sand", PB.dust() }); addShapelessAuto(new ItemStack(ModBlocks.sand_quartz, 1), new Object[] { "sand", "sand", NETHERQUARTZ.dust(), NETHERQUARTZ.dust() }); - + addRecipeAuto(new ItemStack(ModItems.rune_blank, 1), new Object[] { "PSP", "SDS", "PSP", 'P', ModItems.powder_magic, 'S', STAR.ingot(), 'D', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BISMOID) }); addShapelessAuto(new ItemStack(ModItems.rune_isa, 1), new Object[] { ModItems.rune_blank, ModItems.powder_spark_mix, ModItems.singularity_counter_resonant }); addShapelessAuto(new ItemStack(ModItems.rune_dagaz, 1), new Object[] { ModItems.rune_blank, ModItems.powder_spark_mix, ModItems.singularity }); @@ -745,8 +733,6 @@ public class CraftingManager { addShapelessAuto(new ItemStack(ModItems.rune_thurisaz, 1), new Object[] { ModItems.rune_blank, ModItems.powder_spark_mix, ModItems.black_hole }); addRecipeAuto(new ItemStack(ModItems.ams_lens, 1), new Object[] { "PDP", "GDG", "PDP", 'P', ModItems.plate_dineutronium, 'G', ModBlocks.reinforced_glass, 'D', Blocks.diamond_block }); addRecipeAuto(new ItemStack(ModItems.ams_catalyst_blank, 1), new Object[] { "TET", "ETE", "TET", 'T', TS.dust(), 'E', EUPH.ingot()}); - addRecipeAuto(new ItemStack(ModItems.ams_focus_limiter, 1), new Object[] { "PDP", "GDG", "PDP", 'P', BIGMT.plate(), 'G', ModBlocks.reinforced_glass, 'D', Blocks.diamond_block }); - addRecipeAuto(new ItemStack(ModItems.ams_muzzle, 1), new Object[] { "GDG", "GDG", "PGP", 'P', BIGMT.plate(), 'G', ModBlocks.reinforced_glass, 'D', Blocks.diamond_block }); addShapelessAuto(new ItemStack(ModItems.ams_catalyst_lithium, 1), new Object[] { ModItems.ams_catalyst_blank, ModItems.rune_isa, ModItems.rune_isa, ModItems.rune_jera, ModItems.rune_jera, LI.dust(), LI.dust(), LI.dust(), LI.dust() }); addShapelessAuto(new ItemStack(ModItems.ams_catalyst_beryllium, 1), new Object[] { ModItems.ams_catalyst_blank, ModItems.rune_isa, ModItems.rune_dagaz, ModItems.rune_jera, ModItems.rune_jera, BE.dust(), BE.dust(), BE.dust(), BE.dust() }); addShapelessAuto(new ItemStack(ModItems.ams_catalyst_copper, 1), new Object[] { ModItems.ams_catalyst_blank, ModItems.rune_dagaz, ModItems.rune_dagaz, ModItems.rune_jera, ModItems.rune_jera, CU.dust(), CU.dust(), CU.dust(), CU.dust() }); @@ -766,7 +752,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.dfc_emitter, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.plateWelded(), 'D', ModItems.plate_desh, 'T', ModBlocks.machine_transformer_dnt, 'X', ModItems.crystal_xen, 'L', ModItems.sat_head_laser }); addRecipeAuto(new ItemStack(ModBlocks.dfc_receiver, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.plateWelded(), 'D', ModItems.plate_desh, 'T', ModBlocks.machine_transformer_dnt, 'X', ModBlocks.block_dineutronium, 'L', STEEL.shell() }); addRecipeAuto(new ItemStack(ModBlocks.dfc_injector, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.plateWelded(), 'D', CMB.plate(), 'T', ModBlocks.machine_fluidtank, 'X', ModItems.motor, 'L', ModItems.pipes_steel }); - addRecipeAuto(new ItemStack(ModBlocks.dfc_stabilizer, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.plateWelded(), 'D', ModItems.plate_desh, 'T', ModItems.singularity_spark, 'X', ModItems.magnet_circular, 'L', ModItems.crystal_xen }); + addRecipeAuto(new ItemStack(ModBlocks.dfc_stabilizer, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.plateWelded(), 'D', ModItems.plate_desh, 'T', ModItems.singularity_spark, 'X', ModBlocks.fusion_conductor, 'L', ModItems.crystal_xen }); addRecipeAuto(new ItemStack(ModBlocks.barrel_plastic, 1), new Object[] { "IPI", "I I", "IPI", 'I', ModItems.plate_polymer, 'P', AL.plate() }); addRecipeAuto(new ItemStack(ModBlocks.barrel_iron, 1), new Object[] { "IPI", "I I", "IPI", 'I', IRON.plate(), 'P', IRON.ingot() }); addShapelessAuto(new ItemStack(ModBlocks.barrel_iron, 1), new Object[] { ModBlocks.barrel_corroded, ANY_TAR.any() }); @@ -778,7 +764,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.struct_watz_core, 1), new Object[] { "CBC", "BHB", "CBC", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'B', ANY_RESISTANTALLOY.plateCast(), 'H', ModBlocks.watz_cooler }); addShapelessAuto(new ItemStack(ModBlocks.fusion_heater), new Object[] { ModBlocks.fusion_hatch }); addShapelessAuto(new ItemStack(ModItems.energy_core), new Object[] { ModItems.fusion_core, ModItems.fuse }); - addRecipeAuto(new ItemStack(ModItems.catalytic_converter, 1), new Object[] { "PCP", "PBP", "PCP", 'P', ANY_HARDPLASTIC.ingot(), 'C', CO.dust(), 'B', BI.ingot() }); + addRecipeAuto(new ItemStack(ModItems.catalytic_converter, 1), new Object[] { "PCP", "PBP", "PCP", 'P', ANY_HARDPLASTIC.ingot(), 'C', CO.dust(), 'B', ANY_BISMOID.ingot() }); addRecipeAuto(new ItemStack(ModItems.upgrade_nullifier, 1), new Object[] { "SPS", "PUP", "SPS", 'S', STEEL.plate(), 'P', ModItems.powder_fire, 'U', ModItems.upgrade_template }); addRecipeAuto(new ItemStack(ModItems.upgrade_smelter, 1), new Object[] { "PHP", "CUC", "DTD", 'P', CU.plate(), 'H', Blocks.hopper, 'C', ModItems.coil_tungsten, 'U', ModItems.upgrade_template, 'D', ModItems.coil_copper, 'T', ModBlocks.machine_transformer }); @@ -787,7 +773,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.upgrade_crystallizer, 1), new Object[] { "PHP", "CUC", "DTD", 'P', new ItemStack(ModItems.fluid_barrel_full, 1, Fluids.PEROXIDE.getID()), 'H', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'C', ModBlocks.barrel_steel, 'U', ModItems.upgrade_centrifuge, 'D', ModItems.motor, 'T', ModBlocks.machine_transformer }); addRecipeAuto(new ItemStack(ModItems.upgrade_screm, 1), new Object[] { "SUS", "SCS", "SUS", 'S', STEEL.plate(), 'U', ModItems.upgrade_template, 'C', ModItems.crystal_xen }); addRecipeAuto(new ItemStack(ModItems.upgrade_gc_speed, 1), new Object[] {"GNG", "RUR", "GMG", 'R', RUBBER.ingot(), 'M', ModItems.motor, 'G', ModItems.coil_gold, 'N', NB.ingot(), 'U', ModItems.upgrade_template}); - + addRecipeAuto(new ItemStack(ModItems.upgrade_stack, 1, 0), new Object[] { " C ", "PUP", " C ", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE), 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC), 'U', ModItems.upgrade_template }); addRecipeAuto(new ItemStack(ModItems.upgrade_stack, 1, 1), new Object[] { " C ", "PUP", " C ", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CAPACITOR), 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_HYDRAULIC), 'U', new ItemStack(ModItems.upgrade_stack, 1, 0) }); addRecipeAuto(new ItemStack(ModItems.upgrade_stack, 1, 2), new Object[] { " C ", "PUP", " C ", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_ELECTRIC), 'U', new ItemStack(ModItems.upgrade_stack, 1, 1) }); @@ -797,44 +783,55 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.mech_key, 1), new Object[] { "MCM", "MKM", "MMM", 'M', ModItems.ingot_meteorite_forged, 'C', ModItems.coin_maskman, 'K', ModItems.key }); addRecipeAuto(new ItemStack(ModItems.spawn_ufo, 1), new Object[] { "MMM", "DCD", "MMM", 'M', ModItems.ingot_meteorite, 'D', DNT.ingot(), 'C', ModItems.coin_worm }); - - addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_alloy, 1), new Object[] { "WWW", "WCW", "WWW", 'W', ALLOY.wireFine(), 'C', ModBlocks.fusion_conductor }); + + addShapelessAuto(new ItemStack(ModItems.wire_dense, 4, Mats.MAT_GOLD.id), new Object[] { ModBlocks.hadron_coil_gold }); + addShapelessAuto(new ItemStack(ModItems.wire_dense, 4, Mats.MAT_NEODYMIUM.id), new Object[] { ModBlocks.hadron_coil_neodymium }); + addShapelessAuto(new ItemStack(ModItems.wire_dense, 4, Mats.MAT_MAGTUNG.id), new Object[] { ModBlocks.hadron_coil_magtung }); + addShapelessAuto(new ItemStack(ModItems.wire_dense, 2, Mats.MAT_SCHRABIDIUM.id), new Object[] { ModBlocks.hadron_coil_schrabidium }); + addShapelessAuto(new ItemStack(ModItems.wire_dense, 2, Mats.MAT_SCHRABIDATE.id), new Object[] { ModBlocks.hadron_coil_schrabidate }); + addShapelessAuto(new ItemStack(ModItems.wire_dense, 2, Mats.MAT_STAR.id), new Object[] { ModBlocks.hadron_coil_starmetal }); + addShapelessAuto(new ItemStack(ModItems.powder_chlorophyte, 2), new Object[] { ModBlocks.hadron_coil_chlorophyte }); + addShapelessAuto(new ItemStack(ModItems.wire_dense, 1, Mats.MAT_DNT.id), new Object[] { ModBlocks.hadron_coil_mese }); + addShapelessAuto(new ItemStack(ModItems.plate_cast, 1, Mats.MAT_STEEL.id), new Object[] { ModBlocks.hadron_plating }); + addShapelessAuto(new ItemStack(ModItems.plate_cast, 1, Mats.MAT_STEEL.id), new Object[] { ModBlocks.hadron_plating_blue }); + addShapelessAuto(new ItemStack(ModItems.plate_cast, 1, Mats.MAT_STEEL.id), new Object[] { ModBlocks.hadron_plating_black }); + addShapelessAuto(new ItemStack(ModItems.plate_cast, 1, Mats.MAT_STEEL.id), new Object[] { ModBlocks.hadron_plating_yellow }); + addShapelessAuto(new ItemStack(ModItems.plate_cast, 1, Mats.MAT_STEEL.id), new Object[] { ModBlocks.hadron_plating_striped }); + addShapelessAuto(new ItemStack(ModItems.plate_cast, 1, Mats.MAT_STEEL.id), new Object[] { ModBlocks.hadron_plating_glass }); + addShapelessAuto(new ItemStack(ModItems.plate_cast, 1, Mats.MAT_STEEL.id), new Object[] { ModBlocks.hadron_plating_voltz }); + addShapelessAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), new Object[] { ModBlocks.hadron_analysis }); + addShapelessAuto(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), new Object[] { ModBlocks.hadron_analysis_glass }); + addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_alloy, 1), new Object[] { "WW", "WW", 'W', ALLOY.wireDense() }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_gold, 1), new Object[] { "PGP", "PCP", "PGP", 'G', GOLD.dust(), 'C', ModBlocks.hadron_coil_alloy, 'P', IRON.plate() }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_gold, 1), new Object[] { "WG", "GW", 'W', ALLOY.wireDense(), 'G', GOLD.wireDense() }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_neodymium, 1), new Object[] { "G", "C", "G", 'G', ND.dust(), 'C', ModBlocks.hadron_coil_gold }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_neodymium, 1), new Object[] { "WG", "GW", 'W', ND.wireDense(), 'G', GOLD.wireDense() }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_magtung, 1), new Object[] { "WW", "WW", 'W', MAGTUNG.wireDense() }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_schrabidium, 1), new Object[] { "WWW", "WCW", "WWW", 'W', SA326.wireFine(), 'C', ModBlocks.hadron_coil_magtung }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_schrabidium, 1), new Object[] { "WS", "SW", 'W', MAGTUNG.wireDense(), 'S', SA326.wireDense() }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_schrabidate, 1), new Object[] { " S ", "SCS", " S ", 'S', SBD.dust(), 'C', ModBlocks.hadron_coil_schrabidium }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_schrabidate, 1), new Object[] { "WS", "SW", 'W', SBD.wireDense(), 'S', SA326.wireDense() }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_starmetal, 1), new Object[] { "SNS", "SCS", "SNS", 'S', STAR.ingot(), 'N', ModBlocks.hadron_coil_neodymium, 'C', ModBlocks.hadron_coil_schrabidate }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_starmetal, 1), new Object[] { "SW", "WS", 'W', SBD.wireDense(), 'S', STAR.wireDense() }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_chlorophyte, 1), new Object[] { "TCT", "TST", "TCT", 'T', ModItems.coil_tungsten, 'C', ModItems.powder_chlorophyte, 'S', ModBlocks.hadron_coil_starmetal }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_chlorophyte, 1), new Object[] { "TC", "CT", 'T', W.wireDense(), 'C', ModItems.powder_chlorophyte }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_diode, 1), new Object[] { "CIC", "ISI", "CIC", 'C', ModBlocks.hadron_coil_alloy, 'I', STEEL.ingot(), 'S', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED) }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_plating, 16), new Object[] { "CC", "CC", 'C', STEEL.plateCast()}); - addShapelessAuto(new ItemStack(ModBlocks.hadron_plating_blue, 1), new Object[] { ModBlocks.hadron_plating, KEY_BLUE }); - addShapelessAuto(new ItemStack(ModBlocks.hadron_plating_black, 1), new Object[] { ModBlocks.hadron_plating, KEY_BLACK }); - addShapelessAuto(new ItemStack(ModBlocks.hadron_plating_yellow, 1), new Object[] { ModBlocks.hadron_plating, KEY_YELLOW }); - addShapelessAuto(new ItemStack(ModBlocks.hadron_plating_striped, 1), new Object[] { ModBlocks.hadron_plating, KEY_BLACK, KEY_YELLOW }); - addShapelessAuto(new ItemStack(ModBlocks.hadron_plating_glass, 1), new Object[] { ModBlocks.hadron_plating, KEY_ANYGLASS }); - addShapelessAuto(new ItemStack(ModBlocks.hadron_plating_voltz, 1), new Object[] { ModBlocks.hadron_plating, KEY_RED }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_power, 1), new Object[] { "SFS", "FTF", "SFS", 'S', BIGMT.ingot(), 'T', ModBlocks.machine_transformer, 'F', ModItems.fuse }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_power_10m, 1), new Object[] { "HF", 'H', ModBlocks.hadron_power, 'F', ModItems.fuse }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_power_100m, 1), new Object[] { "HF", 'H', ModBlocks.hadron_power_10m, 'F', ModItems.fuse }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_power_1g, 1), new Object[] { "HF", 'H', ModBlocks.hadron_power_100m, 'F', ModItems.fuse }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_power_10g, 1), new Object[] { "HF", 'H', ModBlocks.hadron_power_1g, 'F', ModItems.fuse }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_analysis, 1), new Object[] { "IPI", "PCP", "IPI", 'I', TI.ingot(), 'P', getReflector(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED) }); - addShapelessAuto(new ItemStack(ModBlocks.hadron_analysis_glass, 1), new Object[] { ModBlocks.hadron_analysis, KEY_ANYGLASS }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_access, 1), new Object[] { "IGI", "CRC", "IPI", 'I', ModItems.plate_polymer, 'G', KEY_ANYPANE, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'R', REDSTONE.block(), 'P', ModBlocks.hadron_plating_blue }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_cooler, 1, 0), new Object[] { "PCP", "CHC", "PCP", 'P', ANY_RESISTANTALLOY.plateCast(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'H', Fluids.HELIUM4.getDict(16_000) }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_cooler, 1, 1), new Object[] { "PCP", "CHC", "PCP", 'P', GOLD.plateCast(), 'C', ModItems.motor_bismuth, 'H', new ItemStack(ModBlocks.hadron_cooler, 1, 0) }); + //addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_gold, 1), new Object[] { "WG", "GW", 'W', ALLOY.wireDense(), 'G', GOLD.wireDense() }); + //addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_neodymium, 1), new Object[] { "WG", "GW", 'W', ND.wireDense(), 'G', GOLD.wireDense() }); + //addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_magtung, 1), new Object[] { "WW", "WW", 'W', MAGTUNG.wireDense() }); + //addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_schrabidium, 1), new Object[] { "WS", "SW", 'W', MAGTUNG.wireDense(), 'S', SA326.wireDense() }); + //addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_schrabidate, 1), new Object[] { "WS", "SW", 'W', SBD.wireDense(), 'S', SA326.wireDense() }); + //addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_starmetal, 1), new Object[] { "SW", "WS", 'W', SBD.wireDense(), 'S', STAR.wireDense() }); + //addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_chlorophyte, 1), new Object[] { "TC", "CT", 'T', CU.wireDense(), 'C', ModItems.powder_chlorophyte }); + //addRecipeAuto(new ItemStack(ModBlocks.hadron_diode, 1), new Object[] { "CIC", "ISI", "CIC", 'C', ModBlocks.hadron_coil_alloy, 'I', STEEL.ingot(), 'S', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED) }); + //addRecipeAuto(new ItemStack(ModBlocks.hadron_plating, 16), new Object[] { "CC", "CC", 'C', STEEL.plateCast()}); + //addShapelessAuto(new ItemStack(ModBlocks.hadron_plating_blue, 1), new Object[] { ModBlocks.hadron_plating, KEY_BLUE }); + //addShapelessAuto(new ItemStack(ModBlocks.hadron_plating_black, 1), new Object[] { ModBlocks.hadron_plating, KEY_BLACK }); + //addShapelessAuto(new ItemStack(ModBlocks.hadron_plating_yellow, 1), new Object[] { ModBlocks.hadron_plating, KEY_YELLOW }); + //addShapelessAuto(new ItemStack(ModBlocks.hadron_plating_striped, 1), new Object[] { ModBlocks.hadron_plating, KEY_BLACK, KEY_YELLOW }); + //addShapelessAuto(new ItemStack(ModBlocks.hadron_plating_glass, 1), new Object[] { ModBlocks.hadron_plating, KEY_ANYGLASS }); + //addShapelessAuto(new ItemStack(ModBlocks.hadron_plating_voltz, 1), new Object[] { ModBlocks.hadron_plating, KEY_RED }); + //addRecipeAuto(new ItemStack(ModBlocks.hadron_power, 1), new Object[] { "SFS", "FTF", "SFS", 'S', BIGMT.ingot(), 'T', ModBlocks.machine_transformer, 'F', ModItems.fuse }); + //addRecipeAuto(new ItemStack(ModBlocks.hadron_power_10m, 1), new Object[] { "HF", 'H', ModBlocks.hadron_power, 'F', ModItems.fuse }); + //addRecipeAuto(new ItemStack(ModBlocks.hadron_power_100m, 1), new Object[] { "HF", 'H', ModBlocks.hadron_power_10m, 'F', ModItems.fuse }); + //addRecipeAuto(new ItemStack(ModBlocks.hadron_power_1g, 1), new Object[] { "HF", 'H', ModBlocks.hadron_power_100m, 'F', ModItems.fuse }); + //addRecipeAuto(new ItemStack(ModBlocks.hadron_power_10g, 1), new Object[] { "HF", 'H', ModBlocks.hadron_power_1g, 'F', ModItems.fuse }); + //addRecipeAuto(new ItemStack(ModBlocks.hadron_analysis, 1), new Object[] { "IPI", "PCP", "IPI", 'I', TI.ingot(), 'P', getReflector(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED) }); + //addShapelessAuto(new ItemStack(ModBlocks.hadron_analysis_glass, 1), new Object[] { ModBlocks.hadron_analysis, KEY_ANYGLASS }); + //addRecipeAuto(new ItemStack(ModBlocks.hadron_access, 1), new Object[] { "IGI", "CRC", "IPI", 'I', ModItems.plate_polymer, 'G', KEY_ANYPANE, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'R', REDSTONE.block(), 'P', ModBlocks.hadron_plating_blue }); + //addRecipeAuto(new ItemStack(ModBlocks.hadron_cooler, 1, 0), new Object[] { "PCP", "CHC", "PCP", 'P', ANY_RESISTANTALLOY.plateCast(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'H', Fluids.HELIUM4.getDict(16_000) }); + //addRecipeAuto(new ItemStack(ModBlocks.hadron_cooler, 1, 1), new Object[] { "PCP", "CHC", "PCP", 'P', GOLD.plateCast(), 'C', ModItems.motor_bismuth, 'H', new ItemStack(ModBlocks.hadron_cooler, 1, 0) }); addRecipeAuto(new ItemStack(ModBlocks.fireworks, 1), new Object[] { "PPP", "PPP", "WIW", 'P', Items.paper, 'W', KEY_PLANKS, 'I', IRON.ingot() }); addRecipeAuto(new ItemStack(ModItems.safety_fuse, 8), new Object[] { "SSS", "SGS", "SSS", 'S', Items.string, 'G', Items.gunpowder }); - + addRecipeAuto(new ItemStack(ModItems.rbmk_lid, 4), new Object[] { "PPP", "CCC", "PPP", 'P', STEEL.plate(), 'C', ModBlocks.concrete_asbestos }); addRecipeAuto(new ItemStack(ModItems.rbmk_lid_glass, 4), new Object[] { "LLL", "BBB", "P P", 'P', STEEL.plate(), 'L', ModBlocks.glass_lead, 'B', ModBlocks.glass_boron }); addRecipeAuto(new ItemStack(ModItems.rbmk_lid_glass, 4), new Object[] { "BBB", "LLL", "P P", 'P', STEEL.plate(), 'L', ModBlocks.glass_lead, 'B', ModBlocks.glass_boron }); @@ -885,6 +882,8 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.ladder_steel, 8), new Object[] { "LLL", "L#L", "LLL", 'L', Blocks.ladder, '#', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.ladder_tungsten, 8), new Object[] { "LLL", "L#L", "LLL", 'L', Blocks.ladder, '#', W.ingot() }); + addShapelessAuto(new ItemStack(ModBlocks.trapdoor_steel, 1), new Object[] { Blocks.trapdoor, STEEL.ingot() }); + addRecipeAuto(new ItemStack(ModBlocks.machine_storage_drum), new Object[] { "LLL", "L#L", "LLL", 'L', PB.plate(), '#', ModItems.tank_steel }); addRecipeAuto(new ItemStack(ModBlocks.deco_pipe, 6), new Object[] { "PP", 'P', STEEL.pipe() }); @@ -917,7 +916,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.deco_pipe_rim_marked, 8), new Object[] { "PPP", "PCP", "PPP", 'P', ModBlocks.deco_pipe_rim_green, 'C', KEY_GREEN }); addRecipeAuto(new ItemStack(ModBlocks.deco_pipe_quad_marked, 8), new Object[] { "PPP", "PCP", "PPP", 'P', ModBlocks.deco_pipe_quad_green, 'C', KEY_GREEN }); addRecipeAuto(new ItemStack(ModBlocks.deco_pipe_framed_marked, 8), new Object[] { "PPP", "PCP", "PPP", 'P', ModBlocks.deco_pipe_framed_green, 'C', KEY_GREEN }); - + addRecipeAuto(new ItemStack(ModBlocks.deco_emitter), new Object[] { "IDI", "DRD", "IDI", 'I', IRON.ingot(), 'D', DIAMOND.gem(), 'R', REDSTONE.block() }); addRecipeAuto(new ItemStack(Items.name_tag), new Object[] { "SB ", "BPB", " BP", 'S', Items.string, 'B', KEY_SLIME, 'P', Items.paper }); @@ -932,46 +931,49 @@ public class CraftingManager { addShapelessAuto(new ItemStack(ModItems.book_guide, 1, BookType.TEST.ordinal()), new Object[] { Items.book, ModItems.canned_conserve.stackFromEnum(EnumFoodType.JIZZ) }); addShapelessAuto(new ItemStack(ModItems.book_guide, 1, BookType.RBMK.ordinal()), new Object[] { Items.book, Items.potato }); - addShapelessAuto(new ItemStack(ModItems.book_guide, 1, BookType.HADRON.ordinal()), new Object[] { Items.book, ModItems.fuse }); addShapelessAuto(new ItemStack(ModItems.book_guide, 1, BookType.STARTER.ordinal()), new Object[] { Items.book, Items.iron_ingot }); addRecipeAuto(new ItemStack(ModBlocks.charger), new Object[] { "G", "S", "C", 'G', Items.glowstone_dust, 'S', STEEL.ingot(), 'C', ModItems.coil_copper }); addRecipeAuto(new ItemStack(ModBlocks.charger, 16), new Object[] { "G", "S", "C", 'G', Blocks.glowstone, 'S', STEEL.block(), 'C', ModItems.coil_copper_torus }); + addRecipeAuto(new ItemStack(ModBlocks.refueler), new Object[] { "SS", "HC", "SS", 'S', TI.plate(), 'H', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_HYDRAULIC), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC) }); addRecipeAuto(new ItemStack(ModBlocks.press_preheater), new Object[] { "CCC", "SLS", "TST", 'C', CU.plate(), 'S', Blocks.stone, 'L', Fluids.LAVA.getDict(1000), 'T', W.ingot() }); addRecipeAuto(new ItemStack(ModItems.fluid_identifier_multi), new Object[] { "D", "C", "P", 'D', "dye", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ANALOG), 'P', IRON.plate() }); addShapelessAuto(ItemBattery.getEmptyBattery(ModItems.anchor_remote), new Object[] { DIAMOND.gem(), ModItems.ducttape, DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC) }); addRecipeAuto(new ItemStack(ModBlocks.teleanchor), new Object[] { "ODO", "EAE", "ODO", 'O', Blocks.obsidian, 'D', DIAMOND.gem(), 'E', ModItems.powder_magic, 'A', ModItems.gem_alexandrite }); addRecipeAuto(new ItemStack(ModBlocks.field_disturber), new Object[] { "ICI", "CAC", "ICI", 'I', STAR.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BISMOID), 'A', ModItems.gem_alexandrite }); - + addShapelessAuto(new ItemStack(ModItems.holotape_image, 1, EnumHoloImage.HOLO_RESTORED.ordinal()), new Object[] { new ItemStack(ModItems.holotape_image, 1, EnumHoloImage.HOLO_DIGAMMA.ordinal()), KEY_TOOL_SCREWDRIVER, ModItems.ducttape, ModItems.armor_polish }); addShapelessAuto(new ItemStack(ModItems.holotape_damaged), new Object[] { DictFrame.fromOne(ModItems.holotape_image, EnumHoloImage.HOLO_RESTORED), ModItems.upgrade_muffler, ModItems.crt_display, ModItems.gem_alexandrite /* placeholder for amplifier */ }); addRecipeAuto(DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC, 4), new Object[] { " I ", "CPC", " I ", 'I', IRON.ingot(), 'C', CU.ingot(), 'P', IRON.plate() }); addRecipeAuto(DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_HYDRAULIC, 4), new Object[] { " I ", "CPC", " I ", 'I', STEEL.ingot(), 'C', TI.ingot(), 'P', Fluids.LUBRICANT.getDict(1000) }); addRecipeAuto(DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_ELECTRIC, 4), new Object[] { " I ", "CPC", " I ", 'I', ANY_RESISTANTALLOY.ingot(), 'C', ANY_PLASTIC.ingot(), 'P', ModItems.motor }); - + Object[] craneCasing = new Object[] { Blocks.stonebrick, 1, IRON.ingot(), 2, STEEL.ingot(), 4 }; - + for(int i = 0; i < craneCasing.length / 2; i++) { Object casing = craneCasing[i * 2]; int amount = (int) craneCasing[i * 2 + 1]; + addRecipeAuto(new ItemStack(ModBlocks.crane_inserter, amount), new Object[] { "CCC", "C C", "CBC", 'C', casing, 'B', DictFrame.fromOne(ModItems.conveyor_wand, ConveyorType.REGULAR) }); addRecipeAuto(new ItemStack(ModBlocks.crane_inserter, amount), new Object[] { "CCC", "C C", "CBC", 'C', casing, 'B', ModBlocks.conveyor }); + addRecipeAuto(new ItemStack(ModBlocks.crane_extractor, amount), new Object[] { "CCC", "CPC", "CBC", 'C', casing, 'B', DictFrame.fromOne(ModItems.conveyor_wand, ConveyorType.REGULAR), 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC) }); addRecipeAuto(new ItemStack(ModBlocks.crane_extractor, amount), new Object[] { "CCC", "CPC", "CBC", 'C', casing, 'B', ModBlocks.conveyor, 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC) }); + addRecipeAuto(new ItemStack(ModBlocks.crane_grabber, amount), new Object[] { "C C", "P P", "CBC", 'C', casing, 'B', DictFrame.fromOne(ModItems.conveyor_wand, ConveyorType.REGULAR), 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC) }); addRecipeAuto(new ItemStack(ModBlocks.crane_grabber, amount), new Object[] { "C C", "P P", "CBC", 'C', casing, 'B', ModBlocks.conveyor, 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC) }); } - addRecipeAuto(new ItemStack(ModBlocks.crane_boxer), new Object[] { "WWW", "WPW", "CCC", 'W', KEY_PLANKS, 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC), 'C', ModBlocks.conveyor }); - addRecipeAuto(new ItemStack(ModBlocks.crane_unboxer), new Object[] { "WWW", "WPW", "CCC", 'W', KEY_STICK, 'P', Items.shears, 'C', ModBlocks.conveyor }); + addRecipeAuto(new ItemStack(ModBlocks.crane_boxer), new Object[] { "WWW", "WPW", "CCC", 'W', KEY_PLANKS, 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC), 'C', DictFrame.fromOne(ModItems.conveyor_wand, ConveyorType.REGULAR) }); + addRecipeAuto(new ItemStack(ModBlocks.crane_unboxer), new Object[] { "WWW", "WPW", "CCC", 'W', KEY_STICK, 'P', Items.shears, 'C', DictFrame.fromOne(ModItems.conveyor_wand, ConveyorType.REGULAR) }); addRecipeAuto(new ItemStack(ModBlocks.crane_router), new Object[] { "PIP", "ICI", "PIP", 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC), 'I', ModItems.plate_polymer, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC) }); addRecipeAuto(new ItemStack(ModBlocks.crane_splitter), new Object[] { "III", "PCP", "III", 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC), 'I', STEEL.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE) }); - addRecipeAuto(new ItemStack(ModBlocks.crane_partitioner), new Object[] { " M ", "BCB", 'M', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), 'B', ModBlocks.conveyor, 'C', ModBlocks.crate_steel }); + addRecipeAuto(new ItemStack(ModBlocks.crane_partitioner), new Object[] { " M ", "BCB", 'M', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), 'B', DictFrame.fromOne(ModItems.conveyor_wand, ConveyorType.REGULAR), 'C', ModBlocks.crate_steel }); - addRecipeAuto(new ItemStack(ModBlocks.machine_conveyor_press), new Object[] { "CPC", "CBC", "CCC", 'C', CU.plate(), 'P', ModBlocks.machine_epress, 'B', ModBlocks.conveyor }); + addRecipeAuto(new ItemStack(ModBlocks.machine_conveyor_press), new Object[] { "CPC", "CBC", "CCC", 'C', CU.plate(), 'P', ModBlocks.machine_epress, 'B', DictFrame.fromOne(ModItems.conveyor_wand, ConveyorType.REGULAR) }); addRecipeAuto(new ItemStack(ModBlocks.radar_screen), new Object[] { "PCP", "SRS", "PCP", 'P', ANY_PLASTIC.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'S', STEEL.plate(), 'R', ModItems.crt_display }); addRecipeAuto(new ItemStack(ModItems.radar_linker), new Object[] { "S", "C", "P", 'S', ModItems.crt_display, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'P', STEEL.plate() }); @@ -993,7 +995,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.drone_dock), new Object[] { "T", "C", "B", 'T', ModBlocks.drone_waypoint_request, 'C', ModBlocks.crate_steel, 'B', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED) }); addRecipeAuto(new ItemStack(ModItems.ball_resin), new Object[] { "DD", "DD", 'D', Blocks.yellow_flower }); - + addShapelessAuto(DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER1), new Object[] { ModItems.ingot_chainsteel, ASBESTOS.ingot(), ModItems.gem_alexandrite }); addShapelessAuto(DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER1, 3), new Object[] { DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER2) }); addShapelessAuto(DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER2), new Object[] { ModItems.ingot_chainsteel, ModItems.ingot_bismuth, ModItems.gem_alexandrite, ModItems.gem_alexandrite }); @@ -1015,19 +1017,20 @@ public class CraftingManager { addShapelessAuto(new ItemStack(ModItems.ingot_firebrick, 4), new Object[] { ModBlocks.brick_fire }); addRecipeAuto(new ItemStack(ModBlocks.machine_drain), new Object[] { "PPP", "T ", "PPP", 'P', STEEL.plateCast(), 'T', ModItems.tank_steel }); - + addRecipeAuto(new ItemStack(ModBlocks.machine_intake), new Object[] { "GGG", "PMP", "PTP", 'G', ModBlocks.steel_grate, 'P', STEEL.plate(), 'M', ModItems.motor, 'T', ModItems.tank_steel }); + addRecipeAuto(new ItemStack(ModBlocks.filing_cabinet, 1, DecoCabinetEnum.STEEL.ordinal()), new Object[] { " P ", "PIP", " P ", 'P', STEEL.plate(), 'I', ModItems.plate_polymer }); - + addRecipeAuto(new ItemStack(ModBlocks.vinyl_tile, 4), new Object[] { " I ", "IBI", " I ", 'I', ModItems.plate_polymer, 'B', ModBlocks.brick_light }); addRecipeAuto(new ItemStack(ModBlocks.vinyl_tile, 4, 1), new Object[] { "BB", "BB", 'B', new ItemStack(ModBlocks.vinyl_tile, 1, 0) }); addShapelessAuto(new ItemStack(ModBlocks.vinyl_tile), new Object[] { new ItemStack(ModBlocks.vinyl_tile, 1, 1) }); - + addShapelessAuto(new ItemStack(ModItems.upgrade_5g), new Object[] { ModItems.upgrade_template, ModItems.gem_alexandrite }); - + addShapelessAuto(new ItemStack(ModItems.bdcl), new Object[] { ANY_TAR.any(), Fluids.WATER.getDict(1_000), KEY_WHITE }); - + addShapelessAuto(new ItemStack(ModItems.book_of_), new Object[] { DictFrame.fromOne(ModItems.page_of_, EnumPages.PAGE1), DictFrame.fromOne(ModItems.page_of_, EnumPages.PAGE2), DictFrame.fromOne(ModItems.page_of_, EnumPages.PAGE3), DictFrame.fromOne(ModItems.page_of_, EnumPages.PAGE4), DictFrame.fromOne(ModItems.page_of_, EnumPages.PAGE5), DictFrame.fromOne(ModItems.page_of_, EnumPages.PAGE6), DictFrame.fromOne(ModItems.page_of_, EnumPages.PAGE7), DictFrame.fromOne(ModItems.page_of_, EnumPages.PAGE8), ModItems.egg_balefire }); - + if(GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleCrafting) { addShapelessAuto(new ItemStack(ModItems.cordite, 3), new Object[] { ModItems.ballistite, Items.gunpowder, new ItemStack(Blocks.wool, 1, OreDictionary.WILDCARD_VALUE) }); addShapelessAuto(new ItemStack(ModItems.ingot_semtex, 3), new Object[] { Items.slime_ball, Blocks.tnt, KNO.dust() }); @@ -1056,31 +1059,30 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.neutron_reflector, 4), new Object[] { "##", "##", '#', W.ingot() }); for(NTMMaterial mat : Mats.orderedList) { - if(mat.shapes.contains(MaterialShapes.WIRE)) for(String name : mat.names) addRecipeAuto(new ItemStack(ModItems.wire_fine, 24, mat.id), new Object[] { "###", '#', MaterialShapes.INGOT.prefixes[0] + name }); + if(mat.autogen.contains(MaterialShapes.WIRE)) for(String name : mat.names) addRecipeAuto(new ItemStack(ModItems.wire_fine, 24, mat.id), new Object[] { "###", '#', MaterialShapes.INGOT.name() + name }); } - + addRecipeAuto(new ItemStack(ModItems.book_of_), new Object[] { "BGB", "GAG", "BGB", 'B', ModItems.egg_balefire_shard, 'G', GOLD.ingot(), 'A', Items.book }); } + for(NTMMaterial mat : Mats.orderedList) { + if(mat.autogen.contains(MaterialShapes.BOLT)) for(String name : mat.names) addRecipeAuto(new ItemStack(ModItems.bolt, 16, mat.id), new Object[] { "#", "#", '#', MaterialShapes.INGOT.name() + name }); + } + if(!GeneralConfig.enable528) { - addRecipeAuto(new ItemStack(ModBlocks.machine_spp_bottom), new Object[] { "MDM", "LCL", "LWL", 'M', MAGTUNG.ingot(), 'D', ModItems.plate_desh, 'L', PB.plate(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'W', ModItems.coil_magnetized_tungsten }); - addRecipeAuto(new ItemStack(ModBlocks.machine_spp_top), new Object[] { "LWL", "LCL", "MDM", 'M', MAGTUNG.ingot(), 'D', ModItems.plate_desh, 'L', PB.plate(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'W', ModItems.coil_magnetized_tungsten }); - addShapelessAuto(new ItemStack(ModBlocks.machine_spp_bottom), new Object[] { ModBlocks.machine_spp_top }); - addShapelessAuto(new ItemStack(ModBlocks.machine_spp_top), new Object[] { ModBlocks.machine_spp_bottom }); addRecipeAuto(new ItemStack(ModBlocks.struct_launcher_core, 1), new Object[] { "SCS", "SIS", "BEB", 'S', ModBlocks.steel_scaffold, 'I', Blocks.iron_bars, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'B', ModBlocks.struct_launcher, 'E', ModBlocks.machine_battery }); addRecipeAuto(new ItemStack(ModBlocks.struct_launcher_core_large, 1), new Object[] { "SIS", "ICI", "BEB", 'S', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'I', Blocks.iron_bars, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'B', ModBlocks.struct_launcher, 'E', ModBlocks.machine_battery }); addRecipeAuto(new ItemStack(ModBlocks.struct_soyuz_core, 1), new Object[] { "CUC", "TST", "TBT", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'U', ModItems.upgrade_power_3, 'T', ModBlocks.barrel_steel, 'S', ModBlocks.steel_scaffold, 'B', ModBlocks.machine_lithium_battery }); addRecipeAuto(new ItemStack(ModItems.reactor_sensor, 1), new Object[] { "WPW", "CMC", "PPP", 'W', W.wireFine(), 'P', PB.plate(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'M', ModItems.magnetron }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_console, 1), new Object[] { "BBB", "DGD", "DCD", 'B', B.ingot(), 'D', ModBlocks.deco_rbmk, 'G', KEY_ANYPANE, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ANALOG) }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_crane_console, 1), new Object[] { "BCD", "DDD", 'B', B.ingot(), 'D', ModBlocks.deco_rbmk, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ANALOG) }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_core, 1), new Object[] { "CCC", "DSD", "CCC", 'C', ModBlocks.hadron_coil_alloy, 'D', ModBlocks.hadron_diode, 'S', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED) }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_rod, 1), new Object[] { "C", "R", "C", 'C', STEEL.shell(), 'R', ModBlocks.rbmk_blank }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_rod_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', GRAPHITE.block(), 'R', ModBlocks.rbmk_rod, 'B', ModItems.nugget_bismuth }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_boiler, 1), new Object[] { "CPC", "CRC", "CPC", 'C', CU.pipe(), 'P', CU.shell(), 'R', ModBlocks.rbmk_blank }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_heater, 1), new Object[] { "CIC", "PRP", "CIC", 'C', CU.pipe(), 'P', STEEL.shell(), 'R', ModBlocks.rbmk_blank, 'I', ANY_PLASTIC.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_cooler, 1), new Object[] { "IGI", "GCG", "IGI", 'C', ModBlocks.rbmk_blank, 'I', ModItems.plate_polymer, 'G', ModBlocks.steel_grate }); } - + addShapelessAuto(new ItemStack(ModItems.launch_code), new Object[] { new ItemStack(ModItems.launch_code_piece), new ItemStack(ModItems.launch_code_piece), new ItemStack(ModItems.launch_code_piece), new ItemStack(ModItems.launch_code_piece), @@ -1088,7 +1090,7 @@ public class CraftingManager { new ItemStack(ModItems.launch_code_piece), new ItemStack(ModItems.launch_code_piece), DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED) }); - + addShapelessAuto(ModItems.circuit_star_component.stackFromEnum(CircuitComponentType.CHIPSET), new Object[] { ModItems.circuit_star_piece.stackFromEnum(ScrapType.BRIDGE_BIOS), ModItems.circuit_star_piece.stackFromEnum(ScrapType.BRIDGE_BUS), @@ -1098,7 +1100,7 @@ public class CraftingManager { ModItems.circuit_star_piece.stackFromEnum(ScrapType.BRIDGE_NORTH), ModItems.circuit_star_piece.stackFromEnum(ScrapType.BRIDGE_SOUTH) }); - + addShapelessAuto(ModItems.circuit_star_component.stackFromEnum(CircuitComponentType.CPU), new Object[] { ModItems.circuit_star_piece.stackFromEnum(ScrapType.CPU_CACHE), ModItems.circuit_star_piece.stackFromEnum(ScrapType.CPU_CLOCK), @@ -1107,7 +1109,7 @@ public class CraftingManager { ModItems.circuit_star_piece.stackFromEnum(ScrapType.CPU_REGISTER), ModItems.circuit_star_piece.stackFromEnum(ScrapType.CPU_SOCKET) }); - + addShapelessAuto(ModItems.circuit_star_component.stackFromEnum(CircuitComponentType.RAM), new Object[] { ModItems.circuit_star_piece.stackFromEnum(ScrapType.MEM_SOCKET), ModItems.circuit_star_piece.stackFromEnum(ScrapType.MEM_16K_A), @@ -1115,12 +1117,12 @@ public class CraftingManager { ModItems.circuit_star_piece.stackFromEnum(ScrapType.MEM_16K_C), ModItems.circuit_star_piece.stackFromEnum(ScrapType.MEM_16K_D) }); - + addShapelessAuto(ModItems.circuit_star_component.stackFromEnum(CircuitComponentType.CARD), new Object[] { ModItems.circuit_star_piece.stackFromEnum(ScrapType.CARD_BOARD), ModItems.circuit_star_piece.stackFromEnum(ScrapType.CARD_PROCESSOR) }); - + addShapelessAuto(new ItemStack(ModItems.circuit_star), new Object[] { ModItems.circuit_star_component.stackFromEnum(CircuitComponentType.CHIPSET), ModItems.circuit_star_component.stackFromEnum(CircuitComponentType.CPU), @@ -1140,7 +1142,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.cm_block, 4, 1), " I ", "IPI", " I ", 'I', ALLOY.ingot(), 'P', ALLOY.plateCast()); addRecipeAuto(new ItemStack(ModBlocks.cm_block, 4, 2), " I ", "IPI", " I ", 'I', DESH.ingot(), 'P', DESH.plateCast()); addRecipeAuto(new ItemStack(ModBlocks.cm_block, 4, 3), " I ", "IPI", " I ", 'I', ANY_RESISTANTALLOY.ingot(), 'P', ANY_RESISTANTALLOY.plateCast()); - + for(int i = 0; i < 4; i++) { addRecipeAuto(new ItemStack(ModBlocks.cm_sheet, 16, i), "BB", "BB", 'B', new ItemStack(ModBlocks.cm_block, 1, i)); addRecipeAuto(new ItemStack(ModBlocks.cm_tank, 4, i), " B ", "BGB", " B ", 'B', new ItemStack(ModBlocks.cm_block, 1, i), 'G', KEY_ANYGLASS); @@ -1158,72 +1160,74 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.cm_flux, 1, 0), "NNN", "ZCZ", "NNN", 'Z', ZR.plateCast(), 'N', ModItems.neutron_reflector, 'C', ModItems.reactor_core); addRecipeAuto(new ItemStack(ModBlocks.cm_heat, 1, 0), "PCP", "PCP", "PCP", 'P', ModItems.plate_polymer, 'C', CU.ingot()); - addShapelessAuto(new ItemStack(ModItems.missile_soyuz), new ItemStack(ModItems.missile_carrier)); - addRecipeAuto(new ItemStack(ModBlocks.plushie, 1, PlushieType.YOMI.ordinal()), "LCR", 'L', "cropCarrot", 'C', ModItems.rag, 'R', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE)); addRecipeAuto(new ItemStack(ModBlocks.plushie, 1, PlushieType.NUMBERNINE.ordinal()), " C ", "LCR", " C ", 'L', ModItems.cigarette, 'C', ModItems.rag, 'R', COAL.gem()); } - + public static void crumple() { - + List targets = new ArrayList(); - + if(GeneralConfig.enableMekanismChanges) { - + if(Loader.isModLoaded("Mekanism")) { Block mb = (Block) Block.blockRegistry.getObject("Mekanism:MachineBlock"); Item disassembler = (Item) Item.itemRegistry.getObject("Mekanism:AtomicDisassembler"); targets.add(new ItemStack(mb, 1, 4)); // digiminer targets.add(new ItemStack(disassembler)); // atomic disassembler } - + if(Loader.isModLoaded("MekanismGenerators")) { Block mb = (Block) Block.blockRegistry.getObject("MekanismGenerators:Generator"); targets.add(new ItemStack(mb, 1, 6)); // wind turbine } - + List toDestroy = new ArrayList(); - - for(Object o : net.minecraft.item.crafting.CraftingManager.getInstance().getRecipeList()) { - - if(o instanceof IRecipe) { - IRecipe rec = (IRecipe)o; - ItemStack stack = rec.getRecipeOutput(); - - for(ItemStack target : targets) { - if(stack != null && stack.getItem() == target.getItem() && stack.getItemDamage() == target.getItemDamage()) toDestroy.add(rec); + + List recipeList = net.minecraft.item.crafting.CraftingManager.getInstance().getRecipeList(); + + synchronized(recipeList) { //this is how threading works. i think. + for(Object o : recipeList) { + + if(o instanceof IRecipe) { + IRecipe rec = (IRecipe)o; + ItemStack stack = rec.getRecipeOutput(); + + for(ItemStack target : targets) { + if(stack != null && stack.getItem() == target.getItem() && stack.getItemDamage() == target.getItemDamage()) toDestroy.add(rec); + } } } - } - - if(toDestroy.size() > 0) { - net.minecraft.item.crafting.CraftingManager.getInstance().getRecipeList().removeAll(toDestroy); - } - if(Loader.isModLoaded("Mekanism")) { - Item disassembler = (Item) Item.itemRegistry.getObject("Mekanism:AtomicDisassembler"); - if(disassembler != null) addRecipeAuto(new ItemStack(disassembler, 1), "GAG", "EIE", " I ", 'G', GOLD.plateCast(), 'A', "alloyUltimate", 'E', "battery", 'I', "ingotRefinedObsidian"); - } - - if(Loader.isModLoaded("MekanismGenerators")) { - Block generator = (Block) Block.blockRegistry.getObject("MekanismGenerators:Generator"); - if(generator != null) addRecipeAuto(new ItemStack(generator, 1, 6), " T ", "TAT", "BCB", 'T', TI.plateCast(), 'A', "alloyAdvanced", 'B', "battery", 'C', ANY_PLASTIC.ingot()); + if(toDestroy.size() > 0) { + recipeList.removeAll(toDestroy); + } + + if(Loader.isModLoaded("Mekanism")) { + Item disassembler = (Item) Item.itemRegistry.getObject("Mekanism:AtomicDisassembler"); + if(disassembler != null) addRecipeAuto(new ItemStack(disassembler, 1), "GAG", "EIE", " I ", 'G', GOLD.plateCast(), 'A', "alloyUltimate", 'E', "battery", 'I', "ingotRefinedObsidian"); + } + + if(Loader.isModLoaded("MekanismGenerators")) { + Block generator = (Block) Block.blockRegistry.getObject("MekanismGenerators:Generator"); + if(generator != null) addRecipeAuto(new ItemStack(generator, 1, 6), " T ", "TAT", "BCB", 'T', TI.plateCast(), 'A', "alloyAdvanced", 'B', "battery", 'C', ANY_PLASTIC.ingot()); + } } } } - + //option 1: find every entry that needs to be ore dicted and change the recipe method by hand and commit to doing it right in the future //option 2: just make the computer do all the stupid work for us public static void addRecipeAuto(ItemStack result, Object... ins) { - + boolean shouldUseOD = false; boolean engage = false; - + for(int i = 0; i < ins.length; i++) { Object ingredient = ins[i]; - + if(ingredient instanceof String) { - + if(engage) { shouldUseOD = true; break; @@ -1232,26 +1236,26 @@ public class CraftingManager { engage = true; } } - + if(shouldUseOD) GameRegistry.addRecipe(new ShapedOreRecipe(result, ins)); else GameRegistry.addRecipe(result, ins); } - + public static void addShapelessAuto(ItemStack result, Object... ins) { - + boolean shouldUseOD = false; - + for(int i = 0; i < ins.length; i ++) { Object ingredient = ins[i]; - + if(ingredient instanceof String) { shouldUseOD = true; break; } } - + if(shouldUseOD) GameRegistry.addRecipe(new ShapelessOreRecipe(result, ins)); else diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 5a88ba3bf..5b9d63062 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -3,7 +3,6 @@ package com.hbm.main; import com.google.common.collect.ImmutableList; import com.hbm.blocks.BlockEnums.EnumStoneType; import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.generic.BlockMotherOfAllOres; import com.hbm.blocks.generic.BlockToolConversion; import com.hbm.commands.*; import com.hbm.config.*; @@ -14,10 +13,13 @@ import com.hbm.entity.grenade.*; import com.hbm.entity.logic.IChunkLoader; import com.hbm.entity.mob.siege.SiegeTier; import com.hbm.handler.*; +import com.hbm.handler.ae2.AE2CompatHandler; import com.hbm.handler.imc.IMCBlastFurnace; import com.hbm.handler.imc.IMCCentrifuge; import com.hbm.handler.imc.IMCCrystallizer; import com.hbm.handler.imc.IMCHandler; +import com.hbm.handler.microblocks.MicroBlocksCompatHandler; +import com.hbm.handler.neutron.NeutronHandler; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.hazard.HazardRegistry; @@ -29,11 +31,11 @@ import com.hbm.inventory.material.Mats; import com.hbm.inventory.recipes.*; import com.hbm.inventory.recipes.anvil.AnvilRecipes; import com.hbm.inventory.recipes.loader.SerializableRecipe; -import com.hbm.items.ItemAmmoEnums.Ammo4Gauge; import com.hbm.items.ItemEnums.EnumAchievementType; import com.hbm.items.ModItems; import com.hbm.items.tool.ItemFertilizer; import com.hbm.items.weapon.ItemGenericGrenade; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; import com.hbm.lib.HbmWorld; import com.hbm.lib.RefStrings; import com.hbm.packet.PacketDispatcher; @@ -42,7 +44,6 @@ import com.hbm.saveddata.satellites.Satellite; import com.hbm.tileentity.TileMappings; import com.hbm.tileentity.bomb.TileEntityLaunchPadBase; import com.hbm.tileentity.bomb.TileEntityNukeCustom; -import com.hbm.tileentity.machine.TileEntityNukeFurnace; import com.hbm.tileentity.machine.rbmk.RBMKDials; import com.hbm.util.*; import com.hbm.world.biome.BiomeGenCraterBase; @@ -75,7 +76,10 @@ import net.minecraft.item.Item.ToolMaterial; import net.minecraft.item.ItemArmor.ArmorMaterial; import net.minecraft.item.ItemStack; import net.minecraft.stats.Achievement; +import net.minecraft.stats.StatBase; +import net.minecraft.stats.StatBasic; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentTranslation; import net.minecraft.util.EnumFacing; import net.minecraft.util.WeightedRandomChestContent; import net.minecraft.world.World; @@ -100,7 +104,7 @@ import java.util.Random; @Mod(modid = RefStrings.MODID, name = RefStrings.NAME, version = RefStrings.VERSION) public class MainRegistry { - + @Instance(RefStrings.MODID) public static MainRegistry instance; @@ -129,7 +133,7 @@ public class MainRegistry { public static ToolMaterial enumToolMaterialBatNail = EnumHelper.addToolMaterial("BATNAIL", 0, 450, 1.0F, 4F, 25); public static ToolMaterial enumToolMaterialGolfClub = EnumHelper.addToolMaterial("GOLFCLUB", 1, 1000, 2.0F, 5F, 25); public static ToolMaterial enumToolMaterialPipeRusty = EnumHelper.addToolMaterial("PIPERUSTY", 1, 350, 1.5F, 4.5F, 25); - public static ToolMaterial enumToolMaterialPipeLead = EnumHelper.addToolMaterial("PIPELEAD", 1, 250, 1.5F, 5.5F, 25); + public static ToolMaterial enumToolMaterialPipeLead = EnumHelper.addToolMaterial("PIPELEAD", 1, 250, 1.5F, 3F, 25); public static ToolMaterial enumToolMaterialBottleOpener = EnumHelper.addToolMaterial("OPENER", 1, 250, 1.5F, 0.5F, 200); public static ToolMaterial enumToolMaterialSledge = EnumHelper.addToolMaterial("SHIMMERSLEDGE", 1, 0, 25.0F, 26F, 200); @@ -155,7 +159,7 @@ public class MainRegistry { public static ArmorMaterial aMatBismuth = EnumHelper.addArmorMaterial("HBM_BISMUTH", 100, new int[] { 3, 8, 6, 3 }, 100); // Creative Tabs - + public static CreativeTabs partsTab = new PartsTab(CreativeTabs.getNextID(), "tabParts"); // ingots, nuggets, wires, machine parts public static CreativeTabs controlTab = new ControlTab(CreativeTabs.getNextID(), "tabControl"); // items that belong in machines, fuels, etc public static CreativeTabs templateTab = new TemplateTab(CreativeTabs.getNextID(), "tabTemplate"); // templates, siren tracks @@ -166,13 +170,16 @@ public class MainRegistry { public static CreativeTabs weaponTab = new WeaponTab(CreativeTabs.getNextID(), "tabWeapon"); // turrets, weapons, ammo public static CreativeTabs consumableTab = new ConsumableTab(CreativeTabs.getNextID(), "tabConsumable"); // drinks, kits, tools + // Statistics + public static StatBase statLegendary; + public static StatBase statMines; + public static StatBase statBullets; + // Achievements public static Achievement achSacrifice; public static Achievement achImpossible; public static Achievement achTOB; - public static Achievement achFreytag; public static Achievement achPotato; - public static Achievement achC44; public static Achievement achC20_5; public static Achievement achFiend; public static Achievement achFiend2; @@ -183,7 +190,6 @@ public class MainRegistry { public static Achievement achSomeWounds; public static Achievement achSlimeball; public static Achievement achSulfuric; - public static Achievement achWitchtaunter; public static Achievement achGoFish; public static Achievement achNo9; public static Achievement achInferno; @@ -202,7 +208,7 @@ public class MainRegistry { public static Achievement digammaKnow; public static Achievement digammaKauaiMoho; public static Achievement digammaUpOnTop; - + public static Achievement achBurnerPress; public static Achievement achBlastFurnace; public static Achievement achAssembly; @@ -234,10 +240,10 @@ public class MainRegistry { public static Achievement achBreeding; public static Achievement achFusion; public static Achievement achMeltdown; - + public static int generalOverride = 0; public static int polaroidID = 1; - + public static long startupTime = 0; public static File configDir; public static File configHbmDir; @@ -246,13 +252,14 @@ public class MainRegistry { @EventHandler public void PreLoad(FMLPreInitializationEvent PreEvent) { - + CrashHelper.init(); + startupTime = System.currentTimeMillis(); configDir = PreEvent.getModConfigurationDirectory(); configHbmDir = new File(configDir.getAbsolutePath() + File.separatorChar + "hbmConfig"); if(!configHbmDir.exists()) configHbmDir.mkdir(); - + logger.info("Let us celebrate the fact that the logger finally works again!"); // Reroll Polaroid @@ -264,14 +271,15 @@ public class MainRegistry { polaroidID = rand.nextInt(18) + 1; } - //ShadyUtil.test(); + ShadyUtil.test(); loadConfig(PreEvent); HbmPotion.init(); - + /* For whichever fucking reason, replacing the bolt items with a bolt autogen broke all autogen items, most likely due to the load order. * This "fix" just makes sure that the material system is loaded first no matter what. */ Mats.MAT_STONE.getUnlocalizedName(); Fluids.init(); + proxy.registerPreRenderInfo(); ModBlocks.mainRegistry(); ModItems.mainRegistry(); proxy.registerRenderInfo(); @@ -285,20 +293,15 @@ public class MainRegistry { SiegeTier.registerTiers(); HazardRegistry.registerItems(); HazardRegistry.registerTrafos(); - + WeaponModManager.init(); + OreDictManager oreMan = new OreDictManager(); MinecraftForge.EVENT_BUS.register(oreMan); //OreRegisterEvent OreDictManager.registerGroups(); //important to run first OreDictManager.registerOres(); - - if(WorldConfig.enableCraterBiomes) BiomeGenCraterBase.initDictionary(); - /*Library.superuser.add("192af5d7-ed0f-48d8-bd89-9d41af8524f8"); - Library.superuser.add("5aee1e3d-3767-4987-a222-e7ce1fbdf88e"); - Library.superuser.add("937c9804-e11f-4ad2-a5b1-42e62ac73077"); - Library.superuser.add("3af1c262-61c0-4b12-a4cb-424cc3a9c8c0"); - Library.superuser.add("4729b498-a81c-42fd-8acd-20d6d9f759e0"); - Library.superuser.add("c3f5e449-6d8c-4fe3-acc9-47ef50e7e7ae");*/ + if(WorldConfig.enableCraterBiomes) BiomeGenCraterBase.initDictionary(); + //BiomeGenNoMansLand.initDictionary(); aMatSchrab.customCraftingMaterial = ModItems.ingot_schrabidium; aMatHaz.customCraftingMaterial = ModItems.hazmat_cloth; @@ -325,13 +328,13 @@ public class MainRegistry { tMatDesh.setRepairItem(new ItemStack(ModItems.ingot_desh)); NetworkRegistry.INSTANCE.registerGuiHandler(instance, new GUIHandler()); - + TileMappings.writeMappings(); MachineDynConfig.initialize(); TileEntityLaunchPadBase.registerLaunchables(); - + for(Entry, String[]> e : TileMappings.map.entrySet()) { - + if(e.getValue().length == 1) GameRegistry.registerTileEntity(e.getKey(), e.getValue()[0]); else @@ -354,7 +357,7 @@ public class MainRegistry { EntityMappings.writeMappings(); //CompatNER.init(); - + ForgeChunkManager.setForcedChunkLoadingCallback(this, new LoadingCallback() { @Override @@ -642,7 +645,7 @@ public class MainRegistry { private boolean dispenseSound = true; @Override protected ItemStack dispenseStack(IBlockSource source, ItemStack stack) { - + EnumFacing facing = BlockDispenser.func_149937_b(source.getBlockMetadata()); World world = source.getWorld(); int x = source.getXInt() + facing.getFrontOffsetX(); @@ -659,33 +662,36 @@ public class MainRegistry { } } }); + + MicroBlocksCompatHandler.preInit(); } @EventHandler public static void load(FMLInitializationEvent event) { - + RodRecipes.registerInit(); + statLegendary = new StatBasic("stat.ntmLegendary", new ChatComponentTranslation("stat.ntmLegendary")).registerStat(); + statMines = new StatBasic("stat.ntmMines", new ChatComponentTranslation("stat.ntmMines")).registerStat(); + statBullets = new StatBasic("stat.ntmBullets", new ChatComponentTranslation("stat.ntmBullets")).registerStat(); + achSacrifice = new Achievement("achievement.sacrifice", "sacrifice", -3, 1, ModItems.burnt_bark, null).initIndependentStat().setSpecial().registerStat(); achImpossible = new Achievement("achievement.impossible", "impossible", 18, 10, ModItems.nothing, null).initIndependentStat().setSpecial().registerStat(); achTOB = new Achievement("achievement.tasteofblood", "tasteofblood", 3, 10, new ItemStack(ModItems.fluid_icon, 1, Fluids.ASCHRAB.getID()), null).initIndependentStat().setSpecial().registerStat(); achGoFish = new Achievement("achievement.goFish", "goFish", 5, 10, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.GOFISH), null).initIndependentStat().setSpecial().registerStat(); - achFreytag = new Achievement("achievement.freytag", "freytag", 0, -4, ModItems.gun_mp40, null).initIndependentStat().setSpecial().registerStat(); achPotato = new Achievement("achievement.potato", "potato", -2, -2, ModItems.battery_potatos, null).initIndependentStat().setSpecial().registerStat(); - achC44 = new Achievement("achievement.c44", "c44", 2, -4, ModItems.gun_revolver_pip, null).initIndependentStat().setSpecial().registerStat(); achC20_5 = new Achievement("achievement.c20_5", "c20_5", 3, 6, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.QUESTIONMARK), null).initIndependentStat().setSpecial().registerStat(); achFiend = new Achievement("achievement.fiend", "fiend", -6, 8, ModItems.shimmer_sledge, null).initIndependentStat().setSpecial().registerStat(); achFiend2 = new Achievement("achievement.fiend2", "fiend2", -4, 9, ModItems.shimmer_axe, null).initIndependentStat().setSpecial().registerStat(); achStratum = new Achievement("achievement.stratum", "stratum", -4, -2, new ItemStack(ModBlocks.stone_gneiss), null).initIndependentStat().setSpecial().registerStat(); achOmega12 = new Achievement("achievement.omega12", "omega12", 17, -1, ModItems.particle_digamma, null).initIndependentStat().setSpecial().registerStat(); - achWitchtaunter = new Achievement("achievement.witchtaunter", "witchtaunter", -8, 7, ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.VAMPIRE), null).initIndependentStat().setSpecial().registerStat(); achNo9 = new Achievement("achievement.no9", "no9", -8, 12, ModItems.no9, null).initIndependentStat().registerStat(); achSlimeball = new Achievement("achievement.slimeball", "slimeball", -10, 6, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.ACID), null).initIndependentStat().registerStat(); achSulfuric = new Achievement("achievement.sulfuric", "sulfuric", -10, 8, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.BALLS), achSlimeball).initIndependentStat().setSpecial().registerStat(); achInferno = new Achievement("achievement.inferno", "inferno", -8, 10, ModItems.canister_napalm, null).initIndependentStat().setSpecial().registerStat(); achRedRoom = new Achievement("achievement.redRoom", "redRoom", -10, 10, ModItems.key_red, null).initIndependentStat().setSpecial().registerStat(); - + bobHidden = new Achievement("achievement.hidden", "hidden", 15, -4, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.QUESTIONMARK), null).initIndependentStat().registerStat(); horizonsStart = new Achievement("achievement.horizonsStart", "horizonsStart", -5, 4, ModItems.sat_gerald, null).initIndependentStat().registerStat(); @@ -702,19 +708,19 @@ public class MainRegistry { achRadDeath = new Achievement("achievement.radDeath", "radDeath", 0, 6, Items.skull, achRadPoison).initIndependentStat().registerStat().setSpecial(); achSomeWounds = new Achievement("achievement.someWounds", "someWounds", -2, 10, ModItems.injector_knife, null).initIndependentStat().registerStat(); - + digammaSee = new Achievement("achievement.digammaSee", "digammaSee", -1, 8, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.DIGAMMASEE), null).initIndependentStat().registerStat(); digammaFeel = new Achievement("achievement.digammaFeel", "digammaFeel", 1, 8, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.DIGAMMAFEEL), digammaSee).initIndependentStat().registerStat(); digammaKnow = new Achievement("achievement.digammaKnow", "digammaKnow", 3, 8, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.DIGAMMAKNOW), digammaFeel).initIndependentStat().registerStat().setSpecial(); digammaKauaiMoho = new Achievement("achievement.digammaKauaiMoho", "digammaKauaiMoho", 5, 8, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.DIGAMMAKAUAIMOHO), digammaKnow).initIndependentStat().registerStat().setSpecial(); digammaUpOnTop = new Achievement("achievement.digammaUpOnTop", "digammaUpOnTop", 7, 8, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.DIGAMMAUPONTOP), digammaKauaiMoho).initIndependentStat().registerStat().setSpecial(); - + //progression achieves achBurnerPress = new Achievement("achievement.burnerPress", "burnerPress", 0, 0, new ItemStack(ModBlocks.machine_press), null).initIndependentStat().registerStat(); achBlastFurnace = new Achievement("achievement.blastFurnace", "blastFurnace", 1, 3, new ItemStack(ModBlocks.machine_difurnace_off), achBurnerPress).initIndependentStat().registerStat(); achAssembly = new Achievement("achievement.assembly", "assembly", 3, -1, new ItemStack(ModBlocks.machine_assembler), achBurnerPress).initIndependentStat().registerStat(); achSelenium = new Achievement("achievement.selenium", "selenium", 3, 2, ModItems.ingot_starmetal, achBurnerPress).initIndependentStat().setSpecial().registerStat(); - achChemplant = new Achievement("achievement.chemplant", "chemplant", 6, -1, new ItemStack(ModBlocks.machine_chemplant), achAssembly).initIndependentStat().registerStat(); + achChemplant = new Achievement("achievement.chemplant", "chemplant", 6, -1, new ItemStack(ModBlocks.machine_chemical_plant), achAssembly).initIndependentStat().registerStat(); achConcrete = new Achievement("achievement.concrete", "concrete", 6, -4, new ItemStack(ModBlocks.concrete), achChemplant).initIndependentStat().registerStat(); achPolymer = new Achievement("achievement.polymer", "polymer", 9, -1, ModItems.ingot_polymer, achChemplant).initIndependentStat().registerStat(); achDesh = new Achievement("achievement.desh", "desh", 9, 2, ModItems.ingot_desh, achChemplant).initIndependentStat().registerStat(); @@ -723,7 +729,7 @@ public class MainRegistry { achCentrifuge = new Achievement("achievement.centrifuge", "centrifuge", 12, -2, new ItemStack(ModBlocks.machine_centrifuge), achPolymer).initIndependentStat().registerStat(); achFOEQ = new Achievement("achievement.FOEQ", "FOEQ", 5, 5, ModItems.sat_foeq, achDesh).initIndependentStat().setSpecial().registerStat(); achSoyuz = new Achievement("achievement.soyuz", "soyuz", 7, 6, Items.baked_potato, achDesh).initIndependentStat().setSpecial().registerStat(); - achSpace = new Achievement("achievement.space", "space", 9, 7, ModItems.missile_carrier, achDesh).initIndependentStat().setSpecial().registerStat(); + achSpace = new Achievement("achievement.space", "space", 9, 7, ModItems.missile_soyuz, achDesh).initIndependentStat().setSpecial().registerStat(); achSchrab = new Achievement("achievement.schrab", "schrab", 11, 3, ModItems.ingot_schrabidium, achDesh).initIndependentStat().registerStat(); achAcidizer = new Achievement("achievement.acidizer", "acidizer", 11, 5, new ItemStack(ModBlocks.machine_crystallizer), achDesh).initIndependentStat().registerStat(); achRadium = new Achievement("achievement.radium", "radium", 13, -4, ModItems.coffee_radium, achCentrifuge).initIndependentStat().setSpecial().registerStat(); @@ -741,75 +747,72 @@ public class MainRegistry { achMeltdown = new Achievement("achievement.meltdown", "meltdown", 15, -7, ModItems.powder_balefire, achFusion).initIndependentStat().setSpecial().registerStat(); achRedBalloons = new Achievement("achievement.redBalloons", "redBalloons", 11, 0, ModItems.missile_nuclear, achPolymer).initIndependentStat().setSpecial().registerStat(); achManhattan = new Achievement("achievement.manhattan", "manhattan", 11, -4, new ItemStack(ModBlocks.nuke_boy), achPolymer).initIndependentStat().setSpecial().registerStat(); - + AchievementPage.registerAchievementPage(new AchievementPage("Nuclear Tech", new Achievement[] { - achSacrifice, - achImpossible, - achTOB, - achGoFish, - achFreytag, - achPotato, - achC44, - achC20_5, - achFiend, - achFiend2, - achStratum, - achOmega12, - bobHidden, - horizonsStart, - horizonsEnd, - horizonsBonus, - achRadPoison, - achRadDeath, - achWitchtaunter, - achNo9, - achInferno, - achRedRoom, - achSlimeball, - achSulfuric, - bossCreeper, - bossMeltdown, - bossMaskman, - bossWorm, - bossUFO, - achSomeWounds, - digammaSee, - digammaFeel, - digammaKnow, - digammaKauaiMoho, - digammaUpOnTop, - - achBurnerPress, - achBlastFurnace, - achAssembly, - achSelenium, - achChemplant, - achConcrete, - achPolymer, - achDesh, - achTantalum, - achGasCent, - achCentrifuge, - achFOEQ, - achSoyuz, - achSpace, - achSchrab, - achAcidizer, - achRadium, - achTechnetium, - achZIRNOXBoom, - achChicagoPile, - achSILEX, - achWatz, - achWatzBoom, - achRBMK, - achRBMKBoom, - achBismuth, - achBreeding, - achFusion, - achMeltdown, - achRedBalloons, - achManhattan + achSacrifice, + achImpossible, + achTOB, + achGoFish, + achPotato, + achC20_5, + achFiend, + achFiend2, + achStratum, + achOmega12, + bobHidden, + horizonsStart, + horizonsEnd, + horizonsBonus, + achRadPoison, + achRadDeath, + achNo9, + achInferno, + achRedRoom, + achSlimeball, + achSulfuric, + bossCreeper, + bossMeltdown, + bossMaskman, + bossWorm, + bossUFO, + achSomeWounds, + digammaSee, + digammaFeel, + digammaKnow, + digammaKauaiMoho, + digammaUpOnTop, + + achBurnerPress, + achBlastFurnace, + achAssembly, + achSelenium, + achChemplant, + achConcrete, + achPolymer, + achDesh, + achTantalum, + achGasCent, + achCentrifuge, + achFOEQ, + achSoyuz, + achSpace, + achSchrab, + achAcidizer, + achRadium, + achTechnetium, + achZIRNOXBoom, + achChicagoPile, + achSILEX, + achWatz, + achWatzBoom, + achRBMK, + achRBMKBoom, + achBismuth, + achBreeding, + achFusion, + achMeltdown, + achRedBalloons, + achManhattan })); // MUST be initialized AFTER achievements!! @@ -825,15 +828,15 @@ public class MainRegistry { } } } - + @EventHandler public static void initIMC(IMCEvent event) { - + ImmutableList inbox = event.getMessages(); //tee-hee - + for(IMCMessage message : inbox) { IMCHandler handler = IMCHandler.getHandler(message.key); - + if(handler != null) { MainRegistry.logger.info("Received IMC of type >" + message.key + "< from " + message.getSender() + "!"); handler.process(message); @@ -845,59 +848,71 @@ public class MainRegistry { @EventHandler public static void PostLoad(FMLPostInitializationEvent PostEvent) { - TileEntityNukeFurnace.registerFuels(); MagicRecipes.register(); LemegetonRecipes.register(); SILEXRecipes.register(); RefineryRecipes.registerRefinery(); GasCentrifugeRecipes.register(); - + CustomMachineConfigJSON.initialize(); //the good stuff SerializableRecipe.registerAllHandlers(); SerializableRecipe.initialize(); - + //Anvil has to come after serializables (i.e. anvil) AnvilRecipes.register(); //has to register after cracking, and therefore after all serializable recipes RadiolysisRecipes.registerRadiolysis(); - + FalloutConfigJSON.initialize(); ItemPoolConfigJSON.initialize(); + ClientConfig.initConfig(); + ServerConfig.initConfig(); + TileEntityNukeCustom.registerBombItems(); ArmorUtil.register(); HazmatRegistry.registerHazmats(); + DamageResistanceHandler.init(); FluidContainerRegistry.register(); BlockToolConversion.registerRecipes(); AchievementHandler.register(); + MobUtil.intializeMobPools(); + proxy.registerMissileItems(); - - BlockMotherOfAllOres.init(); // Load compatibility for OC. CompatHandler.init(); + // Load compatibility for AE2. + AE2CompatHandler.init(); + //expand for the largest entity we have (currently Quackos who is 17.5m in diameter, that's one fat duck) World.MAX_ENTITY_RADIUS = Math.max(World.MAX_ENTITY_RADIUS, 8.75); MinecraftForge.EVENT_BUS.register(new SchistStratum()); //DecorateBiomeEvent.Pre //MinecraftForge.EVENT_BUS.register(new DeepLayer()); //DecorateBiomeEvent.Pre - new OreCave(ModBlocks.stone_resource, 0).setThreshold(1.5D).setRangeMult(20).setYLevel(30).setMaxRange(20).withFluid(ModBlocks.sulfuric_acid_block); //sulfur - new OreCave(ModBlocks.stone_resource, 1).setThreshold(1.75D).setRangeMult(20).setYLevel(25).setMaxRange(20); //asbestos - new OreLayer3D(ModBlocks.stone_resource, EnumStoneType.HEMATITE.ordinal()).setScaleH(0.04D).setScaleV(0.25D).setThreshold(230); - new OreLayer3D(ModBlocks.stone_resource, EnumStoneType.BAUXITE.ordinal()).setScaleH(0.03D).setScaleV(0.15D).setThreshold(300); + if(WorldConfig.enableSulfurCave) new OreCave(ModBlocks.stone_resource, 0).setThreshold(1.5D).setRangeMult(20).setYLevel(30).setMaxRange(20).withFluid(ModBlocks.sulfuric_acid_block); //sulfur + if(WorldConfig.enableAsbestosCave) new OreCave(ModBlocks.stone_resource, 1).setThreshold(1.75D).setRangeMult(20).setYLevel(25).setMaxRange(20); //asbestos + if(WorldConfig.enableHematite) new OreLayer3D(ModBlocks.stone_resource, EnumStoneType.HEMATITE.ordinal()).setScaleH(0.04D).setScaleV(0.25D).setThreshold(230); + if(WorldConfig.enableBauxite) new OreLayer3D(ModBlocks.stone_resource, EnumStoneType.BAUXITE.ordinal()).setScaleH(0.03D).setScaleV(0.15D).setThreshold(300); + if(WorldConfig.enableMalachite) new OreLayer3D(ModBlocks.stone_resource, EnumStoneType.MALACHITE.ordinal()).setScaleH(0.1D).setScaleV(0.15D).setThreshold(275); //new BiomeCave().setThreshold(1.5D).setRangeMult(20).setYLevel(40).setMaxRange(20); //new OreLayer(Blocks.coal_ore, 0.2F).setThreshold(4).setRangeMult(3).setYLevel(70); BedrockOre.init(); - + Compat.handleRailcraftNonsense(); SuicideThreadDump.register(); - + CommandReloadClient.register(); + + // to make sure that foreign registered fluids are accounted for, + // even when the reload listener is registered too late due to load order + Fluids.reloadFluids(); + //ExplosionTests.runTest(); } @@ -916,7 +931,7 @@ public class MainRegistry { FMLCommonHandler.instance().bus().register(impactHandler); MinecraftForge.EVENT_BUS.register(impactHandler); MinecraftForge.TERRAIN_GEN_BUS.register(impactHandler); - + PacketDispatcher.registerPackets(); ChunkRadiationManager radiationSystem = new ChunkRadiationManager(); @@ -926,14 +941,21 @@ public class MainRegistry { PollutionHandler pollution = new PollutionHandler(); MinecraftForge.EVENT_BUS.register(pollution); FMLCommonHandler.instance().bus().register(pollution); - + + DamageResistanceHandler dmgHandler = new DamageResistanceHandler(); + MinecraftForge.EVENT_BUS.register(dmgHandler); + + NeutronHandler neutronHandler = new NeutronHandler(); + MinecraftForge.EVENT_BUS.register(neutronHandler); + FMLCommonHandler.instance().bus().register(neutronHandler); + if(event.getSide() == Side.CLIENT) { HbmKeybinds.register(); HbmKeybinds keyHandler = new HbmKeybinds(); FMLCommonHandler.instance().bus().register(keyHandler); } } - + //yes kids, this is where we would usually register commands @EventHandler public void serverStart(FMLServerStartingEvent event) { @@ -943,18 +965,20 @@ public class MainRegistry { event.registerServerCommand(new CommandDebugChunkLoad()); event.registerServerCommand(new CommandSatellites()); event.registerServerCommand(new CommandRadiation()); + event.registerServerCommand(new CommandPacketInfo()); + event.registerServerCommand(new CommandReloadServer()); } - + @EventHandler public void serverStart(FMLServerStartedEvent event) { - + if(GeneralConfig.enableStatReRegistering) { logger.info("Attempting to re-register item stats..."); StatHelper.resetStatShitFuck(); //shit yourself logger.info("Item stats re-registered"); } } - + private void loadConfig(FMLPreInitializationEvent event) { Configuration config = new Configuration(event.getSuggestedConfigurationFile()); @@ -972,30 +996,30 @@ public class MainRegistry { StructureConfig.loadFromConfig(config); config.save(); - + try { if(GeneralConfig.enableThermosPreventer && Class.forName("thermos.ThermosClassTransformer") != null) { - throw new IllegalStateException("The mod tried to start on a Thermos or it's fork server and therefore stopped. To allow the server to start on Thermos, change the appropriate " - + "config entry (0.00 in hbm.cfg). This was done because, by default, Thermos " - + "uses a so-called \"optimization\" feature that reduces tile ticking a lot, which will inevitably break a lot of machines. Most people aren't even aware " - + "of this, and start blaming random mods for all their stuff breaking. In order to adjust or even disable this feature, edit \"tileentities.yml\" in your " - + "Thermos install folder. If you believe that crashing the server until a config option is changed is annoying, then I would agree, but it's still preferable " - + "over wasting hours trying to fix an issue that is really just an \"intended feature\" added by Thermos itself, and not a bug in the mod. You'll have to " - + "change Thermos' config anyway so that extra change in NTM's config can't be that big of a burden."); + throw new IllegalStateException("The mod tried to start on a Thermos or its fork server and therefore stopped. To allow the server to start on Thermos, change the appropriate " + + "config entry (0.00 in hbm.cfg). This was done because, by default, Thermos " + + "uses a so-called \"optimization\" feature that reduces tile ticking a lot, which will inevitably break a lot of machines. Most people aren't even aware " + + "of this, and start blaming random mods for all their stuff breaking. In order to adjust or even disable this feature, edit \"tileentities.yml\" in your " + + "Thermos install folder. If you believe that crashing the server until a config option is changed is annoying, then I would agree, but it's still preferable " + + "over wasting hours trying to fix an issue that is really just an \"intended feature\" added by Thermos itself, and not a bug in the mod. You'll have to " + + "change Thermos' config anyway so that extra change in NTM's config can't be that big of a burden."); } } catch(ClassNotFoundException e) { } } - + private static HashSet ignoreMappings = new HashSet(); private static HashMap remapItems = new HashMap(); - + @EventHandler public void handleMissingMappings(FMLMissingMappingsEvent event) { - + ignoreMappings.clear(); remapItems.clear(); - + /// IGNORE /// for(int i = 1; i <= 8; i++) ignoreMappings.add("hbm:item.gasflame" + i); ignoreMappings.add("hbm:item.cyclotron_tower"); @@ -1422,15 +1446,285 @@ public class MainRegistry { ignoreMappings.add("hbm:item.gas7"); ignoreMappings.add("hbm:item.gas8"); ignoreMappings.add("hbm:tile.brick_forgotten"); - + ignoreMappings.add("hbm:tile.watz_conductor"); + ignoreMappings.add("hbm:item.flame_1"); + ignoreMappings.add("hbm:item.flame_2"); + ignoreMappings.add("hbm:item.flame_3"); + ignoreMappings.add("hbm:item.flame_3"); + ignoreMappings.add("hbm:item.flame_4"); + ignoreMappings.add("hbm:item.flame_5"); + ignoreMappings.add("hbm:item.flame_6"); + ignoreMappings.add("hbm:item.flame_7"); + ignoreMappings.add("hbm:item.flame_8"); + ignoreMappings.add("hbm:item.flame_9"); + ignoreMappings.add("hbm:item.flame_10"); + ignoreMappings.add("hbm:tile.dummy_block_uf6"); + ignoreMappings.add("hbm:tile.dummy_block_puf6"); + ignoreMappings.add("hbm:item.wire_aluminium"); + ignoreMappings.add("hbm:item.wire_copper"); + ignoreMappings.add("hbm:item.wire_red_copper"); + ignoreMappings.add("hbm:item.wire_tungsten"); + ignoreMappings.add("hbm:item.wire_gold"); + ignoreMappings.add("hbm:item.wire_schrabidium"); + ignoreMappings.add("hbm:item.wire_advanced_alloy"); + ignoreMappings.add("hbm:item.wire_magnetized_tungsten"); + ignoreMappings.add("hbm:item.nugget_weidanium"); + ignoreMappings.add("hbm:item.nugget_reiium"); + ignoreMappings.add("hbm:item.nugget_unobtainium"); + ignoreMappings.add("hbm:item.nugget_daffergon"); + ignoreMappings.add("hbm:item.nugget_verticium"); + ignoreMappings.add("hbm:item.ingot_weidanium"); + ignoreMappings.add("hbm:item.ingot_reiium"); + ignoreMappings.add("hbm:item.ingot_unobtainium"); + ignoreMappings.add("hbm:item.ingot_daffergon"); + ignoreMappings.add("hbm:item.ingot_verticium"); + ignoreMappings.add("hbm:item.powder_weidanium"); + ignoreMappings.add("hbm:item.powder_reiium"); + ignoreMappings.add("hbm:item.powder_unobtainium"); + ignoreMappings.add("hbm:item.powder_daffergon"); + ignoreMappings.add("hbm:item.powder_verticium"); + ignoreMappings.add("hbm:tile.ore_random"); + ignoreMappings.add("hbm:item.crate_caller"); + ignoreMappings.add("hbm:item.pellet_rtg_berkelium"); + ignoreMappings.add("hbm:item.folly_shell"); + ignoreMappings.add("hbm:item.folly_bullet"); + ignoreMappings.add("hbm:item.folly_bullet_nuclear"); + ignoreMappings.add("hbm:item.folly_bullet_du"); + ignoreMappings.add("hbm:item.ammo_folly"); + ignoreMappings.add("hbm:item.ammo_folly_nuclear"); + ignoreMappings.add("hbm:item.ammo_folly_du"); + ignoreMappings.add("hbm:item.clip_revolver_iron"); + ignoreMappings.add("hbm:item.clip_revolver"); + ignoreMappings.add("hbm:item.clip_revolver_gold"); + ignoreMappings.add("hbm:item.clip_revolver_lead"); + ignoreMappings.add("hbm:item.clip_revolver_schrabidium"); + ignoreMappings.add("hbm:item.clip_revolver_cursed"); + ignoreMappings.add("hbm:item.clip_revolver_nightmare"); + ignoreMappings.add("hbm:item.clip_revolver_nightmare2"); + ignoreMappings.add("hbm:item.clip_revolver_pip"); + ignoreMappings.add("hbm:item.clip_revolver_nopip"); + ignoreMappings.add("hbm:item.clip_rpg"); + ignoreMappings.add("hbm:item.clip_stinger"); + ignoreMappings.add("hbm:item.clip_fatman"); + ignoreMappings.add("hbm:item.clip_mirv"); + ignoreMappings.add("hbm:item.clip_bf"); + ignoreMappings.add("hbm:item.clip_mp40"); + ignoreMappings.add("hbm:item.clip_uzi"); + ignoreMappings.add("hbm:item.clip_uboinik"); + ignoreMappings.add("hbm:item.clip_lever_action"); + ignoreMappings.add("hbm:item.clip_bolt_action"); + ignoreMappings.add("hbm:item.clip_xvl1456"); + ignoreMappings.add("hbm:item.clip_osipr"); + ignoreMappings.add("hbm:item.clip_immolator"); + ignoreMappings.add("hbm:item.clip_cryolator"); + ignoreMappings.add("hbm:item.clip_mp"); + ignoreMappings.add("hbm:item.clip_emp"); + ignoreMappings.add("hbm:item.clip_jack"); + ignoreMappings.add("hbm:item.clip_spark"); + ignoreMappings.add("hbm:item.clip_hp"); + ignoreMappings.add("hbm:item.clip_euthanasia"); + ignoreMappings.add("hbm:item.clip_defabricator"); + ignoreMappings.add("hbm:item.ammo_folly_du"); + ignoreMappings.add("hbm:tile.#null"); + ignoreMappings.add("hbm:tile.#void"); + ignoreMappings.add("hbm:tile.#ngtv"); + ignoreMappings.add("hbm:item.gun_rpg"); + ignoreMappings.add("hbm:item.gun_karl"); + ignoreMappings.add("hbm:item.gun_hk69"); + ignoreMappings.add("hbm:item.gun_skystinger"); + ignoreMappings.add("hbm:item.gun_revolver"); + ignoreMappings.add("hbm:item.gun_revolver_saturnite"); + ignoreMappings.add("hbm:item.gun_revolver_gold"); + ignoreMappings.add("hbm:item.gun_revolver_schrabidium"); + ignoreMappings.add("hbm:item.gun_revolver_cursed"); + ignoreMappings.add("hbm:item.gun_revolver_nightmare"); + ignoreMappings.add("hbm:item.gun_revolver_nightmare2"); + ignoreMappings.add("hbm:item.gun_revolver_pip"); + ignoreMappings.add("hbm:item.gun_revolver_nopip"); + ignoreMappings.add("hbm:item.gun_revolver_blackjack"); + ignoreMappings.add("hbm:item.gun_revolver_silver"); + ignoreMappings.add("hbm:item.gun_revolver_red"); + ignoreMappings.add("hbm:item.gun_bio_revolver"); + ignoreMappings.add("hbm:item.gun_deagle"); + ignoreMappings.add("hbm:item.gun_flechette"); + ignoreMappings.add("hbm:item.gun_ar15"); + ignoreMappings.add("hbm:item.gun_calamity"); + ignoreMappings.add("hbm:item.gun_lacunae"); + ignoreMappings.add("hbm:item.gun_proto"); + ignoreMappings.add("hbm:item.gun_mirv"); + ignoreMappings.add("hbm:item.gun_bf"); + ignoreMappings.add("hbm:item.gun_mp40"); + ignoreMappings.add("hbm:item.gun_thompson"); + ignoreMappings.add("hbm:item.gun_uzi_silencer"); + ignoreMappings.add("hbm:item.gun_uzi_saturnite"); + ignoreMappings.add("hbm:item.gun_uzi_saturnite_silencer"); + ignoreMappings.add("hbm:item.gun_uboinik"); + ignoreMappings.add("hbm:item.gun_remington"); + ignoreMappings.add("hbm:item.gun_supershotgun"); + ignoreMappings.add("hbm:item.gun_benelli"); + ignoreMappings.add("hbm:item.gun_ks23"); + ignoreMappings.add("hbm:item.gun_sauer"); + ignoreMappings.add("hbm:item.gun_lever_action"); + ignoreMappings.add("hbm:item.gun_lever_action_dark"); + ignoreMappings.add("hbm:item.gun_lever_action_sonata"); + ignoreMappings.add("hbm:item.gun_bolt_action"); + ignoreMappings.add("hbm:item.gun_bolt_action_green"); + ignoreMappings.add("hbm:item.gun_bolt_action_saturnite"); + ignoreMappings.add("hbm:item.gun_mymy"); + ignoreMappings.add("hbm:item.gun_b93"); + ignoreMappings.add("hbm:item.gun_xvl1456"); + ignoreMappings.add("hbm:item.gun_xvl1456_ammo"); + ignoreMappings.add("hbm:item.gun_osipr"); + ignoreMappings.add("hbm:item.gun_osipr_ammo"); + ignoreMappings.add("hbm:item.gun_osipr_ammo2"); + ignoreMappings.add("hbm:item.gun_immolator"); + ignoreMappings.add("hbm:item.gun_immolator_ammo"); + ignoreMappings.add("hbm:item.gun_cryolator"); + ignoreMappings.add("hbm:item.gun_mp"); + ignoreMappings.add("hbm:item.gun_bolter_digamma"); + ignoreMappings.add("hbm:item.gun_zomg"); + ignoreMappings.add("hbm:item.gun_super_shotgun"); + ignoreMappings.add("hbm:item.gun_moist_nugget"); + ignoreMappings.add("hbm:item.gun_revolver_inverted"); + ignoreMappings.add("hbm:item.gun_emp"); + ignoreMappings.add("hbm:item.gun_emp_ammo"); + ignoreMappings.add("hbm:item.gun_jack"); + ignoreMappings.add("hbm:item.gun_jack_ammo"); + ignoreMappings.add("hbm:item.gun_spark"); + ignoreMappings.add("hbm:item.gun_spark_ammo"); + ignoreMappings.add("hbm:item.gun_hp"); + ignoreMappings.add("hbm:item.gun_hp_ammo"); + ignoreMappings.add("hbm:item.gun_euthanasia"); + ignoreMappings.add("hbm:item.gun_euthanasia_ammo"); + ignoreMappings.add("hbm:item.gun_defabricator"); + ignoreMappings.add("hbm:item.gun_defabricator_ammo"); + ignoreMappings.add("hbm:item.gun_vortex"); + ignoreMappings.add("hbm:item.gun_waluigi"); + ignoreMappings.add("hbm:item.gun_darter"); + ignoreMappings.add("hbm:item.gun_glass_cannon"); + ignoreMappings.add("hbm:item.gun_lunatic_marksman"); + ignoreMappings.add("hbm:item.gun_uac_pistol"); + ignoreMappings.add("hbm:item.ammo_misc"); + ignoreMappings.add("hbm:item.ammo_12gauge"); + ignoreMappings.add("hbm:item.ammo_20gauge"); + ignoreMappings.add("hbm:item.ammo_4gauge"); + ignoreMappings.add("hbm:item.ammo_357"); + ignoreMappings.add("hbm:item.ammo_44"); + ignoreMappings.add("hbm:item.ammo_5mm"); + ignoreMappings.add("hbm:item.ammo_9mm"); + ignoreMappings.add("hbm:item.ammo_45"); + ignoreMappings.add("hbm:item.ammo_556"); + ignoreMappings.add("hbm:item.ammo_762"); + ignoreMappings.add("hbm:item.ammo_22lr"); + ignoreMappings.add("hbm:item.ammo_50ae"); + ignoreMappings.add("hbm:item.ammo_50bmg"); + ignoreMappings.add("hbm:item.ammo_75bolt"); + ignoreMappings.add("hbm:item.ammo_rocket"); + ignoreMappings.add("hbm:item.ammo_grenade"); + ignoreMappings.add("hbm:item.ammo_shell"); + ignoreMappings.add("hbm:item.ammo_nuke"); + ignoreMappings.add("hbm:item.ammo_fuel"); + ignoreMappings.add("hbm:item.ammo_fireext"); + ignoreMappings.add("hbm:item.ammo_dart"); + ignoreMappings.add("hbm:item.ammo_stinger_rocket"); + ignoreMappings.add("hbm:item.ammo_luna_sniper"); + ignoreMappings.add("hbm:item.ammo_coilgun"); + ignoreMappings.add("hbm:item.ammo_cell"); + ignoreMappings.add("hbm:item.b_smoke1"); + ignoreMappings.add("hbm:item.b_smoke2"); + ignoreMappings.add("hbm:item.b_smoke3"); + ignoreMappings.add("hbm:item.b_smoke4"); + ignoreMappings.add("hbm:item.b_smoke5"); + ignoreMappings.add("hbm:item.b_smoke6"); + ignoreMappings.add("hbm:item.b_smoke7"); + ignoreMappings.add("hbm:item.b_smoke8"); + ignoreMappings.add("hbm:item.ln2_1"); + ignoreMappings.add("hbm:item.ln2_2"); + ignoreMappings.add("hbm:item.ln2_3"); + ignoreMappings.add("hbm:item.ln2_4"); + ignoreMappings.add("hbm:item.ln2_5"); + ignoreMappings.add("hbm:item.ln2_6"); + ignoreMappings.add("hbm:item.ln2_7"); + ignoreMappings.add("hbm:item.ln2_8"); + ignoreMappings.add("hbm:item.ln2_9"); + ignoreMappings.add("hbm:item.ln2_10"); + ignoreMappings.add("hbm:item.casing_357"); + ignoreMappings.add("hbm:item.casing_44"); + ignoreMappings.add("hbm:item.casing_9"); + ignoreMappings.add("hbm:item.casing_50"); + ignoreMappings.add("hbm:item.casing_buckshot"); + ignoreMappings.add("hbm:item.assembly_iron"); + ignoreMappings.add("hbm:item.assembly_steel"); + ignoreMappings.add("hbm:item.assembly_lead"); + ignoreMappings.add("hbm:item.assembly_gold"); + ignoreMappings.add("hbm:item.assembly_schrabidium"); + ignoreMappings.add("hbm:item.assembly_nightmare"); + ignoreMappings.add("hbm:item.assembly_desh"); + ignoreMappings.add("hbm:item.assembly_nopip"); + ignoreMappings.add("hbm:item.assembly_smg"); + ignoreMappings.add("hbm:item.assembly_556"); + ignoreMappings.add("hbm:item.assembly_762"); + ignoreMappings.add("hbm:item.assembly_45"); + ignoreMappings.add("hbm:item.assembly_uzi"); + ignoreMappings.add("hbm:item.assembly_actionexpress"); + ignoreMappings.add("hbm:item.assembly_calamity"); + ignoreMappings.add("hbm:item.assembly_lacunae"); + ignoreMappings.add("hbm:item.assembly_luna"); + ignoreMappings.add("hbm:item.pellet_chlorophyte"); + ignoreMappings.add("hbm:item.pellet_canister"); + ignoreMappings.add("hbm:item.pellet_claws"); + ignoreMappings.add("hbm:item.pellet_flechette"); + ignoreMappings.add("hbm:item.bobmazon_materials"); + ignoreMappings.add("hbm:item.bobmazon_machines"); + ignoreMappings.add("hbm:item.bobmazon_weapons"); + ignoreMappings.add("hbm:item.bobmazon_tools"); + ignoreMappings.add("hbm:item.missile_carrier"); + ignoreMappings.add("hbm:item.magnet_circular"); + ignoreMappings.add("hbm:item.mechanism_revolver_1"); + ignoreMappings.add("hbm:item.mechanism_revolver_2"); + ignoreMappings.add("hbm:item.mechanism_rifle_1"); + ignoreMappings.add("hbm:item.mechanism_rifle_2"); + ignoreMappings.add("hbm:item.mechanism_launcher_1"); + ignoreMappings.add("hbm:item.mechanism_launcher_2"); + ignoreMappings.add("hbm:item.mechanism_special"); + ignoreMappings.add("hbm:tile.transission_hatch"); + ignoreMappings.add("hbm:tile.machine_nuke_furnace_off"); + ignoreMappings.add("hbm:tile.machine_nuke_furnace_on"); + ignoreMappings.add("hbm:item.singularity_micro"); + ignoreMappings.add("hbm:item.gun_cryocannon"); + ignoreMappings.add("hbm:item.gun_cryolator_ammo"); + ignoreMappings.add("hbm:item.canteen_fab"); + ignoreMappings.add("hbm:item.fabsols_vodka"); + ignoreMappings.add("hbm:item.test_nuke_igniter"); + ignoreMappings.add("hbm:item.test_nuke_propellant"); + ignoreMappings.add("hbm:item.test_nuke_tier1_shielding"); + ignoreMappings.add("hbm:item.test_nuke_tier2_shielding"); + ignoreMappings.add("hbm:item.test_nuke_tier1_bullet"); + ignoreMappings.add("hbm:item.test_nuke_tier2_bullet"); + ignoreMappings.add("hbm:item.test_nuke_tier1_target"); + ignoreMappings.add("hbm:item.test_nuke_tier2_target"); + ignoreMappings.add("hbm:tile.hadron_cooler"); + ignoreMappings.add("hbm:tile.machine_transformer_20"); + ignoreMappings.add("hbm:tile.machine_transformer_dnt_20"); + ignoreMappings.add("hbm:item.levitation_unit"); + ignoreMappings.add("hbm:item.letter"); + ignoreMappings.add("hbm:item.chopper_head"); + ignoreMappings.add("hbm:item.chopper_gun"); + ignoreMappings.add("hbm:item.chopper_torso"); + ignoreMappings.add("hbm:item.chopper_tail"); + ignoreMappings.add("hbm:item.chopper_wing"); + ignoreMappings.add("hbm:item.chopper_blades"); + /// REMAP /// remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses); remapItems.put("hbm:item.man_explosive8", ModItems.explosive_lenses); remapItems.put("hbm:item.briquette_lignite", ModItems.briquette); remapItems.put("hbm:item.antiknock", ModItems.fuel_additive); - + remapItems.put("hbm:item.kit_toolbox_empty", ModItems.toolbox); + remapItems.put("hbm:item.kit_toolbox", ModItems.legacy_toolbox); + for(MissingMapping mapping : event.get()) { - + // ignore all ammo prefixes because those are from the time we threw out all the ammo items if(mapping.name.startsWith("hbm:item.ammo_")) { mapping.ignore(); @@ -1441,9 +1735,8 @@ public class MainRegistry { mapping.ignore(); continue; } - + if(mapping.type == GameRegistry.Type.ITEM) { - if(remapItems.get(mapping.name) != null) { mapping.remap(remapItems.get(mapping.name)); continue; diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 4f0d2f55b..1f0be79bf 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -1,17 +1,5 @@ package com.hbm.main; -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Random; -import java.util.UUID; - -import org.apache.commons.lang3.math.NumberUtils; -import org.apache.logging.log4j.Level; - import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; import com.hbm.blocks.IStepTickReceiver; @@ -20,12 +8,9 @@ import com.hbm.blocks.generic.BlockAshes; import com.hbm.config.GeneralConfig; import com.hbm.config.MobConfig; import com.hbm.config.RadiationConfig; -import com.hbm.entity.mob.EntityCyberCrab; -import com.hbm.entity.mob.EntityDuck; -import com.hbm.entity.mob.EntityCreeperNuclear; -import com.hbm.entity.mob.EntityQuackos; -import com.hbm.entity.mob.EntityCreeperTainted; -import com.hbm.entity.projectile.EntityBulletBaseNT; +import com.hbm.config.ServerConfig; +import com.hbm.entity.mob.*; +import com.hbm.entity.projectile.EntityBulletBaseMK4; import com.hbm.entity.projectile.EntityBurningFOEQ; import com.hbm.entity.train.EntityRailCarBase; import com.hbm.extprop.HbmLivingProps; @@ -33,49 +18,43 @@ import com.hbm.extprop.HbmPlayerProps; import com.hbm.handler.ArmorModHandler; import com.hbm.handler.BobmazonOfferFactory; import com.hbm.handler.BossSpawnHandler; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; import com.hbm.handler.EntityEffectHandler; import com.hbm.hazard.HazardSystem; import com.hbm.interfaces.IBomb; +import com.hbm.interfaces.Spaghetti; +import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.handler.HTTPHandler; import com.hbm.handler.HbmKeybinds.EnumKeybind; +import com.hbm.handler.neutron.NeutronNodeWorld; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; +import com.hbm.handler.threading.PacketThreading; import com.hbm.items.IEquipReceiver; import com.hbm.items.ModItems; -import com.hbm.items.armor.ArmorFSB; -import com.hbm.items.armor.IAttackHandler; -import com.hbm.items.armor.IDamageHandler; -import com.hbm.items.armor.ItemArmorMod; -import com.hbm.items.armor.ItemModRevive; -import com.hbm.items.armor.ItemModShackles; +import com.hbm.items.armor.*; import com.hbm.items.food.ItemConserve.EnumFoodType; import com.hbm.items.tool.ItemGuideBook.BookType; -import com.hbm.items.weapon.ItemGunBase; -import com.hbm.lib.HbmCollection; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.factory.XFactory12ga; import com.hbm.lib.ModDamageSource; import com.hbm.lib.RefStrings; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.PermaSyncPacket; -import com.hbm.packet.PlayerInformPacket; +import com.hbm.packet.toclient.PermaSyncPacket; +import com.hbm.packet.toclient.PlayerInformPacket; +import com.hbm.packet.toclient.SerializableRecipePacket; +import com.hbm.particle.helper.BlackPowderCreator; import com.hbm.potion.HbmPotion; -import com.hbm.saveddata.AuxSavedData; import com.hbm.tileentity.machine.TileEntityMachineRadarNT; +import com.hbm.tileentity.machine.rbmk.RBMKDials; import com.hbm.tileentity.network.RTTYSystem; import com.hbm.tileentity.network.RequestNetwork; -import com.hbm.util.AchievementHandler; -import com.hbm.util.ArmorRegistry; -import com.hbm.util.ArmorUtil; -import com.hbm.util.ContaminationUtil; -import com.hbm.util.EnchantmentUtil; -import com.hbm.util.EnumUtil; -import com.hbm.util.InventoryUtil; -import com.hbm.util.ShadyUtil; +import com.hbm.uninos.UniNodespace; +import com.hbm.util.*; import com.hbm.util.ArmorRegistry.HazardClass; import com.hbm.world.generator.TimedGenerator; -import api.hbm.energymk2.Nodespace; +import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.PlayerEvent; @@ -83,25 +62,23 @@ import cpw.mods.fml.common.gameevent.PlayerEvent.PlayerChangedDimensionEvent; import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.common.gameevent.TickEvent.Phase; import cpw.mods.fml.common.gameevent.TickEvent.WorldTickEvent; +import cpw.mods.fml.common.network.FMLNetworkEvent.ClientDisconnectionFromServerEvent; import cpw.mods.fml.relauncher.ReflectionHelper; +import cpw.mods.fml.relauncher.Side; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.PooledByteBufAllocator; import net.minecraft.block.Block; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.command.CommandGameRule; +import net.minecraft.command.ICommand; +import net.minecraft.command.ICommandSender; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.monster.EntityCaveSpider; -import net.minecraft.entity.monster.EntityCreeper; -import net.minecraft.entity.monster.EntitySkeleton; -import net.minecraft.entity.monster.EntitySpider; -import net.minecraft.entity.monster.EntityZombie; -import net.minecraft.entity.monster.IMob; +import net.minecraft.entity.monster.*; import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityCow; -import net.minecraft.entity.passive.EntityMooshroom; -import net.minecraft.entity.passive.EntityVillager; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.event.ClickEvent; @@ -115,50 +92,48 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.tileentity.TileEntitySign; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.ChatStyle; -import net.minecraft.util.EntityDamageSource; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.FoodStats; -import net.minecraft.util.MathHelper; -import net.minecraft.util.Vec3; +import net.minecraft.util.*; import net.minecraft.world.World; import net.minecraftforge.common.util.FakePlayer; import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.event.AnvilUpdateEvent; +import net.minecraftforge.event.CommandEvent; import net.minecraftforge.event.ServerChatEvent; import net.minecraftforge.event.entity.EntityEvent; import net.minecraftforge.event.entity.EntityEvent.EnteringChunk; import net.minecraftforge.event.entity.EntityJoinWorldEvent; import net.minecraftforge.event.entity.item.ItemTossEvent; -import net.minecraftforge.event.entity.living.LivingAttackEvent; -import net.minecraftforge.event.entity.living.LivingDeathEvent; -import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.*; import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; -import net.minecraftforge.event.entity.living.LivingFallEvent; -import net.minecraftforge.event.entity.living.LivingHurtEvent; -import net.minecraftforge.event.entity.living.LivingSpawnEvent; +import net.minecraftforge.event.entity.player.AnvilRepairEvent; import net.minecraftforge.event.entity.player.AttackEntityEvent; import net.minecraftforge.event.entity.player.PlayerFlyableFallEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent; -import net.minecraftforge.event.entity.player.PlayerUseItemEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent.Action; +import net.minecraftforge.event.entity.player.PlayerUseItemEvent; import net.minecraftforge.event.world.BlockEvent.BreakEvent; +import net.minecraftforge.event.world.ChunkEvent; import net.minecraftforge.event.world.WorldEvent; +import org.apache.commons.lang3.math.NumberUtils; +import org.apache.logging.log4j.Level; +import java.io.File; +import java.lang.reflect.Field; +import java.util.*; + +@Spaghetti("fuck") public class ModEventHandler { - + private static Random rand = new Random(); - + @SubscribeEvent public void onPlayerLogin(PlayerEvent.PlayerLoggedInEvent event) { if(!event.player.worldObj.isRemote) { - + if(GeneralConfig.enableMOTD) { event.player.addChatMessage(new ChatComponentText("Loaded world with Hbm's Nuclear Tech Mod " + RefStrings.VERSION + " for Minecraft 1.7.10!")); - + if(HTTPHandler.newVersion) { event.player.addChatMessage( new ChatComponentText("New version " + HTTPHandler.versionNumber + " is available! Click ") @@ -174,33 +149,59 @@ public class ModEventHandler { ); } } - + if(MobConfig.enableDucks && event.player instanceof EntityPlayerMP && !event.player.getEntityData().getCompoundTag(EntityPlayer.PERSISTED_NBT_TAG).getBoolean("hasDucked")) PacketDispatcher.wrapper.sendTo(new PlayerInformPacket("Press O to Duck!", MainRegistry.proxy.ID_DUCK, 30_000), (EntityPlayerMP) event.player); - + if(GeneralConfig.enableGuideBook) { HbmPlayerProps props = HbmPlayerProps.getData(event.player); - + if(!props.hasReceivedBook) { event.player.inventory.addItemStackToInventory(new ItemStack(ModItems.book_guide, 1, BookType.STARTER.ordinal())); event.player.inventoryContainer.detectAndSendChanges(); props.hasReceivedBook = true; } } + + if(GeneralConfig.enableServerRecipeSync && FMLCommonHandler.instance().getSide() == Side.SERVER && event.player instanceof EntityPlayerMP) { + File recDir = new File(MainRegistry.configDir.getAbsolutePath() + File.separatorChar + "hbmRecipes"); + + MainRegistry.logger.info("Sending recipes to client!"); + + boolean hasSent = false; + + for(SerializableRecipe recipe : SerializableRecipe.recipeHandlers) { + File recFile = new File(recDir.getAbsolutePath() + File.separatorChar + recipe.getFileName()); + if(recFile.exists() && recFile.isFile()) { + MainRegistry.logger.info("Sending recipe file: " + recFile.getName()); + PacketDispatcher.wrapper.sendTo(new SerializableRecipePacket(recFile), (EntityPlayerMP) event.player); + hasSent = true; + } + } + + if(hasSent) { + PacketDispatcher.wrapper.sendTo(new SerializableRecipePacket(true), (EntityPlayerMP) event.player); + } + } } } - + + @SubscribeEvent + public void onPlayerLeftClient(ClientDisconnectionFromServerEvent event) { + SerializableRecipe.clearReceivedRecipes(); + } + @SubscribeEvent public void onPlayerRespawn(PlayerEvent.PlayerRespawnEvent event) { - + EntityPlayer player = event.player; - + if((player.getUniqueID().toString().equals(ShadyUtil.Dr_Nostalgia) || player.getDisplayName().equals("Dr_Nostalgia")) && !player.worldObj.isRemote) { - + if(!player.inventory.hasItem(ModItems.hat)) player.inventory.addItemStackToInventory(new ItemStack(ModItems.hat)); - + if(!player.inventory.hasItem(ModItems.beta)) player.inventory.addItemStackToInventory(new ItemStack(ModItems.beta)); } @@ -208,18 +209,18 @@ public class ModEventHandler { @SubscribeEvent public void onEntityConstructing(EntityEvent.EntityConstructing event) { - + if(event.entity instanceof EntityPlayer) { - + EntityPlayer player = (EntityPlayer) event.entity; HbmPlayerProps.getData(player); //this already calls the register method if it's null so no further action required - + if(event.entity == MainRegistry.proxy.me()) BlockAshes.ashes = 0; } - + if(event.entity instanceof EntityLivingBase) { - + EntityLivingBase living = (EntityLivingBase) event.entity; HbmLivingProps.getData(living); //ditto } @@ -232,44 +233,44 @@ public class ModEventHandler { data.setKeyPressed(EnumKeybind.JETPACK, false); data.setKeyPressed(EnumKeybind.DASH, false); } - + @SubscribeEvent(priority = EventPriority.HIGHEST) public void onEntityDeathFirst(LivingDeathEvent event) { - + for(int i = 1; i < 5; i++) { - + ItemStack stack = event.entityLiving.getEquipmentInSlot(i); - + if(stack != null && stack.getItem() instanceof ItemArmor && ArmorModHandler.hasMods(stack)) { - + ItemStack revive = ArmorModHandler.pryMods(stack)[ArmorModHandler.extra]; - + if(revive != null) { - + //Classic revive if(revive.getItem() instanceof ItemModRevive) { revive.setItemDamage(revive.getItemDamage() + 1); - + if(revive.getItemDamage() >= revive.getMaxDamage()) { ArmorModHandler.removeMod(stack, ArmorModHandler.extra); } else { ArmorModHandler.applyMod(stack, revive); } - + event.entityLiving.setHealth(event.entityLiving.getMaxHealth()); event.entityLiving.addPotionEffect(new PotionEffect(Potion.resistance.id, 60, 99)); event.setCanceled(true); return; } - + //Shackles if(revive.getItem() instanceof ItemModShackles && HbmLivingProps.getRadiation(event.entityLiving) < 1000F) { - + revive.setItemDamage(revive.getItemDamage() + 1); - + int dmg = revive.getItemDamage(); ArmorModHandler.applyMod(stack, revive); - + event.entityLiving.setHealth(event.entityLiving.getMaxHealth()); HbmLivingProps.incrementRadiation(event.entityLiving, dmg * dmg); event.setCanceled(true); @@ -278,242 +279,267 @@ public class ModEventHandler { } } } - + } - + @SubscribeEvent public void onEntityDeath(LivingDeathEvent event) { - + HbmLivingProps.setRadiation(event.entityLiving, 0); - + if(event.entity.worldObj.isRemote) return; - + if(GeneralConfig.enableCataclysm) { EntityBurningFOEQ foeq = new EntityBurningFOEQ(event.entity.worldObj); foeq.setPositionAndRotation(event.entity.posX, 500, event.entity.posZ, 0.0F, 0.0F); event.entity.worldObj.spawnEntityInWorld(foeq); } - + if(event.entity.getUniqueID().toString().equals(ShadyUtil.HbMinecraft) || event.entity.getCommandSenderName().equals("HbMinecraft")) { event.entity.dropItem(ModItems.book_of_, 1); } - + if(event.entity instanceof EntityCreeperTainted && event.source == ModDamageSource.boxcar) { - + for(Object o : event.entity.worldObj.getEntitiesWithinAABB(EntityPlayer.class, event.entity.boundingBox.expand(50, 50, 50))) { EntityPlayer player = (EntityPlayer)o; player.triggerAchievement(MainRegistry.bobHidden); } } - + if(!event.entityLiving.worldObj.isRemote) { - + if(event.source instanceof EntityDamageSource && ((EntityDamageSource)event.source).getEntity() instanceof EntityPlayer && !(((EntityDamageSource)event.source).getEntity() instanceof FakePlayer)) { - + if(event.entityLiving instanceof EntitySpider && event.entityLiving.getRNG().nextInt(500) == 0) { event.entityLiving.dropItem(ModItems.spider_milk, 1); } - + if(event.entityLiving instanceof EntityCaveSpider && event.entityLiving.getRNG().nextInt(100) == 0) { event.entityLiving.dropItem(ModItems.serum, 1); } - + if(event.entityLiving instanceof EntityAnimal && event.entityLiving.getRNG().nextInt(500) == 0) { event.entityLiving.dropItem(ModItems.bandaid, 1); } - + if(event.entityLiving instanceof IMob) { if(event.entityLiving.getRNG().nextInt(1000) == 0) event.entityLiving.dropItem(ModItems.heart_piece, 1); if(event.entityLiving.getRNG().nextInt(250) == 0) event.entityLiving.dropItem(ModItems.key_red_cracked, 1); if(event.entityLiving.getRNG().nextInt(250) == 0) event.entityLiving.dropItem(ModItems.launch_code_piece, 1); } - + if(event.entityLiving instanceof EntityCyberCrab && event.entityLiving.getRNG().nextInt(500) == 0) { event.entityLiving.dropItem(ModItems.wd40, 1); } } } } - + @SubscribeEvent(priority = EventPriority.LOWEST) public void onEntityDeathLast(LivingDeathEvent event) { - + if(event.entityLiving instanceof EntityPlayer) { - + EntityPlayer player = (EntityPlayer) event.entityLiving; - + for(int i = 0; i < player.inventory.getSizeInventory(); i++) { - + ItemStack stack = player.inventory.getStackInSlot(i); - + if(stack != null && stack.getItem() == ModItems.detonator_deadman) { - + if(stack.stackTagCompound != null) { - + int x = stack.stackTagCompound.getInteger("x"); int y = stack.stackTagCompound.getInteger("y"); int z = stack.stackTagCompound.getInteger("z"); if(!player.worldObj.isRemote && player.worldObj.getBlock(x, y, z) instanceof IBomb) { - + ((IBomb) player.worldObj.getBlock(x, y, z)).explode(player.worldObj, x, y, z); - + if(GeneralConfig.enableExtendedLogging) MainRegistry.logger.log(Level.INFO, "[DET] Tried to detonate block at " + x + " / " + y + " / " + z + " by dead man's switch from " + player.getDisplayName() + "!"); } - + player.inventory.setInventorySlotContents(i, null); } } } } } - + @SubscribeEvent public void decorateMob(LivingSpawnEvent event) { EntityLivingBase entity = event.entityLiving; World world = event.world; - - if(!MobConfig.enableMobGear || entity.isChild() || world.isRemote) - return; + + if(!MobConfig.enableMobGear || entity.isChild() || world.isRemote) return; + + Map> slotPools = new HashMap<>(); + + float soot = PollutionHandler.getPollution(entity.worldObj, MathHelper.floor_double(event.x), MathHelper.floor_double(event.y), MathHelper.floor_double(event.z), PollutionType.SOOT); //uhfgfg if(entity instanceof EntityZombie) { - if(rand.nextInt(64) == 0) { - ItemStack mask = new ItemStack(ModItems.gas_mask_m65); - ArmorUtil.installGasMaskFilter(mask, new ItemStack(ModItems.gas_mask_filter)); - entity.setCurrentItemOrArmor(4, mask); + if(world.rand.nextFloat() < 0.005F && soot > 2) { // full hazmat zombine + MobUtil.equipFullSet(entity, ModItems.hazmat_helmet, ModItems.hazmat_plate, ModItems.hazmat_legs, ModItems.hazmat_boots); + return; } - if(rand.nextInt(128) == 0) { - ItemStack mask = new ItemStack(ModItems.gas_mask_olde); - ArmorUtil.installGasMaskFilter(mask, new ItemStack(ModItems.gas_mask_filter)); - entity.setCurrentItemOrArmor(4, mask); - } - if(rand.nextInt(256) == 0) - entity.setCurrentItemOrArmor(4, new ItemStack(ModItems.mask_of_infamy, 1, world.rand.nextInt(100))); - if(rand.nextInt(1024) == 0) - entity.setCurrentItemOrArmor(3, new ItemStack(ModItems.starmetal_plate, 1, world.rand.nextInt(ModItems.starmetal_plate.getMaxDamage()))); - - if(rand.nextInt(128) == 0) - entity.setCurrentItemOrArmor(0, new ItemStack(ModItems.pipe_lead, 1, world.rand.nextInt(100))); - if(rand.nextInt(128) == 0) - entity.setCurrentItemOrArmor(0, new ItemStack(ModItems.reer_graar, 1, world.rand.nextInt(100))); - if(rand.nextInt(128) == 0) - entity.setCurrentItemOrArmor(0, new ItemStack(ModItems.pipe_rusty, 1, world.rand.nextInt(100))); - if(rand.nextInt(128) == 0) - entity.setCurrentItemOrArmor(0, new ItemStack(ModItems.crowbar, 1, world.rand.nextInt(100))); - if(rand.nextInt(128) == 0) - entity.setCurrentItemOrArmor(0, new ItemStack(ModItems.geiger_counter, 1)); - if(rand.nextInt(128) == 0) - entity.setCurrentItemOrArmor(0, new ItemStack(ModItems.steel_pickaxe, 1, world.rand.nextInt(300))); - if(rand.nextInt(512) == 0) - entity.setCurrentItemOrArmor(0, new ItemStack(ModItems.stopsign)); - if(rand.nextInt(512) == 0) - entity.setCurrentItemOrArmor(0, new ItemStack(ModItems.sopsign)); - if(rand.nextInt(512) == 0) - entity.setCurrentItemOrArmor(0, new ItemStack(ModItems.chernobylsign)); + slotPools = MobUtil.slotPoolCommon; + + } else if(entity instanceof EntitySkeleton) { + slotPools = MobUtil.slotPoolRanged; + ItemStack bowReplacement = getSkelegun(soot, world.rand); + slotPools.put(0, createSlotPool(50, bowReplacement != null ? new Object[][]{{bowReplacement, 1}} : new Object[][]{})); } - if(entity instanceof EntitySkeleton) { - if(rand.nextInt(16) == 0) { - ItemStack mask = new ItemStack(ModItems.gas_mask_m65); - ArmorUtil.installGasMaskFilter(mask, new ItemStack(ModItems.gas_mask_filter)); - entity.setCurrentItemOrArmor(4, mask); + + MobUtil.assignItemsToEntity(entity, slotPools, rand); + } + + private List createSlotPool(int nullWeight, Object[][] items) { + List pool = new ArrayList<>(); + pool.add(new WeightedRandomObject(null, nullWeight)); + for (Object[] item : items) { + Object obj = item[0]; + int weight = (int) item[1]; + + if (obj instanceof Item) { + pool.add(new WeightedRandomObject(new ItemStack((Item) obj), weight)); + } else if (obj instanceof ItemStack) { //lol just make it pass ItemStack aswell + pool.add(new WeightedRandomObject(obj, weight)); } - if(rand.nextInt(64) == 0) - entity.setCurrentItemOrArmor(3, new ItemStack(ModItems.steel_plate, 1, world.rand.nextInt(ModItems.steel_plate.getMaxDamage()))); + } + return pool; + } + + private static ItemStack getSkelegun(float soot, Random rand) { + if (!MobConfig.enableMobWeapons) return null; + if (rand.nextDouble() > Math.log(soot) * 0.25) return null; + + ArrayList pool = new ArrayList<>(); + + if(soot < 0.3){ + pool.add(new WeightedRandomObject(new ItemStack(ModItems.gun_pepperbox), 5)); + pool.add(new WeightedRandomObject(null, 20)); + } else if(soot > 0.3 && soot < 1) { + pool.addAll(MobUtil.slotPoolGuns.get(0.3)); + } else if (soot < 3) { + pool.addAll(MobUtil.slotPoolGuns.get(1D)); + } else if (soot < 5) { + pool.addAll(MobUtil.slotPoolGuns.get(3D)); + } else { + pool.addAll(MobUtil.slotPoolGuns.get(5D)); + } + + WeightedRandomObject selected = (WeightedRandomObject) WeightedRandom.getRandomItem(rand, pool); + + return selected.asStack(); + } + + @SubscribeEvent + public void addAITasks(EntityJoinWorldEvent event) { + if(event.world.isRemote || !(event.entity instanceof EntityLiving)) return; + + EntityLiving living = (EntityLiving) event.entity; + ItemStack held = living.getHeldItem(); + + if(held != null && held.getItem() instanceof ItemGunBaseNT) { + MobUtil.addFireTask(living); } } - + @SubscribeEvent public void onItemToss(ItemTossEvent event) { - + ItemStack yeet = event.entityItem.getEntityItem(); - + if(yeet.getItem() instanceof ItemArmor && ArmorModHandler.hasMods(yeet)) { - + ItemStack[] mods = ArmorModHandler.pryMods(yeet); ItemStack cladding = mods[ArmorModHandler.cladding]; - + if(cladding != null && cladding.getItem() == ModItems.cladding_obsidian) { ReflectionHelper.setPrivateValue(Entity.class, event.entityItem, true, "field_149119_a", "field_83001_bt", "field_149500_a", "invulnerable"); } } - + if(yeet.getItem() == ModItems.bismuth_tool) { ReflectionHelper.setPrivateValue(Entity.class, event.entityItem, true, "field_149119_a", "field_83001_bt", "field_149500_a", "invulnerable"); } } - + @SubscribeEvent public void onLivingDrop(LivingDropsEvent event) { - + if(!event.entityLiving.worldObj.isRemote) { boolean contaminated = HbmLivingProps.getContagion(event.entityLiving) > 0; - + if(contaminated) { - + for(EntityItem item : event.drops) { ItemStack stack = item.getEntityItem(); - + if(!stack.hasTagCompound()) { stack.stackTagCompound = new NBTTagCompound(); } - + stack.stackTagCompound.setBoolean("ntmContagion", true); } } } } - + @SubscribeEvent public void onLivingUpdate(LivingUpdateEvent event) { - + ItemStack[] prevArmor = event.entityLiving.previousEquipment; - if(event.entityLiving instanceof EntityPlayer && prevArmor != null && event.entityLiving.getHeldItem() != null + if(event.entityLiving instanceof EntityPlayer && prevArmor != null && event.entityLiving.getHeldItem() != null && (prevArmor[0] == null || prevArmor[0].getItem() != event.entityLiving.getHeldItem().getItem()) && event.entityLiving.getHeldItem().getItem() instanceof IEquipReceiver) { - ((IEquipReceiver)event.entityLiving.getHeldItem().getItem()).onEquip((EntityPlayer) event.entityLiving); + ((IEquipReceiver)event.entityLiving.getHeldItem().getItem()).onEquip((EntityPlayer) event.entityLiving, event.entityLiving.getHeldItem()); } - + for(int i = 1; i < 5; i++) { - + ItemStack prev = prevArmor != null ? prevArmor[i] : null; ItemStack armor = event.entityLiving.getEquipmentInSlot(i); - + boolean reapply = prevArmor != null && !ItemStack.areItemStacksEqual(prev, armor); - + if(reapply) { - + if(prev != null && ArmorModHandler.hasMods(prev)) { - + for(ItemStack mod : ArmorModHandler.pryMods(prev)) { - + if(mod != null && mod.getItem() instanceof ItemArmorMod) { - + Multimap map = ((ItemArmorMod)mod.getItem()).getModifiers(prev); - + if(map != null) event.entityLiving.getAttributeMap().removeAttributeModifiers(map); } } } } - + if(armor != null && ArmorModHandler.hasMods(armor)) { - + for(ItemStack mod : ArmorModHandler.pryMods(armor)) { - + if(mod != null && mod.getItem() instanceof ItemArmorMod) { ((ItemArmorMod)mod.getItem()).modUpdate(event.entityLiving, armor); HazardSystem.applyHazards(mod, event.entityLiving); - + if(reapply) { - + Multimap map = ((ItemArmorMod)mod.getItem()).getModifiers(armor); - + if(map != null) event.entityLiving.getAttributeMap().applyAttributeModifiers(map); } @@ -521,207 +547,88 @@ public class ModEventHandler { } } } - + EntityEffectHandler.onUpdate(event.entityLiving); - + if(!event.entity.worldObj.isRemote && !(event.entityLiving instanceof EntityPlayer)) { HazardSystem.updateLivingInventory(event.entityLiving); } } - + @SubscribeEvent(priority = EventPriority.LOWEST) public void onLoad(WorldEvent.Load event) { BobmazonOfferFactory.init(); } - + + @SubscribeEvent + public void onUnload(WorldEvent.Unload event) { + NeutronNodeWorld.streamWorlds.remove(event.world); + } + public static boolean didSit = false; public static Field reference = null; - + @SubscribeEvent public void worldTick(WorldTickEvent event) { - - /// RADIATION STUFF START /// + if(event.world != null && !event.world.isRemote) { - + if(reference != null) { for(Object player : event.world.playerEntities) { - if(((EntityPlayer) player).ridingEntity != null) { didSit = true; } + if(((EntityPlayer) player).ridingEntity != null && event.world.getTotalWorldTime() % (1 * 60 * 20) == 0) { + ((EntityPlayer) player).mountEntity(null); + didSit = true; + } } - if(didSit && event.world.getTotalWorldTime() % (1 * 20 * 20) == 0) { + /*if(didSit && event.world.getTotalWorldTime() % (1 * 20 * 20) == 0) { try { reference.setFloat(null, (float) (rand.nextGaussian() * 0.1 + Math.PI)); } catch(Throwable e) { } - } + }*/ } - - int thunder = AuxSavedData.getThunder(event.world); - - if(thunder > 0) - AuxSavedData.setThunder(event.world, thunder - 1); - - if(!event.world.loadedEntityList.isEmpty()) { - - List oList = new ArrayList(); - oList.addAll(event.world.loadedEntityList); - - /** - * REMOVE THIS V V V - */ - for(Object e : oList) { - if(e instanceof EntityLivingBase) { - - //effect for radiation - EntityLivingBase entity = (EntityLivingBase) e; - - if(entity instanceof EntityPlayer && ((EntityPlayer)entity).capabilities.isCreativeMode) - continue; - - float eRad = HbmLivingProps.getRadiation(entity); - - if(entity.getClass().equals(EntityCreeper.class) && eRad >= 200 && entity.getHealth() > 0) { - - if(event.world.rand.nextInt(3) == 0 ) { - EntityCreeperNuclear creep = new EntityCreeperNuclear(event.world); - creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); - - if(!entity.isDead) - if(!event.world.isRemote) - event.world.spawnEntityInWorld(creep); - entity.setDead(); - } else { - entity.attackEntityFrom(ModDamageSource.radiation, 100F); - } - continue; - - } else if(entity instanceof EntityCow && !(entity instanceof EntityMooshroom) && eRad >= 50) { - EntityMooshroom creep = new EntityMooshroom(event.world); - creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); - if(!entity.isDead) - if(!event.world.isRemote) - event.world.spawnEntityInWorld(creep); - entity.setDead(); - continue; - - } else if(entity instanceof EntityVillager && eRad >= 500) { - EntityZombie creep = new EntityZombie(event.world); - creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); - - if(!entity.isDead) - if(!event.world.isRemote) - event.world.spawnEntityInWorld(creep); - entity.setDead(); - continue; - } else if(entity.getClass().equals(EntityDuck.class) && eRad >= 200) { - - EntityQuackos quacc = new EntityQuackos(event.world); - quacc.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); - - if(!entity.isDead && !event.world.isRemote) - event.world.spawnEntityInWorld(quacc); - - entity.setDead(); - continue; - } - - if(eRad < 200 || ContaminationUtil.isRadImmune(entity)) - continue; - - if(eRad > 2500) - HbmLivingProps.setRadiation(entity, 2500); - - if(eRad >= 1000) { + if(event.phase == Phase.END) { - entity.attackEntityFrom(ModDamageSource.radiation, 1000F); - HbmLivingProps.setRadiation(entity, 0); - - if(entity.getHealth() > 0) { - entity.setHealth(0); - entity.onDeath(ModDamageSource.radiation); - } - - if(entity instanceof EntityPlayer) - ((EntityPlayer)entity).triggerAchievement(MainRegistry.achRadDeath); - - } else if(eRad >= 800) { - if(event.world.rand.nextInt(300) == 0) - entity.addPotionEffect(new PotionEffect(Potion.confusion.id, 5 * 30, 0)); - if(event.world.rand.nextInt(300) == 0) - entity.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 10 * 20, 2)); - if(event.world.rand.nextInt(300) == 0) - entity.addPotionEffect(new PotionEffect(Potion.weakness.id, 10 * 20, 2)); - if(event.world.rand.nextInt(500) == 0) - entity.addPotionEffect(new PotionEffect(Potion.poison.id, 3 * 20, 2)); - if(event.world.rand.nextInt(700) == 0) - entity.addPotionEffect(new PotionEffect(Potion.wither.id, 3 * 20, 1)); - - } else if(eRad >= 600) { - if(event.world.rand.nextInt(300) == 0) - entity.addPotionEffect(new PotionEffect(Potion.confusion.id, 5 * 30, 0)); - if(event.world.rand.nextInt(300) == 0) - entity.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 10 * 20, 2)); - if(event.world.rand.nextInt(300) == 0) - entity.addPotionEffect(new PotionEffect(Potion.weakness.id, 10 * 20, 2)); - if(event.world.rand.nextInt(500) == 0) - entity.addPotionEffect(new PotionEffect(Potion.poison.id, 3 * 20, 1)); - - } else if(eRad >= 400) { - if(event.world.rand.nextInt(300) == 0) - entity.addPotionEffect(new PotionEffect(Potion.confusion.id, 5 * 30, 0)); - if(event.world.rand.nextInt(500) == 0) - entity.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 5 * 20, 0)); - if(event.world.rand.nextInt(300) == 0) - entity.addPotionEffect(new PotionEffect(Potion.weakness.id, 5 * 20, 1)); - - } else if(eRad >= 200) { - if(event.world.rand.nextInt(300) == 0) - entity.addPotionEffect(new PotionEffect(Potion.confusion.id, 5 * 20, 0)); - if(event.world.rand.nextInt(500) == 0) - entity.addPotionEffect(new PotionEffect(Potion.weakness.id, 5 * 20, 0)); - - if(entity instanceof EntityPlayer) - ((EntityPlayer)entity).triggerAchievement(MainRegistry.achRadPoison); + int tickrate = Math.max(1, ServerConfig.ITEM_HAZARD_DROP_TICKRATE.get()); + + if(event.world.getTotalWorldTime() % tickrate == 0) { + List loadedEntityList = new ArrayList(); + loadedEntityList.addAll(event.world.loadedEntityList); // ConcurrentModificationException my balls + + for(Object e : loadedEntityList) { + + if(e instanceof EntityItem) { + EntityItem item = (EntityItem) e; + HazardSystem.updateDroppedItem(item); } } - - if(e instanceof EntityItem) { - EntityItem item = (EntityItem) e; - HazardSystem.updateDroppedItem(item); - } } - /** - * REMOVE THIS ^ ^ ^ - */ - } - /// RADIATION STUFF END /// - - - if(event.phase == Phase.END) { + EntityRailCarBase.updateMotion(event.world); } } - + if(event.phase == Phase.START) { BossSpawnHandler.rollTheDice(event.world); TimedGenerator.automaton(event.world, 100); } } - + @SubscribeEvent public void onEntityAttacked(LivingAttackEvent event) { - + EntityLivingBase e = event.entityLiving; if(e instanceof EntityPlayer) { - + EntityPlayer player = (EntityPlayer) e; - + if(ArmorUtil.checkArmor(player, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots)) { HbmPlayerProps.plink(player, "random.break", 0.5F, 1.0F + e.getRNG().nextFloat() * 0.5F); event.setCanceled(true); } - + if(player.inventory.armorInventory[2] != null && player.inventory.armorInventory[2].getItem() instanceof ArmorFSB) ((ArmorFSB)player.inventory.armorInventory[2].getItem()).handleAttack(event); - + for(ItemStack stack : player.inventory.armorInventory) { if(stack != null && stack.getItem() instanceof IAttackHandler) { ((IAttackHandler)stack.getItem()).handleAttack(event, stack); @@ -729,16 +636,16 @@ public class ModEventHandler { } } } - + @SubscribeEvent public void onEntityDamaged(LivingHurtEvent event) { - + EntityLivingBase e = event.entityLiving; - + if(e instanceof EntityPlayer) { - + EntityPlayer player = (EntityPlayer) e; - + HbmPlayerProps props = HbmPlayerProps.getData(player); if(props.shield > 0) { float reduce = Math.min(props.shield, event.ammount); @@ -747,35 +654,35 @@ public class ModEventHandler { } props.lastDamage = player.ticksExisted; } - + if(HbmLivingProps.getContagion(e) > 0 && event.ammount < 100) event.ammount *= 2F; - + /// ARMOR MODS /// for(int i = 1; i < 5; i++) { - + ItemStack armor = e.getEquipmentInSlot(i); - + if(armor != null && ArmorModHandler.hasMods(armor)) { - + for(ItemStack mod : ArmorModHandler.pryMods(armor)) { - + if(mod != null && mod.getItem() instanceof ItemArmorMod) { ((ItemArmorMod)mod.getItem()).modDamage(event, armor); } } } } - + if(e instanceof EntityPlayer) { - + EntityPlayer player = (EntityPlayer) e; - + /// FSB ARMOR /// if(player.inventory.armorInventory[2] != null && player.inventory.armorInventory[2].getItem() instanceof ArmorFSB) ((ArmorFSB)player.inventory.armorInventory[2].getItem()).handleHurt(event); - - + + for(ItemStack stack : player.inventory.armorInventory) { if(stack != null && stack.getItem() instanceof IDamageHandler) { ((IDamageHandler)stack.getItem()).handleDamage(event, stack); @@ -783,103 +690,108 @@ public class ModEventHandler { } } } - + @SubscribeEvent public void onPlayerFall(PlayerFlyableFallEvent event) { - + EntityPlayer e = event.entityPlayer; - + if(e.inventory.armorInventory[2] != null && e.inventory.armorInventory[2].getItem() instanceof ArmorFSB) ((ArmorFSB)e.inventory.armorInventory[2].getItem()).handleFall(e); } - + + // only for the ballistic gauntlet! contains dangerous conditional returns! @SubscribeEvent public void onPlayerPunch(AttackEntityEvent event) { - + EntityPlayer player = event.entityPlayer; ItemStack chestplate = player.inventory.armorInventory[2]; - - if(!player.worldObj.isRemote && player.getHeldItem() == null && chestplate != null && ArmorModHandler.hasMods(chestplate)) { + + if(!player.worldObj.isRemote && chestplate != null && ArmorModHandler.hasMods(chestplate)) { + + if(player.getHeldItem() != null && player.getHeldItem().getAttributeModifiers().containsKey(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName())) return; + ItemStack[] mods = ArmorModHandler.pryMods(chestplate); ItemStack servo = mods[ArmorModHandler.servos]; - - if(servo != null && servo.getItem() == ModItems.ballistic_gauntlet) { - - BulletConfiguration firedConfig = null; - for(Integer config : HbmCollection.g12) { - BulletConfiguration cfg = BulletConfigSyncingUtil.pullConfig(config); - - if(InventoryUtil.doesPlayerHaveAStack(player, cfg.ammo, true, true)) { - firedConfig = cfg; + if(servo != null && servo.getItem() == ModItems.ballistic_gauntlet) { + + BulletConfig firedConfig = null; + BulletConfig[] gauntletConfigs = new BulletConfig[] {XFactory12ga.g12_bp, XFactory12ga.g12_bp_magnum, XFactory12ga.g12_bp_slug, XFactory12ga.g12, XFactory12ga.g12_slug, XFactory12ga.g12_flechette, XFactory12ga.g12_magnum, XFactory12ga.g12_explosive, XFactory12ga.g12_phosphorus}; + + for(BulletConfig config : gauntletConfigs) { + + if(InventoryUtil.doesPlayerHaveAStack(player, config.ammo, true, true)) { + firedConfig = config; break; } } - + if(firedConfig != null) { - int bullets = firedConfig.bulletsMin; - - if(firedConfig.bulletsMax > firedConfig.bulletsMin) { - bullets += player.getRNG().nextInt(firedConfig.bulletsMax - firedConfig.bulletsMin); + int bullets = firedConfig.projectilesMin; + + if(firedConfig.projectilesMax > firedConfig.projectilesMin) { + bullets += player.getRNG().nextInt(firedConfig.projectilesMax - firedConfig.projectilesMin); } - + for(int i = 0; i < bullets; i++) { - EntityBulletBaseNT bullet = new EntityBulletBaseNT(player.worldObj, BulletConfigSyncingUtil.getKey(firedConfig), player); - player.worldObj.spawnEntityInWorld(bullet); + EntityBulletBaseMK4 mk4 = new EntityBulletBaseMK4(player, firedConfig, 15F, 0F, -0.1875, -0.0625, 0.5); + player.worldObj.spawnEntityInWorld(mk4); + if(i == 0 && firedConfig.blackPowder) BlackPowderCreator.composeEffect(player.worldObj, mk4.posX, mk4.posY, mk4.posZ, mk4.motionX, mk4.motionY, mk4.motionZ, 10, 0.25F, 0.5F, 10, 0.25F); } - + player.worldObj.playSoundAtEntity(player, "hbm:weapon.shotgunShoot", 1.0F, 1.0F); } } } } - + @SubscribeEvent public void onEntityJump(LivingJumpEvent event) { - + EntityLivingBase e = event.entityLiving; - + if(e instanceof EntityPlayer && ((EntityPlayer)e).inventory.armorInventory[2] != null && ((EntityPlayer)e).inventory.armorInventory[2].getItem() instanceof ArmorFSB) ((ArmorFSB)((EntityPlayer)e).inventory.armorInventory[2].getItem()).handleJump((EntityPlayer)e); } - + @SubscribeEvent public void onEntityFall(LivingFallEvent event) { - + EntityLivingBase e = event.entityLiving; - + if(e instanceof EntityPlayer && ((EntityPlayer)e).inventory.armorInventory[2] != null && ((EntityPlayer)e).inventory.armorInventory[2].getItem() instanceof ArmorFSB) ((ArmorFSB)((EntityPlayer)e).inventory.armorInventory[2].getItem()).handleFall((EntityPlayer)e); } - + private static final UUID fopSpeed = UUID.fromString("e5a8c95d-c7a0-4ecf-8126-76fb8c949389"); - + @SubscribeEvent public void onWingFlop(TickEvent.PlayerTickEvent event) { EntityPlayer player = event.player; - + if(event.phase == TickEvent.Phase.START) { - + if(player.getCurrentArmor(2) == null && !player.onGround) { - + if(player.getUniqueID().toString().equals(ShadyUtil.Barnaby99_x) || player.getDisplayName().equals("pheo7")) { ArmorUtil.resetFlightTime(player); HbmPlayerProps props = HbmPlayerProps.getData(player); - + if(props.isJetpackActive()) { - + if(player.motionY < 0.4D) player.motionY += 0.1D; - + Vec3 look = player.getLookVec(); - + if(Vec3.createVectorHelper(player.motionX, player.motionY, player.motionZ).lengthVector() < 2) { player.motionX += look.xCoord * 0.2; player.motionY += look.yCoord * 0.2; player.motionZ += look.zCoord * 0.2; - + if(look.yCoord > 0) player.fallDistance = 0; } @@ -888,42 +800,42 @@ public class ModEventHandler { if(player.fallDistance > 0) player.fallDistance = 0; } } - + boolean isBob = player.getUniqueID().toString().equals(ShadyUtil.HbMinecraft) || player.getDisplayName().equals("HbMinecraft"); boolean isOther = player.getUniqueID().toString().equals(ShadyUtil.the_NCR) || player.getDisplayName().equals("the_NCR"); - + if(isBob || isOther) { - + ArmorUtil.resetFlightTime(player); - + if(player.fallDistance > 0) player.fallDistance = 0; - + if(player.motionY < -0.4D) player.motionY = -0.4D; - + HbmPlayerProps props = HbmPlayerProps.getData(player); - + if(isBob || player.getFoodStats().getFoodLevel() > 6) { - + if(props.isJetpackActive()) { - + double cap = (isBob ? 0.8D : 0.4D); - + if(player.motionY < cap) player.motionY += 0.15D; else player.motionY = cap + 0.15D; - + if(isOther) { if(player.getFoodStats().getSaturationLevel() > 0F) player.addExhaustion(4F); //burn up saturation so that super-saturating foods have no effect else player.addExhaustion(0.2F); //4:1 -> 0.05 hunger per tick or 1 per second } - + } else if(props.enableBackpack && !player.isSneaking()) { - + if(player.motionY < -1) player.motionY += 0.4D; else if(player.motionY < -0.1) @@ -937,35 +849,35 @@ public class ModEventHandler { else player.addExhaustion(0.04F); } - + } else if(!props.enableBackpack && player.isSneaking()) { - + if(player.motionY < -0.08) { - + double mo = player.motionY * (isBob ? -0.6 : -0.4); player.motionY += mo; - + Vec3 vec = player.getLookVec(); vec.xCoord *= mo; vec.yCoord *= mo; vec.zCoord *= mo; - + player.motionX += vec.xCoord; player.motionY += vec.yCoord; player.motionZ += vec.zCoord; } } } - + Vec3 orig = player.getLookVec(); Vec3 look = Vec3.createVectorHelper(orig.xCoord, 0, orig.zCoord).normalize(); double mod = props.enableBackpack ? (isBob ? 0.5D : 0.25D) : 0.125D; - + if(player.moveForward != 0) { player.motionX += look.xCoord * 0.35 * player.moveForward * mod; player.motionZ += look.zCoord * 0.35 * player.moveForward * mod; } - + if(player.moveStrafing != 0) { look.rotateAroundY((float) Math.PI * 0.5F); player.motionX += look.xCoord * 0.15 * player.moveStrafing * mod; @@ -973,65 +885,65 @@ public class ModEventHandler { } } } - + if(player.getUniqueID().toString().equals(ShadyUtil.LePeeperSauvage) || player.getDisplayName().equals("LePeeperSauvage")) { - + Multimap multimap = HashMultimap.create(); multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), new AttributeModifier(fopSpeed, "FOP SPEED", 0.5, 1)); player.getAttributeMap().removeAttributeModifiers(multimap); - + if(player.isSprinting()) { player.getAttributeMap().applyAttributeModifiers(multimap); } } } } - + @SubscribeEvent public void onPlayerTick(TickEvent.PlayerTickEvent event) { - + EntityPlayer player = event.player; - + if(player.inventory.armorInventory[2] != null && player.inventory.armorInventory[2].getItem() instanceof ArmorFSB) ((ArmorFSB)player.inventory.armorInventory[2].getItem()).handleTick(event); - + if(player.ticksExisted == 100 || player.ticksExisted == 200) CraftingManager.crumple(); - + if(event.phase == TickEvent.Phase.START) { int x = MathHelper.floor_double(player.posX); int y = MathHelper.floor_double(player.posY - player.yOffset - 0.01); int z = MathHelper.floor_double(player.posZ); Block b = player.worldObj.getBlock(x, y, z); - + if(b instanceof IStepTickReceiver && !player.capabilities.isFlying) { IStepTickReceiver step = (IStepTickReceiver) b; step.onPlayerStep(player.worldObj, x, y, z, player); } } - + if(!player.worldObj.isRemote && event.phase == TickEvent.Phase.START) { - + /// GHOST FIX START /// - + if(!Float.isFinite(player.getHealth()) || !Float.isFinite(player.getAbsorptionAmount())) { player.addChatComponentMessage(new ChatComponentText("Your health has been restored!")); player.worldObj.playSoundAtEntity(player, "hbm:item.syringe", 1.0F, 1.0F); player.setHealth(player.getMaxHealth()); player.setAbsorptionAmount(0); } - + /// GHOST FIX END /// - + /// BETA HEALTH START /// if(player.inventory.hasItem(ModItems.beta)) { - + if(player.getFoodStats().getFoodLevel() > 10) { player.heal(player.getFoodStats().getFoodLevel() - 10); } - + if(player.getFoodStats().getFoodLevel() != 10) { - + // Why can't you be normal?? try { Field food = ReflectionHelper.findField(FoodStats.class, "field_75127_a", "foodLevel"); @@ -1042,113 +954,91 @@ public class ModEventHandler { /// BETA HEALTH END /// /// PU RADIATION START /// - + if(player.getUniqueID().toString().equals(ShadyUtil.Pu_238)) { - + List entities = player.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, player.boundingBox.expand(3, 3, 3)); - + for(EntityLivingBase e : entities) { - + if(e != player) { e.addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 300, 2)); } } } - - /// PU RADIATION END /// - - /*if(player instanceof EntityPlayerMP) { - int x = (int) Math.floor(player.posX); - int y = (int) Math.floor(player.posY - 0.01); - int z = (int) Math.floor(player.posZ); - - if(player.worldObj.getTileEntity(x, y, z) instanceof IEnergyConductor) { - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(((IEnergyConductor) player.worldObj.getTileEntity(x, y, z)).getPowerNet() + ""), (EntityPlayerMP) player); - } - }*/ + /// PU RADIATION END /// /// NEW ITEM SYS START /// HazardSystem.updatePlayerInventory(player); /// NEW ITEM SYS END /// - + /// SYNC START /// - if(player instanceof EntityPlayerMP) PacketDispatcher.wrapper.sendTo(new PermaSyncPacket((EntityPlayerMP) player), (EntityPlayerMP) player); + if(!player.worldObj.isRemote && player instanceof EntityPlayerMP) PacketDispatcher.wrapper.sendTo(new PermaSyncPacket((EntityPlayerMP) player), (EntityPlayerMP) player); /// SYNC END /// } if(player.worldObj.isRemote && event.phase == event.phase.START && !player.isInvisible() && !player.isSneaking()) { - + if(player.getUniqueID().toString().equals(ShadyUtil.Pu_238)) { - + Vec3 vec = Vec3.createVectorHelper(3 * rand.nextDouble(), 0, 0); vec.rotateAroundZ((float) (rand.nextDouble() * Math.PI)); vec.rotateAroundY((float) (rand.nextDouble() * Math.PI * 2)); player.worldObj.spawnParticle("townaura", player.posX + vec.xCoord, player.posY + 1 + vec.yCoord, player.posZ + vec.zCoord, 0.0, 0.0, 0.0); } } - - // OREDBG - /*if(!event.player.worldObj.isRemote) { - for(BedrockOreType type : BedrockOreType.values()) { - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(StatCollector.translateToLocalFormatted("item.bedrock_ore.type." + type.suffix + ".name") + ": " + ((int) (ItemBedrockOreBase.getOreLevel((int) Math.floor(player.posX), (int) Math.floor(player.posZ), type) * 100) / 100D), 777 + type.ordinal()), (EntityPlayerMP) player); - } - }*/ - - // PRISMDBG - /*if(!event.player.worldObj.isRemote) { - ChunkRadiationHandlerPRISM prism = (ChunkRadiationHandlerPRISM) ChunkRadiationManager.proxy; - - RadPerWorld perWorld = prism.perWorld.get(player.worldObj); - - if(perWorld != null) { - SubChunk[] chunk = perWorld.radiation.get(new ChunkCoordIntPair(((int) Math.floor(player.posX)) >> 4, ((int) Math.floor(player.posZ)) >> 4)); - - if(chunk != null) { - - int y = ((int) Math.floor(player.posY)) >> 4; - - if(y >= 0 && y <= 15) { - SubChunk sub = chunk[y]; - - if(sub != null) { - float xSum = 0, ySum = 0, zSum = 0; - for(int i = 0; i < 16; i++) { - xSum += sub.xResist[i]; ySum += sub.yResist[i]; zSum += sub.zResist[i]; - } - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(EnumChatFormatting.RED + "FREE SPACE", 1), (EntityPlayerMP) player); - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(EnumChatFormatting.RED + "FREE SPACE", 2), (EntityPlayerMP) player); - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(EnumChatFormatting.GREEN + "" + sub.checksum + " - " + ((int) sub.radiation) + "RAD/s - " + sub.needsRebuild - + " - " + (int) xSum+ " - " + (int) ySum + " - " + (int) zSum, 3), (EntityPlayerMP) player); - } else { - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(EnumChatFormatting.RED + "SUB IS NULL", 1), (EntityPlayerMP) player); - } - } else { - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(EnumChatFormatting.RED + "OUTSIDE OF WORLD", 1), (EntityPlayerMP) player); - } - } else { - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(EnumChatFormatting.RED + "CHUNK IS NULL", 1), (EntityPlayerMP) player); - } - } else { - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(EnumChatFormatting.RED + "PERWORLD IS NULL", 1), (EntityPlayerMP) player); - } - }*/ } - + @SubscribeEvent public void onServerTick(TickEvent.ServerTickEvent event) { - - if(event.phase == event.phase.START) { + + if(event.phase == Phase.START) { + + // Redstone over Radio RTTYSystem.updateBroadcastQueue(); + // Logistics drone network RequestNetwork.updateEntries(); + // Radar entry handling TileEntityMachineRadarNT.updateSystem(); - Nodespace.updateNodespace(); + // Networks! All of them! + UniNodespace.updateNodespace(); + } + + // There is an issue here somewhere... + // I cannot, for the life of me, figure out why a single certain bug happens. + // Every 20-30 or so ticks, players will receive wrong/outdated/weird information in packets + // I have tried everything to see if I can get this to stop, but it just doesn't seem to work. + + // ^ Update ^ - I figured it out, when the packets were being made for some machines they were being created inside the thread, + // meaning sometimes the machine would change data *after* the packet was supposed to be sent, meaning incorrect data was being sent. + // This has since been fixed. + + if(event.phase == Phase.END) { + // As ByteBufs are added to the queue in `com.hbm.packet.toclient.PacketThreading`, they are processed by the packet thread. + // This waits until the thread is finished, which most of the time will be instantly since it has plenty of time to process in parallel to everything else. + PacketThreading.waitUntilThreadFinished(); + + NetworkHandler.flush(); // Flush ALL network packets. } } - + + @SubscribeEvent + public void commandEvent(CommandEvent event) { + ICommand command = event.command; + ICommandSender sender = event.sender; + if(command instanceof CommandGameRule) { + if(command.canCommandSenderUseCommand(sender)) { + command.processCommand(sender,event.parameters); + RBMKDials.refresh(sender.getEntityWorld()); // Refresh RBMK gamerules. + event.setCanceled(true); + } + } + } + @SubscribeEvent public void enteringChunk(EnteringChunk evt) { - + /*if(evt.entity instanceof EntityMissileBaseNT) { ((EntityMissileBaseNT) evt.entity).loadNeighboringChunks(evt.newChunkX, evt.newChunkZ); } @@ -1157,41 +1047,54 @@ public class ModEventHandler { ((EntityMissileCustom) evt.entity).loadNeighboringChunks(evt.newChunkX, evt.newChunkZ); }*/ } - + + @SubscribeEvent + public void onChunkLoad(ChunkEvent.Load event) { + + //test for automatic in-world block replacement + + /*for(int x = 0; x < 16; x++) for(int y = 0; y < 255; y++) for(int z = 0; z < 16; z++) { + if(event.getChunk().getBlock(x, y, z) instanceof MachineArcFurnace) { + event.getChunk().func_150807_a(x, y, z, Blocks.air, 0); + } + }*/ + } + @SubscribeEvent public void onPlayerClone(net.minecraftforge.event.entity.player.PlayerEvent.Clone event) { - - NBTTagCompound data = new NBTTagCompound(); - HbmPlayerProps.getData(event.original).saveNBTData(data); - HbmPlayerProps.getData(event.entityPlayer).loadNBTData(data); + + ByteBuf buf = PooledByteBufAllocator.DEFAULT.buffer(); + HbmPlayerProps.getData(event.original).serialize(buf); + HbmPlayerProps.getData(event.entityPlayer).deserialize(buf); + buf.release(); } - + @SubscribeEvent public void itemCrafted(PlayerEvent.ItemCraftedEvent e) { AchievementHandler.fire(e.player, e.crafting); } - + @SubscribeEvent public void itemSmelted(PlayerEvent.ItemSmeltedEvent e) { AchievementHandler.fire(e.player, e.smelting); - + if(!e.player.worldObj.isRemote && e.smelting.getItem() == Items.iron_ingot && e.player.getRNG().nextInt(64) == 0) { - + if(!e.player.inventory.addItemStackToInventory(new ItemStack(ModItems.lodestone))) e.player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.lodestone), false); else e.player.inventoryContainer.detectAndSendChanges(); } - + if(!e.player.worldObj.isRemote && e.smelting.getItem() == ModItems.ingot_uranium && e.player.getRNG().nextInt(64) == 0) { - + if(!e.player.inventory.addItemStackToInventory(new ItemStack(ModItems.quartz_plutonium))) e.player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.quartz_plutonium), false); else e.player.inventoryContainer.detectAndSendChanges(); } } - + @SubscribeEvent public void onItemPickup(PlayerEvent.ItemPickupEvent event) { if(event.pickedUp.getEntityItem().getItem() == ModItems.canned_conserve && EnumUtil.grabEnumSafely(EnumFoodType.class, event.pickedUp.getEntityItem().getItemDamage()) == EnumFoodType.JIZZ) @@ -1199,40 +1102,40 @@ public class ModEventHandler { if(event.pickedUp.getEntityItem().getItem() == Items.slime_ball) event.player.triggerAchievement(MainRegistry.achSlimeball); } - + @SubscribeEvent public void onBlockBreak(BreakEvent event) { - + EntityPlayer player = event.getPlayer(); - + if(!(player instanceof EntityPlayerMP)) return; - + if(event.block == ModBlocks.stone_gneiss && !((EntityPlayerMP) player).func_147099_x().hasAchievementUnlocked(MainRegistry.achStratum)) { event.getPlayer().triggerAchievement(MainRegistry.achStratum); event.setExpToDrop(500); } - + if(event.block == Blocks.coal_ore || event.block == Blocks.coal_block || event.block == ModBlocks.ore_lignite) { - + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { int x = event.x + dir.offsetX; int y = event.y + dir.offsetY; int z = event.z + dir.offsetZ; - + if(event.world.rand.nextInt(2) == 0 && event.world.getBlock(x, y, z) == Blocks.air) event.world.setBlock(x, y, z, ModBlocks.gas_coal); } } - + if(RadiationConfig.enablePollution && RadiationConfig.enableLeadFromBlocks) { if(!ArmorRegistry.hasProtection(player, 3, HazardClass.PARTICLE_FINE)) { - + float metal = PollutionHandler.getPollution(player.worldObj, event.x, event.y, event.z, PollutionType.HEAVYMETAL); - + if(metal < 5) return; - + if(metal < 10) { player.addPotionEffect(new PotionEffect(HbmPotion.lead.id, 100, 0)); } else if(metal < 25) { @@ -1243,21 +1146,41 @@ public class ModEventHandler { } } } - + + @SubscribeEvent + public void onAnvilRepair(AnvilRepairEvent event) { + + // Anvil renaming no longer increments the repair cost + // Note: Forge has a bug, the names are wrong. Right is output, output is left, left is right + if(event.left == null && event.right != null && event.output != null) { + int oldRepairCost = event.output.getRepairCost(); + + if (oldRepairCost > 0) { + event.right.setRepairCost(oldRepairCost); + } else if (event.right.hasTagCompound()) { + NBTTagCompound nbt = event.right.getTagCompound(); + nbt.removeTag("RepairCost"); + if (nbt.hasNoTags()) { + event.right.setTagCompound(null); + } + } + } + } + @SubscribeEvent public void onClickSign(PlayerInteractEvent event) { int x = event.x; - int y = event.y; - int z = event.z; + int y = event.z; + int z = event.y; World world = event.world; - + if(!world.isRemote && event.action == Action.RIGHT_CLICK_BLOCK && world.getTileEntity(x, y, z) instanceof TileEntitySign) { - + TileEntitySign sign = (TileEntitySign)world.getTileEntity(x, y, z); - + String result = ShadyUtil.smoosh(sign.signText[0], sign.signText[1], sign.signText[2], sign.signText[3]); - + if(ShadyUtil.hashes.contains(result)) { world.func_147480_a(x, y, z, false); EntityItem entityitem = new EntityItem(world, x, y, z, new ItemStack(ModItems.bobmazon_hidden)); @@ -1266,22 +1189,22 @@ public class ModEventHandler { } } } - + @SubscribeEvent public void chatEvent(ServerChatEvent event) { - + EntityPlayerMP player = event.player; String message = event.message; - + //boolean conditions for the illiterate, edition 1 //bellow you can see the header of an if-block. inside the brackets, there is a boolean statement. //that means nothing other than its value totaling either 'true' or 'false' //examples: 'true' would just mean true //'1 > 3' would equal false //'i < 10' would equal true if 'i' is smaller than 10, if equal or greater, it will result in false - + //let's start from the back: - + //this part means that the message's first character has to equal a '!': ----------------------------+ // | //this is a logical AND operator: ----------------------------------------------------------------+ | @@ -1307,72 +1230,48 @@ public class ModEventHandler { //the config file: | | | | | | // V V V V V V if(GeneralConfig.enableDebugMode && player.getUniqueID().toString().equals(ShadyUtil.HbMinecraft) && message.startsWith("!")) { - + String[] msg = message.split(" "); - + String m = msg[0].substring(1, msg[0].length()).toLowerCase(Locale.US); - + if("gv".equals(m)) { - + int id = 0; int size = 1; int meta = 0; - + if(msg.length > 1 && NumberUtils.isNumber(msg[1])) { id = (int)(double)NumberUtils.createDouble(msg[1]); } - + if(msg.length > 2 && NumberUtils.isNumber(msg[2])) { size = (int)(double)NumberUtils.createDouble(msg[2]); } - + if(msg.length > 3 && NumberUtils.isNumber(msg[3])) { meta = (int)(double)NumberUtils.createDouble(msg[3]); } - + Item item = Item.getItemById(id); - + if(item != null && size > 0 && meta >= 0) { player.inventory.addItemStackToInventory(new ItemStack(item, size, meta)); } } - + player.inventoryContainer.detectAndSendChanges(); event.setCanceled(true); } } - - @SubscribeEvent - public void anvilUpdateEvent(AnvilUpdateEvent event) { - - if(event.left.getItem() instanceof ItemGunBase && event.right.getItem() == Items.enchanted_book) { - - event.output = event.left.copy(); - - Map mapright = EnchantmentHelper.getEnchantments(event.right); - Iterator itr = mapright.keySet().iterator(); - - while(itr.hasNext()) { - - int i = ((Integer) itr.next()).intValue(); - int j = ((Integer) mapright.get(Integer.valueOf(i))).intValue(); - Enchantment e = Enchantment.enchantmentsList[i]; - - EnchantmentUtil.removeEnchantment(event.output, e); - EnchantmentUtil.addEnchantment(event.output, e, j); - } - - event.cost = 10; - } - } - + @SubscribeEvent public void onFoodEaten(PlayerUseItemEvent.Finish event) { - + ItemStack stack = event.item; - + if(stack != null && stack.getItem() instanceof ItemFood) { - + if(stack.hasTagCompound() && stack.getTagCompound().getBoolean("ntmCyanide")) { for(int i = 0; i < 10; i++) { event.entityPlayer.attackEntityFrom(rand.nextBoolean() ? ModDamageSource.euthanizedSelf : ModDamageSource.euthanizedSelf2, 1000); @@ -1380,17 +1279,15 @@ public class ModEventHandler { } } } - + @SubscribeEvent public void filterBrokenEntity(EntityJoinWorldEvent event) { - + Entity entity = event.entity; Entity[] parts = entity.getParts(); - - //MainRegistry.logger.error("Trying to spawn entity " + entity.getClass().getCanonicalName()); - + if(parts != null) { - + for(int i = 0; i < parts.length; i++) { if(parts[i] == null) { MainRegistry.logger.error("Prevented spawning of multipart entity " + entity.getClass().getCanonicalName() + " due to parts being null!"); diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 317e05ba7..ea71876e6 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -1,19 +1,9 @@ package com.hbm.main; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Locale; -import java.util.Random; - -import org.lwjgl.input.Keyboard; -import org.lwjgl.input.Mouse; -import org.lwjgl.opengl.GL11; - import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockAshes; +import com.hbm.config.ClientConfig; import com.hbm.config.GeneralConfig; import com.hbm.entity.mob.EntityHunterChopper; import com.hbm.entity.projectile.EntityChopperMine; @@ -21,7 +11,6 @@ import com.hbm.entity.train.EntityRailCarRidable; import com.hbm.extprop.HbmLivingProps; import com.hbm.extprop.HbmPlayerProps; import com.hbm.handler.ArmorModHandler; -import com.hbm.handler.GunConfiguration; import com.hbm.handler.HTTPHandler; import com.hbm.handler.HazmatRegistry; import com.hbm.handler.ImpactWorldHandler; @@ -33,26 +22,23 @@ import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.gui.GUIArmorTable; import com.hbm.inventory.gui.GUIScreenPreview; import com.hbm.inventory.gui.GUIScreenWikiRender; -import com.hbm.items.ISyncButtons; +import com.hbm.inventory.gui.LoadingScreenRendererNT; +import com.hbm.items.ItemCustomLore; import com.hbm.items.ModItems; -import com.hbm.items.armor.ArmorFSB; -import com.hbm.items.armor.ArmorFSBPowered; -import com.hbm.items.armor.ArmorNo9; -import com.hbm.items.armor.ItemArmorMod; -import com.hbm.items.armor.JetpackBase; +import com.hbm.items.armor.*; import com.hbm.items.machine.ItemDepletedFuel; import com.hbm.items.machine.ItemFluidDuct; import com.hbm.items.machine.ItemRBMKPellet; -import com.hbm.items.weapon.ItemGunBase; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; import com.hbm.lib.Library; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; -import com.hbm.packet.GunButtonPacket; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.SyncButtonsPacket; +import com.hbm.packet.toserver.AuxButtonPacket; import com.hbm.render.anim.HbmAnimations; import com.hbm.render.anim.HbmAnimations.Animation; import com.hbm.render.block.ct.CTStitchReceiver; +import com.hbm.render.item.weapon.sedna.ItemRenderWeaponBase; import com.hbm.render.util.RenderAccessoryUtility; import com.hbm.render.util.RenderOverhead; import com.hbm.render.util.RenderScreenOverlay; @@ -63,35 +49,23 @@ import com.hbm.sound.MovingSoundChopper; import com.hbm.sound.MovingSoundChopperMine; import com.hbm.sound.MovingSoundCrashing; import com.hbm.sound.MovingSoundPlayerLoop; -import com.hbm.sound.MovingSoundXVL1456; +import com.hbm.sound.MovingSoundPlayerLoop.EnumHbmSound; import com.hbm.tileentity.bomb.TileEntityNukeCustom; import com.hbm.tileentity.bomb.TileEntityNukeCustom.CustomNukeEntry; import com.hbm.tileentity.bomb.TileEntityNukeCustom.EnumEntryType; -import com.hbm.tileentity.machine.TileEntityNukeFurnace; -import com.hbm.util.I18nUtil; -import com.hbm.util.ItemStackUtil; -import com.hbm.util.LoggingUtil; -import com.hbm.util.ShadyUtil; +import com.hbm.util.*; +import com.hbm.util.ArmorRegistry.HazardClass; +import com.hbm.util.i18n.I18nUtil; import com.hbm.wiaj.GuiWorldInAJar; import com.hbm.wiaj.cannery.CanneryBase; import com.hbm.wiaj.cannery.Jars; -import com.hbm.util.ArmorRegistry; -import com.hbm.util.ArmorUtil; -import com.hbm.util.ArmorRegistry.HazardClass; import com.mojang.authlib.minecraft.MinecraftProfileTexture.Type; - -import api.hbm.item.IButtonReceiver; -import api.hbm.item.IClickReceiver; - -import com.hbm.sound.MovingSoundPlayerLoop.EnumHbmSound; - import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.InputEvent; -import cpw.mods.fml.common.gameevent.InputEvent.KeyInputEvent; +import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent; import cpw.mods.fml.common.gameevent.TickEvent.Phase; import cpw.mods.fml.common.gameevent.TickEvent.WorldTickEvent; @@ -110,11 +84,11 @@ import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.RenderPlayer; -import net.minecraft.client.settings.KeyBinding; +import net.minecraft.client.settings.GameSettings; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; import net.minecraft.init.Blocks; +import net.minecraft.init.Items; import net.minecraft.inventory.Slot; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; @@ -123,45 +97,39 @@ import net.minecraft.network.play.client.C03PacketPlayer; import net.minecraft.network.play.client.C0CPacketInput; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.Vec3; +import net.minecraft.util.*; import net.minecraft.world.World; import net.minecraft.world.WorldProviderSurface; import net.minecraftforge.client.GuiIngameForge; +import net.minecraftforge.client.IItemRenderer; import net.minecraftforge.client.IRenderHandler; -import net.minecraftforge.client.event.FOVUpdateEvent; -import net.minecraftforge.client.event.GuiOpenEvent; -import net.minecraftforge.client.event.MouseEvent; -import net.minecraftforge.client.event.RenderGameOverlayEvent; +import net.minecraftforge.client.MinecraftForgeClient; +import net.minecraftforge.client.event.*; import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; -import net.minecraftforge.client.event.RenderHandEvent; -import net.minecraftforge.client.event.RenderItemInFrameEvent; -import net.minecraftforge.client.event.RenderLivingEvent; -import net.minecraftforge.client.event.RenderPlayerEvent; -import net.minecraftforge.client.event.RenderWorldLastEvent; -import net.minecraftforge.client.event.TextureStitchEvent; import net.minecraftforge.client.event.sound.PlaySoundEvent17; import net.minecraftforge.common.ForgeHooks; import net.minecraftforge.event.entity.player.ItemTooltipEvent; +import org.lwjgl.input.Keyboard; +import org.lwjgl.input.Mouse; +import org.lwjgl.opengl.GL11; + +import java.lang.reflect.Method; +import java.util.*; public class ModEventHandlerClient { - + public static final int flashDuration = 5_000; public static long flashTimestamp; public static final int shakeDuration = 1_500; public static long shakeTimestamp; - + @SubscribeEvent public void onOverlayRender(RenderGameOverlayEvent.Pre event) { - + EntityPlayer player = Minecraft.getMinecraft().thePlayer; - + /// NUKE FLASH /// - if(event.type == ElementType.CROSSHAIRS && (flashTimestamp + flashDuration - System.currentTimeMillis()) > 0) { + if(event.type == ElementType.CROSSHAIRS && (flashTimestamp + flashDuration - Clock.get_ms()) > 0 && ClientConfig.NUKE_HUD_FLASH.get()) { int width = event.resolution.getScaledWidth(); int height = event.resolution.getScaledHeight(); Tessellator tess = Tessellator.instance; @@ -171,7 +139,7 @@ public class ModEventHandlerClient { GL11.glAlphaFunc(GL11.GL_GEQUAL, 0.0F); GL11.glDepthMask(false); tess.startDrawingQuads(); - float brightness = (flashTimestamp + flashDuration - System.currentTimeMillis()) / (float) flashDuration; + float brightness = (flashTimestamp + flashDuration - Clock.get_ms()) / (float) flashDuration; tess.setColorRGBA_F(1F, 1F, 1F, brightness * 1F); tess.addVertex(width, 0, 0); tess.addVertex(0, 0, 0); @@ -184,62 +152,87 @@ public class ModEventHandlerClient { GL11.glDepthMask(true); return; } - + + /*if(event.type == ElementType.CROSSHAIRS && player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.gun_aberrator) { + int width = event.resolution.getScaledWidth(); + int height = event.resolution.getScaledHeight(); + Tessellator tess = Tessellator.instance; + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(GL11.GL_ONE_MINUS_DST_COLOR, GL11.GL_ONE_MINUS_SRC_COLOR, 1, 0); + GL11.glAlphaFunc(GL11.GL_GEQUAL, 0.0F); + GL11.glDepthMask(false); + tess.startDrawingQuads(); + float intensity = 0.2F; + tess.setColorRGBA_F(intensity, intensity, intensity, 1F); + tess.addVertex(width, 0, 0); + tess.addVertex(0, 0, 0); + tess.addVertex(0, height, 0); + tess.addVertex(width, height, 0); + tess.draw(); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); + GL11.glDepthMask(true); + }*/ + /// HANDLE GUN OVERLAYS /// if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IItemHUD) { ((IItemHUD)player.getHeldItem().getItem()).renderHUD(event, event.type, player, player.getHeldItem()); } - + /// HANDLE GEIGER COUNTER HUD /// if(event.type == ElementType.HOTBAR) { - + if(!(ArmorFSB.hasFSBArmor(player) && ((ArmorFSB)player.inventory.armorInventory[2].getItem()).customGeiger)) { - + if(player.inventory.hasItem(ModItems.geiger_counter)) { - + float rads = HbmLivingProps.getRadiation(player); - + RenderScreenOverlay.renderRadCounter(event.resolution, rads, Minecraft.getMinecraft().ingameGUI); } } } /// DODD DIAG HOOK FOR RBMK - if(event.type == ElementType.CROSSHAIRS) { + if(event.type == ElementType.CROSSHAIRS && ClientConfig.DODD_RBMK_DIAGNOSTIC.get()) { Minecraft mc = Minecraft.getMinecraft(); World world = mc.theWorld; MovingObjectPosition mop = mc.objectMouseOver; - + if(mop != null) { - + if(mop.typeOfHit == mop.typeOfHit.BLOCK) { - + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ILookOverlay) { ((ILookOverlay) player.getHeldItem().getItem()).printHook(event, world, mop.blockX, mop.blockY, mop.blockZ); - + } else if(world.getBlock(mop.blockX, mop.blockY, mop.blockZ) instanceof ILookOverlay) { ((ILookOverlay) world.getBlock(mop.blockX, mop.blockY, mop.blockZ)).printHook(event, world, mop.blockX, mop.blockY, mop.blockZ); } - + /*List text = new ArrayList(); text.add("Meta: " + world.getBlockMetadata(mop.blockX, mop.blockY, mop.blockZ)); ILookOverlay.printGeneric(event, "DEBUG", 0xffff00, 0x4040000, text);*/ - + } else if(mop.typeOfHit == mop.typeOfHit.ENTITY) { Entity entity = mop.entityHit; - + if(entity instanceof ILookOverlay) { ((ILookOverlay) entity).printHook(event, world, 0, 0, 0); } } + + GL11.glColor4f(1F, 1F, 1F, 1F); } - + /*List text = new ArrayList(); text.add("IMPACT: " + ImpactWorldHandler.getImpactForClient(world)); text.add("DUST: " + ImpactWorldHandler.getDustForClient(world)); text.add("FIRE: " + ImpactWorldHandler.getFireForClient(world)); ILookOverlay.printGeneric(event, "DEBUG", 0xffff00, 0x4040000, text);*/ - + /*if(mop != null && mop.typeOfHit == mop.typeOfHit.BLOCK) { ScaledResolution resolution = event.resolution; GL11.glPushMatrix(); @@ -251,134 +244,141 @@ public class ModEventHandlerClient { GL11.glPopMatrix(); Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); }*/ - + /*List text = new ArrayList(); MovingObjectPosition pos = Library.rayTrace(player, 500, 1, false, true, false); - + for(int i = 0; i < 2; i++) if(pos != null && pos.typeOfHit == pos.typeOfHit.BLOCK) { - + float yaw = player.rotationYaw; - + Vec3 next = Vec3.createVectorHelper(pos.hitVec.xCoord, pos.hitVec.yCoord, pos.hitVec.zCoord); int it = 0; - + BlockPos anchor = new BlockPos(pos.blockX, pos.blockY, pos.blockZ); - + double distanceToCover = 4D * (i == 0 ? 1 : -1); - + if(distanceToCover < 0) { distanceToCover *= -1; yaw += 180; } - + do { - + it++; - + if(it > 30) { world.createExplosion(player, pos.hitVec.xCoord, pos.hitVec.yCoord, pos.hitVec.zCoord, 5F, false); break; } - + int x = anchor.getX(); int y = anchor.getY(); int z = anchor.getZ(); Block block = world.getBlock(x, y, z); - + Vec3 rot = Vec3.createVectorHelper(0, 0, 1); rot.rotateAroundY((float) (-yaw * Math.PI / 180D)); - + if(block instanceof IRailNTM) { IRailNTM rail = (IRailNTM) block; RailContext info = new RailContext(); - + boolean flip = distanceToCover < 0; - + if(it == 1) { Vec3 snap = next = rail.getTravelLocation(world, x, y, z, next.xCoord, next.yCoord, next.zCoord, rot.xCoord, rot.yCoord, rot.zCoord, 0, info, new MoveContext(RailCheckType.CORE, 0)); if(i == 0) world.spawnParticle("reddust", snap.xCoord, snap.yCoord + 0.25, snap.zCoord, 0.1, 1, 0.1); } - + Vec3 prev = next; next = rail.getTravelLocation(world, x, y, z, prev.xCoord, prev.yCoord, prev.zCoord, rot.xCoord, rot.yCoord, rot.zCoord, distanceToCover, info, new MoveContext(i == 0 ? RailCheckType.FRONT : RailCheckType.BACK, 0)); distanceToCover = info.overshoot; anchor = info.pos; if(i == 0) world.spawnParticle("reddust", next.xCoord, next.yCoord + 0.25, next.zCoord, 0, distanceToCover != 0 ? 0.5 : 0, 0); else world.spawnParticle("reddust", next.xCoord, next.yCoord + 0.25, next.zCoord, 0, distanceToCover != 0 ? 0.5 : 0, 1); - + double deltaX = next.xCoord - prev.xCoord; double deltaZ = next.zCoord - prev.zCoord; double radians = -Math.atan2(deltaX, deltaZ); yaw = (float) MathHelper.wrapAngleTo180_double(radians * 180D / Math.PI + (flip ? 180 : 0)); - + text.add(it + ": " + yaw); - + } else { break; } - + } while(distanceToCover != 0); - + ILookOverlay.printGeneric(event, "DEBUG", 0xffff00, 0x4040000, text); }*/ } - - /// HANLDE ANIMATION BUSES /// - - for(int i = 0; i < HbmAnimations.hotbar.length; i++) { - - Animation animation = HbmAnimations.hotbar[i]; - - if(animation == null) - continue; - if(animation.holdLastFrame) - continue; - - long time = System.currentTimeMillis() - animation.startMillis; - - if(time > animation.animation.getDuration()) - HbmAnimations.hotbar[i] = null; + /// HANLDE ANIMATION BUSES /// + + for(int i = 0; i < HbmAnimations.hotbar.length; i++) { + for(int j = 0; j < HbmAnimations.hotbar[i].length; j++) { + + Animation animation = HbmAnimations.hotbar[i][j]; + + if(animation == null) + continue; + + if(animation.holdLastFrame) + continue; + + long time = Clock.get_ms() - animation.startMillis; + + if(time > animation.animation.getDuration()) + HbmAnimations.hotbar[i][j] = null; + } } - + if(!ducked && Keyboard.isKeyDown(Keyboard.KEY_O) && Minecraft.getMinecraft().currentScreen == null) { ducked = true; PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(0, 0, 0, 999, 0)); } - + /// HANDLE SCOPE OVERLAY /// ItemStack held = player.getHeldItem(); - - if(player.isSneaking() && held != null && held.getItem() instanceof ItemGunBase && event.type == event.type.HOTBAR) { - GunConfiguration config = ((ItemGunBase) held.getItem()).mainConfig; - - if(config.scopeTexture != null) { + + if(held != null && held.getItem() instanceof ItemGunBaseNT && ItemGunBaseNT.aimingProgress == ItemGunBaseNT.prevAimingProgress && ItemGunBaseNT.aimingProgress == 1F && event.type == event.type.HOTBAR) { + ItemGunBaseNT gun = (ItemGunBaseNT) held.getItem(); + GunConfig cfg = gun.getConfig(held, 0); + if(cfg.getScopeTexture(held) != null) { ScaledResolution resolution = event.resolution; - RenderScreenOverlay.renderScope(resolution, config.scopeTexture); + RenderScreenOverlay.renderScope(resolution, cfg.getScopeTexture(held)); } } - + + //prevents NBT changes (read: every fucking tick) on guns from bringing up the item's name over the hotbar + if(held != null && held.getItem() instanceof ItemGunBaseNT && Minecraft.getMinecraft().ingameGUI.highlightingItemStack != null && Minecraft.getMinecraft().ingameGUI.highlightingItemStack.getItem() == held.getItem()) { + Minecraft.getMinecraft().ingameGUI.highlightingItemStack = held; + } + /// HANDLE FSB HUD /// ItemStack helmet = player.inventory.armorInventory[3]; - + if(helmet != null && helmet.getItem() instanceof ArmorFSB) { ((ArmorFSB)helmet.getItem()).handleOverlay(event, player); } if(!event.isCanceled() && event.type == event.type.HOTBAR) { - + HbmPlayerProps props = HbmPlayerProps.getData(player); if(props.getDashCount() > 0) { RenderScreenOverlay.renderDashBar(event.resolution, Minecraft.getMinecraft().ingameGUI, props); - + } } } - + @SubscribeEvent(receiveCanceled = true) public void onHUDRenderShield(RenderGameOverlayEvent.Pre event) { EntityPlayer player = Minecraft.getMinecraft().thePlayer; - + if(event.type == event.type.ARMOR) { HbmPlayerProps props = HbmPlayerProps.getData(player); @@ -387,17 +387,17 @@ public class ModEventHandlerClient { } } } - + @SubscribeEvent(receiveCanceled = true, priority = EventPriority.LOW) public void onHUDRenderBar(RenderGameOverlayEvent.Post event) { - + /// HANDLE ELECTRIC FSB HUD /// - + EntityPlayer player = Minecraft.getMinecraft().thePlayer; Tessellator tess = Tessellator.instance; - + if(event.type == event.type.ARMOR) { - + if(ForgeHooks.getTotalArmorValue(player) == 0) { GuiIngameForge.left_height -= 10; } @@ -414,7 +414,7 @@ public class ModEventHandlerClient { tess.startDrawingQuads(); for(int i = 0; i < (noHelmet ? 3 : 4); i++) { - + int top = height - GuiIngameForge.left_height + 7; ItemStack stack = player.inventory.armorInventory[i]; @@ -443,12 +443,12 @@ public class ModEventHandlerClient { GL11.glEnable(GL11.GL_TEXTURE_2D); - } else if(player.inventory.armorInventory[2] != null && player.inventory.armorInventory[2].getItem() instanceof JetpackBase) { + } else if(player.inventory.armorInventory[2] != null && player.inventory.armorInventory[2].getItem() instanceof JetpackFueledBase) { ItemStack stack = player.inventory.armorInventory[2]; - float tot = (float) ((JetpackBase) stack.getItem()).getFuel(stack) / (float) ((JetpackBase) stack.getItem()).getMaxFill(stack); - + float tot = (float) ((JetpackFueledBase) stack.getItem()).getFuel(stack) / (float) ((JetpackFueledBase) stack.getItem()).getMaxFill(stack); + int top = height - GuiIngameForge.left_height + 3; GL11.glDisable(GL11.GL_TEXTURE_2D); @@ -471,45 +471,38 @@ public class ModEventHandlerClient { } } } - + @SubscribeEvent public void setupFOV(FOVUpdateEvent event) { - + EntityPlayer player = Minecraft.getMinecraft().thePlayer; ItemStack held = player.getHeldItem(); - + if(held == null) return; - if(!(held.getItem() instanceof ItemGunBase)) return; - - GunConfiguration config = ((ItemGunBase) held.getItem()).mainConfig; - - if(config == null) return; - if(config.zoomFOV == 0F || !player.isSneaking()) return; - - if(config.absoluteFOV) { - event.newfov = config.zoomFOV; - } else { - event.newfov += config.zoomFOV; - } + + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(held, IItemRenderer.ItemRenderType.EQUIPPED); + if(!(customRenderer instanceof ItemRenderWeaponBase)) return; + ItemRenderWeaponBase renderGun = (ItemRenderWeaponBase) customRenderer; + event.newfov = renderGun.getViewFOV(held, event.fov); } - + public static boolean ducked = false; - + @SubscribeEvent public void preRenderEvent(RenderPlayerEvent.Pre event) { - + RenderPlayer renderer = event.renderer; AbstractClientPlayer player = (AbstractClientPlayer)event.entityPlayer; - + PotionEffect invis = player.getActivePotionEffect(Potion.invisibility); - + if(invis != null && invis.getAmplifier() > 0) event.setCanceled(true); if(player.getDisplayName().toLowerCase(Locale.US).equals("martmn")) { - + event.setCanceled(true); - + float pX = (float) (player.prevPosX + (player.posX - player.prevPosX) * (double)event.partialRenderTick); float pY = (float) (player.prevPosY + (player.posY - player.prevPosY) * (double)event.partialRenderTick); float pZ = (float) (player.prevPosZ + (player.posZ - player.prevPosZ) * (double)event.partialRenderTick); @@ -533,49 +526,49 @@ public class ModEventHandlerClient { t.addVertexWithUV(1, -1, 0, 1, 1); t.addVertexWithUV(-1, -1, 0, 0, 1); t.draw(); - + GL11.glEnable(GL11.GL_LIGHTING); - + GL11.glPopMatrix(); } - + ResourceLocation cloak = RenderAccessoryUtility.getCloakFromPlayer(player); - + if(cloak != null) player.func_152121_a(Type.CAPE, cloak); - + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IHoldableWeapon) { renderer.modelBipedMain.aimedBow = true; renderer.modelArmor.aimedBow = true; renderer.modelArmorChestplate.aimedBow = true; } } - + @SubscribeEvent public void onRenderArmorEvent(RenderPlayerEvent.SetArmorModel event) { - + EntityPlayer player = event.entityPlayer; - + for(int i = 0; i < 4; i++) { - + ItemStack armor = player.getCurrentArmor(i); - + if(armor != null && ArmorModHandler.hasMods(armor)) { - + for(ItemStack mod : ArmorModHandler.pryMods(armor)) { - + if(mod != null && mod.getItem() instanceof ItemArmorMod) { ((ItemArmorMod)mod.getItem()).modRender(event, armor); } } } - + //because armor that isn't ItemArmor doesn't render at all if(armor != null && armor.getItem() instanceof JetpackBase) { ((ItemArmorMod)armor.getItem()).modRender(event, armor); } } - + if(player.getCurrentArmor(2) == null && !player.isPotionActive(Potion.invisibility)) { if(player.getUniqueID().toString().equals(ShadyUtil.HbMinecraft) || player.getDisplayName().equals("HbMinecraft")) RenderAccessoryUtility.renderWings(event, 2); if(player.getUniqueID().toString().equals(ShadyUtil.the_NCR) || player.getDisplayName().equals("the_NCR")) RenderAccessoryUtility.renderWings(event, 3); @@ -584,134 +577,58 @@ public class ModEventHandlerClient { } } - @SubscribeEvent - public void clickHandler(MouseEvent event) { - - EntityPlayer player = Minecraft.getMinecraft().thePlayer; - - if(player.getHeldItem() != null) { - - Item held = player.getHeldItem().getItem(); - - if(held instanceof IClickReceiver) { - IClickReceiver rec = (IClickReceiver) held; - - if(rec.handleMouseInput(player.getHeldItem(), player, event.button, event.buttonstate)) { - event.setCanceled(true); - return; - } - } - - if(held instanceof ItemGunBase) { - - if(event.button == 0) - event.setCanceled(true); - - ItemGunBase item = (ItemGunBase)player.getHeldItem().getItem(); - - if(event.button == 0 && !item.m1 && !item.m2) { - item.m1 = true; - PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(true, (byte) 0)); - item.startActionClient(player.getHeldItem(), player.worldObj, player, true); - } - else if(event.button == 1 && !item.m2 && !item.m1) { - item.m2 = true; - PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(true, (byte) 1)); - item.startActionClient(player.getHeldItem(), player.worldObj, player, false); - } - } - - if(held instanceof ISyncButtons) { - ISyncButtons rec = (ISyncButtons) held; - - if(rec.canReceiveMouse(player, player.getHeldItem(), event, event.button, event.buttonstate)) { - PacketDispatcher.wrapper.sendToServer(new SyncButtonsPacket(event.buttonstate, event.button)); - } - } - } - } - - @SubscribeEvent - public void keyEvent(KeyInputEvent event) { - - EntityPlayer player = Minecraft.getMinecraft().thePlayer; - - if(player.getHeldItem() != null) { - - Item held = player.getHeldItem().getItem(); - - if(held instanceof IButtonReceiver) { - IButtonReceiver rec = (IButtonReceiver) held; - rec.handleKeyboardInput(player.getHeldItem(), player); - } - } - } - @Spaghetti("please get this shit out of my face") @SubscribeEvent public void onPlaySound(PlaySoundEvent17 e) { - + EntityPlayer player = MainRegistry.proxy.me(); Minecraft mc = Minecraft.getMinecraft(); - + if(player != null && mc.theWorld != null) { int i = MathHelper.floor_double(player.posX); int j = MathHelper.floor_double(player.posY); int k = MathHelper.floor_double(player.posZ); Block block = mc.theWorld.getBlock(i, j, k); - + if(block == ModBlocks.vacuum) { e.result = null; return; } } - + ResourceLocation r = e.sound.getPositionedSoundLocation(); WorldClient wc = mc.theWorld; - + //Alright, alright, I give the fuck up, you've wasted my time enough with this bullshit. You win. //A winner is you. //Conglaturations. //Fuck you. - if(r.toString().equals("hbm:misc.nullTau") && Library.getClosestPlayerForSound(wc, e.sound.getXPosF(), e.sound.getYPosF(), e.sound.getZPosF(), 2) != null) - { - EntityPlayer ent = Library.getClosestPlayerForSound(wc, e.sound.getXPosF(), e.sound.getYPosF(), e.sound.getZPosF(), 2); - - if(MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundTauLoop) == null) { - MovingSoundPlayerLoop.globalSoundList.add(new MovingSoundXVL1456(new ResourceLocation("hbm:weapon.tauChargeLoop2"), ent, EnumHbmSound.soundTauLoop)); - MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundTauLoop).setPitch(0.5F); - } else { - if(MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundTauLoop).getPitch() < 1.5F) - MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundTauLoop).setPitch(MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundTauLoop).getPitch() + 0.01F); - } - } - if(r.toString().equals("hbm:misc.nullChopper") && Library.getClosestChopperForSound(wc, e.sound.getXPosF(), e.sound.getYPosF(), e.sound.getZPosF(), 2) != null) { EntityHunterChopper ent = Library.getClosestChopperForSound(wc, e.sound.getXPosF(), e.sound.getYPosF(), e.sound.getZPosF(), 2); - + if(MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundChopperLoop) == null) { MovingSoundPlayerLoop.globalSoundList.add(new MovingSoundChopper(new ResourceLocation("hbm:entity.chopperFlyingLoop"), ent, EnumHbmSound.soundChopperLoop)); MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundChopperLoop).setVolume(10.0F); } } - + if(r.toString().equals("hbm:misc.nullCrashing") && Library.getClosestChopperForSound(wc, e.sound.getXPosF(), e.sound.getYPosF(), e.sound.getZPosF(), 2) != null) { EntityHunterChopper ent = Library.getClosestChopperForSound(wc, e.sound.getXPosF(), e.sound.getYPosF(), e.sound.getZPosF(), 2); - + if(MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundCrashingLoop) == null) { MovingSoundPlayerLoop.globalSoundList.add(new MovingSoundCrashing(new ResourceLocation("hbm:entity.chopperCrashingLoop"), ent, EnumHbmSound.soundCrashingLoop)); MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundCrashingLoop).setVolume(10.0F); } } - + if(r.toString().equals("hbm:misc.nullMine") && Library.getClosestMineForSound(wc, e.sound.getXPosF(), e.sound.getYPosF(), e.sound.getZPosF(), 2) != null) { EntityChopperMine ent = Library.getClosestMineForSound(wc, e.sound.getXPosF(), e.sound.getYPosF(), e.sound.getZPosF(), 2); - + if(MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundMineLoop) == null) { MovingSoundPlayerLoop.globalSoundList.add(new MovingSoundChopperMine(new ResourceLocation("hbm:entity.chopperMineLoop"), ent, EnumHbmSound.soundMineLoop)); MovingSoundPlayerLoop.getSoundByPlayer(ent, EnumHbmSound.soundMineLoop).setVolume(10.0F); @@ -727,140 +644,137 @@ public class ModEventHandlerClient { } } } - + @SubscribeEvent public void drawTooltip(ItemTooltipEvent event) { - + ItemStack stack = event.itemStack; List list = event.toolTip; - + + /// DAMAGE RESISTANCE /// + DamageResistanceHandler.addInfo(stack, list); + /// HAZMAT INFO /// List hazInfo = ArmorRegistry.hazardClasses.get(stack.getItem()); - + if(hazInfo != null) { - + if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKey("hazard.prot")); for(HazardClass clazz : hazInfo) { list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey(clazz.lang)); } } else { - + list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +"Hold <" + EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "> to display protection info"); } } - + /// CLADDING (LEGACY) /// double rad = HazmatRegistry.getResistance(stack); rad = ((int)(rad * 1000)) / 1000D; if(rad > 0) list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("trait.radResistance", rad)); - + /// ARMOR MODS /// if(stack.getItem() instanceof ItemArmor && ArmorModHandler.hasMods(stack)) { - + if(!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) && !(Minecraft.getMinecraft().currentScreen instanceof GUIArmorTable)) { - + list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +"Hold <" + EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "> to display installed armor mods"); - + } else { - + list.add(EnumChatFormatting.YELLOW + "Mods:"); - + ItemStack[] mods = ArmorModHandler.pryMods(stack); - + for(int i = 0; i < 8; i++) { - + if(mods[i] != null && mods[i].getItem() instanceof ItemArmorMod) { - + ((ItemArmorMod)mods[i].getItem()).addDesc(list, mods[i], stack); } } } } - + /// HAZARDS /// HazardSystem.addFullTooltip(stack, event.entityPlayer, list); - - if(event.showAdvancedItemTooltips) { + + if(event.showAdvancedItemTooltips && ClientConfig.ITEM_TOOLTIP_SHOW_OREDICT.get()) { List names = ItemStackUtil.getOreDictNames(stack); - + if(names.size() > 0) { list.add(EnumChatFormatting.BLUE + "Ore Dict:"); for(String s : names) { list.add(EnumChatFormatting.AQUA + " -" + s); } - } else { - list.add(EnumChatFormatting.RED + "No Ore Dict data!"); } } - - /// NUCLEAR FURNACE FUELS /// - int breeder = TileEntityNukeFurnace.getFuelValue(stack); - - if(breeder != 0) { - list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("trait.furnace", breeder)); - } - + /// CUSTOM NUKE /// ComparableStack comp = new ComparableStack(stack).makeSingular(); - CustomNukeEntry entry = TileEntityNukeCustom.entries.get(comp); - - if(entry != null) { - - if(!list.isEmpty()) - list.add(""); - - if(entry.entry == EnumEntryType.ADD) - list.add(EnumChatFormatting.GOLD + "Adds " + entry.value + " to the custom nuke stage " + entry.type); - if(entry.entry == EnumEntryType.MULT) - list.add(EnumChatFormatting.GOLD + "Adds multiplier " + entry.value + " to the custom nuke stage " + entry.type); + if(ClientConfig.ITEM_TOOLTIP_SHOW_CUSTOM_NUKE.get()) { + CustomNukeEntry entry = TileEntityNukeCustom.entries.get(comp); + + if(entry != null) { + + if(!list.isEmpty()) + list.add(""); + + if(entry.entry == EnumEntryType.ADD) + list.add(EnumChatFormatting.GOLD + "Adds " + entry.value + " to the custom nuke stage " + entry.type); + + if(entry.entry == EnumEntryType.MULT) + list.add(EnumChatFormatting.GOLD + "Adds multiplier " + entry.value + " to the custom nuke stage " + entry.type); + } } - + try { CanneryBase cannery = Jars.canneries.get(comp); if(cannery != null) { list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey("cannery.f1")); lastCannery = comp; - canneryTimestamp = System.currentTimeMillis(); + canneryTimestamp = Clock.get_ms(); } } catch(Exception ex) { list.add(EnumChatFormatting.RED + "Error loading cannery: " + ex.getLocalizedMessage()); } - + /*ItemStack copy = stack.copy(); List materials = Mats.getMaterialsFromItem(copy); - + if(!materials.isEmpty()) { for(MaterialStack mat : materials) { list.add(EnumChatFormatting.DARK_PURPLE + mat.material.names[0] + ": " + Mats.formatAmount(mat.amount * stack.stackSize)); } }*/ } - + private static long canneryTimestamp; private static ComparableStack lastCannery = null; - + private ResourceLocation ashes = new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_ash.png"); - + @SideOnly(Side.CLIENT) //@SubscribeEvent public void onRenderStorm(RenderHandEvent event) { - + if(BlockAshes.ashes == 0) return; - + GL11.glPushMatrix(); - + Minecraft mc = Minecraft.getMinecraft(); GL11.glRotatef((float)-mc.thePlayer.rotationYaw, 0, 1, 0); GL11.glRotatef((float)(mc.thePlayer.rotationPitch), 1, 0, 0); - + ScaledResolution resolution = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight); GL11.glDisable(GL11.GL_DEPTH_TEST); @@ -868,12 +782,12 @@ public class ModEventHandlerClient { GL11.glEnable(GL11.GL_BLEND); OpenGlHelper.glBlendFunc(770, 771, 1, 0); GL11.glEnable(GL11.GL_ALPHA_TEST); - + int w = resolution.getScaledWidth(); int h = resolution.getScaledHeight(); - double off = System.currentTimeMillis() / -10000D % 10000D; + double off = Clock.get_ms() / -10000D % 10000D; double aw = 25; - + Tessellator tessellator = Tessellator.instance; //int d = mc.theWorld.getLightBrightnessForSkyBlocks(MathHelper.floor_double(mc.thePlayer.posX), MathHelper.floor_double(mc.thePlayer.posY), MathHelper.floor_double(mc.thePlayer.posZ), 0); @@ -882,21 +796,21 @@ public class ModEventHandlerClient { int lX = lastBrightness % 65536; int lY = lastBrightness / 65536; float interp = (mc.theWorld.getTotalWorldTime() % 20) * 0.05F; - + if(mc.theWorld.getTotalWorldTime() == 1) lastBrightness = currentBrightness; - + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)(lX + (cX - lX) * interp) / 1.0F, (float)(lY + (cY - lY) * interp) / 1.0F); mc.entityRenderer.enableLightmap((double)event.partialTicks); - + mc.getTextureManager().bindTexture(ashes); - + for(int i = 1; i < 3; i++) { - + GL11.glRotatef(-15, 0, 0, 1); GL11.glColor4f(1.0F, 1.0F, 1.0F, BlockAshes.ashes / 256F * 0.98F / i); - + tessellator.startDrawingQuads(); tessellator.addVertexWithUV(-w * 0.25, h * 0.25, aw, 0.0D + off * i, 1.0D); tessellator.addVertexWithUV(w * 0.25, h * 0.25, aw, 1.0D + off * i, 1.0D); @@ -906,7 +820,7 @@ public class ModEventHandlerClient { } mc.entityRenderer.disableLightmap((double)event.partialTicks); - + GL11.glDepthMask(true); GL11.glEnable(GL11.GL_DEPTH_TEST); GL11.glDisable(GL11.GL_BLEND); @@ -919,15 +833,15 @@ public class ModEventHandlerClient { public static int lastBrightness = 0; static boolean isRenderingItems = false; - + @SubscribeEvent public void clientTick(ClientTickEvent event) { - + Minecraft mc = Minecraft.getMinecraft(); ArmorNo9.updateWorldHook(mc.theWorld); boolean supportsHighRenderDistance = FMLClientHandler.instance().hasOptifine() || Loader.isModLoaded("angelica"); - + if(mc.gameSettings.renderDistanceChunks > 16 && GeneralConfig.enableRenderDistCheck && !supportsHighRenderDistance) { mc.gameSettings.renderDistanceChunks = 16; LoggingUtil.errorWithHighlight("========================== WARNING =========================="); @@ -938,49 +852,51 @@ public class ModEventHandlerClient { LoggingUtil.errorWithHighlight("If you got this error after downgrading your Minecraft version: Consider using a launcher that doesn't reuse the same folders for every game instance. MultiMC for example, it's really good and it comes with a dedicated cat button. You like cats, right? Are you using the Microsoft launcher? The one launcher that turns every version switch into a tightrope act because all the old config and options files are still here because different instances all use the same folder structure instead of different folders like a competent launcher would, because some MO-RON thought that this was an acceptable way of doing things? Really? The launcher that circumcises every crashlog into indecipherable garbage, tricking oblivious people into posting that as a \"crash report\", effectively wasting everyone's time? The launcher made by the company that thought it would be HI-LA-RI-OUS to force everyone to use Microsoft accounts, effectively breaking every other launcher until they implement their terrible auth system?"); LoggingUtil.errorWithHighlight("========================== WARNING =========================="); } - + if(mc.theWorld == null || mc.thePlayer == null) return; - + if(event.phase == Phase.START && event.side == Side.CLIENT) { - + if(BlockAshes.ashes > 256) BlockAshes.ashes = 256; if(BlockAshes.ashes > 0) BlockAshes.ashes -= 2; if(BlockAshes.ashes < 0) BlockAshes.ashes = 0; - + if(mc.theWorld.getTotalWorldTime() % 20 == 0) { this.lastBrightness = this.currentBrightness; currentBrightness = mc.theWorld.getLightBrightnessForSkyBlocks(MathHelper.floor_double(mc.thePlayer.posX), MathHelper.floor_double(mc.thePlayer.posY), MathHelper.floor_double(mc.thePlayer.posZ), 0); } - + if(ArmorUtil.isWearingEmptyMask(mc.thePlayer)) { MainRegistry.proxy.displayTooltip(EnumChatFormatting.RED + "Your mask has no filter!", MainRegistry.proxy.ID_FILTER); } } - - if(Keyboard.isKeyDown(Keyboard.KEY_F1)) { - - ComparableStack comp = canneryTimestamp > System.currentTimeMillis() - 100 ? lastCannery : null; - + + if(Keyboard.isKeyDown(Keyboard.KEY_F1) && Minecraft.getMinecraft().currentScreen != null) { + + ComparableStack comp = canneryTimestamp > Clock.get_ms() - 100 ? lastCannery : null; + if(comp == null) { ItemStack stack = getMouseOverStack(); if(stack != null) comp = new ComparableStack(stack).makeSingular(); } - + if(comp != null) { CanneryBase cannery = Jars.canneries.get(comp); if(cannery != null) { + Minecraft.getMinecraft().thePlayer.closeScreen(); FMLCommonHandler.instance().showGuiScreen(new GuiWorldInAJar(cannery.createScript(), cannery.getName(), cannery.getIcon(), cannery.seeAlso())); } } } - + if(Keyboard.isKeyDown(Keyboard.KEY_LCONTROL) && Keyboard.isKeyDown(Keyboard.KEY_LMENU)) { - + ItemStack stack = getMouseOverStack(); if(stack != null) { stack = stack.copy(); stack.stackSize = 1; + Minecraft.getMinecraft().thePlayer.closeScreen(); FMLCommonHandler.instance().showGuiScreen(new GUIScreenPreview(stack)); } } @@ -1006,11 +922,20 @@ public class ModEventHandlerClient { ItemDepletedFuel.class, ItemFluidDuct.class ); + + String prefix = "Gun "; + int gunScale = 16; + int defaultScale = 1; + int slotScale = gunScale; + boolean ignoreNonNTM = true; + boolean onlyGuns = true; List stacks = new ArrayList(); for (Object reg : Item.itemRegistry) { Item item = (Item) reg; + if(ignoreNonNTM && !Item.itemRegistry.getNameForObject(item).startsWith("hbm:")) continue; if(ignoredItems.contains(item)) continue; + if(onlyGuns && !(item instanceof ItemGunBaseNT)) continue; if(collapsedClasses.contains(item.getClass())) { stacks.add(new ItemStack(item)); } else { @@ -1018,34 +943,61 @@ public class ModEventHandlerClient { } } - FMLCommonHandler.instance().showGuiScreen(new GUIScreenWikiRender(stacks.toArray(new ItemStack[0]), "Block ", "wiki-block-renders-256", 8)); + Minecraft.getMinecraft().thePlayer.closeScreen(); + FMLCommonHandler.instance().showGuiScreen(new GUIScreenWikiRender(stacks.toArray(new ItemStack[0]), prefix, "wiki-block-renders-256", slotScale)); } } else { isRenderingItems = false; } - + + EntityPlayer player = mc.thePlayer; + if(event.phase == Phase.START) { - EntityPlayer player = mc.thePlayer; - + float discriminator = 0.003F; float defaultStepSize = 0.5F; int newStepSize = 0; - + if(player.inventory.armorInventory[2] != null && player.inventory.armorInventory[2].getItem() instanceof ArmorFSB) { ArmorFSB plate = (ArmorFSB) player.inventory.armorInventory[2].getItem(); if(plate.hasFSBArmor(player)) newStepSize = plate.stepSize; } - + if(newStepSize > 0) { player.stepHeight = newStepSize + discriminator; } else { for(int i = 1; i < 4; i++) if(player.stepHeight == i + discriminator) player.stepHeight = defaultStepSize; } } + + if(event.phase == Phase.END) { + + if(ClientConfig.GUN_VISUAL_RECOIL.get()) { + ItemGunBaseNT.offsetVertical += ItemGunBaseNT.recoilVertical; + ItemGunBaseNT.offsetHorizontal += ItemGunBaseNT.recoilHorizontal; + player.rotationPitch -= ItemGunBaseNT.recoilVertical; + player.rotationYaw -= ItemGunBaseNT.recoilHorizontal; + + ItemGunBaseNT.recoilVertical *= ItemGunBaseNT.recoilDecay; + ItemGunBaseNT.recoilHorizontal *= ItemGunBaseNT.recoilDecay; + float dV = ItemGunBaseNT.offsetVertical * ItemGunBaseNT.recoilRebound; + float dH = ItemGunBaseNT.offsetHorizontal * ItemGunBaseNT.recoilRebound; + + ItemGunBaseNT.offsetVertical -= dV; + ItemGunBaseNT.offsetHorizontal -= dH; + player.rotationPitch += dV; + player.rotationYaw += dH; + } else { + ItemGunBaseNT.offsetVertical = 0; + ItemGunBaseNT.offsetHorizontal = 0; + ItemGunBaseNT.recoilVertical = 0; + ItemGunBaseNT.recoilHorizontal = 0; + } + } } - + public static ItemStack getMouseOverStack() { - + Minecraft mc = Minecraft.getMinecraft(); if(mc.currentScreen instanceof GuiContainer) { @@ -1054,41 +1006,56 @@ public class ModEventHandlerClient { int height = scaledresolution.getScaledHeight(); int mouseX = Mouse.getX() * width / mc.displayWidth; int mouseY = height - Mouse.getY() * height / mc.displayHeight - 1; - + GuiContainer container = (GuiContainer) mc.currentScreen; - + for(Object o : container.inventorySlots.inventorySlots) { Slot slot = (Slot) o; - + if(slot.getHasStack()) { try { Method isMouseOverSlot = ReflectionHelper.findMethod(GuiContainer.class, container, new String[] {"func_146981_a", "isMouseOverSlot"}, Slot.class, int.class, int.class); - + if((boolean) isMouseOverSlot.invoke(container, slot, mouseX, mouseY)) { return slot.getStack(); } - + } catch(Exception ex) { } } } } - + return null; } - + + public static boolean renderLodeStar = false; + public static long lastStarCheck = 0L; + public static long lastLoadScreenReplacement = 0L; + public static int loadingScreenReplacementRetry = 0; + @SideOnly(Side.CLIENT) @SubscribeEvent(priority = EventPriority.LOWEST) public void onClientTickLast(ClientTickEvent event) { + Minecraft mc = Minecraft.getMinecraft(); + long millis = Clock.get_ms(); + if(millis == 0) millis = System.currentTimeMillis(); + + if(GeneralConfig.enableLoadScreenReplacement && loadingScreenReplacementRetry < 25 && !(mc.loadingScreen instanceof LoadingScreenRendererNT) && millis > lastLoadScreenReplacement + 5_000) { + mc.loadingScreen = new LoadingScreenRendererNT(mc); + lastLoadScreenReplacement = millis; + loadingScreenReplacementRetry++; // this might not do anything, but at least it should prevent a metric fuckton of framebuffers from being created + } + if(event.phase == Phase.START && GeneralConfig.enableSkyboxes) { - - World world = Minecraft.getMinecraft().theWorld; + + World world = mc.theWorld; if(world == null) return; - + IRenderHandler sky = world.provider.getSkyRenderer(); - + if(world.provider instanceof WorldProviderSurface) { - + if(ImpactWorldHandler.getDustForClient(world) > 0 || ImpactWorldHandler.getFireForClient(world) > 0) { //using a chainloader isn't necessary since none of the sky effects should render anyway @@ -1098,68 +1065,80 @@ public class ModEventHandlerClient { } } } - + if(world.provider.dimensionId == 0) { - + if(!(sky instanceof RenderNTMSkyboxChainloader)) { world.provider.setSkyRenderer(new RenderNTMSkyboxChainloader(sky)); } } - } - } - @SideOnly(Side.CLIENT) - @SubscribeEvent - public void onMouseClicked(InputEvent.KeyInputEvent event) { + EntityPlayer player = mc.thePlayer; - Minecraft mc = Minecraft.getMinecraft(); - if(GeneralConfig.enableKeybindOverlap && (mc.currentScreen == null || mc.currentScreen.allowUserInput)) { - boolean state = Mouse.getEventButtonState(); - int keyCode = Mouse.getEventButton() - 100; - - //if anything errors here, run ./gradlew clean setupDecompWorkSpace - for(Object o : KeyBinding.keybindArray) { - KeyBinding key = (KeyBinding) o; - - if(key.getKeyCode() == keyCode && KeyBinding.hash.lookup(key.getKeyCode()) != key) { - - key.pressed = state; - if(state) { - key.pressTime++; + if(lastStarCheck + 200 < millis) { + renderLodeStar = false; + lastStarCheck = millis; + + if(player != null) { + Vec3NT pos = new Vec3NT(player.posX, player.posY, player.posZ); + Vec3NT lodestarHeading = new Vec3NT(0, 0, -1D).rotateAroundXDeg(-15).multiply(25); + Vec3NT nextPos = new Vec3NT(pos).add(lodestarHeading.xCoord,lodestarHeading.yCoord, lodestarHeading.zCoord); + MovingObjectPosition mop = world.func_147447_a(pos, nextPos, false, true, false); + if(mop != null && mop.typeOfHit == mop.typeOfHit.BLOCK && world.getBlock(mop.blockX, mop.blockY, mop.blockZ) == ModBlocks.glass_polarized) { + renderLodeStar = true; } } } } + + // ??? + /*if(event.phase == Phase.START) { + + Minecraft mc = Minecraft.getMinecraft(); + + if(mc.currentScreen != null && mc.currentScreen.allowUserInput) { + HbmPlayerProps props = HbmPlayerProps.getData(MainRegistry.proxy.me()); + + for(EnumKeybind key : EnumKeybind.values()) { + boolean last = props.getKeyPressed(key); + + if(last) { + PacketDispatcher.wrapper.sendToServer(new KeybindPacket(key, !last)); + props.setKeyPressed(key, !last); + } + } + } + }*/ } @SideOnly(Side.CLIENT) @SubscribeEvent - public void onKeyTyped(InputEvent.KeyInputEvent event) { + public void onPlayerTick(TickEvent.PlayerTickEvent event) { + EntityPlayer player = event.player; - Minecraft mc = Minecraft.getMinecraft(); - if(GeneralConfig.enableKeybindOverlap && (mc.currentScreen == null || mc.currentScreen.allowUserInput)) { - boolean state = Keyboard.getEventKeyState(); - int keyCode = Keyboard.getEventKey(); - - //if anything errors here, run ./gradlew clean setupDecompWorkSpace - for(Object o : KeyBinding.keybindArray) { - KeyBinding key = (KeyBinding) o; - - if(keyCode != 0 && key.getKeyCode() == keyCode && KeyBinding.hash.lookup(key.getKeyCode()) != key) { - - key.pressed = state; - if(state) { - key.pressTime++; - } - } - } + int x = MathHelper.floor_double(player.posX); + int y = MathHelper.floor_double(player.posY); + int z = MathHelper.floor_double(player.posZ); + Block b = player.worldObj.getBlock(x, y, z); + + // Support climbing freestanding vines and chains using spacebar + if ( + b.isLadder(player.worldObj, x, y, z, player) && + b.getCollisionBoundingBoxFromPool(player.worldObj, x, y, z) == null && + !player.capabilities.isFlying && + GameSettings.isKeyDown(Minecraft.getMinecraft().gameSettings.keyBindJump) && + player.motionY < 0.15 + ) { + player.motionY = 0.15; } } - + @SideOnly(Side.CLIENT) @SubscribeEvent public void onRenderWorldLastEvent(RenderWorldLastEvent event) { + Clock.update(); + GL11.glPushMatrix(); EntityPlayer player = Minecraft.getMinecraft().thePlayer; @@ -1186,8 +1165,8 @@ public class ModEventHandlerClient { GL11.glRotated(80, 0, 0, 1); GL11.glRotated(30, 0, 1, 0); - double sine = Math.sin(System.currentTimeMillis() * 0.0005) * 5; - double sin3 = Math.sin(System.currentTimeMillis() * 0.0005 + Math.PI * 0.5) * 5; + double sine = Math.sin(Clock.get_ms() * 0.0005) * 5; + double sin3 = Math.sin(Clock.get_ms() * 0.0005 + Math.PI * 0.5) * 5; GL11.glRotated(sine, 0, 0, 1); GL11.glRotated(sin3, 1, 0, 0); @@ -1195,7 +1174,7 @@ public class ModEventHandlerClient { OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 6500F, 30F); SoyuzPronter.prontCapsule(); - GL11.glRotated(System.currentTimeMillis() * 0.025 % 360, 0, -1, 0); + GL11.glRotated(Clock.get_ms() * 0.025 % 360, 0, -1, 0); int rand = new Random(MainRegistry.startupTime).nextInt(HTTPHandler.capsule.size()); String msg = HTTPHandler.capsule.get(rand); @@ -1226,7 +1205,7 @@ public class ModEventHandlerClient { GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPopMatrix(); } - + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); RenderHelper.disableStandardItemLighting(); @@ -1235,87 +1214,80 @@ public class ModEventHandlerClient { } GL11.glPopMatrix(); - + boolean hudOn = HbmPlayerProps.getData(player).enableHUD; - + if(hudOn) { RenderOverhead.renderMarkers(event.partialTicks); - + boolean thermalSights = false; + if(ArmorFSB.hasFSBArmor(player)) { ItemStack plate = player.inventory.armorInventory[2]; ArmorFSB chestplate = (ArmorFSB) plate.getItem(); - - if(chestplate.thermal) - RenderOverhead.renderThermalSight(event.partialTicks); + + if(chestplate.thermal) thermalSights = true; } + + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemGunBaseNT && ItemGunBaseNT.aimingProgress == 1) { + ItemGunBaseNT gun = (ItemGunBaseNT) player.getHeldItem().getItem(); + for(int i = 0; i < gun.getConfigCount(); i++) if(gun.getConfig(player.getHeldItem(), i).hasThermalSights(player.getHeldItem())) thermalSights = true; + } + + if(thermalSights) RenderOverhead.renderThermalSight(event.partialTicks); } + + RenderOverhead.renderActionPreview(event.partialTicks); } - + @SubscribeEvent(priority = EventPriority.HIGHEST) public void preRenderEventFirst(RenderLivingEvent.Pre event) { - + if(MainRegistry.proxy.isVanished(event.entity)) event.setCanceled(true); } - + @SubscribeEvent public void preRenderEvent(RenderLivingEvent.Pre event) { - + EntityPlayer player = Minecraft.getMinecraft().thePlayer; - + if(ArmorFSB.hasFSBArmor(player) && HbmPlayerProps.getData(player).enableHUD) { ItemStack plate = player.inventory.armorInventory[2]; ArmorFSB chestplate = (ArmorFSB)plate.getItem(); - + if(chestplate.vats) { - + int count = (int)Math.min(event.entity.getMaxHealth(), 100); - + int bars = (int)Math.ceil(event.entity.getHealth() * count / event.entity.getMaxHealth()); - + String bar = EnumChatFormatting.RED + ""; - + for(int i = 0; i < count; i++) { - + if(i == bars) bar += EnumChatFormatting.RESET + ""; - + bar += "|"; } RenderOverhead.renderTag(event.entity, event.x, event.y, event.z, event.renderer, bar, chestplate.thermal); } } } - - /*@SubscribeEvent - public void setupFog(RenderFogEvent event) { - event.setResult(Result.DENY); - } - - @SubscribeEvent - public void thickenFog(FogDensity event) { - event.density = 0.05F; - event.setCanceled(true); - } - - @SubscribeEvent - public void tintFog(FogColors event) { - event.red = 0.5F; - event.green = 0.0F; - event.blue = 0.0F; - }*/ public static IIcon particleBase; public static IIcon particleLeaf; public static IIcon particleSplash; + public static IIcon particleAshes; @SubscribeEvent public void onTextureStitch(TextureStitchEvent.Pre event) { - + if(event.map.getTextureType() == 0) { particleBase = event.map.registerIcon(RefStrings.MODID + ":particle/particle_base"); particleLeaf = event.map.registerIcon(RefStrings.MODID + ":particle/dead_leaf"); particleSplash = event.map.registerIcon(RefStrings.MODID + ":particle/particle_splash"); + particleAshes = event.map.registerIcon(RefStrings.MODID + ":particle/particle_ashes"); } } @@ -1326,16 +1298,16 @@ public class ModEventHandlerClient { private static final ResourceLocation poster = new ResourceLocation(RefStrings.MODID + ":textures/models/misc/poster.png"); private static final ResourceLocation poster_cat = new ResourceLocation(RefStrings.MODID + ":textures/models/misc/poster_cat.png"); - + @SubscribeEvent public void renderFrame(RenderItemInFrameEvent event) { - + if(event.item != null && event.item.getItem() == ModItems.flame_pony) { event.setCanceled(true); - + double p = 0.0625D; double o = p * 2.75D; - + GL11.glDisable(GL11.GL_LIGHTING); Minecraft.getMinecraft().renderEngine.bindTexture(poster); Tessellator tess = Tessellator.instance; @@ -1347,10 +1319,10 @@ public class ModEventHandlerClient { tess.draw(); GL11.glEnable(GL11.GL_LIGHTING); } - + if(event.item != null && event.item.getItem() == Items.paper) { event.setCanceled(true); - + double p = 0.0625D; double o = p * 2.75D; @@ -1366,31 +1338,35 @@ public class ModEventHandlerClient { GL11.glEnable(GL11.GL_LIGHTING); } } - + @SubscribeEvent public void worldTick(WorldTickEvent event) { - + EntityPlayer player = Minecraft.getMinecraft().thePlayer; - + if(player != null && player.ridingEntity instanceof EntityRailCarRidable && player instanceof EntityClientPlayerMP) { EntityRailCarRidable train = (EntityRailCarRidable) player.ridingEntity; EntityClientPlayerMP client = (EntityClientPlayerMP) player; - + //mojank compensation, because apparently the "this makes the render work" method also determines the fucking input if(!train.shouldRiderSit()) { client.sendQueue.addToSendQueue(new C03PacketPlayer.C05PacketPlayerLook(client.rotationYaw, client.rotationPitch, client.onGround)); client.sendQueue.addToSendQueue(new C0CPacketInput(client.moveStrafing, client.moveForward, client.movementInput.jump, client.movementInput.sneak)); } } + + if(event.phase == event.phase.END) { + ItemCustomLore.updateSystem(); + } } - + @SubscribeEvent public void onOpenGUI(GuiOpenEvent event) { - - if(event.gui instanceof GuiMainMenu) { + + if(event.gui instanceof GuiMainMenu && ClientConfig.MAIN_MENU_WACKY_SPLASHES.get()) { GuiMainMenu main = (GuiMainMenu) event.gui; int rand = (int)(Math.random() * 150); - + switch(rand) { case 0: main.splashText = "Floppenheimer!"; break; case 1: main.splashText = "i should dip my balls in sulfuric acid"; break; @@ -1406,7 +1382,7 @@ public class ModEventHandlerClient { case 11: main.splashText = "Do drugs!"; break; case 12: main.splashText = "Imagine being scared by splash texts!"; break; } - + double d = Math.random(); if(d < 0.1) main.splashText = "Redditors aren't people!"; else if(d < 0.2) main.splashText = "Can someone tell me what corrosive fumes the people on Reddit are huffing so I can avoid those more effectively?"; diff --git a/src/main/java/com/hbm/main/ModEventHandlerImpact.java b/src/main/java/com/hbm/main/ModEventHandlerImpact.java index 7f178531f..723410c6d 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerImpact.java +++ b/src/main/java/com/hbm/main/ModEventHandlerImpact.java @@ -1,26 +1,16 @@ package com.hbm.main; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - import com.hbm.blocks.ModBlocks; import com.hbm.config.GeneralConfig; import com.hbm.handler.ImpactWorldHandler; import com.hbm.saveddata.TomSaveData; import com.hbm.world.WorldProviderNTM; - +import cpw.mods.fml.common.eventhandler.Event.Result; import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.eventhandler.Event.Result; import cpw.mods.fml.common.gameevent.TickEvent.Phase; import cpw.mods.fml.common.gameevent.TickEvent.WorldTickEvent; -import net.minecraft.block.Block; -import net.minecraft.block.BlockBush; -import net.minecraft.block.BlockCrops; -import net.minecraft.block.BlockDoor; -import net.minecraft.block.BlockLeaves; -import net.minecraft.block.BlockLog; +import net.minecraft.block.*; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.passive.EntityWaterMob; @@ -34,50 +24,54 @@ import net.minecraftforge.common.DimensionManager; import net.minecraftforge.event.entity.living.LivingSpawnEvent.CheckSpawn; import net.minecraftforge.event.terraingen.BiomeEvent; import net.minecraftforge.event.terraingen.DecorateBiomeEvent; +import net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType; import net.minecraftforge.event.terraingen.PopulateChunkEvent; import net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate; -import net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType; import net.minecraftforge.event.world.WorldEvent; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + public class ModEventHandlerImpact { - + ////////////////////////////////////////// private static Random rand = new Random(); ////////////////////////////////////////// - + @SubscribeEvent public void worldTick(WorldTickEvent event) { if(event.world != null && !event.world.isRemote && event.phase == Phase.START) { float settle = 1F / 14400000F; // 600 days to completely clear all dust. float cool = 1F / 24000F; // One MC day between initial impact and total darkness. - + ImpactWorldHandler.impactEffects(event.world); TomSaveData data = TomSaveData.forWorld(event.world); - + if(data.dust > 0 && data.fire == 0) { data.dust = Math.max(0, data.dust - settle); data.markDirty(); } - + if(data.fire > 0) { data.fire = Math.max(0, (data.fire - cool)); data.dust = Math.min(1, (data.dust + cool)); data.markDirty(); } - + if(!event.world.loadedEntityList.isEmpty()) { - + List oList = new ArrayList(); oList.addAll(event.world.loadedEntityList); - + for(Object e : oList) { if(e instanceof EntityLivingBase) { EntityLivingBase entity = (EntityLivingBase) e; - + if(entity.worldObj.provider.dimensionId == 0 && data.fire > 0 && data.dust < 0.75f && event.world.getSavedLightValue(EnumSkyBlock.Sky, (int) entity.posX, (int) entity.posY, (int) entity.posZ) > 7) { - + entity.setFire(5); entity.attackEntityFrom(DamageSource.onFire, 2); } @@ -102,9 +96,9 @@ public class ModEventHandlerImpact { @SubscribeEvent public void extinction(CheckSpawn event) { - + TomSaveData data = TomSaveData.forWorld(event.world); - + if(data.impact) { if(!(event.entityLiving instanceof EntityPlayer) && event.entityLiving instanceof EntityLivingBase) { if(event.world.provider.dimensionId == 0) { @@ -126,22 +120,22 @@ public class ModEventHandlerImpact { @SubscribeEvent public void onPopulate(Populate event) { - + if(event.type == Populate.EventType.ANIMALS) { - + TomSaveData data = TomSaveData.forWorld(event.world); - + if(data.impact) { event.setResult(Result.DENY); } } } - + @SubscribeEvent(priority = EventPriority.LOWEST) public void onLoad(WorldEvent.Load event) { - + TomSaveData.resetLastCached(); - + if(GeneralConfig.enableImpactWorldProvider) { DimensionManager.unregisterProviderType(0); DimensionManager.registerProviderType(0, WorldProviderNTM.class, true); @@ -152,18 +146,18 @@ public class ModEventHandlerImpact { public void modifyVillageGen(BiomeEvent.GetVillageBlockID event) { Block b = event.original; Material mat = event.original.getMaterial(); - + TomSaveData data = TomSaveData.getLastCachedOrNull(); - + if(data == null || event.biome == null) { return; } - + if(data.impact) { if(mat == Material.wood || mat == Material.glass || b == Blocks.ladder || b instanceof BlockCrops || b == Blocks.chest || b instanceof BlockDoor || mat == Material.cloth || mat == Material.water || b == Blocks.stone_slab) { event.replacement = Blocks.air; - + } else if(b == Blocks.cobblestone || b == Blocks.stonebrick) { if(rand.nextInt(3) == 1) { event.replacement = Blocks.gravel; @@ -176,19 +170,19 @@ public class ModEventHandlerImpact { event.replacement = Blocks.dirt; } } - + if(event.replacement != null) { event.setResult(Result.DENY); } } - + @SubscribeEvent public void postImpactGeneration(BiomeEvent event) { /// Disables post-impact surface replacement for superflat worlds /// because they are retarded and crash with a NullPointerException if /// you try to look for biome-specific blocks. - TomSaveData data = TomSaveData.getLastCachedOrNull(); //despite forcing the data, we cannot rule out canceling events or custom firing shenanigans + TomSaveData data = TomSaveData.getLastCachedOrNull(); //despite forcing the data, we cannot rule out canceling events or custom firing shenanigans if(data != null && event.biome != null) { if(event.biome.topBlock != null) { if(event.biome.topBlock == Blocks.grass) { @@ -204,18 +198,18 @@ public class ModEventHandlerImpact { @SubscribeEvent public void postImpactDecoration(DecorateBiomeEvent.Decorate event) { - + TomSaveData data = TomSaveData.forWorld(event.world); - + if(data.impact) { EventType type = event.type; - + if(data.dust > 0 || data.fire > 0) { if(type == event.type.TREE || type == event.type.BIG_SHROOM || type == event.type.GRASS || type == event.type.REED || type == event.type.FLOWERS || type == event.type.DEAD_BUSH || type == event.type.CACTUS || type == event.type.PUMPKIN || type == event.type.LILYPAD) { event.setResult(Result.DENY); } - + } else if(data.dust == 0 && data.fire == 0) { if(type == event.type.TREE || type == event.type.BIG_SHROOM || type == event.type.CACTUS) { if(event.world.rand.nextInt(9) == 0) { @@ -224,12 +218,12 @@ public class ModEventHandlerImpact { event.setResult(Result.DENY); } } - + if(type == event.type.GRASS || type == event.type.REED) { event.setResult(Result.DEFAULT); } } - + } else { event.setResult(Result.DEFAULT); } @@ -242,20 +236,20 @@ public class ModEventHandlerImpact { @SubscribeEvent public void populateChunkPost(PopulateChunkEvent.Post event) { - + TomSaveData data = TomSaveData.forWorld(event.world); - + if(data.impact) { Chunk chunk = event.world.getChunkFromChunkCoords(event.chunkX, event.chunkZ); - + for(ExtendedBlockStorage storage : chunk.getBlockStorageArray()) { - + if(storage != null) { - + for(int x = 0; x < 16; ++x) { for(int y = 0; y < 16; ++y) { for(int z = 0; z < 16; ++z) { - + if(data.dust > 0.25 || data.fire > 0) { if(storage.getBlockByExtId(x, y, z) == Blocks.grass) { storage.func_150818_a(x, y, z, ModBlocks.impact_dirt); diff --git a/src/main/java/com/hbm/main/ModEventHandlerRenderer.java b/src/main/java/com/hbm/main/ModEventHandlerRenderer.java index 7fb0fc35b..37fbc2d55 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerRenderer.java +++ b/src/main/java/com/hbm/main/ModEventHandlerRenderer.java @@ -1,23 +1,26 @@ package com.hbm.main; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GLContext; - import com.hbm.blocks.ICustomBlockHighlight; +import com.hbm.config.ClientConfig; import com.hbm.config.RadiationConfig; import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.items.armor.IArmorDisableModel; import com.hbm.items.armor.IArmorDisableModel.EnumPlayerPart; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; import com.hbm.packet.PermaSyncHandler; +import com.hbm.render.item.weapon.sedna.ItemRenderWeaponBase; import com.hbm.render.model.ModelMan; +import com.hbm.util.Clock; import com.hbm.world.biome.BiomeGenCraterBase; - import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.common.gameevent.TickEvent.WorldTickEvent; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.Minecraft; +import net.minecraft.client.entity.AbstractClientPlayer; +import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelRenderer; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.entity.RenderManager; @@ -33,24 +36,35 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; +import net.minecraftforge.client.IItemRenderer; +import net.minecraftforge.client.IItemRenderer.ItemRenderType; +import net.minecraftforge.client.MinecraftForgeClient; import net.minecraftforge.client.event.DrawBlockHighlightEvent; -import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.client.event.EntityViewRenderEvent.FogColors; import net.minecraftforge.client.event.EntityViewRenderEvent.FogDensity; +import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; +import net.minecraftforge.client.event.RenderHandEvent; import net.minecraftforge.client.event.RenderPlayerEvent; import net.minecraftforge.common.ForgeModContainer; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import org.lwjgl.opengl.GLContext; public class ModEventHandlerRenderer { private static ModelMan manlyModel; private static boolean[] partsHidden = new boolean[7]; + + @SubscribeEvent + public void onRenderTickPre(TickEvent.RenderTickEvent event) { } @SubscribeEvent(priority = EventPriority.LOWEST, receiveCanceled = true) public void onRenderPlayerPre(RenderPlayerEvent.Pre event) { EntityPlayer player = event.entityPlayer; RenderPlayer renderer = event.renderer; + ItemStack held = player.getHeldItem(); boolean isManly = PermaSyncHandler.boykissers.contains(player.getEntityId()); @@ -66,6 +80,18 @@ public class ModEventHandlerRenderer { } } + if(held != null) { + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(held, IItemRenderer.ItemRenderType.EQUIPPED); + if(customRenderer instanceof ItemRenderWeaponBase) { + ItemRenderWeaponBase renderGun = (ItemRenderWeaponBase) customRenderer; + if(renderGun.isAkimbo()) { + partsHidden[EnumPlayerPart.LEFT_ARM.ordinal()] = true; + ModelRenderer box = getBoxFromType(renderer, EnumPlayerPart.LEFT_ARM); + box.isHidden = true; + } + } + } + if(isManly) { return; } @@ -94,8 +120,34 @@ public class ModEventHandlerRenderer { EntityPlayer player = event.entityPlayer; RenderPlayer renderer = event.renderer; + boolean akimbo = false; + + ItemStack held = player.getHeldItem(); + + if(held != null) { + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(held, IItemRenderer.ItemRenderType.EQUIPPED); + if(customRenderer instanceof ItemRenderWeaponBase) { + ItemRenderWeaponBase renderGun = (ItemRenderWeaponBase) customRenderer; + if(renderGun.isAkimbo()) { + akimbo = true; + } + } + } + boolean isManly = PermaSyncHandler.boykissers.contains(player.getEntityId()); + if(akimbo) { + ModelBiped biped = renderer.modelBipedMain; + renderer.modelArmorChestplate.bipedLeftArm.rotateAngleY = renderer.modelArmor.bipedLeftArm.rotateAngleY = biped.bipedLeftArm.rotateAngleY = + 0.1F + biped.bipedHead.rotateAngleY; + if(!isManly) { + AbstractClientPlayer acp = (AbstractClientPlayer) player; + Minecraft.getMinecraft().getTextureManager().bindTexture(acp.getLocationSkin()); + biped.bipedLeftArm.isHidden = false; + biped.bipedLeftArm.render(0.0625F); + } + } + if(isManly) { if(manlyModel == null) manlyModel = new ModelMan(); @@ -110,6 +162,7 @@ public class ModEventHandlerRenderer { if(f6 > 1.0F) { f6 = 1.0F; } + manlyModel.render(event.entityPlayer, f7, f6, yawWrapped, yaw, pitch, 0.0625F, renderer); } } @@ -127,6 +180,69 @@ public class ModEventHandlerRenderer { } } + @SubscribeEvent + public void onRenderHeldGun(RenderPlayerEvent.Pre event) { + + EntityPlayer player = event.entityPlayer; + RenderPlayer renderer = event.renderer; + ItemStack held = player.getHeldItem(); + + if(held != null && player.getHeldItem().getItem() instanceof ItemGunBaseNT) { + renderer.modelBipedMain.aimedBow = true; + renderer.modelArmor.aimedBow = true; + renderer.modelArmorChestplate.aimedBow = true; + + //technically not necessary but it probably fixes some issues with mods that implement their armor weirdly + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(held, IItemRenderer.ItemRenderType.EQUIPPED); + if(customRenderer instanceof ItemRenderWeaponBase) { + ItemRenderWeaponBase renderGun = (ItemRenderWeaponBase) customRenderer; + if(renderGun.isAkimbo()) { + ModelBiped biped = renderer.modelBipedMain; + renderer.modelArmorChestplate.bipedLeftArm.rotateAngleY = renderer.modelArmor.bipedLeftArm.rotateAngleY = biped.bipedLeftArm.rotateAngleY = 0.1F + biped.bipedHead.rotateAngleY; + } + } + } + } + + @SubscribeEvent + public void onRenderAkimbo(RenderPlayerEvent.Specials.Pre event) { + + EntityPlayer player = event.entityPlayer; + RenderPlayer renderer = event.renderer; + ItemStack held = player.getHeldItem(); + if(held == null) return; + + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(held, IItemRenderer.ItemRenderType.EQUIPPED); + + if(customRenderer instanceof ItemRenderWeaponBase) { + ItemRenderWeaponBase renderWeapon = (ItemRenderWeaponBase) customRenderer; + if(renderWeapon.isAkimbo()) { + GL11.glPushMatrix(); + renderer.modelBipedMain.bipedLeftArm.isHidden = false; + renderer.modelBipedMain.bipedLeftArm.postRender(0.0625F); + //vanilla bullshit + GL11.glTranslatef(-0.0625F, 0.4375F, 0.0625F); + float scale = 0.375F; + GL11.glTranslatef(0.25F, 0.1875F, -0.1875F); + GL11.glScalef(scale, scale, scale); + GL11.glRotatef(60.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(-90.0F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(20.0F, 0.0F, 0.0F, 1.0F); + // forge bullshit + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + GL11.glTranslatef(0.0F, -0.3F, 0.0F); + GL11.glScalef(1.5F, 1.5F, 1.5F); + GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(-0.9375F, -0.0625F, 0.0F); + renderWeapon.setupThirdPersonAkimbo(held); + renderWeapon.renderEquippedAkimbo(held); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + GL11.glPopMatrix(); + } + } + } + @SubscribeEvent public void onRenderHeldItem(RenderPlayerEvent.Specials.Pre event) { @@ -134,22 +250,20 @@ public class ModEventHandlerRenderer { //RenderPlayer renderer = event.renderer; boolean isManly = PermaSyncHandler.boykissers.contains(player.getEntityId()); - - if(!isManly) - return; + if(!isManly) return; if(manlyModel == null) manlyModel = new ModelMan(); - + event.renderItem = false; float f2 = 1.3333334F; ItemStack held = player.getHeldItem(); - + if(held == null) return; - + GL11.glPushMatrix(); manlyModel.rightArm.postRender(0.0625F); GL11.glTranslatef(-0.0625F, 0.4375F, 0.0625F); @@ -164,8 +278,8 @@ public class ModEventHandlerRenderer { enumaction = held.getItemUseAction(); } - net.minecraftforge.client.IItemRenderer customRenderer = net.minecraftforge.client.MinecraftForgeClient.getItemRenderer(held, net.minecraftforge.client.IItemRenderer.ItemRenderType.EQUIPPED); - boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(net.minecraftforge.client.IItemRenderer.ItemRenderType.EQUIPPED, held, net.minecraftforge.client.IItemRenderer.ItemRendererHelper.BLOCK_3D)); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(held, IItemRenderer.ItemRenderType.EQUIPPED); + boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(IItemRenderer.ItemRenderType.EQUIPPED, held, IItemRenderer.ItemRendererHelper.BLOCK_3D)); if(is3D || held.getItem() instanceof ItemBlock && RenderBlocks.renderItemIn3d(Block.getBlockFromItem(held.getItem()).getRenderType())) { f2 = 0.5F; @@ -247,16 +361,16 @@ public class ModEventHandlerRenderer { default: return null; } } - + @SubscribeEvent public void onDrawHighlight(DrawBlockHighlightEvent event) { MovingObjectPosition mop = event.target; - + if(mop != null && mop.typeOfHit == mop.typeOfHit.BLOCK) { Block b = event.player.worldObj.getBlock(mop.blockX, mop.blockY, mop.blockZ); if(b instanceof ICustomBlockHighlight) { ICustomBlockHighlight cus = (ICustomBlockHighlight) b; - + if(cus.shouldDrawHighlight(event.player.worldObj, mop.blockX, mop.blockY, mop.blockZ)) { cus.drawHighlight(event, event.player.worldObj, mop.blockX, mop.blockY, mop.blockZ); event.setCanceled(true); @@ -334,17 +448,17 @@ public class ModEventHandlerRenderer { GL11.glPopMatrix(); } }*/ - + float renderSoot = 0; - + @SubscribeEvent public void worldTick(WorldTickEvent event) { - + if(event.phase == event.phase.START && RadiationConfig.enableSootFog) { float step = 0.05F; float soot = PermaSyncHandler.pollution[PollutionType.SOOT.ordinal()]; - + if(Math.abs(renderSoot - soot) < step) { renderSoot = soot; } else if(renderSoot < soot) { @@ -359,7 +473,7 @@ public class ModEventHandlerRenderer { public void thickenFog(FogDensity event) { float soot = (float) (renderSoot - RadiationConfig.sootFogThreshold); if(soot > 0 && RadiationConfig.enableSootFog) { - + float farPlaneDistance = (float) (Minecraft.getMinecraft().gameSettings.renderDistanceChunks * 16); float fogDist = farPlaneDistance / (1 + soot * 5F / (float) RadiationConfig.sootFogDivisor); GL11.glFogf(GL11.GL_FOG_START, 0); @@ -373,10 +487,10 @@ public class ModEventHandlerRenderer { event.setCanceled(true); } } - + @SubscribeEvent(priority = EventPriority.LOW) public void tintFog(FogColors event) { - + EntityPlayer player = MainRegistry.proxy.me(); if(player.worldObj.getBlock((int) Math.floor(player.posX), (int) Math.floor(player.posY), (int) Math.floor(player.posZ)).getMaterial() != Material.water) { Vec3 color = getFogBlendColor(player.worldObj, (int) Math.floor(player.posX), (int) Math.floor(player.posZ), event.red, event.green, event.blue, event.renderPartialTicks); @@ -386,7 +500,7 @@ public class ModEventHandlerRenderer { event.blue = (float) color.zCoord; } } - + float soot = (float) (renderSoot - RadiationConfig.sootFogThreshold); float sootColor = 0.15F; float sootReq = (float) RadiationConfig.sootFogDivisor; @@ -397,11 +511,11 @@ public class ModEventHandlerRenderer { event.blue = event.blue * (1 - interp) + sootColor * interp; } } - - @SubscribeEvent + + @SubscribeEvent(priority = EventPriority.HIGHEST) public void onRenderHUD(RenderGameOverlayEvent.Pre event) { - - if(event.type == ElementType.HOTBAR && (ModEventHandlerClient.shakeTimestamp + ModEventHandlerClient.shakeDuration - System.currentTimeMillis()) > 0) { + + if(event.type == ElementType.HOTBAR && (ModEventHandlerClient.shakeTimestamp + ModEventHandlerClient.shakeDuration - System.currentTimeMillis()) > 0 && ClientConfig.NUKE_HUD_SHAKE.get()) { double mult = (ModEventHandlerClient.shakeTimestamp + ModEventHandlerClient.shakeDuration - System.currentTimeMillis()) / (double) ModEventHandlerClient.shakeDuration * 2; double horizontal = MathHelper.clamp_double(Math.sin(System.currentTimeMillis() * 0.02), -0.7, 0.7) * 15; double vertical = MathHelper.clamp_double(Math.sin(System.currentTimeMillis() * 0.01 + 2), -0.7, 0.7) * 3; @@ -409,25 +523,41 @@ public class ModEventHandlerRenderer { } } + @SubscribeEvent + public void onRenderHand(RenderHandEvent event) { + + //can't use plaxer.getHeldItem() here because the item rendering persists for a few frames after hitting the switch key + ItemStack toRender = Minecraft.getMinecraft().entityRenderer.itemRenderer.itemToRender; + + if(toRender != null) { + IItemRenderer renderer = MinecraftForgeClient.getItemRenderer(toRender, ItemRenderType.EQUIPPED_FIRST_PERSON); + + if(renderer instanceof ItemRenderWeaponBase) { + ((ItemRenderWeaponBase) renderer).setPerspectiveAndRender(toRender, event.partialTicks); + event.setCanceled(true); + } + } + } + private static boolean fogInit = false; private static int fogX; private static int fogZ; private static Vec3 fogRGBMultiplier; private static boolean doesBiomeApply = false; private static long fogTimer = 0; - + /** Same procedure as getting the blended sky color but for fog */ public static Vec3 getFogBlendColor(World world, int playerX, int playerZ, float red, float green, float blue, double partialTicks) { - - long millis = System.currentTimeMillis() - fogTimer; + + long millis = Clock.get_ms() - fogTimer; if(playerX == fogX && playerZ == fogZ && fogInit && millis < 3000) return fogRGBMultiplier; fogInit = true; - fogTimer = System.currentTimeMillis(); + fogTimer = Clock.get_ms(); GameSettings settings = Minecraft.getMinecraft().gameSettings; int[] ranges = ForgeModContainer.blendRanges; int distance = 0; - + if(settings.fancyGraphics && settings.renderDistanceChunks >= 0) { distance = ranges[Math.min(settings.renderDistanceChunks, ranges.length - 1)]; } @@ -435,10 +565,10 @@ public class ModEventHandlerRenderer { float r = 0F; float g = 0F; float b = 0F; - + int divider = 0; doesBiomeApply = false; - + for(int x = -distance; x <= distance; x++) { for(int z = -distance; z <= distance; z++) { BiomeGenBase biome = world.getBiomeGenForCoords(playerX + x, playerZ + z); @@ -452,7 +582,7 @@ public class ModEventHandlerRenderer { fogX = playerX; fogZ = playerZ; - + if(doesBiomeApply) { fogRGBMultiplier = Vec3.createVectorHelper(r / divider, g / divider, b / divider); } else { @@ -461,25 +591,25 @@ public class ModEventHandlerRenderer { return fogRGBMultiplier; } - + /** Returns the current biome's fog color adjusted for brightness if in a crater, or the world's cached fog color if not */ public static Vec3 getBiomeFogColors(World world, BiomeGenBase biome, float r, float g, float b, double partialTicks) { - + if(biome instanceof BiomeGenCraterBase) { int color = biome.getSkyColorByTemp(biome.temperature); r = ((color & 0xff0000) >> 16) / 255F; g = ((color & 0x00ff00) >> 8) / 255F; b = (color & 0x0000ff) / 255F; - + float celestialAngle = world.getCelestialAngle((float) partialTicks); float skyBrightness = MathHelper.clamp_float(MathHelper.cos(celestialAngle * (float) Math.PI * 2.0F) * 2.0F + 0.5F, 0F, 1F); r *= skyBrightness; g *= skyBrightness; b *= skyBrightness; - + doesBiomeApply = true; } - + return Vec3.createVectorHelper(r, g, b); } } diff --git a/src/main/java/com/hbm/main/NEIConfig.java b/src/main/java/com/hbm/main/NEIConfig.java index 394c4feab..9abd3dfe0 100644 --- a/src/main/java/com/hbm/main/NEIConfig.java +++ b/src/main/java/com/hbm/main/NEIConfig.java @@ -1,29 +1,33 @@ package com.hbm.main; -import java.util.List; - -import codechicken.nei.recipe.*; -import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.generic.BlockMotherOfAllOres.TileEntityRandomOre; -import com.hbm.blocks.generic.BlockPlushie.TileEntityPlushie; -import com.hbm.config.CustomMachineConfigJSON; -import com.hbm.handler.nei.CustomMachineHandler; -import com.hbm.items.ModItems; -import com.hbm.items.machine.ItemBattery; -import com.hbm.lib.RefStrings; - import codechicken.nei.api.API; import codechicken.nei.api.IConfigureNEI; import codechicken.nei.api.IHighlightHandler; import codechicken.nei.api.ItemInfo.Layout; +import codechicken.nei.recipe.*; +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockPlushie.TileEntityPlushie; +import com.hbm.config.ClientConfig; +import com.hbm.config.CustomMachineConfigJSON; +import com.hbm.handler.nei.CustomMachineHandler; +import com.hbm.items.ItemEnums.EnumIngotMetal; +import com.hbm.items.ItemEnums.EnumSecretType; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemBattery; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret; +import com.hbm.lib.RefStrings; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; +import java.util.List; + public class NEIConfig implements IConfigureNEI { - + @Override public void loadConfig() { for (TemplateRecipeHandler handler: NEIRegistry.listAllHandlers()) { @@ -33,24 +37,26 @@ public class NEIConfig implements IConfigureNEI { for(CustomMachineConfigJSON.MachineConfiguration conf : CustomMachineConfigJSON.niceList) { registerHandlerBypass(new CustomMachineHandler(conf)); } + + if(ClientConfig.NEI_HIDE_SECRETS.get()) { + for(Item item : ItemGunBaseNT.secrets) API.hideItem(new ItemStack(item)); + for(int i = 0; i < EnumAmmoSecret.values().length; i++) API.hideItem(new ItemStack(ModItems.ammo_secret, 1, i)); + for(int i = 0; i < EnumSecretType.values().length; i++) API.hideItem(new ItemStack(ModItems.item_secret, 1, i)); + } + for(int i = 0; i < EnumIngotMetal.values().length; i++) API.hideItem(new ItemStack(ModItems.ingot_metal, 1, i)); + //Some things are even beyond my control...or are they? API.hideItem(ItemBattery.getEmptyBattery(ModItems.memory)); API.hideItem(ItemBattery.getFullBattery(ModItems.memory)); - API.hideItem(new ItemStack(ModItems.item_secret)); API.hideItem(new ItemStack(ModBlocks.machine_electric_furnace_on)); API.hideItem(new ItemStack(ModBlocks.machine_difurnace_on)); - API.hideItem(new ItemStack(ModBlocks.machine_nuke_furnace_on)); API.hideItem(new ItemStack(ModBlocks.machine_rtg_furnace_on)); API.hideItem(new ItemStack(ModBlocks.reinforced_lamp_on)); - API.hideItem(new ItemStack(ModBlocks.statue_elb)); - API.hideItem(new ItemStack(ModBlocks.statue_elb_g)); - API.hideItem(new ItemStack(ModBlocks.statue_elb_w)); API.hideItem(new ItemStack(ModBlocks.statue_elb_f)); API.hideItem(new ItemStack(ModBlocks.cheater_virus)); API.hideItem(new ItemStack(ModBlocks.cheater_virus_seed)); - API.hideItem(new ItemStack(ModBlocks.transission_hatch)); API.hideItem(new ItemStack(ModItems.euphemium_kit)); API.hideItem(new ItemStack(ModItems.bobmazon_hidden)); API.hideItem(new ItemStack(ModItems.book_lore)); //the broken nbt-less one shouldn't show up in normal play anyway @@ -62,8 +68,6 @@ public class NEIConfig implements IConfigureNEI { } API.hideItem(new ItemStack(ModBlocks.dummy_block_vault)); API.hideItem(new ItemStack(ModBlocks.dummy_block_blast)); - API.hideItem(new ItemStack(ModBlocks.dummy_block_uf6)); - API.hideItem(new ItemStack(ModBlocks.dummy_block_puf6)); API.hideItem(new ItemStack(ModBlocks.dummy_port_compact_launcher)); API.hideItem(new ItemStack(ModBlocks.dummy_port_launch_table)); API.hideItem(new ItemStack(ModBlocks.dummy_plate_compact_launcher)); @@ -80,32 +84,14 @@ public class NEIConfig implements IConfigureNEI { API.hideItem(new ItemStack(ModBlocks.spotlight_fluoro_off)); API.hideItem(new ItemStack(ModBlocks.spotlight_halogen_off)); API.hideItem(new ItemStack(ModBlocks.spotlight_beam)); - - API.registerHighlightIdentifier(ModBlocks.ore_random, new IHighlightHandler() { - @Override - public ItemStack identifyHighlight(World world, EntityPlayer player, MovingObjectPosition mop) { - int x = mop.blockX; - int y = mop.blockY; - int z = mop.blockZ; - - TileEntity te = world.getTileEntity(x, y, z); - - if(te instanceof TileEntityRandomOre) { - TileEntityRandomOre ore = (TileEntityRandomOre) te; - return new ItemStack(ModBlocks.ore_random, 1, ore.getStackId()); - } - - return null; - } + API.hideItem(new ItemStack(ModBlocks.conveyor)); + API.hideItem(new ItemStack(ModBlocks.conveyor_chute)); + API.hideItem(new ItemStack(ModBlocks.conveyor_lift)); + API.hideItem(new ItemStack(ModBlocks.conveyor_express)); + API.hideItem(new ItemStack(ModBlocks.conveyor_double)); + API.hideItem(new ItemStack(ModBlocks.conveyor_triple)); - @Override - public List handleTextData(ItemStack itemStack, World world, EntityPlayer player, MovingObjectPosition mop, List currenttip, Layout layout) { - return currenttip; - } - - }); - API.registerHighlightIdentifier(ModBlocks.plushie, new IHighlightHandler() { @Override public ItemStack identifyHighlight(World world, EntityPlayer player, MovingObjectPosition mop) { int x = mop.blockX; @@ -121,12 +107,12 @@ public class NEIConfig implements IConfigureNEI { @Override public List handleTextData(ItemStack itemStack, World world, EntityPlayer player, MovingObjectPosition mop, List currenttip, Layout layout) { return currenttip; } }); } - + public static void registerHandler(Object o) { API.registerRecipeHandler((ICraftingHandler) o); API.registerUsageHandler((IUsageHandler) o); } - + /** Bypasses the utterly useless restriction of one registered handler per class */ public static void registerHandlerBypass(Object o) { GuiCraftingRecipe.craftinghandlers.add((ICraftingHandler) o); diff --git a/src/main/java/com/hbm/main/NEIRegistry.java b/src/main/java/com/hbm/main/NEIRegistry.java index ee7d42e5f..0ba8b15b4 100644 --- a/src/main/java/com/hbm/main/NEIRegistry.java +++ b/src/main/java/com/hbm/main/NEIRegistry.java @@ -1,19 +1,18 @@ package com.hbm.main; +import codechicken.nei.recipe.TemplateRecipeHandler; +import com.hbm.config.VersatileConfig; +import com.hbm.handler.nei.*; + import java.util.ArrayList; import java.util.List; -import com.hbm.config.VersatileConfig; -import com.hbm.handler.nei.*; - -import codechicken.nei.recipe.TemplateRecipeHandler; - public class NEIRegistry { public static List handlers = new ArrayList(); - + public static List listAllHandlers() { - + if(!handlers.isEmpty()) return handlers; handlers.add(new AnvilRecipeHandler()); @@ -33,17 +32,21 @@ public class NEIRegistry { handlers.add(new ReformingHandler()); handlers.add(new HydrotreatingHandler()); handlers.add(new ChemplantRecipeHandler()); + handlers.add(new ChemicalPlantRecipeHandler()); + handlers.add(new OreSlopperHandler()); //before acidizing handlers.add(new CrystallizerRecipeHandler()); handlers.add(new BookRecipeHandler()); handlers.add(new FusionRecipeHandler()); - handlers.add(new HadronRecipeHandler()); handlers.add(new SILEXRecipeHandler()); handlers.add(new FuelPoolHandler()); + handlers.add(new RBMKRodDisassemblyHandler()); + handlers.add(new RBMKWasteDecayHandler()); handlers.add(new CrucibleSmeltingHandler()); handlers.add(new CrucibleAlloyingHandler()); handlers.add(new CrucibleCastingHandler()); handlers.add(new ToolingHandler()); handlers.add(new ConstructionHandler()); + handlers.add(new SatelliteHandler()); //universal boyes handlers.add(new ZirnoxRecipeHandler()); @@ -51,6 +54,7 @@ public class NEIRegistry { handlers.add(new LiquefactionHandler()); handlers.add(new SolidificationHandler()); handlers.add(new CokingHandler()); + handlers.add(new PyroHandler()); handlers.add(new FractioningHandler()); handlers.add(new BoilingHandler()); handlers.add(new CombinationHandler()); @@ -65,10 +69,15 @@ public class NEIRegistry { handlers.add(new ExposureChamberHandler()); handlers.add(new ArcFurnaceSolidHandler()); handlers.add(new ArcFurnaceFluidHandler()); + handlers.add(new RotaryFurnaceHandler()); + handlers.add(new AmmoPressHandler()); + handlers.add(new CompressorHandler()); + handlers.add(new ParticleAcceleratorHandler()); + handlers.add(new DeuteriumHandler()); //this shit comes last handlers.add(new FluidRecipeHandler()); - + return handlers; } } diff --git a/src/main/java/com/hbm/main/NetworkHandler.java b/src/main/java/com/hbm/main/NetworkHandler.java new file mode 100644 index 000000000..bb56cde3b --- /dev/null +++ b/src/main/java/com/hbm/main/NetworkHandler.java @@ -0,0 +1,216 @@ +package com.hbm.main; + +import com.hbm.handler.threading.PacketThreading; +import com.hbm.packet.threading.ThreadedPacket; +import cpw.mods.fml.common.network.FMLEmbeddedChannel; +import cpw.mods.fml.common.network.FMLOutboundHandler; +import cpw.mods.fml.common.network.NetworkRegistry; +import cpw.mods.fml.common.network.internal.FMLProxyPacket; +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper; +import cpw.mods.fml.relauncher.Side; +import gnu.trove.map.hash.TByteObjectHashMap; +import gnu.trove.map.hash.TObjectByteHashMap; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.PooledByteBufAllocator; +import io.netty.buffer.Unpooled; +import io.netty.channel.ChannelHandler; +import io.netty.channel.ChannelHandlerContext; +import io.netty.handler.codec.CodecException; +import io.netty.handler.codec.MessageToMessageCodec; +import net.minecraft.entity.player.EntityPlayerMP; + + +import java.lang.ref.WeakReference; +import java.util.EnumMap; +import java.util.List; + +import static cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.INBOUNDPACKETTRACKER; + +// Essentially the `SimpleNetworkWrapper` from FML but doesn't flush the packets immediately. Also now with a custom codec! +public class NetworkHandler { + + // Network codec for allowing packets to be "precompiled". + @ChannelHandler.Sharable + private static class PrecompilingNetworkCodec extends MessageToMessageCodec { + + private final TByteObjectHashMap> discriminators = new TByteObjectHashMap<>(); + private final TObjectByteHashMap> types = new TObjectByteHashMap<>(); + + public void addDiscriminator(int discriminator, Class type) { + discriminators.put((byte) discriminator, type); + types.put(type, (byte) discriminator); + } + + @Override + public void handlerAdded(ChannelHandlerContext ctx) { + ctx.attr(INBOUNDPACKETTRACKER).set(new ThreadLocal<>()); + } + + @Override + protected void encode(ChannelHandlerContext ctx, Object msg, List out) { + ByteBuf outboundBuf = PooledByteBufAllocator.DEFAULT.heapBuffer(); + byte discriminator; + Class msgClass = msg.getClass(); + discriminator = types.get(msgClass); + outboundBuf.writeByte(discriminator); + + if(msg instanceof ThreadedPacket) // Precompiled packet to avoid race conditions/speed up serialization. + outboundBuf.writeBytes(((ThreadedPacket) msg).getCompiledBuffer()); + else if(msg instanceof IMessage) + ((IMessage) msg).toBytes(outboundBuf); + else + throw new CodecException("Unknown packet codec requested during encoding, expected IMessage/PrecompiledPacket, got " + msg.getClass().getName()); + + FMLProxyPacket proxy = new FMLProxyPacket(Unpooled.buffer().writeBytes(outboundBuf), ctx.channel().attr(NetworkRegistry.FML_CHANNEL).get()); + outboundBuf.release(); + WeakReference ref = ctx.attr(INBOUNDPACKETTRACKER).get().get(); + FMLProxyPacket old = ref == null ? null : ref.get(); + if (old != null) { + proxy.setDispatcher(old.getDispatcher()); + } + out.add(proxy); + } + + @Override + protected void decode(ChannelHandlerContext ctx, FMLProxyPacket msg, List out) throws Exception { + ByteBuf inboundBuf = msg.payload(); + byte discriminator = inboundBuf.readByte(); + Class originalMsgClass = discriminators.get(discriminator); + + if(originalMsgClass == null) + throw new CodecException("Undefined message for discriminator " + discriminator + " in channel " + msg.channel()); + + Object newMsg = originalMsgClass.newInstance(); + ctx.attr(INBOUNDPACKETTRACKER).get().set(new WeakReference<>(msg)); + + if(newMsg instanceof IMessage) // pretty much always the case + ((IMessage) newMsg).fromBytes(inboundBuf.slice()); + else + throw new CodecException("Unknown packet codec requested during decoding, expected IMessage/PrecompiledPacket, got " + msg.getClass().getName()); + + out.add(newMsg); + } + } + + private static FMLEmbeddedChannel clientChannel; + private static FMLEmbeddedChannel serverChannel; + + private static PrecompilingNetworkCodec packetCodec; + + public NetworkHandler(String name) { + packetCodec = new PrecompilingNetworkCodec(); + EnumMap channels = NetworkRegistry.INSTANCE.newChannel(name, packetCodec); + clientChannel = channels.get(Side.CLIENT); + serverChannel = channels.get(Side.SERVER); + } + + public void registerMessage(Class> messageHandler, Class requestMessageType, int discriminator, Side side) { + + packetCodec.addDiscriminator(discriminator, requestMessageType); + + FMLEmbeddedChannel channel; + if(side.isClient()) + channel = clientChannel; + else + channel = serverChannel; + String type = channel.findChannelHandlerNameForType(PrecompilingNetworkCodec.class); + SimpleChannelHandlerWrapper handler; + handler = new SimpleChannelHandlerWrapper<>(messageHandler, side, requestMessageType); + channel.pipeline().addAfter(type, messageHandler.getName(), handler); + } + + public static void flush() { + clientChannel.flush(); + serverChannel.flush(); + } + + public void sendToServer(IMessage message) { // No thread protection needed here, since the client never threads packets to the server. + clientChannel.attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.TOSERVER); + clientChannel.write(message); + } + + public void sendToDimension(IMessage message, int dimensionId) { + if(!Thread.currentThread().getName().contains(PacketThreading.threadPrefix)) { + try { + PacketThreading.lock.lock(); + serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.DIMENSION); + serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(dimensionId); + serverChannel.write(message); + } finally { + PacketThreading.lock.unlock(); + } + } else { + serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.DIMENSION); + serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(dimensionId); + serverChannel.write(message); + } + } + + public void sendToAllAround(IMessage message, NetworkRegistry.TargetPoint point) { + if(!Thread.currentThread().getName().contains(PacketThreading.threadPrefix)) { + try { + PacketThreading.lock.lock(); + serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.ALLAROUNDPOINT); + serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(point); + serverChannel.write(message); + } finally { + PacketThreading.lock.unlock(); + } + } else { + serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.ALLAROUNDPOINT); + serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(point); + serverChannel.write(message); + } + } + + public void sendToAllAround(ByteBuf message, NetworkRegistry.TargetPoint point) { + if(!Thread.currentThread().getName().contains(PacketThreading.threadPrefix)) { + try { + PacketThreading.lock.lock(); + serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.ALLAROUNDPOINT); + serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(point); + serverChannel.write(message); + } finally { + PacketThreading.lock.unlock(); + } + } else { + serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.ALLAROUNDPOINT); + serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(point); + serverChannel.write(message); + } + } + + public void sendTo(IMessage message, EntityPlayerMP player) { + if(!Thread.currentThread().getName().contains(PacketThreading.threadPrefix)) { + try { + PacketThreading.lock.lock(); + serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.PLAYER); + serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(player); + serverChannel.write(message); + } finally { + PacketThreading.lock.unlock(); + } + } else { + serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.PLAYER); + serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(player); + serverChannel.write(message); + } + } + + public void sendToAll(IMessage message) { + if(!Thread.currentThread().getName().contains(PacketThreading.threadPrefix)) { + try { + PacketThreading.lock.lock(); + serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.ALL); + serverChannel.write(message); + } finally { + PacketThreading.lock.unlock(); + } + } else { + serverChannel.attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.ALL); + serverChannel.write(message); + } + } +} diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index aa3ff784d..a1fee2c2c 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -1,7 +1,5 @@ package com.hbm.main; -import java.util.HashMap; - import com.hbm.animloader.AnimatedModel; import com.hbm.animloader.Animation; import com.hbm.animloader.ColladaLoader; @@ -10,15 +8,16 @@ import com.hbm.render.anim.AnimationLoader; import com.hbm.render.anim.BusAnimation; import com.hbm.render.loader.HFRWavefrontObject; import com.hbm.render.loader.IModelCustomNamed; - import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.AdvancedModelLoader; import net.minecraftforge.client.model.IModelCustom; +import java.util.HashMap; + public class ResourceManager { - + ////Obj TEs - + //Turrets public static final IModelCustom turret_chekhov = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_chekhov.obj")).asVBO(); public static final IModelCustom turret_jeremy = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_jeremy.obj")).asVBO(); @@ -33,14 +32,14 @@ public class ResourceManager { public static final IModelCustom turret_sentry = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_sentry.obj")).asVBO(); public static final IModelCustom turret_howard_damaged = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_howard_damaged.obj")).asVBO(); - + //Heaters public static final IModelCustom heater_firebox = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/firebox.obj"), false).asVBO(); public static final IModelCustom heater_oven = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/heating_oven.obj"), false).asVBO(); public static final IModelCustom heater_oilburner = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/oilburner.obj")).asVBO(); public static final IModelCustom heater_electric = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/electric_heater.obj"), false).asVBO(); public static final IModelCustom heater_heatex = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/heatex.obj")).asVBO(); - + //Heat Engines public static final IModelCustom stirling = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/stirling.obj")); public static final IModelCustom sawmill = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/sawmill.obj")); @@ -57,32 +56,34 @@ public class ResourceManager { public static final IModelCustom furnace_iron = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/furnace_iron.obj")); public static final IModelCustom furnace_steel = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/furnace_steel.obj")); public static final IModelCustom combination_oven = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/combination_oven.obj")); - + //Landmines - public static final IModelCustom mine_ap = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mine_ap.obj")); - public static final IModelCustom mine_he = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mine_he.obj")); - public static final IModelCustom mine_marelet = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/marelet.obj")); + public static final IModelCustom mine_ap = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/ap_mine.obj")).asVBO(); + public static final IModelCustom mine_marelet = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/marelet.obj")).asVBO(); public static final IModelCustom mine_fat = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mine_fat.obj")); - + public static final IModelCustom mine_naval = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/naval_mine.obj")).asVBO(); + + //Oil Pumps public static final IModelCustom derrick = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/derrick.obj")).asVBO(); public static final IModelCustom pumpjack = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/pumpjack.obj")).asVBO(); public static final IModelCustom fracking_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/fracking_tower.obj")).asVBO(); - + //Refinery public static final IModelCustom refinery = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/refinery.obj")).asVBO(); public static final IModelCustom vacuum_distill = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/vacuum_distill.obj")).asVBO(); public static final IModelCustom refinery_exploded = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/refinery_exploded.obj")).asVBO(); public static final IModelCustom fraction_tower = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/fraction_tower.obj")); public static final IModelCustom fraction_spacer = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/fraction_spacer.obj")); - public static final IModelCustom cracking_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/cracking_tower.obj")).asVBO(); + public static final IModelCustom cracking_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/catalytic_cracker.obj")).asVBO(); public static final IModelCustom catalytic_reformer = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/catalytic_reformer.obj")).asVBO(); public static final IModelCustom hydrotreater = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/hydrotreater.obj")).asVBO(); public static final IModelCustom liquefactor = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/liquefactor.obj")).asVBO(); public static final IModelCustom solidifier = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/solidifier.obj")).asVBO(); public static final IModelCustom compressor = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/compressor.obj")).asVBO(); public static final IModelCustom coker = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/coker.obj")).asVBO(); - + public static final IModelCustom pyrooven = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/pyrooven.obj")).asVBO(); + //Flare Stack public static final IModelCustom oilflare = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/flare_stack.obj")).asVBO(); public static final IModelCustom chimney_brick = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chimney_brick.obj")).asVBO(); @@ -93,181 +94,197 @@ public class ResourceManager { public static final IModelCustom fluidtank_exploded = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/fluidtank_exploded.obj")).asVBO(); public static final IModelCustom bat9000 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/bat9000.obj")).asVBO(); public static final IModelCustom orbus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/orbus.obj")).asVBO(); - + //Turbofan public static final IModelCustom turbofan = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/turbofan.obj")).asVBO(); - + //Gas Turbine public static final IModelCustom turbinegas = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/turbinegas.obj")).asVBO(); - + //Pumps public static final IModelCustom pump = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/pump.obj")).asVBO(); - + //Large Turbine public static final IModelCustom steam_engine = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/steam_engine.obj")).asVBO(); public static final IModelCustom turbine = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/turbine.obj")); public static final IModelCustom chungus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chungus.obj")).asVBO(); - + //Cooling Tower public static final IModelCustom tower_small = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/tower_small.obj")).asVBO(); public static final IModelCustom tower_large = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/tower_large.obj")).asVBO(); + + //Air stuff + public static final IModelCustom intake = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/intake.obj")).asVBO(); public static final IModelCustom condenser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/condenser.obj")).asVBO(); - + //Wood burner public static final IModelCustom wood_burner = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/wood_burner.obj")); - + //IGen public static final IModelCustom igen = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/igen.obj")); - + //Combustion Engine public static final IModelCustom dieselgen = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/dieselgen.obj")); public static final IModelCustom combustion_engine = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/combustion_engine.obj")).asVBO(); - + //Press public static final IModelCustom press_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/press_body.obj")); public static final IModelCustom press_head = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/press_head.obj")); public static final IModelCustom epress_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/epress_body.obj")); public static final IModelCustom epress_head = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/epress_head.obj")); public static final IModelCustom conveyor_press = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/conveyor_press.obj")); - + public static final IModelCustom ammo_press = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/ammo_press.obj")).asVBO(); + //Assembler public static final IModelCustom assembler_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/assembler_new_body.obj")); public static final IModelCustom assembler_cog = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/assembler_new_cog.obj")); public static final IModelCustom assembler_slider = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/assembler_new_slider.obj")); public static final IModelCustom assembler_arm = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/assembler_new_arm.obj")); + public static final IModelCustom assembly_machine = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/assembly_machine.obj")); public static final IModelCustom assemfac = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/assemfac.obj")); - + //Chemplant public static final IModelCustom chemplant_body = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/chemplant_new_body.obj")); public static final IModelCustom chemplant_spinner = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/chemplant_new_spinner.obj")); public static final IModelCustom chemplant_piston = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/chemplant_new_piston.obj")); public static final IModelCustom chemplant_fluid = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/chemplant_new_fluid.hmf")); public static final IModelCustom chemplant_fluidcap = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/chemplant_new_fluidcap.hmf")); + public static final IModelCustom chemical_plant = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chemical_plant.obj")); public static final IModelCustom chemfac = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chemfac.obj")); - + public static final IModelCustom chemical_factory = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chemical_factory.obj")); + //Mixer public static final IModelCustom mixer = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/mixer.obj")); - + //Arc Welder public static final IModelCustom arc_welder = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/arc_welder.obj"), false).asVBO(); - + //Solderer public static final IModelCustom soldering_station = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/soldering_station.obj"), false).asVBO(); - + //Arc Furnace public static final IModelCustom arc_furnace = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/arc_furnace.obj")).asVBO(); - + //F6 TANKS public static final IModelCustom tank = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/tank.obj")); - + //Centrifuge public static final IModelCustom centrifuge = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/centrifuge.obj")).asVBO(); public static final IModelCustom gascent = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/gascent.obj")).asVBO(); public static final IModelCustom silex = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/silex.obj")).asVBO(); public static final IModelCustom fel = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/fel.obj")).asVBO(); - + //Magnusson Device public static final IModelCustom microwave = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/microwave.obj")); - + //Big Man Johnson public static final IModelCustom autosaw = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/autosaw.obj")); - + //Mining Drill public static final IModelCustom mining_drill = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/mining_drill.obj")).asVBO(); public static final IModelCustom ore_slopper = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/ore_slopper.obj")).asVBO(); - + //Laser Miner public static final IModelCustom mining_laser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/mining_laser.obj")).asVBO(); - + //Crystallizer public static final IModelCustom crystallizer = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/acidizer.obj")).asVBO(); - + //Cyclotron public static final IModelCustom cyclotron = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/cyclotron.obj")).asVBO(); - + + //Albion Particle Accelerator + public static final IModelCustom pa_source = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/particleaccelerator/source.obj")).asVBO(); + public static final IModelCustom pa_beamline = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/particleaccelerator/beamline.obj")).asVBO(); + public static final IModelCustom pa_rfc = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/particleaccelerator/rfc.obj")).asVBO(); + public static final IModelCustom pa_quadrupole = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/particleaccelerator/quadrupole.obj")).asVBO(); + public static final IModelCustom pa_dipole = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/particleaccelerator/dipole.obj")).asVBO(); + public static final IModelCustom pa_detector = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/particleaccelerator/detector.obj")).asVBO(); + //Exposure Chamber public static final IModelCustom exposure_chamber = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/exposure_chamber.obj")).asVBO(); - + //RTG public static final IModelCustom rtg = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/rtg.obj")); //Waste Drum public static final IModelCustom waste_drum = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/drum.obj")); - + //Deuterium Tower public static final IModelCustom deuterium_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/machine_deuterium_tower.obj")).asVBO(); - + //Dark Matter Core public static final IModelCustom dfc_emitter = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/core_emitter.obj")); public static final IModelCustom dfc_receiver = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/core_receiver.obj")); public static final IModelCustom dfc_injector = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/core_injector.obj")); - + //Fan public static final IModelCustom fan = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/fan.obj")); - + //Piston Inserter public static final IModelCustom piston_inserter = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/piston_inserter.obj")); - + //Sphere public static final IModelCustom sphere_ruv = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/sphere_ruv.obj")); public static final IModelCustom sphere_iuv = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/sphere_iuv.obj")); public static final IModelCustom sphere_uv = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/sphere_uv.obj")); - public static final IModelCustom sphere_uv_anim = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/sphere_uv.hmf")); - + //Meteor public static final IModelCustom meteor = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/weapons/meteor.obj")); - + //Radgen public static final IModelCustom radgen = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/radgen.obj")); - + //Geiger Counter + public static final IModelCustom geiger = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/blocks/geiger_counter.obj")).asVBO(); + //Small Reactor public static final IModelCustom reactor_small_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/reactors/reactor_small_base.obj")); public static final IModelCustom reactor_small_rods = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/reactors/reactor_small_rods.obj")); - + //Breeder public static final IModelCustom breeder = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/breeder.obj")); - + //ITER public static final IModelCustom iter = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/iter.obj")).asVBO(); - + //ICF public static final IModelCustom icf = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/icf.obj")).asVBO(); - + //ICF public static final IModelCustom lpw2 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/lpw2.obj")).asVBO(); - + //Watz public static final IModelCustom watz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/watz.obj")).asVBO(); public static final IModelCustom watz_pump = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/watz_pump.obj")).asVBO(); - + //FENSU public static final IModelCustom fensu = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/fensu.obj")).asVBO(); - + //Radar public static final IModelCustom radar_body = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/radar_base.obj"), false).asVBO(); public static final IModelCustom radar = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/radar.obj"), false).asVBO(); public static final IModelCustom radar_large = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/radar_large.obj"), false).asVBO(); public static final IModelCustom radar_screen = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/radar_screen.obj"), false).asVBO(); - + //Forcefield public static final IModelCustom forcefield_top = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/forcefield_top.obj")); - - //Shredder - public static final IModelCustom shredder = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/shredder.obj")); - + //Bombs public static final IModelCustom bomb_gadget = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/gadget.obj")).asVBO(); public static final IModelCustom bomb_boy = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/LilBoy1.obj")); - public static final IModelCustom bomb_man = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/FatMan.obj")).asVBO(); + public static final IModelCustom bomb_man = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/fat_man.obj")).asVBO(); public static final IModelCustom bomb_mike = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/ivymike.obj")); public static final IModelCustom bomb_tsar = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/tsar.obj")).asVBO(); - public static final IModelCustom bomb_prototype = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/Prototype.obj")); - public static final IModelCustom bomb_fleija = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/Fleija.obj")); - public static final IModelCustom bomb_solinium = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/bombs/ufp.obj")); - public static final IModelCustom n2 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/bombs/n2.obj")); + public static final IModelCustom bomb_prototype = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/Prototype.obj")).asVBO(); + public static final IModelCustom bomb_fleija = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/fleija.obj")).asVBO(); + public static final IModelCustom bomb_solinium = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/ufp.obj")).asVBO(); + public static final IModelCustom n2 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/n2.obj")).asVBO(); public static final IModelCustom bomb_multi = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/BombGeneric.obj")); - public static final IModelCustom fstbmb = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/fstbmb.obj")); - public static final IModelCustom dud = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/BalefireCrashed.obj")); + public static final IModelCustom fstbmb = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/fstbmb.obj")).asVBO(); + public static final IModelCustom dud_balefire = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/dud_balefire.obj")).asVBO(); + public static final IModelCustom dud_conventional = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/dud_conventional.obj")).asVBO(); + public static final IModelCustom dud_nuke = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/dud_nuke.obj")).asVBO(); + public static final IModelCustom dud_salted = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/dud_salted.obj")).asVBO(); //Satellites public static final IModelCustom sat_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/sat_base.obj")); @@ -282,20 +299,20 @@ public class ResourceManager { //SatDock public static final IModelCustom satDock = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/sat_dock.obj")); - + //Solar Tower - public static final IModelCustom solar_boiler = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/solar_boiler.obj")); + public static final IModelCustom solar_boiler = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/solar_boiler.obj")).asVBO(); public static final IModelCustom solar_mirror = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/solar_mirror.obj")); - + //Drain public static final IModelCustom drain = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/drain.obj")); - + //Vault Door public static final IModelCustom vault_cog = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vault_cog.obj")); public static final IModelCustom vault_frame = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vault_frame.obj")); public static final IModelCustom vault_teeth = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vault_teeth.obj")); public static final IModelCustom vault_label = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vault_label.obj")); - + //Blast Door public static final IModelCustom blast_door_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blast_door_base.obj")); public static final IModelCustom blast_door_tooth = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blast_door_tooth.obj")); @@ -343,13 +360,16 @@ public class ResourceManager { public static final ResourceLocation silo_hatch_large_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/silo_hatch_large.png"); public static IModelCustomNamed silo_hatch_large = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/silo_hatch_large.obj")).asVBO(); - + + //Skeleton + public static final IModelCustom skeleton_holder = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/blocks/skeleton_holder.obj"),false).asVBO(); + //Lights public static final IModelCustom lantern = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/trinkets/lantern.obj")); public static final IModelCustom cage_lamp = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/lights/cage_lamp.obj")); public static final IModelCustom fluorescent_lamp = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/lights/fluorescent_lamp.obj")); public static final IModelCustom flood_lamp = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/lights/flood_lamp.obj")); - + //Tesla Coil public static final IModelCustom tesla = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/tesla.obj")); public static final IModelCustom teslacrab = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mobs/teslacrab.obj")); @@ -361,40 +381,45 @@ public class ResourceManager { public static final IModelCustom siege_ufo = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/mobs/siege_ufo.obj")); public static final IModelCustom glyphid = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/mobs/glyphid.obj")); public static final IModelCustom drone = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mobs/quadcopter.obj")); - + //ZIRNOX - public static final IModelCustom zirnox = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/zirnox.obj")); - public static final IModelCustom zirnox_destroyed = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/zirnox_destroyed.obj")); - + public static final IModelCustom zirnox = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/zirnox.obj")).asVBO(); + public static final IModelCustom zirnox_destroyed = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/zirnox_destroyed.obj")).asVBO(); + //Belt public static final IModelCustom arrow = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/arrow.obj")); - + //Network public static final IModelCustom connector = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/network/connector.obj")); public static final IModelCustom pylon_medium = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/network/pylon_medium.obj")); public static final IModelCustom pylon_large = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/network/pylon_large.obj")); public static final IModelCustom substation = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/network/substation.obj")); - + public static final IModelCustom fluid_pump = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/network/fluid_diode.obj")); + //Radiolysis public static final IModelCustom radiolysis = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/radiolysis.obj")); - + + //RotaryFurnace + public static final IModelCustom rotary_furnace = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/rotary_furnace.obj")).asVBO(); + //Electrolyser - public static final IModelCustom electrolyser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/electrolyser.obj")); - + public static final IModelCustom electrolyser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/electrolyser.obj")).asVBO(); + //Charging Station public static final IModelCustom charger = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/blocks/charger.obj")); - + public static final IModelCustom refueler = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/blocks/refueler.obj")); + //DecoContainer (File Cabinet for now) public static final IModelCustom file_cabinet = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/file_cabinet.obj")); - + //TELEX public static final IModelCustom telex = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/telex.obj")); - + ////Textures TEs - + public static final ResourceLocation universal = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png"); public static final ResourceLocation universal_bright = new ResourceLocation(RefStrings.MODID, "textures/models/turbofan_blades.png"); - + public static final ResourceLocation turret_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/base.png"); public static final ResourceLocation turret_base_friendly_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/base_friendly.png"); public static final ResourceLocation turret_carriage_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/carriage.png"); @@ -423,16 +448,21 @@ public class ResourceManager { public static final ResourceLocation turret_carriage_ciws_rusted = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/rusted/carriage_ciws.png"); public static final ResourceLocation turret_howard_rusted = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/rusted/howard.png"); public static final ResourceLocation turret_howard_barrels_rusted = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/rusted/howard_barrels.png"); - + public static final ResourceLocation brandon_explosive = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/brandon_drum.png"); //Landmines - public static final ResourceLocation mine_ap_tex = new ResourceLocation(RefStrings.MODID, "textures/models/mine_ap.png"); + public static final ResourceLocation mine_ap_grass_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/mine_ap_grass.png"); + public static final ResourceLocation mine_ap_desert_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/mine_ap_desert.png"); + public static final ResourceLocation mine_ap_snow_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/mine_ap_snow.png"); + public static final ResourceLocation mine_ap_stone_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/mine_ap_stone.png"); //public static final ResourceLocation mine_he_tex = new ResourceLocation(RefStrings.MODID, "textures/models/mine_he.png"); public static final ResourceLocation mine_marelet_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/mine_marelet.png"); - public static final ResourceLocation mine_shrap_tex = new ResourceLocation(RefStrings.MODID, "textures/models/mine_shrap.png"); + public static final ResourceLocation mine_shrap_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/mine_shrapnel.png"); public static final ResourceLocation mine_fat_tex = new ResourceLocation(RefStrings.MODID, "textures/models/mine_fat.png"); - + public static final ResourceLocation mine_naval_tex = new ResourceLocation(RefStrings.MODID, "textures/models/NMine.png"); + + //Heaters public static final ResourceLocation heater_firebox_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/firebox.png"); public static final ResourceLocation heater_oven_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/heating_oven.png"); @@ -440,7 +470,7 @@ public class ResourceManager { public static final ResourceLocation heater_oilburner_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/oilburner.png"); public static final ResourceLocation heater_electric_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/electric_heater.png"); public static final ResourceLocation heater_heatex_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/heater_heatex.png"); - + //Heat Engines public static final ResourceLocation stirling_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/stirling.png"); public static final ResourceLocation stirling_steel_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/stirling_steel.png"); @@ -458,45 +488,48 @@ public class ResourceManager { public static final ResourceLocation furnace_iron_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/furnace_iron.png"); public static final ResourceLocation furnace_steel_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/furnace_steel.png"); public static final ResourceLocation combination_oven_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/combination_oven.png"); - + //Oil Pumps public static final ResourceLocation derrick_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/derrick.png"); public static final ResourceLocation pumpjack_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/pumpjack.png"); public static final ResourceLocation fracking_tower_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/fracking_tower.png"); - + //Refinery public static final ResourceLocation refinery_tex = new ResourceLocation(RefStrings.MODID, "textures/models/refinery.png"); public static final ResourceLocation vacuum_distill_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/vacuum_distill.png"); public static final ResourceLocation fraction_tower_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/fraction_tower.png"); public static final ResourceLocation fraction_spacer_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/fraction_spacer.png"); - public static final ResourceLocation cracking_tower_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/cracking_tower.png"); + public static final ResourceLocation cracking_tower_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/catalytic_cracker.png"); public static final ResourceLocation catalytic_reformer_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/catalytic_reformer.png"); public static final ResourceLocation hydrotreater_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/hydrotreater.png"); public static final ResourceLocation liquefactor_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/liquefactor.png"); public static final ResourceLocation solidifier_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/solidifier.png"); + public static final ResourceLocation intake_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/intake.png"); public static final ResourceLocation compressor_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/compressor.png"); + public static final ResourceLocation compressor_compact_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/compressor_compact.png"); public static final ResourceLocation coker_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/coker.png"); - + public static final ResourceLocation pyrooven_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/pyrooven.png"); + //Flare Stack public static final ResourceLocation oilflare_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/flare_stack.png"); public static final ResourceLocation chimney_brick_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/chimney_brick.png"); public static final ResourceLocation chimney_industrial_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/chimney_industrial.png"); - + //Tank public static final ResourceLocation tank_tex = new ResourceLocation(RefStrings.MODID, "textures/models/tank.png"); public static final ResourceLocation tank_inner_tex = new ResourceLocation(RefStrings.MODID, "textures/models/tank/tank_inner.png"); public static final ResourceLocation tank_label_tex = new ResourceLocation(RefStrings.MODID, "textures/models/tank/tank_NONE.png"); public static final ResourceLocation bat9000_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/bat9000.png"); public static final ResourceLocation orbus_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/orbus.png"); - + //Turbofan public static final ResourceLocation turbofan_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/turbofan.png"); public static final ResourceLocation turbofan_back_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/turbofan_back.png"); public static final ResourceLocation turbofan_afterburner_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/turbofan_afterburner.png"); - + //Gas Turbine public static final ResourceLocation turbinegas_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/turbinegas.png"); - + //Pumps public static final ResourceLocation pump_steam_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/pump_steam.png"); public static final ResourceLocation pump_electric_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/pump_electric.png"); @@ -505,29 +538,29 @@ public class ResourceManager { public static final ResourceLocation steam_engine_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/steam_engine.png"); public static final ResourceLocation turbine_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/turbine.png"); public static final ResourceLocation chungus_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/chungus.png"); - + //Cooling Tower public static final ResourceLocation tower_small_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/tower_small.png"); public static final ResourceLocation tower_large_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/tower_large.png"); public static final ResourceLocation condenser_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/condenser.png"); - + //Deuterium Tower public static final ResourceLocation deuterium_tower_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/machine_deuterium_tower.png"); - + //Wood Burner public static final ResourceLocation wood_burner_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/wood_burner.png"); - + //IGen public static final ResourceLocation igen_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/igen.png"); public static final ResourceLocation igen_rotor = new ResourceLocation(RefStrings.MODID, "textures/models/machines/igen_rotor.png"); public static final ResourceLocation igen_cog = new ResourceLocation(RefStrings.MODID, "textures/models/machines/igen_cog.png"); public static final ResourceLocation igen_arm = new ResourceLocation(RefStrings.MODID, "textures/models/machines/igen_arm.png"); public static final ResourceLocation igen_pistons = new ResourceLocation(RefStrings.MODID, "textures/models/machines/igen_pistons.png"); - + //Combustion Engine public static final ResourceLocation dieselgen_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/dieselgen.png"); public static final ResourceLocation combustion_engine_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/combustion_engine.png"); - + //Press public static final ResourceLocation press_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/press_body.png"); public static final ResourceLocation press_head_tex = new ResourceLocation(RefStrings.MODID, "textures/models/press_head.png"); @@ -535,49 +568,54 @@ public class ResourceManager { public static final ResourceLocation epress_head_tex = new ResourceLocation(RefStrings.MODID, "textures/models/epress_head.png"); public static final ResourceLocation conveyor_press_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/conveyor_press.png"); public static final ResourceLocation conveyor_press_belt_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/conveyor_press_belt.png"); - + public static final ResourceLocation ammo_press_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/ammo_press.png"); + //Assembler public static final ResourceLocation assembler_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/assembler_base_new.png"); public static final ResourceLocation assembler_cog_tex = new ResourceLocation(RefStrings.MODID, "textures/models/assembler_cog_new.png"); public static final ResourceLocation assembler_slider_tex = new ResourceLocation(RefStrings.MODID, "textures/models/assembler_slider_new.png"); public static final ResourceLocation assembler_arm_tex = new ResourceLocation(RefStrings.MODID, "textures/models/assembler_arm_new.png"); + public static final ResourceLocation assembly_machine_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/assembly_machine.png"); public static final ResourceLocation assemfac_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/assemfac.png"); - + //Chemplant public static final ResourceLocation chemplant_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/chemplant_base_new.png"); public static final ResourceLocation chemplant_spinner_tex = new ResourceLocation(RefStrings.MODID, "textures/models/chemplant_spinner_new.png"); public static final ResourceLocation chemplant_piston_tex = new ResourceLocation(RefStrings.MODID, "textures/models/chemplant_piston_new.png"); public static final ResourceLocation chemplant_fluid_tex = new ResourceLocation(RefStrings.MODID, "textures/models/lavabase_small.png"); + public static final ResourceLocation chemical_plant_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/chemical_plant.png"); + public static final ResourceLocation chemical_plant_fluid_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/chemical_plant_fluid.png"); public static final ResourceLocation chemfac_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/chemfac.png"); - + public static final ResourceLocation chemical_factory_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/chemical_factory.png"); + //Mixer public static final ResourceLocation mixer_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/mixer.png"); - + //Welder public static final ResourceLocation arc_welder_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/arc_welder.png"); - + //Solderer public static final ResourceLocation soldering_station_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/soldering_station.png"); - + //Arc Furnace public static final ResourceLocation arc_furnace_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/arc_furnace.png"); //F6 TANKS public static final ResourceLocation uf6_tex = new ResourceLocation(RefStrings.MODID, "textures/models/UF6Tank.png"); public static final ResourceLocation puf6_tex = new ResourceLocation(RefStrings.MODID, "textures/models/PUF6Tank.png"); - + //Centrifuge public static final ResourceLocation centrifuge_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/centrifuge.png"); public static final ResourceLocation gascent_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/gascent.png"); public static final ResourceLocation fel_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/fel.png"); public static final ResourceLocation silex_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/silex.png"); - + //Magnusson Device public static final ResourceLocation microwave_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/microwave.png"); - + //Big Man Johnson public static final ResourceLocation autosaw_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/autosaw.png"); - + //Mining Drill public static final ResourceLocation mining_drill_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/mining_drill.png"); public static final ResourceLocation ore_slopper_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/ore_slopper.png"); @@ -586,10 +624,10 @@ public class ResourceManager { public static final ResourceLocation mining_laser_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/mining_laser_base.png"); public static final ResourceLocation mining_laser_pivot_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/mining_laser_pivot.png"); public static final ResourceLocation mining_laser_laser_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/mining_laser_laser.png"); - + //Crystallizer public static final ResourceLocation crystallizer_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/acidizer.png"); - + //Cyclotron public static final ResourceLocation cyclotron_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/cyclotron.png"); public static final ResourceLocation cyclotron_ashes = new ResourceLocation(RefStrings.MODID, "textures/models/machines/cyclotron_ashes.png"); @@ -600,40 +638,50 @@ public class ResourceManager { public static final ResourceLocation cyclotron_gavel_filled = new ResourceLocation(RefStrings.MODID, "textures/models/machines/cyclotron_gavel_filled.png"); public static final ResourceLocation cyclotron_coin = new ResourceLocation(RefStrings.MODID, "textures/models/machines/cyclotron_coin.png"); public static final ResourceLocation cyclotron_coin_filled = new ResourceLocation(RefStrings.MODID, "textures/models/machines/cyclotron_coin_filled.png"); - + + //Albion Particle Accelerator + public static final ResourceLocation pa_source_tex = new ResourceLocation(RefStrings.MODID, "textures/models/particleaccelerator/source.png"); + public static final ResourceLocation pa_beamline_tex = new ResourceLocation(RefStrings.MODID, "textures/models/particleaccelerator/beamline.png"); + public static final ResourceLocation pa_rfc_tex = new ResourceLocation(RefStrings.MODID, "textures/models/particleaccelerator/rfc.png"); + public static final ResourceLocation pa_quadrupole_tex = new ResourceLocation(RefStrings.MODID, "textures/models/particleaccelerator/quadrupole.png"); + public static final ResourceLocation pa_dipole_tex = new ResourceLocation(RefStrings.MODID, "textures/models/particleaccelerator/dipole.png"); + public static final ResourceLocation pa_detector_tex = new ResourceLocation(RefStrings.MODID, "textures/models/particleaccelerator/detector.png"); + //Exposure Chamber public static final ResourceLocation exposure_chamber_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/exposure_chamber.png"); - + //RTG public static final ResourceLocation rtg_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/rtg.png"); public static final ResourceLocation rtg_cell_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/rtg_cell.png"); public static final ResourceLocation rtg_polonium_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/rtg_polonium.png"); - + //Waste Drum public static final ResourceLocation waste_drum_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/drum_gray.png"); - + //Dark Matter Core public static final ResourceLocation dfc_emitter_tex = new ResourceLocation(RefStrings.MODID, "textures/models/core_emitter.png"); public static final ResourceLocation dfc_receiver_tex = new ResourceLocation(RefStrings.MODID, "textures/models/core_receiver.png"); public static final ResourceLocation dfc_injector_tex = new ResourceLocation(RefStrings.MODID, "textures/models/core_injector.png"); public static final ResourceLocation dfc_stabilizer_tex = new ResourceLocation(RefStrings.MODID, "textures/models/core_stabilizer.png"); - + //Fan public static final ResourceLocation fan_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/fan.png"); - + //Piston_Inserter public static final ResourceLocation piston_inserter_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/piston_inserter.png"); - + //Radgen public static final ResourceLocation radgen_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/radgen.png"); - + //Geiger Counter + public static final ResourceLocation geiger_tex = new ResourceLocation(RefStrings.MODID, "textures/blocks/geiger.png"); + //Small Reactor public static final ResourceLocation reactor_small_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/reactor_small_base.png"); public static final ResourceLocation reactor_small_rods_tex = new ResourceLocation(RefStrings.MODID, "textures/models/reactor_small_rods.png"); //Breeder public static final ResourceLocation breeder_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/breeder.png"); - + //ITER public static final ResourceLocation iter_glass = new ResourceLocation(RefStrings.MODID, "textures/models/iter/glass.png"); public static final ResourceLocation iter_microwave = new ResourceLocation(RefStrings.MODID, "textures/models/iter/microwave.png"); @@ -647,22 +695,22 @@ public class ResourceManager { public static final ResourceLocation iter_torus_desh = new ResourceLocation(RefStrings.MODID, "textures/models/iter/torus_desh.png"); public static final ResourceLocation iter_torus_chlorophyte = new ResourceLocation(RefStrings.MODID, "textures/models/iter/torus_chlorophyte.png"); public static final ResourceLocation iter_torus_vaporwave = new ResourceLocation(RefStrings.MODID, "textures/models/iter/torus_vaporwave.png"); - + //ICF public static final ResourceLocation icf_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/icf.png"); - + //Fat Fuck public static final ResourceLocation lpw2_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/lpw2.png"); public static final ResourceLocation lpw2_term_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/lpw2_term.png"); public static final ResourceLocation lpw2_error_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/lpw2_term_error.png"); - + //Watz public static final ResourceLocation watz_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/watz.png"); public static final ResourceLocation watz_pump_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/watz_pump.png"); - + //FENSU public static final ResourceLocation fensu_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/fensu.png"); - + //Radar public static final ResourceLocation radar_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/radar_base.png"); public static final ResourceLocation radar_head_tex = new ResourceLocation(RefStrings.MODID, "textures/models/radar_head.png"); @@ -670,22 +718,19 @@ public class ResourceManager { public static final ResourceLocation radar_dish_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/radar_dish.png"); public static final ResourceLocation radar_large_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/radar_large.png"); public static final ResourceLocation radar_screen_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/radar_screen.png"); - + //Forcefield public static final ResourceLocation forcefield_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/forcefield_base.png"); public static final ResourceLocation forcefield_top_tex = new ResourceLocation(RefStrings.MODID, "textures/models/forcefield_top.png"); - - //Shredder - public static final ResourceLocation shredder_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/shredder.png"); - + //Bombs public static final ResourceLocation bomb_gadget_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/gadget.png"); public static final ResourceLocation bomb_boy_tex = new ResourceLocation(RefStrings.MODID, "textures/models/lilboy.png"); public static final ResourceLocation bomb_man_tex = new ResourceLocation(RefStrings.MODID, "textures/models/FatMan.png"); public static final ResourceLocation bomb_mike_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/ivymike.png"); public static final ResourceLocation bomb_tsar_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/tsar.png"); - public static final ResourceLocation bomb_prototype_tex = new ResourceLocation(RefStrings.MODID, "textures/models/Prototype.png"); - public static final ResourceLocation bomb_fleija_tex = new ResourceLocation(RefStrings.MODID, "textures/models/Fleija.png"); + public static final ResourceLocation bomb_prototype_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/Prototype.png"); + public static final ResourceLocation bomb_fleija_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/fleija.png"); public static final ResourceLocation bomb_solinium_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/ufp.png"); public static final ResourceLocation n2_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/n2.png"); public static final ResourceLocation bomb_custom_tex = new ResourceLocation(RefStrings.MODID, "textures/models/CustomNuke.png"); @@ -696,8 +741,11 @@ public class ResourceManager { public static final ResourceLocation n45_stand_tex = new ResourceLocation(RefStrings.MODID, "textures/models/n45_stand.png"); public static final ResourceLocation n45_chain_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/n45_chain.png"); public static final ResourceLocation fstbmb_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/fstbmb.png"); - public static final ResourceLocation dud_tex = new ResourceLocation(RefStrings.MODID, "textures/models/BalefireCrashed.png"); - + public static final ResourceLocation dud_balefire_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/dud_balefire.png"); + public static final ResourceLocation dud_conventional_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/dud_conventional.png"); + public static final ResourceLocation dud_nuke_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/dud_nuke.png"); + public static final ResourceLocation dud_salted_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/dud_salted.png"); + //Satellites public static final ResourceLocation sat_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/sat_base.png"); public static final ResourceLocation sat_radar_tex = new ResourceLocation(RefStrings.MODID, "textures/models/sat_radar.png"); @@ -707,10 +755,10 @@ public class ResourceManager { public static final ResourceLocation sat_laser_tex = new ResourceLocation(RefStrings.MODID, "textures/models/sat_laser.png"); public static final ResourceLocation sat_foeq_tex = new ResourceLocation(RefStrings.MODID, "textures/models/sat_foeq.png"); public static final ResourceLocation sat_foeq_burning_tex = new ResourceLocation(RefStrings.MODID, "textures/models/sat_foeq_burning.png"); - + //SatDock public static final ResourceLocation satdock_tex = new ResourceLocation(RefStrings.MODID, "textures/models/sat_dock.png"); - + //Vault Door public static final ResourceLocation vault_cog_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault_cog.png"); public static final ResourceLocation vault_frame_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault_frame.png"); @@ -723,24 +771,27 @@ public class ResourceManager { public static final ResourceLocation vault4_cog_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault4_cog.png"); public static final ResourceLocation vault4_label_111_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault4_label_111.png"); public static final ResourceLocation vault4_label_81_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault4_label_81.png"); - + //Solar Tower public static final ResourceLocation solar_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/solar_boiler.png"); public static final ResourceLocation solar_mirror_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/solar_mirror.png"); - + //Drain public static final ResourceLocation drain_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/drain.png"); - + //Blast Door public static final ResourceLocation blast_door_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/blast_door_base.png"); public static final ResourceLocation blast_door_tooth_tex = new ResourceLocation(RefStrings.MODID, "textures/models/blast_door_tooth.png"); public static final ResourceLocation blast_door_slider_tex = new ResourceLocation(RefStrings.MODID, "textures/models/blast_door_slider.png"); public static final ResourceLocation blast_door_block_tex = new ResourceLocation(RefStrings.MODID, "textures/models/blast_door_block.png"); - + //Doors public static final ResourceLocation transition_seal_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/transition_seal.png"); public static final ResourceLocation fire_door_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/fire_door.png"); + //Skeleton + public static final ResourceLocation skeleton_holder_tex = new ResourceLocation(RefStrings.MODID, "textures/particle/skeleton.png"); + //Lantern public static final ResourceLocation lantern_tex = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/lantern.png"); public static final ResourceLocation lantern_rusty_tex = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/lantern_rusty.png"); @@ -762,11 +813,11 @@ public class ResourceManager { public static final ResourceLocation glyphid_scout_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_scout.png"); public static final ResourceLocation glyphid_nuclear_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_nuclear.png"); public static final ResourceLocation glyphid_digger_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_digger.png"); - + //ZIRNOX public static final ResourceLocation zirnox_tex = new ResourceLocation(RefStrings.MODID, "textures/models/zirnox.png"); public static final ResourceLocation zirnox_destroyed_tex = new ResourceLocation(RefStrings.MODID, "textures/models/zirnox_destroyed.png"); - + //Electricity public static final ResourceLocation connector_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/connector.png"); public static final ResourceLocation pylon_medium_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/pylon_medium.png"); @@ -775,83 +826,93 @@ public class ResourceManager { public static final ResourceLocation substation_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/substation.png"); public static final ResourceLocation wire_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/wire.png"); public static final ResourceLocation wire_greyscale_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/wire_greyscale.png"); + public static final ResourceLocation fluid_pump_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/fluid_diode.png"); //Radiolysis public static final ResourceLocation radiolysis_tex = new ResourceLocation(RefStrings.MODID, "textures/models/radiolysis.png"); - + + //Rotary Furnace + public static final ResourceLocation rotary_furnace_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/rotary_furnace.png"); + //Electrolyser public static final ResourceLocation electrolyser_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/electrolyser.png"); - + //Charger public static final ResourceLocation charger_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/charger.png"); - + public static final ResourceLocation refueler_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/refueler.png"); + //DecoContainer public static final ResourceLocation file_cabinet_tex = new ResourceLocation(RefStrings.MODID, "textures/models/file_cabinet.png"); public static final ResourceLocation file_cabinet_steel_tex = new ResourceLocation(RefStrings.MODID, "textures/models/file_cabinet_steel.png"); - + //TELEX public static final ResourceLocation telex_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/telex.png"); - + ////Obj Items - + //Shimmer Sledge public static final IModelCustom shimmer_sledge = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/shimmer_sledge.obj")); public static final IModelCustom shimmer_axe = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/shimmer_axe.obj")); public static final IModelCustom stopsign = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/weapons/stopsign.obj")); - public static final IModelCustom gavel = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/gavel.obj")); - public static final IModelCustom crucible = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/crucible.obj")); - public static final IModelCustom chainsaw = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/chainsaw.obj"), false); - public static final IModelCustom boltgun = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/boltgun.obj")); - - public static final IModelCustom hk69 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/hk69.obj")); - public static final IModelCustom deagle = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/deagle.obj")); - public static final IModelCustom shotty = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/supershotty.obj")); - public static final IModelCustom ks23 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/ks23.obj")); - public static final IModelCustom flamer = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/flamer.obj")); - public static final IModelCustom flechette = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/flechette.obj")); - public static final IModelCustom quadro = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/quadro.obj")); - public static final IModelCustom sauergun = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/sauergun.obj")); - public static final IModelCustom vortex = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/vortex.obj")); - public static final IModelCustom thompson = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/thompson.obj")); - public static final IModelCustom bolter = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/bolter.obj")); - public static final IModelCustom ff_python = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/python.obj")); - public static final IModelCustom ff_maresleg = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/maresleg.obj")); + public static final IModelCustom gavel = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/gavel.obj")).asVBO(); + public static final IModelCustom crucible = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/crucible.obj")).asVBO(); + public static final IModelCustom chainsaw = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/chainsaw.obj"), false).asVBO(); + public static final IModelCustom boltgun = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/boltgun.obj")).asVBO(); + public static final IModelCustom bolter = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/bolter.obj")).asVBO(); + public static final IModelCustom detonator_laser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/detonator_laser.obj")).asVBO(); + public static final IModelCustom fireext = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/fireext.obj")).asVBO(); public static final IModelCustom ff_nightmare = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/nightmare.obj")); - public static final IModelCustom fireext = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/fireext.obj")); - public static final IModelCustom ar15 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/ar15.obj")); - public static final IModelCustom stinger = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/stinger.obj")); - public static final IModelCustom mg42 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/mg42.obj")); - public static final IModelCustom rem700 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/rem700.obj")); - public static final IModelCustom rem700poly = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/rem700poly.obj")); - public static final IModelCustom rem700sat = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/rem700sat.obj")); - public static final IModelCustom cursed_revolver = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/cursed.obj")); - public static final IModelCustom detonator_laser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/detonator_laser.obj")); - public static final IModelCustom remington = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/remington.obj")); - public static final IModelCustom spas_12 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/spas-12.obj")); - public static final IModelCustom nightmare_dark = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/nightmare_dark.obj")); - public static final IModelCustom glass_cannon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/glass_cannon.obj")); - public static final IModelCustom bio_revolver = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/bio_revolver.obj")); - public static final IModelCustom chemthrower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/chemthrower.obj")).asVBO(); - public static final IModelCustom novac = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/novac.obj")); - public static final IModelCustom m2 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/m2_browning.obj")).asVBO(); //large fella should be a display list - public static final IModelCustom lunatic_sniper = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lunatic_sniper.obj")).asVBO(); - public static final IModelCustom tau = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/tau.obj")); - public static final IModelCustom benelli = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/benelli_new.obj")).asVBO(); public static final IModelCustom coilgun = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/coilgun.obj")).asVBO(); public static final IModelCustom cryocannon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/cryo_cannon.obj")).asVBO(); - public static final IModelCustom uac_pistol = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/UAC pistol.obj")).asVBO(); - public static final IModelCustom congolake = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/congolake.obj")).asVBO(); - public static final IModelCustom lilmac = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lilmac.obj")).asVBO(); - public static final HashMap python_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/python.json")); - public static final HashMap cursed_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/cursed.json")); - public static final HashMap novac_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/novac.json")); - public static final HashMap ks23_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/ks23.json")); + public static final IModelCustom pepperbox = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/pepperbox.obj")).asVBO(); + public static final IModelCustom bio_revolver = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/bio_revolver.obj")).asVBO(); + public static final IModelCustom henry = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/henry.obj")).asVBO(); + public static final IModelCustom greasegun = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/greasegun.obj")).asVBO(); + public static final IModelCustom maresleg = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/maresleg.obj")).asVBO(); + public static final IModelCustom flaregun = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/flaregun.obj")).asVBO(); + public static final IModelCustom am180 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/am180.obj")).asVBO(); + public static final IModelCustom liberator = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/liberator.obj")).asVBO(); + public static final IModelCustom congolake = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/congolake.obj")).asVBO(); + public static final IModelCustom flamethrower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/flamethrower.obj")).asVBO(); + public static final IModelCustom lilmac = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lilmac.obj")).asVBO(); + public static final IModelCustom carbine = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/carbine.obj")).asVBO(); + public static final IModelCustom uzi = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/uzi.obj")).asVBO(); + public static final IModelCustom spas_12 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/spas-12.obj")).asVBO(); + public static final IModelCustom panzerschreck = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/panzerschreck.obj")).asVBO(); + public static final IModelCustom g3 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/g3.obj")).asVBO(); + public static final IModelCustom stinger = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/stinger.obj")).asVBO(); + public static final IModelCustom chemthrower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/chemthrower.obj")).asVBO(); + public static final IModelCustom amat = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/amat.obj")).asVBO(); + public static final IModelCustom m2 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/m2_browning.obj")).asVBO(); + public static final IModelCustom shredder = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/shredder.obj")).asVBO(); + public static final IModelCustom sexy = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/sexy.obj")).asVBO(); + public static final IModelCustom whiskey = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/whiskey.obj")).asVBO(); + public static final IModelCustom quadro = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/quadro.obj")).asVBO(); + public static final IModelCustom mike_hawk = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/mike_hawk.obj")).asVBO(); + public static final IModelCustom minigun = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/minigun.obj")).asVBO(); + public static final IModelCustom missile_launcher = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/missile_launcher.obj")).asVBO(); + public static final IModelCustom tesla_cannon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/tesla_cannon.obj")).asVBO(); + public static final IModelCustom laser_pistol = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/laser_pistol.obj")).asVBO(); + public static final IModelCustom stg77 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/stg77.obj")).asVBO(); + public static final IModelCustom tau = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/tau.obj")).asVBO(); + public static final IModelCustom fatman = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/fatman.obj")).asVBO(); + public static final IModelCustom lasrifle = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lasrifle.obj")).asVBO(); + public static final IModelCustom lasrifle_mods = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lasrifle_mods.obj")).asVBO(); + public static final IModelCustom hangman = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/hangman.obj")).asVBO(); + public static final IModelCustom folly = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/folly.obj")).asVBO(); + public static final IModelCustom double_barrel = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/sacred_dragon.obj")).asVBO(); + public static final IModelCustom aberrator = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/aberrator.obj")).asVBO(); + public static final IModelCustom mas36 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/mas36.obj")).asVBO(); + public static final IModelCustom charge_thrower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/charge_thrower.obj")).asVBO(); + public static final HashMap spas_12_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/spas12.json")); - public static final HashMap supershotty_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/supershotty.json")); - public static final HashMap benelli_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/benelli.json")); public static final HashMap congolake_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/congolake.json")); - + public static final HashMap am180_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/am180.json")); + public static final HashMap flamethrower_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/flamethrower.json")); + public static final HashMap stg77_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/stg77.json")); + public static final HashMap lag_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/lag.json")); + public static final IModelCustom lance = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lance.obj")); public static final IModelCustom grenade_frag = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/grenade_frag.obj")); @@ -875,8 +936,9 @@ public class ResourceManager { public static final IModelCustom armor_tail = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/tail_peep.obj")); public static final IModelCustom player_manly_af = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/armor/player_fem.obj")); public static final IModelCustom armor_envsuit = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/envsuit.obj")); + public static final IModelCustom armor_taurun = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/taurun.obj")); public static final IModelCustom armor_trenchmaster = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/trenchmaster.obj")); - + ////Texture Items //Shimmer Sledge @@ -896,77 +958,95 @@ public class ResourceManager { public static final ResourceLocation chainsaw_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/chainsaw.png"); public static final ResourceLocation boltgun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/boltgun.png"); - public static final ResourceLocation hk69_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/hk69.png"); - public static final ResourceLocation deagle_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/deagle.png"); - public static final ResourceLocation ks23_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ks23.png"); - public static final ResourceLocation shotty_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/shotty.png"); - public static final ResourceLocation flamer_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flamer.png"); - public static final ResourceLocation flechette_body = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flechette_body.png"); - public static final ResourceLocation flechette_barrel = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flechette_barrel.png"); - public static final ResourceLocation flechette_gren_tube = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flechette_gren_tube.png"); - public static final ResourceLocation flechette_grenades = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flechette_grenades.png"); - public static final ResourceLocation flechette_pivot = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flechette_pivot.png"); - public static final ResourceLocation flechette_top = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flechette_top.png"); - public static final ResourceLocation flechette_chamber = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flechette_chamber.png"); - public static final ResourceLocation flechette_base = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flechette_base.png"); - public static final ResourceLocation flechette_drum = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flechette_drum.png"); - public static final ResourceLocation flechette_trigger = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flechette_trigger.png"); - public static final ResourceLocation flechette_stock = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flechette_stock.png"); - public static final ResourceLocation quadro_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/quadro.png"); - public static final ResourceLocation quadro_rocket_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/quadro_rocket.png"); - public static final ResourceLocation sauergun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/sauergun.png"); - public static final ResourceLocation vortex_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/vortex.png"); - public static final ResourceLocation thompson_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/thompson.png"); public static final ResourceLocation bolter_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/bolter.png"); public static final ResourceLocation bolter_digamma_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/bolter_digamma.png"); public static final ResourceLocation fireext_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/fireext_normal.png"); public static final ResourceLocation fireext_foam_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/fireext_foam.png"); public static final ResourceLocation fireext_sand_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/fireext_sand.png"); - public static final ResourceLocation ar15_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/carbine.png"); public static final ResourceLocation stinger_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/stinger.png"); public static final ResourceLocation sky_stinger_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/sky_stinger.png"); - public static final ResourceLocation mg42_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/mg42.png"); - public static final ResourceLocation rem700_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/rem700.png"); - public static final ResourceLocation rem700poly_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/rem700poly.png"); - public static final ResourceLocation rem700sat_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/rem700sat.png"); public static final ResourceLocation detonator_laser_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/detonator_laser.png"); - public static final ResourceLocation remington_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/remington.png"); public static final ResourceLocation spas_12_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/spas-12.png"); - public static final ResourceLocation glass_cannon_panel_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/glass_cannon_panel.png"); - public static final ResourceLocation bio_revolver_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/bio_revolver.png"); public static final ResourceLocation chemthrower_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/chemthrower.png"); - public static final ResourceLocation novac_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/novac.png"); - public static final ResourceLocation novac_scope_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/novac_scope.png"); - public static final ResourceLocation lil_pip_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lil_pip.png"); - public static final ResourceLocation blackjack_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/blackjack.png"); - public static final ResourceLocation lent_gun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lent_gun.png"); - public static final ResourceLocation red_key_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/red_key.png"); public static final ResourceLocation m2_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/m2_browning.png"); - public static final ResourceLocation lunatic_sniper_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lunatic_sniper.png"); - public static final ResourceLocation tau_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/tau.png"); - public static final ResourceLocation benelli_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/benelli_tex.png"); public static final ResourceLocation coilgun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/coilgun.png"); public static final ResourceLocation cryocannon_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/cryo_cannon.png"); - public static final ResourceLocation uac_pistol_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/pistol_texture.png"); public static final ResourceLocation congolake_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/congolake.png"); + + public static final ResourceLocation debug_gun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/debug_gun.png"); + public static final ResourceLocation pepperbox_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/pepperbox.png"); + public static final ResourceLocation bio_revolver_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/bio_revolver.png"); + public static final ResourceLocation bio_revolver_atlas_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/bio_revolver_atlas.png"); + public static final ResourceLocation dani_celestial_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/dani_celestial.png"); + public static final ResourceLocation dani_lunar_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/dani_lunar.png"); + public static final ResourceLocation henry_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/henry.png"); + public static final ResourceLocation henry_lincoln_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/henry_lincoln.png"); + public static final ResourceLocation greasegun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/greasegun.png"); + public static final ResourceLocation greasegun_clean_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/greasegun_clean.png"); + public static final ResourceLocation maresleg_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/maresleg.png"); + public static final ResourceLocation maresleg_broken_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/maresleg_broken.png"); + public static final ResourceLocation flaregun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flaregun.png"); + public static final ResourceLocation heavy_revolver_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/heavy_revolver.png"); + public static final ResourceLocation heavy_revolver_protege_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/protege.png"); public static final ResourceLocation lilmac_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lilmac.png"); public static final ResourceLocation lilmac_scope_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lilmac_scope.png"); - + public static final ResourceLocation carbine_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/huntsman.png"); + public static final ResourceLocation carbine_bayonet_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/carbine_bayonet.png"); + public static final ResourceLocation am180_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/am180.png"); + public static final ResourceLocation liberator_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/liberator.png"); + public static final ResourceLocation flamethrower_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flamethrower.png"); + public static final ResourceLocation flamethrower_topaz_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flamethrower_topaz.png"); + public static final ResourceLocation flamethrower_daybreaker_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flamethrower_daybreaker.png"); + public static final ResourceLocation mike_hawk_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lag.png"); + public static final ResourceLocation uzi_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/uzi.png"); + public static final ResourceLocation uzi_saturnite_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/uzi_saturnite.png"); + public static final ResourceLocation panzerschreck_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/panzerschreck.png"); + public static final ResourceLocation g3_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/g3.png"); + public static final ResourceLocation g3_zebra_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/g3_zebra.png"); + public static final ResourceLocation g3_green_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/g3_polymer_green.png"); + public static final ResourceLocation g3_black_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/g3_polymer_black.png"); + public static final ResourceLocation g3_attachments = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/g3_attachments.png"); + public static final ResourceLocation amat_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/amat.png"); + public static final ResourceLocation amat_subtlety_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/amat_subtlety.png"); + public static final ResourceLocation amat_penance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/amat_penance.png"); + public static final ResourceLocation shredder_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/shredder.png"); + public static final ResourceLocation shredder_orig_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/shredder_orig.png"); + public static final ResourceLocation sexy_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/sexy_real_no_fake.png"); + public static final ResourceLocation whiskey_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/whiskey.png"); + public static final ResourceLocation quadro_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/quadro.png"); + public static final ResourceLocation quadro_rocket_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/quadro_rocket.png"); + public static final ResourceLocation minigun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/minigun.png"); + public static final ResourceLocation minigun_lacunae_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/minigun_lacunae.png"); + public static final ResourceLocation minigun_dual_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/minigun_dual.png"); + public static final ResourceLocation missile_launcher_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/missile_launcher.png"); + public static final ResourceLocation tesla_cannon_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/tesla_cannon.png"); + public static final ResourceLocation laser_pistol_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/laser_pistol.png"); + public static final ResourceLocation laser_pistol_pew_pew_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/laser_pistol_pew_pew.png"); + public static final ResourceLocation laser_pistol_morning_glory_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/laser_pistol_morning_glory.png"); + public static final ResourceLocation stg77_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/stg77.png"); + public static final ResourceLocation tau_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/tau.png"); + public static final ResourceLocation fatman_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/fatman.png"); + public static final ResourceLocation fatman_mininuke_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/fatman_mininuke.png"); + public static final ResourceLocation fatman_balefire_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/fatman_balefire.png"); + public static final ResourceLocation lasrifle_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lasrifle.png"); + public static final ResourceLocation lasrifle_mods_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lasrifle_mods.png"); + public static final ResourceLocation hangman_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/hangman.png"); + public static final ResourceLocation folly_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/moonlight.png"); + public static final ResourceLocation double_barrel_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/double_barrel.png"); + public static final ResourceLocation double_barrel_sacred_dragon_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/double_barrel_sacred_dragon.png"); + public static final ResourceLocation aberrator_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/aberrator.png"); + public static final ResourceLocation eott_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/eott.png"); + public static final ResourceLocation mas36_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/mas36.png"); + public static final ResourceLocation charge_thrower_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/charge_thrower.png"); + public static final ResourceLocation charge_thrower_hook_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/charge_thrower_hook.png"); + public static final ResourceLocation charge_thrower_mortar_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/charge_thrower_mortar.png"); + public static final ResourceLocation charge_thrower_rocket_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/charge_thrower_rocket.png"); + public static final ResourceLocation lance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lance.png"); - public static final ResourceLocation ff_gold = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/gold.png"); public static final ResourceLocation ff_gun_bright = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/gun_bright.png"); public static final ResourceLocation ff_gun_dark = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/gun_dark.png"); public static final ResourceLocation ff_gun_normal = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/gun_normal.png"); - public static final ResourceLocation ff_iron = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/iron.png"); - public static final ResourceLocation ff_lead = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/lead.png"); - public static final ResourceLocation ff_saturnite = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/saturnite.png"); - public static final ResourceLocation ff_schrabidium = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/schrabidium.png"); - public static final ResourceLocation ff_wood = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/wood.png"); - public static final ResourceLocation ff_wood_red = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/wood_red.png"); - public static final ResourceLocation ff_cursed = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/cursed.png"); - public static final ResourceLocation ff_nightmare_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/nightmare.png"); - public static final ResourceLocation ff_nightmare_orig_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/nightmare_orig.png"); public static final ResourceLocation grenade_mk2 = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/grenade_mk2.png"); public static final ResourceLocation grenade_aschrab_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/grenade_aschrab.png"); @@ -1024,13 +1104,17 @@ public class ResourceManager { public static final ResourceLocation rpa_chest = new ResourceLocation(RefStrings.MODID, "textures/armor/rpa_chest.png"); public static final ResourceLocation rpa_arm = new ResourceLocation(RefStrings.MODID, "textures/armor/rpa_arm.png"); + public static final ResourceLocation taurun_helmet = new ResourceLocation(RefStrings.MODID, "textures/armor/taurun_helmet.png"); + public static final ResourceLocation taurun_leg = new ResourceLocation(RefStrings.MODID, "textures/armor/taurun_leg.png"); + public static final ResourceLocation taurun_chest = new ResourceLocation(RefStrings.MODID, "textures/armor/taurun_chest.png"); + public static final ResourceLocation taurun_arm = new ResourceLocation(RefStrings.MODID, "textures/armor/taurun_arm.png"); public static final ResourceLocation trenchmaster_helmet = new ResourceLocation(RefStrings.MODID, "textures/armor/trenchmaster_helmet.png"); public static final ResourceLocation trenchmaster_leg = new ResourceLocation(RefStrings.MODID, "textures/armor/trenchmaster_leg.png"); public static final ResourceLocation trenchmaster_chest = new ResourceLocation(RefStrings.MODID, "textures/armor/trenchmaster_chest.png"); public static final ResourceLocation trenchmaster_arm = new ResourceLocation(RefStrings.MODID, "textures/armor/trenchmaster_arm.png"); public static final ResourceLocation mod_tesla = new ResourceLocation(RefStrings.MODID, "textures/armor/mod_tesla.png"); - + public static final ResourceLocation armor_bismuth_tex = new ResourceLocation(RefStrings.MODID, "textures/armor/bismuth.png"); public static final ResourceLocation wings_murk = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_murk.png"); @@ -1043,31 +1127,32 @@ public class ResourceManager { public static final ResourceLocation no9 = new ResourceLocation(RefStrings.MODID, "textures/armor/no9.png"); public static final ResourceLocation no9_insignia = new ResourceLocation(RefStrings.MODID, "textures/armor/no9_insignia.png"); public static final ResourceLocation goggles = new ResourceLocation(RefStrings.MODID, "textures/armor/goggles.png"); - - public static final ResourceLocation player_manly_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/player_fem.png"); - - - + + public static final ResourceLocation player_manly_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/player_fem.png"); + + + ////Obj Entities - + //Boxcar public static final IModelCustom boxcar = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/boxcar.obj")); public static final IModelCustom duchessgambit = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/duchessgambit.obj")); public static final IModelCustom building = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/weapons/building.obj")); - public static final IModelCustom rpc = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/rpc.obj")); + public static final IModelCustom torpedo = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/torpedo.obj")); public static final IModelCustom tom_main = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/weapons/tom_main.obj")); public static final IModelCustom tom_flame = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/weapons/tom_flame.hmf")); public static final IModelCustom nikonium = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/nikonium.obj")); - + //Projectiles public static final IModelCustom projectiles = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/projectiles/projectiles.obj")); public static final IModelCustom leadburster = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/projectiles/leadburster.obj")); - public static final IModelCustom casings = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/effect/casings.obj")); - + public static final IModelCustom casings = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/effect/casings.obj")).asVBO(); + //Bomber public static final IModelCustom dornier = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/dornier.obj")); public static final IModelCustom b29 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/b29.obj")); - + public static final IModelCustom c130 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/c130.obj")).asVBO(); + //Missiles public static final IModelCustom missileV2 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_v2.obj")).asVBO(); public static final IModelCustom missileABM = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_abm.obj")).asVBO(); @@ -1087,7 +1172,7 @@ public class ResourceManager { public static final IModelCustom soyuz_launcher_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_tower.obj"), false).asVBO(); public static final IModelCustom soyuz_launcher_support_base = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_support_base.obj"), false).asVBO(); public static final IModelCustom soyuz_launcher_support = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_support.obj"), false).asVBO(); - + //Missile Parts public static final IModelCustom missile_pad = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/weapons/launch_pad_silo.obj")); public static final IModelCustom missile_erector = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/launch_pad_erector.obj")).asVBO(); @@ -1138,7 +1223,7 @@ public class ResourceManager { public static final IModelCustom mp_f_15_hydrogen = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_f_15_hydrogen.obj")); public static final IModelCustom mp_f_15_20_kerosene = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_f_15_20_kerosene.obj")); public static final IModelCustom mp_f_20 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_f_20.obj")); - + public static final IModelCustom mp_w_10_he = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_w_10_he.obj")); public static final IModelCustom mp_w_10_incendiary = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_w_10_incendiary.obj")); public static final IModelCustom mp_w_10_buster = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_w_10_buster.obj")); @@ -1153,34 +1238,32 @@ public class ResourceManager { public static final IModelCustom mp_w_15_balefire = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_w_15_balefire.obj")); public static final IModelCustom mp_w_15_turbine = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_w_15_turbine.obj")); public static final IModelCustom mp_w_20 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_w_20.obj")); - + //Carts public static final IModelCustom cart = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vehicles/cart.obj")); public static final IModelCustom cart_destroyer = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vehicles/cart_destroyer.obj")); public static final IModelCustom cart_powder = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vehicles/cart_powder.obj")); public static final IModelCustom train_cargo_tram = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vehicles/tram.obj")); public static final IModelCustom train_cargo_tram_trailer = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vehicles/tram_trailer.obj")); - public static final IModelCustom tunnel_bore = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/vehicles/tunnel_bore.obj")); - + //Drones public static final IModelCustom delivery_drone = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/drone.obj")); - + ////Texture Entities - + //Blast - public static final ResourceLocation fireball = new ResourceLocation(RefStrings.MODID, "textures/models/explosion/fireball.png"); - public static final ResourceLocation balefire = new ResourceLocation(RefStrings.MODID, "textures/models/explosion/balefire.png"); public static final ResourceLocation tomblast = new ResourceLocation(RefStrings.MODID, "textures/models/explosion/tomblast.png"); - + //Boxcar public static final ResourceLocation boxcar_tex = new ResourceLocation(RefStrings.MODID, "textures/models/boxcar.png"); public static final ResourceLocation duchessgambit_tex = new ResourceLocation(RefStrings.MODID, "textures/models/duchessgambit.png"); public static final ResourceLocation building_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/building.png"); + public static final ResourceLocation torpedo_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/torpedo.png"); public static final ResourceLocation rpc_tex = new ResourceLocation(RefStrings.MODID, "textures/models/rpc.png"); public static final ResourceLocation tom_main_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/tom_main.png"); public static final ResourceLocation tom_flame_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/tom_flame.png"); public static final ResourceLocation nikonium_tex = new ResourceLocation(RefStrings.MODID, "textures/models/misc/nikonium.png"); - + //Projectiles public static final ResourceLocation bullet_pistol_tex = new ResourceLocation(RefStrings.MODID, "textures/models/projectiles/bullet_pistol.png"); public static final ResourceLocation bullet_rifle_tex = new ResourceLocation(RefStrings.MODID, "textures/models/projectiles/bullet_rifle.png"); @@ -1193,53 +1276,50 @@ public class ResourceManager { public static final ResourceLocation mini_mirv_tex = new ResourceLocation(RefStrings.MODID, "textures/models/projectiles/mini_mirv.png"); public static final ResourceLocation leadburster_tex = new ResourceLocation(RefStrings.MODID, "textures/models/projectiles/leadburster.png"); public static final ResourceLocation casings_tex = new ResourceLocation(RefStrings.MODID, "textures/particle/casings.png"); - + //Bomber - public static final ResourceLocation dornier_0_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_0.png"); public static final ResourceLocation dornier_1_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_1.png"); public static final ResourceLocation dornier_2_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_2.png"); - public static final ResourceLocation dornier_3_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_3.png"); public static final ResourceLocation dornier_4_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_4.png"); public static final ResourceLocation b29_0_tex = new ResourceLocation(RefStrings.MODID, "textures/models/b29_0.png"); public static final ResourceLocation b29_1_tex = new ResourceLocation(RefStrings.MODID, "textures/models/b29_1.png"); public static final ResourceLocation b29_2_tex = new ResourceLocation(RefStrings.MODID, "textures/models/b29_2.png"); public static final ResourceLocation b29_3_tex = new ResourceLocation(RefStrings.MODID, "textures/models/b29_3.png"); - + public static final ResourceLocation c130_0_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/c130_0.png"); + //Missiles - public static final ResourceLocation missileV2_HE_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_v2.png"); - public static final ResourceLocation missileV2_IN_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_v2_inc.png"); - public static final ResourceLocation missileV2_CL_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_v2_cl.png"); - public static final ResourceLocation missileV2_BU_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_v2_bu.png"); - public static final ResourceLocation missileV2_decoy_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_v2_decoy.png"); - public static final ResourceLocation missileAA_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_abm.png"); - public static final ResourceLocation missileStealth_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_stealth.png"); - public static final ResourceLocation missileStrong_HE_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_strong.png"); - public static final ResourceLocation missileStrong_EMP_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_strong_emp.png"); - public static final ResourceLocation missileStrong_IN_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_strong_inc.png"); - public static final ResourceLocation missileStrong_CL_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_strong_cl.png"); - public static final ResourceLocation missileStrong_BU_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_strong_bu.png"); - public static final ResourceLocation missileHuge_HE_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_huge.png"); - public static final ResourceLocation missileHuge_IN_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_huge_inc.png"); - public static final ResourceLocation missileHuge_CL_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_huge_cl.png"); - public static final ResourceLocation missileHuge_BU_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_huge_bu.png"); - public static final ResourceLocation missileNuclear_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_atlas_nuclear.png"); - public static final ResourceLocation missileMIRV_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_atlas_thermo.png"); - public static final ResourceLocation missileVolcano_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_atlas_tectonic.png"); - public static final ResourceLocation missileDoomsday_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_atlas_doomsday.png"); - public static final ResourceLocation missileDoomsdayRusted_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_atlas_doomsday_weathered.png"); - public static final ResourceLocation missileTaint_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_micro_taint.png"); - public static final ResourceLocation missileShuttle_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileShuttle.png"); - public static final ResourceLocation missileMicro_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_micro.png"); - public static final ResourceLocation missileCarrier_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileCarrier.png"); - public static final ResourceLocation missileBooster_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileBooster.png"); + public static final ResourceLocation missileV2_HE_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_v2.png"); + public static final ResourceLocation missileV2_IN_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_v2_inc.png"); + public static final ResourceLocation missileV2_CL_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_v2_cl.png"); + public static final ResourceLocation missileV2_BU_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_v2_bu.png"); + public static final ResourceLocation missileV2_decoy_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_v2_decoy.png"); + public static final ResourceLocation missileAA_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_abm.png"); + public static final ResourceLocation missileStealth_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_stealth.png"); + public static final ResourceLocation missileStrong_HE_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_strong.png"); + public static final ResourceLocation missileStrong_EMP_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_strong_emp.png"); + public static final ResourceLocation missileStrong_IN_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_strong_inc.png"); + public static final ResourceLocation missileStrong_CL_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_strong_cl.png"); + public static final ResourceLocation missileStrong_BU_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_strong_bu.png"); + public static final ResourceLocation missileHuge_HE_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_huge.png"); + public static final ResourceLocation missileHuge_IN_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_huge_inc.png"); + public static final ResourceLocation missileHuge_CL_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_huge_cl.png"); + public static final ResourceLocation missileHuge_BU_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_huge_bu.png"); + public static final ResourceLocation missileNuclear_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_atlas_nuclear.png"); + public static final ResourceLocation missileThermo_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_atlas_thermo.png"); + public static final ResourceLocation missileVolcano_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_atlas_tectonic.png"); + public static final ResourceLocation missileDoomsday_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_atlas_doomsday.png"); + public static final ResourceLocation missileDoomsdayRusted_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_atlas_doomsday_weathered.png"); + public static final ResourceLocation missileMicroTaint_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_micro_taint.png"); + public static final ResourceLocation missileMicro_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_micro.png"); + public static final ResourceLocation missileMicroBHole_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_micro_bhole.png"); + public static final ResourceLocation missileMicroSchrab_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_micro_schrab.png"); + public static final ResourceLocation missileMicroEMP_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_micro_emp.png"); + public static final ResourceLocation missileMicroTest_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_test.png"); + public static final ResourceLocation missileShuttle_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile/missile_shuttle.png"); public static final ResourceLocation minerRocket_tex = new ResourceLocation(RefStrings.MODID, "textures/models/minerRocket.png"); public static final ResourceLocation bobmazon_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bobmazon.png"); public static final ResourceLocation siege_dropship_tex = new ResourceLocation(RefStrings.MODID, "textures/models/siege_dropship.png"); - public static final ResourceLocation missileMicroBHole_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_micro_bhole.png"); - public static final ResourceLocation missileMicroSchrab_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_micro_schrab.png"); - public static final ResourceLocation missileMicroEMP_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_micro_emp.png"); - public static final ResourceLocation missileMicroTest_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_test.png"); - + public static final ResourceLocation soyuz_engineblock = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz/engineblock.png"); public static final ResourceLocation soyuz_bottomstage = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz/bottomstage.png"); public static final ResourceLocation soyuz_topstage = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz/topstage.png"); @@ -1278,6 +1358,7 @@ public class ResourceManager { public static final ResourceLocation soyuz_lander_tex = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_capsule/soyuz_lander.png"); public static final ResourceLocation soyuz_lander_rust_tex = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_capsule/soyuz_lander_rust.png"); public static final ResourceLocation soyuz_chute_tex = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_capsule/soyuz_chute.png"); + public static final ResourceLocation supply_crate = new ResourceLocation(RefStrings.MODID, "textures/blocks/crate_can.png"); public static final ResourceLocation soyuz_module_dome_tex = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_capsule/module_dome.png"); public static final ResourceLocation soyuz_module_lander_tex = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_capsule/module_lander.png"); @@ -1290,7 +1371,7 @@ public class ResourceManager { public static final ResourceLocation soyuz_launcher_tower_tex = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_launcher/launcher_tower.png"); public static final ResourceLocation soyuz_launcher_support_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_launcher/launcher_support_base.png"); public static final ResourceLocation soyuz_launcher_support_tex = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_launcher/launcher_support.png"); - + //Missile Parts public static final ResourceLocation missile_pad_tex = new ResourceLocation(RefStrings.MODID, "textures/models/launchpad/silo.png"); public static final ResourceLocation missile_pad_rusted_tex = new ResourceLocation(RefStrings.MODID, "textures/models/launchpad/silo_rusted.png"); @@ -1311,7 +1392,7 @@ public class ResourceManager { public static final ResourceLocation launch_table_large_scaffold_connector_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/launch_table_large_scaffold_connector.png"); public static final ResourceLocation launch_table_small_scaffold_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/launch_table_small_scaffold_base.png"); public static final ResourceLocation launch_table_small_scaffold_connector_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/launch_table_small_scaffold_connector.png"); - + public static final ResourceLocation mp_t_10_kerosene_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/thrusters/mp_t_10_kerosene.png"); public static final ResourceLocation mp_t_10_solid_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/thrusters/mp_t_10_solid.png"); public static final ResourceLocation mp_t_10_xenon_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/thrusters/mp_t_10_xenon.png"); @@ -1325,7 +1406,7 @@ public class ResourceManager { public static final ResourceLocation mp_t_15_balefire_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/thrusters/mp_t_15_balefire.png"); public static final ResourceLocation mp_t_15_balefire_large_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/thrusters/mp_t_15_balefire_large.png"); public static final ResourceLocation mp_t_15_balefire_large_rad_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/thrusters/mp_t_15_balefire_large_rad.png"); - + public static final ResourceLocation mp_t_20_kerosene_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/thrusters/mp_t_20_kerosene.png"); public static final ResourceLocation mp_t_20_kerosene_dual_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/thrusters/mp_t_20_kerosene_dual.png"); public static final ResourceLocation mp_t_20_solid_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/thrusters/mp_t_20_solid.png"); @@ -1348,7 +1429,7 @@ public class ResourceManager { public static final ResourceLocation mp_f_10_kerosene_sleek_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_10_kerosene_sleek.png"); public static final ResourceLocation mp_f_10_kerosene_metal_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_10_kerosene_metal.png"); public static final ResourceLocation mp_f_10_kerosene_taint_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/contest/mp_f_10_kerosene_taint.png"); - + public static final ResourceLocation mp_f_10_solid_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_10_solid.png"); public static final ResourceLocation mp_f_10_solid_flames_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_10_solid_flames.png"); public static final ResourceLocation mp_f_10_solid_insulation_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_10_solid_insulation.png"); @@ -1361,7 +1442,7 @@ public class ResourceManager { public static final ResourceLocation mp_f_10_xenon_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_10_xenon.png"); public static final ResourceLocation mp_f_10_xenon_bhole_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/contest/mp_f_10_xenon_bhole.png"); - + public static final ResourceLocation mp_f_10_long_kerosene_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_10_long_kerosene.png"); public static final ResourceLocation mp_f_10_long_kerosene_camo_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_10_long_kerosene_camo.png"); public static final ResourceLocation mp_f_10_long_kerosene_desert_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_10_long_kerosene_desert.png"); @@ -1373,7 +1454,7 @@ public class ResourceManager { public static final ResourceLocation mp_f_10_long_kerosene_dash_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/contest/mp_f_10_long_kerosene_dash.png"); public static final ResourceLocation mp_f_10_long_kerosene_taint_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/contest/mp_f_10_long_kerosene_taint.png"); public static final ResourceLocation mp_f_10_long_kerosene_vap_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/contest/mp_f_10_long_kerosene_vap.png"); - + public static final ResourceLocation mp_f_10_long_solid_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_10_long_solid.png"); public static final ResourceLocation mp_f_10_long_solid_flames_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_10_long_solid_flames.png"); public static final ResourceLocation mp_f_10_long_solid_insulation_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_10_long_solid_insulation.png"); @@ -1381,12 +1462,12 @@ public class ResourceManager { public static final ResourceLocation mp_f_10_long_solid_soviet_glory_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_10_long_solid_soviet_glory.png"); public static final ResourceLocation mp_f_10_long_solid_bullet_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/contest/mp_f_10_long_solid_bullet.png"); public static final ResourceLocation mp_f_10_long_solid_silvermoonlight_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/contest/mp_f_10_long_solid_silvermoonlight.png"); - + public static final ResourceLocation mp_f_10_15_kerosene_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_10_15_kerosene.png"); public static final ResourceLocation mp_f_10_15_solid_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_10_15_solid.png"); public static final ResourceLocation mp_f_10_15_hydrogen_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_10_15_hydrogen.png"); public static final ResourceLocation mp_f_10_15_balefire_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_10_15_balefire.png"); - + public static final ResourceLocation mp_f_15_kerosene_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_15_kerosene.png"); public static final ResourceLocation mp_f_15_kerosene_camo_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_15_kerosene_camo.png"); public static final ResourceLocation mp_f_15_kerosene_desert_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_15_kerosene_desert.png"); @@ -1402,7 +1483,7 @@ public class ResourceManager { public static final ResourceLocation mp_f_15_kerosene_pip_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/contest/mp_f_15_kerosene_pip.png"); public static final ResourceLocation mp_f_15_kerosene_taint_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/contest/mp_f_15_kerosene_taint.png"); public static final ResourceLocation mp_f_15_kerosene_yuck_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_15_kerosene_yuck.png"); - + public static final ResourceLocation mp_f_15_solid_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_15_solid.png"); public static final ResourceLocation mp_f_15_solid_insulation_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_15_solid_insulation.png"); public static final ResourceLocation mp_f_15_solid_desh_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_15_solid_desh.png"); @@ -1423,7 +1504,7 @@ public class ResourceManager { public static final ResourceLocation mp_f_15_20_kerosene_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_15_20_kerosene.png"); public static final ResourceLocation mp_f_15_20_kerosene_magnusson_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_15_20_kerosene_magnusson.png"); public static final ResourceLocation mp_f_15_20_solid_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/fuselages/mp_f_15_20_solid.png"); - + public static final ResourceLocation mp_w_10_he_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_10_he.png"); public static final ResourceLocation mp_w_10_incendiary_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_10_incendiary.png"); public static final ResourceLocation mp_w_10_buster_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_10_buster.png"); @@ -1439,7 +1520,7 @@ public class ResourceManager { public static final ResourceLocation mp_w_15_n2_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_15_n2.png"); public static final ResourceLocation mp_w_15_balefire_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_15_balefire.png"); public static final ResourceLocation mp_w_15_turbine_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_15_turbine.png"); - + //Carts public static final ResourceLocation cart_metal = new ResourceLocation(RefStrings.MODID, "textures/entity/cart_metal.png"); public static final ResourceLocation cart_blank = new ResourceLocation(RefStrings.MODID, "textures/entity/cart_metal_naked.png"); @@ -1450,12 +1531,12 @@ public class ResourceManager { public static final ResourceLocation cart_semtex_top = new ResourceLocation(RefStrings.MODID, "textures/blocks/semtex_bottom.png"); public static final ResourceLocation train_tram = new ResourceLocation(RefStrings.MODID, "textures/models/trains/tram.png"); public static final ResourceLocation tram_trailer = new ResourceLocation(RefStrings.MODID, "textures/models/trains/tram_trailer.png"); - + //Drone public static final ResourceLocation delivery_drone_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/drone.png"); public static final ResourceLocation delivery_drone_express_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/drone_express.png"); public static final ResourceLocation delivery_drone_request_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/drone_request.png"); - + //ISBRHs public static final IModelCustom scaffold = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/scaffold.obj")); public static final IModelCustom taperecorder = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/taperecorder.obj")); @@ -1475,7 +1556,7 @@ public class ResourceManager { public static final IModelCustom toaster = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/toaster.obj")); public static final IModelCustom deco_computer = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/puter.obj")); - + // Some RBMK elements are loaded twice due to VBOs not supporting tessellation public static final IModelCustom rbmk_element = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/rbmk/rbmk_element.obj")); public static final IModelCustom rbmk_element_vbo = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/rbmk/rbmk_element.obj")).asVBO(); @@ -1516,7 +1597,7 @@ public class ResourceManager { public static final IModelCustom charge_dynamite = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/charge_dynamite.obj")); public static final IModelCustom charge_c4 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/charge_c4.obj")); - + //RBMK DEBRIS public static final IModelCustom deb_blank = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/projectiles/deb_blank.obj")); public static final IModelCustom deb_element = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/projectiles/deb_element.obj")); @@ -1530,5 +1611,5 @@ public class ResourceManager { public static final IModelCustom deb_zirnox_element = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/zirnox/deb_element.obj")); public static final IModelCustom deb_zirnox_exchanger = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/zirnox/deb_exchanger.obj")); public static final IModelCustom deb_zirnox_shrapnel = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/zirnox/deb_shrapnel.obj")); - + } diff --git a/src/main/java/com/hbm/main/ServerProxy.java b/src/main/java/com/hbm/main/ServerProxy.java index 3e48b8e15..271a21759 100644 --- a/src/main/java/com/hbm/main/ServerProxy.java +++ b/src/main/java/com/hbm/main/ServerProxy.java @@ -1,11 +1,10 @@ package com.hbm.main; -import java.util.ArrayList; -import java.util.List; - import com.hbm.handler.HbmKeybinds.EnumKeybind; import com.hbm.saveddata.TomSaveData; import com.hbm.sound.AudioWrapper; +import com.hbm.util.i18n.I18nServer; +import com.hbm.util.i18n.ITranslate; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; @@ -13,7 +12,12 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; +import java.util.ArrayList; +import java.util.List; + public class ServerProxy { + + private static final I18nServer I18N = new I18nServer(); //sort by estimated time of display. longer lasting ones should be sorted at the top. public static final int ID_DUCK = 0; @@ -22,41 +26,47 @@ public class ServerProxy { public static final int ID_CABLE = 3; public static final int ID_DRONE = 4; public static final int ID_JETPACK = 5; - public static final int ID_HUD = 6; - public static final int ID_DETONATOR = 7; - public static final int ID_FLUID_ID = 8; - public static final int ID_TOOLABILITY = 9; - public static final int ID_GUN_MODE = 10; - public static final int ID_GAS_HAZARD = 11; + public static final int ID_MAGNET = 6; + public static final int ID_HUD = 7; + public static final int ID_DETONATOR = 8; + public static final int ID_FLUID_ID = 9; + public static final int ID_FAN_MODE = 10; + public static final int ID_TOOLABILITY = 11; + public static final int ID_GAS_HAZARD = 12; + public ITranslate getI18n() { return I18N; } + + public void registerPreRenderInfo() { } public void registerRenderInfo() { } public void registerTileEntitySpecialRenderer() { } public void registerItemRenderer() { } public void registerEntityRenderer() { } public void registerBlockRenderer() { } + public void registerGunCfg() { } public void handleNHNEICompat() { } - - public void particleControl(double x, double y, double z, int type) { } public void spawnParticle(double x, double y, double z, String type, float[] args) { } - + public void effectNT(NBTTagCompound data) { } public void registerMissileItems() { } - public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float range, float pitch) { return null; } + /** Retired in favor of the version that uses keepAlive */ + @Deprecated public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float range, float pitch) { return null; } public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float range, float pitch, int keepAlive) { return null; } - + public void playSound(String sound, Object data) { } public void displayTooltip(String msg, int id) { displayTooltip(msg, 1000, id); } - public void displayTooltip(String msg, int time, int id) { } + public void displayTooltip(String msg, int time, int id) { } + public boolean getIsKeyPressed(EnumKeybind key) { return false; } + public EntityPlayer me() { return null; } @@ -66,29 +76,29 @@ public class ServerProxy { } public void openLink(String url) { } - + public List getSubItems(ItemStack stack) { - + List list = new ArrayList(); list.add(stack); return list; } - + public float getImpactDust(World world) { return TomSaveData.forWorld(world).dust; } - + public float getImpactFire(World world) { return TomSaveData.forWorld(world).fire; } - + public boolean getImpact(World world) { return TomSaveData.forWorld(world).impact; } - + public void playSoundClient(double x, double y, double z, String sound, float volume, float pitch) { } - + public String getLanguageCode() { return "en_US"; } - + public int getStackColor(ItemStack stack, boolean amplify) { return 0x000000; } -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/main/StructureManager.java b/src/main/java/com/hbm/main/StructureManager.java new file mode 100644 index 000000000..5c3f93090 --- /dev/null +++ b/src/main/java/com/hbm/main/StructureManager.java @@ -0,0 +1,72 @@ +package com.hbm.main; + +import com.hbm.lib.RefStrings; +import com.hbm.world.gen.NBTStructure; + +import net.minecraft.util.ResourceLocation; + +public class StructureManager { + + // METEOR DUNGEON + public static final NBTStructure meteor_spike = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/meteor-spike.nbt")); + public static final NBTStructure meteor_core = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/meteor-core.nbt")); + public static final NBTStructure meteor_corner = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/meteor-corner.nbt")); + public static final NBTStructure meteor_t = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/meteor-t.nbt")); + public static final NBTStructure meteor_stairs = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/meteor-stairs.nbt")); + public static final NBTStructure meteor_fallback = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/meteor-fallback.nbt")); + + public static final NBTStructure meteor_3_bale = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/loot3x3/meteor-3-bale.nbt")); + public static final NBTStructure meteor_3_blank = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/loot3x3/meteor-3-blank.nbt")); + public static final NBTStructure meteor_3_block = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/loot3x3/meteor-3-block.nbt")); + public static final NBTStructure meteor_3_crab = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/loot3x3/meteor-3-crab.nbt")); + public static final NBTStructure meteor_3_crab_tesla = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/loot3x3/meteor-3-crab-tesla.nbt")); + public static final NBTStructure meteor_3_crate = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/loot3x3/meteor-3-crate.nbt")); + public static final NBTStructure meteor_3_dirt = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/loot3x3/meteor-3-dirt.nbt")); + public static final NBTStructure meteor_3_lead = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/loot3x3/meteor-3-lead.nbt")); + public static final NBTStructure meteor_3_ooze = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/loot3x3/meteor-3-ooze.nbt")); + public static final NBTStructure meteor_3_pillar = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/loot3x3/meteor-3-pillar.nbt")); + public static final NBTStructure meteor_3_star = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/loot3x3/meteor-3-star.nbt")); + public static final NBTStructure meteor_3_tesla = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/loot3x3/meteor-3-tesla.nbt")); + public static final NBTStructure meteor_3_book = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/loot3x3/meteor-3-book.nbt")); + public static final NBTStructure meteor_3_mku = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/loot3x3/meteor-3-mku.nbt")); + public static final NBTStructure meteor_3_statue = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/loot3x3/meteor-3-statue.nbt")); + public static final NBTStructure meteor_3_glow = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/loot3x3/meteor-3-glow.nbt")); + + public static final NBTStructure meteor_room_base_end = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/room10/room-base-end.nbt")); + public static final NBTStructure meteor_room_base_thru = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/room10/room-base-thru.nbt")); + + public static final NBTStructure meteor_room_balcony = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/room10/room-balcony.nbt")); + public static final NBTStructure meteor_room_basic = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/room10/room-basic.nbt")); + public static final NBTStructure meteor_room_dragon = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/room10/room-dragon.nbt")); + public static final NBTStructure meteor_room_ladder = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/room10/room-ladder.nbt")); + public static final NBTStructure meteor_room_ooze = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/room10/room-ooze.nbt")); + public static final NBTStructure meteor_room_split = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/room10/room-split.nbt")); + public static final NBTStructure meteor_room_stairs = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/room10/room-stairs.nbt")); + public static final NBTStructure meteor_room_triple = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/room10/room-triple.nbt")); + public static final NBTStructure meteor_room_fallback = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/room10/room-fallback.nbt")); + + public static final NBTStructure meteor_dragon_chest = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/room10/headloot/loot-chest.nbt")); + public static final NBTStructure meteor_dragon_tesla = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/room10/headloot/loot-tesla.nbt")); + public static final NBTStructure meteor_dragon_trap = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/room10/headloot/loot-trap.nbt")); + public static final NBTStructure meteor_dragon_crate_crab = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/room10/headloot/loot-crate-crab.nbt")); + public static final NBTStructure meteor_dragon_fallback = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/meteor/room10/headloot/loot-fallback.nbt")); + + + + + public static final NBTStructure vertibird = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/vertibird.nbt")); + public static final NBTStructure crashed_vertibird = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/crashed-vertibird.nbt")); + public static final NBTStructure aircraft_carrier = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/aircraft_carrier.nbt")); + public static final NBTStructure oil_rig = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/oil_rig.nbt")); + public static final NBTStructure beached_patrol = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/beached_patrol.nbt")); + public static final NBTStructure lighthouse = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/lighthouse.nbt")); + public static final NBTStructure dish = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/dish.nbt")); + + public static final NBTStructure spire = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/spire.nbt")); + + // public static final NBTStructure test_rot = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-rot.nbt")); + // public static final NBTStructure test_jigsaw = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-jigsaw.nbt")); + // public static final NBTStructure test_jigsaw_core = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-jigsaw-core.nbt")); + // public static final NBTStructure test_jigsaw_hall = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-jigsaw-hall.nbt")); + +} diff --git a/src/main/java/com/hbm/module/ModuleBurnTime.java b/src/main/java/com/hbm/module/ModuleBurnTime.java index 7b8db8321..f4a5ec3db 100644 --- a/src/main/java/com/hbm/module/ModuleBurnTime.java +++ b/src/main/java/com/hbm/module/ModuleBurnTime.java @@ -30,9 +30,11 @@ public class ModuleBurnTime { private static final int modRocket = 6; private static final int modBalefire = 7; + private double[] modTime = new double[8]; + private double[] modHeat = new double[8]; - + public ModuleBurnTime() { for(int i = 0; i < modTime.length; i++) { modTime[i] = 1.0D; @@ -78,23 +80,23 @@ public class ModuleBurnTime { writer.name("D:heatRocket").value(modHeat[modRocket]); writer.name("D:heatBalefie").value(modHeat[modBalefire]); } - + public int getBurnTime(ItemStack stack) { //int fuel = TileEntityFurnace.getItemBurnTime(stack); int fuel = FuelHandler.getBurnTimeFromCache(stack); - + if(fuel == 0) return 0; - + return (int) (fuel * getMod(stack, modTime)); } - + public int getBurnHeat(int base, ItemStack stack) { return (int) (base * getMod(stack, modHeat)); } - + public double getMod(ItemStack stack, double[] mod) { - + if(stack == null) return 0; @@ -105,11 +107,11 @@ public class ModuleBurnTime { if(stack.getItem() == ModItems.solid_fuel_bf) return mod[modBalefire]; if(stack.getItem() == ModItems.solid_fuel_presto_bf) return mod[modBalefire]; if(stack.getItem() == ModItems.solid_fuel_presto_triplet_bf) return mod[modBalefire]; - + if(stack.getItem() == ModItems.rocket_fuel) return mod[modRocket]; - + List names = ItemStackUtil.getOreDictNames(stack); - + for(String name : names) { if(name.contains("Coke")) return mod[modCoke]; if(name.contains("Coal")) return mod[modCoal]; @@ -117,22 +119,22 @@ public class ModuleBurnTime { if(name.startsWith("log")) return mod[modLog]; if(name.contains("Wood")) return mod[modWood]; } - + return 1; } - + public List getDesc() { List desc = new ArrayList(); desc.addAll(getTimeDesc()); desc.addAll(getHeatDesc()); return desc; } - + public List getTimeDesc() { List list = new ArrayList(); list.add(EnumChatFormatting.GOLD + "Burn time bonuses:"); - + addIf(list, "Logs", modTime[modLog]); addIf(list, "Wood", modTime[modWood]); addIf(list, "Coal", modTime[modCoal]); @@ -141,18 +143,18 @@ public class ModuleBurnTime { addIf(list, "Solid Fuel", modTime[modSolid]); addIf(list, "Rocket Fuel", modTime[modRocket]); addIf(list, "Balefire", modTime[modBalefire]); - + if(list.size() == 1) list.clear(); - + return list; } - + public List getHeatDesc() { List list = new ArrayList(); list.add(EnumChatFormatting.RED + "Burn heat bonuses:"); - + addIf(list, "Logs", modHeat[modLog]); addIf(list, "Wood", modHeat[modWood]); addIf(list, "Coal", modHeat[modCoal]); @@ -161,31 +163,38 @@ public class ModuleBurnTime { addIf(list, "Solid Fuel", modHeat[modSolid]); addIf(list, "Rocket Fuel", modHeat[modRocket]); addIf(list, "Balefire", modHeat[modBalefire]); - + if(list.size() == 1) list.clear(); - + return list; } - + private void addIf(List list, String name, double mod) { - + if(mod != 1.0D) list.add(EnumChatFormatting.YELLOW + "- " + name + ": " + getPercent(mod)); } - + private String getPercent(double mod) { mod -= 1D; String num = ((int) (mod * 100)) + "%"; - + if(mod < 0) num = EnumChatFormatting.RED + num; else num = EnumChatFormatting.GREEN + "+" + num; - + return num; } - + public double[] getModHeat() { + return modHeat; + } + public double[] getModTime() { + return modTime; + } + + public ModuleBurnTime setLogTimeMod(double mod) { this.modTime[modLog] = mod; return this; } public ModuleBurnTime setWoodTimeMod(double mod) { this.modTime[modWood] = mod; return this; } public ModuleBurnTime setCoalTimeMod(double mod) { this.modTime[modCoal] = mod; return this; } @@ -194,7 +203,7 @@ public class ModuleBurnTime { public ModuleBurnTime setSolidTimeMod(double mod) { this.modTime[modSolid] = mod; return this; } public ModuleBurnTime setRocketTimeMod(double mod) { this.modTime[modRocket] = mod; return this; } public ModuleBurnTime setBalefireTimeMod(double mod) { this.modTime[modBalefire] = mod; return this; } - + public ModuleBurnTime setLogHeatMod(double mod) { this.modHeat[modLog] = mod; return this; } public ModuleBurnTime setWoodHeatMod(double mod) { this.modHeat[modWood] = mod; return this; } public ModuleBurnTime setCoalHeatMod(double mod) { this.modHeat[modCoal] = mod; return this; } diff --git a/src/main/java/com/hbm/module/ModulePatternMatcher.java b/src/main/java/com/hbm/module/ModulePatternMatcher.java index 279a2c1e9..ecde925fa 100644 --- a/src/main/java/com/hbm/module/ModulePatternMatcher.java +++ b/src/main/java/com/hbm/module/ModulePatternMatcher.java @@ -2,18 +2,21 @@ package com.hbm.module; import java.util.List; +import com.hbm.items.special.ItemBedrockOreNew; import com.hbm.util.BufferUtil; import com.hbm.util.ItemStackUtil; import io.netty.buffer.ByteBuf; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; public class ModulePatternMatcher { public static final String MODE_EXACT = "exact"; public static final String MODE_WILDCARD = "wildcard"; + public static final String MODE_BEDROCK = "bedrock"; public String[] modes; public ModulePatternMatcher() { @@ -41,7 +44,9 @@ public class ModulePatternMatcher { if(iterateAndCheck(names, i ,"nugget")) return; if(iterateAndCheck(names, i ,"plate")) return; - if(stack.getHasSubtypes()) { + if(stack.getItem() instanceof ItemBedrockOreNew) { + modes[i] = MODE_BEDROCK; + } else if(stack.getHasSubtypes()) { modes[i] = MODE_EXACT; } else { modes[i] = MODE_WILDCARD; @@ -68,8 +73,10 @@ public class ModulePatternMatcher { modes[i] = null; return; } - - if(stack.getHasSubtypes()) { + + if(stack.getItem() instanceof ItemBedrockOreNew) { + modes[i] = MODE_BEDROCK; + } else if(stack.getHasSubtypes()) { modes[i] = MODE_EXACT; } else { modes[i] = MODE_WILDCARD; @@ -88,6 +95,12 @@ public class ModulePatternMatcher { if(modes[i] == null) { modes[i] = MODE_EXACT; } else if(MODE_EXACT.equals(modes[i])) { + if(pattern.getItem() instanceof ItemBedrockOreNew) { + modes[i] = MODE_BEDROCK; + } else { + modes[i] = MODE_WILDCARD; + } + } else if(MODE_BEDROCK.equals(modes[i])) { modes[i] = MODE_WILDCARD; } else if(MODE_WILDCARD.equals(modes[i])) { @@ -128,6 +141,10 @@ public class ModulePatternMatcher { switch(mode) { case MODE_EXACT: return input.isItemEqual(filter) && ItemStack.areItemStackTagsEqual(input, filter); case MODE_WILDCARD: return input.getItem() == filter.getItem() && ItemStack.areItemStackTagsEqual(input, filter); + case MODE_BEDROCK: + if(input.getItem() != filter.getItem()) return false; + if(!(input.getItem() instanceof ItemBedrockOreNew)) return false; + return ((ItemBedrockOreNew)input.getItem()).getGrade(input.getItemDamage()) == ((ItemBedrockOreNew)filter.getItem()).getGrade(filter.getItemDamage()); default: List keys = ItemStackUtil.getOreDictNames(input); return keys.contains(mode); @@ -165,4 +182,14 @@ public class ModulePatternMatcher { modes[i] = BufferUtil.readString(buf); } } + + public static String getLabel(String mode) { + switch(mode) { + case MODE_EXACT: return EnumChatFormatting.YELLOW + "Item and meta match"; + case MODE_WILDCARD: return EnumChatFormatting.YELLOW + "Item matches"; + case MODE_BEDROCK: return EnumChatFormatting.YELLOW + "Item and bedrock grade match"; + default: return EnumChatFormatting.YELLOW + "Ore dict key matches: " + mode; + } + } + } diff --git a/src/main/java/com/hbm/module/ModuleRichTooltip.java b/src/main/java/com/hbm/module/ModuleRichTooltip.java deleted file mode 100644 index 62eb1dd40..000000000 --- a/src/main/java/com/hbm/module/ModuleRichTooltip.java +++ /dev/null @@ -1,186 +0,0 @@ -package com.hbm.module; - -import java.util.Iterator; -import java.util.List; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import com.hbm.inventory.gui.GuiInfoContainer; - -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; - -public class ModuleRichTooltip { - - private GuiInfoContainer gui; - - protected int colorBg = 0xF0100010; - protected int color0 = 0x505000FF; - protected int color1 = (color0 & 0xFEFEFE) >> 1 | color0 & 0xFF000000; - - public ModuleRichTooltip(GuiInfoContainer gui) { - this.gui = gui; - } - - public ModuleRichTooltip setBG(int colorBg) { - this.colorBg = colorBg; - return this; - } - - public ModuleRichTooltip setColors(int color0, int color1) { - this.color0 = color0; - this.color1 = color1; - return this; - } - - protected void drawStackText(List lines, int x, int y, FontRenderer font) { - - if(!lines.isEmpty()) { - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - RenderHelper.disableStandardItemLighting(); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_DEPTH_TEST); - - int height = 0; - int longestline = 0; - Iterator iterator = lines.iterator(); - - while(iterator.hasNext()) { - Object[] line = (Object[]) iterator.next(); - int lineWidth = 0; - - boolean hasStack = false; - - for(Object o : line) { - - if(o instanceof String) { - lineWidth += font.getStringWidth((String) o); - } else { - lineWidth += 18; - hasStack = true; - } - } - - if(hasStack) { - height += 18; - } else { - height += 10; - } - - if(lineWidth > longestline) { - longestline = lineWidth; - } - } - - int minX = x + 12; - int minY = y - 12; - - if(minX + longestline > gui.width) { - minX -= 28 + longestline; - } - - if(minY + height + 6 > gui.height) { - minY = gui.height - height - 6; - } - - gui.setZLevel(300F); - gui.getItemRenderer().zLevel = 300.0F; - - this.drawGradientRect(minX - 3, minY - 4, minX + longestline + 3, minY - 3, colorBg, colorBg); - this.drawGradientRect(minX - 3, minY + height + 3, minX + longestline + 3, minY + height + 4, colorBg, colorBg); - this.drawGradientRect(minX - 3, minY - 3, minX + longestline + 3, minY + height + 3, colorBg, colorBg); - this.drawGradientRect(minX - 4, minY - 3, minX - 3, minY + height + 3, colorBg, colorBg); - this.drawGradientRect(minX + longestline + 3, minY - 3, minX + longestline + 4, minY + height + 3, colorBg, colorBg); - - this.drawGradientRect(minX - 3, minY - 3 + 1, minX - 3 + 1, minY + height + 3 - 1, color0, color1); - this.drawGradientRect(minX + longestline + 2, minY - 3 + 1, minX + longestline + 3, minY + height + 3 - 1, color0, color1); - this.drawGradientRect(minX - 3, minY - 3, minX + longestline + 3, minY - 3 + 1, color0, color0); - this.drawGradientRect(minX - 3, minY + height + 2, minX + longestline + 3, minY + height + 3, color1, color1); - - for(int index = 0; index < lines.size(); ++index) { - - Object[] line = (Object[]) lines.get(index); - int indent = 0; - boolean hasStack = false; - - for(Object o : line) { - if(!(o instanceof String)) { - hasStack = true; - } - } - - for(Object o : line) { - - if(o instanceof String) { - font.drawStringWithShadow((String) o, minX + indent, minY + (hasStack ? 4 : 0), -1); - indent += font.getStringWidth((String) o) + 2; - } else { - ItemStack stack = (ItemStack) o; - GL11.glColor3f(1F, 1F, 1F); - gui.getItemRenderer().renderItemAndEffectIntoGUI(gui.getFontRenderer(), gui.mc.getTextureManager(), stack, minX + indent, minY); - gui.getItemRenderer().renderItemOverlayIntoGUI(gui.getFontRenderer(), gui.mc.getTextureManager(), stack, minX + indent, minY, stack.stackSize == 0 ? (EnumChatFormatting.RED + "_ _") : null); - RenderHelper.disableStandardItemLighting(); - GL11.glDisable(GL11.GL_DEPTH_TEST); - indent += 18; - } - } - - if(index == 0) { - minY += 2; - } - - minY += hasStack ? 18 : 10; - } - - gui.setZLevel(0F); - gui.getItemRenderer().zLevel = 0.0F; - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_DEPTH_TEST); - RenderHelper.enableStandardItemLighting(); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - } - } - - protected void drawGradientRect(int minX, int minY, int maxX, int maxY, int colorTop, int colorBottom) { - float zLevel = gui.getZLevel(); - float topA = (float) (colorTop >> 24 & 255) / 255.0F; - float topR = (float) (colorTop >> 16 & 255) / 255.0F; - float topG = (float) (colorTop >> 8 & 255) / 255.0F; - float topB = (float) (colorTop & 255) / 255.0F; - float bottomA = (float) (colorBottom >> 24 & 255) / 255.0F; - float bottomR = (float) (colorBottom >> 16 & 255) / 255.0F; - float bottomG = (float) (colorBottom >> 8 & 255) / 255.0F; - float bottomB = (float) (colorBottom & 255) / 255.0F; - - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glEnable(GL11.GL_BLEND); - GL11.glDisable(GL11.GL_ALPHA_TEST); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - GL11.glShadeModel(GL11.GL_SMOOTH); - - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(topR, topG, topB, topA); - tessellator.addVertex((double) maxX, (double) minY, (double) zLevel); - tessellator.addVertex((double) minX, (double) minY, (double) zLevel); - tessellator.setColorRGBA_F(bottomR, bottomG, bottomB, bottomA); - tessellator.addVertex((double) minX, (double) maxY, (double) zLevel); - tessellator.addVertex((double) maxX, (double) maxY, (double) zLevel); - tessellator.draw(); - - GL11.glShadeModel(GL11.GL_FLAT); - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_TEXTURE_2D); - } - - public static class TooltipLine { - - protected int contentHeight = 0; - } -} diff --git a/src/main/java/com/hbm/module/machine/ModuleMachineAssembler.java b/src/main/java/com/hbm/module/machine/ModuleMachineAssembler.java new file mode 100644 index 000000000..1823b540b --- /dev/null +++ b/src/main/java/com/hbm/module/machine/ModuleMachineAssembler.java @@ -0,0 +1,29 @@ +package com.hbm.module.machine; + +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.recipes.AssemblyMachineRecipes; +import com.hbm.inventory.recipes.loader.GenericRecipe; + +import api.hbm.energymk2.IEnergyHandlerMK2; +import net.minecraft.item.ItemStack; + +public class ModuleMachineAssembler extends ModuleMachineBase { + + public ModuleMachineAssembler(int index, IEnergyHandlerMK2 battery, ItemStack[] slots) { + super(index, battery, slots); + this.inputSlots = new int[12]; + this.outputSlots = new int[1]; + this.inputTanks = new FluidTank[1]; + this.outputTanks = new FluidTank[1]; + } + + @Override + public GenericRecipe getRecipe() { + return AssemblyMachineRecipes.INSTANCE.recipeNameMap.get(this.recipe); + } + + public ModuleMachineAssembler itemInput(int from) { for(int i = 0; i < inputSlots.length; i++) inputSlots[i] = from + i; return this; } + public ModuleMachineAssembler itemOutput(int a) { outputSlots[0] = a; return this; } + public ModuleMachineAssembler fluidInput(FluidTank a) { inputTanks[0] = a; return this; } + public ModuleMachineAssembler fluidOutput(FluidTank a) { outputTanks[0] = a; return this; } +} diff --git a/src/main/java/com/hbm/module/machine/ModuleMachineBase.java b/src/main/java/com/hbm/module/machine/ModuleMachineBase.java new file mode 100644 index 000000000..7787b4fbd --- /dev/null +++ b/src/main/java/com/hbm/module/machine/ModuleMachineBase.java @@ -0,0 +1,180 @@ +package com.hbm.module.machine; + +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.recipes.loader.GenericRecipe; +import com.hbm.inventory.recipes.loader.GenericRecipes.IOutput; + +import api.hbm.energymk2.IEnergyHandlerMK2; +import cpw.mods.fml.common.network.ByteBufUtils; +import io.netty.buffer.ByteBuf; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +public abstract class ModuleMachineBase { + + // setup + public int index; + public IEnergyHandlerMK2 battery; + public ItemStack[] slots; + public int[] inputSlots; + public int[] outputSlots; + public FluidTank[] inputTanks; + public FluidTank[] outputTanks; + // running vars + public String recipe = "null"; + public double progress; + // return signals + public boolean didProcess = false; + public boolean markDirty = false; + + public ModuleMachineBase(int index, IEnergyHandlerMK2 battery, ItemStack[] slots) { + this.index = index; + this.battery = battery; + this.slots = slots; + } + + /** Chances tank type and pressure based on recipe */ + public void setupTanks(GenericRecipe recipe) { + if(recipe == null) return; + for(int i = 0; i < inputTanks.length; i++) if(recipe.inputFluid != null && recipe.inputFluid.length > i) inputTanks[i].conform(recipe.inputFluid[i]); else inputTanks[i].resetTank(); + for(int i = 0; i < outputTanks.length; i++) if(recipe.outputFluid != null && recipe.outputFluid.length > i) outputTanks[i].conform(recipe.outputFluid[i]); else outputTanks[i].resetTank(); + } + + /** Expects the tanks to be set up correctly beforehand */ + public boolean canProcess(GenericRecipe recipe, double speed, double power) { + if(recipe == null) return false; + if(power != 1 && battery.getPower() < recipe.power * power) return false; // only check with floating point numbers if mult is not 1 + if(power == 1 && battery.getPower() < recipe.power) return false; + + if(recipe.inputItem != null) { + for(int i = 0; i < Math.min(recipe.inputItem.length, inputSlots.length); i++) { + if(!recipe.inputItem[i].matchesRecipe(slots[inputSlots[i]], false)) return false; + } + } + + if(recipe.inputFluid != null) { + for(int i = 0; i < Math.min(recipe.inputFluid.length, inputTanks.length); i++) { + if(inputTanks[i].getFill() < recipe.inputFluid[i].fill) return false; + } + } + + if(recipe.outputItem != null) { + for(int i = 0; i < Math.min(recipe.outputItem.length, outputSlots.length); i++) { + ItemStack stack = slots[outputSlots[i]]; + if(stack == null) continue; // always continue if output slot is free + IOutput output = recipe.outputItem[i]; + if(output.possibleMultiOutput()) return false; // output slot needs to be empty to decide on multi outputs + ItemStack single = output.getSingle(); + if(single == null) return false; // shouldn't be possible but better safe than sorry + if(stack.getItem() != single.getItem()) return false; + if(stack.getItemDamage() != single.getItemDamage()) return false; + if(stack.stackSize + single.stackSize > stack.getMaxStackSize()) return false; + } + } + + if(recipe.outputFluid != null) { + for(int i = 0; i < Math.min(recipe.outputFluid.length, outputTanks.length); i++) { + if(recipe.outputFluid[i].fill + outputTanks[i].getFill() > outputTanks[i].getMaxFill()) return false; + } + } + + return true; + } + + public void process(GenericRecipe recipe, double speed, double power) { + + this.battery.setPower(this.battery.getPower() - (power == 1 ? recipe.power : (long) (recipe.power * power))); + double step = Math.min(speed / recipe.duration, 1D); // can't do more than one recipe per tick, might look into that later + this.progress += step; + + if(this.progress >= 1D) { + + if(recipe.inputItem != null) { + for(int i = 0; i < Math.min(recipe.inputItem.length, inputSlots.length); i++) { + slots[inputSlots[i]].stackSize -= recipe.inputItem[i].stacksize; + if(slots[inputSlots[i]].stackSize <= 0) slots[inputSlots[i]] = null; + } + } + + if(recipe.inputFluid != null) { + for(int i = 0; i < Math.min(recipe.inputFluid.length, inputTanks.length); i++) { + inputTanks[i].setFill(inputTanks[i].getFill() - recipe.inputFluid[i].fill); + } + } + + if(recipe.outputItem != null) { + for(int i = 0; i < Math.min(recipe.outputItem.length, outputSlots.length); i++) { + ItemStack collapse = recipe.outputItem[i].collapse(); + if(slots[outputSlots[i]] == null) { + slots[outputSlots[i]] = collapse; + } else { + slots[outputSlots[i]].stackSize += collapse.stackSize; // we can do this because we've already established that the result slot is not null if it's a single output + } + } + } + + if(recipe.outputFluid != null) { + for(int i = 0; i < Math.min(recipe.outputFluid.length, outputTanks.length); i++) { + outputTanks[i].setFill(outputTanks[i].getFill() + recipe.outputFluid[i].fill); + } + } + + this.markDirty = true; + + if(this.canProcess(recipe, speed, power)) + this.progress -= 1D; + else + this.progress = 0D; + } + } + + public abstract GenericRecipe getRecipe(); + + public void update(double speed, double power, boolean extraCondition) { + GenericRecipe recipe = getRecipe(); + this.setupTanks(recipe); + + this.didProcess = false; + this.markDirty = false; + + if(extraCondition && this.canProcess(recipe, speed, power)) { + this.process(recipe, speed, power); + this.didProcess = true; + } else { + this.progress = 0F; + } + } + + /** For item IO, instead of the TE doing all the work it only has to handle non-recipe stuff, the module does the rest */ + public boolean isItemValid(int slot, ItemStack stack) { + GenericRecipe recipe = getRecipe(); + if(recipe == null) return false; + if(recipe.inputItem == null) return false; + + for(int i = 0; i < Math.min(inputSlots.length, recipe.inputItem.length); i++) { + if(inputSlots[i] == slot && recipe.inputItem[i].matchesRecipe(stack, true)) return true; + } + + return false; + } + + public void serialize(ByteBuf buf) { + buf.writeDouble(progress); + ByteBufUtils.writeUTF8String(buf, recipe); + } + + public void deserialize(ByteBuf buf) { + this.progress = buf.readDouble(); + this.recipe = ByteBufUtils.readUTF8String(buf); + } + + public void readFromNBT(NBTTagCompound nbt) { + this.progress = nbt.getDouble("progress" + index); + this.recipe = nbt.getString("recipe" + index); + } + + public void writeToNBT(NBTTagCompound nbt) { + nbt.setDouble("progress" + index, progress); + nbt.setString("recipe" + index, recipe); + } +} diff --git a/src/main/java/com/hbm/module/machine/ModuleMachineChemplant.java b/src/main/java/com/hbm/module/machine/ModuleMachineChemplant.java new file mode 100644 index 000000000..c6268e2cd --- /dev/null +++ b/src/main/java/com/hbm/module/machine/ModuleMachineChemplant.java @@ -0,0 +1,35 @@ +package com.hbm.module.machine; + +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.recipes.ChemicalPlantRecipes; +import com.hbm.inventory.recipes.loader.GenericRecipe; + +import api.hbm.energymk2.IEnergyHandlerMK2; +import net.minecraft.item.ItemStack; + +/** + * Option 1: Make a base class with weird arbitrary overrides to define shit like slots for multi machines like the chemfac + * Option 2: Make an easy to define module which can be used by whatever needs it, hypothetically allowing a mixed recipe machine. + * In the hudson bay, you know how we do it. + * @author hbm + */ +public class ModuleMachineChemplant extends ModuleMachineBase { + + public ModuleMachineChemplant(int index, IEnergyHandlerMK2 battery, ItemStack[] slots) { + super(index, battery, slots); + this.inputSlots = new int[3]; + this.outputSlots = new int[3]; + this.inputTanks = new FluidTank[3]; + this.outputTanks = new FluidTank[3]; + } + + @Override + public GenericRecipe getRecipe() { + return ChemicalPlantRecipes.INSTANCE.recipeNameMap.get(this.recipe); + } + + public ModuleMachineChemplant itemInput(int a, int b, int c) { inputSlots[0] = a; inputSlots[1] = b; inputSlots[2] = c; return this; } + public ModuleMachineChemplant itemOutput(int a, int b, int c) { outputSlots[0] = a; outputSlots[1] = b; outputSlots[2] = c; return this; } + public ModuleMachineChemplant fluidInput(FluidTank a, FluidTank b, FluidTank c) { inputTanks[0] = a; inputTanks[1] = b; inputTanks[2] = c; return this; } + public ModuleMachineChemplant fluidOutput(FluidTank a, FluidTank b, FluidTank c) { outputTanks[0] = a; outputTanks[1] = b; outputTanks[2] = c; return this; } +} diff --git a/src/main/java/com/hbm/packet/AuxElectricityPacket.java b/src/main/java/com/hbm/packet/AuxElectricityPacket.java deleted file mode 100644 index 39c27e7e1..000000000 --- a/src/main/java/com/hbm/packet/AuxElectricityPacket.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.hbm.packet; - -import api.hbm.energymk2.IEnergyHandlerMK2; -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import io.netty.buffer.ByteBuf; -import net.minecraft.client.Minecraft; -import net.minecraft.tileentity.TileEntity; - -@Deprecated //use the NBT packet instead -public class AuxElectricityPacket implements IMessage { - - int x; - int y; - int z; - long charge; - - public AuxElectricityPacket() - { - - } - - public AuxElectricityPacket(int x, int y, int z, long charge) - { - this.x = x; - this.y = y; - this.z = z; - this.charge = charge; - } - - @Override - public void fromBytes(ByteBuf buf) { - x = buf.readInt(); - y = buf.readInt(); - z = buf.readInt(); - charge = buf.readLong(); - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeInt(x); - buf.writeInt(y); - buf.writeInt(z); - buf.writeLong(charge); - } - - public static class Handler implements IMessageHandler { - - @Override - @SideOnly(Side.CLIENT) - public IMessage onMessage(AuxElectricityPacket m, MessageContext ctx) { - try { - TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); - - if (te instanceof IEnergyHandlerMK2) { - - IEnergyHandlerMK2 gen = (IEnergyHandlerMK2) te; - gen.setPower(m.charge); - } - } catch (Exception x) { } - return null; - } - } -} diff --git a/src/main/java/com/hbm/packet/AuxGaugePacket.java b/src/main/java/com/hbm/packet/AuxGaugePacket.java deleted file mode 100644 index 17af20444..000000000 --- a/src/main/java/com/hbm/packet/AuxGaugePacket.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.hbm.packet; - -import com.hbm.interfaces.Spaghetti; -import com.hbm.items.weapon.ItemCustomMissilePart.PartSize; -import com.hbm.tileentity.TileEntityMachineBase; -import com.hbm.tileentity.bomb.TileEntityCompactLauncher; -import com.hbm.tileentity.bomb.TileEntityLaunchTable; -import com.hbm.tileentity.machine.TileEntityMachineArcFurnace; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import io.netty.buffer.ByteBuf; -import net.minecraft.client.Minecraft; -import net.minecraft.tileentity.TileEntity; - -@Spaghetti("Changing all machines to use TileEntityMachineBase will reduce the total chaos in this class") -@Deprecated //use the NBT packet instead -public class AuxGaugePacket implements IMessage { - - int x; - int y; - int z; - int value; - int id; - - public AuxGaugePacket() - { - - } - - public AuxGaugePacket(int x, int y, int z, int value, int id) - { - this.x = x; - this.y = y; - this.z = z; - this.value = value; - this.id = id; - } - - @Override - public void fromBytes(ByteBuf buf) { - x = buf.readInt(); - y = buf.readInt(); - z = buf.readInt(); - value = buf.readInt(); - id = buf.readInt(); - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeInt(x); - buf.writeInt(y); - buf.writeInt(z); - buf.writeInt(value); - buf.writeInt(id); - } - - public static class Handler implements IMessageHandler { - - @Override - @SideOnly(Side.CLIENT) - public IMessage onMessage(AuxGaugePacket m, MessageContext ctx) { - try { - TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); - if (te instanceof TileEntityMachineArcFurnace) { - TileEntityMachineArcFurnace furn = (TileEntityMachineArcFurnace)te; - - if(m.id == 0) - furn.dualCookTime = m.value; - } - if (te instanceof TileEntityCompactLauncher) { - TileEntityCompactLauncher launcher = (TileEntityCompactLauncher)te; - - launcher.solid = m.value; - } - if (te instanceof TileEntityLaunchTable) { - TileEntityLaunchTable launcher = (TileEntityLaunchTable)te; - - if(m.id == 0) - launcher.solid = m.value; - if(m.id == 1) - launcher.padSize = PartSize.values()[m.value]; - } - - if(te instanceof TileEntityMachineBase) { - ((TileEntityMachineBase)te).processGauge(m.value, m.id); - } - - } catch (Exception x) {} - return null; - } - } -} diff --git a/src/main/java/com/hbm/packet/AuxParticlePacket.java b/src/main/java/com/hbm/packet/AuxParticlePacket.java deleted file mode 100644 index 1483e297d..000000000 --- a/src/main/java/com/hbm/packet/AuxParticlePacket.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.hbm.packet; - -import com.hbm.main.MainRegistry; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import io.netty.buffer.ByteBuf; - -public class AuxParticlePacket implements IMessage { - - double x; - double y; - double z; - int type; - - public AuxParticlePacket() - { - - } - - public AuxParticlePacket(double x, double y, double z, int type) - { - this.x = x; - this.y = y; - this.z = z; - this.type = type; - } - - @Override - public void fromBytes(ByteBuf buf) { - x = buf.readDouble(); - y = buf.readDouble(); - z = buf.readDouble(); - type = buf.readInt(); - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeDouble(x); - buf.writeDouble(y); - buf.writeDouble(z); - buf.writeInt(type); - } - - public static class Handler implements IMessageHandler { - - @Override - public IMessage onMessage(AuxParticlePacket m, MessageContext ctx) { - - try { - - MainRegistry.proxy.particleControl(m.x, m.y, m.z, m.type); - - } catch(Exception x) { } - - return null; - } - } -} diff --git a/src/main/java/com/hbm/packet/AuxParticlePacketNT.java b/src/main/java/com/hbm/packet/AuxParticlePacketNT.java deleted file mode 100644 index f3b311e3a..000000000 --- a/src/main/java/com/hbm/packet/AuxParticlePacketNT.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.hbm.packet; - -import java.io.IOException; - -import com.hbm.main.MainRegistry; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import io.netty.buffer.ByteBuf; -import io.netty.buffer.Unpooled; -import net.minecraft.client.Minecraft; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.PacketBuffer; - -public class AuxParticlePacketNT implements IMessage { - - PacketBuffer buffer; - - public AuxParticlePacketNT() { } - - public AuxParticlePacketNT(NBTTagCompound nbt, double x, double y, double z) { - - this.buffer = new PacketBuffer(Unpooled.buffer()); - - nbt.setDouble("posX", x); - nbt.setDouble("posY", y); - nbt.setDouble("posZ", z); - - try { - buffer.writeNBTTagCompoundToBuffer(nbt); - - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Override - public void fromBytes(ByteBuf buf) { - - if (buffer == null) { - buffer = new PacketBuffer(Unpooled.buffer()); - } - buffer.writeBytes(buf); - } - - @Override - public void toBytes(ByteBuf buf) { - - if (buffer == null) { - buffer = new PacketBuffer(Unpooled.buffer()); - } - buf.writeBytes(buffer); - } - - public static class Handler implements IMessageHandler { - - @Override - public IMessage onMessage(AuxParticlePacketNT m, MessageContext ctx) { - - if(Minecraft.getMinecraft().theWorld == null) - return null; - - - try { - - NBTTagCompound nbt = m.buffer.readNBTTagCompoundFromBuffer(); - - if(nbt != null) - MainRegistry.proxy.effectNT(nbt); - - } catch (IOException e) { - e.printStackTrace(); - } - - return null; - } - } - -} diff --git a/src/main/java/com/hbm/packet/BiomeSyncPacket.java b/src/main/java/com/hbm/packet/BiomeSyncPacket.java deleted file mode 100644 index 203ddc281..000000000 --- a/src/main/java/com/hbm/packet/BiomeSyncPacket.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.hbm.packet; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import io.netty.buffer.ByteBuf; -import net.minecraft.client.Minecraft; -import net.minecraft.world.World; -import net.minecraft.world.chunk.Chunk; - -public class BiomeSyncPacket implements IMessage { - - int chunkX; - int chunkZ; - byte blockX; - byte blockZ; - byte biome; - byte[] biomeArray; - - public BiomeSyncPacket() { } - - public BiomeSyncPacket(int chunkX, int chunkZ, byte[] biomeArray) { - this.chunkX = chunkX; - this.chunkZ = chunkZ; - this.biomeArray = biomeArray; - } - - public BiomeSyncPacket(int blockX, int blockZ, byte biome) { - this.chunkX = blockX >> 4; - this.chunkZ = blockZ >> 4; - this.blockX = (byte) (blockX & 15); - this.blockZ = (byte) (blockZ & 15); - this.biome = biome; - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeInt(this.chunkX); - buf.writeInt(this.chunkZ); - - if(this.biomeArray == null) { - buf.writeBoolean(false); - buf.writeByte(this.biome); - buf.writeByte(this.blockX); - buf.writeByte(this.blockZ); - } else { - buf.writeBoolean(true); - for(int i = 0; i < 256; i++) { - buf.writeByte(this.biomeArray[i]); - } - } - } - - @Override - public void fromBytes(ByteBuf buf) { - this.chunkX = buf.readInt(); - this.chunkZ = buf.readInt(); - - if(!buf.readBoolean()) { - this.biome = buf.readByte(); - this.blockX = buf.readByte(); - this.blockZ = buf.readByte(); - } else { - this.biomeArray = new byte[256]; - for(int i = 0; i < 256; i++) { - this.biomeArray[i] = buf.readByte(); - } - } - } - - public static class Handler implements IMessageHandler { - - @Override - @SideOnly(Side.CLIENT) - public IMessage onMessage(BiomeSyncPacket m, MessageContext ctx) { - - World world = Minecraft.getMinecraft().theWorld; - if(!world.getChunkProvider().chunkExists(m.chunkX, m.chunkZ)) return null; - Chunk chunk = world.getChunkFromChunkCoords(m.chunkX, m.chunkZ); - chunk.isModified = true; - - if(m.biomeArray == null) { - chunk.getBiomeArray()[(m.blockZ & 15) << 4 | (m.blockX & 15)] = m.biome; - world.markBlockRangeForRenderUpdate(m.chunkX << 4, 0, m.chunkZ << 4, m.chunkX << 4, 255, m.chunkZ << 4); - } else { - for(int i = 0; i < 256; i++) { - chunk.getBiomeArray()[i] = m.biomeArray[i]; - world.markBlockRangeForRenderUpdate(m.chunkX << 4, 0, m.chunkZ << 4, (m.chunkX << 4) + 15, 255, (m.chunkZ << 4) + 15); - } - } - - return null; - } - } -} diff --git a/src/main/java/com/hbm/packet/BufPacket.java b/src/main/java/com/hbm/packet/BufPacket.java deleted file mode 100644 index 7ff502c9d..000000000 --- a/src/main/java/com/hbm/packet/BufPacket.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.hbm.packet; - -import com.hbm.tileentity.IBufPacketReceiver; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import io.netty.buffer.ByteBuf; -import net.minecraft.client.Minecraft; -import net.minecraft.tileentity.TileEntity; - -public class BufPacket implements IMessage { - - int x; - int y; - int z; - IBufPacketReceiver rec; - ByteBuf buf; - - public BufPacket() { } - - public BufPacket(int x, int y, int z, IBufPacketReceiver rec) { - this.x = x; - this.y = y; - this.z = z; - this.rec = rec; - } - - @Override - public void fromBytes(ByteBuf buf) { - this.x = buf.readInt(); - this.y = buf.readInt(); - this.z = buf.readInt(); - this.buf = buf; - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeInt(x); - buf.writeInt(y); - buf.writeInt(z); - this.rec.serialize(buf); - } - - public static class Handler implements IMessageHandler { - - @Override - public IMessage onMessage(BufPacket m, MessageContext ctx) { - - if(Minecraft.getMinecraft().theWorld == null) - return null; - - TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); - - if(te instanceof IBufPacketReceiver) { - ((IBufPacketReceiver) te).deserialize(m.buf); - } - - return null; - } - } -} diff --git a/src/main/java/com/hbm/packet/ExtPropPacket.java b/src/main/java/com/hbm/packet/ExtPropPacket.java deleted file mode 100644 index 641bc9b68..000000000 --- a/src/main/java/com/hbm/packet/ExtPropPacket.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.hbm.packet; - -import java.io.IOException; - -import com.hbm.extprop.HbmLivingProps; -import com.hbm.extprop.HbmPlayerProps; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import io.netty.buffer.ByteBuf; -import io.netty.buffer.Unpooled; -import net.minecraft.client.Minecraft; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.PacketBuffer; - -public class ExtPropPacket implements IMessage { - - PacketBuffer buffer; - - public ExtPropPacket() { } - - public ExtPropPacket(NBTTagCompound nbt) { - - this.buffer = new PacketBuffer(Unpooled.buffer()); - - try { - buffer.writeNBTTagCompoundToBuffer(nbt); - - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Override - public void fromBytes(ByteBuf buf) { - - if (buffer == null) { - buffer = new PacketBuffer(Unpooled.buffer()); - } - buffer.writeBytes(buf); - } - - @Override - public void toBytes(ByteBuf buf) { - - if (buffer == null) { - buffer = new PacketBuffer(Unpooled.buffer()); - } - buf.writeBytes(buffer); - } - - public static class Handler implements IMessageHandler { - - @Override - @SideOnly(Side.CLIENT) - public IMessage onMessage(ExtPropPacket m, MessageContext ctx) { - - if(Minecraft.getMinecraft().theWorld == null) - return null; - - try { - - NBTTagCompound nbt = m.buffer.readNBTTagCompoundFromBuffer(); - HbmLivingProps props = HbmLivingProps.getData(Minecraft.getMinecraft().thePlayer); - HbmPlayerProps pprps = HbmPlayerProps.getData(Minecraft.getMinecraft().thePlayer); - props.loadNBTData(nbt); - pprps.loadNBTData(nbt); - - } catch (IOException e) { - e.printStackTrace(); - } - - return null; - } - } -} diff --git a/src/main/java/com/hbm/packet/GunAnimationPacket.java b/src/main/java/com/hbm/packet/GunAnimationPacket.java deleted file mode 100644 index c744f72fd..000000000 --- a/src/main/java/com/hbm/packet/GunAnimationPacket.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.hbm.packet; - -import com.hbm.items.weapon.ItemGunBase; -import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.HbmAnimations; -import com.hbm.render.anim.HbmAnimations.AnimType; -import com.hbm.render.anim.HbmAnimations.Animation; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import io.netty.buffer.ByteBuf; -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; - -public class GunAnimationPacket implements IMessage { - - int type; - - public GunAnimationPacket() { } - - public GunAnimationPacket(int type) { - this.type = type; - } - - @Override - public void fromBytes(ByteBuf buf) { - type = buf.readInt(); - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeInt(type); - } - - public static class Handler implements IMessageHandler { - - @Override - @SideOnly(Side.CLIENT) - public IMessage onMessage(GunAnimationPacket m, MessageContext ctx) { - - try { - - EntityPlayer player = Minecraft.getMinecraft().thePlayer; - ItemStack stack = player.getHeldItem(); - int slot = player.inventory.currentItem; - - if(stack == null) - return null; - - if(!(stack.getItem() instanceof ItemGunBase)) - return null; - - if(m.type < 0 || m.type >= AnimType.values().length) - return null; - - AnimType type = AnimType.values()[m.type]; - ItemGunBase base = (ItemGunBase) stack.getItem(); - - BusAnimation animation = base.getAnimation(stack, type); - - // Fallback to regular reload if no empty reload animation - if(animation == null && type == AnimType.RELOAD_EMPTY) { - animation = base.getAnimation(stack, AnimType.RELOAD); - } - - // Fallback to regular CYCLE if no ALT_CYCLE (or CYCLE_EMPTY) exists - if(animation == null && (type == AnimType.ALT_CYCLE || type == AnimType.CYCLE_EMPTY)) { - animation = base.getAnimation(stack, AnimType.CYCLE); - } - - if(animation != null) { - boolean isReloadAnimation = type == AnimType.RELOAD || type == AnimType.RELOAD_CYCLE || type == AnimType.RELOAD_EMPTY; - HbmAnimations.hotbar[slot] = new Animation(stack.getItem().getUnlocalizedName(), System.currentTimeMillis(), animation, isReloadAnimation && base.mainConfig.reloadAnimationsSequential); - } - - } catch(Exception x) { } - - return null; - } - } -} diff --git a/src/main/java/com/hbm/packet/GunButtonPacket.java b/src/main/java/com/hbm/packet/GunButtonPacket.java deleted file mode 100644 index a9688de1d..000000000 --- a/src/main/java/com/hbm/packet/GunButtonPacket.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.hbm.packet; - -import com.hbm.items.weapon.ItemGunBase; - -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import cpw.mods.fml.relauncher.Side; -import io.netty.buffer.ByteBuf; -import net.minecraft.entity.player.EntityPlayer; - -public class GunButtonPacket implements IMessage { - - //true or false, whether or not the key is pressed - boolean state; - //0: [M1] - //1: [M2] - //2: [R] - byte button; - - public GunButtonPacket() { } - - public GunButtonPacket(boolean m1, byte b) { - state = m1; - button = b; - } - - @Override - public void fromBytes(ByteBuf buf) { - state = buf.readBoolean(); - button = buf.readByte(); - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeBoolean(state); - buf.writeByte(button); - } - - public static class Handler implements IMessageHandler { - - @Override - public IMessage onMessage(GunButtonPacket m, MessageContext ctx) { - - if(FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) - return null; - - EntityPlayer p = ctx.getServerHandler().playerEntity; - - if(p.getHeldItem() != null && p.getHeldItem().getItem() instanceof ItemGunBase) { - - ItemGunBase item = (ItemGunBase)p.getHeldItem().getItem(); - - switch(m.button) { - case 0: ItemGunBase.setIsMouseDown(p.getHeldItem(), m.state); - if(m.state) - item.startAction(p.getHeldItem(), p.worldObj, p, true); - else - item.endAction(p.getHeldItem(), p.worldObj, p, true); - break; - - case 1: ItemGunBase.setIsAltDown(p.getHeldItem(), m.state); - if(m.state) - item.startAction(p.getHeldItem(), p.worldObj, p, false); - else - item.endAction(p.getHeldItem(), p.worldObj, p, false); - break; - - case 2: - if(item.canReload(p.getHeldItem(), p.worldObj, p)) { - item.startReloadAction(p.getHeldItem(), p.worldObj, p); - } - break; - } - } - - return null; - } - } -} diff --git a/src/main/java/com/hbm/packet/LoopedEntitySoundPacket.java b/src/main/java/com/hbm/packet/LoopedEntitySoundPacket.java deleted file mode 100644 index 0d364608f..000000000 --- a/src/main/java/com/hbm/packet/LoopedEntitySoundPacket.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.hbm.packet; - -import com.hbm.entity.logic.EntityBomber; -import com.hbm.sound.MovingSoundBomber; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import io.netty.buffer.ByteBuf; -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class LoopedEntitySoundPacket implements IMessage { - - int entityID; - - public LoopedEntitySoundPacket() - { - - } - - public LoopedEntitySoundPacket(int entityID) - { - this.entityID = entityID; - } - - @Override - public void fromBytes(ByteBuf buf) { - entityID = buf.readInt(); - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeInt(entityID); - } - - public static class Handler implements IMessageHandler { - - @Override - //Tamaized, I love you! - @SideOnly(Side.CLIENT) - public IMessage onMessage(LoopedEntitySoundPacket m, MessageContext ctx) { - - Entity e = Minecraft.getMinecraft().theWorld.getEntityByID(m.entityID); - - if(e instanceof EntityBomber) { - - int n = 1; - int x = e.getDataWatcher().getWatchableObjectByte(16); - - switch(x) { - case 0: - case 1: - case 2: - case 3: - case 4: n = 2; break; - case 5: - case 6: - case 7: - case 8: n = 1; break; - default: n = 2; break; - } - - boolean flag = true; - for(int i = 0; i < MovingSoundBomber.globalSoundList.size(); i++) { - if(MovingSoundBomber.globalSoundList.get(i).bomber == e && !MovingSoundBomber.globalSoundList.get(i).isDonePlaying()) - flag = false; - } - - if(flag) { - if(n == 2) - Minecraft.getMinecraft().getSoundHandler().playSound(new MovingSoundBomber(new ResourceLocation("hbm:entity.bomberSmallLoop"), (EntityBomber)e)); - if(n == 1) - Minecraft.getMinecraft().getSoundHandler().playSound(new MovingSoundBomber(new ResourceLocation("hbm:entity.bomberLoop"), (EntityBomber)e)); - } - } - - return null; - } - } -} diff --git a/src/main/java/com/hbm/packet/LoopedSoundPacket.java b/src/main/java/com/hbm/packet/LoopedSoundPacket.java deleted file mode 100644 index 0312680a0..000000000 --- a/src/main/java/com/hbm/packet/LoopedSoundPacket.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.hbm.packet; - -import com.hbm.interfaces.Spaghetti; -import com.hbm.sound.*; -import com.hbm.tileentity.machine.*; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import io.netty.buffer.ByteBuf; -import net.minecraft.client.Minecraft; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; - -@Spaghetti("this class should be destroyed") -public class LoopedSoundPacket implements IMessage { - - int x; - int y; - int z; - - public LoopedSoundPacket() - { - - } - - public LoopedSoundPacket(int x, int y, int z) - { - this.x = x; - this.y = y; - this.z = z; - } - - @Override - public void fromBytes(ByteBuf buf) { - x = buf.readInt(); - y = buf.readInt(); - z = buf.readInt(); - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeInt(x); - buf.writeInt(y); - buf.writeInt(z); - } - - public static class Handler implements IMessageHandler { - - @Override - //Tamaized, I love you! - @SideOnly(Side.CLIENT) - public IMessage onMessage(LoopedSoundPacket m, MessageContext ctx) { - TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); - - if (te != null && te instanceof TileEntityMachineAssembler) { - - boolean flag = true; - for(int i = 0; i < SoundLoopAssembler.list.size(); i++) { - if(SoundLoopAssembler.list.get(i).getTE() == te && !SoundLoopAssembler.list.get(i).isDonePlaying()) - flag = false; - } - - if(flag && te.getWorldObj().isRemote && ((TileEntityMachineAssembler)te).isProgressing) - Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopAssembler(new ResourceLocation("hbm:block.assemblerOperate"), te)); - } - - if (te != null && te instanceof TileEntityMachineTurbofan) { - - boolean flag = true; - for(int i = 0; i < SoundLoopTurbofan.list.size(); i++) { - if(SoundLoopTurbofan.list.get(i).getTE() == te && !SoundLoopTurbofan.list.get(i).isDonePlaying()) - flag = false; - } - - if(flag && te.getWorldObj().isRemote && ((TileEntityMachineTurbofan)te).wasOn) - Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopTurbofan(new ResourceLocation("hbm:block.turbofanOperate"), te)); - } - - if (te != null && te instanceof TileEntityBroadcaster) { - - boolean flag = true; - for(int i = 0; i < SoundLoopBroadcaster.list.size(); i++) { - if(SoundLoopBroadcaster.list.get(i).getTE() == te && !SoundLoopBroadcaster.list.get(i).isDonePlaying()) - flag = false; - } - - int j = te.xCoord + te.zCoord + te.yCoord; - - if(flag && te.getWorldObj().isRemote) - Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopBroadcaster(new ResourceLocation("hbm:block.broadcast" + (Math.abs(j) % 3 + 1)), te)); - } - - if (te != null && te instanceof TileEntityMachineCentrifuge) { - - boolean flag = true; - for(int i = 0; i < SoundLoopCentrifuge.list.size(); i++) { - if(SoundLoopCentrifuge.list.get(i).getTE() == te && !SoundLoopCentrifuge.list.get(i).isDonePlaying()) - flag = false; - } - - if(flag && te.getWorldObj().isRemote && ((TileEntityMachineCentrifuge)te).isProgressing) - Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopCentrifuge(new ResourceLocation("hbm:block.centrifugeOperate"), te)); - } - - if (te != null && te instanceof TileEntityMachineGasCent) { - - boolean flag = true; - for(int i = 0; i < SoundLoopCentrifuge.list.size(); i++) { - if(SoundLoopCentrifuge.list.get(i).getTE() == te && !SoundLoopCentrifuge.list.get(i).isDonePlaying()) - flag = false; - } - - if(flag && te.getWorldObj().isRemote && ((TileEntityMachineGasCent)te).isProgressing) - Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopCentrifuge(new ResourceLocation("hbm:block.centrifugeOperate"), te)); - } - return null; - } - } -} diff --git a/src/main/java/com/hbm/packet/NBTPacket.java b/src/main/java/com/hbm/packet/NBTPacket.java deleted file mode 100644 index 3bd5afbcb..000000000 --- a/src/main/java/com/hbm/packet/NBTPacket.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.hbm.packet; - -import java.io.IOException; - -import com.hbm.tileentity.INBTPacketReceiver; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import io.netty.buffer.ByteBuf; -import io.netty.buffer.Unpooled; -import net.minecraft.client.Minecraft; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.PacketBuffer; -import net.minecraft.tileentity.TileEntity; - - -@Deprecated // rest in peace sweet little prince -public class NBTPacket implements IMessage { - - PacketBuffer buffer; - int x; - int y; - int z; - - public NBTPacket() { } - - public NBTPacket(NBTTagCompound nbt, int x, int y, int z) { - - this.buffer = new PacketBuffer(Unpooled.buffer()); - this.x = x; - this.y = y; - this.z = z; - - try { - buffer.writeNBTTagCompoundToBuffer(nbt); - - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Override - public void fromBytes(ByteBuf buf) { - - x = buf.readInt(); - y = buf.readInt(); - z = buf.readInt(); - - if (buffer == null) { - buffer = new PacketBuffer(Unpooled.buffer()); - } - buffer.writeBytes(buf); - } - - @Override - public void toBytes(ByteBuf buf) { - - buf.writeInt(x); - buf.writeInt(y); - buf.writeInt(z); - - if (buffer == null) { - buffer = new PacketBuffer(Unpooled.buffer()); - } - buf.writeBytes(buffer); - } - - public static class Handler implements IMessageHandler { - - @Override - public IMessage onMessage(NBTPacket m, MessageContext ctx) { - - if(Minecraft.getMinecraft().theWorld == null) - return null; - - TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); - - try { - - NBTTagCompound nbt = m.buffer.readNBTTagCompoundFromBuffer(); - - if(nbt != null) { - - if(te instanceof INBTPacketReceiver) - ((INBTPacketReceiver) te).networkUnpack(nbt); - } - - } catch (IOException e) { - e.printStackTrace(); - } - - return null; - } - } - -} diff --git a/src/main/java/com/hbm/packet/PacketDispatcher.java b/src/main/java/com/hbm/packet/PacketDispatcher.java index e2dea4a51..165664236 100644 --- a/src/main/java/com/hbm/packet/PacketDispatcher.java +++ b/src/main/java/com/hbm/packet/PacketDispatcher.java @@ -1,26 +1,22 @@ package com.hbm.packet; import com.hbm.lib.RefStrings; +import com.hbm.main.NetworkHandler; +import com.hbm.packet.toclient.*; +import com.hbm.packet.toserver.*; -import cpw.mods.fml.common.network.NetworkRegistry; -import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; import cpw.mods.fml.relauncher.Side; public class PacketDispatcher { - //Mark 1 Packet Sending Device - public static final SimpleNetworkWrapper wrapper = NetworkRegistry.INSTANCE.newSimpleChannel(RefStrings.MODID); + //Mark 1.5 Packet Sending Device + public static final NetworkHandler wrapper = new NetworkHandler(RefStrings.MODID); - public static final void registerPackets() - { + public static void registerPackets() { int i = 0; - - //Sound packet that keeps client and server separated - wrapper.registerMessage(LoopedSoundPacket.Handler.class, LoopedSoundPacket.class, i++, Side.CLIENT); + //Signals server to consume items and create template wrapper.registerMessage(ItemFolderPacket.Handler.class, ItemFolderPacket.class, i++, Side.SERVER); - //Electricity gauge for GUI rendering - wrapper.registerMessage(AuxElectricityPacket.Handler.class, AuxElectricityPacket.class, i++, Side.CLIENT); //Siren packet for looped sounds wrapper.registerMessage(TESirenPacket.Handler.class, TESirenPacket.class, i++, Side.CLIENT); //Signals server to change ItemStacks @@ -37,14 +33,8 @@ public class PacketDispatcher { wrapper.registerMessage(ParticleBurstPacket.Handler.class, ParticleBurstPacket.class, i++, Side.CLIENT); //Packet to send chunk radiation info to individual players wrapper.registerMessage(ExtPropPacket.Handler.class, ExtPropPacket.class, i++, Side.CLIENT); - //Entity sound packet that keeps client and server separated - wrapper.registerMessage(LoopedEntitySoundPacket.Handler.class, LoopedEntitySoundPacket.class, i++, Side.CLIENT); //Packet for force fields wrapper.registerMessage(TEFFPacket.Handler.class, TEFFPacket.class, i++, Side.CLIENT); - //Sends button information for ItemGunBase - wrapper.registerMessage(GunButtonPacket.Handler.class, GunButtonPacket.class, i++, Side.SERVER); - //Packet to send block break particles - wrapper.registerMessage(AuxParticlePacket.Handler.class, AuxParticlePacket.class, i++, Side.CLIENT); //Signals server to buy offer from bobmazon wrapper.registerMessage(ItemBobmazonPacket.Handler.class, ItemBobmazonPacket.class, i++, Side.SERVER); //Packet to send missile multipart information to TEs @@ -63,25 +53,20 @@ public class PacketDispatcher { wrapper.registerMessage(NBTControlPacket.Handler.class, NBTControlPacket.class, i++, Side.SERVER); //Packet to send for anvil recipes to be crafted wrapper.registerMessage(AnvilCraftPacket.Handler.class, AnvilCraftPacket.class, i++, Side.SERVER); - //Sends a funi text to display like a music disc announcement - wrapper.registerMessage(TEDoorAnimationPacket.Handler.class, TEDoorAnimationPacket.class, i++, Side.CLIENT); //Does ExVNT standard player knockback wrapper.registerMessage(ExplosionKnockbackPacket.Handler.class, ExplosionKnockbackPacket.class, i++, Side.CLIENT); //just go fuck yourself already wrapper.registerMessage(ExplosionVanillaNewTechnologyCompressedAffectedBlockPositionDataForClientEffectsAndParticleHandlingPacket.Handler.class, ExplosionVanillaNewTechnologyCompressedAffectedBlockPositionDataForClientEffectsAndParticleHandlingPacket.class, i++, Side.CLIENT); //Packet to send NBT data from clients to the serverside held item wrapper.registerMessage(NBTItemControlPacket.Handler.class, NBTItemControlPacket.class, i++, Side.SERVER); - //sends a button press to the held item, assuming it is an ISyncButtons - wrapper.registerMessage(SyncButtonsPacket.Handler.class, SyncButtonsPacket.class, i++, Side.SERVER); //General syncing for global values wrapper.registerMessage(PermaSyncPacket.Handler.class, PermaSyncPacket.class, i++, Side.CLIENT); //Syncs biome information for single positions or entire chunks wrapper.registerMessage(BiomeSyncPacket.Handler.class, BiomeSyncPacket.class, i++, Side.CLIENT); - - //Tile sync - wrapper.registerMessage(AuxGaugePacket.Handler.class, AuxGaugePacket.class, i++, Side.CLIENT); //The horrid one - wrapper.registerMessage(NBTPacket.Handler.class, NBTPacket.class, i++, Side.CLIENT); //The convenient but laggy one - wrapper.registerMessage(BufPacket.Handler.class, BufPacket.class, i++, Side.CLIENT); //The not-so-convenient but not laggy one + //The not-so-convenient but not laggy one + wrapper.registerMessage(BufPacket.Handler.class, BufPacket.class, i++, Side.CLIENT); + //Syncs server recipe configs to the client + wrapper.registerMessage(SerializableRecipePacket.Handler.class, SerializableRecipePacket.class, i++, Side.CLIENT); } - + } diff --git a/src/main/java/com/hbm/packet/SyncButtonsPacket.java b/src/main/java/com/hbm/packet/SyncButtonsPacket.java deleted file mode 100644 index b460a4141..000000000 --- a/src/main/java/com/hbm/packet/SyncButtonsPacket.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.hbm.packet; - -import com.hbm.items.ISyncButtons; - -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import cpw.mods.fml.relauncher.Side; -import io.netty.buffer.ByteBuf; -import net.minecraft.entity.player.EntityPlayer; - -public class SyncButtonsPacket implements IMessage { - - boolean state; - int button; - - public SyncButtonsPacket() { } - - public SyncButtonsPacket(boolean s, int b) { - state = s; - button = b; - } - - @Override - public void fromBytes(ByteBuf buf) { - state = buf.readBoolean(); - button = buf.readInt(); - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeBoolean(state); - buf.writeInt(button); - } - - public static class Handler implements IMessageHandler { - - @Override - public IMessage onMessage(SyncButtonsPacket m, MessageContext ctx) { - - if(FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) - return null; - - EntityPlayer p = ctx.getServerHandler().playerEntity; - - if(p.getHeldItem() != null && p.getHeldItem().getItem() instanceof ISyncButtons) { - - ISyncButtons item = (ISyncButtons)p.getHeldItem().getItem(); - item.receiveMouse(p, p.getHeldItem(), m.button, m.state); - } - - return null; - } - } -} diff --git a/src/main/java/com/hbm/packet/TEDoorAnimationPacket.java b/src/main/java/com/hbm/packet/TEDoorAnimationPacket.java deleted file mode 100644 index 7321aa015..000000000 --- a/src/main/java/com/hbm/packet/TEDoorAnimationPacket.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.hbm.packet; - -import com.hbm.interfaces.IAnimatedDoor; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import io.netty.buffer.ByteBuf; -import net.minecraft.client.Minecraft; -import net.minecraft.tileentity.TileEntity; - -public class TEDoorAnimationPacket implements IMessage { - - public int x, y, z; - public byte state; - public byte skinIndex; - public byte texture; - - public TEDoorAnimationPacket() { - } - - public TEDoorAnimationPacket(int x, int y, int z, byte state) { - this(x, y, z, state, (byte) 0, (byte) -1); - } - - public TEDoorAnimationPacket(int x, int y, int z, byte state, byte skinIndex, byte tex) { - this.x = x; - this.y = y; - this.z = z; - this.state = state; - this.skinIndex = skinIndex; - this.texture = tex; - } - - @Override - public void fromBytes(ByteBuf buf) { - x = buf.readInt(); - y = buf.readInt(); - z = buf.readInt(); - state = buf.readByte(); - skinIndex = buf.readByte(); - if(buf.readableBytes() == 1){ - texture = buf.readByte(); - } - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeInt(x); - buf.writeInt(y); - buf.writeInt(z); - buf.writeByte(state); - buf.writeByte(skinIndex); - if(texture != -1){ - buf.writeByte(texture); - } - } - - public static class Handler implements IMessageHandler { - - @Override - @SideOnly(Side.CLIENT) - public IMessage onMessage(TEDoorAnimationPacket m, MessageContext ctx) { - - TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); - if(te instanceof IAnimatedDoor){ - ((IAnimatedDoor) te).handleNewState(m.state); - ((IAnimatedDoor) te).setSkinIndex(m.skinIndex); - ((IAnimatedDoor) te).setTextureState(m.texture); - } - - return null; - } - } -} diff --git a/src/main/java/com/hbm/packet/threading/PrecompiledPacket.java b/src/main/java/com/hbm/packet/threading/PrecompiledPacket.java new file mode 100644 index 000000000..012d24ffe --- /dev/null +++ b/src/main/java/com/hbm/packet/threading/PrecompiledPacket.java @@ -0,0 +1,7 @@ +package com.hbm.packet.threading; + +/** + * Abstract class for precompiled packets. + * Contains no content of its own; purely for distinction between precompiling and normal packets. + * */ +public abstract class PrecompiledPacket extends ThreadedPacket { } diff --git a/src/main/java/com/hbm/packet/threading/ThreadedPacket.java b/src/main/java/com/hbm/packet/threading/ThreadedPacket.java new file mode 100644 index 000000000..630adc002 --- /dev/null +++ b/src/main/java/com/hbm/packet/threading/ThreadedPacket.java @@ -0,0 +1,31 @@ +package com.hbm.packet.threading; + +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; + +/** + * This is the base class for any packets passing through the PacketThreading system. + */ +public abstract class ThreadedPacket implements IMessage { + + ByteBuf compiledBuffer; + + public void compile() { + if(compiledBuffer != null) + compiledBuffer.release(); + + compiledBuffer = Unpooled.buffer(); + + this.toBytes(compiledBuffer); // Create buffer and read data to it. + } + + /** + * Returns the compiled buffer. + */ + public ByteBuf getCompiledBuffer() { + if(compiledBuffer == null || compiledBuffer.readableBytes() <= 0 /* No data written */) + this.compile(); + return compiledBuffer; + } +} diff --git a/src/main/java/com/hbm/packet/toclient/AuxParticlePacketNT.java b/src/main/java/com/hbm/packet/toclient/AuxParticlePacketNT.java new file mode 100644 index 000000000..c510c586c --- /dev/null +++ b/src/main/java/com/hbm/packet/toclient/AuxParticlePacketNT.java @@ -0,0 +1,56 @@ +package com.hbm.packet.toclient; + +import com.hbm.main.MainRegistry; + +import com.hbm.packet.threading.ThreadedPacket; +import com.hbm.util.BufferUtil; +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import io.netty.buffer.ByteBuf; +import net.minecraft.client.Minecraft; +import net.minecraft.nbt.NBTTagCompound; + +public class AuxParticlePacketNT extends ThreadedPacket { + + ByteBuf buffer; + + NBTTagCompound nbt; + + public AuxParticlePacketNT() { } + + public AuxParticlePacketNT(NBTTagCompound nbt, double x, double y, double z) { + nbt.setDouble("posX", x); + nbt.setDouble("posY", y); + nbt.setDouble("posZ", z); + this.nbt = nbt; + } + + @Override + public void fromBytes(ByteBuf buf) { + this.nbt = BufferUtil.readNBT(buf); + this.buffer = buf; + } + + @Override + public void toBytes(ByteBuf buf) { + BufferUtil.writeNBT(buf, nbt); + } + + public static class Handler implements IMessageHandler { + + @Override + public IMessage onMessage(AuxParticlePacketNT m, MessageContext ctx) { + + if(Minecraft.getMinecraft().theWorld == null) + return null; + + if(m.nbt != null) + MainRegistry.proxy.effectNT(m.nbt); + + m.buffer.release(); + + return null; + } + } +} diff --git a/src/main/java/com/hbm/packet/toclient/BiomeSyncPacket.java b/src/main/java/com/hbm/packet/toclient/BiomeSyncPacket.java new file mode 100644 index 000000000..aee64d099 --- /dev/null +++ b/src/main/java/com/hbm/packet/toclient/BiomeSyncPacket.java @@ -0,0 +1,133 @@ +package com.hbm.packet.toclient; + +import cpw.mods.fml.common.Loader; +import com.hbm.util.Compat; +import com.hbm.world.WorldUtil; + +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.client.Minecraft; +import net.minecraft.world.World; +import net.minecraft.world.chunk.Chunk; + +public class BiomeSyncPacket implements IMessage { + + int chunkX; + int chunkZ; + byte blockX; + byte blockZ; + short biome; + short[] biomeArray; + + public BiomeSyncPacket() { } + + public BiomeSyncPacket(int chunkX, int chunkZ, byte[] biomeArray) { + this(chunkX, chunkZ, bytesToShorts(biomeArray)); + } + + public BiomeSyncPacket(int blockX, int blockZ, byte biome) { + this(blockX, blockZ, (short) biome); + } + + public BiomeSyncPacket(int chunkX, int chunkZ, short[] biomeArray) { + this.chunkX = chunkX; + this.chunkZ = chunkZ; + this.biomeArray = biomeArray; + } + + public BiomeSyncPacket(int blockX, int blockZ, short biome) { + this.chunkX = blockX >> 4; + this.chunkZ = blockZ >> 4; + this.blockX = (byte) (blockX & 15); + this.blockZ = (byte) (blockZ & 15); + this.biome = biome; + } + + @Override + public void toBytes(ByteBuf buf) { + buf.writeInt(this.chunkX); + buf.writeInt(this.chunkZ); + + if(this.biomeArray == null) { + buf.writeBoolean(false); + buf.writeShort(this.biome); + buf.writeByte(this.blockX); + buf.writeByte(this.blockZ); + } else { + buf.writeBoolean(true); + for(int i = 0; i < 256; i++) { + buf.writeShort(this.biomeArray[i]); + } + } + } + + @Override + public void fromBytes(ByteBuf buf) { + this.chunkX = buf.readInt(); + this.chunkZ = buf.readInt(); + + if(!buf.readBoolean()) { + this.biome = buf.readShort(); + this.blockX = buf.readByte(); + this.blockZ = buf.readByte(); + } else { + this.biomeArray = new short[256]; + for(int i = 0; i < 256; i++) { + this.biomeArray[i] = buf.readShort(); + } + } + } + + private final static short[] bytesToShorts(byte[] byteArray) { + int size = byteArray.length; + short[] shortArray = new short[size]; + + for(int index = 0; index < size; index++) + shortArray[index] = (short) byteArray[index]; + + return shortArray; + } + + public static class Handler implements IMessageHandler { + + @Override + @SideOnly(Side.CLIENT) + public IMessage onMessage(BiomeSyncPacket m, MessageContext ctx) { + + World world = Minecraft.getMinecraft().theWorld; + if(!world.getChunkProvider().chunkExists(m.chunkX, m.chunkZ)) return null; + Chunk chunk = world.getChunkFromChunkCoords(m.chunkX, m.chunkZ); + chunk.isModified = true; + + if(Loader.isModLoaded(Compat.MOD_EIDS)) { + short[] target = WorldUtil.getBiomeShortArray(chunk); + if(m.biomeArray == null) { + target[(m.blockZ & 15) << 4 | m.blockX & 15] = m.biome; + world.markBlockRangeForRenderUpdate(m.chunkX << 4, 0, m.chunkZ << 4, m.chunkX << 4, 255, m.chunkZ << 4); + } else { + for(int i = 0; i < 255; ++i) { + target[i] = m.biomeArray[i]; + world.markBlockRangeForRenderUpdate(m.chunkX << 4, 0, m.chunkZ << 4, (m.chunkX << 4) + 15, 255, (m.chunkZ << 4) + 15); + } + } + } else { + byte[] target = chunk.getBiomeArray(); + if(m.biomeArray == null) { + target[(m.blockZ & 15) << 4 | (m.blockX & 15)] = (byte) m.biome; + world.markBlockRangeForRenderUpdate(m.chunkX << 4, 0, m.chunkZ << 4, m.chunkX << 4, 255, m.chunkZ << 4); + } else { + for(int i = 0; i < 256; i++) { + target[i] = (byte) m.biomeArray[i]; + world.markBlockRangeForRenderUpdate(m.chunkX << 4, 0, m.chunkZ << 4, (m.chunkX << 4) + 15, 255, (m.chunkZ << 4) + 15); + } + } + } + + return null; + } + } +} diff --git a/src/main/java/com/hbm/packet/toclient/BufPacket.java b/src/main/java/com/hbm/packet/toclient/BufPacket.java new file mode 100644 index 000000000..fc0c14410 --- /dev/null +++ b/src/main/java/com/hbm/packet/toclient/BufPacket.java @@ -0,0 +1,72 @@ +package com.hbm.packet.toclient; + +import com.hbm.main.MainRegistry; +import com.hbm.packet.threading.PrecompiledPacket; +import com.hbm.tileentity.IBufPacketReceiver; + +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import io.netty.buffer.ByteBuf; +import net.minecraft.client.Minecraft; +import net.minecraft.tileentity.TileEntity; + +public class BufPacket extends PrecompiledPacket { + + int x; + int y; + int z; + IBufPacketReceiver rec; + ByteBuf buf; + + public BufPacket() { } + + public BufPacket(int x, int y, int z, IBufPacketReceiver rec) { + this.x = x; + this.y = y; + this.z = z; + this.rec = rec; + } + + @Override + public void fromBytes(ByteBuf buf) { + this.x = buf.readInt(); + this.y = buf.readInt(); + this.z = buf.readInt(); + this.buf = buf; + } + + @Override + public void toBytes(ByteBuf buf) { + buf.writeInt(x); + buf.writeInt(y); + buf.writeInt(z); + this.rec.serialize(buf); + } + + public static class Handler implements IMessageHandler { + + @Override + public IMessage onMessage(BufPacket m, MessageContext ctx) { + + if(Minecraft.getMinecraft().theWorld == null) + return null; + + TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); + + if (te instanceof IBufPacketReceiver) { + try { + ((IBufPacketReceiver) te).deserialize(m.buf); + } catch(Exception e) { // just in case I fucked up + MainRegistry.logger.warn("A ByteBuf packet failed to be read and has thrown an error. This normally means that there was a buffer underflow and more data was read than was actually in the packet."); + MainRegistry.logger.warn("Tile: {}", te.getBlockType().getUnlocalizedName()); + MainRegistry.logger.warn(e.getMessage()); + } finally { + m.buf.release(); + } + } + + return null; + } + } +} diff --git a/src/main/java/com/hbm/packet/ExplosionKnockbackPacket.java b/src/main/java/com/hbm/packet/toclient/ExplosionKnockbackPacket.java similarity index 97% rename from src/main/java/com/hbm/packet/ExplosionKnockbackPacket.java rename to src/main/java/com/hbm/packet/toclient/ExplosionKnockbackPacket.java index 9d0aa99c2..0a4972bfe 100644 --- a/src/main/java/com/hbm/packet/ExplosionKnockbackPacket.java +++ b/src/main/java/com/hbm/packet/toclient/ExplosionKnockbackPacket.java @@ -1,4 +1,4 @@ -package com.hbm.packet; +package com.hbm.packet.toclient; import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; diff --git a/src/main/java/com/hbm/packet/ExplosionVanillaNewTechnologyCompressedAffectedBlockPositionDataForClientEffectsAndParticleHandlingPacket.java b/src/main/java/com/hbm/packet/toclient/ExplosionVanillaNewTechnologyCompressedAffectedBlockPositionDataForClientEffectsAndParticleHandlingPacket.java similarity index 97% rename from src/main/java/com/hbm/packet/ExplosionVanillaNewTechnologyCompressedAffectedBlockPositionDataForClientEffectsAndParticleHandlingPacket.java rename to src/main/java/com/hbm/packet/toclient/ExplosionVanillaNewTechnologyCompressedAffectedBlockPositionDataForClientEffectsAndParticleHandlingPacket.java index c8300a0da..e11d45dc4 100644 --- a/src/main/java/com/hbm/packet/ExplosionVanillaNewTechnologyCompressedAffectedBlockPositionDataForClientEffectsAndParticleHandlingPacket.java +++ b/src/main/java/com/hbm/packet/toclient/ExplosionVanillaNewTechnologyCompressedAffectedBlockPositionDataForClientEffectsAndParticleHandlingPacket.java @@ -1,10 +1,11 @@ -package com.hbm.packet; +package com.hbm.packet.toclient; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import com.hbm.explosion.vanillant.standard.ExplosionEffectStandard; +import com.hbm.interfaces.NotableComments; import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; @@ -20,6 +21,7 @@ import net.minecraft.world.ChunkPosition; * @author hbm * */ +@NotableComments public class ExplosionVanillaNewTechnologyCompressedAffectedBlockPositionDataForClientEffectsAndParticleHandlingPacket implements IMessage { private double posX; diff --git a/src/main/java/com/hbm/packet/toclient/ExtPropPacket.java b/src/main/java/com/hbm/packet/toclient/ExtPropPacket.java new file mode 100644 index 000000000..9d784ac6d --- /dev/null +++ b/src/main/java/com/hbm/packet/toclient/ExtPropPacket.java @@ -0,0 +1,59 @@ +package com.hbm.packet.toclient; + +import com.hbm.extprop.HbmLivingProps; +import com.hbm.extprop.HbmPlayerProps; + +import com.hbm.packet.threading.PrecompiledPacket; +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.client.Minecraft; + +public class ExtPropPacket extends PrecompiledPacket { + + HbmLivingProps props; + HbmPlayerProps pprps; + ByteBuf buf; + + public ExtPropPacket() { } + + public ExtPropPacket(HbmLivingProps props, HbmPlayerProps pprps) { + this.props = props; + this.pprps = pprps; + } + + @Override + public void fromBytes(ByteBuf buf) { + this.buf = buf; + } + + @Override + public void toBytes(ByteBuf buf) { + props.serialize(buf); + pprps.serialize(buf); + } + + public static class Handler implements IMessageHandler { + + @Override + @SideOnly(Side.CLIENT) + public IMessage onMessage(ExtPropPacket m, MessageContext ctx) { + + if(Minecraft.getMinecraft().theWorld == null) + return null; + + HbmLivingProps props = HbmLivingProps.getData(Minecraft.getMinecraft().thePlayer); + HbmPlayerProps pprps = HbmPlayerProps.getData(Minecraft.getMinecraft().thePlayer); + + props.deserialize(m.buf); + pprps.deserialize(m.buf); + + m.buf.release(); + + return null; + } + } +} diff --git a/src/main/java/com/hbm/packet/toclient/GunAnimationPacket.java b/src/main/java/com/hbm/packet/toclient/GunAnimationPacket.java new file mode 100644 index 000000000..f8fcf3495 --- /dev/null +++ b/src/main/java/com/hbm/packet/toclient/GunAnimationPacket.java @@ -0,0 +1,124 @@ +package com.hbm.packet.toclient; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; + +import com.hbm.items.armor.ArmorTrenchmaster; +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.Receiver; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.HbmAnimations; +import com.hbm.render.anim.HbmAnimations.AnimType; +import com.hbm.render.anim.HbmAnimations.Animation; + +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; + +public class GunAnimationPacket implements IMessage { + + public short type; + public int receiverIndex; + public int gunIndex; + + public GunAnimationPacket() { } + + public GunAnimationPacket(int type) { + this.type = (short) type; + this.receiverIndex = 0; + this.gunIndex = 0; + } + + public GunAnimationPacket(int type, int rec) { + this.type = (short) type; + this.receiverIndex = rec; + this.gunIndex = 0; + } + + public GunAnimationPacket(int type, int rec, int gun) { + this.type = (short) type; + this.receiverIndex = rec; + this.gunIndex = gun; + } + + @Override + public void fromBytes(ByteBuf buf) { + type = buf.readShort(); + receiverIndex = buf.readInt(); + gunIndex = buf.readInt(); + } + + @Override + public void toBytes(ByteBuf buf) { + buf.writeShort(type); + buf.writeInt(receiverIndex); + buf.writeInt(gunIndex); + } + + public static class Handler implements IMessageHandler { + + @Override + @SideOnly(Side.CLIENT) + public IMessage onMessage(GunAnimationPacket m, MessageContext ctx) { + + try { + + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + ItemStack stack = player.getHeldItem(); + int slot = player.inventory.currentItem; + + if(stack == null) return null; + + if(stack.getItem() instanceof ItemGunBaseNT) { + handleSedna(player, stack, slot, AnimType.values()[m.type], m.receiverIndex, m.gunIndex); + } + + } catch(Exception x) { } + + return null; + } + + public static void handleSedna(EntityPlayer player, ItemStack stack, int slot, AnimType type, int receiverIndex, int gunIndex) { + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + GunConfig config = gun.getConfig(stack, gunIndex); + + if(type == AnimType.CYCLE) { + if(gunIndex < gun.lastShot.length) gun.lastShot[gunIndex] = System.currentTimeMillis(); + gun.shotRand = player.worldObj.rand.nextDouble(); + + Receiver[] receivers = config.getReceivers(stack); + if(receiverIndex >= 0 && receiverIndex < receivers.length) { + Receiver rec = receivers[receiverIndex]; + BiConsumer onRecoil= rec.getRecoil(stack); + if(onRecoil != null) onRecoil.accept(stack, new LambdaContext(config, player, player.inventory, receiverIndex)); + } + } + + BiFunction anims = config.getAnims(stack); + BusAnimation animation = anims.apply(stack, type); + + if(animation == null && type == AnimType.RELOAD_EMPTY) { + animation = anims.apply(stack, AnimType.RELOAD); + } + if(animation == null && (type == AnimType.ALT_CYCLE || type == AnimType.CYCLE_EMPTY)) { + animation = anims.apply(stack, AnimType.CYCLE); + } + + if(animation != null) { + Minecraft.getMinecraft().entityRenderer.itemRenderer.resetEquippedProgress(); + Minecraft.getMinecraft().entityRenderer.itemRenderer.itemToRender = stack; + boolean isReloadAnimation = type == AnimType.RELOAD || type == AnimType.RELOAD_CYCLE || type == AnimType.RELOAD_EMPTY; + if(isReloadAnimation && ArmorTrenchmaster.isTrenchMaster(player)) animation.setTimeMult(0.5D); + HbmAnimations.hotbar[slot][gunIndex] = new Animation(stack.getItem().getUnlocalizedName(), System.currentTimeMillis(), animation, type, isReloadAnimation && config.getReloadAnimSequential(stack)); + } + } + } +} diff --git a/src/main/java/com/hbm/packet/ParticleBurstPacket.java b/src/main/java/com/hbm/packet/toclient/ParticleBurstPacket.java similarity index 97% rename from src/main/java/com/hbm/packet/ParticleBurstPacket.java rename to src/main/java/com/hbm/packet/toclient/ParticleBurstPacket.java index c6b58a8b7..6be55c831 100644 --- a/src/main/java/com/hbm/packet/ParticleBurstPacket.java +++ b/src/main/java/com/hbm/packet/toclient/ParticleBurstPacket.java @@ -1,4 +1,4 @@ -package com.hbm.packet; +package com.hbm.packet.toclient; import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; diff --git a/src/main/java/com/hbm/packet/PermaSyncPacket.java b/src/main/java/com/hbm/packet/toclient/PermaSyncPacket.java similarity index 89% rename from src/main/java/com/hbm/packet/PermaSyncPacket.java rename to src/main/java/com/hbm/packet/toclient/PermaSyncPacket.java index 2415e3696..f756d9f3e 100644 --- a/src/main/java/com/hbm/packet/PermaSyncPacket.java +++ b/src/main/java/com/hbm/packet/toclient/PermaSyncPacket.java @@ -1,4 +1,6 @@ -package com.hbm.packet; +package com.hbm.packet.toclient; + +import com.hbm.packet.PermaSyncHandler; import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; @@ -11,7 +13,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; public class PermaSyncPacket implements IMessage { - + EntityPlayerMP player; //server only, for writing ByteBuf out; //client only, for reading @@ -32,18 +34,20 @@ public class PermaSyncPacket implements IMessage { } public static class Handler implements IMessageHandler { - + @Override @SideOnly(Side.CLIENT) public IMessage onMessage(PermaSyncPacket m, MessageContext ctx) { - + try { EntityPlayer player = Minecraft.getMinecraft().thePlayer; if(player != null) PermaSyncHandler.readPacket(m.out, player.worldObj, player); - - } catch(Exception x) { } - + + } catch(Exception x) { } finally { + m.out.release(); + } + return null; } } diff --git a/src/main/java/com/hbm/packet/PlayerInformPacket.java b/src/main/java/com/hbm/packet/toclient/PlayerInformPacket.java similarity index 98% rename from src/main/java/com/hbm/packet/PlayerInformPacket.java rename to src/main/java/com/hbm/packet/toclient/PlayerInformPacket.java index 01bb8b599..0cdb23d20 100644 --- a/src/main/java/com/hbm/packet/PlayerInformPacket.java +++ b/src/main/java/com/hbm/packet/toclient/PlayerInformPacket.java @@ -1,4 +1,4 @@ -package com.hbm.packet; +package com.hbm.packet.toclient; import com.hbm.main.MainRegistry; diff --git a/src/main/java/com/hbm/packet/SatPanelPacket.java b/src/main/java/com/hbm/packet/toclient/SatPanelPacket.java similarity index 95% rename from src/main/java/com/hbm/packet/SatPanelPacket.java rename to src/main/java/com/hbm/packet/toclient/SatPanelPacket.java index 89252d7e1..e3b815808 100644 --- a/src/main/java/com/hbm/packet/SatPanelPacket.java +++ b/src/main/java/com/hbm/packet/toclient/SatPanelPacket.java @@ -1,4 +1,4 @@ -package com.hbm.packet; +package com.hbm.packet.toclient; import java.io.IOException; @@ -17,7 +17,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.PacketBuffer; public class SatPanelPacket implements IMessage { - + PacketBuffer buffer; int type; @@ -31,10 +31,10 @@ public class SatPanelPacket implements IMessage { this.buffer = new PacketBuffer(Unpooled.buffer()); NBTTagCompound nbt = new NBTTagCompound(); sat.writeToNBT(nbt); - + try { buffer.writeNBTTagCompoundToBuffer(nbt); - + } catch (IOException e) { e.printStackTrace(); } @@ -42,9 +42,9 @@ public class SatPanelPacket implements IMessage { @Override public void fromBytes(ByteBuf buf) { - + type = buf.readInt(); - + if (buffer == null) { buffer = new PacketBuffer(Unpooled.buffer()); } @@ -53,9 +53,9 @@ public class SatPanelPacket implements IMessage { @Override public void toBytes(ByteBuf buf) { - + buf.writeInt(type); - + if (buffer == null) { buffer = new PacketBuffer(Unpooled.buffer()); } @@ -67,18 +67,20 @@ public class SatPanelPacket implements IMessage { @Override @SideOnly(Side.CLIENT) public IMessage onMessage(SatPanelPacket m, MessageContext ctx) { - + Minecraft.getMinecraft(); try { - + NBTTagCompound nbt = m.buffer.readNBTTagCompoundFromBuffer(); ItemSatInterface.currentSat = Satellite.create(m.type); - + if(nbt != null) ItemSatInterface.currentSat.readFromNBT(nbt); - + } catch (Exception x) { + } finally { + m.buffer.release(); } return null; } diff --git a/src/main/java/com/hbm/packet/toclient/SerializableRecipePacket.java b/src/main/java/com/hbm/packet/toclient/SerializableRecipePacket.java new file mode 100644 index 000000000..7992d9163 --- /dev/null +++ b/src/main/java/com/hbm/packet/toclient/SerializableRecipePacket.java @@ -0,0 +1,76 @@ +package com.hbm.packet.toclient; + +import java.io.*; +import java.nio.file.Files; + +import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.util.BufferUtil; + +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; + +public class SerializableRecipePacket implements IMessage { + + private String filename; + private byte[] fileBytes; + + private boolean reinit; + + public SerializableRecipePacket() {} + + public SerializableRecipePacket(File recipeFile) { + try { + filename = recipeFile.getName(); + fileBytes = Files.readAllBytes(recipeFile.toPath()); + } catch(IOException ex) {} + } + + public SerializableRecipePacket(boolean reinit) { + this.reinit = reinit; + } + + @Override + public void fromBytes(ByteBuf buf) { + reinit = buf.readBoolean(); + if(reinit) return; + + filename = BufferUtil.readString(buf); + fileBytes = new byte[buf.readInt()]; + buf.readBytes(fileBytes); + } + + @Override + public void toBytes(ByteBuf buf) { + buf.writeBoolean(reinit); + if(reinit) return; + + BufferUtil.writeString(buf, filename); + buf.writeInt(fileBytes.length); + buf.writeBytes(fileBytes); + } + + public static class Handler implements IMessageHandler { + + @Override + @SideOnly(Side.CLIENT) + public IMessage onMessage(SerializableRecipePacket m, MessageContext ctx) { + try { + + // Only reinitialize after receiving all recipes + if(m.reinit) { + SerializableRecipe.initialize(); + return null; + } + + SerializableRecipe.receiveRecipes(m.filename, m.fileBytes); + + } catch (Exception x) { } + return null; + } + } + +} diff --git a/src/main/java/com/hbm/packet/TEFFPacket.java b/src/main/java/com/hbm/packet/toclient/TEFFPacket.java similarity index 98% rename from src/main/java/com/hbm/packet/TEFFPacket.java rename to src/main/java/com/hbm/packet/toclient/TEFFPacket.java index 4549dfc11..26de5bd91 100644 --- a/src/main/java/com/hbm/packet/TEFFPacket.java +++ b/src/main/java/com/hbm/packet/toclient/TEFFPacket.java @@ -1,4 +1,4 @@ -package com.hbm.packet; +package com.hbm.packet.toclient; import com.hbm.tileentity.machine.TileEntityForceField; import cpw.mods.fml.common.network.simpleimpl.IMessage; diff --git a/src/main/java/com/hbm/packet/TEMissileMultipartPacket.java b/src/main/java/com/hbm/packet/toclient/TEMissileMultipartPacket.java similarity index 98% rename from src/main/java/com/hbm/packet/TEMissileMultipartPacket.java rename to src/main/java/com/hbm/packet/toclient/TEMissileMultipartPacket.java index 9bf955906..e25d5bbac 100644 --- a/src/main/java/com/hbm/packet/TEMissileMultipartPacket.java +++ b/src/main/java/com/hbm/packet/toclient/TEMissileMultipartPacket.java @@ -1,4 +1,4 @@ -package com.hbm.packet; +package com.hbm.packet.toclient; import com.hbm.handler.MissileStruct; import com.hbm.tileentity.bomb.TileEntityCompactLauncher; diff --git a/src/main/java/com/hbm/packet/TESirenPacket.java b/src/main/java/com/hbm/packet/toclient/TESirenPacket.java similarity index 98% rename from src/main/java/com/hbm/packet/TESirenPacket.java rename to src/main/java/com/hbm/packet/toclient/TESirenPacket.java index bdd3d0ea0..8e6f79825 100644 --- a/src/main/java/com/hbm/packet/TESirenPacket.java +++ b/src/main/java/com/hbm/packet/toclient/TESirenPacket.java @@ -1,4 +1,4 @@ -package com.hbm.packet; +package com.hbm.packet.toclient; import com.hbm.items.machine.ItemCassette.SoundType; import com.hbm.items.machine.ItemCassette.TrackType; diff --git a/src/main/java/com/hbm/packet/TEVaultPacket.java b/src/main/java/com/hbm/packet/toclient/TEVaultPacket.java similarity index 98% rename from src/main/java/com/hbm/packet/TEVaultPacket.java rename to src/main/java/com/hbm/packet/toclient/TEVaultPacket.java index 2b0139e92..84721d0b9 100644 --- a/src/main/java/com/hbm/packet/TEVaultPacket.java +++ b/src/main/java/com/hbm/packet/toclient/TEVaultPacket.java @@ -1,4 +1,4 @@ -package com.hbm.packet; +package com.hbm.packet.toclient; import com.hbm.tileentity.machine.TileEntityBlastDoor; import com.hbm.tileentity.machine.TileEntityVaultDoor; diff --git a/src/main/java/com/hbm/packet/AnvilCraftPacket.java b/src/main/java/com/hbm/packet/toserver/AnvilCraftPacket.java similarity index 98% rename from src/main/java/com/hbm/packet/AnvilCraftPacket.java rename to src/main/java/com/hbm/packet/toserver/AnvilCraftPacket.java index d8b1049a4..1a33e48a6 100644 --- a/src/main/java/com/hbm/packet/AnvilCraftPacket.java +++ b/src/main/java/com/hbm/packet/toserver/AnvilCraftPacket.java @@ -1,4 +1,4 @@ -package com.hbm.packet; +package com.hbm.packet.toserver; import com.hbm.inventory.container.ContainerAnvil; import com.hbm.inventory.recipes.anvil.AnvilRecipes; diff --git a/src/main/java/com/hbm/packet/AuxButtonPacket.java b/src/main/java/com/hbm/packet/toserver/AuxButtonPacket.java similarity index 99% rename from src/main/java/com/hbm/packet/AuxButtonPacket.java rename to src/main/java/com/hbm/packet/toserver/AuxButtonPacket.java index c80dfd5ef..7f41feeb1 100644 --- a/src/main/java/com/hbm/packet/AuxButtonPacket.java +++ b/src/main/java/com/hbm/packet/toserver/AuxButtonPacket.java @@ -1,4 +1,4 @@ -package com.hbm.packet; +package com.hbm.packet.toserver; import com.hbm.config.MobConfig; import com.hbm.entity.mob.EntityDuck; diff --git a/src/main/java/com/hbm/packet/ItemBobmazonPacket.java b/src/main/java/com/hbm/packet/toserver/ItemBobmazonPacket.java similarity index 76% rename from src/main/java/com/hbm/packet/ItemBobmazonPacket.java rename to src/main/java/com/hbm/packet/toserver/ItemBobmazonPacket.java index c665f8891..712dc766e 100644 --- a/src/main/java/com/hbm/packet/ItemBobmazonPacket.java +++ b/src/main/java/com/hbm/packet/toserver/ItemBobmazonPacket.java @@ -1,4 +1,4 @@ -package com.hbm.packet; +package com.hbm.packet.toserver; import java.util.Random; @@ -24,21 +24,11 @@ public class ItemBobmazonPacket implements IMessage { int offer; - public ItemBobmazonPacket() - { - - } + public ItemBobmazonPacket() { } - public ItemBobmazonPacket(EntityPlayer player, Offer offer) - { - if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.bobmazon_materials) - this.offer = BobmazonOfferFactory.materials.indexOf(offer); - if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.bobmazon_machines) - this.offer = BobmazonOfferFactory.machines.indexOf(offer); - if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.bobmazon_weapons) - this.offer = BobmazonOfferFactory.weapons.indexOf(offer); - if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.bobmazon_tools) - this.offer = BobmazonOfferFactory.tools.indexOf(offer); + public ItemBobmazonPacket(EntityPlayer player, Offer offer) { + if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.bobmazon) + this.offer = BobmazonOfferFactory.standard.indexOf(offer); if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.bobmazon_hidden) this.offer = BobmazonOfferFactory.special.indexOf(offer); } @@ -62,16 +52,8 @@ public class ItemBobmazonPacket implements IMessage { World world = p.worldObj; Offer offer = null; - if(p.getHeldItem() != null && p.getHeldItem().getItem() == ModItems.bobmazon_materials) - offer = BobmazonOfferFactory.materials.get(m.offer); - if(p.getHeldItem() != null && p.getHeldItem().getItem() == ModItems.bobmazon_machines) - offer = BobmazonOfferFactory.machines.get(m.offer); - if(p.getHeldItem() != null && p.getHeldItem().getItem() == ModItems.bobmazon_weapons) - offer = BobmazonOfferFactory.weapons.get(m.offer); - if(p.getHeldItem() != null && p.getHeldItem().getItem() == ModItems.bobmazon_tools) - offer = BobmazonOfferFactory.tools.get(m.offer); - if(p.getHeldItem() != null && p.getHeldItem().getItem() == ModItems.bobmazon_hidden) - offer = BobmazonOfferFactory.special.get(m.offer); + if(p.getHeldItem() != null && p.getHeldItem().getItem() == ModItems.bobmazon) offer = BobmazonOfferFactory.standard.get(m.offer); + if(p.getHeldItem() != null && p.getHeldItem().getItem() == ModItems.bobmazon_hidden) offer = BobmazonOfferFactory.special.get(m.offer); if(offer == null) { p.addChatMessage(new ChatComponentText("[BOBMAZON] There appears to be a mismatch between the offer you have requested and the offers that exist.")); diff --git a/src/main/java/com/hbm/packet/ItemDesignatorPacket.java b/src/main/java/com/hbm/packet/toserver/ItemDesignatorPacket.java similarity index 98% rename from src/main/java/com/hbm/packet/ItemDesignatorPacket.java rename to src/main/java/com/hbm/packet/toserver/ItemDesignatorPacket.java index 126325b16..8acdcc808 100644 --- a/src/main/java/com/hbm/packet/ItemDesignatorPacket.java +++ b/src/main/java/com/hbm/packet/toserver/ItemDesignatorPacket.java @@ -1,4 +1,4 @@ -package com.hbm.packet; +package com.hbm.packet.toserver; import com.hbm.items.ModItems; diff --git a/src/main/java/com/hbm/packet/ItemFolderPacket.java b/src/main/java/com/hbm/packet/toserver/ItemFolderPacket.java similarity index 99% rename from src/main/java/com/hbm/packet/ItemFolderPacket.java rename to src/main/java/com/hbm/packet/toserver/ItemFolderPacket.java index 7f70ce19a..e6258ba19 100644 --- a/src/main/java/com/hbm/packet/ItemFolderPacket.java +++ b/src/main/java/com/hbm/packet/toserver/ItemFolderPacket.java @@ -1,4 +1,4 @@ -package com.hbm.packet; +package com.hbm.packet.toserver; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.recipes.AssemblerRecipes; diff --git a/src/main/java/com/hbm/packet/KeybindPacket.java b/src/main/java/com/hbm/packet/toserver/KeybindPacket.java similarity index 84% rename from src/main/java/com/hbm/packet/KeybindPacket.java rename to src/main/java/com/hbm/packet/toserver/KeybindPacket.java index 3b3f2a80c..94aac041d 100644 --- a/src/main/java/com/hbm/packet/KeybindPacket.java +++ b/src/main/java/com/hbm/packet/toserver/KeybindPacket.java @@ -1,7 +1,7 @@ -package com.hbm.packet; +package com.hbm.packet.toserver; -import com.hbm.extprop.HbmPlayerProps; import com.hbm.handler.HbmKeybinds.EnumKeybind; +import com.hbm.handler.HbmKeybindsServer; import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; @@ -39,10 +39,7 @@ public class KeybindPacket implements IMessage { public IMessage onMessage(KeybindPacket m, MessageContext ctx) { EntityPlayer p = ctx.getServerHandler().playerEntity; - HbmPlayerProps props = HbmPlayerProps.getData(p); - - props.setKeyPressed(EnumKeybind.values()[m.key], m.pressed); - + HbmKeybindsServer.onPressedServer(p, EnumKeybind.values()[m.key], m.pressed); return null; } } diff --git a/src/main/java/com/hbm/packet/NBTControlPacket.java b/src/main/java/com/hbm/packet/toserver/NBTControlPacket.java similarity index 95% rename from src/main/java/com/hbm/packet/NBTControlPacket.java rename to src/main/java/com/hbm/packet/toserver/NBTControlPacket.java index 226b3eae1..6a2a58c16 100644 --- a/src/main/java/com/hbm/packet/NBTControlPacket.java +++ b/src/main/java/com/hbm/packet/toserver/NBTControlPacket.java @@ -1,4 +1,4 @@ -package com.hbm.packet; +package com.hbm.packet.toserver; import java.io.IOException; @@ -15,7 +15,7 @@ import net.minecraft.network.PacketBuffer; import net.minecraft.tileentity.TileEntity; public class NBTControlPacket implements IMessage { - + PacketBuffer buffer; int x; int y; @@ -24,12 +24,12 @@ public class NBTControlPacket implements IMessage { public NBTControlPacket() { } public NBTControlPacket(NBTTagCompound nbt, int x, int y, int z) { - + this.buffer = new PacketBuffer(Unpooled.buffer()); this.x = x; this.y = y; this.z = z; - + try { buffer.writeNBTTagCompoundToBuffer(nbt); } catch (IOException e) { @@ -39,60 +39,62 @@ public class NBTControlPacket implements IMessage { @Override public void fromBytes(ByteBuf buf) { - + x = buf.readInt(); y = buf.readInt(); z = buf.readInt(); - + if(buffer == null) buffer = new PacketBuffer(Unpooled.buffer()); - + buffer.writeBytes(buf); } @Override public void toBytes(ByteBuf buf) { - + buf.writeInt(x); buf.writeInt(y); buf.writeInt(z); - + if (buffer == null) buffer = new PacketBuffer(Unpooled.buffer()); - + buf.writeBytes(buffer); } public static class Handler implements IMessageHandler { - + @Override public IMessage onMessage(NBTControlPacket m, MessageContext ctx) { EntityPlayer p = ctx.getServerHandler().playerEntity; - + if(p.worldObj == null) return null; - + TileEntity te = p.worldObj.getTileEntity(m.x, m.y, m.z); - + try { - + NBTTagCompound nbt = m.buffer.readNBTTagCompoundFromBuffer(); - + if(nbt != null) { if(te instanceof IControlReceiver) { - + IControlReceiver tile = (IControlReceiver)te; - + if(tile.hasPermission(p)) { tile.receiveControl(p, nbt); tile.receiveControl(nbt); } } } - + } catch (IOException e) { e.printStackTrace(); + } finally { + m.buffer.release(); } - + return null; } } diff --git a/src/main/java/com/hbm/packet/NBTItemControlPacket.java b/src/main/java/com/hbm/packet/toserver/NBTItemControlPacket.java similarity index 95% rename from src/main/java/com/hbm/packet/NBTItemControlPacket.java rename to src/main/java/com/hbm/packet/toserver/NBTItemControlPacket.java index 7f03f6894..499617bac 100644 --- a/src/main/java/com/hbm/packet/NBTItemControlPacket.java +++ b/src/main/java/com/hbm/packet/toserver/NBTItemControlPacket.java @@ -1,4 +1,4 @@ -package com.hbm.packet; +package com.hbm.packet.toserver; import java.io.IOException; @@ -15,18 +15,18 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.PacketBuffer; public class NBTItemControlPacket implements IMessage { - + PacketBuffer buffer; public NBTItemControlPacket() { } public NBTItemControlPacket(NBTTagCompound nbt) { - + this.buffer = new PacketBuffer(Unpooled.buffer()); - + try { buffer.writeNBTTagCompoundToBuffer(nbt); - + } catch (IOException e) { e.printStackTrace(); } @@ -34,7 +34,7 @@ public class NBTItemControlPacket implements IMessage { @Override public void fromBytes(ByteBuf buf) { - + if (buffer == null) { buffer = new PacketBuffer(Unpooled.buffer()); } @@ -43,7 +43,7 @@ public class NBTItemControlPacket implements IMessage { @Override public void toBytes(ByteBuf buf) { - + if (buffer == null) { buffer = new PacketBuffer(Unpooled.buffer()); } @@ -51,28 +51,30 @@ public class NBTItemControlPacket implements IMessage { } public static class Handler implements IMessageHandler { - + @Override public IMessage onMessage(NBTItemControlPacket m, MessageContext ctx) { EntityPlayer p = ctx.getServerHandler().playerEntity; - + try { - + NBTTagCompound nbt = m.buffer.readNBTTagCompoundFromBuffer(); - + if(nbt != null) { ItemStack held = p.getHeldItem(); - + if(held != null && held.getItem() instanceof IItemControlReceiver) { ((IItemControlReceiver) held.getItem()).receiveControl(held, nbt); } } - + } catch (IOException e) { e.printStackTrace(); + } finally { + m.buffer.release(); } - + return null; } } diff --git a/src/main/java/com/hbm/packet/SatCoordPacket.java b/src/main/java/com/hbm/packet/toserver/SatCoordPacket.java similarity index 97% rename from src/main/java/com/hbm/packet/SatCoordPacket.java rename to src/main/java/com/hbm/packet/toserver/SatCoordPacket.java index 0d165165d..b36ef3245 100644 --- a/src/main/java/com/hbm/packet/SatCoordPacket.java +++ b/src/main/java/com/hbm/packet/toserver/SatCoordPacket.java @@ -1,4 +1,4 @@ -package com.hbm.packet; +package com.hbm.packet.toserver; import com.hbm.items.ISatChip; import com.hbm.items.tool.ItemSatInterface; diff --git a/src/main/java/com/hbm/packet/SatLaserPacket.java b/src/main/java/com/hbm/packet/toserver/SatLaserPacket.java similarity index 97% rename from src/main/java/com/hbm/packet/SatLaserPacket.java rename to src/main/java/com/hbm/packet/toserver/SatLaserPacket.java index 1dc430a7b..9b0bacea8 100644 --- a/src/main/java/com/hbm/packet/SatLaserPacket.java +++ b/src/main/java/com/hbm/packet/toserver/SatLaserPacket.java @@ -1,4 +1,4 @@ -package com.hbm.packet; +package com.hbm.packet.toserver; import com.hbm.items.ISatChip; import com.hbm.items.tool.ItemSatInterface; diff --git a/src/main/java/com/hbm/particle/EntityFXRotating.java b/src/main/java/com/hbm/particle/EntityFXRotating.java new file mode 100644 index 000000000..0c05cd9ca --- /dev/null +++ b/src/main/java/com/hbm/particle/EntityFXRotating.java @@ -0,0 +1,72 @@ +package com.hbm.particle; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.particle.EntityFX; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +@SideOnly(Side.CLIENT) +public class EntityFXRotating extends EntityFX { + + protected EntityFXRotating(World world, double x, double y, double z) { + super(world, x, y, z); + } + + @Override + public int getFXLayer() { + return 1; + } + + public void renderParticleRotated(Tessellator tess, float interp, float sX, float sY, float sZ, float dX, float dZ, double scale) { + + float pX = (float) (this.prevPosX + (this.posX - this.prevPosX) * (double) interp - interpPosX); + float pY = (float) (this.prevPosY + (this.posY - this.prevPosY) * (double) interp - interpPosY); + float pZ = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * (double) interp - interpPosZ); + float rotation = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * interp; + + double x1 = 0 - sX * scale - dX * scale; + double y1 = 0 - sY * scale; + double z1 = 0 - sZ * scale - dZ * scale; + double x2 = 0 - sX * scale + dX * scale; + double y2 = 0 + sY * scale; + double z2 = 0 - sZ * scale + dZ * scale; + double x3 = 0 + sX * scale + dX * scale; + double y3 = 0 + sY * scale; + double z3 = 0 + sZ * scale + dZ * scale; + double x4 = 0 + sX * scale - dX * scale; + double y4 = 0 - sY * scale; + double z4 = 0 + sZ * scale - dZ * scale; + + double nX = ((y2 - y1) * (z3 - z1)) - ((z2 - z1) * (y3 - y1)); + double nY = ((z2 - z1) * (x3 - x1)) - ((x2 - x1) * (z3 - z1)); + double nZ = ((x2 - x1) * (y3 - y1)) - ((y2 - y1) * (x3 - x1)); + + Vec3 vec = Vec3.createVectorHelper(nX, nY, nZ).normalize(); + nX = vec.xCoord; + nY = vec.yCoord; + nZ = vec.zCoord; + + double cosTh = Math.cos(rotation * Math.PI / 180D); + double sinTh = Math.sin(rotation * Math.PI / 180D); + + double x01 = x1 * cosTh + (nY * z1 - nZ * y1) * sinTh; + double y01 = y1 * cosTh + (nZ * x1 - nX * z1) * sinTh; + double z01 = z1 * cosTh + (nX * y1 - nY * x1) * sinTh; + double x02 = x2 * cosTh + (nY * z2 - nZ * y2) * sinTh; + double y02 = y2 * cosTh + (nZ * x2 - nX * z2) * sinTh; + double z02 = z2 * cosTh + (nX * y2 - nY * x2) * sinTh; + double x03 = x3 * cosTh + (nY * z3 - nZ * y3) * sinTh; + double y03 = y3 * cosTh + (nZ * x3 - nX * z3) * sinTh; + double z03 = z3 * cosTh + (nX * y3 - nY * x3) * sinTh; + double x04 = x4 * cosTh + (nY * z4 - nZ * y4) * sinTh; + double y04 = y4 * cosTh + (nZ * x4 - nX * z4) * sinTh; + double z04 = z4 * cosTh + (nX * y4 - nY * x4) * sinTh; + + tess.addVertexWithUV(pX + x01, pY + y01, pZ + z01, particleIcon.getMaxU(), particleIcon.getMaxV()); + tess.addVertexWithUV(pX + x02, pY + y02, pZ + z02, particleIcon.getMaxU(), particleIcon.getMinV()); + tess.addVertexWithUV(pX + x03, pY + y03, pZ + z03, particleIcon.getMinU(), particleIcon.getMinV()); + tess.addVertexWithUV(pX + x04, pY + y04, pZ + z04, particleIcon.getMinU(), particleIcon.getMaxV()); + } +} diff --git a/src/main/java/com/hbm/particle/ParticleAshes.java b/src/main/java/com/hbm/particle/ParticleAshes.java new file mode 100644 index 000000000..4b76c52ac --- /dev/null +++ b/src/main/java/com/hbm/particle/ParticleAshes.java @@ -0,0 +1,87 @@ +package com.hbm.particle; + +import com.hbm.main.ModEventHandlerClient; +import com.hbm.util.Vec3NT; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.world.World; + +@SideOnly(Side.CLIENT) +public class ParticleAshes extends EntityFXRotating { + + public ParticleAshes(World world, double x, double y, double z, float scale) { + super(world, x, y, z); + particleIcon = ModEventHandlerClient.particleBase; + this.particleMaxAge = 1200 + rand.nextInt(20); + this.particleScale = scale * 0.9F + rand.nextFloat() * 0.2F; + + this.particleGravity = 0.01F; + + this.particleRed = this.particleGreen = this.particleBlue = this.rand.nextFloat() * 0.1F + 0.1F; + } + + @Override + public void onUpdate() { + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + + this.particleAge++; + + if(this.particleAge >= this.particleMaxAge) { + this.setDead(); + } + + this.motionY -= particleGravity; + this.prevRotationPitch = this.rotationPitch; + + if(!this.onGround) this.rotationPitch += 2 * ((this.getEntityId() % 2) - 0.5); + + this.motionX *= 0.95D; + this.motionY *= 0.99D; + this.motionZ *= 0.95D; + + boolean wasOnGround = this.onGround; + this.moveEntity(this.motionX, this.motionY, this.motionZ); + if(!wasOnGround && this.onGround) this.rotationPitch = rand.nextFloat() * 360F; + + if(this.getEntityId() % 5 == 0 && this.onGround && rand.nextInt(15) == 0) { + worldObj.spawnParticle("smoke", posX, posY + 0.125, posZ, 0, 0.05, 0); + } + } + + @Override + public void renderParticle(Tessellator tess, float interp, float sX, float sY, float sZ, float dX, float dZ) { + + float timeLeft = this.particleMaxAge - (this.particleAge + interp); + + if(timeLeft < 40) { + this.particleAlpha = timeLeft / 40F; + } else { + this.particleAlpha = 1F; + } + + tess.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha); + tess.setNormal(0.0F, 1.0F, 0.0F); + + if(this.onGround) { + float pX = (float) (this.prevPosX + (this.posX - this.prevPosX) * (double) interp - interpPosX); + float pY = (float) (this.prevPosY + (this.posY - this.prevPosY) * (double) interp - interpPosY); + float pZ = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * (double) interp - interpPosZ); + + Vec3NT vec = new Vec3NT(particleScale, 0, particleScale).rotateAroundYDeg(this.rotationPitch); + + tess.addVertexWithUV(pX + vec.xCoord, pY + 0.05, pZ + vec.zCoord, particleIcon.getMaxU(), particleIcon.getMaxV()); + vec.rotateAroundYDeg(90); + tess.addVertexWithUV(pX + vec.xCoord, pY + 0.05, pZ + vec.zCoord, particleIcon.getMaxU(), particleIcon.getMinV()); + vec.rotateAroundYDeg(90); + tess.addVertexWithUV(pX + vec.xCoord, pY + 0.05, pZ + vec.zCoord, particleIcon.getMinU(), particleIcon.getMinV()); + vec.rotateAroundYDeg(90); + tess.addVertexWithUV(pX + vec.xCoord, pY + 0.05, pZ + vec.zCoord, particleIcon.getMinU(), particleIcon.getMaxV()); + } else { + renderParticleRotated(tess, interp, sX, sY, sZ, dX, dZ, this.particleScale); + } + } +} diff --git a/src/main/java/com/hbm/particle/ParticleBlackPowderSmoke.java b/src/main/java/com/hbm/particle/ParticleBlackPowderSmoke.java new file mode 100644 index 000000000..9469bac57 --- /dev/null +++ b/src/main/java/com/hbm/particle/ParticleBlackPowderSmoke.java @@ -0,0 +1,78 @@ +package com.hbm.particle; + +import java.awt.Color; + +import com.hbm.main.ModEventHandlerClient; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +@SideOnly(Side.CLIENT) +public class ParticleBlackPowderSmoke extends EntityFXRotating { + + public float hue; + + public ParticleBlackPowderSmoke(World world, double x, double y, double z, float scale) { + super(world, x, y, z); + particleIcon = ModEventHandlerClient.particleBase; + this.particleMaxAge = 30 + rand.nextInt(15); + this.particleScale = scale * 0.9F + rand.nextFloat() * 0.2F; + + this.particleGravity = 0F; + + this.hue = 20F + rand.nextFloat() * 20F; + Color color = Color.getHSBColor(hue / 255F, 1F, 1F); + this.particleRed = color.getRed() / 255F; + this.particleGreen = color.getGreen() / 255F; + this.particleBlue = color.getBlue() / 255F; + + this.noClip = true; + } + + @Override + public void onUpdate() { + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + + this.particleAge++; + + if(this.particleAge >= this.particleMaxAge) { + this.setDead(); + } + + this.motionY -= particleGravity; + this.prevRotationPitch = this.rotationPitch; + + float ageScaled = (float) this.particleAge / (float) this.particleMaxAge; + this.rotationPitch += (1 - ageScaled) * 2 * ((this.getEntityId() % 2) - 0.5); + + this.motionX *= 0.65D; + this.motionY *= 0.65D; + this.motionZ *= 0.65D; + + this.moveEntity(this.motionX, this.motionY, this.motionZ); + } + + @Override + public void renderParticle(Tessellator tess, float interp, float sX, float sY, float sZ, float dX, float dZ) { + + double ageScaled = (double) (this.particleAge + interp) / (double) this.particleMaxAge; + + Color color = Color.getHSBColor(hue / 255F, Math.max(1F - (float) ageScaled * 4F, 0), MathHelper.clamp_float(1.25F - (float) ageScaled * 2F, 0.7F, 1F)); + this.particleRed = color.getRed() / 255F; + this.particleGreen = color.getGreen() / 255F; + this.particleBlue = color.getBlue() / 255F; + + this.particleAlpha = (float) Math.pow(1 - Math.min(ageScaled, 1), 0.25); + + tess.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha * 0.25F); + tess.setNormal(0.0F, 1.0F, 0.0F); + + double scale = (0.25 + ageScaled + (this.particleAge + interp) * 0.025) * this.particleScale; + renderParticleRotated(tess, interp, sX, sY, sZ, dX, dZ, scale); + } +} diff --git a/src/main/java/com/hbm/particle/ParticleBlackPowderSpark.java b/src/main/java/com/hbm/particle/ParticleBlackPowderSpark.java new file mode 100644 index 000000000..7c0e9ea22 --- /dev/null +++ b/src/main/java/com/hbm/particle/ParticleBlackPowderSpark.java @@ -0,0 +1,51 @@ +package com.hbm.particle; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.particle.EntityFX; +import net.minecraft.world.World; + +@SideOnly(Side.CLIENT) +public class ParticleBlackPowderSpark extends EntityFX { + + public ParticleBlackPowderSpark(World world, double x, double y, double z, double mX, double mY, double mZ) { + super(world, x, y, z, mX, mY, mZ); + + this.motionX = mX; + this.motionY = mY; + this.motionZ = mZ; + + float f = this.rand.nextFloat() * 0.1F + 0.2F; + this.particleRed = f + 0.7F; + this.particleGreen = f + 0.5F; + this.particleBlue = f; + this.setParticleTextureIndex(0); + this.setSize(0.02F, 0.02F); + this.particleScale *= this.rand.nextFloat() * 0.6F + 0.5F; + this.particleMaxAge = 15 + this.rand.nextInt(5); + + this.particleGravity = 0.01F; + } + + @Override + public void onUpdate() { + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + this.motionY -= particleGravity; + this.moveEntity(this.motionX, this.motionY, this.motionZ); + this.motionX *= 0.95D; + this.motionY *= 0.95D; + this.motionZ *= 0.95D; + + if(this.particleMaxAge-- <= 0) { + this.setDead(); + } + } + + @Override + @SideOnly(Side.CLIENT) + public int getBrightnessForRender(float interp) { + return 15728880; + } +} diff --git a/src/main/java/com/hbm/particle/ParticleExplosionSmall.java b/src/main/java/com/hbm/particle/ParticleExplosionSmall.java new file mode 100644 index 000000000..18c7158bd --- /dev/null +++ b/src/main/java/com/hbm/particle/ParticleExplosionSmall.java @@ -0,0 +1,80 @@ +package com.hbm.particle; + +import java.awt.Color; + +import com.hbm.main.ModEventHandlerClient; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +@SideOnly(Side.CLIENT) +public class ParticleExplosionSmall extends EntityFXRotating { + + public float hue; + + public ParticleExplosionSmall(World world, double x, double y, double z, float scale, float speedMult) { + super(world, x, y, z); + particleIcon = ModEventHandlerClient.particleBase; + this.particleMaxAge = 25 + rand.nextInt(10); + this.particleScale = scale * 0.9F + rand.nextFloat() * 0.2F; + + this.motionX = world.rand.nextGaussian() * speedMult; + this.motionZ = world.rand.nextGaussian() * speedMult; + + this.particleGravity = rand.nextFloat() * -0.01F; + + this.hue = 20F + rand.nextFloat() * 20F; + Color color = Color.getHSBColor(hue / 255F, 1F, 1F); + this.particleRed = color.getRed() / 255F; + this.particleGreen = color.getGreen() / 255F; + this.particleBlue = color.getBlue() / 255F; + + this.noClip = true; + } + + @Override + public void onUpdate() { + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + + this.particleAge++; + + if(this.particleAge >= this.particleMaxAge) { + this.setDead(); + } + + this.motionY -= particleGravity; + this.prevRotationPitch = this.rotationPitch; + + float ageScaled = (float) this.particleAge / (float) this.particleMaxAge; + this.rotationPitch += (1 - ageScaled) * 5 * ((this.getEntityId() % 2) - 0.5); + + this.motionX *= 0.65D; + this.motionZ *= 0.65D; + + this.moveEntity(this.motionX, this.motionY, this.motionZ); + } + + @Override + public void renderParticle(Tessellator tess, float interp, float sX, float sY, float sZ, float dX, float dZ) { + + double ageScaled = (double) (this.particleAge + interp) / (double) this.particleMaxAge; + + Color color = Color.getHSBColor(hue / 255F, Math.max(1F - (float) ageScaled * 2F, 0), MathHelper.clamp_float(1.25F - (float) ageScaled * 2F, hue * 0.01F - 0.1F, 1F)); + this.particleRed = color.getRed() / 255F; + this.particleGreen = color.getGreen() / 255F; + this.particleBlue = color.getBlue() / 255F; + + this.particleAlpha = (float) Math.pow(1 - Math.min(ageScaled, 1), 0.25); + + tess.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha * 0.5F); + tess.setNormal(0.0F, 1.0F, 0.0F); + + double scale = (0.25 + 1 - Math.pow(1 - ageScaled, 4) + (this.particleAge + interp) * 0.02) * this.particleScale; + renderParticleRotated(tess, interp, sX, sY, sZ, dX, dZ, scale); + } +} diff --git a/src/main/java/com/hbm/particle/ParticleFlamethrower.java b/src/main/java/com/hbm/particle/ParticleFlamethrower.java new file mode 100644 index 000000000..2b665ef28 --- /dev/null +++ b/src/main/java/com/hbm/particle/ParticleFlamethrower.java @@ -0,0 +1,96 @@ +package com.hbm.particle; + +import java.awt.Color; + +import com.hbm.main.ModEventHandlerClient; +import com.hbm.particle.helper.FlameCreator; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.world.World; + +@SideOnly(Side.CLIENT) +public class ParticleFlamethrower extends EntityFXRotating { + + public int type; + + public ParticleFlamethrower(World world, double x, double y, double z, int type) { + super(world, x, y, z); + particleIcon = ModEventHandlerClient.particleBase; + this.particleMaxAge = 20 + rand.nextInt(10); + this.particleScale = 0.5F; + this.type = type; + + this.motionX = world.rand.nextGaussian() * 0.02; + this.motionZ = world.rand.nextGaussian() * 0.02; + + float initialColor = 15F + rand.nextFloat() * 25F; + + if(type == FlameCreator.META_BALEFIRE) initialColor = 65F + rand.nextFloat() * 35F; + if(type == FlameCreator.META_DIGAMMA) initialColor = 0F - rand.nextFloat() * 15F; + + Color color = Color.getHSBColor(initialColor / 255F, 1F, 1F); + this.particleRed = color.getRed() / 255F; + this.particleGreen = color.getGreen() / 255F; + this.particleBlue = color.getBlue() / 255F; + + if(type == FlameCreator.META_OXY) this.particleRed = this.particleGreen = this.particleBlue = 1F; + if(type == FlameCreator.META_BLACK) this.particleRed = this.particleGreen = this.particleBlue = 1F; + } + + @Override + public void onUpdate() { + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + + this.particleAge++; + + if(this.particleAge >= this.particleMaxAge) { + this.setDead(); + } + + this.motionX *= 0.91D; + this.motionY *= 0.91D; + this.motionZ *= 0.91D; + + this.motionY += 0.01D; + this.prevRotationPitch = this.rotationPitch; + this.rotationPitch += 30 * ((this.getEntityId() % 2) - 0.5); + + this.moveEntity(this.motionX, this.motionY, this.motionZ); + } + + @Override + public void renderParticle(Tessellator tess, float interp, float sX, float sY, float sZ, float dX, float dZ) { + + double ageScaled = (double) this.particleAge / (double) this.particleMaxAge; + + if(type == FlameCreator.META_OXY) { + this.particleAlpha = (float) (1 - ageScaled); + float add = (float) ageScaled * 1.25F - 0.25F; + tess.setColorRGBA_F(this.particleRed - add, this.particleGreen - add * 0.75F, this.particleBlue, this.particleAlpha); + } else if(type == FlameCreator.META_BLACK) { + this.particleAlpha = (float) (1 - ageScaled); + float add = (float) ageScaled * 2F - 0.25F; + tess.setColorRGBA_F(this.particleRed - add * 0.75F, this.particleGreen - add, this.particleBlue - add * 0.5F, this.particleAlpha); + } else { + this.particleAlpha = (float) Math.pow(1 - Math.min(ageScaled, 1), 0.5); + float add = 0.75F - (float) ageScaled; + tess.setColorRGBA_F(this.particleRed + add, this.particleGreen + add, this.particleBlue + add, this.particleAlpha * 0.5F); + } + + tess.setNormal(0.0F, 1.0F, 0.0F); + tess.setBrightness(240); + + double scale = (ageScaled * 1.25 + 0.25) * particleScale; + renderParticleRotated(tess, interp, sX, sY, sZ, dX, dZ, scale); + } + + @Override + @SideOnly(Side.CLIENT) + public int getBrightnessForRender(float p_70070_1_) { + return 15728880; + } +} diff --git a/src/main/java/com/hbm/particle/ParticleFoam.java b/src/main/java/com/hbm/particle/ParticleFoam.java new file mode 100644 index 000000000..87d3bf164 --- /dev/null +++ b/src/main/java/com/hbm/particle/ParticleFoam.java @@ -0,0 +1,187 @@ +package com.hbm.particle; + +import com.hbm.main.ModEventHandlerClient; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.particle.EntityFX; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.world.World; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +@SideOnly(Side.CLIENT) +public class ParticleFoam extends EntityFX { + + private int age; + public int maxAge; + private float baseScale = 1.0F; + private float maxScale = 1.5F; + + // Parameters for the trail effect + private List trail = new ArrayList(); + private int trailLength = 15; + private float initialVelocity; + private float buoyancy = 0.05F; + private float jitter = 0.15F; + private float drag = 0.96F; + private int explosionPhase; // 0=burst up, 1=peak, 2=settle + + private static class TrailPoint { + double x, y, z; + + public TrailPoint(double x, double y, double z, float alpha) { + this.x = x; + this.y = y; + this.z = z; + } + } + + public ParticleFoam(TextureManager p_i1213_1_, World p_i1218_1_, double p_i1218_2_, double p_i1218_4_, double p_i1218_6_) { + super(p_i1218_1_, p_i1218_2_, p_i1218_4_, p_i1218_6_); + particleIcon = ModEventHandlerClient.particleBase; + + maxAge = 60 + rand.nextInt(60); + particleGravity = 0.005F + rand.nextFloat() * 0.015F; + + initialVelocity = 2.0F + rand.nextFloat() * 3.0F; + motionY = initialVelocity; + + double angle = rand.nextDouble() * Math.PI * 2; + double strength = rand.nextDouble() * 0.5; + motionX = Math.cos(angle) * strength; + motionZ = Math.sin(angle) * strength; + + explosionPhase = 0; // Start in burst phase + + particleScale = 0.3F + rand.nextFloat() * 0.7F; + } + + public void setBaseScale(float f) { this.baseScale = f; } + public void setMaxScale(float f) { this.maxScale = f; } + public void setTrailLength(int length) { this.trailLength = length; } + public void setBuoyancy(float buoyancy) { this.buoyancy = buoyancy; } + + public void onUpdate() { + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + + trail.add(0, new TrailPoint(posX, posY, posZ, particleAlpha)); + + while (trail.size() > trailLength) { + trail.remove(trail.size() - 1); + } + + // Update age and phase + ++this.age; + + if (this.age == this.maxAge) { + this.setDead(); + } + + float phaseRatio = (float) age / (float) maxAge; + if (phaseRatio < 0.3F) { + explosionPhase = 0; + + if (phaseRatio < 0.15F) { + motionY += buoyancy * 6.0F; + } else { + motionY += buoyancy * (1.0F - (phaseRatio / 0.3F)) * 2.0F; + } + + particleScale = baseScale + (maxScale - baseScale) * (phaseRatio / 0.3F); + } else if (phaseRatio < 0.6F) { + explosionPhase = 1; + motionY *= 0.98F; + + particleScale = maxScale; + } else { + explosionPhase = 2; + motionY -= particleGravity; + + particleScale = maxScale * (1.0F - ((phaseRatio - 0.6F) / 0.4F) * 0.7F); + } + + particleAlpha = 0.8F * (1.0F - phaseRatio * phaseRatio); + + motionX += (rand.nextFloat() - 0.5F) * jitter; + motionZ += (rand.nextFloat() - 0.5F) * jitter; + + // drag like ninja drags the low taper fade + motionX *= drag; + motionY *= drag; + motionZ *= drag; + + this.moveEntity(this.motionX, motionY, this.motionZ); + + // Kill particle if it hits ground + if (this.onGround || this.isInWeb) { + this.setDead(); + } + } + + public int getFXLayer() { + return 1; + } + + // ty kercig cuz id kms lol + + public void renderParticle(Tessellator p_70539_1_, float p_70539_2_, float p_70539_3_, float p_70539_4_, float p_70539_5_, float p_70539_6_, float p_70539_7_) { + renderFoamBubbles(p_70539_1_, p_70539_2_, p_70539_3_, p_70539_4_, p_70539_5_, p_70539_6_, p_70539_7_, + posX, posY, posZ, particleScale, particleAlpha); + + for (int i = 1; i < trail.size(); i++) { + TrailPoint point = trail.get(i); + float trailScale = particleScale * (1.0F - (float)i / trailLength); + float trailAlpha = particleAlpha * (1.0F - (float)i / trailLength) * 0.7F; + + renderFoamBubbles(p_70539_1_, p_70539_2_, p_70539_3_, p_70539_4_, p_70539_5_, p_70539_6_, p_70539_7_, + point.x, point.y, point.z, trailScale, trailAlpha); + } + } + + private void renderFoamBubbles(Tessellator tessellator, float p_70539_2_, float p_70539_3_, float p_70539_4_, + float p_70539_5_, float p_70539_6_, float p_70539_7_, double x, double y, double z, float scale, float alpha) { + + Random urandom = new Random(this.getEntityId() + (long)(x * 100) + (long)(y * 10) + (long)z); + + int bubbleCount = explosionPhase == 0 ? 8 : (explosionPhase == 1 ? 6 : 4); + + for (int i = 0; i < bubbleCount; i++) { + float whiteness = 0.9F + urandom.nextFloat() * 0.1F; + tessellator.setColorRGBA_F(whiteness, whiteness, whiteness, alpha); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + + float bubbleScale = scale * (urandom.nextFloat() * 0.5F + 0.75F); + float offset = explosionPhase == 0 ? 0.4F : (explosionPhase == 1 ? 0.6F : 0.9F); + + float pX = (float) ((x - interpPosX) + (urandom.nextGaussian()) * offset); + float pY = (float) ((y - interpPosY) + (urandom.nextGaussian()) * offset * 0.7F); + float pZ = (float) ((z - interpPosZ) + (urandom.nextGaussian()) * offset); + + tessellator.addVertexWithUV( + (double)(pX - p_70539_3_ * bubbleScale - p_70539_6_ * bubbleScale), + (double)(pY - p_70539_4_ * bubbleScale), + (double)(pZ - p_70539_5_ * bubbleScale - p_70539_7_ * bubbleScale), + particleIcon.getMaxU(), particleIcon.getMaxV()); + tessellator.addVertexWithUV( + (double)(pX - p_70539_3_ * bubbleScale + p_70539_6_ * bubbleScale), + (double)(pY + p_70539_4_ * bubbleScale), + (double)(pZ - p_70539_5_ * bubbleScale + p_70539_7_ * bubbleScale), + particleIcon.getMaxU(), particleIcon.getMinV()); + tessellator.addVertexWithUV( + (double)(pX + p_70539_3_ * bubbleScale + p_70539_6_ * bubbleScale), + (double)(pY + p_70539_4_ * bubbleScale), + (double)(pZ + p_70539_5_ * bubbleScale + p_70539_7_ * bubbleScale), + particleIcon.getMinU(), particleIcon.getMinV()); + tessellator.addVertexWithUV( + (double)(pX + p_70539_3_ * bubbleScale - p_70539_6_ * bubbleScale), + (double)(pY - p_70539_4_ * bubbleScale), + (double)(pZ + p_70539_5_ * bubbleScale - p_70539_7_ * bubbleScale), + particleIcon.getMinU(), particleIcon.getMaxV()); + } + } +} diff --git a/src/main/java/com/hbm/particle/ParticleGiblet.java b/src/main/java/com/hbm/particle/ParticleGiblet.java index c09a00799..a5fdd3439 100644 --- a/src/main/java/com/hbm/particle/ParticleGiblet.java +++ b/src/main/java/com/hbm/particle/ParticleGiblet.java @@ -9,10 +9,12 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityFX; +import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.texture.TextureManager; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; +import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; @@ -66,6 +68,7 @@ public class ParticleGiblet extends EntityFX { GL11.glPushMatrix(); GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_BLEND); this.theRenderEngine.bindTexture(texture); /* use this instead of EntityFX.interpPosN since interpPosN isn't set up correctly for the current tick for layer 3 particles */ @@ -79,9 +82,17 @@ public class ParticleGiblet extends EntityFX { float f12 = (float) (this.prevPosY + (this.posY - this.prevPosY) * (double) interp - dY); float f13 = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * (double) interp - dZ); + double pX = prevPosX + (posX - prevPosX) * interp; + double pY = prevPosY + (posY - prevPosY) * interp; + double pZ = prevPosZ + (posZ - prevPosZ) * interp; + int brightness = worldObj.getLightBrightnessForSkyBlocks(MathHelper.floor_double(pX), MathHelper.floor_double(pY), MathHelper.floor_double(pZ), 0); + int lX = brightness % 65536; + int lY = brightness / 65536; + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)lX / 1.0F, (float)lY / 1.0F); + tess.startDrawingQuads(); tess.setNormal(0.0F, 1.0F, 0.0F); - tess.setBrightness(240); + //tess.setBrightness(240); tess.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha); tess.addVertexWithUV((double) (f11 - x * f10 - tx * f10), (double) (f12 - y * f10), (double) (f13 - z * f10 - tz * f10), (double) 0, (double) 0); tess.addVertexWithUV((double) (f11 - x * f10 + tx * f10), (double) (f12 + y * f10), (double) (f13 - z * f10 + tz * f10), (double) 0, (double) 1); diff --git a/src/main/java/com/hbm/particle/ParticleHaze.java b/src/main/java/com/hbm/particle/ParticleHaze.java index bc513a68a..dd8263ab4 100644 --- a/src/main/java/com/hbm/particle/ParticleHaze.java +++ b/src/main/java/com/hbm/particle/ParticleHaze.java @@ -21,8 +21,8 @@ import net.minecraft.world.World; public class ParticleHaze extends EntityFX { private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/particle/haze.png"); - private TextureManager theRenderEngine; - private int maxAge; + private final TextureManager theRenderEngine; + private final int maxAge; public ParticleHaze(TextureManager p_i1213_1_, World p_i1218_1_, double p_i1218_2_, double p_i1218_4_, double p_i1218_6_) { super(p_i1218_1_, p_i1218_2_, p_i1218_4_, p_i1218_6_); @@ -94,6 +94,7 @@ public class ParticleHaze extends EntityFX { Random rand = new Random(50); + GL11.glPushMatrix(); for(int i = 0; i < 25; i++) { double dX = rand.nextGaussian() * 2.5D; @@ -115,9 +116,8 @@ public class ParticleHaze extends EntityFX { tess.addVertexWithUV((double) (pX + p_70539_3_ * size + p_70539_6_ * size), (double) (pY + p_70539_4_ * size), (double) (pZ + p_70539_5_ * size + p_70539_7_ * size), 0, 0); tess.addVertexWithUV((double) (pX + p_70539_3_ * size - p_70539_6_ * size), (double) (pY - p_70539_4_ * size), (double) (pZ + p_70539_5_ * size - p_70539_7_ * size), 0, 1); tess.draw(); - - GL11.glTranslatef((float) -dX, (float) -dY, (float) -dZ); } + GL11.glPopMatrix(); GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); GL11.glDisable(GL12.GL_RESCALE_NORMAL); diff --git a/src/main/java/com/hbm/particle/ParticleLargeFlame.java b/src/main/java/com/hbm/particle/ParticleLargeFlame.java deleted file mode 100644 index 38e96e04b..000000000 --- a/src/main/java/com/hbm/particle/ParticleLargeFlame.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.hbm.particle; - -import net.minecraft.client.particle.EntityFX; -import net.minecraft.world.World; - -//TODO: everything -public class ParticleLargeFlame extends EntityFX { - - protected ParticleLargeFlame(World world, double x, double y, double z) { - super(world, x, y, z); - } -} diff --git a/src/main/java/com/hbm/particle/ParticleMukeCloud.java b/src/main/java/com/hbm/particle/ParticleMukeCloud.java index b9b479b2a..e265396ea 100644 --- a/src/main/java/com/hbm/particle/ParticleMukeCloud.java +++ b/src/main/java/com/hbm/particle/ParticleMukeCloud.java @@ -54,27 +54,29 @@ public class ParticleMukeCloud extends EntityFX { return 3; } - public void onUpdate() { - - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; + public void onUpdate() { + + this.noClip = this.particleAge <= 2; - if (this.particleAge++ >= this.particleMaxAge - 2) { - this.setDead(); - } + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; - this.motionY -= 0.04D * (double)this.particleGravity; - this.moveEntity(this.motionX, this.motionY, this.motionZ); - this.motionX *= friction; - this.motionY *= friction; - this.motionZ *= friction; + if(this.particleAge++ >= this.particleMaxAge - 2) { + this.setDead(); + } - if (this.onGround) { - this.motionX *= 0.7D; - this.motionZ *= 0.7D; - } - } + this.motionY -= 0.04D * (double) this.particleGravity; + this.moveEntity(this.motionX, this.motionY, this.motionZ); + this.motionX *= friction; + this.motionY *= friction; + this.motionZ *= friction; + + if(this.onGround) { + this.motionX *= 0.7D; + this.motionZ *= 0.7D; + } + } public void renderParticle(Tessellator tess, float interp, float x, float y, float z, float tx, float tz) { diff --git a/src/main/java/com/hbm/particle/ParticlePlasmaBlast.java b/src/main/java/com/hbm/particle/ParticlePlasmaBlast.java index 18430e811..8f449ef14 100644 --- a/src/main/java/com/hbm/particle/ParticlePlasmaBlast.java +++ b/src/main/java/com/hbm/particle/ParticlePlasmaBlast.java @@ -7,6 +7,7 @@ import com.hbm.lib.RefStrings; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.particle.EntityFX; +import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.texture.TextureManager; @@ -76,17 +77,18 @@ public class ParticlePlasmaBlast extends EntityFX { tess.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha); - tess.addVertexWithUV((double)(- 1 * scale), (double)(- 0.25), (double)(- 1 * scale), 1, 1); - tess.addVertexWithUV((double)(- 1 * scale), (double)(- 0.25), (double)(+ 1 * scale), 1, 0); - tess.addVertexWithUV((double)(+ 1 * scale), (double)(- 0.25), (double)(+ 1 * scale), 0, 0); - tess.addVertexWithUV((double)(+ 1 * scale), (double)(- 0.25), (double)(- 1 * scale), 0, 1); + tess.addVertexWithUV((double)(- 1 * scale), 0, (double)(- 1 * scale), 1, 1); + tess.addVertexWithUV((double)(- 1 * scale), 0, (double)(+ 1 * scale), 1, 0); + tess.addVertexWithUV((double)(+ 1 * scale), 0, (double)(+ 1 * scale), 0, 0); + tess.addVertexWithUV((double)(+ 1 * scale), 0, (double)(- 1 * scale), 0, 1); tess.draw(); if(fog) GL11.glEnable(GL11.GL_FOG); GL11.glPolygonOffset(0.0F, 0.0F); - GL11.glEnable(GL11.GL_CULL_FACE); GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDepthMask(true); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); GL11.glPopMatrix(); } } diff --git a/src/main/java/com/hbm/particle/ParticleRadiationFog.java b/src/main/java/com/hbm/particle/ParticleRadiationFog.java index d1eb3dcea..f80bc8780 100644 --- a/src/main/java/com/hbm/particle/ParticleRadiationFog.java +++ b/src/main/java/com/hbm/particle/ParticleRadiationFog.java @@ -21,14 +21,14 @@ import net.minecraft.world.World; public class ParticleRadiationFog extends EntityFX { private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/particle/fog.png"); - private TextureManager theRenderEngine; + private final TextureManager theRenderEngine; private int maxAge; public ParticleRadiationFog(TextureManager p_i1213_1_, World p_i1218_1_, double p_i1218_2_, double p_i1218_4_, double p_i1218_6_) { super(p_i1218_1_, p_i1218_2_, p_i1218_4_, p_i1218_6_); theRenderEngine = p_i1213_1_; maxAge = 100 + rand.nextInt(40); - + this.particleRed = this.particleGreen = this.particleBlue = 0; this.particleScale = 7.5F; } @@ -41,7 +41,7 @@ public class ParticleRadiationFog extends EntityFX { this.particleRed = red; this.particleGreen = green; this.particleBlue = blue; - + this.particleScale = scale; } @@ -49,14 +49,14 @@ public class ParticleRadiationFog extends EntityFX { this.prevPosX = this.posX; this.prevPosY = this.posY; this.prevPosZ = this.posZ; - + if(maxAge < 400) { maxAge = 400; } this.particleAge++; - + if (this.particleAge >= maxAge) { this.setDead(); @@ -78,11 +78,11 @@ public class ParticleRadiationFog extends EntityFX { } public void renderParticle(Tessellator tess, float p_70539_2_, float p_70539_3_, float p_70539_4_, float p_70539_5_, float p_70539_6_, float p_70539_7_) { - + this.theRenderEngine.bindTexture(texture); - + float alpha = 0; - + alpha = (float) Math.sin(particleAge * Math.PI / (400F)) * 0.125F; GL11.glColor4f(0.85F, 0.9F, 0.5F, alpha); @@ -92,22 +92,23 @@ public class ParticleRadiationFog extends EntityFX { GL11.glDepthMask(false); OpenGlHelper.glBlendFunc(770, 771, 1, 0); RenderHelper.disableStandardItemLighting(); - + Random rand = new Random(50); - + + GL11.glPushMatrix(); for(int i = 0; i < 25; i++) { double dX = (rand.nextGaussian() - 1D) * 2.5D; double dY = (rand.nextGaussian() - 1D) * 0.15D; double dZ = (rand.nextGaussian() - 1D) * 2.5D; double size = rand.nextDouble() * particleScale; - + GL11.glTranslatef((float) dX, (float) dY, (float) dZ); - + float pX = (float) ((this.prevPosX + (this.posX - this.prevPosX) * (double)p_70539_2_ - interpPosX) + rand.nextGaussian() * 0.5); float pY = (float) ((this.prevPosY + (this.posY - this.prevPosY) * (double)p_70539_2_ - interpPosY) + rand.nextGaussian() * 0.5); float pZ = (float) ((this.prevPosZ + (this.posZ - this.prevPosZ) * (double)p_70539_2_ - interpPosZ) + rand.nextGaussian() * 0.5); - + tess.startDrawingQuads(); tess.setNormal(0.0F, 1.0F, 0.0F); tess.setBrightness(240); @@ -116,14 +117,13 @@ public class ParticleRadiationFog extends EntityFX { tess.addVertexWithUV((double)(pX + p_70539_3_ * size + p_70539_6_ * size), (double)(pY + p_70539_4_ * size), (double)(pZ + p_70539_5_ * size + p_70539_7_ * size), 0, 0); tess.addVertexWithUV((double)(pX + p_70539_3_ * size - p_70539_6_ * size), (double)(pY - p_70539_4_ * size), (double)(pZ + p_70539_5_ * size - p_70539_7_ * size), 0, 1); tess.draw(); - - GL11.glTranslatef((float) -dX, (float) -dY, (float) -dZ); } - + GL11.glPopMatrix(); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); GL11.glEnable(GL11.GL_LIGHTING); GL11.glDepthMask(true); - + GL11.glPolygonOffset(0.0F, 0.0F); GL11.glEnable(GL11.GL_LIGHTING); } diff --git a/src/main/java/com/hbm/particle/ParticleSkeleton.java b/src/main/java/com/hbm/particle/ParticleSkeleton.java new file mode 100644 index 000000000..a3eb3f4c9 --- /dev/null +++ b/src/main/java/com/hbm/particle/ParticleSkeleton.java @@ -0,0 +1,161 @@ +package com.hbm.particle; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.particle.helper.SkeletonCreator.EnumSkeletonType; +import com.hbm.render.loader.HFRWavefrontObject; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.client.particle.EntityFX; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.model.IModelCustom; + +@SideOnly(Side.CLIENT) +public class ParticleSkeleton extends EntityFX { + + public static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/particle/skeleton.png"); + public static final ResourceLocation texture_ext = new ResourceLocation(RefStrings.MODID + ":textures/particle/skoilet.png"); + public static final IModelCustom skeleton = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/effect/skeleton.obj"), false).asVBO(); + protected EnumSkeletonType type; + + private float momentumYaw; + private float momentumPitch; + private int initialDelay; + + private final TextureManager textureManager; + + public ParticleSkeleton(TextureManager textureManager, World world, double x, double y, double z, float r, float g, float b, EnumSkeletonType type) { + super(world, x, y, z); + this.textureManager = textureManager; + this.type = type; + + this.particleMaxAge = 1200 + rand.nextInt(20); + + this.particleRed = r; + this.particleGreen = g; + this.particleBlue = b; + this.particleGravity = 0.02F; + this.initialDelay = 20; + + this.momentumPitch = rand.nextFloat() * 5 * (rand.nextBoolean() ? 1 : -1); + this.momentumYaw = rand.nextFloat() * 5 * (rand.nextBoolean() ? 1 : -1); + } + + @Override + public void onUpdate() { + + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + + if(initialDelay-- > 0) return; + + if(initialDelay == -1) { + this.motionX = rand.nextGaussian() * 0.025; + this.motionZ = rand.nextGaussian() * 0.025; + } + + if(this.particleAge++ >= this.particleMaxAge) { + this.setDead(); + } + boolean wasOnGround = this.onGround; + + this.motionY -= this.particleGravity; + this.moveEntity(this.motionX, this.motionY, this.motionZ); + this.motionX *= 0.98D; + this.motionY *= 0.98D; + this.motionZ *= 0.98D; + + if(!this.onGround) { + this.rotationPitch += this.momentumPitch; + this.rotationYaw += this.momentumYaw; + } else { + this.motionX = 0; + this.motionY = 0; + this.motionZ = 0; + + if(!wasOnGround) { + MainRegistry.proxy.playSoundClient(posX, posY, posZ, "mob.skeleton.hurt", 0.25F, 0.8F + rand.nextFloat() * 0.4F); + } + } + } + + @Override + public int getFXLayer() { + return 3; + } + + @Override + public void renderParticle(Tessellator tess, float interp, float x, float y, float z, float tx, float tz) { + + GL11.glPushMatrix(); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glEnable(GL11.GL_BLEND); + GL11.glAlphaFunc(GL11.GL_GREATER, 0); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + RenderHelper.enableStandardItemLighting(); + + double pX = prevPosX + (posX - prevPosX) * interp; + double pY = prevPosY + (posY - prevPosY) * interp; + double pZ = prevPosZ + (posZ - prevPosZ) * interp; + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + double dX = player.lastTickPosX + (player.posX - player.lastTickPosX) * (double)interp; + double dY = player.lastTickPosY + (player.posY - player.lastTickPosY) * (double)interp; + double dZ = player.lastTickPosZ + (player.posZ - player.lastTickPosZ) * (double)interp; + + GL11.glTranslated(pX - dX, pY - dY, pZ - dZ); + + GL11.glRotated(this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * interp, 0, 1, 0); + GL11.glRotated(this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * interp, 1, 0, 0); + + float timeLeft = this.particleMaxAge - (this.particleAge + interp); + if(timeLeft < 40) { + this.particleAlpha = timeLeft / 40F; + } else { + this.particleAlpha = 1F; + } + + int brightness = worldObj.getLightBrightnessForSkyBlocks(MathHelper.floor_double(pX), MathHelper.floor_double(pY), MathHelper.floor_double(pZ), 0); + int lX = brightness % 65536; + int lY = brightness / 65536; + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)lX / 1.0F, (float)lY / 1.0F); + + GL11.glColor4f(particleRed, particleGreen, particleBlue, particleAlpha); + GL11.glRotated(-90, 0, 1, 0); + + switch(type) { + case SKULL: + this.textureManager.bindTexture(texture); + skeleton.renderPart("Skull"); break; + case TORSO: + this.textureManager.bindTexture(texture); + skeleton.renderPart("Torso"); break; + case LIMB: + this.textureManager.bindTexture(texture); + skeleton.renderPart("Limb"); break; + case SKULL_VILLAGER: + this.textureManager.bindTexture(texture_ext); + skeleton.renderPart("SkullVillager"); break; + } + + GL11.glColor4f(1F, 1F, 1F, 1F); + GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); + GL11.glDisable(GL11.GL_CULL_FACE); + + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/particle/ParticleSpentCasing.java b/src/main/java/com/hbm/particle/ParticleSpentCasing.java index 59e6ae201..87fadf28c 100644 --- a/src/main/java/com/hbm/particle/ParticleSpentCasing.java +++ b/src/main/java/com/hbm/particle/ParticleSpentCasing.java @@ -9,6 +9,7 @@ import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; import com.hbm.main.ResourceManager; +import com.hbm.util.BobMathUtil; import com.hbm.util.Tuple.Pair; import cpw.mods.fml.relauncher.Side; @@ -20,6 +21,7 @@ import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.texture.TextureManager; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -42,21 +44,22 @@ public class ParticleSpentCasing extends EntityFX { private boolean isSmoking; private float momentumPitch, momentumYaw; - private boolean onGroundPreviously = false; - private double maxHeight; - public ParticleSpentCasing(TextureManager textureManager, World world, double x, double y, double z, double mx, double my, double mz, float momentumPitch, float momentumYaw, SpentCasing config) { + public ParticleSpentCasing(TextureManager textureManager, World world, double x, double y, double z, double mx, double my, double mz, float momentumPitch, float momentumYaw, SpentCasing config, boolean smoking, int smokeLife, double smokeLift, int nodeLife) { super(world, x, y, z, 0, 0, 0); this.textureManager = textureManager; this.momentumPitch = momentumPitch; this.momentumYaw = momentumYaw; this.config = config; - + this.particleMaxAge = config.getMaxAge(); - this.isSmoking = rand.nextFloat() < config.getSmokeChance(); - this.maxSmokeGen = config.getSmokeDuration(); - this.smokeLift = config.getSmokeLift(); - this.nodeLife = config.getSmokeNodeLife(); + this.setSize(2 * dScale * Math.max(config.getScaleX(), config.getScaleZ()), dScale * config.getScaleY()); + this.yOffset = this.height / 2F; + + this.isSmoking = smoking; + this.maxSmokeGen = smokeLife; + this.smokeLift = smokeLift; + this.nodeLife = nodeLife; this.prevPosX = x; this.prevPosY = y; @@ -66,9 +69,7 @@ public class ParticleSpentCasing extends EntityFX { this.motionY = my; this.motionZ = mz; - particleGravity = 8F; - - maxHeight = y; + particleGravity = 1F; } @Override @@ -78,26 +79,30 @@ public class ParticleSpentCasing extends EntityFX { @Override public void onUpdate() { - super.onUpdate(); + + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; - if(motionY > 0 && posY > maxHeight) - maxHeight = posY; - - if(!onGroundPreviously && onGround) - tryPlayBounceSound(); - - if(!onGroundPreviously && onGround) { - - onGroundPreviously = true; - motionY = Math.log10(maxHeight - posY + 2); - momentumPitch = (float) rand.nextGaussian() * config.getBouncePitch(); - momentumYaw = (float) rand.nextGaussian() * config.getBounceYaw(); - maxHeight = posY; - - } else if(onGroundPreviously && !onGround) { - onGroundPreviously = false; + if(this.particleAge++ >= this.particleMaxAge) { + this.setDead(); } + this.motionY -= 0.04D * (double) this.particleGravity; + this.moveEntity(this.motionX, this.motionY, this.motionZ); + this.motionX *= 0.98D; + this.motionY *= 0.98D; + this.motionZ *= 0.98D; + + if(this.onGround) { + this.motionX *= 0.7D; + this.motionZ *= 0.7D; + + this.rotationPitch = (float) (Math.floor(this.rotationPitch / 180F + 0.5F)) * 180F; + this.momentumYaw *= 0.7F; + this.onGround = false; + } + if(particleAge > maxSmokeGen && !smokeNodes.isEmpty()) smokeNodes.clear(); @@ -117,16 +122,100 @@ public class ParticleSpentCasing extends EntityFX { smokeNodes.add(new Pair(Vec3.createVectorHelper(0, 0, 0), smokeNodes.isEmpty() ? 0.0D : 1D)); } } - + prevRotationPitch = rotationPitch; prevRotationYaw = rotationYaw; - - if(onGround) { - rotationPitch = 0; - } else { - rotationPitch += momentumPitch; - rotationYaw += momentumYaw; + + rotationPitch += momentumPitch; + rotationYaw += momentumYaw; + } + + public void moveEntity(double motionX, double motionY, double motionZ) { + this.worldObj.theProfiler.startSection("move"); + this.ySize *= 0.4F; + + if (this.isInWeb) { + this.isInWeb = false; + motionX *= 0.25D; + motionY *= 0.05000000074505806D; + motionZ *= 0.25D; + this.motionX = 0.0D; + this.motionY = 0.0D; + this.motionZ = 0.0D; } + + //Handle block collision + double initMoX = motionX; + double initMoY = motionY; + double initMoZ = motionZ; + + List list = this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox.addCoord(motionX, motionY, motionZ)); + + for (int i = 0; i < list.size(); ++i) { + motionY = ((AxisAlignedBB)list.get(i)).calculateYOffset(this.boundingBox, motionY); + } + + this.boundingBox.offset(0.0D, motionY, 0.0D); + + int j; + + for (j = 0; j < list.size(); ++j) { + motionX = ((AxisAlignedBB)list.get(j)).calculateXOffset(this.boundingBox, motionX); + } + + this.boundingBox.offset(motionX, 0.0D, 0.0D); + + for (j = 0; j < list.size(); ++j) { + motionZ = ((AxisAlignedBB)list.get(j)).calculateZOffset(this.boundingBox, motionZ); + } + + this.boundingBox.offset(0.0D, 0.0D, motionZ); + + this.worldObj.theProfiler.endSection(); + this.worldObj.theProfiler.startSection("rest"); + this.posX = (this.boundingBox.minX + this.boundingBox.maxX) / 2.0D; + this.posY = this.boundingBox.minY + (double)this.yOffset - (double)this.ySize; + this.posZ = (this.boundingBox.minZ + this.boundingBox.maxZ) / 2.0D; + this.isCollidedHorizontally = initMoX != motionX || initMoZ != motionZ; + this.isCollidedVertically = initMoY != motionY; + this.onGround = initMoY != motionY && initMoY < 0.0D; + this.isCollided = this.isCollidedHorizontally || this.isCollidedVertically; + this.updateFallState(motionY, this.onGround); + + //Handles bounces + if (initMoX != motionX) { + this.motionX *= -0.25D; + + if(Math.abs(momentumYaw) > 1e-7) + momentumYaw *= -0.75F; + else + momentumYaw = (float) rand.nextGaussian() * 10F * this.config.getBounceYaw(); + } + + if (initMoY != motionY) { + this.motionY *= -0.5D; + + boolean rotFromSpeed = Math.abs(this.motionY) > 0.04; + if(rotFromSpeed || Math.abs(momentumPitch) > 1e-7) { + momentumPitch *= -0.75F; + if(rotFromSpeed) { + float mult = (float) BobMathUtil.safeClamp(initMoY / 0.2F, -1F, 1F); + momentumPitch += rand.nextGaussian() * 10F * this.config.getBouncePitch() * mult; + momentumYaw += (float) rand.nextGaussian() * 10F * this.config.getBounceYaw() * mult; + } + } + } + + if (initMoZ != motionZ) { + this.motionZ *= -0.25D; + + if(Math.abs(momentumYaw) > 1e-7) + momentumYaw *= -0.75F; + else + momentumYaw = (float) rand.nextGaussian() * 10F * this.config.getBounceYaw(); + } + + this.worldObj.theProfiler.endSection(); } /** Used for frame-perfect translation of smoke */ @@ -193,8 +282,6 @@ public class ParticleSpentCasing extends EntityFX { GL11.glPushMatrix(); GL11.glTranslated(pX - dX, pY - dY - this.height / 4, pZ - dZ); - //GL11.glScalef(dScale, dScale, dScale); - //GL11.glScalef(config.getScaleX(), config.getScaleY(), config.getScaleZ()); if(!smokeNodes.isEmpty()) { tessellator.startDrawingQuads(); @@ -271,24 +358,15 @@ public class ParticleSpentCasing extends EntityFX { @Override @SideOnly(Side.CLIENT) public int getBrightnessForRender(float p_70070_1_) { - int i = MathHelper.floor_double(this.posX); - int j = MathHelper.floor_double(this.posZ); + int x = MathHelper.floor_double(this.posX); + int z = MathHelper.floor_double(this.posZ); - if(this.worldObj.blockExists(i, 0, j)) { + if(this.worldObj.blockExists(x, 0, z)) { double d0 = (this.boundingBox.maxY - this.boundingBox.minY) * 0.66D; - int k = MathHelper.floor_double(this.posY - (double) this.yOffset + d0); - return this.worldObj.getLightBrightnessForSkyBlocks(i, k, j, 0); + int y = MathHelper.floor_double(this.posY - (double) this.yOffset + d0); + return this.worldObj.getLightBrightnessForSkyBlocks(x, y, z, 0); } else { return 0; - } - } - - private void tryPlayBounceSound() { - - String sound = config.getSound(); - - if(sound != null && !sound.isEmpty()) { - worldObj.playSoundAtEntity(this, sound, 2, 1); } } } \ No newline at end of file diff --git a/src/main/java/com/hbm/particle/ParticleVortexCircle.java b/src/main/java/com/hbm/particle/ParticleVortexCircle.java deleted file mode 100644 index bdde31949..000000000 --- a/src/main/java/com/hbm/particle/ParticleVortexCircle.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.hbm.particle; - -public class ParticleVortexCircle { - -} diff --git a/src/main/java/com/hbm/particle/ParticleVortexGlow.java b/src/main/java/com/hbm/particle/ParticleVortexGlow.java deleted file mode 100644 index 1f32cd493..000000000 --- a/src/main/java/com/hbm/particle/ParticleVortexGlow.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.hbm.particle; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.util.BobMathUtil; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.particle.EntityFX; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class ParticleVortexGlow extends EntityFX { - - public static final ResourceLocation fresnel_ms = new ResourceLocation(RefStrings.MODID, "textures/particle/fresnel_ms.png"); - public float workingAlpha; - - public ParticleVortexGlow(World worldIn, double posXIn, double posYIn, double posZIn, float scale) { - super(worldIn, posXIn, posYIn, posZIn); - this.particleScale = scale; - } - - public ParticleVortexGlow color(float colR, float colG, float colB, float colA) { - this.particleRed = colR; - this.particleGreen = colG; - this.particleBlue = colB; - this.particleAlpha = colA; - workingAlpha = colA; - return this; - } - - public ParticleVortexGlow lifetime(int lifetime) { - this.particleMaxAge = lifetime; - return this; - } - - @Override - public void onUpdate() { - this.particleAge++; - if(this.particleAge >= this.particleMaxAge) { - this.setDead(); - } - } - - @Override - public int getFXLayer() { - return 3; - } - - @Override - public void renderParticle(Tessellator tess, float partialTicks, float rotationX, float rotationZ, float rotationYZ, float rotationXY, float rotationXZ) { - - Minecraft.getMinecraft().getTextureManager().bindTexture(fresnel_ms); - GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glDepthMask(false); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); - float timeScale = (this.particleAge + partialTicks) / (float) this.particleMaxAge; - float shrink = MathHelper.clamp_float(1 - BobMathUtil.remap((float) MathHelper.clamp_float(timeScale, 0, 1), 0.6F, 1F, 0.6F, 1F), 0, 1); - this.workingAlpha = shrink * particleAlpha; - - float f4 = 0.1F * (this.particleScale + shrink * particleScale * 4); - - float f5 = (float) (this.prevPosX + (this.posX - this.prevPosX) * (double) partialTicks - interpPosX); - float f6 = (float) (this.prevPosY + (this.posY - this.prevPosY) * (double) partialTicks - interpPosY); - float f7 = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * (double) partialTicks - interpPosZ); - Vec3[] avec3d = new Vec3[] { - Vec3.createVectorHelper((double) (-rotationX * f4 - rotationXY * f4), (double) (-rotationZ * f4), (double) (-rotationYZ * f4 - rotationXZ * f4)), - Vec3.createVectorHelper((double) (-rotationX * f4 + rotationXY * f4), (double) (rotationZ * f4), (double) (-rotationYZ * f4 + rotationXZ * f4)), - Vec3.createVectorHelper((double) (rotationX * f4 + rotationXY * f4), (double) (rotationZ * f4), (double) (rotationYZ * f4 + rotationXZ * f4)), - Vec3.createVectorHelper((double) (rotationX * f4 - rotationXY * f4), (double) (-rotationZ * f4), (double) (rotationYZ * f4 - rotationXZ * f4)) - }; - - tess.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha); - tess.setNormal(0.0F, 1.0F, 0.0F); - tess.setBrightness(240); - - tess.startDrawingQuads(); - tess.addVertexWithUV((double) f5 + avec3d[0].xCoord, (double) f6 + avec3d[0].yCoord, (double) f7 + avec3d[0].zCoord, 1, 1); - tess.addVertexWithUV((double) f5 + avec3d[1].xCoord, (double) f6 + avec3d[1].yCoord, (double) f7 + avec3d[1].zCoord, 1, 0); - tess.addVertexWithUV((double) f5 + avec3d[2].xCoord, (double) f6 + avec3d[2].yCoord, (double) f7 + avec3d[2].zCoord, 0, 0); - tess.addVertexWithUV((double) f5 + avec3d[3].xCoord, (double) f6 + avec3d[3].yCoord, (double) f7 + avec3d[3].zCoord, 0, 1); - - tess.draw(); - - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glDepthMask(true); - GL11.glDisable(GL11.GL_BLEND); - } -} diff --git a/src/main/java/com/hbm/particle/ParticleVortexParticle.java b/src/main/java/com/hbm/particle/ParticleVortexParticle.java deleted file mode 100644 index fdaf489ee..000000000 --- a/src/main/java/com/hbm/particle/ParticleVortexParticle.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.hbm.particle; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.util.BobMathUtil; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.particle.EntityFX; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class ParticleVortexParticle extends EntityFX { - - public static final ResourceLocation fresnel_ms = new ResourceLocation(RefStrings.MODID, "textures/particle/fresnel_ms.png"); - - public float workingAlpha; - public int timeUntilChange = 0; - - public ParticleVortexParticle(World worldIn, double posXIn, double posYIn, double posZIn, float scale) { - super(worldIn, posXIn, posYIn, posZIn); - this.particleScale = scale; - this.motionX = (rand.nextFloat() - 0.5) * 0.02; - this.motionY = (rand.nextFloat() - 0.5) * 0.02; - this.motionZ = (rand.nextFloat() - 0.5) * 0.02; - timeUntilChange = rand.nextInt(5) + 1; - } - - public ParticleVortexParticle color(float colR, float colG, float colB, float colA) { - this.particleRed = colR; - this.particleGreen = colG; - this.particleBlue = colB; - this.particleAlpha = colA; - workingAlpha = colA; - return this; - } - - public ParticleVortexParticle lifetime(int lifetime) { - this.particleMaxAge = lifetime; - return this; - } - - @Override - public void onUpdate() { - - this.particleAge++; - timeUntilChange--; - - if(this.particleAge >= this.particleMaxAge) { - this.setDead(); - } - - this.prevPosX = posX; - this.prevPosY = posY; - this.prevPosZ = posZ; - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - if(timeUntilChange == 0) { - timeUntilChange = rand.nextInt(5) + 1; - // Not quite as smooth as the actual noise I think xonotic uses, but - // it's good enough. - this.motionX = (rand.nextFloat() - 0.5) * 0.02; - this.motionY = (rand.nextFloat() - 0.5) * 0.02; - this.motionZ = (rand.nextFloat() - 0.5) * 0.02; - } - } - - @Override - public int getFXLayer() { - return 3; - } - - @Override - public void renderParticle(Tessellator tess, float partialTicks, float rotationX, float rotationZ, float rotationYZ, float rotationXY, float rotationXZ) { - - Minecraft.getMinecraft().getTextureManager().bindTexture(fresnel_ms); - GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glDepthMask(false); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); - float timeScale = (this.particleAge + partialTicks) / (float) this.particleMaxAge; - float shrink = MathHelper.clamp_float(1 - BobMathUtil.remap((float) MathHelper.clamp_float(timeScale, 0, 1), 0.6F, 1F, 0.6F, 1F), 0, 1); - this.workingAlpha = shrink * particleAlpha; - - float f4 = 0.1F * (this.particleScale + shrink * particleScale * 4); - - float f5 = (float) (this.prevPosX + (this.posX - this.prevPosX) * (double) partialTicks - interpPosX); - float f6 = (float) (this.prevPosY + (this.posY - this.prevPosY) * (double) partialTicks - interpPosY); - float f7 = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * (double) partialTicks - interpPosZ); - Vec3[] avec3d = new Vec3[] { - Vec3.createVectorHelper((double) (-rotationX * f4 - rotationXY * f4), (double) (-rotationZ * f4), (double) (-rotationYZ * f4 - rotationXZ * f4)), - Vec3.createVectorHelper((double) (-rotationX * f4 + rotationXY * f4), (double) (rotationZ * f4), (double) (-rotationYZ * f4 + rotationXZ * f4)), - Vec3.createVectorHelper((double) (rotationX * f4 + rotationXY * f4), (double) (rotationZ * f4), (double) (rotationYZ * f4 + rotationXZ * f4)), - Vec3.createVectorHelper((double) (rotationX * f4 - rotationXY * f4), (double) (-rotationZ * f4), (double) (rotationYZ * f4 - rotationXZ * f4)) - }; - - tess.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha); - tess.setNormal(0.0F, 1.0F, 0.0F); - tess.setBrightness(240); - - tess.startDrawingQuads(); - tess.addVertexWithUV((double) f5 + avec3d[0].xCoord, (double) f6 + avec3d[0].yCoord, (double) f7 + avec3d[0].zCoord, 1, 1); - tess.addVertexWithUV((double) f5 + avec3d[1].xCoord, (double) f6 + avec3d[1].yCoord, (double) f7 + avec3d[1].zCoord, 1, 0); - tess.addVertexWithUV((double) f5 + avec3d[2].xCoord, (double) f6 + avec3d[2].yCoord, (double) f7 + avec3d[2].zCoord, 0, 0); - tess.addVertexWithUV((double) f5 + avec3d[3].xCoord, (double) f6 + avec3d[3].yCoord, (double) f7 + avec3d[3].zCoord, 0, 1); - - tess.draw(); - - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glDepthMask(true); - GL11.glDisable(GL11.GL_BLEND); - } -} diff --git a/src/main/java/com/hbm/particle/SpentCasing.java b/src/main/java/com/hbm/particle/SpentCasing.java index 200f12893..23cbfab93 100644 --- a/src/main/java/com/hbm/particle/SpentCasing.java +++ b/src/main/java/com/hbm/particle/SpentCasing.java @@ -9,6 +9,7 @@ import java.util.HashMap; public class SpentCasing implements Cloneable { public static final int COLOR_CASE_BRASS = 0xEBC35E; + public static final int COLOR_CASE_EQUESTRIAN = 0x957BA0; public static final int COLOR_CASE_12GA = 0x757575; public static final int COLOR_CASE_4GA = 0xD8D8D8; public static final int COLOR_CASE_44 = 0x3E3E3E; @@ -32,19 +33,15 @@ public class SpentCasing implements Cloneable { } } - private String registryName; + private String registryName = "CHANGEME"; private float scaleX = 1F; private float scaleY = 1F; private float scaleZ = 1F; private int[] colors; private CasingType type; private String bounceSound; - private float smokeChance; - private int smokeDuration; - private double smokeLift; - private int smokeNodeLife; - private float bounceYaw = 0F; - private float bouncePitch = 0F; + private float bounceYaw = 1F; + private float bouncePitch = 1F; private int maxAge = 240; public SpentCasing(CasingType type) { @@ -83,18 +80,13 @@ public class SpentCasing implements Cloneable { return this; } - public SpentCasing setupSmoke(float chance, double lift, int duration, int nodeLife) { - this.smokeChance = chance; - this.smokeDuration = duration; - this.smokeLift = lift; - this.smokeNodeLife = nodeLife; - return this; - } + @Deprecated public SpentCasing setupSmoke(float chance, double lift, int duration, int nodeLife) { return this; } public static SpentCasing fromName(String name) { return casingMap.get(name); } + /** Multiplier for default standard deviation of 10deg per tick, per bounce w/ full y speed */ public SpentCasing setBounceMotion(float yaw, float pitch) { this.bounceYaw = yaw; this.bouncePitch = pitch; @@ -113,13 +105,9 @@ public class SpentCasing implements Cloneable { public int[] getColors() { return this.colors; } public CasingType getType() { return this.type; } public String getSound() { return this.bounceSound; } - public float getSmokeChance() { return this.smokeChance; } public float getBounceYaw() { return this.bounceYaw; } public float getBouncePitch() { return this.bouncePitch; } public int getMaxAge() { return this.maxAge; } - public int getSmokeDuration() { return this.smokeDuration; } - public double getSmokeLift() { return this.smokeLift; } - public int getSmokeNodeLife() { return this.smokeNodeLife; } @Override public SpentCasing clone() { diff --git a/src/main/java/com/hbm/particle/helper/AshesCreator.java b/src/main/java/com/hbm/particle/helper/AshesCreator.java new file mode 100644 index 000000000..56a36acc5 --- /dev/null +++ b/src/main/java/com/hbm/particle/helper/AshesCreator.java @@ -0,0 +1,54 @@ +package com.hbm.particle.helper; + +import java.util.Random; + +import com.hbm.main.ClientProxy; +import com.hbm.particle.ParticleAshes; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.client.particle.EntityFlameFX; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class AshesCreator implements IParticleCreator { + + public static void composeEffect(World world, Entity toPulverize, int ashesCount, float ashesScale) { + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "ashes"); + data.setInteger("entityID", toPulverize.getEntityId()); + data.setInteger("ashesCount", ashesCount); + data.setFloat("ashesScale", ashesScale); + IParticleCreator.sendPacket(world, toPulverize.posX, toPulverize.posY, toPulverize.posZ, 100, data); + } + + @Override + @SideOnly(Side.CLIENT) + public void makeParticle(World world, EntityPlayer player, TextureManager texman, Random rand, double x, double y, double z, NBTTagCompound data) { + + int entityID = data.getInteger("entityID"); + Entity entity = world.getEntityByID(entityID); + if(entity == null) return; + + ClientProxy.vanish(entityID); + + int amount = data.getInteger("ashesCount"); + float scale = data.getFloat("ashesScale"); + + for(int i = 0; i < amount; i++) { + ParticleAshes particle = new ParticleAshes(world, + entity.posX + (entity.width + scale * 2) * (rand.nextDouble() - 0.5), + entity.posY + entity.height * rand.nextDouble(), + entity.posZ + (entity.width + scale * 2) * (rand.nextDouble() - 0.5), + scale); + Minecraft.getMinecraft().effectRenderer.addEffect(particle); + EntityFlameFX flame = new EntityFlameFX(world, particle.posX, particle.posY, particle.posZ, 0.0, 0.0, 0.0); + Minecraft.getMinecraft().effectRenderer.addEffect(flame); + } + } +} diff --git a/src/main/java/com/hbm/particle/helper/BlackPowderCreator.java b/src/main/java/com/hbm/particle/helper/BlackPowderCreator.java new file mode 100644 index 000000000..6705449f7 --- /dev/null +++ b/src/main/java/com/hbm/particle/helper/BlackPowderCreator.java @@ -0,0 +1,67 @@ +package com.hbm.particle.helper; + +import java.util.Random; + +import com.hbm.particle.ParticleBlackPowderSmoke; +import com.hbm.particle.ParticleBlackPowderSpark; +import com.hbm.util.Vec3NT; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class BlackPowderCreator implements IParticleCreator { + + public static void composeEffect(World world, double x, double y, double z, double headingX, double headingY, double headingZ, int cloudCount, float cloudScale, float cloudSpeedMult, int sparkCount, float sparkSpeedMult) { + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "blackPowder"); + data.setInteger("cloudCount", cloudCount); + data.setFloat("cloudScale", cloudScale); + data.setFloat("cloudSpeedMult", cloudSpeedMult); + data.setInteger("sparkCount", sparkCount); + data.setFloat("sparkSpeedMult", sparkSpeedMult); + data.setDouble("hX", headingX); + data.setDouble("hY", headingY); + data.setDouble("hZ", headingZ); + IParticleCreator.sendPacket(world, x, y, z, 200, data); + } + + @Override + @SideOnly(Side.CLIENT) + public void makeParticle(World world, EntityPlayer player, TextureManager texman, Random rand, double x, double y, double z, NBTTagCompound data) { + + double headingX = data.getDouble("hX"); + double headingY = data.getDouble("hY"); + double headingZ = data.getDouble("hZ"); + int cloudCount = data.getInteger("cloudCount"); + float cloudScale = data.getFloat("cloudScale"); + float cloudSpeedMult = data.getFloat("cloudSpeedMult"); + int sparkCount = data.getInteger("sparkCount"); + float sparkSpeedMult = data.getFloat("sparkSpeedMult"); + + Vec3NT heading = new Vec3NT(headingX, headingY, headingZ).normalizeSelf(); + + for(int i = 0; i < cloudCount; i++) { + ParticleBlackPowderSmoke particle = new ParticleBlackPowderSmoke(world, x, y, z, cloudScale); + double speedMult = 0.85 + rand.nextDouble() * 0.3; + particle.motionX = heading.xCoord * cloudSpeedMult * speedMult + rand.nextGaussian() * 0.05; + particle.motionY = heading.yCoord * cloudSpeedMult * speedMult + rand.nextGaussian() * 0.05; + particle.motionZ = heading.zCoord * cloudSpeedMult * speedMult + rand.nextGaussian() * 0.05; + Minecraft.getMinecraft().effectRenderer.addEffect(particle); + } + + for(int i = 0; i < sparkCount; i++) { + double speedMult = 0.85 + rand.nextDouble() * 0.3; + ParticleBlackPowderSpark particle = new ParticleBlackPowderSpark(world, x, y, z, + heading.xCoord * sparkSpeedMult * speedMult + rand.nextGaussian() * 0.02, + heading.yCoord * sparkSpeedMult * speedMult + rand.nextGaussian() * 0.02, + heading.zCoord * sparkSpeedMult * speedMult + rand.nextGaussian() * 0.02); + Minecraft.getMinecraft().effectRenderer.addEffect(particle); + } + } +} diff --git a/src/main/java/com/hbm/particle/helper/CasingCreator.java b/src/main/java/com/hbm/particle/helper/CasingCreator.java new file mode 100644 index 000000000..51b8f3520 --- /dev/null +++ b/src/main/java/com/hbm/particle/helper/CasingCreator.java @@ -0,0 +1,97 @@ +package com.hbm.particle.helper; + +import java.util.Random; + +import com.hbm.particle.ParticleSpentCasing; +import com.hbm.particle.SpentCasing; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class CasingCreator implements IParticleCreator { + + /** Default casing without smoke */ + public static void composeEffect(World world, EntityLivingBase player, double frontOffset, double heightOffset, double sideOffset, double frontMotion, double heightMotion, double sideMotion, double motionVariance, String casing) { + composeEffect(world, player, frontOffset, heightOffset, sideOffset, frontMotion, heightMotion, sideMotion, motionVariance, 5F, 10F, casing, false, 0, 0, 0); + } + + /** Casing without smoke */ + public static void composeEffect(World world, EntityLivingBase player, double frontOffset, double heightOffset, double sideOffset, double frontMotion, double heightMotion, double sideMotion, double motionVariance, float multPitch, float multYaw, String casing) { + composeEffect(world, player, frontOffset, heightOffset, sideOffset, frontMotion, heightMotion, sideMotion, motionVariance, multPitch, multYaw, casing, false, 0, 0, 0); + } + + /** Default casing, but with smoke*/ + public static void composeEffect(World world, EntityLivingBase player, double frontOffset, double heightOffset, double sideOffset, double frontMotion, double heightMotion, double sideMotion, double motionVariance, String casing, boolean smoking, int smokeLife, double smokeLift, int nodeLife) { + composeEffect(world, player, frontOffset, heightOffset, sideOffset, frontMotion, heightMotion, sideMotion, motionVariance, 5F, 10F, casing, false, 0, 0, 0); + } + + public static void composeEffect(World world, EntityLivingBase player, double frontOffset, double heightOffset, double sideOffset, double frontMotion, double heightMotion, double sideMotion, double motionVariance, float mPitch, float mYaw, String casing, boolean smoking, int smokeLife, double smokeLift, int nodeLife) { + + if(player.isSneaking()) heightOffset -= 0.075F; + + Vec3 offset = Vec3.createVectorHelper(sideOffset, heightOffset, frontOffset); + offset.rotateAroundX(-player.rotationPitch / 180F * (float) Math.PI); + offset.rotateAroundY(-player.rotationYaw / 180F * (float) Math.PI); + + double x = player.posX + offset.xCoord; + double y = player.posY + player.getEyeHeight() + offset.yCoord; + double z = player.posZ + offset.zCoord; + + Vec3 motion = Vec3.createVectorHelper(sideMotion, heightMotion, frontMotion); + motion.rotateAroundX(-player.rotationPitch / 180F * (float) Math.PI); + motion.rotateAroundY(-player.rotationYaw / 180F * (float) Math.PI); + + double mX = player.motionX + motion.xCoord + player.getRNG().nextGaussian() * motionVariance; + double mY = player.motionY + motion.yCoord + player.getRNG().nextGaussian() * motionVariance; + double mZ = player.motionZ + motion.zCoord + player.getRNG().nextGaussian() * motionVariance; + + if(player instanceof EntityPlayer && ((EntityPlayer) player).capabilities.isFlying) mY -= 0.04D; + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "casingNT"); + data.setDouble("mX", mX); + data.setDouble("mY", mY); + data.setDouble("mZ", mZ); + data.setFloat("yaw", player.rotationYaw); + data.setFloat("pitch", player.rotationPitch); + data.setFloat("mPitch", mPitch); + data.setFloat("mYaw", mYaw); + data.setString("name", casing); + data.setBoolean("smoking", smoking); + data.setInteger("smokeLife", smokeLife); + data.setDouble("smokeLift", smokeLift); + data.setInteger("nodeLife", nodeLife); + + IParticleCreator.sendPacket(world, x, y, z, 50, data); + } + + @Override + @SideOnly(Side.CLIENT) + public void makeParticle(World world, EntityPlayer player, TextureManager texman, Random rand, double x, double y, double z, NBTTagCompound data) { + + String name = data.getString("name"); + SpentCasing casingConfig = SpentCasing.casingMap.get(name); + double mX = data.getDouble("mX"); + double mY = data.getDouble("mY"); + double mZ = data.getDouble("mZ"); + float yaw = data.getFloat("yaw"); + float pitch = data.getFloat("pitch"); + float mPitch = data.getFloat("mPitch"); + float mYaw = data.getFloat("mYaw"); + boolean smoking = data.getBoolean("smoking"); + int smokeLife = data.getInteger("smokeLife"); + double smokeLift = data.getDouble("smokeLift"); + int nodeLife = data.getInteger("nodeLife"); + ParticleSpentCasing casing = new ParticleSpentCasing(texman, world, x, y, z, mX, mY, mZ, mPitch, mYaw, casingConfig, smoking, smokeLife, smokeLift, nodeLife); + casing.prevRotationYaw = casing.rotationYaw = yaw; + casing.prevRotationPitch = casing.rotationPitch = pitch; + Minecraft.getMinecraft().effectRenderer.addEffect(casing); + } +} diff --git a/src/main/java/com/hbm/particle/helper/ExplosionSmallCreator.java b/src/main/java/com/hbm/particle/helper/ExplosionSmallCreator.java new file mode 100644 index 000000000..8c8862738 --- /dev/null +++ b/src/main/java/com/hbm/particle/helper/ExplosionSmallCreator.java @@ -0,0 +1,77 @@ +package com.hbm.particle.helper; + +import java.util.Random; + +import com.hbm.particle.ParticleExplosionSmall; + +import cpw.mods.fml.relauncher.ReflectionHelper; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.particle.EntityBlockDustFX; +import net.minecraft.client.particle.EntityFX; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class ExplosionSmallCreator implements IParticleCreator { + + public static final double speedOfSound = (17.15D) * 0.5; + + public static void composeEffect(World world, double x, double y, double z, int cloudCount, float cloudScale, float cloudSpeedMult) { + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "explosionSmall"); + data.setInteger("cloudCount", cloudCount); + data.setFloat("cloudScale", cloudScale); + data.setFloat("cloudSpeedMult", cloudSpeedMult); + data.setInteger("debris", 15); + IParticleCreator.sendPacket(world, x, y, z, 200, data); + } + + @Override + @SideOnly(Side.CLIENT) + public void makeParticle(World world, EntityPlayer player, TextureManager texman, Random rand, double x, double y, double z, NBTTagCompound data) { + + int cloudCount = data.getInteger("cloudCount"); + float cloudScale = data.getFloat("cloudScale"); + float cloudSpeedMult = data.getFloat("cloudSpeedMult"); + int debris = data.getInteger("debris"); + + float dist = (float) player.getDistance(x, y, z); + float soundRange = 200F; + + if(dist <= soundRange) { + String sound = dist <= soundRange * 0.4 ? "hbm:weapon.explosionSmallNear" : "hbm:weapon.explosionSmallFar"; + PositionedSoundRecord positionedsoundrecord = new PositionedSoundRecord(new ResourceLocation(sound), 100F, 0.9F + rand.nextFloat() * 0.2F, (float) x, (float) y, (float) z); + Minecraft.getMinecraft().getSoundHandler().playDelayedSound(positionedsoundrecord, (int) (dist / speedOfSound)); + } + + for(int i = 0; i < cloudCount; i++) { + ParticleExplosionSmall particle = new ParticleExplosionSmall(world, x, y, z, cloudScale, cloudSpeedMult); + Minecraft.getMinecraft().effectRenderer.addEffect(particle); + } + + Block b = Blocks.air; + int meta = 0; + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + b = world.getBlock((int) Math.floor(x) + dir.offsetX, (int) Math.floor(y) + dir.offsetY, (int) Math.floor(z) + dir.offsetZ); + meta = world.getBlockMetadata((int) Math.floor(x) + dir.offsetX, (int) Math.floor(y) + dir.offsetY, (int) Math.floor(z) + dir.offsetZ); + if(b != Blocks.air) break; + } + + if(b != Blocks.air) for(int i = 0; i < debris; i++) { + EntityBlockDustFX fx = new EntityBlockDustFX(world, x, y + 0.1, z, world.rand.nextGaussian() * 0.2, 0.5F + world.rand.nextDouble() * 0.7, world.rand.nextGaussian() * 0.2, b, meta); + fx.multipleParticleScaleBy(2); + ReflectionHelper.setPrivateValue(EntityFX.class, fx, 50 + rand.nextInt(20), "particleMaxAge", "field_70547_e"); + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + } +} diff --git a/src/main/java/com/hbm/particle/helper/FlameCreator.java b/src/main/java/com/hbm/particle/helper/FlameCreator.java new file mode 100644 index 000000000..759eeb04e --- /dev/null +++ b/src/main/java/com/hbm/particle/helper/FlameCreator.java @@ -0,0 +1,47 @@ +package com.hbm.particle.helper; + +import java.util.Random; + +import com.hbm.main.MainRegistry; +import com.hbm.particle.ParticleFlamethrower; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class FlameCreator implements IParticleCreator { + + public static int META_FIRE = 0; + public static int META_BALEFIRE = 1; + public static int META_DIGAMMA = 2; + public static int META_OXY = 3; + public static int META_BLACK = 4; + + public static void composeEffect(World world, double x, double y, double z, int meta) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "flamethrower"); + data.setInteger("meta", meta); + IParticleCreator.sendPacket(world, x, y, z, 50, data); + } + + public static void composeEffectClient(World world, double x, double y, double z, int meta) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "flamethrower"); + data.setInteger("meta", meta); + data.setDouble("posX", x); + data.setDouble("posY", y); + data.setDouble("posZ", z); + MainRegistry.proxy.effectNT(data); + } + + @Override + @SideOnly(Side.CLIENT) + public void makeParticle(World world, EntityPlayer player, TextureManager texman, Random rand, double x, double y, double z, NBTTagCompound data) { + ParticleFlamethrower particle = new ParticleFlamethrower(world, x, y, z, data.getInteger("meta")); + Minecraft.getMinecraft().effectRenderer.addEffect(particle); + } +} diff --git a/src/main/java/com/hbm/particle/helper/IParticleCreator.java b/src/main/java/com/hbm/particle/helper/IParticleCreator.java index 2dbae2da1..fcab9b78f 100644 --- a/src/main/java/com/hbm/particle/helper/IParticleCreator.java +++ b/src/main/java/com/hbm/particle/helper/IParticleCreator.java @@ -2,8 +2,8 @@ package com.hbm.particle.helper; import java.util.Random; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; @@ -13,12 +13,19 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; +/** + * Does two cool things: + *
- requires no more additions to ClientProxy which is already bloated, full of other stuff and cumbersome to work with + *
- being a separate class, we can get as messy as we want without affecting other particles, so effects can overall have more logic behind them without turning into a big ugly clump + * @author hbm + * + */ public interface IParticleCreator { @SideOnly(Side.CLIENT) public void makeParticle(World world, EntityPlayer player, TextureManager texman, Random rand, double x, double y, double z, NBTTagCompound data); - + public static void sendPacket(World world, double x, double y, double z, int range, NBTTagCompound data) { - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(world.provider.dimensionId, x, y, z, range)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(world.provider.dimensionId, x, y, z, range)); } } diff --git a/src/main/java/com/hbm/particle/helper/ParticleCreators.java b/src/main/java/com/hbm/particle/helper/ParticleCreators.java new file mode 100644 index 000000000..2f23f88f4 --- /dev/null +++ b/src/main/java/com/hbm/particle/helper/ParticleCreators.java @@ -0,0 +1,18 @@ +package com.hbm.particle.helper; + +import java.util.HashMap; + +public class ParticleCreators { + + public static HashMap particleCreators = new HashMap(); + + static { + particleCreators.put("explosionLarge", new ExplosionCreator()); + particleCreators.put("casingNT", new CasingCreator()); + particleCreators.put("flamethrower", new FlameCreator()); + particleCreators.put("explosionSmall", new ExplosionSmallCreator()); + particleCreators.put("blackPowder", new BlackPowderCreator()); + particleCreators.put("ashes", new AshesCreator()); + particleCreators.put("skeleton", new SkeletonCreator()); + } +} diff --git a/src/main/java/com/hbm/particle/helper/SkeletonCreator.java b/src/main/java/com/hbm/particle/helper/SkeletonCreator.java new file mode 100644 index 000000000..98018bd17 --- /dev/null +++ b/src/main/java/com/hbm/particle/helper/SkeletonCreator.java @@ -0,0 +1,173 @@ +package com.hbm.particle.helper; + +import java.util.HashMap; +import java.util.Random; +import java.util.function.Function; + +import com.hbm.entity.mob.EntityDummy; +import com.hbm.entity.mob.EntityUndeadSoldier; +import com.hbm.main.ClientProxy; +import com.hbm.particle.ParticleSkeleton; +import com.hbm.util.Vec3NT; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.client.entity.EntityClientPlayerMP; +import net.minecraft.client.entity.EntityOtherPlayerMP; +import net.minecraft.client.entity.EntityPlayerSP; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.monster.EntityPigZombie; +import net.minecraft.entity.monster.EntitySkeleton; +import net.minecraft.entity.monster.EntityWitch; +import net.minecraft.entity.monster.EntityZombie; +import net.minecraft.entity.passive.EntityVillager; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class SkeletonCreator implements IParticleCreator { + + public static HashMap> skullanizer = new HashMap(); + + public static void composeEffect(World world, Entity toSkeletonize, float brightness) { + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "skeleton"); + data.setInteger("entityID", toSkeletonize.getEntityId()); + data.setFloat("brightness", brightness); + IParticleCreator.sendPacket(world, toSkeletonize.posX, toSkeletonize.posY, toSkeletonize.posZ, 100, data); + } + + @Override + @SideOnly(Side.CLIENT) + public void makeParticle(World world, EntityPlayer player, TextureManager texman, Random rand, double x, double y, double z, NBTTagCompound data) { + + if(skullanizer.isEmpty()) init(); + + int entityID = data.getInteger("entityID"); + Entity entity = world.getEntityByID(entityID); + if(!(entity instanceof EntityLivingBase)) return; + EntityLivingBase living = (EntityLivingBase) entity; + + ClientProxy.vanish(entityID); + + float brightness = data.getFloat("brightness"); + + Function bonealizer = skullanizer.get(entity.getClass().getSimpleName()); + + if(bonealizer != null) { + BoneDefinition[] bones = bonealizer.apply(living); + for(BoneDefinition bone : bones) { + ParticleSkeleton skeleton = new ParticleSkeleton(Minecraft.getMinecraft().getTextureManager(), world, bone.x, bone.y, bone.z, brightness, brightness, brightness, bone.type); + skeleton.prevRotationYaw = skeleton.rotationYaw = bone.yaw; + skeleton.prevRotationPitch = skeleton.rotationPitch = bone.pitch; + Minecraft.getMinecraft().effectRenderer.addEffect(skeleton); + } + } + } + + public static class BoneDefinition { + public EnumSkeletonType type; + public float yaw; + public float pitch; + public double x; + public double y; + public double z; + + public BoneDefinition(EnumSkeletonType type, float yaw, float pitch, double x, double y, double z) { + this.type = type; + this.yaw = yaw; + this.pitch = pitch; + this.x = x; + this.y = y; + this.z = z; + } + } + + public static enum EnumSkeletonType { + SKULL, TORSO, LIMB, SKULL_VILLAGER + } + + public static Function BONES_BIPED = (entity) -> { + Vec3NT leftarm = new Vec3NT(0.375, 0, 0).rotateAroundYDeg(-entity.renderYawOffset); + Vec3NT leftleg = new Vec3NT(0.125, 0, 0).rotateAroundYDeg(-entity.renderYawOffset); + return new BoneDefinition[] { + new BoneDefinition(EnumSkeletonType.SKULL, -entity.rotationYawHead, entity.rotationPitch, entity.posX, entity.posY + 1.75, entity.posZ), + new BoneDefinition(EnumSkeletonType.TORSO, -entity.renderYawOffset, 0, entity.posX, entity.posY + 1.125, entity.posZ), + new BoneDefinition(EnumSkeletonType.LIMB, -entity.renderYawOffset, 0, entity.posX + leftarm.xCoord, entity.posY + 1.125, entity.posZ + leftarm.zCoord), + new BoneDefinition(EnumSkeletonType.LIMB, -entity.renderYawOffset, 0, entity.posX - leftarm.xCoord, entity.posY + 1.125, entity.posZ - leftarm.zCoord), + new BoneDefinition(EnumSkeletonType.LIMB, -entity.renderYawOffset, 0, entity.posX + leftleg.xCoord, entity.posY + 0.375, entity.posZ + leftleg.zCoord), + new BoneDefinition(EnumSkeletonType.LIMB, -entity.renderYawOffset, 0, entity.posX - leftleg.xCoord, entity.posY + 0.375, entity.posZ - leftleg.zCoord), + }; + }; + + public static Function BONES_ZOMBIE = (entity) -> { + Vec3NT leftarm = new Vec3NT(0.375, 0, 0).rotateAroundYDeg(-entity.renderYawOffset); + Vec3NT forward = new Vec3NT(0, 0, 0.25).rotateAroundYDeg(-entity.renderYawOffset); + Vec3NT leftleg = new Vec3NT(0.125, 0, 0).rotateAroundYDeg(-entity.renderYawOffset); + return new BoneDefinition[] { + new BoneDefinition(EnumSkeletonType.SKULL, -entity.rotationYawHead, entity.rotationPitch, entity.posX, entity.posY + 1.75, entity.posZ), + new BoneDefinition(EnumSkeletonType.TORSO, -entity.renderYawOffset, 0, entity.posX, entity.posY + 1.125, entity.posZ), + new BoneDefinition(EnumSkeletonType.LIMB, -entity.renderYawOffset, -90, entity.posX + leftarm.xCoord + forward.xCoord, entity.posY + 1.375, entity.posZ + leftarm.zCoord + forward.zCoord), + new BoneDefinition(EnumSkeletonType.LIMB, -entity.renderYawOffset, -90, entity.posX - leftarm.xCoord + forward.xCoord, entity.posY + 1.375, entity.posZ - leftarm.zCoord + forward.zCoord), + new BoneDefinition(EnumSkeletonType.LIMB, -entity.renderYawOffset, 0, entity.posX + leftleg.xCoord, entity.posY + 0.375, entity.posZ + leftleg.zCoord), + new BoneDefinition(EnumSkeletonType.LIMB, -entity.renderYawOffset, 0, entity.posX - leftleg.xCoord, entity.posY + 0.375, entity.posZ - leftleg.zCoord), + }; + }; + + public static Function BONES_VILLAGER = (entity) -> { + Vec3NT leftarm = new Vec3NT(0.375, 0, 0).rotateAroundYDeg(-entity.renderYawOffset); + Vec3NT forward = new Vec3NT(0, 0, 0.25).rotateAroundYDeg(-entity.renderYawOffset); + Vec3NT leftleg = new Vec3NT(0.125, 0, 0).rotateAroundYDeg(-entity.renderYawOffset); + return new BoneDefinition[] { + new BoneDefinition(EnumSkeletonType.SKULL_VILLAGER, -entity.rotationYawHead, entity.rotationPitch, entity.posX, entity.posY + 1.6875, entity.posZ), + new BoneDefinition(EnumSkeletonType.TORSO, -entity.renderYawOffset, 0, entity.posX, entity.posY + 1, entity.posZ), + new BoneDefinition(EnumSkeletonType.LIMB, -entity.renderYawOffset, -45, entity.posX + leftarm.xCoord + forward.xCoord, entity.posY + 1.125, entity.posZ + leftarm.zCoord + forward.zCoord), + new BoneDefinition(EnumSkeletonType.LIMB, -entity.renderYawOffset, -45, entity.posX - leftarm.xCoord + forward.xCoord, entity.posY + 1.125, entity.posZ - leftarm.zCoord + forward.zCoord), + new BoneDefinition(EnumSkeletonType.LIMB, -entity.renderYawOffset, 0, entity.posX + leftleg.xCoord, entity.posY + 0.375, entity.posZ + leftleg.zCoord), + new BoneDefinition(EnumSkeletonType.LIMB, -entity.renderYawOffset, 0, entity.posX - leftleg.xCoord, entity.posY + 0.375, entity.posZ - leftleg.zCoord), + }; + }; + + public static Function BONES_DUMMY = (entity) -> { + Vec3NT leftarm = new Vec3NT(0.375, 0, 0).rotateAroundYDeg(-entity.renderYawOffset); + Vec3NT leftleg = new Vec3NT(0.125, 0, 0).rotateAroundYDeg(-entity.renderYawOffset); + return new BoneDefinition[] { + new BoneDefinition(EnumSkeletonType.SKULL, -entity.rotationYawHead, entity.rotationPitch, entity.posX, entity.posY + 1.75, entity.posZ), + new BoneDefinition(EnumSkeletonType.TORSO, -entity.renderYawOffset, 0, entity.posX, entity.posY + 1.125, entity.posZ), + new BoneDefinition(EnumSkeletonType.LIMB, -entity.renderYawOffset, 0, entity.posX + leftarm.xCoord, entity.posY + 1.125, entity.posZ + leftarm.zCoord), + new BoneDefinition(EnumSkeletonType.LIMB, -entity.renderYawOffset, 0, entity.posX - leftarm.xCoord, entity.posY + 1.125, entity.posZ - leftarm.zCoord), + new BoneDefinition(EnumSkeletonType.LIMB, -entity.renderYawOffset, 0, entity.posX + leftleg.xCoord, entity.posY + 0.375, entity.posZ + leftleg.zCoord), + new BoneDefinition(EnumSkeletonType.LIMB, -entity.renderYawOffset, 0, entity.posX - leftleg.xCoord, entity.posY + 0.375, entity.posZ - leftleg.zCoord), + }; + }; + + public static void init() { + skullanizer.put(EntityOtherPlayerMP.class.getSimpleName(), BONES_BIPED); + skullanizer.put(EntityClientPlayerMP.class.getSimpleName(), BONES_BIPED); + skullanizer.put(EntityPlayerSP.class.getSimpleName(), BONES_BIPED); + + skullanizer.put(EntityZombie.class.getSimpleName(), BONES_ZOMBIE); + skullanizer.put(EntitySkeleton.class.getSimpleName(), BONES_ZOMBIE); + skullanizer.put(EntityPigZombie.class.getSimpleName(), BONES_ZOMBIE); + skullanizer.put(EntityUndeadSoldier.class.getSimpleName(), BONES_ZOMBIE); + + skullanizer.put(EntityVillager.class.getSimpleName(), BONES_VILLAGER); + skullanizer.put(EntityWitch.class.getSimpleName(), BONES_VILLAGER); + + skullanizer.put(EntityDummy.class.getSimpleName(), BONES_DUMMY); + + //techguns compat, for some reason + //not alwayss accurate because of variable arm position, but better than nothing + skullanizer.put("ArmySoldier", BONES_ZOMBIE); + skullanizer.put("PsychoSteve", BONES_ZOMBIE); + skullanizer.put("SkeletonSoldier", BONES_ZOMBIE); + skullanizer.put("ZombieFarmer", BONES_ZOMBIE); + skullanizer.put("ZombieMiner", BONES_ZOMBIE); + skullanizer.put("ZombiePigmanSoldier", BONES_ZOMBIE); + skullanizer.put("ZombieSoldier", BONES_ZOMBIE); + } +} diff --git a/src/main/java/com/hbm/particle/psys/engine/EventHandlerParticleEngine.java b/src/main/java/com/hbm/particle/psys/engine/EventHandlerParticleEngine.java index 17c189f19..30b798e35 100644 --- a/src/main/java/com/hbm/particle/psys/engine/EventHandlerParticleEngine.java +++ b/src/main/java/com/hbm/particle/psys/engine/EventHandlerParticleEngine.java @@ -21,7 +21,7 @@ public class EventHandlerParticleEngine { @SubscribeEvent public void onRenderWorldLast(RenderWorldLastEvent event) { - float interp = event.partialTicks; + //float interp = event.partialTicks; } @SubscribeEvent diff --git a/src/main/java/com/hbm/potion/HbmPotion.java b/src/main/java/com/hbm/potion/HbmPotion.java index a7688f2da..c1189b8b6 100644 --- a/src/main/java/com/hbm/potion/HbmPotion.java +++ b/src/main/java/com/hbm/potion/HbmPotion.java @@ -3,9 +3,8 @@ package com.hbm.potion; import java.lang.reflect.Field; import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.bomb.BlockTaint; -import com.hbm.config.GeneralConfig; import com.hbm.config.PotionConfig; +import com.hbm.config.ServerConfig; import com.hbm.entity.mob.EntityTaintCrab; import com.hbm.entity.mob.EntityCreeperTainted; import com.hbm.explosion.ExplosionLarge; @@ -19,6 +18,7 @@ import com.hbm.util.ContaminationUtil.HazardType; import cpw.mods.fml.relauncher.ReflectionHelper; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.passive.EntityCow; @@ -107,17 +107,15 @@ public class HbmPotion extends Potion { if(!(entity instanceof EntityCreeperTainted) && !(entity instanceof EntityTaintCrab) && entity.worldObj.rand.nextInt(40) == 0) entity.attackEntityFrom(ModDamageSource.taint, (level + 1)); - if(GeneralConfig.enableHardcoreTaint && !entity.worldObj.isRemote) { + if(ServerConfig.TAINT_TRAILS.get() && !entity.worldObj.isRemote) { - int x = (int)(entity.posX - 1); - int y = (int)entity.posY; - int z = (int)(entity.posZ); + int x = (int) Math.floor(entity.posX); + int y = (int) Math.floor(entity.posY); + int z = (int) Math.floor(entity.posZ); - if(entity.worldObj.getBlock(x, y, z) - .isReplaceable(entity.worldObj, x, y, z) && - BlockTaint.hasPosNeightbour(entity.worldObj, x, y, z)) { - - entity.worldObj.setBlock(x, y, z, ModBlocks.taint, 14, 2); + Block b = entity.worldObj.getBlock(x, y - 1, z); + if(y > 1 && b.isNormalCube() && !b.isAir(entity.worldObj, x, y - 1, z)) { + entity.worldObj.setBlock(x, y - 1, z, ModBlocks.taint, 14, 2); } } } diff --git a/src/main/java/com/hbm/qmaw/GuiQMAW.java b/src/main/java/com/hbm/qmaw/GuiQMAW.java new file mode 100644 index 000000000..b579a846e --- /dev/null +++ b/src/main/java/com/hbm/qmaw/GuiQMAW.java @@ -0,0 +1,5 @@ +package com.hbm.qmaw; + +public class GuiQMAW { + +} diff --git a/src/main/java/com/hbm/qmaw/ManualElement.java b/src/main/java/com/hbm/qmaw/ManualElement.java new file mode 100644 index 000000000..f878bf8ae --- /dev/null +++ b/src/main/java/com/hbm/qmaw/ManualElement.java @@ -0,0 +1,12 @@ +package com.hbm.qmaw; + +public abstract class ManualElement { + + public int x; + public int y; + + public abstract int getWidth(); + public abstract int getHeight(); + public abstract void render(boolean isMouseOver, int mouseX, int mouseY); + public abstract void onClick(); +} diff --git a/src/main/java/com/hbm/qmaw/QMAWLoader.java b/src/main/java/com/hbm/qmaw/QMAWLoader.java new file mode 100644 index 000000000..710511a4b --- /dev/null +++ b/src/main/java/com/hbm/qmaw/QMAWLoader.java @@ -0,0 +1,160 @@ +package com.hbm.qmaw; + +import java.io.File; +import java.io.FileReader; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.HashSet; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; + +import com.google.gson.Gson; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import com.hbm.interfaces.NotableComments; +import com.hbm.main.MainRegistry; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.FileResourcePack; +import net.minecraft.client.resources.FolderResourcePack; +import net.minecraft.client.resources.IResourceManager; +import net.minecraft.client.resources.IResourceManagerReloadListener; +import net.minecraft.client.resources.IResourcePack; +import net.minecraft.client.resources.ResourcePackRepository; + +@NotableComments +public class QMAWLoader implements IResourceManagerReloadListener { + + public static final HashSet registeredModFiles = new HashSet(); + public static final Gson gson = new Gson(); + public static final JsonParser parser = new JsonParser(); + public static HashMap qmaw = new HashMap(); + + @Override + public void onResourceManagerReload(IResourceManager resMan) { + long timestamp = System.currentTimeMillis(); + MainRegistry.logger.info("[QMAW] Reloading manual..."); + init(); + MainRegistry.logger.info("[QMAW] Loaded " + qmaw.size() + " manual entries! (" + (System.currentTimeMillis() - timestamp) + "ms)"); + } + + /** For the like 2 people who might consider making an NTM addon and want to include manual pages */ + public static void registerModFileURL(File file) { + registeredModFiles.add(file); + } + + /** Searches the asset folder for QMAW format JSON files and adds entries based on that */ + public static void init() { + + //the mod's file, assuming the mod is a file (not the case in a dev env, fuck!) + //no fucking null check, if this fails then the entire game will sink along with the ship + registerModFileURL(new File(QMAWLoader.class.getProtectionDomain().getCodeSource().getLocation().getPath())); // i am going to shit myself + + qmaw.clear(); + agonyEngine(); + } + + /** "digital equivalent to holywater" yielded few results on google, if only i had the answer i would drown this entire class in it */ + public static void agonyEngine() { + + for(File modFile : registeredModFiles) dissectZip(modFile); + + File devEnvManualFolder = new File(Minecraft.getMinecraft().mcDataDir.getAbsolutePath().replace("/eclipse/.", "") + "/src/main/resources/assets/hbm/manual"); + if(devEnvManualFolder.exists() && devEnvManualFolder.isDirectory()) { + MainRegistry.logger.info("[QMAW] Exploring " + devEnvManualFolder.getAbsolutePath()); + dissectManualFolder(devEnvManualFolder); + } + + ResourcePackRepository repo = Minecraft.getMinecraft().getResourcePackRepository(); + + for(Object o : repo.getRepositoryEntries()) { + ResourcePackRepository.Entry entry = (ResourcePackRepository.Entry) o; + IResourcePack pack = entry.getResourcePack(); + + logPackAttempt(pack.getPackName()); + + if(pack instanceof FileResourcePack) { + dissectZip(((FileResourcePack) pack).resourcePackFile); + } + + if(pack instanceof FolderResourcePack) { + dissectFolder(((FolderResourcePack) pack).resourcePackFile); + } + } + } + + public static void logPackAttempt(String name) { MainRegistry.logger.info("[QMAW] Dissecting resource " + name); } + public static void logFoundManual(String name) { MainRegistry.logger.info("[QMAW] Found manual " + name); } + + /** You put your white gloves on, you get your hand in there, and then you iterate OVER THE ENTIRE FUCKING ZIP until we find things we deem usable */ + public static void dissectZip(File zipFile) { + + if(zipFile == null) { + MainRegistry.logger.info("[QMAW] Pack file does not exist!"); + return; + } + + ZipFile zip = null; + + try { + zip = new ZipFile(zipFile); + Enumeration enumerator = zip.entries(); + + while(enumerator.hasMoreElements()) { + ZipEntry entry = enumerator.nextElement(); + String name = entry.getName(); + if(name.startsWith("assets/hbm/manual/") && name.endsWith(".json")) { + InputStream fileStream = zip.getInputStream(entry); + InputStreamReader reader = new InputStreamReader(fileStream); + try { + JsonObject obj = (JsonObject) parser.parse(reader); + String manName = name.replace("assets/hbm/manual/", ""); + registerJson(manName, obj); + reader.close(); + logFoundManual(manName); + } catch(Exception ex) { + MainRegistry.logger.info("[QMAW] Error reading manual " + name + ": " + ex); + } + } + } + + } catch(Exception ex) { + MainRegistry.logger.info("[QMAW] Error dissecting zip " + zipFile.getName() + ": " + ex); + } finally { + try { + if(zip != null) zip.close(); + } catch(Exception ex) { } + } + } + + /** Opens a resource pack folder, skips to the manual folder, then tries to dissect that */ + public static void dissectFolder(File folder) { + File manualFolder = new File(folder, "/assets/manual"); + if(manualFolder.exists() && manualFolder.isDirectory()) dissectManualFolder(manualFolder); + } + + /** Anal bleeding */ + public static void dissectManualFolder(File folder) { + + File[] files = folder.listFiles(); + for(File file : files) { + String name = file.getName(); + if(file.isFile() && name.endsWith(".json")) { + try { + FileReader reader = new FileReader(file); + JsonObject obj = (JsonObject) parser.parse(reader); + registerJson(name, obj); + logFoundManual(name); + } catch(Exception ex) { + MainRegistry.logger.info("[QMAW] Error reading manual " + name + ": " + ex); + } + } + } + } + + public static void registerJson(String name, JsonObject json) { + //TBI + } +} diff --git a/src/main/java/com/hbm/qmaw/QuickManualAndWiki.java b/src/main/java/com/hbm/qmaw/QuickManualAndWiki.java new file mode 100644 index 000000000..7f206bad6 --- /dev/null +++ b/src/main/java/com/hbm/qmaw/QuickManualAndWiki.java @@ -0,0 +1,5 @@ +package com.hbm.qmaw; + +public class QuickManualAndWiki { + +} diff --git a/src/main/java/com/hbm/qmaw/components/QComponentText.java b/src/main/java/com/hbm/qmaw/components/QComponentText.java new file mode 100644 index 000000000..fd06d1150 --- /dev/null +++ b/src/main/java/com/hbm/qmaw/components/QComponentText.java @@ -0,0 +1,44 @@ +package com.hbm.qmaw.components; + +import com.hbm.qmaw.ManualElement; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; + +public class QComponentText extends ManualElement { + + protected String text; + protected FontRenderer font; + protected int color = 0xFFFFFF; + + public QComponentText(String text) { + this(text, Minecraft.getMinecraft().fontRenderer); + } + + public QComponentText(String text, FontRenderer font) { + this.text = text; + this.font = font; + } + + public QComponentText setColor(int color) { + this.color = color; + return this; + } + + @Override + public int getWidth() { + return font.getStringWidth(text); + } + + @Override + public int getHeight() { + return font.FONT_HEIGHT; + } + + @Override + public void render(boolean isMouseOver, int mouseX, int mouseY) { + font.drawString(text, x, y, color); + } + + @Override public void onClick() { } +} diff --git a/src/main/java/com/hbm/render/anim/AnimationLoader.java b/src/main/java/com/hbm/render/anim/AnimationLoader.java index 4ad0edb6a..0f99d66b3 100644 --- a/src/main/java/com/hbm/render/anim/AnimationLoader.java +++ b/src/main/java/com/hbm/render/anim/AnimationLoader.java @@ -14,138 +14,180 @@ import com.google.gson.JsonArray; import net.minecraft.client.Minecraft; import net.minecraft.util.ResourceLocation; -import com.hbm.render.anim.BusAnimationKeyframe.InterpolationType; +import com.hbm.render.anim.BusAnimationKeyframe.IType; +import com.hbm.render.anim.BusAnimationKeyframe.EType; +import com.hbm.render.anim.BusAnimationKeyframe.HType; import com.hbm.render.anim.BusAnimationSequence.Dimension; public class AnimationLoader { - // The collada loader is great, but is not so backwards compatible and spews keyframes rather than doing interpolation - // Yeah - more animation loading is not so great, but 3mb for a single door opening is maybe overkill on a 50mb mod - // and even though the format supports multiple animations, no fucking animation software will actually export multiple animations, - // (even though blender even has a fucking toggle for it, but it doesn't _do_ anything) - // This instead just loads transformation data from a JSON file, turning it into a set of BusAnimations - // See ntm-animator.blend for a JSON format creation script + // The collada loader is great, but is not so backwards compatible and spews keyframes rather than doing interpolation + // Yeah - more animation loading is not so great, but 3mb for a single door opening is maybe overkill on a 50mb mod + // and even though the format supports multiple animations, no fucking animation software will actually export multiple animations, + // (even though blender even has a fucking toggle for it, but it doesn't _do_ anything) + // This instead just loads transformation data from a JSON file, turning it into a set of BusAnimations + // See ntm-animator.blend for a JSON format creation script - // "How do I make animations?" - // See ntm-animator.blend, it has the Colt/Python already setup and animated as an example, it'll generate JSON data that this can load + // "How do I make animations?" + // See ntm-animator.blend, it has the Colt/Python already setup and animated as an example, it'll generate JSON data that this can load public static final Gson gson = new Gson(); - public static HashMap load(ResourceLocation file) { - HashMap animations = new HashMap(); + public static HashMap load(ResourceLocation file) { + HashMap animations = new HashMap(); - InputStream in; - try { - in = Minecraft.getMinecraft().getResourceManager().getResource(file).getInputStream(); - } catch (IOException ex) { - return null; - } + InputStream in; + try { + in = Minecraft.getMinecraft().getResourceManager().getResource(file).getInputStream(); + } catch (IOException ex) { + return null; + } - InputStreamReader reader = new InputStreamReader(in); - JsonObject json = gson.fromJson(reader, JsonObject.class); + InputStreamReader reader = new InputStreamReader(in); + JsonObject json = gson.fromJson(reader, JsonObject.class); - // Load our model offsets, we'll place these into all the sequences that share the name of the offset - // The offsets are only required when sequences are played for an object, which is why we don't globally offset! The obj rendering handles the non-animated case fine - // Effectively, this removes double translation AND ensures that rotations occur around the individual object origin, rather than the weapon origin - HashMap offsets = new HashMap(); - for (Map.Entry root : json.getAsJsonObject("offset").entrySet()) { - double[] offset = new double[3]; + // Load our model offsets, we'll place these into all the sequences that share the name of the offset + // The offsets are only required when sequences are played for an object, which is why we don't globally offset! The obj rendering handles the non-animated case fine + // Effectively, this removes double translation AND ensures that rotations occur around the individual object origin, rather than the weapon origin + HashMap offsets = new HashMap(); + for(Map.Entry root : json.getAsJsonObject("offset").entrySet()) { + JsonArray array = root.getValue().getAsJsonArray(); - for (int i = 0; i < 3; i++) { - offset[i] = root.getValue().getAsJsonArray().get(i).getAsDouble(); - } + double[] offset = new double[3]; + for(int i = 0; i < 3; i++) { + offset[i] = array.get(i).getAsDouble(); + } - offsets.put(root.getKey(), offset); - } + offsets.put(root.getKey(), offset); + } + + // Rotation modes, swizzled into our local space. YZX in blender becomes XYZ due to: + // * rotation order reversed in blender (XYZ -> ZYX) + // * dimensions Y and Z are swapped in blender (ZYX -> YZX) + HashMap rotModes = new HashMap(); + if(json.has("rotmode")) { + for(Map.Entry root : json.getAsJsonObject("rotmode").entrySet()) { + String mode = root.getValue().getAsString(); + + double[] rotMode = new double[3]; + rotMode[0] = getRot(mode.charAt(2)); + rotMode[1] = getRot(mode.charAt(0)); + rotMode[2] = getRot(mode.charAt(1)); + } + } - // Top level parsing, this is for the animation name as set in Blender - for (Map.Entry root : json.getAsJsonObject("anim").entrySet()) { - BusAnimation animation = new BusAnimation(); + // Top level parsing, this is for the animation name as set in Blender + for(Map.Entry root : json.getAsJsonObject("anim").entrySet()) { + BusAnimation animation = new BusAnimation(); - // Loading the buses for this animation - JsonObject entryObject = root.getValue().getAsJsonObject(); - for (Map.Entry model : entryObject.entrySet()) { - String modelName = model.getKey(); - double[] offset = new double[3]; - if (offsets.containsKey(modelName)) offset = offsets.get(modelName); - animation.addBus(modelName, loadSequence(model.getValue().getAsJsonObject(), offset)); - } + // Loading the buses for this animation + JsonObject entryObject = root.getValue().getAsJsonObject(); + for(Map.Entry model : entryObject.entrySet()) { + String modelName = model.getKey(); + double[] offset = new double[3]; + double[] rotMode = new double[] { 0, 1, 2 }; + if(offsets.containsKey(modelName)) offset = offsets.get(modelName); + if(rotModes.containsKey(modelName)) rotMode = rotModes.get(modelName); + animation.addBus(modelName, loadSequence(model.getValue().getAsJsonObject(), offset, rotMode)); + } - animations.put(root.getKey(), animation); - } + animations.put(root.getKey(), animation); + } - return animations; - } + return animations; + } - private static BusAnimationSequence loadSequence(JsonObject json, double[] offset) { - BusAnimationSequence sequence = new BusAnimationSequence(); + private static double getRot(char value) { + switch(value) { + case 'X': return 0; + case 'Y': return 1; + case 'Z': return 2; + default: return 0; + } + } - // Location fcurves - if (json.has("location")) { - JsonObject location = json.getAsJsonObject("location"); + private static BusAnimationSequence loadSequence(JsonObject json, double[] offset, double[] rotMode) { + BusAnimationSequence sequence = new BusAnimationSequence(); - if (location.has("x")) { - addToSequence(sequence, Dimension.TX, location.getAsJsonArray("x")); - } - if (location.has("y")) { - addToSequence(sequence, Dimension.TY, location.getAsJsonArray("y")); - } - if (location.has("z")) { - addToSequence(sequence, Dimension.TZ, location.getAsJsonArray("z")); - } - } + // Location fcurves + if(json.has("location")) { + JsonObject location = json.getAsJsonObject("location"); - // Rotation fcurves, only euler at the moment - if (json.has("rotation_euler")) { - JsonObject rotation = json.getAsJsonObject("rotation_euler"); + if(location.has("x")) addToSequence(sequence, Dimension.TX, location.getAsJsonArray("x")); + if(location.has("y")) addToSequence(sequence, Dimension.TY, location.getAsJsonArray("y")); + if(location.has("z")) addToSequence(sequence, Dimension.TZ, location.getAsJsonArray("z")); + } - if (rotation.has("x")) { - addToSequence(sequence, Dimension.RX, rotation.getAsJsonArray("x")); - } - if (rotation.has("y")) { - addToSequence(sequence, Dimension.RY, rotation.getAsJsonArray("y")); - } - if (rotation.has("z")) { - addToSequence(sequence, Dimension.RZ, rotation.getAsJsonArray("z")); - } - } + // Rotation fcurves, only euler at the moment + if(json.has("rotation_euler")) { + JsonObject rotation = json.getAsJsonObject("rotation_euler"); - // Scale fcurves - if (json.has("scale")) { - JsonObject scale = json.getAsJsonObject("scale"); + if(rotation.has("x")) addToSequence(sequence, Dimension.RX, rotation.getAsJsonArray("x")); + if(rotation.has("y")) addToSequence(sequence, Dimension.RY, rotation.getAsJsonArray("y")); + if(rotation.has("z")) addToSequence(sequence, Dimension.RZ, rotation.getAsJsonArray("z")); + } - if (scale.has("x")) { - addToSequence(sequence, Dimension.SX, scale.getAsJsonArray("x")); - } - if (scale.has("y")) { - addToSequence(sequence, Dimension.SY, scale.getAsJsonArray("y")); - } - if (scale.has("z")) { - addToSequence(sequence, Dimension.SZ, scale.getAsJsonArray("z")); - } - } + // Scale fcurves + if(json.has("scale")) { + JsonObject scale = json.getAsJsonObject("scale"); - sequence.offset = offset; + if(scale.has("x")) addToSequence(sequence, Dimension.SX, scale.getAsJsonArray("x")); + if(scale.has("y")) addToSequence(sequence, Dimension.SY, scale.getAsJsonArray("y")); + if(scale.has("z")) addToSequence(sequence, Dimension.SZ, scale.getAsJsonArray("z")); + } - return sequence; - } + sequence.offset = offset; + sequence.rotMode = rotMode; - private static void addToSequence(BusAnimationSequence sequence, Dimension dimension, JsonArray array) { - for (JsonElement element : array) { - sequence.addKeyframe(dimension, loadKeyframe(element)); - } - } + return sequence; + } - private static BusAnimationKeyframe loadKeyframe(JsonElement element) { - JsonArray array = element.getAsJsonArray(); + private static void addToSequence(BusAnimationSequence sequence, Dimension dimension, JsonArray array) { + IType prevInterp = null; + for(JsonElement element : array) { + BusAnimationKeyframe keyframe = loadKeyframe(element, prevInterp); + prevInterp = keyframe.interpolationType; + sequence.addKeyframe(dimension, keyframe); + } + } - double value = array.get(0).getAsDouble(); - int duration = array.get(1).getAsInt(); - InterpolationType interpolation = array.size() >= 3 ? InterpolationType.valueOf(array.get(2).getAsString()) : InterpolationType.LINEAR; + private static BusAnimationKeyframe loadKeyframe(JsonElement element, IType prevInterp) { + JsonArray array = element.getAsJsonArray(); - return new BusAnimationKeyframe(value, duration, interpolation); - } + double value = array.get(0).getAsDouble(); + int duration = array.get(1).getAsInt(); + IType interpolation = array.size() >= 3 ? IType.valueOf(array.get(2).getAsString()) : IType.LINEAR; + EType easing = array.size() >= 4 ? EType.valueOf(array.get(3).getAsString()) : EType.AUTO; + + BusAnimationKeyframe keyframe = new BusAnimationKeyframe(value, duration, interpolation, easing); + + int i = 4; + + if(prevInterp == IType.BEZIER) { + keyframe.leftX = array.get(i++).getAsDouble(); + keyframe.leftY = array.get(i++).getAsDouble(); + keyframe.leftType = HType.valueOf(array.get(i++).getAsString()); + } + + if(interpolation == IType.LINEAR || interpolation == IType.CONSTANT) + return keyframe; + + if(interpolation == IType.BEZIER) { + keyframe.rightX = array.get(i++).getAsDouble(); + keyframe.rightY = array.get(i++).getAsDouble(); + keyframe.rightType = HType.valueOf(array.get(i++).getAsString()); + } + + if(interpolation == IType.ELASTIC) { + keyframe.amplitude = array.get(i++).getAsDouble(); + keyframe.period = array.get(i++).getAsDouble(); + } else if(interpolation == IType.BACK) { + keyframe.back = array.get(i++).getAsDouble(); + } + + return keyframe; + } } diff --git a/src/main/java/com/hbm/render/anim/BusAnimation.java b/src/main/java/com/hbm/render/anim/BusAnimation.java index f2cb95b80..a331c77df 100644 --- a/src/main/java/com/hbm/render/anim/BusAnimation.java +++ b/src/main/java/com/hbm/render/anim/BusAnimation.java @@ -6,7 +6,7 @@ import java.util.Map.Entry; //a """simple""" implementation of an animation system //it's the first thing i came up with and i suppose it's relatively simple but //it's probably not since i suck at everything -//i could have jut used collada XML animations but where's the fun in that? +//i could have just used collada XML animations but where's the fun in that? public class BusAnimation { //"buses" with one S since it's not a vehicle @@ -64,6 +64,16 @@ public class BusAnimation { return animationBuses.get(name); } + /** + * Multiplies all keyframe durations by the supplied double. Numbers below 1 make the animation play faster. + * @param mult + */ + public void setTimeMult(double mult) { + for(Entry sequence : animationBuses.entrySet()) { + sequence.getValue().multiplyTime(mult); + } + } + /** * Gets the state of a bus at a specified time * @param name the name of the bus in question @@ -78,15 +88,6 @@ public class BusAnimation { return null; } - /** - * reads all buses and checks if inbetween the last invocation and this one, a sound was scheduled - * @param lastMillis the last time the bus was checked - * @param millis the current time - */ - public void playPendingSounds(int lastMillis, int millis) { - //TODO: pending - } - public int getDuration() { return totalTime; } diff --git a/src/main/java/com/hbm/render/anim/BusAnimationKeyframe.java b/src/main/java/com/hbm/render/anim/BusAnimationKeyframe.java index 6833652dd..e25f5f95e 100644 --- a/src/main/java/com/hbm/render/anim/BusAnimationKeyframe.java +++ b/src/main/java/com/hbm/render/anim/BusAnimationKeyframe.java @@ -1,36 +1,607 @@ package com.hbm.render.anim; +import com.hbm.config.ClientConfig; + //"pieces" that make up a bus public class BusAnimationKeyframe { - - //whether the next frame "snaps" to the intended value or has interpolation - //it's an enum so stuff like accelerated animations between just - //two frames could be implemented - public static enum InterpolationType { + + // whether the next frame "snaps" to the intended value or has interpolation + // it's an enum so stuff like accelerated animations between just + // two frames could be implemented + public static enum IType { + /** Teleport */ CONSTANT, - LINEAR + /** Linear interpolation */ + LINEAR, + /** "Sine wave up", quarter of a sine peak that goes from neutral to rising */ + SIN_UP, + /** "Sine wave down", quarter of a sine peak that goes from rising back to neutral */ + SIN_DOWN, + /** "Sine wave", first half of a sine peak, accelerating up and then decelerating, makes for smooth movement */ + SIN_FULL, + + // blender magic curves + BEZIER, + + // blender inertial + SINE, + QUAD, + CUBIC, + QUART, + QUINT, + EXPO, + CIRC, + + // blendor dynamic + BOUNCE, + ELASTIC, + BACK, + } + + // Easing + public static enum EType { + AUTO, + EASE_IN, + EASE_OUT, + EASE_IN_OUT, + } + + // Handle type + public static enum HType { + FREE, + ALIGNED, + VECTOR, + AUTO, + AUTO_CLAMPED, } public double value; - public InterpolationType interpolationType; + public IType interpolationType; + public EType easingType; public int duration; - - //this one can be used for "reset" type keyframes + + // bezier handles + public double leftX; + public double leftY; + public HType leftType; + public double rightX; + public double rightY; + public HType rightType; + + // elastics + public double amplitude; + public double period; + + // back (overshoot) + public double back; + + // this one can be used for "reset" type keyframes public BusAnimationKeyframe() { this.value = 0; this.duration = 1; - this.interpolationType = InterpolationType.LINEAR; + this.interpolationType = IType.LINEAR; + this.easingType = EType.AUTO; } public BusAnimationKeyframe(double value, int duration) { this(); this.value = value; - this.duration = duration; + this.duration = (int) (duration / Math.max(0.001D, ClientConfig.GUN_ANIMATION_SPEED.get())); } - public BusAnimationKeyframe(double value, int duration, InterpolationType interpolation) { + public BusAnimationKeyframe(double value, int duration, IType interpolation) { this(value, duration); this.interpolationType = interpolation; } + public BusAnimationKeyframe(double value, int duration, IType interpolation, EType easing) { + this(value, duration, interpolation); + this.easingType = easing; + } + + public double interpolate(double startTime, double currentTime, BusAnimationKeyframe previous) { + if(previous == null) + previous = new BusAnimationKeyframe(); + + double a = value; + double b = previous.value; + double t = time(startTime, currentTime, duration); + + double begin = previous.value; + double change = value - previous.value; + double time = currentTime - startTime; + + // Constant value optimisation + if(Math.abs(previous.value - value) < 0.000001) return value; + + if(previous.interpolationType == IType.BEZIER) { + double v1x = startTime; + double v1y = previous.value; + double v2x = previous.rightX; + double v2y = previous.rightY; + + double v3x = leftX; + double v3y = leftY; + double v4x = startTime + duration; + double v4y = value; + + // correct beziers into non-looping fcurves + double h1x = v1x - v2x; + double h1y = v1y - v2y; + + double h2x = v4x - v3x; + double h2y = v4y - v3y; + + double len = v4x - v1x; + double len1 = Math.abs(h1x); + double len2 = Math.abs(h2x); + + if(len1 + len2 != 0) { + if(len1 > len) { + double fac = len / len1; + v2x = v1x - fac * h1x; + v2y = v1y - fac * h1y; + } + + if(len2 > len) { + double fac = len / len2; + v3x = v4x - fac * h2x; + v3y = v4y - fac * h2y; + } + } + + double curveT = findZero(currentTime, v1x, v2x, v3x, v4x); + return cubicBezier(v1y, v2y, v3y, v4y, curveT); + } else if(previous.interpolationType == IType.BACK) { + switch (previous.easingType) { + case EASE_IN: return BLI_easing_back_ease_in(time, begin, change, duration, previous.back); + case EASE_IN_OUT: return BLI_easing_back_ease_in_out(time, begin, change, duration, previous.back); + default: return BLI_easing_back_ease_out(time, begin, change, duration, previous.back); + } + } else if(previous.interpolationType == IType.BOUNCE) { + switch (previous.easingType) { + case EASE_IN: return BLI_easing_bounce_ease_in(time, begin, change, duration); + case EASE_IN_OUT: return BLI_easing_bounce_ease_in_out(time, begin, change, duration); + default: return BLI_easing_bounce_ease_out(time, begin, change, duration); + } + } else if(previous.interpolationType == IType.CIRC) { + switch (previous.easingType) { + case EASE_OUT: return BLI_easing_circ_ease_out(time, begin, change, duration); + case EASE_IN_OUT: return BLI_easing_circ_ease_in_out(time, begin, change, duration); + default: return BLI_easing_circ_ease_in(time, begin, change, duration); + } + } else if(previous.interpolationType == IType.CUBIC) { + switch (previous.easingType) { + case EASE_OUT: return BLI_easing_cubic_ease_out(time, begin, change, duration); + case EASE_IN_OUT: return BLI_easing_cubic_ease_in_out(time, begin, change, duration); + default: return BLI_easing_cubic_ease_in(time, begin, change, duration); + } + } else if(previous.interpolationType == IType.ELASTIC) { + switch (previous.easingType) { + case EASE_IN: return BLI_easing_elastic_ease_in(time, begin, change, duration, previous.amplitude, previous.period); + case EASE_IN_OUT: return BLI_easing_elastic_ease_in_out(time, begin, change, duration, previous.amplitude, previous.period); + default: return BLI_easing_elastic_ease_out(time, begin, change, duration, previous.amplitude, previous.period); + } + } else if(previous.interpolationType == IType.EXPO) { + switch (previous.easingType) { + case EASE_OUT: return BLI_easing_expo_ease_out(time, begin, change, duration); + case EASE_IN_OUT: return BLI_easing_expo_ease_in_out(time, begin, change, duration); + default: return BLI_easing_expo_ease_in(time, begin, change, duration); + } + } else if(previous.interpolationType == IType.QUAD) { + switch (previous.easingType) { + case EASE_OUT: return BLI_easing_quad_ease_out(time, begin, change, duration); + case EASE_IN_OUT: return BLI_easing_quad_ease_in_out(time, begin, change, duration); + default: return BLI_easing_quad_ease_in(time, begin, change, duration); + } + } else if(previous.interpolationType == IType.QUART) { + switch (previous.easingType) { + case EASE_OUT: return BLI_easing_quart_ease_out(time, begin, change, duration); + case EASE_IN_OUT: return BLI_easing_quart_ease_in_out(time, begin, change, duration); + default: return BLI_easing_quart_ease_in(time, begin, change, duration); + } + } else if(previous.interpolationType == IType.QUINT) { + switch (previous.easingType) { + case EASE_OUT: return BLI_easing_quint_ease_out(time, begin, change, duration); + case EASE_IN_OUT: return BLI_easing_quint_ease_in_out(time, begin, change, duration); + default: return BLI_easing_quint_ease_in(time, begin, change, duration); + } + } else if(previous.interpolationType == IType.SINE) { + switch (previous.easingType) { + case EASE_OUT: return BLI_easing_sine_ease_out(time, begin, change, duration); + case EASE_IN_OUT: return BLI_easing_sine_ease_in_out(time, begin, change, duration); + default: return BLI_easing_sine_ease_in(time, begin, change, duration); + } + } + + return (a - b) * t + b; + } + + private double sqrt3(double d) { + if(d > 0.000001) { + return Math.exp(Math.log(d) / 3.0); + } else if(d > -0.000001) { + return 0; + } else { + return -Math.exp(Math.log(-d) / 3.0); + } + } + + private double time(double start, double end, double duration) { + if(interpolationType == IType.SIN_UP) return -Math.sin(((end - start) / duration * Math.PI + Math.PI) / 2) + 1; + if(interpolationType == IType.SIN_DOWN) return Math.sin((end - start) / duration * Math.PI / 2); + if(interpolationType == IType.SIN_FULL) return (-Math.cos((end - start) / duration * Math.PI) + 1) / 2D; + return (end - start) / duration; + } + + // Blender bezier solvers, but rewritten (pain) + private double solveCubic(double c0, double c1, double c2, double c3) { + if(c3 > 0.000001 || c3 < -0.000001) { + double a = c2 / c3; + double b = c1 / c3; + double c = c0 / c3; + a = a / 3; + + double p = b / 3 - a * a; + double q = (2 * a * a * a - a * b + c) / 2; + double d = q * q + p * p * p; + + if(d > 0.000001) { + double t = Math.sqrt(d); + return sqrt3(-q + t) + sqrt3(-q - t) - a; + } else if(d > -0.000001) { + double t = sqrt3(-q); + double result = 2 * t - a; + if(result < 0.000001 || result > 1.000001) { + result = -t - a; + } + return result; + } + + double phi = Math.acos(-q / Math.sqrt(-(p * p * p))); + double t = Math.sqrt(-p); + p = Math.cos(phi / 3); + q = Math.sqrt(3 - 3 * p * p); + double result = 2 * t * p - a; + if(result < 0.000001 || result > 1.000001) { + result = -t * (p + q) - a; + } + if(result < 0.000001 || result > 1.000001) { + result = -t * (p - q) - a; + } + return result; + } + + double a = c2; + double b = c1; + double c = c0; + + if(a > 0.000001) { + double p = b * b - 4 * a * c; + + if(p > 0.000001) { + p = Math.sqrt(p); + double result = (-b - p) / (2 * a); + if(result < 0.000001 || result > 1.000001) { + result = (-b + p) / (2 * a); + } + return result; + } else if(p > -0.000001) { + return -b / (2 * a); + } + } + + if(b > 0.000001) { + return -c / b; + } + + return 0; + } + + private double findZero(double t, double x1, double x2, double x3, double x4) { + double c0 = x1 - t; + double c1 = 3.0f * (x2 - x1); + double c2 = 3.0f * (x1 - 2.0f * x2 + x3); + double c3 = x4 - x1 + 3.0f * (x2 - x3); + + return solveCubic(c0, c1, c2, c3); + } + + private double cubicBezier(double y1, double y2, double y3, double y4, double t) { + double c0 = y1; + double c1 = 3.0f * (y2 - y1); + double c2 = 3.0f * (y1 - 2.0f * y2 + y3); + double c3 = y4 - y1 + 3.0f * (y2 - y3); + + return c0 + t * c1 + t * t * c2 + t * t * t * c3; + } + + /** + * EASING FUNCTIONS, taken directly from Blender `easing.c` + */ + + double BLI_easing_back_ease_in(double time, double begin, double change, double duration, double overshoot) { + time /= duration; + return change * time * time * ((overshoot + 1) * time - overshoot) + begin; + } + + double BLI_easing_back_ease_out(double time, double begin, double change, double duration, double overshoot) { + time = time / duration - 1; + return change * (time * time * ((overshoot + 1) * time + overshoot) + 1) + begin; + } + + double BLI_easing_back_ease_in_out(double time, double begin, double change, double duration, double overshoot) { + overshoot *= 1.525f; + if((time /= duration / 2) < 1.0f) { + return change / 2 * (time * time * ((overshoot + 1) * time - overshoot)) + begin; + } + time -= 2.0f; + return change / 2 * (time * time * ((overshoot + 1) * time + overshoot) + 2) + begin; + } + + double BLI_easing_bounce_ease_out(double time, double begin, double change, double duration) { + time /= duration; + if(time < (1 / 2.75f)) { + return change * (7.5625f * time * time) + begin; + } + if(time < (2 / 2.75f)) { + time -= (1.5f / 2.75f); + return change * ((7.5625f * time) * time + 0.75f) + begin; + } + if(time < (2.5f / 2.75f)) { + time -= (2.25f / 2.75f); + return change * ((7.5625f * time) * time + 0.9375f) + begin; + } + time -= (2.625f / 2.75f); + return change * ((7.5625f * time) * time + 0.984375f) + begin; + } + + double BLI_easing_bounce_ease_in(double time, double begin, double change, double duration) { + return change - BLI_easing_bounce_ease_out(duration - time, 0, change, duration) + begin; + } + + double BLI_easing_bounce_ease_in_out(double time, double begin, double change, double duration) { + if(time < duration / 2) { + return BLI_easing_bounce_ease_in(time * 2, 0, change, duration) * 0.5f + begin; + } + return BLI_easing_bounce_ease_out(time * 2 - duration, 0, change, duration) * 0.5f + change * 0.5f + begin; + } + + double BLI_easing_circ_ease_in(double time, double begin, double change, double duration) { + time /= duration; + return -change * (Math.sqrt(1 - time * time) - 1) + begin; + } + + double BLI_easing_circ_ease_out(double time, double begin, double change, double duration) { + time = time / duration - 1; + return change * Math.sqrt(1 - time * time) + begin; + } + + double BLI_easing_circ_ease_in_out(double time, double begin, double change, double duration) { + if((time /= duration / 2) < 1.0f) { + return -change / 2 * (Math.sqrt(1 - time * time) - 1) + begin; + } + time -= 2.0f; + return change / 2 * (Math.sqrt(1 - time * time) + 1) + begin; + } + + double BLI_easing_cubic_ease_in(double time, double begin, double change, double duration) { + time /= duration; + return change * time * time * time + begin; + } + + double BLI_easing_cubic_ease_out(double time, double begin, double change, double duration) { + time = time / duration - 1; + return change * (time * time * time + 1) + begin; + } + + double BLI_easing_cubic_ease_in_out(double time, double begin, double change, double duration) { + if((time /= duration / 2) < 1.0f) { + return change / 2 * time * time * time + begin; + } + time -= 2.0f; + return change / 2 * (time * time * time + 2) + begin; + } + + double elastic_blend(double time, double change, double duration, double amplitude, double s, double f) { + if(change != 0) { + /* + * Looks like a magic number, + * but this is a part of the sine curve we need to blend from + */ + double t = Math.abs(s); + if(amplitude != 0) { + f *= amplitude / Math.abs(change); + } else { + f = 0.0f; + } + + if(Math.abs(time * duration) < t) { + double l = Math.abs(time * duration) / t; + f = (f * l) + (1.0f - l); + } + } + + return f; + } + + double BLI_easing_elastic_ease_in(double time, double begin, double change, double duration, double amplitude, double period) { + double s; + double f = 1.0f; + + if(time == 0.0f) { + return begin; + } + + if((time /= duration) == 1.0f) { + return begin + change; + } + time -= 1.0f; + if(period == 0) { + period = duration * 0.3f; + } + if(amplitude == 0 || amplitude < Math.abs(change)) { + s = period / 4; + f = elastic_blend(time, change, duration, amplitude, s, f); + amplitude = change; + } else { + s = period / (2 * (double) Math.PI) * Math.asin(change / amplitude); + } + + return (-f * (amplitude * Math.pow(2, 10 * time) * Math.sin((time * duration - s) * (2 * (double) Math.PI) / period))) + begin; + } + + double BLI_easing_elastic_ease_out(double time, double begin, double change, double duration, double amplitude, double period) { + double s; + double f = 1.0f; + + if(time == 0.0f) { + return begin; + } + if((time /= duration) == 1.0f) { + return begin + change; + } + time = -time; + if(period == 0) { + period = duration * 0.3f; + } + if(amplitude == 0 || amplitude < Math.abs(change)) { + s = period / 4; + f = elastic_blend(time, change, duration, amplitude, s, f); + amplitude = change; + } else { + s = period / (2 * (double) Math.PI) * Math.asin(change / amplitude); + } + + return (f * (amplitude * Math.pow(2, 10 * time) * Math.sin((time * duration - s) * (2 * (double) Math.PI) / period))) + change + begin; + } + + double BLI_easing_elastic_ease_in_out(double time, double begin, double change, double duration, double amplitude, double period) { + double s; + double f = 1.0f; + + if(time == 0.0f) { + return begin; + } + if((time /= duration / 2) == 2.0f) { + return begin + change; + } + time -= 1.0f; + if(period == 0) { + period = duration * (0.3f * 1.5f); + } + if(amplitude == 0 || amplitude < Math.abs(change)) { + s = period / 4; + f = elastic_blend(time, change, duration, amplitude, s, f); + amplitude = change; + } else { + s = period / (2 * (double) Math.PI) * Math.asin(change / amplitude); + } + + if(time < 0.0f) { + f *= -0.5f; + return (f * (amplitude * Math.pow(2, 10 * time) * Math.sin((time * duration - s) * (2 * (double) Math.PI) / period))) + begin; + } + + time = -time; + f *= 0.5f; + return (f * (amplitude * Math.pow(2, 10 * time) * Math.sin((time * duration - s) * (2 * (double) Math.PI) / period))) + change + begin; + } + + static final double pow_min = 0.0009765625f; /* = 2^(-10) */ + static final double pow_scale = 1.0f / (1.0f - 0.0009765625f); + + double BLI_easing_expo_ease_in(double time, double begin, double change, double duration) { + if(time == 0.0) { + return begin; + } + return change * (Math.pow(2, 10 * (time / duration - 1)) - pow_min) * pow_scale + begin; + } + + double BLI_easing_expo_ease_out(double time, double begin, double change, double duration) { + if(time == 0.0) { + return begin; + } + return change * (1 - (Math.pow(2, -10 * time / duration) - pow_min) * pow_scale) + begin; + } + + double BLI_easing_expo_ease_in_out(double time, double begin, double change, double duration) { + double duration_half = duration / 2.0f; + double change_half = change / 2.0f; + if(time <= duration_half) { + return BLI_easing_expo_ease_in(time, begin, change_half, duration_half); + } + return BLI_easing_expo_ease_out(time - duration_half, begin + change_half, change_half, duration_half); + } + + double BLI_easing_linear_ease(double time, double begin, double change, double duration) { + return change * time / duration + begin; + } + + double BLI_easing_quad_ease_in(double time, double begin, double change, double duration) { + time /= duration; + return change * time * time + begin; + } + + double BLI_easing_quad_ease_out(double time, double begin, double change, double duration) { + time /= duration; + return -change * time * (time - 2) + begin; + } + + double BLI_easing_quad_ease_in_out(double time, double begin, double change, double duration) { + if((time /= duration / 2) < 1.0f) { + return change / 2 * time * time + begin; + } + time -= 1.0f; + return -change / 2 * (time * (time - 2) - 1) + begin; + } + + double BLI_easing_quart_ease_in(double time, double begin, double change, double duration) { + time /= duration; + return change * time * time * time * time + begin; + } + + double BLI_easing_quart_ease_out(double time, double begin, double change, double duration) { + time = time / duration - 1; + return -change * (time * time * time * time - 1) + begin; + } + + double BLI_easing_quart_ease_in_out(double time, double begin, double change, double duration) { + if((time /= duration / 2) < 1.0f) { + return change / 2 * time * time * time * time + begin; + } + time -= 2.0f; + return -change / 2 * (time * time * time * time - 2) + begin; + } + + double BLI_easing_quint_ease_in(double time, double begin, double change, double duration) { + time /= duration; + return change * time * time * time * time * time + begin; + } + + double BLI_easing_quint_ease_out(double time, double begin, double change, double duration) { + time = time / duration - 1; + return change * (time * time * time * time * time + 1) + begin; + } + + double BLI_easing_quint_ease_in_out(double time, double begin, double change, double duration) { + if((time /= duration / 2) < 1.0f) { + return change / 2 * time * time * time * time * time + begin; + } + time -= 2.0f; + return change / 2 * (time * time * time * time * time + 2) + begin; + } + + double BLI_easing_sine_ease_in(double time, double begin, double change, double duration) { + return -change * Math.cos(time / duration * (double) Math.PI / 2) + change + begin; + } + + double BLI_easing_sine_ease_out(double time, double begin, double change, double duration) { + return change * Math.sin(time / duration * (double) Math.PI / 2) + begin; + } + + double BLI_easing_sine_ease_in_out(double time, double begin, double change, double duration) { + return -change / 2 * (Math.cos((double) Math.PI * time / duration) - 1) + begin; + } + } diff --git a/src/main/java/com/hbm/render/anim/BusAnimationSequence.java b/src/main/java/com/hbm/render/anim/BusAnimationSequence.java index ea573fb96..a66d65c62 100644 --- a/src/main/java/com/hbm/render/anim/BusAnimationSequence.java +++ b/src/main/java/com/hbm/render/anim/BusAnimationSequence.java @@ -3,7 +3,7 @@ package com.hbm.render.anim; import java.util.ArrayList; import java.util.List; -import com.hbm.render.anim.BusAnimationKeyframe.InterpolationType; +import com.hbm.render.anim.BusAnimationKeyframe.IType; //the actual bus, a sequence of keyframes with their own behavior and such public class BusAnimationSequence { @@ -26,20 +26,19 @@ public class BusAnimationSequence { public double[] offset = new double[3]; + // swizzle me timbers + public double[] rotMode = new double[] { 0, 1, 2 }; public BusAnimationSequence() { // Initialise our keyframe storage, since it's multidimensional - for (int i = 0; i < 9; i++) { + for(int i = 0; i < 9; i++) { transformKeyframes.add(new ArrayList()); } } - - // Adds a keyframe to the given dimension public BusAnimationSequence addKeyframe(Dimension dimension, BusAnimationKeyframe keyframe) { transformKeyframes.get(dimension.ordinal()).add(keyframe); - return this; } @@ -47,29 +46,72 @@ public class BusAnimationSequence { return addKeyframe(dimension, new BusAnimationKeyframe(value, duration)); } + /** Adds a position with a duration of 0 */ + public BusAnimationSequence setPos(double x, double y, double z) { + return addPos(x, y, z, 0, IType.LINEAR); + } - // Two helper methods for the old hard-coded animations - public BusAnimationSequence addKeyframePosition(double x, double y, double z, int duration) { - addKeyframe(Dimension.TX, new BusAnimationKeyframe(x, duration)); - addKeyframe(Dimension.TY, new BusAnimationKeyframe(y, duration)); - addKeyframe(Dimension.TZ, new BusAnimationKeyframe(z, duration)); + /** Adds a position with the desired duration and lininterp */ + public BusAnimationSequence addPos(double x, double y, double z, int duration) { + return addPos(x, y, z, duration, IType.LINEAR); + } + /** Adds a position with the desired duration and interpolation type */ + public BusAnimationSequence addPos(double x, double y, double z, int duration, IType type) { + addKeyframe(Dimension.TX, new BusAnimationKeyframe(x, duration, type)); + addKeyframe(Dimension.TY, new BusAnimationKeyframe(y, duration, type)); + addKeyframe(Dimension.TZ, new BusAnimationKeyframe(z, duration, type)); return this; } - public BusAnimationSequence addKeyframeRotation(double x, double y, double z, int duration) { + public BusAnimationSequence addRot(double x, double y, double z, int duration) { addKeyframe(Dimension.RX, new BusAnimationKeyframe(x, duration)); addKeyframe(Dimension.RY, new BusAnimationKeyframe(y, duration)); addKeyframe(Dimension.RZ, new BusAnimationKeyframe(z, duration)); - return this; } + /** Repeats the previous keyframe with the same values using lininterp. Effectively makes the animation frame pause for the desired amount of milliseconds. */ + public BusAnimationSequence hold(int duration) { + addKeyframe(Dimension.TX, new BusAnimationKeyframe(getLast(Dimension.TX), duration)); + addKeyframe(Dimension.TY, new BusAnimationKeyframe(getLast(Dimension.TY), duration)); + addKeyframe(Dimension.TZ, new BusAnimationKeyframe(getLast(Dimension.TZ), duration)); + return this; + } + + /** Repeats the previous keyframe for a duration depending on the previous keyframes. Useful for getting different buses to sync up. */ + public BusAnimationSequence holdUntil(int end) { + int duration = end - getTotalTime(); + //FIXME: holdUntil breaks as soon as the animation speed is not 1 + return hold(duration); + } + + public BusAnimationSequence multiplyTime(double mult) { + + for(Dimension dim : Dimension.values()) { + List keyframes = transformKeyframes.get(dim.ordinal()); + for(BusAnimationKeyframe keyframe : keyframes) keyframe.duration *= mult; + } + return this; + } + + /** Grabs the numerical value for the most recent keyframe on the given dimension */ + private double getLast(Dimension dim) { + BusAnimationKeyframe frame = getLastFrame(dim); + return frame != null ? frame.value : 0D; + } + + private BusAnimationKeyframe getLastFrame(Dimension dim) { + List keyframes = transformKeyframes.get(dim.ordinal()); + if(keyframes.isEmpty()) return null; + return keyframes.get(keyframes.size() - 1); + } + //all transformation data is absolute, additive transformations have not yet been implemented public double[] getTransformation(int millis) { - double[] transform = new double[12]; + double[] transform = new double[15]; - for (int i = 0; i < 9; i++) { + for(int i = 0; i < 9; i++) { List keyframes = transformKeyframes.get(i); BusAnimationKeyframe currentFrame = null; @@ -77,50 +119,50 @@ public class BusAnimationSequence { int startTime = 0; int endTime = 0; - for (BusAnimationKeyframe keyframe: keyframes) { + for(BusAnimationKeyframe keyframe : keyframes) { startTime = endTime; endTime += keyframe.duration; previousFrame = currentFrame; currentFrame = keyframe; - if (millis < endTime) break; + if(millis < endTime) break; } - if (currentFrame == null) { + if(currentFrame == null) { // Scale defaults to 1, others are 0 transform[i] = i >= 6 ? 1 : 0; continue; } - if (millis >= endTime) { + if(millis >= endTime) { transform[i] = currentFrame.value; continue; } - if (previousFrame != null && previousFrame.interpolationType == InterpolationType.CONSTANT) { + if(previousFrame != null && previousFrame.interpolationType == IType.CONSTANT) { transform[i] = previousFrame.value; continue; } - double a = currentFrame.value; - double b = previousFrame != null ? previousFrame.value : 0; - double t = (double)(millis - startTime) / (double)currentFrame.duration; - - transform[i] = (a - b) * t + b; + transform[i] = currentFrame.interpolate(startTime, millis, previousFrame); } transform[9] = offset[0]; transform[10] = offset[1]; transform[11] = offset[2]; + transform[12] = rotMode[0]; + transform[13] = rotMode[1]; + transform[14] = rotMode[2]; + return transform; } public int getTotalTime() { int highestTime = 0; - for (List keyframes: transformKeyframes) { + for(List keyframes : transformKeyframes) { int time = 0; - for (BusAnimationKeyframe frame: keyframes) { + for(BusAnimationKeyframe frame : keyframes) { time += frame.duration; } diff --git a/src/main/java/com/hbm/render/anim/HbmAnimations.java b/src/main/java/com/hbm/render/anim/HbmAnimations.java index 44fff33dc..9f90bae4c 100644 --- a/src/main/java/com/hbm/render/anim/HbmAnimations.java +++ b/src/main/java/com/hbm/render/anim/HbmAnimations.java @@ -1,5 +1,6 @@ package com.hbm.render.anim; +import com.hbm.util.Clock; import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -15,19 +16,22 @@ public class HbmAnimations { //my approach adds 9 timers, one for every inventory slot. you can still //"trick" the system by putting a weapon into a different slot while an //animation is playing, though this will cancel the animation entirely. - public static final Animation[] hotbar = new Animation[9]; + public static final Animation[][] hotbar = new Animation[9][8]; //now with 8 parallel rails per slot! time to get railed! public static enum AnimType { - RELOAD, //animation for reloading the weapon - RELOAD_EMPTY, //animation for reloading from empty + RELOAD, //either a full reload or start of a reload + @Deprecated RELOAD_EMPTY, //same as reload, but the mag is completely empty RELOAD_CYCLE, //animation that plays for every individual round (for shotguns and similar single round loading weapons) RELOAD_END, //animation for transitioning from our RELOAD_CYCLE to idle CYCLE, //animation for every firing cycle CYCLE_EMPTY, //animation for the final shot in the magazine + CYCLE_DRY, //animation for trying to fire, but no round is available ALT_CYCLE, //animation for alt fire cycles SPINUP, //animation for actionstart SPINDOWN, //animation for actionend - EQUIP //animation for drawing the weapon + EQUIP, //animation for drawing the weapon + INSPECT, //animation for inspecting the weapon + JAMMED //animation for jammed weapons } // A NOTE ON SHOTGUN STYLE RELOADS @@ -44,22 +48,27 @@ public class HbmAnimations { public BusAnimation animation; // If set, don't cancel this animation when the timer ends, instead wait for the next to start public boolean holdLastFrame = false; + // so we know what type of animation we're playing, only used rarely + public AnimType type; - public Animation(String key, long startMillis, BusAnimation animation) { + public Animation(String key, long startMillis, BusAnimation animation, AnimType type) { this.key = key; this.startMillis = startMillis; this.animation = animation; + this.type = type; } - public Animation(String key, long startMillis, BusAnimation animation, boolean holdLastFrame) { + public Animation(String key, long startMillis, BusAnimation animation, AnimType type, boolean holdLastFrame) { this.key = key; this.startMillis = startMillis; this.animation = animation; this.holdLastFrame = holdLastFrame; + this.type = type; } } - - public static Animation getRelevantAnim() { + + public static Animation getRelevantAnim() { return getRelevantAnim(0); } + public static Animation getRelevantAnim(int index) { EntityPlayer player = Minecraft.getMinecraft().thePlayer; int slot = player.inventory.currentItem; @@ -72,24 +81,25 @@ public class HbmAnimations { slot = Math.abs(slot) % 9; } - if(hotbar[slot] == null) + if(hotbar[slot][index] == null) return null; - if(hotbar[slot].key.equals(stack.getItem().getUnlocalizedName())) { - return hotbar[slot]; + if(hotbar[slot][index].key.equals(stack.getItem().getUnlocalizedName())) { + return hotbar[slot][index]; } return null; } - - public static double[] getRelevantTransformation(String bus) { + + public static double[] getRelevantTransformation(String bus) { return getRelevantTransformation(bus, 0); } + public static double[] getRelevantTransformation(String bus, int index) { - Animation anim = HbmAnimations.getRelevantAnim(); + Animation anim = HbmAnimations.getRelevantAnim(index); if(anim != null) { BusAnimation buses = anim.animation; - int millis = (int)(System.currentTimeMillis() - anim.startMillis); + int millis = (int)(Clock.get_ms() - anim.startMillis); BusAnimationSequence seq = buses.getBus(bus); @@ -105,17 +115,20 @@ public class HbmAnimations { 0, 0, 0, // position 0, 0, 0, // rotation 1, 1, 1, // scale - 0, 0, 0 // offset + 0, 0, 0, // offset + 0, 1, 2, // XYZ order }; } - public static void applyRelevantTransformation(String bus) { - double[] transform = getRelevantTransformation(bus); + public static void applyRelevantTransformation(String bus) { applyRelevantTransformation(bus, 0); } + public static void applyRelevantTransformation(String bus, int index) { + double[] transform = getRelevantTransformation(bus, index); + int[] rot = new int[] { (int)transform[12], (int)transform[13], (int)transform[14] }; GL11.glTranslated(transform[0], transform[1], transform[2]); - GL11.glRotated(transform[3], 1, 0, 0); - GL11.glRotated(transform[4], 0, 1, 0); - GL11.glRotated(transform[5], 0, 0, 1); + GL11.glRotated(transform[3 + rot[0]], rot[0] == 0 ? 1 : 0, rot[0] == 1 ? 1 : 0, rot[0] == 2 ? 1 : 0); + GL11.glRotated(transform[3 + rot[1]], rot[1] == 0 ? 1 : 0, rot[1] == 1 ? 1 : 0, rot[1] == 2 ? 1 : 0); + GL11.glRotated(transform[3 + rot[2]], rot[2] == 0 ? 1 : 0, rot[2] == 1 ? 1 : 0, rot[2] == 2 ? 1 : 0); GL11.glTranslated(-transform[9], -transform[10], -transform[11]); GL11.glScaled(transform[6], transform[7], transform[8]); } diff --git a/src/main/java/com/hbm/render/block/ISBRHUniversal.java b/src/main/java/com/hbm/render/block/ISBRHUniversal.java new file mode 100644 index 000000000..a401083b3 --- /dev/null +++ b/src/main/java/com/hbm/render/block/ISBRHUniversal.java @@ -0,0 +1,13 @@ +package com.hbm.render.block; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import net.minecraft.block.Block; +import net.minecraft.world.IBlockAccess; + +public interface ISBRHUniversal { + + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + + public void renderInventoryBlock(Block block, int metadata, int modelId, Object renderBlocks); + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, Object renderBlocks); +} diff --git a/src/main/java/com/hbm/render/block/RenderBlockMultipass.java b/src/main/java/com/hbm/render/block/RenderBlockMultipass.java index 181407f36..b4f567573 100644 --- a/src/main/java/com/hbm/render/block/RenderBlockMultipass.java +++ b/src/main/java/com/hbm/render/block/RenderBlockMultipass.java @@ -1,21 +1,13 @@ package com.hbm.render.block; -import java.awt.Color; - import org.lwjgl.opengl.GL11; import com.hbm.blocks.IBlockMultiPass; -import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.generic.BlockMotherOfAllOres; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ModItems; -import com.hbm.util.ColorUtil; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; -import net.minecraft.item.ItemStack; import net.minecraft.world.IBlockAccess; public class RenderBlockMultipass implements ISimpleBlockRenderingHandler { @@ -72,7 +64,7 @@ public class RenderBlockMultipass implements ISimpleBlockRenderingHandler { } /** terrible hack to make this shit work */ - if(block == ModBlocks.ore_random) { + /*if(block == ModBlocks.ore_random) { this.currentPass = 1; renderer.setOverrideBlockTexture(block.getIcon(0, metadata)); @@ -123,7 +115,7 @@ public class RenderBlockMultipass implements ISimpleBlockRenderingHandler { renderer.clearOverrideBlockTexture(); GL11.glColor3f(1F, 1F, 1F); - } + }*/ GL11.glTranslatef(0.5F, 0.5F, 0.5F); } diff --git a/src/main/java/com/hbm/render/block/RenderBlockSideRotation.java b/src/main/java/com/hbm/render/block/RenderBlockSideRotation.java index 785cac0ea..036bbd914 100644 --- a/src/main/java/com/hbm/render/block/RenderBlockSideRotation.java +++ b/src/main/java/com/hbm/render/block/RenderBlockSideRotation.java @@ -14,13 +14,13 @@ public class RenderBlockSideRotation implements ISimpleBlockRenderingHandler { @Override public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { - + Tessellator tessellator = Tessellator.instance; block.setBlockBoundsForItemRender(); renderer.setRenderBoundsFromBlock(block); GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - + tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, metadata)); @@ -45,7 +45,7 @@ public class RenderBlockSideRotation implements ISimpleBlockRenderingHandler { tessellator.setNormal(1.0F, 0.0F, 0.0F); renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, metadata)); tessellator.draw(); - + GL11.glTranslatef(0.5F, 0.5F, 0.5F); } @@ -55,20 +55,32 @@ public class RenderBlockSideRotation implements ISimpleBlockRenderingHandler { Tessellator tessellator = Tessellator.instance; tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); - + if(!(block instanceof IBlockSideRotation)) { renderer.renderStandardBlock(block, x, y, z); return true; } - + IBlockSideRotation rot = (IBlockSideRotation) block; - + + // I'm almost entirely convinced that MCP mistranslated these properties because north/south and west/east are fucking SWAPPED + // YEP, they fucking did, god fucking damn it. I manually figured out the correct side for each uv face property to resolve YAYY + renderer.uvRotateBottom = rot.getRotationFromSide(world, x, y, z, 0); renderer.uvRotateTop = rot.getRotationFromSide(world, x, y, z, 1); + renderer.uvRotateNorth = rot.getRotationFromSide(world, x, y, z, 5); + renderer.uvRotateSouth = rot.getRotationFromSide(world, x, y, z, 4); + renderer.uvRotateWest = rot.getRotationFromSide(world, x, y, z, 2); + renderer.uvRotateEast = rot.getRotationFromSide(world, x, y, z, 3); renderer.setRenderBounds(0.0, 0.0, 0.0, 1.0, 1.0, 1.0); renderer.renderStandardBlock(block, x, y, z); - + + renderer.uvRotateBottom = 0; renderer.uvRotateTop = 0; + renderer.uvRotateNorth = 0; + renderer.uvRotateSouth = 0; + renderer.uvRotateWest = 0; + renderer.uvRotateEast = 0; return true; } diff --git a/src/main/java/com/hbm/render/block/RenderBlockWand.java b/src/main/java/com/hbm/render/block/RenderBlockWand.java new file mode 100644 index 000000000..d6d22efe2 --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderBlockWand.java @@ -0,0 +1,37 @@ +package com.hbm.render.block; + +import com.hbm.blocks.generic.BlockWand; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.world.IBlockAccess; + +public class RenderBlockWand implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + renderer.renderFromInside = true; + renderer.renderStandardBlock(block, x, y, z); + renderer.renderFromInside = false; + renderer.renderStandardBlock(block, x, y, z); + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return false; + } + + @Override + public int getRenderId() { + return BlockWand.renderID; + } + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/render/block/RenderBoxDuct.java b/src/main/java/com/hbm/render/block/RenderBoxDuct.java index c8c8f8915..ccb2ab6dc 100644 --- a/src/main/java/com/hbm/render/block/RenderBoxDuct.java +++ b/src/main/java/com/hbm/render/block/RenderBoxDuct.java @@ -6,6 +6,7 @@ import com.hbm.blocks.network.FluidDuctBox; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.lib.Library; +import com.hbm.render.util.RenderBlocksNT; import com.hbm.tileentity.network.TileEntityPipeBaseNT; import com.hbm.util.ColorUtil; @@ -60,6 +61,8 @@ public class RenderBoxDuct implements ISimpleBlockRenderingHandler { public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { FluidType type = Fluids.NONE; + renderer = RenderBlocksNT.INSTANCE.setWorld(world); + TileEntity te = world.getTileEntity(x, y, z); Tessellator tessellator = Tessellator.instance; tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); diff --git a/src/main/java/com/hbm/render/block/RenderHangingVine.java b/src/main/java/com/hbm/render/block/RenderHangingVine.java new file mode 100644 index 000000000..7f0aa0c48 --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderHangingVine.java @@ -0,0 +1,89 @@ +package com.hbm.render.block; + +import com.hbm.blocks.generic.BlockHangingVine; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; + +public class RenderHangingVine implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + Tessellator tess = Tessellator.instance; + int colorMult = block.colorMultiplier(world, x, y, z); + float r = (float) (colorMult >> 16 & 255) / 255.0F; + float g = (float) (colorMult >> 8 & 255) / 255.0F; + float b = (float) (colorMult & 255) / 255.0F; + + tess.setColorOpaque_F(r, g, b); + + BlockHangingVine vine = (BlockHangingVine) block; + + int brightness = block.getMixedBrightnessForBlock(world, x, y, z); + tess.setBrightness(brightness); + + IIcon icon = vine.getIcon(world, x, y, z, false); + renderCrossedSquares(icon, x, y, z, 1.0D); + + tess.setBrightness(240); + + icon = vine.getIcon(world, x, y, z, true); //glow pass + renderCrossedSquares(icon, x, y, z, 1.0D); + + return true; + } + + //fixed implementation of drawCrossedSquares + public void renderCrossedSquares(IIcon icon, double x, double y, double z, double height) { + Tessellator tess = Tessellator.instance; + + double minU = icon.getMinU(); + double minV = icon.getMinV(); + double maxU = icon.getMaxU(); + double maxV = icon.getMaxV(); + + double factor = 0.45D * height; + double minX = x + 0.5D - factor; + double maxX = x + 0.5D + factor; + double minZ = z + 0.5D - factor; + double maxZ = z + 0.5D + factor; + + tess.addVertexWithUV(minX, y, minZ, maxU, maxV); + tess.addVertexWithUV(minX, y + height, minZ, maxU, minV); + tess.addVertexWithUV(maxX, y + height, maxZ, minU, minV); + tess.addVertexWithUV(maxX, y, maxZ, minU, maxV); + + tess.addVertexWithUV(maxX, y, maxZ, maxU, maxV); + tess.addVertexWithUV(maxX, y + height, maxZ, maxU, minV); + tess.addVertexWithUV(minX, y + height, minZ, minU, minV); + tess.addVertexWithUV(minX, y, minZ, minU, maxV); + + tess.addVertexWithUV(maxX, y, minZ, maxU, maxV); + tess.addVertexWithUV(maxX, y + height, minZ, maxU, minV); + tess.addVertexWithUV(minX, y + height, maxZ, minU, minV); + tess.addVertexWithUV(minX, y, maxZ, minU, maxV); + + tess.addVertexWithUV(minX, y, maxZ, maxU, maxV); + tess.addVertexWithUV(minX, y + height, maxZ, maxU, minV); + tess.addVertexWithUV(maxX, y + height, minZ, minU, minV); + tess.addVertexWithUV(maxX, y, minZ, minU, maxV); + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return false; + } + + @Override + public int getRenderId() { + return BlockHangingVine.renderID; + } +} diff --git a/src/main/java/com/hbm/render/block/RenderISBRHUniversal.java b/src/main/java/com/hbm/render/block/RenderISBRHUniversal.java new file mode 100644 index 000000000..a80aef9bb --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderISBRHUniversal.java @@ -0,0 +1,29 @@ +package com.hbm.render.block; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.world.IBlockAccess; + +public class RenderISBRHUniversal implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + ((ISBRHUniversal) block).renderInventoryBlock(block, metadata, modelId, renderer); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + return ((ISBRHUniversal) block).renderWorldBlock(world, x, y, z, block, modelId, renderer); + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return ISBRHUniversal.renderID; + } +} diff --git a/src/main/java/com/hbm/render/block/RenderPneumoTube.java b/src/main/java/com/hbm/render/block/RenderPneumoTube.java new file mode 100644 index 000000000..119231e08 --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderPneumoTube.java @@ -0,0 +1,223 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.network.PneumoTube; +import com.hbm.lib.Library; +import com.hbm.render.util.RenderBlocksNT; +import com.hbm.tileentity.network.TileEntityPneumoTube; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraftforge.common.util.ForgeDirection; + +public class RenderPneumoTube implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + Tessellator tessellator = Tessellator.instance; + PneumoTube duct = (PneumoTube) block; + + double lower = 0.3125D; + double upper = 0.6875D; + + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + + renderer.setRenderBounds(lower, lower, 0, upper, upper, 1); + + renderer.uvRotateTop = 2; + renderer.uvRotateBottom = 1; + + tessellator.startDrawingQuads(); + tessellator.setNormal(0F, 1F, 0F); renderer.renderFaceYPos(block, 0, 0, 0, duct.iconStraight); + tessellator.setNormal(0F, -1F, 0F); renderer.renderFaceYNeg(block, 0, 0, 0, duct.iconStraight); + tessellator.setNormal(1F, 0F, 0F); renderer.renderFaceXPos(block, 0, 0, 0, duct.iconStraight); + tessellator.setNormal(-1F, 0F, 0F); renderer.renderFaceXNeg(block, 0, 0, 0, duct.iconStraight); + tessellator.setNormal(0F, 0F, 1F); renderer.renderFaceZPos(block, 0, 0, 0, duct.iconConnector); + tessellator.setNormal(0F, 0F, -1F); renderer.renderFaceZNeg(block, 0, 0, 0, duct.iconConnector); + tessellator.draw(); + + renderer.uvRotateTop = 0; + renderer.uvRotateBottom = 0; + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + renderer = RenderBlocksNT.INSTANCE.setWorld(world); + + Tessellator tessellator = Tessellator.instance; + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + PneumoTube duct = (PneumoTube) block; + TileEntity te = world.getTileEntity(x, y, z); + TileEntityPneumoTube tile = te instanceof TileEntityPneumoTube ? (TileEntityPneumoTube) te : null; + + boolean pX = duct.canConnectTo(world, x, y, z, Library.POS_X); + boolean nX = duct.canConnectTo(world, x, y, z, Library.NEG_X); + boolean pY = duct.canConnectTo(world, x, y, z, Library.POS_Y); + boolean nY = duct.canConnectTo(world, x, y, z, Library.NEG_Y); + boolean pZ = duct.canConnectTo(world, x, y, z, Library.POS_Z); + boolean nZ = duct.canConnectTo(world, x, y, z, Library.NEG_Z); + + int mask = 0 + (pX ? 32 : 0) + (nX ? 16 : 0) + (pY ? 8 : 0) + (nY ? 4 : 0) + (pZ ? 2 : 0) + (nZ ? 1 : 0); + + double lower = 0.3125D; + double upper = 0.6875D; + + boolean hasConnections = tile != null && (tile.isCompressor() || tile.isEndpoint()); + + //Straight along X + if(mask == 0b110000 && !hasConnections) { + renderer.setRenderBounds(0.0D, lower, lower, 1.0D, upper, upper); + duct.renderSides[4] = false; + duct.renderSides[5] = false; + duct.activeIcon = duct.iconStraight; + renderer.renderStandardBlock(block, x, y, z); + duct.resetRenderSides(); + + // Straight along Z + } else if(mask == 0b000011 && !hasConnections) { + renderer.setRenderBounds(lower, lower, 0.0D, upper, upper, 1.0D); + duct.renderSides[2] = false; + duct.renderSides[3] = false; + duct.activeIcon = duct.iconStraight; + renderer.uvRotateTop = 2; + renderer.uvRotateBottom = 1; + renderer.renderStandardBlock(block, x, y, z); + duct.resetRenderSides(); + renderer.uvRotateTop = 0; + renderer.uvRotateBottom = 0; + + //Straight along Y + } else if(mask == 0b001100 && !hasConnections) { + renderer.setRenderBounds(lower, 0.0D, lower, upper, 1.0D, upper); + duct.renderSides[0] = false; + duct.renderSides[1] = false; + duct.activeIcon = duct.iconStraight; + renderer.uvRotateNorth = 2; + renderer.uvRotateSouth = 2; + renderer.uvRotateEast = 2; + renderer.uvRotateWest = 2; + renderer.renderStandardBlock(block, x, y, z); + duct.resetRenderSides(); + renderer.uvRotateNorth = 0; + renderer.uvRotateSouth = 0; + renderer.uvRotateEast = 0; + renderer.uvRotateWest = 0; + //Any + } else { + renderer.setRenderBounds(lower, lower, lower, upper, upper, upper); + duct.renderSides[5] = !pX; + duct.renderSides[4] = !nX; + duct.renderSides[1] = !pY; + duct.renderSides[0] = !nY; + duct.renderSides[3] = !pZ; + duct.renderSides[2] = !nZ; + renderer.renderStandardBlock(block, x, y, z); + duct.resetRenderSides(); + if(pX) { duct.renderSides[5] = false; duct.renderSides[4] = false; renderer.setRenderBounds(upper, lower, lower, 1, upper, upper); renderer.renderStandardBlock(block, x, y, z); duct.resetRenderSides(); } + if(nX) { duct.renderSides[4] = false; duct.renderSides[5] = false; renderer.setRenderBounds(0, lower, lower, lower, upper, upper); renderer.renderStandardBlock(block, x, y, z); duct.resetRenderSides(); } + if(pY) { duct.renderSides[1] = false; duct.renderSides[0] = false; renderer.setRenderBounds(lower, upper, lower, upper, 1, upper); renderer.renderStandardBlock(block, x, y, z); duct.resetRenderSides(); } + if(nY) { duct.renderSides[0] = false; duct.renderSides[1] = false; renderer.setRenderBounds(lower, 0, lower, upper, lower, upper); renderer.renderStandardBlock(block, x, y, z); duct.resetRenderSides(); } + if(pZ) { duct.renderSides[3] = false; duct.renderSides[2] = false; renderer.setRenderBounds(lower, lower, upper, upper, upper, 1); renderer.renderStandardBlock(block, x, y, z); duct.resetRenderSides(); } + if(nZ) { duct.renderSides[2] = false; duct.renderSides[3] = false; renderer.setRenderBounds(lower, lower, 0, upper, upper, lower); renderer.renderStandardBlock(block, x, y, z); duct.resetRenderSides(); } + } + + if(tile != null) { + renderCon(duct, x, y, z, renderer, tile.insertionDir, duct.iconIn); + renderCon(duct, x, y, z, renderer, tile.ejectionDir, duct.iconOut); + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + if(duct.canConnectToAir(world, x, y, z, dir)) renderCon(duct, x, y, z, renderer, dir, duct.iconConnector); + } + } + + duct.activeIcon = duct.baseIcon; + + return true; + } + + protected static void renderCon(PneumoTube duct, int x, int y, int z, RenderBlocks renderer, ForgeDirection dir, IIcon newIcon) { + + double lower = 0.3125D; + double upper = 0.6875D; + double cLower = 0.25D; + double cUpper = 0.75D; + double nLower = 0.25D; + double nUpper = 0.75D; + + if(dir == Library.POS_X) { + duct.renderSides[5] = false; + duct.renderSides[4] = false; + renderer.setRenderBounds(upper, lower, lower, cUpper, upper, upper); + renderer.renderStandardBlock(duct, x, y, z); duct.resetRenderSides(); + duct.activeIcon = newIcon; + renderer.setRenderBounds(cUpper, nLower, nLower, 1, nUpper, nUpper); + renderer.renderStandardBlock(duct, x, y, z); + } + if(dir == Library.NEG_X) { + duct.renderSides[5] = false; + duct.renderSides[4] = false; + renderer.setRenderBounds(cLower, lower, lower, lower, upper, upper); + renderer.renderStandardBlock(duct, x, y, z); duct.resetRenderSides(); + duct.activeIcon = newIcon; + renderer.setRenderBounds(0, nLower, nLower, nLower, nUpper, nUpper); + renderer.renderStandardBlock(duct, x, y, z); + } + + if(dir == Library.POS_Y) { + duct.renderSides[1] = false; + duct.renderSides[0] = false; + renderer.setRenderBounds(lower, upper, lower, upper, cUpper, upper); + renderer.renderStandardBlock(duct, x, y, z); duct.resetRenderSides(); + duct.activeIcon = newIcon; + renderer.setRenderBounds(nLower, cUpper, nLower, nUpper, 1, nUpper); + renderer.renderStandardBlock(duct, x, y, z); + } + if(dir == Library.NEG_Y) { + duct.renderSides[1] = false; + duct.renderSides[0] = false; + renderer.setRenderBounds(lower, cLower, lower, upper, lower, upper); + renderer.renderStandardBlock(duct, x, y, z); duct.resetRenderSides(); + duct.activeIcon = newIcon; + renderer.setRenderBounds(nLower, 0, nLower, nUpper, nLower, nUpper); + renderer.renderStandardBlock(duct, x, y, z); + } + + if(dir == Library.POS_Z) { + duct.renderSides[3] = false; + duct.renderSides[2] = false; + renderer.setRenderBounds(lower, lower, upper, upper, upper, cUpper); + renderer.renderStandardBlock(duct, x, y, z); duct.resetRenderSides(); + duct.activeIcon = newIcon; + renderer.setRenderBounds(nLower, nLower, cUpper, nUpper, nUpper, 1); + renderer.renderStandardBlock(duct, x, y, z); + } + if(dir == Library.NEG_Z) { + duct.renderSides[3] = false; + duct.renderSides[2] = false; + renderer.setRenderBounds(lower, lower, cLower, upper, upper, lower); + renderer.renderStandardBlock(duct, x, y, z); duct.resetRenderSides(); + duct.activeIcon = newIcon; + renderer.setRenderBounds(nLower, nLower, 0, nUpper, nUpper, cLower); + renderer.renderStandardBlock(duct, x, y, z); + } + + duct.activeIcon = duct.baseIcon; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return PneumoTube.renderID; + } +} diff --git a/src/main/java/com/hbm/render/block/RenderRTTY.java b/src/main/java/com/hbm/render/block/RenderRTTY.java index 68b3af3ec..ba32ac59a 100644 --- a/src/main/java/com/hbm/render/block/RenderRTTY.java +++ b/src/main/java/com/hbm/render/block/RenderRTTY.java @@ -1,6 +1,7 @@ package com.hbm.render.block; import com.hbm.blocks.network.RadioTorchBase; +import com.hbm.interfaces.NotableComments; import com.hbm.main.ResourceManager; import com.hbm.render.util.ObjUtil; import com.hbm.tileentity.network.TileEntityRadioTorchBase; @@ -15,6 +16,7 @@ import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraftforge.client.model.obj.WavefrontObject; +@NotableComments public class RenderRTTY implements ISimpleBlockRenderingHandler { @Override diff --git a/src/main/java/com/hbm/render/block/RenderReeds.java b/src/main/java/com/hbm/render/block/RenderReeds.java index a237a79c8..a07a16a31 100644 --- a/src/main/java/com/hbm/render/block/RenderReeds.java +++ b/src/main/java/com/hbm/render/block/RenderReeds.java @@ -1,6 +1,7 @@ package com.hbm.render.block; import com.hbm.blocks.generic.BlockReeds; +import com.hbm.config.ClientConfig; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import net.minecraft.block.Block; @@ -27,10 +28,15 @@ public class RenderReeds implements ISimpleBlockRenderingHandler { tessellator.setColorOpaque_F(r * m, g * m, b * m); int depth = 0; - for(int i = y - 1; i > 0 ; i--) { - Block water = world.getBlock(x, i, z); - depth = y - i; - if(water != Blocks.water && water != Blocks.flowing_water) break; + + if(!ClientConfig.RENDER_REEDS.get()) { + depth = 1; + } else { + for(int i = y - 1; i > 0 ; i--) { + Block water = world.getBlock(x, i, z); + depth = y - i; + if(water != Blocks.water && water != Blocks.flowing_water) break; + } } BlockReeds reeds = (BlockReeds) block; diff --git a/src/main/java/com/hbm/render/block/RenderScaffoldBlock.java b/src/main/java/com/hbm/render/block/RenderScaffoldBlock.java index 69be9500e..0298b24ad 100644 --- a/src/main/java/com/hbm/render/block/RenderScaffoldBlock.java +++ b/src/main/java/com/hbm/render/block/RenderScaffoldBlock.java @@ -49,14 +49,31 @@ public class RenderScaffoldBlock implements ISimpleBlockRenderingHandler { iicon = renderer.overrideBlockTexture; } - float rotation = (float) -Math.PI; + float ox = x + 0.5F; + float oy = y; + float oz = z + 0.5F; - if((world.getBlockMetadata(x, y, z) & 8) == 0) - rotation = -90F / 180F * (float) Math.PI; + float rotation = (float) Math.PI * -0.5F; + float pitch = 0; - tessellator.addTranslation(x + 0.5F, y, z + 0.5F); - ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.scaffold, iicon, tessellator, rotation, true); - tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + int meta = world.getBlockMetadata(x, y, z); + + if(meta >= 12) { + pitch = (float) Math.PI * 0.5F; + rotation = (float) -Math.PI; + ox = x + 1.0F; + oy = y + 0.5F; + } else if(meta >= 8) { + rotation = (float) -Math.PI; + } else if(meta >= 4) { + pitch = (float) Math.PI * 0.5F; + oy = y + 0.5F; + oz = z; + } + + tessellator.addTranslation(ox, oy, oz); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.scaffold, iicon, tessellator, rotation, pitch, true); + tessellator.addTranslation(-ox, -oy, -oz); return true; } diff --git a/src/main/java/com/hbm/render/block/RenderSteelCorner.java b/src/main/java/com/hbm/render/block/RenderSteelCorner.java new file mode 100644 index 000000000..9867847cb --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderSteelCorner.java @@ -0,0 +1,94 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.generic.DecoBlock; +import com.hbm.render.util.RenderBlocksNT; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.world.IBlockAccess; + +public class RenderSteelCorner implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + Tessellator tessellator = Tessellator.instance; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + + tessellator.startDrawingQuads(); + + + renderer.setRenderBounds(0D, 0D, 0.875D, 0.75D, 1D, 1D); + tessellator.setNormal(0F, 1F, 0F); renderer.renderFaceYPos(block, 0, 0, 0, block.getIcon(0, 0)); + tessellator.setNormal(0F, -1F, 0F); renderer.renderFaceYNeg(block, 0, 0, 0, block.getIcon(0, 0)); + tessellator.setNormal(-1F, 0F, 0F); renderer.renderFaceXNeg(block, 0, 0, 0, block.getIcon(0, 0)); + tessellator.setNormal(0F, 0F, 1F); renderer.renderFaceZPos(block, 0, 0, 0, block.getIcon(0, 0)); + tessellator.setNormal(0F, 0F, -1F); renderer.renderFaceZNeg(block, 0, 0, 0, block.getIcon(0, 0)); + + + renderer.setRenderBounds(0.75D, 0D, 0.75D, 1D, 1D, 1D); + tessellator.setNormal(0F, 1F, 0F); renderer.renderFaceYPos(block, 0, 0, 0, block.getIcon(0, 0)); + tessellator.setNormal(0F, -1F, 0F); renderer.renderFaceYNeg(block, 0, 0, 0, block.getIcon(0, 0)); + tessellator.setNormal(1F, 0F, 0F); renderer.renderFaceXPos(block, 0, 0, 0, block.getIcon(0, 0)); + tessellator.setNormal(-1F, 0F, 0F); renderer.renderFaceXNeg(block, 0, 0, 0, block.getIcon(0, 0)); + tessellator.setNormal(0F, 0F, 1F); renderer.renderFaceZPos(block, 0, 0, 0, block.getIcon(0, 0)); + tessellator.setNormal(0F, 0F, -1F); renderer.renderFaceZNeg(block, 0, 0, 0, block.getIcon(0, 0)); + + renderer.setRenderBounds(0.875D, 0D, 0D, 1D, 1D, 0.75D); + tessellator.setNormal(0F, 1F, 0F); renderer.renderFaceYPos(block, 0, 0, 0, block.getIcon(0, 0)); + tessellator.setNormal(0F, -1F, 0F); renderer.renderFaceYNeg(block, 0, 0, 0, block.getIcon(0, 0)); + tessellator.setNormal(1F, 0F, 0F); renderer.renderFaceXPos(block, 0, 0, 0, block.getIcon(0, 0)); + tessellator.setNormal(-1F, 0F, 0F); renderer.renderFaceXNeg(block, 0, 0, 0, block.getIcon(0, 0)); + tessellator.setNormal(0F, 0F, -1F); renderer.renderFaceZNeg(block, 0, 0, 0, block.getIcon(0, 0)); + + tessellator.draw(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + Tessellator tessellator = Tessellator.instance; + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + int meta = world.getBlockMetadata(x, y, z); + + renderer = RenderBlocksNT.INSTANCE.setWorld(world); + + switch(meta) { + case 2: + renderer.setRenderBounds(0.25D, 0D, 0.875D, 1D, 1D, 1D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0D, 0D, 0.75D, 0.25D, 1D, 1D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0D, 0D, 0D, 0.125D, 1D, 0.75D); renderer.renderStandardBlock(block, x, y, z); + break; + case 3: + renderer.setRenderBounds(0D, 0D, 0D, 0.75D, 1D, 0.125D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0.75D, 0D, 0D, 1D, 1D, 0.25D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0.875D, 0D, 0.25D, 1D, 1D, 1D); renderer.renderStandardBlock(block, x, y, z); + break; + case 4: + renderer.setRenderBounds(0.875D, 0D, 0D, 1D, 1D, 0.75D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0.75D, 0D, 0.75D, 1D, 1D, 1D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0D, 0D, 0.875D, 0.75D, 1D, 1D); renderer.renderStandardBlock(block, x, y, z); + break; + case 5: + renderer.setRenderBounds(0D, 0D, 0.25D, 0.125D, 1D, 1D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0D, 0D, 0D, 0.25D, 1D, 0.25D); renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0.25D, 0D, 0D, 1D, 1D, 0.125D); renderer.renderStandardBlock(block, x, y, z); + break; + } + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return DecoBlock.renderIDCorner; + } +} diff --git a/src/main/java/com/hbm/render/block/RenderSteelWall.java b/src/main/java/com/hbm/render/block/RenderSteelWall.java new file mode 100644 index 000000000..a9744ab5b --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderSteelWall.java @@ -0,0 +1,61 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.generic.DecoBlock; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.world.IBlockAccess; + +public class RenderSteelWall implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + Tessellator tessellator = Tessellator.instance; + GL11.glTranslatef(-0.5F, -0.5F, -0.9375F); + + renderer.setRenderBounds(0D, 0D, 0.875D, 1D, 1D, 1D); + + tessellator.startDrawingQuads(); + tessellator.setNormal(0F, 1F, 0F); renderer.renderFaceYPos(block, 0, 0, 0, block.getIcon(0, 0)); + tessellator.setNormal(0F, -1F, 0F); renderer.renderFaceYNeg(block, 0, 0, 0, block.getIcon(0, 0)); + tessellator.setNormal(1F, 0F, 0F); renderer.renderFaceXPos(block, 0, 0, 0, block.getIcon(0, 0)); + tessellator.setNormal(-1F, 0F, 0F); renderer.renderFaceXNeg(block, 0, 0, 0, block.getIcon(0, 0)); + tessellator.setNormal(0F, 0F, 1F); renderer.renderFaceZPos(block, 0, 0, 0, block.getIcon(0, 0)); + tessellator.setNormal(0F, 0F, -1F); renderer.renderFaceZNeg(block, 0, 0, 0, block.getIcon(0, 0)); + tessellator.draw(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + Tessellator tessellator = Tessellator.instance; + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + int meta = world.getBlockMetadata(x, y, z); + + switch(meta) { + case 2: renderer.setRenderBounds(0D, 0D, 0.875D, 1D, 1D, 1D); break; + case 3: renderer.setRenderBounds(0D, 0D, 0D, 1D, 1D, 0.125D); break; + case 4: renderer.setRenderBounds(0.875D, 0D, 0D, 1D, 1D, 1D); break; + case 5: renderer.setRenderBounds(0D, 0D, 0D, 0.125D, 1D, 1D); break; + } + + renderer.renderStandardBlock(block, x, y, z); + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return DecoBlock.renderIDWall; + } + +} diff --git a/src/main/java/com/hbm/render/block/RenderTaintBlock.java b/src/main/java/com/hbm/render/block/RenderTaintBlock.java deleted file mode 100644 index b7f6bc240..000000000 --- a/src/main/java/com/hbm/render/block/RenderTaintBlock.java +++ /dev/null @@ -1,124 +0,0 @@ -package com.hbm.render.block; - -import com.hbm.blocks.bomb.BlockTaint; - -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; - -public class RenderTaintBlock implements ISimpleBlockRenderingHandler { - - @Override - public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { } - - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - - Tessellator tessellator = Tessellator.instance; - IIcon iicon = block.getIcon(0, world.getBlockMetadata(x, y, z)); - - if (renderer.hasOverrideBlockTexture()) - { - iicon = renderer.overrideBlockTexture; - } - - boolean ceil = world.getBlock(x, y + 1, z).isNormalCube(); - boolean floor = world.getBlock(x, y - 1, z).isNormalCube(); - boolean side1 = world.getBlock(x, y, z + 1).isNormalCube(); - boolean side2 = world.getBlock(x - 1, y, z).isNormalCube(); - boolean side3 = world.getBlock(x, y, z - 1).isNormalCube(); - boolean side4 = world.getBlock(x + 1, y, z).isNormalCube(); - - tessellator.setBrightness(block.getMixedBrightnessForBlock(renderer.blockAccess, x, y, z)); - int l = block.colorMultiplier(renderer.blockAccess, x, y, z); - float f = (float)(l >> 16 & 255) / 255.0F; - float f1 = (float)(l >> 8 & 255) / 255.0F; - float f2 = (float)(l & 255) / 255.0F; - tessellator.setColorOpaque_F(f, f1, f2); - double d3 = (double)iicon.getMinU(); - double d4 = (double)iicon.getMinV(); - double d0 = (double)iicon.getMaxU(); - double d1 = (double)iicon.getMaxV(); - double d2 = 0.05D; - renderer.blockAccess.getBlockMetadata(x, y, z); - - if (side2) - { - tessellator.addVertexWithUV((double)x + d2, (double)(y + 1), (double)(z + 1), d3, d4); - tessellator.addVertexWithUV((double)x + d2, (double)(y + 0), (double)(z + 1), d3, d1); - tessellator.addVertexWithUV((double)x + d2, (double)(y + 0), (double)(z + 0), d0, d1); - tessellator.addVertexWithUV((double)x + d2, (double)(y + 1), (double)(z + 0), d0, d4); - tessellator.addVertexWithUV((double)x + d2, (double)(y + 1), (double)(z + 0), d0, d4); - tessellator.addVertexWithUV((double)x + d2, (double)(y + 0), (double)(z + 0), d0, d1); - tessellator.addVertexWithUV((double)x + d2, (double)(y + 0), (double)(z + 1), d3, d1); - tessellator.addVertexWithUV((double)x + d2, (double)(y + 1), (double)(z + 1), d3, d4); - } - - if (side4) - { - tessellator.addVertexWithUV((double)(x + 1) - d2, (double)(y + 0), (double)(z + 1), d0, d1); - tessellator.addVertexWithUV((double)(x + 1) - d2, (double)(y + 1), (double)(z + 1), d0, d4); - tessellator.addVertexWithUV((double)(x + 1) - d2, (double)(y + 1), (double)(z + 0), d3, d4); - tessellator.addVertexWithUV((double)(x + 1) - d2, (double)(y + 0), (double)(z + 0), d3, d1); - tessellator.addVertexWithUV((double)(x + 1) - d2, (double)(y + 0), (double)(z + 0), d3, d1); - tessellator.addVertexWithUV((double)(x + 1) - d2, (double)(y + 1), (double)(z + 0), d3, d4); - tessellator.addVertexWithUV((double)(x + 1) - d2, (double)(y + 1), (double)(z + 1), d0, d4); - tessellator.addVertexWithUV((double)(x + 1) - d2, (double)(y + 0), (double)(z + 1), d0, d1); - } - - if (side3) - { - tessellator.addVertexWithUV((double)(x + 1), (double)(y + 0), (double)z + d2, d0, d1); - tessellator.addVertexWithUV((double)(x + 1), (double)(y + 1), (double)z + d2, d0, d4); - tessellator.addVertexWithUV((double)(x + 0), (double)(y + 1), (double)z + d2, d3, d4); - tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)z + d2, d3, d1); - tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)z + d2, d3, d1); - tessellator.addVertexWithUV((double)(x + 0), (double)(y + 1), (double)z + d2, d3, d4); - tessellator.addVertexWithUV((double)(x + 1), (double)(y + 1), (double)z + d2, d0, d4); - tessellator.addVertexWithUV((double)(x + 1), (double)(y + 0), (double)z + d2, d0, d1); - } - - if (side1) - { - tessellator.addVertexWithUV((double)(x + 1), (double)(y + 1), (double)(z + 1) - d2, d3, d4); - tessellator.addVertexWithUV((double)(x + 1), (double)(y + 0), (double)(z + 1) - d2, d3, d1); - tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)(z + 1) - d2, d0, d1); - tessellator.addVertexWithUV((double)(x + 0), (double)(y + 1), (double)(z + 1) - d2, d0, d4); - tessellator.addVertexWithUV((double)(x + 0), (double)(y + 1), (double)(z + 1) - d2, d0, d4); - tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)(z + 1) - d2, d0, d1); - tessellator.addVertexWithUV((double)(x + 1), (double)(y + 0), (double)(z + 1) - d2, d3, d1); - tessellator.addVertexWithUV((double)(x + 1), (double)(y + 1), (double)(z + 1) - d2, d3, d4); - } - - if (ceil) - { - tessellator.addVertexWithUV((double)(x + 1), (double)(y + 1) - d2, (double)(z + 0), d3, d4); - tessellator.addVertexWithUV((double)(x + 1), (double)(y + 1) - d2, (double)(z + 1), d3, d1); - tessellator.addVertexWithUV((double)(x + 0), (double)(y + 1) - d2, (double)(z + 1), d0, d1); - tessellator.addVertexWithUV((double)(x + 0), (double)(y + 1) - d2, (double)(z + 0), d0, d4); - } - - if (floor) - { - tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0) + d2, (double)(z + 0), d0, d4); - tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0) + d2, (double)(z + 1), d0, d1); - tessellator.addVertexWithUV((double)(x + 1), (double)(y + 0) + d2, (double)(z + 1), d3, d1); - tessellator.addVertexWithUV((double)(x + 1), (double)(y + 0) + d2, (double)(z + 0), d3, d4); - } - return true; - } - - @Override - public boolean shouldRender3DInInventory(int modelId) { - return false; - } - - @Override - public int getRenderId() { - return BlockTaint.renderID; - } - -} diff --git a/src/main/java/com/hbm/render/block/ct/RenderBlocksCT.java b/src/main/java/com/hbm/render/block/ct/RenderBlocksCT.java index 498e81e3a..8f7ffd7ce 100644 --- a/src/main/java/com/hbm/render/block/ct/RenderBlocksCT.java +++ b/src/main/java/com/hbm/render/block/ct/RenderBlocksCT.java @@ -2,6 +2,7 @@ package com.hbm.render.block.ct; import org.lwjgl.opengl.GL11; +import com.hbm.interfaces.NotableComments; import com.hbm.main.MainRegistry; import com.hbm.render.block.ct.CTContext.CTFace; @@ -12,6 +13,7 @@ import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraftforge.common.util.ForgeDirection; +@NotableComments public class RenderBlocksCT extends RenderBlocks { public static RenderBlocksCT instance = new RenderBlocksCT(); diff --git a/src/main/java/com/hbm/render/entity/effect/BSmokeRenderer.java b/src/main/java/com/hbm/render/entity/effect/BSmokeRenderer.java deleted file mode 100644 index 66ad9eb7a..000000000 --- a/src/main/java/com/hbm/render/entity/effect/BSmokeRenderer.java +++ /dev/null @@ -1,117 +0,0 @@ -package com.hbm.render.entity.effect; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import com.hbm.entity.particle.EntityBSmokeFX; -import com.hbm.items.ModItems; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.entity.Entity; -import net.minecraft.item.Item; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; - -public class BSmokeRenderer extends Render { - private Item field_94151_a; - public BSmokeRenderer(Item p_i1259_1_, int p_i1259_2_) { - this.field_94151_a = p_i1259_1_; - } - - public BSmokeRenderer(Item p_i1260_1_) { - this(p_i1260_1_, 0); - } - - /** - * Actually renders the given argument. This is a synthetic bridge method, - * always casting down its argument and then handing it off to a worker - * function which does the actual work. In all probabilty, the class Render - * is generic (Render= fx.maxAge / 8 * 7) { - field_94151_a = ModItems.b_smoke8; - } - - if (fx.particleAge < fx.maxAge / 8 * 7 && fx.particleAge >= fx.maxAge / 8 * 6) { - field_94151_a = ModItems.b_smoke7; - } - - if (fx.particleAge < fx.maxAge / 8 * 6 && fx.particleAge >= fx.maxAge / 8 * 5) { - field_94151_a = ModItems.b_smoke6; - } - - if (fx.particleAge < fx.maxAge / 8 * 5 && fx.particleAge >= fx.maxAge / 8 * 4) { - field_94151_a = ModItems.b_smoke5; - } - - if (fx.particleAge < fx.maxAge / 8 * 4 && fx.particleAge >= fx.maxAge / 8 * 3) { - field_94151_a = ModItems.b_smoke4; - } - - if (fx.particleAge < fx.maxAge / 8 * 3 && fx.particleAge >= fx.maxAge / 8 * 2) { - field_94151_a = ModItems.b_smoke3; - } - - if (fx.particleAge < fx.maxAge / 8 * 2 && fx.particleAge >= fx.maxAge / 8 * 1) { - field_94151_a = ModItems.b_smoke2; - } - - if (fx.particleAge < fx.maxAge / 8 && fx.particleAge >= 0) { - field_94151_a = ModItems.b_smoke1; - } - - IIcon iicon = field_94151_a.getIconFromDamage(0); - - if (iicon != null) { - GL11.glPushMatrix(); - GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glScalef(7.5F, 7.5F, 7.5F); - this.bindEntityTexture(p_76986_1_); - Tessellator tessellator = Tessellator.instance; - - this.func_77026_a(tessellator, iicon); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } - } - } - - /** - * Returns the location of an entity's texture. Doesn't seem to be called - * unless you call Render.bindEntityTexture. - */ - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return TextureMap.locationItemsTexture; - } - - private void func_77026_a(Tessellator p_77026_1_, IIcon p_77026_2_) { - float f = p_77026_2_.getMinU(); - float f1 = p_77026_2_.getMaxU(); - float f2 = p_77026_2_.getMinV(); - float f3 = p_77026_2_.getMaxV(); - float f4 = 1.0F; - float f5 = 0.5F; - float f6 = 0.25F; - GL11.glRotatef(180.0F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); - p_77026_1_.startDrawingQuads(); - p_77026_1_.setNormal(0.0F, 1.0F, 0.0F); - p_77026_1_.addVertexWithUV(0.0F - f5, 0.0F - f6, 0.0D, f, f3); - p_77026_1_.addVertexWithUV(f4 - f5, 0.0F - f6, 0.0D, f1, f3); - p_77026_1_.addVertexWithUV(f4 - f5, f4 - f6, 0.0D, f1, f2); - p_77026_1_.addVertexWithUV(0.0F - f5, f4 - f6, 0.0D, f, f2); - p_77026_1_.draw(); - } -} diff --git a/src/main/java/com/hbm/render/entity/effect/RenderFireball.java b/src/main/java/com/hbm/render/entity/effect/RenderFireball.java deleted file mode 100644 index 32036a1b4..000000000 --- a/src/main/java/com/hbm/render/entity/effect/RenderFireball.java +++ /dev/null @@ -1,140 +0,0 @@ -package com.hbm.render.entity.effect; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import com.hbm.entity.projectile.EntityFire; -import com.hbm.items.ModItems; - -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.entity.Entity; -import net.minecraft.item.Item; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; - -public class RenderFireball extends Render { - private Item field_94151_a; - public RenderFireball(Item p_i1259_1_, int p_i1259_2_) - { - this.field_94151_a = p_i1259_1_; - } - - public RenderFireball(Item p_i1260_1_) - { - this(p_i1260_1_, 0); - } - - /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then - * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic - * (Render= fx.maxAge / 10 * 9) - { - field_94151_a = ModItems.flame_10; - } - - if(fx.ticksExisted < fx.maxAge / 10 * 9 && fx.ticksExisted >= fx.maxAge / 10 * 8) - { - field_94151_a = ModItems.flame_9; - } - - if(fx.ticksExisted < fx.maxAge / 10 * 8 && fx.ticksExisted >= fx.maxAge / 10 * 7) - { - field_94151_a = ModItems.flame_8; - } - - if(fx.ticksExisted < fx.maxAge / 10 * 7 && fx.ticksExisted >= fx.maxAge / 10 * 6) - { - field_94151_a = ModItems.flame_7; - } - - if(fx.ticksExisted < fx.maxAge / 10 * 6 && fx.ticksExisted >= fx.maxAge / 10 * 5) - { - field_94151_a = ModItems.flame_6; - } - - if(fx.ticksExisted < fx.maxAge / 10 * 5 && fx.ticksExisted >= fx.maxAge / 10 * 4) - { - field_94151_a = ModItems.flame_5; - } - - if(fx.ticksExisted < fx.maxAge / 10 * 4 && fx.ticksExisted >= fx.maxAge / 10 * 3) - { - field_94151_a = ModItems.flame_4; - } - - if(fx.ticksExisted < fx.maxAge / 10 * 3 && fx.ticksExisted >= fx.maxAge / 10 * 2) - { - field_94151_a = ModItems.flame_3; - } - - if(fx.ticksExisted < fx.maxAge / 10 * 2 && fx.ticksExisted >= fx.maxAge / 10 * 1) - { - field_94151_a = ModItems.flame_2; - } - - if(fx.ticksExisted < fx.maxAge / 10 && fx.ticksExisted >= 0 && !fx.isDead) - { - field_94151_a = ModItems.flame_1; - } - - IIcon iicon = field_94151_a.getIconFromDamage(0); - - if (iicon != null) - { - GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glScalef(7.5F, 7.5F, 7.5F); - GL11.glTranslatef(0.0F, -0.25F, 0.0F); - this.bindEntityTexture(p_76986_1_); - Tessellator tessellator = Tessellator.instance; - - this.func_77026_a(tessellator, iicon); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } - } - } - - /** - * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. - */ - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) - { - return TextureMap.locationItemsTexture; - } - - private void func_77026_a(Tessellator p_77026_1_, IIcon p_77026_2_) - { - float f = p_77026_2_.getMinU(); - float f1 = p_77026_2_.getMaxU(); - float f2 = p_77026_2_.getMinV(); - float f3 = p_77026_2_.getMaxV(); - float f4 = 1.0F; - float f5 = 0.5F; - float f6 = 0.25F; - GL11.glRotatef(180.0F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); - p_77026_1_.startDrawingQuads(); - p_77026_1_.setNormal(0.0F, 1.0F, 0.0F); - p_77026_1_.addVertexWithUV(0.0F - f5, 0.0F - f6, 0.0D, f, f3); - p_77026_1_.addVertexWithUV(f4 - f5, 0.0F - f6, 0.0D, f1, f3); - p_77026_1_.addVertexWithUV(f4 - f5, f4 - f6, 0.0D, f1, f2); - p_77026_1_.addVertexWithUV(0.0F - f5, f4 - f6, 0.0D, f, f2); - p_77026_1_.draw(); - } -} diff --git a/src/main/java/com/hbm/render/entity/item/RenderBomber.java b/src/main/java/com/hbm/render/entity/item/RenderBomber.java index 16d32f88f..4cc33a349 100644 --- a/src/main/java/com/hbm/render/entity/item/RenderBomber.java +++ b/src/main/java/com/hbm/render/entity/item/RenderBomber.java @@ -28,36 +28,16 @@ public class RenderBomber extends Render { int i = entity.getDataWatcher().getWatchableObjectByte(16); switch(i) { - case 0: - bindTexture(ResourceManager.dornier_0_tex); - break; - case 1: - bindTexture(ResourceManager.dornier_1_tex); - break; - case 2: - bindTexture(ResourceManager.dornier_2_tex); - break; - case 3: - bindTexture(ResourceManager.dornier_3_tex); - break; - case 4: - bindTexture(ResourceManager.dornier_4_tex); - break; - case 5: - bindTexture(ResourceManager.b29_0_tex); - break; - case 6: - bindTexture(ResourceManager.b29_1_tex); - break; - case 7: - bindTexture(ResourceManager.b29_2_tex); - break; - case 8: - bindTexture(ResourceManager.b29_3_tex); - break; - default: - bindTexture(ResourceManager.dornier_1_tex); - break; + case 0: bindTexture(ResourceManager.dornier_1_tex); break; + case 1: bindTexture(ResourceManager.dornier_1_tex); break; + case 2: bindTexture(ResourceManager.dornier_2_tex); break; + case 3: bindTexture(ResourceManager.dornier_1_tex); break; + case 4: bindTexture(ResourceManager.dornier_4_tex); break; + case 5: bindTexture(ResourceManager.b29_0_tex); break; + case 6: bindTexture(ResourceManager.b29_1_tex); break; + case 7: bindTexture(ResourceManager.b29_2_tex); break; + case 8: bindTexture(ResourceManager.b29_3_tex); break; + default: bindTexture(ResourceManager.dornier_1_tex); break; } GL11.glRotatef((float) Math.sin((entity.ticksExisted + interp) * 0.05) * 10, 1F, 0F, 0F); diff --git a/src/main/java/com/hbm/render/entity/item/RenderC130.java b/src/main/java/com/hbm/render/entity/item/RenderC130.java new file mode 100644 index 000000000..9d2d7d4d4 --- /dev/null +++ b/src/main/java/com/hbm/render/entity/item/RenderC130.java @@ -0,0 +1,67 @@ +package com.hbm.render.entity.item; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; + +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; + +public class RenderC130 extends Render { + + @Override + public void doRender(Entity entity, double x, double y, double z, float f0, float interp) { + + GL11.glPushMatrix(); + GL11.glTranslatef((float) x, (float) y, (float) z); + GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(90, 0F, 0F, 1F); + GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * interp, 0.0F, 0.0F, 1.0F); + GL11.glEnable(GL11.GL_CULL_FACE); + + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.c130_0_tex); + ResourceManager.c130.renderPart("Plane"); + + double spin = System.currentTimeMillis() * 15D % 360D; + + GL11.glPushMatrix(); + GL11.glTranslated(10, 4.2, -20.5); + GL11.glRotated(spin, 1, 0, 0); + GL11.glTranslated(-10, -4.2, 20.5); + ResourceManager.c130.renderPart("Prop1"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(10, 4.2, -11.16); + GL11.glRotated(spin, 1, 0, 0); + GL11.glTranslated(-10, -4.2, 11.16); + ResourceManager.c130.renderPart("Prop2"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(10, 4.2, 11.16); + GL11.glRotated(spin, 1, 0, 0); + GL11.glTranslated(-10, -4.2, -11.16); + ResourceManager.c130.renderPart("Prop3"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(10, 4.2, 20.5); + GL11.glRotated(spin, 1, 0, 0); + GL11.glTranslated(-10, -4.2, -20.5); + ResourceManager.c130.renderPart("Prop4"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } + + @Override + protected ResourceLocation getEntityTexture(Entity entity) { + return ResourceManager.c130_0_tex; + } + +} diff --git a/src/main/java/com/hbm/render/entity/item/RenderMovingItem.java b/src/main/java/com/hbm/render/entity/item/RenderMovingItem.java index 32743c1e1..2707069bd 100644 --- a/src/main/java/com/hbm/render/entity/item/RenderMovingItem.java +++ b/src/main/java/com/hbm/render/entity/item/RenderMovingItem.java @@ -12,7 +12,6 @@ import net.minecraft.client.renderer.entity.Render; import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityItem; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; @@ -29,7 +28,7 @@ public class RenderMovingItem extends Render { GL11.glTranslated(0, rand.nextDouble() * 0.0625, 0); EntityMovingItem item = (EntityMovingItem) entity; - ItemStack stack = item.getItemStack().copy(); + ItemStack stack = item.getItemStack(); if(!(stack.getItemSpriteNumber() == 0 && stack.getItem() instanceof ItemBlock && RenderBlocks.renderItemIn3d(Block.getBlockFromItem(stack.getItem()).getRenderType()))) { GL11.glRotatef(90F, 1.0F, 0.0F, 0.0F); @@ -40,12 +39,13 @@ public class RenderMovingItem extends Render { } } - EntityItem dummy = new EntityItem(entity.worldObj, 0, 0, 0, stack); - dummy.hoverStart = 0.0F; + if(item.cacheForRender != null) { + item.cacheForRender.hoverStart = 0.0F; - RenderItem.renderInFrame = true; - RenderManager.instance.renderEntityWithPosYaw(dummy, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F); - RenderItem.renderInFrame = false; + RenderItem.renderInFrame = true; + RenderManager.instance.renderEntityWithPosYaw(item.cacheForRender, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F); + RenderItem.renderInFrame = false; + } GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/render/entity/item/RenderParachuteCrate.java b/src/main/java/com/hbm/render/entity/item/RenderParachuteCrate.java new file mode 100644 index 000000000..3bf1ab7c5 --- /dev/null +++ b/src/main/java/com/hbm/render/entity/item/RenderParachuteCrate.java @@ -0,0 +1,50 @@ +package com.hbm.render.entity.item; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; + +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; + +public class RenderParachuteCrate extends Render { + + @Override + public void doRender(Entity entity, double x, double y, double z, float i, float j) { + + GL11.glPushMatrix(); + + GL11.glTranslated(x, y, z); + + double time = (entity.worldObj.getTotalWorldTime()); + double sine = Math.sin(time * 0.05) * 5; + double sin3 = Math.sin(time * 0.05 + Math.PI * 0.5) * 5; + + int height = 7; + + GL11.glTranslated(0.0F, height, 0.0F); + GL11.glRotated(sine, 0, 0, 1); + GL11.glRotated(sin3, 1, 0, 0); + GL11.glTranslated(0.0F, -height, 0.0F); + + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); + + bindTexture(ResourceManager.supply_crate); + ResourceManager.conservecrate.renderAll(); + + GL11.glTranslated(0, -1, 0); + + bindTexture(ResourceManager.soyuz_chute_tex); + ResourceManager.soyuz_lander.renderPart("Chute"); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return ResourceManager.soyuz_lander_tex; + } +} diff --git a/src/main/java/com/hbm/render/entity/item/RenderTunnelBore.java b/src/main/java/com/hbm/render/entity/item/RenderTunnelBore.java deleted file mode 100644 index 98c8c1f69..000000000 --- a/src/main/java/com/hbm/render/entity/item/RenderTunnelBore.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.hbm.render.entity.item; - -import org.lwjgl.opengl.GL11; - -import com.hbm.entity.train.EntityRailCarBase; -import com.hbm.main.ResourceManager; - -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class RenderTunnelBore extends Render { - - @Override - public void doRender(Entity entity, double x, double y, double z, float swing, float interp) { - GL11.glPushMatrix(); - - EntityRailCarBase train = (EntityRailCarBase) entity; - double iX = train.prevPosX + (train.posX - train.prevPosX) * interp; - double iY = train.prevPosY + (train.posY - train.prevPosY) * interp; - double iZ = train.prevPosZ + (train.posZ - train.prevPosZ) * interp; - double rX = train.lastRenderX + (train.renderX - train.lastRenderX) * interp; - double rY = train.lastRenderY + (train.renderY - train.lastRenderY) * interp; - double rZ = train.lastRenderZ + (train.renderZ - train.lastRenderZ) * interp; - x -= iX - rX; - y -= iY - rY; - z -= iZ - rZ; - - GL11.glTranslated(x, y - 0.0625D, z); - - float yaw = entity.rotationYaw; - float prevYaw = entity.prevRotationYaw; - - if(yaw - prevYaw > 180) yaw -= 360; - if(prevYaw - yaw > 180) prevYaw -= 360; - - float yawInterp = prevYaw + (yaw - prevYaw) * interp - 720; - - GL11.glRotated(-yawInterp, 0, 1, 0); - - float pitch = entity.rotationPitch; - float prevPitch = entity.prevRotationPitch; - float pitchInterp = prevPitch + (pitch - prevPitch) * interp; - GL11.glRotated(-pitchInterp, 1, 0, 0); - - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glShadeModel(GL11.GL_SMOOTH); - bindTexture(ResourceManager.universal); - ResourceManager.tunnel_bore.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - GL11.glEnable(GL11.GL_CULL_FACE); - - GL11.glPopMatrix(); - } - - @Override - protected ResourceLocation getEntityTexture(Entity entity) { - return ResourceManager.universal; - } -} diff --git a/src/main/java/com/hbm/render/entity/mob/RenderDummy.java b/src/main/java/com/hbm/render/entity/mob/RenderDummy.java new file mode 100644 index 000000000..a85d4ea5e --- /dev/null +++ b/src/main/java/com/hbm/render/entity/mob/RenderDummy.java @@ -0,0 +1,31 @@ +package com.hbm.render.entity.mob; + +import com.hbm.entity.mob.EntityDummy; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.renderer.entity.RenderBiped; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.util.ResourceLocation; + +public class RenderDummy extends RenderBiped { + + public RenderDummy() { + super(new ModelBiped(0.0F), 0.5F, 1.0F); + } + + @Override + protected ResourceLocation getEntityTexture(EntityLiving entity) { + return this.getEntityTexture((EntityDummy) entity); + } + + @Override + protected ResourceLocation getEntityTexture(Entity entity) { + return this.getEntityTexture((EntityDummy) entity); + } + + protected ResourceLocation getEntityTexture(EntityDummy entity) { + return new ResourceLocation(RefStrings.MODID + ":textures/entity/dummy.png"); + } +} diff --git a/src/main/java/com/hbm/render/entity/mob/RenderGhost.java b/src/main/java/com/hbm/render/entity/mob/RenderGhost.java index 98c1484a9..812107d0c 100644 --- a/src/main/java/com/hbm/render/entity/mob/RenderGhost.java +++ b/src/main/java/com/hbm/render/entity/mob/RenderGhost.java @@ -4,8 +4,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.entity.mob.EntityGhost; import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelSiegeZombie; +import net.minecraft.client.model.ModelBiped; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.entity.RenderBiped; import net.minecraft.entity.Entity; @@ -15,7 +15,7 @@ import net.minecraft.util.ResourceLocation; public class RenderGhost extends RenderBiped { public RenderGhost() { - super(new ModelSiegeZombie(0.0F), 0.5F, 1.0F); + super(new ModelBiped(0.0F), 0.5F, 1.0F); } @Override diff --git a/src/main/java/com/hbm/render/entity/mob/RenderHunterChopper.java b/src/main/java/com/hbm/render/entity/mob/RenderHunterChopper.java index 0fac7dd10..cfa1cab78 100644 --- a/src/main/java/com/hbm/render/entity/mob/RenderHunterChopper.java +++ b/src/main/java/com/hbm/render/entity/mob/RenderHunterChopper.java @@ -5,7 +5,6 @@ import org.lwjgl.opengl.GL11; import com.hbm.entity.mob.EntityHunterChopper; import com.hbm.lib.RefStrings; import com.hbm.render.model.ModelHunterChopper; -import com.hbm.render.model.ProtoCopter; import net.minecraft.client.renderer.entity.Render; import net.minecraft.entity.Entity; @@ -14,39 +13,35 @@ import net.minecraft.util.ResourceLocation; public class RenderHunterChopper extends Render { - ProtoCopter mine; - ModelHunterChopper mine2; + private static final ResourceLocation chopperTexture = new ResourceLocation(RefStrings.MODID + ":textures/entity/chopper.png"); + private final ModelHunterChopper chopperModel = new ModelHunterChopper(); - public RenderHunterChopper() { - mine = new ProtoCopter(); - mine2 = new ModelHunterChopper(); - } + @Override + public void doRender(Entity entity, double x, double y, double z, float entityYaw, float partialTicks) { + + BossStatus.setBossStatus((EntityHunterChopper) entity, true); + GL11.glPushMatrix(); + GL11.glTranslated(x, y, z); + GL11.glTranslatef(0.0625F * 0, 0.0625F * 32, 0.0625F * 0); + GL11.glTranslatef(0.0625F * 0, 0.0625F * 12, 0.0625F * 0); + GL11.glScalef(4F, 4F, 4F); + GL11.glRotatef(180, 1, 0, 0); + + GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * partialTicks - 90.0F, 0, 1.0F, 0); + GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * partialTicks, 0, 0, 1.0F); + + this.bindTexture(chopperTexture); - @Override - public void doRender(Entity rocket, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, - float p_76986_9_) { - BossStatus.setBossStatus((EntityHunterChopper)rocket, true); - GL11.glPushMatrix(); - GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_); - GL11.glTranslatef(0.0625F * 0, 0.0625F * 32, 0.0625F * 0); - GL11.glTranslatef(0.0625F * 0, 0.0625F * 12, 0.0625F * 0); - GL11.glScalef(4F, 4F, 4F); - GL11.glRotatef(180, 1, 0, 0); - - GL11.glRotatef(rocket.prevRotationYaw + (rocket.rotationYaw - rocket.prevRotationYaw) * p_76986_9_ - 90.0F, 0, 1.0F, 0); - GL11.glRotatef(rocket.prevRotationPitch + (rocket.rotationPitch - rocket.prevRotationPitch) * p_76986_9_, 0, 0, 1.0F); - - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/chopper.png")); - //if(rocket instanceof EntityHunterChopper) - // mine2.setGunRotations((EntityHunterChopper)rocket, yaw, pitch); - - mine2.renderAll(0.0625F); - GL11.glPopMatrix(); - } + // mine2.setGunRotations((EntityHunterChopper)rocket, yaw, pitch); + + this.chopperModel.renderAll(0.0625F); + GL11.glPopMatrix(); + } @Override protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return new ResourceLocation(RefStrings.MODID + ":textures/entity/chopper.png"); + + return chopperTexture; } } diff --git a/src/main/java/com/hbm/render/entity/mob/RenderSiegeSkeleton.java b/src/main/java/com/hbm/render/entity/mob/RenderSiegeSkeleton.java deleted file mode 100644 index 932e739ec..000000000 --- a/src/main/java/com/hbm/render/entity/mob/RenderSiegeSkeleton.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.hbm.render.entity.mob; - -import com.hbm.entity.mob.siege.EntitySiegeSkeleton; -import com.hbm.entity.mob.siege.SiegeTier; -import com.hbm.lib.RefStrings; - -import net.minecraft.client.model.ModelSkeleton; -import net.minecraft.client.renderer.entity.RenderBiped; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.util.ResourceLocation; - -public class RenderSiegeSkeleton extends RenderBiped { - - public RenderSiegeSkeleton() { - super(new ModelSkeleton() { - - @Override - public void setLivingAnimations(EntityLivingBase entity, float f0, float f1, float f2) { - this.aimedBow = true; - } - }, 0.5F); - } - - @Override - protected ResourceLocation getEntityTexture(EntityLiving entity) { - return this.getEntityTexture((EntitySiegeSkeleton) entity); - } - - @Override - protected ResourceLocation getEntityTexture(Entity entity) { - return this.getEntityTexture((EntitySiegeSkeleton) entity); - } - - protected ResourceLocation getEntityTexture(EntitySiegeSkeleton entity) { - SiegeTier tier = entity.getTier(); - return new ResourceLocation(RefStrings.MODID + ":textures/entity/siege_" + tier.name + ".png"); - } -} diff --git a/src/main/java/com/hbm/render/entity/mob/RenderSiegeUFO.java b/src/main/java/com/hbm/render/entity/mob/RenderSiegeUFO.java deleted file mode 100644 index ad9ad0793..000000000 --- a/src/main/java/com/hbm/render/entity/mob/RenderSiegeUFO.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.hbm.render.entity.mob; - -import org.lwjgl.opengl.GL11; - -import com.hbm.entity.mob.siege.EntitySiegeUFO; -import com.hbm.entity.mob.siege.SiegeTier; -import com.hbm.lib.RefStrings; -import com.hbm.main.ResourceManager; - -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class RenderSiegeUFO extends Render { - - @Override - public void doRender(Entity entity, double x, double y, double z, float f0, float f1) { - - GL11.glPushMatrix(); - GL11.glTranslated(x, y + 0.25, z); - - EntitySiegeUFO ufo = (EntitySiegeUFO) entity; - - this.bindTexture(getEntityTexture(entity)); - - double rot = (entity.ticksExisted + f1) * 5 % 360D; - GL11.glRotated(rot, 0, 1, 0); - - - if(!ufo.isEntityAlive()) { - float tilt = ufo.deathTime + f1; - GL11.glRotatef(tilt * 5, 1, 0, 1); - } else if(entity.hurtResistantTime > 0) { - GL11.glRotated(Math.sin(System.currentTimeMillis() * 0.01D) * (entity.hurtResistantTime - f1), 1, 0, 0); - } - - GL11.glShadeModel(GL11.GL_SMOOTH); - GL11.glDisable(GL11.GL_CULL_FACE); - ResourceManager.mini_ufo.renderAll(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - } - - @Override - protected ResourceLocation getEntityTexture(Entity entity) { - return this.getEntityTexture((EntitySiegeUFO) entity); - } - - protected ResourceLocation getEntityTexture(EntitySiegeUFO entity) { - SiegeTier tier = entity.getTier(); - return new ResourceLocation(RefStrings.MODID + ":textures/entity/ufo_siege_" + tier.name + ".png"); - } -} diff --git a/src/main/java/com/hbm/render/entity/mob/RenderSiegeZombie.java b/src/main/java/com/hbm/render/entity/mob/RenderSiegeZombie.java deleted file mode 100644 index 679d0a9d7..000000000 --- a/src/main/java/com/hbm/render/entity/mob/RenderSiegeZombie.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.hbm.render.entity.mob; - -import com.hbm.entity.mob.siege.EntitySiegeZombie; -import com.hbm.entity.mob.siege.SiegeTier; -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelSiegeZombie; - -import net.minecraft.client.renderer.entity.RenderBiped; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.util.ResourceLocation; - -public class RenderSiegeZombie extends RenderBiped { - - public RenderSiegeZombie() { - super(new ModelSiegeZombie(0.0F), 0.5F, 1.0F); - } - - @Override - protected ResourceLocation getEntityTexture(EntityLiving entity) { - return this.getEntityTexture((EntitySiegeZombie) entity); - } - - @Override - protected ResourceLocation getEntityTexture(Entity entity) { - return this.getEntityTexture((EntitySiegeZombie) entity); - } - - protected ResourceLocation getEntityTexture(EntitySiegeZombie entity) { - SiegeTier tier = entity.getTier(); - return new ResourceLocation(RefStrings.MODID + ":textures/entity/siege_" + tier.name + ".png"); - } - - @Override - protected void func_82421_b() { - this.field_82423_g = new ModelSiegeZombie(1.0F); //armor slots 1, 2, 4 - this.field_82425_h = new ModelSiegeZombie(0.5F); //armor slot 3 - } -} diff --git a/src/main/java/com/hbm/render/entity/mob/RenderUndeadSoldier.java b/src/main/java/com/hbm/render/entity/mob/RenderUndeadSoldier.java new file mode 100644 index 000000000..7f43d82bc --- /dev/null +++ b/src/main/java/com/hbm/render/entity/mob/RenderUndeadSoldier.java @@ -0,0 +1,39 @@ +package com.hbm.render.entity.mob; + +import com.hbm.entity.mob.EntityUndeadSoldier; +import com.hbm.render.model.ModelSkeletonNT; + +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelZombie; +import net.minecraft.client.renderer.entity.RenderBiped; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.util.ResourceLocation; + +public class RenderUndeadSoldier extends RenderBiped { + + public static ResourceLocation textureZombie = new ResourceLocation("textures/entity/zombie/zombie.png"); + public static ResourceLocation textureSkeleton = new ResourceLocation("textures/entity/skeleton/skeleton.png"); + + public static ModelBiped modelZombie = new ModelZombie(); + public static ModelBiped modelSkeleton = new ModelSkeletonNT(); + + public RenderUndeadSoldier() { + super(modelZombie, 0.5F); + } + + @Override + protected void preRenderCallback(EntityLivingBase living, float interp) { + byte type = living.getDataWatcher().getWatchableObjectByte(EntityUndeadSoldier.DW_TYPE); + if(type == EntityUndeadSoldier.TYPE_ZOMBIE) this.mainModel = this.modelBipedMain = modelZombie; + if(type == EntityUndeadSoldier.TYPE_SKELETON) this.mainModel = this.modelBipedMain = modelSkeleton; + } + + @Override + protected ResourceLocation getEntityTexture(EntityLiving living) { + byte type = living.getDataWatcher().getWatchableObjectByte(EntityUndeadSoldier.DW_TYPE); + if(type == EntityUndeadSoldier.TYPE_ZOMBIE) return textureZombie; + if(type == EntityUndeadSoldier.TYPE_SKELETON) return textureSkeleton; + return null; + } +} diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderBaleflare.java b/src/main/java/com/hbm/render/entity/projectile/RenderBaleflare.java deleted file mode 100644 index f3c1d9fc9..000000000 --- a/src/main/java/com/hbm/render/entity/projectile/RenderBaleflare.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.hbm.render.entity.projectile; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelBaleflare; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class RenderBaleflare extends Render { - - private ModelBaleflare miniNuke; - - public RenderBaleflare() { - miniNuke = new ModelBaleflare(); - } - - @Override - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - - GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_ + 180, 0.0F, 0.0F, 1.0F); - GL11.glScalef(1.5F, 1.5F, 1.5F); - - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/BaleFlare.png")); - miniNuke.renderAll(0.0625F); - GL11.glPopMatrix(); - } - - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return new ResourceLocation(RefStrings.MODID + ":textures/models/BaleFlare.png"); - } -} diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderBeam.java b/src/main/java/com/hbm/render/entity/projectile/RenderBeam.java index 6a0e4a6fe..2ee6039ed 100644 --- a/src/main/java/com/hbm/render/entity/projectile/RenderBeam.java +++ b/src/main/java/com/hbm/render/entity/projectile/RenderBeam.java @@ -1,80 +1,41 @@ package com.hbm.render.entity.projectile; -import java.util.Random; - import org.lwjgl.opengl.GL11; -import com.hbm.lib.RefStrings; -import net.minecraft.client.renderer.Tessellator; +import com.hbm.entity.projectile.EntityBulletBeamBase; +import com.hbm.main.ResourceManager; + import net.minecraft.client.renderer.entity.Render; import net.minecraft.entity.Entity; import net.minecraft.util.ResourceLocation; public class RenderBeam extends Render { - - Random rand = new Random(); @Override - public void doRender(Entity rocket, double x, double y, double z, float p_76986_8_, float p_76986_9_) { - float radius = 0.12F; - //float radius = 0.06F; - int distance = 4; - Tessellator tessellator = Tessellator.instance; - + public void doRender(Entity entity, double x, double y, double z, float f0, float interp) { + EntityBulletBeamBase bullet = (EntityBulletBeamBase) entity; + if(bullet.config == null) bullet.config = bullet.getBulletConfig(); + if(bullet.config == null) return; + GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); GL11.glTranslatef((float) x, (float) y, (float) z); - - GL11.glRotatef(rocket.rotationYaw, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-rocket.rotationPitch, 1.0F, 0.0F, 0.0F); - - boolean red = false; - boolean green = true; - boolean blue = false; - - for (float o = 0; o <= radius; o += radius / 8) { - float color = 1f - (o * 8.333f); - if (color < 0) - color = 0; - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(red ? 1 : color, green ? 1 : color, blue ? 1 : color, 1f); - tessellator.addVertex(0 + o, 0 - o, 0); - tessellator.addVertex(0 + o, 0 + o, 0); - tessellator.addVertex(0 + o, 0 + o, 0 + distance); - tessellator.addVertex(0 + o, 0 - o, 0 + distance); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(red ? 1 : color, green ? 1 : color, blue ? 1 : color, 1f); - tessellator.addVertex(0 - o, 0 - o, 0); - tessellator.addVertex(0 + o, 0 - o, 0); - tessellator.addVertex(0 + o, 0 - o, 0 + distance); - tessellator.addVertex(0 - o, 0 - o, 0 + distance); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(red ? 1 : color, green ? 1 : color, blue ? 1 : color, 1f); - tessellator.addVertex(0 - o, 0 + o, 0); - tessellator.addVertex(0 - o, 0 - o, 0); - tessellator.addVertex(0 - o, 0 - o, 0 + distance); - tessellator.addVertex(0 - o, 0 + o, 0 + distance); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(red ? 1 : color, green ? 1 : color, blue ? 1 : color, 1f); - tessellator.addVertex(0 + o, 0 + o, 0); - tessellator.addVertex(0 - o, 0 + o, 0); - tessellator.addVertex(0 - o, 0 + o, 0 + distance); - tessellator.addVertex(0 + o, 0 + o, 0 + distance); - tessellator.draw(); + + boolean fog = GL11.glIsEnabled(GL11.GL_FOG); + GL11.glDisable(GL11.GL_FOG); + + if(bullet.config.renderRotations) { + GL11.glRotatef(bullet.prevRotationYaw + (bullet.rotationYaw - bullet.prevRotationYaw) * interp - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(bullet.prevRotationPitch + (bullet.rotationPitch - bullet.prevRotationPitch) * interp + 180, 0.0F, 0.0F, 1.0F); } - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_TEXTURE_2D); + + if(bullet.config.rendererBeam != null) { + bullet.config.rendererBeam.accept(bullet, interp); + } + + if(fog) GL11.glEnable(GL11.GL_FOG); + GL11.glPopMatrix(); } - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return new ResourceLocation(RefStrings.MODID + ":textures/models/PlasmaBeam.png"); - } + @Override protected ResourceLocation getEntityTexture(Entity entity) { return ResourceManager.universal; } } diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderBoxcar.java b/src/main/java/com/hbm/render/entity/projectile/RenderBoxcar.java index 275a6083d..ca4dfe348 100644 --- a/src/main/java/com/hbm/render/entity/projectile/RenderBoxcar.java +++ b/src/main/java/com/hbm/render/entity/projectile/RenderBoxcar.java @@ -5,6 +5,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.entity.projectile.EntityBoxcar; import com.hbm.entity.projectile.EntityBuilding; import com.hbm.entity.projectile.EntityDuchessGambit; +import com.hbm.entity.projectile.EntityTorpedo; import com.hbm.main.ResourceManager; import net.minecraft.client.renderer.entity.Render; @@ -14,43 +15,50 @@ import net.minecraft.util.ResourceLocation; public class RenderBoxcar extends Render { @Override - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, - float p_76986_9_) { + public void doRender(Entity entity, double x, double y, double z, float f0, float f1) { GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - - if(p_76986_1_ instanceof EntityBoxcar) { - GL11.glTranslatef(0, 0, -1.5F); - GL11.glRotated(180, 0, 0, 1); - GL11.glRotated(90, 1, 0, 0); - - bindTexture(ResourceManager.boxcar_tex); - ResourceManager.boxcar.renderAll(); - } - - if(p_76986_1_ instanceof EntityDuchessGambit) { - GL11.glTranslatef(0, 0, -1.0F); - - bindTexture(ResourceManager.duchessgambit_tex); - ResourceManager.duchessgambit.renderAll(); - } - - if(p_76986_1_ instanceof EntityBuilding) { - GL11.glDisable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.building_tex); - ResourceManager.building.renderAll(); - GL11.glEnable(GL11.GL_CULL_FACE); - } - + GL11.glTranslated(x, y, z); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glEnable(GL11.GL_LIGHTING); + + if(entity instanceof EntityBoxcar) { + GL11.glTranslatef(0, 0, -1.5F); + GL11.glRotated(180, 0, 0, 1); + GL11.glRotated(90, 1, 0, 0); + + bindTexture(ResourceManager.boxcar_tex); + ResourceManager.boxcar.renderAll(); + } + + if(entity instanceof EntityDuchessGambit) { + GL11.glTranslatef(0, 0, -1.0F); + + bindTexture(ResourceManager.duchessgambit_tex); + ResourceManager.duchessgambit.renderAll(); + } + + if(entity instanceof EntityBuilding) { + GL11.glDisable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.building_tex); + ResourceManager.building.renderAll(); + GL11.glEnable(GL11.GL_CULL_FACE); + } + + if(entity instanceof EntityTorpedo) { + float f = entity.ticksExisted + f1; + GL11.glRotatef(Math.min(85, f * 3), 1, 0, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.torpedo_tex); + ResourceManager.torpedo.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } + GL11.glPopMatrix(); } @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + protected ResourceLocation getEntityTexture(Entity entity) { return ResourceManager.boxcar_tex; } - -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderBullet.java b/src/main/java/com/hbm/render/entity/projectile/RenderBullet.java index c97e4b982..492b62051 100644 --- a/src/main/java/com/hbm/render/entity/projectile/RenderBullet.java +++ b/src/main/java/com/hbm/render/entity/projectile/RenderBullet.java @@ -11,7 +11,6 @@ import com.hbm.handler.BulletConfiguration; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.main.ResourceManager; -import com.hbm.render.model.ModelBaleflare; import com.hbm.render.model.ModelBullet; import com.hbm.render.util.RenderSparks; import com.hbm.util.Tuple.Pair; @@ -28,14 +27,13 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraft.util.Vec3; +@Deprecated public class RenderBullet extends Render { private ModelBullet bullet; - private ModelBaleflare bf; public RenderBullet() { bullet = new ModelBullet(); - bf = new ModelBaleflare(); } @Override @@ -65,14 +63,10 @@ public class RenderBullet extends Render { case BulletConfiguration.STYLE_PELLET: renderBuckshot(); break; case BulletConfiguration.STYLE_ROCKET: renderRocket(trail); break; case BulletConfiguration.STYLE_GRENADE: renderGrenade(trail); break; - case BulletConfiguration.STYLE_NUKE: renderNuke(0); break; - case BulletConfiguration.STYLE_MIRV: renderNuke(1); break; - case BulletConfiguration.STYLE_BF: renderNuke(2); break; case BulletConfiguration.STYLE_ORB: renderOrb(trail); break; case BulletConfiguration.STYLE_METEOR: renderMeteor(trail); break; case BulletConfiguration.STYLE_APDS: renderAPDS(); break; case BulletConfiguration.STYLE_BLADE: renderBlade(); break; - case BulletConfiguration.STYLE_BARREL: renderNuke(3); break; case BulletConfiguration.STYLE_TAU: renderTau(bullet, trail, f1); break; case BulletConfiguration.STYLE_LEADBURSTER: renderLeadburster(bullet, f1); break; default: renderBullet(trail); break; @@ -131,46 +125,14 @@ public class RenderBullet extends Render { private void renderRocket(int type) { - switch(type) { - case 0: - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelRocket.png")); break; - case 1: - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelRocketHE.png")); break; - case 2: - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelRocketIncendiary.png")); break; - case 3: - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelRocketShrapnel.png")); break; - case 4: - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelRocketEMP.png")); break; - case 5: - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelRocketGlare.png")); break; - case 6: - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelRocketSleek.png")); break; - case 7: - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelRocketNuclear.png")); break; - case 9: - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelRocketPhosphorus.png")); break; - case 10: - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelRocketCanister.png")); break; - } - - if(type == 8) { - bindTexture(ResourceManager.rpc_tex); - GL11.glScalef(0.25F, 0.25F, 0.25F); - GL11.glRotatef(180, 1, 0, 0); - ResourceManager.rpc.renderAll(); - return; - } else { - - GL11.glScaled(0.5, 0.5, 0.5); - GL11.glRotated(90, 0, 0, 1); - GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(0.5, 0.5, 0.5); + GL11.glRotated(90, 0, 0, 1); + GL11.glRotated(90, 0, 1, 0); - GL11.glShadeModel(GL11.GL_SMOOTH); - bindTexture(ResourceManager.rocket_tex); - ResourceManager.projectiles.renderPart("Rocket"); - GL11.glShadeModel(GL11.GL_FLAT); - } + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.rocket_tex); + ResourceManager.projectiles.renderPart("Rocket"); + GL11.glShadeModel(GL11.GL_FLAT); } private void renderGrenade(int type) { @@ -178,21 +140,6 @@ public class RenderBullet extends Render { GL11.glScalef(0.25F, 0.25F, 0.25F); GL11.glRotated(90, 0, 0, 1); GL11.glRotated(90, 0, 1, 0); - - switch(type) { - case 0: - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelGrenade.png")); break; - case 1: - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelGrenadeHE.png")); break; - case 2: - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelGrenadeIncendiary.png")); break; - case 3: - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelGrenadeToxic.png")); break; - case 4: - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelGrenadeSleek.png")); break; - case 5: - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/ModelGrenadeTraining.png")); break; - } GL11.glShadeModel(GL11.GL_SMOOTH); bindTexture(ResourceManager.grenade_tex); @@ -200,41 +147,6 @@ public class RenderBullet extends Render { GL11.glShadeModel(GL11.GL_FLAT); } - private void renderNuke(int type) { - - switch(type) { - case 0: - GL11.glScaled(0.5, 0.5, 0.5); - GL11.glRotated(90, 0, 0, 1); - GL11.glRotated(90, 0, 1, 0); - GL11.glShadeModel(GL11.GL_SMOOTH); - bindTexture(ResourceManager.mini_nuke_tex); - ResourceManager.projectiles.renderPart("MiniNuke"); - GL11.glShadeModel(GL11.GL_FLAT); - break; - case 1: - GL11.glScaled(0.5, 0.5, 0.5); - GL11.glRotated(90, 0, 0, 1); - GL11.glRotated(90, 0, 1, 0); - GL11.glShadeModel(GL11.GL_SMOOTH); - bindTexture(ResourceManager.mini_mirv_tex); - ResourceManager.projectiles.renderPart("MiniMIRV"); - GL11.glShadeModel(GL11.GL_FLAT); - break; - case 2: - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/BaleFlare.png")); - bf.renderAll(0.0625F); break; - case 3: - GL11.glRotated(90, 0, 0, 1); - GL11.glRotated(90, 0, 1, 0); - GL11.glTranslated(0, -0.5, 0); - bindTexture(ResourceManager.waste_drum_tex); - ResourceManager.waste_drum.renderAll(); - break; - } - - } - private void renderOrb(int type) { GL11.glEnable(GL11.GL_CULL_FACE); @@ -247,9 +159,9 @@ public class RenderBullet extends Render { switch(type) { case 0: bindTexture(ResourceManager.tom_flame_tex); - ResourceManager.sphere_uv_anim.renderAll(); + ResourceManager.sphere_uv.renderAll(); GL11.glScalef(0.3F, 0.3F, 0.3F); - ResourceManager.sphere_uv_anim.renderAll(); + ResourceManager.sphere_uv.renderAll(); GL11.glScalef(1F/0.3F, 1F/0.3F, 1F/0.3F); for(int i = 0; i < 5; i++) RenderSparks.renderSpark((int) (System.currentTimeMillis() / 100 + 100 * i), 0, 0, 0, 0.5F, 2, 2, 0x8080FF, 0xFFFFFF); diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderBulletMK4.java b/src/main/java/com/hbm/render/entity/projectile/RenderBulletMK4.java new file mode 100644 index 000000000..561a71271 --- /dev/null +++ b/src/main/java/com/hbm/render/entity/projectile/RenderBulletMK4.java @@ -0,0 +1,36 @@ +package com.hbm.render.entity.projectile; + +import org.lwjgl.opengl.GL11; + +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.main.ResourceManager; + +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; + +public class RenderBulletMK4 extends Render { + + @Override + public void doRender(Entity entity, double x, double y, double z, float f0, float interp) { + EntityBulletBaseMK4 bullet = (EntityBulletBaseMK4) entity; + if(bullet.config == null) bullet.config = bullet.getBulletConfig(); + if(bullet.config == null) return; + + GL11.glPushMatrix(); + GL11.glTranslatef((float) x, (float) y, (float) z); + + if(bullet.config.renderRotations) { + GL11.glRotatef(bullet.prevRotationYaw + (bullet.rotationYaw - bullet.prevRotationYaw) * interp - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(bullet.prevRotationPitch + (bullet.rotationPitch - bullet.prevRotationPitch) * interp + 180, 0.0F, 0.0F, 1.0F); + } + + if(bullet.config.renderer != null) { + bullet.config.renderer.accept(bullet, interp); + } + + GL11.glPopMatrix(); + } + + @Override protected ResourceLocation getEntityTexture(Entity entity) { return ResourceManager.universal; } +} diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderLN2.java b/src/main/java/com/hbm/render/entity/projectile/RenderLN2.java deleted file mode 100644 index 923677c39..000000000 --- a/src/main/java/com/hbm/render/entity/projectile/RenderLN2.java +++ /dev/null @@ -1,141 +0,0 @@ -package com.hbm.render.entity.projectile; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import com.hbm.entity.projectile.EntityLN2; -import com.hbm.items.ModItems; - -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.entity.Entity; -import net.minecraft.item.Item; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; - -public class RenderLN2 extends Render { - private Item field_94151_a; - public RenderLN2(Item p_i1259_1_, int p_i1259_2_) - { - this.field_94151_a = p_i1259_1_; - } - - public RenderLN2(Item p_i1260_1_) - { - this(p_i1260_1_, 0); - } - - /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then - * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic - * (Render= fx.maxAge / 10 * 9) - { - field_94151_a = ModItems.ln2_10; - } - - if(fx.ticksExisted < fx.maxAge / 10 * 9 && fx.ticksExisted >= fx.maxAge / 10 * 8) - { - field_94151_a = ModItems.ln2_9; - } - - if(fx.ticksExisted < fx.maxAge / 10 * 8 && fx.ticksExisted >= fx.maxAge / 10 * 7) - { - field_94151_a = ModItems.ln2_8; - } - - if(fx.ticksExisted < fx.maxAge / 10 * 7 && fx.ticksExisted >= fx.maxAge / 10 * 6) - { - field_94151_a = ModItems.ln2_7; - } - - if(fx.ticksExisted < fx.maxAge / 10 * 6 && fx.ticksExisted >= fx.maxAge / 10 * 5) - { - field_94151_a = ModItems.ln2_6; - } - - if(fx.ticksExisted < fx.maxAge / 10 * 5 && fx.ticksExisted >= fx.maxAge / 10 * 4) - { - field_94151_a = ModItems.ln2_5; - } - - if(fx.ticksExisted < fx.maxAge / 10 * 4 && fx.ticksExisted >= fx.maxAge / 10 * 3) - { - field_94151_a = ModItems.ln2_4; - } - - if(fx.ticksExisted < fx.maxAge / 10 * 3 && fx.ticksExisted >= fx.maxAge / 10 * 2) - { - field_94151_a = ModItems.ln2_3; - } - - if(fx.ticksExisted < fx.maxAge / 10 * 2 && fx.ticksExisted >= fx.maxAge / 10 * 1) - { - field_94151_a = ModItems.ln2_2; - } - - if(fx.ticksExisted < fx.maxAge / 10 && fx.ticksExisted >= 0 && !fx.isDead) - { - field_94151_a = ModItems.ln2_1; - } - - IIcon iicon = field_94151_a.getIconFromDamage(0); - - if (iicon != null) - { - GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glScalef(7.5F, 7.5F, 7.5F); - GL11.glTranslatef(0.0F, -0.25F, 0.0F); - this.bindEntityTexture(p_76986_1_); - Tessellator tessellator = Tessellator.instance; - - this.func_77026_a(tessellator, iicon); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } - } - } - - /** - * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. - */ - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) - { - return TextureMap.locationItemsTexture; - } - - private void func_77026_a(Tessellator p_77026_1_, IIcon p_77026_2_) - { - float f = p_77026_2_.getMinU(); - float f1 = p_77026_2_.getMaxU(); - float f2 = p_77026_2_.getMinV(); - float f3 = p_77026_2_.getMaxV(); - float f4 = 1.0F; - float f5 = 0.5F; - float f6 = 0.25F; - GL11.glRotatef(180.0F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); - p_77026_1_.startDrawingQuads(); - p_77026_1_.setNormal(0.0F, 1.0F, 0.0F); - p_77026_1_.addVertexWithUV(0.0F - f5, 0.0F - f6, 0.0D, f, f3); - p_77026_1_.addVertexWithUV(f4 - f5, 0.0F - f6, 0.0D, f1, f3); - p_77026_1_.addVertexWithUV(f4 - f5, f4 - f6, 0.0D, f1, f2); - p_77026_1_.addVertexWithUV(0.0F - f5, f4 - f6, 0.0D, f, f2); - p_77026_1_.draw(); - } - -} diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderLaser.java b/src/main/java/com/hbm/render/entity/projectile/RenderLaser.java deleted file mode 100644 index b87d393ac..000000000 --- a/src/main/java/com/hbm/render/entity/projectile/RenderLaser.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.hbm.render.entity.projectile; - -import org.lwjgl.opengl.GL11; - -import com.hbm.entity.projectile.EntityLaser; -import com.hbm.lib.Library; -import com.hbm.render.util.BeamPronter; -import com.hbm.render.util.BeamPronter.EnumBeamType; -import com.hbm.render.util.BeamPronter.EnumWaveType; - -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.Vec3; - -public class RenderLaser extends Render { - - @Override - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - this.doRender((EntityLaser)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); - } - - public void doRender(EntityLaser laser, double x, double y, double z, float p_76986_8_, float p_76986_9_) { - - GL11.glPushMatrix(); - - EntityPlayer player = laser.worldObj.getPlayerEntityByName(laser.getDataWatcher().getWatchableObjectString(20)); - - if(player != null) { - - - - //GL11.glTranslated(x - dX, y - dY, z - dZ); - - GL11.glTranslated(x, y, z); - - MovingObjectPosition pos = Library.rayTrace(player, 100, 1); - - Vec3 skeleton = Vec3.createVectorHelper(pos.hitVec.xCoord - player.posX, pos.hitVec.yCoord - player.posY - player.getEyeHeight(), pos.hitVec.zCoord - player.posZ); - int init = (int) -(System.currentTimeMillis() % 360); - - //BeamPronter.prontHelix(skeleton, 0, 0, 0, EnumWaveType.SPIRAL, EnumBeamType.LINE, 0x0000ff, 0x8080ff, 0, (int)(skeleton.lengthVector() * 5), 0.2F); - BeamPronter.prontBeam(skeleton, EnumWaveType.SPIRAL, EnumBeamType.SOLID, 0xff5000, 0xff5000, init, (int) skeleton.lengthVector() + 1, 0.1F, 4, 0.05F); - BeamPronter.prontBeam(skeleton, EnumWaveType.SPIRAL, EnumBeamType.SOLID, 0xff3000, 0xff3000, init, 1, 0F, 4, 0.05F); - } - - GL11.glPopMatrix(); - } - - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return null; - } - -} diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderMiniMIRV.java b/src/main/java/com/hbm/render/entity/projectile/RenderMiniMIRV.java deleted file mode 100644 index 6a225cc32..000000000 --- a/src/main/java/com/hbm/render/entity/projectile/RenderMiniMIRV.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.hbm.render.entity.projectile; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelMIRV; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class RenderMiniMIRV extends Render { - - private ModelMIRV miniNuke; - - public RenderMiniMIRV() { - miniNuke = new ModelMIRV(); - } - - @Override - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - - GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_ + 180, 0.0F, 0.0F, 1.0F); - GL11.glScalef(1.5F, 1.5F, 1.5F); - - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/Mirv.png")); - miniNuke.renderAll(0.0625F); - GL11.glPopMatrix(); - } - - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return new ResourceLocation(RefStrings.MODID + ":textures/models/Mirv.png"); - } -} diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderMiniNuke.java b/src/main/java/com/hbm/render/entity/projectile/RenderMiniNuke.java deleted file mode 100644 index 6295fb83b..000000000 --- a/src/main/java/com/hbm/render/entity/projectile/RenderMiniNuke.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.hbm.render.entity.projectile; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelMiniNuke; - -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class RenderMiniNuke extends Render { - - private ModelMiniNuke miniNuke; - - public RenderMiniNuke() { - miniNuke = new ModelMiniNuke(); - } - - @Override - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - - GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_ + 180, 0.0F, 0.0F, 1.0F); - GL11.glScalef(1.5F, 1.5F, 1.5F); - - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/MiniNuke.png")); - miniNuke.renderAll(0.0625F); - GL11.glPopMatrix(); - } - - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return new ResourceLocation(RefStrings.MODID + ":textures/models/MiniNuke.png"); - } -} diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderMirv.java b/src/main/java/com/hbm/render/entity/projectile/RenderMirv.java deleted file mode 100644 index 810ad9960..000000000 --- a/src/main/java/com/hbm/render/entity/projectile/RenderMirv.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.hbm.render.entity.projectile; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; - -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.model.AdvancedModelLoader; -import net.minecraftforge.client.model.IModelCustom; - -public class RenderMirv extends Render { - - private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/Mirv.obj"); - private IModelCustom boyModel; - private ResourceLocation boyTexture; - - public RenderMirv() { - boyModel = AdvancedModelLoader.loadModel(objTesterModelRL); - boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png"); - } - - @Override - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - - GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); - - bindTexture(boyTexture); - boyModel.renderAll(); - GL11.glPopMatrix(); - } - - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return new ResourceLocation(RefStrings.MODID +":textures/models/TheGadget3_.png"); - } -} diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderOminousBullet.java b/src/main/java/com/hbm/render/entity/projectile/RenderOminousBullet.java deleted file mode 100644 index 09bec73a2..000000000 --- a/src/main/java/com/hbm/render/entity/projectile/RenderOminousBullet.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.hbm.render.entity.projectile; - -import java.util.Random; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; - -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class RenderOminousBullet extends Render { - - Random rand = new Random(); - - @Override - public void doRender(Entity rocket, double x, double y, double z, float p_76986_8_, float p_76986_9_) { - float radius = 0.12F; - int distance = 4; - - radius = 0.03F; - - Tessellator tessellator = Tessellator.instance; - - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); - GL11.glTranslatef((float) x, (float) y, (float) z); - - GL11.glRotatef(rocket.rotationYaw, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-rocket.rotationPitch, 1.0F, 0.0F, 0.0F); - - boolean red = false; - boolean green = false; - boolean blue = false; - - green = true; - red = true; - - //for (float o = 0; o <= radius; o += radius / 8) { - for (float o = 0; o <= radius; o += radius / 1) { - float color = 1f - (o * 8.333f); - if (color < 0) - color = 0; - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(red ? 1 : color, green ? 1 : color, blue ? 1 : color, 1f); - tessellator.addVertex(0 + o, 0 - o, 0); - tessellator.addVertex(0 + o, 0 + o, 0); - tessellator.addVertex(0 + o, 0 + o, 0 + distance); - tessellator.addVertex(0 + o, 0 - o, 0 + distance); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(red ? 1 : color, green ? 1 : color, blue ? 1 : color, 1f); - tessellator.addVertex(0 - o, 0 - o, 0); - tessellator.addVertex(0 + o, 0 - o, 0); - tessellator.addVertex(0 + o, 0 - o, 0 + distance); - tessellator.addVertex(0 - o, 0 - o, 0 + distance); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(red ? 1 : color, green ? 1 : color, blue ? 1 : color, 1f); - tessellator.addVertex(0 - o, 0 + o, 0); - tessellator.addVertex(0 - o, 0 - o, 0); - tessellator.addVertex(0 - o, 0 - o, 0 + distance); - tessellator.addVertex(0 - o, 0 + o, 0 + distance); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(red ? 1 : color, green ? 1 : color, blue ? 1 : color, 1f); - tessellator.addVertex(0 + o, 0 + o, 0); - tessellator.addVertex(0 - o, 0 + o, 0); - tessellator.addVertex(0 - o, 0 + o, 0 + distance); - tessellator.addVertex(0 + o, 0 + o, 0 + distance); - tessellator.draw(); - } - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glPopMatrix(); - } - - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return new ResourceLocation(RefStrings.MODID + ":textures/models/Rainbow.png"); - } -} diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderSRocket.java b/src/main/java/com/hbm/render/entity/projectile/RenderSRocket.java deleted file mode 100644 index 7ac3f210e..000000000 --- a/src/main/java/com/hbm/render/entity/projectile/RenderSRocket.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.hbm.render.entity.projectile; - -import org.lwjgl.opengl.GL11; - -import com.hbm.entity.projectile.EntityRocketHoming; -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelSRocket; - -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class RenderSRocket extends Render { - - private ModelSRocket missile; - - public RenderSRocket() { - missile = new ModelSRocket(); - } - - public void doRender(EntityRocketHoming rocket, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, - float p_76986_9_) { - GL11.glPushMatrix(); - GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_); - GL11.glRotatef(rocket.prevRotationYaw + (rocket.rotationYaw - rocket.prevRotationYaw) * p_76986_9_ - 90.0F, - 0.0F, 1.0F, 0.0F); - GL11.glRotatef(rocket.prevRotationPitch + (rocket.rotationPitch - rocket.prevRotationPitch) * p_76986_9_ + 180, - 0.0F, 0.0F, 1.0F); - GL11.glScalef(1.5F, 1.5F, 1.5F); - - if(rocket.getIsCritical()) - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/ModelSVTRocket.png")); - else - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/ModelSRocket.png")); - missile.renderAll(0.0625F); - GL11.glPopMatrix(); - } - - @Override - public void doRender(Entity rocket, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, - float p_76986_9_) { - doRender((EntityRocketHoming)rocket, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); - } - - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return new ResourceLocation(RefStrings.MODID + ":textures/models/ModelSRocket.png"); - } -} diff --git a/src/main/java/com/hbm/render/entity/rocket/RenderMissileNuclear.java b/src/main/java/com/hbm/render/entity/rocket/RenderMissileNuclear.java index 51abf8cd7..8062a45e0 100644 --- a/src/main/java/com/hbm/render/entity/rocket/RenderMissileNuclear.java +++ b/src/main/java/com/hbm/render/entity/rocket/RenderMissileNuclear.java @@ -31,7 +31,7 @@ public class RenderMissileNuclear extends Render { } if(entity instanceof EntityMissileNuclear) bindTexture(ResourceManager.missileNuclear_tex); - if(entity instanceof EntityMissileMirv) bindTexture(ResourceManager.missileMIRV_tex); + if(entity instanceof EntityMissileMirv) bindTexture(ResourceManager.missileThermo_tex); if(entity instanceof EntityMissileDoomsday) bindTexture(ResourceManager.missileDoomsday_tex); if(entity instanceof EntityMissileDoomsdayRusted) bindTexture(ResourceManager.missileDoomsdayRusted_tex); if(entity instanceof EntityMissileVolcano) bindTexture(ResourceManager.missileVolcano_tex); diff --git a/src/main/java/com/hbm/render/entity/rocket/RenderMissileTaint.java b/src/main/java/com/hbm/render/entity/rocket/RenderMissileTaint.java index 09d45cba4..44fcd73b0 100644 --- a/src/main/java/com/hbm/render/entity/rocket/RenderMissileTaint.java +++ b/src/main/java/com/hbm/render/entity/rocket/RenderMissileTaint.java @@ -42,7 +42,7 @@ public class RenderMissileTaint extends Render { @Override protected ResourceLocation getEntityTexture(Entity p_110775_1_) { if(p_110775_1_ instanceof EntityMissileTaint) - return ResourceManager.missileTaint_tex; + return ResourceManager.missileMicroTaint_tex; if(p_110775_1_ instanceof EntityMissileBHole) return ResourceManager.missileMicroBHole_tex; if(p_110775_1_ instanceof EntityMissileSchrabidium) diff --git a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java index bcee704d8..d29b175d5 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java +++ b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java @@ -23,9 +23,9 @@ import net.minecraft.util.ResourceLocation; public class ItemRenderLibrary { public static HashMap renderers = new HashMap(); - + public static void init() { - + renderers.put(Item.getItemFromBlock(ModBlocks.obj_tester), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4, 0); @@ -39,7 +39,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.soyuz_module_solar_tex); ResourceManager.soyuz_module.renderPart("Solar"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_cyclotron), new ItemRenderBase() { public void renderInventory() { GL11.glScaled(2.25, 2.25, 2.25); @@ -53,7 +53,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.cyclotron_coin); ResourceManager.cyclotron.renderPart("B4"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.iter), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -1, 0); @@ -62,51 +62,52 @@ public class ItemRenderLibrary { public void renderCommon() { GL11.glScaled(0.25, 0.25, 0.25); GL11.glShadeModel(GL11.GL_SMOOTH); - bindTexture(ResourceManager.iter_glass); ResourceManager.iter.renderPart("Windows"); - bindTexture(ResourceManager.iter_motor); ResourceManager.iter.renderPart("Motors"); - bindTexture(ResourceManager.iter_rails); ResourceManager.iter.renderPart("Rails"); - bindTexture(ResourceManager.iter_toroidal); ResourceManager.iter.renderPart("Toroidal"); - bindTexture(ResourceManager.iter_torus); ResourceManager.iter.renderPart("Torus"); - bindTexture(ResourceManager.iter_solenoid); ResourceManager.iter.renderPart("Solenoid"); + bindTexture(ResourceManager.iter_glass); ResourceManager.iter.renderPart("Windows"); + bindTexture(ResourceManager.iter_motor); ResourceManager.iter.renderPart("Motors"); + bindTexture(ResourceManager.iter_rails); ResourceManager.iter.renderPart("Rails"); + bindTexture(ResourceManager.iter_toroidal); ResourceManager.iter.renderPart("Toroidal"); + bindTexture(ResourceManager.iter_torus); ResourceManager.iter.renderPart("Torus"); + bindTexture(ResourceManager.iter_solenoid); ResourceManager.iter.renderPart("Solenoid"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_press), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4, 0); GL11.glScaled(4.5, 4.5, 4.5); } + public void renderCommon() { - bindTexture(ResourceManager.press_body_tex); ResourceManager.press_body.renderAll(); + bindTexture(ResourceManager.press_body_tex); ResourceManager.press_body.renderAll(); GL11.glTranslated(0, 0.5, 0); - bindTexture(ResourceManager.press_head_tex); ResourceManager.press_head.renderAll(); + bindTexture(ResourceManager.press_head_tex); ResourceManager.press_head.renderAll(); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_epress), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4, 0); GL11.glScaled(4.5, 4.5, 4.5); } + public void renderCommon() { - bindTexture(ResourceManager.epress_body_tex); ResourceManager.epress_body.renderAll(); + bindTexture(ResourceManager.epress_body_tex); ResourceManager.epress_body.renderAll(); GL11.glTranslated(0, 1.5, 0); - bindTexture(ResourceManager.epress_head_tex); ResourceManager.epress_head.renderAll(); + bindTexture(ResourceManager.epress_head_tex); ResourceManager.epress_head.renderAll(); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_reactor_breeding), new ItemRenderBase() { public void renderInventory() { - GL11.glTranslated(0, -4, 0); + GL11.glTranslated(0, -4.5, 0); GL11.glScaled(4.5, 4.5, 4.5); } public void renderCommon() { - GL11.glScaled(0.5, 0.5, 0.5); - GL11.glShadeModel(GL11.GL_SMOOTH); - GL11.glDisable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.breeder_tex); ResourceManager.breeder.renderAll(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glShadeModel(GL11.GL_FLAT); + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glDisable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.breeder_tex); ResourceManager.breeder.renderAll(); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_large_turbine), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -1, 0); @@ -114,14 +115,14 @@ public class ItemRenderLibrary { } public void renderCommon() { GL11.glRotated(90, 0, 1, 0); - GL11.glShadeModel(GL11.GL_SMOOTH); - GL11.glDisable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.turbine_tex); ResourceManager.turbine.renderPart("Body"); - bindTexture(ResourceManager.universal_bright); ResourceManager.turbine.renderPart("Blades"); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glShadeModel(GL11.GL_FLAT); + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glDisable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.turbine_tex); ResourceManager.turbine.renderPart("Body"); + bindTexture(ResourceManager.universal_bright); ResourceManager.turbine.renderPart("Blades"); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.reactor_research), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4, 0); @@ -131,7 +132,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.reactor_small_base_tex); ResourceManager.reactor_small_base.renderAll(); bindTexture(ResourceManager.reactor_small_rods_tex); ResourceManager.reactor_small_rods.renderAll(); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_industrial_generator), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -1, 0); @@ -149,7 +150,7 @@ public class ItemRenderLibrary { GL11.glEnable(GL11.GL_CULL_FACE); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_radgen), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -1, 0); @@ -169,7 +170,7 @@ public class ItemRenderLibrary { GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_fensu), new ItemRenderBase() { public void renderInventory() { GL11.glRotated(90, 0, 1, 0); @@ -188,7 +189,7 @@ public class ItemRenderLibrary { GL11.glPopAttrib(); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_assembler), new ItemRenderBase() { public void renderInventory() { GL11.glScaled(3.5, 3.5, 3.5); @@ -215,7 +216,7 @@ public class ItemRenderLibrary { ResourceManager.assembler_cog.renderAll(); GL11.glPopMatrix(); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_chemplant), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -2, 0); @@ -234,7 +235,7 @@ public class ItemRenderLibrary { ResourceManager.chemplant_spinner.renderAll(); GL11.glEnable(GL11.GL_CULL_FACE); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_well), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4, 0); @@ -246,7 +247,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.derrick_tex); ResourceManager.derrick.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_pumpjack), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -2, 0); @@ -262,7 +263,7 @@ public class ItemRenderLibrary { GL11.glShadeModel(GL11.GL_FLAT); GL11.glEnable(GL11.GL_CULL_FACE); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_flare), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4, 0); @@ -276,7 +277,7 @@ public class ItemRenderLibrary { GL11.glShadeModel(GL11.GL_FLAT); GL11.glEnable(GL11.GL_CULL_FACE); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_refinery), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4, 0); @@ -289,7 +290,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.refinery_tex); ResourceManager.refinery.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_mining_laser), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -0.5, 0); @@ -302,22 +303,7 @@ public class ItemRenderLibrary { GL11.glRotated(90, 1, 0, 0); bindTexture(ResourceManager.mining_laser_laser_tex); ResourceManager.mining_laser.renderPart("Laser"); }}); - - renderers.put(Item.getItemFromBlock(ModBlocks.machine_turbofan), new ItemRenderBase() { - public void renderInventory() { - GL11.glRotated(90, 0, 1, 0); - GL11.glScaled(2.25, 2.25, 2.25); - } - public void renderCommon() { - GL11.glShadeModel(GL11.GL_SMOOTH); - bindTexture(ResourceManager.turbofan_tex); - ResourceManager.turbofan.renderPart("Body"); - ResourceManager.turbofan.renderPart("Blades"); - bindTexture(ResourceManager.turbofan_back_tex); - ResourceManager.turbofan.renderPart("Afterburner"); - GL11.glShadeModel(GL11.GL_FLAT); - }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.plasma_heater), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -1, 0); @@ -331,7 +317,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.iter_microwave); ResourceManager.iter.renderPart("Microwave"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.tesla), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -3, 0); @@ -342,7 +328,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.tesla_tex); ResourceManager.tesla.renderAll(); GL11.glEnable(GL11.GL_CULL_FACE); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.boxcar), new ItemRenderBase() { public void renderInventory() { GL11.glRotated(90, 0, 1, 0); @@ -353,7 +339,7 @@ public class ItemRenderLibrary { GL11.glScaled(0.5, 0.5, 0.5); bindTexture(ResourceManager.boxcar_tex); ResourceManager.boxcar.renderAll(); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.boat), new ItemRenderBase() { public void renderInventory() { GL11.glRotated(-90, 0, 1, 0); @@ -365,7 +351,7 @@ public class ItemRenderLibrary { GL11.glTranslatef(0, 0, -3); bindTexture(ResourceManager.duchessgambit_tex); ResourceManager.duchessgambit.renderAll(); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.nuke_boy), new ItemRenderBase() { public void renderInventory() { GL11.glScaled(5, 5, 5); @@ -375,53 +361,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.bomb_boy_tex); ResourceManager.bomb_boy.renderAll(); }}); - - renderers.put(Item.getItemFromBlock(ModBlocks.nuke_prototype), new ItemRenderBase() { - public void renderInventory() { - GL11.glScaled(2.25, 2.25, 2.25); - } - public void renderCommon() { - GL11.glRotated(90, 0, 1, 0); - bindTexture(ResourceManager.bomb_prototype_tex); - ResourceManager.bomb_prototype.renderAll(); - }}); - - renderers.put(Item.getItemFromBlock(ModBlocks.nuke_fleija), new ItemRenderBase() { - public void renderInventory() { - GL11.glTranslated(0, -2, 0); - GL11.glScaled(4.5, 4.5, 4.5); - } - public void renderCommon() { - GL11.glScaled(2, 2, 2); - GL11.glRotated(90, 0, 1, 0); - bindTexture(ResourceManager.bomb_fleija_tex); - ResourceManager.bomb_fleija.renderAll(); - }}); - - renderers.put(Item.getItemFromBlock(ModBlocks.nuke_solinium), new ItemRenderBase() { - public void renderInventory() { - GL11.glScaled(4, 4, 4); - } - public void renderCommon() { - GL11.glTranslated(0.5, 0, 0); - GL11.glRotated(90, 0, 1, 0); - GL11.glDisable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.bomb_solinium_tex); - ResourceManager.bomb_solinium.renderAll(); - GL11.glEnable(GL11.GL_CULL_FACE); - }}); - - renderers.put(Item.getItemFromBlock(ModBlocks.nuke_n2), new ItemRenderBase() { - public void renderInventory() { - GL11.glTranslated(0, -4, 0); - GL11.glScaled(3, 3, 3); - } - public void renderCommon() { - GL11.glRotated(90, 0, 1, 0); - bindTexture(ResourceManager.n2_tex); - ResourceManager.n2.renderAll(); - }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.nuke_fstbmb), new ItemRenderBase() { public void renderInventory() { GL11.glScaled(2.25, 2.25, 2.25); @@ -435,7 +375,7 @@ public class ItemRenderLibrary { ResourceManager.fstbmb.renderPart("Balefire"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.nuke_custom), new ItemRenderBase() { public void renderInventory() { GL11.glScaled(5, 5, 5); @@ -445,20 +385,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.bomb_custom_tex); ResourceManager.bomb_boy.renderAll(); }}); - - renderers.put(Item.getItemFromBlock(ModBlocks.crashed_balefire), new ItemRenderBase() { - public void renderInventory() { - GL11.glTranslated(0, 3, 0); - GL11.glScaled(2, 2, 2); - } - public void renderCommon() { - GL11.glRotated(90, 0, 1, 0); - GL11.glDisable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.dud_tex); - ResourceManager.dud.renderAll(); - GL11.glEnable(GL11.GL_CULL_FACE); - }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.bomb_multi), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -1, 0); @@ -475,20 +402,20 @@ public class ItemRenderLibrary { ResourceManager.bomb_multi.renderAll(); GL11.glEnable(GL11.GL_CULL_FACE); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.mine_ap), new ItemRenderBase() { public void renderInventory() { GL11.glScaled(8, 8, 8); } public void renderCommon() { - GL11.glScaled(6, 6, 6); - GL11.glRotatef(22.5F, 0F, 1F, 0F); - GL11.glDisable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.mine_ap_tex); - ResourceManager.mine_ap.renderAll(); - GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glScaled(1.25, 1.25, 1.25); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.mine_ap_grass_tex); ResourceManager.mine_ap.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glEnable(GL11.GL_CULL_FACE); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.mine_he), new ItemRenderBase() { public void renderInventory() { GL11.glScaled(6, 6, 6); @@ -507,17 +434,34 @@ public class ItemRenderLibrary { GL11.glEnable(GL11.GL_CULL_FACE); } }); - + renderers.put(Item.getItemFromBlock(ModBlocks.mine_shrap), new ItemRenderBase() { public void renderInventory() { - GL11.glScaled(6, 6, 6); + GL11.glScaled(8, 8, 8); } public void renderCommon() { - GL11.glScaled(4, 4, 4); - bindTexture(ResourceManager.mine_shrap_tex); - ResourceManager.mine_he.renderAll(); + GL11.glScaled(1.25, 1.25, 1.25); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.mine_shrap_tex); ResourceManager.mine_ap.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glEnable(GL11.GL_CULL_FACE); }}); - + + renderers.put(Item.getItemFromBlock(ModBlocks.mine_naval), new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, 2, -1); + GL11.glScaled(5, 5, 5); + } + public void renderCommon() { + GL11.glTranslated(0, 0, 0); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.mine_naval_tex); + ResourceManager.mine_naval.renderAll(); + GL11.glEnable(GL11.GL_CULL_FACE); + }}); + renderers.put(Item.getItemFromBlock(ModBlocks.mine_fat), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -1, 0); @@ -531,7 +475,7 @@ public class ItemRenderLibrary { ResourceManager.mine_fat.renderAll(); GL11.glEnable(GL11.GL_CULL_FACE); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_forcefield), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4, 0); @@ -542,7 +486,7 @@ public class ItemRenderLibrary { GL11.glTranslated(0, 1D, 0); bindTexture(ResourceManager.forcefield_top_tex); ResourceManager.forcefield_top.renderAll(); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_missile_assembly), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -2.5, 0); @@ -553,7 +497,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.missile_assembly_tex); ResourceManager.missile_assembly.renderAll(); GL11.glEnable(GL11.GL_CULL_FACE); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.launch_pad), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -1, 0); @@ -562,7 +506,7 @@ public class ItemRenderLibrary { public void renderCommon() { bindTexture(ResourceManager.missile_pad_tex); ResourceManager.missile_pad.renderAll(); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.compact_launcher), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4, 0); @@ -572,7 +516,7 @@ public class ItemRenderLibrary { GL11.glScaled(0.5, 0.5, 0.5); bindTexture(ResourceManager.compact_launcher_tex); ResourceManager.compact_launcher.renderAll(); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.launch_table), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -2, 0); @@ -596,7 +540,7 @@ public class ItemRenderLibrary { } } }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.soyuz_capsule), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4, 0); @@ -607,7 +551,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.soyuz_lander_tex); ResourceManager.soyuz_lander.renderPart("Capsule"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_radar), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4, 0); @@ -620,7 +564,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.radar_dish_tex); ResourceManager.radar.renderPart("Dish"); GL11.glEnable(GL11.GL_CULL_FACE); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_uf6_tank), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4, 0); @@ -630,7 +574,7 @@ public class ItemRenderLibrary { GL11.glRotated(90, 0, -1, 0); bindTexture(ResourceManager.uf6_tex); ResourceManager.tank.renderAll(); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_puf6_tank), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4, 0); @@ -640,7 +584,7 @@ public class ItemRenderLibrary { GL11.glRotated(90, 0, -1, 0); bindTexture(ResourceManager.puf6_tex); ResourceManager.tank.renderAll(); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.sat_dock), new ItemRenderBase() { public void renderInventory() { GL11.glScaled(3, 3, 3); @@ -649,7 +593,7 @@ public class ItemRenderLibrary { GL11.glRotated(90, 0, -1, 0); bindTexture(ResourceManager.satdock_tex); ResourceManager.satDock.renderAll(); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.vault_door), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -5, 0); @@ -785,7 +729,7 @@ public class ItemRenderLibrary { GL11.glShadeModel(GL11.GL_FLAT); } }); - + renderers.put(Item.getItemFromBlock(ModBlocks.blast_door), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -3, 0); @@ -797,7 +741,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.blast_door_slider_tex); ResourceManager.blast_door_slider.renderAll(); bindTexture(ResourceManager.blast_door_block_tex); ResourceManager.blast_door_block.renderAll(); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_microwave), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4, 4); @@ -810,7 +754,7 @@ public class ItemRenderLibrary { ResourceManager.microwave.renderPart("mainbody_Cube.001"); ResourceManager.microwave.renderPart("window_Cube.002"); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_solar_boiler), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -2.5, 0); @@ -822,7 +766,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.solar_tex); ResourceManager.solar_boiler.renderPart("Base"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.solar_mirror), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -3, 0); @@ -836,7 +780,7 @@ public class ItemRenderLibrary { GL11.glTranslated(0, -1, 0); ResourceManager.solar_mirror.renderPart("Mirror"); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.turret_chekhov), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -3, 0); @@ -851,7 +795,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.turret_chekhov_barrels_tex); ResourceManager.turret_chekhov.renderPart("Barrels"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.turret_friendly), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -3, 0); @@ -866,7 +810,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.turret_chekhov_barrels_tex); ResourceManager.turret_chekhov.renderPart("Barrels"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.turret_jeremy), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -2, 0); @@ -880,7 +824,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.turret_jeremy_tex); ResourceManager.turret_jeremy.renderPart("Gun"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.turret_tauon), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -2, 0); @@ -894,7 +838,7 @@ public class ItemRenderLibrary { ResourceManager.turret_tauon.renderPart("Rotor"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.turret_richard), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -2, 0); @@ -907,7 +851,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.turret_richard_tex); ResourceManager.turret_richard.renderPart("Launcher"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.turret_howard), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4.5, 0); @@ -923,7 +867,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.turret_howard_barrels_tex); ResourceManager.turret_howard.renderPart("BarrelsBottom"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.turret_howard_damaged), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4.5, 0); @@ -939,7 +883,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.turret_howard_barrels_rusted); ResourceManager.turret_howard_damaged.renderPart("BarrelsBottom"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_silex), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -2.5, 0); @@ -950,7 +894,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.silex_tex); ResourceManager.silex.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_fel), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -1, 0); @@ -963,7 +907,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.fel_tex); ResourceManager.fel.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.rbmk_console), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -3, 0); @@ -975,7 +919,7 @@ public class ItemRenderLibrary { ResourceManager.rbmk_console.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.rbmk_crane_console), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -3, 0); @@ -988,11 +932,9 @@ public class ItemRenderLibrary { ResourceManager.rbmk_crane_console.renderPart("JoyStick"); ResourceManager.rbmk_crane_console.renderPart("Meter1"); ResourceManager.rbmk_crane_console.renderPart("Meter2"); - bindTexture(ResourceManager.ks23_tex); ResourceManager.rbmk_crane_console.renderPart("Shotgun"); - bindTexture(ResourceManager.mini_nuke_tex); ResourceManager.rbmk_crane_console.renderPart("MiniNuke"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.lamp_demon), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -3, 0); @@ -1004,7 +946,7 @@ public class ItemRenderLibrary { RenderDemonLamp.demon_lamp.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_storage_drum), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -3, 0); @@ -1015,7 +957,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.waste_drum_tex); ResourceManager.waste_drum.renderAll(); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_chungus), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0.5, 0, 0); @@ -1031,7 +973,7 @@ public class ItemRenderLibrary { ResourceManager.chungus.renderPart("Blades"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.turret_maxwell), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(-1, -3, 0); @@ -1044,7 +986,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.turret_maxwell_tex); ResourceManager.turret_maxwell.renderPart("Microwave"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.turret_fritz), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -2, 0); @@ -1057,7 +999,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.turret_fritz_tex); ResourceManager.turret_fritz.renderPart("Gun"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_bat9000), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -3, 0); @@ -1068,7 +1010,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.bat9000_tex); ResourceManager.bat9000.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_orbus), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -3, 0); @@ -1079,7 +1021,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.orbus_tex); ResourceManager.orbus.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.watz), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -1, 0); @@ -1090,7 +1032,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.watz_tex); ResourceManager.watz.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_fraction_tower), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -2.5, 0); @@ -1100,7 +1042,7 @@ public class ItemRenderLibrary { GL11.glScaled(1, 1, 1); bindTexture(ResourceManager.fraction_tower_tex); ResourceManager.fraction_tower.renderAll(); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.fraction_spacer), new ItemRenderBase() { public void renderInventory() { GL11.glScaled(3.25, 3.25, 3.25); @@ -1109,7 +1051,7 @@ public class ItemRenderLibrary { GL11.glScaled(1, 1, 1); bindTexture(ResourceManager.fraction_spacer_tex); ResourceManager.fraction_spacer.renderAll(); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_tower_small), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4, 0); @@ -1121,7 +1063,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.tower_small_tex); ResourceManager.tower_small.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_tower_large), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -3, 0); @@ -1133,7 +1075,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.tower_large_tex); ResourceManager.tower_large.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_fracking_tower), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4.5, 0); @@ -1147,7 +1089,7 @@ public class ItemRenderLibrary { GL11.glEnable(GL11.GL_CULL_FACE); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.bobblehead), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -3.5, 0); @@ -1157,7 +1099,7 @@ public class ItemRenderLibrary { GL11.glScaled(0.5, 0.5, 0.5); RenderBobble.instance.renderBobble(BobbleType.values()[stack.getItemDamage()]); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_deuterium_tower), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -5, 0); @@ -1172,7 +1114,7 @@ public class ItemRenderLibrary { GL11.glShadeModel(GL11.GL_FLAT); } }); - + renderers.put(Item.getItemFromBlock(ModBlocks.reactor_zirnox), new ItemRenderBase( ) { public void renderInventory() { GL11.glTranslated(0, -2, 0); @@ -1184,7 +1126,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.zirnox_tex); ResourceManager.zirnox.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_catalytic_cracker), new ItemRenderBase( ) { public void renderInventory() { GL11.glTranslated(0, -3.5, 0); @@ -1196,7 +1138,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.cracking_tower_tex); ResourceManager.cracking_tower.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_liquefactor), new ItemRenderBase( ) { public void renderInventory() { GL11.glTranslated(0, -2.5, 0); @@ -1207,7 +1149,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.liquefactor_tex); ResourceManager.liquefactor.renderPart("Main"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_solidifier), new ItemRenderBase( ) { public void renderInventory() { GL11.glTranslated(0, -2.5, 0); @@ -1218,7 +1160,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.solidifier_tex); ResourceManager.solidifier.renderPart("Main"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_radiolysis), new ItemRenderBase( ) { public void renderInventory() { GL11.glTranslated(0, -2.5, 0); @@ -1229,7 +1171,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.radiolysis_tex); ResourceManager.radiolysis.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_chemfac), new ItemRenderBase( ) { public void renderInventory() { GL11.glScaled(2.5, 2.5, 2.5); @@ -1240,7 +1182,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.chemfac_tex); ResourceManager.chemfac.renderPart("Main"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.red_pylon_large), new ItemRenderBase( ) { public void renderInventory() { GL11.glTranslated(0, -5, 0); @@ -1250,7 +1192,7 @@ public class ItemRenderLibrary { GL11.glScaled(0.5, 0.5, 0.5); bindTexture(ResourceManager.pylon_large_tex); ResourceManager.pylon_large.renderAll(); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.substation), new ItemRenderBase( ) { public void renderInventory() { GL11.glTranslated(0, -2.5, 0); @@ -1262,7 +1204,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.substation_tex); ResourceManager.substation.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.charger), new ItemRenderBase( ) { public void renderInventory() { GL11.glTranslated(0, -7, 0); @@ -1277,7 +1219,7 @@ public class ItemRenderLibrary { ResourceManager.charger.renderPart("Slide"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.machine_assemfac), new ItemRenderBase( ) { public void renderInventory() { GL11.glScaled(2.5, 2.5, 2.5); @@ -1294,7 +1236,7 @@ public class ItemRenderLibrary { } GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.furnace_iron), new ItemRenderBase( ) { public void renderInventory() { GL11.glTranslated(0, -2, 0); @@ -1306,7 +1248,7 @@ public class ItemRenderLibrary { ResourceManager.furnace_iron.renderPart("Main"); ResourceManager.furnace_iron.renderPart("Off"); }}); - + renderers.put(Item.getItemFromBlock(ModBlocks.turret_arty), new ItemRenderBase( ) { public void renderInventory() { GL11.glTranslated(-3, -4, 0); @@ -1326,7 +1268,7 @@ public class ItemRenderLibrary { ResourceManager.turret_arty.renderPart("Barrel"); GL11.glShadeModel(GL11.GL_FLAT); }}); - + renderers.put(ModItems.gear_large, new ItemRenderBase( ) { public void renderInventory() { GL11.glTranslated(0, -7, 0); @@ -1339,14 +1281,14 @@ public class ItemRenderLibrary { } public void renderCommonWithStack(ItemStack item) { GL11.glTranslated(0, 0, -0.875); - + if(item.getItemDamage() == 0) bindTexture(ResourceManager.stirling_tex); else bindTexture(ResourceManager.stirling_steel_tex); ResourceManager.stirling.renderPart("Cog"); }}); - + renderers.put(ModItems.sawblade, new ItemRenderBase( ) { public void renderInventory() { GL11.glTranslated(0, -7, 0); @@ -1362,7 +1304,7 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.sawmill_tex); ResourceManager.sawmill.renderPart("Blade"); }}); - + renderers.put(ModItems.ammo_himars, new ItemRenderBase( ) { public void renderInventory() { GL11.glTranslated(0, -2, 0); @@ -1376,7 +1318,7 @@ public class ItemRenderLibrary { GL11.glRotated(90, 1, 0, 0); HIMARSRocket type = ItemAmmoHIMARS.itemTypes[item.getItemDamage()]; GL11.glShadeModel(GL11.GL_SMOOTH); - bindTexture(type.texture); + bindTexture(type.texture); if(type.modelType == 0) { GL11.glTranslated(0.75, 0, 0); ResourceManager.turret_himars.renderPart("RocketStandard"); @@ -1392,11 +1334,11 @@ public class ItemRenderLibrary { } GL11.glShadeModel(GL11.GL_FLAT); }}); - + //hi there! it seems you are trying to register a new item renderer, most likely for a tile entity. //please refer to the comment at the start of the file on how to do this without adding to this gigantic pile of feces. } - + private static void bindTexture(ResourceLocation res) { Minecraft.getMinecraft().renderEngine.bindTexture(res); } diff --git a/src/main/java/com/hbm/render/item/ItemRenderMissileGeneric.java b/src/main/java/com/hbm/render/item/ItemRenderMissileGeneric.java index 9985a4c4c..5be2b6c24 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderMissileGeneric.java +++ b/src/main/java/com/hbm/render/item/ItemRenderMissileGeneric.java @@ -31,7 +31,6 @@ public class ItemRenderMissileGeneric implements IItemRenderer { TYPE_STEALTH, TYPE_ABM, TYPE_NUCLEAR, - TYPE_CARRIER, TYPE_ROBIN } @@ -75,7 +74,6 @@ public class ItemRenderMissileGeneric implements IItemRenderer { case TYPE_STEALTH: guiScale = 1.75D; guiOffset = 4.75D; break; case TYPE_ABM: guiScale = 2.25D; guiOffset = 7D; break; case TYPE_NUCLEAR: guiScale = 1.375D; guiOffset = 1.5D; break; - case TYPE_CARRIER: guiScale = 0.625D; guiOffset = -17D; break; case TYPE_ROBIN: guiScale = 1.25D; guiOffset = 2D; break; } @@ -131,7 +129,7 @@ public class ItemRenderMissileGeneric implements IItemRenderer { public static void init() { renderers.put(new ComparableStack(ModItems.missile_test), generateStandard(ResourceManager.missileMicroTest_tex, ResourceManager.missileMicro)); - renderers.put(new ComparableStack(ModItems.missile_taint), generateStandard(ResourceManager.missileTaint_tex, ResourceManager.missileMicro)); + renderers.put(new ComparableStack(ModItems.missile_taint), generateStandard(ResourceManager.missileMicroTaint_tex, ResourceManager.missileMicro)); renderers.put(new ComparableStack(ModItems.missile_micro), generateStandard(ResourceManager.missileMicro_tex, ResourceManager.missileMicro)); renderers.put(new ComparableStack(ModItems.missile_bhole), generateStandard(ResourceManager.missileMicroBHole_tex, ResourceManager.missileMicro)); renderers.put(new ComparableStack(ModItems.missile_schrabidium), generateStandard(ResourceManager.missileMicroSchrab_tex, ResourceManager.missileMicro)); @@ -162,7 +160,7 @@ public class ItemRenderMissileGeneric implements IItemRenderer { renderers.put(new ComparableStack(ModItems.missile_drill), generateStandard(ResourceManager.missileHuge_BU_tex, ResourceManager.missileHuge)); renderers.put(new ComparableStack(ModItems.missile_nuclear), generateStandard(ResourceManager.missileNuclear_tex, ResourceManager.missileNuclear)); - renderers.put(new ComparableStack(ModItems.missile_nuclear_cluster), generateStandard(ResourceManager.missileMIRV_tex, ResourceManager.missileNuclear)); + renderers.put(new ComparableStack(ModItems.missile_nuclear_cluster), generateStandard(ResourceManager.missileThermo_tex, ResourceManager.missileNuclear)); renderers.put(new ComparableStack(ModItems.missile_volcano), generateStandard(ResourceManager.missileVolcano_tex, ResourceManager.missileNuclear)); renderers.put(new ComparableStack(ModItems.missile_doomsday), generateStandard(ResourceManager.missileDoomsday_tex, ResourceManager.missileNuclear)); renderers.put(new ComparableStack(ModItems.missile_doomsday_rusted), generateStandard(ResourceManager.missileDoomsdayRusted_tex, ResourceManager.missileNuclear)); diff --git a/src/main/java/com/hbm/render/item/block/ItemRenderBlock.java b/src/main/java/com/hbm/render/item/block/ItemRenderBlock.java new file mode 100644 index 000000000..9cc60d61d --- /dev/null +++ b/src/main/java/com/hbm/render/item/block/ItemRenderBlock.java @@ -0,0 +1,42 @@ +package com.hbm.render.item.block; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.item.ItemStack; +import net.minecraftforge.client.IItemRenderer; + +public class ItemRenderBlock implements IItemRenderer { + + private final Block[] blocks; + private RenderBlocks renderBlocks = new RenderBlocks(); + + public ItemRenderBlock(Block... blocks) { + this.blocks = blocks; + } + + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) { + return true; + } + + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { + return true; + } + + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + if(type == ItemRenderType.EQUIPPED || type == ItemRenderType.EQUIPPED_FIRST_PERSON) { + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + + TextureManager textureManager = Minecraft.getMinecraft().getTextureManager(); + textureManager.bindTexture(textureManager.getResourceLocation(0)); + renderBlocks.renderBlockAsItem(blocks[item.getItemDamage()], 0, 1.0F); + } + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/render/item/block/ItemRenderDecoBlock.java b/src/main/java/com/hbm/render/item/block/ItemRenderDecoBlock.java index 1e48e83ae..b8d09b204 100644 --- a/src/main/java/com/hbm/render/item/block/ItemRenderDecoBlock.java +++ b/src/main/java/com/hbm/render/item/block/ItemRenderDecoBlock.java @@ -4,11 +4,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.blocks.ModBlocks; import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelSteelBeam; -import com.hbm.render.model.ModelSteelCorner; import com.hbm.render.model.ModelSteelRoof; -import com.hbm.render.model.ModelSteelScaffold; -import com.hbm.render.model.ModelSteelWall; import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; @@ -19,18 +15,10 @@ import net.minecraftforge.client.IItemRenderer; public class ItemRenderDecoBlock implements IItemRenderer { - protected ModelSteelWall wall; - protected ModelSteelCorner corner; protected ModelSteelRoof roof; - protected ModelSteelBeam beam; - protected ModelSteelScaffold scaffold; public ItemRenderDecoBlock() { - wall = new ModelSteelWall(); - corner = new ModelSteelCorner(); roof = new ModelSteelRoof(); - beam = new ModelSteelBeam(); - scaffold = new ModelSteelScaffold(); } @Override @@ -51,16 +39,8 @@ public class ItemRenderDecoBlock implements IItemRenderer { @Override public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_wall)) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/SteelWall.png")); - if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_corner)) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/SteelCorner.png")); if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_roof)) Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/SteelRoof.png")); - if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_beam)) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/SteelBeam.png")); - if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_scaffold)) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/SteelScaffold.png")); switch(type) { case ENTITY: @@ -68,32 +48,16 @@ public class ItemRenderDecoBlock implements IItemRenderer { GL11.glScalef(0.5F, 0.5F, 0.5F); GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); GL11.glTranslatef(0.0F, -1.0F, 0.0F); - if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_wall)) - wall.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_corner)) - corner.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_roof)) roof.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_beam)) - beam.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_scaffold)) - scaffold.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); GL11.glPopMatrix(); break; case EQUIPPED: GL11.glPushMatrix(); GL11.glScalef(0.5F, 0.5F, 0.5F); GL11.glTranslatef(0.8F, -0.3F, 0.2F); - if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_wall)) - wall.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_corner)) - corner.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_roof)) roof.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_beam)) - beam.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_scaffold)) - scaffold.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); GL11.glPopMatrix(); break; case EQUIPPED_FIRST_PERSON: @@ -101,16 +65,8 @@ public class ItemRenderDecoBlock implements IItemRenderer { GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(-0.6F, -0.6F, -0.1F); GL11.glScalef(0.5F, 0.5F, 0.5F); - if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_wall)) - wall.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_corner)) - corner.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_roof)) roof.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_beam)) - beam.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == Item.getItemFromBlock(ModBlocks.steel_scaffold)) - scaffold.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); GL11.glPopMatrix(); break; default: break; diff --git a/src/main/java/com/hbm/render/item/block/ItemRenderSteelPoles.java b/src/main/java/com/hbm/render/item/block/ItemRenderSteelPoles.java deleted file mode 100644 index 5af78716a..000000000 --- a/src/main/java/com/hbm/render/item/block/ItemRenderSteelPoles.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.hbm.render.item.block; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelPoles; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderSteelPoles implements IItemRenderer { - - protected ModelPoles swordModel; - - public ItemRenderSteelPoles() { - swordModel = new ModelPoles(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case ENTITY: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/Poles.png")); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -1.0F, 0.0F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - case EQUIPPED: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/Poles.png")); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glTranslatef(0.8F, -0.3F, 0.2F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/Poles.png")); - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.6F, -0.6F, -0.1F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - default: break; - } - } - -} diff --git a/src/main/java/com/hbm/render/item/block/ItemRenderTapeRecorder.java b/src/main/java/com/hbm/render/item/block/ItemRenderTapeRecorder.java deleted file mode 100644 index fc49686f3..000000000 --- a/src/main/java/com/hbm/render/item/block/ItemRenderTapeRecorder.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.hbm.render.item.block; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelTapeRecorder; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderTapeRecorder implements IItemRenderer { - - protected ModelTapeRecorder swordModel; - - public ItemRenderTapeRecorder() { - swordModel = new ModelTapeRecorder(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case ENTITY: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelTapeRecorder.png")); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -1.0F, 0.0F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - case EQUIPPED: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelTapeRecorder.png")); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glTranslatef(0.8F, 1.7F, 0.2F); - GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(90.0F, 0.0F, -1.0F, 0.0F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelTapeRecorder.png")); - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.6F, -0.6F, -0.1F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - default: break; - } - } - -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderBFLauncher.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderBFLauncher.java deleted file mode 100644 index 5893a0c46..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderBFLauncher.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelBFLauncher; -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderBFLauncher implements IItemRenderer { - - protected ModelBFLauncher swordModel; - - public ItemRenderBFLauncher() { - swordModel = new ModelBFLauncher(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/BFLauncher.png")); - GL11.glRotatef(-150.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.8F, -0.1F, -0.2F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, item); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/BFLauncher.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.5F, -0.2F, 0.0F); - GL11.glScalef(1.5F, 1.5F, 1.5F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, item); - GL11.glPopMatrix(); - default: break; - } - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderBaleflare.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderBaleflare.java deleted file mode 100644 index 96671ff58..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderBaleflare.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelBaleflare; -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderBaleflare implements IItemRenderer { - - protected ModelBaleflare swordModel; - - public ItemRenderBaleflare() { - swordModel = new ModelBaleflare(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/BaleFlare.png")); - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glScalef(1.5F, 1.5F, 1.5F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/BaleFlare.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - GL11.glScalef(1.5F, 1.5F, 1.5F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - default: break; - } - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderBenelli.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderBenelli.java deleted file mode 100644 index c7c3a19d0..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderBenelli.java +++ /dev/null @@ -1,117 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderBenelli implements IItemRenderer -{ - public ItemRenderBenelli() {} - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch (type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: - return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - EntityPlayer player = Minecraft.getMinecraft().thePlayer; - GL11.glPushMatrix(); - - GL11.glShadeModel(GL11.GL_SMOOTH); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.benelli_tex); - final float scale1 = 0.2F; - final double scale2 = 0.065D; - final double scale3 = 0.52D; - - switch (type) { - case EQUIPPED_FIRST_PERSON:// In hand from POV - GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F); - if (player.isSneaking()) { - GL11.glRotatef(25.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(-5F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-1.007F, 0F, -2.5F); - } - else { - GL11.glRotatef(-10F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(20.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.5F, -2.5F); - } - - GL11.glScalef(scale1, scale1, scale1); - - HbmAnimations.applyRelevantTransformation("Body"); - ResourceManager.benelli.renderPart("Body"); - - GL11.glPushMatrix(); - - HbmAnimations.applyRelevantTransformation("Bolt"); - ResourceManager.benelli.renderPart("Bolt"); - - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - - HbmAnimations.applyRelevantTransformation("Drum"); - ResourceManager.benelli.renderPart("Drum"); - - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - - HbmAnimations.applyRelevantTransformation("Shell"); - ResourceManager.benelli.renderPart("Shell"); - - GL11.glPopMatrix(); - - break; - case EQUIPPED:// In hand from other's POV - GL11.glRotatef(15F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-170, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-15F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(-0.4F, 0.05F, -0.5F); - GL11.glScaled(scale2 - scale2 * 2, scale2, scale2); - - GL11.glPushMatrix(); - GL11.glPopMatrix(); - break; - case ENTITY:// Dropped entity - GL11.glScaled(0.0625D, 0.0625D, 0.0625D); - break; - case INVENTORY:// Inventory icon - GL11.glScaled(scale3, scale3, -scale3); - GL11.glTranslatef(14.4F, 15.0F, 0.0F); - GL11.glRotatef(270.0F, 10.0F, 0.0F, 0.0F); - GL11.glRotatef(52.5F, 0.0F, 10.0F, 0.0F); - GL11.glRotatef(270.0F, 0.0F, 0.0F, 10.0F); - default: - break; - } - - if(type != ItemRenderType.EQUIPPED_FIRST_PERSON) - ResourceManager.benelli.renderAll(); - GL11.glPopMatrix(); - - } - -} \ No newline at end of file diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderBioRevolver.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderBioRevolver.java deleted file mode 100644 index ec65b0ef2..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderBioRevolver.java +++ /dev/null @@ -1,185 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.weapon.ItemGunBio; -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderBioRevolver implements IItemRenderer { - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - - GL11.glDisable(GL11.GL_CULL_FACE); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bio_revolver_tex); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 0.1D; - GL11.glRotated(25, 0, 0, 1); - GL11.glTranslated(1.0, 0.25, -0.25); - GL11.glRotated(80, 0, 1, 0); - GL11.glScaled(s0, s0, s0); - double width = 0.5D; - - GL11.glPushMatrix(); - GL11.glTranslated(0.0, 1.75, 10.0); - - double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); - GL11.glTranslated(0, -recoil[2] * 1.5, recoil[2]); - - GL11.glShadeModel(GL11.GL_SMOOTH); - - if(ItemGunBio.smokeNodes.size() > 1) { - - Tessellator tess = Tessellator.instance; - tess.startDrawingQuads(); - tess.setNormal(0F, 1F, 0F); - - for(int i = 0; i < ItemGunBio.smokeNodes.size() - 1; i++) { - double[] node = ItemGunBio.smokeNodes.get(i); - double[] past = ItemGunBio.smokeNodes.get(i + 1); - - tess.setColorRGBA_F(1F, 1F, 1F, (float) node[3]); - tess.addVertex(node[0], node[1], node[2]); - tess.setColorRGBA_F(1F, 1F, 1F, 0F); - tess.addVertex(node[0] + width, node[1], node[2]); - tess.setColorRGBA_F(1F, 1F, 1F, 0F); - tess.addVertex(past[0] + width, past[1], past[2]); - tess.setColorRGBA_F(1F, 1F, 1F, (float) past[3]); - tess.addVertex(past[0], past[1], past[2]); - - tess.setColorRGBA_F(1F, 1F, 1F, (float) node[3]); - tess.addVertex(node[0], node[1], node[2]); - tess.setColorRGBA_F(1F, 1F, 1F, 0F); - tess.addVertex(node[0] - width, node[1], node[2]); - tess.setColorRGBA_F(1F, 1F, 1F, 0F); - tess.addVertex(past[0] - width, past[1], past[2]); - tess.setColorRGBA_F(1F, 1F, 1F, (float) past[3]); - tess.addVertex(past[0], past[1], past[2]); - } - GL11.glAlphaFunc(GL11.GL_GREATER, 0F); - GL11.glEnable(GL11.GL_BLEND); - GL11.glDisable(GL11.GL_TEXTURE_2D); - tess.draw(); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_BLEND); - GL11.glAlphaFunc(GL11.GL_GEQUAL, 0.1F); - } - - GL11.glPopMatrix(); - GL11.glTranslated(recoil[0], recoil[1], recoil[2]); - GL11.glRotated(recoil[2] * 10, 1, 0, 0); - - double[] reloadMove = HbmAnimations.getRelevantTransformation("RELOAD_MOVE"); - GL11.glTranslated(reloadMove[0], reloadMove[1], reloadMove[2]); - - double[] reloadRot = HbmAnimations.getRelevantTransformation("RELOAD_ROT"); - GL11.glRotated(reloadRot[0], 1, 0, 0); - GL11.glRotated(reloadRot[2], 0, 0, 1); - GL11.glRotated(reloadRot[1], 0, 1, 0); - ResourceManager.bio_revolver.renderPart("Grip"); - - GL11.glPushMatrix(); /// FRONT PUSH /// - GL11.glRotated(HbmAnimations.getRelevantTransformation("FRONT")[2], 1, 0, 0); - ResourceManager.bio_revolver.renderPart("Barrel"); - GL11.glPushMatrix(); /// LATCH PUSH /// - GL11.glTranslated(0, 2.3125, -0.875); - GL11.glRotated(HbmAnimations.getRelevantTransformation("LATCH")[2], 1, 0, 0); - GL11.glTranslated(0, -2.3125, 0.875); - ResourceManager.bio_revolver.renderPart("Latch"); - GL11.glPopMatrix(); /// LATCH POP /// - - GL11.glPushMatrix(); /// DRUM PUSH /// - GL11.glTranslated(0, 1, 0); - GL11.glRotated(HbmAnimations.getRelevantTransformation("DRUM")[2] * 60, 0, 0, 1); - GL11.glTranslated(0, -1, 0); - GL11.glTranslated(0, 0, HbmAnimations.getRelevantTransformation("DRUM_PUSH")[2]); - ResourceManager.bio_revolver.renderPart("Drum"); - GL11.glPopMatrix(); /// DRUM POP /// - - GL11.glPopMatrix(); /// FRONT POP /// - - GL11.glPushMatrix(); /// HAMMER /// - GL11.glTranslated(0, 0, -4.5); - GL11.glRotated(-45 + 45 * HbmAnimations.getRelevantTransformation("HAMMER")[2], 1, 0, 0); - GL11.glTranslated(0, 0, 4.5); - ResourceManager.bio_revolver.renderPart("Hammer"); - GL11.glPopMatrix(); - - GL11.glShadeModel(GL11.GL_FLAT); - - break; - - case EQUIPPED: - - double scale = 0.1D; - GL11.glScaled(scale, scale, scale); - GL11.glRotatef(15F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(10, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(15F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(4F, 1F, 4F); - - break; - - case ENTITY: - - double s1 = 0.075D; - GL11.glScaled(s1, s1, s1); - GL11.glRotatef(90, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(0F, 1F, 0F); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 0.8D; - GL11.glTranslated(8, 7, 0); - GL11.glRotated(-90, 0, 1, 0); - GL11.glRotated(-135, 1, 0, 0); - GL11.glScaled(s, s, -s); - - break; - - default: break; - } - - if(type != ItemRenderType.EQUIPPED_FIRST_PERSON) { - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.bio_revolver.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderCryolator.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderCryolator.java deleted file mode 100644 index ce1505174..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderCryolator.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelCryolator; -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderCryolator implements IItemRenderer { - - protected ModelCryolator swordModel; - - public ItemRenderCryolator() { - swordModel = new ModelCryolator(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelCryolator.png")); - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - //GL11.glTranslatef(-0.4F, -0.1F, 0.1F); - GL11.glTranslatef(-0.2F, -0.1F, -0.1F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelCryolator.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.5F, -0.2F, 0.0F); - GL11.glScalef(1.25F, 1.25F, 1.25F); - GL11.glTranslatef(-0.8F, 0.0F, 0.0F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - default: break; - } - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderEMPRay.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderEMPRay.java deleted file mode 100644 index cf4889d23..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderEMPRay.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelEMPRay; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderEMPRay implements IItemRenderer { - - protected ModelEMPRay swordModel; - - public ItemRenderEMPRay() { - swordModel = new ModelEMPRay(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - float f = 0; - - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelEMPRay.png")); - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glTranslatef(-0.8F, -0.2F, 0.0F); - GL11.glRotatef(-15.0F, 0.0F, 0.0F, 1.0F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, f); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelEMPRay.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.5F, -0.2F, 0.0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glTranslatef(-1.8F, -0.2F, 0.2F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, f); - GL11.glPopMatrix(); - default: break; - } - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderFatMan.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderFatMan.java deleted file mode 100644 index e669de40f..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderFatMan.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelFatman; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderFatMan implements IItemRenderer { - - protected ModelFatman swordModel; - - public ItemRenderFatMan() { - swordModel = new ModelFatman(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/FatmanLauncher.png")); - GL11.glRotatef(-150.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.8F, -0.1F, -0.2F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, item); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/FatmanLauncher.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.5F, -0.2F, 0.0F); - GL11.glScalef(1.5F, 1.5F, 1.5F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, item); - GL11.glPopMatrix(); - default: break; - } - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderFireExt.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderFireExt.java index 012294910..62997552c 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderFireExt.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderFireExt.java @@ -2,9 +2,9 @@ package com.hbm.render.item.weapon; import org.lwjgl.opengl.GL11; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.items.ModItems; -import com.hbm.items.weapon.ItemGunBase; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.factory.XFactoryTool; +import com.hbm.items.weapon.sedna.mags.IMagazine; import com.hbm.main.ResourceManager; import net.minecraft.client.Minecraft; @@ -41,15 +41,11 @@ public class ItemRenderFireExt implements IItemRenderer { GL11.glEnable(GL11.GL_CULL_FACE); - int magType = ItemGunBase.getMagType(item); - int config = ((ItemGunBase)ModItems.gun_fireext).mainConfig.config.get(magType); - int ammo = BulletConfigSyncingUtil.pullConfig(config).ammo.meta; - ResourceLocation tex; - switch (ammo) { - case 0: tex = ResourceManager.fireext_foam_tex; break; - case 1: tex = ResourceManager.fireext_sand_tex; break; - default: tex = ResourceManager.fireext_tex; break; - } + ItemGunBaseNT gun = (ItemGunBaseNT) item.getItem(); + IMagazine mag = gun.getConfig(item, 0).getReceivers(item)[0].getMagazine(item); + ResourceLocation tex = ResourceManager.fireext_tex; + if(mag.getType(item, null) == XFactoryTool.fext_foam) tex = ResourceManager.fireext_foam_tex; + if(mag.getType(item, null) == XFactoryTool.fext_sand) tex = ResourceManager.fireext_sand_tex; Minecraft.getMinecraft().renderEngine.bindTexture(tex); switch(type) { diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderGunAnim.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderGunAnim.java index 492a2be44..055b53708 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderGunAnim.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderGunAnim.java @@ -4,11 +4,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.items.ModItems; import com.hbm.items.weapon.GunB92; -import com.hbm.items.weapon.GunLeverActionS; import com.hbm.lib.RefStrings; import com.hbm.render.model.ModelB92; -import com.hbm.render.model.ModelB93; -import com.hbm.render.model.ModelLeverAction; import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; import net.minecraft.item.ItemStack; @@ -17,14 +14,10 @@ import net.minecraftforge.client.IItemRenderer; public class ItemRenderGunAnim implements IItemRenderer { - protected ModelLeverAction flippedGun; protected ModelB92 b92; - protected ModelB93 b93; public ItemRenderGunAnim() { - flippedGun = new ModelLeverAction(); b92 = new ModelB92(); - b93 = new ModelB93(); } @Override @@ -52,30 +45,14 @@ public class ItemRenderGunAnim implements IItemRenderer { GL11.glEnable(GL11.GL_CULL_FACE); - if(item.getItem() == ModItems.gun_lever_action_sonata) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLeverAction.png")); if(item.getItem() == ModItems.gun_b92) Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelB92SM.png")); - if(item.getItem() == ModItems.gun_b93) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelB93.png")); GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(-0.5F, 0.0F, -0.2F); GL11.glScalef(0.5F, 0.5F, 0.5F); GL11.glScalef(0.5F, 0.5F, 0.5F); GL11.glTranslatef(-0.2F, -0.1F, -0.1F); - - if(item.getItem() == ModItems.gun_lever_action_sonata) { - GL11.glRotatef(180F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(15F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(2.3F, 0.2F, 0.8F); - } - - if((item.getItem() == ModItems.gun_lever_action_sonata) && GunLeverActionS.getRotationFromAnim(item) > 0) { - GL11.glRotatef(GunLeverActionS.getRotationFromAnim(item) * -25, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(GunLeverActionS.getOffsetFromAnim(item) * 1.5F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, GunLeverActionS.getOffsetFromAnim(item) * -1.5F, 0.0F); - } if(item.getItem() == ModItems.gun_b92 && GunB92.getRotationFromAnim(item) > 0) { float off = GunB92.getRotationFromAnim(item) * 2; @@ -83,18 +60,8 @@ public class ItemRenderGunAnim implements IItemRenderer { GL11.glTranslatef(off * -0.5F, off * -0.5F, 0.0F); } - if(item.getItem() == ModItems.gun_b93 && GunB92.getRotationFromAnim(item) > 0) { - float off = GunB92.getRotationFromAnim(item) * 2; - GL11.glRotatef(GunB92.getRotationFromAnim(item) * -90, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(off * -0.5F, off * -0.5F, 0.0F); - } - - if(item.getItem() == ModItems.gun_lever_action_sonata) - flippedGun.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunLeverActionS.getRotationFromAnim(item)); if(item.getItem() == ModItems.gun_b92) b92.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunB92.getTransFromAnim(item)); - if(item.getItem() == ModItems.gun_b93) - b93.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunB92.getTransFromAnim(item)); GL11.glPopMatrix(); break; @@ -102,20 +69,8 @@ public class ItemRenderGunAnim implements IItemRenderer { case ENTITY: GL11.glPushMatrix(); GL11.glEnable(GL11.GL_CULL_FACE); - if(item.getItem() == ModItems.gun_lever_action || item.getItem() == ModItems.gun_lever_action_sonata) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLeverAction.png")); - if(item.getItem() == ModItems.gun_bolt_action) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelBoltActionDark.png")); - if(item.getItem() == ModItems.gun_lever_action_dark) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLeverActionDark.png")); - if(item.getItem() == ModItems.gun_bolt_action_green) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelBoltActionGreen.png")); - if(item.getItem() == ModItems.gun_bolt_action_saturnite) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelBoltActionSaturnite.png")); if(item.getItem() == ModItems.gun_b92) Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelB92SM.png")); - if(item.getItem() == ModItems.gun_b93) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelB93.png")); GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); @@ -125,18 +80,8 @@ public class ItemRenderGunAnim implements IItemRenderer { GL11.glScalef(0.5F, 0.5F, 0.5F); GL11.glTranslatef(-0.3F, -0.4F, 0.15F); - if(item.getItem() == ModItems.gun_lever_action_sonata) { - GL11.glRotatef(180F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(25F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(2.3F, 0.2F, 0.8F); - } - - if(item.getItem() == ModItems.gun_lever_action_sonata) - flippedGun.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunLeverActionS.getRotationFromAnim(item)); if(item.getItem() == ModItems.gun_b92) b92.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunB92.getTransFromAnim(item)); - if(item.getItem() == ModItems.gun_b93) - b93.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunB92.getTransFromAnim(item)); GL11.glPopMatrix(); default: break; } diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderImmolator.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderImmolator.java deleted file mode 100644 index f5d298186..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderImmolator.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelImmolator; -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderImmolator implements IItemRenderer { - - protected ModelImmolator swordModel; - - public ItemRenderImmolator() { - swordModel = new ModelImmolator(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelImmolator.png")); - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - //GL11.glTranslatef(-0.4F, -0.1F, 0.1F); - GL11.glTranslatef(-0.2F, -0.1F, -0.1F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelImmolator.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.5F, -0.2F, 0.0F); - GL11.glScalef(1.25F, 1.25F, 1.25F); - GL11.glTranslatef(-0.8F, 0.0F, 0.0F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - default: break; - } - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderLunaticSniper.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderLunaticSniper.java deleted file mode 100644 index a5de274b8..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderLunaticSniper.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderLunaticSniper implements IItemRenderer { - - public ItemRenderLunaticSniper() { - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: - return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_BOBBING || helper == ItemRendererHelper.ENTITY_ROTATION); - } - - static final String slide = "Slide_Cube.020_Cube.007"; - static final String everythingElse = "Full_Cylinder.007"; - static final String spentShell = "Spent_Casing_Casing"; - static final String fullRound = "Full_Round_Bullet"; - - static final float scale1 = 0.2F; - static final float scale2 = 0.1F; - static final float scale3 = 0.15F; - static final float scale4 = 0.7F; - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); -// double[] eject = HbmAnimations.getRelevantTransformation("EJECT"); - double[] tilt = HbmAnimations.getRelevantTransformation("TILT"); -// double[] insert = HbmAnimations.getRelevantTransformation("INSERT_ROUND"); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.lunatic_sniper_tex); - - GL11.glShadeModel(GL11.GL_SMOOTH); - - switch (type) { - case EQUIPPED_FIRST_PERSON:// In hand from POV - - if(Minecraft.getMinecraft().thePlayer.isSneaking()) { - GL11.glPopMatrix(); - return; - } - - GL11.glRotatef(-10F, 0F, 1F, 0F); - GL11.glRotatef(-10F, 0F, 0F, 1F); - GL11.glRotatef(90F, 1F, 0F, 0F); - GL11.glRotatef(-58.5F, 0F, 1F, 0F); - GL11.glRotatef(90F, 0F, 0F, 1F); - GL11.glTranslatef(-0.5F, 0F, 0F); - GL11.glScalef(scale1, scale1, scale1); - - /// Begin animations /// - - // Move on recoil - GL11.glTranslated(0, 0, recoil[1] * 10); - GL11.glRotated(recoil[0] * 10, 0, 0, 1); - // Move on reload - GL11.glPushMatrix(); - GL11.glRotated(tilt[0] * 2, 0, 0, 1); - GL11.glRotated(-tilt[1] * 2, 0, 1, 0); - GL11.glTranslated(0, 0, -tilt[1] / 8); - ResourceManager.lunatic_sniper.renderPart(everythingElse); - GL11.glPopMatrix(); - // Release slide - GL11.glPushMatrix(); - GL11.glRotated(tilt[0] * 2, 0, 0, 1); - GL11.glRotated(-tilt[1] * 2, 0, 1, 0); - GL11.glTranslated(0, 0, -tilt[2] * 15); - ResourceManager.lunatic_sniper.renderPart(slide); - GL11.glPopMatrix(); - // Drop in new round - GL11.glPushMatrix(); - GL11.glRotated(tilt[0], 0, 0, 1); - GL11.glTranslated(0, tilt[1], tilt[2]); - ResourceManager.lunatic_sniper.renderPart(fullRound); - GL11.glPopMatrix(); - // Eject casing - GL11.glPushMatrix(); - GL11.glTranslated(0, 2, 0);//FIXME Where on earth is it?! -// ResourceManager.lunatic_sniper.renderPart(spentShell); - GL11.glPopMatrix(); - break; - case EQUIPPED:// In hand from other's POV - GL11.glRotatef(-5F, 0F, 1F, 0F); - GL11.glRotatef(-5F, 0F, 0F, 1F); - GL11.glRotatef(90F, 1F, 0F, 0F); - GL11.glRotatef(-50F, 0F, 1F, 0F); - GL11.glRotatef(90F, 0F, 0F, 1F); - GL11.glTranslatef(-0.05F, -0.2F, -0.75F); - GL11.glScalef(scale2 - scale2 * 2, scale2, scale2); - GL11.glPushMatrix(); -// GL11.glTranslated(eject[0] / 2, 0, -5); -// ResourceManager.lunatic_sniper.renderPart(spentShell); - GL11.glPopMatrix(); - break; - case ENTITY:// Dropped item - GL11.glScalef(scale3, scale3, scale3); - break; - case INVENTORY: - GL11.glTranslatef(10F, 11.5F, 0F); - GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-135F, 1.0F, 0.0F, 0.0F); - GL11.glScalef(-scale4, scale4, scale4); - break; - default: - break; - } - - if(type != ItemRenderType.EQUIPPED_FIRST_PERSON) { - ResourceManager.lunatic_sniper.renderAllExcept(fullRound, spentShell); - } - - GL11.glShadeModel(GL11.GL_FLAT); - GL11.glPopMatrix(); - } - -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderM2.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderM2.java deleted file mode 100644 index b4b01c472..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderM2.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; -import com.hbm.render.item.ItemRenderBase; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; - -public class ItemRenderM2 extends ItemRenderBase { - - public ItemRenderM2() { } - - static final float scale1 = 0.35F, scale2 = 2.25F, scale3 = 0.25F, scale4 = 0.5F; - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) - { - switch (type) { - case ENTITY: - GL11.glTranslated(0, -0.25, 0); - GL11.glRotatef(90, 0, 1, 0); - GL11.glScalef(scale4, scale4, scale4); - break; - case EQUIPPED: - GL11.glScalef(scale1, scale1, -scale1); - GL11.glRotatef(-90, 0, 1, 0); - GL11.glTranslatef(-0.4f, 0.5f, -5); - GL11.glRotatef(30, 1, 0, 0); - break; - case EQUIPPED_FIRST_PERSON: - - if (Minecraft.getMinecraft().thePlayer.isSneaking()) { - GL11.glRotatef(-90, 0, 1, 0); - GL11.glTranslatef(-0.96f, -0.9f, -2); - GL11.glRotatef(-5.75f, 0, 1, 1);// Just of by 0.15 - - /* vvv remove to restore original look vvv */ - GL11.glRotatef(1.9F, 0, 0, 1); - GL11.glTranslatef(0.06F, 0, 0); - GL11.glRotatef(-0.2F, 0, 1, 0); - GL11.glRotatef(1F, 1, 0, 0); - GL11.glTranslatef(0, 1.15F, -1.75F); - - } else { - GL11.glRotatef(-95, 0, 1, 0); - GL11.glTranslatef(0, -1, -3); - } - GL11.glRotatef(25, 1, 0, 0); - - double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); - GL11.glTranslated(0, 0, recoil[0] * 0.35); - - break; - case INVENTORY: - GL11.glScalef(scale2, scale2, scale2); - GL11.glTranslated(2.75, 5, 0); - GL11.glRotatef(90, 0, 1, 0); - GL11.glRotatef(-45, 1, 0, 0); - GL11.glRotatef(180, 0, 0, 1); - break; - default: break; - } - GL11.glShadeModel(GL11.GL_SMOOTH); - Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.m2_tex); - ResourceManager.m2.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderMIRV.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderMIRV.java deleted file mode 100644 index db3d40b87..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderMIRV.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelMIRV; -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderMIRV implements IItemRenderer { - - protected ModelMIRV swordModel; - - public ItemRenderMIRV() { - swordModel = new ModelMIRV(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/Mirv.png")); - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glScalef(1.5F, 1.5F, 1.5F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/Mirv.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - GL11.glScalef(1.5F, 1.5F, 1.5F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - default: break; - } - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderMIRVLauncher.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderMIRVLauncher.java deleted file mode 100644 index f7d174b2b..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderMIRVLauncher.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelMIRVLauncher; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderMIRVLauncher implements IItemRenderer { - - protected ModelMIRVLauncher swordModel; - - public ItemRenderMIRVLauncher() { - swordModel = new ModelMIRVLauncher(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/MIRVLauncher.png")); - GL11.glRotatef(-150.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.8F, -0.1F, -0.2F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, item); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/MIRVLauncher.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.5F, -0.2F, 0.0F); - GL11.glScalef(1.5F, 1.5F, 1.5F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, item); - GL11.glPopMatrix(); - default: break; - } - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderMP.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderMP.java deleted file mode 100644 index 8c957bd95..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderMP.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelMP; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderMP implements IItemRenderer { - - protected ModelMP swordModel; - - public ItemRenderMP() { - swordModel = new ModelMP(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelMP.png")); - - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glTranslatef(1.0F, 0.75F, 0.0F); - GL11.glRotatef(150F, 0.0F, 0.0F, -1.0F); - GL11.glScalef(0.75F, 0.75F, 0.75F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - break; - - case EQUIPPED: - GL11.glTranslatef(0.35F, 0.5F, 0.0F); - GL11.glRotatef(100F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(170F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(15F, 0.0F, 0.0F, -1.0F); - GL11.glScalef(0.75F, 0.75F, 0.75F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - break; - - case ENTITY: - GL11.glTranslatef(0.0F, 1.0F, 0.0F); - GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); - GL11.glScalef(0.75F, 0.75F, 0.75F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - break; - - default: break; - } - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderMP40.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderMP40.java deleted file mode 100644 index 27f454765..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderMP40.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelMP40; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderMP40 implements IItemRenderer { - - protected ModelMP40 swordModel; - - public ItemRenderMP40() { - swordModel = new ModelMP40(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelMP40.png")); - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - //GL11.glTranslatef(-0.4F, -0.1F, 0.1F); - GL11.glTranslatef(-0.8F, -0.2F, 0.0F); - GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(5.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.2F, 0.0F, -0.2F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelMP40.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.5F, -0.2F, 0.0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glTranslatef(-1.8F, -0.2F, 0.2F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - default: break; - } - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderMiniNuke.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderMiniNuke.java deleted file mode 100644 index 6a5d094dd..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderMiniNuke.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelMiniNuke; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderMiniNuke implements IItemRenderer { - - protected ModelMiniNuke swordModel; - - public ItemRenderMiniNuke() { - swordModel = new ModelMiniNuke(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/MiniNuke.png")); - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glScalef(1.5F, 1.5F, 1.5F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/MiniNuke.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - GL11.glScalef(1.5F, 1.5F, 1.5F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - default: break; - } - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderNukeGadget.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderNukeGadget.java deleted file mode 100644 index 2b188c95c..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderNukeGadget.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.model.AdvancedModelLoader; -import net.minecraftforge.client.model.IModelCustom; - -public class ItemRenderNukeGadget implements IItemRenderer { - - private IModelCustom gadgetModel; - private ResourceLocation gadgetTexture; - float f = -1; - - public ItemRenderNukeGadget() { - gadgetModel = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/TheGadget3.obj")); - gadgetTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png"); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(gadgetTexture); - //GL11.glRotatef(0.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(15.0F, 0.0F, 0.0F, -1.0F); - GL11.glTranslatef(0.8F, 0.2F, 0.5F); - GL11.glScalef(0.25F, 0.25F, 0.25F); - gadgetModel.renderAll(); - GL11.glPopMatrix(); - default: break; - } - } - -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderOSIPR.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderOSIPR.java deleted file mode 100644 index 9dd1937ae..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderOSIPR.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelOSIPR; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderOSIPR implements IItemRenderer { - - protected ModelOSIPR swordModel; - - public ItemRenderOSIPR() { - swordModel = new ModelOSIPR(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelOSIPR.png")); - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glTranslatef(-0.4F, -0.2F, -0.1F); - GL11.glRotatef(-15.0F, 0.0F, 0.0F, 1.0F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelOSIPR.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.5F, -0.2F, 0.0F); - //GL11.glScalef(1.5F, 1.5F, 1.5F); - GL11.glTranslatef(-0.4F, -0.1F, 0.0F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - default: break; - } - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderOverkill.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderOverkill.java deleted file mode 100644 index e44b0444f..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderOverkill.java +++ /dev/null @@ -1,369 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.ModItems; -import com.hbm.items.weapon.GunFolly; -import com.hbm.items.weapon.ItemGunBase; -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelDash; -import com.hbm.render.model.ModelDefabricator; -import com.hbm.render.model.ModelEuthanasia; -import com.hbm.render.model.ModelFolly; -import com.hbm.render.model.ModelHP; -import com.hbm.render.model.ModelJack; -import com.hbm.render.model.ModelLacunae; -import com.hbm.render.model.ModelPip; -import com.hbm.render.model.ModelSpark; -import com.hbm.render.model.ModelTwiGun; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderOverkill implements IItemRenderer { - - protected ModelJack powerJack; - protected ModelSpark sparkPlug; - protected ModelHP hppLaserjet; - protected ModelEuthanasia euthanasia; - protected ModelDefabricator defab; - protected ModelDash dasher; - protected ModelTwiGun rgottp; - protected ModelPip pip; - protected ModelLacunae lacunae; - protected ModelFolly folly; - - public ItemRenderOverkill() { - powerJack = new ModelJack(); - sparkPlug = new ModelSpark(); - hppLaserjet = new ModelHP(); - euthanasia = new ModelEuthanasia(); - defab = new ModelDefabricator(); - dasher = new ModelDash(); - rgottp = new ModelTwiGun(); - pip = new ModelPip(); - lacunae = new ModelLacunae(); - folly = new ModelFolly(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - float f = 0; - - if((Entity)data[1] instanceof EntityPlayer) - f = ((EntityPlayer)data[1]).getItemInUseDuration(); - - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - - if(item.getItem() == ModItems.gun_jack) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelJack.png")); - if(item.getItem() == ModItems.gun_spark) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelSpark.png")); - if(item.getItem() == ModItems.gun_hp) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelHP.png")); - if(item.getItem() == ModItems.gun_euthanasia) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelEuthanasia.png")); - if(item.getItem() == ModItems.gun_defabricator) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelDefabricator.png")); - if(item.getItem() == ModItems.gun_dash) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelDash.png")); - if(item.getItem() == ModItems.gun_twigun) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelTwiGun.png")); - if(item.getItem() == ModItems.gun_revolver_pip) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPip.png")); - if(item.getItem() == ModItems.gun_revolver_nopip) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipNoScope.png")); - if(item.getItem() == ModItems.gun_revolver_blackjack) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipGrey.png")); - if(item.getItem() == ModItems.gun_revolver_silver) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipSilver.png")); - if(item.getItem() == ModItems.gun_revolver_red) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipRed.png")); - if(item.getItem() == ModItems.gun_minigun) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunae.png")); - if(item.getItem() == ModItems.gun_lacunae) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeReal.png")); - if(item.getItem() == ModItems.gun_folly) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelFolly.png")); - - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - //GL11.glTranslatef(-0.4F, -0.1F, 0.1F); - GL11.glTranslatef(-0.2F, -0.1F, -0.1F); - - if(item.getItem() == ModItems.gun_defabricator) - GL11.glTranslatef(0, 0.5F, 0.4F); - - if(item.getItem() == ModItems.gun_revolver_pip || - item.getItem() == ModItems.gun_revolver_nopip || - item.getItem() == ModItems.gun_revolver_blackjack || - item.getItem() == ModItems.gun_revolver_silver || - item.getItem() == ModItems.gun_revolver_red) { - GL11.glScalef(0.60F, 0.60F, 0.60F); - GL11.glTranslatef(0.0F, 0.0F, -0.1F); - GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(5.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.2F, 0.0F, -0.2F); - } - - if(item.getItem() == ModItems.gun_lacunae || - item.getItem() == ModItems.gun_minigun) { - GL11.glRotatef(-15.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(180, 0, 1, 0); - GL11.glTranslatef(0.5F, 0.3F, -0.2F); - } - - if(item.getItem() == ModItems.gun_folly) { - GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(5.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.2F, 0.0F, -0.2F); - } - - if(item.getItem() == ModItems.gun_jack) - powerJack.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_spark) - sparkPlug.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_hp) - hppLaserjet.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_euthanasia) - euthanasia.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_defabricator) - defab.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_dash) - dasher.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_twigun) - rgottp.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_revolver_pip || - item.getItem() == ModItems.gun_revolver_nopip || - item.getItem() == ModItems.gun_revolver_blackjack || - item.getItem() == ModItems.gun_revolver_silver || - item.getItem() == ModItems.gun_revolver_red) - pip.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - - if(item.getItem() == ModItems.gun_lacunae || - item.getItem() == ModItems.gun_minigun) - lacunae.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, ItemGunBase.readNBT(item, "rot")); - - if(item.getItem() == ModItems.gun_folly) { - int state = GunFolly.getState(item); - int time = GunFolly.getTimer(item); - folly.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, state, time); - } - - GL11.glPopMatrix(); - break; - case EQUIPPED: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - if(item.getItem() == ModItems.gun_jack) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelJack.png")); - if(item.getItem() == ModItems.gun_spark) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelSpark.png")); - if(item.getItem() == ModItems.gun_hp) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelHP.png")); - if(item.getItem() == ModItems.gun_euthanasia) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelEuthanasia.png")); - if(item.getItem() == ModItems.gun_defabricator) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelDefabricator.png")); - if(item.getItem() == ModItems.gun_dash) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelDash.png")); - if(item.getItem() == ModItems.gun_twigun) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelTwiGun.png")); - if(item.getItem() == ModItems.gun_revolver_pip) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPip.png")); - if(item.getItem() == ModItems.gun_revolver_nopip) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipNoScope.png")); - if(item.getItem() == ModItems.gun_revolver_blackjack) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipGrey.png")); - if(item.getItem() == ModItems.gun_revolver_silver) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipSilver.png")); - if(item.getItem() == ModItems.gun_revolver_red) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipRed.png")); - if(item.getItem() == ModItems.gun_minigun) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunae.png")); - if(item.getItem() == ModItems.gun_lacunae) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeReal.png")); - if(item.getItem() == ModItems.gun_folly) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelFolly.png")); - - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.5F, -0.2F, 0.0F); - //GL11.glScalef(0.75F, 0.75F, 0.75F); - GL11.glTranslatef(-1.4F, 0.0F, 0.0F); - if(item.getItem() == ModItems.gun_jack) - GL11.glTranslatef(0.3F, 0, 0); - if(item.getItem() == ModItems.gun_spark) - GL11.glTranslatef(0.4F, 0, 0); - if(item.getItem() == ModItems.gun_hp) - GL11.glTranslatef(0.5F, 0.2F, 0); - if(item.getItem() == ModItems.gun_defabricator) - GL11.glTranslatef(0.5F, 0.6F, -0.2F); - - if(item.getItem() == ModItems.gun_revolver_pip || - item.getItem() == ModItems.gun_revolver_nopip || - item.getItem() == ModItems.gun_revolver_blackjack || - item.getItem() == ModItems.gun_revolver_silver || - item.getItem() == ModItems.gun_revolver_red) { - GL11.glScalef(0.60F, 0.60F, 0.60F); - GL11.glTranslatef(0.7F, 0.3F, 0.0F); - } - if(item.getItem() == ModItems.gun_lacunae || - item.getItem() == ModItems.gun_minigun) { - GL11.glRotatef(5.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(185, 0, 1, 0); - GL11.glTranslatef(0.5F, 0.6F, 0.2F); - } - if(item.getItem() == ModItems.gun_folly) { - GL11.glTranslatef(0.6F, 0.0F, 0.0F); - } - - if(item.getItem() == ModItems.gun_jack) - powerJack.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_spark) - sparkPlug.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_hp) - hppLaserjet.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_euthanasia) - euthanasia.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_defabricator) - defab.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_dash) - dasher.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_twigun) - rgottp.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_revolver_pip || - item.getItem() == ModItems.gun_revolver_nopip || - item.getItem() == ModItems.gun_revolver_blackjack || - item.getItem() == ModItems.gun_revolver_silver || - item.getItem() == ModItems.gun_revolver_red) - pip.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - - if(item.getItem() == ModItems.gun_lacunae || - item.getItem() == ModItems.gun_minigun) - lacunae.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, f); - - if(item.getItem() == ModItems.gun_folly) { - int state = GunFolly.getState(item); - int time = GunFolly.getTimer(item); - folly.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, state, time); - } - GL11.glPopMatrix(); - break; - case ENTITY: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - if(item.getItem() == ModItems.gun_jack) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelJack.png")); - if(item.getItem() == ModItems.gun_spark) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelSpark.png")); - if(item.getItem() == ModItems.gun_hp) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelHP.png")); - if(item.getItem() == ModItems.gun_euthanasia) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelEuthanasia.png")); - if(item.getItem() == ModItems.gun_defabricator) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelDefabricator.png")); - if(item.getItem() == ModItems.gun_dash) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelDash.png")); - if(item.getItem() == ModItems.gun_twigun) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelTwiGun.png")); - if(item.getItem() == ModItems.gun_revolver_pip) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPip.png")); - if(item.getItem() == ModItems.gun_revolver_nopip) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipNoScope.png")); - if(item.getItem() == ModItems.gun_revolver_blackjack) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipGrey.png")); - if(item.getItem() == ModItems.gun_revolver_silver) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipSilver.png")); - if(item.getItem() == ModItems.gun_revolver_red) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipRed.png")); - if(item.getItem() == ModItems.gun_minigun) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunae.png")); - if(item.getItem() == ModItems.gun_lacunae) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeReal.png")); - if(item.getItem() == ModItems.gun_folly) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelFolly.png")); - - - GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); - - if(item.getItem() == ModItems.gun_revolver_pip || - item.getItem() == ModItems.gun_revolver_nopip || - item.getItem() == ModItems.gun_revolver_blackjack || - item.getItem() == ModItems.gun_revolver_silver || - item.getItem() == ModItems.gun_revolver_red) { - GL11.glScalef(0.60F, 0.60F, 0.60F); - } - if(item.getItem() == ModItems.gun_calamity) { - GL11.glScalef(0.75F, 0.75F, 0.75F); - } - if(item.getItem() == ModItems.gun_lacunae || - item.getItem() == ModItems.gun_minigun) { - GL11.glTranslatef(0, -1, 0); - GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F); - } - - if(item.getItem() == ModItems.gun_jack) - powerJack.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_spark) - sparkPlug.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_hp) - hppLaserjet.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_euthanasia) - euthanasia.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_defabricator) - defab.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_dash) - dasher.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_twigun) - rgottp.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_revolver_pip || - item.getItem() == ModItems.gun_revolver_nopip || - item.getItem() == ModItems.gun_revolver_blackjack || - item.getItem() == ModItems.gun_revolver_silver || - item.getItem() == ModItems.gun_revolver_red) - pip.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - - if(item.getItem() == ModItems.gun_lacunae || - item.getItem() == ModItems.gun_minigun) - lacunae.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, f); - - if(item.getItem() == ModItems.gun_folly) { - int state = GunFolly.getState(item); - int time = GunFolly.getTimer(item); - folly.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, state, time); - } - GL11.glPopMatrix(); - break; - default: break; - } - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolver.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolver.java deleted file mode 100644 index b7f8ce1c0..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolver.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.ModItems; -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelRevolver; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderRevolver implements IItemRenderer { - - protected ModelRevolver swordModel; - - public ItemRenderRevolver() { - swordModel = new ModelRevolver(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - - if(item.getItem() == ModItems.gun_revolver) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRevolver.png")); - if(item.getItem() == ModItems.gun_revolver_saturnite) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRevolverSaturnite.png")); - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - - GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(5.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.2F, 0.0F, -0.2F); - - //((EntityPlayer)data[1]).isSwingInProgress = false; - - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - if(item.getItem() == ModItems.gun_revolver) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRevolver.png")); - if(item.getItem() == ModItems.gun_revolver_saturnite) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRevolverSaturnite.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - default: break; - } - } - -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverCursed.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverCursed.java deleted file mode 100644 index 937c936bb..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverCursed.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelGun; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderRevolverCursed implements IItemRenderer { - - protected ModelGun swordModel; - - public ItemRenderRevolverCursed() { - swordModel = new ModelGun(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelGun.png")); - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(5.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.2F, 0.0F, -0.2F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelGun.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - default: break; - } - } - -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverGold.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverGold.java deleted file mode 100644 index 76cb564ea..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverGold.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelRevolver; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderRevolverGold implements IItemRenderer { - - protected ModelRevolver swordModel; - - public ItemRenderRevolverGold() { - swordModel = new ModelRevolver(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRevolverGold.png")); - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(5.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.2F, 0.0F, -0.2F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRevolverGold.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - default: break; - } - } - -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverInverted.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverInverted.java deleted file mode 100644 index c2f5b537d..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverInverted.java +++ /dev/null @@ -1,117 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; -import com.hbm.render.model.ModelRevolver; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderRevolverInverted implements IItemRenderer { - - protected ModelRevolver swordModel; - - public ItemRenderRevolverInverted() { - swordModel = new ModelRevolver(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - boolean inUse = false; - if(data != null && data.length > 1 && data[1] instanceof EntityPlayer) - inUse = (((EntityPlayer)data[1]).getItemInUse() != null && ((EntityPlayer)data[1]).getItemInUse().getItemUseAction() == EnumAction.bow); - - GL11.glPushMatrix(); - - GL11.glEnable(GL11.GL_CULL_FACE); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 1.5D; - GL11.glTranslated(0.75, 0.5, 0); - GL11.glScaled(s0, s0, s0); - GL11.glRotated(100, 0, -1, 0); - GL11.glRotated(25, 1, 0, 0); - - if(inUse) { - GL11.glTranslated(-0.4, 0, 0); - GL11.glRotated(198, 0, 1, 0); - GL11.glRotated(-10, 1, 0, 0); - } - - break; - - case EQUIPPED: - - double scale = 1.5D; - GL11.glRotated(195, 0, 1, 0); - GL11.glRotated(-10, 0, 0, 1); - GL11.glRotated(-10, 1, 0, 0); - GL11.glTranslated(-0.5, 0.1, -0.25); - GL11.glScaled(scale, scale, scale); - - if(inUse) { - GL11.glTranslated(-0.05, 0, 0); - GL11.glRotated(-15, 0, 0, 1); - GL11.glRotated(160, 0, 1, 0); - } - - break; - - case ENTITY: - - double s1 = 1D; - GL11.glScaled(s1, s1, s1); - GL11.glRotated(90, 0, 1, 0); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 17D; - GL11.glTranslated(8, 8, 0); - GL11.glRotated(-135, 0, 0, 1); - GL11.glRotated(90, 0, 1, 0); - GL11.glScaled(s, s, -s); - - break; - - default: break; - } - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ff_gun_bright); - ResourceManager.ff_python.renderPart("Body"); - ResourceManager.ff_python.renderPart("Cylinder"); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ff_wood); - ResourceManager.ff_python.renderPart("Grip"); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ff_iron); - ResourceManager.ff_python.renderPart("Hammer"); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverIron.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverIron.java deleted file mode 100644 index a84199cf8..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverIron.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelRevolver; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderRevolverIron implements IItemRenderer { - - protected ModelRevolver swordModel; - - public ItemRenderRevolverIron() { - swordModel = new ModelRevolver(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRevolverIron.png")); - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(5.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.2F, 0.0F, -0.2F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRevolverIron.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - default: break; - } - } - -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverLead.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverLead.java deleted file mode 100644 index 6833e5184..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverLead.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelRevolver; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderRevolverLead implements IItemRenderer { - - protected ModelRevolver swordModel; - - public ItemRenderRevolverLead() { - swordModel = new ModelRevolver(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRevolverLead.png")); - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(5.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.2F, 0.0F, -0.2F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRevolverLead.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - default: break; - } - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverNightmare.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverNightmare.java deleted file mode 100644 index 900012ce6..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverNightmare.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.ModItems; -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelNightmare; -import com.hbm.render.model.ModelNightmare2; -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderRevolverNightmare implements IItemRenderer { - - protected ModelNightmare n1; - protected ModelNightmare2 n2; - protected Item item; - - public ItemRenderRevolverNightmare(Item item) { - n1 = new ModelNightmare(); - n2 = new ModelNightmare2(); - this.item = item; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - if(this.item == ModItems.gun_revolver_nightmare) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelNightmare.png")); - if(this.item == ModItems.gun_revolver_nightmare2) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelNightmare2.png")); - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(5.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.2F, 0.0F, -0.2F); - if(this.item == ModItems.gun_revolver_nightmare) - n1.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, item); - if(this.item == ModItems.gun_revolver_nightmare2) - n2.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, item); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - if(this.item == ModItems.gun_revolver_nightmare) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelNightmare.png")); - if(this.item == ModItems.gun_revolver_nightmare2) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelNightmare2.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - if(this.item == ModItems.gun_revolver_nightmare) - n1.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, item); - if(this.item == ModItems.gun_revolver_nightmare2) - n2.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, item); - GL11.glPopMatrix(); - default: break; - } - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverSchrabidium.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverSchrabidium.java deleted file mode 100644 index 0766c6fb5..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderRevolverSchrabidium.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelRevolver; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderRevolverSchrabidium implements IItemRenderer { - - protected ModelRevolver swordModel; - - public ItemRenderRevolverSchrabidium() { - swordModel = new ModelRevolver(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRevolverSchrabidium.png")); - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(5.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.2F, 0.0F, -0.2F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRevolverSchrabidium.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - default: break; - } - } - -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderRocket.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderRocket.java deleted file mode 100644 index 8a2533a48..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderRocket.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelRocket; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderRocket implements IItemRenderer { - - protected ModelRocket swordModel; - - public ItemRenderRocket() { - swordModel = new ModelRocket(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRocket.png")); - GL11.glRotatef(-45.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.0F, 0.6F, -0.5F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRocket.png")); - GL11.glRotatef(-110.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 2.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, 0.5F, 0.0F); - GL11.glScalef(2.0F, 2.0F, 2.0F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - default: break; - } - } - -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderRpg.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderRpg.java deleted file mode 100644 index 7b4b427b5..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderRpg.java +++ /dev/null @@ -1,113 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.ModItems; -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelGustav; -import com.hbm.render.model.ModelPanzerschreck; -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderRpg implements IItemRenderer { - - protected ModelGustav swordModel; - protected ModelPanzerschreck panz; - - public ItemRenderRpg() { - swordModel = new ModelGustav(); - panz = new ModelPanzerschreck(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - if(item.getItem() == ModItems.gun_rpg) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelGustav.png")); - if(item.getItem() == ModItems.gun_karl) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelGustavYellow.png")); - if(item.getItem() == ModItems.gun_panzerschreck) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPanzerschreck.png")); - - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glTranslatef(0.4F, -1.0F, -0.7F); - - if(item.getItem() == ModItems.gun_panzerschreck) { - GL11.glScalef(1.5F, 1.5F, 1.5F); - - if(Minecraft.getMinecraft().thePlayer.isSneaking()) - GL11.glTranslatef(-0.2F, -0.3F, -0.5F); - else - GL11.glTranslatef(-0.1F, 0.0F, 0.0F); - } else { - GL11.glTranslatef(0F, -0.1F, -0.4F); - } - - GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(5.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.2F, 0.0F, -0.2F); - - if(item.getItem() == ModItems.gun_rpg) - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_karl) - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_panzerschreck) - panz.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - if(item.getItem() == ModItems.gun_rpg) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelGustav.png")); - if(item.getItem() == ModItems.gun_karl) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelGustavYellow.png")); - if(item.getItem() == ModItems.gun_panzerschreck) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPanzerschreck.png")); - - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.9F, 0.0F, 0.1F); - - if(item.getItem() == ModItems.gun_panzerschreck) { - GL11.glTranslatef(-0.5F, -0.1F, 0F); - GL11.glScalef(1.5F, 1.5F, 1.5F); - } - - if(item.getItem() == ModItems.gun_rpg) - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_karl) - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_panzerschreck) - panz.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - default: break; - } - } - -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderStinger.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderStinger.java deleted file mode 100644 index 5e5b5d36d..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderStinger.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.ModItems; -import com.hbm.main.ResourceManager; -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderStinger implements IItemRenderer { - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - ResourceLocation stingerTex = item.getItem() == ModItems.gun_stinger ? ResourceManager.stinger_tex : ResourceManager.sky_stinger_tex; - Minecraft.getMinecraft().renderEngine.bindTexture(stingerTex); - GL11.glPushMatrix(); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 0.25D; - GL11.glRotated(25, 0, 0, 1); - GL11.glTranslated(-0.5, -0.7, -0.5); - GL11.glRotated(-100, 0, 1, 0); - GL11.glScaled(s0, s0, s0); - - break; - - case EQUIPPED: - - double scale = 0.25D; - GL11.glScaled(scale, scale, scale); - GL11.glRotatef(20F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-170, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-15F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(-2F, -3F, 4.0F); - - break; - - case ENTITY: - - double s1 = 0.2D; - GL11.glScaled(s1, s1, s1); - GL11.glTranslatef(0F, -2.5F, 0F); - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 1.75D; - GL11.glTranslated(4, 11, 0); - GL11.glRotated(90, 0, 1, 0); - GL11.glRotated(135, 1, 0, 0); - GL11.glScaled(s, s, -s); - - break; - - default: break; - } - ResourceManager.stinger.renderAll(); - GL11.glPopMatrix(); - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderUACPistol.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderUACPistol.java deleted file mode 100644 index 2ce940cc0..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderUACPistol.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderUACPistol implements IItemRenderer { - Minecraft mc = Minecraft.getMinecraft(); - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - return type == ItemRenderType.FIRST_PERSON_MAP ? false : true; - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_BOBBING || helper == ItemRendererHelper.ENTITY_ROTATION); - } - - static final String lower = "lower_pistol_0"; - static final String mag = "mag_pistol_0"; - static final String slide = "slide_pistol_0"; - static final String trigger = "trigger_pistol_0"; - static final String hammer = "bool_obj_bool_obj_data.002"; - - static final float scale1 = 0.05F; - static final float scale2 = 0.025F; - static final float scale3 = 0.05F; - static final float scale4 = 0.55F; - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - GL11.glPushMatrix(); - mc.renderEngine.bindTexture(ResourceManager.uac_pistol_tex); - EntityPlayer player = mc.thePlayer; - GL11.glShadeModel(GL11.GL_SMOOTH); - - double[] slideAnim = HbmAnimations.getRelevantTransformation("SLIDE"); - double[] hammerAnim = HbmAnimations.getRelevantTransformation("HAMMER"); - - switch(type) { - case ENTITY:// Dropped item - GL11.glScalef(scale1, scale1, scale1); - break; - case EQUIPPED:// In hand from other's POV - GL11.glScalef(scale2, scale2, scale2); - GL11.glRotatef(90F, 0F, 1F, 0F); - GL11.glRotatef(-45F, 1F, 0F, 0F); - GL11.glTranslatef(0F, -12F, 30F); - - GL11.glPushMatrix(); - ResourceManager.uac_pistol.renderOnly(trigger, mag, lower); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glTranslated(slideAnim[0], slideAnim[1], slideAnim[2] * 2); - ResourceManager.uac_pistol.renderPart(slide); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glRotated(hammerAnim[0], 1F, 0F, 0F); - ResourceManager.uac_pistol.renderPart(hammer); - GL11.glPopMatrix(); - break; - case EQUIPPED_FIRST_PERSON:// In hand from POV - GL11.glScalef(scale3, scale3, scale3); - GL11.glRotatef(90F, 0F, 1F, 0F); - if(player.isSneaking()) { - GL11.glRotatef(-25F, 1F, 0F, 0F); - GL11.glRotatef(-5F, 0F, 1F, 0F); - GL11.glTranslatef(20.15F, 3.5F, 18F); - } else { - GL11.glRotatef(-25F, 1F, 0F, 0F); - GL11.glTranslatef(-3F, -5F, 20F); - } - GL11.glPushMatrix(); - GL11.glTranslated(slideAnim[0], slideAnim[1], slideAnim[2] * 2); - ResourceManager.uac_pistol.renderPart(slide); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glRotated(hammerAnim[0], 1F, 0F, 0F); - ResourceManager.uac_pistol.renderPart(hammer); - GL11.glPopMatrix(); - break; - case INVENTORY: - GL11.glScalef(scale4, scale4, scale4); - GL11.glRotatef(90F, 0F, 1F, 0F); - GL11.glRotatef(150F, 1F, 0F, 0F); - GL11.glTranslatef(0F, -8F, -24F); - break; - default: - break; - } - if(type != ItemRenderType.EQUIPPED_FIRST_PERSON && type != ItemRenderType.EQUIPPED) - ResourceManager.uac_pistol.renderAll(); - else - ResourceManager.uac_pistol.renderOnly(trigger, mag, lower); - GL11.glShadeModel(GL11.GL_FLAT); - GL11.glPopMatrix(); - } - -} \ No newline at end of file diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderUZI.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderUZI.java deleted file mode 100644 index 75466cb35..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderUZI.java +++ /dev/null @@ -1,135 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.ModItems; -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelUzi; -import com.hbm.render.model.ModelUziBarrel; -import com.hbm.render.model.ModelUziSilencer; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderUZI implements IItemRenderer { - - protected ModelUzi uzi; - protected ModelUziBarrel barrel; - protected ModelUziSilencer silencer; - - public ItemRenderUZI() { - uzi = new ModelUzi(); - barrel = new ModelUziBarrel(); - silencer = new ModelUziSilencer(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glScalef(0.25F, 0.25F, 0.25F); - GL11.glTranslatef(-2.5F, -0.5F, -0.9F); - - GL11.glRotatef(-15.0F, 0.0F, 0.0F, 1.0F); - - if(item.getItem() == ModItems.gun_uzi || item.getItem() == ModItems.gun_uzi_silencer) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUzi.png")); - if(item.getItem() == ModItems.gun_uzi_saturnite || item.getItem() == ModItems.gun_uzi_saturnite_silencer) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUziSaturnite.png")); - - uzi.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - - if(item.getItem() == ModItems.gun_uzi || item.getItem() == ModItems.gun_uzi_saturnite) { - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUziBarrel.png")); - barrel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - } - - if(item.getItem() == ModItems.gun_uzi_silencer || item.getItem() == ModItems.gun_uzi_saturnite_silencer) { - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUziSilencer.png")); - silencer.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - } - - GL11.glPopMatrix(); - break; - case EQUIPPED: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F); - - GL11.glScalef(0.5F, 0.5F, 0.5F); - - GL11.glTranslatef(0.2F, -0.8F, -1.0F); - - if(item.getItem() == ModItems.gun_uzi || item.getItem() == ModItems.gun_uzi_silencer) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUzi.png")); - if(item.getItem() == ModItems.gun_uzi_saturnite || item.getItem() == ModItems.gun_uzi_saturnite_silencer) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUziSaturnite.png")); - uzi.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - - if(item.getItem() == ModItems.gun_uzi || item.getItem() == ModItems.gun_uzi_saturnite) { - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUziBarrel.png")); - barrel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - } - - if(item.getItem() == ModItems.gun_uzi_silencer || item.getItem() == ModItems.gun_uzi_saturnite_silencer) { - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUziSilencer.png")); - silencer.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - } - - GL11.glPopMatrix(); - break; - case ENTITY: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); - - GL11.glScalef(0.5F, 0.5F, 0.5F); - - GL11.glTranslatef(0.0F, -1.0F, 0.0F); - - if(item.getItem() == ModItems.gun_uzi || item.getItem() == ModItems.gun_uzi_silencer) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUzi.png")); - if(item.getItem() == ModItems.gun_uzi_saturnite || item.getItem() == ModItems.gun_uzi_saturnite_silencer) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUziSaturnite.png")); - uzi.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - - if(item.getItem() == ModItems.gun_uzi || item.getItem() == ModItems.gun_uzi_saturnite) { - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUziBarrel.png")); - barrel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - } - - if(item.getItem() == ModItems.gun_uzi_silencer || item.getItem() == ModItems.gun_uzi_saturnite_silencer) { - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUziSilencer.png")); - silencer.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - } - - GL11.glPopMatrix(); - default: break; - } - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderUboinik.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderUboinik.java deleted file mode 100644 index 173716ef6..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderUboinik.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelUboinik; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderUboinik implements IItemRenderer { - - protected ModelUboinik swordModel; - - public ItemRenderUboinik() { - swordModel = new ModelUboinik(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUboinik.png")); - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - //GL11.glScalef(2.0F, 2.0F, 2.0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - //GL11.glTranslatef(-0.4F, -0.1F, 0.1F); - GL11.glTranslatef(-0.2F, -0.4F, -0.1F); - GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(5.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.2F, 0.0F, -0.2F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, item); - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUboinik.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.5F, -0.2F, 0.0F); - GL11.glScalef(0.75F, 0.75F, 0.75F); - GL11.glTranslatef(-1.4F, 0.0F, 0.0F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, item); - GL11.glPopMatrix(); - default: break; - } - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponAR15.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponAR15.java deleted file mode 100644 index 27e348b32..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponAR15.java +++ /dev/null @@ -1,123 +0,0 @@ -package com.hbm.render.item.weapon; - -import com.hbm.render.anim.HbmAnimations; -import net.minecraftforge.client.model.IModelCustom; -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponAR15 implements IItemRenderer { - - public ItemRenderWeaponAR15() { } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glShadeModel(GL11.GL_SMOOTH); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ar15_tex); - - IModelCustom model = ResourceManager.ar15; - - switch (type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 0.25D; - GL11.glRotated(25, 0, 0, 1); - GL11.glTranslated(1.25, 0, -0.25); - GL11.glRotated(-100, 0, 1, 0); - GL11.glScaled(s0, s0, s0); - - double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); - GL11.glRotated(recoil[0] * 2.5, 1, 0, 0); - GL11.glTranslated(0, 0, recoil[0]); - - - double[] tilt = HbmAnimations.getRelevantTransformation("TILT"); - GL11.glTranslated(0, tilt[0], 3); - GL11.glRotated(tilt[0] * -35, 0, 0, 1); - GL11.glTranslated(0, 0, -3); - - model.renderPart("main"); - - double[] mag = HbmAnimations.getRelevantTransformation("MAG"); - GL11.glPushMatrix(); - GL11.glTranslated(0, 0, 5); - GL11.glRotated(mag[0] * 60 * (mag[2] == 1 ? 2.5 : 1), -1, 0, 0); - GL11.glTranslated(0, 0, -5); - model.renderPart("mag"); - GL11.glPopMatrix(); - - break; - - case EQUIPPED: - - double scale = 0.25D; - GL11.glScaled(scale, scale, scale); - GL11.glRotatef(15F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-170, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-15F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(-2F, -0.9F, -0.75F); - - break; - - case ENTITY: - - double s1 = 0.2D; - GL11.glScaled(s1, s1, s1); - GL11.glTranslated(0, 1, 0); - GL11.glRotatef(90, 0, 1, 0); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 1.45D; - - GL11.glTranslated(6, 9, 0); - GL11.glRotated(90, 0, 1, 0); - GL11.glRotated(135, 1, 0, 0); - GL11.glScaled(s, s, -s); - - break; - - default: - break; - } - - if (type != ItemRenderType.EQUIPPED_FIRST_PERSON) { - model.renderAll(); - } - - GL11.glShadeModel(GL11.GL_FLAT); - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponBolter.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponBolter.java deleted file mode 100644 index 7683fa149..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponBolter.java +++ /dev/null @@ -1,154 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.ModItems; -import com.hbm.items.weapon.ItemGunBase; -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponBolter implements IItemRenderer { - - public ItemRenderWeaponBolter() { } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glShadeModel(GL11.GL_SMOOTH); - - if(item.getItem() == ModItems.gun_bolter) - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bolter_tex); - if(item.getItem() == ModItems.gun_bolter_digamma) - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bolter_digamma_tex); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 0.25D; - GL11.glRotated(25, 0, 0, 1); - GL11.glTranslated(1.25, -0.25, -0.25); - GL11.glRotated(-100, 0, 1, 0); - GL11.glScaled(s0, s0, s0); - - double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); - GL11.glRotated(recoil[0] * 5, 1, 0, 0); - GL11.glTranslated(0, 0, recoil[0]); - - double[] tilt = HbmAnimations.getRelevantTransformation("TILT"); - GL11.glTranslated(0, tilt[0], 3); - GL11.glRotated(tilt[0] * 35, 1, 0, 0); - GL11.glTranslated(0, 0, -3); - - ResourceManager.bolter.renderPart("Body"); - - double[] mag = HbmAnimations.getRelevantTransformation("MAG"); - GL11.glPushMatrix(); - GL11.glTranslated(0, 0, 5); - GL11.glRotated(mag[0] * 60 * (mag[2] == 1 ? 2.5 : 1), -1, 0, 0); - GL11.glTranslated(0, 0, -5); - ResourceManager.bolter.renderPart("Mag"); - if(mag[2] != 1) - ResourceManager.bolter.renderPart("Bullet"); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - double[] casing = HbmAnimations.getRelevantTransformation("EJECT"); - GL11.glTranslated(casing[2] * 5, casing[2] * 2, 0); - GL11.glRotated(casing[2] * 60, 1, 0, 0); - ResourceManager.bolter.renderPart("Casing"); - GL11.glPopMatrix(); - - break; - - case EQUIPPED: - - double scale = 0.25D; - GL11.glScaled(scale, scale, scale); - GL11.glRotatef(15F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-170, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-15F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(-2F, -0.9F, -0.75F); - - break; - - case ENTITY: - - double s1 = 0.2D; - GL11.glScaled(s1, s1, s1); - GL11.glTranslated(0, 1, 0); - GL11.glRotatef(90, 0, 1, 0); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 2.5D; - GL11.glTranslated(6, 10, 0); - GL11.glRotated(90, 0, 1, 0); - GL11.glRotated(135, 1, 0, 0); - GL11.glScaled(s, s, -s); - - break; - - default: break; - } - - if(type != ItemRenderType.EQUIPPED_FIRST_PERSON) { - ResourceManager.bolter.renderAll(); - } - - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPushMatrix(); - GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); - - FontRenderer font = Minecraft.getMinecraft().fontRenderer; - String s = ((ItemGunBase) item.getItem()).getMag(item) + ""; - float f3 = 0.04F; - GL11.glTranslatef(0.025F - (font.getStringWidth(s) / 2) * 0.04F, 2.11F, 2.91F); - GL11.glScalef(f3, -f3, f3); - GL11.glRotatef(45, 1, 0, 0); - GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3); - font.drawString(s, 0, 0, 0xff0000); - - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glPopAttrib(); - GL11.glPopMatrix(); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponChemthrower.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponChemthrower.java deleted file mode 100644 index 4996d353e..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponChemthrower.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.weapon.ItemGunChemthrower; -import com.hbm.main.ResourceManager; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponChemthrower implements IItemRenderer { - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - - GL11.glEnable(GL11.GL_CULL_FACE); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.chemthrower_tex); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 0.25D; - GL11.glRotated(25, 0, 0, 1); - GL11.glTranslated(1.0, 0.0, 0.0); - GL11.glRotated(170, 0, 1, 0); - GL11.glScaled(s0, s0, s0); - - break; - - case EQUIPPED: - - double scale = 0.25D; - GL11.glScaled(scale, scale, scale); - GL11.glRotated(100, 0, 1, 0); - GL11.glRotated(-10, 1, 0, 0); - GL11.glRotated(10, 0, 0, 1); - GL11.glTranslatef(-0.25F, -2.5F, 1.75F); - - break; - - case ENTITY: - - double s1 = 0.25D; - GL11.glScaled(s1, s1, s1); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 1.5D; - GL11.glTranslated(9, 9, 0); - GL11.glRotated(180, 1, 0, 0); - GL11.glRotated(45, 0, 0, -1); - GL11.glScaled(s, s, -s); - - break; - - default: break; - } - - ItemGunChemthrower chem = (ItemGunChemthrower) item.getItem(); - - GL11.glShadeModel(GL11.GL_SMOOTH); - - ResourceManager.chemthrower.renderPart("Gun"); - ResourceManager.chemthrower.renderPart("Hose"); - ResourceManager.chemthrower.renderPart("Nozzle"); - - GL11.glTranslated(0, 0.875, 1.75); - double d = (double) chem.getMag(item) / (double) chem.mainConfig.ammoCap; - GL11.glRotated(135 - d * 270, 1, 0, 0); - GL11.glTranslated(0, -0.875, -1.75); - - ResourceManager.chemthrower.renderPart("Gauge"); - - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCoilgun.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCoilgun.java deleted file mode 100644 index 4bca0361c..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCoilgun.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponCoilgun implements IItemRenderer { - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.coilgun_tex); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 0.25D; - GL11.glRotated(20, 0, 0, 1); - GL11.glTranslated(0.75, 0.3, -0.5); - GL11.glRotated(-10, 0, 1, 0); - GL11.glScaled(s0, s0, s0); - - double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); - GL11.glTranslated(-1.5 - recoil[0] * 0.5, 0, 0); - GL11.glRotated(recoil[0] * 45, 0, 0, 1); - GL11.glTranslated(1.5, 0, 0); - - double[] reload = HbmAnimations.getRelevantTransformation("RELOAD"); - GL11.glTranslated(-2.5, 0, 0); - GL11.glRotated(reload[0] * -45, 0, 0, 1); - GL11.glTranslated(2.5, 0, 0); - - break; - - case EQUIPPED: - - double scale = 0.25D; - GL11.glScaled(scale, scale, scale); - GL11.glRotatef(15F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-80, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-15F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(1.25F, 0.5F, -1.75F); - - break; - - case ENTITY: - - double s1 = 0.2D; - GL11.glScaled(s1, s1, s1); - - break; - - case INVENTORY: - - double s = 3.5D; - GL11.glTranslated(6, 8, 0); - GL11.glRotated(-135, 0, 0, 1); - GL11.glScaled(s, s, -s); - - break; - - default: break; - } - - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.coilgun.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCongo.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCongo.java deleted file mode 100644 index 07cac42d7..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCongo.java +++ /dev/null @@ -1,164 +0,0 @@ -package com.hbm.render.item.weapon; - -import java.awt.Color; - -import org.lwjgl.opengl.GL11; - -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.items.weapon.ItemGunBase; -import com.hbm.main.ResourceManager; -import com.hbm.particle.SpentCasing; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponCongo implements IItemRenderer { - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - - GL11.glShadeModel(GL11.GL_SMOOTH); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.congolake_tex); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 0.25D; - GL11.glRotated(20, 0, 0, 1); - GL11.glTranslated(0.5, 0.0, -0.5); - GL11.glRotated(-10, 0, 1, 0); - GL11.glRotated(90, 0, 1, 0); - GL11.glScaled(s0, s0, s0); - - HbmAnimations.applyRelevantTransformation("Gun"); - ResourceManager.congolake.renderPart("Gun"); - - - GL11.glPushMatrix(); - { - HbmAnimations.applyRelevantTransformation("Pump"); - ResourceManager.congolake.renderPart("Pump"); - } - GL11.glPopMatrix(); - - - GL11.glPushMatrix(); - { - HbmAnimations.applyRelevantTransformation("Sight"); - ResourceManager.congolake.renderPart("Sight"); - } - GL11.glPopMatrix(); - - - GL11.glPushMatrix(); - { - HbmAnimations.applyRelevantTransformation("Loop"); - ResourceManager.congolake.renderPart("Loop"); - } - GL11.glPopMatrix(); - - - GL11.glPushMatrix(); - { - HbmAnimations.applyRelevantTransformation("GuardOuter"); - ResourceManager.congolake.renderPart("GuardOuter"); - - GL11.glPushMatrix(); - { - HbmAnimations.applyRelevantTransformation("GuardInner"); - ResourceManager.congolake.renderPart("GuardInner"); - } - GL11.glPopMatrix(); - } - GL11.glPopMatrix(); - - - GL11.glPushMatrix(); - { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.casings_tex); - - HbmAnimations.applyRelevantTransformation("Shell"); - - ItemGunBase gun = (ItemGunBase)item.getItem(); - BulletConfiguration bullet = BulletConfigSyncingUtil.pullConfig(gun.mainConfig.config.get(ItemGunBase.getMagType(item))); - int[] colors = bullet.spentCasing != null ? bullet.spentCasing.getColors() : new int[] { SpentCasing.COLOR_CASE_40MM }; - - Color shellColor = new Color(colors[0]); - GL11.glColor3f(shellColor.getRed() / 255F, shellColor.getGreen() / 255F, shellColor.getBlue() / 255F); - ResourceManager.congolake.renderPart("Shell"); - - Color shellForeColor = new Color(colors.length > 1 ? colors[1] : colors[0]); - GL11.glColor3f(shellForeColor.getRed() / 255F, shellForeColor.getGreen() / 255F, shellForeColor.getBlue() / 255F); - ResourceManager.congolake.renderPart("ShellFore"); - - GL11.glColor3f(1F, 1F, 1F); - } - GL11.glPopMatrix(); - - break; - - case EQUIPPED: - - double scale = 0.35D; - GL11.glScaled(scale, scale, scale); - GL11.glRotatef(15F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(15F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(15, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(1.25F, -1F, 1.5F); - - break; - - case ENTITY: - - double s1 = 0.2D; - GL11.glScaled(s1, s1, s1); - - break; - - case INVENTORY: - - double s = 2D; - GL11.glTranslated(6, 9, 0); - GL11.glRotated(-135, 0, 0, 1); - GL11.glRotated(-90, 0, 1, 0); - GL11.glScaled(s, s, -s); - - break; - - default: break; - } - - if(type != ItemRenderType.EQUIPPED_FIRST_PERSON) { - ResourceManager.congolake.renderAll(); - } - - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCryoCannon.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCryoCannon.java deleted file mode 100644 index b368c30f5..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCryoCannon.java +++ /dev/null @@ -1,118 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.weapon.ItemCryoCannon; -import com.hbm.items.weapon.ItemGunBase; -import com.hbm.lib.RefStrings; -import com.hbm.main.ResourceManager; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponCryoCannon implements IItemRenderer { - - public static final ResourceLocation[] fill_tex = new ResourceLocation[15]; - public static final ResourceLocation[] pressure_tex = new ResourceLocation[12]; - public static final ResourceLocation[] turbine_tex = new ResourceLocation[9]; - - public ItemRenderWeaponCryoCannon() { - for(int i = 0; i < fill_tex.length; i++) fill_tex[i] = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/cryo_cannon/fill_" + i + ".png"); - for(int i = 0; i < pressure_tex.length; i++) pressure_tex[i] = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/cryo_cannon/pressure_" + i + ".png"); - for(int i = 0; i < turbine_tex.length; i++) turbine_tex[i] = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/cryo_cannon/turbine_" + i + ".png"); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glShadeModel(GL11.GL_SMOOTH); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.cryocannon_tex); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 0.25D; - GL11.glRotated(25, 0, 0, 1); - GL11.glTranslated(1, 0, -0.3); - GL11.glRotated(80, 0, 1, 0); - GL11.glScaled(s0, s0, s0); - - ItemGunBase gun = (ItemGunBase) item.getItem(); - - ResourceManager.cryocannon.renderPart("Gun"); - ResourceManager.cryocannon.renderPart("Rotor"); - Minecraft.getMinecraft().renderEngine.bindTexture(fill_tex[MathHelper.clamp_int(ItemGunBase.getMag(item) * fill_tex.length / gun.mainConfig.ammoCap, 0, fill_tex.length - 1)]); - ResourceManager.cryocannon.renderPart("Fuel"); - Minecraft.getMinecraft().renderEngine.bindTexture(turbine_tex[MathHelper.clamp_int(turbine_tex.length - 1 - ItemCryoCannon.getTurbine(item) * turbine_tex.length / 100, 0, turbine_tex.length - 1)]); - ResourceManager.cryocannon.renderPart("Spin"); - Minecraft.getMinecraft().renderEngine.bindTexture(pressure_tex[MathHelper.clamp_int(ItemCryoCannon.getPressure(item) * pressure_tex.length / 1000, 0, pressure_tex.length - 1)]); - ResourceManager.cryocannon.renderPart("Pressure"); - - break; - - case EQUIPPED: - - double scale = 0.5D; - GL11.glScaled(scale, scale, scale); - GL11.glRotatef(15F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(10F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(15F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.75F, -2.5F, 3.5F); - - break; - - case ENTITY: - - double s1 = 0.25D; - GL11.glScaled(s1, s1, s1); - GL11.glTranslated(0, 0, 3); - - break; - - case INVENTORY: - - double s = 2.5D; - GL11.glTranslated(1, 6, 0); - GL11.glRotated(-135, 0, 0, 1); - GL11.glRotated(-90, 0, 1, 0); - GL11.glScaled(s, s, -s); - - break; - - default: break; - } - - if(type != ItemRenderType.EQUIPPED_FIRST_PERSON) ResourceManager.cryocannon.renderAll(); - - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFBolt.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFBolt.java deleted file mode 100644 index d1c7b88aa..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFBolt.java +++ /dev/null @@ -1,146 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.ModItems; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.model.IModelCustom; - -public class ItemRenderWeaponFFBolt implements IItemRenderer { - - ResourceLocation texture; - IModelCustom model; - - public ItemRenderWeaponFFBolt(IModelCustom model, ResourceLocation texture) { - this.model = model; - this.texture = texture; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glShadeModel(GL11.GL_SMOOTH); - boolean renderBolt = true; - Minecraft.getMinecraft().renderEngine.bindTexture(texture); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - if(item.getItem() == ModItems.gun_bolt_action_saturnite && Minecraft.getMinecraft().thePlayer.isSneaking()) { - GL11.glPopMatrix(); - return; - } - - double s0 = 0.5D; - GL11.glTranslated(0.5, 0.25, -0.2); - GL11.glScaled(s0, s0, s0); - GL11.glRotated(15, 0, 0, 1); - GL11.glRotated(20, 0, -1, 0); - - double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); - GL11.glTranslated(recoil[0] * -0.5, 0, 0); - - double[] pull = HbmAnimations.getRelevantTransformation("LEVER_PULL"); - double[] rotate = HbmAnimations.getRelevantTransformation("LEVER_ROTATE"); - - GL11.glPushMatrix(); - GL11.glTranslated(pull[0], 0, 0); - double heightOffset = 0.52D; - GL11.glTranslated(0, heightOffset, 0); - GL11.glRotated(rotate[0] * 35, -1, 0, 0); - GL11.glTranslated(0, -heightOffset, 0); - model.renderPart("Bolt"); - GL11.glPopMatrix(); - - renderBolt = false; - - /*if(item.getItem() == ModItems.gun_bolt_action_saturnite) { - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_LIGHTING); - - Tessellator tessellator = Tessellator.instance; - int color = 0x00FF00; - - tessellator.startDrawing(3); - tessellator.setColorOpaque_I(color); - tessellator.addVertex(5, 0, 0); - tessellator.addVertex(150, 0, 0); - tessellator.draw(); - - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glPopMatrix(); - }*/ - - break; - - case EQUIPPED: - - double scale = 0.25D; - GL11.glRotated(-75, 0, 1, 0); - GL11.glRotated(-10, 0, 0, 1); - GL11.glRotated(10, 1, 0, 0); - GL11.glTranslated(0.3, 0.15, -0.5); - GL11.glScaled(scale, scale, scale); - - break; - - case ENTITY: - - double s1 = 0.25D; - GL11.glScaled(s1, s1, s1); - GL11.glRotated(90, 0, 1, 0); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 1.5D; - GL11.glTranslated(10, 11, 0); - GL11.glRotated(-135, 0, 0, 1); - GL11.glScaled(s, s, -s); - - break; - - default: break; - } - - model.renderPart("Gun"); - if(renderBolt) - model.renderPart("Bolt"); - - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFColt.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFColt.java deleted file mode 100644 index 9e02394a5..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFColt.java +++ /dev/null @@ -1,124 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponFFColt implements IItemRenderer { - - ResourceLocation main; - ResourceLocation hammer; - ResourceLocation grip; - - public ItemRenderWeaponFFColt(ResourceLocation main, ResourceLocation hammer, ResourceLocation grip) { - this.main = main; - this.hammer = hammer; - this.grip = grip; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - - GL11.glEnable(GL11.GL_CULL_FACE); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 1.5D; - GL11.glTranslated(0.75, 0.5, 0); - GL11.glScaled(s0, s0, s0); - GL11.glRotated(100, 0, -1, 0); - GL11.glRotated(25, 1, 0, 0); - - HbmAnimations.applyRelevantTransformation("Body"); - Minecraft.getMinecraft().renderEngine.bindTexture(main); - ResourceManager.ff_python.renderPart("Body"); - - GL11.glPushMatrix(); - HbmAnimations.applyRelevantTransformation("Cylinder"); - ResourceManager.ff_python.renderPart("Cylinder"); - GL11.glPopMatrix(); - - Minecraft.getMinecraft().renderEngine.bindTexture(grip); - ResourceManager.ff_python.renderPart("Grip"); - - HbmAnimations.applyRelevantTransformation("Hammer"); - Minecraft.getMinecraft().renderEngine.bindTexture(hammer); - ResourceManager.ff_python.renderPart("Hammer"); - - GL11.glPopMatrix(); - - return; - - case EQUIPPED: - - double scale = 1.5D; - GL11.glRotated(195, 0, 1, 0); - GL11.glRotated(-10, 0, 0, 1); - GL11.glRotated(-10, 1, 0, 0); - GL11.glTranslated(-0.5, 0.1, -0.25); - GL11.glScaled(scale, scale, scale); - - break; - - case ENTITY: - - double s1 = 1D; - GL11.glScaled(s1, s1, s1); - GL11.glRotated(90, 0, 1, 0); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 17D; - GL11.glTranslated(8, 8, 0); - GL11.glRotated(-135, 0, 0, 1); - GL11.glRotated(90, 0, 1, 0); - GL11.glScaled(s, s, -s); - - break; - - default: break; - } - - Minecraft.getMinecraft().renderEngine.bindTexture(main); - ResourceManager.ff_python.renderPart("Body"); - ResourceManager.ff_python.renderPart("Cylinder"); - Minecraft.getMinecraft().renderEngine.bindTexture(grip); - ResourceManager.ff_python.renderPart("Grip"); - Minecraft.getMinecraft().renderEngine.bindTexture(hammer); - ResourceManager.ff_python.renderPart("Hammer"); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFCursed.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFCursed.java deleted file mode 100644 index a53e3147b..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFCursed.java +++ /dev/null @@ -1,114 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponFFCursed implements IItemRenderer { - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - - GL11.glEnable(GL11.GL_CULL_FACE); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 1.5D; - GL11.glTranslated(0.75, 0.5, 0); - GL11.glScaled(s0, s0, s0); - GL11.glRotated(100, 0, -1, 0); - GL11.glRotated(20, 1, 0, 0); - - GL11.glShadeModel(GL11.GL_SMOOTH); - - HbmAnimations.applyRelevantTransformation("Body"); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ff_cursed); - ResourceManager.cursed_revolver.renderPart("Body"); - ResourceManager.cursed_revolver.renderPart("Barrel"); - ResourceManager.cursed_revolver.renderPart("Grip"); - - GL11.glPushMatrix(); - HbmAnimations.applyRelevantTransformation("Slide"); - ResourceManager.cursed_revolver.renderPart("Slide"); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - HbmAnimations.applyRelevantTransformation("Magazine"); - ResourceManager.cursed_revolver.renderPart("Magazine"); - GL11.glPopMatrix(); - - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - - return; - - case EQUIPPED: - - double scale = 1.5D; - GL11.glRotated(195, 0, 1, 0); - GL11.glRotated(-10, 0, 0, 1); - GL11.glRotated(-10, 1, 0, 0); - GL11.glTranslated(-0.5, 0.1, -0.25); - GL11.glScaled(scale, scale, scale); - - break; - - case ENTITY: - - double s1 = 1D; - GL11.glScaled(s1, s1, s1); - GL11.glRotated(90, 0, 1, 0); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 17D; - GL11.glTranslated(10, 11.5, 0); - GL11.glRotated(-135, 0, 0, 1); - GL11.glRotated(90, 0, 1, 0); - GL11.glScaled(s, s, -s); - - break; - - default: break; - } - - GL11.glShadeModel(GL11.GL_SMOOTH); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ff_cursed); - ResourceManager.cursed_revolver.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFMG42.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFMG42.java deleted file mode 100644 index 880faa2b5..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFMG42.java +++ /dev/null @@ -1,112 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponFFMG42 implements IItemRenderer { - - public ItemRenderWeaponFFMG42() { } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glShadeModel(GL11.GL_SMOOTH); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.mg42_tex); - boolean renderMag = true; - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 0.65D; - GL11.glRotated(170, 0, 1, 0); - GL11.glRotated(-25, 0, 0, 1); - GL11.glTranslated(-0.125, 0, 0); - GL11.glScaled(s0, s0, s0); - - double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); - GL11.glTranslated(recoil[0] * 0.25, 0, 0); - - double[] reload = HbmAnimations.getRelevantTransformation("MAG"); - GL11.glRotated(reload[1] * 15, 1, 0, 0); - - GL11.glPushMatrix(); - - GL11.glRotated(reload[1] * -45, 1, 0, 0); - GL11.glTranslated(0, reload[1] * 0.25, -reload[1]); - ResourceManager.mg42.renderPart("Mag"); - GL11.glPopMatrix(); - - renderMag = false; - - break; - - case EQUIPPED: - - double scale = 0.35D; - GL11.glScaled(scale, scale, scale); - GL11.glRotated(100, 0, 1, 0); - GL11.glRotated(-10, 1, 0, 0); - GL11.glRotated(10, 0, 0, 1); - GL11.glTranslated(-0.5, 0.75, 1.25); - - break; - - case ENTITY: - - double s1 = 0.3D; - GL11.glScaled(s1, s1, s1); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 1.75D; - GL11.glTranslated(10, 9.5, 0); - GL11.glRotated(180, 1, 0, 0); - GL11.glRotated(-45, 0, 0, 1); - GL11.glScaled(s, s, -s); - - break; - - default: break; - } - - ResourceManager.mg42.renderPart("Gun"); - if(renderMag) ResourceManager.mg42.renderPart("Mag"); - - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFMaresLeg.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFMaresLeg.java deleted file mode 100644 index f63f1d68e..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFMaresLeg.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponFFMaresLeg implements IItemRenderer { - - ResourceLocation main; - ResourceLocation grip; - - public ItemRenderWeaponFFMaresLeg(ResourceLocation main, ResourceLocation grip) { - this.main = main; - this.grip = grip; - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - - GL11.glEnable(GL11.GL_CULL_FACE); - - EntityPlayer player = Minecraft.getMinecraft().thePlayer; - - double lever = 0; - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 1.25D; - GL11.glTranslated(0.75, 0.5, 0); - GL11.glScaled(s0, s0, s0); - - if(!player.isSneaking()) { - GL11.glRotated(100, 0, -1, 0); - GL11.glRotated(-5, 0, 1, 0); - GL11.glRotated(20, 1, 0, 0); - } else { - GL11.glRotated(97.5, 0, -1, 0); - GL11.glTranslated(-0.71, 0.375, 0); - GL11.glRotated(25, 1, 0, 0); - GL11.glRotated(1, 0, 1, 0); - GL11.glRotated(-3, 0, 0, 1); - GL11.glRotated(0.2, 0, 1, 0); - GL11.glTranslated(-0.006, -0.005, 0.4); - } - - double[] recoil = HbmAnimations.getRelevantTransformation("LEVER_RECOIL"); - GL11.glTranslated(0, 0, recoil[0] * 0.5); - - double[] rotation = HbmAnimations.getRelevantTransformation("LEVER_ROTATE"); - lever = rotation[2]; - GL11.glTranslated(0, 0, 0.5); - GL11.glRotated(Math.min(lever, 30), 1, 0, 0); - GL11.glTranslated(0, 0, -0.5); - - break; - - case EQUIPPED: - - double scale = 1.25D; - GL11.glRotated(195, 0, 1, 0); - GL11.glRotated(-10, 0, 0, 1); - GL11.glRotated(-10, 1, 0, 0); - GL11.glTranslated(-0.45, 0.1, -0.5); - GL11.glScaled(scale, scale, scale); - - break; - - case ENTITY: - - double s1 = 1D; - GL11.glScaled(s1, s1, s1); - GL11.glRotated(90, 0, 1, 0); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 9D; - GL11.glTranslated(8, 9, 0); - GL11.glRotated(-135, 0, 0, 1); - GL11.glRotated(90, 0, 1, 0); - GL11.glScaled(s, s, -s); - - break; - - default: break; - } - - Minecraft.getMinecraft().renderEngine.bindTexture(grip); - ResourceManager.ff_maresleg.renderPart("Grip"); - Minecraft.getMinecraft().renderEngine.bindTexture(main); - ResourceManager.ff_maresleg.renderPart("Gun"); - GL11.glTranslated(0, 0.1, 0.25); - GL11.glRotated(lever * 1.5, 1, 0, 0); - GL11.glTranslated(0, -0.1, -0.25); - ResourceManager.ff_maresleg.renderPart("Lever"); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFNightmare.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFNightmare.java deleted file mode 100644 index 6a7b3f37c..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFNightmare.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.weapon.ItemGunBase; -import com.hbm.main.ResourceManager; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponFFNightmare implements IItemRenderer { - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - - GL11.glEnable(GL11.GL_CULL_FACE); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 0.2D; - GL11.glTranslated(0.75, 0.55, 0); - GL11.glScaled(s0, s0, s0); - GL11.glRotated(100, 0, -1, 0); - GL11.glRotated(25, 1, 0, 0); - - break; - - case EQUIPPED: - - double scale = 0.2D; - GL11.glRotated(195, 0, 1, 0); - GL11.glRotated(-10, 0, 0, 1); - GL11.glRotated(-10, 1, 0, 0); - GL11.glTranslated(-0.5, 0.3, -0.25); - GL11.glScaled(scale, scale, scale); - - break; - - case ENTITY: - - double s1 = 0.15D; - GL11.glScaled(s1, s1, s1); - GL11.glRotated(90, 0, 1, 0); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 1.75D; - GL11.glTranslated(10, 9, 0); - GL11.glRotated(-135, 0, 0, 1); - GL11.glRotated(90, 0, 1, 0); - GL11.glScaled(s, s, -s); - - break; - - default: break; - } - - GL11.glShadeModel(GL11.GL_SMOOTH); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ff_nightmare_orig_tex); - ResourceManager.ff_nightmare.renderPart("Gun"); - - int ammo = ItemGunBase.getMag(item); - for(int i = 0; i < ammo; i++) { - ResourceManager.ff_nightmare.renderPart("Bullet" + (i + 1)); - } - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFNightmareDark.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFNightmareDark.java deleted file mode 100644 index 52f7d4226..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFNightmareDark.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponFFNightmareDark implements IItemRenderer { - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glShadeModel(GL11.GL_SMOOTH); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 0.4D; - GL11.glTranslated(0.75, 0.45, 0); - GL11.glScaled(s0, s0, s0); - GL11.glRotated(170, 0, 1, 0); - GL11.glRotated(25, 0, 0, -1); - - break; - - case EQUIPPED: - - double scale = 0.4D; - GL11.glRotated(105, 0, 1, 0); - GL11.glRotated(-10, 1, 0, 0); - GL11.glRotated(10, 0, 0, 1); - GL11.glTranslated(-0.125, 0.1, 0.5); - GL11.glScaled(scale, scale, scale); - - break; - - case ENTITY: - - double s1 = 0.25D; - GL11.glScaled(s1, s1, s1); - GL11.glRotated(90, 0, 1, 0); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 3D; - GL11.glTranslated(10, 9, 0); - GL11.glRotated(-135, 0, 0, 1); - GL11.glRotated(180, 0, 1, 0); - GL11.glScaled(s, s, -s); - - break; - - default: break; - } - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ff_nightmare_tex); - ResourceManager.nightmare_dark.renderAll(); - - GL11.glShadeModel(GL11.GL_FLAT); - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponGlass.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponGlass.java deleted file mode 100644 index aa8e186e4..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponGlass.java +++ /dev/null @@ -1,178 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.handler.BulletConfiguration; -import com.hbm.items.weapon.gununified.ItemEnergyGunBase; -import com.hbm.main.ResourceManager; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponGlass implements IItemRenderer { - - public ItemRenderWeaponGlass() { } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_CULL_FACE); - - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 0.5D; - GL11.glRotated(25, 0, 0, 1); - GL11.glTranslated(2.25, 0.0, 0.125); - GL11.glRotatef(-10, 0, 1, 0); - GL11.glScaled(s0, s0, s0); - - break; - - case EQUIPPED: - - double scale = 0.25D; - GL11.glScaled(-scale, scale, scale); - GL11.glRotatef(20F, -3.0F, -0.75F, -1.0F); - GL11.glRotatef(-170, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30F, 2.0F, -1F, -5.0F); - GL11.glTranslatef(5F, -0.35F, 0.25F); - - break; - - case ENTITY: - - double s1 = 0.5D; - GL11.glScaled(s1, s1, s1); - - break; - - case INVENTORY: - - double s = 1.65D; - GL11.glTranslatef(8F, 8F, 0F); - GL11.glRotated(90, 0, 0, 1); - GL11.glRotated(135, 0, 0, 1); - GL11.glScaled(s, s, s); - - break; - - default: break; - } - - GL11.glShadeModel(GL11.GL_SMOOTH); - - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_TEXTURE_2D); - - GL11.glEnable(GL11.GL_BLEND); - GL11.glAlphaFunc(GL11.GL_GREATER, 0); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - GL11.glColor4f(0.9F, 1.0F, 1.0F, 0.5F); - GL11.glDepthMask(false); - - ResourceManager.glass_cannon.renderPart("Gun"); - - GL11.glDepthMask(true); - GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - - GL11.glShadeModel(GL11.GL_FLAT); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.glass_cannon_panel_tex); - ResourceManager.glass_cannon.renderPart("Panel"); - - GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_TEXTURE_2D); - - int color = 0xFFFFFF; - double freq = 1; - - if(item.getItem() instanceof ItemEnergyGunBase) { - BulletConfiguration config = ((ItemEnergyGunBase)item.getItem()).getConfig(item); - String name = config.modeName; - switch(name) { - case "weapon.elecGun.glass_cannon.radio": color = 0xaa2200; freq = 0.5; break; - case "weapon.elecGun.glass_cannon.micro": color = 0xdc221f; freq = 1; break; - case "weapon.elecGun.glass_cannon.ir": color = 0xfc3d3a; freq = 1.5; break; - case "weapon.elecGun.glass_cannon.visible": color = 0x8fe325; freq = 2; break; - case "weapon.elecGun.glass_cannon.uv": color = 0x37d5f3; freq = 2.5; break; - case "weapon.elecGun.glass_cannon.xray": color = 0x2542fd; freq = 3; break; - case "weapon.elecGun.glass_cannon.gamma": color = 0xdc20f3; freq = 3.5; break; - } - } - - float px = 0.0625F; - GL11.glTranslatef(-2F, px * 18, -px * 14); - GL11.glRotatef(90, 0, 1, 0); - GL11.glTranslatef(-0.7F, -0.86F, -0.33F); - - Tessellator tess = Tessellator.instance; - tess.startDrawing(GL11.GL_QUADS); - - int sub = 32; - double width = px * 21.25; - double len = width / sub; - double time = System.currentTimeMillis() / -100D; - double amplitude = 0.075; - - tess.setColorOpaque_I(color); - - for(int i = 0; i < sub; i++) { - double h0 = Math.sin(freq * i * 0.5 + time) * amplitude; - double h1 = Math.sin(freq * (i + 1) * 0.5 + time) * amplitude; - tess.addVertex(0, -px * 0.25 + h1, len * (i + 1)); - tess.addVertex(0, px * 0.25 + h1, len * (i + 1)); - tess.addVertex(0, px * 0.25 + h0, len * i); - tess.addVertex(0, -px * 0.25 + h0, len * i); - } - tess.setColorOpaque_F(1F, 1F, 1F); - - tess.draw(); - - GL11.glEnable(GL11.GL_TEXTURE_2D); - - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glPopAttrib(); - - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - - } - -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponKS23.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponKS23.java deleted file mode 100644 index 4160ee3f9..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponKS23.java +++ /dev/null @@ -1,149 +0,0 @@ -package com.hbm.render.item.weapon; - -import java.awt.Color; - -import org.lwjgl.opengl.GL11; - -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.items.weapon.ItemGunBase; -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponKS23 implements IItemRenderer { - - public ItemRenderWeaponKS23() { } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_CULL_FACE); - - EntityPlayer player = Minecraft.getMinecraft().thePlayer; - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ks23_tex); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - GL11.glTranslatef(1.0F, 0.5F, -0.25F); - GL11.glRotatef(25F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-100, 0.0F, 1.0F, 0.0F); - GL11.glScaled(0.75, 0.75, 0.75); - - if(player.isSneaking()) { - GL11.glRotatef(4.5F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-2F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.9F, 0.2F, 0.325F); - } - - HbmAnimations.applyRelevantTransformation("Body"); - - GL11.glShadeModel(GL11.GL_SMOOTH); - - ResourceManager.ks23.renderPart("Body"); - ResourceManager.ks23.renderPart("Trigger"); - - GL11.glPushMatrix(); - HbmAnimations.applyRelevantTransformation("Bolt"); - ResourceManager.ks23.renderPart("Bolt"); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - HbmAnimations.applyRelevantTransformation("Guard"); - ResourceManager.ks23.renderPart("Guard"); - GL11.glPopMatrix(); - - - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.casings_tex); - - HbmAnimations.applyRelevantTransformation("Shell"); - - ItemGunBase gun = (ItemGunBase)item.getItem(); - BulletConfiguration bullet = BulletConfigSyncingUtil.pullConfig(gun.mainConfig.config.get(ItemGunBase.getMagType(item))); - int[] colors = bullet.spentCasing.getColors(); - - Color shellColor = new Color(colors[1]); - GL11.glColor3f(shellColor.getRed() / 255F, shellColor.getGreen() / 255F, shellColor.getBlue() / 255F); - ResourceManager.ks23.renderPart("Shell"); - - Color shellForeColor = new Color(colors[0]); - GL11.glColor3f(shellForeColor.getRed() / 255F, shellForeColor.getGreen() / 255F, shellForeColor.getBlue() / 255F); - ResourceManager.ks23.renderPart("ShellFore"); - - GL11.glColor3f(1F, 1F, 1F); - GL11.glPopMatrix(); - - - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glPopMatrix(); - - return; - - case EQUIPPED: - - GL11.glRotatef(20F, 1.0F, 0.0F, 1.0F); - GL11.glRotatef(-170F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.9F); - GL11.glScaled(0.5, 0.5, 0.5); - - break; - - case ENTITY: - - GL11.glTranslatef(0.3F, 0.2F, 0.0F); - GL11.glScaled(0.5, 0.5, 0.5); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - GL11.glTranslatef(7F, 8F, 0.0F); - GL11.glScaled(4, 4, -4); - GL11.glRotatef(-90, 0, 1, 0); - GL11.glRotatef(-135F, 1.0F, 0.0F, 0.0F); - - break; - - default: break; - } - - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.ks23.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glPopMatrix(); - } - -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponLilMac.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponLilMac.java deleted file mode 100644 index 9417e7d8a..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponLilMac.java +++ /dev/null @@ -1,256 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.ModItems; -import com.hbm.items.weapon.ItemGunPip; -import com.hbm.lib.RefStrings; -import com.hbm.main.MainRegistry; -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponLilMac implements IItemRenderer { - - public static final ResourceLocation lilmac_plume = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lilmac_plume.png"); - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - //prevent rendering when using scope - if(item.getItem() == ModItems.gun_revolver_pip && type == ItemRenderType.EQUIPPED_FIRST_PERSON && MainRegistry.proxy.me().isSneaking()) return; - - GL11.glPushMatrix(); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 0.1D; - GL11.glRotated(25, 0, 0, 1); - GL11.glTranslated(1.0, 0.25, -0.25); - GL11.glRotated(170, 0, 1, 0); - GL11.glScaled(s0, s0, s0); - double width = 0.5D; - - double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); - double[] reloadLift = HbmAnimations.getRelevantTransformation("RELOAD_LIFT"); - double[] reloadJolt = HbmAnimations.getRelevantTransformation("RELOAD_JOLT"); - double[] equipSpin = HbmAnimations.getRelevantTransformation("ROTATE"); - GL11.glTranslated(2, 0, 0); - GL11.glRotated(equipSpin[0], 0, 0, 1); - GL11.glTranslated(-2, 0, 0); - - GL11.glShadeModel(GL11.GL_SMOOTH); - - GL11.glPushMatrix(); - Tessellator tess = Tessellator.instance; - - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_BLEND); - - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glAlphaFunc(GL11.GL_GREATER, 0F); - GL11.glTranslated(-10, 2.25, 0); - GL11.glTranslated(-recoil[2] * 3.5, -recoil[2] * 1.375, 0); - - if(ItemGunPip.smokeNodes.size() > 1 && equipSpin[0] == 0) { - - tess.startDrawingQuads(); - tess.setNormal(0F, 1F, 0F); - - for(int i = 0; i < ItemGunPip.smokeNodes.size() - 1; i++) { - double[] node = ItemGunPip.smokeNodes.get(i); - double[] past = ItemGunPip.smokeNodes.get(i + 1); - - tess.setColorRGBA_F(1F, 1F, 1F, (float) node[3]); - tess.addVertex(node[0], node[1], node[2]); - tess.setColorRGBA_F(1F, 1F, 1F, 0F); - tess.addVertex(node[0], node[1], node[2] + width); - tess.setColorRGBA_F(1F, 1F, 1F, 0F); - tess.addVertex(past[0], past[1], past[2] + width); - tess.setColorRGBA_F(1F, 1F, 1F, (float) past[3]); - tess.addVertex(past[0], past[1], past[2]); - - tess.setColorRGBA_F(1F, 1F, 1F, (float) node[3]); - tess.addVertex(node[0], node[1], node[2]); - tess.setColorRGBA_F(1F, 1F, 1F, 0F); - tess.addVertex(node[0], node[1], node[2] - width); - tess.setColorRGBA_F(1F, 1F, 1F, 0F); - tess.addVertex(past[0], past[1], past[2] - width); - tess.setColorRGBA_F(1F, 1F, 1F, (float) past[3]); - tess.addVertex(past[0], past[1], past[2]); - } - GL11.glDepthMask(false); - tess.draw(); - GL11.glDepthMask(true); - } - - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_BLEND); - GL11.glAlphaFunc(GL11.GL_GEQUAL, 0.1F); - GL11.glEnable(GL11.GL_CULL_FACE); - - GL11.glPopMatrix(); - - GL11.glTranslated(0, reloadLift[0] / -22D, 0); - - GL11.glTranslated(recoil[0], recoil[1], recoil[2]); - GL11.glRotated(recoil[2] * 10, 0, 0, 1); - GL11.glRotated(reloadLift[0], 0, 0, 1); - GL11.glTranslated(reloadJolt[0], 0, 0); - - double[] reloadTilt = HbmAnimations.getRelevantTransformation("RELAOD_TILT"); - GL11.glRotated(reloadTilt[0], 1, 0, 0); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.lilmac_scope_tex); - ResourceManager.lilmac.renderPart("Scope"); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.lilmac_tex); - ResourceManager.lilmac.renderPart("Gun"); - - double[] cylinderFlip = HbmAnimations.getRelevantTransformation("RELOAD_CYLINDER"); - GL11.glPushMatrix(); /// DRUM PUSH /// - GL11.glRotated(cylinderFlip[0], 1, 0, 0); - ResourceManager.lilmac.renderPart("Pivot"); - GL11.glTranslated(0, 1.75, 0); - GL11.glRotated(HbmAnimations.getRelevantTransformation("DRUM")[2] * -60, 1, 0, 0); - GL11.glTranslated(0, -1.75, 0); - ResourceManager.lilmac.renderPart("Cylinder"); - double[] reloadBullets = HbmAnimations.getRelevantTransformation("RELOAD_BULLETS"); - GL11.glTranslated(reloadBullets[0], reloadBullets[1], reloadBullets[2]); - if(HbmAnimations.getRelevantTransformation("RELOAD_BULLETS_CON")[0] != 1) - ResourceManager.lilmac.renderPart("Bullets"); - ResourceManager.lilmac.renderPart("Casings"); - GL11.glPopMatrix(); /// DRUM POP /// - - GL11.glPushMatrix(); /// HAMMER /// - GL11.glTranslated(4, 1.25, 0); - GL11.glRotated(-30 + 30 * HbmAnimations.getRelevantTransformation("HAMMER")[2], 0, 0, 1); - GL11.glTranslated(-4, -1.25, 0); - ResourceManager.lilmac.renderPart("Hammer"); - GL11.glPopMatrix(); - - GL11.glShadeModel(GL11.GL_FLAT); - - int flash = 75; - if(System.currentTimeMillis() - ItemGunPip.lastShot < flash) { - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); - GL11.glPushMatrix(); - GL11.glTranslated(0.125, 2.25, 0); - - double fire = (System.currentTimeMillis() - ItemGunPip.lastShot) / (double) flash; - - double height = 4 * fire; - double length = 15 * fire; - double lift = 3 * fire; - double offset = 1 * fire; - double lengthOffset = 0.125; - Minecraft.getMinecraft().renderEngine.bindTexture(lilmac_plume); - tess.startDrawingQuads(); - tess.setNormal(0F, 1F, 0F); - tess.setColorRGBA_F(1F, 1F, 1F, 1F); - - tess.addVertexWithUV(0, -height, -offset, 1, 1); - tess.addVertexWithUV(0, height, -offset, 0, 1); - tess.addVertexWithUV(0, height + lift, length - offset, 0 ,0); - tess.addVertexWithUV(0, -height + lift, length - offset, 1, 0); - - tess.addVertexWithUV(0, height, offset, 0, 1); - tess.addVertexWithUV(0, -height, offset, 1, 1); - tess.addVertexWithUV(0, -height + lift, -length + offset, 1, 0); - tess.addVertexWithUV(0, height + lift, -length + offset, 0 ,0); - - tess.addVertexWithUV(0, -height, -offset, 1, 1); - tess.addVertexWithUV(0, height, -offset, 0, 1); - tess.addVertexWithUV(lengthOffset, height, length - offset, 0 ,0); - tess.addVertexWithUV(lengthOffset, -height, length - offset, 1, 0); - - tess.addVertexWithUV(0, height, offset, 0, 1); - tess.addVertexWithUV(0, -height, offset, 1, 1); - tess.addVertexWithUV(lengthOffset, -height, -length + offset, 1, 0); - tess.addVertexWithUV(lengthOffset, height, -length + offset, 0 ,0); - - tess.draw(); - GL11.glPopMatrix(); - GL11.glDisable(GL11.GL_BLEND); - } - - break; - - case EQUIPPED: - - double scale = 0.1D; - GL11.glScaled(scale, scale, scale); - GL11.glRotatef(15F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(100, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(15F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-3F, 1F, 4F); - - break; - - case ENTITY: - - double s1 = 0.075D; - GL11.glScaled(s1, s1, s1); - GL11.glTranslatef(0F, 1F, 0F); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glAlphaFunc(GL11.GL_GREATER, 0F); - GL11.glEnable(GL11.GL_ALPHA_TEST); - - double s = 0.8D; - GL11.glTranslated(8, 8, 0); - GL11.glRotated(180, 0, 1, 0); - GL11.glRotated(135, 0, 0, 1); - GL11.glScaled(s, s, -s); - - break; - - default: break; - } - - if(type != ItemRenderType.EQUIPPED_FIRST_PERSON) { - GL11.glShadeModel(GL11.GL_SMOOTH); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.lilmac_scope_tex); - ResourceManager.lilmac.renderPart("Scope"); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.lilmac_tex); - ResourceManager.lilmac.renderPart("Gun"); - ResourceManager.lilmac.renderPart("Cylinder"); - ResourceManager.lilmac.renderPart("Bullets"); - ResourceManager.lilmac.renderPart("Casings"); - ResourceManager.lilmac.renderPart("Pivot"); - ResourceManager.lilmac.renderPart("Hammer"); - GL11.glShadeModel(GL11.GL_FLAT); - } - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponNovac.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponNovac.java deleted file mode 100644 index eb3fdf4d6..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponNovac.java +++ /dev/null @@ -1,141 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.ModItems; -import com.hbm.main.MainRegistry; -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponNovac implements IItemRenderer { - - public ItemRenderWeaponNovac() { } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - //prevent rendering when using scope - if(item.getItem() == ModItems.gun_revolver_pip && type == ItemRenderType.EQUIPPED_FIRST_PERSON && MainRegistry.proxy.me().isSneaking()) return; - - GL11.glPushMatrix(); - - GL11.glEnable(GL11.GL_CULL_FACE); - - if(item.getItem() == ModItems.gun_revolver_nopip) Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.novac_tex); - if(item.getItem() == ModItems.gun_revolver_pip) Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.lil_pip_tex); - if(item.getItem() == ModItems.gun_revolver_blackjack) Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.blackjack_tex); - if(item.getItem() == ModItems.gun_revolver_silver) Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.lent_gun_tex); - if(item.getItem() == ModItems.gun_revolver_red) Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.red_key_tex); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 0.4D; - GL11.glRotated(25, 0, 0, 1); - GL11.glRotated(80, 0, 1, 0); - GL11.glRotatef(180, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.0F, 0.0F, -1.25F); - GL11.glScaled(s0, s0, s0); - - GL11.glShadeModel(GL11.GL_SMOOTH); - - HbmAnimations.applyRelevantTransformation("Body"); - ResourceManager.novac.renderPart("Body"); - - GL11.glPushMatrix(); - HbmAnimations.applyRelevantTransformation("Cylinder"); - ResourceManager.novac.renderPart("Cylinder"); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - HbmAnimations.applyRelevantTransformation("Hammer"); - ResourceManager.novac.renderPart("Hammer"); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - HbmAnimations.applyRelevantTransformation("Trigger"); - ResourceManager.novac.renderPart("Trigger"); - GL11.glPopMatrix(); - - if (item.getItem() == ModItems.gun_revolver_pip) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.novac_scope_tex); - ResourceManager.novac.renderPart("Scope"); - } - - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - - return; - - case EQUIPPED: - - double scale = 0.35D; - GL11.glScaled(scale, scale, scale); - GL11.glRotatef(20F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-5, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(10, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(15F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(180, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-1.25F, 0.25F, -1F); - - break; - - case ENTITY: - - double s1 = 0.3D; - GL11.glScaled(s1, s1, s1); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 3D; - GL11.glTranslated(7, 8, 0); - GL11.glRotated(90, 0, 1, 0); - GL11.glRotated(135, 1, 0, 0); - GL11.glScaled(s, s, -s); - - break; - - default: break; - } - - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.novac.renderAllExcept("Scope"); - - if(item.getItem() == ModItems.gun_revolver_pip) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.novac_scope_tex); - ResourceManager.novac.renderPart("Scope"); - } - - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponObj.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponObj.java deleted file mode 100644 index 4be5806c5..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponObj.java +++ /dev/null @@ -1,318 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.ModItems; -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponObj implements IItemRenderer { - - public ItemRenderWeaponObj() { } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - case INVENTORY: - return item.getItem() == ModItems.gun_hk69 - || item.getItem() == ModItems.gun_flamer || item.getItem() == ModItems.gun_deagle - || item.getItem() == ModItems.gun_flechette || item.getItem() == ModItems.gun_quadro; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_CULL_FACE); - - EntityPlayer player = Minecraft.getMinecraft().thePlayer; - - if(item.getItem() == ModItems.gun_hk69) - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.hk69_tex); - - if(item.getItem() == ModItems.gun_deagle) - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.universal_bright); - - if(item.getItem() == ModItems.gun_flamer) - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.flamer_tex); - - if(item.getItem() == ModItems.gun_quadro) - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.quadro_tex); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - - if(item.getItem() == ModItems.gun_hk69) { - GL11.glTranslatef(1.0F, 0.5F, 0.0F); - GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-25F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(-10F, 0.0F, 1.0F, 0.0F); - GL11.glScaled(0.75, 0.75, 0.75); - - if(player.isSneaking()) { - GL11.glTranslatef(1.16F, 0.35F, -0.8F); - GL11.glRotatef(5.5F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(4F, 1.0F, 0.0F, 0.0F); - } - } - - if(item.getItem() == ModItems.gun_deagle) { - GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(25F, -1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.2F, 0.2F, 0.8F); - GL11.glScaled(0.2, 0.2, 0.2); - - if(player.isSneaking()) { - GL11.glTranslatef(3.7F, 1.7F, 0F); - GL11.glRotatef(-5F, 0.0F, 1.0F, 0.0F); - } - } - - if(item.getItem() == ModItems.gun_flamer) { - GL11.glTranslatef(1.0F, 0.0F, -0.15F); - GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-25F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(-10F, 0.0F, 1.0F, 0.0F); - GL11.glScaled(0.5, 0.5, 0.5); - - if(player.isSneaking()) { - GL11.glTranslatef(0.75F, 0.2F, 0.3F); - } - } - - if(item.getItem() == ModItems.gun_flechette) { - - GL11.glRotatef(25F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(1.0F, -1.0F, -0.0F); - GL11.glRotatef(170F, 0.0F, 1.0F, 0.0F); - GL11.glScaled(0.25, 0.25, 0.25); - - if(player.isSneaking()) { - GL11.glRotatef(5F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-2F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-2.0F, 1.2F, 3.7F); - } - - double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); - GL11.glTranslated(recoil[0], recoil[1], recoil[2]); - } - - if(item.getItem() == ModItems.gun_quadro) { - GL11.glTranslatef(0.75F, 0.0F, -0.15F); - GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-25F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(-10F, 0.0F, 1.0F, 0.0F); - GL11.glScaled(0.5, 0.5, 0.5); - - if(player.isSneaking()) { - GL11.glRotatef(5F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(1.0F, 0.5F, 0.3F); - } - - double[] recoil = HbmAnimations.getRelevantTransformation("QUADRO_RECOIL"); - GL11.glTranslated(0, 0, recoil[2]); - - double[] reload = HbmAnimations.getRelevantTransformation("QUADRO_RELOAD_ROTATE"); - GL11.glRotated(reload[2], 1, 0, 0); - } - - break; - - case EQUIPPED: - - if(item.getItem() == ModItems.gun_hk69) { - GL11.glRotatef(20F, 1.0F, 0.0F, 1.0F); - GL11.glRotatef(10F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(0.4F, 0.0F, 0.55F); - GL11.glScaled(0.75, 0.75, 0.75); - } - - if(item.getItem() == ModItems.gun_deagle) { - GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(35F, -1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.1F, 0.8F); - GL11.glScaled(0.15, 0.15, 0.15); - } - - if(item.getItem() == ModItems.gun_flamer) { - GL11.glRotatef(20F, 1.0F, 0.0F, 1.0F); - GL11.glRotatef(10F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(0.4F, -0.25F, 0.2F); - GL11.glScaled(0.35, 0.35, 0.35); - } - - if(item.getItem() == ModItems.gun_flechette) { - GL11.glRotatef(35F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(180F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-1.4F, -0.55F, 0.0F); - GL11.glScaled(0.125, 0.125, 0.125); - } - - if(item.getItem() == ModItems.gun_quadro) { - GL11.glRotatef(20F, 1.0F, 0.0F, 1.0F); - GL11.glRotatef(10F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(0.4F, -0.35F, -0.4F); - GL11.glScaled(0.75, 0.75, 0.75); - } - - break; - - case ENTITY: - - if(item.getItem() == ModItems.gun_hk69) { - GL11.glTranslatef(0.0F, 0.2F, 0.0F); - GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); - GL11.glScaled(0.75, 0.75, 0.75); - } - - if(item.getItem() == ModItems.gun_deagle) { - GL11.glTranslatef(0.0F, 0.2F, 0.0F); - GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); - GL11.glScaled(0.25, 0.25, 0.25); - } - - if(item.getItem() == ModItems.gun_flamer) { - GL11.glTranslatef(0.25F, 0.2F, 0.0F); - GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); - GL11.glScaled(0.25, 0.25, 0.25); - } - - if(item.getItem() == ModItems.gun_flechette) { - GL11.glTranslatef(-0.25F, 0.0F, 0.0F); - GL11.glScaled(0.125, 0.125, 0.125); - } - - if(item.getItem() == ModItems.gun_quadro) { - GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(0.0F, 0.0F, 0.0F); - GL11.glScaled(0.75, 0.75, 0.75); - } - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - if(item.getItem() == ModItems.gun_hk69) { - GL11.glScaled(7.5, 7.5, -7.5); - GL11.glTranslatef(0.85F, 1.2F, 0.0F); - GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-45F, 1.0F, 0.0F, 0.0F); - } - - if(item.getItem() == ModItems.gun_deagle) { - GL11.glScaled(2.5, 2.5, -2.5); - GL11.glTranslatef(3.5F, 3F, 0.0F); - GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-45F, 1.0F, 0.0F, 0.0F); - } - - if(item.getItem() == ModItems.gun_flamer) { - GL11.glScaled(2.0, 2.0, -2.0); - GL11.glTranslatef(4.0F, 5.0F, 0.0F); - GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-45F, 1.0F, 0.0F, 0.0F); - } - - if(item.getItem() == ModItems.gun_flechette) { - GL11.glScaled(1.2, 1.2, -1.2); - GL11.glTranslatef(2.5F, 8.0F, 0.0F); - GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(-45F, 0.0F, 0.0F, 1.0F); - } - - if(item.getItem() == ModItems.gun_quadro) { - GL11.glScaled(4.5, 4.5, -4.5); - GL11.glTranslatef(1.0F, 2.5F, 0.0F); - GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-45F, 1.0F, 0.0F, 0.0F); - } - - break; - - default: break; - } - - if(item.getItem() == ModItems.gun_hk69) { - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.hk69.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - - if(item.getItem() == ModItems.gun_deagle) { - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.deagle.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - - if(item.getItem() == ModItems.gun_flamer) { - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.flamer.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - - if(item.getItem() == ModItems.gun_flechette) { - renderFlechette(); - } - - if(item.getItem() == ModItems.gun_quadro) { - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.quadro.renderPart("Launcher"); - GL11.glShadeModel(GL11.GL_FLAT); - } - - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glPopMatrix(); - } - - public void renderFlechette() { - GL11.glShadeModel(GL11.GL_SMOOTH); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.flechette_body); - ResourceManager.flechette.renderPart("body"); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.flechette_chamber); - ResourceManager.flechette.renderPart("chamber"); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.flechette_barrel); - ResourceManager.flechette.renderPart("barrel"); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.flechette_gren_tube); - ResourceManager.flechette.renderPart("gren_tube"); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.flechette_grenades); - ResourceManager.flechette.renderPart("grenades"); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.flechette_pivot); - ResourceManager.flechette.renderPart("pivot"); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.flechette_top); - ResourceManager.flechette.renderPart("top"); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.flechette_drum); - ResourceManager.flechette.renderPart("drum"); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.flechette_base); - ResourceManager.flechette.renderPart("base"); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.flechette_trigger); - ResourceManager.flechette.renderPart("trigger"); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.flechette_stock); - ResourceManager.flechette.renderPart("stock"); - GL11.glShadeModel(GL11.GL_FLAT); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponQuadro.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponQuadro.java deleted file mode 100644 index ecfa3056c..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponQuadro.java +++ /dev/null @@ -1,135 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.ModItems; -import com.hbm.items.weapon.ItemGunBase; -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponQuadro implements IItemRenderer { - - public ItemRenderWeaponQuadro() { } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_CULL_FACE); - - EntityPlayer player = Minecraft.getMinecraft().thePlayer; - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - if(item.getItem() == ModItems.gun_quadro) { - GL11.glTranslatef(0.75F, 0.0F, -0.15F); - GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-25F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(-10F, 0.0F, 1.0F, 0.0F); - GL11.glScaled(0.5, 0.5, 0.5); - - if(player.isSneaking()) { - GL11.glRotatef(5F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(1.0F, 0.5F, 0.3F); - } - - double[] recoil = HbmAnimations.getRelevantTransformation("QUADRO_RECOIL"); - GL11.glTranslated(0, 0, recoil[2]); - - double[] reload = HbmAnimations.getRelevantTransformation("QUADRO_RELOAD_ROTATE"); - GL11.glRotated(reload[2], 1, 0, 0); - } - - break; - - case EQUIPPED: - - if(item.getItem() == ModItems.gun_quadro) { - GL11.glRotatef(20F, 1.0F, 0.0F, 1.0F); - GL11.glRotatef(10F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(0.4F, -0.35F, -0.4F); - GL11.glScaled(0.75, 0.75, 0.75); - } - - break; - - case ENTITY: - - if(item.getItem() == ModItems.gun_quadro) { - GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(0.0F, 0.0F, 0.0F); - GL11.glScaled(0.75, 0.75, 0.75); - } - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - if(item.getItem() == ModItems.gun_quadro) { - GL11.glScaled(4.5, 4.5, -4.5); - GL11.glTranslatef(1.0F, 2.5F, 0.0F); - GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-45F, 1.0F, 0.0F, 0.0F); - } - - break; - - default: break; - } - - if(item.getItem() == ModItems.gun_quadro) { - GL11.glShadeModel(GL11.GL_SMOOTH); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.quadro_tex); - ResourceManager.quadro.renderPart("Launcher"); - - if(ItemGunBase.getMag(item) > 0 || ItemGunBase.getIsReloading(item) && type != ItemRenderType.INVENTORY) { - GL11.glPushMatrix(); - - GL11.glTranslated(0, -1, 0); - - double[] push = HbmAnimations.getRelevantTransformation("QUADRO_RELOAD_PUSH"); - GL11.glTranslated(0, 3, 0); - GL11.glRotated(push[1] * 30, 1, 0, 0); - GL11.glTranslated(0, -3, 0); - GL11.glTranslated(0, 0, push[0] * 3); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.quadro_rocket_tex); - ResourceManager.quadro.renderPart("Rockets"); - GL11.glPopMatrix(); - } - - GL11.glShadeModel(GL11.GL_FLAT); - } - - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponRemington.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponRemington.java deleted file mode 100644 index e49b57531..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponRemington.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponRemington implements IItemRenderer { - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glShadeModel(GL11.GL_SMOOTH); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.remington_tex); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double[] recoilT = HbmAnimations.getRelevantTransformation("RECOIL_TRANSLATE"); - double[] pump = HbmAnimations.getRelevantTransformation("PUMP"); - - double s0 = 0.35D; - GL11.glRotated(25, 0, 0, 1); - GL11.glRotated(-10, 0, 1, 0); - GL11.glTranslated(1.25, -1.25, -0.25); - GL11.glScaled(s0, s0, s0); - - GL11.glTranslated(recoilT[2], 0, 0); - - ResourceManager.remington.renderPart("Gun"); - - GL11.glTranslated(pump[2] * 0.5, 0, 0); - - ResourceManager.remington.renderPart("Pump"); - - break; - - case EQUIPPED: - - double scale = 0.25D; - GL11.glScaled(scale, scale, scale); - GL11.glRotatef(20F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-80, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-15F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(2.5F, -3.5F, -2F); - - ResourceManager.remington.renderAll(); - - break; - - case ENTITY: - - double s1 = 0.25D; - GL11.glScaled(s1, s1, s1); - GL11.glTranslated(0, -3, 0); - - ResourceManager.remington.renderAll(); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 1.25D; - GL11.glTranslated(4, 11, 0); - GL11.glRotated(-135, 0, 0, 1); - GL11.glScaled(s, s, -s); - - ResourceManager.remington.renderAll(); - - break; - - default: break; - } - - GL11.glShadeModel(GL11.GL_SMOOTH); - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponSauer.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponSauer.java deleted file mode 100644 index 9d4d204de..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponSauer.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponSauer implements IItemRenderer { - - public ItemRenderWeaponSauer() { } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glShadeModel(GL11.GL_SMOOTH); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.sauergun_tex); - - EntityPlayer player = Minecraft.getMinecraft().thePlayer; - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double[] recoil = HbmAnimations.getRelevantTransformation("SAUER_RECOIL"); - double[] tilt = HbmAnimations.getRelevantTransformation("SAUER_TILT"); - double[] cock = HbmAnimations.getRelevantTransformation("SAUER_COCK"); - double[] eject = HbmAnimations.getRelevantTransformation("SAUER_SHELL_EJECT"); - - double s0 = 0.5D; - GL11.glScaled(s0, s0, s0); - - GL11.glTranslatef(0.0F, -0.5F, 0.0F); - GL11.glRotatef(-100F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(20F, 1.0F, 0.0F, 0.0F); - - if(recoil != null) - GL11.glTranslated(0, 0, recoil[0]); - - if(player.isSneaking()) { - GL11.glRotatef(-3F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(2F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(3F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(-2.0F, 0.5F, 0.3F); - } - - if(tilt != null) { - GL11.glTranslated(0, -5, 0); - GL11.glRotated(tilt[2] * -0.5, 1, 0, 0); - GL11.glTranslated(0, 5, 0); - GL11.glRotated(tilt[0], 0, 0, 1); - - GL11.glTranslated(0, 0, cock[0] * 2); - ResourceManager.sauergun.renderPart("Lever"); - GL11.glTranslated(0, 0, -cock[0] * 2); - - GL11.glTranslated(eject[2] * 10, -eject[2], 0); - GL11.glRotated(eject[2] * 90, -1, 0, 0); - ResourceManager.sauergun.renderPart("Shell"); - GL11.glRotated(eject[2] * 90, 1, 0, 0); - GL11.glTranslated(-eject[2] * 10, eject[2], 0); - - } else { - - ResourceManager.sauergun.renderPart("Lever"); - } - - break; - - case EQUIPPED: - - double scale = 0.5D; - GL11.glScaled(scale, scale, scale); - GL11.glRotatef(20F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-170, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-15F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(-1F, -0.3F, 0.0F); - ResourceManager.sauergun.renderPart("Lever"); - break; - - case ENTITY: - - double s1 = 0.25D; - GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(0.0F, 0.0F, 0.5F); - GL11.glScaled(s1, s1, s1); - ResourceManager.sauergun.renderPart("Lever"); - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 2.25D; - GL11.glScaled(s, s, -s); - GL11.glTranslatef(4.0F, 4.5F, 0.0F); - GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(45F, 1.0F, 0.0F, 0.0F); - ResourceManager.sauergun.renderPart("Lever"); - - break; - - default: break; - } - - ResourceManager.sauergun.renderPart("Gun"); - - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponShotty.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponShotty.java deleted file mode 100644 index bcf4670e2..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponShotty.java +++ /dev/null @@ -1,113 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.config.WeaponConfig; -import com.hbm.items.weapon.ItemGunBase; -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; -import com.hbm.render.anim.HbmAnimations.Animation; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponShotty implements IItemRenderer { - - public ItemRenderWeaponShotty() { } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - case INVENTORY: - return false; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glShadeModel(GL11.GL_SMOOTH); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.shotty_tex); - - EntityPlayer player = Minecraft.getMinecraft().thePlayer; - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - String animSuffix = WeaponConfig.linearAnimations ? "Lame" : ""; - - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glRotatef(20F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-95F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-2.0F, 0.25F, -2.5F); - - HbmAnimations.applyRelevantTransformation("Body" + animSuffix); - ResourceManager.shotty.renderPart("Body"); - - HbmAnimations.applyRelevantTransformation("Barrel" + animSuffix); - ResourceManager.shotty.renderPart("Barrel"); - - // If we've run out of ammo, stop drawing the shells after ejection has completed - Animation anim = HbmAnimations.getRelevantAnim(); - int millis = anim != null ? (int)(System.currentTimeMillis() - anim.startMillis) : 0; - - if(ItemGunBase.getBeltSize(player, ItemGunBase.getBeltType(player, item, true)) > 0 || millis < 1000) { - GL11.glPushMatrix(); - HbmAnimations.applyRelevantTransformation("ShellL" + animSuffix); - ResourceManager.shotty.renderPart("ShellL"); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - HbmAnimations.applyRelevantTransformation("ShellR" + animSuffix); - ResourceManager.shotty.renderPart("ShellR"); - GL11.glPopMatrix(); - } - - break; - - case EQUIPPED: - - GL11.glRotatef(-170F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-10F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-10F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(5F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.4F, 0.0F, -0.5F); - GL11.glScaled(0.35, 0.35, 0.35); - ResourceManager.shotty.renderPart("Body"); - ResourceManager.shotty.renderPart("Barrel"); - - break; - - case ENTITY: - - GL11.glScaled(0.5, 0.5, 0.5); - GL11.glTranslatef(0.0F, 0.2F, 0.0F); - ResourceManager.shotty.renderPart("Body"); - ResourceManager.shotty.renderPart("Barrel"); - break; - - default: break; - } - - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponSpas12.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponSpas12.java deleted file mode 100644 index 4fff46dd0..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponSpas12.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.hbm.render.item.weapon; - -import java.awt.Color; - -import org.lwjgl.opengl.GL11; - -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.items.weapon.ItemGunBase; -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponSpas12 implements IItemRenderer { - - public ItemRenderWeaponSpas12() { } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glShadeModel(GL11.GL_SMOOTH); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.spas_12_tex); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 0.5D; - GL11.glRotated(25, 0, 0, 1); - GL11.glTranslated(0, -0.8, 0.1); - GL11.glRotated(-100, 0, 1, 0); - GL11.glScaled(s0, s0, s0); - - HbmAnimations.applyRelevantTransformation("MainBody"); - ResourceManager.spas_12.renderPart("MainBody"); - - GL11.glPushMatrix(); - HbmAnimations.applyRelevantTransformation("PumpGrip"); - ResourceManager.spas_12.renderPart("PumpGrip"); - GL11.glPopMatrix(); - - - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.casings_tex); - - HbmAnimations.applyRelevantTransformation("Shell"); - - ItemGunBase gun = (ItemGunBase)item.getItem(); - BulletConfiguration bullet = BulletConfigSyncingUtil.pullConfig(gun.mainConfig.config.get(ItemGunBase.getMagType(item))); - int[] colors = bullet.spentCasing.getColors(); - - Color shellColor = new Color(colors[1]); - GL11.glColor3f(shellColor.getRed() / 255F, shellColor.getGreen() / 255F, shellColor.getBlue() / 255F); - ResourceManager.spas_12.renderPart("Shell"); - - Color shellForeColor = new Color(colors[0]); - GL11.glColor3f(shellForeColor.getRed() / 255F, shellForeColor.getGreen() / 255F, shellForeColor.getBlue() / 255F); - ResourceManager.spas_12.renderPart("ShellFore"); - - GL11.glColor3f(1F, 1F, 1F); - GL11.glPopMatrix(); - - break; - - case EQUIPPED: - - double scale = 0.25D; - GL11.glScaled(scale, scale, scale); - GL11.glRotatef(20F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(190, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-15F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(-2F, -1F, 2F); - - ResourceManager.spas_12.renderAll(); - - break; - - case ENTITY: - - double s1 = 0.25D; - GL11.glScaled(s1, s1, s1); - GL11.glTranslated(0, 0, 4); - - ResourceManager.spas_12.renderAll(); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 1.6D; - GL11.glTranslated(12, 13.5, 0); - GL11.glRotated(-90, 0, 1, 0); - GL11.glRotated(-135, 1, 0, 0); - GL11.glScaled(s, s, s); - - ResourceManager.spas_12.renderAll(); - - break; - - default: break; - } - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponTau.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponTau.java deleted file mode 100644 index b46f19474..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponTau.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.weapon.ItemGunGauss; -import com.hbm.main.ResourceManager; -import com.hbm.render.anim.HbmAnimations; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponTau implements IItemRenderer { - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glShadeModel(GL11.GL_SMOOTH); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.tau_tex); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 0.35D; - GL11.glRotated(25, 0, 0, 1); - GL11.glTranslated(1.5, 0, 0.1); - GL11.glRotated(80, 0, 1, 0); - GL11.glScaled(s0, s0, s0); - - double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); - GL11.glTranslated(0, 0, recoil[0] * -1); - GL11.glTranslated(0, 0, -3); - GL11.glRotated(recoil[0] * -5, 1, 0, 0); - GL11.glTranslated(0, 0, 3); - - ResourceManager.tau.renderPart("Body"); - - if(ItemGunGauss.getCharge(item) > 0) { - GL11.glTranslated(0, -0.2, 0); - GL11.glRotated(System.currentTimeMillis() % 360D, 0, 0, 1); - GL11.glTranslated(0, 0.2, 0); - } - - ResourceManager.tau.renderPart("Rotor"); - - break; - - case EQUIPPED: - - double scale = 0.25D; - GL11.glScaled(scale, scale, scale); - GL11.glRotatef(20F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(10, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(15F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(2F, 1F, 3F); - - ResourceManager.tau.renderAll(); - - break; - - case ENTITY: - - double s1 = 0.25D; - GL11.glScaled(s1, s1, s1); - GL11.glTranslated(0, 1, 0); - - ResourceManager.tau.renderAll(); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 1.6D; - GL11.glTranslated(8, 7, 0); - GL11.glRotated(-90, 0, 1, 0); - GL11.glRotated(-135, 1, 0, 0); - GL11.glScaled(s, s, -s); - - ResourceManager.tau.renderAll(); - - break; - - default: break; - } - - GL11.glShadeModel(GL11.GL_SMOOTH); - GL11.glShadeModel(GL11.GL_FLAT); - GL11.glEnable(GL11.GL_CULL_FACE); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponThompson.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponThompson.java deleted file mode 100644 index f8bd5c12c..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponThompson.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponThompson implements IItemRenderer { - - public ItemRenderWeaponThompson() { } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - - GL11.glEnable(GL11.GL_CULL_FACE); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.thompson_tex); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 0.25D; - GL11.glRotated(25, 0, 0, 1); - GL11.glTranslated(0.5, -0.5, -0.5); - GL11.glRotated(-100, 0, 1, 0); - GL11.glScaled(s0, s0, s0); - - break; - - case EQUIPPED: - - double scale = 0.25D; - GL11.glScaled(scale, scale, scale); - GL11.glRotatef(20F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-170, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-15F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(-2F, -3F, -0.5F); - - break; - - case ENTITY: - - double s1 = 0.2D; - GL11.glScaled(s1, s1, s1); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 1.75D; - GL11.glTranslated(4, 11, 0); - GL11.glRotated(90, 0, 1, 0); - GL11.glRotated(135, 1, 0, 0); - GL11.glScaled(s, s, -s); - - break; - - default: break; - } - - ResourceManager.thompson.renderAll(); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponVortex.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponVortex.java deleted file mode 100644 index 80de6557d..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponVortex.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; - -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderWeaponVortex implements IItemRenderer { - - public ItemRenderWeaponVortex() { } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - - GL11.glPushMatrix(); - - GL11.glEnable(GL11.GL_CULL_FACE); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.vortex_tex); - - switch(type) { - - case EQUIPPED_FIRST_PERSON: - - double s0 = 0.05D; - GL11.glScaled(s0, s0, s0); - GL11.glRotated(25, 0, 0, 1); - GL11.glRotated(-5, 0, 1, 0); - GL11.glTranslated(17, -5, -5); - - break; - - case EQUIPPED: - - double scale = 0.075D; - GL11.glScaled(scale, scale, scale); - GL11.glRotated(-75, 0, 1, 0); - GL11.glRotated(-10, 0, 0, 1); - GL11.glRotated(15, 1, 0, 0); - GL11.glTranslated(7, -4, -6); - - break; - - case ENTITY: - - double s1 = 0.05D; - GL11.glScaled(s1, s1, s1); - - break; - - case INVENTORY: - - GL11.glEnable(GL11.GL_LIGHTING); - - double s = 0.3D; - GL11.glTranslated(7, 11, 0); - GL11.glRotated(-135, 0, 0, 1); - GL11.glScaled(s, s, -s); - - break; - - default: break; - } - - ResourceManager.vortex.renderAll(); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderZOMG.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderZOMG.java deleted file mode 100644 index f30dfa967..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderZOMG.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelZOMG; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderZOMG implements IItemRenderer { - - protected ModelZOMG swordModel; - - public ItemRenderZOMG() { - swordModel = new ModelZOMG(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return helper == ItemRendererHelper.ENTITY_BOBBING || helper == ItemRendererHelper.ENTITY_ROTATION; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelZOMG.png")); - GL11.glRotatef(-150.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - GL11.glScalef(0.75F, 0.75F, 0.75F); - GL11.glTranslatef(-0.4F, -0.5F, -0.1F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - - case EQUIPPED: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelZOMG.png")); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.5F, -0.2F, 0.0F); - GL11.glScalef(1.5F, 1.5F, 1.5F); - GL11.glTranslatef(-0.4F, -0.1F, -0.1F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - break; - - case ENTITY: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelZOMG.png")); - GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); - GL11.glScalef(1.5F, 1.5F, 1.5F); - GL11.glTranslatef(0F, -0.5F, 0F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glPopMatrix(); - default: break; - } - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAberrator.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAberrator.java new file mode 100644 index 000000000..4673f7998 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAberrator.java @@ -0,0 +1,249 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class ItemRenderAberrator extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 1); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.0F * offset, -1.25F * offset, 1.25F * offset, + 0, -5.25 / 8D, 0.125); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.aberrator_tex); + double scale = 0.25D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] rise = HbmAnimations.getRelevantTransformation("RISE"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] slide = HbmAnimations.getRelevantTransformation("SLIDE"); + double[] bullet = HbmAnimations.getRelevantTransformation("BULLET"); + double[] hammer = HbmAnimations.getRelevantTransformation("HAMMER"); + double[] roll = HbmAnimations.getRelevantTransformation("ROLL"); + double[] mag = HbmAnimations.getRelevantTransformation("MAG"); + double[] magroll = HbmAnimations.getRelevantTransformation("MAGROLL"); + double[] sight = HbmAnimations.getRelevantTransformation("SIGHT"); + + GL11.glTranslated(0, rise[1], 0); + + GL11.glTranslated(0, 1, -2.25); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, -1, 2.25); + + GL11.glTranslated(0, -1, -4); + GL11.glRotated(recoil[0], 1, 0, 0); + GL11.glTranslated(0, 1, 4); + + GL11.glTranslated(0, 1, 0); + GL11.glRotated(roll[2], 0, 0, 1); + GL11.glTranslated(0, -1, 0); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + ResourceManager.aberrator.renderPart("Gun"); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 2.4375, -1.9375); + GL11.glRotated(sight[0], 1, 0, 0); + GL11.glTranslated(0, -2.4375, 1.9375); + ResourceManager.aberrator.renderPart("Sight"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(mag[0], mag[1], mag[2]); + + GL11.glTranslated(0, 1, 0); + GL11.glRotated(magroll[2], 0, 0, 1); + GL11.glTranslated(0, -1, 0); + + ResourceManager.aberrator.renderPart("Magazine"); + GL11.glTranslated(bullet[0], bullet[1], bullet[2]); + ResourceManager.aberrator.renderPart("Bullet"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, slide[2]); + ResourceManager.aberrator.renderPart("Slide"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.25, -3.625); + GL11.glRotated(-45 + hammer[0], 1, 0, 0); + GL11.glTranslated(0, -1.25, 3.625); + ResourceManager.aberrator.renderPart("Hammer"); + GL11.glPopMatrix(); + + double smokeScale = 0.5; + + GL11.glPushMatrix(); + GL11.glTranslated(0, 2, 4); + GL11.glRotated(recoil[0], -1, 0, 0); + GL11.glRotated(roll[2], 0, 0, -1); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(smokeScale, smokeScale, smokeScale); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.5D); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 2, 4); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + GL11.glScaled(0.75, 0.75, 0.75); + this.renderMuzzleFlash(gun.lastShot[0], 75, 7.5); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 2, -1.5); + GL11.glScaled(0.5, 0.5, 0.5); + this.renderFireball(gun.lastShot[0]); + GL11.glPopMatrix(); + + Minecraft.getMinecraft().renderEngine.bindTexture(Minecraft.getMinecraft().getTextureManager().getResourceLocation(Items.golden_sword.getSpriteNumber())); + IIcon icon = Items.golden_sword.getIconFromDamage(0); + + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glDisable(GL11.GL_LIGHTING); + float minU = icon.getMinU(); + float maxU = icon.getMaxU(); + float minV = icon.getMinV(); + float maxV = icon.getMaxV(); + GL11.glTranslated(0, 2, 4.5); + GL11.glRotated(roll[2], 0, 0, -1); + GL11.glRotated(recoil[0], -1, 0, 0); + GL11.glRotated(equip[0], -1, 0, 0); + GL11.glRotated(System.currentTimeMillis() / 50D % 360D, 0, 0, 1); + + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + aimingProgress = Math.min(1F, aimingProgress * 2); + + Tessellator tess = Tessellator.instance; + GL11.glPushMatrix(); + int amount = 16; + for(int i = 0; i < amount; i++) { + GL11.glPushMatrix(); + GL11.glTranslated(0, -1.5 - aimingProgress, 0); + GL11.glRotated(90 * aimingProgress, 1, 0, 0); + GL11.glRotated(-45, 0, 0, 1); + tess.startDrawingQuads(); + tess.setNormal(0F, 1F, 0F); + tess.addVertexWithUV(-0.5, -0.5F, -0.5, maxU, maxV); + tess.addVertexWithUV(0.5F, -0.5F, -0.5, minU, maxV); + tess.addVertexWithUV(0.5F, 0.5F, -0.5, minU, minV); + tess.addVertexWithUV(-0.5, 0.5F, -0.5, maxU, minV); + tess.draw(); + GL11.glPopMatrix(); + GL11.glRotated(360D / amount, 0, 0, 1); + } + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + GL11.glTranslated(0, -1, 4); + double scale = 1.5D; + GL11.glScaled(scale, scale, scale); + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 2.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.5,-1, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -12.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0,-1, 0.5); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glAlphaFunc(GL11.GL_GREATER, 0F); + GL11.glEnable(GL11.GL_ALPHA_TEST); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.aberrator_tex); + ResourceManager.aberrator.renderPart("Gun"); + ResourceManager.aberrator.renderPart("Hammer"); + ResourceManager.aberrator.renderPart("Magazine"); + ResourceManager.aberrator.renderPart("Slide"); + ResourceManager.aberrator.renderPart("Sight"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + public static void renderFireball(long lastShot) { + Tessellator tess = Tessellator.instance; + + int flash = 150; + + if(System.currentTimeMillis() - lastShot < flash) { + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + GL11.glPushMatrix(); + + double fire = (System.currentTimeMillis() - lastShot) / (double) flash; + double height = 5 * fire; + double length = 10 * fire; + double offset = 1 * fire; + double lengthOffset = -1.125; + Minecraft.getMinecraft().renderEngine.bindTexture(flash_plume); + tess.startDrawingQuads(); + tess.setBrightness(240); + tess.setNormal(0F, 1F, 0F); + tess.setColorRGBA_F(1F, 1F, 1F, 1F); + + tess.addVertexWithUV(height, -offset, 0, 0, 1); + tess.addVertexWithUV(-height, -offset, 0, 1, 1); + tess.addVertexWithUV(-height, -offset + length, -lengthOffset, 1, 0); + tess.addVertexWithUV(height, -offset + length, -lengthOffset, 0 ,0); + + tess.addVertexWithUV(height, -offset, 0, 0, 1); + tess.addVertexWithUV(-height, -offset, 0, 1, 1); + tess.addVertexWithUV(-height, -offset + length, lengthOffset, 1, 0); + tess.addVertexWithUV(height, -offset + length, lengthOffset, 0 ,0); + + tess.draw(); + GL11.glPopMatrix(); + GL11.glDisable(GL11.GL_BLEND); + } + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAm180.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAm180.java new file mode 100644 index 000000000..10899a9dc --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAm180.java @@ -0,0 +1,167 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderAm180 extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1F * offset, -1F * offset, 1F * offset, + 0, -4.1875 / 8D, 0.25); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.am180_tex); + double scale = 0.1875D; + GL11.glScaled(scale, scale, scale); + + boolean silenced = this.hasSilencer(stack); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] magazine = HbmAnimations.getRelevantTransformation("MAG"); + double[] magTurn = HbmAnimations.getRelevantTransformation("MAGTURN"); + double[] magSpin = HbmAnimations.getRelevantTransformation("MAGSPIN"); + double[] bolt = HbmAnimations.getRelevantTransformation("BOLT"); + double[] turn = HbmAnimations.getRelevantTransformation("TURN"); + + GL11.glTranslated(0, -2, -6); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, 2, 6); + + GL11.glRotated(turn[2], 0, 0, 1); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + GL11.glTranslated(0, 0, recoil[2]); + + HbmAnimations.applyRelevantTransformation("Gun"); + ResourceManager.am180.renderPart("Gun"); + if(silenced) ResourceManager.am180.renderPart("Silencer"); + + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("Trigger"); + ResourceManager.am180.renderPart("Trigger"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, bolt[2]); + HbmAnimations.applyRelevantTransformation("Bolt"); + ResourceManager.am180.renderPart("Bolt"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(magazine[0], magazine[1], magazine[2]); + + GL11.glTranslated(0, 2.0625, 3.75); + GL11.glRotated(magTurn[0], 1, 0, 0); + GL11.glRotated(magTurn[2], 0, 0, 1); + GL11.glTranslated(0, -2.0625, -3.75); + + GL11.glTranslated(0, 2.3125, 1.5); + GL11.glRotated(magSpin[0], 1, 0, 0); + GL11.glTranslated(0, -2.3125, -1.5); + + HbmAnimations.applyRelevantTransformation("Mag"); + + GL11.glPushMatrix(); + int mag = gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory); + GL11.glTranslated(0, 0, 1.5); + GL11.glRotated(mag / 59D * 360D, 0, -1, 0); + GL11.glTranslated(0, 0, -1.5); + ResourceManager.am180.renderPart("Mag"); + GL11.glPopMatrix(); + + ResourceManager.am180.renderPart("MagPlate"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.875, silenced ? 17 : 13); + GL11.glRotated(turn[2], 0, 0, -1); + GL11.glRotated(90, 0, 1, 0); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.25D); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.875, silenced ? 16.75 : 12); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + double flashScale = silenced ? 0.5 : 0.75; + GL11.glScaled(flashScale, flashScale, flashScale); + this.renderMuzzleFlash(gun.lastShot[0], silenced ? 75 : 50, silenced ? 5 : 7.5); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, -0.5, 3); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 0.75D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(1.5, 0, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, 0, -2); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.am180_tex); + ResourceManager.am180.renderPart("Gun"); + if(this.hasSilencer(stack)) ResourceManager.am180.renderPart("Silencer"); + ResourceManager.am180.renderPart("Trigger"); + ResourceManager.am180.renderPart("Bolt"); + ResourceManager.am180.renderPart("Mag"); + ResourceManager.am180.renderPart("MagPlate"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + public boolean hasSilencer(ItemStack stack) { + return WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SILENCER); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAmat.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAmat.java new file mode 100644 index 000000000..9bb17c62b --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAmat.java @@ -0,0 +1,215 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class ItemRenderAmat extends ItemRenderWeaponBase { + + public ResourceLocation texture; + + public ItemRenderAmat(ResourceLocation texture) { + this.texture = texture; + } + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * (isScoped(stack) ? 0.8F : 0.33F)); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + + standardAimingTransform(stack, + -1F * offset, -1F * offset, 3.25F * offset, + 0, -4.875 / 8D, 1.875); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + boolean isScoped = isScoped(stack); + if(isScoped && ItemGunBaseNT.prevAimingProgress == 1 && ItemGunBaseNT.aimingProgress == 1) return; + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + double scale = 0.375D; + GL11.glScaled(scale, scale, scale); + + boolean deployed = HbmAnimations.getRelevantAnim(0) == null || HbmAnimations.getRelevantAnim(0).animation.getBus("BIPOD") == null; + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] bipod = HbmAnimations.getRelevantTransformation("BIPOD"); + double[] lift = HbmAnimations.getRelevantTransformation("LIFT"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] boltTurn = HbmAnimations.getRelevantTransformation("BOLT_TURN"); + double[] boltPull = HbmAnimations.getRelevantTransformation("BOLT_PULL"); + double[] mag = HbmAnimations.getRelevantTransformation("MAG"); + double[] scopeThrow = HbmAnimations.getRelevantTransformation("SCOPE_THROW"); + double[] scopeSpin = HbmAnimations.getRelevantTransformation("SCOPE_SPIN"); + + GL11.glTranslated(0, 0, recoil[2]); + + GL11.glTranslated(0, -3, -8); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glRotated(lift[0], 1, 0, 0); + GL11.glTranslated(0, 3, 8); + + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.amat.renderPart("Gun"); + + if(isScoped(stack)) { + GL11.glPushMatrix(); + GL11.glTranslated(scopeThrow[0], scopeThrow[1], scopeThrow[2]); + GL11.glTranslated(0, 1.5, -4.5); + GL11.glRotated(scopeSpin[0], 1, 0, 0); + GL11.glTranslated(0, -1.5, 4.5); + ResourceManager.amat.renderPart("Scope"); + GL11.glPopMatrix(); + } + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.625, 0); + GL11.glRotated(boltTurn[2], 0, 0, 1); + GL11.glTranslated(0, -0.625, 0); + GL11.glTranslated(0, 0, boltPull[2]); + ResourceManager.amat.renderPart("Bolt"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(mag[0], mag[1], mag[2]); + ResourceManager.amat.renderPart("Magazine"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0.3125, -0.625, -1); + GL11.glRotated(deployed ? 25 : bipod[1], 0, 0, 1); + GL11.glTranslated(-0.3125, 0.625, 1); + ResourceManager.amat.renderPart("BipodHingeLeft"); + GL11.glTranslated(0.3125, -0.625, -1); + GL11.glRotated(deployed ? 80 : bipod[0], 1, 0, 0); + GL11.glTranslated(-0.3125, 0.625, 1); + ResourceManager.amat.renderPart("BipodLeft"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(-0.3125, -0.625, -1); + GL11.glRotated(deployed ? -25 : -bipod[1], 0, 0, 1); + GL11.glTranslated(0.3125, 0.625, 1); + ResourceManager.amat.renderPart("BipodHingeRight"); + GL11.glTranslated(-0.3125, -0.625, -1); + GL11.glRotated(deployed ? 80 : bipod[0], 1, 0, 0); + GL11.glTranslated(0.3125, 0.625, 1); + ResourceManager.amat.renderPart("BipodRight"); + GL11.glPopMatrix(); + + if(isSilenced(stack)) { + GL11.glTranslated(0, 0.625, -4.3125); + GL11.glScaled(1.25, 1.25, 1.25); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.g3_attachments); + ResourceManager.g3.renderPart("Silencer"); + + GL11.glShadeModel(GL11.GL_FLAT); + } else { + ResourceManager.amat.renderPart("MuzzleBrake"); + + double smokeScale = 0.5; + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.625, 12); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(smokeScale, smokeScale, smokeScale); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 1D); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.5, 11); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(0.75, 0.75, 0.75); + this.renderGapFlash(gun.lastShot[0]); + GL11.glPopMatrix(); + } + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.25D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 0.5, 6.75); + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + if(isSilenced(stack)) { + double scale = 0.8175D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.5, 0.5, -1); + } else { + double scale = 0.9375D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.5, 0.5, 0); + } + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -5.75D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, -0.25, -1.5); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + ResourceManager.amat.renderPart("Gun"); + ResourceManager.amat.renderPart("Bolt"); + ResourceManager.amat.renderPart("Magazine"); + ResourceManager.amat.renderPart("BipodLeft"); + ResourceManager.amat.renderPart("BipodHingeLeft"); + ResourceManager.amat.renderPart("BipodRight"); + ResourceManager.amat.renderPart("BipodHingeRight"); + if(isScoped(stack)) ResourceManager.amat.renderPart("Scope"); + if(isSilenced(stack)) { + GL11.glTranslated(0, 0.625, -4.3125); + GL11.glScaled(1.25, 1.25, 1.25); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.g3_attachments); + ResourceManager.g3.renderPart("Silencer"); + } else { + ResourceManager.amat.renderPart("MuzzleBrake"); + } + GL11.glShadeModel(GL11.GL_FLAT); + } + + public boolean isScoped(ItemStack stack) { + return true; + } + + public boolean isSilenced(ItemStack stack) { + return stack.getItem() == ModItems.gun_amat_penance || WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SILENCER); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAtlas.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAtlas.java new file mode 100644 index 000000000..8d0bcfe47 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderAtlas.java @@ -0,0 +1,146 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class ItemRenderAtlas extends ItemRenderWeaponBase { + + public ResourceLocation texture; + + public ItemRenderAtlas(ResourceLocation texture) { + this.texture = texture; + } + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.0F * offset, -0.75F * offset, 1F * offset, + 0, -3.125 / 8D, 0.25); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + double scale = 0.125D; + GL11.glScaled(scale, scale, scale); + + GL11.glShadeModel(GL11.GL_SMOOTH); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] reloadMove = HbmAnimations.getRelevantTransformation("RELOAD_MOVE"); + double[] reloadRot = HbmAnimations.getRelevantTransformation("RELOAD_ROT"); + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + + GL11.glTranslated(recoil[0], recoil[1], recoil[2]); + GL11.glRotated(recoil[2] * 10, 1, 0, 0); + + GL11.glTranslated(0, 0, -7); + GL11.glRotated(equip[0], -1, 0, 0); + GL11.glTranslated(0, 0, 7); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.5, 9.25); + GL11.glRotated(-recoil[2] * 10, 1, 0, 0); + GL11.glRotated(90, 0, 1, 0); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.5D); + GL11.glPopMatrix(); + + GL11.glTranslated(reloadMove[0], reloadMove[1], reloadMove[2]); + + GL11.glRotated(reloadRot[0], 1, 0, 0); + GL11.glRotated(reloadRot[2], 0, 0, 1); + GL11.glRotated(reloadRot[1], 0, 1, 0); + ResourceManager.bio_revolver.renderPart("Grip"); + + GL11.glPushMatrix(); /// FRONT PUSH /// + GL11.glRotated(HbmAnimations.getRelevantTransformation("FRONT")[2], 1, 0, 0); + ResourceManager.bio_revolver.renderPart("Barrel"); + GL11.glPushMatrix(); /// LATCH PUSH /// + GL11.glTranslated(0, 2.3125, -0.875); + GL11.glRotated(HbmAnimations.getRelevantTransformation("LATCH")[2], 1, 0, 0); + GL11.glTranslated(0, -2.3125, 0.875); + ResourceManager.bio_revolver.renderPart("Latch"); + GL11.glPopMatrix(); /// LATCH POP /// + + GL11.glPushMatrix(); /// DRUM PUSH /// + GL11.glTranslated(0, 1, 0); + GL11.glRotated(HbmAnimations.getRelevantTransformation("DRUM")[2] * 60, 0, 0, 1); + GL11.glTranslated(0, -1, 0); + GL11.glTranslated(0, 0, HbmAnimations.getRelevantTransformation("DRUM_PUSH")[2]); + ResourceManager.bio_revolver.renderPart("Drum"); + GL11.glPopMatrix(); /// DRUM POP /// + + GL11.glPopMatrix(); /// FRONT POP /// + + GL11.glPushMatrix(); /// HAMMER /// + GL11.glTranslated(0, 0, -4.5); + GL11.glRotated(-45 + 45 * HbmAnimations.getRelevantTransformation("HAMMER")[2], 1, 0, 0); + GL11.glTranslated(0, 0, 4.5); + ResourceManager.bio_revolver.renderPart("Hammer"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.5, 9.25); + GL11.glRotated(90, 0, 1, 0); + this.renderMuzzleFlash(gun.lastShot[0], 75, 7.5); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 0.75D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 1, 3); + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.125D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.5, 1.5, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, 1.5, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + ResourceManager.bio_revolver.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderBolter.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderBolter.java new file mode 100644 index 000000000..de524c481 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderBolter.java @@ -0,0 +1,127 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.item.ItemStack; + +public class ItemRenderBolter extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.5F * offset, -2F * offset, 2.5F * offset, + 0, -10.5 / 8D, 1.25); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bolter_tex); + double scale = 0.5D; + GL11.glScaled(scale, scale, scale); + + GL11.glRotated(180, 0, 1, 0); + + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + GL11.glRotated(recoil[0] * 5, 1, 0, 0); + GL11.glTranslated(0, 0, recoil[0]); + + double[] tilt = HbmAnimations.getRelevantTransformation("TILT"); + GL11.glTranslated(0, tilt[0], 3); + GL11.glRotated(tilt[0] * 35, 1, 0, 0); + GL11.glTranslated(0, 0, -3); + + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.bolter.renderPart("Body"); + + double[] mag = HbmAnimations.getRelevantTransformation("MAG"); + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, 5); + GL11.glRotated(mag[0] * 60 * (mag[2] == 1 ? 2.5 : 1), -1, 0, 0); + GL11.glTranslated(0, 0, -5); + ResourceManager.bolter.renderPart("Mag"); + if(mag[2] != 1) ResourceManager.bolter.renderPart("Bullet"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); + + FontRenderer font = Minecraft.getMinecraft().fontRenderer; + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + String s = gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, null) + ""; + float f3 = 0.04F; + GL11.glTranslatef(0.025F - (font.getStringWidth(s) / 2) * 0.04F, 2.11F, 2.91F); + GL11.glScalef(f3, -f3, f3); + GL11.glRotatef(45, 1, 0, 0); + GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3); + font.drawString(s, 0, 0, 0xff0000); + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glPopAttrib(); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 2.5D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, -0.75, 1.25); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 2.75D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.25, -0.5, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -12.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, -0.5, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glRotated(180, 0, 1, 0); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bolter_tex); + ResourceManager.bolter.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCarbine.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCarbine.java new file mode 100644 index 000000000..3f4420441 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCarbine.java @@ -0,0 +1,155 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderCarbine extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.5F * offset, -1.5F * offset, 0.875F * offset, + 0, -6.25 / 8D, 0.25); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.carbine_tex); + double scale = 0.5D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] slide = HbmAnimations.getRelevantTransformation("SLIDE"); + double[] mag = HbmAnimations.getRelevantTransformation("MAG"); + double[] lift = HbmAnimations.getRelevantTransformation("LIFT"); + double[] bullet = HbmAnimations.getRelevantTransformation("BULLET"); + double[] rel = HbmAnimations.getRelevantTransformation("REL"); + double[] stab = HbmAnimations.getRelevantTransformation("STAB"); + + GL11.glTranslated(0, -1, -2); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, 1, 2); + + GL11.glTranslated(0, 0, -2); + GL11.glRotated(lift[0], 1, 0, 0); + GL11.glTranslated(0, 0, 2); + + GL11.glTranslated(stab[0], stab[1], stab[2]); + + GL11.glTranslated(0, 0, recoil[2]); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + ResourceManager.carbine.renderPart("Gun"); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, slide[2]); + ResourceManager.carbine.renderPart("Slide"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(mag[0], mag[1], mag[2]); + ResourceManager.carbine.renderPart("Magazine"); + GL11.glTranslated(rel[0], rel[1], rel[2]); + if(bullet[0] != 1) ResourceManager.carbine.renderPart("Bullet"); + GL11.glPopMatrix(); + + if(hasBayonet(stack)) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.carbine_bayonet_tex); + ResourceManager.carbine.renderPart("Bayonet"); + } + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1, 8); + GL11.glRotated(90, 0, 1, 0); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.25D); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1, 8); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + GL11.glScaled(0.5, 0.5, 0.5); + this.renderMuzzleFlash(gun.lastShot[0], 75, 7.5); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.375D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 0, 2); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + if(hasBayonet(stack)) { + double scale = 1.1875D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(1.5, 0, 0); + } else { + double scale = 1.375D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.5, 0, 0); + } + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -7.75D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, 0, -1.75); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.carbine_tex); + ResourceManager.carbine.renderPart("Gun"); + ResourceManager.carbine.renderPart("Slide"); + ResourceManager.carbine.renderPart("Magazine"); + if(hasBayonet(stack)) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.carbine_bayonet_tex); + ResourceManager.carbine.renderPart("Bayonet"); + } + GL11.glShadeModel(GL11.GL_FLAT); + } + + public boolean hasBayonet(ItemStack stack) { + return WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_CARBINE_BAYONET); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderChargeThrower.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderChargeThrower.java new file mode 100644 index 000000000..8d724e645 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderChargeThrower.java @@ -0,0 +1,173 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.factory.XFactoryTool; +import com.hbm.items.weapon.sedna.mags.MagazineFullReload; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderChargeThrower extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 0F : -0.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * (isScoped(stack) ? 0.66F : 0.33F)); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + float zoom = 0.5F; + + if(isScoped(stack)) standardAimingTransform(stack, + -1.5F * offset, -1.25F * offset, 3.5F * offset, + -0.15625, -6.5 / 8D, 1.6875); + else standardAimingTransform(stack, + -1.5F * offset, -1.25F * offset, 3.5F * offset, + -1.5F * zoom, -1.25F * zoom, 3.5F * zoom); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + boolean usingScope = this.isScoped(stack) && gun.aimingProgress == 1 && gun.prevAimingProgress == 1; + MagazineFullReload mag = (MagazineFullReload) gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack); + + if(usingScope) { + double scale = 3.5D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(-0.5, -1.5, -4); + } else { + double scale = 0.5D; + GL11.glScaled(scale, scale, scale); + } + + boolean reloading = HbmAnimations.getRelevantAnim(0) != null && HbmAnimations.getRelevantAnim(0).animation.getBus("AMMO") != null; + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] raise = HbmAnimations.getRelevantTransformation("RAISE"); + double[] ammo = HbmAnimations.getRelevantTransformation("AMMO"); + double[] twist = HbmAnimations.getRelevantTransformation("TWIST"); + double[] turn = HbmAnimations.getRelevantTransformation("TURN"); + double[] roll = HbmAnimations.getRelevantTransformation("ROLL"); + + GL11.glTranslated(0, 0, -7); + GL11.glRotated(equip[0], -1, 0, 0); + GL11.glTranslated(0, 0, 7); + + GL11.glTranslated(0, -7, 4); + GL11.glRotated(raise[0], 1, 0, 0); + GL11.glTranslated(0, 7, -4); + + GL11.glTranslated(recoil[0], recoil[1], recoil[2]); + + GL11.glTranslated(0, 0, -2); + GL11.glRotated(turn[1], 0, 1, 0); + GL11.glTranslated(0, 0, 2); + GL11.glTranslated(0, -1, 0); + GL11.glRotated(roll[2], 0, 0, 1); + GL11.glTranslated(0, 1, 0); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_tex); + ResourceManager.charge_thrower.renderPart("Gun"); + if(isScoped(stack) && !usingScope) ResourceManager.charge_thrower.renderPart("Scope"); + + if(mag.getAmount(stack, null) > 0 || reloading) { + + GL11.glTranslated(ammo[0], ammo[1], ammo[2]); + GL11.glRotated(twist[2], 0, 0, 1); + + if(mag.getType(stack, null) == XFactoryTool.ct_hook) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_hook_tex); + ResourceManager.charge_thrower.renderPart("Hook"); + } + if(mag.getType(stack, null) == XFactoryTool.ct_mortar) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_mortar_tex); + ResourceManager.charge_thrower.renderPart("Mortar"); + } + if(mag.getType(stack, null) == XFactoryTool.ct_mortar_charge) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_mortar_tex); + ResourceManager.charge_thrower.renderPart("Mortar"); + ResourceManager.charge_thrower.renderPart("Oomph"); + } + //Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_rocket_tex); + //ResourceManager.charge_thrower.renderPart("Rocket"); + } + + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.5D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0.75, 1, 4); + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.25D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(0, 0, -0.625); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -8.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, 0, -1); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_tex); + ResourceManager.charge_thrower.renderPart("Gun"); + if(isScoped(stack)) ResourceManager.charge_thrower.renderPart("Scope"); + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + MagazineFullReload mag = (MagazineFullReload) gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack); + + if(mag.getAmount(stack, null) > 0) { + + if(mag.getType(stack, null) == XFactoryTool.ct_hook) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_hook_tex); + ResourceManager.charge_thrower.renderPart("Hook"); + } + if(mag.getType(stack, null) == XFactoryTool.ct_mortar) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_mortar_tex); + ResourceManager.charge_thrower.renderPart("Mortar"); + } + if(mag.getType(stack, null) == XFactoryTool.ct_mortar_charge) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.charge_thrower_mortar_tex); + ResourceManager.charge_thrower.renderPart("Mortar"); + ResourceManager.charge_thrower.renderPart("Oomph"); + } + } + + GL11.glShadeModel(GL11.GL_FLAT); + } + + public boolean isScoped(ItemStack stack) { + return WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SCOPE); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderChemthrower.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderChemthrower.java new file mode 100644 index 000000000..238aa9a5a --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderChemthrower.java @@ -0,0 +1,101 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mags.IMagazine; +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderChemthrower extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -2.5F * offset, -2.5F * offset, 2.5F * offset, + 0, -4.375 / 8D, 1); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.chemthrower_tex); + double scale = 0.75D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + + GL11.glTranslated(0, -2, -4); + GL11.glRotated(equip[0], -1, 0, 0); + GL11.glTranslated(0, 2, 4); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + GL11.glRotated(90, 0, 1, 0); + ResourceManager.chemthrower.renderPart("Gun"); + ResourceManager.chemthrower.renderPart("Hose"); + ResourceManager.chemthrower.renderPart("Nozzle"); + + GL11.glTranslated(0, 0.875, 1.75); + IMagazine mag = gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack); + double d = (double) mag.getAmount(stack, MainRegistry.proxy.me().inventory) / (double) mag.getCapacity(stack); + GL11.glRotated(135 - d * 270, 1, 0, 0); + GL11.glTranslated(0, -0.875, -1.75); + + ResourceManager.chemthrower.renderPart("Gauge"); + + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 2D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, -2.5, 0.5); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 2D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(0.875, 0, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -10D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, -0.5, -0.5); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glRotated(90, 0, 1, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.chemthrower_tex); + ResourceManager.chemthrower.renderPart("Gun"); + ResourceManager.chemthrower.renderPart("Hose"); + ResourceManager.chemthrower.renderPart("Nozzle"); + ResourceManager.chemthrower.renderPart("Gauge"); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCoilgun.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCoilgun.java new file mode 100644 index 000000000..84a709149 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCoilgun.java @@ -0,0 +1,96 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderCoilgun extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.25F * offset, -1.5F * offset, 2.5F * offset, + 0, -7.5 / 8D, 1); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.flaregun_tex); + double scale = 0.75D; + GL11.glScaled(scale, scale, scale); + + GL11.glRotated(-90, 0, 1, 0); + + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + GL11.glTranslated(-1.5 - recoil[0] * 0.5, 0, 0); + GL11.glRotated(recoil[0] * 45, 0, 0, 1); + GL11.glTranslated(1.5, 0, 0); + + double[] reload = HbmAnimations.getRelevantTransformation("RELOAD"); + GL11.glTranslated(-2.5, 0, 0); + GL11.glRotated(reload[0] * -45, 0, 0, 1); + GL11.glTranslated(2.5, 0, 0); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.coilgun_tex); + ResourceManager.coilgun.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 3D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 0.25, 1.25); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 4D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.25, -0.25, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -20D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, -0.25, 0.5); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glRotated(-90, 0, 1, 0); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.coilgun_tex); + ResourceManager.coilgun.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCongoLake.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCongoLake.java new file mode 100644 index 000000000..8dfd5df3a --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderCongoLake.java @@ -0,0 +1,179 @@ +package com.hbm.render.item.weapon.sedna; + +import java.awt.Color; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mags.IMagazine; +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.particle.SpentCasing; +import com.hbm.render.anim.HbmAnimations; +import com.hbm.render.anim.HbmAnimations.AnimType; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderCongoLake extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.5F * offset, -2F * offset, 1.25F * offset, + 0, -10 / 8D, 0.25); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.congolake_tex); + double scale = 0.5D; + GL11.glScaled(scale, scale, scale); + + HbmAnimations.applyRelevantTransformation("Gun"); + ResourceManager.congolake.renderPart("Gun"); + + + GL11.glPushMatrix(); + { + HbmAnimations.applyRelevantTransformation("Pump"); + ResourceManager.congolake.renderPart("Pump"); + } + GL11.glPopMatrix(); + + + GL11.glPushMatrix(); + { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + HbmAnimations.applyRelevantTransformation("Sight"); + GL11.glTranslated(0, 2.125, 3); + GL11.glRotated(aimingProgress * -90, 1, 0, 0); + GL11.glTranslated(0, -2.125, -3); + ResourceManager.congolake.renderPart("Sight"); + } + GL11.glPopMatrix(); + + + GL11.glPushMatrix(); + { + HbmAnimations.applyRelevantTransformation("Loop"); + ResourceManager.congolake.renderPart("Loop"); + } + GL11.glPopMatrix(); + + + GL11.glPushMatrix(); + { + HbmAnimations.applyRelevantTransformation("GuardOuter"); + ResourceManager.congolake.renderPart("GuardOuter"); + + GL11.glPushMatrix(); + { + HbmAnimations.applyRelevantTransformation("GuardInner"); + ResourceManager.congolake.renderPart("GuardInner"); + } + GL11.glPopMatrix(); + } + GL11.glPopMatrix(); + + + GL11.glPushMatrix(); + { + IMagazine mag = gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack); + if(gun.getLastAnim(stack, 0) != AnimType.INSPECT || mag.getAmount(stack, MainRegistry.proxy.me().inventory) > 0) { //omit when inspecting and no shell is loaded + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.casings_tex); + + HbmAnimations.applyRelevantTransformation("Shell"); + + SpentCasing casing = mag.getCasing(stack, MainRegistry.proxy.me().inventory); + int[] colors = casing != null ? casing.getColors() : new int[] { SpentCasing.COLOR_CASE_40MM }; + + Color shellColor = new Color(colors[0]); + GL11.glColor3f(shellColor.getRed() / 255F, shellColor.getGreen() / 255F, shellColor.getBlue() / 255F); + ResourceManager.congolake.renderPart("Shell"); + + Color shellForeColor = new Color(colors.length > 1 ? colors[1] : colors[0]); + GL11.glColor3f(shellForeColor.getRed() / 255F, shellForeColor.getGreen() / 255F, shellForeColor.getBlue() / 255F); + ResourceManager.congolake.renderPart("ShellFore"); + + GL11.glColor3f(1F, 1F, 1F); + } + } + GL11.glPopMatrix(); + + double smokeScale = 0.25; + + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.75, 4.25); + double[] transform = HbmAnimations.getRelevantTransformation("Gun"); + GL11.glRotated(-transform[5], 0, 0, 1); + GL11.glRotated(-transform[4], 0, 1, 0); + GL11.glRotated(-transform[3], 1, 0, 0); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(smokeScale, smokeScale, smokeScale); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 1D); + GL11.glPopMatrix(); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.75, 4.25); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + GL11.glScaled(0.5, 0.5, 0.5); + this.renderMuzzleFlash(gun.lastShot[0], 150, 7.5); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + GL11.glTranslated(0, -2.5, 4); + double scale = 2.5D; + GL11.glScaled(scale, scale, scale); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 2.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(0, -1.25, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -15D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, -1.25, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.congolake_tex); + ResourceManager.congolake.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDANI.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDANI.java new file mode 100644 index 000000000..dfdaf13c5 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDANI.java @@ -0,0 +1,205 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderDANI extends ItemRenderWeaponBase { + + @Override public boolean isAkimbo() { return true; } + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + float offset = 0.8F; + + for(int i = -1; i <= 1; i += 2) { + + int index = i == -1 ? 0 : 1; + Minecraft.getMinecraft().renderEngine.bindTexture(index == 0 ? ResourceManager.dani_celestial_tex : ResourceManager.dani_lunar_tex); + + GL11.glPushMatrix(); + + standardAimingTransform(stack, + -1.5F * offset * i, -0.75F * offset, 1F * offset, + 0, -3.125 / 8D, 0.25); + + double scale = 0.125D; + GL11.glScaled(scale, scale, scale); + + GL11.glShadeModel(GL11.GL_SMOOTH); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL", index); + double[] reloadMove = HbmAnimations.getRelevantTransformation("RELOAD_MOVE", index); + double[] reloadRot = HbmAnimations.getRelevantTransformation("RELOAD_ROT", index); + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP", index); + + GL11.glTranslated(recoil[0], recoil[1], recoil[2]); + GL11.glRotated(recoil[2] * 10, 1, 0, 0); + + GL11.glTranslated(0, -2, -2); + GL11.glRotated(equip[0], -1, 0, 0); + GL11.glTranslated(0, 2, 2); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.5, 9.25); + GL11.glRotated(-recoil[2] * 10, 1, 0, 0); + GL11.glRotated(90, 0, 1, 0); + this.renderSmokeNodes(gun.getConfig(stack, index).smokeNodes, 0.5D); + GL11.glPopMatrix(); + + GL11.glTranslated(reloadMove[0], reloadMove[1], reloadMove[2]); + + GL11.glRotated(reloadRot[0], 1, 0, 0); + GL11.glRotated(reloadRot[2] * i, 0, 0, 1); + GL11.glRotated(reloadRot[1] * i, 0, 1, 0); + ResourceManager.bio_revolver.renderPart("Grip"); + + GL11.glPushMatrix(); /// FRONT PUSH /// + GL11.glRotated(HbmAnimations.getRelevantTransformation("FRONT", index)[2], 1, 0, 0); + ResourceManager.bio_revolver.renderPart("Barrel"); + GL11.glPushMatrix(); /// LATCH PUSH /// + GL11.glTranslated(0, 2.3125, -0.875); + GL11.glRotated(HbmAnimations.getRelevantTransformation("LATCH", index)[2], 1, 0, 0); + GL11.glTranslated(0, -2.3125, 0.875); + ResourceManager.bio_revolver.renderPart("Latch"); + GL11.glPopMatrix(); /// LATCH POP /// + + GL11.glPushMatrix(); /// DRUM PUSH /// + GL11.glTranslated(0, 1, 0); + GL11.glRotated(HbmAnimations.getRelevantTransformation("DRUM", index)[2] * 60, 0, 0, 1); + GL11.glTranslated(0, -1, 0); + GL11.glTranslated(0, 0, HbmAnimations.getRelevantTransformation("DRUM_PUSH", index)[2]); + ResourceManager.bio_revolver.renderPart("Drum"); + GL11.glPopMatrix(); /// DRUM POP /// + + GL11.glPopMatrix(); /// FRONT POP /// + + GL11.glPushMatrix(); /// HAMMER /// + GL11.glTranslated(0, 0, -4.5); + GL11.glRotated(-45 + 45 * HbmAnimations.getRelevantTransformation("HAMMER", index)[2], 1, 0, 0); + GL11.glTranslated(0, 0, 4.5); + ResourceManager.bio_revolver.renderPart("Hammer"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.5, 9.25); + GL11.glRotated(90, 0, 1, 0); + this.renderMuzzleFlash(gun.lastShot[index], 75, 7.5); + GL11.glPopMatrix(); + + GL11.glPopMatrix(); + } + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + GL11.glTranslated(0, 1, 3); + } + + @Override + public void setupThirdPersonAkimbo(ItemStack stack) { + super.setupThirdPersonAkimbo(stack); + GL11.glTranslated(0, 1, 3); + } + + @Override + public void setupInv(ItemStack stack) { + GL11.glScaled(1, 1, -1); + GL11.glTranslated(8, 6, 0); + double scale = 1.125D; + GL11.glScaled(scale, scale, scale); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, 1.5, 0); + } + + @Override + public void renderInv(ItemStack stack) { + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glShadeModel(GL11.GL_SMOOTH); + + GL11.glPushMatrix(); + GL11.glRotated(225, 0, 0, 1); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(2, 0, 0); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.dani_celestial_tex); + ResourceManager.bio_revolver.renderAll(); + GL11.glPopMatrix(); + + GL11.glTranslated(0, 0, 5); + GL11.glPushMatrix(); + GL11.glRotated(225, 0, 0, 1); + GL11.glRotated(-90, 0, 1, 0); + GL11.glRotated(-90, 1, 0, 0); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(-45, 0, 1, 0); + GL11.glTranslated(-2, 0, 0); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.dani_lunar_tex); + ResourceManager.bio_revolver.renderAll(); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void renderEquipped(ItemStack stack) { + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.dani_lunar_tex); + ResourceManager.bio_revolver.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void renderEquippedAkimbo(ItemStack stack) { + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.dani_celestial_tex); + ResourceManager.bio_revolver.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void renderModTable(ItemStack stack, int index) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(index == 1 ? ResourceManager.dani_celestial_tex : ResourceManager.dani_lunar_tex); + ResourceManager.bio_revolver.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.dani_celestial_tex); + ResourceManager.bio_revolver.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDebug.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDebug.java new file mode 100644 index 000000000..981138487 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDebug.java @@ -0,0 +1,140 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderDebug extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 1); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.0F * offset, -0.75F * offset, 1F * offset, + 0, -3.875 / 8D, 0); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + + double scale = 0.125D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + + double[] equipSpin = HbmAnimations.getRelevantTransformation("ROTATE"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] reloadLift = HbmAnimations.getRelevantTransformation("RELOAD_LIFT"); + double[] reloadJolt = HbmAnimations.getRelevantTransformation("RELOAD_JOLT"); + double[] reloadTilt = HbmAnimations.getRelevantTransformation("RELAOD_TILT"); + double[] cylinderFlip = HbmAnimations.getRelevantTransformation("RELOAD_CYLINDER"); + double[] reloadBullets = HbmAnimations.getRelevantTransformation("RELOAD_BULLETS"); + + GL11.glRotated(equipSpin[0], 0, 0, 1); + + standardAimingTransform(stack, 0, 0, recoil[2], -recoil[2], 0, 0); + GL11.glRotated(recoil[2] * 10, 0, 0, 1); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + GL11.glPushMatrix(); + GL11.glTranslated(-9, 2.5, 0); + GL11.glRotated(recoil[2] * -10, 0, 0, 1); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.5D); + GL11.glPopMatrix(); + + GL11.glRotated(reloadLift[0], 0, 0, 1); + GL11.glTranslated(reloadJolt[0], 0, 0); + GL11.glRotated(reloadTilt[0], 1, 0, 0); + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.debug_gun_tex); + ResourceManager.lilmac.renderPart("Gun"); + + GL11.glPushMatrix(); + GL11.glRotated(cylinderFlip[0], 1, 0, 0); + ResourceManager.lilmac.renderPart("Pivot"); + GL11.glTranslated(0, 1.75, 0); + GL11.glRotated(HbmAnimations.getRelevantTransformation("DRUM")[2] * -60, 1, 0, 0); + GL11.glTranslated(0, -1.75, 0); + ResourceManager.lilmac.renderPart("Cylinder"); + GL11.glTranslated(reloadBullets[0], reloadBullets[1], reloadBullets[2]); + if(HbmAnimations.getRelevantTransformation("RELOAD_BULLETS_CON")[0] != 1) + ResourceManager.lilmac.renderPart("Bullets"); + ResourceManager.lilmac.renderPart("Casings"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); /// HAMMER /// + GL11.glTranslated(4, 1.25, 0); + GL11.glRotated(-30 + 30 * HbmAnimations.getRelevantTransformation("HAMMER")[2], 0, 0, 1); + GL11.glTranslated(-4, -1.25, 0); + ResourceManager.lilmac.renderPart("Hammer"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0.125, 2.5, 0); + this.renderGapFlash(gun.lastShot[0]); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(-9.5, 2.5, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + //this.renderMuzzleFlash(gun.lastShot); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + GL11.glScaled(0.75, 0.75, 0.75); + GL11.glTranslated(0, 1, 3); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.25D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + + GL11.glRotated(90, 0, 1, 0); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glAlphaFunc(GL11.GL_GREATER, 0F); + GL11.glEnable(GL11.GL_ALPHA_TEST); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.debug_gun_tex); + ResourceManager.lilmac.renderPart("Gun"); + ResourceManager.lilmac.renderPart("Cylinder"); + ResourceManager.lilmac.renderPart("Bullets"); + ResourceManager.lilmac.renderPart("Casings"); + ResourceManager.lilmac.renderPart("Pivot"); + ResourceManager.lilmac.renderPart("Hammer"); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDoubleBarrel.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDoubleBarrel.java new file mode 100644 index 000000000..1102a81c6 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderDoubleBarrel.java @@ -0,0 +1,178 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class ItemRenderDoubleBarrel extends ItemRenderWeaponBase { + + protected ResourceLocation texture; + + public ItemRenderDoubleBarrel(ResourceLocation texture) { + this.texture = texture; + } + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.25F * offset, -1F * offset, 2F * offset, + 0, -2 / 8D, 1); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + double scale = 0.375D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] turn = HbmAnimations.getRelevantTransformation("TURN"); + double[] barrel = HbmAnimations.getRelevantTransformation("BARREL"); + double[] lift = HbmAnimations.getRelevantTransformation("LIFT"); + double[] shells = HbmAnimations.getRelevantTransformation("SHELLS"); + double[] shellFlip = HbmAnimations.getRelevantTransformation("SHELL_FLIP"); + double[] lever = HbmAnimations.getRelevantTransformation("LEVER"); + double[] buckle = HbmAnimations.getRelevantTransformation("BUCKLE"); + double[] no_ammo = HbmAnimations.getRelevantTransformation("NO_AMMO"); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + GL11.glTranslated(recoil[0] * 3, recoil[1], recoil[2]); + GL11.glRotated(recoil[2] * 10, 1, 0, 0); + + GL11.glTranslated(0, 0, -4); + GL11.glRotated(equip[0], -1, 0, 0); + GL11.glTranslated(0, 0, 4); + + GL11.glTranslated(0, 0, -4); + GL11.glRotated(turn[1], 0, 1, 0); + GL11.glTranslated(0, 0, 4); + + GL11.glTranslated(0, 0, -4); + GL11.glRotated(lift[0], -1, 0, 0); + GL11.glTranslated(0, 0, 4); + + ResourceManager.double_barrel.renderPart("Stock"); + + GL11.glPushMatrix(); + + GL11.glTranslated(0, -0.4375, -0.875); + GL11.glRotated(barrel[0], 1, 0, 0); + GL11.glTranslated(0, 0.4375, 0.875); + + ResourceManager.double_barrel.renderPart("BarrelShort"); + if(!isSawedOff(stack)) ResourceManager.double_barrel.renderPart("Barrel"); + + GL11.glPushMatrix(); + GL11.glTranslated(0.75, 0, -0.6875); + GL11.glRotated(buckle[1], 0, 1, 0); + GL11.glTranslated(-0.75, 0, 0.6875); + ResourceManager.double_barrel.renderPart("Buckle"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(-0.3125, 0.3125, 0); + GL11.glRotated(lever[2], 0, 0, 1); + GL11.glTranslated(0.3125, -0.3125, 0); + ResourceManager.double_barrel.renderPart("Lever"); + GL11.glPopMatrix(); + + if(no_ammo[0] == 0) { + GL11.glPushMatrix(); + GL11.glTranslated(shells[0], shells[1], shells[2]); + GL11.glTranslated(0, 0, -1); + GL11.glRotated(shellFlip[0], 1, 0, 0); + GL11.glTranslated(0, 0, 1); + ResourceManager.double_barrel.renderPart("Shells"); + GL11.glPopMatrix(); + } + + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, 8); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + GL11.glScaled(2, 2, 2); + this.renderMuzzleFlash(gun.lastShot[0], 75, 5); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.75D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 1, 3); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + if(isSawedOff(stack)) { + double scale = 2D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-2, 0.5, 0); + } else { + double scale = 1.375D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(0, 0.5, 0); + } + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -8.75D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + ResourceManager.double_barrel.renderPart("Stock"); + ResourceManager.double_barrel.renderPart("BarrelShort"); + if(!isSawedOff(stack)) ResourceManager.double_barrel.renderPart("Barrel"); + ResourceManager.double_barrel.renderPart("Buckle"); + ResourceManager.double_barrel.renderPart("Lever"); + ResourceManager.double_barrel.renderPart("Shells"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + public boolean isSawedOff(ItemStack stack) { + return stack.getItem() == ModItems.gun_double_barrel_sacred_dragon || WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SAWED_OFF); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderEOTT.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderEOTT.java new file mode 100644 index 000000000..76d653de5 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderEOTT.java @@ -0,0 +1,295 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.item.ItemStack; + +public class ItemRenderEOTT extends ItemRenderWeaponBase { + + @Override public boolean isAkimbo() { return true; } + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 1); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + float offset = 0.8F; + + for(int i = -1; i <= 1; i += 2) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.eott_tex); + int index = i == -1 ? 0 : 1; + + GL11.glPushMatrix(); + standardAimingTransform(stack, + -1.0F * offset * i, -1.25F * offset, 1.25F * offset, + 0, -5.25 / 8D, 0.125); + + double scale = 0.25D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP", index); + double[] rise = HbmAnimations.getRelevantTransformation("RISE", index); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL", index); + double[] slide = HbmAnimations.getRelevantTransformation("SLIDE", index); + double[] bullet = HbmAnimations.getRelevantTransformation("BULLET", index); + double[] hammer = HbmAnimations.getRelevantTransformation("HAMMER", index); + double[] roll = HbmAnimations.getRelevantTransformation("ROLL", index); + double[] mag = HbmAnimations.getRelevantTransformation("MAG", index); + double[] magroll = HbmAnimations.getRelevantTransformation("MAGROLL", index); + double[] sight = HbmAnimations.getRelevantTransformation("SIGHT", index); + + GL11.glTranslated(0, rise[1], 0); + + GL11.glTranslated(0, 1, -2.25); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, -1, 2.25); + + GL11.glTranslated(0, -1, -4); + GL11.glRotated(recoil[0], 1, 0, 0); + GL11.glTranslated(0, 1, 4); + + GL11.glTranslated(0, 1, 0); + GL11.glRotated(roll[2] * i, 0, 0, 1); + GL11.glTranslated(0, -1, 0); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + ResourceManager.aberrator.renderPart("Gun"); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 2.4375, -1.9375); + GL11.glRotated(sight[0], 1, 0, 0); + GL11.glTranslated(0, -2.4375, 1.9375); + ResourceManager.aberrator.renderPart("Sight"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(mag[0] * i, mag[1], mag[2]); + + GL11.glTranslated(0, 1, 0); + GL11.glRotated(magroll[2] * i, 0, 0, 1); + GL11.glTranslated(0, -1, 0); + + ResourceManager.aberrator.renderPart("Magazine"); + GL11.glTranslated(bullet[0], bullet[1], bullet[2]); + ResourceManager.aberrator.renderPart("Bullet"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, slide[2]); + ResourceManager.aberrator.renderPart("Slide"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.25, -3.625); + GL11.glRotated(-45 + hammer[0], 1, 0, 0); + GL11.glTranslated(0, -1.25, 3.625); + ResourceManager.aberrator.renderPart("Hammer"); + GL11.glPopMatrix(); + + double smokeScale = 0.5; + + GL11.glPushMatrix(); + GL11.glTranslated(0, 2, 4); + GL11.glRotated(recoil[0], -1, 0, 0); + GL11.glRotated(roll[2] * i, 0, 0, -1); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(smokeScale, smokeScale, smokeScale); + this.renderSmokeNodes(gun.getConfig(stack, index).smokeNodes, 0.5D); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 2, 4); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + GL11.glScaled(0.75, 0.75, 0.75); + this.renderMuzzleFlash(gun.lastShot[index], 75, 7.5); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 2, -1.5); + GL11.glScaled(0.5, 0.5, 0.5); + this.renderFireball(gun.lastShot[index]); + GL11.glPopMatrix(); + + GL11.glPopMatrix(); + } + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + GL11.glTranslated(0, -1, 4); + double scale = 1.5D; + GL11.glScaled(scale, scale, scale); + } + + public void setupThirdPersonAkimbo(ItemStack stack) { + super.setupThirdPersonAkimbo(stack); + GL11.glTranslated(0, -1, 4); + double scale = 1.5D; + GL11.glScaled(scale, scale, scale); + + } + + @Override + public void setupInv(ItemStack stack) { + GL11.glScaled(1, 1, -1); + GL11.glTranslated(8, 8, 0); + double scale = 2.5D; + GL11.glScaled(scale, scale, scale); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -12.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0,-1, 0.5); + } + + @Override + public void renderInv(ItemStack stack) { + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glTranslated(0, 1, 0); + + GL11.glPushMatrix(); + GL11.glRotated(225, 0, 0, 1); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-1, 0, 0); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.eott_tex); + ResourceManager.aberrator.renderPart("Gun"); + ResourceManager.aberrator.renderPart("Hammer"); + ResourceManager.aberrator.renderPart("Magazine"); + ResourceManager.aberrator.renderPart("Slide"); + ResourceManager.aberrator.renderPart("Sight"); + GL11.glPopMatrix(); + + GL11.glTranslated(0, 0, 5); + GL11.glPushMatrix(); + GL11.glRotated(225, 0, 0, 1); + GL11.glRotated(-90, 0, 1, 0); + GL11.glRotated(-90, 1, 0, 0); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(-45, 0, 1, 0); + GL11.glTranslated(1, 0, 0); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.eott_tex); + ResourceManager.aberrator.renderPart("Gun"); + ResourceManager.aberrator.renderPart("Hammer"); + ResourceManager.aberrator.renderPart("Magazine"); + ResourceManager.aberrator.renderPart("Slide"); + ResourceManager.aberrator.renderPart("Sight"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void renderEquipped(ItemStack stack) { + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.eott_tex); + ResourceManager.aberrator.renderPart("Gun"); + ResourceManager.aberrator.renderPart("Hammer"); + ResourceManager.aberrator.renderPart("Magazine"); + ResourceManager.aberrator.renderPart("Slide"); + ResourceManager.aberrator.renderPart("Sight"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void renderEquippedAkimbo(ItemStack stack) { + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.eott_tex); + ResourceManager.aberrator.renderPart("Gun"); + ResourceManager.aberrator.renderPart("Hammer"); + ResourceManager.aberrator.renderPart("Magazine"); + ResourceManager.aberrator.renderPart("Slide"); + ResourceManager.aberrator.renderPart("Sight"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void renderModTable(ItemStack stack, int index) { + renderOther(stack, ItemRenderType.INVENTORY); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glAlphaFunc(GL11.GL_GREATER, 0F); + GL11.glEnable(GL11.GL_ALPHA_TEST); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.eott_tex); + ResourceManager.aberrator.renderPart("Gun"); + ResourceManager.aberrator.renderPart("Hammer"); + ResourceManager.aberrator.renderPart("Magazine"); + ResourceManager.aberrator.renderPart("Slide"); + ResourceManager.aberrator.renderPart("Sight"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + public static void renderFireball(long lastShot) { + Tessellator tess = Tessellator.instance; + + int flash = 150; + + if(System.currentTimeMillis() - lastShot < flash) { + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + GL11.glPushMatrix(); + + double fire = (System.currentTimeMillis() - lastShot) / (double) flash; + double height = 5 * fire; + double length = 10 * fire; + double offset = 1 * fire; + double lengthOffset = -1.125; + Minecraft.getMinecraft().renderEngine.bindTexture(flash_plume); + tess.startDrawingQuads(); + tess.setBrightness(240); + tess.setNormal(0F, 1F, 0F); + tess.setColorRGBA_F(1F, 1F, 1F, 1F); + + tess.addVertexWithUV(height, -offset, 0, 0, 1); + tess.addVertexWithUV(-height, -offset, 0, 1, 1); + tess.addVertexWithUV(-height, -offset + length, -lengthOffset, 1, 0); + tess.addVertexWithUV(height, -offset + length, -lengthOffset, 0 ,0); + + tess.addVertexWithUV(height, -offset, 0, 0, 1); + tess.addVertexWithUV(-height, -offset, 0, 1, 1); + tess.addVertexWithUV(-height, -offset + length, lengthOffset, 1, 0); + tess.addVertexWithUV(height, -offset + length, lengthOffset, 0 ,0); + + tess.draw(); + GL11.glPopMatrix(); + GL11.glDisable(GL11.GL_BLEND); + } + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFatMan.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFatMan.java new file mode 100644 index 000000000..67ad4ba90 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFatMan.java @@ -0,0 +1,203 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.factory.XFactoryCatapult; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; +import com.hbm.render.util.RenderMiscEffects; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderFatMan extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.5F * offset, -1.25F * offset, 0.5F * offset, + -1F * offset, -1.25F * offset, 0F * offset); + } + + protected static String label = "AUTO"; + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.fatman_tex); + double scale = 0.5D; + GL11.glScaled(scale, scale, scale); + + boolean isLoaded = gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, null) > 0; + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] lid = HbmAnimations.getRelevantTransformation("LID"); + double[] nuke = HbmAnimations.getRelevantTransformation("NUKE"); + double[] piston = HbmAnimations.getRelevantTransformation("PISTON"); + double[] handle = HbmAnimations.getRelevantTransformation("HANDLE"); + double[] gauge = HbmAnimations.getRelevantTransformation("GAUGE"); + + GL11.glTranslated(0, 1, -2); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, -1, 2); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + ResourceManager.fatman.renderPart("Launcher"); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, handle[2]); + ResourceManager.fatman.renderPart("Handle"); + + GL11.glTranslated(0.4375, -0.875, 0); + GL11.glRotated(gauge[2], 0, 0, 1); + GL11.glTranslated(-0.4375, 0.875, 0); + ResourceManager.fatman.renderPart("Gauge"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0.25, 0.125, 0); + GL11.glRotated(lid[2], 0, 0, 1); + GL11.glTranslated(-0.25, -0.125, 0); + ResourceManager.fatman.renderPart("Lid"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, piston[2]); + if(!isLoaded && piston[2] == 0) GL11.glTranslated(0, 0, 3); + ResourceManager.fatman.renderPart("Piston"); + GL11.glPopMatrix(); + + if(isLoaded || nuke[0] != 0 || nuke[1] != 0 || nuke[2] != 0) { + GL11.glPushMatrix(); + GL11.glTranslated(nuke[0], nuke[1], nuke[2]); + renderNuke(gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getType(stack, null)); + GL11.glPopMatrix(); + } + + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 2.5D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(-0.5, 0.5, -3); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.375D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(0, -0.5, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -8.75D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + boolean isLoaded = gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, null) > 0; + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.fatman_tex); + + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.fatman.renderPart("Launcher"); + ResourceManager.fatman.renderPart("Handle"); + ResourceManager.fatman.renderPart("Gauge"); + ResourceManager.fatman.renderPart("Lid"); + if(!isLoaded) GL11.glTranslated(0, 0, 3); + ResourceManager.fatman.renderPart("Piston"); + if(isLoaded) renderNuke(gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getType(stack, null)); + GL11.glShadeModel(GL11.GL_FLAT); + } + + public void renderNuke(Object type) { + if(type == XFactoryCatapult.nuke_balefire) { + renderBalefire(interp); + } else { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.fatman_mininuke_tex); + ResourceManager.fatman.renderPart("MiniNuke"); + } + } + + public static void renderBalefire(float interp) { + + Minecraft mc = Minecraft.getMinecraft(); + mc.renderEngine.bindTexture(ResourceManager.fatman_balefire_tex); + ResourceManager.fatman.renderPart("MiniNuke"); + mc.renderEngine.bindTexture(RenderMiscEffects.glintBF); + mc.entityRenderer.disableLightmap(interp); + + float scale = 2F; + float r = 0F; + float g = 0.8F; + float b = 0.15F; + float speed = -6; + float glintColor = 0.76F; + int layers = 3; + + GL11.glPushMatrix(); + float offset = mc.thePlayer.ticksExisted + interp; + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_BLEND); + GL11.glColor4f(1F, 1F, 1F, 1F); + GL11.glDepthFunc(GL11.GL_EQUAL); + GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE); + GL11.glDepthMask(false); + + for(int k = 0; k < layers; ++k) { + + GL11.glColor4f(r * glintColor, g * glintColor, b * glintColor, 1.0F); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glLoadIdentity(); + + float movement = offset * (0.001F + (float) k * 0.003F) * speed; + + GL11.glScalef(scale, scale, scale); + GL11.glRotatef(30.0F - k * 60.0F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(0F, movement, 0F); + + GL11.glMatrixMode(GL11.GL_MODELVIEW); + + ResourceManager.fatman.renderPart("MiniNuke"); + } + + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glDepthMask(true); + GL11.glLoadIdentity(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glPopMatrix(); + + mc.entityRenderer.enableLightmap(interp); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFlamer.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFlamer.java new file mode 100644 index 000000000..f1c9f3560 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFlamer.java @@ -0,0 +1,130 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mags.IMagazine; +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class ItemRenderFlamer extends ItemRenderWeaponBase { + + public ResourceLocation texture; + + public ItemRenderFlamer(ResourceLocation texture) { + this.texture = texture; + } + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.5F * offset, -1.5F * offset, 2.75F * offset, + 0, -4.625 / 8D, 0.25); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + double scale = 0.375D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] rotate = HbmAnimations.getRelevantTransformation("ROTATE"); + + GL11.glTranslated(0, 2, -6); + GL11.glRotated(-equip[0], 1, 0, 0); + GL11.glTranslated(0, -2, 6); + + GL11.glTranslated(0, 1, 0); + GL11.glRotated(rotate[2], 0, 0, 1); + GL11.glTranslated(0, -1, 0); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("Gun"); + ResourceManager.flamethrower.renderPart("Gun"); + if(hasShield(stack)) ResourceManager.flamethrower.renderPart("HeatShield"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("Tank"); + ResourceManager.flamethrower.renderPart("Tank"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("Gauge"); + GL11.glTranslated(1.25, 1.25, 0); + IMagazine mag = gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack); + GL11.glRotated(-135 + (mag.getAmount(stack, MainRegistry.proxy.me().inventory) * 270D / mag.getCapacity(stack)), 0, 0, 1); + GL11.glTranslated(-1.25, -1.25, 0); + ResourceManager.flamethrower.renderPart("Gauge"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.75D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, -3, 4); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.25D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-1, 1, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -7.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, 0, 1); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + ResourceManager.flamethrower.renderPart("Gun"); + ResourceManager.flamethrower.renderPart("Tank"); + ResourceManager.flamethrower.renderPart("Gauge"); + if(hasShield(stack)) ResourceManager.flamethrower.renderPart("HeatShield"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + public boolean hasShield(ItemStack stack) { + return stack.getItem() == ModItems.gun_flamer_daybreaker; + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFlaregun.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFlaregun.java new file mode 100644 index 000000000..3bcabc96b --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFlaregun.java @@ -0,0 +1,124 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderFlaregun extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.25F * offset, -1.5F * offset, 2F * offset, + 0, -5.5 / 8D, 0.5); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.flaregun_tex); + double scale = 0.125D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] hammer = HbmAnimations.getRelevantTransformation("HAMMER"); + double[] open = HbmAnimations.getRelevantTransformation("OPEN"); + double[] shell = HbmAnimations.getRelevantTransformation("SHELL"); + double[] flip = HbmAnimations.getRelevantTransformation("FLIP"); + + GL11.glTranslated(recoil[0], recoil[1], recoil[2]); + GL11.glRotated(recoil[2] * 10, 1, 0, 0); + GL11.glRotated(flip[0], 1, 0, 0); + + GL11.glTranslated(0, 0, -8); + GL11.glRotated(equip[0], -1, 0, 0); + GL11.glTranslated(0, 0, 8); + + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.flaregun.renderPart("Gun"); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.8125, -4); + GL11.glRotated(hammer[0] - 15, 1, 0, 0); + GL11.glTranslated(0, -1.8125, 4); + ResourceManager.flaregun.renderPart("Hammer"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 2.156, 1.78); + GL11.glRotated(open[0], 1, 0, 0); + GL11.glTranslated(0, -2.156, -1.78); + ResourceManager.flaregun.renderPart("Barrel"); + GL11.glTranslated(shell[0], shell[1], shell[2]); + ResourceManager.flaregun.renderPart("Flare"); + GL11.glPopMatrix(); + + double smokeScale = 0.5; + + GL11.glPushMatrix(); + GL11.glTranslated(0, 4, 9); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(smokeScale, smokeScale, smokeScale); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 2.5D); + GL11.glTranslated(0, 0, 0.1); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 2D); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 0.5D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 0.25, 3); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.5, 0, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.flaregun_tex); + ResourceManager.flaregun.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFolly.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFolly.java new file mode 100644 index 000000000..2908e52d1 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderFolly.java @@ -0,0 +1,258 @@ +package com.hbm.render.item.weapon.sedna; + +import java.awt.Color; +import java.util.ArrayList; +import java.util.List; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mags.IMagazine; +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; +import com.hbm.util.EntityDamageUtil; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; + +public class ItemRenderFolly extends ItemRenderWeaponBase { + + public static long timeAiming; + public static boolean jingle = false; + public static boolean wasAiming = false; + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2F : 2.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + float aim = 0.75F; + standardAimingTransform(stack, + -2.5F * offset, -1.5F * offset, 2.75F * offset, + -2 * aim, -1 * aim, 2.25F * offset); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.folly_tex); + double scale = 0.75D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] load = HbmAnimations.getRelevantTransformation("LOAD"); + double[] shell = HbmAnimations.getRelevantTransformation("SHELL"); + double[] screw = HbmAnimations.getRelevantTransformation("SCREW"); + double[] breech = HbmAnimations.getRelevantTransformation("BREECH"); + + GL11.glTranslated(0, 1, -4); + GL11.glRotated(-equip[0], 1, 0, 0); + GL11.glTranslated(0, -1, 4); + + GL11.glTranslated(0, -2, -2); + GL11.glRotated(load[0], 1, 0, 0); + GL11.glTranslated(0, 2, 2); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + ResourceManager.folly.renderPart("Cannon"); + + GL11.glPushMatrix(); + GL11.glTranslated(recoil[0], recoil[1], recoil[2]); + ResourceManager.folly.renderPart("Barrel"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(shell[0], shell[1], shell[2]); + ResourceManager.folly.renderPart("Shell"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(breech[0], breech[1], breech[2]); + ResourceManager.folly.renderPart("Breech"); + GL11.glTranslated(0, 1, 0); + GL11.glRotated(screw[2], 0, 0, 1); + GL11.glTranslated(0, -1, 0); + ResourceManager.folly.renderPart("Cog"); + GL11.glPopMatrix(); + + + boolean isAiming = gun.prevAimingProgress >= 1F && gun.aimingProgress >= 1F; + if(isAiming & !wasAiming) timeAiming = System.currentTimeMillis(); + + if(isAiming) { + + String splash = getBootSplash(); + + if(!jingle && !splash.isEmpty()) { + MainRegistry.proxy.playSoundClient(player.posX, player.posY, player.posZ, "hbm:weapon.fire.vstar", 0.5F, 1F); + jingle = true; + } + + GL11.glPushMatrix(); + GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); + FontRenderer font = Minecraft.getMinecraft().fontRenderer; + float variance = 0.85F + player.getRNG().nextFloat() * 0.15F; + + if(System.currentTimeMillis() - timeAiming > 5000 && load[0] == 0) { + IMagazine mag = gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack); + String msg = mag.getAmount(stack, player.inventory) > 0 ? "+" : "No ammo"; + GL11.glPushMatrix(); + float crosshairSize = 0.01F; + GL11.glTranslatef((font.getStringWidth(msg) / 2) * crosshairSize + 2, 1F + font.FONT_HEIGHT * crosshairSize / 2F, -2.75F); + GL11.glScalef(crosshairSize, -crosshairSize, crosshairSize); + GL11.glRotated(180D, 0, 1, 0); + GL11.glNormal3f(0.0F, 0.0F, -1.0F * crosshairSize); + font.drawString(msg, 0, 0, new Color(variance, variance * 0.5F, 0F).getRGB()); + GL11.glPopMatrix(); + } + + GL11.glPushMatrix(); + float splashSize = 0.02F; + GL11.glTranslatef((font.getStringWidth(splash) / 2) * splashSize + 2, 1F + font.FONT_HEIGHT * splashSize / 2F, -2.75F); + GL11.glScalef(splashSize, -splashSize, splashSize); + GL11.glRotated(180D, 0, 1, 0); + GL11.glNormal3f(0.0F, 0.0F, -1.0F * splashSize); + font.drawString(splash, 0, 0, new Color(variance, variance * 0.5F, 0F).getRGB()); + GL11.glPopMatrix(); + + List tty = getTTY(); + if(!tty.isEmpty()) { + GL11.glPushMatrix(); + float fontSize = 0.005F; + GL11.glTranslatef(2.5F, 1.375F, -2.75F); + GL11.glScalef(fontSize, -fontSize, fontSize); + GL11.glRotated(180D, 0, 1, 0); + GL11.glNormal3f(0.0F, 0.0F, -1.0F * fontSize); + for(String line : tty) { + font.drawString(line, 0, 0, new Color(variance, variance * 0.5F, 0F).getRGB()); + GL11.glTranslated(0, (font.FONT_HEIGHT + 2), 0); + } + GL11.glPopMatrix(); + } + + GL11.glColor3f(1F, 1F, 1F); + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glPopAttrib(); + GL11.glPopMatrix(); + + int brightness = player.worldObj.getLightBrightnessForSkyBlocks(MathHelper.floor_double(player.posX), MathHelper.floor_double(player.posY), MathHelper.floor_double(player.posZ), 0); + int j = brightness % 65536; + int k = brightness / 65536; + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) j / 1.0F, (float) k / 1.0F); + } else { + jingle = false; + } + + wasAiming = isAiming; + + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 3D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(-0.25, 0.5, 3); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.25D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(0, -0.5, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -8.75D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, -1, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.folly_tex); + ResourceManager.folly.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } + + public static String getBootSplash() { + long now = System.currentTimeMillis(); + if(timeAiming + 5000 < now) return ""; + if(timeAiming + 3000 > now) return ""; + int splashIndex = (int)((now - timeAiming - 3000) * 35 / 2000) - 10; + //use the StringBuilder this, can't eat the drywall that, this used to be a free country + char[] letters = "VStarOS".toCharArray(); + String splash = ""; + for(int i = 0; i < letters.length; i++) { + if(i < splashIndex - 1) splash += EnumChatFormatting.LIGHT_PURPLE; + if(i == splashIndex - 1) splash += EnumChatFormatting.AQUA; + if(i == splashIndex) splash += EnumChatFormatting.WHITE; + if(i == splashIndex + 1) splash += EnumChatFormatting.AQUA; + if(i == splashIndex + 2) splash += EnumChatFormatting.LIGHT_PURPLE; + if(i > splashIndex + 2) splash += EnumChatFormatting.BLACK; + splash += letters[i]; + } + return splash; + } + + public static List getTTY() { + List tty = new ArrayList(); + long now = System.currentTimeMillis(); + int time = (int)((now - timeAiming)); + if(time < 3000) { + if(time > 250) tty.add(EnumChatFormatting.GREEN + "POST successful - Code 0"); + if(time > 500) tty.add(EnumChatFormatting.GREEN + "8,388,608 bytes of RAM installed"); + if(time > 500) tty.add(EnumChatFormatting.GREEN + "5,187,427 bytes available"); + if(time > 750) tty.add(EnumChatFormatting.GREEN + "Reticulating splines..."); + if(time > 1500) tty.add(EnumChatFormatting.GREEN + "No keyboard found!"); + if(time > 2000) tty.add(EnumChatFormatting.GREEN + "Booting from /dev/sda1..."); + } + if(time > 5000) { + EntityPlayer player = MainRegistry.proxy.me(); + MovingObjectPosition mop = EntityDamageUtil.getMouseOver(player, 250); + String target = EnumChatFormatting.GREEN + "Target: "; + if(mop.typeOfHit == mop.typeOfHit.MISS) target += "N/A"; + if(mop.typeOfHit == mop.typeOfHit.BLOCK) target += mop.blockX + "/" + mop.blockY + "/" + mop.blockZ; + if(mop.typeOfHit == mop.typeOfHit.ENTITY) target += mop.entityHit.getCommandSenderName(); + tty.add(target); + tty.add(EnumChatFormatting.GREEN + "Angle: " + ((int)(-player.rotationPitch * 100) / 100D)); + } + return tty; + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderG3.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderG3.java new file mode 100644 index 000000000..ec6d0e35a --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderG3.java @@ -0,0 +1,231 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class ItemRenderG3 extends ItemRenderWeaponBase { + + public ResourceLocation texture; + + public ItemRenderG3(ResourceLocation texture) { + this.texture = texture; + } + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * (isScoped(stack) ? 0.66F : 0.33F)); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + boolean isScoped = this.isScoped(stack); + float offset = 0.8F; + standardAimingTransform(stack, + -1.25F * offset, -1F * offset, 2.75F * offset, + 0, isScoped ? (-5.53125 / 8D) : (-3.5625 / 8D), isScoped ? 1.46875 : 1.75); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + boolean isScoped = this.isScoped(stack); + if(isScoped && ItemGunBaseNT.prevAimingProgress == 1 && ItemGunBaseNT.aimingProgress == 1) return; + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(getTexture(stack)); + double scale = 0.375D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] lift = HbmAnimations.getRelevantTransformation("LIFT"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] mag = HbmAnimations.getRelevantTransformation("MAG"); + double[] speen = HbmAnimations.getRelevantTransformation("SPEEN"); + double[] bolt = HbmAnimations.getRelevantTransformation("BOLT"); + double[] plug = HbmAnimations.getRelevantTransformation("PLUG"); + double[] handle = HbmAnimations.getRelevantTransformation("HANDLE"); + double[] bullet = HbmAnimations.getRelevantTransformation("BULLET"); + + GL11.glTranslated(0, -2, -6); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, 2, 6); + + GL11.glTranslated(0, 0, -4); + GL11.glRotated(lift[0], 1, 0, 0); + GL11.glTranslated(0, 0, 4); + + GL11.glTranslated(0, 0, recoil[2]); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + ResourceManager.g3.renderPart("Rifle"); + if(hasStock(stack)) ResourceManager.g3.renderPart("Stock"); + boolean silenced = hasSilencer(stack); + if(!silenced) ResourceManager.g3.renderPart("Flash_Hider"); + ResourceManager.g3.renderPart("Trigger"); + + Minecraft.getMinecraft().renderEngine.bindTexture(getTexture(stack)); + GL11.glPushMatrix(); + GL11.glTranslated(mag[0], mag[1], mag[2]); + GL11.glTranslated(0, -1.75, -0.5); + GL11.glRotated(speen[2], 0, 0, 1); + GL11.glRotated(speen[1], 0, 1, 0); + GL11.glTranslated(0, 1.75, 0.5); + ResourceManager.g3.renderPart("Magazine"); + if(bullet[0] == 0) ResourceManager.g3.renderPart("Bullet"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, bolt[2]); + ResourceManager.g3.renderPart("Guide_And_Bolt"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.625, plug[2]); + GL11.glRotated(handle[2], 0, 0, 1); + GL11.glTranslated(0, -0.625, 0); + ResourceManager.g3.renderPart("Plug"); + + GL11.glTranslated(0, 0.625, 5.25); + GL11.glRotated(22.5, 0, 0, 1); + GL11.glRotated(handle[1], 0, 1, 0); + GL11.glRotated(-22.5, 0, 0, 1); + GL11.glTranslated(0, -0.625, -5.25); + ResourceManager.g3.renderPart("Handle"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, -0.875, -3.5); + GL11.glRotated(-30 * (1 - ItemGunBaseNT.getMode(stack, 0)), 1, 0, 0); + GL11.glTranslated(0, 0.875, 3.5); + ResourceManager.g3.renderPart("Selector"); + GL11.glPopMatrix(); + + if(silenced || isScoped) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.g3_attachments); + if(silenced) ResourceManager.g3.renderPart("Silencer"); + if(isScoped) ResourceManager.g3.renderPart("Scope"); + } + + if(!silenced) { + double smokeScale = 0.75; + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, 13); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(smokeScale, smokeScale, smokeScale); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.5D); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, 12); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(-25 + gun.shotRand * 10, 1, 0, 0); + GL11.glScaled(0.75, 0.75, 0.75); + this.renderMuzzleFlash(gun.lastShot[0], 75, 10); + GL11.glPopMatrix(); + } + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 2, 4); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + if(hasStock(stack)) { + double scale = 0.875D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(hasSilencer(stack) ? 50 : 45, 0, 1, 0); + GL11.glTranslated(hasSilencer(stack) ? 0.75 : -0.5, 0.5, 0); + } else { + double scale = 1.125D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(hasSilencer(stack) ? 55 : 45, 0, 1, 0); //preserves proportions whilst limiting size + GL11.glTranslated(2.5, 0.5, 0); + } + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, 0.5, -0.5); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + boolean silenced = hasSilencer(stack); + boolean isScoped = this.isScoped(stack); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(getTexture(stack)); + ResourceManager.g3.renderPart("Rifle"); + if(hasStock(stack)) ResourceManager.g3.renderPart("Stock"); + ResourceManager.g3.renderPart("Magazine"); + if(!silenced)ResourceManager.g3.renderPart("Flash_Hider"); + ResourceManager.g3.renderPart("Guide_And_Bolt"); + ResourceManager.g3.renderPart("Handle"); + ResourceManager.g3.renderPart("Trigger"); + + GL11.glPushMatrix(); + GL11.glTranslated(0, -0.875, -3.5); + GL11.glRotated(-30, 1, 0, 0); + GL11.glTranslated(0, 0.875, 3.5); + ResourceManager.g3.renderPart("Selector"); + GL11.glPopMatrix(); + + if(silenced || isScoped) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.g3_attachments); + if(silenced) ResourceManager.g3.renderPart("Silencer"); + if(isScoped) ResourceManager.g3.renderPart("Scope"); + } + GL11.glShadeModel(GL11.GL_FLAT); + } + + public boolean hasStock(ItemStack stack) { + return !WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_NO_STOCK); + } + + public boolean hasSilencer(ItemStack stack) { + return stack.getItem() == ModItems.gun_g3_zebra || WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SILENCER); + } + + public boolean isScoped(ItemStack stack) { + return stack.getItem() == ModItems.gun_g3_zebra || WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SCOPE); + } + + public ResourceLocation getTexture(ItemStack stack) { + if(WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_FURNITURE_GREEN)) return ResourceManager.g3_green_tex; + if(WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_FURNITURE_BLACK)) return ResourceManager.g3_black_tex; + return texture; + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderGreasegun.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderGreasegun.java new file mode 100644 index 000000000..dbbe9a7c9 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderGreasegun.java @@ -0,0 +1,158 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderGreasegun extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.5F * offset, -1F * offset, 1.75F * offset, + 0, -2.625 / 8D, 1.125); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(isRefurbished(stack) ? ResourceManager.greasegun_clean_tex : ResourceManager.greasegun_tex); + double scale = 0.375D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] stock = HbmAnimations.getRelevantTransformation("STOCK"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] flap = HbmAnimations.getRelevantTransformation("FLAP"); + double[] lift = HbmAnimations.getRelevantTransformation("LIFT"); + double[] handle = HbmAnimations.getRelevantTransformation("HANDLE"); + double[] mag = HbmAnimations.getRelevantTransformation("MAG"); + double[] turn = HbmAnimations.getRelevantTransformation("TURN"); + double[] bullet = HbmAnimations.getRelevantTransformation("BULLET"); + + GL11.glTranslated(0, -3, -3); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, 3, 3); + + GL11.glTranslated(0, -3, -3); + GL11.glRotated(lift[0], 1, 0, 0); + GL11.glTranslated(0, 3, 3); + + if(gun.aimingProgress < 1F) GL11.glRotated(turn[2], 0, 0, 1); + + GL11.glTranslated(0, 0, recoil[2]); + + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.greasegun.renderPart("Gun"); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, -4 - stock[2]); + ResourceManager.greasegun.renderPart("Stock"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(mag[0], mag[1], mag[2]); + ResourceManager.greasegun.renderPart("Magazine"); + if(bullet[0] != 1) ResourceManager.greasegun.renderPart("Bullet"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, -1.4375, -0.125); + GL11.glRotated(handle[0], 1, 0, 0); + GL11.glTranslated(0, 1.4375, 0.125); + ResourceManager.greasegun.renderPart("Handle"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.53125, 0); + GL11.glRotated(flap[2], 0, 0, 1); + GL11.glTranslated(0, -0.5125, 0); + ResourceManager.greasegun.renderPart("Flap"); + GL11.glPopMatrix(); + + double smokeScale = 0.25; + + GL11.glPushMatrix(); + GL11.glTranslated(-0.25, 0, 1.5); + GL11.glRotated(turn[2], 0, 0, -1); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(smokeScale, smokeScale, smokeScale); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 1D); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, 8); + GL11.glRotated(turn[2], 0, 0, -1); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(smokeScale, smokeScale, smokeScale); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 1D); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, 8); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + GL11.glScaled(0.5, 0.5, 0.5); + this.renderMuzzleFlash(gun.lastShot[0], 75, 7.5); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + GL11.glTranslated(0, 1, 3); + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.5, 2, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -7.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, 2, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(isRefurbished(stack) ? ResourceManager.greasegun_clean_tex : ResourceManager.greasegun_tex); + ResourceManager.greasegun.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } + + public boolean isRefurbished(ItemStack stack) { + return WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_GREASEGUN_CLEAN); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHangman.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHangman.java new file mode 100644 index 000000000..21948b4a8 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHangman.java @@ -0,0 +1,145 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderHangman extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.5F * offset, -0.875F * offset, 1.75F * offset, + 0, -1.5 / 8D, 1.25); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.hangman_tex); + float offset = 0.8F; + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] roll = HbmAnimations.getRelevantTransformation("ROLL"); + double[] turn = HbmAnimations.getRelevantTransformation("TURN"); + double[] smack = HbmAnimations.getRelevantTransformation("SMACK"); + double[] lid = HbmAnimations.getRelevantTransformation("LID"); + double[] mag = HbmAnimations.getRelevantTransformation("MAG"); + double[] bullets = HbmAnimations.getRelevantTransformation("BULLETS"); + + GL11.glTranslated(1.5F * offset, 0, -1); + GL11.glRotated(turn[1], 0, 1, 0); + GL11.glTranslated(-1.5F * offset, 0, 1); + + GL11.glRotated(roll[2], 0, 0, 1); + GL11.glTranslated(smack[0], smack[1], smack[2]); + + double scale = 0.125D; + GL11.glScaled(scale, scale, scale); + + GL11.glTranslated(0, -4, -10); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, 4, 10); + + GL11.glTranslated(0, 0, recoil[2]); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + ResourceManager.hangman.renderPart("Rifle"); + ResourceManager.hangman.renderPart("Internals"); + + GL11.glPushMatrix(); + //i give the fuck up + GL11.glTranslated(-2.1875, -1.75, 0); + GL11.glRotated(lid[2], 0, 0, 1); + GL11.glTranslated(2.1875, 1.75, 0); + ResourceManager.hangman.renderPart("Lid"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(mag[0], mag[1], mag[2]); + ResourceManager.hangman.renderPart("Magazine"); + if(bullets[0] == 0) ResourceManager.hangman.renderPart("Bullets"); + GL11.glPopMatrix(); + + double smokeScale = 1.5; + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, 29); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(smokeScale, smokeScale, smokeScale); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.5D); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, 29); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + GL11.glScaled(2, 2, 2); + this.renderMuzzleFlash(gun.lastShot[0], 75, 7.5); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 0.5D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 4.25, 11); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 0.375D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.5, 2.5, 0); + } + + @Override + public void setupEntity(ItemStack stack) { + double scale = 0.0625D; + GL11.glScaled(scale, scale, scale); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -2.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.hangman_tex); + ResourceManager.hangman.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHeavyRevolver.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHeavyRevolver.java new file mode 100644 index 000000000..2cf24c68e --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHeavyRevolver.java @@ -0,0 +1,181 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class ItemRenderHeavyRevolver extends ItemRenderWeaponBase { + + protected ResourceLocation texture; + + public ItemRenderHeavyRevolver(ResourceLocation texture) { + this.texture = texture; + } + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * (isScoped(stack) ? 0.66F : 0.33F)); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 1); + + boolean isScoped = this.isScoped(stack); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.0F * offset, -0.75F * offset, 1F * offset, + 0, isScoped ? (-4.75 / 8D) : (-3.875 / 8D), isScoped ? -0.25 : 0); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + boolean isScoped = this.isScoped(stack); + if(isScoped && ItemGunBaseNT.prevAimingProgress == 1 && ItemGunBaseNT.aimingProgress == 1) return; + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + + double scale = 0.125D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + + + double[] equipSpin = HbmAnimations.getRelevantTransformation("ROTATE"); + double[] spin = HbmAnimations.getRelevantTransformation("SPIN"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] reloadLift = HbmAnimations.getRelevantTransformation("RELOAD_LIFT"); + double[] reloadJolt = HbmAnimations.getRelevantTransformation("RELOAD_JOLT"); + double[] reloadTilt = HbmAnimations.getRelevantTransformation("RELAOD_TILT"); + double[] cylinderFlip = HbmAnimations.getRelevantTransformation("RELOAD_CYLINDER"); + double[] reloadBullets = HbmAnimations.getRelevantTransformation("RELOAD_BULLETS"); + + GL11.glRotated(spin[0], 0, 0, 1); + + GL11.glTranslated(6, -3, 0); + GL11.glRotated(equipSpin[0], 0, 0, 1); + GL11.glTranslated(-6, 3, 0); + + standardAimingTransform(stack, 0, 0, recoil[2], -recoil[2], 0, 0); + GL11.glRotated(recoil[2] * 10, 0, 0, 1); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + GL11.glPushMatrix(); + GL11.glTranslated(-9, 2.5, 0); + GL11.glRotated(recoil[2] * -10, 0, 0, 1); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.5D); + GL11.glPopMatrix(); + + GL11.glRotated(reloadLift[0], 0, 0, 1); + GL11.glTranslated(reloadJolt[0], 0, 0); + GL11.glRotated(reloadTilt[0], 1, 0, 0); + + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + ResourceManager.lilmac.renderPart("Gun"); + + GL11.glPushMatrix(); + GL11.glRotated(cylinderFlip[0], 1, 0, 0); + ResourceManager.lilmac.renderPart("Pivot"); + GL11.glTranslated(0, 1.75, 0); + GL11.glRotated(HbmAnimations.getRelevantTransformation("DRUM")[2] * -60, 1, 0, 0); + GL11.glTranslated(0, -1.75, 0); + ResourceManager.lilmac.renderPart("Cylinder"); + GL11.glTranslated(reloadBullets[0], reloadBullets[1], reloadBullets[2]); + if(HbmAnimations.getRelevantTransformation("RELOAD_BULLETS_CON")[0] != 1) + ResourceManager.lilmac.renderPart("Bullets"); + ResourceManager.lilmac.renderPart("Casings"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); /// HAMMER /// + GL11.glTranslated(4, 1.25, 0); + GL11.glRotated(-30 + 30 * HbmAnimations.getRelevantTransformation("HAMMER")[2], 0, 0, 1); + GL11.glTranslated(-4, -1.25, 0); + ResourceManager.lilmac.renderPart("Hammer"); + GL11.glPopMatrix(); + + if(isScoped) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.lilmac_scope_tex); + ResourceManager.lilmac.renderPart("Scope"); + } + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0.125, 2.5, 0); + this.renderGapFlash(gun.lastShot[0]); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + GL11.glScaled(0.75, 0.75, 0.75); + GL11.glTranslated(0, 1, 3); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + if(isScoped(stack)) { + double scale = 1.125D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(0, -0.5, 0); + } else { + double scale = 1.25D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + } + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, -0.5, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + + GL11.glRotated(90, 0, 1, 0); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glAlphaFunc(GL11.GL_GREATER, 0F); + GL11.glEnable(GL11.GL_ALPHA_TEST); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + ResourceManager.lilmac.renderPart("Gun"); + ResourceManager.lilmac.renderPart("Cylinder"); + ResourceManager.lilmac.renderPart("Bullets"); + ResourceManager.lilmac.renderPart("Casings"); + ResourceManager.lilmac.renderPart("Pivot"); + ResourceManager.lilmac.renderPart("Hammer"); + if(isScoped(stack)) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.lilmac_scope_tex); + ResourceManager.lilmac.renderPart("Scope"); + } + GL11.glShadeModel(GL11.GL_FLAT); + } + + public boolean isScoped(ItemStack stack) { + return stack.getItem() == ModItems.gun_heavy_revolver_lilmac || WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SCOPE); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHenry.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHenry.java new file mode 100644 index 000000000..df4bbf90c --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderHenry.java @@ -0,0 +1,171 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class ItemRenderHenry extends ItemRenderWeaponBase { + + public ResourceLocation texture; + + public ItemRenderHenry(ResourceLocation texture) { + this.texture = texture; + } + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.25F * offset, -1F * offset, 1.75F * offset, + 0, -5 / 8D, 1); + + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + double r = -2.5 * aimingProgress; + GL11.glRotated(r, 1, 0, 0); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + double scale = 0.375D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] sight = HbmAnimations.getRelevantTransformation("SIGHT"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] hammer = HbmAnimations.getRelevantTransformation("HAMMER"); + double[] lever = HbmAnimations.getRelevantTransformation("LEVER"); + double[] turn = HbmAnimations.getRelevantTransformation("TURN"); + double[] lift = HbmAnimations.getRelevantTransformation("LIFT"); + double[] twist = HbmAnimations.getRelevantTransformation("TWIST"); + double[] bullet = HbmAnimations.getRelevantTransformation("BULLET"); + double[] yeet = HbmAnimations.getRelevantTransformation("YEET"); + double[] roll = HbmAnimations.getRelevantTransformation("ROLL"); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + GL11.glTranslated(recoil[0] * 2, recoil[1], recoil[2]); + GL11.glRotated(recoil[2] * 5, 1, 0, 0); + GL11.glRotated(turn[2], 0, 0, 1); + + GL11.glTranslated(yeet[0], yeet[1], yeet[2]); + + GL11.glTranslated(0, 1, 0); + GL11.glRotated(roll[2], 0, 0, 1); + GL11.glTranslated(0, -1, 0); + + GL11.glTranslated(0, -4, 4); + GL11.glRotated(lift[0], 1, 0, 0); + GL11.glTranslated(0, 4, -4); + + GL11.glTranslated(0, 2, -4); + GL11.glRotated(equip[0], -1, 0, 0); + GL11.glTranslated(0, -2, 4); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1, 8); + GL11.glRotated(turn[2], 0, 0, -1); + GL11.glRotated(90, 0, 1, 0); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.25D); + GL11.glPopMatrix(); + + ResourceManager.henry.renderPart("Gun"); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.25, -0.1875); + GL11.glRotated(sight[0], 1, 0, 0); + GL11.glTranslated(0, -1.25, 0.1875); + ResourceManager.henry.renderPart("Sight"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.625, -3); + GL11.glRotated(-30 + hammer[0], 1, 0, 0); + GL11.glTranslated(0, -0.625, 3); + ResourceManager.henry.renderPart("Hammer"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.25, -2.3125); + GL11.glRotated(lever[0], 1, 0, 0); + GL11.glTranslated(0, -0.25, 2.3125); + ResourceManager.henry.renderPart("Lever"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1, 0); + GL11.glRotated(twist[2], 0, 0, 1); + GL11.glTranslated(0, -1, 0); + ResourceManager.henry.renderPart("Front"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(bullet[0], bullet[1], bullet[2] - 1); + ResourceManager.henry.renderPart("Bullet"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1, 8); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + this.renderMuzzleFlash(gun.lastShot[0], 75, 5); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.75D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 0.25, 3); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.5, 0.5, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -7.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + ResourceManager.henry.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLAG.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLAG.java new file mode 100644 index 000000000..4e69f2572 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLAG.java @@ -0,0 +1,149 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderLAG extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.5F * offset, -1F * offset, 1.5F * offset, + 0, -3.375 / 8D, 0.5); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.mike_hawk_tex); + double scale = 0.25D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + //double[] hammer = HbmAnimations.getRelevantTransformation("HAMMER"); + double[] addTrans = HbmAnimations.getRelevantTransformation("ADD_TRANS"); + double[] addRot = HbmAnimations.getRelevantTransformation("ADD_ROT"); + //Animation anim = HbmAnimations.getRelevantAnim(0); + + GL11.glTranslated(4, -4, 0); + GL11.glRotated(-equip[0], 0, 0, 1); + GL11.glTranslated(-4, 4, 0); + + GL11.glTranslated(addTrans[0], addTrans[1], addTrans[2]); + GL11.glRotated(addRot[2], 0, 0, 1); + GL11.glRotated(addRot[1], 0, 1, 0); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("Grip"); + ResourceManager.mike_hawk.renderPart("Grip"); + + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("Slide"); + + /*if(anim != null) { + BusAnimationSequence slideSeq = anim.animation.getBus("Hammer"); + if(slideSeq != null) GL11.glTranslated(0, 0.75, 0); + }*/ + + ResourceManager.mike_hawk.renderPart("Slide"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(3.125, 0.125, 0); + GL11.glRotated(-25, 0, 0, 1); + GL11.glTranslated(-3.125, -0.125, 0); + HbmAnimations.applyRelevantTransformation("Hammer"); + ResourceManager.mike_hawk.renderPart("Hammer"); + GL11.glPopMatrix(); + + if(gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, null) > 0) { + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("Bullet"); + ResourceManager.mike_hawk.renderPart("Bullet"); + GL11.glPopMatrix(); + } + + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("Magazine"); + ResourceManager.mike_hawk.renderPart("Magazine"); + GL11.glPopMatrix(); + + double smokeScale = 0.5; + + GL11.glPushMatrix(); + GL11.glTranslated(-10.25, 1, 0); + GL11.glScaled(smokeScale, smokeScale, smokeScale); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.5D); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(-10.25, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + this.renderMuzzleFlash(gun.lastShot[0], 75, 7.5); + GL11.glPopMatrix(); + + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + GL11.glTranslated(0, 1, 1); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(2.5, 1, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -7.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, 0.5, -2); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glRotated(90, 0, 1, 0); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.mike_hawk_tex); + ResourceManager.mike_hawk.renderPart("Grip"); + ResourceManager.mike_hawk.renderPart("Slide"); + ResourceManager.mike_hawk.renderPart("Hammer"); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLaserPistol.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLaserPistol.java new file mode 100644 index 000000000..208a26aed --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLaserPistol.java @@ -0,0 +1,148 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class ItemRenderLaserPistol extends ItemRenderWeaponBase { + + public ResourceLocation texture; + + public ItemRenderLaserPistol(ResourceLocation texture) { + this.texture = texture; + } + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.75F * offset, -2F * offset, 2.75F * offset, + 0, -10 / 8D, 1.25); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + double scale = 0.375D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] latch = HbmAnimations.getRelevantTransformation("LATCH"); + double[] lift = HbmAnimations.getRelevantTransformation("LIFT"); + double[] jolt = HbmAnimations.getRelevantTransformation("JOLT"); + double[] battery = HbmAnimations.getRelevantTransformation("BATTERY"); + double[] swirl = HbmAnimations.getRelevantTransformation("SWIRL"); + + GL11.glTranslated(0, -1, -6); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, 1, 6); + + GL11.glTranslated(0, 2, -2); + GL11.glRotated(lift[0], 1, 0, 0); + GL11.glTranslated(0, -2, 2); + + GL11.glTranslated(0, -1, -1); + GL11.glRotated(swirl[0], 1, 0, 0); + GL11.glTranslated(0, 1, 1); + + GL11.glTranslated(0, 0, recoil[2]); + GL11.glTranslated(jolt[0], jolt[1], jolt[2]); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + ResourceManager.laser_pistol.renderPart("Gun"); + if(hasCapacitors(stack)) ResourceManager.laser_pistol.renderPart("Capacitors"); + if(hasTape(stack)) ResourceManager.laser_pistol.renderPart("Tape"); + + GL11.glPushMatrix(); + GL11.glTranslated(1.125, 0, -1.9125); + GL11.glRotated(latch[1], 0, 1, 0); + GL11.glTranslated(-1.125, 0, 1.9125); + ResourceManager.laser_pistol.renderPart("Latch"); + GL11.glTranslated(battery[0], battery[1], battery[2]); + ResourceManager.laser_pistol.renderPart("Battery"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 2, 4.75); + GL11.glRotated(90, 0, 1, 0); + renderLaserFlash(gun.lastShot[0], 150, 1.5D, hasEmerald(stack) ? 0x008000 : 0xff0000); + GL11.glTranslated(0, 0, -0.25); + renderLaserFlash(gun.lastShot[0], 150, 0.75D, hasEmerald(stack) ? 0x80ff00 : 0xff8000); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.25D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, -0.5, 1); + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.75D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(0, -0.5, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -10D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, -0.5, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + ResourceManager.laser_pistol.renderPart("Gun"); + ResourceManager.laser_pistol.renderPart("Latch"); + if(hasCapacitors(stack)) ResourceManager.laser_pistol.renderPart("Capacitors"); + if(hasTape(stack)) ResourceManager.laser_pistol.renderPart("Tape"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + public boolean hasCapacitors(ItemStack stack) { + return stack.getItem() == ModItems.gun_laser_pistol_pew_pew; + } + + public boolean hasTape(ItemStack stack) { + return stack.getItem() == ModItems.gun_laser_pistol_pew_pew; + } + + public boolean hasEmerald(ItemStack stack) { + return stack.getItem() == ModItems.gun_laser_pistol_morning_glory; + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLasrifle.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLasrifle.java new file mode 100644 index 000000000..477b3dd0b --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLasrifle.java @@ -0,0 +1,151 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderLasrifle extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * (hasScope(stack) ? 0.75F : 0.66F)); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + + if(hasScope(stack)) { + standardAimingTransform(stack, + -1.5F * offset, -1.5F * offset, 2.5F * offset, + 0, -7.375 / 8D, 0.75); + } else { + standardAimingTransform(stack, + -1.5F * offset, -1.5F * offset, 2.5F * offset, + 0, -5.25 / 8D, 1); + } + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + if(hasScope(stack) && ItemGunBaseNT.prevAimingProgress == 1 && ItemGunBaseNT.aimingProgress == 1) return; + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.lasrifle_tex); + double scale = 0.3125D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] lever = HbmAnimations.getRelevantTransformation("LEVER"); + double[] mag = HbmAnimations.getRelevantTransformation("MAG"); + + GL11.glTranslated(0, -1, -6); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, 1, 6); + + GL11.glTranslated(0, 0, recoil[2]); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + ResourceManager.lasrifle.renderPart("Gun"); + ResourceManager.lasrifle.renderPart("Stock"); + if(hasScope(stack)) ResourceManager.lasrifle.renderPart("Scope"); + + GL11.glPushMatrix(); + GL11.glTranslated(0, -0.375, 2.375); + GL11.glRotated(lever[0], 1, 0, 0); + GL11.glTranslated(0, 0.375, -2.375); + ResourceManager.lasrifle.renderPart("Lever"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(mag[0], mag[1], mag[2]); + ResourceManager.lasrifle.renderPart("Battery"); + GL11.glPopMatrix(); + + if(!hasShotgun(stack)) ResourceManager.lasrifle.renderPart("Barrel"); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.lasrifle_mods_tex); + if(hasShotgun(stack)) ResourceManager.lasrifle_mods.renderPart("BarrelShotgun"); + if(hasCapacitor(stack)) ResourceManager.lasrifle_mods.renderPart("UnderBarrel"); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.5, 12); + GL11.glRotated(90, 0, 1, 0); + renderLaserFlash(gun.lastShot[0], 150, 1.5D, 0xff0000); + GL11.glTranslated(0, 0, -0.25); + renderLaserFlash(gun.lastShot[0], 150, 0.75D, 0xff8000); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.25D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 0, 4); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.03125D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(0.75, 0, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -6.25D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, -1, -1); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.lasrifle_tex); + ResourceManager.lasrifle.renderPart("Gun"); + ResourceManager.lasrifle.renderPart("Stock"); + if(hasScope(stack)) ResourceManager.lasrifle.renderPart("Scope"); + ResourceManager.lasrifle.renderPart("Lever"); + ResourceManager.lasrifle.renderPart("Battery"); + if(!hasShotgun(stack)) ResourceManager.lasrifle.renderPart("Barrel"); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.lasrifle_mods_tex); + if(hasShotgun(stack)) ResourceManager.lasrifle_mods.renderPart("BarrelShotgun"); + if(hasCapacitor(stack)) ResourceManager.lasrifle_mods.renderPart("UnderBarrel"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + public boolean hasScope(ItemStack stack) { + return !WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_LAS_AUTO); + } + + public boolean hasShotgun(ItemStack stack) { + return WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_LAS_SHOTGUN); + } + + public boolean hasCapacitor(ItemStack stack) { + return WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_LAS_CAPACITOR); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLiberator.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLiberator.java new file mode 100644 index 000000000..bb46a00b3 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderLiberator.java @@ -0,0 +1,161 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.GunConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderLiberator extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.5F * offset, -1.25F * offset, 1.25F * offset, + 0, -4.625 / 8D, 0.25); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.liberator_tex); + double scale = 0.375D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] lift = HbmAnimations.getRelevantTransformation("LIFT"); + double[] latch = HbmAnimations.getRelevantTransformation("LATCH"); + double[] brk = HbmAnimations.getRelevantTransformation("BREAK"); + double[] shell1 = HbmAnimations.getRelevantTransformation("SHELL1"); + double[] shell2 = HbmAnimations.getRelevantTransformation("SHELL2"); + double[] shell3 = HbmAnimations.getRelevantTransformation("SHELL3"); + double[] shell4 = HbmAnimations.getRelevantTransformation("SHELL4"); + + GL11.glTranslated(0, -1, -3); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, 1, 3); + + GL11.glTranslated(0, -3, -3); + GL11.glRotated(lift[0], 1, 0, 0); + GL11.glTranslated(0, 3, 3); + + GL11.glTranslated(recoil[0] * 2, recoil[1], recoil[2]); + GL11.glRotated(recoil[2] * 10, 1, 0, 0); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + ResourceManager.liberator.renderPart("Gun"); + + GL11.glPushMatrix(); + + GL11.glTranslated(0, -0.5, 0.75); + GL11.glRotated(brk[0], 1, 0, 0); + GL11.glTranslated(0, 0.5, -0.75); + ResourceManager.liberator.renderPart("Barrel"); + + GL11.glPushMatrix(); + GL11.glTranslated(shell1[0], shell1[1], shell1[2]); + ResourceManager.liberator.renderPart("Shell1"); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glTranslated(shell2[0], shell2[1], shell2[2]); + ResourceManager.liberator.renderPart("Shell2"); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glTranslated(shell3[0], shell3[1], shell3[2]); + ResourceManager.liberator.renderPart("Shell3"); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glTranslated(shell4[0], shell4[1], shell4[2]); + ResourceManager.liberator.renderPart("Shell4"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.15625, 0.75); + GL11.glRotated(latch[0], 1, 0, 0); + GL11.glTranslated(0, -1.15625, -0.75); + ResourceManager.liberator.renderPart("Latch"); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + + double smokeScale = 0.375; + + GunConfig cfg = gun.getConfig(stack, 0); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.25, 7.25); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(smokeScale, smokeScale, smokeScale); + GL11.glTranslated(0, 0, 0.25 / smokeScale); + this.renderSmokeNodes(cfg.smokeNodes, 1D); + GL11.glTranslated(0, 0, -0.5 / smokeScale); + this.renderSmokeNodes(cfg.smokeNodes, 1D); + GL11.glTranslated(0, 0.5 / smokeScale, 0); + this.renderSmokeNodes(cfg.smokeNodes, 1D); + GL11.glTranslated(0, 0, 0.5 / smokeScale); + this.renderSmokeNodes(cfg.smokeNodes, 1D); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.5, 8); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + GL11.glScaled(1.5, 1.5, 1.5); + this.renderMuzzleFlash(gun.lastShot[0], 75, 5); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + GL11.glTranslated(0, 1, 3); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.5, 0.5, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -8.75D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.liberator_tex); + ResourceManager.liberator.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderM2.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderM2.java new file mode 100644 index 000000000..2069d94a6 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderM2.java @@ -0,0 +1,114 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderM2 extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.5F * offset, -2.5F * offset, 1.75F * offset, + 0, -12.5 / 8D, 1.75); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.greasegun_tex); + double scale = 0.75D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + + GL11.glTranslated(0, 1, -2.25); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, -1, 2.25); + + GL11.glTranslated(0, 0, recoil[2]); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + GL11.glPushMatrix(); + GL11.glRotated(180, 0, 1, 0); + Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.m2_tex); + ResourceManager.m2.renderAll(); + GL11.glPopMatrix(); + + double smokeScale = 0.5; + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.625, 5); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(smokeScale, smokeScale, smokeScale); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.375D); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.625, 5); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + GL11.glScaled(0.5, 0.5, 0.5); + this.renderMuzzleFlash(gun.lastShot[0], 75, 7.5); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 5D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0.5, -2, 3); + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 2.625D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(0.5, -1.25, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -15D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, -1.5, -0.5); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glRotated(180, 0, 1, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.m2_tex); + ResourceManager.m2.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMAS36.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMAS36.java new file mode 100644 index 000000000..7d2a59a56 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMAS36.java @@ -0,0 +1,202 @@ +package com.hbm.render.item.weapon.sedna; + +import java.nio.DoubleBuffer; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.GLAllocation; +import net.minecraft.item.ItemStack; + +public class ItemRenderMAS36 extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * (isScoped(stack) ? 0.66F : 0.33F)); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + + if(isScoped(stack)) { + standardAimingTransform(stack, + -1.5F * offset, -1.25F * offset, 1.75F * offset, + -0.2, -5.875 / 8D, 1.125); + } else { + standardAimingTransform(stack, + -1.5F * offset, -1.25F * offset, 1.75F * offset, + 0, -4.6825 / 8D, 0.75); + } + } + + private static DoubleBuffer buf = null; + + @Override + public void renderFirstPerson(ItemStack stack) { + boolean isScoped = isScoped(stack); + if(isScoped && ItemGunBaseNT.prevAimingProgress == 1 && ItemGunBaseNT.aimingProgress == 1) return; + if(buf == null) buf = GLAllocation.createDirectByteBuffer(8*4).asDoubleBuffer(); + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.mas36_tex); + double scale = 0.375D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] lift = HbmAnimations.getRelevantTransformation("LIFT"); + double[] stock = HbmAnimations.getRelevantTransformation("STOCK"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] boltTurn = HbmAnimations.getRelevantTransformation("BOLT_TURN"); + double[] boltPull = HbmAnimations.getRelevantTransformation("BOLT_PULL"); + double[] bullet = HbmAnimations.getRelevantTransformation("BULLET"); + double[] showClip = HbmAnimations.getRelevantTransformation("SHOW_CLIP"); + double[] clip = HbmAnimations.getRelevantTransformation("CLIP"); + double[] bullets = HbmAnimations.getRelevantTransformation("BULLETS"); + double[] stab = HbmAnimations.getRelevantTransformation("STAB"); + + GL11.glTranslated(0, -3, -3); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glRotated(lift[0], 1, 0, 0); + GL11.glTranslated(0, 3, 3); + + GL11.glTranslated(stab[0], stab[1], stab[2]); + + GL11.glTranslated(0, 0, recoil[2]); + + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.mas36.renderPart("Gun"); + if(hasBayonet(stack)) ResourceManager.mas36.renderPart("Bayonet"); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.3125, -2.125); + GL11.glRotated(stock[0], 1, 0, 0); + GL11.glTranslated(0, -0.3125, 2.125); + ResourceManager.mas36.renderPart("Stock"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.0625 * 18.5, 0); + GL11.glRotated(boltTurn[2], 0, 0, 1); + GL11.glTranslated(0, 0.0625 * -18.5, 0); + GL11.glTranslated(0, 0, boltPull[2]); + ResourceManager.mas36.renderPart("Bolt"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(bullet[0], bullet[1], bullet[2]); + ResourceManager.mas36.renderPart("Bullet"); + GL11.glPopMatrix(); + + if(isScoped) ResourceManager.mas36.renderPart("Scope"); + + if(showClip[0] != 0) { + GL11.glPushMatrix(); + GL11.glTranslated(clip[0], clip[1], clip[2]); + ResourceManager.mas36.renderPart("Clip"); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + if(bullets[0] == 0) GL11.glEnable(GL11.GL_CLIP_PLANE0); + buf.put(new double[] { 0, 1, 0, -0.5} ); + buf.rewind(); + GL11.glClipPlane(GL11.GL_CLIP_PLANE0, buf); + GL11.glTranslated(bullets[0], bullets[1], bullets[2]); + ResourceManager.mas36.renderPart("Bullets"); + GL11.glDisable(GL11.GL_CLIP_PLANE0); + GL11.glPopMatrix(); + } + + double smokeScale = 0.25; + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.125, 8); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(smokeScale, smokeScale, smokeScale); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 1D); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1, 8); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + GL11.glScaled(0.5, 0.5, 0.5); + this.renderMuzzleFlash(gun.lastShot[0], 75, 7.5); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.5D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 0.5, 3); + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.5, 0.5, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -7.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, -0.25, -2.5); + } + + @Override + public void renderModTable(ItemStack stack, int index) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.mas36_tex); + ResourceManager.mas36.renderPart("Gun"); + ResourceManager.mas36.renderPart("Stock"); + ResourceManager.mas36.renderPart("Bolt"); + if(isScoped(stack)) ResourceManager.mas36.renderPart("Scope"); + if(hasBayonet(stack)) ResourceManager.mas36.renderPart("Bayonet"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.mas36_tex); + ResourceManager.mas36.renderPart("Gun"); + ResourceManager.mas36.renderPart("Stock"); + ResourceManager.mas36.renderPart("Bolt"); + if(isScoped(stack)) ResourceManager.mas36.renderPart("Scope"); + if(type != ItemRenderType.EQUIPPED) GL11.glTranslated(0, -1, -6); + if(hasBayonet(stack)) ResourceManager.mas36.renderPart("Bayonet"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + public boolean isScoped(ItemStack stack) { + return WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SCOPE); + } + + public boolean hasBayonet(ItemStack stack) { + return WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_MAS_BAYONET); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMaresleg.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMaresleg.java new file mode 100644 index 000000000..c6de5ba6c --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMaresleg.java @@ -0,0 +1,176 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class ItemRenderMaresleg extends ItemRenderWeaponBase { + + public ResourceLocation texture; + + public ItemRenderMaresleg(ResourceLocation texture) { + this.texture = texture; + } + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.25F * offset, -1F * offset, 2F * offset, + 0, -3.875 / 8D, 1); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + double scale = 0.375D; + GL11.glScaled(scale, scale, scale); + + boolean shortened = getShort(stack); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] lever = HbmAnimations.getRelevantTransformation("LEVER"); + double[] turn = HbmAnimations.getRelevantTransformation("TURN"); + double[] flip = HbmAnimations.getRelevantTransformation("FLIP"); + double[] lift = HbmAnimations.getRelevantTransformation("LIFT"); + double[] shell = HbmAnimations.getRelevantTransformation("SHELL"); + double[] flag = HbmAnimations.getRelevantTransformation("FLAG"); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + GL11.glTranslated(recoil[0] * 2, recoil[1], recoil[2]); + GL11.glRotated(recoil[2] * 5, 1, 0, 0); + GL11.glRotated(turn[2], 0, 0, 1); + + GL11.glTranslated(0, 0, -4); + GL11.glRotated(lift[0], 1, 0, 0); + GL11.glTranslated(0, 0, 4); + + GL11.glTranslated(0, 0, -4); + GL11.glRotated(equip[0], -1, 0, 0); + GL11.glTranslated(0, 0, 4); + + GL11.glTranslated(0, 0, -2); + GL11.glRotated(flip[0], -1, 0, 0); + GL11.glTranslated(0, 0, 2); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1, shortened ? 3.75 : 8); + GL11.glRotated(turn[2], 0, 0, -1); + GL11.glRotated(flip[0], 1, 0, 0); + GL11.glRotated(90, 0, 1, 0); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.25D); + GL11.glPopMatrix(); + + ResourceManager.maresleg.renderPart("Gun"); + if(!shortened) { + ResourceManager.maresleg.renderPart("Stock"); + ResourceManager.maresleg.renderPart("Barrel"); + } + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.125, -2.875); + GL11.glRotated(lever[0], 1, 0, 0); + GL11.glTranslated(0, -0.125, 2.875); + ResourceManager.maresleg.renderPart("Lever"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(shell[0], shell[1] - 0.75, shell[2]); + ResourceManager.maresleg.renderPart("Shell"); + GL11.glPopMatrix(); + + if(flag[0] != 0) { + GL11.glPushMatrix(); + GL11.glTranslated(0, -0.5, 0); + ResourceManager.maresleg.renderPart("Shell"); + GL11.glPopMatrix(); + } + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1, shortened ? 3.75 : 8); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + this.renderMuzzleFlash(gun.lastShot[0], 75, 5); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.75D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 0.25, 3); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + + if(getShort(stack)) { + double scale = 2.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-1, 0, 0); + } else { + double scale = 1.4375D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.5, 0.5, 0); + } + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -8.75D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + ResourceManager.maresleg.renderPart("Gun"); + ResourceManager.maresleg.renderPart("Lever"); + if(!getShort(stack)) { + ResourceManager.maresleg.renderPart("Stock"); + ResourceManager.maresleg.renderPart("Barrel"); + } + GL11.glShadeModel(GL11.GL_FLAT); + } + + public boolean getShort(ItemStack stack) { + return stack.getItem() == ModItems.gun_maresleg_broken || WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_SAWED_OFF); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMareslegAkimbo.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMareslegAkimbo.java new file mode 100644 index 000000000..16c90287a --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMareslegAkimbo.java @@ -0,0 +1,193 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderMareslegAkimbo extends ItemRenderWeaponBase { + + @Override public boolean isAkimbo() { return true; } + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + + float offset = 0.8F; + + for(int i = -1; i <= 1; i += 2) { + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.maresleg_tex); + GL11.glPushMatrix(); + + int index = i == -1 ? 0 : 1; + + standardAimingTransform(stack, -1.5F * offset * i, -1F * offset, 2F * offset, 0, -3.875 / 8D, 1); + + double scale = 0.375D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP", index); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL", index); + double[] lever = HbmAnimations.getRelevantTransformation("LEVER", index); + double[] turn = HbmAnimations.getRelevantTransformation("TURN", index); + double[] flip = HbmAnimations.getRelevantTransformation("FLIP", index); + double[] lift = HbmAnimations.getRelevantTransformation("LIFT", index); + double[] shell = HbmAnimations.getRelevantTransformation("SHELL", index); + double[] flag = HbmAnimations.getRelevantTransformation("FLAG", index); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + GL11.glTranslated(recoil[0] * 2, recoil[1], recoil[2]); + GL11.glRotated(recoil[2] * 5, 1, 0, 0); + GL11.glRotated(turn[2], 0, 0, 1); + + GL11.glTranslated(0, 0, -4); + GL11.glRotated(lift[0], 1, 0, 0); + GL11.glTranslated(0, 0, 4); + + GL11.glTranslated(0, 0, -4); + GL11.glRotated(equip[0], -1, 0, 0); + GL11.glTranslated(0, 0, 4); + + GL11.glTranslated(0, 0, -2); + GL11.glRotated(flip[0], -1, 0, 0); + GL11.glTranslated(0, 0, 2); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1, 3.75); + GL11.glRotated(turn[2], 0, 0, -1); + GL11.glRotated(flip[0], 1, 0, 0); + GL11.glRotated(90, 0, 1, 0); + this.renderSmokeNodes(gun.getConfig(stack, index).smokeNodes, 0.25D); + GL11.glPopMatrix(); + + ResourceManager.maresleg.renderPart("Gun"); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.125, -2.875); + GL11.glRotated(lever[0], 1, 0, 0); + GL11.glTranslated(0, -0.125, 2.875); + ResourceManager.maresleg.renderPart("Lever"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(shell[0], shell[1] - 0.75, shell[2]); + ResourceManager.maresleg.renderPart("Shell"); + GL11.glPopMatrix(); + + if(flag[0] != 0) { + GL11.glPushMatrix(); + GL11.glTranslated(0, -0.5, 0); + ResourceManager.maresleg.renderPart("Shell"); + GL11.glPopMatrix(); + } + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1, 3.75); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + this.renderMuzzleFlash(gun.lastShot[index], 75, 5); + GL11.glPopMatrix(); + + GL11.glPopMatrix(); + } + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.75D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 0.25, 3); + } + + @Override + public void setupThirdPersonAkimbo(ItemStack stack) { + super.setupThirdPersonAkimbo(stack); + double scale = 1.75D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 0.25, 3); + } + + @Override + public void setupInv(ItemStack stack) { + GL11.glAlphaFunc(GL11.GL_GREATER, 0F); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glScaled(1, 1, -1); + GL11.glTranslated(8, 8, 0); + double scale = 2.5D; + GL11.glScaled(scale, scale, scale); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -12.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, -0.5, 1); + } + + @Override + public void renderInv(ItemStack stack) { + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glShadeModel(GL11.GL_SMOOTH); + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.maresleg_tex); + + GL11.glPushMatrix(); + GL11.glRotated(225, 0, 0, 1); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-1, 0, 0); + ResourceManager.maresleg.renderPart("Gun"); + ResourceManager.maresleg.renderPart("Lever"); + GL11.glPopMatrix(); + + GL11.glTranslated(0, 0, 5); + GL11.glPushMatrix(); + GL11.glRotated(225, 0, 0, 1); + GL11.glRotated(-90, 0, 1, 0); + GL11.glRotated(-90, 1, 0, 0); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(-45, 0, 1, 0); + GL11.glTranslated(1, 0, 0); + ResourceManager.maresleg.renderPart("Gun"); + ResourceManager.maresleg.renderPart("Lever"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void renderModTable(ItemStack stack, int index) { + renderOther(stack, ItemRenderType.INVENTORY); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.maresleg_tex); + ResourceManager.maresleg.renderPart("Gun"); + ResourceManager.maresleg.renderPart("Lever"); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMinigun.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMinigun.java new file mode 100644 index 000000000..5d33852bc --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMinigun.java @@ -0,0 +1,133 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class ItemRenderMinigun extends ItemRenderWeaponBase { + + protected ResourceLocation texture; + + public ItemRenderMinigun(ResourceLocation texture) { + this.texture = texture; + } + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.75F * offset, -1.75F * offset, 3.5F * offset, + 0, -6.25 / 8D, 1); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + double scale = 0.375D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] rotate = HbmAnimations.getRelevantTransformation("ROTATE"); + + GL11.glTranslated(0, 3, -6); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, -3, 6); + + GL11.glTranslated(0, 0, recoil[2]); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + ResourceManager.minigun.renderPart("Gun"); + ResourceManager.minigun.renderPart("Grip"); + + GL11.glPushMatrix(); + GL11.glRotated(rotate[2], 0, 0, 1); + ResourceManager.minigun.renderPart("Barrels"); + GL11.glPopMatrix(); + + double smokeScale = 0.5; + + GL11.glPushMatrix(); + GL11.glTranslated(-2, 1.25, -3.5); + GL11.glRotated(45, 0, 1, 0); + GL11.glScaled(smokeScale, smokeScale, smokeScale); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.5D); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, 12); + GL11.glRotated(90, 0, 1, 0); + + if(stack.getItem() == ModItems.gun_minigun_lacunae) { + renderLaserFlash(gun.lastShot[0], 50, 1D, 0xff00ff); + GL11.glTranslated(0, 0, -0.25); + renderLaserFlash(gun.lastShot[0], 50, 0.5D, 0xff0080); + } else { + GL11.glRotated(gun.shotRand * 90, 1, 0, 0); + GL11.glScaled(1.5, 1.5, 1.5); + this.renderMuzzleFlash(gun.lastShot[0], 75, 5); + } + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.75D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(1, -3.5, 8); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 0.875D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.25, 0.5, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -6.25D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + ResourceManager.minigun.renderPart("Gun"); + ResourceManager.minigun.renderPart("Grip"); + ResourceManager.minigun.renderPart("Barrels"); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMinigunDual.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMinigunDual.java new file mode 100644 index 000000000..8cb34f24f --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMinigunDual.java @@ -0,0 +1,192 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderMinigunDual extends ItemRenderWeaponBase { + + @Override public boolean isAkimbo() { return true; } + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + + float offset = 0.8F; + + for(int i = -1; i <= 1; i += 2) { + int index = i == -1 ? 0 : 1; + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.minigun_dual_tex); + + GL11.glPushMatrix(); + standardAimingTransform(stack, -2.75F * offset * i, -1.75F * offset, 2.5F * offset, 0, 0, 0); + + double scale = 0.375D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP", index); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL", index); + double[] rotate = HbmAnimations.getRelevantTransformation("ROTATE", index); + + GL11.glTranslated(0, 3, -6); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, -3, 6); + + GL11.glTranslated(0, 0, recoil[2]); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + ResourceManager.minigun.renderPart(index == 0 ? "GunDual" : "Gun"); + + GL11.glPushMatrix(); + GL11.glRotated(rotate[2] * i, 0, 0, 1); + ResourceManager.minigun.renderPart("Barrels"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, 12); + GL11.glRotated(90, 0, 1, 0); + + GL11.glRotated(gun.shotRand * 90, 1, 0, 0); + GL11.glScaled(1.5, 1.5, 1.5); + this.renderMuzzleFlash(gun.lastShot[index], 75, 5); + GL11.glPopMatrix(); + + GL11.glPopMatrix(); + } + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.75D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(-1, -3.5, 8); + + } + + @Override + public void setupThirdPersonAkimbo(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.75D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(2, -3.5, 8); + } + + @Override + public void setupInv(ItemStack stack) { + GL11.glScaled(1, 1, -1); + GL11.glTranslated(8, 8, 0); + double scale = 0.875D; + GL11.glScaled(scale, scale, scale); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -6.25D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + } + + @Override + public void renderEquipped(ItemStack stack) { + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.minigun_dual_tex); + ResourceManager.minigun.renderPart("Gun"); + ResourceManager.minigun.renderPart("Barrels"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void renderEquippedAkimbo(ItemStack stack) { + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.minigun_dual_tex); + ResourceManager.minigun.renderPart("GunDual"); + ResourceManager.minigun.renderPart("Barrels"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void renderModTable(ItemStack stack, int index) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.minigun_dual_tex); + ResourceManager.minigun.renderPart(index == 0 ? "GunDual" : "Gun"); + ResourceManager.minigun.renderPart("Barrels"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void renderInv(ItemStack stack) { + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glShadeModel(GL11.GL_SMOOTH); + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.minigun_dual_tex); + + GL11.glPushMatrix(); + GL11.glRotated(225, 0, 0, 1); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(45, 0, 1, 0); + ResourceManager.minigun.renderPart("GunDual"); + ResourceManager.minigun.renderPart("Barrels"); + GL11.glPopMatrix(); + + GL11.glTranslated(0, 0, 8); + GL11.glPushMatrix(); + GL11.glRotated(225, 0, 0, 1); + GL11.glRotated(-90, 0, 1, 0); + GL11.glRotated(-90, 1, 0, 0); + GL11.glRotated(-45, 0, 1, 0); + ResourceManager.minigun.renderPart("Gun"); + ResourceManager.minigun.renderPart("Barrels"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.minigun_dual_tex); + ResourceManager.minigun.renderPart("Gun"); + ResourceManager.minigun.renderPart("Barrels"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + public boolean hasSilencer(ItemStack stack, int cfg) { + return WeaponModManager.hasUpgrade(stack, cfg, WeaponModManager.ID_SILENCER); + } + + public boolean isSaturnite(ItemStack stack, int cfg) { + return WeaponModManager.hasUpgrade(stack, cfg, WeaponModManager.ID_UZI_SATURN); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMissileLauncher.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMissileLauncher.java new file mode 100644 index 000000000..09149bfa4 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMissileLauncher.java @@ -0,0 +1,157 @@ +package com.hbm.render.item.weapon.sedna; + +import java.awt.Color; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; + +public class ItemRenderMissileLauncher extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.5F * offset, -1.25F * offset, 0.5F * offset, + -1F * offset, -1.25F * offset, 0F * offset); + } + + protected static String label = "AUTO"; + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.missile_launcher_tex); + double scale = 0.5D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] barrel = HbmAnimations.getRelevantTransformation("BARREL"); + double[] open = HbmAnimations.getRelevantTransformation("OPEN"); + double[] missile = HbmAnimations.getRelevantTransformation("MISSILE"); + + GL11.glTranslated(0, -2, -2); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, 2, 2); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + ResourceManager.missile_launcher.renderPart("Launcher"); + + GL11.glPushMatrix(); + + GL11.glTranslated(0, 0.25, 1.6875); + GL11.glRotated(open[0], 1, 0, 0); + GL11.glTranslated(0, -0.25, -1.6875); + + ResourceManager.missile_launcher.renderPart("Front"); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, barrel[2]); + ResourceManager.missile_launcher.renderPart("Barrel"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(missile[0], missile[1], missile[2]); + ResourceManager.missile_launcher.renderPart("Missile"); + GL11.glPopMatrix(); + + GL11.glPopMatrix(); + + if(gun.prevAimingProgress >= 1F && gun.aimingProgress >= 1F) { + + GL11.glPushMatrix(); + GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); + FontRenderer font = Minecraft.getMinecraft().fontRenderer; + float f3 = 0.04F; + GL11.glTranslatef(0.9375F, 2.25F, -0.5625F + (font.getStringWidth(label) / 2) * f3); + GL11.glScalef(f3, -f3, f3); + GL11.glRotated(90D, 0, 1, 0); + GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3); + float variance = 0.7F + player.getRNG().nextFloat() * 0.3F; + font.drawString(label, 0, 0, new Color(variance, 0F, 0F).getRGB()); + GL11.glColor3f(1F, 1F, 1F); + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glPopAttrib(); + GL11.glPopMatrix(); + + int brightness = player.worldObj.getLightBrightnessForSkyBlocks(MathHelper.floor_double(player.posX), MathHelper.floor_double(player.posY), MathHelper.floor_double(player.posZ), 0); + int j = brightness % 65536; + int k = brightness / 65536; + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) j / 1.0F, (float) k / 1.0F); + } + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1, 6.75); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(gun.shotRand * 90, 1, 0, 0); + GL11.glScaled(0.75, 0.75, 0.75); + this.renderMuzzleFlash(gun.lastShot[0], 75, 7.5); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 2.5D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, -0.5, -2); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(0, -0.5, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -10D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, -1, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.missile_launcher_tex); + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.missile_launcher.renderPart("Launcher"); + ResourceManager.missile_launcher.renderPart("Barrel"); + ResourceManager.missile_launcher.renderPart("Front"); + if(gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, null) > 0) ResourceManager.missile_launcher.renderPart("Missile"); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderPanzerschreck.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderPanzerschreck.java new file mode 100644 index 000000000..4d65f4323 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderPanzerschreck.java @@ -0,0 +1,115 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderPanzerschreck extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -2.75F * offset, -2F * offset, 2.5F * offset, + -0.9375, -9.25 / 8D, 0.25); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.panzerschreck_tex); + double scale = 1.25D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] reload = HbmAnimations.getRelevantTransformation("RELOAD"); + double[] rocket = HbmAnimations.getRelevantTransformation("ROCKET"); + + GL11.glTranslated(0, -1, -1); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, 1, 1); + + GL11.glTranslated(0, -4, -3); + GL11.glRotated(reload[0], 1, 0, 0); + GL11.glTranslated(0, 4, 3); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + ResourceManager.panzerschreck.renderPart("Tube"); + if(hasShield(stack)) ResourceManager.panzerschreck.renderPart("Shield"); + + GL11.glPushMatrix(); + GL11.glTranslated(rocket[0], rocket[1], rocket[2]); + ResourceManager.panzerschreck.renderPart("Rocket"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, 6.5); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + GL11.glScaled(0.75, 0.75, 0.75); + this.renderMuzzleFlash(gun.lastShot[0], 150, 7.5); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 3D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 0.5, 1); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.5, 0.5, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -10D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.panzerschreck_tex); + ResourceManager.panzerschreck.renderPart("Tube"); + if(hasShield(stack)) ResourceManager.panzerschreck.renderPart("Shield"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + public boolean hasShield(ItemStack stack) { + return !WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_NO_SHIELD); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderPepperbox.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderPepperbox.java new file mode 100644 index 000000000..a653d60f4 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderPepperbox.java @@ -0,0 +1,142 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderPepperbox extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 1.5); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.25F * offset, -0.75F * offset, 1F * offset, + 0, -2.5 / 8D, 0.5); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + + double scale = 0.25D; + GL11.glScaled(scale, scale, scale); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] cylinder = HbmAnimations.getRelevantTransformation("ROTATE"); + double[] hammer = HbmAnimations.getRelevantTransformation("HAMMER"); + double[] trigger = HbmAnimations.getRelevantTransformation("TRIGGER"); + double[] translate = HbmAnimations.getRelevantTransformation("TRANSLATE"); + double[] loader = HbmAnimations.getRelevantTransformation("LOADER"); + double[] shot = HbmAnimations.getRelevantTransformation("SHOT"); + + GL11.glTranslated(translate[0], translate[1], translate[2]); + + GL11.glTranslated(0, 0, -5); + GL11.glRotated(recoil[0], -1, 0, 0); + GL11.glTranslated(0, 0, 5); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.5, 7); + GL11.glRotated(90, 0, 1, 0); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.5D); + GL11.glPopMatrix(); + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.pepperbox_tex); + + if(loader[0] != 0 || loader[1] != 0 || loader[2] != 0) { + GL11.glPushMatrix(); + GL11.glTranslated(loader[0], loader[1], loader[2]); + ResourceManager.pepperbox.renderPart("Speedloader"); + if(shot[0] != 0) ResourceManager.pepperbox.renderPart("Shot"); + GL11.glPopMatrix(); + } + + ResourceManager.pepperbox.renderPart("Grip"); + + GL11.glPushMatrix(); + GL11.glRotated(cylinder[0], 0, 0, 1); + ResourceManager.pepperbox.renderPart("Cylinder"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.375, -1.875); + GL11.glRotated(hammer[0], 1, 0, 0); + GL11.glTranslated(0, -0.375, 1.875); + ResourceManager.pepperbox.renderPart("Hammer"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, -trigger[0] * 0.5); + ResourceManager.pepperbox.renderPart("Trigger"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.5, 7); + GL11.glScaled(0.5, 0.5, 0.5); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + this.renderMuzzleFlash(gun.lastShot[0]); + GL11.glRotated(45, 1, 0, 0); + this.renderMuzzleFlash(gun.lastShot[0]); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + GL11.glTranslated(0, 1, 3); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(0.5, 0.5, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -7.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.pepperbox_tex); + ResourceManager.pepperbox.renderPart("Grip"); + ResourceManager.pepperbox.renderPart("Cylinder"); + ResourceManager.pepperbox.renderPart("Hammer"); + ResourceManager.pepperbox.renderPart("Trigger"); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderQuadro.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderQuadro.java new file mode 100644 index 000000000..61a50d391 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderQuadro.java @@ -0,0 +1,149 @@ +package com.hbm.render.item.weapon.sedna; + +import java.awt.Color; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; + +public class ItemRenderQuadro extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -2.5F * offset, -3.5F * offset, 2.5F * offset, + -1.5F * offset, -3F * offset, 2.5F * offset); + } + + protected static String label = ">> <<"; + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + double scale = 1.75D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] reloadPush = HbmAnimations.getRelevantTransformation("RELOAD_PUSH"); + double[] reloadRotate = HbmAnimations.getRelevantTransformation("RELOAD_ROTATE"); + + GL11.glTranslated(0, -1, -1); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, 1, 1); + + GL11.glTranslated(0, 0, recoil[2]); + + GL11.glTranslated(0, -1, -1); + GL11.glRotated(reloadRotate[2], 1, 0, 0); + GL11.glTranslated(0, 1, 1); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.quadro_tex); + ResourceManager.quadro.renderPart("Launcher"); + + GL11.glPushMatrix(); + + GL11.glTranslated(0, -1, 0); + GL11.glTranslated(0, 3, 0); + GL11.glRotated(reloadPush[1] * 30, 1, 0, 0); + GL11.glTranslated(0, -3, 0); + GL11.glTranslated(0, 0, reloadPush[0] * 3); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.quadro_rocket_tex); + ResourceManager.quadro.renderPart("Rockets"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + if(gun.prevAimingProgress >= 1F && gun.aimingProgress >= 1F) { + + GL11.glPushMatrix(); + GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); + FontRenderer font = Minecraft.getMinecraft().fontRenderer; + float f3 = 0.04F; + GL11.glTranslatef(-0.375F, 2.25F, 0.875F); + GL11.glRotated(180D + (System.currentTimeMillis() / 2) % 360D, 0, -1, 0); + GL11.glTranslated(-(font.getStringWidth(label) / 2) * f3, 0, 0); + GL11.glScalef(f3, -f3, f3); + GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3); + font.drawString(label, 0, 0, new Color(0F, 1F, 1F).getRGB()); + GL11.glColor3f(1F, 1F, 1F); + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glPopAttrib(); + GL11.glPopMatrix(); + + int brightness = player.worldObj.getLightBrightnessForSkyBlocks(MathHelper.floor_double(player.posX), MathHelper.floor_double(player.posY), MathHelper.floor_double(player.posZ), 0); + int j = brightness % 65536; + int k = brightness / 65536; + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) j / 1.0F, (float) k / 1.0F); + } + + GL11.glPushMatrix(); + GL11.glTranslated(-1, 0.75, 6.5); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + GL11.glScaled(0.75, 0.75, 0.75); + this.renderMuzzleFlash(gun.lastShot[0], 150, 7.5); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 7.5D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, -0.5, -0.25); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 4.75D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(0, -1, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -30D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, -1.125, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.quadro_tex); + ResourceManager.quadro.renderPart("Launcher"); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSPAS12.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSPAS12.java new file mode 100644 index 000000000..5cab21b0b --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSPAS12.java @@ -0,0 +1,144 @@ +package com.hbm.render.item.weapon.sedna; + +import java.awt.Color; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.particle.SpentCasing; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderSPAS12 extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.25F * offset, -1.75F * offset, -0.5F * offset, + 0, 0, 0); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.spas_12_tex); + double scale = 0.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(180, 0, 1, 0); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + + GL11.glRotated(equip[0], 1, 0, 0); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + HbmAnimations.applyRelevantTransformation("MainBody"); + ResourceManager.spas_12.renderPart("MainBody"); + + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("PumpGrip"); + ResourceManager.spas_12.renderPart("PumpGrip"); + GL11.glPopMatrix(); + + + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.casings_tex); + + HbmAnimations.applyRelevantTransformation("Shell"); + SpentCasing casing = gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getCasing(stack, MainRegistry.proxy.me().inventory); + int color0 = SpentCasing.COLOR_CASE_BRASS; + int color1 = SpentCasing.COLOR_CASE_BRASS; + + if(casing != null) { + int[] colors = casing.getColors(); + color0 = colors[0]; + color1 = colors[colors.length > 1 ? 1 : 0]; + } + + Color shellColor = new Color(color1); + GL11.glColor3f(shellColor.getRed() / 255F, shellColor.getGreen() / 255F, shellColor.getBlue() / 255F); + ResourceManager.spas_12.renderPart("Shell"); + + Color shellForeColor = new Color(color0); + GL11.glColor3f(shellForeColor.getRed() / 255F, shellForeColor.getGreen() / 255F, shellForeColor.getBlue() / 255F); + ResourceManager.spas_12.renderPart("ShellFore"); + + GL11.glColor3f(1F, 1F, 1F); + + double smokeScale = 0.25; + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.5, -11); + GL11.glRotated(-90, 0, 1, 0); + GL11.glScaled(smokeScale, smokeScale, smokeScale); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.75D); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.5, -11); + GL11.glRotated(-90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + this.renderMuzzleFlash(gun.lastShot[0], 75, 7.5); + GL11.glPopMatrix(); + + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.75D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, -0.75, 0); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 2D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(4.25, -0.5, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -10D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, -0.5, -4.25); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glRotated(180, 0, 1, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.spas_12_tex); + ResourceManager.spas_12.renderPart("MainBody"); + ResourceManager.spas_12.renderPart("PumpGrip"); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSTG77.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSTG77.java new file mode 100644 index 000000000..64bf11710 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSTG77.java @@ -0,0 +1,188 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderSTG77 extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 0.5F : -0.25F; } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.5F * offset, -1F * offset, 2.5F * offset, + 0, -5.75 / 8D, 2); + } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.66F); + } + + @Override + protected float getBaseFOV(ItemStack stack) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return 70F - aimingProgress * 65; + } + + @Override + public void renderFirstPerson(ItemStack stack) { + if(ItemGunBaseNT.prevAimingProgress == 1 && ItemGunBaseNT.aimingProgress == 1) return; + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.stg77_tex); + double scale = 0.5D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] lift = HbmAnimations.getRelevantTransformation("LIFT"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] bolt = HbmAnimations.getRelevantTransformation("BOLT"); + double[] handle = HbmAnimations.getRelevantTransformation("HANDLE"); + double[] safety = HbmAnimations.getRelevantTransformation("SAFETY"); + + double[] inspectGun = HbmAnimations.getRelevantTransformation("INSPECT_GUN"); + double[] inspectBarrel = HbmAnimations.getRelevantTransformation("INSPECT_BARREL"); + double[] inspectMove = HbmAnimations.getRelevantTransformation("INSPECT_MOVE"); + double[] inspectLever = HbmAnimations.getRelevantTransformation("INSPECT_LEVER"); + + GL11.glTranslated(0, -1, -4); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, 1, 4); + + GL11.glTranslated(0, 0, -4); + GL11.glRotated(lift[0], 1, 0, 0); + GL11.glTranslated(0, 0, 4); + + GL11.glTranslated(0, 0, recoil[2]); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + GL11.glPushMatrix(); + + //GL11.glRotated(-70, 0, 0, 1); + //GL11.glRotated(15, 1, 0, 0); + GL11.glRotated(inspectGun[2], 0, 0, 1); + GL11.glRotated(inspectGun[0], 1, 0, 0); + + HbmAnimations.applyRelevantTransformation("Gun"); + ResourceManager.stg77.renderPart("Gun"); + + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("Magazine"); + ResourceManager.stg77.renderPart("Magazine"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glRotated(inspectLever[2], 0, 0, 1); + HbmAnimations.applyRelevantTransformation("Lever"); + ResourceManager.stg77.renderPart("Lever"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, bolt[2]); + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("Breech"); + ResourceManager.stg77.renderPart("Breech"); + GL11.glPopMatrix(); + GL11.glTranslated(0.125, 0, 0); + GL11.glRotated(handle[2], 0, 0, 1); + GL11.glTranslated(-0.125, 0, 0); + HbmAnimations.applyRelevantTransformation("Handle"); + ResourceManager.stg77.renderPart("Handle"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(safety[0], 0, 0); + HbmAnimations.applyRelevantTransformation("Safety"); + ResourceManager.stg77.renderPart("Safety"); + GL11.glPopMatrix(); + + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + //GL11.glTranslated(2, 0.75, 0); + //GL11.glRotated(15, 1, 0, 0); + //GL11.glRotated(0, 0, 0, 1); + + GL11.glTranslated(inspectMove[0], inspectMove[1], inspectMove[2]); + GL11.glRotated(inspectBarrel[0], 1, 0, 0); + GL11.glRotated(inspectBarrel[2], 0, 0, 1); + HbmAnimations.applyRelevantTransformation("Gun"); + HbmAnimations.applyRelevantTransformation("Barrel"); + ResourceManager.stg77.renderPart("Barrel"); + GL11.glPopMatrix(); + + double smokeScale = 0.75; + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, 8); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(smokeScale, smokeScale, smokeScale); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.5D); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, 7.5); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(0.25, 0.25, 0.25); + GL11.glRotated(-5 + gun.shotRand * 10, 1, 0, 0); + this.renderGapFlash(gun.lastShot[0]); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.5D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 1, 2); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.375D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.5, 0.5, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -7.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.stg77_tex); + ResourceManager.stg77.renderPart("Gun"); + ResourceManager.stg77.renderPart("Barrel"); + ResourceManager.stg77.renderPart("Lever"); + ResourceManager.stg77.renderPart("Magazine"); + ResourceManager.stg77.renderPart("Safety"); + ResourceManager.stg77.renderPart("Handle"); + ResourceManager.stg77.renderPart("Breech"); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSexy.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSexy.java new file mode 100644 index 000000000..895c2357e --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderSexy.java @@ -0,0 +1,245 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.interfaces.NotableComments; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; +import com.hbm.util.BobMathUtil; +import com.hbm.util.Vec3NT; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +@NotableComments +public class ItemRenderSexy extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + + standardAimingTransform(stack, + -1F * offset, -0.75F * offset, 3F * offset, + -0.5F, -0.5F, 2F); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + double scale = 0.375D; + GL11.glScaled(scale, scale, scale); + + // i'm not going overboard with the animation + boolean doesCycle = HbmAnimations.getRelevantAnim(0) != null && HbmAnimations.getRelevantAnim(0).animation.getBus("CYCLE") != null; + boolean reloading = HbmAnimations.getRelevantAnim(0) != null && HbmAnimations.getRelevantAnim(0).animation.getBus("BELT") != null; + boolean useShellCount = HbmAnimations.getRelevantAnim(0) != null && HbmAnimations.getRelevantAnim(0).animation.getBus("SHELLS") != null; + boolean girldinner = HbmAnimations.getRelevantAnim(0) != null && HbmAnimations.getRelevantAnim(0).animation.getBus("BOTTLE") != null; + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] lower = HbmAnimations.getRelevantTransformation("LOWER"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] cycle = HbmAnimations.getRelevantTransformation("CYCLE"); + double[] barrel = HbmAnimations.getRelevantTransformation("BARREL"); + double[] hood = HbmAnimations.getRelevantTransformation("HOOD"); + double[] lever = HbmAnimations.getRelevantTransformation("LEVER"); + double[] belt = HbmAnimations.getRelevantTransformation("BELT"); + double[] mag = HbmAnimations.getRelevantTransformation("MAG"); + double[] magRot = HbmAnimations.getRelevantTransformation("MAGROT"); + double[] shellCount = HbmAnimations.getRelevantTransformation("SHELLS"); + double[] bottle = HbmAnimations.getRelevantTransformation("BOTTLE"); + double[] sippy = HbmAnimations.getRelevantTransformation("SIP"); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + if(girldinner) { + GL11.glPushMatrix(); + GL11.glTranslated(bottle[0], bottle[1], bottle[2]); + GL11.glTranslated(0, 2, 0); + GL11.glRotated(sippy[0], 1, 0, 0); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(-15, 1, 0, 0); + GL11.glTranslated(0, -2, 0); + GL11.glScaled(1.5, 1.5, 1.5); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.whiskey_tex); + ResourceManager.whiskey.renderAll(); + GL11.glPopMatrix(); + } + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.sexy_tex); + + GL11.glTranslated(0, -1, -8); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, 1, 8); + + GL11.glTranslated(0, 0, -6); + GL11.glRotated(lower[0], 1, 0, 0); + GL11.glTranslated(0, 0, 6); + + GL11.glTranslated(0, 0, recoil[2]); + + ResourceManager.sexy.renderPart("Gun"); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, barrel[2]); + ResourceManager.sexy.renderPart("Barrel"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, -0.375); + GL11.glScaled(1, 1, 1 + 0.457247371D * barrel[2]); + GL11.glTranslated(0, 0, 0.375); + ResourceManager.sexy.renderPart("RecoilSpring"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.4375, -2.875); + GL11.glRotated(hood[0], 1, 0, 0); + GL11.glTranslated(0, -0.4375, 2.875); + ResourceManager.sexy.renderPart("Hood"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.46875, -6.875); + GL11.glRotated(lever[2] * 60, 1, 0, 0); + GL11.glTranslated(0, -0.46875, 6.875); + ResourceManager.sexy.renderPart("Lever"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, -6.75); + GL11.glScaled(1, 1, 1 - lever[2] * 0.25); + GL11.glTranslated(0, 0, 6.75); + ResourceManager.sexy.renderPart("LockSpring"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(mag[0], mag[1], mag[2]); + GL11.glTranslated(0, -1, 0); + GL11.glRotated(magRot[2], 0, 0, 1); + GL11.glTranslated(0, 1, 0); + ResourceManager.sexy.renderPart("Magazine"); + + double p = 0.0625D; + double x = p * 17; + double y = p * -26; + double angle = 0; + Vec3NT vec = new Vec3NT(0, 0.4375, 0); // reusable, just like how toilet paper was reusable during corona + + // basically what all this does is take an array of angles and just strings together shells with the appropriate + // position and angle calculated out of the next angle, taking all previous transformations into account. + // has a second array which is the "open" position that the animation can smoothly interpolate through + double[] anglesLoaded = new double[] {0, 0, 20, 20, 50, 60, 70}; + double[] anglesUnloaded = new double[] {0, -10, -50, -60, -60, 0, 0}; + double reloadProgress = !reloading ? 1D : belt[0]; + double cycleProgress = !doesCycle ? 1 : cycle[0]; + + double[][] shells = new double[anglesLoaded.length][3]; + + // generate belt, interp used for the reload animation + for(int i = 0; i < anglesLoaded.length; i++) { + shells[i][0] = x; + shells[i][1] = y; + shells[i][2] = angle - 90; + double delta = BobMathUtil.interp(anglesUnloaded[i], anglesLoaded[i], reloadProgress); + angle += delta; + vec.rotateAroundZDeg(-delta); + x += vec.xCoord; + y += vec.yCoord; + } + + int shellAmount = useShellCount ? (int) shellCount[0] : gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, null); + + // draw belt, interp used for cycling (shells will transform towards the position/rotation of the next shell) + for(int i = 0; i < shells.length - 1; i++) { + double[] prevShell = shells[i]; + double[] nextShell = shells[i + 1]; + renderShell(prevShell[0], nextShell[0], prevShell[1], nextShell[1], prevShell[2], nextShell[2], shells.length - i < shellAmount + 2, cycleProgress); + } + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, 8); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + this.renderMuzzleFlash(gun.lastShot[0], 150, 7.5); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.75D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(1, 1, 6); + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.375D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(0, 0.5, 0.25); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -9.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, 0, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.sexy_tex); + ResourceManager.sexy.renderPart("Gun"); + ResourceManager.sexy.renderPart("Barrel"); + ResourceManager.sexy.renderPart("RecoilSpring"); + ResourceManager.sexy.renderPart("Hood"); + ResourceManager.sexy.renderPart("Lever"); + ResourceManager.sexy.renderPart("LockSpring"); + ResourceManager.sexy.renderPart("Magazine"); + + double p = 0.0625D; + renderShell(p * 0, p * -6, 90, true); + renderShell(p * 5, p * 1, 30, true); + renderShell(p * 12, p * -1, -30, true); + renderShell(p * 17, p * -6, -60, true); + renderShell(p * 17, p * -13, -90, true); + renderShell(p * 17, p * -20, -90, true); + + GL11.glShadeModel(GL11.GL_FLAT); + } + + public static void renderShell(double x0, double x1, double y0, double y1, double rot0, double rot1, boolean shell, double interp) { + renderShell(BobMathUtil.interp(x0, x1, interp), BobMathUtil.interp(y0, y1, interp), BobMathUtil.interp(rot0, rot1, interp), shell); + } + + public static void renderShell(double x, double y, double rot, boolean shell) { + GL11.glPushMatrix(); + GL11.glTranslated(x, 0.375 + y, 0); + GL11.glRotated(rot, 0, 0, 1); + GL11.glTranslated(0, -0.375, 0); + ResourceManager.sexy.renderPart("Belt"); + if(shell) ResourceManager.sexy.renderPart("Shell"); + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderShredder.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderShredder.java new file mode 100644 index 000000000..313ff60a4 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderShredder.java @@ -0,0 +1,178 @@ +package com.hbm.render.item.weapon.sedna; + +import java.awt.Color; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; + +public class ItemRenderShredder extends ItemRenderWeaponBase { + + protected ResourceLocation texture; + + public ItemRenderShredder(ResourceLocation texture) { + this.texture = texture; + } + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.5F * offset, -1.25F * offset, 1.5F * offset, + 0, -6.25 / 8D, 0.5); + } + + protected static String label = "[> <]"; + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + double scale = 0.25D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] lift = HbmAnimations.getRelevantTransformation("LIFT"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] mag = HbmAnimations.getRelevantTransformation("MAG"); + double[] speen = HbmAnimations.getRelevantTransformation("SPEEN"); + double[] cycle = HbmAnimations.getRelevantTransformation("CYCLE"); + + GL11.glTranslated(0, -2, -6); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, 2, 6); + + GL11.glTranslated(0, 0, -4); + GL11.glRotated(lift[0], 1, 0, 0); + GL11.glTranslated(0, 0, 4); + + GL11.glTranslated(0, 0, recoil[2]); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + boolean sexy = stack.getItem() == ModItems.gun_autoshotgun_sexy; + + if(sexy || (gun.prevAimingProgress >= 1F && gun.aimingProgress >= 1F)) { + + GL11.glPushMatrix(); + GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); + FontRenderer font = Minecraft.getMinecraft().fontRenderer; + float f3 = 0.04F; + GL11.glTranslatef((font.getStringWidth(label) / 2) * f3, 3.25F, -1.75F); + GL11.glScalef(f3, -f3, f3); + GL11.glRotated(180D, 0, 1, 0); + GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3); + float variance = 0.9F + player.getRNG().nextFloat() * 0.1F; + font.drawString(label, 0, 0, new Color(sexy ? variance : 0F, sexy ? 0F : variance, 0F).getRGB()); + GL11.glColor3f(1F, 1F, 1F); + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glPopAttrib(); + GL11.glPopMatrix(); + + int brightness = player.worldObj.getLightBrightnessForSkyBlocks(MathHelper.floor_double(player.posX), MathHelper.floor_double(player.posY), MathHelper.floor_double(player.posZ), 0); + int j = brightness % 65536; + int k = brightness / 65536; + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) j / 1.0F, (float) k / 1.0F); + } + + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + + ResourceManager.shredder.renderPart("Gun"); + + GL11.glPushMatrix(); + GL11.glTranslated(mag[0], mag[1], mag[2]); + GL11.glTranslated(0, -1, -0.5); + GL11.glRotated(speen[0], 1, 0, 0); + GL11.glTranslated(0, 1, 0.5); + ResourceManager.shredder.renderPart("Magazine"); + GL11.glTranslated(0, -1, -0.5); + GL11.glRotated(cycle[2], 0, 0, 1); + GL11.glTranslated(0, 1, 0.5); + ResourceManager.shredder.renderPart("Shells"); + GL11.glPopMatrix(); + + double smokeScale = 0.75; + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1, 7.5); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(smokeScale, smokeScale, smokeScale); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.5D); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1, 7.5); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(gun.shotRand * 90, 1, 0, 0); + GL11.glScaled(0.75, 0.75, 0.75); + this.renderMuzzleFlash(gun.lastShot[0], 75, 7.5); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.5D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 0.5, 4); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.25D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-1.5, 0, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -7.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, 0, 1.5); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + ResourceManager.shredder.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderStinger.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderStinger.java new file mode 100644 index 000000000..3e72596e1 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderStinger.java @@ -0,0 +1,139 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.item.ItemStack; + +public class ItemRenderStinger extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.5F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -3.75F * offset, -9F * offset, -3.5F * offset, + -2.625F * offset, -6.5, -8.5F); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + if(ItemGunBaseNT.prevAimingProgress == 1 && ItemGunBaseNT.aimingProgress == 1) return; + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.stinger_tex); + double scale = 1.5D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] reload = HbmAnimations.getRelevantTransformation("RELOAD"); + double[] rocket = HbmAnimations.getRelevantTransformation("ROCKET"); + + GL11.glTranslated(0, -1, -1); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, 1, 1); + + GL11.glTranslated(0, -4, -3); + GL11.glRotated(reload[0], 1, 0, 0); + GL11.glTranslated(0, 4, 3); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + GL11.glPushMatrix(); + GL11.glRotated(180, 0, 1, 0); + ResourceManager.stinger.renderAll(); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.panzerschreck_tex); + GL11.glTranslated(rocket[0], rocket[1] + 3.5, rocket[2] - 3); + ResourceManager.panzerschreck.renderPart("Rocket"); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); + + String label = "Not accurate"; + FontRenderer font = Minecraft.getMinecraft().fontRenderer; + float f3 = 0.04F; + GL11.glTranslatef(0.025F, -0.5F, (font.getStringWidth(label) / 2) * f3 - 3); + GL11.glScalef(f3, -f3, f3); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(45, -1, 0, 0); + GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3); + font.drawString(label, 0, 0, 0xff0000); + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glPopAttrib(); + GL11.glPopMatrix(); + + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, 6.5); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + GL11.glScaled(0.75, 0.75, 0.75); + this.renderMuzzleFlash(gun.lastShot[0], 150, 7.5); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 1.5D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, -2.5, -3.5); + GL11.glRotated(180, 0, 1, 0); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.0625D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(225, 0, 1, 0); + GL11.glTranslated(0.25, -2.5, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -7.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(-90, 0, 1, 0); + GL11.glTranslated(0, -4, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glEnable(GL11.GL_CULL_FACE); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.stinger_tex); + ResourceManager.stinger.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderTau.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderTau.java new file mode 100644 index 000000000..440cdb9d5 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderTau.java @@ -0,0 +1,101 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderTau extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.75F * offset, -1.75F * offset, 3.5F * offset, + -1.75F * offset, -1.75F * offset, 3.5F * offset); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.tau_tex); + double scale = 0.75D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] rotate = HbmAnimations.getRelevantTransformation("ROTATE"); + + GL11.glTranslated(0, -1, -4); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, 1, 4); + + GL11.glTranslated(0, 0, recoil[2]); + + GL11.glTranslated(0, 0, -2); + GL11.glRotated(recoil[2] * 5, 1, 0, 0); + GL11.glTranslated(0, 0, 2); + + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glDisable(GL11.GL_CULL_FACE); + + ResourceManager.tau.renderPart("Body"); + + GL11.glPushMatrix(); + GL11.glTranslated(0, -0.25, 0); + GL11.glRotated(rotate[2], 0, 0, 1); + GL11.glTranslated(0, 0.25, 0); + ResourceManager.tau.renderPart("Rotor"); + GL11.glPopMatrix(); + + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 2.5D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 1, 2); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 2D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(-0.25, 0.5, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -10D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glDisable(GL11.GL_CULL_FACE); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.tau_tex); + ResourceManager.tau.renderAll(); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderTeslaCannon.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderTeslaCannon.java new file mode 100644 index 000000000..c10d2c977 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderTeslaCannon.java @@ -0,0 +1,164 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; +import com.hbm.render.tileentity.RenderPlushie; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderTeslaCannon extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.5F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.75F * offset, -0.5F * offset, 1.75F * offset, + -1.3125F * offset, 0F * offset, -0.5F * offset); + } + + protected static String label = "AUTO"; + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.tesla_cannon_tex); + double scale = 0.75D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] cycle = HbmAnimations.getRelevantTransformation("CYCLE"); + double[] count = HbmAnimations.getRelevantTransformation("COUNT"); + double[] yomi = HbmAnimations.getRelevantTransformation("YOMI"); + double[] squeeze = HbmAnimations.getRelevantTransformation("SQUEEZE"); + + GL11.glTranslated(0, -2, -2); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, 2, 2); + + GL11.glTranslated(0, 0, recoil[2]); + GL11.glRotated(recoil[2] * 2, 1, 0, 0); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + int amount = Math.max((int) count[0], gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory)); + + ResourceManager.tesla_cannon.renderPart("Gun"); + ResourceManager.tesla_cannon.renderPart("Extension"); + + double cogAngle = cycle[2]; + + GL11.glPushMatrix(); + GL11.glTranslated(0, -1.625, 0); + GL11.glRotated(cogAngle, 0, 0, 1); + GL11.glTranslated(0, 1.625, 0); + ResourceManager.tesla_cannon.renderPart("Cog"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + + GL11.glTranslated(0, -1.625, 0); + GL11.glRotated(cogAngle, 0, 0, 1); + GL11.glTranslated(0, 1.625, 0); + + for(int i = 0; i < Math.min(amount, 8); i++) { + ResourceManager.tesla_cannon.renderPart("Capacitor"); + + if(i < 4) { + GL11.glTranslated(0, -1.625, 0); + GL11.glRotated(-22.5, 0, 0, 1); + GL11.glTranslated(0, 1.625, 0); + } else { + if(i == 4) { + GL11.glTranslated(0, -1.625, 0); + GL11.glRotated(-cogAngle, 0, 0, 1); + GL11.glTranslated(0, 1.625, 0); + GL11.glTranslated(-cogAngle * 0.5 / 22.5, 0, 0); + } + GL11.glTranslated(0.5, 0, 0); + } + } + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(yomi[0], yomi[1], yomi[2]); + GL11.glRotated(135, 0, 1, 0); + GL11.glScaled(squeeze[0], squeeze[1], squeeze[2]); + Minecraft.getMinecraft().renderEngine.bindTexture(RenderPlushie.yomiTex); + RenderPlushie.yomiModel.renderAll(); + GL11.glPopMatrix(); + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + double scale = 2.75D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 1.5, 1); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.25D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(0, 0.5, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -8.75D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, 0.5, 0); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.tesla_cannon_tex); + + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.tesla_cannon.renderPart("Gun"); + ResourceManager.tesla_cannon.renderPart("Extension"); + ResourceManager.tesla_cannon.renderPart("Cog"); + + GL11.glPushMatrix(); + for(int i = 0; i < 10; i++) { + ResourceManager.tesla_cannon.renderPart("Capacitor"); + + if(i < 4) { + GL11.glTranslated(0, -1.625, 0); + GL11.glRotated(-22.5, 0, 0, 1); + GL11.glTranslated(0, 1.625, 0); + } else { + GL11.glTranslated(0.5, 0, 0); + } + } + GL11.glPopMatrix(); + GL11.glShadeModel(GL11.GL_FLAT); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderUzi.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderUzi.java new file mode 100644 index 000000000..1fdea82b0 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderUzi.java @@ -0,0 +1,186 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderUzi extends ItemRenderWeaponBase { + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + + float offset = 0.8F; + standardAimingTransform(stack, + -1.75F * offset, -1.5F * offset, 2.5F * offset, + 0, -4.375 / 8D, 1); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + Minecraft.getMinecraft().renderEngine.bindTexture(isSaturnite(stack) ? ResourceManager.uzi_saturnite_tex : ResourceManager.uzi_tex); + double scale = 0.25D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP"); + double[] stockFront = HbmAnimations.getRelevantTransformation("STOCKFRONT"); + double[] stockBack = HbmAnimations.getRelevantTransformation("STOCKBACK"); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] lift = HbmAnimations.getRelevantTransformation("LIFT"); + double[] mag = HbmAnimations.getRelevantTransformation("MAG"); + double[] bullet = HbmAnimations.getRelevantTransformation("BULLET"); + double[] slide = HbmAnimations.getRelevantTransformation("SLIDE"); + double[] yeet = HbmAnimations.getRelevantTransformation("YEET"); + double[] speen = HbmAnimations.getRelevantTransformation("SPEEN"); + + GL11.glTranslated(yeet[0], yeet[1], yeet[2]); + GL11.glRotated(speen[0], 0, 0, 1); + + GL11.glTranslated(0, -2, -4); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, 2, 4); + + GL11.glTranslated(0, 0, -6); + GL11.glRotated(lift[0], 1, 0, 0); + GL11.glTranslated(0, 0, 6); + + GL11.glTranslated(0, 0, recoil[2]); + + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.uzi.renderPart("Gun"); + + boolean silenced = hasSilencer(stack, 0); + if(silenced) ResourceManager.uzi.renderPart("Silencer"); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.3125D, -5.75); + GL11.glRotated(180 - stockFront[0], 1, 0, 0); + GL11.glTranslated(0, -0.3125D, 5.75); + ResourceManager.uzi.renderPart("StockFront"); + + GL11.glTranslated(0, -0.3125D, -3); + GL11.glRotated(-200 - stockBack[0], 1, 0, 0); + GL11.glTranslated(0, 0.3125D, 3); + ResourceManager.uzi.renderPart("StockBack"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, slide[2]); + ResourceManager.uzi.renderPart("Slide"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(mag[0], mag[1], mag[2]); + ResourceManager.uzi.renderPart("Magazine"); + if(bullet[0] == 1) ResourceManager.uzi.renderPart("Bullet"); + GL11.glPopMatrix(); + + if(!silenced) { + double smokeScale = 0.5; + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.75, 8.5); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(smokeScale, smokeScale, smokeScale); + this.renderSmokeNodes(gun.getConfig(stack, 0).smokeNodes, 0.75D); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.75, 8.5); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + this.renderMuzzleFlash(gun.lastShot[0], 75, 7.5); + GL11.glPopMatrix(); + } + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + GL11.glTranslated(0, 1, 1); + + } + + @Override + public void setupInv(ItemStack stack) { + super.setupInv(stack); + double scale = 1.5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(0, 1, 0); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -6.25D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, 1, -4); + } + + @Override + public void renderModTable(ItemStack stack, int index) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(isSaturnite(stack) ? ResourceManager.uzi_saturnite_tex : ResourceManager.uzi_tex); + ResourceManager.uzi.renderPart("Gun"); + ResourceManager.uzi.renderPart("StockBack"); + ResourceManager.uzi.renderPart("StockFront"); + ResourceManager.uzi.renderPart("Slide"); + ResourceManager.uzi.renderPart("Magazine"); + if(hasSilencer(stack, index)) ResourceManager.uzi.renderPart("Silencer"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + + boolean silenced = hasSilencer(stack, 0); + + if(silenced && type == ItemRenderType.INVENTORY) { + double scale = 0.625D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 0, -4); + } + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(isSaturnite(stack) ? ResourceManager.uzi_saturnite_tex : ResourceManager.uzi_tex); + ResourceManager.uzi.renderPart("Gun"); + ResourceManager.uzi.renderPart("StockBack"); + ResourceManager.uzi.renderPart("StockFront"); + ResourceManager.uzi.renderPart("Slide"); + ResourceManager.uzi.renderPart("Magazine"); + if(silenced) ResourceManager.uzi.renderPart("Silencer"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + public boolean hasSilencer(ItemStack stack, int cfg) { + return WeaponModManager.hasUpgrade(stack, cfg, WeaponModManager.ID_SILENCER); + } + + public boolean isSaturnite(ItemStack stack) { + return WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_UZI_SATURN); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderUziAkimbo.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderUziAkimbo.java new file mode 100644 index 000000000..ec538663b --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderUziAkimbo.java @@ -0,0 +1,260 @@ +package com.hbm.render.item.weapon.sedna; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.mods.WeaponModManager; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class ItemRenderUziAkimbo extends ItemRenderWeaponBase { + + @Override public boolean isAkimbo() { return true; } + + @Override + protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; } + + @Override + public float getViewFOV(ItemStack stack, float fov) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + return fov * (1 - aimingProgress * 0.33F); + } + + @Override + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 0.875); + } + + @Override + public void renderFirstPerson(ItemStack stack) { + + ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem(); + + float offset = 0.8F; + + for(int i = -1; i <= 1; i += 2) { + int index = i == -1 ? 0 : 1; + Minecraft.getMinecraft().renderEngine.bindTexture(isSaturnite(stack, index) ? ResourceManager.uzi_saturnite_tex : ResourceManager.uzi_tex); + + GL11.glPushMatrix(); + standardAimingTransform(stack, -2.25F * offset * i, -1.5F * offset, 2.5F * offset, 0, -4.375 / 8D, 1); + + double scale = 0.25D; + GL11.glScaled(scale, scale, scale); + + double[] equip = HbmAnimations.getRelevantTransformation("EQUIP", index); + double[] stockFront = HbmAnimations.getRelevantTransformation("STOCKFRONT", index); + double[] stockBack = HbmAnimations.getRelevantTransformation("STOCKBACK", index); + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL", index); + double[] lift = HbmAnimations.getRelevantTransformation("LIFT", index); + double[] mag = HbmAnimations.getRelevantTransformation("MAG", index); + double[] bullet = HbmAnimations.getRelevantTransformation("BULLET", index); + double[] slide = HbmAnimations.getRelevantTransformation("SLIDE", index); + double[] yeet = HbmAnimations.getRelevantTransformation("YEET", index); + double[] speen = HbmAnimations.getRelevantTransformation("SPEEN", index); + + GL11.glTranslated(yeet[0], yeet[1], yeet[2]); + GL11.glRotated(speen[0], 0, 0, i); + + GL11.glTranslated(0, -2, -4); + GL11.glRotated(equip[0], 1, 0, 0); + GL11.glTranslated(0, 2, 4); + + GL11.glTranslated(0, 0, -6); + GL11.glRotated(lift[0], 1, 0, 0); + GL11.glTranslated(0, 0, 6); + + GL11.glTranslated(0, 0, recoil[2]); + + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.uzi.renderPart(index == 0 ? "GunMirror" : "Gun"); + + boolean silenced = hasSilencer(stack, index); + if(silenced) ResourceManager.uzi.renderPart("Silencer"); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.3125D, -5.75); + GL11.glRotated(180 - stockFront[0], 1, 0, 0); + GL11.glTranslated(0, -0.3125D, 5.75); + ResourceManager.uzi.renderPart("StockFront"); + + GL11.glTranslated(0, -0.3125D, -3); + GL11.glRotated(-200 - stockBack[0], 1, 0, 0); + GL11.glTranslated(0, 0.3125D, 3); + ResourceManager.uzi.renderPart("StockBack"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, slide[2]); + ResourceManager.uzi.renderPart("Slide"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(mag[0], mag[1], mag[2]); + ResourceManager.uzi.renderPart("Magazine"); + if(bullet[0] == 1) ResourceManager.uzi.renderPart("Bullet"); + GL11.glPopMatrix(); + + if(!silenced) { + double smokeScale = 0.5; + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.75, 8.5); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(smokeScale, smokeScale, smokeScale); + this.renderSmokeNodes(gun.getConfig(stack, index).smokeNodes, 0.75D); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.75, 8.5); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(90 * gun.shotRand, 1, 0, 0); + this.renderMuzzleFlash(gun.lastShot[index], 75, 7.5); + GL11.glPopMatrix(); + } + + GL11.glPopMatrix(); + } + } + + @Override + public void setupThirdPerson(ItemStack stack) { + super.setupThirdPerson(stack); + GL11.glTranslated(0, 1, 1); + } + + @Override + public void setupThirdPersonAkimbo(ItemStack stack) { + super.setupThirdPersonAkimbo(stack); + GL11.glTranslated(0, 1, 1); + } + + @Override + public void setupInv(ItemStack stack) { + GL11.glAlphaFunc(GL11.GL_GREATER, 0F); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glScaled(1, 1, -1); + GL11.glTranslated(8, 8, 0); + double scale = 1.5D; + GL11.glScaled(scale, scale, scale); + } + + @Override + public void setupModTable(ItemStack stack) { + double scale = -6.25D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, 1, -4); + } + + @Override + public void renderEquipped(ItemStack stack) { + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(isSaturnite(stack, 1) ? ResourceManager.uzi_saturnite_tex : ResourceManager.uzi_tex); + ResourceManager.uzi.renderPart("Gun"); + ResourceManager.uzi.renderPart("StockBack"); + ResourceManager.uzi.renderPart("StockFront"); + ResourceManager.uzi.renderPart("Slide"); + ResourceManager.uzi.renderPart("Magazine"); + if(hasSilencer(stack, 1)) ResourceManager.uzi.renderPart("Silencer"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void renderEquippedAkimbo(ItemStack stack) { + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(isSaturnite(stack, 0) ? ResourceManager.uzi_saturnite_tex : ResourceManager.uzi_tex); + ResourceManager.uzi.renderPart("GunMirror"); + ResourceManager.uzi.renderPart("StockBack"); + ResourceManager.uzi.renderPart("StockFront"); + ResourceManager.uzi.renderPart("Slide"); + ResourceManager.uzi.renderPart("Magazine"); + if(hasSilencer(stack, 0)) ResourceManager.uzi.renderPart("Silencer"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void renderModTable(ItemStack stack, int index) { + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(isSaturnite(stack, index) ? ResourceManager.uzi_saturnite_tex : ResourceManager.uzi_tex); + ResourceManager.uzi.renderPart(index == 0 ? "GunMirror" : "Gun"); + ResourceManager.uzi.renderPart("StockBack"); + ResourceManager.uzi.renderPart("StockFront"); + ResourceManager.uzi.renderPart("Slide"); + ResourceManager.uzi.renderPart("Magazine"); + if(hasSilencer(stack, index)) ResourceManager.uzi.renderPart("Silencer"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + @Override + public void renderOther(ItemStack stack, ItemRenderType type) { + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glShadeModel(GL11.GL_SMOOTH); + + boolean silencer0 = hasSilencer(stack, 1); + boolean silencer1 = hasSilencer(stack, 0); + boolean anySilenced = silencer0 || silencer1; + + GL11.glPushMatrix(); + GL11.glRotated(225, 0, 0, 1); + GL11.glRotated(90, 0, 1, 0); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(45, 0, 1, 0); + GL11.glTranslated(0, 1, 0); + if(anySilenced) { + double scale = 0.625D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 0, -4); + } + Minecraft.getMinecraft().renderEngine.bindTexture(isSaturnite(stack, 1) ? ResourceManager.uzi_saturnite_tex : ResourceManager.uzi_tex); + ResourceManager.uzi.renderPart("Gun"); + ResourceManager.uzi.renderPart("StockBack"); + ResourceManager.uzi.renderPart("StockFront"); + ResourceManager.uzi.renderPart("Slide"); + ResourceManager.uzi.renderPart("Magazine"); + if(silencer0) ResourceManager.uzi.renderPart("Silencer"); + GL11.glPopMatrix(); + + GL11.glTranslated(0, 0, 5); + + GL11.glPushMatrix(); + GL11.glRotated(225, 0, 0, 1); + GL11.glRotated(-90, 0, 1, 0); + GL11.glRotated(-90, 1, 0, 0); + GL11.glRotated(25, 1, 0, 0); + GL11.glRotated(-45, 0, 1, 0); + GL11.glTranslated(0, 1, 0); + if(anySilenced) { + double scale = 0.625D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(0, 0, -4); + } + Minecraft.getMinecraft().renderEngine.bindTexture(isSaturnite(stack, 0) ? ResourceManager.uzi_saturnite_tex : ResourceManager.uzi_tex); + ResourceManager.uzi.renderPart("GunMirror"); + ResourceManager.uzi.renderPart("StockBack"); + ResourceManager.uzi.renderPart("StockFront"); + ResourceManager.uzi.renderPart("Slide"); + ResourceManager.uzi.renderPart("Magazine"); + if(silencer1) ResourceManager.uzi.renderPart("Silencer"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + } + + public boolean hasSilencer(ItemStack stack, int cfg) { + return WeaponModManager.hasUpgrade(stack, cfg, WeaponModManager.ID_SILENCER); + } + + public boolean isSaturnite(ItemStack stack, int cfg) { + return WeaponModManager.hasUpgrade(stack, cfg, WeaponModManager.ID_UZI_SATURN); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderWeaponBase.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderWeaponBase.java new file mode 100644 index 000000000..3abb3a71c --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderWeaponBase.java @@ -0,0 +1,468 @@ +package com.hbm.render.item.weapon.sedna; + +import java.util.List; + +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import org.lwjgl.util.glu.Project; + +import com.hbm.config.ClientConfig; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.items.weapon.sedna.ItemGunBaseNT.SmokeNode; +import com.hbm.lib.RefStrings; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.Minecraft; +import net.minecraft.client.entity.EntityPlayerSP; +import net.minecraft.client.renderer.ActiveRenderInfo; +import net.minecraft.client.renderer.EntityRenderer; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.IItemRenderer; + +public abstract class ItemRenderWeaponBase implements IItemRenderer { + + public static final ResourceLocation flash_plume = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lilmac_plume.png"); + public static final ResourceLocation laser_flash = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/laser_flash.png"); + + public static float interp; + + public boolean isAkimbo() { return false; } + + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) { + return type != ItemRenderType.FIRST_PERSON_MAP; + } + + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { + return helper == ItemRendererHelper.ENTITY_BOBBING || helper == ItemRendererHelper.ENTITY_ROTATION; + } + + @SuppressWarnings("incomplete-switch") //shut the fuck up + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + GL11.glPushMatrix(); + GL11.glEnable(GL11.GL_CULL_FACE); + switch(type) { + case EQUIPPED_FIRST_PERSON: setupFirstPerson(item); renderFirstPerson(item); break; + case EQUIPPED: setupThirdPerson(item); renderEquipped(item); break; + case INVENTORY: setupInv(item); renderInv(item); break; + case ENTITY: setupEntity(item); renderEntity(item); break; + } + GL11.glPopMatrix(); + } + + public void renderEquipped(ItemStack stack) { renderOther(stack, ItemRenderType.EQUIPPED); } + public void renderEquippedAkimbo(ItemStack stack) { renderOther(stack, ItemRenderType.EQUIPPED); } + public void renderInv(ItemStack stack) { renderOther(stack, ItemRenderType.INVENTORY); } + public void renderEntity(ItemStack stack) { renderOther(stack, ItemRenderType.ENTITY); } + + public void setPerspectiveAndRender(ItemStack stack, float interp) { + + this.interp = interp; + + Minecraft mc = Minecraft.getMinecraft(); + EntityRenderer entityRenderer = mc.entityRenderer; + float farPlaneDistance = mc.gameSettings.renderDistanceChunks * 16; + + GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT); + GL11.glMatrixMode(GL11.GL_PROJECTION); + GL11.glLoadIdentity(); + + Project.gluPerspective(this.getFOVModifier(interp, ClientConfig.GUN_MODEL_FOV.get()), (float) mc.displayWidth / (float) mc.displayHeight, 0.05F, farPlaneDistance * 2.0F); + + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glLoadIdentity(); + + GL11.glPushMatrix(); + + if(mc.gameSettings.thirdPersonView == 0 && !mc.renderViewEntity.isPlayerSleeping() && !mc.gameSettings.hideGUI && !mc.playerController.enableEverythingIsScrewedUpMode()) { + /*ItemRenderer ir = mc.entityRenderer.itemRenderer; + float equip = ir.prevEquippedProgress + (ir.equippedProgress- ir.prevEquippedProgress) * interp; + Animation current = HbmAnimations.getRelevantAnim(); + // flicker prevention, if equip is in progress, only render if an animation is playing + if(!(equip < 0.25 && ir.prevEquippedProgress < ir.equippedProgress && (current == null || current.type != AnimType.EQUIP))) { + entityRenderer.enableLightmap(interp); + this.setupTransformsAndRender(stack); + entityRenderer.disableLightmap(interp); + }*/ + + entityRenderer.enableLightmap(interp); + this.setupTransformsAndRender(stack); + entityRenderer.disableLightmap(interp); + } + + GL11.glPopMatrix(); + + if(mc.gameSettings.thirdPersonView == 0 && !mc.renderViewEntity.isPlayerSleeping()) { + entityRenderer.itemRenderer.renderOverlays(interp); + } + } + + private float getFOVModifier(float interp, boolean useFOVSetting) { + + Minecraft mc = Minecraft.getMinecraft(); + EntityLivingBase entityplayer = (EntityLivingBase) mc.renderViewEntity; + float fov = getBaseFOV(entityplayer.getHeldItem()); + + if(useFOVSetting) fov = mc.gameSettings.fovSetting; + + if(entityplayer.getHealth() <= 0.0F) { + float f2 = (float) entityplayer.deathTime + interp; + fov /= (1.0F - 500.0F / (f2 + 500.0F)) * 2.0F + 1.0F; + } + + Block block = ActiveRenderInfo.getBlockAtEntityViewpoint(mc.theWorld, entityplayer, interp); + if(block.getMaterial() == Material.water) fov = fov * 60.0F / 70.0F; + + return fov; + } + + protected float getBaseFOV(ItemStack stack) { return 70F; } + public float getViewFOV(ItemStack stack, float fov) { return fov; } + protected float getSwayMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 0.1F : 0.5F; } + protected float getSwayPeriod(ItemStack stack) { return 0.75F; } + protected float getTurnMagnitude(ItemStack stack) { return 2.75F; } + + protected void setupTransformsAndRender(ItemStack stack) { + Minecraft mc = Minecraft.getMinecraft(); + EntityPlayer player = mc.thePlayer; + + float swayMagnitude = getSwayMagnitude(stack); + float swayPeriod = getSwayPeriod(stack); + float turnMagnitude = getTurnMagnitude(stack); + + //lighting setup (item lighting changes based on player rotation) + float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * interp; + float yaw = player.prevRotationYaw + (player.rotationYaw - player.prevRotationYaw) * interp; + + GL11.glPushMatrix(); + GL11.glRotatef(pitch, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(yaw, 0.0F, 1.0F, 0.0F); + RenderHelper.enableStandardItemLighting(); + GL11.glPopMatrix(); + + //floppyness + EntityPlayerSP entityplayersp = (EntityPlayerSP) player; + float armPitch = entityplayersp.prevRenderArmPitch + (entityplayersp.renderArmPitch - entityplayersp.prevRenderArmPitch) * interp; + float armYaw = entityplayersp.prevRenderArmYaw + (entityplayersp.renderArmYaw - entityplayersp.prevRenderArmYaw) * interp; + GL11.glRotatef((player.rotationPitch - armPitch) * 0.1F * turnMagnitude, 1.0F, 0.0F, 0.0F); + GL11.glRotatef((player.rotationYaw - armYaw) * 0.1F * turnMagnitude, 0.0F, 1.0F, 0.0F); + + //brightness setup + int brightness = mc.theWorld.getLightBrightnessForSkyBlocks(MathHelper.floor_double(player.posX), MathHelper.floor_double(player.posY), MathHelper.floor_double(player.posZ), 0); + int j = brightness % 65536; + int k = brightness / 65536; + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) j / 1.0F, (float) k / 1.0F); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + + //color setup + int color = stack.getItem().getColorFromItemStack(stack, 0); + float r = (float) (color >> 16 & 255) / 255.0F; + float g = (float) (color >> 8 & 255) / 255.0F; + float b = (float) (color & 255) / 255.0F; + GL11.glColor4f(r, g, b, 1.0F); + + GL11.glPushMatrix(); + + //swing + /*float swing = player.getSwingProgress(interp); + float swingZ = MathHelper.sin(swing * (float) Math.PI); + float swingX = MathHelper.sin(MathHelper.sqrt_float(swing) * (float) Math.PI); + GL11.glTranslatef(-swingX * 0.4F, MathHelper.sin(MathHelper.sqrt_float(swing) * (float) Math.PI * 2.0F) * 0.2F, -swingZ * 0.2F); + + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float swingYaw = MathHelper.sin(swing * swing * (float) Math.PI); + float swingPitchRoll = MathHelper.sin(MathHelper.sqrt_float(swing) * (float) Math.PI); + GL11.glRotatef(-swingYaw * 20.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-swingPitchRoll * 20.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(-swingPitchRoll * 80.0F, 1.0F, 0.0F, 0.0F);*/ + + GL11.glEnable(GL12.GL_RESCALE_NORMAL); //! + + GL11.glRotated(180, 0, 1, 0); + + //viewbob + if(mc.renderViewEntity instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) mc.renderViewEntity; + float distanceDelta = entityplayer.distanceWalkedModified - entityplayer.prevDistanceWalkedModified; + float distanceInterp = -(entityplayer.distanceWalkedModified + distanceDelta * interp); + float camYaw = entityplayer.prevCameraYaw + (entityplayer.cameraYaw - entityplayer.prevCameraYaw) * interp; + float camPitch = entityplayer.prevCameraPitch + (entityplayer.cameraPitch - entityplayer.prevCameraPitch) * interp; + GL11.glTranslatef(MathHelper.sin(distanceInterp * (float) Math.PI * swayPeriod) * camYaw * 0.5F * swayMagnitude, -Math.abs(MathHelper.cos(distanceInterp * (float) Math.PI * swayPeriod) * camYaw) * swayMagnitude, 0.0F); + GL11.glRotatef(MathHelper.sin(distanceInterp * (float) Math.PI * swayPeriod) * camYaw * 3.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(Math.abs(MathHelper.cos(distanceInterp * (float) Math.PI * swayPeriod - 0.2F) * camYaw) * 5.0F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(camPitch, 1.0F, 0.0F, 0.0F); + } + + this.renderItem(ItemRenderType.EQUIPPED_FIRST_PERSON, stack, null, player); + + GL11.glPopMatrix(); + + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + RenderHelper.disableStandardItemLighting(); + } + + public void setupFirstPerson(ItemStack stack) { + GL11.glTranslated(0, 0, 1); + + if(Minecraft.getMinecraft().thePlayer.isSneaking()) { + GL11.glTranslated(0, -3.875 / 8D, 0); + } else { + float offset = 0.8F; + GL11.glRotated(180, 0, 1, 0); + GL11.glTranslatef(1.0F * offset, -0.75F * offset, -0.5F * offset); + GL11.glRotated(180, 0, 1, 0); + } + } + + public void setupThirdPerson(ItemStack stack) { + double scale = 0.125D; + GL11.glScaled(scale, scale, scale); + + GL11.glRotatef(15.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(12.5F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(15.0F, 1.0F, 0.0F, 0.0F); + + GL11.glTranslated(3.5, 0, 0); + + } + + public void setupThirdPersonAkimbo(ItemStack stack) { + double scale = 0.125D; + GL11.glScaled(scale, scale, scale); + + GL11.glRotatef(15.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(12.5F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(10.0F, 1.0F, 0.0F, 0.0F); + + GL11.glTranslated(5, 0, 0); + + } + + public void setupInv(ItemStack stack) { + GL11.glAlphaFunc(GL11.GL_GREATER, 0F); + GL11.glEnable(GL11.GL_ALPHA_TEST); + + GL11.glScaled(1, 1, -1); + GL11.glTranslated(8, 8, 0); + GL11.glRotated(225, 0, 0, 1); + GL11.glRotated(90, 0, 1, 0); + } + + public void setupEntity(ItemStack stack) { + double scale = 0.125D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(-90, 0, 1, 0); + } + + public void setupModTable(ItemStack stack) { + double scale = -5D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + } + + public void renderModTable(ItemStack stack, int index) { + renderOther(stack, ItemRenderType.INVENTORY); + } + + public abstract void renderFirstPerson(ItemStack stack); + public void renderOther(ItemStack stack, ItemRenderType type) { } + + public static void standardAimingTransform(ItemStack stack, double sX, double sY, double sZ, double aX, double aY, double aZ) { + float aimingProgress = ItemGunBaseNT.prevAimingProgress + (ItemGunBaseNT.aimingProgress - ItemGunBaseNT.prevAimingProgress) * interp; + double x = sX + (aX - sX) * aimingProgress; + double y = sY + (aY - sY) * aimingProgress; + double z = sZ + (aZ - sZ) * aimingProgress; + GL11.glTranslated(x, y, z); + } + + public static void renderSmokeNodes(List nodes, double scale) { + Tessellator tess = Tessellator.instance; + + if(nodes.size() > 1) { + + GL11.glEnable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glAlphaFunc(GL11.GL_GREATER, 0F); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glDepthMask(false); + + tess.startDrawingQuads(); + tess.setNormal(0F, 1F, 0F); + + for(int i = 0; i < nodes.size() - 1; i++) { + SmokeNode node = nodes.get(i); + SmokeNode past = nodes.get(i + 1); + + tess.setColorRGBA_F(1F, 1F, 1F, (float) node.alpha); + tess.addVertex(node.forward, node.lift, node.side); + tess.setColorRGBA_F(1F, 1F, 1F, 0F); + tess.addVertex(node.forward, node.lift, node.side + node.width * scale); + tess.setColorRGBA_F(1F, 1F, 1F, 0F); + tess.addVertex(past.forward, past.lift, past.side + past.width * scale); + tess.setColorRGBA_F(1F, 1F, 1F, (float) past.alpha); + tess.addVertex(past.forward, past.lift, past.side); + + tess.setColorRGBA_F(1F, 1F, 1F, (float) node.alpha); + tess.addVertex(node.forward, node.lift, node.side); + tess.setColorRGBA_F(1F, 1F, 1F, 0F); + tess.addVertex(node.forward, node.lift, node.side - node.width * scale); + tess.setColorRGBA_F(1F, 1F, 1F, 0F); + tess.addVertex(past.forward, past.lift, past.side - past.width * scale); + tess.setColorRGBA_F(1F, 1F, 1F, (float) past.alpha); + tess.addVertex(past.forward, past.lift, past.side); + } + tess.draw(); + + GL11.glDepthMask(true); + GL11.glAlphaFunc(GL11.GL_GEQUAL, 0.1F); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glDisable(GL11.GL_BLEND); + } + } + + public static void renderMuzzleFlash(long lastShot) { + renderMuzzleFlash(lastShot, 75, 15); + } + + public static void renderMuzzleFlash(long lastShot, int duration, double l) { + Tessellator tess = Tessellator.instance; + + int flash = duration; + + if(System.currentTimeMillis() - lastShot < flash) { + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + GL11.glDepthMask(false); + GL11.glPushMatrix(); + + double fire = (System.currentTimeMillis() - lastShot) / (double) flash; + + double width = 6 * fire; + double length = l * fire; + double inset = 2; + Minecraft.getMinecraft().renderEngine.bindTexture(flash_plume); + tess.startDrawingQuads(); + tess.setBrightness(240); + tess.setNormal(0F, 1F, 0F); + tess.setColorRGBA_F(1F, 1F, 1F, 1F); + + tess.addVertexWithUV(0, -width, - inset, 1, 1); + tess.addVertexWithUV(0, width, - inset, 0, 1); + tess.addVertexWithUV(0.1, width, length - inset, 0 ,0); + tess.addVertexWithUV(0.1, -width, length - inset, 1, 0); + + tess.addVertexWithUV(0, width, inset, 0, 1); + tess.addVertexWithUV(0, -width, inset, 1, 1); + tess.addVertexWithUV(0.1, -width, -length + inset, 1, 0); + tess.addVertexWithUV(0.1, width, -length + inset, 0 ,0); + + tess.addVertexWithUV(0, - inset, width, 0, 1); + tess.addVertexWithUV(0, - inset, -width, 1, 1); + tess.addVertexWithUV(0.1, length - inset, -width, 1, 0); + tess.addVertexWithUV(0.1, length - inset, width, 0 ,0); + + tess.addVertexWithUV(0, inset, -width, 1, 1); + tess.addVertexWithUV(0, inset, width, 0, 1); + tess.addVertexWithUV(0.1, -length + inset, width, 0 ,0); + tess.addVertexWithUV(0.1, -length + inset, -width, 1, 0); + + tess.draw(); + GL11.glPopMatrix(); + GL11.glDepthMask(true); + GL11.glDisable(GL11.GL_BLEND); + } + } + + public static void renderGapFlash(long lastShot) { + Tessellator tess = Tessellator.instance; + + int flash = 75; + + if(System.currentTimeMillis() - lastShot < flash) { + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + GL11.glPushMatrix(); + + double fire = (System.currentTimeMillis() - lastShot) / (double) flash; + + double height = 4 * fire; + double length = 15 * fire; + double lift = 3 * fire; + double offset = 1 * fire; + double lengthOffset = 0.125; + Minecraft.getMinecraft().renderEngine.bindTexture(flash_plume); + tess.startDrawingQuads(); + tess.setBrightness(240); + tess.setNormal(0F, 1F, 0F); + tess.setColorRGBA_F(1F, 1F, 1F, 1F); + + tess.addVertexWithUV(0, -height, -offset, 1, 1); + tess.addVertexWithUV(0, height, -offset, 0, 1); + tess.addVertexWithUV(0, height + lift, length - offset, 0 ,0); + tess.addVertexWithUV(0, -height + lift, length - offset, 1, 0); + + tess.addVertexWithUV(0, height, offset, 0, 1); + tess.addVertexWithUV(0, -height, offset, 1, 1); + tess.addVertexWithUV(0, -height + lift, -length + offset, 1, 0); + tess.addVertexWithUV(0, height + lift, -length + offset, 0 ,0); + + tess.addVertexWithUV(0, -height, -offset, 1, 1); + tess.addVertexWithUV(0, height, -offset, 0, 1); + tess.addVertexWithUV(lengthOffset, height, length - offset, 0 ,0); + tess.addVertexWithUV(lengthOffset, -height, length - offset, 1, 0); + + tess.addVertexWithUV(0, height, offset, 0, 1); + tess.addVertexWithUV(0, -height, offset, 1, 1); + tess.addVertexWithUV(lengthOffset, -height, -length + offset, 1, 0); + tess.addVertexWithUV(lengthOffset, height, -length + offset, 0 ,0); + + tess.draw(); + GL11.glPopMatrix(); + GL11.glDisable(GL11.GL_BLEND); + } + } + + public static void renderLaserFlash(long lastShot, int flash, double scale, int color) { + Tessellator tess = Tessellator.instance; + + if(System.currentTimeMillis() - lastShot < flash) { + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + GL11.glDepthMask(false); + GL11.glPushMatrix(); + + double fire = (System.currentTimeMillis() - lastShot) / (double) flash; + + double size = 4 * fire * scale; + + Minecraft.getMinecraft().renderEngine.bindTexture(laser_flash); + tess.startDrawingQuads(); + tess.setBrightness(240); + tess.setNormal(0F, 1F, 0F); + + tess.setColorRGBA_I(color, 255); + + tess.addVertexWithUV(0, -size, -size, 1, 1); + tess.addVertexWithUV(0, size, -size, 0, 1); + tess.addVertexWithUV(0, size, size, 0 ,0); + tess.addVertexWithUV(0, -size, size, 1, 0); + + tess.draw(); + GL11.glPopMatrix(); + GL11.glDepthMask(true); + GL11.glDisable(GL11.GL_BLEND); + } + } +} diff --git a/src/main/java/com/hbm/render/loader/HbmFace.java b/src/main/java/com/hbm/render/loader/HbmFace.java index 90429cb58..3245bee65 100644 --- a/src/main/java/com/hbm/render/loader/HbmFace.java +++ b/src/main/java/com/hbm/render/loader/HbmFace.java @@ -7,6 +7,7 @@ import net.minecraft.util.Vec3; import net.minecraftforge.client.model.obj.TextureCoordinate; import net.minecraftforge.client.model.obj.Vertex; +@Deprecated public class HbmFace { public Vertex[] vertices; public Vertex[] vertexNormals; @@ -14,13 +15,13 @@ public class HbmFace { public TextureCoordinate[] textureCoordinates; @SideOnly(Side.CLIENT) - public void addFaceForRender(Tessellator tessellator) + public void addFaceForRender(float currentTime, Tessellator tessellator) { - addFaceForRender(tessellator, 0.0005F); + addFaceForRender(currentTime, tessellator, 0.0005F); } @SideOnly(Side.CLIENT) - public void addFaceForRender(Tessellator tessellator, float textureOffset) + public void addFaceForRender(float currentTime, Tessellator tessellator, float textureOffset) { if (faceNormal == null) { @@ -31,6 +32,7 @@ public class HbmFace { float averageU = 0F; float averageV = 0F; + float animOffset = 0F; if ((textureCoordinates != null) && (textureCoordinates.length > 0)) { @@ -42,6 +44,7 @@ public class HbmFace { averageU = averageU / textureCoordinates.length; averageV = averageV / textureCoordinates.length; + animOffset = (float)(((double)currentTime % HmfController.modoloMod) / HmfController.quotientMod); } float offsetU, offsetV; @@ -63,7 +66,7 @@ public class HbmFace { offsetV = -offsetV; } - tessellator.addVertexWithUV(vertices[i].x, vertices[i].y, vertices[i].z, textureCoordinates[i].u + offsetU, textureCoordinates[i].v + offsetV + (((double)System.currentTimeMillis() % HmfController.modoloMod) / HmfController.quotientMod)); + tessellator.addVertexWithUV(vertices[i].x, vertices[i].y, vertices[i].z, textureCoordinates[i].u + offsetU, textureCoordinates[i].v + offsetV + animOffset); } else { diff --git a/src/main/java/com/hbm/render/loader/HbmGroupObject.java b/src/main/java/com/hbm/render/loader/HbmGroupObject.java index 655394b31..43c5085d4 100644 --- a/src/main/java/com/hbm/render/loader/HbmGroupObject.java +++ b/src/main/java/com/hbm/render/loader/HbmGroupObject.java @@ -6,6 +6,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.Tessellator; +@Deprecated public class HbmGroupObject { public String name; @@ -29,25 +30,25 @@ public class HbmGroupObject { } @SideOnly(Side.CLIENT) - public void render() + public void render(float currentTime) { if (faces.size() > 0) { Tessellator tessellator = Tessellator.instance; tessellator.startDrawing(glDrawingMode); - render(tessellator); + render(currentTime, tessellator); tessellator.draw(); } } @SideOnly(Side.CLIENT) - public void render(Tessellator tessellator) + public void render(float currentTime, Tessellator tessellator) { if (faces.size() > 0) { for (HbmFace face : faces) { - face.addFaceForRender(tessellator); + face.addFaceForRender(currentTime, tessellator); } } } diff --git a/src/main/java/com/hbm/render/loader/HbmModelObject.java b/src/main/java/com/hbm/render/loader/HbmModelObject.java index 942961e18..2ea6e948d 100644 --- a/src/main/java/com/hbm/render/loader/HbmModelObject.java +++ b/src/main/java/com/hbm/render/loader/HbmModelObject.java @@ -21,6 +21,9 @@ import net.minecraftforge.client.model.ModelFormatException; import net.minecraftforge.client.model.obj.TextureCoordinate; import net.minecraftforge.client.model.obj.Vertex; +import com.hbm.util.Clock; + +@Deprecated public class HbmModelObject implements IModelCustom { private static Pattern vertexPattern = Pattern.compile("(v( (\\-){0,1}\\d+(\\.\\d+)?){3,4} *\\n)|(v( (\\-){0,1}\\d+(\\.\\d+)?){3,4} *$)"); private static Pattern vertexNormalPattern = Pattern.compile("(vn( (\\-){0,1}\\d+(\\.\\d+)?){3,4} *\\n)|(vn( (\\-){0,1}\\d+(\\.\\d+)?){3,4} *$)"); @@ -188,9 +191,10 @@ public class HbmModelObject implements IModelCustom { @SideOnly(Side.CLIENT) public void tessellateAll(Tessellator tessellator) { + float currentTime = Clock.get_ms(); for (HbmGroupObject groupObject : groupObjects) { - groupObject.render(tessellator); + groupObject.render(currentTime, tessellator); } } @@ -198,13 +202,14 @@ public class HbmModelObject implements IModelCustom { @SideOnly(Side.CLIENT) public void renderOnly(String... groupNames) { + float currentTime = Clock.get_ms(); for (HbmGroupObject groupObject : groupObjects) { for (String groupName : groupNames) { if (groupName.equalsIgnoreCase(groupObject.name)) { - groupObject.render(); + groupObject.render(currentTime); } } } @@ -212,13 +217,14 @@ public class HbmModelObject implements IModelCustom { @SideOnly(Side.CLIENT) public void tessellateOnly(Tessellator tessellator, String... groupNames) { + float currentTime = Clock.get_ms(); for (HbmGroupObject groupObject : groupObjects) { for (String groupName : groupNames) { if (groupName.equalsIgnoreCase(groupObject.name)) { - groupObject.render(tessellator); + groupObject.render(currentTime, tessellator); } } } @@ -228,22 +234,24 @@ public class HbmModelObject implements IModelCustom { @SideOnly(Side.CLIENT) public void renderPart(String partName) { + float currentTime = Clock.get_ms(); for (HbmGroupObject groupObject : groupObjects) { if (partName.equalsIgnoreCase(groupObject.name)) { - groupObject.render(); + groupObject.render(currentTime); } } } @SideOnly(Side.CLIENT) public void tessellatePart(Tessellator tessellator, String partName) { + float currentTime = Clock.get_ms(); for (HbmGroupObject groupObject : groupObjects) { if (partName.equalsIgnoreCase(groupObject.name)) { - groupObject.render(tessellator); + groupObject.render(currentTime, tessellator); } } } @@ -252,6 +260,7 @@ public class HbmModelObject implements IModelCustom { @SideOnly(Side.CLIENT) public void renderAllExcept(String... excludedGroupNames) { + float currentTime = Clock.get_ms(); for (HbmGroupObject groupObject : groupObjects) { boolean skipPart=false; @@ -264,7 +273,7 @@ public class HbmModelObject implements IModelCustom { } if(!skipPart) { - groupObject.render(); + groupObject.render(currentTime); } } } @@ -272,6 +281,7 @@ public class HbmModelObject implements IModelCustom { @SideOnly(Side.CLIENT) public void tessellateAllExcept(Tessellator tessellator, String... excludedGroupNames) { + float currentTime = Clock.get_ms(); boolean exclude; for (HbmGroupObject groupObject : groupObjects) { @@ -285,7 +295,7 @@ public class HbmModelObject implements IModelCustom { } if(!exclude) { - groupObject.render(tessellator); + groupObject.render(currentTime, tessellator); } } } diff --git a/src/main/java/com/hbm/render/loader/HmfController.java b/src/main/java/com/hbm/render/loader/HmfController.java index 9f85d4a98..86aae64e2 100644 --- a/src/main/java/com/hbm/render/loader/HmfController.java +++ b/src/main/java/com/hbm/render/loader/HmfController.java @@ -1,5 +1,6 @@ package com.hbm.render.loader; +@Deprecated public class HmfController { public static double modoloMod = 100000D; diff --git a/src/main/java/com/hbm/render/loader/HmfModelLoader.java b/src/main/java/com/hbm/render/loader/HmfModelLoader.java index 96884f13d..1dde9e2e1 100644 --- a/src/main/java/com/hbm/render/loader/HmfModelLoader.java +++ b/src/main/java/com/hbm/render/loader/HmfModelLoader.java @@ -5,6 +5,7 @@ import net.minecraftforge.client.model.IModelCustom; import net.minecraftforge.client.model.IModelCustomLoader; import net.minecraftforge.client.model.ModelFormatException; +@Deprecated public class HmfModelLoader implements IModelCustomLoader { @Override diff --git a/src/main/java/com/hbm/render/loader/ModelRendererObj.java b/src/main/java/com/hbm/render/loader/ModelRendererObj.java index 4d916aa86..0119f1719 100644 --- a/src/main/java/com/hbm/render/loader/ModelRendererObj.java +++ b/src/main/java/com/hbm/render/loader/ModelRendererObj.java @@ -21,6 +21,8 @@ public class ModelRendererObj { public float offsetX; public float offsetY; public float offsetZ; + + public boolean doRender = true; String[] parts; IModelCustom model; @@ -58,15 +60,15 @@ public class ModelRendererObj { } public void copyRotationFrom(ModelRenderer model) { - /*offsetX = model.offsetX; + offsetX = model.offsetX; offsetY = model.offsetY; - offsetZ = model.offsetZ;*/ + offsetZ = model.offsetZ; rotateAngleX = model.rotateAngleX; rotateAngleY = model.rotateAngleY; rotateAngleZ = model.rotateAngleZ; - /*rotationPointX = model.rotationPointX; + rotationPointX = model.rotationPointX; rotationPointY = model.rotationPointY; - rotationPointZ = model.rotationPointZ;*/ + rotationPointZ = model.rotationPointZ; } @SideOnly(Side.CLIENT) @@ -77,56 +79,41 @@ public class ModelRendererObj { GL11.glPushMatrix(); - GL11.glTranslatef(this.offsetX * scale, this.offsetY * scale, this.offsetZ * scale); - GL11.glTranslatef(this.rotationPointX * scale, this.rotationPointY * scale, this.rotationPointZ * scale); - if(this.rotateAngleZ != 0.0F) { - GL11.glRotatef(this.rotateAngleZ * (180F / (float) Math.PI), 0.0F, 0.0F, 1.0F); - } + if(this.rotateAngleZ != 0.0F) GL11.glRotatef(this.rotateAngleZ * (180F / (float) Math.PI), 0.0F, 0.0F, 1.0F); + if(this.rotateAngleY != 0.0F) GL11.glRotatef(this.rotateAngleY * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F); + if(this.rotateAngleX != 0.0F) GL11.glRotatef(this.rotateAngleX * (180F / (float) Math.PI), 1.0F, 0.0F, 0.0F); - if(this.rotateAngleY != 0.0F) { - GL11.glRotatef(this.rotateAngleY * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F); - } - - if(this.rotateAngleX != 0.0F) { - GL11.glRotatef(this.rotateAngleX * (180F / (float) Math.PI), 1.0F, 0.0F, 0.0F); - } - - GL11.glTranslatef(-this.rotationPointX * scale, -this.rotationPointY * scale, -this.originPointZ * scale); //yes, that is correct + GL11.glTranslatef(-this.originPointX * scale, -this.originPointY * scale, -this.originPointZ * scale); + GL11.glTranslatef(-this.offsetX * scale, -this.offsetY * scale, -this.offsetZ * scale); GL11.glScalef(scale, scale, scale); - if(parts.length > 0) - for(String part : parts) - model.renderPart(part); - else - model.renderAll(); + if(doRender) { + if(parts.length > 0) + for(String part : parts) + model.renderPart(part); + else + model.renderAll(); + } GL11.glPopMatrix(); } @SideOnly(Side.CLIENT) - public void postRender(float p_78794_1_) { + public void postRender(float scale) { if(this.rotateAngleX == 0.0F && this.rotateAngleY == 0.0F && this.rotateAngleZ == 0.0F) { if(this.rotationPointX != 0.0F || this.rotationPointY != 0.0F || this.rotationPointZ != 0.0F) { - GL11.glTranslatef(this.rotationPointX * p_78794_1_, this.rotationPointY * p_78794_1_, this.rotationPointZ * p_78794_1_); + GL11.glTranslatef(this.rotationPointX * scale, this.rotationPointY * scale, this.rotationPointZ * scale); } } else { - GL11.glTranslatef(this.rotationPointX * p_78794_1_, this.rotationPointY * p_78794_1_, this.rotationPointZ * p_78794_1_); + GL11.glTranslatef(this.rotationPointX * scale, this.rotationPointY * scale, this.rotationPointZ * scale); - if(this.rotateAngleZ != 0.0F) { - GL11.glRotatef(this.rotateAngleZ * (180F / (float) Math.PI), 0.0F, 0.0F, 1.0F); - } - - if(this.rotateAngleY != 0.0F) { - GL11.glRotatef(this.rotateAngleY * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F); - } - - if(this.rotateAngleX != 0.0F) { - GL11.glRotatef(this.rotateAngleX * (180F / (float) Math.PI), 1.0F, 0.0F, 0.0F); - } + if(this.rotateAngleZ != 0.0F) GL11.glRotatef(this.rotateAngleZ * (180F / (float) Math.PI), 0.0F, 0.0F, 1.0F); + if(this.rotateAngleY != 0.0F) GL11.glRotatef(this.rotateAngleY * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F); + if(this.rotateAngleX != 0.0F) GL11.glRotatef(this.rotateAngleX * (180F / (float) Math.PI), 1.0F, 0.0F, 0.0F); } } } diff --git a/src/main/java/com/hbm/render/model/ModelArmorAJR.java b/src/main/java/com/hbm/render/model/ModelArmorAJR.java index 5beb058c7..a23b02852 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorAJR.java +++ b/src/main/java/com/hbm/render/model/ModelArmorAJR.java @@ -5,54 +5,54 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; import com.hbm.render.loader.ModelRendererObj; -import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; public class ModelArmorAJR extends ModelArmorBase { - + public ModelArmorAJR(int type) { super(type); - head = new ModelRendererObj(ResourceManager.armor_ajr, "Head"); - body = new ModelRendererObj(ResourceManager.armor_ajr, "Body"); - leftArm = new ModelRendererObj(ResourceManager.armor_ajr, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F); - rightArm = new ModelRendererObj(ResourceManager.armor_ajr, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F); - leftLeg = new ModelRendererObj(ResourceManager.armor_ajr, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); - rightLeg = new ModelRendererObj(ResourceManager.armor_ajr, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); - leftFoot = new ModelRendererObj(ResourceManager.armor_ajr, "LeftBoot").setRotationPoint(1.9F, 12.0F, 0.0F); - rightFoot = new ModelRendererObj(ResourceManager.armor_ajr, "RightBoot").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.head = new ModelRendererObj(ResourceManager.armor_ajr, "Head"); + this.body = new ModelRendererObj(ResourceManager.armor_ajr, "Body"); + this.leftArm = new ModelRendererObj(ResourceManager.armor_ajr, "LeftArm").setRotationPoint(5.0F, 2.0F, 0.0F); + this.rightArm = new ModelRendererObj(ResourceManager.armor_ajr, "RightArm").setRotationPoint(-5.0F, 2.0F, 0.0F); + this.leftLeg = new ModelRendererObj(ResourceManager.armor_ajr, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightLeg = new ModelRendererObj(ResourceManager.armor_ajr, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.leftFoot = new ModelRendererObj(ResourceManager.armor_ajr, "LeftBoot").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightFoot = new ModelRendererObj(ResourceManager.armor_ajr, "RightBoot").setRotationPoint(-1.9F, 12.0F, 0.0F); } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + GL11.glPushMatrix(); GL11.glShadeModel(GL11.GL_SMOOTH); - - if(type == 0) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ajr_helmet); - head.render(par7); + + if(this.type == 0) { + bindTexture(ResourceManager.ajr_helmet); + this.head.render(scaleFactor); } - if(type == 1) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ajr_chest); - body.render(par7); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ajr_arm); - leftArm.render(par7); - rightArm.render(par7); + if(this.type == 1) { + bindTexture(ResourceManager.ajr_chest); + this.body.render(scaleFactor); + + bindTexture(ResourceManager.ajr_arm); + this.leftArm.render(scaleFactor); + this.rightArm.render(scaleFactor); } - if(type == 2) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ajr_leg); - leftLeg.render(par7); - rightLeg.render(par7); + if(this.type == 2) { + bindTexture(ResourceManager.ajr_leg); + this.leftLeg.render(scaleFactor); + this.rightLeg.render(scaleFactor); } - if(type == 3) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ajr_leg); - leftFoot.render(par7); - rightFoot.render(par7); + if(this.type == 3) { + bindTexture(ResourceManager.ajr_leg); + this.leftFoot.render(scaleFactor); + this.rightFoot.render(scaleFactor); } - + GL11.glShadeModel(GL11.GL_FLAT); GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/render/model/ModelArmorAJRO.java b/src/main/java/com/hbm/render/model/ModelArmorAJRO.java index 7d7b2676c..1dc7d8942 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorAJRO.java +++ b/src/main/java/com/hbm/render/model/ModelArmorAJRO.java @@ -5,54 +5,54 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; import com.hbm.render.loader.ModelRendererObj; -import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; public class ModelArmorAJRO extends ModelArmorBase { - + public ModelArmorAJRO(int type) { super(type); - head = new ModelRendererObj(ResourceManager.armor_ajr, "Head"); - body = new ModelRendererObj(ResourceManager.armor_ajr, "Body"); - leftArm = new ModelRendererObj(ResourceManager.armor_ajr, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F); - rightArm = new ModelRendererObj(ResourceManager.armor_ajr, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F); - leftLeg = new ModelRendererObj(ResourceManager.armor_ajr, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); - rightLeg = new ModelRendererObj(ResourceManager.armor_ajr, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); - leftFoot = new ModelRendererObj(ResourceManager.armor_ajr, "LeftBoot").setRotationPoint(1.9F, 12.0F, 0.0F); - rightFoot = new ModelRendererObj(ResourceManager.armor_ajr, "RightBoot").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.head = new ModelRendererObj(ResourceManager.armor_ajr, "Head"); + this.body = new ModelRendererObj(ResourceManager.armor_ajr, "Body"); + this.leftArm = new ModelRendererObj(ResourceManager.armor_ajr, "LeftArm").setRotationPoint(5.0F, 2.0F, 0.0F); + this.rightArm = new ModelRendererObj(ResourceManager.armor_ajr, "RightArm").setRotationPoint(-5.0F, 2.0F, 0.0F); + this.leftLeg = new ModelRendererObj(ResourceManager.armor_ajr, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightLeg = new ModelRendererObj(ResourceManager.armor_ajr, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.leftFoot = new ModelRendererObj(ResourceManager.armor_ajr, "LeftBoot").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightFoot = new ModelRendererObj(ResourceManager.armor_ajr, "RightBoot").setRotationPoint(-1.9F, 12.0F, 0.0F); } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + GL11.glPushMatrix(); GL11.glShadeModel(GL11.GL_SMOOTH); - - if(type == 0) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ajro_helmet); - head.render(par7); + + if(this.type == 0) { + bindTexture(ResourceManager.ajro_helmet); + this.head.render(scaleFactor); } - if(type == 1) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ajro_chest); - body.render(par7); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ajro_arm); - leftArm.render(par7); - rightArm.render(par7); + if(this.type == 1) { + bindTexture(ResourceManager.ajro_chest); + this.body.render(scaleFactor); + + bindTexture(ResourceManager.ajro_arm); + this.leftArm.render(scaleFactor); + this.rightArm.render(scaleFactor); } - if(type == 2) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ajro_leg); - leftLeg.render(par7); - rightLeg.render(par7); + if(this.type == 2) { + bindTexture(ResourceManager.ajro_leg); + this.leftLeg.render(scaleFactor); + this.rightLeg.render(scaleFactor); } - if(type == 3) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ajro_leg); - leftFoot.render(par7); - rightFoot.render(par7); + if(this.type == 3) { + bindTexture(ResourceManager.ajro_leg); + this.leftFoot.render(scaleFactor); + this.rightFoot.render(scaleFactor); } - + GL11.glShadeModel(GL11.GL_FLAT); GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/render/model/ModelArmorBJ.java b/src/main/java/com/hbm/render/model/ModelArmorBJ.java index 8f07fd4c7..098dce3c3 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorBJ.java +++ b/src/main/java/com/hbm/render/model/ModelArmorBJ.java @@ -5,62 +5,62 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; import com.hbm.render.loader.ModelRendererObj; -import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; public class ModelArmorBJ extends ModelArmorBase { - + ModelRendererObj jetpack; - + public ModelArmorBJ(int type) { super(type); - head = new ModelRendererObj(ResourceManager.armor_bj, "Head"); - body = new ModelRendererObj(ResourceManager.armor_bj, "Body"); - jetpack = new ModelRendererObj(ResourceManager.armor_bj, "Jetpack"); - leftArm = new ModelRendererObj(ResourceManager.armor_bj, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F); - rightArm = new ModelRendererObj(ResourceManager.armor_bj, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F); - leftLeg = new ModelRendererObj(ResourceManager.armor_bj, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); - rightLeg = new ModelRendererObj(ResourceManager.armor_bj, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); - leftFoot = new ModelRendererObj(ResourceManager.armor_bj, "LeftFoot").setRotationPoint(1.9F, 12.0F, 0.0F); - rightFoot = new ModelRendererObj(ResourceManager.armor_bj, "RightFoot").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.head = new ModelRendererObj(ResourceManager.armor_bj, "Head"); + this.body = new ModelRendererObj(ResourceManager.armor_bj, "Body"); + this.jetpack = new ModelRendererObj(ResourceManager.armor_bj, "Jetpack"); + this.leftArm = new ModelRendererObj(ResourceManager.armor_bj, "LeftArm").setRotationPoint(5.0F, 2.0F, 0.0F); + this.rightArm = new ModelRendererObj(ResourceManager.armor_bj, "RightArm").setRotationPoint(-5.0F, 2.0F, 0.0F); + this.leftLeg = new ModelRendererObj(ResourceManager.armor_bj, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightLeg = new ModelRendererObj(ResourceManager.armor_bj, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.leftFoot = new ModelRendererObj(ResourceManager.armor_bj, "LeftFoot").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightFoot = new ModelRendererObj(ResourceManager.armor_bj, "RightFoot").setRotationPoint(-1.9F, 12.0F, 0.0F); } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - body.copyTo(jetpack); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + this.body.copyTo(this.jetpack); + GL11.glPushMatrix(); - - if(type == 0) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bj_eyepatch); - head.render(par7); + + if(this.type == 0) { + bindTexture(ResourceManager.bj_eyepatch); + this.head.render(scaleFactor); } - if(type == 1 || type == 5) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bj_chest); - body.render(par7); - - if(type == 5) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bj_jetpack); - jetpack.render(par7); + if(this.type == 1 || this.type == 5) { + bindTexture(ResourceManager.bj_chest); + this.body.render(scaleFactor); + + if(this.type == 5) { + bindTexture(ResourceManager.bj_jetpack); + this.jetpack.render(scaleFactor); } - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bj_arm); - leftArm.render(par7); - rightArm.render(par7); + + bindTexture(ResourceManager.bj_arm); + this.leftArm.render(scaleFactor); + this.rightArm.render(scaleFactor); } - if(type == 2) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bj_leg); - leftLeg.render(par7); - rightLeg.render(par7); + if(this.type == 2) { + bindTexture(ResourceManager.bj_leg); + this.leftLeg.render(scaleFactor); + this.rightLeg.render(scaleFactor); } - if(type == 3) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bj_leg); - leftFoot.render(par7); - rightFoot.render(par7); + if(this.type == 3) { + bindTexture(ResourceManager.bj_leg); + this.leftFoot.render(scaleFactor); + this.rightFoot.render(scaleFactor); } - + GL11.glPopMatrix(); } } diff --git a/src/main/java/com/hbm/render/model/ModelArmorBase.java b/src/main/java/com/hbm/render/model/ModelArmorBase.java index 81af0edba..cc7c63d5c 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorBase.java +++ b/src/main/java/com/hbm/render/model/ModelArmorBase.java @@ -1,20 +1,20 @@ package com.hbm.render.model; -import com.hbm.interfaces.IHoldableWeapon; import com.hbm.render.loader.ModelRendererObj; import net.minecraft.client.Minecraft; import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.client.renderer.entity.RenderBiped; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.client.renderer.entity.RenderPlayer; import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; public class ModelArmorBase extends ModelBiped { - int type; - + public int type; public ModelRendererObj head; public ModelRendererObj body; public ModelRendererObj leftArm; @@ -27,146 +27,149 @@ public class ModelArmorBase extends ModelBiped { public ModelArmorBase(int type) { this.type = type; - // generate null defaults to prevent major breakage from using - // incomplete models - head = new ModelRendererObj(null); - body = new ModelRendererObj(null); - leftArm = new ModelRendererObj(null).setRotationPoint(-5.0F, 2.0F, 0.0F); - rightArm = new ModelRendererObj(null).setRotationPoint(5.0F, 2.0F, 0.0F); - leftLeg = new ModelRendererObj(null).setRotationPoint(1.9F, 12.0F, 0.0F); - rightLeg = new ModelRendererObj(null).setRotationPoint(-1.9F, 12.0F, 0.0F); - leftFoot = new ModelRendererObj(null).setRotationPoint(1.9F, 12.0F, 0.0F); - rightFoot = new ModelRendererObj(null).setRotationPoint(-1.9F, 12.0F, 0.0F); + // Generate null defaults to prevent major breakage from using incomplete models + this.head = new ModelRendererObj(null); + this.body = new ModelRendererObj(null); + this.leftArm = new ModelRendererObj(null).setRotationPoint(5.0F, 2.0F, 0.0F); + this.rightArm = new ModelRendererObj(null).setRotationPoint(-5.0F, 2.0F, 0.0F); + this.leftLeg = new ModelRendererObj(null).setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightLeg = new ModelRendererObj(null).setRotationPoint(-1.9F, 12.0F, 0.0F); + this.leftFoot = new ModelRendererObj(null).setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightFoot = new ModelRendererObj(null).setRotationPoint(-1.9F, 12.0F, 0.0F); } - public void setRotationAngles(float walkCycle, float walkAmplitude, float idleCycle, float headYaw, float headPitch, float scale, Entity entity) { + @Override + public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entity) { - head.rotateAngleY = headYaw / (180F / (float) Math.PI); - head.rotateAngleX = headPitch / (180F / (float) Math.PI); - rightArm.rotateAngleX = MathHelper.cos(walkCycle * 0.6662F + (float) Math.PI) * 2.0F * walkAmplitude * 0.5F; - leftArm.rotateAngleX = MathHelper.cos(walkCycle * 0.6662F) * 2.0F * walkAmplitude * 0.5F; - rightArm.rotateAngleZ = 0.0F; - leftArm.rotateAngleZ = 0.0F; - rightFoot.rotateAngleX = rightLeg.rotateAngleX = MathHelper.cos(walkCycle * 0.6662F) * 1.4F * walkAmplitude; - leftFoot.rotateAngleX = leftLeg.rotateAngleX = MathHelper.cos(walkCycle * 0.6662F + (float) Math.PI) * 1.4F * walkAmplitude; - rightFoot.rotateAngleY = rightLeg.rotateAngleY = 0.0F; - leftFoot.rotateAngleY = leftLeg.rotateAngleY = 0.0F; + boolean calculateRotations = true; - if(entity instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) entity; + Render render = RenderManager.instance.getEntityRenderObject(entity); + if(render instanceof RenderPlayer) { + RenderPlayer renderPlayer = (RenderPlayer) render; + this.copyPropertiesFromBiped(renderPlayer.modelBipedMain); + calculateRotations = false; + + } else if(render instanceof RenderBiped) { + RenderBiped renderBiped = (RenderBiped) render; + this.copyPropertiesFromBiped(renderBiped.modelBipedMain); + calculateRotations = false; + } - this.aimedBow = false; + /// FALLBACK /// + if(calculateRotations) { - if(player.getHeldItem() != null) { + this.isSneak = entity.isSneaking(); + this.isRiding = entity.isRiding(); - int hold = 1; + if(this.isSneak) { + this.rightFoot.offsetZ = this.rightLeg.offsetZ = 4.0F; + this.leftFoot.offsetZ = this.leftLeg.offsetZ = 4.0F; + this.rightFoot.offsetY = this.rightLeg.offsetY = -3.0F; + this.leftFoot.offsetY = this.leftLeg.offsetY = -3.0F; + } else { + this.rightFoot.offsetZ = this.rightLeg.offsetZ = 0.1F; + this.leftFoot.offsetZ = this.leftLeg.offsetZ = 0.1F; + this.rightFoot.offsetY = this.rightLeg.offsetY = 0.0F; + this.leftFoot.offsetY = this.leftLeg.offsetY = 0.0F; + } + + this.head.rotateAngleY = netHeadYaw / (180F / (float) Math.PI); + this.head.rotateAngleX = headPitch / (180F / (float) Math.PI); + this.rightArm.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F + (float) Math.PI) * 2.0F * limbSwingAmount * 0.5F; + this.leftArm.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F) * 2.0F * limbSwingAmount * 0.5F; + this.rightArm.rotateAngleZ = 0.0F; + this.leftArm.rotateAngleZ = 0.0F; - if(player.getItemInUseCount() > 0) { - - EnumAction action = player.getHeldItem().getItemUseAction(); - - if(action == EnumAction.block) - hold = 3; - - if(action == EnumAction.bow) - this.aimedBow = true; - } - - if(player.getHeldItem().getItem() instanceof IHoldableWeapon) - this.aimedBow = true; - - rightArm.rotateAngleX = rightArm.rotateAngleX * 0.5F - ((float) Math.PI / 10F) * hold; + if(this.isRiding) { + this.rightArm.rotateAngleX -= (float) Math.PI / 5F; + this.leftArm.rotateAngleX -= (float) Math.PI / 5F; } - this.isSneak = player.isSneaking(); - this.isRiding = player.isRiding(); - } + if(this.heldItemLeft != 0) { + this.leftArm.rotateAngleX = this.leftArm.rotateAngleX * 0.5F - ((float) Math.PI / 10F) * (float) this.heldItemLeft; + } - if(this.isRiding) { - rightArm.rotateAngleX += -((float) Math.PI / 5F); - leftArm.rotateAngleX += -((float) Math.PI / 5F); - rightFoot.rotateAngleX = rightLeg.rotateAngleX = -((float) Math.PI * 2F / 5F); - leftFoot.rotateAngleX = leftLeg.rotateAngleX = -((float) Math.PI * 2F / 5F); - rightFoot.rotateAngleY = rightLeg.rotateAngleY = ((float) Math.PI / 10F); - leftFoot.rotateAngleY = leftLeg.rotateAngleY = -((float) Math.PI / 10F); - } + if(this.heldItemRight != 0) { + this.rightArm.rotateAngleX = this.rightArm.rotateAngleX * 0.5F - ((float) Math.PI / 10F) * (float) this.heldItemRight; + } - if(this.heldItemLeft != 0) { - leftArm.rotateAngleX = leftArm.rotateAngleX * 0.5F - ((float) Math.PI / 10F) * (float) this.heldItemLeft; - } + this.rightArm.rotateAngleY = 0.0F; + this.leftArm.rotateAngleY = 0.0F; + float f6; + float f7; - if(this.heldItemRight != 0) { - rightArm.rotateAngleX = rightArm.rotateAngleX * 0.5F - ((float) Math.PI / 10F) * (float) this.heldItemRight; - } + if(this.onGround > -9990.0F) { + f6 = this.onGround; + this.body.rotateAngleY = MathHelper.sin(MathHelper.sqrt_float(f6) * (float) Math.PI * 2.0F) * 0.2F; + this.rightArm.rotationPointZ = MathHelper.sin(this.body.rotateAngleY) * 5.0F; + this.rightArm.rotationPointX = -MathHelper.cos(this.body.rotateAngleY) * 5.0F; + this.leftArm.rotationPointZ = -MathHelper.sin(this.body.rotateAngleY) * 5.0F; + this.leftArm.rotationPointX = MathHelper.cos(this.body.rotateAngleY) * 5.0F; + this.rightArm.rotateAngleY += this.body.rotateAngleY; + this.leftArm.rotateAngleY += this.body.rotateAngleY; + this.leftArm.rotateAngleX += this.body.rotateAngleY; + f6 = 1.0F - this.onGround; + f6 *= f6; + f6 *= f6; + f6 = 1.0F - f6; + f7 = MathHelper.sin(f6 * (float) Math.PI); + float f8 = MathHelper.sin(this.onGround * (float) Math.PI) * -(this.head.rotateAngleX - 0.7F) * 0.75F; + this.rightArm.rotateAngleX = (float) ((double) this.rightArm.rotateAngleX - ((double) f7 * 1.2D + (double) f8)); + this.rightArm.rotateAngleY += this.body.rotateAngleY * 2.0F; + this.rightArm.rotateAngleZ = MathHelper.sin(this.onGround * (float) Math.PI) * -0.4F; + } - rightArm.rotateAngleY = 0.0F; - leftArm.rotateAngleY = 0.0F; - float f6; - float f7; + if(this.isSneak) { + this.body.rotateAngleX = 0.5F; + this.rightArm.rotateAngleX += 0.4F; + this.leftArm.rotateAngleX += 0.4F; + this.head.offsetY = 1.0F; + } else { + this.body.rotateAngleX = 0.0F; + this.head.offsetY = 0.0F; + } - if(this.onGround > -9990.0F) { - f6 = this.onGround; - body.rotateAngleY = MathHelper.sin(MathHelper.sqrt_float(f6) * (float) Math.PI * 2.0F) * 0.2F; - rightArm.rotationPointZ = MathHelper.sin(body.rotateAngleY) * 5.0F; - rightArm.rotationPointX = -MathHelper.cos(body.rotateAngleY) * 5.0F; - leftArm.rotationPointZ = -MathHelper.sin(body.rotateAngleY) * 5.0F; - leftArm.rotationPointX = MathHelper.cos(body.rotateAngleY) * 5.0F; - rightArm.rotateAngleY += body.rotateAngleY; - leftArm.rotateAngleY += body.rotateAngleY; - leftArm.rotateAngleX += body.rotateAngleY; - f6 = 1.0F - this.onGround; - f6 *= f6; - f6 *= f6; - f6 = 1.0F - f6; - f7 = MathHelper.sin(f6 * (float) Math.PI); - float f8 = MathHelper.sin(this.onGround * (float) Math.PI) * -(head.rotateAngleX - 0.7F) * 0.75F; - rightArm.rotateAngleX = (float) ((double) rightArm.rotateAngleX - ((double) f7 * 1.2D + (double) f8)); - rightArm.rotateAngleY += body.rotateAngleY * 2.0F; - rightArm.rotateAngleZ = MathHelper.sin(this.onGround * (float) Math.PI) * -0.4F; - } + this.rightArm.rotateAngleZ += MathHelper.cos(ageInTicks * 0.09F) * 0.05F + 0.05F; + this.leftArm.rotateAngleZ -= MathHelper.cos(ageInTicks * 0.09F) * 0.05F + 0.05F; + this.rightArm.rotateAngleX += MathHelper.sin(ageInTicks * 0.067F) * 0.05F; + this.leftArm.rotateAngleX -= MathHelper.sin(ageInTicks * 0.067F) * 0.05F; - if(this.isSneak) { - body.rotateAngleX = 0.5F; - rightArm.rotateAngleX += 0.4F; - leftArm.rotateAngleX += 0.4F; - rightFoot.offsetZ = rightLeg.offsetZ = 4.0F; - leftFoot.offsetZ = leftLeg.offsetZ = 4.0F; - rightFoot.offsetY = rightLeg.offsetY = -3.0F; - leftFoot.offsetY = leftLeg.offsetY = -3.0F; - head.offsetY = 1.0F; - } else { - body.rotateAngleX = 0.0F; - rightFoot.offsetZ = rightLeg.offsetZ = 0.1F; - leftFoot.offsetZ = leftLeg.offsetZ = 0.1F; - rightFoot.offsetY = rightLeg.offsetY = 0.0F; - leftFoot.offsetY = leftLeg.offsetY = 0.0F; - head.offsetY = 0.0F; - } - - rightArm.rotateAngleZ += MathHelper.cos(idleCycle * 0.09F) * 0.05F + 0.05F; - leftArm.rotateAngleZ -= MathHelper.cos(idleCycle * 0.09F) * 0.05F + 0.05F; - rightArm.rotateAngleX += MathHelper.sin(idleCycle * 0.067F) * 0.05F; - leftArm.rotateAngleX -= MathHelper.sin(idleCycle * 0.067F) * 0.05F; - - if(this.aimedBow) { - f6 = 0.0F; - f7 = 0.0F; - rightArm.rotateAngleZ = 0.0F; - leftArm.rotateAngleZ = 0.0F; - rightArm.rotateAngleY = -(0.1F - f6 * 0.6F) + head.rotateAngleY; - leftArm.rotateAngleY = 0.1F - f6 * 0.6F + head.rotateAngleY + 0.4F; - rightArm.rotateAngleX = -((float) Math.PI / 2F) + head.rotateAngleX; - leftArm.rotateAngleX = -((float) Math.PI / 2F) + head.rotateAngleX; - rightArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F; - leftArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F; - rightArm.rotateAngleZ += MathHelper.cos(idleCycle * 0.09F) * 0.05F + 0.05F; - leftArm.rotateAngleZ -= MathHelper.cos(idleCycle * 0.09F) * 0.05F + 0.05F; - rightArm.rotateAngleX += MathHelper.sin(idleCycle * 0.067F) * 0.05F; - leftArm.rotateAngleX -= MathHelper.sin(idleCycle * 0.067F) * 0.05F; + if(this.aimedBow) { + f6 = 0.0F; + f7 = 0.0F; + this.rightArm.rotateAngleZ = 0.0F; + this.leftArm.rotateAngleZ = 0.0F; + this.rightArm.rotateAngleY = -(0.1F - f6 * 0.6F) + this.head.rotateAngleY; + this.leftArm.rotateAngleY = 0.1F - f6 * 0.6F + this.head.rotateAngleY + 0.4F; + this.rightArm.rotateAngleX = -((float) Math.PI / 2F) + this.head.rotateAngleX; + this.leftArm.rotateAngleX = -((float) Math.PI / 2F) + this.head.rotateAngleX; + this.rightArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F; + this.leftArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F; + this.rightArm.rotateAngleZ += MathHelper.cos(ageInTicks * 0.09F) * 0.05F + 0.05F; + this.leftArm.rotateAngleZ -= MathHelper.cos(ageInTicks * 0.09F) * 0.05F + 0.05F; + this.rightArm.rotateAngleX += MathHelper.sin(ageInTicks * 0.067F) * 0.05F; + this.leftArm.rotateAngleX -= MathHelper.sin(ageInTicks * 0.067F) * 0.05F; + } } } - protected void bindTexture(ResourceLocation loc) { - Minecraft.getMinecraft().renderEngine.bindTexture(loc); + protected static void bindTexture(ResourceLocation location) { + Minecraft.getMinecraft().renderEngine.bindTexture(location); + } + + private void copyPropertiesFromBiped(ModelBiped modelBiped) { + + this.head.copyRotationFrom(modelBiped.bipedHead); + this.body.copyRotationFrom(modelBiped.bipedBody); + this.leftArm.copyRotationFrom(modelBiped.bipedLeftArm); + this.rightArm.copyRotationFrom(modelBiped.bipedRightArm); + this.leftLeg.copyRotationFrom(modelBiped.bipedLeftLeg); + this.rightLeg.copyRotationFrom(modelBiped.bipedRightLeg); + this.leftFoot.copyRotationFrom(modelBiped.bipedLeftLeg); + this.rightFoot.copyRotationFrom(modelBiped.bipedRightLeg); + // compat crap + this.aimedBow = modelBiped.aimedBow; + this.isSneak = modelBiped.isSneak; + this.isRiding = modelBiped.isRiding; } } diff --git a/src/main/java/com/hbm/render/model/ModelArmorBismuth.java b/src/main/java/com/hbm/render/model/ModelArmorBismuth.java index 1081a23a7..0ee6425e4 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorBismuth.java +++ b/src/main/java/com/hbm/render/model/ModelArmorBismuth.java @@ -5,51 +5,50 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; import com.hbm.render.loader.ModelRendererObj; -import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; public class ModelArmorBismuth extends ModelArmorBase { - + public ModelArmorBismuth(int type) { super(type); - head = new ModelRendererObj(ResourceManager.armor_bismuth, "Head"); - body = new ModelRendererObj(ResourceManager.armor_bismuth, "Body"); - leftArm = new ModelRendererObj(ResourceManager.armor_bismuth, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F); - rightArm = new ModelRendererObj(ResourceManager.armor_bismuth, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F); - leftLeg = new ModelRendererObj(ResourceManager.armor_bismuth, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); - rightLeg = new ModelRendererObj(ResourceManager.armor_bismuth, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); - leftFoot = new ModelRendererObj(ResourceManager.armor_bismuth, "LeftFoot").setRotationPoint(1.9F, 12.0F, 0.0F); - rightFoot = new ModelRendererObj(ResourceManager.armor_bismuth, "RightFoot").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.head = new ModelRendererObj(ResourceManager.armor_bismuth, "Head"); + this.body = new ModelRendererObj(ResourceManager.armor_bismuth, "Body"); + this.leftArm = new ModelRendererObj(ResourceManager.armor_bismuth, "LeftArm").setRotationPoint(5.0F, 2.0F, 0.0F); + this.rightArm = new ModelRendererObj(ResourceManager.armor_bismuth, "RightArm").setRotationPoint(-5.0F, 2.0F, 0.0F); + this.leftLeg = new ModelRendererObj(ResourceManager.armor_bismuth, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightLeg = new ModelRendererObj(ResourceManager.armor_bismuth, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.leftFoot = new ModelRendererObj(ResourceManager.armor_bismuth, "LeftFoot").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightFoot = new ModelRendererObj(ResourceManager.armor_bismuth, "RightFoot").setRotationPoint(-1.9F, 12.0F, 0.0F); } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + GL11.glPushMatrix(); GL11.glShadeModel(GL11.GL_SMOOTH); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.armor_bismuth_tex); - - if(type == 0) { - head.render(par7); + + bindTexture(ResourceManager.armor_bismuth_tex); + + if(this.type == 0) { + this.head.render(scaleFactor); } - if(type == 1) { - leftArm.render(par7); - rightArm.render(par7); - body.render(par7); + if(this.type == 1) { + this.leftArm.render(scaleFactor); + this.rightArm.render(scaleFactor); + this.body.render(scaleFactor); } - if(type == 2) { - leftLeg.render(par7); - rightLeg.render(par7); + if(this.type == 2) { + this.leftLeg.render(scaleFactor); + this.rightLeg.render(scaleFactor); } - if(type == 3) { - leftFoot.render(par7); - rightFoot.render(par7); + if(this.type == 3) { + this.leftFoot.render(scaleFactor); + this.rightFoot.render(scaleFactor); } - + GL11.glShadeModel(GL11.GL_FLAT); GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/render/model/ModelArmorDNT.java b/src/main/java/com/hbm/render/model/ModelArmorDNT.java index 9f26beec7..77287835b 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorDNT.java +++ b/src/main/java/com/hbm/render/model/ModelArmorDNT.java @@ -5,54 +5,53 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; import com.hbm.render.loader.ModelRendererObj; -import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; public class ModelArmorDNT extends ModelArmorBase { - + public ModelArmorDNT(int type) { super(type); - head = new ModelRendererObj(ResourceManager.armor_dnt, "Head"); - body = new ModelRendererObj(ResourceManager.armor_dnt, "Body"); - leftArm = new ModelRendererObj(ResourceManager.armor_dnt, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F); - rightArm = new ModelRendererObj(ResourceManager.armor_dnt, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F); - leftLeg = new ModelRendererObj(ResourceManager.armor_dnt, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); - rightLeg = new ModelRendererObj(ResourceManager.armor_dnt, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); - leftFoot = new ModelRendererObj(ResourceManager.armor_dnt, "LeftBoot").setRotationPoint(1.9F, 12.0F, 0.0F); - rightFoot = new ModelRendererObj(ResourceManager.armor_dnt, "RightBoot").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.head = new ModelRendererObj(ResourceManager.armor_dnt, "Head"); + this.body = new ModelRendererObj(ResourceManager.armor_dnt, "Body"); + this.leftArm = new ModelRendererObj(ResourceManager.armor_dnt, "LeftArm").setRotationPoint(5.0F, 2.0F, 0.0F); + this.rightArm = new ModelRendererObj(ResourceManager.armor_dnt, "RightArm").setRotationPoint(-5.0F, 2.0F, 0.0F); + this.leftLeg = new ModelRendererObj(ResourceManager.armor_dnt, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightLeg = new ModelRendererObj(ResourceManager.armor_dnt, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.leftFoot = new ModelRendererObj(ResourceManager.armor_dnt, "LeftBoot").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightFoot = new ModelRendererObj(ResourceManager.armor_dnt, "RightBoot").setRotationPoint(-1.9F, 12.0F, 0.0F); } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + GL11.glPushMatrix(); GL11.glShadeModel(GL11.GL_SMOOTH); - - if(type == 0) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.dnt_helmet); - head.render(par7); + + if(this.type == 0) { + bindTexture(ResourceManager.dnt_helmet); + this.head.render(scaleFactor); } - if(type == 1) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.dnt_chest); - body.render(par7); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.dnt_arm); - leftArm.render(par7); - rightArm.render(par7); + if(this.type == 1) { + bindTexture(ResourceManager.dnt_chest); + this.body.render(scaleFactor); + bindTexture(ResourceManager.dnt_arm); + this.leftArm.render(scaleFactor); + this.rightArm.render(scaleFactor); } - if(type == 2) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.dnt_leg); - leftLeg.render(par7); - rightLeg.render(par7); + if(this.type == 2) { + bindTexture(ResourceManager.dnt_leg); + this.leftLeg.render(scaleFactor); + this.rightLeg.render(scaleFactor); } - if(type == 3) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.dnt_leg); - leftFoot.render(par7); - rightFoot.render(par7); + if(this.type == 3) { + bindTexture(ResourceManager.dnt_leg); + this.leftFoot.render(scaleFactor); + this.rightFoot.render(scaleFactor); } - + GL11.glShadeModel(GL11.GL_FLAT); GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/render/model/ModelArmorDesh.java b/src/main/java/com/hbm/render/model/ModelArmorDesh.java index f4dd02051..a92317ef7 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorDesh.java +++ b/src/main/java/com/hbm/render/model/ModelArmorDesh.java @@ -8,50 +8,50 @@ import com.hbm.render.loader.ModelRendererObj; import net.minecraft.entity.Entity; public class ModelArmorDesh extends ModelArmorBase { - + public ModelArmorDesh(int type) { super(type); - head = new ModelRendererObj(ResourceManager.armor_steamsuit, "Head"); - body = new ModelRendererObj(ResourceManager.armor_steamsuit, "Body"); - leftArm = new ModelRendererObj(ResourceManager.armor_steamsuit, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F); - rightArm = new ModelRendererObj(ResourceManager.armor_steamsuit, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F); - leftLeg = new ModelRendererObj(ResourceManager.armor_steamsuit, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); - rightLeg = new ModelRendererObj(ResourceManager.armor_steamsuit, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); - leftFoot = new ModelRendererObj(ResourceManager.armor_steamsuit, "LeftBoot").setRotationPoint(1.9F, 12.0F, 0.0F); - rightFoot = new ModelRendererObj(ResourceManager.armor_steamsuit, "RightBoot").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.head = new ModelRendererObj(ResourceManager.armor_steamsuit, "Head"); + this.body = new ModelRendererObj(ResourceManager.armor_steamsuit, "Body"); + this.leftArm = new ModelRendererObj(ResourceManager.armor_steamsuit, "LeftArm").setRotationPoint(5.0F, 2.0F, 0.0F); + this.rightArm = new ModelRendererObj(ResourceManager.armor_steamsuit, "RightArm").setRotationPoint(-5.0F, 2.0F, 0.0F); + this.leftLeg = new ModelRendererObj(ResourceManager.armor_steamsuit, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightLeg = new ModelRendererObj(ResourceManager.armor_steamsuit, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.leftFoot = new ModelRendererObj(ResourceManager.armor_steamsuit, "LeftBoot").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightFoot = new ModelRendererObj(ResourceManager.armor_steamsuit, "RightBoot").setRotationPoint(-1.9F, 12.0F, 0.0F); } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + GL11.glPushMatrix(); GL11.glShadeModel(GL11.GL_SMOOTH); - - if(type == 0) { + + if(this.type == 0) { bindTexture(ResourceManager.steamsuit_helmet); - head.render(par7); + this.head.render(scaleFactor); } - if(type == 1) { + if(this.type == 1) { bindTexture(ResourceManager.steamsuit_chest); - body.render(par7); + this.body.render(scaleFactor); bindTexture(ResourceManager.steamsuit_arm); - leftArm.render(par7); - rightArm.render(par7); + this.leftArm.render(scaleFactor); + this.rightArm.render(scaleFactor); } - if(type == 2) { + if(this.type == 2) { bindTexture(ResourceManager.steamsuit_leg); - leftLeg.render(par7); - rightLeg.render(par7); + this.leftLeg.render(scaleFactor); + this.rightLeg.render(scaleFactor); } - if(type == 3) { + if(this.type == 3) { bindTexture(ResourceManager.steamsuit_leg); - leftFoot.render(par7); - rightFoot.render(par7); + this.leftFoot.render(scaleFactor); + this.rightFoot.render(scaleFactor); } - + GL11.glShadeModel(GL11.GL_FLAT); GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/render/model/ModelArmorDiesel.java b/src/main/java/com/hbm/render/model/ModelArmorDiesel.java index 9ccb36b65..fb8f35fa2 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorDiesel.java +++ b/src/main/java/com/hbm/render/model/ModelArmorDiesel.java @@ -8,50 +8,50 @@ import com.hbm.render.loader.ModelRendererObj; import net.minecraft.entity.Entity; public class ModelArmorDiesel extends ModelArmorBase { - + public ModelArmorDiesel(int type) { super(type); - head = new ModelRendererObj(ResourceManager.armor_dieselsuit, "Head"); - body = new ModelRendererObj(ResourceManager.armor_dieselsuit, "Body"); - leftArm = new ModelRendererObj(ResourceManager.armor_dieselsuit, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F); - rightArm = new ModelRendererObj(ResourceManager.armor_dieselsuit, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F); - leftLeg = new ModelRendererObj(ResourceManager.armor_dieselsuit, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); - rightLeg = new ModelRendererObj(ResourceManager.armor_dieselsuit, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); - leftFoot = new ModelRendererObj(ResourceManager.armor_dieselsuit, "LeftBoot").setRotationPoint(1.9F, 12.0F, 0.0F); - rightFoot = new ModelRendererObj(ResourceManager.armor_dieselsuit, "RightBoot").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.head = new ModelRendererObj(ResourceManager.armor_dieselsuit, "Head"); + this.body = new ModelRendererObj(ResourceManager.armor_dieselsuit, "Body"); + this.leftArm = new ModelRendererObj(ResourceManager.armor_dieselsuit, "LeftArm").setRotationPoint(5.0F, 2.0F, 0.0F); + this.rightArm = new ModelRendererObj(ResourceManager.armor_dieselsuit, "RightArm").setRotationPoint(-5.0F, 2.0F, 0.0F); + this.leftLeg = new ModelRendererObj(ResourceManager.armor_dieselsuit, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightLeg = new ModelRendererObj(ResourceManager.armor_dieselsuit, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.leftFoot = new ModelRendererObj(ResourceManager.armor_dieselsuit, "LeftBoot").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightFoot = new ModelRendererObj(ResourceManager.armor_dieselsuit, "RightBoot").setRotationPoint(-1.9F, 12.0F, 0.0F); } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + GL11.glPushMatrix(); GL11.glShadeModel(GL11.GL_SMOOTH); - - if(type == 0) { + + if(this.type == 0) { bindTexture(ResourceManager.dieselsuit_helmet); - head.render(par7); + this.head.render(scaleFactor); } - if(type == 1) { + if(this.type == 1) { bindTexture(ResourceManager.dieselsuit_chest); - body.render(par7); + this.body.render(scaleFactor); bindTexture(ResourceManager.dieselsuit_arm); - leftArm.render(par7); - rightArm.render(par7); + this.leftArm.render(scaleFactor); + this.rightArm.render(scaleFactor); } - if(type == 2) { + if(this.type == 2) { bindTexture(ResourceManager.dieselsuit_leg); - leftLeg.render(par7); - rightLeg.render(par7); + this.leftLeg.render(scaleFactor); + this.rightLeg.render(scaleFactor); } - if(type == 3) { + if(this.type == 3) { bindTexture(ResourceManager.dieselsuit_leg); - leftFoot.render(par7); - rightFoot.render(par7); + this.leftFoot.render(scaleFactor); + this.rightFoot.render(scaleFactor); } - + GL11.glShadeModel(GL11.GL_FLAT); GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/render/model/ModelArmorDigamma.java b/src/main/java/com/hbm/render/model/ModelArmorDigamma.java index 6410a0333..d0abc19c5 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorDigamma.java +++ b/src/main/java/com/hbm/render/model/ModelArmorDigamma.java @@ -5,64 +5,63 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; import com.hbm.render.loader.ModelRendererObj; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.entity.Entity; public class ModelArmorDigamma extends ModelArmorBase { ModelRendererObj cassette; - + public ModelArmorDigamma(int type) { super(type); - head = new ModelRendererObj(ResourceManager.armor_fau, "Head"); - body = new ModelRendererObj(ResourceManager.armor_fau, "Body"); - cassette = new ModelRendererObj(ResourceManager.armor_fau, "Cassette"); - leftArm = new ModelRendererObj(ResourceManager.armor_fau, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F); - rightArm = new ModelRendererObj(ResourceManager.armor_fau, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F); - leftLeg = new ModelRendererObj(ResourceManager.armor_fau, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); - rightLeg = new ModelRendererObj(ResourceManager.armor_fau, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); - leftFoot = new ModelRendererObj(ResourceManager.armor_fau, "LeftBoot").setRotationPoint(1.9F, 12.0F, 0.0F); - rightFoot = new ModelRendererObj(ResourceManager.armor_fau, "RightBoot").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.head = new ModelRendererObj(ResourceManager.armor_fau, "Head"); + this.body = new ModelRendererObj(ResourceManager.armor_fau, "Body"); + this.cassette = new ModelRendererObj(ResourceManager.armor_fau, "Cassette"); + this.leftArm = new ModelRendererObj(ResourceManager.armor_fau, "LeftArm").setRotationPoint(5.0F, 2.0F, 0.0F); + this.rightArm = new ModelRendererObj(ResourceManager.armor_fau, "RightArm").setRotationPoint(-5.0F, 2.0F, 0.0F); + this.leftLeg = new ModelRendererObj(ResourceManager.armor_fau, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightLeg = new ModelRendererObj(ResourceManager.armor_fau, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.leftFoot = new ModelRendererObj(ResourceManager.armor_fau, "LeftBoot").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightFoot = new ModelRendererObj(ResourceManager.armor_fau, "RightBoot").setRotationPoint(-1.9F, 12.0F, 0.0F); } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + GL11.glPushMatrix(); GL11.glShadeModel(GL11.GL_SMOOTH); - - body.copyTo(cassette); - - if(type == 0) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.fau_helmet); - head.render(par7); + + this.body.copyTo(this.cassette); + + if(this.type == 0) { + bindTexture(ResourceManager.fau_helmet); + this.head.render(scaleFactor); } - if(type == 1) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.fau_chest); - body.render(par7); + if(this.type == 1) { + bindTexture(ResourceManager.fau_chest); + this.body.render(scaleFactor); GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.fau_cassette); - cassette.render(par7); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.fau_arm); - leftArm.render(par7); - rightArm.render(par7); + OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO); + bindTexture(ResourceManager.fau_cassette); + this.cassette.render(scaleFactor); + bindTexture(ResourceManager.fau_arm); + this.leftArm.render(scaleFactor); + this.rightArm.render(scaleFactor); } - if(type == 2) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.fau_leg); - leftLeg.render(par7); - rightLeg.render(par7); + if(this.type == 2) { + bindTexture(ResourceManager.fau_leg); + this.leftLeg.render(scaleFactor); + this.rightLeg.render(scaleFactor); } - if(type == 3) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.fau_leg); - leftFoot.render(par7); - rightFoot.render(par7); + if(this.type == 3) { + bindTexture(ResourceManager.fau_leg); + this.leftFoot.render(scaleFactor); + this.rightFoot.render(scaleFactor); } - + GL11.glShadeModel(GL11.GL_FLAT); GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/render/model/ModelArmorEnvsuit.java b/src/main/java/com/hbm/render/model/ModelArmorEnvsuit.java index 0f5e0aa7a..7662709ba 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorEnvsuit.java +++ b/src/main/java/com/hbm/render/model/ModelArmorEnvsuit.java @@ -5,42 +5,42 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; import com.hbm.render.loader.ModelRendererObj; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.entity.Entity; public class ModelArmorEnvsuit extends ModelArmorBase { - + ModelRendererObj lamps; - + public ModelArmorEnvsuit(int type) { super(type); - head = new ModelRendererObj(ResourceManager.armor_envsuit, "Helmet"); - lamps = new ModelRendererObj(ResourceManager.armor_envsuit, "Lamps"); - body = new ModelRendererObj(ResourceManager.armor_envsuit, "Chest"); - leftArm = new ModelRendererObj(ResourceManager.armor_envsuit, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F); - rightArm = new ModelRendererObj(ResourceManager.armor_envsuit, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F); - leftLeg = new ModelRendererObj(ResourceManager.armor_envsuit, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); - rightLeg = new ModelRendererObj(ResourceManager.armor_envsuit, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); - leftFoot = new ModelRendererObj(ResourceManager.armor_envsuit, "LeftFoot").setRotationPoint(1.9F, 12.0F, 0.0F); - rightFoot = new ModelRendererObj(ResourceManager.armor_envsuit, "RightFoot").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.head = new ModelRendererObj(ResourceManager.armor_envsuit, "Helmet"); + this.lamps = new ModelRendererObj(ResourceManager.armor_envsuit, "Lamps"); + this.body = new ModelRendererObj(ResourceManager.armor_envsuit, "Chest"); + this.leftArm = new ModelRendererObj(ResourceManager.armor_envsuit, "LeftArm").setRotationPoint(5.0F, 2.0F, 0.0F); + this.rightArm = new ModelRendererObj(ResourceManager.armor_envsuit, "RightArm").setRotationPoint(-5.0F, 2.0F, 0.0F); + this.leftLeg = new ModelRendererObj(ResourceManager.armor_envsuit, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightLeg = new ModelRendererObj(ResourceManager.armor_envsuit, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.leftFoot = new ModelRendererObj(ResourceManager.armor_envsuit, "LeftFoot").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightFoot = new ModelRendererObj(ResourceManager.armor_envsuit, "RightFoot").setRotationPoint(-1.9F, 12.0F, 0.0F); } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - head.copyTo(lamps); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + this.head.copyTo(this.lamps); + GL11.glPushMatrix(); - - if(type == 0) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.envsuit_helmet); + + if(this.type == 0) { + bindTexture(ResourceManager.envsuit_helmet); GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - head.render(par7); + OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO); + this.head.render(scaleFactor); GL11.glDisable(GL11.GL_BLEND); - + /// START GLOW /// float lastX = OpenGlHelper.lastBrightnessX; float lastY = OpenGlHelper.lastBrightnessY; @@ -49,7 +49,7 @@ public class ModelArmorEnvsuit extends ModelArmorBase { GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glColor3f(1F, 1F, 0.8F); - lamps.render(par7); + this.lamps.render(scaleFactor); GL11.glColor3f(1F, 1F, 1F); GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glEnable(GL11.GL_LIGHTING); @@ -57,24 +57,24 @@ public class ModelArmorEnvsuit extends ModelArmorBase { OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, lastX, lastY); /// END GLOW /// } - if(type == 1) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.envsuit_chest); - body.render(par7); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.envsuit_arm); - leftArm.render(par7); - rightArm.render(par7); + if(this.type == 1) { + bindTexture(ResourceManager.envsuit_chest); + this.body.render(scaleFactor); + bindTexture(ResourceManager.envsuit_arm); + this.leftArm.render(scaleFactor); + this.rightArm.render(scaleFactor); } - if(type == 2) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.envsuit_leg); - leftLeg.render(par7); - rightLeg.render(par7); + if(this.type == 2) { + bindTexture(ResourceManager.envsuit_leg); + this.leftLeg.render(scaleFactor); + this.rightLeg.render(scaleFactor); } - if(type == 3) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.envsuit_leg); - leftFoot.render(par7); - rightFoot.render(par7); + if(this.type == 3) { + bindTexture(ResourceManager.envsuit_leg); + this.leftFoot.render(scaleFactor); + this.rightFoot.render(scaleFactor); } - + GL11.glPopMatrix(); } } diff --git a/src/main/java/com/hbm/render/model/ModelArmorHEV.java b/src/main/java/com/hbm/render/model/ModelArmorHEV.java index a0e24e8b9..99167b306 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorHEV.java +++ b/src/main/java/com/hbm/render/model/ModelArmorHEV.java @@ -5,53 +5,52 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; import com.hbm.render.loader.ModelRendererObj; -import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; public class ModelArmorHEV extends ModelArmorBase { - + public ModelArmorHEV(int type) { super(type); - head = new ModelRendererObj(ResourceManager.armor_hev, "Head"); - body = new ModelRendererObj(ResourceManager.armor_hev, "Body"); - leftArm = new ModelRendererObj(ResourceManager.armor_hev, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F); - rightArm = new ModelRendererObj(ResourceManager.armor_hev, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F); - leftLeg = new ModelRendererObj(ResourceManager.armor_hev, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); - rightLeg = new ModelRendererObj(ResourceManager.armor_hev, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); - leftFoot = new ModelRendererObj(ResourceManager.armor_hev, "LeftFoot").setRotationPoint(1.9F, 12.0F, 0.0F); - rightFoot = new ModelRendererObj(ResourceManager.armor_hev, "RightFoot").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.head = new ModelRendererObj(ResourceManager.armor_hev, "Head"); + this.body = new ModelRendererObj(ResourceManager.armor_hev, "Body"); + this.leftArm = new ModelRendererObj(ResourceManager.armor_hev, "LeftArm").setRotationPoint(5.0F, 2.0F, 0.0F); + this.rightArm = new ModelRendererObj(ResourceManager.armor_hev, "RightArm").setRotationPoint(-5.0F, 2.0F, 0.0F); + this.leftLeg = new ModelRendererObj(ResourceManager.armor_hev, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightLeg = new ModelRendererObj(ResourceManager.armor_hev, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.leftFoot = new ModelRendererObj(ResourceManager.armor_hev, "LeftFoot").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightFoot = new ModelRendererObj(ResourceManager.armor_hev, "RightFoot").setRotationPoint(-1.9F, 12.0F, 0.0F); } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + GL11.glPushMatrix(); - - if(type == 0) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.hev_helmet); - head.render(par7); + + if(this.type == 0) { + bindTexture(ResourceManager.hev_helmet); + this.head.render(scaleFactor); } - if(type == 1) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.hev_chest); - body.render(par7); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.hev_arm); - leftArm.render(par7); - rightArm.render(par7); + if(this.type == 1) { + bindTexture(ResourceManager.hev_chest); + this.body.render(scaleFactor); + bindTexture(ResourceManager.hev_arm); + this.leftArm.render(scaleFactor); + this.rightArm.render(scaleFactor); } - if(type == 2) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.hev_leg); - leftLeg.render(par7); - rightLeg.render(par7); + if(this.type == 2) { + bindTexture(ResourceManager.hev_leg); + this.leftLeg.render(scaleFactor); + this.rightLeg.render(scaleFactor); } - if(type == 3) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.hev_leg); - leftFoot.render(par7); - rightFoot.render(par7); + if(this.type == 3) { + bindTexture(ResourceManager.hev_leg); + this.leftFoot.render(scaleFactor); + this.rightFoot.render(scaleFactor); } - + GL11.glPopMatrix(); } } diff --git a/src/main/java/com/hbm/render/model/ModelArmorRPA.java b/src/main/java/com/hbm/render/model/ModelArmorRPA.java index 7553d3636..f1b633697 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorRPA.java +++ b/src/main/java/com/hbm/render/model/ModelArmorRPA.java @@ -5,101 +5,100 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; import com.hbm.render.loader.ModelRendererObj; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.entity.Entity; public class ModelArmorRPA extends ModelArmorBase { - + ModelRendererObj fan; ModelRendererObj glow; - + public ModelArmorRPA(int type) { super(type); - head = new ModelRendererObj(ResourceManager.armor_remnant, "Head"); - body = new ModelRendererObj(ResourceManager.armor_remnant, "Body"); - fan = new ModelRendererObj(ResourceManager.armor_remnant, "Fan"); - glow = new ModelRendererObj(ResourceManager.armor_remnant, "Glow"); - leftArm = new ModelRendererObj(ResourceManager.armor_remnant, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F); - rightArm = new ModelRendererObj(ResourceManager.armor_remnant, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F); - leftLeg = new ModelRendererObj(ResourceManager.armor_remnant, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); - rightLeg = new ModelRendererObj(ResourceManager.armor_remnant, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); - leftFoot = new ModelRendererObj(ResourceManager.armor_remnant, "LeftBoot").setRotationPoint(1.9F, 12.0F, 0.0F); - rightFoot = new ModelRendererObj(ResourceManager.armor_remnant, "RightBoot").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.head = new ModelRendererObj(ResourceManager.armor_remnant, "Head"); + this.body = new ModelRendererObj(ResourceManager.armor_remnant, "Body"); + this.fan = new ModelRendererObj(ResourceManager.armor_remnant, "Fan"); + this.glow = new ModelRendererObj(ResourceManager.armor_remnant, "Glow"); + this.leftArm = new ModelRendererObj(ResourceManager.armor_remnant, "LeftArm").setRotationPoint(5.0F, 2.0F, 0.0F); + this.rightArm = new ModelRendererObj(ResourceManager.armor_remnant, "RightArm").setRotationPoint(-5.0F, 2.0F, 0.0F); + this.leftLeg = new ModelRendererObj(ResourceManager.armor_remnant, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightLeg = new ModelRendererObj(ResourceManager.armor_remnant, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.leftFoot = new ModelRendererObj(ResourceManager.armor_remnant, "LeftBoot").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightFoot = new ModelRendererObj(ResourceManager.armor_remnant, "RightBoot").setRotationPoint(-1.9F, 12.0F, 0.0F); } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); //body.copyTo(fan); - body.copyTo(glow); - + this.body.copyTo(this.glow); + GL11.glPushMatrix(); GL11.glShadeModel(GL11.GL_SMOOTH); - - if(type == 0) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.rpa_helmet); - head.render(par7); + + if(this.type == 0) { + bindTexture(ResourceManager.rpa_helmet); + this.head.render(scaleFactor); } - if(type == 1) { - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.rpa_arm); - leftArm.render(par7); - rightArm.render(par7); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.rpa_chest); - body.render(par7); - + if(this.type == 1) { + + bindTexture(ResourceManager.rpa_arm); + this.leftArm.render(scaleFactor); + this.rightArm.render(scaleFactor); + + bindTexture(ResourceManager.rpa_chest); + this.body.render(scaleFactor); + /// START GLOW /// float lastX = OpenGlHelper.lastBrightnessX; float lastY = OpenGlHelper.lastBrightnessY; GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); GL11.glDisable(GL11.GL_LIGHTING); - glow.render(par7); + this.glow.render(scaleFactor); GL11.glEnable(GL11.GL_LIGHTING); GL11.glPopAttrib(); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, lastX, lastY); /// END GLOW /// - + /// START FAN /// GL11.glPushMatrix(); double px = 0.0625D; - GL11.glTranslatef(body.offsetX * (float) px, body.offsetY * (float) px, body.offsetZ * (float) px); - GL11.glTranslatef(body.rotationPointX * (float) px, body.rotationPointY * (float) px, body.rotationPointZ * (float) px); + GL11.glTranslatef(this.body.offsetX * (float) px, this.body.offsetY * (float) px, this.body.offsetZ * (float) px); + GL11.glTranslatef(this.body.rotationPointX * (float) px, this.body.rotationPointY * (float) px, this.body.rotationPointZ * (float) px); - if(body.rotateAngleZ != 0.0F) { - GL11.glRotatef(body.rotateAngleZ * (180F / (float) Math.PI), 0.0F, 0.0F, 1.0F); + if(this.body.rotateAngleZ != 0.0F) { + GL11.glRotatef(this.body.rotateAngleZ * (180F / (float) Math.PI), 0.0F, 0.0F, 1.0F); } - if(body.rotateAngleY != 0.0F) { - GL11.glRotatef(body.rotateAngleY * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F); + if(this.body.rotateAngleY != 0.0F) { + GL11.glRotatef(this.body.rotateAngleY * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F); } - if(body.rotateAngleX != 0.0F) { - GL11.glRotatef(body.rotateAngleX * (180F / (float) Math.PI), 1.0F, 0.0F, 0.0F); + if(this.body.rotateAngleX != 0.0F) { + GL11.glRotatef(this.body.rotateAngleX * (180F / (float) Math.PI), 1.0F, 0.0F, 0.0F); } - + GL11.glTranslated(0, 4.875 * px, 0); - GL11.glRotated(-System.currentTimeMillis() / 2 % 360, 0, 0, 1); + GL11.glRotated(-System.currentTimeMillis() / 2D % 360, 0, 0, 1); GL11.glTranslated(0, -4.875 * px, 0); - fan.render(par7); + this.fan.render(scaleFactor); GL11.glPopMatrix(); /// END FAN /// } - if(type == 2) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.rpa_leg); - leftLeg.render(par7); - rightLeg.render(par7); + if(this.type == 2) { + bindTexture(ResourceManager.rpa_leg); + this.leftLeg.render(scaleFactor); + this.rightLeg.render(scaleFactor); } - if(type == 3) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.rpa_leg); - leftFoot.render(par7); - rightFoot.render(par7); + if(this.type == 3) { + bindTexture(ResourceManager.rpa_leg); + this.leftFoot.render(scaleFactor); + this.rightFoot.render(scaleFactor); } - + GL11.glShadeModel(GL11.GL_FLAT); GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/render/model/ModelArmorTailPeep.java b/src/main/java/com/hbm/render/model/ModelArmorTailPeep.java index 5a8cb8370..37790ef50 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorTailPeep.java +++ b/src/main/java/com/hbm/render/model/ModelArmorTailPeep.java @@ -3,24 +3,24 @@ package com.hbm.render.model; import com.hbm.main.ResourceManager; import com.hbm.render.loader.ModelRendererObj; -import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; public class ModelArmorTailPeep extends ModelArmorBase { ModelRendererObj tail; - + public ModelArmorTailPeep() { super(0); - tail = new ModelRendererObj(ResourceManager.armor_tail, "FaggyAssFuckingTailThing"); + this.tail = new ModelRendererObj(ResourceManager.armor_tail, "FaggyAssFuckingTailThing"); } @Override - public void render(Entity entity, float par2, float par3, float par4, float par5, float par6, float par7) { - setRotationAngles(par2, par3, par4, par5, par6, par7, entity); - body.copyTo(tail); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.tail_peep); - tail.render(par7); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + this.body.copyTo(this.tail); + + bindTexture(ResourceManager.tail_peep); + this.tail.render(scaleFactor); } } diff --git a/src/main/java/com/hbm/render/model/ModelArmorTaurun.java b/src/main/java/com/hbm/render/model/ModelArmorTaurun.java new file mode 100644 index 000000000..0753621cb --- /dev/null +++ b/src/main/java/com/hbm/render/model/ModelArmorTaurun.java @@ -0,0 +1,60 @@ +package com.hbm.render.model; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; +import com.hbm.render.loader.ModelRendererObj; + +import net.minecraft.entity.Entity; + +public class ModelArmorTaurun extends ModelArmorBase { + + public ModelArmorTaurun(int type) { + super(type); + + this.head = new ModelRendererObj(ResourceManager.armor_taurun, "Helmet"); + this.body = new ModelRendererObj(ResourceManager.armor_taurun, "Chest"); + this.leftArm = new ModelRendererObj(ResourceManager.armor_taurun, "LeftArm").setRotationPoint(5.0F, 2.0F, 0.0F); + this.rightArm = new ModelRendererObj(ResourceManager.armor_taurun, "RightArm").setRotationPoint(-5.0F, 2.0F, 0.0F); + this.leftLeg = new ModelRendererObj(ResourceManager.armor_taurun, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightLeg = new ModelRendererObj(ResourceManager.armor_taurun, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.leftFoot = new ModelRendererObj(ResourceManager.armor_taurun, "LeftBoot").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightFoot = new ModelRendererObj(ResourceManager.armor_taurun, "RightBoot").setRotationPoint(-1.9F, 12.0F, 0.0F); + } + + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + + GL11.glPushMatrix(); + + if(this.type == 0) { + bindTexture(ResourceManager.taurun_helmet); + this.head.render(scaleFactor); + } + if(this.type == 1) { + bindTexture(ResourceManager.taurun_chest); + this.body.render(scaleFactor); + bindTexture(ResourceManager.taurun_arm); + this.leftArm.render(scaleFactor); + this.rightArm.render(scaleFactor); + } + if(this.type == 2) { + bindTexture(ResourceManager.taurun_leg); + GL11.glTranslated(-0.01, 0, 0); + this.leftLeg.render(scaleFactor); + GL11.glTranslated(0.02, 0, 0); + this.rightLeg.render(scaleFactor); + } + if(this.type == 3) { + bindTexture(ResourceManager.taurun_leg); + GL11.glTranslated(-0.01, 0, 0); + this.leftFoot.render(scaleFactor); + GL11.glTranslated(0.02, 0, 0); + this.rightFoot.render(scaleFactor); + } + + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/render/model/ModelArmorTrenchmaster.java b/src/main/java/com/hbm/render/model/ModelArmorTrenchmaster.java index 533190861..32ee331ea 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorTrenchmaster.java +++ b/src/main/java/com/hbm/render/model/ModelArmorTrenchmaster.java @@ -5,72 +5,76 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; import com.hbm.render.loader.ModelRendererObj; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.entity.Entity; public class ModelArmorTrenchmaster extends ModelArmorBase { - + ModelRendererObj light; - + public ModelArmorTrenchmaster(int type) { super(type); - head = new ModelRendererObj(ResourceManager.armor_trenchmaster, "Helmet"); - light = new ModelRendererObj(ResourceManager.armor_trenchmaster, "Light"); - body = new ModelRendererObj(ResourceManager.armor_trenchmaster, "Chest"); - leftArm = new ModelRendererObj(ResourceManager.armor_trenchmaster, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F); - rightArm = new ModelRendererObj(ResourceManager.armor_trenchmaster, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F); - leftLeg = new ModelRendererObj(ResourceManager.armor_trenchmaster, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); - rightLeg = new ModelRendererObj(ResourceManager.armor_trenchmaster, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); - leftFoot = new ModelRendererObj(ResourceManager.armor_trenchmaster, "LeftBoot").setRotationPoint(1.9F, 12.0F, 0.0F); - rightFoot = new ModelRendererObj(ResourceManager.armor_trenchmaster, "RightBoot").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.head = new ModelRendererObj(ResourceManager.armor_trenchmaster, "Helmet"); + this.light = new ModelRendererObj(ResourceManager.armor_trenchmaster, "Light"); + this.body = new ModelRendererObj(ResourceManager.armor_trenchmaster, "Chest"); + this.leftArm = new ModelRendererObj(ResourceManager.armor_trenchmaster, "LeftArm").setRotationPoint(5.0F, 2.0F, 0.0F); + this.rightArm = new ModelRendererObj(ResourceManager.armor_trenchmaster, "RightArm").setRotationPoint(-5.0F, 2.0F, 0.0F); + this.leftLeg = new ModelRendererObj(ResourceManager.armor_trenchmaster, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightLeg = new ModelRendererObj(ResourceManager.armor_trenchmaster, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.leftFoot = new ModelRendererObj(ResourceManager.armor_trenchmaster, "LeftBoot").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightFoot = new ModelRendererObj(ResourceManager.armor_trenchmaster, "RightBoot").setRotationPoint(-1.9F, 12.0F, 0.0F); } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - head.copyTo(light); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + this.head.copyTo(this.light); + GL11.glPushMatrix(); - - if(type == 0) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.trenchmaster_helmet); + + if(this.type == 0) { + bindTexture(ResourceManager.trenchmaster_helmet); GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - head.render(par7); + OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO); + this.head.render(scaleFactor); GL11.glDisable(GL11.GL_BLEND); - + /// START GLOW /// float lastX = OpenGlHelper.lastBrightnessX; float lastY = OpenGlHelper.lastBrightnessY; GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); GL11.glDisable(GL11.GL_LIGHTING); - light.render(par7); + this.light.render(scaleFactor); GL11.glEnable(GL11.GL_LIGHTING); GL11.glPopAttrib(); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, lastX, lastY); /// END GLOW /// } - if(type == 1) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.trenchmaster_chest); - body.render(par7); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.trenchmaster_arm); - leftArm.render(par7); - rightArm.render(par7); + if(this.type == 1) { + bindTexture(ResourceManager.trenchmaster_chest); + this.body.render(scaleFactor); + bindTexture(ResourceManager.trenchmaster_arm); + this.leftArm.render(scaleFactor); + this.rightArm.render(scaleFactor); } - if(type == 2) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.trenchmaster_leg); - leftLeg.render(par7); - rightLeg.render(par7); + if(this.type == 2) { + bindTexture(ResourceManager.trenchmaster_leg); + GL11.glTranslated(-0.01, 0, 0); + this.leftLeg.render(scaleFactor); + GL11.glTranslated(0.02, 0, 0); + this.rightLeg.render(scaleFactor); } - if(type == 3) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.trenchmaster_leg); - leftFoot.render(par7); - rightFoot.render(par7); + if(this.type == 3) { + bindTexture(ResourceManager.trenchmaster_leg); + GL11.glTranslated(-0.01, 0, 0); + this.leftFoot.render(scaleFactor); + GL11.glTranslated(0.02, 0, 0); + this.rightFoot.render(scaleFactor); } - + GL11.glPopMatrix(); } } diff --git a/src/main/java/com/hbm/render/model/ModelArmorWings.java b/src/main/java/com/hbm/render/model/ModelArmorWings.java index 280da5bdc..576c115e4 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorWings.java +++ b/src/main/java/com/hbm/render/model/ModelArmorWings.java @@ -5,7 +5,6 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; import com.hbm.render.loader.ModelRendererObj; -import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; import net.minecraft.util.ResourceLocation; @@ -15,77 +14,74 @@ public class ModelArmorWings extends ModelArmorBase { ModelRendererObj wingLT; ModelRendererObj wingRB; ModelRendererObj wingRT; - + public ModelArmorWings(int type) { super(type); - wingLB = new ModelRendererObj(ResourceManager.armor_wings, "LeftBase"); - wingLT = new ModelRendererObj(ResourceManager.armor_wings, "LeftTip"); - wingRB = new ModelRendererObj(ResourceManager.armor_wings, "RightBase"); - wingRT = new ModelRendererObj(ResourceManager.armor_wings, "RightTip"); + this.wingLB = new ModelRendererObj(ResourceManager.armor_wings, "LeftBase"); + this.wingLT = new ModelRendererObj(ResourceManager.armor_wings, "LeftTip"); + this.wingRB = new ModelRendererObj(ResourceManager.armor_wings, "RightBase"); + this.wingRT = new ModelRendererObj(ResourceManager.armor_wings, "RightTip"); //i should really stop doing that - head = new ModelRendererObj(ResourceManager.anvil); - body = new ModelRendererObj(ResourceManager.anvil); - leftArm = new ModelRendererObj(ResourceManager.anvil).setRotationPoint(-5.0F, 2.0F, 0.0F); - rightArm = new ModelRendererObj(ResourceManager.anvil).setRotationPoint(5.0F, 2.0F, 0.0F); - leftLeg = new ModelRendererObj(ResourceManager.anvil).setRotationPoint(1.9F, 12.0F, 0.0F); - rightLeg = new ModelRendererObj(ResourceManager.anvil).setRotationPoint(-1.9F, 12.0F, 0.0F); - leftFoot = new ModelRendererObj(ResourceManager.anvil).setRotationPoint(1.9F, 12.0F, 0.0F); - rightFoot = new ModelRendererObj(ResourceManager.anvil).setRotationPoint(-1.9F, 12.0F, 0.0F); + this.head = new ModelRendererObj(ResourceManager.anvil); + this.body = new ModelRendererObj(ResourceManager.anvil); + this.leftArm = new ModelRendererObj(ResourceManager.anvil).setRotationPoint(5.0F, 2.0F, 0.0F); + this.rightArm = new ModelRendererObj(ResourceManager.anvil).setRotationPoint(-5.0F, 2.0F, 0.0F); + this.leftLeg = new ModelRendererObj(ResourceManager.anvil).setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightLeg = new ModelRendererObj(ResourceManager.anvil).setRotationPoint(-1.9F, 12.0F, 0.0F); + this.leftFoot = new ModelRendererObj(ResourceManager.anvil).setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightFoot = new ModelRendererObj(ResourceManager.anvil).setRotationPoint(-1.9F, 12.0F, 0.0F); } @Override - public void render(Entity entity, float par2, float par3, float par4, float par5, float par6, float par7) { - - setRotationAngles(par2, par3, par4, par5, par6, par7, entity); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); //body.copyTo(wingLB); //body.copyTo(wingLT); //body.copyTo(wingRB); //body.copyTo(wingRT); - + GL11.glPushMatrix(); - - Minecraft.getMinecraft().renderEngine.bindTexture(this.getTexture()); - + + bindTexture(this.getTexture()); + double px = 0.0625D; double rot = Math.sin((entity.ticksExisted) * 0.2D) * 20; double rot2 = Math.sin((entity.ticksExisted) * 0.2D - Math.PI * 0.5) * 50 + 30; - + int pivotSideOffset = 1; int pivotFrontOffset = 5; int pivotZOffset = 3; int tipSideOffset = 16; int tipZOffset = 2; double inwardAngle = 10D; - + GL11.glPushMatrix(); - GL11.glTranslatef(body.offsetX * (float) px, body.offsetY * (float) px, body.offsetZ * (float) px); - GL11.glTranslatef(body.rotationPointX * (float) px, body.rotationPointY * (float) px, body.rotationPointZ * (float) px); + GL11.glTranslatef(this.body.offsetX * (float) px, this.body.offsetY * (float) px, this.body.offsetZ * (float) px); + GL11.glTranslatef(this.body.rotationPointX * (float) px, this.body.rotationPointY * (float) px, this.body.rotationPointZ * (float) px); - if(body.rotateAngleZ != 0.0F) { - GL11.glRotatef(body.rotateAngleZ * (180F / (float) Math.PI), 0.0F, 0.0F, 1.0F); + if(this.body.rotateAngleZ != 0.0F) { + GL11.glRotatef(this.body.rotateAngleZ * (180F / (float) Math.PI), 0.0F, 0.0F, 1.0F); } - if(body.rotateAngleY != 0.0F) { - GL11.glRotatef(body.rotateAngleY * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F); + if(this.body.rotateAngleY != 0.0F) { + GL11.glRotatef(this.body.rotateAngleY * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F); } - if(body.rotateAngleX != 0.0F) { - GL11.glRotatef(body.rotateAngleX * (180F / (float) Math.PI), 1.0F, 0.0F, 0.0F); + if(this.body.rotateAngleX != 0.0F) { + GL11.glRotatef(this.body.rotateAngleX * (180F / (float) Math.PI), 1.0F, 0.0F, 0.0F); } - + if(this.type != 1 && entity.onGround) { rot = 20; rot2 = 160; } - + if(this.type == 1) { - rot = 0; - rot2 = 10; - if(entity.onGround) { rot = 30; rot2 = -30; @@ -97,75 +93,79 @@ public class ModelArmorWings extends ModelArmorBase { rot2 = 20; } } - + GL11.glTranslated(0, -2 * px, 0); - + GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPushMatrix(); - - GL11.glRotated(-inwardAngle, 0, 1, 0); - - GL11.glTranslated(pivotSideOffset * px, pivotFrontOffset * px, pivotZOffset * px); - GL11.glRotated(rot * 0.5, 0, 1, 0); - GL11.glRotated(rot + 5, 0, 0, 1); - GL11.glRotated(45, 1, 0, 0); - GL11.glTranslated(-pivotSideOffset * px, -pivotFrontOffset * px, -pivotZOffset * px); - - GL11.glTranslated(pivotSideOffset * px, pivotFrontOffset * px, pivotZOffset * px); - GL11.glRotated(rot, 0, 0, 1); - GL11.glTranslated(-pivotSideOffset * px, -pivotFrontOffset * px, -pivotZOffset * px); - wingLB.render(par7); - - GL11.glTranslated(tipSideOffset * px, pivotFrontOffset * px, tipZOffset * px); - GL11.glRotated(rot2, 0, 1, 0); - if(doesRotateZ()) - GL11.glRotated(rot2 * 0.25 + 5, 0, 0, 1); - GL11.glTranslated(-tipSideOffset * px, -pivotFrontOffset * px, -tipZOffset * px); - wingLT.render(par7); - + + // + GL11.glRotated(-inwardAngle, 0, 1, 0); + + GL11.glTranslated(pivotSideOffset * px, pivotFrontOffset * px, pivotZOffset * px); + GL11.glRotated(rot * 0.5, 0, 1, 0); + GL11.glRotated(rot + 5, 0, 0, 1); + GL11.glRotated(45, 1, 0, 0); + GL11.glTranslated(-pivotSideOffset * px, -pivotFrontOffset * px, -pivotZOffset * px); + + GL11.glTranslated(pivotSideOffset * px, pivotFrontOffset * px, pivotZOffset * px); + GL11.glRotated(rot, 0, 0, 1); + GL11.glTranslated(-pivotSideOffset * px, -pivotFrontOffset * px, -pivotZOffset * px); + this.wingLB.render(scaleFactor); + + GL11.glTranslated(tipSideOffset * px, pivotFrontOffset * px, tipZOffset * px); + GL11.glRotated(rot2, 0, 1, 0); + if(doesRotateZ()) + GL11.glRotated(rot2 * 0.25 + 5, 0, 0, 1); + GL11.glTranslated(-tipSideOffset * px, -pivotFrontOffset * px, -tipZOffset * px); + this.wingLT.render(scaleFactor); + // + GL11.glPopMatrix(); - + GL11.glPushMatrix(); - - GL11.glRotated(inwardAngle, 0, 1, 0); - - GL11.glTranslated(-pivotSideOffset * px, pivotFrontOffset * px, pivotZOffset * px); - GL11.glRotated(-rot * 0.5, 0, 1, 0); - GL11.glRotated(-rot - 5, 0, 0, 1); - GL11.glRotated(45, 1, 0, 0); - GL11.glTranslated(pivotSideOffset * px, -pivotFrontOffset * px, -pivotZOffset * px); - - GL11.glTranslated(-pivotSideOffset * px, pivotFrontOffset * px, pivotZOffset * px); - GL11.glRotated(-rot, 0, 0, 1); - GL11.glTranslated(pivotSideOffset * px, -pivotFrontOffset * px, -pivotZOffset * px); - wingRB.render(par7); - - GL11.glTranslated(-tipSideOffset * px, pivotFrontOffset * px, tipZOffset * px); - GL11.glRotated(-rot2, 0, 1, 0); - if(doesRotateZ()) - GL11.glRotated(-rot2 * 0.25 - 5, 0, 0, 1); - GL11.glTranslated(tipSideOffset * px, -pivotFrontOffset * px, -tipZOffset * px); - wingRT.render(par7); - + + // + GL11.glRotated(inwardAngle, 0, 1, 0); + + GL11.glTranslated(-pivotSideOffset * px, pivotFrontOffset * px, pivotZOffset * px); + GL11.glRotated(-rot * 0.5, 0, 1, 0); + GL11.glRotated(-rot - 5, 0, 0, 1); + GL11.glRotated(45, 1, 0, 0); + GL11.glTranslated(pivotSideOffset * px, -pivotFrontOffset * px, -pivotZOffset * px); + + GL11.glTranslated(-pivotSideOffset * px, pivotFrontOffset * px, pivotZOffset * px); + GL11.glRotated(-rot, 0, 0, 1); + GL11.glTranslated(pivotSideOffset * px, -pivotFrontOffset * px, -pivotZOffset * px); + this.wingRB.render(scaleFactor); + + GL11.glTranslated(-tipSideOffset * px, pivotFrontOffset * px, tipZOffset * px); + GL11.glRotated(-rot2, 0, 1, 0); + if(doesRotateZ()) + GL11.glRotated(-rot2 * 0.25 - 5, 0, 0, 1); + GL11.glTranslated(tipSideOffset * px, -pivotFrontOffset * px, -tipZOffset * px); + this.wingRT.render(scaleFactor); + // + GL11.glPopMatrix(); GL11.glDisable(GL11.GL_CULL_FACE); - + GL11.glPopMatrix(); - + GL11.glPopMatrix(); } - + protected boolean doesRotateZ() { return true; } - + protected ResourceLocation getTexture() { if(this.type == 2) return ResourceManager.wings_bob; if(this.type == 3) return ResourceManager.wings_black; - + return ResourceManager.wings_murk; } } diff --git a/src/main/java/com/hbm/render/model/ModelArmorWingsPheo.java b/src/main/java/com/hbm/render/model/ModelArmorWingsPheo.java index eade0094e..97b320adc 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorWingsPheo.java +++ b/src/main/java/com/hbm/render/model/ModelArmorWingsPheo.java @@ -5,7 +5,6 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; import com.hbm.render.loader.ModelRendererObj; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.entity.Entity; @@ -13,21 +12,22 @@ import net.minecraft.entity.Entity; public class ModelArmorWingsPheo extends ModelArmorBase { ModelRendererObj axe; - + public ModelArmorWingsPheo() { super(0); - axe = new ModelRendererObj(ResourceManager.armor_axepack, "Wings"); + this.axe = new ModelRendererObj(ResourceManager.armor_axepack, "Wings"); } @Override - public void render(Entity entity, float par2, float par3, float par4, float par5, float par6, float par7) { - setRotationAngles(par2, par3, par4, par5, par6, par7, entity); - body.copyTo(axe); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + this.body.copyTo(this.axe); + GL11.glShadeModel(GL11.GL_SMOOTH); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.wings_pheo); - axe.render(par7); - + bindTexture(ResourceManager.wings_pheo); + this.axe.render(scaleFactor); + GL11.glPushMatrix(); float lastX = OpenGlHelper.lastBrightnessX; float lastY = OpenGlHelper.lastBrightnessY; @@ -37,16 +37,16 @@ public class ModelArmorWingsPheo extends ModelArmorBase { GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); - + double pixel = 0.0625D; - + if(entity.isSneaking()) { GL11.glRotated(28.6479D, 1, 0, 0); } - + GL11.glPushMatrix(); GL11.glTranslated(0, pixel * 15, pixel * 5.5); - this.renderFlame(); + renderFlame(); GL11.glPopMatrix(); GL11.glPushMatrix(); @@ -54,26 +54,26 @@ public class ModelArmorWingsPheo extends ModelArmorBase { GL11.glRotated(-25, 0, 1, 0); GL11.glRotated(-90, 0, 0, 1); GL11.glTranslated(0, pixel * 5, 0); - this.renderFlame(); + renderFlame(); GL11.glPushMatrix(); GL11.glTranslated(0, -pixel * 5, 0); GL11.glRotated(45, 0, 0, 1); GL11.glTranslated(-pixel, pixel * 5.5, 0); - this.renderFlame(); + renderFlame(); GL11.glPopMatrix(); GL11.glPushMatrix(); GL11.glTranslated(0, -pixel * 5, 0); GL11.glRotated(-45, 0, 0, 1); GL11.glTranslated(pixel, pixel * 5.5, 0); - this.renderFlame(); + renderFlame(); GL11.glPopMatrix(); GL11.glPopMatrix(); - + GL11.glPushMatrix(); GL11.glTranslated(0, pixel * 15, pixel * 5.5); - this.renderFlame(); + renderFlame(); GL11.glPopMatrix(); GL11.glPushMatrix(); @@ -81,20 +81,20 @@ public class ModelArmorWingsPheo extends ModelArmorBase { GL11.glRotated(25, 0, 1, 0); GL11.glRotated(90, 0, 0, 1); GL11.glTranslated(0, pixel * 5, 0); - this.renderFlame(); + renderFlame(); GL11.glPushMatrix(); GL11.glTranslated(0, -pixel * 5, 0); GL11.glRotated(45, 0, 0, 1); GL11.glTranslated(-pixel, pixel * 5.5, 0); - this.renderFlame(); + renderFlame(); GL11.glPopMatrix(); GL11.glPushMatrix(); GL11.glTranslated(0, -pixel * 5, 0); GL11.glRotated(-45, 0, 0, 1); GL11.glTranslated(pixel, pixel * 5.5, 0); - this.renderFlame(); + renderFlame(); GL11.glPopMatrix(); GL11.glPopMatrix(); @@ -104,15 +104,15 @@ public class ModelArmorWingsPheo extends ModelArmorBase { GL11.glPopAttrib(); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, lastX, lastY); GL11.glPopMatrix(); - + GL11.glShadeModel(GL11.GL_FLAT); } - + private static void renderFlame() { - + Tessellator tess = Tessellator.instance; tess.startDrawing(GL11.GL_TRIANGLES); - + double b = 0.125D; double t = 0.375; double w = 0.0625D; @@ -120,7 +120,7 @@ public class ModelArmorWingsPheo extends ModelArmorBase { int colorBase = 0x808080; int colorFlame = 0x004040; int colorTip = 0x000000; - + tess.setColorOpaque_I(colorBase); tess.addVertex(0, 0, 0); tess.setColorOpaque_I(colorFlame); @@ -168,9 +168,9 @@ public class ModelArmorWingsPheo extends ModelArmorBase { tess.setColorOpaque_I(colorFlame); tess.addVertex(s2, b, -s2); tess.addVertex(w, b, 0); - + //////////////////////// - + tess.setColorOpaque_I(colorTip); tess.addVertex(0, t, 0); tess.setColorOpaque_I(colorFlame); @@ -218,7 +218,7 @@ public class ModelArmorWingsPheo extends ModelArmorBase { tess.setColorOpaque_I(colorFlame); tess.addVertex(s2, b, -s2); tess.addVertex(w, b, 0); - + tess.draw(); } } diff --git a/src/main/java/com/hbm/render/model/ModelAt4.java b/src/main/java/com/hbm/render/model/ModelAt4.java deleted file mode 100644 index f2f15512f..000000000 --- a/src/main/java/com/hbm/render/model/ModelAt4.java +++ /dev/null @@ -1,134 +0,0 @@ -// Date: 06.04.2016 17:39:42 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - - - - - - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelAt4 extends ModelBase -{ - //fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - - public ModelAt4() - { - textureWidth = 64; - textureHeight = 32; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 18, 3, 2); - Shape1.setRotationPoint(-8F, 0F, 0F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 5); - Shape2.addBox(0F, 0F, 0F, 18, 2, 3); - Shape2.setRotationPoint(-8F, 0.5F, -0.5F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 10); - Shape3.addBox(0F, 0F, 0F, 3, 4, 4); - Shape3.setRotationPoint(10F, -0.5F, -1F); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 0, 18); - Shape4.addBox(0F, 0F, 0F, 1, 3, 3); - Shape4.setRotationPoint(-9F, 0F, -0.5F); - Shape4.setTextureSize(64, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 14, 10); - Shape5.addBox(0F, 0F, 0F, 1, 4, 4); - Shape5.setRotationPoint(-10F, -0.5F, -1F); - Shape5.setTextureSize(64, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 0, 24); - Shape6.addBox(0F, 0F, 0F, 1, 3, 1); - Shape6.setRotationPoint(-6F, 3F, 0.5F); - Shape6.setTextureSize(64, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 4, 24); - Shape7.addBox(0F, 0F, 0F, 1, 2, 1); - Shape7.setRotationPoint(-3F, 3F, 0.5F); - Shape7.setTextureSize(64, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - Shape8 = new ModelRenderer(this, 8, 18); - Shape8.addBox(0F, 0F, 0F, 3, 1, 1); - Shape8.setRotationPoint(-6F, -0.5F, -2F); - Shape8.setTextureSize(64, 32); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - Shape9 = new ModelRenderer(this, 0, 28); - Shape9.addBox(0F, 0F, 0F, 1, 1, 2); - Shape9.setRotationPoint(-5F, 0F, -1.5F); - Shape9.setTextureSize(64, 32); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - } - - public void renderModel(float f5) - { - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelB92.java b/src/main/java/com/hbm/render/model/ModelB92.java index 4fae59313..98cd1878f 100644 --- a/src/main/java/com/hbm/render/model/ModelB92.java +++ b/src/main/java/com/hbm/render/model/ModelB92.java @@ -11,7 +11,7 @@ import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelB92 extends ModelBase { - // fields + ModelRenderer Muzzle1; ModelRenderer Barrel1; ModelRenderer Barrel2; @@ -35,182 +35,178 @@ public class ModelB92 extends ModelBase { ModelRenderer BodyPlate; public ModelB92() { - textureWidth = 64; - textureHeight = 64; + this.textureWidth = 64; + this.textureHeight = 64; - Muzzle1 = new ModelRenderer(this, 22, 36); - Muzzle1.addBox(0F, 0F, 0F, 2, 3, 2); - Muzzle1.setRotationPoint(-24F, 0.5F, -1F); - Muzzle1.setTextureSize(64, 64); - Muzzle1.mirror = true; - setRotation(Muzzle1, 0F, 0F, 0F); - Barrel1 = new ModelRenderer(this, 0, 0); - Barrel1.addBox(0F, 0F, 0F, 24, 2, 3); - Barrel1.setRotationPoint(-24F, 1F, -1.5F); - Barrel1.setTextureSize(64, 64); - Barrel1.mirror = true; - setRotation(Barrel1, 0F, 0F, 0F); - Barrel2 = new ModelRenderer(this, 0, 5); - Barrel2.addBox(0F, 0F, 0F, 22, 1, 2); - Barrel2.setRotationPoint(-22F, 0.5F, -1F); - Barrel2.setTextureSize(64, 64); - Barrel2.mirror = true; - setRotation(Barrel2, 0F, 0F, 0F); - Grip = new ModelRenderer(this, 0, 8); - Grip.addBox(0F, 0F, 0F, 20, 3, 4); - Grip.setRotationPoint(-20F, 3F, -2F); - Grip.setTextureSize(64, 64); - Grip.mirror = true; - setRotation(Grip, 0F, 0F, 0F); - Front1 = new ModelRenderer(this, 10, 36); - Front1.addBox(0F, 0F, 0F, 2, 4, 4); - Front1.setRotationPoint(-22F, 0.5F, -2F); - Front1.setTextureSize(64, 64); - Front1.mirror = true; - setRotation(Front1, 0F, 0F, 0F); - Front2 = new ModelRenderer(this, 0, 36); - Front2.addBox(0F, 0F, 0F, 2, 6, 3); - Front2.setRotationPoint(-22F, 0F, -1.5F); - Front2.setTextureSize(64, 64); - Front2.mirror = true; - setRotation(Front2, 0F, 0F, 0F); - Body = new ModelRenderer(this, 0, 15); - Body.addBox(0F, 0F, 0F, 15, 7, 4); - Body.setRotationPoint(0F, 0.5F, -2F); - Body.setTextureSize(64, 64); - Body.mirror = true; - setRotation(Body, 0F, 0F, 0F); - Top = new ModelRenderer(this, 28, 60); - Top.addBox(0F, 0F, 0F, 15, 1, 3); - Top.setRotationPoint(0F, 0F, -1.5F); - Top.setTextureSize(64, 64); - Top.mirror = true; - setRotation(Top, 0F, 0F, 0F); - GripBottom = new ModelRenderer(this, 24, 43); - GripBottom.addBox(0F, 0F, 0F, 18, 1, 2); - GripBottom.setRotationPoint(-18F, 5.5F, -1F); - GripBottom.setTextureSize(64, 64); - GripBottom.mirror = true; - setRotation(GripBottom, 0F, 0F, 0F); - Handle = new ModelRenderer(this, 0, 45); - Handle.addBox(0F, 0F, 0F, 6, 15, 4); - Handle.setRotationPoint(6F, 7F, -2F); - Handle.setTextureSize(64, 64); - Handle.mirror = true; - setRotation(Handle, 0F, 0F, -0.2268928F); - HandleBack = new ModelRenderer(this, 20, 46); - HandleBack.addBox(5.5F, 0F, 0F, 1, 15, 3); - HandleBack.setRotationPoint(6F, 7F, -1.5F); - HandleBack.setTextureSize(64, 64); - HandleBack.mirror = true; - setRotation(HandleBack, 0F, 0F, -0.2268928F); - Frame1 = new ModelRenderer(this, 28, 57); - Frame1.addBox(0F, 0F, 0F, 7, 1, 2); - Frame1.setRotationPoint(0.5F, 11F, -1F); - Frame1.setTextureSize(64, 64); - Frame1.mirror = true; - setRotation(Frame1, 0F, 0F, 0F); - Frame2 = new ModelRenderer(this, 28, 51); - Frame2.addBox(0F, 0F, 0F, 2, 4, 2); - Frame2.setRotationPoint(-2F, 6.5F, -1F); - Frame2.setTextureSize(64, 64); - Frame2.mirror = true; - setRotation(Frame2, 0F, 0F, 0F); - Frame3 = new ModelRenderer(this, 46, 57); - Frame3.addBox(0F, -1F, 0F, 3, 1, 2); - Frame3.setRotationPoint(-2F, 10.5F, -1F); - Frame3.setTextureSize(64, 64); - Frame3.mirror = true; - setRotation(Frame3, 0F, 0F, 0.5235988F); - Trigger = new ModelRenderer(this, 36, 53); - Trigger.addBox(0F, 0F, 0F, 2, 3, 1); - Trigger.setRotationPoint(4F, 7F, -0.5F); - Trigger.setTextureSize(64, 64); - Trigger.mirror = true; - setRotation(Trigger, 0F, 0F, 0.1919862F); - BackPlate1 = new ModelRenderer(this, 56, 53); - BackPlate1.addBox(-1F, 0F, 0F, 1, 4, 3); - BackPlate1.setRotationPoint(15F, 0F, -1.5F); - BackPlate1.setTextureSize(64, 64); - BackPlate1.mirror = true; - setRotation(BackPlate1, 0F, 0F, -0.5235988F); - Back = new ModelRenderer(this, 42, 49); - Back.addBox(0F, 0F, 0F, 2, 4, 4); - Back.setRotationPoint(15F, 3.5F, -2F); - Back.setTextureSize(64, 64); - Back.mirror = true; - setRotation(Back, 0F, 0F, 0F); - BackPlate2 = new ModelRenderer(this, 48, 5); - BackPlate2.addBox(-2F, 0F, 0F, 2, 4, 4); - BackPlate2.setRotationPoint(15F, 0.5F, -2F); - BackPlate2.setTextureSize(64, 64); - BackPlate2.mirror = true; - setRotation(BackPlate2, 0F, 0F, -0.4886922F); - Pump1 = new ModelRenderer(this, 46, 29); - Pump1.addBox(0F, 0F, 0F, 7, 2, 2); - Pump1.setRotationPoint(10F, 1F, -1F); - Pump1.setTextureSize(64, 64); - Pump1.mirror = true; - setRotation(Pump1, 0F, 0F, 0F); - Pump2 = new ModelRenderer(this, 44, 33); - Pump2.addBox(0F, 0F, 0F, 3, 3, 7); - Pump2.setRotationPoint(17F, 0.5F, -3.5F); - Pump2.setTextureSize(64, 64); - Pump2.mirror = true; - setRotation(Pump2, 0F, 0F, 0F); - BodyPlate = new ModelRenderer(this, 0, 26); - BodyPlate.addBox(0F, 0F, 0F, 14, 5, 5); - BodyPlate.setRotationPoint(1.5F, 2F, -2.5F); - BodyPlate.setTextureSize(64, 64); - BodyPlate.mirror = true; - setRotation(BodyPlate, 0F, 0F, 0F); + this.Muzzle1 = new ModelRenderer(this, 22, 36); + this.Muzzle1.addBox(0F, 0F, 0F, 2, 3, 2); + this.Muzzle1.setRotationPoint(-24F, 0.5F, -1F); + this.Muzzle1.setTextureSize(64, 64); + this.Muzzle1.mirror = true; + setRotation(this.Muzzle1, 0F, 0F, 0F); + this.Barrel1 = new ModelRenderer(this, 0, 0); + this.Barrel1.addBox(0F, 0F, 0F, 24, 2, 3); + this.Barrel1.setRotationPoint(-24F, 1F, -1.5F); + this.Barrel1.setTextureSize(64, 64); + this.Barrel1.mirror = true; + setRotation(this.Barrel1, 0F, 0F, 0F); + this.Barrel2 = new ModelRenderer(this, 0, 5); + this.Barrel2.addBox(0F, 0F, 0F, 22, 1, 2); + this.Barrel2.setRotationPoint(-22F, 0.5F, -1F); + this.Barrel2.setTextureSize(64, 64); + this.Barrel2.mirror = true; + setRotation(this.Barrel2, 0F, 0F, 0F); + this.Grip = new ModelRenderer(this, 0, 8); + this.Grip.addBox(0F, 0F, 0F, 20, 3, 4); + this.Grip.setRotationPoint(-20F, 3F, -2F); + this.Grip.setTextureSize(64, 64); + this.Grip.mirror = true; + setRotation(this.Grip, 0F, 0F, 0F); + this.Front1 = new ModelRenderer(this, 10, 36); + this.Front1.addBox(0F, 0F, 0F, 2, 4, 4); + this.Front1.setRotationPoint(-22F, 0.5F, -2F); + this.Front1.setTextureSize(64, 64); + this.Front1.mirror = true; + setRotation(this.Front1, 0F, 0F, 0F); + this.Front2 = new ModelRenderer(this, 0, 36); + this.Front2.addBox(0F, 0F, 0F, 2, 6, 3); + this.Front2.setRotationPoint(-22F, 0F, -1.5F); + this.Front2.setTextureSize(64, 64); + this.Front2.mirror = true; + setRotation(this.Front2, 0F, 0F, 0F); + this.Body = new ModelRenderer(this, 0, 15); + this.Body.addBox(0F, 0F, 0F, 15, 7, 4); + this.Body.setRotationPoint(0F, 0.5F, -2F); + this.Body.setTextureSize(64, 64); + this.Body.mirror = true; + setRotation(this.Body, 0F, 0F, 0F); + this.Top = new ModelRenderer(this, 28, 60); + this.Top.addBox(0F, 0F, 0F, 15, 1, 3); + this.Top.setRotationPoint(0F, 0F, -1.5F); + this.Top.setTextureSize(64, 64); + this.Top.mirror = true; + setRotation(this.Top, 0F, 0F, 0F); + this.GripBottom = new ModelRenderer(this, 24, 43); + this.GripBottom.addBox(0F, 0F, 0F, 18, 1, 2); + this.GripBottom.setRotationPoint(-18F, 5.5F, -1F); + this.GripBottom.setTextureSize(64, 64); + this.GripBottom.mirror = true; + setRotation(this.GripBottom, 0F, 0F, 0F); + this.Handle = new ModelRenderer(this, 0, 45); + this.Handle.addBox(0F, 0F, 0F, 6, 15, 4); + this.Handle.setRotationPoint(6F, 7F, -2F); + this.Handle.setTextureSize(64, 64); + this.Handle.mirror = true; + setRotation(this.Handle, 0F, 0F, -0.2268928F); + this.HandleBack = new ModelRenderer(this, 20, 46); + this.HandleBack.addBox(5.5F, 0F, 0F, 1, 15, 3); + this.HandleBack.setRotationPoint(6F, 7F, -1.5F); + this.HandleBack.setTextureSize(64, 64); + this.HandleBack.mirror = true; + setRotation(this.HandleBack, 0F, 0F, -0.2268928F); + this.Frame1 = new ModelRenderer(this, 28, 57); + this.Frame1.addBox(0F, 0F, 0F, 7, 1, 2); + this.Frame1.setRotationPoint(0.5F, 11F, -1F); + this.Frame1.setTextureSize(64, 64); + this.Frame1.mirror = true; + setRotation(this.Frame1, 0F, 0F, 0F); + this.Frame2 = new ModelRenderer(this, 28, 51); + this.Frame2.addBox(0F, 0F, 0F, 2, 4, 2); + this.Frame2.setRotationPoint(-2F, 6.5F, -1F); + this.Frame2.setTextureSize(64, 64); + this.Frame2.mirror = true; + setRotation(this.Frame2, 0F, 0F, 0F); + this.Frame3 = new ModelRenderer(this, 46, 57); + this.Frame3.addBox(0F, -1F, 0F, 3, 1, 2); + this.Frame3.setRotationPoint(-2F, 10.5F, -1F); + this.Frame3.setTextureSize(64, 64); + this.Frame3.mirror = true; + setRotation(this.Frame3, 0F, 0F, 0.5235988F); + this.Trigger = new ModelRenderer(this, 36, 53); + this.Trigger.addBox(0F, 0F, 0F, 2, 3, 1); + this.Trigger.setRotationPoint(4F, 7F, -0.5F); + this.Trigger.setTextureSize(64, 64); + this.Trigger.mirror = true; + setRotation(this.Trigger, 0F, 0F, 0.1919862F); + this.BackPlate1 = new ModelRenderer(this, 56, 53); + this.BackPlate1.addBox(-1F, 0F, 0F, 1, 4, 3); + this.BackPlate1.setRotationPoint(15F, 0F, -1.5F); + this.BackPlate1.setTextureSize(64, 64); + this.BackPlate1.mirror = true; + setRotation(this.BackPlate1, 0F, 0F, -0.5235988F); + this.Back = new ModelRenderer(this, 42, 49); + this.Back.addBox(0F, 0F, 0F, 2, 4, 4); + this.Back.setRotationPoint(15F, 3.5F, -2F); + this.Back.setTextureSize(64, 64); + this.Back.mirror = true; + setRotation(this.Back, 0F, 0F, 0F); + this.BackPlate2 = new ModelRenderer(this, 48, 5); + this.BackPlate2.addBox(-2F, 0F, 0F, 2, 4, 4); + this.BackPlate2.setRotationPoint(15F, 0.5F, -2F); + this.BackPlate2.setTextureSize(64, 64); + this.BackPlate2.mirror = true; + setRotation(this.BackPlate2, 0F, 0F, -0.4886922F); + this.Pump1 = new ModelRenderer(this, 46, 29); + this.Pump1.addBox(0F, 0F, 0F, 7, 2, 2); + this.Pump1.setRotationPoint(10F, 1F, -1F); + this.Pump1.setTextureSize(64, 64); + this.Pump1.mirror = true; + setRotation(this.Pump1, 0F, 0F, 0F); + this.Pump2 = new ModelRenderer(this, 44, 33); + this.Pump2.addBox(0F, 0F, 0F, 3, 3, 7); + this.Pump2.setRotationPoint(17F, 0.5F, -3.5F); + this.Pump2.setTextureSize(64, 64); + this.Pump2.mirror = true; + setRotation(this.Pump2, 0F, 0F, 0F); + this.BodyPlate = new ModelRenderer(this, 0, 26); + this.BodyPlate.addBox(0F, 0F, 0F, 14, 5, 5); + this.BodyPlate.setRotationPoint(1.5F, 2F, -2.5F); + this.BodyPlate.setTextureSize(64, 64); + this.BodyPlate.mirror = true; + setRotation(this.BodyPlate, 0F, 0F, 0F); } - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Muzzle1.render(f5); - Barrel1.render(f5); - Barrel2.render(f5); - Grip.render(f5); - Front1.render(f5); - Front2.render(f5); - Body.render(f5); - Top.render(f5); - GripBottom.render(f5); - Handle.render(f5); - HandleBack.render(f5); - Frame1.render(f5); - Frame2.render(f5); - Frame3.render(f5); - Trigger.render(f5); - BackPlate1.render(f5); - Back.render(f5); - BackPlate2.render(f5); - Pump1.render(f5); - Pump2.render(f5); - BodyPlate.render(f5); + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.Muzzle1.render(scaleFactor); + this.Barrel1.render(scaleFactor); + this.Barrel2.render(scaleFactor); + this.Grip.render(scaleFactor); + this.Front1.render(scaleFactor); + this.Front2.render(scaleFactor); + this.Body.render(scaleFactor); + this.Top.render(scaleFactor); + this.GripBottom.render(scaleFactor); + this.Handle.render(scaleFactor); + this.HandleBack.render(scaleFactor); + this.Frame1.render(scaleFactor); + this.Frame2.render(scaleFactor); + this.Frame3.render(scaleFactor); + this.Trigger.render(scaleFactor); + this.BackPlate1.render(scaleFactor); + this.Back.render(scaleFactor); + this.BackPlate2.render(scaleFactor); + this.Pump1.render(scaleFactor); + this.Pump2.render(scaleFactor); + this.BodyPlate.render(scaleFactor); } - public void renderAnim(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, float tran) { + public void renderAnim(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, float tran) { - Pump1.offsetX += tran; - Pump2.offsetX += tran; - - render(entity, f, f1, f2, f3, f4, f5); - - Pump1.offsetX -= tran; - Pump2.offsetX -= tran; + this.Pump1.offsetX += tran; + this.Pump2.offsetX += tran; + + this.render(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor); + + this.Pump1.offsetX -= tran; + this.Pump2.offsetX -= tran; } - private void setRotation(ModelRenderer model, float x, float y, float z) { + private static void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - } diff --git a/src/main/java/com/hbm/render/model/ModelB93.java b/src/main/java/com/hbm/render/model/ModelB93.java deleted file mode 100644 index 5b42ca2ef..000000000 --- a/src/main/java/com/hbm/render/model/ModelB93.java +++ /dev/null @@ -1,487 +0,0 @@ -// Date: 26.04.2018 22:13:08 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.entity.Entity; - -public class ModelB93 extends ModelBase { - // fields - ModelRenderer Muzzle1; - ModelRenderer Barrel1; - ModelRenderer Barrel2; - ModelRenderer Grip; - ModelRenderer Front1; - ModelRenderer Front2; - ModelRenderer Body; - ModelRenderer Top; - ModelRenderer GripBottom; - ModelRenderer Handle; - ModelRenderer HandleBack; - ModelRenderer Frame1; - ModelRenderer Frame2; - ModelRenderer Frame3; - ModelRenderer Trigger; - ModelRenderer BackPlate1; - ModelRenderer Back; - ModelRenderer BackPlate2; - ModelRenderer Pump1; - ModelRenderer Pump2; - ModelRenderer BodyPlate; - ModelRenderer Muz1; - ModelRenderer Muz2; - ModelRenderer Muz3; - ModelRenderer Damp1; - ModelRenderer Damp2; - ModelRenderer Damp3; - ModelRenderer DampFront; - ModelRenderer EmitterRod; - ModelRenderer EmitterCrystal; - ModelRenderer EmitterClamp1; - ModelRenderer EmitterClamp2; - ModelRenderer EmitterClamp3; - ModelRenderer EmitterClamp4; - ModelRenderer EmitterClamp5; - ModelRenderer EmitterClamp6; - ModelRenderer EmitterClamp7; - ModelRenderer EmitterClamp8; - ModelRenderer PowBox; - ModelRenderer PowPanel; - ModelRenderer Nix1; - ModelRenderer Nix2; - ModelRenderer Nix3; - ModelRenderer Nix11; - ModelRenderer Nix21; - ModelRenderer Nix31; - ModelRenderer Nix12; - ModelRenderer Nix22; - ModelRenderer Nix32; - ModelRenderer Pylon; - ModelRenderer Wire1; - ModelRenderer Wire2; - ModelRenderer Wire3; - ModelRenderer PowPylon; - - public ModelB93() { - textureWidth = 128; - textureHeight = 64; - - Muzzle1 = new ModelRenderer(this, 22, 36); - Muzzle1.addBox(0F, 0F, 0F, 2, 3, 2); - Muzzle1.setRotationPoint(-24F, 0.5F, -1F); - Muzzle1.setTextureSize(64, 32); - Muzzle1.mirror = true; - setRotation(Muzzle1, 0F, 0F, 0F); - Barrel1 = new ModelRenderer(this, 0, 0); - Barrel1.addBox(0F, 0F, 0F, 24, 2, 3); - Barrel1.setRotationPoint(-24F, 1F, -1.5F); - Barrel1.setTextureSize(64, 32); - Barrel1.mirror = true; - setRotation(Barrel1, 0F, 0F, 0F); - Barrel2 = new ModelRenderer(this, 0, 5); - Barrel2.addBox(0F, 0F, 0F, 22, 1, 2); - Barrel2.setRotationPoint(-22F, 0.5F, -1F); - Barrel2.setTextureSize(64, 32); - Barrel2.mirror = true; - setRotation(Barrel2, 0F, 0F, 0F); - Grip = new ModelRenderer(this, 0, 8); - Grip.addBox(0F, 0F, 0F, 20, 3, 4); - Grip.setRotationPoint(-20F, 3F, -2F); - Grip.setTextureSize(64, 32); - Grip.mirror = true; - setRotation(Grip, 0F, 0F, 0F); - Front1 = new ModelRenderer(this, 10, 36); - Front1.addBox(0F, 0F, 0F, 2, 4, 4); - Front1.setRotationPoint(-22F, 0.5F, -2F); - Front1.setTextureSize(64, 32); - Front1.mirror = true; - setRotation(Front1, 0F, 0F, 0F); - Front2 = new ModelRenderer(this, 0, 36); - Front2.addBox(0F, 0F, 0F, 2, 6, 3); - Front2.setRotationPoint(-22F, 0F, -1.5F); - Front2.setTextureSize(64, 32); - Front2.mirror = true; - setRotation(Front2, 0F, 0F, 0F); - Body = new ModelRenderer(this, 0, 15); - Body.addBox(0F, 0F, 0F, 15, 7, 4); - Body.setRotationPoint(0F, 0.5F, -2F); - Body.setTextureSize(64, 32); - Body.mirror = true; - setRotation(Body, 0F, 0F, 0F); - Top = new ModelRenderer(this, 28, 60); - Top.addBox(0F, 0F, 0F, 15, 1, 3); - Top.setRotationPoint(0F, 0F, -1.5F); - Top.setTextureSize(64, 32); - Top.mirror = true; - setRotation(Top, 0F, 0F, 0F); - GripBottom = new ModelRenderer(this, 24, 43); - GripBottom.addBox(0F, 0F, 0F, 18, 1, 2); - GripBottom.setRotationPoint(-18F, 5.5F, -1F); - GripBottom.setTextureSize(64, 32); - GripBottom.mirror = true; - setRotation(GripBottom, 0F, 0F, 0F); - Handle = new ModelRenderer(this, 0, 45); - Handle.addBox(0F, 0F, 0F, 6, 15, 4); - Handle.setRotationPoint(6F, 7F, -2F); - Handle.setTextureSize(64, 32); - Handle.mirror = true; - setRotation(Handle, 0F, 0F, -0.2268928F); - HandleBack = new ModelRenderer(this, 20, 46); - HandleBack.addBox(5.5F, 0F, 0F, 1, 15, 3); - HandleBack.setRotationPoint(6F, 7F, -1.5F); - HandleBack.setTextureSize(64, 32); - HandleBack.mirror = true; - setRotation(HandleBack, 0F, 0F, -0.2268928F); - Frame1 = new ModelRenderer(this, 28, 57); - Frame1.addBox(0F, 0F, 0F, 7, 1, 2); - Frame1.setRotationPoint(0.5F, 11F, -1F); - Frame1.setTextureSize(64, 32); - Frame1.mirror = true; - setRotation(Frame1, 0F, 0F, 0F); - Frame2 = new ModelRenderer(this, 28, 51); - Frame2.addBox(0F, 0F, 0F, 2, 4, 2); - Frame2.setRotationPoint(-2F, 6.5F, -1F); - Frame2.setTextureSize(64, 32); - Frame2.mirror = true; - setRotation(Frame2, 0F, 0F, 0F); - Frame3 = new ModelRenderer(this, 46, 57); - Frame3.addBox(0F, -1F, 0F, 3, 1, 2); - Frame3.setRotationPoint(-2F, 10.5F, -1F); - Frame3.setTextureSize(64, 32); - Frame3.mirror = true; - setRotation(Frame3, 0F, 0F, 0.5235988F); - Trigger = new ModelRenderer(this, 36, 53); - Trigger.addBox(0F, 0F, 0F, 2, 3, 1); - Trigger.setRotationPoint(4F, 7F, -0.5F); - Trigger.setTextureSize(64, 32); - Trigger.mirror = true; - setRotation(Trigger, 0F, 0F, 0.1919862F); - BackPlate1 = new ModelRenderer(this, 56, 53); - BackPlate1.addBox(-1F, 0F, 0F, 1, 4, 3); - BackPlate1.setRotationPoint(15F, 0F, -1.5F); - BackPlate1.setTextureSize(64, 32); - BackPlate1.mirror = true; - setRotation(BackPlate1, 0F, 0F, -0.5235988F); - Back = new ModelRenderer(this, 42, 49); - Back.addBox(0F, 0F, 0F, 2, 4, 4); - Back.setRotationPoint(15F, 3.5F, -2F); - Back.setTextureSize(64, 32); - Back.mirror = true; - setRotation(Back, 0F, 0F, 0F); - BackPlate2 = new ModelRenderer(this, 48, 5); - BackPlate2.addBox(-2F, 0F, 0F, 2, 4, 4); - BackPlate2.setRotationPoint(15F, 0.5F, -2F); - BackPlate2.setTextureSize(64, 32); - BackPlate2.mirror = true; - setRotation(BackPlate2, 0F, 0F, -0.4886922F); - Pump1 = new ModelRenderer(this, 46, 29); - Pump1.addBox(0F, 0F, 0F, 7, 2, 2); - Pump1.setRotationPoint(10F, 1F, -1F); - Pump1.setTextureSize(64, 32); - Pump1.mirror = true; - setRotation(Pump1, 0F, 0F, 0F); - Pump2 = new ModelRenderer(this, 44, 33); - Pump2.addBox(0F, 0F, 0F, 3, 3, 7); - Pump2.setRotationPoint(17F, 0.5F, -3.5F); - Pump2.setTextureSize(64, 32); - Pump2.mirror = true; - setRotation(Pump2, 0F, 0F, 0F); - BodyPlate = new ModelRenderer(this, 0, 26); - BodyPlate.addBox(0F, 0F, 0F, 14, 5, 5); - BodyPlate.setRotationPoint(1.5F, 2F, -2.5F); - BodyPlate.setTextureSize(64, 32); - BodyPlate.mirror = true; - setRotation(BodyPlate, 0F, 0F, 0F); - Muz1 = new ModelRenderer(this, 90, 3); - Muz1.addBox(0F, 0F, 0F, 2, 5, 3); - Muz1.setRotationPoint(-26F, -0.5F, -1.5F); - Muz1.setTextureSize(64, 32); - Muz1.mirror = true; - setRotation(Muz1, 0F, 0F, 0F); - Muz2 = new ModelRenderer(this, 64, 2); - Muz2.addBox(0F, 0F, 0F, 2, 3, 5); - Muz2.setRotationPoint(-26F, 0.5F, -2.5F); - Muz2.setTextureSize(64, 32); - Muz2.mirror = true; - setRotation(Muz2, 0F, 0F, 0F); - Muz3 = new ModelRenderer(this, 78, 3); - Muz3.addBox(0F, 0F, 0F, 2, 4, 4); - Muz3.setRotationPoint(-26F, 0F, -2F); - Muz3.setTextureSize(64, 32); - Muz3.mirror = true; - setRotation(Muz3, 0F, 0F, 0F); - Damp1 = new ModelRenderer(this, 64, 53); - Damp1.addBox(0F, 0F, 0F, 24, 7, 4); - Damp1.setRotationPoint(-50F, -1.5F, -2F); - Damp1.setTextureSize(64, 32); - Damp1.mirror = true; - setRotation(Damp1, 0F, 0F, 0F); - Damp2 = new ModelRenderer(this, 64, 42); - Damp2.addBox(0F, 0F, 0F, 24, 4, 7); - Damp2.setRotationPoint(-50F, 0F, -3.5F); - Damp2.setTextureSize(64, 32); - Damp2.mirror = true; - setRotation(Damp2, 0F, 0F, 0F); - Damp3 = new ModelRenderer(this, 64, 30); - Damp3.addBox(0F, 0F, 0F, 24, 6, 6); - Damp3.setRotationPoint(-50F, -1F, -3F); - Damp3.setTextureSize(64, 32); - Damp3.mirror = true; - setRotation(Damp3, 0F, 0F, 0F); - DampFront = new ModelRenderer(this, 64, 22); - DampFront.addBox(0F, 0F, 0F, 2, 4, 4); - DampFront.setRotationPoint(-51.1F, 0F, -2F); - DampFront.setTextureSize(64, 32); - DampFront.mirror = true; - setRotation(DampFront, 0F, 0F, 0F); - EmitterRod = new ModelRenderer(this, 64, 18); - EmitterRod.addBox(0F, 0F, 0F, 4, 2, 2); - EmitterRod.setRotationPoint(-55F, 1F, -1F); - EmitterRod.setTextureSize(64, 32); - EmitterRod.mirror = true; - setRotation(EmitterRod, 0F, 0F, 0F); - EmitterCrystal = new ModelRenderer(this, 76, 24); - EmitterCrystal.addBox(0F, -1.5F, -1.5F, 3, 3, 3); - EmitterCrystal.setRotationPoint(-57F, 2F, 0F); - EmitterCrystal.setTextureSize(64, 32); - EmitterCrystal.mirror = true; - setRotation(EmitterCrystal, 0.7853982F, 0F, 0F); - EmitterClamp1 = new ModelRenderer(this, 88, 27); - EmitterClamp1.addBox(-5F, 0F, 0F, 5, 2, 1); - EmitterClamp1.setRotationPoint(-50F, 1F, -0.5F); - EmitterClamp1.setTextureSize(64, 32); - EmitterClamp1.mirror = true; - setRotation(EmitterClamp1, 0F, 0F, 1.047198F); - EmitterClamp2 = new ModelRenderer(this, 88, 24); - EmitterClamp2.addBox(-5F, -2F, 0F, 5, 2, 1); - EmitterClamp2.setRotationPoint(-50F, 3F, -0.5F); - EmitterClamp2.setTextureSize(64, 32); - EmitterClamp2.mirror = true; - setRotation(EmitterClamp2, 0F, 0F, -1.047198F); - EmitterClamp3 = new ModelRenderer(this, 100, 27); - EmitterClamp3.addBox(-5F, 0F, 0F, 5, 1, 2); - EmitterClamp3.setRotationPoint(-50F, 1.5F, -1F); - EmitterClamp3.setTextureSize(64, 32); - EmitterClamp3.mirror = true; - setRotation(EmitterClamp3, 0F, -1.047198F, 0F); - EmitterClamp4 = new ModelRenderer(this, 100, 24); - EmitterClamp4.addBox(-5F, 0F, -2F, 5, 1, 2); - EmitterClamp4.setRotationPoint(-50F, 1.5F, 1F); - EmitterClamp4.setTextureSize(64, 32); - EmitterClamp4.mirror = true; - setRotation(EmitterClamp4, 0F, 1.047198F, 0F); - EmitterClamp5 = new ModelRenderer(this, 76, 22); - EmitterClamp5.addBox(-6F, 0F, 0F, 7, 1, 1); - EmitterClamp5.setRotationPoint(-53F, -4F, -0.5F); - EmitterClamp5.setTextureSize(64, 32); - EmitterClamp5.mirror = true; - setRotation(EmitterClamp5, 0F, 0F, -0.5235988F); - EmitterClamp6 = new ModelRenderer(this, 76, 20); - EmitterClamp6.addBox(-6F, -1F, 0F, 7, 1, 1); - EmitterClamp6.setRotationPoint(-53F, 8F, -0.5F); - EmitterClamp6.setTextureSize(64, 32); - EmitterClamp6.mirror = true; - setRotation(EmitterClamp6, 0F, 0F, 0.5235988F); - EmitterClamp7 = new ModelRenderer(this, 92, 22); - EmitterClamp7.addBox(-6F, 0F, 0F, 7, 1, 1); - EmitterClamp7.setRotationPoint(-53F, 1.5F, -6F); - EmitterClamp7.setTextureSize(64, 32); - EmitterClamp7.mirror = true; - setRotation(EmitterClamp7, 0F, 0.5235988F, 0F); - EmitterClamp8 = new ModelRenderer(this, 92, 20); - EmitterClamp8.addBox(-6F, 0F, -1F, 7, 1, 1); - EmitterClamp8.setRotationPoint(-53F, 1.5F, 6F); - EmitterClamp8.setTextureSize(64, 32); - EmitterClamp8.mirror = true; - setRotation(EmitterClamp8, 0F, -0.5235988F, 0F); - PowBox = new ModelRenderer(this, 76, 11); - PowBox.addBox(0F, 0F, 0F, 10, 5, 4); - PowBox.setRotationPoint(4F, 2F, 2.5F); - PowBox.setTextureSize(64, 32); - PowBox.mirror = true; - setRotation(PowBox, 0F, 0F, 0F); - PowPanel = new ModelRenderer(this, 44, 24); - PowPanel.addBox(0F, 0F, 0F, 9, 4, 1); - PowPanel.setRotationPoint(4.5F, 2.5F, 6F); - PowPanel.setTextureSize(64, 32); - PowPanel.mirror = true; - setRotation(PowPanel, 0F, 0F, 0F); - Nix1 = new ModelRenderer(this, 56, 17); - Nix1.addBox(0F, 0F, 0F, 2, 5, 2); - Nix1.setRotationPoint(11F, -3F, 4F); - Nix1.setTextureSize(64, 32); - Nix1.mirror = true; - setRotation(Nix1, 0F, 0F, 0F); - Nix2 = new ModelRenderer(this, 48, 17); - Nix2.addBox(0F, 0F, 0F, 2, 5, 2); - Nix2.setRotationPoint(8F, -3F, 4F); - Nix2.setTextureSize(64, 32); - Nix2.mirror = true; - setRotation(Nix2, 0F, 0F, 0F); - Nix3 = new ModelRenderer(this, 40, 17); - Nix3.addBox(0F, 0F, 0F, 2, 5, 2); - Nix3.setRotationPoint(5F, -3F, 4F); - Nix3.setTextureSize(64, 32); - Nix3.mirror = true; - setRotation(Nix3, 0F, 0F, 0F); - Nix11 = new ModelRenderer(this, 72, 15); - Nix11.addBox(0F, 0F, 0F, 1, 2, 1); - Nix11.setRotationPoint(11.5F, -5F, 4.5F); - Nix11.setTextureSize(64, 32); - Nix11.mirror = true; - setRotation(Nix11, 0F, 0F, 0F); - Nix21 = new ModelRenderer(this, 68, 15); - Nix21.addBox(0F, 0F, 0F, 1, 2, 1); - Nix21.setRotationPoint(8.5F, -5F, 4.5F); - Nix21.setTextureSize(64, 32); - Nix21.mirror = true; - setRotation(Nix21, 0F, 0F, 0F); - Nix31 = new ModelRenderer(this, 64, 15); - Nix31.addBox(0F, 0F, 0F, 1, 2, 1); - Nix31.setRotationPoint(5.5F, -5F, 4.5F); - Nix31.setTextureSize(64, 32); - Nix31.mirror = true; - setRotation(Nix31, 0F, 0F, 0F); - Nix12 = new ModelRenderer(this, 72, 10); - Nix12.addBox(0F, 0F, 0F, 1, 4, 1); - Nix12.setRotationPoint(11.5F, -1.5F, 4.5F); - Nix12.setTextureSize(64, 32); - Nix12.mirror = true; - setRotation(Nix12, 0F, 0F, 0F); - Nix22 = new ModelRenderer(this, 68, 10); - Nix22.addBox(0F, 0F, 0F, 1, 4, 1); - Nix22.setRotationPoint(8.5F, -1.5F, 4.5F); - Nix22.setTextureSize(64, 32); - Nix22.mirror = true; - setRotation(Nix22, 0F, 0F, 0F); - Nix32 = new ModelRenderer(this, 64, 10); - Nix32.addBox(0F, 0F, 0F, 1, 4, 1); - Nix32.setRotationPoint(5.5F, -1.5F, 4.5F); - Nix32.setTextureSize(64, 32); - Nix32.mirror = true; - setRotation(Nix32, 0F, 0F, 0F); - Pylon = new ModelRenderer(this, 114, 24); - Pylon.addBox(0F, 0F, 0F, 2, 2, 4); - Pylon.setRotationPoint(-35F, 1F, 3.5F); - Pylon.setTextureSize(64, 32); - Pylon.mirror = true; - setRotation(Pylon, 0F, 0F, 0F); - Wire1 = new ModelRenderer(this, 82, 0); - Wire1.addBox(0F, 0F, 0F, 20, 0, 3); - Wire1.setRotationPoint(-24F, 7F, 4F); - Wire1.setTextureSize(64, 32); - Wire1.mirror = true; - setRotation(Wire1, 0F, 0F, 0F); - Wire2 = new ModelRenderer(this, 104, 3); - Wire2.addBox(0F, 0F, 0F, 9, 0, 3); - Wire2.setRotationPoint(-4F, 7F, 4F); - Wire2.setTextureSize(64, 32); - Wire2.mirror = true; - setRotation(Wire2, 0F, 0F, -0.4363323F); - Wire3 = new ModelRenderer(this, 100, 6); - Wire3.addBox(-11F, 0F, 0F, 11, 0, 3); - Wire3.setRotationPoint(-24F, 7F, 4F); - Wire3.setTextureSize(64, 32); - Wire3.mirror = true; - setRotation(Wire3, 0F, 0F, 0.4363323F); - PowPylon = new ModelRenderer(this, 108, 17); - PowPylon.addBox(0F, 0F, 0F, 2, 2, 5); - PowPylon.setRotationPoint(2.5F, 3F, 2.5F); - PowPylon.setTextureSize(64, 32); - PowPylon.mirror = true; - setRotation(PowPylon, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Muzzle1.render(f5); - Barrel1.render(f5); - Barrel2.render(f5); - Grip.render(f5); - Front1.render(f5); - Front2.render(f5); - Body.render(f5); - Top.render(f5); - GripBottom.render(f5); - Handle.render(f5); - HandleBack.render(f5); - Frame1.render(f5); - Frame2.render(f5); - Frame3.render(f5); - Trigger.render(f5); - BackPlate1.render(f5); - Back.render(f5); - BackPlate2.render(f5); - Pump1.render(f5); - Pump2.render(f5); - BodyPlate.render(f5); - Muz1.render(f5); - Muz2.render(f5); - Muz3.render(f5); - Damp1.render(f5); - Damp2.render(f5); - Damp3.render(f5); - DampFront.render(f5); - EmitterRod.render(f5); - EmitterCrystal.render(f5); - EmitterClamp1.render(f5); - EmitterClamp2.render(f5); - EmitterClamp3.render(f5); - EmitterClamp4.render(f5); - EmitterClamp5.render(f5); - EmitterClamp6.render(f5); - EmitterClamp7.render(f5); - EmitterClamp8.render(f5); - PowBox.render(f5); - PowPanel.render(f5); - Nix11.render(f5); - Nix21.render(f5); - Nix31.render(f5); - Nix12.render(f5); - Nix22.render(f5); - Nix32.render(f5); - GL11.glEnable(GL11.GL_BLEND); - //GL11.glDisable(GL11.GL_ALPHA_TEST); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - Nix1.render(f5); - Nix2.render(f5); - Nix3.render(f5); - GL11.glDisable(GL11.GL_BLEND); - Pylon.render(f5); - Wire1.render(f5); - Wire2.render(f5); - Wire3.render(f5); - PowPylon.render(f5); - } - - public void renderAnim(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, float tran) { - - Pump1.offsetX += tran; - Pump2.offsetX += tran; - - render(entity, f, f1, f2, f3, f4, f5); - - Pump1.offsetX -= tran; - Pump2.offsetX -= tran; - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelBFLauncher.java b/src/main/java/com/hbm/render/model/ModelBFLauncher.java deleted file mode 100644 index dadb9847e..000000000 --- a/src/main/java/com/hbm/render/model/ModelBFLauncher.java +++ /dev/null @@ -1,261 +0,0 @@ -// Date: 14.11.2016 11:46:56 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.weapon.ItemGunBase; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; - -public class ModelBFLauncher extends ModelBase { - // fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - ModelRenderer Shape10; - ModelRenderer Shape11; - ModelRenderer Shape12; - ModelRenderer Shape27; - ModelRenderer Shape28; - ModelRenderer Shape30; - ModelRenderer Shape31; - ModelRenderer Shape32; - ModelRenderer Shape33; - ModelRenderer Shape13; - ModelRenderer Shape14; - ModelRenderer Shape15; - ModelRenderer Shape16; - ModelRenderer Shape17; - ModelRenderer Shape18; - ModelRenderer Shape19; - ModelRenderer Shape20; - - public ModelBFLauncher() { - textureWidth = 128; - textureHeight = 64; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 40, 2, 4); - Shape1.setRotationPoint(-20F, 0F, 0F); - Shape1.setTextureSize(128, 64); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 6); - Shape2.addBox(0F, 0F, 0F, 6, 2, 2); - Shape2.setRotationPoint(-19F, 2F, 1F); - Shape2.setTextureSize(128, 64); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 10); - Shape3.addBox(0F, 0F, 0F, 1, 4, 1); - Shape3.setRotationPoint(-12F, 2F, 1.5F); - Shape3.setTextureSize(128, 64); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 16, 6); - Shape4.addBox(0F, 0F, 0F, 6, 1, 4); - Shape4.setRotationPoint(-10F, 2F, 0F); - Shape4.setTextureSize(128, 64); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 0, 15); - Shape5.addBox(0F, 0F, 0F, 2, 3, 1); - Shape5.setRotationPoint(-7F, 3F, 1.5F); - Shape5.setTextureSize(128, 64); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 4, 10); - Shape6.addBox(0F, 0F, 0F, 3, 3, 1); - Shape6.setRotationPoint(-10F, 3F, 1.5F); - Shape6.setTextureSize(128, 64); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 12, 10); - Shape7.addBox(-1F, 0F, 0F, 1, 2, 1); - Shape7.setRotationPoint(-7F, 3F, 1.5F); - Shape7.setTextureSize(128, 64); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0.5235988F); - Shape8 = new ModelRenderer(this, 36, 6); - Shape8.addBox(0F, 0F, 0F, 10, 1, 4); - Shape8.setRotationPoint(-3F, 2F, 0F); - Shape8.setTextureSize(128, 64); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - Shape9 = new ModelRenderer(this, 64, 6); - Shape9.addBox(0F, 0F, 0F, 2, 3, 2); - Shape9.setRotationPoint(7F, 2F, 1F); - Shape9.setTextureSize(128, 64); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - Shape10 = new ModelRenderer(this, 88, 0); - Shape10.addBox(0F, 0F, 0F, 3, 4, 4); - Shape10.setRotationPoint(17F, -4F, 0F); - Shape10.setTextureSize(128, 64); - Shape10.mirror = true; - setRotation(Shape10, 0F, 0F, 0F); - Shape11 = new ModelRenderer(this, 72, 6); - Shape11.addBox(0F, 0F, 0F, 2, 3, 1); - Shape11.setRotationPoint(18F, -7F, 0F); - Shape11.setTextureSize(128, 64); - Shape11.mirror = true; - setRotation(Shape11, 0F, 0F, 0F); - Shape12 = new ModelRenderer(this, 78, 6); - Shape12.addBox(0F, 0F, 0F, 2, 3, 1); - Shape12.setRotationPoint(18F, -7F, 3F); - Shape12.setTextureSize(128, 64); - Shape12.mirror = true; - setRotation(Shape12, 0F, 0F, 0F); - Shape27 = new ModelRenderer(this, 18, 27); - Shape27.addBox(0F, 0F, 0F, 2, 5, 1); - Shape27.setRotationPoint(13F, -5F, 1.5F); - Shape27.setTextureSize(128, 64); - Shape27.mirror = true; - setRotation(Shape27, 0F, 0F, 0F); - Shape28 = new ModelRenderer(this, 84, 6); - Shape28.addBox(0F, 0F, 0F, 1, 3, 1); - Shape28.setRotationPoint(16F, -3F, 1.5F); - Shape28.setTextureSize(128, 64); - Shape28.mirror = true; - setRotation(Shape28, 0F, 0F, 0F); - Shape30 = new ModelRenderer(this, 30, 15); - Shape30.addBox(0F, 0F, 0F, 12, 2, 2); - Shape30.setRotationPoint(-7F, -1F, 4F); - Shape30.setTextureSize(128, 64); - Shape30.mirror = true; - setRotation(Shape30, 0F, 0F, 0F); - Shape31 = new ModelRenderer(this, 44, 19); - Shape31.addBox(0F, 0F, 0F, 14, 1, 1); - Shape31.setRotationPoint(5F, -0.5F, 4.5F); - Shape31.setTextureSize(128, 64); - Shape31.mirror = true; - setRotation(Shape31, 0F, 0F, 0F); - Shape32 = new ModelRenderer(this, 12, 27); - Shape32.addBox(0F, 0F, 0F, 1, 1, 1); - Shape32.setRotationPoint(18F, -0.5F, 3.5F); - Shape32.setTextureSize(128, 64); - Shape32.mirror = true; - setRotation(Shape32, 0F, 0F, 0F); - Shape33 = new ModelRenderer(this, 24, 29); - Shape33.addBox(0F, 0F, 0F, 31, 1, 2); - Shape33.setRotationPoint(-18F, -1F, 1F); - Shape33.setTextureSize(128, 64); - Shape33.mirror = true; - setRotation(Shape33, 0F, 0F, 0F); - Shape13 = new ModelRenderer(this, 0, 34); - Shape13.addBox(0F, 0F, 0F, 22, 5, 3); - Shape13.setRotationPoint(-15F, -6F, 0.5F); - Shape13.setTextureSize(128, 64); - Shape13.mirror = true; - setRotation(Shape13, 0F, 0F, 0F); - Shape14 = new ModelRenderer(this, 0, 42); - Shape14.addBox(0F, 0F, 0F, 22, 3, 5); - Shape14.setRotationPoint(-15F, -5F, -0.5F); - Shape14.setTextureSize(128, 64); - Shape14.mirror = true; - setRotation(Shape14, 0F, 0F, 0F); - Shape15 = new ModelRenderer(this, 0, 50); - Shape15.addBox(0F, 0F, 0F, 1, 3, 3); - Shape15.setRotationPoint(-16F, -5F, 0.5F); - Shape15.setTextureSize(128, 64); - Shape15.mirror = true; - setRotation(Shape15, 0F, 0F, 0F); - Shape16 = new ModelRenderer(this, 8, 50); - Shape16.addBox(0F, 0F, 0F, 2, 3, 3); - Shape16.setRotationPoint(7F, -5F, 0.5F); - Shape16.setTextureSize(128, 64); - Shape16.mirror = true; - setRotation(Shape16, 0F, 0F, 0F); - Shape17 = new ModelRenderer(this, 18, 50); - Shape17.addBox(0F, 0F, 0F, 4, 1, 3); - Shape17.setRotationPoint(9F, -2F, 0.5F); - Shape17.setTextureSize(128, 64); - Shape17.mirror = true; - setRotation(Shape17, 0F, 0F, 0F); - Shape18 = new ModelRenderer(this, 32, 50); - Shape18.addBox(0F, 0F, 0F, 4, 1, 3); - Shape18.setRotationPoint(9F, -6F, 0.5F); - Shape18.setTextureSize(128, 64); - Shape18.mirror = true; - setRotation(Shape18, 0F, 0F, 0F); - Shape19 = new ModelRenderer(this, 46, 50); - Shape19.addBox(0F, 0F, 0F, 4, 3, 1); - Shape19.setRotationPoint(9F, -5F, -0.5F); - Shape19.setTextureSize(128, 64); - Shape19.mirror = true; - setRotation(Shape19, 0F, 0F, 0F); - Shape20 = new ModelRenderer(this, 56, 50); - Shape20.addBox(0F, 0F, 0F, 4, 3, 1); - Shape20.setRotationPoint(9F, -5F, 3.5F); - Shape20.setTextureSize(128, 64); - Shape20.mirror = true; - setRotation(Shape20, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, ItemStack item) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Shape2.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Shape6.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - Shape7.render(f5); - Shape8.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Shape9.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - Shape10.render(f5); - Shape11.render(f5); - Shape12.render(f5); - Shape27.render(f5); - Shape28.render(f5); - Shape30.render(f5); - Shape31.render(f5); - Shape32.render(f5); - Shape33.render(f5); - - int ammo = ItemGunBase.getMag(item); - if(ammo > 0) { - Shape13.render(f5); - Shape14.render(f5); - Shape15.render(f5); - Shape16.render(f5); - Shape17.render(f5); - Shape18.render(f5); - Shape19.render(f5); - Shape20.render(f5); - } - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelBackTesla.java b/src/main/java/com/hbm/render/model/ModelBackTesla.java index 6c9296886..7f1bf8321 100644 --- a/src/main/java/com/hbm/render/model/ModelBackTesla.java +++ b/src/main/java/com/hbm/render/model/ModelBackTesla.java @@ -5,29 +5,27 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; import com.hbm.render.loader.ModelRendererObj; -import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; public class ModelBackTesla extends ModelArmorBase { public ModelBackTesla() { super(1); - body = new ModelRendererObj(ResourceManager.armor_mod_tesla); + this.body = new ModelRendererObj(ResourceManager.armor_mod_tesla); } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + GL11.glPushMatrix(); GL11.glShadeModel(GL11.GL_SMOOTH); - - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.mod_tesla); - body.render(par7); - + + bindTexture(ResourceManager.mod_tesla); + this.body.render(scaleFactor); + GL11.glShadeModel(GL11.GL_FLAT); GL11.glPopMatrix(); } - } diff --git a/src/main/java/com/hbm/render/model/ModelBaleflare.java b/src/main/java/com/hbm/render/model/ModelBaleflare.java deleted file mode 100644 index 1449240eb..000000000 --- a/src/main/java/com/hbm/render/model/ModelBaleflare.java +++ /dev/null @@ -1,114 +0,0 @@ -// Date: 14.11.2016 12:21:58 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelBaleflare extends ModelBase { - // fields - ModelRenderer Shape9; - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - - public ModelBaleflare() { - textureWidth = 128; - textureHeight = 32; - - Shape9 = new ModelRenderer(this, 0, 0); - Shape9.addBox(0F, 0F, 0F, 22, 5, 3); - Shape9.setRotationPoint(-11F, -2.5F, -1.5F); - Shape9.setTextureSize(128, 32); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - Shape1 = new ModelRenderer(this, 0, 8); - Shape1.addBox(0F, 0F, 0F, 22, 3, 5); - Shape1.setRotationPoint(-11F, -1.5F, -2.5F); - Shape1.setTextureSize(128, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 16); - Shape2.addBox(0F, 0F, 0F, 1, 3, 3); - Shape2.setRotationPoint(-12F, -1.5F, -1.5F); - Shape2.setTextureSize(128, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 8, 16); - Shape3.addBox(0F, 0F, 0F, 2, 3, 3); - Shape3.setRotationPoint(11F, -1.5F, -1.5F); - Shape3.setTextureSize(128, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 18, 16); - Shape4.addBox(0F, 0F, 0F, 4, 1, 3); - Shape4.setRotationPoint(13F, 1.5F, -1.5F); - Shape4.setTextureSize(128, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 32, 16); - Shape5.addBox(0F, 0F, 0F, 4, 1, 3); - Shape5.setRotationPoint(13F, -2.5F, -1.5F); - Shape5.setTextureSize(128, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 46, 16); - Shape6.addBox(0F, 0F, 0F, 4, 3, 1); - Shape6.setRotationPoint(13F, -1.5F, -2.5F); - Shape6.setTextureSize(128, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 56, 16); - Shape7.addBox(0F, 0F, 0F, 4, 3, 1); - Shape7.setRotationPoint(13F, -1.5F, 1.5F); - Shape7.setTextureSize(128, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - } - - @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape9.render(f5); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - } - - public void renderAll(float f5) { - Shape9.render(f5); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelBigSword.java b/src/main/java/com/hbm/render/model/ModelBigSword.java index 29765119a..b4ea17f5f 100644 --- a/src/main/java/com/hbm/render/model/ModelBigSword.java +++ b/src/main/java/com/hbm/render/model/ModelBigSword.java @@ -4,94 +4,78 @@ // Keep in mind that you still need to fill in some blanks // - ZeuX - - - - - package com.hbm.render.model; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -public class ModelBigSword extends ModelBase -{ - //fields - ModelRenderer HandleBottom; - ModelRenderer HandleGrip; - ModelRenderer Handle1; - ModelRenderer Handle2; - ModelRenderer Blade; - ModelRenderer SBladeTip; - - public ModelBigSword() - { - textureWidth = 128; - textureHeight = 32; - - HandleBottom = new ModelRenderer(this, 1, 1); - HandleBottom.addBox(0F, 0F, 0F, 1, 3, 3); - HandleBottom.setRotationPoint(0F, 0F, 0F); - HandleBottom.setTextureSize(64, 32); - HandleBottom.mirror = true; - setRotation(HandleBottom, -0.7853982F, 0F, 0F); - HandleGrip = new ModelRenderer(this, 17, 1); - HandleGrip.addBox(0F, 0F, 0F, 1, 5, 2); - HandleGrip.setRotationPoint(0F, -4F, -1F); - HandleGrip.setTextureSize(64, 32); - HandleGrip.mirror = true; - setRotation(HandleGrip, 0F, 0F, 0F); - Handle1 = new ModelRenderer(this, 25, 1); - Handle1.addBox(0F, -1F, 0F, 2, 1, 4); - Handle1.setRotationPoint(-0.5F, -3F, 0F); - Handle1.setTextureSize(64, 32); - Handle1.mirror = true; - setRotation(Handle1, 0.2617994F, 0F, 0F); - Handle2 = new ModelRenderer(this, 41, 1); - Handle2.addBox(0F, -1F, -4F, 2, 1, 4); - Handle2.setRotationPoint(-0.5F, -3F, 0F); - Handle2.setTextureSize(64, 32); - Handle2.mirror = true; - setRotation(Handle2, -0.2617994F, 0F, 0F); - Blade = new ModelRenderer(this, 57, 1); - Blade.addBox(0F, 0F, 0F, 3, 18, 1); - Blade.setRotationPoint(0F, -22F, 1.5F); - Blade.setTextureSize(64, 32); - Blade.mirror = true; - setRotation(Blade, 0F, 1.570796F, 0F); - SBladeTip = new ModelRenderer(this, 2, 10); - SBladeTip.addBox(0F, 0F, 0F, 1, 2, 2); - SBladeTip.setRotationPoint(0F, -23.5F, 0F); - SBladeTip.setTextureSize(64, 32); - SBladeTip.mirror = true; - setRotation(SBladeTip, -0.7853982F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - HandleBottom.render(f5); - HandleGrip.render(f5); - Handle1.render(f5); - Handle2.render(f5); - Blade.render(f5); - SBladeTip.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } +public class ModelBigSword extends ModelBase { + ModelRenderer HandleBottom; + ModelRenderer HandleGrip; + ModelRenderer Handle1; + ModelRenderer Handle2; + ModelRenderer Blade; + ModelRenderer SBladeTip; + + public ModelBigSword() { + this.textureWidth = 128; + this.textureHeight = 32; + + this.HandleBottom = new ModelRenderer(this, 1, 1); + this.HandleBottom.addBox(0F, 0F, 0F, 1, 3, 3); + this.HandleBottom.setRotationPoint(0F, 0F, 0F); + this.HandleBottom.setTextureSize(64, 32); + this.HandleBottom.mirror = true; + setRotation(this.HandleBottom, -0.7853982F, 0F, 0F); + this.HandleGrip = new ModelRenderer(this, 17, 1); + this.HandleGrip.addBox(0F, 0F, 0F, 1, 5, 2); + this.HandleGrip.setRotationPoint(0F, -4F, -1F); + this.HandleGrip.setTextureSize(64, 32); + this.HandleGrip.mirror = true; + setRotation(this.HandleGrip, 0F, 0F, 0F); + this.Handle1 = new ModelRenderer(this, 25, 1); + this.Handle1.addBox(0F, -1F, 0F, 2, 1, 4); + this.Handle1.setRotationPoint(-0.5F, -3F, 0F); + this.Handle1.setTextureSize(64, 32); + this.Handle1.mirror = true; + setRotation(this.Handle1, 0.2617994F, 0F, 0F); + this.Handle2 = new ModelRenderer(this, 41, 1); + this.Handle2.addBox(0F, -1F, -4F, 2, 1, 4); + this.Handle2.setRotationPoint(-0.5F, -3F, 0F); + this.Handle2.setTextureSize(64, 32); + this.Handle2.mirror = true; + setRotation(this.Handle2, -0.2617994F, 0F, 0F); + this.Blade = new ModelRenderer(this, 57, 1); + this.Blade.addBox(0F, 0F, 0F, 3, 18, 1); + this.Blade.setRotationPoint(0F, -22F, 1.5F); + this.Blade.setTextureSize(64, 32); + this.Blade.mirror = true; + setRotation(this.Blade, 0F, 1.570796F, 0F); + this.SBladeTip = new ModelRenderer(this, 2, 10); + this.SBladeTip.addBox(0F, 0F, 0F, 1, 2, 2); + this.SBladeTip.setRotationPoint(0F, -23.5F, 0F); + this.SBladeTip.setTextureSize(64, 32); + this.SBladeTip.mirror = true; + setRotation(this.SBladeTip, -0.7853982F, 0F, 0F); + } + + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.HandleBottom.render(scaleFactor); + this.HandleGrip.render(scaleFactor); + this.Handle1.render(scaleFactor); + this.Handle2.render(scaleFactor); + this.Blade.render(scaleFactor); + this.SBladeTip.render(scaleFactor); + } + + private static void setRotation(ModelRenderer model, float x, float y, float z) { + + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } } diff --git a/src/main/java/com/hbm/render/model/ModelBlockSpider.java b/src/main/java/com/hbm/render/model/ModelBlockSpider.java index a5fe9d714..4a7a61132 100644 --- a/src/main/java/com/hbm/render/model/ModelBlockSpider.java +++ b/src/main/java/com/hbm/render/model/ModelBlockSpider.java @@ -13,30 +13,26 @@ import net.minecraft.entity.Entity; import net.minecraft.util.MathHelper; public class ModelBlockSpider extends ModelBase { - - private final RenderBlocks field_147920_a = new RenderBlocks(); @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + int blockId = entity.getDataWatcher().getWatchableObjectInt(12); + Block block = Block.getBlockById(blockId); + + if(block == null) { + return; + } + + float rot = -(MathHelper.cos(limbSwing * 0.6662F * 2.0F + 0.0F) * 0.4F) * limbSwingAmount * 57.3F; + int meta = entity.getDataWatcher().getWatchableObjectInt(13); + GL11.glPushMatrix(); GL11.glRotatef(90, 0, -1, 0); GL11.glRotatef(180, 0, 0, 1); GL11.glTranslatef(0, -1.5F, 0); - float rot = -(MathHelper.cos(f * 0.6662F * 2.0F + 0.0F) * 0.4F) * f1 * 57.3F; - - int blockid = entity.getDataWatcher().getWatchableObjectInt(12); - int meta = entity.getDataWatcher().getWatchableObjectInt(13); - Block block = Block.getBlockById(blockid); - - if(block == null) { - GL11.glPopMatrix(); - return; - } - GL11.glPushMatrix(); GL11.glTranslated(0, rot * 0.005, 0); GL11.glRotatef(rot, 0, 1, 0); @@ -54,16 +50,15 @@ public class ModelBlockSpider extends ModelBase { ResourceManager.spider.renderPart("Leg6"); ResourceManager.spider.renderPart("Leg8"); GL11.glPopMatrix(); - + GL11.glPushMatrix(); Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationBlocksTexture); GL11.glTranslated(0, 0.75, 0); - this.field_147920_a.renderBlockAsItem(block, meta, entity.getBrightness(f5)); + RenderBlocks.getInstance().renderBlockAsItem(block, meta, entity.getBrightness(scaleFactor)); GL11.glPopMatrix(); //this.field_147920_a.setRenderBoundsFromBlock(block); //this.field_147920_a.renderBlockSandFalling(block, entity.worldObj, (int)Math.floor(entity.posX), (int)Math.floor(entity.posY), (int)Math.floor(entity.posZ), blockid); - + GL11.glPopMatrix(); } - } diff --git a/src/main/java/com/hbm/render/model/ModelBoltAction.java b/src/main/java/com/hbm/render/model/ModelBoltAction.java deleted file mode 100644 index 287421431..000000000 --- a/src/main/java/com/hbm/render/model/ModelBoltAction.java +++ /dev/null @@ -1,250 +0,0 @@ -// Date: 14.01.2018 22:26:04 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.entity.Entity; - -public class ModelBoltAction extends ModelBase { - // fields - ModelRenderer Barrel1; - ModelRenderer Barrel2; - ModelRenderer Grip; - ModelRenderer BodyFront; - ModelRenderer BodyMain; - ModelRenderer LeverFront; - ModelRenderer LeverBottom; - ModelRenderer LeverMid; - ModelRenderer Trigger; - ModelRenderer GripFront; - ModelRenderer GropFrontBottom; - ModelRenderer GripBottom; - ModelRenderer Bolt; - ModelRenderer ChamberFront; - ModelRenderer ChamberBack; - ModelRenderer BodyBack; - ModelRenderer LeverTip; - ModelRenderer Lever; - ModelRenderer HandleFront; - ModelRenderer Pointer; - ModelRenderer HandleBottom; - ModelRenderer HandleGrip; - - public ModelBoltAction() { - textureWidth = 128; - textureHeight = 64; - - Barrel1 = new ModelRenderer(this, 0, 0); - Barrel1.addBox(0F, 0F, 0F, 60, 3, 2); - Barrel1.setRotationPoint(-60F, 1.5F, -1F); - Barrel1.setTextureSize(64, 32); - Barrel1.mirror = true; - setRotation(Barrel1, 0F, 0F, 0F); - Barrel2 = new ModelRenderer(this, 0, 5); - Barrel2.addBox(0F, 0F, 0F, 60, 2, 3); - Barrel2.setRotationPoint(-60F, 2F, -1.5F); - Barrel2.setTextureSize(64, 32); - Barrel2.mirror = true; - setRotation(Barrel2, 0F, 0F, 0F); - Grip = new ModelRenderer(this, 0, 10); - Grip.addBox(0F, 0F, 0F, 28, 5, 4); - Grip.setRotationPoint(-28F, 3F, -2F); - Grip.setTextureSize(64, 32); - Grip.mirror = true; - setRotation(Grip, 0F, 0F, 0F); - BodyFront = new ModelRenderer(this, 0, 19); - BodyFront.addBox(0F, 0F, 0F, 3, 7, 4); - BodyFront.setRotationPoint(0F, 2.5F, -2F); - BodyFront.setTextureSize(64, 32); - BodyFront.mirror = true; - setRotation(BodyFront, 0F, 0F, 0F); - BodyMain = new ModelRenderer(this, 14, 19); - BodyMain.addBox(0F, 0F, 0F, 8, 7, 4); - BodyMain.setRotationPoint(3F, 2.5F, -2F); - BodyMain.setTextureSize(64, 32); - BodyMain.mirror = true; - setRotation(BodyMain, 0F, 0F, 0F); - LeverFront = new ModelRenderer(this, 62, 30); - LeverFront.addBox(-1F, 0F, 0F, 2, 4, 2); - LeverFront.setRotationPoint(7F, 9F, -1F); - LeverFront.setTextureSize(64, 32); - LeverFront.mirror = true; - setRotation(LeverFront, 0F, 0F, 0F); - LeverBottom = new ModelRenderer(this, 70, 30); - LeverBottom.addBox(0F, 4F, 0F, 6, 1, 2); - LeverBottom.setRotationPoint(7F, 9F, -1F); - LeverBottom.setTextureSize(64, 32); - LeverBottom.mirror = true; - setRotation(LeverBottom, 0F, 0F, 0F); - LeverMid = new ModelRenderer(this, 62, 36); - LeverMid.addBox(6F, 0F, 0F, 1, 5, 2); - LeverMid.setRotationPoint(7F, 9F, -1F); - LeverMid.setTextureSize(64, 32); - LeverMid.mirror = true; - setRotation(LeverMid, 0F, 0F, 0F); - Trigger = new ModelRenderer(this, 88, 30); - Trigger.addBox(-1F, 0F, 0F, 1, 3, 1); - Trigger.setRotationPoint(12.5F, 9F, -0.5F); - Trigger.setTextureSize(64, 32); - Trigger.mirror = true; - setRotation(Trigger, 0F, 0F, 0.3490659F); - GripFront = new ModelRenderer(this, 0, 30); - GripFront.addBox(0F, 0F, 0F, 18, 3, 4); - GripFront.setRotationPoint(-46F, 3F, -2F); - GripFront.setTextureSize(128, 64); - GripFront.mirror = true; - setRotation(GripFront, 0F, 0F, 0F); - GropFrontBottom = new ModelRenderer(this, 0, 37); - GropFrontBottom.addBox(0F, 0F, 0F, 18, 1, 2); - GropFrontBottom.setRotationPoint(-46F, 6F, -1F); - GropFrontBottom.setTextureSize(128, 64); - GropFrontBottom.mirror = true; - setRotation(GropFrontBottom, 0F, 0F, 0F); - GripBottom = new ModelRenderer(this, 0, 40); - GripBottom.addBox(0F, 0F, 0F, 28, 1, 2); - GripBottom.setRotationPoint(-28F, 8F, -1F); - GripBottom.setTextureSize(128, 64); - GripBottom.mirror = true; - setRotation(GripBottom, 0F, 0F, 0F); - Bolt = new ModelRenderer(this, 0, 43); - Bolt.addBox(0F, 0F, 0F, 10, 2, 2); - Bolt.setRotationPoint(3F, 2F, -1F); - Bolt.setTextureSize(128, 64); - Bolt.mirror = true; - setRotation(Bolt, 0F, 0F, 0F); - ChamberFront = new ModelRenderer(this, 0, 47); - ChamberFront.addBox(0F, 0F, 0F, 3, 1, 3); - ChamberFront.setRotationPoint(0F, 1.5F, -1.5F); - ChamberFront.setTextureSize(128, 64); - ChamberFront.mirror = true; - setRotation(ChamberFront, 0F, 0F, 0F); - ChamberBack = new ModelRenderer(this, 12, 47); - ChamberBack.addBox(0F, 0F, 0F, 3, 1, 3); - ChamberBack.setRotationPoint(8F, 1.5F, -1.5F); - ChamberBack.setTextureSize(128, 64); - ChamberBack.mirror = true; - setRotation(ChamberBack, 0F, 0F, 0F); - BodyBack = new ModelRenderer(this, 0, 51); - BodyBack.addBox(0F, 0F, 0F, 4, 6, 4); - BodyBack.setRotationPoint(11F, 3.5F, -2F); - BodyBack.setTextureSize(128, 64); - BodyBack.mirror = true; - setRotation(BodyBack, 0F, 0F, 0F); - LeverTip = new ModelRenderer(this, 24, 43); - LeverTip.addBox(0F, -1F, 3F, 2, 2, 2); - LeverTip.setRotationPoint(11F, 3F, 0F); - LeverTip.setTextureSize(128, 64); - LeverTip.mirror = true; - setRotation(LeverTip, -0.4363323F, 0F, 0F); - Lever = new ModelRenderer(this, 32, 43); - Lever.addBox(0F, -0.5F, 0F, 1, 1, 4); - Lever.setRotationPoint(11.5F, 3F, 0F); - Lever.setTextureSize(128, 64); - Lever.mirror = true; - setRotation(Lever, -0.4363323F, 0F, 0F); - HandleFront = new ModelRenderer(this, 16, 51); - HandleFront.addBox(0F, 0F, 0F, 9, 5, 4); - HandleFront.setRotationPoint(15F, 4.5F, -2F); - HandleFront.setTextureSize(128, 64); - HandleFront.mirror = true; - setRotation(HandleFront, 0F, 0F, 0.4363323F); - Pointer = new ModelRenderer(this, 42, 43); - Pointer.addBox(0F, 0F, 0F, 3, 1, 1); - Pointer.setRotationPoint(-49F, 5.5F, -0.5F); - Pointer.setTextureSize(128, 64); - Pointer.mirror = true; - setRotation(Pointer, 0F, 0F, 0F); - HandleBottom = new ModelRenderer(this, 64, 10); - HandleBottom.addBox(0F, -8F, 0F, 23, 8, 4); - HandleBottom.setRotationPoint(19F, 16F, -2F); - HandleBottom.setTextureSize(128, 64); - HandleBottom.mirror = true; - setRotation(HandleBottom, 0F, 0F, 0F); - HandleGrip = new ModelRenderer(this, 38, 19); - HandleGrip.addBox(0F, 0F, 0F, 2, 5, 4); - HandleGrip.setRotationPoint(17F, 9.5F, -2F); - HandleGrip.setTextureSize(128, 64); - HandleGrip.mirror = true; - setRotation(HandleGrip, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Barrel1.render(f5); - Barrel2.render(f5); - Grip.render(f5); - BodyFront.render(f5); - BodyMain.render(f5); - LeverFront.render(f5); - LeverBottom.render(f5); - LeverMid.render(f5); - Trigger.render(f5); - GripFront.render(f5); - GropFrontBottom.render(f5); - GripBottom.render(f5); - Bolt.render(f5); - ChamberFront.render(f5); - ChamberBack.render(f5); - BodyBack.render(f5); - LeverTip.render(f5); - Lever.render(f5); - HandleFront.render(f5); - Pointer.render(f5); - HandleBottom.render(f5); - HandleGrip.render(f5); - - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_LIGHTING); - - Tessellator tessellator = Tessellator.instance; - int color = 0x00FF00; - - tessellator.startDrawing(3); - tessellator.setColorOpaque_I(color); - tessellator.addVertex(-32F / 16F, 0 + 4F / 16F, 0); - tessellator.addVertex(-150, 0, 0); - tessellator.draw(); - - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glPopMatrix(); - } - - public void renderAnim(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, float rot, float tran) { - - LeverTip.rotateAngleX += rot; - Lever.rotateAngleX += rot; - Bolt.offsetX += tran; - LeverTip.offsetX += tran; - Lever.offsetX += tran; - - render(entity, f, f1, f2, f3, f4, f5); - - setRotation(LeverTip, -0.4363323F, 0F, 0F); - setRotation(Lever, -0.4363323F, 0F, 0F); - Bolt.offsetX -= tran; - LeverTip.offsetX -= tran; - Lever.offsetX -= tran; - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelBroadcaster.java b/src/main/java/com/hbm/render/model/ModelBroadcaster.java index ef8ed5e46..975659f98 100644 --- a/src/main/java/com/hbm/render/model/ModelBroadcaster.java +++ b/src/main/java/com/hbm/render/model/ModelBroadcaster.java @@ -11,66 +11,60 @@ import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelBroadcaster extends ModelBase { - // fields + ModelRenderer Shape1; ModelRenderer Shape2; ModelRenderer Shape3; ModelRenderer Shape4; public ModelBroadcaster() { - textureWidth = 64; - textureHeight = 32; + this.textureWidth = 64; + this.textureHeight = 32; - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 14, 10, 8); - Shape1.setRotationPoint(-7F, 14F, -4F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 4, 21); - Shape2.addBox(0F, 0F, 0F, 2, 3, 2); - Shape2.setRotationPoint(-5F, 11F, -1F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 18); - Shape3.addBox(0F, 0F, 0F, 1, 11, 1); - Shape3.setRotationPoint(-4.5F, 0F, -0.5F); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 4, 18); - Shape4.addBox(0F, 0F, 0F, 3, 2, 1); - Shape4.setRotationPoint(2F, 12F, -0.5F); - Shape4.setTextureSize(64, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); + this.Shape1 = new ModelRenderer(this, 0, 0); + this.Shape1.addBox(0F, 0F, 0F, 14, 10, 8); + this.Shape1.setRotationPoint(-7F, 14F, -4F); + this.Shape1.setTextureSize(64, 32); + this.Shape1.mirror = true; + setRotation(this.Shape1, 0F, 0F, 0F); + this.Shape2 = new ModelRenderer(this, 4, 21); + this.Shape2.addBox(0F, 0F, 0F, 2, 3, 2); + this.Shape2.setRotationPoint(-5F, 11F, -1F); + this.Shape2.setTextureSize(64, 32); + this.Shape2.mirror = true; + setRotation(this.Shape2, 0F, 0F, 0F); + this.Shape3 = new ModelRenderer(this, 0, 18); + this.Shape3.addBox(0F, 0F, 0F, 1, 11, 1); + this.Shape3.setRotationPoint(-4.5F, 0F, -0.5F); + this.Shape3.setTextureSize(64, 32); + this.Shape3.mirror = true; + setRotation(this.Shape3, 0F, 0F, 0F); + this.Shape4 = new ModelRenderer(this, 4, 18); + this.Shape4.addBox(0F, 0F, 0F, 3, 2, 1); + this.Shape4.setRotationPoint(2F, 12F, -0.5F); + this.Shape4.setTextureSize(64, 32); + this.Shape4.mirror = true; + setRotation(this.Shape4, 0F, 0F, 0F); } - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.renderModel(scaleFactor); } - public void renderModel(float f) { - Shape1.render(f); - Shape2.render(f); - Shape3.render(f); - Shape4.render(f); + public void renderModel(float scaleFactor) { + + this.Shape1.render(scaleFactor); + this.Shape2.render(scaleFactor); + this.Shape3.render(scaleFactor); + this.Shape4.render(scaleFactor); } - private void setRotation(ModelRenderer model, float x, float y, float z) { + private static void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - } diff --git a/src/main/java/com/hbm/render/model/ModelBuckshot.java b/src/main/java/com/hbm/render/model/ModelBuckshot.java index 2ddadaf54..1beb6e60b 100644 --- a/src/main/java/com/hbm/render/model/ModelBuckshot.java +++ b/src/main/java/com/hbm/render/model/ModelBuckshot.java @@ -9,37 +9,32 @@ public class ModelBuckshot extends ModelBase { ModelRenderer bullet; public ModelBuckshot() { - textureWidth = 4; - textureHeight = 4; + this.textureWidth = 4; + this.textureHeight = 4; - bullet = new ModelRenderer(this, 0, 0); - bullet.addBox(0F, 0F, 0F, 1, 1, 1); - bullet.setRotationPoint(1F, -0.5F, -0.5F); - bullet.setTextureSize(4, 4); - bullet.mirror = true; - setRotation(bullet, 0F, 0F, 0F); + this.bullet = new ModelRenderer(this, 0, 0); + this.bullet.addBox(0F, 0F, 0F, 1, 1, 1); + this.bullet.setRotationPoint(1F, -0.5F, -0.5F); + this.bullet.setTextureSize(4, 4); + this.bullet.mirror = true; + setRotation(this.bullet, 0F, 0F, 0F); } @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - bullet.render(f5); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.renderAll(scaleFactor); } - private void setRotation(ModelRenderer model, float x, float y, float z) { + public void renderAll(float scaleFactor) { + + this.bullet.render(scaleFactor); + } + + private static void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - - public void renderAll(float f5) { - bullet.render(f5); - } - -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/render/model/ModelBullet.java b/src/main/java/com/hbm/render/model/ModelBullet.java index ad9a60a1a..8b2ef2a43 100644 --- a/src/main/java/com/hbm/render/model/ModelBullet.java +++ b/src/main/java/com/hbm/render/model/ModelBullet.java @@ -9,37 +9,32 @@ public class ModelBullet extends ModelBase { ModelRenderer bullet; public ModelBullet() { - textureWidth = 8; - textureHeight = 4; + this.textureWidth = 8; + this.textureHeight = 4; - bullet = new ModelRenderer(this, 0, 0); - bullet.addBox(0F, 0F, 0F, 2, 1, 1); - bullet.setRotationPoint(1F, -0.5F, -0.5F); - bullet.setTextureSize(8, 4); - bullet.mirror = true; - setRotation(bullet, 0F, 0F, 0F); + this.bullet = new ModelRenderer(this, 0, 0); + this.bullet.addBox(0F, 0F, 0F, 2, 1, 1); + this.bullet.setRotationPoint(1F, -0.5F, -0.5F); + this.bullet.setTextureSize(8, 4); + this.bullet.mirror = true; + setRotation(this.bullet, 0F, 0F, 0F); } @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - bullet.render(f5); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.renderAll(scaleFactor); } - private void setRotation(ModelRenderer model, float x, float y, float z) { + public void renderAll(float scaleFactor) { + + this.bullet.render(scaleFactor); + } + + private static void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - - public void renderAll(float f5) { - bullet.render(f5); - } - -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/render/model/ModelCalBarrel.java b/src/main/java/com/hbm/render/model/ModelCalBarrel.java deleted file mode 100644 index 81bf3b31e..000000000 --- a/src/main/java/com/hbm/render/model/ModelCalBarrel.java +++ /dev/null @@ -1,108 +0,0 @@ -// Date: 24.10.2018 09:56:30 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelCalBarrel extends ModelBase { - // fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - - public ModelCalBarrel() { - textureWidth = 128; - textureHeight = 32; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 30, 6, 3); - Shape1.setRotationPoint(-30F, 0F, -1.5F); - Shape1.setTextureSize(128, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 19); - Shape2.addBox(0F, 0F, 0F, 30, 3, 6); - Shape2.setRotationPoint(-30F, 1.5F, -3F); - Shape2.setTextureSize(128, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 9); - Shape3.addBox(0F, 0F, 0F, 30, 5, 5); - Shape3.setRotationPoint(-30F, 0.5F, -2.5F); - Shape3.setTextureSize(128, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 0, 28); - Shape4.addBox(0F, 0F, 0F, 1, 2, 2); - Shape4.setRotationPoint(-30.5F, 0.5F, -1F); - Shape4.setTextureSize(128, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 6, 28); - Shape5.addBox(0F, 0F, 0F, 3, 2, 2); - Shape5.setRotationPoint(-33F, 3.5F, -1F); - Shape5.setTextureSize(128, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 66, 0); - Shape6.addBox(0F, 0F, 0F, 4, 2, 4); - Shape6.setRotationPoint(-20F, -1F, -2F); - Shape6.setTextureSize(128, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 82, 0); - Shape7.addBox(0F, -1F, -4F, 4, 1, 4); - Shape7.setRotationPoint(-20F, -1F, 2F); - Shape7.setTextureSize(128, 32); - Shape7.mirror = true; - setRotation(Shape7, -0.3490659F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - } - - public void renderAll(float f5) { - GL11.glPushMatrix(); - GL11.glTranslated(0, 1D/16D * 1, 0); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - GL11.glPopMatrix(); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelCalDualStock.java b/src/main/java/com/hbm/render/model/ModelCalDualStock.java deleted file mode 100644 index a9b94fdfd..000000000 --- a/src/main/java/com/hbm/render/model/ModelCalDualStock.java +++ /dev/null @@ -1,243 +0,0 @@ -// Date: 24.10.2018 10:31:22 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelCalDualStock extends ModelBase { - // fields - ModelRenderer Shape8; - ModelRenderer Shape9; - ModelRenderer Shape10; - ModelRenderer Shape11; - ModelRenderer Shape12; - ModelRenderer Shape13; - ModelRenderer Shape14; - ModelRenderer Shape15; - ModelRenderer Shape16; - ModelRenderer Shape17; - ModelRenderer Shape18; - ModelRenderer Shape19; - ModelRenderer Shape20; - ModelRenderer Shape21; - ModelRenderer Shape22; - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - - public ModelCalDualStock() { - textureWidth = 64; - textureHeight = 32; - - Shape8 = new ModelRenderer(this, 0, 0); - Shape8.addBox(0F, 0F, 0F, 15, 6, 3); - Shape8.setRotationPoint(0F, 1F, -1.5F); - Shape8.setTextureSize(64, 32); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - Shape9 = new ModelRenderer(this, 0, 9); - Shape9.addBox(0F, 0F, 0F, 6, 1, 2); - Shape9.setRotationPoint(7F, 7F, -1F); - Shape9.setTextureSize(64, 32); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - Shape10 = new ModelRenderer(this, 0, 12); - Shape10.addBox(0F, 0F, 0F, 2, 5, 2); - Shape10.setRotationPoint(10F, 8F, -1F); - Shape10.setTextureSize(64, 32); - Shape10.mirror = true; - setRotation(Shape10, 0F, 0F, -0.2617994F); - Shape11 = new ModelRenderer(this, 0, 26); - Shape11.addBox(0F, 0F, 0F, 3, 4, 2); - Shape11.setRotationPoint(19F, 3F, -1F); - Shape11.setTextureSize(64, 32); - Shape11.mirror = true; - setRotation(Shape11, 0F, 0F, 0F); - Shape12 = new ModelRenderer(this, 0, 22); - Shape12.addBox(-4F, 0F, 0F, 4, 2, 2); - Shape12.setRotationPoint(19F, 3F, -1F); - Shape12.setTextureSize(64, 32); - Shape12.mirror = true; - setRotation(Shape12, 0F, 0F, -0.1115358F); - Shape13 = new ModelRenderer(this, 10, 28); - Shape13.addBox(-5F, -2F, 0F, 5, 2, 2); - Shape13.setRotationPoint(19F, 7F, -1F); - Shape13.setTextureSize(64, 32); - Shape13.mirror = true; - setRotation(Shape13, 0F, 0F, 0.2617994F); - Shape14 = new ModelRenderer(this, 12, 23); - Shape14.addBox(0F, 0F, 0F, 1, 3, 2); - Shape14.setRotationPoint(22F, 3F, -1F); - Shape14.setTextureSize(64, 32); - Shape14.mirror = true; - setRotation(Shape14, 0F, 0F, 0.3490659F); - Shape15 = new ModelRenderer(this, 42, 0); - Shape15.addBox(0F, 0F, 0F, 3, 5, 8); - Shape15.setRotationPoint(3F, 4F, -9.5F); - Shape15.setTextureSize(64, 32); - Shape15.mirror = true; - setRotation(Shape15, 0F, 0F, 0F); - Shape16 = new ModelRenderer(this, 36, 0); - Shape16.addBox(0F, 0F, 0F, 2, 1, 1); - Shape16.setRotationPoint(3.5F, 3.5F, -4F); - Shape16.setTextureSize(64, 32); - Shape16.mirror = true; - setRotation(Shape16, 0F, 0F, 0F); - Shape17 = new ModelRenderer(this, 36, 0); - Shape17.addBox(0F, 0F, 0F, 2, 1, 1); - Shape17.setRotationPoint(3.5F, 2.7F, -3.5F); - Shape17.setTextureSize(64, 32); - Shape17.mirror = true; - setRotation(Shape17, 0F, 0F, 0F); - Shape18 = new ModelRenderer(this, 36, 0); - Shape18.addBox(0F, 0F, 0F, 2, 1, 1); - Shape18.setRotationPoint(3.5F, 2.2F, -2.8F); - Shape18.setTextureSize(64, 32); - Shape18.mirror = true; - setRotation(Shape18, 0F, 0F, 0F); - Shape19 = new ModelRenderer(this, 36, 0); - Shape19.addBox(0F, 0F, 0F, 2, 1, 1); - Shape19.setRotationPoint(3.5F, 1.8F, -2F); - Shape19.setTextureSize(64, 32); - Shape19.mirror = true; - setRotation(Shape19, 0F, 0F, 0F); - Shape20 = new ModelRenderer(this, 16, 9); - Shape20.addBox(0F, 0F, 0F, 6, 1, 4); - Shape20.setRotationPoint(7F, 4F, -2F); - Shape20.setTextureSize(64, 32); - Shape20.mirror = true; - setRotation(Shape20, 0F, 0F, 0F); - Shape21 = new ModelRenderer(this, 8, 12); - Shape21.addBox(0F, 0F, 0F, 2, 1, 1); - Shape21.setRotationPoint(11F, 0F, 0F); - Shape21.setTextureSize(64, 32); - Shape21.mirror = true; - setRotation(Shape21, 0F, 0F, 0F); - Shape22 = new ModelRenderer(this, 8, 14); - Shape22.addBox(0F, 0F, 0F, 2, 1, 2); - Shape22.setRotationPoint(11F, -1F, 0F); - Shape22.setTextureSize(64, 32); - Shape22.mirror = true; - setRotation(Shape22, -0.3490659F, 0F, 0F); - Shape1 = new ModelRenderer(this, 42, 0); - Shape1.addBox(0F, 0F, 0F, 3, 5, 8); - Shape1.setRotationPoint(3F, 4F, 1.5F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 36, 0); - Shape2.addBox(0F, 0F, 0F, 2, 1, 1); - Shape2.setRotationPoint(3.5F, 3.5F, 3F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 36, 0); - Shape3.addBox(0F, 0F, 0F, 2, 1, 1); - Shape3.setRotationPoint(3.5F, 2.7F, 2.5F); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 36, 0); - Shape4.addBox(0F, 0F, 0F, 2, 1, 1); - Shape4.setRotationPoint(3.5F, 2.2F, 1.8F); - Shape4.setTextureSize(64, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 36, 0); - Shape5.addBox(0F, 0F, 0F, 2, 1, 1); - Shape5.setRotationPoint(3.5F, 1.8F, 1F); - Shape5.setTextureSize(64, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 18, 17); - Shape6.addBox(0F, 0F, 0F, 1, 5, 6); - Shape6.setRotationPoint(-1F, 1F, -3F); - Shape6.setTextureSize(64, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 32, 13); - Shape7.addBox(0F, 0F, 0F, 1, 4, 15); - Shape7.setRotationPoint(-2F, 2F, -7.5F); - Shape7.setTextureSize(64, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape8.render(f5); - Shape9.render(f5); - Shape10.render(f5); - Shape11.render(f5); - Shape12.render(f5); - Shape13.render(f5); - Shape14.render(f5); - Shape15.render(f5); - Shape16.render(f5); - Shape17.render(f5); - Shape18.render(f5); - Shape19.render(f5); - Shape20.render(f5); - Shape21.render(f5); - Shape22.render(f5); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - } - - public void renderAll(float f5) { - GL11.glPushMatrix(); - GL11.glTranslated(1D/16D * 2, 0, 0); - Shape8.render(f5); - Shape9.render(f5); - Shape10.render(f5); - Shape11.render(f5); - Shape12.render(f5); - Shape13.render(f5); - Shape14.render(f5); - Shape15.render(f5); - Shape16.render(f5); - Shape17.render(f5); - Shape18.render(f5); - Shape19.render(f5); - Shape20.render(f5); - Shape21.render(f5); - Shape22.render(f5); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - GL11.glPopMatrix(); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelCalStock.java b/src/main/java/com/hbm/render/model/ModelCalStock.java deleted file mode 100644 index f6902b24c..000000000 --- a/src/main/java/com/hbm/render/model/ModelCalStock.java +++ /dev/null @@ -1,175 +0,0 @@ -// Date: 24.10.2018 10:23:38 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelCalStock extends ModelBase { - // fields - ModelRenderer Shape8; - ModelRenderer Shape9; - ModelRenderer Shape10; - ModelRenderer Shape11; - ModelRenderer Shape12; - ModelRenderer Shape13; - ModelRenderer Shape14; - ModelRenderer Shape15; - ModelRenderer Shape16; - ModelRenderer Shape17; - ModelRenderer Shape18; - ModelRenderer Shape19; - ModelRenderer Shape20; - ModelRenderer Shape21; - ModelRenderer Shape22; - - public ModelCalStock() { - textureWidth = 64; - textureHeight = 32; - - Shape8 = new ModelRenderer(this, 0, 0); - Shape8.addBox(0F, 0F, 0F, 15, 6, 3); - Shape8.setRotationPoint(0F, 1F, -1.5F); - Shape8.setTextureSize(64, 32); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - Shape9 = new ModelRenderer(this, 0, 9); - Shape9.addBox(0F, 0F, 0F, 6, 1, 2); - Shape9.setRotationPoint(7F, 7F, -1F); - Shape9.setTextureSize(64, 32); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - Shape10 = new ModelRenderer(this, 0, 12); - Shape10.addBox(0F, 0F, 0F, 2, 5, 2); - Shape10.setRotationPoint(10F, 8F, -1F); - Shape10.setTextureSize(64, 32); - Shape10.mirror = true; - setRotation(Shape10, 0F, 0F, -0.2617994F); - Shape11 = new ModelRenderer(this, 0, 26); - Shape11.addBox(0F, 0F, 0F, 3, 4, 2); - Shape11.setRotationPoint(19F, 3F, -1F); - Shape11.setTextureSize(64, 32); - Shape11.mirror = true; - setRotation(Shape11, 0F, 0F, 0F); - Shape12 = new ModelRenderer(this, 0, 22); - Shape12.addBox(-4F, 0F, 0F, 4, 2, 2); - Shape12.setRotationPoint(19F, 3F, -1F); - Shape12.setTextureSize(64, 32); - Shape12.mirror = true; - setRotation(Shape12, 0F, 0F, -0.1115358F); - Shape13 = new ModelRenderer(this, 10, 28); - Shape13.addBox(-5F, -2F, 0F, 5, 2, 2); - Shape13.setRotationPoint(19F, 7F, -1F); - Shape13.setTextureSize(64, 32); - Shape13.mirror = true; - setRotation(Shape13, 0F, 0F, 0.2617994F); - Shape14 = new ModelRenderer(this, 12, 23); - Shape14.addBox(0F, 0F, 0F, 1, 3, 2); - Shape14.setRotationPoint(22F, 3F, -1F); - Shape14.setTextureSize(64, 32); - Shape14.mirror = true; - setRotation(Shape14, 0F, 0F, 0.3490659F); - Shape15 = new ModelRenderer(this, 42, 0); - Shape15.addBox(0F, 0F, 0F, 3, 5, 8); - Shape15.setRotationPoint(3F, 4F, -9.5F); - Shape15.setTextureSize(64, 32); - Shape15.mirror = true; - setRotation(Shape15, 0F, 0F, 0F); - Shape16 = new ModelRenderer(this, 36, 0); - Shape16.addBox(0F, 0F, 0F, 2, 1, 1); - Shape16.setRotationPoint(3.5F, 3.5F, -4F); - Shape16.setTextureSize(64, 32); - Shape16.mirror = true; - setRotation(Shape16, 0F, 0F, 0F); - Shape17 = new ModelRenderer(this, 36, 0); - Shape17.addBox(0F, 0F, 0F, 2, 1, 1); - Shape17.setRotationPoint(3.5F, 2.7F, -3.5F); - Shape17.setTextureSize(64, 32); - Shape17.mirror = true; - setRotation(Shape17, 0F, 0F, 0F); - Shape18 = new ModelRenderer(this, 36, 0); - Shape18.addBox(0F, 0F, 0F, 2, 1, 1); - Shape18.setRotationPoint(3.5F, 2.2F, -2.8F); - Shape18.setTextureSize(64, 32); - Shape18.mirror = true; - setRotation(Shape18, 0F, 0F, 0F); - Shape19 = new ModelRenderer(this, 36, 0); - Shape19.addBox(0F, 0F, 0F, 2, 1, 1); - Shape19.setRotationPoint(3.5F, 1.8F, -2F); - Shape19.setTextureSize(64, 32); - Shape19.mirror = true; - setRotation(Shape19, 0F, 0F, 0F); - Shape20 = new ModelRenderer(this, 16, 9); - Shape20.addBox(0F, 0F, 0F, 6, 1, 4); - Shape20.setRotationPoint(7F, 4F, -2F); - Shape20.setTextureSize(64, 32); - Shape20.mirror = true; - setRotation(Shape20, 0F, 0F, 0F); - Shape21 = new ModelRenderer(this, 8, 12); - Shape21.addBox(0F, 0F, 0F, 2, 1, 1); - Shape21.setRotationPoint(11F, 0F, 0F); - Shape21.setTextureSize(64, 32); - Shape21.mirror = true; - setRotation(Shape21, 0F, 0F, 0F); - Shape22 = new ModelRenderer(this, 8, 14); - Shape22.addBox(0F, 0F, 0F, 2, 1, 2); - Shape22.setRotationPoint(11F, -1F, 0F); - Shape22.setTextureSize(64, 32); - Shape22.mirror = true; - setRotation(Shape22, -0.3490659F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape8.render(f5); - Shape9.render(f5); - Shape10.render(f5); - Shape11.render(f5); - Shape12.render(f5); - Shape13.render(f5); - Shape14.render(f5); - Shape15.render(f5); - Shape16.render(f5); - Shape17.render(f5); - Shape18.render(f5); - Shape19.render(f5); - Shape20.render(f5); - Shape21.render(f5); - Shape22.render(f5); - } - - public void renderAll(float f5) { - Shape8.render(f5); - Shape9.render(f5); - Shape10.render(f5); - Shape11.render(f5); - Shape12.render(f5); - Shape13.render(f5); - Shape14.render(f5); - Shape15.render(f5); - Shape16.render(f5); - Shape17.render(f5); - Shape18.render(f5); - Shape19.render(f5); - Shape20.render(f5); - Shape21.render(f5); - Shape22.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelChopperMine.java b/src/main/java/com/hbm/render/model/ModelChopperMine.java index dc9127c8e..774c04356 100644 --- a/src/main/java/com/hbm/render/model/ModelChopperMine.java +++ b/src/main/java/com/hbm/render/model/ModelChopperMine.java @@ -9,37 +9,32 @@ public class ModelChopperMine extends ModelBase { ModelRenderer bullet; public ModelChopperMine() { - textureWidth = 32; - textureHeight = 16; + this.textureWidth = 32; + this.textureHeight = 16; - bullet = new ModelRenderer(this, 0, 0); - bullet.addBox(0F, 0F, 0F, 8, 8, 8); - bullet.setRotationPoint(-4F, -4F, -4F); - bullet.setTextureSize(32, 16); - bullet.mirror = true; - setRotation(bullet, 0F, 0F, 0F); + this.bullet = new ModelRenderer(this, 0, 0); + this.bullet.addBox(0F, 0F, 0F, 8, 8, 8); + this.bullet.setRotationPoint(-4F, -4F, -4F); + this.bullet.setTextureSize(32, 16); + this.bullet.mirror = true; + setRotation(this.bullet, 0F, 0F, 0F); } @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - bullet.render(f5); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.renderAll(scaleFactor); } - private void setRotation(ModelRenderer model, float x, float y, float z) { + public void renderAll(float scaleFactor) { + + this.bullet.render(scaleFactor); + } + + private static void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - - public void renderAll(float f5) { - bullet.render(f5); - } - -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/render/model/ModelCloak.java b/src/main/java/com/hbm/render/model/ModelCloak.java index 2a86abbc4..1cd647d66 100644 --- a/src/main/java/com/hbm/render/model/ModelCloak.java +++ b/src/main/java/com/hbm/render/model/ModelCloak.java @@ -9,33 +9,32 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.MathHelper; public class ModelCloak extends ModelBiped { + public ModelCloak() { - textureWidth = 64; - textureHeight = 32; + this.textureWidth = 64; + this.textureHeight = 32; } @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { + public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entity) { + EntityPlayer player = (EntityPlayer) entity; - if(player.isSneaking()) { - this.isSneak = true; - } else { - this.isSneak = false; - } - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + this.isSneak = player.isSneaking(); + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - if(par1Entity instanceof AbstractClientPlayer) { - AbstractClientPlayer player = (AbstractClientPlayer) par1Entity; + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + if(entity instanceof AbstractClientPlayer) { + AbstractClientPlayer player = (AbstractClientPlayer) entity; GL11.glPushMatrix(); GL11.glTranslatef(0.0F, 0.0F, 0.125F); - double d3 = player.field_71091_bM + (player.field_71094_bP - player.field_71091_bM) * par7 - (player.prevPosX + (player.posX - player.prevPosX) * par7); - double d4 = player.field_71096_bN + (player.field_71095_bQ - player.field_71096_bN) * par7 - (player.prevPosY + (player.posY - player.prevPosY) * par7); - double d0 = player.field_71097_bO + (player.field_71085_bR - player.field_71097_bO) * par7 - (player.prevPosZ + (player.posZ - player.prevPosZ) * par7); - float f4 = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * par7; + double d3 = player.field_71091_bM + (player.field_71094_bP - player.field_71091_bM) * scaleFactor - (player.prevPosX + (player.posX - player.prevPosX) * scaleFactor); + double d4 = player.field_71096_bN + (player.field_71095_bQ - player.field_71096_bN) * scaleFactor - (player.prevPosY + (player.posY - player.prevPosY) * scaleFactor); + double d0 = player.field_71097_bO + (player.field_71085_bR - player.field_71097_bO) * scaleFactor - (player.prevPosZ + (player.posZ - player.prevPosZ) * scaleFactor); + float f4 = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * scaleFactor; double d1 = MathHelper.sin(f4 * (float) Math.PI / 180.0F); double d2 = (-MathHelper.cos(f4 * (float) Math.PI / 180.0F)); float f5 = (float) d4 * 10.0F; @@ -55,8 +54,8 @@ public class ModelCloak extends ModelBiped { f6 = 0.0F; } - float f8 = player.prevCameraYaw + (player.cameraYaw - player.prevCameraYaw) * par7; - f5 += MathHelper.sin((player.prevDistanceWalkedModified + (player.distanceWalkedModified - player.prevDistanceWalkedModified) * par7) * 6.0F) * 32.0F * f8; + float f8 = player.prevCameraYaw + (player.cameraYaw - player.prevCameraYaw) * scaleFactor; + f5 += MathHelper.sin((player.prevDistanceWalkedModified + (player.distanceWalkedModified - player.prevDistanceWalkedModified) * scaleFactor) * 6.0F) * 32.0F * f8; if(player.isSneaking()) { f5 += 25.0F; @@ -66,7 +65,7 @@ public class ModelCloak extends ModelBiped { GL11.glRotatef(f7 / 2.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(-f7 / 2.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F); - this.bipedCloak.render(par7); + this.bipedCloak.render(scaleFactor); GL11.glPopMatrix(); } } diff --git a/src/main/java/com/hbm/render/model/ModelCrab.java b/src/main/java/com/hbm/render/model/ModelCrab.java index dd460d7ab..52c4be226 100755 --- a/src/main/java/com/hbm/render/model/ModelCrab.java +++ b/src/main/java/com/hbm/render/model/ModelCrab.java @@ -17,152 +17,133 @@ import net.minecraft.entity.Entity; import net.minecraft.util.MathHelper; public class ModelCrab extends ModelBase { - int textureX = 64; - int textureY = 32; - public ModelRenderer modelcrabModel[]; + public ModelRenderer[] crabModel; public ModelCrab() { - this.textureWidth = this.textureX; - this.textureHeight = this.textureY; - modelcrabModel = new ModelRenderer[20]; - modelcrabModel[0] = new ModelRenderer(this, 1, 1); // Box 1 - modelcrabModel[1] = new ModelRenderer(this, 17, 1); // Box 2 - modelcrabModel[2] = new ModelRenderer(this, 33, 1); // Box 3 - modelcrabModel[3] = new ModelRenderer(this, 49, 1); // Box 4 - modelcrabModel[4] = new ModelRenderer(this, 1, 9); // Box 5 - modelcrabModel[5] = new ModelRenderer(this, 25, 9); // Box 6 - modelcrabModel[6] = new ModelRenderer(this, 41, 9); // Box 7 - modelcrabModel[7] = new ModelRenderer(this, 1, 17); // Box 8 - modelcrabModel[8] = new ModelRenderer(this, 17, 17); // Box 9 - modelcrabModel[9] = new ModelRenderer(this, 57, 9); // Box 10 - modelcrabModel[10] = new ModelRenderer(this, 33, 17); // Box 11 - modelcrabModel[11] = new ModelRenderer(this, 41, 17); // Box 12 - modelcrabModel[12] = new ModelRenderer(this, 49, 17); // Box 13 - modelcrabModel[13] = new ModelRenderer(this, 17, 1); // Box 14 - modelcrabModel[14] = new ModelRenderer(this, 33, 9); // Box 15 - modelcrabModel[15] = new ModelRenderer(this, 49, 9); // Box 16 - modelcrabModel[16] = new ModelRenderer(this, 9, 17); // Box 17 - modelcrabModel[17] = new ModelRenderer(this, 1, 25); // Box 18 - modelcrabModel[18] = new ModelRenderer(this, 17, 25); // Box 19 - modelcrabModel[19] = new ModelRenderer(this, 33, 25); // Box 20 + this.textureWidth = 64; + this.textureHeight = 32; - modelcrabModel[0].addBox(0F, 0F, 0F, 4, 1, 4, 0F); // Box 1 - modelcrabModel[0].setRotationPoint(-2F, -3F, -2F); + this.crabModel = new ModelRenderer[20]; + this.crabModel[0] = new ModelRenderer(this, 1, 1); // Box 1 + this.crabModel[1] = new ModelRenderer(this, 17, 1); // Box 2 + this.crabModel[2] = new ModelRenderer(this, 33, 1); // Box 3 + this.crabModel[3] = new ModelRenderer(this, 49, 1); // Box 4 + this.crabModel[4] = new ModelRenderer(this, 1, 9); // Box 5 + this.crabModel[5] = new ModelRenderer(this, 25, 9); // Box 6 + this.crabModel[6] = new ModelRenderer(this, 41, 9); // Box 7 + this.crabModel[7] = new ModelRenderer(this, 1, 17); // Box 8 + this.crabModel[8] = new ModelRenderer(this, 17, 17); // Box 9 + this.crabModel[9] = new ModelRenderer(this, 57, 9); // Box 10 + this.crabModel[10] = new ModelRenderer(this, 33, 17); // Box 11 + this.crabModel[11] = new ModelRenderer(this, 41, 17); // Box 12 + this.crabModel[12] = new ModelRenderer(this, 49, 17); // Box 13 + this.crabModel[13] = new ModelRenderer(this, 17, 1); // Box 14 + this.crabModel[14] = new ModelRenderer(this, 33, 9); // Box 15 + this.crabModel[15] = new ModelRenderer(this, 49, 9); // Box 16 + this.crabModel[16] = new ModelRenderer(this, 9, 17); // Box 17 + this.crabModel[17] = new ModelRenderer(this, 1, 25); // Box 18 + this.crabModel[18] = new ModelRenderer(this, 17, 25); // Box 19 + this.crabModel[19] = new ModelRenderer(this, 33, 25); // Box 20 - modelcrabModel[1].addBox(0F, 0F, 0F, 4, 1, 6, 0F); // Box 2 - modelcrabModel[1].setRotationPoint(-2F, -4F, -3F); + this.crabModel[0].addBox(0F, 0F, 0F, 4, 1, 4, 0F); // Box 1 + this.crabModel[0].setRotationPoint(-2F, -3F, -2F); - modelcrabModel[2].addBox(0F, 0F, 0F, 3, 1, 3, 0F); // Box 3 - modelcrabModel[2].setRotationPoint(-1.5F, -5F, -1.5F); + this.crabModel[1].addBox(0F, 0F, 0F, 4, 1, 6, 0F); // Box 2 + this.crabModel[1].setRotationPoint(-2F, -4F, -3F); - modelcrabModel[3].addBox(0F, 0F, 0F, 4, 1, 2, 0F); // Box 4 - modelcrabModel[3].setRotationPoint(-2F, -4.5F, -1F); + this.crabModel[2].addBox(0F, 0F, 0F, 3, 1, 3, 0F); // Box 3 + this.crabModel[2].setRotationPoint(-1.5F, -5F, -1.5F); - modelcrabModel[4].addBox(0F, 0F, 0F, 6, 1, 4, 0F); // Box 5 - modelcrabModel[4].setRotationPoint(-3F, -4F, -2F); + this.crabModel[3].addBox(0F, 0F, 0F, 4, 1, 2, 0F); // Box 4 + this.crabModel[3].setRotationPoint(-2F, -4.5F, -1F); - modelcrabModel[5].addBox(-0.5F, 0F, 2F, 1, 1, 3, 0F); // Leg 6 - modelcrabModel[5].setRotationPoint(0F, -3F, 0F); - modelcrabModel[5].rotateAngleX = -0.17453293F; - modelcrabModel[5].rotateAngleY = 0.78539816F; - modelcrabModel[10].addBox(-0.5F, 1F, 4F, 1, 3, 1, 0F); // Foot 11 - modelcrabModel[10].setRotationPoint(0F, -3F, 0F); - modelcrabModel[10].rotateAngleX = 0.17453293F; - modelcrabModel[10].rotateAngleY = 0.78539816F; + this.crabModel[4].addBox(0F, 0F, 0F, 6, 1, 4, 0F); // Box 5 + this.crabModel[4].setRotationPoint(-3F, -4F, -2F); - modelcrabModel[6].addBox(-0.5F, 0F, 2F, 1, 1, 3, 0F); // Leg 7 - modelcrabModel[6].setRotationPoint(0F, -3F, 0F); - modelcrabModel[6].rotateAngleX = -0.17453293F; - modelcrabModel[6].rotateAngleY = -0.78539816F; - modelcrabModel[9].addBox(-0.5F, 1F, 4F, 1, 3, 1, 0F); // Foot 10 - modelcrabModel[9].setRotationPoint(0F, -3F, 0F); - modelcrabModel[9].rotateAngleX = 0.17453293F; - modelcrabModel[9].rotateAngleY = -0.78539816F; + this.crabModel[5].addBox(-0.5F, 0F, 2F, 1, 1, 3, 0F); // Leg 6 + this.crabModel[5].setRotationPoint(0F, -3F, 0F); + this.crabModel[5].rotateAngleX = -0.17453293F; + this.crabModel[5].rotateAngleY = 0.78539816F; + this.crabModel[10].addBox(-0.5F, 1F, 4F, 1, 3, 1, 0F); // Foot 11 + this.crabModel[10].setRotationPoint(0F, -3F, 0F); + this.crabModel[10].rotateAngleX = 0.17453293F; + this.crabModel[10].rotateAngleY = 0.78539816F; - modelcrabModel[7].addBox(-0.5F, 0F, 2F, 1, 1, 3, 0F); // Leg 8 - modelcrabModel[7].setRotationPoint(0F, -3F, 0F); - modelcrabModel[7].rotateAngleX = -0.17453293F; - modelcrabModel[7].rotateAngleY = -2.35619449F; - modelcrabModel[11].addBox(-0.5F, 1F, 4F, 1, 3, 1, 0F); // Foot 12 - modelcrabModel[11].setRotationPoint(0F, -3F, 0F); - modelcrabModel[11].rotateAngleX = 0.17453293F; - modelcrabModel[11].rotateAngleY = -2.35619449F; + this.crabModel[6].addBox(-0.5F, 0F, 2F, 1, 1, 3, 0F); // Leg 7 + this.crabModel[6].setRotationPoint(0F, -3F, 0F); + this.crabModel[6].rotateAngleX = -0.17453293F; + this.crabModel[6].rotateAngleY = -0.78539816F; + this.crabModel[9].addBox(-0.5F, 1F, 4F, 1, 3, 1, 0F); // Foot 10 + this.crabModel[9].setRotationPoint(0F, -3F, 0F); + this.crabModel[9].rotateAngleX = 0.17453293F; + this.crabModel[9].rotateAngleY = -0.78539816F; - modelcrabModel[8].addBox(-0.5F, 0F, 2F, 1, 1, 3, 0F); // Leg 9 - modelcrabModel[8].setRotationPoint(0F, -3F, 0F); - modelcrabModel[8].rotateAngleX = -0.17453293F; - modelcrabModel[8].rotateAngleY = 2.35619449F; - modelcrabModel[12].addBox(-0.5F, 1F, 4F, 1, 3, 1, 0F); // Foot 13 - modelcrabModel[12].setRotationPoint(0F, -3F, 0F); - modelcrabModel[12].rotateAngleX = 0.17453293F; - modelcrabModel[12].rotateAngleY = 2.35619449F; + this.crabModel[7].addBox(-0.5F, 0F, 2F, 1, 1, 3, 0F); // Leg 8 + this.crabModel[7].setRotationPoint(0F, -3F, 0F); + this.crabModel[7].rotateAngleX = -0.17453293F; + this.crabModel[7].rotateAngleY = -2.35619449F; + this.crabModel[11].addBox(-0.5F, 1F, 4F, 1, 3, 1, 0F); // Foot 12 + this.crabModel[11].setRotationPoint(0F, -3F, 0F); + this.crabModel[11].rotateAngleX = 0.17453293F; + this.crabModel[11].rotateAngleY = -2.35619449F; - modelcrabModel[13].addBox(-0.5F, 0F, 1.5F, 1, 1, 1, 0F); // Fang 14 - modelcrabModel[13].setRotationPoint(0F, -3F, 0F); - modelcrabModel[13].rotateAngleX = -0.43633231F; - modelcrabModel[13].rotateAngleY = -0.6981317F; + this.crabModel[8].addBox(-0.5F, 0F, 2F, 1, 1, 3, 0F); // Leg 9 + this.crabModel[8].setRotationPoint(0F, -3F, 0F); + this.crabModel[8].rotateAngleX = -0.17453293F; + this.crabModel[8].rotateAngleY = 2.35619449F; + this.crabModel[12].addBox(-0.5F, 1F, 4F, 1, 3, 1, 0F); // Foot 13 + this.crabModel[12].setRotationPoint(0F, -3F, 0F); + this.crabModel[12].rotateAngleX = 0.17453293F; + this.crabModel[12].rotateAngleY = 2.35619449F; - modelcrabModel[14].addBox(-0.5F, 0F, 1.5F, 1, 1, 1, 0F); // Fang 15 - modelcrabModel[14].setRotationPoint(0F, -3F, 0F); - modelcrabModel[14].rotateAngleX = -0.43633231F; - modelcrabModel[14].rotateAngleY = 0.87266463F; + this.crabModel[13].addBox(-0.5F, 0F, 1.5F, 1, 1, 1, 0F); // Fang 14 + this.crabModel[13].setRotationPoint(0F, -3F, 0F); + this.crabModel[13].rotateAngleX = -0.43633231F; + this.crabModel[13].rotateAngleY = -0.6981317F; - modelcrabModel[15].addBox(-0.5F, 0F, 1.5F, 1, 1, 1, 0F); // Fang 16 - modelcrabModel[15].setRotationPoint(0F, -3F, 0F); - modelcrabModel[15].rotateAngleX = -0.43633231F; - modelcrabModel[15].rotateAngleY = -2.26892803F; + this.crabModel[14].addBox(-0.5F, 0F, 1.5F, 1, 1, 1, 0F); // Fang 15 + this.crabModel[14].setRotationPoint(0F, -3F, 0F); + this.crabModel[14].rotateAngleX = -0.43633231F; + this.crabModel[14].rotateAngleY = 0.87266463F; - modelcrabModel[16].addBox(-0.5F, 0F, 1.5F, 1, 1, 1, 0F); // Fang 17 - modelcrabModel[16].setRotationPoint(0F, -3F, 0F); - modelcrabModel[16].rotateAngleX = -0.43633231F; - modelcrabModel[16].rotateAngleY = 2.44346095F; + this.crabModel[15].addBox(-0.5F, 0F, 1.5F, 1, 1, 1, 0F); // Fang 16 + this.crabModel[15].setRotationPoint(0F, -3F, 0F); + this.crabModel[15].rotateAngleX = -0.43633231F; + this.crabModel[15].rotateAngleY = -2.26892803F; - modelcrabModel[17].addBox(0F, 0F, 0F, 2, 1, 4, 0F); // Box 18 - modelcrabModel[17].setRotationPoint(-1F, -4.5F, -2F); + this.crabModel[16].addBox(-0.5F, 0F, 1.5F, 1, 1, 1, 0F); // Fang 17 + this.crabModel[16].setRotationPoint(0F, -3F, 0F); + this.crabModel[16].rotateAngleX = -0.43633231F; + this.crabModel[16].rotateAngleY = 2.44346095F; - modelcrabModel[18].addBox(0F, 0F, 0F, 5, 1, 3, 0F); // Box 19 - modelcrabModel[18].setRotationPoint(-2.5F, -3.5F, -1.5F); + this.crabModel[17].addBox(0F, 0F, 0F, 2, 1, 4, 0F); // Box 18 + this.crabModel[17].setRotationPoint(-1F, -4.5F, -2F); - modelcrabModel[19].addBox(0F, 0F, 0F, 3, 1, 5, 0F); // Box 20 - modelcrabModel[19].setRotationPoint(-1.5F, -3.5F, -2.5F); + this.crabModel[18].addBox(0F, 0F, 0F, 5, 1, 3, 0F); // Box 19 + this.crabModel[18].setRotationPoint(-2.5F, -3.5F, -1.5F); + + this.crabModel[19].addBox(0F, 0F, 0F, 3, 1, 5, 0F); // Box 20 + this.crabModel[19].setRotationPoint(-1.5F, -3.5F, -2.5F); for (int i = 0; i < 20; i++) { - modelcrabModel[i].setTextureSize(textureX, textureY); - modelcrabModel[i].mirror = true; + this.crabModel[i].setTextureSize(this.textureWidth, this.textureHeight); + this.crabModel[i].mirror = true; } - } @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - renderAll(f5); - } + public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entity) { - public void renderAll(float f5) { - GL11.glPushMatrix(); - GL11.glTranslatef(0, 1.5F, 0); - GL11.glRotatef(-90, 0, 1, 0); - for (int i = 0; i < 20; i++) { - modelcrabModel[i].render(f5); - } - GL11.glPopMatrix(); - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - - modelcrabModel[10].rotateAngleY = 0.78539816F; - modelcrabModel[9].rotateAngleY = -0.78539816F; - modelcrabModel[11].rotateAngleY = -2.35619449F; - modelcrabModel[12].rotateAngleY = 2.35619449F; - modelcrabModel[5].rotateAngleY = modelcrabModel[10].rotateAngleY; - modelcrabModel[6].rotateAngleY = modelcrabModel[9].rotateAngleY; - modelcrabModel[7].rotateAngleY = modelcrabModel[11].rotateAngleY; - modelcrabModel[8].rotateAngleY = modelcrabModel[12].rotateAngleY; - float f9 = -(MathHelper.cos(f * 0.6662F * 2.0F + 0.0F) * 0.4F) * f1; + this.crabModel[10].rotateAngleY = 0.78539816F; + this.crabModel[9].rotateAngleY = -0.78539816F; + this.crabModel[11].rotateAngleY = -2.35619449F; + this.crabModel[12].rotateAngleY = 2.35619449F; + this.crabModel[5].rotateAngleY = this.crabModel[10].rotateAngleY; + this.crabModel[6].rotateAngleY = this.crabModel[9].rotateAngleY; + this.crabModel[7].rotateAngleY = this.crabModel[11].rotateAngleY; + this.crabModel[8].rotateAngleY = this.crabModel[12].rotateAngleY; + float f9 = (-(MathHelper.cos(limbSwing * 0.6662F * 2.0F + 0.0F) * 0.4F) * limbSwingAmount) * 1.5F; //float f10 = -(MathHelper.cos(f * 0.6662F * 2.0F + (float) Math.PI) * 0.4F) * f1; //float f11 = -(MathHelper.cos(f * 0.6662F * 2.0F + ((float) Math.PI / 2F)) * 0.4F) * f1; //float f12 = -(MathHelper.cos(f * 0.6662F * 2.0F + ((float) Math.PI * 3F / 2F)) * 0.4F) * f1; @@ -170,14 +151,30 @@ public class ModelCrab extends ModelBase { //float f14 = Math.abs(MathHelper.sin(f * 0.6662F + (float) Math.PI) * 0.4F) * f1; //float f15 = Math.abs(MathHelper.sin(f * 0.6662F + ((float) Math.PI / 2F)) * 0.4F) * f1; //float f16 = Math.abs(MathHelper.sin(f * 0.6662F + ((float) Math.PI * 3F / 2F)) * 0.4F) * f1; - f9 *= 1.5; - modelcrabModel[10].rotateAngleY += f9; - modelcrabModel[9].rotateAngleY -= f9; - modelcrabModel[11].rotateAngleY -= f9; - modelcrabModel[12].rotateAngleY += f9; - modelcrabModel[5].rotateAngleY = modelcrabModel[10].rotateAngleY; - modelcrabModel[6].rotateAngleY = modelcrabModel[9].rotateAngleY; - modelcrabModel[7].rotateAngleY = modelcrabModel[11].rotateAngleY; - modelcrabModel[8].rotateAngleY = modelcrabModel[12].rotateAngleY; + this.crabModel[10].rotateAngleY += f9; + this.crabModel[9].rotateAngleY -= f9; + this.crabModel[11].rotateAngleY -= f9; + this.crabModel[12].rotateAngleY += f9; + this.crabModel[5].rotateAngleY = this.crabModel[10].rotateAngleY; + this.crabModel[6].rotateAngleY = this.crabModel[9].rotateAngleY; + this.crabModel[7].rotateAngleY = this.crabModel[11].rotateAngleY; + this.crabModel[8].rotateAngleY = this.crabModel[12].rotateAngleY; } -} \ No newline at end of file + + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.renderAll(scaleFactor); + } + + public void renderAll(float scaleFactor) { + + GL11.glPushMatrix(); + GL11.glTranslatef(0, 1.5F, 0); + GL11.glRotatef(-90, 0, 1, 0); + for (int i = 0; i < 20; i++) { + this.crabModel[i].render(scaleFactor); + } + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/render/model/ModelCryolator.java b/src/main/java/com/hbm/render/model/ModelCryolator.java deleted file mode 100644 index e73a18fca..000000000 --- a/src/main/java/com/hbm/render/model/ModelCryolator.java +++ /dev/null @@ -1,417 +0,0 @@ -// Date: 26.11.2016 20:13:04 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelCryolator extends ModelBase { - // fields - ModelRenderer Body; - ModelRenderer Barrel1; - ModelRenderer Barrel2; - ModelRenderer BarrelBack; - ModelRenderer BarrelNozzle; - ModelRenderer TankF1; - ModelRenderer TankF2; - ModelRenderer TankF3; - ModelRenderer TankB1; - ModelRenderer TankB2; - ModelRenderer TankB3; - ModelRenderer Drum1; - ModelRenderer Drum2; - ModelRenderer BodyBACK; - ModelRenderer PipeLPlate; - ModelRenderer BodyBottom; - ModelRenderer Handle; - ModelRenderer Trigger; - ModelRenderer CoolingBlock; - ModelRenderer BodyCenter; - ModelRenderer PipeRPlate; - ModelRenderer StockTop; - ModelRenderer StockFront; - ModelRenderer StockBack; - ModelRenderer StockBottom; - ModelRenderer PipeLPlateB; - ModelRenderer PipeRPlateB; - ModelRenderer StockConnector; - ModelRenderer PipeTL; - ModelRenderer PipeBL; - ModelRenderer PipeTR; - ModelRenderer PipeBR; - ModelRenderer PipeL; - ModelRenderer PipiR; - ModelRenderer ConnectorFront; - ModelRenderer ConnectorBFront; - ModelRenderer ConnectorBBack; - ModelRenderer Connector; - ModelRenderer ConnectorStrut; - ModelRenderer PipeLarge; - ModelRenderer PipeLargeBack; - ModelRenderer PipiLargeConnector; - ModelRenderer PlateFront; - ModelRenderer ScaffoldFront; - ModelRenderer ScaffoldBottom; - ModelRenderer ScaffoldBack; - - public ModelCryolator() { - textureWidth = 128; - textureHeight = 64; - - Body = new ModelRenderer(this, 0, 6); - Body.addBox(0F, 0F, 0F, 15, 2, 3); - Body.setRotationPoint(-12F, 0F, -1.5F); - Body.setTextureSize(128, 64); - Body.mirror = true; - setRotation(Body, 0F, 0F, 0F); - Barrel1 = new ModelRenderer(this, 0, 57); - Barrel1.addBox(0F, 0F, 0F, 2, 4, 3); - Barrel1.setRotationPoint(-15F, 0F, -1.5F); - Barrel1.setTextureSize(128, 64); - Barrel1.mirror = true; - setRotation(Barrel1, 0F, 0F, 0F); - Barrel2 = new ModelRenderer(this, 10, 57); - Barrel2.addBox(0F, 0F, 0F, 2, 3, 4); - Barrel2.setRotationPoint(-15F, 0.5F, -2F); - Barrel2.setTextureSize(128, 64); - Barrel2.mirror = true; - setRotation(Barrel2, 0F, 0F, 0F); - BarrelBack = new ModelRenderer(this, 0, 51); - BarrelBack.addBox(0F, 0F, 0F, 1, 3, 3); - BarrelBack.setRotationPoint(-13F, 0.5F, -1.5F); - BarrelBack.setTextureSize(128, 64); - BarrelBack.mirror = true; - setRotation(BarrelBack, 0F, 0F, 0F); - BarrelNozzle = new ModelRenderer(this, 0, 49); - BarrelNozzle.addBox(0F, 0F, 0F, 1, 1, 1); - BarrelNozzle.setRotationPoint(-15.5F, 0.5F, -0.5F); - BarrelNozzle.setTextureSize(128, 64); - BarrelNozzle.mirror = true; - setRotation(BarrelNozzle, 0F, 0F, 0F); - TankF1 = new ModelRenderer(this, 22, 55); - TankF1.addBox(0F, 0F, 0F, 4, 5, 4); - TankF1.setRotationPoint(-10.5F, 2F, -2F); - TankF1.setTextureSize(128, 64); - TankF1.mirror = true; - setRotation(TankF1, 0F, 0F, 0F); - TankF2 = new ModelRenderer(this, 38, 56); - TankF2.addBox(0F, 0F, 0F, 6, 4, 4); - TankF2.setRotationPoint(-11.5F, 2.5F, -2F); - TankF2.setTextureSize(128, 64); - TankF2.mirror = true; - setRotation(TankF2, 0F, 0F, 0F); - TankF3 = new ModelRenderer(this, 58, 55); - TankF3.addBox(0F, 0F, 0F, 4, 4, 5); - TankF3.setRotationPoint(-10.5F, 2.5F, -2.5F); - TankF3.setTextureSize(128, 64); - TankF3.mirror = true; - setRotation(TankF3, 0F, 0F, 0F); - TankB1 = new ModelRenderer(this, 8, 52); - TankB1.addBox(0F, 0F, 0F, 4, 2, 3); - TankB1.setRotationPoint(-5F, 3F, -1.5F); - TankB1.setTextureSize(128, 64); - TankB1.mirror = true; - setRotation(TankB1, 0F, 0F, 0F); - TankB2 = new ModelRenderer(this, 0, 42); - TankB2.addBox(0F, 0F, 0F, 2, 4, 3); - TankB2.setRotationPoint(-4F, 2F, -1.5F); - TankB2.setTextureSize(128, 64); - TankB2.mirror = true; - setRotation(TankB2, 0F, 0F, 0F); - TankB3 = new ModelRenderer(this, 0, 36); - TankB3.addBox(0F, 0F, 0F, 2, 2, 4); - TankB3.setRotationPoint(-4F, 3F, -2F); - TankB3.setTextureSize(128, 64); - TankB3.mirror = true; - setRotation(TankB3, 0F, 0F, 0F); - Drum1 = new ModelRenderer(this, 38, 49); - Drum1.addBox(0F, 0F, 0F, 6, 4, 3); - Drum1.setRotationPoint(-2F, 6F, -4F); - Drum1.setTextureSize(128, 64); - Drum1.mirror = true; - setRotation(Drum1, 0F, 0F, 0F); - Drum2 = new ModelRenderer(this, 24, 46); - Drum2.addBox(0F, 0F, 0F, 4, 6, 3); - Drum2.setRotationPoint(-1F, 5F, -4F); - Drum2.setTextureSize(128, 64); - Drum2.mirror = true; - setRotation(Drum2, 0F, 0F, 0F); - BodyBACK = new ModelRenderer(this, 38, 44); - BodyBACK.addBox(0F, 0F, 0F, 7, 2, 3); - BodyBACK.setRotationPoint(3F, 0F, -1.5F); - BodyBACK.setTextureSize(128, 64); - BodyBACK.mirror = true; - setRotation(BodyBACK, 0F, 0F, 0.2617994F); - PipeLPlate = new ModelRenderer(this, 10, 46); - PipeLPlate.addBox(0F, 0F, 0F, 2, 4, 2); - PipeLPlate.setRotationPoint(-1F, 1F, -3F); - PipeLPlate.setTextureSize(128, 64); - PipeLPlate.mirror = true; - setRotation(PipeLPlate, 0F, 0F, 0F); - BodyBottom = new ModelRenderer(this, 26, 41); - BodyBottom.addBox(0F, 0F, 0F, 4, 3, 2); - BodyBottom.setRotationPoint(3F, 2F, -1F); - BodyBottom.setTextureSize(128, 64); - BodyBottom.mirror = true; - setRotation(BodyBottom, 0F, 0F, 0F); - Handle = new ModelRenderer(this, 0, 29); - Handle.addBox(0F, 0F, 0F, 2, 5, 2); - Handle.setRotationPoint(5F, 5F, -1F); - Handle.setTextureSize(128, 64); - Handle.mirror = true; - setRotation(Handle, 0F, 0F, -0.2617994F); - Trigger = new ModelRenderer(this, 10, 43); - Trigger.addBox(0F, 0F, 0F, 3, 2, 1); - Trigger.setRotationPoint(3F, 5F, -0.5F); - Trigger.setTextureSize(128, 64); - Trigger.mirror = true; - setRotation(Trigger, 0F, 0F, 0F); - CoolingBlock = new ModelRenderer(this, 58, 46); - CoolingBlock.addBox(0F, 0F, 0F, 3, 6, 3); - CoolingBlock.setRotationPoint(-1F, 6F, 0.5F); - CoolingBlock.setTextureSize(128, 64); - CoolingBlock.mirror = true; - setRotation(CoolingBlock, 0F, 0F, 0.2617994F); - BodyCenter = new ModelRenderer(this, 12, 33); - BodyCenter.addBox(0F, 0F, 0F, 3, 8, 2); - BodyCenter.setRotationPoint(-0.5F, 2F, -1F); - BodyCenter.setTextureSize(128, 64); - BodyCenter.mirror = true; - setRotation(BodyCenter, 0F, 0F, 0F); - PipeRPlate = new ModelRenderer(this, 0, 21); - PipeRPlate.addBox(0F, 0F, 0F, 2, 6, 2); - PipeRPlate.setRotationPoint(-1F, 1F, 1F); - PipeRPlate.setTextureSize(128, 64); - PipeRPlate.mirror = true; - setRotation(PipeRPlate, 0F, 0F, 0F); - StockTop = new ModelRenderer(this, 38, 39); - StockTop.addBox(0F, 0F, 0F, 6, 2, 3); - StockTop.setRotationPoint(9F, 1.8F, -1.5F); - StockTop.setTextureSize(128, 64); - StockTop.mirror = true; - setRotation(StockTop, 0F, 0F, 0F); - StockFront = new ModelRenderer(this, 30, 34); - StockFront.addBox(0F, 0F, 0F, 2, 5, 2); - StockFront.setRotationPoint(10F, 3F, -1F); - StockFront.setTextureSize(128, 64); - StockFront.mirror = true; - setRotation(StockFront, 0F, 0F, 0F); - StockBack = new ModelRenderer(this, 38, 32); - StockBack.addBox(0F, 0F, 0F, 2, 5, 2); - StockBack.setRotationPoint(13F, 3F, -1F); - StockBack.setTextureSize(128, 64); - StockBack.mirror = true; - setRotation(StockBack, 0F, 0F, 0F); - StockBottom = new ModelRenderer(this, 46, 35); - StockBottom.addBox(0F, 0F, 0F, 1, 2, 2); - StockBottom.setRotationPoint(12F, 6F, -1F); - StockBottom.setTextureSize(128, 64); - StockBottom.mirror = true; - setRotation(StockBottom, 0F, 0F, 0F); - PipeLPlateB = new ModelRenderer(this, 8, 28); - PipeLPlateB.addBox(0F, 0F, 0F, 3, 3, 2); - PipeLPlateB.setRotationPoint(4F, 2F, -3F); - PipeLPlateB.setTextureSize(128, 64); - PipeLPlateB.mirror = true; - setRotation(PipeLPlateB, 0F, 0F, 0F); - PipeRPlateB = new ModelRenderer(this, 8, 23); - PipeRPlateB.addBox(0F, 0F, 0F, 3, 3, 2); - PipeRPlateB.setRotationPoint(4F, 2F, 1F); - PipeRPlateB.setTextureSize(128, 64); - PipeRPlateB.mirror = true; - setRotation(PipeRPlateB, 0F, 0F, 0F); - StockConnector = new ModelRenderer(this, 22, 30); - StockConnector.addBox(0F, -1F, 0F, 5, 1, 3); - StockConnector.setRotationPoint(6F, 5F, -1.5F); - StockConnector.setTextureSize(128, 64); - StockConnector.mirror = true; - setRotation(StockConnector, 0F, 0F, 0.3490659F); - PipeTL = new ModelRenderer(this, 58, 44); - PipeTL.addBox(0F, 0F, 0F, 12, 1, 1); - PipeTL.setRotationPoint(-3F, 2.3F, -2.5F); - PipeTL.setTextureSize(128, 64); - PipeTL.mirror = true; - setRotation(PipeTL, 0F, 0F, 0F); - PipeBL = new ModelRenderer(this, 56, 40); - PipeBL.addBox(0F, 0F, 0F, 10, 1, 1); - PipeBL.setRotationPoint(-1F, 3.7F, -2.5F); - PipeBL.setTextureSize(128, 64); - PipeBL.mirror = true; - setRotation(PipeBL, 0F, 0F, 0F); - PipeTR = new ModelRenderer(this, 56, 42); - PipeTR.addBox(0F, 0F, 0F, 12, 1, 1); - PipeTR.setRotationPoint(-3F, 2.3F, 1.5F); - PipeTR.setTextureSize(128, 64); - PipeTR.mirror = true; - setRotation(PipeTR, 0F, 0F, 0F); - PipeBR = new ModelRenderer(this, 56, 38); - PipeBR.addBox(0F, 0F, 0F, 10, 1, 1); - PipeBR.setRotationPoint(-1F, 3.7F, 1.5F); - PipeBR.setTextureSize(128, 64); - PipeBR.mirror = true; - setRotation(PipeBR, 0F, 0F, 0F); - PipeL = new ModelRenderer(this, 52, 36); - PipeL.addBox(0F, 0F, 0F, 11, 1, 1); - PipeL.setRotationPoint(-13F, 1.5F, -2.5F); - PipeL.setTextureSize(128, 64); - PipeL.mirror = true; - setRotation(PipeL, 0F, 0F, 0F); - PipiR = new ModelRenderer(this, 52, 34); - PipiR.addBox(0F, 0F, 0F, 11, 1, 1); - PipiR.setRotationPoint(-13F, 1.5F, 1.5F); - PipiR.setTextureSize(128, 64); - PipiR.mirror = true; - setRotation(PipiR, 0F, 0F, 0F); - ConnectorFront = new ModelRenderer(this, 0, 17); - ConnectorFront.addBox(0F, 0F, 0F, 3, 3, 1); - ConnectorFront.setRotationPoint(-14.5F, 4F, -0.5F); - ConnectorFront.setTextureSize(128, 64); - ConnectorFront.mirror = true; - setRotation(ConnectorFront, 0F, 0F, 0F); - ConnectorBFront = new ModelRenderer(this, 8, 18); - ConnectorBFront.addBox(0F, 0F, -1F, 1, 4, 1); - ConnectorBFront.setRotationPoint(-14F, 6F, 0.5F); - ConnectorBFront.setTextureSize(128, 64); - ConnectorBFront.mirror = true; - setRotation(ConnectorBFront, -0.7853982F, 0F, 0F); - ConnectorBBack = new ModelRenderer(this, 12, 18); - ConnectorBBack.addBox(0F, 0F, -1F, 1, 4, 1); - ConnectorBBack.setRotationPoint(-3F, 6F, 0.5F); - ConnectorBBack.setTextureSize(128, 64); - ConnectorBBack.mirror = true; - setRotation(ConnectorBBack, -0.7853982F, 0F, 0F); - Connector = new ModelRenderer(this, 18, 26); - Connector.addBox(0F, 3.5F, -1.5F, 12, 2, 2); - Connector.setRotationPoint(-14F, 6F, 0.5F); - Connector.setTextureSize(128, 64); - Connector.mirror = true; - setRotation(Connector, -0.7853982F, 0F, 0F); - ConnectorStrut = new ModelRenderer(this, 18, 24); - ConnectorStrut.addBox(0F, 2F, -1F, 10, 1, 1); - ConnectorStrut.setRotationPoint(-13F, 6F, 0.5F); - ConnectorStrut.setTextureSize(128, 64); - ConnectorStrut.mirror = true; - setRotation(ConnectorStrut, -0.7853982F, 0F, 0F); - PipeLarge = new ModelRenderer(this, 46, 30); - PipeLarge.addBox(0F, 0F, 0F, 8, 2, 2); - PipeLarge.setRotationPoint(-9.5F, 7F, -1F); - PipeLarge.setTextureSize(128, 64); - PipeLarge.mirror = true; - setRotation(PipeLarge, 0F, 0F, 0F); - PipeLargeBack = new ModelRenderer(this, 46, 22); - PipeLargeBack.addBox(0F, 0F, 0F, 2, 7, 1); - PipeLargeBack.setRotationPoint(-4F, 2F, 2F); - PipeLargeBack.setTextureSize(128, 64); - PipeLargeBack.mirror = true; - setRotation(PipeLargeBack, 0F, 0F, 0F); - PipiLargeConnector = new ModelRenderer(this, 40, 23); - PipiLargeConnector.addBox(0F, 0F, 0F, 2, 2, 1); - PipiLargeConnector.setRotationPoint(-4F, 7F, 1F); - PipiLargeConnector.setTextureSize(128, 64); - PipiLargeConnector.mirror = true; - setRotation(PipiLargeConnector, 0F, 0F, 0F); - PlateFront = new ModelRenderer(this, 20, 15); - PlateFront.addBox(0F, 0F, 0F, 1, 4, 5); - PlateFront.setRotationPoint(-13F, 1.5F, -2.5F); - PlateFront.setTextureSize(128, 64); - PlateFront.mirror = true; - setRotation(PlateFront, 0F, 0F, 0.6108652F); - ScaffoldFront = new ModelRenderer(this, 0, 13); - ScaffoldFront.addBox(0F, 0F, 0F, 1, 1, 3); - ScaffoldFront.setRotationPoint(-13F, 7F, -0.5F); - ScaffoldFront.setTextureSize(128, 64); - ScaffoldFront.mirror = true; - setRotation(ScaffoldFront, 0F, 0F, 0F); - ScaffoldBottom = new ModelRenderer(this, 0, 11); - ScaffoldBottom.addBox(0F, 0F, 0F, 8, 1, 1); - ScaffoldBottom.setRotationPoint(-12F, 7F, 1.5F); - ScaffoldBottom.setTextureSize(128, 64); - ScaffoldBottom.mirror = true; - setRotation(ScaffoldBottom, 0F, 0F, 0F); - ScaffoldBack = new ModelRenderer(this, 32, 18); - ScaffoldBack.addBox(0F, 0F, 0F, 1, 5, 1); - ScaffoldBack.setRotationPoint(-5F, 2.5F, 1.5F); - ScaffoldBack.setTextureSize(128, 64); - ScaffoldBack.mirror = true; - setRotation(ScaffoldBack, 0F, 0F, 0F); - } - - @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Body.render(f5); - Barrel1.render(f5); - Barrel2.render(f5); - BarrelBack.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - BarrelNozzle.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - TankF1.render(f5); - TankF2.render(f5); - TankF3.render(f5); - TankB1.render(f5); - TankB2.render(f5); - TankB3.render(f5); - Drum1.render(f5); - Drum2.render(f5); - BodyBACK.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - PipeLPlate.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - BodyBottom.render(f5); - Handle.render(f5); - Trigger.render(f5); - CoolingBlock.render(f5); - BodyCenter.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - PipeRPlate.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - StockTop.render(f5); - StockFront.render(f5); - StockBack.render(f5); - StockBottom.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - PipeLPlateB.render(f5); - PipeRPlateB.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - StockConnector.render(f5); - PipeTL.render(f5); - PipeBL.render(f5); - PipeTR.render(f5); - PipeBR.render(f5); - PipeL.render(f5); - PipiR.render(f5); - ConnectorFront.render(f5); - ConnectorBFront.render(f5); - ConnectorBBack.render(f5); - Connector.render(f5); - ConnectorStrut.render(f5); - PipeLarge.render(f5); - PipeLargeBack.render(f5); - PipiLargeConnector.render(f5); - PlateFront.render(f5); - ScaffoldFront.render(f5); - ScaffoldBottom.render(f5); - ScaffoldBack.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelDash.java b/src/main/java/com/hbm/render/model/ModelDash.java deleted file mode 100755 index 24f56ecc2..000000000 --- a/src/main/java/com/hbm/render/model/ModelDash.java +++ /dev/null @@ -1,122 +0,0 @@ -//This File was created with the Minecraft-SMP Modelling Toolbox 2.3.0.0 -// Copyright (C) 2017 Minecraft-SMP.de -// This file is for Flan's Flying Mod Version 4.0.x+ - -// Model: ModelDash -// Model Creator: -// Created on: 01.11.2017 - 20:07:57 -// Last changed on: 01.11.2017 - 20:07:57 - -package com.hbm.render.model; //Path where the model is located - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelDash extends ModelBase //Same as Filename -{ - int textureX = 64; - int textureY = 64; - ModelRenderer[] bodyModel; - - public ModelDash() //Same as Filename - { - textureWidth = 64; - textureHeight = 64; - bodyModel = new ModelRenderer[16]; - bodyModel[0] = new ModelRenderer(this, 1, 1); // Box 0 - bodyModel[1] = new ModelRenderer(this, 25, 1); // Box 1 - bodyModel[2] = new ModelRenderer(this, 1, 9); // Box 2 - bodyModel[3] = new ModelRenderer(this, 33, 9); // Box 3 - bodyModel[4] = new ModelRenderer(this, 57, 1); // Box 4 - bodyModel[5] = new ModelRenderer(this, 1, 17); // Box 5 - bodyModel[6] = new ModelRenderer(this, 9, 17); // Box 6 - bodyModel[7] = new ModelRenderer(this, 17, 17); // Box 7 - bodyModel[8] = new ModelRenderer(this, 41, 17); // Box 8 - bodyModel[9] = new ModelRenderer(this, 1, 25); // Box 9 - bodyModel[10] = new ModelRenderer(this, 17, 25); // Box 10 - bodyModel[11] = new ModelRenderer(this, 41, 25); // Box 11 - bodyModel[12] = new ModelRenderer(this, 49, 25); // Box 12 - bodyModel[13] = new ModelRenderer(this, 1, 33); // Box 13 - bodyModel[14] = new ModelRenderer(this, 17, 33); // Box 14 - bodyModel[15] = new ModelRenderer(this, 25, 33); // Box 16 - - bodyModel[0].addBox(0F, 0F, 0F, 7, 3, 3, 0F); // Box 0 - bodyModel[0].setRotationPoint(0F, 0F, -1.5F); - - bodyModel[1].addBox(0F, 0F, -1F, 12, 3, 2, 0F); // Box 1 - bodyModel[1].setRotationPoint(-12F, 1F, 0F); - - bodyModel[2].addBox(0F, 0F, -1F, 12, 3, 2, 0F); // Box 2 - bodyModel[2].setRotationPoint(-12F, 1F, 0F); - bodyModel[2].rotateAngleX = 2.0943951F; - - bodyModel[3].addBox(0F, 0F, -1F, 12, 3, 2, 0F); // Box 3 - bodyModel[3].setRotationPoint(-12F, 1F, 0F); - bodyModel[3].rotateAngleX = -2.0943951F; - - bodyModel[4].addBox(0F, 1.5F, -0.5F, 1, 1, 1, 0F); // Box 4 - bodyModel[4].setRotationPoint(-12.5F, 1F, 0F); - - bodyModel[5].addBox(0F, 1.5F, -0.5F, 1, 1, 1, 0F); // Box 5 - bodyModel[5].setRotationPoint(-12.5F, 1F, 0F); - bodyModel[5].rotateAngleX = 2.0943951F; - - bodyModel[6].addBox(0F, 1.5F, -0.5F, 1, 1, 1, 0F); // Box 6 - bodyModel[6].setRotationPoint(-12.5F, 1F, 0F); - bodyModel[6].rotateAngleX = -2.0943951F; - - bodyModel[7].addBox(0F, 0F, 0F, 7, 1, 2, 0F); // Box 7 - bodyModel[7].setRotationPoint(0F, -0.5F, -1F); - - bodyModel[8].addBox(0F, 0F, 0F, 7, 2, 2, 0F); // Box 8 - bodyModel[8].setRotationPoint(7F, 0.5F, -1F); - - bodyModel[9].addBox(0F, 0F, 0F, 2, 2, 2, 0F); // Box 9 - bodyModel[9].setRotationPoint(12F, 2.5F, -1F); - - bodyModel[10].addBox(-6F, -2F, 0F, 6, 2, 2, 0F); // Box 10 - bodyModel[10].setRotationPoint(12F, 4.5F, -1F); - bodyModel[10].rotateAngleZ = 0.29670597F; - - bodyModel[11].addBox(0F, 0F, 0F, 1, 3, 1, 0F); // Box 11 - bodyModel[11].setRotationPoint(6F, 3F, -0.5F); - bodyModel[11].rotateAngleZ = -0.26179939F; - - bodyModel[12].addBox(0F, 0F, 0F, 5, 2, 2, 0F); // Box 12 - bodyModel[12].setRotationPoint(0F, 3F, -1F); - - bodyModel[13].addBox(0F, 0F, 0F, 6, 1, 1, 0F); // Box 13 - bodyModel[13].setRotationPoint(2F, 5F, -0.5F); - - bodyModel[14].addBox(0F, 0F, 0F, 1, 4, 1, 0F); // Box 14 - bodyModel[14].setRotationPoint(0.5F, 1F, -1.5F); - bodyModel[14].rotateAngleX = -0.61086524F; - - bodyModel[15].addBox(0F, 0F, 0F, 3, 1, 1, 0F); // Box 16 - bodyModel[15].setRotationPoint(3F, -1F, -0.5F); - - for(int i = 0; i < 16; i++) - { - bodyModel[i].setTextureSize(textureX, textureY); - bodyModel[i].mirror = true; - } - } - - @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - for(int i = 0; i < 16; i++) - { - bodyModel[i].render(f5); - } - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/render/model/ModelDefabricator.java b/src/main/java/com/hbm/render/model/ModelDefabricator.java deleted file mode 100755 index bc156eb79..000000000 --- a/src/main/java/com/hbm/render/model/ModelDefabricator.java +++ /dev/null @@ -1,231 +0,0 @@ -//This File was created with the Minecraft-SMP Modelling Toolbox 2.3.0.0 -// Copyright (C) 2017 Minecraft-SMP.de -// This file is for Flan's Flying Mod Version 4.0.x+ - -// Model: Defabricator -// Model Creator: -// Created on:05.06.2017 - 11:21:40 -// Last changed on: 05.06.2017 - 11:21:40 - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelDefabricator extends ModelBase -{ - int textureX = 128; - int textureY = 64; - ModelRenderer[] modeldefabricatorModel; - - public ModelDefabricator() - { - textureWidth = 128; - textureHeight = 64; - modeldefabricatorModel = new ModelRenderer[40]; - modeldefabricatorModel[0] = new ModelRenderer(this, 1, 1); // Box 0 - modeldefabricatorModel[1] = new ModelRenderer(this, 25, 1); // Box 1 - modeldefabricatorModel[2] = new ModelRenderer(this, 41, 1); // Box 2 - modeldefabricatorModel[3] = new ModelRenderer(this, 57, 1); // Box 3 - modeldefabricatorModel[4] = new ModelRenderer(this, 89, 1); // Box 4 - modeldefabricatorModel[5] = new ModelRenderer(this, 105, 1); // Box 5 - modeldefabricatorModel[6] = new ModelRenderer(this, 1, 9); // Box 6 - modeldefabricatorModel[7] = new ModelRenderer(this, 25, 9); // Box 7 - modeldefabricatorModel[8] = new ModelRenderer(this, 49, 1); // Box 8 - modeldefabricatorModel[9] = new ModelRenderer(this, 57, 9); // Box 9 - modeldefabricatorModel[10] = new ModelRenderer(this, 33, 9); // Box 10 - modeldefabricatorModel[11] = new ModelRenderer(this, 89, 9); // Box 11 - modeldefabricatorModel[12] = new ModelRenderer(this, 113, 9); // Box 12 - modeldefabricatorModel[13] = new ModelRenderer(this, 17, 1); // Box 13 - modeldefabricatorModel[14] = new ModelRenderer(this, 1, 17); // Box 14 - modeldefabricatorModel[15] = new ModelRenderer(this, 17, 17); // Box 15 - modeldefabricatorModel[16] = new ModelRenderer(this, 41, 17); // Box 16 - modeldefabricatorModel[17] = new ModelRenderer(this, 73, 17); // Box 17 - modeldefabricatorModel[18] = new ModelRenderer(this, 97, 17); // Box 18 - modeldefabricatorModel[19] = new ModelRenderer(this, 113, 17); // Box 19 - modeldefabricatorModel[20] = new ModelRenderer(this, 1, 25); // Box 20 - modeldefabricatorModel[21] = new ModelRenderer(this, 9, 25); // Box 21 - modeldefabricatorModel[22] = new ModelRenderer(this, 17, 25); // Box 22 - modeldefabricatorModel[23] = new ModelRenderer(this, 33, 25); // Box 23 - modeldefabricatorModel[24] = new ModelRenderer(this, 49, 25); // Box 24 - modeldefabricatorModel[25] = new ModelRenderer(this, 65, 25); // Box 25 - modeldefabricatorModel[26] = new ModelRenderer(this, 81, 25); // Box 26 - modeldefabricatorModel[27] = new ModelRenderer(this, 97, 1); // Box 27 - modeldefabricatorModel[28] = new ModelRenderer(this, 1, 33); // Box 28 - modeldefabricatorModel[29] = new ModelRenderer(this, 105, 17); // Box 29 - modeldefabricatorModel[30] = new ModelRenderer(this, 89, 25); // Box 30 - modeldefabricatorModel[31] = new ModelRenderer(this, 49, 33); // Box 31 - modeldefabricatorModel[32] = new ModelRenderer(this, 1, 41); // Box 32 - modeldefabricatorModel[33] = new ModelRenderer(this, 89, 25); // Box 33 - modeldefabricatorModel[34] = new ModelRenderer(this, 89, 33); // Box 34 - modeldefabricatorModel[35] = new ModelRenderer(this, 41, 41); // Box 35 - modeldefabricatorModel[36] = new ModelRenderer(this, 105, 25); // Box 36 - modeldefabricatorModel[37] = new ModelRenderer(this, 113, 25); // Box 39 - modeldefabricatorModel[38] = new ModelRenderer(this, 121, 25); // Box 40 - modeldefabricatorModel[39] = new ModelRenderer(this, 57, 41); // Box 41 - - modeldefabricatorModel[0].addBox(0F, 0F, 0F, 5, 2, 3); // Box 0 - modeldefabricatorModel[0].setRotationPoint(0F, 0.5F, -1.5F); - - modeldefabricatorModel[1].addBox(0F, 0F, 0F, 5, 3, 2); // Box 1 - modeldefabricatorModel[1].setRotationPoint(0F, 0F, -1F); - - modeldefabricatorModel[2].addBox(0F, 0F, 0F, 2, 7, 3); // Box 2 - modeldefabricatorModel[2].setRotationPoint(-2F, -2F, -1.5F); - - modeldefabricatorModel[3].addBox(0F, 0F, 0F, 11, 1, 3); // Box 3 - modeldefabricatorModel[3].setRotationPoint(0F, -2F, -1.5F); - - modeldefabricatorModel[4].addBox(0F, 0F, 0F, 1, 3, 3); // Box 4 - modeldefabricatorModel[4].setRotationPoint(10F, -1F, -1.5F); - - modeldefabricatorModel[5].addBox(0F, 0F, 0F, 6, 1, 2); // Box 5 - modeldefabricatorModel[5].setRotationPoint(0F, 4F, -1F); - - modeldefabricatorModel[6].addBox(0F, -1F, 0F, 6, 1, 2); // Box 6 - modeldefabricatorModel[6].setRotationPoint(6F, 5F, -1F); - modeldefabricatorModel[6].rotateAngleZ = -0.61086524F; - - modeldefabricatorModel[7].addBox(0F, 0F, 0F, 1, 2, 2); // Box 7 - modeldefabricatorModel[7].setRotationPoint(5F, 0.5F, -1F); - - modeldefabricatorModel[8].addBox(0F, 0F, 0F, 4, 1, 1); // Box 8 - modeldefabricatorModel[8].setRotationPoint(6F, 1F, -0.5F); - - modeldefabricatorModel[9].addBox(0F, 0F, 0F, 12, 1, 2); // Box 9 - modeldefabricatorModel[9].setRotationPoint(11F, 0F, -1F); - - modeldefabricatorModel[10].addBox(0F, 0F, 0F, 1, 6, 2); // Box 10 - modeldefabricatorModel[10].setRotationPoint(22F, -6F, -1F); - - modeldefabricatorModel[11].addBox(0F, 0F, 0F, 8, 2, 2); // Box 11 - modeldefabricatorModel[11].setRotationPoint(14F, -2.5F, -1F); - - modeldefabricatorModel[12].addBox(0F, 0F, 0F, 3, 1, 1); // Box 12 - modeldefabricatorModel[12].setRotationPoint(11F, -2F, -0.5F); - - modeldefabricatorModel[13].addBox(0F, 0F, 0F, 1, 1, 1); // Box 13 - modeldefabricatorModel[13].setRotationPoint(1F, 3.5F, -0.5F); - - modeldefabricatorModel[14].addBox(0F, 0F, 0F, 5, 1, 2); // Box 14 - modeldefabricatorModel[14].setRotationPoint(13.5F, -4.5F, -1F); - - modeldefabricatorModel[15].addBox(0F, 0F, 0F, 4, 1, 2); // Box 15 - modeldefabricatorModel[15].setRotationPoint(18F, -5F, -1F); - - modeldefabricatorModel[16].addBox(0F, 0F, 0F, 10, 1, 2); // Box 16 - modeldefabricatorModel[16].setRotationPoint(4F, -5F, -1F); - - modeldefabricatorModel[17].addBox(-6F, 0F, 0F, 6, 1, 2); // Box 17 - modeldefabricatorModel[17].setRotationPoint(4F, -5F, -1F); - modeldefabricatorModel[17].rotateAngleZ = -0.52359878F; - - modeldefabricatorModel[18].addBox(0F, 0F, 0F, 1, 3, 3); // Box 18 - modeldefabricatorModel[18].setRotationPoint(22F, -9F, -1.5F); - - modeldefabricatorModel[19].addBox(0F, 0F, 0F, 5, 2, 2); // Box 19 - modeldefabricatorModel[19].setRotationPoint(17F, -8.5F, -1F); - - modeldefabricatorModel[20].addBox(-4F, -3F, 0F, 1, 3, 2); // Box 20 - modeldefabricatorModel[20].setRotationPoint(4F, -5F, -1F); - modeldefabricatorModel[20].rotateAngleZ = -0.52359878F; - - modeldefabricatorModel[21].addBox(-4F, -4F, 0F, 1, 1, 2); // Box 21 - modeldefabricatorModel[21].setRotationPoint(4F, -5F, -1F); - modeldefabricatorModel[21].rotateAngleZ = -0.52359878F; - - modeldefabricatorModel[22].addBox(0F, 0F, 0F, 4, 3, 2); // Box 22 - modeldefabricatorModel[22].setRotationPoint(-6F, 0F, -1F); - - modeldefabricatorModel[23].addBox(0F, 0F, 0F, 4, 2, 3); // Box 23 - modeldefabricatorModel[23].setRotationPoint(-6F, 0.5F, -1.5F); - - modeldefabricatorModel[24].addBox(0F, 0F, 0F, 5, 2, 2); // Box 24 - modeldefabricatorModel[24].setRotationPoint(-11F, 0.5F, -1F); - - modeldefabricatorModel[25].addBox(0F, 0F, 0F, 2, 3, 2); // Box 25 - modeldefabricatorModel[25].setRotationPoint(-10.5F, 0F, -1F); - - modeldefabricatorModel[26].addBox(0F, 0F, 0F, 2, 2, 3); // Box 26 - modeldefabricatorModel[26].setRotationPoint(-10.5F, 0.5F, -1.5F); - - modeldefabricatorModel[27].addBox(0F, -2.5F, -0.5F, 1, 1, 1); // Box 27 - modeldefabricatorModel[27].setRotationPoint(-3F, 1.5F, 0F); - - modeldefabricatorModel[28].addBox(0F, -3F, -0.5F, 20, 1, 1); // Box 28 - modeldefabricatorModel[28].setRotationPoint(-23F, 1.5F, 0F); - - modeldefabricatorModel[29].addBox(0F, -2.5F, -0.5F, 1, 1, 1); // Box 29 - modeldefabricatorModel[29].setRotationPoint(-3F, 1.5F, 0F); - modeldefabricatorModel[29].rotateAngleX = 2.0943951F; - - modeldefabricatorModel[30].addBox(0F, -2.5F, -0.5F, 1, 1, 1); // Box 30 - modeldefabricatorModel[30].setRotationPoint(-3F, 1.5F, 0F); - modeldefabricatorModel[30].rotateAngleX = -2.0943951F; - - modeldefabricatorModel[31].addBox(0F, -3F, -0.5F, 20, 1, 1); // Box 31 - modeldefabricatorModel[31].setRotationPoint(-23F, 1.5F, 0F); - modeldefabricatorModel[31].rotateAngleX = -2.0943951F; - - modeldefabricatorModel[32].addBox(0F, -3F, -0.5F, 20, 1, 1); // Box 32 - modeldefabricatorModel[32].setRotationPoint(-23F, 1.5F, 0F); - modeldefabricatorModel[32].rotateAngleX = 2.0943951F; - - modeldefabricatorModel[33].addBox(0F, -2F, -3F, 2, 1, 6); // Box 33 - modeldefabricatorModel[33].setRotationPoint(-22F, 1.5F, 0F); - modeldefabricatorModel[33].rotateAngleX = 1.04719755F; - - modeldefabricatorModel[34].addBox(0F, -2F, -3F, 2, 1, 6); // Box 34 - modeldefabricatorModel[34].setRotationPoint(-22F, 1.5F, 0F); - modeldefabricatorModel[34].rotateAngleX = -3.14159265F; - - modeldefabricatorModel[35].addBox(0F, -2F, -3F, 2, 1, 6); // Box 35 - modeldefabricatorModel[35].setRotationPoint(-22F, 1.5F, 0F); - modeldefabricatorModel[35].rotateAngleX = -1.04719755F; - - modeldefabricatorModel[36].addBox(0.5F, -2.5F, -0.5F, 1, 1, 1); // Box 36 - modeldefabricatorModel[36].setRotationPoint(-24F, 1.5F, 0F); - - modeldefabricatorModel[37].addBox(0.5F, -2.5F, -0.5F, 1, 1, 1); // Box 39 - modeldefabricatorModel[37].setRotationPoint(-24F, 1.5F, 0F); - modeldefabricatorModel[37].rotateAngleX = 2.0943951F; - - modeldefabricatorModel[38].addBox(0.5F, -2.5F, -0.5F, 1, 1, 1); // Box 40 - modeldefabricatorModel[38].setRotationPoint(-24F, 1.5F, 0F); - modeldefabricatorModel[38].rotateAngleX = -2.0943951F; - - modeldefabricatorModel[39].addBox(0F, 0F, 0F, 13, 0, 1); // Box 41 - modeldefabricatorModel[39].setRotationPoint(5F, -5F, -0.5F); - modeldefabricatorModel[39].rotateAngleZ = 0.17453293F; - - for(int i = 0; i < 40; i++) - { - modeldefabricatorModel[i].setTextureSize(textureX, textureY); - modeldefabricatorModel[i].mirror = true; - } - } - - @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - for(int i = 0; i < 40; i++) - { - if(i == 20) - GL11.glDisable(GL11.GL_CULL_FACE); - modeldefabricatorModel[i].render(f5); - if(i == 20) - GL11.glEnable(GL11.GL_CULL_FACE); - } - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/render/model/ModelEMPRay.java b/src/main/java/com/hbm/render/model/ModelEMPRay.java deleted file mode 100644 index 54f8d321f..000000000 --- a/src/main/java/com/hbm/render/model/ModelEMPRay.java +++ /dev/null @@ -1,393 +0,0 @@ -// Date: 07.11.2016 21:36:37 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - - - - - - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelEMPRay extends ModelBase -{ - //fields - ModelRenderer Body; - ModelRenderer BodyConnector; - ModelRenderer BodyFront; - ModelRenderer BodyPlateLeft; - ModelRenderer BodyPlateRight; - ModelRenderer BodyPlateBottom; - ModelRenderer Rib1; - ModelRenderer Rib2; - ModelRenderer Rib3; - ModelRenderer Rib4; - ModelRenderer Rib5; - ModelRenderer Rib6; - ModelRenderer Rib7; - ModelRenderer Stock; - ModelRenderer StockBottom; - ModelRenderer StockPlate; - ModelRenderer CrankPivot; - ModelRenderer CrankPlate; - ModelRenderer CrankHandleBase; - ModelRenderer CrankHandle; - ModelRenderer HandlePivot; - ModelRenderer HandleLeft; - ModelRenderer HandleRight; - ModelRenderer Handle; - ModelRenderer ShieldTop; - ModelRenderer ShieldBottom; - ModelRenderer Battery; - ModelRenderer BatteryTop; - ModelRenderer BatteryBottom; - ModelRenderer Wire; - ModelRenderer SpindelPivot; - ModelRenderer SpindelBase1; - ModelRenderer Coil1; - ModelRenderer SpindelTip1; - ModelRenderer SpindelBase2; - ModelRenderer Coil2; - ModelRenderer SpindelTip2; - ModelRenderer SpindelBase3; - ModelRenderer Coil3; - ModelRenderer SpindelTip3; - ModelRenderer WireRight; - ModelRenderer WireLeft; - - public ModelEMPRay() - { - textureWidth = 256; - textureHeight = 128; - - Body = new ModelRenderer(this, 0, 96); - Body.addBox(0F, 0F, 0F, 20, 16, 16); - Body.setRotationPoint(0F, 0F, -8F); - Body.setTextureSize(64, 32); - Body.mirror = true; - setRotation(Body, 0F, 0F, 0F); - BodyConnector = new ModelRenderer(this, 0, 80); - BodyConnector.addBox(0F, 0F, 0F, 15, 8, 8); - BodyConnector.setRotationPoint(-15F, 0F, -4F); - BodyConnector.setTextureSize(64, 32); - BodyConnector.mirror = true; - setRotation(BodyConnector, 0F, 0F, 0F); - BodyFront = new ModelRenderer(this, 72, 96); - BodyFront.addBox(0F, 0F, 0F, 5, 16, 16); - BodyFront.setRotationPoint(-20F, 0F, -8F); - BodyFront.setTextureSize(64, 32); - BodyFront.mirror = true; - setRotation(BodyFront, 0F, 0F, 0F); - BodyPlateLeft = new ModelRenderer(this, 46, 84); - BodyPlateLeft.addBox(-16F, 0F, 0F, 16, 8, 4); - BodyPlateLeft.setRotationPoint(0F, 0F, -8F); - BodyPlateLeft.setTextureSize(64, 32); - BodyPlateLeft.mirror = true; - setRotation(BodyPlateLeft, 0F, 0.2617994F, 0F); - BodyPlateRight = new ModelRenderer(this, 86, 84); - BodyPlateRight.addBox(-16F, 0F, -4F, 16, 8, 4); - BodyPlateRight.setRotationPoint(0F, 0F, 8F); - BodyPlateRight.setTextureSize(64, 32); - BodyPlateRight.mirror = true; - setRotation(BodyPlateRight, 0F, -0.2617994F, 0F); - BodyPlateBottom = new ModelRenderer(this, 0, 65); - BodyPlateBottom.addBox(-18F, -7F, 0F, 18, 7, 8); - BodyPlateBottom.setRotationPoint(0F, 16F, -4F); - BodyPlateBottom.setTextureSize(64, 32); - BodyPlateBottom.mirror = true; - setRotation(BodyPlateBottom, 0F, 0F, 0.4886922F); - Rib1 = new ModelRenderer(this, 240, 0); - Rib1.addBox(0F, 0F, 0F, 0, 8, 8); - Rib1.setRotationPoint(-13.5F, 8F, -4F); - Rib1.setTextureSize(64, 32); - Rib1.mirror = true; - setRotation(Rib1, 0F, 0F, 0F); - Rib2 = new ModelRenderer(this, 222, 0); - Rib2.addBox(0F, 0F, 0F, 0, 8, 9); - Rib2.setRotationPoint(-11.5F, 8F, -4.5F); - Rib2.setTextureSize(64, 32); - Rib2.mirror = true; - setRotation(Rib2, 0F, 0F, 0F); - Rib3 = new ModelRenderer(this, 202, 0); - Rib3.addBox(0F, 0F, 0F, 0, 8, 10); - Rib3.setRotationPoint(-9.5F, 8F, -5F); - Rib3.setTextureSize(64, 32); - Rib3.mirror = true; - setRotation(Rib3, 0F, 0F, 0F); - Rib4 = new ModelRenderer(this, 180, 0); - Rib4.addBox(0F, 0F, 0F, 0, 8, 11); - Rib4.setRotationPoint(-7.5F, 8F, -5.5F); - Rib4.setTextureSize(64, 32); - Rib4.mirror = true; - setRotation(Rib4, 0F, 0F, 0F); - Rib5 = new ModelRenderer(this, 156, 0); - Rib5.addBox(0F, 0F, 0F, 0, 8, 12); - Rib5.setRotationPoint(-5.5F, 8F, -6F); - Rib5.setTextureSize(64, 32); - Rib5.mirror = true; - setRotation(Rib5, 0F, 0F, 0F); - Rib6 = new ModelRenderer(this, 130, 0); - Rib6.addBox(0F, 0F, 0F, 0, 8, 13); - Rib6.setRotationPoint(-3.5F, 8F, -6.5F); - Rib6.setTextureSize(64, 32); - Rib6.mirror = true; - setRotation(Rib6, 0F, 0F, 0F); - Rib7 = new ModelRenderer(this, 102, 0); - Rib7.addBox(0F, 0F, 0F, 0, 8, 14); - Rib7.setRotationPoint(-1.5F, 8F, -7F); - Rib7.setTextureSize(64, 32); - Rib7.mirror = true; - setRotation(Rib7, 0F, 0F, 0F); - Stock = new ModelRenderer(this, 114, 116); - Stock.addBox(0F, 0F, 0F, 25, 6, 6); - Stock.setRotationPoint(20F, 10F, -3F); - Stock.setTextureSize(64, 32); - Stock.mirror = true; - setRotation(Stock, 0F, 0F, 0F); - StockBottom = new ModelRenderer(this, 114, 104); - StockBottom.addBox(0F, 0F, 0F, 4, 6, 6); - StockBottom.setRotationPoint(41F, 16F, -3F); - StockBottom.setTextureSize(64, 32); - StockBottom.mirror = true; - setRotation(StockBottom, 0F, 0F, 0F); - StockPlate = new ModelRenderer(this, 134, 92); - StockPlate.addBox(0F, -18F, 0F, 6, 18, 6); - StockPlate.setRotationPoint(41F, 22F, -3F); - StockPlate.setTextureSize(64, 32); - StockPlate.mirror = true; - setRotation(StockPlate, 0F, 0F, -1.22173F); - CrankPivot = new ModelRenderer(this, 0, 63); - CrankPivot.addBox(0F, -0.5F, -0.5F, 3, 1, 1); - CrankPivot.setRotationPoint(20F, 2F, 0F); - CrankPivot.setTextureSize(64, 32); - CrankPivot.mirror = true; - setRotation(CrankPivot, -0.4363323F, 0F, 0F); - CrankPlate = new ModelRenderer(this, 0, 55); - CrankPlate.addBox(0F, -1F, -1F, 1, 6, 2); - CrankPlate.setRotationPoint(21.5F, 2F, 0F); - CrankPlate.setTextureSize(64, 32); - CrankPlate.mirror = true; - setRotation(CrankPlate, -0.4363323F, 0F, 0F); - CrankHandleBase = new ModelRenderer(this, 0, 53); - CrankHandleBase.addBox(0F, 3.5F, -0.5F, 2, 1, 1); - CrankHandleBase.setRotationPoint(22F, 2F, 0F); - CrankHandleBase.setTextureSize(64, 32); - CrankHandleBase.mirror = true; - setRotation(CrankHandleBase, -0.4363323F, 0F, 0F); - CrankHandle = new ModelRenderer(this, 0, 49); - CrankHandle.addBox(0F, 3F, -1F, 6, 2, 2); - CrankHandle.setRotationPoint(24F, 2F, 0F); - CrankHandle.setTextureSize(64, 32); - CrankHandle.mirror = true; - setRotation(CrankHandle, -0.4363323F, 0F, 0F); - HandlePivot = new ModelRenderer(this, 52, 60); - HandlePivot.addBox(-1F, -1F, 0F, 2, 2, 22); - HandlePivot.setRotationPoint(7F, 7F, -11F); - HandlePivot.setTextureSize(64, 32); - HandlePivot.mirror = true; - setRotation(HandlePivot, 0F, 0F, 0.4363323F); - HandleLeft = new ModelRenderer(this, 100, 67); - HandleLeft.addBox(-1.5F, -14F, 0F, 3, 16, 1); - HandleLeft.setRotationPoint(7F, 7F, -9.5F); - HandleLeft.setTextureSize(64, 32); - HandleLeft.mirror = true; - setRotation(HandleLeft, 0F, 0F, 0.4363323F); - HandleRight = new ModelRenderer(this, 108, 67); - HandleRight.addBox(-1.5F, -14F, 0F, 3, 16, 1); - HandleRight.setRotationPoint(7F, 7F, 8.5F); - HandleRight.setTextureSize(64, 32); - HandleRight.mirror = true; - setRotation(HandleRight, 0F, 0F, 0.4363323F); - Handle = new ModelRenderer(this, 52, 31); - Handle.addBox(-2.5F, -19F, 0F, 5, 5, 24); - Handle.setRotationPoint(7F, 7F, -12F); - Handle.setTextureSize(64, 32); - Handle.mirror = true; - setRotation(Handle, 0F, 0F, 0.4363323F); - ShieldTop = new ModelRenderer(this, 64, 0); - ShieldTop.addBox(0F, 0F, 0F, 0, 12, 18); - ShieldTop.setRotationPoint(-11F, -14F, -9F); - ShieldTop.setTextureSize(64, 32); - ShieldTop.mirror = true; - setRotation(ShieldTop, 0F, 0F, 0F); - ShieldBottom = new ModelRenderer(this, 36, 0); - ShieldBottom.addBox(0F, 0F, 0F, 0, 9, 14); - ShieldBottom.setRotationPoint(-11F, -2F, -7F); - ShieldBottom.setTextureSize(64, 32); - ShieldBottom.mirror = true; - setRotation(ShieldBottom, 0F, 0F, -0.6981317F); - Battery = new ModelRenderer(this, 10, 56); - Battery.addBox(0F, 0F, 0F, 4, 6, 3); - Battery.setRotationPoint(13F, 6F, -11F); - Battery.setTextureSize(64, 32); - Battery.mirror = true; - setRotation(Battery, 0F, 0F, 0F); - BatteryTop = new ModelRenderer(this, 24, 60); - BatteryTop.addBox(0F, 0F, 0F, 5, 1, 4); - BatteryTop.setRotationPoint(12.5F, 5F, -11.5F); - BatteryTop.setTextureSize(64, 32); - BatteryTop.mirror = true; - setRotation(BatteryTop, 0F, 0F, 0F); - BatteryBottom = new ModelRenderer(this, 24, 55); - BatteryBottom.addBox(0F, 0F, 0F, 5, 1, 4); - BatteryBottom.setRotationPoint(12.5F, 12F, -11.5F); - BatteryBottom.setTextureSize(64, 32); - BatteryBottom.mirror = true; - setRotation(BatteryBottom, 0F, 0F, 0F); - Wire = new ModelRenderer(this, 0, 44); - Wire.addBox(0F, -4F, 0F, 2, 4, 1); - Wire.setRotationPoint(14F, 5F, -10F); - Wire.setTextureSize(64, 32); - Wire.mirror = true; - setRotation(Wire, -0.5235988F, 0F, 0F); - SpindelPivot = new ModelRenderer(this, 0, 36); - SpindelPivot.addBox(0F, 0F, 0F, 4, 3, 3); - SpindelPivot.setRotationPoint(-24F, 8.5F, -1.5F); - SpindelPivot.setTextureSize(64, 32); - SpindelPivot.mirror = true; - setRotation(SpindelPivot, 0F, 0F, 0F); - SpindelBase1 = new ModelRenderer(this, 0, 27); - SpindelBase1.addBox(0F, -5F, -1F, 2, 5, 2); - SpindelBase1.setRotationPoint(-23F, 10F, 0F); - SpindelBase1.setTextureSize(64, 32); - SpindelBase1.mirror = true; - setRotation(SpindelBase1, 0F, 0F, 0F); - Coil1 = new ModelRenderer(this, 0, 17); - Coil1.addBox(0F, -6F, -2F, 12, 4, 4); - Coil1.setRotationPoint(-35F, 10F, 0F); - Coil1.setTextureSize(64, 32); - Coil1.mirror = true; - setRotation(Coil1, 0F, 0F, 0F); - SpindelTip1 = new ModelRenderer(this, 0, 11); - SpindelTip1.addBox(0F, -5F, -1F, 1, 2, 2); - SpindelTip1.setRotationPoint(-36F, 10F, 0F); - SpindelTip1.setTextureSize(64, 32); - SpindelTip1.mirror = true; - setRotation(SpindelTip1, 0F, 0F, 0F); - SpindelBase2 = new ModelRenderer(this, 0, 27); - SpindelBase2.addBox(0F, -5F, -1F, 2, 5, 2); - SpindelBase2.setRotationPoint(-23F, 10F, 0F); - SpindelBase2.setTextureSize(64, 32); - SpindelBase2.mirror = true; - setRotation(SpindelBase2, 2.094395F, 0F, 0F); - Coil2 = new ModelRenderer(this, 0, 17); - Coil2.addBox(0F, -6F, -2F, 12, 4, 4); - Coil2.setRotationPoint(-35F, 10F, 0F); - Coil2.setTextureSize(64, 32); - Coil2.mirror = true; - setRotation(Coil2, 2.094395F, 0F, 0F); - SpindelTip2 = new ModelRenderer(this, 0, 11); - SpindelTip2.addBox(0F, -5F, -1F, 1, 2, 2); - SpindelTip2.setRotationPoint(-36F, 10F, 0F); - SpindelTip2.setTextureSize(64, 32); - SpindelTip2.mirror = true; - setRotation(SpindelTip2, 2.094395F, 0F, 0F); - SpindelBase3 = new ModelRenderer(this, 0, 27); - SpindelBase3.addBox(0F, -5F, -1F, 2, 5, 2); - SpindelBase3.setRotationPoint(-23F, 10F, 0F); - SpindelBase3.setTextureSize(64, 32); - SpindelBase3.mirror = true; - setRotation(SpindelBase3, -2.094395F, 0F, 0F); - Coil3 = new ModelRenderer(this, 0, 17); - Coil3.addBox(0F, -6F, -2F, 12, 4, 4); - Coil3.setRotationPoint(-35F, 10F, 0F); - Coil3.setTextureSize(64, 32); - Coil3.mirror = true; - setRotation(Coil3, -2.094395F, 0F, 0F); - SpindelTip3 = new ModelRenderer(this, 0, 11); - SpindelTip3.addBox(0F, -5F, -1F, 1, 2, 2); - SpindelTip3.setRotationPoint(-36F, 10F, 0F); - SpindelTip3.setTextureSize(64, 32); - SpindelTip3.mirror = true; - setRotation(SpindelTip3, -2.094395F, 0F, 0F); - WireRight = new ModelRenderer(this, 0, 2); - WireRight.addBox(0F, 0F, 0F, 15, 1, 1); - WireRight.setRotationPoint(-15F, 13F, 4F); - WireRight.setTextureSize(64, 32); - WireRight.mirror = true; - setRotation(WireRight, 0F, 0F, 0F); - WireLeft = new ModelRenderer(this, 0, 0); - WireLeft.addBox(0F, 0F, 0F, 15, 1, 1); - WireLeft.setRotationPoint(-15F, 13F, -5F); - WireLeft.setTextureSize(64, 32); - WireLeft.mirror = true; - setRotation(WireLeft, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, float rot) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Body.render(f5); - BodyConnector.render(f5); - BodyFront.render(f5); - BodyPlateLeft.render(f5); - BodyPlateRight.render(f5); - BodyPlateBottom.render(f5); - Rib1.render(f5); - Rib2.render(f5); - Rib3.render(f5); - Rib4.render(f5); - Rib5.render(f5); - Rib6.render(f5); - Rib7.render(f5); - Stock.render(f5); - StockBottom.render(f5); - StockPlate.render(f5); - CrankPivot.render(f5); - CrankPlate.render(f5); - CrankHandleBase.render(f5); - CrankHandle.render(f5); - HandlePivot.render(f5); - HandleLeft.render(f5); - HandleRight.render(f5); - Handle.render(f5); - ShieldTop.render(f5); - ShieldBottom.render(f5); - Battery.render(f5); - BatteryTop.render(f5); - BatteryBottom.render(f5); - Wire.render(f5); - SpindelPivot.render(f5); - SpindelBase1.rotateAngleX += rot; - Coil1.rotateAngleX += rot; - SpindelTip1.rotateAngleX += rot; - SpindelBase2.rotateAngleX += rot; - Coil2.rotateAngleX += rot; - SpindelTip2.rotateAngleX += rot; - SpindelBase3.rotateAngleX += rot; - Coil3.rotateAngleX += rot; - SpindelTip3.rotateAngleX += rot; - SpindelBase1.render(f5); - Coil1.render(f5); - SpindelTip1.render(f5); - SpindelBase2.render(f5); - Coil2.render(f5); - SpindelTip2.render(f5); - SpindelBase3.render(f5); - Coil3.render(f5); - SpindelTip3.render(f5); - WireRight.render(f5); - WireLeft.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelEuthanasia.java b/src/main/java/com/hbm/render/model/ModelEuthanasia.java deleted file mode 100644 index 5d55bbabb..000000000 --- a/src/main/java/com/hbm/render/model/ModelEuthanasia.java +++ /dev/null @@ -1,169 +0,0 @@ -// Date: 21.02.2017 21:26:09 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - - - - - - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelEuthanasia extends ModelBase -{ - //fields - ModelRenderer Barrel; - ModelRenderer Tank; - ModelRenderer ConnectorBF; - ModelRenderer ConnectorBB; - ModelRenderer ConnectorBeam; - ModelRenderer ConnectorTF; - ModelRenderer ConnectorTB; - ModelRenderer Body; - ModelRenderer Plate; - ModelRenderer Beam; - ModelRenderer Stock; - ModelRenderer StockBack; - ModelRenderer StockPlate; - ModelRenderer Handle; - ModelRenderer Trigger; - - public ModelEuthanasia() - { - textureWidth = 64; - textureHeight = 64; - - Barrel = new ModelRenderer(this, 0, 0); - Barrel.addBox(0F, 0F, 0F, 18, 3, 3); - Barrel.setRotationPoint(-11F, 0.5F, -1.5F); - Barrel.setTextureSize(64, 64); - Barrel.mirror = true; - setRotation(Barrel, 0F, 0F, 0F); - Tank = new ModelRenderer(this, 0, 6); - Tank.addBox(0F, 0F, 0F, 9, 5, 5); - Tank.setRotationPoint(-3F, -0.5F, -2.5F); - Tank.setTextureSize(64, 64); - Tank.mirror = true; - setRotation(Tank, 0F, 0F, 0F); - ConnectorBF = new ModelRenderer(this, 52, 0); - ConnectorBF.addBox(0F, 0F, 0F, 2, 8, 4); - ConnectorBF.setRotationPoint(-6F, 0F, -2F); - ConnectorBF.setTextureSize(64, 64); - ConnectorBF.mirror = true; - setRotation(ConnectorBF, 0F, 0F, 0F); - ConnectorBB = new ModelRenderer(this, 28, 6); - ConnectorBB.addBox(0F, 0F, 0F, 2, 8, 4); - ConnectorBB.setRotationPoint(7F, 0F, -2F); - ConnectorBB.setTextureSize(64, 64); - ConnectorBB.mirror = true; - setRotation(ConnectorBB, 0F, 0F, 0F); - ConnectorBeam = new ModelRenderer(this, 0, 18); - ConnectorBeam.addBox(0F, 0F, 0F, 11, 2, 4); - ConnectorBeam.setRotationPoint(-4F, 6F, -2F); - ConnectorBeam.setTextureSize(64, 64); - ConnectorBeam.mirror = true; - setRotation(ConnectorBeam, 0F, 0F, 0F); - ConnectorTF = new ModelRenderer(this, 40, 12); - ConnectorTF.addBox(0F, 0F, 0F, 2, 8, 4); - ConnectorTF.setRotationPoint(-9F, -4F, -2F); - ConnectorTF.setTextureSize(64, 64); - ConnectorTF.mirror = true; - setRotation(ConnectorTF, 0F, 0F, 0F); - ConnectorTB = new ModelRenderer(this, 52, 12); - ConnectorTB.addBox(0F, 0F, 0F, 2, 8, 4); - ConnectorTB.setRotationPoint(9F, -4F, -2F); - ConnectorTB.setTextureSize(64, 64); - ConnectorTB.mirror = true; - setRotation(ConnectorTB, 0F, 0F, 0F); - Body = new ModelRenderer(this, 0, 24); - Body.addBox(0F, 0F, 0F, 4, 5, 4); - Body.setRotationPoint(11F, -1F, -2F); - Body.setTextureSize(64, 64); - Body.mirror = true; - setRotation(Body, 0F, 0F, 0F); - Plate = new ModelRenderer(this, 16, 24); - Plate.addBox(0F, 0F, 0F, 5, 3, 4); - Plate.setRotationPoint(11F, -4F, -2F); - Plate.setTextureSize(64, 64); - Plate.mirror = true; - setRotation(Plate, 0F, 0F, 0.6457718F); - Beam = new ModelRenderer(this, 0, 33); - Beam.addBox(0F, 0F, 0F, 16, 1, 1); - Beam.setRotationPoint(-7F, -3.5F, -0.5F); - Beam.setTextureSize(64, 64); - Beam.mirror = true; - setRotation(Beam, 0F, 0F, 0F); - Stock = new ModelRenderer(this, 0, 35); - Stock.addBox(0F, 0F, 0F, 10, 2, 2); - Stock.setRotationPoint(15F, 1F, -1F); - Stock.setTextureSize(64, 64); - Stock.mirror = true; - setRotation(Stock, 0F, 0F, 0F); - StockBack = new ModelRenderer(this, 0, 39); - StockBack.addBox(0F, 0F, 0F, 1, 4, 2); - StockBack.setRotationPoint(24F, 3F, -1F); - StockBack.setTextureSize(64, 64); - StockBack.mirror = true; - setRotation(StockBack, 0F, 0F, 0F); - StockPlate = new ModelRenderer(this, 6, 39); - StockPlate.addBox(0F, -5F, 0F, 1, 5, 2); - StockPlate.setRotationPoint(24F, 7F, -1F); - StockPlate.setTextureSize(64, 64); - StockPlate.mirror = true; - setRotation(StockPlate, 0F, 0F, -0.2094395F); - Handle = new ModelRenderer(this, 12, 39); - Handle.addBox(0F, 0F, 0F, 2, 6, 2); - Handle.setRotationPoint(13F, 4F, -1F); - Handle.setTextureSize(64, 64); - Handle.mirror = true; - setRotation(Handle, 0F, 0F, -0.2094395F); - Trigger = new ModelRenderer(this, 20, 39); - Trigger.addBox(0F, 0F, 0F, 1, 4, 2); - Trigger.setRotationPoint(12F, 4F, -1F); - Trigger.setTextureSize(64, 64); - Trigger.mirror = true; - setRotation(Trigger, 0F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Barrel.render(f5); - Tank.render(f5); - ConnectorBF.render(f5); - ConnectorBB.render(f5); - ConnectorBeam.render(f5); - ConnectorTF.render(f5); - ConnectorTB.render(f5); - Body.render(f5); - Plate.render(f5); - Beam.render(f5); - Stock.render(f5); - StockBack.render(f5); - StockPlate.render(f5); - Handle.render(f5); - Trigger.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelFBI.java b/src/main/java/com/hbm/render/model/ModelFBI.java index e4283ad4d..3b1a7d97f 100644 --- a/src/main/java/com/hbm/render/model/ModelFBI.java +++ b/src/main/java/com/hbm/render/model/ModelFBI.java @@ -5,8 +5,9 @@ import net.minecraft.entity.Entity; public class ModelFBI extends ModelBiped { - public void render(Entity p_78088_1_, float p_78088_2_, float p_78088_3_, float p_78088_4_, float p_78088_5_, float p_78088_6_, float p_78088_7_) { - - super.render(p_78088_1_, p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, p_78088_7_); + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.render(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor); } } diff --git a/src/main/java/com/hbm/render/model/ModelFatman.java b/src/main/java/com/hbm/render/model/ModelFatman.java deleted file mode 100644 index fc65ff140..000000000 --- a/src/main/java/com/hbm/render/model/ModelFatman.java +++ /dev/null @@ -1,318 +0,0 @@ -// Date: 26.01.2016 14:54:33 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.weapon.ItemGunBase; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; - -public class ModelFatman extends ModelBase { - // fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - ModelRenderer Shape10; - ModelRenderer Shape11; - ModelRenderer Shape12; - ModelRenderer Shape13; - ModelRenderer Shape14; - ModelRenderer Shape15; - ModelRenderer Shape16; - ModelRenderer Shape17; - ModelRenderer Shape18; - ModelRenderer Shape19; - ModelRenderer Shape20; - ModelRenderer Shape21; - ModelRenderer Shape22; - ModelRenderer Shape23; - ModelRenderer Shape24; - ModelRenderer Shape25; - ModelRenderer Shape26; - ModelRenderer Shape27; - ModelRenderer Shape28; - ModelRenderer Shape29; - ModelRenderer Shape30; - ModelRenderer Shape31; - ModelRenderer Shape32; - ModelRenderer Shape33; - - public ModelFatman() { - textureWidth = 128; - textureHeight = 64; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 40, 2, 4); - Shape1.setRotationPoint(-20F, 0F, 0F); - Shape1.setTextureSize(128, 64); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 6); - Shape2.addBox(0F, 0F, 0F, 6, 2, 2); - Shape2.setRotationPoint(-19F, 2F, 1F); - Shape2.setTextureSize(128, 64); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 10); - Shape3.addBox(0F, 0F, 0F, 1, 4, 1); - Shape3.setRotationPoint(-12F, 2F, 1.5F); - Shape3.setTextureSize(128, 64); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 16, 6); - Shape4.addBox(0F, 0F, 0F, 6, 1, 4); - Shape4.setRotationPoint(-10F, 2F, 0F); - Shape4.setTextureSize(128, 64); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 0, 15); - Shape5.addBox(0F, 0F, 0F, 2, 3, 1); - Shape5.setRotationPoint(-7F, 3F, 1.5F); - Shape5.setTextureSize(128, 64); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 4, 10); - Shape6.addBox(0F, 0F, 0F, 3, 3, 1); - Shape6.setRotationPoint(-10F, 3F, 1.5F); - Shape6.setTextureSize(128, 64); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 12, 10); - Shape7.addBox(-1F, 0F, 0F, 1, 2, 1); - Shape7.setRotationPoint(-7F, 3F, 1.5F); - Shape7.setTextureSize(128, 64); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0.5235988F); - Shape8 = new ModelRenderer(this, 36, 6); - Shape8.addBox(0F, 0F, 0F, 10, 1, 4); - Shape8.setRotationPoint(-3F, 2F, 0F); - Shape8.setTextureSize(128, 64); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - Shape9 = new ModelRenderer(this, 64, 6); - Shape9.addBox(0F, 0F, 0F, 2, 3, 2); - Shape9.setRotationPoint(7F, 2F, 1F); - Shape9.setTextureSize(128, 64); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - Shape10 = new ModelRenderer(this, 88, 0); - Shape10.addBox(0F, 0F, 0F, 3, 4, 4); - Shape10.setRotationPoint(17F, -4F, 0F); - Shape10.setTextureSize(128, 64); - Shape10.mirror = true; - setRotation(Shape10, 0F, 0F, 0F); - Shape11 = new ModelRenderer(this, 72, 6); - Shape11.addBox(0F, 0F, 0F, 2, 3, 1); - Shape11.setRotationPoint(18F, -7F, 0F); - Shape11.setTextureSize(128, 64); - Shape11.mirror = true; - setRotation(Shape11, 0F, 0F, 0F); - Shape12 = new ModelRenderer(this, 78, 6); - Shape12.addBox(0F, 0F, 0F, 2, 3, 1); - Shape12.setRotationPoint(18F, -7F, 3F); - Shape12.setTextureSize(128, 64); - Shape12.mirror = true; - setRotation(Shape12, 0F, 0F, 0F); - Shape13 = new ModelRenderer(this, 0, 19); - Shape13.addBox(0F, -4F, 0F, 22, 4, 0); - Shape13.setRotationPoint(-17F, 0F, 1F); - Shape13.setTextureSize(128, 64); - Shape13.mirror = true; - setRotation(Shape13, 0.4363323F, 0F, 0F); - Shape14 = new ModelRenderer(this, 16, 11); - Shape14.addBox(0F, 0F, 0F, 33, 1, 1); - Shape14.setRotationPoint(-17F, -4F, -1F); - Shape14.setTextureSize(128, 64); - Shape14.mirror = true; - setRotation(Shape14, 0F, 0F, 0F); - Shape15 = new ModelRenderer(this, 0, 23); - Shape15.addBox(0F, -4F, 0F, 22, 4, 0); - Shape15.setRotationPoint(-17F, 0F, 3F); - Shape15.setTextureSize(128, 64); - Shape15.mirror = true; - setRotation(Shape15, -0.4363323F, 0F, 0F); - Shape16 = new ModelRenderer(this, 16, 13); - Shape16.addBox(0F, 0F, 0F, 33, 1, 1); - Shape16.setRotationPoint(-17F, -4F, 4F); - Shape16.setTextureSize(128, 64); - Shape16.mirror = true; - setRotation(Shape16, 0F, 0F, 0F); - Shape17 = new ModelRenderer(this, 44, 25); - Shape17.addBox(0F, -4F, 0F, 8, 4, 0); - Shape17.setRotationPoint(8F, 0F, 1F); - Shape17.setTextureSize(128, 64); - Shape17.mirror = true; - setRotation(Shape17, 0.4363323F, 0F, 0F); - Shape18 = new ModelRenderer(this, 44, 21); - Shape18.addBox(0F, -4F, 0F, 8, 4, 0); - Shape18.setRotationPoint(8F, 0F, 3F); - Shape18.setTextureSize(128, 64); - Shape18.mirror = true; - setRotation(Shape18, -0.4363323F, 0F, 0F); - Shape19 = new ModelRenderer(this, 0, 37); - Shape19.addBox(0F, 0F, 0F, 5, 4, 2); - Shape19.setRotationPoint(5F, -6F, 1F); - Shape19.setTextureSize(128, 64); - Shape19.mirror = true; - setRotation(Shape19, 0F, 0F, 0F); - Shape20 = new ModelRenderer(this, 0, 31); - Shape20.addBox(0F, 0F, 0F, 5, 2, 4); - Shape20.setRotationPoint(5F, -5F, 0F); - Shape20.setTextureSize(128, 64); - Shape20.mirror = true; - setRotation(Shape20, 0F, 0F, 0F); - Shape21 = new ModelRenderer(this, 0, 27); - Shape21.addBox(0F, 0F, 0F, 1, 2, 2); - Shape21.setRotationPoint(4F, -5F, 1F); - Shape21.setTextureSize(128, 64); - Shape21.mirror = true; - setRotation(Shape21, 0F, 0F, 0F); - Shape22 = new ModelRenderer(this, 6, 27); - Shape22.addBox(0F, 0F, 0F, 1, 2, 2); - Shape22.setRotationPoint(10F, -5F, 1F); - Shape22.setTextureSize(128, 64); - Shape22.mirror = true; - setRotation(Shape22, 0F, 0F, 0F); - Shape23 = new ModelRenderer(this, 8, 43); - Shape23.addBox(0F, 0F, 0F, 2, 2, 1); - Shape23.setRotationPoint(11F, -5F, 0F); - Shape23.setTextureSize(128, 64); - Shape23.mirror = true; - setRotation(Shape23, 0F, 0F, 0F); - Shape24 = new ModelRenderer(this, 8, 46); - Shape24.addBox(0F, 0F, 0F, 2, 2, 1); - Shape24.setRotationPoint(11F, -5F, 3F); - Shape24.setTextureSize(128, 64); - Shape24.mirror = true; - setRotation(Shape24, 0F, 0F, 0F); - Shape25 = new ModelRenderer(this, 0, 43); - Shape25.addBox(0F, 0F, 0F, 2, 1, 2); - Shape25.setRotationPoint(11F, -6F, 1F); - Shape25.setTextureSize(128, 64); - Shape25.mirror = true; - setRotation(Shape25, 0F, 0F, 0F); - Shape26 = new ModelRenderer(this, 0, 46); - Shape26.addBox(0F, 0F, 0F, 2, 1, 2); - Shape26.setRotationPoint(11F, -3F, 1F); - Shape26.setTextureSize(128, 64); - Shape26.mirror = true; - setRotation(Shape26, 0F, 0F, 0F); - Shape27 = new ModelRenderer(this, 18, 27); - Shape27.addBox(0F, 0F, 0F, 2, 5, 1); - Shape27.setRotationPoint(13F, -5F, 1.5F); - Shape27.setTextureSize(128, 64); - Shape27.mirror = true; - setRotation(Shape27, 0F, 0F, 0F); - Shape28 = new ModelRenderer(this, 84, 6); - Shape28.addBox(0F, 0F, 0F, 1, 3, 1); - Shape28.setRotationPoint(16F, -3F, 1.5F); - Shape28.setTextureSize(128, 64); - Shape28.mirror = true; - setRotation(Shape28, 0F, 0F, 0F); - Shape29 = new ModelRenderer(this, 6, 15); - Shape29.addBox(0F, 0F, 0F, 10, 2, 2); - Shape29.setRotationPoint(3F, -2F, 1F); - Shape29.setTextureSize(128, 64); - Shape29.mirror = true; - setRotation(Shape29, 0F, 0F, 0F); - Shape30 = new ModelRenderer(this, 30, 15); - Shape30.addBox(0F, 0F, 0F, 12, 2, 2); - Shape30.setRotationPoint(-7F, -1F, 4F); - Shape30.setTextureSize(128, 64); - Shape30.mirror = true; - setRotation(Shape30, 0F, 0F, 0F); - Shape31 = new ModelRenderer(this, 44, 19); - Shape31.addBox(0F, 0F, 0F, 14, 1, 1); - Shape31.setRotationPoint(5F, -0.5F, 4.5F); - Shape31.setTextureSize(128, 64); - Shape31.mirror = true; - setRotation(Shape31, 0F, 0F, 0F); - Shape32 = new ModelRenderer(this, 12, 27); - Shape32.addBox(0F, 0F, 0F, 1, 1, 1); - Shape32.setRotationPoint(18F, -0.5F, 3.5F); - Shape32.setTextureSize(128, 64); - Shape32.mirror = true; - setRotation(Shape32, 0F, 0F, 0F); - Shape33 = new ModelRenderer(this, 24, 29); - Shape33.addBox(0F, 0F, 0F, 21, 1, 2); - Shape33.setRotationPoint(-18F, -1F, 1F); - Shape33.setTextureSize(128, 64); - Shape33.mirror = true; - setRotation(Shape33, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, ItemStack item) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Shape2.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Shape6.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - Shape7.render(f5); - Shape8.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Shape9.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - Shape10.render(f5); - Shape11.render(f5); - Shape12.render(f5); - Shape13.render(f5); - Shape14.render(f5); - Shape15.render(f5); - Shape16.render(f5); - Shape17.render(f5); - Shape18.render(f5); - - int ammo = ItemGunBase.getMag(item); - if(ammo > 0) { - Shape19.render(f5); - Shape20.render(f5); - Shape21.render(f5); - Shape22.render(f5); - Shape23.render(f5); - Shape24.render(f5); - Shape25.render(f5); - Shape26.render(f5); - } - - Shape27.render(f5); - Shape28.render(f5); - Shape29.render(f5); - Shape30.render(f5); - Shape31.render(f5); - Shape32.render(f5); - Shape33.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelFolly.java b/src/main/java/com/hbm/render/model/ModelFolly.java deleted file mode 100644 index cdf189d7d..000000000 --- a/src/main/java/com/hbm/render/model/ModelFolly.java +++ /dev/null @@ -1,322 +0,0 @@ -// Date: 13.01.2019 13:32:43 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.entity.Entity; - -public class ModelFolly extends ModelBase { - // fields - ModelRenderer SB1; - ModelRenderer SB2; - ModelRenderer SB3; - ModelRenderer SB4; - ModelRenderer SB5; - ModelRenderer SB6; - ModelRenderer SB7; - ModelRenderer SB8; - ModelRenderer SP; - ModelRenderer B1; - ModelRenderer B2; - ModelRenderer B3; - ModelRenderer SF1; - ModelRenderer SF2; - ModelRenderer SF3; - ModelRenderer SF4; - ModelRenderer P1; - ModelRenderer P2; - ModelRenderer P3; - ModelRenderer P4; - ModelRenderer Grip; - ModelRenderer SPointer; - - public ModelFolly() { - textureWidth = 64; - textureHeight = 64; - - SB1 = new ModelRenderer(this, 0, 0); - SB1.addBox(-16F, -1F, 0F, 16, 1, 3); - SB1.setRotationPoint(0F, 4F, -1.5F); - SB1.setTextureSize(64, 32); - SB1.mirror = true; - setRotation(SB1, 0F, 0F, 0F); - SB2 = new ModelRenderer(this, 0, 16); - SB2.addBox(-16F, -1.5F, 0F, 16, 1, 1); - SB2.setRotationPoint(0F, 4F, 1F); - SB2.setTextureSize(64, 32); - SB2.mirror = true; - setRotation(SB2, 0F, 0F, 0F); - SB3 = new ModelRenderer(this, 0, 18); - SB3.addBox(-16F, -1.5F, 0F, 16, 1, 1); - SB3.setRotationPoint(0F, 4F, -2F); - SB3.setTextureSize(64, 32); - SB3.mirror = true; - setRotation(SB3, 0F, 0F, 0F); - SB4 = new ModelRenderer(this, 0, 8); - SB4.addBox(-16F, -4F, 0F, 16, 3, 1); - SB4.setRotationPoint(0F, 4F, -2.5F); - SB4.setTextureSize(64, 32); - SB4.mirror = true; - setRotation(SB4, 0F, 0F, 0F); - SB5 = new ModelRenderer(this, 0, 12); - SB5.addBox(-16F, -4F, 0F, 16, 3, 1); - SB5.setRotationPoint(0F, 4F, 1.5F); - SB5.setTextureSize(64, 32); - SB5.mirror = true; - setRotation(SB5, 0F, 0F, 0F); - SB6 = new ModelRenderer(this, 0, 20); - SB6.addBox(-16F, -4.5F, 0F, 16, 1, 1); - SB6.setRotationPoint(0F, 4F, 1F); - SB6.setTextureSize(64, 32); - SB6.mirror = true; - setRotation(SB6, 0F, 0F, 0F); - SB7 = new ModelRenderer(this, 0, 22); - SB7.addBox(-16F, -4.5F, 0F, 16, 1, 1); - SB7.setRotationPoint(0F, 4F, -2F); - SB7.setTextureSize(64, 32); - SB7.mirror = true; - setRotation(SB7, 0F, 0F, 0F); - SB8 = new ModelRenderer(this, 0, 4); - SB8.addBox(-16F, -5F, 0F, 16, 1, 3); - SB8.setRotationPoint(0F, 4F, -1.5F); - SB8.setTextureSize(64, 32); - SB8.mirror = true; - setRotation(SB8, 0F, 0F, 0F); - SP = new ModelRenderer(this, 58, 0); - SP.addBox(0F, -4F, 0F, 0, 3, 3); - SP.setRotationPoint(-0.5F, 4F, -1.5F); - SP.setTextureSize(64, 32); - SP.mirror = true; - setRotation(SP, 0F, 0F, 0F); - B1 = new ModelRenderer(this, 0, 40); - B1.addBox(0F, 0F, 0F, 5, 5, 3); - B1.setRotationPoint(0F, -1F, -1.5F); - B1.setTextureSize(64, 32); - B1.mirror = true; - setRotation(B1, 0F, 0F, 0F); - B2 = new ModelRenderer(this, 0, 48); - B2.addBox(0F, 0F, 0F, 5, 3, 5); - B2.setRotationPoint(0F, 0F, -2.5F); - B2.setTextureSize(64, 32); - B2.mirror = true; - setRotation(B2, 0F, 0F, 0F); - B3 = new ModelRenderer(this, 0, 56); - B3.addBox(0F, 0F, 0F, 5, 4, 4); - B3.setRotationPoint(0F, -0.5F, -2F); - B3.setTextureSize(64, 32); - B3.mirror = true; - setRotation(B3, 0F, 0F, 0F); - SF1 = new ModelRenderer(this, 0, 24); - SF1.addBox(-32F, -1.5F, 0F, 16, 1, 3); - SF1.setRotationPoint(0F, 4F, -1.5F); - SF1.setTextureSize(64, 32); - SF1.mirror = true; - setRotation(SF1, 0F, 0F, 0F); - SF2 = new ModelRenderer(this, 0, 28); - SF2.addBox(-32F, -4.5F, 0F, 16, 1, 3); - SF2.setRotationPoint(0F, 4F, -1.5F); - SF2.setTextureSize(64, 32); - SF2.mirror = true; - setRotation(SF2, 0F, 0F, 0F); - SF3 = new ModelRenderer(this, 0, 32); - SF3.addBox(-32F, -4F, 0F, 16, 3, 1); - SF3.setRotationPoint(0F, 4F, -2F); - SF3.setTextureSize(64, 32); - SF3.mirror = true; - setRotation(SF3, 0F, 0F, 0F); - SF4 = new ModelRenderer(this, 0, 36); - SF4.addBox(-32F, -4F, 0F, 16, 3, 1); - SF4.setRotationPoint(0F, 4F, 1F); - SF4.setTextureSize(64, 32); - SF4.mirror = true; - setRotation(SF4, 0F, 0F, 0F); - P1 = new ModelRenderer(this, 58, 6); - P1.addBox(0F, 0F, 0F, 1, 4, 2); - P1.setRotationPoint(5F, 1F, -1F); - P1.setTextureSize(64, 32); - P1.mirror = true; - setRotation(P1, 0F, 0F, 0F); - P2 = new ModelRenderer(this, 52, 0); - P2.addBox(-1F, -2F, 0F, 1, 2, 2); - P2.setRotationPoint(6F, 1F, -1F); - P2.setTextureSize(64, 32); - P2.mirror = true; - setRotation(P2, 0F, 0F, -0.5235988F); - P3 = new ModelRenderer(this, 42, 0); - P3.addBox(0F, 0F, 0F, 1, 1, 4); - P3.setRotationPoint(4.5F, 1F, -2F); - P3.setTextureSize(64, 32); - P3.mirror = true; - setRotation(P3, 0F, 0F, 0F); - P4 = new ModelRenderer(this, 44, 5); - P4.addBox(0F, 0F, 0F, 5, 1, 2); - P4.setRotationPoint(0F, 4F, -1F); - P4.setTextureSize(64, 32); - P4.mirror = true; - setRotation(P4, 0F, 0F, 0F); - Grip = new ModelRenderer(this, 52, 8); - Grip.addBox(0F, 0F, 0F, 2, 4, 1); - Grip.setRotationPoint(2F, 5F, -0.5F); - Grip.setTextureSize(64, 32); - Grip.mirror = true; - setRotation(Grip, 0F, 0F, -0.2617994F); - SPointer = new ModelRenderer(this, 56, 13); - SPointer.addBox(-32F, -0.5F, 0F, 3, 1, 1); - SPointer.setRotationPoint(0F, 4F, -0.5F); - SPointer.setTextureSize(64, 32); - SPointer.mirror = true; - setRotation(SPointer, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - SB1.render(f5); - SB2.render(f5); - SB3.render(f5); - SB4.render(f5); - SB5.render(f5); - SB6.render(f5); - SB7.render(f5); - SB8.render(f5); - SP.render(f5); - B1.render(f5); - B2.render(f5); - B3.render(f5); - SF1.render(f5); - SF2.render(f5); - SF3.render(f5); - SF4.render(f5); - P1.render(f5); - P2.render(f5); - P3.render(f5); - P4.render(f5); - Grip.render(f5); - SPointer.render(f5); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, int state, int timer) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - - float rotate = (float) (Math.PI * -70D / 180D); - - if(state == 1 || state == 2) { - SB1.rotateAngleZ = rotate; - SB2.rotateAngleZ = rotate; - SB3.rotateAngleZ = rotate; - SB4.rotateAngleZ = rotate; - SB5.rotateAngleZ = rotate; - SB6.rotateAngleZ = rotate; - SB7.rotateAngleZ = rotate; - SB8.rotateAngleZ = rotate; - SP.rotateAngleZ = rotate; - SPointer.rotateAngleZ = rotate; - SF1.rotateAngleZ = rotate; - SF2.rotateAngleZ = rotate; - SF3.rotateAngleZ = rotate; - SF4.rotateAngleZ = rotate; - } else { - SB1.rotateAngleZ = 0; - SB2.rotateAngleZ = 0; - SB3.rotateAngleZ = 0; - SB4.rotateAngleZ = 0; - SB5.rotateAngleZ = 0; - SB6.rotateAngleZ = 0; - SB7.rotateAngleZ = 0; - SB8.rotateAngleZ = 0; - SP.rotateAngleZ = 0; - SPointer.rotateAngleZ = 0; - SF1.rotateAngleZ = 0; - SF2.rotateAngleZ = 0; - SF3.rotateAngleZ = 0; - SF4.rotateAngleZ = 0; - } - - SB1.render(f5); - SB2.render(f5); - SB3.render(f5); - SB4.render(f5); - SB5.render(f5); - SB6.render(f5); - SB7.render(f5); - SB8.render(f5); - - if(state == 2 || state == 3) { - SP.render(f5); - } - - B1.render(f5); - B2.render(f5); - B3.render(f5); - SF1.render(f5); - SF2.render(f5); - SF3.render(f5); - SF4.render(f5); - P1.render(f5); - P2.render(f5); - P3.render(f5); - P4.render(f5); - Grip.render(f5); - SPointer.render(f5); - - if(state == 3 && timer > -1) { - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_LIGHTING); - - Tessellator tessellator = Tessellator.instance; - int color = 0x00FF00; - - if(timer == 0) - color = 0xFF0000; - - tessellator.startDrawing(3); - tessellator.setColorOpaque_I(color); - tessellator.addVertex(-32F / 16F, 0 + 4F / 16F, 0); - tessellator.addVertex(-150, timer, 0); - tessellator.draw(); - - tessellator.startDrawing(3); - tessellator.setColorOpaque_I(color); - tessellator.addVertex(-32F / 16F, 0 + 4F / 16F, 0); - tessellator.addVertex(-150, -timer, 0); - tessellator.draw(); - - tessellator.startDrawing(3); - tessellator.setColorOpaque_I(color); - tessellator.addVertex(-32F / 16F, 0 + 4F / 16F, 0); - tessellator.addVertex(-150, 0, timer); - tessellator.draw(); - - tessellator.startDrawing(3); - tessellator.setColorOpaque_I(color); - tessellator.addVertex(-32F / 16F, 0 + 4F / 16F, 0); - tessellator.addVertex(-150, 0, -timer); - tessellator.draw(); - - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glPopMatrix(); - } - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelGasMask.java b/src/main/java/com/hbm/render/model/ModelGasMask.java index a32833c9b..aa0bec288 100644 --- a/src/main/java/com/hbm/render/model/ModelGasMask.java +++ b/src/main/java/com/hbm/render/model/ModelGasMask.java @@ -14,7 +14,7 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; public class ModelGasMask extends ModelBiped { - // fields + ModelRenderer mask; ModelRenderer Shape1; ModelRenderer Shape2; @@ -24,73 +24,64 @@ public class ModelGasMask extends ModelBiped { ModelRenderer Shape6; public ModelGasMask() { - textureWidth = 64; - textureHeight = 32; + this.textureWidth = 64; + this.textureHeight = 32; - mask = new ModelRenderer(this, 0, 0); - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 8, 8, 3); - Shape1.setRotationPoint(0F - 4, 0F - 8 + 0.075F / 2, 0F - 4); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - convertToChild(mask, Shape1); - Shape2 = new ModelRenderer(this, 22, 0); - Shape2.addBox(0F, 0F, 0F, 2, 2, 1); - Shape2.setRotationPoint(1F - 4, 3F - 8 + 0.075F / 2, -0.5333334F - 4); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - convertToChild(mask, Shape2); - Shape3 = new ModelRenderer(this, 22, 0); - Shape3.addBox(0F, 0F, 0F, 2, 2, 1); - Shape3.setRotationPoint(5F - 4, 3F - 8 + 0.075F / 2, -0.5F - 4); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - convertToChild(mask, Shape3); - Shape4 = new ModelRenderer(this, 0, 11); - Shape4.addBox(0F, 0F, 0F, 2, 2, 2); - Shape4.setRotationPoint(3F - 4, 5F - 8 + 0.075F / 2, 0F - 4); - Shape4.setTextureSize(64, 32); - Shape4.mirror = true; - setRotation(Shape4, -0.7853982F, 0F, 0F); - convertToChild(mask, Shape4); - Shape5 = new ModelRenderer(this, 0, 15); - Shape5.addBox(0F, 2F, -0.5F, 3, 4, 3); - Shape5.setRotationPoint(2.5F - 4, 5F - 8 + 0.075F / 2, 0F - 4); - Shape5.setTextureSize(64, 32); - Shape5.mirror = true; - setRotation(Shape5, -0.7853982F, 0F, 0F); - convertToChild(mask, Shape5); - Shape6 = new ModelRenderer(this, 0, 22); - Shape6.addBox(0F, 0F, 0F, 8, 1, 5); - Shape6.setRotationPoint(0F - 4, 3F - 8 + 0.075F / 2, 3F - 4); - Shape6.setTextureSize(64, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - convertToChild(mask, Shape6); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; + this.mask = new ModelRenderer(this, 0, 0); + this.Shape1 = new ModelRenderer(this, 0, 0); + this.Shape1.addBox(0F, 0F, 0F, 8, 8, 3); + this.Shape1.setRotationPoint(0F - 4, 0F - 8 + 0.075F / 2, 0F - 4); + this.Shape1.setTextureSize(64, 32); + this.Shape1.mirror = true; + setRotation(this.Shape1, 0F, 0F, 0F); + convertToChild(this.mask, this.Shape1); + this.Shape2 = new ModelRenderer(this, 22, 0); + this.Shape2.addBox(0F, 0F, 0F, 2, 2, 1); + this.Shape2.setRotationPoint(1F - 4, 3F - 8 + 0.075F / 2, -0.5333334F - 4); + this.Shape2.setTextureSize(64, 32); + this.Shape2.mirror = true; + setRotation(this.Shape2, 0F, 0F, 0F); + convertToChild(this.mask, this.Shape2); + this.Shape3 = new ModelRenderer(this, 22, 0); + this.Shape3.addBox(0F, 0F, 0F, 2, 2, 1); + this.Shape3.setRotationPoint(5F - 4, 3F - 8 + 0.075F / 2, -0.5F - 4); + this.Shape3.setTextureSize(64, 32); + this.Shape3.mirror = true; + setRotation(this.Shape3, 0F, 0F, 0F); + convertToChild(this.mask, this.Shape3); + this.Shape4 = new ModelRenderer(this, 0, 11); + this.Shape4.addBox(0F, 0F, 0F, 2, 2, 2); + this.Shape4.setRotationPoint(3F - 4, 5F - 8 + 0.075F / 2, 0F - 4); + this.Shape4.setTextureSize(64, 32); + this.Shape4.mirror = true; + setRotation(this.Shape4, -0.7853982F, 0F, 0F); + convertToChild(this.mask, this.Shape4); + this.Shape5 = new ModelRenderer(this, 0, 15); + this.Shape5.addBox(0F, 2F, -0.5F, 3, 4, 3); + this.Shape5.setRotationPoint(2.5F - 4, 5F - 8 + 0.075F / 2, 0F - 4); + this.Shape5.setTextureSize(64, 32); + this.Shape5.mirror = true; + setRotation(this.Shape5, -0.7853982F, 0F, 0F); + convertToChild(this.mask, this.Shape5); + this.Shape6 = new ModelRenderer(this, 0, 22); + this.Shape6.addBox(0F, 0F, 0F, 8, 1, 5); + this.Shape6.setRotationPoint(0F - 4, 3F - 8 + 0.075F / 2, 3F - 4); + this.Shape6.setTextureSize(64, 32); + this.Shape6.mirror = true; + setRotation(this.Shape6, 0F, 0F, 0F); + convertToChild(this.mask, this.Shape6); } @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { + public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entity) { - if (entity instanceof EntityPlayer) { + if(entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) entity; - if (player.isSneaking()) { - this.isSneak = true; - } else { - this.isSneak = false; - } + this.isSneak = player.isSneaking(); } - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + this.mask.rotationPointX = this.bipedHead.rotationPointX; this.mask.rotationPointY = this.bipedHead.rotationPointY; this.mask.rotateAngleY = this.bipedHead.rotateAngleY; @@ -98,35 +89,41 @@ public class ModelGasMask extends ModelBiped { } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + if(this.isChild) { float f6 = 2.0F; GL11.glPushMatrix(); GL11.glScalef(1.5F / f6, 1.5F / f6, 1.5F / f6); - GL11.glTranslatef(0.0F, 16.0F * par7, 0.0F); - this.mask.render(par7); - GL11.glPopMatrix(); + GL11.glTranslatef(0.0F, 16.0F * scaleFactor, 0.0F); } else { GL11.glPushMatrix(); GL11.glScalef(1.15F, 1.15F, 1.15F); - this.mask.render(par7); - GL11.glPopMatrix(); } + this.mask.render(scaleFactor); + GL11.glPopMatrix(); } - protected void convertToChild(ModelRenderer parParent, ModelRenderer parChild) { + protected static void convertToChild(ModelRenderer parent, ModelRenderer child) { + // move child rotation point to be relative to parent - parChild.rotationPointX -= parParent.rotationPointX; - parChild.rotationPointY -= parParent.rotationPointY; - parChild.rotationPointZ -= parParent.rotationPointZ; + child.rotationPointX -= parent.rotationPointX; + child.rotationPointY -= parent.rotationPointY; + child.rotationPointZ -= parent.rotationPointZ; // make rotations relative to parent - parChild.rotateAngleX -= parParent.rotateAngleX; - parChild.rotateAngleY -= parParent.rotateAngleY; - parChild.rotateAngleZ -= parParent.rotateAngleZ; + child.rotateAngleX -= parent.rotateAngleX; + child.rotateAngleY -= parent.rotateAngleY; + child.rotateAngleZ -= parent.rotateAngleZ; // create relationship - parParent.addChild(parChild); + parent.addChild(child); } + private static void setRotation(ModelRenderer model, float x, float y, float z) { + + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } } diff --git a/src/main/java/com/hbm/render/model/ModelGeiger.java b/src/main/java/com/hbm/render/model/ModelGeiger.java index ea50dbaef..435ed30f9 100644 --- a/src/main/java/com/hbm/render/model/ModelGeiger.java +++ b/src/main/java/com/hbm/render/model/ModelGeiger.java @@ -11,7 +11,7 @@ import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelGeiger extends ModelBase { - // fields + ModelRenderer Shape1; ModelRenderer Shape2; ModelRenderer Shape3; @@ -22,91 +22,81 @@ public class ModelGeiger extends ModelBase { ModelRenderer Shape8; public ModelGeiger() { - textureWidth = 64; - textureHeight = 32; + this.textureWidth = 64; + this.textureHeight = 32; - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 12, 7, 5); - Shape1.setRotationPoint(-5F, 17F, 1F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 30); - Shape2.addBox(0F, 0F, 0F, 7, 1, 1); - Shape2.setRotationPoint(-2.5F, 15F, 3F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 10, 18); - Shape3.addBox(0F, 0F, 0F, 1, 2, 1); - Shape3.setRotationPoint(-3F, 15.5F, 3F); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 14, 18); - Shape4.addBox(0F, 0F, 0F, 1, 2, 1); - Shape4.setRotationPoint(4F, 15.5F, 3F); - Shape4.setTextureSize(64, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 0, 12); - Shape5.addBox(0F, 0F, 0F, 7, 3, 3); - Shape5.setRotationPoint(-4F, 21F, -6F); - Shape5.setTextureSize(64, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 20, 12); - Shape6.addBox(0F, 0F, 0F, 2, 6, 2); - Shape6.setRotationPoint(-7F, 18F, 2.5F); - Shape6.setTextureSize(64, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 0, 18); - Shape7.addBox(0F, 0F, 0F, 3, 2, 2); - Shape7.setRotationPoint(-7F, 22F, -5.5F); - Shape7.setTextureSize(64, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - Shape8 = new ModelRenderer(this, 0, 22); - Shape8.addBox(0F, 0F, 0F, 2, 2, 6); - Shape8.setRotationPoint(-7F, 22F, -3.5F); - Shape8.setTextureSize(64, 32); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); + this.Shape1 = new ModelRenderer(this, 0, 0); + this.Shape1.addBox(0F, 0F, 0F, 12, 7, 5); + this.Shape1.setRotationPoint(-5F, 17F, 1F); + this.Shape1.setTextureSize(64, 32); + this.Shape1.mirror = true; + setRotation(this.Shape1, 0F, 0F, 0F); + this.Shape2 = new ModelRenderer(this, 0, 30); + this.Shape2.addBox(0F, 0F, 0F, 7, 1, 1); + this.Shape2.setRotationPoint(-2.5F, 15F, 3F); + this.Shape2.setTextureSize(64, 32); + this.Shape2.mirror = true; + setRotation(this.Shape2, 0F, 0F, 0F); + this.Shape3 = new ModelRenderer(this, 10, 18); + this.Shape3.addBox(0F, 0F, 0F, 1, 2, 1); + this.Shape3.setRotationPoint(-3F, 15.5F, 3F); + this.Shape3.setTextureSize(64, 32); + this.Shape3.mirror = true; + setRotation(this.Shape3, 0F, 0F, 0F); + this.Shape4 = new ModelRenderer(this, 14, 18); + this.Shape4.addBox(0F, 0F, 0F, 1, 2, 1); + this.Shape4.setRotationPoint(4F, 15.5F, 3F); + this.Shape4.setTextureSize(64, 32); + this.Shape4.mirror = true; + setRotation(this.Shape4, 0F, 0F, 0F); + this.Shape5 = new ModelRenderer(this, 0, 12); + this.Shape5.addBox(0F, 0F, 0F, 7, 3, 3); + this.Shape5.setRotationPoint(-4F, 21F, -6F); + this.Shape5.setTextureSize(64, 32); + this.Shape5.mirror = true; + setRotation(this.Shape5, 0F, 0F, 0F); + this.Shape6 = new ModelRenderer(this, 20, 12); + this.Shape6.addBox(0F, 0F, 0F, 2, 6, 2); + this.Shape6.setRotationPoint(-7F, 18F, 2.5F); + this.Shape6.setTextureSize(64, 32); + this.Shape6.mirror = true; + setRotation(this.Shape6, 0F, 0F, 0F); + this.Shape7 = new ModelRenderer(this, 0, 18); + this.Shape7.addBox(0F, 0F, 0F, 3, 2, 2); + this.Shape7.setRotationPoint(-7F, 22F, -5.5F); + this.Shape7.setTextureSize(64, 32); + this.Shape7.mirror = true; + setRotation(this.Shape7, 0F, 0F, 0F); + this.Shape8 = new ModelRenderer(this, 0, 22); + this.Shape8.addBox(0F, 0F, 0F, 2, 2, 6); + this.Shape8.setRotationPoint(-7F, 22F, -3.5F); + this.Shape8.setTextureSize(64, 32); + this.Shape8.mirror = true; + setRotation(this.Shape8, 0F, 0F, 0F); } - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.renderModel(scaleFactor); } - public void renderModel(float f) { - Shape1.render(f); - Shape2.render(f); - Shape3.render(f); - Shape4.render(f); - Shape5.render(f); - Shape6.render(f); - Shape7.render(f); - Shape8.render(f); + public void renderModel(float scaleFactor) { + + this.Shape1.render(scaleFactor); + this.Shape2.render(scaleFactor); + this.Shape3.render(scaleFactor); + this.Shape4.render(scaleFactor); + this.Shape5.render(scaleFactor); + this.Shape6.render(scaleFactor); + this.Shape7.render(scaleFactor); + this.Shape8.render(scaleFactor); } - private void setRotation(ModelRenderer model, float x, float y, float z) { + private static void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - } diff --git a/src/main/java/com/hbm/render/model/ModelGlasses.java b/src/main/java/com/hbm/render/model/ModelGlasses.java index 9c57954fd..ef3e02328 100644 --- a/src/main/java/com/hbm/render/model/ModelGlasses.java +++ b/src/main/java/com/hbm/render/model/ModelGlasses.java @@ -5,36 +5,35 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; import com.hbm.render.loader.ModelRendererObj; -import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; public class ModelGlasses extends ModelArmorBase { - + public ModelGlasses(int type) { super(type); - head = new ModelRendererObj(ResourceManager.armor_goggles); - body = new ModelRendererObj(ResourceManager.armor_bj, "Body"); - leftArm = new ModelRendererObj(ResourceManager.armor_bj, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F); - rightArm = new ModelRendererObj(ResourceManager.armor_bj, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F); - leftLeg = new ModelRendererObj(ResourceManager.armor_bj, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); - rightLeg = new ModelRendererObj(ResourceManager.armor_bj, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); - leftFoot = new ModelRendererObj(ResourceManager.armor_bj, "LeftFoot").setRotationPoint(1.9F, 12.0F, 0.0F); - rightFoot = new ModelRendererObj(ResourceManager.armor_bj, "RightFoot").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.head = new ModelRendererObj(ResourceManager.armor_goggles); + this.body = new ModelRendererObj(ResourceManager.armor_bj, "Body"); + this.leftArm = new ModelRendererObj(ResourceManager.armor_bj, "LeftArm").setRotationPoint(5.0F, 2.0F, 0.0F); + this.rightArm = new ModelRendererObj(ResourceManager.armor_bj, "RightArm").setRotationPoint(-5.0F, 2.0F, 0.0F); + this.leftLeg = new ModelRendererObj(ResourceManager.armor_bj, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightLeg = new ModelRendererObj(ResourceManager.armor_bj, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.leftFoot = new ModelRendererObj(ResourceManager.armor_bj, "LeftFoot").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightFoot = new ModelRendererObj(ResourceManager.armor_bj, "RightFoot").setRotationPoint(-1.9F, 12.0F, 0.0F); } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + GL11.glPushMatrix(); - - if(type == 0) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.goggles); - head.render(par7); + + if(this.type == 0) { + bindTexture(ResourceManager.goggles); + this.head.render(scaleFactor); } - + GL11.glPopMatrix(); } } diff --git a/src/main/java/com/hbm/render/model/ModelGloves.java b/src/main/java/com/hbm/render/model/ModelGloves.java deleted file mode 100644 index 797d82d0d..000000000 --- a/src/main/java/com/hbm/render/model/ModelGloves.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.hbm.render.model; - -public class ModelGloves { - - //TODO: make the rubber gloves actually render when worn - public ModelGloves() { - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelGoggles.java b/src/main/java/com/hbm/render/model/ModelGoggles.java index a4706646e..38900812a 100644 --- a/src/main/java/com/hbm/render/model/ModelGoggles.java +++ b/src/main/java/com/hbm/render/model/ModelGoggles.java @@ -14,7 +14,7 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; public class ModelGoggles extends ModelBiped { - // fields + ModelRenderer Shape1; ModelRenderer Shape2; ModelRenderer Shape5; @@ -23,74 +23,56 @@ public class ModelGoggles extends ModelBiped { ModelRenderer google; public ModelGoggles() { - textureWidth = 64; - textureHeight = 32; + this.textureWidth = 64; + this.textureHeight = 32; - google = new ModelRenderer(this, 0, 0); - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 9, 3, 1); - Shape1.setRotationPoint(-4.5F, -3F - 2, -4.5F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - convertToChild(google, Shape1); - Shape2 = new ModelRenderer(this, 0, 4); - Shape2.addBox(0F, 0F, 0F, 9, 2, 5); - Shape2.setRotationPoint(-4.5F, -3F - 2, -3.5F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - convertToChild(google, Shape2); - Shape5 = new ModelRenderer(this, 26, 0); - Shape5.addBox(0F, 0F, 0F, 2, 2, 1); - Shape5.setRotationPoint(1F, -2.5F - 2, -5F); - Shape5.setTextureSize(64, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - convertToChild(google, Shape5); - Shape6 = new ModelRenderer(this, 20, 0); - Shape6.addBox(0F, 0F, 0F, 2, 2, 1); - Shape6.setRotationPoint(-3F, -2.5F - 2, -5F); - Shape6.setTextureSize(64, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - convertToChild(google, Shape6); - Shape7 = new ModelRenderer(this, 0, 11); - Shape7.addBox(0F, 0F, 0F, 9, 1, 4); - Shape7.setRotationPoint(-4.5F, -3F - 2, 0.5F); - Shape7.setTextureSize(64, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - convertToChild(google, Shape7); - } - - /* - * public void render(Entity entity, float f, float f1, float f2, float f3, - * float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); - * setRotationAngles(f, f1, f2, f3, f4, f5, entity); Shape1.render(f5); - * Shape2.render(f5); Shape5.render(f5); Shape6.render(f5); - * Shape7.render(f5); } - */ - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; + this.google = new ModelRenderer(this, 0, 0); + this.Shape1 = new ModelRenderer(this, 0, 0); + this.Shape1.addBox(0F, 0F, 0F, 9, 3, 1); + this.Shape1.setRotationPoint(-4.5F, -3F - 2, -4.5F); + this.Shape1.setTextureSize(64, 32); + this.Shape1.mirror = true; + setRotation(this.Shape1, 0F, 0F, 0F); + convertToChild(this.google, this.Shape1); + this.Shape2 = new ModelRenderer(this, 0, 4); + this.Shape2.addBox(0F, 0F, 0F, 9, 2, 5); + this.Shape2.setRotationPoint(-4.5F, -3F - 2, -3.5F); + this.Shape2.setTextureSize(64, 32); + this.Shape2.mirror = true; + setRotation(this.Shape2, 0F, 0F, 0F); + convertToChild(this.google, this.Shape2); + this.Shape5 = new ModelRenderer(this, 26, 0); + this.Shape5.addBox(0F, 0F, 0F, 2, 2, 1); + this.Shape5.setRotationPoint(1F, -2.5F - 2, -5F); + this.Shape5.setTextureSize(64, 32); + this.Shape5.mirror = true; + setRotation(this.Shape5, 0F, 0F, 0F); + convertToChild(this.google, this.Shape5); + this.Shape6 = new ModelRenderer(this, 20, 0); + this.Shape6.addBox(0F, 0F, 0F, 2, 2, 1); + this.Shape6.setRotationPoint(-3F, -2.5F - 2, -5F); + this.Shape6.setTextureSize(64, 32); + this.Shape6.mirror = true; + setRotation(this.Shape6, 0F, 0F, 0F); + convertToChild(this.google, this.Shape6); + this.Shape7 = new ModelRenderer(this, 0, 11); + this.Shape7.addBox(0F, 0F, 0F, 9, 1, 4); + this.Shape7.setRotationPoint(-4.5F, -3F - 2, 0.5F); + this.Shape7.setTextureSize(64, 32); + this.Shape7.mirror = true; + setRotation(this.Shape7, 0F, 0F, 0F); + convertToChild(this.google, this.Shape7); } @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { + public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entity) { - if (entity instanceof EntityPlayer) { + if(entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) entity; - if (player.isSneaking()) { - this.isSneak = true; - } else { - this.isSneak = false; - } + this.isSneak = player.isSneaking(); } - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); this.google.rotationPointX = this.bipedHead.rotationPointX; this.google.rotationPointY = this.bipedHead.rotationPointY; this.google.rotateAngleY = this.bipedHead.rotateAngleY; @@ -98,24 +80,32 @@ public class ModelGoggles extends ModelBiped { } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); GL11.glPushMatrix(); - this.google.render(par7); + this.google.render(scaleFactor); GL11.glPopMatrix(); } - protected void convertToChild(ModelRenderer parParent, ModelRenderer parChild) { + protected static void convertToChild(ModelRenderer parent, ModelRenderer child) { + // move child rotation point to be relative to parent - parChild.rotationPointX -= parParent.rotationPointX; - parChild.rotationPointY -= parParent.rotationPointY; - parChild.rotationPointZ -= parParent.rotationPointZ; + child.rotationPointX -= parent.rotationPointX; + child.rotationPointY -= parent.rotationPointY; + child.rotationPointZ -= parent.rotationPointZ; // make rotations relative to parent - parChild.rotateAngleX -= parParent.rotateAngleX; - parChild.rotateAngleY -= parParent.rotateAngleY; - parChild.rotateAngleZ -= parParent.rotateAngleZ; + child.rotateAngleX -= parent.rotateAngleX; + child.rotateAngleY -= parent.rotateAngleY; + child.rotateAngleZ -= parent.rotateAngleZ; // create relationship - parParent.addChild(parChild); + parent.addChild(child); } -} \ No newline at end of file + private static void setRotation(ModelRenderer model, float x, float y, float z) { + + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } +} diff --git a/src/main/java/com/hbm/render/model/ModelGrenade.java b/src/main/java/com/hbm/render/model/ModelGrenade.java deleted file mode 100644 index 88ee4dddb..000000000 --- a/src/main/java/com/hbm/render/model/ModelGrenade.java +++ /dev/null @@ -1,67 +0,0 @@ -// Date: 23.01.2019 10:30:04 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelGrenade extends ModelBase { - // fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - - public ModelGrenade() { - textureWidth = 32; - textureHeight = 32; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 8, 8, 8); - Shape1.setRotationPoint(-4F, -4F, -4F); - Shape1.setTextureSize(32, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 16); - Shape2.addBox(0F, 0F, 0F, 4, 6, 6); - Shape2.setRotationPoint(-8F, -3F, -3F); - Shape2.setTextureSize(32, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 20, 16); - Shape3.addBox(0F, 0F, 0F, 1, 4, 4); - Shape3.setRotationPoint(-9F, -2F, -2F); - Shape3.setTextureSize(32, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - } - - public void renderAll(float f5) { - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelGun.java b/src/main/java/com/hbm/render/model/ModelGun.java index 2fcd6f690..ffc3adbe7 100644 --- a/src/main/java/com/hbm/render/model/ModelGun.java +++ b/src/main/java/com/hbm/render/model/ModelGun.java @@ -4,195 +4,165 @@ // Keep in mind that you still need to fill in some blanks // - ZeuX - - - - - package com.hbm.render.model; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -public class ModelGun extends ModelBase -{ - //fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - ModelRenderer Shape10; - ModelRenderer Shape11; - ModelRenderer Shape12; - ModelRenderer Shape13; - ModelRenderer Shape14; - ModelRenderer Shape15; - ModelRenderer Shape16; - - public ModelGun() - { - textureWidth = 64; - textureHeight = 64; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 6, 12, 4); - Shape1.setRotationPoint(0F, -4F, -1F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 52, 0); - Shape2.addBox(0F, 0F, 0F, 3, 3, 3); - Shape2.setRotationPoint(4F, -7F, -0.5F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 28, 58); - Shape3.addBox(0F, 0F, 0F, 15, 3, 3); - Shape3.setRotationPoint(-15F, -7F, -0.5F); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 0, 61); - Shape4.addBox(0F, 0F, 0F, 1, 2, 1); - Shape4.setRotationPoint(2F, -3F, 0.5F); - Shape4.setTextureSize(64, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0.715585F); - Shape5 = new ModelRenderer(this, 0, 57); - Shape5.addBox(0F, 0F, 0F, 2, 2, 1); - Shape5.setRotationPoint(-13.5F, -8F, 0.5F); - Shape5.setTextureSize(64, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0.6108652F); - Shape6 = new ModelRenderer(this, 52, 7); - Shape6.addBox(0F, 0F, 0F, 4, 3, 2); - Shape6.setRotationPoint(0F, -6.5F, 0F); - Shape6.setTextureSize(64, 64); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 46, 49); - Shape7.addBox(0F, 0F, 0F, 6, 5, 3); - Shape7.setRotationPoint(-15F, -3F, -0.5F); - Shape7.setTextureSize(64, 64); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - Shape8 = new ModelRenderer(this, 22, 0); - Shape8.addBox(0F, 0F, 0F, 12, 1, 2); - Shape8.setRotationPoint(-15F, -4F, 0F); - Shape8.setTextureSize(64, 64); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - Shape9 = new ModelRenderer(this, 52, 13); - Shape9.addBox(0F, 0F, 0F, 3, 3, 3); - Shape9.setRotationPoint(-3F, -4F, -0.5F); - Shape9.setTextureSize(64, 64); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - Shape10 = new ModelRenderer(this, 11, 60); - Shape10.addBox(0F, 0F, 0F, 6, 2, 2); - Shape10.setRotationPoint(-9F, -3F, 0F); - Shape10.setTextureSize(64, 64); - Shape10.mirror = true; - setRotation(Shape10, 0F, 0F, 0F); - Shape11 = new ModelRenderer(this, 35, 50); - Shape11.addBox(0F, 0F, 0F, 2, 4, 3); - Shape11.setRotationPoint(-9F, -1F, -0.5F); - Shape11.setTextureSize(64, 64); - Shape11.mirror = true; - setRotation(Shape11, 0F, 0F, 0F); - Shape12 = new ModelRenderer(this, 12, 57); - Shape12.addBox(0F, 0F, 0F, 7, 1, 1); - Shape12.setRotationPoint(-7F, 2F, 0.5F); - Shape12.setTextureSize(64, 64); - Shape12.mirror = true; - setRotation(Shape12, 0F, 0F, 0F); - Shape13 = new ModelRenderer(this, 0, 51); - Shape13.addBox(0F, 0F, 0F, 4, 1, 4); - Shape13.setRotationPoint(0F, -5F, -1F); - Shape13.setTextureSize(64, 64); - Shape13.mirror = true; - setRotation(Shape13, 0F, 0F, 0F); - Shape14 = new ModelRenderer(this, 0, 43); - Shape14.addBox(0F, 0F, 0F, 3, 5, 2); - Shape14.setRotationPoint(7F, -7F, 0F); - Shape14.setTextureSize(64, 64); - Shape14.mirror = true; - setRotation(Shape14, 0F, 0F, 0.7853982F); - //Shape15.mirror = true; - Shape15 = new ModelRenderer(this, 0, 38); - Shape15.addBox(0F, 0F, 0F, 3, 1, 3); - Shape15.setRotationPoint(-9F, 3F, -0.5F); - Shape15.setTextureSize(64, 64); - Shape15.mirror = true; - setRotation(Shape15, 0F, 0F, -2.792527F); - Shape15.mirror = false; - Shape16 = new ModelRenderer(this, 0, 17); - Shape16.addBox(0F, 0F, 0F, 2, 3, 1); - Shape16.setRotationPoint(-1F, -2F, 0.5F); - Shape16.setTextureSize(64, 64); - Shape16.mirror = true; - setRotation(Shape16, 0F, 0F, 0.2617994F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - Shape10.render(f5); - Shape11.render(f5); - Shape12.render(f5); - Shape13.render(f5); - Shape14.render(f5); - Shape15.render(f5); - Shape16.render(f5); - } - - public void renderModel(float f) { - Shape1.render(f); - Shape2.render(f); - Shape3.render(f); - Shape4.render(f); - Shape5.render(f); - Shape6.render(f); - Shape7.render(f); - Shape8.render(f); - Shape9.render(f); - Shape10.render(f); - Shape11.render(f); - Shape12.render(f); - Shape13.render(f); - Shape14.render(f); - Shape15.render(f); - Shape16.render(f); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } +public class ModelGun extends ModelBase { + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + ModelRenderer Shape4; + ModelRenderer Shape5; + ModelRenderer Shape6; + ModelRenderer Shape7; + ModelRenderer Shape8; + ModelRenderer Shape9; + ModelRenderer Shape10; + ModelRenderer Shape11; + ModelRenderer Shape12; + ModelRenderer Shape13; + ModelRenderer Shape14; + ModelRenderer Shape15; + ModelRenderer Shape16; + + public ModelGun() { + this.textureWidth = 64; + this.textureHeight = 64; + + this.Shape1 = new ModelRenderer(this, 0, 0); + this.Shape1.addBox(0F, 0F, 0F, 6, 12, 4); + this.Shape1.setRotationPoint(0F, -4F, -1F); + this.Shape1.setTextureSize(64, 32); + this.Shape1.mirror = true; + setRotation(this.Shape1, 0F, 0F, 0F); + this.Shape2 = new ModelRenderer(this, 52, 0); + this.Shape2.addBox(0F, 0F, 0F, 3, 3, 3); + this.Shape2.setRotationPoint(4F, -7F, -0.5F); + this.Shape2.setTextureSize(64, 32); + this.Shape2.mirror = true; + setRotation(this.Shape2, 0F, 0F, 0F); + this.Shape3 = new ModelRenderer(this, 28, 58); + this.Shape3.addBox(0F, 0F, 0F, 15, 3, 3); + this.Shape3.setRotationPoint(-15F, -7F, -0.5F); + this.Shape3.setTextureSize(64, 32); + this.Shape3.mirror = true; + setRotation(this.Shape3, 0F, 0F, 0F); + this.Shape4 = new ModelRenderer(this, 0, 61); + this.Shape4.addBox(0F, 0F, 0F, 1, 2, 1); + this.Shape4.setRotationPoint(2F, -3F, 0.5F); + this.Shape4.setTextureSize(64, 32); + this.Shape4.mirror = true; + setRotation(this.Shape4, 0F, 0F, 0.715585F); + this.Shape5 = new ModelRenderer(this, 0, 57); + this.Shape5.addBox(0F, 0F, 0F, 2, 2, 1); + this.Shape5.setRotationPoint(-13.5F, -8F, 0.5F); + this.Shape5.setTextureSize(64, 32); + this.Shape5.mirror = true; + setRotation(this.Shape5, 0F, 0F, 0.6108652F); + this.Shape6 = new ModelRenderer(this, 52, 7); + this.Shape6.addBox(0F, 0F, 0F, 4, 3, 2); + this.Shape6.setRotationPoint(0F, -6.5F, 0F); + this.Shape6.setTextureSize(64, 64); + this.Shape6.mirror = true; + setRotation(this.Shape6, 0F, 0F, 0F); + this.Shape7 = new ModelRenderer(this, 46, 49); + this.Shape7.addBox(0F, 0F, 0F, 6, 5, 3); + this.Shape7.setRotationPoint(-15F, -3F, -0.5F); + this.Shape7.setTextureSize(64, 64); + this.Shape7.mirror = true; + setRotation(this.Shape7, 0F, 0F, 0F); + this.Shape8 = new ModelRenderer(this, 22, 0); + this.Shape8.addBox(0F, 0F, 0F, 12, 1, 2); + this.Shape8.setRotationPoint(-15F, -4F, 0F); + this.Shape8.setTextureSize(64, 64); + this.Shape8.mirror = true; + setRotation(this.Shape8, 0F, 0F, 0F); + this.Shape9 = new ModelRenderer(this, 52, 13); + this.Shape9.addBox(0F, 0F, 0F, 3, 3, 3); + this.Shape9.setRotationPoint(-3F, -4F, -0.5F); + this.Shape9.setTextureSize(64, 64); + this.Shape9.mirror = true; + setRotation(this.Shape9, 0F, 0F, 0F); + this.Shape10 = new ModelRenderer(this, 11, 60); + this.Shape10.addBox(0F, 0F, 0F, 6, 2, 2); + this.Shape10.setRotationPoint(-9F, -3F, 0F); + this.Shape10.setTextureSize(64, 64); + this.Shape10.mirror = true; + setRotation(this.Shape10, 0F, 0F, 0F); + this.Shape11 = new ModelRenderer(this, 35, 50); + this.Shape11.addBox(0F, 0F, 0F, 2, 4, 3); + this.Shape11.setRotationPoint(-9F, -1F, -0.5F); + this.Shape11.setTextureSize(64, 64); + this.Shape11.mirror = true; + setRotation(this.Shape11, 0F, 0F, 0F); + this.Shape12 = new ModelRenderer(this, 12, 57); + this.Shape12.addBox(0F, 0F, 0F, 7, 1, 1); + this.Shape12.setRotationPoint(-7F, 2F, 0.5F); + this.Shape12.setTextureSize(64, 64); + this.Shape12.mirror = true; + setRotation(this.Shape12, 0F, 0F, 0F); + this.Shape13 = new ModelRenderer(this, 0, 51); + this.Shape13.addBox(0F, 0F, 0F, 4, 1, 4); + this.Shape13.setRotationPoint(0F, -5F, -1F); + this.Shape13.setTextureSize(64, 64); + this.Shape13.mirror = true; + setRotation(this.Shape13, 0F, 0F, 0F); + this.Shape14 = new ModelRenderer(this, 0, 43); + this.Shape14.addBox(0F, 0F, 0F, 3, 5, 2); + this.Shape14.setRotationPoint(7F, -7F, 0F); + this.Shape14.setTextureSize(64, 64); + this.Shape14.mirror = true; + setRotation(this.Shape14, 0F, 0F, 0.7853982F); + //Shape15.mirror = true; + this.Shape15 = new ModelRenderer(this, 0, 38); + this.Shape15.addBox(0F, 0F, 0F, 3, 1, 3); + this.Shape15.setRotationPoint(-9F, 3F, -0.5F); + this.Shape15.setTextureSize(64, 64); + this.Shape15.mirror = true; + setRotation(this.Shape15, 0F, 0F, -2.792527F); + this.Shape15.mirror = false; + this.Shape16 = new ModelRenderer(this, 0, 17); + this.Shape16.addBox(0F, 0F, 0F, 2, 3, 1); + this.Shape16.setRotationPoint(-1F, -2F, 0.5F); + this.Shape16.setTextureSize(64, 64); + this.Shape16.mirror = true; + setRotation(this.Shape16, 0F, 0F, 0.2617994F); + } + + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.renderModel(scaleFactor); + } + + public void renderModel(float scaleFactor) { + + this.Shape1.render(scaleFactor); + this.Shape2.render(scaleFactor); + this.Shape3.render(scaleFactor); + this.Shape4.render(scaleFactor); + this.Shape5.render(scaleFactor); + this.Shape6.render(scaleFactor); + this.Shape7.render(scaleFactor); + this.Shape8.render(scaleFactor); + this.Shape9.render(scaleFactor); + this.Shape10.render(scaleFactor); + this.Shape11.render(scaleFactor); + this.Shape12.render(scaleFactor); + this.Shape13.render(scaleFactor); + this.Shape14.render(scaleFactor); + this.Shape15.render(scaleFactor); + this.Shape16.render(scaleFactor); + } + + private static void setRotation(ModelRenderer model, float x, float y, float z) { + + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } } diff --git a/src/main/java/com/hbm/render/model/ModelGustav.java b/src/main/java/com/hbm/render/model/ModelGustav.java deleted file mode 100644 index 43fcd28bc..000000000 --- a/src/main/java/com/hbm/render/model/ModelGustav.java +++ /dev/null @@ -1,313 +0,0 @@ -// Date: 21.01.2019 10:38:11 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelGustav extends ModelBase { - // fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - ModelRenderer Shape10; - ModelRenderer Shape11; - ModelRenderer Shape12; - ModelRenderer Shape13; - ModelRenderer Shape14; - ModelRenderer Shape15; - ModelRenderer Shape16; - ModelRenderer Shape17; - ModelRenderer Shape18; - ModelRenderer Shape19; - ModelRenderer Shape20; - ModelRenderer Shape21; - ModelRenderer Shape22; - ModelRenderer Shape23; - ModelRenderer Shape24; - ModelRenderer Shape25; - ModelRenderer Shape26; - ModelRenderer Shape27; - ModelRenderer Shape28; - ModelRenderer Shape29; - ModelRenderer Shape30; - ModelRenderer Shape31; - ModelRenderer Shape32; - ModelRenderer Shape33; - ModelRenderer Shape34; - - public ModelGustav() { - textureWidth = 128; - textureHeight = 32; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 40, 1, 3); - Shape1.setRotationPoint(-30F, 0F, -1.5F); - Shape1.setTextureSize(128, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 4); - Shape2.addBox(0F, 0F, 0F, 40, 1, 1); - Shape2.setRotationPoint(-30F, -0.5F, -2F); - Shape2.setTextureSize(128, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 6); - Shape3.addBox(0F, 0F, 0F, 40, 1, 1); - Shape3.setRotationPoint(-30F, -0.5F, 1F); - Shape3.setTextureSize(128, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 0, 8); - Shape4.addBox(0F, 0F, 0F, 40, 3, 1); - Shape4.setRotationPoint(-30F, -3F, -2.5F); - Shape4.setTextureSize(128, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 0, 12); - Shape5.addBox(0F, 0F, 0F, 40, 3, 1); - Shape5.setRotationPoint(-30F, -3F, 1.5F); - Shape5.setTextureSize(128, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 0, 16); - Shape6.addBox(0F, 0F, 0F, 40, 1, 1); - Shape6.setRotationPoint(-30F, -3.5F, -2F); - Shape6.setTextureSize(128, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 0, 18); - Shape7.addBox(0F, 0F, 0F, 40, 1, 1); - Shape7.setRotationPoint(-30F, -3.5F, 1F); - Shape7.setTextureSize(128, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - Shape8 = new ModelRenderer(this, 0, 20); - Shape8.addBox(0F, 0F, 0F, 40, 1, 3); - Shape8.setRotationPoint(-30F, -4F, -1.5F); - Shape8.setTextureSize(128, 32); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - Shape9 = new ModelRenderer(this, 0, 24); - Shape9.addBox(0F, 0F, 0F, 2, 5, 1); - Shape9.setRotationPoint(-23F, 1F, -0.5F); - Shape9.setTextureSize(128, 32); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - Shape10 = new ModelRenderer(this, 6, 24); - Shape10.addBox(0F, 0F, 0F, 4, 1, 1); - Shape10.setRotationPoint(-16F, 1F, -0.5F); - Shape10.setTextureSize(128, 32); - Shape10.mirror = true; - setRotation(Shape10, 0F, 0F, 0F); - Shape11 = new ModelRenderer(this, 6, 26); - Shape11.addBox(0F, 0F, 0F, 2, 4, 1); - Shape11.setRotationPoint(-14F, 2F, -0.5F); - Shape11.setTextureSize(128, 32); - Shape11.mirror = true; - setRotation(Shape11, 0F, 0F, 0F); - Shape12 = new ModelRenderer(this, 16, 24); - Shape12.addBox(0F, 0F, 0F, 2, 1, 1); - Shape12.setRotationPoint(-16F, 2F, -0.5F); - Shape12.setTextureSize(128, 32); - Shape12.mirror = true; - setRotation(Shape12, 0F, 0F, 0F); - Shape13 = new ModelRenderer(this, 22, 24); - Shape13.addBox(0F, 0F, 0F, 7, 1, 1); - Shape13.setRotationPoint(-4F, -7F, -0.5F); - Shape13.setTextureSize(128, 32); - Shape13.mirror = true; - setRotation(Shape13, 0F, 0F, 0F); - Shape14 = new ModelRenderer(this, 38, 24); - Shape14.addBox(0F, 0F, 0F, 5, 1, 1); - Shape14.setRotationPoint(3F, -7F, -0.5F); - Shape14.setTextureSize(128, 32); - Shape14.mirror = true; - setRotation(Shape14, 0F, 0F, 0.6108652F); - Shape15 = new ModelRenderer(this, 50, 24); - Shape15.addBox(-5F, 0F, 0F, 5, 1, 1); - Shape15.setRotationPoint(-4F, -7F, -0.5F); - Shape15.setTextureSize(128, 32); - Shape15.mirror = true; - setRotation(Shape15, 0F, 0F, -0.6108652F); - Shape16 = new ModelRenderer(this, 104, 0); - Shape16.addBox(0F, 0F, 0F, 7, 5, 5); - Shape16.setRotationPoint(10F, -4F, -2.5F); - Shape16.setTextureSize(128, 32); - Shape16.mirror = true; - setRotation(Shape16, 0F, 0F, 0F); - Shape17 = new ModelRenderer(this, 86, 0); - Shape17.addBox(0F, 0F, 0F, 3, 3, 2); - Shape17.setRotationPoint(17F, -3F, -1F); - Shape17.setTextureSize(128, 32); - Shape17.mirror = true; - setRotation(Shape17, 0F, 0F, 0F); - Shape18 = new ModelRenderer(this, 82, 5); - Shape18.addBox(0F, 0F, 0F, 3, 2, 3); - Shape18.setRotationPoint(17F, -2.5F, -1.5F); - Shape18.setTextureSize(128, 32); - Shape18.mirror = true; - setRotation(Shape18, 0F, 0F, 0F); - Shape19 = new ModelRenderer(this, 82, 10); - Shape19.addBox(0F, 0F, 0F, 4, 4, 3); - Shape19.setRotationPoint(20F, -3.5F, -1.5F); - Shape19.setTextureSize(128, 32); - Shape19.mirror = true; - setRotation(Shape19, 0F, 0F, 0F); - Shape20 = new ModelRenderer(this, 96, 10); - Shape20.addBox(0F, 0F, 0F, 4, 3, 4); - Shape20.setRotationPoint(20F, -3F, -2F); - Shape20.setTextureSize(128, 32); - Shape20.mirror = true; - setRotation(Shape20, 0F, 0F, 0F); - Shape21 = new ModelRenderer(this, 112, 10); - Shape21.addBox(0F, 0F, 0F, 4, 5, 4); - Shape21.setRotationPoint(24F, -4F, -2F); - Shape21.setTextureSize(128, 32); - Shape21.mirror = true; - setRotation(Shape21, 0F, 0F, 0F); - Shape22 = new ModelRenderer(this, 86, 17); - Shape22.addBox(0F, 0F, 0F, 4, 4, 5); - Shape22.setRotationPoint(24F, -3.5F, -2.5F); - Shape22.setTextureSize(128, 32); - Shape22.mirror = true; - setRotation(Shape22, 0F, 0F, 0F); - Shape23 = new ModelRenderer(this, 96, 0); - Shape23.addBox(0F, 0F, 0F, 2, 5, 2); - Shape23.setRotationPoint(-4F, 1F, -1F); - Shape23.setTextureSize(128, 32); - Shape23.mirror = true; - setRotation(Shape23, 0F, 0F, 0F); - Shape24 = new ModelRenderer(this, 104, 17); - Shape24.addBox(0F, 0F, 0F, 1, 5, 1); - Shape24.setRotationPoint(-3.5F, 6F, -0.5F); - Shape24.setTextureSize(128, 32); - Shape24.mirror = true; - setRotation(Shape24, 0F, 0F, 0F); - Shape25 = new ModelRenderer(this, 96, 7); - Shape25.addBox(0F, 0F, 0F, 2, 1, 2); - Shape25.setRotationPoint(-4F, 11F, -1F); - Shape25.setTextureSize(128, 32); - Shape25.mirror = true; - setRotation(Shape25, 0F, 0F, 0F); - Shape26 = new ModelRenderer(this, 120, 19); - Shape26.addBox(0F, 0F, 0F, 2, 5, 2); - Shape26.setRotationPoint(-1.5F, 1F, -1F); - Shape26.setTextureSize(128, 32); - Shape26.mirror = true; - setRotation(Shape26, 0F, 0F, 0F); - Shape27 = new ModelRenderer(this, 114, 19); - Shape27.addBox(-1F, -6F, 0F, 1, 6, 2); - Shape27.setRotationPoint(0.5F, 6F, -1F); - Shape27.setTextureSize(128, 32); - Shape27.mirror = true; - setRotation(Shape27, 0F, 0F, 0.2617994F); - Shape28 = new ModelRenderer(this, 12, 26); - Shape28.addBox(0F, 0F, 0F, 5, 2, 2); - Shape28.setRotationPoint(11F, -2.5F, -4.5F); - Shape28.setTextureSize(128, 32); - Shape28.mirror = true; - setRotation(Shape28, 0F, 0F, 0F); - Shape29 = new ModelRenderer(this, 26, 26); - Shape29.addBox(0F, 0F, 0F, 2, 2, 2); - Shape29.setRotationPoint(-18F, -3F, -4.5F); - Shape29.setTextureSize(128, 32); - Shape29.mirror = true; - setRotation(Shape29, 0F, 0F, 0F); - Shape30 = new ModelRenderer(this, 12, 30); - Shape30.addBox(0F, 0F, 0F, 5, 1, 1); - Shape30.setRotationPoint(-21F, -1F, -3.5F); - Shape30.setTextureSize(128, 32); - Shape30.mirror = true; - setRotation(Shape30, 0F, 0F, 0F); - Shape31 = new ModelRenderer(this, 62, 24); - Shape31.addBox(0F, 0F, 0F, 7, 1, 1); - Shape31.setRotationPoint(-21F, -3.5F, -5.5F); - Shape31.setTextureSize(128, 32); - Shape31.mirror = true; - setRotation(Shape31, 0F, 0F, 0F); - Shape32 = new ModelRenderer(this, 34, 26); - Shape32.addBox(0F, 0F, 0F, 1, 2, 2); - Shape32.setRotationPoint(-14F, -4F, -6F); - Shape32.setTextureSize(128, 32); - Shape32.mirror = true; - setRotation(Shape32, 0F, 0F, 0F); - Shape33 = new ModelRenderer(this, 40, 26); - Shape33.addBox(0F, -2F, 0F, 1, 2, 2); - Shape33.setRotationPoint(-13F, -2F, -6F); - Shape33.setTextureSize(128, 32); - Shape33.mirror = true; - setRotation(Shape33, 0F, 0F, -0.4363323F); - Shape34 = new ModelRenderer(this, 78, 24); - Shape34.addBox(0F, 0F, 0F, 3, 1, 1); - Shape34.setRotationPoint(-29F, -2F, -3F); - Shape34.setTextureSize(128, 32); - Shape34.mirror = true; - setRotation(Shape34, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - GL11.glDisable(GL11.GL_CULL_FACE); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - Shape10.render(f5); - Shape11.render(f5); - Shape12.render(f5); - Shape13.render(f5); - Shape14.render(f5); - Shape15.render(f5); - Shape16.render(f5); - Shape17.render(f5); - Shape18.render(f5); - Shape19.render(f5); - Shape20.render(f5); - Shape21.render(f5); - Shape22.render(f5); - Shape23.render(f5); - Shape24.render(f5); - Shape25.render(f5); - Shape26.render(f5); - Shape27.render(f5); - Shape28.render(f5); - Shape29.render(f5); - Shape30.render(f5); - Shape31.render(f5); - Shape32.render(f5); - Shape33.render(f5); - Shape34.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelHP.java b/src/main/java/com/hbm/render/model/ModelHP.java deleted file mode 100644 index dcdf2ec40..000000000 --- a/src/main/java/com/hbm/render/model/ModelHP.java +++ /dev/null @@ -1,194 +0,0 @@ -// Date: 21.02.2017 20:44:50 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - - - - - - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.entity.Entity; - -public class ModelHP extends ModelBase -{ - //fields - ModelRenderer Printer; - ModelRenderer Hatch; - ModelRenderer Display; - ModelRenderer Stock; - ModelRenderer StockBottom; - ModelRenderer StockPlate; - ModelRenderer Barrel; - ModelRenderer Lens1; - ModelRenderer Lens2; - ModelRenderer Lens3; - ModelRenderer Beam; - ModelRenderer Handle; - ModelRenderer Dot; - ModelRenderer Back; - ModelRenderer BackShaft; - ModelRenderer Muzzle; - ModelRenderer BarrelPlate; - - public ModelHP() - { - textureWidth = 64; - textureHeight = 64; - - Printer = new ModelRenderer(this, 0, 0); - Printer.addBox(0F, 0F, 0F, 12, 9, 6); - Printer.setRotationPoint(-6F, -3F, -3F); - Printer.setTextureSize(64, 64); - Printer.mirror = true; - setRotation(Printer, 0F, 0F, 0F); - Hatch = new ModelRenderer(this, 0, 15); - Hatch.addBox(0F, 0F, 0F, 6, 5, 1); - Hatch.setRotationPoint(-3F, -1F, -3F); - Hatch.setTextureSize(64, 64); - Hatch.mirror = true; - setRotation(Hatch, 0F, 0F, 0F); - Display = new ModelRenderer(this, 14, 15); - Display.addBox(0F, -2F, 0F, 2, 2, 1); - Display.setRotationPoint(3.5F, 0F, -3F); - Display.setTextureSize(64, 64); - Display.mirror = true; - setRotation(Display, 0.7853982F, 0F, 0F); - Stock = new ModelRenderer(this, 0, 21); - Stock.addBox(0F, 0F, 0F, 12, 3, 2); - Stock.setRotationPoint(6F, 0F, -1F); - Stock.setTextureSize(64, 64); - Stock.mirror = true; - setRotation(Stock, 0F, 0F, 0F); - StockBottom = new ModelRenderer(this, 20, 15); - StockBottom.addBox(0F, 0F, 0F, 3, 3, 2); - StockBottom.setRotationPoint(15F, 3F, -1F); - StockBottom.setTextureSize(64, 64); - StockBottom.mirror = true; - setRotation(StockBottom, 0F, 0F, 0F); - StockPlate = new ModelRenderer(this, 0, 26); - StockPlate.addBox(-8F, -3F, 0F, 8, 3, 2); - StockPlate.setRotationPoint(15F, 6F, -1F); - StockPlate.setTextureSize(64, 64); - StockPlate.mirror = true; - setRotation(StockPlate, 0F, 0F, 0.3839724F); - Barrel = new ModelRenderer(this, 0, 31); - Barrel.addBox(0F, 0F, 0F, 15, 2, 2); - Barrel.setRotationPoint(-21F, 0F, -1F); - Barrel.setTextureSize(64, 64); - Barrel.mirror = true; - setRotation(Barrel, 0F, 0F, 0F); - Lens1 = new ModelRenderer(this, 0, 35); - Lens1.addBox(0F, 0F, 0F, 1, 3, 3); - Lens1.setRotationPoint(-19F, -3F, -1.5F); - Lens1.setTextureSize(64, 64); - Lens1.mirror = true; - setRotation(Lens1, 0F, 0F, 0F); - Lens2 = new ModelRenderer(this, 8, 35); - Lens2.addBox(0F, 0F, 0F, 1, 4, 4); - Lens2.setRotationPoint(-16F, -3.5F, -2F); - Lens2.setTextureSize(64, 64); - Lens2.mirror = true; - setRotation(Lens2, 0F, 0F, 0F); - Lens3 = new ModelRenderer(this, 0, 41); - Lens3.addBox(0F, 0F, 0F, 1, 3, 3); - Lens3.setRotationPoint(-13F, -3F, -1.466667F); - Lens3.setTextureSize(64, 64); - Lens3.mirror = true; - setRotation(Lens3, 0F, 0F, 0F); - Beam = new ModelRenderer(this, 0, 47); - Beam.addBox(0F, 0F, 0F, 12, 1, 1); - Beam.setRotationPoint(-18F, -2F, -0.5F); - Beam.setTextureSize(64, 64); - Beam.mirror = true; - setRotation(Beam, 0F, 0F, 0F); - Handle = new ModelRenderer(this, 18, 35); - Handle.addBox(0F, 0F, 0F, 2, 6, 1); - Handle.setRotationPoint(-16F, 2F, -0.5F); - Handle.setTextureSize(64, 64); - Handle.mirror = true; - setRotation(Handle, 0F, 0F, -0.1745329F); - Dot = new ModelRenderer(this, 0, 49); - Dot.addBox(0F, 0F, 0F, 2, 1, 1); - Dot.setRotationPoint(-20F, 2F, -0.5F); - Dot.setTextureSize(64, 64); - Dot.mirror = true; - setRotation(Dot, 0F, 0F, 0F); - Back = new ModelRenderer(this, 0, 51); - Back.addBox(-1F, -3F, 0F, 1, 3, 2); - Back.setRotationPoint(7F, 0F, -1F); - Back.setTextureSize(64, 64); - Back.mirror = true; - setRotation(Back, 0F, 0F, -0.3490659F); - BackShaft = new ModelRenderer(this, 0, 56); - BackShaft.addBox(0F, 0F, 0F, 4, 1, 1); - BackShaft.setRotationPoint(6F, -1F, -0.5F); - BackShaft.setTextureSize(64, 64); - BackShaft.mirror = true; - setRotation(BackShaft, 0F, 0F, 0F); - Muzzle = new ModelRenderer(this, 0, 58); - Muzzle.addBox(0F, 0F, 0F, 1, 2, 2); - Muzzle.setRotationPoint(-6.5F, -2.5F, -1F); - Muzzle.setTextureSize(64, 64); - Muzzle.mirror = true; - setRotation(Muzzle, 0F, 0F, 0F); - BarrelPlate = new ModelRenderer(this, 6, 58); - BarrelPlate.addBox(-4F, -2F, 0F, 4, 2, 1); - BarrelPlate.setRotationPoint(-6F, 4F, -0.5F); - BarrelPlate.setTextureSize(64, 64); - BarrelPlate.mirror = true; - setRotation(BarrelPlate, 0F, 0F, 0.5235988F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Printer.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Hatch.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - Display.render(f5); - Stock.render(f5); - StockBottom.render(f5); - StockPlate.render(f5); - Barrel.render(f5); - GL11.glEnable(GL11.GL_BLEND); - //GL11.glDisable(GL11.GL_ALPHA_TEST); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - Lens1.render(f5); - Lens2.render(f5); - Lens3.render(f5); - Beam.render(f5); - GL11.glDisable(GL11.GL_BLEND); - Handle.render(f5); - Dot.render(f5); - Back.render(f5); - BackShaft.render(f5); - Muzzle.render(f5); - BarrelPlate.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelHat.java b/src/main/java/com/hbm/render/model/ModelHat.java index 673ac6db6..5d86d924a 100644 --- a/src/main/java/com/hbm/render/model/ModelHat.java +++ b/src/main/java/com/hbm/render/model/ModelHat.java @@ -5,36 +5,35 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; import com.hbm.render.loader.ModelRendererObj; -import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; public class ModelHat extends ModelArmorBase { - + public ModelHat(int type) { super(type); - head = new ModelRendererObj(ResourceManager.armor_hat); - body = new ModelRendererObj(null); - leftArm = new ModelRendererObj(null).setRotationPoint(-5.0F, 2.0F, 0.0F); - rightArm = new ModelRendererObj(null).setRotationPoint(5.0F, 2.0F, 0.0F); - leftLeg = new ModelRendererObj(null).setRotationPoint(1.9F, 12.0F, 0.0F); - rightLeg = new ModelRendererObj(null).setRotationPoint(-1.9F, 12.0F, 0.0F); - leftFoot = new ModelRendererObj(null).setRotationPoint(1.9F, 12.0F, 0.0F); - rightFoot = new ModelRendererObj(null).setRotationPoint(-1.9F, 12.0F, 0.0F); + this.head = new ModelRendererObj(ResourceManager.armor_hat); + this.body = new ModelRendererObj(null); + this.leftArm = new ModelRendererObj(null).setRotationPoint(5.0F, 2.0F, 0.0F); + this.rightArm = new ModelRendererObj(null).setRotationPoint(-5.0F, 2.0F, 0.0F); + this.leftLeg = new ModelRendererObj(null).setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightLeg = new ModelRendererObj(null).setRotationPoint(-1.9F, 12.0F, 0.0F); + this.leftFoot = new ModelRendererObj(null).setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightFoot = new ModelRendererObj(null).setRotationPoint(-1.9F, 12.0F, 0.0F); } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + GL11.glPushMatrix(); - - if(type == 0) { - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.hat); - head.render(par7); + + if(this.type == 0) { + bindTexture(ResourceManager.hat); + this.head.render(scaleFactor); } - + GL11.glPopMatrix(); } } diff --git a/src/main/java/com/hbm/render/model/ModelHunterChopper.java b/src/main/java/com/hbm/render/model/ModelHunterChopper.java index 92b83cd86..e18c5eeb3 100644 --- a/src/main/java/com/hbm/render/model/ModelHunterChopper.java +++ b/src/main/java/com/hbm/render/model/ModelHunterChopper.java @@ -11,7 +11,7 @@ import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelHunterChopper extends ModelBase { - // fields + ModelRenderer RotorPivotStem; ModelRenderer RotorPivotTop; ModelRenderer RotorPivotPlate; @@ -65,433 +65,380 @@ public class ModelHunterChopper extends ModelBase { float f = 0.1F; public ModelHunterChopper() { - textureWidth = 256; - textureHeight = 128; - - RotorPivotStem = new ModelRenderer(this, 40, 22); - RotorPivotStem.addBox(0F, 0F, 0F, 1, 4, 1); - RotorPivotStem.setRotationPoint(-0.5F, 0F, -0.5F); - RotorPivotStem.setTextureSize(256, 128); - RotorPivotStem.mirror = true; - setRotation(RotorPivotStem, 0F, 0F, 0F); - RotorPivotTop = new ModelRenderer(this, 40, 27); - RotorPivotTop.addBox(0F, 0F, 0F, 3, 1, 3); - RotorPivotTop.setRotationPoint(-1.5F, -1F, -1.5F); - RotorPivotTop.setTextureSize(256, 128); - RotorPivotTop.mirror = true; - setRotation(RotorPivotTop, 0F, 0F, 0F); - RotorPivotPlate = new ModelRenderer(this, 40, 31); - RotorPivotPlate.addBox(0F, 0F, 0F, 6, 1, 6); - RotorPivotPlate.setRotationPoint(-3F, 1.5F, -3F); - RotorPivotPlate.setTextureSize(256, 128); - RotorPivotPlate.mirror = true; - setRotation(RotorPivotPlate, 0F, 0F, 0F); - TorsoBaseCenter = new ModelRenderer(this, 70, 0); - TorsoBaseCenter.addBox(0F, 0F, 0F, 14, 4, 2); - TorsoBaseCenter.setRotationPoint(-8F, 4F, -1F); - TorsoBaseCenter.setTextureSize(256, 128); - TorsoBaseCenter.mirror = true; - setRotation(TorsoBaseCenter, 0F, 0F, 0F); - TorsoPlateLeft = new ModelRenderer(this, 70, 6); - TorsoPlateLeft.addBox(0F, -4F, 0F, 14, 4, 1); - TorsoPlateLeft.setRotationPoint(-8F, 8F, -2F); - TorsoPlateLeft.setTextureSize(256, 128); - TorsoPlateLeft.mirror = true; - setRotation(TorsoPlateLeft, -0.2268928F, 0F, 0F); - TorsoBaseBottom = new ModelRenderer(this, 70, 11); - TorsoBaseBottom.addBox(0F, 0F, 0F, 7, 2, 4); - TorsoBaseBottom.setRotationPoint(-4F, 8F, -2F); - TorsoBaseBottom.setTextureSize(256, 128); - TorsoBaseBottom.mirror = true; - setRotation(TorsoBaseBottom, 0F, 0F, 0F); - TorsoPlateRight = new ModelRenderer(this, 70, 17); - TorsoPlateRight.addBox(0F, -4F, -1F, 14, 4, 1); - TorsoPlateRight.setRotationPoint(-8F, 8F, 2F); - TorsoPlateRight.setTextureSize(256, 128); - TorsoPlateRight.mirror = true; - setRotation(TorsoPlateRight, 0.2268928F, 0F, 0F); - TorsoPlateBottom = new ModelRenderer(this, 70, 22); - TorsoPlateBottom.addBox(-5F, -2F, 0F, 5, 2, 4); - TorsoPlateBottom.setRotationPoint(-4F, 10F, -2F); - TorsoPlateBottom.setTextureSize(256, 128); - TorsoPlateBottom.mirror = true; - setRotation(TorsoPlateBottom, 0F, 0F, 0.2094395F); - WingLeftPlate = new ModelRenderer(this, 110, 0); - WingLeftPlate.addBox(0F, -3F, 0F, 9, 3, 1); - WingLeftPlate.setRotationPoint(-8F, 9F, -3F); - WingLeftPlate.setTextureSize(256, 128); - WingLeftPlate.mirror = true; - setRotation(WingLeftPlate, -0.2268928F, 0F, 0F); - WingRightPlate = new ModelRenderer(this, 130, 0); - WingRightPlate.addBox(0F, -3F, 0F, 9, 3, 1); - WingRightPlate.setRotationPoint(-8F, 9F, 2F); - WingRightPlate.setTextureSize(256, 128); - WingRightPlate.mirror = true; - setRotation(WingRightPlate, 0.2268928F, 0F, 0F); - WingLeft = new ModelRenderer(this, 110, 4); - WingLeft.addBox(0F, 0F, 0F, 3, 1, 6); - WingLeft.setRotationPoint(-3F, 10F, -8F); - WingLeft.setTextureSize(256, 128); - WingLeft.mirror = true; - setRotation(WingLeft, 0.3490659F, 0F, 0F); - WingLeftFront = new ModelRenderer(this, 110, 11); - WingLeftFront.addBox(0F, 0F, 0F, 2, 1, 7); - WingLeftFront.setRotationPoint(-3F, 10F, -8F); - WingLeftFront.setTextureSize(256, 128); - WingLeftFront.mirror = true; - setRotation(WingLeftFront, 0.3490659F, -0.3490659F, -0.1745329F); - WingLeftTip = new ModelRenderer(this, 110, 19); - WingLeftTip.addBox(0F, 0F, 0F, 5, 2, 1); - WingLeftTip.setRotationPoint(-4F, 9F, -8F); - WingLeftTip.setTextureSize(256, 128); - WingLeftTip.mirror = true; - setRotation(WingLeftTip, 0F, 0F, 0F); - WingRight = new ModelRenderer(this, 130, 4); - WingRight.addBox(0F, 0F, -6F, 3, 1, 6); - WingRight.setRotationPoint(-3F, 10F, 8F); - WingRight.setTextureSize(256, 128); - WingRight.mirror = true; - setRotation(WingRight, -0.3490659F, 0F, 0F); - WingRightFront = new ModelRenderer(this, 130, 11); - WingRightFront.addBox(0F, 0F, -7F, 2, 1, 7); - WingRightFront.setRotationPoint(-3F, 10F, 8F); - WingRightFront.setTextureSize(256, 128); - WingRightFront.mirror = true; - setRotation(WingRightFront, -0.3490659F, 0.3490659F, -0.1745329F); - WingRightTip = new ModelRenderer(this, 130, 19); - WingRightTip.addBox(0F, 0F, 0F, 5, 2, 1); - WingRightTip.setRotationPoint(-4F, 9F, 7F); - WingRightTip.setTextureSize(256, 128); - WingRightTip.mirror = true; - setRotation(WingRightTip, 0F, 0F, 0F); - TorsoBaseBack = new ModelRenderer(this, 70, 28); - TorsoBaseBack.addBox(0F, 0F, 0F, 3, 2, 3); - TorsoBaseBack.setRotationPoint(3F, 7.5F, -1.5F); - TorsoBaseBack.setTextureSize(256, 128); - TorsoBaseBack.mirror = true; - setRotation(TorsoBaseBack, 0F, 0F, 0F); - TorsoBoxBottom = new ModelRenderer(this, 70, 33); - TorsoBoxBottom.addBox(0F, -2F, 0F, 7, 2, 2); - TorsoBoxBottom.setRotationPoint(-3F, 10F, -1F); - TorsoBoxBottom.setTextureSize(256, 128); - TorsoBoxBottom.mirror = true; - setRotation(TorsoBoxBottom, 0F, 0F, 0.1570796F); - TorsoPlateBack = new ModelRenderer(this, 70, 37); - TorsoPlateBack.addBox(0F, 0F, 0F, 3, 1, 2); - TorsoPlateBack.setRotationPoint(6F, 4F, -1F); - TorsoPlateBack.setTextureSize(256, 128); - TorsoPlateBack.mirror = true; - setRotation(TorsoPlateBack, 0F, 0F, 0.2268928F); - TorsoBoxBack = new ModelRenderer(this, 70, 40); - TorsoBoxBack.addBox(0F, 0F, 0F, 2, 4, 2); - TorsoBoxBack.setRotationPoint(6F, 5F, -1F); - TorsoBoxBack.setTextureSize(256, 128); - TorsoBoxBack.mirror = true; - setRotation(TorsoBoxBack, 0F, 0F, 0F); - TorsoPlateLeftBack = new ModelRenderer(this, 70, 46); - TorsoPlateLeftBack.addBox(0F, -4F, -1F, 3, 4, 1); - TorsoPlateLeftBack.setRotationPoint(6F, 8.5F, -1F); - TorsoPlateLeftBack.setTextureSize(256, 128); - TorsoPlateLeftBack.mirror = true; - setRotation(TorsoPlateLeftBack, -0.2268928F, 0F, 0F); - TorsoPlateRightBack = new ModelRenderer(this, 70, 51); - TorsoPlateRightBack.addBox(0F, -4F, 0F, 3, 4, 1); - TorsoPlateRightBack.setRotationPoint(6F, 8.5F, 1F); - TorsoPlateRightBack.setTextureSize(256, 128); - TorsoPlateRightBack.mirror = true; - setRotation(TorsoPlateRightBack, 0.2268928F, 0F, 0F); - TailFrontBase = new ModelRenderer(this, 24, 54); - TailFrontBase.addBox(0F, 0F, 0F, 5, 2, 2); - TailFrontBase.setRotationPoint(8F, 6F, -1F); - TailFrontBase.setTextureSize(256, 128); - TailFrontBase.mirror = true; - setRotation(TailFrontBase, 0F, 0F, 0F); - TailFrontPlate = new ModelRenderer(this, 24, 58); - TailFrontPlate.addBox(-5F, 0F, 0F, 5, 1, 2); - TailFrontPlate.setRotationPoint(13F, 6F, -1F); - TailFrontPlate.setTextureSize(256, 128); - TailFrontPlate.mirror = true; - setRotation(TailFrontPlate, 0F, 0F, 0.2268928F); - TailBackBase = new ModelRenderer(this, 24, 61); - TailBackBase.addBox(0F, 0F, 0F, 4, 2, 1); - TailBackBase.setRotationPoint(13F, 6F, -0.5F); - TailBackBase.setTextureSize(256, 128); - TailBackBase.mirror = true; - setRotation(TailBackBase, 0F, 0F, 0F); - TailRotorFront = new ModelRenderer(this, 24, 64); - TailRotorFront.addBox(0F, 0F, 0F, 1, 3, 1); - TailRotorFront.setRotationPoint(15.5F, 8F, -0.5F); - TailRotorFront.setTextureSize(256, 128); - TailRotorFront.mirror = true; - setRotation(TailRotorFront, 0F, 0F, -0.2268928F); - TailRotorTop = new ModelRenderer(this, 24, 68); - TailRotorTop.addBox(0F, 0F, 0F, 3, 1, 1); - TailRotorTop.setRotationPoint(17F, 6F, -0.5F); - TailRotorTop.setTextureSize(256, 128); - TailRotorTop.mirror = true; - setRotation(TailRotorTop, 0F, 0F, 0F); - TailRotorBack = new ModelRenderer(this, 24, 70); - TailRotorBack.addBox(0F, 0F, 0F, 1, 4, 1); - TailRotorBack.setRotationPoint(20F, 6F, -0.5F); - TailRotorBack.setTextureSize(256, 128); - TailRotorBack.mirror = true; - setRotation(TailRotorBack, 0F, 0F, 0F); - TailRotorBottom = new ModelRenderer(this, 24, 75); - TailRotorBottom.addBox(0F, 0F, 0F, 3, 1, 1); - TailRotorBottom.setRotationPoint(18F, 10F, -0.5F); - TailRotorBottom.setTextureSize(256, 128); - TailRotorBottom.mirror = true; + this.textureWidth = 256; + this.textureHeight = 128; + + this.RotorPivotStem = new ModelRenderer(this, 40, 22); + this.RotorPivotStem.addBox(0F, 0F, 0F, 1, 4, 1); + this.RotorPivotStem.setRotationPoint(-0.5F, 0F, -0.5F); + this.RotorPivotStem.setTextureSize(256, 128); + this.RotorPivotStem.mirror = true; + setRotation(this.RotorPivotStem, 0F, 0F, 0F); + this.RotorPivotTop = new ModelRenderer(this, 40, 27); + this.RotorPivotTop.addBox(0F, 0F, 0F, 3, 1, 3); + this.RotorPivotTop.setRotationPoint(-1.5F, -1F, -1.5F); + this.RotorPivotTop.setTextureSize(256, 128); + this.RotorPivotTop.mirror = true; + setRotation(this.RotorPivotTop, 0F, 0F, 0F); + this.RotorPivotPlate = new ModelRenderer(this, 40, 31); + this.RotorPivotPlate.addBox(0F, 0F, 0F, 6, 1, 6); + this.RotorPivotPlate.setRotationPoint(-3F, 1.5F, -3F); + this.RotorPivotPlate.setTextureSize(256, 128); + this.RotorPivotPlate.mirror = true; + setRotation(this.RotorPivotPlate, 0F, 0F, 0F); + this.TorsoBaseCenter = new ModelRenderer(this, 70, 0); + this.TorsoBaseCenter.addBox(0F, 0F, 0F, 14, 4, 2); + this.TorsoBaseCenter.setRotationPoint(-8F, 4F, -1F); + this.TorsoBaseCenter.setTextureSize(256, 128); + this.TorsoBaseCenter.mirror = true; + setRotation(this.TorsoBaseCenter, 0F, 0F, 0F); + this.TorsoPlateLeft = new ModelRenderer(this, 70, 6); + this.TorsoPlateLeft.addBox(0F, -4F, 0F, 14, 4, 1); + this.TorsoPlateLeft.setRotationPoint(-8F, 8F, -2F); + this.TorsoPlateLeft.setTextureSize(256, 128); + this.TorsoPlateLeft.mirror = true; + setRotation(this.TorsoPlateLeft, -0.2268928F, 0F, 0F); + this.TorsoBaseBottom = new ModelRenderer(this, 70, 11); + this.TorsoBaseBottom.addBox(0F, 0F, 0F, 7, 2, 4); + this.TorsoBaseBottom.setRotationPoint(-4F, 8F, -2F); + this.TorsoBaseBottom.setTextureSize(256, 128); + this.TorsoBaseBottom.mirror = true; + setRotation(this.TorsoBaseBottom, 0F, 0F, 0F); + this.TorsoPlateRight = new ModelRenderer(this, 70, 17); + this.TorsoPlateRight.addBox(0F, -4F, -1F, 14, 4, 1); + this.TorsoPlateRight.setRotationPoint(-8F, 8F, 2F); + this.TorsoPlateRight.setTextureSize(256, 128); + this.TorsoPlateRight.mirror = true; + setRotation(this.TorsoPlateRight, 0.2268928F, 0F, 0F); + this.TorsoPlateBottom = new ModelRenderer(this, 70, 22); + this.TorsoPlateBottom.addBox(-5F, -2F, 0F, 5, 2, 4); + this.TorsoPlateBottom.setRotationPoint(-4F, 10F, -2F); + this.TorsoPlateBottom.setTextureSize(256, 128); + this.TorsoPlateBottom.mirror = true; + setRotation(this.TorsoPlateBottom, 0F, 0F, 0.2094395F); + this.WingLeftPlate = new ModelRenderer(this, 110, 0); + this.WingLeftPlate.addBox(0F, -3F, 0F, 9, 3, 1); + this.WingLeftPlate.setRotationPoint(-8F, 9F, -3F); + this.WingLeftPlate.setTextureSize(256, 128); + this.WingLeftPlate.mirror = true; + setRotation(this.WingLeftPlate, -0.2268928F, 0F, 0F); + this.WingRightPlate = new ModelRenderer(this, 130, 0); + this.WingRightPlate.addBox(0F, -3F, 0F, 9, 3, 1); + this.WingRightPlate.setRotationPoint(-8F, 9F, 2F); + this.WingRightPlate.setTextureSize(256, 128); + this.WingRightPlate.mirror = true; + setRotation(this.WingRightPlate, 0.2268928F, 0F, 0F); + this.WingLeft = new ModelRenderer(this, 110, 4); + this.WingLeft.addBox(0F, 0F, 0F, 3, 1, 6); + this.WingLeft.setRotationPoint(-3F, 10F, -8F); + this.WingLeft.setTextureSize(256, 128); + this.WingLeft.mirror = true; + setRotation(this.WingLeft, 0.3490659F, 0F, 0F); + this.WingLeftFront = new ModelRenderer(this, 110, 11); + this.WingLeftFront.addBox(0F, 0F, 0F, 2, 1, 7); + this.WingLeftFront.setRotationPoint(-3F, 10F, -8F); + this.WingLeftFront.setTextureSize(256, 128); + this.WingLeftFront.mirror = true; + setRotation(this.WingLeftFront, 0.3490659F, -0.3490659F, -0.1745329F); + this.WingLeftTip = new ModelRenderer(this, 110, 19); + this.WingLeftTip.addBox(0F, 0F, 0F, 5, 2, 1); + this.WingLeftTip.setRotationPoint(-4F, 9F, -8F); + this.WingLeftTip.setTextureSize(256, 128); + this.WingLeftTip.mirror = true; + setRotation(this.WingLeftTip, 0F, 0F, 0F); + this.WingRight = new ModelRenderer(this, 130, 4); + this.WingRight.addBox(0F, 0F, -6F, 3, 1, 6); + this.WingRight.setRotationPoint(-3F, 10F, 8F); + this.WingRight.setTextureSize(256, 128); + this.WingRight.mirror = true; + setRotation(this.WingRight, -0.3490659F, 0F, 0F); + this.WingRightFront = new ModelRenderer(this, 130, 11); + this.WingRightFront.addBox(0F, 0F, -7F, 2, 1, 7); + this.WingRightFront.setRotationPoint(-3F, 10F, 8F); + this.WingRightFront.setTextureSize(256, 128); + this.WingRightFront.mirror = true; + setRotation(this.WingRightFront, -0.3490659F, 0.3490659F, -0.1745329F); + this.WingRightTip = new ModelRenderer(this, 130, 19); + this.WingRightTip.addBox(0F, 0F, 0F, 5, 2, 1); + this.WingRightTip.setRotationPoint(-4F, 9F, 7F); + this.WingRightTip.setTextureSize(256, 128); + this.WingRightTip.mirror = true; + setRotation(this.WingRightTip, 0F, 0F, 0F); + this.TorsoBaseBack = new ModelRenderer(this, 70, 28); + this.TorsoBaseBack.addBox(0F, 0F, 0F, 3, 2, 3); + this.TorsoBaseBack.setRotationPoint(3F, 7.5F, -1.5F); + this.TorsoBaseBack.setTextureSize(256, 128); + this.TorsoBaseBack.mirror = true; + setRotation(this.TorsoBaseBack, 0F, 0F, 0F); + this.TorsoBoxBottom = new ModelRenderer(this, 70, 33); + this.TorsoBoxBottom.addBox(0F, -2F, 0F, 7, 2, 2); + this.TorsoBoxBottom.setRotationPoint(-3F, 10F, -1F); + this.TorsoBoxBottom.setTextureSize(256, 128); + this.TorsoBoxBottom.mirror = true; + setRotation(this.TorsoBoxBottom, 0F, 0F, 0.1570796F); + this.TorsoPlateBack = new ModelRenderer(this, 70, 37); + this.TorsoPlateBack.addBox(0F, 0F, 0F, 3, 1, 2); + this.TorsoPlateBack.setRotationPoint(6F, 4F, -1F); + this.TorsoPlateBack.setTextureSize(256, 128); + this.TorsoPlateBack.mirror = true; + setRotation(this.TorsoPlateBack, 0F, 0F, 0.2268928F); + this.TorsoBoxBack = new ModelRenderer(this, 70, 40); + this.TorsoBoxBack.addBox(0F, 0F, 0F, 2, 4, 2); + this.TorsoBoxBack.setRotationPoint(6F, 5F, -1F); + this.TorsoBoxBack.setTextureSize(256, 128); + this.TorsoBoxBack.mirror = true; + setRotation(this.TorsoBoxBack, 0F, 0F, 0F); + this.TorsoPlateLeftBack = new ModelRenderer(this, 70, 46); + this.TorsoPlateLeftBack.addBox(0F, -4F, -1F, 3, 4, 1); + this.TorsoPlateLeftBack.setRotationPoint(6F, 8.5F, -1F); + this.TorsoPlateLeftBack.setTextureSize(256, 128); + this.TorsoPlateLeftBack.mirror = true; + setRotation(this.TorsoPlateLeftBack, -0.2268928F, 0F, 0F); + this.TorsoPlateRightBack = new ModelRenderer(this, 70, 51); + this.TorsoPlateRightBack.addBox(0F, -4F, 0F, 3, 4, 1); + this.TorsoPlateRightBack.setRotationPoint(6F, 8.5F, 1F); + this.TorsoPlateRightBack.setTextureSize(256, 128); + this.TorsoPlateRightBack.mirror = true; + setRotation(this.TorsoPlateRightBack, 0.2268928F, 0F, 0F); + this.TailFrontBase = new ModelRenderer(this, 24, 54); + this.TailFrontBase.addBox(0F, 0F, 0F, 5, 2, 2); + this.TailFrontBase.setRotationPoint(8F, 6F, -1F); + this.TailFrontBase.setTextureSize(256, 128); + this.TailFrontBase.mirror = true; + setRotation(this.TailFrontBase, 0F, 0F, 0F); + this.TailFrontPlate = new ModelRenderer(this, 24, 58); + this.TailFrontPlate.addBox(-5F, 0F, 0F, 5, 1, 2); + this.TailFrontPlate.setRotationPoint(13F, 6F, -1F); + this.TailFrontPlate.setTextureSize(256, 128); + this.TailFrontPlate.mirror = true; + setRotation(this.TailFrontPlate, 0F, 0F, 0.2268928F); + this.TailBackBase = new ModelRenderer(this, 24, 61); + this.TailBackBase.addBox(0F, 0F, 0F, 4, 2, 1); + this.TailBackBase.setRotationPoint(13F, 6F, -0.5F); + this.TailBackBase.setTextureSize(256, 128); + this.TailBackBase.mirror = true; + setRotation(this.TailBackBase, 0F, 0F, 0F); + this.TailRotorFront = new ModelRenderer(this, 24, 64); + this.TailRotorFront.addBox(0F, 0F, 0F, 1, 3, 1); + this.TailRotorFront.setRotationPoint(15.5F, 8F, -0.5F); + this.TailRotorFront.setTextureSize(256, 128); + this.TailRotorFront.mirror = true; + setRotation(this.TailRotorFront, 0F, 0F, -0.2268928F); + this.TailRotorTop = new ModelRenderer(this, 24, 68); + this.TailRotorTop.addBox(0F, 0F, 0F, 3, 1, 1); + this.TailRotorTop.setRotationPoint(17F, 6F, -0.5F); + this.TailRotorTop.setTextureSize(256, 128); + this.TailRotorTop.mirror = true; + setRotation(this.TailRotorTop, 0F, 0F, 0F); + this.TailRotorBack = new ModelRenderer(this, 24, 70); + this.TailRotorBack.addBox(0F, 0F, 0F, 1, 4, 1); + this.TailRotorBack.setRotationPoint(20F, 6F, -0.5F); + this.TailRotorBack.setTextureSize(256, 128); + this.TailRotorBack.mirror = true; + setRotation(this.TailRotorBack, 0F, 0F, 0F); + this.TailRotorBottom = new ModelRenderer(this, 24, 75); + this.TailRotorBottom.addBox(0F, 0F, 0F, 3, 1, 1); + this.TailRotorBottom.setRotationPoint(18F, 10F, -0.5F); + this.TailRotorBottom.setTextureSize(256, 128); + this.TailRotorBottom.mirror = true; setRotation(TailRotorBottom, 0F, 0F, 0F); - TailRotorBlades = new ModelRenderer(this, 120, 120); - TailRotorBlades.addBox(-1.5F, -1.5F, 0F, 3, 3, 0); - TailRotorBlades.setRotationPoint(17F + 1.5F, 7F + 1.5F, 0F); - TailRotorBlades.setTextureSize(256, 128); - TailRotorBlades.mirror = true; - setRotation(TailRotorBlades, 0F, 0F, 0F); - TailRotorPivot = new ModelRenderer(this, 24, 77); - TailRotorPivot.addBox(0F, 0F, 0F, 1, 2, 1); - TailRotorPivot.setRotationPoint(18F, 8F, -0.5F); - TailRotorPivot.setTextureSize(256, 128); - TailRotorPivot.mirror = true; - setRotation(TailRotorPivot, 0F, 0F, 0F); - HeadNeck = new ModelRenderer(this, 0, 40); - HeadNeck.addBox(-1F, 0F, 0F, 1, 6, 3); - HeadNeck.setRotationPoint(-7F, 4F, -1.5F); - HeadNeck.setTextureSize(256, 128); - HeadNeck.mirror = true; - setRotation(HeadNeck, 0F, 0F, 0.2268928F); - HeadBack = new ModelRenderer(this, 0, 49); - HeadBack.addBox(0F, 0F, 0F, 1, 7, 4); - HeadBack.setRotationPoint(-8.5F, 3.5F, -2F); - HeadBack.setTextureSize(256, 128); - HeadBack.mirror = true; - setRotation(HeadBack, 0F, 0F, 0.2268928F); - HeadBase = new ModelRenderer(this, 0, 60); - HeadBase.addBox(-2F, 1F, 0F, 2, 6, 4); - HeadBase.setRotationPoint(-8.5F, 3.5F, -2F); - HeadBase.setTextureSize(256, 128); - HeadBase.mirror = true; - setRotation(HeadBase, 0F, 0F, 0.2268928F); - HeadTop = new ModelRenderer(this, 0, 70); - HeadTop.addBox(-2F, 0F, 0F, 2, 2, 4); - HeadTop.setRotationPoint(-8.5F, 3.5F, -2F); - HeadTop.setTextureSize(256, 128); - HeadTop.mirror = true; - setRotation(HeadTop, 0F, 0F, -0.2268928F); - HeadFront = new ModelRenderer(this, 0, 76); - HeadFront.addBox(0F, 0F, 0F, 2, 4, 2); - HeadFront.setRotationPoint(-13F, 5F, -1F); - HeadFront.setTextureSize(256, 128); - HeadFront.mirror = true; - setRotation(HeadFront, 0F, 0F, 0F); - HeadLeft = new ModelRenderer(this, 0, 82); - HeadLeft.addBox(-3F, 0F, 0F, 3, 4, 1); - HeadLeft.setRotationPoint(-10F, 5F, -2F); - HeadLeft.setTextureSize(256, 128); - HeadLeft.mirror = true; - setRotation(HeadLeft, 0F, 0.3490659F, 0F); - HeadRight = new ModelRenderer(this, 0, 87); - HeadRight.addBox(-3F, 0F, -1F, 3, 4, 1); - HeadRight.setRotationPoint(-10F, 5F, 2F); - HeadRight.setTextureSize(256, 128); - HeadRight.mirror = true; - setRotation(HeadRight, 0F, -0.3490659F, 0F); - HeadFrontTop = new ModelRenderer(this, 0, 92); - HeadFrontTop.addBox(-3F, 0F, 0F, 3, 1, 2); - HeadFrontTop.setRotationPoint(-10.5F, 4F, -1F); - HeadFrontTop.setTextureSize(256, 128); - HeadFrontTop.mirror = true; - setRotation(HeadFrontTop, 0F, 0F, -0.3490659F); - TorsoRotorBottom = new ModelRenderer(this, 0, 0); - TorsoRotorBottom.addBox(0F, 0F, 0F, 3, 1, 1); - TorsoRotorBottom.setRotationPoint(-7F, 11.5F, -0.5F); - TorsoRotorBottom.setTextureSize(256, 128); - TorsoRotorBottom.mirror = true; - setRotation(TorsoRotorBottom, 0F, 0F, 0F); - TorsoRotorFront = new ModelRenderer(this, 0, 2); - TorsoRotorFront.addBox(0F, 0F, 0F, 1, 3, 1); - TorsoRotorFront.setRotationPoint(-8F, 9F, -0.5F); - TorsoRotorFront.setTextureSize(256, 128); - TorsoRotorFront.mirror = true; - setRotation(TorsoRotorFront, 0F, 0F, 0F); - TorsoRotorBack = new ModelRenderer(this, 0, 6); - TorsoRotorBack.addBox(0F, 0F, 0F, 1, 2, 1); - TorsoRotorBack.setRotationPoint(-4F, 10F, -0.5F); - TorsoRotorBack.setTextureSize(256, 128); - TorsoRotorBack.mirror = true; - setRotation(TorsoRotorBack, 0F, 0F, 0F); - TorsoRotorBlades = new ModelRenderer(this, 112, 120); - TorsoRotorBlades.addBox(-1.5F, -1.5F, 0F, 3, 3, 0); - TorsoRotorBlades.setRotationPoint(-7F + 1.5F, 8.5F + 1.5F, 0F); - TorsoRotorBlades.setTextureSize(256, 128); - TorsoRotorBlades.mirror = true; - setRotation(TorsoRotorBlades, 0F, 0F, 0F); - TorsoRotorPivot = new ModelRenderer(this, 0, 9); - TorsoRotorPivot.addBox(0F, 0F, 0F, 1, 2, 1); - TorsoRotorPivot.setRotationPoint(-6F, 8.5F, -0.5F); - TorsoRotorPivot.setTextureSize(256, 128); - TorsoRotorPivot.mirror = true; - setRotation(TorsoRotorPivot, 0F, 0F, 0F); - RotorBlades = new ModelRenderer(this, 76, 68); - RotorBlades.addBox(-30F, 0F, -30F, 60, 0, 60); - RotorBlades.setRotationPoint(0F, 1.5F, 0F); - RotorBlades.setTextureSize(256, 128); - RotorBlades.mirror = true; - setRotation(RotorBlades, 0F, 0F, 0F); - Antenna1 = new ModelRenderer(this, 0, 95); - Antenna1.addBox(0F, 0F, 0F, 4, 1, 1); - Antenna1.setRotationPoint(-14F, 4F, 0.5F); - Antenna1.setTextureSize(256, 128); - Antenna1.mirror = true; - setRotation(Antenna1, 0F, 0F, 0F); - Antenna2 = new ModelRenderer(this, 0, 97); - Antenna2.addBox(0F, 0F, 0F, 2, 1, 1); - Antenna2.setRotationPoint(-15F, 7F, 0F); - Antenna2.setTextureSize(256, 128); - Antenna2.mirror = true; - setRotation(Antenna2, 0F, 0F, 0F); - GunPivot = new ModelRenderer(this, 0, 106); - GunPivot.addBox(0F, 0F, 0F, 1, 2, 2); - GunPivot.setRotationPoint(-11F, 10F, -1F); - GunPivot.setTextureSize(256, 128); - GunPivot.mirror = true; - setRotation(GunPivot, 0F, 0F, 0F); - GunBarrel = new ModelRenderer(this, 0, 110); - GunBarrel.addBox(-6F, 0F, -0.5F, 6, 1, 1); - GunBarrel.setRotationPoint(-10.5F, 11.5F, 0F); - GunBarrel.setTextureSize(256, 128); - GunBarrel.mirror = true; - setRotation(GunBarrel, 0F, 0, 0F); - GunBack = new ModelRenderer(this, 0, 112); - GunBack.addBox(0F, -1F, -1F, 2, 2, 2); - GunBack.setRotationPoint(-10.5F, 12F, 0F); - GunBack.setTextureSize(256, 128); - GunBack.mirror = true; - setRotation(GunBack, 0F, 0, 0F); + this.TailRotorBlades = new ModelRenderer(this, 120, 120); + this.TailRotorBlades.addBox(-1.5F, -1.5F, 0F, 3, 3, 0); + this.TailRotorBlades.setRotationPoint(17F + 1.5F, 7F + 1.5F, 0F); + this.TailRotorBlades.setTextureSize(256, 128); + this.TailRotorBlades.mirror = true; + setRotation(this.TailRotorBlades, 0F, 0F, 0F); + this.TailRotorPivot = new ModelRenderer(this, 24, 77); + this.TailRotorPivot.addBox(0F, 0F, 0F, 1, 2, 1); + this.TailRotorPivot.setRotationPoint(18F, 8F, -0.5F); + this.TailRotorPivot.setTextureSize(256, 128); + this.TailRotorPivot.mirror = true; + setRotation(this.TailRotorPivot, 0F, 0F, 0F); + this.HeadNeck = new ModelRenderer(this, 0, 40); + this.HeadNeck.addBox(-1F, 0F, 0F, 1, 6, 3); + this.HeadNeck.setRotationPoint(-7F, 4F, -1.5F); + this.HeadNeck.setTextureSize(256, 128); + this.HeadNeck.mirror = true; + setRotation(this.HeadNeck, 0F, 0F, 0.2268928F); + this.HeadBack = new ModelRenderer(this, 0, 49); + this.HeadBack.addBox(0F, 0F, 0F, 1, 7, 4); + this.HeadBack.setRotationPoint(-8.5F, 3.5F, -2F); + this.HeadBack.setTextureSize(256, 128); + this.HeadBack.mirror = true; + setRotation(this.HeadBack, 0F, 0F, 0.2268928F); + this.HeadBase = new ModelRenderer(this, 0, 60); + this.HeadBase.addBox(-2F, 1F, 0F, 2, 6, 4); + this.HeadBase.setRotationPoint(-8.5F, 3.5F, -2F); + this.HeadBase.setTextureSize(256, 128); + this.HeadBase.mirror = true; + setRotation(this.HeadBase, 0F, 0F, 0.2268928F); + this.HeadTop = new ModelRenderer(this, 0, 70); + this.HeadTop.addBox(-2F, 0F, 0F, 2, 2, 4); + this.HeadTop.setRotationPoint(-8.5F, 3.5F, -2F); + this.HeadTop.setTextureSize(256, 128); + this.HeadTop.mirror = true; + setRotation(this.HeadTop, 0F, 0F, -0.2268928F); + this.HeadFront = new ModelRenderer(this, 0, 76); + this.HeadFront.addBox(0F, 0F, 0F, 2, 4, 2); + this.HeadFront.setRotationPoint(-13F, 5F, -1F); + this.HeadFront.setTextureSize(256, 128); + this.HeadFront.mirror = true; + setRotation(this.HeadFront, 0F, 0F, 0F); + this.HeadLeft = new ModelRenderer(this, 0, 82); + this.HeadLeft.addBox(-3F, 0F, 0F, 3, 4, 1); + this.HeadLeft.setRotationPoint(-10F, 5F, -2F); + this.HeadLeft.setTextureSize(256, 128); + this.HeadLeft.mirror = true; + setRotation(this.HeadLeft, 0F, 0.3490659F, 0F); + this.HeadRight = new ModelRenderer(this, 0, 87); + this.HeadRight.addBox(-3F, 0F, -1F, 3, 4, 1); + this.HeadRight.setRotationPoint(-10F, 5F, 2F); + this.HeadRight.setTextureSize(256, 128); + this.HeadRight.mirror = true; + setRotation(this.HeadRight, 0F, -0.3490659F, 0F); + this.HeadFrontTop = new ModelRenderer(this, 0, 92); + this.HeadFrontTop.addBox(-3F, 0F, 0F, 3, 1, 2); + this.HeadFrontTop.setRotationPoint(-10.5F, 4F, -1F); + this.HeadFrontTop.setTextureSize(256, 128); + this.HeadFrontTop.mirror = true; + setRotation(this.HeadFrontTop, 0F, 0F, -0.3490659F); + this.TorsoRotorBottom = new ModelRenderer(this, 0, 0); + this.TorsoRotorBottom.addBox(0F, 0F, 0F, 3, 1, 1); + this.TorsoRotorBottom.setRotationPoint(-7F, 11.5F, -0.5F); + this.TorsoRotorBottom.setTextureSize(256, 128); + this.TorsoRotorBottom.mirror = true; + setRotation(this.TorsoRotorBottom, 0F, 0F, 0F); + this.TorsoRotorFront = new ModelRenderer(this, 0, 2); + this.TorsoRotorFront.addBox(0F, 0F, 0F, 1, 3, 1); + this.TorsoRotorFront.setRotationPoint(-8F, 9F, -0.5F); + this.TorsoRotorFront.setTextureSize(256, 128); + this.TorsoRotorFront.mirror = true; + setRotation(this.TorsoRotorFront, 0F, 0F, 0F); + this.TorsoRotorBack = new ModelRenderer(this, 0, 6); + this.TorsoRotorBack.addBox(0F, 0F, 0F, 1, 2, 1); + this.TorsoRotorBack.setRotationPoint(-4F, 10F, -0.5F); + this.TorsoRotorBack.setTextureSize(256, 128); + this.TorsoRotorBack.mirror = true; + setRotation(this.TorsoRotorBack, 0F, 0F, 0F); + this.TorsoRotorBlades = new ModelRenderer(this, 112, 120); + this.TorsoRotorBlades.addBox(-1.5F, -1.5F, 0F, 3, 3, 0); + this.TorsoRotorBlades.setRotationPoint(-7F + 1.5F, 8.5F + 1.5F, 0F); + this.TorsoRotorBlades.setTextureSize(256, 128); + this.TorsoRotorBlades.mirror = true; + setRotation(this.TorsoRotorBlades, 0F, 0F, 0F); + this.TorsoRotorPivot = new ModelRenderer(this, 0, 9); + this.TorsoRotorPivot.addBox(0F, 0F, 0F, 1, 2, 1); + this.TorsoRotorPivot.setRotationPoint(-6F, 8.5F, -0.5F); + this.TorsoRotorPivot.setTextureSize(256, 128); + this.TorsoRotorPivot.mirror = true; + setRotation(this.TorsoRotorPivot, 0F, 0F, 0F); + this.RotorBlades = new ModelRenderer(this, 76, 68); + this.RotorBlades.addBox(-30F, 0F, -30F, 60, 0, 60); + this.RotorBlades.setRotationPoint(0F, 1.5F, 0F); + this.RotorBlades.setTextureSize(256, 128); + this.RotorBlades.mirror = true; + setRotation(this.RotorBlades, 0F, 0F, 0F); + this.Antenna1 = new ModelRenderer(this, 0, 95); + this.Antenna1.addBox(0F, 0F, 0F, 4, 1, 1); + this.Antenna1.setRotationPoint(-14F, 4F, 0.5F); + this.Antenna1.setTextureSize(256, 128); + this.Antenna1.mirror = true; + setRotation(this.Antenna1, 0F, 0F, 0F); + this.Antenna2 = new ModelRenderer(this, 0, 97); + this.Antenna2.addBox(0F, 0F, 0F, 2, 1, 1); + this.Antenna2.setRotationPoint(-15F, 7F, 0F); + this.Antenna2.setTextureSize(256, 128); + this.Antenna2.mirror = true; + setRotation(this.Antenna2, 0F, 0F, 0F); + this.GunPivot = new ModelRenderer(this, 0, 106); + this.GunPivot.addBox(0F, 0F, 0F, 1, 2, 2); + this.GunPivot.setRotationPoint(-11F, 10F, -1F); + this.GunPivot.setTextureSize(256, 128); + this.GunPivot.mirror = true; + setRotation(this.GunPivot, 0F, 0F, 0F); + this.GunBarrel = new ModelRenderer(this, 0, 110); + this.GunBarrel.addBox(-6F, 0F, -0.5F, 6, 1, 1); + this.GunBarrel.setRotationPoint(-10.5F, 11.5F, 0F); + this.GunBarrel.setTextureSize(256, 128); + this.GunBarrel.mirror = true; + setRotation(this.GunBarrel, 0F, 0, 0F); + this.GunBack = new ModelRenderer(this, 0, 112); + this.GunBack.addBox(0F, -1F, -1F, 2, 2, 2); + this.GunBack.setRotationPoint(-10.5F, 12F, 0F); + this.GunBack.setTextureSize(256, 128); + this.GunBack.mirror = true; + setRotation(this.GunBack, 0F, 0, 0F); } @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - RotorPivotStem.render(f5); - RotorPivotTop.render(f5); - RotorPivotPlate.render(f5); - TorsoBaseCenter.render(f5); - TorsoPlateLeft.render(f5); - TorsoBaseBottom.render(f5); - TorsoPlateRight.render(f5); - TorsoPlateBottom.render(f5); - WingLeftPlate.render(f5); - WingRightPlate.render(f5); - WingLeft.render(f5); - WingLeftFront.render(f5); - WingLeftTip.render(f5); - WingRight.render(f5); - WingRightFront.render(f5); - WingRightTip.render(f5); - TorsoBaseBack.render(f5); - TorsoBoxBottom.render(f5); - TorsoPlateBack.render(f5); - TorsoBoxBack.render(f5); - TorsoPlateLeftBack.render(f5); - TorsoPlateRightBack.render(f5); - TailFrontBase.render(f5); - TailFrontPlate.render(f5); - TailBackBase.render(f5); - TailRotorFront.render(f5); - TailRotorTop.render(f5); - TailRotorBack.render(f5); - TailRotorBottom.render(f5); - TailRotorBlades.render(f5); - TailRotorPivot.render(f5); - HeadNeck.render(f5); - HeadBack.render(f5); - HeadBase.render(f5); - HeadTop.render(f5); - HeadFront.render(f5); - HeadLeft.render(f5); - HeadRight.render(f5); - HeadFrontTop.render(f5); - TorsoRotorBottom.render(f5); - TorsoRotorFront.render(f5); - TorsoRotorBack.render(f5); - TorsoRotorBlades.render(f5); - TorsoRotorPivot.render(f5); - RotorBlades.render(f5); - Antenna1.render(f5); - Antenna2.render(f5); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.renderAll(scaleFactor); + } + + public void renderAll(float scaleFactor) { + float time = (System.currentTimeMillis() % 360000L) / (1000F / 60F); + + this.RotorBlades.rotateAngleY = time * (f * 5); + this.TorsoRotorBlades.rotateAngleZ = time * (f * 5); + this.TailRotorBlades.rotateAngleZ = time * (f * 5); + + this.RotorPivotStem.render(scaleFactor); + this.RotorPivotTop.render(scaleFactor); + this.RotorPivotPlate.render(scaleFactor); + this.TorsoBaseCenter.render(scaleFactor); + this.TorsoPlateLeft.render(scaleFactor); + this.TorsoBaseBottom.render(scaleFactor); + this.TorsoPlateRight.render(scaleFactor); + this.TorsoPlateBottom.render(scaleFactor); + this.WingLeftPlate.render(scaleFactor); + this.WingRightPlate.render(scaleFactor); + this.WingLeft.render(scaleFactor); + this.WingLeftFront.render(scaleFactor); + this.WingLeftTip.render(scaleFactor); + this.WingRight.render(scaleFactor); + this.WingRightFront.render(scaleFactor); + this.WingRightTip.render(scaleFactor); + this.TorsoBaseBack.render(scaleFactor); + this.TorsoBoxBottom.render(scaleFactor); + this.TorsoPlateBack.render(scaleFactor); + this.TorsoBoxBack.render(scaleFactor); + this.TorsoPlateLeftBack.render(scaleFactor); + this.TorsoPlateRightBack.render(scaleFactor); + this.TailFrontBase.render(scaleFactor); + this.TailFrontPlate.render(scaleFactor); + this.TailBackBase.render(scaleFactor); + this.TailRotorFront.render(scaleFactor); + this.TailRotorTop.render(scaleFactor); + this.TailRotorBack.render(scaleFactor); + this.TailRotorBottom.render(scaleFactor); + this.TailRotorBlades.render(scaleFactor); + this.TailRotorPivot.render(scaleFactor); + this.HeadNeck.render(scaleFactor); + this.HeadBack.render(scaleFactor); + this.HeadBase.render(scaleFactor); + this.HeadTop.render(scaleFactor); + this.HeadFront.render(scaleFactor); + this.HeadLeft.render(scaleFactor); + this.HeadRight.render(scaleFactor); + this.HeadFrontTop.render(scaleFactor); + this.TorsoRotorBottom.render(scaleFactor); + this.TorsoRotorFront.render(scaleFactor); + this.TorsoRotorBack.render(scaleFactor); + this.TorsoRotorBlades.render(scaleFactor); + this.TorsoRotorPivot.render(scaleFactor); + this.RotorBlades.render(scaleFactor); + this.Antenna1.render(scaleFactor); + this.Antenna2.render(scaleFactor); //GunPivot.render(f5); //GunBarrel.render(f5); //GunBack.render(f5); } - private void setRotation(ModelRenderer model, float x, float y, float z) { + private static void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - - public void renderAll(float f5) { - RotorPivotStem.render(f5); - RotorPivotTop.render(f5); - RotorPivotPlate.render(f5); - TorsoBaseCenter.render(f5); - TorsoPlateLeft.render(f5); - TorsoBaseBottom.render(f5); - TorsoPlateRight.render(f5); - TorsoPlateBottom.render(f5); - WingLeftPlate.render(f5); - WingRightPlate.render(f5); - WingLeft.render(f5); - WingLeftFront.render(f5); - WingLeftTip.render(f5); - WingRight.render(f5); - WingRightFront.render(f5); - WingRightTip.render(f5); - TorsoBaseBack.render(f5); - TorsoBoxBottom.render(f5); - TorsoPlateBack.render(f5); - TorsoBoxBack.render(f5); - TorsoPlateLeftBack.render(f5); - TorsoPlateRightBack.render(f5); - TailFrontBase.render(f5); - TailFrontPlate.render(f5); - TailBackBase.render(f5); - TailRotorFront.render(f5); - TailRotorTop.render(f5); - TailRotorBack.render(f5); - TailRotorBottom.render(f5); - TailRotorBlades.render(f5); - TailRotorPivot.render(f5); - HeadNeck.render(f5); - HeadBack.render(f5); - HeadBase.render(f5); - HeadTop.render(f5); - HeadFront.render(f5); - HeadLeft.render(f5); - HeadRight.render(f5); - HeadFrontTop.render(f5); - TorsoRotorBottom.render(f5); - TorsoRotorFront.render(f5); - TorsoRotorBack.render(f5); - TorsoRotorBlades.render(f5); - TorsoRotorPivot.render(f5); - RotorBlades.render(f5); - Antenna1.render(f5); - Antenna2.render(f5); - //GunPivot.render(f5); - //GunBarrel.render(f5); - //GunBack.render(f5); - - RotorBlades.rotateAngleY += f * 5; - TorsoRotorBlades.rotateAngleZ += f * 5; - TailRotorBlades.rotateAngleZ += f * 5; - } - } diff --git a/src/main/java/com/hbm/render/model/ModelImmolator.java b/src/main/java/com/hbm/render/model/ModelImmolator.java deleted file mode 100644 index c94ca7deb..000000000 --- a/src/main/java/com/hbm/render/model/ModelImmolator.java +++ /dev/null @@ -1,247 +0,0 @@ -// Date: 22.11.2016 22:40:09 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelImmolator extends ModelBase { - // fields - ModelRenderer CylinderBase; - ModelRenderer CylinderFront; - ModelRenderer PipeBBase; - ModelRenderer PipeB; - ModelRenderer TipBase; - ModelRenderer PipeL; - ModelRenderer PipeLFront; - ModelRenderer TipFront; - ModelRenderer ChamberH; - ModelRenderer ChamberW; - ModelRenderer PipeTBack; - ModelRenderer PipeTBase; - ModelRenderer PipeT; - ModelRenderer PipeTFront; - ModelRenderer Body; - ModelRenderer Tank; - ModelRenderer HandleBase; - ModelRenderer HandleBar; - ModelRenderer HandleGrip; - ModelRenderer BodyPlate; - ModelRenderer ValveFront; - ModelRenderer ValveCenter; - ModelRenderer Stock; - ModelRenderer LatchBase; - ModelRenderer LatchHandle; - ModelRenderer ValveBack; - - public ModelImmolator() { - textureWidth = 64; - textureHeight = 32; - - CylinderBase = new ModelRenderer(this, 0, 0); - CylinderBase.addBox(0F, 0F, 0F, 2, 4, 4); - CylinderBase.setRotationPoint(0F, 0F, -2F); - CylinderBase.setTextureSize(64, 32); - CylinderBase.mirror = true; - setRotation(CylinderBase, 0F, 0F, 0F); - CylinderFront = new ModelRenderer(this, 0, 8); - CylinderFront.addBox(0F, 0F, 0F, 1, 3, 3); - CylinderFront.setRotationPoint(-1F, 0.5F, -1.5F); - CylinderFront.setTextureSize(64, 32); - CylinderFront.mirror = true; - setRotation(CylinderFront, 0F, 0F, 0F); - PipeBBase = new ModelRenderer(this, 0, 14); - PipeBBase.addBox(0F, 0F, 0F, 2, 2, 2); - PipeBBase.setRotationPoint(-2F, 2F, 0F); - PipeBBase.setTextureSize(64, 32); - PipeBBase.mirror = true; - setRotation(PipeBBase, 0F, 0F, 0F); - PipeB = new ModelRenderer(this, 0, 18); - PipeB.addBox(0F, 0F, 0F, 8, 1, 1); - PipeB.setRotationPoint(-10F, 2.5F, 0.5F); - PipeB.setTextureSize(64, 32); - PipeB.mirror = true; - setRotation(PipeB, 0F, 0F, 0F); - TipBase = new ModelRenderer(this, 8, 8); - TipBase.addBox(0F, 0F, 0F, 2, 2, 2); - TipBase.setRotationPoint(-12F, 1.5F, -0.5F); - TipBase.setTextureSize(64, 32); - TipBase.mirror = true; - setRotation(TipBase, 0F, 0F, 0F); - PipeL = new ModelRenderer(this, 0, 20); - PipeL.addBox(0F, 0F, 0F, 7, 1, 1); - PipeL.setRotationPoint(-7F, 2.5F, -1.5F); - PipeL.setTextureSize(64, 32); - PipeL.mirror = true; - setRotation(PipeL, 0F, 0F, 0F); - PipeLFront = new ModelRenderer(this, 0, 22); - PipeLFront.addBox(-4F, 0F, 0F, 4, 1, 1); - PipeLFront.setRotationPoint(-7F, 2.5F, -1.5F); - PipeLFront.setTextureSize(64, 32); - PipeLFront.mirror = true; - setRotation(PipeLFront, 0F, 0.4363323F, 0F); - TipFront = new ModelRenderer(this, 8, 12); - TipFront.addBox(0F, 0F, 0F, 2, 1, 1); - TipFront.setRotationPoint(-14F, 2F, 0F); - TipFront.setTextureSize(64, 32); - TipFront.mirror = true; - setRotation(TipFront, 0F, 0F, 0F); - ChamberH = new ModelRenderer(this, 24, 0); - ChamberH.addBox(0F, 0F, 0F, 4, 5, 4); - ChamberH.setRotationPoint(2F, -0.5F, -2F); - ChamberH.setTextureSize(64, 32); - ChamberH.mirror = true; - setRotation(ChamberH, 0F, 0F, 0F); - ChamberW = new ModelRenderer(this, 40, 0); - ChamberW.addBox(0F, 0F, 0F, 4, 4, 5); - ChamberW.setRotationPoint(2F, 0F, -2.5F); - ChamberW.setTextureSize(64, 32); - ChamberW.mirror = true; - setRotation(ChamberW, 0F, 0F, 0F); - PipeTBack = new ModelRenderer(this, 0, 24); - PipeTBack.addBox(0F, 0F, 0F, 6, 1, 1); - PipeTBack.setRotationPoint(0F, -2F, 2.5F); - PipeTBack.setTextureSize(64, 32); - PipeTBack.mirror = true; - setRotation(PipeTBack, -0.4363323F, 0F, 0F); - PipeTBase = new ModelRenderer(this, 8, 14); - PipeTBase.addBox(0F, 1F, 0F, 1, 2, 1); - PipeTBase.setRotationPoint(1F, -2F, 2.5F); - PipeTBase.setTextureSize(64, 32); - PipeTBase.mirror = true; - setRotation(PipeTBase, -0.4363323F, 0F, 0F); - PipeT = new ModelRenderer(this, 0, 26); - PipeT.addBox(-9F, 0F, 0F, 9, 1, 1); - PipeT.setRotationPoint(0F, -2F, 2.5F); - PipeT.setTextureSize(64, 32); - PipeT.mirror = true; - setRotation(PipeT, -0.4363323F, -0.296706F, -0.4014257F); - PipeTFront = new ModelRenderer(this, 0, 28); - PipeTFront.addBox(0F, 0F, 0F, 3, 1, 1); - PipeTFront.setRotationPoint(-10F, 1.5F, 0F); - PipeTFront.setTextureSize(64, 32); - PipeTFront.mirror = true; - setRotation(PipeTFront, 0F, 0F, 0F); - Body = new ModelRenderer(this, 24, 9); - Body.addBox(0F, 0F, 0F, 10, 4, 4); - Body.setRotationPoint(6F, 0.5F, -1.5F); - Body.setTextureSize(64, 32); - Body.mirror = true; - setRotation(Body, 0F, 0F, 0F); - Tank = new ModelRenderer(this, 12, 0); - Tank.addBox(0F, 0F, 0F, 3, 3, 2); - Tank.setRotationPoint(6F, 1F, -3F); - Tank.setTextureSize(64, 32); - Tank.mirror = true; - setRotation(Tank, 0F, 0F, 0F); - HandleBase = new ModelRenderer(this, 24, 17); - HandleBase.addBox(0F, 0F, 0F, 2, 2, 1); - HandleBase.setRotationPoint(4F, 1F, -3F); - HandleBase.setTextureSize(64, 32); - HandleBase.mirror = true; - setRotation(HandleBase, 0F, 0F, 0F); - HandleBar = new ModelRenderer(this, 30, 17); - HandleBar.addBox(0F, 0F, 0F, 1, 1, 2); - HandleBar.setRotationPoint(4.5F, 1.5F, -5F); - HandleBar.setTextureSize(64, 32); - HandleBar.mirror = true; - setRotation(HandleBar, 0F, 0F, 0F); - HandleGrip = new ModelRenderer(this, 36, 17); - HandleGrip.addBox(0F, 0F, -2F, 1, 1, 2); - HandleGrip.setRotationPoint(4.5F, 1.5F, -5F); - HandleGrip.setTextureSize(64, 32); - HandleGrip.mirror = true; - setRotation(HandleGrip, 0F, -0.3490659F, 0F); - BodyPlate = new ModelRenderer(this, 24, 20); - BodyPlate.addBox(0F, 0F, 0F, 10, 1, 2); - BodyPlate.setRotationPoint(6F, 0F, 0F); - BodyPlate.setTextureSize(64, 32); - BodyPlate.mirror = true; - setRotation(BodyPlate, 0F, 0F, 0F); - ValveFront = new ModelRenderer(this, 0, 30); - ValveFront.addBox(0F, 0F, 0F, 1, 1, 1); - ValveFront.setRotationPoint(8F, -0.5F, 0.5F); - ValveFront.setTextureSize(64, 32); - ValveFront.mirror = true; - setRotation(ValveFront, 0F, 0F, 0F); - ValveCenter = new ModelRenderer(this, 4, 30); - ValveCenter.addBox(0F, 0F, 0F, 1, 1, 1); - ValveCenter.setRotationPoint(11F, -0.5F, 0.5F); - ValveCenter.setTextureSize(64, 32); - ValveCenter.mirror = true; - setRotation(ValveCenter, 0F, 0F, 0F); - Stock = new ModelRenderer(this, 24, 23); - Stock.addBox(0F, 0F, 0F, 2, 4, 2); - Stock.setRotationPoint(16F, 0.5F, 0F); - Stock.setTextureSize(64, 32); - Stock.mirror = true; - setRotation(Stock, 0F, 0F, 0F); - LatchBase = new ModelRenderer(this, 8, 28); - LatchBase.addBox(0F, 0F, 0F, 2, 1, 1); - LatchBase.setRotationPoint(16F, 0.5F, 2F); - LatchBase.setTextureSize(64, 32); - LatchBase.mirror = true; - setRotation(LatchBase, 0F, 0F, 0F); - LatchHandle = new ModelRenderer(this, 32, 23); - LatchHandle.addBox(0F, 0F, 0F, 2, 3, 1); - LatchHandle.setRotationPoint(16F, 0.5F, 3F); - LatchHandle.setTextureSize(64, 32); - LatchHandle.mirror = true; - setRotation(LatchHandle, 0F, 0F, 0F); - ValveBack = new ModelRenderer(this, 8, 30); - ValveBack.addBox(0F, 0F, 0F, 1, 1, 1); - ValveBack.setRotationPoint(17.5F, 1F, 0.5F); - ValveBack.setTextureSize(64, 32); - ValveBack.mirror = true; - setRotation(ValveBack, 0F, 0F, 0F); - } - - @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - CylinderBase.render(f5); - CylinderFront.render(f5); - PipeBBase.render(f5); - PipeB.render(f5); - TipBase.render(f5); - PipeL.render(f5); - PipeLFront.render(f5); - TipFront.render(f5); - ChamberH.render(f5); - ChamberW.render(f5); - PipeTBack.render(f5); - PipeTBase.render(f5); - PipeT.render(f5); - PipeTFront.render(f5); - Body.render(f5); - Tank.render(f5); - HandleBase.render(f5); - HandleBar.render(f5); - HandleGrip.render(f5); - BodyPlate.render(f5); - ValveFront.render(f5); - ValveCenter.render(f5); - Stock.render(f5); - LatchBase.render(f5); - LatchHandle.render(f5); - ValveBack.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelJack.java b/src/main/java/com/hbm/render/model/ModelJack.java deleted file mode 100644 index c0621d054..000000000 --- a/src/main/java/com/hbm/render/model/ModelJack.java +++ /dev/null @@ -1,129 +0,0 @@ -// Date: 14.02.2017 18:33:04 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - - - - - - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelJack extends ModelBase -{ - //fields - ModelRenderer BarrelBR; - ModelRenderer BarrelBL; - ModelRenderer BarrelTR; - ModelRenderer BarrelTL; - ModelRenderer Body; - ModelRenderer Back; - ModelRenderer Plate; - ModelRenderer StockMain; - ModelRenderer StockBottom; - ModelRenderer StockPlate; - - public ModelJack() - { - textureWidth = 64; - textureHeight = 64; - - BarrelBR = new ModelRenderer(this, 0, 6); - BarrelBR.addBox(0F, 0F, 0F, 21, 3, 3); - BarrelBR.setRotationPoint(-18F, 0F, 0.2F); - BarrelBR.setTextureSize(64, 64); - BarrelBR.mirror = true; - setRotation(BarrelBR, 0F, 0F, 0F); - BarrelBL = new ModelRenderer(this, 0, 0); - BarrelBL.addBox(0F, 0F, 0F, 21, 3, 3); - BarrelBL.setRotationPoint(-18F, 0F, -3.2F); - BarrelBL.setTextureSize(64, 64); - BarrelBL.mirror = true; - setRotation(BarrelBL, 0F, 0F, 0F); - BarrelTR = new ModelRenderer(this, 0, 12); - BarrelTR.addBox(0F, 0F, 0F, 21, 3, 3); - BarrelTR.setRotationPoint(-18F, -3.2F, 0.2F); - BarrelTR.setTextureSize(64, 64); - BarrelTR.mirror = true; - setRotation(BarrelTR, 0F, 0F, 0F); - BarrelTL = new ModelRenderer(this, 0, 18); - BarrelTL.addBox(0F, 0F, 0F, 21, 3, 3); - BarrelTL.setRotationPoint(-18F, -3.2F, -3.2F); - BarrelTL.setTextureSize(64, 64); - BarrelTL.mirror = true; - setRotation(BarrelTL, 0F, 0F, 0F); - Body = new ModelRenderer(this, 0, 24); - Body.addBox(0F, 0F, 0F, 15, 7, 4); - Body.setRotationPoint(-9F, -2F, -2F); - Body.setTextureSize(64, 64); - Body.mirror = true; - setRotation(Body, 0F, 0F, 0F); - Back = new ModelRenderer(this, 38, 24); - Back.addBox(0F, 0F, 0F, 3, 5, 3); - Back.setRotationPoint(6F, 0F, -1.5F); - Back.setTextureSize(64, 64); - Back.mirror = true; - setRotation(Back, 0F, 0F, 0F); - Plate = new ModelRenderer(this, 0, 35); - Plate.addBox(0F, 0F, 0F, 4, 2, 3); - Plate.setRotationPoint(6F, -2F, -1.5F); - Plate.setTextureSize(64, 64); - Plate.mirror = true; - setRotation(Plate, 0F, 0F, 0.4363323F); - StockMain = new ModelRenderer(this, 0, 40); - StockMain.addBox(0F, 0F, 0F, 13, 3, 3); - StockMain.setRotationPoint(9F, 2F, -1.5F); - StockMain.setTextureSize(64, 64); - StockMain.mirror = true; - setRotation(StockMain, 0F, 0F, 0F); - StockBottom = new ModelRenderer(this, 0, 46); - StockBottom.addBox(0F, 0F, 0F, 6, 3, 3); - StockBottom.setRotationPoint(16F, 5F, -1.5F); - StockBottom.setTextureSize(64, 64); - StockBottom.mirror = true; - setRotation(StockBottom, 0F, 0F, 0F); - StockPlate = new ModelRenderer(this, 18, 46); - StockPlate.addBox(-8F, -3F, 0F, 8, 3, 3); - StockPlate.setRotationPoint(16F, 8F, -1.5F); - StockPlate.setTextureSize(64, 64); - StockPlate.mirror = true; - setRotation(StockPlate, 0F, 0F, 0.4014257F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - BarrelBR.render(f5); - BarrelBL.render(f5); - BarrelTR.render(f5); - BarrelTL.render(f5); - Body.render(f5); - Back.render(f5); - Plate.render(f5); - StockMain.render(f5); - StockBottom.render(f5); - StockPlate.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelJetPack.java b/src/main/java/com/hbm/render/model/ModelJetPack.java index b15e7a53c..5024c885d 100644 --- a/src/main/java/com/hbm/render/model/ModelJetPack.java +++ b/src/main/java/com/hbm/render/model/ModelJetPack.java @@ -14,7 +14,7 @@ import net.minecraft.item.EnumAction; import net.minecraft.item.ItemStack; public class ModelJetPack extends ModelBiped { - // fields + ModelRenderer Tank1; ModelRenderer Tank2; ModelRenderer Tip1; @@ -27,111 +27,87 @@ public class ModelJetPack extends ModelBiped { ModelRenderer JetPack; public ModelJetPack() { - textureWidth = 32; - textureHeight = 32; + this.textureWidth = 32; + this.textureHeight = 32; float x = 0F; float y = 0F; float z = -2F; - - JetPack = new ModelRenderer(this, 0, 0); - JetPack.setRotationPoint(x, y, z); - - Pack = new ModelRenderer(this, 12, 10); - Pack.addBox(0F, 0F, 0F, 4, 6, 1); - Pack.setRotationPoint(-2F, 3F, 0F); - Pack.setTextureSize(32, 32); - Pack.mirror = true; - convertToChild(JetPack, Pack); - setRotation(Pack, 0F, 0F, 0F); - Tank1 = new ModelRenderer(this, 0, 0); - Tank1.addBox(0F, 0F, 0F, 3, 8, 3); - Tank1.setRotationPoint(0.5F, 2F, 0.5F); - Tank1.setTextureSize(32, 32); - Tank1.mirror = true; - setRotation(Tank1, 0F, 0F, 0F); - convertToChild(JetPack, Tank1); - Tank2 = new ModelRenderer(this, 0, 11); - Tank2.addBox(0F, 0F, 0F, 3, 8, 3); - Tank2.setRotationPoint(-3.5F, 2F, 0.5F); - Tank2.setTextureSize(32, 32); - Tank2.mirror = true; - setRotation(Tank2, 0F, 0F, 0F); - convertToChild(JetPack, Tank2); - Tip1 = new ModelRenderer(this, 0, 22); - Tip1.addBox(0F, 0F, 0F, 2, 1, 2); - Tip1.setRotationPoint(1F, 1F, 1F); - Tip1.setTextureSize(32, 32); - Tip1.mirror = true; - setRotation(Tip1, 0F, 0F, 0F); - convertToChild(JetPack, Tip1); - Tip2 = new ModelRenderer(this, 0, 25); - Tip2.addBox(0F, 0F, 0F, 2, 1, 2); - Tip2.setRotationPoint(-3F, 1F, 1F); - Tip2.setTextureSize(32, 32); - Tip2.mirror = true; - setRotation(Tip2, 0F, 0F, 0F); - convertToChild(JetPack, Tip2); - Duct1 = new ModelRenderer(this, 8, 22); - Duct1.addBox(0F, 0F, 0F, 2, 1, 2); - Duct1.setRotationPoint(1F, 9.5F, 1F); - Duct1.setTextureSize(32, 32); - Duct1.mirror = true; - setRotation(Duct1, 0F, 0F, 0F); - convertToChild(JetPack, Duct1); - Duct2 = new ModelRenderer(this, 8, 25); - Duct2.addBox(0F, 0F, 0F, 2, 1, 2); - Duct2.setRotationPoint(-3F, 9.5F, 1F); - Duct2.setTextureSize(32, 32); - Duct2.mirror = true; - setRotation(Duct2, 0F, 0F, 0F); - convertToChild(JetPack, Duct2); - Thruster1 = new ModelRenderer(this, 12, 0); - Thruster1.addBox(0F, 0F, 0F, 3, 2, 3); - Thruster1.setRotationPoint(0.5F, 10.5F, 0.5F); - Thruster1.setTextureSize(32, 32); - Thruster1.mirror = true; - setRotation(Thruster1, 0F, 0F, 0F); - convertToChild(JetPack, Thruster1); - Thruster2 = new ModelRenderer(this, 12, 5); - Thruster2.addBox(0F, 0F, 0F, 3, 2, 3); - Thruster2.setRotationPoint(-3.5F, 10.5F, 0.5F); - Thruster2.setTextureSize(32, 32); - Thruster2.mirror = true; - setRotation(Thruster2, 0F, 0F, 0F); - convertToChild(JetPack, Thruster2); - } - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - //super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - - /*Tank1.render(f5); - Tank2.render(f5); - Tip1.render(f5); - Tip2.render(f5); - Duct1.render(f5); - Duct2.render(f5); - Thruster1.render(f5); - Thruster2.render(f5);*/ - JetPack.render(f5); - } + this.JetPack = new ModelRenderer(this, 0, 0); + this.JetPack.setRotationPoint(x, y, z); - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; + this.Pack = new ModelRenderer(this, 12, 10); + this.Pack.addBox(0F, 0F, 0F, 4, 6, 1); + this.Pack.setRotationPoint(-2F, 3F, 0F); + this.Pack.setTextureSize(32, 32); + this.Pack.mirror = true; + convertToChild(this.JetPack, this.Pack); + setRotation(this.Pack, 0F, 0F, 0F); + this.Tank1 = new ModelRenderer(this, 0, 0); + this.Tank1.addBox(0F, 0F, 0F, 3, 8, 3); + this.Tank1.setRotationPoint(0.5F, 2F, 0.5F); + this.Tank1.setTextureSize(32, 32); + this.Tank1.mirror = true; + setRotation(this.Tank1, 0F, 0F, 0F); + convertToChild(this.JetPack, this.Tank1); + this.Tank2 = new ModelRenderer(this, 0, 11); + this.Tank2.addBox(0F, 0F, 0F, 3, 8, 3); + this.Tank2.setRotationPoint(-3.5F, 2F, 0.5F); + this.Tank2.setTextureSize(32, 32); + this.Tank2.mirror = true; + setRotation(this.Tank2, 0F, 0F, 0F); + convertToChild(this.JetPack, this.Tank2); + this.Tip1 = new ModelRenderer(this, 0, 22); + this.Tip1.addBox(0F, 0F, 0F, 2, 1, 2); + this.Tip1.setRotationPoint(1F, 1F, 1F); + this.Tip1.setTextureSize(32, 32); + this.Tip1.mirror = true; + setRotation(this.Tip1, 0F, 0F, 0F); + convertToChild(this.JetPack, this.Tip1); + this.Tip2 = new ModelRenderer(this, 0, 25); + this.Tip2.addBox(0F, 0F, 0F, 2, 1, 2); + this.Tip2.setRotationPoint(-3F, 1F, 1F); + this.Tip2.setTextureSize(32, 32); + this.Tip2.mirror = true; + setRotation(this.Tip2, 0F, 0F, 0F); + convertToChild(this.JetPack, this.Tip2); + this.Duct1 = new ModelRenderer(this, 8, 22); + this.Duct1.addBox(0F, 0F, 0F, 2, 1, 2); + this.Duct1.setRotationPoint(1F, 9.5F, 1F); + this.Duct1.setTextureSize(32, 32); + this.Duct1.mirror = true; + setRotation(this.Duct1, 0F, 0F, 0F); + convertToChild(this.JetPack, this.Duct1); + this.Duct2 = new ModelRenderer(this, 8, 25); + this.Duct2.addBox(0F, 0F, 0F, 2, 1, 2); + this.Duct2.setRotationPoint(-3F, 9.5F, 1F); + this.Duct2.setTextureSize(32, 32); + this.Duct2.mirror = true; + setRotation(this.Duct2, 0F, 0F, 0F); + convertToChild(this.JetPack, this.Duct2); + this.Thruster1 = new ModelRenderer(this, 12, 0); + this.Thruster1.addBox(0F, 0F, 0F, 3, 2, 3); + this.Thruster1.setRotationPoint(0.5F, 10.5F, 0.5F); + this.Thruster1.setTextureSize(32, 32); + this.Thruster1.mirror = true; + setRotation(this.Thruster1, 0F, 0F, 0F); + convertToChild(this.JetPack, this.Thruster1); + this.Thruster2 = new ModelRenderer(this, 12, 5); + this.Thruster2.addBox(0F, 0F, 0F, 3, 2, 3); + this.Thruster2.setRotationPoint(-3.5F, 10.5F, 0.5F); + this.Thruster2.setTextureSize(32, 32); + this.Thruster2.mirror = true; + setRotation(this.Thruster2, 0F, 0F, 0F); + convertToChild(this.JetPack, this.Thruster2); } @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { + public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entity) { + if (entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) entity; - if (player.isSneaking()) { - this.isSneak = true; - } else { - this.isSneak = false; - } + this.isSneak = player.isSneaking(); ItemStack itemstack = player.inventory.getCurrentItem(); this.heldItemRight = itemstack != null ? 1 : 0; @@ -145,7 +121,9 @@ public class ModelJetPack extends ModelBiped { } } } - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + this.JetPack.rotationPointX = this.bipedBody.rotationPointX; this.JetPack.rotationPointY = this.bipedBody.rotationPointY; this.JetPack.rotationPointZ = this.bipedBody.rotationPointZ; @@ -154,14 +132,38 @@ public class ModelJetPack extends ModelBiped { this.JetPack.rotateAngleZ = this.bipedBody.rotateAngleZ; } - protected void convertToChild(ModelRenderer parParent, ModelRenderer parChild) { - parChild.rotationPointX -= parParent.rotationPointX; - parChild.rotationPointY -= parParent.rotationPointY; - parChild.rotationPointZ -= parParent.rotationPointZ; - parChild.rotateAngleX -= parParent.rotateAngleX; - parChild.rotateAngleY -= parParent.rotateAngleY; - parChild.rotateAngleZ -= parParent.rotateAngleZ; - parParent.addChild(parChild); + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + //super.render(entity, f, f1, f2, f3, f4, f5); + this.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + + /*Tank1.render(f5); + Tank2.render(f5); + Tip1.render(f5); + Tip2.render(f5); + Duct1.render(f5); + Duct2.render(f5); + Thruster1.render(f5); + Thruster2.render(f5);*/ + this.JetPack.render(scaleFactor); } + protected static void convertToChild(ModelRenderer parent, ModelRenderer child) { + + child.rotationPointX -= parent.rotationPointX; + child.rotationPointY -= parent.rotationPointY; + child.rotationPointZ -= parent.rotationPointZ; + child.rotateAngleX -= parent.rotateAngleX; + child.rotateAngleY -= parent.rotateAngleY; + child.rotateAngleZ -= parent.rotateAngleZ; + parent.addChild(child); + } + + private static void setRotation(ModelRenderer model, float x, float y, float z) { + + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } } diff --git a/src/main/java/com/hbm/render/model/ModelLacunae.java b/src/main/java/com/hbm/render/model/ModelLacunae.java deleted file mode 100644 index ba9c0a519..000000000 --- a/src/main/java/com/hbm/render/model/ModelLacunae.java +++ /dev/null @@ -1,598 +0,0 @@ -// Date: 30.12.2018 13:53:06 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelLacunae extends ModelBase { - // fields - ModelRenderer FrontP1; - ModelRenderer FrontP2; - ModelRenderer FrontP3; - ModelRenderer Barrel1; - ModelRenderer Barrel2; - ModelRenderer Barrel3; - ModelRenderer Barrel4; - ModelRenderer Barrel5; - ModelRenderer Barrel6; - ModelRenderer Brace1; - ModelRenderer Brace2; - ModelRenderer Brace3; - ModelRenderer Brace4; - ModelRenderer Brace5; - ModelRenderer Brace6; - ModelRenderer Brace7; - ModelRenderer Brace8; - ModelRenderer Brace9; - ModelRenderer Brace10; - ModelRenderer Brace11; - ModelRenderer Brace12; - ModelRenderer Disc1; - ModelRenderer Disc2; - ModelRenderer Disc3; - ModelRenderer Disc4; - ModelRenderer Disc5; - ModelRenderer Disc6; - ModelRenderer Disc7; - ModelRenderer Disc8; - ModelRenderer BodyF1; - ModelRenderer BodyF2; - ModelRenderer BodyF3; - ModelRenderer BodyR1; - ModelRenderer BodyR2; - ModelRenderer BodyL1; - ModelRenderer BodyL2; - ModelRenderer BackP1; - ModelRenderer BackP2; - ModelRenderer BackP3; - ModelRenderer Block; - ModelRenderer AchsleF; - ModelRenderer Drum1; - ModelRenderer Drum2; - ModelRenderer DrumT; - ModelRenderer StickBase; - ModelRenderer Stick; - ModelRenderer AchsleB; - ModelRenderer Motor1; - ModelRenderer Motor2; - ModelRenderer Pipe1; - ModelRenderer Frame1; - ModelRenderer Frame2; - ModelRenderer Frame3; - ModelRenderer Frame4; - ModelRenderer Grip; - ModelRenderer Pipe2; - ModelRenderer PipeT; - ModelRenderer Pipe3; - ModelRenderer Pipe4; - ModelRenderer AmmoFrame; - ModelRenderer ClampB; - ModelRenderer ClampF; - ModelRenderer AmmoBox; - - public ModelLacunae() { - textureWidth = 128; - textureHeight = 128; - - FrontP1 = new ModelRenderer(this, 0, 52); - FrontP1.addBox(0F, 0F, 0F, 3, 8, 4); - FrontP1.setRotationPoint(-2F, 0F, -2F); - FrontP1.setTextureSize(128, 128); - FrontP1.mirror = true; - setRotation(FrontP1, 0F, 0F, 0F); - FrontP2 = new ModelRenderer(this, 14, 52); - FrontP2.addBox(0F, 0F, 0F, 3, 4, 8); - FrontP2.setRotationPoint(-2F, 2F, -4F); - FrontP2.setTextureSize(128, 128); - FrontP2.mirror = true; - setRotation(FrontP2, 0F, 0F, 0F); - FrontP3 = new ModelRenderer(this, 0, 38); - FrontP3.addBox(0F, 0F, 0F, 3, 7, 7); - FrontP3.setRotationPoint(-2F, 0.5F, -3.5F); - FrontP3.setTextureSize(128, 128); - FrontP3.mirror = true; - setRotation(FrontP3, 0F, 0F, 0F); - Barrel1 = new ModelRenderer(this, 64, 62); - Barrel1.addBox(0F, -2.5F, -0.5F, 31, 1, 1); - Barrel1.setRotationPoint(1F, 4F, 0F); - Barrel1.setTextureSize(128, 128); - Barrel1.mirror = true; - setRotation(Barrel1, 0F, 0F, 0F); - Barrel2 = new ModelRenderer(this, 64, 62); - Barrel2.addBox(0F, -2.5F, -0.5F, 31, 1, 1); - Barrel2.setRotationPoint(1F, 4F, 0F); - Barrel2.setTextureSize(128, 128); - Barrel2.mirror = true; - setRotation(Barrel2, 0.6457718F, 0F, 0F); - Barrel3 = new ModelRenderer(this, 64, 62); - Barrel3.addBox(0F, -2.5F, -0.5F, 31, 1, 1); - Barrel3.setRotationPoint(1F, 4F, 0F); - Barrel3.setTextureSize(128, 128); - Barrel3.mirror = true; - setRotation(Barrel3, 2.268928F, 0F, 0F); - Barrel4 = new ModelRenderer(this, 64, 62); - Barrel4.addBox(0F, -2.5F, -0.5F, 31, 1, 1); - Barrel4.setRotationPoint(1F, 4F, 0F); - Barrel4.setTextureSize(128, 128); - Barrel4.mirror = true; - setRotation(Barrel4, 2.9147F, 0F, 0F); - Barrel5 = new ModelRenderer(this, 64, 62); - Barrel5.addBox(0F, -2.5F, -0.5F, 31, 1, 1); - Barrel5.setRotationPoint(1F, 4F, 0F); - Barrel5.setTextureSize(128, 128); - Barrel5.mirror = true; - setRotation(Barrel5, -1.919862F, 0F, 0F); - Barrel6 = new ModelRenderer(this, 64, 62); - Barrel6.addBox(0F, -2.5F, -0.5F, 31, 1, 1); - Barrel6.setRotationPoint(1F, 4F, 0F); - Barrel6.setTextureSize(128, 128); - Barrel6.mirror = true; - setRotation(Barrel6, -1.27409F, 0F, 0F); - Brace1 = new ModelRenderer(this, 20, 48); - Brace1.addBox(0F, -3F, -1F, 5, 2, 2); - Brace1.setRotationPoint(25F, 4F, 0F); - Brace1.setTextureSize(128, 128); - Brace1.mirror = true; - setRotation(Brace1, 0F, 0F, 0F); - Brace2 = new ModelRenderer(this, 20, 48); - Brace2.addBox(0F, -3F, -1F, 5, 2, 2); - Brace2.setRotationPoint(25F, 4F, 0F); - Brace2.setTextureSize(128, 128); - Brace2.mirror = true; - setRotation(Brace2, 0.6457718F, 0F, 0F); - Brace3 = new ModelRenderer(this, 20, 44); - Brace3.addBox(0F, -3F, -1F, 5, 2, 2); - Brace3.setRotationPoint(4F, 4F, 0F); - Brace3.setTextureSize(128, 128); - Brace3.mirror = true; - setRotation(Brace3, 2.268928F, 0F, 0F); - Brace4 = new ModelRenderer(this, 20, 44); - Brace4.addBox(0F, -3F, -1F, 5, 2, 2); - Brace4.setRotationPoint(4F, 4F, 0F); - Brace4.setTextureSize(128, 128); - Brace4.mirror = true; - setRotation(Brace4, 2.9147F, 0F, 0F); - Brace5 = new ModelRenderer(this, 20, 44); - Brace5.addBox(0F, -3F, -1F, 5, 2, 2); - Brace5.setRotationPoint(4F, 4F, 0F); - Brace5.setTextureSize(128, 128); - Brace5.mirror = true; - setRotation(Brace5, -1.919862F, 0F, 0F); - Brace6 = new ModelRenderer(this, 20, 44); - Brace6.addBox(0F, -3F, -1F, 5, 2, 2); - Brace6.setRotationPoint(4F, 4F, 0F); - Brace6.setTextureSize(128, 128); - Brace6.mirror = true; - setRotation(Brace6, -1.27409F, 0F, 0F); - Brace7 = new ModelRenderer(this, 20, 44); - Brace7.addBox(0F, -3F, -1F, 5, 2, 2); - Brace7.setRotationPoint(4F, 4F, 0F); - Brace7.setTextureSize(128, 128); - Brace7.mirror = true; - setRotation(Brace7, 0F, 0F, 0F); - Brace8 = new ModelRenderer(this, 20, 44); - Brace8.addBox(0F, -3F, -1F, 5, 2, 2); - Brace8.setRotationPoint(4F, 4F, 0F); - Brace8.setTextureSize(128, 128); - Brace8.mirror = true; - setRotation(Brace8, 0.6457718F, 0F, 0F); - Brace9 = new ModelRenderer(this, 20, 48); - Brace9.addBox(0F, -3F, -1F, 5, 2, 2); - Brace9.setRotationPoint(25F, 4F, 0F); - Brace9.setTextureSize(128, 128); - Brace9.mirror = true; - setRotation(Brace9, 2.268928F, 0F, 0F); - Brace10 = new ModelRenderer(this, 20, 48); - Brace10.addBox(0F, -3F, -1F, 5, 2, 2); - Brace10.setRotationPoint(25F, 4F, 0F); - Brace10.setTextureSize(128, 128); - Brace10.mirror = true; - setRotation(Brace10, 2.9147F, 0F, 0F); - Brace11 = new ModelRenderer(this, 20, 48); - Brace11.addBox(0F, -3F, -1F, 5, 2, 2); - Brace11.setRotationPoint(25F, 4F, 0F); - Brace11.setTextureSize(128, 128); - Brace11.mirror = true; - setRotation(Brace11, -1.919862F, 0F, 0F); - Brace12 = new ModelRenderer(this, 20, 48); - Brace12.addBox(0F, -3F, -1F, 5, 2, 2); - Brace12.setRotationPoint(25F, 4F, 0F); - Brace12.setTextureSize(128, 128); - Brace12.mirror = true; - setRotation(Brace12, -1.27409F, 0F, 0F); - Disc1 = new ModelRenderer(this, 36, 54); - Disc1.addBox(0F, -3.5F, -1.5F, 2, 7, 3); - Disc1.setRotationPoint(15F, 4F, 0F); - Disc1.setTextureSize(128, 128); - Disc1.mirror = true; - setRotation(Disc1, 0F, 0F, 0F); - Disc2 = new ModelRenderer(this, 46, 54); - Disc2.addBox(0F, -3.5F, -1.5F, 2, 7, 3); - Disc2.setRotationPoint(15F, 4F, 0F); - Disc2.setTextureSize(128, 128); - Disc2.mirror = true; - setRotation(Disc2, 0.7853982F, 0F, 0F); - Disc3 = new ModelRenderer(this, 36, 44); - Disc3.addBox(0F, -3.5F, -1.5F, 2, 7, 3); - Disc3.setRotationPoint(15F, 4F, 0F); - Disc3.setTextureSize(128, 128); - Disc3.mirror = true; - setRotation(Disc3, 1.570796F, 0F, 0F); - Disc4 = new ModelRenderer(this, 46, 44); - Disc4.addBox(0F, -3.5F, -1.5F, 2, 7, 3); - Disc4.setRotationPoint(15F, 4F, 0F); - Disc4.setTextureSize(128, 128); - Disc4.mirror = true; - setRotation(Disc4, 2.356194F, 0F, 0F); - Disc5 = new ModelRenderer(this, 56, 54); - Disc5.addBox(0F, -3.5F, -1.5F, 1, 7, 3); - Disc5.setRotationPoint(2F, 4F, 0F); - Disc5.setTextureSize(128, 128); - Disc5.mirror = true; - setRotation(Disc5, 0F, 0F, 0F); - Disc6 = new ModelRenderer(this, 56, 44); - Disc6.addBox(0F, -3.5F, -1.5F, 1, 7, 3); - Disc6.setRotationPoint(2F, 4F, 0F); - Disc6.setTextureSize(128, 128); - Disc6.mirror = true; - setRotation(Disc6, 1.570796F, 0F, 0F); - Disc7 = new ModelRenderer(this, 64, 52); - Disc7.addBox(0F, -3.5F, -1.5F, 1, 7, 3); - Disc7.setRotationPoint(2F, 4F, 0F); - Disc7.setTextureSize(128, 128); - Disc7.mirror = true; - setRotation(Disc7, 0.7853982F, 0F, 0F); - Disc8 = new ModelRenderer(this, 72, 52); - Disc8.addBox(0F, -3.5F, -1.5F, 1, 7, 3); - Disc8.setRotationPoint(2F, 4F, 0F); - Disc8.setTextureSize(128, 128); - Disc8.mirror = true; - setRotation(Disc8, 2.356194F, 0F, 0F); - BodyF1 = new ModelRenderer(this, 80, 48); - BodyF1.addBox(0F, 0F, 0F, 7, 10, 4); - BodyF1.setRotationPoint(-9F, -1F, -2F); - BodyF1.setTextureSize(128, 128); - BodyF1.mirror = true; - setRotation(BodyF1, 0F, 0F, 0F); - BodyF2 = new ModelRenderer(this, 64, 34); - BodyF2.addBox(0F, 0F, 0F, 7, 4, 10); - BodyF2.setRotationPoint(-9F, 2F, -5F); - BodyF2.setTextureSize(128, 128); - BodyF2.mirror = true; - setRotation(BodyF2, 0F, 0F, 0F); - BodyF3 = new ModelRenderer(this, 98, 32); - BodyF3.addBox(0F, 0F, 0F, 7, 8, 8); - BodyF3.setRotationPoint(-9F, 0F, -4F); - BodyF3.setTextureSize(128, 128); - BodyF3.mirror = true; - setRotation(BodyF3, 0F, 0F, 0F); - BodyR1 = new ModelRenderer(this, 102, 55); - BodyR1.addBox(0F, 0F, 0F, 8, 4, 3); - BodyR1.setRotationPoint(-9.5F, 4.5F, -6F); - BodyR1.setTextureSize(128, 128); - BodyR1.mirror = true; - setRotation(BodyR1, 0F, 0F, 0F); - BodyR2 = new ModelRenderer(this, 102, 48); - BodyR2.addBox(0F, 0F, 0F, 8, 3, 4); - BodyR2.setRotationPoint(-9.5F, 5F, -6.5F); - BodyR2.setTextureSize(128, 128); - BodyR2.mirror = true; - setRotation(BodyR2, 0F, 0F, 0F); - BodyL1 = new ModelRenderer(this, 106, 17); - BodyL1.addBox(0F, 0F, 0F, 8, 4, 3); - BodyL1.setRotationPoint(-9.5F, 4.5F, 3F); - BodyL1.setTextureSize(128, 128); - BodyL1.mirror = true; - setRotation(BodyL1, 0F, 0F, 0F); - BodyL2 = new ModelRenderer(this, 104, 10); - BodyL2.addBox(0F, 0F, 0F, 8, 3, 4); - BodyL2.setRotationPoint(-9.5F, 5F, 2.5F); - BodyL2.setTextureSize(128, 128); - BodyL2.mirror = true; - setRotation(BodyL2, 0F, 0F, 0F); - BackP1 = new ModelRenderer(this, 54, 32); - BackP1.addBox(0F, 0F, 0F, 1, 8, 4); - BackP1.setRotationPoint(-10F, 0F, -2F); - BackP1.setTextureSize(128, 128); - BackP1.mirror = true; - setRotation(BackP1, 0F, 0F, 0F); - BackP2 = new ModelRenderer(this, 36, 32); - BackP2.addBox(0F, 0F, 0F, 1, 4, 8); - BackP2.setRotationPoint(-10F, 2F, -4F); - BackP2.setTextureSize(128, 128); - BackP2.mirror = true; - setRotation(BackP2, 0F, 0F, 0F); - BackP3 = new ModelRenderer(this, 20, 30); - BackP3.addBox(0F, 0F, 0F, 1, 7, 7); - BackP3.setRotationPoint(-10F, 0.5F, -3.5F); - BackP3.setTextureSize(128, 128); - BackP3.mirror = true; - setRotation(BackP3, 0F, 0F, 0F); - Block = new ModelRenderer(this, 98, 64); - Block.addBox(0F, 0F, 0F, 5, 9, 10); - Block.setRotationPoint(-27F, -1F, -5F); - Block.setTextureSize(128, 128); - Block.mirror = true; - setRotation(Block, 0F, 0F, 0F); - AchsleF = new ModelRenderer(this, 0, 34); - AchsleF.addBox(0F, 0F, 0F, 1, 2, 2); - AchsleF.setRotationPoint(-22F, 3F, -1F); - AchsleF.setTextureSize(128, 128); - AchsleF.mirror = true; - setRotation(AchsleF, 0F, 0F, 0F); - Drum1 = new ModelRenderer(this, 100, 24); - Drum1.addBox(0F, 0F, 0F, 11, 5, 3); - Drum1.setRotationPoint(-21F, 1.5F, -1.5F); - Drum1.setTextureSize(128, 128); - Drum1.mirror = true; - setRotation(Drum1, 0F, 0F, 0F); - Drum2 = new ModelRenderer(this, 96, 2); - Drum2.addBox(0F, 0F, 0F, 11, 3, 5); - Drum2.setRotationPoint(-21F, 2.5F, -2.5F); - Drum2.setTextureSize(128, 128); - Drum2.mirror = true; - setRotation(Drum2, 0F, 0F, 0F); - DrumT = new ModelRenderer(this, 34, 26); - DrumT.addBox(0F, 0F, 0F, 12, 1, 5); - DrumT.setRotationPoint(-22F, 0F, -2.5F); - DrumT.setTextureSize(128, 128); - DrumT.mirror = true; - setRotation(DrumT, 0F, 0F, 0F); - StickBase = new ModelRenderer(this, 6, 33); - StickBase.addBox(0F, 0F, 0F, 3, 2, 3); - StickBase.setRotationPoint(-26F, -3F, -1.5F); - StickBase.setTextureSize(128, 128); - StickBase.mirror = true; - setRotation(StickBase, 0F, 0F, 0F); - Stick = new ModelRenderer(this, 28, 72); - Stick.addBox(0F, -7F, 0F, 2, 7, 2); - Stick.setRotationPoint(-25.5F, -3F, -1F); - Stick.setTextureSize(128, 128); - Stick.mirror = true; - setRotation(Stick, 0F, 0F, 0.5235988F); - AchsleB = new ModelRenderer(this, 56, 66); - AchsleB.addBox(0F, 0F, 0F, 3, 2, 2); - AchsleB.setRotationPoint(-30F, 3F, -1F); - AchsleB.setTextureSize(128, 128); - AchsleB.mirror = true; - setRotation(AchsleB, 0F, 0F, 0F); - Motor1 = new ModelRenderer(this, 80, 66); - Motor1.addBox(0F, 0F, 0F, 5, 6, 4); - Motor1.setRotationPoint(-35F, 1F, -2F); - Motor1.setTextureSize(128, 128); - Motor1.mirror = true; - setRotation(Motor1, 0F, 0F, 0F); - Motor2 = new ModelRenderer(this, 76, 76); - Motor2.addBox(0F, 0F, 0F, 5, 4, 6); - Motor2.setRotationPoint(-35F, 2F, -3F); - Motor2.setTextureSize(128, 128); - Motor2.mirror = true; - setRotation(Motor2, 0F, 0F, 0F); - Pipe1 = new ModelRenderer(this, 62, 64); - Pipe1.addBox(0F, 0F, 0F, 16, 1, 1); - Pipe1.setRotationPoint(-23F, -1F, -6F); - Pipe1.setTextureSize(128, 128); - Pipe1.mirror = true; - setRotation(Pipe1, 0F, 0F, 0.2617994F); - Frame1 = new ModelRenderer(this, 0, 103); - Frame1.addBox(0F, 0F, 0F, 1, 1, 11); - Frame1.setRotationPoint(-1F, -2F, -5.5F); - Frame1.setTextureSize(128, 128); - Frame1.mirror = true; - setRotation(Frame1, 0F, 0F, 0F); - Frame2 = new ModelRenderer(this, 24, 73); - Frame2.addBox(0F, 0F, 0F, 1, 5, 1); - Frame2.setRotationPoint(-1F, -1.5F, -6F); - Frame2.setTextureSize(128, 128); - Frame2.mirror = true; - setRotation(Frame2, 0F, 0F, 0F); - Frame3 = new ModelRenderer(this, 28, 70); - Frame3.addBox(0F, 0F, 0F, 6, 1, 1); - Frame3.setRotationPoint(-6.5F, 3F, -6F); - Frame3.setTextureSize(128, 128); - Frame3.mirror = true; - setRotation(Frame3, 0F, 0F, 0F); - Frame4 = new ModelRenderer(this, 52, 66); - Frame4.addBox(0F, 0F, 0F, 1, 3, 1); - Frame4.setRotationPoint(-1F, -1.5F, 5F); - Frame4.setTextureSize(128, 128); - Frame4.mirror = true; - setRotation(Frame4, 0F, 0F, 0F); - Grip = new ModelRenderer(this, 0, 95); - Grip.addBox(0F, 0F, 0F, 2, 2, 6); - Grip.setRotationPoint(-3F, 0F, 5F); - Grip.setTextureSize(128, 128); - Grip.mirror = true; - setRotation(Grip, 0F, 0F, 0F); - Pipe2 = new ModelRenderer(this, 28, 68); - Pipe2.addBox(-11F, 0F, 0F, 11, 1, 1); - Pipe2.setRotationPoint(-26F, -1F, -6F); - Pipe2.setTextureSize(128, 128); - Pipe2.mirror = true; - setRotation(Pipe2, 0F, 0F, -0.6108652F); - PipeT = new ModelRenderer(this, 0, 84); - PipeT.addBox(0F, 0F, 0F, 1, 1, 10); - PipeT.setRotationPoint(-34.5F, 4.5F, -5F); - PipeT.setTextureSize(128, 128); - PipeT.mirror = true; - setRotation(PipeT, 0F, 0F, 0F); - Pipe3 = new ModelRenderer(this, 28, 66); - Pipe3.addBox(-11F, 0F, 0F, 11, 1, 1); - Pipe3.setRotationPoint(-26F, -1F, 5F); - Pipe3.setTextureSize(128, 128); - Pipe3.mirror = true; - setRotation(Pipe3, 0F, 0F, -0.6108652F); - Pipe4 = new ModelRenderer(this, 28, 64); - Pipe4.addBox(0F, 0F, 0F, 16, 1, 1); - Pipe4.setRotationPoint(-23F, -1F, 5F); - Pipe4.setTextureSize(128, 128); - Pipe4.mirror = true; - setRotation(Pipe4, 0F, 0F, 0.2617994F); - AmmoFrame = new ModelRenderer(this, 0, 0); - AmmoFrame.addBox(0F, 0F, 0F, 10, 12, 12); - AmmoFrame.setRotationPoint(-21F, 9F, -6F); - AmmoFrame.setTextureSize(128, 128); - AmmoFrame.mirror = true; - setRotation(AmmoFrame, 0F, 0F, 0F); - ClampB = new ModelRenderer(this, 0, 73); - ClampB.addBox(0F, 0F, 0F, 4, 3, 8); - ClampB.setRotationPoint(-25F, 8F, -4F); - ClampB.setTextureSize(128, 128); - ClampB.mirror = true; - setRotation(ClampB, 0F, 0F, 0F); - ClampF = new ModelRenderer(this, 0, 64); - ClampF.addBox(0F, 0F, 0F, 8, 3, 6); - ClampF.setRotationPoint(-11F, 9F, -3F); - ClampF.setTextureSize(128, 128); - ClampF.mirror = true; - setRotation(ClampF, 0F, 0F, 0F); - AmmoBox = new ModelRenderer(this, 44, 0); - AmmoBox.addBox(0F, 0F, 0F, 9, 11, 11); - AmmoBox.setRotationPoint(-20.5F, 9.5F, -5.5F); - AmmoBox.setTextureSize(128, 128); - AmmoBox.mirror = true; - setRotation(AmmoBox, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, float rot) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - - rot *= Math.PI / 180F; - - Barrel1.rotateAngleX += rot; - Barrel2.rotateAngleX += rot; - Barrel3.rotateAngleX += rot; - Barrel4.rotateAngleX += rot; - Barrel5.rotateAngleX += rot; - Barrel6.rotateAngleX += rot; - Brace1.rotateAngleX += rot; - Brace2.rotateAngleX += rot; - Brace3.rotateAngleX += rot; - Brace4.rotateAngleX += rot; - Brace5.rotateAngleX += rot; - Brace6.rotateAngleX += rot; - Brace7.rotateAngleX += rot; - Brace8.rotateAngleX += rot; - Brace9.rotateAngleX += rot; - Brace10.rotateAngleX += rot; - Brace11.rotateAngleX += rot; - Brace12.rotateAngleX += rot; - Disc1.rotateAngleX += rot; - Disc2.rotateAngleX += rot; - Disc3.rotateAngleX += rot; - Disc4.rotateAngleX += rot; - Disc5.rotateAngleX += rot; - Disc6.rotateAngleX += rot; - Disc7.rotateAngleX += rot; - Disc8.rotateAngleX += rot; - - FrontP1.render(f5); - FrontP2.render(f5); - FrontP3.render(f5); - Barrel1.render(f5); - Barrel2.render(f5); - Barrel3.render(f5); - Barrel4.render(f5); - Barrel5.render(f5); - Barrel6.render(f5); - Brace1.render(f5); - Brace2.render(f5); - Brace3.render(f5); - Brace4.render(f5); - Brace5.render(f5); - Brace6.render(f5); - Brace7.render(f5); - Brace8.render(f5); - Brace9.render(f5); - Brace10.render(f5); - Brace11.render(f5); - Brace12.render(f5); - Disc1.render(f5); - Disc2.render(f5); - Disc3.render(f5); - Disc4.render(f5); - Disc5.render(f5); - Disc6.render(f5); - Disc7.render(f5); - Disc8.render(f5); - BodyF1.render(f5); - BodyF2.render(f5); - BodyF3.render(f5); - BodyR1.render(f5); - BodyR2.render(f5); - BodyL1.render(f5); - BodyL2.render(f5); - BackP1.render(f5); - BackP2.render(f5); - BackP3.render(f5); - Block.render(f5); - AchsleF.render(f5); - Drum1.render(f5); - Drum2.render(f5); - DrumT.render(f5); - StickBase.render(f5); - Stick.render(f5); - AchsleB.render(f5); - Motor1.render(f5); - Motor2.render(f5); - Pipe1.render(f5); - Frame1.render(f5); - Frame2.render(f5); - Frame3.render(f5); - Frame4.render(f5); - Grip.render(f5); - Pipe2.render(f5); - PipeT.render(f5); - Pipe3.render(f5); - Pipe4.render(f5); - AmmoFrame.render(f5); - ClampB.render(f5); - ClampF.render(f5); - AmmoBox.render(f5); - - Barrel1.rotateAngleX -= rot; - Barrel2.rotateAngleX -= rot; - Barrel3.rotateAngleX -= rot; - Barrel4.rotateAngleX -= rot; - Barrel5.rotateAngleX -= rot; - Barrel6.rotateAngleX -= rot; - Brace1.rotateAngleX -= rot; - Brace2.rotateAngleX -= rot; - Brace3.rotateAngleX -= rot; - Brace4.rotateAngleX -= rot; - Brace5.rotateAngleX -= rot; - Brace6.rotateAngleX -= rot; - Brace7.rotateAngleX -= rot; - Brace8.rotateAngleX -= rot; - Brace9.rotateAngleX -= rot; - Brace10.rotateAngleX -= rot; - Brace11.rotateAngleX -= rot; - Brace12.rotateAngleX -= rot; - Disc1.rotateAngleX -= rot; - Disc2.rotateAngleX -= rot; - Disc3.rotateAngleX -= rot; - Disc4.rotateAngleX -= rot; - Disc5.rotateAngleX -= rot; - Disc6.rotateAngleX -= rot; - Disc7.rotateAngleX -= rot; - Disc8.rotateAngleX -= rot; - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelLeverAction.java b/src/main/java/com/hbm/render/model/ModelLeverAction.java deleted file mode 100644 index c45cc2986..000000000 --- a/src/main/java/com/hbm/render/model/ModelLeverAction.java +++ /dev/null @@ -1,233 +0,0 @@ -// Date: 13.01.2018 16:04:59 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelLeverAction extends ModelBase { - // fields - ModelRenderer Barrel1; - ModelRenderer Barrel2; - ModelRenderer Barrel3; - ModelRenderer Barrel4; - ModelRenderer Grip; - ModelRenderer Front1; - ModelRenderer Front2; - ModelRenderer BodyFront; - ModelRenderer BodyTop; - ModelRenderer BodyMain; - ModelRenderer BodyPlate; - ModelRenderer HandleMain; - ModelRenderer HandleBottom; - ModelRenderer HandleBack; - ModelRenderer LeverFront; - ModelRenderer LeverBottom; - ModelRenderer LeverMid; - ModelRenderer LeverFrontPlate; - ModelRenderer LeverBackBottom; - ModelRenderer Trigger; - ModelRenderer LeverBackTop; - ModelRenderer LeverBack; - - public ModelLeverAction() { - textureWidth = 128; - textureHeight = 64; - - Barrel1 = new ModelRenderer(this, 0, 0); - Barrel1.addBox(0F, 0F, 0F, 60, 3, 2); - Barrel1.setRotationPoint(-60F, 1.5F, -1F); - Barrel1.setTextureSize(64, 32); - Barrel1.mirror = true; - setRotation(Barrel1, 0F, 0F, 0F); - Barrel2 = new ModelRenderer(this, 0, 5); - Barrel2.addBox(0F, 0F, 0F, 60, 2, 3); - Barrel2.setRotationPoint(-60F, 2F, -1.5F); - Barrel2.setTextureSize(64, 32); - Barrel2.mirror = true; - setRotation(Barrel2, 0F, 0F, 0F); - Barrel3 = new ModelRenderer(this, 0, 10); - Barrel3.addBox(0F, 0F, 0F, 10, 2, 3); - Barrel3.setRotationPoint(-46F, 6F, -1.5F); - Barrel3.setTextureSize(64, 32); - Barrel3.mirror = true; - setRotation(Barrel3, 0F, 0F, 0F); - Barrel4 = new ModelRenderer(this, 26, 10); - Barrel4.addBox(0F, 0F, 0F, 10, 3, 2); - Barrel4.setRotationPoint(-46F, 5.5F, -1F); - Barrel4.setTextureSize(64, 32); - Barrel4.mirror = true; - setRotation(Barrel4, 0F, 0F, 0F); - Grip = new ModelRenderer(this, 0, 15); - Grip.addBox(0F, 0F, 0F, 36, 6, 4); - Grip.setRotationPoint(-36F, 3F, -2F); - Grip.setTextureSize(64, 32); - Grip.mirror = true; - setRotation(Grip, 0F, 0F, 0F); - Front1 = new ModelRenderer(this, 50, 10); - Front1.addBox(0F, 0F, 0F, 3, 2, 1); - Front1.setRotationPoint(-50F, 4.5F, -0.5F); - Front1.setTextureSize(64, 32); - Front1.mirror = true; - setRotation(Front1, 0F, 0F, 0F); - Front2 = new ModelRenderer(this, 58, 10); - Front2.addBox(0F, 0F, 0F, 3, 1, 2); - Front2.setRotationPoint(-50F, 6.5F, -1F); - Front2.setTextureSize(64, 32); - Front2.mirror = true; - setRotation(Front2, 0F, 0F, 0F); - BodyFront = new ModelRenderer(this, 0, 25); - BodyFront.addBox(0F, 0F, 0F, 3, 8, 4); - BodyFront.setRotationPoint(0F, 1.5F, -2F); - BodyFront.setTextureSize(64, 32); - BodyFront.mirror = true; - setRotation(BodyFront, 0F, 0F, 0F); - BodyTop = new ModelRenderer(this, 14, 25); - BodyTop.addBox(0F, 0F, 0F, 3, 1, 3); - BodyTop.setRotationPoint(0F, 1F, -1.5F); - BodyTop.setTextureSize(64, 32); - BodyTop.mirror = true; - setRotation(BodyTop, 0F, 0F, 0F); - BodyMain = new ModelRenderer(this, 0, 37); - BodyMain.addBox(0F, 0F, 0F, 12, 7, 4); - BodyMain.setRotationPoint(3F, 2.5F, -2F); - BodyMain.setTextureSize(64, 32); - BodyMain.mirror = true; - setRotation(BodyMain, 0F, 0F, 0F); - BodyPlate = new ModelRenderer(this, 26, 25); - BodyPlate.addBox(0F, 0F, 0F, 10, 2, 3); - BodyPlate.setRotationPoint(3F, 1F, -1.5F); - BodyPlate.setTextureSize(64, 32); - BodyPlate.mirror = true; - setRotation(BodyPlate, 0F, 0F, 0.1570796F); - HandleMain = new ModelRenderer(this, 0, 48); - HandleMain.addBox(0F, 0F, 0F, 18, 5, 4); - HandleMain.setRotationPoint(15F, 4F, -2F); - HandleMain.setTextureSize(128, 64); - HandleMain.mirror = true; - setRotation(HandleMain, 0F, 0F, 0.4363323F); - HandleBottom = new ModelRenderer(this, 0, 57); - HandleBottom.addBox(4F, 4.5F, 0F, 13, 1, 4); - HandleBottom.setRotationPoint(15F, 4F, -2F); - HandleBottom.setTextureSize(128, 64); - HandleBottom.mirror = true; - setRotation(HandleBottom, 0F, 0F, 0.4363323F); - HandleBack = new ModelRenderer(this, 34, 57); - HandleBack.addBox(17.5F, 0.5F, 0F, 1, 4, 3); - HandleBack.setRotationPoint(15F, 4F, -1.5F); - HandleBack.setTextureSize(128, 64); - HandleBack.mirror = true; - setRotation(HandleBack, 0F, 0F, 0.4363323F); - LeverFront = new ModelRenderer(this, 62, 30); - LeverFront.addBox(-1F, 0F, 0F, 2, 4, 2); - LeverFront.setRotationPoint(7F, 9F, -1F); - LeverFront.setTextureSize(128, 64); - LeverFront.mirror = true; - setRotation(LeverFront, 0F, 0F, 0F); - LeverBottom = new ModelRenderer(this, 70, 30); - LeverBottom.addBox(0F, 4F, 0F, 6, 1, 2); - LeverBottom.setRotationPoint(7F, 9F, -1F); - LeverBottom.setTextureSize(128, 64); - LeverBottom.mirror = true; - setRotation(LeverBottom, 0F, 0F, 0F); - LeverMid = new ModelRenderer(this, 62, 36); - LeverMid.addBox(6F, 0F, 0F, 1, 5, 2); - LeverMid.setRotationPoint(7F, 9F, -1F); - LeverMid.setTextureSize(128, 64); - LeverMid.mirror = true; - setRotation(LeverMid, 0F, 0F, 0F); - LeverFrontPlate = new ModelRenderer(this, 68, 39); - LeverFrontPlate.addBox(7F, -1.5F, 0F, 9, 1, 2); - LeverFrontPlate.setRotationPoint(7F, 9F, -1F); - LeverFrontPlate.setTextureSize(128, 64); - LeverFrontPlate.mirror = true; - setRotation(LeverFrontPlate, 0F, 0F, 0.7853982F); - LeverBackBottom = new ModelRenderer(this, 70, 33); - LeverBackBottom.addBox(12F, 10F, 0F, 6, 1, 2); - LeverBackBottom.setRotationPoint(7F, 9F, -1F); - LeverBackBottom.setTextureSize(128, 64); - LeverBackBottom.mirror = true; - setRotation(LeverBackBottom, 0F, 0F, 0F); - Trigger = new ModelRenderer(this, 88, 30); - Trigger.addBox(-1F, 0F, 0F, 1, 3, 1); - Trigger.setRotationPoint(12.5F, 9F, -0.5F); - Trigger.setTextureSize(128, 64); - Trigger.mirror = true; - setRotation(Trigger, 0F, 0F, 0.3490659F); - LeverBackTop = new ModelRenderer(this, 68, 36); - LeverBackTop.addBox(8F, -2F, 0F, 11, 1, 2); - LeverBackTop.setRotationPoint(7F, 9F, -1F); - LeverBackTop.setTextureSize(128, 64); - LeverBackTop.mirror = true; - setRotation(LeverBackTop, 0F, 0F, 0.4363323F); - LeverBack = new ModelRenderer(this, 62, 43); - LeverBack.addBox(17F, 6F, 0F, 1, 4, 2); - LeverBack.setRotationPoint(7F, 9F, -1F); - LeverBack.setTextureSize(128, 64); - LeverBack.mirror = true; - setRotation(LeverBack, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Barrel1.render(f5); - Barrel2.render(f5); - Barrel3.render(f5); - Barrel4.render(f5); - Grip.render(f5); - Front1.render(f5); - Front2.render(f5); - BodyFront.render(f5); - BodyTop.render(f5); - BodyMain.render(f5); - BodyPlate.render(f5); - HandleMain.render(f5); - HandleBottom.render(f5); - HandleBack.render(f5); - LeverFront.render(f5); - LeverBottom.render(f5); - LeverMid.render(f5); - LeverFrontPlate.render(f5); - LeverBackBottom.render(f5); - Trigger.render(f5); - LeverBackTop.render(f5); - LeverBack.render(f5); - } - - public void renderAnim(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, float anim) { - LeverFront.rotateAngleZ += anim; - LeverBottom.rotateAngleZ += anim; - LeverMid.rotateAngleZ += anim; - LeverFrontPlate.rotateAngleZ += anim; - LeverBackBottom.rotateAngleZ += anim; - LeverBackTop.rotateAngleZ += anim; - LeverBack.rotateAngleZ += anim; - - render(entity, f, f1, f2, f3, f4, f5); - - setRotation(LeverFront, 0F, 0F, 0F); - setRotation(LeverBottom, 0F, 0F, 0F); - setRotation(LeverMid, 0F, 0F, 0F); - setRotation(LeverFrontPlate, 0F, 0F, 0.7853982F); - setRotation(LeverBackBottom, 0F, 0F, 0F); - setRotation(LeverBackTop, 0F, 0F, 0.4363323F); - setRotation(LeverBack, 0F, 0F, 0F); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelM65.java b/src/main/java/com/hbm/render/model/ModelM65.java index d61b13d43..109c8ba87 100644 --- a/src/main/java/com/hbm/render/model/ModelM65.java +++ b/src/main/java/com/hbm/render/model/ModelM65.java @@ -17,102 +17,100 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; public class ModelM65 extends ModelBiped { - // fields + public ModelRenderer mask; public ModelRenderer filter; public ModelM65() { - textureWidth = 32; - textureHeight = 32; - + this.textureWidth = 32; + this.textureHeight = 32; + float yOffset = 0.5F; - mask = new ModelRenderer(this, 0, 0); - filter = new ModelRenderer(this, 0, 0); + this.mask = new ModelRenderer(this, 0, 0); + this.filter = new ModelRenderer(this, 0, 0); ModelRenderer maskHead = new ModelRenderer(this, 0, 0); maskHead.addBox(0F, 0F, 0F, 8, 8, 8); maskHead.setRotationPoint(-4F, -8F + yOffset, -4F); maskHead.setTextureSize(32, 32); maskHead.mirror = true; setRotation(maskHead, 0F, 0F, 0F); - convertToChild(mask, maskHead); + convertToChild(this.mask, maskHead); ModelRenderer nose = new ModelRenderer(this, 0, 16); nose.addBox(0F, 0F, 0F, 3, 3, 1); nose.setRotationPoint(-1.5F, -3.5F + yOffset, -5F); nose.setTextureSize(32, 32); nose.mirror = true; setRotation(nose, 0F, 0F, 0F); - convertToChild(mask, nose); + convertToChild(this.mask, nose); ModelRenderer outlet = new ModelRenderer(this, 0, 20); outlet.addBox(0F, -2F, 0F, 2, 2, 1); outlet.setRotationPoint(-1F, -3.5F + yOffset, -5F); outlet.setTextureSize(32, 32); outlet.mirror = true; setRotation(outlet, -0.4799655F, 0F, 0F); - convertToChild(mask, outlet); + convertToChild(this.mask, outlet); ModelRenderer noseSlope = new ModelRenderer(this, 8, 16); noseSlope.addBox(0F, 0F, -2F, 3, 2, 2); noseSlope.setRotationPoint(-1.5F, -2F + yOffset, -4F); noseSlope.setTextureSize(32, 32); noseSlope.mirror = true; setRotation(noseSlope, 0.6108652F, 0F, 0F); - convertToChild(mask, noseSlope); + convertToChild(this.mask, noseSlope); ModelRenderer eye1 = new ModelRenderer(this, 0, 23); eye1.addBox(0F, 0F, 0F, 3, 3, 0); eye1.setRotationPoint(-3.5F, -6F + yOffset, -4.2F); eye1.setTextureSize(32, 32); eye1.mirror = true; setRotation(eye1, 0F, 0F, 0F); - convertToChild(mask, eye1); + convertToChild(this.mask, eye1); ModelRenderer eye2 = new ModelRenderer(this, 0, 26); eye2.addBox(0F, 0F, 0F, 3, 3, 0); eye2.setRotationPoint(0.5F, -6F + yOffset, -4.2F); eye2.setTextureSize(32, 32); eye2.mirror = true; setRotation(eye2, 0F, 0F, 0F); - convertToChild(mask, eye2); + convertToChild(this.mask, eye2); ModelRenderer iForgot = new ModelRenderer(this, 6, 20); iForgot.addBox(0F, 0F, 0F, 2, 2, 1); iForgot.setRotationPoint(-1F, -3.2F + yOffset, -6F); iForgot.setTextureSize(32, 32); iForgot.mirror = true; setRotation(iForgot, 0F, 0F, 0F); - convertToChild(mask, iForgot); + convertToChild(this.mask, iForgot); ModelRenderer filterConnector = new ModelRenderer(this, 6, 23); filterConnector.addBox(0F, 0F, -3F, 2, 2, 1); filterConnector.setRotationPoint(-1F, -2F + yOffset, -4F); filterConnector.setTextureSize(32, 32); filterConnector.mirror = true; setRotation(filterConnector, 0.6108652F, 0F, 0F); - convertToChild(filter, filterConnector); + convertToChild(this.filter, filterConnector); ModelRenderer filter1 = new ModelRenderer(this, 18, 21); filter1.addBox(0F, -1F, -5F, 3, 4, 2); filter1.setRotationPoint(-1.5F, -2F + yOffset, -4F); filter1.setTextureSize(32, 32); filter1.mirror = true; setRotation(filter1, 0.6108652F, 0F, 0F); - convertToChild(filter, filter1); + convertToChild(this.filter, filter1); ModelRenderer filter2 = new ModelRenderer(this, 18, 16); filter2.addBox(0F, -0.5F, -5F, 4, 3, 2); filter2.setRotationPoint(-2F, -2F + yOffset, -4F); filter2.setTextureSize(32, 32); filter2.mirror = true; setRotation(filter2, 0.6108652F, 0F, 0F); - convertToChild(filter, filter2); + convertToChild(this.filter, filter2); } @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - + public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entity) { + if(entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) entity; - if (player.isSneaking()) { - this.isSneak = true; - } else { - this.isSneak = false; - } + this.isSneak = player.isSneaking(); } - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + this.mask.rotationPointX = this.bipedHead.rotationPointX; this.mask.rotationPointY = this.bipedHead.rotationPointY; this.mask.rotateAngleY = this.bipedHead.rotateAngleY; @@ -124,54 +122,48 @@ public class ModelM65 extends ModelBiped { } @Override - public void render(Entity entity, float par2, float par3, float par4, float par5, float par6, float par7) { - setRotationAngles(par2, par3, par4, par5, par6, par7, entity); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + + GL11.glPushMatrix(); if(this.isChild) { float f6 = 2.0F; - GL11.glPushMatrix(); GL11.glScalef(1.5F / f6, 1.5F / f6, 1.5F / f6); - GL11.glTranslatef(0.0F, 16.0F * par7, 0.0F); + GL11.glTranslatef(0.0F, 16.0F * scaleFactor, 0.0F); double d = 1D / 16D * 18D; GL11.glScaled(d, d, d); - GL11.glScaled(1.01D, 1.01D, 1.01D); - this.mask.render(par7); - - if(!(entity instanceof EntityLivingBase) || ArmorUtil.getGasMaskFilterRecursively(((EntityLivingBase)entity).getEquipmentInSlot(4), (EntityLivingBase)entity) != null) - this.filter.render(par7); - - GL11.glPopMatrix(); + } else { - GL11.glPushMatrix(); double d = 1D / 16D * 18D; GL11.glScaled(d, d, d); - GL11.glScaled(1.01D, 1.01D, 1.01D); - this.mask.render(par7); - - if(!(entity instanceof EntityLivingBase) || ArmorUtil.getGasMaskFilterRecursively(((EntityLivingBase)entity).getEquipmentInSlot(4), (EntityLivingBase)entity) != null) - this.filter.render(par7); - - GL11.glPopMatrix(); } + + GL11.glScaled(1.01D, 1.01D, 1.01D); + this.mask.render(scaleFactor); + if(!(entity instanceof EntityLivingBase) || ArmorUtil.getGasMaskFilterRecursively(((EntityLivingBase)entity).getEquipmentInSlot(4), (EntityLivingBase)entity) != null) + this.filter.render(scaleFactor); + GL11.glPopMatrix(); } - private void setRotation(ModelRenderer model, float x, float y, float z) { + protected static void convertToChild(ModelRenderer parent, ModelRenderer child) { + + // move child rotation point to be relative to parent + child.rotationPointX -= parent.rotationPointX; + child.rotationPointY -= parent.rotationPointY; + child.rotationPointZ -= parent.rotationPointZ; + // make rotations relative to parent + child.rotateAngleX -= parent.rotateAngleX; + child.rotateAngleY -= parent.rotateAngleY; + child.rotateAngleZ -= parent.rotateAngleZ; + // create relationship + parent.addChild(child); + } + + private static void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } - - protected void convertToChild(ModelRenderer parParent, ModelRenderer parChild) { - // move child rotation point to be relative to parent - parChild.rotationPointX -= parParent.rotationPointX; - parChild.rotationPointY -= parParent.rotationPointY; - parChild.rotationPointZ -= parParent.rotationPointZ; - // make rotations relative to parent - parChild.rotateAngleX -= parParent.rotateAngleX; - parChild.rotateAngleY -= parParent.rotateAngleY; - parChild.rotateAngleZ -= parParent.rotateAngleZ; - // create relationship - parParent.addChild(parChild); - } - } diff --git a/src/main/java/com/hbm/render/model/ModelM65Blaze.java b/src/main/java/com/hbm/render/model/ModelM65Blaze.java index b7ff21058..fdc99eafc 100644 --- a/src/main/java/com/hbm/render/model/ModelM65Blaze.java +++ b/src/main/java/com/hbm/render/model/ModelM65Blaze.java @@ -14,7 +14,7 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; public class ModelM65Blaze extends ModelBiped { - // fields + public ModelRenderer mask; public ModelRenderer Shape1; public ModelRenderer Shape2; @@ -28,96 +28,94 @@ public class ModelM65Blaze extends ModelBiped { public ModelRenderer Shape10; public ModelM65Blaze() { - textureWidth = 32; - textureHeight = 32; - + this.textureWidth = 32; + this.textureHeight = 32; + float yOffset = 4F; - mask = new ModelRenderer(this, 0, 0); - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 8, 8, 8); - Shape1.setRotationPoint(-4F, -8F + yOffset, -4F); - Shape1.setTextureSize(32, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - convertToChild(mask, Shape1); - Shape2 = new ModelRenderer(this, 0, 16); - Shape2.addBox(0F, 0F, 0F, 3, 3, 1); - Shape2.setRotationPoint(-1.5F, -3.5F + yOffset, -5F); - Shape2.setTextureSize(32, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - convertToChild(mask, Shape2); - Shape3 = new ModelRenderer(this, 0, 20); - Shape3.addBox(0F, -2F, 0F, 2, 2, 1); - Shape3.setRotationPoint(-1F, -3.5F + yOffset, -5F); - Shape3.setTextureSize(32, 32); - Shape3.mirror = true; - setRotation(Shape3, -0.4799655F, 0F, 0F); - convertToChild(mask, Shape3); - Shape4 = new ModelRenderer(this, 8, 16); - Shape4.addBox(0F, 0F, -2F, 3, 2, 2); - Shape4.setRotationPoint(-1.5F, -2F + yOffset, -4F); - Shape4.setTextureSize(32, 32); - Shape4.mirror = true; - setRotation(Shape4, 0.6108652F, 0F, 0F); - convertToChild(mask, Shape4); - Shape5 = new ModelRenderer(this, 0, 23); - Shape5.addBox(0F, 0F, 0F, 3, 3, 0); - Shape5.setRotationPoint(-3.5F, -6F + yOffset, -4.2F); - Shape5.setTextureSize(32, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - convertToChild(mask, Shape5); - Shape6 = new ModelRenderer(this, 0, 26); - Shape6.addBox(0F, 0F, 0F, 3, 3, 0); - Shape6.setRotationPoint(0.5F, -6F + yOffset, -4.2F); - Shape6.setTextureSize(32, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - convertToChild(mask, Shape6); - Shape7 = new ModelRenderer(this, 6, 20); - Shape7.addBox(0F, 0F, 0F, 2, 2, 1); - Shape7.setRotationPoint(-1F, -3.2F + yOffset, -6F); - Shape7.setTextureSize(32, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - convertToChild(mask, Shape7); - Shape8 = new ModelRenderer(this, 6, 23); - Shape8.addBox(0F, 0F, -3F, 2, 2, 1); - Shape8.setRotationPoint(-1F, -2F + yOffset, -4F); - Shape8.setTextureSize(32, 32); - Shape8.mirror = true; - setRotation(Shape8, 0.6108652F, 0F, 0F); - convertToChild(mask, Shape8); - Shape9 = new ModelRenderer(this, 18, 21); - Shape9.addBox(0F, -1F, -5F, 3, 4, 2); - Shape9.setRotationPoint(-1.5F, -2F + yOffset, -4F); - Shape9.setTextureSize(32, 32); - Shape9.mirror = true; - setRotation(Shape9, 0.6108652F, 0F, 0F); - convertToChild(mask, Shape9); - Shape10 = new ModelRenderer(this, 18, 16); - Shape10.addBox(0F, -0.5F, -5F, 4, 3, 2); - Shape10.setRotationPoint(-2F, -2F + yOffset, -4F); - Shape10.setTextureSize(32, 32); - Shape10.mirror = true; - setRotation(Shape10, 0.6108652F, 0F, 0F); - convertToChild(mask, Shape10); + this.mask = new ModelRenderer(this, 0, 0); + this.Shape1 = new ModelRenderer(this, 0, 0); + this.Shape1.addBox(0F, 0F, 0F, 8, 8, 8); + this.Shape1.setRotationPoint(-4F, -8F + yOffset, -4F); + this.Shape1.setTextureSize(32, 32); + this.Shape1.mirror = true; + setRotation(this.Shape1, 0F, 0F, 0F); + convertToChild(this.mask, this.Shape1); + this.Shape2 = new ModelRenderer(this, 0, 16); + this.Shape2.addBox(0F, 0F, 0F, 3, 3, 1); + this.Shape2.setRotationPoint(-1.5F, -3.5F + yOffset, -5F); + this.Shape2.setTextureSize(32, 32); + this.Shape2.mirror = true; + setRotation(this.Shape2, 0F, 0F, 0F); + convertToChild(this.mask, this.Shape2); + this.Shape3 = new ModelRenderer(this, 0, 20); + this.Shape3.addBox(0F, -2F, 0F, 2, 2, 1); + this.Shape3.setRotationPoint(-1F, -3.5F + yOffset, -5F); + this.Shape3.setTextureSize(32, 32); + this.Shape3.mirror = true; + setRotation(this.Shape3, -0.4799655F, 0F, 0F); + convertToChild(this.mask, this.Shape3); + this.Shape4 = new ModelRenderer(this, 8, 16); + this.Shape4.addBox(0F, 0F, -2F, 3, 2, 2); + this.Shape4.setRotationPoint(-1.5F, -2F + yOffset, -4F); + this.Shape4.setTextureSize(32, 32); + this.Shape4.mirror = true; + setRotation(this.Shape4, 0.6108652F, 0F, 0F); + convertToChild(this.mask, this.Shape4); + this.Shape5 = new ModelRenderer(this, 0, 23); + this.Shape5.addBox(0F, 0F, 0F, 3, 3, 0); + this.Shape5.setRotationPoint(-3.5F, -6F + yOffset, -4.2F); + this.Shape5.setTextureSize(32, 32); + this.Shape5.mirror = true; + setRotation(this.Shape5, 0F, 0F, 0F); + convertToChild(this.mask, this.Shape5); + this.Shape6 = new ModelRenderer(this, 0, 26); + this.Shape6.addBox(0F, 0F, 0F, 3, 3, 0); + this.Shape6.setRotationPoint(0.5F, -6F + yOffset, -4.2F); + this.Shape6.setTextureSize(32, 32); + this.Shape6.mirror = true; + setRotation(this.Shape6, 0F, 0F, 0F); + convertToChild(this.mask, this.Shape6); + this.Shape7 = new ModelRenderer(this, 6, 20); + this.Shape7.addBox(0F, 0F, 0F, 2, 2, 1); + this.Shape7.setRotationPoint(-1F, -3.2F + yOffset, -6F); + this.Shape7.setTextureSize(32, 32); + this.Shape7.mirror = true; + setRotation(this.Shape7, 0F, 0F, 0F); + convertToChild(this.mask, this.Shape7); + this.Shape8 = new ModelRenderer(this, 6, 23); + this.Shape8.addBox(0F, 0F, -3F, 2, 2, 1); + this.Shape8.setRotationPoint(-1F, -2F + yOffset, -4F); + this.Shape8.setTextureSize(32, 32); + this.Shape8.mirror = true; + setRotation(this.Shape8, 0.6108652F, 0F, 0F); + convertToChild(this.mask, this.Shape8); + this.Shape9 = new ModelRenderer(this, 18, 21); + this.Shape9.addBox(0F, -1F, -5F, 3, 4, 2); + this.Shape9.setRotationPoint(-1.5F, -2F + yOffset, -4F); + this.Shape9.setTextureSize(32, 32); + this.Shape9.mirror = true; + setRotation(this.Shape9, 0.6108652F, 0F, 0F); + convertToChild(this.mask, this.Shape9); + this.Shape10 = new ModelRenderer(this, 18, 16); + this.Shape10.addBox(0F, -0.5F, -5F, 4, 3, 2); + this.Shape10.setRotationPoint(-2F, -2F + yOffset, -4F); + this.Shape10.setTextureSize(32, 32); + this.Shape10.mirror = true; + setRotation(this.Shape10, 0.6108652F, 0F, 0F); + convertToChild(this.mask, this.Shape10); } @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - + public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entity) { + if(entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) entity; - if (player.isSneaking()) { - this.isSneak = true; - } else { - this.isSneak = false; - } + this.isSneak = player.isSneaking(); } - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + this.mask.rotationPointX = this.bipedHead.rotationPointX; this.mask.rotationPointY = this.bipedHead.rotationPointY; this.mask.rotateAngleY = this.bipedHead.rotateAngleY; @@ -125,34 +123,36 @@ public class ModelM65Blaze extends ModelBiped { } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); GL11.glPushMatrix(); double d = 1D / 16D * 18D; //GL11.glTranslated(0, 1/16D, 0); GL11.glScaled(d, d, d); GL11.glScaled(1.01D, 1.01D, 1.01D); - this.mask.render(par7); + this.mask.render(scaleFactor); GL11.glPopMatrix(); } - private void setRotation(ModelRenderer model, float x, float y, float z) { + protected static void convertToChild(ModelRenderer parent, ModelRenderer child) { + + // move child rotation point to be relative to parent + child.rotationPointX -= parent.rotationPointX; + child.rotationPointY -= parent.rotationPointY; + child.rotationPointZ -= parent.rotationPointZ; + // make rotations relative to parent + child.rotateAngleX -= parent.rotateAngleX; + child.rotateAngleY -= parent.rotateAngleY; + child.rotateAngleZ -= parent.rotateAngleZ; + // create relationship + parent.addChild(child); + } + + private static void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } - - protected void convertToChild(ModelRenderer parParent, ModelRenderer parChild) { - // move child rotation point to be relative to parent - parChild.rotationPointX -= parParent.rotationPointX; - parChild.rotationPointY -= parParent.rotationPointY; - parChild.rotationPointZ -= parParent.rotationPointZ; - // make rotations relative to parent - parChild.rotateAngleX -= parParent.rotateAngleX; - parChild.rotateAngleY -= parParent.rotateAngleY; - parChild.rotateAngleZ -= parParent.rotateAngleZ; - // create relationship - parParent.addChild(parChild); - } - } diff --git a/src/main/java/com/hbm/render/model/ModelMIRV.java b/src/main/java/com/hbm/render/model/ModelMIRV.java deleted file mode 100644 index 69cbe99e5..000000000 --- a/src/main/java/com/hbm/render/model/ModelMIRV.java +++ /dev/null @@ -1,95 +0,0 @@ -// Date: 13.11.2016 12:38:48 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - - - - - - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelMIRV extends ModelBase -{ - //fields - ModelRenderer Shape9; - ModelRenderer Shape10; - ModelRenderer Shape11; - ModelRenderer Shape12; - - public ModelMIRV() - { - textureWidth = 64; - textureHeight = 32; - - Shape9 = new ModelRenderer(this, 0, 0); - Shape9.addBox(0F, 0F, 0F, 10, 4, 2); - Shape9.setRotationPoint(-3F, -2F, -1F); - Shape9.setTextureSize(64, 32); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - Shape10 = new ModelRenderer(this, 0, 6); - Shape10.addBox(0F, 0F, 0F, 10, 2, 4); - Shape10.setRotationPoint(-3F, -1F, -2F); - Shape10.setTextureSize(64, 32); - Shape10.mirror = true; - setRotation(Shape10, 0F, 0F, 0F); - Shape11 = new ModelRenderer(this, 0, 12); - Shape11.addBox(0F, 0F, 0F, 10, 3, 3); - Shape11.setRotationPoint(-3F, -1.5F, -1.5F); - Shape11.setTextureSize(64, 32); - Shape11.mirror = true; - setRotation(Shape11, 0F, 0F, 0F); - Shape12 = new ModelRenderer(this, 0, 18); - Shape12.addBox(0F, 0F, 0F, 4, 1, 1); - Shape12.setRotationPoint(0F, -3F, -1F); - Shape12.setTextureSize(64, 32); - Shape12.mirror = true; - setRotation(Shape12, 0F, 0F, 0F); - } - - public void renderAll(float f5) - { - Shape9.render(f5); - Shape10.render(f5); - Shape11.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Shape12.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape9.render(f5); - Shape10.render(f5); - Shape11.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Shape12.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelMIRVLauncher.java b/src/main/java/com/hbm/render/model/ModelMIRVLauncher.java deleted file mode 100644 index a6dad112d..000000000 --- a/src/main/java/com/hbm/render/model/ModelMIRVLauncher.java +++ /dev/null @@ -1,287 +0,0 @@ -// Date: 13.11.2016 12:34:14 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.weapon.ItemGunBase; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; - -public class ModelMIRVLauncher extends ModelBase { - // fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - ModelRenderer Shape10; - ModelRenderer Shape11; - ModelRenderer Shape12; - ModelRenderer Shape13; - ModelRenderer Shape14; - ModelRenderer Shape15; - ModelRenderer Shape16; - ModelRenderer Shape17; - ModelRenderer Shape18; - ModelRenderer Shape27; - ModelRenderer Shape28; - ModelRenderer Shape29; - ModelRenderer Shape30; - ModelRenderer Shape31; - ModelRenderer Shape32; - ModelRenderer Shape33; - ModelRenderer Shape19; - ModelRenderer Shape20; - ModelRenderer Shape21; - ModelRenderer Shape22; - - public ModelMIRVLauncher() { - textureWidth = 128; - textureHeight = 64; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 40, 2, 4); - Shape1.setRotationPoint(-20F, 0F, 0F); - Shape1.setTextureSize(128, 64); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 6); - Shape2.addBox(0F, 0F, 0F, 6, 2, 2); - Shape2.setRotationPoint(-19F, 2F, 1F); - Shape2.setTextureSize(128, 64); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 10); - Shape3.addBox(0F, 0F, 0F, 1, 4, 1); - Shape3.setRotationPoint(-12F, 2F, 1.5F); - Shape3.setTextureSize(128, 64); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 16, 6); - Shape4.addBox(0F, 0F, 0F, 6, 1, 4); - Shape4.setRotationPoint(-10F, 2F, 0F); - Shape4.setTextureSize(128, 64); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 0, 15); - Shape5.addBox(0F, 0F, 0F, 2, 3, 1); - Shape5.setRotationPoint(-7F, 3F, 1.5F); - Shape5.setTextureSize(128, 64); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 4, 10); - Shape6.addBox(0F, 0F, 0F, 3, 3, 1); - Shape6.setRotationPoint(-10F, 3F, 1.5F); - Shape6.setTextureSize(128, 64); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 12, 10); - Shape7.addBox(-1F, 0F, 0F, 1, 2, 1); - Shape7.setRotationPoint(-7F, 3F, 1.5F); - Shape7.setTextureSize(128, 64); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0.5235988F); - Shape8 = new ModelRenderer(this, 36, 6); - Shape8.addBox(0F, 0F, 0F, 10, 1, 4); - Shape8.setRotationPoint(-3F, 2F, 0F); - Shape8.setTextureSize(128, 64); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - Shape9 = new ModelRenderer(this, 64, 6); - Shape9.addBox(0F, 0F, 0F, 2, 3, 2); - Shape9.setRotationPoint(7F, 2F, 1F); - Shape9.setTextureSize(128, 64); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - Shape10 = new ModelRenderer(this, 88, 0); - Shape10.addBox(0F, 0F, 0F, 3, 4, 4); - Shape10.setRotationPoint(17F, -4F, 0F); - Shape10.setTextureSize(128, 64); - Shape10.mirror = true; - setRotation(Shape10, 0F, 0F, 0F); - Shape11 = new ModelRenderer(this, 72, 6); - Shape11.addBox(0F, 0F, 0F, 2, 3, 1); - Shape11.setRotationPoint(18F, -7F, 0F); - Shape11.setTextureSize(128, 64); - Shape11.mirror = true; - setRotation(Shape11, 0F, 0F, 0F); - Shape12 = new ModelRenderer(this, 78, 6); - Shape12.addBox(0F, 0F, 0F, 2, 3, 1); - Shape12.setRotationPoint(18F, -7F, 3F); - Shape12.setTextureSize(128, 64); - Shape12.mirror = true; - setRotation(Shape12, 0F, 0F, 0F); - Shape13 = new ModelRenderer(this, 0, 19); - Shape13.addBox(0F, -4F, 0F, 22, 4, 0); - Shape13.setRotationPoint(-17F, 0F, 1F); - Shape13.setTextureSize(128, 64); - Shape13.mirror = true; - setRotation(Shape13, 0.4363323F, 0F, 0F); - Shape14 = new ModelRenderer(this, 16, 11); - Shape14.addBox(0F, 0F, 0F, 33, 1, 1); - Shape14.setRotationPoint(-17F, -4F, -1F); - Shape14.setTextureSize(128, 64); - Shape14.mirror = true; - setRotation(Shape14, 0F, 0F, 0F); - Shape15 = new ModelRenderer(this, 0, 23); - Shape15.addBox(0F, -4F, 0F, 22, 4, 0); - Shape15.setRotationPoint(-17F, 0F, 3F); - Shape15.setTextureSize(128, 64); - Shape15.mirror = true; - setRotation(Shape15, -0.4363323F, 0F, 0F); - Shape16 = new ModelRenderer(this, 16, 13); - Shape16.addBox(0F, 0F, 0F, 33, 1, 1); - Shape16.setRotationPoint(-17F, -4F, 4F); - Shape16.setTextureSize(128, 64); - Shape16.mirror = true; - setRotation(Shape16, 0F, 0F, 0F); - Shape17 = new ModelRenderer(this, 44, 25); - Shape17.addBox(0F, -4F, 0F, 8, 4, 0); - Shape17.setRotationPoint(8F, 0F, 1F); - Shape17.setTextureSize(128, 64); - Shape17.mirror = true; - setRotation(Shape17, 0.4363323F, 0F, 0F); - Shape18 = new ModelRenderer(this, 44, 21); - Shape18.addBox(0F, -4F, 0F, 8, 4, 0); - Shape18.setRotationPoint(8F, 0F, 3F); - Shape18.setTextureSize(128, 64); - Shape18.mirror = true; - setRotation(Shape18, -0.4363323F, 0F, 0F); - Shape27 = new ModelRenderer(this, 18, 27); - Shape27.addBox(0F, 0F, 0F, 2, 5, 1); - Shape27.setRotationPoint(13F, -5F, 1.5F); - Shape27.setTextureSize(128, 64); - Shape27.mirror = true; - setRotation(Shape27, 0F, 0F, 0F); - Shape28 = new ModelRenderer(this, 84, 6); - Shape28.addBox(0F, 0F, 0F, 1, 3, 1); - Shape28.setRotationPoint(16F, -3F, 1.5F); - Shape28.setTextureSize(128, 64); - Shape28.mirror = true; - setRotation(Shape28, 0F, 0F, 0F); - Shape29 = new ModelRenderer(this, 6, 15); - Shape29.addBox(0F, 0F, 0F, 10, 2, 2); - Shape29.setRotationPoint(3F, -2F, 1F); - Shape29.setTextureSize(128, 64); - Shape29.mirror = true; - setRotation(Shape29, 0F, 0F, 0F); - Shape30 = new ModelRenderer(this, 30, 15); - Shape30.addBox(0F, 0F, 0F, 12, 2, 2); - Shape30.setRotationPoint(-7F, -1F, 4F); - Shape30.setTextureSize(128, 64); - Shape30.mirror = true; - setRotation(Shape30, 0F, 0F, 0F); - Shape31 = new ModelRenderer(this, 44, 19); - Shape31.addBox(0F, 0F, 0F, 14, 1, 1); - Shape31.setRotationPoint(5F, -0.5F, 4.5F); - Shape31.setTextureSize(128, 64); - Shape31.mirror = true; - setRotation(Shape31, 0F, 0F, 0F); - Shape32 = new ModelRenderer(this, 12, 27); - Shape32.addBox(0F, 0F, 0F, 1, 1, 1); - Shape32.setRotationPoint(18F, -0.5F, 3.5F); - Shape32.setTextureSize(128, 64); - Shape32.mirror = true; - setRotation(Shape32, 0F, 0F, 0F); - Shape33 = new ModelRenderer(this, 24, 29); - Shape33.addBox(0F, 0F, 0F, 21, 1, 2); - Shape33.setRotationPoint(-18F, -1F, 1F); - Shape33.setTextureSize(128, 64); - Shape33.mirror = true; - setRotation(Shape33, 0F, 0F, 0F); - Shape19 = new ModelRenderer(this, 0, 33); - Shape19.addBox(0F, 0F, 0F, 10, 4, 2); - Shape19.setRotationPoint(-9F, -5F, 1F); - Shape19.setTextureSize(128, 64); - Shape19.mirror = true; - setRotation(Shape19, 0F, 0F, 0F); - Shape20 = new ModelRenderer(this, 0, 39); - Shape20.addBox(0F, 0F, 0F, 10, 2, 4); - Shape20.setRotationPoint(-9F, -4F, 0F); - Shape20.setTextureSize(128, 64); - Shape20.mirror = true; - setRotation(Shape20, 0F, 0F, 0F); - Shape21 = new ModelRenderer(this, 0, 45); - Shape21.addBox(0F, 0F, 0F, 10, 3, 3); - Shape21.setRotationPoint(-9F, -4.5F, 0.5F); - Shape21.setTextureSize(128, 64); - Shape21.mirror = true; - setRotation(Shape21, 0F, 0F, 0F); - Shape22 = new ModelRenderer(this, 0, 51); - Shape22.addBox(0F, 0F, 0F, 4, 1, 1); - Shape22.setRotationPoint(-6F, -6F, 1F); - Shape22.setTextureSize(128, 64); - Shape22.mirror = true; - setRotation(Shape22, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, ItemStack item) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Shape2.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Shape6.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - Shape7.render(f5); - Shape8.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Shape9.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - Shape10.render(f5); - Shape11.render(f5); - Shape12.render(f5); - Shape13.render(f5); - Shape14.render(f5); - Shape15.render(f5); - Shape16.render(f5); - Shape17.render(f5); - Shape18.render(f5); - Shape27.render(f5); - Shape28.render(f5); - Shape29.render(f5); - Shape30.render(f5); - Shape31.render(f5); - Shape32.render(f5); - Shape33.render(f5); - - int ammo = ItemGunBase.getMag(item); - if(ammo > 0) { - Shape19.render(f5); - Shape20.render(f5); - Shape21.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Shape22.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - } - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelMP.java b/src/main/java/com/hbm/render/model/ModelMP.java deleted file mode 100644 index b9c8c4ebf..000000000 --- a/src/main/java/com/hbm/render/model/ModelMP.java +++ /dev/null @@ -1,234 +0,0 @@ -// Date: 29.08.2016 12:31:19 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelMP extends ModelBase { - // fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - ModelRenderer Shape10; - ModelRenderer Shape11; - ModelRenderer Shape12; - ModelRenderer Shape13; - ModelRenderer Shape14; - ModelRenderer Shape15; - ModelRenderer Shape16; - ModelRenderer Shape17; - ModelRenderer Shape18; - ModelRenderer Shape19; - ModelRenderer Shape20; - ModelRenderer Shape21; - ModelRenderer Shape22; - ModelRenderer Shape23; - ModelRenderer Shape24; - ModelRenderer Shape25; - - public ModelMP() { - textureWidth = 128; - textureHeight = 64; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 3, 6, 1); - Shape1.setRotationPoint(-25F, -3F, -2F); - Shape1.setTextureSize(128, 64); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 8, 0); - Shape2.addBox(0F, 0F, 0F, 3, 6, 1); - Shape2.setRotationPoint(-25F, -3F, 2F); - Shape2.setTextureSize(128, 64); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 8); - Shape3.addBox(0F, 0F, 0F, 2, 3, 3); - Shape3.setRotationPoint(-24F, 0F, -1F); - Shape3.setTextureSize(128, 64); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 0, 14); - Shape4.addBox(0F, 0F, 0F, 20, 3, 1); - Shape4.setRotationPoint(-22F, -3F, -2F); - Shape4.setTextureSize(128, 64); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 0, 18); - Shape5.addBox(0F, 0F, 0F, 20, 3, 1); - Shape5.setRotationPoint(-22F, -3F, 2F); - Shape5.setTextureSize(128, 64); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 0, 22); - Shape6.addBox(0F, 0F, 0F, 24, 1, 3); - Shape6.setRotationPoint(-24F, -1F, -1F); - Shape6.setTextureSize(128, 64); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 0, 26); - Shape7.addBox(0F, 0F, 0F, 26, 4, 5); - Shape7.setRotationPoint(-25F, 3F, -2F); - Shape7.setTextureSize(128, 64); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - Shape8 = new ModelRenderer(this, 16, 0); - Shape8.addBox(0F, 0F, 0F, 3, 6, 1); - Shape8.setRotationPoint(-2F, -3F, -2F); - Shape8.setTextureSize(128, 64); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - Shape9 = new ModelRenderer(this, 24, 0); - Shape9.addBox(0F, 0F, 0F, 3, 6, 1); - Shape9.setRotationPoint(-2F, -3F, 2F); - Shape9.setTextureSize(128, 64); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - Shape10 = new ModelRenderer(this, 90, 22); - Shape10.addBox(0F, 0F, 0F, 11, 3, 3); - Shape10.setRotationPoint(-2F, 0F, -1F); - Shape10.setTextureSize(128, 64); - Shape10.mirror = true; - setRotation(Shape10, 0F, 0F, 0F); - Shape11 = new ModelRenderer(this, 19, 38); - Shape11.addBox(0F, 0F, 0F, 26, 1, 4); - Shape11.setRotationPoint(-25F, 7F, -1.5F); - Shape11.setTextureSize(128, 64); - Shape11.mirror = true; - setRotation(Shape11, 0F, 0F, 0F); - Shape12 = new ModelRenderer(this, 78, 35); - Shape12.addBox(0F, 0F, 0F, 20, 5, 5); - Shape12.setRotationPoint(-25F, 8F, -2F); - Shape12.setTextureSize(128, 64); - Shape12.mirror = true; - setRotation(Shape12, 0F, 0F, 0F); - Shape13 = new ModelRenderer(this, 54, 45); - Shape13.addBox(0F, 0F, 0F, 32, 2, 5); - Shape13.setRotationPoint(-5F, 8F, -2F); - Shape13.setTextureSize(128, 64); - Shape13.mirror = true; - setRotation(Shape13, 0F, 0F, 0F); - Shape14 = new ModelRenderer(this, 108, 28); - Shape14.addBox(0F, -6F, 0F, 8, 6, 1); - Shape14.setRotationPoint(1F, 8F, -2F); - Shape14.setTextureSize(128, 64); - Shape14.mirror = true; - setRotation(Shape14, -0.0872665F, 0F, 0F); - Shape15 = new ModelRenderer(this, 84, 52); - Shape15.addBox(0F, 0F, 0F, 18, 9, 3); - Shape15.setRotationPoint(9F, -1F, -1F); - Shape15.setTextureSize(128, 64); - Shape15.mirror = true; - setRotation(Shape15, 0F, 0F, 0F); - Shape16 = new ModelRenderer(this, 0, 43); - Shape16.addBox(0F, -9F, 0F, 18, 9, 1); - Shape16.setRotationPoint(9F, 8F, -2F); - Shape16.setTextureSize(128, 64); - Shape16.mirror = true; - setRotation(Shape16, -0.0872665F, 0F, 0F); - Shape17 = new ModelRenderer(this, 90, 28); - Shape17.addBox(0F, -6F, -1F, 8, 6, 1); - Shape17.setRotationPoint(1F, 8F, 3F); - Shape17.setTextureSize(128, 64); - Shape17.mirror = true; - setRotation(Shape17, 0.0872665F, 0F, 0F); - Shape18 = new ModelRenderer(this, 46, 54); - Shape18.addBox(0F, -9F, -1F, 18, 9, 1); - Shape18.setRotationPoint(9F, 8F, 3F); - Shape18.setTextureSize(128, 64); - Shape18.mirror = true; - setRotation(Shape18, 0.0872665F, 0F, 0F); - Shape19 = new ModelRenderer(this, 0, 35); - Shape19.addBox(0F, -3F, 0F, 4, 3, 5); - Shape19.setRotationPoint(-5F, 13F, -2F); - Shape19.setTextureSize(128, 64); - Shape19.mirror = true; - setRotation(Shape19, 0F, 0F, -0.8726646F); - Shape20 = new ModelRenderer(this, 0, 53); - Shape20.addBox(0F, 0F, 0F, 18, 6, 5); - Shape20.setRotationPoint(9F, 10F, -2F); - Shape20.setTextureSize(128, 64); - Shape20.mirror = true; - setRotation(Shape20, 0F, 0F, 0F); - Shape21 = new ModelRenderer(this, 42, 16); - Shape21.addBox(0F, 0F, 0F, 3, 5, 1); - Shape21.setRotationPoint(1F, 10F, 0F); - Shape21.setTextureSize(128, 64); - Shape21.mirror = true; - setRotation(Shape21, 0F, 0F, 0F); - Shape22 = new ModelRenderer(this, 62, 27); - Shape22.addBox(0F, 0F, 0F, 11, 1, 3); - Shape22.setRotationPoint(-2F, 15F, -1F); - Shape22.setTextureSize(128, 64); - Shape22.mirror = true; - setRotation(Shape22, 0F, 0F, 0F); - Shape23 = new ModelRenderer(this, 62, 31); - Shape23.addBox(-6F, -1F, 0F, 6, 1, 3); - Shape23.setRotationPoint(-2F, 16F, -1F); - Shape23.setTextureSize(128, 64); - Shape23.mirror = true; - setRotation(Shape23, 0F, 0F, 0.5235988F); - Shape24 = new ModelRenderer(this, 20, 10); - Shape24.addBox(0F, 0F, 0F, 2, 1, 3); - Shape24.setRotationPoint(-21F, -2F, -1F); - Shape24.setTextureSize(128, 64); - Shape24.mirror = true; - setRotation(Shape24, 0F, 0F, 0F); - Shape25 = new ModelRenderer(this, 10, 10); - Shape25.addBox(0F, 0F, 0F, 2, 1, 3); - Shape25.setRotationPoint(-5F, -2F, -1F); - Shape25.setTextureSize(128, 64); - Shape25.mirror = true; - setRotation(Shape25, 0F, 0F, 0F); - } - - @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - Shape10.render(f5); - Shape11.render(f5); - Shape12.render(f5); - Shape13.render(f5); - Shape14.render(f5); - Shape15.render(f5); - Shape16.render(f5); - Shape17.render(f5); - Shape18.render(f5); - Shape19.render(f5); - Shape20.render(f5); - Shape21.render(f5); - Shape22.render(f5); - Shape23.render(f5); - Shape24.render(f5); - Shape25.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelMP40.java b/src/main/java/com/hbm/render/model/ModelMP40.java deleted file mode 100644 index ccd31ff80..000000000 --- a/src/main/java/com/hbm/render/model/ModelMP40.java +++ /dev/null @@ -1,165 +0,0 @@ -// Date: 03.11.2016 19:00:33 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelMP40 extends ModelBase { - // fields - ModelRenderer Body; - ModelRenderer Barrel; - ModelRenderer Scope; - ModelRenderer ClipPivot; - ModelRenderer ClipPivotBack; - ModelRenderer Clip; - ModelRenderer BarrelBottom; - ModelRenderer BodyStock; - ModelRenderer BodyStockBottom; - ModelRenderer BodyBack; - ModelRenderer Handle; - ModelRenderer TriggerFrame; - ModelRenderer Trigger; - ModelRenderer Bar; - ModelRenderer BarFront; - - public ModelMP40() { - textureWidth = 128; - textureHeight = 64; - - Body = new ModelRenderer(this, 0, 0); - Body.addBox(0F, 0F, 0F, 40, 4, 4); - Body.setRotationPoint(-10F, 0F, -2F); - Body.setTextureSize(128, 64); - Body.mirror = true; - setRotation(Body, 0F, 0F, 0F); - Barrel = new ModelRenderer(this, 88, 0); - Barrel.addBox(0F, 0F, 0F, 17, 2, 2); - Barrel.setRotationPoint(-27F, 1F, -1F); - Barrel.setTextureSize(128, 64); - Barrel.mirror = true; - setRotation(Barrel, 0F, 0F, 0F); - Scope = new ModelRenderer(this, 88, 4); - Scope.addBox(0F, 0F, 0F, 2, 3, 2); - Scope.setRotationPoint(-25F, -2F, -1F); - Scope.setTextureSize(128, 64); - Scope.mirror = true; - setRotation(Scope, 0F, 0F, 0F); - ClipPivot = new ModelRenderer(this, 0, 17); - ClipPivot.addBox(0F, 0F, 0F, 4, 5, 3); - ClipPivot.setRotationPoint(-3F, 4F, -1.5F); - ClipPivot.setTextureSize(128, 64); - ClipPivot.mirror = true; - setRotation(ClipPivot, 0F, 0F, 0F); - ClipPivotBack = new ModelRenderer(this, 14, 17); - ClipPivotBack.addBox(0F, 0F, 0F, 3, 3, 3); - ClipPivotBack.setRotationPoint(1F, 4F, -1.5F); - ClipPivotBack.setTextureSize(128, 64); - ClipPivotBack.mirror = true; - setRotation(ClipPivotBack, 0F, 0F, 0F); - Clip = new ModelRenderer(this, 0, 25); - Clip.addBox(0F, 0F, 0F, 3, 18, 2); - Clip.setRotationPoint(-2.5F, 9F, -1F); - Clip.setTextureSize(128, 64); - Clip.mirror = true; - setRotation(Clip, 0F, 0F, 0F); - BarrelBottom = new ModelRenderer(this, 96, 4); - BarrelBottom.addBox(0F, 0F, 0F, 14, 1, 1); - BarrelBottom.setRotationPoint(-24F, 2.5F, -0.5F); - BarrelBottom.setTextureSize(128, 64); - BarrelBottom.mirror = true; - setRotation(BarrelBottom, 0F, 0F, 0F); - BodyStock = new ModelRenderer(this, 0, 8); - BodyStock.addBox(0F, 0F, 0F, 26, 4, 5); - BodyStock.setRotationPoint(4F, 3F, -2.5F); - BodyStock.setTextureSize(128, 64); - BodyStock.mirror = true; - setRotation(BodyStock, 0F, 0F, 0F); - BodyStockBottom = new ModelRenderer(this, 62, 11); - BodyStockBottom.addBox(0F, 0F, 0F, 26, 3, 3); - BodyStockBottom.setRotationPoint(4F, 7F, -1.5F); - BodyStockBottom.setTextureSize(128, 64); - BodyStockBottom.mirror = true; - setRotation(BodyStockBottom, 0F, 0F, 0F); - BodyBack = new ModelRenderer(this, 10, 25); - BodyBack.addBox(0F, 0F, 0F, 7, 7, 3); - BodyBack.setRotationPoint(30F, 0F, -1.5F); - BodyBack.setTextureSize(128, 64); - BodyBack.mirror = true; - setRotation(BodyBack, 0F, 0F, 0.7853982F); - Handle = new ModelRenderer(this, 30, 17); - Handle.addBox(0F, 0F, 0F, 4, 10, 3); - Handle.setRotationPoint(27F, 10F, -1.5F); - Handle.setTextureSize(128, 64); - Handle.mirror = true; - setRotation(Handle, 0F, 0F, -0.4363323F); - TriggerFrame = new ModelRenderer(this, 44, 17); - TriggerFrame.addBox(0F, 0F, 0F, 6, 4, 2); - TriggerFrame.setRotationPoint(23F, 10F, -1F); - TriggerFrame.setTextureSize(128, 64); - TriggerFrame.mirror = true; - setRotation(TriggerFrame, 0F, 0F, 0F); - Trigger = new ModelRenderer(this, 26, 17); - Trigger.addBox(-1F, 0F, 0F, 1, 3, 1); - Trigger.setRotationPoint(27F, 10F, -0.5F); - Trigger.setTextureSize(128, 64); - Trigger.mirror = true; - setRotation(Trigger, 0F, 0F, 0.4363323F); - Bar = new ModelRenderer(this, 60, 17); - Bar.addBox(0F, 0F, 0F, 23, 1, 1); - Bar.setRotationPoint(7F, 7.5F, -3F); - Bar.setTextureSize(128, 64); - Bar.mirror = true; - setRotation(Bar, 0F, 0F, 0F); - BarFront = new ModelRenderer(this, 0, 45); - BarFront.addBox(-2.5F, -0.5F, 0F, 5, 1, 1); - BarFront.setRotationPoint(7F, 8F, -3F); - BarFront.setTextureSize(128, 64); - BarFront.mirror = true; - setRotation(BarFront, 0F, 0F, 0.7853982F); - } - - @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Body.render(f5); - Barrel.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Scope.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - ClipPivot.render(f5); - ClipPivotBack.render(f5); - Clip.render(f5); - BarrelBottom.render(f5); - BodyStock.render(f5); - BodyStockBottom.render(f5); - BodyBack.render(f5); - Handle.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - TriggerFrame.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - Trigger.render(f5); - Bar.render(f5); - BarFront.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelMan.java b/src/main/java/com/hbm/render/model/ModelMan.java index 51b9826bf..0c02d3db1 100644 --- a/src/main/java/com/hbm/render/model/ModelMan.java +++ b/src/main/java/com/hbm/render/model/ModelMan.java @@ -13,50 +13,51 @@ public class ModelMan extends ModelArmorBase { public ModelMan() { super(0); - head = new ModelRendererObj(ResourceManager.player_manly_af, "Head"); - body = new ModelRendererObj(ResourceManager.player_manly_af, "Body"); - leftArm = new ModelRendererObj(ResourceManager.player_manly_af, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F); - rightArm = new ModelRendererObj(ResourceManager.player_manly_af, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F); - leftLeg = new ModelRendererObj(ResourceManager.player_manly_af, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); - rightLeg = new ModelRendererObj(ResourceManager.player_manly_af, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); + this.head = new ModelRendererObj(ResourceManager.player_manly_af, "Head"); + this.body = new ModelRendererObj(ResourceManager.player_manly_af, "Body"); + this.leftArm = new ModelRendererObj(ResourceManager.player_manly_af, "LeftArm").setRotationPoint(5.0F, 2.0F, 0.0F); + this.rightArm = new ModelRendererObj(ResourceManager.player_manly_af, "RightArm").setRotationPoint(-5.0F, 2.0F, 0.0F); + this.leftLeg = new ModelRendererObj(ResourceManager.player_manly_af, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightLeg = new ModelRendererObj(ResourceManager.player_manly_af, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); GL11.glPushMatrix(); GL11.glEnable(GL11.GL_LIGHTING); bindTexture(ResourceManager.player_manly_tex); - head.render(0.0625F); - body.render(0.0625F); - leftArm.render(0.0625F); - rightArm.render(0.0625F); - leftLeg.render(0.0625F); - rightLeg.render(0.0625F); + this.head.render(scaleFactor); + this.body.render(scaleFactor); + this.leftArm.render(scaleFactor); + this.rightArm.render(scaleFactor); + this.leftLeg.render(scaleFactor); + this.rightLeg.render(scaleFactor); GL11.glPopMatrix(); } - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7, RenderPlayer render) { - this.isSneak = par1Entity.isSneaking(); - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + public void render(Entity par1Entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, RenderPlayer render) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, par1Entity); + + this.head.copyRotationFrom(render.modelBipedMain.bipedHead); + this.body.copyRotationFrom(render.modelBipedMain.bipedBody); + this.leftArm.copyRotationFrom(render.modelBipedMain.bipedLeftArm); + this.rightArm.copyRotationFrom(render.modelBipedMain.bipedRightArm); + this.leftLeg.copyRotationFrom(render.modelBipedMain.bipedLeftLeg); + this.rightLeg.copyRotationFrom(render.modelBipedMain.bipedRightLeg); - head.copyRotationFrom(render.modelBipedMain.bipedHead); - body.copyRotationFrom(render.modelBipedMain.bipedBody); - leftArm.copyRotationFrom(render.modelBipedMain.bipedLeftArm); - rightArm.copyRotationFrom(render.modelBipedMain.bipedRightArm); - leftLeg.copyRotationFrom(render.modelBipedMain.bipedLeftLeg); - rightLeg.copyRotationFrom(render.modelBipedMain.bipedRightLeg); - GL11.glPushMatrix(); GL11.glEnable(GL11.GL_LIGHTING); bindTexture(ResourceManager.player_manly_tex); - head.render(0.0625F); - body.render(0.0625F); - leftArm.render(0.0625F); - rightArm.render(0.0625F); - leftLeg.render(0.0625F); - rightLeg.render(0.0625F); + this.head.render(scaleFactor); + this.body.render(scaleFactor); + this.leftArm.render(scaleFactor); + this.rightArm.render(scaleFactor); + this.leftLeg.render(scaleFactor); + this.rightLeg.render(scaleFactor); GL11.glPopMatrix(); } } diff --git a/src/main/java/com/hbm/render/model/ModelMaskMan.java b/src/main/java/com/hbm/render/model/ModelMaskMan.java index 17a19220a..436deb23c 100644 --- a/src/main/java/com/hbm/render/model/ModelMaskMan.java +++ b/src/main/java/com/hbm/render/model/ModelMaskMan.java @@ -13,60 +13,59 @@ import net.minecraft.util.MathHelper; public class ModelMaskMan extends ModelBase { @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + GL11.glPushMatrix(); - + GL11.glRotatef(180, 1, 0, 0); GL11.glTranslatef(0, -1.5F, 0); GL11.glRotatef(-90, 0, 1, 0); - - EntityMaskMan man = (EntityMaskMan)entity; - + + EntityMaskMan maskManEntity = (EntityMaskMan)entity; + //boolean target = entity.worldObj.getEntityByID(man.getDataWatcher().getWatchableObjectInt(man.dwTargetPlayer)) != null; - + //if(target) // GL11.glRotated(-f3, 0, 1, 0); - - float f7 = man.limbSwing - man.limbSwingAmount * (1.0F - f5); - float f6 = (man.prevLimbSwingAmount + (man.limbSwingAmount - man.prevLimbSwingAmount) * f5) * 0.5F; - + + float f7 = maskManEntity.limbSwing - maskManEntity.limbSwingAmount * (1.0F - scaleFactor); + float f6 = (maskManEntity.prevLimbSwingAmount + (maskManEntity.limbSwingAmount - maskManEntity.prevLimbSwingAmount) * scaleFactor) * 0.5F; + double swing = Math.toDegrees(MathHelper.cos(f7 / 2F + (float)Math.PI) * 1.4F * f6); - + GL11.glRotated(swing * -0.1, 1, 0, 0); - + ResourceManager.maskman.renderPart("Torso"); - + GL11.glPushMatrix(); GL11.glTranslatef(-0.5F, 1.75F, -0.5F); GL11.glRotated(swing, 0, 0, 1); ResourceManager.maskman.renderPart("LLeg"); GL11.glPopMatrix(); - + GL11.glPushMatrix(); GL11.glTranslatef(-0.5F, 1.75F, 0.5F); GL11.glRotated(swing * -1, 0, 0, 1); ResourceManager.maskman.renderPart("RLeg"); GL11.glPopMatrix(); - + GL11.glPushMatrix(); GL11.glTranslatef(-0.5F, 3.75F, -1.5F); GL11.glRotated(swing * 0.25, 0, 0, 1); ResourceManager.maskman.renderPart("LArm"); GL11.glPopMatrix(); - + GL11.glPushMatrix(); GL11.glTranslatef(-0.5F, 3.75F, 1.5F); GL11.glRotated(swing * -0.25, 0, 0, 1); ResourceManager.maskman.renderPart("RArm"); GL11.glPopMatrix(); - + GL11.glPushMatrix(); GL11.glTranslatef(0.5F, 4F, 0); - GL11.glRotated(-f3, 0, 1, 0); - - if(man.getHealth() >= man.getMaxHealth() / 2) { + GL11.glRotated(-netHeadYaw, 0, 1, 0); + + if(maskManEntity.getHealth() >= maskManEntity.getMaxHealth() / 2) { ResourceManager.maskman.renderPart("Head"); } else { ResourceManager.maskman.renderPart("Skull"); @@ -74,7 +73,7 @@ public class ModelMaskMan extends ModelBase { ResourceManager.maskman.renderPart("IOU"); } GL11.glPopMatrix(); - + GL11.glPopMatrix(); } } diff --git a/src/main/java/com/hbm/render/model/ModelMiniNuke.java b/src/main/java/com/hbm/render/model/ModelMiniNuke.java deleted file mode 100644 index 04deee6a8..000000000 --- a/src/main/java/com/hbm/render/model/ModelMiniNuke.java +++ /dev/null @@ -1,125 +0,0 @@ -// Date: 26.01.2016 16:09:23 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - - - - - - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelMiniNuke extends ModelBase -{ - //fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - - public ModelMiniNuke() - { - textureWidth = 64; - textureHeight = 32; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 5, 4, 2); - Shape1.setRotationPoint(-2F, -2F, -1F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 6); - Shape2.addBox(0F, 0F, 0F, 5, 2, 4); - Shape2.setRotationPoint(-2F, -1F, -2F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 58, 0); - Shape3.addBox(0F, 0F, 0F, 1, 2, 2); - Shape3.setRotationPoint(-3F, -1F, -1F); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 52, 0); - Shape4.addBox(0F, 0F, 0F, 1, 2, 2); - Shape4.setRotationPoint(3F, -1F, -1F); - Shape4.setTextureSize(64, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 46, 0); - Shape5.addBox(0F, 0F, 0F, 2, 2, 1); - Shape5.setRotationPoint(4F, -1F, -2F); - Shape5.setTextureSize(64, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 40, 0); - Shape6.addBox(0F, 0F, 0F, 2, 2, 1); - Shape6.setRotationPoint(4F, -1F, 1F); - Shape6.setTextureSize(64, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 24, 0); - Shape7.addBox(0F, 0F, 0F, 2, 1, 2); - Shape7.setRotationPoint(4F, -2F, -1F); - Shape7.setTextureSize(64, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - Shape8 = new ModelRenderer(this, 32, 0); - Shape8.addBox(0F, 0F, 0F, 2, 1, 2); - Shape8.setRotationPoint(4F, 1F, -1F); - Shape8.setTextureSize(64, 32); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - } - - public void renderAll(float f5) - { - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelMultitoolClaw.java b/src/main/java/com/hbm/render/model/ModelMultitoolClaw.java index 3f3aaef01..fc8dc729c 100644 --- a/src/main/java/com/hbm/render/model/ModelMultitoolClaw.java +++ b/src/main/java/com/hbm/render/model/ModelMultitoolClaw.java @@ -11,7 +11,7 @@ import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelMultitoolClaw extends ModelBase { - // fields + ModelRenderer Base; ModelRenderer BTop; ModelRenderer BBottom; @@ -45,243 +45,237 @@ public class ModelMultitoolClaw extends ModelBase { ModelRenderer WireB; public ModelMultitoolClaw() { - textureWidth = 64; - textureHeight = 64; + this.textureWidth = 64; + this.textureHeight = 64; - Base = new ModelRenderer(this, 0, 0); - Base.addBox(0F, 0F, 0F, 3, 8, 8); - Base.setRotationPoint(-3F, -4F, -4F); - Base.setTextureSize(64, 64); - Base.mirror = true; - setRotation(Base, 0F, 0F, 0F); - BTop = new ModelRenderer(this, 0, 16); - BTop.addBox(0F, 0F, 0F, 4, 2, 8); - BTop.setRotationPoint(-3F, -4F, -4F); - BTop.setTextureSize(64, 64); - BTop.mirror = true; - setRotation(BTop, 0F, 0F, -0.2617994F); - BBottom = new ModelRenderer(this, 0, 26); - BBottom.addBox(0F, -2F, 0F, 4, 2, 8); - BBottom.setRotationPoint(-3F, 4F, -4F); - BBottom.setTextureSize(64, 64); - BBottom.mirror = true; - setRotation(BBottom, 0F, 0F, 0.2617994F); - BLeft = new ModelRenderer(this, 0, 36); - BLeft.addBox(0F, 0F, 0F, 4, 8, 2); - BLeft.setRotationPoint(-3F, -4F, -4F); - BLeft.setTextureSize(64, 64); - BLeft.mirror = true; - setRotation(BLeft, 0F, 0.2617994F, 0F); - BRight = new ModelRenderer(this, 12, 36); - BRight.addBox(0F, 0F, -2F, 4, 8, 2); - BRight.setRotationPoint(-3F, -4F, 4F); - BRight.setTextureSize(64, 64); - BRight.mirror = true; - setRotation(BRight, 0F, -0.2617994F, 0F); - RTop = new ModelRenderer(this, 24, 0); - RTop.addBox(0F, 0F, 0F, 3, 2, 10); - RTop.setRotationPoint(4F, -6F, -6F); - RTop.setTextureSize(64, 64); - RTop.mirror = true; - setRotation(RTop, 0F, 0F, 0F); - RBottom = new ModelRenderer(this, 24, 12); - RBottom.addBox(0F, 0F, 0F, 3, 2, 10); - RBottom.setRotationPoint(4F, 4F, -4F); - RBottom.setTextureSize(64, 64); - RBottom.mirror = true; - setRotation(RBottom, 0F, 0F, 0F); - RLeft = new ModelRenderer(this, 0, 46); - RLeft.addBox(0F, 0F, 0F, 3, 10, 2); - RLeft.setRotationPoint(4F, -4F, -6F); - RLeft.setTextureSize(64, 64); - RLeft.mirror = true; - setRotation(RLeft, 0F, 0F, 0F); - RRight = new ModelRenderer(this, 10, 46); - RRight.addBox(0F, 0F, 0F, 3, 10, 2); - RRight.setRotationPoint(4F, -6F, 4F); - RRight.setTextureSize(64, 64); - RRight.mirror = true; - setRotation(RRight, 0F, 0F, 0F); - GPivot = new ModelRenderer(this, 24, 24); - GPivot.addBox(0F, 0F, 0F, 3, 4, 4); - GPivot.setRotationPoint(-6F, -2F, -2F); - GPivot.setTextureSize(64, 64); - GPivot.mirror = true; - setRotation(GPivot, 0F, 0F, 0F); - GBase = new ModelRenderer(this, 24, 32); - GBase.addBox(-2F, -3F, -4F, 4, 3, 8); - GBase.setRotationPoint(-6F, 0F, 1F); - GBase.setTextureSize(64, 64); - GBase.mirror = true; - setRotation(GBase, 0F, 0F, 1.047198F); - F31 = new ModelRenderer(this, 20, 52); - F31.addBox(-3F, -1F, 0F, 3, 2, 2); - F31.setRotationPoint(-5.5F, -2F, -1F); - F31.setTextureSize(64, 64); - F31.mirror = true; - setRotation(F31, 0F, 0F, 0.6981317F); - F21 = new ModelRenderer(this, 30, 52); - F21.addBox(-3F, -1F, -2F, 3, 2, 2); - F21.setRotationPoint(-5.5F, -2F, -1.2F); - F21.setTextureSize(64, 64); - F21.mirror = true; - setRotation(F21, 0F, 0F, 0.6981317F); - F41 = new ModelRenderer(this, 40, 52); - F41.addBox(-3F, -1F, 0F, 3, 2, 2); - F41.setRotationPoint(-5.5F, -2F, 1.2F); - F41.setTextureSize(64, 64); - F41.mirror = true; - setRotation(F41, 0F, 0F, 0.6981317F); - F51 = new ModelRenderer(this, 50, 52); - F51.addBox(-3F, -1F, 0F, 3, 2, 2); - F51.setRotationPoint(-5.5F, -2F, 3.4F); - F51.setTextureSize(64, 64); - F51.mirror = true; - setRotation(F51, 0F, 0F, 0.6981317F); - F11 = new ModelRenderer(this, 48, 38); - F11.addBox(0F, -1F, -3F, 2, 2, 3); - F11.setRotationPoint(-5.5F, -2F, -3F); - F11.setTextureSize(64, 64); - F11.mirror = true; - setRotation(F11, 0F, 0F, 1.047198F); - F22 = new ModelRenderer(this, 20, 56); - F22.addBox(-3F, -1F, -1F, 3, 2, 2); - F22.setRotationPoint(-7.6F, -3.7F, -2.2F); - F22.setTextureSize(64, 64); - F22.mirror = true; - setRotation(F22, 0F, 0F, 0.3490659F); - F32 = new ModelRenderer(this, 30, 56); - F32.addBox(-3F, -1F, -1F, 3, 2, 2); - F32.setRotationPoint(-7.6F, -3.7F, 0F); - F32.setTextureSize(64, 64); - F32.mirror = true; - setRotation(F32, 0F, 0F, 0.3490659F); - F42 = new ModelRenderer(this, 40, 56); - F42.addBox(-3F, -1F, -1F, 3, 2, 2); - F42.setRotationPoint(-7.6F, -3.7F, 2.2F); - F42.setTextureSize(64, 64); - F42.mirror = true; - setRotation(F42, 0F, 0F, 0.3490659F); - F52 = new ModelRenderer(this, 50, 56); - F52.addBox(-3F, -1F, -1F, 3, 2, 2); - F52.setRotationPoint(-7.6F, -3.7F, 4.4F); - F52.setTextureSize(64, 64); - F52.mirror = true; - setRotation(F52, 0F, 0F, 0.3490659F); - F12 = new ModelRenderer(this, 48, 34); - F12.addBox(-1F, -1F, -2F, 2, 2, 2); - F12.setRotationPoint(-5F, -1F, -5.8F); - F12.setTextureSize(64, 64); - F12.mirror = true; - setRotation(F12, 0F, 0.7853982F, 1.047198F); - F23 = new ModelRenderer(this, 20, 60); - F23.addBox(-3F, -1F, -1F, 3, 2, 2); - F23.setRotationPoint(-10F, -4.6F, -2.2F); - F23.setTextureSize(64, 64); - F23.mirror = true; - setRotation(F23, 0F, 0F, -0.1745329F); - F33 = new ModelRenderer(this, 30, 60); - F33.addBox(-3F, -1F, -1F, 3, 2, 2); - F33.setRotationPoint(-10F, -4.6F, 0F); - F33.setTextureSize(64, 64); - F33.mirror = true; - setRotation(F33, 0F, 0F, -0.1745329F); - F43 = new ModelRenderer(this, 40, 60); - F43.addBox(-3F, -1F, -1F, 3, 2, 2); - F43.setRotationPoint(-10F, -4.6F, 2.2F); - F43.setTextureSize(64, 64); - F43.mirror = true; - setRotation(F43, 0F, 0F, -0.1745329F); - F53 = new ModelRenderer(this, 50, 60); - F53.addBox(-3F, -1F, -1F, 3, 2, 2); - F53.setRotationPoint(-10F, -4.6F, 4.4F); - F53.setTextureSize(64, 64); - F53.mirror = true; - setRotation(F53, 0F, 0F, -0.1745329F); - F13 = new ModelRenderer(this, 48, 30); - F13.addBox(-1F, -1F, -2F, 2, 2, 2); - F13.setRotationPoint(-5.5F, -1F, -7.2F); - F13.setTextureSize(64, 64); - F13.mirror = true; - setRotation(F13, 0.6981317F, 1.047198F, 1.047198F); - WireL = new ModelRenderer(this, 38, 30); - WireL.addBox(0F, 0F, 0F, 4, 1, 1); - WireL.setRotationPoint(0F, -5.5F, 0F); - WireL.setTextureSize(64, 64); - WireL.mirror = true; - setRotation(WireL, 0F, 0F, 0F); - WireR = new ModelRenderer(this, 38, 28); - WireR.addBox(0F, 0F, 0F, 4, 1, 1); - WireR.setRotationPoint(0F, -5.5F, 2F); - WireR.setTextureSize(64, 64); - WireR.mirror = true; - setRotation(WireR, 0F, 0F, 0F); - Gauge1 = new ModelRenderer(this, 20, 47); - Gauge1.addBox(-1.5F, -1F, -2F, 3, 1, 4); - Gauge1.setRotationPoint(-1F, -4F, 4F); - Gauge1.setTextureSize(64, 64); - Gauge1.mirror = true; - setRotation(Gauge1, -0.7853982F, 0F, 0F); - Gauge2 = new ModelRenderer(this, 34, 48); - Gauge2.addBox(-2F, -1F, -1.5F, 4, 1, 3); - Gauge2.setRotationPoint(-1F, -4F, 4F); - Gauge2.setTextureSize(64, 64); - Gauge2.mirror = true; - setRotation(Gauge2, -0.7853982F, 0F, 0F); - WireB = new ModelRenderer(this, 48, 49); - WireB.addBox(0F, 0F, 0F, 4, 2, 1); - WireB.setRotationPoint(0F, -1F, -5.5F); - WireB.setTextureSize(64, 64); - WireB.mirror = true; - setRotation(WireB, 0F, 0F, 0F); + this.Base = new ModelRenderer(this, 0, 0); + this.Base.addBox(0F, 0F, 0F, 3, 8, 8); + this.Base.setRotationPoint(-3F, -4F, -4F); + this.Base.setTextureSize(64, 64); + this.Base.mirror = true; + setRotation(this.Base, 0F, 0F, 0F); + this.BTop = new ModelRenderer(this, 0, 16); + this.BTop.addBox(0F, 0F, 0F, 4, 2, 8); + this.BTop.setRotationPoint(-3F, -4F, -4F); + this.BTop.setTextureSize(64, 64); + this.BTop.mirror = true; + setRotation(this.BTop, 0F, 0F, -0.2617994F); + this.BBottom = new ModelRenderer(this, 0, 26); + this.BBottom.addBox(0F, -2F, 0F, 4, 2, 8); + this.BBottom.setRotationPoint(-3F, 4F, -4F); + this.BBottom.setTextureSize(64, 64); + this.BBottom.mirror = true; + setRotation(this.BBottom, 0F, 0F, 0.2617994F); + this.BLeft = new ModelRenderer(this, 0, 36); + this.BLeft.addBox(0F, 0F, 0F, 4, 8, 2); + this.BLeft.setRotationPoint(-3F, -4F, -4F); + this.BLeft.setTextureSize(64, 64); + this.BLeft.mirror = true; + setRotation(this.BLeft, 0F, 0.2617994F, 0F); + this.BRight = new ModelRenderer(this, 12, 36); + this.BRight.addBox(0F, 0F, -2F, 4, 8, 2); + this.BRight.setRotationPoint(-3F, -4F, 4F); + this.BRight.setTextureSize(64, 64); + this.BRight.mirror = true; + setRotation(this.BRight, 0F, -0.2617994F, 0F); + this.RTop = new ModelRenderer(this, 24, 0); + this.RTop.addBox(0F, 0F, 0F, 3, 2, 10); + this.RTop.setRotationPoint(4F, -6F, -6F); + this.RTop.setTextureSize(64, 64); + this.RTop.mirror = true; + setRotation(this.RTop, 0F, 0F, 0F); + this.RBottom = new ModelRenderer(this, 24, 12); + this.RBottom.addBox(0F, 0F, 0F, 3, 2, 10); + this.RBottom.setRotationPoint(4F, 4F, -4F); + this.RBottom.setTextureSize(64, 64); + this.RBottom.mirror = true; + setRotation(this.RBottom, 0F, 0F, 0F); + this.RLeft = new ModelRenderer(this, 0, 46); + this.RLeft.addBox(0F, 0F, 0F, 3, 10, 2); + this.RLeft.setRotationPoint(4F, -4F, -6F); + this.RLeft.setTextureSize(64, 64); + this.RLeft.mirror = true; + setRotation(this.RLeft, 0F, 0F, 0F); + this.RRight = new ModelRenderer(this, 10, 46); + this.RRight.addBox(0F, 0F, 0F, 3, 10, 2); + this.RRight.setRotationPoint(4F, -6F, 4F); + this.RRight.setTextureSize(64, 64); + this.RRight.mirror = true; + setRotation(this.RRight, 0F, 0F, 0F); + this.GPivot = new ModelRenderer(this, 24, 24); + this.GPivot.addBox(0F, 0F, 0F, 3, 4, 4); + this.GPivot.setRotationPoint(-6F, -2F, -2F); + this.GPivot.setTextureSize(64, 64); + this.GPivot.mirror = true; + setRotation(this.GPivot, 0F, 0F, 0F); + this.GBase = new ModelRenderer(this, 24, 32); + this.GBase.addBox(-2F, -3F, -4F, 4, 3, 8); + this.GBase.setRotationPoint(-6F, 0F, 1F); + this.GBase.setTextureSize(64, 64); + this.GBase.mirror = true; + setRotation(this.GBase, 0F, 0F, 1.047198F); + this.F31 = new ModelRenderer(this, 20, 52); + this.F31.addBox(-3F, -1F, 0F, 3, 2, 2); + this.F31.setRotationPoint(-5.5F, -2F, -1F); + this.F31.setTextureSize(64, 64); + this.F31.mirror = true; + setRotation(this.F31, 0F, 0F, 0.6981317F); + this.F21 = new ModelRenderer(this, 30, 52); + this.F21.addBox(-3F, -1F, -2F, 3, 2, 2); + this.F21.setRotationPoint(-5.5F, -2F, -1.2F); + this.F21.setTextureSize(64, 64); + this.F21.mirror = true; + setRotation(this.F21, 0F, 0F, 0.6981317F); + this.F41 = new ModelRenderer(this, 40, 52); + this.F41.addBox(-3F, -1F, 0F, 3, 2, 2); + this.F41.setRotationPoint(-5.5F, -2F, 1.2F); + this.F41.setTextureSize(64, 64); + this.F41.mirror = true; + setRotation(this.F41, 0F, 0F, 0.6981317F); + this.F51 = new ModelRenderer(this, 50, 52); + this.F51.addBox(-3F, -1F, 0F, 3, 2, 2); + this.F51.setRotationPoint(-5.5F, -2F, 3.4F); + this.F51.setTextureSize(64, 64); + this.F51.mirror = true; + setRotation(this.F51, 0F, 0F, 0.6981317F); + this.F11 = new ModelRenderer(this, 48, 38); + this.F11.addBox(0F, -1F, -3F, 2, 2, 3); + this.F11.setRotationPoint(-5.5F, -2F, -3F); + this.F11.setTextureSize(64, 64); + this.F11.mirror = true; + setRotation(this.F11, 0F, 0F, 1.047198F); + this.F22 = new ModelRenderer(this, 20, 56); + this.F22.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F22.setRotationPoint(-7.6F, -3.7F, -2.2F); + this.F22.setTextureSize(64, 64); + this.F22.mirror = true; + setRotation(this.F22, 0F, 0F, 0.3490659F); + this.F32 = new ModelRenderer(this, 30, 56); + this.F32.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F32.setRotationPoint(-7.6F, -3.7F, 0F); + this.F32.setTextureSize(64, 64); + this.F32.mirror = true; + setRotation(this.F32, 0F, 0F, 0.3490659F); + this.F42 = new ModelRenderer(this, 40, 56); + this.F42.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F42.setRotationPoint(-7.6F, -3.7F, 2.2F); + this.F42.setTextureSize(64, 64); + this.F42.mirror = true; + setRotation(this.F42, 0F, 0F, 0.3490659F); + this.F52 = new ModelRenderer(this, 50, 56); + this.F52.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F52.setRotationPoint(-7.6F, -3.7F, 4.4F); + this.F52.setTextureSize(64, 64); + this.F52.mirror = true; + setRotation(this.F52, 0F, 0F, 0.3490659F); + this.F12 = new ModelRenderer(this, 48, 34); + this.F12.addBox(-1F, -1F, -2F, 2, 2, 2); + this.F12.setRotationPoint(-5F, -1F, -5.8F); + this.F12.setTextureSize(64, 64); + this.F12.mirror = true; + setRotation(this.F12, 0F, 0.7853982F, 1.047198F); + this.F23 = new ModelRenderer(this, 20, 60); + this.F23.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F23.setRotationPoint(-10F, -4.6F, -2.2F); + this.F23.setTextureSize(64, 64); + this.F23.mirror = true; + setRotation(this.F23, 0F, 0F, -0.1745329F); + this.F33 = new ModelRenderer(this, 30, 60); + this.F33.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F33.setRotationPoint(-10F, -4.6F, 0F); + this.F33.setTextureSize(64, 64); + this.F33.mirror = true; + setRotation(this.F33, 0F, 0F, -0.1745329F); + this.F43 = new ModelRenderer(this, 40, 60); + this.F43.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F43.setRotationPoint(-10F, -4.6F, 2.2F); + this.F43.setTextureSize(64, 64); + this.F43.mirror = true; + setRotation(this.F43, 0F, 0F, -0.1745329F); + this.F53 = new ModelRenderer(this, 50, 60); + this.F53.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F53.setRotationPoint(-10F, -4.6F, 4.4F); + this.F53.setTextureSize(64, 64); + this.F53.mirror = true; + setRotation(this.F53, 0F, 0F, -0.1745329F); + this.F13 = new ModelRenderer(this, 48, 30); + this.F13.addBox(-1F, -1F, -2F, 2, 2, 2); + this.F13.setRotationPoint(-5.5F, -1F, -7.2F); + this.F13.setTextureSize(64, 64); + this.F13.mirror = true; + setRotation(this.F13, 0.6981317F, 1.047198F, 1.047198F); + this.WireL = new ModelRenderer(this, 38, 30); + this.WireL.addBox(0F, 0F, 0F, 4, 1, 1); + this.WireL.setRotationPoint(0F, -5.5F, 0F); + this.WireL.setTextureSize(64, 64); + this.WireL.mirror = true; + setRotation(this.WireL, 0F, 0F, 0F); + this.WireR = new ModelRenderer(this, 38, 28); + this.WireR.addBox(0F, 0F, 0F, 4, 1, 1); + this.WireR.setRotationPoint(0F, -5.5F, 2F); + this.WireR.setTextureSize(64, 64); + this.WireR.mirror = true; + setRotation(this.WireR, 0F, 0F, 0F); + this.Gauge1 = new ModelRenderer(this, 20, 47); + this.Gauge1.addBox(-1.5F, -1F, -2F, 3, 1, 4); + this.Gauge1.setRotationPoint(-1F, -4F, 4F); + this.Gauge1.setTextureSize(64, 64); + this.Gauge1.mirror = true; + setRotation(this.Gauge1, -0.7853982F, 0F, 0F); + this.Gauge2 = new ModelRenderer(this, 34, 48); + this.Gauge2.addBox(-2F, -1F, -1.5F, 4, 1, 3); + this.Gauge2.setRotationPoint(-1F, -4F, 4F); + this.Gauge2.setTextureSize(64, 64); + this.Gauge2.mirror = true; + setRotation(this.Gauge2, -0.7853982F, 0F, 0F); + this.WireB = new ModelRenderer(this, 48, 49); + this.WireB.addBox(0F, 0F, 0F, 4, 2, 1); + this.WireB.setRotationPoint(0F, -1F, -5.5F); + this.WireB.setTextureSize(64, 64); + this.WireB.mirror = true; + setRotation(this.WireB, 0F, 0F, 0F); } @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Base.render(f5); - BTop.render(f5); - BBottom.render(f5); - BLeft.render(f5); - BRight.render(f5); - RTop.render(f5); - RBottom.render(f5); - RLeft.render(f5); - RRight.render(f5); - GPivot.render(f5); - GBase.render(f5); - F31.render(f5); - F21.render(f5); - F41.render(f5); - F51.render(f5); - F11.render(f5); - F22.render(f5); - F32.render(f5); - F42.render(f5); - F52.render(f5); - F12.render(f5); - F23.render(f5); - F33.render(f5); - F43.render(f5); - F53.render(f5); - F13.render(f5); - WireL.render(f5); - WireR.render(f5); - Gauge1.render(f5); - Gauge2.render(f5); - WireB.render(f5); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.Base.render(scaleFactor); + this.BTop.render(scaleFactor); + this.BBottom.render(scaleFactor); + this.BLeft.render(scaleFactor); + this.BRight.render(scaleFactor); + this.RTop.render(scaleFactor); + this.RBottom.render(scaleFactor); + this.RLeft.render(scaleFactor); + this.RRight.render(scaleFactor); + this.GPivot.render(scaleFactor); + this.GBase.render(scaleFactor); + this.F31.render(scaleFactor); + this.F21.render(scaleFactor); + this.F41.render(scaleFactor); + this.F51.render(scaleFactor); + this.F11.render(scaleFactor); + this.F22.render(scaleFactor); + this.F32.render(scaleFactor); + this.F42.render(scaleFactor); + this.F52.render(scaleFactor); + this.F12.render(scaleFactor); + this.F23.render(scaleFactor); + this.F33.render(scaleFactor); + this.F43.render(scaleFactor); + this.F53.render(scaleFactor); + this.F13.render(scaleFactor); + this.WireL.render(scaleFactor); + this.WireR.render(scaleFactor); + this.Gauge1.render(scaleFactor); + this.Gauge2.render(scaleFactor); + this.WireB.render(scaleFactor); } - private void setRotation(ModelRenderer model, float x, float y, float z) { + private static void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - } diff --git a/src/main/java/com/hbm/render/model/ModelMultitoolFist.java b/src/main/java/com/hbm/render/model/ModelMultitoolFist.java index 62410e8a3..6905ef126 100644 --- a/src/main/java/com/hbm/render/model/ModelMultitoolFist.java +++ b/src/main/java/com/hbm/render/model/ModelMultitoolFist.java @@ -11,7 +11,7 @@ import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelMultitoolFist extends ModelBase { - // fields + ModelRenderer Base; ModelRenderer BTop; ModelRenderer BBottom; @@ -45,243 +45,236 @@ public class ModelMultitoolFist extends ModelBase { ModelRenderer WireB; public ModelMultitoolFist() { - textureWidth = 64; - textureHeight = 64; + this.textureWidth = 64; + this.textureHeight = 64; - Base = new ModelRenderer(this, 0, 0); - Base.addBox(0F, 0F, 0F, 3, 8, 8); - Base.setRotationPoint(-3F, -4F, -4F); - Base.setTextureSize(64, 64); - Base.mirror = true; - setRotation(Base, 0F, 0F, 0F); - BTop = new ModelRenderer(this, 0, 16); - BTop.addBox(0F, 0F, 0F, 4, 2, 8); - BTop.setRotationPoint(-3F, -4F, -4F); - BTop.setTextureSize(64, 64); - BTop.mirror = true; - setRotation(BTop, 0F, 0F, -0.2617994F); - BBottom = new ModelRenderer(this, 0, 26); - BBottom.addBox(0F, -2F, 0F, 4, 2, 8); - BBottom.setRotationPoint(-3F, 4F, -4F); - BBottom.setTextureSize(64, 64); - BBottom.mirror = true; - setRotation(BBottom, 0F, 0F, 0.2617994F); - BLeft = new ModelRenderer(this, 0, 36); - BLeft.addBox(0F, 0F, 0F, 4, 8, 2); - BLeft.setRotationPoint(-3F, -4F, -4F); - BLeft.setTextureSize(64, 64); - BLeft.mirror = true; - setRotation(BLeft, 0F, 0.2617994F, 0F); - BRight = new ModelRenderer(this, 12, 36); - BRight.addBox(0F, 0F, -2F, 4, 8, 2); - BRight.setRotationPoint(-3F, -4F, 4F); - BRight.setTextureSize(64, 64); - BRight.mirror = true; - setRotation(BRight, 0F, -0.2617994F, 0F); - RTop = new ModelRenderer(this, 24, 0); - RTop.addBox(0F, 0F, 0F, 3, 2, 10); - RTop.setRotationPoint(4F, -6F, -6F); - RTop.setTextureSize(64, 64); - RTop.mirror = true; - setRotation(RTop, 0F, 0F, 0F); - RBottom = new ModelRenderer(this, 24, 12); - RBottom.addBox(0F, 0F, 0F, 3, 2, 10); - RBottom.setRotationPoint(4F, 4F, -4F); - RBottom.setTextureSize(64, 64); - RBottom.mirror = true; - setRotation(RBottom, 0F, 0F, 0F); - RLeft = new ModelRenderer(this, 0, 46); - RLeft.addBox(0F, 0F, 0F, 3, 10, 2); - RLeft.setRotationPoint(4F, -4F, -6F); - RLeft.setTextureSize(64, 64); - RLeft.mirror = true; - setRotation(RLeft, 0F, 0F, 0F); - RRight = new ModelRenderer(this, 10, 46); - RRight.addBox(0F, 0F, 0F, 3, 10, 2); - RRight.setRotationPoint(4F, -6F, 4F); - RRight.setTextureSize(64, 64); - RRight.mirror = true; - setRotation(RRight, 0F, 0F, 0F); - GPivot = new ModelRenderer(this, 24, 24); - GPivot.addBox(0F, 0F, 0F, 3, 4, 4); - GPivot.setRotationPoint(-6F, -2F, -2F); - GPivot.setTextureSize(64, 64); - GPivot.mirror = true; - setRotation(GPivot, 0F, 0F, 0F); - GBase = new ModelRenderer(this, 24, 32); - GBase.addBox(-2F, -3F, -4F, 4, 3, 8); - GBase.setRotationPoint(-6F, 0F, 1F); - GBase.setTextureSize(64, 64); - GBase.mirror = true; - setRotation(GBase, 0F, 0F, 0.6108652F); - F31 = new ModelRenderer(this, 20, 52); - F31.addBox(-3F, -1F, 0F, 3, 2, 2); - F31.setRotationPoint(-6F, -2.8F, -1F); - F31.setTextureSize(64, 64); - F31.mirror = true; - setRotation(F31, 0F, 0F, -0.5235988F); - F21 = new ModelRenderer(this, 30, 52); - F21.addBox(-3F, -1F, -2F, 3, 2, 2); - F21.setRotationPoint(-6F, -2.8F, -1.2F); - F21.setTextureSize(64, 64); - F21.mirror = true; - setRotation(F21, 0F, 0F, -0.5235988F); - F41 = new ModelRenderer(this, 40, 52); - F41.addBox(-3F, -1F, 0F, 3, 2, 2); - F41.setRotationPoint(-6F, -2.8F, 1.2F); - F41.setTextureSize(64, 64); - F41.mirror = true; - setRotation(F41, 0F, 0F, -0.5235988F); - F51 = new ModelRenderer(this, 50, 52); - F51.addBox(-3F, -1F, 0F, 3, 2, 2); - F51.setRotationPoint(-6F, -2.8F, 3.4F); - F51.setTextureSize(64, 64); - F51.mirror = true; - setRotation(F51, 0F, 0F, -0.5235988F); - F11 = new ModelRenderer(this, 48, 38); - F11.addBox(-1F, -1F, -3F, 2, 2, 3); - F11.setRotationPoint(-5F, -1F, -2.5F); - F11.setTextureSize(64, 64); - F11.mirror = true; - setRotation(F11, 1.22173F, 1.745329F, -1.047198F); - F22 = new ModelRenderer(this, 20, 56); - F22.addBox(-3F, -1F, -1F, 3, 2, 2); - F22.setRotationPoint(-8.5F, -2F, -2.2F); - F22.setTextureSize(64, 64); - F22.mirror = true; - setRotation(F22, 0F, 0F, -1.919862F); - F32 = new ModelRenderer(this, 30, 56); - F32.addBox(-3F, -1F, -1F, 3, 2, 2); - F32.setRotationPoint(-8.5F, -2F, 0F); - F32.setTextureSize(64, 64); - F32.mirror = true; - setRotation(F32, 0F, 0F, -1.919862F); - F42 = new ModelRenderer(this, 40, 56); - F42.addBox(-3F, -1F, -1F, 3, 2, 2); - F42.setRotationPoint(-8.5F, -2F, 2.2F); - F42.setTextureSize(64, 64); - F42.mirror = true; - setRotation(F42, 0F, 0F, -1.919862F); - F52 = new ModelRenderer(this, 50, 56); - F52.addBox(-3F, -1F, -1F, 3, 2, 2); - F52.setRotationPoint(-8.5F, -2F, 4.4F); - F52.setTextureSize(64, 64); - F52.mirror = true; - setRotation(F52, 0F, 0F, -1.919862F); - F12 = new ModelRenderer(this, 48, 34); - F12.addBox(-1F, -1F, -2F, 2, 2, 2); - F12.setRotationPoint(-6F, 0.5F, -4.5F); - F12.setTextureSize(64, 64); - F12.mirror = true; - setRotation(F12, 1.22173F, 2.935045F, -1.047198F); - F23 = new ModelRenderer(this, 20, 60); - F23.addBox(-3F, -1F, -1F, 3, 2, 2); - F23.setRotationPoint(-8F, 0.5F, -2.2F); - F23.setTextureSize(64, 64); - F23.mirror = true; - setRotation(F23, 0F, 0F, -2.879793F); - F33 = new ModelRenderer(this, 30, 60); - F33.addBox(-3F, -1F, -1F, 3, 2, 2); - F33.setRotationPoint(-8F, 0.5F, 0F); - F33.setTextureSize(64, 64); - F33.mirror = true; - setRotation(F33, 0F, 0F, -2.879793F); - F43 = new ModelRenderer(this, 40, 60); - F43.addBox(-3F, -1F, -1F, 3, 2, 2); - F43.setRotationPoint(-8F, 0.5F, 2.2F); - F43.setTextureSize(64, 64); - F43.mirror = true; - setRotation(F43, 0F, 0F, -2.879793F); - F53 = new ModelRenderer(this, 50, 60); - F53.addBox(-3F, -1F, -1F, 3, 2, 2); - F53.setRotationPoint(-8F, 0.5F, 4.4F); - F53.setTextureSize(64, 64); - F53.mirror = true; - setRotation(F53, 0F, 0F, -2.879793F); - F13 = new ModelRenderer(this, 48, 30); - F13.addBox(-1F, -1F, -2F, 2, 2, 2); - F13.setRotationPoint(-7F, 1F, -4F); - F13.setTextureSize(64, 64); - F13.mirror = true; - setRotation(F13, 0.5235988F, 2.617994F, -1.047198F); - WireL = new ModelRenderer(this, 38, 30); - WireL.addBox(0F, 0F, 0F, 4, 1, 1); - WireL.setRotationPoint(0F, -5.5F, 0F); - WireL.setTextureSize(64, 64); - WireL.mirror = true; - setRotation(WireL, 0F, 0F, 0F); - WireR = new ModelRenderer(this, 38, 28); - WireR.addBox(0F, 0F, 0F, 4, 1, 1); - WireR.setRotationPoint(0F, -5.5F, 2F); - WireR.setTextureSize(64, 64); - WireR.mirror = true; - setRotation(WireR, 0F, 0F, 0F); - Gauge1 = new ModelRenderer(this, 20, 47); - Gauge1.addBox(-1.5F, -1F, -2F, 3, 1, 4); - Gauge1.setRotationPoint(-1F, -4F, 4F); - Gauge1.setTextureSize(64, 64); - Gauge1.mirror = true; - setRotation(Gauge1, -0.7853982F, 0F, 0F); - Gauge2 = new ModelRenderer(this, 34, 48); - Gauge2.addBox(-2F, -1F, -1.5F, 4, 1, 3); - Gauge2.setRotationPoint(-1F, -4F, 4F); - Gauge2.setTextureSize(64, 64); - Gauge2.mirror = true; - setRotation(Gauge2, -0.7853982F, 0F, 0F); - WireB = new ModelRenderer(this, 48, 49); - WireB.addBox(0F, 0F, 0F, 4, 2, 1); - WireB.setRotationPoint(0F, -1F, -5.5F); - WireB.setTextureSize(64, 64); - WireB.mirror = true; - setRotation(WireB, 0F, 0F, 0F); + this.Base = new ModelRenderer(this, 0, 0); + this.Base.addBox(0F, 0F, 0F, 3, 8, 8); + this.Base.setRotationPoint(-3F, -4F, -4F); + this.Base.setTextureSize(64, 64); + this.Base.mirror = true; + setRotation(this.Base, 0F, 0F, 0F); + this.BTop = new ModelRenderer(this, 0, 16); + this.BTop.addBox(0F, 0F, 0F, 4, 2, 8); + this.BTop.setRotationPoint(-3F, -4F, -4F); + this.BTop.setTextureSize(64, 64); + this.BTop.mirror = true; + setRotation(this.BTop, 0F, 0F, -0.2617994F); + this.BBottom = new ModelRenderer(this, 0, 26); + this.BBottom.addBox(0F, -2F, 0F, 4, 2, 8); + this.BBottom.setRotationPoint(-3F, 4F, -4F); + this.BBottom.setTextureSize(64, 64); + this.BBottom.mirror = true; + setRotation(this.BBottom, 0F, 0F, 0.2617994F); + this.BLeft = new ModelRenderer(this, 0, 36); + this.BLeft.addBox(0F, 0F, 0F, 4, 8, 2); + this.BLeft.setRotationPoint(-3F, -4F, -4F); + this.BLeft.setTextureSize(64, 64); + this.BLeft.mirror = true; + setRotation(this.BLeft, 0F, 0.2617994F, 0F); + this.BRight = new ModelRenderer(this, 12, 36); + this.BRight.addBox(0F, 0F, -2F, 4, 8, 2); + this.BRight.setRotationPoint(-3F, -4F, 4F); + this.BRight.setTextureSize(64, 64); + this.BRight.mirror = true; + setRotation(this.BRight, 0F, -0.2617994F, 0F); + this.RTop = new ModelRenderer(this, 24, 0); + this.RTop.addBox(0F, 0F, 0F, 3, 2, 10); + this.RTop.setRotationPoint(4F, -6F, -6F); + this.RTop.setTextureSize(64, 64); + this.RTop.mirror = true; + setRotation(this.RTop, 0F, 0F, 0F); + this.RBottom = new ModelRenderer(this, 24, 12); + this.RBottom.addBox(0F, 0F, 0F, 3, 2, 10); + this.RBottom.setRotationPoint(4F, 4F, -4F); + this.RBottom.setTextureSize(64, 64); + this.RBottom.mirror = true; + setRotation(this.RBottom, 0F, 0F, 0F); + this.RLeft = new ModelRenderer(this, 0, 46); + this.RLeft.addBox(0F, 0F, 0F, 3, 10, 2); + this.RLeft.setRotationPoint(4F, -4F, -6F); + this.RLeft.setTextureSize(64, 64); + this.RLeft.mirror = true; + setRotation(this.RLeft, 0F, 0F, 0F); + this.RRight = new ModelRenderer(this, 10, 46); + this.RRight.addBox(0F, 0F, 0F, 3, 10, 2); + this.RRight.setRotationPoint(4F, -6F, 4F); + this.RRight.setTextureSize(64, 64); + this.RRight.mirror = true; + setRotation(this.RRight, 0F, 0F, 0F); + this.GPivot = new ModelRenderer(this, 24, 24); + this.GPivot.addBox(0F, 0F, 0F, 3, 4, 4); + this.GPivot.setRotationPoint(-6F, -2F, -2F); + this.GPivot.setTextureSize(64, 64); + this.GPivot.mirror = true; + setRotation(this.GPivot, 0F, 0F, 0F); + this.GBase = new ModelRenderer(this, 24, 32); + this.GBase.addBox(-2F, -3F, -4F, 4, 3, 8); + this.GBase.setRotationPoint(-6F, 0F, 1F); + this.GBase.setTextureSize(64, 64); + this.GBase.mirror = true; + setRotation(this.GBase, 0F, 0F, 0.6108652F); + this.F31 = new ModelRenderer(this, 20, 52); + this.F31.addBox(-3F, -1F, 0F, 3, 2, 2); + this.F31.setRotationPoint(-6F, -2.8F, -1F); + this.F31.setTextureSize(64, 64); + this.F31.mirror = true; + setRotation(this.F31, 0F, 0F, -0.5235988F); + this.F21 = new ModelRenderer(this, 30, 52); + this.F21.addBox(-3F, -1F, -2F, 3, 2, 2); + this.F21.setRotationPoint(-6F, -2.8F, -1.2F); + this.F21.setTextureSize(64, 64); + this.F21.mirror = true; + setRotation(this.F21, 0F, 0F, -0.5235988F); + this.F41 = new ModelRenderer(this, 40, 52); + this.F41.addBox(-3F, -1F, 0F, 3, 2, 2); + this.F41.setRotationPoint(-6F, -2.8F, 1.2F); + this.F41.setTextureSize(64, 64); + this.F41.mirror = true; + setRotation(this.F41, 0F, 0F, -0.5235988F); + this.F51 = new ModelRenderer(this, 50, 52); + this.F51.addBox(-3F, -1F, 0F, 3, 2, 2); + this.F51.setRotationPoint(-6F, -2.8F, 3.4F); + this.F51.setTextureSize(64, 64); + this.F51.mirror = true; + setRotation(this.F51, 0F, 0F, -0.5235988F); + this.F11 = new ModelRenderer(this, 48, 38); + this.F11.addBox(-1F, -1F, -3F, 2, 2, 3); + this.F11.setRotationPoint(-5F, -1F, -2.5F); + this.F11.setTextureSize(64, 64); + this.F11.mirror = true; + setRotation(this.F11, 1.22173F, 1.745329F, -1.047198F); + this.F22 = new ModelRenderer(this, 20, 56); + this.F22.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F22.setRotationPoint(-8.5F, -2F, -2.2F); + this.F22.setTextureSize(64, 64); + this.F22.mirror = true; + setRotation(this.F22, 0F, 0F, -1.919862F); + this.F32 = new ModelRenderer(this, 30, 56); + this.F32.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F32.setRotationPoint(-8.5F, -2F, 0F); + this.F32.setTextureSize(64, 64); + this.F32.mirror = true; + setRotation(this.F32, 0F, 0F, -1.919862F); + this.F42 = new ModelRenderer(this, 40, 56); + this.F42.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F42.setRotationPoint(-8.5F, -2F, 2.2F); + this.F42.setTextureSize(64, 64); + this.F42.mirror = true; + setRotation(this.F42, 0F, 0F, -1.919862F); + this.F52 = new ModelRenderer(this, 50, 56); + this.F52.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F52.setRotationPoint(-8.5F, -2F, 4.4F); + this.F52.setTextureSize(64, 64); + this.F52.mirror = true; + setRotation(this.F52, 0F, 0F, -1.919862F); + this.F12 = new ModelRenderer(this, 48, 34); + this.F12.addBox(-1F, -1F, -2F, 2, 2, 2); + this.F12.setRotationPoint(-6F, 0.5F, -4.5F); + this.F12.setTextureSize(64, 64); + this.F12.mirror = true; + setRotation(this.F12, 1.22173F, 2.935045F, -1.047198F); + this.F23 = new ModelRenderer(this, 20, 60); + this.F23.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F23.setRotationPoint(-8F, 0.5F, -2.2F); + this.F23.setTextureSize(64, 64); + this.F23.mirror = true; + setRotation(this.F23, 0F, 0F, -2.879793F); + this.F33 = new ModelRenderer(this, 30, 60); + this.F33.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F33.setRotationPoint(-8F, 0.5F, 0F); + this.F33.setTextureSize(64, 64); + this.F33.mirror = true; + setRotation(this.F33, 0F, 0F, -2.879793F); + this.F43 = new ModelRenderer(this, 40, 60); + this.F43.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F43.setRotationPoint(-8F, 0.5F, 2.2F); + this.F43.setTextureSize(64, 64); + this.F43.mirror = true; + setRotation(this.F43, 0F, 0F, -2.879793F); + this.F53 = new ModelRenderer(this, 50, 60); + this.F53.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F53.setRotationPoint(-8F, 0.5F, 4.4F); + this.F53.setTextureSize(64, 64); + this.F53.mirror = true; + setRotation(this.F53, 0F, 0F, -2.879793F); + this.F13 = new ModelRenderer(this, 48, 30); + this.F13.addBox(-1F, -1F, -2F, 2, 2, 2); + this.F13.setRotationPoint(-7F, 1F, -4F); + this.F13.setTextureSize(64, 64); + this.F13.mirror = true; + setRotation(this.F13, 0.5235988F, 2.617994F, -1.047198F); + this.WireL = new ModelRenderer(this, 38, 30); + this.WireL.addBox(0F, 0F, 0F, 4, 1, 1); + this.WireL.setRotationPoint(0F, -5.5F, 0F); + this.WireL.setTextureSize(64, 64); + this.WireL.mirror = true; + setRotation(this.WireL, 0F, 0F, 0F); + this.WireR = new ModelRenderer(this, 38, 28); + this.WireR.addBox(0F, 0F, 0F, 4, 1, 1); + this.WireR.setRotationPoint(0F, -5.5F, 2F); + this.WireR.setTextureSize(64, 64); + this.WireR.mirror = true; + setRotation(this.WireR, 0F, 0F, 0F); + this.Gauge1 = new ModelRenderer(this, 20, 47); + this.Gauge1.addBox(-1.5F, -1F, -2F, 3, 1, 4); + this.Gauge1.setRotationPoint(-1F, -4F, 4F); + this.Gauge1.setTextureSize(64, 64); + this.Gauge1.mirror = true; + setRotation(this.Gauge1, -0.7853982F, 0F, 0F); + this.Gauge2 = new ModelRenderer(this, 34, 48); + this.Gauge2.addBox(-2F, -1F, -1.5F, 4, 1, 3); + this.Gauge2.setRotationPoint(-1F, -4F, 4F); + this.Gauge2.setTextureSize(64, 64); + this.Gauge2.mirror = true; + setRotation(this.Gauge2, -0.7853982F, 0F, 0F); + this.WireB = new ModelRenderer(this, 48, 49); + this.WireB.addBox(0F, 0F, 0F, 4, 2, 1); + this.WireB.setRotationPoint(0F, -1F, -5.5F); + this.WireB.setTextureSize(64, 64); + this.WireB.mirror = true; + setRotation(this.WireB, 0F, 0F, 0F); } @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Base.render(f5); - BTop.render(f5); - BBottom.render(f5); - BLeft.render(f5); - BRight.render(f5); - RTop.render(f5); - RBottom.render(f5); - RLeft.render(f5); - RRight.render(f5); - GPivot.render(f5); - GBase.render(f5); - F31.render(f5); - F21.render(f5); - F41.render(f5); - F51.render(f5); - F11.render(f5); - F22.render(f5); - F32.render(f5); - F42.render(f5); - F52.render(f5); - F12.render(f5); - F23.render(f5); - F33.render(f5); - F43.render(f5); - F53.render(f5); - F13.render(f5); - WireL.render(f5); - WireR.render(f5); - Gauge1.render(f5); - Gauge2.render(f5); - WireB.render(f5); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.Base.render(scaleFactor); + this.BTop.render(scaleFactor); + this.BBottom.render(scaleFactor); + this.BLeft.render(scaleFactor); + this.BRight.render(scaleFactor); + this.RTop.render(scaleFactor); + this.RBottom.render(scaleFactor); + this.RLeft.render(scaleFactor); + this.RRight.render(scaleFactor); + this.GPivot.render(scaleFactor); + this.GBase.render(scaleFactor); + this.F31.render(scaleFactor); + this.F21.render(scaleFactor); + this.F41.render(scaleFactor); + this.F51.render(scaleFactor); + this.F11.render(scaleFactor); + this.F22.render(scaleFactor); + this.F32.render(scaleFactor); + this.F42.render(scaleFactor); + this.F52.render(scaleFactor); + this.F12.render(scaleFactor); + this.F23.render(scaleFactor); + this.F33.render(scaleFactor); + this.F43.render(scaleFactor); + this.F53.render(scaleFactor); + this.F13.render(scaleFactor); + this.WireL.render(scaleFactor); + this.WireR.render(scaleFactor); + this.Gauge1.render(scaleFactor); + this.Gauge2.render(scaleFactor); + this.WireB.render(scaleFactor); } - private void setRotation(ModelRenderer model, float x, float y, float z) { + private static void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - } diff --git a/src/main/java/com/hbm/render/model/ModelMultitoolOpen.java b/src/main/java/com/hbm/render/model/ModelMultitoolOpen.java index a5a61728c..66f50e8c5 100644 --- a/src/main/java/com/hbm/render/model/ModelMultitoolOpen.java +++ b/src/main/java/com/hbm/render/model/ModelMultitoolOpen.java @@ -11,7 +11,7 @@ import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelMultitoolOpen extends ModelBase { - // fields + ModelRenderer Base; ModelRenderer BTop; ModelRenderer BBottom; @@ -45,243 +45,237 @@ public class ModelMultitoolOpen extends ModelBase { ModelRenderer WireB; public ModelMultitoolOpen() { - textureWidth = 64; - textureHeight = 64; + this.textureWidth = 64; + this.textureHeight = 64; - Base = new ModelRenderer(this, 0, 0); - Base.addBox(0F, 0F, 0F, 3, 8, 8); - Base.setRotationPoint(-3F, -4F, -4F); - Base.setTextureSize(64, 64); - Base.mirror = true; - setRotation(Base, 0F, 0F, 0F); - BTop = new ModelRenderer(this, 0, 16); - BTop.addBox(0F, 0F, 0F, 4, 2, 8); - BTop.setRotationPoint(-3F, -4F, -4F); - BTop.setTextureSize(64, 64); - BTop.mirror = true; - setRotation(BTop, 0F, 0F, -0.2617994F); - BBottom = new ModelRenderer(this, 0, 26); - BBottom.addBox(0F, -2F, 0F, 4, 2, 8); - BBottom.setRotationPoint(-3F, 4F, -4F); - BBottom.setTextureSize(64, 64); - BBottom.mirror = true; - setRotation(BBottom, 0F, 0F, 0.2617994F); - BLeft = new ModelRenderer(this, 0, 36); - BLeft.addBox(0F, 0F, 0F, 4, 8, 2); - BLeft.setRotationPoint(-3F, -4F, -4F); - BLeft.setTextureSize(64, 64); - BLeft.mirror = true; - setRotation(BLeft, 0F, 0.2617994F, 0F); - BRight = new ModelRenderer(this, 12, 36); - BRight.addBox(0F, 0F, -2F, 4, 8, 2); - BRight.setRotationPoint(-3F, -4F, 4F); - BRight.setTextureSize(64, 64); - BRight.mirror = true; - setRotation(BRight, 0F, -0.2617994F, 0F); - RTop = new ModelRenderer(this, 24, 0); - RTop.addBox(0F, 0F, 0F, 3, 2, 10); - RTop.setRotationPoint(4F, -6F, -6F); - RTop.setTextureSize(64, 64); - RTop.mirror = true; - setRotation(RTop, 0F, 0F, 0F); - RBottom = new ModelRenderer(this, 24, 12); - RBottom.addBox(0F, 0F, 0F, 3, 2, 10); - RBottom.setRotationPoint(4F, 4F, -4F); - RBottom.setTextureSize(64, 64); - RBottom.mirror = true; - setRotation(RBottom, 0F, 0F, 0F); - RLeft = new ModelRenderer(this, 0, 46); - RLeft.addBox(0F, 0F, 0F, 3, 10, 2); - RLeft.setRotationPoint(4F, -4F, -6F); - RLeft.setTextureSize(64, 64); - RLeft.mirror = true; - setRotation(RLeft, 0F, 0F, 0F); - RRight = new ModelRenderer(this, 10, 46); - RRight.addBox(0F, 0F, 0F, 3, 10, 2); - RRight.setRotationPoint(4F, -6F, 4F); - RRight.setTextureSize(64, 64); - RRight.mirror = true; - setRotation(RRight, 0F, 0F, 0F); - GPivot = new ModelRenderer(this, 24, 24); - GPivot.addBox(0F, 0F, 0F, 3, 4, 4); - GPivot.setRotationPoint(-6F, -2F, -2F); - GPivot.setTextureSize(64, 64); - GPivot.mirror = true; - setRotation(GPivot, 0F, 0F, 0F); - GBase = new ModelRenderer(this, 24, 32); - GBase.addBox(-2F, -3F, -4F, 4, 3, 8); - GBase.setRotationPoint(-6F, 0F, 1F); - GBase.setTextureSize(64, 64); - GBase.mirror = true; - setRotation(GBase, 0F, 0F, 1.047198F); - F31 = new ModelRenderer(this, 20, 52); - F31.addBox(-3F, -1F, 0F, 3, 2, 2); - F31.setRotationPoint(-5.5F, -2F, -1F); - F31.setTextureSize(64, 64); - F31.mirror = true; - setRotation(F31, 0F, 0F, 1.48353F); - F21 = new ModelRenderer(this, 30, 52); - F21.addBox(-3F, -1F, -2F, 3, 2, 2); - F21.setRotationPoint(-5.5F, -2F, -1.2F); - F21.setTextureSize(64, 64); - F21.mirror = true; - setRotation(F21, 0F, 0F, 1.48353F); - F41 = new ModelRenderer(this, 40, 52); - F41.addBox(-3F, -1F, 0F, 3, 2, 2); - F41.setRotationPoint(-5.5F, -2F, 1.2F); - F41.setTextureSize(64, 64); - F41.mirror = true; - setRotation(F41, 0F, 0F, 1.48353F); - F51 = new ModelRenderer(this, 50, 52); - F51.addBox(-3F, -1F, 0F, 3, 2, 2); - F51.setRotationPoint(-5.5F, -2F, 3.4F); - F51.setTextureSize(64, 64); - F51.mirror = true; - setRotation(F51, 0F, 0F, 1.48353F); - F11 = new ModelRenderer(this, 48, 38); - F11.addBox(0F, -1F, -3F, 2, 2, 3); - F11.setRotationPoint(-5.5F, -2F, -3F); - F11.setTextureSize(64, 64); - F11.mirror = true; - setRotation(F11, 0F, 0F, 1.047198F); - F22 = new ModelRenderer(this, 20, 56); - F22.addBox(-3F, -1F, -1F, 3, 2, 2); - F22.setRotationPoint(-5.6F, -4.5F, -2.2F); - F22.setTextureSize(64, 64); - F22.mirror = true; - setRotation(F22, 0F, 0F, 1.134464F); - F32 = new ModelRenderer(this, 30, 56); - F32.addBox(-3F, -1F, -1F, 3, 2, 2); - F32.setRotationPoint(-5.6F, -4.5F, 0F); - F32.setTextureSize(64, 64); - F32.mirror = true; - setRotation(F32, 0F, 0F, 1.134464F); - F42 = new ModelRenderer(this, 40, 56); - F42.addBox(-3F, -1F, -1F, 3, 2, 2); - F42.setRotationPoint(-5.6F, -4.5F, 2.2F); - F42.setTextureSize(64, 64); - F42.mirror = true; - setRotation(F42, 0F, 0F, 1.134464F); - F52 = new ModelRenderer(this, 50, 56); - F52.addBox(-3F, -1F, -1F, 3, 2, 2); - F52.setRotationPoint(-5.6F, -4.5F, 4.4F); - F52.setTextureSize(64, 64); - F52.mirror = true; - setRotation(F52, 0F, 0F, 1.134464F); - F12 = new ModelRenderer(this, 48, 34); - F12.addBox(-1F, -1F, -2F, 2, 2, 2); - F12.setRotationPoint(-5F, -1F, -5.8F); - F12.setTextureSize(64, 64); - F12.mirror = true; - setRotation(F12, 0F, 0.3490659F, 1.047198F); - F23 = new ModelRenderer(this, 20, 60); - F23.addBox(-3F, -1F, -1F, 3, 2, 2); - F23.setRotationPoint(-6.6F, -6.8F, -2.2F); - F23.setTextureSize(64, 64); - F23.mirror = true; - setRotation(F23, 0F, 0F, 0.5235988F); - F33 = new ModelRenderer(this, 30, 60); - F33.addBox(-3F, -1F, -1F, 3, 2, 2); - F33.setRotationPoint(-6.6F, -6.8F, 0F); - F33.setTextureSize(64, 64); - F33.mirror = true; - setRotation(F33, 0F, 0F, 0.5235988F); - F43 = new ModelRenderer(this, 40, 60); - F43.addBox(-3F, -1F, -1F, 3, 2, 2); - F43.setRotationPoint(-6.6F, -6.8F, 2.2F); - F43.setTextureSize(64, 64); - F43.mirror = true; - setRotation(F43, 0F, 0F, 0.5235988F); - F53 = new ModelRenderer(this, 50, 60); - F53.addBox(-3F, -1F, -1F, 3, 2, 2); - F53.setRotationPoint(-6.6F, -6.8F, 4.4F); - F53.setTextureSize(64, 64); - F53.mirror = true; - setRotation(F53, 0F, 0F, 0.5235988F); - F13 = new ModelRenderer(this, 48, 30); - F13.addBox(-1F, -1F, -2F, 2, 2, 2); - F13.setRotationPoint(-5.5F, -1F, -7.2F); - F13.setTextureSize(64, 64); - F13.mirror = true; - setRotation(F13, 0F, 1.047198F, 1.047198F); - WireL = new ModelRenderer(this, 38, 30); - WireL.addBox(0F, 0F, 0F, 4, 1, 1); - WireL.setRotationPoint(0F, -5.5F, 0F); - WireL.setTextureSize(64, 64); - WireL.mirror = true; - setRotation(WireL, 0F, 0F, 0F); - WireR = new ModelRenderer(this, 38, 28); - WireR.addBox(0F, 0F, 0F, 4, 1, 1); - WireR.setRotationPoint(0F, -5.5F, 2F); - WireR.setTextureSize(64, 64); - WireR.mirror = true; - setRotation(WireR, 0F, 0F, 0F); - Gauge1 = new ModelRenderer(this, 20, 47); - Gauge1.addBox(-1.5F, -1F, -2F, 3, 1, 4); - Gauge1.setRotationPoint(-1F, -4F, 4F); - Gauge1.setTextureSize(64, 64); - Gauge1.mirror = true; - setRotation(Gauge1, -0.7853982F, 0F, 0F); - Gauge2 = new ModelRenderer(this, 34, 48); - Gauge2.addBox(-2F, -1F, -1.5F, 4, 1, 3); - Gauge2.setRotationPoint(-1F, -4F, 4F); - Gauge2.setTextureSize(64, 64); - Gauge2.mirror = true; - setRotation(Gauge2, -0.7853982F, 0F, 0F); - WireB = new ModelRenderer(this, 48, 49); - WireB.addBox(0F, 0F, 0F, 4, 2, 1); - WireB.setRotationPoint(0F, -1F, -5.5F); - WireB.setTextureSize(64, 64); - WireB.mirror = true; - setRotation(WireB, 0F, 0F, 0F); + this.Base = new ModelRenderer(this, 0, 0); + this.Base.addBox(0F, 0F, 0F, 3, 8, 8); + this.Base.setRotationPoint(-3F, -4F, -4F); + this.Base.setTextureSize(64, 64); + this.Base.mirror = true; + setRotation(this.Base, 0F, 0F, 0F); + this.BTop = new ModelRenderer(this, 0, 16); + this.BTop.addBox(0F, 0F, 0F, 4, 2, 8); + this.BTop.setRotationPoint(-3F, -4F, -4F); + this.BTop.setTextureSize(64, 64); + this.BTop.mirror = true; + setRotation(this.BTop, 0F, 0F, -0.2617994F); + this.BBottom = new ModelRenderer(this, 0, 26); + this.BBottom.addBox(0F, -2F, 0F, 4, 2, 8); + this.BBottom.setRotationPoint(-3F, 4F, -4F); + this.BBottom.setTextureSize(64, 64); + this.BBottom.mirror = true; + setRotation(this.BBottom, 0F, 0F, 0.2617994F); + this.BLeft = new ModelRenderer(this, 0, 36); + this.BLeft.addBox(0F, 0F, 0F, 4, 8, 2); + this.BLeft.setRotationPoint(-3F, -4F, -4F); + this.BLeft.setTextureSize(64, 64); + this.BLeft.mirror = true; + setRotation(this.BLeft, 0F, 0.2617994F, 0F); + this.BRight = new ModelRenderer(this, 12, 36); + this.BRight.addBox(0F, 0F, -2F, 4, 8, 2); + this.BRight.setRotationPoint(-3F, -4F, 4F); + this.BRight.setTextureSize(64, 64); + this.BRight.mirror = true; + setRotation(this.BRight, 0F, -0.2617994F, 0F); + this.RTop = new ModelRenderer(this, 24, 0); + this.RTop.addBox(0F, 0F, 0F, 3, 2, 10); + this.RTop.setRotationPoint(4F, -6F, -6F); + this.RTop.setTextureSize(64, 64); + this.RTop.mirror = true; + setRotation(this.RTop, 0F, 0F, 0F); + this.RBottom = new ModelRenderer(this, 24, 12); + this.RBottom.addBox(0F, 0F, 0F, 3, 2, 10); + this.RBottom.setRotationPoint(4F, 4F, -4F); + this.RBottom.setTextureSize(64, 64); + this.RBottom.mirror = true; + setRotation(this.RBottom, 0F, 0F, 0F); + this.RLeft = new ModelRenderer(this, 0, 46); + this.RLeft.addBox(0F, 0F, 0F, 3, 10, 2); + this.RLeft.setRotationPoint(4F, -4F, -6F); + this.RLeft.setTextureSize(64, 64); + this.RLeft.mirror = true; + setRotation(this.RLeft, 0F, 0F, 0F); + this.RRight = new ModelRenderer(this, 10, 46); + this.RRight.addBox(0F, 0F, 0F, 3, 10, 2); + this.RRight.setRotationPoint(4F, -6F, 4F); + this.RRight.setTextureSize(64, 64); + this.RRight.mirror = true; + setRotation(this.RRight, 0F, 0F, 0F); + this.GPivot = new ModelRenderer(this, 24, 24); + this.GPivot.addBox(0F, 0F, 0F, 3, 4, 4); + this.GPivot.setRotationPoint(-6F, -2F, -2F); + this.GPivot.setTextureSize(64, 64); + this.GPivot.mirror = true; + setRotation(this.GPivot, 0F, 0F, 0F); + this.GBase = new ModelRenderer(this, 24, 32); + this.GBase.addBox(-2F, -3F, -4F, 4, 3, 8); + this.GBase.setRotationPoint(-6F, 0F, 1F); + this.GBase.setTextureSize(64, 64); + this.GBase.mirror = true; + setRotation(this.GBase, 0F, 0F, 1.047198F); + this.F31 = new ModelRenderer(this, 20, 52); + this.F31.addBox(-3F, -1F, 0F, 3, 2, 2); + this.F31.setRotationPoint(-5.5F, -2F, -1F); + this.F31.setTextureSize(64, 64); + this.F31.mirror = true; + setRotation(this.F31, 0F, 0F, 1.48353F); + this.F21 = new ModelRenderer(this, 30, 52); + this.F21.addBox(-3F, -1F, -2F, 3, 2, 2); + this.F21.setRotationPoint(-5.5F, -2F, -1.2F); + this.F21.setTextureSize(64, 64); + this.F21.mirror = true; + setRotation(this.F21, 0F, 0F, 1.48353F); + this.F41 = new ModelRenderer(this, 40, 52); + this.F41.addBox(-3F, -1F, 0F, 3, 2, 2); + this.F41.setRotationPoint(-5.5F, -2F, 1.2F); + this.F41.setTextureSize(64, 64); + this.F41.mirror = true; + setRotation(this.F41, 0F, 0F, 1.48353F); + this.F51 = new ModelRenderer(this, 50, 52); + this.F51.addBox(-3F, -1F, 0F, 3, 2, 2); + this.F51.setRotationPoint(-5.5F, -2F, 3.4F); + this.F51.setTextureSize(64, 64); + this.F51.mirror = true; + setRotation(this.F51, 0F, 0F, 1.48353F); + this.F11 = new ModelRenderer(this, 48, 38); + this.F11.addBox(0F, -1F, -3F, 2, 2, 3); + this.F11.setRotationPoint(-5.5F, -2F, -3F); + this.F11.setTextureSize(64, 64); + this.F11.mirror = true; + setRotation(this.F11, 0F, 0F, 1.047198F); + this.F22 = new ModelRenderer(this, 20, 56); + this.F22.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F22.setRotationPoint(-5.6F, -4.5F, -2.2F); + this.F22.setTextureSize(64, 64); + this.F22.mirror = true; + setRotation(this.F22, 0F, 0F, 1.134464F); + this.F32 = new ModelRenderer(this, 30, 56); + this.F32.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F32.setRotationPoint(-5.6F, -4.5F, 0F); + this.F32.setTextureSize(64, 64); + this.F32.mirror = true; + setRotation(this.F32, 0F, 0F, 1.134464F); + this.F42 = new ModelRenderer(this, 40, 56); + this.F42.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F42.setRotationPoint(-5.6F, -4.5F, 2.2F); + this.F42.setTextureSize(64, 64); + this.F42.mirror = true; + setRotation(this.F42, 0F, 0F, 1.134464F); + this.F52 = new ModelRenderer(this, 50, 56); + this.F52.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F52.setRotationPoint(-5.6F, -4.5F, 4.4F); + this.F52.setTextureSize(64, 64); + this.F52.mirror = true; + setRotation(this.F52, 0F, 0F, 1.134464F); + this.F12 = new ModelRenderer(this, 48, 34); + this.F12.addBox(-1F, -1F, -2F, 2, 2, 2); + this.F12.setRotationPoint(-5F, -1F, -5.8F); + this.F12.setTextureSize(64, 64); + this.F12.mirror = true; + setRotation(this.F12, 0F, 0.3490659F, 1.047198F); + this.F23 = new ModelRenderer(this, 20, 60); + this.F23.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F23.setRotationPoint(-6.6F, -6.8F, -2.2F); + this.F23.setTextureSize(64, 64); + this.F23.mirror = true; + setRotation(this.F23, 0F, 0F, 0.5235988F); + this.F33 = new ModelRenderer(this, 30, 60); + this.F33.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F33.setRotationPoint(-6.6F, -6.8F, 0F); + this.F33.setTextureSize(64, 64); + this.F33.mirror = true; + setRotation(this.F33, 0F, 0F, 0.5235988F); + this.F43 = new ModelRenderer(this, 40, 60); + this.F43.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F43.setRotationPoint(-6.6F, -6.8F, 2.2F); + this.F43.setTextureSize(64, 64); + this.F43.mirror = true; + setRotation(this.F43, 0F, 0F, 0.5235988F); + this.F53 = new ModelRenderer(this, 50, 60); + this.F53.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F53.setRotationPoint(-6.6F, -6.8F, 4.4F); + this.F53.setTextureSize(64, 64); + this.F53.mirror = true; + setRotation(this.F53, 0F, 0F, 0.5235988F); + this.F13 = new ModelRenderer(this, 48, 30); + this.F13.addBox(-1F, -1F, -2F, 2, 2, 2); + this.F13.setRotationPoint(-5.5F, -1F, -7.2F); + this.F13.setTextureSize(64, 64); + this.F13.mirror = true; + setRotation(this.F13, 0F, 1.047198F, 1.047198F); + this.WireL = new ModelRenderer(this, 38, 30); + this.WireL.addBox(0F, 0F, 0F, 4, 1, 1); + this.WireL.setRotationPoint(0F, -5.5F, 0F); + this.WireL.setTextureSize(64, 64); + this.WireL.mirror = true; + setRotation(this.WireL, 0F, 0F, 0F); + this.WireR = new ModelRenderer(this, 38, 28); + this.WireR.addBox(0F, 0F, 0F, 4, 1, 1); + this.WireR.setRotationPoint(0F, -5.5F, 2F); + this.WireR.setTextureSize(64, 64); + this.WireR.mirror = true; + setRotation(this.WireR, 0F, 0F, 0F); + this.Gauge1 = new ModelRenderer(this, 20, 47); + this.Gauge1.addBox(-1.5F, -1F, -2F, 3, 1, 4); + this.Gauge1.setRotationPoint(-1F, -4F, 4F); + this.Gauge1.setTextureSize(64, 64); + this.Gauge1.mirror = true; + setRotation(this.Gauge1, -0.7853982F, 0F, 0F); + this.Gauge2 = new ModelRenderer(this, 34, 48); + this.Gauge2.addBox(-2F, -1F, -1.5F, 4, 1, 3); + this.Gauge2.setRotationPoint(-1F, -4F, 4F); + this.Gauge2.setTextureSize(64, 64); + this.Gauge2.mirror = true; + setRotation(this.Gauge2, -0.7853982F, 0F, 0F); + this.WireB = new ModelRenderer(this, 48, 49); + this.WireB.addBox(0F, 0F, 0F, 4, 2, 1); + this.WireB.setRotationPoint(0F, -1F, -5.5F); + this.WireB.setTextureSize(64, 64); + this.WireB.mirror = true; + setRotation(this.WireB, 0F, 0F, 0F); } @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Base.render(f5); - BTop.render(f5); - BBottom.render(f5); - BLeft.render(f5); - BRight.render(f5); - RTop.render(f5); - RBottom.render(f5); - RLeft.render(f5); - RRight.render(f5); - GPivot.render(f5); - GBase.render(f5); - F31.render(f5); - F21.render(f5); - F41.render(f5); - F51.render(f5); - F11.render(f5); - F22.render(f5); - F32.render(f5); - F42.render(f5); - F52.render(f5); - F12.render(f5); - F23.render(f5); - F33.render(f5); - F43.render(f5); - F53.render(f5); - F13.render(f5); - WireL.render(f5); - WireR.render(f5); - Gauge1.render(f5); - Gauge2.render(f5); - WireB.render(f5); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.Base.render(scaleFactor); + this.BTop.render(scaleFactor); + this.BBottom.render(scaleFactor); + this.BLeft.render(scaleFactor); + this.BRight.render(scaleFactor); + this.RTop.render(scaleFactor); + this.RBottom.render(scaleFactor); + this.RLeft.render(scaleFactor); + this.RRight.render(scaleFactor); + this.GPivot.render(scaleFactor); + this.GBase.render(scaleFactor); + this.F31.render(scaleFactor); + this.F21.render(scaleFactor); + this.F41.render(scaleFactor); + this.F51.render(scaleFactor); + this.F11.render(scaleFactor); + this.F22.render(scaleFactor); + this.F32.render(scaleFactor); + this.F42.render(scaleFactor); + this.F52.render(scaleFactor); + this.F12.render(scaleFactor); + this.F23.render(scaleFactor); + this.F33.render(scaleFactor); + this.F43.render(scaleFactor); + this.F53.render(scaleFactor); + this.F13.render(scaleFactor); + this.WireL.render(scaleFactor); + this.WireR.render(scaleFactor); + this.Gauge1.render(scaleFactor); + this.Gauge2.render(scaleFactor); + this.WireB.render(scaleFactor); } - private void setRotation(ModelRenderer model, float x, float y, float z) { + private static void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - } diff --git a/src/main/java/com/hbm/render/model/ModelMultitoolPointer.java b/src/main/java/com/hbm/render/model/ModelMultitoolPointer.java index 309cb9187..6f6bc313a 100644 --- a/src/main/java/com/hbm/render/model/ModelMultitoolPointer.java +++ b/src/main/java/com/hbm/render/model/ModelMultitoolPointer.java @@ -11,7 +11,7 @@ import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelMultitoolPointer extends ModelBase { - // fields + ModelRenderer Base; ModelRenderer BTop; ModelRenderer BBottom; @@ -45,243 +45,237 @@ public class ModelMultitoolPointer extends ModelBase { ModelRenderer WireB; public ModelMultitoolPointer() { - textureWidth = 64; - textureHeight = 64; + this.textureWidth = 64; + this.textureHeight = 64; - Base = new ModelRenderer(this, 0, 0); - Base.addBox(0F, 0F, 0F, 3, 8, 8); - Base.setRotationPoint(-3F, -4F, -4F); - Base.setTextureSize(64, 64); - Base.mirror = true; - setRotation(Base, 0F, 0F, 0F); - BTop = new ModelRenderer(this, 0, 16); - BTop.addBox(0F, 0F, 0F, 4, 2, 8); - BTop.setRotationPoint(-3F, -4F, -4F); - BTop.setTextureSize(64, 64); - BTop.mirror = true; - setRotation(BTop, 0F, 0F, -0.2617994F); - BBottom = new ModelRenderer(this, 0, 26); - BBottom.addBox(0F, -2F, 0F, 4, 2, 8); - BBottom.setRotationPoint(-3F, 4F, -4F); - BBottom.setTextureSize(64, 64); - BBottom.mirror = true; - setRotation(BBottom, 0F, 0F, 0.2617994F); - BLeft = new ModelRenderer(this, 0, 36); - BLeft.addBox(0F, 0F, 0F, 4, 8, 2); - BLeft.setRotationPoint(-3F, -4F, -4F); - BLeft.setTextureSize(64, 64); - BLeft.mirror = true; - setRotation(BLeft, 0F, 0.2617994F, 0F); - BRight = new ModelRenderer(this, 12, 36); - BRight.addBox(0F, 0F, -2F, 4, 8, 2); - BRight.setRotationPoint(-3F, -4F, 4F); - BRight.setTextureSize(64, 64); - BRight.mirror = true; - setRotation(BRight, 0F, -0.2617994F, 0F); - RTop = new ModelRenderer(this, 24, 0); - RTop.addBox(0F, 0F, 0F, 3, 2, 10); - RTop.setRotationPoint(4F, -6F, -6F); - RTop.setTextureSize(64, 64); - RTop.mirror = true; - setRotation(RTop, 0F, 0F, 0F); - RBottom = new ModelRenderer(this, 24, 12); - RBottom.addBox(0F, 0F, 0F, 3, 2, 10); - RBottom.setRotationPoint(4F, 4F, -4F); - RBottom.setTextureSize(64, 64); - RBottom.mirror = true; - setRotation(RBottom, 0F, 0F, 0F); - RLeft = new ModelRenderer(this, 0, 46); - RLeft.addBox(0F, 0F, 0F, 3, 10, 2); - RLeft.setRotationPoint(4F, -4F, -6F); - RLeft.setTextureSize(64, 64); - RLeft.mirror = true; - setRotation(RLeft, 0F, 0F, 0F); - RRight = new ModelRenderer(this, 10, 46); - RRight.addBox(0F, 0F, 0F, 3, 10, 2); - RRight.setRotationPoint(4F, -6F, 4F); - RRight.setTextureSize(64, 64); - RRight.mirror = true; - setRotation(RRight, 0F, 0F, 0F); - GPivot = new ModelRenderer(this, 24, 24); - GPivot.addBox(0F, 0F, 0F, 3, 4, 4); - GPivot.setRotationPoint(-6F, -2F, -2F); - GPivot.setTextureSize(64, 64); - GPivot.mirror = true; - setRotation(GPivot, 0F, 0F, 0F); - GBase = new ModelRenderer(this, 24, 32); - GBase.addBox(-2F, -3F, -4F, 4, 3, 8); - GBase.setRotationPoint(-6F, 0F, 1F); - GBase.setTextureSize(64, 64); - GBase.mirror = true; - setRotation(GBase, 0F, 0F, 0.6108652F); - F31 = new ModelRenderer(this, 20, 52); - F31.addBox(-3F, -1F, 0F, 3, 2, 2); - F31.setRotationPoint(-6F, -2.8F, -1F); - F31.setTextureSize(64, 64); - F31.mirror = true; - setRotation(F31, 0F, 0F, -0.5235988F); - F21 = new ModelRenderer(this, 30, 52); - F21.addBox(-3F, -1F, -2F, 3, 2, 2); - F21.setRotationPoint(-6F, -2.8F, -1.2F); - F21.setTextureSize(64, 64); - F21.mirror = true; - setRotation(F21, 0F, 0F, 0F); - F41 = new ModelRenderer(this, 40, 52); - F41.addBox(-3F, -1F, 0F, 3, 2, 2); - F41.setRotationPoint(-6F, -2.8F, 1.2F); - F41.setTextureSize(64, 64); - F41.mirror = true; - setRotation(F41, 0F, 0F, -0.5235988F); - F51 = new ModelRenderer(this, 50, 52); - F51.addBox(-3F, -1F, 0F, 3, 2, 2); - F51.setRotationPoint(-6F, -2.8F, 3.4F); - F51.setTextureSize(64, 64); - F51.mirror = true; - setRotation(F51, 0F, 0F, -0.5235988F); - F11 = new ModelRenderer(this, 48, 38); - F11.addBox(-1F, -1F, -3F, 2, 2, 3); - F11.setRotationPoint(-5F, -1F, -2.5F); - F11.setTextureSize(64, 64); - F11.mirror = true; - setRotation(F11, 1.22173F, 1.745329F, -1.047198F); - F22 = new ModelRenderer(this, 20, 56); - F22.addBox(-3F, -1F, -1F, 3, 2, 2); - F22.setRotationPoint(-8.5F, -3F, -2.2F); - F22.setTextureSize(64, 64); - F22.mirror = true; - setRotation(F22, 0F, 0F, 0F); - F32 = new ModelRenderer(this, 30, 56); - F32.addBox(-3F, -1F, -1F, 3, 2, 2); - F32.setRotationPoint(-8.5F, -2F, 0F); - F32.setTextureSize(64, 64); - F32.mirror = true; - setRotation(F32, 0F, 0F, -1.919862F); - F42 = new ModelRenderer(this, 40, 56); - F42.addBox(-3F, -1F, -1F, 3, 2, 2); - F42.setRotationPoint(-8.5F, -2F, 2.2F); - F42.setTextureSize(64, 64); - F42.mirror = true; - setRotation(F42, 0F, 0F, -1.919862F); - F52 = new ModelRenderer(this, 50, 56); - F52.addBox(-3F, -1F, -1F, 3, 2, 2); - F52.setRotationPoint(-8.5F, -2F, 4.4F); - F52.setTextureSize(64, 64); - F52.mirror = true; - setRotation(F52, 0F, 0F, -1.919862F); - F12 = new ModelRenderer(this, 48, 34); - F12.addBox(-1F, -1F, -2F, 2, 2, 2); - F12.setRotationPoint(-6F, 0.5F, -4.5F); - F12.setTextureSize(64, 64); - F12.mirror = true; - setRotation(F12, 1.22173F, 2.935045F, -1.047198F); - F23 = new ModelRenderer(this, 20, 60); - F23.addBox(-3F, -1F, -1F, 3, 2, 2); - F23.setRotationPoint(-11F, -2.8F, -2.2F); - F23.setTextureSize(64, 64); - F23.mirror = true; - setRotation(F23, 0F, 0F, 0F); - F33 = new ModelRenderer(this, 30, 60); - F33.addBox(-3F, -1F, -1F, 3, 2, 2); - F33.setRotationPoint(-8F, 0.5F, 0F); - F33.setTextureSize(64, 64); - F33.mirror = true; - setRotation(F33, 0F, 0F, -2.879793F); - F43 = new ModelRenderer(this, 40, 60); - F43.addBox(-3F, -1F, -1F, 3, 2, 2); - F43.setRotationPoint(-8F, 0.5F, 2.2F); - F43.setTextureSize(64, 64); - F43.mirror = true; - setRotation(F43, 0F, 0F, -2.879793F); - F53 = new ModelRenderer(this, 50, 60); - F53.addBox(-3F, -1F, -1F, 3, 2, 2); - F53.setRotationPoint(-8F, 0.5F, 4.4F); - F53.setTextureSize(64, 64); - F53.mirror = true; - setRotation(F53, 0F, 0F, -2.879793F); - F13 = new ModelRenderer(this, 48, 30); - F13.addBox(-1F, -1F, -2F, 2, 2, 2); - F13.setRotationPoint(-7F, 1F, -4F); - F13.setTextureSize(64, 64); - F13.mirror = true; - setRotation(F13, 0.5235988F, 2.617994F, -1.047198F); - WireL = new ModelRenderer(this, 38, 30); - WireL.addBox(0F, 0F, 0F, 4, 1, 1); - WireL.setRotationPoint(0F, -5.5F, 0F); - WireL.setTextureSize(64, 64); - WireL.mirror = true; - setRotation(WireL, 0F, 0F, 0F); - WireR = new ModelRenderer(this, 38, 28); - WireR.addBox(0F, 0F, 0F, 4, 1, 1); - WireR.setRotationPoint(0F, -5.5F, 2F); - WireR.setTextureSize(64, 64); - WireR.mirror = true; - setRotation(WireR, 0F, 0F, 0F); - Gauge1 = new ModelRenderer(this, 20, 47); - Gauge1.addBox(-1.5F, -1F, -2F, 3, 1, 4); - Gauge1.setRotationPoint(-1F, -4F, 4F); - Gauge1.setTextureSize(64, 64); - Gauge1.mirror = true; - setRotation(Gauge1, -0.7853982F, 0F, 0F); - Gauge2 = new ModelRenderer(this, 34, 48); - Gauge2.addBox(-2F, -1F, -1.5F, 4, 1, 3); - Gauge2.setRotationPoint(-1F, -4F, 4F); - Gauge2.setTextureSize(64, 64); - Gauge2.mirror = true; - setRotation(Gauge2, -0.7853982F, 0F, 0F); - WireB = new ModelRenderer(this, 48, 49); - WireB.addBox(0F, 0F, 0F, 4, 2, 1); - WireB.setRotationPoint(0F, -1F, -5.5F); - WireB.setTextureSize(64, 64); - WireB.mirror = true; - setRotation(WireB, 0F, 0F, 0F); + this.Base = new ModelRenderer(this, 0, 0); + this.Base.addBox(0F, 0F, 0F, 3, 8, 8); + this.Base.setRotationPoint(-3F, -4F, -4F); + this.Base.setTextureSize(64, 64); + this.Base.mirror = true; + setRotation(this.Base, 0F, 0F, 0F); + this.BTop = new ModelRenderer(this, 0, 16); + this.BTop.addBox(0F, 0F, 0F, 4, 2, 8); + this.BTop.setRotationPoint(-3F, -4F, -4F); + this.BTop.setTextureSize(64, 64); + this.BTop.mirror = true; + setRotation(this.BTop, 0F, 0F, -0.2617994F); + this.BBottom = new ModelRenderer(this, 0, 26); + this.BBottom.addBox(0F, -2F, 0F, 4, 2, 8); + this.BBottom.setRotationPoint(-3F, 4F, -4F); + this.BBottom.setTextureSize(64, 64); + this.BBottom.mirror = true; + setRotation(this.BBottom, 0F, 0F, 0.2617994F); + this.BLeft = new ModelRenderer(this, 0, 36); + this.BLeft.addBox(0F, 0F, 0F, 4, 8, 2); + this.BLeft.setRotationPoint(-3F, -4F, -4F); + this.BLeft.setTextureSize(64, 64); + this.BLeft.mirror = true; + setRotation(this.BLeft, 0F, 0.2617994F, 0F); + this.BRight = new ModelRenderer(this, 12, 36); + this.BRight.addBox(0F, 0F, -2F, 4, 8, 2); + this.BRight.setRotationPoint(-3F, -4F, 4F); + this.BRight.setTextureSize(64, 64); + this.BRight.mirror = true; + setRotation(this.BRight, 0F, -0.2617994F, 0F); + this.RTop = new ModelRenderer(this, 24, 0); + this.RTop.addBox(0F, 0F, 0F, 3, 2, 10); + this.RTop.setRotationPoint(4F, -6F, -6F); + this.RTop.setTextureSize(64, 64); + this.RTop.mirror = true; + setRotation(this.RTop, 0F, 0F, 0F); + this.RBottom = new ModelRenderer(this, 24, 12); + this.RBottom.addBox(0F, 0F, 0F, 3, 2, 10); + this.RBottom.setRotationPoint(4F, 4F, -4F); + this.RBottom.setTextureSize(64, 64); + this.RBottom.mirror = true; + setRotation(this.RBottom, 0F, 0F, 0F); + this.RLeft = new ModelRenderer(this, 0, 46); + this.RLeft.addBox(0F, 0F, 0F, 3, 10, 2); + this.RLeft.setRotationPoint(4F, -4F, -6F); + this.RLeft.setTextureSize(64, 64); + this.RLeft.mirror = true; + setRotation(this.RLeft, 0F, 0F, 0F); + this.RRight = new ModelRenderer(this, 10, 46); + this.RRight.addBox(0F, 0F, 0F, 3, 10, 2); + this.RRight.setRotationPoint(4F, -6F, 4F); + this.RRight.setTextureSize(64, 64); + this.RRight.mirror = true; + setRotation(this.RRight, 0F, 0F, 0F); + this.GPivot = new ModelRenderer(this, 24, 24); + this.GPivot.addBox(0F, 0F, 0F, 3, 4, 4); + this.GPivot.setRotationPoint(-6F, -2F, -2F); + this.GPivot.setTextureSize(64, 64); + this.GPivot.mirror = true; + setRotation(this.GPivot, 0F, 0F, 0F); + this.GBase = new ModelRenderer(this, 24, 32); + this.GBase.addBox(-2F, -3F, -4F, 4, 3, 8); + this.GBase.setRotationPoint(-6F, 0F, 1F); + this.GBase.setTextureSize(64, 64); + this.GBase.mirror = true; + setRotation(this.GBase, 0F, 0F, 0.6108652F); + this.F31 = new ModelRenderer(this, 20, 52); + this.F31.addBox(-3F, -1F, 0F, 3, 2, 2); + this.F31.setRotationPoint(-6F, -2.8F, -1F); + this.F31.setTextureSize(64, 64); + this.F31.mirror = true; + setRotation(this.F31, 0F, 0F, -0.5235988F); + this.F21 = new ModelRenderer(this, 30, 52); + this.F21.addBox(-3F, -1F, -2F, 3, 2, 2); + this.F21.setRotationPoint(-6F, -2.8F, -1.2F); + this.F21.setTextureSize(64, 64); + this.F21.mirror = true; + setRotation(this.F21, 0F, 0F, 0F); + this.F41 = new ModelRenderer(this, 40, 52); + this.F41.addBox(-3F, -1F, 0F, 3, 2, 2); + this.F41.setRotationPoint(-6F, -2.8F, 1.2F); + this.F41.setTextureSize(64, 64); + this.F41.mirror = true; + setRotation(this.F41, 0F, 0F, -0.5235988F); + this.F51 = new ModelRenderer(this, 50, 52); + this.F51.addBox(-3F, -1F, 0F, 3, 2, 2); + this.F51.setRotationPoint(-6F, -2.8F, 3.4F); + this.F51.setTextureSize(64, 64); + this.F51.mirror = true; + setRotation(this.F51, 0F, 0F, -0.5235988F); + this.F11 = new ModelRenderer(this, 48, 38); + this.F11.addBox(-1F, -1F, -3F, 2, 2, 3); + this.F11.setRotationPoint(-5F, -1F, -2.5F); + this.F11.setTextureSize(64, 64); + this.F11.mirror = true; + setRotation(this.F11, 1.22173F, 1.745329F, -1.047198F); + this.F22 = new ModelRenderer(this, 20, 56); + this.F22.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F22.setRotationPoint(-8.5F, -3F, -2.2F); + this.F22.setTextureSize(64, 64); + this.F22.mirror = true; + setRotation(this.F22, 0F, 0F, 0F); + this.F32 = new ModelRenderer(this, 30, 56); + this.F32.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F32.setRotationPoint(-8.5F, -2F, 0F); + this.F32.setTextureSize(64, 64); + this.F32.mirror = true; + setRotation(this.F32, 0F, 0F, -1.919862F); + this.F42 = new ModelRenderer(this, 40, 56); + this.F42.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F42.setRotationPoint(-8.5F, -2F, 2.2F); + this.F42.setTextureSize(64, 64); + this.F42.mirror = true; + setRotation(this.F42, 0F, 0F, -1.919862F); + this.F52 = new ModelRenderer(this, 50, 56); + this.F52.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F52.setRotationPoint(-8.5F, -2F, 4.4F); + this.F52.setTextureSize(64, 64); + this.F52.mirror = true; + setRotation(this.F52, 0F, 0F, -1.919862F); + this.F12 = new ModelRenderer(this, 48, 34); + this.F12.addBox(-1F, -1F, -2F, 2, 2, 2); + this.F12.setRotationPoint(-6F, 0.5F, -4.5F); + this.F12.setTextureSize(64, 64); + this.F12.mirror = true; + setRotation(this.F12, 1.22173F, 2.935045F, -1.047198F); + this.F23 = new ModelRenderer(this, 20, 60); + this.F23.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F23.setRotationPoint(-11F, -2.8F, -2.2F); + this.F23.setTextureSize(64, 64); + this.F23.mirror = true; + setRotation(this.F23, 0F, 0F, 0F); + this.F33 = new ModelRenderer(this, 30, 60); + this.F33.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F33.setRotationPoint(-8F, 0.5F, 0F); + this.F33.setTextureSize(64, 64); + this.F33.mirror = true; + setRotation(this.F33, 0F, 0F, -2.879793F); + this.F43 = new ModelRenderer(this, 40, 60); + this.F43.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F43.setRotationPoint(-8F, 0.5F, 2.2F); + this.F43.setTextureSize(64, 64); + this.F43.mirror = true; + setRotation(this.F43, 0F, 0F, -2.879793F); + this.F53 = new ModelRenderer(this, 50, 60); + this.F53.addBox(-3F, -1F, -1F, 3, 2, 2); + this.F53.setRotationPoint(-8F, 0.5F, 4.4F); + this.F53.setTextureSize(64, 64); + this.F53.mirror = true; + setRotation(this.F53, 0F, 0F, -2.879793F); + this.F13 = new ModelRenderer(this, 48, 30); + this.F13.addBox(-1F, -1F, -2F, 2, 2, 2); + this.F13.setRotationPoint(-7F, 1F, -4F); + this.F13.setTextureSize(64, 64); + this.F13.mirror = true; + setRotation(this.F13, 0.5235988F, 2.617994F, -1.047198F); + this.WireL = new ModelRenderer(this, 38, 30); + this.WireL.addBox(0F, 0F, 0F, 4, 1, 1); + this.WireL.setRotationPoint(0F, -5.5F, 0F); + this.WireL.setTextureSize(64, 64); + this.WireL.mirror = true; + setRotation(this.WireL, 0F, 0F, 0F); + this.WireR = new ModelRenderer(this, 38, 28); + this.WireR.addBox(0F, 0F, 0F, 4, 1, 1); + this.WireR.setRotationPoint(0F, -5.5F, 2F); + this.WireR.setTextureSize(64, 64); + this.WireR.mirror = true; + setRotation(this.WireR, 0F, 0F, 0F); + this.Gauge1 = new ModelRenderer(this, 20, 47); + this.Gauge1.addBox(-1.5F, -1F, -2F, 3, 1, 4); + this.Gauge1.setRotationPoint(-1F, -4F, 4F); + this.Gauge1.setTextureSize(64, 64); + this.Gauge1.mirror = true; + setRotation(this.Gauge1, -0.7853982F, 0F, 0F); + this.Gauge2 = new ModelRenderer(this, 34, 48); + this.Gauge2.addBox(-2F, -1F, -1.5F, 4, 1, 3); + this.Gauge2.setRotationPoint(-1F, -4F, 4F); + this.Gauge2.setTextureSize(64, 64); + this.Gauge2.mirror = true; + setRotation(this.Gauge2, -0.7853982F, 0F, 0F); + this.WireB = new ModelRenderer(this, 48, 49); + this.WireB.addBox(0F, 0F, 0F, 4, 2, 1); + this.WireB.setRotationPoint(0F, -1F, -5.5F); + this.WireB.setTextureSize(64, 64); + this.WireB.mirror = true; + setRotation(this.WireB, 0F, 0F, 0F); } @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Base.render(f5); - BTop.render(f5); - BBottom.render(f5); - BLeft.render(f5); - BRight.render(f5); - RTop.render(f5); - RBottom.render(f5); - RLeft.render(f5); - RRight.render(f5); - GPivot.render(f5); - GBase.render(f5); - F31.render(f5); - F21.render(f5); - F41.render(f5); - F51.render(f5); - F11.render(f5); - F22.render(f5); - F32.render(f5); - F42.render(f5); - F52.render(f5); - F12.render(f5); - F23.render(f5); - F33.render(f5); - F43.render(f5); - F53.render(f5); - F13.render(f5); - WireL.render(f5); - WireR.render(f5); - Gauge1.render(f5); - Gauge2.render(f5); - WireB.render(f5); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.Base.render(scaleFactor); + this.BTop.render(scaleFactor); + this.BBottom.render(scaleFactor); + this.BLeft.render(scaleFactor); + this.BRight.render(scaleFactor); + this.RTop.render(scaleFactor); + this.RBottom.render(scaleFactor); + this.RLeft.render(scaleFactor); + this.RRight.render(scaleFactor); + this.GPivot.render(scaleFactor); + this.GBase.render(scaleFactor); + this.F31.render(scaleFactor); + this.F21.render(scaleFactor); + this.F41.render(scaleFactor); + this.F51.render(scaleFactor); + this.F11.render(scaleFactor); + this.F22.render(scaleFactor); + this.F32.render(scaleFactor); + this.F42.render(scaleFactor); + this.F52.render(scaleFactor); + this.F12.render(scaleFactor); + this.F23.render(scaleFactor); + this.F33.render(scaleFactor); + this.F43.render(scaleFactor); + this.F53.render(scaleFactor); + this.F13.render(scaleFactor); + this.WireL.render(scaleFactor); + this.WireR.render(scaleFactor); + this.Gauge1.render(scaleFactor); + this.Gauge2.render(scaleFactor); + this.WireB.render(scaleFactor); } - private void setRotation(ModelRenderer model, float x, float y, float z) { + private static void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - } diff --git a/src/main/java/com/hbm/render/model/ModelNightmare.java b/src/main/java/com/hbm/render/model/ModelNightmare.java deleted file mode 100644 index 750e64b28..000000000 --- a/src/main/java/com/hbm/render/model/ModelNightmare.java +++ /dev/null @@ -1,198 +0,0 @@ -// Date: 08.12.2016 20:24:28 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.weapon.ItemGunBase; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; - -public class ModelNightmare extends ModelBase { - // fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - ModelRenderer Shape10; - ModelRenderer Shape11; - ModelRenderer Shape12; - ModelRenderer Bullet1; - ModelRenderer Bullet2; - ModelRenderer Bullet3; - ModelRenderer Bullet4; - ModelRenderer Bullet5; - ModelRenderer Bullet6; - - public ModelNightmare() { - textureWidth = 64; - textureHeight = 32; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 3, 8, 2); - Shape1.setRotationPoint(0F, 0F, 0F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, -0.3490659F); - Shape2 = new ModelRenderer(this, 42, 0); - Shape2.addBox(0F, 0F, 0F, 9, 6, 2); - Shape2.setRotationPoint(-8F, -5F, 0F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 14); - Shape3.addBox(0F, 0F, 0F, 4, 2, 1); - Shape3.setRotationPoint(-0.03333334F, -3F, 0.5F); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0.715585F); - Shape4 = new ModelRenderer(this, 22, 0); - Shape4.addBox(0F, 0F, 0F, 6, 4, 3); - Shape4.setRotationPoint(-7F, -4F, 0F); - Shape4.setTextureSize(64, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 0, 0); - Shape5.addBox(0F, 0F, 0F, 1, 1, 1); - Shape5.setRotationPoint(0F, 0F, 0F); - Shape5.setTextureSize(64, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 34, 8); - Shape6.addBox(0F, 0F, 0F, 13, 2, 2); - Shape6.setRotationPoint(-21F, -4F, 0F); - Shape6.setTextureSize(64, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 0, 17); - Shape7.addBox(0F, 0F, 0F, 1, 2, 1); - Shape7.setRotationPoint(2F, -3F, 0.5F); - Shape7.setTextureSize(64, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0.715585F); - Shape8 = new ModelRenderer(this, 4, 17); - Shape8.addBox(0F, 0F, 0F, 2, 1, 1); - Shape8.setRotationPoint(2F, -4F, 0.5F); - Shape8.setTextureSize(64, 32); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0.715585F); - Shape9 = new ModelRenderer(this, 0, 20); - Shape9.addBox(0F, 0F, 0F, 6, 1, 1); - Shape9.setRotationPoint(-14F, -2F, 0.5F); - Shape9.setTextureSize(64, 32); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - Shape10 = new ModelRenderer(this, 26, 8); - Shape10.addBox(0F, 0F, 0F, 2, 2, 2); - Shape10.setRotationPoint(-19F, -5F, 0F); - Shape10.setTextureSize(64, 32); - Shape10.mirror = true; - setRotation(Shape10, 0F, 0F, 0.6108652F); - Shape11 = new ModelRenderer(this, 0, 10); - Shape11.addBox(0F, 0F, 0F, 4, 3, 1); - Shape11.setRotationPoint(-2F, 1F, 0.5F); - Shape11.setTextureSize(64, 32); - Shape11.mirror = true; - setRotation(Shape11, 0F, 0F, 0F); - Shape12 = new ModelRenderer(this, 10, 0); - Shape12.addBox(0F, 0F, 0F, 1, 3, 1); - Shape12.setRotationPoint(0F, 0F, 0.5F); - Shape12.setTextureSize(64, 32); - Shape12.mirror = true; - setRotation(Shape12, 0F, 0F, 0.5235988F); - Bullet1 = new ModelRenderer(this, 6, 22); - Bullet1.addBox(0F, 0F, 0F, 1, 2, 1); - Bullet1.setRotationPoint(-7.5F, -4F, -1F); - Bullet1.setTextureSize(64, 32); - Bullet1.mirror = true; - setRotation(Bullet1, 0F, 0F, 0F); - Bullet2 = new ModelRenderer(this, 0, 22); - Bullet2.addBox(0F, 0F, 0F, 1, 2, 1); - Bullet2.setRotationPoint(-6.5F, -4F, -1F); - Bullet2.setTextureSize(64, 32); - Bullet2.mirror = true; - setRotation(Bullet2, 0F, 0F, 0F); - Bullet3 = new ModelRenderer(this, 6, 22); - Bullet3.addBox(0F, 0F, 0F, 1, 2, 1); - Bullet3.setRotationPoint(-4.5F, -4F, -1F); - Bullet3.setTextureSize(64, 32); - Bullet3.mirror = true; - setRotation(Bullet3, 0F, 0F, 0F); - Bullet4 = new ModelRenderer(this, 0, 22); - Bullet4.addBox(0F, 0F, 0F, 1, 2, 1); - Bullet4.setRotationPoint(-3.5F, -4F, -1F); - Bullet4.setTextureSize(64, 32); - Bullet4.mirror = true; - setRotation(Bullet4, 0F, 0F, 0F); - Bullet5 = new ModelRenderer(this, 6, 22); - Bullet5.addBox(0F, 0F, 0F, 1, 2, 1); - Bullet5.setRotationPoint(-1.5F, -4F, -1F); - Bullet5.setTextureSize(64, 32); - Bullet5.mirror = true; - setRotation(Bullet5, 0F, 0F, 0F); - Bullet6 = new ModelRenderer(this, 0, 22); - Bullet6.addBox(0F, 0F, 0F, 1, 2, 1); - Bullet6.setRotationPoint(-0.5F, -4F, -1F); - Bullet6.setTextureSize(64, 32); - Bullet6.mirror = true; - setRotation(Bullet6, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, ItemStack item) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - GL11.glDisable(GL11.GL_CULL_FACE); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - Shape10.render(f5); - Shape11.render(f5); - Shape12.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - - int ammo = ItemGunBase.getMag(item); - - if(ammo > 0) - Bullet1.render(f5); - if(ammo > 1) - Bullet2.render(f5); - if(ammo > 2) - Bullet3.render(f5); - if(ammo > 3) - Bullet4.render(f5); - if(ammo > 4) - Bullet5.render(f5); - if(ammo > 5) - Bullet6.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelNightmare2.java b/src/main/java/com/hbm/render/model/ModelNightmare2.java deleted file mode 100644 index 143dfe549..000000000 --- a/src/main/java/com/hbm/render/model/ModelNightmare2.java +++ /dev/null @@ -1,265 +0,0 @@ -// Date: 08.12.2016 20:42:59 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.weapon.ItemGunBase; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; - -public class ModelNightmare2 extends ModelBase { - // fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - ModelRenderer Shape10; - ModelRenderer Shape11; - ModelRenderer Shape12; - ModelRenderer Bullet1; - ModelRenderer Bullet2; - ModelRenderer Bullet3; - ModelRenderer Bullet4; - ModelRenderer Bullet5; - ModelRenderer Bullet6; - ModelRenderer Shape13; - ModelRenderer Shape14; - ModelRenderer Shape15; - ModelRenderer Shape16; - ModelRenderer Shape17; - ModelRenderer Shape18; - ModelRenderer Shape19; - - public ModelNightmare2() { - textureWidth = 64; - textureHeight = 32; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 3, 8, 2); - Shape1.setRotationPoint(0F, 0F, 0F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, -0.3490659F); - Shape2 = new ModelRenderer(this, 42, 0); - Shape2.addBox(0F, 0F, 0F, 9, 6, 2); - Shape2.setRotationPoint(-8F, -5F, 0F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 14); - Shape3.addBox(0F, 0F, 0F, 4, 2, 1); - Shape3.setRotationPoint(-0.03333334F, -3F, 0.5F); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0.715585F); - Shape4 = new ModelRenderer(this, 22, 0); - Shape4.addBox(0F, 0F, 0F, 6, 4, 3); - Shape4.setRotationPoint(-7F, -4F, 0F); - Shape4.setTextureSize(64, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 34, 8); - Shape6.addBox(0F, 0F, 0F, 13, 2, 2); - Shape6.setRotationPoint(-21F, -4F, 0F); - Shape6.setTextureSize(64, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 0, 17); - Shape7.addBox(0F, 0F, 0F, 1, 2, 1); - Shape7.setRotationPoint(2F, -3F, 0.5F); - Shape7.setTextureSize(64, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0.715585F); - Shape8 = new ModelRenderer(this, 4, 17); - Shape8.addBox(0F, 0F, 0F, 2, 1, 1); - Shape8.setRotationPoint(2F, -4F, 0.5F); - Shape8.setTextureSize(64, 32); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0.715585F); - Shape9 = new ModelRenderer(this, 0, 20); - Shape9.addBox(0F, 0F, 0F, 6, 1, 1); - Shape9.setRotationPoint(-14F, -2F, 0.5F); - Shape9.setTextureSize(64, 32); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - Shape10 = new ModelRenderer(this, 26, 8); - Shape10.addBox(0F, 0F, 0F, 2, 2, 2); - Shape10.setRotationPoint(-19F, -5F, 0F); - Shape10.setTextureSize(64, 32); - Shape10.mirror = true; - setRotation(Shape10, 0F, 0F, 0.6108652F); - Shape11 = new ModelRenderer(this, 0, 10); - Shape11.addBox(0F, 0F, 0F, 4, 3, 1); - Shape11.setRotationPoint(-2F, 1F, 0.5F); - Shape11.setTextureSize(64, 32); - Shape11.mirror = true; - setRotation(Shape11, 0F, 0F, 0F); - Shape12 = new ModelRenderer(this, 10, 0); - Shape12.addBox(0F, 0F, 0F, 1, 3, 1); - Shape12.setRotationPoint(0F, 0F, 0.5F); - Shape12.setTextureSize(64, 32); - Shape12.mirror = true; - setRotation(Shape12, 0F, 0F, 0.5235988F); - Bullet1 = new ModelRenderer(this, 6, 22); - Bullet1.addBox(0F, 0F, 0F, 1, 2, 1); - Bullet1.setRotationPoint(-7.5F, -4F, -1F); - Bullet1.setTextureSize(64, 32); - Bullet1.mirror = true; - setRotation(Bullet1, 0F, 0F, 0F); - Bullet2 = new ModelRenderer(this, 0, 22); - Bullet2.addBox(0F, 0F, 0F, 1, 2, 1); - Bullet2.setRotationPoint(-6.5F, -4F, -1F); - Bullet2.setTextureSize(64, 32); - Bullet2.mirror = true; - setRotation(Bullet2, 0F, 0F, 0F); - Bullet3 = new ModelRenderer(this, 6, 22); - Bullet3.addBox(0F, 0F, 0F, 1, 2, 1); - Bullet3.setRotationPoint(-4.5F, -4F, -1F); - Bullet3.setTextureSize(64, 32); - Bullet3.mirror = true; - setRotation(Bullet3, 0F, 0F, 0F); - Bullet4 = new ModelRenderer(this, 0, 22); - Bullet4.addBox(0F, 0F, 0F, 1, 2, 1); - Bullet4.setRotationPoint(-3.5F, -4F, -1F); - Bullet4.setTextureSize(64, 32); - Bullet4.mirror = true; - setRotation(Bullet4, 0F, 0F, 0F); - Bullet5 = new ModelRenderer(this, 6, 22); - Bullet5.addBox(0F, 0F, 0F, 1, 2, 1); - Bullet5.setRotationPoint(-1.5F, -4F, -1F); - Bullet5.setTextureSize(64, 32); - Bullet5.mirror = true; - setRotation(Bullet5, 0F, 0F, 0F); - Bullet6 = new ModelRenderer(this, 0, 22); - Bullet6.addBox(0F, 0F, 0F, 1, 2, 1); - Bullet6.setRotationPoint(-0.5F, -4F, -1F); - Bullet6.setTextureSize(64, 32); - Bullet6.mirror = true; - setRotation(Bullet6, 0F, 0F, 0F); - Shape13 = new ModelRenderer(this, 14, 0); - Shape13.addBox(0F, 0F, 0F, 1, 1, 2); - Shape13.setRotationPoint(-13F, -3.5F, -2F); - Shape13.setTextureSize(64, 32); - Shape13.mirror = true; - setRotation(Shape13, 0F, 0F, 0F); - Shape14 = new ModelRenderer(this, 34, 12); - Shape14.addBox(0F, 0F, 0F, 6, 1, 1); - Shape14.setRotationPoint(-19F, -3.5F, -1.533333F); - Shape14.setTextureSize(64, 32); - Shape14.mirror = true; - setRotation(Shape14, 0F, 0F, 0F); - Shape15 = new ModelRenderer(this, 10, 4); - Shape15.addBox(0F, 0F, 0F, 1, 5, 1); - Shape15.setRotationPoint(-4F, -5F, 3F); - Shape15.setTextureSize(64, 32); - Shape15.mirror = true; - setRotation(Shape15, 0F, 0F, 0F); - Shape16 = new ModelRenderer(this, 10, 10); - Shape16.addBox(-1F, -4F, 0F, 1, 4, 1); - Shape16.setRotationPoint(-3F, -5F, 3F); - Shape16.setTextureSize(64, 32); - Shape16.mirror = true; - setRotation(Shape16, 0F, 0F, -0.5235988F); - Shape17 = new ModelRenderer(this, 14, 8); - Shape17.addBox(0F, 0F, 0F, 5, 1, 1); - Shape17.setRotationPoint(-10F, -8.5F, 3F); - Shape17.setTextureSize(64, 32); - Shape17.mirror = true; - setRotation(Shape17, 0F, 0F, 0F); - Shape18 = new ModelRenderer(this, 14, 12); - Shape18.addBox(-9F, 0F, 0F, 9, 1, 1); - Shape18.setRotationPoint(-10F, -8.5F, 3F); - Shape18.setTextureSize(64, 32); - Shape18.mirror = true; - setRotation(Shape18, 0F, 0F, -0.6108652F); - Shape19 = new ModelRenderer(this, 14, 10); - Shape19.addBox(-5F, 0F, -1F, 5, 1, 1); - Shape19.setRotationPoint(-16F, -3.5F, 4F); - Shape19.setTextureSize(64, 32); - Shape19.mirror = true; - setRotation(Shape19, 0F, -0.4461433F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, ItemStack item) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - GL11.glDisable(GL11.GL_CULL_FACE); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - Shape10.render(f5); - Shape11.render(f5); - Shape12.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - - Shape13.render(f5); - Shape14.render(f5); - Shape15.render(f5); - Shape16.render(f5); - Shape17.render(f5); - Shape18.render(f5); - Shape19.render(f5); - - int ammo = ItemGunBase.getMag(item); - - if(ammo > 0) - Bullet1.render(f5); - if(ammo > 1) - Bullet2.render(f5); - if(ammo > 2) - Bullet3.render(f5); - if(ammo > 3) - Bullet4.render(f5); - if(ammo > 4) - Bullet5.render(f5); - if(ammo > 5) - Bullet6.render(f5); - - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_LIGHTING); - - Tessellator tessellator = Tessellator.instance; - int color = 0xFF0000; - - tessellator.startDrawing(3); - tessellator.setColorOpaque_I(color); - tessellator.addVertex(-19F / 16F, -3F / 16F, -1F / 16F); - tessellator.addVertex(-150, 0, 0); - tessellator.draw(); - - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glPopMatrix(); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelNo9.java b/src/main/java/com/hbm/render/model/ModelNo9.java index c94970207..00b76dff9 100644 --- a/src/main/java/com/hbm/render/model/ModelNo9.java +++ b/src/main/java/com/hbm/render/model/ModelNo9.java @@ -5,7 +5,6 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; import com.hbm.render.loader.ModelRendererObj; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; @@ -15,49 +14,49 @@ public class ModelNo9 extends ModelArmorBase { public ModelRendererObj lamp; public ModelRendererObj insig; - + public ModelNo9(int type) { super(type); - head = new ModelRendererObj(ResourceManager.armor_no9, "Helmet"); - insig = new ModelRendererObj(ResourceManager.armor_no9, "Insignia"); - lamp = new ModelRendererObj(ResourceManager.armor_no9, "Flame"); - body = new ModelRendererObj(null); - leftArm = new ModelRendererObj(null).setRotationPoint(-5.0F, 2.0F, 0.0F); - rightArm = new ModelRendererObj(null).setRotationPoint(5.0F, 2.0F, 0.0F); - leftLeg = new ModelRendererObj(null).setRotationPoint(1.9F, 12.0F, 0.0F); - rightLeg = new ModelRendererObj(null).setRotationPoint(-1.9F, 12.0F, 0.0F); - leftFoot = new ModelRendererObj(null).setRotationPoint(1.9F, 12.0F, 0.0F); - rightFoot = new ModelRendererObj(null).setRotationPoint(-1.9F, 12.0F, 0.0F); + this.head = new ModelRendererObj(ResourceManager.armor_no9, "Helmet"); + this.insig = new ModelRendererObj(ResourceManager.armor_no9, "Insignia"); + this.lamp = new ModelRendererObj(ResourceManager.armor_no9, "Flame"); + this.body = new ModelRendererObj(null); + this.leftArm = new ModelRendererObj(null).setRotationPoint(5.0F, 2.0F, 0.0F); + this.rightArm = new ModelRendererObj(null).setRotationPoint(-5.0F, 2.0F, 0.0F); + this.leftLeg = new ModelRendererObj(null).setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightLeg = new ModelRendererObj(null).setRotationPoint(-1.9F, 12.0F, 0.0F); + this.leftFoot = new ModelRendererObj(null).setRotationPoint(1.9F, 12.0F, 0.0F); + this.rightFoot = new ModelRendererObj(null).setRotationPoint(-1.9F, 12.0F, 0.0F); } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - head.copyTo(insig); - head.copyTo(lamp); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + this.head.copyTo(this.insig); + this.head.copyTo(this.lamp); + GL11.glPushMatrix(); - - if(type == 0) { + + if(this.type == 0) { GL11.glShadeModel(GL11.GL_SMOOTH); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.no9); - head.render(par7); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.no9_insignia); - insig.render(par7); - - if(par1Entity instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) par1Entity; + bindTexture(ResourceManager.no9); + this.head.render(scaleFactor); + bindTexture(ResourceManager.no9_insignia); + this.insig.render(scaleFactor); + + if(entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) entity; ItemStack helmet = player.getEquipmentInSlot(4); - + if(helmet != null && helmet.hasTagCompound() && helmet.getTagCompound().getBoolean("isOn")) { GL11.glColor3f(1F, 1F, 0.8F); GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); GL11.glDisable(GL11.GL_LIGHTING); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); - lamp.render(par7); + this.lamp.render(scaleFactor); GL11.glEnable(GL11.GL_LIGHTING); GL11.glPopAttrib(); GL11.glEnable(GL11.GL_TEXTURE_2D); @@ -66,7 +65,7 @@ public class ModelNo9 extends ModelArmorBase { } } } - + GL11.glPopMatrix(); } } diff --git a/src/main/java/com/hbm/render/model/ModelOSIPR.java b/src/main/java/com/hbm/render/model/ModelOSIPR.java deleted file mode 100644 index f63c32e50..000000000 --- a/src/main/java/com/hbm/render/model/ModelOSIPR.java +++ /dev/null @@ -1,249 +0,0 @@ -// Date: 29.08.2016 09:41:02 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelOSIPR extends ModelBase { - // fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - ModelRenderer Shape10; - ModelRenderer Shape11; - ModelRenderer Shape12; - ModelRenderer Shape13; - ModelRenderer Shape14; - ModelRenderer Shape15; - ModelRenderer Shape16; - ModelRenderer Shape17; - ModelRenderer Shape18; - ModelRenderer Shape19; - ModelRenderer Shape20; - ModelRenderer Shape21; - ModelRenderer Shape22; - ModelRenderer Shape23; - - public ModelOSIPR() { - textureWidth = 64; - textureHeight = 64; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 8, 3, 3); - Shape1.setRotationPoint(0F, 0F, -0.5F); - Shape1.setTextureSize(64, 64); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 6); - Shape2.addBox(0F, 0F, 0F, 11, 2, 2); - Shape2.setRotationPoint(8F, 0F, 0F); - Shape2.setTextureSize(64, 64); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 10); - Shape3.addBox(0F, 0F, 0F, 2, 3, 2); - Shape3.setRotationPoint(17F, 2F, 0F); - Shape3.setTextureSize(64, 64); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 0, 15); - Shape4.addBox(-5F, -3F, 0F, 5, 3, 2); - Shape4.setRotationPoint(17F, 5F, 0F); - Shape4.setTextureSize(64, 64); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0.4363323F); - Shape5 = new ModelRenderer(this, 8, 10); - Shape5.addBox(-8F, -1F, 0F, 3, 1, 2); - Shape5.setRotationPoint(17F, 5F, 0F); - Shape5.setTextureSize(64, 64); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0.4363323F); - Shape6 = new ModelRenderer(this, 30, 0); - Shape6.addBox(0F, 0F, 0F, 10, 2, 2); - Shape6.setRotationPoint(-10F, 0.5F, 0F); - Shape6.setTextureSize(64, 64); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 54, 0); - Shape7.addBox(0F, 0F, 0F, 3, 2, 1); - Shape7.setRotationPoint(-13F, 0.5F, 0.5F); - Shape7.setTextureSize(64, 64); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - Shape8 = new ModelRenderer(this, 30, 4); - Shape8.addBox(0F, 0F, 0F, 10, 3, 3); - Shape8.setRotationPoint(-16F, 2F, -0.5F); - Shape8.setTextureSize(64, 64); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - Shape9 = new ModelRenderer(this, 30, 10); - Shape9.addBox(0F, 0F, 0F, 3, 1, 3); - Shape9.setRotationPoint(-19F, 4F, -0.5F); - Shape9.setTextureSize(64, 64); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - Shape10 = new ModelRenderer(this, 42, 10); - Shape10.addBox(0F, 0F, 0F, 3, 1, 3); - Shape10.setRotationPoint(-19F, 2F, -0.5F); - Shape10.setTextureSize(64, 64); - Shape10.mirror = true; - setRotation(Shape10, 0F, 0F, 0F); - Shape11 = new ModelRenderer(this, 0, 20); - Shape11.addBox(0F, 0F, 0F, 1, 1, 2); - Shape11.setRotationPoint(8F, -1F, 0F); - Shape11.setTextureSize(64, 64); - Shape11.mirror = true; - setRotation(Shape11, 0F, 0F, 0F); - Shape12 = new ModelRenderer(this, 30, 14); - Shape12.addBox(0F, 0F, 0F, 7, 3, 2); - Shape12.setRotationPoint(0F, 3F, 0F); - Shape12.setTextureSize(64, 64); - Shape12.mirror = true; - setRotation(Shape12, 0F, 0F, 0F); - Shape13 = new ModelRenderer(this, 30, 19); - Shape13.addBox(0F, -2F, 0F, 5, 2, 2); - Shape13.setRotationPoint(7F, 6F, 0F); - Shape13.setTextureSize(64, 64); - Shape13.mirror = true; - setRotation(Shape13, 0F, 0F, -0.9599311F); - Shape14 = new ModelRenderer(this, 30, 23); - Shape14.addBox(0F, 0F, 0F, 2, 5, 1); - Shape14.setRotationPoint(5F, 6F, 0.5F); - Shape14.setTextureSize(64, 64); - Shape14.mirror = true; - setRotation(Shape14, 0F, 0F, -0.3490659F); - Shape15 = new ModelRenderer(this, 0, 23); - Shape15.addBox(0F, 0F, 0F, 7, 2, 1); - Shape15.setRotationPoint(-6F, 5F, 0.5F); - Shape15.setTextureSize(64, 64); - Shape15.mirror = true; - setRotation(Shape15, 0F, 0F, 0F); - Shape16 = new ModelRenderer(this, 0, 26); - Shape16.addBox(0F, 0F, 0F, 8, 1, 2); - Shape16.setRotationPoint(-6F, 7F, 0F); - Shape16.setTextureSize(64, 64); - Shape16.mirror = true; - setRotation(Shape16, 0F, 0F, 0F); - Shape17 = new ModelRenderer(this, 0, 29); - Shape17.addBox(0F, 0F, 0F, 3, 6, 6); - Shape17.setRotationPoint(-9F, 9F, -3F); - Shape17.setTextureSize(64, 64); - Shape17.mirror = true; - setRotation(Shape17, 0.6108652F, 0F, 0F); - Shape18 = new ModelRenderer(this, 0, 41); - Shape18.addBox(0F, 0F, 0F, 3, 6, 7); - Shape18.setRotationPoint(-9F, 8F, -4F); - Shape18.setTextureSize(64, 64); - Shape18.mirror = true; - setRotation(Shape18, 0F, 0F, 0F); - Shape19 = new ModelRenderer(this, 30, 29); - Shape19.addBox(0F, 1F, 6F, 2, 4, 3); - Shape19.setRotationPoint(-8.5F, 9F, -3F); - Shape19.setTextureSize(64, 64); - Shape19.mirror = true; - setRotation(Shape19, 0.6108652F, 0F, 0F); - Shape20 = new ModelRenderer(this, 30, 36); - Shape20.addBox(0F, 0F, 0F, 1, 6, 3); - Shape20.setRotationPoint(-8F, 1F, 3F); - Shape20.setTextureSize(64, 64); - Shape20.mirror = true; - setRotation(Shape20, 0F, 0F, 0F); - Shape21 = new ModelRenderer(this, 30, 45); - Shape21.addBox(0F, -3F, 0F, 1, 5, 4); - Shape21.setRotationPoint(-8F, 2F, 3F); - Shape21.setTextureSize(64, 64); - Shape21.mirror = true; - setRotation(Shape21, 0.9599311F, 0F, 0F); - Shape22 = new ModelRenderer(this, 0, 54); - Shape22.addBox(0F, 0F, 0F, 2, 2, 2); - Shape22.setRotationPoint(-11F, 7F, 0F); - Shape22.setTextureSize(64, 64); - Shape22.mirror = true; - setRotation(Shape22, 0F, 0F, 0F); - Shape23 = new ModelRenderer(this, 0, 58); - Shape23.addBox(-7F, -2F, 0F, 7, 2, 2); - Shape23.setRotationPoint(-11F, 9F, 0F); - Shape23.setTextureSize(64, 64); - Shape23.mirror = true; - setRotation(Shape23, 0F, 0F, 0.148353F); - } - - @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - Shape10.render(f5); - Shape11.render(f5); - Shape12.render(f5); - Shape13.render(f5); - Shape14.render(f5); - Shape15.render(f5); - Shape16.render(f5); - Shape17.render(f5); - Shape18.render(f5); - Shape19.render(f5); - Shape20.render(f5); - Shape21.render(f5); - Shape22.render(f5); - Shape23.render(f5); - } - - public void renderAll(float f5) { - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - Shape10.render(f5); - Shape11.render(f5); - Shape12.render(f5); - Shape13.render(f5); - Shape14.render(f5); - Shape15.render(f5); - Shape16.render(f5); - Shape17.render(f5); - Shape18.render(f5); - Shape19.render(f5); - Shape20.render(f5); - Shape21.render(f5); - Shape22.render(f5); - Shape23.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelPanzerschreck.java b/src/main/java/com/hbm/render/model/ModelPanzerschreck.java deleted file mode 100644 index 573b8cbe0..000000000 --- a/src/main/java/com/hbm/render/model/ModelPanzerschreck.java +++ /dev/null @@ -1,187 +0,0 @@ -// Date: 20.02.2019 22:40:59 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelPanzerschreck extends ModelBase { - // fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - ModelRenderer Shape10; - ModelRenderer Shape11; - ModelRenderer Shape12; - ModelRenderer Shape13; - ModelRenderer Shape14; - ModelRenderer Shape15; - ModelRenderer Shape16; - ModelRenderer Shape17; - ModelRenderer Shape18; - - public ModelPanzerschreck() { - textureWidth = 128; - textureHeight = 32; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 40, 2, 3); - Shape1.setRotationPoint(-20F, 0F, -1.5F); - Shape1.setTextureSize(128, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 5); - Shape2.addBox(0F, 0F, 0F, 40, 3, 2); - Shape2.setRotationPoint(-20F, -0.5F, -1F); - Shape2.setTextureSize(128, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 10); - Shape3.addBox(0F, 0F, 0F, 2, 3, 1); - Shape3.setRotationPoint(-7.5F, 2.5F, -0.5F); - Shape3.setTextureSize(128, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 6, 10); - Shape4.addBox(0F, 0F, 0F, 6, 1, 1); - Shape4.setRotationPoint(-7.5F, 5.5F, -0.5F); - Shape4.setTextureSize(128, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 0, 14); - Shape5.addBox(0F, 0F, 0F, 2, 3, 1); - Shape5.setRotationPoint(-1.5F, 2.5F, -0.5F); - Shape5.setTextureSize(128, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 6, 12); - Shape6.addBox(0F, 0F, 0F, 1, 3, 1); - Shape6.setRotationPoint(0.5F, 2.5F, -0.5F); - Shape6.setTextureSize(128, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 10, 12); - Shape7.addBox(-1F, 0F, 0F, 1, 2, 1); - Shape7.setRotationPoint(-2F, 2.5F, -0.5F); - Shape7.setTextureSize(128, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0.3490659F); - Shape8 = new ModelRenderer(this, 0, 18); - Shape8.addBox(0F, 0F, 0F, 1, 4, 4); - Shape8.setRotationPoint(22F, -1F, -2F); - Shape8.setTextureSize(128, 32); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - Shape9 = new ModelRenderer(this, 20, 10); - Shape9.addBox(-3F, 0F, 0F, 3, 1, 1); - Shape9.setRotationPoint(22F, -1F, -0.5F); - Shape9.setTextureSize(128, 32); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, -0.2617994F); - Shape10 = new ModelRenderer(this, 14, 12); - Shape10.addBox(-3F, 0F, 0F, 3, 1, 1); - Shape10.setRotationPoint(22F, 0.5F, -2F); - Shape10.setTextureSize(128, 32); - Shape10.mirror = true; - setRotation(Shape10, 0F, 0.2617994F, 0F); - Shape11 = new ModelRenderer(this, 14, 14); - Shape11.addBox(-3F, 0F, -1F, 3, 1, 1); - Shape11.setRotationPoint(22F, 0.5F, 2F); - Shape11.setTextureSize(128, 32); - Shape11.mirror = true; - setRotation(Shape11, 0F, -0.2617994F, 0F); - Shape12 = new ModelRenderer(this, 28, 10); - Shape12.addBox(-3F, -1F, 0F, 3, 1, 1); - Shape12.setRotationPoint(22F, 3F, -0.5F); - Shape12.setTextureSize(128, 32); - Shape12.mirror = true; - setRotation(Shape12, 0F, 0F, 0.2617994F); - Shape13 = new ModelRenderer(this, 22, 12); - Shape13.addBox(0F, 0F, 0F, 1, 1, 3); - Shape13.setRotationPoint(-20F, -1.5F, -1.5F); - Shape13.setTextureSize(128, 32); - Shape13.mirror = true; - setRotation(Shape13, 0F, 0F, 0F); - Shape14 = new ModelRenderer(this, 30, 12); - Shape14.addBox(0F, 0F, 0F, 1, 1, 3); - Shape14.setRotationPoint(-20F, -2.5F, -1.5F); - Shape14.setTextureSize(128, 32); - Shape14.mirror = true; - setRotation(Shape14, 0F, 0F, 0F); - Shape15 = new ModelRenderer(this, 36, 10); - Shape15.addBox(0F, 0F, 0F, 3, 1, 1); - Shape15.setRotationPoint(15F, -1F, -2F); - Shape15.setTextureSize(128, 32); - Shape15.mirror = true; - setRotation(Shape15, 0F, 0F, 0F); - Shape16 = new ModelRenderer(this, 108, 10); - Shape16.addBox(0F, 0F, 0F, 0, 12, 10); - Shape16.setRotationPoint(-10F, -5F, -8.5F); - Shape16.setTextureSize(128, 32); - Shape16.mirror = true; - setRotation(Shape16, 0F, 0F, 0F); - Shape17 = new ModelRenderer(this, 38, 12); - Shape17.addBox(0F, 0F, 0F, 1, 3, 1); - Shape17.setRotationPoint(3.5F, 2.5F, -0.5F); - Shape17.setTextureSize(128, 32); - Shape17.mirror = true; - setRotation(Shape17, 0F, 0F, -0.4363323F); - Shape18 = new ModelRenderer(this, 10, 15); - Shape18.addBox(0F, 0F, 0F, 1, 3, 1); - Shape18.setRotationPoint(5F, 2.5F, -0.5F); - Shape18.setTextureSize(128, 32); - Shape18.mirror = true; - setRotation(Shape18, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - GL11.glDisable(GL11.GL_CULL_FACE); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - Shape10.render(f5); - Shape11.render(f5); - Shape12.render(f5); - Shape13.render(f5); - Shape14.render(f5); - Shape15.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - Shape16.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Shape17.render(f5); - Shape18.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelPigeon.java b/src/main/java/com/hbm/render/model/ModelPigeon.java index 14c4dc3ac..3782e7c5d 100644 --- a/src/main/java/com/hbm/render/model/ModelPigeon.java +++ b/src/main/java/com/hbm/render/model/ModelPigeon.java @@ -19,13 +19,8 @@ public class ModelPigeon extends ModelBase { public ModelRenderer rightWing; public ModelRenderer ass; public ModelRenderer feathers; - + public ModelPigeon() { - initModel(); - } - - private void initModel() { - this.head = new ModelRenderer(this, 0, 0); this.head.addBox(-2F, -6F, -2F, 4, 6, 4); this.head.setRotationPoint(0F, 16F, -2F); @@ -45,14 +40,14 @@ public class ModelPigeon extends ModelBase { this.feathers = new ModelRenderer(this, 16, 24); this.feathers.addBox(-1F, -0.5F, -2F, 2, 1, 4); this.feathers.setRotationPoint(0F, 21.5F, 7.5F); - + this.leftLeg = new ModelRenderer(this, 20, 0); this.leftLeg.addBox(-1F, 0F, 0F, 2, 4, 2); this.leftLeg.setRotationPoint(1F, 20F, -1F); this.rightLeg = new ModelRenderer(this, 20, 0); this.rightLeg.addBox(-1F, 0F, 0F, 2, 4, 2); this.rightLeg.setRotationPoint(-1F, 20F, -1F); - + this.leftWing = new ModelRenderer(this, 28, 0); this.leftWing.addBox(0F, 0F, -3F, 1, 4, 6); this.leftWing.setRotationPoint(3F, -2F, 0F); @@ -66,31 +61,18 @@ public class ModelPigeon extends ModelBase { this.bodyFat.addChild(this.rightWing); } - public void render(Entity entity, float f0, float f1, float f2, float f3, float f4, float scale) { - this.setRotationAngles(f0, f1, f2, f3, f4, scale, entity); - this.head.render(scale); - this.beak.render(scale); - if(((EntityPigeon) entity).isFat()) { - this.bodyFat.render(scale); - } else { - this.body.render(scale); - } - this.rightLeg.render(scale); - this.leftLeg.render(scale); - this.ass.render(scale); - this.feathers.render(scale); - } - - public void setRotationAngles(float walkLoop, float legAmplitude, float armSwing, float headYaw, float headPitch, float scale, Entity entity) { + @Override + public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entity) { + this.head.rotateAngleX = this.beak.rotateAngleX = headPitch / (180F / (float) Math.PI); - this.head.rotateAngleY = this.beak.rotateAngleY = headYaw / (180F / (float) Math.PI); + this.head.rotateAngleY = this.beak.rotateAngleY = netHeadYaw / (180F / (float) Math.PI); this.body.rotateAngleX = this.bodyFat.rotateAngleX = this.ass.rotateAngleX = -((float) Math.PI / 4F); this.feathers.rotateAngleX = -((float) Math.PI / 8F); - this.rightLeg.rotateAngleX = MathHelper.cos(walkLoop * 0.6662F) * 1.4F * legAmplitude; - this.leftLeg.rotateAngleX = MathHelper.cos(walkLoop * 0.6662F + (float) Math.PI) * 1.4F * legAmplitude; - this.rightWing.rotateAngleZ = armSwing; - this.leftWing.rotateAngleZ = -armSwing; - + this.rightLeg.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; + this.leftLeg.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F + (float) Math.PI) * 1.4F * limbSwingAmount; + this.rightWing.rotateAngleZ = ageInTicks; + this.leftWing.rotateAngleZ = -ageInTicks; + if(((EntityPigeon) entity).isFat()) { this.head.rotationPointZ = -4F; this.beak.rotationPointZ = -4F; @@ -107,4 +89,21 @@ public class ModelPigeon extends ModelBase { this.rightWing.rotationPointX = -3F; } } + + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + this.head.render(scaleFactor); + this.beak.render(scaleFactor); + if(((EntityPigeon) entity).isFat()) { + this.bodyFat.render(scaleFactor); + } else { + this.body.render(scaleFactor); + } + this.rightLeg.render(scaleFactor); + this.leftLeg.render(scaleFactor); + this.ass.render(scaleFactor); + this.feathers.render(scaleFactor); + } } diff --git a/src/main/java/com/hbm/render/model/ModelPip.java b/src/main/java/com/hbm/render/model/ModelPip.java deleted file mode 100755 index 6fe5f40c2..000000000 --- a/src/main/java/com/hbm/render/model/ModelPip.java +++ /dev/null @@ -1,223 +0,0 @@ -//This File was created with the Minecraft-SMP Modelling Toolbox 2.3.0.0 -// Copyright (C) 2017 Minecraft-SMP.de -// This file is for Flan's Flying Mod Version 4.0.x+ - -// Model: Pip -// Model Creator: -// Created on:09.12.2017 - 12:48:52 -// Last changed on: 09.12.2017 - 12:48:52 - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelPip extends ModelBase -{ - - public ModelRenderer pipModel[]; - - int textureX = 128; - int textureY = 128; - - public ModelPip() - { - textureWidth = 128; - textureHeight = 128; - pipModel = new ModelRenderer[39]; - pipModel[0] = new ModelRenderer(this, 1, 1); // Box 0 - pipModel[1] = new ModelRenderer(this, 49, 1); // Box 1 - pipModel[2] = new ModelRenderer(this, 97, 1); // Box 2 - pipModel[3] = new ModelRenderer(this, 1, 9); // Box 3 - pipModel[4] = new ModelRenderer(this, 25, 9); // Box 4 - pipModel[5] = new ModelRenderer(this, 49, 9); // Box 5 - pipModel[6] = new ModelRenderer(this, 73, 9); // Box 6 - pipModel[7] = new ModelRenderer(this, 81, 17); // Box 7 - pipModel[8] = new ModelRenderer(this, 97, 17); // Box 10 - pipModel[9] = new ModelRenderer(this, 1, 25); // Box 12 - pipModel[10] = new ModelRenderer(this, 1, 9); // Box 14 - pipModel[11] = new ModelRenderer(this, 17, 25); // Box 15 - pipModel[12] = new ModelRenderer(this, 41, 25); // Box 16 - pipModel[13] = new ModelRenderer(this, 49, 9); // Box 17 - pipModel[14] = new ModelRenderer(this, 113, 17); // Box 18 - pipModel[15] = new ModelRenderer(this, 73, 17); // Box 19 - pipModel[16] = new ModelRenderer(this, 65, 25); // Box 20 - pipModel[17] = new ModelRenderer(this, 113, 25); // Box 22 - pipModel[18] = new ModelRenderer(this, 65, 25); // Box 23 - pipModel[19] = new ModelRenderer(this, 1, 33); // Box 24 - pipModel[20] = new ModelRenderer(this, 81, 33); // Box 25 - pipModel[21] = new ModelRenderer(this, 1, 41); // Box 26 - pipModel[22] = new ModelRenderer(this, 89, 33); // Box 27 - pipModel[23] = new ModelRenderer(this, 105, 33); // Box 28 - pipModel[24] = new ModelRenderer(this, 33, 41); // Box 29 - pipModel[25] = new ModelRenderer(this, 49, 41); // Box 30 - pipModel[26] = new ModelRenderer(this, 65, 41); // Box 31 - pipModel[27] = new ModelRenderer(this, 105, 41); // Box 32 - pipModel[28] = new ModelRenderer(this, 1, 49); // Box 33 - pipModel[29] = new ModelRenderer(this, 17, 49); // Box 34 - pipModel[30] = new ModelRenderer(this, 33, 49); // Box 35 - pipModel[31] = new ModelRenderer(this, 57, 49); // Box 36 - pipModel[32] = new ModelRenderer(this, 81, 49); // Box 37 - pipModel[33] = new ModelRenderer(this, 105, 49); // Box 38 - pipModel[34] = new ModelRenderer(this, 1, 57); // Box 39 - pipModel[35] = new ModelRenderer(this, 89, 25); // Box 40 - pipModel[36] = new ModelRenderer(this, 97, 41); // Box 41 - pipModel[37] = new ModelRenderer(this, 49, 49); // Box 42 - pipModel[38] = new ModelRenderer(this, 73, 57); // Box 43 - - pipModel[0].addBox(0F, 0F, 0F, 20, 3, 2, 0F); // Box 0 - pipModel[0].setRotationPoint(-20F, -5.5F, -1F); - - pipModel[1].addBox(0F, 0F, 0F, 20, 2, 3, 0F); // Box 1 - pipModel[1].setRotationPoint(-20F, -5F, -1.5F); - - pipModel[2].addBox(0F, 0F, 0F, 10, 8, 3, 0F); // Box 2 - pipModel[2].setRotationPoint(0F, -6F, -1.5F); - - pipModel[3].addBox(0F, 0F, 0F, 6, 5, 5, 0F); // Box 3 - pipModel[3].setRotationPoint(2F, -5F, -2.5F); - - pipModel[4].addBox(0F, 0F, 0F, 6, 6, 4, 0F); // Box 4 - pipModel[4].setRotationPoint(2F, -5.5F, -2F); - - pipModel[5].addBox(0F, 0F, 0F, 6, 4, 6, 0F); // Box 5 - pipModel[5].setRotationPoint(2F, -4.5F, -3F); - - pipModel[6].addBox(0F, 0F, 0F, 7, 2, 1, 0F); // Box 6 - pipModel[6].setRotationPoint(-7F, -2.5F, -0.5F); - - pipModel[7].addBox(-6F, 0F, 0F, 6, 3, 1, 0F); // Box 7 - pipModel[7].setRotationPoint(15F, -2.5F, -1.5F); - pipModel[7].rotateAngleZ = 0.61086524F; - - pipModel[8].addBox(0F, 0F, 0F, 5, 5, 3, 0F); // Box 10 - pipModel[8].setRotationPoint(10F, -2.5F, -1.5F); - - pipModel[9].addBox(-6F, 0F, 0F, 6, 3, 1, 0F); // Box 12 - pipModel[9].setRotationPoint(15F, -2.5F, 0.5F); - pipModel[9].rotateAngleZ = 0.61086524F; - - pipModel[10].addBox(-6F, 0F, 0F, 1, 3, 1, 0F); // Box 14 - pipModel[10].setRotationPoint(15F, -2.5F, -0.5F); - pipModel[10].rotateAngleZ = 0.61086524F; - - pipModel[11].addBox(0F, 0F, 0F, 6, 6, 4, 0F); // Box 15 - pipModel[11].setRotationPoint(12F, 4F, -2F); - - pipModel[12].addBox(-5F, -7F, 0F, 5, 7, 4, 0F); // Box 16 - pipModel[12].setRotationPoint(18F, 4F, -2F); - pipModel[12].rotateAngleZ = -0.52359878F; - - pipModel[13].addBox(0F, -2F, 0F, 1, 2, 1, 0F); // Box 17 - pipModel[13].setRotationPoint(12F, -2.5F, -0.5F); - pipModel[13].rotateAngleZ = 0.34906585F; - - pipModel[14].addBox(-0.5F, -3F, 0F, 3, 1, 1, 0F); // Box 18 - pipModel[14].setRotationPoint(12F, -2.5F, -0.5F); - pipModel[14].rotateAngleZ = 0.34906585F; - - pipModel[15].addBox(0F, 0F, 0F, 1, 3, 5, 0F); // Box 19 - pipModel[15].setRotationPoint(8F, -4F, -2.5F); - - pipModel[16].addBox(0F, 0F, 0F, 1, 3, 5, 0F); // Box 20 - pipModel[16].setRotationPoint(1F, -4F, -2.5F); - - pipModel[17].addBox(0F, 0F, 0F, 5, 3, 2, 0F); // Box 22 - pipModel[17].setRotationPoint(5F, 2F, -1F); - - pipModel[18].addBox(-1F, -0.5F, 0F, 1, 3, 1, 0F); // Box 23 - pipModel[18].setRotationPoint(9F, 2F, -0.5F); - pipModel[18].rotateAngleZ = 0.43633231F; - - pipModel[19].addBox(0F, 0F, 0F, 5, 1, 2, 0F); // Box 24 - pipModel[19].setRotationPoint(-19.5F, -6.5F, -1F); - - pipModel[20].addBox(0F, 0F, 0F, 4, 1, 1, 0F); // Box 25 - pipModel[20].setRotationPoint(-19F, -7.5F, -0.5F); - pipModel[20].rotateAngleZ = 0.26179939F; - - pipModel[21].addBox(0F, 0F, 0F, 15, 1, 2, 0F); // Box 26 - pipModel[21].setRotationPoint(-4F, -7F, -1F); - - pipModel[22].addBox(1F, 0F, 0F, 3, 4, 3, 0F); // Box 27 - pipModel[22].setRotationPoint(-3F, -12F, -1.5F); - - pipModel[23].addBox(1F, 0F, 0F, 3, 3, 4, 0F); // Box 28 - pipModel[23].setRotationPoint(-3F, -11.5F, -2F); - - pipModel[24].addBox(0F, 0F, 0F, 3, 3, 4, 0F); // Box 29 - pipModel[24].setRotationPoint(6F, -11.5F, -2F); - - pipModel[25].addBox(0F, 0F, 0F, 3, 4, 3, 0F); // Box 30 - pipModel[25].setRotationPoint(6F, -12F, -1.5F); - - pipModel[26].addBox(0F, 0F, 0F, 13, 3, 3, 0F); // Box 31 - pipModel[26].setRotationPoint(-3F, -11.5F, -1.5F); - - pipModel[27].addBox(0F, 0F, 0F, 3, 4, 3, 0F); // Box 32 - pipModel[27].setRotationPoint(-6F, -12F, -1.5F); - - pipModel[28].addBox(0F, 0F, 0F, 3, 3, 4, 0F); // Box 33 - pipModel[28].setRotationPoint(-6F, -11.5F, -2F); - - pipModel[29].addBox(0F, 0F, 0F, 4, 5, 3, 0F); // Box 34 - pipModel[29].setRotationPoint(-10F, -12.5F, -1.5F); - - pipModel[30].addBox(0F, 0F, 0F, 4, 3, 5, 0F); // Box 35 - pipModel[30].setRotationPoint(-10F, -11.5F, -2.5F); - - pipModel[31].addBox(0F, 0F, 0F, 4, 4, 4, 0F); // Box 36 - pipModel[31].setRotationPoint(-10F, -12F, -2F); - - pipModel[32].addBox(0F, 0F, 0F, 5, 3, 4, 0F); // Box 37 - pipModel[32].setRotationPoint(10F, -11.5F, -2F); - - pipModel[33].addBox(0F, 0F, 0F, 5, 4, 3, 0F); // Box 38 - pipModel[33].setRotationPoint(10F, -12F, -1.5F); - - pipModel[34].addBox(0F, 0F, 0F, 3, 4, 4, 0F); // Box 39 - pipModel[34].setRotationPoint(2F, -12F, -2F); - - pipModel[35].addBox(0F, 0F, 0F, 3, 1, 1, 0F); // Box 40 - pipModel[35].setRotationPoint(-2F, -8F, -0.5F); - - pipModel[36].addBox(0F, 0F, 0F, 3, 1, 1, 0F); // Box 41 - pipModel[36].setRotationPoint(6F, -8F, -0.5F); - - pipModel[37].addBox(0F, 0F, 0F, 2, 1, 2, 0F); // Box 42 - pipModel[37].setRotationPoint(2.5F, -12.5F, -1F); - - pipModel[38].addBox(0F, 0F, 0F, 3, 1, 3, 0F); // Box 43 - pipModel[38].setRotationPoint(2F, -13.5F, -1.5F); - - - for(int i = 0; i < 39; i++) - { - pipModel[i].setTextureSize(textureX, textureY); - pipModel[i].mirror = true; - } - - } - - @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - GL11.glDisable(GL11.GL_CULL_FACE); - for(int i = 0; i < 39; i++) - { - pipModel[i].render(f5); - } - GL11.glEnable(GL11.GL_CULL_FACE); - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/render/model/ModelPoleTop.java b/src/main/java/com/hbm/render/model/ModelPoleTop.java index deb9cc0c2..bfa6ec289 100644 --- a/src/main/java/com/hbm/render/model/ModelPoleTop.java +++ b/src/main/java/com/hbm/render/model/ModelPoleTop.java @@ -4,104 +4,81 @@ // Keep in mind that you still need to fill in some blanks // - ZeuX - - - - - package com.hbm.render.model; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -public class ModelPoleTop extends ModelBase -{ - //fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - - public ModelPoleTop() - { - textureWidth = 64; - textureHeight = 64; - - Shape1 = new ModelRenderer(this, 0, 1); - Shape1.addBox(0F, 0F, 0F, 12, 8, 12); - Shape1.setRotationPoint(-6F, 16F, -6F); - Shape1.setTextureSize(64, 64); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 23); - Shape2.addBox(0F, 0F, 0F, 4, 16, 4); - Shape2.setRotationPoint(4F, 4F, -8F); - Shape2.setTextureSize(64, 64); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 23); - Shape3.addBox(0F, 0F, 0F, 4, 16, 4); - Shape3.setRotationPoint(4F, 4F, 4F); - Shape3.setTextureSize(64, 64); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 0, 23); - Shape4.addBox(0F, 0F, 0F, 4, 16, 4); - Shape4.setRotationPoint(-8F, 4F, -8F); - Shape4.setTextureSize(64, 64); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 0, 23); - Shape5.addBox(0F, 0F, 0F, 4, 16, 4); - Shape5.setRotationPoint(-8F, 4F, 4F); - Shape5.setTextureSize(64, 64); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 0, 47); - Shape6.addBox(0F, 0F, 0F, 4, 2, 4); - Shape6.setRotationPoint(-2F, 14F, -2F); - Shape6.setTextureSize(64, 64); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void renderModel(float f) - { - Shape1.render(f); - Shape2.render(f); - Shape3.render(f); - Shape4.render(f); - Shape5.render(f); - Shape6.render(f); - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } +public class ModelPoleTop extends ModelBase { + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + ModelRenderer Shape4; + ModelRenderer Shape5; + ModelRenderer Shape6; + + public ModelPoleTop() { + this.textureWidth = 64; + this.textureHeight = 64; + + this.Shape1 = new ModelRenderer(this, 0, 1); + this.Shape1.addBox(0F, 0F, 0F, 12, 8, 12); + this.Shape1.setRotationPoint(-6F, 16F, -6F); + this.Shape1.setTextureSize(64, 64); + this.Shape1.mirror = true; + setRotation(this.Shape1, 0F, 0F, 0F); + this.Shape2 = new ModelRenderer(this, 0, 23); + this.Shape2.addBox(0F, 0F, 0F, 4, 16, 4); + this.Shape2.setRotationPoint(4F, 4F, -8F); + this.Shape2.setTextureSize(64, 64); + this.Shape2.mirror = true; + setRotation(this.Shape2, 0F, 0F, 0F); + this.Shape3 = new ModelRenderer(this, 0, 23); + this.Shape3.addBox(0F, 0F, 0F, 4, 16, 4); + this.Shape3.setRotationPoint(4F, 4F, 4F); + this.Shape3.setTextureSize(64, 64); + this.Shape3.mirror = true; + setRotation(this.Shape3, 0F, 0F, 0F); + this.Shape4 = new ModelRenderer(this, 0, 23); + this.Shape4.addBox(0F, 0F, 0F, 4, 16, 4); + this.Shape4.setRotationPoint(-8F, 4F, -8F); + this.Shape4.setTextureSize(64, 64); + this.Shape4.mirror = true; + setRotation(this.Shape4, 0F, 0F, 0F); + this.Shape5 = new ModelRenderer(this, 0, 23); + this.Shape5.addBox(0F, 0F, 0F, 4, 16, 4); + this.Shape5.setRotationPoint(-8F, 4F, 4F); + this.Shape5.setTextureSize(64, 64); + this.Shape5.mirror = true; + setRotation(this.Shape5, 0F, 0F, 0F); + this.Shape6 = new ModelRenderer(this, 0, 47); + this.Shape6.addBox(0F, 0F, 0F, 4, 2, 4); + this.Shape6.setRotationPoint(-2F, 14F, -2F); + this.Shape6.setTextureSize(64, 64); + this.Shape6.mirror = true; + setRotation(this.Shape6, 0F, 0F, 0F); + } + + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.renderModel(scaleFactor); + } + + public void renderModel(float scaleFactor) { + this.Shape1.render(scaleFactor); + this.Shape2.render(scaleFactor); + this.Shape3.render(scaleFactor); + this.Shape4.render(scaleFactor); + this.Shape5.render(scaleFactor); + this.Shape6.render(scaleFactor); + } + + private static void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } } diff --git a/src/main/java/com/hbm/render/model/ModelPoles.java b/src/main/java/com/hbm/render/model/ModelPoles.java deleted file mode 100644 index 8c18b69ed..000000000 --- a/src/main/java/com/hbm/render/model/ModelPoles.java +++ /dev/null @@ -1,134 +0,0 @@ -// Date: 04.10.2015 20:54:36 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - - - - - - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelPoles extends ModelBase -{ - //fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - - public ModelPoles() - { - textureWidth = 64; - textureHeight = 64; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 2, 16, 2); - Shape1.setRotationPoint(-1F, 8F, 4F); - Shape1.setTextureSize(64, 64); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 0); - Shape2.addBox(0F, 0F, 0F, 2, 16, 2); - Shape2.setRotationPoint(4F, 8F, -6F); - Shape2.setTextureSize(64, 64); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 0); - Shape3.addBox(0F, 0F, 0F, 2, 16, 2); - Shape3.setRotationPoint(-6F, 8F, -6F); - Shape3.setTextureSize(64, 64); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 0, 41); - Shape4.addBox(0F, -1F, 0F, 13, 1, 1); - Shape4.setRotationPoint(-4F, 21F, -5.5F); - Shape4.setTextureSize(64, 64); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, -0.7853982F); - Shape5 = new ModelRenderer(this, 0, 41); - Shape5.addBox(0F, 0F, 0F, 13, 1, 1); - Shape5.setRotationPoint(4F, 21F, -5.5F); - Shape5.setTextureSize(64, 64); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, -2.356194F); - Shape6 = new ModelRenderer(this, 0, 18); - Shape6.addBox(0F, -1F, 0F, 1, 1, 15); - Shape6.setRotationPoint(-5.533333F, 21F, -4F); - Shape6.setTextureSize(64, 64); - Shape6.mirror = true; - setRotation(Shape6, 0.7853982F, 0.4886922F, 0F); - Shape7 = new ModelRenderer(this, 0, 18); - Shape7.addBox(0F, 0F, 0F, 1, 1, 15); - Shape7.setRotationPoint(-5.5F, 12F, -4F); - Shape7.setTextureSize(64, 64); - Shape7.mirror = true; - setRotation(Shape7, -0.7853982F, 0.4886922F, 0F); - Shape8 = new ModelRenderer(this, 0, 18); - Shape8.addBox(-1F, 0F, 0F, 1, 1, 15); - Shape8.setRotationPoint(5.5F, 12F, -4F); - Shape8.setTextureSize(64, 64); - Shape8.mirror = true; - setRotation(Shape8, -0.7853982F, -0.4886922F, 0F); - Shape9 = new ModelRenderer(this, 0, 18); - Shape9.addBox(-1F, -1F, 0F, 1, 1, 15); - Shape9.setRotationPoint(5.5F, 21F, -4F); - Shape9.setTextureSize(64, 64); - Shape9.mirror = true; - setRotation(Shape9, 0.7853982F, -0.4886922F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void renderModel(float f) - { - Shape1.render(f); - Shape2.render(f); - Shape3.render(f); - Shape4.render(f); - Shape5.render(f); - Shape6.render(f); - Shape7.render(f); - Shape8.render(f); - Shape9.render(f); - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelPylon.java b/src/main/java/com/hbm/render/model/ModelPylon.java index 8f37b769a..3fffe8e93 100755 --- a/src/main/java/com/hbm/render/model/ModelPylon.java +++ b/src/main/java/com/hbm/render/model/ModelPylon.java @@ -13,62 +13,51 @@ import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -public class ModelPylon extends ModelBase -{ - int textureX = 64; - int textureY = 128; +public class ModelPylon extends ModelBase { - public ModelRenderer pylonModel[]; + public ModelRenderer[] pylonModel; - public ModelPylon() - { - textureWidth = 64; - textureHeight = 128; - pylonModel = new ModelRenderer[4]; - pylonModel[0] = new ModelRenderer(this, 0, 96); // Box 0 - pylonModel[1] = new ModelRenderer(this, 1, 1); // Box 1 - pylonModel[2] = new ModelRenderer(this, 24, 1); // Box 2 - pylonModel[3] = new ModelRenderer(this, 25, 17); // Box 3 + public ModelPylon() { + this.textureWidth = 64; + this.textureHeight = 128; - pylonModel[0].addBox(0F, 0F, 0F, 16, 16, 16, 0F); // Box 0 - pylonModel[0].setRotationPoint(-8F, -6F, -8F); + this.pylonModel = new ModelRenderer[4]; + this.pylonModel[0] = new ModelRenderer(this, 0, 96); // Box 0 + this.pylonModel[1] = new ModelRenderer(this, 1, 1); // Box 1 + this.pylonModel[2] = new ModelRenderer(this, 24, 1); // Box 2 + this.pylonModel[3] = new ModelRenderer(this, 25, 17); // Box 3 - pylonModel[1].addBox(0F, 0F, 0F, 4, 73, 4, 0F); // Box 1 - pylonModel[1].setRotationPoint(-2F, -79F, -2F); + this.pylonModel[0].addBox(0F, 0F, 0F, 16, 16, 16, 0F); // Box 0 + this.pylonModel[0].setRotationPoint(-8F, -6F, -8F); - pylonModel[2].addBox(0F, 0F, 0F, 6, 4, 6, 0F); // Box 2 - pylonModel[2].setRotationPoint(-3F, -74F, -3F); + this.pylonModel[1].addBox(0F, 0F, 0F, 4, 73, 4, 0F); // Box 1 + this.pylonModel[1].setRotationPoint(-2F, -79F, -2F); - pylonModel[3].addBox(0F, 0F, 0F, 6, 2, 6, 0F); // Box 3 - pylonModel[3].setRotationPoint(-3F, -78F, -3F); + this.pylonModel[2].addBox(0F, 0F, 0F, 6, 4, 6, 0F); // Box 2 + this.pylonModel[2].setRotationPoint(-3F, -74F, -3F); + + this.pylonModel[3].addBox(0F, 0F, 0F, 6, 2, 6, 0F); // Box 3 + this.pylonModel[3].setRotationPoint(-3F, -78F, -3F); - for(int i = 0; i < pylonModel.length; i++) { - pylonModel[i].setTextureSize(textureX, textureY); - pylonModel[i].mirror = true; + for (ModelRenderer modelRenderer : this.pylonModel) { + modelRenderer.setTextureSize(this.textureWidth, this.textureHeight); + modelRenderer.mirror = true; } } @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - for(int i = 0; i < 4; i++) - { - pylonModel[i].render(f5); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + for(int i = 0; i < 4; i++) { + this.pylonModel[i].render(scaleFactor); } } - public void renderAll(float f5) - { - for(int i = 0; i < 4; i++) - { - pylonModel[i].render(f5); + public void renderAll(float scaleFactor) { + + for(int i = 0; i < 4; i++) { + this.pylonModel[i].render(scaleFactor); } } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/render/model/ModelRPG.java b/src/main/java/com/hbm/render/model/ModelRPG.java deleted file mode 100644 index a09361821..000000000 --- a/src/main/java/com/hbm/render/model/ModelRPG.java +++ /dev/null @@ -1,133 +0,0 @@ -// Date: 20.07.2015 22:06:51 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - - - - - - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelRPG extends ModelBase -{ - //fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - - public ModelRPG() - { - textureWidth = 64; - textureHeight = 32; - - Shape1 = new ModelRenderer(this, 0, 27); - Shape1.addBox(0F, 0F, 0F, 1, 4, 1); - Shape1.setRotationPoint(0F, -1F, 0F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 24); - Shape2.addBox(0F, 0F, 0F, 1, 2, 1); - Shape2.setRotationPoint(3F, 0F, 0F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 18); - Shape3.addBox(0F, 0F, 0F, 8, 2, 2); - Shape3.setRotationPoint(2F, -2F, -0.5F); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 0, 16); - Shape4.addBox(0F, 0F, 0F, 4, 1, 1); - Shape4.setRotationPoint(10F, -1.5F, 0F); - Shape4.setTextureSize(64, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 0, 12); - Shape5.addBox(0F, 0F, 0F, 3, 2, 2); - Shape5.setRotationPoint(14F, -2F, -0.5F); - Shape5.setTextureSize(64, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 4, 30); - Shape6.addBox(0F, 0F, 0F, 4, 1, 1); - Shape6.setRotationPoint(-2F, -1.5F, 0F); - Shape6.setTextureSize(64, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 30, 0); - Shape7.addBox(0F, 0F, 0F, 1, 2, 2); - Shape7.setRotationPoint(-3F, -2F, -0.5F); - Shape7.setTextureSize(64, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - Shape8 = new ModelRenderer(this, 13, 0); - Shape8.addBox(0F, 0F, 0F, 5, 1, 1); - Shape8.setRotationPoint(-8F, -1.5F, 0F); - Shape8.setTextureSize(64, 32); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - Shape9 = new ModelRenderer(this, 0, 0); - Shape9.addBox(0F, 0F, 0F, 3, 2, 2); - Shape9.setRotationPoint(-6.5F, -2F, -0.5F); - Shape9.setTextureSize(64, 32); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - } - - public void renderModel(float f) { - Shape1.render(f); - Shape2.render(f); - Shape3.render(f); - Shape4.render(f); - Shape5.render(f); - Shape6.render(f); - Shape7.render(f); - Shape8.render(f); - Shape9.render(f); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelRadio.java b/src/main/java/com/hbm/render/model/ModelRadio.java index 7efdd0118..fa543ec8f 100644 --- a/src/main/java/com/hbm/render/model/ModelRadio.java +++ b/src/main/java/com/hbm/render/model/ModelRadio.java @@ -5,57 +5,55 @@ import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelRadio extends ModelBase { - // fields + ModelRenderer Box; ModelRenderer Plate; ModelRenderer Lever; public ModelRadio() { - textureWidth = 32; - textureHeight = 32; + this.textureWidth = 32; + this.textureHeight = 32; - Box = new ModelRenderer(this, 0, 0); - Box.addBox(0F, 0F, 0F, 8, 14, 4); - Box.setRotationPoint(-4F, 9F, -12F); - Box.setTextureSize(32, 32); - Box.mirror = true; - setRotation(Box, 0F, 0F, 0F); - Plate = new ModelRenderer(this, 0, 18); - Plate.addBox(0F, 0F, 0F, 7, 13, 1); - Plate.setRotationPoint(-3.5F, 9.5F, -12.5F); - Plate.setTextureSize(32, 32); - Plate.mirror = true; - setRotation(Plate, 0F, 0F, 0F); - Lever = new ModelRenderer(this, 16, 18); - Lever.addBox(0F, -1F, -1F, 2, 8, 2); - Lever.setRotationPoint(4F, 16F, -10F); - Lever.setTextureSize(32, 32); - Lever.mirror = true; - setRotation(Lever, 0F, 0F, 0F); + this.Box = new ModelRenderer(this, 0, 0); + this.Box.addBox(0F, 0F, 0F, 8, 14, 4); + this.Box.setRotationPoint(-4F, 9F, -12F); + this.Box.setTextureSize(32, 32); + this.Box.mirror = true; + setRotation(this.Box, 0F, 0F, 0F); + this.Plate = new ModelRenderer(this, 0, 18); + this.Plate.addBox(0F, 0F, 0F, 7, 13, 1); + this.Plate.setRotationPoint(-3.5F, 9.5F, -12.5F); + this.Plate.setTextureSize(32, 32); + this.Plate.mirror = true; + setRotation(this.Plate, 0F, 0F, 0F); + this.Lever = new ModelRenderer(this, 16, 18); + this.Lever.addBox(0F, -1F, -1F, 2, 8, 2); + this.Lever.setRotationPoint(4F, 16F, -10F); + this.Lever.setTextureSize(32, 32); + this.Lever.mirror = true; + setRotation(this.Lever, 0F, 0F, 0F); } - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Box.render(f5); - Plate.render(f5); - Lever.render(f5); + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.Box.render(scaleFactor); + this.Plate.render(scaleFactor); + this.Lever.render(scaleFactor); } - public void renderModel(float f5, int deg) { - Box.render(f5); - Plate.render(f5); - Lever.rotateAngleX = -(float)(deg / 180F * Math.PI); - Lever.render(f5); + public void renderModel(float scaleFactor, int rotation) { + + this.Box.render(scaleFactor); + this.Plate.render(scaleFactor); + this.Lever.rotateAngleX = -(float)(rotation / 180F * Math.PI); + this.Lever.render(scaleFactor); } - private void setRotation(ModelRenderer model, float x, float y, float z) { + private static void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } } diff --git a/src/main/java/com/hbm/render/model/ModelRainbow.java b/src/main/java/com/hbm/render/model/ModelRainbow.java deleted file mode 100644 index f9d1a6ed0..000000000 --- a/src/main/java/com/hbm/render/model/ModelRainbow.java +++ /dev/null @@ -1,125 +0,0 @@ -// Date: 30.07.2016 17:36:41 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - - - - - - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelRainbow extends ModelBase -{ - //fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - - public ModelRainbow() - { - textureWidth = 32; - textureHeight = 32; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 8, 2, 2); - Shape1.setRotationPoint(-4F, -1F, 1F); - Shape1.setTextureSize(32, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 16); - Shape2.addBox(0F, 0F, 0F, 8, 1, 1); - Shape2.setRotationPoint(-5F, -4F, -1F); - Shape2.setTextureSize(32, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 4); - Shape3.addBox(0F, 0F, 0F, 6, 1, 1); - Shape3.setRotationPoint(-1F, -1F, -2F); - Shape3.setTextureSize(32, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 0, 6); - Shape4.addBox(0F, 0F, 0F, 8, 1, 1); - Shape4.setRotationPoint(-6F, 2F, -1F); - Shape4.setTextureSize(32, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 0, 14); - Shape5.addBox(0F, 0F, 0F, 6, 1, 1); - Shape5.setRotationPoint(-3F, -3F, 2F); - Shape5.setTextureSize(32, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 0, 12); - Shape6.addBox(0F, 0F, 0F, 8, 1, 1); - Shape6.setRotationPoint(-3F, -4F, 4F); - Shape6.setTextureSize(32, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 0, 10); - Shape7.addBox(0F, 0F, 0F, 7, 1, 1); - Shape7.setRotationPoint(-6F, 0F, 5F); - Shape7.setTextureSize(32, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - Shape8 = new ModelRenderer(this, 0, 8); - Shape8.addBox(0F, 0F, 0F, 6, 1, 1); - Shape8.setRotationPoint(-2F, 2F, 3F); - Shape8.setTextureSize(32, 32); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - - public void renderAll(float f5) - { - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelRevolver.java b/src/main/java/com/hbm/render/model/ModelRevolver.java index 5a22711b0..c9da656d6 100644 --- a/src/main/java/com/hbm/render/model/ModelRevolver.java +++ b/src/main/java/com/hbm/render/model/ModelRevolver.java @@ -4,11 +4,6 @@ // Keep in mind that you still need to fill in some blanks // - ZeuX - - - - - package com.hbm.render.model; import org.lwjgl.opengl.GL11; @@ -17,9 +12,8 @@ import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -public class ModelRevolver extends ModelBase -{ - //fields +public class ModelRevolver extends ModelBase { + ModelRenderer Shape1; ModelRenderer Shape2; ModelRenderer Shape3; @@ -32,118 +26,108 @@ public class ModelRevolver extends ModelBase ModelRenderer Shape10; ModelRenderer Shape11; ModelRenderer Shape12; - - public ModelRevolver() - { - textureWidth = 64; - textureHeight = 64; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 3, 8, 2); - Shape1.setRotationPoint(0F, 0F, 0F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, -0.3490659F); - Shape2 = new ModelRenderer(this, 42, 0); - Shape2.addBox(0F, 0F, 0F, 9, 6, 2); - Shape2.setRotationPoint(-8F, -5F, 0F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 14); - Shape3.addBox(0F, 0F, 0F, 4, 2, 1); - Shape3.setRotationPoint(-0.03333334F, -3F, 0.5F); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0.715585F); - Shape4 = new ModelRenderer(this, 22, 0); - Shape4.addBox(0F, 0F, 0F, 6, 4, 4); - Shape4.setRotationPoint(-7F, -4F, -1F); - Shape4.setTextureSize(64, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 0, 0); - Shape5.addBox(0F, 0F, 0F, 1, 1, 1); - Shape5.setRotationPoint(0F, 0F, 0F); - Shape5.setTextureSize(64, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 34, 8); - Shape6.addBox(0F, 0F, 0F, 13, 2, 2); - Shape6.setRotationPoint(-21F, -4F, 0F); - Shape6.setTextureSize(64, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 0, 17); - Shape7.addBox(0F, 0F, 0F, 1, 2, 1); - Shape7.setRotationPoint(2F, -3F, 0.5F); - Shape7.setTextureSize(64, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0.715585F); - Shape8 = new ModelRenderer(this, 4, 17); - Shape8.addBox(0F, 0F, 0F, 2, 1, 1); - Shape8.setRotationPoint(2F, -4F, 0.5F); - Shape8.setTextureSize(64, 32); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0.715585F); - Shape9 = new ModelRenderer(this, 0, 20); - Shape9.addBox(0F, 0F, 0F, 6, 1, 1); - Shape9.setRotationPoint(-14F, -2F, 0.5F); - Shape9.setTextureSize(64, 32); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - Shape10 = new ModelRenderer(this, 26, 8); - Shape10.addBox(0F, 0F, 0F, 2, 2, 2); - Shape10.setRotationPoint(-19F, -5F, 0F); - Shape10.setTextureSize(64, 32); - Shape10.mirror = true; - setRotation(Shape10, 0F, 0F, 0.6108652F); - Shape11 = new ModelRenderer(this, 0, 10); - Shape11.addBox(0F, 0F, 0F, 4, 3, 1); - Shape11.setRotationPoint(-2F, 1F, 0.5F); - Shape11.setTextureSize(64, 32); - Shape11.mirror = true; - setRotation(Shape11, 0F, 0F, 0F); - Shape12 = new ModelRenderer(this, 10, 0); - Shape12.addBox(0F, 0F, 0F, 1, 3, 1); - Shape12.setRotationPoint(0F, 0F, 0.5F); - Shape12.setTextureSize(64, 32); - Shape12.mirror = true; - setRotation(Shape12, 0F, 0F, 0.5235988F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - GL11.glDisable(GL11.GL_CULL_FACE); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - Shape10.render(f5); - Shape11.render(f5); - Shape12.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } + public ModelRevolver() { + this.textureWidth = 64; + this.textureHeight = 64; + + this.Shape1 = new ModelRenderer(this, 0, 0); + this.Shape1.addBox(0F, 0F, 0F, 3, 8, 2); + this.Shape1.setRotationPoint(0F, 0F, 0F); + this.Shape1.setTextureSize(64, 32); + this.Shape1.mirror = true; + setRotation(this.Shape1, 0F, 0F, -0.3490659F); + this.Shape2 = new ModelRenderer(this, 42, 0); + this.Shape2.addBox(0F, 0F, 0F, 9, 6, 2); + this.Shape2.setRotationPoint(-8F, -5F, 0F); + this.Shape2.setTextureSize(64, 32); + this.Shape2.mirror = true; + setRotation(this.Shape2, 0F, 0F, 0F); + this.Shape3 = new ModelRenderer(this, 0, 14); + this.Shape3.addBox(0F, 0F, 0F, 4, 2, 1); + this.Shape3.setRotationPoint(-0.03333334F, -3F, 0.5F); + this.Shape3.setTextureSize(64, 32); + this.Shape3.mirror = true; + setRotation(this.Shape3, 0F, 0F, 0.715585F); + this.Shape4 = new ModelRenderer(this, 22, 0); + this.Shape4.addBox(0F, 0F, 0F, 6, 4, 4); + this.Shape4.setRotationPoint(-7F, -4F, -1F); + this.Shape4.setTextureSize(64, 32); + this.Shape4.mirror = true; + setRotation(this.Shape4, 0F, 0F, 0F); + this.Shape5 = new ModelRenderer(this, 0, 0); + this.Shape5.addBox(0F, 0F, 0F, 1, 1, 1); + this.Shape5.setRotationPoint(0F, 0F, 0F); + this.Shape5.setTextureSize(64, 32); + this.Shape5.mirror = true; + setRotation(this.Shape5, 0F, 0F, 0F); + this.Shape6 = new ModelRenderer(this, 34, 8); + this.Shape6.addBox(0F, 0F, 0F, 13, 2, 2); + this.Shape6.setRotationPoint(-21F, -4F, 0F); + this.Shape6.setTextureSize(64, 32); + this.Shape6.mirror = true; + setRotation(this.Shape6, 0F, 0F, 0F); + this.Shape7 = new ModelRenderer(this, 0, 17); + this.Shape7.addBox(0F, 0F, 0F, 1, 2, 1); + this.Shape7.setRotationPoint(2F, -3F, 0.5F); + this.Shape7.setTextureSize(64, 32); + this.Shape7.mirror = true; + setRotation(this.Shape7, 0F, 0F, 0.715585F); + this.Shape8 = new ModelRenderer(this, 4, 17); + this.Shape8.addBox(0F, 0F, 0F, 2, 1, 1); + this.Shape8.setRotationPoint(2F, -4F, 0.5F); + this.Shape8.setTextureSize(64, 32); + this.Shape8.mirror = true; + setRotation(this.Shape8, 0F, 0F, 0.715585F); + this.Shape9 = new ModelRenderer(this, 0, 20); + this.Shape9.addBox(0F, 0F, 0F, 6, 1, 1); + this.Shape9.setRotationPoint(-14F, -2F, 0.5F); + this.Shape9.setTextureSize(64, 32); + this.Shape9.mirror = true; + setRotation(this.Shape9, 0F, 0F, 0F); + this.Shape10 = new ModelRenderer(this, 26, 8); + this.Shape10.addBox(0F, 0F, 0F, 2, 2, 2); + this.Shape10.setRotationPoint(-19F, -5F, 0F); + this.Shape10.setTextureSize(64, 32); + this.Shape10.mirror = true; + setRotation(this.Shape10, 0F, 0F, 0.6108652F); + this.Shape11 = new ModelRenderer(this, 0, 10); + this.Shape11.addBox(0F, 0F, 0F, 4, 3, 1); + this.Shape11.setRotationPoint(-2F, 1F, 0.5F); + this.Shape11.setTextureSize(64, 32); + this.Shape11.mirror = true; + setRotation(this.Shape11, 0F, 0F, 0F); + this.Shape12 = new ModelRenderer(this, 10, 0); + this.Shape12.addBox(0F, 0F, 0F, 1, 3, 1); + this.Shape12.setRotationPoint(0F, 0F, 0.5F); + this.Shape12.setTextureSize(64, 32); + this.Shape12.mirror = true; + setRotation(this.Shape12, 0F, 0F, 0.5235988F); + } + + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + GL11.glDisable(GL11.GL_CULL_FACE); + this.Shape1.render(scaleFactor); + this.Shape2.render(scaleFactor); + this.Shape3.render(scaleFactor); + this.Shape4.render(scaleFactor); + this.Shape5.render(scaleFactor); + this.Shape6.render(scaleFactor); + this.Shape7.render(scaleFactor); + this.Shape8.render(scaleFactor); + this.Shape9.render(scaleFactor); + this.Shape10.render(scaleFactor); + this.Shape11.render(scaleFactor); + this.Shape12.render(scaleFactor); + GL11.glEnable(GL11.GL_CULL_FACE); + } + + private static void setRotation(ModelRenderer model, float x, float y, float z) { + + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } } diff --git a/src/main/java/com/hbm/render/model/ModelRocket.java b/src/main/java/com/hbm/render/model/ModelRocket.java deleted file mode 100644 index 78dbc2895..000000000 --- a/src/main/java/com/hbm/render/model/ModelRocket.java +++ /dev/null @@ -1,121 +0,0 @@ -// Date: 20.01.2019 12:33:09 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelRocket extends ModelBase { - // fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - - public ModelRocket() { - textureWidth = 32; - textureHeight = 32; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 7, 2, 2); - Shape1.setRotationPoint(0F, -1F, -1F); - Shape1.setTextureSize(32, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 4); - Shape2.addBox(0F, 0F, 0F, 3, 1, 1); - Shape2.setRotationPoint(-3F, -0.5F, -0.5F); - Shape2.setTextureSize(32, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 8, 4); - Shape3.addBox(0F, 0F, 0F, 3, 1, 1); - Shape3.setRotationPoint(-3F, -0.5F, -0.5F); - Shape3.setTextureSize(32, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0.1745329F, 0F); - Shape4 = new ModelRenderer(this, 0, 6); - Shape4.addBox(0F, 0F, -1F, 3, 1, 1); - Shape4.setRotationPoint(-3F, -0.5F, 0.5F); - Shape4.setTextureSize(32, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, -0.1745329F, 0F); - Shape5 = new ModelRenderer(this, 8, 6); - Shape5.addBox(0F, 0F, 0F, 3, 1, 1); - Shape5.setRotationPoint(-3F, -0.5F, -0.5F); - Shape5.setTextureSize(32, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, -0.1745329F); - Shape6 = new ModelRenderer(this, 0, 8); - Shape6.addBox(0F, -1F, 0F, 3, 1, 1); - Shape6.setRotationPoint(-3F, 0.5F, -0.5F); - Shape6.setTextureSize(32, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0.1745329F); - Shape7 = new ModelRenderer(this, 0, 10); - Shape7.addBox(0F, 0F, 0F, 4, 4, 0); - Shape7.setRotationPoint(4F, 0F, 0F); - Shape7.setTextureSize(32, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, -0.7853982F); - Shape8 = new ModelRenderer(this, 0, 14); - Shape8.addBox(0F, 0F, 0F, 4, 0, 4); - Shape8.setRotationPoint(4F, 0F, 0F); - Shape8.setTextureSize(32, 32); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0.7853982F, 0F); - Shape9 = new ModelRenderer(this, 8, 8); - Shape9.addBox(0F, 0F, 0F, 1, 1, 1); - Shape9.setRotationPoint(7F, -0.5F, -0.5F); - Shape9.setTextureSize(32, 32); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - } - - public void renderAll(float f5) { - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelRocketOld.java b/src/main/java/com/hbm/render/model/ModelRocketOld.java deleted file mode 100644 index a1c846d49..000000000 --- a/src/main/java/com/hbm/render/model/ModelRocketOld.java +++ /dev/null @@ -1,63 +0,0 @@ -// Date: 20.07.2015 22:08:24 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelRocketOld extends ModelBase { - // fields - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - - public ModelRocketOld() { - textureWidth = 64; - textureHeight = 32; - - Shape7 = new ModelRenderer(this, 10, 0); - Shape7.addBox(0F, 0F, 0F, 1, 2, 2); - Shape7.setRotationPoint(-3F, -2F, -0.5F); - Shape7.setTextureSize(64, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - Shape8 = new ModelRenderer(this, 0, 4); - Shape8.addBox(0F, 0F, 0F, 10, 1, 1); - Shape8.setRotationPoint(-8F, -1.5F, 0F); - Shape8.setTextureSize(64, 32); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - Shape9 = new ModelRenderer(this, 0, 0); - Shape9.addBox(0F, 0F, 0F, 3, 2, 2); - Shape9.setRotationPoint(-6.5F, -2F, -0.5F); - Shape9.setTextureSize(64, 32); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - } - - @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelRotationTester.java b/src/main/java/com/hbm/render/model/ModelRotationTester.java index 083645b02..f046048d7 100644 --- a/src/main/java/com/hbm/render/model/ModelRotationTester.java +++ b/src/main/java/com/hbm/render/model/ModelRotationTester.java @@ -4,67 +4,50 @@ // Keep in mind that you still need to fill in some blanks // - ZeuX - - - - - package com.hbm.render.model; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -public class ModelRotationTester extends ModelBase -{ - //fields - ModelRenderer Shape1; - ModelRenderer Shape2; - - public ModelRotationTester() - { - textureWidth = 64; - textureHeight = 32; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 16, 8, 16); - Shape1.setRotationPoint(-8F, 16F, -8F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 0); - Shape2.addBox(0F, 0F, 0F, 16, 8, 8); - Shape2.setRotationPoint(-8F, 8F, 0F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - } - - public void renderModel(float f) { - Shape1.render(f); - Shape2.render(f); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } +public class ModelRotationTester extends ModelBase { + ModelRenderer Shape1; + ModelRenderer Shape2; + + public ModelRotationTester() { + this.textureWidth = 64; + this.textureHeight = 32; + + this.Shape1 = new ModelRenderer(this, 0, 0); + this.Shape1.addBox(0F, 0F, 0F, 16, 8, 16); + this.Shape1.setRotationPoint(-8F, 16F, -8F); + this.Shape1.setTextureSize(64, 32); + this.Shape1.mirror = true; + setRotation(this.Shape1, 0F, 0F, 0F); + this.Shape2 = new ModelRenderer(this, 0, 0); + this.Shape2.addBox(0F, 0F, 0F, 16, 8, 8); + this.Shape2.setRotationPoint(-8F, 8F, 0F); + this.Shape2.setTextureSize(64, 32); + this.Shape2.mirror = true; + setRotation(this.Shape2, 0F, 0F, 0F); + } + + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.renderModel(scaleFactor); + } + + public void renderModel(float scaleFactor) { + + this.Shape1.render(scaleFactor); + this.Shape2.render(scaleFactor); + } + + private static void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } } diff --git a/src/main/java/com/hbm/render/model/ModelRubble.java b/src/main/java/com/hbm/render/model/ModelRubble.java index 642d1a956..b4af2e901 100644 --- a/src/main/java/com/hbm/render/model/ModelRubble.java +++ b/src/main/java/com/hbm/render/model/ModelRubble.java @@ -11,7 +11,7 @@ import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelRubble extends ModelBase { - // fields + ModelRenderer Shape1; ModelRenderer Shape2; ModelRenderer Shape3; @@ -24,109 +24,95 @@ public class ModelRubble extends ModelBase { ModelRenderer Shape10; public ModelRubble() { - textureWidth = 16; - textureHeight = 16; + this.textureWidth = 16; + this.textureHeight = 16; - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 14, 6, 6); - Shape1.setRotationPoint(-7F, 1F, 2F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 0); - Shape2.addBox(0F, 0F, 0F, 6, 13, 5); - Shape2.setRotationPoint(-7F, -6F, -5F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 0); - Shape3.addBox(0F, 0F, 0F, 6, 6, 6); - Shape3.setRotationPoint(1F, 1F, -5F); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 0, 0); - Shape4.addBox(0F, 0F, 0F, 14, 7, 4); - Shape4.setRotationPoint(-7F, -7F, 2F); - Shape4.setTextureSize(64, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0.4363323F, 0F); - Shape5 = new ModelRenderer(this, 0, 0); - Shape5.addBox(0F, 0F, 0F, 6, 6, 11); - Shape5.setRotationPoint(0F, -6F, -5F); - Shape5.setTextureSize(64, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 0, 0); - Shape6.addBox(0F, 0F, 0F, 8, 8, 8); - Shape6.setRotationPoint(-4F, -4F, -4F); - Shape6.setTextureSize(64, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 0, 0); - Shape7.addBox(0F, 0F, 0F, 6, 5, 7); - Shape7.setRotationPoint(-7F, -5F, 1F); - Shape7.setTextureSize(64, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - Shape8 = new ModelRenderer(this, 0, 0); - Shape8.addBox(0F, 0F, 0F, 12, 6, 4); - Shape8.setRotationPoint(-6F, -1F, 3F); - Shape8.setTextureSize(64, 32); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, -0.3490659F); - Shape9 = new ModelRenderer(this, 0, 0); - Shape9.addBox(0F, 0F, 0F, 12, 6, 6); - Shape9.setRotationPoint(-6F, 2F, -3F); - Shape9.setTextureSize(64, 32); - Shape9.mirror = true; - setRotation(Shape9, 0F, -0.2094395F, 0F); - Shape10 = new ModelRenderer(this, 0, 0); - Shape10.addBox(0F, 0F, 0F, 6, 10, 4); - Shape10.setRotationPoint(-5F, -3F, -6F); - Shape10.setTextureSize(64, 32); - Shape10.mirror = true; - setRotation(Shape10, 0F, 0F, -0.3490659F); + this.Shape1 = new ModelRenderer(this, 0, 0); + this.Shape1.addBox(0F, 0F, 0F, 14, 6, 6); + this.Shape1.setRotationPoint(-7F, 1F, 2F); + this.Shape1.setTextureSize(64, 32); + this.Shape1.mirror = true; + setRotation(this.Shape1, 0F, 0F, 0F); + this.Shape2 = new ModelRenderer(this, 0, 0); + this.Shape2.addBox(0F, 0F, 0F, 6, 13, 5); + this.Shape2.setRotationPoint(-7F, -6F, -5F); + this.Shape2.setTextureSize(64, 32); + this.Shape2.mirror = true; + setRotation(this.Shape2, 0F, 0F, 0F); + this.Shape3 = new ModelRenderer(this, 0, 0); + this.Shape3.addBox(0F, 0F, 0F, 6, 6, 6); + this.Shape3.setRotationPoint(1F, 1F, -5F); + this.Shape3.setTextureSize(64, 32); + this.Shape3.mirror = true; + setRotation(this.Shape3, 0F, 0F, 0F); + this.Shape4 = new ModelRenderer(this, 0, 0); + this.Shape4.addBox(0F, 0F, 0F, 14, 7, 4); + this.Shape4.setRotationPoint(-7F, -7F, 2F); + this.Shape4.setTextureSize(64, 32); + this.Shape4.mirror = true; + setRotation(this.Shape4, 0F, 0.4363323F, 0F); + this.Shape5 = new ModelRenderer(this, 0, 0); + this.Shape5.addBox(0F, 0F, 0F, 6, 6, 11); + this.Shape5.setRotationPoint(0F, -6F, -5F); + this.Shape5.setTextureSize(64, 32); + this.Shape5.mirror = true; + setRotation(this.Shape5, 0F, 0F, 0F); + this.Shape6 = new ModelRenderer(this, 0, 0); + this.Shape6.addBox(0F, 0F, 0F, 8, 8, 8); + this.Shape6.setRotationPoint(-4F, -4F, -4F); + this.Shape6.setTextureSize(64, 32); + this.Shape6.mirror = true; + setRotation(this.Shape6, 0F, 0F, 0F); + this.Shape7 = new ModelRenderer(this, 0, 0); + this.Shape7.addBox(0F, 0F, 0F, 6, 5, 7); + this.Shape7.setRotationPoint(-7F, -5F, 1F); + this.Shape7.setTextureSize(64, 32); + this.Shape7.mirror = true; + setRotation(this.Shape7, 0F, 0F, 0F); + this.Shape8 = new ModelRenderer(this, 0, 0); + this.Shape8.addBox(0F, 0F, 0F, 12, 6, 4); + this.Shape8.setRotationPoint(-6F, -1F, 3F); + this.Shape8.setTextureSize(64, 32); + this.Shape8.mirror = true; + setRotation(this.Shape8, 0F, 0F, -0.3490659F); + this.Shape9 = new ModelRenderer(this, 0, 0); + this.Shape9.addBox(0F, 0F, 0F, 12, 6, 6); + this.Shape9.setRotationPoint(-6F, 2F, -3F); + this.Shape9.setTextureSize(64, 32); + this.Shape9.mirror = true; + setRotation(this.Shape9, 0F, -0.2094395F, 0F); + this.Shape10 = new ModelRenderer(this, 0, 0); + this.Shape10.addBox(0F, 0F, 0F, 6, 10, 4); + this.Shape10.setRotationPoint(-5F, -3F, -6F); + this.Shape10.setTextureSize(64, 32); + this.Shape10.mirror = true; + setRotation(this.Shape10, 0F, 0F, -0.3490659F); } @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - Shape10.render(f5); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.renderAll(scaleFactor); } - public void renderAll(float f5) { - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - Shape10.render(f5); + public void renderAll(float scaleFactor) { + + this.Shape1.render(scaleFactor); + this.Shape2.render(scaleFactor); + this.Shape3.render(scaleFactor); + this.Shape4.render(scaleFactor); + this.Shape5.render(scaleFactor); + this.Shape6.render(scaleFactor); + this.Shape7.render(scaleFactor); + this.Shape8.render(scaleFactor); + this.Shape9.render(scaleFactor); + this.Shape10.render(scaleFactor); } - private void setRotation(ModelRenderer model, float x, float y, float z) { + private static void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - } diff --git a/src/main/java/com/hbm/render/model/ModelSRocket.java b/src/main/java/com/hbm/render/model/ModelSRocket.java deleted file mode 100644 index 6185db735..000000000 --- a/src/main/java/com/hbm/render/model/ModelSRocket.java +++ /dev/null @@ -1,94 +0,0 @@ -// Date: 23.02.2018 15:06:23 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelSRocket extends ModelBase { - // fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - - public ModelSRocket() { - textureWidth = 64; - textureHeight = 16; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 24, 2, 2); - Shape1.setRotationPoint(-12F, -1F, -1F); - Shape1.setTextureSize(64, 16); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 4); - Shape2.addBox(0F, 0F, 0F, 1, 6, 0); - Shape2.setRotationPoint(7F, -3F, 0F); - Shape2.setTextureSize(64, 16); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 2, 4); - Shape3.addBox(0F, 0F, 0F, 1, 0, 6); - Shape3.setRotationPoint(7F, 0F, -3F); - Shape3.setTextureSize(64, 16); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 16, 4); - Shape4.addBox(0F, 0F, 0F, 1, 4, 0); - Shape4.setRotationPoint(-10F, -2F, 0F); - Shape4.setTextureSize(64, 16); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 0, 10); - Shape5.addBox(0F, 0F, 0F, 1, 0, 4); - Shape5.setRotationPoint(-10F, 0F, -2F); - Shape5.setTextureSize(64, 16); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 18, 4); - Shape6.addBox(0F, 0F, 0F, 2, 3, 3); - Shape6.setRotationPoint(9F, -1.5F, -1.5F); - Shape6.setTextureSize(64, 16); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - - public void renderAll(float f5) { - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelSatelliteReceiver.java b/src/main/java/com/hbm/render/model/ModelSatelliteReceiver.java index f02181d8c..8e7e9d579 100644 --- a/src/main/java/com/hbm/render/model/ModelSatelliteReceiver.java +++ b/src/main/java/com/hbm/render/model/ModelSatelliteReceiver.java @@ -4,131 +4,107 @@ // Keep in mind that you still need to fill in some blanks // - ZeuX - - - - - package com.hbm.render.model; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -public class ModelSatelliteReceiver extends ModelBase -{ - //fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - - public ModelSatelliteReceiver() - { - textureWidth = 64; - textureHeight = 64; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 12, 16, 12); - Shape1.setRotationPoint(-6F, 8F, -6F); - Shape1.setTextureSize(64, 64); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 10, 28); - Shape2.addBox(3F, 9F, -8F, 8, 8, 2); - Shape2.setRotationPoint(-3F, 6F, 0F); - Shape2.setTextureSize(64, 64); - Shape2.mirror = true; - setRotation(Shape2, -0.2617994F, -0.4363323F, 0F); - Shape3 = new ModelRenderer(this, 0, 39); - Shape3.addBox(3F, 7F, -10F, 8, 2, 3); - Shape3.setRotationPoint(-3F, 6F, 0F); - Shape3.setTextureSize(64, 64); - Shape3.mirror = true; - setRotation(Shape3, -0.2617994F, -0.4363323F, 0F); - Shape4 = new ModelRenderer(this, 0, 28); - Shape4.addBox(1F, 9F, -10F, 2, 8, 3); - Shape4.setRotationPoint(-3F, 6F, 0F); - Shape4.setTextureSize(64, 64); - Shape4.mirror = true; - setRotation(Shape4, -0.2617994F, -0.4363323F, 0F); - Shape5 = new ModelRenderer(this, 0, 28); - Shape5.addBox(11F, 9F, -10F, 2, 8, 3); - Shape5.setRotationPoint(-3F, 6F, 0F); - Shape5.setTextureSize(64, 64); - Shape5.mirror = true; - setRotation(Shape5, -0.2617994F, -0.4363323F, 0F); - Shape6 = new ModelRenderer(this, 0, 39); - Shape6.addBox(3F, 17F, -10F, 8, 2, 3); - Shape6.setRotationPoint(-3F, 6F, 0F); - Shape6.setTextureSize(64, 64); - Shape6.mirror = true; - setRotation(Shape6, -0.2617994F, -0.4363323F, 0F); - Shape7 = new ModelRenderer(this, 0, 44); - Shape7.addBox(6F, 12F, -11F, 2, 2, 3); - Shape7.setRotationPoint(-3F, 6F, 0F); - Shape7.setTextureSize(64, 64); - Shape7.mirror = true; - setRotation(Shape7, -0.2617994F, -0.4363323F, 0F); - Shape8 = new ModelRenderer(this, 0, 49); - Shape8.addBox(6.5F, 12.5F, -14F, 1, 1, 3); - Shape8.setRotationPoint(-3F, 6F, 0F); - Shape8.setTextureSize(64, 64); - Shape8.mirror = true; - setRotation(Shape8, -0.2617994F, -0.4363323F, 0F); - Shape9 = new ModelRenderer(this, 0, 53); - Shape9.addBox(6F, 12F, -16F, 2, 2, 2); - Shape9.setRotationPoint(-3F, 6F, 0F); - Shape9.setTextureSize(64, 64); - Shape9.mirror = true; - setRotation(Shape9, -0.2617994F, -0.4363323F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void renderModel(float f) - { - Shape1.render(f); - Shape2.render(f); - Shape3.render(f); - Shape4.render(f); - Shape5.render(f); - Shape6.render(f); - Shape7.render(f); - Shape8.render(f); - Shape9.render(f); - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } +public class ModelSatelliteReceiver extends ModelBase { + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + ModelRenderer Shape4; + ModelRenderer Shape5; + ModelRenderer Shape6; + ModelRenderer Shape7; + ModelRenderer Shape8; + ModelRenderer Shape9; + + public ModelSatelliteReceiver() { + this.textureWidth = 64; + this.textureHeight = 64; + + this.Shape1 = new ModelRenderer(this, 0, 0); + this.Shape1.addBox(0F, 0F, 0F, 12, 16, 12); + this.Shape1.setRotationPoint(-6F, 8F, -6F); + this.Shape1.setTextureSize(64, 64); + this.Shape1.mirror = true; + setRotation(this.Shape1, 0F, 0F, 0F); + this.Shape2 = new ModelRenderer(this, 10, 28); + this.Shape2.addBox(3F, 9F, -8F, 8, 8, 2); + this.Shape2.setRotationPoint(-3F, 6F, 0F); + this.Shape2.setTextureSize(64, 64); + this.Shape2.mirror = true; + setRotation(this.Shape2, -0.2617994F, -0.4363323F, 0F); + this.Shape3 = new ModelRenderer(this, 0, 39); + this.Shape3.addBox(3F, 7F, -10F, 8, 2, 3); + this.Shape3.setRotationPoint(-3F, 6F, 0F); + this.Shape3.setTextureSize(64, 64); + this.Shape3.mirror = true; + setRotation(this.Shape3, -0.2617994F, -0.4363323F, 0F); + this.Shape4 = new ModelRenderer(this, 0, 28); + this.Shape4.addBox(1F, 9F, -10F, 2, 8, 3); + this.Shape4.setRotationPoint(-3F, 6F, 0F); + this.Shape4.setTextureSize(64, 64); + this.Shape4.mirror = true; + setRotation(this.Shape4, -0.2617994F, -0.4363323F, 0F); + this.Shape5 = new ModelRenderer(this, 0, 28); + this.Shape5.addBox(11F, 9F, -10F, 2, 8, 3); + this.Shape5.setRotationPoint(-3F, 6F, 0F); + this.Shape5.setTextureSize(64, 64); + this.Shape5.mirror = true; + setRotation(this.Shape5, -0.2617994F, -0.4363323F, 0F); + this.Shape6 = new ModelRenderer(this, 0, 39); + this.Shape6.addBox(3F, 17F, -10F, 8, 2, 3); + this.Shape6.setRotationPoint(-3F, 6F, 0F); + this.Shape6.setTextureSize(64, 64); + this.Shape6.mirror = true; + setRotation(this.Shape6, -0.2617994F, -0.4363323F, 0F); + this.Shape7 = new ModelRenderer(this, 0, 44); + this.Shape7.addBox(6F, 12F, -11F, 2, 2, 3); + this.Shape7.setRotationPoint(-3F, 6F, 0F); + this.Shape7.setTextureSize(64, 64); + this.Shape7.mirror = true; + setRotation(this.Shape7, -0.2617994F, -0.4363323F, 0F); + this.Shape8 = new ModelRenderer(this, 0, 49); + this.Shape8.addBox(6.5F, 12.5F, -14F, 1, 1, 3); + this.Shape8.setRotationPoint(-3F, 6F, 0F); + this.Shape8.setTextureSize(64, 64); + this.Shape8.mirror = true; + setRotation(this.Shape8, -0.2617994F, -0.4363323F, 0F); + this.Shape9 = new ModelRenderer(this, 0, 53); + this.Shape9.addBox(6F, 12F, -16F, 2, 2, 2); + this.Shape9.setRotationPoint(-3F, 6F, 0F); + this.Shape9.setTextureSize(64, 64); + this.Shape9.mirror = true; + setRotation(this.Shape9, -0.2617994F, -0.4363323F, 0F); + } + + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.renderModel(scaleFactor); + } + + public void renderModel(float scaleFactor) { + + this.Shape1.render(scaleFactor); + this.Shape2.render(scaleFactor); + this.Shape3.render(scaleFactor); + this.Shape4.render(scaleFactor); + this.Shape5.render(scaleFactor); + this.Shape6.render(scaleFactor); + this.Shape7.render(scaleFactor); + this.Shape8.render(scaleFactor); + this.Shape9.render(scaleFactor); + } + + private static void setRotation(ModelRenderer model, float x, float y, float z) { + + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } } diff --git a/src/main/java/com/hbm/render/model/ModelShrapnel.java b/src/main/java/com/hbm/render/model/ModelShrapnel.java index 4c037cdbf..25174515b 100644 --- a/src/main/java/com/hbm/render/model/ModelShrapnel.java +++ b/src/main/java/com/hbm/render/model/ModelShrapnel.java @@ -9,37 +9,32 @@ public class ModelShrapnel extends ModelBase { ModelRenderer bullet; public ModelShrapnel() { - textureWidth = 16; - textureHeight = 8; + this.textureWidth = 16; + this.textureHeight = 8; - bullet = new ModelRenderer(this, 0, 0); - bullet.addBox(0F, 0F, 0F, 4, 4, 4); - bullet.setRotationPoint(1F, -0.5F, -0.5F); - bullet.setTextureSize(16, 8); - bullet.mirror = true; - setRotation(bullet, 0F, 0F, 0F); + this.bullet = new ModelRenderer(this, 0, 0); + this.bullet.addBox(0F, 0F, 0F, 4, 4, 4); + this.bullet.setRotationPoint(1F, -0.5F, -0.5F); + this.bullet.setTextureSize(16, 8); + this.bullet.mirror = true; + setRotation(this.bullet, 0F, 0F, 0F); } @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - bullet.render(f5); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.renderAll(scaleFactor); } - private void setRotation(ModelRenderer model, float x, float y, float z) { + public void renderAll(float scaleFactor) { + + this.bullet.render(scaleFactor); + } + + private static void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - - public void renderAll(float f5) { - bullet.render(f5); - } - -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/render/model/ModelSiegeZombie.java b/src/main/java/com/hbm/render/model/ModelSiegeZombie.java deleted file mode 100644 index 76bd7c883..000000000 --- a/src/main/java/com/hbm/render/model/ModelSiegeZombie.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.hbm.render.model; - -import com.hbm.entity.mob.siege.EntitySiegeZombie; - -import net.minecraft.client.model.ModelBiped; -import net.minecraft.entity.Entity; -import net.minecraft.util.MathHelper; - -public class ModelSiegeZombie extends ModelBiped { - - public ModelSiegeZombie(float p_i1168_1_) { - super(p_i1168_1_, 0.0F, 64, 32); - } - - public void setRotationAngles(float p_78087_1_, float p_78087_2_, float p_78087_3_, float p_78087_4_, float p_78087_5_, float p_78087_6_, Entity entity) { - super.setRotationAngles(p_78087_1_, p_78087_2_, p_78087_3_, p_78087_4_, p_78087_5_, p_78087_6_, entity); - - if(entity instanceof EntitySiegeZombie && ((EntitySiegeZombie)entity).getDataWatcher().getWatchableObjectByte(13) != 0) { - float f6 = MathHelper.sin(this.onGround * (float) Math.PI); - float f7 = MathHelper.sin((1.0F - (1.0F - this.onGround) * (1.0F - this.onGround)) * (float) Math.PI); - this.bipedRightArm.rotateAngleZ = 0.0F; - this.bipedLeftArm.rotateAngleZ = 0.0F; - this.bipedRightArm.rotateAngleY = -(0.1F - f6 * 0.6F); - this.bipedLeftArm.rotateAngleY = 0.1F - f6 * 0.6F; - this.bipedRightArm.rotateAngleX = -((float) Math.PI / 2F); - this.bipedLeftArm.rotateAngleX = -((float) Math.PI / 2F); - this.bipedRightArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F; - this.bipedLeftArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F; - this.bipedRightArm.rotateAngleZ += MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F; - this.bipedLeftArm.rotateAngleZ -= MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F; - this.bipedRightArm.rotateAngleX += MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F; - this.bipedLeftArm.rotateAngleX -= MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F; - } - } -} diff --git a/src/main/java/com/hbm/render/model/ModelSkeletonNT.java b/src/main/java/com/hbm/render/model/ModelSkeletonNT.java new file mode 100644 index 000000000..987519f54 --- /dev/null +++ b/src/main/java/com/hbm/render/model/ModelSkeletonNT.java @@ -0,0 +1,29 @@ +package com.hbm.render.model; + +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.model.ModelZombie; + +public class ModelSkeletonNT extends ModelZombie { + + public ModelSkeletonNT() { + this(0.0F); + } + + public ModelSkeletonNT(float scale) { + super(scale, 0.0F, 64, 32); + this.bipedRightArm = new ModelRenderer(this, 40, 16); + this.bipedRightArm.addBox(-1.0F, -2.0F, -1.0F, 2, 12, 2, scale); + this.bipedRightArm.setRotationPoint(-5.0F, 2.0F, 0.0F); + this.bipedLeftArm = new ModelRenderer(this, 40, 16); + this.bipedLeftArm.mirror = true; + this.bipedLeftArm.addBox(-1.0F, -2.0F, -1.0F, 2, 12, 2, scale); + this.bipedLeftArm.setRotationPoint(5.0F, 2.0F, 0.0F); + this.bipedRightLeg = new ModelRenderer(this, 0, 16); + this.bipedRightLeg.addBox(-1.0F, 0.0F, -1.0F, 2, 12, 2, scale); + this.bipedRightLeg.setRotationPoint(-2.0F, 12.0F, 0.0F); + this.bipedLeftLeg = new ModelRenderer(this, 0, 16); + this.bipedLeftLeg.mirror = true; + this.bipedLeftLeg.addBox(-1.0F, 0.0F, -1.0F, 2, 12, 2, scale); + this.bipedLeftLeg.setRotationPoint(2.0F, 12.0F, 0.0F); + } +} diff --git a/src/main/java/com/hbm/render/model/ModelSpark.java b/src/main/java/com/hbm/render/model/ModelSpark.java deleted file mode 100644 index 9125c0944..000000000 --- a/src/main/java/com/hbm/render/model/ModelSpark.java +++ /dev/null @@ -1,189 +0,0 @@ -// Date: 14.02.2017 20:27:10 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - - - - - - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelSpark extends ModelBase -{ - //fields - ModelRenderer BarrelMain; - ModelRenderer BarrelSide; - ModelRenderer PlateFront; - ModelRenderer Sight; - ModelRenderer Grip; - ModelRenderer Cell1; - ModelRenderer Cell2; - ModelRenderer Cell3; - ModelRenderer Cell4; - ModelRenderer Cell5; - ModelRenderer Cell8; - ModelRenderer Cell7; - ModelRenderer Cell6; - ModelRenderer PlateBack; - ModelRenderer Body; - ModelRenderer Handle1; - ModelRenderer Handle2; - - public ModelSpark() - { - textureWidth = 64; - textureHeight = 64; - - BarrelMain = new ModelRenderer(this, 0, 0); - BarrelMain.addBox(0F, 0F, 0F, 18, 6, 6); - BarrelMain.setRotationPoint(-18F, 0F, -3F); - BarrelMain.setTextureSize(64, 64); - BarrelMain.mirror = true; - setRotation(BarrelMain, 0F, 0F, 0F); - BarrelSide = new ModelRenderer(this, 0, 12); - BarrelSide.addBox(0F, -3F, -3F, 14, 6, 6); - BarrelSide.setRotationPoint(-14F, 3F, 0F); - BarrelSide.setTextureSize(64, 64); - BarrelSide.mirror = true; - setRotation(BarrelSide, 0.7853982F, 0F, 0F); - PlateFront = new ModelRenderer(this, 40, 12); - PlateFront.addBox(0F, 0F, 0F, 2, 8, 8); - PlateFront.setRotationPoint(0F, -1F, -4F); - PlateFront.setTextureSize(64, 64); - PlateFront.mirror = true; - setRotation(PlateFront, 0F, 0F, 0F); - Sight = new ModelRenderer(this, 48, 0); - Sight.addBox(0F, 0F, 0F, 1, 4, 2); - Sight.setRotationPoint(-16F, -4F, -1F); - Sight.setTextureSize(64, 64); - Sight.mirror = true; - setRotation(Sight, 0F, 0F, 0F); - Grip = new ModelRenderer(this, 0, 24); - Grip.addBox(0F, 0F, 0F, 12, 2, 2); - Grip.setRotationPoint(-10F, 5F, -6F); - Grip.setTextureSize(64, 64); - Grip.mirror = true; - setRotation(Grip, 0F, 0F, 0F); - Cell1 = new ModelRenderer(this, 0, 28); - Cell1.addBox(0F, -3.5F, -1F, 3, 2, 2); - Cell1.setRotationPoint(2F, 3F, 0F); - Cell1.setTextureSize(64, 64); - Cell1.mirror = true; - setRotation(Cell1, 0F, 0F, 0F); - Cell2 = new ModelRenderer(this, 0, 32); - Cell2.addBox(0F, -3.5F, -1F, 3, 2, 2); - Cell2.setRotationPoint(2F, 3F, 0F); - Cell2.setTextureSize(64, 64); - Cell2.mirror = true; - setRotation(Cell2, 0.7853982F, 0F, 0F); - Cell3 = new ModelRenderer(this, 0, 36); - Cell3.addBox(0F, -3.5F, -1F, 3, 2, 2); - Cell3.setRotationPoint(2F, 3F, 0F); - Cell3.setTextureSize(64, 64); - Cell3.mirror = true; - setRotation(Cell3, 1.570796F, 0F, 0F); - Cell4 = new ModelRenderer(this, 0, 40); - Cell4.addBox(0F, -3.5F, -1F, 3, 2, 2); - Cell4.setRotationPoint(2F, 3F, 0F); - Cell4.setTextureSize(64, 64); - Cell4.mirror = true; - setRotation(Cell4, 2.356194F, 0F, 0F); - Cell5 = new ModelRenderer(this, 0, 44); - Cell5.addBox(0F, -3.5F, -1F, 3, 2, 2); - Cell5.setRotationPoint(2F, 3F, 0F); - Cell5.setTextureSize(64, 64); - Cell5.mirror = true; - setRotation(Cell5, 3.141593F, 0F, 0F); - Cell8 = new ModelRenderer(this, 0, 48); - Cell8.addBox(0F, -3.5F, -1F, 3, 2, 2); - Cell8.setRotationPoint(2F, 3F, 0F); - Cell8.setTextureSize(64, 64); - Cell8.mirror = true; - setRotation(Cell8, -0.7853982F, 0F, 0F); - Cell7 = new ModelRenderer(this, 0, 52); - Cell7.addBox(0F, -3.5F, -1F, 3, 2, 2); - Cell7.setRotationPoint(2F, 3F, 0F); - Cell7.setTextureSize(64, 64); - Cell7.mirror = true; - setRotation(Cell7, -1.570796F, 0F, 0F); - Cell6 = new ModelRenderer(this, 0, 56); - Cell6.addBox(0F, -3.5F, -1F, 3, 2, 2); - Cell6.setRotationPoint(2F, 3F, 0F); - Cell6.setTextureSize(64, 64); - Cell6.mirror = true; - setRotation(Cell6, -2.356194F, 0F, 0F); - PlateBack = new ModelRenderer(this, 10, 28); - PlateBack.addBox(0F, 0F, 0F, 2, 8, 8); - PlateBack.setRotationPoint(5F, -1F, -4F); - PlateBack.setTextureSize(64, 64); - PlateBack.mirror = true; - setRotation(PlateBack, 0F, 0F, 0F); - Body = new ModelRenderer(this, 10, 44); - Body.addBox(0F, 0F, 0F, 8, 6, 4); - Body.setRotationPoint(7F, 1F, -2F); - Body.setTextureSize(64, 64); - Body.mirror = true; - setRotation(Body, 0F, 0F, 0F); - Handle1 = new ModelRenderer(this, 10, 54); - Handle1.addBox(0F, 0F, 0F, 2, 2, 2); - Handle1.setRotationPoint(15F, 4F, -1F); - Handle1.setTextureSize(64, 64); - Handle1.mirror = true; - setRotation(Handle1, 0F, 0F, 0F); - Handle2 = new ModelRenderer(this, 18, 54); - Handle2.addBox(0F, 0F, 0F, 1, 4, 1); - Handle2.setRotationPoint(17F, 2F, -0.5F); - Handle2.setTextureSize(64, 64); - Handle2.mirror = true; - setRotation(Handle2, 0F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - BarrelMain.render(f5); - BarrelSide.render(f5); - PlateFront.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Sight.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - Grip.render(f5); - Cell1.render(f5); - Cell2.render(f5); - Cell3.render(f5); - Cell4.render(f5); - Cell5.render(f5); - Cell8.render(f5); - Cell7.render(f5); - Cell6.render(f5); - PlateBack.render(f5); - Body.render(f5); - Handle1.render(f5); - Handle2.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelStatue.java b/src/main/java/com/hbm/render/model/ModelStatue.java index 2b00d13d3..e13c381d8 100644 --- a/src/main/java/com/hbm/render/model/ModelStatue.java +++ b/src/main/java/com/hbm/render/model/ModelStatue.java @@ -4,130 +4,107 @@ // Keep in mind that you still need to fill in some blanks // - ZeuX - - - - - package com.hbm.render.model; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -public class ModelStatue extends ModelBase -{ - //fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - ModelRenderer Shape10; - - public ModelStatue() - { - textureWidth = 64; - textureHeight = 64; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 16, 8, 16); - Shape1.setRotationPoint(-8F, 16F, -8F); - Shape1.setTextureSize(64, 64); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 24); - Shape2.addBox(0F, 0F, 0F, 4, 12, 4); - Shape2.setRotationPoint(-4F, 4F, -2F); - Shape2.setTextureSize(64, 64); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 16, 24); - Shape3.addBox(0F, 0F, 0F, 4, 12, 4); - Shape3.setRotationPoint(0F, 4F, -2F); - Shape3.setTextureSize(64, 64); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 32, 40); - Shape4.addBox(0F, 0F, 0F, 8, 12, 4); - Shape4.setRotationPoint(-4F, -8F, -2F); - Shape4.setTextureSize(64, 64); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 0, 40); - Shape6.addBox(0F, 0F, -2F, 4, 8, 4); - Shape6.setRotationPoint(4F, -8F, 0F); - Shape6.setTextureSize(64, 64); - Shape6.mirror = true; - setRotation(Shape6, 0.5235988F, 0F, 0F); - Shape7 = new ModelRenderer(this, 16, 40); - Shape7.addBox(-4F, 0F, -2F, 4, 8, 4); - Shape7.setRotationPoint(-4F, -8F, 0F); - Shape7.setTextureSize(64, 64); - Shape7.mirror = true; - setRotation(Shape7, -0.0872665F, 0F, 0F); - Shape8 = new ModelRenderer(this, 0, 52); - Shape8.addBox(-2F, 0F, -2F, 4, 8, 4); - Shape8.setRotationPoint(6F, -2F, 3F); - Shape8.setTextureSize(64, 64); - Shape8.mirror = true; - setRotation(Shape8, 1.22173F, 0F, 0F); - Shape9 = new ModelRenderer(this, 16, 52); - Shape9.addBox(0F, 0F, -2F, 4, 8, 4); - Shape9.setRotationPoint(-8F, -1F, -0.5F); - Shape9.setTextureSize(64, 64); - Shape9.mirror = true; - setRotation(Shape9, 0.2617994F, 0F, 0F); - Shape10 = new ModelRenderer(this, 32, 24); - Shape10.addBox(-4F, -8F, -4F, 8, 8, 8); - Shape10.setRotationPoint(0F, -8F, 0F); - Shape10.setTextureSize(64, 64); - Shape10.mirror = true; - setRotation(Shape10, -0.1745329F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - Shape10.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } +public class ModelStatue extends ModelBase { - public void renderModel(float f) { - Shape1.render(f); - Shape2.render(f); - Shape3.render(f); - Shape4.render(f); - Shape6.render(f); - Shape7.render(f); - Shape8.render(f); - Shape9.render(f); - Shape10.render(f); - } + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + ModelRenderer Shape4; + ModelRenderer Shape6; + ModelRenderer Shape7; + ModelRenderer Shape8; + ModelRenderer Shape9; + ModelRenderer Shape10; + public ModelStatue() { + this.textureWidth = 64; + this.textureHeight = 64; + + this.Shape1 = new ModelRenderer(this, 0, 0); + this.Shape1.addBox(0F, 0F, 0F, 16, 8, 16); + this.Shape1.setRotationPoint(-8F, 16F, -8F); + this.Shape1.setTextureSize(64, 64); + this.Shape1.mirror = true; + setRotation(this.Shape1, 0F, 0F, 0F); + this.Shape2 = new ModelRenderer(this, 0, 24); + this.Shape2.addBox(0F, 0F, 0F, 4, 12, 4); + this.Shape2.setRotationPoint(-4F, 4F, -2F); + this.Shape2.setTextureSize(64, 64); + this.Shape2.mirror = true; + setRotation(this.Shape2, 0F, 0F, 0F); + this.Shape3 = new ModelRenderer(this, 16, 24); + this.Shape3.addBox(0F, 0F, 0F, 4, 12, 4); + this.Shape3.setRotationPoint(0F, 4F, -2F); + this.Shape3.setTextureSize(64, 64); + this.Shape3.mirror = true; + setRotation(this.Shape3, 0F, 0F, 0F); + this.Shape4 = new ModelRenderer(this, 32, 40); + this.Shape4.addBox(0F, 0F, 0F, 8, 12, 4); + this.Shape4.setRotationPoint(-4F, -8F, -2F); + this.Shape4.setTextureSize(64, 64); + this.Shape4.mirror = true; + setRotation(this.Shape4, 0F, 0F, 0F); + this.Shape6 = new ModelRenderer(this, 0, 40); + this.Shape6.addBox(0F, 0F, -2F, 4, 8, 4); + this.Shape6.setRotationPoint(4F, -8F, 0F); + this.Shape6.setTextureSize(64, 64); + this.Shape6.mirror = true; + setRotation(this.Shape6, 0.5235988F, 0F, 0F); + this.Shape7 = new ModelRenderer(this, 16, 40); + this.Shape7.addBox(-4F, 0F, -2F, 4, 8, 4); + this.Shape7.setRotationPoint(-4F, -8F, 0F); + this.Shape7.setTextureSize(64, 64); + this.Shape7.mirror = true; + setRotation(this.Shape7, -0.0872665F, 0F, 0F); + this.Shape8 = new ModelRenderer(this, 0, 52); + this.Shape8.addBox(-2F, 0F, -2F, 4, 8, 4); + this.Shape8.setRotationPoint(6F, -2F, 3F); + this.Shape8.setTextureSize(64, 64); + this.Shape8.mirror = true; + setRotation(this.Shape8, 1.22173F, 0F, 0F); + this.Shape9 = new ModelRenderer(this, 16, 52); + this.Shape9.addBox(0F, 0F, -2F, 4, 8, 4); + this.Shape9.setRotationPoint(-8F, -1F, -0.5F); + this.Shape9.setTextureSize(64, 64); + this.Shape9.mirror = true; + setRotation(this.Shape9, 0.2617994F, 0F, 0F); + this.Shape10 = new ModelRenderer(this, 32, 24); + this.Shape10.addBox(-4F, -8F, -4F, 8, 8, 8); + this.Shape10.setRotationPoint(0F, -8F, 0F); + this.Shape10.setTextureSize(64, 64); + this.Shape10.mirror = true; + setRotation(this.Shape10, -0.1745329F, 0F, 0F); + } + + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.renderModel(scaleFactor); + } + + public void renderModel(float scaleFactor) { + + this.Shape1.render(scaleFactor); + this.Shape2.render(scaleFactor); + this.Shape3.render(scaleFactor); + this.Shape4.render(scaleFactor); + this.Shape6.render(scaleFactor); + this.Shape7.render(scaleFactor); + this.Shape8.render(scaleFactor); + this.Shape9.render(scaleFactor); + this.Shape10.render(scaleFactor); + } + + private static void setRotation(ModelRenderer model, float x, float y, float z) { + + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } } diff --git a/src/main/java/com/hbm/render/model/ModelSteelBeam.java b/src/main/java/com/hbm/render/model/ModelSteelBeam.java deleted file mode 100644 index 2626ccb3f..000000000 --- a/src/main/java/com/hbm/render/model/ModelSteelBeam.java +++ /dev/null @@ -1,62 +0,0 @@ -// Date: 10.12.2015 21:02:25 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - - - - - - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelSteelBeam extends ModelBase -{ - //fields - ModelRenderer Shape1; - - public ModelSteelBeam() - { - textureWidth = 64; - textureHeight = 32; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 2, 16, 2); - Shape1.setRotationPoint(-1F, 8F, -1F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void renderModel(float f) - { - Shape1.render(f); - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelSteelCorner.java b/src/main/java/com/hbm/render/model/ModelSteelCorner.java deleted file mode 100644 index 46be6fa19..000000000 --- a/src/main/java/com/hbm/render/model/ModelSteelCorner.java +++ /dev/null @@ -1,89 +0,0 @@ -// Date: 10.12.2015 20:58:33 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - - - - - - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelSteelCorner extends ModelBase -{ - //fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - - public ModelSteelCorner() - { - textureWidth = 64; - textureHeight = 32; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 16, 16, 1); - Shape1.setRotationPoint(-8F, 8F, -8F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 34, 0); - Shape2.addBox(0F, 0F, 0F, 2, 16, 2); - Shape2.setRotationPoint(2F, 8F, -7F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 0); - Shape3.addBox(0F, 0F, 0F, 1, 16, 15); - Shape3.setRotationPoint(-8F, 8F, -7F); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 34, 0); - Shape4.addBox(0F, 0F, 0F, 2, 16, 2); - Shape4.setRotationPoint(-7F, 8F, -2F); - Shape4.setTextureSize(64, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void renderModel(float f) - { - Shape1.render(f); - Shape2.render(f); - Shape3.render(f); - Shape4.render(f); - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelSteelRoof.java b/src/main/java/com/hbm/render/model/ModelSteelRoof.java index f0263e805..4e51eb982 100644 --- a/src/main/java/com/hbm/render/model/ModelSteelRoof.java +++ b/src/main/java/com/hbm/render/model/ModelSteelRoof.java @@ -4,77 +4,59 @@ // Keep in mind that you still need to fill in some blanks // - ZeuX - - - - - package com.hbm.render.model; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -public class ModelSteelRoof extends ModelBase -{ - //fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - - public ModelSteelRoof() - { - textureWidth = 64; - textureHeight = 32; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 16, 1, 16); - Shape1.setRotationPoint(-8F, 23F, -8F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 30, 15); - Shape2.addBox(0F, 0F, 0F, 1, 1, 16); - Shape2.setRotationPoint(-3F, 22F, -8F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 17); - Shape3.addBox(0F, 0F, 0F, 16, 2, 2); - Shape3.setRotationPoint(-8F, 21F, 2F); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void renderModel(float f) - { - Shape1.render(f); - Shape2.render(f); - Shape3.render(f); - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } +public class ModelSteelRoof extends ModelBase { + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + + public ModelSteelRoof() { + this.textureWidth = 64; + this.textureHeight = 32; + + this.Shape1 = new ModelRenderer(this, 0, 0); + this.Shape1.addBox(0F, 0F, 0F, 16, 1, 16); + this.Shape1.setRotationPoint(-8F, 23F, -8F); + this.Shape1.setTextureSize(64, 32); + this.Shape1.mirror = true; + setRotation(this.Shape1, 0F, 0F, 0F); + this.Shape2 = new ModelRenderer(this, 30, 15); + this.Shape2.addBox(0F, 0F, 0F, 1, 1, 16); + this.Shape2.setRotationPoint(-3F, 22F, -8F); + this.Shape2.setTextureSize(64, 32); + this.Shape2.mirror = true; + setRotation(this.Shape2, 0F, 0F, 0F); + this.Shape3 = new ModelRenderer(this, 0, 17); + this.Shape3.addBox(0F, 0F, 0F, 16, 2, 2); + this.Shape3.setRotationPoint(-8F, 21F, 2F); + this.Shape3.setTextureSize(64, 32); + this.Shape3.mirror = true; + setRotation(this.Shape3, 0F, 0F, 0F); + } + + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.renderModel(scaleFactor); + } + + public void renderModel(float scaleFactor) { + + this.Shape1.render(scaleFactor); + this.Shape2.render(scaleFactor); + this.Shape3.render(scaleFactor); + } + + private static void setRotation(ModelRenderer model, float x, float y, float z) { + + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } } diff --git a/src/main/java/com/hbm/render/model/ModelSteelScaffold.java b/src/main/java/com/hbm/render/model/ModelSteelScaffold.java deleted file mode 100644 index 6e736a19d..000000000 --- a/src/main/java/com/hbm/render/model/ModelSteelScaffold.java +++ /dev/null @@ -1,161 +0,0 @@ -// Date: 10.12.2015 21:15:17 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - - - - - - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelSteelScaffold extends ModelBase -{ - //fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - ModelRenderer Shape10; - ModelRenderer Shape11; - ModelRenderer Shape12; - - public ModelSteelScaffold() - { - textureWidth = 64; - textureHeight = 32; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 2, 16, 2); - Shape1.setRotationPoint(6F, 8F, -6F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 0); - Shape2.addBox(0F, 0F, 0F, 2, 16, 2); - Shape2.setRotationPoint(-8F, 8F, -6F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 0); - Shape3.addBox(0F, 0F, 0F, 2, 16, 2); - Shape3.setRotationPoint(-8F, 8F, 4F); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 0, 0); - Shape4.addBox(0F, 0F, 0F, 2, 16, 2); - Shape4.setRotationPoint(6F, 8F, 4F); - Shape4.setTextureSize(64, 32); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 8, 0); - Shape5.addBox(-8F, -0.5F, 0F, 16, 1, 1); - Shape5.setRotationPoint(0F, 15.5F, 4.5F); - Shape5.setTextureSize(64, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, -0.6108652F); - Shape6 = new ModelRenderer(this, 8, 0); - Shape6.addBox(-8F, -0.5F, 0F, 16, 1, 1); - Shape6.setRotationPoint(0F, 15.5F, 4.5F); - Shape6.setTextureSize(64, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0.6108652F); - Shape7 = new ModelRenderer(this, 8, 0); - Shape7.addBox(-8F, -0.5F, 0F, 16, 1, 1); - Shape7.setRotationPoint(0F, 15.5F, -5.5F); - Shape7.setTextureSize(64, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0.6108652F); - Shape8 = new ModelRenderer(this, 8, 0); - Shape8.addBox(-8F, 0F, 0F, 16, 1, 1); - Shape8.setRotationPoint(0F, 15.5F, -5.5F); - Shape8.setTextureSize(64, 32); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, -0.6108652F); - Shape9 = new ModelRenderer(this, 0, 19); - Shape9.addBox(-0.5F, -0.5F, -6F, 1, 1, 12); - Shape9.setRotationPoint(-7F, 15.5F, 0F); - Shape9.setTextureSize(64, 32); - Shape9.mirror = true; - setRotation(Shape9, 0.6108652F, 0F, 0F); - Shape10 = new ModelRenderer(this, 0, 19); - Shape10.addBox(-0.5F, -0.5F, -6F, 1, 1, 12); - Shape10.setRotationPoint(-7F, 15.5F, 0F); - Shape10.setTextureSize(64, 32); - Shape10.mirror = true; - setRotation(Shape10, -0.6108652F, 0F, 0F); - Shape11 = new ModelRenderer(this, 0, 19); - Shape11.addBox(-0.5F, -0.5F, -6F, 1, 1, 12); - Shape11.setRotationPoint(7F, 15.5F, 0F); - Shape11.setTextureSize(64, 32); - Shape11.mirror = true; - setRotation(Shape11, 0.6108652F, 0F, 0F); - Shape12 = new ModelRenderer(this, 0, 19); - Shape12.addBox(-0.5F, -0.5F, -6F, 1, 1, 12); - Shape12.setRotationPoint(7F, 15.5F, 0F); - Shape12.setTextureSize(64, 32); - Shape12.mirror = true; - setRotation(Shape12, -0.6108652F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - Shape9.render(f5); - Shape10.render(f5); - Shape11.render(f5); - Shape12.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void renderModel(float f) - { - Shape1.render(f); - Shape2.render(f); - Shape3.render(f); - Shape4.render(f); - Shape5.render(f); - Shape6.render(f); - Shape7.render(f); - Shape8.render(f); - Shape9.render(f); - Shape10.render(f); - Shape11.render(f); - Shape12.render(f); - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelSteelWall.java b/src/main/java/com/hbm/render/model/ModelSteelWall.java deleted file mode 100644 index 6810eac5a..000000000 --- a/src/main/java/com/hbm/render/model/ModelSteelWall.java +++ /dev/null @@ -1,71 +0,0 @@ -// Date: 10.12.2015 20:54:28 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - - - - - - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelSteelWall extends ModelBase -{ - //fields - ModelRenderer Shape1; - ModelRenderer Shape2; - - public ModelSteelWall() - { - textureWidth = 64; - textureHeight = 32; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 16, 16, 1); - Shape1.setRotationPoint(-8F, 8F, -8F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 34, 0); - Shape2.addBox(0F, 0F, 0F, 2, 16, 2); - Shape2.setRotationPoint(-4F, 8F, -7F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void renderModel(float f) - { - Shape1.render(f); - Shape2.render(f); - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelStinger.java b/src/main/java/com/hbm/render/model/ModelStinger.java index a56c12805..c3cb2b7b7 100644 --- a/src/main/java/com/hbm/render/model/ModelStinger.java +++ b/src/main/java/com/hbm/render/model/ModelStinger.java @@ -13,7 +13,7 @@ import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelStinger extends ModelBase { - // fields + ModelRenderer B1; ModelRenderer B2; ModelRenderer B3; @@ -33,146 +33,141 @@ public class ModelStinger extends ModelBase { ModelRenderer E4; public ModelStinger() { - textureWidth = 128; - textureHeight = 64; + this.textureWidth = 128; + this.textureHeight = 64; - B1 = new ModelRenderer(this, 0, 0); - B1.addBox(0F, 0F, 0F, 52, 4, 2); - B1.setRotationPoint(-26F, 0F, -1F); - B1.setTextureSize(128, 64); - B1.mirror = true; - setRotation(B1, 0F, 0F, 0F); - B2 = new ModelRenderer(this, 0, 6); - B2.addBox(0F, 0F, 0F, 52, 2, 4); - B2.setRotationPoint(-26F, 1F, -2F); - B2.setTextureSize(128, 64); - B2.mirror = true; - setRotation(B2, 0F, 0F, 0F); - B3 = new ModelRenderer(this, 0, 12); - B3.addBox(0F, 0F, 0F, 52, 3, 3); - B3.setRotationPoint(-26F, 0.5F, -1.5F); - B3.setTextureSize(128, 64); - B3.mirror = true; - setRotation(B3, 0F, 0F, 0F); - E1 = new ModelRenderer(this, 0, 18); - E1.addBox(0F, 0F, 0F, 2, 6, 3); - E1.setRotationPoint(26F, -1F, -1.5F); - E1.setTextureSize(128, 64); - E1.mirror = true; - setRotation(E1, 0F, 0F, 0F); - E2 = new ModelRenderer(this, 10, 18); - E2.addBox(0F, 0F, 0F, 2, 3, 6); - E2.setRotationPoint(26F, 0.5F, -3F); - E2.setTextureSize(128, 64); - E2.mirror = true; - setRotation(E2, 0F, 0F, 0F); - E3 = new ModelRenderer(this, 26, 18); - E3.addBox(0F, 0F, 0F, 2, 5, 5); - E3.setRotationPoint(26F, -0.5F, -2.5F); - E3.setTextureSize(128, 64); - E3.mirror = true; - setRotation(E3, 0F, 0F, 0F); - F1 = new ModelRenderer(this, 0, 27); - F1.addBox(0F, 0F, 0F, 4, 5, 5); - F1.setRotationPoint(-30F, -0.5F, -2.5F); - F1.setTextureSize(128, 64); - F1.mirror = true; - setRotation(F1, 0F, 0F, 0F); - F2 = new ModelRenderer(this, 0, 37); - F2.addBox(0F, 0F, 0F, 4, 6, 3); - F2.setRotationPoint(-30F, -1F, -1.5F); - F2.setTextureSize(128, 64); - F2.mirror = true; - setRotation(F2, 0F, 0F, 0F); - F3 = new ModelRenderer(this, 14, 37); - F3.addBox(0F, 0F, 0F, 4, 3, 6); - F3.setRotationPoint(-30F, 0.5F, -3F); - F3.setTextureSize(128, 64); - F3.mirror = true; - setRotation(F3, 0F, 0F, 0F); - D1 = new ModelRenderer(this, 0, 46); - D1.addBox(0F, 0F, 0F, 16, 8, 3); - D1.setRotationPoint(-25F, 4F, -1F); - D1.setTextureSize(128, 64); - D1.mirror = true; - setRotation(D1, 0F, 0F, 0F); - D2 = new ModelRenderer(this, 38, 46); - D2.addBox(0F, 0F, 0F, 12, 8, 1); - D2.setRotationPoint(-21F, 4F, -2F); - D2.setTextureSize(128, 64); - D2.mirror = true; - setRotation(D2, 0F, 0F, 0F); - D3 = new ModelRenderer(this, 34, 38); - D3.addBox(0F, 0F, 0F, 16, 6, 2); - D3.setRotationPoint(-21F, 0.5F, -4F); - D3.setTextureSize(128, 64); - D3.mirror = true; - setRotation(D3, 0F, 0F, 0F); - F = new ModelRenderer(this, 40, 18); - F.addBox(0F, 0F, 0F, 12, 8, 5); - F.setRotationPoint(-25F, -8F, -2.5F); - F.setTextureSize(128, 64); - F.mirror = true; - setRotation(F, 0F, 0F, 0F); - H1 = new ModelRenderer(this, 18, 27); - H1.addBox(0F, 0F, 0F, 2, 7, 1); - H1.setRotationPoint(-4F, 4F, -0.5F); - H1.setTextureSize(128, 64); - H1.mirror = true; + this.B1 = new ModelRenderer(this, 0, 0); + this.B1.addBox(0F, 0F, 0F, 52, 4, 2); + this.B1.setRotationPoint(-26F, 0F, -1F); + this.B1.setTextureSize(128, 64); + this.B1.mirror = true; + setRotation(this.B1, 0F, 0F, 0F); + this.B2 = new ModelRenderer(this, 0, 6); + this.B2.addBox(0F, 0F, 0F, 52, 2, 4); + this.B2.setRotationPoint(-26F, 1F, -2F); + this.B2.setTextureSize(128, 64); + this.B2.mirror = true; + setRotation(this.B2, 0F, 0F, 0F); + this.B3 = new ModelRenderer(this, 0, 12); + this.B3.addBox(0F, 0F, 0F, 52, 3, 3); + this.B3.setRotationPoint(-26F, 0.5F, -1.5F); + this.B3.setTextureSize(128, 64); + this.B3.mirror = true; + setRotation(this.B3, 0F, 0F, 0F); + this.E1 = new ModelRenderer(this, 0, 18); + this.E1.addBox(0F, 0F, 0F, 2, 6, 3); + this.E1.setRotationPoint(26F, -1F, -1.5F); + this.E1.setTextureSize(128, 64); + this.E1.mirror = true; + setRotation(this.E1, 0F, 0F, 0F); + this.E2 = new ModelRenderer(this, 10, 18); + this.E2.addBox(0F, 0F, 0F, 2, 3, 6); + this.E2.setRotationPoint(26F, 0.5F, -3F); + this.E2.setTextureSize(128, 64); + this.E2.mirror = true; + setRotation(this.E2, 0F, 0F, 0F); + this.E3 = new ModelRenderer(this, 26, 18); + this.E3.addBox(0F, 0F, 0F, 2, 5, 5); + this.E3.setRotationPoint(26F, -0.5F, -2.5F); + this.E3.setTextureSize(128, 64); + this.E3.mirror = true; + setRotation(this.E3, 0F, 0F, 0F); + this.F1 = new ModelRenderer(this, 0, 27); + this.F1.addBox(0F, 0F, 0F, 4, 5, 5); + this.F1.setRotationPoint(-30F, -0.5F, -2.5F); + this.F1.setTextureSize(128, 64); + this.F1.mirror = true; + setRotation(this.F1, 0F, 0F, 0F); + this.F2 = new ModelRenderer(this, 0, 37); + this.F2.addBox(0F, 0F, 0F, 4, 6, 3); + this.F2.setRotationPoint(-30F, -1F, -1.5F); + this.F2.setTextureSize(128, 64); + this.F2.mirror = true; + setRotation(this.F2, 0F, 0F, 0F); + this.F3 = new ModelRenderer(this, 14, 37); + this.F3.addBox(0F, 0F, 0F, 4, 3, 6); + this.F3.setRotationPoint(-30F, 0.5F, -3F); + this.F3.setTextureSize(128, 64); + this.F3.mirror = true; + setRotation(this.F3, 0F, 0F, 0F); + this.D1 = new ModelRenderer(this, 0, 46); + this.D1.addBox(0F, 0F, 0F, 16, 8, 3); + this.D1.setRotationPoint(-25F, 4F, -1F); + this.D1.setTextureSize(128, 64); + this.D1.mirror = true; + setRotation(this.D1, 0F, 0F, 0F); + this.D2 = new ModelRenderer(this, 38, 46); + this.D2.addBox(0F, 0F, 0F, 12, 8, 1); + this.D2.setRotationPoint(-21F, 4F, -2F); + this.D2.setTextureSize(128, 64); + this.D2.mirror = true; + setRotation(this.D2, 0F, 0F, 0F); + this.D3 = new ModelRenderer(this, 34, 38); + this.D3.addBox(0F, 0F, 0F, 16, 6, 2); + this.D3.setRotationPoint(-21F, 0.5F, -4F); + this.D3.setTextureSize(128, 64); + this.D3.mirror = true; + setRotation(this.D3, 0F, 0F, 0F); + this.F = new ModelRenderer(this, 40, 18); + this.F.addBox(0F, 0F, 0F, 12, 8, 5); + this.F.setRotationPoint(-25F, -8F, -2.5F); + this.F.setTextureSize(128, 64); + this.F.mirror = true; + setRotation(this.F, 0F, 0F, 0F); + this.H1 = new ModelRenderer(this, 18, 27); + this.H1.addBox(0F, 0F, 0F, 2, 7, 1); + this.H1.setRotationPoint(-4F, 4F, -0.5F); + this.H1.setTextureSize(128, 64); + this.H1.mirror = true; //setRotation(H1, 0F, 0F, -0.2617994F); - setRotation(H1, 0F, 0F, 0F); - H2 = new ModelRenderer(this, 24, 31); - H2.addBox(0F, 0F, 0F, 8, 1, 2); - H2.setRotationPoint(-9F, 4F, -1F); - H2.setTextureSize(128, 64); - H2.mirror = true; - setRotation(H2, 0F, 0F, 0F); - H3 = new ModelRenderer(this, 44, 31); - H3.addBox(0F, 0F, 0F, 2, 3, 2); - H3.setRotationPoint(-12F, 12F, -1F); - H3.setTextureSize(128, 64); - H3.mirror = true; - setRotation(H3, 0F, 0F, 0F); - E4 = new ModelRenderer(this, 38, 55); - E4.addBox(0F, 0F, 0F, 8, 6, 2); - E4.setRotationPoint(16F, -1F, -4F); - E4.setTextureSize(128, 64); - E4.mirror = true; - setRotation(E4, 0F, 0F, 0F); + setRotation(this.H1, 0F, 0F, 0F); + this.H2 = new ModelRenderer(this, 24, 31); + this.H2.addBox(0F, 0F, 0F, 8, 1, 2); + this.H2.setRotationPoint(-9F, 4F, -1F); + this.H2.setTextureSize(128, 64); + this.H2.mirror = true; + setRotation(this.H2, 0F, 0F, 0F); + this.H3 = new ModelRenderer(this, 44, 31); + this.H3.addBox(0F, 0F, 0F, 2, 3, 2); + this.H3.setRotationPoint(-12F, 12F, -1F); + this.H3.setTextureSize(128, 64); + this.H3.mirror = true; + setRotation(this.H3, 0F, 0F, 0F); + this.E4 = new ModelRenderer(this, 38, 55); + this.E4.addBox(0F, 0F, 0F, 8, 6, 2); + this.E4.setRotationPoint(16F, -1F, -4F); + this.E4.setTextureSize(128, 64); + this.E4.mirror = true; + setRotation(this.E4, 0F, 0F, 0F); } - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - B1.render(f5); - B2.render(f5); - B3.render(f5); - E1.render(f5); - E2.render(f5); - E3.render(f5); - F1.render(f5); - F2.render(f5); - F3.render(f5); - D1.render(f5); - D2.render(f5); - D3.render(f5); + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.B1.render(scaleFactor); + this.B2.render(scaleFactor); + this.B3.render(scaleFactor); + this.E1.render(scaleFactor); + this.E2.render(scaleFactor); + this.E3.render(scaleFactor); + this.F1.render(scaleFactor); + this.F2.render(scaleFactor); + this.F3.render(scaleFactor); + this.D1.render(scaleFactor); + this.D2.render(scaleFactor); + this.D3.render(scaleFactor); GL11.glDisable(GL11.GL_CULL_FACE); - F.render(f5); + this.F.render(scaleFactor); GL11.glEnable(GL11.GL_CULL_FACE); - H1.render(f5); - H2.render(f5); - H3.render(f5); - E4.render(f5); + this.H1.render(scaleFactor); + this.H2.render(scaleFactor); + this.H3.render(scaleFactor); + this.E4.render(scaleFactor); } - private void setRotation(ModelRenderer model, float x, float y, float z) { + private static void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - } diff --git a/src/main/java/com/hbm/render/model/ModelSword.java b/src/main/java/com/hbm/render/model/ModelSword.java index 19d4e7c62..1832f4b97 100644 --- a/src/main/java/com/hbm/render/model/ModelSword.java +++ b/src/main/java/com/hbm/render/model/ModelSword.java @@ -4,102 +4,85 @@ // Keep in mind that you still need to fill in some blanks // - ZeuX - - - - - package com.hbm.render.model; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -public class ModelSword extends ModelBase -{ - //fields - ModelRenderer GripBottom; - ModelRenderer GripHandle; - ModelRenderer Shield; - ModelRenderer Blade; - ModelRenderer BladeTip; - ModelRenderer Shield1; - ModelRenderer Shield2; - - public ModelSword() - { - textureWidth = 64; - textureHeight = 32; - - GripBottom = new ModelRenderer(this, 0, 17); - GripBottom.addBox(0F, 0F, 0F, 3, 3, 1); - GripBottom.setRotationPoint(0F, 0F, 0F); - GripBottom.setTextureSize(64, 32); - GripBottom.mirror = true; - setRotation(GripBottom, 0F, 0F, 0F); - GripHandle = new ModelRenderer(this, 8, 2); - GripHandle.addBox(0F, 0F, 0F, 2, 5, 1); - GripHandle.setRotationPoint(0.5F, -5F, 0F); - GripHandle.setTextureSize(64, 32); - GripHandle.mirror = true; - setRotation(GripHandle, 0F, 0F, 0F); - Shield = new ModelRenderer(this, 14, 5); - Shield.addBox(0F, 0F, 0F, 6, 1, 3); - Shield.setRotationPoint(-1.5F, -6F, -1F); - Shield.setTextureSize(64, 32); - Shield.mirror = true; - setRotation(Shield, 0F, 0F, 0F); - Blade = new ModelRenderer(this, 0, 0); - Blade.addBox(0F, 0F, 0F, 3, 16, 1); - Blade.setRotationPoint(0F, -22F, 0F); - Blade.setTextureSize(64, 32); - Blade.mirror = true; - setRotation(Blade, 0F, 0F, 0F); - BladeTip = new ModelRenderer(this, 8, 0); - BladeTip.addBox(0F, 0F, 0F, 2, 1, 1); - BladeTip.setRotationPoint(0.5F, -23F, 0F); - BladeTip.setTextureSize(64, 32); - BladeTip.mirror = true; - setRotation(BladeTip, 0F, 0F, 0F); - Shield1 = new ModelRenderer(this, 14, 0); - Shield1.addBox(0F, 0F, 0F, 1, 1, 4); - Shield1.setRotationPoint(-2F, -6.5F, -1.5F); - Shield1.setTextureSize(64, 32); - Shield1.mirror = true; - setRotation(Shield1, 0F, 0F, 0F); - Shield2 = new ModelRenderer(this, 24, 0); - Shield2.addBox(0F, 0F, 0F, 1, 1, 4); - Shield2.setRotationPoint(4F, -6.5F, -1.5F); - Shield2.setTextureSize(64, 32); - Shield2.mirror = true; - setRotation(Shield2, 0F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - GripBottom.render(f5); - GripHandle.render(f5); - Shield.render(f5); - Blade.render(f5); - BladeTip.render(f5); - Shield1.render(f5); - Shield2.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } +public class ModelSword extends ModelBase { + ModelRenderer GripBottom; + ModelRenderer GripHandle; + ModelRenderer Shield; + ModelRenderer Blade; + ModelRenderer BladeTip; + ModelRenderer Shield1; + ModelRenderer Shield2; + + public ModelSword() { + this.textureWidth = 64; + this.textureHeight = 32; + + this.GripBottom = new ModelRenderer(this, 0, 17); + this.GripBottom.addBox(0F, 0F, 0F, 3, 3, 1); + this.GripBottom.setRotationPoint(0F, 0F, 0F); + this.GripBottom.setTextureSize(64, 32); + this.GripBottom.mirror = true; + setRotation(this.GripBottom, 0F, 0F, 0F); + this.GripHandle = new ModelRenderer(this, 8, 2); + this.GripHandle.addBox(0F, 0F, 0F, 2, 5, 1); + this.GripHandle.setRotationPoint(0.5F, -5F, 0F); + this.GripHandle.setTextureSize(64, 32); + this.GripHandle.mirror = true; + setRotation(this.GripHandle, 0F, 0F, 0F); + this.Shield = new ModelRenderer(this, 14, 5); + this.Shield.addBox(0F, 0F, 0F, 6, 1, 3); + this.Shield.setRotationPoint(-1.5F, -6F, -1F); + this.Shield.setTextureSize(64, 32); + this.Shield.mirror = true; + setRotation(this.Shield, 0F, 0F, 0F); + this.Blade = new ModelRenderer(this, 0, 0); + this.Blade.addBox(0F, 0F, 0F, 3, 16, 1); + this.Blade.setRotationPoint(0F, -22F, 0F); + this.Blade.setTextureSize(64, 32); + this.Blade.mirror = true; + setRotation(this.Blade, 0F, 0F, 0F); + this.BladeTip = new ModelRenderer(this, 8, 0); + this.BladeTip.addBox(0F, 0F, 0F, 2, 1, 1); + this.BladeTip.setRotationPoint(0.5F, -23F, 0F); + this.BladeTip.setTextureSize(64, 32); + this.BladeTip.mirror = true; + setRotation(this.BladeTip, 0F, 0F, 0F); + this.Shield1 = new ModelRenderer(this, 14, 0); + this.Shield1.addBox(0F, 0F, 0F, 1, 1, 4); + this.Shield1.setRotationPoint(-2F, -6.5F, -1.5F); + this.Shield1.setTextureSize(64, 32); + this.Shield1.mirror = true; + setRotation(this.Shield1, 0F, 0F, 0F); + this.Shield2 = new ModelRenderer(this, 24, 0); + this.Shield2.addBox(0F, 0F, 0F, 1, 1, 4); + this.Shield2.setRotationPoint(4F, -6.5F, -1.5F); + this.Shield2.setTextureSize(64, 32); + this.Shield2.mirror = true; + setRotation(this.Shield2, 0F, 0F, 0F); + } + + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.GripBottom.render(scaleFactor); + this.GripHandle.render(scaleFactor); + this.Shield.render(scaleFactor); + this.Blade.render(scaleFactor); + this.BladeTip.render(scaleFactor); + this.Shield1.render(scaleFactor); + this.Shield2.render(scaleFactor); + } + + private static void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } } diff --git a/src/main/java/com/hbm/render/model/ModelT45Boots.java b/src/main/java/com/hbm/render/model/ModelT45Boots.java index f12008588..fc3e1f4c3 100644 --- a/src/main/java/com/hbm/render/model/ModelT45Boots.java +++ b/src/main/java/com/hbm/render/model/ModelT45Boots.java @@ -11,10 +11,9 @@ import org.lwjgl.opengl.GL11; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; public class ModelT45Boots extends ModelBiped { - // fields + ModelRenderer leftleg; ModelRenderer rightleg; ModelRenderer Shape1; @@ -23,67 +22,49 @@ public class ModelT45Boots extends ModelBiped { ModelRenderer Shape4; public ModelT45Boots() { - textureWidth = 64; - textureHeight = 32; + this.textureWidth = 64; + this.textureHeight = 32; - leftleg = new ModelRenderer(this, 0, 0); - rightleg = new ModelRenderer(this, 0, 0); - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 4, 2, 6); - Shape1.setRotationPoint(-4F + 2, 0F + 9.5F, -4F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - convertToChild(leftleg, Shape1); - Shape2 = new ModelRenderer(this, 0, 8); - Shape2.addBox(0F, 0F, 0F, 4, 2, 6); - Shape2.setRotationPoint(0F - 2, 0F + 9.5F, -4F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - convertToChild(rightleg, Shape2); - Shape3 = new ModelRenderer(this, 0, 16); - Shape3.addBox(0F, -1F, 0F, 4, 2, 4); - Shape3.setRotationPoint(-4F + 2, 0F + 9.5F, -4F); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0.2617994F, 0F, 0F); - convertToChild(leftleg, Shape3); - Shape4 = new ModelRenderer(this, 0, 22); - Shape4.addBox(0F, -1F, 0F, 4, 2, 4); - Shape4.setRotationPoint(0F - 2, 0F + 9.5F, -4F); - Shape4.setTextureSize(64, 32); - Shape4.mirror = true; - setRotation(Shape4, 0.2617994F, 0F, 0F); - convertToChild(rightleg, Shape4); - } - - /* - * public void render(Entity entity, float f, float f1, float f2, float f3, - * float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); - * setRotationAngles(f, f1, f2, f3, f4, f5); Shape1.render(f5); - * Shape2.render(f5); Shape3.render(f5); Shape4.render(f5); } - */ - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; + this.leftleg = new ModelRenderer(this, 0, 0); + this.rightleg = new ModelRenderer(this, 0, 0); + this.Shape1 = new ModelRenderer(this, 0, 0); + this.Shape1.addBox(0F, 0F, 0F, 4, 2, 6); + this.Shape1.setRotationPoint(-4F + 2, 0F + 9.5F, -4F); + this.Shape1.setTextureSize(64, 32); + this.Shape1.mirror = true; + setRotation(this.Shape1, 0F, 0F, 0F); + convertToChild(this.leftleg, this.Shape1); + this.Shape2 = new ModelRenderer(this, 0, 8); + this.Shape2.addBox(0F, 0F, 0F, 4, 2, 6); + this.Shape2.setRotationPoint(0F - 2, 0F + 9.5F, -4F); + this.Shape2.setTextureSize(64, 32); + this.Shape2.mirror = true; + setRotation(this.Shape2, 0F, 0F, 0F); + convertToChild(this.rightleg, this.Shape2); + this.Shape3 = new ModelRenderer(this, 0, 16); + this.Shape3.addBox(0F, -1F, 0F, 4, 2, 4); + this.Shape3.setRotationPoint(-4F + 2, 0F + 9.5F, -4F); + this.Shape3.setTextureSize(64, 32); + this.Shape3.mirror = true; + setRotation(this.Shape3, 0.2617994F, 0F, 0F); + convertToChild(this.leftleg, this.Shape3); + this.Shape4 = new ModelRenderer(this, 0, 22); + this.Shape4.addBox(0F, -1F, 0F, 4, 2, 4); + this.Shape4.setRotationPoint(0F - 2, 0F + 9.5F, -4F); + this.Shape4.setTextureSize(64, 32); + this.Shape4.mirror = true; + setRotation(this.Shape4, 0.2617994F, 0F, 0F); + convertToChild(this.rightleg, this.Shape4); } @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { + public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entity) { - if (entity instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) entity; - if (player.isSneaking()) { - this.isSneak = true; - } else { - this.isSneak = false; - } - } + this.isSneak = entity.isSneaking(); + this.isRiding = entity.isRiding(); + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); this.leftleg.rotationPointX = this.bipedLeftLeg.rotationPointX; this.leftleg.rotationPointY = this.bipedLeftLeg.rotationPointY - 1.5F; this.leftleg.rotationPointZ = this.bipedLeftLeg.rotationPointZ; @@ -106,31 +87,40 @@ public class ModelT45Boots extends ModelBiped { } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + GL11.glPushMatrix(); GL11.glScalef(1.125F, 1.125F, 1.125F); // this.leftleg.addChild(Shape1); // this.leftleg.addChild(Shape3); - this.leftleg.render(par7); + this.leftleg.render(scaleFactor); // this.rightleg.addChild(Shape2); // this.rightleg.addChild(Shape4); - this.rightleg.render(par7); + this.rightleg.render(scaleFactor); GL11.glPopMatrix(); } - protected void convertToChild(ModelRenderer parParent, ModelRenderer parChild) { + protected static void convertToChild(ModelRenderer parent, ModelRenderer child) { + // move child rotation point to be relative to parent - parChild.rotationPointX -= parParent.rotationPointX; - parChild.rotationPointY -= parParent.rotationPointY; - parChild.rotationPointZ -= parParent.rotationPointZ; + child.rotationPointX -= parent.rotationPointX; + child.rotationPointY -= parent.rotationPointY; + child.rotationPointZ -= parent.rotationPointZ; // make rotations relative to parent - parChild.rotateAngleX -= parParent.rotateAngleX; - parChild.rotateAngleY -= parParent.rotateAngleY; - parChild.rotateAngleZ -= parParent.rotateAngleZ; + child.rotateAngleX -= parent.rotateAngleX; + child.rotateAngleY -= parent.rotateAngleY; + child.rotateAngleZ -= parent.rotateAngleZ; // create relationship - parParent.addChild(parChild); + parent.addChild(child); } + private static void setRotation(ModelRenderer model, float x, float y, float z) { + + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } } diff --git a/src/main/java/com/hbm/render/model/ModelT45Chest.java b/src/main/java/com/hbm/render/model/ModelT45Chest.java index 07f4cda1f..037ae3cb8 100644 --- a/src/main/java/com/hbm/render/model/ModelT45Chest.java +++ b/src/main/java/com/hbm/render/model/ModelT45Chest.java @@ -9,11 +9,11 @@ package com.hbm.render.model; import org.lwjgl.opengl.GL11; import com.hbm.interfaces.IHoldableWeapon; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -import net.minecraft.entity.monster.EntityPigZombie; import net.minecraft.entity.monster.EntitySkeleton; import net.minecraft.entity.monster.EntityZombie; import net.minecraft.entity.player.EntityPlayer; @@ -21,7 +21,7 @@ import net.minecraft.item.EnumAction; import net.minecraft.item.ItemStack; public class ModelT45Chest extends ModelBiped { - // fields + ModelRenderer chest; ModelRenderer leftarm; ModelRenderer rightarm; @@ -46,191 +46,174 @@ public class ModelT45Chest extends ModelBiped { ModelRenderer Shape19; public ModelT45Chest() { - textureWidth = 128; - textureHeight = 64; + this.textureWidth = 128; + this.textureHeight = 64; - chest = new ModelRenderer(this, 0, 0); - leftarm = new ModelRenderer(this, 0, 0); - rightarm = new ModelRenderer(this, 0, 0); - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 8, 12, 4); - Shape1.setRotationPoint(-4F, 0F - 0.0625F / 2, -2F); - Shape1.setTextureSize(128, 64); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - convertToChild(chest, Shape1); - Shape2 = new ModelRenderer(this, 0, 16); - Shape2.addBox(0F, 0F, 0F, 7, 5, 2); - Shape2.setRotationPoint(-3.5F, 2F - 0.0625F / 2, -3.5F); - Shape2.setTextureSize(128, 64); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - convertToChild(chest, Shape2); - Shape3 = new ModelRenderer(this, 0, 23); - Shape3.addBox(0F, 0F, 0F, 1, 1, 1); - Shape3.setRotationPoint(-2.5F, 7F - 0.0625F / 2, -3F); - Shape3.setTextureSize(128, 64); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - convertToChild(chest, Shape3); - Shape4 = new ModelRenderer(this, 0, 25); - Shape4.addBox(0F, 0F, 0F, 1, 1, 1); - Shape4.setRotationPoint(1.5F, 7F - 0.0625F / 2, -3F); - Shape4.setTextureSize(128, 64); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - convertToChild(chest, Shape4); - Shape5 = new ModelRenderer(this, 0, 28); - Shape5.addBox(0F, -2F, 0F, 7, 2, 2); - Shape5.setRotationPoint(-3.5F, 2F - 0.0625F / 2, -3.5F); - Shape5.setTextureSize(128, 64); - Shape5.mirror = true; - setRotation(Shape5, -0.6108652F, 0F, 0F); - convertToChild(chest, Shape5); - Shape6 = new ModelRenderer(this, 48, 0); - Shape6.addBox(0F, 0F, 0F, 4, 12, 4); - Shape6.setRotationPoint(4F - 6 + 0.25F, 0F - 3, -2F); - Shape6.setTextureSize(128, 64); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - convertToChild(leftarm, Shape6); - Shape7 = new ModelRenderer(this, 32, 0); - Shape7.addBox(0F, 0F, 0F, 4, 12, 4); - Shape7.setRotationPoint(-8F + 6 - 0.25F, 0F - 3, -2F); - Shape7.setTextureSize(128, 64); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - convertToChild(rightarm, Shape7); - Shape8 = new ModelRenderer(this, 32, 16); - Shape8.addBox(0F, 0F, 0F, 5, 6, 6); - Shape8.setRotationPoint(4F - 6 + 0.25F, 4F - 3, -3F); - Shape8.setTextureSize(128, 64); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - convertToChild(leftarm, Shape8); - Shape9 = new ModelRenderer(this, 0, 34); - Shape9.addBox(0F, 0F, 0F, 5, 6, 6); - Shape9.setRotationPoint(-9F + 6 - 0.25F, 4F - 3, -3F); - Shape9.setTextureSize(128, 64); - Shape9.mirror = true; - setRotation(Shape9, 0F, 0F, 0F); - convertToChild(rightarm, Shape9); - Shape10 = new ModelRenderer(this, 32, 30); - Shape10.addBox(0F, 0F, 0F, 2, 6, 2); - Shape10.setRotationPoint(1F, 4F - 0.0625F / 2, 2F); - Shape10.setTextureSize(128, 64); - Shape10.mirror = true; - setRotation(Shape10, 0F, 0F, 0F); - convertToChild(chest, Shape10); - Shape11 = new ModelRenderer(this, 42, 30); - Shape11.addBox(0F, 0F, 0F, 2, 6, 2); - Shape11.setRotationPoint(-3F, 4F - 0.0625F / 2, 2F); - Shape11.setTextureSize(128, 64); - Shape11.mirror = true; - setRotation(Shape11, 0F, 0F, 0F); - convertToChild(chest, Shape11); - Shape12 = new ModelRenderer(this, 26, 9); - Shape12.addBox(0F, 0F, 0F, 1, 6, 1); - Shape12.setRotationPoint(1.5F, -2F - 0.0625F / 2, 2F); - Shape12.setTextureSize(128, 64); - Shape12.mirror = true; - setRotation(Shape12, 0F, 0F, 0F); - convertToChild(chest, Shape12); - Shape13 = new ModelRenderer(this, 26, 0); - Shape13.addBox(0F, 0F, 0F, 1, 6, 1); - Shape13.setRotationPoint(-2.5F, -2F - 0.0625F / 2, 2F); - Shape13.setTextureSize(128, 64); - Shape13.mirror = true; - setRotation(Shape13, 0F, 0F, 0F); - convertToChild(chest, Shape13); - Shape14 = new ModelRenderer(this, 20, 18); - Shape14.addBox(0F, 0F, 0F, 2, 2, 1); - Shape14.setRotationPoint(-1F, 1F - 0.0625F / 2, 2F); - Shape14.setTextureSize(128, 64); - Shape14.mirror = true; - setRotation(Shape14, 0F, 0F, 0F); - convertToChild(chest, Shape14); - Shape15 = new ModelRenderer(this, 21, 23); - Shape15.addBox(-1.5F, -1.5F, 0F, 3, 3, 1); - Shape15.setRotationPoint(0F, 2F - 0.0625F / 2, 3F); - Shape15.setTextureSize(128, 64); - Shape15.mirror = true; - setRotation(Shape15, 0F, 0F, 0.7853982F); - convertToChild(chest, Shape15); - Shape16 = new ModelRenderer(this, 0, 48); - Shape16.addBox(0F, -1F, 0F, 3, 1, 4); - Shape16.setRotationPoint(-8F + 6 - 0.25F, 12F - 3, -2F); - Shape16.setTextureSize(128, 64); - Shape16.mirror = true; - setRotation(Shape16, 0F, 0F, 0.5235988F); - convertToChild(rightarm, Shape16); - Shape17 = new ModelRenderer(this, 0, 55); - Shape17.addBox(-3F, -1F, 0F, 3, 1, 4); - Shape17.setRotationPoint(8F - 6 + 0.25F, 12F - 3, -2F); - Shape17.setTextureSize(128, 64); - Shape17.mirror = true; - setRotation(Shape17, 0F, 0F, -0.5235988F); - convertToChild(leftarm, Shape17); - Shape18 = new ModelRenderer(this, 90, 0); - Shape18.addBox(0F, -3F, 0F, 5, 3, 6); - Shape18.setRotationPoint(4F - 6 + 0.25F, 0F - 3, -3F); - Shape18.setTextureSize(128, 64); - Shape18.mirror = true; - setRotation(Shape18, 0F, 0F, 0.2617994F); - convertToChild(leftarm, Shape18); - Shape19 = new ModelRenderer(this, 66, 0); - Shape19.addBox(-5F, -3F, 0F, 5, 3, 6); - Shape19.setRotationPoint(-4F + 6 - 0.25F, 0F - 3, -3F); - Shape19.setTextureSize(128, 64); - Shape19.mirror = true; - setRotation(Shape19, 0F, 0F, -0.2617994F); - convertToChild(rightarm, Shape19); - } - - /* - * public void render(Entity entity, float f, float f1, float f2, float f3, - * float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); - * setRotationAngles(f, f1, f2, f3, f4, f5); Shape1.render(f5); - * Shape2.render(f5); Shape3.render(f5); Shape4.render(f5); - * Shape5.render(f5); Shape6.render(f5); Shape7.render(f5); - * Shape8.render(f5); Shape9.render(f5); Shape10.render(f5); - * Shape11.render(f5); Shape12.render(f5); Shape13.render(f5); - * Shape14.render(f5); Shape15.render(f5); Shape16.render(f5); - * Shape17.render(f5); Shape18.render(f5); Shape19.render(f5); } - */ - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; + this.chest = new ModelRenderer(this, 0, 0); + this.leftarm = new ModelRenderer(this, 0, 0); + this.rightarm = new ModelRenderer(this, 0, 0); + this.Shape1 = new ModelRenderer(this, 0, 0); + this.Shape1.addBox(0F, 0F, 0F, 8, 12, 4); + this.Shape1.setRotationPoint(-4F, 0F - 0.0625F / 2, -2F); + this.Shape1.setTextureSize(128, 64); + this.Shape1.mirror = true; + setRotation(this.Shape1, 0F, 0F, 0F); + convertToChild(this.chest, this.Shape1); + this.Shape2 = new ModelRenderer(this, 0, 16); + this.Shape2.addBox(0F, 0F, 0F, 7, 5, 2); + this.Shape2.setRotationPoint(-3.5F, 2F - 0.0625F / 2, -3.5F); + this.Shape2.setTextureSize(128, 64); + this.Shape2.mirror = true; + setRotation(this.Shape2, 0F, 0F, 0F); + convertToChild(this.chest, this.Shape2); + this.Shape3 = new ModelRenderer(this, 0, 23); + this.Shape3.addBox(0F, 0F, 0F, 1, 1, 1); + this.Shape3.setRotationPoint(-2.5F, 7F - 0.0625F / 2, -3F); + this.Shape3.setTextureSize(128, 64); + this.Shape3.mirror = true; + setRotation(this.Shape3, 0F, 0F, 0F); + convertToChild(this.chest, this.Shape3); + this.Shape4 = new ModelRenderer(this, 0, 25); + this.Shape4.addBox(0F, 0F, 0F, 1, 1, 1); + this.Shape4.setRotationPoint(1.5F, 7F - 0.0625F / 2, -3F); + this.Shape4.setTextureSize(128, 64); + this.Shape4.mirror = true; + setRotation(this.Shape4, 0F, 0F, 0F); + convertToChild(this.chest, this.Shape4); + this.Shape5 = new ModelRenderer(this, 0, 28); + this.Shape5.addBox(0F, -2F, 0F, 7, 2, 2); + this.Shape5.setRotationPoint(-3.5F, 2F - 0.0625F / 2, -3.5F); + this.Shape5.setTextureSize(128, 64); + this.Shape5.mirror = true; + setRotation(this.Shape5, -0.6108652F, 0F, 0F); + convertToChild(this.chest, this.Shape5); + this.Shape6 = new ModelRenderer(this, 48, 0); + this.Shape6.addBox(0F, 0F, 0F, 4, 12, 4); + this.Shape6.setRotationPoint(4F - 6 + 0.25F, 0F - 3, -2F); + this.Shape6.setTextureSize(128, 64); + this.Shape6.mirror = true; + setRotation(this.Shape6, 0F, 0F, 0F); + convertToChild(this.leftarm, this.Shape6); + this.Shape7 = new ModelRenderer(this, 32, 0); + this.Shape7.addBox(0F, 0F, 0F, 4, 12, 4); + this.Shape7.setRotationPoint(-8F + 6 - 0.25F, 0F - 3, -2F); + this.Shape7.setTextureSize(128, 64); + this.Shape7.mirror = true; + setRotation(this.Shape7, 0F, 0F, 0F); + convertToChild(this.rightarm, this.Shape7); + this.Shape8 = new ModelRenderer(this, 32, 16); + this.Shape8.addBox(0F, 0F, 0F, 5, 6, 6); + this.Shape8.setRotationPoint(4F - 6 + 0.25F, 4F - 3, -3F); + this.Shape8.setTextureSize(128, 64); + this.Shape8.mirror = true; + setRotation(this.Shape8, 0F, 0F, 0F); + convertToChild(this.leftarm, this.Shape8); + this.Shape9 = new ModelRenderer(this, 0, 34); + this.Shape9.addBox(0F, 0F, 0F, 5, 6, 6); + this.Shape9.setRotationPoint(-9F + 6 - 0.25F, 4F - 3, -3F); + this.Shape9.setTextureSize(128, 64); + this.Shape9.mirror = true; + setRotation(this.Shape9, 0F, 0F, 0F); + convertToChild(this.rightarm, this.Shape9); + this.Shape10 = new ModelRenderer(this, 32, 30); + this.Shape10.addBox(0F, 0F, 0F, 2, 6, 2); + this.Shape10.setRotationPoint(1F, 4F - 0.0625F / 2, 2F); + this.Shape10.setTextureSize(128, 64); + this.Shape10.mirror = true; + setRotation(this.Shape10, 0F, 0F, 0F); + convertToChild(this.chest, this.Shape10); + this.Shape11 = new ModelRenderer(this, 42, 30); + this.Shape11.addBox(0F, 0F, 0F, 2, 6, 2); + this.Shape11.setRotationPoint(-3F, 4F - 0.0625F / 2, 2F); + this.Shape11.setTextureSize(128, 64); + this.Shape11.mirror = true; + setRotation(this.Shape11, 0F, 0F, 0F); + convertToChild(this.chest, this.Shape11); + this.Shape12 = new ModelRenderer(this, 26, 9); + this.Shape12.addBox(0F, 0F, 0F, 1, 6, 1); + this.Shape12.setRotationPoint(1.5F, -2F - 0.0625F / 2, 2F); + this.Shape12.setTextureSize(128, 64); + this.Shape12.mirror = true; + setRotation(this.Shape12, 0F, 0F, 0F); + convertToChild(this.chest, this.Shape12); + this.Shape13 = new ModelRenderer(this, 26, 0); + this.Shape13.addBox(0F, 0F, 0F, 1, 6, 1); + this.Shape13.setRotationPoint(-2.5F, -2F - 0.0625F / 2, 2F); + this.Shape13.setTextureSize(128, 64); + this.Shape13.mirror = true; + setRotation(this.Shape13, 0F, 0F, 0F); + convertToChild(this.chest, this.Shape13); + this.Shape14 = new ModelRenderer(this, 20, 18); + this.Shape14.addBox(0F, 0F, 0F, 2, 2, 1); + this.Shape14.setRotationPoint(-1F, 1F - 0.0625F / 2, 2F); + this.Shape14.setTextureSize(128, 64); + this.Shape14.mirror = true; + setRotation(this.Shape14, 0F, 0F, 0F); + convertToChild(this.chest, this.Shape14); + this.Shape15 = new ModelRenderer(this, 21, 23); + this.Shape15.addBox(-1.5F, -1.5F, 0F, 3, 3, 1); + this.Shape15.setRotationPoint(0F, 2F - 0.0625F / 2, 3F); + this.Shape15.setTextureSize(128, 64); + this.Shape15.mirror = true; + setRotation(this.Shape15, 0F, 0F, 0.7853982F); + convertToChild(this.chest, this.Shape15); + this.Shape16 = new ModelRenderer(this, 0, 48); + this.Shape16.addBox(0F, -1F, 0F, 3, 1, 4); + this.Shape16.setRotationPoint(-8F + 6 - 0.25F, 12F - 3, -2F); + this.Shape16.setTextureSize(128, 64); + this.Shape16.mirror = true; + setRotation(this.Shape16, 0F, 0F, 0.5235988F); + convertToChild(this.rightarm, this.Shape16); + this.Shape17 = new ModelRenderer(this, 0, 55); + this.Shape17.addBox(-3F, -1F, 0F, 3, 1, 4); + this.Shape17.setRotationPoint(8F - 6 + 0.25F, 12F - 3, -2F); + this.Shape17.setTextureSize(128, 64); + this.Shape17.mirror = true; + setRotation(this.Shape17, 0F, 0F, -0.5235988F); + convertToChild(this.leftarm, this.Shape17); + this.Shape18 = new ModelRenderer(this, 90, 0); + this.Shape18.addBox(0F, -3F, 0F, 5, 3, 6); + this.Shape18.setRotationPoint(4F - 6 + 0.25F, 0F - 3, -3F); + this.Shape18.setTextureSize(128, 64); + this.Shape18.mirror = true; + setRotation(this.Shape18, 0F, 0F, 0.2617994F); + convertToChild(this.leftarm, this.Shape18); + this.Shape19 = new ModelRenderer(this, 66, 0); + this.Shape19.addBox(-5F, -3F, 0F, 5, 3, 6); + this.Shape19.setRotationPoint(-4F + 6 - 0.25F, 0F - 3, -3F); + this.Shape19.setTextureSize(128, 64); + this.Shape19.mirror = true; + setRotation(this.Shape19, 0F, 0F, -0.2617994F); + convertToChild(this.rightarm, this.Shape19); } @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - if (entity instanceof EntityPlayer) { + public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entity) { + + if(entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) entity; - if (player.isSneaking()) { - this.isSneak = true; - } else { - this.isSneak = false; - } ItemStack itemstack = player.inventory.getCurrentItem(); this.heldItemRight = itemstack != null ? 1 : 0; - if (itemstack != null && player.getItemInUseCount() > 0) { + if(itemstack != null && player.getItemInUseCount() > 0) { EnumAction enumaction = itemstack.getItemUseAction(); - if (enumaction == EnumAction.block) { + if(enumaction == EnumAction.block) { this.heldItemRight = 3; - } else if (enumaction == EnumAction.bow) { + } else if(enumaction == EnumAction.bow) { this.aimedBow = true; } } - if(itemstack != null && player.getHeldItem().getItem() instanceof IHoldableWeapon) - this.aimedBow = true; + if(itemstack != null && player.getHeldItem().getItem() instanceof IHoldableWeapon) this.aimedBow = true; + if(itemstack != null && player.getHeldItem().getItem() instanceof ItemGunBaseNT) this.aimedBow = true; } - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + + this.isSneak = entity.isSneaking(); + this.isRiding = entity.isRiding(); + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); + this.chest.rotationPointX = this.bipedBody.rotationPointX; this.chest.rotationPointY = this.bipedBody.rotationPointY; this.chest.rotationPointZ = this.bipedBody.rotationPointZ; @@ -249,56 +232,66 @@ public class ModelT45Chest extends ModelBiped { this.rightarm.rotateAngleX = this.bipedRightArm.rotateAngleX; this.rightarm.rotateAngleY = this.bipedRightArm.rotateAngleY; this.rightarm.rotateAngleZ = this.bipedRightArm.rotateAngleZ; - - if(entity instanceof EntityZombie || entity instanceof EntityPigZombie || entity instanceof EntitySkeleton) { - this.leftarm.rotateAngleX -= (90 * Math.PI / 180D); - this.rightarm.rotateAngleX -= (90 * Math.PI / 180D); + + if(entity instanceof EntityZombie || entity instanceof EntitySkeleton) { + this.leftarm.rotateAngleX -= (float) (90 * Math.PI / 180D); + this.rightarm.rotateAngleX -= (float) (90 * Math.PI / 180D); } } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); GL11.glPushMatrix(); GL11.glScalef(1.125F, 1.125F, 1.125F); - this.chest.render(par7); + this.chest.render(scaleFactor); this.aimedBow = false; GL11.glPopMatrix(); - this.renderLeft(par1Entity, par2, par3, par4, par5, par6, par7); - this.renderRight(par1Entity, par2, par3, par4, par5, par6, par7); + this.renderLeft(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor); + this.renderRight(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor); } - public void renderLeft(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + public void renderLeft(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); GL11.glPushMatrix(); GL11.glScalef(1.125F, 1.125F, 1.125F); - this.leftarm.render(par7); + this.leftarm.render(scaleFactor); this.aimedBow = false; GL11.glPopMatrix(); } - public void renderRight(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + public void renderRight(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); GL11.glPushMatrix(); GL11.glScalef(1.125F, 1.125F, 1.125F); - this.rightarm.render(par7); + this.rightarm.render(scaleFactor); this.aimedBow = false; GL11.glPopMatrix(); } // Jabelar, you saved my time! I was about to redo all this crap if you can // simply use this method!! - protected void convertToChild(ModelRenderer parParent, ModelRenderer parChild) { + protected static void convertToChild(ModelRenderer parent, ModelRenderer child) { + // move child rotation point to be relative to parent - parChild.rotationPointX -= parParent.rotationPointX; - parChild.rotationPointY -= parParent.rotationPointY; - parChild.rotationPointZ -= parParent.rotationPointZ; + child.rotationPointX -= parent.rotationPointX; + child.rotationPointY -= parent.rotationPointY; + child.rotationPointZ -= parent.rotationPointZ; // make rotations relative to parent - parChild.rotateAngleX -= parParent.rotateAngleX; - parChild.rotateAngleY -= parParent.rotateAngleY; - parChild.rotateAngleZ -= parParent.rotateAngleZ; + child.rotateAngleX -= parent.rotateAngleX; + child.rotateAngleY -= parent.rotateAngleY; + child.rotateAngleZ -= parent.rotateAngleZ; // create relationship - parParent.addChild(parChild); + parent.addChild(child); } + private static void setRotation(ModelRenderer model, float x, float y, float z) { + + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } } diff --git a/src/main/java/com/hbm/render/model/ModelT45Helmet.java b/src/main/java/com/hbm/render/model/ModelT45Helmet.java index 1c42c2604..bda3e446b 100644 --- a/src/main/java/com/hbm/render/model/ModelT45Helmet.java +++ b/src/main/java/com/hbm/render/model/ModelT45Helmet.java @@ -11,10 +11,9 @@ import org.lwjgl.opengl.GL11; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; public class ModelT45Helmet extends ModelBiped { - // fields + ModelRenderer helmet; ModelRenderer Shape1; ModelRenderer Shape2; @@ -26,96 +25,76 @@ public class ModelT45Helmet extends ModelBiped { ModelRenderer Shape8; public ModelT45Helmet() { - textureWidth = 64; - textureHeight = 32; + this.textureWidth = 64; + this.textureHeight = 32; - helmet = new ModelRenderer(this, 0, 0); - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 8, 8, 8); - Shape1.setRotationPoint(-4F, 0F - 8 + 0.0625F / 2, -4F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - convertToChild(helmet, Shape1); - Shape2 = new ModelRenderer(this, 32, 0); - Shape2.addBox(0F, 0F, 0F, 2, 2, 1); - Shape2.setRotationPoint(1F, 1F - 8 + 0.0625F / 2 + 1, -5F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - convertToChild(helmet, Shape2); - Shape3 = new ModelRenderer(this, 40, 6); - Shape3.addBox(0F, 0F, 0F, 1, 1, 4); - Shape3.setRotationPoint(-5F, 1F - 8 + 0.0625F / 2, -5.466667F); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - convertToChild(helmet, Shape3); - Shape4 = new ModelRenderer(this, 40, 0); - Shape4.addBox(0F, 0F, 0F, 4, 2, 2); - Shape4.setRotationPoint(-2F, 5F - 8 + 0.0625F / 2, -4F); - Shape4.setTextureSize(64, 32); - Shape4.mirror = true; - setRotation(Shape4, -0.7853982F, 0F, 0F); - convertToChild(helmet, Shape4); - Shape5 = new ModelRenderer(this, 54, 0); - Shape5.addBox(0F, 2F, 0F, 2, 1, 2); - Shape5.setRotationPoint(-1F, 5F - 8 + 0.0625F / 2, -4F); - Shape5.setTextureSize(64, 32); - Shape5.mirror = true; - setRotation(Shape5, -0.7853982F, 0F, 0F); - convertToChild(helmet, Shape5); - Shape6 = new ModelRenderer(this, 0, 16); - Shape6.addBox(0F, 0F, 0F, 10, 1, 9); - Shape6.setRotationPoint(-5F, 6F - 8 + 0.0625F / 2, -4.5F); - Shape6.setTextureSize(64, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - convertToChild(helmet, Shape6); - Shape7 = new ModelRenderer(this, 32, 7); - Shape7.addBox(0F, 0F, 0F, 1, 1, 1); - Shape7.setRotationPoint(-1.5F, 5F - 8 + 0.0625F / 2, -4.5F); - Shape7.setTextureSize(64, 32); - Shape7.mirror = true; - setRotation(Shape7, -0.7853982F, 0F, 0F); - convertToChild(helmet, Shape7); - Shape8 = new ModelRenderer(this, 32, 5); - Shape8.addBox(0F, 0F, 0F, 1, 1, 1); - Shape8.setRotationPoint(0.5F, 5F - 8 + 0.0625F / 2, -4.5F); - Shape8.setTextureSize(64, 32); - Shape8.mirror = true; - setRotation(Shape8, -0.7853982F, 0F, 0F); - convertToChild(helmet, Shape8); - } - - /* - * public void render(Entity entity, float f, float f1, float f2, float f3, - * float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); - * setRotationAngles(f, f1, f2, f3, f4, f5); Shape1.render(f5); - * Shape2.render(f5); Shape3.render(f5); Shape4.render(f5); - * Shape5.render(f5); Shape6.render(f5); Shape7.render(f5); - * Shape8.render(f5); } - */ - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; + this.helmet = new ModelRenderer(this, 0, 0); + this.Shape1 = new ModelRenderer(this, 0, 0); + this.Shape1.addBox(0F, 0F, 0F, 8, 8, 8); + this.Shape1.setRotationPoint(-4F, 0F - 8 + 0.0625F / 2, -4F); + this.Shape1.setTextureSize(64, 32); + this.Shape1.mirror = true; + setRotation(this.Shape1, 0F, 0F, 0F); + convertToChild(this.helmet, this.Shape1); + this.Shape2 = new ModelRenderer(this, 32, 0); + this.Shape2.addBox(0F, 0F, 0F, 2, 2, 1); + this.Shape2.setRotationPoint(1F, 1F - 8 + 0.0625F / 2 + 1, -5F); + this.Shape2.setTextureSize(64, 32); + this.Shape2.mirror = true; + setRotation(this.Shape2, 0F, 0F, 0F); + convertToChild(this.helmet, this.Shape2); + this.Shape3 = new ModelRenderer(this, 40, 6); + this.Shape3.addBox(0F, 0F, 0F, 1, 1, 4); + this.Shape3.setRotationPoint(-5F, 1F - 8 + 0.0625F / 2, -5.466667F); + this.Shape3.setTextureSize(64, 32); + this.Shape3.mirror = true; + setRotation(this.Shape3, 0F, 0F, 0F); + convertToChild(this.helmet, this.Shape3); + this.Shape4 = new ModelRenderer(this, 40, 0); + this.Shape4.addBox(0F, 0F, 0F, 4, 2, 2); + this.Shape4.setRotationPoint(-2F, 5F - 8 + 0.0625F / 2, -4F); + this.Shape4.setTextureSize(64, 32); + this.Shape4.mirror = true; + setRotation(this.Shape4, -0.7853982F, 0F, 0F); + convertToChild(this.helmet, this.Shape4); + this.Shape5 = new ModelRenderer(this, 54, 0); + this.Shape5.addBox(0F, 2F, 0F, 2, 1, 2); + this.Shape5.setRotationPoint(-1F, 5F - 8 + 0.0625F / 2, -4F); + this.Shape5.setTextureSize(64, 32); + this.Shape5.mirror = true; + setRotation(this.Shape5, -0.7853982F, 0F, 0F); + convertToChild(this.helmet, this.Shape5); + this.Shape6 = new ModelRenderer(this, 0, 16); + this.Shape6.addBox(0F, 0F, 0F, 10, 1, 9); + this.Shape6.setRotationPoint(-5F, 6F - 8 + 0.0625F / 2, -4.5F); + this.Shape6.setTextureSize(64, 32); + this.Shape6.mirror = true; + setRotation(this.Shape6, 0F, 0F, 0F); + convertToChild(this.helmet, this.Shape6); + this.Shape7 = new ModelRenderer(this, 32, 7); + this.Shape7.addBox(0F, 0F, 0F, 1, 1, 1); + this.Shape7.setRotationPoint(-1.5F, 5F - 8 + 0.0625F / 2, -4.5F); + this.Shape7.setTextureSize(64, 32); + this.Shape7.mirror = true; + setRotation(this.Shape7, -0.7853982F, 0F, 0F); + convertToChild(this.helmet, this.Shape7); + this.Shape8 = new ModelRenderer(this, 32, 5); + this.Shape8.addBox(0F, 0F, 0F, 1, 1, 1); + this.Shape8.setRotationPoint(0.5F, 5F - 8 + 0.0625F / 2, -4.5F); + this.Shape8.setTextureSize(64, 32); + this.Shape8.mirror = true; + setRotation(this.Shape8, -0.7853982F, 0F, 0F); + convertToChild(this.helmet, this.Shape8); } @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { + public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entity) { - if (entity instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) entity; - if (player.isSneaking()) { - this.isSneak = true; - } else { - this.isSneak = false; - } - } + this.isSneak = entity.isSneaking(); + this.isRiding = entity.isRiding(); + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); this.helmet.rotationPointX = this.bipedHead.rotationPointX; this.helmet.rotationPointY = this.bipedHead.rotationPointY; this.helmet.rotateAngleY = this.bipedHead.rotateAngleY; @@ -123,26 +102,34 @@ public class ModelT45Helmet extends ModelBiped { } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); GL11.glPushMatrix(); GL11.glScalef(1.125F, 1.125F, 1.125F); GL11.glScalef(1.0625F, 1.0625F, 1.0625F); - this.helmet.render(par7); + this.helmet.render(scaleFactor); GL11.glPopMatrix(); } - protected void convertToChild(ModelRenderer parParent, ModelRenderer parChild) { + protected static void convertToChild(ModelRenderer parent, ModelRenderer child) { + // move child rotation point to be relative to parent - parChild.rotationPointX -= parParent.rotationPointX; - parChild.rotationPointY -= parParent.rotationPointY; - parChild.rotationPointZ -= parParent.rotationPointZ; + child.rotationPointX -= parent.rotationPointX; + child.rotationPointY -= parent.rotationPointY; + child.rotationPointZ -= parent.rotationPointZ; // make rotations relative to parent - parChild.rotateAngleX -= parParent.rotateAngleX; - parChild.rotateAngleY -= parParent.rotateAngleY; - parChild.rotateAngleZ -= parParent.rotateAngleZ; + child.rotateAngleX -= parent.rotateAngleX; + child.rotateAngleY -= parent.rotateAngleY; + child.rotateAngleZ -= parent.rotateAngleZ; // create relationship - parParent.addChild(parChild); + parent.addChild(child); } -} \ No newline at end of file + private static void setRotation(ModelRenderer model, float x, float y, float z) { + + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } +} diff --git a/src/main/java/com/hbm/render/model/ModelT45Legs.java b/src/main/java/com/hbm/render/model/ModelT45Legs.java index fbe3d740c..5090933d7 100644 --- a/src/main/java/com/hbm/render/model/ModelT45Legs.java +++ b/src/main/java/com/hbm/render/model/ModelT45Legs.java @@ -11,10 +11,9 @@ import org.lwjgl.opengl.GL11; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; public class ModelT45Legs extends ModelBiped { - // fields + ModelRenderer leftleg; ModelRenderer rightleg; ModelRenderer Shape1; @@ -25,82 +24,63 @@ public class ModelT45Legs extends ModelBiped { ModelRenderer Shape6; public ModelT45Legs() { - textureWidth = 64; - textureHeight = 32; + this.textureWidth = 64; + this.textureHeight = 32; - leftleg = new ModelRenderer(this, 0, 0); - rightleg = new ModelRenderer(this, 0, 0); - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 4, 12, 4); - Shape1.setRotationPoint(-4F + 2, 0F - 0.5F, -2F); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - convertToChild(rightleg, Shape1); - Shape2 = new ModelRenderer(this, 16, 0); - Shape2.addBox(0F, 0F, 0F, 4, 12, 4); - Shape2.setRotationPoint(0F - 2, 0F - 0.5F, -2F); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - convertToChild(leftleg, Shape2); - Shape3 = new ModelRenderer(this, 0, 16); - Shape3.addBox(0F, -6F, 0F, 5, 6, 4); - Shape3.setRotationPoint(-5F + 2, 10F - 0.5F, -2F); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0.1745329F, 0F, 0F); - convertToChild(rightleg, Shape3); - Shape4 = new ModelRenderer(this, 18, 16); - Shape4.addBox(0F, -6F, 0F, 5, 6, 4); - Shape4.setRotationPoint(0F - 2, 10F - 0.5F, -2F); - Shape4.setTextureSize(64, 32); - Shape4.mirror = true; - setRotation(Shape4, 0.1745329F, 0F, 0F); - convertToChild(leftleg, Shape4); - Shape5 = new ModelRenderer(this, 34, 0); - Shape5.addBox(0F, 0F, 0F, 5, 2, 4); - Shape5.setRotationPoint(-5F + 2, 1F - 0.5F, -3F); - Shape5.setTextureSize(64, 32); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - convertToChild(rightleg, Shape5); - Shape6 = new ModelRenderer(this, 34, 8); - Shape6.addBox(0F, 0F, 0F, 5, 2, 4); - Shape6.setRotationPoint(0F - 2, 1F - 0.5F, -3F); - Shape6.setTextureSize(64, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - convertToChild(leftleg, Shape6); - } - - /* - * public void render(Entity entity, float f, float f1, float f2, float f3, - * float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); - * setRotationAngles(f, f1, f2, f3, f4, f5); Shape1.render(f5); - * Shape2.render(f5); Shape3.render(f5); Shape4.render(f5); - * Shape5.render(f5); Shape6.render(f5); } - */ - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; + this.leftleg = new ModelRenderer(this, 0, 0); + this.rightleg = new ModelRenderer(this, 0, 0); + this.Shape1 = new ModelRenderer(this, 0, 0); + this.Shape1.addBox(0F, 0F, 0F, 4, 12, 4); + this.Shape1.setRotationPoint(-4F + 2, 0F - 0.5F, -2F); + this.Shape1.setTextureSize(64, 32); + this.Shape1.mirror = true; + setRotation(this.Shape1, 0F, 0F, 0F); + convertToChild(this.rightleg, this.Shape1); + this.Shape2 = new ModelRenderer(this, 16, 0); + this.Shape2.addBox(0F, 0F, 0F, 4, 12, 4); + this.Shape2.setRotationPoint(0F - 2, 0F - 0.5F, -2F); + this.Shape2.setTextureSize(64, 32); + this.Shape2.mirror = true; + setRotation(this.Shape2, 0F, 0F, 0F); + convertToChild(this.leftleg, this.Shape2); + this.Shape3 = new ModelRenderer(this, 0, 16); + this.Shape3.addBox(0F, -6F, 0F, 5, 6, 4); + this.Shape3.setRotationPoint(-5F + 2, 10F - 0.5F, -2F); + this.Shape3.setTextureSize(64, 32); + this.Shape3.mirror = true; + setRotation(this.Shape3, 0.1745329F, 0F, 0F); + convertToChild(this.rightleg, this.Shape3); + this.Shape4 = new ModelRenderer(this, 18, 16); + this.Shape4.addBox(0F, -6F, 0F, 5, 6, 4); + this.Shape4.setRotationPoint(0F - 2, 10F - 0.5F, -2F); + this.Shape4.setTextureSize(64, 32); + this.Shape4.mirror = true; + setRotation(this.Shape4, 0.1745329F, 0F, 0F); + convertToChild(this.leftleg, this.Shape4); + this.Shape5 = new ModelRenderer(this, 34, 0); + this.Shape5.addBox(0F, 0F, 0F, 5, 2, 4); + this.Shape5.setRotationPoint(-5F + 2, 1F - 0.5F, -3F); + this.Shape5.setTextureSize(64, 32); + this.Shape5.mirror = true; + setRotation(this.Shape5, 0F, 0F, 0F); + convertToChild(this.rightleg, this.Shape5); + this.Shape6 = new ModelRenderer(this, 34, 8); + this.Shape6.addBox(0F, 0F, 0F, 5, 2, 4); + this.Shape6.setRotationPoint(0F - 2, 1F - 0.5F, -3F); + this.Shape6.setTextureSize(64, 32); + this.Shape6.mirror = true; + setRotation(this.Shape6, 0F, 0F, 0F); + convertToChild(this.leftleg, this.Shape6); } @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { + public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entity) { - if (entity instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) entity; - if (player.isSneaking()) { - this.isSneak = true; - } else { - this.isSneak = false; - } - } + this.isSneak = entity.isSneaking(); + this.isRiding = entity.isRiding(); + + super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); this.leftleg.rotationPointX = this.bipedLeftLeg.rotationPointX; this.leftleg.rotationPointY = this.bipedLeftLeg.rotationPointY - 1.5F; this.leftleg.rotationPointZ = this.bipedLeftLeg.rotationPointZ; @@ -123,27 +103,35 @@ public class ModelT45Legs extends ModelBiped { } @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entity); GL11.glPushMatrix(); GL11.glScalef(1.125F, 1.125F, 1.125F); - this.leftleg.render(par7); + this.leftleg.render(scaleFactor); - this.rightleg.render(par7); + this.rightleg.render(scaleFactor); GL11.glPopMatrix(); } - protected void convertToChild(ModelRenderer parParent, ModelRenderer parChild) { + protected static void convertToChild(ModelRenderer parent, ModelRenderer child) { + // move child rotation point to be relative to parent - parChild.rotationPointX -= parParent.rotationPointX; - parChild.rotationPointY -= parParent.rotationPointY; - parChild.rotationPointZ -= parParent.rotationPointZ; + child.rotationPointX -= parent.rotationPointX; + child.rotationPointY -= parent.rotationPointY; + child.rotationPointZ -= parent.rotationPointZ; // make rotations relative to parent - parChild.rotateAngleX -= parParent.rotateAngleX; - parChild.rotateAngleY -= parParent.rotateAngleY; - parChild.rotateAngleZ -= parParent.rotateAngleZ; + child.rotateAngleX -= parent.rotateAngleX; + child.rotateAngleY -= parent.rotateAngleY; + child.rotateAngleZ -= parent.rotateAngleZ; // create relationship - parParent.addChild(parChild); + parent.addChild(child); } + private static void setRotation(ModelRenderer model, float x, float y, float z) { + + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } } diff --git a/src/main/java/com/hbm/render/model/ModelTaintCrab.java b/src/main/java/com/hbm/render/model/ModelTaintCrab.java index a9bb0ac99..0d504ca8d 100644 --- a/src/main/java/com/hbm/render/model/ModelTaintCrab.java +++ b/src/main/java/com/hbm/render/model/ModelTaintCrab.java @@ -11,17 +11,18 @@ import net.minecraft.util.MathHelper; public class ModelTaintCrab extends ModelBase { @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.render(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor); + GL11.glPushMatrix(); GL11.glRotatef(90, 0, -1, 0); GL11.glRotatef(180, 0, 0, 1); GL11.glTranslatef(0, -1.5F, 0); - float rot = -(MathHelper.cos(f * 0.6662F * 2.0F + 0.0F) * 0.4F) * f1 * 57.3F; - + float rot = -(MathHelper.cos(limbSwing * 0.6662F * 2.0F + 0.0F) * 0.4F) * limbSwingAmount * 57.3F; + ResourceManager.taintcrab.renderPart("Body"); GL11.glPushMatrix(); @@ -33,7 +34,7 @@ public class ModelTaintCrab extends ModelBase { GL11.glRotatef(rot, 0, -1, 0); ResourceManager.taintcrab.renderPart("Legs2"); GL11.glPopMatrix(); - + GL11.glPopMatrix(); } } diff --git a/src/main/java/com/hbm/render/model/ModelTapeRecorder.java b/src/main/java/com/hbm/render/model/ModelTapeRecorder.java index 8f0c79145..c55d1bb7d 100644 --- a/src/main/java/com/hbm/render/model/ModelTapeRecorder.java +++ b/src/main/java/com/hbm/render/model/ModelTapeRecorder.java @@ -4,74 +4,59 @@ import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -public class ModelTapeRecorder extends ModelBase -{ - ModelRenderer Base; - ModelRenderer Tape; - ModelRenderer Part1; - ModelRenderer Part2; - - public ModelTapeRecorder() - { - textureWidth = 128; - textureHeight = 64; - - Base = new ModelRenderer(this, 0, 0); - Base.addBox(0F, 0F, 0F, 16, 16, 12); - Base.setRotationPoint(-8F, 8F, -4F); - Base.setTextureSize(128, 64); - Base.mirror = true; - setRotation(Base, 0F, 0F, 0F); - Tape = new ModelRenderer(this, 0, 28); - Tape.addBox(0F, 0F, 0F, 8, 0, 2); - Tape.setRotationPoint(-4F, 11F, -6F); - Tape.setTextureSize(128, 64); - Tape.mirror = true; - setRotation(Tape, 0F, 0F, 0F); - Part1 = new ModelRenderer(this, 9, 42); - Part1.addBox(0F, 0F, 0F, 6, 6, 2); - Part1.setRotationPoint(-7F, 11F, -6F); - Part1.setTextureSize(128, 64); - Part1.mirror = true; - setRotation(Part1, 0F, 0F, 0F); - Part2 = new ModelRenderer(this, 44, 42); - Part2.addBox(0F, 0F, 0F, 6, 6, 2); - Part2.setRotationPoint(1F, 11F, -6F); - Part2.setTextureSize(128, 64); - Part2.mirror = true; - setRotation(Part2, 0F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Base.render(f5); - Tape.render(f5); - Part1.render(f5); - Part2.render(f5); - } - - public void renderModel(float f) - { - Base.render(f); - Tape.render(f); - Part1.render(f); - Part2.render(f); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } +public class ModelTapeRecorder extends ModelBase { + ModelRenderer Base; + ModelRenderer Tape; + ModelRenderer Part1; + ModelRenderer Part2; + + public ModelTapeRecorder() { + this.textureWidth = 128; + this.textureHeight = 64; + + this.Base = new ModelRenderer(this, 0, 0); + this.Base.addBox(0F, 0F, 0F, 16, 16, 12); + this.Base.setRotationPoint(-8F, 8F, -4F); + this.Base.setTextureSize(128, 64); + this.Base.mirror = true; + setRotation(this.Base, 0F, 0F, 0F); + this.Tape = new ModelRenderer(this, 0, 28); + this.Tape.addBox(0F, 0F, 0F, 8, 0, 2); + this.Tape.setRotationPoint(-4F, 11F, -6F); + this.Tape.setTextureSize(128, 64); + this.Tape.mirror = true; + setRotation(this.Tape, 0F, 0F, 0F); + this.Part1 = new ModelRenderer(this, 9, 42); + this.Part1.addBox(0F, 0F, 0F, 6, 6, 2); + this.Part1.setRotationPoint(-7F, 11F, -6F); + this.Part1.setTextureSize(128, 64); + this.Part1.mirror = true; + setRotation(this.Part1, 0F, 0F, 0F); + this.Part2 = new ModelRenderer(this, 44, 42); + this.Part2.addBox(0F, 0F, 0F, 6, 6, 2); + this.Part2.setRotationPoint(1F, 11F, -6F); + this.Part2.setTextureSize(128, 64); + this.Part2.mirror = true; + setRotation(this.Part2, 0F, 0F, 0F); + } + + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + this.renderModel(scaleFactor); + } + + public void renderModel(float scaleFactor) { + this.Base.render(scaleFactor); + this.Tape.render(scaleFactor); + this.Part1.render(scaleFactor); + this.Part2.render(scaleFactor); + } + + private static void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } } diff --git a/src/main/java/com/hbm/render/model/ModelTeslaCrab.java b/src/main/java/com/hbm/render/model/ModelTeslaCrab.java index 786b1a9ed..651113363 100644 --- a/src/main/java/com/hbm/render/model/ModelTeslaCrab.java +++ b/src/main/java/com/hbm/render/model/ModelTeslaCrab.java @@ -11,16 +11,17 @@ import net.minecraft.util.MathHelper; public class ModelTeslaCrab extends ModelBase { @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.render(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor); + GL11.glPushMatrix(); GL11.glRotatef(180, 0, 0, 1); GL11.glTranslatef(0, -1.5F, 0); - float rot = -(MathHelper.cos(f * 0.6662F * 2.0F + 0.0F) * 0.4F) * f1 * 57.3F; - + float rot = -(MathHelper.cos(limbSwing * 0.6662F * 2.0F + 0.0F) * 0.4F) * limbSwingAmount * 57.3F; + ResourceManager.teslacrab.renderPart("Body"); GL11.glPushMatrix(); @@ -32,8 +33,7 @@ public class ModelTeslaCrab extends ModelBase { GL11.glRotatef(rot, 0, -1, 0); ResourceManager.teslacrab.renderPart("Back"); GL11.glPopMatrix(); - + GL11.glPopMatrix(); } - } diff --git a/src/main/java/com/hbm/render/model/ModelTwiGun.java b/src/main/java/com/hbm/render/model/ModelTwiGun.java deleted file mode 100755 index 2318476af..000000000 --- a/src/main/java/com/hbm/render/model/ModelTwiGun.java +++ /dev/null @@ -1,329 +0,0 @@ -//This File was created with the Minecraft-SMP Modelling Toolbox 2.3.0.0 -// Copyright (C) 2017 Minecraft-SMP.de -// This file is for Flan's Flying Mod Version 4.0.x+ - -// Model: TwiGun -// Model Creator: -// Created on: 01.11.2017 - 20:26:01 -// Last changed on: 01.11.2017 - 20:26:01 - -package com.hbm.render.model; //Path where the model is located - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelTwiGun extends ModelBase //Same as Filename -{ - int textureX = 128; - int textureY = 128; - ModelRenderer[] bodyModel; - - public ModelTwiGun() //Same as Filename - { - textureWidth = 128; - textureHeight = 128; - bodyModel = new ModelRenderer[65]; - bodyModel[0] = new ModelRenderer(this, 1, 1); // Rotor5 - bodyModel[1] = new ModelRenderer(this, 17, 1); // Rotor4 - bodyModel[2] = new ModelRenderer(this, 33, 1); // Rotor1 - bodyModel[3] = new ModelRenderer(this, 49, 1); // Rotor6 - bodyModel[4] = new ModelRenderer(this, 65, 1); // Rotor3 - bodyModel[5] = new ModelRenderer(this, 81, 1); // Rotor2 - bodyModel[6] = new ModelRenderer(this, 89, 1); // Box 8 - bodyModel[7] = new ModelRenderer(this, 113, 1); // Box 9 - bodyModel[8] = new ModelRenderer(this, 1, 9); // Box 10 - bodyModel[9] = new ModelRenderer(this, 17, 9); // Box 11 - bodyModel[10] = new ModelRenderer(this, 33, 9); // Box 12 - bodyModel[11] = new ModelRenderer(this, 49, 9); // Box 13 - bodyModel[12] = new ModelRenderer(this, 65, 9); // Box 14 - bodyModel[13] = new ModelRenderer(this, 1, 17); // Box 15 - bodyModel[14] = new ModelRenderer(this, 9, 17); // Box 16 - bodyModel[15] = new ModelRenderer(this, 33, 17); // Box 17 - bodyModel[16] = new ModelRenderer(this, 73, 9); // Box 18 - bodyModel[17] = new ModelRenderer(this, 105, 9); // Box 19 - bodyModel[18] = new ModelRenderer(this, 57, 17); // Box 20 - bodyModel[19] = new ModelRenderer(this, 33, 17); // Box 21 - bodyModel[20] = new ModelRenderer(this, 1, 25); // Box 22 - bodyModel[21] = new ModelRenderer(this, 73, 17); // Box 23 - bodyModel[22] = new ModelRenderer(this, 25, 33); // Box 24 - bodyModel[23] = new ModelRenderer(this, 1, 25); // Box 25 - bodyModel[24] = new ModelRenderer(this, 57, 33); // Box 26 - bodyModel[25] = new ModelRenderer(this, 89, 33); // Box 27 - bodyModel[26] = new ModelRenderer(this, 1, 49); // Box 28 - bodyModel[27] = new ModelRenderer(this, 1, 49); // Box 29 - bodyModel[28] = new ModelRenderer(this, 97, 17); // Box 30 - bodyModel[29] = new ModelRenderer(this, 25, 49); // Box 31 - bodyModel[30] = new ModelRenderer(this, 65, 49); // Box 32 - bodyModel[31] = new ModelRenderer(this, 25, 57); // Box 33 - bodyModel[32] = new ModelRenderer(this, 65, 57); // Box 34 - bodyModel[33] = new ModelRenderer(this, 33, 65); // Box 35 - bodyModel[34] = new ModelRenderer(this, 97, 49); // Box 36 - bodyModel[35] = new ModelRenderer(this, 57, 25); // Box 37 - bodyModel[36] = new ModelRenderer(this, 73, 65); // Box 38 - bodyModel[37] = new ModelRenderer(this, 1, 73); // Box 40 - bodyModel[38] = new ModelRenderer(this, 33, 73); // Box 41 - bodyModel[39] = new ModelRenderer(this, 49, 73); // Box 42 - bodyModel[40] = new ModelRenderer(this, 105, 57); // Box 43 - bodyModel[41] = new ModelRenderer(this, 113, 65); // Box 44 - bodyModel[42] = new ModelRenderer(this, 113, 25); // Box 45 - bodyModel[43] = new ModelRenderer(this, 121, 9); // Box 46 - bodyModel[44] = new ModelRenderer(this, 73, 73); // Box 47 - bodyModel[45] = new ModelRenderer(this, 25, 73); // Box 48 - bodyModel[46] = new ModelRenderer(this, 89, 73); // Box 49 - bodyModel[47] = new ModelRenderer(this, 25, 25); // Box 50 - bodyModel[48] = new ModelRenderer(this, 17, 9); // Box 51 - bodyModel[49] = new ModelRenderer(this, 49, 33); // Box 52 - bodyModel[50] = new ModelRenderer(this, 81, 33); // Box 53 - bodyModel[51] = new ModelRenderer(this, 57, 1); // Box 54 - bodyModel[52] = new ModelRenderer(this, 73, 1); // Box 55 - bodyModel[53] = new ModelRenderer(this, 105, 73); // Box 56 - bodyModel[54] = new ModelRenderer(this, 89, 73); // Box 57 - bodyModel[55] = new ModelRenderer(this, 17, 81); // Box 58 - bodyModel[56] = new ModelRenderer(this, 73, 81); // Box 59 - bodyModel[57] = new ModelRenderer(this, 1, 89); // Box 60 - bodyModel[58] = new ModelRenderer(this, 33, 89); // Box 61 - bodyModel[59] = new ModelRenderer(this, 49, 41); // Box 63 - bodyModel[60] = new ModelRenderer(this, 89, 81); // Box 64 - bodyModel[61] = new ModelRenderer(this, 113, 81); // Box 65 - bodyModel[62] = new ModelRenderer(this, 1, 89); // Box 66 - bodyModel[63] = new ModelRenderer(this, 89, 89); // Box 67 - bodyModel[64] = new ModelRenderer(this, 17, 97); // Box 68 - - bodyModel[0].addBox(0F, 1F, -1F, 3, 4, 2, 0F); // Rotor5 - bodyModel[0].setRotationPoint(-12F, 0F, 0F); - - bodyModel[1].addBox(0F, 1F, -1F, 3, 4, 2, 0F); // Rotor4 - bodyModel[1].setRotationPoint(-12F, 0F, 0F); - bodyModel[1].rotateAngleX = 2.0943951F; - - bodyModel[2].addBox(0F, 1F, -1F, 3, 4, 2, 0F); // Rotor1 - bodyModel[2].setRotationPoint(-12F, 0F, 0F); - bodyModel[2].rotateAngleX = -2.0943951F; - - bodyModel[3].addBox(0F, 4.5F, -0.5F, 3, 1, 1, 0F); // Rotor6 - bodyModel[3].setRotationPoint(-12F, 0F, 0F); - - bodyModel[4].addBox(0F, 4.5F, -0.5F, 3, 1, 1, 0F); // Rotor3 - bodyModel[4].setRotationPoint(-12F, 0F, 0F); - bodyModel[4].rotateAngleX = 2.0943951F; - - bodyModel[5].addBox(0F, 4.5F, -0.5F, 3, 1, 1, 0F); // Rotor2 - bodyModel[5].setRotationPoint(-12F, 0F, 0F); - bodyModel[5].rotateAngleX = -2.0943951F; - - bodyModel[6].addBox(0F, 0F, 0F, 5, 0, 8, 0F); // Box 8 - bodyModel[6].setRotationPoint(-13F, -6F, -4F); - - bodyModel[7].addBox(0F, -1F, -1F, 5, 2, 2, 0F); // Box 9 - bodyModel[7].setRotationPoint(-13F, 0F, 0F); - - bodyModel[8].addBox(0F, -1F, -1F, 5, 2, 2, 0F); // Box 10 - bodyModel[8].setRotationPoint(-13F, 0F, 0F); - bodyModel[8].rotateAngleX = 0.78539816F; - - bodyModel[9].addBox(0F, 0F, 0F, 5, 0, 5, 0F); // Box 11 - bodyModel[9].setRotationPoint(-13F, -6F, 4F); - bodyModel[9].rotateAngleX = -0.78539816F; - - bodyModel[10].addBox(0F, 0F, 0F, 9, 1, 1, 0F); // Box 12 - bodyModel[10].setRotationPoint(-15F, -3F, 7F); - - bodyModel[11].addBox(0F, 0F, -5F, 5, 0, 5, 0F); // Box 13 - bodyModel[11].setRotationPoint(-13F, -6F, -4F); - bodyModel[11].rotateAngleX = 0.78539816F; - - bodyModel[12].addBox(0F, 0F, 0F, 9, 1, 1, 0F); // Box 14 - bodyModel[12].setRotationPoint(-15F, -3F, -8F); - - bodyModel[13].addBox(0F, 0F, 0F, 5, 0, 7, 0F); // Box 15 - bodyModel[13].setRotationPoint(-13F, 6.5F, -3.5F); - - bodyModel[14].addBox(0F, 0F, 0F, 5, 0, 10, 0F); // Box 16 - bodyModel[14].setRotationPoint(-13F, 6.5F, 3.5F); - bodyModel[14].rotateAngleX = 1.13446401F; - - bodyModel[15].addBox(0F, 0F, -10F, 5, 0, 10, 0F); // Box 17 - bodyModel[15].setRotationPoint(-13F, 6.5F, -3.5F); - bodyModel[15].rotateAngleX = -1.13446401F; - - bodyModel[16].addBox(0F, 0F, 0F, 2, 2, 16, 0F); // Box 18 - bodyModel[16].setRotationPoint(-15F, -2F, -8F); - - bodyModel[17].addBox(0F, 0F, 0F, 3, 4, 4, 0F); // Box 19 - bodyModel[17].setRotationPoint(-16F, -2F, -2F); - - bodyModel[18].addBox(0F, 0F, 0F, 5, 1, 1, 0F); // Box 20 - bodyModel[18].setRotationPoint(-13F, 6F, -0.5F); - - bodyModel[19].addBox(0F, 0F, 0F, 2, 5, 2, 0F); // Box 21 - bodyModel[19].setRotationPoint(-15F, 2F, -1F); - - bodyModel[20].addBox(0F, 0F, 0F, 0, 10, 10, 0F); // Box 22 - bodyModel[20].setRotationPoint(-13F, -5F, -5F); - - bodyModel[21].addBox(0F, -1.5F, -1.5F, 3, 3, 3, 0F); // Box 23 - bodyModel[21].setRotationPoint(-19F, 0F, 0F); - - bodyModel[22].addBox(0F, -2F, -2F, 8, 4, 4, 0F); // Box 24 - bodyModel[22].setRotationPoint(-27F, 0F, 0F); - - bodyModel[23].addBox(0F, -1.5F, -1.5F, 3, 3, 3, 0F); // Box 25 - bodyModel[23].setRotationPoint(-19F, 0F, 0F); - bodyModel[23].rotateAngleX = -0.78539816F; - - bodyModel[24].addBox(0F, -2F, -2F, 8, 4, 4, 0F); // Box 26 - bodyModel[24].setRotationPoint(-27F, 0F, 0F); - bodyModel[24].rotateAngleX = -0.78539816F; - - bodyModel[25].addBox(0F, 0F, 0F, 14, 6, 4, 0F); // Box 27 - bodyModel[25].setRotationPoint(-6F, -3F, -2F); - - bodyModel[26].addBox(0F, 0F, 0F, 2, 2, 16, 0F); // Box 28 - bodyModel[26].setRotationPoint(-8F, -2F, -8F); - - bodyModel[27].addBox(0F, 0F, 0F, 3, 4, 4, 0F); // Box 29 - bodyModel[27].setRotationPoint(-9F, -2F, -2F); - - bodyModel[28].addBox(0F, 0F, 0F, 2, 5, 2, 0F); // Box 30 - bodyModel[28].setRotationPoint(-8F, 2F, -1F); - - bodyModel[29].addBox(0F, 0F, 0F, 14, 1, 5, 0F); // Box 31 - bodyModel[29].setRotationPoint(-6F, -3F, 2F); - bodyModel[29].rotateAngleX = -0.26179939F; - - bodyModel[30].addBox(0F, 0F, 0F, 14, 1, 1, 0F); // Box 32 - bodyModel[30].setRotationPoint(-6F, -1.5F, 6F); - - bodyModel[31].addBox(0F, -1F, 0F, 14, 1, 5, 0F); // Box 33 - bodyModel[31].setRotationPoint(-6F, 1F, 2F); - bodyModel[31].rotateAngleX = 0.26179939F; - - bodyModel[32].addBox(0F, -1F, -5F, 14, 1, 5, 0F); // Box 34 - bodyModel[32].setRotationPoint(-6F, 1F, -2F); - bodyModel[32].rotateAngleX = -0.26179939F; - - bodyModel[33].addBox(0F, 0F, -5F, 14, 1, 5, 0F); // Box 35 - bodyModel[33].setRotationPoint(-6F, -3F, -2F); - bodyModel[33].rotateAngleX = 0.26179939F; - - bodyModel[34].addBox(0F, 0F, 0F, 14, 1, 1, 0F); // Box 36 - bodyModel[34].setRotationPoint(-6F, -1.5F, -7F); - - bodyModel[35].addBox(0F, 0F, 0F, 5, 0, 4, 0F); // Box 37 - bodyModel[35].setRotationPoint(-8F, -6F, -2F); - bodyModel[35].rotateAngleZ = 0.78539816F; - - bodyModel[36].addBox(0F, 0F, 0F, 16, 4, 2, 0F); // Box 38 - bodyModel[36].setRotationPoint(-6F, 3F, -1F); - - bodyModel[37].addBox(0F, 0F, 0F, 6, 6, 6, 0F); // Box 40 - bodyModel[37].setRotationPoint(8F, -3F, -3F); - - bodyModel[38].addBox(0F, 0F, 0F, 3, 2, 10, 0F); // Box 41 - bodyModel[38].setRotationPoint(8F, -2F, -5F); - - bodyModel[39].addBox(0F, 0F, 0F, 4, 1, 13, 0F); // Box 42 - bodyModel[39].setRotationPoint(8F, -1.5F, -6.5F); - - bodyModel[40].addBox(0F, 0F, 0F, 8, 3, 3, 0F); // Box 43 - bodyModel[40].setRotationPoint(14F, -1F, -1.5F); - - bodyModel[41].addBox(0F, 0F, 0F, 1, 7, 3, 0F); // Box 44 - bodyModel[41].setRotationPoint(22.5F, -1F, -1.5F); - - bodyModel[42].addBox(0F, 0F, 0F, 4, 4, 3, 0F); // Box 45 - bodyModel[42].setRotationPoint(18F, 2F, -1.5F); - - bodyModel[43].addBox(0F, 0F, 0F, 2, 4, 1, 0F); // Box 46 - bodyModel[43].setRotationPoint(13F, 2F, 0F); - - bodyModel[44].addBox(0F, -5F, 0F, 2, 5, 3, 0F); // Box 47 - bodyModel[44].setRotationPoint(18F, 6F, -1.5F); - bodyModel[44].rotateAngleZ = -0.43633231F; - - bodyModel[45].addBox(0F, 0F, 0F, 6, 1, 2, 0F); // Box 48 - bodyModel[45].setRotationPoint(10F, 6F, -1F); - - bodyModel[46].addBox(0F, 0F, 0F, 3, 2, 2, 0F); // Box 49 - bodyModel[46].setRotationPoint(14F, -3F, -1F); - bodyModel[46].rotateAngleZ = 0.78539816F; - - bodyModel[47].addBox(0F, 0F, 0F, 2, 1, 5, 0F); // Box 50 - bodyModel[47].setRotationPoint(14F, 0F, -2.5F); - - bodyModel[48].addBox(0F, 0F, 0F, 1, 1, 1, 0F); // Box 51 - bodyModel[48].setRotationPoint(10.5F, -3.5F, -0.5F); - - bodyModel[49].addBox(0F, 0F, 0F, 3, 1, 1, 0F); // Box 52 - bodyModel[49].setRotationPoint(9F, -3.5F, -2F); - - bodyModel[50].addBox(0F, 0F, 0F, 3, 1, 1, 0F); // Box 53 - bodyModel[50].setRotationPoint(10F, -3.5F, 1F); - - bodyModel[51].addBox(0F, 0F, 0F, 1, 1, 3, 0F); // Box 54 - bodyModel[51].setRotationPoint(9F, -3.5F, -1F); - - bodyModel[52].addBox(0F, 0F, 0F, 1, 1, 3, 0F); // Box 55 - bodyModel[52].setRotationPoint(12F, -3.5F, -2F); - - bodyModel[53].addBox(0F, 0F, 0F, 1, 6, 2, 0F); // Box 56 - bodyModel[53].setRotationPoint(22F, -0.5F, -1F); - - bodyModel[54].addBox(0F, 0F, 0F, 0, 3, 12, 0F); // Box 57 - bodyModel[54].setRotationPoint(-5F, -0.5F, -6F); - - bodyModel[55].addBox(0F, 0F, 0F, 0, 3, 12, 0F); // Box 58 - bodyModel[55].setRotationPoint(-4F, -0.5F, -6F); - - bodyModel[56].addBox(0F, 0F, 0F, 0, 3, 12, 0F); // Box 59 - bodyModel[56].setRotationPoint(-3F, -0.5F, -6F); - - bodyModel[57].addBox(0F, 0F, 0F, 0, 3, 12, 0F); // Box 60 - bodyModel[57].setRotationPoint(-2F, -0.5F, -6F); - - bodyModel[58].addBox(0F, 0F, 0F, 0, 3, 12, 0F); // Box 61 - bodyModel[58].setRotationPoint(-1F, -0.5F, -6F); - - bodyModel[59].addBox(0F, 0F, 0F, 2, 1, 2, 0F); // Box 63 - bodyModel[59].setRotationPoint(-4F, -3.5F, -1F); - - bodyModel[60].addBox(0F, 0F, 0F, 2, 1, 2, 0F); // Box 64 - bodyModel[60].setRotationPoint(-1F, -3.5F, -1F); - - bodyModel[61].addBox(0F, 0F, 0F, 2, 1, 2, 0F); // Box 65 - bodyModel[61].setRotationPoint(2F, -3.5F, -1F); - - bodyModel[62].addBox(0F, 0F, 0F, 2, 1, 2, 0F); // Box 66 - bodyModel[62].setRotationPoint(5F, -3.5F, -1F); - - bodyModel[63].addBox(0F, 0F, 0F, 0, 3, 12, 0F); // Box 67 - bodyModel[63].setRotationPoint(0F, -0.5F, -6F); - - bodyModel[64].addBox(0F, 0F, 0F, 0, 3, 12, 0F); // Box 68 - bodyModel[64].setRotationPoint(1F, -0.5F, -6F); - - for(int i = 0; i < 65; i++) - { - bodyModel[i].setTextureSize(textureX, textureY); - bodyModel[i].mirror = true; - } - } - - @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - for(int i = 0; i < 65; i++) - { - bodyModel[i].render(f5); - } - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/render/model/ModelUboinik.java b/src/main/java/com/hbm/render/model/ModelUboinik.java deleted file mode 100644 index 17125c06c..000000000 --- a/src/main/java/com/hbm/render/model/ModelUboinik.java +++ /dev/null @@ -1,320 +0,0 @@ -// Date: 03.12.2016 21:30:48 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.weapon.ItemGunBase; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; - -public class ModelUboinik extends ModelBase { - // fields - ModelRenderer Barrel; - ModelRenderer ConnectorFront; - ModelRenderer ConnectorBack; - ModelRenderer Grip; - ModelRenderer Coil; - ModelRenderer FrontBase; - ModelRenderer FrontTip; - ModelRenderer DrumCenter; - ModelRenderer DrumBack; - ModelRenderer DrumBottom; - ModelRenderer Shell1; - ModelRenderer Shell2; - ModelRenderer Shell3; - ModelRenderer Shell4; - ModelRenderer Shell5; - ModelRenderer Shell6; - ModelRenderer Clip1; - ModelRenderer Clip2; - ModelRenderer Clip3; - ModelRenderer ChamberBack; - ModelRenderer ChamberBackConnector; - ModelRenderer ChamberTop; - ModelRenderer Chamber; - ModelRenderer Stock; - ModelRenderer TriggerFrame; - ModelRenderer Trigger; - ModelRenderer Handle; - ModelRenderer StockBottom; - - public ModelUboinik() { - textureWidth = 64; - textureHeight = 64; - - Barrel = new ModelRenderer(this, 0, 11); - Barrel.addBox(0F, 0F, 0F, 24, 2, 2); - Barrel.setRotationPoint(-24F, 0F, -1F); - Barrel.setTextureSize(64, 64); - Barrel.mirror = true; - setRotation(Barrel, 0F, 0F, 0F); - ConnectorFront = new ModelRenderer(this, 0, 53); - ConnectorFront.addBox(0F, 0F, 0F, 1, 8, 3); - ConnectorFront.setRotationPoint(-16F, -0.5F, -1.5F); - ConnectorFront.setTextureSize(64, 64); - ConnectorFront.mirror = true; - setRotation(ConnectorFront, 0F, 0F, 0F); - ConnectorBack = new ModelRenderer(this, 8, 53); - ConnectorBack.addBox(0F, 0F, 0F, 1, 8, 3); - ConnectorBack.setRotationPoint(0F, -0.5F, -1.5F); - ConnectorBack.setTextureSize(64, 64); - ConnectorBack.mirror = true; - setRotation(ConnectorBack, 0F, 0F, 0F); - Grip = new ModelRenderer(this, 16, 57); - Grip.addBox(0F, 0F, 0F, 15, 4, 3); - Grip.setRotationPoint(-15F, 3.5F, -1.5F); - Grip.setTextureSize(64, 64); - Grip.mirror = true; - setRotation(Grip, 0F, 0F, 0F); - Coil = new ModelRenderer(this, 16, 51); - Coil.addBox(0F, 0F, 0F, 15, 3, 3); - Coil.setRotationPoint(-15F, -0.5F, -1.5F); - Coil.setTextureSize(64, 64); - Coil.mirror = true; - setRotation(Coil, 0F, 0F, 0F); - FrontBase = new ModelRenderer(this, 0, 49); - FrontBase.addBox(0F, 0F, 0F, 1, 2, 2); - FrontBase.setRotationPoint(-17F, 4.5F, -1F); - FrontBase.setTextureSize(64, 64); - FrontBase.mirror = true; - setRotation(FrontBase, 0F, 0F, 0F); - FrontTip = new ModelRenderer(this, 6, 51); - FrontTip.addBox(0F, 0F, 0F, 4, 1, 1); - FrontTip.setRotationPoint(-21F, 5F, -0.5F); - FrontTip.setTextureSize(64, 64); - FrontTip.mirror = true; - setRotation(FrontTip, 0F, 0F, 0F); - DrumCenter = new ModelRenderer(this, 6, 49); - DrumCenter.addBox(0F, 0F, 0F, 6, 1, 1); - DrumCenter.setRotationPoint(1F, 3F, -0.5F); - DrumCenter.setTextureSize(64, 64); - DrumCenter.mirror = true; - setRotation(DrumCenter, 0F, 0F, 0F); - DrumBack = new ModelRenderer(this, 0, 40); - DrumBack.addBox(0F, 0F, 0F, 1, 7, 2); - DrumBack.setRotationPoint(7F, 1F, -1F); - DrumBack.setTextureSize(64, 64); - DrumBack.mirror = true; - setRotation(DrumBack, 0F, 0F, 0F); - DrumBottom = new ModelRenderer(this, 6, 46); - DrumBottom.addBox(0F, 0F, 0F, 7, 1, 2); - DrumBottom.setRotationPoint(0F, 7.5F, -1F); - DrumBottom.setTextureSize(64, 64); - DrumBottom.mirror = true; - setRotation(DrumBottom, 0F, 0F, 0F); - Shell1 = new ModelRenderer(this, 0, 34); - Shell1.addBox(0F, -3.5F, -1F, 5, 2, 2); - Shell1.setRotationPoint(1.5F, 3.5F, 0F); - Shell1.setTextureSize(64, 64); - Shell1.mirror = true; - setRotation(Shell1, 1.047198F, 0F, 0F); - Shell2 = new ModelRenderer(this, 0, 34); - Shell2.addBox(0F, -3.5F, -1F, 5, 2, 2); - Shell2.setRotationPoint(1.5F, 3.5F, 0F); - Shell2.setTextureSize(64, 64); - Shell2.mirror = true; - setRotation(Shell2, 2.094395F, 0F, 0F); - Shell3 = new ModelRenderer(this, 0, 34); - Shell3.addBox(0F, -3.5F, -1F, 5, 2, 2); - Shell3.setRotationPoint(1.5F, 3.5F, 0F); - Shell3.setTextureSize(64, 64); - Shell3.mirror = true; - setRotation(Shell3, 3.141593F, 0F, 0F); - Shell4 = new ModelRenderer(this, 0, 34); - Shell4.addBox(0F, -3.5F, -1F, 5, 2, 2); - Shell4.setRotationPoint(1.5F, 3.5F, 0F); - Shell4.setTextureSize(64, 64); - Shell4.mirror = true; - setRotation(Shell4, -2.094395F, 0F, 0F); - Shell5 = new ModelRenderer(this, 0, 34); - Shell5.addBox(0F, -3.5F, -1F, 5, 2, 2); - Shell5.setRotationPoint(1.5F, 3.5F, 0F); - Shell5.setTextureSize(64, 64); - Shell5.mirror = true; - setRotation(Shell5, -1.047198F, 0F, 0F); - Shell6 = new ModelRenderer(this, 0, 34); - Shell6.addBox(0F, -3.5F, -1F, 5, 2, 2); - Shell6.setRotationPoint(1.5F, 3.5F, 0F); - Shell6.setTextureSize(64, 64); - Shell6.mirror = true; - setRotation(Shell6, 0F, 0F, 0F); - Clip1 = new ModelRenderer(this, 6, 42); - Clip1.addBox(0F, -1.5F, -0.5F, 2, 3, 1); - Clip1.setRotationPoint(4F, 3.5F, 0F); - Clip1.setTextureSize(64, 64); - Clip1.mirror = true; - setRotation(Clip1, 0F, 0F, 0F); - Clip2 = new ModelRenderer(this, 6, 42); - Clip2.addBox(0F, -1.5F, -0.5F, 2, 3, 1); - Clip2.setRotationPoint(4F, 3.5F, 0F); - Clip2.setTextureSize(64, 64); - Clip2.mirror = true; - setRotation(Clip2, 1.047198F, 0F, 0F); - Clip3 = new ModelRenderer(this, 6, 42); - Clip3.addBox(0F, -1.5F, -0.5F, 2, 3, 1); - Clip3.setRotationPoint(4F, 3.5F, 0F); - Clip3.setTextureSize(64, 64); - Clip3.mirror = true; - setRotation(Clip3, 2.094395F, 0F, 0F); - ChamberBack = new ModelRenderer(this, 0, 28); - ChamberBack.addBox(0F, 0F, 0F, 8, 2, 2); - ChamberBack.setRotationPoint(8F, 1F, -1F); - ChamberBack.setTextureSize(64, 64); - ChamberBack.mirror = true; - setRotation(ChamberBack, 0F, 0F, 0F); - ChamberBackConnector = new ModelRenderer(this, 12, 43); - ChamberBackConnector.addBox(0F, 0F, 0F, 4, 1, 2); - ChamberBackConnector.setRotationPoint(12F, 0F, -1F); - ChamberBackConnector.setTextureSize(64, 64); - ChamberBackConnector.mirror = true; - setRotation(ChamberBackConnector, 0F, 0F, 0F); - ChamberTop = new ModelRenderer(this, 0, 25); - ChamberTop.addBox(0F, 0F, 0F, 9, 1, 2); - ChamberTop.setRotationPoint(7F, -1F, -1F); - ChamberTop.setTextureSize(64, 64); - ChamberTop.mirror = true; - setRotation(ChamberTop, 0F, 0F, 0F); - Chamber = new ModelRenderer(this, 0, 20); - Chamber.addBox(0F, 0F, 0F, 6, 2, 3); - Chamber.setRotationPoint(1F, -1F, -1.5F); - Chamber.setTextureSize(64, 64); - Chamber.mirror = true; - setRotation(Chamber, 0F, 0F, 0F); - Stock = new ModelRenderer(this, 0, 15); - Stock.addBox(0F, 0F, 0F, 23, 3, 2); - Stock.setRotationPoint(13F, 3F, -1F); - Stock.setTextureSize(64, 64); - Stock.mirror = true; - setRotation(Stock, 0F, 0F, 0F); - TriggerFrame = new ModelRenderer(this, 24, 45); - TriggerFrame.addBox(0F, 0F, 0F, 5, 5, 1); - TriggerFrame.setRotationPoint(8F, 3F, -0.5F); - TriggerFrame.setTextureSize(64, 64); - TriggerFrame.mirror = true; - setRotation(TriggerFrame, 0F, 0F, 0F); - Trigger = new ModelRenderer(this, 36, 46); - Trigger.addBox(-1F, 0F, 0F, 1, 4, 1); - Trigger.setRotationPoint(12.5F, 3F, -0.5F); - Trigger.setTextureSize(64, 64); - Trigger.mirror = true; - setRotation(Trigger, 0F, 0F, 0.4363323F); - Handle = new ModelRenderer(this, 40, 43); - Handle.addBox(0F, 0F, 0F, 3, 6, 2); - Handle.setRotationPoint(13F, 6F, -1F); - Handle.setTextureSize(64, 64); - Handle.mirror = true; - setRotation(Handle, 0F, 0F, -0.1745329F); - StockBottom = new ModelRenderer(this, 26, 36); - StockBottom.addBox(0F, 0F, 0F, 10, 5, 2); - StockBottom.setRotationPoint(26F, 6F, -1F); - StockBottom.setTextureSize(64, 64); - StockBottom.mirror = true; - setRotation(StockBottom, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, ItemStack item) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Barrel.render(f5); - ConnectorFront.render(f5); - ConnectorBack.render(f5); - Grip.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Coil.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - FrontBase.render(f5); - FrontTip.render(f5); - DrumCenter.render(f5); - DrumBack.render(f5); - DrumBottom.render(f5); - - int ammo = ItemGunBase.getMag(item); - - if(ammo > 5) - Shell5.render(f5); - if(ammo > 4) - Shell4.render(f5); - if(ammo > 3) - Shell3.render(f5); - if(ammo > 2) - Shell2.render(f5); - if(ammo > 1) - Shell1.render(f5); - if(ammo > 0) - Shell6.render(f5); - - Clip1.render(f5); - Clip2.render(f5); - Clip3.render(f5); - ChamberBack.render(f5); - ChamberBackConnector.render(f5); - ChamberTop.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Chamber.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - Stock.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - TriggerFrame.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - Trigger.render(f5); - Handle.render(f5); - StockBottom.render(f5); - } - - public void renderDud(float f5) { - Barrel.render(f5); - ConnectorFront.render(f5); - ConnectorBack.render(f5); - Grip.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Coil.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - FrontBase.render(f5); - FrontTip.render(f5); - DrumCenter.render(f5); - DrumBack.render(f5); - DrumBottom.render(f5); - Shell5.render(f5); - Shell4.render(f5); - Shell3.render(f5); - Shell2.render(f5); - Shell1.render(f5); - Shell6.render(f5); - Clip1.render(f5); - Clip2.render(f5); - Clip3.render(f5); - ChamberBack.render(f5); - ChamberBackConnector.render(f5); - ChamberTop.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Chamber.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - Stock.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - TriggerFrame.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - Trigger.render(f5); - Handle.render(f5); - StockBottom.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelUzi.java b/src/main/java/com/hbm/render/model/ModelUzi.java deleted file mode 100644 index 473dd6fe1..000000000 --- a/src/main/java/com/hbm/render/model/ModelUzi.java +++ /dev/null @@ -1,420 +0,0 @@ -// Date: 22.07.2018 14:18:53 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelUzi extends ModelBase { - // fields - ModelRenderer BodyBack; - ModelRenderer BodyBottom; - ModelRenderer BodySide; - ModelRenderer Ejector; - ModelRenderer BodyFront; - ModelRenderer GripFront; - ModelRenderer StockFront; - ModelRenderer StockPlate; - ModelRenderer HandleBase; - ModelRenderer Handle; - ModelRenderer HandleBack; - ModelRenderer HandleBottom; - ModelRenderer HandlePlate; - ModelRenderer HandleTop; - ModelRenderer Muzzle1; - ModelRenderer Muzzle2; - ModelRenderer StockBack; - ModelRenderer StockPlate1; - ModelRenderer Stock1; - ModelRenderer Stock2; - ModelRenderer Stcok3; - ModelRenderer Stock4; - ModelRenderer Hump1; - ModelRenderer Hump2; - ModelRenderer Hump3; - ModelRenderer Hump4; - ModelRenderer Hump5; - ModelRenderer Hump6; - ModelRenderer SightBack; - ModelRenderer Sight1; - ModelRenderer Sight2; - ModelRenderer Hump7; - ModelRenderer Hump8; - ModelRenderer Hump9; - ModelRenderer Hump10; - ModelRenderer Hump11; - ModelRenderer Hump12; - ModelRenderer Sight3; - ModelRenderer SightFront; - ModelRenderer Knob1; - ModelRenderer Knob2; - ModelRenderer Bolt1; - ModelRenderer Bolt2; - ModelRenderer Mag; - ModelRenderer Trigger; - ModelRenderer Frame1; - ModelRenderer Frame2; - - public ModelUzi() { - textureWidth = 128; - textureHeight = 64; - - BodyBack = new ModelRenderer(this, 0, 0); - BodyBack.addBox(0F, 0F, 0F, 14, 6, 4); - BodyBack.setRotationPoint(0F, 0F, 0F); - BodyBack.setTextureSize(128, 64); - BodyBack.mirror = true; - setRotation(BodyBack, 0F, 0F, 0F); - BodyBottom = new ModelRenderer(this, 82, 0); - BodyBottom.addBox(0F, 0F, 0F, 6, 3, 4); - BodyBottom.setRotationPoint(-6F, 3F, 0F); - BodyBottom.setTextureSize(128, 64); - BodyBottom.mirror = true; - setRotation(BodyBottom, 0F, 0F, 0F); - BodySide = new ModelRenderer(this, 102, 0); - BodySide.addBox(0F, 0F, 0F, 6, 3, 2); - BodySide.setRotationPoint(-6F, 0F, 0F); - BodySide.setTextureSize(128, 64); - BodySide.mirror = true; - setRotation(BodySide, 0F, 0F, 0F); - Ejector = new ModelRenderer(this, 102, 5); - Ejector.addBox(0F, 0F, 0F, 6, 3, 2); - Ejector.setRotationPoint(-6F, 0.5F, 1.5F); - Ejector.setTextureSize(128, 64); - Ejector.mirror = true; - setRotation(Ejector, 0F, 0F, 0F); - BodyFront = new ModelRenderer(this, 36, 0); - BodyFront.addBox(0F, 0F, 0F, 19, 6, 4); - BodyFront.setRotationPoint(-25F, 0F, 0F); - BodyFront.setTextureSize(128, 64); - BodyFront.mirror = true; - setRotation(BodyFront, 0F, 0F, 0F); - GripFront = new ModelRenderer(this, 0, 10); - GripFront.addBox(0F, 0F, 0F, 14, 5, 5); - GripFront.setRotationPoint(-24.5F, 1.5F, -0.5F); - GripFront.setTextureSize(128, 64); - GripFront.mirror = true; - setRotation(GripFront, 0F, 0F, 0F); - StockFront = new ModelRenderer(this, 38, 10); - StockFront.addBox(0F, 0F, 0F, 14, 3, 4); - StockFront.setRotationPoint(3F, 6F, 0F); - StockFront.setTextureSize(128, 64); - StockFront.mirror = true; - setRotation(StockFront, 0F, 0F, 0F); - StockPlate = new ModelRenderer(this, 118, 0); - StockPlate.addBox(0F, -4F, 0F, 1, 4, 4); - StockPlate.setRotationPoint(3F, 9F, 0F); - StockPlate.setTextureSize(128, 64); - StockPlate.mirror = true; - setRotation(StockPlate, 0F, 0F, -0.3490659F); - HandleBase = new ModelRenderer(this, 0, 20); - HandleBase.addBox(0F, 0F, 0F, 12, 3, 5); - HandleBase.setRotationPoint(-10F, 4F, -0.5F); - HandleBase.setTextureSize(128, 64); - HandleBase.mirror = true; - setRotation(HandleBase, 0F, 0F, 0F); - Handle = new ModelRenderer(this, 0, 28); - Handle.addBox(0F, 0F, 0F, 4, 10, 3); - Handle.setRotationPoint(-5F, 7F, 0.5F); - Handle.setTextureSize(128, 64); - Handle.mirror = true; - setRotation(Handle, 0F, 0F, 0F); - HandleBack = new ModelRenderer(this, 14, 28); - HandleBack.addBox(0F, 0F, 0F, 2, 4, 3); - HandleBack.setRotationPoint(-1F, 11F, 0.5F); - HandleBack.setTextureSize(128, 64); - HandleBack.mirror = true; - setRotation(HandleBack, 0F, 0F, 0F); - HandleBottom = new ModelRenderer(this, 14, 35); - HandleBottom.addBox(-2F, 0F, 0F, 2, 3, 3); - HandleBottom.setRotationPoint(1F, 15F, 0.5F); - HandleBottom.setTextureSize(128, 64); - HandleBottom.mirror = true; - setRotation(HandleBottom, 0F, 0F, 0.7853982F); - HandlePlate = new ModelRenderer(this, 24, 28); - HandlePlate.addBox(-2F, -3F, 0F, 2, 3, 3); - HandlePlate.setRotationPoint(1F, 11F, 0.5F); - HandlePlate.setTextureSize(128, 64); - HandlePlate.mirror = true; - setRotation(HandlePlate, 0F, 0F, -0.4886922F); - HandleTop = new ModelRenderer(this, 24, 34); - HandleTop.addBox(-2F, 0F, 0F, 2, 3, 3); - HandleTop.setRotationPoint(1F, 7F, 0.5F); - HandleTop.setTextureSize(128, 64); - HandleTop.mirror = true; - setRotation(HandleTop, 0F, 0F, 0.5235988F); - Muzzle1 = new ModelRenderer(this, 82, 12); - Muzzle1.addBox(0F, 0F, 0F, 3, 3, 2); - Muzzle1.setRotationPoint(-28F, 1.5F, 1F); - Muzzle1.setTextureSize(128, 64); - Muzzle1.mirror = true; - setRotation(Muzzle1, 0F, 0F, 0F); - Muzzle2 = new ModelRenderer(this, 82, 7); - Muzzle2.addBox(0F, 0F, 0F, 3, 2, 3); - Muzzle2.setRotationPoint(-28F, 2F, 0.5F); - Muzzle2.setTextureSize(128, 64); - Muzzle2.mirror = true; - setRotation(Muzzle2, 0F, 0F, 0F); - StockBack = new ModelRenderer(this, 34, 20); - StockBack.addBox(0F, 0F, 0F, 1, 11, 3); - StockBack.setRotationPoint(14F, 7F, 0.5F); - StockBack.setTextureSize(128, 64); - StockBack.mirror = true; - setRotation(StockBack, 0F, 0F, 0F); - StockPlate1 = new ModelRenderer(this, 42, 17); - StockPlate1.addBox(-1F, -11F, 0F, 1, 11, 3); - StockPlate1.setRotationPoint(15F, 18F, 0.5F); - StockPlate1.setTextureSize(128, 64); - StockPlate1.mirror = true; - setRotation(StockPlate1, 0F, 0F, 0.0959931F); - Stock1 = new ModelRenderer(this, 50, 17); - Stock1.addBox(-1F, -3F, 0F, 1, 3, 4); - Stock1.setRotationPoint(17F, 6F, 0F); - Stock1.setTextureSize(128, 64); - Stock1.mirror = true; - setRotation(Stock1, 0F, 0F, -0.3490659F); - Stock2 = new ModelRenderer(this, 60, 17); - Stock2.addBox(0F, -3F, 0F, 1, 3, 4); - Stock2.setRotationPoint(14F, 6F, 0F); - Stock2.setTextureSize(128, 64); - Stock2.mirror = true; - setRotation(Stock2, 0F, 0F, 0.3490659F); - Stcok3 = new ModelRenderer(this, 50, 24); - Stcok3.addBox(0F, 0F, 0F, 1, 3, 4); - Stcok3.setRotationPoint(15F, 3F, 0F); - Stcok3.setTextureSize(128, 64); - Stcok3.mirror = true; - setRotation(Stcok3, 0F, 0F, 0F); - Stock4 = new ModelRenderer(this, 60, 24); - Stock4.addBox(0F, 0F, 0F, 2, 5, 3); - Stock4.setRotationPoint(13.5F, 1.5F, 0.5F); - Stock4.setTextureSize(128, 64); - Stock4.mirror = true; - setRotation(Stock4, 0F, 0F, 0F); - Hump1 = new ModelRenderer(this, 74, 10); - Hump1.addBox(-2F, -3F, 0F, 2, 3, 1); - Hump1.setRotationPoint(14F, 0F, 0F); - Hump1.setTextureSize(128, 64); - Hump1.mirror = true; - setRotation(Hump1, 0F, 0F, -0.2617994F); - Hump2 = new ModelRenderer(this, 74, 14); - Hump2.addBox(0F, -3F, 0F, 2, 3, 1); - Hump2.setRotationPoint(10F, 0F, 0F); - Hump2.setTextureSize(128, 64); - Hump2.mirror = true; - setRotation(Hump2, 0F, 0F, 0.2617994F); - Hump3 = new ModelRenderer(this, 74, 18); - Hump3.addBox(0F, 0F, 0F, 2, 1, 1); - Hump3.setRotationPoint(11F, -3F, 0F); - Hump3.setTextureSize(128, 64); - Hump3.mirror = true; - setRotation(Hump3, 0F, 0F, 0F); - Hump4 = new ModelRenderer(this, 70, 20); - Hump4.addBox(-2F, -3F, 0F, 2, 3, 1); - Hump4.setRotationPoint(14F, 0F, 3F); - Hump4.setTextureSize(128, 64); - Hump4.mirror = true; - setRotation(Hump4, 0F, 0F, -0.2617994F); - Hump5 = new ModelRenderer(this, 70, 24); - Hump5.addBox(0F, -3F, 0F, 2, 3, 1); - Hump5.setRotationPoint(10F, 0F, 3F); - Hump5.setTextureSize(128, 64); - Hump5.mirror = true; - setRotation(Hump5, 0F, 0F, 0.2617994F); - Hump6 = new ModelRenderer(this, 70, 28); - Hump6.addBox(0F, 0F, 0F, 2, 1, 1); - Hump6.setRotationPoint(11F, -3F, 3F); - Hump6.setTextureSize(128, 64); - Hump6.mirror = true; - setRotation(Hump6, 0F, 0F, 0F); - SightBack = new ModelRenderer(this, 80, 17); - SightBack.addBox(0F, 0F, 0F, 1, 1, 1); - SightBack.setRotationPoint(11.5F, -2F, 1.5F); - SightBack.setTextureSize(128, 64); - SightBack.mirror = true; - setRotation(SightBack, 0F, 0F, 0F); - Sight1 = new ModelRenderer(this, 80, 19); - Sight1.addBox(0F, 0F, 0F, 1, 1, 1); - Sight1.setRotationPoint(11.5F, -1F, 1.5F); - Sight1.setTextureSize(128, 64); - Sight1.mirror = true; - setRotation(Sight1, 0F, 0F, 0F); - Sight2 = new ModelRenderer(this, 84, 17); - Sight2.addBox(0F, 0F, 0F, 2, 1, 2); - Sight2.setRotationPoint(11F, -0.5F, 1F); - Sight2.setTextureSize(128, 64); - Sight2.mirror = true; - setRotation(Sight2, 0F, 0F, 0F); - Hump7 = new ModelRenderer(this, 94, 7); - Hump7.addBox(-2F, -3F, 0F, 2, 3, 1); - Hump7.setRotationPoint(-21F, 0F, 0F); - Hump7.setTextureSize(128, 64); - Hump7.mirror = true; - setRotation(Hump7, 0F, 0F, -0.2617994F); - Hump8 = new ModelRenderer(this, 94, 11); - Hump8.addBox(0F, -3F, 0F, 2, 3, 1); - Hump8.setRotationPoint(-25F, 0F, 0F); - Hump8.setTextureSize(128, 64); - Hump8.mirror = true; - setRotation(Hump8, 0F, 0F, 0.2617994F); - Hump9 = new ModelRenderer(this, 94, 15); - Hump9.addBox(0F, 0F, 0F, 2, 1, 1); - Hump9.setRotationPoint(-24F, -3F, 0F); - Hump9.setTextureSize(128, 64); - Hump9.mirror = true; - setRotation(Hump9, 0F, 0F, 0F); - Hump10 = new ModelRenderer(this, 100, 10); - Hump10.addBox(-2F, -3F, 0F, 2, 3, 1); - Hump10.setRotationPoint(-21F, 0F, 3F); - Hump10.setTextureSize(128, 64); - Hump10.mirror = true; - setRotation(Hump10, 0F, 0F, -0.2617994F); - Hump11 = new ModelRenderer(this, 100, 14); - Hump11.addBox(0F, -3F, 0F, 2, 3, 1); - Hump11.setRotationPoint(-25F, 0F, 3F); - Hump11.setTextureSize(128, 64); - Hump11.mirror = true; - setRotation(Hump11, 0F, 0F, 0.2617994F); - Hump12 = new ModelRenderer(this, 100, 18); - Hump12.addBox(0F, 0F, 0F, 2, 1, 1); - Hump12.setRotationPoint(-24F, -3F, 3F); - Hump12.setTextureSize(128, 64); - Hump12.mirror = true; - setRotation(Hump12, 0F, 0F, 0F); - Sight3 = new ModelRenderer(this, 34, 34); - Sight3.addBox(0F, 0F, 0F, 2, 1, 2); - Sight3.setRotationPoint(-24F, -0.5F, 1F); - Sight3.setTextureSize(128, 64); - Sight3.mirror = true; - setRotation(Sight3, 0F, 0F, 0F); - SightFront = new ModelRenderer(this, 34, 37); - SightFront.addBox(0F, 0F, 0F, 1, 2, 0); - SightFront.setRotationPoint(-23.5F, -1.5F, 2F); - SightFront.setTextureSize(128, 64); - SightFront.mirror = true; - setRotation(SightFront, 0F, 0F, 0F); - Knob1 = new ModelRenderer(this, 42, 31); - Knob1.addBox(0F, 0F, 0F, 2, 2, 2); - Knob1.setRotationPoint(-15F, -2F, 1F); - Knob1.setTextureSize(128, 64); - Knob1.mirror = true; - setRotation(Knob1, 0F, 0F, 0F); - Knob2 = new ModelRenderer(this, 50, 31); - Knob2.addBox(-1F, 0F, -1F, 2, 2, 2); - Knob2.setRotationPoint(-14F, -2F, 2F); - Knob2.setTextureSize(128, 64); - Knob2.mirror = true; - setRotation(Knob2, 0F, 0.7853982F, 0F); - Bolt1 = new ModelRenderer(this, 42, 35); - Bolt1.addBox(0F, 0F, 0F, 1, 1, 1); - Bolt1.setRotationPoint(11.5F, -2F, -0.5F); - Bolt1.setTextureSize(128, 64); - Bolt1.mirror = true; - setRotation(Bolt1, 0F, 0F, 0F); - Bolt2 = new ModelRenderer(this, 46, 35); - Bolt2.addBox(0F, 0F, 0F, 1, 1, 1); - Bolt2.setRotationPoint(11.5F, -2F, 3.5F); - Bolt2.setTextureSize(128, 64); - Bolt2.mirror = true; - setRotation(Bolt2, 0F, 0F, 0F); - Mag = new ModelRenderer(this, 118, 8); - Mag.addBox(0F, 0F, 0F, 3, 10, 2); - Mag.setRotationPoint(-4.5F, 17F, 1F); - Mag.setTextureSize(128, 64); - Mag.mirror = true; - setRotation(Mag, 0F, 0F, 0F); - Trigger = new ModelRenderer(this, 0, 41); - Trigger.addBox(-1F, 0F, 0F, 1, 3, 1); - Trigger.setRotationPoint(-6F, 7F, 1.5F); - Trigger.setTextureSize(128, 64); - Trigger.mirror = true; - setRotation(Trigger, 0F, 0F, 0.3490659F); - Frame1 = new ModelRenderer(this, 4, 41); - Frame1.addBox(0F, 0F, 0F, 3, 4, 2); - Frame1.setRotationPoint(-10F, 7F, 1F); - Frame1.setTextureSize(128, 64); - Frame1.mirror = true; - setRotation(Frame1, 0F, 0F, 0F); - Frame2 = new ModelRenderer(this, 14, 41); - Frame2.addBox(0F, -1F, 0F, 3, 1, 2); - Frame2.setRotationPoint(-7F, 11F, 1F); - Frame2.setTextureSize(128, 64); - Frame2.mirror = true; - setRotation(Frame2, 0F, 0F, -0.4363323F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - GL11.glDisable(GL11.GL_CULL_FACE); - BodyBack.render(f5); - BodyBottom.render(f5); - BodySide.render(f5); - Ejector.render(f5); - BodyFront.render(f5); - GripFront.render(f5); - StockFront.render(f5); - StockPlate.render(f5); - HandleBase.render(f5); - Handle.render(f5); - HandleBack.render(f5); - HandleBottom.render(f5); - HandlePlate.render(f5); - HandleTop.render(f5); - Muzzle1.render(f5); - Muzzle2.render(f5); - StockBack.render(f5); - StockPlate1.render(f5); - Stock1.render(f5); - Stock2.render(f5); - Stcok3.render(f5); - Stock4.render(f5); - Hump1.render(f5); - Hump2.render(f5); - Hump3.render(f5); - Hump4.render(f5); - Hump5.render(f5); - Hump6.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - SightBack.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - Sight1.render(f5); - Sight2.render(f5); - Hump7.render(f5); - Hump8.render(f5); - Hump9.render(f5); - Hump10.render(f5); - Hump11.render(f5); - Hump12.render(f5); - Sight3.render(f5); - SightFront.render(f5); - Knob1.render(f5); - Knob2.render(f5); - Bolt1.render(f5); - Bolt2.render(f5); - Mag.render(f5); - GL11.glDisable(GL11.GL_CULL_FACE); - Trigger.render(f5); - Frame1.render(f5); - Frame2.render(f5); - GL11.glEnable(GL11.GL_CULL_FACE); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelUziBarrel.java b/src/main/java/com/hbm/render/model/ModelUziBarrel.java deleted file mode 100644 index c699eb13d..000000000 --- a/src/main/java/com/hbm/render/model/ModelUziBarrel.java +++ /dev/null @@ -1,45 +0,0 @@ -// Date: 22.07.2018 14:26:58 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelUziBarrel extends ModelBase { - // fields - ModelRenderer Barrel; - - public ModelUziBarrel() { - textureWidth = 32; - textureHeight = 32; - - Barrel = new ModelRenderer(this, 0, 0); - Barrel.addBox(0F, 0F, 0F, 12, 2, 2); - Barrel.setRotationPoint(-40F, 2F, 1F); - Barrel.setTextureSize(32, 32); - Barrel.mirror = true; - setRotation(Barrel, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Barrel.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelUziSilencer.java b/src/main/java/com/hbm/render/model/ModelUziSilencer.java deleted file mode 100644 index 5066db4c4..000000000 --- a/src/main/java/com/hbm/render/model/ModelUziSilencer.java +++ /dev/null @@ -1,61 +0,0 @@ -// Date: 22.07.2018 14:32:28 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelUziSilencer extends ModelBase { - // fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - - public ModelUziSilencer() { - textureWidth = 128; - textureHeight = 32; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 32, 5, 3); - Shape1.setRotationPoint(-60F, 0.5F, 0.5F); - Shape1.setTextureSize(128, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 8); - Shape2.addBox(0F, 0F, 0F, 32, 3, 5); - Shape2.setRotationPoint(-60F, 1.5F, -0.5F); - Shape2.setTextureSize(128, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 16); - Shape3.addBox(0F, 0F, 0F, 32, 4, 4); - Shape3.setRotationPoint(-60F, 1F, 0F); - Shape3.setTextureSize(128, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelWormHead.java b/src/main/java/com/hbm/render/model/ModelWormHead.java index 694168b08..c040c6966 100644 --- a/src/main/java/com/hbm/render/model/ModelWormHead.java +++ b/src/main/java/com/hbm/render/model/ModelWormHead.java @@ -11,17 +11,17 @@ import net.minecraftforge.client.model.AdvancedModelLoader; import net.minecraftforge.client.model.IModelCustom; public class ModelWormHead extends ModelBase { - + public static final IModelCustom head = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mobs/bot_prime_head.obj")); @Override - public void render(Entity entity, float x, float y, float z, float f3, float f4, float f5) { - super.render(entity, x, y, z, f3, f4, f5); - - GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * f5 - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * f5 - 90, 0.0F, 0.0F, 1.0F); - + public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) { + + super.render(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor); + + GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * scaleFactor - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * scaleFactor - 90, 0.0F, 0.0F, 1.0F); + head.renderAll(); } - } diff --git a/src/main/java/com/hbm/render/model/ModelXVL1456.java b/src/main/java/com/hbm/render/model/ModelXVL1456.java deleted file mode 100644 index 2d60edd3f..000000000 --- a/src/main/java/com/hbm/render/model/ModelXVL1456.java +++ /dev/null @@ -1,293 +0,0 @@ -// Date: 12.07.2016 17:01:02 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelXVL1456 extends ModelBase { - // fields - ModelRenderer CoilFront; - ModelRenderer Panel1; - ModelRenderer Panel2; - ModelRenderer Panel3; - ModelRenderer CoilBack; - ModelRenderer SpinPivot; - ModelRenderer Barrel; - ModelRenderer CoilBarrel; - ModelRenderer PipeBarrel; - ModelRenderer PipeHolder; - ModelRenderer Rail1; - ModelRenderer Rail2; - ModelRenderer Rail3; - ModelRenderer Rail4; - ModelRenderer Rail5; - ModelRenderer Rail6; - ModelRenderer TankHolder; - ModelRenderer HandleBase; - ModelRenderer HandleShaft; - ModelRenderer HanldeGrip; - ModelRenderer SpinC1; - ModelRenderer SpinC2; - ModelRenderer SpinC3; - ModelRenderer SpinP1; - ModelRenderer SpinP2; - ModelRenderer SpinP3; - ModelRenderer Battery1; - ModelRenderer Battery2; - ModelRenderer StockBase; - ModelRenderer StockTrigger; - ModelRenderer Shape1; - int i = 0; - - public ModelXVL1456() { - textureWidth = 128; - textureHeight = 64; - - CoilFront = new ModelRenderer(this, 0, 0); - CoilFront.addBox(0F, 0F, 0F, 4, 10, 10); - CoilFront.setRotationPoint(0F, 0F, 0F); - CoilFront.setTextureSize(128, 64); - CoilFront.mirror = true; - setRotation(CoilFront, 0F, 0F, 0F); - Panel1 = new ModelRenderer(this, 0, 40); - Panel1.addBox(0F, 0F, 0F, 5, 11, 3); - Panel1.setRotationPoint(4F, -1F, 3.5F); - Panel1.setTextureSize(128, 64); - Panel1.mirror = true; - setRotation(Panel1, 0F, 0F, 0F); - Panel2 = new ModelRenderer(this, 0, 54); - Panel2.addBox(0F, 0F, 0F, 5, 3, 3); - Panel2.setRotationPoint(9F, -1F, 3.5F); - Panel2.setTextureSize(128, 64); - Panel2.mirror = true; - setRotation(Panel2, 0F, 0F, 0F); - Panel3 = new ModelRenderer(this, 16, 40); - Panel3.addBox(0F, 0F, 0F, 3, 11, 3); - Panel3.setRotationPoint(14F, -1F, 3.5F); - Panel3.setTextureSize(128, 64); - Panel3.mirror = true; - setRotation(Panel3, 0F, 0F, 0F); - CoilBack = new ModelRenderer(this, 0, 20); - CoilBack.addBox(0F, 0F, 0F, 4, 10, 10); - CoilBack.setRotationPoint(17F, 0F, 0F); - CoilBack.setTextureSize(128, 64); - CoilBack.mirror = true; - setRotation(CoilBack, 0F, 0F, 0F); - SpinPivot = new ModelRenderer(this, 66, 42); - SpinPivot.addBox(0F, 0F, 0F, 5, 1, 1); - SpinPivot.setRotationPoint(9F, 5.5F, 4.5F); - SpinPivot.setTextureSize(128, 64); - SpinPivot.mirror = true; - setRotation(SpinPivot, 0F, 0F, 0F); - Barrel = new ModelRenderer(this, 64, 0); - Barrel.addBox(0F, 0F, 0F, 28, 1, 1); - Barrel.setRotationPoint(-28F, 4.5F, 4.5F); - Barrel.setTextureSize(128, 64); - Barrel.mirror = true; - setRotation(Barrel, 0F, 0F, 0F); - CoilBarrel = new ModelRenderer(this, 28, 4); - CoilBarrel.addBox(0F, 0F, 0F, 9, 7, 7); - CoilBarrel.setRotationPoint(-19F, 1.5F, 1.5F); - CoilBarrel.setTextureSize(128, 64); - CoilBarrel.mirror = true; - setRotation(CoilBarrel, 0F, 0F, 0F); - PipeBarrel = new ModelRenderer(this, 28, 0); - PipeBarrel.addBox(0F, 0F, 0F, 16, 2, 2); - PipeBarrel.setRotationPoint(-13F, 6F, -0.4666667F); - PipeBarrel.setTextureSize(128, 64); - PipeBarrel.mirror = true; - setRotation(PipeBarrel, 0F, 0F, 0F); - PipeHolder = new ModelRenderer(this, 42, 37); - PipeHolder.addBox(0F, 0F, 0F, 3, 4, 1); - PipeHolder.setRotationPoint(0.5F, 5F, -1F); - PipeHolder.setTextureSize(128, 64); - PipeHolder.mirror = true; - setRotation(PipeHolder, 0F, 0F, 0F); - Rail1 = new ModelRenderer(this, 28, 27); - Rail1.addBox(0F, 0F, 0F, 1, 5, 1); - Rail1.setRotationPoint(5F, -2F, 2.5F); - Rail1.setTextureSize(128, 64); - Rail1.mirror = true; - setRotation(Rail1, 0F, 0F, 0F); - Rail2 = new ModelRenderer(this, 32, 27); - Rail2.addBox(0F, 0F, 0F, 1, 5, 1); - Rail2.setRotationPoint(5F, -2F, 6.5F); - Rail2.setTextureSize(128, 64); - Rail2.mirror = true; - setRotation(Rail2, 0F, 0F, 0F); - Rail3 = new ModelRenderer(this, 28, 23); - Rail3.addBox(0F, 0F, 0F, 18, 1, 1); - Rail3.setRotationPoint(-12F, -3F, 2.5F); - Rail3.setTextureSize(128, 64); - Rail3.mirror = true; - setRotation(Rail3, 0F, 0F, 0F); - Rail4 = new ModelRenderer(this, 28, 25); - Rail4.addBox(0F, 0F, 0F, 18, 1, 1); - Rail4.setRotationPoint(-12F, -3F, 6.5F); - Rail4.setTextureSize(128, 64); - Rail4.mirror = true; - setRotation(Rail4, 0F, 0F, 0F); - Rail5 = new ModelRenderer(this, 28, 18); - Rail5.addBox(0F, 0F, 0F, 1, 4, 1); - Rail5.setRotationPoint(-12F, -2F, 2.5F); - Rail5.setTextureSize(128, 64); - Rail5.mirror = true; - setRotation(Rail5, 0F, 0F, 0F); - Rail6 = new ModelRenderer(this, 32, 18); - Rail6.addBox(0F, 0F, 0F, 1, 4, 1); - Rail6.setRotationPoint(-12F, -2F, 6.5F); - Rail6.setTextureSize(128, 64); - Rail6.mirror = true; - setRotation(Rail6, 0F, 0F, 0F); - TankHolder = new ModelRenderer(this, 42, 27); - TankHolder.addBox(0F, 0F, 0F, 4, 2, 1); - TankHolder.setRotationPoint(4.5F, 4F, 2.5F); - TankHolder.setTextureSize(128, 64); - TankHolder.mirror = true; - setRotation(TankHolder, 0F, 0F, 0F); - HandleBase = new ModelRenderer(this, 28, 33); - HandleBase.addBox(0F, 0F, 0F, 6, 1, 1); - HandleBase.setRotationPoint(9F, -2F, 4.5F); - HandleBase.setTextureSize(128, 64); - HandleBase.mirror = true; - setRotation(HandleBase, 0F, 0F, 0F); - HandleShaft = new ModelRenderer(this, 28, 35); - HandleShaft.addBox(0F, 0F, 0F, 1, 3, 1); - HandleShaft.setRotationPoint(8F, -4F, 4.5F); - HandleShaft.setTextureSize(128, 64); - HandleShaft.mirror = true; - setRotation(HandleShaft, 0F, 0F, 0F); - HanldeGrip = new ModelRenderer(this, 28, 39); - HanldeGrip.addBox(0F, 0F, 0F, 5, 2, 2); - HanldeGrip.setRotationPoint(9F, -5F, 4F); - HanldeGrip.setTextureSize(128, 64); - HanldeGrip.mirror = true; - setRotation(HanldeGrip, 0F, 0F, 0F); - SpinC1 = new ModelRenderer(this, 66, 21); - SpinC1.addBox(0F, -3.5F, -2F, 4, 3, 4); - SpinC1.setRotationPoint(9.5F, 6F, 5F); - SpinC1.setTextureSize(128, 64); - SpinC1.mirror = true; - setRotation(SpinC1, 0F, 0F, 0F); - SpinC2 = new ModelRenderer(this, 66, 28); - SpinC2.addBox(0F, -3.5F, -2F, 4, 3, 4); - SpinC2.setRotationPoint(9.5F, 6F, 5F); - SpinC2.setTextureSize(128, 64); - SpinC2.mirror = true; - setRotation(SpinC2, 2.094395F, 0F, 0F); - SpinC3 = new ModelRenderer(this, 66, 35); - SpinC3.addBox(0F, -3.5F, -2F, 4, 3, 4); - SpinC3.setRotationPoint(9.5F, 6F, 5F); - SpinC3.setTextureSize(128, 64); - SpinC3.mirror = true; - setRotation(SpinC3, -2.094395F, 0F, 0F); - SpinP1 = new ModelRenderer(this, 82, 21); - SpinP1.addBox(0F, -3F, -1.5F, 3, 2, 3); - SpinP1.setRotationPoint(10F, 6F, 5F); - SpinP1.setTextureSize(128, 64); - SpinP1.mirror = true; - setRotation(SpinP1, 1.047198F, 0F, 0F); - SpinP2 = new ModelRenderer(this, 82, 26); - SpinP2.addBox(0F, -3F, -1.5F, 3, 2, 3); - SpinP2.setRotationPoint(10F, 6F, 5F); - SpinP2.setTextureSize(128, 64); - SpinP2.mirror = true; - setRotation(SpinP2, 3.141593F, 0F, 0F); - SpinP3 = new ModelRenderer(this, 82, 31); - SpinP3.addBox(0F, -3F, -1.5F, 3, 2, 3); - SpinP3.setRotationPoint(10F, 6F, 5F); - SpinP3.setTextureSize(128, 64); - SpinP3.mirror = true; - setRotation(SpinP3, -1.047198F, 0F, 0F); - Battery1 = new ModelRenderer(this, 64, 2); - Battery1.addBox(0F, 0F, 0F, 1, 1, 3); - Battery1.setRotationPoint(17.8F, -1F, 3.5F); - Battery1.setTextureSize(128, 64); - Battery1.mirror = true; - setRotation(Battery1, 0F, 0F, 0F); - Battery2 = new ModelRenderer(this, 72, 2); - Battery2.addBox(0F, 0F, 0F, 1, 1, 3); - Battery2.setRotationPoint(19.3F, -1F, 3.5F); - Battery2.setTextureSize(128, 64); - Battery2.mirror = true; - setRotation(Battery2, 0F, 0F, 0F); - StockBase = new ModelRenderer(this, 60, 12); - StockBase.addBox(0F, 0F, 0F, 12, 6, 3); - StockBase.setRotationPoint(22F, 7F, 3.5F); - StockBase.setTextureSize(128, 64); - StockBase.mirror = true; - setRotation(StockBase, 0F, 0F, 0F); - StockTrigger = new ModelRenderer(this, 60, 6); - StockTrigger.addBox(-3.5F, -1.5F, 0F, 5, 4, 2); - StockTrigger.setRotationPoint(22F, 10F, 4F); - StockTrigger.setTextureSize(128, 64); - StockTrigger.mirror = true; - setRotation(StockTrigger, 0F, 0F, 0.7853982F); - Shape1 = new ModelRenderer(this, 42, 30); - Shape1.addBox(0F, -1F, -1F, 2, 5, 2); - Shape1.setRotationPoint(5.5F, 6F, 2.5F); - Shape1.setTextureSize(128, 64); - Shape1.mirror = true; - setRotation(Shape1, -0.7853982F, 0F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, float rot) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - CoilFront.render(f5); - Panel1.render(f5); - Panel2.render(f5); - Panel3.render(f5); - CoilBack.render(f5); - SpinPivot.render(f5); - Barrel.render(f5); - CoilBarrel.render(f5); - PipeBarrel.render(f5); - PipeHolder.render(f5); - Rail1.render(f5); - Rail2.render(f5); - Rail3.render(f5); - Rail4.render(f5); - Rail5.render(f5); - Rail6.render(f5); - TankHolder.render(f5); - HandleBase.render(f5); - HandleShaft.render(f5); - HanldeGrip.render(f5); - SpinC1.rotateAngleX += rot; - SpinC2.rotateAngleX += rot; - SpinC3.rotateAngleX += rot; - SpinP1.rotateAngleX += rot; - SpinP2.rotateAngleX += rot; - SpinP3.rotateAngleX += rot; - SpinC1.render(f5); - SpinC2.render(f5); - SpinC3.render(f5); - SpinP1.render(f5); - SpinP2.render(f5); - SpinP3.render(f5); - Battery1.render(f5); - Battery2.render(f5); - StockBase.render(f5); - StockTrigger.render(f5); - Shape1.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelZOMG.java b/src/main/java/com/hbm/render/model/ModelZOMG.java deleted file mode 100644 index 9d338ad96..000000000 --- a/src/main/java/com/hbm/render/model/ModelZOMG.java +++ /dev/null @@ -1,255 +0,0 @@ -// Date: 14.08.2016 18:55:34 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelZOMG extends ModelBase { - // fields - ModelRenderer Body; - ModelRenderer BodyFront; - ModelRenderer BodyFrontPlate; - ModelRenderer PipeLeft; - ModelRenderer PipeRight; - ModelRenderer PipeBottom; - ModelRenderer Head; - ModelRenderer HeadBottom; - ModelRenderer HeadBottomPlate; - ModelRenderer BodyTop; - ModelRenderer BodyCenter; - ModelRenderer BodyBack; - ModelRenderer BodyBackPlate; - ModelRenderer StockTop; - ModelRenderer StockBack; - ModelRenderer StockBackPlate; - ModelRenderer Handle; - ModelRenderer PistonBack; - ModelRenderer PistonFront; - ModelRenderer BarrelVertical; - ModelRenderer BarrelHorizontal; - ModelRenderer BarrelCenter; - ModelRenderer HandleBack; - ModelRenderer BarrelPipe; - ModelRenderer PistonPivot; - ModelRenderer Scope; - ModelRenderer ScopePivot; - - public ModelZOMG() { - textureWidth = 128; - textureHeight = 64; - - Body = new ModelRenderer(this, 0, 0); - Body.addBox(0F, 0F, 0F, 12, 5, 4); - Body.setRotationPoint(-6F, 0F, 0F); - Body.setTextureSize(128, 64); - Body.mirror = true; - setRotation(Body, 0F, 0F, 0F); - BodyFront = new ModelRenderer(this, 32, 14); - BodyFront.addBox(0F, 0F, 0F, 1, 4, 4); - BodyFront.setRotationPoint(-7F, 0F, 0F); - BodyFront.setTextureSize(128, 64); - BodyFront.mirror = true; - setRotation(BodyFront, 0F, 0F, 0F); - BodyFrontPlate = new ModelRenderer(this, 46, 6); - BodyFrontPlate.addBox(-2F, -1F, 0F, 2, 1, 4); - BodyFrontPlate.setRotationPoint(-6F, 5F, 0F); - BodyFrontPlate.setTextureSize(128, 64); - BodyFrontPlate.mirror = true; - setRotation(BodyFrontPlate, 0F, 0F, 0.6981317F); - PipeLeft = new ModelRenderer(this, 0, 29); - PipeLeft.addBox(0F, 0F, 0F, 6, 1, 1); - PipeLeft.setRotationPoint(-13F, 0.5F, 0.5F); - PipeLeft.setTextureSize(128, 64); - PipeLeft.mirror = true; - setRotation(PipeLeft, 0F, 0F, 0F); - PipeRight = new ModelRenderer(this, 14, 29); - PipeRight.addBox(0F, 0F, 0F, 6, 1, 1); - PipeRight.setRotationPoint(-13F, 0.5F, 2.5F); - PipeRight.setTextureSize(128, 64); - PipeRight.mirror = true; - setRotation(PipeRight, 0F, 0F, 0F); - PipeBottom = new ModelRenderer(this, 14, 25); - PipeBottom.addBox(0F, 0F, 0F, 6, 2, 2); - PipeBottom.setRotationPoint(-13F, 2F, 1F); - PipeBottom.setTextureSize(128, 64); - PipeBottom.mirror = true; - setRotation(PipeBottom, 0F, 0F, 0F); - Head = new ModelRenderer(this, 32, 0); - Head.addBox(0F, 0F, 0F, 3, 4, 4); - Head.setRotationPoint(-16F, 0F, 0F); - Head.setTextureSize(128, 64); - Head.mirror = true; - setRotation(Head, 0F, 0F, 0F); - HeadBottom = new ModelRenderer(this, 46, 0); - HeadBottom.addBox(0F, 0F, 0F, 2, 2, 4); - HeadBottom.setRotationPoint(-15F, 4F, 0F); - HeadBottom.setTextureSize(128, 64); - HeadBottom.mirror = true; - setRotation(HeadBottom, 0F, 0F, 0F); - HeadBottomPlate = new ModelRenderer(this, 32, 8); - HeadBottomPlate.addBox(0F, 0F, 0F, 1, 2, 4); - HeadBottomPlate.setRotationPoint(-16F, 4F, 0F); - HeadBottomPlate.setTextureSize(128, 64); - HeadBottomPlate.mirror = true; - setRotation(HeadBottomPlate, 0F, 0F, -0.4363323F); - BodyTop = new ModelRenderer(this, 0, 17); - BodyTop.addBox(0F, 0F, 0F, 10, 1, 3); - BodyTop.setRotationPoint(-5F, -0.5F, 0.5F); - BodyTop.setTextureSize(128, 64); - BodyTop.mirror = true; - setRotation(BodyTop, 0F, 0F, 0F); - BodyCenter = new ModelRenderer(this, 0, 9); - BodyCenter.addBox(0F, 0F, 0F, 11, 3, 5); - BodyCenter.setRotationPoint(-5.5F, 1F, -0.5F); - BodyCenter.setTextureSize(128, 64); - BodyCenter.mirror = true; - setRotation(BodyCenter, 0F, 0F, 0F); - BodyBack = new ModelRenderer(this, 42, 11); - BodyBack.addBox(0F, 0F, 0F, 1, 3, 4); - BodyBack.setRotationPoint(6F, 2F, 0F); - BodyBack.setTextureSize(128, 64); - BodyBack.mirror = true; - setRotation(BodyBack, 0F, 0F, 0F); - BodyBackPlate = new ModelRenderer(this, 58, 0); - BodyBackPlate.addBox(-1F, -3F, 0F, 1, 4, 2); - BodyBackPlate.setRotationPoint(7F, 2F, 1F); - BodyBackPlate.setTextureSize(128, 64); - BodyBackPlate.mirror = true; - setRotation(BodyBackPlate, 0F, 0F, -0.4363323F); - StockTop = new ModelRenderer(this, 0, 21); - StockTop.addBox(0F, 0F, 0F, 8, 2, 2); - StockTop.setRotationPoint(7F, 3F, 1F); - StockTop.setTextureSize(128, 64); - StockTop.mirror = true; - setRotation(StockTop, 0F, 0F, 0F); - StockBack = new ModelRenderer(this, 20, 21); - StockBack.addBox(0F, 0F, 0F, 4, 2, 2); - StockBack.setRotationPoint(11F, 5F, 1F); - StockBack.setTextureSize(128, 64); - StockBack.mirror = true; - setRotation(StockBack, 0F, 0F, 0F); - StockBackPlate = new ModelRenderer(this, 0, 25); - StockBackPlate.addBox(-5F, -2F, 0F, 5, 2, 2); - StockBackPlate.setRotationPoint(11F, 7F, 1F); - StockBackPlate.setTextureSize(128, 64); - StockBackPlate.mirror = true; - setRotation(StockBackPlate, 0F, 0F, 0.418879F); - Handle = new ModelRenderer(this, 64, 8); - Handle.addBox(0F, 0F, 0F, 2, 4, 2); - Handle.setRotationPoint(-4F, 5F, 1F); - Handle.setTextureSize(128, 64); - Handle.mirror = true; - setRotation(Handle, 0F, 0F, 0F); - PistonBack = new ModelRenderer(this, 30, 26); - PistonBack.addBox(0F, -4F, 0F, 2, 4, 2); - PistonBack.setRotationPoint(1F, 4F, -0.5F); - PistonBack.setTextureSize(128, 64); - PistonBack.mirror = true; - setRotation(PistonBack, 0.7853982F, 0F, 0F); - PistonFront = new ModelRenderer(this, 52, 11); - PistonFront.addBox(0F, -4F, 0F, 2, 4, 2); - PistonFront.setRotationPoint(-3F, 4F, -0.5F); - PistonFront.setTextureSize(128, 64); - PistonFront.mirror = true; - setRotation(PistonFront, 0.7853982F, 0F, 0F); - BarrelVertical = new ModelRenderer(this, 38, 22); - BarrelVertical.addBox(0F, 0F, 0F, 8, 3, 2); - BarrelVertical.setRotationPoint(-4F, 1F, 5F); - BarrelVertical.setTextureSize(128, 64); - BarrelVertical.mirror = true; - setRotation(BarrelVertical, 0F, 0F, 0F); - BarrelHorizontal = new ModelRenderer(this, 38, 27); - BarrelHorizontal.addBox(0F, 0F, 0F, 8, 2, 3); - BarrelHorizontal.setRotationPoint(-4F, 1.5F, 4.5F); - BarrelHorizontal.setTextureSize(128, 64); - BarrelHorizontal.mirror = true; - setRotation(BarrelHorizontal, 0F, 0F, 0F); - BarrelCenter = new ModelRenderer(this, 64, 0); - BarrelCenter.addBox(0F, 0F, 0F, 10, 2, 2); - BarrelCenter.setRotationPoint(-5F, 1.5F, 5F); - BarrelCenter.setTextureSize(128, 64); - BarrelCenter.mirror = true; - setRotation(BarrelCenter, 0F, 0F, 0F); - HandleBack = new ModelRenderer(this, 60, 8); - HandleBack.addBox(0F, 0F, 0F, 1, 4, 1); - HandleBack.setRotationPoint(-2.5F, 5F, 1.5F); - HandleBack.setTextureSize(128, 64); - HandleBack.mirror = true; - setRotation(HandleBack, 0F, 0F, 0F); - BarrelPipe = new ModelRenderer(this, 64, 4); - BarrelPipe.addBox(-10F, 0F, -1F, 10, 1, 1); - BarrelPipe.setRotationPoint(-5F, 2F, 6.5F); - BarrelPipe.setTextureSize(128, 64); - BarrelPipe.mirror = true; - setRotation(BarrelPipe, 0F, -0.2602503F, 0F); - PistonPivot = new ModelRenderer(this, 60, 14); - PistonPivot.addBox(0F, -2F, 0.5F, 7, 2, 1); - PistonPivot.setRotationPoint(-3.5F, 4F, -0.5F); - PistonPivot.setTextureSize(128, 64); - PistonPivot.mirror = true; - setRotation(PistonPivot, 0.7853982F, 0F, 0F); - Scope = new ModelRenderer(this, 48, 18); - Scope.addBox(0F, 0F, 0F, 6, 2, 2); - Scope.setRotationPoint(-3F, -3F, 1F); - Scope.setTextureSize(128, 64); - Scope.mirror = true; - setRotation(Scope, 0F, 0F, 0F); - ScopePivot = new ModelRenderer(this, 58, 6); - ScopePivot.addBox(0F, 0F, 0F, 4, 1, 1); - ScopePivot.setRotationPoint(-2F, -1F, 1.5F); - ScopePivot.setTextureSize(128, 64); - ScopePivot.mirror = true; - setRotation(ScopePivot, 0F, 0F, 0F); - } - - @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Body.render(f5); - BodyFront.render(f5); - BodyFrontPlate.render(f5); - PipeLeft.render(f5); - PipeRight.render(f5); - PipeBottom.render(f5); - Head.render(f5); - HeadBottom.render(f5); - HeadBottomPlate.render(f5); - BodyTop.render(f5); - BodyCenter.render(f5); - BodyBack.render(f5); - BodyBackPlate.render(f5); - StockTop.render(f5); - StockBack.render(f5); - StockBackPlate.render(f5); - Handle.render(f5); - PistonBack.render(f5); - PistonFront.render(f5); - BarrelVertical.render(f5); - BarrelHorizontal.render(f5); - BarrelCenter.render(f5); - HandleBack.render(f5); - BarrelPipe.render(f5); - PistonPivot.render(f5); - Scope.render(f5); - ScopePivot.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ProtoCopter.java b/src/main/java/com/hbm/render/model/ProtoCopter.java deleted file mode 100644 index e64b227e6..000000000 --- a/src/main/java/com/hbm/render/model/ProtoCopter.java +++ /dev/null @@ -1,128 +0,0 @@ -// Date: 23.07.2016 18:06:22 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - - - - - - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ProtoCopter extends ModelBase -{ - //fields - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - ModelRenderer Shape7; - ModelRenderer Shape8; - - public ProtoCopter() - { - textureWidth = 128; - textureHeight = 64; - - int x = 0; - int z = -2; - - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 16, 4, 4); - Shape1.setRotationPoint(-8F + x, 0F, 0F + z); - Shape1.setTextureSize(128, 64); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - Shape2 = new ModelRenderer(this, 0, 0); - Shape2.addBox(0F, 0F, 0F, 4, 8, 4); - Shape2.setRotationPoint(-12F + x, 0F, 0F + z); - Shape2.setTextureSize(128, 64); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - Shape3 = new ModelRenderer(this, 0, 0); - Shape3.addBox(0F, 0F, 0F, 7, 3, 2); - Shape3.setRotationPoint(8F + x, 0F, 1F + z); - Shape3.setTextureSize(128, 64); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - Shape4 = new ModelRenderer(this, 0, 0); - Shape4.addBox(0F, 0F, 0F, 6, 6, 2); - Shape4.setRotationPoint(15F + x, 0F, 1F + z); - Shape4.setTextureSize(128, 64); - Shape4.mirror = true; - setRotation(Shape4, 0F, 0F, 0F); - Shape5 = new ModelRenderer(this, 0, 0); - Shape5.addBox(0F, 0F, 0F, 5, 5, 2); - Shape5.setRotationPoint(-8F + x, 3F, 1F + z); - Shape5.setTextureSize(128, 64); - Shape5.mirror = true; - setRotation(Shape5, 0F, 0F, 0F); - Shape6 = new ModelRenderer(this, 0, 0); - Shape6.addBox(0F, 0F, 0F, 4, 2, 14); - Shape6.setRotationPoint(-3F + x, 4F, -5F + z); - Shape6.setTextureSize(128, 64); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - Shape7 = new ModelRenderer(this, 0, 0); - Shape7.addBox(0F, 0F, 0F, 2, 4, 2); - Shape7.setRotationPoint(-1F + x, -4F, 1F + z); - Shape7.setTextureSize(128, 64); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - Shape8 = new ModelRenderer(this, 0, 0); - Shape8.addBox(-14F, 0F, -14F, 28, 1, 28); - Shape8.setRotationPoint(0F + x, -3F, 2F + z); - Shape8.setTextureSize(128, 64); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - - public void renderAll(float f5) - { - Shape1.render(f5); - Shape2.render(f5); - Shape3.render(f5); - Shape4.render(f5); - Shape5.render(f5); - Shape6.render(f5); - Shape7.render(f5); - Shape8.render(f5); - } - -} diff --git a/src/main/java/com/hbm/render/tileentity/RenderAmmoPress.java b/src/main/java/com/hbm/render/tileentity/RenderAmmoPress.java new file mode 100644 index 000000000..3eb232496 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderAmmoPress.java @@ -0,0 +1,75 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import com.hbm.tileentity.machine.TileEntityMachineAmmoPress; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderAmmoPress extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); + + TileEntityMachineAmmoPress tile = (TileEntityMachineAmmoPress) tileEntity; + + switch(tileEntity.getBlockMetadata() - BlockDummyable.offset) { + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + float press = tile.prevPress + (tile.press - tile.prevPress) * f; + float lift = tile.prevLift + (tile.lift - tile.prevLift) * f; + + bindTexture(ResourceManager.ammo_press_tex); + ResourceManager.ammo_press.renderPart("Frame"); + + GL11.glPushMatrix(); + GL11.glTranslatef(0, -press * 0.25F, 0); + ResourceManager.ammo_press.renderPart("Press"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslatef(0, lift * 0.5F - 0.5F, 0); + ResourceManager.ammo_press.renderPart("Shells"); + if(tile.animState == tile.animState.RETRACTING || tile.animState == tile.animState.LOWERING) ResourceManager.ammo_press.renderPart("Bullets"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.machine_ammo_press); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase( ) { + public void renderInventory() { + GL11.glTranslated(0, -2.5, 0); + GL11.glScaled(5, 5, 5); + } + public void renderCommon() { + GL11.glRotatef(90, 0F, 1F, 0F); + bindTexture(ResourceManager.ammo_press_tex); + ResourceManager.ammo_press.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderAssemblyMachine.java b/src/main/java/com/hbm/render/tileentity/RenderAssemblyMachine.java new file mode 100644 index 000000000..1111a998a --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderAssemblyMachine.java @@ -0,0 +1,165 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.recipes.AssemblyMachineRecipes; +import com.hbm.inventory.recipes.loader.GenericRecipe; +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import com.hbm.tileentity.machine.TileEntityMachineAssemblyMachine; +import com.hbm.util.BobMathUtil; + +import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderAssemblyMachine extends TileEntitySpecialRenderer implements IItemRendererProvider { + + public static EntityItem dummy; + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float interp) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y, z + 0.5); + GL11.glRotated(90, 0, 1, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + + switch(tileEntity.getBlockMetadata() - BlockDummyable.offset) { + case 2: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(270, 0F, 1F, 0F); break; + } + + TileEntityMachineAssemblyMachine assembler = (TileEntityMachineAssemblyMachine) tileEntity; + + bindTexture(ResourceManager.assembly_machine_tex); + ResourceManager.assembly_machine.renderPart("Base"); + if(assembler.frame) ResourceManager.assembly_machine.renderPart("Frame"); + + GL11.glPushMatrix(); + + double spin = BobMathUtil.interp(assembler.prevRing, assembler.ring, interp); + double[] arm1 = assembler.arms[0].getPositions(interp); + double[] arm2 = assembler.arms[1].getPositions(interp); + + // arm1 = arm2 = new double[] {60, -15, 15, -0.25}; // heart + + GL11.glRotated(spin, 0, 1, 0); + ResourceManager.assembly_machine.renderPart("Ring"); + + GL11.glPushMatrix(); { + GL11.glTranslated(0, 1.625, 0.9375); + GL11.glRotated(arm1[0], 1, 0, 0); + GL11.glTranslated(0, -1.625, -0.9375); + ResourceManager.assembly_machine.renderPart("ArmLower1"); + + GL11.glTranslated(0, 2.375, 0.9375); + GL11.glRotated(arm1[1], 1, 0, 0); + GL11.glTranslated(0, -2.375, -0.9375); + ResourceManager.assembly_machine.renderPart("ArmUpper1"); + + GL11.glTranslated(0, 2.375, 0.4375); + GL11.glRotated(arm1[2], 1, 0, 0); + GL11.glTranslated(0, -2.375, -0.4375); + ResourceManager.assembly_machine.renderPart("Head1"); + GL11.glTranslated(0, arm1[3], 0); + ResourceManager.assembly_machine.renderPart("Spike1"); + } GL11.glPopMatrix(); + + GL11.glPushMatrix(); { + GL11.glTranslated(0, 1.625, -0.9375); + GL11.glRotated(-arm2[0], 1, 0, 0); + GL11.glTranslated(0, -1.625, 0.9375); + ResourceManager.assembly_machine.renderPart("ArmLower2"); + + GL11.glTranslated(0, 2.375, -0.9375); + GL11.glRotated(-arm2[1], 1, 0, 0); + GL11.glTranslated(0, -2.375, 0.9375); + ResourceManager.assembly_machine.renderPart("ArmUpper2"); + + GL11.glTranslated(0, 2.375, -0.4375); + GL11.glRotated(-arm2[2], 1, 0, 0); + GL11.glTranslated(0, -2.375, 0.4375); + ResourceManager.assembly_machine.renderPart("Head2"); + GL11.glTranslated(0, arm2[3], 0); + ResourceManager.assembly_machine.renderPart("Spike2"); + } GL11.glPopMatrix(); + + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GenericRecipe recipe = AssemblyMachineRecipes.INSTANCE.recipeNameMap.get(assembler.assemblerModule.recipe); + if(recipe != null && MainRegistry.proxy.me().getDistanceSq(tileEntity.xCoord + 0.5, tileEntity.yCoord + 1, tileEntity.zCoord + 0.5) < 35 * 35) { + + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, 1.0625, 0); + + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + ItemStack stack = recipe.getIcon(); + stack.stackSize = 1; + + if(stack.getItemSpriteNumber() == 0 && stack.getItem() instanceof ItemBlock) { + if(RenderBlocks.renderItemIn3d(Block.getBlockFromItem(stack.getItem()).getRenderType())) { + GL11.glTranslated(0, -0.0625, 0); + } else { + GL11.glTranslated(0, -0.125, 0); + GL11.glScaled(0.5, 0.5, 0.5); + } + } else { + GL11.glRotated(-90, 1, 0, 0); + GL11.glTranslated(0, -0.25, 0); + } + + GL11.glScaled(1.25, 1.25, 1.25); + + if(dummy == null || dummy.worldObj != tileEntity.getWorldObj()) dummy = new EntityItem(tileEntity.getWorldObj(), 0, 0, 0, stack); + dummy.setEntityItemStack(stack); + dummy.hoverStart = 0.0F; + + RenderItem.renderInFrame = true; + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F); + RenderItem.renderInFrame = false; + } + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.machine_assembly_machine); + } + + @Override + public IItemRenderer getRenderer() { + + return new ItemRenderBase() { + + public void renderInventory() { + GL11.glTranslated(0, -2.75, 0); + GL11.glScaled(4.5, 4.5, 4.5); + } + public void renderCommonWithStack(ItemStack item) { + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(0.75, 0.75, 0.75); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.assembly_machine_tex); + ResourceManager.assembly_machine.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderBobble.java b/src/main/java/com/hbm/render/tileentity/RenderBobble.java index fc5332997..58e8ee850 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderBobble.java +++ b/src/main/java/com/hbm/render/tileentity/RenderBobble.java @@ -8,7 +8,6 @@ import com.hbm.blocks.generic.BlockBobble.TileEntityBobble; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.main.ResourceManager; -import com.hbm.render.model.ModelUboinik; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; @@ -50,9 +49,16 @@ public class RenderBobble extends TileEntitySpecialRenderer { public static final ResourceLocation bobble_microwave = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/microwave.png"); public static final ResourceLocation bobble_peep = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/peep.png"); public static final ResourceLocation bobble_mellow = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/mellowrpg8.png"); + public static final ResourceLocation bobble_mellow_glow = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/mellowrpg8_glow.png"); + public static final ResourceLocation bobble_abel = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/abel.png"); + public static final ResourceLocation bobble_abel_glow = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/abel_glow.png"); + + private long time; @Override public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float intero) { + time = System.currentTimeMillis(); + GL11.glPushMatrix(); GL11.glTranslated(x + 0.5, y, z + 0.5); @@ -102,6 +108,7 @@ public class RenderBobble extends TileEntitySpecialRenderer { case MICROWAVE: bindTexture(bobble_microwave); break; case PEEP: bindTexture(bobble_peep); break; case MELLOW: bindTexture(bobble_mellow); break; + case ABEL: bindTexture(bobble_abel); break; default: bindTexture(ResourceManager.universal); } @@ -216,6 +223,10 @@ public class RenderBobble extends TileEntitySpecialRenderer { rotLeftLeg = new double[]{3, 5, 2}; rotRightLeg = new double[]{-3, -5, 0}; break; + case ABEL: + rotLeftArm = new double[]{0, 80, 90}; + rotRightArm = new double[]{0, -80, 90}; + break; } } @@ -289,8 +300,8 @@ public class RenderBobble extends TileEntitySpecialRenderer { GL11.glPushMatrix(); GL11.glTranslated(0, 1.75, 0); - GL11.glRotated(Math.sin(System.currentTimeMillis() * speed) * amplitude, 1, 0, 0); - GL11.glRotated(Math.sin(System.currentTimeMillis() * speed + (Math.PI * 0.5)) * amplitude, 0, 0, 1); + GL11.glRotated(Math.sin(time * speed) * amplitude, 1, 0, 0); + GL11.glRotated(Math.sin(time * speed + (Math.PI * 0.5)) * amplitude, 0, 0, 1); GL11.glRotated(rotHead[0], 1, 0, 0); GL11.glRotated(rotHead[1], 0, 1, 0); @@ -343,7 +354,7 @@ public class RenderBobble extends TileEntitySpecialRenderer { GL11.glAlphaFunc(GL11.GL_GREATER, 0); OpenGlHelper.glBlendFunc(770, 771, 1, 0); - GL11.glColor4f(1.0F, 1.0F, 0.0F, 0.1F + (float) Math.sin(System.currentTimeMillis() * 0.001D) * 0.05F); + GL11.glColor4f(1.0F, 1.0F, 0.0F, 0.1F + (float) Math.sin(time * 0.001D) * 0.05F); bobble.renderPart("PelletShine"); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); @@ -366,8 +377,8 @@ public class RenderBobble extends TileEntitySpecialRenderer { GL11.glPushMatrix(); GL11.glTranslated(0, 0.75, 0); - GL11.glRotated(Math.sin(System.currentTimeMillis() * speed) * amplitude, 1, 0, 0); - GL11.glRotated(Math.sin(System.currentTimeMillis() * speed + (Math.PI * 0.5)) * amplitude, 0, 0, 1); + GL11.glRotated(Math.sin(time * speed) * amplitude, 1, 0, 0); + GL11.glRotated(Math.sin(time * speed + (Math.PI * 0.5)) * amplitude, 0, 0, 1); GL11.glTranslated(0, -0.75, 0); GL11.glDisable(GL11.GL_CULL_FACE); @@ -380,7 +391,6 @@ public class RenderBobble extends TileEntitySpecialRenderer { bobble.renderPart("Drillgon"); } - private ModelUboinik shotgun = new ModelUboinik(); private ResourceLocation shot_tex = new ResourceLocation(RefStrings.MODID +":textures/models/ModelUboinik.png"); /* @@ -451,14 +461,16 @@ public class RenderBobble extends TileEntitySpecialRenderer { GL11.glRotated(-60, 0, 1, 0); GL11.glTranslated(-0.2, 0, 0); GL11.glScaled(0.5, 0.5, 0.5); - shotgun.renderDud(0.0625F); + //shotgun.renderDud(0.0625F); break; case MELLOW: + GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); + bindTexture(bobble_mellow_glow); + renderGuy(type); GL11.glEnable(GL11.GL_BLEND); GL11.glAlphaFunc(GL11.GL_GREATER, 0); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); - GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); - OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); this.bindTexture(lamp); bobble.renderPart("Fluoro"); this.bindTexture(glow); @@ -467,6 +479,13 @@ public class RenderBobble extends TileEntitySpecialRenderer { GL11.glDisable(GL11.GL_BLEND); GL11.glPopAttrib(); break; + case ABEL: + GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); + bindTexture(bobble_abel_glow); + renderGuy(type); + GL11.glPopAttrib(); + break; } } diff --git a/src/main/java/com/hbm/render/tileentity/RenderBreeder.java b/src/main/java/com/hbm/render/tileentity/RenderBreeder.java index 25c8659b7..7c09e60fe 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderBreeder.java +++ b/src/main/java/com/hbm/render/tileentity/RenderBreeder.java @@ -36,12 +36,10 @@ public class RenderBreeder extends TileEntitySpecialRenderer { for(int i = 0; i < 3; i++) { GL11.glPushMatrix(); GL11.glRotatef((float) (Math.PI * i), 0F, 1F, 0F); - RenderSparks.renderSpark((int) ((System.currentTimeMillis() % 10000) / 100 + i), 0, 1.875, 0, 0.15F, 3, 4, 0x00ff00, 0xffffff); + RenderSparks.renderSpark((int) ((System.currentTimeMillis() % 10000) / 100 + i), 0, 1.5625, 0, 0.15F, 3, 4, 0x00ff00, 0xffffff); GL11.glPopMatrix(); } - GL11.glScaled(0.5, 0.5, 0.5); - bindTexture(ResourceManager.breeder_tex); GL11.glShadeModel(GL11.GL_SMOOTH); diff --git a/src/main/java/com/hbm/render/tileentity/RenderChemicalFactory.java b/src/main/java/com/hbm/render/tileentity/RenderChemicalFactory.java new file mode 100644 index 000000000..ba2ce02b3 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderChemicalFactory.java @@ -0,0 +1,83 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import com.hbm.tileentity.machine.TileEntityMachineChemicalFactory; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderChemicalFactory extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float interp) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y, z + 0.5); + GL11.glRotated(90, 0, 1, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + + switch(tileEntity.getBlockMetadata() - BlockDummyable.offset) { + case 2: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(270, 0F, 1F, 0F); break; + } + + TileEntityMachineChemicalFactory chemplant = (TileEntityMachineChemicalFactory) tileEntity; + float anim = chemplant.prevAnim + (chemplant.anim - chemplant.prevAnim) * interp; + + bindTexture(ResourceManager.chemical_factory_tex); + ResourceManager.chemical_factory.renderPart("Base"); + if(chemplant.frame) ResourceManager.chemical_factory.renderPart("Frame"); + + GL11.glPushMatrix(); + GL11.glTranslated(1, 0, 0); + GL11.glRotated(-anim * 45 % 360D, 0, 1, 0); + GL11.glTranslated(-1, 0, 0); + ResourceManager.chemical_factory.renderPart("Fan1"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(-1, 0, 0); + GL11.glRotated(-anim * 45 % 360D, 0, 1, 0); + GL11.glTranslated(1, 0, 0); + ResourceManager.chemical_factory.renderPart("Fan2"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.machine_chemical_factory); + } + + @Override + public IItemRenderer getRenderer() { + + return new ItemRenderBase() { + + public void renderInventory() { + GL11.glTranslated(0, -1.5, 0); + GL11.glScaled(3, 3, 3); + } + public void renderCommonWithStack(ItemStack item) { + GL11.glScaled(0.75, 0.75, 0.75); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.chemical_factory_tex); + ResourceManager.chemical_factory.renderPart("Base"); + ResourceManager.chemical_factory.renderPart("Frame"); + ResourceManager.chemical_factory.renderPart("Fan1"); + ResourceManager.chemical_factory.renderPart("Fan2"); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderChemicalPlant.java b/src/main/java/com/hbm/render/tileentity/RenderChemicalPlant.java new file mode 100644 index 000000000..bd7657a69 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderChemicalPlant.java @@ -0,0 +1,140 @@ +package com.hbm.render.tileentity; + +import java.awt.Color; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.FluidStack; +import com.hbm.inventory.recipes.ChemicalPlantRecipes; +import com.hbm.inventory.recipes.loader.GenericRecipe; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import com.hbm.tileentity.machine.TileEntityMachineChemicalPlant; +import com.hbm.util.BobMathUtil; + +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderChemicalPlant extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float interp) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y, z + 0.5); + GL11.glRotated(90, 0, 1, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + + switch(tileEntity.getBlockMetadata() - BlockDummyable.offset) { + case 2: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(270, 0F, 1F, 0F); break; + } + + TileEntityMachineChemicalPlant chemplant = (TileEntityMachineChemicalPlant) tileEntity; + float anim = chemplant.prevAnim + (chemplant.anim - chemplant.prevAnim) * interp; + GenericRecipe recipe = ChemicalPlantRecipes.INSTANCE.recipeNameMap.get(chemplant.chemplantModule.recipe); + + bindTexture(ResourceManager.chemical_plant_tex); + ResourceManager.chemical_plant.renderPart("Base"); + if(chemplant.frame) ResourceManager.chemical_plant.renderPart("Frame"); + + GL11.glPushMatrix(); + GL11.glTranslated(BobMathUtil.sps(anim * 0.125) * 0.375, 0, 0); + ResourceManager.chemical_plant.renderPart("Slider"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0.5, 0, 0.5); + GL11.glRotated((anim * 15) % 360D, 0, 1, 0); + GL11.glTranslated(-0.5, 0, -0.5); + ResourceManager.chemical_plant.renderPart("Spinner"); + GL11.glPopMatrix(); + + if(chemplant.didProcess && recipe != null) { + int colors = 0; + int r = 0; + int g = 0; + int b = 0; + if(recipe.outputFluid != null) for(FluidStack stack : recipe.outputFluid) { + Color color = new Color(stack.type.getColor()); + r += color.getRed(); + g += color.getGreen(); + b += color.getBlue(); + colors++; + } + + if(colors == 0 && recipe.inputFluid != null) for(FluidStack stack : recipe.inputFluid) { + Color color = new Color(stack.type.getColor()); + r += color.getRed(); + g += color.getGreen(); + b += color.getBlue(); + colors++; + } + + if(colors > 0) { + bindTexture(ResourceManager.chemical_plant_fluid_tex); + + GL11.glPushMatrix(); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_BLEND); + GL11.glAlphaFunc(GL11.GL_GREATER, 0); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glColor4f(r / 255F / colors, g / 255F / colors, b / 255F / colors, 0.5F); + GL11.glDepthMask(false); + + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glLoadIdentity(); + GL11.glTranslated(-anim / 100F, BobMathUtil.sps(anim * 0.1) * 0.1 - 0.25, 0); + ResourceManager.chemical_plant.renderPart("Fluid"); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glLoadIdentity(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + + GL11.glDepthMask(true); + GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + + GL11.glPopMatrix(); + } + } + + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.machine_chemical_plant); + } + + @Override + public IItemRenderer getRenderer() { + + return new ItemRenderBase() { + + public void renderInventory() { + GL11.glTranslated(0, -2.75, 0); + GL11.glScaled(4.5, 4.5, 4.5); + } + public void renderCommonWithStack(ItemStack item) { + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(0.75, 0.75, 0.75); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.chemical_plant_tex); + ResourceManager.chemical_plant.renderPart("Base"); + ResourceManager.chemical_plant.renderPart("Slider"); + ResourceManager.chemical_plant.renderPart("Spinner"); + ResourceManager.chemical_plant.renderPart("Frame"); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderChemplant.java b/src/main/java/com/hbm/render/tileentity/RenderChemplant.java index 6a1a936ac..298c358d0 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderChemplant.java +++ b/src/main/java/com/hbm/render/tileentity/RenderChemplant.java @@ -5,12 +5,14 @@ import org.lwjgl.opengl.GL11; import com.hbm.blocks.BlockDummyable; import com.hbm.inventory.fluid.Fluids; import com.hbm.main.ResourceManager; +import com.hbm.util.Clock; import com.hbm.render.loader.HmfController; import com.hbm.tileentity.machine.TileEntityMachineChemplant; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; +@Deprecated public class RenderChemplant extends TileEntitySpecialRenderer { public RenderChemplant() { @@ -77,7 +79,7 @@ public class RenderChemplant extends TileEntitySpecialRenderer { bindTexture(ResourceManager.chemplant_spinner_tex); - int rotation = (int) (System.currentTimeMillis() % (360 * 5)) / 5; + int rotation = (int) (Clock.get_ms() % (360 * 5)) / 5; GL11.glPushMatrix(); GL11.glTranslated(-0.625, 0, 0.625); @@ -101,7 +103,7 @@ public class RenderChemplant extends TileEntitySpecialRenderer { ResourceManager.chemplant_spinner.renderAll(); GL11.glPopMatrix(); - double push = Math.sin((System.currentTimeMillis() % 2000) / 1000D * Math.PI) * 0.25 - 0.25; + double push = Math.sin((Clock.get_ms() % 2000) / 1000D * Math.PI) * 0.25 - 0.25; bindTexture(ResourceManager.chemplant_piston_tex); diff --git a/src/main/java/com/hbm/render/tileentity/RenderCompressorCompact.java b/src/main/java/com/hbm/render/tileentity/RenderCompressorCompact.java new file mode 100644 index 000000000..9e1eb9102 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderCompressorCompact.java @@ -0,0 +1,81 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import com.hbm.tileentity.machine.TileEntityMachineCompressorCompact; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderCompressorCompact extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { + + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + + switch(tileEntity.getBlockMetadata() - 10) { + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + TileEntityMachineCompressorCompact compressor = (TileEntityMachineCompressorCompact) tileEntity; + + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.compressor_compact_tex); + ResourceManager.condenser.renderPart("Condenser"); + + float rot = compressor.prevFanSpin + (compressor.fanSpin - compressor.prevFanSpin) * f; + + GL11.glPushMatrix(); + GL11.glTranslated(0,1.5, 0); + GL11.glRotatef(rot, 1, 0, 0); + GL11.glTranslated(0, -1.5, 0); + ResourceManager.condenser.renderPart("Fan1"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0,1.5, 0); + GL11.glRotatef(rot, -1, 0, 0); + GL11.glTranslated(0, -1.5, 0); + ResourceManager.condenser.renderPart("Fan2"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.machine_compressor_compact); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase( ) { + public void renderInventory() { + GL11.glTranslated(-1, -1, 0); + GL11.glScaled(2.75, 2.75, 2.75); + } + public void renderCommon() { + GL11.glScaled(0.75, 0.75, 0.75); + GL11.glTranslated(0.5, 0, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.compressor_compact_tex); ResourceManager.condenser.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } + }; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderCraneConsole.java b/src/main/java/com/hbm/render/tileentity/RenderCraneConsole.java index d06119605..87fc5309e 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderCraneConsole.java +++ b/src/main/java/com/hbm/render/tileentity/RenderCraneConsole.java @@ -22,12 +22,14 @@ public class RenderCraneConsole extends TileEntitySpecialRenderer { GL11.glDisable(GL11.GL_CULL_FACE); GL11.glEnable(GL11.GL_LIGHTING); + int teFacing = 0; switch(te.getBlockMetadata() - BlockDummyable.offset) { - case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; - case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; - case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; - case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 2: teFacing = 90; break; + case 4: teFacing = 180; break; + case 3: teFacing = 270; break; + case 5: teFacing = 0; break; } + GL11.glRotatef(teFacing, 0F, 1F, 0F); TileEntityCraneConsole console = (TileEntityCraneConsole) te; @@ -61,10 +63,10 @@ public class RenderCraneConsole extends TileEntitySpecialRenderer { ResourceManager.rbmk_crane_console.renderPart("Meter2"); GL11.glPopMatrix(); - bindTexture(ResourceManager.ks23_tex); + /*bindTexture(ResourceManager.ks23_tex); ResourceManager.rbmk_crane_console.renderPart("Shotgun"); bindTexture(ResourceManager.mini_nuke_tex); - ResourceManager.rbmk_crane_console.renderPart("MiniNuke"); + ResourceManager.rbmk_crane_console.renderPart("MiniNuke");*/ GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); @@ -99,27 +101,44 @@ public class RenderCraneConsole extends TileEntitySpecialRenderer { double cranePosZ = (-te.zCoord + console.centerZ); GL11.glTranslated(cranePosX, cranePosY, cranePosZ); - switch(te.getBlockMetadata() - BlockDummyable.offset) { - case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; - case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; - case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; - case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; - } + GL11.glRotatef(teFacing, 0F, 1F, 0F); double posX = (console.lastPosFront + (console.posFront - console.lastPosFront) * interp); double posZ = (console.lastPosLeft + (console.posLeft - console.lastPosLeft) * interp); - GL11.glTranslated(0, 0, posZ); + GL11.glTranslated(-posX, 0, posZ); + + int craneRotationOffset = ((TileEntityCraneConsole)te).craneRotationOffset; + GL11.glRotatef(craneRotationOffset, 0F, 1F, 0F); GL11.glPushMatrix(); - GL11.glTranslated(-console.spanL, height - 1, 0); + int girderSpan = 0; + GL11.glRotatef(-craneRotationOffset, 0F, 1F, 0F); + switch(craneRotationOffset) { + case 0: + girderSpan = console.spanF + console.spanB + 1; + GL11.glTranslated(posX + console.spanB, 0, 0); + break; + case 90: + girderSpan = console.spanL + console.spanR + 1; + GL11.glTranslated(0, 0, -posZ - console.spanR); + break; + case 180: + girderSpan = console.spanF + console.spanB + 1; + GL11.glTranslated(posX - console.spanF, 0, 0); + break; + case 270: + girderSpan = console.spanL + console.spanR + 1; + GL11.glTranslated(0, 0, -posZ + console.spanL); + break; + } + GL11.glRotatef(craneRotationOffset, 0F, 1F, 0F); - for(int i = -console.spanL; i <= console.spanR; i++) { + for(int i = 0; i < girderSpan; i++) { ResourceManager.rbmk_crane.renderPart("Girder"); - GL11.glTranslated(1, 0, 0); + GL11.glTranslated(-1, 0, 0); } GL11.glPopMatrix(); - GL11.glTranslated(-posX, 0, 0); ResourceManager.rbmk_crane.renderPart("Main"); GL11.glPushMatrix(); diff --git a/src/main/java/com/hbm/render/tileentity/RenderCrashedBomb.java b/src/main/java/com/hbm/render/tileentity/RenderCrashedBomb.java index ca7348bb4..2da5145d4 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderCrashedBomb.java +++ b/src/main/java/com/hbm/render/tileentity/RenderCrashedBomb.java @@ -1,38 +1,78 @@ package com.hbm.render.tileentity; +import java.util.Random; + import org.lwjgl.opengl.GL11; +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.bomb.BlockCrashedBomb.EnumDudType; import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import com.hbm.util.EnumUtil; +import com.hbm.util.fauxpointtwelve.BlockPos; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; -public class RenderCrashedBomb extends TileEntitySpecialRenderer { +public class RenderCrashedBomb extends TileEntitySpecialRenderer implements IItemRendererProvider { + + public static Random rand = new Random(); - @Override - public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) - { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y, z + 0.5D); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - switch(tileEntity.getBlockMetadata()) - { - case 5: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 2: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 4: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(0, 0F, 1F, 0F); break; - } + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + rand.setSeed(BlockPos.getIdentity(tile.xCoord, tile.yCoord, tile.zCoord)); + double yaw = rand.nextDouble() * 360; + double pitch = rand.nextDouble() * 45 + 45; + double roll = rand.nextDouble() * 360; + double offset = rand.nextDouble() * 2 - 1; - bindTexture(ResourceManager.dud_tex); - ResourceManager.dud.renderAll(); + GL11.glRotated(yaw, 0, 1, 0); + GL11.glRotated(pitch, 1, 0, 0); + GL11.glRotated(roll, 0, 0, 1); + GL11.glTranslated(0, 0, -offset); + + EnumDudType type = EnumUtil.grabEnumSafely(EnumDudType.class, tile.getBlockMetadata()); + GL11.glShadeModel(GL11.GL_SMOOTH); + if(type == EnumDudType.BALEFIRE) { bindTexture(ResourceManager.dud_balefire_tex); ResourceManager.dud_balefire.renderAll(); } + if(type == EnumDudType.CONVENTIONAL) { bindTexture(ResourceManager.dud_conventional_tex); ResourceManager.dud_conventional.renderAll(); } + if(type == EnumDudType.NUKE) { GL11.glTranslated(0, 0, 1.25); bindTexture(ResourceManager.dud_nuke_tex); ResourceManager.dud_nuke.renderAll(); } + if(type == EnumDudType.SALTED) { GL11.glTranslated(0, 0, 0.5); bindTexture(ResourceManager.dud_salted_tex); ResourceManager.dud_salted.renderAll(); } + GL11.glShadeModel(GL11.GL_FLAT); - GL11.glEnable(GL11.GL_CULL_FACE); - - GL11.glPopMatrix(); - } + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.crashed_balefire); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + + public void renderInventory() { + GL11.glTranslated(0, 3, 0); + GL11.glScaled(2.125, 2.125, 2.125); + GL11.glRotated(90, 0, 0, 1); + } + public void renderCommonWithStack(ItemStack item) { + EnumDudType type = EnumUtil.grabEnumSafely(EnumDudType.class, item.getItemDamage()); + GL11.glRotated(90, 0, 1, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + if(type == EnumDudType.BALEFIRE) { bindTexture(ResourceManager.dud_balefire_tex); ResourceManager.dud_balefire.renderAll(); } + if(type == EnumDudType.CONVENTIONAL) { GL11.glTranslated(0, 0, -0.5); bindTexture(ResourceManager.dud_conventional_tex); ResourceManager.dud_conventional.renderAll(); } + if(type == EnumDudType.NUKE) { GL11.glTranslated(0, 0, 1.25); bindTexture(ResourceManager.dud_nuke_tex); ResourceManager.dud_nuke.renderAll(); } + if(type == EnumDudType.SALTED) { GL11.glTranslated(0, 0, 0.5); bindTexture(ResourceManager.dud_salted_tex); ResourceManager.dud_salted.renderAll(); } + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } } diff --git a/src/main/java/com/hbm/render/tileentity/RenderDecoBlock.java b/src/main/java/com/hbm/render/tileentity/RenderDecoBlock.java index 00cdc05fa..ddcdafaee 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderDecoBlock.java +++ b/src/main/java/com/hbm/render/tileentity/RenderDecoBlock.java @@ -6,386 +6,238 @@ import com.hbm.blocks.ModBlocks; import com.hbm.lib.RefStrings; import com.hbm.main.ResourceManager; import com.hbm.render.model.ModelBroadcaster; -import com.hbm.render.model.ModelGeiger; import com.hbm.render.model.ModelRadio; -import com.hbm.render.model.ModelSteelBeam; -import com.hbm.render.model.ModelSteelCorner; import com.hbm.render.model.ModelSteelRoof; -import com.hbm.render.model.ModelSteelScaffold; -import com.hbm.render.model.ModelSteelWall; +import net.minecraft.block.Block; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; public class RenderDecoBlock extends TileEntitySpecialRenderer { - private static final ResourceLocation texture1 = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/SteelWall.png"); - private static final ResourceLocation texture2 = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/SteelCorner.png"); private static final ResourceLocation texture3 = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/SteelRoof.png"); - private static final ResourceLocation texture4 = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/SteelBeam.png"); - private static final ResourceLocation texture5 = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/SteelScaffold.png"); private static final ResourceLocation texture6 = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/ModelBroadcaster.png"); private static final ResourceLocation texture7 = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/ModelRadio.png"); private static final ResourceLocation texture8 = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/ModelRadioReceiver.png"); - private static final ResourceLocation texture9 = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/ModelGeiger.png"); - - private ModelSteelWall model1; - private ModelSteelCorner model2; + private ModelSteelRoof model3; - private ModelSteelBeam model4; - private ModelSteelScaffold model5; private ModelBroadcaster model6; private ModelRadio model7; - private ModelGeiger model8; - + public RenderDecoBlock() { - this.model1 = new ModelSteelWall(); - this.model2 = new ModelSteelCorner(); this.model3 = new ModelSteelRoof(); - this.model4 = new ModelSteelBeam(); - this.model5 = new ModelSteelScaffold(); this.model6 = new ModelBroadcaster(); this.model7 = new ModelRadio(); - this.model8 = new ModelGeiger(); } - + @Override public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { GL11.glPushMatrix(); - GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + GL11.glRotatef(180, 0F, 0F, 1F); + + GL11.glEnable(GL11.GL_LIGHTING); + + Block b = tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord); + + if(b == ModBlocks.steel_roof) { + this.bindTexture(texture3); + } + if(b == ModBlocks.broadcaster_pc) { + this.bindTexture(texture6); + switch(tileentity.getBlockMetadata()) + { + case 4: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 2: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(0, 0F, 1F, 0F); break; + } + } + if(b == ModBlocks.radiorec) { + this.bindTexture(texture8); + switch(tileentity.getBlockMetadata()) + { + case 4: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 2: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(0, 0F, 1F, 0F); break; + } + } + if(b == ModBlocks.radiobox) { + this.bindTexture(texture7); + switch(tileentity.getBlockMetadata()) + { + case 4: + case 8: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 2: + case 6: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 5: + case 9: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: + case 7: GL11.glRotatef(180, 0F, 1F, 0F); break; + } + GL11.glTranslatef(0, 0, 1); + } + + GL11.glPushMatrix(); + if(b == ModBlocks.steel_roof) this.model3.renderModel(0.0625F); + if(b == ModBlocks.broadcaster_pc) this.model6.renderModel(0.0625F); + if(b == ModBlocks.radiobox) this.model7.renderModel(0.0625F, tileentity.getBlockMetadata() > 5 ? 160 : 20); + if(b == ModBlocks.radiorec) this.model6.renderModel(0.0625F); + GL11.glPopMatrix(); + + if(b == ModBlocks.boxcar) { + GL11.glRotatef(180, 0F, 0F, 1F); - - GL11.glEnable(GL11.GL_LIGHTING); - - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_wall) - { - this.bindTexture(texture1); - switch(tileentity.getBlockMetadata()) - { - case 4: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 2: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(0, 0F, 1F, 0F); break; - } - } - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_corner) - { - this.bindTexture(texture2); - switch(tileentity.getBlockMetadata()) - { - case 4: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 2: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(0, 0F, 1F, 0F); break; - } - } - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_roof) - { - this.bindTexture(texture3); - } - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_beam) - { - this.bindTexture(texture4); - } - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_scaffold) - { - this.bindTexture(texture5); - switch(tileentity.getBlockMetadata()) - { - case 4: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 2: - GL11.glRotatef(0, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(0, 0F, 1F, 0F); break; - } - } - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.broadcaster_pc) - { - this.bindTexture(texture6); - switch(tileentity.getBlockMetadata()) - { - case 4: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 2: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(0, 0F, 1F, 0F); break; - } - } - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.geiger) - { - this.bindTexture(texture9); - switch(tileentity.getBlockMetadata()) - { - case 4: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 2: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(0, 0F, 1F, 0F); break; - } - } - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.radiorec) - { - this.bindTexture(texture8); - switch(tileentity.getBlockMetadata()) - { - case 4: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 2: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(0, 0F, 1F, 0F); break; - } - } - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.radiobox) - { - this.bindTexture(texture7); - switch(tileentity.getBlockMetadata()) - { - case 4: - case 8: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 2: - case 6: - GL11.glRotatef(0, 0F, 1F, 0F); break; - case 5: - case 9: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 3: - case 7: - GL11.glRotatef(180, 0F, 1F, 0F); break; - } - GL11.glTranslatef(0, 0, 1); - } - - GL11.glPushMatrix(); - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_wall) - this.model1.renderModel(0.0625F); - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_corner) - this.model2.renderModel(0.0625F); - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_roof) - this.model3.renderModel(0.0625F); - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_beam) - this.model4.renderModel(0.0625F); - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.steel_scaffold) - this.model5.renderModel(0.0625F); - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.broadcaster_pc) - this.model6.renderModel(0.0625F); - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.geiger) - this.model8.renderModel(0.0625F); - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.radiobox) - this.model7.renderModel(0.0625F, tileentity.getBlockMetadata() > 5 ? 160 : 20); - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.radiorec) - this.model6.renderModel(0.0625F); - GL11.glPopMatrix(); - - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.boxcar) { + GL11.glTranslatef(0, -1.5F, 0); + switch(tileentity.getBlockMetadata()) { + case 4: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 2: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(90, 0F, 1F, 0F); break; + default: GL11.glRotatef(180, 0F, 0F, 1F); - GL11.glTranslatef(0, -1.5F, 0); - - switch(tileentity.getBlockMetadata()) { - case 4: GL11.glRotatef(0, 0F, 1F, 0F); break; - case 2: GL11.glRotatef(270, 0F, 1F, 0F); break; - case 5: GL11.glRotatef(180, 0F, 1F, 0F); break; - case 3: GL11.glRotatef(90, 0F, 1F, 0F); break; - default: - GL11.glRotatef(180, 0F, 0F, 1F); - GL11.glRotated(90, 1, 0, 0); - GL11.glTranslatef(0, -1.5F, 0); - break; - } - - GL11.glEnable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.boxcar_tex); - ResourceManager.boxcar.renderAll(); + GL11.glRotated(90, 1, 0, 0); + GL11.glTranslatef(0, -1.5F, 0); break; } - - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.boat) { - GL11.glRotatef(180, 0F, 0F, 1F); - GL11.glTranslatef(0, 0, -1.5F); - GL11.glTranslatef(0, 0.5F, 0); - GL11.glEnable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.duchessgambit_tex); - ResourceManager.duchessgambit.renderAll(); + GL11.glEnable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.boxcar_tex); + ResourceManager.boxcar.renderAll(); + } + + if(b == ModBlocks.boat) { + GL11.glRotatef(180, 0F, 0F, 1F); + GL11.glTranslatef(0, 0, -1.5F); + GL11.glTranslatef(0, 0.5F, 0); + + GL11.glEnable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.duchessgambit_tex); + ResourceManager.duchessgambit.renderAll(); + } + + if(b == ModBlocks.sat_radar) { + GL11.glRotatef(180, 0F, 0F, 1F); + GL11.glTranslatef(0, -1.5F, 0); + GL11.glRotated(90, 0, 1, 0); + + switch(tileentity.getBlockMetadata()) { + case 4: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 2: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(0, 0F, 1F, 0F); break; } - - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.sat_radar) { - GL11.glRotatef(180, 0F, 0F, 1F); - GL11.glTranslatef(0, -1.5F, 0); - GL11.glRotated(90, 0, 1, 0); - - switch(tileentity.getBlockMetadata()) - { - case 4: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 2: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(0, 0F, 1F, 0F); break; - } + GL11.glEnable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.sat_base_tex); + ResourceManager.sat_base.renderAll(); + bindTexture(ResourceManager.sat_radar_tex); + ResourceManager.sat_radar.renderAll(); + } - GL11.glEnable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.sat_base_tex); - ResourceManager.sat_base.renderAll(); - bindTexture(ResourceManager.sat_radar_tex); - ResourceManager.sat_radar.renderAll(); + if(b == ModBlocks.sat_resonator) { + GL11.glRotatef(180, 0F, 0F, 1F); + GL11.glTranslatef(0, -1.5F, 0); + GL11.glRotated(90, 0, 1, 0); + + switch(tileentity.getBlockMetadata()) { + case 4: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 2: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(0, 0F, 1F, 0F); break; } - - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.sat_resonator) { - GL11.glRotatef(180, 0F, 0F, 1F); - GL11.glTranslatef(0, -1.5F, 0); - GL11.glRotated(90, 0, 1, 0); - - switch(tileentity.getBlockMetadata()) - { - case 4: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 2: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(0, 0F, 1F, 0F); break; - } + GL11.glEnable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.sat_base_tex); + ResourceManager.sat_base.renderAll(); + bindTexture(ResourceManager.sat_resonator_tex); + ResourceManager.sat_resonator.renderAll(); + } - GL11.glEnable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.sat_base_tex); - ResourceManager.sat_base.renderAll(); - bindTexture(ResourceManager.sat_resonator_tex); - ResourceManager.sat_resonator.renderAll(); + if(b == ModBlocks.sat_scanner) { + GL11.glRotatef(180, 0F, 0F, 1F); + GL11.glTranslatef(0, -1.5F, 0); + GL11.glRotated(90, 0, 1, 0); + + switch(tileentity.getBlockMetadata()) { + case 4: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 2: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(0, 0F, 1F, 0F); break; } - - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.sat_scanner) { - GL11.glRotatef(180, 0F, 0F, 1F); - GL11.glTranslatef(0, -1.5F, 0); - GL11.glRotated(90, 0, 1, 0); - - switch(tileentity.getBlockMetadata()) - { - case 4: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 2: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(0, 0F, 1F, 0F); break; - } + GL11.glEnable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.sat_base_tex); + ResourceManager.sat_base.renderAll(); + bindTexture(ResourceManager.sat_scanner_tex); + ResourceManager.sat_scanner.renderAll(); + } - GL11.glEnable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.sat_base_tex); - ResourceManager.sat_base.renderAll(); - bindTexture(ResourceManager.sat_scanner_tex); - ResourceManager.sat_scanner.renderAll(); + if(b == ModBlocks.sat_mapper) { + GL11.glRotatef(180, 0F, 0F, 1F); + GL11.glTranslatef(0, -1.5F, 0); + GL11.glRotated(90, 0, 1, 0); + + switch(tileentity.getBlockMetadata()) { + case 4: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 2: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(0, 0F, 1F, 0F); break; } - - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.sat_mapper) { - GL11.glRotatef(180, 0F, 0F, 1F); - GL11.glTranslatef(0, -1.5F, 0); - GL11.glRotated(90, 0, 1, 0); - - switch(tileentity.getBlockMetadata()) - { - case 4: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 2: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(0, 0F, 1F, 0F); break; - } + GL11.glEnable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.sat_base_tex); + ResourceManager.sat_base.renderAll(); + bindTexture(ResourceManager.sat_mapper_tex); + ResourceManager.sat_mapper.renderAll(); + } - GL11.glEnable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.sat_base_tex); - ResourceManager.sat_base.renderAll(); - bindTexture(ResourceManager.sat_mapper_tex); - ResourceManager.sat_mapper.renderAll(); + if(b == ModBlocks.sat_laser) { + GL11.glRotatef(180, 0F, 0F, 1F); + GL11.glTranslatef(0, -1.5F, 0); + GL11.glRotated(90, 0, 1, 0); + + switch(tileentity.getBlockMetadata()) { + case 4: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 2: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(0, 0F, 1F, 0F); break; } - - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.sat_laser) { - GL11.glRotatef(180, 0F, 0F, 1F); - GL11.glTranslatef(0, -1.5F, 0); - GL11.glRotated(90, 0, 1, 0); - - switch(tileentity.getBlockMetadata()) - { - case 4: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 2: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(0, 0F, 1F, 0F); break; - } + GL11.glEnable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.sat_base_tex); + ResourceManager.sat_base.renderAll(); + bindTexture(ResourceManager.sat_laser_tex); + ResourceManager.sat_laser.renderAll(); + } - GL11.glEnable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.sat_base_tex); - ResourceManager.sat_base.renderAll(); - bindTexture(ResourceManager.sat_laser_tex); - ResourceManager.sat_laser.renderAll(); + if(b == ModBlocks.sat_foeq) { + GL11.glRotatef(180, 0F, 0F, 1F); + GL11.glTranslatef(0, -1.5F, 0); + GL11.glRotated(90, 0, 1, 0); + + switch(tileentity.getBlockMetadata()) { + case 4: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 2: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(0, 0F, 1F, 0F); break; } - - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.sat_foeq) { - GL11.glRotatef(180, 0F, 0F, 1F); - GL11.glTranslatef(0, -1.5F, 0); - GL11.glRotated(90, 0, 1, 0); - - switch(tileentity.getBlockMetadata()) - { - case 4: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 2: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(0, 0F, 1F, 0F); break; - } + GL11.glEnable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.sat_foeq_tex); + ResourceManager.sat_foeq.renderAll(); + } + + if(b == ModBlocks.sat_dock) { + GL11.glRotatef(180, 0F, 0F, 1F); + GL11.glTranslatef(0, -1.5F, 0); + + bindTexture(ResourceManager.satdock_tex); + ResourceManager.satDock.renderAll(); + } - GL11.glEnable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.sat_foeq_tex); - ResourceManager.sat_foeq.renderAll(); - } - - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.sat_dock) { - GL11.glRotatef(180, 0F, 0F, 1F); - GL11.glTranslatef(0, -1.5F, 0); - - bindTexture(ResourceManager.satdock_tex); - ResourceManager.satDock.renderAll(); - } - GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/render/tileentity/RenderEPress.java b/src/main/java/com/hbm/render/tileentity/RenderEPress.java index 987ab9a0a..cf8915ef8 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderEPress.java +++ b/src/main/java/com/hbm/render/tileentity/RenderEPress.java @@ -2,6 +2,7 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; +import com.hbm.blocks.BlockDummyable; import com.hbm.main.ResourceManager; import com.hbm.render.util.RenderDecoItem; import com.hbm.tileentity.machine.TileEntityMachineEPress; @@ -28,7 +29,7 @@ public class RenderEPress extends TileEntitySpecialRenderer { GL11.glEnable(GL11.GL_LIGHTING); GL11.glRotatef(180, 0F, 1F, 0F); - switch(tileentity.getBlockMetadata()) { + switch(tileentity.getBlockMetadata() - BlockDummyable.offset) { case 2: GL11.glRotatef(270, 0F, 1F, 0F); break; case 4: GL11.glRotatef(0, 0F, 1F, 0F); break; case 3: GL11.glRotatef(90, 0F, 1F, 0F); break; @@ -50,7 +51,7 @@ public class RenderEPress extends TileEntitySpecialRenderer { GL11.glEnable(GL11.GL_LIGHTING); GL11.glRotatef(180, 0F, 1F, 0F); - switch(tileentity.getBlockMetadata()) { + switch(tileentity.getBlockMetadata() - BlockDummyable.offset) { case 2: GL11.glRotatef(270, 0F, 1F, 0F); break; case 4: GL11.glRotatef(0, 0F, 1F, 0F); break; case 3: GL11.glRotatef(90, 0F, 1F, 0F); break; @@ -78,7 +79,7 @@ public class RenderEPress extends TileEntitySpecialRenderer { GL11.glEnable(GL11.GL_LIGHTING); GL11.glRotatef(180, 0F, 1F, 0F); - switch(tileentity.getBlockMetadata()) { + switch(tileentity.getBlockMetadata() - BlockDummyable.offset) { case 2: GL11.glRotatef(270, 0F, 1F, 0F); break; case 4: diff --git a/src/main/java/com/hbm/render/tileentity/RenderFluidPump.java b/src/main/java/com/hbm/render/tileentity/RenderFluidPump.java new file mode 100644 index 000000000..c38bf6527 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderFluidPump.java @@ -0,0 +1,59 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderFluidPump extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y, z + 0.5); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + switch(tile.getBlockMetadata()) { + case 2: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(90, 0F, 1F, 0F); break; + } + + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.fluid_pump_tex); + ResourceManager.fluid_pump.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.fluid_pump); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -2, 0); + GL11.glScaled(5, 5, 5); + } + public void renderCommon() { + GL11.glScaled(2, 2, 2); + GL11.glRotatef(90, 0F, 1F, 0F); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.fluid_pump_tex); + ResourceManager.fluid_pump.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderFluidTank.java b/src/main/java/com/hbm/render/tileentity/RenderFluidTank.java index aba2c7f91..924bd7998 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderFluidTank.java +++ b/src/main/java/com/hbm/render/tileentity/RenderFluidTank.java @@ -75,14 +75,15 @@ public class RenderFluidTank extends TileEntitySpecialRenderer implements IItemR DiamondPronter.pront(type.poison, type.flammability, type.reactivity, type.symbol); GL11.glPopMatrix(); } - + + GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPopMatrix(); RenderHelper.enableStandardItemLighting(); } public String getTextureFromType(FluidType type) { - if(type.customFluid) { + if(type.renderWithTint) { int color = type.getTint(); double r = ((color & 0xff0000) >> 16) / 255D; double g = ((color & 0x00ff00) >> 8) / 255D; diff --git a/src/main/java/com/hbm/render/tileentity/RenderGeiger.java b/src/main/java/com/hbm/render/tileentity/RenderGeiger.java new file mode 100644 index 000000000..1fe30607e --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderGeiger.java @@ -0,0 +1,61 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; +public class RenderGeiger extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + switch(tileEntity.getBlockMetadata()) { + case 2: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(270, 0F, 1F, 0F); break; + } + + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.geiger_tex); + ResourceManager.geiger.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glEnable(GL11.GL_CULL_FACE); + + GL11.glPopMatrix(); + } + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.geiger); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glScaled(10, 10, 10); + } + + public void renderCommon() { + GL11.glTranslated(0.2F, 0, 0); + GL11.glRotated(90, 0, 1, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glDisable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.geiger_tex); + ResourceManager.geiger.renderAll(); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_FLAT); + } + }; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderIntake.java b/src/main/java/com/hbm/render/tileentity/RenderIntake.java new file mode 100644 index 000000000..034915190 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderIntake.java @@ -0,0 +1,68 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import com.hbm.tileentity.machine.TileEntityMachineIntake; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderIntake extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { + + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + + switch(tileEntity.getBlockMetadata() - 10) { + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + GL11.glTranslated(-0.5, 0, 0.5); + + TileEntityMachineIntake compressor = (TileEntityMachineIntake) tileEntity; + + bindTexture(ResourceManager.intake_tex); + ResourceManager.intake.renderPart("Base"); + + float rot = compressor.prevFan + (compressor.fan - compressor.prevFan) * f; + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, 0); + GL11.glRotatef(-rot, 0, 1, 0); + GL11.glTranslated(0, 0, 0); + ResourceManager.intake.renderPart("Fan"); + GL11.glPopMatrix(); + + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.machine_intake); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase( ) { + public void renderInventory() { + GL11.glScaled(5, 5, 5); + } + public void renderCommon() { + bindTexture(ResourceManager.intake_tex); ResourceManager.intake.renderAll(); + } + }; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderLPW2.java b/src/main/java/com/hbm/render/tileentity/RenderLPW2.java index bb5e674f0..4e4eacf41 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderLPW2.java +++ b/src/main/java/com/hbm/render/tileentity/RenderLPW2.java @@ -139,7 +139,7 @@ public class RenderLPW2 extends TileEntitySpecialRenderer { GL11.glMatrixMode(GL11.GL_TEXTURE); GL11.glLoadIdentity(); - GL11.glTranslated(0, BobMathUtil.sps(errorTimer) + errorTimer / 2D - 1, 0); + GL11.glTranslated(0, (BobMathUtil.sps(errorTimer) + errorTimer / 2D) % 1, 0); ResourceManager.lpw2.renderPart("Screen"); GL11.glMatrixMode(GL11.GL_TEXTURE); GL11.glLoadIdentity(); diff --git a/src/main/java/com/hbm/render/tileentity/RenderLandmine.java b/src/main/java/com/hbm/render/tileentity/RenderLandmine.java index 33314bb68..d2889e9e7 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderLandmine.java +++ b/src/main/java/com/hbm/render/tileentity/RenderLandmine.java @@ -1,6 +1,7 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; import com.hbm.blocks.ModBlocks; import com.hbm.main.ResourceManager; @@ -8,6 +9,7 @@ import com.hbm.main.ResourceManager; import net.minecraft.block.Block; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.biome.BiomeGenBase; public class RenderLandmine extends TileEntitySpecialRenderer { @@ -17,15 +19,20 @@ public class RenderLandmine extends TileEntitySpecialRenderer { GL11.glTranslated(x + 0.5D, y, z + 0.5D); GL11.glEnable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); GL11.glRotatef(180, 0F, 1F, 0F); Block block = tileEntity.getWorldObj().getBlock(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord); if(block == ModBlocks.mine_ap) { - GL11.glTranslated(0, -0.075, 0); - GL11.glScaled(1.5D, 1.5D, 1.5D); - bindTexture(ResourceManager.mine_ap_tex); + GL11.glScaled(0.375D, 0.375D, 0.375D); + GL11.glTranslated(0, -0.0625 * 3.5, 0); + BiomeGenBase biome = tileEntity.getWorldObj().getBiomeGenForCoords(tileEntity.xCoord, tileEntity.zCoord); + if(tileEntity.getWorldObj().getHeightValue(tileEntity.xCoord, tileEntity.zCoord) > tileEntity.yCoord + 2) bindTexture(ResourceManager.mine_ap_stone_tex); + else if(biome.getEnableSnow()) bindTexture(ResourceManager.mine_ap_snow_tex); + else if(biome.temperature >= 1.5F && biome.rainfall <= 0.1F) bindTexture(ResourceManager.mine_ap_desert_tex); + else bindTexture(ResourceManager.mine_ap_grass_tex); ResourceManager.mine_ap.renderAll(); } if(block == ModBlocks.mine_he) { @@ -36,14 +43,25 @@ public class RenderLandmine extends TileEntitySpecialRenderer { GL11.glShadeModel(GL11.GL_FLAT); } if(block == ModBlocks.mine_shrap) { + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + GL11.glScaled(0.375D, 0.375D, 0.375D); + GL11.glTranslated(0, -0.0625 * 3.5, 0); bindTexture(ResourceManager.mine_shrap_tex); - ResourceManager.mine_he.renderAll(); + ResourceManager.mine_ap.renderAll(); } if(block == ModBlocks.mine_fat) { GL11.glScaled(0.25D, 0.25D, 0.25D); bindTexture(ResourceManager.mine_fat_tex); ResourceManager.mine_fat.renderAll(); } + if(block == ModBlocks.mine_naval) { + GL11.glScaled(1D, 1D, 1D); + GL11.glTranslated(0,0.5,0); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.mine_naval_tex); + ResourceManager.mine_naval.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPopMatrix(); diff --git a/src/main/java/com/hbm/render/tileentity/RenderLoot.java b/src/main/java/com/hbm/render/tileentity/RenderLoot.java index 43885b66b..738152d74 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderLoot.java +++ b/src/main/java/com/hbm/render/tileentity/RenderLoot.java @@ -6,10 +6,8 @@ import org.lwjgl.opengl.GL12; import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; import com.hbm.items.ModItems; import com.hbm.items.armor.ArmorTrenchmaster; -import com.hbm.lib.RefStrings; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.main.ResourceManager; -import com.hbm.render.model.ModelFatman; -import com.hbm.render.model.ModelLeverAction; import com.hbm.util.Tuple.Quartet; import net.minecraft.client.Minecraft; @@ -22,7 +20,6 @@ import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; public class RenderLoot extends TileEntitySpecialRenderer { @@ -42,13 +39,10 @@ public class RenderLoot extends TileEntitySpecialRenderer { GL11.glPushMatrix(); GL11.glTranslated(item.getX(), item.getY(), item.getZ()); - if(stack.getItem() == ModItems.ammo_nuke) { + if(stack.getItem() == ModItems.ammo_standard && stack.getItemDamage() >= EnumAmmo.NUKE_STANDARD.ordinal() && stack.getItemDamage() <= EnumAmmo.NUKE_HIVE.ordinal()) { renderNuke(); - } else if(stack.getItem() == ModItems.gun_fatman || stack.getItem() == ModItems.gun_proto || stack.getItem() == ModItems.gun_mirv) { - renderLauncher(); - - } else if(stack.getItem() == ModItems.gun_lever_action) { + } else if(stack.getItem() == ModItems.gun_maresleg) { renderShotgun(); } else if(stack.getItem() instanceof ArmorTrenchmaster) { @@ -123,35 +117,17 @@ public class RenderLoot extends TileEntitySpecialRenderer { GL11.glShadeModel(GL11.GL_FLAT); } - protected ModelFatman launcher; - private void renderLauncher() { - - if(launcher == null) - launcher = new ModelFatman(); - - GL11.glRotated(180, 1, 0, 0); - GL11.glRotated(3, 0, 0, 1); - GL11.glTranslated(0.5, -0.3751, -0.625); - - bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/FatmanLauncher.png")); - launcher.render(null, 0F, 0F, 0F, 0F, 0F, 0.0625F, new ItemStack(ModItems.gun_fatman)); - } - - protected ModelLeverAction shotgun; private void renderShotgun() { - GL11.glScaled(0.5, 0.5, 0.5); - GL11.glTranslated(1, 0, 0); + GL11.glScaled(0.125, 0.125, 0.125); + GL11.glTranslated(3, 0, 0); GL11.glRotated(25, 0, 1, 0); GL11.glRotated(90, 1, 0, 0); GL11.glRotated(90, 0, 1, 0); GL11.glEnable(GL12.GL_RESCALE_NORMAL); - bindTexture(ResourceManager.ff_wood); - ResourceManager.ff_maresleg.renderPart("Grip"); - bindTexture(ResourceManager.ff_gun_bright); - ResourceManager.ff_maresleg.renderPart("Gun"); - ResourceManager.ff_maresleg.renderPart("Lever"); + bindTexture(ResourceManager.maresleg_tex); + ResourceManager.maresleg.renderAll(); GL11.glDisable(GL12.GL_RESCALE_NORMAL); } diff --git a/src/main/java/com/hbm/render/tileentity/RenderNukeFleija.java b/src/main/java/com/hbm/render/tileentity/RenderNukeFleija.java index 92a8d9834..1fb6f24e7 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderNukeFleija.java +++ b/src/main/java/com/hbm/render/tileentity/RenderNukeFleija.java @@ -2,12 +2,16 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; +import com.hbm.blocks.ModBlocks; import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; -public class RenderNukeFleija extends TileEntitySpecialRenderer { +public class RenderNukeFleija extends TileEntitySpecialRenderer implements IItemRendererProvider { @Override public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) @@ -27,10 +31,32 @@ public class RenderNukeFleija extends TileEntitySpecialRenderer { GL11.glRotatef(0, 0F, 1F, 0F); break; } + GL11.glShadeModel(GL11.GL_SMOOTH); bindTexture(ResourceManager.bomb_fleija_tex); ResourceManager.bomb_fleija.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); GL11.glPopMatrix(); } + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.nuke_fleija); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glScaled(6.8, 6.8, 6.8); + } + public void renderCommon() { + GL11.glTranslated(0.125, 0, 0); + GL11.glRotatef(90, 0F, 1F, 0F); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.bomb_fleija_tex); + ResourceManager.bomb_fleija.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } } diff --git a/src/main/java/com/hbm/render/tileentity/RenderNukeN2.java b/src/main/java/com/hbm/render/tileentity/RenderNukeN2.java index 9f0c1f293..1b1a19975 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderNukeN2.java +++ b/src/main/java/com/hbm/render/tileentity/RenderNukeN2.java @@ -2,40 +2,58 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; +import com.hbm.blocks.ModBlocks; import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; -public class RenderNukeN2 extends TileEntitySpecialRenderer { +public class RenderNukeN2 extends TileEntitySpecialRenderer implements IItemRendererProvider { - @Override - public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) - { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y, z + 0.5D); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - - GL11.glRotatef(180, 0F, 1F, 0F); - - switch(tileEntity.getBlockMetadata()) - { - case 2: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 4: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(0, 0F, 1F, 0F); break; + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glRotatef(90, 0F, 1F, 0F); + + switch(tileEntity.getBlockMetadata()) { + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; } - bindTexture(ResourceManager.n2_tex); - ResourceManager.n2.renderAll(); - - GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.n2_tex); + ResourceManager.n2.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); - GL11.glPopMatrix(); - } + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.nuke_n2); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -5, 0); + GL11.glScaled(2.25, 2.25, 2.25); + } + public void renderCommon() { + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.n2_tex); ResourceManager.n2.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glEnable(GL11.GL_CULL_FACE); + }}; + } } diff --git a/src/main/java/com/hbm/render/tileentity/RenderNukePrototype.java b/src/main/java/com/hbm/render/tileentity/RenderNukePrototype.java index cfcfcb674..ecc6730ad 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderNukePrototype.java +++ b/src/main/java/com/hbm/render/tileentity/RenderNukePrototype.java @@ -1,5 +1,9 @@ package com.hbm.render.tileentity; +import com.hbm.blocks.ModBlocks; +import com.hbm.render.item.ItemRenderBase; +import net.minecraft.item.Item; +import net.minecraftforge.client.IItemRenderer; import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; @@ -7,7 +11,7 @@ import com.hbm.main.ResourceManager; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; -public class RenderNukePrototype extends TileEntitySpecialRenderer { +public class RenderNukePrototype extends TileEntitySpecialRenderer implements IItemRendererProvider { @Override public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) @@ -27,13 +31,39 @@ public class RenderNukePrototype extends TileEntitySpecialRenderer { case 3: GL11.glRotatef(0, 0F, 1F, 0F); break; } - + GL11.glShadeModel(GL11.GL_SMOOTH); bindTexture(ResourceManager.bomb_prototype_tex); ResourceManager.bomb_prototype.renderAll(); - + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPopMatrix(); } + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.nuke_prototype); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, 0.125, 0); + GL11.glScaled(3, 3, 3); + } + + public void renderCommon() { + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, 0.125, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glDisable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.bomb_prototype_tex); + ResourceManager.bomb_prototype.renderAll(); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_FLAT); + } + }; + } } diff --git a/src/main/java/com/hbm/render/tileentity/RenderNukeSolinium.java b/src/main/java/com/hbm/render/tileentity/RenderNukeSolinium.java index 44e9cb120..bf05c4d26 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderNukeSolinium.java +++ b/src/main/java/com/hbm/render/tileentity/RenderNukeSolinium.java @@ -1,5 +1,9 @@ package com.hbm.render.tileentity; +import com.hbm.blocks.ModBlocks; +import com.hbm.render.item.ItemRenderBase; +import net.minecraft.item.Item; +import net.minecraftforge.client.IItemRenderer; import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; @@ -7,8 +11,8 @@ import com.hbm.main.ResourceManager; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; -public class RenderNukeSolinium extends TileEntitySpecialRenderer { - +public class RenderNukeSolinium extends TileEntitySpecialRenderer implements IItemRendererProvider { + public RenderNukeSolinium() { } @Override @@ -18,9 +22,9 @@ public class RenderNukeSolinium extends TileEntitySpecialRenderer { GL11.glTranslated(x + 0.5D, y, z + 0.5D); GL11.glEnable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_CULL_FACE); - + GL11.glRotatef(90, 0F, 1F, 0F); - + switch(tileEntity.getBlockMetadata()) { case 2: @@ -32,12 +36,39 @@ public class RenderNukeSolinium extends TileEntitySpecialRenderer { case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; } - + GL11.glShadeModel(GL11.GL_SMOOTH); bindTexture(ResourceManager.bomb_solinium_tex); ResourceManager.bomb_solinium.renderAll(); - + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPopMatrix(); } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.nuke_solinium); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -0.125, 0); + GL11.glScaled(5, 5, 5); + } + + public void renderCommon() { + GL11.glRotated(90, 0, 1, 0); + GL11.glTranslated(0, -0.125, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glDisable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.bomb_solinium_tex); + ResourceManager.bomb_solinium.renderAll(); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_FLAT); + } + }; + } } diff --git a/src/main/java/com/hbm/render/tileentity/RenderPABeamline.java b/src/main/java/com/hbm/render/tileentity/RenderPABeamline.java new file mode 100644 index 000000000..0d4f3a7d3 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderPABeamline.java @@ -0,0 +1,60 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderPABeamline extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float f) { + + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + switch(tile.getBlockMetadata() - BlockDummyable.offset) { + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + } + + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.pa_beamline_tex); + ResourceManager.pa_beamline.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.pa_beamline); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + double scale = 4; + GL11.glScaled(scale, scale, scale); + } + public void renderCommon() { + GL11.glRotated(90, 0, 1, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.pa_beamline_tex); + ResourceManager.pa_beamline.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderPADetector.java b/src/main/java/com/hbm/render/tileentity/RenderPADetector.java new file mode 100644 index 000000000..7ebdcbdda --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderPADetector.java @@ -0,0 +1,63 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderPADetector extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float f) { + + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y - 2D, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + switch(tile.getBlockMetadata() - BlockDummyable.offset) { + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + } + + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.pa_detector_tex); + ResourceManager.pa_detector.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.pa_detector); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -1, 0); + double scale = 3; + GL11.glScaled(scale, scale, scale); + } + public void renderCommon() { + double scale = 0.5; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.pa_detector_tex); + ResourceManager.pa_detector.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderPADipole.java b/src/main/java/com/hbm/render/tileentity/RenderPADipole.java new file mode 100644 index 000000000..879a9664c --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderPADipole.java @@ -0,0 +1,52 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderPADipole extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float f) { + + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y - 1D, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.pa_dipole_tex); + ResourceManager.pa_dipole.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.pa_dipole); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -3, 0); + double scale = 3.5; + GL11.glScaled(scale, scale, scale); + } + public void renderCommon() { + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.pa_dipole_tex); + ResourceManager.pa_dipole.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderPAQuadrupole.java b/src/main/java/com/hbm/render/tileentity/RenderPAQuadrupole.java new file mode 100644 index 000000000..5176817dc --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderPAQuadrupole.java @@ -0,0 +1,61 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderPAQuadrupole extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float f) { + + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y - 1D, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + switch(tile.getBlockMetadata() - BlockDummyable.offset) { + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + } + + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.pa_quadrupole_tex); + ResourceManager.pa_quadrupole.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.pa_quadrupole); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -3.5, 0); + double scale = 4; + GL11.glScaled(scale, scale, scale); + } + public void renderCommon() { + GL11.glRotated(90, 0, 1, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.pa_quadrupole_tex); + ResourceManager.pa_quadrupole.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderPARFC.java b/src/main/java/com/hbm/render/tileentity/RenderPARFC.java new file mode 100644 index 000000000..ec2bf3597 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderPARFC.java @@ -0,0 +1,63 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderPARFC extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float f) { + + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y - 1D, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + switch(tile.getBlockMetadata() - BlockDummyable.offset) { + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + } + + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.pa_rfc_tex); + ResourceManager.pa_rfc.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.pa_rfc); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -1, 0); + double scale = 4; + GL11.glScaled(scale, scale, scale); + } + public void renderCommon() { + double scale = 0.5; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.pa_rfc_tex); + ResourceManager.pa_rfc.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderPASource.java b/src/main/java/com/hbm/render/tileentity/RenderPASource.java new file mode 100644 index 000000000..d6a8ee7e1 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderPASource.java @@ -0,0 +1,63 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderPASource extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float f) { + + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y - 1D, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + switch(tile.getBlockMetadata() - BlockDummyable.offset) { + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + } + + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.pa_source_tex); + ResourceManager.pa_source.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.pa_source); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -1, 0); + double scale = 4; + GL11.glScaled(scale, scale, scale); + } + public void renderCommon() { + double scale = 0.5; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(90, 0, 1, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.pa_source_tex); + ResourceManager.pa_source.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderPedestalTile.java b/src/main/java/com/hbm/render/tileentity/RenderPedestalTile.java index 6f39d7389..76c606e18 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderPedestalTile.java +++ b/src/main/java/com/hbm/render/tileentity/RenderPedestalTile.java @@ -37,10 +37,6 @@ public class RenderPedestalTile extends TileEntitySpecialRenderer { if(!(stack.getItemSpriteNumber() == 0 && stack.getItem() instanceof ItemBlock && RenderBlocks.renderItemIn3d(Block.getBlockFromItem(stack.getItem()).getRenderType()))) { GL11.glTranslated(0, 0.125, 0); GL11.glRotatef(player.prevRotationYaw + (player.rotationYaw - player.prevRotationYaw) * interp + 180, 0.0F, -1.0F, 0.0F); - - if(!RenderManager.instance.options.fancyGraphics) { - GL11.glRotatef(180F, 0.0F, 1.0F, 0.0F); - } GL11.glTranslated(0, Math.sin((player.ticksExisted + interp) * 0.1) * 0.0625, 0); } else { diff --git a/src/main/java/com/hbm/render/tileentity/RenderPlushie.java b/src/main/java/com/hbm/render/tileentity/RenderPlushie.java index c5d3ae829..702817abe 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderPlushie.java +++ b/src/main/java/com/hbm/render/tileentity/RenderPlushie.java @@ -28,10 +28,12 @@ import net.minecraftforge.client.IItemRenderer; import net.minecraftforge.client.model.IModelCustom; public class RenderPlushie extends TileEntitySpecialRenderer implements IItemRendererProvider { - + public static final IModelCustom yomiModel = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/trinkets/yomi.obj"), false).asVBO(); + public static final IModelCustom poohModel = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/trinkets/pooh.obj"), false).asVBO(); public static final ResourceLocation yomiTex = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/yomi.png"); public static final ResourceLocation numbernineTex = new ResourceLocation(RefStrings.MODID, "textures/models/horse/numbernine.png"); + public static final ResourceLocation poohTex = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/pooh.png"); @Override public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) { @@ -51,6 +53,7 @@ public class RenderPlushie extends TileEntitySpecialRenderer implements IItemRen case NONE: break; case YOMI: GL11.glScaled(0.5, 0.5, 0.5); break; case NUMBERNINE: GL11.glScaled(0.75, 0.75, 0.75); break; + case POOH: GL11.glScaled(0.75, 0.75, 0.75); break; } renderPlushie(te.type); @@ -107,6 +110,10 @@ public class RenderPlushie extends TileEntitySpecialRenderer implements IItemRen IIcon icon = stack.getIconIndex(); ItemRenderer.renderItemIn2D(Tessellator.instance, icon.getMaxU(), icon.getMinV(), icon.getMinU(), icon.getMaxV(), icon.getIconWidth(), icon.getIconHeight(), 0.0625F); break; + case POOH: + Minecraft.getMinecraft().getTextureManager().bindTexture(poohTex); + poohModel.renderAll(); + break; } } @@ -131,6 +138,7 @@ public class RenderPlushie extends TileEntitySpecialRenderer implements IItemRen case NONE: break; case YOMI: GL11.glScaled(1.25, 1.25, 1.25); break; case NUMBERNINE: GL11.glTranslated(0, 0.25, 0.25); GL11.glScaled(1.25, 1.25, 1.25); break; + case POOH: GL11.glTranslated(0, 0.25, 0); GL11.glScaled(1.5, 1.5, 1.5); break; } renderPlushie(type); }}; diff --git a/src/main/java/com/hbm/render/tileentity/RenderPylonBase.java b/src/main/java/com/hbm/render/tileentity/RenderPylonBase.java index 1d69ca2ba..ecb027e11 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderPylonBase.java +++ b/src/main/java/com/hbm/render/tileentity/RenderPylonBase.java @@ -2,6 +2,7 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; +import com.hbm.config.ClientConfig; import com.hbm.main.ResourceManager; import com.hbm.tileentity.network.TileEntityPylonBase; @@ -13,7 +14,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; public abstract class RenderPylonBase extends TileEntitySpecialRenderer { - + /** * The closest we have to a does-all solution. It will figure out if it needs to draw multiple lines, * iterate through all the mounting points, try to find the matching mounting points and then draw the lines. @@ -23,27 +24,25 @@ public abstract class RenderPylonBase extends TileEntitySpecialRenderer { * @param z */ public void renderLinesGeneric(TileEntityPylonBase pyl, double x, double y, double z) { - - this.bindTexture(pyl.color == 0 ? ResourceManager.wire_tex : ResourceManager.wire_greyscale_tex); - - for(int i = 0; i < pyl.connected.size(); i++) { - int[] wire = pyl.connected.get(i); + this.bindTexture(pyl.color == 0 ? ResourceManager.wire_tex : ResourceManager.wire_greyscale_tex); + + pyl.getConnected().forEach(wire -> { TileEntity tile = pyl.getWorldObj().getTileEntity(wire[0], wire[1], wire[2]); - + if(tile instanceof TileEntityPylonBase) { TileEntityPylonBase pylon = (TileEntityPylonBase) tile; - + Vec3[] m1 = pyl.getMountPos(); Vec3[] m2 = pylon.getMountPos(); - + int lineCount = Math.min(m1.length, m2.length); - + for(int line = 0; line < lineCount; line++) { Vec3 first = m1[line % m1.length]; int secondIndex = line % m2.length; - + /* * hacky hacky hack * this will shift the mount point order by 2 to prevent wires from crossing @@ -54,17 +53,17 @@ public abstract class RenderPylonBase extends TileEntitySpecialRenderer { if(lineCount == 4 && ( (pyl.getBlockMetadata() - 10 == 5 && pylon.getBlockMetadata() - 10 == 2) || (pyl.getBlockMetadata() - 10 == 2 && pylon.getBlockMetadata() - 10 == 5))) { - + secondIndex += 2; secondIndex %= m2.length; } - + Vec3 second = m2[secondIndex]; - + double sX = second.xCoord + pylon.xCoord - pyl.xCoord; double sY = second.yCoord + pylon.yCoord - pyl.yCoord; double sZ = second.zCoord + pylon.zCoord - pyl.zCoord; - + renderLine(pyl.getWorldObj(), pyl, x, y, z, first.xCoord, first.yCoord, @@ -74,9 +73,9 @@ public abstract class RenderPylonBase extends TileEntitySpecialRenderer { first.zCoord + (sZ - first.zCoord) * 0.5); } } - } + }); } - + /** * Renders half a line * First coords: the relative render position @@ -100,50 +99,71 @@ public abstract class RenderPylonBase extends TileEntitySpecialRenderer { GL11.glTranslated(x, y, z); float count = 10; Tessellator tess = Tessellator.instance; - + GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_CULL_FACE); tess.startDrawingQuads(); Vec3 delta = Vec3.createVectorHelper(x0 - x1, y0 - y1, z0 - z1); - double hang = Math.min(delta.lengthVector() / 15D, 2.5D); - - for(float j = 0; j < count; j++) { - - float k = j + 1; - double sagJ = Math.sin(j / count * Math.PI * 0.5) * hang; - double sagK = Math.sin(k / count * Math.PI * 0.5) * hang; - double sagMean = (sagJ + sagK) / 2D; - - double deltaX = x1 - x0; - double deltaY = y1 - y0; - double deltaZ = z1 - z0; - - double ja = j + 0.5D; - double ix = pyl.xCoord + x0 + deltaX / (double)(count) * ja; - double iy = pyl.yCoord + y0 + deltaY / (double)(count) * ja - sagMean; - double iz = pyl.zCoord + z0 + deltaZ / (double)(count) * ja; - - int brightness = world.getLightBrightnessForSkyBlocks(MathHelper.floor_double(ix), MathHelper.floor_double(iy), MathHelper.floor_double(iz), 0); - tess.setBrightness(brightness); - + double girth = 0.03125D; + double hyp = Math.sqrt(delta.xCoord * delta.xCoord + delta.zCoord * delta.zCoord); + double yaw = Math.atan2(delta.xCoord, delta.zCoord); + double pitch = Math.atan2(delta.yCoord, hyp); + double rotator = Math.PI * 0.5D; + double newPitch = pitch + rotator; + double newYaw = yaw + rotator; + double iZ = Math.cos(yaw) * Math.cos(newPitch) * girth; + double iX = Math.sin(yaw) * Math.cos(newPitch) * girth; + double iY = Math.sin(newPitch) * girth; + double jZ = Math.cos(newYaw) * girth; + double jX = Math.sin(newYaw) * girth; + + if(!ClientConfig.RENDER_CABLE_HANG.get()) { tess.setColorOpaque_I(pyl.color == 0 ? 0xffffff : pyl.color); - - drawLineSegment(tess, - x0 + (deltaX * j / count), - y0 + (deltaY * j / count) - sagJ, - z0 + (deltaZ * j / count), - x0 + (deltaX * k / count), - y0 + (deltaY * k / count) - sagK, - z0 + (deltaZ * k / count)); + drawLineSegment(tess, x0, y0, z0, x1, y1, z1, iX, iY, iZ, jX, jZ); + } else { + + double hang = Math.min(delta.lengthVector() / 15D, 2.5D); + + for(float j = 0; j < count; j++) { + + float k = j + 1; + + double sagJ = Math.sin(j / count * Math.PI * 0.5) * hang; + double sagK = Math.sin(k / count * Math.PI * 0.5) * hang; + double sagMean = (sagJ + sagK) / 2D; + + double deltaX = x1 - x0; + double deltaY = y1 - y0; + double deltaZ = z1 - z0; + + double ja = j + 0.5D; + double ix = pyl.xCoord + x0 + deltaX / (double)(count) * ja; + double iy = pyl.yCoord + y0 + deltaY / (double)(count) * ja - sagMean; + double iz = pyl.zCoord + z0 + deltaZ / (double)(count) * ja; + + int brightness = world.getLightBrightnessForSkyBlocks(MathHelper.floor_double(ix), MathHelper.floor_double(iy), MathHelper.floor_double(iz), 0); + tess.setBrightness(brightness); + + tess.setColorOpaque_I(pyl.color == 0 ? 0xffffff : pyl.color); + + drawLineSegment(tess, + x0 + (deltaX * j / count), + y0 + (deltaY * j / count) - sagJ, + z0 + (deltaZ * j / count), + x0 + (deltaX * k / count), + y0 + (deltaY * k / count) - sagK, + z0 + (deltaZ * k / count), + iX, iY, iZ, jX, jZ); + } } tess.draw(); GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_CULL_FACE); - + GL11.glPopMatrix(); } - + /** * Draws a single segment from the first to the second 3D coordinate. * Not fantastic but it looks good enough. @@ -155,33 +175,20 @@ public abstract class RenderPylonBase extends TileEntitySpecialRenderer { * @param b * @param c */ - public void drawLineSegment(Tessellator tessellator, double x, double y, double z, double a, double b, double c) { - - double girth = 0.03125D; - + public void drawLineSegment(Tessellator tessellator, double x, double y, double z, double a, double b, double c, double iX, double iY, double iZ, double jX, double jZ) { + double deltaX = a - x; double deltaY = b - y; double deltaZ = c - z; - double hyp = Math.sqrt(deltaX * deltaX + deltaZ * deltaZ); - double yaw = Math.atan2(deltaX, deltaZ); - double pitch = Math.atan2(deltaY, hyp); - double rotator = Math.PI * 0.5D; - double newPitch = pitch + rotator; - double newYaw = yaw + rotator; - double iZ = Math.cos(yaw) * Math.cos(newPitch) * girth; - double iX = Math.sin(yaw) * Math.cos(newPitch) * girth; - double iY = Math.sin(newPitch) * girth; - double jZ = Math.cos(newYaw) * girth; - double jX = Math.sin(newYaw) * girth; double length = Math.sqrt(deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ); int wrap = (int) Math.ceil(length * 8); - + if(deltaX + deltaZ < 0) { wrap *= -1; jZ *= -1; jX *= -1; } - + tessellator.addVertexWithUV(x + iX, y + iY, z + iZ, 0, 0); tessellator.addVertexWithUV(x - iX, y - iY, z - iZ, 0, 1); tessellator.addVertexWithUV(a - iX, b - iY, c - iZ, wrap, 1); @@ -191,6 +198,6 @@ public abstract class RenderPylonBase extends TileEntitySpecialRenderer { tessellator.addVertexWithUV(a - jX, b, c - jZ, wrap, 1); tessellator.addVertexWithUV(a + jX, b, c + jZ, wrap, 0); } - + public static final int LINE_COLOR = 0xBB3311; } diff --git a/src/main/java/com/hbm/render/tileentity/RenderPyroOven.java b/src/main/java/com/hbm/render/tileentity/RenderPyroOven.java new file mode 100644 index 000000000..ac0175e84 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderPyroOven.java @@ -0,0 +1,79 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import com.hbm.tileentity.machine.oil.TileEntityMachinePyroOven; +import com.hbm.util.BobMathUtil; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderPyroOven extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float f) { + + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y, z + 0.5); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + switch(tile.getBlockMetadata() - BlockDummyable.offset) { + case 2: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(90, 0F, 1F, 0F); break; + } + + TileEntityMachinePyroOven pyro = (TileEntityMachinePyroOven) tile; + float anim = pyro.prevAnim + (pyro.anim - pyro.prevAnim) * f; + + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.pyrooven_tex); + ResourceManager.pyrooven.renderPart("Oven"); + + GL11.glPushMatrix(); + GL11.glTranslated(BobMathUtil.sps(anim * 0.125) / 2 - 0.5, 0, 0); + ResourceManager.pyrooven.renderPart("Slider"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(1.5, 0, 1.5); + GL11.glRotated(anim * 45D % 360D, 0, 1, 0); + GL11.glTranslated(-1.5, 0, -1.5); + ResourceManager.pyrooven.renderPart("Fan"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.machine_pyrooven); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -1, 0); + GL11.glScaled(3.5, 3.5, 3.5); + } + public void renderCommon() { + GL11.glScaled(0.5, 0.5, 0.5); + GL11.glRotatef(90, 0F, 1F, 0F); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.pyrooven_tex); + ResourceManager.pyrooven.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderRBMKConsole.java b/src/main/java/com/hbm/render/tileentity/RenderRBMKConsole.java index c149f2089..2e0933a12 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderRBMKConsole.java +++ b/src/main/java/com/hbm/render/tileentity/RenderRBMKConsole.java @@ -8,7 +8,7 @@ import com.hbm.main.ResourceManager; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.RBMKColumn; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.RBMKScreen; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; diff --git a/src/main/java/com/hbm/render/tileentity/RenderRBMKLid.java b/src/main/java/com/hbm/render/tileentity/RenderRBMKLid.java index 2783e8508..12d439a7f 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderRBMKLid.java +++ b/src/main/java/com/hbm/render/tileentity/RenderRBMKLid.java @@ -23,51 +23,51 @@ public class RenderRBMKLid extends TileEntitySpecialRenderer { @Override public void renderTileEntityAt(TileEntity te, double x, double y, double z, float i) { - + TileEntityRBMKBase control = (TileEntityRBMKBase)te; boolean hasRod = false; boolean cherenkov = false; - + if(te instanceof TileEntityRBMKRod) { - + TileEntityRBMKRod rod = (TileEntityRBMKRod) te; - + if(rod.hasRod) hasRod = true; - - if(rod.fluxFast + rod.fluxSlow > 5) + + if(rod.fluxQuantity > 5) cherenkov = true; } GL11.glPushMatrix(); GL11.glTranslated(x + 0.5, y, z + 0.5); - + int offset = 1; - + for(int o = 1; o < 16; o++) { - + if(te.getWorldObj().getBlock(te.xCoord, te.yCoord + o, te.zCoord) == te.getBlockType()) { offset = o; - + int meta = te.getWorldObj().getBlockMetadata(te.xCoord, te.yCoord + o, te.zCoord); - + if(meta > 5 && meta < 12) break; - + } else { break; } } - + GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_CULL_FACE); - + if(control.hasLid()) { GL11.glPushMatrix(); GL11.glTranslated(0, offset, 0); - + int meta = control.getBlockMetadata() - RBMKBase.offset; - + if(meta == RBMKBase.DIR_GLASS_LID.ordinal()) { bindTexture(texture_glass); } else { @@ -79,7 +79,7 @@ public class RenderRBMKLid extends TileEntitySpecialRenderer { cherenkov = false; } - + if((control instanceof TileEntityRBMKBoiler || control instanceof TileEntityRBMKHeater) && meta != RBMKBase.DIR_GLASS_LID.ordinal()) { ResourceManager.rbmk_rods_vbo.renderPart("Lid"); } else { @@ -88,11 +88,11 @@ public class RenderRBMKLid extends TileEntitySpecialRenderer { GL11.glPopMatrix(); } - + if(hasRod) { GL11.glPushMatrix(); bindTexture(texture_rods); - + for(int j = 0; j <= offset; j++) { ResourceManager.rbmk_element_vbo.renderPart("Rods"); GL11.glTranslated(0, 1, 0); @@ -100,7 +100,7 @@ public class RenderRBMKLid extends TileEntitySpecialRenderer { GL11.glPopMatrix(); } - + if(cherenkov) { GL11.glTranslated(0, 0.75, 0); @@ -110,11 +110,11 @@ public class RenderRBMKLid extends TileEntitySpecialRenderer { GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); - + Tessellator tess = Tessellator.instance; tess.startDrawingQuads(); tess.setColorRGBA_F(0.4F, 0.9F, 1.0F, 0.1F); - + for(double j = 0; j <= offset; j += 0.25) { tess.addVertex(-0.5, j, -0.5); tess.addVertex(-0.5, j, 0.5); diff --git a/src/main/java/com/hbm/render/tileentity/RenderRefueler.java b/src/main/java/com/hbm/render/tileentity/RenderRefueler.java new file mode 100644 index 000000000..b8c30a352 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderRefueler.java @@ -0,0 +1,103 @@ +package com.hbm.render.tileentity; + +import java.awt.Color; +import java.nio.DoubleBuffer; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import com.hbm.tileentity.machine.TileEntityRefueler; + +import net.minecraft.client.renderer.GLAllocation; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderRefueler extends TileEntitySpecialRenderer implements IItemRendererProvider { + + private static DoubleBuffer clip = null; + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) { + TileEntityRefueler refueler = (TileEntityRefueler) tile; + + GL11.glPushMatrix(); + { + + GL11.glTranslated(x + 0.5, y, z + 0.5); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glRotatef(90, 0F, 1F, 0F); + switch(tile.getBlockMetadata()) { + case 4: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 2: GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + GL11.glShadeModel(GL11.GL_SMOOTH); + + bindTexture(ResourceManager.refueler_tex); + ResourceManager.refueler.renderPart("Fueler"); + + + if(clip == null) { + clip = GLAllocation.createDirectByteBuffer(8*4).asDoubleBuffer(); + clip.put(new double[] {0, 1, 0, -0.125 }); + clip.rewind(); + } + + GL11.glEnable(GL11.GL_CLIP_PLANE0); + GL11.glClipPlane(GL11.GL_CLIP_PLANE0, clip); + + GL11.glEnable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_TEXTURE_2D); + + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + + double fillLevel = refueler.prevFillLevel + (refueler.fillLevel - refueler.prevFillLevel) * interp; + GL11.glTranslated(0, (1 - fillLevel) * -0.625, 0); + + Color color = new Color(refueler.tank.getTankType().getColor()); + GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 0.75F); + ResourceManager.refueler.renderPart("Fluid"); + GL11.glColor4f(1, 1, 1, 1); + + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_BLEND); + + GL11.glDisable(GL11.GL_CLIP_PLANE0); + + GL11.glShadeModel(GL11.GL_FLAT); + + } + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.refueler); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -3, 0); + GL11.glScaled(6, 6, 6); + } + public void renderCommon() { + GL11.glScaled(2, 2, 2); + GL11.glTranslated(0.5, 0, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.refueler_tex); + ResourceManager.refueler.renderPart("Fueler"); + GL11.glShadeModel(GL11.GL_FLAT); + } + }; + } + +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderRotaryFurnace.java b/src/main/java/com/hbm/render/tileentity/RenderRotaryFurnace.java new file mode 100644 index 000000000..e326c7445 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderRotaryFurnace.java @@ -0,0 +1,71 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import com.hbm.tileentity.machine.TileEntityMachineRotaryFurnace; +import com.hbm.util.BobMathUtil; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderRotaryFurnace extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float f) { + + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y, z + 0.5); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + switch(tile.getBlockMetadata() - BlockDummyable.offset) { + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.rotary_furnace_tex); + ResourceManager.rotary_furnace.renderPart("Furnace"); + GL11.glPushMatrix(); + + TileEntityMachineRotaryFurnace furnace = (TileEntityMachineRotaryFurnace) tile; + float anim = furnace.lastAnim + (furnace.anim - furnace.lastAnim) * f; + + GL11.glTranslated(0, BobMathUtil.sps((anim * 0.75) * 0.125) * 0.5 - 0.5, 0); + ResourceManager.rotary_furnace.renderPart("Piston"); + GL11.glPopMatrix(); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.machine_rotary_furnace); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -2, 0); + GL11.glScaled(3.5, 3.5, 3.5); + } + public void renderCommon() { + GL11.glScaled(0.625, 0.625, 0.625); + GL11.glRotatef(90, 0F, 1F, 0F); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.rotary_furnace_tex); + ResourceManager.rotary_furnace.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderSkeletonHolder.java b/src/main/java/com/hbm/render/tileentity/RenderSkeletonHolder.java new file mode 100644 index 000000000..adcbea5e9 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderSkeletonHolder.java @@ -0,0 +1,64 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.generic.BlockSkeletonHolder.TileEntitySkeletonHolder; +import com.hbm.main.ResourceManager; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; + +public class RenderSkeletonHolder extends TileEntitySpecialRenderer { + + @Override + public void renderTileEntityAt(TileEntity te, double x, double y, double z, float interp) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y, z + 0.5); + + switch(te.getBlockMetadata()) { + case 2: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(90, 0F, 1F, 0F); break; + } //why the FUCK did this not commit properl;y + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + RenderHelper.enableStandardItemLighting(); + + bindTexture(ResourceManager.skeleton_holder_tex); + ResourceManager.skeleton_holder.renderPart("Holder1"); + + TileEntitySkeletonHolder pedestal = (TileEntitySkeletonHolder) te; + + if(pedestal.item != null) { + + ItemStack stack = pedestal.item.copy(); + + GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); + + if(!(stack.getItemSpriteNumber() == 0 && stack.getItem() instanceof ItemBlock && RenderBlocks.renderItemIn3d(Block.getBlockFromItem(stack.getItem()).getRenderType()))) { + GL11.glScaled(1.5, 1.5, 1.5); + } + + GL11.glTranslated(0, 0.125, 0); + + EntityItem dummy = new EntityItem(te.getWorldObj(), 0, 0, 0, stack); + dummy.hoverStart = 0.0F; + + RenderItem.renderInFrame = true; + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F); + RenderItem.renderInFrame = false; + } + + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderSolarBoiler.java b/src/main/java/com/hbm/render/tileentity/RenderSolarBoiler.java index 54c3c1ad1..f15a7d778 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderSolarBoiler.java +++ b/src/main/java/com/hbm/render/tileentity/RenderSolarBoiler.java @@ -38,7 +38,7 @@ public class RenderSolarBoiler extends TileEntitySpecialRenderer { GL11.glShadeModel(GL11.GL_FLAT); GL11.glPopMatrix(); - if(te instanceof TileEntitySolarBoiler && !Minecraft.getMinecraft().gameSettings.fancyGraphics) { + if(te instanceof TileEntitySolarBoiler && Minecraft.getMinecraft().gameSettings.fancyGraphics) { TileEntitySolarBoiler boiler = (TileEntitySolarBoiler) te; Tessellator tess = Tessellator.instance; diff --git a/src/main/java/com/hbm/render/tileentity/RenderSteelPoles.java b/src/main/java/com/hbm/render/tileentity/RenderSteelPoles.java deleted file mode 100644 index 475bdcf9c..000000000 --- a/src/main/java/com/hbm/render/tileentity/RenderSteelPoles.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.hbm.render.tileentity; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelPoles; - -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; - -public class RenderSteelPoles extends TileEntitySpecialRenderer { - - private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/Poles.png"); - - private ModelPoles model; - - public RenderSteelPoles() { - this.model = new ModelPoles(); - } - - @Override - public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { - GL11.glPushMatrix(); - GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); - GL11.glRotatef(180, 0F, 0F, 1F); - - switch(tileentity.getBlockMetadata()) - { - case 4: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 2: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(0, 0F, 1F, 0F); break; - } - - this.bindTexture(texture); - - GL11.glPushMatrix(); - this.model.renderModel(0.0625F); - GL11.glPopMatrix(); - GL11.glPopMatrix(); - } - -} diff --git a/src/main/java/com/hbm/render/tileentity/RenderTurbofan.java b/src/main/java/com/hbm/render/tileentity/RenderTurbofan.java index 72f226c48..034ea28da 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderTurbofan.java +++ b/src/main/java/com/hbm/render/tileentity/RenderTurbofan.java @@ -2,13 +2,17 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; +import com.hbm.blocks.ModBlocks; import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; import com.hbm.tileentity.machine.TileEntityMachineTurbofan; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; -public class RenderTurbofan extends TileEntitySpecialRenderer { +public class RenderTurbofan extends TileEntitySpecialRenderer implements IItemRendererProvider { public RenderTurbofan() { } @@ -52,4 +56,27 @@ public class RenderTurbofan extends TileEntitySpecialRenderer { GL11.glPopMatrix(); } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.machine_turbofan); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(2.25, 2.25, 2.25); + } + public void renderCommon() { + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.turbofan_tex); + ResourceManager.turbofan.renderPart("Body"); + ResourceManager.turbofan.renderPart("Blades"); + bindTexture(ResourceManager.turbofan_back_tex); + ResourceManager.turbofan.renderPart("Afterburner"); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } } diff --git a/src/main/java/com/hbm/render/tileentity/RendererObjTester.java b/src/main/java/com/hbm/render/tileentity/RendererObjTester.java index 8762c01c0..450fcd6cb 100644 --- a/src/main/java/com/hbm/render/tileentity/RendererObjTester.java +++ b/src/main/java/com/hbm/render/tileentity/RendererObjTester.java @@ -35,11 +35,8 @@ public class RendererObjTester extends TileEntitySpecialRenderer { public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { GL11.glPushMatrix(); GL11.glTranslated(x + 0.5, y + 1, z + 0.5); - GL11.glRotated(15, 0, 0, 1); GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glRotated(System.currentTimeMillis() / 5D % 360D, 0, -1, 0); - if(world == null) { world = new WorldInAJar(5, 3, 5); for(int i = 0; i < 25; i++) world.setBlock(i / 5, 1, i % 5, Blocks.brick_block, 0); @@ -55,6 +52,8 @@ public class RendererObjTester extends TileEntitySpecialRenderer { RenderHelper.disableStandardItemLighting(); GL11.glPushMatrix(); + GL11.glRotated(15, 0, 0, 1); + GL11.glRotated(System.currentTimeMillis() / 5D % 360D, 0, -1, 0); GL11.glTranslated(-2.5, 0, -2.5); Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.locationBlocksTexture); GL11.glShadeModel(GL11.GL_SMOOTH); @@ -73,6 +72,10 @@ public class RendererObjTester extends TileEntitySpecialRenderer { GL11.glPopMatrix(); RenderHelper.enableStandardItemLighting(); + + GL11.glRotated(15, 0, 0, 1); + GL11.glRotated(System.currentTimeMillis() / 5D % 360D, 0, -1, 0); + GL11.glTranslated(0, 2.1, 0.5); this.bindTexture(extra); diff --git a/src/main/java/com/hbm/render/util/GaugeUtil.java b/src/main/java/com/hbm/render/util/GaugeUtil.java index 751edabdf..68e90a95b 100644 --- a/src/main/java/com/hbm/render/util/GaugeUtil.java +++ b/src/main/java/com/hbm/render/util/GaugeUtil.java @@ -61,6 +61,10 @@ public class GaugeUtil { } public static void drawSmoothGauge(int x, int y, double z, double progress, double tipLength, double backLength, double backSide, int color) { + drawSmoothGauge(x, y, z, progress, tipLength, backLength, backSide, color, 0x000000); + } + + public static void drawSmoothGauge(int x, int y, double z, double progress, double tipLength, double backLength, double backSide, int color, int colorOuter) { GL11.glDisable(GL11.GL_TEXTURE_2D); progress = MathHelper.clamp_double(progress, 0, 1); @@ -76,7 +80,7 @@ public class GaugeUtil { Tessellator tess = Tessellator.instance; tess.startDrawing(GL11.GL_TRIANGLES); - tess.setColorOpaque_F(0F, 0F, 0F); + tess.setColorOpaque_I(colorOuter); double mult = 1.5; tess.addVertex(x + tip.xCoord * mult, y + tip.yCoord * mult, z); tess.addVertex(x + left.xCoord * mult, y + left.yCoord * mult, z); diff --git a/src/main/java/com/hbm/render/util/RenderBlocksNT.java b/src/main/java/com/hbm/render/util/RenderBlocksNT.java new file mode 100644 index 000000000..342453e3b --- /dev/null +++ b/src/main/java/com/hbm/render/util/RenderBlocksNT.java @@ -0,0 +1,270 @@ +package com.hbm.render.util; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; + +public class RenderBlocksNT extends RenderBlocks { + + public static final RenderBlocksNT INSTANCE = new RenderBlocksNT(); + + public RenderBlocksNT(IBlockAccess world) { + super(world); + } + + public RenderBlocksNT() { + super(); + } + + public RenderBlocksNT setWorld(IBlockAccess world) { + this.blockAccess = world; + this.field_152631_f = false; + this.flipTexture = false; + return this; + } + + public static void renderStandardInventoryBlock(Block block, int meta, RenderBlocks renderer) { + + Tessellator tessellator = Tessellator.instance; + tessellator.setColorOpaque_F(1, 1, 1); + + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, meta)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 1, meta)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 2, meta)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 3, meta)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 4, meta)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, meta)); + tessellator.draw(); + } + + @Override + public void renderFaceZNeg(Block block, double x, double y, double z, IIcon icon) { + Tessellator tessellator = Tessellator.instance; + + if(this.hasOverrideBlockTexture()) { + icon = this.overrideBlockTexture; + } + + double minU = (double) icon.getInterpolatedU(16.0D - this.renderMinX * 16.0D); // **FIX** + double maxU = (double) icon.getInterpolatedU(16.0D - this.renderMaxX * 16.0D); // **FIX** + + if(this.field_152631_f) { + minU = (double) icon.getInterpolatedU(this.renderMinX * 16.0D); // **FIX** + maxU = (double) icon.getInterpolatedU(this.renderMaxX * 16.0D); // **FIX** + } + + double maxV = (double) icon.getInterpolatedV(16.0D - this.renderMaxY * 16.0D); + double minV = (double) icon.getInterpolatedV(16.0D - this.renderMinY * 16.0D); + double minU2; + + if(this.flipTexture) { + minU2 = maxU; + maxU = minU; + minU = minU2; + } + + if(this.renderMinX < 0.0D || this.renderMaxX > 1.0D) { + maxU = (double) icon.getMinU(); + minU = (double) icon.getMaxU(); + } + + if(this.renderMinY < 0.0D || this.renderMaxY > 1.0D) { + maxV = (double) icon.getMinV(); + minV = (double) icon.getMaxV(); + } + + minU2 = minU; + double maxU2 = maxU; + double maxV2 = maxV; + double minV2 = minV; + + if(this.uvRotateEast == 2) { + maxU = (double) icon.getInterpolatedU(this.renderMinY * 16.0D); + minU = (double) icon.getInterpolatedU(this.renderMaxY * 16.0D); + maxV = (double) icon.getInterpolatedV(16.0D - this.renderMinX * 16.0D); + minV = (double) icon.getInterpolatedV(16.0D - this.renderMaxX * 16.0D); + maxV2 = maxV; + minV2 = minV; + minU2 = maxU; + maxU2 = minU; + maxV = minV; + minV = maxV2; + } else if(this.uvRotateEast == 1) { + maxU = (double) icon.getInterpolatedU(16.0D - this.renderMaxY * 16.0D); + minU = (double) icon.getInterpolatedU(16.0D - this.renderMinY * 16.0D); + maxV = (double) icon.getInterpolatedV(this.renderMaxX * 16.0D); + minV = (double) icon.getInterpolatedV(this.renderMinX * 16.0D); + minU2 = minU; + maxU2 = maxU; + maxU = minU; + minU = maxU2; + maxV2 = minV; + minV2 = maxV; + } else if(this.uvRotateEast == 3) { + maxU = (double) icon.getInterpolatedU(16.0D - this.renderMinX * 16.0D); + minU = (double) icon.getInterpolatedU(16.0D - this.renderMaxX * 16.0D); + maxV = (double) icon.getInterpolatedV(this.renderMaxY * 16.0D); + minV = (double) icon.getInterpolatedV(this.renderMinY * 16.0D); + minU2 = minU; + maxU2 = maxU; + maxV2 = maxV; + minV2 = minV; + } + + double minX = x + this.renderMinX; + double maxX = x + this.renderMaxX; + double minY = y + this.renderMinY; + double maxY = y + this.renderMaxY; + double minZ = z + this.renderMinZ; + + if(this.renderFromInside) { + minX = x + this.renderMaxX; + maxX = x + this.renderMinX; + } + + if(this.enableAO) { + tessellator.setColorOpaque_F(this.colorRedTopLeft, this.colorGreenTopLeft, this.colorBlueTopLeft); + tessellator.setBrightness(this.brightnessTopLeft); + tessellator.addVertexWithUV(minX, maxY, minZ, minU2, maxV2); + tessellator.setColorOpaque_F(this.colorRedBottomLeft, this.colorGreenBottomLeft, this.colorBlueBottomLeft); + tessellator.setBrightness(this.brightnessBottomLeft); + tessellator.addVertexWithUV(maxX, maxY, minZ, maxU, maxV); + tessellator.setColorOpaque_F(this.colorRedBottomRight, this.colorGreenBottomRight, this.colorBlueBottomRight); + tessellator.setBrightness(this.brightnessBottomRight); + tessellator.addVertexWithUV(maxX, minY, minZ, maxU2, minV2); + tessellator.setColorOpaque_F(this.colorRedTopRight, this.colorGreenTopRight, this.colorBlueTopRight); + tessellator.setBrightness(this.brightnessTopRight); + tessellator.addVertexWithUV(minX, minY, minZ, minU, minV); + } else { + tessellator.addVertexWithUV(minX, maxY, minZ, minU2, maxV2); + tessellator.addVertexWithUV(maxX, maxY, minZ, maxU, maxV); + tessellator.addVertexWithUV(maxX, minY, minZ, maxU2, minV2); + tessellator.addVertexWithUV(minX, minY, minZ, minU, minV); + } + } + + @Override + public void renderFaceXPos(Block block, double x, double y, double z, IIcon icon) { + Tessellator tessellator = Tessellator.instance; + + if(this.hasOverrideBlockTexture()) { + icon = this.overrideBlockTexture; + } + + double minU = (double) icon.getInterpolatedU(16D - this.renderMinZ * 16.0D); // **FIX** + double maxU = (double) icon.getInterpolatedU(16D - this.renderMaxZ * 16.0D); // **FIX** + + if(this.field_152631_f) { + minU = (double) icon.getInterpolatedU(this.renderMinZ * 16.0D); // **FIX** + maxU = (double) icon.getInterpolatedU(this.renderMaxZ * 16.0D); // **FIX** + } + + double maxV = (double) icon.getInterpolatedV(16.0D - this.renderMaxY * 16.0D); + double minV = (double) icon.getInterpolatedV(16.0D - this.renderMinY * 16.0D); + double minU2; + + if(this.flipTexture) { + minU2 = maxU; + maxU = minU; + minU = minU2; + } + + if(this.renderMinZ < 0.0D || this.renderMaxZ > 1.0D) { + maxU = (double) icon.getMinU(); + minU = (double) icon.getMaxU(); + } + + if(this.renderMinY < 0.0D || this.renderMaxY > 1.0D) { + maxV = (double) icon.getMinV(); + minV = (double) icon.getMaxV(); + } + + minU2 = minU; + double maxU2 = maxU; + double maxV2 = maxV; + double minV2 = minV; + + if(this.uvRotateSouth == 2) { + maxU = (double) icon.getInterpolatedU(this.renderMinY * 16.0D); + maxV = (double) icon.getInterpolatedV(16.0D - this.renderMinZ * 16.0D); + minU = (double) icon.getInterpolatedU(this.renderMaxY * 16.0D); + minV = (double) icon.getInterpolatedV(16.0D - this.renderMaxZ * 16.0D); + maxV2 = maxV; + minV2 = minV; + minU2 = maxU; + maxU2 = minU; + maxV = minV; + minV = maxV2; + } else if(this.uvRotateSouth == 1) { + maxU = (double) icon.getInterpolatedU(16.0D - this.renderMaxY * 16.0D); + maxV = (double) icon.getInterpolatedV(this.renderMaxZ * 16.0D); + minU = (double) icon.getInterpolatedU(16.0D - this.renderMinY * 16.0D); + minV = (double) icon.getInterpolatedV(this.renderMinZ * 16.0D); + minU2 = minU; + maxU2 = maxU; + maxU = minU; + minU = maxU2; + maxV2 = minV; + minV2 = maxV; + } else if(this.uvRotateSouth == 3) { + maxU = (double) icon.getInterpolatedU(16.0D - this.renderMinZ * 16.0D); + minU = (double) icon.getInterpolatedU(16.0D - this.renderMaxZ * 16.0D); + maxV = (double) icon.getInterpolatedV(this.renderMaxY * 16.0D); + minV = (double) icon.getInterpolatedV(this.renderMinY * 16.0D); + minU2 = minU; + maxU2 = maxU; + maxV2 = maxV; + minV2 = minV; + } + + double maxX = x + this.renderMaxX; + double minY = y + this.renderMinY; + double maxY = y + this.renderMaxY; + double minZ = z + this.renderMinZ; + double maxZ = z + this.renderMaxZ; + + if(this.renderFromInside) { + minZ = z + this.renderMaxZ; + maxZ = z + this.renderMinZ; + } + + if(this.enableAO) { + tessellator.setColorOpaque_F(this.colorRedTopLeft, this.colorGreenTopLeft, this.colorBlueTopLeft); + tessellator.setBrightness(this.brightnessTopLeft); + tessellator.addVertexWithUV(maxX, minY, maxZ, maxU2, minV2); + tessellator.setColorOpaque_F(this.colorRedBottomLeft, this.colorGreenBottomLeft, this.colorBlueBottomLeft); + tessellator.setBrightness(this.brightnessBottomLeft); + tessellator.addVertexWithUV(maxX, minY, minZ, minU, minV); + tessellator.setColorOpaque_F(this.colorRedBottomRight, this.colorGreenBottomRight, this.colorBlueBottomRight); + tessellator.setBrightness(this.brightnessBottomRight); + tessellator.addVertexWithUV(maxX, maxY, minZ, minU2, maxV2); + tessellator.setColorOpaque_F(this.colorRedTopRight, this.colorGreenTopRight, this.colorBlueTopRight); + tessellator.setBrightness(this.brightnessTopRight); + tessellator.addVertexWithUV(maxX, maxY, maxZ, maxU, maxV); + } else { + tessellator.addVertexWithUV(maxX, minY, maxZ, maxU2, minV2); + tessellator.addVertexWithUV(maxX, minY, minZ, minU, minV); + tessellator.addVertexWithUV(maxX, maxY, minZ, minU2, maxV2); + tessellator.addVertexWithUV(maxX, maxY, maxZ, maxU, maxV); + } + } +} diff --git a/src/main/java/com/hbm/render/util/RenderBlocksWrapper.java b/src/main/java/com/hbm/render/util/RenderBlocksWrapper.java new file mode 100644 index 000000000..3da1e2b22 --- /dev/null +++ b/src/main/java/com/hbm/render/util/RenderBlocksWrapper.java @@ -0,0 +1,150 @@ +package com.hbm.render.util; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockAnvil; +import net.minecraft.block.BlockBeacon; +import net.minecraft.block.BlockBrewingStand; +import net.minecraft.block.BlockCauldron; +import net.minecraft.block.BlockCocoa; +import net.minecraft.block.BlockDoublePlant; +import net.minecraft.block.BlockDragonEgg; +import net.minecraft.block.BlockEndPortalFrame; +import net.minecraft.block.BlockFence; +import net.minecraft.block.BlockFenceGate; +import net.minecraft.block.BlockFire; +import net.minecraft.block.BlockFlowerPot; +import net.minecraft.block.BlockHopper; +import net.minecraft.block.BlockPane; +import net.minecraft.block.BlockRailBase; +import net.minecraft.block.BlockRedstoneComparator; +import net.minecraft.block.BlockRedstoneDiode; +import net.minecraft.block.BlockRedstoneRepeater; +import net.minecraft.block.BlockStairs; +import net.minecraft.block.BlockStem; +import net.minecraft.block.BlockWall; +import net.minecraft.block.material.Material; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.EntityRenderer; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class RenderBlocksWrapper extends RenderBlocks { + + public static final RenderBlocksWrapper INSTANCE = new RenderBlocksWrapper(); + public RenderBlocks rb; + + public void setup(RenderBlocks rb) { this.rb = rb; } + + @Override + public boolean renderStandardBlock(Block block, int x, int y, int z) { + int color = block.colorMultiplier(this.blockAccess, x, y, z); + float r = (float) (color >> 16 & 255) / 255.0F; + float g = (float) (color >> 8 & 255) / 255.0F; + float b = (float) (color & 255) / 255.0F; + + if(EntityRenderer.anaglyphEnable) { + float ar = (r * 30.0F + g * 59.0F + b * 11.0F) / 100.0F; + float ag = (r * 30.0F + g * 70.0F) / 100.0F; + float ab = (r * 30.0F + b * 70.0F) / 100.0F; + r = ar; + g = ag; + b = ab; + } + + return Minecraft.isAmbientOcclusionEnabled() && block.getLightValue() == 0 + ? (this.partialRenderBounds ? this.renderStandardBlockWithAmbientOcclusionPartial(block, x, y, z, r, g, b) + : this.renderStandardBlockWithAmbientOcclusion(block, x, y, z, r, g, b)) + : this.renderStandardBlockWithColorMultiplier(block, x, y, z, r, g, b); + } + + // the unholy mass + @Override public void setOverrideBlockTexture(IIcon p_147757_1_) { rb.setOverrideBlockTexture(p_147757_1_); } + @Override public void clearOverrideBlockTexture() { rb.clearOverrideBlockTexture(); } + @Override public boolean hasOverrideBlockTexture() { return rb.hasOverrideBlockTexture(); } + @Override public void setRenderFromInside(boolean p_147786_1_) { rb.setRenderFromInside(p_147786_1_); } + @Override public void setRenderAllFaces(boolean p_147753_1_) { rb.setRenderAllFaces(p_147753_1_); } + @Override public void setRenderBounds(double p_147782_1_, double p_147782_3_, double p_147782_5_, double p_147782_7_, double p_147782_9_, double p_147782_11_) { rb.setRenderBounds(p_147782_1_, p_147782_3_, p_147782_5_, p_147782_7_, p_147782_9_, p_147782_11_); } + @Override public void setRenderBoundsFromBlock(Block p_147775_1_) { rb.setRenderBoundsFromBlock(p_147775_1_); } + @Override public void overrideBlockBounds(double p_147770_1_, double p_147770_3_, double p_147770_5_, double p_147770_7_, double p_147770_9_, double p_147770_11_) { rb.overrideBlockBounds(p_147770_1_, p_147770_3_, p_147770_5_, p_147770_7_, p_147770_9_, p_147770_11_); } + @Override public void unlockBlockBounds() { rb.unlockBlockBounds(); } + @Override public void renderBlockUsingTexture(Block p_147792_1_, int p_147792_2_, int p_147792_3_, int p_147792_4_, IIcon p_147792_5_) { rb.renderBlockUsingTexture(p_147792_1_, p_147792_2_, p_147792_3_, p_147792_4_, p_147792_5_); } + @Override public void renderBlockAllFaces(Block p_147769_1_, int p_147769_2_, int p_147769_3_, int p_147769_4_) { rb.renderBlockAllFaces(p_147769_1_, p_147769_2_, p_147769_3_, p_147769_4_); } + @Override public boolean renderBlockByRenderType(Block p_147805_1_, int p_147805_2_, int p_147805_3_, int p_147805_4_) { return rb.renderBlockByRenderType(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_); } + @Override public boolean renderBlockEndPortalFrame(BlockEndPortalFrame p_147743_1_, int p_147743_2_, int p_147743_3_, int p_147743_4_) { return rb.renderBlockEndPortalFrame(p_147743_1_, p_147743_2_, p_147743_3_, p_147743_4_); } + @Override public boolean renderBlockBed(Block p_147773_1_, int p_147773_2_, int p_147773_3_, int p_147773_4_) { return rb.renderBlockBed(p_147773_1_, p_147773_2_, p_147773_3_, p_147773_4_); } + @Override public boolean renderBlockBrewingStand(BlockBrewingStand p_147741_1_, int p_147741_2_, int p_147741_3_, int p_147741_4_) { return rb.renderBlockBrewingStand(p_147741_1_, p_147741_2_, p_147741_3_, p_147741_4_); } + @Override public boolean renderBlockCauldron(BlockCauldron p_147785_1_, int p_147785_2_, int p_147785_3_, int p_147785_4_) { return rb.renderBlockCauldron(p_147785_1_, p_147785_2_, p_147785_3_, p_147785_4_); } + @Override public boolean renderBlockFlowerpot(BlockFlowerPot p_147752_1_, int p_147752_2_, int p_147752_3_, int p_147752_4_) { return rb.renderBlockFlowerpot(p_147752_1_, p_147752_2_, p_147752_3_, p_147752_4_); } + @Override public boolean renderBlockAnvil(BlockAnvil p_147725_1_, int p_147725_2_, int p_147725_3_, int p_147725_4_) { return rb.renderBlockAnvil(p_147725_1_, p_147725_2_, p_147725_3_, p_147725_4_); } + @Override public boolean renderBlockAnvilMetadata(BlockAnvil p_147780_1_, int p_147780_2_, int p_147780_3_, int p_147780_4_, int p_147780_5_) { return rb.renderBlockAnvilMetadata(p_147780_1_, p_147780_2_, p_147780_3_, p_147780_4_, p_147780_5_); } + @Override public boolean renderBlockAnvilOrient(BlockAnvil p_147728_1_, int p_147728_2_, int p_147728_3_, int p_147728_4_, int p_147728_5_, boolean p_147728_6_) { return rb.renderBlockAnvilOrient(p_147728_1_, p_147728_2_, p_147728_3_, p_147728_4_, p_147728_5_, p_147728_6_); } + @Override public float renderBlockAnvilRotate(BlockAnvil p_147737_1_, int p_147737_2_, int p_147737_3_, int p_147737_4_, int p_147737_5_, float p_147737_6_, float p_147737_7_, float p_147737_8_, float p_147737_9_, boolean p_147737_10_, boolean p_147737_11_, int p_147737_12_) { return rb.renderBlockAnvilRotate(p_147737_1_, p_147737_2_, p_147737_3_, p_147737_4_, p_147737_5_, p_147737_6_, p_147737_7_, p_147737_8_, p_147737_9_, p_147737_10_, p_147737_11_, p_147737_12_); } + @Override public boolean renderBlockTorch(Block p_147791_1_, int p_147791_2_, int p_147791_3_, int p_147791_4_) { return rb.renderBlockTorch(p_147791_1_, p_147791_2_, p_147791_3_, p_147791_4_); } + @Override public boolean renderBlockRepeater(BlockRedstoneRepeater p_147759_1_, int p_147759_2_, int p_147759_3_, int p_147759_4_) { return rb.renderBlockRepeater(p_147759_1_, p_147759_2_, p_147759_3_, p_147759_4_); } + @Override public boolean renderBlockRedstoneComparator(BlockRedstoneComparator p_147781_1_, int p_147781_2_, int p_147781_3_, int p_147781_4_) { return rb.renderBlockRedstoneComparator(p_147781_1_, p_147781_2_, p_147781_3_, p_147781_4_); } + @Override public boolean renderBlockRedstoneDiode(BlockRedstoneDiode p_147748_1_, int p_147748_2_, int p_147748_3_, int p_147748_4_) { return rb.renderBlockRedstoneDiode(p_147748_1_, p_147748_2_, p_147748_3_, p_147748_4_); } + @Override public void renderBlockRedstoneDiodeMetadata(BlockRedstoneDiode p_147732_1_, int p_147732_2_, int p_147732_3_, int p_147732_4_, int p_147732_5_) { rb.renderBlockRedstoneDiodeMetadata(p_147732_1_, p_147732_2_, p_147732_3_, p_147732_4_, p_147732_5_); } + @Override public void renderPistonBaseAllFaces(Block p_147804_1_, int p_147804_2_, int p_147804_3_, int p_147804_4_) { rb.renderPistonBaseAllFaces(p_147804_1_, p_147804_2_, p_147804_3_, p_147804_4_); } + @Override public boolean renderPistonBase(Block p_147731_1_, int p_147731_2_, int p_147731_3_, int p_147731_4_, boolean p_147731_5_) { return rb.renderPistonBase(p_147731_1_, p_147731_2_, p_147731_3_, p_147731_4_, p_147731_5_); } + @Override public void renderPistonRodUD(double p_147763_1_, double p_147763_3_, double p_147763_5_, double p_147763_7_, double p_147763_9_, double p_147763_11_, float p_147763_13_, double p_147763_14_) { rb.renderPistonRodUD(p_147763_1_, p_147763_3_, p_147763_5_, p_147763_7_, p_147763_9_, p_147763_11_, p_147763_13_, p_147763_14_); } + @Override public void renderPistonRodSN(double p_147789_1_, double p_147789_3_, double p_147789_5_, double p_147789_7_, double p_147789_9_, double p_147789_11_, float p_147789_13_, double p_147789_14_) { rb.renderPistonRodSN(p_147789_1_, p_147789_3_, p_147789_5_, p_147789_7_, p_147789_9_, p_147789_11_, p_147789_13_, p_147789_14_); } + @Override public void renderPistonRodEW(double p_147738_1_, double p_147738_3_, double p_147738_5_, double p_147738_7_, double p_147738_9_, double p_147738_11_, float p_147738_13_, double p_147738_14_) { rb.renderPistonRodEW(p_147738_1_, p_147738_3_, p_147738_5_, p_147738_7_, p_147738_9_, p_147738_11_, p_147738_13_, p_147738_14_); } + @Override public void renderPistonExtensionAllFaces(Block p_147750_1_, int p_147750_2_, int p_147750_3_, int p_147750_4_, boolean p_147750_5_) { rb.renderPistonExtensionAllFaces(p_147750_1_, p_147750_2_, p_147750_3_, p_147750_4_, p_147750_5_); } + @Override public boolean renderPistonExtension(Block p_147809_1_, int p_147809_2_, int p_147809_3_, int p_147809_4_, boolean p_147809_5_) { return rb.renderPistonExtension(p_147809_1_, p_147809_2_, p_147809_3_, p_147809_4_, p_147809_5_); } + @Override public boolean renderBlockLever(Block p_147790_1_, int p_147790_2_, int p_147790_3_, int p_147790_4_) { return rb.renderBlockLever(p_147790_1_, p_147790_2_, p_147790_3_, p_147790_4_); } + @Override public boolean renderBlockTripWireSource(Block p_147723_1_, int p_147723_2_, int p_147723_3_, int p_147723_4_) { return rb.renderBlockTripWireSource(p_147723_1_, p_147723_2_, p_147723_3_, p_147723_4_); } + @Override public boolean renderBlockTripWire(Block p_147756_1_, int p_147756_2_, int p_147756_3_, int p_147756_4_) { return rb.renderBlockTripWire(p_147756_1_, p_147756_2_, p_147756_3_, p_147756_4_); } + @Override public boolean renderBlockFire(BlockFire p_147801_1_, int p_147801_2_, int p_147801_3_, int p_147801_4_) { return rb.renderBlockFire(p_147801_1_, p_147801_2_, p_147801_3_, p_147801_4_); } + @Override public boolean renderBlockRedstoneWire(Block p_147788_1_, int p_147788_2_, int p_147788_3_, int p_147788_4_) { return rb.renderBlockRedstoneWire(p_147788_1_, p_147788_2_, p_147788_3_, p_147788_4_); } + @Override public boolean renderBlockMinecartTrack(BlockRailBase p_147766_1_, int p_147766_2_, int p_147766_3_, int p_147766_4_) { return rb.renderBlockMinecartTrack(p_147766_1_, p_147766_2_, p_147766_3_, p_147766_4_); } + @Override public boolean renderBlockLadder(Block p_147794_1_, int p_147794_2_, int p_147794_3_, int p_147794_4_) { return rb.renderBlockLadder(p_147794_1_, p_147794_2_, p_147794_3_, p_147794_4_); } + @Override public boolean renderBlockVine(Block p_147726_1_, int p_147726_2_, int p_147726_3_, int p_147726_4_) { return rb.renderBlockVine(p_147726_1_, p_147726_2_, p_147726_3_, p_147726_4_); } + @Override public boolean renderBlockStainedGlassPane(Block p_147733_1_, int p_147733_2_, int p_147733_3_, int p_147733_4_) { return rb.renderBlockStainedGlassPane(p_147733_1_, p_147733_2_, p_147733_3_, p_147733_4_); } + @Override public boolean renderBlockPane(BlockPane p_147767_1_, int p_147767_2_, int p_147767_3_, int p_147767_4_) { return rb.renderBlockPane(p_147767_1_, p_147767_2_, p_147767_3_, p_147767_4_); } + @Override public boolean renderCrossedSquares(Block p_147746_1_, int p_147746_2_, int p_147746_3_, int p_147746_4_) { return rb.renderCrossedSquares(p_147746_1_, p_147746_2_, p_147746_3_, p_147746_4_); } + @Override public boolean renderBlockDoublePlant(BlockDoublePlant p_147774_1_, int p_147774_2_, int p_147774_3_, int p_147774_4_) { return rb.renderBlockDoublePlant(p_147774_1_, p_147774_2_, p_147774_3_, p_147774_4_); } + @Override public boolean renderBlockStem(Block p_147724_1_, int p_147724_2_, int p_147724_3_, int p_147724_4_) { return rb.renderBlockStem(p_147724_1_, p_147724_2_, p_147724_3_, p_147724_4_); } + @Override public boolean renderBlockCrops(Block p_147796_1_, int p_147796_2_, int p_147796_3_, int p_147796_4_) { return rb.renderBlockCrops(p_147796_1_, p_147796_2_, p_147796_3_, p_147796_4_); } + @Override public void renderTorchAtAngle(Block p_147747_1_, double p_147747_2_, double p_147747_4_, double p_147747_6_, double p_147747_8_, double p_147747_10_, int p_147747_12_) { rb.renderTorchAtAngle(p_147747_1_, p_147747_2_, p_147747_4_, p_147747_6_, p_147747_8_, p_147747_10_, p_147747_12_); } + @Override public void drawCrossedSquares(IIcon p_147765_1_, double p_147765_2_, double p_147765_4_, double p_147765_6_, float p_147765_8_) { rb.drawCrossedSquares(p_147765_1_, p_147765_2_, p_147765_4_, p_147765_6_, p_147765_8_); } + @Override public void renderBlockStemSmall(Block p_147730_1_, int p_147730_2_, double p_147730_3_, double p_147730_5_, double p_147730_7_, double p_147730_9_) { rb.renderBlockStemSmall(p_147730_1_, p_147730_2_, p_147730_3_, p_147730_5_, p_147730_7_, p_147730_9_); } + @Override public boolean renderBlockLilyPad(Block p_147783_1_, int p_147783_2_, int p_147783_3_, int p_147783_4_) { return rb.renderBlockLilyPad(p_147783_1_, p_147783_2_, p_147783_3_, p_147783_4_); } + @Override public void renderBlockStemBig(BlockStem p_147740_1_, int p_147740_2_, int p_147740_3_, double p_147740_4_, double p_147740_6_, double p_147740_8_, double p_147740_10_) { rb.renderBlockStemBig(p_147740_1_, p_147740_2_, p_147740_3_, p_147740_4_, p_147740_6_, p_147740_8_, p_147740_10_); } + @Override public void renderBlockCropsImpl(Block p_147795_1_, int p_147795_2_, double p_147795_3_, double p_147795_5_, double p_147795_7_) { rb.renderBlockCropsImpl(p_147795_1_, p_147795_2_, p_147795_3_, p_147795_5_, p_147795_7_); } + @Override public boolean renderBlockLiquid(Block p_147721_1_, int p_147721_2_, int p_147721_3_, int p_147721_4_) { return rb.renderBlockLiquid(p_147721_1_, p_147721_2_, p_147721_3_, p_147721_4_); } + @Override public float getLiquidHeight(int p_147729_1_, int p_147729_2_, int p_147729_3_, Material p_147729_4_) { return rb.getLiquidHeight(p_147729_1_, p_147729_2_, p_147729_3_, p_147729_4_); } + @Override public void renderBlockSandFalling(Block p_147749_1_, World p_147749_2_, int p_147749_3_, int p_147749_4_, int p_147749_5_, int p_147749_6_) { rb.renderBlockSandFalling(p_147749_1_, p_147749_2_, p_147749_3_, p_147749_4_, p_147749_5_, p_147749_6_); } + @Override public boolean renderBlockLog(Block p_147742_1_, int p_147742_2_, int p_147742_3_, int p_147742_4_) { return rb.renderBlockLog(p_147742_1_, p_147742_2_, p_147742_3_, p_147742_4_); } + @Override public boolean renderBlockQuartz(Block p_147779_1_, int p_147779_2_, int p_147779_3_, int p_147779_4_) { return rb.renderBlockQuartz(p_147779_1_, p_147779_2_, p_147779_3_, p_147779_4_); } + @Override public boolean renderStandardBlockWithAmbientOcclusion(Block p_147751_1_, int p_147751_2_, int p_147751_3_, int p_147751_4_, float p_147751_5_, float p_147751_6_, float p_147751_7_) { return rb.renderStandardBlockWithAmbientOcclusion(p_147751_1_, p_147751_2_, p_147751_3_, p_147751_4_, p_147751_5_, p_147751_6_, p_147751_7_); } + @Override public boolean renderStandardBlockWithAmbientOcclusionPartial(Block p_147808_1_, int p_147808_2_, int p_147808_3_, int p_147808_4_, float p_147808_5_, float p_147808_6_, float p_147808_7_) { return rb.renderStandardBlockWithAmbientOcclusionPartial(p_147808_1_, p_147808_2_, p_147808_3_, p_147808_4_, p_147808_5_, p_147808_6_, p_147808_7_); } + @Override public int getAoBrightness(int p_147778_1_, int p_147778_2_, int p_147778_3_, int p_147778_4_) { return rb.getAoBrightness(p_147778_1_, p_147778_2_, p_147778_3_, p_147778_4_); } + @Override public int mixAoBrightness(int p_147727_1_, int p_147727_2_, int p_147727_3_, int p_147727_4_, double p_147727_5_, double p_147727_7_, double p_147727_9_, double p_147727_11_) { return rb.mixAoBrightness(p_147727_1_, p_147727_2_, p_147727_3_, p_147727_4_, p_147727_5_, p_147727_7_, p_147727_9_, p_147727_11_); } + @Override public boolean renderStandardBlockWithColorMultiplier(Block p_147736_1_, int p_147736_2_, int p_147736_3_, int p_147736_4_, float p_147736_5_, float p_147736_6_, float p_147736_7_) { return rb.renderStandardBlockWithColorMultiplier(p_147736_1_, p_147736_2_, p_147736_3_, p_147736_4_, p_147736_5_, p_147736_6_, p_147736_7_); } + @Override public boolean renderBlockCocoa(BlockCocoa p_147772_1_, int p_147772_2_, int p_147772_3_, int p_147772_4_) { return rb.renderBlockCocoa(p_147772_1_, p_147772_2_, p_147772_3_, p_147772_4_); } + @Override public boolean renderBlockBeacon(BlockBeacon p_147797_1_, int p_147797_2_, int p_147797_3_, int p_147797_4_) { return rb.renderBlockBeacon(p_147797_1_, p_147797_2_, p_147797_3_, p_147797_4_); } + @Override public boolean renderBlockCactus(Block p_147755_1_, int p_147755_2_, int p_147755_3_, int p_147755_4_) { return rb.renderBlockCactus(p_147755_1_, p_147755_2_, p_147755_3_, p_147755_4_); } + @Override public boolean renderBlockCactusImpl(Block p_147754_1_, int p_147754_2_, int p_147754_3_, int p_147754_4_, float p_147754_5_, float p_147754_6_, float p_147754_7_) { return rb.renderBlockCactusImpl(p_147754_1_, p_147754_2_, p_147754_3_, p_147754_4_, p_147754_5_, p_147754_6_, p_147754_7_); } + @Override public boolean renderBlockFence(BlockFence p_147735_1_, int p_147735_2_, int p_147735_3_, int p_147735_4_) { return rb.renderBlockFence(p_147735_1_, p_147735_2_, p_147735_3_, p_147735_4_); } + @Override public boolean renderBlockWall(BlockWall p_147807_1_, int p_147807_2_, int p_147807_3_, int p_147807_4_) { return rb.renderBlockWall(p_147807_1_, p_147807_2_, p_147807_3_, p_147807_4_); } + @Override public boolean renderBlockDragonEgg(BlockDragonEgg p_147802_1_, int p_147802_2_, int p_147802_3_, int p_147802_4_) { return rb.renderBlockDragonEgg(p_147802_1_, p_147802_2_, p_147802_3_, p_147802_4_); } + @Override public boolean renderBlockFenceGate(BlockFenceGate p_147776_1_, int p_147776_2_, int p_147776_3_, int p_147776_4_) { return rb.renderBlockFenceGate(p_147776_1_, p_147776_2_, p_147776_3_, p_147776_4_); } + @Override public boolean renderBlockHopper(BlockHopper p_147803_1_, int p_147803_2_, int p_147803_3_, int p_147803_4_) { return rb.renderBlockHopper(p_147803_1_, p_147803_2_, p_147803_3_, p_147803_4_); } + @Override public boolean renderBlockHopperMetadata(BlockHopper p_147799_1_, int p_147799_2_, int p_147799_3_, int p_147799_4_, int p_147799_5_, boolean p_147799_6_) { return rb.renderBlockHopperMetadata(p_147799_1_, p_147799_2_, p_147799_3_, p_147799_4_, p_147799_5_, p_147799_6_); } + @Override public boolean renderBlockStairs(BlockStairs p_147722_1_, int p_147722_2_, int p_147722_3_, int p_147722_4_) { return rb.renderBlockStairs(p_147722_1_, p_147722_2_, p_147722_3_, p_147722_4_); } + @Override public boolean renderBlockDoor(Block p_147760_1_, int p_147760_2_, int p_147760_3_, int p_147760_4_) { return rb.renderBlockDoor(p_147760_1_, p_147760_2_, p_147760_3_, p_147760_4_); } + @Override public void renderFaceYNeg(Block p_147768_1_, double p_147768_2_, double p_147768_4_, double p_147768_6_, IIcon p_147768_8_) { rb.renderFaceYNeg(p_147768_1_, p_147768_2_, p_147768_4_, p_147768_6_, p_147768_8_); } + @Override public void renderFaceYPos(Block p_147806_1_, double p_147806_2_, double p_147806_4_, double p_147806_6_, IIcon p_147806_8_) { rb.renderFaceYPos(p_147806_1_, p_147806_2_, p_147806_4_, p_147806_6_, p_147806_8_); } + @Override public void renderFaceZNeg(Block p_147761_1_, double p_147761_2_, double p_147761_4_, double p_147761_6_, IIcon p_147761_8_) { rb.renderFaceZNeg(p_147761_1_, p_147761_2_, p_147761_4_, p_147761_6_, p_147761_8_); } + @Override public void renderFaceZPos(Block p_147734_1_, double p_147734_2_, double p_147734_4_, double p_147734_6_, IIcon p_147734_8_) { rb.renderFaceZPos(p_147734_1_, p_147734_2_, p_147734_4_, p_147734_6_, p_147734_8_); } + @Override public void renderFaceXNeg(Block p_147798_1_, double p_147798_2_, double p_147798_4_, double p_147798_6_, IIcon p_147798_8_) { rb.renderFaceXNeg(p_147798_1_, p_147798_2_, p_147798_4_, p_147798_6_, p_147798_8_); } + @Override public void renderFaceXPos(Block p_147764_1_, double p_147764_2_, double p_147764_4_, double p_147764_6_, IIcon p_147764_8_) { rb.renderFaceXPos(p_147764_1_, p_147764_2_, p_147764_4_, p_147764_6_, p_147764_8_); } + @Override public void renderBlockAsItem(Block p_147800_1_, int p_147800_2_, float p_147800_3_) { rb.renderBlockAsItem(p_147800_1_, p_147800_2_, p_147800_3_); } + @Override public IIcon getBlockIcon(Block p_147793_1_, IBlockAccess p_147793_2_, int p_147793_3_, int p_147793_4_, int p_147793_5_, int p_147793_6_) { return rb.getBlockIcon(p_147793_1_, p_147793_2_, p_147793_3_, p_147793_4_, p_147793_5_, p_147793_6_); } + @Override public IIcon getBlockIconFromSideAndMetadata(Block block, int side, int meta) { return rb.getBlockIconFromSideAndMetadata(block, side, meta); } + @Override public IIcon getBlockIconFromSide(Block block, int side) { return rb.getBlockIconFromSide(block, side); } + @Override public IIcon getBlockIcon(Block block) { return rb.getBlockIcon(block); } + @Override public IIcon getIconSafe(IIcon icon) { return rb.getIconSafe(icon); } +} diff --git a/src/main/java/com/hbm/render/util/RenderInfoSystem.java b/src/main/java/com/hbm/render/util/RenderInfoSystem.java index 94f7760d2..773c5e618 100644 --- a/src/main/java/com/hbm/render/util/RenderInfoSystem.java +++ b/src/main/java/com/hbm/render/util/RenderInfoSystem.java @@ -7,7 +7,7 @@ import java.util.List; import org.lwjgl.opengl.GL11; -import com.hbm.config.GeneralConfig; +import com.hbm.config.ClientConfig; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent; @@ -49,6 +49,9 @@ public class RenderInfoSystem { if(event.type != ElementType.CROSSHAIRS) return; + + //this.messages.put(-666, new InfoEntry(Minecraft.getMinecraft().theWorld.getCelestialAngle(0) + "", 666_666)); + //this.messages.put(-665, new InfoEntry(Minecraft.getMinecraft().theWorld.getMoonPhase() + "", 666_666)); if(this.messages.isEmpty()) return; @@ -72,10 +75,13 @@ public class RenderInfoSystem { longest = length; } - int mode = GeneralConfig.hintPos; + int mode = ClientConfig.INFO_POSITION.get(); int pX = mode == 0 ? 15 : mode == 1 ? (resolution.getScaledWidth() - longest - 15) : mode == 2 ? (resolution.getScaledWidth() / 2 + 7) : (resolution.getScaledWidth() / 2 - longest - 6); int pZ = mode == 0 ? 15 : mode == 1 ? 15 : resolution.getScaledHeight() / 2 + 7; + + pX += ClientConfig.INFO_OFFSET_HORIZONTAL.get(); + pZ += ClientConfig.INFO_OFFSET_VERTICAL.get(); int side = pX + 5 + longest; int height = messages.size() * 10 + pZ + 2; @@ -164,13 +170,8 @@ public class RenderInfoSystem { @Override public int compareTo(Object o) { - - if(!(o instanceof InfoEntry)) { - return 0; - } - + if(!(o instanceof InfoEntry)) { return 0; } InfoEntry other = (InfoEntry) o; - return this.millis < other.millis ? -1 : this.millis > other.millis ? 1 : 0; } } diff --git a/src/main/java/com/hbm/render/util/RenderMiscEffects.java b/src/main/java/com/hbm/render/util/RenderMiscEffects.java index 037b7e45e..7e944e084 100644 --- a/src/main/java/com/hbm/render/util/RenderMiscEffects.java +++ b/src/main/java/com/hbm/render/util/RenderMiscEffects.java @@ -10,60 +10,61 @@ import net.minecraft.world.World; import net.minecraftforge.client.model.IModelCustom; public class RenderMiscEffects { - + public static ResourceLocation glint = new ResourceLocation(RefStrings.MODID + ":textures/misc/glint.png"); - + public static ResourceLocation glintBF = new ResourceLocation(RefStrings.MODID + ":textures/misc/glintBF.png"); + public static void renderClassicGlint(World world, float interpol, IModelCustom model, String part, float colorMod, float r, float g, float b, float speed, float scale) { - GL11.glPushMatrix(); - float offset = Minecraft.getMinecraft().thePlayer.ticksExisted + interpol; - GL11.glEnable(GL11.GL_BLEND); - float color = colorMod; - GL11.glColor4f(color, color, color, 1.0F); - GL11.glDepthFunc(GL11.GL_EQUAL); - GL11.glDepthMask(false); + GL11.glPushMatrix(); + float offset = Minecraft.getMinecraft().thePlayer.ticksExisted + interpol; + GL11.glEnable(GL11.GL_BLEND); + float color = colorMod; + GL11.glColor4f(color, color, color, 1.0F); + GL11.glDepthFunc(GL11.GL_EQUAL); + GL11.glDepthMask(false); - for (int k = 0; k < 2; ++k) { - - GL11.glDisable(GL11.GL_LIGHTING); - - float glintColor = 0.76F; - - GL11.glColor4f(r * glintColor, g * glintColor, b * glintColor, 1.0F); - GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glLoadIdentity(); - - float movement = offset * (0.001F + (float)k * 0.003F) * speed; - - GL11.glScalef(scale, scale, scale); - GL11.glRotatef(30.0F - (float)k * 60.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.0F, movement, 0.0F); - - GL11.glMatrixMode(GL11.GL_MODELVIEW); - - if("all".equals(part)) - model.renderAll(); - else - model.renderPart(part); - } + for(int k = 0; k < 2; ++k) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glDepthMask(true); - GL11.glLoadIdentity(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glPopMatrix(); - } + GL11.glDisable(GL11.GL_LIGHTING); + + float glintColor = 0.76F; + + GL11.glColor4f(r * glintColor, g * glintColor, b * glintColor, 1.0F); + GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glLoadIdentity(); + + float movement = offset * (0.001F + (float) k * 0.003F) * speed; + + GL11.glScalef(scale, scale, scale); + GL11.glRotatef(30.0F - (float) k * 60.0F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(0.0F, movement, 0.0F); + + GL11.glMatrixMode(GL11.GL_MODELVIEW); + + if("all".equals(part)) + model.renderAll(); + else + model.renderPart(part); + } + + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glDepthMask(true); + GL11.glLoadIdentity(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glPopMatrix(); + } public static void renderClassicGlint(World world, float interpol, IModelCustom model, String part, float r, float g, float b, float speed, float scale) { renderClassicGlint(world, interpol, model, part, 0.5F, r, g, b, speed, scale); - } + } public static void renderClassicGlint(World world, float interpol, IModelCustom model, String part) { - renderClassicGlint(world, interpol, model, part, 0.5F, 0.25F, 0.8F, 20.0F, 1F/3F); - } + renderClassicGlint(world, interpol, model, part, 0.5F, 0.25F, 0.8F, 20.0F, 1F / 3F); + } } diff --git a/src/main/java/com/hbm/render/util/RenderOverhead.java b/src/main/java/com/hbm/render/util/RenderOverhead.java index 4c3759a32..f5270532f 100644 --- a/src/main/java/com/hbm/render/util/RenderOverhead.java +++ b/src/main/java/com/hbm/render/util/RenderOverhead.java @@ -9,13 +9,18 @@ import java.util.Map.Entry; import org.lwjgl.opengl.GL11; import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.wiaj.WorldInAJar; +import com.hbm.util.Clock; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.client.renderer.entity.RendererLivingEntity; +import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; @@ -107,9 +112,9 @@ public class RenderOverhead { GL11.glPopMatrix(); } } - + public static void renderThermalSight(float partialTicks) { - + EntityPlayer player = Minecraft.getMinecraft().thePlayer; double x = player.prevPosX + (player.posX - player.prevPosX) * partialTicks; double y = player.prevPosY + (player.posY - player.prevPosY) * partialTicks; @@ -123,20 +128,20 @@ public class RenderOverhead { GL11.glEnable(GL11.GL_BLEND); GL11.glDisable(GL11.GL_DEPTH_TEST); GL11.glBlendFunc(GL11.GL_SRC_ALPHA,GL11.GL_ONE_MINUS_SRC_ALPHA); - + Tessellator tess = Tessellator.instance; tess.startDrawing(GL11.GL_LINES); for(Object o : player.worldObj.loadedEntityList) { - + Entity ent = (Entity) o; - + if(ent == player) continue; - + if(ent.getDistanceSqToEntity(player) > 4096) continue; - + if(ent instanceof IBossDisplayData) tess.setColorOpaque_F(1F, 0.5F, 0F); else if(ent instanceof IMob) @@ -155,6 +160,8 @@ public class RenderOverhead { } else continue; + if(ent instanceof EntityLivingBase && ((EntityLivingBase) ent).getHealth() <= 0) tess.setColorOpaque_F(0F, 0F, 0F); + AxisAlignedBB bb = ent.boundingBox; tess.addVertex(bb.minX - x, bb.maxY - y, bb.minZ - z); tess.addVertex(bb.minX - x, bb.minY - y, bb.minZ - z); @@ -181,11 +188,11 @@ public class RenderOverhead { tess.addVertex(bb.minX - x, bb.minY - y, bb.minZ - z); tess.addVertex(bb.minX - x, bb.minY - y, bb.maxZ - z); } - + tess.draw(); - + tess.setColorOpaque_F(1F, 1F, 1F); - + GL11.glEnable(GL11.GL_COLOR_MATERIAL); GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glDisable(GL11.GL_POINT_SMOOTH); @@ -196,15 +203,15 @@ public class RenderOverhead { public static final HashMap queuedMarkers = new HashMap(); private static final HashMap markers = new HashMap(); - + public static void renderMarkers(float partialTicks) { - + markers.putAll(queuedMarkers); queuedMarkers.clear(); - + if(markers.isEmpty()) return; - + EntityPlayer player = Minecraft.getMinecraft().thePlayer; double x = player.prevPosX + (player.posX - player.prevPosX) * partialTicks; double y = player.prevPosY + (player.posY - player.prevPosY) * partialTicks; @@ -218,10 +225,10 @@ public class RenderOverhead { GL11.glEnable(GL11.GL_BLEND); GL11.glDisable(GL11.GL_DEPTH_TEST); GL11.glBlendFunc(GL11.GL_SRC_ALPHA,GL11.GL_ONE_MINUS_SRC_ALPHA); - + Tessellator tess = Tessellator.instance; tess.startDrawing(GL11.GL_LINES); - + Iterator> it = markers.entrySet().iterator(); List> tagList = new ArrayList(); while(it.hasNext()) { @@ -232,14 +239,14 @@ public class RenderOverhead { int pX = pos.getX(); int pY = pos.getY(); int pZ = pos.getZ(); - + double minX = marker.minX; double minY = marker.minY; double minZ = marker.minZ; double maxX = marker.maxX; double maxY = marker.maxY; double maxZ = marker.maxZ; - + tess.setColorOpaque_I(marker.color); tess.addVertex(pX + minX - x, pY + maxY - y, pZ + minZ - z); tess.addVertex(pX + minX - x, pY + minY - y, pZ + minZ - z); @@ -265,10 +272,10 @@ public class RenderOverhead { tess.addVertex(pX + maxX - x, pY + minY - y, pZ + maxZ - z); tess.addVertex(pX + minX - x, pY + minY - y, pZ + minZ - z); tess.addVertex(pX + minX - x, pY + minY - y, pZ + maxZ - z); - + tagList.add(entry); - - if(marker.expire > 0 && System.currentTimeMillis() > marker.expire) { + + if(marker.expire > 0 && Clock.get_ms() > marker.expire) { it.remove(); } else if(marker.maxDist > 0) { double aX = pX + (maxX - minX) / 2D; @@ -280,17 +287,17 @@ public class RenderOverhead { } } } - + tess.draw(); - + tess.setColorOpaque_F(1F, 1F, 1F); - + GL11.glEnable(GL11.GL_COLOR_MATERIAL); GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glDisable(GL11.GL_POINT_SMOOTH); GL11.glDisable(GL11.GL_BLEND); GL11.glEnable(GL11.GL_DEPTH_TEST); - + for(Entry entry : tagList) { BlockPos pos = entry.getKey(); @@ -299,14 +306,14 @@ public class RenderOverhead { int pX = pos.getX(); int pY = pos.getY(); int pZ = pos.getZ(); - + double minX = marker.minX; double minY = marker.minY; double minZ = marker.minZ; double maxX = marker.maxX; double maxY = marker.maxY; double maxZ = marker.maxZ; - + double aX = pX + (maxX - minX) / 2D; double aY = pY + (maxY - minY) / 2D; double aZ = pZ + (maxZ - minZ) / 2D; @@ -323,16 +330,16 @@ public class RenderOverhead { if(label == null) { label = ""; } - + if(Math.abs(look.xCoord - diff.xCoord) + Math.abs(look.yCoord - diff.yCoord) + Math.abs(look.zCoord - diff.zCoord) < 0.15) { label += (!label.isEmpty() ? " " : "") + ((int) sqrt) + "m"; } - + if(!label.isEmpty()) drawTag(1F, len, label, vec.xCoord, vec.yCoord, vec.zCoord, 100, true, marker.color, marker.color); } GL11.glPopMatrix(); } - + public static class Marker { double minX = 0; double minY = 0; @@ -340,30 +347,103 @@ public class RenderOverhead { double maxX = 1; double maxY = 1; double maxZ = 1; - + int color; String label; - + long expire; double maxDist; - + public Marker(int color) { this.color = color; } - + public Marker setExpire(long expire) { this.expire = expire; return this; } - + public Marker setDist(double maxDist) { this.maxDist = maxDist; return this; } - + public Marker withLabel(String label) { this.label = label; return this; } } + + private static WorldInAJar actionPreviewWorld; + private static int offsetX; + private static int offsetY; + private static int offsetZ; + private static boolean actionPreviewSuccess; + + private static boolean clearPreview; + + public static void setActionPreview(WorldInAJar wiaj, int x, int y, int z, boolean canAction) { + actionPreviewWorld = wiaj; + offsetX = x; + offsetY = y; + offsetZ = z; + actionPreviewSuccess = canAction; + } + + // Prevents thread unsafe null exception + public static void clearActionPreview() { + clearPreview = true; + } + + public static void renderActionPreview(float partialTicks) { + if(clearPreview) { + actionPreviewWorld = null; + clearPreview = false; + } + + if(actionPreviewWorld == null) return; + + RenderBlocks renderer = new RenderBlocks(actionPreviewWorld); + + renderer.enableAO = true; + actionPreviewWorld.lightlevel = 15; + + RenderHelper.disableStandardItemLighting(); + GL11.glDisable(GL11.GL_BLEND); + + GL11.glPushMatrix(); + { + + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + double x = player.prevPosX + (player.posX - player.prevPosX) * partialTicks; + double y = player.prevPosY + (player.posY - player.prevPosY) * partialTicks; + double z = player.prevPosZ + (player.posZ - player.prevPosZ) * partialTicks; + + GL11.glTranslated(offsetX - x, offsetY - y, offsetZ - z); + + Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.locationBlocksTexture); + GL11.glShadeModel(GL11.GL_SMOOTH); + Tessellator.instance.startDrawingQuads(); + + Tessellator.instance.disableColor(); + if(actionPreviewSuccess) { + GL11.glColor3f(0, 1, 1); + } else { + GL11.glColor3f(1, 0, 0); + } + + for(int ix = 0; ix < actionPreviewWorld.sizeX; ix++) { + for(int iy = 0; iy < actionPreviewWorld.sizeY; iy++) { + for(int iz = 0; iz < actionPreviewWorld.sizeZ; iz++) { + try { renderer.renderBlockByRenderType(actionPreviewWorld.getBlock(ix, iy, iz), ix, iy, iz); } catch(Exception ex) { } + } + } + } + + Tessellator.instance.draw(); + GL11.glShadeModel(GL11.GL_FLAT); + + } + GL11.glPopMatrix(); + } } diff --git a/src/main/java/com/hbm/render/util/RenderScreenOverlay.java b/src/main/java/com/hbm/render/util/RenderScreenOverlay.java index 512eb41af..1dce4ce5f 100644 --- a/src/main/java/com/hbm/render/util/RenderScreenOverlay.java +++ b/src/main/java/com/hbm/render/util/RenderScreenOverlay.java @@ -3,10 +3,14 @@ package com.hbm.render.util; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; +import com.hbm.config.ClientConfig; import com.hbm.extprop.HbmPlayerProps; import com.hbm.interfaces.Spaghetti; import com.hbm.interfaces.Untested; +import com.hbm.items.weapon.sedna.Crosshair; +import com.hbm.items.weapon.sedna.impl.ItemGunStinger; import com.hbm.lib.RefStrings; +import com.hbm.util.Clock; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; @@ -23,8 +27,8 @@ import net.minecraftforge.client.GuiIngameForge; public class RenderScreenOverlay { - private static final ResourceLocation misc = new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_misc.png"); - private static final RenderItem itemRenderer = RenderItem.getInstance(); + public static final ResourceLocation misc = new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_misc.png"); + public static final RenderItem itemRenderer = RenderItem.getInstance(); private static long lastSurvey; private static float prevResult; @@ -36,8 +40,6 @@ public class RenderScreenOverlay { GL11.glPushMatrix(); GL11.glEnable(GL11.GL_BLEND); - // GL11.glDisable(GL11.GL_DEPTH_TEST); - // GL11.glDepthMask(false); OpenGlHelper.glBlendFunc(770, 771, 1, 0); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glDisable(GL11.GL_ALPHA_TEST); @@ -46,8 +48,8 @@ public class RenderScreenOverlay { radiation = lastResult - prevResult; - if(System.currentTimeMillis() >= lastSurvey + 1000) { - lastSurvey = System.currentTimeMillis(); + if(Clock.get_ms() >= lastSurvey + 1000) { + lastSurvey = Clock.get_ms(); prevResult = lastResult; lastResult = in; } @@ -57,8 +59,8 @@ public class RenderScreenOverlay { int bar = getScaled(in, maxRad, 74); - int posX = 16; - int posY = resolution.getScaledHeight() - 18 - 2; + int posX = 16 + ClientConfig.GEIGER_OFFSET_HORIZONTAL.get(); + int posY = resolution.getScaledHeight() - 20 - ClientConfig.GEIGER_OFFSET_VERTICAL.get(); Minecraft.getMinecraft().renderEngine.bindTexture(misc); gui.drawTexturedModalRect(posX, posY, 0, 0, 94, 18); @@ -96,7 +98,7 @@ public class RenderScreenOverlay { public static void renderCustomCrosshairs(ScaledResolution resolution, Gui gui, Crosshair cross) { - + if(cross == Crosshair.NONE) { Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); return; @@ -105,13 +107,26 @@ public class RenderScreenOverlay { int size = cross.size; GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(misc); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(GL11.GL_ONE_MINUS_DST_COLOR, GL11.GL_ONE_MINUS_SRC_COLOR, 1, 0); - gui.drawTexturedModalRect(resolution.getScaledWidth() / 2 - (size / 2), resolution.getScaledHeight() / 2 - (size / 2), cross.x, cross.y, size, size); - OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0); - GL11.glDisable(GL11.GL_BLEND); - GL11.glPopMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(misc); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(GL11.GL_ONE_MINUS_DST_COLOR, GL11.GL_ONE_MINUS_SRC_COLOR, 1, 0); + gui.drawTexturedModalRect(resolution.getScaledWidth() / 2 - (size / 2), resolution.getScaledHeight() / 2 - (size / 2), cross.x, cross.y, size, size); + OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0); + GL11.glDisable(GL11.GL_BLEND); + GL11.glPopMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); + } + + public static void renderStingerLockon(ScaledResolution resolution, Gui gui) { + + int progress = (int) (ItemGunStinger.lockon * 28); + + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(misc); + GL11.glDisable(GL11.GL_BLEND); + gui.drawTexturedModalRect(resolution.getScaledWidth() / 2 - 15, resolution.getScaledHeight() / 2 + 18, 146, 18, 30, 10); + gui.drawTexturedModalRect(resolution.getScaledWidth() / 2 - 14, resolution.getScaledHeight() / 2 + 19, 147, 29, progress, 8); + GL11.glPopMatrix(); Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); } @@ -352,37 +367,4 @@ public class RenderScreenOverlay { GL11.glEnable(GL11.GL_ALPHA_TEST); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); } - - public enum Crosshair { - - NONE(0, 0, 0), - CROSS(1, 55, 16), - CIRCLE(19, 55, 16), - SEMI(37, 55, 16), - KRUCK(55, 55, 16), - DUAL(1, 73, 16), - SPLIT(19, 73, 16), - CLASSIC(37, 73, 16), - BOX(55, 73, 16), - L_CROSS(0, 90, 32), - L_KRUCK(32, 90, 32), - L_CLASSIC(64, 90, 32), - L_CIRCLE(96, 90, 32), - L_SPLIT(0, 122, 32), - L_ARROWS(32, 122, 32), - L_BOX(64, 122, 32), - L_CIRCUMFLEX(96, 122, 32), - L_RAD(0, 154, 32); - - public int x; - public int y; - public int size; - - private Crosshair(int x, int y, int size) { - this.x = x; - this.y = y; - this.size = size; - } - } - } diff --git a/src/main/java/com/hbm/render/world/RenderNTMSkyboxChainloader.java b/src/main/java/com/hbm/render/world/RenderNTMSkyboxChainloader.java index 1156015c6..5d5b98e15 100644 --- a/src/main/java/com/hbm/render/world/RenderNTMSkyboxChainloader.java +++ b/src/main/java/com/hbm/render/world/RenderNTMSkyboxChainloader.java @@ -3,6 +3,7 @@ package com.hbm.render.world; import org.lwjgl.opengl.GL11; import com.hbm.extprop.HbmLivingProps; +import com.hbm.main.ModEventHandlerClient; import cpw.mods.fml.client.FMLClientHandler; import net.minecraft.client.Minecraft; @@ -23,6 +24,7 @@ public class RenderNTMSkyboxChainloader extends IRenderHandler { //why an abstra private IRenderHandler parent; private static final ResourceLocation digammaStar = new ResourceLocation("hbm:textures/misc/star_digamma.png"); + private static final ResourceLocation lodeStar = new ResourceLocation("hbm:textures/misc/star_lode.png"); private static final ResourceLocation bobmazonSat = new ResourceLocation("hbm:textures/misc/sat_bobmazon.png"); /* @@ -54,6 +56,8 @@ public class RenderNTMSkyboxChainloader extends IRenderHandler { //why an abstra world.provider.setSkyRenderer(this); } + Tessellator tessellator = Tessellator.instance; + GL11.glPushMatrix(); GL11.glDepthMask(false); @@ -63,6 +67,26 @@ public class RenderNTMSkyboxChainloader extends IRenderHandler { //why an abstra GL11.glDisable(GL11.GL_FOG); OpenGlHelper.glBlendFunc(770, 1, 1, 0); + float var12 = 0.5F + world.rand.nextFloat() * 0.25F; + double dist = 100D; + + if(ModEventHandlerClient.renderLodeStar) { + GL11.glPushMatrix(); + GL11.glRotatef(-75.0F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(10.0F, 0.0F, 1.0F, 0.0F); + GL11.glColor4f(1F, 1F, 1F, 1.0F); + FMLClientHandler.instance().getClient().renderEngine.bindTexture(lodeStar); + + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-var12, dist, -var12, 0.0D, 0.0D); + tessellator.addVertexWithUV(var12, dist, -var12, 0.0D, 1.0D); + tessellator.addVertexWithUV(var12, dist, var12, 1.0D, 1.0D); + tessellator.addVertexWithUV(-var12, dist, var12, 1.0D, 0.0D); + tessellator.draw(); + + GL11.glPopMatrix(); + } + float brightness = (float) Math.sin(world.getCelestialAngle(partialTicks) * Math.PI); brightness *= brightness; @@ -77,10 +101,9 @@ public class RenderNTMSkyboxChainloader extends IRenderHandler { //why an abstra FMLClientHandler.instance().getClient().renderEngine.bindTexture(digammaStar); float digamma = HbmLivingProps.getDigamma(Minecraft.getMinecraft().thePlayer); - float var12 = 1F * (1 + digamma * 0.25F); - double dist = 100D - digamma * 2.5; + var12 = 1F * (1 + digamma * 0.25F); + dist = 100D - digamma * 2.5; - Tessellator tessellator = Tessellator.instance; tessellator.startDrawingQuads(); tessellator.addVertexWithUV(-var12, dist, -var12, 0.0D, 0.0D); tessellator.addVertexWithUV(var12, dist, -var12, 0.0D, 1.0D); diff --git a/src/main/java/com/hbm/saveddata/AuxSavedData.java b/src/main/java/com/hbm/saveddata/AuxSavedData.java deleted file mode 100644 index a768e79f5..000000000 --- a/src/main/java/com/hbm/saveddata/AuxSavedData.java +++ /dev/null @@ -1,126 +0,0 @@ -package com.hbm.saveddata; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; -import net.minecraft.world.WorldSavedData; - -public class AuxSavedData extends WorldSavedData { - - public List data = new ArrayList(); - - public AuxSavedData(String p_i2141_1_) { - super(p_i2141_1_); - } - - public AuxSavedData() - { - super("hbmauxdata"); - this.markDirty(); - } - - static class DataPair { - - String key = ""; - int value; - - public DataPair() { } - - public DataPair(String s, int i) { - key = s; - value = i; - } - - void readFromNBT(NBTTagCompound nbt, int i) { - this.key = nbt.getString("aux_key_" + i); - this.value = nbt.getInteger("aux_val_" + i); - } - - void writeToNBT(NBTTagCompound nbt, int i) { - nbt.setString("aux_key_" + i, key); - nbt.setInteger("aux_val_" + i, value); - } - - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - - int count = nbt.getInteger("dCount"); - - for(int i = 0; i < count; i++) { - DataPair struct = new DataPair(); - struct.readFromNBT(nbt, i); - - data.add(struct); - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - - nbt.setInteger("dCount", data.size()); - - for(int i = 0; i < data.size(); i++) { - data.get(i).writeToNBT(nbt, i); - } - } - - public static AuxSavedData getData(World worldObj) { - - AuxSavedData data = (AuxSavedData)worldObj.perWorldStorage.loadData(AuxSavedData.class, "hbmauxdata"); - if(data == null) { - worldObj.perWorldStorage.setData("hbmauxdata", new AuxSavedData()); - - data = (AuxSavedData)worldObj.perWorldStorage.loadData(AuxSavedData.class, "hbmauxdata"); - } - - return data; - } - - public static void setThunder(World world, int dura) { - AuxSavedData data = getData(world); - - if(data.data == null) { - data.data = new ArrayList(); - data.data.add(new DataPair("thunder", dura)); - - } else { - - DataPair thunder = null; - - for(DataPair pair : data.data) { - if(pair.key.equals("thunder")) { - thunder = pair; - break; - } - } - - if(thunder == null) { - data.data.add(new DataPair("thunder", dura)); - } else { - thunder.value = dura; - } - } - - data.markDirty(); - } - - public static int getThunder(World world) { - - AuxSavedData data = getData(world); - - if(data == null) - return 0; - - for(DataPair pair : data.data) { - if(pair.key.equals("thunder")) { - return pair.value; - } - } - - return 0; - } -} diff --git a/src/main/java/com/hbm/saveddata/BroadcastSaveStructure.java b/src/main/java/com/hbm/saveddata/BroadcastSaveStructure.java deleted file mode 100644 index 1777d65ea..000000000 --- a/src/main/java/com/hbm/saveddata/BroadcastSaveStructure.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.hbm.saveddata; - -import java.util.Arrays; - -import net.minecraft.nbt.NBTTagCompound; - -public class BroadcastSaveStructure { - - public int broadcastID; - public BroadcastType broadcastType; - public int posX; - public int posZ; - - public BroadcastSaveStructure() { } - - public BroadcastSaveStructure(int id, BroadcastType type) { - broadcastID = id; - broadcastType = type; - } - - public enum BroadcastType { - - DEMO; - - public static BroadcastType getEnum(int i) { - if(i < BroadcastType.values().length) - return BroadcastType.values()[i]; - else - return BroadcastType.DEMO; - } - - public int getID() { - return Arrays.asList(BroadcastType.values()).indexOf(this); - } - } - - public void readFromNBT(NBTTagCompound nbt, int index) { - broadcastID = nbt.getInteger("bc_" + index + "_id"); - broadcastType = BroadcastType.getEnum(nbt.getInteger("bc_" + index + "_type")); - posX = nbt.getInteger("bc_" + index + "_x"); - posZ = nbt.getInteger("bc_" + index + "_z"); - } - - public void writeToNBT(NBTTagCompound nbt, int index) { - nbt.setInteger("bc_" + index + "_id", broadcastID); - nbt.setInteger("bc_" + index + "_type", broadcastType.getID()); - nbt.setInteger("bc_" + index + "_x", posX); - nbt.setInteger("bc_" + index + "_z", posZ); - } - -} diff --git a/src/main/java/com/hbm/saveddata/BroadcastSavedData.java b/src/main/java/com/hbm/saveddata/BroadcastSavedData.java deleted file mode 100644 index 64abedb3a..000000000 --- a/src/main/java/com/hbm/saveddata/BroadcastSavedData.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.hbm.saveddata; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.WorldSavedData; - -public class BroadcastSavedData extends WorldSavedData { - - public int bcCount; - - public List broadcasts = new ArrayList(); - - public BroadcastSavedData(String p_i2141_1_) { - super(p_i2141_1_); - } - - public BroadcastSavedData() - { - super("broadcasts"); - this.markDirty(); - } - - public boolean isIdTaken(int id) { - - return getBroadcastFromId(id) != null; - } - - public BroadcastSaveStructure getBroadcastFromId(int id) { - - for(BroadcastSaveStructure bc : broadcasts) - if(bc.broadcastID == id) - return bc; - - return null; - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - bcCount = nbt.getInteger("bcCount"); - - for(int i = 0; i < bcCount; i++) { - BroadcastSaveStructure struct = new BroadcastSaveStructure(); - struct.readFromNBT(nbt, i); - - broadcasts.add(struct); - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - nbt.setInteger("bcCount", broadcasts.size()); - - for(int i = 0; i < broadcasts.size(); i++) { - broadcasts.get(i).writeToNBT(nbt, i); - } - } - -} diff --git a/src/main/java/com/hbm/saveddata/satellites/SatelliteMiner.java b/src/main/java/com/hbm/saveddata/satellites/SatelliteMiner.java index 8481a54e9..daca3b22d 100644 --- a/src/main/java/com/hbm/saveddata/satellites/SatelliteMiner.java +++ b/src/main/java/com/hbm/saveddata/satellites/SatelliteMiner.java @@ -2,6 +2,7 @@ package com.hbm.saveddata.satellites; import com.hbm.itempool.ItemPoolsSatellite; import com.hbm.util.WeightedRandomObject; +import net.minecraft.item.Item; import net.minecraft.nbt.NBTTagCompound; import java.util.HashMap; @@ -13,15 +14,15 @@ public class SatelliteMiner extends Satellite { private static final HashMap, String> CARGO = new HashMap<>(); public long lastOp; - + public SatelliteMiner() { this.satIface = Interfaces.NONE; } - + public void writeToNBT(NBTTagCompound nbt) { nbt.setLong("lastOp", lastOp); } - + public void readFromNBT(NBTTagCompound nbt) { lastOp = nbt.getLong("lastOp"); } @@ -42,6 +43,16 @@ public class SatelliteMiner extends Satellite { return CARGO.get(getClass()); } + /** + * Gets the cargo key for the satellite item. If the item is not a miner satellite null is returned. + * @param satelliteItem - Satellite item + * @return - Returns {@link com.hbm.itempool.ItemPool} key or null if the item is not a mining satellite. + */ + public static String getCargoForItem(Item satelliteItem) { + Class satelliteClass = itemToClass.getOrDefault(satelliteItem, null); + return satelliteClass != null ? CARGO.getOrDefault(satelliteClass, null) : null; + } + static { registerCargo(SatelliteMiner.class, ItemPoolsSatellite.POOL_SAT_MINER); } diff --git a/src/main/java/com/hbm/sound/MovingSoundBomber.java b/src/main/java/com/hbm/sound/MovingSoundBomber.java deleted file mode 100644 index c20a0cfe0..000000000 --- a/src/main/java/com/hbm/sound/MovingSoundBomber.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.hbm.sound; - -import java.util.ArrayList; -import java.util.List; - -import com.hbm.entity.logic.EntityBomber; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.audio.ISound; -import net.minecraft.client.audio.MovingSound; -import net.minecraft.client.entity.EntityClientPlayerMP; -import net.minecraft.util.ResourceLocation; - -public class MovingSoundBomber extends MovingSound { - - public static List globalSoundList = new ArrayList(); - public EntityBomber bomber; - - public MovingSoundBomber(ResourceLocation loc, EntityBomber bomber) { - super(loc); - this.bomber = bomber; - globalSoundList.add(this); - this.repeat = true; - this.field_147666_i = ISound.AttenuationType.NONE; - } - - @Override - public void update() { - - float iVolume = 150; - - if(this.bomber == null || this.bomber.isDead || this.bomber.health <= 0) { - this.stop(); - } else { - this.xPosF = (float)bomber.posX; - this.yPosF = (float)bomber.posY; - this.zPosF = (float)bomber.posZ; - - EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer; - float f = 0; - - if(player != null) { - f = (float)Math.sqrt(Math.pow(xPosF - player.posX, 2) + Math.pow(yPosF - player.posY, 2) + Math.pow(zPosF - player.posZ, 2)); - volume = (f / iVolume) * -2 + 2; - } else { - volume = iVolume; - } - } - - if(!Minecraft.getMinecraft().getSoundHandler().isSoundPlaying(this)) { - stop(); - } - - } - - public void stop() { - this.donePlaying = true; - this.repeat = false; - - globalSoundList.remove(this); - } - - public void setPitch(float f) { - this.field_147663_c = f; - } - - public void setVolume(float f) { - this.volume = f; - } - - public void setDone(boolean b) { - this.donePlaying = b; - } - -} diff --git a/src/main/java/com/hbm/sound/MovingSoundPlayerLoop.java b/src/main/java/com/hbm/sound/MovingSoundPlayerLoop.java index 23714debb..e712391ee 100644 --- a/src/main/java/com/hbm/sound/MovingSoundPlayerLoop.java +++ b/src/main/java/com/hbm/sound/MovingSoundPlayerLoop.java @@ -7,6 +7,7 @@ import net.minecraft.client.audio.MovingSound; import net.minecraft.entity.Entity; import net.minecraft.util.ResourceLocation; +@Deprecated //wtf is this horseshit public abstract class MovingSoundPlayerLoop extends MovingSound { public static List globalSoundList = new ArrayList(); diff --git a/src/main/java/com/hbm/sound/MovingSoundXVL1456.java b/src/main/java/com/hbm/sound/MovingSoundXVL1456.java deleted file mode 100644 index 304e123ef..000000000 --- a/src/main/java/com/hbm/sound/MovingSoundXVL1456.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.hbm.sound; - -import com.hbm.items.ModItems; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; - -public class MovingSoundXVL1456 extends MovingSoundPlayerLoop { - - public MovingSoundXVL1456(ResourceLocation p_i45104_1_, Entity player, EnumHbmSound type) { - super(p_i45104_1_, player, type); - this.setPitch(0.5F); - } - - @Override - public void update() { - super.update(); - - ItemStack i = null; - - if(this.player != null) { - i = ((EntityPlayer)this.player).getItemInUse(); - } - - //this.setPitch(this.getPitch() + 0.1F); - - if(i == null || (i != null && i.getItem() != ModItems.gun_xvl1456) || !((EntityPlayer)this.player).isSneaking() || ((EntityPlayer)this.player).getItemInUseDuration() <= 0) - this.stop(); - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/sound/SoundLoopAssembler.java b/src/main/java/com/hbm/sound/SoundLoopAssembler.java deleted file mode 100644 index c69ea40c6..000000000 --- a/src/main/java/com/hbm/sound/SoundLoopAssembler.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.hbm.sound; - -import java.util.ArrayList; -import java.util.List; - -import com.hbm.tileentity.machine.TileEntityMachineAssembler; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; - -public class SoundLoopAssembler extends SoundLoopMachine { - - public static List list = new ArrayList(); - - public SoundLoopAssembler(ResourceLocation path, TileEntity te) { - super(path, te); - list.add(this); - } - - @Override - public void update() { - super.update(); - - if(te instanceof TileEntityMachineAssembler) { - TileEntityMachineAssembler drill = (TileEntityMachineAssembler)te; - - if(this.volume != 3) - volume = 3; - - if(!drill.isProgressing) - this.donePlaying = true; - } - } - - public TileEntity getTE() { - return te; - } - -} diff --git a/src/main/java/com/hbm/sound/SoundLoopBroadcaster.java b/src/main/java/com/hbm/sound/SoundLoopBroadcaster.java deleted file mode 100644 index 3b00039a5..000000000 --- a/src/main/java/com/hbm/sound/SoundLoopBroadcaster.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.hbm.sound; - -import java.util.ArrayList; -import java.util.List; - -import com.hbm.tileentity.machine.TileEntityBroadcaster; -import net.minecraft.client.Minecraft; -import net.minecraft.client.audio.ISound; -import net.minecraft.client.entity.EntityClientPlayerMP; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; - -public class SoundLoopBroadcaster extends SoundLoopMachine { - - public static List list = new ArrayList(); - public float intendedVolume = 25.0F; - - public SoundLoopBroadcaster(ResourceLocation path, TileEntity te) { - super(path, te); - list.add(this); - this.field_147666_i = ISound.AttenuationType.NONE; - } - - @Override - public void update() { - super.update(); - - EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer; - float f = 0; - - if(player != null) { - f = (float)Math.sqrt(Math.pow(xPosF - player.posX, 2) + Math.pow(yPosF - player.posY, 2) + Math.pow(zPosF - player.posZ, 2)); - volume = func(f, intendedVolume); - - if(!(player.worldObj.getTileEntity((int)xPosF, (int)yPosF, (int)zPosF) instanceof TileEntityBroadcaster)) { - this.donePlaying = true; - volume = 0; - } - } else { - volume = intendedVolume; - } - } - - public TileEntity getTE() { - return te; - } - - public float func(float f, float v) { - return (f / v) * -2 + 2; - } - -} diff --git a/src/main/java/com/hbm/sound/SoundLoopCentrifuge.java b/src/main/java/com/hbm/sound/SoundLoopCentrifuge.java deleted file mode 100644 index 2989ddf9c..000000000 --- a/src/main/java/com/hbm/sound/SoundLoopCentrifuge.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.hbm.sound; - -import java.util.ArrayList; -import java.util.List; - -import com.hbm.tileentity.machine.TileEntityMachineCentrifuge; -import com.hbm.tileentity.machine.TileEntityMachineGasCent; -import net.minecraft.client.Minecraft; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; - -public class SoundLoopCentrifuge extends SoundLoopMachine { - - public static List list = new ArrayList(); - - public SoundLoopCentrifuge(ResourceLocation path, TileEntity te) { - super(path, te); - list.add(this); - } - - @Override - public void update() { - super.update(); - - if(te instanceof TileEntityMachineCentrifuge) { - TileEntityMachineCentrifuge plant = (TileEntityMachineCentrifuge)te; - - if(this.volume != 1) - volume = 1; - - if(!plant.isProgressing) - this.donePlaying = true; - } - - if(te instanceof TileEntityMachineGasCent) { - TileEntityMachineGasCent plant = (TileEntityMachineGasCent)te; - - if(this.volume != 1) - volume = 1; - - if(!plant.isProgressing) - this.donePlaying = true; - } - - if(!Minecraft.getMinecraft().getSoundHandler().isSoundPlaying(this)) { - stop(); - } - } - - public TileEntity getTE() { - return te; - } - -} diff --git a/src/main/java/com/hbm/sound/SoundLoopTurbofan.java b/src/main/java/com/hbm/sound/SoundLoopTurbofan.java deleted file mode 100644 index 4b08d0471..000000000 --- a/src/main/java/com/hbm/sound/SoundLoopTurbofan.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.hbm.sound; - -import java.util.ArrayList; -import java.util.List; - -import com.hbm.tileentity.machine.TileEntityMachineTurbofan; - -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; - -public class SoundLoopTurbofan extends SoundLoopMachine { - - public static List list = new ArrayList(); - - public SoundLoopTurbofan(ResourceLocation path, TileEntity te) { - super(path, te); - list.add(this); - } - - @Override - public void update() { - super.update(); - - if(te instanceof TileEntityMachineTurbofan) { - TileEntityMachineTurbofan drill = (TileEntityMachineTurbofan)te; - - if(this.volume != 10) - volume = 10; - - if(!drill.wasOn) - this.donePlaying = true; - } - } - - public TileEntity getTE() { - return te; - } - -} diff --git a/src/main/java/com/hbm/test/ExplosionTests.java b/src/main/java/com/hbm/test/ExplosionTests.java deleted file mode 100644 index 544a61157..000000000 --- a/src/main/java/com/hbm/test/ExplosionTests.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.hbm.test; - -import com.hbm.test.MK5Frame.*; -import com.hbm.util.TimeAnalyzer; - -import cpw.mods.fml.common.FMLCommonHandler; - -public class ExplosionTests { - - private static ExplosionWorld world = new ExplosionWorld(); - public static double BUFFER_THRESHOLD = 0.25D; - - public static void runTest() { - - int standardSpeed = (int)Math.ceil(100000 / 300); - - double[] thresholds = new double[] {0.25, 0.5}; - int[] radii = new int[] {100, 250}; - - int x = 200; - int y = 70; - int z = 200; - long mem = 0; - - for(int radius : radii) { - - int strength = radius * 2; - int length = radius; - - System.gc(); - mem = getMem(); - System.out.println("#### STARTING TEST WITH NO PROXIMITY BUFFER " + radius + " ####"); - MK5Frame noBuf = new MK5Frame(world, x, y, z, strength, length).setBuffer(new BufferNone()); - while(!noBuf.isCollectionComplete) noBuf.collectTip(standardSpeed * 10); - while(noBuf.perChunk.size() > 0) noBuf.processChunk(); - TimeAnalyzer.endCount(); - TimeAnalyzer.dump(); - System.out.println("Mem diff: " + ((getMem() - mem) / 1_048_576) + "MB"); - - for(double threshold : thresholds) { - BUFFER_THRESHOLD = threshold; - - System.gc(); - mem = getMem(); - System.out.println("#### STARTING TEST WITH MAP-BASED PROXIMITY BUFFER " + radius + " / " + threshold + " ####"); - MK5Frame mapBuf = new MK5Frame(world, x, y, z, strength, length).setBuffer(new BufferMap()); - while(!mapBuf.isCollectionComplete) mapBuf.collectTip(standardSpeed * 10); - while(mapBuf.perChunk.size() > 0) mapBuf.processChunk(); - TimeAnalyzer.endCount(); - TimeAnalyzer.dump(); - System.out.println("Mem diff: " + ((getMem() - mem) / 1_048_576) + "MB"); - - System.gc(); - mem = getMem(); - System.out.println("#### STARTING TEST WITH ARRAY PROXIMITY BUFFER " + radius + " / " + threshold + " ####"); - MK5Frame arrayBuf = new MK5Frame(world, x, y, z, strength, length).setBuffer(new BufferArray(x, y, z, (int) (length))); - while(!arrayBuf.isCollectionComplete) arrayBuf.collectTip(standardSpeed * 10); - while(arrayBuf.perChunk.size() > 0) arrayBuf.processChunk(); - TimeAnalyzer.endCount(); - TimeAnalyzer.dump(); - System.out.println("Mem diff: " + ((getMem() - mem) / 1_048_576) + "MB"); - } - } - - FMLCommonHandler.instance().exitJava(0, true); - } - - public static long getMem() { - return Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory(); - } -} diff --git a/src/main/java/com/hbm/test/ExplosionWorld.java b/src/main/java/com/hbm/test/ExplosionWorld.java deleted file mode 100644 index 469090d9b..000000000 --- a/src/main/java/com/hbm/test/ExplosionWorld.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.hbm.test; - -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; - -public class ExplosionWorld { - - //public Block[][][] blocks = new Block[500][256][500]; - - public void setBlock(int x, int y, int z, Block block) { - long nanos = System.nanoTime(); - while(System.nanoTime() < nanos + 30_000); - } //NOP - - public Block getBlock(int x, int y, int z) { - long nanos = System.nanoTime(); - while(System.nanoTime() < nanos + 1_000); - if(y == 0) return Blocks.bedrock; - if(y < 50) return Blocks.stone; - if(y < 64) return Blocks.dirt; - - return Blocks.air; - } - - public boolean isAirBlock(int x, int y, int z) { - return getBlock(x, y, z) == Blocks.air; - } -} diff --git a/src/main/java/com/hbm/test/MK5Frame.java b/src/main/java/com/hbm/test/MK5Frame.java deleted file mode 100644 index a20fd01aa..000000000 --- a/src/main/java/com/hbm/test/MK5Frame.java +++ /dev/null @@ -1,295 +0,0 @@ -package com.hbm.test; - -import java.util.ArrayList; -import java.util.Comparator; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; - -import com.hbm.util.TimeAnalyzer; -import com.hbm.util.fauxpointtwelve.BlockPos; - -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.util.Vec3; -import net.minecraft.world.ChunkCoordIntPair; - -public class MK5Frame { - - public HashMap> perChunk = new HashMap(); //for future: optimize blockmap further by using sub-chunks instead of chunks - public List orderedChunks = new ArrayList(); - private CoordComparator comparator = new CoordComparator(); - int posX; - int posY; - int posZ; - ExplosionWorld world; - - int strength; - int length; - - int gspNumMax; - int gspNum; - double gspX; - double gspY; - - public boolean isCollectionComplete = false; - - public MK5Frame(ExplosionWorld world, int x, int y, int z, int strength, int length) { - this.world = world; - this.posX = x; - this.posY = y; - this.posZ = z; - this.strength = strength; - this.length = length; - - // Total number of points - this.gspNumMax = (int)(2.5 * Math.PI * Math.pow(this.strength,2)); - this.gspNum = 1; - - // The beginning of the generalized spiral points - this.gspX = Math.PI; - this.gspY = 0.0; - } - - private void generateGspUp(){ - - if (this.gspNum < this.gspNumMax) { - int k = this.gspNum + 1; - double hk = -1.0 + 2.0 * (k - 1.0) / (this.gspNumMax - 1.0); - this.gspX = Math.acos(hk); - - double prev_lon = this.gspY; - double lon = prev_lon + 3.6 / Math.sqrt(this.gspNumMax) / Math.sqrt(1.0 - hk * hk); - this.gspY = lon % (Math.PI * 2); - } else { - this.gspX = 0.0; - this.gspY = 0.0; - } - this.gspNum++; - } - - // Get Cartesian coordinates for spherical coordinates - private Vec3 getSpherical2cartesian(){ - double dx = Math.sin(this.gspX) * Math.cos(this.gspY); - double dz = Math.sin(this.gspX) * Math.sin(this.gspY); - double dy = Math.cos(this.gspX); - return Vec3.createVectorHelper(dx, dy, dz); - } - - public void collectTip(int count) { - - TimeAnalyzer.startCount("collect"); - - int amountProcessed = 0; - - while (this.gspNumMax >= this.gspNum){ - // Get Cartesian coordinates for spherical coordinates - Vec3 vec = this.getSpherical2cartesian(); - - int length = (int)Math.ceil(strength); - float res = strength; - - FloatTriplet lastPos = null; - HashSet chunkCoords = new HashSet(); - - for(int i = 0; i < length; i ++) { - - if(i > this.length) - break; - - float x0 = (float) (posX + (vec.xCoord * i)); - float y0 = (float) (posY + (vec.yCoord * i)); - float z0 = (float) (posZ + (vec.zCoord * i)); - - int iX = (int) Math.floor(x0); - int iY = (int) Math.floor(y0); - int iZ = (int) Math.floor(z0); - - double fac = 100 - ((double) i) / ((double) length) * 100; - fac *= 0.07D; - - Block block = null; - boolean withinThreshold = (double) i / (double) length <= ExplosionTests.BUFFER_THRESHOLD; - - Float buffered = withinThreshold ? buffer.getBufferedResult(iX, iY, iZ) : null; - - float f = 0; - - if(buffered == null) { - - block = world.getBlock(iX, iY, iZ); - - if(!block.getMaterial().isLiquid()) { - f = (float) Math.pow(block.getExplosionResistance(null), 7.5D - fac); - } - - if(withinThreshold) buffer.setBufferedResult(iX, iY, iZ, f); - - } else { - f = buffered; - } - - res -= f; - - if(res > 0 && block != Blocks.air && buffered == null) { // if we already have a buffered result we don't need to move the tip forward since that block is already affected - lastPos = new FloatTriplet(x0, y0, z0); - //all-air chunks don't need to be buffered at all - ChunkCoordIntPair chunkPos = new ChunkCoordIntPair(iX >> 4, iZ >> 4); - chunkCoords.add(chunkPos); - } - - if(res <= 0 || i + 1 >= this.length) { - break; - } - } - - for(ChunkCoordIntPair pos : chunkCoords) { - List triplets = perChunk.get(pos); - - if(triplets == null) { - triplets = new ArrayList(); - perChunk.put(pos, triplets); //we re-use the same pos instead of using individualized per-chunk ones to save on RAM - } - - triplets.add(lastPos); - } - - // Raise one generalized spiral points - this.generateGspUp(); - - amountProcessed++; - if(amountProcessed >= count) { - TimeAnalyzer.endCount(); - return; - } - } - - orderedChunks.addAll(perChunk.keySet()); - orderedChunks.sort(comparator); - - isCollectionComplete = true; - TimeAnalyzer.endCount(); - } - - /* TEST INSERT START */ - private ResultBuffer buffer; - public MK5Frame setBuffer(ResultBuffer buffer) { - this.buffer = buffer; - return this; - } - public static interface ResultBuffer { - Float getBufferedResult(int x, int y, int z); - void setBufferedResult(int x, int y, int z, float f); - } - public static class BufferNone implements ResultBuffer { - @Override public Float getBufferedResult(int x, int y, int z) { return null; } - @Override public void setBufferedResult(int x, int y, int z, float f) { } - } - public static class BufferMap implements ResultBuffer { - HashMap map = new HashMap(); - @Override public Float getBufferedResult(int x, int y, int z) { if(y < 0 || y > 255) return null; return map.get(new BlockPos(x, y, z)); } - @Override public void setBufferedResult(int x, int y, int z, float f) { if(y < 0 || y > 255) return; map.put(new BlockPos(x, y, z), f); } - } - public static class BufferArray implements ResultBuffer { - BlockPos center; Float[][][] buffer; int size; public BufferArray(int x, int y, int z, int size) { this.size = (int) (size * 2.1); center = new BlockPos(x, y, z); buffer = new Float[this.size][256][this.size];} - HashMap map = new HashMap(); - @Override public Float getBufferedResult(int x, int y, int z) { - if(y < 0 || y > 255) return null; - int iX = x - center.getX() + size * 100; int iZ = z - center.getZ() + size * 100; - return buffer[iX % size][y][iZ % size]; - } - @Override public void setBufferedResult(int x, int y, int z, float f) { - if(y < 0 || y > 255) return; - int iX = x - center.getX() + size * 100; int iZ = z - center.getZ() + size * 100; - buffer[iX % size][y][iZ % size] = f; - } - } - /* TEST INSERT END */ - - /** little comparator for roughly sorting chunks by distance to the center */ - public class CoordComparator implements Comparator { - - @Override - public int compare(ChunkCoordIntPair o1, ChunkCoordIntPair o2) { - - int chunkX = MK5Frame.this.posX >> 4; - int chunkZ = MK5Frame.this.posZ >> 4; - - int diff1 = Math.abs((chunkX - o1.chunkXPos)) + Math.abs((chunkZ - o1.chunkZPos)); - int diff2 = Math.abs((chunkX - o2.chunkXPos)) + Math.abs((chunkZ - o2.chunkZPos)); - - return diff1 > diff2 ? 1 : diff1 < diff2 ? -1 : 0; - } - } - - public void processChunk() { - - TimeAnalyzer.startCount("processChunk"); - if(this.perChunk.isEmpty()) { - TimeAnalyzer.endCount(); - return; - } - - ChunkCoordIntPair coord = orderedChunks.get(0); - List list = perChunk.get(coord); - HashSet toRem = new HashSet(); - int chunkX = coord.chunkXPos; - int chunkZ = coord.chunkZPos; - - int enter = (int) (Math.min( - Math.abs(posX - (chunkX << 4)), - Math.abs(posZ - (chunkZ << 4)))) - 16; //jump ahead to cut back on NOPs - - for(FloatTriplet triplet : list) { - float x = triplet.xCoord; - float y = triplet.yCoord; - float z = triplet.zCoord; - Vec3 vec = Vec3.createVectorHelper(x - this.posX, y - this.posY, z - this.posZ); - double pX = vec.xCoord / vec.lengthVector(); - double pY = vec.yCoord / vec.lengthVector(); - double pZ = vec.zCoord / vec.lengthVector(); - - boolean inChunk = false; - for(int i = enter; i < vec.lengthVector(); i++) { - int x0 = (int) Math.floor(posX + pX * i); - int y0 = (int) Math.floor(posY + pY * i); - int z0 = (int) Math.floor(posZ + pZ * i); - - if(x0 >> 4 != chunkX || z0 >> 4 != chunkZ) { - if(inChunk) { - break; - } else { - continue; - } - } - - inChunk = true; - - if(!world.isAirBlock(x0, y0, z0)) { - toRem.add(new BlockPos(x0, y0, z0)); - } - } - } - - for(BlockPos pos : toRem) { - world.setBlock(pos.getX(), pos.getY(), pos.getZ(), Blocks.air); - } - - perChunk.remove(coord); - orderedChunks.remove(0); - - TimeAnalyzer.endCount(); - } - - public class FloatTriplet { - public float xCoord; - public float yCoord; - public float zCoord; - - public FloatTriplet(float x, float y, float z) { - xCoord = x; - yCoord = y; - zCoord = z; - } - } -} diff --git a/src/main/java/com/hbm/tileentity/DoorDecl.java b/src/main/java/com/hbm/tileentity/DoorDecl.java index d28ae1e22..ee1c96bc0 100644 --- a/src/main/java/com/hbm/tileentity/DoorDecl.java +++ b/src/main/java/com/hbm/tileentity/DoorDecl.java @@ -586,7 +586,7 @@ public abstract class DoorDecl { @Override @SideOnly(Side.CLIENT) public void doOffsetTransform() { - GL11.glTranslated(0.4375, 0, 0.5); + GL11.glTranslated(0.40625, 0, 0.5); }; @Override @@ -598,12 +598,12 @@ public abstract class DoorDecl { public AxisAlignedBB getBlockBound(int x, int y, int z, boolean open) { if(open) { if(z == 0) { - return AxisAlignedBB.getBoundingBox(1 - 0.125, 0, 1 - 0.125, 1, 1, 1); + return AxisAlignedBB.getBoundingBox(1 - 0.125, 0, 1 - 0.1875, 1, 1, 1); } else { - return AxisAlignedBB.getBoundingBox(0, 0, 1 - 0.125, 0.125, 1, 1); + return AxisAlignedBB.getBoundingBox(0, 0, 1 - 0.1875, 0.125, 1, 1); } } else { - return AxisAlignedBB.getBoundingBox(0, 0, 1 - 0.125, 1, 1, 1); + return AxisAlignedBB.getBoundingBox(0, 0, 1 - 0.1875, 1, 1, 1); } }; diff --git a/src/main/java/com/hbm/tileentity/IBufPacketReceiver.java b/src/main/java/com/hbm/tileentity/IBufPacketReceiver.java index 688962e83..4250d6edd 100644 --- a/src/main/java/com/hbm/tileentity/IBufPacketReceiver.java +++ b/src/main/java/com/hbm/tileentity/IBufPacketReceiver.java @@ -1,19 +1,9 @@ package com.hbm.tileentity; -import com.hbm.packet.BufPacket; -import com.hbm.packet.PacketDispatcher; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import io.netty.buffer.ByteBuf; -import net.minecraft.tileentity.TileEntity; public interface IBufPacketReceiver { public void serialize(ByteBuf buf); public void deserialize(ByteBuf buf); - - public default void sendStandard(int range) { - TileEntity te = (TileEntity) this; - PacketDispatcher.wrapper.sendToAllAround(new BufPacket(te.xCoord, te.yCoord, te.zCoord, this), new TargetPoint(te.getWorldObj().provider.dimensionId, te.xCoord, te.yCoord, te.zCoord, range)); - } } diff --git a/src/main/java/com/hbm/tileentity/IConditionalInvAccess.java b/src/main/java/com/hbm/tileentity/IConditionalInvAccess.java index 9416eb837..d66553efa 100644 --- a/src/main/java/com/hbm/tileentity/IConditionalInvAccess.java +++ b/src/main/java/com/hbm/tileentity/IConditionalInvAccess.java @@ -11,7 +11,7 @@ import net.minecraft.item.ItemStack; public interface IConditionalInvAccess { public boolean isItemValidForSlot(int x, int y, int z, int slot, ItemStack stack); - public boolean canInsertItem(int x, int y, int z, int slot, ItemStack stack, int side); + public default boolean canInsertItem(int x, int y, int z, int slot, ItemStack stack, int side) { return isItemValidForSlot(x, y, z, slot, stack); } public boolean canExtractItem(int x, int y, int z, int slot, ItemStack stack, int side); public int[] getAccessibleSlotsFromSide(int x, int y, int z, int side); } diff --git a/src/main/java/com/hbm/tileentity/IControlReceiverFilter.java b/src/main/java/com/hbm/tileentity/IControlReceiverFilter.java index 691066ac7..b007be844 100644 --- a/src/main/java/com/hbm/tileentity/IControlReceiverFilter.java +++ b/src/main/java/com/hbm/tileentity/IControlReceiverFilter.java @@ -2,18 +2,26 @@ package com.hbm.tileentity; import com.hbm.interfaces.IControlReceiver; +import com.hbm.interfaces.ICopiable; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; -public interface IControlReceiverFilter extends IControlReceiver { +public interface IControlReceiverFilter extends IControlReceiver, ICopiable { void nextMode(int i); + /* + default ModulePatternMatcher getMatcher(){ + + }*/ + @Override - public default void receiveControl(NBTTagCompound data) { + default void receiveControl(NBTTagCompound data) { if(data.hasKey("slot")) { setFilterContents(data); } @@ -23,12 +31,73 @@ public interface IControlReceiverFilter extends IControlReceiver { * Expects the implementor to be a tile entity and an IInventory * @param nbt */ - public default void setFilterContents(NBTTagCompound nbt) { + default void setFilterContents(NBTTagCompound nbt) { TileEntity tile = (TileEntity) this; IInventory inv = (IInventory) this; int slot = nbt.getInteger("slot"); - inv.setInventorySlotContents(slot, new ItemStack(Item.getItemById(nbt.getInteger("id")), 1, nbt.getInteger("meta"))); + NBTTagCompound stack = nbt.getCompoundTag("stack"); + ItemStack item = ItemStack.loadItemStackFromNBT(stack); + item.stackSize = 1; + inv.setInventorySlotContents(slot, item); nextMode(slot); tile.getWorldObj().markTileEntityChunkModified(tile.xCoord, tile.yCoord, tile.zCoord, tile); } + /** + * Used for the copy tool + * @return The start and end (start inclusive, end exclusive) of the filter slots of the TE + */ + int[] getFilterSlots(); + + @Override + default NBTTagCompound getSettings(World world, int x, int y, int z) { + IInventory inv = (IInventory) this; + NBTTagCompound nbt = new NBTTagCompound(); + NBTTagList tags = new NBTTagList(); + int count = 0; + for (int i = getFilterSlots()[0]; i < getFilterSlots()[1]; i++) { + NBTTagCompound slotNBT = new NBTTagCompound(); + if(inv.getStackInSlot(i) != null) { + slotNBT.setByte("slot", (byte) count); + inv.getStackInSlot(i).writeToNBT(slotNBT); + tags.appendTag(slotNBT); + } + count++; + } + nbt.setTag("items", tags); + + return nbt; + } + + @Override + default void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + TileEntity tile = (TileEntity) this; + IInventory inv = (IInventory) this; + NBTTagList items = nbt.getTagList("items", 10); + int listSize = items.tagCount(); + if(listSize > 0) { + int count = 0; + + for (int i = getFilterSlots()[0]; i < getFilterSlots()[1]; i++) { + if (i < listSize) { + NBTTagCompound slotNBT = items.getCompoundTagAt(count); + byte slot = slotNBT.getByte("slot"); + ItemStack loadedStack = ItemStack.loadItemStackFromNBT(slotNBT); + //whether the filter info came from a router + boolean router = nbt.hasKey("modes") && slot > index * 5 && slot < index * + 5; + + if (loadedStack != null && index < listSize && (slot < getFilterSlots()[1] || router)) { + inv.setInventorySlotContents(slot + getFilterSlots()[0], ItemStack.loadItemStackFromNBT(slotNBT)); + nextMode(slot); + tile.getWorldObj().markTileEntityChunkModified(tile.xCoord, tile.yCoord, tile.zCoord, tile); + } + } + count++; + } + } + } + + @Override + default String[] infoForDisplay(World world, int x, int y, int z) { + return new String[] { "copytool.filter" }; + } } diff --git a/src/main/java/com/hbm/tileentity/IFluidCopiable.java b/src/main/java/com/hbm/tileentity/IFluidCopiable.java new file mode 100644 index 000000000..33848bf00 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/IFluidCopiable.java @@ -0,0 +1,71 @@ +package com.hbm.tileentity; + +import com.hbm.interfaces.ICopiable; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.util.BobMathUtil; + +import api.hbm.fluidmk2.IFluidStandardTransceiverMK2; +import api.hbm.fluidmk2.IFluidUserMK2; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +import java.util.ArrayList; + +public interface IFluidCopiable extends ICopiable { + + /** + * @return First type for the normal paste, second type for the alt paste, + * none if there is no alt paste support + */ + default int[] getFluidIDToCopy() { + IFluidUserMK2 tile = (IFluidUserMK2) this; + ArrayList types = new ArrayList<>(); + + for(FluidTank tank : tile.getAllTanks()) { + if(!tank.getTankType().hasNoID()) + types.add(tank.getTankType().getID()); + } + + return BobMathUtil.intCollectionToArray(types); + } + + default FluidTank getTankToPaste() { + TileEntity te = (TileEntity) this; + if(te instanceof IFluidStandardTransceiverMK2) { // why are we using the transceiver here? + IFluidStandardTransceiverMK2 tile = (IFluidStandardTransceiverMK2) this; + return tile.getReceivingTanks() != null ? tile.getReceivingTanks()[0] : null; + } + return null; + } + + @Override + default NBTTagCompound getSettings(World world, int x, int y, int z) { + NBTTagCompound tag = new NBTTagCompound(); + if(getFluidIDToCopy().length > 0) tag.setIntArray("fluidID", getFluidIDToCopy()); + return tag; + } + + @Override + default void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + if(getTankToPaste() != null) { + int[] ids = nbt.getIntArray("fluidID"); + if(ids.length > 0 && index < ids.length) { + int id = ids[index]; + getTankToPaste().setTankType(Fluids.fromID(id)); + } + } + } + + @Override + default String[] infoForDisplay(World world, int x, int y, int z) { + int[] ids = getFluidIDToCopy(); + String[] names = new String[ids.length]; + for(int i = 0; i < ids.length; i++) { + names[i] = Fluids.fromID(ids[i]).getUnlocalizedName(); + } + return names; + } +} diff --git a/src/main/java/com/hbm/tileentity/IGUIProvider.java b/src/main/java/com/hbm/tileentity/IGUIProvider.java index f707f3d61..54fd42935 100644 --- a/src/main/java/com/hbm/tileentity/IGUIProvider.java +++ b/src/main/java/com/hbm/tileentity/IGUIProvider.java @@ -1,8 +1,5 @@ package com.hbm.tileentity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.world.World; @@ -10,6 +7,5 @@ import net.minecraft.world.World; public interface IGUIProvider { public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z); - @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z); + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z); } diff --git a/src/main/java/com/hbm/tileentity/IMetalCopiable.java b/src/main/java/com/hbm/tileentity/IMetalCopiable.java new file mode 100644 index 000000000..5720608c3 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/IMetalCopiable.java @@ -0,0 +1,30 @@ +package com.hbm.tileentity; + +import com.hbm.interfaces.ICopiable; +import com.hbm.inventory.material.Mats; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public interface IMetalCopiable extends ICopiable { + + int[] getMatsToCopy(); + + @Override + default NBTTagCompound getSettings(World world, int x, int y, int z) { + NBTTagCompound tag = new NBTTagCompound(); + if(getMatsToCopy().length > 0) tag.setIntArray("matFilter", getMatsToCopy()); + return tag; + } + + @Override + default String[] infoForDisplay(World world, int x, int y, int z) { + int[] ids = getMatsToCopy(); + String[] names = new String[ids.length]; + for(int i = 0; i < ids.length; i++) names[i] = Mats.matById.get(ids[i]).getUnlocalizedName(); + return names; + } + + @Override + default void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { }; +} diff --git a/src/main/java/com/hbm/tileentity/INBTPacketReceiver.java b/src/main/java/com/hbm/tileentity/INBTPacketReceiver.java deleted file mode 100644 index fa230a3ba..000000000 --- a/src/main/java/com/hbm/tileentity/INBTPacketReceiver.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.hbm.tileentity; - -import com.hbm.packet.NBTPacket; -import com.hbm.packet.PacketDispatcher; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; - -public interface INBTPacketReceiver { - - public void networkUnpack(NBTTagCompound nbt); - - public static void networkPack(TileEntity that, NBTTagCompound data, int range) { - PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(data, that.xCoord, that.yCoord, that.zCoord), new TargetPoint(that.getWorldObj().provider.dimensionId, that.xCoord, that.yCoord, that.zCoord, range)); - } -} diff --git a/src/main/java/com/hbm/tileentity/IRadioisotopeFuel.java b/src/main/java/com/hbm/tileentity/IRadioisotopeFuel.java index 5f737b6e8..4c340f332 100644 --- a/src/main/java/com/hbm/tileentity/IRadioisotopeFuel.java +++ b/src/main/java/com/hbm/tileentity/IRadioisotopeFuel.java @@ -9,7 +9,7 @@ import javax.annotation.Nonnull; import com.hbm.config.VersatileConfig; import com.hbm.interfaces.ICustomWarhead.SaltedFuel.HalfLifeType; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/hbm/tileentity/IRepairable.java b/src/main/java/com/hbm/tileentity/IRepairable.java index 27f3f2974..029d7871b 100644 --- a/src/main/java/com/hbm/tileentity/IRepairable.java +++ b/src/main/java/com/hbm/tileentity/IRepairable.java @@ -7,8 +7,8 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ILookOverlay; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.items.tool.ItemBlowtorch; -import com.hbm.util.I18nUtil; import com.hbm.util.InventoryUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/hbm/tileentity/IUpgradeInfoProvider.java b/src/main/java/com/hbm/tileentity/IUpgradeInfoProvider.java index 0fd4f7dab..fce89cf26 100644 --- a/src/main/java/com/hbm/tileentity/IUpgradeInfoProvider.java +++ b/src/main/java/com/hbm/tileentity/IUpgradeInfoProvider.java @@ -1,9 +1,10 @@ package com.hbm.tileentity; +import java.util.HashMap; import java.util.List; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.block.Block; import net.minecraft.util.EnumChatFormatting; @@ -13,8 +14,8 @@ public interface IUpgradeInfoProvider { /** If any of the automated display stuff should be applied for this upgrade. A level of 0 is used by the GUI's indicator, as opposed to the item tooltips */ public boolean canProvideInfo(UpgradeType type, int level, boolean extendedInfo); public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo); - public int getMaxLevel(UpgradeType type); - + public HashMap getValidUpgrades(); + public static String getStandardLabel(Block block) { return EnumChatFormatting.GREEN.YELLOW + ">>> " + I18nUtil.resolveKey(block.getUnlocalizedName() + ".name") + " <<<"; } @@ -24,7 +25,9 @@ public interface IUpgradeInfoProvider { public static final String KEY_CONSUMPTION = "upgrade.consumption"; public static final String KEY_COOLANT_CONSUMPTION = "upgrade.coolantConsumption"; public static final String KEY_DELAY = "upgrade.delay"; + public static final String KEY_SPEED = "upgrade.speed"; public static final String KEY_EFFICIENCY = "upgrade.efficiency"; + public static final String KEY_PRODUCTIVITY = "upgrade.productivity"; public static final String KEY_FORTUNE = "upgrade.fortune"; public static final String KEY_RANGE = "upgrade.range"; } diff --git a/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java b/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java index a8f856310..e460bc08b 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java +++ b/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java @@ -6,25 +6,22 @@ import java.util.Set; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.generic.BlockDoorGeneric; -import com.hbm.interfaces.IAnimatedDoor; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; -import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.TEDoorAnimationPacket; import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.machine.TileEntityLockableBase; import com.hbm.util.fauxpointtwelve.BlockPos; import com.hbm.util.fauxpointtwelve.Rotation; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAnimatedDoor { +public class TileEntityDoorGeneric extends TileEntityLockableBase { //0: closed, 1: open, 2: closing, 3: opening public byte state = 0; @@ -39,9 +36,9 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn private AudioWrapper audio; private AudioWrapper audio2; - + @Override - public void updateEntity(){ + public void updateEntity() { if(state == 3) { openTicks++; if(openTicks >= getDoorType().timeToOpen()) { @@ -55,39 +52,39 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn } if(!worldObj.isRemote) { - + BlockPos pos = new BlockPos(this); - + int[][] ranges = getDoorType().getDoorOpenRanges(); ForgeDirection dir = ForgeDirection.getOrientation(getBlockMetadata() - BlockDummyable.offset); - + if(state == 3) { - + for(int i = 0; i < ranges.length; i++) { - + int[] range = ranges[i]; BlockPos startPos = new BlockPos(range[0], range[1], range[2]); float time = getDoorType().getDoorRangeOpenTime(openTicks, i); - + for(int j = 0; j < Math.abs(range[3]); j++) { - + if((float)j / (Math.abs(range[3] - 1)) > time) break; - + for(int k = 0; k < range[4]; k++) { BlockPos add = new BlockPos(0, 0, 0); - switch(range[5]){ + switch(range[5]) { case 0: add = new BlockPos(0, k, (int)Math.signum(range[3]) * j); break; case 1: add = new BlockPos(k, (int)Math.signum(range[3]) * j, 0); break; case 2: add = new BlockPos((int)Math.signum(range[3]) * j, k, 0); break; } - + Rotation r = Rotation.getBlockRotation(dir); if(dir == Library.POS_X || dir == Library.NEG_X) r = r.add(Rotation.CLOCKWISE_180); - + BlockPos finalPos = startPos.add(add).rotate(r).add(pos); - + if(finalPos.equals(pos)) { this.shouldUseBB = false; } else { @@ -96,24 +93,24 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn } } } - - } else if(state == 2){ - + + } else if(state == 2) { + for(int i = 0; i < ranges.length; i++) { - + int[] range = ranges[i]; BlockPos startPos = new BlockPos(range[0], range[1], range[2]); float time = getDoorType().getDoorRangeOpenTime(openTicks, i); - + for(int j = Math.abs(range[3])-1; j >= 0; j--) { - + if((float)j / (Math.abs(range[3] - 1)) < time) break; - + for(int k = 0; k < range[4]; k++) { BlockPos add = new BlockPos(0, 0, 0); - switch(range[5]){ + switch(range[5]) { case 0: add = new BlockPos(0, k, (int)Math.signum(range[3]) * j); break; case 1: add = new BlockPos(k, (int)Math.signum(range[3]) * j, 0); break; case 2: add = new BlockPos((int)Math.signum(range[3]) * j, k, 0); break; @@ -122,9 +119,9 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn Rotation r = Rotation.getBlockRotation(dir); if(dir == Library.POS_X || dir == Library.NEG_X) r = r.add(Rotation.CLOCKWISE_180); - + BlockPos finalPos = startPos.add(add).rotate(r).add(pos); - + if(finalPos.equals(pos)) { this.shouldUseBB = false; } else { @@ -140,19 +137,34 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn if(state == 2 && openTicks == 0) { state = 0; } - PacketDispatcher.wrapper.sendToAllAround(new TEDoorAnimationPacket(xCoord, yCoord, zCoord, state, skinIndex, (byte)(shouldUseBB ? 1 : 0)), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 100)); - - if(redstonePower == -1 && state == 1){ + + this.networkPackNT(100); + + if(redstonePower == -1 && state == 1) { tryToggle(-1); - } else if(redstonePower > 0 && state == 0){ + } else if(redstonePower > 0 && state == 0) { tryToggle(-1); } - if(redstonePower == -1){ + if(redstonePower == -1) { redstonePower = 0; } } } + @Override + public void serialize(ByteBuf buf) { + buf.writeByte(state); + buf.writeByte(skinIndex); + buf.writeBoolean(shouldUseBB); + } + + @Override + public void deserialize(ByteBuf buf) { + handleNewState(buf.readByte()); + setSkinIndex(buf.readByte()); + shouldUseBB = buf.readBoolean(); + } + @Override public void onChunkUnload() { if(audio != null) { @@ -164,20 +176,20 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn audio2 = null; } } - - public DoorDecl getDoorType(){ - + + public DoorDecl getDoorType() { + if(this.doorType == null && this.getBlockType() instanceof BlockDoorGeneric) this.doorType = ((BlockDoorGeneric)this.getBlockType()).type; - + return this.doorType; } - public boolean tryToggle(EntityPlayer player){ - + public boolean tryToggle(EntityPlayer player) { + if(this.isLocked() && player == null) return false; - - if(state == 0 && redstonePower > 0){ + + if(state == 0 && redstonePower > 0) { //Redstone "power locks" doors, just like minecraft iron doors return false; } @@ -194,8 +206,8 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn } return false; } - - public boolean tryToggle(int passcode){ + + public boolean tryToggle(int passcode) { if(this.isLocked() && passcode != this.lock) return false; if(this.state == 0) { @@ -212,55 +224,28 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn return false; } - @Override - public void open(){ - if(state == 0) - toggle(); - } - - @Override - public void close(){ - if(state == 1) - toggle(); - } - - @Override - public DoorState getState(){ - return DoorState.values()[state]; - } - - @Override - public void toggle(){ - if(state == 0) { - state = 3; - } else if(state == 1) { - state = 2; - } - } - - @Override @SideOnly(Side.CLIENT) - public void handleNewState(byte state){ - + public void handleNewState(byte state) { + if(this.state != state) { DoorDecl doorType = getDoorType(); - if(this.state == 0 && state == 3){ // Door transitioning to open + if(this.state == 0 && state == 3) { // Door transitioning to open if(audio != null) { audio.stopSound(); audio.setKeepAlive(0); } - if(doorType.getOpenSoundLoop() != null){ + if(doorType.getOpenSoundLoop() != null) { audio = MainRegistry.proxy.getLoopedSound(doorType.getOpenSoundLoop(), xCoord, yCoord, zCoord, doorType.getSoundVolume(), 10F, 1F); audio.startSound(); } - if(doorType.getOpenSoundStart() != null){ + if(doorType.getOpenSoundStart() != null) { worldObj.playSound(xCoord, yCoord, zCoord, doorType.getOpenSoundStart(), doorType.getSoundVolume(), 1F, false); } - if(doorType.getSoundLoop2() != null){ + if(doorType.getSoundLoop2() != null) { if(audio2 != null) audio2.stopSound(); audio2 = MainRegistry.proxy.getLoopedSound(doorType.getSoundLoop2(), xCoord, yCoord, zCoord, doorType.getSoundVolume(), 10F, 1F); @@ -268,21 +253,21 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn } } - if(this.state == 1 && state == 2){ // Door transitioning to closed + if(this.state == 1 && state == 2) { // Door transitioning to closed if(audio != null) { audio.stopSound(); } - if(doorType.getCloseSoundLoop() != null){ + if(doorType.getCloseSoundLoop() != null) { audio = MainRegistry.proxy.getLoopedSound(doorType.getCloseSoundLoop(), xCoord, yCoord, zCoord, doorType.getSoundVolume(), 10F, 1F); audio.startSound(); } - if(doorType.getCloseSoundStart() != null){ + if(doorType.getCloseSoundStart() != null) { worldObj.playSound(xCoord, yCoord, zCoord, doorType.getCloseSoundStart(), doorType.getSoundVolume(), 1F, false); } - if(doorType.getSoundLoop2() != null){ + if(doorType.getSoundLoop2() != null) { if(audio2 != null) audio2.stopSound(); audio2 = MainRegistry.proxy.getLoopedSound(doorType.getSoundLoop2(), xCoord, yCoord, zCoord, doorType.getSoundVolume(), 10F, 1F); @@ -290,47 +275,39 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn } } - if(state == 1 || state == 0){ // Door finished any transition - if(audio != null){ + if(state == 1 || state == 0) { // Door finished any transition + if(audio != null) { audio.stopSound(); audio = null; } - if(audio2 != null){ + if(audio2 != null) { audio2.stopSound(); audio2 = null; } } - if(this.state == 3 && state == 1){ // Door finished transitioning to open - if(doorType.getOpenSoundEnd() != null){ + if(this.state == 3 && state == 1) { // Door finished transitioning to open + if(doorType.getOpenSoundEnd() != null) { worldObj.playSound(xCoord, yCoord, zCoord, doorType.getOpenSoundEnd(), doorType.getSoundVolume(), 1F, false); } } - if(this.state == 2 && state == 0){ // Door finished transitioning to closed - if(doorType.getCloseSoundEnd() != null){ + if(this.state == 2 && state == 0) { // Door finished transitioning to closed + if(doorType.getCloseSoundEnd() != null) { worldObj.playSound(xCoord, yCoord, zCoord, doorType.getCloseSoundEnd(), doorType.getSoundVolume(), 1F, false); } } - - - this.state = state; - if(state > 1) - animStartTime = System.currentTimeMillis(); - } - } - //Ah yes piggy backing on this packet - @Override - public void setTextureState(byte tex){ - shouldUseBB = tex > 0; + + this.state = state; + if(state > 1) animStartTime = System.currentTimeMillis(); + } } public int getSkinIndex() { return skinIndex; } - @Override public boolean setSkinIndex(byte skinIndex) { if(!getDoorType().hasSkins()) return false; @@ -341,13 +318,22 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn return true; } + /**Useful for logic block interactions, as a way to close/open doors**/ + public void open(){ + if(state == 0) state = 3; + } + + public void close() { + if(state == 1) state = 2; + } + @Override - public AxisAlignedBB getRenderBoundingBox(){ + public AxisAlignedBB getRenderBoundingBox() { return INFINITE_EXTENT_AABB; } @Override - public double getMaxRenderDistanceSquared(){ + public double getMaxRenderDistanceSquared() { return 65536D; } @@ -388,14 +374,14 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn } tag.setTag("activatedBlocks", activatedBlocks); } - + @Override - public void validate(){ + public void validate() { super.validate(); } - + @Override - public void invalidate(){ + public void invalidate() { super.invalidate(); if(audio != null) { audio.stopSound(); @@ -412,19 +398,19 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn BlockPos pos = new BlockPos(x, y, z); boolean powered = worldObj.isBlockIndirectlyGettingPowered(x, y, z); boolean contained = activatedBlocks.contains(pos); - if(!contained && powered){ + if(!contained && powered) { activatedBlocks.add(pos); - if(redstonePower == -1){ + if(redstonePower == -1) { redstonePower = 0; } redstonePower++; - } else if(contained && !powered){ + } else if(contained && !powered) { activatedBlocks.remove(pos); redstonePower--; - if(redstonePower == 0){ + if(redstonePower == 0) { redstonePower = -1; } } } -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/tileentity/TileEntityInventoryBase.java b/src/main/java/com/hbm/tileentity/TileEntityInventoryBase.java index 4278443fe..4e0c4177e 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityInventoryBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityInventoryBase.java @@ -62,6 +62,7 @@ public abstract class TileEntityInventoryBase extends TileEntity implements ISid public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -145,6 +146,8 @@ public abstract class TileEntityInventoryBase extends TileEntity implements ISid slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override @@ -163,5 +166,9 @@ public abstract class TileEntityInventoryBase extends TileEntity implements ISid } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } } diff --git a/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java b/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java index 11ec8ddd1..f3a2d9edd 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java @@ -1,16 +1,20 @@ package com.hbm.tileentity; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.packet.toclient.BufPacket; import com.hbm.sound.AudioWrapper; import api.hbm.tile.ILoadedTile; +import cpw.mods.fml.common.network.NetworkRegistry; +import io.netty.buffer.ByteBuf; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; -public class TileEntityLoadedBase extends TileEntity implements ILoadedTile { - +public class TileEntityLoadedBase extends TileEntity implements ILoadedTile, IBufPacketReceiver { + public boolean isLoaded = true; public boolean muffled = false; - + @Override public boolean isLoaded() { return isLoaded; @@ -21,29 +25,64 @@ public class TileEntityLoadedBase extends TileEntity implements ILoadedTile { super.onChunkUnload(); this.isLoaded = false; } - + public AudioWrapper createAudioLoop() { return null; } - + public AudioWrapper rebootAudio(AudioWrapper wrapper) { wrapper.stopSound(); AudioWrapper audio = createAudioLoop(); audio.startSound(); return audio; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); this.muffled = nbt.getBoolean("muffled"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setBoolean("muffled", muffled); } - + public float getVolume(float baseVolume) { return muffled ? baseVolume * 0.1F : baseVolume; } + + private ByteBuf lastPackedBuf; + + @Override + public void serialize(ByteBuf buf) { + buf.writeBoolean(muffled); + } + + @Override + public void deserialize(ByteBuf buf) { + this.muffled = buf.readBoolean(); + } + + /** Sends a sync packet that uses ByteBuf for efficient information-cramming */ + public void networkPackNT(int range) { + if(worldObj.isRemote) return; + + BufPacket packet = new BufPacket(xCoord, yCoord, zCoord, this); + + ByteBuf preBuf = packet.getCompiledBuffer(); + + // Don't send unnecessary packets, except for maybe one every second or so. + // If we stop sending duplicate packets entirely, this causes issues when + // a client unloads and then loads back a chunk with an unchanged tile entity. + // For that client, the tile entity will appear default until anything changes about it. + // In my testing, this can be reliably reproduced with a full fluid barrel, for instance. + // I think it might be fixable by doing something with getDescriptionPacket() and onDataPacket(), + // but this sidesteps the problem for the mean time. + if(preBuf.equals(lastPackedBuf) && this.worldObj.getTotalWorldTime() % 20 != 0) return; + + this.lastPackedBuf = preBuf.copy(); + + PacketThreading.createAllAroundThreadedPacket(packet, new NetworkRegistry.TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); + } + } diff --git a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java index d9a17469d..7d0805030 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java @@ -1,13 +1,7 @@ package com.hbm.tileentity; -import com.hbm.packet.AuxGaugePacket; -import com.hbm.packet.BufPacket; -import com.hbm.packet.NBTPacket; -import com.hbm.packet.PacketDispatcher; import com.hbm.util.fauxpointtwelve.DirPos; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; @@ -17,16 +11,16 @@ import net.minecraft.nbt.NBTTagList; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidTank; -public abstract class TileEntityMachineBase extends TileEntityLoadedBase implements ISidedInventory, INBTPacketReceiver, IBufPacketReceiver { +public abstract class TileEntityMachineBase extends TileEntityLoadedBase implements ISidedInventory { public ItemStack slots[]; - + private String customName; - + public TileEntityMachineBase(int slotCount) { slots = new ItemStack[slotCount]; } - + /** The "chunks is modified, pls don't forget to save me" effect of markDirty, minus the block updates */ public void markChanged() { this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this); @@ -67,16 +61,17 @@ public abstract class TileEntityMachineBase extends TileEntityLoadedBase impleme public String getInventoryName() { return this.hasCustomInventoryName() ? this.customName : getName(); } - + public abstract String getName(); @Override public boolean hasCustomInventoryName() { return this.customName != null && this.customName.length() > 0; } - + public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -92,7 +87,7 @@ public abstract class TileEntityMachineBase extends TileEntityLoadedBase impleme return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 128; } } - + @Override public void openInventory() {} @Override @@ -102,22 +97,22 @@ public abstract class TileEntityMachineBase extends TileEntityLoadedBase impleme public boolean isItemValidForSlot(int slot, ItemStack itemStack) { return false; } - + @Override public ItemStack decrStackSize(int slot, int amount) { if(slots[slot] != null) { - + if(slots[slot].stackSize <= amount) { ItemStack itemStack = slots[slot]; slots[slot] = null; return itemStack; } - + ItemStack itemStack1 = slots[slot].splitStack(amount); if(slots[slot].stackSize == 0) { slots[slot] = null; } - + return itemStack1; } else { return null; @@ -138,7 +133,7 @@ public abstract class TileEntityMachineBase extends TileEntityLoadedBase impleme public int[] getAccessibleSlotsFromSide(int side) { return new int[] { }; } - + public int getGaugeScaled(int i, FluidTank tank) { return tank.getFluidAmount() * i / tank.getCapacity(); } @@ -149,43 +144,15 @@ public abstract class TileEntityMachineBase extends TileEntityLoadedBase impleme //shit i don't know man @Override public abstract void updateEntity(); - - @Deprecated public void updateGauge(int val, int id, int range) { - if(!worldObj.isRemote) PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, val, id), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); - } - @Deprecated public void processGauge(int val, int id) { } - - @Deprecated public void networkPack(NBTTagCompound nbt, int range) { - nbt.setBoolean("muffled", muffled); - if(!worldObj.isRemote) PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(nbt, xCoord, yCoord, zCoord), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); - } - - @Deprecated - public void networkUnpack(NBTTagCompound nbt) { - this.muffled = nbt.getBoolean("muffled"); - } - - /** Sends a sync packet that uses ByteBuf for efficient information-cramming */ - public void networkPackNT(int range) { - if(!worldObj.isRemote) PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); - } - @Override public void serialize(ByteBuf buf) { - buf.writeBoolean(muffled); - } - - @Override public void deserialize(ByteBuf buf) { - this.muffled = buf.readBoolean(); - } - @Deprecated public void handleButtonPacket(int value, int meta) { } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); NBTTagList list = nbt.getTagList("items", 10); - + for(int i = 0; i < list.tagCount(); i++) { NBTTagCompound nbt1 = list.getCompoundTagAt(i); @@ -195,13 +162,15 @@ public abstract class TileEntityMachineBase extends TileEntityLoadedBase impleme slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); NBTTagList list = new NBTTagList(); - + for(int i = 0; i < slots.length; i++) { if(slots[i] != null) @@ -213,8 +182,12 @@ public abstract class TileEntityMachineBase extends TileEntityLoadedBase impleme } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } - + public void updateRedstoneConnection(DirPos pos) { int x = pos.getX(); diff --git a/src/main/java/com/hbm/tileentity/TileEntityMachinePolluting.java b/src/main/java/com/hbm/tileentity/TileEntityMachinePolluting.java index 692d2dbb7..9ad286ed7 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityMachinePolluting.java +++ b/src/main/java/com/hbm/tileentity/TileEntityMachinePolluting.java @@ -6,7 +6,8 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; -import api.hbm.fluid.IFluidUser; +import api.hbm.fluid.IFluidStandardSender; + import com.hbm.inventory.fluid.trait.FT_Polluting; import com.hbm.inventory.fluid.trait.FluidTrait; import net.minecraft.nbt.NBTTagCompound; @@ -15,7 +16,7 @@ import net.minecraftforge.common.util.ForgeDirection; import java.util.HashMap; import java.util.Map; -public abstract class TileEntityMachinePolluting extends TileEntityMachineBase implements IFluidUser { +public abstract class TileEntityMachinePolluting extends TileEntityMachineBase implements IFluidStandardSender { public FluidTank smoke; public FluidTank smoke_leaded; diff --git a/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java b/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java index ae43788db..c38e5f51e 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java +++ b/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java @@ -4,9 +4,14 @@ import api.hbm.block.ICrucibleAcceptor; import com.hbm.handler.CompatHandler; import com.hbm.handler.CompatHandler.OCComponent; import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.tank.FluidTank; import api.hbm.energymk2.IEnergyReceiverMK2; -import api.hbm.fluid.IFluidConnector; +import api.hbm.fluidmk2.IFluidConnectorMK2; +import api.hbm.fluidmk2.IFluidReceiverMK2; +import api.hbm.redstoneoverradio.IRORInfo; +import api.hbm.redstoneoverradio.IRORInteractive; +import api.hbm.redstoneoverradio.IRORValueProvider; import api.hbm.tile.IHeatSource; import com.hbm.inventory.material.Mats; import cpw.mods.fml.common.Loader; @@ -26,7 +31,7 @@ import net.minecraftforge.common.util.ForgeDirection; @Optional.Interface(iface = "com.hbm.handler.CompatHandler.OCComponent", modid = "opencomputers"), @Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers") }) -public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergyReceiverMK2, ISidedInventory, IFluidConnector, IHeatSource, ICrucibleAcceptor, SimpleComponent, OCComponent { +public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergyReceiverMK2, ISidedInventory, IFluidReceiverMK2, IHeatSource, ICrucibleAcceptor, SimpleComponent, OCComponent, IRORValueProvider, IRORInteractive { TileEntity tile; boolean inventory; @@ -70,15 +75,18 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy return this; } - //fewer messy recursive operations - public TileEntity getTile() { - + /** Returns the actual tile entity that represents the core. Only for internal use. */ + protected TileEntity getTile() { if(tile == null || tile.isInvalid()) { tile = this.getTE(); } - return tile; } + + /** Returns the core tile entity, or a delegate object. */ + protected Object getCoreObject() { + return getTile(); + } @Override public void setPower(long i) { @@ -86,8 +94,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!power) return; - if(getTile() instanceof IEnergyReceiverMK2) { - ((IEnergyReceiverMK2)getTile()).setPower(i); + if(getCoreObject() instanceof IEnergyReceiverMK2) { + ((IEnergyReceiverMK2)getCoreObject()).setPower(i); } } @@ -97,8 +105,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!power) return 0; - if(getTile() instanceof IEnergyReceiverMK2) { - return ((IEnergyReceiverMK2)getTile()).getPower(); + if(getCoreObject() instanceof IEnergyReceiverMK2) { + return ((IEnergyReceiverMK2)getCoreObject()).getPower(); } return 0; @@ -110,8 +118,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!power) return 0; - if(getTile() instanceof IEnergyReceiverMK2) { - return ((IEnergyReceiverMK2)getTile()).getMaxPower(); + if(getCoreObject() instanceof IEnergyReceiverMK2) { + return ((IEnergyReceiverMK2)getCoreObject()).getMaxPower(); } return 0; @@ -123,8 +131,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!this.power) return power; - if(getTile() instanceof IEnergyReceiverMK2) { - return ((IEnergyReceiverMK2)getTile()).transferPower(power); + if(getCoreObject() instanceof IEnergyReceiverMK2) { + return ((IEnergyReceiverMK2)getCoreObject()).transferPower(power); } return power; @@ -136,21 +144,68 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!power) return false; - if(getTile() instanceof IEnergyReceiverMK2) { - return ((IEnergyReceiverMK2)getTile()).canConnect(dir); + if(getCoreObject() instanceof IEnergyReceiverMK2) { + return ((IEnergyReceiverMK2)getCoreObject()).canConnect(dir); } return true; } + public static final FluidTank[] EMPTY_TANKS = new FluidTank[0]; + + @Override + public FluidTank[] getAllTanks() { + if(!fluid) return EMPTY_TANKS; + + if(getCoreObject() instanceof IFluidReceiverMK2) { + return ((IFluidReceiverMK2)getCoreObject()).getAllTanks(); + } + + return EMPTY_TANKS; + } + + @Override + public long transferFluid(FluidType type, int pressure, long amount) { + if(!fluid) return amount; + + if(getCoreObject() instanceof IFluidReceiverMK2) { + return ((IFluidReceiverMK2)getCoreObject()).transferFluid(type, pressure, amount); + } + + return amount; + } + + @Override + public long getDemand(FluidType type, int pressure) { + if(!fluid) return 0; + + if(getCoreObject() instanceof IFluidReceiverMK2) { + return ((IFluidReceiverMK2)getCoreObject()).getDemand(type, pressure); + } + + return 0; + } + + @Override + public boolean canConnect(FluidType type, ForgeDirection dir) { + + if(!this.fluid) + return false; + + if(getCoreObject() instanceof IFluidConnectorMK2) { + return ((IFluidConnectorMK2) getCoreObject()).canConnect(type, dir); + } + return true; + } + @Override public int getSizeInventory() { if(!inventory) return 0; - if(getTile() instanceof ISidedInventory) { - return ((ISidedInventory)getTile()).getSizeInventory(); + if(getCoreObject() instanceof ISidedInventory) { + return ((ISidedInventory)getCoreObject()).getSizeInventory(); } return 0; @@ -162,8 +217,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!inventory) return null; - if(getTile() instanceof ISidedInventory) { - return ((ISidedInventory)getTile()).getStackInSlot(slot); + if(getCoreObject() instanceof ISidedInventory) { + return ((ISidedInventory)getCoreObject()).getStackInSlot(slot); } return null; @@ -172,8 +227,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy @Override public ItemStack decrStackSize(int i, int j) { - if(getTile() instanceof ISidedInventory) { - return ((ISidedInventory)getTile()).decrStackSize(i, j); + if(getCoreObject() instanceof ISidedInventory) { + return ((ISidedInventory)getCoreObject()).decrStackSize(i, j); } return null; @@ -185,8 +240,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!inventory) return null; - if(getTile() instanceof ISidedInventory) { - return ((ISidedInventory)getTile()).getStackInSlotOnClosing(slot); + if(getCoreObject() instanceof ISidedInventory) { + return ((ISidedInventory)getCoreObject()).getStackInSlotOnClosing(slot); } return null; @@ -198,8 +253,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!inventory) return; - if(getTile() instanceof ISidedInventory) { - ((ISidedInventory)getTile()).setInventorySlotContents(slot, stack); + if(getCoreObject() instanceof ISidedInventory) { + ((ISidedInventory)getCoreObject()).setInventorySlotContents(slot, stack); } } @@ -209,8 +264,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!inventory) return null; - if(getTile() instanceof ISidedInventory) { - return ((ISidedInventory)getTile()).getInventoryName(); + if(getCoreObject() instanceof ISidedInventory) { + return ((ISidedInventory)getCoreObject()).getInventoryName(); } return null; @@ -222,8 +277,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!inventory) return false; - if(getTile() instanceof ISidedInventory) { - return ((ISidedInventory)getTile()).hasCustomInventoryName(); + if(getCoreObject() instanceof ISidedInventory) { + return ((ISidedInventory)getCoreObject()).hasCustomInventoryName(); } return false; @@ -235,8 +290,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!inventory) return 0; - if(getTile() instanceof ISidedInventory) { - return ((ISidedInventory)getTile()).getInventoryStackLimit(); + if(getCoreObject() instanceof ISidedInventory) { + return ((ISidedInventory)getCoreObject()).getInventoryStackLimit(); } return 0; @@ -248,8 +303,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!inventory) return false; - if(getTile() instanceof ISidedInventory) { - return ((ISidedInventory)getTile()).isUseableByPlayer(player); + if(getCoreObject() instanceof ISidedInventory) { + return ((ISidedInventory)getCoreObject()).isUseableByPlayer(player); } return false; @@ -261,8 +316,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!inventory) return; - if(getTile() instanceof ISidedInventory) { - ((ISidedInventory)getTile()).openInventory(); + if(getCoreObject() instanceof ISidedInventory) { + ((ISidedInventory)getCoreObject()).openInventory(); } } @@ -272,8 +327,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!inventory) return; - if(getTile() instanceof ISidedInventory) { - ((ISidedInventory)getTile()).closeInventory(); + if(getCoreObject() instanceof ISidedInventory) { + ((ISidedInventory)getCoreObject()).closeInventory(); } } @@ -283,11 +338,11 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!inventory) return false; - if(getTile() instanceof ISidedInventory) { + if(getCoreObject() instanceof ISidedInventory) { - if(getTile() instanceof IConditionalInvAccess) return ((IConditionalInvAccess) getTile()).isItemValidForSlot(xCoord, yCoord, zCoord, slot, stack); + if(getCoreObject() instanceof IConditionalInvAccess) return ((IConditionalInvAccess) getCoreObject()).isItemValidForSlot(xCoord, yCoord, zCoord, slot, stack); - return ((ISidedInventory)getTile()).isItemValidForSlot(slot, stack); + return ((ISidedInventory)getCoreObject()).isItemValidForSlot(slot, stack); } return false; @@ -299,11 +354,11 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!inventory) return new int[0]; - if(getTile() instanceof ISidedInventory) { + if(getCoreObject() instanceof ISidedInventory) { - if(getTile() instanceof IConditionalInvAccess) return ((IConditionalInvAccess) getTile()).getAccessibleSlotsFromSide(xCoord, yCoord, zCoord, side); + if(getCoreObject() instanceof IConditionalInvAccess) return ((IConditionalInvAccess) getCoreObject()).getAccessibleSlotsFromSide(xCoord, yCoord, zCoord, side); - return ((ISidedInventory)getTile()).getAccessibleSlotsFromSide(side); + return ((ISidedInventory)getCoreObject()).getAccessibleSlotsFromSide(side); } return new int[0]; @@ -315,11 +370,11 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!inventory) return false; - if(getTile() instanceof ISidedInventory) { + if(getCoreObject() instanceof ISidedInventory) { - if(getTile() instanceof IConditionalInvAccess) return ((IConditionalInvAccess) getTile()).canInsertItem(xCoord, yCoord, zCoord, i, stack, j); + if(getCoreObject() instanceof IConditionalInvAccess) return ((IConditionalInvAccess) getCoreObject()).canInsertItem(xCoord, yCoord, zCoord, i, stack, j); - return ((ISidedInventory)getTile()).canInsertItem(i, stack, j); + return ((ISidedInventory)getCoreObject()).canInsertItem(i, stack, j); } return false; @@ -331,11 +386,11 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!inventory) return false; - if(getTile() instanceof ISidedInventory) { + if(getCoreObject() instanceof ISidedInventory) { - if(getTile() instanceof IConditionalInvAccess) return ((IConditionalInvAccess) getTile()).canExtractItem(xCoord, yCoord, zCoord, i, stack, j); + if(getCoreObject() instanceof IConditionalInvAccess) return ((IConditionalInvAccess) getCoreObject()).canExtractItem(xCoord, yCoord, zCoord, i, stack, j); - return ((ISidedInventory)getTile()).canExtractItem(i, stack, j); + return ((ISidedInventory)getCoreObject()).canExtractItem(i, stack, j); } return false; @@ -368,50 +423,14 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy nbt.setString("ocname", componentName); } - @Override - public long transferFluid(FluidType type, int pressure, long fluid) { - - if(!this.fluid) - return fluid; - - if(getTile() instanceof IFluidConnector) { - return ((IFluidConnector)getTile()).transferFluid(type, pressure, fluid); - } - return fluid; - } - - @Override - public long getDemand(FluidType type, int pressure) { - - if(!this.fluid) - return 0; - - if(getTile() instanceof IFluidConnector) { - return ((IFluidConnector)getTile()).getDemand(type, pressure); - } - return 0; - } - - @Override - public boolean canConnect(FluidType type, ForgeDirection dir) { - - if(!this.fluid) - return false; - - if(getTile() instanceof IFluidConnector) { - return ((IFluidConnector)getTile()).canConnect(type, dir); - } - return true; - } - @Override public int getHeatStored() { if(!this.heat) return 0; - if(getTile() instanceof IHeatSource) { - return ((IHeatSource)getTile()).getHeatStored(); + if(getCoreObject() instanceof IHeatSource) { + return ((IHeatSource)getCoreObject()).getHeatStored(); } return 0; @@ -423,39 +442,39 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!this.heat) return; - if(getTile() instanceof IHeatSource) { - ((IHeatSource)getTile()).useUpHeat(heat); + if(getCoreObject() instanceof IHeatSource) { + ((IHeatSource)getCoreObject()).useUpHeat(heat); } } @Override public boolean canAcceptPartialPour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, Mats.MaterialStack stack) { - if(this.moltenMetal && getTile() instanceof ICrucibleAcceptor){ - return ((ICrucibleAcceptor)getTile()).canAcceptPartialPour(world, x, y, z, dX, dY, dZ, side, stack); + if(this.moltenMetal && getCoreObject() instanceof ICrucibleAcceptor){ + return ((ICrucibleAcceptor)getCoreObject()).canAcceptPartialPour(world, x, y, z, dX, dY, dZ, side, stack); } return false; } @Override public Mats.MaterialStack pour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, Mats.MaterialStack stack) { - if(this.moltenMetal && getTile() instanceof ICrucibleAcceptor){ - return ((ICrucibleAcceptor)getTile()).pour(world, x, y, z, dX, dY, dZ, side, stack); + if(this.moltenMetal && getCoreObject() instanceof ICrucibleAcceptor){ + return ((ICrucibleAcceptor)getCoreObject()).pour(world, x, y, z, dX, dY, dZ, side, stack); } return null; } @Override public boolean canAcceptPartialFlow(World world, int x, int y, int z, ForgeDirection side, Mats.MaterialStack stack) { - if(this.moltenMetal && getTile() instanceof ICrucibleAcceptor){ - return ((ICrucibleAcceptor)getTile()).canAcceptPartialFlow(world, x, y, z, side, stack); + if(this.moltenMetal && getCoreObject() instanceof ICrucibleAcceptor){ + return ((ICrucibleAcceptor)getCoreObject()).canAcceptPartialFlow(world, x, y, z, side, stack); } return false; } @Override public Mats.MaterialStack flow(World world, int x, int y, int z, ForgeDirection side, Mats.MaterialStack stack) { - if(this.moltenMetal && getTile() instanceof ICrucibleAcceptor){ - return ((ICrucibleAcceptor)getTile()).flow(world, x, y, z, side, stack); + if(this.moltenMetal && getCoreObject() instanceof ICrucibleAcceptor){ + return ((ICrucibleAcceptor)getCoreObject()).flow(world, x, y, z, side, stack); } return null; } @@ -465,9 +484,9 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy public String getComponentName() { if(this.worldObj == null) // OC is going too fast, grab from NBT! return componentName; - if(this.getTile() instanceof OCComponent) { + if(this.getCoreObject() instanceof OCComponent) { if (componentName == null || componentName.equals(OCComponent.super.getComponentName())) { - componentName = ((OCComponent) this.getTile()).getComponentName(); + componentName = ((OCComponent) this.getCoreObject()).getComponentName(); } return componentName; } @@ -477,26 +496,44 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy @Override @Optional.Method(modid = "OpenComputers") public boolean canConnectNode(ForgeDirection side) { - if(this.getTile() instanceof OCComponent) + if(this.getCoreObject() instanceof OCComponent) return (this.getBlockMetadata() >= 6 && this.getBlockMetadata() <= 11) && (power || fluid) && - ((OCComponent) this.getTile()).canConnectNode(side); + ((OCComponent) this.getCoreObject()).canConnectNode(side); return OCComponent.super.canConnectNode(null); } @Override @Optional.Method(modid = "OpenComputers") public String[] methods() { - if(this.getTile() instanceof OCComponent) - return ((OCComponent) this.getTile()).methods(); + if(this.getCoreObject() instanceof OCComponent) + return ((OCComponent) this.getCoreObject()).methods(); return OCComponent.super.methods(); } @Override @Optional.Method(modid = "OpenComputers") public Object[] invoke(String method, Context context, Arguments args) throws Exception { - if(this.getTile() instanceof OCComponent) - return ((OCComponent) this.getTile()).invoke(method, context, args); + if(this.getCoreObject() instanceof OCComponent) + return ((OCComponent) this.getCoreObject()).invoke(method, context, args); return OCComponent.super.invoke(null, null, null); } + + @Override + public String[] getFunctionInfo() { + if(getCoreObject() instanceof IRORInfo) return ((IRORInfo) getCoreObject()).getFunctionInfo(); + return new String[0]; + } + + @Override + public String provideRORValue(String name) { + if(getCoreObject() instanceof IRORValueProvider) return ((IRORValueProvider) getCoreObject()).provideRORValue(name); + return null; + } + + @Override + public String runRORFunction(String name, String[] params) { + if(getCoreObject() instanceof IRORInteractive) return ((IRORInteractive) getCoreObject()).runRORFunction(name, params); + return null; + } } diff --git a/src/main/java/com/hbm/tileentity/TileEntityProxyDyn.java b/src/main/java/com/hbm/tileentity/TileEntityProxyDyn.java new file mode 100644 index 000000000..56f4a85c6 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/TileEntityProxyDyn.java @@ -0,0 +1,24 @@ +package com.hbm.tileentity; + +public class TileEntityProxyDyn extends TileEntityProxyCombo { + + @Override + public Object getCoreObject() { + + Object o = super.getCoreObject(); + + if(o instanceof IProxyDelegateProvider) { + Object delegate = ((IProxyDelegateProvider) o).getDelegateForPosition(xCoord, yCoord, zCoord); + if(delegate != null) return delegate; + } + + return o; + } + + /** Based on the position of the proxy, produces a delegate instead of returning the core tile entity. God this fucking sucks. */ + public static interface IProxyDelegateProvider { + + /** Returns the delegate based on the proxy's position. Retunring NULL skips the delegate and reverts back to original core behavior */ + public Object getDelegateForPosition(int x, int y, int z); + } +} diff --git a/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java b/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java index 1d1871c2e..2924a3467 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java @@ -1,20 +1,13 @@ package com.hbm.tileentity; -import com.hbm.packet.BufPacket; -import com.hbm.packet.NBTPacket; -import com.hbm.packet.PacketDispatcher; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import io.netty.buffer.ByteBuf; -import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fluids.FluidTank; -public abstract class TileEntityTickingBase extends TileEntityLoadedBase implements INBTPacketReceiver, IBufPacketReceiver { - +public abstract class TileEntityTickingBase extends TileEntityLoadedBase { + public TileEntityTickingBase() { } - + public abstract String getInventoryName(); - + public int getGaugeScaled(int i, FluidTank tank) { return tank.getFluidAmount() * i / tank.getCapacity(); } @@ -25,27 +18,8 @@ public abstract class TileEntityTickingBase extends TileEntityLoadedBase impleme //shit i don't know man @Override public abstract void updateEntity(); - - @Deprecated public void networkPack(NBTTagCompound nbt, int range) { - if(!worldObj.isRemote) - PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(nbt, xCoord, yCoord, zCoord), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); - } - - @Deprecated public void networkUnpack(NBTTagCompound nbt) { } - @Deprecated public void handleButtonPacket(int value, int meta) { } - - public void networkPackNT(int range) { - if(!worldObj.isRemote) PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); - } - @Override public void serialize(ByteBuf buf) { - buf.writeBoolean(muffled); - } - - @Override public void deserialize(ByteBuf buf) { - this.muffled = buf.readBoolean(); - } } diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 7dc97bf85..1c938ab18 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -9,12 +9,19 @@ import com.hbm.blocks.generic.BlockBedrockOreTE.TileEntityBedrockOre; import com.hbm.blocks.generic.BlockBobble.TileEntityBobble; import com.hbm.blocks.generic.BlockDynamicSlag.TileEntitySlag; import com.hbm.blocks.generic.BlockEmitter.TileEntityEmitter; +import com.hbm.blocks.generic.BlockFissure.TileEntityFissure; import com.hbm.blocks.generic.BlockGlyphidSpawner.TileEntityGlpyhidSpawner; import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; -import com.hbm.blocks.generic.BlockMotherOfAllOres.TileEntityRandomOre; import com.hbm.blocks.generic.BlockPedestal.TileEntityPedestal; import com.hbm.blocks.generic.BlockPlushie.TileEntityPlushie; +import com.hbm.blocks.generic.BlockSkeletonHolder.TileEntitySkeletonHolder; import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; +import com.hbm.blocks.generic.BlockSupplyCrate.TileEntitySupplyCrate; +import com.hbm.blocks.generic.BlockWandJigsaw.TileEntityWandJigsaw; +import com.hbm.blocks.generic.BlockWandLoot.TileEntityWandLoot; +import com.hbm.blocks.generic.BlockWandLogic.TileEntityWandLogic; +import com.hbm.blocks.generic.DungeonSpawner.TileEntityDungeonSpawner; +import com.hbm.blocks.generic.LogicBlock; import com.hbm.blocks.generic.PartEmitter.TileEntityPartEmitter; import com.hbm.blocks.machine.BlockICF.TileEntityBlockICF; import com.hbm.blocks.machine.BlockPWR.TileEntityBlockPWR; @@ -30,10 +37,13 @@ import com.hbm.blocks.network.CableDiode.TileEntityDiode; import com.hbm.blocks.network.CranePartitioner.TileEntityCranePartitioner; import com.hbm.blocks.network.FluidDuctGauge.TileEntityPipeGauge; import com.hbm.blocks.network.FluidDuctPaintable.TileEntityPipePaintable; +import com.hbm.blocks.network.FluidDuctPaintableBlockExhaust.TileEntityPipeExhaustPaintable; +import com.hbm.blocks.network.FluidPump.TileEntityFluidPump; import com.hbm.blocks.rail.RailStandardSwitch.TileEntityRailSwitch; import com.hbm.tileentity.bomb.*; import com.hbm.tileentity.deco.*; import com.hbm.tileentity.machine.*; +import com.hbm.tileentity.machine.albion.*; import com.hbm.tileentity.machine.oil.*; import com.hbm.tileentity.machine.pile.*; import com.hbm.tileentity.machine.rbmk.*; @@ -47,7 +57,7 @@ public class TileMappings { public static HashMap, String[]> map = new HashMap, String[]>(); public static List> configurables = new ArrayList>(); - + public static void writeMappings() { put(TileEntityDiFurnace.class, "tilentity_diFurnace"); put(TileEntityObjTester.class, "tilentity_objtester"); @@ -56,7 +66,6 @@ public class TileMappings { put(TileEntityMachineUF6Tank.class, "tileentity_uf6_tank"); put(TileEntityMachinePuF6Tank.class, "tileentity_puf6_tank"); put(TileEntityMachineReactorBreeding.class, "tileentity_reactor"); - put(TileEntityNukeFurnace.class, "tileentity_nukefurnace"); put(TileEntityRtgFurnace.class, "tileentity_rtgfurnace"); put(TileEntityMachineElectricFurnace.class, "tileentity_electric_furnace"); put(TileEntityDecoTapeRecorder.class, "tileentity_taperecorder"); @@ -102,10 +111,10 @@ public class TileMappings { put(TileEntityCrateDesh.class, "tileentity_crate_desh"); put(TileEntityMassStorage.class, "tileentity_mass_storage"); put(TileEntityMachinePress.class, "tileentity_press"); + put(TileEntityMachineAmmoPress.class, "tileentity_ammo_press"); put(TileEntityMachineSiren.class, "tileentity_siren"); put(TileEntityMachineSPP.class, "tileentity_spp"); put(TileEntityMachineRadGen.class, "tileentity_radgen"); - put(TileEntityMachineTransformer.class, "tileentity_transformer"); put(TileEntityMachineRadarNT.class, "tileentity_radar"); put(TileEntityMachineRadarLarge.class, "tileentity_radar_large"); put(TileEntityMachineRadarScreen.class, "tileentity_radar_screen"); @@ -150,6 +159,8 @@ public class TileMappings { put(TileEntityBarrel.class, "tileentity_fluid_barrel"); put(TileEntityCyberCrab.class, "tileentity_crabs"); put(TileEntitySoyuzCapsule.class, "tileentity_soyuz_capsule"); + put(TileEntitySupplyCrate.class, "tileentity_supply_crate"); + put(TileEntityMachineRotaryFurnace.class, "tileentity_rotary_furnace"); put(TileEntityMachineCrystallizer.class, "tileentity_acidomatic"); put(TileEntitySoyuzStruct.class, "tileentity_soyuz_struct"); put(TileEntityITERStruct.class, "tileentity_iter_struct"); @@ -171,6 +182,12 @@ public class TileMappings { put(TileEntityHadronDiode.class, "tileentity_hadron_diode"); put(TileEntityHadronPower.class, "tileentity_hadron_power"); put(TileEntityHadron.class, "tileentity_hadron"); + put(TileEntityPASource.class, "tileentity_pa_source"); + put(TileEntityPABeamline.class, "tileentity_pa_beamline"); + put(TileEntityPARFC.class, "tileentity_pa_rfc"); + put(TileEntityPAQuadrupole.class, "tileentity_pa_quadrupole"); + put(TileEntityPADipole.class, "tileentity_pa_dipole"); + put(TileEntityPADetector.class, "tileentity_pa_detector"); put(TileEntitySolarBoiler.class, "tileentity_solarboiler"); put(TileEntitySolarMirror.class, "tileentity_solarmirror"); put(TileEntityMachineDetector.class, "tileentity_he_detector"); @@ -184,21 +201,16 @@ public class TileMappings { put(TileEntityLantern.class, "tileentity_lantern_ordinary"); put(TileEntityLanternBehemoth.class, "tileentity_lantern_behemoth"); put(TileEntityStorageDrum.class, "tileentity_waste_storage_drum"); - put(TileEntityCableBaseNT.class, "tileentity_ohgod"); // what? - put(TileEntityCablePaintable.class, "tileentity_cable_paintable"); - put(TileEntityCableGauge.class, "tileentity_cable_gauge"); - put(TileEntityPipeBaseNT.class, "tileentity_pipe_base"); - put(TileEntityPipePaintable.class, "tileentity_pipe_paintable"); - put(TileEntityPipeGauge.class, "tileentity_pipe_gauge"); - put(TileEntityPipeExhaust.class, "tileentity_pipe_exhaust"); - put(TileEntityFluidValve.class, "tileentity_pipe_valve"); put(TileEntityMachineBAT9000.class, "tileentity_bat9000"); put(TileEntityMachineOrbus.class, "tileentity_orbus"); put(TileEntityGlpyhidSpawner.class, "tileentity_glyphid_spawner"); put(TileEntityCustomMachine.class, "tileentity_custom_machine"); - + put(TileEntityLoot.class, "tileentity_ntm_loot"); put(TileEntityPedestal.class, "tileentity_ntm_pedestal"); + put(TileEntitySkeletonHolder.class, "tileentity_ntm_skeleton"); + put(TileEntityDungeonSpawner.class, "tileentity_ntm_dungeon_spawner"); + put(LogicBlock.TileEntityLogicBlock.class, "tileentity_ntm_logic_block"); put(TileEntityBobble.class, "tileentity_ntm_bobblehead"); put(TileEntitySnowglobe.class, "tileentity_ntm_snowglobe"); put(TileEntityPlushie.class, "tileentity_ntm_plushie"); @@ -207,22 +219,28 @@ public class TileMappings { put(TileEntityDoorGeneric.class, "tileentity_ntm_door"); put(TileEntityCharger.class, "tileentity_ntm_charger"); - + put(TileEntityRefueler.class, "tileentity_ntm_refueler"); + put(TileEntityFileCabinet.class, "tileentity_file_cabinet"); - + put(TileEntityProxyInventory.class, "tileentity_proxy_inventory"); put(TileEntityProxyEnergy.class, "tileentity_proxy_power"); put(TileEntityProxyCombo.class, "tileentity_proxy_combo"); + put(TileEntityProxyDyn.class, "tileentity_proxy_dyn"); put(TileEntityProxyConductor.class, "tileentity_proxy_conductor"); - put(TileEntityRandomOre.class, "tileentity_mother_of_all_ores"); put(TileEntityBedrockOre.class, "tileentity_bedrock_ore"); + put(TileEntityFissure.class, "tileentity_fissure"); put(TileEntityBlockPWR.class, "tileentity_block_pwr"); put(TileEntityPWRController.class, "tileentity_pwr_controller"); put(TileEntityData.class, "tileentity_data"); - + + put(TileEntityWandLoot.class, "tileentity_wand_loot"); + put(TileEntityWandJigsaw.class, "tileentity_wand_jigsaw"); + put(TileEntityWandLogic.class, "tileentity_wand_spawner"); + putNetwork(); putBombs(); putTurrets(); @@ -233,7 +251,7 @@ public class TileMappings { TileEntityMachineRadarNT.registerEntityClasses(); TileEntityMachineRadarNT.registerConverters(); } - + private static void putBombs() { put(TileEntityBombMulti.class, "tileentity_bombmulti"); put(TileEntityNukeGadget.class, "tilentity_nukegadget"); @@ -248,7 +266,7 @@ public class TileMappings { put(TileEntityCharge.class, "tileentity_explosive_charge"); put(TileEntityVolcanoCore.class, "tileentity_volcano_core"); } - + private static void putTurrets() { put(TileEntityTurretChekhov.class, "tileentity_turret_chekhov"); put(TileEntityTurretJeremy.class, "tileentity_turret_jeremy"); @@ -265,7 +283,7 @@ public class TileMappings { put(TileEntityTurretSentry.class, "tileentity_turret_sentry"); put(TileEntityTurretSentryDamaged.class, "tileentity_turret_sentry_damaged"); } - + private static void putMachines() { put(TileEntityHeaterFirebox.class, "tileentity_firebox"); put(TileEntityHeaterOven.class, "tileentity_heating_oven"); @@ -285,7 +303,7 @@ public class TileMappings { put(TileEntityMachinePumpSteam.class, "tileentity_steam_pump"); put(TileEntityMachinePumpElectric.class, "tileentity_electric_pump"); - + put(TileEntityFoundryMold.class, "tileentity_foundry_mold"); put(TileEntityFoundryBasin.class, "tileentity_foundry_basin"); put(TileEntityFoundryChannel.class, "tileentity_foundry_channel"); @@ -300,7 +318,7 @@ public class TileMappings { put(TileEntityDiFurnaceRTG.class, "tileentity_rtg_difurnace"); put(TileEntityMachineRadiolysis.class, "tileentity_radiolysis"); put(TileEntityMachineAutosaw.class, "tileentity_autosaw"); - + put(TileEntityCondenser.class, "tileentity_condenser"); put(TileEntityTowerSmall.class, "tileentity_cooling_tower_small"); put(TileEntityTowerLarge.class, "tileentity_cooling_tower_large"); @@ -309,7 +327,9 @@ public class TileMappings { put(TileEntityDeuteriumTower.class, "tileentity_deuterium_tower"); put(TileEntityMachineLiquefactor.class, "tileentity_liquefactor"); put(TileEntityMachineSolidifier.class, "tileentity_solidifier"); + put(TileEntityMachineIntake.class, "tileentity_intake"); put(TileEntityMachineCompressor.class, "tileentity_compressor"); + put(TileEntityMachineCompressorCompact.class, "tileentity_compressor_compact"); put(TileEntityElectrolyser.class, "tileentity_electrolyser"); put(TileEntityMachineMixer.class, "tileentity_mixer"); put(TileEntityMachineArcWelder.class, "tileentity_arc_welder"); @@ -322,12 +342,15 @@ public class TileMappings { put(TileEntityChungus.class, "tileentity_chungus"); put(TileEntityMachineCombustionEngine.class, "tileentity_combustion_engine"); - + put(TileEntityMachineAssembler.class, "tileentity_assembly_machine"); + put(TileEntityMachineAssemblyMachine.class, "tileentity_assemblymachine"); put(TileEntityMachineAssemfac.class, "tileentity_assemfac"); put(TileEntityMachineChemplant.class, "tileentity_chemical_plant"); + put(TileEntityMachineChemicalPlant.class, "tileentity_chemicalplant"); put(TileEntityMachineChemfac.class, "tileentity_chemfac"); - + put(TileEntityMachineChemicalFactory.class, "tileentity_chemicalfactory"); + put(TileEntityMachineOilWell.class, "tileentity_derrick"); put(TileEntityMachinePumpjack.class, "tileentity_machine_pumpjack"); put(TileEntityMachineFrackingTower.class, "tileentity_fracking_tower"); @@ -340,23 +363,24 @@ public class TileMappings { put(TileEntityMachineCatalyticReformer.class, "tileentity_catalytic_reformer"); put(TileEntityMachineHydrotreater.class, "tileentity_hydrotreater"); put(TileEntityMachineCoker.class, "tileentity_coker"); + put(TileEntityMachinePyroOven.class, "tileentity_pyrooven"); put(TileEntityChimneyBrick.class, "tileentity_chimney_brick"); put(TileEntityChimneyIndustrial.class, "tileentity_chimney_industrial"); - + put(TileEntityReactorZirnox.class, "tileentity_zirnox"); put(TileEntityZirnoxDestroyed.class, "tileentity_zirnox_destroyed"); put(TileEntityWatz.class, "tileentity_watz"); put(TileEntityWatzPump.class, "tileentity_watz_pump"); } - + private static void putPile() { put(TileEntityPileFuel.class, "tileentity_pile_fuel"); put(TileEntityPileSource.class, "tileentity_pile_source"); put(TileEntityPileBreedingFuel.class, "tileentity_pile_breedingfuel"); put(TileEntityPileNeutronDetector.class, "tileentity_pile_neutrondetector"); } - + private static void putRBMK() { put(TileEntityRBMKRod.class, "tileentity_rbmk_rod"); put(TileEntityRBMKRodReaSim.class, "tileentity_rbmk_rod_reasim"); @@ -376,18 +400,28 @@ public class TileMappings { put(TileEntityRBMKInlet.class, "tileentity_rbmk_inlet"); put(TileEntityRBMKOutlet.class, "tileentity_rbmk_outlet"); } - + private static void putNetwork() { put(TileEntityCableBaseNT.class, "tileentity_cable", "tileentity_wirecoated"); + put(TileEntityCablePaintable.class, "tileentity_cable_paintable"); + put(TileEntityCableGauge.class, "tileentity_cable_gauge"); put(TileEntityCableSwitch.class, "tileentity_cable_switch"); put(TileEntityDiode.class, "tileentity_cable_diode"); - + put(TileEntityConnector.class, "tileentity_connector_redwire"); put(TileEntityPylon.class, "tileentity_pylon_redwire"); put(TileEntityPylonMedium.class, "tileentity_pylon_medium"); put(TileEntityPylonLarge.class, "tileentity_pylon_large"); put(TileEntitySubstation.class, "tileentity_substation"); + put(TileEntityPipeBaseNT.class, "tileentity_pipe_base"); + put(TileEntityPipePaintable.class, "tileentity_pipe_paintable"); + put(TileEntityPipeGauge.class, "tileentity_pipe_gauge"); + put(TileEntityPipeExhaust.class, "tileentity_pipe_exhaust"); + put(TileEntityPipeExhaustPaintable.class, "tileentity_pipe_exhaust_paintable"); + put(TileEntityFluidValve.class, "tileentity_pipe_valve"); + put(TileEntityFluidPump.class, "tileentity_pipe_pump"); + put(TileEntityCraneInserter.class, "tileentity_inserter"); put(TileEntityCraneExtractor.class, "tileentity_extractor"); put(TileEntityCraneGrabber.class, "tileentity_grabber"); @@ -399,29 +433,33 @@ public class TileMappings { put(TileEntityFan.class, "tileentity_fan"); put(TileEntityPistonInserter.class, "tileentity_piston_inserter"); + put(TileEntityPneumoTube.class, "tileentity_pneumatic_tube"); + put(TileEntityRadioTorchSender.class, "tileentity_rtty_sender"); put(TileEntityRadioTorchReceiver.class, "tileentity_rtty_rec"); put(TileEntityRadioTorchCounter.class, "tileentity_rtty_counter"); put(TileEntityRadioTorchLogic.class, "tileentity_rtty_logic"); + put(TileEntityRadioTorchReader.class, "tileentity_rtty_reader"); + put(TileEntityRadioTorchController.class, "tileentity_rtty_controller"); put(TileEntityRadioTelex.class, "tileentity_rtty_telex"); - + put(TileEntityDroneWaypoint.class, "tileentity_drone_waypoint"); put(TileEntityDroneCrate.class, "tileentity_drone_crate"); put(TileEntityDroneWaypointRequest.class, "tileentity_drone_waypoint_request"); put(TileEntityDroneDock.class, "tileentity_drone_dock"); put(TileEntityDroneProvider.class, "tileentity_drone_provider"); put(TileEntityDroneRequester.class, "tileentity_drone_requester"); - + put(TileEntityRailSwitch.class, "tileentity_rail_switch"); } - + private static void put(Class clazz, String... names) { map.put(clazz, names); /*if((IFluidSource.class.isAssignableFrom(clazz) || IFluidAcceptor.class.isAssignableFrom(clazz)) && !IFluidConnector.class.isAssignableFrom(clazz)) { LoggingUtil.errorWithHighlight(clazz.getCanonicalName() + " implements the old interfaces but not IFluidConnector!"); }*/ - + if(IConfigurableMachine.class.isAssignableFrom(clazz)) { configurables.add((Class) clazz); } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityBombMulti.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityBombMulti.java index 0eeae10f0..3c24c9e4d 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityBombMulti.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityBombMulti.java @@ -7,7 +7,6 @@ import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; @@ -95,6 +94,7 @@ public class TileEntityBombMulti extends TileEntity implements ISidedInventory, public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -157,6 +157,8 @@ public class TileEntityBombMulti extends TileEntity implements ISidedInventory, slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override @@ -175,6 +177,10 @@ public class TileEntityBombMulti extends TileEntity implements ISidedInventory, } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } public boolean isLoaded(){ @@ -290,7 +296,7 @@ public class TileEntityBombMulti extends TileEntity implements ISidedInventory, @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIBombMulti(player.inventory, this); } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityCharge.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityCharge.java index 6467ac91e..81017a41a 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityCharge.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityCharge.java @@ -1,65 +1,64 @@ package com.hbm.tileentity.bomb; import com.hbm.blocks.bomb.BlockChargeBase; -import com.hbm.packet.NBTPacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.INBTPacketReceiver; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; +import com.hbm.tileentity.TileEntityLoadedBase; +import io.netty.buffer.ByteBuf; + +public class TileEntityCharge extends TileEntityLoadedBase { -public class TileEntityCharge extends TileEntity implements INBTPacketReceiver { - public boolean started; public int timer; @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + if(started) { timer--; - + if(timer % 20 == 0 && timer > 0) worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:weapon.fstbmbPing", 1.0F, 1.0F); - + if(timer <= 0) { ((BlockChargeBase)this.getBlockType()).explode(worldObj, xCoord, yCoord, zCoord); } } - - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("timer", timer); - data.setBoolean("started", started); - PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(data, xCoord, yCoord, zCoord), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 100)); + + networkPackNT(100); } } @Override - public void networkUnpack(NBTTagCompound data) { - timer = data.getInteger("timer"); - started = data.getBoolean("started"); + public void serialize(ByteBuf buf) { + buf.writeInt(this.timer); + buf.writeBoolean(this.started); } - + + @Override + public void deserialize(ByteBuf buf) { + this.timer = buf.readInt(); + this.started = buf.readBoolean(); + } + public String getMinutes() { - + String mins = "" + (timer / 1200); - + if(mins.length() == 1) mins = "0" + mins; - + return mins; } - + public String getSeconds() { - + String mins = "" + ((timer / 20) % 60); - + if(mins.length() == 1) mins = "0" + mins; - + return mins; } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java index 25ad4ef2a..55c08edce 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java @@ -16,9 +16,8 @@ import com.hbm.items.weapon.ItemCustomMissilePart.FuelType; import com.hbm.items.weapon.ItemCustomMissilePart.PartSize; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; -import com.hbm.packet.BufPacket; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.TEMissileMultipartPacket; +import com.hbm.packet.toclient.TEMissileMultipartPacket; import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IRadarCommandReceiver; @@ -32,7 +31,6 @@ import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; @@ -56,7 +54,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I public int solid; public static final int maxSolid = 25000; public FluidTank[] tanks; - + public MissileStruct load; private static final int[] access = new int[] { 0 }; @@ -111,6 +109,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -159,11 +158,11 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I return null; } } - + public long getPowerScaled(long i) { return (power * i) / maxPower; } - + public int getSolidScaled(int i) { return (solid * i) / maxSolid; } @@ -172,27 +171,27 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I public void updateEntity() { if (!worldObj.isRemote) { - + updateTypes(); tanks[0].loadTank(2, 6, slots); tanks[1].loadTank(3, 7, slots); - + power = Library.chargeTEFromItems(slots, 5, power, maxPower); - + if(slots[4] != null && slots[4].getItem() == ModItems.rocket_fuel && solid + 250 <= maxSolid) { - + this.decrStackSize(4, 1); solid += 250; } if(worldObj.getTotalWorldTime() % 20 == 0) this.updateConnections(); - - PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - + + networkPackNT(50); + MissileStruct multipart = getStruct(slots[0]); - + if(multipart != null) PacketDispatcher.wrapper.sendToAllAround(new TEMissileMultipartPacket(xCoord, yCoord, zCoord, multipart), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250)); else @@ -201,7 +200,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I outer: for(int x = -1; x <= 1; x++) { for(int z = -1; z <= 1; z++) { - + if(worldObj.isBlockIndirectlyGettingPowered(xCoord + x, yCoord, zCoord + z) && canLaunch()) { launchFromDesignator(); break outer; @@ -209,22 +208,30 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I } } } else { - + List entities = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(xCoord - 0.5, yCoord, zCoord - 0.5, xCoord + 1.5, yCoord + 10, zCoord + 1.5)); - + for(Entity e : entities) { - + if(e instanceof EntityMissileCustom) { - + for(int i = 0; i < 15; i++) { - + boolean dir = worldObj.rand.nextBoolean(); float moX = (float) (dir ? 0 : worldObj.rand.nextGaussian() * 0.5F); float moZ = (float) (!dir ? 0 : worldObj.rand.nextGaussian() * 0.5F); - - MainRegistry.proxy.spawnParticle(xCoord + 0.5, yCoord + 0.25, zCoord + 0.5, "launchsmoke", new float[] {moX, 0, moZ}); + + NBTTagCompound data = new NBTTagCompound(); + data.setDouble("posX", xCoord + 0.5); + data.setDouble("posY", yCoord + 0.25); + data.setDouble("posZ", zCoord + 0.5); + data.setString("type", "launchSmoke"); + data.setDouble("moX", moX); + data.setDouble("moY", 0); + data.setDouble("moZ", moZ); + MainRegistry.proxy.effectNT(data); } - + break; } } @@ -237,23 +244,23 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I tanks[0].serialize(buf); tanks[1].serialize(buf); } - + @Override public void deserialize(ByteBuf buf) { this.power = buf.readLong(); this.solid = buf.readInt(); tanks[0].deserialize(buf); tanks[1].deserialize(buf); } - + private void updateConnections() { - + for(DirPos pos : getConPos()) { this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + public DirPos[] getConPos() { return new DirPos[] { new DirPos(xCoord + 2, yCoord, zCoord + 1, Library.POS_X), @@ -270,12 +277,12 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I new DirPos(xCoord - 1, yCoord - 1, zCoord - 1, Library.NEG_Y) }; } - + public boolean canLaunch() { - + if(power >= maxPower * 0.75 && isMissileValid() && hasDesignator() && hasFuel()) return true; - + return false; } @@ -290,66 +297,66 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I this.launchTo(x, z); return true; } - + public void launchFromDesignator() { if(slots[1] != null && slots[1].getItem() instanceof IDesignatorItem) { IDesignatorItem designator = (IDesignatorItem) slots[1].getItem(); - + if(designator.isReady(worldObj, slots[1], xCoord, yCoord, zCoord)) { Vec3 coords = designator.getCoords(worldObj, slots[1], xCoord, yCoord, zCoord); int tX = (int) Math.floor(coords.xCoord); int tZ = (int) Math.floor(coords.zCoord); - + this.launchTo(tX, tZ); } } } - + public void launchTo(int tX, int tZ) { worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:weapon.missileTakeOff", 10.0F, 1.0F); - + ItemCustomMissilePart chip = (ItemCustomMissilePart) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "chip")); float c = (Float)chip.attributes[0]; float f = 1.0F; - + if(getStruct(slots[0]).fins != null) { ItemCustomMissilePart fins = (ItemCustomMissilePart) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "stability")); f = (Float) fins.attributes[0]; } - + Vec3 target = Vec3.createVectorHelper(xCoord - tX, 0, zCoord - tZ); target.xCoord *= c * f; target.zCoord *= c * f; - + target.rotateAroundY(worldObj.rand.nextFloat() * 360); - + EntityMissileCustom missile = new EntityMissileCustom(worldObj, xCoord + 0.5F, yCoord + 2.5F, zCoord + 0.5F, tX + (int)target.xCoord, tZ + (int)target.zCoord, getStruct(slots[0])); worldObj.spawnEntityInWorld(missile); - + subtractFuel(); - + slots[0] = null; } - + private boolean hasFuel() { return solidState() != 0 && liquidState() != 0 && oxidizerState() != 0; } - + private void subtractFuel() { - + MissileStruct multipart = getStruct(slots[0]); - + if(multipart == null || multipart.fuselage == null) return; - + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; - + float f = (Float)fuselage.attributes[1]; int fuel = (int)f; - + switch((FuelType)fuselage.attributes[0]) { case KEROSENE: tanks[0].setFill(tanks[0].getFill() - fuel); @@ -370,114 +377,114 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I this.solid -= fuel; break; default: break; } - + this.power -= maxPower * 0.75; } - + public static MissileStruct getStruct(ItemStack stack) { - + return ItemCustomMissile.getStruct(stack); } - + public boolean isMissileValid() { - + MissileStruct multipart = getStruct(slots[0]); - + if(multipart == null || multipart.fuselage == null) return false; - + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; - + return fuselage.top == PartSize.SIZE_10; } - + public boolean hasDesignator() { - + if(slots[1] != null && slots[1].getItem() instanceof IDesignatorItem && ((IDesignatorItem)slots[1].getItem()).isReady(worldObj, slots[1], xCoord, yCoord, zCoord)) { return true; } - + return false; } - + public int solidState() { - + MissileStruct multipart = getStruct(slots[0]); - + if(multipart == null || multipart.fuselage == null) return -1; - + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; - + if((FuelType)fuselage.attributes[0] == FuelType.SOLID) { - + if(solid >= (Float)fuselage.attributes[1]) return 1; else return 0; } - + return -1; } - + public int liquidState() { - + MissileStruct multipart = getStruct(slots[0]); - + if(multipart == null || multipart.fuselage == null) return -1; - + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; - + switch((FuelType)fuselage.attributes[0]) { case KEROSENE: case HYDROGEN: case XENON: case BALEFIRE: - + if(tanks[0].getFill() >= (Float)fuselage.attributes[1]) return 1; else return 0; default: break; } - + return -1; } - + public int oxidizerState() { - + MissileStruct multipart = getStruct(slots[0]); - + if(multipart == null || multipart.fuselage == null) return -1; - + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; - + switch((FuelType)fuselage.attributes[0]) { case KEROSENE: case HYDROGEN: case BALEFIRE: - + if(tanks[1].getFill() >= (Float)fuselage.attributes[1]) return 1; else return 0; default: break; } - + return -1; } - + public void updateTypes() { - + MissileStruct multipart = getStruct(slots[0]); - + if(multipart == null || multipart.fuselage == null) return; - + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; - + switch((FuelType)fuselage.attributes[0]) { case KEROSENE: tanks[0].setTankType(Fluids.KEROSENE); @@ -517,12 +524,14 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + NBTTagList list = new NBTTagList(); tanks[0].writeToNBT(nbt, "fuel"); @@ -539,6 +548,10 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } @Override @@ -560,7 +573,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() @@ -585,16 +598,16 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I @Override public long transferPower(long power) { - + this.power += power; - + if(this.power > this.getMaxPower()) { - + long overshoot = this.power - this.getMaxPower(); this.power = this.getMaxPower(); return overshoot; } - + return 0; } @@ -625,7 +638,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineCompactLauncher(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityCrashedBomb.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityCrashedBomb.java index 2a917cee6..8e70048c8 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityCrashedBomb.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityCrashedBomb.java @@ -1,22 +1,47 @@ package com.hbm.tileentity.bomb; +import java.util.List; +import java.util.function.BiConsumer; + +import com.hbm.blocks.bomb.BlockCrashedBomb.EnumDudType; +import com.hbm.util.ContaminationUtil; +import com.hbm.util.EnumUtil; +import com.hbm.util.ContaminationUtil.ContaminationType; +import com.hbm.util.ContaminationUtil.HazardType; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; public class TileEntityCrashedBomb extends TileEntity { @Override - public AxisAlignedBB getRenderBoundingBox() { - return TileEntity.INFINITE_EXTENT_AABB; + public void updateEntity() { + + if(!worldObj.isRemote) { + + if(worldObj.getTotalWorldTime() % 2 == 0) { + EnumDudType type = EnumUtil.grabEnumSafely(EnumDudType.class, this.getBlockMetadata()); + + if(type == type.BALEFIRE) affectEntities((entity, intensity) -> { ContaminationUtil.contaminate(entity, HazardType.RADIATION, ContaminationType.CREATIVE, 1F * intensity); }, 15D); + if(type == type.NUKE) affectEntities((entity, intensity) -> { ContaminationUtil.contaminate(entity, HazardType.RADIATION, ContaminationType.CREATIVE, 0.25F * intensity); }, 10D); + if(type == type.SALTED) affectEntities((entity, intensity) -> { ContaminationUtil.contaminate(entity, HazardType.RADIATION, ContaminationType.CREATIVE, 0.5F * intensity); }, 10D); + } + } } - @Override - @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { - return 65536.0D; + public void affectEntities(BiConsumer effect, double range) { + List list = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(range, range, range)); + for(EntityLivingBase entity : list) { + double dist = Math.sqrt(getDistanceFrom(entity.posX, entity.posY + entity.height / 2, entity.posZ)); + if(dist > range) continue; + float intensity = (float) (1D - dist / range); + effect.accept(entity, intensity); + } } - + + @Override public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; } + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { return 65536.0D; } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityFireworks.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityFireworks.java index be34e001c..9d47fc511 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityFireworks.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityFireworks.java @@ -1,8 +1,8 @@ package com.hbm.tileentity.bomb; import com.hbm.entity.item.EntityFireworks; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.nbt.NBTTagCompound; @@ -13,70 +13,70 @@ public class TileEntityFireworks extends TileEntity { public int color = 0xff0000; public String message = "NUCLEAR TECH"; public int charges; - + int index; int delay; - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + if(worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord) && !message.isEmpty() && charges > 0) { - + delay--; - + if(delay <= 0) { delay = 30; - + int c = (int)(message.charAt(index)); - + int mod = index % 9; double offX = (mod / 3 - 1) * 0.3125; double offZ = (mod % 3 - 1) * 0.3125; - + EntityFireworks fireworks = new EntityFireworks(worldObj, xCoord + 0.5 + offX, yCoord + 1.5, zCoord + 0.5 + offZ, color, c); worldObj.spawnEntityInWorld(fireworks); - + worldObj.playSoundAtEntity(fireworks, "hbm:weapon.rocketFlame", 3.0F, 1.0F); - + charges--; this.markDirty(); - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "vanillaExt"); data.setString("mode", "flame"); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, xCoord + 0.5 + offX, yCoord + 1.125, zCoord + 0.5 + offZ), new TargetPoint(this.worldObj.provider.dimensionId, xCoord + 0.5 + offX, yCoord + 1.125, zCoord + 0.5 + offZ, 100)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, xCoord + 0.5 + offX, yCoord + 1.125, zCoord + 0.5 + offZ), new TargetPoint(this.worldObj.provider.dimensionId, xCoord + 0.5 + offX, yCoord + 1.125, zCoord + 0.5 + offZ, 100)); + index++; - + if(index >= message.length()) { index = 0; delay = 100; } } - + } else { delay = 0; index = 0; } } } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + this.charges = nbt.getInteger("charges"); this.color = nbt.getInteger("color"); this.message = nbt.getString("message"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setInteger("charges", charges); nbt.setInteger("color", color); nbt.setString("message", message); diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLandmine.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLandmine.java index e9320c85d..bcc6fc4dd 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLandmine.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLandmine.java @@ -3,12 +3,14 @@ package com.hbm.tileentity.bomb; import java.util.List; import com.hbm.blocks.bomb.Landmine; +import com.hbm.main.MainRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; +import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.passive.EntityBat; +import net.minecraft.entity.EnumCreatureType; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; @@ -38,25 +40,30 @@ public class TileEntityLandmine extends TileEntity { height *= 2; } - @SuppressWarnings("unchecked") - List list = worldObj.getEntitiesWithinAABBExcludingEntity(null, - AxisAlignedBB.getBoundingBox(xCoord - range, yCoord - height, zCoord - range, xCoord + range + 1, yCoord + height, zCoord + range + 1)); + if(!worldObj.getBlock(xCoord, yCoord + 1, zCoord).isAir(worldObj, xCoord, yCoord + 1, zCoord)) return; + + List list = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(xCoord - range, yCoord - height, zCoord - range, xCoord + range + 1, yCoord + height, zCoord + range + 1)); - for(Object o : list) { - if(o instanceof EntityBat) continue; + for(Entity entity : list) { + + if(entity.isCreatureType(EnumCreatureType.waterCreature, false)) continue; + if(entity.isCreatureType(EnumCreatureType.ambient, false)) continue; + if(waitingForPlayer) { // This mine has been generated by worldgen and is ignoring mobs until a player is close enough // This is to prevent worldgen mines from detonating well before they become gameplay relevant - if(o instanceof EntityPlayer) { + if(entity instanceof EntityPlayer) { waitingForPlayer = false; return; } } else { - if(o instanceof EntityLivingBase) { + if(entity instanceof EntityLivingBase) { + if(isPrimed) { //the explosion is part of the mine block so that the IBomb interface works, i remember now landmine.explode(worldObj, xCoord, yCoord, zCoord); + if(entity instanceof EntityPlayer) ((EntityPlayer) entity).addStat(MainRegistry.statMines, 1); } return; diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java index 0adf91ab8..11650a3ff 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java @@ -18,16 +18,16 @@ public class TileEntityLaunchPad extends TileEntityLaunchPadBase { @Override public boolean isReadyForLaunch() { return delay <= 0; } @Override public double getLaunchOffset() { return 1D; } - + public int delay = 0; @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + if(this.delay > 0) delay--; - + if(!this.isMissileValid() || !this.hasFuel()) { this.delay = 100; } @@ -41,11 +41,11 @@ public class TileEntityLaunchPad extends TileEntityLaunchPadBase { this.state = this.STATE_READY; } } - + } else { - + List entities = worldObj.getEntitiesWithinAABB(EntityMissileBaseNT.class, AxisAlignedBB.getBoundingBox(xCoord - 0.5, yCoord, zCoord - 0.5, xCoord + 1.5, yCoord + 10, zCoord + 1.5)); - + if(!entities.isEmpty()) { for(int i = 0; i < 15; i++) { @@ -54,12 +54,20 @@ public class TileEntityLaunchPad extends TileEntityLaunchPadBase { if(worldObj.rand.nextBoolean()) dir = dir.getRotation(ForgeDirection.UP); float moX = (float) (worldObj.rand.nextGaussian() * 0.15F + 0.75) * dir.offsetX; float moZ = (float) (worldObj.rand.nextGaussian() * 0.15F + 0.75) * dir.offsetZ; - - MainRegistry.proxy.spawnParticle(xCoord + 0.5, yCoord + 0.25, zCoord + 0.5, "launchsmoke", new float[] {moX, 0, moZ}); + + NBTTagCompound data = new NBTTagCompound(); + data.setDouble("posX", xCoord + 0.5); + data.setDouble("posY", yCoord + 0.25); + data.setDouble("posZ", zCoord + 0.5); + data.setString("type", "launchSmoke"); + data.setDouble("moX", moX); + data.setDouble("moY", 0); + data.setDouble("moZ", moZ); + MainRegistry.proxy.effectNT(data); } } } - + super.updateEntity(); } @@ -68,7 +76,7 @@ public class TileEntityLaunchPad extends TileEntityLaunchPadBase { super.finalizeLaunch(missile); this.delay = 100; } - + @Override public DirPos[] getConPos() { return new DirPos[] { @@ -82,24 +90,24 @@ public class TileEntityLaunchPad extends TileEntityLaunchPadBase { new DirPos(xCoord + 1, yCoord, zCoord - 2, Library.NEG_Z) }; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); this.delay = nbt.getInteger("delay"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setInteger("delay", delay); } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 2, @@ -110,10 +118,10 @@ public class TileEntityLaunchPad extends TileEntityLaunchPadBase { zCoord + 3 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadBase.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadBase.java index ea1974511..623f78370 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadBase.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadBase.java @@ -5,6 +5,7 @@ import java.util.HashSet; import java.util.Set; import com.hbm.handler.CompatHandler; +import com.hbm.tileentity.IFluidCopiable; import cpw.mods.fml.common.Optional; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; @@ -43,7 +44,6 @@ import api.hbm.item.IDesignatorItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; @@ -56,7 +56,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public abstract class TileEntityLaunchPadBase extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider, IRadarCommandReceiver, SimpleComponent, CompatHandler.OCComponent { +public abstract class TileEntityLaunchPadBase extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider, IRadarCommandReceiver, SimpleComponent, CompatHandler.OCComponent, IFluidCopiable { /** Automatic instantiation of generic missiles, i.e. everything that both extends EntityMissileBaseNT and needs a designator */ public static final HashMap> missiles = new HashMap(); @@ -282,7 +282,7 @@ public abstract class TileEntityLaunchPadBase extends TileEntityMachineBase impl @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUILaunchPadLarge(player.inventory, this); } @@ -378,17 +378,19 @@ public abstract class TileEntityLaunchPadBase extends TileEntityMachineBase impl boolean needsDesignator = needsDesignator(slots[0].getItem()); - int targetX = 0; - int targetZ = 0; + int targetX = xCoord; + int targetZ = zCoord; if(slots[1] != null && slots[1].getItem() instanceof IDesignatorItem) { IDesignatorItem designator = (IDesignatorItem) slots[1].getItem(); - if(!designator.isReady(worldObj, slots[1], xCoord, yCoord, zCoord) && needsDesignator) return BombReturnCode.ERROR_MISSING_COMPONENT; - - Vec3 coords = designator.getCoords(worldObj, slots[1], xCoord, yCoord, zCoord); - targetX = (int) Math.floor(coords.xCoord); - targetZ = (int) Math.floor(coords.zCoord); + if(needsDesignator) { + if(!designator.isReady(worldObj, slots[1], xCoord, yCoord, zCoord)) return BombReturnCode.ERROR_MISSING_COMPONENT; + + Vec3 coords = designator.getCoords(worldObj, slots[1], xCoord, yCoord, zCoord); + targetX = (int) Math.floor(coords.xCoord); + targetZ = (int) Math.floor(coords.zCoord); + } } else { if(needsDesignator) return BombReturnCode.ERROR_MISSING_COMPONENT; @@ -526,6 +528,12 @@ public abstract class TileEntityLaunchPadBase extends TileEntityMachineBase impl return new Object[] {false}; } + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] getPos(Context context, Arguments args) { + return new Object[] {xCoord, yCoord, zCoord}; + } + @Override @Optional.Method(modid = "OpenComputers") public String[] methods() { @@ -534,7 +542,8 @@ public abstract class TileEntityLaunchPadBase extends TileEntityMachineBase impl "getFluid", "canLaunch", "getTier", - "launch" + "launch", + "getPos" }; } @@ -552,7 +561,19 @@ public abstract class TileEntityLaunchPadBase extends TileEntityMachineBase impl return getTier(context, args); case ("launch"): return launch(context, args); + case ("getPos"): + return getPos(context, args); } throw new NoSuchMethodException(); } + + @Override + public int[] getFluidIDToCopy() { + return new int[]{tanks[0].getTankType().getID(), tanks[1].getTankType().getID()}; + } + + @Override + public FluidTank getTankToPaste() { + return null; + } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadLarge.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadLarge.java index 55a9dac77..ef3868d79 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadLarge.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadLarge.java @@ -37,10 +37,10 @@ public class TileEntityLaunchPadLarge extends TileEntityLaunchPadBase { private int sync; /** Delay between erector movements */ public int delay = 20; - + private AudioWrapper audioLift; private AudioWrapper audioErector; - + protected boolean liftMoving = false; protected boolean erectorMoving = false; @@ -49,26 +49,26 @@ public class TileEntityLaunchPadLarge extends TileEntityLaunchPadBase { @Override public void updateEntity() { - + if(!worldObj.isRemote) { this.prevLift = this.lift; this.prevErector = this.erector; - + float erectorSpeed = 1.5F; float liftSpeed = 0.025F; - + if(this.isMissileValid()) { if(slots[0].getItem() instanceof ItemMissile) { ItemMissile missile = (ItemMissile) slots[0].getItem(); this.formFactor = missile.formFactor.ordinal(); - + if(missile.formFactor == MissileFormFactor.ATLAS || missile.formFactor == MissileFormFactor.HUGE) { erectorSpeed /= 2F; liftSpeed /= 2F; } } - + if(this.erector == 90F && this.lift == 1F) { this.readyToLoad = true; } @@ -77,16 +77,16 @@ public class TileEntityLaunchPadLarge extends TileEntityLaunchPadBase { erected = false; delay = 20; } - + if(this.power >= 75_000) { if(delay > 0) { delay--; - + if(delay < 10 && scheduleErect) { this.erected = true; this.scheduleErect = false; } - + // if there is no missile or the missile isn't ready (i.e. the erector hasn't returned to zero position yet), retract if(slots[0] == null || !readyToLoad) { //fold back erector @@ -103,13 +103,13 @@ public class TileEntityLaunchPadLarge extends TileEntityLaunchPadBase { } } } - + } else { - + //only extend if the erector isn't up yet and the missile can be loaded if(!erected && readyToLoad) { this.state = this.STATE_LOADING; - + //first, rotate the erector if(erector != 0F) { erector = Math.max(erector - erectorSpeed, 0F); @@ -140,7 +140,7 @@ public class TileEntityLaunchPadLarge extends TileEntityLaunchPadBase { } } } - + if(!this.hasFuel() || !this.isMissileValid()) this.state = this.STATE_MISSING; if(this.erected && this.canLaunch()) this.state = this.STATE_READY; @@ -153,11 +153,11 @@ public class TileEntityLaunchPadLarge extends TileEntityLaunchPadBase { if(prevLiftMoving && !this.liftMoving) worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:door.wgh_stop", 2F, 1F); if(prevErectorMoving && !this.erectorMoving) worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:door.garage_stop", 2F, 1F); - + } else { this.prevLift = this.lift; this.prevErector = this.erector; - + if(this.sync > 0) { this.lift = this.lift + ((this.syncLift - this.lift) / (float) this.sync); this.erector = this.erector + ((this.syncErector - this.erector) / (float) this.sync); @@ -166,7 +166,7 @@ public class TileEntityLaunchPadLarge extends TileEntityLaunchPadBase { this.lift = this.syncLift; this.erector = this.syncErector; } - + if(this.liftMoving) { if(this.audioLift == null || !this.audioLift.isPlaying()) { this.audioLift = MainRegistry.proxy.getLoopedSound("hbm:door.wgh_start", xCoord, yCoord, zCoord, 0.75F, 25F, 1.0F, 5); @@ -179,7 +179,7 @@ public class TileEntityLaunchPadLarge extends TileEntityLaunchPadBase { this.audioLift = null; } } - + if(this.erectorMoving) { if(this.audioErector == null || !this.audioErector.isPlaying()) { this.audioErector = MainRegistry.proxy.getLoopedSound("hbm:door.garage_move", xCoord, yCoord, zCoord, 1.5F, 25F, 1.0F, 5); @@ -192,7 +192,7 @@ public class TileEntityLaunchPadLarge extends TileEntityLaunchPadBase { this.audioErector = null; } } - + if(this.erected && (this.formFactor == MissileFormFactor.HUGE.ordinal() || this.formFactor == MissileFormFactor.ATLAS.ordinal()) && this.tanks[1].getFill() > 0) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "tower"); @@ -208,9 +208,9 @@ public class TileEntityLaunchPadLarge extends TileEntityLaunchPadBase { data.setFloat("strafe", 0.05F); for(int i = 0; i < 3; i++) MainRegistry.proxy.effectNT(data); } - + List entities = worldObj.getEntitiesWithinAABB(EntityMissileBaseNT.class, AxisAlignedBB.getBoundingBox(xCoord - 0.5, yCoord, zCoord - 0.5, xCoord + 1.5, yCoord + 10, zCoord + 1.5)); - + if(!entities.isEmpty()) { for(int i = 0; i < 15; i++) { @@ -218,19 +218,27 @@ public class TileEntityLaunchPadLarge extends TileEntityLaunchPadBase { if(worldObj.rand.nextBoolean()) dir = dir.getOpposite(); float moX = (float) (worldObj.rand.nextGaussian() * 0.15F + 0.75) * dir.offsetX; float moZ = (float) (worldObj.rand.nextGaussian() * 0.15F + 0.75) * dir.offsetZ; - - MainRegistry.proxy.spawnParticle(xCoord + 0.5, yCoord + 0.25, zCoord + 0.5, "launchsmoke", new float[] {moX, 0, moZ}); + + NBTTagCompound data = new NBTTagCompound(); + data.setDouble("posX", xCoord + 0.5); + data.setDouble("posY", yCoord + 0.25); + data.setDouble("posZ", zCoord + 0.5); + data.setString("type", "launchSmoke"); + data.setDouble("moX", moX); + data.setDouble("moY", 0); + data.setDouble("moZ", moZ); + MainRegistry.proxy.effectNT(data); } } } - + super.updateEntity(); } @Override public void serialize(ByteBuf buf) { super.serialize(buf); - + buf.writeBoolean(this.liftMoving); buf.writeBoolean(this.erectorMoving); buf.writeBoolean(this.erected); @@ -239,7 +247,7 @@ public class TileEntityLaunchPadLarge extends TileEntityLaunchPadBase { buf.writeFloat(this.lift); buf.writeFloat(this.erector); } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); @@ -251,12 +259,12 @@ public class TileEntityLaunchPadLarge extends TileEntityLaunchPadBase { this.formFactor = buf.readByte(); this.syncLift = buf.readFloat(); this.syncErector = buf.readFloat(); - + if(this.lift != this.syncLift || this.erector != this.syncErector) { this.sync = 3; } } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -267,7 +275,7 @@ public class TileEntityLaunchPadLarge extends TileEntityLaunchPadBase { this.erector = nbt.getFloat("erector"); this.formFactor = nbt.getInteger("formFactor"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -284,7 +292,7 @@ public class TileEntityLaunchPadLarge extends TileEntityLaunchPadBase { super.finalizeLaunch(missile); this.erected = false; } - + @Override public DirPos[] getConPos() { return new DirPos[] { @@ -298,12 +306,12 @@ public class TileEntityLaunchPadLarge extends TileEntityLaunchPadBase { new DirPos(xCoord + 2, yCoord, zCoord - 5, Library.NEG_Z) }; } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 10, @@ -314,10 +322,10 @@ public class TileEntityLaunchPadLarge extends TileEntityLaunchPadBase { zCoord + 11 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadRusted.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadRusted.java index cdfa9eca8..973a078da 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadRusted.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadRusted.java @@ -21,7 +21,6 @@ import api.hbm.item.IDesignatorItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -36,9 +35,9 @@ public class TileEntityLaunchPadRusted extends TileEntityMachineBase implements public int prevRedstonePower; public int redstonePower; public Set activatedBlocks = new HashSet<>(4); - + public boolean missileLoaded; - + public TileEntityLaunchPadRusted() { super(4); } @@ -50,19 +49,19 @@ public class TileEntityLaunchPadRusted extends TileEntityMachineBase implements @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + if(this.redstonePower > 0 && this.prevRedstonePower <= 0) { this.launch(); } - + this.prevRedstonePower = this.redstonePower; this.networkPackNT(250); } else { - + List entities = worldObj.getEntitiesWithinAABB(EntityMissileBaseNT.class, AxisAlignedBB.getBoundingBox(xCoord - 0.5, yCoord, zCoord - 0.5, xCoord + 1.5, yCoord + 10, zCoord + 1.5)); - + if(!entities.isEmpty()) { for(int i = 0; i < 15; i++) { @@ -71,8 +70,17 @@ public class TileEntityLaunchPadRusted extends TileEntityMachineBase implements if(worldObj.rand.nextBoolean()) dir = dir.getRotation(ForgeDirection.UP); float moX = (float) (worldObj.rand.nextGaussian() * 0.15F + 0.75) * dir.offsetX; float moZ = (float) (worldObj.rand.nextGaussian() * 0.15F + 0.75) * dir.offsetZ; - - MainRegistry.proxy.spawnParticle(xCoord + 0.5, yCoord + 0.25, zCoord + 0.5, "launchsmoke", new float[] {moX, 0, moZ}); + + NBTTagCompound data = new NBTTagCompound(); + data.setDouble("posX", xCoord + 0.5); + data.setDouble("posY", yCoord + 0.25); + data.setDouble("posZ", zCoord + 0.5); + data.setString("type", "launchSmoke"); + data.setDouble("moX", moX); + data.setDouble("moY", 0); + data.setDouble("moZ", moZ); + MainRegistry.proxy.effectNT(data); + } } } @@ -83,7 +91,7 @@ public class TileEntityLaunchPadRusted extends TileEntityMachineBase implements super.serialize(buf); buf.writeBoolean(this.missileLoaded); } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); @@ -91,18 +99,18 @@ public class TileEntityLaunchPadRusted extends TileEntityMachineBase implements } public BombReturnCode launch() { - + if(slots[1] != null && slots[2] != null && slots[3] != null && this.missileLoaded) { if(slots[1].getItem() == ModItems.launch_code && slots[2].getItem() == ModItems.launch_key) { if(slots[3] != null && slots[3].getItem() instanceof IDesignatorItem) { IDesignatorItem designator = (IDesignatorItem) slots[3].getItem(); - + if(!designator.isReady(worldObj, slots[3], xCoord, yCoord, zCoord)) return BombReturnCode.ERROR_MISSING_COMPONENT; - + Vec3 coords = designator.getCoords(worldObj, slots[3], xCoord, yCoord, zCoord); int targetX = (int) Math.floor(coords.xCoord); int targetZ = (int) Math.floor(coords.zCoord); - + EntityMissileDoomsdayRusted missile = new EntityMissileDoomsdayRusted(worldObj, xCoord + 0.5F, yCoord + 1F, zCoord + 0.5F, targetX, targetZ); worldObj.spawnEntityInWorld(missile); TrackerUtil.setTrackingRange(worldObj, missile, 500); @@ -110,19 +118,19 @@ public class TileEntityLaunchPadRusted extends TileEntityMachineBase implements this.missileLoaded = false; this.decrStackSize(1, 1); this.markDirty(); - + return BombReturnCode.LAUNCHED; } } } - + return BombReturnCode.ERROR_MISSING_COMPONENT; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + this.missileLoaded = nbt.getBoolean("missileLoaded"); this.redstonePower = nbt.getInteger("redstonePower"); @@ -133,11 +141,11 @@ public class TileEntityLaunchPadRusted extends TileEntityMachineBase implements this.activatedBlocks.add(new BlockPos(activatedBlocks.getInteger("x" + i), activatedBlocks.getInteger("y" + i), activatedBlocks.getInteger("z" + i))); } } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setBoolean("missileLoaded", missileLoaded); nbt.setInteger("redstonePower", redstonePower); @@ -173,10 +181,10 @@ public class TileEntityLaunchPadRusted extends TileEntityMachineBase implements } AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 2, @@ -187,10 +195,10 @@ public class TileEntityLaunchPadRusted extends TileEntityMachineBase implements zCoord + 3 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -204,7 +212,7 @@ public class TileEntityLaunchPadRusted extends TileEntityMachineBase implements @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUILaunchPadRusted(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java index 67db230ec..cbee47c97 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java @@ -17,9 +17,8 @@ import com.hbm.items.weapon.ItemCustomMissilePart.FuelType; import com.hbm.items.weapon.ItemCustomMissilePart.PartSize; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; -import com.hbm.packet.BufPacket; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.TEMissileMultipartPacket; +import com.hbm.packet.toclient.TEMissileMultipartPacket; import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IRadarCommandReceiver; @@ -36,7 +35,6 @@ import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; @@ -63,7 +61,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide public FluidTank[] tanks; public PartSize padSize; public int height; - + public MissileStruct load; private static final int[] access = new int[] { 0 }; @@ -120,6 +118,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -168,11 +167,11 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide return null; } } - + public long getPowerScaled(long i) { return (power * i) / maxPower; } - + public int getSolidScaled(int i) { return (solid * i) / maxSolid; } @@ -181,27 +180,27 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide public void updateEntity() { if (!worldObj.isRemote) { - + updateTypes(); - + if(worldObj.getTotalWorldTime() % 20 == 0) this.updateConnections(); tanks[0].loadTank(2, 6, slots); tanks[1].loadTank(3, 7, slots); - + power = Library.chargeTEFromItems(slots, 5, power, maxPower); - + if(slots[4] != null && slots[4].getItem() == ModItems.rocket_fuel && solid + 250 <= maxSolid) { - + this.decrStackSize(4, 1); solid += 250; } - - PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - + + networkPackNT(50); + MissileStruct multipart = getStruct(slots[0]); - + if(multipart != null) PacketDispatcher.wrapper.sendToAllAround(new TEMissileMultipartPacket(xCoord, yCoord, zCoord, multipart), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250)); else @@ -210,7 +209,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide outer: for(int x = -4; x <= 4; x++) { for(int z = -4; z <= 4; z++) { - + if(worldObj.isBlockIndirectlyGettingPowered(xCoord + x, yCoord, zCoord + z) && canLaunch()) { launchFromDesignator(); break outer; @@ -218,17 +217,25 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide } } } else { - + List entities = worldObj.getEntitiesWithinAABB(EntityMissileCustom.class, AxisAlignedBB.getBoundingBox(xCoord - 0.5, yCoord, zCoord - 0.5, xCoord + 1.5, yCoord + 10, zCoord + 1.5)); - + if(!entities.isEmpty()) { for(int i = 0; i < 15; i++) { boolean dir = worldObj.rand.nextBoolean(); float moX = (float) (dir ? 0 : worldObj.rand.nextGaussian() * 0.65F); float moZ = (float) (!dir ? 0 : worldObj.rand.nextGaussian() * 0.65F); - - MainRegistry.proxy.spawnParticle(xCoord + 0.5, yCoord + 0.25, zCoord + 0.5, "launchsmoke", new float[] {moX, 0, moZ}); + + NBTTagCompound data = new NBTTagCompound(); + data.setDouble("posX", xCoord + 0.5); + data.setDouble("posY", yCoord + 0.25); + data.setDouble("posZ", zCoord + 0.5); + data.setString("type", "launchSmoke"); + data.setDouble("moX", moX); + data.setDouble("moY", 0); + data.setDouble("moZ", moZ); + MainRegistry.proxy.effectNT(data); } } } @@ -241,7 +248,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide tanks[0].serialize(buf); tanks[1].serialize(buf); } - + @Override public void deserialize(ByteBuf buf) { this.power = buf.readLong(); this.solid = buf.readInt(); @@ -249,7 +256,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide tanks[0].deserialize(buf); tanks[1].deserialize(buf); } - + private void updateConnections() { for(int i = -4; i <= 4; i++) { @@ -257,7 +264,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide this.trySubscribe(worldObj, xCoord + i, yCoord, zCoord - 5, Library.NEG_Z); this.trySubscribe(worldObj, xCoord + 5, yCoord, zCoord + i, Library.POS_X); this.trySubscribe(worldObj, xCoord - 5, yCoord, zCoord + i, Library.NEG_X); - + for(int j = 0; j < 2; j++) { this.trySubscribe(tanks[j].getTankType(), worldObj, xCoord + i, yCoord, zCoord + 5, Library.POS_Z); this.trySubscribe(tanks[j].getTankType(), worldObj, xCoord + i, yCoord, zCoord - 5, Library.NEG_Z); @@ -266,12 +273,12 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide } } } - + public boolean canLaunch() { - + if(power >= maxPower * 0.75 && isMissileValid() && hasFuel()) return true; - + return false; } @@ -286,66 +293,66 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide this.launchTo(x, z); return true; } - + public void launchFromDesignator() { if(slots[1] != null && slots[1].getItem() instanceof IDesignatorItem) { IDesignatorItem designator = (IDesignatorItem) slots[1].getItem(); - + if(designator.isReady(worldObj, slots[1], xCoord, yCoord, zCoord)) { Vec3 coords = designator.getCoords(worldObj, slots[1], xCoord, yCoord, zCoord); int tX = (int) Math.floor(coords.xCoord); int tZ = (int) Math.floor(coords.zCoord); - + this.launchTo(tX, tZ); } } } - + public void launchTo(int tX, int tZ) { worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:weapon.missileTakeOff", 10.0F, 1.0F); - + ItemCustomMissilePart chip = (ItemCustomMissilePart) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "chip")); float c = (Float)chip.attributes[0]; float f = 1.0F; - + if(getStruct(slots[0]).fins != null) { ItemCustomMissilePart fins = (ItemCustomMissilePart) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "stability")); f = (Float) fins.attributes[0]; } - + Vec3 target = Vec3.createVectorHelper(xCoord - tX, 0, zCoord - tZ); target.xCoord *= c * f; target.zCoord *= c * f; - + target.rotateAroundY(worldObj.rand.nextFloat() * 360); - + EntityMissileCustom missile = new EntityMissileCustom(worldObj, xCoord + 0.5F, yCoord + 2.5F, zCoord + 0.5F, tX + (int)target.xCoord, tZ + (int)target.zCoord, getStruct(slots[0])); worldObj.spawnEntityInWorld(missile); - + subtractFuel(); - + slots[0] = null; } - + private boolean hasFuel() { return solidState() != 0 && liquidState() != 0 && oxidizerState() != 0; } - + private void subtractFuel() { - + MissileStruct multipart = getStruct(slots[0]); - + if(multipart == null || multipart.fuselage == null) return; - + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; - + float f = (Float)fuselage.attributes[1]; int fuel = (int)f; - + switch((FuelType)fuselage.attributes[0]) { case KEROSENE: tanks[0].setFill(tanks[0].getFill() - fuel); @@ -366,114 +373,114 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide this.solid -= fuel; break; default: break; } - + this.power -= maxPower * 0.75; } - + public static MissileStruct getStruct(ItemStack stack) { - + return ItemCustomMissile.getStruct(stack); } - + public boolean isMissileValid() { - + MissileStruct multipart = getStruct(slots[0]); - + if(multipart == null || multipart.fuselage == null) return false; - + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; - + return fuselage.top == padSize; } - + public boolean hasDesignator() { - + if(slots[1] != null && slots[1].getItem() instanceof IDesignatorItem && ((IDesignatorItem)slots[1].getItem()).isReady(worldObj, slots[1], xCoord, yCoord, zCoord)) { return true; } - + return false; } - + public int solidState() { - + MissileStruct multipart = getStruct(slots[0]); - + if(multipart == null || multipart.fuselage == null) return -1; - + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; - + if((FuelType)fuselage.attributes[0] == FuelType.SOLID) { - + if(solid >= (Float)fuselage.attributes[1]) return 1; else return 0; } - + return -1; } - + public int liquidState() { - + MissileStruct multipart = getStruct(slots[0]); - + if(multipart == null || multipart.fuselage == null) return -1; - + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; - + switch((FuelType)fuselage.attributes[0]) { case KEROSENE: case HYDROGEN: case XENON: case BALEFIRE: - + if(tanks[0].getFill() >= (Float)fuselage.attributes[1]) return 1; else return 0; default: break; } - + return -1; } - + public int oxidizerState() { - + MissileStruct multipart = getStruct(slots[0]); - + if(multipart == null || multipart.fuselage == null) return -1; - + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; - + switch((FuelType)fuselage.attributes[0]) { case KEROSENE: case HYDROGEN: case BALEFIRE: - + if(tanks[1].getFill() >= (Float)fuselage.attributes[1]) return 1; else return 0; default: break; } - + return -1; } - + public void updateTypes() { - + MissileStruct multipart = getStruct(slots[0]); - + if(multipart == null || multipart.fuselage == null) return; - + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; - + switch((FuelType)fuselage.attributes[0]) { case KEROSENE: tanks[0].setTankType(Fluids.KEROSENE); @@ -514,12 +521,14 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + NBTTagList list = new NBTTagList(); tanks[0].writeToNBT(nbt, "fuel"); @@ -537,6 +546,10 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } @Override @@ -553,12 +566,12 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide public boolean canExtractItem(int i, ItemStack itemStack, int j) { return false; } - + @Override public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() @@ -580,19 +593,19 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide public long getMaxPower() { return this.maxPower; } - + @Override public long transferPower(long power) { - + this.power += power; - + if(this.power > this.getMaxPower()) { - + long overshoot = this.power - this.getMaxPower(); this.power = this.getMaxPower(); return overshoot; } - + return 0; } @@ -724,7 +737,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineLaunchTable(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeBalefire.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeBalefire.java index db18d4bfb..f88b7070b 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeBalefire.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeBalefire.java @@ -11,7 +11,7 @@ import com.hbm.tileentity.TileEntityMachineBase; import api.hbm.energymk2.IBatteryItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; @@ -54,22 +54,29 @@ public class TileEntityNukeBalefire extends TileEntityMachineBase implements IGU if(timer <= 0) { explode(); } - - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("timer", timer); - data.setBoolean("loaded", this.isLoaded()); - data.setBoolean("started", started); - networkPack(data, 250); + + networkPackNT(250); } } - - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - timer = data.getInteger("timer"); - started = data.getBoolean("started"); - loaded = data.getBoolean("loaded"); + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + + buf.writeInt(this.timer); + buf.writeBoolean(this.started); + buf.writeBoolean(this.loaded); } - + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + + this.timer = buf.readInt(); + this.started = buf.readBoolean(); + this.loaded = buf.readBoolean(); + } + public void handleButtonPacket(int value, int meta) { if(meta == 0 && this.isLoaded()) { @@ -186,7 +193,7 @@ public class TileEntityNukeBalefire extends TileEntityMachineBase implements IGU @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUINukeFstbmb(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeBoy.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeBoy.java index 39a3f4e54..2cd516e6e 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeBoy.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeBoy.java @@ -7,7 +7,6 @@ import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.inventory.Container; @@ -93,6 +92,7 @@ public class TileEntityNukeBoy extends TileEntity implements ISidedInventory, IG public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -155,6 +155,8 @@ public class TileEntityNukeBoy extends TileEntity implements ISidedInventory, IG slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override @@ -173,6 +175,10 @@ public class TileEntityNukeBoy extends TileEntity implements ISidedInventory, IG } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } public boolean isReady() { @@ -213,7 +219,7 @@ public class TileEntityNukeBoy extends TileEntity implements ISidedInventory, IG @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUINukeBoy(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeCustom.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeCustom.java index e52ad8dc1..625c1c3ce 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeCustom.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeCustom.java @@ -12,7 +12,6 @@ import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; @@ -99,6 +98,7 @@ public class TileEntityNukeCustom extends TileEntity implements ISidedInventory, public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -162,6 +162,8 @@ public class TileEntityNukeCustom extends TileEntity implements ISidedInventory, slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override @@ -181,6 +183,10 @@ public class TileEntityNukeCustom extends TileEntity implements ISidedInventory, } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } public static HashMap entries = new HashMap(); @@ -446,7 +452,7 @@ public class TileEntityNukeCustom extends TileEntity implements ISidedInventory, @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUINukeCustom(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeFleija.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeFleija.java index 9209af0e7..21c781c93 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeFleija.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeFleija.java @@ -7,7 +7,6 @@ import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.inventory.Container; @@ -93,6 +92,7 @@ public class TileEntityNukeFleija extends TileEntity implements ISidedInventory, public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -155,6 +155,8 @@ public class TileEntityNukeFleija extends TileEntity implements ISidedInventory, slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override @@ -173,6 +175,10 @@ public class TileEntityNukeFleija extends TileEntity implements ISidedInventory, } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } public boolean isReady() { @@ -222,7 +228,7 @@ public class TileEntityNukeFleija extends TileEntity implements ISidedInventory, @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUINukeFleija(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeGadget.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeGadget.java index 31e4b24f8..d2586b225 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeGadget.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeGadget.java @@ -7,7 +7,6 @@ import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.inventory.Container; @@ -93,6 +92,7 @@ public class TileEntityNukeGadget extends TileEntity implements ISidedInventory, public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -155,6 +155,8 @@ public class TileEntityNukeGadget extends TileEntity implements ISidedInventory, slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override @@ -173,6 +175,10 @@ public class TileEntityNukeGadget extends TileEntity implements ISidedInventory, } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } /*public int getNukeTier() { @@ -275,7 +281,7 @@ public class TileEntityNukeGadget extends TileEntity implements ISidedInventory, @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUINukeGadget(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeMan.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeMan.java index 0c208e92e..148a21a57 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeMan.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeMan.java @@ -7,7 +7,6 @@ import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.inventory.Container; @@ -93,6 +92,7 @@ public class TileEntityNukeMan extends TileEntity implements ISidedInventory, IG public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -155,6 +155,8 @@ public class TileEntityNukeMan extends TileEntity implements ISidedInventory, IG slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override @@ -173,6 +175,10 @@ public class TileEntityNukeMan extends TileEntity implements ISidedInventory, IG } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } public boolean exp1() { @@ -249,7 +255,7 @@ public class TileEntityNukeMan extends TileEntity implements ISidedInventory, IG @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUINukeMan(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeMike.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeMike.java index eef1a2dc2..b9ebadf0c 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeMike.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeMike.java @@ -7,7 +7,6 @@ import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.inventory.Container; @@ -93,6 +92,7 @@ public class TileEntityNukeMike extends TileEntity implements ISidedInventory, I public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -155,6 +155,8 @@ public class TileEntityNukeMike extends TileEntity implements ISidedInventory, I slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override @@ -173,6 +175,10 @@ public class TileEntityNukeMike extends TileEntity implements ISidedInventory, I } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } public boolean isReady() { @@ -234,7 +240,7 @@ public class TileEntityNukeMike extends TileEntity implements ISidedInventory, I @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUINukeMike(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeN2.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeN2.java index 382858356..d10c60aba 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeN2.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeN2.java @@ -7,7 +7,6 @@ import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.inventory.Container; @@ -93,6 +92,7 @@ public class TileEntityNukeN2 extends TileEntity implements ISidedInventory, IGU public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -155,6 +155,8 @@ public class TileEntityNukeN2 extends TileEntity implements ISidedInventory, IGU slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override @@ -173,6 +175,10 @@ public class TileEntityNukeN2 extends TileEntity implements ISidedInventory, IGU } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } public boolean isReady() { @@ -223,7 +229,7 @@ public class TileEntityNukeN2 extends TileEntity implements ISidedInventory, IGU @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUINukeN2(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukePrototype.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukePrototype.java index 3fcc4d460..b9aaa4f71 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukePrototype.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukePrototype.java @@ -8,7 +8,6 @@ import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.inventory.Container; @@ -94,6 +93,7 @@ public class TileEntityNukePrototype extends TileEntity implements ISidedInvento public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -156,6 +156,8 @@ public class TileEntityNukePrototype extends TileEntity implements ISidedInvento slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override @@ -174,6 +176,10 @@ public class TileEntityNukePrototype extends TileEntity implements ISidedInvento } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } public boolean isReady() { @@ -226,7 +232,7 @@ public class TileEntityNukePrototype extends TileEntity implements ISidedInvento @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUINukePrototype(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeSolinium.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeSolinium.java index 5535654c7..6c214e607 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeSolinium.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeSolinium.java @@ -7,7 +7,6 @@ import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.inventory.Container; @@ -93,6 +92,7 @@ public class TileEntityNukeSolinium extends TileEntity implements ISidedInventor public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -155,6 +155,8 @@ public class TileEntityNukeSolinium extends TileEntity implements ISidedInventor slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override @@ -173,6 +175,10 @@ public class TileEntityNukeSolinium extends TileEntity implements ISidedInventor } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } public boolean isReady() { @@ -220,7 +226,7 @@ public class TileEntityNukeSolinium extends TileEntity implements ISidedInventor @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUINukeSolinium(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeTsar.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeTsar.java index a604b9271..86ee45beb 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeTsar.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeTsar.java @@ -7,7 +7,6 @@ import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.inventory.Container; @@ -93,6 +92,7 @@ public class TileEntityNukeTsar extends TileEntity implements ISidedInventory, I public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -155,6 +155,8 @@ public class TileEntityNukeTsar extends TileEntity implements ISidedInventory, I slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override @@ -173,6 +175,10 @@ public class TileEntityNukeTsar extends TileEntity implements ISidedInventory, I } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } public boolean isReady() { @@ -232,7 +238,7 @@ public class TileEntityNukeTsar extends TileEntity implements ISidedInventory, I @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUINukeTsar(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/deco/TileEntityGeysir.java b/src/main/java/com/hbm/tileentity/deco/TileEntityGeysir.java index 122e52ba3..273cb198d 100644 --- a/src/main/java/com/hbm/tileentity/deco/TileEntityGeysir.java +++ b/src/main/java/com/hbm/tileentity/deco/TileEntityGeysir.java @@ -7,8 +7,8 @@ import com.hbm.blocks.ModBlocks; import com.hbm.entity.particle.EntityOrangeFX; import com.hbm.entity.projectile.EntityShrapnel; import com.hbm.entity.projectile.EntityWaterSplash; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.block.Block; @@ -23,18 +23,18 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; public class TileEntityGeysir extends TileEntity { - + int timer; @Override public void updateEntity() { - + if (!this.worldObj.isRemote && worldObj.getBlock(xCoord, yCoord + 1, zCoord) == Blocks.air) { - + timer--; - + int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord); - + if(timer <= 0) { timer = getDelay(); @@ -43,44 +43,44 @@ public class TileEntityGeysir extends TileEntity { else worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, 0, 2); } - + if(meta == 1) { perform(); } } } - + private void water() { - + EntityWaterSplash fx = new EntityWaterSplash(worldObj, xCoord + 0.5, yCoord + 1.5, zCoord + 0.5); fx.motionX = worldObj.rand.nextGaussian() * 0.35; fx.motionZ = worldObj.rand.nextGaussian() * 0.35; fx.motionY = 2; - + worldObj.spawnEntityInWorld(fx); } - + private void chlorine() { - + for(int i = 0; i < 3; i++) { EntityOrangeFX fx = new EntityOrangeFX(worldObj, xCoord + 0.5, yCoord + 1.5, zCoord + 0.5, 0.0, 0.0, 0.0); - + fx.motionX = worldObj.rand.nextGaussian() * 0.45; fx.motionZ = worldObj.rand.nextGaussian() * 0.45; fx.motionY = timer * 0.3; - + worldObj.spawnEntityInWorld(fx); } - + } - + private void vapor() { List entities = this.worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(this.xCoord - 0.5, this.yCoord + 0.5, this.zCoord - 0.5, this.xCoord + 1.5, this.yCoord + 2, this.zCoord + 1.5)); - + if (!entities.isEmpty()) { for (Entity e : entities) { @@ -89,72 +89,72 @@ public class TileEntityGeysir extends TileEntity { } } } - + private void fire() { - + int range = 32; if(worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(range, range, range)).isEmpty()) return; - + if(worldObj.rand.nextInt(3) == 0) { EntityShrapnel fx = new EntityShrapnel(worldObj, xCoord + 0.5, yCoord + 1.5, zCoord + 0.5); fx.motionX = worldObj.rand.nextGaussian() * 0.05; fx.motionZ = worldObj.rand.nextGaussian() * 0.05; fx.motionY = 0.5 + worldObj.rand.nextDouble() * timer * 0.01; - + worldObj.spawnEntityInWorld(fx); } - + if(timer % 2 == 0) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "gasfire"); data.setDouble("mX", worldObj.rand.nextGaussian() * 0.05); data.setDouble("mY", 0.2); data.setDouble("mZ", worldObj.rand.nextGaussian() * 0.05); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, this.xCoord + 0.5F, this.yCoord + 1.1F, this.zCoord + 0.5F), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 75)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, this.xCoord + 0.5F, this.yCoord + 1.1F, this.zCoord + 0.5F), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 75)); } } - + private int getDelay() { - + Block b = worldObj.getBlock(xCoord, yCoord, zCoord); int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord); Random rand = worldObj.rand; - + if(b == ModBlocks.geysir_water) { - + return (meta == 0 ? 30 : 100 + rand.nextInt(40)); - + } else if(b == ModBlocks.geysir_chlorine) { - + return (meta == 0 ? 20 : 400 + rand.nextInt(100)); - + } else if(b == ModBlocks.geysir_vapor) { - + return (meta == 0 ? 20 : 30 + rand.nextInt(20)); - + } else if(b == ModBlocks.geysir_nether) { - + return (meta == 0 ? (rand.nextBoolean() ? 300 : 450) : 80 + rand.nextInt(60)); - + } - + return 0; } - + private void perform() { Block b = worldObj.getBlock(xCoord, yCoord, zCoord); - + if(b == ModBlocks.geysir_water) { water(); - + } else if(b == ModBlocks.geysir_chlorine) { chlorine(); - + } else if(b == ModBlocks.geysir_vapor) { vapor(); - + } else if(b == ModBlocks.geysir_nether) { fire(); } diff --git a/src/main/java/com/hbm/tileentity/deco/TileEntityLanternBehemoth.java b/src/main/java/com/hbm/tileentity/deco/TileEntityLanternBehemoth.java index 758f1727d..406da5c53 100644 --- a/src/main/java/com/hbm/tileentity/deco/TileEntityLanternBehemoth.java +++ b/src/main/java/com/hbm/tileentity/deco/TileEntityLanternBehemoth.java @@ -13,35 +13,35 @@ import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemCircuit.EnumCircuitType; import com.hbm.items.special.ItemKitCustom; -import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.IRepairable; +import com.hbm.tileentity.TileEntityLoadedBase; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; -public class TileEntityLanternBehemoth extends TileEntity implements INBTPacketReceiver, IRepairable { - +public class TileEntityLanternBehemoth extends TileEntityLoadedBase implements IRepairable { + public boolean isBroken = false; public int comTimer = -1; @Override public void updateEntity() { - + if(!worldObj.isRemote) { if(comTimer == 360) worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:block.hornNearSingle", 10F, 1F); if(comTimer == 280) worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:block.hornFarSingle", 10000F, 1F); if(comTimer == 220) worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:block.hornNearDual", 10F, 1F); if(comTimer == 100) worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:block.hornFarDual", 10000F, 1F); - + if(comTimer == 0) { List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord - 10, yCoord - 10, zCoord - 10, xCoord + 11, yCoord + 11, zCoord + 11)); EntityPlayer first = players.isEmpty() ? null : players.get(0); @@ -56,42 +56,45 @@ public class TileEntityLanternBehemoth extends TileEntity implements INBTPacketR bonus ? new ItemStack(ModItems.gem_alexandrite) : new ItemStack(Items.diamond, 6 + worldObj.rand.nextInt(6)), new ItemStack(Blocks.red_flower)); shuttle.payload = payload; - + worldObj.spawnEntityInWorld(shuttle); } - + if(comTimer >= 0) { comTimer--; } - - NBTTagCompound data = new NBTTagCompound(); - data.setBoolean("isBroken", isBroken); - INBTPacketReceiver.networkPack(this, data, 250); + + networkPackNT(250); } } - + @Override public void invalidate() { super.invalidate(); List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord - 50, yCoord - 50, zCoord - 50, xCoord + 51, yCoord + 51, zCoord + 51)); for(EntityPlayer player : players) { HbmPlayerProps props = HbmPlayerProps.getData(player); - if(props.reputation > -10) props.reputation--; + if(props.reputation > -25) props.reputation--; } } @Override - public void networkUnpack(NBTTagCompound nbt) { - this.isBroken = nbt.getBoolean("isBroken"); + public void serialize(ByteBuf buf) { + buf.writeBoolean(this.isBroken); } - + + @Override + public void deserialize(ByteBuf buf) { + this.isBroken = buf.readBoolean(); + } + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); isBroken = nbt.getBoolean("isBroken"); comTimer = nbt.getInteger("comTimer"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -103,11 +106,11 @@ public class TileEntityLanternBehemoth extends TileEntity implements INBTPacketR public boolean isDamaged() { return isBroken; } - + List repair = new ArrayList(); @Override public List getRepairMaterials() { - + if(!repair.isEmpty()) return repair; @@ -124,12 +127,12 @@ public class TileEntityLanternBehemoth extends TileEntity implements INBTPacketR } @Override public void tryExtinguish(World world, int x, int y, int z, EnumExtinguishType type) { } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord, @@ -140,10 +143,10 @@ public class TileEntityLanternBehemoth extends TileEntity implements INBTPacketR zCoord + 1 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { diff --git a/src/main/java/com/hbm/tileentity/deco/TileEntityTrappedBrick.java b/src/main/java/com/hbm/tileentity/deco/TileEntityTrappedBrick.java index 5dcef1aad..c35d0d795 100644 --- a/src/main/java/com/hbm/tileentity/deco/TileEntityTrappedBrick.java +++ b/src/main/java/com/hbm/tileentity/deco/TileEntityTrappedBrick.java @@ -6,9 +6,7 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.TrappedBrick.Trap; -import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.entity.projectile.EntityRubble; -import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.items.ModItems; import net.minecraft.entity.monster.EntityCaveSpider; @@ -77,11 +75,7 @@ public class TileEntityTrappedBrick extends TileEntity { worldObj.setBlock(xCoord, yCoord - 1 - i, zCoord, ModBlocks.concrete_pillar); break; case POISON_DART: - EntityBulletBaseNT dart = new EntityBulletBaseNT(worldObj, BulletConfigSyncingUtil.G20_CAUSTIC); - dart.setPosition(xCoord + 0.5 + dir.offsetX, yCoord + 0.5, zCoord + 0.5 + dir.offsetZ); - dart.motionX = dir.offsetX; - dart.motionZ = dir.offsetZ; - worldObj.spawnEntityInWorld(dart); + //TBI break; case ZOMBIE: EntityZombie zombie = new EntityZombie(worldObj); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityAshpit.java b/src/main/java/com/hbm/tileentity/machine/TileEntityAshpit.java index acefaf0f2..b99ea830a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityAshpit.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityAshpit.java @@ -15,7 +15,7 @@ import com.hbm.tileentity.TileEntityMachineBase; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -103,11 +103,8 @@ public class TileEntityAshpit extends TileEntityMachineBase implements IGUIProvi for(int i = 0; i < 5; i++) { if(slots[i] != null) isFull = true; } - - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("playersUsing", this.playersUsing); - data.setBoolean("isFull", this.isFull); - this.networkPack(data, 50); + + this.networkPackNT(50); } else { this.prevDoorAngle = this.doorAngle; @@ -142,10 +139,19 @@ public class TileEntityAshpit extends TileEntityMachineBase implements IGUIProvi } @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - this.playersUsing = nbt.getInteger("playersUsing"); - this.isFull = nbt.getBoolean("isFull"); + public void serialize(ByteBuf buf) { + super.serialize(buf); + + buf.writeInt(this.playersUsing); + buf.writeBoolean(this.isFull); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + + this.playersUsing = buf.readInt(); + this.isFull = buf.readBoolean(); } @Override @@ -212,7 +218,7 @@ public class TileEntityAshpit extends TileEntityMachineBase implements IGUIProvi @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIAshpit(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityBlastDoor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityBlastDoor.java index e13795a69..dbf1d785d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityBlastDoor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityBlastDoor.java @@ -3,30 +3,31 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.DummyBlockBlast; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.TEVaultPacket; +import com.hbm.packet.toclient.TEVaultPacket; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; public class TileEntityBlastDoor extends TileEntityLockableBase { - + public boolean isOpening = false; //0: closed, 1: opening/closing, 2:open public int state = 0; public long sysTime; private int timer = 0; public boolean redstoned = false; - + @Override public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() @@ -36,25 +37,25 @@ public class TileEntityBlastDoor extends TileEntityLockableBase { @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + if(!isLocked() && worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord) || worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord + 6, zCoord)) { - + if(!redstoned) { this.tryToggle(); } redstoned = true; - + } else { redstoned = false; } - + if(state != 1) { timer = 0; } else { timer++; - + if(isOpening) { if(timer >= 0) { removeDummy(xCoord, yCoord + 1, zCoord); @@ -88,20 +89,20 @@ public class TileEntityBlastDoor extends TileEntityLockableBase { placeDummy(xCoord, yCoord + 1, zCoord); } } - + if(timer >= 100) { - + if(isOpening) finishOpen(); else finishClose(); } } - + PacketDispatcher.wrapper.sendToAllAround(new TEVaultPacket(xCoord, yCoord, zCoord, isOpening, state, 0, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250)); } } - + public void open() { if(state == 0) { PacketDispatcher.wrapper.sendToAllAround(new TEVaultPacket(xCoord, yCoord, zCoord, isOpening, state, 1, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250)); @@ -112,17 +113,17 @@ public class TileEntityBlastDoor extends TileEntityLockableBase { 0.75F); } } - + public void finishOpen() { state = 2; this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.reactorStop", 0.5F, 1.0F); } - + public void close() { if(state == 2) { - PacketDispatcher.wrapper.sendToAll(new TEVaultPacket(xCoord, yCoord, zCoord, isOpening, state, 1, 0)); + PacketDispatcher.wrapper.sendToAllAround(new TEVaultPacket(xCoord, yCoord, zCoord, isOpening, state, 1, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250)); isOpening = false; state = 1; @@ -130,116 +131,116 @@ public class TileEntityBlastDoor extends TileEntityLockableBase { 0.75F); } } - + public void finishClose() { state = 0; this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.reactorStop", 0.5F, 1.0F); } - + public void openNeigh() { TileEntity te0 = worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); TileEntity te1 = worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); TileEntity te2 = worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); TileEntity te3 = worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); - + if(te0 instanceof TileEntityBlastDoor) { - + if(((TileEntityBlastDoor)te0).canOpen() && (!((TileEntityBlastDoor)te0).isLocked() || ((TileEntityBlastDoor)te0).lock == lock)) { ((TileEntityBlastDoor)te0).open(); ((TileEntityBlastDoor)te0).openNeigh(); } } - + if(te1 instanceof TileEntityBlastDoor) { - + if(((TileEntityBlastDoor)te1).canOpen() && (!((TileEntityBlastDoor)te1).isLocked() || ((TileEntityBlastDoor)te1).lock == lock)) { ((TileEntityBlastDoor)te1).open(); ((TileEntityBlastDoor)te1).openNeigh(); } } - + if(te2 instanceof TileEntityBlastDoor) { - + if(((TileEntityBlastDoor)te2).canOpen() && (!((TileEntityBlastDoor)te2).isLocked() || ((TileEntityBlastDoor)te2).lock == lock)) { ((TileEntityBlastDoor)te2).open(); ((TileEntityBlastDoor)te2).openNeigh(); } } - + if(te3 instanceof TileEntityBlastDoor) { - + if(((TileEntityBlastDoor)te3).canOpen() && (!((TileEntityBlastDoor)te3).isLocked() || ((TileEntityBlastDoor)te3).lock == lock)) { ((TileEntityBlastDoor)te3).open(); ((TileEntityBlastDoor)te3).openNeigh(); } } } - + @Override public void lock() { super.lock(); lockNeigh(); } - + public void closeNeigh() { TileEntity te0 = worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); TileEntity te1 = worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); TileEntity te2 = worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); TileEntity te3 = worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); - + if(te0 instanceof TileEntityBlastDoor) { - + if(((TileEntityBlastDoor)te0).canClose() && (!((TileEntityBlastDoor)te0).isLocked() || ((TileEntityBlastDoor)te0).lock == lock)) { ((TileEntityBlastDoor)te0).close(); ((TileEntityBlastDoor)te0).closeNeigh(); } } - + if(te1 instanceof TileEntityBlastDoor) { - + if(((TileEntityBlastDoor)te1).canClose() && (!((TileEntityBlastDoor)te1).isLocked() || ((TileEntityBlastDoor)te1).lock == lock)) { ((TileEntityBlastDoor)te1).close(); ((TileEntityBlastDoor)te1).closeNeigh(); } } - + if(te2 instanceof TileEntityBlastDoor) { - + if(((TileEntityBlastDoor)te2).canClose() && (!((TileEntityBlastDoor)te2).isLocked() || ((TileEntityBlastDoor)te2).lock == lock)) { ((TileEntityBlastDoor)te2).close(); ((TileEntityBlastDoor)te2).closeNeigh(); } } - + if(te3 instanceof TileEntityBlastDoor) { - + if(((TileEntityBlastDoor)te3).canClose() && (!((TileEntityBlastDoor)te3).isLocked() || ((TileEntityBlastDoor)te3).lock == lock)) { ((TileEntityBlastDoor)te3).close(); ((TileEntityBlastDoor)te3).closeNeigh(); } } } - + public void lockNeigh() { TileEntity te0 = worldObj.getTileEntity(xCoord + 1, yCoord, zCoord); TileEntity te1 = worldObj.getTileEntity(xCoord - 1, yCoord, zCoord); TileEntity te2 = worldObj.getTileEntity(xCoord, yCoord, zCoord + 1); TileEntity te3 = worldObj.getTileEntity(xCoord, yCoord, zCoord - 1); - + if(te0 instanceof TileEntityBlastDoor) { - + if(!((TileEntityBlastDoor)te0).isLocked()) { ((TileEntityBlastDoor)te0).setPins(this.lock); ((TileEntityBlastDoor)te0).lock(); ((TileEntityBlastDoor)te0).setMod(lockMod); } } - + if(te1 instanceof TileEntityBlastDoor) { if(!((TileEntityBlastDoor)te1).isLocked()) { @@ -248,7 +249,7 @@ public class TileEntityBlastDoor extends TileEntityLockableBase { ((TileEntityBlastDoor)te1).setMod(lockMod); } } - + if(te2 instanceof TileEntityBlastDoor) { if(!((TileEntityBlastDoor)te2).isLocked()) { @@ -257,7 +258,7 @@ public class TileEntityBlastDoor extends TileEntityLockableBase { ((TileEntityBlastDoor)te2).setMod(lockMod); } } - + if(te3 instanceof TileEntityBlastDoor) { if(!((TileEntityBlastDoor)te3).isLocked()) { @@ -267,15 +268,15 @@ public class TileEntityBlastDoor extends TileEntityLockableBase { } } } - + public boolean canOpen() { return state == 0; } - + public boolean canClose() { return state == 2; } - + public void tryToggle() { if(canOpen()) { @@ -286,28 +287,28 @@ public class TileEntityBlastDoor extends TileEntityLockableBase { closeNeigh(); } } - + public boolean placeDummy(int x, int y, int z) { - - if(!worldObj.getBlock(x, y, z).isReplaceable(worldObj, x, y, z)) - return false; - + + Block present = worldObj.getBlock(x, y, z); + if(!present.isReplaceable(worldObj, x, y, z) && present != ModBlocks.dummy_block_blast) worldObj.func_147480_a(x, y, z, false); + worldObj.setBlock(x, y, z, ModBlocks.dummy_block_blast); - + TileEntity te = worldObj.getTileEntity(x, y, z); - + if(te instanceof TileEntityDummy) { TileEntityDummy dummy = (TileEntityDummy)te; dummy.targetX = xCoord; dummy.targetY = yCoord; dummy.targetZ = zCoord; } - + return true; } - + public void removeDummy(int x, int y, int z) { - + if(worldObj.getBlock(x, y, z) == ModBlocks.dummy_block_blast) { DummyBlockBlast.safeBreak = true; worldObj.setBlock(x, y, z, Blocks.air); @@ -317,7 +318,7 @@ public class TileEntityBlastDoor extends TileEntityLockableBase { public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + isOpening = nbt.getBoolean("isOpening"); state = nbt.getInteger("state"); sysTime = nbt.getLong("sysTime"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityBroadcaster.java b/src/main/java/com/hbm/tileentity/machine/TileEntityBroadcaster.java index 0c580bf65..a2f76a030 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityBroadcaster.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityBroadcaster.java @@ -1,38 +1,40 @@ package com.hbm.tileentity.machine; import java.util.List; +import java.util.Random; import com.hbm.lib.ModDamageSource; -import com.hbm.packet.LoopedSoundPacket; -import com.hbm.packet.PacketDispatcher; +import com.hbm.main.MainRegistry; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.TileEntityLoadedBase; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -public class TileEntityBroadcaster extends TileEntity { - +public class TileEntityBroadcaster extends TileEntityLoadedBase { + + private AudioWrapper audio; + @Override public void updateEntity() { - + List list = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(xCoord + 0.5 - 25, yCoord + 0.5 - 25, zCoord + 0.5 - 25, xCoord + 0.5 + 25, yCoord + 0.5 + 25, zCoord + 0.5 + 25)); - + for(int i = 0; i < list.size(); i++) { if(list.get(i) instanceof EntityLivingBase) { EntityLivingBase e = (EntityLivingBase)list.get(i); double d = Math.sqrt(Math.pow(e.posX - (xCoord + 0.5), 2) + Math.pow(e.posY - (yCoord + 0.5), 2) + Math.pow(e.posZ - (zCoord + 0.5), 2)); - + if(d <= 25) { if(e.getActivePotionEffect(Potion.confusion) == null || e.getActivePotionEffect(Potion.confusion).getDuration() < 100) e.addPotionEffect(new PotionEffect(Potion.confusion.id, 300, 0)); } - + if(d <= 15) { double t = (15 - d) / 15 * 10; e.attackEntityFrom(ModDamageSource.broadcast, (float) t); @@ -40,21 +42,64 @@ public class TileEntityBroadcaster extends TileEntity { } } - if(!worldObj.isRemote) { - PacketDispatcher.wrapper.sendToAllAround(new LoopedSoundPacket(xCoord, yCoord, zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); + if (worldObj.isRemote) { + if(audio == null) { + audio = createAudioLoop(); + audio.startSound(); + } else if(!audio.isPlaying()) { + audio = rebootAudio(audio); + } + + audio.keepAlive(); } } + + @Override + public void onChunkUnload() { + super.onChunkUnload(); + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + + @Override + public void invalidate() { + super.invalidate(); + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + + @Override + public AudioWrapper createAudioLoop() { + Random rand = new Random(xCoord + yCoord + zCoord); + return MainRegistry.proxy.getLoopedSound("hbm:block.broadcast" + (rand.nextInt(3) + 1), xCoord, yCoord, zCoord, 25F, 25F, 1.0F, 20); + } + + AxisAlignedBB bb = null; @Override public AxisAlignedBB getRenderBoundingBox() { - return TileEntity.INFINITE_EXTENT_AABB; + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord, + yCoord, + zCoord, + xCoord + 1, + yCoord + 2, + zCoord + 1 + ); + } + + return bb; } @Override @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { + public double getMaxRenderDistanceSquared() { return 65536.0D; } - } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCharger.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCharger.java index 6df1f8bf9..313d19986 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCharger.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCharger.java @@ -4,72 +4,68 @@ import java.util.ArrayList; import java.util.List; import java.util.Random; -import com.hbm.tileentity.INBTPacketReceiver; -import com.hbm.tileentity.TileEntityLoadedBase; - import api.hbm.energymk2.IBatteryItem; import api.hbm.energymk2.IEnergyReceiverMK2; +import com.hbm.tileentity.IBufPacketReceiver; +import com.hbm.tileentity.TileEntityLoadedBase; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCharger extends TileEntityLoadedBase implements IEnergyReceiverMK2, INBTPacketReceiver { - +public class TileEntityCharger extends TileEntityLoadedBase implements IEnergyReceiverMK2, IBufPacketReceiver { + private List players = new ArrayList(); private long charge = 0; private int lastOp = 0; - + boolean particles = false; - + public int usingTicks; public int lastUsingTicks; public static final int delay = 20; @Override public void updateEntity() { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()).getOpposite(); - + if(!worldObj.isRemote) { this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ, dir); - + players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(0.5, 0.0, 0.5)); - + charge = 0; - + for(EntityPlayer player : players) { - + for(int i = 0; i < 5; i++) { - + ItemStack stack = player.getEquipmentInSlot(i); - + if(stack != null && stack.getItem() instanceof IBatteryItem) { IBatteryItem battery = (IBatteryItem) stack.getItem(); charge += Math.min(battery.getMaxCharge(stack) - battery.getCharge(stack), battery.getChargeRate()); } } } - + particles = lastOp > 0; - + if(particles) { - + lastOp--; - + if(worldObj.getTotalWorldTime() % 20 == 0) worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "random.fizz", 0.2F, 0.5F); } - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("c", charge); - data.setBoolean("p", particles); - INBTPacketReceiver.networkPack(this, data, 50); + + networkPackNT(50); } - + lastUsingTicks = usingTicks; - + if((charge > 0 || particles) && usingTicks < delay) { usingTicks++; if(usingTicks == 2) @@ -80,7 +76,7 @@ public class TileEntityCharger extends TileEntityLoadedBase implements IEnergyRe if(usingTicks == 4) worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "tile.piston.in", 0.5F, 0.5F); } - + if(particles) { Random rand = worldObj.rand; worldObj.spawnParticle("magicCrit", @@ -94,9 +90,15 @@ public class TileEntityCharger extends TileEntityLoadedBase implements IEnergyRe } @Override - public void networkUnpack(NBTTagCompound nbt) { - this.charge = nbt.getLong("c"); - this.particles = nbt.getBoolean("p"); + public void serialize(ByteBuf buf) { + buf.writeLong(this.charge); + buf.writeBoolean(this.particles); + } + + @Override + public void deserialize(ByteBuf buf) { + this.charge = buf.readLong(); + this.particles = buf.readBoolean(); } @Override @@ -111,32 +113,32 @@ public class TileEntityCharger extends TileEntityLoadedBase implements IEnergyRe @Override public void setPower(long power) { } - + @Override public long transferPower(long power) { - + if(this.usingTicks < delay || power == 0) return power; - + for(EntityPlayer player : players) { - + for(int i = 0; i < 5; i++) { - + ItemStack stack = player.getEquipmentInSlot(i); - + if(stack != null && stack.getItem() instanceof IBatteryItem) { IBatteryItem battery = (IBatteryItem) stack.getItem(); - + long toCharge = Math.min(battery.getMaxCharge(stack) - battery.getCharge(stack), battery.getChargeRate()); toCharge = Math.min(toCharge, power / 5); battery.chargeBattery(stack, toCharge); power -= toCharge; - + lastOp = 4; } } } - + return power; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBase.java index 08964ccc8..ca14f994a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBase.java @@ -6,28 +6,28 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.lib.Library; -import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; -import api.hbm.fluid.IFluidUser; -import net.minecraft.nbt.NBTTagCompound; +import api.hbm.fluidmk2.IFluidReceiverMK2; +import io.netty.buffer.ByteBuf; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public abstract class TileEntityChimneyBase extends TileEntityLoadedBase implements IFluidUser, INBTPacketReceiver { +public abstract class TileEntityChimneyBase extends TileEntityLoadedBase implements IFluidReceiverMK2, IBufPacketReceiver { public long ashTick = 0; public long sootTick = 0; public int onTicks; - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + if(worldObj.getTotalWorldTime() % 20 == 0) { FluidType[] types = new FluidType[] {Fluids.SMOKE, Fluids.SMOKE_LEADED, Fluids.SMOKE_POISON}; - + for(FluidType type : types) { this.trySubscribe(type, worldObj, xCoord + 2, yCoord, zCoord, Library.POS_X); this.trySubscribe(type, worldObj, xCoord - 2, yCoord, zCoord, Library.NEG_X); @@ -35,11 +35,11 @@ public abstract class TileEntityChimneyBase extends TileEntityLoadedBase impleme this.trySubscribe(type, worldObj, xCoord, yCoord, zCoord - 2, Library.NEG_Z); } } - + if(ashTick > 0 || sootTick > 0) { TileEntity below = worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); - + if(below instanceof TileEntityAshpit) { TileEntityAshpit ashpit = (TileEntityAshpit) below; ashpit.ashLevelFly += ashTick; @@ -48,15 +48,13 @@ public abstract class TileEntityChimneyBase extends TileEntityLoadedBase impleme this.ashTick = 0; this.sootTick = 0; } - - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("onTicks", onTicks); - INBTPacketReceiver.networkPack(this, data, 150); - + + networkPackNT(150); + if(onTicks > 0) onTicks--; - + } else { - + if(onTicks > 0) { this.spawnParticles(); } @@ -66,15 +64,21 @@ public abstract class TileEntityChimneyBase extends TileEntityLoadedBase impleme public boolean cpaturesAsh() { return true; } - + public boolean cpaturesSoot() { return false; } - + public void spawnParticles() { } - - public void networkUnpack(NBTTagCompound nbt) { - this.onTicks = nbt.getInteger("onTicks"); + + @Override + public void serialize(ByteBuf buf) { + buf.writeInt(this.onTicks); + } + + @Override + public void deserialize(ByteBuf buf) { + this.onTicks = buf.readInt(); } @Override @@ -85,23 +89,23 @@ public abstract class TileEntityChimneyBase extends TileEntityLoadedBase impleme @Override public long transferFluid(FluidType type, int pressure, long fluid) { - + if(type != Fluids.SMOKE && type != Fluids.SMOKE_LEADED && type != Fluids.SMOKE_POISON) return fluid; - + onTicks = 20; if(cpaturesAsh()) ashTick += fluid; if(cpaturesSoot()) sootTick += fluid; - + fluid *= getPollutionMod(); if(type == Fluids.SMOKE) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, fluid / 100F); if(type == Fluids.SMOKE_LEADED) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.HEAVYMETAL, fluid / 100F); if(type == Fluids.SMOKE_POISON) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.POISON, fluid / 100F); - + return 0; } - + public abstract double getPollutionMod(); @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java b/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java index 0ab6d68b2..16121b0cb 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java @@ -13,11 +13,10 @@ import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Coolable; import com.hbm.inventory.fluid.trait.FT_Coolable.CoolingType; import com.hbm.main.MainRegistry; -import com.hbm.packet.NBTPacket; -import com.hbm.packet.PacketDispatcher; import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IBufPacketReceiver; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IConfigurableMachine; -import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.CompatEnergyControl; import com.hbm.util.fauxpointtwelve.BlockPos; @@ -27,9 +26,9 @@ import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.fluid.IFluidStandardTransceiver; import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; @@ -40,17 +39,17 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityChungus extends TileEntityLoadedBase implements IEnergyProviderMK2, INBTPacketReceiver, IFluidStandardTransceiver, SimpleComponent, IInfoProviderEC, CompatHandler.OCComponent, IConfigurableMachine { +public class TileEntityChungus extends TileEntityLoadedBase implements IEnergyProviderMK2, IFluidStandardTransceiver, SimpleComponent, IInfoProviderEC, CompatHandler.OCComponent, IConfigurableMachine, IBufPacketReceiver, IFluidCopiable{ public long power; private int turnTimer; public float rotor; public float lastRotor; public float fanAcceleration = 0F; - + public FluidTank[] tanks; protected double[] info = new double[3]; - + private AudioWrapper audio; private float audioDesync; @@ -59,7 +58,7 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IEnergyPr public static int inputTankSize = 1_000_000_000; public static int outputTankSize = 1_000_000_000; public static double efficiency = 0.85D; - + public TileEntityChungus() { tanks = new FluidTank[2]; tanks[0] = new FluidTank(Fluids.STEAM, inputTankSize); @@ -95,11 +94,11 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IEnergyPr @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + this.info = new double[3]; - + boolean operational = false; FluidType in = tanks[0].getTankType(); boolean valid = false; @@ -121,49 +120,44 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IEnergyPr operational = ops > 0; } } - + if(!valid) tanks[1].setTankType(Fluids.NONE); if(power > maxPower) power = maxPower; - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); this.tryProvide(worldObj, xCoord - dir.offsetX * 11, yCoord, zCoord - dir.offsetZ * 11, dir.getOpposite()); - + for(DirPos pos : this.getConPos()) { this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - + if(power > maxPower) power = maxPower; - + turnTimer--; - + if(operational) turnTimer = 25; - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", power); - data.setInteger("type", tanks[0].getTankType().getID()); - data.setInteger("operational", turnTimer); - this.networkPack(data, 150); - + networkPackNT(150); + } else { - + this.lastRotor = this.rotor; this.rotor += this.fanAcceleration; - + if(this.rotor >= 360) { this.rotor -= 360; this.lastRotor -= 360; } - + if(turnTimer > 0) { // Fan accelerates with a random offset to ensure the audio doesn't perfectly align, makes for a more pleasant hum this.fanAcceleration = Math.max(0F, Math.min(25F, this.fanAcceleration += 0.075F + audioDesync)); - + Random rand = worldObj.rand; ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection side = dir.getRotation(ForgeDirection.UP); - + for(int i = 0; i < 10; i++) { worldObj.spawnParticle("cloud", xCoord + 0.5 + dir.offsetX * (rand.nextDouble() + 1.25) + rand.nextGaussian() * side.offsetX * 0.65, @@ -172,7 +166,7 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IEnergyPr -dir.offsetX * 0.2, 0, -dir.offsetZ * 0.2); } - + if(audio == null) { audio = MainRegistry.proxy.getLoopedSound("hbm:block.chungusTurbineRunning", xCoord, yCoord, zCoord, 1.0F, 20F, 1.0F); audio.startSound(); @@ -183,7 +177,7 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IEnergyPr audio.updatePitch(0.25F + 0.75F * turbineSpeed); } else { this.fanAcceleration = Math.max(0F, Math.min(25F, this.fanAcceleration -= 0.1F)); - + if(audio != null) { if(this.fanAcceleration > 0) { float turbineSpeed = this.fanAcceleration / 25F; @@ -194,16 +188,16 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IEnergyPr audio = null; } } - } + } } } - + public void onLeverPull(FluidType previous) { for(BlockPos pos : getConPos()) { this.tryUnsubscribe(previous, worldObj, pos.getX(), pos.getY(), pos.getZ()); } } - + public DirPos[] getConPos() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); @@ -213,18 +207,23 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IEnergyPr new DirPos(xCoord - rot.offsetX * 3, yCoord, zCoord - rot.offsetZ * 3, rot.getOpposite()) }; } - - public void networkPack(NBTTagCompound nbt, int range) { - PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(nbt, xCoord, yCoord, zCoord), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); + + @Override + public void serialize(ByteBuf buf) { + buf.writeLong(this.power); + buf.writeInt(this.turnTimer); + this.tanks[0].serialize(buf); + this.tanks[1].serialize(buf); } @Override - public void networkUnpack(NBTTagCompound data) { - this.power = data.getLong("power"); - this.turnTimer = data.getInteger("operational"); - this.tanks[0].setTankType(Fluids.fromID(data.getInteger("type"))); + public void deserialize(ByteBuf buf) { + this.power = buf.readLong(); + this.turnTimer = buf.readInt(); + this.tanks[0].deserialize(buf); + this.tanks[1].deserialize(buf); } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -232,7 +231,7 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IEnergyPr tanks[1].readFromNBT(nbt, "steam"); power = nbt.getLong("power"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -240,12 +239,12 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IEnergyPr tanks[1].writeToNBT(nbt, "steam"); nbt.setLong("power", power); } - + @Override public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -277,7 +276,7 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IEnergyPr public String getComponentName() { return "ntm_turbine"; } - + @Override public void onChunkUnload() { super.onChunkUnload(); @@ -298,29 +297,35 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IEnergyPr } } - @Callback(direct = true) + @Callback(direct = true, doc = "function():table -- Gets current tanks state. The format is the following: , , , ") @Optional.Method(modid = "OpenComputers") public Object[] getFluid(Context context, Arguments args) { return new Object[] {tanks[0].getFill(), tanks[0].getMaxFill(), tanks[1].getFill(), tanks[1].getMaxFill()}; } - @Callback(direct = true) + @Callback(direct = true, doc = "function():number -- Gets the current input tank fluid type. 0 stands for steam, 1 for dense steam, 2 for super dense steam and 3 for ultra dense steam.") @Optional.Method(modid = "OpenComputers") public Object[] getType(Context context, Arguments args) { - return CompatHandler.steamTypeToInt(tanks[1].getTankType()); + return CompatHandler.steamTypeToInt(tanks[0].getTankType()); } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 4, doc = "function(type:number) -- Sets the input tank fluid type. Refer getType() for the accepted values information.") @Optional.Method(modid = "OpenComputers") public Object[] setType(Context context, Arguments args) { tanks[0].setTankType(CompatHandler.intToSteamType(args.checkInteger(0))); return new Object[] {}; } - @Callback(direct = true) + @Callback(direct = true, doc = "function():number -- Gets the power buffer of the turbine.") + @Optional.Method(modid = "OpenComputers") + public Object[] getPower(Context context, Arguments args) { + return new Object[] {power}; + } + + @Callback(direct = true, doc = "function():table -- Gets information about this turbine. The format is the following: , , , , , ") @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[] {tanks[0].getFill(), tanks[0].getMaxFill(), tanks[1].getFill(), tanks[1].getMaxFill(), CompatHandler.steamTypeToInt(tanks[0].getTankType())}; + return new Object[] {tanks[0].getFill(), tanks[0].getMaxFill(), tanks[1].getFill(), tanks[1].getMaxFill(), CompatHandler.steamTypeToInt(tanks[0].getTankType())[0], power}; } @Override @@ -330,6 +335,7 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IEnergyPr "getFluid", "getType", "setType", + "getPower", "getInfo" }; } @@ -344,6 +350,8 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IEnergyPr return getType(context, args); case ("setType"): return setType(context, args); + case ("getPower"): + return getPower(context, args); case ("getInfo"): return getInfo(context, args); } @@ -372,4 +380,9 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IEnergyPr data.setDouble(CompatEnergyControl.D_OUTPUT_MB, info[1]); data.setDouble(CompatEnergyControl.D_OUTPUT_HE, info[2]); } + + @Override + public FluidTank getTankToPaste() { + return null; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java index 8d2730f8b..31eaee685 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java @@ -6,25 +6,25 @@ import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; -import com.hbm.saveddata.TomSaveData; +import com.hbm.tileentity.IBufPacketReceiver; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IConfigurableMachine; -import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.CompatEnergyControl; import api.hbm.fluid.IFluidStandardTransceiver; import api.hbm.tile.IInfoProviderEC; +import io.netty.buffer.ByteBuf; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.EnumSkyBlock; -public class TileEntityCondenser extends TileEntityLoadedBase implements IFluidStandardTransceiver, INBTPacketReceiver, IInfoProviderEC, IConfigurableMachine { +public class TileEntityCondenser extends TileEntityLoadedBase implements IFluidStandardTransceiver, IInfoProviderEC, IConfigurableMachine, IBufPacketReceiver, IFluidCopiable { public int age = 0; public FluidTank[] tanks; - + public int waterTimer = 0; protected int throughput; - + //Configurable values public static int inputTankSize = 100; public static int outputTankSize = 100; @@ -52,73 +52,64 @@ public class TileEntityCondenser extends TileEntityLoadedBase implements IFluidS writer.name("I:outputTankSize").value(outputTankSize); } - - @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + age++; if(age >= 2) { age = 0; } - - NBTTagCompound data = new NBTTagCompound(); - this.tanks[0].writeToNBT(data, "0"); - + if(this.waterTimer > 0) this.waterTimer--; int convert = Math.min(tanks[0].getFill(), tanks[1].getMaxFill() - tanks[1].getFill()); this.throughput = convert; - + if(extraCondition(convert)) { tanks[0].setFill(tanks[0].getFill() - convert); - + if(convert > 0) this.waterTimer = 20; - int light = this.worldObj.getSavedLightValue(EnumSkyBlock.Sky, this.xCoord, this.yCoord, this.zCoord); - - if(TomSaveData.forWorld(worldObj).fire > 1e-5 && light > 7) { // Make both steam and water evaporate during firestorms... - tanks[1].setFill(tanks[1].getFill() - convert); - } else { - tanks[1].setFill(tanks[1].getFill() + convert); - } - + tanks[1].setFill(tanks[1].getFill() + convert); postConvert(convert); } - - this.tanks[1].writeToNBT(data, "1"); - + this.subscribeToAllAround(tanks[0].getTankType(), this); this.sendFluidToAll(tanks[1], this); - - data.setByte("timer", (byte) this.waterTimer); - packExtra(data); - INBTPacketReceiver.networkPack(this, data, 150); + + networkPackNT(150); } } - + public void packExtra(NBTTagCompound data) { } public boolean extraCondition(int convert) { return true; } public void postConvert(int convert) { } @Override - public void networkUnpack(NBTTagCompound nbt) { - this.tanks[0].readFromNBT(nbt, "0"); - this.tanks[1].readFromNBT(nbt, "1"); - this.waterTimer = nbt.getByte("timer"); + public void serialize(ByteBuf buf) { + this.tanks[0].serialize(buf); + this.tanks[1].serialize(buf); + buf.writeByte(this.waterTimer); } - + + @Override + public void deserialize(ByteBuf buf) { + this.tanks[0].deserialize(buf); + this.tanks[1].deserialize(buf); + this.waterTimer = buf.readByte(); + } + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); tanks[0].readFromNBT(nbt, "water"); tanks[1].readFromNBT(nbt, "steam"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -146,4 +137,9 @@ public class TileEntityCondenser extends TileEntityLoadedBase implements IFluidS data.setDouble(CompatEnergyControl.D_CONSUMPTION_MB, throughput); data.setDouble(CompatEnergyControl.D_OUTPUT_MB, throughput); } + + @Override + public FluidTank getTankToPaste() { + return null; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCondenserPowered.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCondenserPowered.java index 9aabea820..2240477cd 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCondenserPowered.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCondenserPowered.java @@ -13,6 +13,7 @@ import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; @@ -98,11 +99,21 @@ public class TileEntityCondenserPowered extends TileEntityCondenser implements I } @Override - public void networkUnpack(NBTTagCompound nbt) { - this.power = nbt.getLong("power"); - this.tanks[0].readFromNBT(nbt, "0"); - this.tanks[1].readFromNBT(nbt, "1"); - this.waterTimer = nbt.getByte("timer"); + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(this.power); + this.tanks[0].serialize(buf); + this.tanks[1].serialize(buf); + buf.writeByte(this.waterTimer); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + this.tanks[0].deserialize(buf); + this.tanks[1].deserialize(buf); + this.waterTimer = buf.readByte(); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityConveyorPress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityConveyorPress.java index 418c9932c..d7a93653e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityConveyorPress.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityConveyorPress.java @@ -7,11 +7,13 @@ import com.hbm.inventory.recipes.PressRecipes; import com.hbm.items.machine.ItemStamp; import com.hbm.lib.Library; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.BufferUtil; import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; @@ -31,7 +33,7 @@ public class TileEntityConveyorPress extends TileEntityMachineBase implements IE private int turnProgress; protected boolean isRetracting = false; private int delay; - + public ItemStack syncStack; public TileEntityConveyorPress() { @@ -45,32 +47,32 @@ public class TileEntityConveyorPress extends TileEntityMachineBase implements IE @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + this.updateConnections(); - + if(delay <= 0) { - + if(isRetracting) { - + if(this.canRetract()) { this.press -= speed; this.power -= this.usage; - + if(press <= 0) { press = 0; this.isRetracting = false; delay = 0; } } - + } else { - + if(this.canExtend()) { this.press += speed; this.power -= this.usage; - + if(press >= 1) { press = 1; this.isRetracting = true; @@ -79,26 +81,17 @@ public class TileEntityConveyorPress extends TileEntityMachineBase implements IE } } } - + } else { delay--; } - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", power); - data.setDouble("press", press); - if(slots[0] != null) { - NBTTagCompound stack = new NBTTagCompound(); - slots[0].writeToNBT(stack); - data.setTag("stack", stack); - } - - this.networkPack(data, 50); + + this.networkPackNT(50); } else { - + // approach-based interpolation, GO! this.lastPress = this.renderPress; - + if(this.turnProgress > 0) { this.renderPress = this.renderPress + ((this.syncPress - this.renderPress) / (double) this.turnProgress); --this.turnProgress; @@ -107,11 +100,11 @@ public class TileEntityConveyorPress extends TileEntityMachineBase implements IE } } } - + protected void updateConnections() { for(DirPos pos : getConPos()) this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - + protected DirPos[] getConPos() { return new DirPos[] { new DirPos(xCoord + 1, yCoord, zCoord, Library.POS_X), @@ -120,40 +113,40 @@ public class TileEntityConveyorPress extends TileEntityMachineBase implements IE new DirPos(xCoord, yCoord, zCoord - 1, Library.NEG_Z), }; } - + public boolean canExtend() { - + if(this.power < usage) return false; if(slots[0] == null) return false; - + List items = worldObj.getEntitiesWithinAABB(EntityMovingItem.class, AxisAlignedBB.getBoundingBox(xCoord, yCoord + 1, zCoord, xCoord + 1, yCoord + 1.5, zCoord + 1)); if(items.isEmpty()) return false; - + for(EntityMovingItem item : items) { ItemStack stack = item.getItemStack(); if(PressRecipes.getOutput(stack, slots[0]) != null && stack.stackSize == 1) { - + double d0 = 0.35; double d1 = 0.65; if(item.posX > xCoord + d0 && item.posX < xCoord + d1 && item.posZ > zCoord + d0 && item.posZ < zCoord + d1) { item.setPosition(xCoord + 0.5, item.posY, zCoord + 0.5); } - + return true; } } - + return false; } - + public void process() { - + List items = worldObj.getEntitiesWithinAABB(EntityMovingItem.class, AxisAlignedBB.getBoundingBox(xCoord, yCoord + 1, zCoord, xCoord + 1, yCoord + 1.5, zCoord + 1)); - + for(EntityMovingItem item : items) { ItemStack stack = item.getItemStack(); ItemStack output = PressRecipes.getOutput(stack, slots[0]); - + if(output != null && stack.stackSize == 1) { item.setDead(); EntityMovingItem out = new EntityMovingItem(worldObj); @@ -162,9 +155,9 @@ public class TileEntityConveyorPress extends TileEntityMachineBase implements IE worldObj.spawnEntityInWorld(out); } } - + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.pressOperate", getVolume(1.5F), 1.0F); - + if(slots[0].getMaxDamage() != 0) { slots[0].setItemDamage(slots[0].getItemDamage() + 1); if(slots[0].getItemDamage() >= slots[0].getMaxDamage()) { @@ -172,25 +165,28 @@ public class TileEntityConveyorPress extends TileEntityMachineBase implements IE } } } - + public boolean canRetract() { - if(this.power < usage) return false; - return true; + return this.power >= usage; } - + @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - this.power = nbt.getLong("power"); - this.syncPress = nbt.getInteger("press"); - - if(nbt.hasKey("stack")) { - NBTTagCompound stack = nbt.getCompoundTag("stack"); - this.syncStack = ItemStack.loadItemStackFromNBT(stack); - } else { - this.syncStack = null; - } - + public void serialize(ByteBuf buf) { + super.serialize(buf); + + buf.writeLong(this.power); + buf.writeDouble(this.press); + BufferUtil.writeItemStack(buf, slots[0]); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + + this.power = buf.readLong(); + this.syncPress = buf.readDouble(); + this.syncStack = BufferUtil.readItemStack(buf); + this.turnProgress = 2; } @@ -198,7 +194,7 @@ public class TileEntityConveyorPress extends TileEntityMachineBase implements IE public boolean isItemValidForSlot(int i, ItemStack stack) { return stack.getItem() instanceof ItemStamp; } - + @Override public int[] getAccessibleSlotsFromSide(int side) { return new int[] { 0 }; @@ -228,26 +224,26 @@ public class TileEntityConveyorPress extends TileEntityMachineBase implements IE public boolean canConnect(ForgeDirection dir) { return dir != ForgeDirection.DOWN; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); this.power = nbt.getLong("power"); this.press = nbt.getDouble("press"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setLong("power", power); nbt.setDouble("press", press); } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -258,10 +254,10 @@ public class TileEntityConveyorPress extends TileEntityMachineBase implements IE zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCore.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCore.java index 4fd9621ee..767575fa9 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCore.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCore.java @@ -26,7 +26,7 @@ import com.hbm.util.CompatEnergyControl; import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; @@ -138,15 +138,8 @@ public class TileEntityCore extends TileEntityMachineBase implements IGUIProvide if(heat > 0) radiation(); - - NBTTagCompound data = new NBTTagCompound(); - tanks[0].writeToNBT(data, "t0"); - tanks[1].writeToNBT(data, "t1"); - data.setInteger("field", field); - data.setInteger("heat", heat); - data.setInteger("color", color); - data.setBoolean("melt", meltdownTick); - networkPack(data, 250); + + networkPackNT(250); heat = 0; @@ -162,15 +155,28 @@ public class TileEntityCore extends TileEntityMachineBase implements IGUIProvide } - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); - tanks[0].readFromNBT(data, "t0"); - tanks[1].readFromNBT(data, "t1"); - field = data.getInteger("field"); - heat = data.getInteger("heat"); - color = data.getInteger("color"); - meltdownTick = data.getBoolean("melt"); + tanks[0].serialize(buf); + tanks[1].serialize(buf); + buf.writeInt(field); + buf.writeInt(heat); + buf.writeInt(color); + buf.writeBoolean(meltdownTick); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + + tanks[0].deserialize(buf); + tanks[1].deserialize(buf); + this.field = buf.readInt(); + this.heat = buf.readInt(); + this.color = buf.readInt(); + this.meltdownTick = buf.readBoolean(); } private void radiation() { @@ -357,7 +363,7 @@ public class TileEntityCore extends TileEntityMachineBase implements IGUIProvide @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICore(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java index 507035d8d..6acc2532f 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java @@ -3,6 +3,7 @@ package com.hbm.tileentity.machine; import api.hbm.block.ILaserable; import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardReceiver; +import api.hbm.redstoneoverradio.IRORInteractive; import api.hbm.tile.IInfoProviderEC; import com.hbm.handler.CompatHandler; @@ -18,12 +19,12 @@ import com.hbm.util.CompatEnergyControl; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; @@ -38,7 +39,7 @@ import net.minecraftforge.common.util.ForgeDirection; import java.util.List; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEnergyReceiverMK2, ILaserable, IFluidStandardReceiver, SimpleComponent, IGUIProvider, IInfoProviderEC, CompatHandler.OCComponent { +public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEnergyReceiverMK2, ILaserable, IFluidStandardReceiver, SimpleComponent, IGUIProvider, IInfoProviderEC, CompatHandler.OCComponent, IRORInteractive { public long power; public static final long maxPower = 1000000000L; @@ -97,7 +98,7 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne if(joules > 0) { - long out = joules * 98 / 100; + long out = joules * 95 / 100; ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); for(int i = 1; i <= range; i++) { @@ -111,20 +112,9 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne Block block = worldObj.getBlock(x, y, z); TileEntity te = worldObj.getTileEntity(x, y, z); - if(block instanceof ILaserable) { - ((ILaserable)block).addEnergy(worldObj, x, y, z, out * 98 / 100, dir); - break; - } - - if(te instanceof ILaserable) { - ((ILaserable)te).addEnergy(worldObj, x, y, z, out * 98 / 100, dir); - break; - } - - if(te instanceof TileEntityCore) { - out = ((TileEntityCore)te).burn(out); - continue; - } + if(block instanceof ILaserable) { ((ILaserable)block).addEnergy(worldObj, x, y, z, out, dir); break; } + if(te instanceof ILaserable) { ((ILaserable)te).addEnergy(worldObj, x, y, z, out, dir); break; } + if(te instanceof TileEntityCore) { out = ((TileEntityCore)te).burn(out); continue; } Block b = worldObj.getBlock(x, y, z); @@ -169,26 +159,32 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne this.markDirty(); - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", power); - data.setInteger("watts", watts); - data.setLong("prev", prev); - data.setInteger("beam", beam); - data.setBoolean("isOn", isOn); - tank.writeToNBT(data, "tank"); - this.networkPack(data, 250); + this.networkPackNT(250); } } - - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - power = data.getLong("power"); - watts = data.getInteger("watts"); - prev = data.getLong("prev"); - beam = data.getInteger("beam"); - isOn = data.getBoolean("isOn"); - tank.readFromNBT(data, "tank"); + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + + buf.writeLong(power); + buf.writeInt(watts); + buf.writeLong(prev); + buf.writeInt(beam); + buf.writeBoolean(isOn); + tank.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + + this.power = buf.readLong(); + this.watts = buf.readInt(); + this.prev = buf.readLong(); + this.beam = buf.readInt(); + this.isOn = buf.readBoolean(); + tank.deserialize(buf); } public long getPowerScaled(long i) { @@ -332,7 +328,7 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICoreEmitter(player.inventory, this); } @@ -341,4 +337,46 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne data.setDouble(CompatEnergyControl.D_CONSUMPTION_MB, joules > 0 || prev > 0 ? 20 : 0); data.setDouble(CompatEnergyControl.D_CONSUMPTION_HE, maxPower * watts / 2000); } + + @Override + public String[] getFunctionInfo() { + return new String[] { + PREFIX_FUNCTION + "setpower" + NAME_SEPARATOR + "percent", + PREFIX_FUNCTION + "toggle", + PREFIX_FUNCTION + "switch" + NAME_SEPARATOR + "on/off", + }; + } + + @Override + public String runRORFunction(String name, String[] params) { + + if((PREFIX_FUNCTION + "setpower").equals(name) && params.length > 0) { + int watts = IRORInteractive.parseInt(params[0], 0, 100); + this.watts = watts; + this.markChanged(); + return null; + } + + if((PREFIX_FUNCTION + "toggle").equals(name)) { + this.isOn = !this.isOn; + this.markChanged(); + return null; + } + + + if((PREFIX_FUNCTION + "switch").equals(name) && params.length > 0) { + if("on".equals(params[0])) { + this.isOn = true; + this.markChanged(); + return null; + } + if("off".equals(params[0])) { + this.isOn = false; + this.markChanged(); + return null; + } + } + + return null; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java index ee599910d..5380702cf 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java @@ -12,11 +12,11 @@ import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; @@ -101,19 +101,26 @@ public class TileEntityCoreInjector extends TileEntityMachineBase implements IFl this.markDirty(); - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("beam", beam); - tanks[0].writeToNBT(data, "t0"); - tanks[1].writeToNBT(data, "t1"); - this.networkPack(data, 250); + this.networkPackNT(250); } } - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - beam = data.getInteger("beam"); - tanks[0].readFromNBT(data, "t0"); - tanks[1].readFromNBT(data, "t1"); + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + + buf.writeInt(beam); + tanks[0].serialize(buf); + tanks[1].serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + + this.beam = buf.readInt(); + tanks[0].deserialize(buf); + tanks[1].deserialize(buf); } @Override @@ -185,7 +192,7 @@ public class TileEntityCoreInjector extends TileEntityMachineBase implements IFl @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICoreInjector(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java index 16f9fe511..c85a206c7 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java @@ -16,11 +16,11 @@ import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.inventory.Container; @@ -69,19 +69,26 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn } } - NBTTagCompound data = new NBTTagCompound(); - data.setLong("joules", joules); - tank.writeToNBT(data, "t"); - this.networkPack(data, 50); + this.networkPackNT(50); joules = 0; } } - - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - joules = data.getLong("joules"); - tank.readFromNBT(data, "t"); + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + + buf.writeLong(joules); + tank.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + + joules = buf.readLong(); + tank.deserialize(buf); } @Override @@ -187,7 +194,7 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICoreReceiver(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java index bb7e05bbb..df1890191 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java @@ -10,15 +10,17 @@ import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.CompatEnergyControl; import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.redstoneoverradio.IRORInteractive; +import api.hbm.redstoneoverradio.IRORValueProvider; import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; @@ -29,7 +31,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityCoreStabilizer extends TileEntityMachineBase implements IEnergyReceiverMK2, SimpleComponent, IGUIProvider, IInfoProviderEC, CompatHandler.OCComponent { +public class TileEntityCoreStabilizer extends TileEntityMachineBase implements IEnergyReceiverMK2, SimpleComponent, IGUIProvider, IInfoProviderEC, CompatHandler.OCComponent, IRORValueProvider, IRORInteractive { public long power; public static final long maxPower = 2500000000L; @@ -93,11 +95,7 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I } } - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", power); - data.setInteger("watts", watts); - data.setInteger("beam", beam); - this.networkPack(data, 250); + this.networkPackNT(250); } } @@ -106,13 +104,23 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } - - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - power = data.getLong("power"); - watts = data.getInteger("watts"); - beam = data.getInteger("beam"); + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + + buf.writeLong(power); + buf.writeInt(watts); + buf.writeInt(beam); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + + this.power = buf.readLong(); + this.watts = buf.readInt(); + this.beam = buf.readInt(); } public long getPowerScaled(long i) { @@ -225,7 +233,7 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICoreStabilizer(player.inventory, this); } @@ -239,4 +247,33 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I else data.setDouble(CompatEnergyControl.D_CONSUMPTION_HE, 0); } + + @Override + public String[] getFunctionInfo() { + return new String[] { + PREFIX_VALUE + "durability", + PREFIX_VALUE + "durabilitypercent", + PREFIX_FUNCTION + "setpower" + NAME_SEPARATOR + "percent", + }; + } + + @Override + public String provideRORValue(String name) { + if((PREFIX_VALUE + "durability").equals(name)) return (slots[0] != null && slots[0].getItem() == ModItems.ams_lens) ? "" + (((ItemLens) slots[0].getItem()).maxDamage - ItemLens.getLensDamage(slots[0])) : "0"; + if((PREFIX_VALUE + "durabilitypercent").equals(name)) return (slots[0] != null && slots[0].getItem() == ModItems.ams_lens) ? "" + ((((ItemLens) slots[0].getItem()).maxDamage - ItemLens.getLensDamage(slots[0])) * 100 / ((ItemLens) slots[0].getItem()).maxDamage) : "0"; + return null; + } + + @Override + public String runRORFunction(String name, String[] params) { + + if((PREFIX_FUNCTION + "setpower").equals(name) && params.length > 0) { + int watts = IRORInteractive.parseInt(params[0], 0, 100); + this.watts = watts; + this.markChanged(); + return null; + } + + return null; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java index 1fb87fc69..1425d59b0 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java @@ -9,6 +9,7 @@ import com.google.gson.stream.JsonWriter; import com.hbm.blocks.BlockDummyable; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.container.ContainerCrucible; import com.hbm.inventory.gui.GUICrucible; import com.hbm.inventory.material.MaterialShapes; @@ -18,11 +19,12 @@ import com.hbm.inventory.material.NTMMaterial; import com.hbm.inventory.recipes.CrucibleRecipes; import com.hbm.inventory.recipes.CrucibleRecipes.CrucibleRecipe; import com.hbm.items.ModItems; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.tileentity.IConfigurableMachine; import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.IMetalCopiable; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.BobMathUtil; import com.hbm.util.CrucibleUtil; import api.hbm.block.ICrucibleAcceptor; @@ -31,7 +33,6 @@ import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; @@ -45,11 +46,11 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCrucible extends TileEntityMachineBase implements IGUIProvider, ICrucibleAcceptor, IConfigurableMachine { +public class TileEntityCrucible extends TileEntityMachineBase implements IGUIProvider, ICrucibleAcceptor, IConfigurableMachine, IMetalCopiable { public int heat; public int progress; - + public List recipeStack = new ArrayList(); public List wasteStack = new ArrayList(); @@ -101,21 +102,22 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro @Override public void updateEntity() { - + if(!worldObj.isRemote) { tryPullHeat(); - + /* collect items */ if(worldObj.getTotalWorldTime() % 5 == 0) { List list = worldObj.getEntitiesWithinAABB(EntityItem.class, AxisAlignedBB.getBoundingBox(xCoord - 0.5, yCoord + 0.5, zCoord - 0.5, xCoord + 1.5, yCoord + 1, zCoord + 1.5)); - + for(EntityItem item : list) { + if(item.isDead) continue; ItemStack stack = item.getEntityItem(); if(this.isItemSmeltable(stack)) { - + for(int i = 1; i < 10; i++) { if(slots[i] == null) { - + if(stack.stackSize == 1) { slots[i] = stack.copy(); item.setDead(); @@ -125,7 +127,7 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro slots[i].stackSize = 1; stack.stackSize--; } - + this.markChanged(); } } @@ -138,29 +140,29 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro for(MaterialStack stack : recipeStack) totalMass += stack.amount; for(MaterialStack stack : wasteStack) totalMass += stack.amount; - + double level = ((double) totalMass / (double) totalCap) * 0.875D; - + List living = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5 + level, zCoord + 0.5).expand(1, 0, 1)); for(EntityLivingBase entity : living) { entity.attackEntityFrom(DamageSource.lava, 5F); entity.setFire(5); } - + /* smelt items from buffer */ if(!trySmelt()) { this.progress = 0; } - + tryRecipe(); - + /* pour waste stack */ if(!this.wasteStack.isEmpty()) { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); Vec3 impact = Vec3.createVectorHelper(0, 0, 0); MaterialStack didPour = CrucibleUtil.pourFullStack(worldObj, xCoord + 0.5D + dir.offsetX * 1.875D, yCoord + 0.25D, zCoord + 0.5D + dir.offsetZ * 1.875D, 6, true, this.wasteStack, MaterialShapes.NUGGET.q(3), impact); - + if(didPour != null) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "foundry"); @@ -169,25 +171,25 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro data.setFloat("off", 0.625F); data.setFloat("base", 0.625F); data.setFloat("len", Math.max(1F, yCoord - (float) (Math.ceil(impact.yCoord) - 0.875))); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, xCoord + 0.5D + dir.offsetX * 1.875D, yCoord, zCoord + 0.5D + dir.offsetZ * 1.875D), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord + 1, zCoord + 0.5, 50)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, xCoord + 0.5D + dir.offsetX * 1.875D, yCoord, zCoord + 0.5D + dir.offsetZ * 1.875D), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord + 1, zCoord + 0.5, 50)); + } PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND / 20F); } - + /* pour recipe stack */ if(!this.recipeStack.isEmpty()) { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); List toCast = new ArrayList(); - + CrucibleRecipe recipe = this.getLoadedRecipe(); //if no recipe is loaded, everything from the recipe stack will be drainable if(recipe == null) { toCast.addAll(this.recipeStack); } else { - + for(MaterialStack stack : this.recipeStack) { for(MaterialStack output : recipe.output) { if(stack.material == output.material) { @@ -197,7 +199,7 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro } } } - + Vec3 impact = Vec3.createVectorHelper(0, 0, 0); MaterialStack didPour = CrucibleUtil.pourFullStack(worldObj, xCoord + 0.5D + dir.offsetX * 1.875D, yCoord + 0.25D, zCoord + 0.5D + dir.offsetZ * 1.875D, 6, true, toCast, MaterialShapes.NUGGET.q(3), impact); @@ -209,8 +211,8 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro data.setFloat("off", 0.625F); data.setFloat("base", 0.625F); data.setFloat("len", Math.max(1F, yCoord - (float) (Math.ceil(impact.yCoord) - 0.875))); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, xCoord + 0.5D + dir.offsetX * 1.875D, yCoord, zCoord + 0.5D + dir.offsetZ * 1.875D), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord + 1, zCoord + 0.5, 50)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, xCoord + 0.5D + dir.offsetX * 1.875D, yCoord, zCoord + 0.5D + dir.offsetZ * 1.875D), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord + 1, zCoord + 0.5, 50)); + } PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND / 20F); @@ -219,51 +221,63 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro /* clean up stacks */ this.recipeStack.removeIf(o -> o.amount <= 0); this.wasteStack.removeIf(x -> x.amount <= 0); - + /* sync */ this.networkPackNT(25); } } - + @Override public void serialize(ByteBuf buf) { super.serialize(buf); buf.writeInt(progress); buf.writeInt(heat); - + buf.writeShort(recipeStack.size()); for(MaterialStack sta : recipeStack) { - buf.writeInt(sta.material.id); + if (sta.material == null) + buf.writeInt(-1); + else + buf.writeInt(sta.material.id); buf.writeInt(sta.amount); } - + buf.writeShort(wasteStack.size()); for(MaterialStack sta : wasteStack) { - buf.writeInt(sta.material.id); + if (sta.material == null) + buf.writeInt(-1); + else + buf.writeInt(sta.material.id); buf.writeInt(sta.amount); } } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); progress = buf.readInt(); heat = buf.readInt(); - + recipeStack.clear(); wasteStack.clear(); - + int mats = buf.readShort(); for(int i = 0; i < mats; i++) { - recipeStack.add(new MaterialStack(Mats.matById.get(buf.readInt()), buf.readInt())); + int id = buf.readInt(); + if (id == -1) + continue; + recipeStack.add(new MaterialStack(Mats.matById.get(id), buf.readInt())); } - + mats = buf.readShort(); for(int i = 0; i < mats; i++) { - wasteStack.add(new MaterialStack(Mats.matById.get(buf.readInt()), buf.readInt())); + int id = buf.readInt(); + if (id == -1) + continue; + wasteStack.add(new MaterialStack(Mats.matById.get(id), buf.readInt())); } } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -272,20 +286,20 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro for(int i = 0; i < rec.length / 2; i++) { recipeStack.add(new MaterialStack(Mats.matById.get(rec[i * 2]), rec[i * 2 + 1])); } - + int[] was = nbt.getIntArray("was"); for(int i = 0; i < was.length / 2; i++) { wasteStack.add(new MaterialStack(Mats.matById.get(was[i * 2]), was[i * 2 + 1])); } - + this.progress = nbt.getInteger("progress"); this.heat = nbt.getInteger("heat"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + int[] rec = new int[recipeStack.size() * 2]; int[] was = new int[wasteStack.size() * 2]; for(int i = 0; i < recipeStack.size(); i++) { MaterialStack sta = recipeStack.get(i); rec[i * 2] = sta.material.id; rec[i * 2 + 1] = sta.amount; } @@ -295,21 +309,23 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro nbt.setInteger("progress", progress); nbt.setInteger("heat", heat); } - + protected void tryPullHeat() { - + if(this.heat >= this.maxHeat) return; - + TileEntity con = worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); - + if(con instanceof IHeatSource) { IHeatSource source = (IHeatSource) con; int diff = source.getHeatStored() - this.heat; - + if(diff == 0) { return; } + diff = Math.min(diff, this.maxHeat - this.heat); + if(diff > 0) { diff = (int) Math.ceil(diff * diffusion); source.useUpHeat(diff); @@ -319,171 +335,170 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro return; } } - + this.heat = Math.max(this.heat - Math.max(this.heat / 1000, 1), 0); } - + protected boolean trySmelt() { - + if(this.heat < maxHeat / 2) return false; - + int slot = this.getFirstSmeltableSlot(); if(slot == -1) return false; - + int delta = this.heat - (maxHeat / 2); delta *= 0.05; - + this.progress += delta; this.heat -= delta; - + if(this.progress >= processTime) { this.progress = 0; - + List materials = Mats.getSmeltingMaterialsFromItem(slots[slot]); CrucibleRecipe recipe = getLoadedRecipe(); - + for(MaterialStack material : materials) { boolean mainStack = recipe != null && (getQuantaFromType(recipe.input, material.material) > 0 || getQuantaFromType(recipe.output, material.material) > 0); - + if(mainStack) { this.addToStack(this.recipeStack, material); } else { this.addToStack(this.wasteStack, material); } } - + this.decrStackSize(slot, 1); } - + return true; } - + protected void tryRecipe() { CrucibleRecipe recipe = this.getLoadedRecipe(); - + if(recipe == null) return; if(worldObj.getTotalWorldTime() % recipe.frequency > 0) return; - + for(MaterialStack stack : recipe.input) { if(getQuantaFromType(this.recipeStack, stack.material) < stack.amount) return; } - + for(MaterialStack stack : this.recipeStack) { stack.amount -= getQuantaFromType(recipe.input, stack.material); } - + outer: for(MaterialStack out : recipe.output) { - + for(MaterialStack stack : this.recipeStack) { if(stack.material == out.material) { stack.amount += out.amount; continue outer; } } - + this.recipeStack.add(out.copy()); } } - + protected int getFirstSmeltableSlot() { - + for(int i = 1; i < 10; i++) { - + ItemStack stack = slots[i]; - + if(stack != null && isItemSmeltable(stack)) { return i; } } - + return -1; } @Override public boolean isItemValidForSlot(int i, ItemStack stack) { - + if(i == 0) { return stack.getItem() == ModItems.crucible_template; } - + return isItemSmeltable(stack); } - + public boolean isItemSmeltable(ItemStack stack) { - + List materials = Mats.getSmeltingMaterialsFromItem(stack); - + //if there's no materials in there at all, don't smelt if(materials.isEmpty()) return false; - CrucibleRecipe recipe = getLoadedRecipe(); - + //needs to be true, will always be true if there's no recipe loaded boolean matchesRecipe = recipe == null; - + //the amount of material in the entire recipe input int recipeContent = recipe != null ? recipe.getInputAmount() : 0; //the total amount of the current waste stack, used for simulation int recipeAmount = getQuantaFromType(this.recipeStack, null); int wasteAmount = getQuantaFromType(this.wasteStack, null); - + for(MaterialStack mat : materials) { //if no recipe is loaded, everything will land in the waste stack int recipeInputRequired = recipe != null ? getQuantaFromType(recipe.input, mat.material) : 0; - + //this allows pouring the ouput material back into the crucible if(recipe != null && getQuantaFromType(recipe.output, mat.material) > 0) { recipeAmount += mat.amount; matchesRecipe = true; continue; } - + if(recipeInputRequired == 0) { //if this type isn't required by the recipe, add it to the waste stack wasteAmount += mat.amount; } else { - + //the maximum is the recipe's ratio scaled up to the recipe stack's capacity int matMaximum = recipeInputRequired * this.recipeZCapacity / recipeContent; int amountStored = getQuantaFromType(recipeStack, mat.material); - + matchesRecipe = true; - + recipeAmount += mat.amount; - + //if the amount of that input would exceed the amount dictated by the recipe, return false if(recipe != null && amountStored + mat.amount > matMaximum) return false; } } - + //if the amount doesn't exceed the capacity and the recipe matches (or isn't null), return true return recipeAmount <= this.recipeZCapacity && wasteAmount <= this.wasteZCapacity && matchesRecipe; } - + public void addToStack(List stack, MaterialStack matStack) { - + for(MaterialStack mat : stack) { if(mat.material == matStack.material) { mat.amount += matStack.amount; return; } } - + stack.add(matStack.copy()); } - + public CrucibleRecipe getLoadedRecipe() { - + if(slots[0] != null && slots[0].getItem() == ModItems.crucible_template) { return CrucibleRecipes.indexMapping.get(slots[0].getItemDamage()); } - + return null; } - + /* "Arrays and Lists don't have a common ancestor" my fucking ass */ public int getQuantaFromType(MaterialStack[] stacks, NTMMaterial mat) { for(MaterialStack stack : stacks) { @@ -493,7 +508,7 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro } return 0; } - + public int getQuantaFromType(List stacks, NTMMaterial mat) { int sum = 0; for(MaterialStack stack : stacks) { @@ -519,15 +534,15 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICrucible(player.inventory, this); } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -538,10 +553,10 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -550,30 +565,30 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro @Override public boolean canAcceptPartialPour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, MaterialStack stack) { - + CrucibleRecipe recipe = getLoadedRecipe(); - + if(recipe == null) { return getQuantaFromType(this.wasteStack, null) < this.wasteZCapacity; } - + int recipeContent = recipe.getInputAmount(); int recipeInputRequired = getQuantaFromType(recipe.input, stack.material); int matMaximum = recipeInputRequired * this.recipeZCapacity / recipeContent; int amountStored = getQuantaFromType(recipeStack, stack.material); - + return amountStored < matMaximum && getQuantaFromType(this.recipeStack, null) < this.recipeZCapacity; } @Override public MaterialStack pour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, MaterialStack stack) { - + CrucibleRecipe recipe = getLoadedRecipe(); - + if(recipe == null) { - + int amount = getQuantaFromType(this.wasteStack, null); - + if(amount + stack.amount <= this.wasteZCapacity) { this.addToStack(this.wasteStack, stack.copy()); return null; @@ -583,16 +598,16 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro return new MaterialStack(stack.material, stack.amount - toAdd); } } - + int recipeContent = recipe.getInputAmount(); int recipeInputRequired = getQuantaFromType(recipe.input, stack.material); int matMaximum = recipeInputRequired * this.recipeZCapacity / recipeContent; - + if(recipeInputRequired + stack.amount <= matMaximum) { this.addToStack(this.recipeStack, stack.copy()); return null; } - + int toAdd = matMaximum - stack.amount; toAdd = Math.min(toAdd, this.recipeZCapacity - getQuantaFromType(this.recipeStack, null)); this.addToStack(this.recipeStack, new MaterialStack(stack.material, toAdd)); @@ -601,4 +616,18 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro @Override public boolean canAcceptPartialFlow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { return false; } @Override public MaterialStack flow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { return null; } + + @Override + public int[] getMatsToCopy() { + ArrayList types = new ArrayList<>(); + + for (MaterialStack stack : recipeStack) { + types.add(stack.material.id); + } + for (MaterialStack stack : wasteStack) { + types.add(stack.material.id); + } + return BobMathUtil.intCollectionToArray(types); + } + } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java index afc3b4d8e..38c584d9d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java @@ -22,6 +22,7 @@ import com.hbm.module.ModulePatternMatcher; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachinePolluting; import com.hbm.tileentity.TileEntityProxyBase; +import com.hbm.util.BufferUtil; import com.hbm.util.Compat; import com.hbm.util.fauxpointtwelve.BlockPos; import com.hbm.util.fauxpointtwelve.DirPos; @@ -31,8 +32,8 @@ import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -221,23 +222,46 @@ public class TileEntityCustomMachine extends TileEntityMachinePolluting implemen } else { this.progress = 0; } - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", this.machineType); - data.setLong("power", power); - data.setBoolean("structureOK", structureOK); - data.setInteger("flux", flux); - data.setInteger("heat", heat); - data.setInteger("progress", progress); - data.setInteger("maxProgress", maxProgress); - for (int i = 0; i < inputTanks.length; i++) inputTanks[i].writeToNBT(data, "i" + i); - for (int i = 0; i < outputTanks.length; i++) outputTanks[i].writeToNBT(data, "o" + i); - this.matcher.writeToNBT(data); - this.networkPack(data, 50); + this.networkPackNT(50); } } + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + + BufferUtil.writeString(buf, this.machineType); + + buf.writeLong(power); + buf.writeInt(progress); + buf.writeInt(flux); + buf.writeInt(heat); + buf.writeBoolean(structureOK); + buf.writeInt(maxProgress); + for (FluidTank inputTank : inputTanks) inputTank.serialize(buf); + for (FluidTank outputTank : outputTanks) outputTank.serialize(buf); + this.matcher.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + + this.machineType = BufferUtil.readString(buf); + if(this.config == null) this.init(); + + this.power = buf.readLong(); + this.progress = buf.readInt(); + this.flux = buf.readInt(); + this.heat = buf.readInt(); + this.structureOK = buf.readBoolean(); + this.maxProgress = buf.readInt(); + for (FluidTank inputTank : inputTanks) inputTank.deserialize(buf); + for (FluidTank outputTank : outputTanks) outputTank.deserialize(buf); + this.matcher.deserialize(buf); + } + /** Only accepts inputs in a fixed order, saves a ton of performance because there's no permutations to check for */ public CustomMachineRecipe getMatchingRecipe() { List recipes = CustomMachineRecipes.recipes.get(this.config.recipeKey); @@ -459,25 +483,6 @@ public class TileEntityCustomMachine extends TileEntityMachinePolluting implemen return matcher.isValidForFilter(slots[filterSlot], index, stack); } - @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.machineType = nbt.getString("type"); - if(this.config == null) this.init(); - - this.power = nbt.getLong("power"); - this.progress = nbt.getInteger("progress"); - this.flux = nbt.getInteger("flux"); - this.heat = nbt.getInteger("heat"); - this.structureOK = nbt.getBoolean("structureOK"); - this.maxProgress = nbt.getInteger("maxProgress"); - for(int i = 0; i < inputTanks.length; i++) inputTanks[i].readFromNBT(nbt, "i" + i); - for(int i = 0; i < outputTanks.length; i++) outputTanks[i].readFromNBT(nbt, "o" + i); - - this.matcher.readFromNBT(nbt); - } - @Override public void readFromNBT(NBTTagCompound nbt) { @@ -558,7 +563,7 @@ public class TileEntityCustomMachine extends TileEntityMachinePolluting implemen @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { if(this.config == null) return null; return new GUIMachineCustom(player.inventory, this); } @@ -593,13 +598,13 @@ public class TileEntityCustomMachine extends TileEntityMachinePolluting implemen return 0; } - + @Override public long getReceiverSpeed() { if(this.config != null && !this.config.generatorMode) return this.getMaxPower(); return 0; } - + @Override public long getProviderSpeed() { if(this.config != null && this.config.generatorMode) return this.getMaxPower(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java index 12cc135b4..50a277d3a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java @@ -2,14 +2,16 @@ package com.hbm.tileentity.machine; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.TileEntityMachineBase; import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; +import io.netty.buffer.ByteBuf; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityDeuteriumExtractor extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver { +public class TileEntityDeuteriumExtractor extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IFluidCopiable { public long power = 0; public FluidTank[] tanks; @@ -44,13 +46,8 @@ public class TileEntityDeuteriumExtractor extends TileEntityMachineBase implemen this.subscribeToAllAround(tanks[0].getTankType(), this); this.sendFluidToAll(tanks[1], this); - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", power); - tanks[0].writeToNBT(data, "water"); - tanks[1].writeToNBT(data, "heavyWater"); - this.networkPack(data, 50); + this.networkPackNT(50); } } @@ -60,12 +57,20 @@ public class TileEntityDeuteriumExtractor extends TileEntityMachineBase implemen this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - - this.power = data.getLong("power"); - tanks[0].readFromNBT(data, "water"); - tanks[1].readFromNBT(data, "heavyWater"); + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(power); + tanks[0].serialize(buf); + tanks[1].serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + tanks[0].deserialize(buf); + tanks[1].deserialize(buf); } public boolean hasPower() { @@ -121,4 +126,9 @@ public class TileEntityDeuteriumExtractor extends TileEntityMachineBase implemen public FluidTank[] getAllTanks() { return tanks; } + + @Override + public FluidTank getTankToPaste() { + return null; + } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java index c1d3bb893..ea816adae 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java @@ -10,7 +10,6 @@ import com.hbm.inventory.gui.GUIDiFurnace; import com.hbm.inventory.recipes.BlastFurnaceRecipes; import com.hbm.items.ModItems; import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityMachinePolluting; import com.hbm.util.CompatEnergyControl; @@ -18,7 +17,7 @@ import api.hbm.fluid.IFluidStandardSender; import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; @@ -230,11 +229,7 @@ public class TileEntityDiFurnace extends TileEntityMachinePolluting implements I MachineDiFurnace.updateBlockState(this.progress > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); } - NBTTagCompound data = new NBTTagCompound(); - data.setShort("time", (short) this.progress); - data.setShort("fuel", (short) this.fuel); - data.setByteArray("modes", new byte[] { (byte) sideFuel, (byte) sideUpper, (byte) sideLower }); - INBTPacketReceiver.networkPack(this, data, 15); + networkPackNT(15); if(markDirty) { this.markDirty(); @@ -243,10 +238,21 @@ public class TileEntityDiFurnace extends TileEntityMachinePolluting implements I } @Override - public void networkUnpack(NBTTagCompound nbt) { - this.progress = nbt.getShort("time"); - this.fuel = nbt.getShort("fuel"); - byte[] modes = nbt.getByteArray("modes"); + public void serialize(ByteBuf buf) { + buf.writeShort(this.progress); + buf.writeShort(this.fuel); + buf.writeBytes(new byte[] { + this.sideFuel, + this.sideUpper, + this.sideLower}); + } + + @Override + public void deserialize(ByteBuf buf) { + this.progress = buf.readShort(); + this.fuel = buf.readShort(); + byte[] modes = new byte[3]; + buf.readBytes(modes); this.sideFuel = modes[0]; this.sideUpper = modes[1]; this.sideLower = modes[2]; @@ -259,7 +265,7 @@ public class TileEntityDiFurnace extends TileEntityMachinePolluting implements I @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIDiFurnace(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnaceRTG.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnaceRTG.java index db4d16a27..5776fa53a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnaceRTG.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnaceRTG.java @@ -13,7 +13,7 @@ import com.hbm.util.RTGUtil; import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -72,24 +72,28 @@ public class TileEntityDiFurnaceRTG extends TileEntityMachineBase implements IGU MachineDiFurnaceRTG.updateBlockState(isProcessing() || (canProcess() && hasPower()), getWorldObj(), xCoord, yCoord, zCoord); - NBTTagCompound data = new NBTTagCompound(); - data.setShort("progress", progress); - data.setShort("speed", processSpeed); - data.setByteArray("modes", new byte[] {(byte) sideUpper, (byte) sideLower}); - networkPack(data, 10); + networkPackNT(10); } - + @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - progress = nbt.getShort("progress"); - processSpeed = nbt.getShort("speed"); - byte[] modes = nbt.getByteArray("modes"); - this.sideUpper = modes[0]; - this.sideLower = modes[1]; + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeShort(progress); + buf.writeShort(processSpeed); + buf.writeBytes(new byte[] {sideUpper, sideLower}); } - + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + progress = buf.readShort(); + processSpeed = buf.readShort(); + byte[] bytes = new byte[2]; + buf.readBytes(bytes); + this.sideUpper = bytes[0]; + this.sideLower = bytes[1]; + } + private void processItem() { if(canProcess()) { @@ -145,6 +149,7 @@ public class TileEntityDiFurnaceRTG extends TileEntityMachineBase implements IGU @Override public void setCustomName(String name) { this.name = name; + markDirty(); } public boolean hasPower() { @@ -217,7 +222,7 @@ public class TileEntityDiFurnaceRTG extends TileEntityMachineBase implements IGU @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineDiFurnaceRTG(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java b/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java index 18cf9f14a..084aa7859 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java @@ -1,550 +1,605 @@ -package com.hbm.tileentity.machine; - -import java.util.ArrayList; -import java.util.List; - -import com.hbm.blocks.BlockDummyable; -import com.hbm.blocks.ModBlocks; -import com.hbm.interfaces.IControlReceiver; -import com.hbm.inventory.UpgradeManager; -import com.hbm.inventory.container.ContainerElectrolyserFluid; -import com.hbm.inventory.container.ContainerElectrolyserMetal; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.inventory.fluid.tank.FluidTank; -import com.hbm.inventory.gui.GUIElectrolyserFluid; -import com.hbm.inventory.gui.GUIElectrolyserMetal; -import com.hbm.inventory.material.MaterialShapes; -import com.hbm.inventory.material.Mats; -import com.hbm.inventory.material.Mats.MaterialStack; -import com.hbm.inventory.recipes.ElectrolyserFluidRecipes; -import com.hbm.inventory.recipes.ElectrolyserFluidRecipes.ElectrolysisRecipe; -import com.hbm.inventory.recipes.ElectrolyserMetalRecipes; -import com.hbm.inventory.recipes.ElectrolyserMetalRecipes.ElectrolysisMetalRecipe; -import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; -import com.hbm.lib.Library; -import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.IUpgradeInfoProvider; -import com.hbm.tileentity.TileEntityMachineBase; -import com.hbm.util.BobMathUtil; -import com.hbm.util.CrucibleUtil; -import com.hbm.util.I18nUtil; -import com.hbm.util.fauxpointtwelve.DirPos; - -import api.hbm.energymk2.IEnergyReceiverMK2; -import api.hbm.fluid.IFluidStandardTransceiver; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -public class TileEntityElectrolyser extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IControlReceiver, IGUIProvider, IUpgradeInfoProvider { - - public long power; - public static final long maxPower = 20000000; - public static final int usageOreBase = 10_000; - public static final int usageFluidBase = 10_000; - public int usageOre; - public int usageFluid; - - public int progressFluid; - public int processFluidTime = 100; - public int progressOre; - public int processOreTime = 600; - - public MaterialStack leftStack; - public MaterialStack rightStack; - public int maxMaterial = MaterialShapes.BLOCK.q(16); - - public FluidTank[] tanks; - - public TileEntityElectrolyser() { - //0: Battery - //1-2: Upgrades - //// FLUID - //3-4: Fluid ID - //5-10: Fluid IO - //11-13: Byproducts - //// METAL - //14: Crystal - //15-20: Outputs - super(21); - tanks = new FluidTank[4]; - tanks[0] = new FluidTank(Fluids.WATER, 16000); - tanks[1] = new FluidTank(Fluids.HYDROGEN, 16000); - tanks[2] = new FluidTank(Fluids.OXYGEN, 16000); - tanks[3] = new FluidTank(Fluids.NITRIC_ACID, 16000); - } - - @Override - public int[] getAccessibleSlotsFromSide(int meta) { - return new int[] { 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 }; - } - - @Override - public boolean isItemValidForSlot(int i, ItemStack itemStack) { - if(i == 14) return ElectrolyserMetalRecipes.getRecipe(itemStack) != null; - return false; - } - - @Override - public boolean canExtractItem(int i, ItemStack itemStack, int j) { - return i != 14; - } - - @Override - public String getName() { - return "container.machineElectrolyser"; - } - - @Override - public void updateEntity() { - - if(!worldObj.isRemote) { - - this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); - this.tanks[0].setType(3, 4, slots); - this.tanks[0].loadTank(5, 6, slots); - this.tanks[1].unloadTank(7, 8, slots); - this.tanks[2].unloadTank(9, 10, slots); - - if(worldObj.getTotalWorldTime() % 20 == 0) { - for(DirPos pos : this.getConPos()) { - this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - this.trySubscribe(tanks[3].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - - if(tanks[1].getFill() > 0) this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - if(tanks[2].getFill() > 0) this.sendFluid(tanks[2], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - } - } - - UpgradeManager.eval(slots, 1, 2); - int speedLevel = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); - int powerLevel = Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3); - - usageOre = usageOreBase - usageOreBase * powerLevel / 4; - usageFluid = usageFluidBase - usageFluidBase * powerLevel / 4; - - for(int i = 0; i < getCycleCount(); i++) { - if (this.canProcessFluid()) { - this.progressFluid++; - this.power -= this.usageFluid; - - if (this.progressFluid >= this.getDurationFluid()) { - this.processFluids(); - this.progressFluid = 0; - this.markChanged(); - } - } - - if (this.canProcessMetal()) { - this.progressOre++; - this.power -= this.usageOre; - - if (this.progressOre >= this.getDurationMetal()) { - this.processMetal(); - this.progressOre = 0; - this.markChanged(); - } - } - } - - if(this.leftStack != null) { - - ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); - List toCast = new ArrayList(); - toCast.add(this.leftStack); - - Vec3 impact = Vec3.createVectorHelper(0, 0, 0); - MaterialStack didPour = CrucibleUtil.pourFullStack(worldObj, xCoord + 0.5D + dir.offsetX * 5.875D, yCoord + 2D, zCoord + 0.5D + dir.offsetZ * 5.875D, 6, true, toCast, MaterialShapes.NUGGET.q(3) * Math.max (getCycleCount() * speedLevel, 1), impact); - - if(didPour != null) { - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "foundry"); - data.setInteger("color", didPour.material.moltenColor); - data.setByte("dir", (byte) dir.ordinal()); - data.setFloat("off", 0.625F); - data.setFloat("base", 0.625F); - data.setFloat("len", Math.max(1F, yCoord - (float) (Math.ceil(impact.yCoord) - 0.875) + 2)); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, xCoord + 0.5D + dir.offsetX * 5.875D, yCoord + 2, zCoord + 0.5D + dir.offsetZ * 5.875D), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord + 1, zCoord + 0.5, 50)); - - if(this.leftStack.amount <= 0) this.leftStack = null; - } - } - - if(this.rightStack != null) { - - ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); - List toCast = new ArrayList(); - toCast.add(this.rightStack); - - Vec3 impact = Vec3.createVectorHelper(0, 0, 0); - MaterialStack didPour = CrucibleUtil.pourFullStack(worldObj, xCoord + 0.5D + dir.offsetX * 5.875D, yCoord + 2D, zCoord + 0.5D + dir.offsetZ * 5.875D, 6, true, toCast, MaterialShapes.NUGGET.q(3) * Math.max (getCycleCount() * speedLevel, 1), impact); - - if(didPour != null) { - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "foundry"); - data.setInteger("color", didPour.material.moltenColor); - data.setByte("dir", (byte) dir.ordinal()); - data.setFloat("off", 0.625F); - data.setFloat("base", 0.625F); - data.setFloat("len", Math.max(1F, yCoord - (float) (Math.ceil(impact.yCoord) - 0.875) + 2)); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, xCoord + 0.5D + dir.offsetX * 5.875D, yCoord + 2, zCoord + 0.5D + dir.offsetZ * 5.875D), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord + 1, zCoord + 0.5, 50)); - - if(this.rightStack.amount <= 0) this.rightStack = null; - } - } - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", this.power); - data.setInteger("progressFluid", this.progressFluid); - data.setInteger("progressOre", this.progressOre); - data.setInteger("usageOre", this.usageOre); - data.setInteger("usageFluid", this.usageFluid); - data.setInteger("processFluidTime", this.getDurationFluid()); - data.setInteger("processOreTime", this.getDurationMetal()); - if(this.leftStack != null) { - data.setInteger("leftType", leftStack.material.id); - data.setInteger("leftAmount", leftStack.amount); - } - if(this.rightStack != null) { - data.setInteger("rightType", rightStack.material.id); - data.setInteger("rightAmount", rightStack.amount); - } - for(int i = 0; i < 4; i++) tanks[i].writeToNBT(data, "t" + i); - this.networkPack(data, 50); - } - } - - public DirPos[] getConPos() { - ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); - ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - - return new DirPos[] { - new DirPos(xCoord - dir.offsetX * 6, yCoord, zCoord - dir.offsetZ * 6, dir.getOpposite()), - new DirPos(xCoord - dir.offsetX * 6 + rot.offsetX, yCoord, zCoord - dir.offsetZ * 6 + rot.offsetZ, dir.getOpposite()), - new DirPos(xCoord - dir.offsetX * 6 - rot.offsetX, yCoord, zCoord - dir.offsetZ * 6 - rot.offsetZ, dir.getOpposite()), - new DirPos(xCoord + dir.offsetX * 6, yCoord, zCoord + dir.offsetZ * 6, dir), - new DirPos(xCoord + dir.offsetX * 6 + rot.offsetX, yCoord, zCoord + dir.offsetZ * 6 + rot.offsetZ, dir), - new DirPos(xCoord + dir.offsetX * 6 - rot.offsetX, yCoord, zCoord + dir.offsetZ * 6 - rot.offsetZ, dir) - }; - } - - @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.power = nbt.getLong("power"); - this.progressFluid = nbt.getInteger("progressFluid"); - this.progressOre = nbt.getInteger("progressOre"); - this.usageOre = nbt.getInteger("usageOre"); - this.usageFluid = nbt.getInteger("usageFluid"); - this.processFluidTime = nbt.getInteger("processFluidTime"); - this.processOreTime = nbt.getInteger("processOreTime"); - if(nbt.hasKey("leftType")) this.leftStack = new MaterialStack(Mats.matById.get(nbt.getInteger("leftType")), nbt.getInteger("leftAmount")); - else this.leftStack = null; - if(nbt.hasKey("rightType")) this.rightStack = new MaterialStack(Mats.matById.get(nbt.getInteger("rightType")), nbt.getInteger("rightAmount")); - else this.rightStack = null; - for(int i = 0; i < 4; i++) tanks[i].readFromNBT(nbt, "t" + i); - } - - public boolean canProcessFluid() { - - if(this.power < usageFluid) return false; - - ElectrolysisRecipe recipe = ElectrolyserFluidRecipes.recipes.get(tanks[0].getTankType()); - - if(recipe == null) return false; - if(recipe.amount > tanks[0].getFill()) return false; - if(recipe.output1.type == tanks[1].getTankType() && recipe.output1.fill + tanks[1].getFill() > tanks[1].getMaxFill()) return false; - if(recipe.output2.type == tanks[2].getTankType() && recipe.output2.fill + tanks[2].getFill() > tanks[2].getMaxFill()) return false; - - if(recipe.byproduct != null) { - - for(int i = 0; i < recipe.byproduct.length; i++) { - ItemStack slot = slots[11 + i]; - ItemStack byproduct = recipe.byproduct[i]; - - if(slot == null) continue; - if(!slot.isItemEqual(byproduct)) return false; - if(slot.stackSize + byproduct.stackSize > slot.getMaxStackSize()) return false; - } - } - - return true; - } - - public void processFluids() { - - ElectrolysisRecipe recipe = ElectrolyserFluidRecipes.recipes.get(tanks[0].getTankType()); - tanks[0].setFill(tanks[0].getFill() - recipe.amount); - tanks[1].setTankType(recipe.output1.type); - tanks[2].setTankType(recipe.output2.type); - tanks[1].setFill(tanks[1].getFill() + recipe.output1.fill); - tanks[2].setFill(tanks[2].getFill() + recipe.output2.fill); - - if(recipe.byproduct != null) { - - for(int i = 0; i < recipe.byproduct.length; i++) { - ItemStack slot = slots[11 + i]; - ItemStack byproduct = recipe.byproduct[i]; - - if(slot == null) { - slots[11 + i] = byproduct.copy(); - } else { - slots[11 + i].stackSize += byproduct.stackSize; - } - } - } - } - - public boolean canProcessMetal() { - - if(slots[14] == null) return false; - if(this.power < usageOre) return false; - if(this.tanks[3].getFill() < 100) return false; - - ElectrolysisMetalRecipe recipe = ElectrolyserMetalRecipes.getRecipe(slots[14]); - if(recipe == null) return false; - - if(leftStack != null && recipe.output1 != null) { - if(recipe.output1.material != leftStack.material) return false; - if(recipe.output1.amount + leftStack.amount > this.maxMaterial) return false; - } - - if(rightStack != null && recipe.output2 != null) { - if(recipe.output2.material != rightStack.material) return false; - if(recipe.output2.amount + rightStack.amount > this.maxMaterial) return false; - } - - if(recipe.byproduct != null) { - - for(int i = 0; i < recipe.byproduct.length; i++) { - ItemStack slot = slots[15 + i]; - ItemStack byproduct = recipe.byproduct[i]; - - if(slot == null) continue; - if(!slot.isItemEqual(byproduct)) return false; - if(slot.stackSize + byproduct.stackSize > slot.getMaxStackSize()) return false; - } - } - - return true; - } - - public void processMetal() { - - ElectrolysisMetalRecipe recipe = ElectrolyserMetalRecipes.getRecipe(slots[14]); - if(recipe.output1 != null) - if(leftStack == null) { - leftStack = new MaterialStack(recipe.output1.material, recipe.output1.amount); - } else { - leftStack.amount += recipe.output1.amount; - } - - if(recipe.output2 != null) - if(rightStack == null ) { - rightStack = new MaterialStack(recipe.output2.material, recipe.output2.amount); - } else { - rightStack.amount += recipe.output2.amount; - } - - if(recipe.byproduct != null) { - - for(int i = 0; i < recipe.byproduct.length; i++) { - ItemStack slot = slots[15 + i]; - ItemStack byproduct = recipe.byproduct[i]; - - if(slot == null) { - slots[15 + i] = byproduct.copy(); - } else { - slots[15 + i].stackSize += byproduct.stackSize; - } - } - } - - this.tanks[3].setFill(this.tanks[3].getFill() - 100); - this.decrStackSize(14, 1); - } - - public int getDurationMetal() { - ElectrolysisMetalRecipe result = ElectrolyserMetalRecipes.getRecipe(slots[14]); - int base = result != null ? result.duration : 600; - int speed = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3) - Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 1); - return (int) Math.ceil((base * Math.max(1F - 0.25F * speed, 0.2))); - } - public int getDurationFluid() { - ElectrolysisRecipe result = ElectrolyserFluidRecipes.getRecipe(tanks[0].getTankType()); - int base = result != null ? result.duration : 100; - int speed = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3) - Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 1); - return (int) Math.ceil((base * Math.max(1F - 0.25F * speed, 0.2))); - - } - - public int getCycleCount() { - int speed = UpgradeManager.getLevel(UpgradeType.OVERDRIVE); - return Math.min(1 + speed * 2, 7); - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - - this.power = nbt.getLong("power"); - this.progressFluid = nbt.getInteger("progressFluid"); - this.progressOre = nbt.getInteger("progressOre"); - this.processFluidTime = nbt.getInteger("processFluidTime"); - this.processOreTime = nbt.getInteger("processOreTime"); - if(nbt.hasKey("leftType")) this.leftStack = new MaterialStack(Mats.matById.get(nbt.getInteger("leftType")), nbt.getInteger("leftAmount")); - else this.leftStack = null; - if(nbt.hasKey("rightType")) this.rightStack = new MaterialStack(Mats.matById.get(nbt.getInteger("rightType")), nbt.getInteger("rightAmount")); - else this.rightStack = null; - for(int i = 0; i < 4; i++) tanks[i].readFromNBT(nbt, "t" + i); - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - - nbt.setLong("power", this.power); - nbt.setInteger("progressFluid", this.progressFluid); - nbt.setInteger("progressOre", this.progressOre); - nbt.setInteger("processFluidTime", getDurationFluid()); - nbt.setInteger("processOreTime", getDurationMetal()); - if(this.leftStack != null) { - nbt.setInteger("leftType", leftStack.material.id); - nbt.setInteger("leftAmount", leftStack.amount); - } - if(this.rightStack != null) { - nbt.setInteger("rightType", rightStack.material.id); - nbt.setInteger("rightAmount", rightStack.amount); - } - for(int i = 0; i < 4; i++) tanks[i].writeToNBT(nbt, "t" + i); - - } - - AxisAlignedBB bb = null; - - @Override - public AxisAlignedBB getRenderBoundingBox() { - - if(bb == null) { - bb = AxisAlignedBB.getBoundingBox( - xCoord - 5, - yCoord - 0, - zCoord - 5, - xCoord + 6, - yCoord + 4, - zCoord + 6 - ); - } - - return bb; - } - - @Override - @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() { - return 65536.0D; - } - - @Override - public long getPower() { - return this.power; - } - - @Override - public long getMaxPower() { - return maxPower; - } - - @Override - public void setPower(long power) { - this.power = power; - } - - @Override - public FluidTank[] getAllTanks() { - return tanks; - } - - @Override - public FluidTank[] getSendingTanks() { - return new FluidTank[] {tanks[1], tanks[2]}; - } - - @Override - public FluidTank[] getReceivingTanks() { - return new FluidTank[] {tanks[0], tanks[3]}; - } - - @Override - public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - if(ID == 0) return new ContainerElectrolyserFluid(player.inventory, this); - return new ContainerElectrolyserMetal(player.inventory, this); - } - - @Override - @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - if(ID == 0) return new GUIElectrolyserFluid(player.inventory, this); - return new GUIElectrolyserMetal(player.inventory, this); - } - - @Override - public void receiveControl(NBTTagCompound data) { } - - @Override - public void receiveControl(EntityPlayer player, NBTTagCompound data) { - - if(data.hasKey("sgm")) FMLNetworkHandler.openGui(player, MainRegistry.instance, 1, worldObj, xCoord, yCoord, zCoord); - if(data.hasKey("sgf")) FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, worldObj, xCoord, yCoord, zCoord); - } - - @Override - public boolean hasPermission(EntityPlayer player) { - return this.isUseableByPlayer(player); - } - - @Override - public boolean canProvideInfo(UpgradeType type, int level, boolean extendedInfo) { - return type == UpgradeType.SPEED || type == UpgradeType.POWER || type == UpgradeType.OVERDRIVE; - } - - @Override - public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo) { - info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_electrolyser)); - if(type == UpgradeType.SPEED) { - info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_DELAY, "-" + (level * 25) + "%")); - info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "+" + (level * 100) + "%")); - } - if(type == UpgradeType.POWER) { - info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "-" + (level * 25) + "%")); - info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_DELAY, "+" + (25) + "%")); - } - if(type == UpgradeType.OVERDRIVE) { - info.add((BobMathUtil.getBlink() ? EnumChatFormatting.RED : EnumChatFormatting.DARK_GRAY) + "YES"); - } - } - - @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - if(type == UpgradeType.POWER) return 3; - if(type == UpgradeType.OVERDRIVE) return 3; - return 0; - } -} +package com.hbm.tileentity.machine; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.UpgradeManagerNT; +import com.hbm.inventory.container.ContainerElectrolyserFluid; +import com.hbm.inventory.container.ContainerElectrolyserMetal; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIElectrolyserFluid; +import com.hbm.inventory.gui.GUIElectrolyserMetal; +import com.hbm.inventory.material.MaterialShapes; +import com.hbm.inventory.material.Mats; +import com.hbm.inventory.material.Mats.MaterialStack; +import com.hbm.inventory.recipes.ElectrolyserFluidRecipes; +import com.hbm.inventory.recipes.ElectrolyserFluidRecipes.ElectrolysisRecipe; +import com.hbm.inventory.recipes.ElectrolyserMetalRecipes; +import com.hbm.inventory.recipes.ElectrolyserMetalRecipes.ElectrolysisMetalRecipe; +import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; +import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.*; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.util.BobMathUtil; +import com.hbm.util.CrucibleUtil; +import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; + +import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.fluid.IFluidStandardTransceiver; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityElectrolyser extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IControlReceiver, IGUIProvider, IUpgradeInfoProvider, IFluidCopiable, IMetalCopiable { + + public long power; + public static final long maxPower = 20000000; + public static final int usageOreBase = 10_000; + public static final int usageFluidBase = 10_000; + public int usageOre; + public int usageFluid; + + public int progressFluid; + public int processFluidTime = 100; + public int progressOre; + public int processOreTime = 600; + + public MaterialStack leftStack; + public MaterialStack rightStack; + public int maxMaterial = MaterialShapes.BLOCK.q(16); + + public FluidTank[] tanks; + + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + + public TileEntityElectrolyser() { + //0: Battery + //1-2: Upgrades + //// FLUID + //3-4: Fluid ID + //5-10: Fluid IO + //11-13: Byproducts + //// METAL + //14: Crystal + //15-20: Outputs + super(21); + tanks = new FluidTank[4]; + tanks[0] = new FluidTank(Fluids.WATER, 16000); + tanks[1] = new FluidTank(Fluids.HYDROGEN, 16000); + tanks[2] = new FluidTank(Fluids.OXYGEN, 16000); + tanks[3] = new FluidTank(Fluids.NITRIC_ACID, 16000); + } + + @Override + public int[] getAccessibleSlotsFromSide(int meta) { + return new int[] { 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 }; + } + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemStack) { + if(i == 14) return ElectrolyserMetalRecipes.getRecipe(itemStack) != null; + return false; + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return i != 14; + } + + @Override + public String getName() { + return "container.machineElectrolyser"; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); + this.tanks[0].setType(3, 4, slots); + this.tanks[0].loadTank(5, 6, slots); + this.tanks[1].unloadTank(7, 8, slots); + this.tanks[2].unloadTank(9, 10, slots); + + if(worldObj.getTotalWorldTime() % 20 == 0) { + for(DirPos pos : this.getConPos()) { + this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.trySubscribe(tanks[3].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + + if(tanks[1].getFill() > 0) this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + if(tanks[2].getFill() > 0) this.sendFluid(tanks[2], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + } + + upgradeManager.checkSlots(this, slots, 1, 2); + int speedLevel = upgradeManager.getLevel(UpgradeType.SPEED); + int powerLevel = upgradeManager.getLevel(UpgradeType.POWER); + + usageOre = usageOreBase - usageOreBase * powerLevel / 4 + usageOreBase * speedLevel; + usageFluid = usageFluidBase - usageFluidBase * powerLevel / 4 + usageFluidBase * speedLevel; + + for(int i = 0; i < getCycleCount(); i++) { + if (this.canProcessFluid()) { + this.progressFluid++; + this.power -= this.usageFluid; + + if (this.progressFluid >= this.getDurationFluid()) { + this.processFluids(); + this.progressFluid = 0; + this.markChanged(); + } + } + + if (this.canProcessMetal()) { + this.progressOre++; + this.power -= this.usageOre; + + if (this.progressOre >= this.getDurationMetal()) { + this.processMetal(); + this.progressOre = 0; + this.markChanged(); + } + } + } + + if(this.leftStack != null) { + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); + List toCast = new ArrayList(); + toCast.add(this.leftStack); + + Vec3 impact = Vec3.createVectorHelper(0, 0, 0); + MaterialStack didPour = CrucibleUtil.pourFullStack(worldObj, xCoord + 0.5D + dir.offsetX * 5.875D, yCoord + 2D, zCoord + 0.5D + dir.offsetZ * 5.875D, 6, true, toCast, MaterialShapes.NUGGET.q(3) * Math.max (getCycleCount() * speedLevel, 1), impact); + + if(didPour != null) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "foundry"); + data.setInteger("color", didPour.material.moltenColor); + data.setByte("dir", (byte) dir.ordinal()); + data.setFloat("off", 0.625F); + data.setFloat("base", 0.625F); + data.setFloat("len", Math.max(1F, yCoord - (float) (Math.ceil(impact.yCoord) - 0.875) + 2)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, xCoord + 0.5D + dir.offsetX * 5.875D, yCoord + 2, zCoord + 0.5D + dir.offsetZ * 5.875D), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord + 1, zCoord + 0.5, 50)); + + if(this.leftStack.amount <= 0) this.leftStack = null; + } + } + + if(this.rightStack != null) { + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); + List toCast = new ArrayList(); + toCast.add(this.rightStack); + + Vec3 impact = Vec3.createVectorHelper(0, 0, 0); + MaterialStack didPour = CrucibleUtil.pourFullStack(worldObj, xCoord + 0.5D + dir.offsetX * 5.875D, yCoord + 2D, zCoord + 0.5D + dir.offsetZ * 5.875D, 6, true, toCast, MaterialShapes.NUGGET.q(3) * Math.max (getCycleCount() * speedLevel, 1), impact); + + if(didPour != null) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "foundry"); + data.setInteger("color", didPour.material.moltenColor); + data.setByte("dir", (byte) dir.ordinal()); + data.setFloat("off", 0.625F); + data.setFloat("base", 0.625F); + data.setFloat("len", Math.max(1F, yCoord - (float) (Math.ceil(impact.yCoord) - 0.875) + 2)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, xCoord + 0.5D + dir.offsetX * 5.875D, yCoord + 2, zCoord + 0.5D + dir.offsetZ * 5.875D), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord + 1, zCoord + 0.5, 50)); + + if(this.rightStack.amount <= 0) this.rightStack = null; + } + } + + this.networkPackNT(50); + } + } + + public DirPos[] getConPos() { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + return new DirPos[] { + new DirPos(xCoord - dir.offsetX * 6, yCoord, zCoord - dir.offsetZ * 6, dir.getOpposite()), + new DirPos(xCoord - dir.offsetX * 6 + rot.offsetX, yCoord, zCoord - dir.offsetZ * 6 + rot.offsetZ, dir.getOpposite()), + new DirPos(xCoord - dir.offsetX * 6 - rot.offsetX, yCoord, zCoord - dir.offsetZ * 6 - rot.offsetZ, dir.getOpposite()), + new DirPos(xCoord + dir.offsetX * 6, yCoord, zCoord + dir.offsetZ * 6, dir), + new DirPos(xCoord + dir.offsetX * 6 + rot.offsetX, yCoord, zCoord + dir.offsetZ * 6 + rot.offsetZ, dir), + new DirPos(xCoord + dir.offsetX * 6 - rot.offsetX, yCoord, zCoord + dir.offsetZ * 6 - rot.offsetZ, dir) + }; + } + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(this.power); + buf.writeInt(this.progressFluid); + buf.writeInt(this.progressOre); + buf.writeInt(this.usageOre); + buf.writeInt(this.usageFluid); + buf.writeInt(this.getDurationFluid()); + buf.writeInt(this.getDurationMetal()); + for(int i = 0; i < 4; i++) tanks[i].serialize(buf); + buf.writeBoolean(this.leftStack != null); + buf.writeBoolean(this.rightStack != null); + if(this.leftStack != null) { + buf.writeInt(leftStack.material.id); + buf.writeInt(leftStack.amount); + } + if(this.rightStack != null) { + buf.writeInt(rightStack.material.id); + buf.writeInt(rightStack.amount); + } + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + this.progressFluid = buf.readInt(); + this.progressOre = buf.readInt(); + this.usageOre = buf.readInt(); + this.usageFluid = buf.readInt(); + this.processFluidTime = buf.readInt(); + this.processOreTime = buf.readInt(); + for(int i = 0; i < 4; i++) tanks[i].deserialize(buf); + boolean left = buf.readBoolean(); + boolean right = buf.readBoolean(); + if(left) { + this.leftStack = new MaterialStack(Mats.matById.get(buf.readInt()), buf.readInt()); + } + if(right) { + this.rightStack = new MaterialStack(Mats.matById.get(buf.readInt()), buf.readInt()); + } + } + + public boolean canProcessFluid() { + + if(this.power < usageFluid) return false; + + ElectrolysisRecipe recipe = ElectrolyserFluidRecipes.recipes.get(tanks[0].getTankType()); + + if(recipe == null) return false; + if(recipe.amount > tanks[0].getFill()) return false; + if(recipe.output1.type == tanks[1].getTankType() && recipe.output1.fill + tanks[1].getFill() > tanks[1].getMaxFill()) return false; + if(recipe.output2.type == tanks[2].getTankType() && recipe.output2.fill + tanks[2].getFill() > tanks[2].getMaxFill()) return false; + + if(recipe.byproduct != null) { + + for(int i = 0; i < recipe.byproduct.length; i++) { + ItemStack slot = slots[11 + i]; + ItemStack byproduct = recipe.byproduct[i]; + + if(slot == null) continue; + if(!slot.isItemEqual(byproduct)) return false; + if(slot.stackSize + byproduct.stackSize > slot.getMaxStackSize()) return false; + } + } + + return true; + } + + public void processFluids() { + + ElectrolysisRecipe recipe = ElectrolyserFluidRecipes.recipes.get(tanks[0].getTankType()); + tanks[0].setFill(tanks[0].getFill() - recipe.amount); + tanks[1].setTankType(recipe.output1.type); + tanks[2].setTankType(recipe.output2.type); + tanks[1].setFill(tanks[1].getFill() + recipe.output1.fill); + tanks[2].setFill(tanks[2].getFill() + recipe.output2.fill); + + if(recipe.byproduct != null) { + + for(int i = 0; i < recipe.byproduct.length; i++) { + ItemStack slot = slots[11 + i]; + ItemStack byproduct = recipe.byproduct[i]; + + if(slot == null) { + slots[11 + i] = byproduct.copy(); + } else { + slots[11 + i].stackSize += byproduct.stackSize; + } + } + } + } + + public boolean canProcessMetal() { + + if(slots[14] == null) return false; + if(this.power < usageOre) return false; + if(this.tanks[3].getFill() < 100) return false; + + ElectrolysisMetalRecipe recipe = ElectrolyserMetalRecipes.getRecipe(slots[14]); + if(recipe == null) return false; + + if(leftStack != null && recipe.output1 != null) { + if(recipe.output1.material != leftStack.material) return false; + if(recipe.output1.amount + leftStack.amount > this.maxMaterial) return false; + } + + if(rightStack != null && recipe.output2 != null) { + if(recipe.output2.material != rightStack.material) return false; + if(recipe.output2.amount + rightStack.amount > this.maxMaterial) return false; + } + + if(recipe.byproduct != null) { + + for(int i = 0; i < recipe.byproduct.length; i++) { + ItemStack slot = slots[15 + i]; + ItemStack byproduct = recipe.byproduct[i]; + + if(slot == null) continue; + if(!slot.isItemEqual(byproduct)) return false; + if(slot.stackSize + byproduct.stackSize > slot.getMaxStackSize()) return false; + } + } + + return true; + } + + public void processMetal() { + + ElectrolysisMetalRecipe recipe = ElectrolyserMetalRecipes.getRecipe(slots[14]); + if(recipe.output1 != null) + if(leftStack == null) { + leftStack = new MaterialStack(recipe.output1.material, recipe.output1.amount); + } else { + leftStack.amount += recipe.output1.amount; + } + + if(recipe.output2 != null) + if(rightStack == null ) { + rightStack = new MaterialStack(recipe.output2.material, recipe.output2.amount); + } else { + rightStack.amount += recipe.output2.amount; + } + + if(recipe.byproduct != null) { + + for(int i = 0; i < recipe.byproduct.length; i++) { + ItemStack slot = slots[15 + i]; + ItemStack byproduct = recipe.byproduct[i]; + + if(slot == null) { + slots[15 + i] = byproduct.copy(); + } else { + slots[15 + i].stackSize += byproduct.stackSize; + } + } + } + + this.tanks[3].setFill(this.tanks[3].getFill() - 100); + this.decrStackSize(14, 1); + } + + public int getDurationMetal() { + ElectrolysisMetalRecipe result = ElectrolyserMetalRecipes.getRecipe(slots[14]); + int base = result != null ? result.duration : 600; + int speed = upgradeManager.getLevel(UpgradeType.SPEED) - Math.min(upgradeManager.getLevel(UpgradeType.POWER), 1); + return (int) Math.ceil((base * Math.max(1F - 0.25F * speed, 0.2))); + } + public int getDurationFluid() { + ElectrolysisRecipe result = ElectrolyserFluidRecipes.getRecipe(tanks[0].getTankType()); + int base = result != null ? result.duration : 100; + int speed = upgradeManager.getLevel(UpgradeType.SPEED) - Math.min(upgradeManager.getLevel(UpgradeType.POWER), 1); + return (int) Math.ceil((base * Math.max(1F - 0.25F * speed, 0.2))); + + } + + public int getCycleCount() { + int speed = upgradeManager.getLevel(UpgradeType.OVERDRIVE); + return Math.min(1 + speed * 2, 7); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + this.power = nbt.getLong("power"); + this.progressFluid = nbt.getInteger("progressFluid"); + this.progressOre = nbt.getInteger("progressOre"); + this.processFluidTime = nbt.getInteger("processFluidTime"); + this.processOreTime = nbt.getInteger("processOreTime"); + if(nbt.hasKey("leftType")) this.leftStack = new MaterialStack(Mats.matById.get(nbt.getInteger("leftType")), nbt.getInteger("leftAmount")); + else this.leftStack = null; + if(nbt.hasKey("rightType")) this.rightStack = new MaterialStack(Mats.matById.get(nbt.getInteger("rightType")), nbt.getInteger("rightAmount")); + else this.rightStack = null; + for(int i = 0; i < 4; i++) tanks[i].readFromNBT(nbt, "t" + i); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + nbt.setLong("power", this.power); + nbt.setInteger("progressFluid", this.progressFluid); + nbt.setInteger("progressOre", this.progressOre); + nbt.setInteger("processFluidTime", getDurationFluid()); + nbt.setInteger("processOreTime", getDurationMetal()); + if(this.leftStack != null) { + nbt.setInteger("leftType", leftStack.material.id); + nbt.setInteger("leftAmount", leftStack.amount); + } + if(this.rightStack != null) { + nbt.setInteger("rightType", rightStack.material.id); + nbt.setInteger("rightAmount", rightStack.amount); + } + for(int i = 0; i < 4; i++) tanks[i].writeToNBT(nbt, "t" + i); + + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 5, + yCoord - 0, + zCoord - 5, + xCoord + 6, + yCoord + 4, + zCoord + 6 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override + public long getPower() { + return this.power; + } + + @Override + public long getMaxPower() { + return maxPower; + } + + @Override + public void setPower(long power) { + this.power = power; + } + + @Override + public FluidTank[] getAllTanks() { + return tanks; + } + + @Override + public FluidTank[] getSendingTanks() { + return new FluidTank[] {tanks[1], tanks[2]}; + } + + @Override + public FluidTank[] getReceivingTanks() { + return new FluidTank[] {tanks[0], tanks[3]}; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + if(ID == 0) return new ContainerElectrolyserFluid(player.inventory, this); + return new ContainerElectrolyserMetal(player.inventory, this); + } + + @Override + @SideOnly(Side.CLIENT) + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + if(ID == 0) return new GUIElectrolyserFluid(player.inventory, this); + return new GUIElectrolyserMetal(player.inventory, this); + } + + @Override + public void receiveControl(NBTTagCompound data) { } + + @Override + public void receiveControl(EntityPlayer player, NBTTagCompound data) { + + if(data.hasKey("sgm")) FMLNetworkHandler.openGui(player, MainRegistry.instance, 1, worldObj, xCoord, yCoord, zCoord); + if(data.hasKey("sgf")) FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, worldObj, xCoord, yCoord, zCoord); + } + + @Override + public boolean hasPermission(EntityPlayer player) { + return this.isUseableByPlayer(player); + } + + @Override + public boolean canProvideInfo(UpgradeType type, int level, boolean extendedInfo) { + return type == UpgradeType.SPEED || type == UpgradeType.POWER || type == UpgradeType.OVERDRIVE; + } + + @Override + public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo) { + info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_electrolyser)); + if(type == UpgradeType.SPEED) { + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_DELAY, "-" + (level * 25) + "%")); + info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "+" + (level * 100) + "%")); + } + if(type == UpgradeType.POWER) { + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "-" + (level * 25) + "%")); + info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_DELAY, "+" + (25) + "%")); + } + if(type == UpgradeType.OVERDRIVE) { + info.add((BobMathUtil.getBlink() ? EnumChatFormatting.RED : EnumChatFormatting.DARK_GRAY) + "YES"); + } + } + + @Override + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.POWER, 3); + upgrades.put(UpgradeType.OVERDRIVE, 3); + return upgrades; + } + + @Override + public FluidTank getTankToPaste() { + return tanks[0]; + } + + @Override + public NBTTagCompound getSettings(World world, int x, int y, int z) { + NBTTagCompound tag = new NBTTagCompound(); + if(getFluidIDToCopy().length > 0) + tag.setIntArray("fluidID", getFluidIDToCopy()); + if(getMatsToCopy().length > 0) + tag.setIntArray("matFilter", getMatsToCopy()); + return tag; + } + + @Override + public void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + IFluidCopiable.super.pasteSettings(nbt, index, world, player, x, y, z); + } + + @Override + public String[] infoForDisplay(World world, int x, int y, int z) { + ArrayList names = new ArrayList<>(); + int[] fluidIDs = getFluidIDToCopy(); + int[] matIDs = getMatsToCopy(); + + for (int fluidID : fluidIDs) { + names.add(Fluids.fromID(fluidID).getUnlocalizedName()); + } + for (int matID : matIDs) { + names.add(Mats.matById.get(matID).getUnlocalizedName()); + } + + return names.toArray(new String[0]); + } + + @Override + public int[] getMatsToCopy() { + ArrayList types = new ArrayList<>(); + if(leftStack != null) types.add(leftStack.material.id); + if(rightStack != null) types.add(rightStack.material.id); + return BobMathUtil.intCollectionToArray(types); + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFEL.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFEL.java index 5867f36d2..e7f1e3858 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFEL.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFEL.java @@ -26,7 +26,6 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; @@ -313,7 +312,7 @@ public class TileEntityFEL extends TileEntityMachineBase implements IEnergyRecei @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIFEL(player.inventory, this); } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java b/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java index 417c24894..26e1cbc47 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java @@ -1,14 +1,18 @@ package com.hbm.tileentity.machine; +import java.io.IOException; import java.util.ArrayList; import java.util.List; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; import com.hbm.inventory.container.ContainerForceField; import com.hbm.inventory.gui.GUIForceField; import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.TEFFPacket; +import com.hbm.packet.toclient.TEFFPacket; +import com.hbm.tileentity.IConfigurableMachine; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; @@ -17,7 +21,6 @@ import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; @@ -31,10 +34,10 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityForceField extends TileEntityLoadedBase implements ISidedInventory, IEnergyReceiverMK2, IGUIProvider { +public class TileEntityForceField extends TileEntityLoadedBase implements ISidedInventory, IEnergyReceiverMK2, IGUIProvider, IConfigurableMachine { private ItemStack slots[]; - + public int health = 100; public int maxHealth = 100; public long power; @@ -44,17 +47,55 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided public float radius = 16; public boolean isOn = false; public int color = 0x0000FF; - public final int baseCon = 1000; - public final int radCon = 500; - public final int shCon = 250; - public static final long maxPower = 1000000; - + public static int baseCon = 1000; + public static int radCon = 500; + public static int shCon = 250; + public static long maxPower = 1000000; + private static final int[] slots_top = new int[] {0}; private static final int[] slots_bottom = new int[] {0}; private static final int[] slots_side = new int[] {0}; - + private String customName; - + + // config options stuff. + public static int baseRadius = 16; + public static int radUpgrade = 16; + public static int shUpgrade = 50; + public static double cooldownModif = 1; + public static double healthRegenModif = 1; + + @Override + public String getConfigName() { + return "forcefield"; + } + + @Override + public void readIfPresent(JsonObject obj) { + maxPower = IConfigurableMachine.grab(obj, "L:powerCap", maxPower); + baseCon = IConfigurableMachine.grab(obj, "I:baseConsumption", baseCon); + radCon = IConfigurableMachine.grab(obj, "I:radiusConsumption", radCon); + shCon = IConfigurableMachine.grab(obj, "I:shieldConsumption", shCon); + baseRadius = IConfigurableMachine.grab(obj, "I:baseRadius", baseRadius); + radUpgrade = IConfigurableMachine.grab(obj, "I:radiusUpgrade", radUpgrade); + shUpgrade = IConfigurableMachine.grab(obj, "I:shieldUpgrade", shUpgrade); + cooldownModif = IConfigurableMachine.grab(obj, "D:cooldownModifier", cooldownModif); + healthRegenModif = IConfigurableMachine.grab(obj, "D:healthRegenModifier", healthRegenModif); + } + + @Override + public void writeConfig(JsonWriter writer) throws IOException { + writer.name("L:powerCap").value(maxPower); + writer.name("I:baseConsumption").value(baseCon); + writer.name("I:radiusConsumption").value(radCon); + writer.name("I:shieldConsumption").value(shCon); + writer.name("I:baseRadius").value(baseRadius); + writer.name("I:radiusUpgrade").value(radUpgrade); + writer.name("I:shieldUpgrade").value(shUpgrade); + writer.name("D:cooldownModifier").value(cooldownModif); + writer.name("D:healthRegenModifier").value(healthRegenModif); + } + public TileEntityForceField() { slots = new ItemStack[3]; } @@ -99,9 +140,10 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided public boolean hasCustomInventoryName() { return this.customName != null && this.customName.length() > 0; } - + public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -118,7 +160,7 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64; } } - + //You scrubs aren't needed for anything (right now) @Override public void openInventory() {} @@ -130,13 +172,13 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided if(i == 0) if(itemStack.getItem() instanceof IBatteryItem) return true; - + if(i == 1) return true; - + return false; } - + @Override public ItemStack decrStackSize(int i, int j) { if(slots[i] != null) @@ -152,18 +194,18 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided { slots[i] = null; } - + return itemStack1; } else { return null; } } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); NBTTagList list = nbt.getTagList("items", 10); - + this.power = nbt.getLong("powerTime"); this.health = nbt.getInteger("health"); this.maxHealth = nbt.getInteger("maxHealth"); @@ -171,9 +213,9 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided this.blink = nbt.getInteger("blink"); this.radius = nbt.getFloat("radius"); this.isOn = nbt.getBoolean("isOn"); - + slots = new ItemStack[getSizeInventory()]; - + for(int i = 0; i < list.tagCount(); i++) { NBTTagCompound nbt1 = list.getCompoundTagAt(i); @@ -183,8 +225,10 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -195,9 +239,9 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided nbt.setInteger("blink", blink); nbt.setFloat("radius", radius); nbt.setBoolean("isOn", isOn); - + NBTTagList list = new NBTTagList(); - + for(int i = 0; i < slots.length; i++) { if(slots[i] != null) @@ -209,8 +253,12 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } - + @Override public int[] getAccessibleSlotsFromSide(int p_94128_1_) { @@ -226,41 +274,41 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided public boolean canExtractItem(int i, ItemStack itemStack, int j) { return false; } - + public int getHealthScaled(int i) { return (health * i) / maxHealth; } - + public long getPowerScaled(long i) { return (power * i) / maxPower; } - + @Override public void updateEntity() { if(!worldObj.isRemote) { - + updateConnections(); - + int rStack = 0; int hStack = 0; - radius = 16; + radius = baseRadius; maxHealth = 100; - + if(slots[1] != null && slots[1].getItem() == ModItems.upgrade_radius) { rStack = slots[1].stackSize; - radius += rStack * 16; + radius += rStack * radUpgrade; } - + if(slots[2] != null && slots[2].getItem() == ModItems.upgrade_health) { hStack = slots[2].stackSize; - maxHealth += hStack * 50; + maxHealth += hStack * shUpgrade; } - - this.powerCons = this.baseCon + rStack * this.radCon + hStack * this.shCon; - + + this.powerCons = baseCon + rStack * radCon + hStack * shCon; + power = Library.chargeTEFromItems(slots, 0, power, maxPower); - + if(blink > 0) { blink--; color = 0xFF0000; @@ -268,20 +316,20 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided color = 0x00FF00; } } - + if(cooldown > 0) { cooldown--; } else { if(health < maxHealth) - health += maxHealth / 100; - + health += (maxHealth / 100) * healthRegenModif; + if(health > maxHealth) health = maxHealth; } - + if(isOn && cooldown == 0 && health > 0 && power >= powerCons) { doField(radius); - + if(!worldObj.isRemote) { power -= powerCons; } @@ -294,34 +342,34 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided if(power < powerCons) power = 0; } - + if(!worldObj.isRemote) { PacketDispatcher.wrapper.sendToAllAround(new TEFFPacket(xCoord, yCoord, zCoord, radius, health, maxHealth, (int) power, isOn, color, cooldown), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 500)); } } - + private int impact(Entity e) { - + double mass = e.height * e.width * e.width; double speed = getMotionWithFallback(e); return (int)(mass * speed * 50); } - + private void damage(int ouch) { health -= ouch; - + if(ouch >= (this.maxHealth / 250)) blink = 5; - + if(health <= 0) { health = 0; - cooldown = (int) (100 + radius); + cooldown = (int) (100 + radius * (float)cooldownModif); } } List outside = new ArrayList(); List inside = new ArrayList(); - + private void doField(float rad) { List oLegacy = new ArrayList(outside); @@ -329,18 +377,18 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided outside.clear(); inside.clear(); - + List list = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(xCoord + 0.5 - (rad + 25), yCoord + 0.5 - (rad + 25), zCoord + 0.5 - (rad + 25), xCoord + 0.5 + (rad + 25), yCoord + 0.5 + (rad + 25), zCoord + 0.5 + (rad + 25))); - + for(Object o : list) { - + if(o instanceof Entity && !(o instanceof EntityPlayer)) { Entity entity = (Entity)o; - + double dist = Math.sqrt(Math.pow(xCoord + 0.5 - entity.posX, 2) + Math.pow(yCoord + 0.5 - entity.posY, 2) + Math.pow(zCoord + 0.5 - entity.posZ, 2)); - + boolean out = dist > rad; - + //if the entity has not been registered yet if(!oLegacy.contains(entity) && !iLegacy.contains(entity)) { if(out) { @@ -348,21 +396,21 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided } else { inside.add(entity); } - + //if the entity has been detected before } else { - + //if the entity has crossed inwards if(oLegacy.contains(entity) && !out) { Vec3 vec = Vec3.createVectorHelper(xCoord + 0.5 - entity.posX, yCoord + 0.5 - entity.posY, zCoord + 0.5 - entity.posZ); vec = vec.normalize(); - + double mx = -vec.xCoord * (rad + 1); double my = -vec.yCoord * (rad + 1); double mz = -vec.zCoord * (rad + 1); - + entity.setLocationAndAngles(xCoord + 0.5 + mx, yCoord + 0.5 + my, zCoord + 0.5 + mz, 0, 0); - + double mo = Math.sqrt(Math.pow(entity.motionX, 2) + Math.pow(entity.motionY, 2) + Math.pow(entity.motionZ, 2)); entity.motionX = vec.xCoord * -mo; @@ -375,24 +423,24 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided worldObj.playSoundAtEntity(entity, "hbm:weapon.sparkShoot", 2.5F, 1.0F); outside.add(entity); - + if(!worldObj.isRemote) { this.damage(this.impact(entity)); } - + } else - + //if the entity has crossed outwards if(iLegacy.contains(entity) && out) { Vec3 vec = Vec3.createVectorHelper(xCoord + 0.5 - entity.posX, yCoord + 0.5 - entity.posY, zCoord + 0.5 - entity.posZ); vec = vec.normalize(); - + double mx = -vec.xCoord * (rad - 1); double my = -vec.yCoord * (rad - 1); double mz = -vec.zCoord * (rad - 1); entity.setLocationAndAngles(xCoord + 0.5 + mx, yCoord + 0.5 + my, zCoord + 0.5 + mz, 0, 0); - + double mo = Math.sqrt(Math.pow(entity.motionX, 2) + Math.pow(entity.motionY, 2) + Math.pow(entity.motionZ, 2)); entity.motionX = vec.xCoord * mo; @@ -405,13 +453,13 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided worldObj.playSoundAtEntity(entity, "hbm:weapon.sparkShoot", 2.5F, 1.0F); inside.add(entity); - + if(!worldObj.isRemote) { this.damage(this.impact(entity)); } - + } else { - + if(out) { outside.add(entity); } else { @@ -422,7 +470,7 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided } } } - + private double getMotionWithFallback(Entity e) { Vec3 v1 = Vec3.createVectorHelper(e.motionX, e.motionY, e.motionZ); @@ -430,13 +478,13 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided double s1 = v1.lengthVector(); double s2 = v2.lengthVector(); - + if(s1 == 0) return s2; - + if(s2 == 0) return s1; - + return Math.min(s1, s2); } @@ -449,7 +497,7 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided @Override public long getPower() { return power; - + } @Override @@ -461,7 +509,7 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided public boolean canConnect(ForgeDirection dir) { return dir != ForgeDirection.UP && dir != ForgeDirection.UNKNOWN; } - + private void updateConnections() { this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord, Library.POS_X); this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord, Library.NEG_X); @@ -474,7 +522,7 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() @@ -489,7 +537,7 @@ public class TileEntityForceField extends TileEntityLoadedBase implements ISided @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIForceField(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryBase.java index 9d522c1c0..5c5b8969c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryBase.java @@ -1,15 +1,17 @@ package com.hbm.tileentity.machine; +import com.hbm.interfaces.ICopiable; import com.hbm.inventory.material.Mats; import com.hbm.inventory.material.NTMMaterial; import com.hbm.inventory.material.Mats.MaterialStack; import api.hbm.block.ICrucibleAcceptor; +import com.hbm.tileentity.TileEntityLoadedBase; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; -import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -19,25 +21,25 @@ import net.minecraftforge.common.util.ForgeDirection; * @author hbm * */ -public abstract class TileEntityFoundryBase extends TileEntity implements ICrucibleAcceptor { - +public abstract class TileEntityFoundryBase extends TileEntityLoadedBase implements ICrucibleAcceptor, ICopiable { + public NTMMaterial type; protected NTMMaterial lastType; public int amount; protected int lastAmount; - + @Override public void updateEntity() { - + if(worldObj.isRemote) { - + if(shouldClientReRender() && this.lastType != this.type || this.lastAmount != this.amount) { worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); this.lastType = this.type; this.lastAmount = this.amount; } } else { - + if(this.lastType != this.type || this.lastAmount != this.amount) { worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); this.lastType = this.type; @@ -45,7 +47,7 @@ public abstract class TileEntityFoundryBase extends TileEntity implements ICruci } } } - + /** Recommended FALSE for things that update a whole lot. TRUE if updates only happen once every few ticks. */ protected boolean shouldClientReRender() { return true; @@ -57,7 +59,7 @@ public abstract class TileEntityFoundryBase extends TileEntity implements ICruci this.writeToNBT(nbt); return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); } - + @Override public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { this.readFromNBT(pkt.func_148857_g()); @@ -73,18 +75,18 @@ public abstract class TileEntityFoundryBase extends TileEntity implements ICruci @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + if(this.type == null) { nbt.setInteger("type", -1); } else { nbt.setInteger("type", this.type.id); } - + nbt.setInteger("amount", this.amount); } - + public abstract int getCapacity(); - + /** * Standard check for testing if this material stack can be added to the casting block. Checks:
* - type matching
@@ -95,7 +97,7 @@ public abstract class TileEntityFoundryBase extends TileEntity implements ICruci if(this.amount >= this.getCapacity()) return false; //reject if the buffer is already full return true; } - + /** * Standardized adding of material via pouring or flowing. Does:
* - sets material to match the input @@ -104,17 +106,17 @@ public abstract class TileEntityFoundryBase extends TileEntity implements ICruci */ public MaterialStack standardAdd(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { this.type = stack.material; - + if(stack.amount + this.amount <= this.getCapacity()) { this.amount += stack.amount; return null; } - + int required = this.getCapacity() - this.amount; this.amount = this.getCapacity(); - + stack.amount -= required; - + return stack; } @@ -123,7 +125,7 @@ public abstract class TileEntityFoundryBase extends TileEntity implements ICruci public boolean canAcceptPartialFlow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { return this.standardCheck(world, x, y, z, side, stack); } - + /** Standard flow, no special handling required */ @Override public MaterialStack flow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { @@ -142,4 +144,16 @@ public abstract class TileEntityFoundryBase extends TileEntity implements ICruci public MaterialStack pour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, MaterialStack stack) { return standardAdd(world, x, y, z, side, stack); } + + @Override + public NBTTagCompound getSettings(World world, int x, int y, int z) { + NBTTagCompound nbt = new NBTTagCompound(); + if(type != null) nbt.setIntArray("matFilter", new int[]{ type.id }); + return nbt; + } + + @Override + public void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryChannel.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryChannel.java index 3156aada3..d20e8acb0 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryChannel.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryChannel.java @@ -6,23 +6,39 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.inventory.material.MaterialShapes; +import com.hbm.inventory.material.Mats; import com.hbm.inventory.material.Mats.MaterialStack; +import com.hbm.inventory.material.NTMMaterial; import api.hbm.block.ICrucibleAcceptor; import net.minecraft.block.Block; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public class TileEntityFoundryChannel extends TileEntityFoundryBase { public int nextUpdate; public int lastFlow = 0; + + protected NTMMaterial neighborType; + protected boolean hasCheckedNeighbors; + protected int unpropagateTime; @Override public void updateEntity() { if(!worldObj.isRemote) { + + // Initialise before allowing pours, so newly added channels will avoid causing clog feeds + if(!hasCheckedNeighbors) { + List visited = new ArrayList(); + visited.add(this); + + neighborType = checkNeighbors(visited); + hasCheckedNeighbors = true; + } if(this.type == null && this.amount != 0) { this.amount = 0; @@ -35,7 +51,7 @@ public class TileEntityFoundryChannel extends TileEntityFoundryBase { boolean hasOp = false; nextUpdate = 5; - List ints = new ArrayList() {{ add(2); add(3); add(4); add(5); }}; + List ints = new ArrayList() {{ add(2); add(3); add(4); add(5); }}; Collections.shuffle(ints); if(lastFlow > 0) { ints.remove((Integer) this.lastFlow); @@ -54,6 +70,8 @@ public class TileEntityFoundryChannel extends TileEntityFoundryBase { if(left == null) { this.type = null; this.amount = 0; + + propagateMaterial(null); } else { this.amount = left.amount; } @@ -98,10 +116,19 @@ public class TileEntityFoundryChannel extends TileEntityFoundryBase { } } } + + if(neighborType != null && amount == 0) unpropagateTime++; + + // every 5 seconds do a unprop test, will only occur once per contiguous channel per 5 seconds due to the timer getting updated in all channels from the prop + if(unpropagateTime > 100) { + propagateMaterial(null); + } if(this.amount == 0) { this.lastFlow = 0; this.nextUpdate = 5; + } else { + unpropagateTime = 0; } } @@ -117,11 +144,95 @@ public class TileEntityFoundryChannel extends TileEntityFoundryBase { public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); this.lastFlow = nbt.getByte("flow"); + this.neighborType = Mats.matById.get(nbt.getInteger("nType")); + this.hasCheckedNeighbors = nbt.getBoolean("init"); } @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setByte("flow", (byte) this.lastFlow); + nbt.setInteger("nType", this.neighborType != null ? this.neighborType.id : -1); + nbt.setBoolean("init", hasCheckedNeighbors); } + + /** + * Channels accept pouring as normal, except when neighbor channels already have material. + * This prevents a contiguous channel from having multiple different types of material in it, causing clogs. + * If you connect two channels that have different materials already in them, god help you (nah jokes it'll just be clogged until you fix manually) + */ + @Override + public boolean canAcceptPartialPour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, MaterialStack stack) { + if(!hasCheckedNeighbors || (neighborType != null && neighborType != stack.material)) return false; + return super.canAcceptPartialPour(world, x, y, z, dX, dY, dZ, side, stack); + } + + /** Upon pouring, propagate the current material type along contiguous channels */ + @Override + public MaterialStack pour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, MaterialStack stack) { + propagateMaterial(stack.material); + return super.pour(world, x, y, z, dX, dY, dZ, side, stack); + } + + public void propagateMaterial(NTMMaterial propType) { + if(propType != null && neighborType != null) return; // optimise away any pours that change nothing + + List visited = new ArrayList(); + visited.add(this); + + boolean hasMaterial = propagateMaterial(propType, visited, false); + + // since we are now fully clear, it's safe to unassign the contiguous channel type + if(propType == null && !hasMaterial) { + for(TileEntityFoundryChannel acc : visited) { + acc.neighborType = null; + } + } + } + + protected boolean propagateMaterial(NTMMaterial propType, List visited, boolean hasMaterial) { + // if emptying, don't mark the channel as ready for a new material until it is entirely clear + if(propType != null) { + neighborType = propType; + } else { + // and when empty testing, update the last unpropagate time + unpropagateTime = 0; + } + + for(ForgeDirection dir : new ForgeDirection[] { ForgeDirection.NORTH, ForgeDirection.SOUTH, ForgeDirection.WEST, ForgeDirection.EAST }) { + TileEntity b = worldObj.getTileEntity(xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ); + + if(b instanceof TileEntityFoundryChannel && !visited.contains(b)) { + TileEntityFoundryChannel acc = (TileEntityFoundryChannel) b; + visited.add(acc); + + if(acc.amount > 0) hasMaterial = true; + + hasMaterial = acc.propagateMaterial(propType, visited, hasMaterial); + } + } + + return hasMaterial; + } + + protected NTMMaterial checkNeighbors(List visited) { + if(neighborType != null) return neighborType; + + for(ForgeDirection dir : new ForgeDirection[] { ForgeDirection.NORTH, ForgeDirection.SOUTH, ForgeDirection.WEST, ForgeDirection.EAST }) { + TileEntity b = worldObj.getTileEntity(xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ); + + if(b instanceof TileEntityFoundryChannel && !visited.contains(b)) { + TileEntityFoundryChannel acc = (TileEntityFoundryChannel) b; + visited.add(acc); + + NTMMaterial neighborMaterial = acc.checkNeighbors(visited); + + // immediately propagate backwards if a material is found + if(neighborMaterial != null) return neighborMaterial; + } + } + + return null; + } + } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryOutlet.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryOutlet.java index 1414283fe..1ee355a75 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryOutlet.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryOutlet.java @@ -1,21 +1,24 @@ package com.hbm.tileentity.machine; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.material.Mats; import com.hbm.inventory.material.Mats.MaterialStack; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.inventory.material.NTMMaterial; import com.hbm.util.CrucibleUtil; import api.hbm.block.ICrucibleAcceptor; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityFoundryOutlet extends TileEntityFoundryBase { +import java.util.ArrayList; + +public class TileEntityFoundryOutlet extends TileEntityFoundryBase{ public NTMMaterial filter = null; public NTMMaterial lastFilter = null; @@ -24,16 +27,16 @@ public class TileEntityFoundryOutlet extends TileEntityFoundryBase { /** inverts redstone behavior, i.e. when TRUE, the outlet will be blocked by default and only open with redstone */ public boolean invertRedstone = false; public boolean lastClosed = false; - + /** if TRUE, prevents all fluids from flowing through the outlet and renders a small barrier */ public boolean isClosed() { return invertRedstone ^ this.worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord); } - + @Override public void updateEntity() { super.updateEntity(); - + if(worldObj.isRemote) { boolean isClosed = isClosed(); if(this.lastClosed != isClosed || this.filter != this.lastFilter) { @@ -46,47 +49,47 @@ public class TileEntityFoundryOutlet extends TileEntityFoundryBase { @Override public boolean canAcceptPartialPour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, MaterialStack stack) { return false; } @Override public MaterialStack pour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, MaterialStack stack) { return stack; } - + @Override public boolean canAcceptPartialFlow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { - + if(filter != null && (filter != stack.material ^ invertFilter)) return false; if(isClosed()) return false; if(side != ForgeDirection.getOrientation(this.getBlockMetadata()).getOpposite()) return false; - + Vec3 start = Vec3.createVectorHelper(x + 0.5, y - 0.125, z + 0.5); Vec3 end = Vec3.createVectorHelper(x + 0.5, y + 0.125 - 4, z + 0.5); - + MovingObjectPosition[] mop = new MovingObjectPosition[1]; ICrucibleAcceptor acc = CrucibleUtil.getPouringTarget(world, start, end, mop); - + if(acc == null) { return false; } - + return acc.canAcceptPartialPour(world, mop[0].blockX, mop[0].blockY, mop[0].blockZ, mop[0].hitVec.xCoord, mop[0].hitVec.yCoord, mop[0].hitVec.zCoord, ForgeDirection.UP, stack); } - + @Override public MaterialStack flow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { - + Vec3 start = Vec3.createVectorHelper(x + 0.5, y - 0.125, z + 0.5); Vec3 end = Vec3.createVectorHelper(x + 0.5, y + 0.125 - 4, z + 0.5); - + MovingObjectPosition[] mop = new MovingObjectPosition[1]; ICrucibleAcceptor acc = CrucibleUtil.getPouringTarget(world, start, end, mop); - + if(acc == null) return stack; - + MaterialStack didPour = acc.pour(world, mop[0].blockX, mop[0].blockY, mop[0].blockZ, mop[0].hitVec.xCoord, mop[0].hitVec.yCoord, mop[0].hitVec.zCoord, ForgeDirection.UP, stack); - + if(stack != null) { - + ForgeDirection dir = side.getOpposite(); double hitY = mop[0].blockY + 1; - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "foundry"); data.setInteger("color", stack.material.moltenColor); @@ -94,10 +97,10 @@ public class TileEntityFoundryOutlet extends TileEntityFoundryBase { data.setFloat("off", 0.375F); data.setFloat("base", 0F); data.setFloat("len", Math.max(1F, yCoord - (float) (Math.ceil(hitY) - 0.875))); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, xCoord + 0.5D - dir.offsetX * 0.125, yCoord + 0.125, zCoord + 0.5D - dir.offsetZ * 0.125), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord, zCoord + 0.5, 50)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, xCoord + 0.5D - dir.offsetX * 0.125, yCoord + 0.125, zCoord + 0.5D - dir.offsetZ * 0.125), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord, zCoord + 0.5, 50)); + } - + return didPour; } @@ -121,4 +124,39 @@ public class TileEntityFoundryOutlet extends TileEntityFoundryBase { nbt.setBoolean("invertFilter", this.invertFilter); nbt.setShort("filter", this.filter == null ? -1 : (short) this.filter.id); } + + @Override + public NBTTagCompound getSettings(World world, int x, int y, int z) { + NBTTagCompound nbt = new NBTTagCompound(); + + nbt.setBoolean("invert", this.invertRedstone); + nbt.setBoolean("invertFilter", this.invertFilter); + if(filter != null){ + nbt.setIntArray("matFilter", new int[]{ filter.id }); + } + + return nbt; + } + + @Override + public void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + + if(nbt.hasKey("invert")) this.invertRedstone = nbt.getBoolean("invert"); + if(nbt.hasKey("invertFilter")) this.invertFilter = nbt.getBoolean("invertFilter"); + if(nbt.hasKey("matFilter")) { + int[] ids = nbt.getIntArray("matFilter"); + if(ids.length > 0 && index < ids.length) + this.filter = Mats.matById.get(ids[index]); + } + + } + + @Override + public String[] infoForDisplay(World world, int x, int y, int z) { + ArrayList info = new ArrayList<>(); + info.add("copytool.invertRedstone"); + info.add("copytool.invertFilter"); + if (filter != null) info.add(filter.getUnlocalizedName()); + return info.toArray(new String[0]); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundrySlagtap.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundrySlagtap.java index ba297333f..8173293eb 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundrySlagtap.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundrySlagtap.java @@ -2,9 +2,9 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockDynamicSlag.TileEntitySlag; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.material.Mats.MaterialStack; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.util.Compat; import api.hbm.block.ICrucibleAcceptor; @@ -17,7 +17,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public class TileEntityFoundrySlagtap extends TileEntityFoundryOutlet implements ICrucibleAcceptor { - + @Override public boolean canAcceptPartialFlow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { if(filter != null && (filter != stack.material ^ invertFilter)) return false; @@ -26,37 +26,37 @@ public class TileEntityFoundrySlagtap extends TileEntityFoundryOutlet implements Vec3 start = Vec3.createVectorHelper(x + 0.5, y - 0.125, z + 0.5); Vec3 end = Vec3.createVectorHelper(x + 0.5, y + 0.125 - 15, z + 0.5); - + MovingObjectPosition mop = world.func_147447_a(start, end, true, true, true); - + if(mop == null || mop.typeOfHit != mop.typeOfHit.BLOCK) { return false; } - + return true; } - + @Override public MaterialStack flow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { - + if(stack == null || stack.material == null || stack.amount <= 0) { return null; } Vec3 start = Vec3.createVectorHelper(x + 0.5, y - 0.125, z + 0.5); Vec3 end = Vec3.createVectorHelper(x + 0.5, y + 0.125 - 15, z + 0.5); - + MovingObjectPosition mop = world.func_147447_a(start, end, true, true, true); - + if(mop == null || mop.typeOfHit != mop.typeOfHit.BLOCK) { return null; } Block hit = world.getBlock(mop.blockX, mop.blockY, mop.blockZ); Block above = world.getBlock(mop.blockX, mop.blockY + 1, mop.blockZ); - + boolean didFlow = false; - + if(hit == ModBlocks.slag) { TileEntitySlag tile = (TileEntitySlag) Compat.getTileStandard(world, mop.blockX, mop.blockY, mop.blockZ); if(tile.mat == stack.material) { @@ -78,7 +78,7 @@ public class TileEntityFoundrySlagtap extends TileEntityFoundryOutlet implements world.markBlockForUpdate(mop.blockX, mop.blockY, mop.blockZ); world.scheduleBlockUpdate(mop.blockX, mop.blockY, mop.blockZ, ModBlocks.slag, 1); } - + if(stack.amount > 0 && above.isReplaceable(world, mop.blockX, mop.blockY + 1, mop.blockZ)) { world.setBlock(mop.blockX, mop.blockY + 1, mop.blockZ, ModBlocks.slag); TileEntitySlag tile = (TileEntitySlag) Compat.getTileStandard(world, mop.blockX, mop.blockY + 1, mop.blockZ); @@ -90,11 +90,11 @@ public class TileEntityFoundrySlagtap extends TileEntityFoundryOutlet implements world.markBlockForUpdate(mop.blockX, mop.blockY + 1, mop.blockZ); world.scheduleBlockUpdate(mop.blockX, mop.blockY + 1, mop.blockZ, ModBlocks.slag, 1); } - + if(didFlow) { ForgeDirection dir = side.getOpposite(); double hitY = mop.blockY; - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "foundry"); data.setInteger("color", stack.material.moltenColor); @@ -102,13 +102,13 @@ public class TileEntityFoundrySlagtap extends TileEntityFoundryOutlet implements data.setFloat("off", 0.375F); data.setFloat("base", 0F); data.setFloat("len", Math.max(1F, yCoord - (float) (Math.ceil(hitY)))); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, xCoord + 0.5D - dir.offsetX * 0.125, yCoord + 0.125, zCoord + 0.5D - dir.offsetZ * 0.125), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord, zCoord + 0.5, 50)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, xCoord + 0.5D - dir.offsetX * 0.125, yCoord + 0.125, zCoord + 0.5D - dir.offsetZ * 0.125), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord, zCoord + 0.5, 50)); } - + if(stack.amount <= 0) { stack = null; } - + return stack; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceBrick.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceBrick.java index be440a25c..2a87235c9 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceBrick.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceBrick.java @@ -14,7 +14,6 @@ import com.hbm.tileentity.TileEntityMachineBase; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; @@ -228,7 +227,7 @@ public class TileEntityFurnaceBrick extends TileEntityMachineBase implements IGU @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIFurnaceBrick(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java index 2ef8e189e..38dcca45f 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java @@ -10,6 +10,7 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUIFurnaceCombo; import com.hbm.inventory.recipes.CombinationRecipes; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachinePolluting; import com.hbm.util.Tuple.Pair; @@ -19,7 +20,6 @@ import api.hbm.tile.IHeatSource; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; @@ -30,7 +30,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityFurnaceCombination extends TileEntityMachinePolluting implements IFluidStandardSender, IGUIProvider { +public class TileEntityFurnaceCombination extends TileEntityMachinePolluting implements IFluidStandardSender, IGUIProvider, IFluidCopiable { public boolean wasOn; public int progress; @@ -245,7 +245,7 @@ public class TileEntityFurnaceCombination extends TileEntityMachinePolluting imp @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIFurnaceCombo(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceIron.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceIron.java index c85bb845d..ecabdf827 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceIron.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceIron.java @@ -1,11 +1,12 @@ package com.hbm.tileentity.machine; +import java.util.HashMap; import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerFurnaceIron; import com.hbm.inventory.gui.GUIFurnaceIron; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; @@ -13,11 +14,11 @@ import com.hbm.module.ModuleBurnTime; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -29,7 +30,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public class TileEntityFurnaceIron extends TileEntityMachineBase implements IGUIProvider, IUpgradeInfoProvider { - + public int maxBurnTime; public int burnTime; public boolean wasOn = false; @@ -37,12 +38,14 @@ public class TileEntityFurnaceIron extends TileEntityMachineBase implements IGUI public int progress; public int processingTime; public static final int baseTime = 160; - + public ModuleBurnTime burnModule; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public TileEntityFurnaceIron() { super(5); - + burnModule = new ModuleBurnTime() .setLigniteTimeMod(1.25) .setCoalTimeMod(1.25) @@ -59,21 +62,21 @@ public class TileEntityFurnaceIron extends TileEntityMachineBase implements IGUI @Override public void updateEntity() { - + if(!worldObj.isRemote) { - - UpgradeManager.eval(slots, 4, 4); - this.processingTime = baseTime - ((baseTime / 2) * Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3) / 3); - + + upgradeManager.checkSlots(this, slots, 4, 4); + this.processingTime = baseTime - ((baseTime / 2) * upgradeManager.getLevel(UpgradeType.SPEED) / 3); + wasOn = false; - + if(burnTime <= 0) { - + for(int i = 1; i < 3; i++) { if(slots[i] != null) { - + int fuel = burnModule.getBurnTime(slots[i]); - + if(fuel > 0) { this.maxBurnTime = this.burnTime = fuel; slots[i].stackSize--; @@ -81,33 +84,33 @@ public class TileEntityFurnaceIron extends TileEntityMachineBase implements IGUI if(slots[i].stackSize == 0) { slots[i] = slots[i].getItem().getContainerItem(slots[i]); } - + break; } } - } + } } - + if(canSmelt()) { wasOn = true; this.progress++; this.burnTime--; - + if(this.progress % 15 == 0 && !this.muffled) { worldObj.playSoundEffect(xCoord, yCoord, zCoord, "fire.fire", 1.0F, 0.5F + worldObj.rand.nextFloat() * 0.5F); } - + if(this.progress >= this.processingTime) { ItemStack result = FurnaceRecipes.smelting().getSmeltingResult(slots[0]); - + if(slots[3] == null) { slots[3] = result.copy(); } else { slots[3].stackSize += result.stackSize; } - + this.decrStackSize(0, 1); - + this.progress = 0; this.markDirty(); } @@ -115,23 +118,17 @@ public class TileEntityFurnaceIron extends TileEntityMachineBase implements IGUI } else { this.progress = 0; } - - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("maxBurnTime", this.maxBurnTime); - data.setInteger("burnTime", this.burnTime); - data.setInteger("progress", this.progress); - data.setInteger("processingTime", this.processingTime); - data.setBoolean("wasOn", this.wasOn); - this.networkPack(data, 50); + + this.networkPackNT(50); } else { - + if(this.progress > 0) { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + double offset = this.progress % 2 == 0 ? 1 : 0.5; worldObj.spawnParticle("smoke", xCoord + 0.5 - dir.offsetX * offset - rot.offsetX * 0.1875, yCoord + 2, zCoord + 0.5 - dir.offsetZ * offset - rot.offsetZ * 0.1875, 0.0, 0.01, 0.0); - + if(this.progress % 5 == 0) { double rand = worldObj.rand.nextDouble(); worldObj.spawnParticle("flame", xCoord + 0.5 + dir.offsetX * 0.25 + rot.offsetX * rand, yCoord + 0.25 + worldObj.rand.nextDouble() * 0.25, zCoord + 0.5 + dir.offsetZ * 0.25 + rot.offsetZ * rand, 0.0, 0.0, 0.0); @@ -141,32 +138,41 @@ public class TileEntityFurnaceIron extends TileEntityMachineBase implements IGUI } @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.maxBurnTime = nbt.getInteger("maxBurnTime"); - this.burnTime = nbt.getInteger("burnTime"); - this.progress = nbt.getInteger("progress"); - this.processingTime = nbt.getInteger("processingTime"); - this.wasOn = nbt.getBoolean("wasOn"); + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeInt(this.maxBurnTime); + buf.writeInt(this.burnTime); + buf.writeInt(this.progress); + buf.writeInt(this.processingTime); + buf.writeBoolean(this.wasOn); } - + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.maxBurnTime = buf.readInt(); + this.burnTime = buf.readInt(); + this.progress = buf.readInt(); + this.processingTime = buf.readInt(); + this.wasOn = buf.readBoolean(); + } + public boolean canSmelt() { - + if(this.burnTime <= 0) return false; if(slots[0] == null) return false; - + ItemStack result = FurnaceRecipes.smelting().getSmeltingResult(slots[0]); - + if(result == null) return false; if(slots[3] == null) return true; - + if(!result.isItemEqual(slots[3])) return false; if(result.stackSize + slots[3].stackSize > slots[3].getMaxStackSize()) return false; - + return true; } - + @Override public int[] getAccessibleSlotsFromSide(int meta) { return new int[] { 0, 1, 2, 3 }; @@ -174,13 +180,13 @@ public class TileEntityFurnaceIron extends TileEntityMachineBase implements IGUI @Override public boolean isItemValidForSlot(int i, ItemStack itemStack) { - + if(i == 0) return FurnaceRecipes.smelting().getSmeltingResult(itemStack) != null; - + if(i < 3) return burnModule.getBurnTime(itemStack) > 0; - + return false; } @@ -188,7 +194,7 @@ public class TileEntityFurnaceIron extends TileEntityMachineBase implements IGUI public boolean canExtractItem(int i, ItemStack itemStack, int j) { return i == 3; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -197,7 +203,7 @@ public class TileEntityFurnaceIron extends TileEntityMachineBase implements IGUI this.burnTime = nbt.getInteger("burnTime"); this.progress = nbt.getInteger("progress"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -214,15 +220,15 @@ public class TileEntityFurnaceIron extends TileEntityMachineBase implements IGUI @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIFurnaceIron(player.inventory, this); } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -233,10 +239,10 @@ public class TileEntityFurnaceIron extends TileEntityMachineBase implements IGUI zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -257,8 +263,9 @@ public class TileEntityFurnaceIron extends TileEntityMachineBase implements IGUI } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + return upgrades; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceSteel.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceSteel.java index 4d6d7cbab..73a470859 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceSteel.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceSteel.java @@ -8,12 +8,13 @@ import com.hbm.inventory.container.ContainerFurnaceSteel; import com.hbm.inventory.gui.GUIFurnaceSteel; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.BufferUtil; import com.hbm.util.ItemStackUtil; import api.hbm.tile.IHeatSource; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -96,13 +97,9 @@ public class TileEntityFurnaceSteel extends TileEntityMachineBase implements IGU } } - - NBTTagCompound data = new NBTTagCompound(); - data.setIntArray("progress", progress); - data.setIntArray("bonus", bonus); - data.setInteger("heat", heat); - data.setBoolean("wasOn", wasOn); - this.networkPack(data, 50); + + this.networkPackNT(50); + } else { if(this.wasOn) { @@ -122,13 +119,21 @@ public class TileEntityFurnaceSteel extends TileEntityMachineBase implements IGU } @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.progress = nbt.getIntArray("progress"); - this.bonus = nbt.getIntArray("bonus"); - this.heat = nbt.getInteger("heat"); - this.wasOn = nbt.getBoolean("wasOn"); + public void serialize(ByteBuf buf) { + super.serialize(buf); + BufferUtil.writeIntArray(buf, this.progress); + BufferUtil.writeIntArray(buf, this.bonus); + buf.writeInt(this.heat); + buf.writeBoolean(this.wasOn); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.progress = BufferUtil.readIntArray(buf); + this.bonus = BufferUtil.readIntArray(buf); + this.heat = buf.readInt(); + this.wasOn = buf.readBoolean(); } @Override @@ -249,7 +254,7 @@ public class TileEntityFurnaceSteel extends TileEntityMachineBase implements IGU @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIFurnaceSteel(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java b/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java index 4ad991c38..806756011 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java @@ -8,67 +8,67 @@ import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.util.CompatEnergyControl; import com.hbm.util.ContaminationUtil; +import api.hbm.redstoneoverradio.IRORValueProvider; import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityGeiger extends TileEntity implements SimpleComponent, IInfoProviderEC, CompatHandler.OCComponent { - +public class TileEntityGeiger extends TileEntity implements SimpleComponent, IInfoProviderEC, CompatHandler.OCComponent, IRORValueProvider { + int timer = 0; - int ticker = 0; - + float ticker = 0; + @Override public void updateEntity() { - + timer++; - + if(timer == 10) { timer = 0; ticker = check(); + + // To update the adjacent comparators + worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType()); } - + if(timer % 5 == 0) { + if(ticker > 0) { List list = new ArrayList(); - if(ticker < 1) - list.add(0); - if(ticker < 5) - list.add(0); - if(ticker < 10) - list.add(1); - if(ticker > 5 && ticker < 15) - list.add(2); - if(ticker > 10 && ticker < 20) - list.add(3); - if(ticker > 15 && ticker < 25) - list.add(4); - if(ticker > 20 && ticker < 30) - list.add(5); - if(ticker > 25) - list.add(6); - + if(ticker < 1) list.add(0); + if(ticker < 5) list.add(0); + if(ticker < 10) list.add(1); + if(ticker > 5 && ticker < 15) list.add(2); + if(ticker > 10 && ticker < 20) list.add(3); + if(ticker > 15 && ticker < 25) list.add(4); + if(ticker > 20 && ticker < 30) list.add(5); + if(ticker > 25) list.add(6); + int r = list.get(worldObj.rand.nextInt(list.size())); + + if(r > 0) worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:item.geiger" + r, 1.0F, 1.0F); - if(r > 0) - worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:item.geiger" + r, 1.0F, 1.0F); } else if(worldObj.rand.nextInt(50) == 0) { worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:item.geiger"+ (1 + worldObj.rand.nextInt(1)), 1.0F, 1.0F); } } - + } - public int check() { - int rads = (int)Math.ceil(ChunkRadiationManager.proxy.getRadiation(worldObj, xCoord, yCoord, zCoord)); - return rads; + public float check() { + return ChunkRadiationManager.proxy.getRadiation(worldObj, xCoord, yCoord, zCoord); } + @Override @Optional.Method(modid = "OpenComputers") public String getComponentName() { @@ -83,8 +83,33 @@ public class TileEntityGeiger extends TileEntity implements SimpleComponent, IIn @Override public void provideExtraInfo(NBTTagCompound data) { - int rads = check(); + int rads = (int) Math.ceil(ticker); String chunkPrefix = ContaminationUtil.getPreffixFromRad(rads); data.setString(CompatEnergyControl.S_CHUNKRAD, chunkPrefix + rads + " RAD/s"); + + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return AxisAlignedBB.getBoundingBox(xCoord, yCoord, zCoord, xCoord + 1, yCoord + 1, zCoord + 1); + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override + public String[] getFunctionInfo() { + return new String[] { + PREFIX_VALUE + "rad", + }; + } + + @Override + public String provideRORValue(String name) { + if((PREFIX_VALUE + "rad").equals(name)) return "" + (int) Math.ceil(ticker); + return null; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java index 167f550c8..97b020c12 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java @@ -9,14 +9,14 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.BlockHadronCoil; import com.hbm.blocks.machine.BlockHadronPlating; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.container.ContainerHadron; import com.hbm.inventory.gui.GUIHadron; import com.hbm.inventory.recipes.HadronRecipes; import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.tileentity.machine.TileEntityHadronDiode.DiodeConfig; @@ -25,9 +25,9 @@ import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -38,30 +38,30 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public class TileEntityHadron extends TileEntityMachineBase implements IEnergyReceiverMK2, IGUIProvider { - + public long power; public static final long maxPower = 10000000; - + public boolean isOn = false; public boolean analysisOnly = false; public int ioMode = 0; public static final int MODE_DEFAULT = 0; public static final int MODE_HOPPER = 1; public static final int MODE_SINGLE = 2; - + private int delay; public EnumHadronState state = EnumHadronState.IDLE; private static final int delaySuccess = 20; private static final int delayNoResult = 60; private static final int delayError = 100; - + public boolean stat_success = false; public EnumHadronState stat_state = EnumHadronState.IDLE; public int stat_charge = 0; public int stat_x = 0; public int stat_y = 0; public int stat_z = 0; - + public TileEntityHadron() { super(5); } @@ -70,9 +70,9 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe public String getName() { return "container.hadron"; } - + private static final int[] access = new int[] {0, 1, 2, 3}; - + @Override public int[] getAccessibleSlotsFromSide(int side) { return access; @@ -86,33 +86,33 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe @Override public boolean isItemValidForSlot(int i, ItemStack itemStack) { if(i != 0 && i != 1) return false; - + if(this.ioMode == MODE_SINGLE) { return slots[i] == null; } - + //makes sure that equal items like the antimatter capsules are spread out evenly if(slots[0] != null && slots[1] != null && slots[0].getItem() == slots[1].getItem() && slots[0].getItemDamage() == slots[1].getItemDamage()) { if(i == 0) return slots[1].stackSize - slots[0].stackSize >= 0; if(i == 1) return slots[0].stackSize - slots[1].stackSize >= 0; } - + return true; } @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + power = Library.chargeTEFromItems(slots, 4, power, maxPower); drawPower(); particles.addAll(particlesToAdd); particlesToAdd.clear(); - + if(delay <= 0 && this.isOn && particles.size() < maxParticles && slots[0] != null && slots[1] != null && power >= maxPower * 0.75) { - + if(ioMode != MODE_HOPPER || (slots[0].stackSize > 1 && slots[1].stackSize > 1)) { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); particles.add(new Particle(slots[0], slots[1], dir, xCoord, yCoord, zCoord)); @@ -122,20 +122,20 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe this.state = EnumHadronState.PROGRESS; } } - + if(delay > 0) delay--; else if(particles.isEmpty()) { this.state = EnumHadronState.IDLE; } - + if(!particles.isEmpty()) updateParticles(); - + for(Particle p : particlesToRemove) { particles.remove(p); } - + particlesToRemove.clear(); //Sort the virtual particles by momentum, and run through them until we have enough momentum to complete the recipe @@ -156,28 +156,28 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe particlesCompleted.clear(); } - + NBTTagCompound data = new NBTTagCompound(); data.setBoolean("isOn", isOn); data.setLong("power", power); data.setBoolean("analysis", analysisOnly); data.setInteger("ioMode", ioMode); data.setByte("state", (byte) state.ordinal()); - + data.setBoolean("stat_success", stat_success); data.setByte("stat_state", (byte) stat_state.ordinal()); data.setInteger("stat_charge", stat_charge); data.setInteger("stat_x", stat_x); data.setInteger("stat_y", stat_y); data.setInteger("stat_z", stat_z); - this.networkPack(data, 50); + this.networkPackNT(50); } } - + private void process(Particle p, ItemStack[] result) { //Collapse this particle to real by consuming power p.consumePower(); - + if(result == null) { this.state = HadronRecipes.returnCode; this.setStats(this.state, p.momentum, false); @@ -185,27 +185,27 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe worldObj.playSoundEffect(p.posX, p.posY, p.posZ, "random.orb", 2, 0.5F); return; } - + if((slots[2] == null || (slots[2].getItem() == result[0].getItem() && slots[2].stackSize < slots[2].getMaxStackSize())) && (slots[3] == null || (slots[3].getItem() == result[1].getItem() && slots[3].stackSize < slots[3].getMaxStackSize()))) { - + for(int i = 2; i <= 3; i++) { if(slots[i] == null) slots[i] = result[i - 2].copy(); else slots[i].stackSize++; } - + if(result[0].getItem() == ModItems.particle_digamma) { List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) .expand(128, 50, 128)); - + for(EntityPlayer player : players) player.triggerAchievement(MainRegistry.achOmega12); } } - + worldObj.playSoundEffect(p.posX, p.posY, p.posZ, "random.orb", 2, 1F); this.delay = delaySuccess; this.state = EnumHadronState.SUCCESS; @@ -213,26 +213,42 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe } @Override - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - - this.isOn = data.getBoolean("isOn"); - this.power = data.getLong("power"); - this.analysisOnly = data.getBoolean("analysis"); - this.ioMode = data.getInteger("ioMode"); - this.state = EnumHadronState.values()[data.getByte("state")]; + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeBoolean(this.isOn); + buf.writeLong(this.power); + buf.writeBoolean(this.analysisOnly); + buf.writeInt(this.ioMode); + buf.writeByte((byte) this.state.ordinal()); - this.stat_success = data.getBoolean("stat_success"); - this.stat_state = EnumHadronState.values()[data.getByte("stat_state")]; - this.stat_charge = data.getInteger("stat_charge"); - this.stat_x = data.getInteger("stat_x"); - this.stat_y = data.getInteger("stat_y"); - this.stat_z = data.getInteger("stat_z"); + buf.writeBoolean(this.stat_success); + buf.writeByte((byte) this.stat_state.ordinal()); + buf.writeInt(this.stat_charge); + buf.writeInt(this.stat_x); + buf.writeInt(this.stat_y); + buf.writeInt(this.stat_z); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.isOn = buf.readBoolean(); + this.power = buf.readLong(); + this.analysisOnly = buf.readBoolean(); + this.ioMode = buf.readInt(); + this.state = EnumHadronState.values()[buf.readByte()]; + + this.stat_success = buf.readBoolean(); + this.stat_state = EnumHadronState.values()[buf.readByte()]; + this.stat_charge = buf.readInt(); + this.stat_x = buf.readInt(); + this.stat_y = buf.readInt(); + this.stat_z = buf.readInt(); } @Override public void handleButtonPacket(int value, int meta) { - + if(meta == 0) this.isOn = !this.isOn; if(meta == 1) @@ -241,55 +257,55 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe this.ioMode++; if(ioMode > 2) ioMode = 0; } - + this.markChanged(); } - + private void drawPower() { - + for(ForgeDirection dir : getRandomDirs()) { - + if(power == maxPower) return; int x = xCoord + dir.offsetX * 2; int y = yCoord + dir.offsetY * 2; int z = zCoord + dir.offsetZ * 2; - + TileEntity te = worldObj.getTileEntity(x, y, z); - + if(te instanceof TileEntityHadronPower) { - + TileEntityHadronPower plug = (TileEntityHadronPower)te; - + long toDraw = Math.min(maxPower - power, plug.getPower()); this.setPower(power + toDraw); plug.setPower(plug.getPower() - toDraw); } } } - + private void finishParticle(Particle p) { particlesToRemove.add(p); - + if(!p.isExpired()) particlesCompleted.add(p); - + p.expired = true; } - + static final int maxParticles = 1; List particles = new ArrayList(); List particlesToRemove = new ArrayList(); List particlesToAdd = new ArrayList(); List particlesCompleted = new ArrayList(); - + private void updateParticles() { for(Particle particle : particles) { particle.update(); } } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -299,7 +315,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe this.analysisOnly = nbt.getBoolean("analysis"); this.ioMode = nbt.getInteger("ioMode"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -309,7 +325,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe nbt.setBoolean("analysis", analysisOnly); nbt.setInteger("ioMode", ioMode); } - + public int getPowerScaled(int i) { return (int)(power * i / maxPower); } @@ -329,18 +345,18 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe public long getMaxPower() { return maxPower; } - + @Override public boolean canConnect(ForgeDirection dir) { return false; } - + private void setStats(EnumHadronState state, int count, boolean success) { this.stat_state = state; this.stat_charge = count; this.stat_success = success; } - + private void setExpireStats(EnumHadronState state, int count, int x, int y, int z) { this.stat_state = state; this.stat_charge = count; @@ -349,11 +365,11 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe this.stat_z = z; this.stat_success = false; } - + public void expire(Particle particle, EnumHadronState reason) { if(particle.expired) return; - + particle.consumePower(); for(Particle p : particles) { p.expired = true; @@ -368,9 +384,9 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe delay = delayError; setExpireStats(reason, particle.momentum, particle.posX, particle.posY, particle.posZ); } - + public class Particle { - + //Starting values ItemStack item1; ItemStack item2; @@ -378,15 +394,13 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe int posX; int posY; int posZ; - + //Progressing values int momentum; int charge; int analysis; boolean isCheckExempt = false; - int cl0 = 0; - int cl1 = 0; - + boolean expired = false; boolean cloned = false; @@ -398,7 +412,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe //Quantum particles should only traverse a schottky direction ONCE //Keep a list of traversed diodes and directions HashMap> history = new HashMap>(); - + public Particle(ItemStack item1, ItemStack item2, ForgeDirection dir, int posX, int posY, int posZ) { this.item1 = item1.copy(); this.item2 = item2.copy(); @@ -408,7 +422,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe this.posX = posX; this.posY = posY; this.posZ = posZ; - + this.charge = 750; this.momentum = 0; } @@ -420,8 +434,6 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe p.charge = charge; p.analysis = analysis; p.isCheckExempt = isCheckExempt; - p.cl0 = cl0; - p.cl1 = cl1; p.expired = expired; p.plugs = new ArrayList(plugs); p.cloned = true; @@ -434,13 +446,13 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe return p; } - + public boolean isExpired() { return this.expired; } - + public void update() { - + if(expired) //just in case return; @@ -452,35 +464,17 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe } makeSteppy(this); - + if(!this.isExpired()) //only important for when the current segment is the core checkSegment(this); - + isCheckExempt = false; //clearing up the exemption we might have held from the previous turn, AFTER stepping - + if(charge < 0) expire(this, EnumHadronState.ERROR_NO_CHARGE); - - if(cl0 > 0) cl0--; - if(cl1 > 0) cl1--; } - public void incrementCharge(int coilVal) { - //not the best code ever made but it works, dammit - if(cl1 > 0) { - - double mult = 2D - (cl1 - 15D) * (cl1 - 15D) / 225D; - mult = Math.max(mult, 0.1D); - coilVal *= mult; - - } else if(cl0 > 0) { - if(cl0 > 10) { - coilVal *= 0.75; - } else { - coilVal *= 1.10; - } - } - + public void incrementCharge(int coilVal) { this.momentum += coilVal; } @@ -492,53 +486,53 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe } } } - + /** * Moves the particle and does all the checks required to do so * Handles diode entering behavior and whatnot * @param p */ public void makeSteppy(Particle p) { - + ForgeDirection dir = p.dir; p.posX += dir.offsetX; p.posY += dir.offsetY; p.posZ += dir.offsetZ; - + int x = p.posX; int y = p.posY; int z = p.posZ; - + Block block = worldObj.getBlock(x, y, z); TileEntity te = worldObj.getTileEntity(x, y, z); - + if(te instanceof TileEntityHadron) { if(p.analysis != 3) expire(p, EnumHadronState.ERROR_NO_ANALYSIS); else this.finishParticle(p); - + return; } - + if(block.getMaterial() != Material.air && block != ModBlocks.hadron_diode) expire(p, EnumHadronState.ERROR_OBSTRUCTED_CHANNEL); - + if(block == ModBlocks.hadron_diode) p.isCheckExempt = true; - + if(isValidCoil(worldObj.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ))) p.isCheckExempt = true; } - + /** * All the checks done *after* the particle moves one tile * @param p */ public void checkSegment(Particle p) { - + ForgeDirection dir = p.dir; int x = p.posX; int y = p.posY; @@ -549,99 +543,93 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe int dX = 1 - Math.abs(dir.offsetX); int dY = 1 - Math.abs(dir.offsetY); int dZ = 1 - Math.abs(dir.offsetZ); - + //whether the particle has entered an analysis chamber //-> all coils have to be air //-> all platings have to be analysis chamber walls boolean analysis = true; //ensures coolers are useful throughout their initial segment int totalValue = 0; - + for(int a = x - dX * 2; a <= x + dX * 2; a++) { for(int b = y - dY * 2; b <= y + dY * 2; b++) { for(int c = z - dZ * 2; c <= z + dZ * 2;c++) { - + Block block = worldObj.getBlock(a, b, c); - int meta = worldObj.getBlockMetadata(a, b, c); - + /** ignore the center for now */ if(a == x && b == y && c == z) { - + //we are either in a diode or the core - no analysis for you now if(block.getMaterial() != Material.air) analysis = false; - + continue; } int ix = Math.abs(x - a); int iy = Math.abs(y - b); int iz = Math.abs(z - c); - + /** check coils, all abs deltas are 1 or less */ if(ix <= 1 && iy <= 1 && iz <= 1) { - + //are we exempt from the coil examination? nice, skip checks only for inner magnets, not the corners! if(p.isCheckExempt && ix + iy + iz == 1) { continue; } - + //coil is air, analysis can remain true if(block.getMaterial() == Material.air && analysis) { continue; } - + //not air -> not an analysis chamber analysis = false; - + int coilVal = coilValue(block); - + //not a valid coil: kablam! if(!isValidCoil(block)) { expire(p, EnumHadronState.ERROR_EXPECTED_COIL); } else { p.charge -= coilVal; totalValue += coilVal; - - if(block == ModBlocks.hadron_cooler) { - if(meta == 0) p.cl0 += 10; - if(meta == 1) p.cl1 += 5; - } } continue; } - + /** now we check the plating, sum of all local positions being 3 or less gives us the outer plating without corners */ if(ix + iy + iz <= 3) { - + //if the plating is for the analysis chamber, continue no matter what if(isAnalysis(block)) continue; //no analysis chamber -> turn off analysis and proceed analysis = false; - + //a plating? good, continue if(isPlating(block)) continue; - + TileEntity te = worldObj.getTileEntity(a, b, c); - + //power plugs are also ok, might as well succ some energy when passing if(te instanceof TileEntityHadronPower) { - + TileEntityHadronPower plug = (TileEntityHadronPower)te; - + long bit = 10000; //how much HE one "charge point" is int times = (int) (plug.getPower() / bit); //how many charges the plug has to offer - + p.charge += times; p.plugs.add(plug); - + continue; } - + //Are we exempt from checking the plating? skip all the plating blocks where branches could be if(p.isCheckExempt && ix + iy + iz == 2) { continue; @@ -654,22 +642,22 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe } //all errors prior to this point come from bad construction, where exact momentum is irrelevant p.incrementCharge(totalValue); - + if(analysis) { - + p.analysis++; - + //if the analysis chamber is too big, destroy if(p.analysis > 3) expire(p, EnumHadronState.ERROR_ANALYSIS_TOO_LONG); - + if(p.analysis == 2) { //Only pop for the first particle if(this.state != EnumHadronState.ANALYSIS) { this.worldObj.playSoundEffect(p.posX + 0.5, p.posY + 0.5, p.posZ + 0.5, "fireworks.blast", 2.0F, 2F); NBTTagCompound data = new NBTTagCompound(); data.setString("type", "hadron"); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, p.posX + 0.5, p.posY + 0.5, p.posZ + 0.5), new TargetPoint(worldObj.provider.dimensionId, p.posX + 0.5, p.posY + 0.5, p.posZ + 0.5, 25)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, p.posX + 0.5, p.posY + 0.5, p.posZ + 0.5), new TargetPoint(worldObj.provider.dimensionId, p.posX + 0.5, p.posY + 0.5, p.posZ + 0.5, 25)); } this.state = EnumHadronState.ANALYSIS; } @@ -678,7 +666,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe if(this.analysisOnly && p.analysis == 2) { this.finishParticle(p); } - + } else { //if the analysis stops despite being short of 3 steps in the analysis chamber, destroy @@ -686,16 +674,16 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe expire(p, EnumHadronState.ERROR_ANALYSIS_TOO_SHORT); } } - + /** * Checks whether we can go forward or if we might want to do a turn * Handles the better part of the diode behavior * @param p */ public void changeDirection(Particle p) { - + ForgeDirection dir = p.dir; - + int x = p.posX; int y = p.posY; int z = p.posZ; @@ -703,38 +691,38 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe int nx = x + dir.offsetX; int ny = y + dir.offsetY; int nz = z + dir.offsetZ; - + Block next = worldObj.getBlock(nx, ny, nz); - + TileEntity te = worldObj.getTileEntity(nx, ny, nz); - + //the next block appears to be a diode, let's see if we can enter if(te instanceof TileEntityHadronDiode) { TileEntityHadronDiode diode = (TileEntityHadronDiode)te; - + if(diode.getConfig(p.dir.getOpposite().ordinal()) != DiodeConfig.IN) { //it appears as if we have slammed into the side of a diode, ouch expire(p, EnumHadronState.ERROR_DIODE_COLLISION); } - + //there's a diode ahead, turn off checks so we can make the curve p.isCheckExempt = true; - + //the *next* block is a diode, we are not in it yet, which means no turning and no check exemption. too bad kiddo. return; } - + //instead of the next TE, we are looking at the current one - the diode (maybe) te = worldObj.getTileEntity(x, y, z); - + //if we are currently in a diode, we might want to consider changing dirs if(te instanceof TileEntityHadronDiode) { - + //since we are *in* a diode, we might want to call the warrant officer for //an exemption for the coil check, because curves NEED holes to turn into, and //checking for coils in spaces where there cannot be coils is quite not-good p.isCheckExempt = true; - + TileEntityHadronDiode diode = (TileEntityHadronDiode)te; boolean hasTurnedCurrent = false; @@ -767,30 +755,30 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe return; } - + //next step is air or the core, proceed if(next.getMaterial() == Material.air || next == ModBlocks.hadron_core) return; - + //so, the next block is most certainly a wall. not good. perhaps we could try turning? if(isValidCoil(next)) { - + ForgeDirection validDir = ForgeDirection.UNKNOWN; - + List dirs = getRandomDirs(); - + //let's look at every direction we could go in for(ForgeDirection d : dirs) { - + if(d == dir || d == dir.getOpposite()) continue; - + //there is air! we can pass! if(worldObj.getBlock(x + d.offsetX, y + d.offsetY, z + d.offsetZ).getMaterial() == Material.air) { - + if(validDir == ForgeDirection.UNKNOWN) { validDir = d; - + //it seems like there are two or more possible ways, which is not allowed without a diode //sorry kid, nothing personal } else { @@ -799,7 +787,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe } } } - + //set the new direction p.dir = validDir; p.isCheckExempt = true; @@ -808,13 +796,13 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe expire(p, EnumHadronState.ERROR_OBSTRUCTED_CHANNEL); } - + /** * Dear god please grant me the gift of death and end my eternal torment * @return */ private List getRandomDirs() { - + List rands = Arrays.asList(new Integer[] {0, 1, 2, 3, 4, 5} ); Collections.shuffle(rands); List dirs = new ArrayList(); @@ -823,39 +811,35 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe } return dirs; } - + public boolean isValidCoil(Block b) { if(coilValue(b) > 0) return true; - - if(b == ModBlocks.hadron_cooler) return true; - return false; } - + public int coilValue(Block b) { - + if(b instanceof BlockHadronCoil) return ((BlockHadronCoil)b).factor; - + return 0; } - + public boolean isPlating(Block b) { - + return b instanceof BlockHadronPlating || b instanceof BlockHadronCoil || b == ModBlocks.hadron_plating_glass || b == ModBlocks.hadron_analysis_glass || - b == ModBlocks.hadron_access || - b == ModBlocks.hadron_cooler; + b == ModBlocks.hadron_access; } - + public boolean isAnalysis(Block b) { - + return b == ModBlocks.hadron_analysis || b == ModBlocks.hadron_analysis_glass; } - + public static enum EnumHadronState { IDLE(0x8080ff), PROGRESS(0xffff00), @@ -875,14 +859,14 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe ERROR_DIODE_COLLISION(0xff0000, true), ERROR_BRANCHING_TURN(0xff0000, true), ERROR_GENERIC(0xff0000, true); - + public int color; public boolean showCoord; - + private EnumHadronState(int color) { this(color, false); } - + private EnumHadronState(int color, boolean showCoord) { this.color = color; this.showCoord = showCoord; @@ -896,7 +880,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyRe @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIHadron(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHadronDiode.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronDiode.java index d77c5339a..f9c89de10 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHadronDiode.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronDiode.java @@ -2,6 +2,7 @@ package com.hbm.tileentity.machine; import com.hbm.tileentity.TileEntityTickingBase; +import io.netty.buffer.ByteBuf; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.util.ForgeDirection; @@ -25,7 +26,7 @@ public class TileEntityHadronDiode extends TileEntityTickingBase { if(age >= 20) { age = 0; - sendSides(); + this.networkPackNT(250); } } else { @@ -35,27 +36,18 @@ public class TileEntityHadronDiode extends TileEntityTickingBase { } } } - - public void sendSides() { - - NBTTagCompound data = new NBTTagCompound(); - + + @Override public void serialize(ByteBuf buf) { for(int i = 0; i < 6; i++) { - - if(sides[i] != null) - data.setInteger("" + i, sides[i].ordinal()); + buf.writeByte(sides[i].ordinal()); } - - this.networkPack(data, 250); } - @Override - public void networkUnpack(NBTTagCompound nbt) { - + @Override public void deserialize(ByteBuf buf) { for(int i = 0; i < 6; i++) { - sides[i] = DiodeConfig.values()[nbt.getInteger("" + i)]; + sides[i] = DiodeConfig.values()[buf.readByte()]; } - + worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); } @@ -75,7 +67,7 @@ public class TileEntityHadronDiode extends TileEntityTickingBase { public void setConfig(int side, int config) { sides[side] = DiodeConfig.values()[config]; this.markDirty(); - sendSides(); + this.networkPackNT(250); } public static enum DiodeConfig { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java index f044f3fad..3423d2583 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java @@ -1,13 +1,10 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.machine.BlockHadronPower; -import com.hbm.packet.BufPacket; -import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energymk2.IEnergyReceiverMK2; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; import net.minecraft.nbt.NBTTagCompound; @@ -21,16 +18,16 @@ public class TileEntityHadronPower extends TileEntityLoadedBase implements IEner public boolean canUpdate() { return true; //yeah idk wtf happened with the old behavior and honestly i'm not keen on figuring that one out } - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } - - PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 15)); + + networkPackNT(15); } } @@ -57,13 +54,13 @@ public class TileEntityHadronPower extends TileEntityLoadedBase implements IEner @Override public long getMaxPower() { - + Block b = this.getBlockType(); - + if(b instanceof BlockHadronPower) { return ((BlockHadronPower)b).power; } - + return 0; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java index c1c830cf5..e58d00987 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java @@ -18,8 +18,9 @@ import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.saveddata.TomSaveData; import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.IConfigurableMachine; -import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.fauxpointtwelve.DirPos; @@ -27,22 +28,24 @@ import api.hbm.fluid.IFluidStandardTransceiver; import api.hbm.tile.IHeatSource; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.EnumSkyBlock; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityHeatBoiler extends TileEntityLoadedBase implements INBTPacketReceiver, IFluidStandardTransceiver, IConfigurableMachine { +public class TileEntityHeatBoiler extends TileEntityLoadedBase implements IBufPacketReceiver, IFluidStandardTransceiver, IConfigurableMachine, IFluidCopiable { public int heat; public FluidTank[] tanks; public boolean isOn; public boolean hasExploded = false; - + private AudioWrapper audio; private int audioTime; - + /* CONFIGURABLE */ public static int maxHeat = 3_200_000; public static double diffusion = 0.1D; @@ -54,49 +57,54 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements INBTPa this.tanks[0] = new FluidTank(Fluids.WATER, 16_000); this.tanks[1] = new FluidTank(Fluids.STEAM, 16_000 * 100); } - + + ByteBuf buf; + @Override public void updateEntity() { if(!worldObj.isRemote) { - - NBTTagCompound data = new NBTTagCompound(); - + + if(this.buf != null) + this.buf.release(); + this.buf = Unpooled.buffer(); + + buf.writeBoolean(this.hasExploded); + if(!this.hasExploded) { this.setupTanks(); this.updateConnections(); this.tryPullHeat(); int lastHeat = this.heat; - + int light = this.worldObj.getSavedLightValue(EnumSkyBlock.Sky, this.xCoord, this.yCoord, this.zCoord); if(light > 7 && TomSaveData.forWorld(worldObj).fire > 1e-5) { this.heat += ((maxHeat - heat) * 0.000005D); //constantly heat up 0.0005% of the remaining heat buffer for rampant but diminishing heating } - - data.setInteger("heat", lastHeat); - tanks[0].writeToNBT(data, "0"); + buf.writeInt(lastHeat); + + tanks[0].serialize(buf); this.isOn = false; this.tryConvert(); - tanks[1].writeToNBT(data, "1"); - + tanks[1].serialize(buf); + if(this.tanks[1].getFill() > 0) { this.sendFluid(); } } - data.setBoolean("exploded", this.hasExploded); - data.setBoolean("isOn", this.isOn); - data.setBoolean("muffled", this.muffled); - INBTPacketReceiver.networkPack(this, data, 25); + buf.writeBoolean(this.muffled); + buf.writeBoolean(this.isOn); + networkPackNT(25); } else { - + if(this.isOn) audioTime = 20; - + if(audioTime > 0) { - + audioTime--; - + if(audio == null) { audio = createAudioLoop(); audio.startSound(); @@ -106,9 +114,9 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements INBTPa audio.updateVolume(getVolume(1F)); audio.keepAlive(); - + } else { - + if(audio != null) { audio.stopSound(); audio = null; @@ -116,7 +124,7 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements INBTPa } } } - + @Override public AudioWrapper createAudioLoop() { return MainRegistry.proxy.getLoopedSound("hbm:block.boiler", xCoord, yCoord, zCoord, 0.125F, 10F, 1.0F, 20); @@ -143,28 +151,36 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements INBTPa } @Override - public void networkUnpack(NBTTagCompound nbt) { - this.hasExploded = nbt.getBoolean("exploded"); - this.muffled = nbt.getBoolean("muffled"); - this.heat = nbt.getInteger("heat"); - this.tanks[0].readFromNBT(nbt, "0"); - this.tanks[1].readFromNBT(nbt, "1"); - this.isOn = nbt.getBoolean("isOn"); + public void serialize(ByteBuf buf) { + buf.writeBytes(this.buf); } - + + @Override + public void deserialize(ByteBuf buf) { + this.hasExploded = buf.readBoolean(); + if (!this.hasExploded) { + this.heat = buf.readInt(); + this.tanks[0].deserialize(buf); + this.tanks[1].deserialize(buf); + this.muffled = buf.readBoolean(); + this.isOn = buf.readBoolean(); + } + } + protected void tryPullHeat() { TileEntity con = worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); - + if(con instanceof IHeatSource) { IHeatSource source = (IHeatSource) con; int diff = source.getHeatStored() - this.heat; - + if(diff == 0) { return; } - + if(diff > 0) { diff = (int) Math.ceil(diff * diffusion); + diff = Math.min(diff, this.maxHeat - this.heat); source.useUpHeat(diff); this.heat += diff; if(this.heat > this.maxHeat) @@ -172,12 +188,12 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements INBTPa return; } } - + this.heat = Math.max(this.heat - Math.max(this.heat / 1000, 1), 0); } - + protected void setupTanks() { - + if(tanks[0].getTankType().hasTrait(FT_Heatable.class)) { FT_Heatable trait = tanks[0].getTankType().getTrait(FT_Heatable.class); if(trait.getEfficiency(HeatingType.BOILER) > 0) { @@ -191,32 +207,32 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements INBTPa tanks[0].setTankType(Fluids.NONE); tanks[1].setTankType(Fluids.NONE); } - + protected void tryConvert() { - + if(tanks[0].getTankType().hasTrait(FT_Heatable.class)) { FT_Heatable trait = tanks[0].getTankType().getTrait(FT_Heatable.class); if(trait.getEfficiency(HeatingType.BOILER) > 0) { - + HeatingStep entry = trait.getFirstStep(); int inputOps = this.tanks[0].getFill() / entry.amountReq; int outputOps = (this.tanks[1].getMaxFill() - this.tanks[1].getFill()) / entry.amountProduced; int heatOps = this.heat / entry.heatReq; - + int ops = Math.min(inputOps, Math.min(outputOps, heatOps)); this.tanks[0].setFill(this.tanks[0].getFill() - entry.amountReq * ops); this.tanks[1].setFill(this.tanks[1].getFill() + entry.amountProduced * ops); this.heat -= entry.heatReq * ops; - + if(ops > 0 && worldObj.rand.nextInt(400) == 0) { worldObj.playSoundEffect(xCoord + 0.5, yCoord + 2, zCoord + 0.5, "hbm:block.boilerGroan", 0.5F, 1.0F); } - + if(ops > 0) { this.isOn = true; } - + if(outputOps == 0 && canExplode) { this.hasExploded = true; BlockDummyable.safeRem = true; @@ -228,33 +244,33 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements INBTPa } } worldObj.setBlockToAir(xCoord, yCoord + 1, zCoord); - + ExplosionVNT xnt = new ExplosionVNT(worldObj, xCoord + 0.5, yCoord + 2, zCoord + 0.5, 5F); xnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(3F)); xnt.setPlayerProcessor(new PlayerProcessorStandard()); xnt.setSFX(new ExplosionEffectStandard()); xnt.explode(); - + BlockDummyable.safeRem = false; } } } } - + private void updateConnections() { - + for(DirPos pos : getConPos()) { this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + private void sendFluid() { - + for(DirPos pos : getConPos()) { this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir().getOpposite()); } } - + private DirPos[] getConPos() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getRotation(ForgeDirection.UP); return new DirPos[] { @@ -263,7 +279,7 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements INBTPa new DirPos(xCoord, yCoord + 4, zCoord, Library.POS_Y), }; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -272,7 +288,7 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements INBTPa heat = nbt.getInteger("heat"); hasExploded = nbt.getBoolean("exploded"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -296,12 +312,12 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements INBTPa public FluidTank[] getReceivingTanks() { return new FluidTank[] {tanks[0]}; } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -312,10 +328,10 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements INBTPa zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoilerIndustrial.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoilerIndustrial.java index 04d66dda3..012fecc40 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoilerIndustrial.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoilerIndustrial.java @@ -13,8 +13,9 @@ import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.saveddata.TomSaveData; import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.IConfigurableMachine; -import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.fauxpointtwelve.DirPos; @@ -22,20 +23,22 @@ import api.hbm.fluid.IFluidStandardTransceiver; import api.hbm.tile.IHeatSource; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.EnumSkyBlock; -public class TileEntityHeatBoilerIndustrial extends TileEntityLoadedBase implements INBTPacketReceiver, IFluidStandardTransceiver, IConfigurableMachine { +public class TileEntityHeatBoilerIndustrial extends TileEntityLoadedBase implements IBufPacketReceiver, IFluidStandardTransceiver, IConfigurableMachine, IFluidCopiable { public int heat; public FluidTank[] tanks; public boolean isOn; - + private AudioWrapper audio; private int audioTime; - + /* CONFIGURABLE */ public static int maxHeat = 12_800_000; public static double diffusion = 0.1D; @@ -46,45 +49,51 @@ public class TileEntityHeatBoilerIndustrial extends TileEntityLoadedBase impleme this.tanks[0] = new FluidTank(Fluids.WATER, 64_000); this.tanks[1] = new FluidTank(Fluids.STEAM, 64_000 * 100); } - + + ByteBuf buf; + @Override public void updateEntity() { if(!worldObj.isRemote) { - - NBTTagCompound data = new NBTTagCompound(); + + if(this.buf != null) + this.buf.release(); + this.buf = Unpooled.buffer(); + this.setupTanks(); this.updateConnections(); this.tryPullHeat(); int lastHeat = this.heat; - + int light = this.worldObj.getSavedLightValue(EnumSkyBlock.Sky, this.xCoord, this.yCoord, this.zCoord); if(light > 7 && TomSaveData.forWorld(worldObj).fire > 1e-5) { this.heat += ((maxHeat - heat) * 0.000005D); //constantly heat up 0.0005% of the remaining heat buffer for rampant but diminishing heating } - - data.setInteger("heat", lastHeat); - tanks[0].writeToNBT(data, "0"); + buf.writeInt(lastHeat); + + tanks[0].serialize(buf); this.isOn = false; this.tryConvert(); - tanks[1].writeToNBT(data, "1"); - + tanks[1].serialize(buf); + if(this.tanks[1].getFill() > 0) { this.sendFluid(); } - data.setBoolean("isOn", this.isOn); - data.setBoolean("muffled", this.muffled); - INBTPacketReceiver.networkPack(this, data, 25); + buf.writeBoolean(this.isOn); + buf.writeBoolean(this.muffled); + networkPackNT(25); + } else { - + if(this.isOn) audioTime = 20; - + if(audioTime > 0) { - + audioTime--; - + if(audio == null) { audio = createAudioLoop(); audio.startSound(); @@ -94,9 +103,9 @@ public class TileEntityHeatBoilerIndustrial extends TileEntityLoadedBase impleme audio.updateVolume(getVolume(1F)); audio.keepAlive(); - + } else { - + if(audio != null) { audio.stopSound(); audio = null; @@ -104,7 +113,7 @@ public class TileEntityHeatBoilerIndustrial extends TileEntityLoadedBase impleme } } } - + @Override public AudioWrapper createAudioLoop() { return MainRegistry.proxy.getLoopedSound("hbm:block.boiler", xCoord, yCoord, zCoord, 0.125F, 10F, 1.0F, 20); @@ -131,27 +140,33 @@ public class TileEntityHeatBoilerIndustrial extends TileEntityLoadedBase impleme } @Override - public void networkUnpack(NBTTagCompound nbt) { - this.heat = nbt.getInteger("heat"); - this.tanks[0].readFromNBT(nbt, "0"); - this.tanks[1].readFromNBT(nbt, "1"); - this.isOn = nbt.getBoolean("isOn"); - this.muffled = nbt.getBoolean("muffled"); + public void serialize(ByteBuf buf) { + buf.writeBytes(this.buf); } - + + @Override + public void deserialize(ByteBuf buf) { + this.heat = buf.readInt(); + this.tanks[0].deserialize(buf); + this.tanks[1].deserialize(buf); + this.isOn = buf.readBoolean(); + this.muffled = buf.readBoolean(); + } + protected void tryPullHeat() { TileEntity con = worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); - + if(con instanceof IHeatSource) { IHeatSource source = (IHeatSource) con; int diff = source.getHeatStored() - this.heat; - + if(diff == 0) { return; } - + if(diff > 0) { diff = (int) Math.ceil(diff * diffusion); + diff = Math.min(diff, this.maxHeat - this.heat); source.useUpHeat(diff); this.heat += diff; if(this.heat > this.maxHeat) @@ -159,12 +174,12 @@ public class TileEntityHeatBoilerIndustrial extends TileEntityLoadedBase impleme return; } } - + this.heat = Math.max(this.heat - Math.max(this.heat / 1000, 1), 0); } - + protected void setupTanks() { - + if(tanks[0].getTankType().hasTrait(FT_Heatable.class)) { FT_Heatable trait = tanks[0].getTankType().getTrait(FT_Heatable.class); if(trait.getEfficiency(HeatingType.BOILER) > 0) { @@ -178,49 +193,49 @@ public class TileEntityHeatBoilerIndustrial extends TileEntityLoadedBase impleme tanks[0].setTankType(Fluids.NONE); tanks[1].setTankType(Fluids.NONE); } - + protected void tryConvert() { - + if(tanks[0].getTankType().hasTrait(FT_Heatable.class)) { FT_Heatable trait = tanks[0].getTankType().getTrait(FT_Heatable.class); if(trait.getEfficiency(HeatingType.BOILER) > 0) { - + HeatingStep entry = trait.getFirstStep(); int inputOps = this.tanks[0].getFill() / entry.amountReq; int outputOps = (this.tanks[1].getMaxFill() - this.tanks[1].getFill()) / entry.amountProduced; int heatOps = this.heat / entry.heatReq; - + int ops = Math.min(inputOps, Math.min(outputOps, heatOps)); this.tanks[0].setFill(this.tanks[0].getFill() - entry.amountReq * ops); this.tanks[1].setFill(this.tanks[1].getFill() + entry.amountProduced * ops); this.heat -= entry.heatReq * ops; - + if(ops > 0 && worldObj.rand.nextInt(400) == 0) { worldObj.playSoundEffect(xCoord + 0.5, yCoord + 2, zCoord + 0.5, "hbm:block.boilerGroan", 0.5F, 1.0F); } - + if(ops > 0) { this.isOn = true; } } } } - + private void updateConnections() { - + for(DirPos pos : getConPos()) { this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + private void sendFluid() { - + for(DirPos pos : getConPos()) { this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir().getOpposite()); } } - + private DirPos[] getConPos() { return new DirPos[] { new DirPos(xCoord + 2, yCoord, zCoord, Library.POS_X), @@ -230,7 +245,7 @@ public class TileEntityHeatBoilerIndustrial extends TileEntityLoadedBase impleme new DirPos(xCoord, yCoord + 5, zCoord, Library.POS_Y), }; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -238,7 +253,7 @@ public class TileEntityHeatBoilerIndustrial extends TileEntityLoadedBase impleme tanks[1].readFromNBT(nbt, "steam"); heat = nbt.getInteger("heat"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -261,12 +276,12 @@ public class TileEntityHeatBoilerIndustrial extends TileEntityLoadedBase impleme public FluidTank[] getReceivingTanks() { return new FluidTank[] {tanks[0]}; } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -277,10 +292,10 @@ public class TileEntityHeatBoilerIndustrial extends TileEntityLoadedBase impleme zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterElectric.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterElectric.java index 7c8a19797..1ad302c0b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterElectric.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterElectric.java @@ -1,9 +1,10 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.BlockDummyable; +import com.hbm.interfaces.ICopiable; import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; -import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.CompatEnergyControl; @@ -12,32 +13,35 @@ import api.hbm.tile.IHeatSource; import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import io.netty.buffer.ByteBuf; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IHeatSource, IEnergyReceiverMK2, INBTPacketReceiver, IInfoProviderEC { - +public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IHeatSource, IEnergyReceiverMK2, IBufPacketReceiver, ICopiable, IInfoProviderEC { + public long power; public int heatEnergy; public boolean isOn; protected int setting = 0; - + private AudioWrapper audio; @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + if(worldObj.getTotalWorldTime() % 20 == 0) { //doesn't have to happen constantly ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); this.trySubscribe(worldObj, xCoord + dir.offsetX * 3, yCoord, zCoord + dir.offsetZ * 3, dir); } - + this.heatEnergy *= 0.999; - + this.tryPullHeat(); this.isOn = false; @@ -46,17 +50,12 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH this.heatEnergy += getHeatGen(); this.isOn = true; } - - NBTTagCompound data = new NBTTagCompound(); - data.setByte("s", (byte) this.setting); - data.setInteger("h", this.heatEnergy); - data.setBoolean("o", isOn); - data.setBoolean("muffled", muffled); - INBTPacketReceiver.networkPack(this, data, 25); + + networkPackNT(25); } else { - + if(isOn) { - + if(audio == null) { audio = createAudioLoop(); audio.startSound(); @@ -66,9 +65,9 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH audio.updateVolume(getVolume(1F)); audio.keepAlive(); - + } else { - + if(audio != null) { audio.stopSound(); audio = null; @@ -76,7 +75,7 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH } } } - + @Override public AudioWrapper createAudioLoop() { return MainRegistry.proxy.getLoopedSound("hbm:block.electricHum", xCoord, yCoord, zCoord, 0.25F, 7.5F, 1.0F, 20); @@ -103,13 +102,21 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH } @Override - public void networkUnpack(NBTTagCompound nbt) { - this.setting = nbt.getByte("s"); - this.heatEnergy = nbt.getInteger("h"); - this.isOn = nbt.getBoolean("o"); - this.muffled = nbt.getBoolean("muffled"); + public void serialize(ByteBuf buf) { + buf.writeBoolean(this.muffled); + buf.writeByte(this.setting); + buf.writeInt(this.heatEnergy); + buf.writeBoolean(this.isOn); } - + + @Override + public void deserialize(ByteBuf buf) { + this.muffled = buf.readBoolean(); + this.setting = buf.readByte(); + this.heatEnergy = buf.readInt(); + this.isOn = buf.readBoolean(); + } + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -118,7 +125,7 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH this.setting = nbt.getInteger("setting"); this.heatEnergy = nbt.getInteger("heatEnergy"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -127,20 +134,20 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH nbt.setInteger("setting", setting); nbt.setInteger("heatEnergy", heatEnergy); } - + protected void tryPullHeat() { TileEntity con = worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); - + if(con instanceof IHeatSource) { IHeatSource source = (IHeatSource) con; this.heatEnergy += source.getHeatStored() * 0.85; source.useUpHeat(source.getHeatStored()); } } - + public void toggleSetting() { setting++; - + if(setting > 10) setting = 0; } @@ -149,7 +156,7 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH public long getPower() { return power; } - + public long getConsumption() { return (long) (Math.pow(setting, 1.4D) * 200D); } @@ -158,7 +165,7 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH public long getMaxPower() { return getConsumption() * 20; } - + public int getHeatGen() { return this.setting * 100; } @@ -177,12 +184,12 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH public void useUpHeat(int heat) { this.heatEnergy = Math.max(0, this.heatEnergy - heat); } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 2, @@ -193,10 +200,10 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH zCoord + 3 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -209,4 +216,16 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH data.setLong(CompatEnergyControl.L_ENERGY_TU, getHeatStored()); data.setLong(CompatEnergyControl.D_OUTPUT_TU, getHeatGen()); } + + @Override + public NBTTagCompound getSettings(World world, int x, int y, int z) { + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setInteger("setting", setting); + return nbt; + } + + @Override + public void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + this.setting = nbt.getInteger("setting"); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterFirebox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterFirebox.java index c58b395e0..616fc978a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterFirebox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterFirebox.java @@ -12,7 +12,6 @@ import com.hbm.tileentity.IConfigurableMachine; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.util.ResourceLocation; @@ -76,7 +75,7 @@ public class TileEntityHeaterFirebox extends TileEntityFireboxBase implements IC @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { if(texture == null) texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/machine/gui_firebox.png"); return new GUIFirebox(player.inventory, this, texture); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java index 1e9d5885d..7a1a9a18c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java @@ -9,8 +9,8 @@ import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Coolable; import com.hbm.inventory.fluid.trait.FT_Coolable.CoolingType; import com.hbm.inventory.gui.GUIHeaterHeatex; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.fauxpointtwelve.DirPos; @@ -18,7 +18,8 @@ import api.hbm.fluid.IFluidStandardTransceiver; import api.hbm.tile.IHeatSource; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; @@ -27,13 +28,13 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityHeaterHeatex extends TileEntityMachineBase implements IHeatSource, INBTPacketReceiver, IFluidStandardTransceiver, IGUIProvider, IControlReceiver { - +public class TileEntityHeaterHeatex extends TileEntityMachineBase implements IHeatSource, IFluidStandardTransceiver, IGUIProvider, IControlReceiver, IFluidCopiable { + public FluidTank[] tanks; - public int amountToCool = 1; + public int amountToCool = 24_000; public int tickDelay = 1; public int heatEnergy; - + public TileEntityHeaterHeatex() { super(1); this.tanks = new FluidTank[2]; @@ -46,42 +47,56 @@ public class TileEntityHeaterHeatex extends TileEntityMachineBase implements IHe return "container.heaterHeatex"; } + ByteBuf buf; + @Override public void updateEntity() { - + if(!worldObj.isRemote) { + + if(this.buf != null) + this.buf.release(); + this.buf = Unpooled.buffer(); + this.tanks[0].setType(0, slots); this.setupTanks(); this.updateConnections(); - + this.heatEnergy *= 0.999; - - NBTTagCompound data = new NBTTagCompound(); - tanks[0].writeToNBT(data, "0"); + + tanks[0].serialize(buf); + this.tryConvert(); - tanks[1].writeToNBT(data, "1"); - data.setInteger("heat", heatEnergy); - data.setInteger("toCool", amountToCool); - data.setInteger("delay", tickDelay); - INBTPacketReceiver.networkPack(this, data, 25); - + + tanks[1].serialize(buf); + + networkPackNT(25); + for(DirPos pos : getConPos()) { if(this.tanks[1].getFill() > 0) this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } } - + @Override - public void networkUnpack(NBTTagCompound nbt) { - tanks[0].readFromNBT(nbt, "0"); - tanks[1].readFromNBT(nbt, "1"); - this.heatEnergy = nbt.getInteger("heat"); - this.amountToCool = nbt.getInteger("toCool"); - this.tickDelay = nbt.getInteger("delay"); + public void serialize(ByteBuf buf) { + buf.writeBytes(this.buf); + buf.writeInt(this.heatEnergy); + buf.writeInt(this.amountToCool); + buf.writeInt(this.tickDelay); } - + + @Override + public void deserialize(ByteBuf buf) { + tanks[0].deserialize(buf); + tanks[1].deserialize(buf); + this.heatEnergy = buf.readInt(); + this.amountToCool = buf.readInt(); + this.tickDelay = buf.readInt(); + } + protected void setupTanks() { - + if(tanks[0].getTankType().hasTrait(FT_Coolable.class)) { FT_Coolable trait = tanks[0].getTankType().getTrait(FT_Coolable.class); if(trait.getEfficiency(CoolingType.HEATEXCHANGER) > 0) { @@ -93,37 +108,37 @@ public class TileEntityHeaterHeatex extends TileEntityMachineBase implements IHe tanks[0].setTankType(Fluids.NONE); tanks[1].setTankType(Fluids.NONE); } - + protected void updateConnections() { - + for(DirPos pos : getConPos()) { this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + protected void tryConvert() { - + if(!tanks[0].getTankType().hasTrait(FT_Coolable.class)) return; if(tickDelay < 1) tickDelay = 1; if(worldObj.getTotalWorldTime() % tickDelay != 0) return; - + FT_Coolable trait = tanks[0].getTankType().getTrait(FT_Coolable.class); - + int inputOps = tanks[0].getFill() / trait.amountReq; int outputOps = (tanks[1].getMaxFill() - tanks[1].getFill()) / trait.amountProduced; int opCap = this.amountToCool; - + int ops = Math.min(inputOps, Math.min(outputOps, opCap)); tanks[0].setFill(tanks[0].getFill() - trait.amountReq * ops); tanks[1].setFill(tanks[1].getFill() + trait.amountProduced * ops); this.heatEnergy += trait.heatEnergy * ops * trait.getEfficiency(CoolingType.HEATEXCHANGER); this.markChanged(); } - + private DirPos[] getConPos() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + return new DirPos[] { new DirPos(xCoord + dir.offsetX * 2 + rot.offsetX, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ, dir), new DirPos(xCoord + dir.offsetX * 2 - rot.offsetX, yCoord, zCoord + dir.offsetZ * 2 - rot.offsetZ, dir), @@ -131,7 +146,7 @@ public class TileEntityHeaterHeatex extends TileEntityMachineBase implements IHe new DirPos(xCoord - dir.offsetX * 2 - rot.offsetX, yCoord, zCoord - dir.offsetZ * 2 - rot.offsetZ, dir.getOpposite()) }; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -142,7 +157,7 @@ public class TileEntityHeaterHeatex extends TileEntityMachineBase implements IHe this.amountToCool = nbt.getInteger("toCool"); this.tickDelay = nbt.getInteger("delay"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -192,15 +207,15 @@ public class TileEntityHeaterHeatex extends TileEntityMachineBase implements IHe @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIHeaterHeatex(player.inventory, this); } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -211,10 +226,10 @@ public class TileEntityHeaterHeatex extends TileEntityMachineBase implements IHe zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -230,7 +245,26 @@ public class TileEntityHeaterHeatex extends TileEntityMachineBase implements IHe public void receiveControl(NBTTagCompound data) { if(data.hasKey("toCool")) this.amountToCool = MathHelper.clamp_int(data.getInteger("toCool"), 1, tanks[0].getMaxFill()); if(data.hasKey("delay")) this.tickDelay = Math.max(data.getInteger("delay"), 1); - + this.markChanged(); } + + @Override + public NBTTagCompound getSettings(World world, int x, int y, int z) { + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setInteger("toCool", amountToCool); + if(getFluidIDToCopy().length > 0) + nbt.setIntArray("fluidID", getFluidIDToCopy()); + return nbt; + } + + @Override + public void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + int[] ids = nbt.getIntArray("fluidID"); + if(ids.length > 0) { + int id = ids[index]; + tanks[0].setTankType(Fluids.fromID(id)); + } + if(nbt.hasKey("toCool")) amountToCool = nbt.getInteger("toCool"); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java index 0d19a14bc..e236a9090 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java @@ -8,6 +8,7 @@ import com.hbm.inventory.fluid.trait.FT_Flammable; import com.hbm.inventory.fluid.trait.FluidTrait.FluidReleaseType; import com.hbm.inventory.gui.GUIOilburner; import com.hbm.lib.Library; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachinePolluting; import com.hbm.util.fauxpointtwelve.DirPos; @@ -17,14 +18,13 @@ import api.hbm.tile.IHeatSource; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; -public class TileEntityHeaterOilburner extends TileEntityMachinePolluting implements IGUIProvider, IFluidStandardTransceiver, IHeatSource, IControlReceiver { +public class TileEntityHeaterOilburner extends TileEntityMachinePolluting implements IGUIProvider, IFluidStandardTransceiver, IHeatSource, IControlReceiver, IFluidCopiable { public boolean isOn = false; public FluidTank tank; @@ -156,7 +156,7 @@ public class TileEntityHeaterOilburner extends TileEntityMachinePolluting implem @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIOilburner(player.inventory, this); } @@ -217,4 +217,21 @@ public class TileEntityHeaterOilburner extends TileEntityMachinePolluting implem public FluidTank[] getSendingTanks() { return this.getSmokeTanks(); } + + @Override + public NBTTagCompound getSettings(World world, int x, int y, int z) { + NBTTagCompound tag = new NBTTagCompound(); + tag.setIntArray("fluidID", new int[]{tank.getTankType().getID()}); + tag.setInteger("burnRate", setting); + tag.setBoolean("isOn", isOn); + return tag; + } + + @Override + public void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + int id = nbt.getIntArray("fluidID")[index]; + tank.setTankType(Fluids.fromID(id)); + if(nbt.hasKey("isOn")) isOn = nbt.getBoolean("isOn"); + if(nbt.hasKey("burnRate")) setting = nbt.getInteger("burnRate"); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOven.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOven.java index 2deec61e8..3453c2c19 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOven.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOven.java @@ -13,7 +13,6 @@ import com.hbm.tileentity.IConfigurableMachine; import api.hbm.tile.IHeatSource; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.tileentity.TileEntity; @@ -100,7 +99,7 @@ public class TileEntityHeaterOven extends TileEntityFireboxBase implements IConf @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { if(texture == null) texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/machine/gui_heating_oven.png"); return new GUIFirebox(player.inventory, this, texture); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityICF.java b/src/main/java/com/hbm/tileentity/machine/TileEntityICF.java index 4f4c3d65d..55eb05ec2 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityICF.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityICF.java @@ -1,6 +1,7 @@ package com.hbm.tileentity.machine; import com.hbm.handler.CompatHandler; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.container.ContainerICF; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -11,8 +12,8 @@ import com.hbm.inventory.gui.GUIICF; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemICFPellet; import com.hbm.lib.Library; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IFluidCopiable; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.CompatEnergyControl; @@ -29,7 +30,6 @@ import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -39,8 +39,8 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider, IFluidStandardTransceiver, IInfoProviderEC, SimpleComponent, CompatHandler.OCComponent { - +public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider, IFluidStandardTransceiver, IInfoProviderEC, SimpleComponent, CompatHandler.OCComponent, IFluidCopiable { + public long laser; public long maxLaser; public long heat; @@ -48,7 +48,7 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider public long heatup; public int consumption; public int output; - + public FluidTank[] tanks; public TileEntityICF() { @@ -66,17 +66,17 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + tanks[0].setType(11, slots); - + for(DirPos pos : getConPos()) { this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - + boolean markDirty = false; - + //eject depleted pellet if(slots[5] != null && slots[5].getItem() == ModItems.icf_pellet_depleted) { for(int i = 6; i < 11; i++) { @@ -88,7 +88,7 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider } } } - + //insert fresh pellet if(slots[5] == null) { for(int i = 0; i < 5; i++) { @@ -100,9 +100,9 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider } } } - + this.heatup = 0; - + if(slots[5] != null && slots[5].getItem() == ModItems.icf_pellet) { if(ItemICFPellet.getFusingDifficulty(slots[5]) <= this.laser) { this.heatup = ItemICFPellet.react(slots[5], this.laser); @@ -111,31 +111,31 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider slots[5] = new ItemStack(ModItems.icf_pellet_depleted); markDirty = true; } - + tanks[2].setFill(tanks[2].getFill() + (int) Math.ceil(this.heat * 2.5D / this.maxHeat)); if(tanks[2].getFill() > tanks[2].getMaxFill()) tanks[2].setFill(tanks[2].getMaxFill()); - + NBTTagCompound dPart = new NBTTagCompound(); dPart.setString("type", "hadron"); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(dPart, xCoord + 0.5, yCoord + 3.5, zCoord + 0.5), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 25)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(dPart, xCoord + 0.5, yCoord + 3.5, zCoord + 0.5), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 25)); } } - + if(heatup == 0) { this.heat += this.laser * 0.25D; } this.consumption = 0; this.output = 0; - + if(tanks[0].getTankType().hasTrait(FT_Heatable.class)) { FT_Heatable trait = tanks[0].getTankType().getTrait(FT_Heatable.class); HeatingStep step = trait.getFirstStep(); tanks[1].setTankType(step.typeProduced); - + int coolingCycles = tanks[0].getFill() / step.amountReq; int heatingCycles = (tanks[1].getMaxFill() - tanks[1].getFill()) / step.amountProduced; - int heatCycles = (int) (this.heat / 4 / step.heatReq * trait.getEfficiency(HeatingType.ICF)); //25% cooling per tick + int heatCycles = (int) Math.min(this.heat / 4D / step.heatReq * trait.getEfficiency(HeatingType.ICF), this.heat / step.heatReq); //25% cooling per tick int cycles = Math.min(coolingCycles, Math.min(heatingCycles, heatCycles)); tanks[0].setFill(tanks[0].getFill() - step.amountReq * cycles); @@ -145,22 +145,22 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider this.consumption = step.amountReq * cycles; this.output = step.amountProduced * cycles; } - + for(DirPos pos : getConPos()) { this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.sendFluid(tanks[2], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - + this.heat *= 0.999D; if(this.heat > this.maxHeat) this.heat = this.maxHeat; if(markDirty) this.markDirty(); - + this.networkPackNT(150); this.laser = 0; this.maxLaser = 0; } } - + public DirPos[] getConPos() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); @@ -181,7 +181,7 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider buf.writeLong(heat); for(int i = 0; i < 3; i++) tanks[i].serialize(buf); } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); this.laser = buf.readLong(); @@ -206,20 +206,20 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider public int[] getAccessibleSlotsFromSide(int side) { return io; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); for(int i = 0; i < 3; i++) tanks[i].readFromNBT(nbt, "t" + i); - + this.heat = nbt.getLong("heat"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); for(int i = 0; i < 3; i++) tanks[i].writeToNBT(nbt, "t" + i); - + nbt.setLong("heat", heat); } @@ -231,12 +231,12 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 256; } } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord + 0.5 - 8, @@ -247,10 +247,10 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider zCoord + 0.5 + 9 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -279,10 +279,10 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIICF(player.inventory, this); } - + @Override public void provideExtraInfo(NBTTagCompound data) { data.setBoolean(CompatEnergyControl.B_ACTIVE, heatup > 0); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityICFPress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityICFPress.java index 9c6eef7ad..459f93bed 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityICFPress.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityICFPress.java @@ -12,6 +12,7 @@ import com.hbm.inventory.material.Mats.MaterialStack; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemICFPellet; import com.hbm.items.machine.ItemICFPellet.EnumICFFuel; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; @@ -19,14 +20,13 @@ import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -public class TileEntityICFPress extends TileEntityMachineBase implements IFluidStandardReceiver, IGUIProvider { +public class TileEntityICFPress extends TileEntityMachineBase implements IFluidStandardReceiver, IGUIProvider, IFluidCopiable { public FluidTank[] tanks; public int muon; @@ -156,7 +156,7 @@ public class TileEntityICFPress extends TileEntityMachineBase implements IFluidS @Override public boolean canExtractItem(int slot, ItemStack itemStack, int side) { - return slot == 1; + return slot == 1 || slot == 3; } @Override @@ -182,7 +182,7 @@ public class TileEntityICFPress extends TileEntityMachineBase implements IFluidS @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIICFPress(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java index 9b0a0ed60..1b75df130 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java @@ -9,6 +9,7 @@ import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionNT; import com.hbm.explosion.ExplosionNT.ExAttrib; import com.hbm.handler.CompatHandler; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.container.ContainerITER; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; @@ -21,9 +22,9 @@ import com.hbm.items.ModItems; import com.hbm.items.special.ItemFusionShield; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.CompatEnergyControl; @@ -31,16 +32,18 @@ import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; +import api.hbm.redstoneoverradio.IRORInteractive; +import api.hbm.redstoneoverradio.IRORValueProvider; import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -51,21 +54,21 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityITER extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IGUIProvider, IInfoProviderEC, SimpleComponent, CompatHandler.OCComponent { - +public class TileEntityITER extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IGUIProvider, IInfoProviderEC, SimpleComponent, CompatHandler.OCComponent, IFluidCopiable, IRORValueProvider, IRORInteractive { + public long power; public static final long maxPower = 10000000; public static final int powerReq = 100000; public FluidTank[] tanks; public FluidTank plasma; - + public int progress; public static final int duration = 100; public long totalRuntime; - + @SideOnly(Side.CLIENT) public int blanket; - + public float rotor; public float lastRotor; public boolean isOn; @@ -89,36 +92,36 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + this.updateConnections(); power = Library.chargeTEFromItems(slots, 0, power, maxPower); /// START Processing part /// - + if(!isOn) { plasma.setFill(0); //jettison plasma if the thing is turned off } - + //explode either if there's plasma that is too hot or if the reactor is turned on but the magnets have no power if(plasma.getFill() > 0 && (this.plasma.getTankType().temperature >= this.getShield() || (this.isOn && this.power < this.powerReq))) { this.explode(); } - + if(isOn && power >= powerReq) { power -= powerReq; - + if(plasma.getFill() > 0) { this.totalRuntime++; int delay = FusionRecipes.getByproductDelay(plasma.getTankType()); if(delay > 0 && totalRuntime % delay == 0) produceByproduct(); } - + if(plasma.getFill() > 0 && this.getShield() != 0) { - + ItemFusionShield.setShieldDamage(slots[3], ItemFusionShield.getShieldDamage(slots[3]) + 1); - + if(ItemFusionShield.getShieldDamage(slots[3]) > ((ItemFusionShield)slots[3].getItem()).maxDamage) { slots[3] = null; worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:block.shutdown", 5F, 1F); @@ -126,71 +129,51 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece this.markDirty(); } } - + int prod = FusionRecipes.getSteamProduction(plasma.getTankType()); - + for(int i = 0; i < 20; i++) { - + if(plasma.getFill() > 0) { - + if(tanks[0].getFill() >= prod * 10) { tanks[0].setFill(tanks[0].getFill() - prod * 10); tanks[1].setFill(tanks[1].getFill() + prod); - + if(tanks[1].getFill() > tanks[1].getMaxFill()) tanks[1].setFill(tanks[1].getMaxFill()); } - + plasma.setFill(plasma.getFill() - 1); } } } - + doBreederStuff(); - + /// END Processing part /// /// START Notif packets /// - + for(DirPos pos : getConPos()) { if(tanks[1].getFill() > 0) { this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - - NBTTagCompound data = new NBTTagCompound(); - data.setBoolean("isOn", isOn); - data.setLong("power", power); - data.setInteger("progress", progress); - tanks[0].writeToNBT(data, "t0"); - tanks[1].writeToNBT(data, "t1"); - plasma.writeToNBT(data, "t2"); - - if(slots[3] == null) { - data.setInteger("blanket", 0); - } else if(slots[3].getItem() == ModItems.fusion_shield_tungsten) { - data.setInteger("blanket", 1); - } else if(slots[3].getItem() == ModItems.fusion_shield_desh) { - data.setInteger("blanket", 2); - } else if(slots[3].getItem() == ModItems.fusion_shield_chlorophyte) { - data.setInteger("blanket", 3); - } else if(slots[3].getItem() == ModItems.fusion_shield_vaporwave) { - data.setInteger("blanket", 4); - } - - this.networkPack(data, 250); + + this.networkPackNT(250); /// END Notif packets /// - + } else { this.lastRotor = this.rotor; this.rotor += this.rotorSpeed; - + if(this.rotor >= 360) { this.rotor -= 360; this.lastRotor -= 360; } - + if(this.isOn && this.power >= powerReq) { this.rotorSpeed = Math.max(0F, Math.min(15F, this.rotorSpeed + 0.05F)); @@ -204,7 +187,7 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece audio.updatePitch(0.25F + 0.75F * rotorSpeed); } else { this.rotorSpeed = Math.max(0F, Math.min(15F, this.rotorSpeed - 0.1F)); - + if(audio != null) { if(this.rotorSpeed > 0) { float rotorSpeed = this.rotorSpeed / 15F; @@ -218,45 +201,45 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece } } } - + protected List connections; - + private void updateConnections() { - + for(DirPos pos : getConPos()) { this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + protected List getConPos() { if(connections != null && !connections.isEmpty()) return connections; - + connections = new ArrayList(); connections.add(new DirPos(xCoord, yCoord + 3, zCoord, ForgeDirection.UP)); connections.add(new DirPos(xCoord, yCoord - 3, zCoord, ForgeDirection.DOWN)); - + Vec3 vec = Vec3.createVectorHelper(5.75, 0, 0); - + for(int i = 0; i < 16; i++) { vec.rotateAroundY((float) (Math.PI / 8)); connections.add(new DirPos(xCoord + (int)vec.xCoord, yCoord + 3, zCoord + (int)vec.zCoord, ForgeDirection.UP)); connections.add(new DirPos(xCoord + (int)vec.xCoord, yCoord - 3, zCoord + (int)vec.zCoord, ForgeDirection.DOWN)); } - + return connections; } - + private void explode() { this.disassemble(); - + if(this.plasma.getTankType() == Fluids.PLASMA_BF) { - + worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); ExplosionLarge.spawnShrapnels(worldObj, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 50); - + ExplosionNT exp = new ExplosionNT(worldObj, null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 20F) .addAttrib(ExAttrib.BALEFIRE) .addAttrib(ExAttrib.NOPARTICLE) @@ -265,70 +248,70 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece .overrideResolution(64); exp.doExplosionA(); exp.doExplosionB(false); - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "muke"); data.setBoolean("balefire", true); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250)); + } else { Vec3 vec = Vec3.createVectorHelper(5.5, 0, 0); vec.rotateAroundY(worldObj.rand.nextFloat() * (float)Math.PI * 2F); - + worldObj.newExplosion(null, xCoord + 0.5 + vec.xCoord, yCoord + 0.5 + worldObj.rand.nextGaussian() * 1.5D, zCoord + 0.5 + vec.zCoord, 2.5F, true, true); } - + } private void doBreederStuff() { - + if(plasma.getFill() == 0) { this.progress = 0; return; } - + BreederRecipe out = BreederRecipes.getOutput(slots[1]); - + if(slots[1] != null && slots[1].getItem() == ModItems.meteorite_sword_irradiated) out = new BreederRecipe(ModItems.meteorite_sword_fused, 1000); - + if(slots[1] != null && slots[1].getItem() == ModItems.meteorite_sword_fused) out = new BreederRecipe(ModItems.meteorite_sword_baleful, 4000); - + if(out == null) { this.progress = 0; return; } - + if(slots[2] != null && slots[2].stackSize >= slots[2].getMaxStackSize()) { this.progress = 0; return; } - + int level = FusionRecipes.getBreedingLevel(plasma.getTankType()); - + if(out.flux > level) { this.progress = 0; return; } - + progress++; - + if(progress > this.duration) { - + this.progress = 0; - + if(slots[2] != null) { slots[2].stackSize++; } else { slots[2] = out.output.copy(); } - + slots[1].stackSize--; - + if(slots[1].stackSize <= 0) slots[1] = null; - + this.markDirty(); } } @@ -345,49 +328,70 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece @Override public boolean isItemValidForSlot(int i, ItemStack itemStack) { - + if(i == 1 && BreederRecipes.getOutput(itemStack) != null) return true; - + return false; } - + private void produceByproduct() { - + ItemStack by = FusionRecipes.getByproduct(plasma.getTankType()); - + if(by == null) return; - + if(slots[4] == null) { slots[4] = by; return; } - + if(slots[4].getItem() == by.getItem() && slots[4].getItemDamage() == by.getItemDamage() && slots[4].stackSize < slots[4].getMaxStackSize()) { slots[4].stackSize++; } } - + public int getShield() { - + if(slots[3] == null || !(slots[3].getItem() instanceof ItemFusionShield)) return 0; - + return ((ItemFusionShield)slots[3].getItem()).maxTemp; } @Override - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - - this.isOn = data.getBoolean("isOn"); - this.power = data.getLong("power"); - this.blanket = data.getInteger("blanket"); - this.progress = data.getInteger("progress"); // - tanks[0].readFromNBT(data, "t0"); - tanks[1].readFromNBT(data, "t1"); - plasma.readFromNBT(data, "t2"); + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeBoolean(this.isOn); + buf.writeLong(this.power); + buf.writeInt(this.progress); + tanks[0].serialize(buf); + tanks[1].serialize(buf); + plasma.serialize(buf); + if(slots[3] == null) { + buf.writeInt(0); + } else if(slots[3].getItem() == ModItems.fusion_shield_tungsten) { + buf.writeInt(1); + } else if(slots[3].getItem() == ModItems.fusion_shield_desh) { + buf.writeInt(2); + } else if(slots[3].getItem() == ModItems.fusion_shield_chlorophyte) { + buf.writeInt(3); + } else if(slots[3].getItem() == ModItems.fusion_shield_vaporwave) { + buf.writeInt(4); + } + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.isOn = buf.readBoolean(); + this.power = buf.readLong(); + this.progress = buf.readInt(); + tanks[0].deserialize(buf); + tanks[1].deserialize(buf); + plasma.deserialize(buf); + this.blanket = buf.readInt(); } @Override @@ -420,11 +424,11 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece audio = null; } } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + this.power = nbt.getLong("power"); this.isOn = nbt.getBoolean("isOn"); this.totalRuntime = nbt.getLong("totalRuntime"); @@ -433,11 +437,11 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece tanks[1].readFromNBT(nbt, "steam"); plasma.readFromNBT(nbt, "plasma"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setLong("power", this.power); nbt.setBoolean("isOn", isOn); nbt.setLong("totalRuntime", this.totalRuntime); @@ -446,12 +450,12 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece tanks[1].writeToNBT(nbt, "steam"); plasma.writeToNBT(nbt, "plasma"); } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord + 0.5 - 8, @@ -462,35 +466,35 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece zCoord + 0.5 + 8 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { return 65536.0D; } - + public void disassemble() { - + MachineITER.drop = false; - + int[][][] layout = TileEntityITERStruct.layout; - + for(int y = 0; y < 5; y++) { for(int x = 0; x < layout[0].length; x++) { for(int z = 0; z < layout[0][0].length; z++) { - + int ly = y > 2 ? 4 - y : y; - + int width = 7; - + if(x == width && y == 0 && z == width) continue; - + int b = layout[ly][x][z]; - + switch(b) { case 1: worldObj.setBlock(xCoord - width + x, yCoord + y - 2, zCoord - width + z, ModBlocks.fusion_conductor, 1, 3); break; case 2: worldObj.setBlock(xCoord - width + x, yCoord + y - 2, zCoord - width + z, ModBlocks.fusion_center); break; @@ -500,14 +504,14 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece } } } - + worldObj.setBlock(xCoord, yCoord - 2, zCoord, ModBlocks.struct_iter_core); - + MachineITER.drop = true; - + List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(50, 10, 50)); - + for(EntityPlayer player : players) { player.triggerAchievement(MainRegistry.achMeltdown); } @@ -545,7 +549,7 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIITER(player.inventory, this); } @@ -650,4 +654,52 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece } throw new NoSuchMethodException(); } + + @Override + public FluidTank getTankToPaste() { + return null; + } + + @Override + public String[] getFunctionInfo() { + return new String[] { + PREFIX_VALUE + "durability", + PREFIX_VALUE + "durabilitypercent", + PREFIX_FUNCTION + "toggle", + PREFIX_FUNCTION + "switch" + NAME_SEPARATOR + "on/off", + }; + } + + @Override + public String provideRORValue(String name) { + if((PREFIX_VALUE + "durability").equals(name)) return (slots[3] != null && slots[3].getItem() instanceof ItemFusionShield) ? "" + (((ItemFusionShield) slots[3].getItem()).maxDamage - ItemFusionShield.getShieldDamage(slots[3])) : "0"; + if((PREFIX_VALUE + "durabilitypercent").equals(name)) return (slots[3] != null && slots[3].getItem() instanceof ItemFusionShield) ? "" + ((((ItemFusionShield) slots[3].getItem()).maxDamage - ItemFusionShield.getShieldDamage(slots[3])) * 100 / ((ItemFusionShield) slots[3].getItem()).maxDamage) : "0"; + return null; + } + + @Override + public String runRORFunction(String name, String[] params) { + + if((PREFIX_FUNCTION + "toggle").equals(name)) { + this.isOn = !this.isOn; + this.markChanged(); + return null; + } + + + if((PREFIX_FUNCTION + "switch").equals(name) && params.length > 0) { + if("on".equals(params[0])) { + this.isOn = true; + this.markChanged(); + return null; + } + if("off".equals(params[0])) { + this.isOn = false; + this.markChanged(); + return null; + } + } + + return null; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityLockableBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityLockableBase.java index 5e65220a5..466072d46 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityLockableBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityLockableBase.java @@ -3,15 +3,16 @@ package com.hbm.tileentity.machine; import com.hbm.items.ModItems; import com.hbm.items.tool.ItemKey; import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.ArmorUtil; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -public abstract class TileEntityLockableBase extends TileEntity { - +public abstract class TileEntityLockableBase extends TileEntityLoadedBase { + protected int lock; private boolean isLocked = false; protected double lockMod = 0.1D; @@ -19,107 +20,113 @@ public abstract class TileEntityLockableBase extends TileEntity { public boolean isLocked() { return isLocked; } - + public void lock() { - if(lock == 0) { MainRegistry.logger.error("A block has been set to locked state before setting pins, this should not happen and may cause errors! " + this.toString()); } - isLocked = true; + markDirty(); } - - public void setPins(int pins) { - lock = pins; - } - - public int getPins() { - return lock; - } - - public void setMod(double mod) { - lockMod = mod; - } - - public double getMod() { - return lockMod; - } - + + public void setPins(int pins) { lock = pins; markDirty(); } + public int getPins() { return lock; } + public void setMod(double mod) { lockMod = mod; markDirty(); } + public double getMod() { return lockMod; } + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + lock = nbt.getInteger("lock"); isLocked = nbt.getBoolean("isLocked"); lockMod = nbt.getDouble("lockMod"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setInteger("lock", lock); nbt.setBoolean("isLocked", isLocked); nbt.setDouble("lockMod", lockMod); } + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + + buf.writeInt(lock); + buf.writeBoolean(isLocked); + buf.writeDouble(lockMod); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + + lock = buf.readInt(); + isLocked = buf.readBoolean(); + lockMod = buf.readDouble(); + } + public boolean canAccess(EntityPlayer player) { - + if(!isLocked) { return true; } else { - if(player == null) return false; + if(player == null) + return false; ItemStack stack = player.getHeldItem(); - - if(stack != null && stack.getItem() instanceof ItemKey && - ItemKey.getPins(stack) == this.lock) { - worldObj.playSoundAtEntity(player, "hbm:block.lockOpen", 1.0F, 1.0F); + + if(stack != null && stack.getItem() instanceof ItemKey && ItemKey.getPins(stack) == this.lock) { + worldObj.playSoundAtEntity(player, "hbm:block.lockOpen", 1.0F, 1.0F); return true; } - + if(stack != null && stack.getItem() == ModItems.key_red) { - worldObj.playSoundAtEntity(player, "hbm:block.lockOpen", 1.0F, 1.0F); + worldObj.playSoundAtEntity(player, "hbm:block.lockOpen", 1.0F, 1.0F); return true; } - + return tryPick(player); } } - + private boolean tryPick(EntityPlayer player) { boolean canPick = false; ItemStack stack = player.getHeldItem(); double chanceOfSuccess = this.lockMod * 100; - - if(stack != null && stack.getItem() == ModItems.pin && player.inventory.hasItem(ModItems.screwdriver)) { - + + if(stack != null && stack.getItem() == ModItems.pin && (player.inventory.hasItem(ModItems.screwdriver) || player.inventory.hasItem(ModItems.screwdriver_desh))) { + stack.stackSize--; canPick = true; } - - if(stack != null && stack.getItem() == ModItems.screwdriver && player.inventory.hasItem(ModItems.pin)) { - + + if(stack != null && (stack.getItem() == ModItems.screwdriver || stack.getItem() == ModItems.screwdriver_desh) && player.inventory.hasItem(ModItems.pin)) { + player.inventory.consumeInventoryItem(ModItems.pin); player.inventoryContainer.detectAndSendChanges(); canPick = true; } - + if(canPick) { - + if(ArmorUtil.checkArmorPiece(player, ModItems.jackt, 2) || ArmorUtil.checkArmorPiece(player, ModItems.jackt2, 2)) chanceOfSuccess *= 100D; - + double rand = player.worldObj.rand.nextDouble() * 100; - + if(chanceOfSuccess > rand) { - worldObj.playSoundAtEntity(player, "hbm:item.pinUnlock", 1.0F, 1.0F); + worldObj.playSoundAtEntity(player, "hbm:item.pinUnlock", 1.0F, 1.0F); return true; } - worldObj.playSoundAtEntity(player, "hbm:item.pinBreak", 1.0F, 0.8F + player.worldObj.rand.nextFloat() * 0.2F); + worldObj.playSoundAtEntity(player, "hbm:item.pinBreak", 1.0F, 0.8F + player.worldObj.rand.nextFloat() * 0.2F); } - + return false; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java index a01b3b6f6..7777ac492 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java @@ -1,7 +1,6 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.ModBlocks; -import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.CompatEnergyControl; @@ -27,12 +26,7 @@ public class TileEntityMachineAmgen extends TileEntityLoadedBase implements IEne Block block = worldObj.getBlock(xCoord, yCoord, zCoord); - if(block == ModBlocks.machine_amgen) { - float rad = ChunkRadiationManager.proxy.getRadiation(worldObj, xCoord, yCoord, zCoord); - this.output += rad; - ChunkRadiationManager.proxy.decrementRad(worldObj, xCoord, yCoord, zCoord, 5F); - - } else if(block == ModBlocks.machine_geo) { + if(block == ModBlocks.machine_geo) { this.checkGeoInteraction(xCoord, yCoord + 1, zCoord); this.checkGeoInteraction(xCoord, yCoord - 1, zCoord); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmmoPress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmmoPress.java new file mode 100644 index 000000000..52e8c65a5 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmmoPress.java @@ -0,0 +1,234 @@ +package com.hbm.tileentity.machine; + +import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.container.ContainerMachineAmmoPress; +import com.hbm.inventory.gui.GUIMachineAmmoPress; +import com.hbm.inventory.recipes.AmmoPressRecipes; +import com.hbm.inventory.recipes.AmmoPressRecipes.AmmoPressRecipe; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.TileEntityMachineBase; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; + +public class TileEntityMachineAmmoPress extends TileEntityMachineBase implements IControlReceiver, IGUIProvider { + + public int selectedRecipe = -1; + + public AnimationState animState = AnimationState.LIFTING; + + public int playAnimation = 0; + public float prevLift = 0F; + public float lift = 0F; + public float prevPress = 0F; + public float press = 0F; + + public static enum AnimationState { + LIFTING, PRESSING, RETRACTING, LOWERING + } + + public TileEntityMachineAmmoPress() { + super(10); + } + + @Override + public String getName() { + return "container.machineAmmoPress"; + } + + @Override + public void updateEntity() { + if(!worldObj.isRemote) { + if(this.playAnimation > 0) this.playAnimation--; + this.performRecipe(); + this.networkPackNT(25); + } else { + + this.prevLift = this.lift; + this.prevPress = this.press; + + if(playAnimation > 0 || lift > 0) switch(animState) { + case LIFTING: + this.lift += 1F / 40F; + if(this.lift >= 1F) { + this.lift = 1F; + this.animState = AnimationState.PRESSING; + } break; + case PRESSING: + this.press += 1F / 20F; + if(this.press >= 1F) { + this.press = 1F; + this.animState = AnimationState.RETRACTING; + } break; + case RETRACTING: + this.press -= 1F / 20F; + if(this.press <= 0F) { + this.press = 0F; + this.animState = AnimationState.LOWERING; + } break; + case LOWERING: + this.lift -= 1F / 40F; + if(this.lift <= 0F) { + this.lift = 0F; + this.animState = AnimationState.LIFTING; + } break; + } + } + } + + // we want to update the output every time the grid changes, but producing output changes the grid again, so we just put a recursion brake on this fucker + public static boolean recipeLock = false; + + @Override + public void setInventorySlotContents(int slot, ItemStack stack) { + super.setInventorySlotContents(slot, stack); + /*if(this.worldObj.isRemote) return; + + //while this allowed one shift click to process absolutely everything, it also caused a fuckton of issues + if(!recipeLock) { + recipeLock = true; + if(slot < 10) this.performRecipe(); + recipeLock = false; + }*/ + } + + public void performRecipe() { + if(selectedRecipe < 0 || selectedRecipe >= AmmoPressRecipes.recipes.size()) return; + + AmmoPressRecipe recipe = AmmoPressRecipes.recipes.get(selectedRecipe); + + if(slots[9] != null) { + if(slots[9].getItem() != recipe.output.getItem()) return; + if(slots[9].getItemDamage() != recipe.output.getItemDamage()) return; + if(slots[9].stackSize + recipe.output.stackSize > slots[9].getMaxStackSize()) return; + } + + if(this.hasIngredients(recipe)) { + this.produceAmmo(recipe); + performRecipe(); + } + } + + public boolean hasIngredients(AmmoPressRecipe recipe) { + + for(int i = 0; i < 9; i++) { + if(recipe.input[i] == null && slots[i] == null) continue; + if(recipe.input[i] != null && slots[i] == null) return false; + if(recipe.input[i] == null && slots[i] != null) return false; + if(!recipe.input[i].matchesRecipe(slots[i], false)) return false; + } + + return true; + } + + //implies hasIngredients returns true, will violently explode otherwise + protected void produceAmmo(AmmoPressRecipe recipe) { + + for(int i = 0; i < 9; i++) { + if(recipe.input[i] != null) this.decrStackSize(i, recipe.input[i].stacksize); + } + + if(slots[9] == null) { + slots[9] = recipe.output.copy(); + } else { + slots[9].stackSize += recipe.output.stackSize; + } + + this.playAnimation = 40; + } + + public int[] access = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; + + @Override + public int[] getAccessibleSlotsFromSide(int side) { + return access; + } + + @Override + public boolean canExtractItem(int i, ItemStack stack, int j) { + return i == 9; + } + + @Override + public boolean isItemValidForSlot(int slot, ItemStack stack) { + if(slot > 8) return false; + if(selectedRecipe < 0 || selectedRecipe >= AmmoPressRecipes.recipes.size()) return false; + + AmmoPressRecipe recipe = AmmoPressRecipes.recipes.get(selectedRecipe); + if(recipe.input[slot] == null) return false; + return recipe.input[slot].matchesRecipe(stack, true); + } + + @Override public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeInt(this.selectedRecipe); + buf.writeInt(this.playAnimation); + + } + + @Override public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.selectedRecipe = buf.readInt(); + this.playAnimation = buf.readInt(); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.selectedRecipe = nbt.getInteger("recipe"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setInteger("recipe", selectedRecipe); + } + + @Override + public boolean hasPermission(EntityPlayer player) { + return this.isUseableByPlayer(player); + } + + @Override + public void receiveControl(NBTTagCompound data) { + int newRecipe = data.getInteger("selection"); + if(newRecipe == selectedRecipe) this.selectedRecipe = -1; + else this.selectedRecipe = newRecipe; + this.markDirty(); + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 1, + yCoord, + zCoord - 1, + xCoord + 2, + yCoord + 2, + zCoord + 2 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return new ContainerMachineAmmoPress(player.inventory, this); } + @Override @SideOnly(Side.CLIENT) public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineAmmoPress(player.inventory, this); } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java index 2162cfeb8..7c6df467c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java @@ -6,19 +6,15 @@ import com.hbm.inventory.container.ContainerMachineArcFurnace; import com.hbm.inventory.gui.GUIMachineArcFurnace; import com.hbm.items.ModItems; import com.hbm.lib.Library; -import com.hbm.packet.AuxElectricityPacket; -import com.hbm.packet.AuxGaugePacket; -import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.CompatEnergyControl; import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.tile.IInfoProviderEC; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; @@ -32,12 +28,12 @@ import net.minecraftforge.common.util.ForgeDirection; public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements ISidedInventory, IEnergyReceiverMK2, IGUIProvider, IInfoProviderEC { private ItemStack slots[]; - + public int dualCookTime; public long power; public static final long maxPower = 50000; public static final int processingSpeed = 20; - + //0: i //1: o //2: 1 @@ -45,9 +41,9 @@ public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements //4: 3 //5: b private static final int[] slots_io = new int[] {0, 1, 2, 3, 4, 5}; - + private String customName; - + public TileEntityMachineArcFurnace() { slots = new ItemStack[6]; } @@ -92,9 +88,10 @@ public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements public boolean hasCustomInventoryName() { return this.customName != null && this.customName.length() > 0; } - + public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -111,7 +108,7 @@ public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64; } } - + //You scrubs aren't needed for anything (right now) @Override public void openInventory() {} @@ -120,16 +117,16 @@ public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements @Override public boolean isItemValidForSlot(int i, ItemStack itemStack) { - + if(i == 2 || i == 3 || i == 4) return itemStack.getItem() == ModItems.arc_electrode; - + if(i == 0) return FurnaceRecipes.smelting().getSmeltingResult(itemStack) != null; - + return false; } - + @Override public ItemStack decrStackSize(int i, int j) { if(slots[i] != null) @@ -145,22 +142,22 @@ public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements { slots[i] = null; } - + return itemStack1; } else { return null; } } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); NBTTagList list = nbt.getTagList("items", 10); - + this.power = nbt.getLong("powerTime"); this.dualCookTime = nbt.getInteger("cookTime"); slots = new ItemStack[getSizeInventory()]; - + for(int i = 0; i < list.tagCount(); i++) { NBTTagCompound nbt1 = list.getCompoundTagAt(i); @@ -170,15 +167,17 @@ public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setLong("powerTime", power); nbt.setInteger("cookTime", dualCookTime); NBTTagList list = new NBTTagList(); - + for(int i = 0; i < slots.length; i++) { if(slots[i] != null) @@ -190,8 +189,12 @@ public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } - + @Override public int[] getAccessibleSlotsFromSide(int side) { return slots_io; @@ -204,87 +207,87 @@ public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements @Override public boolean canExtractItem(int i, ItemStack itemStack, int j) { - + if(i == 1) return true; - + if(i == 2 || i == 3 || i == 4) return itemStack.getItem() == ModItems.arc_electrode_burnt; - + return false; } - + public int getDiFurnaceProgressScaled(int i) { return (dualCookTime * i) / processingSpeed; } - + public long getPowerRemainingScaled(long i) { return (power * i) / maxPower; } - + public boolean hasPower() { return power >= 250; } - + public boolean isProcessing() { return this.dualCookTime > 0; } - + private boolean hasElectrodes() { - + if(slots[2] != null && slots[3] != null && slots[4] != null) { if((slots[2].getItem() == ModItems.arc_electrode) && (slots[3].getItem() == ModItems.arc_electrode) && (slots[4].getItem() == ModItems.arc_electrode)) return true; } - + return false; } - + public boolean canProcess() { - + if(!hasElectrodes()) return false; - + if(slots[0] == null) { return false; } ItemStack itemStack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[0]); - + if(itemStack == null) { return false; } - + if(slots[1] == null) { return true; } - + if(!slots[1].isItemEqual(itemStack)) { return false; } - + if(slots[1].stackSize < getInventoryStackLimit() && slots[1].stackSize < slots[1].getMaxStackSize()) { return true; }else{ return slots[1].stackSize < itemStack.getMaxStackSize(); } } - + private void processItem() { if(canProcess()) { ItemStack itemStack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[0]); - + if(slots[1] == null) { slots[1] = itemStack.copy(); }else if(slots[1].isItemEqual(itemStack)) { slots[1].stackSize += itemStack.stackSize; } - + for(int i = 0; i < 1; i++) { if(slots[i].stackSize <= 0) @@ -300,26 +303,26 @@ public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements } } } - + //TODO: fix this punjabi trash @Override public void updateEntity() { boolean flag1 = false; - + if(!worldObj.isRemote) { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); - + if(hasPower() && canProcess()) { dualCookTime++; - + power -= 250; - + if(power < 0) power = 0; - + if(this.dualCookTime == processingSpeed) { this.dualCookTime = 0; @@ -329,22 +332,22 @@ public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements }else{ dualCookTime = 0; } - + boolean trigger = true; - + if(hasPower() && canProcess() && this.dualCookTime == 0) { trigger = false; } - + if(trigger) { flag1 = true; MachineArcFurnace.updateBlockState(this.dualCookTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); } - + if(worldObj.getBlock(xCoord, yCoord, zCoord) == ModBlocks.machine_arc_furnace_off) { - + int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord); if(hasElectrodes() && meta <= 5) { @@ -354,30 +357,42 @@ public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, meta - 4, 2); } } - + power = Library.chargeTEFromItems(slots, 5, power, maxPower); - PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, dualCookTime, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + networkPackNT(50); // it makes no sense to refactor this to some, but I want to delete the AuxElectricityPacket already } - - + if(flag1) { this.markDirty(); } } + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(power); + buf.writeInt(dualCookTime); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + power = buf.readLong(); + dualCookTime = buf.readInt(); + } + @Override public void setPower(long i) { power = i; - + } @Override public long getPower() { return power; - + } @Override @@ -392,7 +407,7 @@ public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineArcFurnace(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnaceLarge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnaceLarge.java index abd5b4ec2..6c9be1f71 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnaceLarge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnaceLarge.java @@ -1,13 +1,15 @@ package com.hbm.tileentity.machine; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; +import com.hbm.handler.threading.PacketThreading; import com.hbm.interfaces.IControlReceiver; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerMachineArcFurnaceLarge; import com.hbm.inventory.gui.GUIMachineArcFurnaceLarge; import com.hbm.inventory.material.MaterialShapes; @@ -21,22 +23,20 @@ import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.CrucibleUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -48,7 +48,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase implements IEnergyReceiverMK2, IControlReceiver, IGUIProvider, IUpgradeInfoProvider { - + public long power; public static final long maxPower = 2_500_000; public boolean liquidMode = false; @@ -57,25 +57,27 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl public boolean hasMaterial; public int delay; public int upgrade; - + public float lid; public float prevLid; public int approachNum; public float syncLid; - + private AudioWrapper audioLid; private AudioWrapper audioProgress; - + + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public byte[] electrodes = new byte[3]; public static final byte ELECTRODE_NONE = 0; public static final byte ELECTRODE_FRESH = 1; public static final byte ELECTRODE_USED = 2; public static final byte ELECTRODE_DEPLETED = 3; - + public int getMaxInputSize() { return upgrade == 0 ? 1 : upgrade == 1 ? 4 : upgrade == 2 ? 8 : 16; } - + public static final int maxLiquid = MaterialShapes.BLOCK.q(128); public List liquids = new ArrayList(); @@ -91,7 +93,7 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl @Override public void setInventorySlotContents(int i, ItemStack stack) { super.setInventorySlotContents(i, stack); - + if(stack != null && stack.getItem() instanceof ItemMachineUpgrade && i == 4) { worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:item.upgradePlug", 1.0F, 1.0F); } @@ -99,31 +101,31 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl @Override public void updateEntity() { - - UpgradeManager.eval(slots, 4, 4); - this.upgrade = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); - + + upgradeManager.checkSlots(this, slots, 4, 4); + this.upgrade = upgradeManager.getLevel(UpgradeType.SPEED); + if(!worldObj.isRemote) { - + this.power = Library.chargeTEFromItems(slots, 3, power, maxPower); this.isProgressing = false; - + for(DirPos pos : getConPos()) this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - + if(power > 0) { - + boolean ingredients = this.hasIngredients(); boolean electrodes = this.hasElectrodes(); - + int consumption = (int) (1_000 * Math.pow(5, upgrade)); - + if(ingredients && electrodes && delay <= 0 && this.liquids.isEmpty()) { if(lid > 0) { lid -= 1F / (60F / (upgrade * 0.5 + 1)); if(lid < 0) lid = 0; this.progress = 0; } else { - + if(power >= consumption) { int duration = 400 / (upgrade * 2 + 1); this.progress += 1F / duration; @@ -146,18 +148,18 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl if(lid > 1) lid = 1; } } - + hasMaterial = ingredients; } - + this.decideElectrodeState(); - + if(!hasMaterial) hasMaterial = this.hasIngredients(); - + if(!this.liquids.isEmpty() && this.lid > 0F) { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); - + Vec3 impact = Vec3.createVectorHelper(0, 0, 0); MaterialStack didPour = CrucibleUtil.pourFullStack(worldObj, xCoord + 0.5D + dir.offsetX * 2.875D, yCoord + 1.25D, zCoord + 0.5D + dir.offsetZ * 2.875D, 6, true, this.liquids, MaterialShapes.INGOT.q(1), impact); @@ -169,24 +171,24 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl data.setFloat("off", 0.625F); data.setFloat("base", 0.625F); data.setFloat("len", Math.max(1F, yCoord + 1 - (float) (Math.ceil(impact.yCoord) - 0.875))); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, xCoord + 0.5D + dir.offsetX * 2.875D, yCoord + 1, zCoord + 0.5D + dir.offsetZ * 2.875D), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord + 1, zCoord + 0.5, 50)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, xCoord + 0.5D + dir.offsetX * 2.875D, yCoord + 1, zCoord + 0.5D + dir.offsetZ * 2.875D), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord + 1, zCoord + 0.5, 50)); } } - + this.liquids.removeIf(o -> o.amount <= 0); - + this.networkPackNT(150); } else { this.prevLid = this.lid; - + if(this.approachNum > 0) { this.lid = this.lid + ((this.syncLid - this.lid) / (float) this.approachNum); --this.approachNum; } else { this.lid = this.syncLid; } - + if(this.lid != this.prevLid) { if(this.audioLid == null || !this.audioLid.isPlaying()) { this.audioLid = MainRegistry.proxy.getLoopedSound("hbm:door.wgh_start", xCoord, yCoord, zCoord, this.getVolume(0.75F), 15F, 1.0F, 5); @@ -199,11 +201,11 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl this.audioLid = null; } } - + if((lid == 1 || lid == 0) && lid != prevLid && !(this.prevLid == 0 && this.lid == 1)) { MainRegistry.proxy.playSoundClient(xCoord, yCoord, zCoord, "hbm:door.wgh_stop", this.getVolume(1), 1F); } - + if(this.isProgressing) { if(this.audioProgress == null || !this.audioProgress.isPlaying()) { this.audioProgress = MainRegistry.proxy.getLoopedSound("hbm:block.electricHum", xCoord, yCoord, zCoord, this.getVolume(1.5F), 15F, 0.75F, 5); @@ -217,7 +219,7 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl this.audioProgress = null; } } - + if(this.lid != this.prevLid && this.lid > this.prevLid && !(this.prevLid == 0 && this.lid == 1) && MainRegistry.proxy.me().getDistance(xCoord + 0.5, yCoord + 4, zCoord + 0.5) < 50) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "tower"); @@ -234,7 +236,7 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl data.setFloat("strafe", 0.05F); for(int i = 0; i < 3; i++) MainRegistry.proxy.effectNT(data); } - + if(this.lid != this.prevLid && this.lid < this.prevLid && this.lid > 0.5F && this.hasMaterial && MainRegistry.proxy.me().getDistance(xCoord + 0.5, yCoord + 4, zCoord + 0.5) < 50) { /*NBTTagCompound data = new NBTTagCompound(); data.setString("type", "tower"); @@ -250,7 +252,7 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl data.setInteger("color", 0x808080); data.setFloat("strafe", 0.15F); MainRegistry.proxy.effectNT(data);*/ - + if(worldObj.rand.nextInt(5) == 0) { NBTTagCompound flame = new NBTTagCompound(); flame.setString("type", "rbmkflame"); @@ -263,10 +265,10 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl } } } - + public void decideElectrodeState() { for(int i = 0; i < 3; i++) { - + if(slots[i] != null) { if(slots[i].getItem() == ModItems.arc_electrode_burnt) { this.electrodes[i] = this.ELECTRODE_DEPLETED; continue; } if(slots[i].getItem() == ModItems.arc_electrode) { @@ -278,26 +280,26 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl this.electrodes[i] = this.ELECTRODE_NONE; } } - + public void process() { - + for(int i = 5; i < 25; i++) { if(slots[i] == null) continue; ArcFurnaceRecipe recipe = ArcFurnaceRecipes.getOutput(slots[i], this.liquidMode); if(recipe == null) continue; - + if(!liquidMode && recipe.solidOutput != null) { int amount = slots[i].stackSize; slots[i] = recipe.solidOutput.copy(); slots[i].stackSize *= amount; } - + if(liquidMode && recipe.fluidOutput != null) { - + while(slots[i] != null && slots[i].stackSize > 0) { int liquid = this.getStackAmount(liquids); int toAdd = this.getStackAmount(recipe.fluidOutput); - + if(liquid + toAdd <= this.maxLiquid) { this.decrStackSize(i, 1); for(MaterialStack stack : recipe.fluidOutput) { @@ -309,16 +311,16 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl } } } - + for(int i = 0; i < 3; i++) { if(ItemArcElectrode.damage(slots[i])) { slots[i] = new ItemStack(ModItems.arc_electrode_burnt, 1, slots[i].getItemDamage()); } } } - + public boolean hasIngredients() { - + for(int i = 5; i < 25; i++) { if(slots[i] == null) continue; ArcFurnaceRecipe recipe = ArcFurnaceRecipes.getOutput(slots[i], this.liquidMode); @@ -326,10 +328,10 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl if(liquidMode && recipe.fluidOutput != null) return true; if(!liquidMode && recipe.solidOutput != null) return true; } - + return false; } - + public boolean hasElectrodes() { for(int i = 0; i < 3; i++) { if(slots[i] == null || slots[i].getItem() != ModItems.arc_electrode) return false; @@ -385,35 +387,35 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl if(slot > 4) return lid > 0 && ArcFurnaceRecipes.getOutput(stack, this.liquidMode) == null; return false; } - + public void addToStack(MaterialStack matStack) { - + for(MaterialStack mat : liquids) { if(mat.material == matStack.material) { mat.amount += matStack.amount; return; } } - + liquids.add(matStack.copy()); } - + public static int getStackAmount(List stack) { int amount = 0; for(MaterialStack mat : stack) amount += mat.amount; return amount; } - + public static int getStackAmount(MaterialStack[] stack) { int amount = 0; for(MaterialStack mat : stack) amount += mat.amount; return amount; } - + protected DirPos[] getConPos() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + return new DirPos[] { new DirPos(xCoord + dir.offsetX * 3 + rot.offsetX, yCoord, zCoord + dir.offsetZ * 3 + rot.offsetZ, dir), new DirPos(xCoord + dir.offsetX * 3 - rot.offsetX, yCoord, zCoord + dir.offsetZ * 3 - rot.offsetZ, dir), @@ -433,17 +435,17 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl buf.writeBoolean(isProgressing); buf.writeBoolean(liquidMode); buf.writeBoolean(hasMaterial); - + for(int i = 0; i < 3; i++) buf.writeByte(electrodes[i]); - + buf.writeShort(liquids.size()); - + for(MaterialStack mat : liquids) { buf.writeInt(mat.material.id); buf.writeInt(mat.amount); } } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); @@ -453,32 +455,32 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl this.isProgressing = buf.readBoolean(); this.liquidMode = buf.readBoolean(); this.hasMaterial = buf.readBoolean(); - + for(int i = 0; i < 3; i++) electrodes[i] = buf.readByte(); - + int mats = buf.readShort(); - + this.liquids.clear(); for(int i = 0; i < mats; i++) { liquids.add(new MaterialStack(Mats.matById.get(buf.readInt()), buf.readInt())); } - + if(syncLid != 0 && syncLid != 1) this.approachNum = 2; } @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + this.power = nbt.getLong("power"); this.liquidMode = nbt.getBoolean("liquidMode"); this.progress = nbt.getFloat("progress"); this.lid = nbt.getFloat("lid"); this.delay = nbt.getInteger("delay"); - + int count = nbt.getShort("count"); liquids.clear(); - + for(int i = 0; i < count; i++) { liquids.add(new MaterialStack(Mats.matById.get(nbt.getInteger("m" + i)), nbt.getInteger("a" + i))); } @@ -492,7 +494,7 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl nbt.setFloat("progress", progress); nbt.setFloat("lid", lid); nbt.setInteger("delay", delay); - + int count = liquids.size(); nbt.setShort("count", (short) count); for(int i = 0; i < count; i++) { @@ -516,12 +518,12 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl public long getMaxPower() { return maxPower; } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 3, @@ -532,10 +534,10 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl zCoord + 4 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -549,7 +551,7 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineArcFurnaceLarge(player.inventory, this); } @@ -581,8 +583,10 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + return upgrades; } + } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcWelder.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcWelder.java index 6a3132006..257fc33af 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcWelder.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcWelder.java @@ -1,10 +1,12 @@ package com.hbm.tileentity.machine; +import java.util.HashMap; import java.util.List; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.blocks.ModBlocks; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerMachineArcWelder; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -14,15 +16,12 @@ import com.hbm.inventory.recipes.ArcWelderRecipes.ArcWelderRecipe; import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.IConditionalInvAccess; -import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.IUpgradeInfoProvider; -import com.hbm.tileentity.TileEntityMachineBase; -import com.hbm.util.I18nUtil; +import com.hbm.tileentity.*; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.util.BobMathUtil; import com.hbm.util.fauxpointtwelve.BlockPos; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardReceiver; @@ -30,7 +29,6 @@ import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.Item; @@ -41,18 +39,20 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineArcWelder extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IConditionalInvAccess, IGUIProvider, IUpgradeInfoProvider { - +public class TileEntityMachineArcWelder extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IConditionalInvAccess, IGUIProvider, IUpgradeInfoProvider, IFluidCopiable { + public long power; public long maxPower = 2_000; public long consumption; - + public int progress; public int processTime = 1; - + public FluidTank tank; public ItemStack display; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public TileEntityMachineArcWelder() { super(8); this.tank = new FluidTank(Fluids.NONE, 24_000); @@ -66,7 +66,7 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements @Override public void setInventorySlotContents(int i, ItemStack stack) { super.setInventorySlotContents(i, stack); - + if(stack != null && stack.getItem() instanceof ItemMachineUpgrade && i >= 6 && i <= 7) { worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:item.upgradePlug", 1.0F, 1.0F); } @@ -74,72 +74,74 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + this.power = Library.chargeTEFromItems(slots, 4, this.getPower(), this.getMaxPower()); this.tank.setType(5, slots); - + if(worldObj.getTotalWorldTime() % 20 == 0) { for(DirPos pos : getConPos()) { this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); if(tank.getTankType() != Fluids.NONE) this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + ArcWelderRecipe recipe = ArcWelderRecipes.getRecipe(slots[0], slots[1], slots[2]); long intendedMaxPower; - - UpgradeManager.eval(slots, 6, 7); - int redLevel = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); - int blueLevel = Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3); - + + upgradeManager.checkSlots(this, slots, 6, 7); + int redLevel = upgradeManager.getLevel(UpgradeType.SPEED); + int blueLevel = upgradeManager.getLevel(UpgradeType.POWER); + int blackLevel = upgradeManager.getLevel(UpgradeType.OVERDRIVE); + if(recipe != null) { this.processTime = recipe.duration - (recipe.duration * redLevel / 6) + (recipe.duration * blueLevel / 3); this.consumption = recipe.consumption + (recipe.consumption * redLevel) - (recipe.consumption * blueLevel / 6); - intendedMaxPower = recipe.consumption * 20; - + this.consumption *= Math.pow(2, blackLevel); + intendedMaxPower = consumption * 20; + if(canProcess(recipe)) { - this.progress++; + this.progress += (1 + blackLevel); this.power -= this.consumption; - + if(progress >= processTime) { this.progress = 0; this.consumeItems(recipe); - + if(slots[3] == null) { slots[3] = recipe.output.copy(); } else { slots[3].stackSize += recipe.output.stackSize; } - + this.markDirty(); } - + if(worldObj.getTotalWorldTime() % 2 == 0) { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); NBTTagCompound dPart = new NBTTagCompound(); dPart.setString("type", worldObj.getTotalWorldTime() % 20 == 0 ? "tau" : "hadron"); dPart.setByte("count", (byte) 5); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(dPart, xCoord + 0.5 - dir.offsetX * 0.5, yCoord + 1.25, zCoord + 0.5 - dir.offsetZ * 0.5), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 25)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(dPart, xCoord + 0.5 - dir.offsetX * 0.5, yCoord + 1.25, zCoord + 0.5 - dir.offsetZ * 0.5), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 25)); } - + } else { this.progress = 0; } - + } else { this.progress = 0; this.consumption = 100; intendedMaxPower = 2000; } - + this.maxPower = Math.max(intendedMaxPower, power); - + this.networkPackNT(25); } } - + @Override public void serialize(ByteBuf buf) { super.serialize(buf); @@ -148,11 +150,11 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements buf.writeLong(consumption); buf.writeInt(progress); buf.writeInt(processTime); - + tank.serialize(buf); - + ArcWelderRecipe recipe = ArcWelderRecipes.getRecipe(slots[0], slots[1], slots[2]); - + if(recipe != null) { buf.writeBoolean(true); buf.writeInt(Item.getIdFromItem(recipe.output.getItem())); @@ -160,7 +162,7 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements } else buf.writeBoolean(false); } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); @@ -169,37 +171,37 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements consumption = buf.readLong(); progress = buf.readInt(); processTime = buf.readInt(); - + tank.deserialize(buf); - + if(buf.readBoolean()) { this.display = new ItemStack(Item.getItemById(buf.readInt()), 1, buf.readInt()); } else this.display = null; } - + public boolean canProcess(ArcWelderRecipe recipe) { - + if(this.power < this.consumption) return false; - + if(recipe.fluid != null) { if(this.tank.getTankType() != recipe.fluid.type) return false; if(this.tank.getFill() < recipe.fluid.fill) return false; } - + if(slots[3] != null) { if(slots[3].getItem() != recipe.output.getItem()) return false; if(slots[3].getItemDamage() != recipe.output.getItemDamage()) return false; if(slots[3].stackSize + recipe.output.stackSize > slots[3].getMaxStackSize()) return false; } - + return true; } - + public void consumeItems(ArcWelderRecipe recipe) { - + for(AStack aStack : recipe.ingredients) { - + for(int i = 0; i < 3; i++) { ItemStack stack = slots[i]; if(aStack.matchesRecipe(stack, true) && stack.stackSize >= aStack.stacksize) { @@ -208,17 +210,17 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements } } } - + if(recipe.fluid != null) { this.tank.setFill(tank.getFill() - recipe.fluid.fill); } } - + protected DirPos[] getConPos() { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + return new DirPos[] { new DirPos(xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ, dir), new DirPos(xCoord + dir.offsetX + rot.offsetX, yCoord, zCoord + dir.offsetZ + rot.offsetZ, dir), @@ -232,7 +234,7 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements new DirPos(xCoord - dir.offsetX - rot.offsetX * 2, yCoord, zCoord - dir.offsetZ - rot.offsetZ * 2, rot.getOpposite()) }; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -243,7 +245,7 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements this.processTime = nbt.getInteger("processTime"); tank.readFromNBT(nbt, "t"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -316,19 +318,19 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); BlockPos core = new BlockPos(xCoord, yCoord, zCoord); - + //Red if(pos.equals(core.clone().offset(rot)) || pos.equals(core.clone().offset(rot.getOpposite()).offset(dir.getOpposite()))) return new int[] { 0, 3 }; - + //Yellow if(pos.equals(core.clone().offset(dir.getOpposite()))) return new int[] { 1, 3 }; - + //Green if(pos.equals(core.clone().offset(rot.getOpposite())) || pos.equals(core.clone().offset(rot).offset(dir.getOpposite()))) return new int[] { 2, 3 }; - + return new int[] { }; } @@ -339,15 +341,15 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineArcWelder(player.inventory, this); } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -358,10 +360,10 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -370,7 +372,7 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements @Override public boolean canProvideInfo(UpgradeType type, int level, boolean extendedInfo) { - return type == UpgradeType.SPEED || type == UpgradeType.POWER; + return type == UpgradeType.SPEED || type == UpgradeType.POWER || type == UpgradeType.OVERDRIVE; } @Override @@ -384,12 +386,22 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "-" + (level * 100 / 6) + "%")); info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_DELAY, "+" + (level * 100 / 3) + "%")); } + if(type == UpgradeType.OVERDRIVE) { + info.add((BobMathUtil.getBlink() ? EnumChatFormatting.RED : EnumChatFormatting.DARK_GRAY) + "YES"); + } } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - if(type == UpgradeType.POWER) return 3; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.POWER, 3); + upgrades.put(UpgradeType.OVERDRIVE, 3); + return upgrades; + } + + @Override + public FluidTank getTankToPaste() { + return tank; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java index c16320387..1117d6674 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java @@ -1,12 +1,13 @@ package com.hbm.tileentity.machine; +import java.util.HashMap; import java.util.List; import java.util.Random; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; import com.hbm.handler.MultiblockHandlerXR; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerMachineAssembler; import com.hbm.inventory.gui.GUIMachineAssembler; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; @@ -14,14 +15,13 @@ import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import api.hbm.energymk2.IBatteryItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -31,12 +31,15 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +@Deprecated public class TileEntityMachineAssembler extends TileEntityMachineAssemblerBase implements IUpgradeInfoProvider { - + public int recipe = -1; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + Random rand = new Random(); - + public TileEntityMachineAssembler() { super(18); } @@ -51,19 +54,19 @@ public class TileEntityMachineAssembler extends TileEntityMachineAssemblerBase i if(i == 0) if(itemStack.getItem() instanceof IBatteryItem) return true; - + if(i == 1) return true; - + return false; } - + @Override public void updateEntity() { super.updateEntity(); - + if(!worldObj.isRemote) { - + //meta below 12 means that it's an old multiblock configuration if(this.getBlockMetadata() < 12) { int meta = this.getBlockMetadata(); @@ -84,18 +87,18 @@ public class TileEntityMachineAssembler extends TileEntityMachineAssemblerBase i worldObj.getTileEntity(xCoord, yCoord, zCoord).readFromNBT(data); return; } - + this.updateConnections(); this.consumption = 100; this.speed = 100; - - UpgradeManager.eval(slots, 1, 3); - int speedLevel = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); - int powerLevel = Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3); - int overLevel = UpgradeManager.getLevel(UpgradeType.OVERDRIVE); - + upgradeManager.checkSlots(this, slots, 1, 3); + + int speedLevel = upgradeManager.getLevel(UpgradeType.SPEED); + int powerLevel = upgradeManager.getLevel(UpgradeType.POWER); + int overLevel = upgradeManager.getLevel(UpgradeType.OVERDRIVE); + speed -= speedLevel * 25; consumption += speedLevel * 300; speed += powerLevel * 5; @@ -108,14 +111,14 @@ public class TileEntityMachineAssembler extends TileEntityMachineAssemblerBase i ComparableStack comp = ItemAssemblyTemplate.readType(slots[4]); rec = AssemblerRecipes.recipeList.indexOf(comp); }*/ - + this.networkPackNT(150); } else { - + float volume = this.getVolume(2F); if(isProgressing && volume > 0) { - + if(audio == null) { audio = this.createAudioLoop(); audio.updateVolume(volume); @@ -124,9 +127,9 @@ public class TileEntityMachineAssembler extends TileEntityMachineAssemblerBase i audio = rebootAudio(audio); audio.updateVolume(volume); } - + } else { - + if(audio != null) { audio.stopSound(); audio = null; @@ -134,7 +137,7 @@ public class TileEntityMachineAssembler extends TileEntityMachineAssemblerBase i } } } - + @Override public void serialize(ByteBuf buf) { super.serialize(buf); @@ -143,11 +146,11 @@ public class TileEntityMachineAssembler extends TileEntityMachineAssemblerBase i buf.writeInt(progress[i]); buf.writeInt(maxProgress[i]); } - + buf.writeBoolean(isProgressing); buf.writeInt(recipe); } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); @@ -156,28 +159,28 @@ public class TileEntityMachineAssembler extends TileEntityMachineAssemblerBase i progress[i] = buf.readInt(); maxProgress[i] = buf.readInt(); } - + isProgressing = buf.readBoolean(); recipe = buf.readInt(); } - + @Override public AudioWrapper createAudioLoop() { return MainRegistry.proxy.getLoopedSound("hbm:block.assemblerOperate", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F); } - + private void updateConnections() { - + for(DirPos pos : getConPos()) { this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + public DirPos[] getConPos() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); - + return new DirPos[] { new DirPos(xCoord + rot.offsetX * 3, yCoord, zCoord + rot.offsetZ * 3, rot), new DirPos(xCoord - rot.offsetX * 2, yCoord, zCoord - rot.offsetZ * 2, rot.getOpposite()), @@ -205,7 +208,7 @@ public class TileEntityMachineAssembler extends TileEntityMachineAssemblerBase i audio = null; } } - + private AudioWrapper audio; @Override @@ -245,12 +248,12 @@ public class TileEntityMachineAssembler extends TileEntityMachineAssemblerBase i public long getMaxPower() { return 100_000; } - + @Override public AxisAlignedBB getRenderBoundingBox() { return AxisAlignedBB.getBoundingBox(xCoord, yCoord, zCoord, xCoord + 1, yCoord + 1, zCoord + 1).expand(2, 1, 2); } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -264,7 +267,7 @@ public class TileEntityMachineAssembler extends TileEntityMachineAssemblerBase i @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineAssembler(player.inventory, this); } @@ -290,10 +293,11 @@ public class TileEntityMachineAssembler extends TileEntityMachineAssemblerBase i } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - if(type == UpgradeType.POWER) return 3; - if(type == UpgradeType.OVERDRIVE) return 9; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.POWER, 3); + upgrades.put(UpgradeType.OVERDRIVE, 3); + return upgrades; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblerBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblerBase.java index be6f29afa..bcf3172d1 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblerBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblerBase.java @@ -1,5 +1,6 @@ package com.hbm.tileentity.machine; +import java.util.HashMap; import java.util.List; import com.hbm.inventory.RecipesCommon.AStack; @@ -11,6 +12,7 @@ import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.tileentity.machine.storage.TileEntityCrateTemplate; import com.hbm.util.InventoryUtil; +import com.hbm.util.ItemStackUtil; import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.energymk2.IEnergyReceiverMK2; @@ -20,6 +22,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +@Deprecated public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBase implements IEnergyReceiverMK2, IGUIProvider { public long power; @@ -27,13 +30,13 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa public int[] maxProgress; public boolean isProgressing; public boolean[] needsTemplateSwitch; - + int consumption = 100; int speed = 100; public TileEntityMachineAssemblerBase(int scount) { super(scount); - + int count = this.getRecipeCount(); progress = new int[count]; @@ -43,20 +46,20 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + int count = this.getRecipeCount(); - + this.isProgressing = false; this.power = Library.chargeTEFromItems(slots, getPowerSlot(), power, this.getMaxPower()); - + for(int i = 0; i < count; i++) { unloadItems(i); loadItems(i); } - + for(int i = 0; i < count; i++) { if(!canProcess(i)) { this.progress[i] = 0; @@ -67,53 +70,62 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa } } } - + protected boolean canProcess(int index) { - + int template = getTemplateIndex(index); - + if(slots[template] == null || slots[template].getItem() != ModItems.assembly_template) return false; List recipe = AssemblerRecipes.getRecipeFromTempate(slots[template]); ItemStack output = AssemblerRecipes.getOutputFromTempate(slots[template]); - + if(recipe == null) return false; - + if(this.power < this.consumption) return false; if(!hasRequiredItems(recipe, index)) return false; if(!hasSpaceForItems(output, index)) return false; - + return true; } - + + public HashMap cachedItems = new HashMap<>(); + private boolean hasRequiredItems(List recipe, int index) { int[] indices = getSlotIndicesFromIndex(index); - return InventoryUtil.doesArrayHaveIngredients(slots, indices[0], indices[1], recipe.toArray(new AStack[0])); + ItemStack[] copy = ItemStackUtil.carefulCopyArrayTruncate(slots, indices[0], indices[1]); + if (cachedItems.get(copy) != null) + return cachedItems.get(copy); + else { + boolean hasItems = InventoryUtil.doesArrayHaveIngredients(slots, indices[0], indices[1], recipe.toArray(new AStack[0])); + cachedItems.put(copy, hasItems); + return hasItems; + } } - + private boolean hasSpaceForItems(ItemStack recipe, int index) { int[] indices = getSlotIndicesFromIndex(index); return InventoryUtil.doesArrayHaveSpace(slots, indices[2], indices[2], new ItemStack[] { recipe }); } - + protected void process(int index) { - + this.power -= this.consumption; this.progress[index]++; - + if(slots[0] != null && slots[0].getItem() == ModItems.meteorite_sword_alloyed) slots[0] = new ItemStack(ModItems.meteorite_sword_machined); //fisfndmoivndlmgindgifgjfdnblfm - + int template = getTemplateIndex(index); List recipe = AssemblerRecipes.getRecipeFromTempate(slots[template]); ItemStack output = AssemblerRecipes.getOutputFromTempate(slots[template]); int time = ItemAssemblyTemplate.getProcessTime(slots[template]); - + this.maxProgress[index] = time * this.speed / 100; - + if(this.progress[index] >= this.maxProgress[index]) { consumeItems(recipe, index); produceItems(output, index); @@ -122,28 +134,28 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa this.markDirty(); } } - + private void consumeItems(List recipe, int index) { - + int[] indices = getSlotIndicesFromIndex(index); - + for(AStack in : recipe) { if(in != null) InventoryUtil.tryConsumeAStack(slots, indices[0], indices[1], in); } } - + private void produceItems(ItemStack out, int index) { - + int[] indices = getSlotIndicesFromIndex(index); - + if(out != null) { InventoryUtil.tryAddItemToInventory(slots, indices[2], indices[2], out.copy()); } } - + private void loadItems(int index) { - + int template = getTemplateIndex(index); DirPos[] positions = getInputPositions(); @@ -152,7 +164,7 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa for(DirPos coord : positions) { TileEntity te = worldObj.getTileEntity(coord.getX(), coord.getY(), coord.getZ()); - + if(te instanceof IInventory) { IInventory inv = (IInventory) te; @@ -174,7 +186,7 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa } } } - + boolean noTemplate = slots[template] == null || slots[template].getItem() != ModItems.assembly_template; if(!noTemplate) { @@ -184,17 +196,17 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa if(recipe != null) { for(AStack ingredient : recipe) { - + int tracker = 0; outer: while(!InventoryUtil.doesArrayHaveIngredients(slots, indices[0], indices[1], ingredient)) { - + if(tracker++ > 10) break; boolean found = false; for(int i = 0; i < (access != null ? access.length : inv.getSizeInventory()); i++) { - + int slot = access != null ? access[i] : i; ItemStack stack = inv.getStackInSlot(slot); if(ingredient.matchesRecipe(stack, true) && (sided == null || sided.canExtractItem(slot, stack, 0))) { @@ -229,25 +241,25 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa } } } - + private void unloadItems(int index) { DirPos[] positions = getOutputPositions(); int[] indices = getSlotIndicesFromIndex(index); - + for(DirPos coord : positions) { - + TileEntity te = worldObj.getTileEntity(coord.getX(), coord.getY(), coord.getZ()); - + if(te instanceof IInventory) { - + IInventory inv = (IInventory) te; ISidedInventory sided = inv instanceof ISidedInventory ? (ISidedInventory) inv : null; int[] access = sided != null ? sided.getAccessibleSlotsFromSide(coord.getDir().ordinal()) : null; - + int i = indices[2]; ItemStack out = slots[i]; - + int template = getTemplateIndex(index); if(this.needsTemplateSwitch[index] && te instanceof TileEntityCrateTemplate && slots[template] != null) { out = slots[template]; @@ -259,10 +271,10 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa for(int j = 0; j < (access != null ? access.length : inv.getSizeInventory()); j++) { int slot = access != null ? access[j] : j; - + if(!(sided != null ? sided.canInsertItem(slot, out, coord.getDir().ordinal()) : inv.isItemValidForSlot(slot, out))) continue; - + ItemStack target = inv.getStackInSlot(slot); if(InventoryUtil.doesStackDataMatch(out, target) && target.stackSize < target.getMaxStackSize() && target.stackSize < inv.getInventoryStackLimit()) { @@ -275,7 +287,7 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa for(int j = 0; j < (access != null ? access.length : inv.getSizeInventory()); j++) { int slot = access != null ? access[j] : j; - + if(!inv.isItemValidForSlot(slot, out)) continue; @@ -291,20 +303,20 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa } } } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + this.power = nbt.getLong("power"); if(nbt.hasKey("progress")) this.progress = nbt.getIntArray("progress"); if(nbt.hasKey("maxProgress")) this.maxProgress = nbt.getIntArray("maxProgress"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setLong("power", power); nbt.setIntArray("progress", progress); nbt.setIntArray("maxProgress", maxProgress); @@ -322,7 +334,7 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa public abstract int getRecipeCount(); public abstract int getTemplateIndex(int index); - + /** * @param index * @return A size 3 int array containing min input, max input and output indices in that order. diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblyMachine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblyMachine.java new file mode 100644 index 000000000..7007e54e5 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblyMachine.java @@ -0,0 +1,470 @@ +package com.hbm.tileentity.machine; + +import java.util.HashMap; +import java.util.List; +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.UpgradeManagerNT; +import com.hbm.inventory.container.ContainerMachineAssemblyMachine; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineAssemblyMachine; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemMachineUpgrade; +import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; +import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; +import com.hbm.module.machine.ModuleMachineAssembler; +import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.IUpgradeInfoProvider; +import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.BobMathUtil; +import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; + +import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.fluidmk2.IFluidStandardTransceiverMK2; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; + +public class TileEntityMachineAssemblyMachine extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiverMK2, IUpgradeInfoProvider, IControlReceiver, IGUIProvider { + + public FluidTank inputTank; + public FluidTank outputTank; + + public long power; + public long maxPower = 1_000_000; + public boolean didProcess = false; + + public boolean frame = false; + private AudioWrapper audio; + + public ModuleMachineAssembler assemblerModule; + + public AssemblerArm[] arms = new AssemblerArm[2]; + public double prevRing; + public double ring; + public double ringSpeed; + public double ringTarget; + public int ringDelay; + + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(this); + + public TileEntityMachineAssemblyMachine() { + super(17); + this.inputTank = new FluidTank(Fluids.NONE, 32_000); + this.outputTank = new FluidTank(Fluids.NONE, 32_000); + + for(int i = 0; i < this.arms.length; i++) this.arms[i] = new AssemblerArm(); + + this.assemblerModule = new ModuleMachineAssembler(0, this, slots) + .itemInput(4).itemOutput(16) + .fluidInput(inputTank).fluidOutput(outputTank); + } + + @Override + public String getName() { + return "container.machineAssemblyMachine"; + } + + @Override + public void updateEntity() { + + if(maxPower <= 0) this.maxPower = 1_000_000; + + if(!worldObj.isRemote) { + + this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); + upgradeManager.checkSlots(slots, 2, 3); + + for(DirPos pos : getConPos()) { + this.trySubscribe(worldObj, pos); + if(inputTank.getTankType() != Fluids.NONE) this.trySubscribe(inputTank.getTankType(), worldObj, pos); + if(outputTank.getFill() > 0) this.tryProvide(outputTank, worldObj, pos); + } + + double speed = 1D; + double pow = 1D; + + speed += Math.min(upgradeManager.getLevel(UpgradeType.SPEED), 3) / 3D; + speed += Math.min(upgradeManager.getLevel(UpgradeType.OVERDRIVE), 3); + + pow -= Math.min(upgradeManager.getLevel(UpgradeType.POWER), 3) * 0.25D; + pow += Math.min(upgradeManager.getLevel(UpgradeType.SPEED), 3) * 1D; + pow += Math.min(upgradeManager.getLevel(UpgradeType.OVERDRIVE), 3) * 10D / 3D; + + this.assemblerModule.update(speed, pow, true); + this.didProcess = this.assemblerModule.didProcess; + if(this.assemblerModule.markDirty) this.markDirty(); + + if(didProcess) { + if(slots[0] != null && slots[0].getItem() == ModItems.meteorite_sword_alloyed) + slots[0] = new ItemStack(ModItems.meteorite_sword_machined); + } + + this.networkPackNT(100); + + } else { + + if(worldObj.getTotalWorldTime() % 20 == 0) { + frame = !worldObj.getBlock(xCoord, yCoord + 3, zCoord).isAir(worldObj, xCoord, yCoord + 3, zCoord); + } + + if(this.didProcess && MainRegistry.proxy.me().getDistance(xCoord , yCoord, zCoord) < 50) { + if(audio == null) { + audio = createAudioLoop(); + audio.startSound(); + } else if(!audio.isPlaying()) { + audio = rebootAudio(audio); + } + audio.keepAlive(); + audio.updateVolume(this.getVolume(1F)); + + } else { + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + + for(AssemblerArm arm : arms) { + arm.updateInterp(); + if(didProcess) { + arm.updateArm(); + } else{ + arm.returnToNullPos(); + } + } + + this.prevRing = this.ring; + + if(didProcess) { + if(this.ring != this.ringTarget) { + double ringDelta = Math.abs(this.ringTarget - this.ring); + if(ringDelta <= this.ringSpeed) this.ring = this.ringTarget; + if(this.ringTarget > this.ring) this.ring += this.ringSpeed; + if(this.ringTarget < this.ring) this.ring -= this.ringSpeed; + if(this.ringTarget == this.ring) { + if(ringTarget >= 360) { + this.ringTarget -= 360D; + this.ring -= 360D; + this.prevRing -= 360D; + } + if(ringTarget <= -360) { + this.ringTarget += 360D; + this.ring += 360D; + this.prevRing += 360D; + } + this.ringDelay = 20 + worldObj.rand.nextInt(21); + } + } else { + if(this.ringDelay > 0) this.ringDelay--; + if(this.ringDelay <= 0) { + this.ringTarget += (worldObj.rand.nextDouble() * 2 - 1) * 135; + this.ringSpeed = 10D + worldObj.rand.nextDouble() * 5D; + } + } + } + } + } + + @Override public AudioWrapper createAudioLoop() { + return MainRegistry.proxy.getLoopedSound("hbm:block.chemicalPlant", xCoord, yCoord, zCoord, 1F, 15F, 1.0F, 20); + } + + @Override public void onChunkUnload() { + if(audio != null) { audio.stopSound(); audio = null; } + } + + @Override public void invalidate() { + super.invalidate(); + if(audio != null) { audio.stopSound(); audio = null; } + } + + public DirPos[] getConPos() { + return new DirPos[] { + new DirPos(xCoord + 2, yCoord, zCoord - 1, Library.POS_X), + new DirPos(xCoord + 2, yCoord, zCoord + 0, Library.POS_X), + new DirPos(xCoord + 2, yCoord, zCoord + 1, Library.POS_X), + new DirPos(xCoord - 2, yCoord, zCoord - 1, Library.NEG_X), + new DirPos(xCoord - 2, yCoord, zCoord + 0, Library.NEG_X), + new DirPos(xCoord - 2, yCoord, zCoord + 1, Library.NEG_X), + new DirPos(xCoord - 1, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord + 0, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord + 1, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord - 1, yCoord, zCoord - 2, Library.NEG_Z), + new DirPos(xCoord + 0, yCoord, zCoord - 2, Library.NEG_Z), + new DirPos(xCoord + 1, yCoord, zCoord - 2, Library.NEG_Z), + }; + } + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + this.inputTank.serialize(buf); + this.outputTank.serialize(buf); + buf.writeLong(power); + buf.writeLong(maxPower); + buf.writeBoolean(didProcess); + this.assemblerModule.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.inputTank.deserialize(buf); + this.outputTank.deserialize(buf); + this.power = buf.readLong(); + this.maxPower = buf.readLong(); + this.didProcess = buf.readBoolean(); + this.assemblerModule.deserialize(buf); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.inputTank.readFromNBT(nbt, "i"); + this.outputTank.readFromNBT(nbt, "o"); + this.power = nbt.getLong("power"); + this.maxPower = nbt.getLong("maxPower"); + this.assemblerModule.readFromNBT(nbt); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + this.inputTank.writeToNBT(nbt, "i"); + this.outputTank.writeToNBT(nbt, "o"); + nbt.setLong("power", power); + nbt.setLong("maxPower", maxPower); + this.assemblerModule.writeToNBT(nbt); + } + + @Override + public boolean isItemValidForSlot(int slot, ItemStack stack) { + if(slot == 0) return true; // battery + if(slot >= 2 && slot <= 3 && stack.getItem() instanceof ItemMachineUpgrade) return true; // upgrades + if(this.assemblerModule.isItemValid(slot, stack)) return true; // recipe input crap + return false; + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return i == 16; + } + + @Override + public int[] getAccessibleSlotsFromSide(int side) { + return new int[] {4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + } + + @Override public long getPower() { return power; } + @Override public void setPower(long power) { this.power = power; } + @Override public long getMaxPower() { return maxPower; } + + @Override public FluidTank[] getReceivingTanks() { return new FluidTank[] {inputTank}; } + @Override public FluidTank[] getSendingTanks() { return new FluidTank[] {outputTank}; } + @Override public FluidTank[] getAllTanks() { return new FluidTank[] {inputTank, outputTank}; } + + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return new ContainerMachineAssemblyMachine(player.inventory, this); } + @Override @SideOnly(Side.CLIENT) public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineAssemblyMachine(player.inventory, this); } + + @Override public boolean hasPermission(EntityPlayer player) { return this.isUseableByPlayer(player); } + + @Override + public void receiveControl(NBTTagCompound data) { + if(data.hasKey("index") && data.hasKey("selection")) { + int index = data.getInteger("index"); + String selection = data.getString("selection"); + if(index == 0) { + this.assemblerModule.recipe = selection; + this.markChanged(); + } + } + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + if(bb == null) bb = AxisAlignedBB.getBoundingBox(xCoord - 1, yCoord, zCoord - 1, xCoord + 2, yCoord + 3, zCoord + 2); + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override + public boolean canProvideInfo(UpgradeType type, int level, boolean extendedInfo) { + return type == UpgradeType.SPEED || type == UpgradeType.POWER || type == UpgradeType.OVERDRIVE; + } + + @Override + public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo) { + info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_assembly_machine)); + if(type == UpgradeType.SPEED) { + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(KEY_SPEED, "+" + (level * 100 / 3) + "%")); + info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(KEY_CONSUMPTION, "+" + (level * 50) + "%")); + } + if(type == UpgradeType.POWER) { + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(KEY_CONSUMPTION, "-" + (level * 25) + "%")); + } + if(type == UpgradeType.OVERDRIVE) { + info.add((BobMathUtil.getBlink() ? EnumChatFormatting.RED : EnumChatFormatting.DARK_GRAY) + "YES"); + } + } + + @Override + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.POWER, 3); + upgrades.put(UpgradeType.OVERDRIVE, 3); + return upgrades; + } + + public static class AssemblerArm { + + public double[] angles = new double[4]; + public double[] prevAngles = new double[4]; + public double[] targetAngles = new double[4]; + public double[] speed = new double[4]; + + Random rand = new Random(); + ArmActionState state = ArmActionState.ASSUME_POSITION; + int actionDelay = 0; + + public static enum ArmActionState { + ASSUME_POSITION, + EXTEND_STRIKER, + RETRACT_STRIKER + } + + public AssemblerArm() { + this.resetSpeed(); + } + + private void updateInterp() { + for(int i = 0; i < angles.length; i++) { + prevAngles[i] = angles[i]; + } + } + + private void returnToNullPos() { + for(int i = 0; i < 4; i++) this.targetAngles[i] = 0; + for(int i = 0; i < 3; i++) this.speed[i] = 3; + this.speed[3] = 0.25; + this.state = ArmActionState.RETRACT_STRIKER; + + this.move(); + } + + private void resetSpeed() { + speed[0] = 15; //Pivot + speed[1] = 15; //Arm + speed[2] = 15; //Piston + speed[3] = 0.5; //Striker + } + + public void updateArm() { + resetSpeed(); + + if(actionDelay > 0) { + actionDelay--; + return; + } + + switch(state) { + // Move. If done moving, set a delay and progress to EXTEND + case ASSUME_POSITION: + if(move()) { + actionDelay = 2; + state = ArmActionState.EXTEND_STRIKER; + targetAngles[3] = -0.75D; + } + break; + case EXTEND_STRIKER: + if(move()) { + state = ArmActionState.RETRACT_STRIKER; + targetAngles[3] = 0D; + } + break; + case RETRACT_STRIKER: + if(move()) { + actionDelay = 2 + rand.nextInt(5); + chooseNewArmPoistion(); + state = ArmActionState.ASSUME_POSITION; + } + break; + + } + } + + private double[][] pos = new double[][] { // possible positions for the arms + {45, -15, -5}, + {15, 15, -15}, + {25, 10, -15}, + {30, 0, -10}, + {70, -10, -25}, + }; // sure it's not truly random like with the old assemfac, but at least now the striker always hits the center and doesn't clip through the board + + public void chooseNewArmPoistion() { + int chosen = rand.nextInt(pos.length); + this.targetAngles[0] = pos[chosen][0]; + this.targetAngles[1] = pos[chosen][1]; + this.targetAngles[2] = pos[chosen][2]; + } + + private boolean move() { + boolean didMove = false; + + for(int i = 0; i < angles.length; i++) { + if(angles[i] == targetAngles[i]) + continue; + + didMove = true; + + double angle = angles[i]; + double target = targetAngles[i]; + double turn = speed[i]; + double delta = Math.abs(angle - target); + + if(delta <= turn) { + angles[i] = targetAngles[i]; + continue; + } + + if(angle < target) { + angles[i] += turn; + } else { + angles[i] -= turn; + } + } + + return !didMove; + } + + public double[] getPositions(float interp) { + return new double[] { + BobMathUtil.interp(this.prevAngles[0], this.angles[0], interp), + BobMathUtil.interp(this.prevAngles[1], this.angles[1], interp), + BobMathUtil.interp(this.prevAngles[2], this.angles[2], interp), + BobMathUtil.interp(this.prevAngles[3], this.angles[3], interp) + }; + } + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java index 948022a43..61e8d0a92 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java @@ -1,46 +1,48 @@ package com.hbm.tileentity.machine; +import java.util.HashMap; import java.util.List; import java.util.Random; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerAssemfac; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUIAssemfac; import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase implements IFluidStandardTransceiver, IUpgradeInfoProvider { - +public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase implements IFluidStandardTransceiver, IUpgradeInfoProvider, IFluidCopiable { + public AssemblerArm[] arms; public FluidTank water; public FluidTank steam; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public TileEntityMachineAssemfac() { super(14 * 8 + 4 + 1); //8 assembler groups with 14 slots, 4 upgrade slots, 1 battery slot - + arms = new AssemblerArm[6]; for(int i = 0; i < arms.length; i++) { arms[i] = new AssemblerArm(i % 3 == 1 ? 1 : 0); //the second of every group of three becomes a welder @@ -58,7 +60,7 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im @Override public void setInventorySlotContents(int i, ItemStack stack) { super.setInventorySlotContents(i, stack); - + if(stack != null && i >= 1 && i <= 4 && stack.getItem() instanceof ItemMachineUpgrade) { worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:item.upgradePlug", 1.0F, 1.0F); } @@ -67,37 +69,37 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im @Override public void updateEntity() { super.updateEntity(); - + if(!worldObj.isRemote) { - + if(worldObj.getTotalWorldTime() % 20 == 0) { this.updateConnections(); } - + this.speed = 100; this.consumption = 100; - - UpgradeManager.eval(slots, 1, 4); - int speedLevel = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 6); - int powerLevel = Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3); - int overLevel = UpgradeManager.getLevel(UpgradeType.OVERDRIVE); - + upgradeManager.checkSlots(this, slots, 1, 4); + + int speedLevel = upgradeManager.getLevel(UpgradeType.SPEED); + int powerLevel = upgradeManager.getLevel(UpgradeType.POWER); + int overLevel = upgradeManager.getLevel(UpgradeType.OVERDRIVE); + this.speed -= speedLevel * 15; this.consumption += speedLevel * 300; this.speed += powerLevel * 5; this.consumption -= powerLevel * 30; this.speed /= (overLevel + 1); this.consumption *= (overLevel + 1); - + for(DirPos pos : getConPos()) { this.sendFluid(steam, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - + this.networkPackNT(150); - + } else { - + for(AssemblerArm arm : arms) { arm.updateInterp(); if(isProgressing) { @@ -106,7 +108,7 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im } } } - + @Override public void serialize(ByteBuf buf) { super.serialize(buf); @@ -119,7 +121,7 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im water.serialize(buf); steam.serialize(buf); } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); @@ -132,20 +134,7 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im water.deserialize(buf); steam.deserialize(buf); } - - @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.power = nbt.getLong("power"); - this.progress = nbt.getIntArray("progress"); - this.maxProgress = nbt.getIntArray("maxProgress"); - this.isProgressing = nbt.getBoolean("isProgressing"); - - water.readFromNBT(nbt, "w"); - steam.readFromNBT(nbt, "s"); - } - + private int getWaterRequired() { return 1000 / this.speed; } @@ -161,19 +150,19 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im this.water.setFill(this.water.getFill() - getWaterRequired()); this.steam.setFill(this.steam.getFill() + getWaterRequired()); } - + private void updateConnections() { for(DirPos pos : getConPos()) { this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(water.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + public DirPos[] getConPos() { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + return new DirPos[] { new DirPos(xCoord - dir.offsetX * 3 + rot.offsetX * 5, yCoord, zCoord - dir.offsetZ * 3 + rot.offsetZ * 5, rot), new DirPos(xCoord + dir.offsetX * 2 + rot.offsetX * 5, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 5, rot), @@ -185,22 +174,22 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im new DirPos(xCoord + dir.offsetX * 4 - rot.offsetX * 2, yCoord, zCoord + dir.offsetZ * 4 - rot.offsetZ * 2, dir) }; } - + public static class AssemblerArm { public double[] angles = new double[4]; public double[] prevAngles = new double[4]; public double[] targetAngles = new double[4]; public double[] speed = new double[4]; - + Random rand = new Random(); - + int actionMode; ArmActionState state; int actionDelay = 0; - + public AssemblerArm(int actionMode) { this.actionMode = actionMode; - + if(this.actionMode == 0) { speed[0] = 15; //Pivot speed[1] = 15; //Arm @@ -212,19 +201,19 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im speed[2] = 1; //Piston speed[3] = 0.125; //Striker } - + state = ArmActionState.ASSUME_POSITION; chooseNewArmPoistion(); actionDelay = rand.nextInt(20); } - + public void updateArm() { - + if(actionDelay > 0) { actionDelay--; return; } - + switch(state) { //Move. If done moving, set a delay and progress to EXTEND case ASSUME_POSITION: @@ -268,12 +257,12 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im state = ArmActionState.ASSUME_POSITION; } break; - + } } - + public void chooseNewArmPoistion() { - + if(this.actionMode == 0) { targetAngles[0] = -rand.nextInt(50); //Pivot targetAngles[1] = -targetAngles[0]; //Arm @@ -284,45 +273,45 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im targetAngles[2] = rand.nextInt(10) + 10; //Piston } } - + private void updateInterp() { for(int i = 0; i < angles.length; i++) { prevAngles[i] = angles[i]; } } - + /** * @return True when it has finished moving */ private boolean move() { boolean didMove = false; - + for(int i = 0; i < angles.length; i++) { if(angles[i] == targetAngles[i]) continue; - + didMove = true; - + double angle = angles[i]; double target = targetAngles[i]; double turn = speed[i]; double delta = Math.abs(angle - target); - + if(delta <= turn) { angles[i] = targetAngles[i]; continue; } - + if(angle < target) { angles[i] += turn; } else { angles[i] -= turn; } } - + return !didMove; } - + public static enum ArmActionState { ASSUME_POSITION, EXTEND_STRIKER, @@ -330,12 +319,12 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im RETRACT_STRIKER } } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 5, @@ -346,10 +335,10 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im zCoord + 5 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -378,42 +367,42 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im DirPos[] inpos; DirPos[] outpos; - + @Override public DirPos[] getInputPositions() { - + if(inpos != null) return inpos; - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + inpos = new DirPos[] { new DirPos(xCoord + dir.offsetX * 4 - rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 4 - rot.offsetZ * 1, dir), new DirPos(xCoord - dir.offsetX * 5 + rot.offsetX * 2, yCoord, zCoord - dir.offsetZ * 5 + rot.offsetZ * 2, dir.getOpposite()), new DirPos(xCoord - dir.offsetX * 2 - rot.offsetX * 4, yCoord, zCoord - dir.offsetZ * 2 - rot.offsetZ * 4, rot.getOpposite()), new DirPos(xCoord + dir.offsetX * 1 + rot.offsetX * 5, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * 5, rot) }; - + return inpos; } @Override public DirPos[] getOutputPositions() { - + if(outpos != null) return outpos; - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + outpos = new DirPos[] { new DirPos(xCoord + dir.offsetX * 4 + rot.offsetX * 2, yCoord, zCoord + dir.offsetZ * 4 + rot.offsetZ * 2, dir), new DirPos(xCoord - dir.offsetX * 5 - rot.offsetX * 1, yCoord, zCoord - dir.offsetZ * 5 - rot.offsetZ * 1, dir.getOpposite()), new DirPos(xCoord + dir.offsetX * 1 - rot.offsetX * 4, yCoord, zCoord + dir.offsetZ * 1 - rot.offsetZ * 4, rot.getOpposite()), new DirPos(xCoord - dir.offsetX * 2 + rot.offsetX * 5, yCoord, zCoord - dir.offsetZ * 2 + rot.offsetZ * 5, rot) }; - + return outpos; } @@ -444,7 +433,7 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIAssemfac(player.inventory, this); } @@ -470,10 +459,16 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 6; - if(type == UpgradeType.POWER) return 3; - if(type == UpgradeType.OVERDRIVE) return 12; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 6); + upgrades.put(UpgradeType.POWER, 3); + upgrades.put(UpgradeType.OVERDRIVE, 12); + return upgrades; + } + + @Override + public FluidTank getTankToPaste() { + return null; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutocrafter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutocrafter.java index b34010cea..a9bc5fc86 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutocrafter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutocrafter.java @@ -15,12 +15,10 @@ import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.InventoryCrafting; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.CraftingManager; import net.minecraft.item.crafting.IRecipe; @@ -187,7 +185,7 @@ public class TileEntityMachineAutocrafter extends TileEntityMachineBase implemen if(i > 9 && i < 19) { ItemStack filter = slots[i - 10]; - if(filter == null) return true; + if(filter == null || matcher.modes[i - 10] == null || matcher.modes[i - 10].isEmpty()) return true; return !matcher.isValidForFilter(filter, i - 10, stack); } @@ -216,7 +214,7 @@ public class TileEntityMachineAutocrafter extends TileEntityMachineBase implemen List validSlots = new ArrayList(); for(int i = 0; i < 9; i++) { ItemStack filter = slots[i]; - if(filter == null) continue; + if(filter == null || matcher.modes[i] == null || matcher.modes[i].isEmpty()) continue; if(matcher.isValidForFilter(filter, i, stack)) { validSlots.add(i + 10); @@ -339,7 +337,7 @@ public class TileEntityMachineAutocrafter extends TileEntityMachineBase implemen @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIAutocrafter(player.inventory, this); } @@ -350,13 +348,19 @@ public class TileEntityMachineAutocrafter extends TileEntityMachineBase implemen @Override public void setFilterContents(NBTTagCompound nbt) { - TileEntity tile = (TileEntity) this; - IInventory inv = (IInventory) this; + TileEntity tile = this; + IInventory inv = this; int slot = nbt.getInteger("slot"); if(slot > 8) return; - inv.setInventorySlotContents(slot, new ItemStack(Item.getItemById(nbt.getInteger("id")), 1, nbt.getInteger("meta"))); - nextMode(slot); + NBTTagCompound stack = nbt.getCompoundTag("stack"); + ItemStack item = ItemStack.loadItemStackFromNBT(stack); + inv.setInventorySlotContents(slot, item); + matcher.initPatternSmart(getWorldObj(), item, slot); tile.getWorldObj().markTileEntityChunkModified(tile.xCoord, tile.yCoord, tile.zCoord, tile); updateTemplateGrid(); } + @Override + public int[] getFilterSlots() { + return new int[]{0,9}; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutosaw.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutosaw.java index 3ec39159b..f88c37ac3 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutosaw.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutosaw.java @@ -1,84 +1,94 @@ package com.hbm.tileentity.machine; +import java.util.ArrayList; import java.util.HashSet; import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockTallPlant.EnumTallFlower; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.lib.ModDamageSource; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.tileentity.IFluidCopiable; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; import net.minecraft.block.BlockLeaves; +import net.minecraft.block.IGrowable; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraftforge.common.IPlantable; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityMachineAutosaw extends TileEntityLoadedBase implements IBufPacketReceiver, IFluidStandardReceiver, IFluidCopiable { -public class TileEntityMachineAutosaw extends TileEntityLoadedBase implements INBTPacketReceiver, IFluidStandardReceiver { - public static final HashSet acceptedFuels = new HashSet(); - + static { acceptedFuels.add(Fluids.WOODOIL); acceptedFuels.add(Fluids.ETHANOL); acceptedFuels.add(Fluids.FISHOIL); acceptedFuels.add(Fluids.HEAVYOIL); } - + public FluidTank tank; - + public boolean isOn; + public boolean isSuspended; + private int forceSkip; public float syncYaw; public float rotationYaw; public float prevRotationYaw; public float syncPitch; public float rotationPitch; public float prevRotationPitch; - + // 0: searching, 1: extending, 2: retracting private int state = 0; - + private int turnProgress; - + public float spin; public float lastSpin; - + public TileEntityMachineAutosaw() { this.tank = new FluidTank(Fluids.WOODOIL, 100); } - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - - if(worldObj.getTotalWorldTime() % 20 == 0) { + + if(!isSuspended && worldObj.getTotalWorldTime() % 20 == 0) { if(tank.getFill() > 0) { tank.setFill(tank.getFill() - 1); this.isOn = true; } else { this.isOn = false; } - + this.subscribeToAllAround(tank.getTankType(), this); } - if(isOn) { + if(isOn && !isSuspended) { Vec3 pivot = Vec3.createVectorHelper(xCoord + 0.5, yCoord + 1.75, zCoord + 0.5); Vec3 upperArm = Vec3.createVectorHelper(0, 0, -4); upperArm.rotateAroundX((float) Math.toRadians(80 - rotationPitch)); @@ -88,13 +98,13 @@ public class TileEntityMachineAutosaw extends TileEntityLoadedBase implements IN lowerArm.rotateAroundY(-(float) Math.toRadians(rotationYaw)); Vec3 armTip = Vec3.createVectorHelper(0, 0, -2); armTip.rotateAroundY(-(float) Math.toRadians(rotationYaw)); - + double cX = pivot.xCoord + upperArm.xCoord + lowerArm.xCoord + armTip.xCoord; double cY = pivot.yCoord; double cZ = pivot.zCoord + upperArm.zCoord + lowerArm.zCoord + armTip.zCoord; - + List affected = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(cX - 1, cY - 0.25, cZ - 1, cX + 1, cY + 0.25, cZ + 1)); - + for(EntityLivingBase e : affected) { if(e.isEntityAlive() && e.attackEntityFrom(ModDamageSource.turbofan, 100)) { worldObj.playSoundEffect(e.posX, e.posY, e.posZ, "mob.zombie.woodbreak", 2.0F, 0.95F + worldObj.rand.nextFloat() * 0.2F); @@ -105,40 +115,53 @@ public class TileEntityMachineAutosaw extends TileEntityLoadedBase implements IN data.setDouble("motion", 0.1D); data.setString("mode", "blockdust"); data.setInteger("block", Block.getIdFromBlock(Blocks.redstone_block)); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, e.posX, e.posY + e.height * 0.5, e.posZ), new TargetPoint(e.dimension, e.posX, e.posY, e.posZ, 50)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, e.posX, e.posY + e.height * 0.5, e.posZ), new TargetPoint(e.dimension, e.posX, e.posY, e.posZ, 50)); } } - + if(state == 0) { - + this.rotationYaw += 1; - + if(this.rotationYaw >= 360) { this.rotationYaw -= 360; } - - Vec3 grace = Vec3.createVectorHelper(0, 0, -3.5); - grace.rotateAroundY(-(float) Math.toRadians(rotationYaw)); - grace.xCoord += pivot.xCoord; - grace.yCoord += pivot.yCoord; - grace.zCoord += pivot.zCoord; - - Vec3 detector = Vec3.createVectorHelper(0, 0, -9); - detector.rotateAroundY(-(float) Math.toRadians(rotationYaw)); - detector.xCoord += pivot.xCoord; - detector.yCoord += pivot.yCoord; - detector.zCoord += pivot.zCoord; - MovingObjectPosition pos = worldObj.func_147447_a(grace, detector, false, false, false); - - if(pos != null && pos.typeOfHit == pos.typeOfHit.BLOCK) { - - Block b = worldObj.getBlock(pos.blockX, pos.blockY, pos.blockZ); - - if(b.getMaterial() == Material.wood || b.getMaterial() == Material.leaves || b.getMaterial() == Material.plants) { - - int meta = worldObj.getBlockMetadata(pos.blockX, pos.blockY, pos.blockZ); - if(!shouldIgnore(b, meta)) { + + if(forceSkip > 0) { + forceSkip--; + } else { + final double CUT_ANGLE = Math.toRadians(5); + double rotationYawRads = Math.toRadians((rotationYaw + 270) % 360); + + outer: + for(int dx = -9; dx <= 9; dx++) { + for(int dz = -9; dz <= 9; dz++) { + int sqrDst = dx * dx + dz * dz; + + if(sqrDst <= 4 || sqrDst > 81) + continue; + + double angle = Math.atan2(dz, dx); + double relAngle = Math.abs(angle - rotationYawRads); + relAngle = Math.abs((relAngle + Math.PI) % (2 * Math.PI) - Math.PI); + + if(relAngle > CUT_ANGLE) + continue; + + int x = xCoord + dx; + int y = yCoord + 1; + int z = zCoord + dz; + + Block b = worldObj.getBlock(x, y, z); + if(!(b.getMaterial() == Material.wood || b.getMaterial() == Material.leaves || b.getMaterial() == Material.plants)) + continue; + + int meta = worldObj.getBlockMetadata(x, y, z); + if(shouldIgnore(worldObj, x, y, z, b, meta)) + continue; + state = 1; + break outer; } } } @@ -154,7 +177,7 @@ public class TileEntityMachineAutosaw extends TileEntityLoadedBase implements IN this.tryInteract(hitX1, hitY, hitZ0); this.tryInteract(hitX0, hitY, hitZ1); this.tryInteract(hitX1, hitY, hitZ1); - + if(state == 1) { this.rotationPitch += 2; @@ -163,36 +186,31 @@ public class TileEntityMachineAutosaw extends TileEntityLoadedBase implements IN state = 2; } } - + if(state == 2) { this.rotationPitch -= 2; - + if(this.rotationPitch <= 0) { this.rotationPitch = 0; state = 0; } } } - - NBTTagCompound data = new NBTTagCompound(); - data.setBoolean("isOn", isOn); - data.setFloat("yaw", this.rotationYaw); - data.setFloat("pitch", this.rotationPitch); - tank.writeToNBT(data, "t"); - INBTPacketReceiver.networkPack(this, data, 100); + + networkPackNT(100); } else { - + this.lastSpin = this.spin; - - if(isOn) { + + if(isOn && !isSuspended) { this.spin += 15F; - + Vec3 vec = Vec3.createVectorHelper(0.625, 0, 1.625); vec.rotateAroundY(-(float) Math.toRadians(rotationYaw)); - + worldObj.spawnParticle("smoke", xCoord + 0.5 + vec.xCoord, yCoord + 2.0625, zCoord + 0.5 + vec.zCoord, 0, 0, 0); } - + if(this.spin >= 360F) { this.spin -= 360F; this.lastSpin -= 360F; @@ -200,7 +218,7 @@ public class TileEntityMachineAutosaw extends TileEntityLoadedBase implements IN this.prevRotationYaw = this.rotationYaw; this.prevRotationPitch = this.rotationPitch; - + if(this.turnProgress > 0) { double d0 = MathHelper.wrapAngleTo180_double(this.syncYaw - (double) this.rotationYaw); double d1 = MathHelper.wrapAngleTo180_double(this.syncPitch - (double) this.rotationPitch); @@ -213,53 +231,100 @@ public class TileEntityMachineAutosaw extends TileEntityLoadedBase implements IN } } } - + /** Anything additionally that the detector nor the blades should pick up on, like non-mature willows */ - public static boolean shouldIgnore(Block b, int meta) { + public static boolean shouldIgnore(World world, int x, int y, int z, Block b, int meta) { if(b == ModBlocks.plant_tall) { return meta == EnumTallFlower.CD2.ordinal() + 8 || meta == EnumTallFlower.CD3.ordinal() + 8; } - + + if((b instanceof IGrowable)) { + return ((IGrowable) b).func_149851_a(world, x, y, z, world.isRemote); + } + return false; } - + protected void tryInteract(int x, int y, int z) { - + Block b = worldObj.getBlock(x, y, z); int meta = worldObj.getBlockMetadata(x, y, z); - - if(shouldIgnore(b, meta)) { - return; - } - - if(b.getMaterial() == Material.leaves || b.getMaterial() == Material.plants) { - worldObj.func_147480_a(x, y, z, true); - return; - } - - if(b.getMaterial() == Material.wood) { - fellTree(x, y, z); - if(state == 1) { - state = 2; + + if(!shouldIgnore(worldObj, x, y, z, b, meta)) { + if(b.getMaterial() == Material.leaves || b.getMaterial() == Material.plants) { + cutCrop(x, y, z); + } else if(b.getMaterial() == Material.wood) { + fellTree(x, y, z); + if(state == 1) { + state = 2; + } } } + + // Return when hitting a wall + if(state == 1 && worldObj.getBlock(x, y, z).isNormalCube(worldObj, x, y, z)) { + state = 2; + forceSkip = 5; + } } - + + protected void cutCrop(int x, int y, int z) { + + Block soil = worldObj.getBlock(x, y - 1, z); + + Block b = worldObj.getBlock(x, y, z); + int meta = worldObj.getBlockMetadata(x, y, z); + + worldObj.playAuxSFX(2001, x, y, z, Block.getIdFromBlock(b) + (meta << 12)); + + Block replacementBlock = Blocks.air; + int replacementMeta = 0; + + if (!worldObj.isRemote && !worldObj.restoringBlockSnapshots) { + ArrayList drops = b.getDrops(worldObj, x, y, z, meta, 0); + boolean replanted = false; + + for (ItemStack drop : drops) { + if (!replanted && drop.getItem() instanceof IPlantable) { + IPlantable seed = (IPlantable) drop.getItem(); + + if(soil.canSustainPlant(worldObj, x, y - 1, z, ForgeDirection.UP, seed)) { + replacementBlock = seed.getPlant(worldObj, x, y, z); + replacementMeta = seed.getPlantMetadata(worldObj, x, y, z); + replanted = true; + drop.stackSize -= 1; + } + } + + float delta = 0.7F; + double dx = (double)(worldObj.rand.nextFloat() * delta) + (double)(1.0F - delta) * 0.5D; + double dy = (double)(worldObj.rand.nextFloat() * delta) + (double)(1.0F - delta) * 0.5D; + double dz = (double)(worldObj.rand.nextFloat() * delta) + (double)(1.0F - delta) * 0.5D; + + EntityItem entityItem = new EntityItem(worldObj, x + dx, y + dy, z + dz, drop); + entityItem.delayBeforeCanPickup = 10; + worldObj.spawnEntityInWorld(entityItem); + } + } + + worldObj.setBlock(x, y, z, replacementBlock, replacementMeta, 3); + } + protected void fellTree(int x, int y, int z) { - + if(worldObj.getBlock(x, y - 1, z).getMaterial() == Material.wood) { y--; if(worldObj.getBlock(x, y - 2, z).getMaterial() == Material.wood) { y--; } } - + int meta = -1; - + for(int i = y; i < y + 10; i++) { - + int[][] dir = new int[][] {{0, 0}, {1, 0}, {-1, 0}, {0, 1}, {0, -1}}; - + for(int[] d : dir) { Block b = worldObj.getBlock(x + d[0], i, z + d[1]); @@ -271,7 +336,7 @@ public class TileEntityMachineAutosaw extends TileEntityLoadedBase implements IN } } } - + if(meta >= 0) { if(Blocks.sapling.canPlaceBlockAt(worldObj, x, y, z)) { worldObj.setBlock(x, y, z, Blocks.sapling, meta, 3); @@ -280,28 +345,42 @@ public class TileEntityMachineAutosaw extends TileEntityLoadedBase implements IN } @Override - public void networkUnpack(NBTTagCompound nbt) { - this.isOn = nbt.getBoolean("isOn"); - this.syncYaw = nbt.getFloat("yaw"); - this.syncPitch = nbt.getFloat("pitch"); - this.turnProgress = 3; //use 3-ply for extra smoothness - this.tank.readFromNBT(nbt, "t"); + public void serialize(ByteBuf buf) { + buf.writeBoolean(this.isOn); + buf.writeBoolean(this.isSuspended); + buf.writeFloat(this.rotationYaw); + buf.writeFloat(this.rotationPitch); + this.tank.serialize(buf); } - + + @Override + public void deserialize(ByteBuf buf) { + this.isOn = buf.readBoolean(); + this.isSuspended = buf.readBoolean(); + this.syncYaw = buf.readFloat(); + this.syncPitch = buf.readFloat(); + this.turnProgress = 3; //use 3-ply for extra smoothness + this.tank.deserialize(buf); + } + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); this.isOn = nbt.getBoolean("isOn"); + this.isSuspended = nbt.getBoolean("isSuspended"); + this.forceSkip = nbt.getInteger("skip"); this.rotationYaw = nbt.getFloat("yaw"); this.rotationPitch = nbt.getFloat("pitch"); this.state = nbt.getInteger("state"); this.tank.readFromNBT(nbt, "t"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setBoolean("isOn", this.isOn); + nbt.setBoolean("isSuspended", this.isSuspended); + nbt.setInteger("skip", this.forceSkip); nbt.setFloat("yaw", this.rotationYaw); nbt.setFloat("pitch", this.rotationPitch); nbt.setInteger("state", this.state); @@ -317,12 +396,12 @@ public class TileEntityMachineAutosaw extends TileEntityLoadedBase implements IN public FluidTank[] getReceivingTanks() { return new FluidTank[] {tank}; } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 12, @@ -333,13 +412,17 @@ public class TileEntityMachineAutosaw extends TileEntityLoadedBase implements IN zCoord + 13 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { return 65536.0D; } + @Override + public FluidTank getTankToPaste() { + return tank; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java index 430bca4db..c5b5e9da6 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java @@ -1,12 +1,13 @@ package com.hbm.tileentity.machine; import java.io.IOException; +import java.util.HashMap; import java.util.List; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; import com.hbm.blocks.ModBlocks; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerCentrifuge; import com.hbm.inventory.gui.GUIMachineCentrifuge; import com.hbm.inventory.recipes.CentrifugeRecipes; @@ -20,14 +21,13 @@ import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.BobMathUtil; import com.hbm.util.CompatEnergyControl; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -39,12 +39,12 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public class TileEntityMachineCentrifuge extends TileEntityMachineBase implements IEnergyReceiverMK2, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC, IConfigurableMachine{ - + public int progress; public long power; public boolean isProgressing; private int audioDuration = 0; - + private AudioWrapper audio; //configurable values @@ -52,6 +52,8 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement public static int processingSpeed = 200; public static int baseConsumption = 200; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public String getConfigName() { return "centrifuge"; } @@ -71,7 +73,7 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement /* * So why do we do this now? You have a funny mekanism/thermal/whatever pipe and you want to output stuff from a side - * that isn't the bottom, what do? Answer: make all slots accessible from all sides and regulate in/output in the + * that isn't the bottom, what do? Answer: make all slots accessible from all sides and regulate in/output in the * dedicated methods. Duh. */ private static final int[] slot_io = new int[] { 0, 2, 3, 4, 5 }; @@ -79,11 +81,11 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement public TileEntityMachineCentrifuge() { super(8); } - + public String getName() { return "container.centrifuge"; } - + @Override public boolean isItemValidForSlot(int i, ItemStack itemStack) { return i == 0; @@ -127,7 +129,7 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement return false; } ItemStack[] out = CentrifugeRecipes.getOutput(slots[0]); - + if(out == null) { return false; } @@ -176,7 +178,7 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement public boolean isProcessing() { return this.progress > 0; } - + @Override public void updateEntity() { @@ -185,18 +187,18 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); power = Library.chargeTEFromItems(slots, 1, power, maxPower); - + int consumption = baseConsumption; int speed = 1; - - UpgradeManager.eval(slots, 6, 7); - speed += Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); - consumption += Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3) * baseConsumption; - - speed *= (1 + Math.min(UpgradeManager.getLevel(UpgradeType.OVERDRIVE), 3) * 5); - consumption += Math.min(UpgradeManager.getLevel(UpgradeType.OVERDRIVE), 3) * baseConsumption * 50; - - consumption /= (1 + Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3)); + + upgradeManager.checkSlots(this, slots, 6, 7); + speed += upgradeManager.getLevel(UpgradeType.SPEED); + consumption += upgradeManager.getLevel(UpgradeType.SPEED) * baseConsumption; + + speed *= (1 + upgradeManager.getLevel(UpgradeType.OVERDRIVE) * 5); + consumption += upgradeManager.getLevel(UpgradeType.OVERDRIVE) * baseConsumption * 50; + + consumption /= (1 + upgradeManager.getLevel(UpgradeType.POWER)); if(hasPower() && isProcessing()) { this.power -= consumption; @@ -222,20 +224,20 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement } else { progress = 0; } - + this.networkPackNT(50); } else { - + if(isProgressing) { audioDuration += 2; } else { audioDuration -= 3; } - + audioDuration = MathHelper.clamp_int(audioDuration, 0, 60); - - if(audioDuration > 10) { - + + if(audioDuration > 10 && MainRegistry.proxy.me().getDistance(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) < 25) { + if(audio == null) { audio = createAudioLoop(); audio.startSound(); @@ -245,9 +247,10 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement audio.updateVolume(getVolume(1F)); audio.updatePitch((audioDuration - 10) / 100F + 0.5F); - + audio.keepAlive(); + } else { - + if(audio != null) { audio.stopSound(); audio = null; @@ -255,7 +258,7 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement } } } - + @Override public void serialize(ByteBuf buf) { super.serialize(buf); @@ -263,7 +266,7 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement buf.writeInt(progress); buf.writeBoolean(isProgressing); } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); @@ -274,7 +277,7 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement @Override public AudioWrapper createAudioLoop() { - return MainRegistry.proxy.getLoopedSound("hbm:block.centrifugeOperate", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F); + return MainRegistry.proxy.getLoopedSound("hbm:block.centrifugeOperate", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F, 20); } @Override @@ -296,12 +299,12 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement audio = null; } } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord, @@ -312,7 +315,7 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement zCoord + 1 ); } - + return bb; } @@ -345,7 +348,7 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineCentrifuge(player.inventory, this); } @@ -370,11 +373,12 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - if(type == UpgradeType.POWER) return 3; - if(type == UpgradeType.OVERDRIVE) return 3; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.POWER, 3); + upgrades.put(UpgradeType.OVERDRIVE, 3); + return upgrades; } @Override @@ -382,4 +386,4 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement data.setBoolean(CompatEnergyControl.B_ACTIVE, this.progress > 0); data.setInteger(CompatEnergyControl.B_ACTIVE, this.progress); } -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemfac.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemfac.java index 329947014..2fcb3a60c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemfac.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemfac.java @@ -1,12 +1,13 @@ package com.hbm.tileentity.machine; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Random; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerChemfac; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -14,15 +15,15 @@ import com.hbm.inventory.gui.GUIChemfac; import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -32,8 +33,9 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase implements IUpgradeInfoProvider { - +@Deprecated +public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase implements IUpgradeInfoProvider, IFluidCopiable { + float rotSpeed; public float rot; public float prevRot; @@ -41,6 +43,8 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase imp public FluidTank water; public FluidTank steam; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public TileEntityMachineChemfac() { super(77); @@ -51,7 +55,7 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase imp @Override public void setInventorySlotContents(int i, ItemStack stack) { super.setInventorySlotContents(i, stack); - + if(stack != null && i >= 1 && i <= 4 && stack.getItem() instanceof ItemMachineUpgrade) { worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:item.upgradePlug", 1.0F, 1.0F); } @@ -60,14 +64,14 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase imp @Override public void updateEntity() { super.updateEntity(); - + if(!worldObj.isRemote) { - + if(worldObj.getTotalWorldTime() % 60 == 0) { - + for(DirPos pos : getConPos()) { this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - + for(FluidTank tank : inTanks()) { if(tank.getTankType() != Fluids.NONE) { this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); @@ -75,77 +79,77 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase imp } } } - + for(DirPos pos : getConPos()) for(FluidTank tank : outTanks()) { if(tank.getTankType() != Fluids.NONE && tank.getFill() > 0) { - this.sendFluid(tank, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.tryProvide(tank, worldObj, pos); } } - + this.speed = 100; this.consumption = 100; - - UpgradeManager.eval(slots, 1, 4); - int speedLevel = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 6); - int powerLevel = Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3); - int overLevel = UpgradeManager.getLevel(UpgradeType.OVERDRIVE); - + upgradeManager.checkSlots(this, slots, 1, 4); + + int speedLevel = upgradeManager.getLevel(UpgradeType.SPEED); + int powerLevel = upgradeManager.getLevel(UpgradeType.POWER); + int overLevel = upgradeManager.getLevel(UpgradeType.OVERDRIVE); + this.speed -= speedLevel * 15; this.consumption += speedLevel * 300; this.speed += powerLevel * 5; this.consumption -= powerLevel * 20; this.speed /= (overLevel + 1); this.consumption *= (overLevel + 1); - + if(this.speed <= 0) { this.speed = 1; } - + this.networkPackNT(150); } else { - + float maxSpeed = 30F; - + if(isProgressing) { - + rotSpeed += 0.1; - + if(rotSpeed > maxSpeed) rotSpeed = maxSpeed; - + if(rotSpeed == maxSpeed && this.worldObj.getTotalWorldTime() % 5 == 0) { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); Random rand = worldObj.rand; - + double x = xCoord + 0.5 - rot.offsetX * 0.5; double y = yCoord + 3; double z = zCoord + 0.5 - rot.offsetZ * 0.5; - + worldObj.spawnParticle("cloud", x + dir.offsetX * 1.5 + rand.nextGaussian() * 0.15, y, z + dir.offsetZ * 1.5 + rand.nextGaussian() * 0.15, 0.0, 0.15, 0.0); worldObj.spawnParticle("cloud", x - dir.offsetX * 0.5 + rand.nextGaussian() * 0.15, y, z - dir.offsetZ * 0.5 + rand.nextGaussian() * 0.15, 0.0, 0.15, 0.0); } } else { - + rotSpeed -= 0.1; - + if(rotSpeed < 0) rotSpeed = 0; } - + prevRot = rot; - + rot += rotSpeed; - + if(rot >= 360) { rot -= 360; prevRot -= 360; } } } - + @Override public void serialize(ByteBuf buf) { super.serialize(buf); @@ -154,15 +158,15 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase imp buf.writeInt(progress[i]); buf.writeInt(maxProgress[i]); } - + buf.writeBoolean(isProgressing); - + for(int i = 0; i < tanks.length; i++) tanks[i].serialize(buf); - + water.serialize(buf); steam.serialize(buf); } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); @@ -171,15 +175,15 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase imp progress[i] = buf.readInt(); maxProgress[i] = buf.readInt(); } - + isProgressing = buf.readBoolean(); - + for(int i = 0; i < tanks.length; i++) tanks[i].deserialize(buf); - + water.deserialize(buf); steam.deserialize(buf); } - + private int getWaterRequired() { return 1000 / this.speed; } @@ -201,19 +205,19 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase imp public long getMaxPower() { return 10_000_000; } - + protected List conPos; - + protected List getConPos() { - + if(conPos != null && !conPos.isEmpty()) return conPos; - + conPos = new ArrayList(); ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); - + for(int i = 0; i < 6; i++) { conPos.add(new DirPos(xCoord + dir.offsetX * (3 - i) + rot.offsetX * 3, yCoord + 4, zCoord + dir.offsetZ * (3 - i) + rot.offsetZ * 3, Library.POS_Y)); conPos.add(new DirPos(xCoord + dir.offsetX * (3 - i) - rot.offsetX * 2, yCoord + 4, zCoord + dir.offsetZ * (3 - i) - rot.offsetZ * 2, Library.POS_Y)); @@ -223,7 +227,7 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase imp conPos.add(new DirPos(xCoord + dir.offsetX * (3 - i) - rot.offsetX * 4, yCoord + 1 + j, zCoord + dir.offsetZ * (3 - i) - rot.offsetZ * 4, rot.getOpposite())); } } - + return conPos; } @@ -249,52 +253,52 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase imp DirPos[] inpos; DirPos[] outpos; - + @Override public DirPos[] getInputPositions() { - + if(inpos != null) return inpos; - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + inpos = new DirPos[] { new DirPos(xCoord + dir.offsetX * 4 - rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 4 - rot.offsetZ * 1, dir), new DirPos(xCoord - dir.offsetX * 5 + rot.offsetX * 2, yCoord, zCoord - dir.offsetZ * 5 + rot.offsetZ * 2, dir.getOpposite()), new DirPos(xCoord - dir.offsetX * 2 - rot.offsetX * 4, yCoord, zCoord - dir.offsetZ * 2 - rot.offsetZ * 4, rot.getOpposite()), new DirPos(xCoord + dir.offsetX * 1 + rot.offsetX * 5, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * 5, rot) }; - + return inpos; } @Override public DirPos[] getOutputPositions() { - + if(outpos != null) return outpos; - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + outpos = new DirPos[] { new DirPos(xCoord + dir.offsetX * 4 + rot.offsetX * 2, yCoord, zCoord + dir.offsetZ * 4 + rot.offsetZ * 2, dir), new DirPos(xCoord - dir.offsetX * 5 - rot.offsetX * 1, yCoord, zCoord - dir.offsetZ * 5 - rot.offsetZ * 1, dir.getOpposite()), new DirPos(xCoord + dir.offsetX * 1 - rot.offsetX * 4, yCoord, zCoord + dir.offsetZ * 1 - rot.offsetZ * 4, rot.getOpposite()), new DirPos(xCoord - dir.offsetX * 2 + rot.offsetX * 5, yCoord, zCoord - dir.offsetZ * 2 + rot.offsetZ * 5, rot) }; - + return outpos; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); water.readFromNBT(nbt, "w"); steam.readFromNBT(nbt, "s"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -309,27 +313,27 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase imp @Override protected List inTanks() { - + List inTanks = super.inTanks(); inTanks.add(water); - + return inTanks; } @Override protected List outTanks() { - + List outTanks = super.outTanks(); outTanks.add(steam); - + return outTanks; } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 5, @@ -340,10 +344,10 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase imp zCoord + 5 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -357,7 +361,7 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase imp @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIChemfac(player.inventory, this); } @@ -383,10 +387,16 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase imp } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 6; - if(type == UpgradeType.POWER) return 3; - if(type == UpgradeType.OVERDRIVE) return 12; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 6); + upgrades.put(UpgradeType.POWER, 3); + upgrades.put(UpgradeType.OVERDRIVE, 12); + return upgrades; + } + + @Override + public FluidTank getTankToPaste() { + return null; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemicalFactory.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemicalFactory.java new file mode 100644 index 000000000..62b9f0a68 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemicalFactory.java @@ -0,0 +1,439 @@ +package com.hbm.tileentity.machine; + +import java.util.HashMap; +import java.util.List; + +import com.hbm.blocks.ModBlocks; +import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.UpgradeManagerNT; +import com.hbm.inventory.container.ContainerMachineChemicalFactory; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineChemicalFactory; +import com.hbm.items.machine.ItemMachineUpgrade; +import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; +import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; +import com.hbm.module.machine.ModuleMachineChemplant; +import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.IUpgradeInfoProvider; +import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.TileEntityProxyDyn.IProxyDelegateProvider; +import com.hbm.util.BobMathUtil; +import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; + +import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.fluidmk2.IFluidStandardTransceiverMK2; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityMachineChemicalFactory extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiverMK2, IUpgradeInfoProvider, IControlReceiver, IGUIProvider, IProxyDelegateProvider { + + public FluidTank[] allTanks; + public FluidTank[] inputTanks; + public FluidTank[] outputTanks; + + public FluidTank water; + public FluidTank lps; + + public long power; + public long maxPower = 10_000_000; + public boolean[] didProcess = new boolean[4]; + + public boolean frame = false; + public int anim; + public int prevAnim; + private AudioWrapper audio; + + public ModuleMachineChemplant[] chemplantModule; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(this); + + protected DelegateChemicalFactoy delegate = new DelegateChemicalFactoy(); + + public TileEntityMachineChemicalFactory() { + super(32); + + this.inputTanks = new FluidTank[12]; + this.outputTanks = new FluidTank[12]; + for(int i = 0; i < 12; i++) { + this.inputTanks[i] = new FluidTank(Fluids.NONE, 24_000); + this.outputTanks[i] = new FluidTank(Fluids.NONE, 24_000); + } + + this.water = new FluidTank(Fluids.WATER, 4_000); + this.lps = new FluidTank(Fluids.SPENTSTEAM, 4_000); + + this.allTanks = new FluidTank[this.inputTanks.length + this.outputTanks.length + 2]; + for(int i = 0; i < inputTanks.length; i++) this.allTanks[i] = this.inputTanks[i]; + for(int i = 0; i < outputTanks.length; i++) this.allTanks[i + this.inputTanks.length] = this.outputTanks[i]; + + this.allTanks[this.allTanks.length - 2] = this.water; + this.allTanks[this.allTanks.length - 1] = this.lps; + + this.chemplantModule = new ModuleMachineChemplant[4]; + for(int i = 0; i < 4; i++) this.chemplantModule[i] = new ModuleMachineChemplant(i, this, slots) + .itemInput(5 + i * 7, 6 + i * 7, 7 + i * 7) + .itemOutput(8 + i * 7, 9 + i * 7, 10 + i * 7) + .fluidInput(inputTanks[0 + i * 3], inputTanks[1 + i * 3], inputTanks[2 + i * 3]) + .fluidOutput(outputTanks[0 + i * 3], outputTanks[1 + i * 3], outputTanks[2 + i * 3]); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + if(i >= 8 && i <= 10) return true; + if(i >= 15 && i <= 17) return true; + if(i >= 22 && i <= 24) return true; + if(i >= 29 && i <= 31) return true; + return false; + } + + @Override + public boolean isItemValidForSlot(int slot, ItemStack stack) { + if(slot == 0) return true; // battery + if(slot >= 1 && slot <= 3 && stack.getItem() instanceof ItemMachineUpgrade) return true; // upgrades + for(int i = 0; i < 4; i++) if(this.chemplantModule[i].isItemValid(slot, stack)) return true; // recipe input crap + return false; + } + + @Override + public int[] getAccessibleSlotsFromSide(int side) { + return new int[] { + 5, 6, 7, 8, 9, 10, + 12, 13, 14, 15, 16, 17, + 19, 20, 21, 22, 23, 24, + 26, 27, 28, 29, 30, 31 + }; + } + + @Override + public String getName() { + return "container.machineChemicalFactory"; + } + + @Override + public void updateEntity() { + + if(maxPower <= 0) this.maxPower = 10_000_000; + + if(!worldObj.isRemote) { + + this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); + upgradeManager.checkSlots(slots, 1, 3); + + inputTanks[0].loadTank(10, 13, slots); + inputTanks[1].loadTank(11, 14, slots); + inputTanks[2].loadTank(12, 15, slots); + + outputTanks[0].unloadTank(16, 19, slots); + outputTanks[1].unloadTank(17, 20, slots); + outputTanks[2].unloadTank(18, 21, slots); + + for(DirPos pos : getConPos()) { + this.trySubscribe(worldObj, pos); + for(FluidTank tank : inputTanks) if(tank.getTankType() != Fluids.NONE) this.trySubscribe(tank.getTankType(), worldObj, pos); + for(FluidTank tank : outputTanks) if(tank.getFill() > 0) this.tryProvide(tank, worldObj, pos); + } + + for(DirPos pos : getCoolPos()) { + delegate.trySubscribe(worldObj, pos); + delegate.trySubscribe(water.getTankType(), worldObj, pos); + delegate.tryProvide(lps, worldObj, pos); + } + + double speed = 1D; + double pow = 1D; + + speed += Math.min(upgradeManager.getLevel(UpgradeType.SPEED), 3) / 3D; + speed += Math.min(upgradeManager.getLevel(UpgradeType.OVERDRIVE), 3); + + pow -= Math.min(upgradeManager.getLevel(UpgradeType.POWER), 3) * 0.25D; + pow += Math.min(upgradeManager.getLevel(UpgradeType.SPEED), 3) * 1D; + pow += Math.min(upgradeManager.getLevel(UpgradeType.OVERDRIVE), 3) * 10D / 3D; + boolean markDirty = false; + + for(int i = 0; i < 4; i++) { + this.chemplantModule[i].update(speed * 2D, pow * 2D, canCool()); + this.didProcess[i] = this.chemplantModule[i].didProcess; + markDirty |= this.chemplantModule[i].markDirty; + + if(this.chemplantModule[i].didProcess) { + this.water.setFill(this.water.getFill() - 100); + this.lps.setFill(this.lps.getFill() + 100); + } + } + + for(FluidTank in : inputTanks) if(in.getTankType() != Fluids.NONE) for(FluidTank out : outputTanks) { // up to 144 iterations, but most of them are NOP anyway + if(out.getTankType() == Fluids.NONE) continue; + if(out.getTankType() != in.getTankType()) continue; + int toMove = BobMathUtil.min(in.getMaxFill() - in.getFill(), out.getFill(), 50); + if(toMove > 0) { + in.setFill(in.getFill() + toMove); + out.setFill(out.getFill() - toMove); + } + } + + if(markDirty) this.markDirty(); + + this.networkPackNT(100); + + } else { + + this.prevAnim = this.anim; + boolean didSomething = didProcess[0] || didProcess[1] || didProcess[2] || didProcess[3]; + if(didSomething) this.anim++; + + if(worldObj.getTotalWorldTime() % 20 == 0) { + frame = !worldObj.getBlock(xCoord, yCoord + 3, zCoord).isAir(worldObj, xCoord, yCoord + 3, zCoord); + } + + if(didSomething && MainRegistry.proxy.me().getDistance(xCoord , yCoord, zCoord) < 50) { + if(audio == null) { + audio = createAudioLoop(); + audio.startSound(); + } else if(!audio.isPlaying()) { + audio = rebootAudio(audio); + } + audio.keepAlive(); + audio.updateVolume(this.getVolume(1F)); + + } else { + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + } + } + + @Override public AudioWrapper createAudioLoop() { + return MainRegistry.proxy.getLoopedSound("hbm:block.chemicalPlant", xCoord, yCoord, zCoord, 1F, 15F, 1.0F, 20); + } + + @Override public void onChunkUnload() { + if(audio != null) { audio.stopSound(); audio = null; } + } + + @Override public void invalidate() { + super.invalidate(); + if(audio != null) { audio.stopSound(); audio = null; } + } + + public boolean canCool() { + return water.getFill() >= 100 && lps.getFill() <= lps.getMaxFill() - 100; + } + + public DirPos[] getConPos() { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + return new DirPos[] { + new DirPos(xCoord + 3, yCoord, zCoord - 2, Library.POS_X), + new DirPos(xCoord + 3, yCoord, zCoord + 0, Library.POS_X), + new DirPos(xCoord + 3, yCoord, zCoord + 2, Library.POS_X), + new DirPos(xCoord - 3, yCoord, zCoord - 2, Library.NEG_X), + new DirPos(xCoord - 3, yCoord, zCoord + 0, Library.NEG_X), + new DirPos(xCoord - 3, yCoord, zCoord + 2, Library.NEG_X), + new DirPos(xCoord - 2, yCoord, zCoord + 3, Library.POS_Z), + new DirPos(xCoord + 0, yCoord, zCoord + 3, Library.POS_Z), + new DirPos(xCoord + 2, yCoord, zCoord + 3, Library.POS_Z), + new DirPos(xCoord - 2, yCoord, zCoord - 3, Library.NEG_Z), + new DirPos(xCoord + 0, yCoord, zCoord - 3, Library.NEG_Z), + new DirPos(xCoord + 2, yCoord, zCoord - 3, Library.NEG_Z), + + new DirPos(xCoord + dir.offsetX * 2 + rot.offsetX * 2, yCoord + 3, zCoord + dir.offsetZ * 2 + rot.offsetZ * 2, Library.POS_Y), + new DirPos(xCoord + dir.offsetX * 1 + rot.offsetX * 2, yCoord + 3, zCoord + dir.offsetZ * 1 + rot.offsetZ * 2, Library.POS_Y), + new DirPos(xCoord + dir.offsetX * 0 + rot.offsetX * 2, yCoord + 3, zCoord + dir.offsetZ * 0 + rot.offsetZ * 2, Library.POS_Y), + new DirPos(xCoord - dir.offsetX * 1 + rot.offsetX * 2, yCoord + 3, zCoord - dir.offsetZ * 1 + rot.offsetZ * 2, Library.POS_Y), + new DirPos(xCoord - dir.offsetX * 2 + rot.offsetX * 2, yCoord + 3, zCoord - dir.offsetZ * 2 + rot.offsetZ * 2, Library.POS_Y), + new DirPos(xCoord + dir.offsetX * 2 - rot.offsetX * 2, yCoord + 3, zCoord + dir.offsetZ * 2 - rot.offsetZ * 2, Library.POS_Y), + new DirPos(xCoord + dir.offsetX * 1 - rot.offsetX * 2, yCoord + 3, zCoord + dir.offsetZ * 1 - rot.offsetZ * 2, Library.POS_Y), + new DirPos(xCoord + dir.offsetX * 0 - rot.offsetX * 2, yCoord + 3, zCoord + dir.offsetZ * 0 - rot.offsetZ * 2, Library.POS_Y), + new DirPos(xCoord - dir.offsetX * 1 - rot.offsetX * 2, yCoord + 3, zCoord - dir.offsetZ * 1 - rot.offsetZ * 2, Library.POS_Y), + new DirPos(xCoord - dir.offsetX * 2 - rot.offsetX * 2, yCoord + 3, zCoord - dir.offsetZ * 2 - rot.offsetZ * 2, Library.POS_Y), + + new DirPos(xCoord + dir.offsetX + rot.offsetX * 3, yCoord, zCoord + dir.offsetZ + rot.offsetZ * 3, rot), + new DirPos(xCoord - dir.offsetX + rot.offsetX * 3, yCoord, zCoord - dir.offsetZ + rot.offsetZ * 3, rot), + new DirPos(xCoord + dir.offsetX - rot.offsetX * 3, yCoord, zCoord + dir.offsetZ - rot.offsetZ * 3, rot.getOpposite()), + new DirPos(xCoord - dir.offsetX - rot.offsetX * 3, yCoord, zCoord - dir.offsetZ - rot.offsetZ * 3, rot.getOpposite()), + }; + } + + + public DirPos[] getCoolPos() { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + return new DirPos[] { + new DirPos(xCoord + rot.offsetX + dir.offsetX * 3, yCoord, zCoord + rot.offsetZ + dir.offsetZ * 3, dir), + new DirPos(xCoord - rot.offsetX + dir.offsetX * 3, yCoord, zCoord - rot.offsetZ + dir.offsetZ * 3, dir), + new DirPos(xCoord + rot.offsetX - dir.offsetX * 3, yCoord, zCoord + rot.offsetZ - dir.offsetZ * 3, dir.getOpposite()), + new DirPos(xCoord - rot.offsetX - dir.offsetX * 3, yCoord, zCoord - rot.offsetZ - dir.offsetZ * 3, dir.getOpposite()), + }; + } + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + for(FluidTank tank : inputTanks) tank.serialize(buf); + for(FluidTank tank : outputTanks) tank.serialize(buf); + water.serialize(buf); + lps.serialize(buf); + buf.writeLong(power); + buf.writeLong(maxPower); + for(boolean b : didProcess) buf.writeBoolean(b); + for(int i = 0; i < 4; i++) this.chemplantModule[i].serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + for(FluidTank tank : inputTanks) tank.deserialize(buf); + for(FluidTank tank : outputTanks) tank.deserialize(buf); + water.deserialize(buf); + lps.deserialize(buf); + this.power = buf.readLong(); + this.maxPower = buf.readLong(); + for(int i = 0; i < 4; i++) this.didProcess[i] = buf.readBoolean(); + for(int i = 0; i < 4; i++) this.chemplantModule[i].deserialize(buf); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + for(int i = 0; i < inputTanks.length; i++) this.inputTanks[i].readFromNBT(nbt, "i" + i); + for(int i = 0; i < outputTanks.length; i++) this.outputTanks[i].readFromNBT(nbt, "i" + i); + + this.water.readFromNBT(nbt, "w"); + this.lps.readFromNBT(nbt, "s"); + + this.power = nbt.getLong("power"); + this.maxPower = nbt.getLong("maxPower"); + for(int i = 0; i < 4; i++) this.chemplantModule[i].readFromNBT(nbt); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + for(int i = 0; i < inputTanks.length; i++) this.inputTanks[i].writeToNBT(nbt, "i" + i); + for(int i = 0; i < outputTanks.length; i++) this.outputTanks[i].writeToNBT(nbt, "i" + i); + + this.water.writeToNBT(nbt, "w"); + this.lps.writeToNBT(nbt, "s"); + + nbt.setLong("power", power); + nbt.setLong("maxPower", maxPower); + for(int i = 0; i < 4; i++) this.chemplantModule[i].writeToNBT(nbt); + } + + @Override public long getPower() { return power; } + @Override public void setPower(long power) { this.power = power; } + @Override public long getMaxPower() { return maxPower; } + + @Override public FluidTank[] getReceivingTanks() { return inputTanks; } + @Override public FluidTank[] getSendingTanks() { return outputTanks; } + @Override public FluidTank[] getAllTanks() { return allTanks; } + + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return new ContainerMachineChemicalFactory(player.inventory, this); } + @Override @SideOnly(Side.CLIENT) public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineChemicalFactory(player.inventory, this); } + + @Override public boolean hasPermission(EntityPlayer player) { return this.isUseableByPlayer(player); } + + @Override + public void receiveControl(NBTTagCompound data) { + if(data.hasKey("index") && data.hasKey("selection")) { + int index = data.getInteger("index"); + String selection = data.getString("selection"); + if(index >= 0 && index < 4) { + this.chemplantModule[index].recipe = selection; + this.markChanged(); + } + } + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + if(bb == null) bb = AxisAlignedBB.getBoundingBox(xCoord - 2, yCoord, zCoord - 2, xCoord + 3, yCoord + 3, zCoord + 3); + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override + public boolean canProvideInfo(UpgradeType type, int level, boolean extendedInfo) { + return type == UpgradeType.SPEED || type == UpgradeType.POWER || type == UpgradeType.OVERDRIVE; + } + + @Override + public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo) { + info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_chemical_factory)); + if(type == UpgradeType.SPEED) { + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(KEY_SPEED, "+" + (level * 100 / 3) + "%")); + info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(KEY_CONSUMPTION, "+" + (level * 50) + "%")); + } + if(type == UpgradeType.POWER) { + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(KEY_CONSUMPTION, "-" + (level * 25) + "%")); + } + if(type == UpgradeType.OVERDRIVE) { + info.add((BobMathUtil.getBlink() ? EnumChatFormatting.RED : EnumChatFormatting.DARK_GRAY) + "YES"); + } + } + + @Override + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.POWER, 3); + upgrades.put(UpgradeType.OVERDRIVE, 3); + return upgrades; + } + + public DirPos[] coolantLine; // we could make the same fucking array 50,000 times per tick, or we just make it once + + @Override // all the delegating shit so the proxies on the coolant lines only access coolant (and power and inventory) but not the recipe fluids + public Object getDelegateForPosition(int x, int y, int z) { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + if(coolantLine == null) coolantLine = new DirPos[] { + new DirPos(xCoord + rot.offsetX + dir.offsetX * 2, yCoord, zCoord + rot.offsetZ + dir.offsetZ * 2, dir), + new DirPos(xCoord - rot.offsetX + dir.offsetX * 2, yCoord, zCoord - rot.offsetZ + dir.offsetZ * 2, dir), + new DirPos(xCoord + rot.offsetX - dir.offsetX * 2, yCoord, zCoord + rot.offsetZ - dir.offsetZ * 2, dir.getOpposite()), + new DirPos(xCoord - rot.offsetX - dir.offsetX * 2, yCoord, zCoord - rot.offsetZ - dir.offsetZ * 2, dir.getOpposite()), + }; + + for(DirPos pos : coolantLine) if(pos.compare(x, y, z)) return this.delegate; // this actually fucking works + + return null; + } + + public class DelegateChemicalFactoy implements IEnergyReceiverMK2, IFluidStandardTransceiverMK2 { + + @Override public long getPower() { return TileEntityMachineChemicalFactory.this.getPower(); } + @Override public void setPower(long power) { TileEntityMachineChemicalFactory.this.setPower(power); } + @Override public long getMaxPower() { return TileEntityMachineChemicalFactory.this.getMaxPower(); } + @Override public boolean isLoaded() { return TileEntityMachineChemicalFactory.this.isLoaded(); } + + @Override public FluidTank[] getReceivingTanks() { return new FluidTank[] {TileEntityMachineChemicalFactory.this.water}; } + @Override public FluidTank[] getSendingTanks() { return new FluidTank[] {TileEntityMachineChemicalFactory.this.lps}; } + + @Override public FluidTank[] getAllTanks() { return TileEntityMachineChemicalFactory.this.getAllTanks(); } + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemicalPlant.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemicalPlant.java new file mode 100644 index 000000000..47e0a7d62 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemicalPlant.java @@ -0,0 +1,319 @@ +package com.hbm.tileentity.machine; + +import java.util.HashMap; +import java.util.List; + +import com.hbm.blocks.ModBlocks; +import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.UpgradeManagerNT; +import com.hbm.inventory.container.ContainerMachineChemicalPlant; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineChemicalPlant; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemMachineUpgrade; +import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; +import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; +import com.hbm.module.machine.ModuleMachineChemplant; +import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.IUpgradeInfoProvider; +import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.BobMathUtil; +import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; + +import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.fluidmk2.IFluidStandardTransceiverMK2; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; + +public class TileEntityMachineChemicalPlant extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiverMK2, IUpgradeInfoProvider, IControlReceiver, IGUIProvider { + + public FluidTank[] inputTanks; + public FluidTank[] outputTanks; + + public long power; + public long maxPower = 1_000_000; + public boolean didProcess = false; + + public boolean frame = false; + public int anim; + public int prevAnim; + private AudioWrapper audio; + + public ModuleMachineChemplant chemplantModule; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(this); + + public TileEntityMachineChemicalPlant() { + super(22); + + this.inputTanks = new FluidTank[3]; + this.outputTanks = new FluidTank[3]; + for(int i = 0; i < 3; i++) { + this.inputTanks[i] = new FluidTank(Fluids.NONE, 24_000); + this.outputTanks[i] = new FluidTank(Fluids.NONE, 24_000); + } + + this.chemplantModule = new ModuleMachineChemplant(0, this, slots) + .itemInput(4, 5, 6) + .itemOutput(7, 8, 9) + .fluidInput(inputTanks[0], inputTanks[1], inputTanks[2]) + .fluidOutput(outputTanks[0], outputTanks[1], outputTanks[2]); + } + + @Override + public String getName() { + return "container.machineChemicalPlant"; + } + + @Override + public void updateEntity() { + + if(maxPower <= 0) this.maxPower = 1_000_000; + + if(!worldObj.isRemote) { + + this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); + upgradeManager.checkSlots(slots, 2, 3); + + inputTanks[0].loadTank(10, 13, slots); + inputTanks[1].loadTank(11, 14, slots); + inputTanks[2].loadTank(12, 15, slots); + + outputTanks[0].unloadTank(16, 19, slots); + outputTanks[1].unloadTank(17, 20, slots); + outputTanks[2].unloadTank(18, 21, slots); + + for(DirPos pos : getConPos()) { + this.trySubscribe(worldObj, pos); + for(FluidTank tank : inputTanks) if(tank.getTankType() != Fluids.NONE) this.trySubscribe(tank.getTankType(), worldObj, pos); + for(FluidTank tank : outputTanks) if(tank.getFill() > 0) this.tryProvide(tank, worldObj, pos); + } + + double speed = 1D; + double pow = 1D; + + speed += Math.min(upgradeManager.getLevel(UpgradeType.SPEED), 3) / 3D; + speed += Math.min(upgradeManager.getLevel(UpgradeType.OVERDRIVE), 3); + + pow -= Math.min(upgradeManager.getLevel(UpgradeType.POWER), 3) * 0.25D; + pow += Math.min(upgradeManager.getLevel(UpgradeType.SPEED), 3) * 1D; + pow += Math.min(upgradeManager.getLevel(UpgradeType.OVERDRIVE), 3) * 10D / 3D; + + this.chemplantModule.update(speed, pow, true); + this.didProcess = this.chemplantModule.didProcess; + if(this.chemplantModule.markDirty) this.markDirty(); + + if(didProcess) { + if(slots[0] != null && slots[0].getItem() == ModItems.meteorite_sword_machined) + slots[0] = new ItemStack(ModItems.meteorite_sword_treated); + } + + this.networkPackNT(100); + + } else { + + this.prevAnim = this.anim; + if(this.didProcess) this.anim++; + + if(worldObj.getTotalWorldTime() % 20 == 0) { + frame = !worldObj.getBlock(xCoord, yCoord + 3, zCoord).isAir(worldObj, xCoord, yCoord + 3, zCoord); + } + + if(this.didProcess && MainRegistry.proxy.me().getDistance(xCoord , yCoord, zCoord) < 50) { + if(audio == null) { + audio = createAudioLoop(); + audio.startSound(); + } else if(!audio.isPlaying()) { + audio = rebootAudio(audio); + } + audio.keepAlive(); + audio.updateVolume(this.getVolume(1F)); + + } else { + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + } + } + + @Override public AudioWrapper createAudioLoop() { + return MainRegistry.proxy.getLoopedSound("hbm:block.chemicalPlant", xCoord, yCoord, zCoord, 1F, 15F, 1.0F, 20); + } + + @Override public void onChunkUnload() { + if(audio != null) { audio.stopSound(); audio = null; } + } + + @Override public void invalidate() { + super.invalidate(); + if(audio != null) { audio.stopSound(); audio = null; } + } + + public DirPos[] getConPos() { + return new DirPos[] { + new DirPos(xCoord + 2, yCoord, zCoord - 1, Library.POS_X), + new DirPos(xCoord + 2, yCoord, zCoord + 0, Library.POS_X), + new DirPos(xCoord + 2, yCoord, zCoord + 1, Library.POS_X), + new DirPos(xCoord - 2, yCoord, zCoord - 1, Library.NEG_X), + new DirPos(xCoord - 2, yCoord, zCoord + 0, Library.NEG_X), + new DirPos(xCoord - 2, yCoord, zCoord + 1, Library.NEG_X), + new DirPos(xCoord - 1, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord + 0, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord + 1, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord - 1, yCoord, zCoord - 2, Library.NEG_Z), + new DirPos(xCoord + 0, yCoord, zCoord - 2, Library.NEG_Z), + new DirPos(xCoord + 1, yCoord, zCoord - 2, Library.NEG_Z), + }; + } + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + for(FluidTank tank : inputTanks) tank.serialize(buf); + for(FluidTank tank : outputTanks) tank.serialize(buf); + buf.writeLong(power); + buf.writeLong(maxPower); + buf.writeBoolean(didProcess); + this.chemplantModule.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + for(FluidTank tank : inputTanks) tank.deserialize(buf); + for(FluidTank tank : outputTanks) tank.deserialize(buf); + this.power = buf.readLong(); + this.maxPower = buf.readLong(); + this.didProcess = buf.readBoolean(); + this.chemplantModule.deserialize(buf); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + for(int i = 0; i < 3; i++) { + this.inputTanks[i].readFromNBT(nbt, "i" + i); + this.outputTanks[i].readFromNBT(nbt, "o" + i); + } + + this.power = nbt.getLong("power"); + this.maxPower = nbt.getLong("maxPower"); + this.chemplantModule.readFromNBT(nbt); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + for(int i = 0; i < 3; i++) { + this.inputTanks[i].writeToNBT(nbt, "i" + i); + this.outputTanks[i].writeToNBT(nbt, "o" + i); + } + + nbt.setLong("power", power); + nbt.setLong("maxPower", maxPower); + this.chemplantModule.writeToNBT(nbt); + } + + @Override + public boolean isItemValidForSlot(int slot, ItemStack stack) { + if(slot == 0) return true; // battery + if(slot >= 2 && slot <= 3 && stack.getItem() instanceof ItemMachineUpgrade) return true; // upgrades + if(slot >= 10 && slot <= 12) return true; // input fluid + if(slot >= 16 && slot <= 18) return true; // output fluid + if(this.chemplantModule.isItemValid(slot, stack)) return true; // recipe input crap + return false; + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return i >= 7 && i <= 9; + } + + @Override + public int[] getAccessibleSlotsFromSide(int side) { + return new int[] {4, 5, 6, 7, 8, 9}; + } + + @Override public long getPower() { return power; } + @Override public void setPower(long power) { this.power = power; } + @Override public long getMaxPower() { return maxPower; } + + @Override public FluidTank[] getReceivingTanks() { return inputTanks; } + @Override public FluidTank[] getSendingTanks() { return outputTanks; } + @Override public FluidTank[] getAllTanks() { return new FluidTank[] {inputTanks[0], inputTanks[1], inputTanks[2], outputTanks[0], outputTanks[1], outputTanks[2]}; } + + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return new ContainerMachineChemicalPlant(player.inventory, this); } + @Override @SideOnly(Side.CLIENT) public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineChemicalPlant(player.inventory, this); } + + @Override public boolean hasPermission(EntityPlayer player) { return this.isUseableByPlayer(player); } + + @Override + public void receiveControl(NBTTagCompound data) { + if(data.hasKey("index") && data.hasKey("selection")) { + int index = data.getInteger("index"); + String selection = data.getString("selection"); + if(index == 0) { + this.chemplantModule.recipe = selection; + this.markChanged(); + } + } + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + if(bb == null) bb = AxisAlignedBB.getBoundingBox(xCoord - 1, yCoord, zCoord - 1, xCoord + 2, yCoord + 3, zCoord + 2); + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override + public boolean canProvideInfo(UpgradeType type, int level, boolean extendedInfo) { + return type == UpgradeType.SPEED || type == UpgradeType.POWER || type == UpgradeType.OVERDRIVE; + } + + @Override + public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo) { + info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_chemical_plant)); + if(type == UpgradeType.SPEED) { + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(KEY_SPEED, "+" + (level * 100 / 3) + "%")); + info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(KEY_CONSUMPTION, "+" + (level * 50) + "%")); + } + if(type == UpgradeType.POWER) { + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(KEY_CONSUMPTION, "-" + (level * 25) + "%")); + } + if(type == UpgradeType.OVERDRIVE) { + info.add((BobMathUtil.getBlink() ? EnumChatFormatting.RED : EnumChatFormatting.DARK_GRAY) + "YES"); + } + } + + @Override + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.POWER, 3); + upgrades.put(UpgradeType.OVERDRIVE, 3); + return upgrades; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java index 5febdcbe3..cec95fb09 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java @@ -1,11 +1,12 @@ package com.hbm.tileentity.machine; +import java.util.HashMap; import java.util.List; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; import com.hbm.inventory.RecipesCommon.AStack; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerMachineChemplant; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -21,16 +22,15 @@ import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.InventoryUtil; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; @@ -43,6 +43,7 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +@Deprecated public class TileEntityMachineChemplant extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IGUIProvider, IUpgradeInfoProvider { public long power; @@ -50,15 +51,17 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements public int progress; public int maxProgress = 100; public boolean isProgressing; - + private AudioWrapper audio; - + public FluidTank[] tanks; - + //upgraded stats int consumption = 100; int speed = 100; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public TileEntityMachineChemplant() { super(21); /* @@ -72,7 +75,7 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements * 17-18 FIn In * 19-20 FIn Out */ - + tanks = new FluidTank[4]; for(int i = 0; i < 4; i++) { tanks[i] = new FluidTank(Fluids.NONE, 24_000); @@ -83,7 +86,7 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements public String getName() { return "container.chemplant"; } - + // last successful load int lsl0 = 0; int lsl1 = 0; @@ -92,23 +95,23 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + this.speed = 100; this.consumption = 100; - + this.isProgressing = false; this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); int fluidDelay = 40; - + if(lsu0 >= fluidDelay && tanks[0].loadTank(17, 19, slots)) lsl0 = 0; if(lsu1 >= fluidDelay && tanks[1].loadTank(18, 20, slots)) lsl1 = 0; - + if(lsl0 >= fluidDelay && slots[17] != null && !FluidTank.noDualUnload.contains(slots[17].getItem())) if(tanks[0].unloadTank(17, 19, slots)) lsu0 = 0; if(lsl1 >= fluidDelay && slots[18] != null && !FluidTank.noDualUnload.contains(slots[18].getItem())) if(tanks[1].unloadTank(18, 20, slots)) lsu1 = 0; - + tanks[2].unloadTank(9, 11, slots); tanks[3].unloadTank(10, 12, slots); @@ -116,48 +119,48 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements if(lsl1 < fluidDelay) lsl1++; if(lsu0 < fluidDelay) lsu0++; if(lsu1 < fluidDelay) lsu1++; - + loadItems(); unloadItems(); - + if(worldObj.getTotalWorldTime() % 20 == 0) { this.updateConnections(); } - + for(DirPos pos : getConPos()) { if(tanks[2].getFill() > 0) this.sendFluid(tanks[2], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); if(tanks[3].getFill() > 0) this.sendFluid(tanks[3], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - - UpgradeManager.eval(slots, 1, 3); - int speedLevel = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); - int powerLevel = Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3); - int overLevel = UpgradeManager.getLevel(UpgradeType.OVERDRIVE); - + upgradeManager.checkSlots(this, slots, 1, 3); + + int speedLevel = upgradeManager.getLevel(UpgradeType.SPEED); + int powerLevel = upgradeManager.getLevel(UpgradeType.POWER); + int overLevel = upgradeManager.getLevel(UpgradeType.OVERDRIVE); + this.speed -= speedLevel * 25; this.consumption += speedLevel * 300; this.speed += powerLevel * 5; this.consumption -= powerLevel * 20; this.speed /= (overLevel + 1); this.consumption *= (overLevel + 1); - + if(this.speed <= 0) { this.speed = 1; } - + if(!canProcess()) { this.progress = 0; } else { isProgressing = true; process(); } - + this.networkPackNT(150); } else { - + if(isProgressing && this.worldObj.getTotalWorldTime() % 3 == 0) { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); double x = xCoord + 0.5 + dir.offsetX * 1.125 + rot.offsetX * 0.125; @@ -165,22 +168,22 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements double z = zCoord + 0.5 + dir.offsetZ * 1.125 + rot.offsetZ * 0.125; worldObj.spawnParticle("cloud", x, y, z, 0.0, 0.1, 0.0); } - + float volume = this.getVolume(1F); - + if(isProgressing && volume > 0) { - + if(audio == null) { - audio = this.createAudioLoop(); + audio = createAudioLoop(); audio.updateVolume(volume); audio.startSound(); } else if(!audio.isPlaying()) { audio = rebootAudio(audio); audio.updateVolume(volume); } - + } else { - + if(audio != null) { audio.stopSound(); audio = null; @@ -200,7 +203,7 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements for(int i = 0; i < tanks.length; i++) tanks[i].serialize(buf); } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); @@ -212,7 +215,7 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements for(int i = 0; i < tanks.length; i++) tanks[i].deserialize(buf); } - + @Override public AudioWrapper createAudioLoop() { return MainRegistry.proxy.getLoopedSound("hbm:block.chemplantOperate", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F); @@ -237,21 +240,21 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements audio = null; } } - + private void updateConnections() { - + for(DirPos pos : getConPos()) { this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + public DirPos[] getConPos() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); - + return new DirPos[] { new DirPos(xCoord + rot.offsetX * 3, yCoord, zCoord + rot.offsetZ * 3, rot), new DirPos(xCoord - rot.offsetX * 2, yCoord, zCoord - rot.offsetZ * 2, rot.getOpposite()), @@ -259,69 +262,69 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements new DirPos(xCoord - rot.offsetX * 2 + dir.offsetX, yCoord, zCoord - rot.offsetZ * 2 + dir.offsetZ, rot.getOpposite()) }; } - + private boolean canProcess() { - + if(slots[4] == null || slots[4].getItem() != ModItems.chemistry_template) return false; - + ChemRecipe recipe = ChemplantRecipes.indexMapping.get(slots[4].getItemDamage()); - + if(recipe == null) return false; - + setupTanks(recipe); - + if(this.power < this.consumption) return false; if(!hasRequiredFluids(recipe)) return false; if(!hasSpaceForFluids(recipe)) return false; if(!hasRequiredItems(recipe)) return false; if(!hasSpaceForItems(recipe)) return false; - + return true; } - + private void setupTanks(ChemRecipe recipe) { if(recipe.inputFluids[0] != null) tanks[0].withPressure(recipe.inputFluids[0].pressure).setTankType(recipe.inputFluids[0].type); else tanks[0].setTankType(Fluids.NONE); if(recipe.inputFluids[1] != null) tanks[1].withPressure(recipe.inputFluids[1].pressure).setTankType(recipe.inputFluids[1].type); else tanks[1].setTankType(Fluids.NONE); if(recipe.outputFluids[0] != null) tanks[2].withPressure(recipe.outputFluids[0].pressure).setTankType(recipe.outputFluids[0].type); else tanks[2].setTankType(Fluids.NONE); if(recipe.outputFluids[1] != null) tanks[3].withPressure(recipe.outputFluids[1].pressure).setTankType(recipe.outputFluids[1].type); else tanks[3].setTankType(Fluids.NONE); } - + private boolean hasRequiredFluids(ChemRecipe recipe) { if(recipe.inputFluids[0] != null && tanks[0].getFill() < recipe.inputFluids[0].fill) return false; if(recipe.inputFluids[1] != null && tanks[1].getFill() < recipe.inputFluids[1].fill) return false; return true; } - + private boolean hasSpaceForFluids(ChemRecipe recipe) { if(recipe.outputFluids[0] != null && tanks[2].getFill() + recipe.outputFluids[0].fill > tanks[2].getMaxFill()) return false; if(recipe.outputFluids[1] != null && tanks[3].getFill() + recipe.outputFluids[1].fill > tanks[3].getMaxFill()) return false; return true; } - + private boolean hasRequiredItems(ChemRecipe recipe) { return InventoryUtil.doesArrayHaveIngredients(slots, 13, 16, recipe.inputs); } - + private boolean hasSpaceForItems(ChemRecipe recipe) { return InventoryUtil.doesArrayHaveSpace(slots, 5, 8, recipe.outputs); } - + private void process() { - + this.power -= this.consumption; this.progress++; - + if(slots[0] != null && slots[0].getItem() == ModItems.meteorite_sword_machined) slots[0] = new ItemStack(ModItems.meteorite_sword_treated); //fisfndmoivndlmgindgifgjfdnblfm - + ChemRecipe recipe = ChemplantRecipes.indexMapping.get(slots[4].getItemDamage()); - + this.maxProgress = recipe.getDuration() * this.speed / 100; - + if(maxProgress <= 0) maxProgress = 1; - + if(this.progress >= this.maxProgress) { consumeFluids(recipe); produceFluids(recipe); @@ -331,81 +334,81 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements this.markDirty(); } } - + private void consumeFluids(ChemRecipe recipe) { if(recipe.inputFluids[0] != null) tanks[0].setFill(tanks[0].getFill() - recipe.inputFluids[0].fill); if(recipe.inputFluids[1] != null) tanks[1].setFill(tanks[1].getFill() - recipe.inputFluids[1].fill); } - + private void produceFluids(ChemRecipe recipe) { if(recipe.outputFluids[0] != null) tanks[2].setFill(tanks[2].getFill() + recipe.outputFluids[0].fill); if(recipe.outputFluids[1] != null) tanks[3].setFill(tanks[3].getFill() + recipe.outputFluids[1].fill); } - + private void consumeItems(ChemRecipe recipe) { - + for(AStack in : recipe.inputs) { if(in != null) InventoryUtil.tryConsumeAStack(slots, 13, 16, in); } } - + private void produceItems(ChemRecipe recipe) { - + for(ItemStack out : recipe.outputs) { if(out != null) InventoryUtil.tryAddItemToInventory(slots, 5, 8, out.copy()); } } - + //TODO: move this into a util class private void loadItems() { - + if(slots[4] == null || slots[4].getItem() != ModItems.chemistry_template) return; - + ChemRecipe recipe = ChemplantRecipes.indexMapping.get(slots[4].getItemDamage()); - + if(recipe != null) { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); int x = xCoord - dir.offsetX * 2; int z = zCoord - dir.offsetZ * 2; - + TileEntity te = worldObj.getTileEntity(x, yCoord, z); - + if(te instanceof IInventory) { - + IInventory inv = (IInventory) te; ISidedInventory sided = inv instanceof ISidedInventory ? (ISidedInventory) inv : null; int[] access = sided != null ? sided.getAccessibleSlotsFromSide(dir.ordinal()) : null; - + for(AStack ingredient : recipe.inputs) { - + outer: while(!InventoryUtil.doesArrayHaveIngredients(slots, 13, 16, ingredient)) { - + boolean found = false; - + for(int i = 0; i < (access != null ? access.length : inv.getSizeInventory()); i++) { int slot = access != null ? access[i] : i; ItemStack stack = inv.getStackInSlot(slot); - + if(ingredient.matchesRecipe(stack, true) && (sided == null || sided.canExtractItem(slot, stack, 0))) { - + for(int j = 13; j <= 16; j++) { - + if(slots[j] != null && slots[j].stackSize < slots[j].getMaxStackSize() & InventoryUtil.doesStackDataMatch(slots[j], stack)) { inv.decrStackSize(slot, 1); slots[j].stackSize++; continue outer; } } - + for(int j = 13; j <= 16; j++) { - + if(slots[j] == null) { slots[j] = stack.copy(); slots[j].stackSize = 1; @@ -422,43 +425,43 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements } } } - + private void unloadItems() { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); int x = xCoord + dir.offsetX * 3 + rot.offsetX; int z = zCoord + dir.offsetZ * 3 + rot.offsetZ; - + TileEntity te = worldObj.getTileEntity(x, yCoord, z); - + if(te instanceof IInventory) { - + IInventory inv = (IInventory) te; ISidedInventory sided = inv instanceof ISidedInventory ? (ISidedInventory) inv : null; int[] access = sided != null ? sided.getAccessibleSlotsFromSide(dir.ordinal()) : null; - + boolean shouldOutput = true; - + while(shouldOutput) { shouldOutput = false; outer: for(int i = 5; i <= 8; i++) { - + ItemStack out = slots[i]; - + if(out != null) { - + for(int j = 0; j < (access != null ? access.length : inv.getSizeInventory()); j++) { - + int slot = access != null ? access[j] : j; - + if(!inv.isItemValidForSlot(slot, out)) continue; - + ItemStack target = inv.getStackInSlot(slot); - + if(InventoryUtil.doesStackDataMatch(out, target) && target.stackSize < Math.min(target.getMaxStackSize(), inv.getInventoryStackLimit())) { int toDec = Math.min(out.stackSize, Math.min(target.getMaxStackSize(), inv.getInventoryStackLimit()) - target.stackSize); this.decrStackSize(i, toDec); @@ -467,14 +470,14 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements break outer; } } - + for(int j = 0; j < (access != null ? access.length : inv.getSizeInventory()); j++) { - + int slot = access != null ? access[j] : j; - + if(!inv.isItemValidForSlot(slot, out)) continue; - + if(inv.getStackInSlot(slot) == null && (sided != null ? sided.canInsertItem(slot, out, dir.ordinal()) : inv.isItemValidForSlot(slot, out))) { ItemStack copy = out.copy(); copy.stackSize = 1; @@ -504,36 +507,36 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements public long getMaxPower() { return maxPower; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + this.power = nbt.getLong("power"); this.progress = nbt.getInteger("progress"); - + for(int i = 0; i < tanks.length; i++) { tanks[i].readFromNBT(nbt, "t" + i); } } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setLong("power", power); nbt.setInteger("progress", progress); - + for(int i = 0; i < tanks.length; i++) { tanks[i].writeToNBT(nbt, "t" + i); } } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 2, @@ -544,10 +547,10 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements zCoord + 3 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -576,7 +579,7 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineChemplant(player.inventory, this); } @@ -602,10 +605,11 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - if(type == UpgradeType.POWER) return 3; - if(type == UpgradeType.OVERDRIVE) return 9; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.POWER, 3); + upgrades.put(UpgradeType.OVERDRIVE, 9); + return upgrades; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java index 77eb13f89..465c936d0 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java @@ -1,10 +1,10 @@ package com.hbm.tileentity.machine; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import com.hbm.inventory.RecipesCommon.AStack; -import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.recipes.ChemplantRecipes; @@ -14,10 +14,11 @@ import com.hbm.lib.Library; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.InventoryUtil; +import com.hbm.util.ItemStackUtil; import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.energymk2.IEnergyReceiverMK2; -import api.hbm.fluid.IFluidUser; +import api.hbm.fluidmk2.IFluidStandardTransceiverMK2; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; @@ -32,26 +33,26 @@ import net.minecraft.tileentity.TileEntity; * Tanks follow the order R1(I1, I2, O1, O2), R2(I1, I2, O1, O2) ... * @author hbm */ -public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidUser, IGUIProvider { +public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiverMK2, IGUIProvider { public long power; public int[] progress; public int[] maxProgress; public boolean isProgressing; - + public FluidTank[] tanks; - + int consumption = 100; int speed = 100; public TileEntityMachineChemplantBase(int scount) { super(scount); - + int count = this.getRecipeCount(); progress = new int[count]; maxProgress = new int[count]; - + tanks = new FluidTank[4 * count]; for(int i = 0; i < 4 * count; i++) { tanks[i] = new FluidTank(Fluids.NONE, getTankCapacity()); @@ -60,20 +61,20 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + int count = this.getRecipeCount(); - + this.isProgressing = false; this.power = Library.chargeTEFromItems(slots, 0, power, this.getMaxPower()); - + for(int i = 0; i < count; i++) { loadItems(i); unloadItems(i); } - + for(int i = 0; i < count; i++) { if(!canProcess(i)) { this.progress[i] = 0; @@ -84,74 +85,83 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa } } } - + protected boolean canProcess(int index) { - + int template = getTemplateIndex(index); - + if(slots[template] == null || slots[template].getItem() != ModItems.chemistry_template) return false; - + ChemRecipe recipe = ChemplantRecipes.indexMapping.get(slots[template].getItemDamage()); - + if(recipe == null) return false; - + setupTanks(recipe, index); - + if(this.power < this.consumption) return false; if(!hasRequiredFluids(recipe, index)) return false; if(!hasSpaceForFluids(recipe, index)) return false; if(!hasRequiredItems(recipe, index)) return false; if(!hasSpaceForItems(recipe, index)) return false; - + return true; } - + private void setupTanks(ChemRecipe recipe, int index) { if(recipe.inputFluids[0] != null) tanks[index * 4].withPressure(recipe.inputFluids[0].pressure).setTankType(recipe.inputFluids[0].type); else tanks[index * 4].setTankType(Fluids.NONE); if(recipe.inputFluids[1] != null) tanks[index * 4 + 1].withPressure(recipe.inputFluids[1].pressure).setTankType(recipe.inputFluids[1].type); else tanks[index * 4 + 1].setTankType(Fluids.NONE); if(recipe.outputFluids[0] != null) tanks[index * 4 + 2].withPressure(recipe.outputFluids[0].pressure).setTankType(recipe.outputFluids[0].type); else tanks[index * 4 + 2].setTankType(Fluids.NONE); if(recipe.outputFluids[1] != null) tanks[index * 4 + 3].withPressure(recipe.outputFluids[1].pressure).setTankType(recipe.outputFluids[1].type); else tanks[index * 4 + 3].setTankType(Fluids.NONE); } - + private boolean hasRequiredFluids(ChemRecipe recipe, int index) { if(recipe.inputFluids[0] != null && tanks[index * 4].getFill() < recipe.inputFluids[0].fill) return false; if(recipe.inputFluids[1] != null && tanks[index * 4 + 1].getFill() < recipe.inputFluids[1].fill) return false; return true; } - + private boolean hasSpaceForFluids(ChemRecipe recipe, int index) { if(recipe.outputFluids[0] != null && tanks[index * 4 + 2].getFill() + recipe.outputFluids[0].fill > tanks[index * 4 + 2].getMaxFill()) return false; if(recipe.outputFluids[1] != null && tanks[index * 4 + 3].getFill() + recipe.outputFluids[1].fill > tanks[index * 4 + 3].getMaxFill()) return false; return true; } - + + public HashMap cachedItems = new HashMap<>(); + private boolean hasRequiredItems(ChemRecipe recipe, int index) { int[] indices = getSlotIndicesFromIndex(index); - return InventoryUtil.doesArrayHaveIngredients(slots, indices[0], indices[1], recipe.inputs); + ItemStack[] copy = ItemStackUtil.carefulCopyArrayTruncate(slots, indices[0], indices[1]); + if (cachedItems.get(copy) != null) + return cachedItems.get(copy); + else { + boolean hasItems = InventoryUtil.doesArrayHaveIngredients(slots, indices[0], indices[1], recipe.inputs); + cachedItems.put(copy, hasItems); + return hasItems; + } } - + private boolean hasSpaceForItems(ChemRecipe recipe, int index) { int[] indices = getSlotIndicesFromIndex(index); return InventoryUtil.doesArrayHaveSpace(slots, indices[2], indices[3], recipe.outputs); } - + protected void process(int index) { - + this.power -= this.consumption; this.progress[index]++; - + if(slots[0] != null && slots[0].getItem() == ModItems.meteorite_sword_machined) slots[0] = new ItemStack(ModItems.meteorite_sword_treated); //fisfndmoivndlmgindgifgjfdnblfm - + int template = getTemplateIndex(index); ChemRecipe recipe = ChemplantRecipes.indexMapping.get(slots[template].getItemDamage()); - + this.maxProgress[index] = recipe.getDuration() * this.speed / 100; - + if(maxProgress[index] <= 0) maxProgress[index] = 1; - + if(this.progress[index] >= this.maxProgress[index]) { consumeFluids(recipe, index); produceFluids(recipe, index); @@ -161,84 +171,84 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa this.markDirty(); } } - + private void consumeFluids(ChemRecipe recipe, int index) { if(recipe.inputFluids[0] != null) tanks[index * 4].setFill(tanks[index * 4].getFill() - recipe.inputFluids[0].fill); if(recipe.inputFluids[1] != null) tanks[index * 4 + 1].setFill(tanks[index * 4 + 1].getFill() - recipe.inputFluids[1].fill); } - + private void produceFluids(ChemRecipe recipe, int index) { if(recipe.outputFluids[0] != null) tanks[index * 4 + 2].setFill(tanks[index * 4 + 2].getFill() + recipe.outputFluids[0].fill); if(recipe.outputFluids[1] != null) tanks[index * 4 + 3].setFill(tanks[index * 4 + 3].getFill() + recipe.outputFluids[1].fill); } - + private void consumeItems(ChemRecipe recipe, int index) { - + int[] indices = getSlotIndicesFromIndex(index); - + for(AStack in : recipe.inputs) { if(in != null) InventoryUtil.tryConsumeAStack(slots, indices[0], indices[1], in); } } - + private void produceItems(ChemRecipe recipe, int index) { - + int[] indices = getSlotIndicesFromIndex(index); - + for(ItemStack out : recipe.outputs) { if(out != null) InventoryUtil.tryAddItemToInventory(slots, indices[2], indices[3], out.copy()); } } - + private void loadItems(int index) { - + int template = getTemplateIndex(index); if(slots[template] == null || slots[template].getItem() != ModItems.chemistry_template) return; - + ChemRecipe recipe = ChemplantRecipes.indexMapping.get(slots[template].getItemDamage()); - + if(recipe != null) { - + DirPos[] positions = getInputPositions(); int[] indices = getSlotIndicesFromIndex(index); - + for(DirPos coord : positions) { TileEntity te = worldObj.getTileEntity(coord.getX(), coord.getY(), coord.getZ()); - + if(te instanceof IInventory) { - + IInventory inv = (IInventory) te; ISidedInventory sided = inv instanceof ISidedInventory ? (ISidedInventory) inv : null; int[] access = sided != null ? sided.getAccessibleSlotsFromSide(coord.getDir().ordinal()) : null; - + for(AStack ingredient : recipe.inputs) { - + outer: while(!InventoryUtil.doesArrayHaveIngredients(slots, indices[0], indices[1], ingredient)) { - + boolean found = false; - + for(int i = 0; i < (access != null ? access.length : inv.getSizeInventory()); i++) { int slot = access != null ? access[i] : i; ItemStack stack = inv.getStackInSlot(slot); if(ingredient.matchesRecipe(stack, true) && (sided == null || sided.canExtractItem(slot, stack, 0))) { - + for(int j = indices[0]; j <= indices[1]; j++) { - + if(slots[j] != null && slots[j].stackSize < slots[j].getMaxStackSize() & InventoryUtil.doesStackDataMatch(slots[j], stack)) { inv.decrStackSize(slot, 1); slots[j].stackSize++; continue outer; } } - + for(int j = indices[0]; j <= indices[1]; j++) { - + if(slots[j] == null) { slots[j] = stack.copy(); slots[j].stackSize = 1; @@ -256,18 +266,18 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa } } } - + private void unloadItems(int index) { DirPos[] positions = getOutputPositions(); int[] indices = getSlotIndicesFromIndex(index); - + for(DirPos coord : positions) { TileEntity te = worldObj.getTileEntity(coord.getX(), coord.getY(), coord.getZ()); - + if(te instanceof IInventory) { - + IInventory inv = (IInventory) te; ISidedInventory sided = inv instanceof ISidedInventory ? (ISidedInventory) inv : null; int[] access = sided != null ? sided.getAccessibleSlotsFromSide(coord.getDir().ordinal()) : null; @@ -277,20 +287,20 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa shouldOutput = false; outer: for(int i = indices[2]; i <= indices[3]; i++) { - + ItemStack out = slots[i]; - + if(out != null) { - + for(int j = 0; j < (access != null ? access.length : inv.getSizeInventory()); j++) { - + int slot = access != null ? access[j] : j; - + if(!inv.isItemValidForSlot(slot, out)) continue; - + ItemStack target = inv.getStackInSlot(slot); - + if(InventoryUtil.doesStackDataMatch(out, target) && target.stackSize < target.getMaxStackSize() && target.stackSize < inv.getInventoryStackLimit()) { int toDec = Math.min(out.stackSize, Math.min(target.getMaxStackSize(), inv.getInventoryStackLimit()) - target.stackSize); this.decrStackSize(i, toDec); @@ -299,14 +309,14 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa break outer; } } - + for(int j = 0; j < (access != null ? access.length : inv.getSizeInventory()); j++) { - + int slot = access != null ? access[j] : j; - + if(!inv.isItemValidForSlot(slot, out)) continue; - + if(inv.getStackInSlot(slot) == null && (sided != null ? sided.canInsertItem(slot, out, coord.getDir().ordinal()) : inv.isItemValidForSlot(slot, out))) { ItemStack copy = out.copy(); copy.stackSize = 1; @@ -333,259 +343,71 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa this.power = power; } - /*public int getFluidFill(FluidType type) { - - int fill = 0; - - for(FluidTank tank : inTanks()) { - if(tank.getTankType() == type) { - fill += tank.getFill(); - } - } - - for(FluidTank tank : outTanks()) { - if(tank.getTankType() == type) { - fill += tank.getFill(); - } - } - - return fill; - }*/ - - /* For input only! */ - public int getMaxFluidFill(FluidType type) { - - int maxFill = 0; - - for(FluidTank tank : inTanks()) { - if(tank.getTankType() == type) { - maxFill += tank.getMaxFill(); - } - } - - return maxFill; - } - protected List inTanks() { List inTanks = new ArrayList(); - + for(int i = 0; i < tanks.length; i++) { FluidTank tank = tanks[i]; if(i % 4 < 2) { inTanks.add(tank); } } - + return inTanks; } - /*public void receiveFluid(int amount, FluidType type) { - - if(amount <= 0) - return; - - List rec = new ArrayList(); - - for(FluidTank tank : inTanks()) { - if(tank.getTankType() == type) { - rec.add(tank); - } - } - - if(rec.size() == 0) - return; - - int demand = 0; - List weight = new ArrayList(); - - for(FluidTank tank : rec) { - int fillWeight = tank.getMaxFill() - tank.getFill(); - demand += fillWeight; - weight.add(fillWeight); - } - - for(int i = 0; i < rec.size(); i++) { - - if(demand <= 0) - break; - - FluidTank tank = rec.get(i); - int fillWeight = weight.get(i); - int part = (int) (Math.min((long)amount, (long)demand) * (long)fillWeight / (long)demand); - - tank.setFill(tank.getFill() + part); - } - }*/ - - public int getFluidFillForTransfer(FluidType type, int pressure) { - - int fill = 0; - - for(FluidTank tank : outTanks()) { - if(tank.getTankType() == type && tank.getPressure() == pressure) { - fill += tank.getFill(); - } - } - - return fill; - } - - public void transferFluid(int amount, FluidType type, int pressure) { - - /* - * this whole new fluid mumbo jumbo extra abstraction layer might just be a bandaid - * on the gushing wound that is the current fluid systemm but i'll be damned if it - * didn't at least do what it's supposed to. half a decade and we finally have multi - * tank support for tanks with matching fluid types!! - */ - if(amount <= 0) - return; - - List send = new ArrayList(); - - for(FluidTank tank : outTanks()) { - if(tank.getTankType() == type && tank.getPressure() == pressure) { - send.add(tank); - } - } - - if(send.size() == 0) - return; - - int offer = 0; - List weight = new ArrayList(); - - for(FluidTank tank : send) { - int fillWeight = tank.getFill(); - offer += fillWeight; - weight.add(fillWeight); - } - - int tracker = amount; - - for(int i = 0; i < send.size(); i++) { - - FluidTank tank = send.get(i); - int fillWeight = weight.get(i); - int part = amount * fillWeight / offer; - - tank.setFill(tank.getFill() - part); - tracker -= part; - } - - //making sure to properly deduct even the last mB lost by rounding errors - for(int i = 0; i < 100 && tracker > 0; i++) { - - FluidTank tank = send.get(i % send.size()); - - if(tank.getFill() > 0) { - int total = Math.min(tank.getFill(), tracker); - tracker -= total; - tank.setFill(tank.getFill() - total); - } - } - } - protected List outTanks() { - + List outTanks = new ArrayList(); - + for(int i = 0; i < tanks.length; i++) { FluidTank tank = tanks[i]; if(i % 4 > 1) { outTanks.add(tank); } } - + return outTanks; } + @Override + public FluidTank[] getReceivingTanks() { + return this.inTanks().toArray(new FluidTank[0]); + } + + @Override + public FluidTank[] getSendingTanks() { + return this.outTanks().toArray(new FluidTank[0]); + } + @Override public FluidTank[] getAllTanks() { return tanks; } - @Override - public long transferFluid(FluidType type, int pressure, long fluid) { - int amount = (int) fluid; - - if(amount <= 0) - return 0; - - List rec = new ArrayList(); - - for(FluidTank tank : inTanks()) { - if(tank.getTankType() == type && tank.getPressure() == pressure) { - rec.add(tank); - } - } - - if(rec.size() == 0) - return fluid; - - int demand = 0; - List weight = new ArrayList(); - - for(FluidTank tank : rec) { - int fillWeight = tank.getMaxFill() - tank.getFill(); - demand += fillWeight; - weight.add(fillWeight); - } - - for(int i = 0; i < rec.size(); i++) { - - if(demand <= 0) - break; - - FluidTank tank = rec.get(i); - int fillWeight = weight.get(i); - int part = (int) (Math.min((long)amount, (long)demand) * (long)fillWeight / (long)demand); - - tank.setFill(tank.getFill() + part); - fluid -= part; - } - - return fluid; - } - - @Override - public long getDemand(FluidType type, int pressure) { - return getMaxFluidFill(type) - getFluidFillForTransfer(type, pressure); - } - - @Override - public long getTotalFluidForSend(FluidType type, int pressure) { - return getFluidFillForTransfer(type, pressure); - } - - @Override - public void removeFluidForTransfer(FluidType type, int pressure, long amount) { - this.transferFluid((int) amount, type, pressure); - } - @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + this.power = nbt.getLong("power"); this.progress = nbt.getIntArray("progress"); - + if(progress.length == 0) progress = new int[this.getRecipeCount()]; - + for(int i = 0; i < tanks.length; i++) { tanks[i].readFromNBT(nbt, "t" + i); } } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setLong("power", power); nbt.setIntArray("progress", progress); - + for(int i = 0; i < tanks.length; i++) { tanks[i].writeToNBT(nbt, "t" + i); } @@ -594,7 +416,7 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa public abstract int getRecipeCount(); public abstract int getTankCapacity(); public abstract int getTemplateIndex(int index); - + /** * @param index * @return A size 4 int array containing min input, max input, min output and max output indices in that order. diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java index 78292b220..4244a2896 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java @@ -1,6 +1,7 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.BlockDummyable; +import com.hbm.handler.CompatHandler; import com.hbm.interfaces.IControlReceiver; import com.hbm.inventory.container.ContainerCombustionEngine; import com.hbm.inventory.fluid.FluidType; @@ -14,6 +15,7 @@ import com.hbm.items.machine.ItemPistons.EnumPistonType; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachinePolluting; import com.hbm.util.EnumUtil; @@ -21,9 +23,14 @@ import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.fluid.IFluidStandardTransceiver; +import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; +import li.cil.oc.api.machine.Arguments; +import li.cil.oc.api.machine.Callback; +import li.cil.oc.api.machine.Context; +import li.cil.oc.api.network.SimpleComponent; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; @@ -32,20 +39,21 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineCombustionEngine extends TileEntityMachinePolluting implements IEnergyProviderMK2, IFluidStandardTransceiver, IControlReceiver, IGUIProvider { - +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public class TileEntityMachineCombustionEngine extends TileEntityMachinePolluting implements IEnergyProviderMK2, IFluidStandardTransceiver, IControlReceiver, IGUIProvider, SimpleComponent, CompatHandler.OCComponent, IFluidCopiable { + public boolean isOn = false; public static long maxPower = 2_500_000; public long power; private int playersUsing = 0; public int setting = 0; public boolean wasOn = false; - + public float doorAngle = 0; public float prevDoorAngle = 0; - + private AudioWrapper audio; - + public FluidTank tank; public int tenth = 0; @@ -61,26 +69,26 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachinePollutin @Override public void updateEntity() { - + if(!worldObj.isRemote) { this.tank.loadTank(0, 1, slots); if(this.tank.setType(4, slots)) { this.tenth = 0; } - + wasOn = false; int fill = tank.getFill() * 10 + tenth; if(isOn && setting > 0 && slots[2] != null && slots[2].getItem() == ModItems.piston_set && fill > 0 && tank.getTankType().hasTrait(FT_Combustible.class)) { EnumPistonType piston = EnumUtil.grabEnumSafely(EnumPistonType.class, slots[2].getItemDamage()); FT_Combustible trait = tank.getTankType().getTrait(FT_Combustible.class); - + double eff = piston.eff[trait.getGrade().ordinal()]; - + if(eff > 0) { int speed = setting * 2; - + int toBurn = Math.min(fill, speed); this.power += toBurn * (trait.getCombustionEnergy() / 10_000D) * eff; fill -= toBurn; @@ -88,51 +96,46 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachinePollutin if(worldObj.getTotalWorldTime() % 5 == 0 && toBurn > 0) { super.pollute(tank.getTankType(), FluidReleaseType.BURN, toBurn * 0.5F); } - + if(toBurn > 0) { wasOn = true; } - + tank.setFill(fill / 10); tenth = fill % 10; } } - + NBTTagCompound data = new NBTTagCompound(); data.setLong("power", Math.min(power, maxPower)); - + this.power = Library.chargeItemsFromTE(slots, 3, power, power); - + for(DirPos pos : getConPos()) { this.tryProvide(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.sendSmoke(pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - + if(power > maxPower) power = maxPower; - - data.setInteger("playersUsing", playersUsing); - data.setInteger("setting", setting); - data.setBoolean("isOn", isOn); - data.setBoolean("wasOn", wasOn); - tank.writeToNBT(data, "tank"); - this.networkPack(data, 50); - + + this.networkPackNT(50); + } else { this.prevDoorAngle = this.doorAngle; float swingSpeed = (doorAngle / 10F) + 3; - + if(this.playersUsing > 0) { this.doorAngle += swingSpeed; } else { this.doorAngle -= swingSpeed; } - + this.doorAngle = MathHelper.clamp_float(this.doorAngle, 0F, 135F); if(wasOn) { - + if(audio == null) { audio = createAudioLoop(); audio.startSound(); @@ -142,9 +145,9 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachinePollutin audio.keepAlive(); audio.updateVolume(this.getVolume(1F)); - + } else { - + if(audio != null) { audio.stopSound(); audio = null; @@ -152,11 +155,11 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachinePollutin } } } - + private DirPos[] getConPos() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + return new DirPos[] { new DirPos(xCoord + dir.offsetX * 1 + rot.offsetX, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ, dir), new DirPos(xCoord + dir.offsetX * 1 - rot.offsetX, yCoord, zCoord + dir.offsetZ * 1 - rot.offsetZ, dir), @@ -164,7 +167,8 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachinePollutin new DirPos(xCoord - dir.offsetX * 2 - rot.offsetX, yCoord, zCoord - dir.offsetZ * 2 - rot.offsetZ, dir.getOpposite()) }; } - + + @Override public AudioWrapper createAudioLoop() { return MainRegistry.proxy.getLoopedSound("hbm:block.igeneratorOperate", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F, 20); } @@ -180,7 +184,6 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachinePollutin @Override public void invalidate() { - super.invalidate(); if(audio != null) { @@ -200,14 +203,25 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachinePollutin } @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - this.playersUsing = nbt.getInteger("playersUsing"); - this.setting = nbt.getInteger("setting"); - this.power = nbt.getLong("power"); - this.isOn = nbt.getBoolean("isOn"); - this.wasOn = nbt.getBoolean("wasOn"); - this.tank.readFromNBT(nbt, "tank"); + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeInt(this.playersUsing); + buf.writeInt(this.setting); + buf.writeLong(this.power); + buf.writeBoolean(this.isOn); + buf.writeBoolean(this.wasOn); + tank.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.playersUsing = buf.readInt(); + this.setting = buf.readInt(); + this.power = buf.readLong(); + this.isOn = buf.readBoolean(); + this.wasOn = buf.readBoolean(); + tank.deserialize(buf); } @Override @@ -229,12 +243,12 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachinePollutin tank.writeToNBT(nbt, "tank"); nbt.setInteger("tenth", tenth); } - + @Override public void openInventory() { if(!worldObj.isRemote) this.playersUsing++; } - + @Override public void closeInventory() { if(!worldObj.isRemote) this.playersUsing--; @@ -262,7 +276,7 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachinePollutin @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICombustionEngine(player.inventory, this); } @@ -280,12 +294,12 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachinePollutin public FluidTank[] getSendingTanks() { return this.getSmokeTanks(); } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 3, @@ -296,10 +310,10 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachinePollutin zCoord + 4 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -315,7 +329,149 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachinePollutin public void receiveControl(NBTTagCompound data) { if(data.hasKey("turnOn")) this.isOn = !this.isOn; if(data.hasKey("setting")) this.setting = data.getInteger("setting"); - + this.markChanged(); } + + @Override + public NBTTagCompound getSettings(World world, int x, int y, int z) { + NBTTagCompound tag = new NBTTagCompound(); + tag.setIntArray("fluidID", new int[]{tank.getTankType().getID()}); + tag.setBoolean("isOn", isOn); + tag.setInteger("burnRate", setting); + return tag; + } + + @Override + public void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + int id = nbt.getIntArray("fluidID")[index]; + tank.setTankType(Fluids.fromID(id)); + if(nbt.hasKey("isOn")) isOn = nbt.getBoolean("isOn"); + if(nbt.hasKey("burnRate")) setting = nbt.getInteger("burnRate"); + } + + @Override + @Optional.Method(modid = "OpenComputers") + public String getComponentName() { + return "ntm_combustion_engine"; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] getFluid(Context context, Arguments args) { + return new Object[] {tank.getFill(), tank.getMaxFill()}; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] getType(Context context, Arguments args) { + return new Object[] {tank.getTankType().getName()}; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] getPower(Context context, Arguments args) { + return new Object[] {power}; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] getThrottle (Context context, Arguments args) { + return new Object[] {setting}; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] getState(Context context, Arguments args) { + return new Object[] {isOn}; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] getEfficiency(Context context, Arguments args) { + EnumPistonType piston = EnumUtil.grabEnumSafely(EnumPistonType.class, slots[2].getItemDamage()); + FT_Combustible trait = tank.getTankType().getTrait(FT_Combustible.class); + double eff = piston.eff[trait.getGrade().ordinal()]; + return new Object[] {eff}; + } + + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] setThrottle(Context context, Arguments args) { + int throttleRequest = args.checkInteger(0); + if ((throttleRequest < 0) || (throttleRequest > 30)) { // return false without doing anything if number is outside normal + return new Object[] {false, "Throttle request outside of range 0-30"}; + }; + setting = throttleRequest; + return new Object[] {true}; + } + + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] start(Context context, Arguments args) { + isOn = true; + return new Object[] {}; + } + + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] stop(Context context, Arguments args) { + isOn = false; + return new Object[] {}; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] getInfo(Context context, Arguments args) { + EnumPistonType piston = EnumUtil.grabEnumSafely(EnumPistonType.class, slots[2].getItemDamage()); + FT_Combustible trait = tank.getTankType().getTrait(FT_Combustible.class); + double eff = piston.eff[trait.getGrade().ordinal()]; + return new Object[] {setting, isOn, power, eff, tank.getFill(), tank.getMaxFill(), tank.getTankType().getName()}; + } + + @Override + @Optional.Method(modid = "OpenComputers") + public String[] methods() { + return new String[] { + "getFluid", + "getType", + "getPower", + "getThrottle", + "getState", + "getEfficiency", + "setThrottle", + "start", + "stop", + "getInfo" + }; + } + + @Override + @Optional.Method(modid = "OpenComputers") + public Object[] invoke(String method, Context context, Arguments args) throws Exception { + switch(method) { + case ("getFluid"): + return getFluid(context, args); + case ("getType"): + return getType(context, args); + case ("getPower"): + return getPower(context, args); + case ("getThrottle"): + return getThrottle(context, args); + case ("getState"): + return getState(context, args); + case ("getEfficiency"): + return getEfficiency(context, args); + case ("setThrottle"): + return setThrottle(context, args); + case ("start"): + return start(context, args); + case ("stop"): + return stop(context, args); + case ("getInfo"): + return getInfo(context, args); + } + throw new NoSuchMethodException(); + } + } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java index c3e94a705..6b3db05eb 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java @@ -1,148 +1,39 @@ package com.hbm.tileentity.machine; -import java.util.List; - import com.hbm.blocks.BlockDummyable; -import com.hbm.blocks.ModBlocks; -import com.hbm.interfaces.IControlReceiver; -import com.hbm.inventory.UpgradeManager; -import com.hbm.inventory.container.ContainerCompressor; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.inventory.fluid.tank.FluidTank; -import com.hbm.inventory.gui.GUICompressor; -import com.hbm.inventory.recipes.CompressorRecipes; -import com.hbm.inventory.recipes.CompressorRecipes.CompressorRecipe; -import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; -import com.hbm.lib.Library; import com.hbm.main.MainRegistry; -import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.IUpgradeInfoProvider; -import com.hbm.tileentity.TileEntityMachineBase; -import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; -import com.hbm.util.Tuple.Pair; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energymk2.IEnergyReceiverMK2; -import api.hbm.fluid.IFluidStandardTransceiver; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; -import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineCompressor extends TileEntityMachineBase implements IGUIProvider, IControlReceiver, IEnergyReceiverMK2, IFluidStandardTransceiver, IUpgradeInfoProvider { - - public FluidTank[] tanks; - public long power; - public static final long maxPower = 100_000; - public boolean isOn; - public int progress; - public int processTime = 100; - public static final int processTimeBase = 100; - public int powerRequirement; - public static final int powerRequirementBase = 2_500; +public class TileEntityMachineCompressor extends TileEntityMachineCompressorBase { public float fanSpin; public float prevFanSpin; public float piston; public float prevPiston; public boolean pistonDir; - - public TileEntityMachineCompressor() { - super(4); - this.tanks = new FluidTank[2]; - this.tanks[0] = new FluidTank(Fluids.NONE, 16_000); - this.tanks[1] = new FluidTank(Fluids.NONE, 16_000).withPressure(1); - } - - @Override - public String getName() { - return "container.machineCompressor"; - } + private float randSpeed = 0.1F; @Override public void updateEntity() { - - if(!worldObj.isRemote) { - - if(worldObj.getTotalWorldTime() % 20 == 0) { - this.updateConnections(); - } - - this.power = Library.chargeTEFromItems(slots, 1, power, maxPower); - this.tanks[0].setType(0, slots); - this.setupTanks(); - - UpgradeManager.eval(slots, 1, 3); + super.updateEntity(); - int speedLevel = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); - int powerLevel = Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3); - int overLevel = UpgradeManager.getLevel(UpgradeType.OVERDRIVE); - - CompressorRecipe rec = CompressorRecipes.recipes.get(new Pair(tanks[0].getTankType(), tanks[0].getPressure())); - int timeBase = this.processTimeBase; - if(rec != null) timeBase = rec.duration; + if(worldObj.isRemote) { - //there is a reason to do this but i'm not telling you - // ^ a few months later i have to wonder what the fuck this guy was on about, and if i ever see him i will punch him in the nuts - if(rec == null) this.processTime = speedLevel == 3 ? 10 : speedLevel == 2 ? 20 : speedLevel == 1 ? 60 : timeBase; - else this.processTime = timeBase / (speedLevel + 1); - this.powerRequirement = this.powerRequirementBase / (powerLevel + 1); - this.processTime = this.processTime / (overLevel + 1); - this.powerRequirement = this.powerRequirement * ((overLevel * 2) + 1); - - if(processTime <= 0) processTime = 1; - - if(canProcess()) { - this.progress++; - this.isOn = true; - this.power -= powerRequirement; - - if(progress >= this.processTime) { - progress = 0; - this.process(); - this.markChanged(); - } - - } else { - this.progress = 0; - this.isOn = false; - } - - for(DirPos pos : getConPos()) { - this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - } - - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("progress", progress); - data.setInteger("processTime", processTime); - data.setInteger("powerRequirement", powerRequirement); - data.setLong("power", power); - tanks[0].writeToNBT(data, "0"); - tanks[1].writeToNBT(data, "1"); - data.setBoolean("isOn", isOn); - this.networkPack(data, 100); - - } else { - this.prevFanSpin = this.fanSpin; this.prevPiston = this.piston; - + if(this.isOn) { this.fanSpin += 15; - + if(this.fanSpin >= 360) { this.prevFanSpin -= 360; this.fanSpin -= 360; } - + if(this.pistonDir) { this.piston -= randSpeed; if(this.piston <= 0) { @@ -156,169 +47,29 @@ public class TileEntityMachineCompressor extends TileEntityMachineBase implement this.pistonDir = !this.pistonDir; } } - + this.piston = MathHelper.clamp_float(this.piston, 0F, 1F); } } } - - private float randSpeed = 0.1F; - - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.progress = nbt.getInteger("progress"); - this.processTime = nbt.getInteger("processTime"); - this.powerRequirement = nbt.getInteger("powerRequirement"); - this.power = nbt.getLong("power"); - tanks[0].readFromNBT(nbt, "0"); - tanks[1].readFromNBT(nbt, "1"); - this.isOn = nbt.getBoolean("isOn"); - } - - private void updateConnections() { - for(DirPos pos : getConPos()) { - this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - } - } - + + @Override public DirPos[] getConPos() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + return new DirPos[] { new DirPos(xCoord + rot.offsetX * 2, yCoord, zCoord + rot.offsetZ * 2, rot), new DirPos(xCoord - rot.offsetX * 2, yCoord, zCoord - rot.offsetZ * 2, rot.getOpposite()), new DirPos(xCoord - dir.offsetX * 2, yCoord, zCoord - dir.offsetZ * 2, dir.getOpposite()), }; } - - public boolean canProcess() { - - if(this.power <= powerRequirement) return false; - - CompressorRecipe recipe = CompressorRecipes.recipes.get(new Pair(tanks[0].getTankType(), tanks[0].getPressure())); - - if(recipe == null) { - return tanks[0].getFill() >= 1000 && tanks[1].getFill() + 1000 <= tanks[1].getMaxFill(); - } - - return tanks[0].getFill() > recipe.inputAmount && tanks[1].getFill() + recipe.output.fill <= tanks[1].getMaxFill(); - } - - public void process() { - - CompressorRecipe recipe = CompressorRecipes.recipes.get(new Pair(tanks[0].getTankType(), tanks[0].getPressure())); - - if(recipe == null) { - tanks[0].setFill(tanks[0].getFill() - 1_000); - tanks[1].setFill(tanks[1].getFill() + 1_000); - } else { - tanks[0].setFill(tanks[0].getFill() - recipe.inputAmount); - tanks[1].setFill(tanks[1].getFill() + recipe.output.fill); - } - } - - protected void setupTanks() { - - CompressorRecipe recipe = CompressorRecipes.recipes.get(new Pair(tanks[0].getTankType(), tanks[0].getPressure())); - - if(recipe == null) { - tanks[1].withPressure(tanks[0].getPressure() + 1).setTankType(tanks[0].getTankType()); - } else { - tanks[1].withPressure(recipe.output.pressure).setTankType(recipe.output.type); - } - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - power = nbt.getLong("power"); - progress = nbt.getInteger("progress"); - tanks[0].readFromNBT(nbt, "0"); - tanks[1].readFromNBT(nbt, "1"); - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setLong("power", power); - nbt.setInteger("progress", progress); - tanks[0].writeToNBT(nbt, "0"); - tanks[1].writeToNBT(nbt, "1"); - } - @Override - public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new ContainerCompressor(player.inventory, this); - } - - @Override - @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new GUICompressor(player.inventory, this); - } - - @Override - public boolean hasPermission(EntityPlayer player) { - return this.isUseableByPlayer(player); - } - - @Override - public void receiveControl(NBTTagCompound data) { - int compression = data.getInteger("compression"); - - if(compression != tanks[0].getPressure()) { - tanks[0].withPressure(compression); - - CompressorRecipe recipe = CompressorRecipes.recipes.get(new Pair(tanks[0].getTankType(), compression)); - - if(recipe == null) { - tanks[1].withPressure(compression + 1); - } else { - tanks[1].withPressure(recipe.output.pressure).setTankType(recipe.output.type); - } - - this.markChanged(); - } - } - - @Override - public long getPower() { - return power; - } - - @Override - public void setPower(long power) { - this.power = power; - } - - @Override - public long getMaxPower() { - return maxPower; - } - - @Override - public FluidTank[] getAllTanks() { - return tanks; - } - - @Override - public FluidTank[] getSendingTanks() { - return new FluidTank[] {tanks[1]}; - } - - @Override - public FluidTank[] getReceivingTanks() { - return new FluidTank[] {tanks[0]}; - } - AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 2, @@ -329,41 +80,7 @@ public class TileEntityMachineCompressor extends TileEntityMachineBase implement zCoord + 3 ); } - + return bb; } - - @Override - @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() { - return 65536.0D; - } - - @Override - public boolean canProvideInfo(UpgradeType type, int level, boolean extendedInfo) { - return type == UpgradeType.SPEED || type == UpgradeType.POWER || type == UpgradeType.OVERDRIVE; - } - - @Override - public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo) { - info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_compressor)); - if(type == UpgradeType.SPEED) { - info.add(EnumChatFormatting.GREEN + "Generic compression: "+ I18nUtil.resolveKey(this.KEY_DELAY, "-" + (level == 3 ? 90 : level == 2 ? 80 : level == 1 ? 40 : 0) + "%")); - info.add(EnumChatFormatting.GREEN + "Recipe: "+ I18nUtil.resolveKey(this.KEY_DELAY, "-" + (100 - 100 / (level + 1)) + "%")); - } - if(type == UpgradeType.POWER) { - info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "-" + (100 - 100 / (level + 1)) + "%")); - } - if(type == UpgradeType.OVERDRIVE) { - info.add((BobMathUtil.getBlink() ? EnumChatFormatting.RED : EnumChatFormatting.DARK_GRAY) + "YES"); - } - } - - @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - if(type == UpgradeType.POWER) return 3; - if(type == UpgradeType.OVERDRIVE) return 9; - return 0; - } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressorBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressorBase.java new file mode 100644 index 000000000..74e7ccadf --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressorBase.java @@ -0,0 +1,338 @@ +package com.hbm.tileentity.machine; + +import java.util.HashMap; +import java.util.List; + +import com.hbm.blocks.ModBlocks; +import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.UpgradeManagerNT; +import com.hbm.inventory.container.ContainerCompressor; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUICompressor; +import com.hbm.inventory.recipes.CompressorRecipes; +import com.hbm.inventory.recipes.CompressorRecipes.CompressorRecipe; +import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; +import com.hbm.lib.Library; +import com.hbm.tileentity.IFluidCopiable; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.IUpgradeInfoProvider; +import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.BobMathUtil; +import com.hbm.util.Tuple.Pair; +import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; + +import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.fluidmk2.IFluidStandardTransceiverMK2; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; + +public abstract class TileEntityMachineCompressorBase extends TileEntityMachineBase implements IGUIProvider, IControlReceiver, IEnergyReceiverMK2, IFluidStandardTransceiverMK2, IUpgradeInfoProvider, IFluidCopiable { + + public FluidTank[] tanks; + public long power; + public static final long maxPower = 100_000; + public boolean isOn; + public int progress; + public int processTime = 100; + public static final int processTimeBase = 100; + public int powerRequirement; + public static final int powerRequirementBase = 2_500; + + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + + public TileEntityMachineCompressorBase() { + super(4); + this.tanks = new FluidTank[2]; + this.tanks[0] = new FluidTank(Fluids.NONE, 16_000); + this.tanks[1] = new FluidTank(Fluids.NONE, 16_000).withPressure(1); + } + + @Override + public String getName() { + return "container.machineCompressor"; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + if(worldObj.getTotalWorldTime() % 20 == 0) { + this.updateConnections(); + } + + this.power = Library.chargeTEFromItems(slots, 1, power, maxPower); + this.tanks[0].setType(0, slots); + this.setupTanks(); + + upgradeManager.checkSlots(this, slots, 1, 3); + + int speedLevel = upgradeManager.getLevel(UpgradeType.SPEED); + int powerLevel = upgradeManager.getLevel(UpgradeType.POWER); + int overLevel = upgradeManager.getLevel(UpgradeType.OVERDRIVE); + + CompressorRecipe rec = CompressorRecipes.recipes.get(new Pair(tanks[0].getTankType(), tanks[0].getPressure())); + int timeBase = this.processTimeBase; + if(rec != null) timeBase = rec.duration; + + //there is a reason to do this but i'm not telling you + // ^ a few months later i have to wonder what the fuck this guy was on about, and if i ever see him i will punch him in the nuts + if(rec == null) this.processTime = speedLevel == 3 ? 10 : speedLevel == 2 ? 20 : speedLevel == 1 ? 60 : timeBase; + else this.processTime = timeBase / (speedLevel + 1); + this.powerRequirement = this.powerRequirementBase / (powerLevel + 1); + this.processTime = this.processTime / (overLevel + 1); + this.powerRequirement = this.powerRequirement * ((overLevel * 2) + 1); + + if(processTime <= 0) processTime = 1; + + if(canProcess()) { + this.progress++; + this.isOn = true; + this.power -= powerRequirement; + + if(progress >= this.processTime) { + progress = 0; + this.process(); + this.markChanged(); + } + + } else { + this.progress = 0; + this.isOn = false; + } + + for(DirPos pos : getConPos()) { + this.tryProvide(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + + this.networkPackNT(100); + + } + } + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeInt(this.progress); + buf.writeInt(this.processTime); + buf.writeInt(this.powerRequirement); + buf.writeLong(this.power); + tanks[0].serialize(buf); + tanks[1].serialize(buf); + buf.writeBoolean(this.isOn); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.progress = buf.readInt(); + this.processTime = buf.readInt(); + this.powerRequirement = buf.readInt(); + this.power = buf.readLong(); + tanks[0].deserialize(buf); + tanks[1].deserialize(buf); + this.isOn = buf.readBoolean(); + } + + protected void updateConnections() { + for(DirPos pos : getConPos()) { + this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + } + + public abstract DirPos[] getConPos(); + + public boolean canProcess() { + + if(this.power <= powerRequirement) return false; + + CompressorRecipe recipe = CompressorRecipes.recipes.get(new Pair(tanks[0].getTankType(), tanks[0].getPressure())); + + if(recipe == null) { + return tanks[0].getFill() >= 1000 && tanks[1].getFill() + 1000 <= tanks[1].getMaxFill(); + } + + return tanks[0].getFill() > recipe.inputAmount && tanks[1].getFill() + recipe.output.fill <= tanks[1].getMaxFill(); + } + + public void process() { + + CompressorRecipe recipe = CompressorRecipes.recipes.get(new Pair(tanks[0].getTankType(), tanks[0].getPressure())); + + if(recipe == null) { + tanks[0].setFill(tanks[0].getFill() - 1_000); + tanks[1].setFill(tanks[1].getFill() + 1_000); + } else { + tanks[0].setFill(tanks[0].getFill() - recipe.inputAmount); + tanks[1].setFill(tanks[1].getFill() + recipe.output.fill); + } + } + + protected void setupTanks() { + + CompressorRecipe recipe = CompressorRecipes.recipes.get(new Pair(tanks[0].getTankType(), tanks[0].getPressure())); + + if(recipe == null) { + tanks[1].withPressure(tanks[0].getPressure() + 1).setTankType(tanks[0].getTankType()); + } else { + tanks[1].withPressure(recipe.output.pressure).setTankType(recipe.output.type); + } + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + power = nbt.getLong("power"); + progress = nbt.getInteger("progress"); + tanks[0].readFromNBT(nbt, "0"); + tanks[1].readFromNBT(nbt, "1"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setLong("power", power); + nbt.setInteger("progress", progress); + tanks[0].writeToNBT(nbt, "0"); + tanks[1].writeToNBT(nbt, "1"); + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerCompressor(player.inventory, this); + } + + @Override + @SideOnly(Side.CLIENT) + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUICompressor(player.inventory, this); + } + + @Override + public boolean hasPermission(EntityPlayer player) { + return this.isUseableByPlayer(player); + } + + @Override + public void receiveControl(NBTTagCompound data) { + int compression = data.getInteger("compression"); + + if(compression != tanks[0].getPressure()) { + tanks[0].withPressure(compression); + + CompressorRecipe recipe = CompressorRecipes.recipes.get(new Pair(tanks[0].getTankType(), compression)); + + if(recipe == null) { + tanks[1].withPressure(compression + 1); + } else { + tanks[1].withPressure(recipe.output.pressure).setTankType(recipe.output.type); + } + + this.markChanged(); + } + } + + @Override + public long getPower() { + return power; + } + + @Override + public void setPower(long power) { + this.power = power; + } + + @Override + public long getMaxPower() { + return maxPower; + } + + @Override + public FluidTank[] getAllTanks() { + return tanks; + } + + @Override + public FluidTank[] getSendingTanks() { + return new FluidTank[] {tanks[1]}; + } + + @Override + public FluidTank[] getReceivingTanks() { + return new FluidTank[] {tanks[0]}; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override + public boolean canProvideInfo(UpgradeType type, int level, boolean extendedInfo) { + return type == UpgradeType.SPEED || type == UpgradeType.POWER || type == UpgradeType.OVERDRIVE; + } + + @Override + public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo) { + info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_compressor)); + if(type == UpgradeType.SPEED) { + info.add(EnumChatFormatting.GREEN + "Generic compression: "+ I18nUtil.resolveKey(this.KEY_DELAY, "-" + (level == 3 ? 90 : level == 2 ? 80 : level == 1 ? 40 : 0) + "%")); + info.add(EnumChatFormatting.GREEN + "Recipe: "+ I18nUtil.resolveKey(this.KEY_DELAY, "-" + (100 - 100 / (level + 1)) + "%")); + } + if(type == UpgradeType.POWER) { + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "-" + (100 - 100 / (level + 1)) + "%")); + } + if(type == UpgradeType.OVERDRIVE) { + info.add((BobMathUtil.getBlink() ? EnumChatFormatting.RED : EnumChatFormatting.DARK_GRAY) + "YES"); + } + } + + @Override + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.POWER, 3); + upgrades.put(UpgradeType.OVERDRIVE, 9); + return upgrades; + } + + @Override + public NBTTagCompound getSettings(World world, int x, int y, int z) { + NBTTagCompound tag = new NBTTagCompound(); + tag.setIntArray("fluidID", getFluidIDToCopy()); + tag.setInteger("compression", tanks[0].getPressure()); + return tag; + } + + @Override + public void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + if(nbt.hasKey("compression")) { + int compression = nbt.getInteger("compression"); + + if (compression != tanks[0].getPressure()) { + tanks[0].withPressure(compression); + + CompressorRecipe recipe = CompressorRecipes.recipes.get(new Pair(tanks[0].getTankType(), compression)); + + if (recipe == null) { + tanks[1].withPressure(compression + 1); + } else { + tanks[1].withPressure(recipe.output.pressure).setTankType(recipe.output.type); + } + + this.markChanged(); + } + } + IFluidCopiable.super.pasteSettings(nbt, index, world, player, x, y, z); + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressorCompact.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressorCompact.java new file mode 100644 index 000000000..386c3f538 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressorCompact.java @@ -0,0 +1,66 @@ +package com.hbm.tileentity.machine; + +import com.hbm.util.fauxpointtwelve.DirPos; + +import net.minecraft.util.AxisAlignedBB; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityMachineCompressorCompact extends TileEntityMachineCompressorBase { + + public float fanSpin; + public float prevFanSpin; + + @Override + public void updateEntity() { + super.updateEntity(); + + if(worldObj.isRemote) { + + this.prevFanSpin = this.fanSpin; + + if(this.isOn) { + this.fanSpin += 45; + + if(this.fanSpin >= 360) { + this.prevFanSpin -= 360; + this.fanSpin -= 360; + } + } + } + } + + @Override + public DirPos[] getConPos() { + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + return new DirPos[] { + new DirPos(xCoord + rot.offsetX * 4, yCoord + 1, zCoord + rot.offsetZ * 4, rot), + new DirPos(xCoord - rot.offsetX * 4, yCoord + 1, zCoord - rot.offsetZ * 4, rot.getOpposite()), + new DirPos(xCoord + dir.offsetX * 2 - rot.offsetX, yCoord + 1, zCoord + dir.offsetZ * 2 - rot.offsetZ, dir), + new DirPos(xCoord + dir.offsetX * 2 + rot.offsetX, yCoord + 1, zCoord + dir.offsetZ * 2 + rot.offsetZ, dir), + new DirPos(xCoord - dir.offsetX * 2 - rot.offsetX, yCoord + 1, zCoord - dir.offsetZ * 2 - rot.offsetZ, dir.getOpposite()), + new DirPos(xCoord - dir.offsetX * 2 + rot.offsetX, yCoord + 1, zCoord - dir.offsetZ * 2 + rot.offsetZ, dir.getOpposite()) + }; + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 3, + yCoord, + zCoord - 3, + xCoord + 4, + yCoord + 3, + zCoord + 4 + ); + } + + return bb; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java index 944364b7b..1c1a940e9 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java @@ -1,10 +1,11 @@ package com.hbm.tileentity.machine; +import java.util.HashMap; import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.extprop.HbmPlayerProps; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerCrystallizer; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -15,12 +16,10 @@ import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; -import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.IUpgradeInfoProvider; -import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.*; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import api.hbm.energymk2.IBatteryItem; import api.hbm.energymk2.IEnergyReceiverMK2; @@ -28,31 +27,31 @@ import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineCrystallizer extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider, IUpgradeInfoProvider { - +public class TileEntityMachineCrystallizer extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider, IUpgradeInfoProvider, IFluidCopiable { + public long power; public static final long maxPower = 1000000; public static final int demand = 1000; public short progress; public short duration = 600; public boolean isOn; - + public float angle; public float prevAngle; - + public FluidTank tank; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(this); + public TileEntityMachineCrystallizer() { super(8); tank = new FluidTank(Fluids.PEROXIDE, 8000); @@ -65,76 +64,76 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + this.isOn = false; - + this.updateConnections(); - + power = Library.chargeTEFromItems(slots, 1, power, maxPower); tank.setType(7, slots); tank.loadTank(3, 4, slots); - - UpgradeManager.eval(slots, 5, 6); - + + upgradeManager.checkSlots(slots, 5, 6); + for(int i = 0; i < getCycleCount(); i++) { - + if(canProcess()) { - + progress++; power -= getPowerRequired(); isOn = true; - + if(progress > getDuration()) { progress = 0; processItem(); - + this.markDirty(); } - + } else { progress = 0; } } - + this.networkPackNT(25); } else { - + prevAngle = angle; - + if(isOn) { angle += 5F * this.getCycleCount(); - + if(angle >= 360) { angle -= 360; prevAngle -= 360; } - + if(worldObj.rand.nextInt(20) == 0 && MainRegistry.proxy.me().getDistance(xCoord + 0.5, yCoord + 6, zCoord + 0.5) < 50) { worldObj.spawnParticle("cloud", xCoord + worldObj.rand.nextDouble(), yCoord + 6.5D, zCoord + worldObj.rand.nextDouble(), 0.0, 0.1, 0.0); } } } - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord + 0.25, yCoord + 1, zCoord + 0.25, xCoord + 0.75, yCoord + 6, zCoord + 0.75).offset(rot.offsetX * 1.5, 0, rot.offsetZ * 1.5)); - + for(EntityPlayer player : players) { HbmPlayerProps props = HbmPlayerProps.getData(player); props.isOnLadder = true; } } - + private void updateConnections() { - + for(DirPos pos : getConPos()) { this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + protected DirPos[] getConPos() { return new DirPos[] { @@ -148,7 +147,7 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme new DirPos(xCoord - 1, yCoord, zCoord - 2, Library.NEG_Z) }; } - + @Override public void serialize(ByteBuf buf) { super.serialize(buf); @@ -158,7 +157,7 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme buf.writeBoolean(isOn); tank.serialize(buf); } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); @@ -168,103 +167,100 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme isOn = buf.readBoolean(); tank.deserialize(buf); } - + private void processItem() { CrystallizerRecipe result = CrystallizerRecipes.getOutput(slots[0], tank.getTankType()); - + if(result == null) //never happens but you can't be sure enough return; - + ItemStack stack = result.output.copy(); - + if(slots[2] == null) slots[2] = stack; else if(slots[2].stackSize + stack.stackSize <= slots[2].getMaxStackSize()) slots[2].stackSize += stack.stackSize; - + tank.setFill(tank.getFill() - getRequiredAcid(result.acidAmount)); - - float freeChance = this.getFreeChance(); - + + float freeChance = this.getFreeChance(result); + if(freeChance == 0 || freeChance < worldObj.rand.nextFloat()) this.decrStackSize(0, result.itemAmount); } - + private boolean canProcess() { - + //Is there no input? if(slots[0] == null) return false; - + if(power < getPowerRequired()) return false; - + CrystallizerRecipe result = CrystallizerRecipes.getOutput(slots[0], tank.getTankType()); - + //Or output? if(result == null) return false; - + //Not enough of the input item? if(slots[0].stackSize < result.itemAmount) return false; - + if(tank.getFill() < getRequiredAcid(result.acidAmount)) return false; - + ItemStack stack = result.output.copy(); - + //Does the output not match? if(slots[2] != null && (slots[2].getItem() != stack.getItem() || slots[2].getItemDamage() != stack.getItemDamage())) return false; - + //Or is the output slot already full? if(slots[2] != null && slots[2].stackSize + stack.stackSize > slots[2].getMaxStackSize()) return false; - + return true; } - + public int getRequiredAcid(int base) { - int efficiency = Math.min(UpgradeManager.getLevel(UpgradeType.EFFECT), 3); - if(efficiency > 0) { - return base * (efficiency + 2); - } return base; } - - public float getFreeChance() { - int efficiency = Math.min(UpgradeManager.getLevel(UpgradeType.EFFECT), 3); + + public float getFreeChance(CrystallizerRecipe recipe) { + int efficiency = upgradeManager.getLevel(UpgradeType.EFFECT); if(efficiency > 0) { - return Math.min(efficiency * 0.05F, 0.15F); + return Math.min(efficiency * recipe.productivity, 0.99F); } return 0; } - + public short getDuration() { CrystallizerRecipe result = CrystallizerRecipes.getOutput(slots[0], tank.getTankType()); int base = result != null ? result.duration : 600; - int speed = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); + int speed = upgradeManager.getLevel(UpgradeType.SPEED); if(speed > 0) { return (short) Math.ceil((base * Math.max(1F - 0.25F * speed, 0.25F))); } return (short) base; } - + public int getPowerRequired() { - int speed = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); - return (int) (demand + Math.min(speed * 1000, 3000)); + int speed = upgradeManager.getLevel(UpgradeType.SPEED); + int effect = upgradeManager.getLevel(UpgradeType.EFFECT); + return (int) (demand + speed * demand + effect * demand * 2); } - + public float getCycleCount() { - int speed = UpgradeManager.getLevel(UpgradeType.OVERDRIVE); + int speed = upgradeManager.getLevel(UpgradeType.OVERDRIVE); return Math.min(1 + speed * 2, 7); } - + public long getPowerScaled(int i) { return (power * i) / maxPower; } - + public int getProgressScaled(int i) { return (progress * i) / duration; } @@ -283,34 +279,28 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme public long getMaxPower() { return maxPower; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + power = nbt.getLong("power"); tank.readFromNBT(nbt, "tank"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setLong("power", power); tank.writeToNBT(nbt, "tank"); } @Override public boolean isItemValidForSlot(int i, ItemStack itemStack) { - - CrystallizerRecipe recipe = CrystallizerRecipes.getOutput(itemStack, tank.getTankType()); - if(i == 0 && recipe != null) { - return true; - } - - if(i == 1 && itemStack.getItem() instanceof IBatteryItem) - return true; - + if(i == 0 && CrystallizerRecipes.getOutput(itemStack, tank.getTankType()) != null) return true; + if(i == 1 && itemStack.getItem() instanceof IBatteryItem) return true; + return false; } @@ -321,15 +311,28 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme @Override public int[] getAccessibleSlotsFromSide(int side) { - - return side == 0 ? new int[] { 2 } : new int[] { 0, 2 }; + return new int[] { 0, 2 }; } - + + AxisAlignedBB bb = null; + @Override public AxisAlignedBB getRenderBoundingBox() { - return TileEntity.INFINITE_EXTENT_AABB; + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 1, + yCoord, + zCoord - 1, + xCoord + 2, + yCoord + 10, + zCoord + 2 + ); + } + + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -339,7 +342,7 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme @Override public void setInventorySlotContents(int i, ItemStack stack) { super.setInventorySlotContents(i, stack); - + if(stack != null && i >= 5 && i <= 6 && stack.getItem() instanceof ItemMachineUpgrade) { worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:item.upgradePlug", 1.0F, 1.0F); } @@ -362,7 +365,7 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICrystallizer(player.inventory, this); } @@ -379,8 +382,8 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "+" + (level * 100) + "%")); } if(type == UpgradeType.EFFECT) { - info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_EFFICIENCY, "+" + (level * 5) + "%")); - info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_ACID, "+" + (level * 100 + 100) + "%")); + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_EFFICIENCY, "x" + level)); + info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "+" + (level * 200) + "%")); } if(type == UpgradeType.OVERDRIVE) { info.add((BobMathUtil.getBlink() ? EnumChatFormatting.RED : EnumChatFormatting.DARK_GRAY) + "YES"); @@ -388,10 +391,21 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - if(type == UpgradeType.EFFECT) return 3; - if(type == UpgradeType.OVERDRIVE) return 3; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.EFFECT, 3); + upgrades.put(UpgradeType.OVERDRIVE, 3); + return upgrades; + } + + @Override + public int[] getFluidIDToCopy() { + return new int[]{ tank.getTankType().getID()}; + } + + @Override + public FluidTank getTankToPaste() { + return tank; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java index effd7bf2e..434dc4f70 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java @@ -1,10 +1,11 @@ package com.hbm.tileentity.machine; +import java.util.HashMap; import java.util.List; import java.util.Map.Entry; import com.hbm.blocks.ModBlocks; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.container.ContainerMachineCyclotron; @@ -16,14 +17,11 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; -import com.hbm.tileentity.IConditionalInvAccess; -import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.IUpgradeInfoProvider; -import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.*; import com.hbm.util.CompatEnergyControl; -import com.hbm.util.I18nUtil; import com.hbm.util.Tuple.Pair; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; @@ -31,7 +29,6 @@ import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.Item; @@ -42,22 +39,24 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineCyclotron extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IGUIProvider, IConditionalInvAccess, IUpgradeInfoProvider, IInfoProviderEC { - +public class TileEntityMachineCyclotron extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IGUIProvider, IConditionalInvAccess, IUpgradeInfoProvider, IInfoProviderEC, IFluidCopiable { + public long power; public static final long maxPower = 100000000; public static int consumption = 1_000_000; - - private byte plugs; - + + private byte plugs; + public int progress; public static final int duration = 690; - + public FluidTank[] tanks; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public TileEntityMachineCyclotron() { super(12); - + this.tanks = new FluidTank[3]; this.tanks[0] = new FluidTank(Fluids.WATER, 32000); this.tanks[1] = new FluidTank(Fluids.SPENTSTEAM, 32000); @@ -71,67 +70,67 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + this.updateConnections(); this.power = Library.chargeTEFromItems(slots, 9, power, maxPower); - - UpgradeManager.eval(slots, 10, 11); - + + upgradeManager.checkSlots(this, slots, 10, 11); + if(canProcess()) { progress += getSpeed(); power -= getConsumption(); - + int convert = getCoolantConsumption(); tanks[0].setFill(tanks[0].getFill() - convert); tanks[1].setFill(tanks[1].getFill() + convert); - + if(progress >= duration) { process(); progress = 0; this.markDirty(); } - + } else { progress = 0; } - + this.sendFluid(); this.networkPackNT(25); } } - + @Override public void serialize(ByteBuf buf) { super.serialize(buf); buf.writeLong(power); buf.writeInt(progress); buf.writeByte(plugs); - + for(int i = 0; i < 3; i++) tanks[i].serialize(buf); } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); power = buf.readLong(); progress = buf.readInt(); plugs = buf.readByte(); - + for(int i = 0; i < 3; i++) tanks[i].deserialize(buf); } - + private void updateConnections() { for(DirPos pos : getConPos()) { this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + private void sendFluid() { for(int i = 1; i < 3; i++) { if(tanks[i].getFill() > 0) { @@ -141,7 +140,7 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements } } } - + public DirPos[] getConPos() { return new DirPos[] { new DirPos(xCoord + 3, yCoord, zCoord + 1, Library.POS_X), @@ -154,93 +153,93 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements new DirPos(xCoord - 1, yCoord, zCoord - 3, Library.NEG_Z) }; } - + public boolean canProcess() { - + if(power < getConsumption()) return false; - + int convert = getCoolantConsumption(); - + if(tanks[0].getFill() < convert) return false; - + if(tanks[1].getFill() + convert > tanks[1].getMaxFill()) return false; - + for(int i = 0; i < 3; i++) { - + Object[] res = CyclotronRecipes.getOutput(slots[i + 3], slots[i]); - + if(res == null) continue; - + ItemStack out = (ItemStack)res[0]; - + if(out == null) continue; - + if(slots[i + 6] == null) return true; - + if(slots[i + 6].getItem() == out.getItem() && slots[i + 6].getItemDamage() == out.getItemDamage() && slots[i + 6].stackSize < out.getMaxStackSize()) return true; } - + return false; } - + public void process() { - + for(int i = 0; i < 3; i++) { - + Object[] res = CyclotronRecipes.getOutput(slots[i + 3], slots[i]); - + if(res == null) continue; - + ItemStack out = (ItemStack)res[0]; - + if(out == null) continue; - + if(slots[i + 6] == null) { - + this.decrStackSize(i, 1); this.decrStackSize(i + 3, 1); slots[i + 6] = out; - + this.tanks[2].setFill(this.tanks[2].getFill() + (Integer)res[1]); - + continue; } - + if(slots[i + 6].getItem() == out.getItem() && slots[i + 6].getItemDamage() == out.getItemDamage() && slots[i + 6].stackSize < out.getMaxStackSize()) { - + this.decrStackSize(i, 1); this.decrStackSize(i + 3, 1); slots[i + 6].stackSize++; - + this.tanks[2].setFill(this.tanks[2].getFill() + (Integer)res[1]); } } - + if(this.tanks[2].getFill() > this.tanks[2].getMaxFill()) this.tanks[2].setFill(this.tanks[2].getMaxFill()); } - + public int getSpeed() { - return Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3) + 1; + return upgradeManager.getLevel(UpgradeType.SPEED) + 1; } - + public int getConsumption() { - int efficiency = Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3); - + int efficiency = upgradeManager.getLevel(UpgradeType.POWER); + return consumption - 100_000 * efficiency; } - + public int getCoolantConsumption() { - int efficiency = Math.min(UpgradeManager.getLevel(UpgradeType.EFFECT), 3); + int efficiency = upgradeManager.getLevel(UpgradeType.EFFECT); //half a small tower's worth return 500 / (efficiency + 1) * getSpeed(); } @@ -252,67 +251,67 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements public int getProgressScaled(int i) { return (progress * i) / duration; } - + @Override public AxisAlignedBB getRenderBoundingBox() { return AxisAlignedBB.getBoundingBox(xCoord - 2, yCoord, zCoord - 2, xCoord + 3, yCoord + 4, zCoord + 3); } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { return 65536.0D; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + for(int i = 0; i < 3; i++) tanks[i].readFromNBT(nbt, "t" + i); - + this.progress = nbt.getInteger("progress"); this.power = nbt.getLong("power"); this.plugs = nbt.getByte("plugs"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + for(int i = 0; i < 3; i++) tanks[i].writeToNBT(nbt, "t" + i); - + nbt.setInteger("progress", progress); nbt.setLong("power", power); nbt.setByte("plugs", plugs); } - + public void setPlug(int index) { this.plugs |= (1 << index); this.markDirty(); } - + public boolean getPlug(int index) { return (this.plugs & (1 << index)) > 0; } - + public static Item getItemForPlug(int i) { - + switch(i) { case 0: return ModItems.powder_balefire; case 1: return ModItems.book_of_; case 2: return ModItems.diamond_gavel; case 3: return ModItems.coin_maskman; } - + return null; } @Override public void setInventorySlotContents(int i, ItemStack stack) { super.setInventorySlotContents(i, stack); - + if(stack != null && i >= 14 && i <= 15 && stack.getItem() instanceof ItemMachineUpgrade) worldObj.playSoundEffect(xCoord + 0.5, yCoord + 1.5, zCoord + 0.5, "hbm:item.upgradePlug", 1.5F, 1.0F); } @@ -354,13 +353,13 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineCyclotron(player.inventory, this); } @Override public boolean isItemValidForSlot(int x, int y, int z, int slot, ItemStack stack) { - + if(slot < 3) { for(Entry, Pair> entry : CyclotronRecipes.recipes.entrySet()) { if(entry.getKey().getKey().matchesRecipe(stack, true)) return true; @@ -371,7 +370,7 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements if(entry.getKey().getValue().matchesRecipe(stack, true)) return true; } } - + return false; } @@ -387,7 +386,7 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements @Override public int[] getAccessibleSlotsFromSide(int x, int y, int z, int side) { - + for(int i = 2; i < 6; i++) { ForgeDirection dir = ForgeDirection.getOrientation(i); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); @@ -396,7 +395,7 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements if(x == xCoord + dir.offsetX * 2 && z == zCoord + dir.offsetZ * 2) return new int[] {1, 4, 6, 7, 8}; if(x == xCoord + dir.offsetX * 2 - rot.offsetX && z == zCoord + dir.offsetZ * 2 - rot.offsetZ) return new int[] {2, 5, 6, 7, 8}; } - + return new int[] {6, 7, 8}; } @@ -421,11 +420,12 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - if(type == UpgradeType.POWER) return 3; - if(type == UpgradeType.EFFECT) return 3; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.POWER, 3); + upgrades.put(UpgradeType.EFFECT, 3); + return upgrades; } @Override @@ -433,4 +433,9 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements data.setBoolean(CompatEnergyControl.B_ACTIVE, this.progress > 0); data.setDouble(CompatEnergyControl.D_CONSUMPTION_HE, this.progress > 0 ? getConsumption() : 0); } + + @Override + public FluidTank getTankToPaste() { + return null; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java index d36cb4336..1734850fb 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java @@ -17,7 +17,10 @@ import com.hbm.inventory.fluid.trait.FluidTrait.FluidReleaseType; import com.hbm.inventory.gui.GUIMachineDiesel; import com.hbm.items.ModItems; import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; +import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.IConfigurableMachine; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachinePolluting; import com.hbm.util.CompatEnergyControl; @@ -28,7 +31,7 @@ import api.hbm.fluid.IFluidStandardTransceiver; import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -36,12 +39,14 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineDiesel extends TileEntityMachinePolluting implements IEnergyProviderMK2, IFluidStandardTransceiver, IConfigurableMachine, IGUIProvider, IInfoProviderEC { +public class TileEntityMachineDiesel extends TileEntityMachinePolluting implements IEnergyProviderMK2, IFluidStandardTransceiver, IConfigurableMachine, IGUIProvider, IInfoProviderEC, IFluidCopiable { public long power; - public int soundCycle = 0; public long powerCap = maxPower; public FluidTank tank; + + public boolean wasOn = false; + private AudioWrapper audio; /* CONFIGURABLE CONSTANTS */ public static long maxPower = 50000; @@ -52,7 +57,6 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen fuelEfficiency.put(FuelGrade.HIGH, 0.75D); fuelEfficiency.put(FuelGrade.AERO, 0.1D); } - public static boolean shutUp = false; private static final int[] slots_top = new int[] { 0 }; private static final int[] slots_bottom = new int[] { 1, 2 }; @@ -70,13 +74,8 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen @Override public boolean isItemValidForSlot(int i, ItemStack stack) { - if (i == 0) - if (FluidContainerRegistry.getFluidContent(stack, tank.getTankType()) > 0) - return true; - if (i == 2) - if (stack.getItem() instanceof IBatteryItem) - return true; - + if(i == 0) return FluidContainerRegistry.getFluidContent(stack, tank.getTankType()) > 0; + if(i == 2) return stack.getItem() instanceof IBatteryItem; return false; } @@ -105,17 +104,8 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen @Override public boolean canExtractItem(int i, ItemStack stack, int j) { - if(i == 1) { - if(stack.getItem() == ModItems.canister_empty || stack.getItem() == ModItems.tank_steel) { - return true; - } - } - if(i == 2) { - if(stack.getItem() instanceof IBatteryItem && ((IBatteryItem) stack.getItem()).getCharge(stack) == ((IBatteryItem) stack.getItem()).getMaxCharge(stack)) { - return true; - } - } - + if(i == 1) return stack.getItem() == ModItems.canister_empty || stack.getItem() == ModItems.tank_steel; + if(i == 2) return stack.getItem() instanceof IBatteryItem && ((IBatteryItem) stack.getItem()).getCharge(stack) == ((IBatteryItem) stack.getItem()).getMaxCharge(stack); return false; } @@ -128,6 +118,8 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen if(!worldObj.isRemote) { + this.wasOn = false; + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { this.tryProvide(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); this.sendSmoke(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); @@ -151,22 +143,71 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen generate(); - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("power", (int) power); - data.setInteger("powerCap", (int) powerCap); - tank.writeToNBT(data, "t"); - this.networkPack(data, 50); + this.networkPackNT(50); + } else { + + if(wasOn) { + + if(audio == null) { + audio = createAudioLoop(); + audio.startSound(); + } else if(!audio.isPlaying()) { + audio = rebootAudio(audio); + } + + audio.keepAlive(); + audio.updateVolume(this.getVolume(1F)); + + } else { + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } } } - - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - power = data.getInteger("power"); - powerCap = data.getInteger("powerCap"); - tank.readFromNBT(data, "t"); + @Override + public AudioWrapper createAudioLoop() { + return MainRegistry.proxy.getLoopedSound("hbm:block.engine", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F, 10); } - + + @Override + public void onChunkUnload() { + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + + @Override + public void invalidate() { + super.invalidate(); + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeInt((int) power); + buf.writeInt((int) powerCap); + buf.writeBoolean(wasOn); + tank.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readInt(); + this.powerCap = buf.readInt(); + this.wasOn = buf.readBoolean(); + tank.deserialize(buf); + } + public boolean hasAcceptableFuel() { return getHEFromFuel() > 0; } @@ -192,18 +233,12 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen public void generate() { + if(this.worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord)) return; + if(hasAcceptableFuel()) { if (tank.getFill() > 0) { - if(!shutUp) { - if (soundCycle == 0) { - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "fireworks.blast", this.getVolume(0.75F), 0.5F); - } - soundCycle++; - } - - if(soundCycle >= 3) - soundCycle = 0; + this.wasOn = true; tank.setFill(tank.getFill() - 1); if(tank.getFill() < 0) @@ -222,30 +257,12 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen } } - @Override - public long getPower() { - return power; - } + @Override public long getPower() { return power; } + @Override public void setPower(long i) { this.power = i; } + @Override public long getMaxPower() { return this.maxPower; } - @Override - public void setPower(long i) { - this.power = i; - } - - @Override - public long getMaxPower() { - return this.maxPower; - } - - @Override - public FluidTank[] getReceivingTanks() { - return new FluidTank[] {tank}; - } - - @Override - public FluidTank[] getAllTanks() { - return new FluidTank[] { tank }; - } + @Override public FluidTank[] getReceivingTanks() { return new FluidTank[] {tank}; } + @Override public FluidTank[] getAllTanks() { return new FluidTank[] { tank }; } @Override public String getConfigName() { @@ -263,7 +280,6 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen fuelEfficiency.put(grade, array.get(grade.ordinal()).getAsDouble()); } } - shutUp = IConfigurableMachine.grab(obj, "B:shutUp", shutUp); } @Override @@ -282,7 +298,6 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen writer.value(d); } writer.endArray().setIndent(" "); - writer.name("B:shutUp").value(shutUp); } @Override @@ -292,7 +307,7 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineDiesel(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDrain.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDrain.java index 9a6dc8f21..22b99e917 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDrain.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDrain.java @@ -12,14 +12,12 @@ import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Liquid; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Viscous; import com.hbm.main.MainRegistry; -import com.hbm.packet.BufPacket; -import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IBufPacketReceiver; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.fluid.IFluidStandardReceiver; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; @@ -30,25 +28,25 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineDrain extends TileEntityLoadedBase implements IFluidStandardReceiver, IBufPacketReceiver { - +public class TileEntityMachineDrain extends TileEntityLoadedBase implements IFluidStandardReceiver, IBufPacketReceiver, IFluidCopiable { + public FluidTank tank; - + public TileEntityMachineDrain() { this.tank = new FluidTank(Fluids.NONE, 2_000); } - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + if(worldObj.getTotalWorldTime() % 20 == 0) { for(DirPos pos : getConPos()) this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - - PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - + + networkPackNT(50); + if(tank.getFill() > 0) { if(tank.getTankType().hasTrait(FT_Amat.class)) { worldObj.newExplosion(null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 10F, true, true); @@ -57,13 +55,13 @@ public class TileEntityMachineDrain extends TileEntityLoadedBase implements IFlu int toSpill = Math.max(tank.getFill() / 2, 1); tank.setFill(tank.getFill() - toSpill); FT_Polluting.pollute(worldObj, xCoord, yCoord, zCoord, tank.getTankType(), FluidReleaseType.SPILL, toSpill); - + if(toSpill >= 100 && worldObj.rand.nextInt(20) == 0 && tank.getTankType().hasTrait(FT_Liquid.class) && tank.getTankType().hasTrait(FT_Viscous.class) && tank.getTankType().hasTrait(FT_Flammable.class)) { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); Vec3 start = Vec3.createVectorHelper(xCoord + 0.5 - dir.offsetX * 3, yCoord + 0.5, zCoord + 0.5 - dir.offsetZ * 3); Vec3 end = start.addVector(worldObj.rand.nextGaussian() * 5, -25, worldObj.rand.nextGaussian() * 5); MovingObjectPosition mop = worldObj.func_147447_a(start, end, false, true, false); - + if(mop != null && mop.typeOfHit == mop.typeOfHit.BLOCK && mop.sideHit == 1) { Block block = worldObj.getBlock(mop.blockX, mop.blockY + 1, mop.blockZ); if(!block.getMaterial().isLiquid() && block.isReplaceable(worldObj, mop.blockX, mop.blockY + 1, mop.blockZ) && ModBlocks.oil_spill.canPlaceBlockAt(worldObj, mop.blockX, mop.blockY + 1, mop.blockZ)) { @@ -72,12 +70,12 @@ public class TileEntityMachineDrain extends TileEntityLoadedBase implements IFlu } } } - + } else { - + if(tank.getFill() > 0 && MainRegistry.proxy.me().getDistance(xCoord, yCoord, zCoord) < 100) { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); - + NBTTagCompound data = new NBTTagCompound(); if(tank.getTankType().hasTrait(FT_Gaseous.class)) { data.setString("type", "tower"); @@ -88,17 +86,17 @@ public class TileEntityMachineDrain extends TileEntityLoadedBase implements IFlu } else { data.setString("type", "splash"); } - + data.setInteger("color", tank.getTankType().getColor()); data.setDouble("posX", xCoord + 0.5 - dir.offsetX * 2.5); data.setDouble("posZ", zCoord + 0.5 - dir.offsetZ * 2.5); data.setDouble("posY", yCoord + 0.5); - + MainRegistry.proxy.effectNT(data); } } } - + public DirPos[] getConPos() { ForgeDirection dir0 = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); ForgeDirection dir1 = dir0.getRotation(ForgeDirection.UP); @@ -109,13 +107,13 @@ public class TileEntityMachineDrain extends TileEntityLoadedBase implements IFlu new DirPos(xCoord + dir2.offsetX, yCoord, zCoord + dir2.offsetZ, dir2) }; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); this.tank.readFromNBT(nbt, "t"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -127,17 +125,17 @@ public class TileEntityMachineDrain extends TileEntityLoadedBase implements IFlu @Override public FluidTank[] getAllTanks() { return new FluidTank[] {tank}; } @Override public FluidTank[] getReceivingTanks() { return new FluidTank[] {tank}; } - + @Override public boolean canConnect(FluidType type, ForgeDirection dir) { return dir != ForgeDirection.UP && dir != ForgeDirection.DOWN; } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 2, @@ -148,13 +146,18 @@ public class TileEntityMachineDrain extends TileEntityLoadedBase implements IFlu zCoord + 3 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { return 65536.0D; } + + @Override + public FluidTank getTankToPaste() { + return tank; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java index 081aab10a..4dc4df595 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java @@ -1,9 +1,10 @@ package com.hbm.tileentity.machine; +import java.util.HashMap; import java.util.List; import com.hbm.blocks.ModBlocks; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerMachineEPress; import com.hbm.inventory.gui.GUIMachineEPress; import com.hbm.inventory.recipes.PressRecipes; @@ -13,14 +14,15 @@ import com.hbm.lib.Library; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.BufferUtil; import com.hbm.util.CompatEnergyControl; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -43,9 +45,11 @@ public class TileEntityMachineEPress extends TileEntityMachineBase implements IE public final static int maxPress = 200; boolean isRetracting = false; private int delay; - + public ItemStack syncStack; - + + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public TileEntityMachineEPress() { super(5); } @@ -54,39 +58,44 @@ public class TileEntityMachineEPress extends TileEntityMachineBase implements IE public String getName() { return "container.epress"; } - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + + // Triggers the legacy monoblock fix + if (worldObj.getBlockMetadata(xCoord, yCoord, zCoord) < 12) { + worldObj.scheduleBlockUpdate(xCoord, yCoord, zCoord, worldObj.getBlock(xCoord, yCoord, zCoord), 1); + } + this.updateConnections(); power = Library.chargeTEFromItems(slots, 0, power, maxPower); - + boolean canProcess = this.canProcess(); - + if((canProcess || this.isRetracting || this.delay > 0) && power >= 100) { - + power -= 100; - + if(delay <= 0) { - - UpgradeManager.eval(slots, 4, 4); - int speed = 1 + Math.min(3, UpgradeManager.getLevel(UpgradeType.SPEED)); - + + upgradeManager.checkSlots(this, slots, 4, 4); + int speed = 1 + upgradeManager.getLevel(UpgradeType.SPEED); + int stampSpeed = this.isRetracting ? 20 : 45; stampSpeed *= (1D + (double) speed / 4D); - + if(this.isRetracting) { this.press -= stampSpeed; - + if(this.press <= 0) { this.isRetracting = false; this.delay = 5 - speed + 1; } } else if(canProcess) { this.press += stampSpeed; - + if(this.press >= this.maxPress) { this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.pressOperate", getVolume(1.5F), 1.0F); ItemStack output = PressRecipes.getOutput(slots[2], slots[1]); @@ -96,17 +105,17 @@ public class TileEntityMachineEPress extends TileEntityMachineBase implements IE slots[3].stackSize += output.stackSize; } this.decrStackSize(2, 1); - + if(slots[1].getMaxDamage() != 0) { slots[1].setItemDamage(slots[1].getItemDamage() + 1); if(slots[1].getItemDamage() >= slots[1].getMaxDamage()) { slots[1] = null; } } - + this.isRetracting = true; this.delay = 5 - speed + 1; - + this.markDirty(); } } else if(this.press > 0){ @@ -116,23 +125,14 @@ public class TileEntityMachineEPress extends TileEntityMachineBase implements IE delay--; } } - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", power); - data.setInteger("press", press); - if(slots[2] != null) { - NBTTagCompound stack = new NBTTagCompound(); - slots[2].writeToNBT(stack); - data.setTag("stack", stack); - } - - this.networkPack(data, 50); - + + this.networkPackNT(50); + } else { - + // approach-based interpolation, GO! this.lastPress = this.renderPress; - + if(this.turnProgress > 0) { this.renderPress = this.renderPress + ((this.syncPress - this.renderPress) / (double) this.turnProgress); --this.turnProgress; @@ -141,52 +141,58 @@ public class TileEntityMachineEPress extends TileEntityMachineBase implements IE } } } - + @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.power = nbt.getLong("power"); - this.syncPress = nbt.getInteger("press"); - - if(nbt.hasKey("stack")) { - NBTTagCompound stack = nbt.getCompoundTag("stack"); - this.syncStack = ItemStack.loadItemStackFromNBT(stack); - } else { - this.syncStack = null; - } - + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(power); + buf.writeInt(press); + if (slots[2] == null) + buf.writeShort(-1); // indicate that the NBT doesn't actually exist to avoid null pointer errors. + else + BufferUtil.writeNBT(buf, slots[2].stackTagCompound); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + this.syncPress = buf.readInt(); + + NBTTagCompound stack = BufferUtil.readNBT(buf); + this.syncStack = ItemStack.loadItemStackFromNBT(stack); + this.turnProgress = 2; } - + public boolean canProcess() { if(power < 100) return false; if(slots[1] == null || slots[2] == null) return false; - + ItemStack output = PressRecipes.getOutput(slots[2], slots[1]); - + if(output == null) return false; - + if(slots[3] == null) return true; if(slots[3].stackSize + output.stackSize <= slots[3].getMaxStackSize() && slots[3].getItem() == output.getItem() && slots[3].getItemDamage() == output.getItemDamage()) return true; return false; } - + private void updateConnections() { - + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } @Override public boolean isItemValidForSlot(int i, ItemStack stack) { - + if(stack.getItem() instanceof ItemStamp) return i == 1; - + return i == 2; } - + @Override public int[] getAccessibleSlotsFromSide(int side) { return new int[] { 1, 2, 3 }; @@ -201,16 +207,16 @@ public class TileEntityMachineEPress extends TileEntityMachineBase implements IE public boolean canExtractItem(int i, ItemStack itemStack, int j) { return i == 3; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + press = nbt.getInteger("press"); power = nbt.getInteger("power"); isRetracting = nbt.getBoolean("ret"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -223,7 +229,7 @@ public class TileEntityMachineEPress extends TileEntityMachineBase implements IE @Override public void setPower(long i) { power = i; - + } @Override @@ -235,19 +241,19 @@ public class TileEntityMachineEPress extends TileEntityMachineBase implements IE public long getMaxPower() { return maxPower; } - + AxisAlignedBB aabb; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(aabb != null) return aabb; - + aabb = AxisAlignedBB.getBoundingBox(xCoord, yCoord, zCoord, xCoord + 1, yCoord + 3, zCoord + 1); return aabb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -261,7 +267,7 @@ public class TileEntityMachineEPress extends TileEntityMachineBase implements IE @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineEPress(player.inventory, this); } @@ -279,9 +285,10 @@ public class TileEntityMachineEPress extends TileEntityMachineBase implements IE } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + return upgrades; } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java index 26c2630f7..84c1fd378 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java @@ -1,12 +1,13 @@ package com.hbm.tileentity.machine; +import java.util.HashMap; import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.MachineElectricFurnace; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerElectricFurnace; import com.hbm.inventory.gui.GUIMachineElectricFurnace; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; @@ -14,14 +15,13 @@ import com.hbm.lib.Library; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import api.hbm.energymk2.IBatteryItem; import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; @@ -45,6 +45,8 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl private static final int[] slots_io = new int[] { 0, 1, 2 }; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public TileEntityMachineElectricFurnace() { super(4); } @@ -70,7 +72,7 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + this.power = nbt.getLong("power"); this.progress = nbt.getInteger("progress"); } @@ -115,7 +117,7 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl } public boolean canProcess() { - + if(slots[1] == null || cooldown > 0) { return false; } @@ -168,7 +170,7 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl boolean markDirty = false; if(!worldObj.isRemote) { - + if(cooldown > 0) { cooldown--; } @@ -180,16 +182,16 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl this.consumption = 50; this.maxProgress = 100; - UpgradeManager.eval(slots, 3, 3); + upgradeManager.checkSlots(this, slots, 3, 3); - int speedLevel = UpgradeManager.getLevel(UpgradeType.SPEED); - int powerLevel = UpgradeManager.getLevel(UpgradeType.POWER); + int speedLevel = upgradeManager.getLevel(UpgradeType.SPEED); + int powerLevel = upgradeManager.getLevel(UpgradeType.POWER); maxProgress -= speedLevel * 25; consumption += speedLevel * 50; maxProgress += powerLevel * 10; consumption -= powerLevel * 15; - + if(!hasPower()) { cooldown = 20; } @@ -198,7 +200,7 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl progress++; power -= consumption; - + if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND); if(this.progress >= maxProgress) { @@ -220,7 +222,7 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl markDirty = true; MachineElectricFurnace.updateBlockState(this.progress > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); } - + this.networkPackNT(50); @@ -229,7 +231,7 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl } } } - + @Override public void serialize(ByteBuf buf) { super.serialize(buf); @@ -237,7 +239,7 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl buf.writeInt(maxProgress); buf.writeInt(progress); } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); @@ -245,7 +247,7 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl maxProgress = buf.readInt(); progress = buf.readInt(); } - + private void updateConnections() { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) @@ -276,7 +278,7 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineElectricFurnace(player.inventory, this); } @@ -299,9 +301,10 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - if(type == UpgradeType.POWER) return 3; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.POWER, 3); + return upgrades; } -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExcavator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExcavator.java index 3ac1df89a..28b4e49f7 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExcavator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExcavator.java @@ -1,10 +1,7 @@ package com.hbm.tileentity.machine; import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Random; +import java.util.*; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; @@ -12,7 +9,7 @@ import com.hbm.blocks.generic.BlockBedrockOreTE.TileEntityBedrockOre; import com.hbm.blocks.network.CraneInserter; import com.hbm.entity.item.EntityMovingItem; import com.hbm.interfaces.IControlReceiver; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerMachineExcavator; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -24,16 +21,17 @@ import com.hbm.items.machine.ItemDrillbit.EnumDrillType; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.items.special.ItemBedrockOreBase; import com.hbm.lib.Library; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.Compat; import com.hbm.util.EnumUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.InventoryUtil; import com.hbm.util.ItemStackUtil; import com.hbm.util.fauxpointtwelve.BlockPos; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import api.hbm.conveyor.IConveyorBelt; import api.hbm.energymk2.IEnergyReceiverMK2; @@ -43,7 +41,6 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; @@ -60,18 +57,18 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineExcavator extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IControlReceiver, IGUIProvider, IUpgradeInfoProvider { +public class TileEntityMachineExcavator extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IControlReceiver, IGUIProvider, IUpgradeInfoProvider, IFluidCopiable { public static final long maxPower = 1_000_000; public long power; public boolean operational = false; - + public boolean enableDrill = false; public boolean enableCrusher = false; public boolean enableWalling = false; public boolean enableVeinMiner = false; public boolean enableSilkTouch = false; - + protected int ticksWorked = 0; protected int targetDepth = 0; //0 is the first block below null position protected boolean bedrockDrilling = false; @@ -83,16 +80,18 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements public float crusherRotation = 0F; public float prevCrusherRotation = 0F; public int chuteTimer = 0; - + public double speed = 1.0D; public final long baseConsumption = 10_000L; public long consumption = baseConsumption; - + public FluidTank tank; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public TileEntityMachineExcavator() { super(14); - this.tank = new FluidTank(Fluids.SULFURIC_ACID, 16_000); + this.tank = new FluidTank(Fluids.NONE, 16_000); } @Override @@ -102,48 +101,48 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements @Override public void updateEntity() { - + //needs to happen on client too for GUI rendering - UpgradeManager.eval(slots, 2, 3); - int speedLevel = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); - int powerLevel = Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3); - + upgradeManager.checkSlots(this, slots, 2, 3); + int speedLevel = upgradeManager.getLevel(UpgradeType.SPEED); + int powerLevel = upgradeManager.getLevel(UpgradeType.POWER); + consumption = baseConsumption * (1 + speedLevel); consumption /= (1 + powerLevel); - + if(!worldObj.isRemote) { - + this.tank.setType(1, slots); - + if(worldObj.getTotalWorldTime() % 20 == 0) { tryEjectBuffer(); - + for(DirPos pos : getConPos()) { this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + if(chuteTimer > 0) chuteTimer--; - + this.power = Library.chargeTEFromItems(slots, 0, this.getPower(), this.getMaxPower()); this.operational = false; - int radiusLevel = Math.min(UpgradeManager.getLevel(UpgradeType.EFFECT), 3); - + int radiusLevel = upgradeManager.getLevel(UpgradeType.EFFECT); + EnumDrillType type = this.getInstalledDrill(); if(this.enableDrill && type != null && this.power >= this.getPowerConsumption()) { - + operational = true; this.power -= this.getPowerConsumption(); - + this.speed = type.speed; this.speed *= (1 + speedLevel / 2D); - + int maxDepth = this.yCoord - 4; if((bedrockDrilling || targetDepth <= maxDepth) && tryDrill(1 + radiusLevel * 2)) { targetDepth++; - + if(targetDepth > maxDepth) { this.enableDrill = false; } @@ -151,17 +150,17 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements } else { this.targetDepth = 0; } - + this.networkPackNT(150); - + } else { - + this.prevDrillExtension = this.drillExtension; - + if(this.drillExtension != this.targetDepth) { float diff = Math.abs(this.drillExtension - this.targetDepth); float speed = Math.max(0.15F, diff / 10F); - + if(diff <= speed) { this.drillExtension = this.targetDepth; } else { @@ -172,31 +171,31 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements this.prevDrillRotation = this.drillRotation; this.prevCrusherRotation = this.crusherRotation; - + if(this.operational) { this.drillRotation += 15F; - + if(this.enableCrusher) { this.crusherRotation += 15F; } } - + if(this.drillRotation >= 360F) { this.drillRotation -= 360F; this.prevDrillRotation -= 360F; } - + if(this.crusherRotation >= 360F) { this.crusherRotation -= 360F; this.prevCrusherRotation -= 360F; } } } - + protected DirPos[] getConPos() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + return new DirPos[] { new DirPos(xCoord + dir.offsetX * 4 + rot.offsetX, yCoord + 1, zCoord + dir.offsetZ * 4 + rot.offsetZ, dir), new DirPos(xCoord + dir.offsetX * 4 - rot.offsetX, yCoord + 1, zCoord + dir.offsetZ * 4 - rot.offsetZ, dir), @@ -204,7 +203,7 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements new DirPos(xCoord - rot.offsetX * 4, yCoord + 1, zCoord - rot.offsetZ * 4, rot.getOpposite()) }; } - + @Override public void serialize(ByteBuf buf) { super.serialize(buf); @@ -219,7 +218,7 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements buf.writeLong(power); tank.serialize(buf); } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); @@ -234,11 +233,11 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements power = buf.readLong(); tank.deserialize(buf); } - + protected int getY() { return yCoord - targetDepth - 4; } - + /** Works outwards and tries to break a ring, returns true if all rings are broken (or ignorable) and the drill should extend. */ protected boolean tryDrill(int radius) { int y = getY(); @@ -246,22 +245,22 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements if(targetDepth == 0 || y == 0) { radius = 1; } - + for(int ring = 1; ring <= radius; ring++) { - + boolean ignoreAll = true; float combinedHardness = 0F; BlockPos bedrockOre = null; bedrockDrilling = false; - + for(int x = xCoord - ring; x <= xCoord + ring; x++) { for(int z = zCoord - ring; z <= zCoord + ring; z++) { - + /* Process blocks either if we are in the inner ring (1 = 3x3) or if the target block is on the outer edge */ if(ring == 1 || (x == xCoord - ring || x == xCoord + ring || z == zCoord - ring || z == zCoord + ring)) { - + Block b = worldObj.getBlock(x, y, z); - + if(b == ModBlocks.ore_bedrock) { combinedHardness = 5 * 60 * 20; bedrockOre = new BlockPos(x, y, z); @@ -270,23 +269,23 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements ignoreAll = false; break; } - + if(shouldIgnoreBlock(b, x, y ,z)) continue; - + ignoreAll = false; - + combinedHardness += b.getBlockHardness(worldObj, x, y, z); } } } - + if(!ignoreAll) { ticksWorked++; - + int ticksToWork = (int) Math.ceil(combinedHardness / this.speed); - + if(ticksWorked >= ticksToWork) { - + if(bedrockOre == null) { breakBlocks(ring); buildWall(ring + 1, ring == radius && this.enableWalling); @@ -297,7 +296,7 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements } ticksWorked = 0; } - + return false; } else { tryCollect(radius + 1); @@ -308,26 +307,26 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements ticksWorked = 0; return true; } - + protected void collectBedrock(BlockPos pos) { TileEntity oreTile = Compat.getTileStandard(worldObj, pos.getX(), pos.getY(), pos.getZ()); - + if(oreTile instanceof TileEntityBedrockOre) { TileEntityBedrockOre ore = (TileEntityBedrockOre) oreTile; - + if(ore.resource == null) return; if(ore.tier > this.getInstalledDrill().tier) return; if(ore.acidRequirement != null) { - + if(ore.acidRequirement.type != tank.getTankType() || ore.acidRequirement.fill > tank.getFill()) return; - + tank.setFill(tank.getFill() - ore.acidRequirement.fill); } - + ItemStack stack = ore.resource.copy(); List stacks = new ArrayList(); stacks.add(stack); - + if(stack.getItem() == ModItems.bedrock_ore_base) { ItemBedrockOreBase.setOreAmount(stack, pos.getX(), pos.getZ()); } @@ -337,63 +336,63 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements int x = xCoord + dir.offsetX * 4; int y = yCoord - 3; int z = zCoord + dir.offsetZ * 4; - + /* try to insert into a valid container */ TileEntity tile = worldObj.getTileEntity(x, y, z); if(tile instanceof IInventory) { supplyContainer((IInventory) tile, stacks, dir.getOpposite()); } - + if(stack.stackSize <= 0) return; - + /* try to place on conveyor belt */ Block b = worldObj.getBlock(x, y, z); if(b instanceof IConveyorBelt) { supplyConveyor((IConveyorBelt) b, stacks, x, y, z); } - + if(stack.stackSize <= 0) return; - + for(int i = 5; i < 14; i++) { - + if(slots[i] != null && slots[i].stackSize < slots[i].getMaxStackSize() && stack.isItemEqual(slots[i]) && ItemStack.areItemStackTagsEqual(stack, slots[i])) { int toAdd = Math.min(slots[i].getMaxStackSize() - slots[i].stackSize, stack.stackSize); slots[i].stackSize += toAdd; stack.stackSize -= toAdd; - + chuteTimer = 40; - + if(stack.stackSize <= 0) { return; } } } - + /* add leftovers to empty slots */ for(int i = 5; i < 14; i++) { - + if(slots[i] == null) { - + chuteTimer = 40; - + slots[i] = stack.copy(); return; } } } } - + /** breaks and drops all blocks in the specified ring */ protected void breakBlocks(int ring) { int y = getY(); - + for(int x = xCoord - ring; x <= xCoord + ring; x++) { for(int z = zCoord - ring; z <= zCoord + ring; z++) { - + if(ring == 1 || (x == xCoord - ring || x == xCoord + ring || z == zCoord - ring || z == zCoord + ring)) { - + Block b = worldObj.getBlock(x, y, z); - + if(!this.shouldIgnoreBlock(b, x, y, z)) { tryMineAtLocation(x, y, z); } @@ -401,13 +400,13 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements } } } - + public void tryMineAtLocation(int x ,int y, int z) { Block b = worldObj.getBlock(x, y, z); - + if(this.enableVeinMiner && this.getInstalledDrill().vein) { - + if(isOre(x, y, z, b)) { minX = x; minY = y; @@ -417,51 +416,51 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements maxZ = z; breakRecursively(x, y, z, 10); recursionBrake.clear(); - + /* move all excavated items to the last drillable position which is also within collection range */ List items = worldObj.getEntitiesWithinAABB(EntityItem.class, AxisAlignedBB.getBoundingBox(minX, minY, minZ, maxX + 1, maxY + 1, maxZ + 1)); for(EntityItem item : items) item.setPosition(x + 0.5, y + 0.5, z + 0.5); - + return; } } breakSingleBlock(b, x, y, z); } - + protected boolean isOre(int x ,int y, int z, Block b) { - + /* doing this isn't terribly accurate but just for figuring out if there's OD it works */ Item blockItem = Item.getItemFromBlock(b); - + if(blockItem != null) { List names = ItemStackUtil.getOreDictNames(new ItemStack(blockItem)); - + for(String name : names) { if(name.startsWith("ore")) { return true; } } } - + return false; } - + private HashSet recursionBrake = new HashSet(); private int minX = 0, minY = 0, minZ = 0, maxX = 0, maxY = 0, maxZ = 0; protected void breakRecursively(int x ,int y, int z, int depth) { - + if(depth < 0) return; BlockPos pos = new BlockPos(x, y, z); if(recursionBrake.contains(pos)) return; recursionBrake.add(pos); - + Block b = worldObj.getBlock(x, y, z); - + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { int ix = x + dir.offsetX; int iy = y + dir.offsetY; int iz = z + dir.offsetZ; - + if(worldObj.getBlock(ix, iy, iz) == b) { breakRecursively(ix, iy, iz, depth - 1); } @@ -475,36 +474,36 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements if(y > maxY) maxY = y; if(z < minZ) minZ = z; if(z > maxZ) maxZ = z; - + if(this.enableWalling) { worldObj.setBlock(x, y, z, ModBlocks.barricade); } } - + protected void breakSingleBlock(Block b, int x ,int y, int z) { - + List items = b.getDrops(worldObj, x, y, z, worldObj.getBlockMetadata(x, y, z), this.getFortuneLevel()); - + if(this.canSilkTouch()) { - + try { Method createStackedBlock = ReflectionHelper.findMethod(Block.class, b, new String[] {"createStackedBlock", "func_149644_j"}, int.class); ItemStack result = (ItemStack) createStackedBlock.invoke(b, worldObj.getBlockMetadata(x, y, z)); - + if(result != null) { items.clear(); items.add(result.copy()); } } catch(Exception ex) { } } - + if(this.enableCrusher) { - + List list = new ArrayList(); - + for(ItemStack stack : items) { ItemStack crushed = ShredderRecipes.getShredderResult(stack).copy(); - + if(crushed.getItem() == ModItems.scrap || crushed.getItem() == ModItems.dust) { list.add(stack); } else { @@ -512,36 +511,36 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements list.add(crushed); } } - + items = list; } - + if(b == ModBlocks.barricade) items.clear(); - + for(ItemStack item : items) { worldObj.spawnEntityInWorld(new EntityItem(worldObj, x + 0.5, y + 0.5, z + 0.5, item)); } - + worldObj.func_147480_a(x, y, z, false); } - + /** builds a wall along the specified ring, replacing fluid blocks. if wallEverything is set, it will also wall off replacable blocks like air or grass */ protected void buildWall(int ring, boolean wallEverything) { int y = getY(); - + for(int x = xCoord - ring; x <= xCoord + ring; x++) { for(int z = zCoord - ring; z <= zCoord + ring; z++) { - + Block b = worldObj.getBlock(x, y, z); - + if(x == xCoord - ring || x == xCoord + ring || z == zCoord - ring || z == zCoord + ring) { - + if(b.isReplaceable(worldObj, x, y, z) && (wallEverything || b.getMaterial().isLiquid())) { worldObj.setBlock(x, y, z, ModBlocks.barricade); } } else { - + if(b.getMaterial().isLiquid()) { worldObj.setBlockToAir(x, y, z); continue; @@ -552,14 +551,14 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements } protected void mineOuterOres(int ring) { int y = getY(); - + for(int x = xCoord - ring; x <= xCoord + ring; x++) { for(int z = zCoord - ring; z <= zCoord + ring; z++) { - + if(ring == 1 || (x == xCoord - ring || x == xCoord + ring || z == zCoord - ring || z == zCoord + ring)) { - + Block b = worldObj.getBlock(x, y, z); - + if(!this.shouldIgnoreBlock(b, x, y, z) && this.isOre(x, y, z, b)) { tryMineAtLocation(x, y, z); } @@ -567,7 +566,7 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements } } } - + protected void tryEjectBuffer() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); @@ -575,32 +574,32 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements int x = xCoord + dir.offsetX * 4; int y = yCoord - 3; int z = zCoord + dir.offsetZ * 4; - + List items = new ArrayList(); for(int i = 5; i < 14; i++) { ItemStack stack = slots[i]; - + if(stack != null) { items.add(stack.copy()); } } - + TileEntity tile = worldObj.getTileEntity(x, y, z); if(tile instanceof IInventory) { supplyContainer((IInventory) tile, items, dir.getOpposite()); } - + Block b = worldObj.getBlock(x, y, z); if(b instanceof IConveyorBelt) { supplyConveyor((IConveyorBelt) b, items, x, y, z); } - + items.removeIf(i -> i == null || i.stackSize <= 0); for(int i = 5; i < 14; i++) { int index = i - 5; - + if(items.size() > index) { slots[i] = items.get(index).copy(); } else { @@ -608,66 +607,67 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements } } } - + /** pulls up an AABB around the drillbit and tries to either conveyor output or buffer collected items */ protected void tryCollect(int radius) { int yLevel = getY(); - + List items = worldObj.getEntitiesWithinAABB(EntityItem.class, AxisAlignedBB.getBoundingBox(xCoord - radius, yLevel - 1, zCoord - radius, xCoord + radius + 1, yLevel + 2, zCoord + radius + 1)); - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); int x = xCoord + dir.offsetX * 4; int y = yCoord - 3; int z = zCoord + dir.offsetZ * 4; - + List stacks = new ArrayList(); - items.forEach(i -> stacks.add(i.getEntityItem())); - + items.forEach(i -> { if(!i.isDead) stacks.add(i.getEntityItem());}); + /* try to insert into a valid container */ TileEntity tile = worldObj.getTileEntity(x, y, z); if(tile instanceof IInventory) { supplyContainer((IInventory) tile, stacks, dir.getOpposite()); } - + /* try to place on conveyor belt */ Block b = worldObj.getBlock(x, y, z); if(b instanceof IConveyorBelt) { supplyConveyor((IConveyorBelt) b, stacks, x, y, z); } - + items.removeIf(i -> i.isDead || i.getEntityItem().stackSize <= 0); - + /* collect remaining items in internal buffer */ outer: for(EntityItem item : items) { - + if(item.isDead) continue; + ItemStack stack = item.getEntityItem(); - + /* adding items to existing stacks */ for(int i = 5; i < 14; i++) { - + if(slots[i] != null && slots[i].stackSize < slots[i].getMaxStackSize() && stack.isItemEqual(slots[i]) && ItemStack.areItemStackTagsEqual(stack, slots[i])) { int toAdd = Math.min(slots[i].getMaxStackSize() - slots[i].stackSize, stack.stackSize); slots[i].stackSize += toAdd; stack.stackSize -= toAdd; - + chuteTimer = 40; - + if(stack.stackSize <= 0) { item.setDead(); continue outer; } } } - + /* add leftovers to empty slots */ for(int i = 5; i < 14; i++) { - + if(slots[i] == null) { - + chuteTimer = 40; - + slots[i] = stack.copy(); item.setDead(); break; @@ -675,60 +675,60 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements } } } - + /** places all items into a connected container, if possible */ protected void supplyContainer(IInventory inv, List items, ForgeDirection dir) { - + int side = dir.ordinal(); int[] access = null; - + if(inv instanceof ISidedInventory) { ISidedInventory sided = (ISidedInventory) inv; access = InventoryUtil.masquerade(sided, dir.ordinal()); } - + for(ItemStack item : items) { - + if(item.stackSize <= 0) continue; - + CraneInserter.addToInventory(inv, access, item, side); chuteTimer = 40; } } - + /** moves all items onto a connected conveyor belt */ protected void supplyConveyor(IConveyorBelt belt, List items, int x, int y, int z) { - + Random rand = worldObj.rand; - + for(ItemStack item : items) { - + if(item.stackSize <= 0) continue; - + Vec3 base = Vec3.createVectorHelper(x + rand.nextDouble(), y + 0.5, z + rand.nextDouble()); Vec3 vec = belt.getClosestSnappingPosition(worldObj, x, y, z, base); - + EntityMovingItem moving = new EntityMovingItem(worldObj); moving.setPosition(base.xCoord, vec.yCoord, base.zCoord); moving.setItemStack(item.copy()); worldObj.spawnEntityInWorld(moving); item.stackSize = 0; - + chuteTimer = 40; } } - + public long getPowerConsumption() { return consumption; } - + public int getFortuneLevel() { EnumDrillType type = getInstalledDrill(); - + if(type != null) return type.fortune; return 0; } - + public boolean shouldIgnoreBlock(Block block, int x, int y, int z) { return block.isAir(worldObj, x, y, z) || block.getMaterial() == ModBlocks.materialGas || block.getBlockHardness(worldObj, x, y, z) < 0 || block.getMaterial().isLiquid() || block == Blocks.bedrock; } @@ -740,32 +740,32 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements if(data.hasKey("walling")) this.enableWalling = !this.enableWalling; if(data.hasKey("veinminer")) this.enableVeinMiner = !this.enableVeinMiner; if(data.hasKey("silktouch")) this.enableSilkTouch = !this.enableSilkTouch; - + this.markChanged(); } - + public EnumDrillType getInstalledDrill() { if(slots[4] != null && slots[4].getItem() instanceof ItemDrillbit) { return EnumUtil.grabEnumSafely(EnumDrillType.class, slots[4].getItemDamage()); } - + return null; } - + public boolean canVeinMine() { EnumDrillType type = getInstalledDrill(); return this.enableVeinMiner && type != null && type.vein; } - + public boolean canSilkTouch() { EnumDrillType type = getInstalledDrill(); return this.enableSilkTouch && type != null && type.silk; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + this.enableDrill = nbt.getBoolean("d"); this.enableCrusher = nbt.getBoolean("c"); this.enableWalling = nbt.getBoolean("w"); @@ -775,11 +775,11 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements this.power = nbt.getLong("p"); this.tank.readFromNBT(nbt, "tank"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setBoolean("d", enableDrill); nbt.setBoolean("c", enableCrusher); nbt.setBoolean("w", enableWalling); @@ -802,15 +802,15 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineExcavator(player.inventory, this); } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 3, @@ -821,10 +821,10 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements zCoord + 4 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -874,9 +874,16 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - if(type == UpgradeType.POWER) return 3; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.POWER, 3); + upgrades.put(UpgradeType.EFFECT, 3); + return upgrades; + } + + @Override + public FluidTank getTankToPaste() { + return tank; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExposureChamber.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExposureChamber.java index d733720ba..06ad4379f 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExposureChamber.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExposureChamber.java @@ -1,9 +1,10 @@ package com.hbm.tileentity.machine; +import java.util.HashMap; import java.util.List; import com.hbm.blocks.ModBlocks; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerMachineExposureChamber; import com.hbm.inventory.gui.GUIMachineExposureChamber; import com.hbm.inventory.recipes.ExposureChamberRecipes; @@ -14,14 +15,13 @@ import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -32,10 +32,10 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public class TileEntityMachineExposureChamber extends TileEntityMachineBase implements IGUIProvider, IEnergyReceiverMK2, IUpgradeInfoProvider { - + public long power; public static final long maxPower = 1_000_000; - + public int progress; public static final int processTimeBase = 200; public int processTime = processTimeBase; @@ -46,7 +46,9 @@ public class TileEntityMachineExposureChamber extends TileEntityMachineBase impl public boolean isOn = false; public float rotation; public float prevRotation; - + + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -54,7 +56,7 @@ public class TileEntityMachineExposureChamber extends TileEntityMachineBase impl this.power = nbt.getLong("power"); this.savedParticles = nbt.getInteger("savedParticles"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -83,39 +85,39 @@ public class TileEntityMachineExposureChamber extends TileEntityMachineBase impl @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + this.isOn = false; this.power = Library.chargeTEFromItems(slots, 5, power, maxPower); - + if(worldObj.getTotalWorldTime() % 20 == 0) { for(DirPos pos : getConPos()) this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - - UpgradeManager.eval(slots, 6, 7); - int speedLevel = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); - int powerLevel = Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3); - int overdriveLevel = Math.min(UpgradeManager.getLevel(UpgradeType.OVERDRIVE), 3); - + + upgradeManager.checkSlots(this, slots, 6, 7); + int speedLevel = upgradeManager.getLevel(UpgradeType.SPEED); + int powerLevel = upgradeManager.getLevel(UpgradeType.POWER); + int overdriveLevel = upgradeManager.getLevel(UpgradeType.OVERDRIVE); + this.consumption = this.consumptionBase; - + this.processTime = this.processTimeBase - this.processTimeBase / 4 * speedLevel; this.consumption *= (speedLevel / 2 + 1); this.processTime *= (powerLevel / 2 + 1); this.consumption /= (powerLevel + 1); this.processTime /= (overdriveLevel + 1); this.consumption *= (overdriveLevel * 2 + 1); - + if(slots[1] == null && slots[0] != null && slots[3] != null && this.savedParticles <= 0) { ExposureChamberRecipe recipe = this.getRecipe(slots[0], slots[3]); - + if(recipe != null) { - + ItemStack container = slots[0].getItem().getContainerItem(slots[0]); - + boolean canStore = false; - + if(container == null) { canStore = true; } else if(slots[2] == null) { @@ -125,7 +127,7 @@ public class TileEntityMachineExposureChamber extends TileEntityMachineBase impl slots[2].stackSize++; canStore = true; } - + if(canStore) { slots[1] = slots[0].copy(); slots[1].stackSize = 0; @@ -134,47 +136,47 @@ public class TileEntityMachineExposureChamber extends TileEntityMachineBase impl } } } - + if(slots[1] != null && this.savedParticles > 0 && this.power >= this.consumption) { ExposureChamberRecipe recipe = this.getRecipe(slots[1], slots[3]); - + if(recipe != null && (slots[4] == null || (slots[4].getItem() == recipe.output.getItem() && slots[4].getItemDamage() == recipe.output.getItemDamage() && slots[4].stackSize + recipe.output.stackSize <= slots[4].getMaxStackSize()))) { this.progress++; this.power -= this.consumption; this.isOn = true; - + if(this.progress >= this.processTime) { this.progress = 0; this.savedParticles--; this.decrStackSize(3, 1); - + if(slots[4] == null) { slots[4] = recipe.output.copy(); } else { slots[4].stackSize += recipe.output.stackSize; } } - + } else { this.progress = 0; } } else { this.progress = 0; } - + if(this.savedParticles <= 0) { slots[1] = null; } - + this.networkPackNT(50); } else { - + this.prevRotation = this.rotation; - + if(this.isOn) { - + this.rotation += 10D; - + if(this.rotation >= 720D) { this.rotation -= 720D; this.prevRotation -= 720D; @@ -182,7 +184,7 @@ public class TileEntityMachineExposureChamber extends TileEntityMachineBase impl } } } - + public DirPos[] getConPos() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); ForgeDirection rot = dir.getRotation(ForgeDirection.UP).getOpposite(); @@ -194,44 +196,44 @@ public class TileEntityMachineExposureChamber extends TileEntityMachineBase impl new DirPos(xCoord + rot.offsetX * 9, yCoord, zCoord + rot.offsetZ * 9, rot) }; } - + public ExposureChamberRecipe getRecipe(ItemStack particle, ItemStack ingredient) { return ExposureChamberRecipes.getRecipe(particle, ingredient); } @Override public boolean isItemValidForSlot(int i, ItemStack stack) { - + //will only load new capsules if there's no cached particles, this should prevent clogging //accept items when the slots are already partially filled, i.e. applicable if(i == 0 && slots[0] != null) return true; if(i == 3 && slots[3] != null) return true; - + //if there's no particle stored, use the un-consumed capsule for reference ItemStack particle = slots[1] != null ? slots[1] : slots[0]; - + //if no particle is loaded and an ingot is present if(i == 0 && particle == null && slots[3] != null) { ExposureChamberRecipe recipe = getRecipe(stack, slots[3]); return recipe != null; } - + //if a particle is loaded but no ingot present if(i == 3 && particle != null && slots[3] == null) { ExposureChamberRecipe recipe = getRecipe(slots[0], stack); return recipe != null; } - + //if there's nothing at all, find a reference recipe and see if the item matches anything if(particle == null && slots[3] == null) { - + for(ExposureChamberRecipe recipe : ExposureChamberRecipes.recipes) { if(i == 0 && recipe.particle.matchesRecipe(stack, true)) return true; - if(i == 3 && recipe.ingredient.matchesRecipe(stack, true)) return true; + if(i == 3 && recipe.ingredient.matchesRecipe(stack, true)) return true; } } - + return false; } @@ -254,7 +256,7 @@ public class TileEntityMachineExposureChamber extends TileEntityMachineBase impl buf.writeLong(this.power); buf.writeByte((byte) this.savedParticles); } - + @Override public void deserialize(ByteBuf buf) { this.isOn = buf.readBoolean(); @@ -281,10 +283,10 @@ public class TileEntityMachineExposureChamber extends TileEntityMachineBase impl } AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 8, @@ -295,10 +297,10 @@ public class TileEntityMachineExposureChamber extends TileEntityMachineBase impl zCoord + 9 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -312,7 +314,7 @@ public class TileEntityMachineExposureChamber extends TileEntityMachineBase impl @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineExposureChamber(player.inventory, this); } @@ -338,10 +340,11 @@ public class TileEntityMachineExposureChamber extends TileEntityMachineBase impl } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - if(type == UpgradeType.POWER) return 3; - if(type == UpgradeType.OVERDRIVE) return 3; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.POWER, 3); + upgrades.put(UpgradeType.OVERDRIVE, 3); + return upgrades; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineFunnel.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineFunnel.java index 23ec51164..7243f1802 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineFunnel.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineFunnel.java @@ -13,7 +13,6 @@ import com.hbm.tileentity.machine.TileEntityMachineAutocrafter.InventoryCrafting import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.InventoryCrafting; @@ -162,7 +161,7 @@ public class TileEntityMachineFunnel extends TileEntityMachineBase implements IG @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIFunnel(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java index b3179241c..7a63ee4d7 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java @@ -11,8 +11,8 @@ import com.hbm.inventory.recipes.GasCentrifugeRecipes.PseudoFluidType; import com.hbm.items.ModItems; import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.lib.Library; -import com.hbm.packet.LoopedSoundPacket; -import com.hbm.packet.PacketDispatcher; +import com.hbm.main.MainRegistry; +import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.BufferUtil; @@ -23,68 +23,70 @@ import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardReceiver; import api.hbm.tile.IInfoProviderEC; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; //epic! public class TileEntityMachineGasCent extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider, IInfoProviderEC { - + public long power; public int progress; public boolean isProgressing; public static final int maxPower = 100000; public static final int processingSpeed = 150; - + public FluidTank tank; public PseudoFluidTank inputTank; public PseudoFluidTank outputTank; - + + private int audioDuration = 0; + private AudioWrapper audio; + private static final int[] slots_io = new int[] { 0, 1, 2, 3 }; - + public TileEntityMachineGasCent() { - super(7); + super(7); tank = new FluidTank(Fluids.UF6, 2000); inputTank = new PseudoFluidTank(PseudoFluidType.NUF6, 8000); outputTank = new PseudoFluidTank(PseudoFluidType.LEUF6, 8000); } - + @Override public String getName() { return "container.gasCentrifuge"; } - + @Override public boolean canExtractItem(int i, ItemStack itemStack, int j) { return i < 4; } - + @Override public int[] getAccessibleSlotsFromSide(int side) { return slots_io; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + power = nbt.getLong("power"); progress = nbt.getShort("progress"); tank.readFromNBT(nbt, "tank"); inputTank.readFromNBT(nbt, "inputTank"); outputTank.readFromNBT(nbt, "outputTank"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -94,127 +96,127 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I inputTank.writeToNBT(nbt, "inputTank"); outputTank.writeToNBT(nbt, "outputTank"); } - + public int getCentrifugeProgressScaled(int i) { return (progress * i) / getProcessingSpeed(); } - + public long getPowerRemainingScaled(int i) { return (power * i) / maxPower; } - + private boolean canEnrich() { if(power > 0 && this.inputTank.getFill() >= inputTank.getTankType().getFluidConsumed() && this.outputTank.getFill() + this.inputTank.getTankType().getFluidProduced() <= outputTank.getMaxFill()) { - + ItemStack[] list = inputTank.getTankType().getOutput(); - + if(this.inputTank.getTankType().getIfHighSpeed()) if(!(slots[6] != null && slots[6].getItem() == ModItems.upgrade_gc_speed)) return false; - + if(list == null) return false; - + if(list.length < 1) return false; - + if(InventoryUtil.doesArrayHaveSpace(slots, 0, 3, list)) return true; } - + return false; } - + private void enrich() { ItemStack[] output = inputTank.getTankType().getOutput(); - + this.progress = 0; - inputTank.setFill(inputTank.getFill() - inputTank.getTankType().getFluidConsumed()); - outputTank.setFill(outputTank.getFill() + inputTank.getTankType().getFluidProduced()); - + inputTank.setFill(inputTank.getFill() - inputTank.getTankType().getFluidConsumed()); + outputTank.setFill(outputTank.getFill() + inputTank.getTankType().getFluidProduced()); + for(byte i = 0; i < output.length; i++) InventoryUtil.tryAddItemToInventory(slots, 0, 3, output[i].copy()); //reference types almost got me again } - + private void attemptConversion() { if(inputTank.getFill() < inputTank.getMaxFill() && tank.getFill() > 0) { int fill = Math.min(inputTank.getMaxFill() - inputTank.getFill(), tank.getFill()); - + tank.setFill(tank.getFill() - fill); inputTank.setFill(inputTank.getFill() + fill); } } - + private boolean attemptTransfer(TileEntity te) { if(te instanceof TileEntityMachineGasCent) { TileEntityMachineGasCent cent = (TileEntityMachineGasCent) te; - - if(cent.tank.getFill() == 0 && cent.tank.getTankType() == tank.getTankType()) { + + if(cent.tank.getTankType() == tank.getTankType()) { if(cent.inputTank.getTankType() != outputTank.getTankType() && outputTank.getTankType() != PseudoFluidType.NONE) { cent.inputTank.setTankType(outputTank.getTankType()); cent.outputTank.setTankType(outputTank.getTankType().getOutputType()); } - + //God, why did I forget about the entirety of the fucking math library? if(cent.inputTank.getFill() < cent.inputTank.getMaxFill() && outputTank.getFill() > 0) { int fill = Math.min(cent.inputTank.getMaxFill() - cent.inputTank.getFill(), outputTank.getFill()); - + outputTank.setFill(outputTank.getFill() - fill); cent.inputTank.setFill(cent.inputTank.getFill() + fill); } - + return true; } } - + return false; } - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + updateConnections(); power = Library.chargeTEFromItems(slots, 4, power, maxPower); setTankType(5); - + if(GasCentrifugeRecipes.fluidConversions.containsValue(inputTank.getTankType())) { attemptConversion(); } - + if(canEnrich()) { - + isProgressing = true; this.progress++; - + if(slots[6] != null && slots[6].getItem() == ModItems.upgrade_gc_speed) this.power -= 300; else this.power -= 200; - + if(this.power < 0) { power = 0; this.progress = 0; } - + if(progress >= getProcessingSpeed()) enrich(); - + } else { isProgressing = false; this.progress = 0; } - + if(worldObj.getTotalWorldTime() % 10 == 0) { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); TileEntity te = worldObj.getTileEntity(this.xCoord - dir.offsetX, this.yCoord, this.zCoord - dir.offsetZ); - + //*AT THE MOMENT*, there's not really any need for a dedicated method for this. Yet. if(!attemptTransfer(te) && this.inputTank.getTankType() == PseudoFluidType.LEUF6) { ItemStack[] converted = new ItemStack[] { new ItemStack(ModItems.nugget_uranium_fuel, 6), new ItemStack(ModItems.fluorite) }; - + if(this.outputTank.getFill() >= 600 && InventoryUtil.doesArrayHaveSpace(slots, 0, 3, converted)) { this.outputTank.setFill(this.outputTank.getFill() - 600); for(ItemStack stack : converted) @@ -222,13 +224,67 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I } } } - + this.networkPackNT(50); - PacketDispatcher.wrapper.sendToAllAround(new LoopedSoundPacket(xCoord, yCoord, zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + } else { + + if(isProgressing) { + audioDuration += 2; + } else { + audioDuration -= 3; + } + + audioDuration = MathHelper.clamp_int(audioDuration, 0, 60); + + if(audioDuration > 10 && MainRegistry.proxy.me().getDistance(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) < 25) { + + if(audio == null) { + audio = createAudioLoop(); + audio.startSound(); + } else if(!audio.isPlaying()) { + audio = rebootAudio(audio); + } + + audio.updateVolume(getVolume(1F)); + audio.updatePitch((audioDuration - 10) / 100F + 0.5F); + audio.keepAlive(); + + } else { + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } } } - + + @Override + public AudioWrapper createAudioLoop() { + return MainRegistry.proxy.getLoopedSound("hbm:block.centrifugeOperate", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F, 20); + } + + @Override + public void onChunkUnload() { + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + + @Override + public void invalidate() { + + super.invalidate(); + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + @Override public void serialize(ByteBuf buf) { super.serialize(buf); @@ -240,35 +296,35 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I buf.writeInt(outputTank.getFill()); BufferUtil.writeString(buf, inputTank.getTankType().name); //cough cough BufferUtil.writeString(buf, outputTank.getTankType().name); - + tank.serialize(buf); } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); power = buf.readLong(); progress = buf.readInt(); isProgressing = buf.readBoolean(); - + inputTank.setFill(buf.readInt()); outputTank.setFill(buf.readInt()); inputTank.setTankType(PseudoFluidType.types.get(BufferUtil.readString(buf))); outputTank.setTankType(PseudoFluidType.types.get(BufferUtil.readString(buf))); - + tank.deserialize(buf); } - + private void updateConnections() { for(DirPos pos : getConPos()) { this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - + if(GasCentrifugeRecipes.fluidConversions.containsValue(inputTank.getTankType())) { this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } } - + private DirPos[] getConPos() { return new DirPos[] { new DirPos(xCoord, yCoord - 1, zCoord, Library.NEG_Y), @@ -279,48 +335,35 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I }; } - @Override - public void setPower(long i) { - power = i; - } + @Override public void setPower(long i) { power = i; } + @Override public long getPower() { return power; } + @Override public long getMaxPower() { return maxPower; } - @Override - public long getPower() { - return power; - - } - - @Override - public long getMaxPower() { - return maxPower; - } - public int getProcessingSpeed() { if(slots[6] != null && slots[6].getItem() == ModItems.upgrade_gc_speed) { return processingSpeed - 70; } return processingSpeed; } - + public void setTankType(int in) { - + if(slots[in] != null && slots[in].getItem() instanceof IItemFluidIdentifier) { IItemFluidIdentifier id = (IItemFluidIdentifier) slots[in].getItem(); FluidType newType = id.getType(worldObj, xCoord, yCoord, zCoord, slots[in]); - + if(tank.getTankType() != newType) { PseudoFluidType pseudo = GasCentrifugeRecipes.fluidConversions.get(newType); - + if(pseudo != null) { inputTank.setTankType(pseudo); outputTank.setTankType(pseudo.getOutputType()); tank.setTankType(newType); } } - } } - + @Override public FluidTank[] getReceivingTanks() { return new FluidTank[] { tank }; @@ -330,71 +373,70 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I public FluidTank[] getAllTanks() { return new FluidTank[] { tank }; } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox(xCoord, yCoord, zCoord, xCoord + 1, yCoord + 5, zCoord + 1); } - return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { return 65536.0D; } - + public class PseudoFluidTank { PseudoFluidType type; int fluid; int maxFluid; - + public PseudoFluidTank(PseudoFluidType type, int maxFluid) { this.type = type; this.maxFluid = maxFluid; } - + public void setFill(int i) { fluid = i; } - + public void setTankType(PseudoFluidType type) { - + if(this.type.equals(type)) return; - + if(type == null) this.type = PseudoFluidType.NONE; else this.type = type; - + this.setFill(0); } - + public PseudoFluidType getTankType() { return type; } - + public int getFill() { return fluid; } - + public int getMaxFill() { return maxFluid; } - + //Called by TE to save fillstate public void writeToNBT(NBTTagCompound nbt, String s) { nbt.setInteger(s, fluid); nbt.setInteger(s + "_max", maxFluid); nbt.setString(s + "_type", type.name); } - + //Called by TE to load fillstate public void readFromNBT(NBTTagCompound nbt, String s) { fluid = nbt.getInteger(s); @@ -403,7 +445,7 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I type = PseudoFluidType.types.get(nbt.getString(s + "_type")); if(type == null) type = PseudoFluidType.NONE; } - + /* ______ ______ * _I____I_ _I____I_ * / \\\ / \\\ @@ -461,7 +503,7 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineGasCent(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineHephaestus.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineHephaestus.java index eb22b3289..3453ef320 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineHephaestus.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineHephaestus.java @@ -10,25 +10,28 @@ import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingType; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; -import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.tileentity.IBufPacketReceiver; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements INBTPacketReceiver, IFluidStandardTransceiver { +public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements IBufPacketReceiver, IFluidStandardTransceiver, IFluidCopiable { public FluidTank input; public FluidTank output; public int bufferedHeat; - + public float rot; public float prevRot; @@ -36,29 +39,35 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements this.input = new FluidTank(Fluids.OIL, 24_000); this.output = new FluidTank(Fluids.HOTOIL, 24_000); } - + private int[] heat = new int[10]; private long fissureScanTime; private AudioWrapper audio; - + + ByteBuf buf; + @Override public void updateEntity() { if(!worldObj.isRemote) { - + + if(this.buf != null) + this.buf.release(); + this.buf = Unpooled.buffer(); + setupTanks(); - + if(worldObj.getTotalWorldTime() % 20 == 0) { this.updateConnections(); } - + int height = (int) (worldObj.getTotalWorldTime() % 10); int range = 7; int y = yCoord - 1 - height; - + heat[height] = 0; - + if(y >= 0) { for(int x = -range; x <= range; x++) { for(int z = -range; z <= range; z++) { @@ -66,29 +75,28 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements } } } - - NBTTagCompound data = new NBTTagCompound(); - input.writeToNBT(data, "i"); - + + input.serialize(buf); + heatFluid(); - - output.writeToNBT(data, "o"); - + + output.serialize(buf); + if(output.getFill() > 0) { for(DirPos pos : getConPos()) { this.sendFluid(output, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - data.setInteger("heat", this.getTotalHeat()); - INBTPacketReceiver.networkPack(this, data, 150); - + buf.writeInt(this.getTotalHeat()); + networkPackNT(150); + } else { - + this.prevRot = this.rot; - + if(this.bufferedHeat > 0) { this.rot += 0.5F; - + if(worldObj.rand.nextInt(7) == 0) { double x = worldObj.rand.nextGaussian() * 2; double y = worldObj.rand.nextGaussian() * 3; @@ -106,23 +114,23 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements audio = null; } } - + if(this.rot >= 360F) { this.prevRot -= 360F; this.rot -= 360F; } } } - + protected void heatFluid() { - + FluidType type = input.getTankType(); - + if(type.hasTrait(FT_Heatable.class)) { FT_Heatable trait = type.getTrait(FT_Heatable.class); int heat = this.getTotalHeat(); HeatingStep step = trait.getFirstStep(); - + int inputOps = input.getFill() / step.amountReq; int outputOps = (output.getMaxFill() - output.getFill()) / step.amountProduced; int heatOps = heat / step.heatReq; @@ -133,14 +141,14 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements worldObj.markTileEntityChunkModified(xCoord, yCoord, zCoord, this); } } - + protected void setupTanks() { - + FluidType type = input.getTankType(); - + if(type.hasTrait(FT_Heatable.class)) { FT_Heatable trait = type.getTrait(FT_Heatable.class); - + if(trait.getEfficiency(HeatingType.HEATEXCHANGER) > 0) { FluidType outType = trait.getFirstStep().typeProduced; output.setTankType(outType); @@ -151,55 +159,60 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements input.setTankType(Fluids.NONE); output.setTankType(Fluids.NONE); } - + protected int heatFromBlock(int x, int y, int z) { Block b = worldObj.getBlock(x, y, z); - + if(b == Blocks.lava || b == Blocks.flowing_lava) return 5; if(b == ModBlocks.volcanic_lava_block) return 150; - + if(b == ModBlocks.ore_volcano) { this.fissureScanTime = worldObj.getTotalWorldTime(); return 300; } - + return 0; } - + public int getTotalHeat() { boolean fissure = worldObj.getTotalWorldTime() - this.fissureScanTime < 20; int heat = 0; - + for(int h : this.heat) { heat += h; } - + if(fissure) { heat *= 3; } - + return heat; } @Override - public void networkUnpack(NBTTagCompound nbt) { - input.readFromNBT(nbt, "i"); - output.readFromNBT(nbt, "o"); - - this.bufferedHeat = nbt.getInteger("heat"); + public void serialize(ByteBuf buf) { + buf.writeBytes(this.buf); } - + + @Override + public void deserialize(ByteBuf buf) { + input.deserialize(buf); + output.deserialize(buf); + + this.bufferedHeat = buf.readInt(); + } + private void updateConnections() { - + if(input.getTankType() == Fluids.NONE) return; - + for(DirPos pos : getConPos()) { this.trySubscribe(input.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + private DirPos[] getConPos() { - + return new DirPos[] { new DirPos(xCoord + 2, yCoord, zCoord, Library.POS_X), new DirPos(xCoord - 2, yCoord, zCoord, Library.NEG_X), @@ -211,7 +224,7 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements new DirPos(xCoord, yCoord + 11, zCoord - 2, Library.NEG_Z) }; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -219,7 +232,7 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements this.input.readFromNBT(nbt, "0"); this.output.readFromNBT(nbt, "1"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -242,12 +255,12 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements public FluidTank[] getReceivingTanks() { return new FluidTank[] {input}; } - + @Override public boolean canConnect(FluidType type, ForgeDirection dir) { return dir != ForgeDirection.UNKNOWN && dir != ForgeDirection.UP && dir != ForgeDirection.DOWN; } - + @Override public void onChunkUnload() { super.onChunkUnload(); @@ -267,12 +280,12 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements audio = null; } } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 3, @@ -283,10 +296,10 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements zCoord + 4 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java index 7996973c8..881d3a748 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java @@ -6,7 +6,6 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Flammable; -import com.hbm.inventory.gui.GUIIGenerator; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.CompatEnergyControl; @@ -16,7 +15,6 @@ import api.hbm.fluid.IFluidStandardReceiver; import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -222,15 +220,18 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement return new int[] { 3, 4, 5, 6 }; } + // o7 + /* @Override public void networkUnpack(NBTTagCompound nbt) { super.networkUnpack(nbt); - + this.power = nbt.getLong("power"); this.spin = nbt.getInteger("spin"); this.burn = nbt.getIntArray("burn"); this.hasRTG = nbt.getBoolean("hasRTG"); } + */ public int getPowerFromFuel(boolean con) { FluidType type = tanks[1].getTankType(); @@ -287,8 +288,8 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new GUIIGenerator(player.inventory, this); + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return null; } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIntake.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIntake.java new file mode 100644 index 000000000..6661f8245 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIntake.java @@ -0,0 +1,174 @@ +package com.hbm.tileentity.machine; + +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.main.MainRegistry; +import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.fauxpointtwelve.DirPos; + +import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.fluidmk2.IFluidStandardSenderMK2; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityMachineIntake extends TileEntityLoadedBase implements IEnergyReceiverMK2, IFluidStandardSenderMK2 { + + public FluidTank compair; + public long power; + public float fan = 0; + public float prevFan = 0; + private AudioWrapper audio; + + public TileEntityMachineIntake() { + this.compair = new FluidTank(Fluids.AIR, 1_000); + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + if(this.power >= this.getMaxPower() / 20) { + this.compair.setFill(this.compair.getMaxFill()); + this.power -= this.getMaxPower() / 20; + } + + for(DirPos pos : getConPos()) { + if(this.compair.getFill() > 0) this.tryProvide(compair, worldObj, pos); + this.trySubscribe(worldObj, pos); + } + + this.networkPackNT(50); + + } else { + + this.prevFan = this.fan; + + if(this.power >= this.getMaxPower() / 20) { + this.fan += 45; + + if(this.fan >= 360) { + this.fan -= 360; + this.prevFan -= 360; + } + + if(audio == null) { + audio = createAudioLoop(); + audio.startSound(); + } else if(!audio.isPlaying()) { + audio = rebootAudio(audio); + } + + audio.keepAlive(); + audio.updateVolume(this.getVolume(0.25F)); + + } else { + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + } + } + + public DirPos[] getConPos() { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + return new DirPos[] { + new DirPos(xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ, dir), + new DirPos(xCoord + dir.offsetX + rot.offsetX, yCoord, zCoord + dir.offsetZ + rot.offsetZ, dir), + + new DirPos(xCoord - dir.offsetX * 2, yCoord, zCoord - dir.offsetZ * 2, dir.getOpposite()), + new DirPos(xCoord - dir.offsetX * 2 + rot.offsetX, yCoord, zCoord - dir.offsetZ * 2 + rot.offsetZ, dir.getOpposite()), + + new DirPos(xCoord + rot.offsetX * 2, yCoord, zCoord + rot.offsetZ * 2, rot), + new DirPos(xCoord + rot.offsetX * 2 - dir.offsetX, yCoord, zCoord + rot.offsetZ * 2 - dir.offsetZ, rot), + + new DirPos(xCoord - rot.offsetX, yCoord, zCoord - rot.offsetZ, rot.getOpposite()), + new DirPos(xCoord - rot.offsetX - dir.offsetX, yCoord, zCoord - rot.offsetZ - dir.offsetZ, rot.getOpposite()) + }; + } + + @Override public AudioWrapper createAudioLoop() { + return MainRegistry.proxy.getLoopedSound("hbm:block.motor", xCoord, yCoord, zCoord, 0.25F, 10F, 1.0F, 20); + } + + @Override public void onChunkUnload() { + if(audio != null) { audio.stopSound(); audio = null; } + } + + @Override public void invalidate() { + super.invalidate(); + if(audio != null) { audio.stopSound(); audio = null; } + } + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(power); + compair.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + compair.deserialize(buf); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.power = nbt.getLong("power"); + compair.readFromNBT(nbt, "compair"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setLong("power", power); + compair.writeToNBT(nbt, "compair"); + } + + @Override public boolean canConnect(ForgeDirection dir) { return dir != ForgeDirection.UP && dir != ForgeDirection.DOWN; } + @Override public boolean canConnect(FluidType type, ForgeDirection dir) { return type == Fluids.AIR && dir != ForgeDirection.UP && dir != ForgeDirection.DOWN; } + + @Override public void setPower(long i) { power = i; } + @Override public long getPower() { return power; } + @Override public long getMaxPower() { return 2_000; } + + @Override public FluidTank[] getAllTanks() { return new FluidTank[] {compair}; } + @Override public FluidTank[] getSendingTanks() { return new FluidTank[] {compair}; } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 1, + yCoord, + zCoord - 1, + xCoord + 2, + yCoord + 1, + zCoord + 2 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineKeyForge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineKeyForge.java index 67016d814..0881ffd57 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineKeyForge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineKeyForge.java @@ -2,14 +2,11 @@ package com.hbm.tileentity.machine; import com.hbm.inventory.container.ContainerMachineKeyForge; import com.hbm.inventory.gui.GUIMachineKeyForge; -import com.hbm.items.ItemAmmoEnums.Ammo4Gauge; -import com.hbm.items.ModItems; import com.hbm.items.tool.ItemKeyPin; import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; @@ -76,6 +73,7 @@ public class TileEntityMachineKeyForge extends TileEntity implements ISidedInven public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -141,6 +139,8 @@ public class TileEntityMachineKeyForge extends TileEntity implements ISidedInven slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override @@ -159,6 +159,10 @@ public class TileEntityMachineKeyForge extends TileEntity implements ISidedInven } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } @Override @@ -191,11 +195,6 @@ public class TileEntityMachineKeyForge extends TileEntity implements ISidedInven if(slots[2] != null && slots[2].getItem() instanceof ItemKeyPin && ((ItemKeyPin)slots[2].getItem()).canTransfer()) { ItemKeyPin.setPins(slots[2], worldObj.rand.nextInt(900) + 100); } - - //DEBUG, remove later - if(slots[2] != null && slots[2].getItem() == ModItems.ammo_4gauge) { - slots[2] = ModItems.ammo_4gauge.stackFromEnum(slots[2].stackSize, Ammo4Gauge.QUACK); - } } } @@ -206,7 +205,7 @@ public class TileEntityMachineKeyForge extends TileEntity implements ISidedInven @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineKeyForge(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java index ba32528da..a4655c162 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java @@ -17,6 +17,7 @@ import com.hbm.inventory.gui.GUIMachineLargeTurbine; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IConfigurableMachine; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; @@ -29,11 +30,11 @@ import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; @@ -43,12 +44,12 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityMachineLargeTurbine extends TileEntityMachineBase implements IEnergyProviderMK2, IFluidStandardTransceiver, IGUIProvider, SimpleComponent, IInfoProviderEC, CompatHandler.OCComponent, IConfigurableMachine { +public class TileEntityMachineLargeTurbine extends TileEntityMachineBase implements IEnergyProviderMK2, IFluidStandardTransceiver, IGUIProvider, SimpleComponent, IInfoProviderEC, CompatHandler.OCComponent, IConfigurableMachine, IFluidCopiable { public long power; public FluidTank[] tanks; protected double[] info = new double[3]; - + private boolean shouldTurn; public float rotor; public float lastRotor; @@ -56,7 +57,7 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme private AudioWrapper audio; private float audioDesync; - + //Configurable Values public static long maxPower = 100000000; public static int inputTankSize = 512_000; @@ -66,7 +67,7 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme public TileEntityMachineLargeTurbine() { super(7); - + tanks = new FluidTank[2]; tanks[0] = new FluidTank(Fluids.STEAM, inputTankSize); tanks[1] = new FluidTank(Fluids.SPENTSTEAM, outputTankSize); @@ -102,13 +103,15 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme return "container.machineLargeTurbine"; } + private boolean operational; + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + this.info = new double[3]; - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); this.tryProvide(worldObj, xCoord + dir.offsetX * -4, yCoord, zCoord + dir.offsetZ * -4, dir.getOpposite()); for(DirPos pos : getConPos()) this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); @@ -117,9 +120,7 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme tanks[0].setType(0, 1, slots); tanks[0].loadTank(2, 3, slots); power = Library.chargeItemsFromTE(slots, 4, power, maxPower); - - boolean operational = false; - + FluidType in = tanks[0].getTankType(); boolean valid = false; if(in.hasTrait(FT_Coolable.class)) { @@ -143,24 +144,20 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme } if(!valid) tanks[1].setTankType(Fluids.NONE); if(power > maxPower) power = maxPower; - + tanks[1].unloadTank(5, 6, slots); - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", power); - data.setBoolean("operational", operational); - tanks[0].writeToNBT(data, "t0"); - tanks[1].writeToNBT(data, "t1"); - this.networkPack(data, 50); + + this.networkPackNT(50); + } else { this.lastRotor = this.rotor; this.rotor += this.fanAcceleration; - + if(this.rotor >= 360) { this.rotor -= 360; this.lastRotor -= 360; } - + if(shouldTurn) { // Fan accelerates with a random offset to ensure the audio doesn't perfectly align, makes for a more pleasant hum this.fanAcceleration = Math.max(0F, Math.min(15F, this.fanAcceleration += 0.075F + audioDesync)); @@ -175,7 +172,7 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme audio.updatePitch(0.25F + 0.75F * turbineSpeed); } else { this.fanAcceleration = Math.max(0F, Math.min(15F, this.fanAcceleration -= 0.1F)); - + if(audio != null) { if(this.fanAcceleration > 0) { float turbineSpeed = this.fanAcceleration / 15F; @@ -189,7 +186,7 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme } } } - + protected DirPos[] getConPos() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); @@ -199,20 +196,29 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme new DirPos(xCoord + dir.offsetX * 2, yCoord, zCoord + dir.offsetZ * 2, dir) }; } - - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - - this.power = data.getLong("power"); - this.shouldTurn = data.getBoolean("operational"); - tanks[0].readFromNBT(data, "t0"); - tanks[1].readFromNBT(data, "t1"); + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(this.power); + buf.writeBoolean(operational); + tanks[0].serialize(buf); + tanks[1].serialize(buf); } - + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + this.shouldTurn = buf.readBoolean(); + tanks[0].deserialize(buf); + tanks[1].deserialize(buf); + } + public long getPowerScaled(int i) { return (power * i) / maxPower; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -220,7 +226,7 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme tanks[1].readFromNBT(nbt, "steam"); power = nbt.getLong("power"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -243,12 +249,12 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme public long getMaxPower() { return this.maxPower; } - + @Override public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -275,11 +281,11 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme public String getComponentName() { return "ntm_turbine"; } - + @Override public void onChunkUnload() { super.onChunkUnload(); - + if(audio != null) { audio.stopSound(); audio = null; @@ -296,29 +302,35 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme } } - @Callback(direct = true) + @Callback(direct = true, doc = "function():table -- Gets current tanks state. The format is the following: , , , ") @Optional.Method(modid = "OpenComputers") public Object[] getFluid(Context context, Arguments args) { return new Object[] {tanks[0].getFill(), tanks[0].getMaxFill(), tanks[1].getFill(), tanks[1].getMaxFill()}; } - @Callback(direct = true) + @Callback(direct = true, doc = "function():number -- Gets the current input tank fluid type. 0 stands for steam, 1 for dense steam, 2 for super dense steam and 3 for ultra dense steam.") @Optional.Method(modid = "OpenComputers") public Object[] getType(Context context, Arguments args) { - return CompatHandler.steamTypeToInt(tanks[1].getTankType()); + return CompatHandler.steamTypeToInt(tanks[0].getTankType()); } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 4, doc = "function(type:number) -- Sets the input tank fluid type. Refer getType() for the accepted values information.") @Optional.Method(modid = "OpenComputers") public Object[] setType(Context context, Arguments args) { tanks[0].setTankType(CompatHandler.intToSteamType(args.checkInteger(0))); return new Object[] {}; } - @Callback(direct = true) + @Callback(direct = true, doc = "function():number -- Gets the power buffer of the turbine.") + @Optional.Method(modid = "OpenComputers") + public Object[] getPower(Context context, Arguments args) { + return new Object[] {power}; + } + + @Callback(direct = true, doc = "function():table -- Gets information about this turbine. The format is the following: , , , , , ") @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[] {tanks[0].getFill(), tanks[0].getMaxFill(), tanks[1].getFill(), tanks[1].getMaxFill(), CompatHandler.steamTypeToInt(tanks[0].getTankType())}; + return new Object[] {tanks[0].getFill(), tanks[0].getMaxFill(), tanks[1].getFill(), tanks[1].getMaxFill(), CompatHandler.steamTypeToInt(tanks[0].getTankType())[0], power}; } @Override @@ -328,6 +340,7 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme "getFluid", "getType", "setType", + "getPower", "getInfo" }; } @@ -355,7 +368,7 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineLargeTurbine(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java index e5ad38a1b..2d82a79ff 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java @@ -1,11 +1,12 @@ package com.hbm.tileentity.machine; +import java.util.HashMap; import java.util.List; import java.util.Set; import com.google.common.collect.Sets; import com.hbm.blocks.ModBlocks; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerMiningLaser; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -22,8 +23,8 @@ import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.InventoryUtil; +import com.hbm.util.i18n.I18nUtil; import api.hbm.block.IDrillInteraction; import api.hbm.block.IMiningDrill; @@ -31,8 +32,8 @@ import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardSender; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; @@ -51,7 +52,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public class TileEntityMachineMiningLaser extends TileEntityMachineBase implements IEnergyReceiverMK2, IMiningDrill, IFluidStandardSender, IGUIProvider, IUpgradeInfoProvider { - + public long power; public int age = 0; public static final long maxPower = 100000000; @@ -69,8 +70,10 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen boolean lock = false; double breakProgress; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public TileEntityMachineMiningLaser() { - + //slot 0: battery //slots 1 - 8: upgrades //slots 9 - 29: output @@ -83,72 +86,72 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen return "container.miningLaser"; } + private double clientBreakProgress; + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + this.updateConnections(); this.sendFluid(tank, worldObj, xCoord + 2, yCoord, zCoord, Library.POS_X); this.sendFluid(tank, worldObj, xCoord - 2, yCoord, zCoord, Library.NEG_X); this.sendFluid(tank, worldObj, xCoord, yCoord + 2, zCoord, Library.POS_Z); this.sendFluid(tank, worldObj, xCoord, yCoord - 2, zCoord, Library.NEG_Z); - + power = Library.chargeTEFromItems(slots, 0, power, maxPower); - + //reset progress if the position changes if(lastTargetX != targetX || lastTargetY != targetY || lastTargetZ != targetZ) breakProgress = 0; - + //set last positions for interpolation and the like lastTargetX = targetX; lastTargetY = targetY; lastTargetZ = targetZ; - - double clientBreakProgress = 0; - + if(isOn) { - - UpgradeManager.eval(slots, 1, 8); - int cycles = 1 + UpgradeManager.getLevel(UpgradeType.OVERDRIVE); - int speed = 1 + Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 12); - int range = 1 + Math.min(UpgradeManager.getLevel(UpgradeType.EFFECT) * 2, 24); - int fortune = Math.min(UpgradeManager.getLevel(UpgradeType.FORTUNE), 3); + + upgradeManager.checkSlots(this, slots, 1, 8); + int cycles = 1 + upgradeManager.getLevel(UpgradeType.OVERDRIVE); + int speed = 1 + upgradeManager.getLevel(UpgradeType.SPEED); + int range = 1 + upgradeManager.getLevel(UpgradeType.EFFECT) * 2; + int fortune = upgradeManager.getLevel(UpgradeType.FORTUNE); int consumption = this.consumption - - (this.consumption * Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 12) / 16) - + (this.consumption * Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 12) / 16); - + - (this.consumption * upgradeManager.getLevel(UpgradeType.POWER) / 16) + + (this.consumption * upgradeManager.getLevel(UpgradeType.SPEED) / 16); + for(int i = 0; i < cycles; i++) { - + if(power < consumption) { beam = false; break; } - + power -= consumption; - + if(targetY <= 0) targetY = yCoord - 2; - + scan(range); - - + + Block block = worldObj.getBlock(targetX, targetY, targetZ); - + if(block.getMaterial().isLiquid()) { worldObj.setBlockToAir(targetX, targetY, targetZ); buildDam(); continue; } - + if(beam && canBreak(block, targetX, targetY, targetZ)) { - + breakProgress += getBreakSpeed(speed); clientBreakProgress = Math.min(breakProgress, 1); - + if(breakProgress < 1) { worldObj.destroyBlockInWorldPartially(-1, targetX, targetY, targetZ, (int) Math.floor(breakProgress * 10)); } else { @@ -166,44 +169,47 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen this.tryFillContainer(xCoord - 2, yCoord, zCoord); this.tryFillContainer(xCoord, yCoord, zCoord + 2); this.tryFillContainer(xCoord, yCoord, zCoord - 2); - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", power); - data.setInteger("lastX", lastTargetX); - data.setInteger("lastY", lastTargetY); - data.setInteger("lastZ", lastTargetZ); - data.setInteger("x", targetX); - data.setInteger("y", targetY); - data.setInteger("z", targetZ); - data.setBoolean("beam", beam); - data.setBoolean("isOn", isOn); - data.setDouble("progress", clientBreakProgress); - tank.writeToNBT(data, "t"); - - this.networkPack(data, 250); + + this.networkPackNT(250); } } - + private void updateConnections() { this.trySubscribe(worldObj, xCoord, yCoord + 2, zCoord, ForgeDirection.UP); } - - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - this.power = data.getLong("power"); - this.lastTargetX = data.getInteger("lastX"); - this.lastTargetY = data.getInteger("lastY"); - this.lastTargetZ = data.getInteger("lastZ"); - this.targetX = data.getInteger("x"); - this.targetY = data.getInteger("y"); - this.targetZ = data.getInteger("z"); - this.beam = data.getBoolean("beam"); - this.isOn = data.getBoolean("isOn"); - this.breakProgress = data.getDouble("progress"); - tank.readFromNBT(data, "t"); + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(this.power); + buf.writeInt(this.lastTargetX); + buf.writeInt(this.lastTargetY); + buf.writeInt(this.lastTargetZ); + buf.writeInt(this.targetX); + buf.writeInt(this.targetY); + buf.writeInt(this.targetZ); + buf.writeBoolean(this.beam); + buf.writeBoolean(this.isOn); + buf.writeDouble(this.clientBreakProgress); + tank.serialize(buf); } - + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + this.lastTargetX = buf.readInt(); + this.lastTargetY = buf.readInt(); + this.lastTargetZ = buf.readInt(); + this.targetX = buf.readInt(); + this.targetY = buf.readInt(); + this.targetZ = buf.readInt(); + this.beam = buf.readBoolean(); + this.isOn = buf.readBoolean(); + this.breakProgress = buf.readDouble(); + tank.deserialize(buf); + } + private void buildDam() { if(worldObj.getBlock(targetX + 1, targetY, targetZ).getMaterial().isLiquid()) worldObj.setBlock(targetX + 1, targetY, targetZ, ModBlocks.barricade); @@ -211,76 +217,76 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen if(worldObj.getBlock(targetX, targetY, targetZ + 1).getMaterial().isLiquid()) worldObj.setBlock(targetX, targetY, targetZ + 1, ModBlocks.barricade); if(worldObj.getBlock(targetX, targetY, targetZ - 1).getMaterial().isLiquid()) worldObj.setBlock(targetX, targetY, targetZ - 1, ModBlocks.barricade); } - + private void tryFillContainer(int x, int y, int z) { - + Block b = worldObj.getBlock(x, y, z); if(b != Blocks.chest && b != Blocks.trapped_chest && b != ModBlocks.crate_iron && b != ModBlocks.crate_desh && b != ModBlocks.crate_steel && b != ModBlocks.safe && b != Blocks.hopper) return; - + IInventory inventory = (IInventory)worldObj.getTileEntity(x, y, z); if(inventory == null) return; - + for(int i = 9; i <= 29; i++) { - + if(slots[i] != null) { int prev = slots[i].stackSize; slots[i] = InventoryUtil.tryAddItemToInventory(inventory, 0, inventory.getSizeInventory() - 1, slots[i]); - + if(slots[i] == null || slots[i].stackSize < prev) return; } } } - + private void breakBlock(int fortune) { - + Block b = worldObj.getBlock(targetX, targetY, targetZ); int meta = worldObj.getBlockMetadata(targetX, targetY, targetZ); boolean normal = true; boolean doesBreak = true; - + if(b == Blocks.lit_redstone_ore) b = Blocks.redstone_ore; - + ItemStack stack = new ItemStack(b, 1, meta); - + if(stack != null && stack.getItem() != null) { if(hasCrystallizer()) { CrystallizerRecipe result = CrystallizerRecipes.getOutput(stack, Fluids.PEROXIDE); if(result == null) result = CrystallizerRecipes.getOutput(stack, Fluids.SULFURIC_ACID); - + if(result != null) { worldObj.spawnEntityInWorld(new EntityItem(worldObj, targetX + 0.5, targetY + 0.5, targetZ + 0.5, result.output.copy())); normal = false; } - + } else if(hasCentrifuge()) { - + ItemStack[] result = CentrifugeRecipes.getOutput(stack); if(result != null) { for(ItemStack sta : result) { - + if(sta != null) { worldObj.spawnEntityInWorld(new EntityItem(worldObj, targetX + 0.5, targetY + 0.5, targetZ + 0.5, sta.copy())); normal = false; } } } - + } else if(hasShredder()) { - + ItemStack result = ShredderRecipes.getShredderResult(stack); if(result != null && result.getItem() != ModItems.scrap) { worldObj.spawnEntityInWorld(new EntityItem(worldObj, targetX + 0.5, targetY + 0.5, targetZ + 0.5, result.copy())); normal = false; } - + } else if(hasSmelter()) { - + ItemStack result = FurnaceRecipes.smelting().getSmeltingResult(stack); if(result != null) { worldObj.spawnEntityInWorld(new EntityItem(worldObj, targetX + 0.5, targetY + 0.5, targetZ + 0.5, result.copy())); @@ -288,32 +294,32 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen } } } - + if(normal && b instanceof IDrillInteraction) { IDrillInteraction in = (IDrillInteraction) b; ItemStack drop = in.extractResource(worldObj, targetX, targetY, targetZ, meta, this); - + if(drop != null) { worldObj.spawnEntityInWorld(new EntityItem(worldObj, targetX + 0.5, targetY + 0.5, targetZ + 0.5, drop.copy())); } - + doesBreak = in.canBreak(worldObj, targetX, targetY, targetZ, meta, this); } - + if(doesBreak) { if(normal) b.dropBlockAsItem(worldObj, targetX, targetY, targetZ, meta, fortune); worldObj.func_147480_a(targetX, targetY, targetZ, false); } - + suckDrops(); if(doesScream()) { worldObj.playSoundEffect(targetX + 0.5, targetY + 0.5, targetZ + 0.5, "hbm:block.screm", 2000.0F, 1.0F); } - + breakProgress = 0; } - + private static final Set bad = Sets.newHashSet(new Item[] { Item.getItemFromBlock(Blocks.dirt), Item.getItemFromBlock(Blocks.stone), @@ -327,14 +333,14 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen Items.snowball, Items.wheat_seeds }); - + //hahahahahahahaha he said "suck" private void suckDrops() { - + int rangeHor = 3; int rangeVer = 1; boolean nullifier = hasNullifier(); - + List items = worldObj.getEntitiesWithinAABB(EntityItem.class, AxisAlignedBB.getBoundingBox( targetX + 0.5 - rangeHor, targetY + 0.5 - rangeVer, @@ -343,36 +349,36 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen targetY + 0.5 + rangeVer, targetZ + 0.5 + rangeHor )); - + for(EntityItem item : items) { - + if(item.isDead) continue; - + if(nullifier && bad.contains(item.getEntityItem().getItem())) { item.setDead(); continue; } - + if(item.getEntityItem().getItem() == Item.getItemFromBlock(ModBlocks.ore_oil)) { - + tank.setTankType(Fluids.OIL); //just to be sure - + tank.setFill(tank.getFill() + 500); if(tank.getFill() > tank.getMaxFill()) tank.setFill(tank.getMaxFill()); - + item.setDead(); continue; } - + ItemStack stack = InventoryUtil.tryAddItemToInventory(slots, 9, 29, item.getEntityItem().copy()); - + if(stack == null) item.setDead(); else item.setEntityItemStack(stack.copy()); //copy is not necessary but i'm paranoid due to the kerfuffle of the old drill } - + List mobs = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox( targetX + 0.5 - 1, targetY + 0.5 - 1, @@ -381,31 +387,31 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen targetY + 0.5 + 1, targetZ + 0.5 + 1 )); - + for(EntityLivingBase mob : mobs) { mob.setFire(5); } } - + public double getBreakSpeed(int speed) { - + float hardness = worldObj.getBlock(targetX, targetY, targetZ).getBlockHardness(worldObj, targetX, targetY, targetZ) * 15 / speed; - + if(hardness == 0) return 1; - + return 1 / hardness; } - + public void scan(int range) { - + for(int x = -range; x <= range; x++) { for(int z = -range; z <= range; z++) { - + if(worldObj.getBlock(x + xCoord, targetY, z + zCoord).getMaterial().isLiquid()) { continue; } - + if(canBreak(worldObj.getBlock(x + xCoord, targetY, z + zCoord), x + xCoord, targetY, z + zCoord)) { targetX = x + xCoord; targetZ = z + zCoord; @@ -414,23 +420,23 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen } } } - + beam = false; targetY--; } - + private boolean canBreak(Block block, int x, int y, int z) { return !block.isAir(worldObj, x, y, z) && block.getBlockHardness(worldObj, x, y, z) >= 0 && !block.getMaterial().isLiquid() && block != Blocks.bedrock; } - + public int getRange() { - + int range = 1; - + for(int i = 1; i < 9; i++) { - + if(slots[i] != null) { - + if(slots[i].getItem() == ModItems.upgrade_effect_1) range += 2; else if(slots[i].getItem() == ModItems.upgrade_effect_2) @@ -439,100 +445,100 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen range += 6; } } - + return Math.min(range, 25); } - + public boolean hasNullifier() { - + for(int i = 1; i < 9; i++) { - + if(slots[i] != null) { - + if(slots[i].getItem() == ModItems.upgrade_nullifier) return true; } } - + return false; } - + public boolean hasSmelter() { - + for(int i = 1; i < 9; i++) { - + if(slots[i] != null) { - + if(slots[i].getItem() == ModItems.upgrade_smelter) return true; } } - + return false; } - + public boolean hasShredder() { - + for(int i = 1; i < 9; i++) { - + if(slots[i] != null) { - + if(slots[i].getItem() == ModItems.upgrade_shredder) return true; } } - + return false; } - + public boolean hasCentrifuge() { - + for(int i = 1; i < 9; i++) { - + if(slots[i] != null) { - + if(slots[i].getItem() == ModItems.upgrade_centrifuge) return true; } } - + return false; } - + public boolean hasCrystallizer() { - + for(int i = 1; i < 9; i++) { - + if(slots[i] != null) { - + if(slots[i].getItem() == ModItems.upgrade_crystallizer) return true; } } - + return false; } - + public boolean doesScream() { - + for(int i = 1; i < 9; i++) { - + if(slots[i] != null) { - + if(slots[i].getItem() == ModItems.upgrade_screm) return true; } } - + return false; } - + public int getConsumption() { return this.consumption; } - + public int getWidth() { - + return 1 + getRange() * 2; } @@ -543,12 +549,12 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen public int getProgressScaled(int i) { return (int) (breakProgress * i); } - + @Override public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() @@ -568,20 +574,20 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen @Override public int[] getAccessibleSlotsFromSide(int slot) { - + int[] slots = new int[21]; - + for(int i = 0; i < 21; i++) { slots[i] = i + 9; } - + return slots; } @Override public void setInventorySlotContents(int i, ItemStack stack) { super.setInventorySlotContents(i, stack); - + if(stack != null && i >= 1 && i <= 8 && stack.getItem() instanceof ItemMachineUpgrade) worldObj.playSoundEffect(xCoord + 0.5, yCoord + 1.5, zCoord + 0.5, "hbm:item.upgradePlug", 1.0F, 1.0F); } @@ -604,7 +610,7 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + tank.readFromNBT(nbt, "oil"); isOn = nbt.getBoolean("isOn"); } @@ -612,7 +618,7 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + tank.writeToNBT(nbt, "oil"); nbt.setBoolean("isOn", isOn); } @@ -644,7 +650,7 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMiningLaser(player.inventory, this); } @@ -675,12 +681,13 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 12; - if(type == UpgradeType.POWER) return 12; - if(type == UpgradeType.EFFECT) return 12; - if(type == UpgradeType.FORTUNE) return 3; - if(type == UpgradeType.OVERDRIVE) return 9; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 12); + upgrades.put(UpgradeType.POWER, 12); + upgrades.put(UpgradeType.EFFECT, 12); + upgrades.put(UpgradeType.FORTUNE, 3); + upgrades.put(UpgradeType.OVERDRIVE, 9); + return upgrades; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMissileAssembly.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMissileAssembly.java index 4ffd642d6..c4c0d2699 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMissileAssembly.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMissileAssembly.java @@ -8,13 +8,12 @@ import com.hbm.items.weapon.ItemCustomMissilePart; import com.hbm.items.weapon.ItemCustomMissilePart.FuelType; import com.hbm.items.weapon.ItemCustomMissilePart.PartType; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.TEMissileMultipartPacket; +import com.hbm.packet.toclient.TEMissileMultipartPacket; import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; @@ -80,6 +79,7 @@ public class TileEntityMachineMissileAssembly extends TileEntity implements ISid public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -143,6 +143,8 @@ public class TileEntityMachineMissileAssembly extends TileEntity implements ISid slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override @@ -160,6 +162,10 @@ public class TileEntityMachineMissileAssembly extends TileEntity implements ISid } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } @Override @@ -317,7 +323,7 @@ public class TileEntityMachineMissileAssembly extends TileEntity implements ISid @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineMissileAssembly(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java index e9751c820..ad0c284e9 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java @@ -1,10 +1,11 @@ package com.hbm.tileentity.machine; +import java.util.HashMap; import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.interfaces.IControlReceiver; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerMixer; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -13,20 +14,16 @@ import com.hbm.inventory.recipes.MixerRecipes; import com.hbm.inventory.recipes.MixerRecipes.MixerRecipe; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; -import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.INBTPacketReceiver; -import com.hbm.tileentity.IUpgradeInfoProvider; -import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.*; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -35,22 +32,24 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -public class TileEntityMachineMixer extends TileEntityMachineBase implements INBTPacketReceiver, IControlReceiver, IGUIProvider, IEnergyReceiverMK2, IFluidStandardTransceiver, IUpgradeInfoProvider { - +public class TileEntityMachineMixer extends TileEntityMachineBase implements IControlReceiver, IGUIProvider, IEnergyReceiverMK2, IFluidStandardTransceiver, IUpgradeInfoProvider, IFluidCopiable { + public long power; public static final long maxPower = 10_000; public int progress; public int processTime; public int recipeIndex; - + public float rotation; public float prevRotation; public boolean wasOn = false; private int consumption = 50; - + public FluidTank[] tanks; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public TileEntityMachineMixer() { super(5); this.tanks = new FluidTank[3]; @@ -66,53 +65,53 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); tanks[2].setType(2, slots); - - UpgradeManager.eval(slots, 3, 4); - int speedLevel = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); - int powerLevel = Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3); - int overLevel = UpgradeManager.getLevel(UpgradeType.OVERDRIVE); - + + upgradeManager.checkSlots(this, slots, 3, 4); + int speedLevel = upgradeManager.getLevel(UpgradeType.SPEED); + int powerLevel = upgradeManager.getLevel(UpgradeType.POWER); + int overLevel = upgradeManager.getLevel(UpgradeType.OVERDRIVE); + this.consumption = 50; this.consumption += speedLevel * 150; this.consumption -= this.consumption * powerLevel * 0.25; this.consumption *= (overLevel * 3 + 1); - + for(DirPos pos : getConPos()) { this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); if(tanks[0].getTankType() != Fluids.NONE) this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); if(tanks[1].getTankType() != Fluids.NONE) this.trySubscribe(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - + this.wasOn = this.canProcess(); - + if(this.wasOn) { this.progress++; this.power -= this.getConsumption(); - + this.processTime -= this.processTime * speedLevel / 4; this.processTime /= (overLevel + 1); - + if(processTime <= 0) this.processTime = 1; - + if(this.progress >= this.processTime) { this.process(); this.progress = 0; } - + } else { this.progress = 0; } - + for(DirPos pos : getConPos()) { if(tanks[2].getFill() > 0) this.sendFluid(tanks[2], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - + NBTTagCompound data = new NBTTagCompound(); data.setLong("power", power); data.setInteger("processTime", processTime); @@ -123,22 +122,22 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB tanks[i].writeToNBT(data, i + ""); } this.networkPackNT(50); - + } else { - + this.prevRotation = this.rotation; - + if(this.wasOn) { this.rotation += 20F; } - + if(this.rotation >= 360) { this.rotation -= 360; this.prevRotation -= 360; } } } - + @Override public void serialize(ByteBuf buf) { super.serialize(buf); @@ -147,10 +146,10 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB buf.writeInt(progress); buf.writeInt(recipeIndex); buf.writeBoolean(wasOn); - + for(int i = 0; i < tanks.length; i++) tanks[i].serialize(buf); } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); @@ -159,24 +158,10 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB progress = buf.readInt(); recipeIndex = buf.readInt(); wasOn = buf.readBoolean(); - + for(int i = 0; i < tanks.length; i++) tanks[i].deserialize(buf); } - @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.power = nbt.getLong("power"); - this.processTime = nbt.getInteger("processTime"); - this.progress = nbt.getInteger("progress"); - this.recipeIndex = nbt.getInteger("recipe"); - this.wasOn = nbt.getBoolean("wasOn"); - for(int i = 0; i < 3; i++) { - tanks[i].readFromNBT(nbt, i + ""); - } - } - public boolean canProcess() { MixerRecipe[] recipes = MixerRecipes.getOutput(tanks[2].getTankType()); @@ -184,38 +169,38 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB this.recipeIndex = 0; return false; } - + this.recipeIndex = this.recipeIndex % recipes.length; MixerRecipe recipe = recipes[this.recipeIndex]; if(recipe == null) { this.recipeIndex = 0; return false; } - + tanks[0].setTankType(recipe.input1 != null ? recipe.input1.type : Fluids.NONE); tanks[1].setTankType(recipe.input2 != null ? recipe.input2.type : Fluids.NONE); if(recipe.input1 != null && tanks[0].getFill() < recipe.input1.fill) return false; if(recipe.input2 != null && tanks[1].getFill() < recipe.input2.fill) return false; - + /* simplest check would usually go first, but fluid checks also do the setup and we want that to happen even without power */ if(this.power < getConsumption()) return false; - + if(recipe.output + tanks[2].getFill() > tanks[2].getMaxFill()) return false; - + if(recipe.solidInput != null) { - + if(slots[1] == null) return false; - - if(!recipe.solidInput.matchesRecipe(slots[1], true) || recipe.solidInput.stacksize > slots[1].stackSize) return false; + + if(!recipe.solidInput.matchesRecipe(slots[1], true) || recipe.solidInput.stacksize > slots[1].stackSize) return false; } - + this.processTime = recipe.processTime; return true; } - + protected void process() { - + MixerRecipe[] recipes = MixerRecipes.getOutput(tanks[2].getTankType()); MixerRecipe recipe = recipes[this.recipeIndex % recipes.length]; @@ -224,11 +209,11 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB if(recipe.solidInput != null) this.decrStackSize(1, recipe.solidInput.stacksize); tanks[2].setFill(tanks[2].getFill() + recipe.output); } - + public int getConsumption() { return consumption; } - + protected DirPos[] getConPos() { return new DirPos[] { new DirPos(xCoord, yCoord - 1, zCoord, Library.NEG_Y), @@ -238,7 +223,7 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB new DirPos(xCoord, yCoord, zCoord - 1, Library.NEG_Z), }; } - + @Override public int[] getAccessibleSlotsFromSide(int meta) { return new int[] { 1 }; @@ -246,16 +231,16 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB @Override public boolean isItemValidForSlot(int i, ItemStack itemStack) { - + MixerRecipe[] recipes = MixerRecipes.getOutput(tanks[2].getTankType()); if(recipes == null || recipes.length <= 0) return false; - + MixerRecipe recipe = recipes[this.recipeIndex % recipes.length]; if(recipe == null || recipe.solidInput == null) return false; - + return recipe.solidInput.matchesRecipe(itemStack, true); } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -266,11 +251,11 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB this.recipeIndex = nbt.getInteger("recipe"); for(int i = 0; i < 3; i++) this.tanks[i].readFromNBT(nbt, i + ""); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setLong("power", power); nbt.setInteger("progress", progress); nbt.setInteger("processTime", processTime); @@ -315,22 +300,22 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMixer(player.inventory, this); } - + AxisAlignedBB aabb; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(aabb != null) return aabb; - + aabb = AxisAlignedBB.getBoundingBox(xCoord, yCoord, zCoord, xCoord + 1, yCoord + 3, zCoord + 1); return aabb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -368,10 +353,17 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - if(type == UpgradeType.POWER) return 3; - if(type == UpgradeType.OVERDRIVE) return 6; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.POWER, 3); + upgrades.put(UpgradeType.OVERDRIVE, 6); + return upgrades; } + + @Override + public FluidTank getTankToPaste() { + return this.tanks[2]; + } + } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineOreSlopper.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineOreSlopper.java index 90e1ec36e..167490875 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineOreSlopper.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineOreSlopper.java @@ -1,9 +1,11 @@ package com.hbm.tileentity.machine; +import java.util.HashMap; import java.util.List; import com.hbm.blocks.ModBlocks; -import com.hbm.inventory.UpgradeManager; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerOreSlopper; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; @@ -18,13 +20,13 @@ import com.hbm.items.special.ItemBedrockOreNew.BedrockOreType; import com.hbm.lib.Library; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IFluidCopiable; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; -import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; @@ -33,7 +35,6 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -46,19 +47,19 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineOreSlopper extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IGUIProvider, IUpgradeInfoProvider { - +public class TileEntityMachineOreSlopper extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IGUIProvider, IUpgradeInfoProvider, IFluidCopiable { + public long power; public static final long maxPower = 100_000; - + public static final int waterUsedBase = 1_000; public int waterUsed = waterUsedBase; public static final long consumptionBase = 200; public long consumption = consumptionBase; - + public float progress; public boolean processing; - + public SlopperAnimation animation = SlopperAnimation.LOWERING; public float slider; public float prevSlider; @@ -69,10 +70,12 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement public float fan; public float prevFan; public int delay; - + public FluidTank[] tanks; public double[] ores = new double[BedrockOreType.values().length]; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public TileEntityMachineOreSlopper() { super(11); tanks = new FluidTank[2]; @@ -84,75 +87,75 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement public String getName() { return "container.machineOreSlopper"; } - + public static enum SlopperAnimation { LOWERING, LIFTING, MOVE_SHREDDER, DUMPING, MOVE_BUCKET } @Override public void updateEntity() { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); - + if(!worldObj.isRemote) { - + this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); - + tanks[0].setType(1, slots); FluidType conversion = this.getFluidOutput(tanks[0].getTankType()); if(conversion != null) tanks[1].setTankType(conversion); - + for(DirPos pos : getConPos()) { this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); if(tanks[1].getFill() > 0) this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - + this.processing = false; - - UpgradeManager.eval(slots, 9, 10); - int speed = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); - int efficiency = Math.min(UpgradeManager.getLevel(UpgradeType.EFFECT), 3); - + + upgradeManager.checkSlots(this, slots, 9, 10); + int speed = upgradeManager.getLevel(UpgradeType.SPEED); + int efficiency = upgradeManager.getLevel(UpgradeType.EFFECT); + this.consumption = this.consumptionBase + (this.consumptionBase * speed) / 2 + (this.consumptionBase * efficiency); - + if(canSlop()) { this.power -= this.consumption; this.progress += 1F / (600 - speed * 150); this.processing = true; boolean markDirty = false; - + while(progress >= 1F && canSlop()) { progress -= 1F; - + for(BedrockOreType type : BedrockOreType.values()) { ores[type.ordinal()] += (ItemBedrockOreBase.getOreAmount(slots[2], type) * (1D + efficiency * 0.1)); } - + this.decrStackSize(2, 1); this.tanks[0].setFill(this.tanks[0].getFill() - waterUsed); this.tanks[1].setFill(this.tanks[1].getFill() + waterUsed); markDirty = true; } - + if(markDirty) this.markDirty(); - + List entities = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(xCoord - 0.5, yCoord + 1, zCoord - 0.5, xCoord + 1.5, yCoord + 3, zCoord + 1.5).offset(dir.offsetX, 0, dir.offsetZ)); - + for(Entity e : entities) { e.attackEntityFrom(ModDamageSource.turbofan, 1000F); - + if(!e.isEntityAlive() && e instanceof EntityLivingBase) { NBTTagCompound vdat = new NBTTagCompound(); vdat.setString("type", "giblets"); vdat.setInteger("ent", e.getEntityId()); vdat.setInteger("cDiv", 5); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(vdat, e.posX, e.posY + e.height * 0.5, e.posZ), new TargetPoint(e.dimension, e.posX, e.posY + e.height * 0.5, e.posZ, 150)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(vdat, e.posX, e.posY + e.height * 0.5, e.posZ), new TargetPoint(e.dimension, e.posX, e.posY + e.height * 0.5, e.posZ, 150)); + worldObj.playSoundEffect(e.posX, e.posY, e.posZ, "mob.zombie.woodbreak", 2.0F, 0.95F + worldObj.rand.nextFloat() * 0.2F); } } - + } else { this.progress = 0; } @@ -169,31 +172,31 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement break outer; } } - + this.networkPackNT(150); - + } else { - + this.prevSlider = this.slider; this.prevBucket = this.bucket; this.prevBlades = this.blades; this.prevFan = this.fan; - + if(this.processing) { - + this.blades += 15F; this.fan += 35F; - + if(blades >= 360) { blades -= 360; prevBlades -= 360; } - + if(fan >= 360) { fan -= 360; prevFan -= 360; } - + if(animation == animation.DUMPING && MainRegistry.proxy.me().getDistance(xCoord + 0.5, yCoord + 4, zCoord + 0.5) <= 50) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "vanillaExt"); @@ -205,12 +208,12 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement data.setDouble("mY", -0.2D); MainRegistry.proxy.effectNT(data); } - + if(delay > 0) { delay--; return; } - + switch(animation) { case LOWERING: this.bucket += 1F/40F; @@ -250,11 +253,11 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement } } } - + public DirPos[] getConPos() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + return new DirPos[] { new DirPos(xCoord + dir.offsetX * 4, yCoord, zCoord + dir.offsetZ * 4, dir), new DirPos(xCoord - dir.offsetX * 4, yCoord, zCoord - dir.offsetZ * 4, dir.getOpposite()), @@ -278,7 +281,7 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement } private static final int[] slot_access = new int[] {2, 3, 4, 5, 6, 7, 8}; - + @Override public int[] getAccessibleSlotsFromSide(int side) { return slot_access; @@ -293,7 +296,7 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement tanks[0].serialize(buf); tanks[1].serialize(buf); } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); this.power = buf.readLong(); @@ -303,7 +306,7 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement tanks[0].deserialize(buf); tanks[1].deserialize(buf); } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -312,7 +315,7 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement tanks[0].readFromNBT(nbt, "water"); tanks[1].readFromNBT(nbt, "slop"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -321,16 +324,16 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement tanks[0].writeToNBT(nbt, "water"); tanks[1].writeToNBT(nbt, "slop"); } - + public boolean canSlop() { if(this.getFluidOutput(tanks[0].getTankType()) == null) return false; if(tanks[0].getFill() < waterUsed) return false; if(tanks[1].getFill() + waterUsed > tanks[1].getMaxFill()) return false; if(power < consumption) return false; - + return slots[2] != null && slots[2].getItem() == ModItems.bedrock_ore_base; } - + public FluidType getFluidOutput(FluidType input) { if(input == Fluids.WATER) return Fluids.SLOP; return null; @@ -343,12 +346,12 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement @Override public FluidTank[] getAllTanks() { return tanks; } @Override public FluidTank[] getSendingTanks() { return new FluidTank[] {tanks[1]}; } @Override public FluidTank[] getReceivingTanks() { return new FluidTank[] {tanks[0]}; } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 3, @@ -359,10 +362,10 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement zCoord + 4 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -376,7 +379,7 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIOreSlopper(player.inventory, this); } @@ -399,9 +402,10 @@ public class TileEntityMachineOreSlopper extends TileEntityMachineBase implement } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - if(type == UpgradeType.EFFECT) return 3; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.EFFECT, 3); + return upgrades; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java index 8224d6f41..d8ed532d3 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java @@ -12,6 +12,7 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUIPlasmaHeater; import com.hbm.lib.Library; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; @@ -19,7 +20,7 @@ import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; @@ -28,7 +29,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider { +public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider, IFluidCopiable { public long power; public static final long maxPower = 100000000; @@ -122,13 +123,7 @@ public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase impleme /// END Loading plasma into the ITER /// /// START Notif packets /// - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", power); - tanks[0].writeToNBT(data, "t0"); - tanks[1].writeToNBT(data, "t1"); - plasma.writeToNBT(data, "t2"); - this.networkPack(data, 50); + this.networkPackNT(50); /// END Notif packets /// } } @@ -148,14 +143,23 @@ public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase impleme } } } - - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.power = nbt.getLong("power"); - tanks[0].readFromNBT(nbt, "t0"); - tanks[1].readFromNBT(nbt, "t1"); - plasma.readFromNBT(nbt, "t2"); + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(power); + tanks[0].serialize(buf); + tanks[1].serialize(buf); + plasma.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + tanks[0].deserialize(buf); + tanks[1].deserialize(buf); + plasma.deserialize(buf); } private void updateType() { @@ -257,7 +261,7 @@ public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase impleme @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIPlasmaHeater(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java index 58a31e5bd..a0d1e5b8a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java @@ -8,9 +8,10 @@ import com.hbm.items.machine.ItemStamp; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.BufferUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -35,9 +36,9 @@ public class TileEntityMachinePress extends TileEntityMachineBase implements IGU public final static int maxPress = 200; // max tick count per operation assuming speed is 1 boolean isRetracting = false; // direction the press is currently going private int delay; // delay between direction changes to look a bit more appealing - + public ItemStack syncStack; - + public TileEntityMachinePress() { super(4); } @@ -46,26 +47,31 @@ public class TileEntityMachinePress extends TileEntityMachineBase implements IGU public String getName() { return "container.press"; } - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + + // Triggers the legacy monoblock fix + if (worldObj.getBlockMetadata(xCoord, yCoord, zCoord) < 12) { + worldObj.scheduleBlockUpdate(xCoord, yCoord, zCoord, worldObj.getBlock(xCoord, yCoord, zCoord), 1); + } + boolean preheated = false; - + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { if(worldObj.getBlock(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ) == ModBlocks.press_preheater) { preheated = true; break; } } - + boolean canProcess = this.canProcess(); - + if((canProcess || this.isRetracting) && this.burnTime >= 200) { this.speed += preheated ? 4 : 1; - + if(this.speed > this.maxSpeed) { this.speed = this.maxSpeed; } @@ -75,21 +81,21 @@ public class TileEntityMachinePress extends TileEntityMachineBase implements IGU this.speed = 0; } } - + if(delay <= 0) { - + int stampSpeed = speed * progressAtMax / maxSpeed; - + if(this.isRetracting) { this.press -= stampSpeed; - + if(this.press <= 0) { this.isRetracting = false; this.delay = 5; } } else if(canProcess) { this.press += stampSpeed; - + if(this.press >= this.maxPress) { this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.pressOperate", getVolume(1.5F), 1.0F); ItemStack output = PressRecipes.getOutput(slots[2], slots[1]); @@ -99,20 +105,20 @@ public class TileEntityMachinePress extends TileEntityMachineBase implements IGU slots[3].stackSize += output.stackSize; } this.decrStackSize(2, 1); - + if(slots[1].getMaxDamage() != 0) { slots[1].setItemDamage(slots[1].getItemDamage() + 1); if(slots[1].getItemDamage() >= slots[1].getMaxDamage()) { slots[1] = null; } } - + this.isRetracting = true; this.delay = 5; if(this.burnTime >= 200) { this.burnTime -= 200; // only subtract fuel if operation was actually successful } - + this.markDirty(); } } else if(this.press > 0){ @@ -121,10 +127,10 @@ public class TileEntityMachinePress extends TileEntityMachineBase implements IGU } else { delay--; } - + if(slots[0] != null && burnTime < 200 && TileEntityFurnace.getItemBurnTime(slots[0]) > 0) { // less than one operation stored? burn more fuel! burnTime += TileEntityFurnace.getItemBurnTime(slots[0]); - + if(slots[0].stackSize == 1 && slots[0].getItem().hasContainerItem(slots[0])) { slots[0] = slots[0].getItem().getContainerItem(slots[0]).copy(); } else { @@ -132,24 +138,14 @@ public class TileEntityMachinePress extends TileEntityMachineBase implements IGU } this.markChanged(); } - - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("speed", speed); - data.setInteger("burnTime", burnTime); - data.setInteger("press", press); - if(slots[2] != null) { - NBTTagCompound stack = new NBTTagCompound(); - slots[2].writeToNBT(stack); - data.setTag("stack", stack); - } - - this.networkPack(data, 50); - + + this.networkPackNT(50); + } else { - + // approach-based interpolation, GO! this.lastPress = this.renderPress; - + if(this.turnProgress > 0) { this.renderPress = this.renderPress + ((this.syncPress - this.renderPress) / (double) this.turnProgress); --this.turnProgress; @@ -158,33 +154,35 @@ public class TileEntityMachinePress extends TileEntityMachineBase implements IGU } } } - + @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.speed = nbt.getInteger("speed"); - this.burnTime = nbt.getInteger("burnTime"); - this.syncPress = nbt.getInteger("press"); - - if(nbt.hasKey("stack")) { - NBTTagCompound stack = nbt.getCompoundTag("stack"); - this.syncStack = ItemStack.loadItemStackFromNBT(stack); - } else { - this.syncStack = null; - } - + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeInt(this.speed); + buf.writeInt(this.burnTime); + buf.writeInt(this.press); + BufferUtil.writeItemStack(buf, slots[2]); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.speed = buf.readInt(); + this.burnTime = buf.readInt(); + this.syncPress = buf.readInt(); + this.syncStack = BufferUtil.readItemStack(buf); + this.turnProgress = 2; } - + public boolean canProcess() { if(burnTime < 200) return false; if(slots[1] == null || slots[2] == null) return false; - + ItemStack output = PressRecipes.getOutput(slots[2], slots[1]); - + if(output == null) return false; - + if(slots[3] == null) return true; if(slots[3].stackSize + output.stackSize <= slots[3].getMaxStackSize() && slots[3].getItem() == output.getItem() && slots[3].getItemDamage() == output.getItemDamage()) return true; return false; @@ -192,16 +190,16 @@ public class TileEntityMachinePress extends TileEntityMachineBase implements IGU @Override public boolean isItemValidForSlot(int i, ItemStack stack) { - + if(stack.getItem() instanceof ItemStamp) return i == 1; - + if(TileEntityFurnace.getItemBurnTime(stack) > 0 && i == 0) return true; - + return i == 2; } - + @Override public int[] getAccessibleSlotsFromSide(int side) { return new int[] { 0, 1, 2, 3 }; @@ -216,7 +214,7 @@ public class TileEntityMachinePress extends TileEntityMachineBase implements IGU public boolean canExtractItem(int i, ItemStack itemStack, int j) { return i == 3; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -234,19 +232,19 @@ public class TileEntityMachinePress extends TileEntityMachineBase implements IGU nbt.setInteger("speed", speed); nbt.setBoolean("ret", isRetracting); } - + AxisAlignedBB aabb; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(aabb != null) return aabb; - + aabb = AxisAlignedBB.getBoundingBox(xCoord, yCoord, zCoord, xCoord + 1, yCoord + 3, zCoord + 1); return aabb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -260,7 +258,7 @@ public class TileEntityMachinePress extends TileEntityMachineBase implements IGU @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachinePress(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePumpBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePumpBase.java index 653064658..46131c44b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePumpBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePumpBase.java @@ -9,23 +9,21 @@ import com.hbm.blocks.ModBlocks; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; -import com.hbm.tileentity.IConfigurableMachine; -import com.hbm.tileentity.INBTPacketReceiver; -import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.tileentity.*; import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; import net.minecraft.init.Blocks; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; -public abstract class TileEntityMachinePumpBase extends TileEntityLoadedBase implements IFluidStandardTransceiver, INBTPacketReceiver, IConfigurableMachine { +public abstract class TileEntityMachinePumpBase extends TileEntityLoadedBase implements IFluidStandardTransceiver, IBufPacketReceiver, IConfigurableMachine, IFluidCopiable { public static final HashSet validBlocks = new HashSet(); - + static { validBlocks.add(Blocks.grass); validBlocks.add(Blocks.dirt); @@ -37,7 +35,7 @@ public abstract class TileEntityMachinePumpBase extends TileEntityLoadedBase imp validBlocks.add(ModBlocks.sand_dirty); validBlocks.add(ModBlocks.sand_dirty_red); } - + public FluidTank water; public boolean isOn = false; @@ -50,7 +48,7 @@ public abstract class TileEntityMachinePumpBase extends TileEntityLoadedBase imp public static int groundDepth = 4; public static int steamSpeed = 1_000; public static int electricSpeed = 10_000; - + @Override public String getConfigName() { return "waterpump"; @@ -71,87 +69,85 @@ public abstract class TileEntityMachinePumpBase extends TileEntityLoadedBase imp writer.name("I:steamSpeed").value(steamSpeed); writer.name("I:electricSpeed").value(electricSpeed); } - + public void updateEntity() { - + if(!worldObj.isRemote) { - + for(DirPos pos : getConPos()) { if(water.getFill() > 0) this.sendFluid(water, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - + if(groundCheckDelay > 0) { groundCheckDelay--; } else { onGround = this.checkGround(); } - + this.isOn = false; if(this.canOperate() && yCoord <= groundHeight && onGround) { this.isOn = true; this.operate(); } - - NBTTagCompound data = this.getSync(); - INBTPacketReceiver.networkPack(this, data, 150); - + + networkPackNT(150); + } else { - + this.lastRotor = this.rotor; if(this.isOn) this.rotor += 10F; - + if(this.rotor >= 360F) { this.rotor -= 360F; this.lastRotor -= 360F; - + MainRegistry.proxy.playSoundClient(xCoord, yCoord, zCoord, "hbm:block.steamEngineOperate", 0.5F, 0.75F); MainRegistry.proxy.playSoundClient(xCoord, yCoord, zCoord, "game.neutral.swim.splash", 1F, 0.5F); } } } - + protected boolean checkGround() { - + if(worldObj.provider.hasNoSky) return false; - + int validBlocks = 0; int invalidBlocks = 0; - + for(int x = -1; x <= 1; x++) { for(int y = -1; y >= -groundDepth; y--) { for(int z = -1; z <= 1; z++) { - + Block b = worldObj.getBlock(xCoord + x, yCoord + y, zCoord + z); - + if(y == -1 && !b.isNormalCube()) return false; // first layer has to be full solid - + if(this.validBlocks.contains(b)) validBlocks++; else invalidBlocks ++; } } } - + return validBlocks >= invalidBlocks; // valid block count has to be at least 50% } - - protected NBTTagCompound getSync() { - NBTTagCompound data = new NBTTagCompound(); - data.setBoolean("isOn", isOn); - data.setBoolean("onGround", onGround); - water.writeToNBT(data, "w"); - return data; - } @Override - public void networkUnpack(NBTTagCompound nbt) { - this.isOn = nbt.getBoolean("isOn"); - this.onGround = nbt.getBoolean("onGround"); - water.readFromNBT(nbt, "w"); + public void serialize(ByteBuf buf) { + buf.writeBoolean(this.isOn); + buf.writeBoolean(this.onGround); + water.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + this.isOn = buf.readBoolean(); + this.onGround = buf.readBoolean(); + water.deserialize(buf); } protected abstract boolean canOperate(); protected abstract void operate(); - + protected DirPos[] getConPos() { return new DirPos[] { new DirPos(xCoord + 2, yCoord, zCoord, Library.POS_X), @@ -175,12 +171,12 @@ public abstract class TileEntityMachinePumpBase extends TileEntityLoadedBase imp public FluidTank[] getReceivingTanks() { return new FluidTank[0]; } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -191,13 +187,18 @@ public abstract class TileEntityMachinePumpBase extends TileEntityLoadedBase imp zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { return 65536.0D; } + + @Override + public FluidTank getTankToPaste() { + return null; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePumpElectric.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePumpElectric.java index 288193818..d0990e5f2 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePumpElectric.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePumpElectric.java @@ -5,7 +5,7 @@ import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.energymk2.IEnergyReceiverMK2; -import net.minecraft.nbt.NBTTagCompound; +import io.netty.buffer.ByteBuf; public class TileEntityMachinePumpElectric extends TileEntityMachinePumpBase implements IEnergyReceiverMK2 { @@ -28,17 +28,17 @@ public class TileEntityMachinePumpElectric extends TileEntityMachinePumpBase imp super.updateEntity(); } - - protected NBTTagCompound getSync() { - NBTTagCompound data = super.getSync(); - data.setLong("power", power); - return data; + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(this.power); } @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - this.power = nbt.getLong("power"); + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePumpSteam.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePumpSteam.java index d935cfbf4..eb37f7d03 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePumpSteam.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePumpSteam.java @@ -4,7 +4,7 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.util.fauxpointtwelve.DirPos; -import net.minecraft.nbt.NBTTagCompound; +import io.netty.buffer.ByteBuf; public class TileEntityMachinePumpSteam extends TileEntityMachinePumpBase { @@ -47,19 +47,19 @@ public class TileEntityMachinePumpSteam extends TileEntityMachinePumpBase { public FluidTank[] getReceivingTanks() { return new FluidTank[] {steam}; } - - protected NBTTagCompound getSync() { - NBTTagCompound data = super.getSync(); - steam.writeToNBT(data, "s"); - lps.writeToNBT(data, "l"); - return data; + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + steam.serialize(buf); + lps.serialize(buf); } @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - steam.readFromNBT(nbt, "s"); - lps.readFromNBT(nbt, "l"); + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + steam.deserialize(buf); + lps.deserialize(buf); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java index 56ab3442f..79223e5c5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java @@ -4,8 +4,6 @@ import com.hbm.config.VersatileConfig; import com.hbm.inventory.container.ContainerMachineRTG; import com.hbm.inventory.gui.GUIMachineRTG; import com.hbm.items.machine.ItemRTGPellet; -import com.hbm.packet.AuxElectricityPacket; -import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.CompatEnergyControl; @@ -13,10 +11,9 @@ import com.hbm.util.RTGUtil; import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.tile.IInfoProviderEC; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; @@ -29,16 +26,16 @@ import net.minecraftforge.common.util.ForgeDirection; public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISidedInventory, IEnergyProviderMK2, IGUIProvider, IInfoProviderEC { private ItemStack slots[]; - + public int heat; public final int heatMax = VersatileConfig.rtgDecay() ? 600 : 200; public long power; public final long powerMax = 100000; - + public static final int[] slot_io = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }; - + private String customName; - + public TileEntityMachineRTG() { slots = new ItemStack[15]; } @@ -83,9 +80,10 @@ public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISided public boolean hasCustomInventoryName() { return this.customName != null && this.customName.length() > 0; } - + public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -102,7 +100,7 @@ public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISided return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64; } } - + //You scrubs aren't needed for anything (right now) @Override public void openInventory() {} @@ -113,7 +111,7 @@ public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISided public boolean isItemValidForSlot(int i, ItemStack itemStack) { return itemStack.getItem() instanceof ItemRTGPellet; } - + @Override public ItemStack decrStackSize(int i, int j) { if(slots[i] != null) @@ -129,13 +127,13 @@ public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISided { slots[i] = null; } - + return itemStack1; } else { return null; } } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -144,7 +142,7 @@ public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISided power = nbt.getLong("power"); heat = nbt.getInteger("heat"); slots = new ItemStack[getSizeInventory()]; - + for(int i = 0; i < list.tagCount(); i++) { NBTTagCompound nbt1 = list.getCompoundTagAt(i); @@ -154,15 +152,17 @@ public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISided slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setLong("power", power); nbt.setInteger("heat", heat); NBTTagList list = new NBTTagList(); - + for(int i = 0; i < slots.length; i++) { if(slots[i] != null) { NBTTagCompound nbt1 = new NBTTagCompound(); @@ -172,8 +172,12 @@ public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISided } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } - + @Override public int[] getAccessibleSlotsFromSide(int p_94128_1_) { return slot_io; @@ -188,19 +192,19 @@ public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISided public boolean canExtractItem(int i, ItemStack itemStack, int j) { return false; } - + public long getPowerScaled(long i) { return (power * i) / powerMax; } - + public int getHeatScaled(int i) { return (heat * i) / heatMax; } - + public boolean hasPower() { return power > 0; } - + public boolean hasHeat() { return RTGUtil.hasHeat(slots, slot_io); } @@ -209,23 +213,35 @@ public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISided public void updateEntity() { if(!worldObj.isRemote) { - + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) this.tryProvide(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); - + heat = RTGUtil.updateRTGs(slots, slot_io); - + if(heat > heatMax) heat = heatMax; - + power += heat * 5; if(power > powerMax) power = powerMax; - - PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + + networkPackNT(50); } } + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(power); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + power = buf.readLong(); + } + @Override public long getPower() { return power; @@ -248,7 +264,7 @@ public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISided @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineRTG(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadGen.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadGen.java index 825937515..3c80edfc5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadGen.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadGen.java @@ -11,6 +11,7 @@ import com.hbm.items.special.ItemWasteLong; import com.hbm.items.special.ItemWasteShort; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.BufferUtil; import com.hbm.util.CompatEnergyControl; import com.hbm.util.Tuple.Triplet; @@ -18,7 +19,7 @@ import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.inventory.Container; @@ -111,26 +112,29 @@ public class TileEntityMachineRadGen extends TileEntityMachineBase implements IE if(this.power > maxPower) this.power = maxPower; - - NBTTagCompound data = new NBTTagCompound(); - data.setIntArray("progress", this.progress); - data.setIntArray("maxProgress", this.maxProgress); - data.setIntArray("production", this.production); - data.setLong("power", this.power); - data.setBoolean("isOn", this.isOn); - this.networkPack(data, 50); + + this.networkPackNT(50); } } - + @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.progress = nbt.getIntArray("progress"); - this.maxProgress = nbt.getIntArray("maxProgress"); - this.production = nbt.getIntArray("production"); - this.power = nbt.getLong("power"); - this.isOn = nbt.getBoolean("isOn"); + public void serialize(ByteBuf buf) { + super.serialize(buf); + BufferUtil.writeIntArray(buf, this.progress); + BufferUtil.writeIntArray(buf, this.maxProgress); + BufferUtil.writeIntArray(buf, this.production); + buf.writeLong(this.power); + buf.writeBoolean(this.isOn); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.progress = BufferUtil.readIntArray(buf); + this.maxProgress = BufferUtil.readIntArray(buf); + this.production = BufferUtil.readIntArray(buf); + this.power = buf.readLong(); + this.isOn = buf.readBoolean(); } @Override @@ -293,7 +297,7 @@ public class TileEntityMachineRadGen extends TileEntityMachineBase implements IE @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineRadGen(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java index 0eb956fe3..9e3c6e6fc 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java @@ -18,12 +18,11 @@ import com.hbm.items.ModItems; import com.hbm.items.tool.ItemCoordinateBase; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; -import com.hbm.packet.BufPacket; -import com.hbm.packet.PacketDispatcher; import com.hbm.saveddata.SatelliteSavedData; import com.hbm.saveddata.satellites.Satellite; import com.hbm.saveddata.satellites.SatelliteHorizons; import com.hbm.saveddata.satellites.SatelliteLaser; +import com.hbm.saveddata.satellites.SatelliteResonator; import com.hbm.tileentity.IConfigurableMachine; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IRadarCommandReceiver; @@ -39,7 +38,6 @@ import api.hbm.entity.IRadarDetectableNT; import api.hbm.entity.IRadarDetectableNT.RadarScanParams; import api.hbm.entity.RadarEntry; import cpw.mods.fml.common.Optional; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -48,7 +46,6 @@ import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -75,14 +72,14 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I public boolean smartMode = true; public boolean redMode = true; public boolean showMap = false; - + public boolean jammed = false; public float prevRotation; public float rotation; public long power = 0; - + protected int pingTimer = 0; protected int lastPower; protected final static int maxTimer = 80; @@ -94,10 +91,10 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I public static int radarAltitude = 55; public static int chunkLoadCap = 10; public static boolean generateChunks = false; - + public byte[] map = new byte[40_000]; public boolean clearFlag = false; - + public List entries = new ArrayList(); @Override @@ -134,18 +131,18 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I public String getName() { return "container.radar"; } - + public int getRange() { return radarRange; } @Override public void updateEntity() { - + if(this.map == null || this.map.length != 40_000) this.map = new byte[40_000]; - + if(!worldObj.isRemote) { - + this.power = Library.chargeTEFromItems(slots, 9, power, maxPower); if(worldObj.getTotalWorldTime() % 20 == 0) { @@ -153,37 +150,37 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); this.jammed = false; allocateTargets(); - + if(this.lastPower != getRedPower()) { this.markChanged(); for(DirPos pos : getConPos()) this.updateRedstoneConnection(pos); } lastPower = getRedPower(); - + if(!this.muffled) { - + pingTimer++; - + if(power > 0 && pingTimer >= maxTimer) { this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.sonarPing", 5.0F, 1.0F); pingTimer = 0; } } - + if(this.showMap) { int chunkLoads = 0; for(int i = 0; i < 100; i++) { int index = (int) (worldObj.getTotalWorldTime() % 400) * 100 + i; int iX = (index % 200) * getRange() * 2 / 200; int iZ = index / 200 * getRange() * 2 / 200; - + int x = xCoord - getRange() + iX; int z = zCoord - getRange() + iZ; - + if(worldObj.getChunkProvider().chunkExists(x >> 4, z >> 4)) { this.map[index] = (byte) MathHelper.clamp_int(worldObj.getHeightValue(x, z), 50, 128); } else { @@ -201,7 +198,7 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I } } } - + if(slots[8] != null && slots[8].getItem() == ModItems.radar_linker) { BlockPos pos = ItemCoordinateBase.getPosition(slots[8]); if(pos != null) { @@ -215,11 +212,11 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I screen.refZ = zCoord; screen.range = this.getRange(); screen.linked = true; - PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, pos.getX(), pos.getY(), pos.getZ(), 25)); + screen.networkPackNT(25); } } } - + this.networkPackNT(50); if(this.clearFlag) { this.map = new byte[40_000]; @@ -228,14 +225,14 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I } else { prevRotation = rotation; if(power > 0) rotation += 5F; - + if(rotation >= 360) { rotation -= 360F; prevRotation -= 360F; } } } - + public DirPos[] getConPos() { return new DirPos[] { new DirPos(xCoord + 1, yCoord, zCoord, Library.POS_X), @@ -244,7 +241,7 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I new DirPos(xCoord, yCoord, zCoord - 1, Library.NEG_Z), }; } - + @Override public void serialize(ByteBuf buf) { super.serialize(buf); @@ -274,7 +271,7 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I } } } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); @@ -330,30 +327,33 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I nbt.setBoolean("showMap", showMap); nbt.setByteArray("map", map); } - + protected void allocateTargets() { this.entries.clear(); - + if(this.yCoord < radarAltitude) return; - if(this.power < consumption) return; + if(this.power < consumption) { + this.power = 0; + return; + } this.power -= consumption; - + int scan = this.getRange(); - + RadarScanParams params = new RadarScanParams(this.scanMissiles, this.scanShells, this.scanPlayers, this.smartMode); - + for(Entity e : matchingEntities) { - + if(e.dimension == worldObj.provider.dimensionId && Math.abs(e.posX - (xCoord + 0.5)) <= scan && Math.abs(e.posZ - (zCoord + 0.5)) <= scan && e.posY - yCoord > radarBuffer) { - + if(e instanceof EntityLivingBase && HbmLivingProps.getDigamma((EntityLivingBase) e) > 0.001) { this.jammed = true; entries.clear(); return; } - + for(Function, RadarEntry> converter : converters) { - + RadarEntry entry = converter.apply(new Triplet(e, this, params)); if(entry != null) { this.entries.add(entry); @@ -363,33 +363,33 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I } } } - + public int getRedPower() { - + if(!entries.isEmpty()) { - + /// PROXIMITY /// if(redMode) { - + double maxRange = this.getRange() * Math.sqrt(2D); int power = 0; - + for(int i = 0; i < entries.size(); i++) { RadarEntry e = entries.get(i); if(!e.redstone) continue; double dist = Math.sqrt(Math.pow(e.posX - xCoord, 2) + Math.pow(e.posZ - zCoord, 2)); int p = 15 - (int)Math.floor(dist / maxRange * 15); - + if(p > power) power = p; } - + return power; - + /// TIER /// } else { - + int power = 0; - + for(int i = 0; i < entries.size(); i++) { RadarEntry e = entries.get(i); if(!e.redstone) continue; @@ -397,11 +397,11 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I power = e.blipLevel + 1; } } - + return power; } } - + return 0; } @@ -426,10 +426,10 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I } @Override public void receiveControl(NBTTagCompound data) { } - + @Override public void receiveControl(EntityPlayer player, NBTTagCompound data) { - + if(data.hasKey("missiles")) this.scanMissiles = !this.scanMissiles; if(data.hasKey("shells")) this.scanShells = !this.scanShells; if(data.hasKey("players")) this.scanPlayers = !this.scanPlayers; @@ -439,11 +439,11 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I if(data.hasKey("clear")) this.clearFlag = true; if(data.hasKey("gui1")) FMLNetworkHandler.openGui(player, MainRegistry.instance, 1, worldObj, xCoord, yCoord, zCoord); - + if(data.hasKey("link")) { int id = data.getInteger("link"); ItemStack link = slots[id]; - + if(link != null && link.getItem() == ModItems.sat_relay) { World world = player.getEntityWorld(); Satellite sat = SatelliteSavedData.getData(world).getSatFromFreq(ISatChip.getFreqS(link)); @@ -464,15 +464,24 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I sat.onCoordAction(world, player, x, y, z); } } + if(sat instanceof SatelliteResonator) { + if(data.hasKey("launchPosX")) { + int x = data.getInteger("launchPosX"); + int z = data.getInteger("launchPosZ"); + int y = world.getTopSolidOrLiquidBlock(x, z); //the top fucking block because I will never make radars transmit Y coordinates as well! + worldObj.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); + sat.onCoordAction(world, player, x, y, z); + } + } } if(link != null && link.getItem() == ModItems.radar_linker) { BlockPos pos = ItemCoordinateBase.getPosition(link); - + if(pos != null) { TileEntity tile = worldObj.getTileEntity(pos.getX(), pos.getY(), pos.getZ()); if(tile instanceof IRadarCommandReceiver) { IRadarCommandReceiver rec = (IRadarCommandReceiver) tile; - + if(data.hasKey("launchEntity")) { Entity entity = worldObj.getEntityByID(data.getInteger("launchEntity")); if(entity != null) { @@ -492,12 +501,12 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I } } } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -508,10 +517,10 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -535,25 +544,25 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { if(ID == 0) return new GUIMachineRadarNT(this); if(ID == 1) return new GUIMachineRadarNTSlots(player.inventory, this); return null; } - + /** List of lambdas that are supplied a Pair with the entity and radar in question to generate a RadarEntry The converters coming first have the highest priority */ public static List, RadarEntry>> converters = new ArrayList(); public static List classes = new ArrayList(); public static List matchingEntities = new ArrayList(); - + /** * Iterates over every entity in the world and add them to the matchingEntities list if the class is in the detectable list * From this compiled list, radars can easily grab the required entities since we can assume that the total amount of detectable entities is comparatively low */ public static void updateSystem() { matchingEntities.clear(); - + for(WorldServer world : MinecraftServer.getServer().worldServers) { for(Object entity : world.loadedEntityList) { for(Class clazz : classes) { @@ -572,7 +581,7 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I classes.add(IRadarDetectable.class); classes.add(EntityPlayer.class); } - + /** Registers converters. Converters are used to go over the list of detected entities and turn them into a RadarEntry using the entity instance and the radar's instance. */ public static void registerConverters() { //IRadarDetectableNT @@ -685,6 +694,12 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I return new Object[]{false, e.posX, e.posY, e.posZ, type}; } + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] getPos(Context context, Arguments args) { + return new Object[] {xCoord, yCoord, zCoord}; + } + @Override @Optional.Method(modid = "OpenComputers") public String[] methods() { @@ -697,7 +712,8 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I "getAmount", "isIndexPlayer", "getIndexType", - "getEntityAtIndex" + "getEntityAtIndex", + "getPos" }; } @@ -723,6 +739,8 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I return getIndexType(context, args); case ("getEntityAtIndex"): return getEntityAtIndex(context, args); + case("getPos"): + return getPos(context, args); } throw new NoSuchMethodException(); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarScreen.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarScreen.java index ba08f0d82..9b55ca183 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarScreen.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarScreen.java @@ -3,20 +3,17 @@ package com.hbm.tileentity.machine; import java.util.ArrayList; import java.util.List; -import com.hbm.packet.BufPacket; -import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IBufPacketReceiver; import api.hbm.entity.RadarEntry; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import com.hbm.tileentity.TileEntityLoadedBase; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -public class TileEntityMachineRadarScreen extends TileEntity implements IBufPacketReceiver { - +public class TileEntityMachineRadarScreen extends TileEntityLoadedBase implements IBufPacketReceiver { + public List entries = new ArrayList(); public int refX; public int refY; @@ -26,18 +23,14 @@ public class TileEntityMachineRadarScreen extends TileEntity implements IBufPack @Override public void updateEntity() { - + if(!worldObj.isRemote) { this.networkPackNT(100); entries.clear(); this.linked = false; } } - - public void networkPackNT(int range) { - if(!worldObj.isRemote) PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); - } - + @Override public void serialize(ByteBuf buf) { buf.writeBoolean(linked); @@ -48,7 +41,7 @@ public class TileEntityMachineRadarScreen extends TileEntity implements IBufPack buf.writeInt(entries.size()); for(RadarEntry entry : entries) entry.toBytes(buf); } - + @Override public void deserialize(ByteBuf buf) { linked = buf.readBoolean(); @@ -64,12 +57,12 @@ public class TileEntityMachineRadarScreen extends TileEntity implements IBufPack this.entries.add(entry); } } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -80,10 +73,10 @@ public class TileEntityMachineRadarScreen extends TileEntity implements IBufPack zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java index c468441a0..67c8f316b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java @@ -11,6 +11,7 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.ItemRTGPellet; import com.hbm.items.machine.ItemRTGPelletDepleted; import com.hbm.lib.Library; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.CompatEnergyControl; @@ -23,7 +24,7 @@ import api.hbm.fluid.IFluidStandardTransceiver; import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemFood; @@ -33,17 +34,17 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineRadiolysis extends TileEntityMachineBase implements IEnergyProviderMK2, IFluidStandardTransceiver, IGUIProvider, IInfoProviderEC { - +public class TileEntityMachineRadiolysis extends TileEntityMachineBase implements IEnergyProviderMK2, IFluidStandardTransceiver, IGUIProvider, IInfoProviderEC, IFluidCopiable { + public long power; public static final int maxPower = 1000000; public int heat; public FluidTank[] tanks; - + private static final int[] slot_io = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13 }; private static final int[] slot_rtg = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; - + public TileEntityMachineRadiolysis() { super(15); //10 rtg slots, 2 fluid ID slots (io), 2 irradiation slots (io), battery slot tanks = new FluidTank[3]; @@ -51,12 +52,12 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement tanks[1] = new FluidTank(Fluids.NONE, 2_000); tanks[2] = new FluidTank(Fluids.NONE, 2_000); } - + @Override public String getName() { return "container.radiolysis"; } - + /* IO Methods */ @Override public boolean isItemValidForSlot(int i, ItemStack itemStack) { @@ -67,89 +68,93 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement public int[] getAccessibleSlotsFromSide(int side) { return slot_io; } - + @Override public boolean canExtractItem(int i, ItemStack itemStack, int j) { return (i < 10 && itemStack.getItem() instanceof ItemRTGPelletDepleted) || i == 13; } - + /* NBT Methods */ @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + this.power = nbt.getLong("power"); this.heat = nbt.getInteger("heat"); - + tanks[0].readFromNBT(nbt, "input"); tanks[1].readFromNBT(nbt, "output1"); tanks[2].readFromNBT(nbt, "output2"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setLong("power", power); nbt.setInteger("heat", heat); - + tanks[0].writeToNBT(nbt, "input"); tanks[1].writeToNBT(nbt, "output1"); tanks[2].writeToNBT(nbt, "output2"); } - - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - - this.power = data.getLong("power"); - this.heat = data.getInteger("heat"); - tanks[0].readFromNBT(data, "t0"); - tanks[1].readFromNBT(data, "t1"); - tanks[2].readFromNBT(data, "t2"); - } - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { power = Library.chargeItemsFromTE(slots, 14, power, maxPower); - + heat = RTGUtil.updateRTGs(slots, slot_rtg); power += heat * 10; - + if(power > maxPower) power = maxPower; - + tanks[0].setType(10, 11, slots); setupTanks(); - + if(heat > 100) { int crackTime = (int) Math.max(-0.1 * (heat - 100) + 30, 5); - + if(worldObj.getTotalWorldTime() % crackTime == 0) crack(); - + if(heat >= 200 && worldObj.getTotalWorldTime() % 100 == 0) sterilize(); } - + for(DirPos pos : getConPos()) { this.tryProvide(worldObj, pos.getX(), pos.getY(),pos.getZ(), pos.getDir()); this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(),pos.getZ(), pos.getDir()); if(tanks[1].getFill() > 0) this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(),pos.getZ(), pos.getDir()); if(tanks[2].getFill() > 0) this.sendFluid(tanks[2], worldObj, pos.getX(), pos.getY(),pos.getZ(), pos.getDir()); } - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", power); - data.setInteger("heat", heat); - tanks[0].writeToNBT(data, "t0"); - tanks[1].writeToNBT(data, "t1"); - tanks[2].writeToNBT(data, "t2"); - this.networkPack(data, 50); + + this.networkPackNT(50); } } - + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(this.power); + buf.writeInt(this.heat); + tanks[0].serialize(buf); + tanks[1].serialize(buf); + tanks[2].serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + this.heat = buf.readInt(); + tanks[0].deserialize(buf); + tanks[1].deserialize(buf); + tanks[2].deserialize(buf); + } + protected DirPos[] getConPos() { return new DirPos[] { new DirPos(xCoord + 2, yCoord, zCoord, Library.POS_X), @@ -158,17 +163,17 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement new DirPos(xCoord, yCoord, zCoord - 2, Library.NEG_Z) }; } - + /* Processing Methods */ private void crack() { - + Pair quart = RadiolysisRecipes.getRadiolysis(tanks[0].getTankType()); - + if(quart != null) { - + int left = quart.getKey().fill; int right = quart.getValue().fill; - + if(tanks[0].getFill() >= 100 && hasSpace(left, right)) { tanks[0].setFill(tanks[0].getFill() - 100); tanks[1].setFill(tanks[1].getFill() + left); @@ -176,15 +181,15 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement } } } - + private boolean hasSpace(int left, int right) { return tanks[1].getFill() + left <= tanks[1].getMaxFill() && tanks[2].getFill() + right <= tanks[2].getMaxFill(); } - + private void setupTanks() { - + Pair quart = RadiolysisRecipes.getRadiolysis(tanks[0].getTankType()); - + if(quart != null) { tanks[1].setTankType(quart.getKey().type); tanks[2].setTankType(quart.getValue().type); @@ -193,21 +198,21 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement tanks[1].setTankType(Fluids.NONE); tanks[2].setTankType(Fluids.NONE); } - + } - + // Code: pressure, sword, sterilize. private void sterilize() { if(slots[12] != null) { if(slots[12].getItem() instanceof ItemFood && !(slots[12].getItem() == ModItems.pancake)) { this.decrStackSize(12, 1); } - + if(!checkIfValid()) return; - + ItemStack output = slots[12].copy(); output.stackSize = 1; - + if(slots[13] == null) { this.decrStackSize(12, output.stackSize); slots[13] = output; @@ -227,14 +232,14 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement } } } - + private boolean checkIfValid() { if(slots[12] == null) return false; if(!slots[12].hasTagCompound()) return false; if(!slots[12].getTagCompound().getBoolean("ntmContagion")) return false; return true; } - + /* Power methods */ @Override public void setPower(long power) { @@ -250,7 +255,7 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement public long getMaxPower() { return maxPower; } - + @Override public FluidTank[] getAllTanks() { return tanks; @@ -270,11 +275,11 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement public boolean canConnect(FluidType type, ForgeDirection dir) { return dir != ForgeDirection.UNKNOWN && dir != ForgeDirection.DOWN; } - + public AxisAlignedBB getRenderBoundingBox() { return AxisAlignedBB.getBoundingBox(xCoord - 1, yCoord, zCoord - 1, xCoord + 2, yCoord + 3, zCoord + 2); } - + @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { return 65536.0D; @@ -287,7 +292,7 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIRadiolysis(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java index ceb1bef2c..3776b6701 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java @@ -15,12 +15,12 @@ import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -66,19 +66,23 @@ public class TileEntityMachineReactorBreeding extends TileEntityMachineBase impl } else { progress = 0.0F; } - - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("flux", flux); - data.setFloat("progress", progress); - this.networkPack(data, 20); + + this.networkPackNT(20); } } - - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - - flux = data.getInteger("flux"); - progress = data.getFloat("progress"); + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeInt(flux); + buf.writeFloat(progress); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.flux = buf.readInt(); + this.progress = buf.readFloat(); } public void getInteractions() { @@ -247,7 +251,7 @@ public class TileEntityMachineReactorBreeding extends TileEntityMachineBase impl @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineReactorBreeding(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRotaryFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRotaryFurnace.java new file mode 100644 index 000000000..81f566712 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRotaryFurnace.java @@ -0,0 +1,436 @@ +package com.hbm.tileentity.machine; + +import java.io.IOException; +import java.util.Random; + +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.inventory.RecipesCommon.AStack; +import com.hbm.inventory.container.ContainerMachineRotaryFurnace; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineRotaryFurnace; +import com.hbm.inventory.material.MaterialShapes; +import com.hbm.inventory.material.Mats; +import com.hbm.inventory.material.Mats.MaterialStack; +import com.hbm.inventory.material.NTMMaterial; +import com.hbm.inventory.recipes.RotaryFurnaceRecipes; +import com.hbm.inventory.recipes.RotaryFurnaceRecipes.RotaryFurnaceRecipe; +import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; +import com.hbm.module.ModuleBurnTime; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import com.hbm.tileentity.*; +import com.hbm.util.CrucibleUtil; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; + +import api.hbm.fluid.IFluidStandardTransceiver; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntityFurnace; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityMachineRotaryFurnace extends TileEntityMachinePolluting implements IFluidStandardTransceiver, IGUIProvider, IFluidCopiable, IConditionalInvAccess, IConfigurableMachine { + + public FluidTank[] tanks; + public boolean isProgressing; + public float progress; + public int burnTime; + public double burnHeat = 1D; + public int maxBurnTime; + public int steamUsed = 0; + public boolean isVenting; + public MaterialStack output; + public static final int maxOutput = MaterialShapes.BLOCK.q(16); + + public int anim; + public int lastAnim; + + /**Given this has no heat, the heat mod instead affects the progress per fuel **/ + public static ModuleBurnTime burnModule = new ModuleBurnTime() + .setCokeTimeMod(1.25) + .setRocketTimeMod(1.5) + .setSolidTimeMod(1.5) + .setBalefireTimeMod(1.5) + + .setSolidHeatMod(1.5) + .setRocketHeatMod(3) + .setBalefireHeatMod(10); + + public TileEntityMachineRotaryFurnace() { + super(5, 50); + tanks = new FluidTank[3]; + tanks[0] = new FluidTank(Fluids.NONE, 16_000); + tanks[1] = new FluidTank(Fluids.STEAM, 12_000); + tanks[2] = new FluidTank(Fluids.SPENTSTEAM, 120); + } + + @Override + public String getName() { + return "container.machineRotaryFurnace"; + } + + @Override + public void updateEntity() { + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); + + if(!worldObj.isRemote) { + + tanks[0].setType(3, slots); + + for(DirPos pos : getSteamPos()) { + this.trySubscribe(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + if(tanks[2].getFill() > 0) this.sendFluid(tanks[2], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + if(tanks[0].getTankType() != Fluids.NONE) for(DirPos pos : getFluidPos()) { + this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + + if(smoke.getFill() > 0) this.sendFluid(smoke, worldObj, xCoord + rot.offsetX, yCoord + 5, zCoord + rot.offsetZ, Library.POS_Y); + + if(this.output != null) { + + int prev = this.output.amount; + Vec3 impact = Vec3.createVectorHelper(0, 0, 0); + MaterialStack leftover = CrucibleUtil.pourSingleStack(worldObj, xCoord + 0.5D + rot.offsetX * 2.875D, yCoord + 1.25D, zCoord + 0.5D + rot.offsetZ * 2.875D, 6, true, this.output, MaterialShapes.INGOT.q(1), impact); + this.output = leftover; + + if(prev != this.output.amount) { + this.output = leftover; + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "foundry"); + data.setInteger("color", leftover.material.moltenColor); + data.setByte("dir", (byte) rot.ordinal()); + data.setFloat("off", 0.625F); + data.setFloat("base", 0.625F); + data.setFloat("len", Math.max(1F, yCoord + 1 - (float) (Math.ceil(impact.yCoord) - 1.125))); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, xCoord + 0.5D + rot.offsetX * 2.875D, yCoord + 0.75, zCoord + 0.5D + rot.offsetZ * 2.875D), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord + 1, zCoord + 0.5, 50)); + } + + if(output.amount <= 0) this.output = null; + } + + RotaryFurnaceRecipe recipe = RotaryFurnaceRecipes.getRecipe(slots[0], slots[1], slots[2]); + this.isProgressing = false; + + if(recipe != null) { + + if(this.burnTime <= 0 && slots[4] != null && TileEntityFurnace.isItemFuel(slots[4])) { + this.burnHeat = burnModule.getMod(slots[4], burnModule.getModHeat()); + this.maxBurnTime = this.burnTime = burnModule.getBurnTime(slots[4]) / 2; + this.decrStackSize(4, 1); + this.markChanged(); + } + + if(this.canProcess(recipe)) { + float speed = Math.max((float) burnHeat, 1); + this.progress += speed / recipe.duration; + + speed = (float)(13 * Math.log10(speed) + 1); + tanks[1].setFill((int) (tanks[1].getFill() - recipe.steam * speed)); + steamUsed += recipe.steam * speed; + this.isProgressing = true; + + if(this.progress >= 1F) { + this.progress -= 1F; + this.consumeItems(recipe); + + if(this.output == null) { + this.output = recipe.output.copy(); + } else { + this.output.amount += recipe.output.amount; + } + this.markDirty(); + } + + if(this.burnTime > 0) { + this.pollute(PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND / 10F); + this.burnTime--; + } + + } else { + this.progress = 0; + } + + if(this.steamUsed >= 100) { + int steamReturn = this.steamUsed / 100; + int canReturn = tanks[2].getMaxFill() - tanks[2].getFill(); + int doesReturn = Math.min(steamReturn, canReturn); + this.steamUsed -= doesReturn * 100; + tanks[2].setFill(tanks[2].getFill() + doesReturn); + } + + } else { + this.progress = 0; + } + + this.isVenting = false; + + this.networkPackNT(50); + + } else { + + if(this.burnTime > 0 && MainRegistry.proxy.me().getDistance(xCoord, yCoord, zCoord) < 25) { + Random rand = worldObj.rand; + worldObj.spawnParticle("flame", xCoord + 0.5 + dir.offsetX * 0.5 + rot.offsetX + rand.nextGaussian() * 0.25, yCoord + 0.375, zCoord + 0.5 + dir.offsetZ * 0.5 + rot.offsetZ + rand.nextGaussian() * 0.25, 0, 0, 0); + } + + if(isVenting && worldObj.getTotalWorldTime() % 2 == 0) { + + NBTTagCompound fx = new NBTTagCompound(); + fx.setString("type", "tower"); + fx.setFloat("lift", 10F); + fx.setFloat("base", 0.25F); + fx.setFloat("max", 2.5F); + fx.setInteger("life", 100 + worldObj.rand.nextInt(20)); + fx.setInteger("color",0x202020); + fx.setDouble("posX", xCoord + 0.5 + rot.offsetX); + fx.setDouble("posY", yCoord + 5); + fx.setDouble("posZ", zCoord + 0.5 + rot.offsetZ); + MainRegistry.proxy.effectNT(fx); + } + this.lastAnim = this.anim; + if(this.isProgressing) { + this.anim += (int) Math.max(burnModule.getMod(slots[4], burnModule.getModHeat()), 1); + } + } + } + + @Override public void serialize(ByteBuf buf) { + super.serialize(buf); + tanks[0].serialize(buf); + tanks[1].serialize(buf); + tanks[2].serialize(buf); + buf.writeBoolean(isVenting); + buf.writeBoolean(isProgressing); + buf.writeFloat(progress); + buf.writeInt(burnTime); + buf.writeInt(maxBurnTime); + + if(this.output != null) { + buf.writeBoolean(true); + buf.writeInt(this.output.material.id); + buf.writeInt(this.output.amount); + } else { + buf.writeBoolean(false); + } + } + + @Override public void deserialize(ByteBuf buf) { + super.deserialize(buf); + tanks[0].deserialize(buf); + tanks[1].deserialize(buf); + tanks[2].deserialize(buf); + isVenting = buf.readBoolean(); + isProgressing = buf.readBoolean(); + progress = buf.readFloat(); + burnTime = buf.readInt(); + maxBurnTime = buf.readInt(); + + if(buf.readBoolean()) { + this.output = new MaterialStack(Mats.matById.get(buf.readInt()), buf.readInt()); + } else { + this.output = null; + } + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.tanks[0].readFromNBT(nbt, "t0"); + this.tanks[1].readFromNBT(nbt, "t1"); + this.tanks[2].readFromNBT(nbt, "t2"); + this.progress = nbt.getFloat("prog"); + this.burnTime = nbt.getInteger("burn"); + this.burnHeat = nbt.getDouble("heat"); + this.maxBurnTime = nbt.getInteger("maxBurn"); + if (nbt.hasKey("outType")) { + NTMMaterial mat = Mats.matById.get(nbt.getInteger("outType")); + this.output = new MaterialStack(mat, nbt.getInteger("outAmount")); + } + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + this.tanks[0].writeToNBT(nbt, "t0"); + this.tanks[1].writeToNBT(nbt, "t1"); + this.tanks[2].writeToNBT(nbt, "t2"); + nbt.setFloat("prog", progress); + nbt.setInteger("burn", burnTime); + nbt.setDouble("heat", burnHeat); + nbt.setInteger("maxBurn", maxBurnTime); + if (this.output != null) { + nbt.setInteger("outType", this.output.material.id); + nbt.setInteger("outAmount", this.output.amount); + } + } + + public DirPos[] getSteamPos() { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); + + return new DirPos[] { + new DirPos(xCoord - dir.offsetX * 2 - rot.offsetX * 2, yCoord, zCoord - dir.offsetZ * 2 - rot.offsetZ * 2, dir.getOpposite()), + new DirPos(xCoord - dir.offsetX * 2 - rot.offsetX, yCoord, zCoord - dir.offsetZ * 2 - rot.offsetZ, dir.getOpposite()) + }; + } + + public DirPos[] getFluidPos() { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); + + return new DirPos[] { + new DirPos(xCoord + dir.offsetX + rot.offsetX * 3, yCoord, zCoord + dir.offsetZ + rot.offsetZ * 3, rot), + new DirPos(xCoord - dir.offsetX + rot.offsetX * 3, yCoord, zCoord - dir.offsetZ + rot.offsetZ * 3, rot) + }; + } + + public boolean canProcess(RotaryFurnaceRecipe recipe) { + + if(this.burnTime <= 0) return false; + + if(recipe.fluid != null) { + if(this.tanks[0].getTankType() != recipe.fluid.type) return false; + if(this.tanks[0].getFill() < recipe.fluid.fill) return false; + } + + float speed = Math.max((float) burnHeat, 1); + + if(tanks[1].getFill() < recipe.steam * speed) return false; + if(tanks[2].getMaxFill() - tanks[2].getFill() < recipe.steam * speed / 100) return false; + if(this.steamUsed > 100) return false; + + if(this.output != null) { + if(this.output.material != recipe.output.material) return false; + if(this.output.amount + recipe.output.amount > this.maxOutput) return false; + } + + return true; + } + + public void consumeItems(RotaryFurnaceRecipe recipe) { + + for(AStack aStack : recipe.ingredients) { + + for(int i = 0; i < 3; i++) { + ItemStack stack = slots[i]; + if(aStack.matchesRecipe(stack, true) && stack.stackSize >= aStack.stacksize) { + this.decrStackSize(i, aStack.stacksize); + break; + } + } + } + + if(recipe.fluid != null) { + this.tanks[0].setFill(tanks[0].getFill() - recipe.fluid.fill); + } + } + + @Override + public void pollute(PollutionType type, float amount) { + FluidTank tank = type == PollutionType.SOOT ? smoke : type == PollutionType.HEAVYMETAL ? smoke_leaded : smoke_poison; + + int fluidAmount = (int) Math.ceil(amount * 100); + tank.setFill(tank.getFill() + fluidAmount); + + if(tank.getFill() > tank.getMaxFill()) { + int overflow = tank.getFill() - tank.getMaxFill(); + tank.setFill(tank.getMaxFill()); + PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, type, overflow / 100F); + this.isVenting = true; + } + } + + @Override public int[] getAccessibleSlotsFromSide(int side) { return new int[0]; } + @Override public boolean isItemValidForSlot(int slot, ItemStack stack) { return slot < 3 || slot == 4; } + @Override public boolean canExtractItem(int slot, ItemStack stack, int side) { return false; } + + @Override public boolean isItemValidForSlot(int x, int y, int z, int slot, ItemStack stack) { return slot < 3 || slot == 4; } + @Override public boolean canExtractItem(int x, int y, int z, int slot, ItemStack stack, int side) { return false; } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 2, + yCoord, + zCoord - 2, + xCoord + 3, + yCoord + 5, + zCoord + 3 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override + public int[] getAccessibleSlotsFromSide(int x, int y, int z, int side) { + BlockPos pos = new BlockPos(x, y, z); + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + BlockPos core = new BlockPos(xCoord, yCoord, zCoord); + + //Red + if(side == dir.getOpposite().ordinal() && pos.equals(core.clone().offset(dir, -1).offset(rot, -2))) return new int[] {0}; + //Yellow + if(side == dir.getOpposite().ordinal() && pos.equals(core.clone().offset(dir, -1).offset(rot, -1))) return new int[] {1}; + //Green + if(side == dir.getOpposite().ordinal() && pos.equals(core.clone().offset(dir, -1))) return new int[] {2}; + //Fuel + if(side == dir.ordinal() && pos.equals(core.clone().offset(dir, 1).offset(rot, -1))) return new int[] {4}; + + return new int[] { }; + } + + @Override public FluidTank[] getAllTanks() { return new FluidTank[] {tanks[0], tanks[1], tanks[2], smoke}; } + @Override public FluidTank[] getSendingTanks() { return new FluidTank[] {tanks[2], smoke}; } + @Override public FluidTank[] getReceivingTanks() { return new FluidTank[] {tanks[0], tanks[1]}; } + + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return new ContainerMachineRotaryFurnace(player.inventory, this); } + @Override public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineRotaryFurnace(player.inventory, this); } + + @Override + public String getConfigName() { + return "rotaryfurnace"; + } + + @Override + public void readIfPresent(JsonObject obj) { + if(obj.has("burnModule")) { + burnModule.readIfPresent(obj.get("M:burnModule").getAsJsonObject()); + } + } + + @Override + public void writeConfig(JsonWriter writer) throws IOException { + writer.name("M:burnModule").beginObject(); + burnModule.writeConfig(writer); + writer.endObject(); + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java index f195414d3..85b71dd0a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java @@ -12,7 +12,6 @@ import com.hbm.saveddata.satellites.SatelliteMiner; import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; @@ -28,210 +27,171 @@ import net.minecraft.world.World; import java.util.List; public class TileEntityMachineSatDock extends TileEntity implements ISidedInventory, IGUIProvider { - private ItemStack[] slots; + + private ItemStack[] slots; + private static final int[] access = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }; - private static final int[] access = new int[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}; + private String customName; + private AxisAlignedBB renderBoundingBox; - private String customName; + public TileEntityMachineSatDock() { slots = new ItemStack[16]; } - private AxisAlignedBB renderBoundingBox; + @Override public int getSizeInventory() { return slots.length; } + @Override public ItemStack getStackInSlot(int i) { return slots[i]; } - public TileEntityMachineSatDock() { - slots = new ItemStack[16]; - } - - @Override - public int getSizeInventory() { - return slots.length; - } - - @Override - public ItemStack getStackInSlot(int i) { - return slots[i]; - } - - @Override - public ItemStack getStackInSlotOnClosing(int i) { - if (slots[i] != null) { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } else { - return null; - } - } - - @Override - public void setInventorySlotContents(int i, ItemStack itemStack) { - slots[i] = itemStack; - if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.satDock"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - if (worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) { - return false; - } else { - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64; - } - } - - //You scrubs aren't needed for anything (right now) - @Override - public void openInventory() { - } - - @Override - public void closeInventory() { - } - - @Override - public boolean isItemValidForSlot(int i, ItemStack itemStack) { - return i != 2 && i != 3 && i != 4 && i != 5; + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } } - @Override - public ItemStack decrStackSize(int i, int j) { - if (slots[i] != null) { - if (slots[i].stackSize <= j) { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } - ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) { - slots[i] = null; - } + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) { + itemStack.stackSize = getInventoryStackLimit(); + } + } - return itemStack1; - } else { - return null; - } - } + @Override public String getInventoryName() { return this.hasCustomInventoryName() ? this.customName : "container.satDock"; } + @Override public boolean hasCustomInventoryName() { return this.customName != null && this.customName.length() > 0; } + public void setCustomName(String name) { this.customName = name; markDirty(); } + @Override public int getInventoryStackLimit() { return 64; } - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - NBTTagList list = nbt.getTagList("items", 10); + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) { + return false; + } else { + return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64; + } + } - slots = new ItemStack[getSizeInventory()]; + @Override public void openInventory() { } + @Override public void closeInventory() { } - for (int i = 0; i < list.tagCount(); i++) { - NBTTagCompound nbt1 = list.getCompoundTagAt(i); - byte b0 = nbt1.getByte("slot"); - if (b0 >= 0 && b0 < slots.length) { - slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); - } - } - } + @Override + public boolean isItemValidForSlot(int i, ItemStack itemStack) { return i == 15; } - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - NBTTagList list = new NBTTagList(); + @Override + public ItemStack decrStackSize(int i, int j) { + if(slots[i] != null) { + if(slots[i].stackSize <= j) { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } + ItemStack itemStack1 = slots[i].splitStack(j); + if(slots[i].stackSize == 0) { + slots[i] = null; + } - for (int i = 0; i < slots.length; i++) { - if (slots[i] != null) { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte) i); - slots[i].writeToNBT(nbt1); - list.appendTag(nbt1); - } - } - nbt.setTag("items", list); - } + return itemStack1; + } else { + return null; + } + } - @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) { - return access; - } + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); - @Override - public boolean canInsertItem(int i, ItemStack itemStack, int j) { - return this.isItemValidForSlot(i, itemStack); - } + slots = new ItemStack[getSizeInventory()]; - @Override - public boolean canExtractItem(int i, ItemStack itemStack, int j) { - return true; - } + for(int i = 0; i < list.tagCount(); i++) { + NBTTagCompound nbt1 = list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } - @Override - public void updateEntity() { - if (!worldObj.isRemote) { - SatelliteSavedData data = SatelliteSavedData.getData(worldObj); + customName = nbt.getString("name"); + } - if (slots[15] != null) { - int freq = ISatChip.getFreqS(slots[15]); + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + NBTTagList list = new NBTTagList(); - Satellite sat = data.getSatFromFreq(freq); + for(int i = 0; i < slots.length; i++) { + if(slots[i] != null) { + NBTTagCompound nbt1 = new NBTTagCompound(); + nbt1.setByte("slot", (byte) i); + slots[i].writeToNBT(nbt1); + list.appendTag(nbt1); + } + } + nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } + } - int delay = 10 * 60 * 1000; + @Override public int[] getAccessibleSlotsFromSide(int p_94128_1_) { return access; } + @Override public boolean canInsertItem(int i, ItemStack itemStack, int j) { return this.isItemValidForSlot(i, itemStack); } + @Override public boolean canExtractItem(int i, ItemStack itemStack, int j) { return true; } - if (sat instanceof SatelliteMiner) { - SatelliteMiner miner = (SatelliteMiner) sat; + @Override + public void updateEntity() { + if(!worldObj.isRemote) { + SatelliteSavedData data = SatelliteSavedData.getData(worldObj); - if (miner.lastOp + delay < System.currentTimeMillis()) { - EntityMinerRocket rocket = new EntityMinerRocket(worldObj); - rocket.posX = xCoord + 0.5; - rocket.posY = 300; - rocket.posZ = zCoord + 0.5; + if(slots[15] != null) { + int freq = ISatChip.getFreqS(slots[15]); - rocket.getDataWatcher().updateObject(17, freq); - worldObj.spawnEntityInWorld(rocket); - miner.lastOp = System.currentTimeMillis(); - data.markDirty(); - } - } - } + Satellite sat = data.getSatFromFreq(freq); - @SuppressWarnings("unchecked") - List list = worldObj.getEntitiesWithinAABBExcludingEntity( - null, - AxisAlignedBB.getBoundingBox(xCoord - 0.25 + 0.5, yCoord + 0.75, zCoord - 0.25 + 0.5, xCoord + 0.25 + 0.5, yCoord + 2, zCoord + 0.25 + 0.5), - entity -> entity instanceof EntityMinerRocket - ); + int delay = 10 * 60 * 1000; - for (EntityMinerRocket rocket : list) { - if (slots[15] != null && ISatChip.getFreqS(slots[15]) != rocket.getDataWatcher().getWatchableObjectInt(17)) { - rocket.setDead(); - ExplosionNukeSmall.explode(worldObj, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, ExplosionNukeSmall.PARAMS_TOTS); - break; - } + if(sat instanceof SatelliteMiner) { + SatelliteMiner miner = (SatelliteMiner) sat; - if (rocket.getDataWatcher().getWatchableObjectInt(16) == 1 && rocket.timer == 50) { - Satellite sat = data.getSatFromFreq(ISatChip.getFreqS(slots[15])); - unloadCargo((SatelliteMiner) sat); - } - } + if(miner.lastOp + delay < System.currentTimeMillis()) { + EntityMinerRocket rocket = new EntityMinerRocket(worldObj); + rocket.posX = xCoord + 0.5; + rocket.posY = 300; + rocket.posZ = zCoord + 0.5; - ejectInto(xCoord + 2, yCoord, zCoord); - ejectInto(xCoord - 2, yCoord, zCoord); - ejectInto(xCoord, yCoord, zCoord + 2); - ejectInto(xCoord, yCoord, zCoord - 2); - } - } + rocket.getDataWatcher().updateObject(17, freq); + worldObj.spawnEntityInWorld(rocket); + miner.lastOp = System.currentTimeMillis(); + data.markDirty(); + } + } + } + + @SuppressWarnings("unchecked") + List list = worldObj.getEntitiesWithinAABBExcludingEntity(null, + AxisAlignedBB.getBoundingBox(xCoord - 0.25 + 0.5, yCoord + 0.75, zCoord - 0.25 + 0.5, xCoord + 0.25 + 0.5, yCoord + 2, zCoord + 0.25 + 0.5), + entity -> entity instanceof EntityMinerRocket); + + for(EntityMinerRocket rocket : list) { + if(slots[15] != null && ISatChip.getFreqS(slots[15]) != rocket.getDataWatcher().getWatchableObjectInt(17)) { + rocket.setDead(); + ExplosionNukeSmall.explode(worldObj, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, ExplosionNukeSmall.PARAMS_TOTS); + break; + } + + if(rocket.getDataWatcher().getWatchableObjectInt(16) == 1 && rocket.timer == 50) { + Satellite sat = data.getSatFromFreq(ISatChip.getFreqS(slots[15])); + if(sat != null) unloadCargo((SatelliteMiner) sat); + } + } + + ejectInto(xCoord + 2, yCoord, zCoord); + ejectInto(xCoord - 2, yCoord, zCoord); + ejectInto(xCoord, yCoord, zCoord + 2); + ejectInto(xCoord, yCoord, zCoord - 2); + } + } private void unloadCargo(SatelliteMiner satellite) { int itemAmount = worldObj.rand.nextInt(6) + 10; @@ -243,104 +203,98 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent } } - private void addToInv(ItemStack stack) { - for (int i = 0; i < 15; i++) { - if (slots[i] != null && slots[i].getItem() == stack.getItem() && slots[i].getItemDamage() == stack.getItemDamage() && slots[i].stackSize < slots[i].getMaxStackSize()) { - int toAdd = Math.min(slots[i].getMaxStackSize() - slots[i].stackSize, stack.stackSize); + private void addToInv(ItemStack stack) { + for(int i = 0; i < 15; i++) { + if(slots[i] != null && slots[i].getItem() == stack.getItem() && slots[i].getItemDamage() == stack.getItemDamage() && slots[i].stackSize < slots[i].getMaxStackSize()) { + int toAdd = Math.min(slots[i].getMaxStackSize() - slots[i].stackSize, stack.stackSize); - slots[i].stackSize += toAdd; - stack.stackSize -= toAdd; + slots[i].stackSize += toAdd; + stack.stackSize -= toAdd; - if (stack.stackSize <= 0) return; - } - } + if(stack.stackSize <= 0) + return; + } + } - for (int i = 0; i < 15; i++) { - if (slots[i] == null) { - slots[i] = new ItemStack(stack.getItem(), 1, stack.getItemDamage()); - return; - } - } - } + for(int i = 0; i < 15; i++) { + if(slots[i] == null) { + slots[i] = new ItemStack(stack.getItem(), 1, stack.getItemDamage()); + return; + } + } + } - private void ejectInto(int x, int y, int z) { - TileEntity te = worldObj.getTileEntity(x, y, z); + private void ejectInto(int x, int y, int z) { + TileEntity te = worldObj.getTileEntity(x, y, z); - if (te instanceof IInventory) { - IInventory chest = (IInventory) te; + if(te instanceof IInventory) { + IInventory chest = (IInventory) te; - for (int i = 0; i < 15; i++) { - if (slots[i] != null) { - for (int j = 0; j < chest.getSizeInventory(); j++) { - ItemStack sta = slots[i].copy(); - sta.stackSize = 1; + for(int i = 0; i < 15; i++) { + if(slots[i] != null) { + for(int j = 0; j < chest.getSizeInventory(); j++) { + ItemStack sta = slots[i].copy(); + sta.stackSize = 1; - if (chest.getStackInSlot(j) != null && chest.getStackInSlot(j).isItemEqual(slots[i]) && ItemStack.areItemStackTagsEqual(chest.getStackInSlot(j), slots[i]) && - chest.getStackInSlot(j).stackSize < chest.getStackInSlot(j).getMaxStackSize()) { + if(chest.getStackInSlot(j) != null && chest.getStackInSlot(j).isItemEqual(slots[i]) && ItemStack.areItemStackTagsEqual(chest.getStackInSlot(j), slots[i]) + && chest.getStackInSlot(j).stackSize < chest.getStackInSlot(j).getMaxStackSize()) { - slots[i].stackSize--; + slots[i].stackSize--; - if (slots[i].stackSize <= 0) - slots[i] = null; + if(slots[i].stackSize <= 0) + slots[i] = null; - chest.getStackInSlot(j).stackSize++; - return; - } - } - } - } + chest.getStackInSlot(j).stackSize++; + return; + } + } + } + } - for (int i = 0; i < 15; i++) { - if (slots[i] != null) { - for (int j = 0; j < chest.getSizeInventory(); j++) { - ItemStack sta = slots[i].copy(); - sta.stackSize = 1; + for(int i = 0; i < 15; i++) { + if(slots[i] != null) { + for(int j = 0; j < chest.getSizeInventory(); j++) { + ItemStack sta = slots[i].copy(); + sta.stackSize = 1; - if (chest.getStackInSlot(j) == null && chest.isItemValidForSlot(j, sta)) { - slots[i].stackSize--; + if(chest.getStackInSlot(j) == null && chest.isItemValidForSlot(j, sta)) { + slots[i].stackSize--; - if (slots[i].stackSize <= 0) - slots[i] = null; + if(slots[i].stackSize <= 0) + slots[i] = null; - chest.setInventorySlotContents(j, sta); - return; - } - } - } - } - } - } + chest.setInventorySlotContents(j, sta); + return; + } + } + } + } + } + } - @Override - public AxisAlignedBB getRenderBoundingBox() { - if (renderBoundingBox == null) { - renderBoundingBox = AxisAlignedBB.getBoundingBox( - xCoord - 1, - yCoord, - zCoord - 1, - xCoord + 2, - yCoord + 1, - zCoord + 2 - ); - } + @Override + public AxisAlignedBB getRenderBoundingBox() { + if(renderBoundingBox == null) { + renderBoundingBox = AxisAlignedBB.getBoundingBox(xCoord - 1, yCoord, zCoord - 1, xCoord + 2, yCoord + 1, zCoord + 2); + } - return renderBoundingBox; - } + return renderBoundingBox; + } - @Override - @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() { - return 65536.0D; - } + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } - @Override - public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new ContainerSatDock(player.inventory, this); - } + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerSatDock(player.inventory, this); + } - @Override - @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new GUISatDock(player.inventory, this); - } + @Override + @SideOnly(Side.CLIENT) + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUISatDock(player.inventory, this); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java index 8c3583106..2ffadacba 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java @@ -8,7 +8,6 @@ import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; @@ -74,6 +73,7 @@ public class TileEntityMachineSatLinker extends TileEntity implements ISidedInve public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -133,6 +133,8 @@ public class TileEntityMachineSatLinker extends TileEntity implements ISidedInve slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override @@ -149,6 +151,10 @@ public class TileEntityMachineSatLinker extends TileEntity implements ISidedInve } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } @Override @@ -190,7 +196,7 @@ public class TileEntityMachineSatLinker extends TileEntity implements ISidedInve @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineSatLinker(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java index 7f9241d46..6f9016127 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java @@ -16,7 +16,7 @@ import api.hbm.energymk2.IBatteryItem; import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -167,11 +167,8 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB } else { process = 0; } - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", power); - data.setInteger("progress", process); - this.networkPack(data, 50); + + this.networkPackNT(50); } else { @@ -193,7 +190,21 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB } } } - + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(this.power); + buf.writeInt(this.process); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + this.process = buf.readInt(); + } + @Override public AudioWrapper createAudioLoop() { return MainRegistry.proxy.getLoopedSound("hbm:weapon.tauChargeLoop", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F); @@ -224,14 +235,6 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB audio = null; } } - - @Override - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - - this.power = data.getLong("power"); - this.process = data.getInteger("progress"); - } @Override public void setPower(long i) { @@ -255,7 +258,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineSchrabidiumTransmutator(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java index 9ac85cf5c..5fe3ae5ca 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java @@ -5,17 +5,14 @@ import com.hbm.inventory.gui.GUIMachineShredder; import com.hbm.inventory.recipes.ShredderRecipes; import com.hbm.items.machine.ItemBlades; import com.hbm.lib.Library; -import com.hbm.packet.AuxElectricityPacket; -import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energymk2.IBatteryItem; import api.hbm.energymk2.IEnergyReceiverMK2; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; @@ -34,11 +31,11 @@ public class TileEntityMachineShredder extends TileEntityLoadedBase implements I public int soundCycle = 0; public static final long maxPower = 10000; public static final int processingSpeed = 60; - + private static final int[] slots_io = new int[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29}; - + private String customName; - + public TileEntityMachineShredder() { slots = new ItemStack[30]; } @@ -83,9 +80,10 @@ public class TileEntityMachineShredder extends TileEntityLoadedBase implements I public boolean hasCustomInventoryName() { return this.customName != null && this.customName.length() > 0; } - + public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -102,7 +100,7 @@ public class TileEntityMachineShredder extends TileEntityLoadedBase implements I return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64; } } - + //You scrubs aren't needed for anything (right now) @Override public void openInventory() {} @@ -114,10 +112,10 @@ public class TileEntityMachineShredder extends TileEntityLoadedBase implements I if(i < 9) return ShredderRecipes.getShredderResult(stack) != null && !(stack.getItem() instanceof ItemBlades); if(i == 29) return stack.getItem() instanceof IBatteryItem; if(i == 27 || i == 28) return stack.getItem() instanceof ItemBlades; - + return false; } - + @Override public ItemStack decrStackSize(int i, int j) { if(slots[i] != null) @@ -133,21 +131,21 @@ public class TileEntityMachineShredder extends TileEntityLoadedBase implements I { slots[i] = null; } - + return itemStack1; } else { return null; } } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); NBTTagList list = nbt.getTagList("items", 10); - + this.power = nbt.getLong("powerTime"); slots = new ItemStack[getSizeInventory()]; - + for(int i = 0; i < list.tagCount(); i++) { NBTTagCompound nbt1 = list.getCompoundTagAt(i); @@ -157,14 +155,16 @@ public class TileEntityMachineShredder extends TileEntityLoadedBase implements I slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setLong("powerTime", power); NBTTagList list = new NBTTagList(); - + for(int i = 0; i < slots.length; i++) { if(slots[i] != null) @@ -176,8 +176,12 @@ public class TileEntityMachineShredder extends TileEntityLoadedBase implements I } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } - + @Override public int[] getAccessibleSlotsFromSide(int side) { return slots_io; @@ -187,20 +191,20 @@ public class TileEntityMachineShredder extends TileEntityLoadedBase implements I public boolean canInsertItem(int slot, ItemStack itemStack, int side) { if((slot >= 9 && slot != 27 && slot != 28) || !this.isItemValidForSlot(slot, itemStack)) return false; - + if(slots[slot] == null) return true; - + int size = slots[slot].stackSize; - + for(int k = 0; k < 9; k++) { if(slots[k] == null) return false; - + if(slots[k].getItem() == itemStack.getItem() && slots[k].getItemDamage() == itemStack.getItemDamage() && slots[k].stackSize < size) return false; } - + return true; } @@ -208,42 +212,42 @@ public class TileEntityMachineShredder extends TileEntityLoadedBase implements I public boolean canExtractItem(int i, ItemStack itemStack, int j) { if(i >= 9 && i <= 26) return true; if(i >= 27 && i <= 28) if(itemStack.getItemDamage() == itemStack.getMaxDamage() && itemStack.getMaxDamage() > 0) return true; - + return false; } - + public int getDiFurnaceProgressScaled(int i) { return (progress * i) / processingSpeed; } - + public boolean hasPower() { return power > 0; } - + public boolean isProcessing() { return this.progress > 0; } - + @Override public void updateEntity() { boolean flag1 = false; - + if(!worldObj.isRemote) { - + this.updateConnections(); - + if(hasPower() && canProcess()) { progress++; - + power -= 5; - + if(this.progress == TileEntityMachineShredder.processingSpeed) { for(int i = 27; i <= 28; i++) if(slots[i].getMaxDamage() > 0) this.slots[i].setItemDamage(this.slots[i].getItemDamage() + 1); - + this.progress = 0; this.processItem(); flag1 = true; @@ -251,66 +255,78 @@ public class TileEntityMachineShredder extends TileEntityLoadedBase implements I if(soundCycle == 0) this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "minecart.base", getVolume(1.0F), 0.75F); soundCycle++; - + if(soundCycle >= 50) soundCycle = 0; }else{ progress = 0; } - + boolean trigger = true; - + if(hasPower() && canProcess() && this.progress == 0) { trigger = false; } - + if(trigger) { flag1 = true; } - + power = Library.chargeTEFromItems(slots, 29, power, maxPower); - - PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + + networkPackNT(50); } - + if(flag1) { this.markDirty(); } } - + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(power); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + power = buf.readLong(); + } + private void updateConnections() { - + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } - + public void processItem() { - + for(int inpSlot = 0; inpSlot < 9; inpSlot++) { if(slots[inpSlot] != null && hasSpace(slots[inpSlot])) { ItemStack inp = slots[inpSlot]; ItemStack outp = ShredderRecipes.getShredderResult(inp); - + boolean flag = false; - + for (int outSlot = 9; outSlot < 27; outSlot++) { - if (slots[outSlot] != null && slots[outSlot].getItem() == outp.getItem() && + if (slots[outSlot] != null && slots[outSlot].getItem() == outp.getItem() && slots[outSlot].getItemDamage() == outp.getItemDamage() && slots[outSlot].stackSize + outp.stackSize <= outp.getMaxStackSize()) { - + slots[outSlot].stackSize += outp.stackSize; slots[inpSlot].stackSize -= 1; flag = true; break; } } - + if(!flag) for (int outSlot = 9; outSlot < 27; outSlot++) { @@ -320,18 +336,18 @@ public class TileEntityMachineShredder extends TileEntityLoadedBase implements I break; } } - + if(slots[inpSlot].stackSize <= 0) slots[inpSlot] = null; } } } - + public boolean canProcess() { - if(slots[27] != null && slots[28] != null && - this.getGearLeft() > 0 && this.getGearLeft() < 3 && + if(slots[27] != null && slots[28] != null && + this.getGearLeft() > 0 && this.getGearLeft() < 3 && this.getGearRight() > 0 && this.getGearRight() < 3) { - + for(int i = 0; i < 9; i++) { if(slots[i] != null && slots[i].stackSize > 0 && hasSpace(slots[i])) @@ -340,14 +356,14 @@ public class TileEntityMachineShredder extends TileEntityLoadedBase implements I } } } - + return false; } - + public boolean hasSpace(ItemStack stack) { - + ItemStack result = ShredderRecipes.getShredderResult(stack); - + if (result != null) for (int i = 9; i < 27; i++) { if (slots[i] == null) { @@ -359,16 +375,16 @@ public class TileEntityMachineShredder extends TileEntityLoadedBase implements I return true; } } - + return false; } @Override public void setPower(long i) { this.power = i; - + } - + public long getPowerScaled(long i) { return (power * i) / maxPower; } @@ -382,14 +398,14 @@ public class TileEntityMachineShredder extends TileEntityLoadedBase implements I public long getMaxPower() { return TileEntityMachineShredder.maxPower; } - + public int getGearLeft() { - + if(slots[27] != null && slots[27].getItem() instanceof ItemBlades) { if(slots[27].getMaxDamage() == 0) return 1; - + if(slots[27].getItemDamage() < slots[27].getItem().getMaxDamage()/2) { return 1; @@ -399,17 +415,17 @@ public class TileEntityMachineShredder extends TileEntityLoadedBase implements I return 3; } } - + return 0; } - + public int getGearRight() { - + if(slots[28] != null && slots[28].getItem() instanceof ItemBlades) { if(slots[28].getMaxDamage() == 0) return 1; - + if(slots[28].getItemDamage() < slots[28].getItem().getMaxDamage()/2) { return 1; @@ -419,7 +435,7 @@ public class TileEntityMachineShredder extends TileEntityLoadedBase implements I return 3; } } - + return 0; } @@ -430,7 +446,7 @@ public class TileEntityMachineShredder extends TileEntityLoadedBase implements I @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineShredder(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSiren.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSiren.java index a2ebd812f..4ed07f066 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSiren.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSiren.java @@ -8,13 +8,12 @@ import com.hbm.items.machine.ItemCassette; import com.hbm.items.machine.ItemCassette.SoundType; import com.hbm.items.machine.ItemCassette.TrackType; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.TESirenPacket; +import com.hbm.packet.toclient.TESirenPacket; import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; @@ -83,6 +82,7 @@ public class TileEntityMachineSiren extends TileEntity implements ISidedInventor public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -150,6 +150,8 @@ public class TileEntityMachineSiren extends TileEntity implements ISidedInventor slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override @@ -169,6 +171,10 @@ public class TileEntityMachineSiren extends TileEntity implements ISidedInventor } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } @Override @@ -233,7 +239,7 @@ public class TileEntityMachineSiren extends TileEntity implements ISidedInventor @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineSiren(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSolderingStation.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSolderingStation.java index 3ccf6ef70..6f058d12a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSolderingStation.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSolderingStation.java @@ -1,9 +1,12 @@ package com.hbm.tileentity.machine; +import java.util.HashMap; import java.util.List; import com.hbm.blocks.ModBlocks; -import com.hbm.inventory.UpgradeManager; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.container.ContainerMachineSolderingStation; import com.hbm.inventory.fluid.Fluids; @@ -14,20 +17,21 @@ import com.hbm.inventory.recipes.SolderingRecipes.SolderingRecipe; import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IFluidCopiable; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; -import com.hbm.util.I18nUtil; +import com.hbm.util.BobMathUtil; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.Item; @@ -38,18 +42,21 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineSolderingStation extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider, IUpgradeInfoProvider { +public class TileEntityMachineSolderingStation extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IControlReceiver, IGUIProvider, IUpgradeInfoProvider, IFluidCopiable { public long power; public long maxPower = 2_000; public long consumption; - + public boolean collisionPrevention = false; + public int progress; public int processTime = 1; - + public FluidTank tank; public ItemStack display; - + + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public TileEntityMachineSolderingStation() { super(11); this.tank = new FluidTank(Fluids.NONE, 8_000); @@ -63,135 +70,128 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp @Override public void setInventorySlotContents(int i, ItemStack stack) { super.setInventorySlotContents(i, stack); - + if(stack != null && stack.getItem() instanceof ItemMachineUpgrade && i >= 9 && i <= 10) { worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:item.upgradePlug", 1.0F, 1.0F); } } + private SolderingRecipe recipe; + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + this.power = Library.chargeTEFromItems(slots, 7, this.getPower(), this.getMaxPower()); this.tank.setType(8, slots); - + if(worldObj.getTotalWorldTime() % 20 == 0) { for(DirPos pos : getConPos()) { this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); if(tank.getTankType() != Fluids.NONE) this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - - SolderingRecipe recipe = SolderingRecipes.getRecipe(new ItemStack[] {slots[0], slots[1], slots[2], slots[3], slots[4], slots[5]}); + + recipe = SolderingRecipes.getRecipe(new ItemStack[] {slots[0], slots[1], slots[2], slots[3], slots[4], slots[5]}); long intendedMaxPower; - - UpgradeManager.eval(slots, 9, 10); - int redLevel = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); - int blueLevel = Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3); - + + upgradeManager.checkSlots(this, slots, 9, 10); + int redLevel = upgradeManager.getLevel(UpgradeType.SPEED); + int blueLevel = upgradeManager.getLevel(UpgradeType.POWER); + int blackLevel = upgradeManager.getLevel(UpgradeType.OVERDRIVE); + if(recipe != null) { this.processTime = recipe.duration - (recipe.duration * redLevel / 6) + (recipe.duration * blueLevel / 3); this.consumption = recipe.consumption + (recipe.consumption * redLevel) - (recipe.consumption * blueLevel / 6); - intendedMaxPower = recipe.consumption * 20; - + this.consumption *= Math.pow(2, blackLevel); + intendedMaxPower = consumption * 20; + if(canProcess(recipe)) { - this.progress++; + this.progress += (1 + blackLevel); this.power -= this.consumption; - + if(progress >= processTime) { this.progress = 0; this.consumeItems(recipe); - + if(slots[6] == null) { slots[6] = recipe.output.copy(); } else { slots[6].stackSize += recipe.output.stackSize; } - + this.markDirty(); } - + if(worldObj.getTotalWorldTime() % 20 == 0) { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); NBTTagCompound dPart = new NBTTagCompound(); dPart.setString("type", "tau"); dPart.setByte("count", (byte) 3); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(dPart, xCoord + 0.5 - dir.offsetX * 0.5 + rot.offsetX * 0.5, yCoord + 1.125, zCoord + 0.5 - dir.offsetZ * 0.5 + rot.offsetZ * 0.5), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 25)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(dPart, xCoord + 0.5 - dir.offsetX * 0.5 + rot.offsetX * 0.5, yCoord + 1.125, zCoord + 0.5 - dir.offsetZ * 0.5 + rot.offsetZ * 0.5), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 25)); } - + } else { this.progress = 0; } - + } else { this.progress = 0; this.consumption = 100; intendedMaxPower = 2000; } - + this.maxPower = Math.max(intendedMaxPower, power); - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", power); - data.setLong("maxPower", maxPower); - data.setLong("consumption", consumption); - data.setInteger("progress", progress); - data.setInteger("processTime", processTime); - if(recipe != null) { - data.setInteger("display", Item.getIdFromItem(recipe.output.getItem())); - data.setInteger("displayMeta", recipe.output.getItemDamage()); - } - this.tank.writeToNBT(data, "t"); - this.networkPack(data, 25); + + this.networkPackNT(25); } } - + public boolean canProcess(SolderingRecipe recipe) { - + if(this.power < this.consumption) return false; - + if(recipe.fluid != null) { if(this.tank.getTankType() != recipe.fluid.type) return false; if(this.tank.getFill() < recipe.fluid.fill) return false; } - - if(recipe.fluid == null && this.tank.getFill() > 0) return false; - + + if(collisionPrevention && recipe.fluid == null && this.tank.getFill() > 0) return false; + if(slots[6] != null) { if(slots[6].getItem() != recipe.output.getItem()) return false; if(slots[6].getItemDamage() != recipe.output.getItemDamage()) return false; if(slots[6].stackSize + recipe.output.stackSize > slots[6].getMaxStackSize()) return false; } - + return true; } - + public void consumeItems(SolderingRecipe recipe) { - + for(AStack aStack : recipe.toppings) { for(int i = 0; i < 3; i++) { ItemStack stack = slots[i]; if(aStack.matchesRecipe(stack, true) && stack.stackSize >= aStack.stacksize) { this.decrStackSize(i, aStack.stacksize); break; } } } - + for(AStack aStack : recipe.pcb) { for(int i = 3; i < 5; i++) { ItemStack stack = slots[i]; if(aStack.matchesRecipe(stack, true) && stack.stackSize >= aStack.stacksize) { this.decrStackSize(i, aStack.stacksize); break; } } } - + for(AStack aStack : recipe.solder) { for(int i = 5; i < 6; i++) { ItemStack stack = slots[i]; if(aStack.matchesRecipe(stack, true) && stack.stackSize >= aStack.stacksize) { this.decrStackSize(i, aStack.stacksize); break; } } } - + if(recipe.fluid != null) { this.tank.setFill(tank.getFill() - recipe.fluid.fill); } @@ -221,12 +221,12 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp public int[] getAccessibleSlotsFromSide(int side) { return new int[] { 0, 1, 2, 3, 4, 5, 6 }; } - + protected DirPos[] getConPos() { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + return new DirPos[] { new DirPos(xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ, dir), new DirPos(xCoord + dir.offsetX + rot.offsetX, yCoord, zCoord + dir.offsetZ + rot.offsetZ, dir), @@ -240,24 +240,42 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp } @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.power = nbt.getLong("power"); - this.maxPower = nbt.getLong("maxPower"); - this.consumption = nbt.getLong("consumption"); - this.progress = nbt.getInteger("progress"); - this.processTime = nbt.getInteger("processTime"); - - if(nbt.hasKey("display")) { - this.display = new ItemStack(Item.getItemById(nbt.getInteger("display")), 1, nbt.getInteger("displayMeta")); + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(this.power); + buf.writeLong(this.maxPower); + buf.writeLong(this.consumption); + buf.writeInt(this.progress); + buf.writeInt(this.processTime); + buf.writeBoolean(this.collisionPrevention); + buf.writeBoolean(recipe != null); + if(recipe != null) { + buf.writeInt(Item.getIdFromItem(recipe.output.getItem())); + buf.writeInt(recipe.output.getItemDamage()); + } + this.tank.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + this.maxPower = buf.readLong(); + this.consumption = buf.readLong(); + this.progress = buf.readInt(); + this.processTime = buf.readInt(); + this.collisionPrevention = buf.readBoolean(); + + if(buf.readBoolean()) { + int id = buf.readInt(); + this.display = new ItemStack(Item.getItemById(id), 1, buf.readInt()); } else { this.display = null; } - - this.tank.readFromNBT(nbt, "t"); + + this.tank.deserialize(buf); } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -266,9 +284,10 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp this.maxPower = nbt.getLong("maxPower"); this.progress = nbt.getInteger("progress"); this.processTime = nbt.getInteger("processTime"); + this.collisionPrevention = nbt.getBoolean("collisionPrevention"); tank.readFromNBT(nbt, "t"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -277,6 +296,7 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp nbt.setLong("maxPower", maxPower); nbt.setInteger("progress", progress); nbt.setInteger("processTime", processTime); + nbt.setBoolean("collisionPrevention", collisionPrevention); tank.writeToNBT(nbt, "t"); } @@ -312,15 +332,15 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineSolderingStation(player.inventory, this); } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -331,10 +351,10 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -343,7 +363,7 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp @Override public boolean canProvideInfo(UpgradeType type, int level, boolean extendedInfo) { - return type == UpgradeType.SPEED || type == UpgradeType.POWER; + return type == UpgradeType.SPEED || type == UpgradeType.POWER || type == UpgradeType.OVERDRIVE; } @Override @@ -357,12 +377,33 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "-" + (level * 100 / 6) + "%")); info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_DELAY, "+" + (level * 100 / 3) + "%")); } + if(type == UpgradeType.OVERDRIVE) { + info.add((BobMathUtil.getBlink() ? EnumChatFormatting.RED : EnumChatFormatting.DARK_GRAY) + "YES"); + } } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - if(type == UpgradeType.POWER) return 3; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.POWER, 3); + upgrades.put(UpgradeType.OVERDRIVE, 3); + return upgrades; + } + + @Override + public FluidTank getTankToPaste() { + return tank; + } + + @Override + public boolean hasPermission(EntityPlayer player) { + return this.isUseableByPlayer(player); + } + + @Override + public void receiveControl(NBTTagCompound data) { + this.collisionPrevention = !this.collisionPrevention; + this.markDirty(); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineStrandCaster.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineStrandCaster.java index 71caf6423..a3a8b3ded 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineStrandCaster.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineStrandCaster.java @@ -11,15 +11,11 @@ import com.hbm.inventory.material.Mats; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemMold; import com.hbm.items.machine.ItemScraps; -import com.hbm.packet.NBTPacket; -import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.util.fauxpointtwelve.DirPos; -import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; @@ -32,10 +28,11 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; //god thank you bob for this base class -public class TileEntityMachineStrandCaster extends TileEntityFoundryCastingBase implements IGUIProvider, ICrucibleAcceptor, ISidedInventory, IFluidStandardTransceiver, INBTPacketReceiver, IInventory { +public class TileEntityMachineStrandCaster extends TileEntityFoundryCastingBase implements IGUIProvider, ICrucibleAcceptor, ISidedInventory, IFluidStandardTransceiver, IInventory { public FluidTank water; public FluidTank steam; + private long lastProgressTick = 0; public String getName() { return "container.machineStrandCaster"; @@ -63,14 +60,12 @@ public class TileEntityMachineStrandCaster extends TileEntityFoundryCastingBase this.lastAmount = this.amount; } - if (this.amount >= this.getCapacity()) { - //In case of overfill problems, spit out the excess as scrap - if (amount > getCapacity()) { - ItemStack scrap = ItemScraps.create(new Mats.MaterialStack(type, Math.max(amount - getCapacity(), 0))); - EntityItem item = new EntityItem(worldObj, xCoord + 0.5, yCoord + 2, zCoord + 0.5, scrap); - worldObj.spawnEntityInWorld(item); - } - this.amount = this.getCapacity(); + // In case of overfill problems, spit out the excess as scrap + if(amount > getCapacity()) { + ItemStack scrap = ItemScraps.create(new Mats.MaterialStack(type, Math.max(amount - getCapacity(), 0))); + EntityItem item = new EntityItem(worldObj, xCoord + 0.5, yCoord + 2, zCoord + 0.5, scrap); + worldObj.spawnEntityInWorld(item); + this.amount = this.getCapacity(); } if(this.amount == 0) { @@ -79,57 +74,70 @@ public class TileEntityMachineStrandCaster extends TileEntityFoundryCastingBase this.updateConnections(); - ItemMold.Mold mold = this.getInstalledMold(); + int moldsToCast = maxProcessable(); + + // Makes it flush the buffers after 10 seconds of inactivity, or when they're full + if (moldsToCast > 0 && (moldsToCast >= 9 || worldObj.getWorldTime() >= lastProgressTick + 200)) { - if(canProcess()) { + ItemMold.Mold mold = this.getInstalledMold(); + + this.amount -= moldsToCast * mold.getCost(); - int itemsCasted = Math.min(amount / mold.getCost(), 9); + ItemStack out = mold.getOutput(type); + int remaining = out.stackSize * moldsToCast; + final int maxStackSize = out.getMaxStackSize(); - for(int j = 0; j < itemsCasted; j++) { - this.amount -= mold.getCost(); + for (int i = 1; i < 7; i++) { + if (remaining <= 0) { + break; + } - ItemStack out = mold.getOutput(type); - - for(int i = 1; i < 7; i++) { - if(slots[i] == null) { - slots[i] = out.copy(); - break; - } - - if(slots[i].isItemEqual(out) && slots[i].stackSize + out.stackSize <= out.getMaxStackSize()) { - slots[i].stackSize += out.stackSize; - break; - } + if (slots[i] == null) { + slots[i] = new ItemStack(out.getItem(), 0, out.getItemDamage()); + } + if (slots[i].isItemEqual(out)) { + int toDeposit = Math.min(remaining, maxStackSize - slots[i].stackSize); + slots[i].stackSize += toDeposit; + remaining -= toDeposit; } } + markChanged(); - water.setFill(water.getFill() - getWaterRequired() * itemsCasted); - steam.setFill(steam.getFill() + getWaterRequired() * itemsCasted); + water.setFill(water.getFill() - getWaterRequired() * moldsToCast); + steam.setFill(steam.getFill() + getWaterRequired() * moldsToCast); + + lastProgressTick = worldObj.getWorldTime(); } + + networkPackNT(150); } - - NBTTagCompound data = new NBTTagCompound(); - - water.writeToNBT(data, "w"); - steam.writeToNBT(data, "s"); - - this.networkPack(data, 150); - } - public boolean canProcess() { + private int maxProcessable() { ItemMold.Mold mold = this.getInstalledMold(); - if(type != null && mold != null && this.amount >= mold.getCost() * 9 && mold.getOutput(type) != null) { - for(int i = 1; i < 7; i++) { - if(slots[i] == null || slots[i].isItemEqual(mold.getOutput(type)) && slots[i].stackSize + mold.getOutput(type).stackSize <= mold.getOutput(type).getMaxStackSize()) - return water.getFill() >= getWaterRequired() && steam.getFill() < steam.getMaxFill(); + if (type == null || mold == null || mold.getOutput(type) == null) { + return 0; + } + int freeSlots = 0; + final int stackLimit = mold.getOutput(type).getMaxStackSize(); + + for (int i = 1; i < 7; i++) { + if (slots[i] == null) { + freeSlots += stackLimit; + } else if (slots[i].isItemEqual(mold.getOutput(type))) { + freeSlots += stackLimit - slots[i].stackSize; } } - return false; + int moldsToCast = amount / mold.getCost(); + moldsToCast = Math.min(moldsToCast, freeSlots / mold.getOutput(type).stackSize); + moldsToCast = Math.min(moldsToCast, water.getFill() / getWaterRequired()); + moldsToCast = Math.min(moldsToCast, (steam.getMaxFill() - steam.getFill()) / getWaterRequired()); + + return moldsToCast; } public DirPos[] getFluidConPos() { @@ -137,12 +145,7 @@ public class TileEntityMachineStrandCaster extends TileEntityFoundryCastingBase ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - return new DirPos[] { - new DirPos(xCoord + rot.offsetX * 2 - dir.offsetX, yCoord, zCoord + rot.offsetZ * 2 - dir.offsetZ, rot), - new DirPos(xCoord - rot.offsetX - dir.offsetX, yCoord, zCoord - rot.offsetZ - dir.offsetZ, rot.getOpposite()), - new DirPos(xCoord + rot.offsetX * 2 - dir.offsetX * 5, yCoord, zCoord + rot.offsetZ * 2 - dir.offsetZ * 5, rot), - new DirPos(xCoord - rot.offsetX - dir.offsetX * 5, yCoord, zCoord - rot.offsetZ - dir.offsetZ * 5, rot.getOpposite()) - }; + return new DirPos[] { new DirPos(xCoord + rot.offsetX * 2 - dir.offsetX, yCoord, zCoord + rot.offsetZ * 2 - dir.offsetZ, rot), new DirPos(xCoord - rot.offsetX - dir.offsetX, yCoord, zCoord - rot.offsetZ - dir.offsetZ, rot.getOpposite()), new DirPos(xCoord + rot.offsetX * 2 - dir.offsetX * 5, yCoord, zCoord + rot.offsetZ * 2 - dir.offsetZ * 5, rot), new DirPos(xCoord - rot.offsetX - dir.offsetX * 5, yCoord, zCoord - rot.offsetZ - dir.offsetZ * 5, rot.getOpposite()) }; } public int[][] getMetalPourPos() { @@ -150,12 +153,7 @@ public class TileEntityMachineStrandCaster extends TileEntityFoundryCastingBase ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - return new int[][] { - new int[] { xCoord + rot.offsetX - dir.offsetX, yCoord + 2, zCoord + rot.offsetZ - dir.offsetZ }, - new int[] { xCoord - dir.offsetX, yCoord + 2, zCoord - dir.offsetZ }, - new int[] { xCoord + rot.offsetX, yCoord + 2, zCoord + rot.offsetZ }, - new int[] { xCoord, yCoord + 2, zCoord } - }; + return new int[][] { new int[] { xCoord + rot.offsetX - dir.offsetX, yCoord + 2, zCoord + rot.offsetZ - dir.offsetZ }, new int[] { xCoord - dir.offsetX, yCoord + 2, zCoord - dir.offsetZ }, new int[] { xCoord + rot.offsetX, yCoord + 2, zCoord + rot.offsetZ }, new int[] { xCoord, yCoord + 2, zCoord } }; } @Override @@ -191,7 +189,8 @@ public class TileEntityMachineStrandCaster extends TileEntityFoundryCastingBase @Override public boolean standardCheck(World world, int x, int y, int z, ForgeDirection side, Mats.MaterialStack stack) { - if(this.type != null && this.type != stack.material) return false; + if(this.type != null && this.type != stack.material) + return false; int limit = this.getInstalledMold() != null ? this.getInstalledMold().getCost() * 9 : this.getCapacity(); return !(this.amount >= limit || getInstalledMold() == null); } @@ -212,10 +211,11 @@ public class TileEntityMachineStrandCaster extends TileEntityFoundryCastingBase this.sendFluid(steam, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - @Override + + @Override public Mats.MaterialStack standardAdd(World world, int x, int y, int z, ForgeDirection side, Mats.MaterialStack stack) { this.type = stack.material; - int limit = this.getInstalledMold() != null ? this.getInstalledMold().getCost() * 9 : this.getCapacity(); + int limit = this.getInstalledMold() != null ? this.getInstalledMold().getCost() * 9 : this.getCapacity(); if(stack.amount + this.amount <= limit) { this.amount += stack.amount; return null; @@ -226,8 +226,11 @@ public class TileEntityMachineStrandCaster extends TileEntityFoundryCastingBase stack.amount -= required; + lastProgressTick = world.getWorldTime(); + return stack; } + @Override public FluidTank[] getSendingTanks() { return new FluidTank[] { steam }; @@ -250,20 +253,20 @@ public class TileEntityMachineStrandCaster extends TileEntityFoundryCastingBase @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineStrandCaster(player.inventory, this); } - public void networkPack(NBTTagCompound nbt, int range) { - if(!worldObj.isRemote) - PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(nbt, xCoord, yCoord, zCoord), new NetworkRegistry.TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); + @Override + public void serialize(ByteBuf buf) { + water.serialize(buf); + steam.serialize(buf); } @Override - public void networkUnpack(NBTTagCompound nbt) { - water.readFromNBT(nbt, "w"); - steam.readFromNBT(nbt, "s"); - + public void deserialize(ByteBuf buf) { + water.deserialize(buf); + steam.deserialize(buf); } @Override @@ -271,6 +274,7 @@ public class TileEntityMachineStrandCaster extends TileEntityFoundryCastingBase super.writeToNBT(nbt); water.writeToNBT(nbt, "w"); steam.writeToNBT(nbt, "s"); + nbt.setLong("t", lastProgressTick); } @Override @@ -278,11 +282,13 @@ public class TileEntityMachineStrandCaster extends TileEntityFoundryCastingBase super.readFromNBT(nbt); water.readFromNBT(nbt, "w"); steam.readFromNBT(nbt, "s"); + lastProgressTick = nbt.getLong("t"); } @Override public boolean isItemValidForSlot(int i, ItemStack stack) { - if(i == 0) return stack.getItem() == ModItems.mold; + if(i == 0) + return stack.getItem() == ModItems.mold; return false; } @@ -326,19 +332,13 @@ public class TileEntityMachineStrandCaster extends TileEntityFoundryCastingBase public AxisAlignedBB getRenderBoundingBox() { if(bb == null) { - bb = AxisAlignedBB.getBoundingBox( - xCoord - 7, - yCoord, - zCoord - 7, - xCoord + 7, - yCoord + 3, - zCoord + 7); + bb = AxisAlignedBB.getBoundingBox(xCoord - 7, yCoord, zCoord - 7, xCoord + 7, yCoord + 3, zCoord + 7); } return bb; } public boolean isLoaded = true; - + @Override public boolean isLoaded() { return isLoaded; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java index 0784cd130..cdcbea5a3 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java @@ -3,12 +3,14 @@ package com.hbm.tileentity.machine; import java.util.Iterator; import java.util.List; -import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energymk2.IEnergyReceiverMK2; +import com.hbm.util.BufferUtil; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.relauncher.ReflectionHelper; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityTracker; @@ -29,7 +31,7 @@ import net.minecraft.world.WorldServer; import net.minecraft.world.chunk.IChunkProvider; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineTeleporter extends TileEntityLoadedBase implements IEnergyReceiverMK2, INBTPacketReceiver { +public class TileEntityMachineTeleporter extends TileEntityLoadedBase implements IEnergyReceiverMK2, IBufPacketReceiver { public long power = 0; public int targetX = -1; @@ -41,25 +43,22 @@ public class TileEntityMachineTeleporter extends TileEntityLoadedBase implements @Override public void updateEntity() { - + if(!this.worldObj.isRemote) { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); - + if(this.targetY != -1) { List entities = this.worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(this.xCoord + 0.25, this.yCoord, this.zCoord + 0.25, this.xCoord + 0.75, this.yCoord + 2, this.zCoord + 0.75)); - + if(!entities.isEmpty()) { for(Entity e : entities) { teleport(e); } } } - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", power); - data.setIntArray("target", new int[] {targetX, targetY, targetZ, targetDim}); - INBTPacketReceiver.networkPack(this, data, 15); - + + networkPackNT(15); + } else { if(this.targetY != -1 && power >= consumption) { @@ -72,9 +71,15 @@ public class TileEntityMachineTeleporter extends TileEntityLoadedBase implements } @Override - public void networkUnpack(NBTTagCompound nbt) { - this.power = nbt.getLong("power"); - int[] target = nbt.getIntArray("target"); + public void serialize(ByteBuf buf) { + buf.writeLong(power); + BufferUtil.writeIntArray(buf, new int[] {targetX, targetY, targetZ, targetDim}); + } + + @Override + public void deserialize(ByteBuf buf) { + this.power = buf.readLong(); + int[] target = BufferUtil.readIntArray(buf); this.targetX = target[0]; this.targetY = target[1]; this.targetZ = target[2]; @@ -95,7 +100,7 @@ public class TileEntityMachineTeleporter extends TileEntityLoadedBase implements @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setLong("power", power); nbt.setInteger("x1", targetX); nbt.setInteger("y1", targetY); @@ -104,25 +109,25 @@ public class TileEntityMachineTeleporter extends TileEntityLoadedBase implements } public void teleport(Entity entity) { - + if(this.power < consumption) return; - + worldObj.playSoundEffect(xCoord + 0.5, yCoord + 1.5, zCoord + 0.5, "mob.endermen.portal", 1.0F, 1.0F); - + if((entity instanceof EntityPlayerMP)) { - + EntityPlayerMP player = (EntityPlayerMP) entity; if(entity.dimension == this.targetDim) { player.setPositionAndUpdate(this.targetX + 0.5D, this.targetY + 1.5D + entity.getYOffset(), this.targetZ + 0.5D); } else { teleportPlayerInterdimensionally(player, this.targetX + 0.5D, this.targetY + 1.5D + entity.getYOffset(), this.targetZ + 0.5D, this.targetDim); } - + } else { - + if(entity.dimension == this.targetDim) { entity.setPositionAndRotation(this.targetX + 0.5D, this.targetY + 1.5D + entity.getYOffset(), this.targetZ + 0.5D, entity.rotationYaw, entity.rotationPitch); - + try { EntityTracker entitytracker = ((WorldServer)worldObj).getEntityTracker(); IntHashMap map = ReflectionHelper.getPrivateValue(EntityTracker.class, entitytracker, "trackedEntityIDs", "field_72794_c"); @@ -138,21 +143,21 @@ public class TileEntityMachineTeleporter extends TileEntityLoadedBase implements teleportEntityInterdimensionally(entity, this.targetX + 0.5D, this.targetY + 1.5D + entity.getYOffset(), this.targetZ + 0.5D, this.targetDim); } } - + worldObj.playSoundEffect(entity.posX, entity.posY, entity.posZ, "mob.endermen.portal", 1.0F, 1.0F); - + this.power -= consumption; this.markDirty(); } - + /** Teleports a player to a different dimension, gracefully copied from ServerConfigurationManager */ public static boolean teleportPlayerInterdimensionally(EntityPlayerMP player, double x, double y, double z, int dim) { - + int prevDim = player.dimension; WorldServer prevWorld = player.mcServer.worldServerForDimension(prevDim); WorldServer newWorld = player.mcServer.worldServerForDimension(dim); player.dimension = dim; - + if(newWorld == null) return false; ServerConfigurationManager man = player.mcServer.getConfigurationManager(); @@ -160,15 +165,15 @@ public class TileEntityMachineTeleporter extends TileEntityLoadedBase implements net.sendPacket(new S07PacketRespawn(player.dimension, player.worldObj.difficultySetting, newWorld.getWorldInfo().getTerrainType(), player.theItemInWorldManager.getGameType())); prevWorld.removePlayerEntityDangerously(player); player.isDead = false; - + if(player.isEntityAlive()) { player.setLocationAndAngles(x, y, z, player.rotationYaw, player.rotationPitch); newWorld.spawnEntityInWorld(player); newWorld.updateEntityWithOptionalForce(player, false); } - + player.setWorld(newWorld); - + man.func_72375_a(player, prevWorld); net.setPlayerLocation(player.posX, player.posY, player.posZ, player.rotationYaw, player.rotationPitch); player.theItemInWorldManager.setWorld(newWorld); @@ -183,18 +188,18 @@ public class TileEntityMachineTeleporter extends TileEntityLoadedBase implements FMLCommonHandler.instance().firePlayerChangedDimensionEvent(player, prevDim, dim); return true; } - + /** Teleports non-player entities to different dimensions, gracefully copied from Entity */ public static boolean teleportEntityInterdimensionally(Entity oldEntity, double x, double y, double z, int dim) { MinecraftServer minecraftserver = MinecraftServer.getServer(); WorldServer newWorld = minecraftserver.worldServerForDimension(dim); - + if(newWorld == null) return false; oldEntity.worldObj.removeEntity(oldEntity); oldEntity.isDead = false; - + Entity entity = EntityList.createEntityByName(EntityList.getEntityString(oldEntity), newWorld); if(entity != null) { @@ -202,7 +207,7 @@ public class TileEntityMachineTeleporter extends TileEntityLoadedBase implements entity.setLocationAndAngles(x, y, z, entity.rotationYaw, entity.rotationPitch); newWorld.updateEntityWithOptionalForce(entity, false); entity.setWorld(newWorld); - + IChunkProvider provider = newWorld.getChunkProvider(); provider.loadChunk(((int) Math.floor(x)) >> 4, ((int) Math.floor(z)) >> 4); newWorld.spawnEntityInWorld(entity); @@ -210,7 +215,7 @@ public class TileEntityMachineTeleporter extends TileEntityLoadedBase implements oldEntity.isDead = true; newWorld.resetUpdateEntityTick(); - + return true; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTransformer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTransformer.java deleted file mode 100644 index f6b42b9f2..000000000 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTransformer.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.hbm.tileentity.machine; - -import net.minecraft.tileentity.TileEntity; - -public class TileEntityMachineTransformer extends TileEntity { -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java index f2ee81f2c..85e982856 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java @@ -13,6 +13,7 @@ import com.hbm.inventory.fluid.trait.FT_Coolable; import com.hbm.inventory.fluid.trait.FT_Coolable.CoolingType; import com.hbm.inventory.gui.GUIMachineTurbine; import com.hbm.lib.Library; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IConfigurableMachine; import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.IGUIProvider; @@ -31,7 +32,6 @@ import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; @@ -42,21 +42,21 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityMachineTurbine extends TileEntityLoadedBase implements ISidedInventory, IEnergyProviderMK2, IFluidStandardTransceiver, IBufPacketReceiver, IGUIProvider, SimpleComponent, IInfoProviderEC, CompatHandler.OCComponent, IConfigurableMachine{ +public class TileEntityMachineTurbine extends TileEntityLoadedBase implements ISidedInventory, IEnergyProviderMK2, IFluidStandardTransceiver, IBufPacketReceiver, IGUIProvider, SimpleComponent, IInfoProviderEC, CompatHandler.OCComponent, IConfigurableMachine, IFluidCopiable{ private ItemStack slots[]; public long power; public int age = 0; public FluidTank[] tanks; - + private static final int[] slots_top = new int[] {4}; private static final int[] slots_bottom = new int[] {6}; private static final int[] slots_side = new int[] {4}; - + private String customName; protected double[] info = new double[3]; - + //Configurable values public static long maxPower = 1_000_000; public static int inputTankSize = 64_000; @@ -133,9 +133,10 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS public boolean hasCustomInventoryName() { return this.customName != null && this.customName.length() > 0; } - + public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -152,7 +153,7 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64; } } - + //You scrubs aren't needed for anything (right now) @Override public void openInventory() {} @@ -161,14 +162,14 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS @Override public boolean isItemValidForSlot(int i, ItemStack stack) { - + if(i == 4) if(stack != null && stack.getItem() instanceof IBatteryItem) return true; - + return false; } - + @Override public ItemStack decrStackSize(int i, int j) { if(slots[i] != null) @@ -184,13 +185,13 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS { slots[i] = null; } - + return itemStack1; } else { return null; } } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -199,9 +200,9 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS tanks[0].readFromNBT(nbt, "water"); tanks[1].readFromNBT(nbt, "steam"); power = nbt.getLong("power"); - + slots = new ItemStack[getSizeInventory()]; - + for(int i = 0; i < list.tagCount(); i++) { NBTTagCompound nbt1 = list.getCompoundTagAt(i); @@ -211,17 +212,19 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); tanks[0].writeToNBT(nbt, "water"); tanks[1].writeToNBT(nbt, "steam"); nbt.setLong("power", power); - + NBTTagList list = new NBTTagList(); - + for(int i = 0; i < slots.length; i++) { if(slots[i] != null) @@ -233,8 +236,12 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } - + @Override public int[] getAccessibleSlotsFromSide(int p_94128_1_) { @@ -250,32 +257,32 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS public boolean canExtractItem(int i, ItemStack itemStack, int j) { return false; } - + public long getPowerScaled(int i) { return (power * i) / maxPower; } - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + this.info = new double[3]; - + age++; if(age >= 2) { age = 0; } - + this.subscribeToAllAround(tanks[0].getTankType(), this); - + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) this.tryProvide(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); tanks[0].setType(0, 1, slots); tanks[0].loadTank(2, 3, slots); power = Library.chargeItemsFromTE(slots, 4, power, maxPower); - + FluidType in = tanks[0].getTankType(); boolean valid = false; if(in.hasTrait(FT_Coolable.class)) { @@ -298,12 +305,12 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS } if(!valid) tanks[1].setTankType(Fluids.NONE); if(power > maxPower) power = maxPower; - + this.sendFluidToAll(tanks[1], this); - + tanks[1].unloadTank(5, 6, slots); - - this.sendStandard(25); + + this.networkPackNT(25); } } @@ -318,7 +325,7 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS tanks[0].deserialize(buf); tanks[1].deserialize(buf); } - + @Override public long getPower() { return power; @@ -355,29 +362,35 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS return "ntm_turbine"; } - @Callback(direct = true) + @Callback(direct = true, doc = "function():table -- Gets current tanks state. The format is the following: , , , ") @Optional.Method(modid = "OpenComputers") public Object[] getFluid(Context context, Arguments args) { return new Object[] {tanks[0].getFill(), tanks[0].getMaxFill(), tanks[1].getFill(), tanks[1].getMaxFill()}; } - @Callback(direct = true) + @Callback(direct = true, doc = "function():number -- Gets the current input tank fluid type. 0 stands for steam, 1 for dense steam, 2 for super dense steam and 3 for ultra dense steam.") @Optional.Method(modid = "OpenComputers") public Object[] getType(Context context, Arguments args) { - return CompatHandler.steamTypeToInt(tanks[1].getTankType()); + return CompatHandler.steamTypeToInt(tanks[0].getTankType()); } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 4, doc = "function(type:number) -- Sets the input tank fluid type. Refer getType() for the accepted values information.") @Optional.Method(modid = "OpenComputers") public Object[] setType(Context context, Arguments args) { tanks[0].setTankType(CompatHandler.intToSteamType(args.checkInteger(0))); return new Object[] {true}; } - @Callback(direct = true) + @Callback(direct = true, doc = "function():number -- Gets the power buffer of the turbine.") + @Optional.Method(modid = "OpenComputers") + public Object[] getPower(Context context, Arguments args) { + return new Object[] {power}; + } + + @Callback(direct = true, doc = "function():table -- Gets information about this turbine. The format is the following: , , , , , ") @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[] {tanks[0].getFill(), tanks[0].getMaxFill(), tanks[1].getFill(), tanks[1].getMaxFill(), CompatHandler.steamTypeToInt(tanks[0].getTankType())}; + return new Object[] {tanks[0].getFill(), tanks[0].getMaxFill(), tanks[1].getFill(), tanks[1].getMaxFill(), CompatHandler.steamTypeToInt(tanks[0].getTankType())[0], power}; } @Override @@ -387,7 +400,7 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineTurbine(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java index bcb00ea06..a198b14c5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java @@ -18,8 +18,10 @@ import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.BobMathUtil; import com.hbm.util.CompatEnergyControl; import api.hbm.energymk2.IEnergyProviderMK2; @@ -28,11 +30,11 @@ import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; @@ -42,41 +44,42 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityMachineTurbineGas extends TileEntityMachineBase implements IFluidStandardTransceiver, IEnergyProviderMK2, IControlReceiver, IGUIProvider, SimpleComponent, IInfoProviderEC, CompatHandler.OCComponent { - +public class TileEntityMachineTurbineGas extends TileEntityMachineBase implements IFluidStandardTransceiver, IEnergyProviderMK2, IControlReceiver, IGUIProvider, SimpleComponent, IInfoProviderEC, CompatHandler.OCComponent, IFluidCopiable { + public long power; public static final long maxPower = 1000000L; - + public int rpm; //0-100, crescent moon gauge, used for calculating the amount of power generated, starts past 10% public int temp; //0-800, used for figuring out how much water to boil, starts boiling at 300°C public int rpmIdle = 10; public int tempIdle = 300; - + public int powerSliderPos; //goes from 0 to 60, 0 is idle, 60 is max power public int throttle; //the same thing, but goes from 0 to 100 - + public boolean autoMode; public int state = 0; //0 is offline, -1 is startup, 1 is online - + public int counter = 0; //used to startup and shutdown public int instantPowerOutput; - + public double waterToBoil; + public FluidTank[] tanks; - + private AudioWrapper audio; - + public static HashMap fuelMaxCons = new HashMap(); //fuel consumption per tick at max power - + static { fuelMaxCons.put(Fluids.GAS, 50D); // natgas doesn't burn well so it burns faster to compensate fuelMaxCons.put(Fluids.SYNGAS, 10D); // syngas just fucks fuelMaxCons.put(Fluids.OXYHYDROGEN, 100D); // oxyhydrogen is terrible so it needs to burn a ton for the bare minimum - fuelMaxCons.put(Fluids.REFORMGAS, 5D); // fuck it we ball + fuelMaxCons.put(Fluids.REFORMGAS, 5D); // fuck it we ball // default to 5 if not in list } - + //TODO particles from heat exchanger maybe? maybe in a future - + public TileEntityMachineTurbineGas() { super(2); this.tanks = new FluidTank[4]; @@ -85,20 +88,24 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement tanks[2] = new FluidTank(Fluids.WATER, 16000); tanks[3] = new FluidTank(Fluids.HOTSTEAM, 160000); } - + + private long powerBeforeNet; + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + + waterToBoil = 0; //reset throttle = powerSliderPos * 100 / 60; - + if(slots[1] != null && slots[1].getItem() instanceof IItemFluidIdentifier) { FluidType fluid = ((IItemFluidIdentifier) slots[1].getItem()).getType(worldObj, xCoord, yCoord, zCoord, slots[1]); if(fluid.hasTrait(FT_Combustible.class) && fluid.getTrait(FT_Combustible.class).getGrade() == FuelGrade.GAS) { tanks[0].setTankType(fluid); } } +<<<<<<< HEAD if(autoMode) { //power production depending on power requirement and fuel level @@ -112,6 +119,14 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement powerSliderTarget = (int) ( tanks[0].getFill() * 0.0001 * (60 - (int) (60 * power / maxPower)) ); } +======= + + if(autoMode) { //power production depending on power requirement + + //scales the slider proportionally to the power gauge + int powerSliderTarget = 60 - (int) (60 * power / maxPower); + +>>>>>>> origin/master if(powerSliderTarget > powerSliderPos) { //makes the auto slider slide instead of snapping into position powerSliderPos++; } @@ -119,37 +134,36 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement powerSliderPos--; } } - - switch(state) { //what to do when turbine offline, starting up and online + + switch(state) { //what to do when turbine offline, starting up and online case 0: - shutdown(); + shutdown(); break; case -1: stopIfNotReady(); startup(); break; - case 1: + case 1: stopIfNotReady(); run(); break; default: break; } - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", Math.min(this.power, this.maxPower)); //set first to get an unmodified view of how much power was generated before deductions from the net - + + powerBeforeNet = Math.min(this.power, maxPower); + //do net/battery deductions first... power = Library.chargeItemsFromTE(slots, 0, power, maxPower); this.tryProvide(worldObj, xCoord - dir.offsetZ * 5, yCoord + 1, zCoord + dir.offsetX * 5, rot); //sends out power - + //...and then cap it. Prevents potential future cases where power would be limited due to the fuel being too strong and the buffer too small. if(this.power > this.maxPower) this.power = this.maxPower; - + for(int i = 0; i < 2; i++) { //fuel and lube this.trySubscribe(tanks[i].getTankType(), worldObj, xCoord - dir.offsetX * 2 + rot.offsetX, yCoord, zCoord - dir.offsetZ * 2 + rot.offsetZ, dir.getOpposite()); this.trySubscribe(tanks[i].getTankType(), worldObj, xCoord + dir.offsetX * 2 + rot.offsetX, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ, dir); @@ -159,47 +173,30 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement this.trySubscribe(tanks[2].getTankType(), worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * -4, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * -4, dir); //steam this.sendFluid(tanks[3], worldObj, xCoord + dir.offsetZ * 6, yCoord + 1, zCoord - dir.offsetX * 6, rot.getOpposite()); - - data.setInteger("rpm", this.rpm); - data.setInteger("temp", this.temp); - data.setInteger("state", this.state); - data.setBoolean("automode", this.autoMode); - data.setInteger("throttle", this.throttle); - data.setInteger("slidpos", this.powerSliderPos); - - if(state != 1) { - data.setInteger("counter", this.counter); //sent during startup and shutdown - } else { - data.setInteger("instantPow", this.instantPowerOutput); //sent while running - } - - tanks[0].writeToNBT(data, "fuel"); - tanks[1].writeToNBT(data, "lube"); - tanks[2].writeToNBT(data, "water"); - tanks[3].writeToNBT(data, "steam"); - - this.networkPack(data, 150); - + + this.networkPackNT(150); + } else { //client side, for sounds n shit - + if(rpm >= 10 && state != -1) { //if conditions are right, play the sound - + if(audio == null) { //if there is no sound playing, start it - - audio = MainRegistry.proxy.getLoopedSound("hbm:block.turbinegasRunning", xCoord, yCoord, zCoord, 1.0F, 20F, 2.0F); + + audio = MainRegistry.proxy.getLoopedSound("hbm:block.turbinegasRunning", xCoord, yCoord, zCoord, getVolume(1.0F), 20F, 2.0F, 20); audio.startSound(); - + } else if(!audio.isPlaying()) { audio.stopSound(); - audio = MainRegistry.proxy.getLoopedSound("hbm:block.turbinegasRunning", xCoord, yCoord, zCoord, 1.0F, 20F, 2.0F); + audio = MainRegistry.proxy.getLoopedSound("hbm:block.turbinegasRunning", xCoord, yCoord, zCoord, getVolume(1.0F), 20F, 2.0F, 20); audio.startSound(); } - + audio.updatePitch((float) (0.55 + 0.1 * rpm / 10)); //dynamic pitch update based on rpm audio.updateVolume(getVolume(2F)); //yeah i need this - + audio.keepAlive(); + } else { - + if(audio != null) { audio.stopSound(); audio = null; @@ -207,9 +204,54 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement } } } - + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(this.powerBeforeNet); + buf.writeInt(this.rpm); + buf.writeInt(this.temp); + buf.writeInt(this.state); + buf.writeBoolean(this.autoMode); + buf.writeInt(this.throttle); + buf.writeInt(this.powerSliderPos); + + if(state != 1) { + buf.writeInt(this.counter); //sent during startup and shutdown + } else { + buf.writeInt(this.instantPowerOutput); //sent while running + } + + tanks[0].serialize(buf); + tanks[1].serialize(buf); + tanks[2].serialize(buf); + tanks[3].serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + this.rpm = buf.readInt(); + this.temp = buf.readInt(); + this.state = buf.readInt(); + this.autoMode = buf.readBoolean(); + this.throttle = buf.readInt(); + this.powerSliderPos = buf.readInt(); + + if(state != 1) + this.counter = buf.readInt(); + else + this.instantPowerOutput = buf.readInt(); //state 1 + + this.tanks[0].deserialize(buf); + this.tanks[1].deserialize(buf); + this.tanks[2].deserialize(buf); + this.tanks[3].deserialize(buf); + } + private void stopIfNotReady() { - + if(tanks[0].getFill() == 0 || tanks[1].getFill() == 0) { state = 0; } @@ -217,20 +259,20 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement state = 0; } } - + public boolean hasAcceptableFuel() { - + if(tanks[0].getTankType().hasTrait(FT_Combustible.class)) { return tanks[0].getTankType().getTrait(FT_Combustible.class).getGrade() == FuelGrade.GAS; } - + return false; } - + private void startup() { - + counter++; - + if(counter <= 20) //rpm gauge 0-100-0 rpm = 5 * counter; else if (counter > 20 && counter <= 40) @@ -239,43 +281,43 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement rpm = (int) (rpmIdle * (counter - 50) / 530); //slowly ramps up temp and RPM temp = (int) (tempIdle * (counter - 50) / 530); } - + if(counter == 50) { - worldObj.playSoundEffect(xCoord, yCoord + 2, zCoord, "hbm:block.turbinegasStartup", 1F, 1.0F); + worldObj.playSoundEffect(xCoord, yCoord + 2, zCoord, "hbm:block.turbinegasStartup", getVolume(1.0F), 1.0F); } - + if(counter == 580) { state = 1; } } - - + + int rpmLast; //used to progressively slow down and cool the turbine without immediatly setting rpm and temp to 0 int tempLast; - + private void shutdown() { - + autoMode = false; instantPowerOutput = 0; - + if(powerSliderPos > 0) powerSliderPos--; - + if(rpm <= 10 && counter > 0) { - + if(counter == 225) { - - worldObj.playSoundEffect(xCoord, yCoord + 2, zCoord, "hbm:block.turbinegasShutdown", 1F, 1.0F); - + + worldObj.playSoundEffect(xCoord, yCoord + 2, zCoord, "hbm:block.turbinegasShutdown", getVolume(1.0F), 1.0F); + rpmLast = rpm; tempLast = temp; } - + counter--; - + rpm = (int) (rpmLast * (counter) / 225); temp = (int) (tempLast * (counter) / 225); - + } else if(rpm > 11) { //quickly slows down the turbine to idle before shutdown counter = 42069; //absolutely necessary to avoid fuckeries on shutdown rpm--; @@ -284,15 +326,15 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement rpm--; } } - + /** Dynamically calculates a (hopefully) sensible burn heat from the combustion energy, scales from 300°C - 800°C */ protected int getFluidBurnTemp(FluidType type) { double dFuel = type.hasTrait(FT_Combustible.class) ? type.getTrait(FT_Combustible.class).getCombustionEnergy() : 0; return (int) Math.floor(800D - (Math.pow(Math.E, -dFuel / 100_000D)) * 300D); } - + private void run() { - + if((int) (throttle * 0.9) > rpm - rpmIdle) { //simulates the rotor's moment of inertia if(worldObj.getTotalWorldTime() % 5 == 0) { rpm++; @@ -302,9 +344,9 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement rpm--; } } - + int maxTemp = getFluidBurnTemp(tanks[0].getTankType()); // fuelMaxTemp.get(tanks[0].getTankType()) - + if(throttle * 5 * (maxTemp - tempIdle) / 500 > temp - tempIdle) { //simulates the heat exchanger's resistance to temperature variation if(worldObj.getTotalWorldTime() % 2 == 0) { temp++; @@ -314,30 +356,28 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement temp--; } } - + double consumption = fuelMaxCons.containsKey(tanks[0].getTankType()) ? fuelMaxCons.get(tanks[0].getTankType()) : 5D; if(worldObj.getTotalWorldTime() % 20 == 0 && tanks[0].getTankType() != Fluids.OXYHYDROGEN) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 3); makePower(consumption, throttle); } - - + + double fuelToConsume; //used to consume 1 mb of fuel at a time when consumption is <1 mb/tick - double waterToBoil; - double waterPerTick = 0; - + private void makePower(double consMax, int throttle) { - + double idleConsumption = consMax * 0.05D; double consumption = idleConsumption + consMax * throttle / 100; - + fuelToConsume += consumption; - + tanks[0].setFill(tanks[0].getFill() - (int) Math.floor(fuelToConsume)); fuelToConsume -= (int) Math.floor(fuelToConsume); - - if(worldObj.getTotalWorldTime() % 10 == 0) //lube consumption + + if(worldObj.getTotalWorldTime() % 10 == 0) //lube consumption tanks[1].setFill(tanks[1].getFill() - 1); - + if(tanks[0].getFill() < 0) { //avoids negative amounts of fluid tanks[0].setFill(0); state = 0; @@ -346,16 +386,16 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement tanks[1].setFill(0); state = 0; } - - + + long energy = 0; //energy per mb of fuel - + if(tanks[0].getTankType().hasTrait(FT_Combustible.class)) { energy = tanks[0].getTankType().getTrait(FT_Combustible.class).getCombustionEnergy() / 1000L; } - + int rpmEff = rpm - rpmIdle; // RPM above idle level, 0-90 - + //consMax*energy is equivalent to power production at 100% if(instantPowerOutput < (consMax * energy * rpmEff / 90)) { //this shit avoids power rising in steps of 2000 or so HE at a time, instead it does it smoothly instantPowerOutput += Math.random() * 0.005 * consMax * energy; @@ -368,47 +408,22 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement instantPowerOutput = (int) (consMax * energy * rpmEff / 90); } this.power += instantPowerOutput; + + double waterPerTick = (consMax * energy * (temp - tempIdle) / 220000); //it just works fuck you + + this.waterToBoil = waterPerTick; //caching in a field for the EC compat to use - waterPerTick = (consMax * energy * (temp - tempIdle) / 220000); //it just works fuck you + int heatCycles = (int) Math.floor(waterToBoil); + int waterCycles = tanks[2].getFill(); + int steamCycles = (tanks[3].getMaxFill() - tanks[3].getFill()) / 10; + int cycles = BobMathUtil.min(heatCycles, waterCycles, steamCycles); - if(tanks[2].getFill() >= Math.ceil(waterPerTick)) { //checks if there's enough water to boil - - waterToBoil += waterPerTick; - - if(tanks[3].getFill() <= 160000 - waterToBoil * 10) { //checks if there's room for steam in the tank - - tanks[2].setFill(tanks[2].getFill() - (int) Math.floor(waterToBoil)); - tanks[3].setFill(tanks[3].getFill() + 10 * (int) Math.floor(waterToBoil)); - waterToBoil -= (int) Math.floor(waterToBoil); - } - } + tanks[2].setFill(tanks[2].getFill() - cycles); + tanks[3].setFill(tanks[3].getFill() + cycles * 10); } - + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.power = nbt.getLong("power"); - this.rpm = nbt.getInteger("rpm"); - this.temp = nbt.getInteger("temp"); - this.state = nbt.getInteger("state"); - this.autoMode = nbt.getBoolean("automode"); - this.powerSliderPos = nbt.getInteger("slidpos"); - this.throttle = nbt.getInteger("throttle"); - - if(nbt.hasKey("counter")) - this.counter = nbt.getInteger("counter"); //state 0 and -1 - else - this.instantPowerOutput = nbt.getInteger("instantPow"); //state 1 - - this.tanks[0].readFromNBT(nbt, "fuel"); - this.tanks[1].readFromNBT(nbt, "lube"); - this.tanks[2].readFromNBT(nbt, "water"); - this.tanks[3].readFromNBT(nbt, "steam"); - } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -425,11 +440,11 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement this.instantPowerOutput = nbt.getInteger("instPwr"); this.counter = nbt.getInteger("counter"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + tanks[0].writeToNBT(nbt, "gas"); tanks[1].writeToNBT(nbt, "lube"); tanks[2].writeToNBT(nbt, "water"); @@ -455,24 +470,24 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement @Override public void receiveControl(NBTTagCompound data) { - + if(data.hasKey("slidPos")) powerSliderPos = data.getInteger("slidPos"); - + if(data.hasKey("autoMode")) autoMode = data.getBoolean("autoMode"); - + if(data.hasKey("state")) state = data.getInteger("state"); this.markDirty(); } - + @Override public boolean hasPermission(EntityPlayer player) { return Vec3.createVectorHelper(xCoord - player.posX, yCoord - player.posY, zCoord - player.posZ).lengthVector() < 25; } - + @Override public void onChunkUnload() { @@ -502,17 +517,17 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement public long getPower() { return this.power; } - + @Override public long getMaxPower() { return this.maxPower; } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 5, @@ -523,10 +538,10 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement zCoord + 6 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -552,7 +567,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement public FluidTank[] getSendingTanks() { return new FluidTank[] { tanks[3] }; } - + @Override public boolean canConnect(ForgeDirection dir) { return dir != ForgeDirection.DOWN; @@ -703,7 +718,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineTurbineGas(player.inventory, this); } @@ -717,4 +732,4 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement data.setDouble(CompatEnergyControl.D_CONSUMPTION_MB, this.waterToBoil); data.setDouble(CompatEnergyControl.D_OUTPUT_MB, this.waterToBoil * 10); } -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java index d0e1306bc..6b804feaa 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java @@ -1,11 +1,13 @@ package com.hbm.tileentity.machine; +import java.util.HashMap; import java.util.List; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; import com.hbm.handler.MultiblockHandlerXR; -import com.hbm.inventory.UpgradeManager; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerMachineTurbofan; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -18,15 +20,15 @@ import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachinePolluting; import com.hbm.util.CompatEnergyControl; -import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.fluid.IFluidStandardTransceiver; @@ -34,7 +36,7 @@ import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -47,13 +49,13 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implements IEnergyProviderMK2, IFluidStandardTransceiver, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC { +public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implements IEnergyProviderMK2, IFluidStandardTransceiver, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC, IFluidCopiable { public long power; public static final long maxPower = 1_000_000; public FluidTank tank; public FluidTank blood; - + public int afterburner; public boolean wasOn; public boolean showBlood = false; @@ -63,9 +65,11 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem public float spin; public float lastSpin; public int momentum = 0; - + private AudioWrapper audio; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public TileEntityMachineTurbofan() { super(5, 150); tank = new FluidTank(Fluids.KEROSENE, 24000); @@ -90,7 +94,7 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setLong("powerTime", power); tank.writeToNBT(nbt, "fuel"); blood.writeToNBT(nbt, "blood"); @@ -100,12 +104,12 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem public long getPowerScaled(long i) { return (power * i) / maxPower; } - + protected DirPos[] getConPos() { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10).getRotation(ForgeDirection.UP); ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); - + return new DirPos[] { new DirPos(this.xCoord + rot.offsetX * 2, this.yCoord, this.zCoord + rot.offsetZ * 2, rot), new DirPos(this.xCoord + rot.offsetX * 2 - dir.offsetX, this.yCoord, this.zCoord + rot.offsetZ * 2 - dir.offsetZ, rot), @@ -116,12 +120,12 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + this.output = 0; this.consumption = 0; - + //meta below 12 means that it's an old multiblock configuration if(this.getBlockMetadata() < 12) { //get old direction @@ -143,54 +147,65 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem worldObj.getTileEntity(xCoord, yCoord, zCoord).readFromNBT(data); return; } - + tank.setType(4, slots); tank.loadTank(0, 1, slots); blood.setTankType(Fluids.BLOOD); - + this.wasOn = false; - - UpgradeManager.eval(slots, 2, 2); - this.afterburner = UpgradeManager.getLevel(UpgradeType.AFTERBURN); - + + upgradeManager.checkSlots(this, slots, 2, 2); + this.afterburner = upgradeManager.getLevel(UpgradeType.AFTERBURN); + if(slots[2] != null && slots[2].getItem() == ModItems.flame_pony) this.afterburner = 100; - + long burnValue = 0; int amount = 1 + this.afterburner; - - if(tank.getTankType().hasTrait(FT_Combustible.class) && tank.getTankType().getTrait(FT_Combustible.class).getGrade() == FuelGrade.AERO) { - burnValue = tank.getTankType().getTrait(FT_Combustible.class).getCombustionEnergy() / 1_000; - } - int amountToBurn = Math.min(amount, this.tank.getFill()); - if(amountToBurn > 0) { - this.wasOn = true; - this.tank.setFill(this.tank.getFill() - amountToBurn); - this.output = (int) (burnValue * amountToBurn * (1 + Math.min(this.afterburner / 3D, 4))); - this.power += this.output; - this.consumption = amountToBurn; - - if(worldObj.getTotalWorldTime() % 20 == 0) super.pollute(tank.getTankType(), FluidTrait.FluidReleaseType.BURN, amountToBurn * 5);; + boolean redstone = false; + + for(DirPos pos : getConPos()) { + if(this.worldObj.isBlockIndirectlyGettingPowered(pos.getX(), pos.getY(), pos.getZ())) { + redstone = true; + break; + } } + if(!redstone) { + + if(tank.getTankType().hasTrait(FT_Combustible.class) && tank.getTankType().getTrait(FT_Combustible.class).getGrade() == FuelGrade.AERO) { + burnValue = tank.getTankType().getTrait(FT_Combustible.class).getCombustionEnergy() / 1_000; + } + + if(amountToBurn > 0) { + this.wasOn = true; + this.tank.setFill(this.tank.getFill() - amountToBurn); + this.output = (int) (burnValue * amountToBurn * (1 + Math.min(this.afterburner / 3D, 4))); + this.power += this.output; + this.consumption = amountToBurn; + + if(worldObj.getTotalWorldTime() % 20 == 0) super.pollute(tank.getTankType(), FluidTrait.FluidReleaseType.BURN, amountToBurn * 5);; + } + } + power = Library.chargeItemsFromTE(slots, 3, power, power); - + for(DirPos pos : getConPos()) { this.tryProvide(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); if(this.blood.getFill() > 0) this.sendFluid(blood, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.sendSmoke(pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - + if(burnValue > 0 && amountToBurn > 0) { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10).getRotation(ForgeDirection.UP); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + if(this.afterburner > 0) { - + for(int i = 0; i < 2; i++) { double speed = 2 + worldObj.rand.nextDouble() * 3; double deviation = worldObj.rand.nextGaussian() * 0.2; @@ -199,39 +214,39 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem data.setDouble("mX", -dir.offsetX * speed + deviation); data.setDouble("mZ", -dir.offsetZ * speed + deviation); data.setFloat("scale", 8F); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, this.xCoord + 0.5F - dir.offsetX * (3 - i), this.yCoord + 1.5F, this.zCoord + 0.5F - dir.offsetZ * (3 - i)), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, this.xCoord + 0.5F - dir.offsetX * (3 - i), this.yCoord + 1.5F, this.zCoord + 0.5F - dir.offsetZ * (3 - i)), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); } - + /*if(this.afterburner > 90 && worldObj.rand.nextInt(60) == 0) { worldObj.newExplosion(null, xCoord + 0.5 + dir.offsetX * 3.5, yCoord + 0.5, zCoord + 0.5 + dir.offsetZ * 3.5, 3F, false, false); }*/ - + if(this.afterburner > 90 && worldObj.rand.nextInt(30) == 0) { worldObj.playSoundEffect(xCoord + 0.5, yCoord + 1.5, zCoord + 0.5, "hbm:block.damage", 3.0F, 0.95F + worldObj.rand.nextFloat() * 0.2F); } - + if(this.afterburner > 90) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "gasfire"); data.setDouble("mY", 0.1 * worldObj.rand.nextDouble()); data.setFloat("scale", 4F); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, this.xCoord + 0.5F + dir.offsetX * (worldObj.rand.nextDouble() * 4 - 2) + rot.offsetX * (worldObj.rand.nextDouble() * 2 - 1), this.yCoord + 1F + worldObj.rand.nextDouble() * 2, this.zCoord + 0.5F - dir.offsetZ * (worldObj.rand.nextDouble() * 4 - 2) + rot.offsetZ * (worldObj.rand.nextDouble() * 2 - 1) ), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); } } - + double minX = this.xCoord + 0.5 - dir.offsetX * 3.5 - rot.offsetX * 1.5; double maxX = this.xCoord + 0.5 - dir.offsetX * 19.5 + rot.offsetX * 1.5; double minZ = this.zCoord + 0.5 - dir.offsetZ * 3.5 - rot.offsetZ * 1.5; double maxZ = this.zCoord + 0.5 - dir.offsetZ * 19.5 + rot.offsetZ * 1.5; - + List list = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(Math.min(minX, maxX), yCoord, Math.min(minZ, maxZ), Math.max(minX, maxX), yCoord + 3, Math.max(minZ, maxZ))); - + for(Entity e : list) { - + if(this.afterburner > 0) { e.setFire(5); e.attackEntityFrom(DamageSource.onFire, 5F); @@ -239,40 +254,40 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem e.motionX -= dir.offsetX * 0.2; e.motionZ -= dir.offsetZ * 0.2; } - + minX = this.xCoord + 0.5 + dir.offsetX * 3.5 - rot.offsetX * 1.5; maxX = this.xCoord + 0.5 + dir.offsetX * 8.5 + rot.offsetX * 1.5; minZ = this.zCoord + 0.5 + dir.offsetZ * 3.5 - rot.offsetZ * 1.5; maxZ = this.zCoord + 0.5 + dir.offsetZ * 8.5 + rot.offsetZ * 1.5; - + list = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(Math.min(minX, maxX), yCoord, Math.min(minZ, maxZ), Math.max(minX, maxX), yCoord + 3, Math.max(minZ, maxZ))); - + for(Entity e : list) { e.motionX -= dir.offsetX * 0.2; e.motionZ -= dir.offsetZ * 0.2; } - + minX = this.xCoord + 0.5 + dir.offsetX * 3.5 - rot.offsetX * 1.5; maxX = this.xCoord + 0.5 + dir.offsetX * 3.75 + rot.offsetX * 1.5; minZ = this.zCoord + 0.5 + dir.offsetZ * 3.5 - rot.offsetZ * 1.5; maxZ = this.zCoord + 0.5 + dir.offsetZ * 3.75 + rot.offsetZ * 1.5; - + list = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(Math.min(minX, maxX), yCoord, Math.min(minZ, maxZ), Math.max(minX, maxX), yCoord + 3, Math.max(minZ, maxZ))); - + for(Entity e : list) { e.attackEntityFrom(ModDamageSource.turbofan, 1000); e.setInWeb(); - + if(!e.isEntityAlive() && e instanceof EntityLivingBase) { NBTTagCompound vdat = new NBTTagCompound(); vdat.setString("type", "giblets"); vdat.setInteger("ent", e.getEntityId()); vdat.setInteger("cDiv", 5); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(vdat, e.posX, e.posY + e.height * 0.5, e.posZ), new TargetPoint(e.dimension, e.posX, e.posY + e.height * 0.5, e.posZ, 150)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(vdat, e.posX, e.posY + e.height * 0.5, e.posZ), new TargetPoint(e.dimension, e.posX, e.posY + e.height * 0.5, e.posZ, 150)); + worldObj.playSoundEffect(e.posX, e.posY, e.posZ, "mob.zombie.woodbreak", 2.0F, 0.95F + worldObj.rand.nextFloat() * 0.2F); - - blood.setFill(blood.getFill() + 50); + + blood.setFill(blood.getFill() + 50); if(blood.getFill() > blood.getMaxFill()) { blood.setFill(blood.getMaxFill()); } @@ -280,24 +295,17 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem } } } - + if(this.power > this.maxPower) { this.power = this.maxPower; } - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", power); - data.setByte("after", (byte) afterburner); - data.setBoolean("wasOn", wasOn); - data.setBoolean("showBlood", showBlood); - tank.writeToNBT(data, "tank"); - blood.writeToNBT(data, "blood"); - this.networkPack(data, 150); - + + this.networkPackNT(150); + } else { - + this.lastSpin = this.spin; - + if(wasOn) { if(this.momentum < 100F) this.momentum++; @@ -305,16 +313,16 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem if(this.momentum > 0) this.momentum--; } - + this.spin += momentum / 2; - + if(this.spin >= 360) { this.spin -= 360F; this.lastSpin -= 360F; } if(momentum > 0) { - + if(audio == null) { audio = createAudioLoop(); audio.startSound(); @@ -325,9 +333,9 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem audio.keepAlive(); audio.updateVolume(getVolume(momentum / 50F)); audio.updatePitch(momentum / 200F + 0.5F + this.afterburner * 0.16F); - + } else { - + if(audio != null) { audio.stopSound(); audio = null; @@ -346,37 +354,37 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem double maxX = this.xCoord + 0.5 - dir.offsetX * 19.5 + rot.offsetX * 1.5; double minZ = this.zCoord + 0.5 - dir.offsetZ * 3.5 - rot.offsetZ * 1.5; double maxZ = this.zCoord + 0.5 - dir.offsetZ * 19.5 + rot.offsetZ * 1.5; - + List list = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(Math.min(minX, maxX), yCoord, Math.min(minZ, maxZ), Math.max(minX, maxX), yCoord + 3, Math.max(minZ, maxZ))); - + for(Entity e : list) { if(e == MainRegistry.proxy.me()) { e.motionX -= dir.offsetX * 0.2; e.motionZ -= dir.offsetZ * 0.2; } } - + minX = this.xCoord + 0.5 + dir.offsetX * 3.5 - rot.offsetX * 1.5; maxX = this.xCoord + 0.5 + dir.offsetX * 8.5 + rot.offsetX * 1.5; minZ = this.zCoord + 0.5 + dir.offsetZ * 3.5 - rot.offsetZ * 1.5; maxZ = this.zCoord + 0.5 + dir.offsetZ * 8.5 + rot.offsetZ * 1.5; - + list = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(Math.min(minX, maxX), yCoord, Math.min(minZ, maxZ), Math.max(minX, maxX), yCoord + 3, Math.max(minZ, maxZ))); - + for(Entity e : list) { if(e == MainRegistry.proxy.me()) { e.motionX -= dir.offsetX * 0.2; e.motionZ -= dir.offsetZ * 0.2; } } - + minX = this.xCoord + 0.5 + dir.offsetX * 3.5 - rot.offsetX * 1.5; maxX = this.xCoord + 0.5 + dir.offsetX * 3.75 + rot.offsetX * 1.5; minZ = this.zCoord + 0.5 + dir.offsetZ * 3.5 - rot.offsetZ * 1.5; maxZ = this.zCoord + 0.5 + dir.offsetZ * 3.75 + rot.offsetZ * 1.5; - + list = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(Math.min(minX, maxX), yCoord, Math.min(minZ, maxZ), Math.max(minX, maxX), yCoord + 3, Math.max(minZ, maxZ))); - + for(Entity e : list) { if(e == MainRegistry.proxy.me()) { e.setInWeb(); @@ -385,18 +393,29 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem } } } - - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.power = nbt.getLong("power"); - this.afterburner = nbt.getByte("after"); - this.wasOn = nbt.getBoolean("wasOn"); - this.showBlood = nbt.getBoolean("showBlood"); - tank.readFromNBT(nbt, "tank"); - blood.readFromNBT(nbt, "blood"); + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(power); + buf.writeByte((byte) afterburner); + buf.writeBoolean(wasOn); + buf.writeBoolean(showBlood); + tank.serialize(buf); + blood.serialize(buf); } - + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + this.afterburner = buf.readByte(); + this.wasOn = buf.readBoolean(); + this.showBlood = buf.readBoolean(); + tank.deserialize(buf); + blood.deserialize(buf); + } + public AudioWrapper createAudioLoop() { return MainRegistry.proxy.getLoopedSound("hbm:block.turbofanOperate", xCoord, yCoord, zCoord, 1.0F, 50F, 1.0F, 20); } @@ -435,7 +454,7 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem public void setPower(long i) { this.power = i; } - + @Override public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; @@ -469,7 +488,7 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineTurbofan(player.inventory, this); } @@ -488,9 +507,10 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.AFTERBURN) return 3; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.AFTERBURN, 3); + return upgrades; } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineWoodBurner.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineWoodBurner.java index 46de4e4e1..3a1ebe90b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineWoodBurner.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineWoodBurner.java @@ -14,6 +14,7 @@ import com.hbm.items.ModItems; import com.hbm.items.ItemEnums.EnumAshType; import com.hbm.lib.Library; import com.hbm.module.ModuleBurnTime; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.CompatEnergyControl; @@ -25,7 +26,6 @@ import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -34,7 +34,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineWoodBurner extends TileEntityMachineBase implements IFluidStandardReceiver, IControlReceiver, IEnergyProviderMK2, IGUIProvider, IInfoProviderEC { +public class TileEntityMachineWoodBurner extends TileEntityMachineBase implements IFluidStandardReceiver, IControlReceiver, IEnergyProviderMK2, IGUIProvider, IInfoProviderEC, IFluidCopiable { public long power; public static final long maxPower = 100_000; @@ -95,7 +95,9 @@ public class TileEntityMachineWoodBurner extends TileEntityMachineBase implement if(processAsh(ashLevelMisc, EnumAshType.MISC, threshold)) ashLevelMisc -= threshold; this.maxBurnTime = this.burnTime = burn; + ItemStack container = slots[0].getItem().getContainerItem(slots[0]); this.decrStackSize(0, 1); + if(slots[0] == null && container != null) slots[0] = container.copy(); this.markChanged(); } } @@ -234,7 +236,7 @@ public class TileEntityMachineWoodBurner extends TileEntityMachineBase implement @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineWoodBurner(player.inventory, this); } @@ -321,4 +323,9 @@ public class TileEntityMachineWoodBurner extends TileEntityMachineBase implement if(this.liquidBurn) data.setDouble(CompatEnergyControl.D_CONSUMPTION_MB, 1D); data.setDouble(CompatEnergyControl.D_OUTPUT_HE, power); } + + @Override + public FluidTank getTankToPaste() { + return tank; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMicrowave.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMicrowave.java index b6e4e9d55..5f81bccb6 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMicrowave.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMicrowave.java @@ -1,6 +1,11 @@ package com.hbm.tileentity.machine; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.EntityProcessorCrossSmooth; +import com.hbm.explosion.vanillant.standard.ExplosionEffectWeapon; +import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; import com.hbm.handler.CompatHandler; +import com.hbm.interfaces.ICopiable; import com.hbm.inventory.container.ContainerMicrowave; import com.hbm.inventory.gui.GUIMicrowave; import com.hbm.lib.Library; @@ -11,11 +16,11 @@ import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemFood; @@ -29,7 +34,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityMicrowave extends TileEntityMachineBase implements IEnergyReceiverMK2, IGUIProvider, SimpleComponent, CompatHandler.OCComponent { +public class TileEntityMicrowave extends TileEntityMachineBase implements IEnergyReceiverMK2, IGUIProvider, SimpleComponent, CompatHandler.OCComponent, ICopiable { public long power; public static final long maxPower = 50000; @@ -61,7 +66,11 @@ public class TileEntityMicrowave extends TileEntityMachineBase implements IEnerg if(speed >= maxSpeed) { worldObj.func_147480_a(xCoord, yCoord, zCoord, false); - worldObj.newExplosion(null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 7.5F, true, true); + ExplosionVNT vnt = new ExplosionVNT(worldObj, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 5); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, 50)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.setSFX(new ExplosionEffectWeapon(10, 2.5F, 1F)); + vnt.explode(); return; } @@ -75,21 +84,25 @@ public class TileEntityMicrowave extends TileEntityMachineBase implements IEnerg time += speed * 2; } } - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", power); - data.setInteger("time", time); - data.setInteger("speed", speed); - networkPack(data, 50); + + networkPackNT(50); } } - - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - - power = data.getLong("power"); - time = data.getInteger("time"); - speed = data.getInteger("speed"); + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(power); + buf.writeInt(time); + buf.writeInt(speed); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + power = buf.readLong(); + time = buf.readInt(); + speed = buf.readInt(); } public void handleButtonPacket(int value, int meta) { @@ -251,7 +264,24 @@ public class TileEntityMicrowave extends TileEntityMachineBase implements IEnerg @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMicrowave(player.inventory, this); } + + @Override + public NBTTagCompound getSettings(World world, int x, int y, int z) { + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setInteger("microSpeed", speed); + return null; + } + + @Override + public void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + if(nbt.hasKey("microSpeed")) speed = nbt.getInteger("microSpeed"); + } + + @Override + public String[] infoForDisplay(World world, int x, int y, int z) { + return new String[]{ "copyTool.speed"}; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityNukeFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityNukeFurnace.java deleted file mode 100644 index 251ce6270..000000000 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityNukeFurnace.java +++ /dev/null @@ -1,413 +0,0 @@ -package com.hbm.tileentity.machine; - -import java.util.HashMap; - -import com.hbm.blocks.machine.MachineNukeFurnace; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.inventory.container.ContainerNukeFurnace; -import com.hbm.inventory.gui.GUINukeFurnace; -import com.hbm.items.ItemCustomLore; -import com.hbm.items.ModItems; -import com.hbm.items.machine.ItemBreedingRod.BreedingRodType; -import com.hbm.tileentity.IGUIProvider; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.FurnaceRecipes; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class TileEntityNukeFurnace extends TileEntity implements ISidedInventory, IGUIProvider { - - private ItemStack slots[]; - - public int dualCookTime; - public int dualPower; - public static final int maxPower = 1000; - public static final int processingSpeed = 25; - - private static final int[] slots_top = new int[] {1}; - private static final int[] slots_bottom = new int[] {2, 0}; - private static final int[] slots_side = new int[] {0}; - - private String customName; - - public TileEntityNukeFurnace() { - slots = new ItemStack[3]; - } - - @Override - public int getSizeInventory() { - return slots.length; - } - - @Override - public ItemStack getStackInSlot(int i) { - return slots[i]; - } - - @Override - public ItemStack getStackInSlotOnClosing(int i) { - if(slots[i] != null) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } else { - return null; - } - } - - @Override - public void setInventorySlotContents(int i, ItemStack itemStack) { - slots[i] = itemStack; - if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.nukeFurnace"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) - { - return false; - }else{ - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64; - } - } - - //You scrubs aren't needed for anything (right now) - @Override - public void openInventory() {} - @Override - public void closeInventory() {} - - @Override - public boolean isItemValidForSlot(int i, ItemStack itemStack) { - return true; - } - - public boolean hasItemPower(ItemStack itemStack) { - return getItemPower(itemStack) > 0; - } - - private static int getItemPower(ItemStack stack) { - if(stack == null) { - return 0; - } else { - - int power = getFuelValue(stack); - - return power; - } - } - - @Override - public ItemStack decrStackSize(int i, int j) { - if(slots[i] != null) - { - if(slots[i].stackSize <= j) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } - ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) - { - slots[i] = null; - } - - return itemStack1; - } else { - return null; - } - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - NBTTagList list = nbt.getTagList("items", 10); - - dualPower = nbt.getShort("powerTime"); - dualCookTime = nbt.getShort("CookTime"); - slots = new ItemStack[getSizeInventory()]; - - for(int i = 0; i < list.tagCount(); i++) - { - NBTTagCompound nbt1 = list.getCompoundTagAt(i); - byte b0 = nbt1.getByte("slot"); - if(b0 >= 0 && b0 < slots.length) - { - slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); - } - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setShort("powerTime", (short) dualPower); - nbt.setShort("cookTime", (short) dualCookTime); - NBTTagList list = new NBTTagList(); - - for(int i = 0; i < slots.length; i++) - { - if(slots[i] != null) - { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte)i); - slots[i].writeToNBT(nbt1); - list.appendTag(nbt1); - } - } - nbt.setTag("items", list); - } - - @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) - { - return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side); - } - - @Override - public boolean canInsertItem(int i, ItemStack itemStack, int j) { - if(i == 0) - { - if(itemStack.getItem() instanceof ItemCustomLore) - { - return true; - } - - return false; - } - - return true; - } - - @Override - public boolean canExtractItem(int i, ItemStack itemStack, int j) { - if(i == 0) - { - if(itemStack.getItem() == ModItems.rod_empty || itemStack.getItem() == ModItems.rod_dual_empty || itemStack.getItem() == ModItems.rod_quad_empty) - { - return true; - } - - return false; - } - - return true; - } - - public int getDiFurnaceProgressScaled(int i) { - return (dualCookTime * i) / processingSpeed; - } - - public int getPowerRemainingScaled(int i) { - return (dualPower * i) / maxPower; - } - - public boolean canProcess() { - if(slots[1] == null) - { - return false; - } - ItemStack itemStack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[1]); - if(itemStack == null) - { - return false; - } - - if(slots[2] == null) - { - return true; - } - - if(!slots[2].isItemEqual(itemStack)) { - return false; - } - - if(slots[2].stackSize < getInventoryStackLimit() && slots[2].stackSize < slots[2].getMaxStackSize()) { - return true; - }else{ - return slots[2].stackSize < itemStack.getMaxStackSize(); - } - } - - private void processItem() { - if(canProcess()) { - ItemStack itemStack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[1]); - - if(slots[2] == null) - { - slots[2] = itemStack.copy(); - }else if(slots[2].isItemEqual(itemStack)) { - slots[2].stackSize += itemStack.stackSize; - } - - for(int i = 1; i < 2; i++) - { - if(slots[i].stackSize <= 0) - { - slots[i] = new ItemStack(slots[i].getItem().setFull3D()); - }else{ - slots[i].stackSize--; - } - if(slots[i].stackSize <= 0) - { - slots[i] = null; - } - } - - { - dualPower--; - } - } - } - - public boolean hasPower() { - return dualPower > 0; - } - - public boolean isProcessing() { - return this.dualCookTime > 0; - } - - @Override - public void updateEntity() { - this.hasPower(); - boolean flag1 = false; - - if(!worldObj.isRemote) - { - if(this.hasItemPower(this.slots[0]) && this.dualPower == 0) - { - this.dualPower += getItemPower(this.slots[0]); - if(this.slots[0] != null) - { - flag1 = true; - this.slots[0].stackSize--; - if(this.slots[0].stackSize == 0) - { - this.slots[0] = this.slots[0].getItem().getContainerItem(this.slots[0]); - } - } - } - - if(hasPower() && canProcess()) - { - dualCookTime++; - - if(this.dualCookTime == TileEntityNukeFurnace.processingSpeed) - { - this.dualCookTime = 0; - this.processItem(); - flag1 = true; - } - }else{ - dualCookTime = 0; - } - - boolean trigger = true; - - if(hasPower() && canProcess() && this.dualCookTime == 0) - { - trigger = false; - } - - if(trigger) - { - flag1 = true; - MachineNukeFurnace.updateBlockState(this.dualCookTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); - } - } - - if(flag1) - { - this.markDirty(); - } - } - - private static HashMap fuels = new HashMap(); - //for the int array: [0] => level (1-4) [1] => amount of operations - - /* - * I really don't want to have to do this, but it's better then making a new class, for one TE, for not even recipes but just *fuels* - * - * Who even uses this furnace? Nobody, but it's better then removing it without prior approval - */ - public static void registerFuels() { - setRecipe(BreedingRodType.TRITIUM, 5); - setRecipe(BreedingRodType.CO60, 10); - setRecipe(BreedingRodType.THF, 30); - setRecipe(BreedingRodType.U235, 50); - setRecipe(BreedingRodType.NP237, 30); - setRecipe(BreedingRodType.PU238, 20); - setRecipe(BreedingRodType.PU239, 50); - setRecipe(BreedingRodType.RGP, 30); - setRecipe(BreedingRodType.WASTE, 20); - } - - /** Sets power for single, dual, and quad rods **/ - public static void setRecipe(BreedingRodType type, int power) { - fuels.put(new ComparableStack(new ItemStack(ModItems.rod, 1, type.ordinal())), power); - fuels.put(new ComparableStack(new ItemStack(ModItems.rod_dual, 1, type.ordinal())), power * 2); - fuels.put(new ComparableStack(new ItemStack(ModItems.rod_quad, 1, type.ordinal())), power * 4); - } - - /** - * Returns an integer array of the fuel value of a certain stack - * @param stack - * @return an integer array (possibly null) with two fields, the HEAT value and the amount of operations - */ - public static int getFuelValue(ItemStack stack) { - - if(stack == null) - return 0; - - ComparableStack sta = new ComparableStack(stack).makeSingular(); - if(fuels.get(sta) != null) - return fuels.get(sta); - - return 0; - } - - @Override - public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new ContainerNukeFurnace(player.inventory, this); - } - - @Override - @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new GUINukeFurnace(player.inventory, this); - } -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityPWRController.java b/src/main/java/com/hbm/tileentity/machine/TileEntityPWRController.java index 15fe1d786..653ec66ca 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityPWRController.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityPWRController.java @@ -26,15 +26,17 @@ import com.hbm.util.EnumUtil; import com.hbm.util.fauxpointtwelve.BlockPos; import api.hbm.fluid.IFluidStandardTransceiver; +import api.hbm.redstoneoverradio.IRORInteractive; +import api.hbm.redstoneoverradio.IRORValueProvider; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -44,24 +46,24 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityPWRController extends TileEntityMachineBase implements IGUIProvider, IControlReceiver, SimpleComponent, IFluidStandardTransceiver, CompatHandler.OCComponent { - +public class TileEntityPWRController extends TileEntityMachineBase implements IGUIProvider, IControlReceiver, SimpleComponent, IFluidStandardTransceiver, CompatHandler.OCComponent, IRORValueProvider, IRORInteractive { + public FluidTank[] tanks; - public int coreHeat; - public static final int coreHeatCapacityBase = 10_000_000; - public int coreHeatCapacity = 10_000_000; - public int hullHeat; - public static final int hullHeatCapacityBase = 10_000_000; + public long coreHeat; + public static final long coreHeatCapacityBase = 10_000_000; + public long coreHeatCapacity = 10_000_000; + public long hullHeat; + public static final long hullHeatCapacityBase = 10_000_000; public double flux; - + public double rodLevel = 100; public double rodTarget = 100; - + public int typeLoaded; public int amountLoaded; public double progress; public double processTime; - + public int rodCount; public int connections; public int connectionsControlled; @@ -69,10 +71,10 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG public int heatsinkCount; public int channelCount; public int sourceCount; - + public int unloadDelay = 0; public boolean assembled; - + private AudioWrapper audio; protected List ports = new ArrayList(); @@ -80,15 +82,15 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG public TileEntityPWRController() { super(3); - + this.tanks = new FluidTank[2]; this.tanks[0] = new FluidTank(Fluids.COOLANT, 128_000); this.tanks[1] = new FluidTank(Fluids.COOLANT_HOT, 128_000); } - + /** The initial creation of the reactor, does all the pre-calculation and whatnot */ public void setup(HashMap partMap, HashMap rodMap) { - + rodCount = 0; connections = 0; connectionsControlled = 0; @@ -101,7 +103,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG int connectionsDouble = 0; int connectionsControlledDouble = 0; - + for(Entry entry : partMap.entrySet()) { Block block = entry.getValue(); @@ -112,16 +114,16 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG if(block == ModBlocks.pwr_neutron_source) sourceCount++; if(block == ModBlocks.pwr_port) ports.add(entry.getKey()); } - + for(Entry entry : rodMap.entrySet()) { BlockPos fuelPos = entry.getKey(); - + rods.add(fuelPos); - + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - + boolean controlled = false; - + for(int i = 1; i < 16; i++) { BlockPos checkPos = fuelPos.offset(dir, i); Block atPos = partMap.get(checkPos); @@ -149,8 +151,10 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG connections = connectionsDouble / 2; connectionsControlled = connectionsControlledDouble / 2; - - this.coreHeatCapacity = this.coreHeatCapacityBase + this.heatsinkCount * this.coreHeatCapacityBase / 20; + heatsinkCount = Math.min(heatsinkCount, 80); + + //switching this to int64 because after 2127 heatsinks the capacity exceeds the int32 which is well within the 4000+ threshold we are working with. oops! + this.coreHeatCapacity = this.coreHeatCapacityBase + this.heatsinkCount * (this.coreHeatCapacityBase / 20); } @Override @@ -160,17 +164,17 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + this.tanks[0].setType(2, slots); setupTanks(); - + if(unloadDelay > 0) unloadDelay--; - + int chunkX = xCoord >> 4; int chunkZ = zCoord >> 4; - + //since fluid sources are often not within 1 chunk, we just do 2 chunks distance and call it a day if(!worldObj.getChunkProvider().chunkExists(chunkX, chunkZ) || !worldObj.getChunkProvider().chunkExists(chunkX + 2, chunkZ + 2) || @@ -179,20 +183,20 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG !worldObj.getChunkProvider().chunkExists(chunkX - 2, chunkZ - 2)) { this.unloadDelay = 60; } - + if(this.assembled) { for(BlockPos pos : ports) { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { BlockPos portPos = pos.offset(dir); - + if(tanks[1].getFill() > 0) this.sendFluid(tanks[1], worldObj, portPos.getX(), portPos.getY(), portPos.getZ(), dir); if(worldObj.getTotalWorldTime() % 20 == 0) this.trySubscribe(tanks[0].getTankType(), worldObj, portPos.getX(), portPos.getY(), portPos.getZ(), dir); } } - + //only perform fission if the area has been loaded for 40 ticks or more if(this.unloadDelay <= 0) { - + if((typeLoaded == -1 || amountLoaded <= 0) && slots[0] != null && slots[0].getItem() == ModItems.pwr_fuel) { typeLoaded = slots[0].getItemDamage(); amountLoaded++; @@ -207,61 +211,61 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG if(diff < 1 && diff > -1) this.rodLevel = this.rodTarget; if(this.rodTarget > this.rodLevel) this.rodLevel++; if(this.rodTarget < this.rodLevel) this.rodLevel--; - + int newFlux = this.sourceCount * 20; - + if(typeLoaded != -1 && amountLoaded > 0) { - + EnumPWRFuel fuel = EnumUtil.grabEnumSafely(EnumPWRFuel.class, typeLoaded); double usedRods = getTotalProcessMultiplier(); double fluxPerRod = this.flux / this.rodCount; double outputPerRod = fuel.function.effonix(fluxPerRod); double totalOutput = outputPerRod * amountLoaded * usedRods; double totalHeatOutput = totalOutput * fuel.heatEmission; - + this.coreHeat += totalHeatOutput; newFlux += totalOutput; - + this.processTime = (int) fuel.yield; this.progress += totalOutput; - + if(this.progress >= this.processTime) { this.progress -= this.processTime; - + if(slots[1] == null) { slots[1] = new ItemStack(ModItems.pwr_fuel_hot, 1, typeLoaded); } else if(slots[1].getItem() == ModItems.pwr_fuel_hot && slots[1].getItemDamage() == typeLoaded && slots[1].stackSize < slots[1].getMaxStackSize()) { slots[1].stackSize++; } - + this.amountLoaded--; this.markChanged(); } } - + if(this.amountLoaded <= 0) { this.typeLoaded = -1; } - + if(amountLoaded > rodCount) amountLoaded = rodCount; - + /* CORE COOLING */ double coreCoolingApproachNum = getXOverE((double) this.heatexCount * 5 / (double) getRodCountForCoolant(), 2) / 2D; - int averageCoreHeat = (this.coreHeat + this.hullHeat) / 2; + long averageCoreHeat = (this.coreHeat + this.hullHeat) / 2; this.coreHeat -= (coreHeat - averageCoreHeat) * coreCoolingApproachNum; this.hullHeat -= (hullHeat - averageCoreHeat) * coreCoolingApproachNum; - + updateCoolant(); - + this.coreHeat *= 0.999D; this.hullHeat *= 0.999D; - + this.flux = newFlux; - + if(tanks[0].getTankType().hasTrait(FT_PWRModerator.class) && tanks[0].getFill() > 0) { this.flux *= tanks[0].getTankType().getTrait(FT_PWRModerator.class).getMultiplier(); } - + if(this.coreHeat > this.coreHeatCapacity) { meltDown(); } @@ -270,26 +274,12 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG this.coreHeat = 0; } } - - NBTTagCompound data = new NBTTagCompound(); - tanks[0].writeToNBT(data, "t0"); - tanks[1].writeToNBT(data, "t1"); - data.setInteger("rodCount", rodCount); - data.setInteger("coreHeat", coreHeat); - data.setInteger("hullHeat", hullHeat); - data.setDouble("flux", flux); - data.setDouble("processTime", processTime); - data.setDouble("progress", progress); - data.setInteger("typeLoaded", typeLoaded); - data.setInteger("amountLoaded", amountLoaded); - data.setDouble("rodLevel", rodLevel); - data.setDouble("rodTarget", rodTarget); - data.setInteger("coreHeatCapacity", coreHeatCapacity); - this.networkPack(data, 150); + + this.networkPackNT(150); } else { - + if(amountLoaded > 0) { - + if(audio == null) { audio = createAudioLoop(); audio.startSound(); @@ -299,9 +289,9 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG audio.updateVolume(getVolume(1F)); audio.keepAlive(); - + } else { - + if(audio != null) { audio.stopSound(); audio = null; @@ -309,15 +299,15 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG } } } - + protected void meltDown() { - + worldObj.func_147480_a(xCoord, yCoord, zCoord, false); double x = 0; double y = 0; double z = 0; - + for(BlockPos pos : this.rods) { Block b = worldObj.getBlock(pos.getX(), pos.getY(), pos.getZ()); b.breakBlock(worldObj, pos.getX(), pos.getY(), pos.getZ(), b, worldObj.getBlockMetadata(pos.getX(), pos.getY(), pos.getZ())); @@ -331,10 +321,10 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG x /= rods.size(); y /= rods.size(); z /= rods.size(); - + worldObj.newExplosion(null, x, y, z, 15F, true, true); } - + @Override public AudioWrapper createAudioLoop() { return MainRegistry.proxy.getLoopedSound("hbm:block.reactorLoop", xCoord, yCoord, zCoord, 1F, 10F, 1.0F, 20); @@ -359,72 +349,91 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG audio = null; } } - + protected void updateCoolant() { - + FT_Heatable trait = tanks[0].getTankType().getTrait(FT_Heatable.class); if(trait == null || trait.getEfficiency(HeatingType.PWR) <= 0) return; - + double coolingEff = (double) this.channelCount / (double) getRodCountForCoolant() * 0.1D; //10% cooling if numbers match if(coolingEff > 1D) coolingEff = 1D; - - int heatToUse = Math.min(this.hullHeat, (int) (this.hullHeat * coolingEff * trait.getEfficiency(HeatingType.PWR))); + + //no use in trying to convert everythin to long since the internal tanks would never even support operation like that, just cap the heat cycle count to prevent overflows in the math + int heatToUse = (int) Math.min(Math.min(this.hullHeat, (long) (this.hullHeat * coolingEff * trait.getEfficiency(HeatingType.PWR))), 2_000_000_000); HeatingStep step = trait.getFirstStep(); int coolCycles = tanks[0].getFill() / step.amountReq; int hotCycles = (tanks[1].getMaxFill() - tanks[1].getFill()) / step.amountProduced; int heatCycles = heatToUse / step.heatReq; int cycles = Math.min(coolCycles, Math.min(hotCycles, heatCycles)); - + this.hullHeat -= step.heatReq * cycles; this.tanks[0].setFill(tanks[0].getFill() - step.amountReq * cycles); this.tanks[1].setFill(tanks[1].getFill() + step.amountProduced * cycles); } - + protected int getRodCountForCoolant() { return this.rodCount + (int) Math.ceil(this.heatsinkCount / 4D); } - - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - tanks[0].readFromNBT(nbt, "t0"); - tanks[1].readFromNBT(nbt, "t1"); - rodCount = nbt.getInteger("rodCount"); - coreHeat = nbt.getInteger("coreHeat"); - hullHeat = nbt.getInteger("hullHeat"); - flux = nbt.getDouble("flux"); - processTime = nbt.getDouble("processTime"); - progress = nbt.getDouble("progress"); - typeLoaded = nbt.getInteger("typeLoaded"); - amountLoaded = nbt.getInteger("amountLoaded"); - rodLevel = nbt.getDouble("rodLevel"); - rodTarget = nbt.getInteger("rodTarget"); - coreHeatCapacity = nbt.getInteger("coreHeatCapacity"); + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeInt(this.rodCount); + buf.writeLong(this.coreHeat); + buf.writeLong(this.hullHeat); + buf.writeDouble(this.flux); + buf.writeDouble(this.processTime); + buf.writeDouble(this.progress); + buf.writeInt(this.typeLoaded); + buf.writeInt(this.amountLoaded); + buf.writeDouble(this.rodLevel); + buf.writeDouble(this.rodTarget); + buf.writeLong(this.coreHeatCapacity); + tanks[0].serialize(buf); + tanks[1].serialize(buf); } - + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.rodCount = buf.readInt(); + this.coreHeat = buf.readLong(); + this.hullHeat = buf.readLong(); + this.flux = buf.readDouble(); + this.processTime = buf.readDouble(); + this.progress = buf.readDouble(); + this.typeLoaded = buf.readInt(); + this.amountLoaded = buf.readInt(); + this.rodLevel = buf.readDouble(); + this.rodTarget = buf.readDouble(); + this.coreHeatCapacity = buf.readLong(); + tanks[0].deserialize(buf); + tanks[1].deserialize(buf); + } + protected void setupTanks() { - + FT_Heatable trait = tanks[0].getTankType().getTrait(FT_Heatable.class); - + if(trait == null || trait.getEfficiency(HeatingType.PWR) <= 0) { tanks[0].setTankType(Fluids.NONE); tanks[1].setTankType(Fluids.NONE); return; } - + tanks[1].setTankType(trait.getFirstStep().typeProduced); } - + public double getTotalProcessMultiplier() { double totalConnections = this.connections + this.connectionsControlled * (1D - (this.rodLevel / 100D)); double connectionsEff = connectinFunc(totalConnections); return connectionsEff; } - + public double connectinFunc(double connections) { return connections / 10D * (1D - getXOverE(connections, 300D)) + connections / 150D * getXOverE(connections, 300D); } - + public double getXOverE(double x, double d) { return 1 - Math.pow(Math.E, -x / d); } @@ -444,17 +453,17 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG public boolean canExtractItem(int slot, ItemStack itemStack, int side) { return slot == 1; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); tanks[0].readFromNBT(nbt, "t0"); tanks[1].readFromNBT(nbt, "t1"); - + this.assembled = nbt.getBoolean("assembled"); - this.coreHeat = nbt.getInteger("coreHeat"); - this.hullHeat = nbt.getInteger("hullHeat"); + this.coreHeat = Math.max(nbt.getInteger("coreHeat"), nbt.getLong("coreHeatL")); + this.hullHeat = Math.max(nbt.getInteger("hullHeat"), nbt.getLong("hullHeatL")); this.flux = nbt.getDouble("flux"); this.rodLevel = nbt.getDouble("rodLevel"); this.rodTarget = nbt.getDouble("rodTarget"); @@ -462,7 +471,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG this.amountLoaded = nbt.getInteger("amountLoaded"); this.progress = nbt.getDouble("progress"); this.processTime = nbt.getDouble("processTime"); - this.coreHeatCapacity = nbt.getInteger("coreHeatCapacity"); + this.coreHeatCapacity = Math.max(nbt.getInteger("coreHeatCapacity"), nbt.getLong("coreHeatCapacityL")); if(this.coreHeatCapacity < this.coreHeatCapacityBase) this.coreHeatCapacity = this.coreHeatCapacityBase; this.rodCount = nbt.getInteger("rodCount"); @@ -472,14 +481,14 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG this.channelCount = nbt.getInteger("channelCount"); this.sourceCount = nbt.getInteger("sourceCount"); this.heatsinkCount = nbt.getInteger("heatsinkCount"); - + ports.clear(); int portCount = nbt.getInteger("portCount"); for(int i = 0; i < portCount; i++) { int[] port = nbt.getIntArray("p" + i); ports.add(new BlockPos(port[0], port[1], port[2])); } - + rods.clear(); int rodCount = nbt.getInteger("rodCount"); for(int i = 0; i < rodCount; i++) { @@ -489,17 +498,17 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG } } } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); tanks[0].writeToNBT(nbt, "t0"); tanks[1].writeToNBT(nbt, "t1"); - + nbt.setBoolean("assembled", assembled); - nbt.setInteger("coreHeat", coreHeat); - nbt.setInteger("hullHeat", hullHeat); + nbt.setLong("coreHeatL", coreHeat); + nbt.setLong("hullHeatL", hullHeat); nbt.setDouble("flux", flux); nbt.setDouble("rodLevel", rodLevel); nbt.setDouble("rodTarget", rodTarget); @@ -507,7 +516,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG nbt.setInteger("amountLoaded", amountLoaded); nbt.setDouble("progress", progress); nbt.setDouble("processTime", processTime); - nbt.setInteger("coreHeatCapacity", coreHeatCapacity); + nbt.setLong("coreHeatCapacityL", coreHeatCapacity); nbt.setInteger("rodCount", rodCount); nbt.setInteger("connections", connections); @@ -516,13 +525,13 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG nbt.setInteger("channelCount", channelCount); nbt.setInteger("sourceCount", sourceCount); nbt.setInteger("heatsinkCount", heatsinkCount); - + nbt.setInteger("portCount", ports.size()); for(int i = 0; i < ports.size(); i++) { BlockPos pos = ports.get(i); nbt.setIntArray("p" + i, new int[] { pos.getX(), pos.getY(), pos.getZ() }); } - + nbt.setInteger("rodCount", rods.size()); for(int i = 0; i < rods.size(); i++) { BlockPos pos = rods.get(i); @@ -537,7 +546,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG @Override public void receiveControl(NBTTagCompound data) { - + if(data.hasKey("control")) { this.rodTarget = MathHelper.clamp_int(data.getInteger("control"), 0, 100); this.markChanged(); @@ -569,13 +578,13 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG public Object[] getLevel(Context context, Arguments args) { return new Object[] {rodTarget, rodLevel}; } - + @Callback(direct = true) @Optional.Method(modid = "OpenComputers") public Object[] getCoolantInfo(Context context, Arguments args) { return new Object[] {tanks[0].getFill(), tanks[0].getMaxFill(), tanks[1].getFill(), tanks[1].getMaxFill()}; } - + @Callback(direct = true) @Optional.Method(modid = "OpenComputers") public Object[] getFuelInfo(Context context, Arguments args) { @@ -603,7 +612,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIPWR(player.inventory, this); } @@ -621,4 +630,19 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG public FluidTank[] getReceivingTanks() { return new FluidTank[] { tanks[0] }; } + + @Override + public String[] getFunctionInfo() { + return new String[0]; //TODO + } + + @Override + public String runRORFunction(String name, String[] params) { + return ""; + } + + @Override + public String provideRORValue(String name) { + return ""; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityRadioRec.java b/src/main/java/com/hbm/tileentity/machine/TileEntityRadioRec.java index 7c1f7ea37..bc148cff5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityRadioRec.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityRadioRec.java @@ -1,40 +1,41 @@ package com.hbm.tileentity.machine; import com.hbm.interfaces.IControlReceiver; -import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.tileentity.network.RTTYSystem; import com.hbm.tileentity.network.RTTYSystem.RTTYChannel; +import com.hbm.util.BufferUtil; import com.hbm.util.NoteBuilder; import com.hbm.util.NoteBuilder.Instrument; import com.hbm.util.NoteBuilder.Note; import com.hbm.util.NoteBuilder.Octave; import com.hbm.util.Tuple.Triplet; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -public class TileEntityRadioRec extends TileEntity implements INBTPacketReceiver, IControlReceiver { - +public class TileEntityRadioRec extends TileEntityLoadedBase implements IControlReceiver { + public String channel = ""; public boolean isOn = false; - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + if(this.isOn && !this.channel.isEmpty()) { RTTYChannel chan = RTTYSystem.listen(worldObj, this.channel); - + if(chan != null && chan.timeStamp == worldObj.getTotalWorldTime() - 1) { Triplet[] notes = NoteBuilder.translate(chan.signal + ""); - + for(Triplet note : notes) { Instrument i = note.getX(); Note n = note.getY(); Octave o = note.getZ(); - + int noteId = n.ordinal() + o.ordinal() * 12; String s = "harp"; @@ -48,28 +49,31 @@ public class TileEntityRadioRec extends TileEntity implements INBTPacketReceiver } } } - - NBTTagCompound data = new NBTTagCompound(); - data.setString("channel", channel); - data.setBoolean("isOn", isOn); - INBTPacketReceiver.networkPack(this, data, 15); + + networkPackNT(15); } } @Override - public void networkUnpack(NBTTagCompound nbt) { - channel = nbt.getString("channel"); - isOn = nbt.getBoolean("isOn"); + public void serialize(ByteBuf buf) { + BufferUtil.writeString(buf, this.channel); + buf.writeBoolean(this.isOn); } - + + @Override + public void deserialize(ByteBuf buf) { + this.channel = BufferUtil.readString(buf); + this.isOn = buf.readBoolean(); + } + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + channel = nbt.getString("channel"); isOn = nbt.getBoolean("isOn"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -87,7 +91,7 @@ public class TileEntityRadioRec extends TileEntity implements INBTPacketReceiver public void receiveControl(NBTTagCompound data) { if(data.hasKey("channel")) this.channel = data.getString("channel"); if(data.hasKey("isOn")) this.isOn = data.getBoolean("isOn"); - + this.markDirty(); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java index 7b4751c96..4391993ce 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java @@ -12,7 +12,6 @@ import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.monster.IMob; import net.minecraft.entity.player.EntityPlayer; @@ -104,7 +103,7 @@ public class TileEntityRadiobox extends TileEntityLoadedBase implements IEnergyR @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return null; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java index 0a5fad22a..407eeef44 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java @@ -13,12 +13,12 @@ import com.hbm.tileentity.TileEntityMachineBase; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -136,33 +136,37 @@ public class TileEntityReactorControl extends TileEntityMachineBase implements I reactor.setTarget(level); } } - - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("heat", heat); - data.setDouble("level", level); - data.setInteger("flux", flux); - data.setBoolean("isLinked", isLinked); - data.setDouble("levelLower", levelLower); - data.setDouble("levelUpper", levelUpper); - data.setDouble("heatLower", heatLower); - data.setDouble("heatUpper", heatUpper); - data.setInteger("function", function.ordinal()); - this.networkPack(data, 150); + + this.networkPackNT(150); } } - - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - - this.heat = data.getInteger("heat"); - this.level = data.getDouble("level"); - this.flux = data.getInteger("flux"); - isLinked = data.getBoolean("isLinked"); - levelLower = data.getDouble("levelLower"); - levelUpper = data.getDouble("levelUpper"); - heatLower = data.getDouble("heatLower"); - heatUpper = data.getDouble("heatUpper"); - function = RodFunction.values()[data.getInteger("function")]; + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeInt(heat); + buf.writeDouble(level); + buf.writeInt(flux); + buf.writeBoolean(isLinked); + buf.writeDouble(levelLower); + buf.writeDouble(levelUpper); + buf.writeDouble(heatLower); + buf.writeDouble(heatUpper); + buf.writeByte(function.ordinal()); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.heat = buf.readInt(); + this.level = buf.readDouble(); + this.flux = buf.readInt(); + isLinked = buf.readBoolean(); + levelLower = buf.readDouble(); + levelUpper = buf.readDouble(); + heatLower = buf.readDouble(); + heatUpper = buf.readDouble(); + function = RodFunction.values()[buf.readByte()]; } private boolean establishLink() { @@ -301,7 +305,7 @@ public class TileEntityReactorControl extends TileEntityMachineBase implements I @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIReactorControl(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java index e242b5ee2..db295cee4 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java @@ -15,19 +15,20 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.ItemPlateFuel; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.BufferUtil; import com.hbm.util.CompatEnergyControl; import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.inventory.Container; @@ -151,27 +152,31 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements float rad = (float) heat / (float) maxHeat * 50F; ChunkRadiationManager.proxy.incrementRad(worldObj, xCoord, yCoord, zCoord, rad); } - - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("heat", heat); - data.setByte("water", water); - data.setDouble("level", level); - data.setDouble("targetLevel", targetLevel); - data.setIntArray("slotFlux", slotFlux); - data.setInteger("totalFlux", totalFlux); - this.networkPack(data, 150); + + this.networkPackNT(150); } } - - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - - this.heat = data.getInteger("heat"); - this.water = data.getByte("water"); - this.level = data.getDouble("level"); - this.targetLevel = data.getDouble("targetLevel"); - this.slotFlux = data.getIntArray("slotFlux"); - this.totalFlux = data.getInteger("totalFlux"); + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeInt(this.heat); + buf.writeByte(this.water); + buf.writeDouble(this.level); + buf.writeDouble(this.targetLevel); + BufferUtil.writeIntArray(buf, this.slotFlux); + buf.writeInt(this.totalFlux); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.heat = buf.readInt(); + this.water = buf.readByte(); + this.level = buf.readDouble(); + this.targetLevel = buf.readDouble(); + this.slotFlux = BufferUtil.readIntArray(buf); + this.totalFlux = buf.readInt(); } public byte getWater() { @@ -477,7 +482,7 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIReactorResearch(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java index d1a46f430..3f3ae011a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java @@ -33,16 +33,17 @@ import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -60,7 +61,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC public FluidTank carbonDioxide; public FluidTank water; protected int output; - + private static final int[] slots_io = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 }; public static final HashMap fuelMap = new HashMap(); @@ -89,7 +90,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC public String getName() { return "container.zirnox"; } - + @Override public int[] getAccessibleSlotsFromSide(int side) { return slots_io; @@ -128,17 +129,6 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC } - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - - this.heat = data.getInteger("heat"); - this.pressure = data.getInteger("pressure"); - this.isOn = data.getBoolean("isOn"); - steam.readFromNBT(data, "t0"); - carbonDioxide.readFromNBT(data, "t1"); - water.readFromNBT(data, "t2"); - } - public int getGaugeScaled(int i, int type) { switch (type) { case 0: return (steam.getFill() * i) / steam.getMaxFill(); @@ -167,7 +157,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC case 11: return new int[] { 4, 10, 12, 18 }; case 12: return new int[] { 5, 11, 13, 19 }; case 13: return new int[] { 6, 12, 20 }; - case 14: return new int[] { 7, 15, 21 }; + case 14: return new int[] { 7, 15, 21 }; case 15: return new int[] { 8, 14, 16, 22 }; case 16: return new int[] { 9, 15, 23 }; case 17: return new int[] { 10, 18 }; @@ -188,14 +178,14 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC if(!worldObj.isRemote) { this.output = 0; - + if(worldObj.getTotalWorldTime() % 20 == 0) { this.updateConnections(); } - + carbonDioxide.loadTank(24, 26, slots); water.loadTank(25, 27, slots); - + if(isOn) { for(int i = 0; i < 24; i++) { @@ -207,7 +197,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC } } } - + //2(fill) + (x * fill%) this.pressure = (this.carbonDioxide.getFill() * 2) + (int)((float)this.heat * ((float)this.carbonDioxide.getFill() / (float)this.carbonDioxide.getMaxFill())); @@ -219,37 +209,52 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC } else { this.heat -= 10; } - + } - + for(DirPos pos : getConPos()) { this.sendFluid(steam, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } checkIfMeltdown(); - - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("heat", heat); - data.setInteger("pressure", pressure); - data.setBoolean("isOn", isOn); - steam.writeToNBT(data, "t0"); - carbonDioxide.writeToNBT(data, "t1"); - water.writeToNBT(data, "t2"); - this.networkPack(data, 150); + + this.networkPackNT(150); } } + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeInt(this.heat); + buf.writeInt(this.pressure); + buf.writeBoolean(this.isOn); + steam.serialize(buf); + carbonDioxide.serialize(buf); + water.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.heat = buf.readInt(); + this.pressure = buf.readInt(); + this.isOn = buf.readBoolean(); + steam.deserialize(buf); + carbonDioxide.deserialize(buf); + water.deserialize(buf); + } + private void generateSteam() { - + // function of SHS produced per tick // (heat - 10256)/100000 * steamFill (max efficiency at 14b) * 25 * 5 (should get rid of any rounding errors) if(this.heat > 10256) { int cycle = (int)((((float)heat - 10256F) / (float)maxHeat) * Math.min(((float)carbonDioxide.getFill() / 14000F), 1F) * 25F * 5F); this.output = cycle; - + water.setFill(water.getFill() - cycle); steam.setFill(steam.getFill() + cycle); - + if(water.getFill() < 0) water.setFill(0); @@ -297,7 +302,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC for(int i = 0; i < decay; i++) { this.heat += num.heat; ItemZirnoxRod.incrementLifeTime(slots[id]); - + if(ItemZirnoxRod.getLifeTime(slots[id]) > num.maxLife) { slots[id] = fuelMap.get(new ComparableStack(getStackInSlot(id))).copy(); break; @@ -334,16 +339,16 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC } private void zirnoxDebris() { - + for(int i = 0; i < 2; i++) { spawnDebris(DebrisType.EXCHANGER); } - + for(int i = 0; i < 20; i++) { spawnDebris(DebrisType.CONCRETE); spawnDebris(DebrisType.BLANK); } - + for(int i = 0; i < 10; i++) { spawnDebris(DebrisType.ELEMENT); spawnDebris(DebrisType.GRAPHITE); @@ -365,14 +370,14 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC worldObj.createExplosion(null, this.xCoord, this.yCoord + 3, this.zCoord, 12.0F, true); zirnoxDebris(); ExplosionNukeGeneric.waste(worldObj, this.xCoord, this.yCoord, this.zCoord, 35); - + List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(100, 100, 100)); - + for(EntityPlayer player : players) { player.triggerAchievement(MainRegistry.achZIRNOXBoom); } - + if(MobConfig.enableElementals) { for(EntityPlayer player : players) { player.getEntityData().getCompoundTag(EntityPlayer.PERSISTED_NBT_TAG).setBoolean("radMark", true); @@ -386,11 +391,11 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC this.trySubscribe(carbonDioxide.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + private DirPos[] getConPos() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + return new DirPos[] { new DirPos(this.xCoord + rot.offsetX * 3, this.yCoord + 1, this.zCoord + rot.offsetZ * 3, rot), new DirPos(this.xCoord + rot.offsetX * 3, this.yCoord + 3, this.zCoord + rot.offsetZ * 3, rot), @@ -416,25 +421,25 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC public double getMaxRenderDistanceSquared() { return 65536.0D; } - + @Override public boolean hasPermission(EntityPlayer player) { return Vec3.createVectorHelper(xCoord - player.posX, yCoord - player.posY, zCoord - player.posZ).lengthVector() < 20; } - + @Override public void receiveControl(NBTTagCompound data) { if(data.hasKey("control")) { this.isOn = !this.isOn; } - + if(data.hasKey("vent")) { int fill = this.carbonDioxide.getFill(); this.carbonDioxide.setFill(fill - 1000); if(this.carbonDioxide.getFill() < 0) this.carbonDioxide.setFill(0); } - + this.markDirty(); } @@ -452,7 +457,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC public FluidTank[] getAllTanks() { return new FluidTank[] { water, steam, carbonDioxide }; } - + // do some opencomputer stuff @Override @Optional.Method(modid = "OpenComputers") @@ -477,12 +482,12 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC public Object[] getWater(Context context, Arguments args) { return new Object[] {water.getFill()}; } - + @Callback(direct = true) @Optional.Method(modid = "OpenComputers") public Object[] getSteam(Context context, Arguments args) { return new Object[] {steam.getFill()}; - } + } @Callback(direct = true) @Optional.Method(modid = "OpenComputers") @@ -509,6 +514,15 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC return new Object[] {}; } + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] ventCarbonDioxide(Context context, Arguments args) { + int ventAmount = MathHelper.clamp_int(args.optInteger(0, 1000), 0, carbonDioxide.getMaxFill()); // Get how much CO2 to vent in mB (1000mB default), clamp between 0 and carbonDioxide's max fill. + int fill = this.carbonDioxide.getFill(); + this.carbonDioxide.setFill(Math.max(fill - ventAmount, 0)); // Make sure it isn't a negative number. + return new Object[] {}; + } + @Override @Optional.Method(modid = "OpenComputers") public String[] methods() { @@ -520,7 +534,8 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC "getCarbonDioxide", "isActive", "getInfo", - "setActive" + "setActive", + "ventCarbonDioxide" }; } @@ -544,6 +559,8 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC return getInfo(context, args); case ("setActive"): return setActive(context, args); + case ("ventCarbonDioxide"): + return ventCarbonDioxide(context, args); } throw new NoSuchMethodException(); } @@ -555,7 +572,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIReactorZirnox(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityRefueler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityRefueler.java new file mode 100644 index 000000000..22c3cf0d2 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityRefueler.java @@ -0,0 +1,157 @@ +package com.hbm.tileentity.machine; + +import java.util.List; +import java.util.Random; + +import com.hbm.handler.ArmorModHandler; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.BobMathUtil; + +import api.hbm.fluid.IFluidStandardReceiver; +import api.hbm.fluidmk2.IFillableItem; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityRefueler extends TileEntityLoadedBase implements IFluidStandardReceiver { + + public double fillLevel; + public double prevFillLevel; + + private boolean isOperating = false; + private int operatingTime; + + public FluidTank tank; + + public TileEntityRefueler() { + super(); + tank = new FluidTank(Fluids.KEROSENE, 100); + } + + @SuppressWarnings("unchecked") + @Override + public void updateEntity() { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()).getOpposite(); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + if(!worldObj.isRemote) { + trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ, dir); + + isOperating = false; + + List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(0.5, 0.0, 0.5)); + + for(EntityPlayer player : players) { + for(int i = 0; i < 5; i++) { + + ItemStack stack = player.getEquipmentInSlot(i); + if(stack == null) continue; + + if(fillFillable(stack)) { + isOperating = true; + } + + if(stack.getItem() instanceof ItemArmor && ArmorModHandler.hasMods(stack)) { + for(ItemStack mod : ArmorModHandler.pryMods(stack)) { + if(mod == null) continue; + + if(fillFillable(mod)) { + ArmorModHandler.applyMod(stack, mod); + isOperating = true; + } + } + } + } + } + + if(isOperating) { + if(operatingTime % 20 == 0) + worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "random.fizz", 0.2F, 0.5F); + + operatingTime++; + } else { + operatingTime = 0; + } + + networkPackNT(150); + } else { + if(isOperating) { + Random rand = worldObj.rand; + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "fluidfill"); + data.setInteger("color", tank.getTankType().getColor()); + data.setDouble("posX", xCoord + 0.5 + rand.nextDouble() * 0.0625 + dir.offsetX * 0.5 + rot.offsetX * 0.25); + data.setDouble("posZ", zCoord + 0.5 + rand.nextDouble() * 0.0625 + dir.offsetZ * 0.5 + rot.offsetZ * 0.25); + data.setDouble("posY", yCoord + 0.375); + data.setDouble("mX", -dir.offsetX + rand.nextGaussian() * 0.1); + data.setDouble("mZ", -dir.offsetZ + rand.nextGaussian() * 0.1); + data.setDouble("mY", 0D); + + MainRegistry.proxy.effectNT(data); + } + + prevFillLevel = fillLevel; + + double targetFill = (double)tank.getFill() / (double)tank.getMaxFill(); + fillLevel = BobMathUtil.interp(fillLevel, targetFill, targetFill > fillLevel || !isOperating ? 0.1F : 0.01F); + } + + + } + + private boolean fillFillable(ItemStack stack) { + if(stack.getItem() instanceof IFillableItem) { + IFillableItem fillable = (IFillableItem) stack.getItem(); + if(fillable.acceptsFluid(tank.getTankType(), stack)) { + int prevFill = tank.getFill(); + tank.setFill(fillable.tryFill(tank.getTankType(), tank.getFill(), stack)); + return tank.getFill() < prevFill; + } + } + + return false; + } + + @Override + public void serialize(ByteBuf buf) { + buf.writeBoolean(isOperating); + tank.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + isOperating = buf.readBoolean(); + tank.deserialize(buf); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + tank.readFromNBT(nbt, "t"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + tank.writeToNBT(nbt, "t"); + } + + @Override + public FluidTank[] getAllTanks() { + return new FluidTank[] { tank }; + } + + @Override + public FluidTank[] getReceivingTanks() { + return new FluidTank[] { tank }; + } + +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityRtgFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityRtgFurnace.java index 0e9e87eaf..72882cabd 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityRtgFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityRtgFurnace.java @@ -8,7 +8,6 @@ import com.hbm.util.RTGUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.inventory.Container; @@ -80,6 +79,7 @@ public class TileEntityRtgFurnace extends TileEntity implements ISidedInventory, public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -151,6 +151,8 @@ public class TileEntityRtgFurnace extends TileEntity implements ISidedInventory, slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override @@ -170,6 +172,10 @@ public class TileEntityRtgFurnace extends TileEntity implements ISidedInventory, } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } @Override @@ -303,7 +309,7 @@ public class TileEntityRtgFurnace extends TileEntity implements ISidedInventory, @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIRtgFurnace(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySILEX.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySILEX.java index ec233595f..923cc5e93 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySILEX.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySILEX.java @@ -24,7 +24,6 @@ import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.Item; @@ -361,7 +360,7 @@ public class TileEntitySILEX extends TileEntityMachineBase implements IFluidStan @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUISILEX(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySawmill.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySawmill.java index f0b6a5500..5e5280d94 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySawmill.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySawmill.java @@ -5,20 +5,21 @@ import java.util.List; import com.hbm.blocks.BlockDummyable; import com.hbm.entity.projectile.EntitySawblade; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.items.ModItems; import com.hbm.lib.ModDamageSource; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.tileentity.machine.TileEntityMachineAutocrafter.InventoryCraftingAuto; +import com.hbm.util.BufferUtil; import com.hbm.util.ItemStackUtil; import api.hbm.tile.IHeatSource; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; import net.minecraft.entity.EntityLivingBase; import net.minecraft.init.Blocks; @@ -27,14 +28,13 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.CraftingManager; import net.minecraft.item.crafting.IRecipe; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; public class TileEntitySawmill extends TileEntityMachineBase { - + public int heat; public static final double diffusion = 0.1D; private int warnCooldown = 0; @@ -42,7 +42,7 @@ public class TileEntitySawmill extends TileEntityMachineBase { public boolean hasBlade = true; public int progress = 0; public static final int processingTime = 600; - + public float spin; public float lastSpin; @@ -55,41 +55,41 @@ public class TileEntitySawmill extends TileEntityMachineBase { @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + if(hasBlade) { tryPullHeat(); - + if(warnCooldown > 0) warnCooldown--; - + if(heat >= 100) { - + ItemStack result = this.getOutput(slots[0]); - + if(result != null) { progress += heat / 10; - + if(progress >= this.processingTime) { progress = 0; slots[0] = null; slots[1] = result; - + if(result.getItem() != ModItems.powder_sawdust) { float chance = result.getItem() == Items.stick ? 0.1F : 0.5F; if(worldObj.rand.nextFloat() < chance) { slots[2] = new ItemStack(ModItems.powder_sawdust); } } - + this.markDirty(); } - + } else { this.progress = 0; } - + AxisAlignedBB aabb = AxisAlignedBB.getBoundingBox(-1D, 0.375D, -1D, -0.875, 2.375D, 1D); aabb = BlockDummyable.getAABBRotationOffset(aabb, xCoord + 0.5, yCoord, zCoord + 0.5, ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getRotation(ForgeDirection.UP)); for(Object o : worldObj.getEntitiesWithinAABB(EntityLivingBase.class, aabb)) { @@ -103,40 +103,40 @@ public class TileEntitySawmill extends TileEntityMachineBase { data.setDouble("motion", 0.1D); data.setString("mode", "blockdust"); data.setInteger("block", Block.getIdFromBlock(Blocks.redstone_block)); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, e.posX, e.posY + e.height * 0.5, e.posZ), new TargetPoint(e.dimension, e.posX, e.posY, e.posZ, 50)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, e.posX, e.posY + e.height * 0.5, e.posZ), new TargetPoint(e.dimension, e.posX, e.posY, e.posZ, 50)); } } - + } else { this.progress = 0; } - + if(heat > 300) { - + this.overspeed++; - + if(overspeed > 60 && warnCooldown == 0) { warnCooldown = 100; worldObj.playSoundEffect(xCoord + 0.5, yCoord + 1, zCoord + 0.5, "hbm:block.warnOverspeed", 2.0F, 1.0F); } - + if(overspeed > 300) { this.hasBlade = false; this.worldObj.newExplosion(null, xCoord + 0.5, yCoord + 1, zCoord + 0.5, 5F, false, false); - + int orientation = this.getBlockMetadata() - BlockDummyable.offset; ForgeDirection dir = ForgeDirection.getOrientation(orientation); EntitySawblade cog = new EntitySawblade(worldObj, xCoord + 0.5 + dir.offsetX, yCoord + 1, zCoord + 0.5 + dir.offsetZ).setOrientation(orientation); ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); - + cog.motionX = rot.offsetX; cog.motionY = 1 + (heat - 100) * 0.0001D; cog.motionZ = rot.offsetZ; worldObj.spawnEntityInWorld(cog); - + this.markDirty(); } - + } else { this.overspeed = 0; } @@ -144,34 +144,18 @@ public class TileEntitySawmill extends TileEntityMachineBase { this.overspeed = 0; this.warnCooldown = 0; } - - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("heat", heat); - data.setInteger("progress", progress); - data.setBoolean("hasBlade", hasBlade); - NBTTagList list = new NBTTagList(); - for(int i = 0; i < slots.length; i++) { - if(slots[i] != null) { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte) i); - slots[i].writeToNBT(nbt1); - list.appendTag(nbt1); - } - } - data.setTag("items", list); - - INBTPacketReceiver.networkPack(this, data, 150); - + networkPackNT(150); + this.heat = 0; - + } else { - + float momentum = heat * 25F / ((float) 300); - + this.lastSpin = this.spin; this.spin += momentum; - + if(this.spin >= 360F) { this.spin -= 360F; this.lastSpin -= 360F; @@ -180,54 +164,58 @@ public class TileEntitySawmill extends TileEntityMachineBase { } @Override - public void networkUnpack(NBTTagCompound nbt) { - this.heat = nbt.getInteger("heat"); - this.progress = nbt.getInteger("progress"); - this.hasBlade = nbt.getBoolean("hasBlade"); - - NBTTagList list = nbt.getTagList("items", 10); + public void serialize(ByteBuf buf) { + buf.writeInt(heat); + buf.writeInt(progress); + buf.writeBoolean(hasBlade); - slots = new ItemStack[3]; - for(int i = 0; i < list.tagCount(); i++) { - NBTTagCompound nbt1 = list.getCompoundTagAt(i); - byte b0 = nbt1.getByte("slot"); - if(b0 >= 0 && b0 < slots.length) { - slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); - } + for (ItemStack slot : slots) { + BufferUtil.writeItemStack(buf, slot); } } - + + @Override + public void deserialize(ByteBuf buf) { + this.heat = buf.readInt(); + this.progress = buf.readInt(); + this.hasBlade = buf.readBoolean(); + + for(int i = 0; i < slots.length; i++) { + slots[i] = BufferUtil.readItemStack(buf); + } + } + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); this.hasBlade = nbt.getBoolean("hasBlade"); this.progress = nbt.getInteger("progress"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setBoolean("hasBlade", hasBlade); nbt.setInteger("progress", progress); } - + protected void tryPullHeat() { TileEntity con = worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); - + if(con instanceof IHeatSource) { IHeatSource source = (IHeatSource) con; int heatSrc = (int) (source.getHeatStored() * diffusion); - + if(heatSrc > 0) { source.useUpHeat(heatSrc); this.heat += heatSrc; return; } } - + this.heat = Math.max(this.heat - Math.max(this.heat / 1000, 1), 0); } - + protected InventoryCraftingAuto craftingInventory = new InventoryCraftingAuto(1, 1); @Override @@ -244,20 +232,20 @@ public class TileEntitySawmill extends TileEntityMachineBase { public int[] getAccessibleSlotsFromSide(int side) { return new int[] {0, 1, 2}; } - + public ItemStack getOutput(ItemStack input) { - + if(input == null) return null; - + craftingInventory.setInventorySlotContents(0, input); - + List names = ItemStackUtil.getOreDictNames(input); - + if(names.contains("stickWood")) { return new ItemStack(ModItems.powder_sawdust); } - + if(names.contains("logWood")) { for(Object o : CraftingManager.getInstance().getRecipeList()) { IRecipe recipe = (IRecipe) o; @@ -271,35 +259,35 @@ public class TileEntitySawmill extends TileEntityMachineBase { } } } - + if(names.contains("plankWood")) { return new ItemStack(Items.stick, 6); } - + if(names.contains("treeSapling")) { return new ItemStack(Items.stick, 1); } - + return null; } public static HashMap getRecipes() { - + HashMap recipes = new HashMap(); recipes.put(new OreDictStack("logWood"), new ItemStack[] { new ItemStack(Blocks.planks, 6), ItemStackUtil.addTooltipToStack(new ItemStack(ModItems.powder_sawdust), EnumChatFormatting.RED + "50%") }); recipes.put(new OreDictStack("plankWood"), new ItemStack[] { new ItemStack(Items.stick, 6), ItemStackUtil.addTooltipToStack(new ItemStack(ModItems.powder_sawdust), EnumChatFormatting.RED + "10%") }); recipes.put(new OreDictStack("stickWood"), new ItemStack[] { new ItemStack(ModItems.powder_sawdust) }); recipes.put(new OreDictStack("treeSapling"), new ItemStack[] { new ItemStack(Items.stick, 1), ItemStackUtil.addTooltipToStack(new ItemStack(ModItems.powder_sawdust), EnumChatFormatting.RED + "10%") }); - + return recipes; } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -310,10 +298,10 @@ public class TileEntitySawmill extends TileEntityMachineBase { zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java index c2803d6c6..296d236db 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java @@ -5,13 +5,11 @@ import java.util.HashSet; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.lib.Library; -import com.hbm.packet.BufPacket; -import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IBufPacketReceiver; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.fluid.IFluidStandardTransceiver; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; @@ -19,15 +17,16 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.ChunkCoordinates; -public class TileEntitySolarBoiler extends TileEntityLoadedBase implements IFluidStandardTransceiver, IBufPacketReceiver { +public class TileEntitySolarBoiler extends TileEntityLoadedBase implements IFluidStandardTransceiver, IBufPacketReceiver, IFluidCopiable { private FluidTank water; private FluidTank steam; + public int display; public int heat; public HashSet primary = new HashSet(); public HashSet secondary = new HashSet(); - + public TileEntitySolarBoiler() { water = new FluidTank(Fluids.WATER, 100); steam = new FluidTank(Fluids.STEAM, 10_000); @@ -35,30 +34,30 @@ public class TileEntitySolarBoiler extends TileEntityLoadedBase implements IFlui @Override public void updateEntity() { - + if(!worldObj.isRemote) { this.trySubscribe(water.getTankType(), worldObj, xCoord, yCoord + 3, zCoord, Library.POS_Y); this.trySubscribe(water.getTankType(), worldObj, xCoord, yCoord - 1, zCoord, Library.NEG_Y); - + int process = heat / 50; + this.display = process; process = Math.min(process, water.getFill()); process = Math.min(process, (steam.getMaxFill() - steam.getFill()) / 100); - - if(process < 0) - process = 0; + + if(process < 0) process = 0; water.setFill(water.getFill() - process); steam.setFill(steam.getFill() + process * 100); this.sendFluid(steam, worldObj, xCoord, yCoord + 3, zCoord, Library.POS_Y); this.sendFluid(steam, worldObj, xCoord, yCoord - 1, zCoord, Library.NEG_Y); - + heat = 0; networkPackNT(15); } else { - + //a delayed queue of mirror positions because we can't expect the boiler to always tick first secondary.clear(); secondary.addAll(primary); @@ -81,12 +80,12 @@ public class TileEntitySolarBoiler extends TileEntityLoadedBase implements IFlui this.water.writeToNBT(nbt, "water"); this.steam.writeToNBT(nbt, "steam"); } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -97,10 +96,10 @@ public class TileEntitySolarBoiler extends TileEntityLoadedBase implements IFlui zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -121,20 +120,20 @@ public class TileEntitySolarBoiler extends TileEntityLoadedBase implements IFlui public FluidTank[] getAllTanks() { return new FluidTank[] { water, steam }; } - - public void networkPackNT(int range) { - if(!worldObj.isRemote) PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); - } @Override public void serialize(ByteBuf buf) { + buf.writeInt(display); water.serialize(buf); steam.serialize(buf); } @Override public void deserialize(ByteBuf buf) { + this.display = buf.readInt(); water.deserialize(buf); steam.deserialize(buf); } + + @Override public FluidTank getTankToPaste() { return null; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySolarMirror.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySolarMirror.java index c64a83cec..f921d04ad 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySolarMirror.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySolarMirror.java @@ -4,6 +4,7 @@ import com.hbm.tileentity.TileEntityTickingBase; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; @@ -28,7 +29,7 @@ public class TileEntitySolarMirror extends TileEntityTickingBase { if(!worldObj.isRemote) { if(worldObj.getTotalWorldTime() % 20 == 0) - sendUpdate(); + this.networkPackNT(200); if(tY < yCoord) { isOn = false; @@ -64,22 +65,18 @@ public class TileEntitySolarMirror extends TileEntityTickingBase { } } - public void sendUpdate() { - - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("posX", tX); - data.setInteger("posY", tY); - data.setInteger("posZ", tZ); - data.setBoolean("isOn", isOn); - this.networkPack(data, 200); + @Override public void serialize(ByteBuf buf) { + buf.writeInt(this.tX); + buf.writeInt(this.tY); + buf.writeInt(this.tZ); + buf.writeBoolean(this.isOn); } - @Override - public void networkUnpack(NBTTagCompound nbt) { - tX = nbt.getInteger("posX"); - tY = nbt.getInteger("posY"); - tZ = nbt.getInteger("posZ"); - isOn = nbt.getBoolean("isOn"); + @Override public void deserialize(ByteBuf buf) { + this.tX = buf.readInt(); + this.tY = buf.readInt(); + this.tZ = buf.readInt(); + this.isOn = buf.readBoolean(); } public void setTarget(int x, int y, int z) { @@ -87,7 +84,7 @@ public class TileEntitySolarMirror extends TileEntityTickingBase { tY = y; tZ = z; this.markDirty(); - this.sendUpdate(); + this.networkPackNT(200); } public void readFromNBT(NBTTagCompound nbt) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java index 346d171f5..10fb7aa82 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java @@ -14,6 +14,7 @@ import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.fauxpointtwelve.DirPos; @@ -23,7 +24,7 @@ import api.hbm.fluid.IFluidStandardReceiver; import api.hbm.item.IDesignatorItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; @@ -36,7 +37,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements ISidedInventory, IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider { +public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements ISidedInventory, IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider, IFluidCopiable { public long power; public static final long maxPower = 1000000; @@ -94,15 +95,8 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS } else { liftOff(); } - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", power); - data.setByte("mode", mode); - data.setBoolean("starting", starting); - data.setByte("type", this.getType()); - tanks[0].writeToNBT(data, "t0"); - tanks[1].writeToNBT(data, "t1"); - networkPack(data, 250); + + networkPackNT(250); } if(worldObj.isRemote) { @@ -189,18 +183,29 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS audio = null; } } - - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - - power = data.getLong("power"); - mode = data.getByte("mode"); - starting = data.getBoolean("starting"); - rocketType = data.getByte("type"); - tanks[0].readFromNBT(data, "t0"); - tanks[1].readFromNBT(data, "t1"); + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(power); + buf.writeByte(mode); + buf.writeBoolean(starting); + buf.writeByte(this.getType()); + tanks[0].serialize(buf); + tanks[1].serialize(buf); } - + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + power = buf.readLong(); + mode = buf.readByte(); + starting = buf.readBoolean(); + rocketType = buf.readByte(); + tanks[0].deserialize(buf); + tanks[1].deserialize(buf); + } + public void startCountdown() { if(canLaunch()) @@ -449,7 +454,12 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUISoyuzLauncher(player.inventory, this); } + + @Override + public FluidTank getTankToPaste() { + return null; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySteamEngine.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySteamEngine.java index a09c5747e..d0297d2f8 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySteamEngine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySteamEngine.java @@ -9,8 +9,9 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Coolable; import com.hbm.inventory.fluid.trait.FT_Coolable.CoolingType; +import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.IConfigurableMachine; -import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.fauxpointtwelve.DirPos; @@ -18,13 +19,15 @@ import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntitySteamEngine extends TileEntityLoadedBase implements IEnergyProviderMK2, IFluidStandardTransceiver, INBTPacketReceiver, IConfigurableMachine { +public class TileEntitySteamEngine extends TileEntityLoadedBase implements IEnergyProviderMK2, IFluidStandardTransceiver, IBufPacketReceiver, IConfigurableMachine, IFluidCopiable { public long powerBuffer; @@ -35,14 +38,14 @@ public class TileEntitySteamEngine extends TileEntityLoadedBase implements IEner private int turnProgress; private float acceleration = 0F; - + /* CONFIGURABLE */ private static int steamCap = 2_000; private static int ldsCap = 20; private static double efficiency = 0.85D; - + public TileEntitySteamEngine() { - + tanks = new FluidTank[2]; tanks[0] = new FluidTank(Fluids.STEAM, steamCap); tanks[1] = new FluidTank(Fluids.SPENTSTEAM, ldsCap); @@ -66,59 +69,64 @@ public class TileEntitySteamEngine extends TileEntityLoadedBase implements IEner writer.name("I:ldsCap").value(ldsCap); writer.name("D:efficiency").value(efficiency); } - + + ByteBuf buf; + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + + if(this.buf != null) + this.buf.release(); + this.buf = Unpooled.buffer(); + this.powerBuffer = 0; tanks[0].setTankType(Fluids.STEAM); tanks[1].setTankType(Fluids.SPENTSTEAM); - - NBTTagCompound data = new NBTTagCompound(); - tanks[0].writeToNBT(data, "s"); + + tanks[0].serialize(buf); FT_Coolable trait = tanks[0].getTankType().getTrait(FT_Coolable.class); double eff = trait.getEfficiency(CoolingType.TURBINE) * efficiency; - + int inputOps = tanks[0].getFill() / trait.amountReq; int outputOps = (tanks[1].getMaxFill() - tanks[1].getFill()) / trait.amountProduced; int ops = Math.min(inputOps, outputOps); tanks[0].setFill(tanks[0].getFill() - ops * trait.amountReq); tanks[1].setFill(tanks[1].getFill() + ops * trait.amountProduced); this.powerBuffer += (ops * trait.heatEnergy * eff); - + if(ops > 0) { this.acceleration += 0.1F; } else { this.acceleration -= 0.1F; } - + this.acceleration = MathHelper.clamp_float(this.acceleration, 0F, 40F); this.rotor += this.acceleration; - + if(this.rotor >= 360D) { this.rotor -= 360D; - + this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:block.steamEngineOperate", getVolume(1.0F), 0.5F + (acceleration / 80F)); } - - data.setLong("power", this.powerBuffer); - data.setFloat("rotor", this.rotor); - tanks[1].writeToNBT(data, "w"); + + buf.writeLong(this.powerBuffer); + buf.writeFloat(this.rotor); + tanks[1].serialize(buf); for(DirPos pos : getConPos()) { if(this.powerBuffer > 0) this.tryProvide(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - - INBTPacketReceiver.networkPack(this, data, 150); + + networkPackNT(150); } else { this.lastRotor = this.rotor; - + if(this.turnProgress > 0) { double d = MathHelper.wrapAngleTo180_double(this.syncRotor - (double) this.rotor); this.rotor = (float) ((double) this.rotor + d / (double) this.turnProgress); @@ -128,18 +136,18 @@ public class TileEntitySteamEngine extends TileEntityLoadedBase implements IEner } } } - + protected DirPos[] getConPos() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + return new DirPos[] { new DirPos(xCoord + rot.offsetX * 2, yCoord + 1, zCoord + rot.offsetZ * 2, rot), new DirPos(xCoord + rot.offsetX * 2 + dir.offsetX, yCoord + 1, zCoord + rot.offsetZ * 2 + dir.offsetZ, rot), new DirPos(xCoord + rot.offsetX * 2 - dir.offsetX, yCoord + 1, zCoord + rot.offsetZ * 2 - dir.offsetZ, rot) }; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -149,7 +157,7 @@ public class TileEntitySteamEngine extends TileEntityLoadedBase implements IEner this.tanks[0].readFromNBT(nbt, "s"); this.tanks[1].readFromNBT(nbt, "w"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -159,12 +167,12 @@ public class TileEntitySteamEngine extends TileEntityLoadedBase implements IEner tanks[0].writeToNBT(nbt, "s"); tanks[1].writeToNBT(nbt, "w"); } - + @Override public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -207,11 +215,21 @@ public class TileEntitySteamEngine extends TileEntityLoadedBase implements IEner } @Override - public void networkUnpack(NBTTagCompound nbt) { - this.powerBuffer = nbt.getLong("power"); - this.syncRotor = nbt.getFloat("rotor"); + public void serialize(ByteBuf buf) { + buf.writeBytes(this.buf); + } + + @Override + public void deserialize(ByteBuf buf) { + this.tanks[0].deserialize(buf); + this.powerBuffer = buf.readLong(); + this.syncRotor = buf.readFloat(); + this.tanks[1].deserialize(buf); this.turnProgress = 3; //use 3-ply for extra smoothness - this.tanks[0].readFromNBT(nbt, "s"); - this.tanks[1].readFromNBT(nbt, "w"); + } + + @Override + public FluidTank getTankToPaste() { + return null; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityStirling.java b/src/main/java/com/hbm/tileentity/machine/TileEntityStirling.java index d59a5e933..44a71b5d5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityStirling.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityStirling.java @@ -8,8 +8,8 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; import com.hbm.entity.projectile.EntityCog; import com.hbm.lib.Library; +import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.IConfigurableMachine; -import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.fauxpointtwelve.DirPos; @@ -17,22 +17,23 @@ import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.tile.IHeatSource; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityStirling extends TileEntityLoadedBase implements INBTPacketReceiver, IEnergyProviderMK2, IConfigurableMachine { - +public class TileEntityStirling extends TileEntityLoadedBase implements IBufPacketReceiver, IEnergyProviderMK2, IConfigurableMachine { + public long powerBuffer; public int heat; private int warnCooldown = 0; private int overspeed = 0; public boolean hasCog = true; - + public float spin; public float lastSpin; - + /* CONFIGURABLE CONSTANTS */ public static double diffusion = 0.1D; public static double efficiency = 0.5D; @@ -42,44 +43,44 @@ public class TileEntityStirling extends TileEntityLoadedBase implements INBTPack @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + if(hasCog) { this.powerBuffer = 0; tryPullHeat(); - + this.powerBuffer = (long) (this.heat * (this.isCreative() ? 1 : this.efficiency)); - + if(warnCooldown > 0) warnCooldown--; - + if(heat > maxHeat() && !isCreative()) { - + this.overspeed++; - + if(overspeed > 60 && warnCooldown == 0) { warnCooldown = 100; worldObj.playSoundEffect(xCoord + 0.5, yCoord + 1, zCoord + 0.5, "hbm:block.warnOverspeed", 2.0F, 1.0F); } - + if(overspeed > overspeedLimit) { this.hasCog = false; this.worldObj.newExplosion(null, xCoord + 0.5, yCoord + 1, zCoord + 0.5, 5F, false, false); - + int orientation = this.getBlockMetadata() - BlockDummyable.offset; ForgeDirection dir = ForgeDirection.getOrientation(orientation); EntityCog cog = new EntityCog(worldObj, xCoord + 0.5 + dir.offsetX, yCoord + 1, zCoord + 0.5 + dir.offsetZ).setOrientation(orientation).setMeta(this.getGeatMeta()); ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); - + cog.motionX = rot.offsetX; cog.motionY = 1 + (heat - maxHeat()) * 0.0001D; cog.motionZ = rot.offsetZ; worldObj.spawnEntityInWorld(cog); - + this.markDirty(); } - + } else { this.overspeed = 0; } @@ -87,52 +88,48 @@ public class TileEntityStirling extends TileEntityLoadedBase implements INBTPack this.overspeed = 0; this.warnCooldown = 0; } - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", powerBuffer); - data.setInteger("heat", heat); - data.setBoolean("hasCog", hasCog); - INBTPacketReceiver.networkPack(this, data, 150); - + + networkPackNT(150); + if(hasCog) { for(DirPos pos : getConPos()) { this.tryProvide(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } else { - + if(this.powerBuffer > 0) this.powerBuffer--; } - + this.heat = 0; } else { - + float momentum = powerBuffer * 50F / ((float) maxHeat()); - + if(this.isCreative()) momentum = Math.min(momentum, 45F); - + this.lastSpin = this.spin; this.spin += momentum; - + if(this.spin >= 360F) { this.spin -= 360F; this.lastSpin -= 360F; } } } - + public int getGeatMeta() { return this.getBlockType() == ModBlocks.machine_stirling ? 0 : this.getBlockType() == ModBlocks.machine_stirling_creative ? 2 : 1; } - + public int maxHeat() { return this.getBlockType() == ModBlocks.machine_stirling ? 300 : 1500; } - + public boolean isCreative() { return this.getBlockType() == ModBlocks.machine_stirling_creative; } - + protected DirPos[] getConPos() { return new DirPos[] { new DirPos(xCoord + 2, yCoord, zCoord, Library.POS_X), @@ -143,29 +140,36 @@ public class TileEntityStirling extends TileEntityLoadedBase implements INBTPack } @Override - public void networkUnpack(NBTTagCompound nbt) { - this.powerBuffer = nbt.getLong("power"); - this.heat = nbt.getInteger("heat"); - this.hasCog = nbt.getBoolean("hasCog"); + public void serialize(ByteBuf buf) { + buf.writeLong(this.powerBuffer); + buf.writeInt(this.heat); + buf.writeBoolean(this.hasCog); } - + + @Override + public void deserialize(ByteBuf buf) { + this.powerBuffer = buf.readLong(); + this.heat = buf.readInt(); + this.hasCog = buf.readBoolean(); + } + protected void tryPullHeat() { TileEntity con = worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); - + if(con instanceof IHeatSource) { IHeatSource source = (IHeatSource) con; int heatSrc = (int) (source.getHeatStored() * diffusion); - + if(heatSrc > 0) { source.useUpHeat(heatSrc); this.heat += heatSrc; return; } } - + this.heat = Math.max(this.heat - Math.max(this.heat / 1000, 1), 0); } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -174,7 +178,7 @@ public class TileEntityStirling extends TileEntityLoadedBase implements INBTPack this.hasCog = nbt.getBoolean("hasCog"); this.overspeed = nbt.getInteger("overspeed"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -198,12 +202,12 @@ public class TileEntityStirling extends TileEntityLoadedBase implements INBTPack public long getMaxPower() { return powerBuffer; } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -214,10 +218,10 @@ public class TileEntityStirling extends TileEntityLoadedBase implements INBTPack zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java b/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java index 8b9f0eb39..407c79868 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java @@ -12,6 +12,7 @@ import com.hbm.inventory.gui.GUIStorageDrum; import com.hbm.items.ModItems; import com.hbm.items.special.ItemWasteLong; import com.hbm.items.special.ItemWasteShort; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; @@ -23,7 +24,6 @@ import api.hbm.fluid.IFluidStandardSender; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; @@ -34,7 +34,8 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class TileEntityStorageDrum extends TileEntityMachineBase implements IFluidStandardSender, IBufPacketReceiver, IGUIProvider { +public class TileEntityStorageDrum extends TileEntityMachineBase implements IFluidStandardSender, IBufPacketReceiver, IGUIProvider, IFluidCopiable { + public FluidTank[] tanks; private static final int[] slots_arr = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 }; @@ -54,61 +55,61 @@ public class TileEntityStorageDrum extends TileEntityMachineBase implements IFlu @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + float rad = 0; - + int liquid = 0; int gas = 0; - + for(int i = 0; i < 24; i++) { - + if(slots[i] != null) { - + Item item = slots[i].getItem(); - + if(worldObj.getTotalWorldTime() % 20 == 0) { rad += HazardSystem.getHazardLevelFromStack(slots[i], HazardRegistry.RADIATION); } - + int meta = slots[i].getItemDamage(); - + if(item == ModItems.nuclear_waste_long && worldObj.rand.nextInt(VersatileConfig.getLongDecayChance()) == 0) { ItemWasteLong.WasteClass wasteClass = ItemWasteLong.WasteClass.values()[ItemWasteLong.rectify(meta)]; liquid += wasteClass.liquid; gas += wasteClass.gas; slots[i] = new ItemStack(ModItems.nuclear_waste_long_depleted, 1, meta); } - + if(item == ModItems.nuclear_waste_long_tiny && worldObj.rand.nextInt(VersatileConfig.getLongDecayChance() / 10) == 0) { ItemWasteLong.WasteClass wasteClass = ItemWasteLong.WasteClass.values()[ItemWasteLong.rectify(meta)]; liquid += wasteClass.liquid / 10; gas += wasteClass.gas / 10; slots[i] = new ItemStack(ModItems.nuclear_waste_long_depleted_tiny, 1, meta); } - + if(item == ModItems.nuclear_waste_short && worldObj.rand.nextInt(VersatileConfig.getShortDecayChance()) == 0) { ItemWasteShort.WasteClass wasteClass = ItemWasteShort.WasteClass.values()[ItemWasteLong.rectify(meta)]; liquid += wasteClass.liquid; gas += wasteClass.gas; slots[i] = new ItemStack(ModItems.nuclear_waste_short_depleted, 1, meta); } - + if(item == ModItems.nuclear_waste_short_tiny && worldObj.rand.nextInt(VersatileConfig.getShortDecayChance() / 10) == 0) { ItemWasteShort.WasteClass wasteClass = ItemWasteShort.WasteClass.values()[ItemWasteLong.rectify(meta)]; liquid += wasteClass.liquid / 10; gas += wasteClass.gas / 10; slots[i] = new ItemStack(ModItems.nuclear_waste_short_depleted_tiny, 1, meta); } - + if(item == ModItems.ingot_au198 && worldObj.rand.nextInt(VersatileConfig.getShortDecayChance() / 20) == 0) { slots[i] = new ItemStack(ModItems.ingot_mercury, 1, meta); } if(item == ModItems.nugget_au198 && worldObj.rand.nextInt(VersatileConfig.getShortDecayChance() / 100) == 0) { slots[i] = new ItemStack(ModItems.nugget_mercury, 1, meta); } - + if(item == ModItems.ingot_pb209 && worldObj.rand.nextInt(VersatileConfig.getShortDecayChance() / 10) == 0) { slots[i] = new ItemStack(ModItems.ingot_bismuth, 1, meta); } @@ -127,27 +128,27 @@ public class TileEntityStorageDrum extends TileEntityMachineBase implements IFlu this.tanks[0].setFill(this.tanks[0].getFill() + liquid); this.tanks[1].setFill(this.tanks[1].getFill() + gas); - + for(int i = 0; i < 2; i++) { - + int overflow = Math.max(this.tanks[i].getFill() - this.tanks[i].getMaxFill(), 0); - + if(overflow > 0) { this.tanks[i].setFill(this.tanks[i].getFill() - overflow); this.tanks[i].getTankType().onFluidRelease(this, this.tanks[i], overflow); } } - + age++; - + if(age >= 20) age -= 20; - + this.sendFluidToAll(tanks[0], this); this.sendFluidToAll(tanks[1], this); - - this.sendStandard(25); - + + this.networkPackNT(25); + if(rad > 0) { radiate(worldObj, xCoord, yCoord, zCoord, rad); } @@ -158,58 +159,58 @@ public class TileEntityStorageDrum extends TileEntityMachineBase implements IFlu tanks[0].serialize(buf); tanks[1].serialize(buf); } - + @Override public void deserialize(ByteBuf buf) { tanks[0].deserialize(buf); tanks[1].deserialize(buf); } - + private void radiate(World world, int x, int y, int z, float rads) { - + double range = 32D; - + List entities = world.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(x + 0.5, y + 0.5, z + 0.5, x + 0.5, y + 0.5, z + 0.5).expand(range, range, range)); - + for(EntityLivingBase e : entities) { - + Vec3 vec = Vec3.createVectorHelper(e.posX - (x + 0.5), (e.posY + e.getEyeHeight()) - (y + 0.5), e.posZ - (z + 0.5)); double len = vec.lengthVector(); vec = vec.normalize(); - + float res = 0; - + for(int i = 1; i < len; i++) { int ix = (int)Math.floor(x + 0.5 + vec.xCoord * i); int iy = (int)Math.floor(y + 0.5 + vec.yCoord * i); int iz = (int)Math.floor(z + 0.5 + vec.zCoord * i); - + res += world.getBlock(ix, iy, iz).getExplosionResistance(null); } - + if(res < 1) res = 1; - + float eRads = rads; eRads /= (float)res; eRads /= (float)(len * len); - + ContaminationUtil.contaminate(e, HazardType.RADIATION, ContaminationType.CREATIVE, eRads); } } @Override public boolean isItemValidForSlot(int i, ItemStack itemStack) { - + Item item = itemStack.getItem(); - - if(item == ModItems.nuclear_waste_long || - item == ModItems.nuclear_waste_long_tiny || - item == ModItems.nuclear_waste_short || - item == ModItems.nuclear_waste_short_tiny || + + if(item == ModItems.nuclear_waste_long || + item == ModItems.nuclear_waste_long_tiny || + item == ModItems.nuclear_waste_short || + item == ModItems.nuclear_waste_short_tiny || item == ModItems.ingot_au198) return true; - + return false; } @@ -222,14 +223,14 @@ public class TileEntityStorageDrum extends TileEntityMachineBase implements IFlu public boolean canExtractItem(int i, ItemStack itemStack, int j) { Item item = itemStack.getItem(); - - if(item == ModItems.nuclear_waste_long_depleted || - item == ModItems.nuclear_waste_long_depleted_tiny || - item == ModItems.nuclear_waste_short_depleted || - item == ModItems.nuclear_waste_short_depleted_tiny || + + if(item == ModItems.nuclear_waste_long_depleted || + item == ModItems.nuclear_waste_long_depleted_tiny || + item == ModItems.nuclear_waste_short_depleted || + item == ModItems.nuclear_waste_short_depleted_tiny || item == ModItems.ingot_mercury) return true; - + return false; } @@ -237,19 +238,19 @@ public class TileEntityStorageDrum extends TileEntityMachineBase implements IFlu public int getInventoryStackLimit() { return 1; } - + @Override public int[] getAccessibleSlotsFromSide(int side) { return slots_arr; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); this.tanks[0].readFromNBT(nbt, "liquid"); this.tanks[1].readFromNBT(nbt, "gas"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -274,7 +275,12 @@ public class TileEntityStorageDrum extends TileEntityMachineBase implements IFlu @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIStorageDrum(player.inventory, this); } + + @Override + public FluidTank getTankToPaste() { + return null; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java b/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java index ecdb619a0..30d3d8df5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java @@ -15,12 +15,12 @@ import com.hbm.util.ArmorUtil; import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.monster.EntityCreeper; import net.minecraft.entity.passive.EntityOcelot; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; @@ -69,17 +69,7 @@ public class TileEntityTesla extends TileEntityMachineBase implements IEnergyRec this.targets = zap(worldObj, dx, dy, dz, range, null); } - NBTTagCompound data = new NBTTagCompound(); - data.setShort("length", (short)targets.size()); - int i = 0; - for(double[] d : this.targets) { - data.setDouble("x" + i, d[0]); - data.setDouble("y" + i, d[1]); - data.setDouble("z" + i, d[2]); - i++; - } - - this.networkPack(data, 100); + this.networkPackNT(100); } } @@ -145,19 +135,30 @@ public class TileEntityTesla extends TileEntityMachineBase implements IEnergyRec return ret; } - - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - - int s = data.getShort("length"); - + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeShort((short)targets.size()); + for(double[] d : this.targets) { + buf.writeDouble(d[0]); + buf.writeDouble(d[1]); + buf.writeDouble(d[2]); + } + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + int s = buf.readShort(); + this.targets.clear(); - + for(int i = 0; i < s; i++) this.targets.add(new double[] { - data.getDouble("x" + i), - data.getDouble("y" + i), - data.getDouble("z" + i) + buf.readDouble(), // X + buf.readDouble(), // Y + buf.readDouble() // Z }); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityTowerLarge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityTowerLarge.java index 4e092d01c..9fec83779 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityTowerLarge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityTowerLarge.java @@ -4,7 +4,7 @@ import java.io.IOException; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; -import com.hbm.config.GeneralConfig; +import com.hbm.config.ClientConfig; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -53,7 +53,7 @@ public class TileEntityTowerLarge extends TileEntityCondenser { if(worldObj.isRemote) { - if(GeneralConfig.enableSteamParticles && (this.waterTimer > 0 && this.worldObj.getTotalWorldTime() % 4 == 0)) { + if(ClientConfig.COOLING_TOWER_PARTICLES.get() && (this.waterTimer > 0 && this.worldObj.getTotalWorldTime() % 4 == 0)) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "tower"); data.setFloat("lift", 0.5F); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityTowerSmall.java b/src/main/java/com/hbm/tileentity/machine/TileEntityTowerSmall.java index 6414c1e4e..fb89729bb 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityTowerSmall.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityTowerSmall.java @@ -4,7 +4,7 @@ import java.io.IOException; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; -import com.hbm.config.GeneralConfig; +import com.hbm.config.ClientConfig; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -53,7 +53,7 @@ public class TileEntityTowerSmall extends TileEntityCondenser { if(worldObj.isRemote) { - if(GeneralConfig.enableSteamParticles && (this.waterTimer > 0 && this.worldObj.getTotalWorldTime() % 2 == 0)) { + if(ClientConfig.COOLING_TOWER_PARTICLES.get() && (this.waterTimer > 0 && this.worldObj.getTotalWorldTime() % 2 == 0)) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "tower"); data.setFloat("lift", 1F); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityVaultDoor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityVaultDoor.java index 8ca80eb24..910f89b17 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityVaultDoor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityVaultDoor.java @@ -3,11 +3,12 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.DummyBlockVault; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.TEVaultPacket; +import com.hbm.packet.toclient.TEVaultPacket; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; @@ -194,9 +195,9 @@ public class TileEntityVaultDoor extends TileEntityLockableBase { } public boolean placeDummy(int x, int y, int z) { - - if(!worldObj.getBlock(x, y, z).isReplaceable(worldObj, x, y, z)) - return false; + + Block present = worldObj.getBlock(x, y, z); + if(!present.isReplaceable(worldObj, x, y, z) && present != ModBlocks.dummy_block_vault) worldObj.func_147480_a(x, y, z, false); worldObj.setBlock(x, y, z, ModBlocks.dummy_block_vault); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWasteDrum.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWasteDrum.java index 14f86bab4..5371416dd 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityWasteDrum.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityWasteDrum.java @@ -9,7 +9,6 @@ import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.inventory.Container; @@ -76,6 +75,7 @@ public class TileEntityWasteDrum extends TileEntity implements ISidedInventory, public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -142,6 +142,8 @@ public class TileEntityWasteDrum extends TileEntity implements ISidedInventory, slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override @@ -161,6 +163,10 @@ public class TileEntityWasteDrum extends TileEntity implements ISidedInventory, } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } @Override @@ -229,7 +235,7 @@ public class TileEntityWasteDrum extends TileEntity implements ISidedInventory, @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIWasteDrum(player.inventory, this); } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java index 9168d4387..e012bbe80 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java @@ -18,8 +18,9 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.ItemWatzPellet; import com.hbm.items.machine.ItemWatzPellet.EnumWatzType; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IFluidCopiable; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.Compat; @@ -31,8 +32,8 @@ import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.inventory.Container; @@ -44,9 +45,10 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityWatz extends TileEntityMachineBase implements IFluidStandardTransceiver, IControlReceiver, IGUIProvider { - +public class TileEntityWatz extends TileEntityMachineBase implements IFluidStandardTransceiver, IControlReceiver, IGUIProvider, IFluidCopiable { + public FluidTank[] tanks; + public FluidTank[] sharedTanks; public int heat; public double fluxLastBase; //flux created by the previous passive emission, only used for display public double fluxLastReaction; //flux created by the previous reaction, used for the next reaction @@ -64,16 +66,29 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand this.tanks[0] = new FluidTank(Fluids.COOLANT, 64_000); this.tanks[1] = new FluidTank(Fluids.COOLANT_HOT, 64_000); this.tanks[2] = new FluidTank(Fluids.WATZ, 64_000); + resetSharedTanks(); } @Override public String getName() { return "container.watz"; } + + protected void resetSharedTanks() { + this.sharedTanks = new FluidTank[3]; + this.sharedTanks[0] = new FluidTank(Fluids.COOLANT, 64_000); + this.sharedTanks[1] = new FluidTank(Fluids.COOLANT_HOT, 64_000); + this.sharedTanks[2] = new FluidTank(Fluids.WATZ, 64_000); + this.sharedTanks[0].setFill(tanks[0].getFill()); + this.sharedTanks[1].setFill(tanks[1].getFill()); + this.sharedTanks[2].setFill(tanks[2].getFill()); + } @Override public void updateEntity() { + if(!worldObj.isRemote) resetSharedTanks(); + if(!worldObj.isRemote && !updateLock()) { boolean turnedOn = worldObj.getBlock(xCoord, yCoord + 3, zCoord) == ModBlocks.watz_pump && worldObj.getIndirectPowerLevelTo(xCoord, yCoord + 5, zCoord, 0) > 0; @@ -119,8 +134,11 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand /* send sync packets (order doesn't matter) */ for(TileEntityWatz segment : segments) { + segment.sharedTanks[0] = sharedTanks[0]; + segment.sharedTanks[1] = sharedTanks[1]; + segment.sharedTanks[2] = sharedTanks[2]; segment.isOn = turnedOn; - segment.sendPacket(sharedTanks); + segment.networkPackNT(25); segment.heat *= 0.99; //cool 1% per tick } @@ -277,30 +295,28 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand } } } - - public void sendPacket(FluidTank[] tanks) { - - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("heat", this.heat); - data.setBoolean("isOn", isOn); - data.setBoolean("lock", isLocked); - data.setDouble("flux", this.fluxLastReaction + this.fluxLastBase); - for(int i = 0; i < tanks.length; i++) { - tanks[i].writeToNBT(data, "t" + i); + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeInt(this.heat); + buf.writeBoolean(isOn); + buf.writeBoolean(isLocked); + buf.writeDouble(this.fluxLastReaction + this.fluxLastBase); + for(FluidTank tank : sharedTanks) { + tank.serialize(buf); } - this.networkPack(data, 25); } @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.heat = nbt.getInteger("heat"); - this.isOn = nbt.getBoolean("isOn"); - this.isLocked = nbt.getBoolean("lock"); - this.fluxDisplay = nbt.getDouble("flux"); - for(int i = 0; i < tanks.length; i++) { - tanks[i].readFromNBT(nbt, "t" + i); + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.heat = buf.readInt(); + this.isOn = buf.readBoolean(); + this.isLocked = buf.readBoolean(); + this.fluxDisplay = buf.readDouble(); + for(FluidTank tank : tanks) { + tank.deserialize(buf); } } @@ -531,7 +547,7 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIWatz(player.inventory, this); } @@ -549,4 +565,9 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand public FluidTank[] getReceivingTanks() { return new FluidTank[] { tanks[0] }; } + + @Override + public FluidTank getTankToPaste() { + return null; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityZirnoxDestroyed.java b/src/main/java/com/hbm/tileentity/machine/TileEntityZirnoxDestroyed.java index 4fb2be3ef..e24fc2318 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityZirnoxDestroyed.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityZirnoxDestroyed.java @@ -2,9 +2,9 @@ package com.hbm.tileentity.machine; import java.util.List; +import com.hbm.handler.threading.PacketThreading; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.util.ContaminationUtil; import com.hbm.util.ContaminationUtil.ContaminationType; import com.hbm.util.ContaminationUtil.HazardType; @@ -21,34 +21,34 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; public class TileEntityZirnoxDestroyed extends TileEntity { - + public boolean onFire = true; - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); onFire = nbt.getBoolean("fire"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setBoolean("onFire", onFire); } - + @Override public void updateEntity() { if(!worldObj.isRemote) { radiate(worldObj, this.xCoord, this.yCoord, this.zCoord); - + if(this.worldObj.rand.nextInt(5000) == 0) onFire = false; - + if(onFire && this.worldObj.getTotalWorldTime() % 50 == 0) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "rbmkflame"); data.setInteger("maxAge", 90); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, xCoord + 0.25 + worldObj.rand.nextDouble() * 0.5, yCoord + 1.75, zCoord + 0.25 + worldObj.rand.nextDouble() * 0.5), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord + 1.75, zCoord + 0.5, 75)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, xCoord + 0.25 + worldObj.rand.nextDouble() * 0.5, yCoord + 1.75, zCoord + 0.25 + worldObj.rand.nextDouble() * 0.5), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord + 1.75, zCoord + 0.5, 75)); MainRegistry.proxy.effectNT(data); worldObj.playSoundEffect(xCoord + 0.5F, yCoord + 0.5, zCoord + 0.5, "fire.fire", 1.0F + worldObj.rand.nextFloat(), worldObj.rand.nextFloat() * 0.7F + 0.3F); } @@ -102,4 +102,4 @@ public class TileEntityZirnoxDestroyed extends TileEntity { public double getMaxRenderDistanceSquared() { return 65536.0D; } -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/tileentity/machine/albion/IParticleUser.java b/src/main/java/com/hbm/tileentity/machine/albion/IParticleUser.java new file mode 100644 index 000000000..c71cfdc92 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/albion/IParticleUser.java @@ -0,0 +1,13 @@ +package com.hbm.tileentity.machine.albion; + +import com.hbm.tileentity.machine.albion.TileEntityPASource.Particle; +import com.hbm.util.fauxpointtwelve.BlockPos; + +import net.minecraftforge.common.util.ForgeDirection; + +public interface IParticleUser { + + public boolean canParticleEnter(Particle particle, ForgeDirection dir, int x, int y, int z); + public void onEnter(Particle particle, ForgeDirection dir); + public BlockPos getExitPos(Particle particle); +} diff --git a/src/main/java/com/hbm/tileentity/machine/albion/TileEntityCooledBase.java b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityCooledBase.java new file mode 100644 index 000000000..18559eaa4 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityCooledBase.java @@ -0,0 +1,113 @@ +package com.hbm.tileentity.machine.albion; + +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.BobMathUtil; +import com.hbm.util.fauxpointtwelve.DirPos; + +import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.fluid.IFluidStandardTransceiver; +import io.netty.buffer.ByteBuf; +import net.minecraft.nbt.NBTTagCompound; + +public abstract class TileEntityCooledBase extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver { + + public FluidTank[] tanks; + + public long power; + + public static final float KELVIN = 273F; + public float temperature = KELVIN + 20; + public static final float temperature_target = KELVIN - 150F; + public static final float temp_change_per_mb = 0.5F; + public static final float temp_passive_heating = 2.5F; + public static final float temp_change_max = 5F + temp_passive_heating; + + public TileEntityCooledBase(int slotCount) { + super(slotCount); + tanks = new FluidTank[2]; + tanks[0] = new FluidTank(Fluids.PERFLUOROMETHYL_COLD, 4_000); + tanks[1] = new FluidTank(Fluids.PERFLUOROMETHYL, 4_000); + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + for(DirPos pos : this.getConPos()) { + this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + + this.temperature += this.temp_passive_heating; + if(this.temperature > KELVIN + 20) this.temperature = KELVIN + 20; + + if(this.temperature > this.temperature_target) { + int cyclesTemp = (int) Math.ceil((Math.min(this.temperature - temperature_target, temp_change_max)) / temp_change_per_mb); + int cyclesCool = tanks[0].getFill(); + int cyclesHot = tanks[1].getMaxFill() - tanks[1].getFill(); + int cycles = BobMathUtil.min(cyclesTemp, cyclesCool, cyclesHot); + + tanks[0].setFill(tanks[0].getFill() - cycles); + tanks[1].setFill(tanks[1].getFill() + cycles); + this.temperature -= this.temp_change_per_mb * cycles; + } + + this.networkPackNT(50); + } + } + + public boolean isCool() { + return this.temperature <= this.temperature_target; + } + + public abstract DirPos[] getConPos(); + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + tanks[0].serialize(buf); + tanks[1].serialize(buf); + buf.writeFloat(temperature); + buf.writeLong(power); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + tanks[0].deserialize(buf); + tanks[1].deserialize(buf); + this.temperature = buf.readFloat(); + this.power = buf.readLong(); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + tanks[0].readFromNBT(nbt, "t0"); + tanks[1].readFromNBT(nbt, "t1"); + this.temperature = nbt.getFloat("temperature"); + this.power = nbt.getLong("power"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + tanks[0].writeToNBT(nbt, "t0"); + tanks[1].writeToNBT(nbt, "t1"); + nbt.setFloat("temperature", temperature); + nbt.setLong("power", power); + } + + @Override public long getPower() { return this.power; } + @Override public void setPower(long power) { this.power = power; } + + @Override public FluidTank[] getSendingTanks() { return new FluidTank[] {tanks[1]}; } + @Override public FluidTank[] getReceivingTanks() { return new FluidTank[] {tanks[0]}; } + @Override public FluidTank[] getAllTanks() { return tanks; } +} diff --git a/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPABeamline.java b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPABeamline.java new file mode 100644 index 000000000..effe4f514 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPABeamline.java @@ -0,0 +1,56 @@ +package com.hbm.tileentity.machine.albion; + +import com.hbm.tileentity.machine.albion.TileEntityPASource.Particle; +import com.hbm.util.fauxpointtwelve.BlockPos; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityPABeamline extends TileEntity implements IParticleUser { + + @Override + public boolean canParticleEnter(Particle particle, ForgeDirection dir, int x, int y, int z) { + ForgeDirection beamlineDir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10).getRotation(ForgeDirection.DOWN); + BlockPos input = new BlockPos(xCoord, yCoord, zCoord).offset(beamlineDir, -1); + return input.compare(x, y, z) && beamlineDir == dir; + } + + @Override + public void onEnter(Particle particle, ForgeDirection dir) { + particle.addDistance(3); + } + + @Override + public BlockPos getExitPos(Particle particle) { + ForgeDirection beamlineDir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10).getRotation(ForgeDirection.DOWN); + return new BlockPos(xCoord, yCoord, zCoord).offset(beamlineDir, 2); + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 1, + yCoord, + zCoord - 1, + xCoord + 2, + yCoord + 1, + zCoord + 2 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPADetector.java b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPADetector.java new file mode 100644 index 000000000..e5bb48c88 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPADetector.java @@ -0,0 +1,176 @@ +package com.hbm.tileentity.machine.albion; + +import com.hbm.inventory.container.ContainerPADetector; +import com.hbm.inventory.gui.GUIPADetector; +import com.hbm.inventory.recipes.ParticleAcceleratorRecipes; +import com.hbm.inventory.recipes.ParticleAcceleratorRecipes.ParticleAcceleratorRecipe; +import com.hbm.lib.Library; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.machine.albion.TileEntityPASource.PAState; +import com.hbm.tileentity.machine.albion.TileEntityPASource.Particle; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityPADetector extends TileEntityCooledBase implements IGUIProvider, IParticleUser { + + public static final long usage = 100_000; + + public TileEntityPADetector() { + super(5); + } + + @Override + public String getName() { + return "container.paDetector"; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + this.power = Library.chargeTEFromItems(slots, 0, power, this.getMaxPower()); + } + + super.updateEntity(); + } + + @Override + public DirPos[] getConPos() { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + return new DirPos[] { + new DirPos(xCoord - rot.offsetX * 5, yCoord, zCoord - rot.offsetZ * 5, rot.getOpposite()), + new DirPos(xCoord - rot.offsetX * 5, yCoord + 1, zCoord - rot.offsetZ * 5, rot.getOpposite()), + new DirPos(xCoord - rot.offsetX * 5, yCoord - 1, zCoord - rot.offsetZ * 5, rot.getOpposite()), + new DirPos(xCoord - rot.offsetX * 5 + dir.offsetX, yCoord, zCoord - rot.offsetZ * 5 + dir.offsetZ, rot.getOpposite()), + new DirPos(xCoord - rot.offsetX * 5 - dir.offsetX, yCoord, zCoord - rot.offsetZ * 5 - dir.offsetZ, rot.getOpposite()), + }; + } + + @Override + public long getMaxPower() { + return 1_000_000; + } + + @Override public boolean isItemValidForSlot(int slot, ItemStack stack) { return slot == 1 || slot == 2; } + @Override public boolean canExtractItem(int slot, ItemStack stack, int side) { return slot == 3 || slot == 4; } + @Override public int[] getAccessibleSlotsFromSide(int side) { return new int[] { 1, 2, 3, 4 }; } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 4, + yCoord - 2, + zCoord - 4, + xCoord + 5, + yCoord + 3, + zCoord + 5 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerPADetector(player.inventory, this); + } + + @Override + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIPADetector(player.inventory, this); + } + + @Override + public boolean canParticleEnter(Particle particle, ForgeDirection dir, int x, int y, int z) { + ForgeDirection detectorDir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10).getRotation(ForgeDirection.DOWN); + BlockPos input = new BlockPos(xCoord, yCoord, zCoord).offset(detectorDir, -4); + return input.compare(x, y, z) && detectorDir == dir; + } + + @Override + public void onEnter(Particle particle, ForgeDirection dir) { + particle.invalid = true; + //particle will crash if not perfectly focused + if(particle.defocus > 0) { particle.crash(PAState.CRASH_DEFOCUS); return; } + if(this.power < usage) { particle.crash(PAState.CRASH_NOPOWER); return; } + if(!isCool()) { particle.crash(PAState.CRASH_NOCOOL); return; } + this.power -= usage; + + for(ParticleAcceleratorRecipe recipe : ParticleAcceleratorRecipes.recipes) { + if(!recipe.matchesRecipe(particle.input1, particle.input2)) continue; // another W for continue + + if(particle.momentum < recipe.momentum) { + particle.crash(PAState.CRASH_UNDERSPEED); + return; + } + + if(canAccept(recipe)) { + if(recipe.output1.getItem().hasContainerItem(recipe.output1)) this.decrStackSize(1, 1); + if(recipe.output2 != null && recipe.output2.getItem().hasContainerItem(recipe.output2)) this.decrStackSize(2, 1); + + if(slots[3] == null) { + slots[3] = recipe.output1.copy(); + } else { + slots[3].stackSize += recipe.output1.stackSize; + } + + if(recipe.output2 != null) { + if(slots[4] == null) { + slots[4] = recipe.output2.copy(); + } else { + slots[4].stackSize += recipe.output2.stackSize; + } + } + } + particle.crash(PAState.SUCCESS); + return; + } + + particle.crash(PAState.CRASH_NORECIPE); + } + + public boolean canAccept(ParticleAcceleratorRecipe recipe) { + return checkSlot(recipe.output1, 1, 3) && checkSlot(recipe.output2, 2, 4); + } + + public boolean checkSlot(ItemStack output, int containerSlot, int outputSlot) { + if(output != null) { + if(slots[outputSlot] != null) { + //cancel if: output item does not match, meta does not match, resulting stacksize exceeds stack limit + if(slots[outputSlot].getItem() != output.getItem() || slots[outputSlot].getItemDamage() != output.getItemDamage() || slots[outputSlot].stackSize + output.stackSize > output.getMaxStackSize()) return false; + } + if(output.getItem().hasContainerItem(output)) { + ItemStack container = output.getItem().getContainerItem(output); + //cancel if: container slot is empty, container item does not match, meta does not match + if(slots[containerSlot] == null || slots[containerSlot].getItem() != container.getItem() || slots[containerSlot].getItemDamage() != container.getItemDamage()) return false; + } + } + + return true; + } + + @Override + public BlockPos getExitPos(Particle particle) { + return null; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPADipole.java b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPADipole.java new file mode 100644 index 000000000..7a3218217 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPADipole.java @@ -0,0 +1,238 @@ +package com.hbm.tileentity.machine.albion; + +import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.container.ContainerPADipole; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.gui.GUIPADipole; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemPACoil.EnumCoilType; +import com.hbm.lib.Library; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.machine.albion.TileEntityPASource.PAState; +import com.hbm.tileentity.machine.albion.TileEntityPASource.Particle; +import com.hbm.util.EnumUtil; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityPADipole extends TileEntityCooledBase implements IGUIProvider, IControlReceiver, IParticleUser { + + public int dirLower; + public int dirUpper; + public int dirRedstone; + public int threshold; + + public static final long usage = 100_000; + + public TileEntityPADipole() { + super(2); + } + + @Override + public long getMaxPower() { + return 2_500_000; + } + + @Override + public boolean canConnect(ForgeDirection dir) { + return dir == ForgeDirection.UP || dir == ForgeDirection.DOWN; + } + + @Override + public boolean canConnect(FluidType type, ForgeDirection dir) { + return dir == ForgeDirection.UP || dir == ForgeDirection.DOWN; + } + + @Override + public String getName() { + return "container.paDipole"; + } + + @Override + public boolean canParticleEnter(Particle particle, ForgeDirection dir, int x, int y, int z) { + return this.yCoord == y && (this.xCoord == x || this.zCoord == z); + } + + @Override + public void onEnter(Particle particle, ForgeDirection dir) { + EnumCoilType type = null; + boolean isInline = dir.equals(getExitDir(particle)); + + int mult = 1; + if(slots[1] != null && slots[1].getItem() == ModItems.pa_coil) { + type = EnumUtil.grabEnumSafely(EnumCoilType.class, slots[1].getItemDamage()); + + if(type.diMin > particle.momentum) mult *= 10; + if(type.diDistMin > particle.distanceTraveled) mult *= 10; + if(isInline) mult = 1; + } + + if(!isCool()) particle.crash(PAState.CRASH_NOCOOL); + if(this.power < this.usage * mult) particle.crash(PAState.CRASH_NOPOWER); + if(type == null) particle.crash(PAState.CRASH_NOCOIL); + if(type != null && type.diMax < particle.momentum) particle.crash(PAState.CRASH_OVERSPEED); + + if(particle.invalid) return; + + if (isInline) { + particle.addDistance(3); + } else { + particle.resetDistance(); + } + + this.power -= this.usage * mult; + } + + @Override + public BlockPos getExitPos(Particle particle) { + particle.dir = getExitDir(particle); + return new BlockPos(xCoord, yCoord, zCoord).offset(particle.dir, 2); + } + + public ForgeDirection getExitDir(Particle particle) { + int dit = particle.momentum < this.threshold + ? dirLower : checkRedstone() + ? dirRedstone : dirUpper; + return ditToForgeDir(dit); + } + + public boolean checkRedstone() { + for(DirPos pos : getConPos()) { + if(worldObj.isBlockIndirectlyGettingPowered(pos.getX(), pos.getY(), pos.getZ())) return true; + } + return false; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + this.power = Library.chargeTEFromItems(slots, 0, power, this.getMaxPower()); + } + + super.updateEntity(); + } + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeInt(dirLower); + buf.writeInt(dirUpper); + buf.writeInt(dirRedstone); + buf.writeInt(threshold); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + dirLower = buf.readInt(); + dirUpper = buf.readInt(); + dirRedstone = buf.readInt(); + threshold = buf.readInt(); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + dirLower = nbt.getInteger("dirLower"); + dirUpper = nbt.getInteger("dirUpper"); + dirRedstone = nbt.getInteger("dirRedstone"); + threshold = nbt.getInteger("threshold"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + nbt.setInteger("dirLower", dirLower); + nbt.setInteger("dirUpper", dirUpper); + nbt.setInteger("dirRedstone", dirRedstone); + nbt.setInteger("threshold", threshold); + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 1, + yCoord - 1, + zCoord - 1, + xCoord + 2, + yCoord + 2, + zCoord + 2 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override + public DirPos[] getConPos() { + return new DirPos[] { + new DirPos(xCoord + 1, yCoord + 2, zCoord, Library.POS_Y), + new DirPos(xCoord - 1, yCoord + 2, zCoord, Library.POS_Y), + new DirPos(xCoord, yCoord + 2, zCoord + 1, Library.POS_Y), + new DirPos(xCoord, yCoord + 2, zCoord - 1, Library.POS_Y), + new DirPos(xCoord + 1, yCoord - 2, zCoord, Library.NEG_Y), + new DirPos(xCoord - 1, yCoord - 2, zCoord, Library.NEG_Y), + new DirPos(xCoord, yCoord - 2, zCoord + 1, Library.NEG_Y), + new DirPos(xCoord, yCoord - 2, zCoord - 1, Library.NEG_Y) + }; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerPADipole(player.inventory, this); + } + + @Override + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIPADipole(player.inventory, this); + } + + @Override + public boolean hasPermission(EntityPlayer player) { + return this.isUseableByPlayer(player); + } + + @Override + public void receiveControl(NBTTagCompound data) { + if(data.hasKey("lower")) this.dirLower++; + if(data.hasKey("upper")) this.dirUpper++; + if(data.hasKey("redstone")) this.dirRedstone++; + if(data.hasKey("threshold")) this.threshold = data.getInteger("threshold"); + + if(this.dirLower > 3) this.dirLower -= 4; + if(this.dirUpper > 3) this.dirUpper -= 4; + if(this.dirRedstone > 3) this.dirRedstone -= 4; + + this.threshold = MathHelper.clamp_int(threshold, 0, 999_999_999); + } + + public static ForgeDirection ditToForgeDir(int dir) { + if(dir == 1) return ForgeDirection.EAST; + if(dir == 2) return ForgeDirection.SOUTH; + if(dir == 3) return ForgeDirection.WEST; + return ForgeDirection.NORTH; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPAQuadrupole.java b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPAQuadrupole.java new file mode 100644 index 000000000..283e2e417 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPAQuadrupole.java @@ -0,0 +1,132 @@ +package com.hbm.tileentity.machine.albion; + +import com.hbm.inventory.container.ContainerPAQuadrupole; +import com.hbm.inventory.gui.GUIPAQuadrupole; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemPACoil.EnumCoilType; +import com.hbm.lib.Library; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.machine.albion.TileEntityPASource.PAState; +import com.hbm.tileentity.machine.albion.TileEntityPASource.Particle; +import com.hbm.util.EnumUtil; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityPAQuadrupole extends TileEntityCooledBase implements IGUIProvider, IParticleUser { + + public static final long usage = 100_000; + public static final int focusGain = 100; + + public TileEntityPAQuadrupole() { + super(2); + } + + @Override + public long getMaxPower() { + return 2_500_000; + } + + @Override + public String getName() { + return "container.paQuadrupole"; + } + + @Override + public boolean canParticleEnter(Particle particle, ForgeDirection dir, int x, int y, int z) { + ForgeDirection beamlineDir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10).getRotation(ForgeDirection.DOWN); + BlockPos input = new BlockPos(xCoord, yCoord, zCoord).offset(beamlineDir, -1); + return input.compare(x, y, z) && beamlineDir == dir; + } + + @Override + public void onEnter(Particle particle, ForgeDirection dir) { + EnumCoilType type = null; + + int mult = 1; + if(slots[1] != null && slots[1].getItem() == ModItems.pa_coil) { + type = EnumUtil.grabEnumSafely(EnumCoilType.class, slots[1].getItemDamage()); + mult = type.quadMin > particle.momentum ? 10 : 1; + } + + if(!isCool()) particle.crash(PAState.CRASH_NOCOOL); + if(this.power < this.usage * mult) particle.crash(PAState.CRASH_NOPOWER); + if(type == null) particle.crash(PAState.CRASH_NOCOIL); + if(type != null && type.quadMax < particle.momentum) particle.crash(PAState.CRASH_OVERSPEED); + + if(particle.invalid) return; + + particle.addDistance(3); + particle.focus(focusGain); + this.power -= this.usage * mult; + } + + @Override + public BlockPos getExitPos(Particle particle) { + ForgeDirection beamlineDir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10).getRotation(ForgeDirection.DOWN); + return new BlockPos(xCoord, yCoord, zCoord).offset(beamlineDir, 2); + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + this.power = Library.chargeTEFromItems(slots, 0, power, this.getMaxPower()); + } + + super.updateEntity(); + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 1, + yCoord - 1, + zCoord - 1, + xCoord + 2, + yCoord + 2, + zCoord + 2 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override + public DirPos[] getConPos() { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + return new DirPos[] { + new DirPos(xCoord, yCoord + 2, zCoord, Library.POS_Y), + new DirPos(xCoord, yCoord - 2, zCoord, Library.NEG_Y), + new DirPos(xCoord + dir.offsetX * 2, yCoord, zCoord + dir.offsetZ * 2, dir), + new DirPos(xCoord - dir.offsetX * 2, yCoord, zCoord - dir.offsetZ * 2, dir.getOpposite()) + }; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerPAQuadrupole(player.inventory, this); + } + + @Override + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIPAQuadrupole(player.inventory, this); + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPARFC.java b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPARFC.java new file mode 100644 index 000000000..2c463c37c --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPARFC.java @@ -0,0 +1,124 @@ +package com.hbm.tileentity.machine.albion; + +import com.hbm.inventory.container.ContainerPARFC; +import com.hbm.inventory.gui.GUIPARFC; +import com.hbm.lib.Library; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.machine.albion.TileEntityPASource.PAState; +import com.hbm.tileentity.machine.albion.TileEntityPASource.Particle; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityPARFC extends TileEntityCooledBase implements IGUIProvider, IParticleUser { + + public static final long usage = 250_000; + public static final int momentumGain = 100; + public static final int defocusGain = 100; + + public TileEntityPARFC() { + super(1); + } + + @Override + public long getMaxPower() { + return 1_000_000; + } + + @Override + public String getName() { + return "container.paRFC"; + } + + @Override + public boolean canParticleEnter(Particle particle, ForgeDirection dir, int x, int y, int z) { + ForgeDirection rfcDir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10).getRotation(ForgeDirection.DOWN); + BlockPos input = new BlockPos(xCoord, yCoord, zCoord).offset(rfcDir, -4); + return input.compare(x, y, z) && rfcDir == dir; + } + + @Override + public void onEnter(Particle particle, ForgeDirection dir) { + + if(!isCool()) particle.crash(PAState.CRASH_NOCOOL); + if(this.power < this.usage) particle.crash(PAState.CRASH_NOPOWER); + + if(particle.invalid) return; + + particle.addDistance(9); + particle.momentum += this.momentumGain; + particle.defocus(defocusGain); + this.power -= this.usage; + } + + @Override + public BlockPos getExitPos(Particle particle) { + ForgeDirection beamlineDir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10).getRotation(ForgeDirection.DOWN); + return new BlockPos(xCoord, yCoord, zCoord).offset(beamlineDir, 5); + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + this.power = Library.chargeTEFromItems(slots, 0, power, this.getMaxPower()); + } + + super.updateEntity(); + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 4, + yCoord - 1, + zCoord - 4, + xCoord + 5, + yCoord + 2, + zCoord + 5 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override + public DirPos[] getConPos() { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10).getRotation(ForgeDirection.UP); + return new DirPos[] { + new DirPos(xCoord + dir.offsetX * 3, yCoord + 2, zCoord + dir.offsetZ * 3, Library.POS_Y), + new DirPos(xCoord - dir.offsetX * 3, yCoord + 2, zCoord - dir.offsetZ * 3, Library.POS_Y), + new DirPos(xCoord, yCoord + 2, zCoord, Library.POS_Y), + new DirPos(xCoord + dir.offsetX * 3, yCoord - 2, zCoord + dir.offsetZ * 3, Library.NEG_Y), + new DirPos(xCoord - dir.offsetX * 3, yCoord - 2, zCoord - dir.offsetZ * 3, Library.NEG_Y), + new DirPos(xCoord, yCoord - 2, zCoord, Library.NEG_Y) + }; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerPARFC(player.inventory, this); + } + + @Override + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIPARFC(player.inventory, this); + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPASource.java b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPASource.java new file mode 100644 index 000000000..1128ff67f --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPASource.java @@ -0,0 +1,331 @@ +package com.hbm.tileentity.machine.albion; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.container.ContainerPASource; +import com.hbm.inventory.gui.GUIPASource; +import com.hbm.lib.Library; +import com.hbm.tileentity.IConditionalInvAccess; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.util.EnumUtil; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityPASource extends TileEntityCooledBase implements IGUIProvider, IConditionalInvAccess, IControlReceiver { + + public static final long usage = 100_000; + public Particle particle; + public PAState state = PAState.IDLE; + + public int lastSpeed; + + public int debugSpeed; + + public enum PAState { + IDLE(0x8080ff), //no particle active + RUNNING(0xffff00), //running without further issue + SUCCESS(0x00ff00), //completed recipe + PAUSE_UNLOADED(0x808080), //particle suspended because it entered unloaded chunks + CRASH_DEFOCUS(0xff0000), //crash from excessive defocus + CRASH_DERAIL(0xff0000), //crash due to leaving the beamline + CRASH_CANNOT_ENTER(0xff0000), //crash due to hitting PA component from invalid side + CRASH_NOCOOL(0xff0000), //crash due to lack of cooling + CRASH_NOPOWER(0xff0000), //crash due to power outage + CRASH_NOCOIL(0xff0000), //crash due to no coil installed (QP, DP) + CRASH_OVERSPEED(0xff0000), //crash due to coil max speed exceeded (QP, DP) + CRASH_UNDERSPEED(0xff0000), //crash due to recipe momentum requirements not being met + CRASH_NORECIPE(0xff0000); //crash due to failing to match recipe + + public final int color; + + PAState(int color) { + this.color = color; + } + } + + public void updateState(PAState state) { this.state = state; } + + public TileEntityPASource() { + super(5); + } + + @Override public String getName() { return "container.paSource"; } + @Override public int getInventoryStackLimit() { return 1; } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + this.power = Library.chargeTEFromItems(slots, 0, power, this.getMaxPower()); + + for(int i = 0; i < 10; i++) { + if(particle != null) { + this.state = PAState.RUNNING; + steppy(); + this.debugSpeed = particle.momentum; + if(particle.invalid) this.particle = null; + } else if(this.power >= this.usage && slots[1] != null && slots[2] != null) { + tryRun(); + break; + } + } + } + + super.updateEntity(); + } + + public void steppy() { + if(!worldObj.getChunkProvider().chunkExists(particle.x >> 4, particle.z >> 4)) { this.state = PAState.PAUSE_UNLOADED; return; } //halt if we reach unloaded areas + //ExplosionSmallCreator.composeEffect(worldObj, particle.x + 0.5, particle.y + 0.5, particle.z + 0.5, 10, 1, 1); + + Block b = worldObj.getBlock(particle.x, particle.y, particle.z); + if(b instanceof BlockDummyable) { + int[] pos = ((BlockDummyable) b).findCore(worldObj, particle.x, particle.y, particle.z); + if(pos == null) { particle.crash(PAState.CRASH_DERAIL); return; } + TileEntity tile = worldObj.getTileEntity(pos[0], pos[1], pos[2]); + if(!(tile instanceof IParticleUser)) { particle.crash(PAState.CRASH_DERAIL); return; } + IParticleUser pa = (IParticleUser) tile; + if(pa.canParticleEnter(particle, particle.dir, particle.x, particle.y, particle.z)) { + pa.onEnter(particle, particle.dir); + BlockPos exit = pa.getExitPos(particle); + if(exit != null) particle.move(exit); + } else { particle.crash(PAState.CRASH_CANNOT_ENTER); return; } + } else { + particle.crash(PAState.CRASH_DERAIL); + } + } + + public void tryRun() { + if(slots[1].getItem().hasContainerItem(slots[1]) && slots[3] != null) return; + if(slots[2].getItem().hasContainerItem(slots[2]) && slots[4] != null) return; + + if(slots[1].getItem().hasContainerItem(slots[1])) slots[3] = slots[1].getItem().getContainerItem(slots[1]).copy(); + if(slots[2].getItem().hasContainerItem(slots[2])) slots[4] = slots[2].getItem().getContainerItem(slots[2]).copy(); + + this.power -= usage; + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); + this.particle = new Particle(this, xCoord + rot.offsetX * 5, yCoord, zCoord + rot.offsetZ * 5, rot, slots[1], slots[2]); + this.slots[1] = null; + this.slots[2] = null; + this.markDirty(); + } + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeInt(debugSpeed); + buf.writeByte((byte) this.state.ordinal()); + buf.writeInt(this.lastSpeed); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + debugSpeed = buf.readInt(); + state = EnumUtil.grabEnumSafely(PAState.class, buf.readByte()); + this.lastSpeed = buf.readInt(); + } + + @Override + public DirPos[] getConPos() { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + return new DirPos[] { + new DirPos(xCoord + dir.offsetX * 2, yCoord, zCoord + dir.offsetZ * 2, dir), + new DirPos(xCoord + dir.offsetX * 2 + rot.offsetX * 2, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 2, dir), + new DirPos(xCoord + dir.offsetX * 2 - rot.offsetX * 2, yCoord, zCoord + dir.offsetZ * 2 - rot.offsetZ * 2, dir), + new DirPos(xCoord - dir.offsetX * 2, yCoord, zCoord - dir.offsetZ * 2, dir.getOpposite()), + new DirPos(xCoord - dir.offsetX * 2 + rot.offsetX * 2, yCoord, zCoord - dir.offsetZ * 2 + rot.offsetZ * 2, dir.getOpposite()), + new DirPos(xCoord - dir.offsetX * 2 - rot.offsetX * 2, yCoord, zCoord - dir.offsetZ * 2 - rot.offsetZ * 2, dir.getOpposite()), + new DirPos(xCoord + rot.offsetX * 5, yCoord, zCoord + rot.offsetZ * 5, rot), + }; + } + + //ISidedInventory + @Override public boolean isItemValidForSlot(int slot, ItemStack stack) { return slot == 1 || slot == 2; } + @Override public boolean canExtractItem(int slot, ItemStack stack, int side) { return slot == 3 || slot == 4; } + @Override public int[] getAccessibleSlotsFromSide(int side) { return new int[] { 3, 4 }; } + + //IConditionalInvAccess + @Override public boolean isItemValidForSlot(int x, int y, int z, int slot, ItemStack stack) { return isItemValidForSlot(slot, stack); } + @Override public boolean canExtractItem(int x, int y, int z, int slot, ItemStack stack, int side) { return canExtractItem(slot, stack, side); } + + //reusing the same fucking instance because doing anything else would be retarded + public static final BlockPos cheapAss = new BlockPos(0, 0, 0); + public static final int[] slotsRed = new int[] {1, 3, 4}; + public static final int[] slotsYellow = new int[] {2, 3, 4}; + @Override + public int[] getAccessibleSlotsFromSide(int x, int y, int z, int side) { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + cheapAss.mutate(x, y, z); + + if(cheapAss.compare(xCoord + dir.offsetX - rot.offsetX * 2, yCoord, zCoord + dir.offsetZ - rot.offsetZ * 2) || + cheapAss.compare(xCoord - dir.offsetX + rot.offsetX * 2, yCoord, zCoord - dir.offsetZ + rot.offsetZ * 2)) { + return slotsYellow; + } + + if(cheapAss.compare(xCoord - dir.offsetX - rot.offsetX * 2, yCoord, zCoord - dir.offsetZ - rot.offsetZ * 2) || + cheapAss.compare(xCoord + dir.offsetX + rot.offsetX * 2, yCoord, zCoord + dir.offsetZ + rot.offsetZ * 2)) { + return slotsRed; + } + + return getAccessibleSlotsFromSide(side); + } + + @Override + public long getMaxPower() { + return 10_000_000; + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 4, + yCoord - 1, + zCoord - 4, + xCoord + 5, + yCoord + 2, + zCoord + 6 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return new ContainerPASource(player.inventory, this); } + @Override public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIPASource(player.inventory, this); } + + @Override + public boolean hasPermission(EntityPlayer player) { + return this.isUseableByPlayer(player); + } + + @Override + public void receiveControl(NBTTagCompound data) { + if(data.hasKey("cancel")) { + this.particle = null; + this.state = PAState.IDLE; + } + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + if(particle != null) { + NBTTagCompound particleTag = new NBTTagCompound(); + particleTag.setInteger("x", particle.x); + particleTag.setInteger("y", particle.y); + particleTag.setInteger("z", particle.z); + particleTag.setByte("dir", (byte) particle.dir.ordinal()); + particleTag.setInteger("momentum", particle.momentum); + particleTag.setInteger("defocus", particle.defocus); + particleTag.setInteger("dist", particle.distanceTraveled); + + NBTTagCompound inputTag1 = new NBTTagCompound(); + NBTTagCompound inputTag2 = new NBTTagCompound(); + particle.input1.writeToNBT(inputTag1); + particle.input2.writeToNBT(inputTag2); + + particleTag.setTag("input1", inputTag1); + particleTag.setTag("input2", inputTag2); + nbt.setTag("particle", particleTag); + } + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + if(!nbt.hasKey("particle")) return; + + NBTTagCompound particleTag = nbt.getCompoundTag("particle"); + int x = particleTag.getInteger("x"); + int y = particleTag.getInteger("y"); + int z = particleTag.getInteger("z"); + ForgeDirection dir = EnumUtil.grabEnumSafely(ForgeDirection.class, particleTag.getInteger("dir")); + ItemStack input1 = ItemStack.loadItemStackFromNBT(particleTag.getCompoundTag("input1")); + ItemStack input2 = ItemStack.loadItemStackFromNBT(particleTag.getCompoundTag("input2")); + + this.particle = new Particle(this, x, y, z, dir, input1, input2); + this.particle.momentum = particleTag.getInteger("momentum"); + this.particle.defocus = particleTag.getInteger("defocus"); + this.particle.distanceTraveled = particleTag.getInteger("dist"); + } + + public static class Particle { + + private TileEntityPASource source; + public int x; + public int y; + public int z; + public ForgeDirection dir; + public int momentum; + public int defocus; + public int distanceTraveled; + public static final int maxDefocus = 1000; + public boolean invalid = false; + + public ItemStack input1; + public ItemStack input2; + + public Particle(TileEntityPASource source, int x, int y, int z, ForgeDirection dir, ItemStack input1, ItemStack input2) { + this.source = source; + this.x = x; + this.y = y; + this.z = z; + this.dir = dir; + this.input1 = input1; + this.input2 = input2; + } + + public void crash(PAState state) { + this.invalid = true; + this.source.updateState(state); + } + + public void move(BlockPos pos) { + this.x = pos.getX(); + this.y = pos.getY(); + this.z = pos.getZ(); + this.source.lastSpeed = this.momentum; + } + + public void addDistance(int dist) { this.distanceTraveled += dist; } + public void resetDistance() { this.distanceTraveled = 0; } + + public void defocus(int amount) { + this.defocus += amount; + if(this.defocus > this.maxDefocus) this.crash(PAState.CRASH_DEFOCUS); + } + + public void focus(int amount) { + this.defocus -= amount; + if(this.defocus < 0) this.defocus = 0; + } + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java index 37f9f4fb0..d4e2c6705 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java @@ -5,7 +5,8 @@ import com.hbm.inventory.FluidStack; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.recipes.CrackingRecipes; -import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.tileentity.IBufPacketReceiver; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.Tuple.Pair; import com.hbm.util.fauxpointtwelve.DirPos; @@ -13,14 +14,15 @@ import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineCatalyticCracker extends TileEntityLoadedBase implements INBTPacketReceiver, IFluidStandardTransceiver { - +public class TileEntityMachineCatalyticCracker extends TileEntityLoadedBase implements IBufPacketReceiver, IFluidStandardTransceiver, IFluidCopiable { + public FluidTank[] tanks; - + public TileEntityMachineCatalyticCracker() { tanks = new FluidTank[5]; tanks[0] = new FluidTank(Fluids.BITUMEN, 4000); @@ -29,10 +31,10 @@ public class TileEntityMachineCatalyticCracker extends TileEntityLoadedBase impl tanks[3] = new FluidTank(Fluids.PETROLEUM, 4000); tanks[4] = new FluidTank(Fluids.SPENTSTEAM, 800); } - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { this.worldObj.theProfiler.startSection("catalyticCracker_setup_tanks"); @@ -46,47 +48,48 @@ public class TileEntityMachineCatalyticCracker extends TileEntityLoadedBase impl this.worldObj.theProfiler.endStartSection("catalyticCracker_send_fluid"); if(worldObj.getTotalWorldTime() % 10 == 0) { - + for(DirPos pos : getConPos()) { for(int i = 2; i <= 4; i++) { if(tanks[i].getFill() > 0) this.sendFluid(tanks[i], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - - NBTTagCompound data = new NBTTagCompound(); - for(int i = 0; i < 5; i++) - tanks[i].writeToNBT(data, "tank" + i); - - INBTPacketReceiver.networkPack(this, data, 50); } this.worldObj.theProfiler.endSection(); + networkPackNT(25); } } @Override - public void networkUnpack(NBTTagCompound nbt) { - for(int i = 0; i < 5; i++) - tanks[i].readFromNBT(nbt, "tank" + i); + public void serialize(ByteBuf buf) { + for(FluidTank tank : tanks) + tank.serialize(buf); } - + + @Override + public void deserialize(ByteBuf buf) { + for(FluidTank tank : tanks) + tank.deserialize(buf); + } + private void updateConnections() { - + for(DirPos pos : getConPos()) { this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + private void crack() { - + Pair quart = CrackingRecipes.getCracking(tanks[0].getTankType()); - + if(quart != null) { - + int left = quart.getKey().fill; int right = quart.getValue().fill; - + for(int i = 0; i < 2; i++) { if(tanks[0].getFill() >= 100 && tanks[1].getFill() >= 200 && hasSpace(left, right)) { tanks[0].setFill(tanks[0].getFill() - 100); @@ -98,29 +101,27 @@ public class TileEntityMachineCatalyticCracker extends TileEntityLoadedBase impl } } } - + private boolean hasSpace(int left, int right) { return tanks[2].getFill() + left <= tanks[2].getMaxFill() && tanks[3].getFill() + right <= tanks[3].getMaxFill() && tanks[4].getFill() + 2 <= tanks[4].getMaxFill(); } - + private void setupTanks() { - + Pair quart = CrackingRecipes.getCracking(tanks[0].getTankType()); - + if(quart != null) { tanks[1].setTankType(Fluids.STEAM); tanks[2].setTankType(quart.getKey().type); tanks[3].setTankType(quart.getValue().type); tanks[4].setTankType(Fluids.SPENTSTEAM); } else { - tanks[0].setTankType(Fluids.NONE); - tanks[1].setTankType(Fluids.NONE); tanks[2].setTankType(Fluids.NONE); tanks[3].setTankType(Fluids.NONE); tanks[4].setTankType(Fluids.NONE); } } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -128,7 +129,7 @@ public class TileEntityMachineCatalyticCracker extends TileEntityLoadedBase impl for(int i = 0; i < 5; i++) tanks[i].readFromNBT(nbt, "tank" + i); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -136,12 +137,12 @@ public class TileEntityMachineCatalyticCracker extends TileEntityLoadedBase impl for(int i = 0; i < 5; i++) tanks[i].writeToNBT(nbt, "tank" + i); } - + protected DirPos[] getConPos() { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + return new DirPos[] { new DirPos(xCoord + dir.offsetX * 4 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 4 + rot.offsetZ * 1, dir), new DirPos(xCoord + dir.offsetX * 4 - rot.offsetX * 2, yCoord, zCoord + dir.offsetZ * 4 - rot.offsetZ * 2, dir), @@ -153,12 +154,12 @@ public class TileEntityMachineCatalyticCracker extends TileEntityLoadedBase impl new DirPos(xCoord - dir.offsetX * 2 - rot.offsetX * 4, yCoord, zCoord - dir.offsetZ * 2 - rot.offsetZ * 4, rot.getOpposite()) }; } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 3, @@ -169,10 +170,10 @@ public class TileEntityMachineCatalyticCracker extends TileEntityLoadedBase impl zCoord + 4 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -193,4 +194,9 @@ public class TileEntityMachineCatalyticCracker extends TileEntityLoadedBase impl public FluidTank[] getAllTanks() { return tanks; } + + @Override + public FluidTank getTankToPaste() { + return tanks[0]; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticReformer.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticReformer.java index 3ef9daf56..abca3a2ea 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticReformer.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticReformer.java @@ -10,6 +10,7 @@ import com.hbm.inventory.gui.GUIMachineCatalyticReformer; import com.hbm.inventory.recipes.ReformingRecipes; import com.hbm.items.ModItems; import com.hbm.lib.Library; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityMachineBase; @@ -20,7 +21,7 @@ import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; @@ -28,7 +29,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineCatalyticReformer extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IPersistentNBT, IGUIProvider { +public class TileEntityMachineCatalyticReformer extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IPersistentNBT, IGUIProvider, IFluidCopiable { public long power; public static final long maxPower = 1_000_000; @@ -73,20 +74,23 @@ public class TileEntityMachineCatalyticReformer extends TileEntityMachineBase im } } } - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", this.power); - for(int i = 0; i < 4; i++) tanks[i].writeToNBT(data, "" + i); - this.networkPack(data, 150); + + this.networkPackNT(150); } } - + @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.power = nbt.getLong("power"); - for(int i = 0; i < 4; i++) tanks[i].readFromNBT(nbt, "" + i); + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(this.power); + for(int i = 0; i < 4; i++) tanks[i].serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + for(int i = 0; i < 4; i++) tanks[i].deserialize(buf); } private void reform() { @@ -248,7 +252,7 @@ public class TileEntityMachineCatalyticReformer extends TileEntityMachineBase im @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineCatalyticReformer(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java index cf90645d5..854382682 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java @@ -2,6 +2,7 @@ package com.hbm.tileentity.machine.oil; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; +import com.hbm.handler.CompatHandler.OCComponent; import com.hbm.inventory.FluidStack; import com.hbm.inventory.container.ContainerMachineCoker; import com.hbm.inventory.fluid.Fluids; @@ -10,6 +11,7 @@ import com.hbm.inventory.gui.GUIMachineCoker; import com.hbm.inventory.recipes.CokerRecipes; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.Tuple.Triplet; @@ -17,9 +19,14 @@ import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.fluid.IFluidStandardTransceiver; import api.hbm.tile.IHeatSource; +import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; +import li.cil.oc.api.machine.Arguments; +import li.cil.oc.api.machine.Callback; +import li.cil.oc.api.machine.Context; +import li.cil.oc.api.network.SimpleComponent; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -28,16 +35,17 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; -public class TileEntityMachineCoker extends TileEntityMachineBase implements IFluidStandardTransceiver, IGUIProvider { +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")}) +public class TileEntityMachineCoker extends TileEntityMachineBase implements SimpleComponent, OCComponent, IFluidStandardTransceiver, IGUIProvider, IFluidCopiable { public boolean wasOn; public int progress; public static int processTime = 20_000; - + public int heat; public static int maxHeat = 100_000; public static double diffusion = 0.25D; - + public FluidTank[] tanks; public TileEntityMachineCoker() { @@ -54,7 +62,7 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl @Override public void updateEntity() { - + if(!worldObj.isRemote) { this.tryPullHeat(); @@ -65,26 +73,26 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + this.wasOn = false; - + if(canProcess()) { int burn = heat / 100; - + if(burn > 0) { this.wasOn = true; this.progress += burn; this.heat -= burn; - + if(progress >= processTime) { this.markChanged(); progress -= this.processTime; - + Triplet recipe = CokerRecipes.getOutput(tanks[0].getTankType()); int fillReq = recipe.getX(); ItemStack output = recipe.getY(); FluidStack byproduct = recipe.getZ(); - + if(output != null) { if(slots[1] == null) { slots[1] = output.copy(); @@ -92,31 +100,25 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl slots[1].stackSize += output.stackSize; } } - + if(byproduct != null) { tanks[1].setFill(tanks[1].getFill() + byproduct.fill); } - + tanks[0].setFill(tanks[0].getFill() - fillReq); } } - if(wasOn && worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 20); + if(wasOn && worldObj.getTotalWorldTime() % 5 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 5); } - + for(DirPos pos : getConPos()) { if(this.tanks[1].getFill() > 0) this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - - NBTTagCompound data = new NBTTagCompound(); - data.setBoolean("wasOn", this.wasOn); - data.setInteger("heat", this.heat); - data.setInteger("progress", this.progress); - tanks[0].writeToNBT(data, "t0"); - tanks[1].writeToNBT(data, "t1"); - this.networkPack(data, 25); + + this.networkPackNT(25); } else { - + if(this.wasOn) { if(worldObj.getTotalWorldTime() % 2 == 0) { @@ -135,9 +137,11 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl } } } - + + + public DirPos[] getConPos() { - + return new DirPos[] { new DirPos(xCoord + 2, yCoord, zCoord + 1, Library.POS_X), new DirPos(xCoord + 2, yCoord, zCoord - 1, Library.POS_X), @@ -149,55 +153,64 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl new DirPos(xCoord - 1, yCoord, zCoord - 2, Library.NEG_Z) }; } - + public boolean canProcess() { Triplet recipe = CokerRecipes.getOutput(tanks[0].getTankType()); - + if(recipe == null) return false; - + int fillReq = recipe.getX(); ItemStack output = recipe.getY(); FluidStack byproduct = recipe.getZ(); - + if(byproduct != null) tanks[1].setTankType(byproduct.type); - + if(tanks[0].getFill() < fillReq) return false; if(byproduct != null && byproduct.fill + tanks[1].getFill() > tanks[1].getMaxFill()) return false; - + if(output != null && slots[1] != null) { if(output.getItem() != slots[1].getItem()) return false; if(output.getItemDamage() != slots[1].getItemDamage()) return false; if(output.stackSize + slots[1].stackSize > output.getMaxStackSize()) return false; } - + return true; } - + @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.wasOn = nbt.getBoolean("wasOn"); - this.heat = nbt.getInteger("heat"); - this.progress = nbt.getInteger("progress"); - tanks[0].readFromNBT(nbt, "t0"); - tanks[1].readFromNBT(nbt, "t1"); + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeBoolean(this.wasOn); + buf.writeInt(this.heat); + buf.writeInt(this.progress); + tanks[0].serialize(buf); + tanks[1].serialize(buf); } - + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.wasOn = buf.readBoolean(); + this.heat = buf.readInt(); + this.progress = buf.readInt(); + tanks[0].deserialize(buf); + tanks[1].deserialize(buf); + } + protected void tryPullHeat() { - + if(this.heat >= this.maxHeat) return; - + TileEntity con = worldObj.getTileEntity(xCoord, yCoord - 1, zCoord); - + if(con instanceof IHeatSource) { IHeatSource source = (IHeatSource) con; int diff = source.getHeatStored() - this.heat; - + if(diff == 0) { return; } - + if(diff > 0) { diff = (int) Math.ceil(diff * diffusion); source.useUpHeat(diff); @@ -207,7 +220,7 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl return; } } - + this.heat = Math.max(this.heat - Math.max(this.heat / 1000, 1), 0); } @@ -220,7 +233,7 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl public int[] getAccessibleSlotsFromSide(int side) { return new int[] { 1 }; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -229,7 +242,7 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl this.progress = nbt.getInteger("prog"); this.heat = nbt.getInteger("heat"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -253,12 +266,12 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl public FluidTank[] getReceivingTanks() { return new FluidTank[] { tanks[0] }; } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 2, @@ -269,10 +282,10 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl zCoord + 3 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -286,7 +299,63 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineCoker(player.inventory, this); } + + @Override + @Optional.Method(modid = "OpenComputers") + public String getComponentName() { + return "ntm_coker"; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] getTypeStored(Context context, Arguments args) { + return new Object[] {tanks[0].getTankType().getName(), tanks[1].getTankType().getName()}; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] getFluidStored(Context context, Arguments args) { + return new Object[] {tanks[0].getFill(), tanks[1].getFill()}; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] getHeat(Context context, Arguments args) { + return new Object[] {this.heat}; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] getInfo(Context context, Arguments args) { + return new Object[] {tanks[0].getTankType().getName(), tanks[1].getTankType().getName(), tanks[0].getFill(), tanks[1].getFill(), this.heat}; + } + + @Override + @Optional.Method(modid = "OpenComputers") + public String[] methods() { + return new String[] { + "getFluidStored", + "getTypeStored", + "getHeat", + "getInfo"}; + } + + @Override + @Optional.Method(modid = "OpenComputers") + public Object[] invoke(String method, Context context, Arguments args) throws Exception { + switch (method) { + case "getFluidStored": + return getFluidStored(context, args); + case "getTypeStored": + return getTypeStored(context, args); + case "getHeat": + return getHeat(context, args); + case "getInfo": + return getInfo(context, args); + } + throw new NoSuchMethodException(); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java index 3ad671ca9..5ec2fdf88 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java @@ -15,14 +15,13 @@ import com.hbm.lib.Library; import com.hbm.tileentity.IConfigurableMachine; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import com.hbm.world.feature.OilSpot; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.util.EnumChatFormatting; @@ -209,7 +208,7 @@ public class TileEntityMachineFrackingTower extends TileEntityOilDrillBase { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineOilWell(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java index 9052dd9fc..d186eb1e3 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java @@ -5,15 +5,13 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.recipes.FractionRecipes; import com.hbm.lib.Library; -import com.hbm.packet.BufPacket; -import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IBufPacketReceiver; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.Tuple.Pair; import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.fluid.IFluidStandardTransceiver; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; @@ -21,37 +19,37 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -public class TileEntityMachineFractionTower extends TileEntityLoadedBase implements IBufPacketReceiver, IFluidStandardTransceiver { - +public class TileEntityMachineFractionTower extends TileEntityLoadedBase implements IBufPacketReceiver, IFluidStandardTransceiver, IFluidCopiable { + public FluidTank[] tanks; - + public TileEntityMachineFractionTower() { tanks = new FluidTank[3]; tanks[0] = new FluidTank(Fluids.HEAVYOIL, 4000); tanks[1] = new FluidTank(Fluids.BITUMEN, 4000); tanks[2] = new FluidTank(Fluids.SMEAR, 4000); } - + @Override public void updateEntity() { if(!worldObj.isRemote) { - + TileEntity stack = worldObj.getTileEntity(xCoord, yCoord + 3, zCoord); - + if(stack instanceof TileEntityMachineFractionTower) { TileEntityMachineFractionTower frac = (TileEntityMachineFractionTower) stack; - + //make types equal for(int i = 0; i < 3; i++) { frac.tanks[i].setTankType(tanks[i].getTankType()); } - + //calculate transfer int oil = Math.min(tanks[0].getFill(), frac.tanks[0].getMaxFill() - frac.tanks[0].getFill()); int left = Math.min(frac.tanks[1].getFill(), tanks[1].getMaxFill() - tanks[1].getFill()); int right = Math.min(frac.tanks[2].getFill(), tanks[2].getMaxFill() - tanks[2].getFill()); - + //move oil up, pull fractions down tanks[0].setFill(tanks[0].getFill() - oil); tanks[1].setFill(tanks[1].getFill() + left); @@ -60,16 +58,16 @@ public class TileEntityMachineFractionTower extends TileEntityLoadedBase impleme frac.tanks[1].setFill(frac.tanks[1].getFill() - left); frac.tanks[2].setFill(frac.tanks[2].getFill() - right); } - + setupTanks(); this.updateConnections(); - + if(worldObj.getTotalWorldTime() % 10 == 0) fractionate(); - + this.sendFluid(); - PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + networkPackNT(50); } } @@ -84,22 +82,22 @@ public class TileEntityMachineFractionTower extends TileEntityLoadedBase impleme for(int i = 0; i < 3; i++) tanks[i].deserialize(buf); } - + private void updateConnections() { - + for(DirPos pos : getConPos()) { this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + private void sendFluid() { - + for(DirPos pos : getConPos()) { this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.sendFluid(tanks[2], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + private DirPos[] getConPos() { return new DirPos[] { new DirPos(xCoord + 2, yCoord, zCoord, Library.POS_X), @@ -108,11 +106,11 @@ public class TileEntityMachineFractionTower extends TileEntityLoadedBase impleme new DirPos(xCoord, yCoord, zCoord - 2, Library.NEG_Z) }; } - + private void setupTanks() { - + Pair quart = FractionRecipes.getFractions(tanks[0].getTankType()); - + if(quart != null) { tanks[1].setTankType(quart.getKey().type); tanks[2].setTankType(quart.getValue().type); @@ -122,16 +120,16 @@ public class TileEntityMachineFractionTower extends TileEntityLoadedBase impleme tanks[2].setTankType(Fluids.NONE); } } - + private void fractionate() { - + Pair quart = FractionRecipes.getFractions(tanks[0].getTankType()); - + if(quart != null) { - + int left = quart.getKey().fill; int right = quart.getValue().fill; - + if(tanks[0].getFill() >= 100 && hasSpace(left, right)) { tanks[0].setFill(tanks[0].getFill() - 100); tanks[1].setFill(tanks[1].getFill() + left); @@ -139,11 +137,11 @@ public class TileEntityMachineFractionTower extends TileEntityLoadedBase impleme } } } - + private boolean hasSpace(int left, int right) { return tanks[1].getFill() + left <= tanks[1].getMaxFill() && tanks[2].getFill() + right <= tanks[2].getMaxFill(); } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -151,7 +149,7 @@ public class TileEntityMachineFractionTower extends TileEntityLoadedBase impleme for(int i = 0; i < 3; i++) tanks[i].readFromNBT(nbt, "tank" + i); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -159,12 +157,12 @@ public class TileEntityMachineFractionTower extends TileEntityLoadedBase impleme for(int i = 0; i < 3; i++) tanks[i].writeToNBT(nbt, "tank" + i); } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -175,10 +173,10 @@ public class TileEntityMachineFractionTower extends TileEntityLoadedBase impleme zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java index 1bfbfe835..ae6d26e38 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java @@ -1,10 +1,11 @@ package com.hbm.tileentity.machine.oil; +import java.util.HashMap; import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.interfaces.IControlReceiver; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerMachineGasFlare; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -17,20 +18,21 @@ import com.hbm.inventory.gui.GUIMachineGasFlare; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.CompatEnergyControl; -import com.hbm.util.I18nUtil; import com.hbm.util.ParticleUtil; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.fluid.IFluidStandardReceiver; import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; @@ -41,7 +43,7 @@ import net.minecraft.util.DamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -public class TileEntityMachineGasFlare extends TileEntityMachineBase implements IEnergyProviderMK2, IFluidStandardReceiver, IControlReceiver, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC { +public class TileEntityMachineGasFlare extends TileEntityMachineBase implements IEnergyProviderMK2, IFluidStandardReceiver, IControlReceiver, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC, IFluidCopiable { public long power; public static final long maxPower = 100000; @@ -51,6 +53,8 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements protected int fluidUsed = 0; protected int output = 0; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public TileEntityMachineGasFlare() { super(6); tank = new FluidTank(Fluids.GAS, 64000); @@ -99,7 +103,7 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements public void updateEntity() { if(!worldObj.isRemote) { - + this.fluidUsed = 0; this.output = 0; @@ -110,63 +114,63 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements tank.setType(3, slots); tank.loadTank(1, 2, slots); - + int maxVent = 50; int maxBurn = 10; - + if(isOn && tank.getFill() > 0) { - - UpgradeManager.eval(slots, 4, 5); - int burn = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); - int yield = Math.min(UpgradeManager.getLevel(UpgradeType.EFFECT), 3); + + upgradeManager.checkSlots(this, slots, 4, 5); + int burn = upgradeManager.getLevel(UpgradeType.SPEED); + int yield = upgradeManager.getLevel(UpgradeType.EFFECT); maxVent += maxVent * burn; maxBurn += maxBurn * burn; - + if(!doesBurn || !(tank.getTankType().hasTrait(FT_Flammable.class))) { - + if(tank.getTankType().hasTrait(FT_Gaseous.class) || tank.getTankType().hasTrait(FT_Gaseous_ART.class)) { int eject = Math.min(maxVent, tank.getFill()); this.fluidUsed = eject; tank.setFill(tank.getFill() - eject); tank.getTankType().onFluidRelease(this, tank, eject); - + if(worldObj.getTotalWorldTime() % 7 == 0) this.worldObj.playSoundEffect(this.xCoord, this.yCoord + 11, this.zCoord, "random.fizz", getVolume(1.5F), 0.5F); - + if(worldObj.getTotalWorldTime() % 5 == 0 && eject > 0) { FT_Polluting.pollute(worldObj, xCoord, yCoord, zCoord, tank.getTankType(), FluidReleaseType.SPILL, eject * 5); } } } else { - + if(tank.getTankType().hasTrait(FT_Flammable.class)) { int eject = Math.min(maxBurn, tank.getFill()); this.fluidUsed = eject; tank.setFill(tank.getFill() - eject); - + int penalty = 5; if(!tank.getTankType().hasTrait(FT_Gaseous.class) && !tank.getTankType().hasTrait(FT_Gaseous_ART.class)) penalty = 10; - + long powerProd = tank.getTankType().getTrait(FT_Flammable.class).getHeatEnergy() * eject / 1_000; // divided by 1000 per mB powerProd /= penalty; powerProd += powerProd * yield / 3; - + this.output = (int) powerProd; power += powerProd; - + if(power > maxPower) power = maxPower; - + ParticleUtil.spawnGasFlame(worldObj, this.xCoord + 0.5F, this.yCoord + 11.75F, this.zCoord + 0.5F, worldObj.rand.nextGaussian() * 0.15, 0.2, worldObj.rand.nextGaussian() * 0.15); - + List list = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(xCoord - 1, yCoord + 12, zCoord - 2, xCoord + 2, yCoord + 17, zCoord + 2)); for(Entity e : list) { e.setFire(5); e.attackEntityFrom(DamageSource.onFire, 5F); } - + if(worldObj.getTotalWorldTime() % 3 == 0) this.worldObj.playSoundEffect(this.xCoord, this.yCoord + 11, this.zCoord, "hbm:weapon.flamethrowerShoot", getVolume(1.5F), 0.75F); @@ -178,20 +182,15 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements } power = Library.chargeItemsFromTE(slots, 0, power, maxPower); - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", this.power); - data.setBoolean("isOn", isOn); - data.setBoolean("doesBurn", doesBurn); - tank.writeToNBT(data, "t"); - this.networkPack(data, 50); + + this.networkPackNT(50); } else { - + if(isOn && tank.getFill() > 0) { - + if((!doesBurn || !(tank.getTankType().hasTrait(FT_Flammable.class))) && (tank.getTankType().hasTrait(FT_Gaseous.class) || tank.getTankType().hasTrait(FT_Gaseous_ART.class))) { - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "tower"); data.setFloat("lift", 1F); @@ -203,13 +202,13 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements data.setDouble("posX", xCoord + 0.5); data.setDouble("posZ", zCoord + 0.5); data.setDouble("posY", yCoord + 11); - + MainRegistry.proxy.effectNT(data); - + } - + if(doesBurn && tank.getTankType().hasTrait(FT_Flammable.class) && MainRegistry.proxy.me().getDistanceSq(xCoord, yCoord + 10, zCoord) <= 1024) { - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "vanillaExt"); data.setString("mode", "smoke"); @@ -225,13 +224,13 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements data.setDouble("posZ", zCoord - 0.5); data.setDouble("posY", yCoord + 11.75); } - + MainRegistry.proxy.effectNT(data); } } } } - + public DirPos[] getConPos() { return new DirPos[] { new DirPos(xCoord + 2, yCoord, zCoord, Library.POS_X), @@ -240,15 +239,23 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements new DirPos(xCoord, yCoord, zCoord - 2, Library.NEG_Z) }; } - + @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.power = nbt.getLong("power"); - this.isOn = nbt.getBoolean("isOn"); - this.doesBurn = nbt.getBoolean("doesBurn"); - tank.readFromNBT(nbt, "t"); + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(this.power); + buf.writeBoolean(this.isOn); + buf.writeBoolean(this.doesBurn); + tank.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + this.isOn = buf.readBoolean(); + this.doesBurn = buf.readBoolean(); + tank.deserialize(buf); } @Override @@ -294,7 +301,7 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineGasFlare(player.inventory, this); } @@ -315,10 +322,11 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - if(type == UpgradeType.EFFECT) return 3; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.EFFECT, 3); + return upgrades; } @Override @@ -327,4 +335,21 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements data.setDouble(CompatEnergyControl.D_CONSUMPTION_MB, this.fluidUsed); data.setDouble(CompatEnergyControl.D_OUTPUT_HE, this.output); } + + @Override + public NBTTagCompound getSettings(World world, int x, int y, int z) { + NBTTagCompound tag = new NBTTagCompound(); + tag.setIntArray("fluidID", new int[]{tank.getTankType().getID()}); + tag.setBoolean("isOn", isOn); + tag.setBoolean("doesBurn", doesBurn); + return tag; + } + + @Override + public void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + int id = nbt.getIntArray("fluidID")[index]; + tank.setTankType(Fluids.fromID(id)); + if(nbt.hasKey("isOn")) isOn = nbt.getBoolean("isOn"); + if(nbt.hasKey("doesBurn")) doesBurn = nbt.getBoolean("doesBurn"); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineHydrotreater.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineHydrotreater.java index 9bffbf38b..7b9424546 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineHydrotreater.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineHydrotreater.java @@ -9,6 +9,7 @@ import com.hbm.inventory.gui.GUIMachineHydrotreater; import com.hbm.inventory.recipes.HydrotreatingRecipes; import com.hbm.items.ModItems; import com.hbm.lib.Library; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityMachineBase; @@ -20,7 +21,6 @@ import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; @@ -28,7 +28,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineHydrotreater extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IPersistentNBT, IGUIProvider { +public class TileEntityMachineHydrotreater extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IPersistentNBT, IGUIProvider, IFluidCopiable { public long power; public static final long maxPower = 1_000_000; @@ -219,7 +219,12 @@ public class TileEntityMachineHydrotreater extends TileEntityMachineBase impleme @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineHydrotreater(player.inventory, this); } + + @Override + public FluidTank getTankToPaste() { + return tanks[0]; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java index a97f9574d..69cfd4533 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java @@ -1,10 +1,11 @@ package com.hbm.tileentity.machine.oil; +import java.util.HashMap; import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.inventory.FluidStack; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerLiquefactor; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -12,19 +13,20 @@ import com.hbm.inventory.gui.GUILiquefactor; import com.hbm.inventory.recipes.LiquefactionRecipes; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.CompatEnergyControl; -import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardSender; import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -33,7 +35,8 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -public class TileEntityMachineLiquefactor extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardSender, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC { +public class TileEntityMachineLiquefactor extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardSender, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC, IFluidCopiable { + public long power; public static final long maxPower = 100000; @@ -42,9 +45,11 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen public int progress; public static final int processTimeBase = 100; public int processTime; - + public FluidTank tank; - + + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public TileEntityMachineLiquefactor() { super(4); tank = new FluidTank(Fluids.NONE, 24_000); @@ -57,48 +62,42 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen @Override public void updateEntity() { - + if(!worldObj.isRemote) { this.power = Library.chargeTEFromItems(slots, 1, power, maxPower); - + this.updateConnections(); - UpgradeManager.eval(slots, 2, 3); - int speed = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); - int power = Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3); + upgradeManager.checkSlots(this, slots, 2, 3); + int speed = upgradeManager.getLevel(UpgradeType.SPEED); + int power = upgradeManager.getLevel(UpgradeType.POWER); this.processTime = processTimeBase - (processTimeBase / 4) * speed; this.usage = (usageBase + (usageBase * speed)) / (power + 1); - + if(this.canProcess()) this.process(); else this.progress = 0; - + this.sendFluid(); - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", this.power); - data.setInteger("progress", this.progress); - data.setInteger("usage", this.usage); - data.setInteger("processTime", this.processTime); - tank.writeToNBT(data, "t"); - this.networkPack(data, 50); + + this.networkPackNT(50); } } - + private void updateConnections() { for(DirPos pos : getConPos()) { this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + private void sendFluid() { for(DirPos pos : getConPos()) { this.sendFluid(tank, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + private DirPos[] getConPos() { return new DirPos[] { new DirPos(xCoord, yCoord + 4, zCoord, Library.POS_Y), @@ -119,57 +118,66 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen public int[] getAccessibleSlotsFromSide(int side) { return new int[] { 0 }; } - + public boolean canProcess() { - + if(this.power < usage) return false; if(slots[0] == null) return false; - + FluidStack out = LiquefactionRecipes.getOutput(slots[0]); - + if(out == null) return false; if(out.type != tank.getTankType() && tank.getFill() > 0) return false; if(out.fill + tank.getFill() > tank.getMaxFill()) return false; - + return true; } - + public void process() { - + this.power -= usage; - + progress++; - + if(progress >= processTime) { - + FluidStack out = LiquefactionRecipes.getOutput(slots[0]); tank.setTankType(out.type); tank.setFill(tank.getFill() + out.fill); this.decrStackSize(0, 1); - + progress = 0; - + this.markDirty(); } } @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.power = nbt.getLong("power"); - this.progress = nbt.getInteger("progress"); - this.usage = nbt.getInteger("usage"); - this.processTime = nbt.getInteger("processTime"); - tank.readFromNBT(nbt, "t"); + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(this.power); + buf.writeInt(this.progress); + buf.writeInt(this.usage); + buf.writeInt(this.processTime); + tank.serialize(buf); } - + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + this.progress = buf.readInt(); + this.usage = buf.readInt(); + this.processTime = buf.readInt(); + tank.deserialize(buf); + } + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); tank.readFromNBT(nbt, "tank"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -192,10 +200,10 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen } AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -206,10 +214,10 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -233,7 +241,7 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUILiquefactor(player.inventory, this); } @@ -255,10 +263,11 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - if(type == UpgradeType.POWER) return 3; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.POWER, 3); + return upgrades; } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineOilWell.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineOilWell.java index d86a6c40c..bd43227dd 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineOilWell.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineOilWell.java @@ -13,13 +13,12 @@ import com.hbm.lib.Library; import com.hbm.tileentity.IConfigurableMachine; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -166,7 +165,7 @@ public class TileEntityMachineOilWell extends TileEntityOilDrillBase { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineOilWell(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java index 7d836a45f..82840391f 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java @@ -13,17 +13,16 @@ import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.tileentity.IConfigurableMachine; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.util.BobMathUtil; -import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; @@ -110,19 +109,18 @@ public class TileEntityMachinePumpjack extends TileEntityOilDrillBase { } } } - - @Override - public void networkPack(NBTTagCompound nbt, int range) { - nbt.setFloat("speed", this.indicator == 0 ? (5F + (2F * this.speedLevel)) + (this.overLevel - 1F) * 10: 0F); - super.networkPack(nbt, range); - } - + @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.speed = nbt.getFloat("speed"); + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeFloat(this.indicator == 0 ? (5F + (2F * this.speedLevel)) + (this.overLevel - 1F) * 10: 0F); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.speed = buf.readFloat(); } @Override @@ -205,7 +203,7 @@ public class TileEntityMachinePumpjack extends TileEntityOilDrillBase { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineOilWell(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePyroOven.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePyroOven.java new file mode 100644 index 000000000..35a510752 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePyroOven.java @@ -0,0 +1,388 @@ +package com.hbm.tileentity.machine.oil; + +import java.util.HashMap; +import java.util.List; + +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; +import com.hbm.inventory.UpgradeManagerNT; +import com.hbm.inventory.container.ContainerPyroOven; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIPyroOven; +import com.hbm.inventory.recipes.PyroOvenRecipes; +import com.hbm.inventory.recipes.PyroOvenRecipes.PyroOvenRecipe; +import com.hbm.items.machine.ItemMachineUpgrade; +import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; +import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; +import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IFluidCopiable; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.IUpgradeInfoProvider; +import com.hbm.tileentity.TileEntityMachinePolluting; +import com.hbm.util.BobMathUtil; +import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; + +import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.fluid.IFluidStandardTransceiver; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityMachinePyroOven extends TileEntityMachinePolluting implements IEnergyReceiverMK2, IFluidStandardTransceiver, IGUIProvider, IUpgradeInfoProvider, IFluidCopiable { + + public long power; + public static final long maxPower = 10_000_000; + public boolean isVenting; + public boolean isProgressing; + public float progress; + public static int consumption = 10_000; + + public int prevAnim; + public int anim = 0; + + public FluidTank[] tanks; + + private AudioWrapper audio; + + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + + public TileEntityMachinePyroOven() { + super(6, 50); + tanks = new FluidTank[2]; + tanks[0] = new FluidTank(Fluids.NONE, 24_000); + tanks[1] = new FluidTank(Fluids.NONE, 24_000); + } + + @Override + public void setInventorySlotContents(int i, ItemStack stack) { + super.setInventorySlotContents(i, stack); + + if(stack != null && stack.getItem() instanceof ItemMachineUpgrade && i >= 4 && i <= 5) { + worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:item.upgradePlug", 1.0F, 1.0F); + } + } + + @Override + public String getName() { + return "container.machinePyroOven"; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); + tanks[0].setType(3, slots); + + for(DirPos pos : getConPos()) { + this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + if(tanks[0].getTankType() != Fluids.NONE) this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + if(tanks[1].getFill() > 0) this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); + if(smoke.getFill() > 0) this.sendFluid(smoke, worldObj, xCoord - rot.offsetX, yCoord + 3, zCoord - rot.offsetZ, Library.POS_Y); + + upgradeManager.checkSlots(this, slots, 4, 5); + int speed = upgradeManager.getLevel(UpgradeType.SPEED); + int powerSaving = upgradeManager.getLevel(UpgradeType.POWER); + int overdrive = upgradeManager.getLevel(UpgradeType.OVERDRIVE); + + this.isProgressing = false; + this.isVenting = false; + + if(this.canProcess()) { + PyroOvenRecipe recipe = getMatchingRecipe(); + this.progress += 1F / Math.max((recipe.duration - speed * (recipe.duration / 4)) / (overdrive * 2 + 1), 1); + this.isProgressing = true; + this.power -= this.getConsumption(speed + overdrive * 2, powerSaving); + + if(progress >= 1F) { + this.progress = 0F; + this.finishRecipe(recipe); + this.markDirty(); + } + + this.pollute(PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND); + + } else { + this.progress = 0F; + } + + this.networkPackNT(50); + } else { + + this.prevAnim = this.anim; + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); + + if(isProgressing) { + this.anim++; + + if(audio == null) { + audio = createAudioLoop(); + audio.startSound(); + } else if(!audio.isPlaying()) { + audio = rebootAudio(audio); + } + + audio.keepAlive(); + audio.updateVolume(this.getVolume(1F)); + + if(MainRegistry.proxy.me().getDistance(xCoord + 0.5, yCoord + 3, zCoord + 0.5) < 50) { + if(worldObj.rand.nextInt(20) == 0) worldObj.spawnParticle("cloud", xCoord + 0.5 - rot.offsetX - dir.offsetX * 0.875, yCoord + 3, zCoord + 0.5 - rot.offsetZ - dir.offsetZ * 0.875, 0.0, 0.05, 0.0); + if(worldObj.rand.nextInt(20) == 0) worldObj.spawnParticle("cloud", xCoord + 0.5 - rot.offsetX - dir.offsetX * 2.375, yCoord + 3, zCoord + 0.5 - rot.offsetZ - dir.offsetZ * 2.375, 0.0, 0.05, 0.0); + if(worldObj.rand.nextInt(20) == 0) worldObj.spawnParticle("cloud", xCoord + 0.5 - rot.offsetX + dir.offsetX * 0.875, yCoord + 3, zCoord + 0.5 - rot.offsetZ + dir.offsetZ * 0.875, 0.0, 0.05, 0.0); + if(worldObj.rand.nextInt(20) == 0) worldObj.spawnParticle("cloud", xCoord + 0.5 - rot.offsetX + dir.offsetX * 2.375, yCoord + 3, zCoord + 0.5 - rot.offsetZ + dir.offsetZ * 2.375, 0.0, 0.05, 0.0); + } + + } else { + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + + if(this.isVenting) { + + if(worldObj.getTotalWorldTime() % 2 == 0) { + NBTTagCompound fx = new NBTTagCompound(); + fx.setString("type", "tower"); + fx.setFloat("lift", 10F); + fx.setFloat("base", 0.25F); + fx.setFloat("max", 2.5F); + fx.setInteger("life", 100 + worldObj.rand.nextInt(20)); + fx.setInteger("color",0x202020); + fx.setDouble("posX", xCoord + 0.5 - rot.offsetX); + fx.setDouble("posY", yCoord + 3); + fx.setDouble("posZ", zCoord + 0.5 - rot.offsetZ); + MainRegistry.proxy.effectNT(fx); + } + } + } + } + + public static int getConsumption(int speed, int powerSaving) { + return (int) (consumption * Math.pow(speed + 1, 2)) / (powerSaving + 1); + } + + protected PyroOvenRecipe lastValidRecipe; + + public PyroOvenRecipe getMatchingRecipe() { + + if(lastValidRecipe != null && doesRecipeMatch(lastValidRecipe)) return lastValidRecipe; + + for(PyroOvenRecipe rec : PyroOvenRecipes.recipes) { + if(doesRecipeMatch(rec)) { + lastValidRecipe = rec; + return rec; + } + } + + return null; + } + + public boolean doesRecipeMatch(PyroOvenRecipe recipe) { + + if(recipe.inputFluid != null) { + if(tanks[0].getTankType() != recipe.inputFluid.type) return false; // recipe needs fluid, fluid doesn't match + } + if(recipe.inputItem != null) { + if(slots[1] == null) return false; // recipe needs item, no item present + if(!recipe.inputItem.matchesRecipe(slots[1], true)) return false; // recipe needs item, item doesn't match + } else { + if(slots[1] != null) return false; // recipe does not need item, but item is present + } + + return true; + } + + public boolean canProcess() { + int speed = upgradeManager.getLevel(UpgradeType.SPEED); + int powerSaving = upgradeManager.getLevel(UpgradeType.POWER); + if(power < this.getConsumption(speed, powerSaving)) return false; // not enough power + + PyroOvenRecipe recipe = this.getMatchingRecipe(); + if(recipe == null) return false; // no matching recipe + if(recipe.inputFluid != null && tanks[0].getFill() < recipe.inputFluid.fill) return false; // not enough input fluid + if(recipe.inputItem != null && slots[1].stackSize < recipe.inputItem.stacksize) return false; // not enough input item + if(recipe.outputFluid != null && recipe.outputFluid.fill + tanks[1].getFill() > tanks[1].getMaxFill() && recipe.outputFluid.type == tanks[1].getTankType()) return false; // too much output fluid + if(recipe.outputItem != null && slots[2] != null && recipe.outputItem.stackSize + slots[2].stackSize > slots[2].getMaxStackSize()) return false; // too much output item + if(recipe.outputItem != null && slots[2] != null && recipe.outputItem.getItem() != slots[2].getItem()) return false; // output item doesn't match + if(recipe.outputItem != null && slots[2] != null && recipe.outputItem.getItemDamage() != slots[2].getItemDamage()) return false; // output meta doesn't match + + return true; + } + + public void finishRecipe(PyroOvenRecipe recipe) { + if(recipe.outputItem != null) { + if(slots[2] == null) { + slots[2] = recipe.outputItem.copy(); + } else { + slots[2].stackSize += recipe.outputItem.stackSize; + } + } + if(recipe.outputFluid != null) { + tanks[1].setTankType(recipe.outputFluid.type); + tanks[1].setFill(tanks[1].getFill() + recipe.outputFluid.fill); + } + if(recipe.inputItem != null) { + this.decrStackSize(1, recipe.inputItem.stacksize); + } + if(recipe.inputFluid != null) { + tanks[0].setFill(tanks[0].getFill() - recipe.inputFluid.fill); + } + } + + protected DirPos[] getConPos() { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); + + return new DirPos[] { + new DirPos(xCoord + dir.offsetX * 2 + rot.offsetX * 3, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 3, rot), + new DirPos(xCoord + dir.offsetX * 1 + rot.offsetX * 3, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * 3, rot), + new DirPos(xCoord + rot.offsetX * 3, yCoord, zCoord + rot.offsetZ * 3, rot), + new DirPos(xCoord - dir.offsetX * 1 + rot.offsetX * 3, yCoord, zCoord - dir.offsetZ * 1 + rot.offsetZ * 3, rot), + new DirPos(xCoord - dir.offsetX * 2 + rot.offsetX * 3, yCoord, zCoord - dir.offsetZ * 2 + rot.offsetZ * 3, rot), + }; + } + + @Override public void serialize(ByteBuf buf) { + super.serialize(buf); + tanks[0].serialize(buf); + tanks[1].serialize(buf); + buf.writeLong(power); + buf.writeBoolean(isVenting); + buf.writeBoolean(isProgressing); + buf.writeFloat(progress); + } + + @Override public void deserialize(ByteBuf buf) { + super.deserialize(buf); + tanks[0].deserialize(buf); + tanks[1].deserialize(buf); + power = buf.readLong(); + isVenting = buf.readBoolean(); + isProgressing = buf.readBoolean(); + progress = buf.readFloat(); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.tanks[0].readFromNBT(nbt, "t0"); + this.tanks[1].readFromNBT(nbt, "t1"); + this.progress = nbt.getFloat("prog"); + this.power = nbt.getLong("power"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + this.tanks[0].writeToNBT(nbt, "t0"); + this.tanks[1].writeToNBT(nbt, "t1"); + nbt.setFloat("prog", progress); + nbt.setLong("power", power); + } + + @Override public int[] getAccessibleSlotsFromSide(int meta) { return new int[] { 1, 2 }; } + @Override public boolean isItemValidForSlot(int i, ItemStack itemStack) { return i == 1; } + @Override public boolean canExtractItem(int i, ItemStack itemStack, int j) { return i == 2; } + + @Override + public void pollute(PollutionType type, float amount) { + FluidTank tank = type == PollutionType.SOOT ? smoke : type == PollutionType.HEAVYMETAL ? smoke_leaded : smoke_poison; + + int fluidAmount = (int) Math.ceil(amount * 100); + tank.setFill(tank.getFill() + fluidAmount); + + if(tank.getFill() > tank.getMaxFill()) { + int overflow = tank.getFill() - tank.getMaxFill(); + tank.setFill(tank.getMaxFill()); + PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, type, overflow / 100F); + this.isVenting = true; + } + } + + @Override public AudioWrapper createAudioLoop() { + return MainRegistry.proxy.getLoopedSound("hbm:block.pyroOperate", xCoord, yCoord, zCoord, 1.0F, 15F, 1.0F, 20); + } + + @Override public void onChunkUnload() { + if(audio != null) { audio.stopSound(); audio = null; } + } + + @Override public void invalidate() { + super.invalidate(); + if(audio != null) { audio.stopSound(); audio = null; } + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + if(bb == null) bb = AxisAlignedBB.getBoundingBox(xCoord - 3, yCoord, zCoord - 3, xCoord + 4, yCoord + 3.5, zCoord + 4); + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override public long getPower() { return power; } + @Override public void setPower(long power) { this.power = power; } + @Override public long getMaxPower() { return maxPower; } + + @Override public FluidTank[] getAllTanks() { return new FluidTank[] { tanks[0], tanks[1], smoke }; } + @Override public FluidTank[] getSendingTanks() { return new FluidTank[] { tanks[1], smoke }; } + @Override public FluidTank[] getReceivingTanks() { return new FluidTank[] { tanks[0] }; } + + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return new ContainerPyroOven(player.inventory, this); } + @Override public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIPyroOven(player.inventory, this); } + + @Override + public boolean canProvideInfo(UpgradeType type, int level, boolean extendedInfo) { + return type == UpgradeType.SPEED || type == UpgradeType.POWER; + } + + @Override + public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo) { + info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_pyrooven)); + if(type == UpgradeType.SPEED) { + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_DELAY, "-" + (level * 25) + "%")); + info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "+" + (Math.pow(level + 1, 2) * 100 - 100) + "%")); + } + if(type == UpgradeType.POWER) { + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "-" + (100 - 100 / (level + 1)) + "%")); + } + if(type == UpgradeType.OVERDRIVE) { + info.add((BobMathUtil.getBlink() ? EnumChatFormatting.RED : EnumChatFormatting.DARK_GRAY) + "YES"); + } + } + + @Override + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.POWER, 3); + upgrades.put(UpgradeType.OVERDRIVE, 3); + return upgrades; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java index 65bf61681..e7ce296c2 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java @@ -24,11 +24,7 @@ import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; -import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.IOverpressurable; -import com.hbm.tileentity.IPersistentNBT; -import com.hbm.tileentity.IRepairable; -import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.*; import com.hbm.util.ParticleUtil; import com.hbm.util.Tuple.Quintet; import com.hbm.util.fauxpointtwelve.DirPos; @@ -37,7 +33,7 @@ import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; @@ -49,11 +45,11 @@ import net.minecraft.world.Explosion; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineRefinery extends TileEntityMachineBase implements IEnergyReceiverMK2, IOverpressurable, IPersistentNBT, IRepairable, IFluidStandardTransceiver, IGUIProvider { +public class TileEntityMachineRefinery extends TileEntityMachineBase implements IEnergyReceiverMK2, IOverpressurable, IPersistentNBT, IRepairable, IFluidStandardTransceiver, IGUIProvider, IFluidCopiable { public long power = 0; public int sulfur = 0; - public static final int maxSulfur = 100; + public static final int maxSulfur = 10; public static final long maxPower = 1000; public FluidTank[] tanks; @@ -193,14 +189,9 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements } } } - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", this.power); - for(int i = 0; i < 5; i++) tanks[i].writeToNBT(data, "" + i); - data.setBoolean("exploded", hasExploded); - data.setBoolean("onFire", onFire); - data.setBoolean("isOn", this.isOn); - this.networkPack(data, 150); + + this.networkPackNT(150); + } else { if(this.isOn) audioTime = 20; @@ -253,16 +244,25 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements audio = null; } } - + @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.power = nbt.getLong("power"); - for(int i = 0; i < 5; i++) tanks[i].readFromNBT(nbt, "" + i); - this.hasExploded = nbt.getBoolean("exploded"); - this.onFire = nbt.getBoolean("onFire"); - this.isOn = nbt.getBoolean("isOn"); + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(this.power); + for(int i = 0; i < 5; i++) tanks[i].serialize(buf); + buf.writeBoolean(this.hasExploded); + buf.writeBoolean(this.onFire); + buf.writeBoolean(this.isOn); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + for(int i = 0; i < 5; i++) tanks[i].deserialize(buf); + this.hasExploded = buf.readBoolean(); + this.onFire = buf.readBoolean(); + this.isOn = buf.readBoolean(); } private void refine() { @@ -464,7 +464,8 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineRefinery(player.inventory, this); } + } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineSolidifier.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineSolidifier.java index 5f0545326..5cf61f101 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineSolidifier.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineSolidifier.java @@ -1,9 +1,10 @@ package com.hbm.tileentity.machine.oil; +import java.util.HashMap; import java.util.List; import com.hbm.blocks.ModBlocks; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.container.ContainerSolidifier; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -11,20 +12,21 @@ import com.hbm.inventory.gui.GUISolidifier; import com.hbm.inventory.recipes.SolidificationRecipes; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.CompatEnergyControl; -import com.hbm.util.I18nUtil; import com.hbm.util.Tuple.Pair; import com.hbm.util.fauxpointtwelve.DirPos; +import com.hbm.util.i18n.I18nUtil; import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardReceiver; import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -33,7 +35,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -public class TileEntityMachineSolidifier extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC { +public class TileEntityMachineSolidifier extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC, IFluidCopiable { public long power; public static final long maxPower = 100000; @@ -42,9 +44,11 @@ public class TileEntityMachineSolidifier extends TileEntityMachineBase implement public int progress; public static final int processTimeBase = 100; public int processTime; - + public FluidTank tank; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public TileEntityMachineSolidifier() { super(5); tank = new FluidTank(Fluids.NONE, 24_000); @@ -57,42 +61,36 @@ public class TileEntityMachineSolidifier extends TileEntityMachineBase implement @Override public void updateEntity() { - + if(!worldObj.isRemote) { this.power = Library.chargeTEFromItems(slots, 1, power, maxPower); tank.setType(4, slots); this.updateConnections(); - UpgradeManager.eval(slots, 2, 3); - int speed = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); - int power = Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3); + upgradeManager.checkSlots(this, slots, 2, 3); + int speed = upgradeManager.getLevel(UpgradeType.SPEED); + int power = upgradeManager.getLevel(UpgradeType.POWER); this.processTime = processTimeBase - (processTimeBase / 4) * speed; this.usage = (usageBase + (usageBase * speed)) / (power + 1); - + if(this.canProcess()) this.process(); else this.progress = 0; - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", this.power); - data.setInteger("progress", this.progress); - data.setInteger("usage", this.usage); - data.setInteger("processTime", this.processTime); - tank.writeToNBT(data, "t"); - this.networkPack(data, 50); + + this.networkPackNT(50); } } - + private void updateConnections() { for(DirPos pos : getConPos()) { this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - + private DirPos[] getConPos() { return new DirPos[] { new DirPos(xCoord, yCoord + 4, zCoord, Library.POS_Y), @@ -113,80 +111,89 @@ public class TileEntityMachineSolidifier extends TileEntityMachineBase implement public int[] getAccessibleSlotsFromSide(int side) { return new int[] { 0 }; } - + public boolean canProcess() { - + if(this.power < usage) return false; - + Pair out = SolidificationRecipes.getOutput(tank.getTankType()); - + if(out == null) return false; - + int req = out.getKey(); ItemStack stack = out.getValue(); - + if(req > tank.getFill()) return false; - + if(slots[0] != null) { - + if(slots[0].getItem() != stack.getItem()) return false; - + if(slots[0].getItemDamage() != stack.getItemDamage()) return false; - + if(slots[0].stackSize + stack.stackSize > slots[0].getMaxStackSize()) return false; } - + return true; } - + public void process() { - + this.power -= usage; - + progress++; - + if(progress >= processTime) { - + Pair out = SolidificationRecipes.getOutput(tank.getTankType()); int req = out.getKey(); ItemStack stack = out.getValue(); tank.setFill(tank.getFill() - req); - + if(slots[0] == null) { slots[0] = stack.copy(); } else { slots[0].stackSize += stack.stackSize; } - + progress = 0; - + this.markDirty(); } } @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.power = nbt.getLong("power"); - this.progress = nbt.getInteger("progress"); - this.usage = nbt.getInteger("usage"); - this.processTime = nbt.getInteger("processTime"); - tank.readFromNBT(nbt, "t"); + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(this.power); + buf.writeInt(this.progress); + buf.writeInt(this.usage); + buf.writeInt(this.processTime); + tank.serialize(buf); } - + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + this.progress = buf.readInt(); + this.usage = buf.readInt(); + this.processTime = buf.readInt(); + tank.deserialize(buf); + } + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); tank.readFromNBT(nbt, "tank"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -207,12 +214,12 @@ public class TileEntityMachineSolidifier extends TileEntityMachineBase implement public long getMaxPower() { return maxPower; } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -223,10 +230,10 @@ public class TileEntityMachineSolidifier extends TileEntityMachineBase implement zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -250,7 +257,7 @@ public class TileEntityMachineSolidifier extends TileEntityMachineBase implement @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUISolidifier(player.inventory, this); } @@ -272,10 +279,11 @@ public class TileEntityMachineSolidifier extends TileEntityMachineBase implement } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - if(type == UpgradeType.POWER) return 3; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.POWER, 3); + return upgrades; } @Override @@ -283,4 +291,9 @@ public class TileEntityMachineSolidifier extends TileEntityMachineBase implement data.setBoolean(CompatEnergyControl.B_ACTIVE, this.progress > 0); data.setDouble(CompatEnergyControl.D_CONSUMPTION_HE, this.usage); } + + @Override + public FluidTank getTankToPaste() { + return tank; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineVacuumDistill.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineVacuumDistill.java index 037982ffd..3653b2138 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineVacuumDistill.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineVacuumDistill.java @@ -10,6 +10,7 @@ import com.hbm.inventory.recipes.RefineryRecipes; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityMachineBase; @@ -20,7 +21,7 @@ import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; @@ -28,7 +29,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IPersistentNBT, IGUIProvider { +public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IPersistentNBT, IGUIProvider, IFluidCopiable { public long power; public static final long maxPower = 1_000_000; @@ -81,12 +82,9 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem } } } - - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", this.power); - data.setBoolean("isOn", this.isOn); - for(int i = 0; i < 5; i++) tanks[i].writeToNBT(data, "" + i); - this.networkPack(data, 150); + + this.networkPackNT(150); + } else { if(this.isOn) audioTime = 20; @@ -139,14 +137,21 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem audio = null; } } - + @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.power = nbt.getLong("power"); - this.isOn = nbt.getBoolean("isOn"); - for(int i = 0; i < 5; i++) tanks[i].readFromNBT(nbt, "" + i); + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(this.power); + buf.writeBoolean(this.isOn); + for(int i = 0; i < 5; i++) tanks[i].serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + this.isOn = buf.readBoolean(); + for(int i = 0; i < 5; i++) tanks[i].deserialize(buf); } private void refine() { @@ -300,7 +305,7 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineVacuumDistill(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java index a8b2e4555..502d1bbbf 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java @@ -1,19 +1,16 @@ package com.hbm.tileentity.machine.oil; +import java.util.HashMap; import java.util.HashSet; import com.hbm.blocks.ModBlocks; -import com.hbm.inventory.UpgradeManager; +import com.hbm.inventory.UpgradeManagerNT; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; -import com.hbm.tileentity.IConfigurableMachine; -import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.IPersistentNBT; -import com.hbm.tileentity.IUpgradeInfoProvider; -import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.*; import com.hbm.util.BobMathUtil; import com.hbm.util.Tuple; import com.hbm.util.Tuple.Triplet; @@ -23,6 +20,7 @@ import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -30,34 +28,36 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public abstract class TileEntityOilDrillBase extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IConfigurableMachine, IPersistentNBT, IGUIProvider, IUpgradeInfoProvider { +public abstract class TileEntityOilDrillBase extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IConfigurableMachine, IPersistentNBT, IGUIProvider, IUpgradeInfoProvider, IFluidCopiable { public int indicator = 0; - + public long power; - + public FluidTank[] tanks; + public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(); + public TileEntityOilDrillBase() { super(8); tanks = new FluidTank[2]; tanks[0] = new FluidTank(Fluids.OIL, 64_000); tanks[1] = new FluidTank(Fluids.GAS, 64_000); } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + this.power = nbt.getLong("power"); for(int i = 0; i < this.tanks.length; i++) this.tanks[i].readFromNBT(nbt, "t" + i); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setLong("power", power); for(int i = 0; i < this.tanks.length; i++) this.tanks[i].writeToNBT(nbt, "t" + i); @@ -65,10 +65,10 @@ public abstract class TileEntityOilDrillBase extends TileEntityMachineBase imple @Override public void writeNBT(NBTTagCompound nbt) { - + boolean empty = power == 0; for(FluidTank tank : tanks) if(tank.getFill() > 0) empty = false; - + if(!empty) { nbt.setLong("power", power); for(int i = 0; i < this.tanks.length; i++) { @@ -90,85 +90,89 @@ public abstract class TileEntityOilDrillBase extends TileEntityMachineBase imple @Override public void updateEntity() { - - if(!worldObj.isRemote) { - + + if (!worldObj.isRemote) { + this.updateConnections(); - + this.tanks[0].unloadTank(1, 2, slots); this.tanks[1].unloadTank(3, 4, slots); - - UpgradeManager.eval(slots, 5, 7); - this.speedLevel = Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3); - this.energyLevel = Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3); - this.overLevel = Math.min(UpgradeManager.getLevel(UpgradeType.OVERDRIVE), 3) + 1; - int abLevel = Math.min(UpgradeManager.getLevel(UpgradeType.AFTERBURN), 3); - + + upgradeManager.checkSlots(this, slots, 5, 7); + this.speedLevel = upgradeManager.getLevel(UpgradeType.SPEED); + this.energyLevel = upgradeManager.getLevel(UpgradeType.POWER); + this.overLevel = upgradeManager.getLevel(UpgradeType.OVERDRIVE) + 1; + int abLevel = upgradeManager.getLevel(UpgradeType.AFTERBURN); + int toBurn = Math.min(tanks[1].getFill(), abLevel * 10); - - if(toBurn > 0) { + + if (toBurn > 0) { tanks[1].setFill(tanks[1].getFill() - toBurn); this.power += toBurn * 5; - - if(this.power > this.getMaxPower()) + + if (this.power > this.getMaxPower()) this.power = this.getMaxPower(); } - + power = Library.chargeTEFromItems(slots, 0, power, this.getMaxPower()); - for(DirPos pos : getConPos()) { - if(tanks[0].getFill() > 0) this.sendFluid(tanks[0], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - if(tanks[1].getFill() > 0) this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + for (DirPos pos : getConPos()) { + if (tanks[0].getFill() > 0) + this.sendFluid(tanks[0], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + if (tanks[1].getFill() > 0) + this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - - if(this.power >= this.getPowerReqEff() && this.tanks[0].getFill() < this.tanks[0].getMaxFill() && this.tanks[1].getFill() < this.tanks[1].getMaxFill()) { - + + if (this.power >= this.getPowerReqEff() && this.tanks[0].getFill() < this.tanks[0].getMaxFill() && this.tanks[1].getFill() < this.tanks[1].getMaxFill()) { + this.power -= this.getPowerReqEff(); - - if(worldObj.getTotalWorldTime() % getDelayEff() == 0) { + + if (worldObj.getTotalWorldTime() % getDelayEff() == 0) { this.indicator = 0; - - for(int y = yCoord - 1; y >= getDrillDepth(); y--) { - - if(worldObj.getBlock(xCoord, y, zCoord) != ModBlocks.oil_pipe) { - - if(trySuck(y)) { + + for (int y = yCoord - 1; y >= getDrillDepth(); y--) { + + if (worldObj.getBlock(xCoord, y, zCoord) != ModBlocks.oil_pipe) { + + if (trySuck(y)) { break; } else { tryDrill(y); break; } } - - if(y == getDrillDepth()) + + if (y == getDrillDepth()) this.indicator = 1; } } - + } else { this.indicator = 2; } - - this.sendUpdate(); + + this.networkPackNT(25); } } - - public void sendUpdate() { - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", power); - data.setInteger("indicator", this.indicator); - for(int i = 0; i < tanks.length; i++) tanks[i].writeToNBT(data, "t" + i); - this.networkPack(data, 25); + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + + buf.writeLong(this.power); + buf.writeInt(this.indicator); + for (FluidTank tank : tanks) tank.serialize(buf); } - - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.power = nbt.getLong("power"); - this.indicator = nbt.getInteger("indicator"); - for(int i = 0; i < tanks.length; i++) tanks[i].readFromNBT(nbt, "t" + i); + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + + this.power = buf.readLong(); + this.indicator = buf.readInt(); + for (FluidTank tank : tanks) tank.deserialize(buf); } - + public boolean canPump() { return true; } @@ -176,27 +180,27 @@ public abstract class TileEntityOilDrillBase extends TileEntityMachineBase imple @Override public void setInventorySlotContents(int i, ItemStack stack) { super.setInventorySlotContents(i, stack); - + if(stack != null && i >= 5 && i <= 7 && stack.getItem() instanceof ItemMachineUpgrade) worldObj.playSoundEffect(xCoord + 0.5, yCoord + 1.5, zCoord + 0.5, "hbm:item.upgradePlug", 1.0F, 1.0F); } - + public int getPowerReqEff() { int req = this.getPowerReq(); return (req + (req / 4 * this.speedLevel) - (req / 4 * this.energyLevel)) * this.overLevel; } - + public int getDelayEff() { int delay = getDelay(); return Math.max((delay - (delay / 4 * this.speedLevel) + (delay / 10 * this.energyLevel)) / this.overLevel, 1); } - + public abstract int getPowerReq(); public abstract int getDelay(); - + public void tryDrill(int y) { Block b = worldObj.getBlock(xCoord, y, zCoord); - + if(b.getExplosionResistance(null) < 1000) { onDrill(y); worldObj.setBlock(xCoord, y, zCoord, ModBlocks.oil_pipe); @@ -204,72 +208,72 @@ public abstract class TileEntityOilDrillBase extends TileEntityMachineBase imple this.indicator = 2; } } - + public void onDrill(int y) { } - + public int getDrillDepth() { return 5; } - + public boolean trySuck(int y) { - + Block b = worldObj.getBlock(xCoord, y, zCoord); - + if(!canSuckBlock(b)) return false; - + if(!this.canPump()) return true; - + trace.clear(); - + return suckRec(xCoord, y, zCoord, 0); } - + public boolean canSuckBlock(Block b) { return b == ModBlocks.ore_oil || b == ModBlocks.ore_oil_empty; } - + protected HashSet> trace = new HashSet(); - + public boolean suckRec(int x, int y, int z, int layer) { - + Triplet pos = new Triplet(x, y, z); - + if(trace.contains(pos)) return false; - + trace.add(pos); - + if(layer > 64) return false; - + Block b = worldObj.getBlock(x, y, z); - + if(b == ModBlocks.ore_oil || b == ModBlocks.ore_bedrock_oil) { doSuck(x, y, z); return true; } - + if(b == ModBlocks.ore_oil_empty) { ForgeDirection[] dirs = BobMathUtil.getShuffledDirs(); - + for(ForgeDirection dir : dirs) { if(suckRec(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, layer + 1)) return true; } } - + return false; } - + public void doSuck(int x, int y, int z) { - + if(worldObj.getBlock(x, y, z) == ModBlocks.ore_oil) { onSuck(x, y, z); } } - + public abstract void onSuck(int x, int y, int z); @Override @@ -307,7 +311,7 @@ public abstract class TileEntityOilDrillBase extends TileEntityMachineBase imple public FluidTank[] getAllTanks() { return tanks; } - + public abstract DirPos[] getConPos(); protected void updateConnections() { @@ -322,11 +326,17 @@ public abstract class TileEntityOilDrillBase extends TileEntityMachineBase imple } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 3; - if(type == UpgradeType.POWER) return 3; - if(type == UpgradeType.AFTERBURN) return 3; - if(type == UpgradeType.OVERDRIVE) return 3; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 3); + upgrades.put(UpgradeType.POWER, 3); + upgrades.put(UpgradeType.AFTERBURN, 3); + upgrades.put(UpgradeType.OVERDRIVE, 3); + return upgrades; + } + + @Override + public FluidTank getTankToPaste() { + return null; } } diff --git a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileBase.java b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileBase.java index 8c06fd658..80bc476ab 100644 --- a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileBase.java +++ b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileBase.java @@ -1,96 +1,56 @@ package com.hbm.tileentity.machine.pile; -import java.util.List; -import java.util.Random; +import com.hbm.handler.neutron.NeutronNodeWorld; +import com.hbm.handler.neutron.NeutronNodeWorld.StreamWorld; +import com.hbm.handler.neutron.PileNeutronHandler; +import com.hbm.handler.neutron.PileNeutronHandler.PileNeutronStream; +import com.hbm.handler.neutron.PileNeutronHandler.PileNeutronNode; -import com.hbm.blocks.ModBlocks; -import com.hbm.util.ContaminationUtil; -import com.hbm.util.ContaminationUtil.ContaminationType; -import com.hbm.util.ContaminationUtil.HazardType; - -import api.hbm.block.IPileNeutronReceiver; -import net.minecraft.block.Block; -import net.minecraft.entity.EntityLivingBase; +import com.hbm.util.fauxpointtwelve.BlockPos; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; public abstract class TileEntityPileBase extends TileEntity { @Override public abstract void updateEntity(); - - protected void castRay(int flux, int range) { - Random rand = worldObj.rand; - Vec3 vec = Vec3.createVectorHelper(1, 0, 0); - vec.rotateAroundZ((float)(rand.nextDouble() * Math.PI * 2D)); - vec.rotateAroundY((float)(rand.nextDouble() * Math.PI * 2D)); - vec.rotateAroundX((float)(rand.nextDouble() * Math.PI * 2D)); - - int prevX = xCoord; - int prevY = yCoord; - int prevZ = zCoord; - - for(float i = 1; i <= range; i += 0.5F) { - int x = (int)Math.floor(xCoord + 0.5 + vec.xCoord * i); - int y = (int)Math.floor(yCoord + 0.5 + vec.yCoord * i); - int z = (int)Math.floor(zCoord + 0.5 + vec.zCoord * i); - - if(x == prevX && y == prevY && z == prevZ) - continue; + @Override + public void invalidate() { + super.invalidate(); + NeutronNodeWorld.removeNode(worldObj, new BlockPos(this)); + } - prevX = x; - prevY = y; - prevZ = z; - - /*if(i == range || i == 1) { - NBTTagCompound data2 = new NBTTagCompound(); - data2.setString("type", "vanillaExt"); - data2.setString("mode", i == range ? "greendust" : - i == 1 ? "reddust" : "bluedust"); - data2.setDouble("posX", xCoord + 0.5 + vec.xCoord * i); - data2.setDouble("posY", yCoord + 0.5 + vec.yCoord * i); - data2.setDouble("posZ", zCoord + 0.5 + vec.zCoord * i); - MainRegistry.proxy.effectNT(data2); - }*/ - - Block b = worldObj.getBlock(x, y, z); - - if(b == ModBlocks.concrete || b == ModBlocks.concrete_smooth || b == ModBlocks.concrete_asbestos || b == ModBlocks.concrete_colored || b == ModBlocks.brick_concrete) - flux *= 0.25; - - if(b == ModBlocks.block_boron) - return; - - int meta = worldObj.getBlockMetadata(x, y, z); - - if(b == ModBlocks.block_graphite_rod && (meta & 8) == 0) - return; - - TileEntity te = worldObj.getTileEntity(x, y, z); - - if(te instanceof IPileNeutronReceiver) { - - //this part throttles neutron efficiency for reactions that are way too close, efficiency reaches 100% after 1.5 meters - //This entire time, this multiplier has been using the max distance, not the actual one, meaning efficency has always been 100% - //float mult = Math.min((float)i / 1.5F, 1F); - //int n = (int)(flux * mult); - - IPileNeutronReceiver rec = (IPileNeutronReceiver) te; - rec.receiveNeutrons(flux); - - if(b != ModBlocks.block_graphite_detector || (meta & 8) == 0) - return; - } - - List entities = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(x + 0.5, y + 0.5, z + 0.5, x + 0.5, y + 0.5, z + 0.5)); - - if(entities != null) - for(EntityLivingBase e : entities) { - - ContaminationUtil.contaminate(e, HazardType.RADIATION, ContaminationType.CREATIVE, flux / 4F); - } + @Override + public void onChunkUnload() { + super.onChunkUnload(); + NeutronNodeWorld.removeNode(worldObj, new BlockPos(this)); + } + + protected void castRay(int flux) { + + BlockPos pos = new BlockPos(this); + + if(flux == 0) { + // simple way to remove the node from the cache when no flux is going into it! + NeutronNodeWorld.removeNode(worldObj, pos); + return; } + + StreamWorld streamWorld = NeutronNodeWorld.getOrAddWorld(worldObj); + PileNeutronNode node = (PileNeutronNode) streamWorld.getNode(pos); + + if(node == null) { + node = PileNeutronHandler.makeNode(streamWorld, this); + streamWorld.addNode(node); + } + + Vec3 neutronVector = Vec3.createVectorHelper(1, 0, 0); + + neutronVector.rotateAroundZ((float)(Math.PI * 2D * worldObj.rand.nextDouble())); + neutronVector.rotateAroundY((float)(Math.PI * 2D * worldObj.rand.nextDouble())); + neutronVector.rotateAroundX((float)(Math.PI * 2D * worldObj.rand.nextDouble())); + + new PileNeutronStream(node, neutronVector, flux); } } diff --git a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileBreedingFuel.java b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileBreedingFuel.java index 1bbe94acb..c1f775e0e 100644 --- a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileBreedingFuel.java +++ b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileBreedingFuel.java @@ -35,7 +35,7 @@ public class TileEntityPileBreedingFuel extends TileEntityPileBase implements IP return; for(int i = 0; i < 2; i++) - this.castRay(1, 5); + this.castRay(1); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileFuel.java b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileFuel.java index 15233ad0c..c5480f753 100644 --- a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileFuel.java +++ b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileFuel.java @@ -2,9 +2,8 @@ package com.hbm.tileentity.machine.pile; import com.hbm.blocks.ModBlocks; import com.hbm.config.GeneralConfig; -import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.packet.toclient.AuxParticlePacketNT; import api.hbm.block.IPileNeutronReceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -22,73 +21,72 @@ public class TileEntityPileFuel extends TileEntityPileBase implements IPileNeutr @Override public void updateEntity() { - + if(!worldObj.isRemote) { dissipateHeat(); checkRedstone(react()); transmute(); - + if(this.heat >= this.maxHeat) { worldObj.newExplosion(null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 4, true, true); worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.gas_radon_dense); } - + if(worldObj.rand.nextFloat() * 2F <= this.heat / (float)this.maxHeat) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "vanillaExt"); data.setString("mode", "smoke"); data.setDouble("mY", 0.05); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, xCoord + 0.25 + worldObj.rand.nextDouble() * 0.5, yCoord + 1, zCoord + 0.25 + worldObj.rand.nextDouble() * 0.5), + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, xCoord + 0.25 + worldObj.rand.nextDouble() * 0.5, yCoord + 1, zCoord + 0.25 + worldObj.rand.nextDouble() * 0.5), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord + 1, zCoord + 0.5, 20)); - MainRegistry.proxy.effectNT(data); } - + if(this.progress >= this.maxProgress) { worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.block_graphite_plutonium, this.getBlockMetadata() & 7, 3); } } - + } - + private void dissipateHeat() { this.heat -= (this.getBlockMetadata() & 4) == 4 ? heat * 0.065 : heat * 0.05; //remove 5% of the stored heat per tick; 6.5% for windscale } - + private int react() { - + int reaction = (int) (this.neutrons * (1D - ((double)this.heat / (double)this.maxHeat) * 0.5D)); //max heat reduces reaction by 50% due to thermal expansion - + this.lastNeutrons = this.neutrons; this.neutrons = 0; - + int lastProgress = this.progress; - + this.progress += reaction; - + if(reaction <= 0) return lastProgress; - + this.heat += reaction; - + for(int i = 0; i < 12; i++) - this.castRay((int) Math.max(reaction * 0.25, 1), 5); - + this.castRay((int) Math.max(reaction * 0.25, 1)); + return lastProgress; } - + private void checkRedstone(int lastProgress) { int lastLevel = MathHelper.clamp_int((lastProgress * 16) / maxProgress, 0, 15); int newLevel = MathHelper.clamp_int((progress * 16) / maxProgress, 0, 15); if(lastLevel != newLevel) worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord, zCoord, this.getBlockType()); } - + private void transmute() { - + if((this.getBlockMetadata() & 8) == 8) { if(this.progress < this.maxProgress - 1000) //Might be subject to change, but 1000 seems like a good number. this.progress = maxProgress - 1000; - + return; } else if(this.progress >= maxProgress - 1000) { worldObj.setBlockMetadataWithNotify(this.xCoord, this.yCoord, this.zCoord, this.getBlockMetadata() | 8, 3); @@ -100,7 +98,7 @@ public class TileEntityPileFuel extends TileEntityPileBase implements IPileNeutr public void receiveNeutrons(int n) { this.neutrons += n; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -108,7 +106,7 @@ public class TileEntityPileFuel extends TileEntityPileBase implements IPileNeutr this.progress = nbt.getInteger("progress"); this.neutrons = nbt.getInteger("neutrons"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); diff --git a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileSource.java b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileSource.java index c297f9dfb..6b38b7875 100644 --- a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileSource.java +++ b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileSource.java @@ -12,7 +12,7 @@ public class TileEntityPileSource extends TileEntityPileBase { int n = this.getBlockType() == ModBlocks.block_graphite_source ? 1 : 2; for(int i = 0; i < 12; i++) { - this.castRay(n, 5); + this.castRay(n); } } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/IRBMKFluxReceiver.java b/src/main/java/com/hbm/tileentity/machine/rbmk/IRBMKFluxReceiver.java index 91824df0a..2b8464354 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/IRBMKFluxReceiver.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/IRBMKFluxReceiver.java @@ -1,5 +1,7 @@ package com.hbm.tileentity.machine.rbmk; +import com.hbm.handler.neutron.NeutronStream; + public interface IRBMKFluxReceiver { public enum NType { @@ -14,5 +16,5 @@ public interface IRBMKFluxReceiver { } } - public void receiveFlux(NType type, double flux); + public void receiveFlux(NeutronStream stream); } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/RBMKDials.java b/src/main/java/com/hbm/tileentity/machine/rbmk/RBMKDials.java index a93498b6f..85b3834e8 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/RBMKDials.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/RBMKDials.java @@ -1,216 +1,315 @@ package com.hbm.tileentity.machine.rbmk; import com.hbm.config.GeneralConfig; +import com.hbm.main.MainRegistry; import com.hbm.util.GameRuleHelper; -import net.minecraft.util.MathHelper; +import com.hbm.util.Tuple; import net.minecraft.world.GameRules; import net.minecraft.world.World; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + public class RBMKDials { - public static final String KEY_SAVE_DIALS = "dialSaveDials"; - - public static final String KEY_PASSIVE_COOLING = "dialPassiveCooling"; - public static final String KEY_COLUMN_HEAT_FLOW = "dialColumnHeatFlow"; - public static final String KEY_FUEL_DIFFUSION_MOD = "dialDiffusionMod"; - public static final String KEY_HEAT_PROVISION = "dialHeatProvision"; - public static final String KEY_COLUMN_HEIGHT = "dialColumnHeight"; - public static final String KEY_PERMANENT_SCRAP = "dialEnablePermaScrap"; - public static final String KEY_BOILER_HEAT_CONSUMPTION = "dialBoilerHeatConsumption"; - public static final String KEY_CONTROL_SPEED_MOD = "dialControlSpeed"; - public static final String KEY_REACTIVITY_MOD = "dialReactivityMod"; - public static final String KEY_OUTGASSER_MOD = "dialOutgasserSpeedMod"; - public static final String KEY_SURGE_MOD = "dialControlSurgeMod"; - public static final String KEY_FLUX_RANGE = "dialFluxRange"; - public static final String KEY_REASIM_RANGE = "dialReasimRange"; - public static final String KEY_REASIM_COUNT = "dialReasimCount"; - public static final String KEY_REASIM_MOD = "dialReasimOutputMod"; - public static final String KEY_REASIM_BOILERS = "dialReasimBoilers"; - public static final String KEY_REASIM_BOILER_SPEED = "dialReasimBoilerSpeed"; - public static final String KEY_DISABLE_MELTDOWNS = "dialDisableMeltdowns"; - public static final String KEY_ENABLE_MELTDOWN_OVERPRESSURE = "dialEnableMeltdownOverpressure"; - - public static void createDials(World world) { - GameRules rules = world.getGameRules(); - - if(!rules.getGameRuleBooleanValue(KEY_SAVE_DIALS)) { - rules.setOrCreateGameRule(KEY_PASSIVE_COOLING, "1.0"); - rules.setOrCreateGameRule(KEY_COLUMN_HEAT_FLOW, "0.2"); - rules.setOrCreateGameRule(KEY_FUEL_DIFFUSION_MOD, "1.0"); - rules.setOrCreateGameRule(KEY_HEAT_PROVISION, "0.2"); - rules.setOrCreateGameRule(KEY_COLUMN_HEIGHT, "4"); - rules.setOrCreateGameRule(KEY_PERMANENT_SCRAP, "true"); - rules.setOrCreateGameRule(KEY_BOILER_HEAT_CONSUMPTION, "0.1"); - rules.setOrCreateGameRule(KEY_CONTROL_SPEED_MOD, "1.0"); - rules.setOrCreateGameRule(KEY_REACTIVITY_MOD, "1.0"); - rules.setOrCreateGameRule(KEY_SAVE_DIALS, "true"); - rules.setOrCreateGameRule(KEY_OUTGASSER_MOD, "1.0"); - rules.setOrCreateGameRule(KEY_SURGE_MOD, "1.0"); - rules.setOrCreateGameRule(KEY_FLUX_RANGE, "5"); - rules.setOrCreateGameRule(KEY_REASIM_RANGE, "10"); - rules.setOrCreateGameRule(KEY_REASIM_COUNT, "6"); - rules.setOrCreateGameRule(KEY_REASIM_MOD, "1.0"); - rules.setOrCreateGameRule(KEY_REASIM_BOILERS, "false"); - rules.setOrCreateGameRule(KEY_REASIM_BOILER_SPEED, "0.05"); - rules.setOrCreateGameRule(KEY_DISABLE_MELTDOWNS, "false"); - rules.setOrCreateGameRule(KEY_ENABLE_MELTDOWN_OVERPRESSURE, "false"); + public enum RBMKKeys { + KEY_SAVE_DIALS("dialSaveDials", true), + KEY_PASSIVE_COOLING("dialPassiveCooling", 1.0), + KEY_COLUMN_HEAT_FLOW("dialColumnHeatFlow", 0.2), + KEY_FUEL_DIFFUSION_MOD("dialDiffusionMod", 1.0), + KEY_HEAT_PROVISION("dialHeatProvision", 0.2), + KEY_COLUMN_HEIGHT("dialColumnHeight", 4), + KEY_PERMANENT_SCRAP("dialEnablePermaScrap", true), + KEY_BOILER_HEAT_CONSUMPTION("dialBoilerHeatConsumption", 0.1), + KEY_CONTROL_SPEED_MOD("dialControlSpeed", 1.0), + KEY_REACTIVITY_MOD("dialReactivityMod", 1.0), + KEY_OUTGASSER_MOD("dialOutgasserSpeedMod", 1.0), + KEY_SURGE_MOD("dialControlSurgeMod", 1.0), + KEY_FLUX_RANGE("dialFluxRange", 5), + KEY_REASIM_RANGE("dialReasimRange", 10), + KEY_REASIM_COUNT("dialReasimCount", 6), + KEY_REASIM_MOD("dialReasimOutputMod", 1.0), + KEY_REASIM_BOILERS("dialReasimBoilers", false), + KEY_REASIM_BOILER_SPEED("dialReasimBoilerSpeed", 0.05), + KEY_DISABLE_MELTDOWNS("dialDisableMeltdowns", false), + KEY_ENABLE_MELTDOWN_OVERPRESSURE("dialEnableMeltdownOverpressure", false), + KEY_MODERATOR_EFFICIENCY("dialModeratorEfficiency", 1.0), + KEY_ABSORBER_EFFICIENCY("dialAbsorberEfficiency", 1.0), + KEY_REFLECTOR_EFFICIENCY("dialReflectorEfficiency", 1.0), + KEY_DISABLE_DEPLETION("dialDisableDepletion", false), + KEY_DISABLE_XENON("dialDisableXenon", false); + + public final String keyString; + public final Object defValue; + + RBMKKeys(String key, Object def) { + keyString = key; + defValue = def; } } - + + public static HashMap>> gameRules = new HashMap<>(); + + public static void createDials(World world) { + createDials(world, false); + } + + public static void createDials(World world, boolean forceRecreate) { + GameRules rules = world.getGameRules(); + + for(RBMKKeys key : RBMKKeys.values()) + gameRules.put(key, new ArrayList<>()); + refresh(world); + + if(!rules.getGameRuleBooleanValue(RBMKKeys.KEY_SAVE_DIALS.keyString) || forceRecreate) { + for(RBMKKeys key : RBMKKeys.values()) + rules.setOrCreateGameRule(key.keyString, String.valueOf(key.defValue)); + } + } + + + /** + * Refresh all gamerules. + * @param world World to refresh for. + */ + public static void refresh(World world) { + List> toRemove = new ArrayList<>(); + for(List> values : gameRules.values()) { + + for(Tuple.Pair rulePair : values) + if(rulePair.key == world) + toRemove.add(rulePair); + + for(Tuple.Pair pair : toRemove) + values.remove(pair); + + toRemove.clear(); + } + + gameRules.get(RBMKKeys.KEY_PASSIVE_COOLING).add(new Tuple.Pair<>(world, GameRuleHelper.getDoubleMinimum(world, RBMKKeys.KEY_PASSIVE_COOLING, 0.0D))); + gameRules.get(RBMKKeys.KEY_COLUMN_HEAT_FLOW).add(new Tuple.Pair<>(world, GameRuleHelper.getClampedDouble(world, RBMKKeys.KEY_COLUMN_HEAT_FLOW, 0.0D, 1.0D))); + gameRules.get(RBMKKeys.KEY_FUEL_DIFFUSION_MOD).add(new Tuple.Pair<>(world, GameRuleHelper.getDoubleMinimum(world, RBMKKeys.KEY_FUEL_DIFFUSION_MOD, 0.0D))); + gameRules.get(RBMKKeys.KEY_HEAT_PROVISION).add(new Tuple.Pair<>(world, GameRuleHelper.getClampedDouble(world, RBMKKeys.KEY_HEAT_PROVISION, 0.0D, 1.0D))); + gameRules.get(RBMKKeys.KEY_COLUMN_HEIGHT).add(new Tuple.Pair<>(world, GameRuleHelper.getClampedInt(world, RBMKKeys.KEY_COLUMN_HEIGHT, 2, 16) - 1)); + gameRules.get(RBMKKeys.KEY_PERMANENT_SCRAP).add(new Tuple.Pair<>(world, world.getGameRules().getGameRuleBooleanValue(RBMKKeys.KEY_PERMANENT_SCRAP.keyString))); + gameRules.get(RBMKKeys.KEY_BOILER_HEAT_CONSUMPTION).add(new Tuple.Pair<>(world, GameRuleHelper.getDoubleMinimum(world, RBMKKeys.KEY_BOILER_HEAT_CONSUMPTION, 0D))); + gameRules.get(RBMKKeys.KEY_CONTROL_SPEED_MOD).add(new Tuple.Pair<>(world, GameRuleHelper.getDoubleMinimum(world, RBMKKeys.KEY_CONTROL_SPEED_MOD, 0.0D))); + gameRules.get(RBMKKeys.KEY_REACTIVITY_MOD).add(new Tuple.Pair<>(world, GameRuleHelper.getDoubleMinimum(world, RBMKKeys.KEY_REACTIVITY_MOD, 0.0D))); + gameRules.get(RBMKKeys.KEY_OUTGASSER_MOD).add(new Tuple.Pair<>(world, GameRuleHelper.getDoubleMinimum(world, RBMKKeys.KEY_OUTGASSER_MOD, 0.0D))); + gameRules.get(RBMKKeys.KEY_SURGE_MOD).add(new Tuple.Pair<>(world, GameRuleHelper.getDoubleMinimum(world, RBMKKeys.KEY_SURGE_MOD, 0.0D))); + gameRules.get(RBMKKeys.KEY_FLUX_RANGE).add(new Tuple.Pair<>(world, GameRuleHelper.getClampedInt(world, RBMKKeys.KEY_FLUX_RANGE, 1, 100))); + gameRules.get(RBMKKeys.KEY_REASIM_RANGE).add(new Tuple.Pair<>(world, GameRuleHelper.getClampedInt(world, RBMKKeys.KEY_REASIM_RANGE, 1, 100))); + gameRules.get(RBMKKeys.KEY_REASIM_COUNT).add(new Tuple.Pair<>(world, GameRuleHelper.getClampedInt(world, RBMKKeys.KEY_REASIM_COUNT, 1, 24))); + gameRules.get(RBMKKeys.KEY_REASIM_MOD).add(new Tuple.Pair<>(world, GameRuleHelper.getDoubleMinimum(world, RBMKKeys.KEY_REASIM_MOD, 0.0D))); + gameRules.get(RBMKKeys.KEY_REASIM_BOILERS).add(new Tuple.Pair<>(world, world.getGameRules().getGameRuleBooleanValue(RBMKKeys.KEY_REASIM_BOILERS.keyString) || (GeneralConfig.enable528 && GeneralConfig.enable528ReasimBoilers))); + gameRules.get(RBMKKeys.KEY_REASIM_BOILER_SPEED).add(new Tuple.Pair<>(world, GameRuleHelper.getClampedDouble(world, RBMKKeys.KEY_REASIM_BOILER_SPEED, 0.0D, 1.0D))); + gameRules.get(RBMKKeys.KEY_DISABLE_MELTDOWNS).add(new Tuple.Pair<>(world, world.getGameRules().getGameRuleBooleanValue(RBMKKeys.KEY_DISABLE_MELTDOWNS.keyString))); + gameRules.get(RBMKKeys.KEY_ENABLE_MELTDOWN_OVERPRESSURE).add(new Tuple.Pair<>(world, world.getGameRules().getGameRuleBooleanValue(RBMKKeys.KEY_ENABLE_MELTDOWN_OVERPRESSURE.keyString))); + gameRules.get(RBMKKeys.KEY_MODERATOR_EFFICIENCY).add(new Tuple.Pair<>(world, GameRuleHelper.getClampedDouble(world, RBMKKeys.KEY_MODERATOR_EFFICIENCY, 0.0D, 1.0D))); + gameRules.get(RBMKKeys.KEY_ABSORBER_EFFICIENCY).add(new Tuple.Pair<>(world, GameRuleHelper.getClampedDouble(world, RBMKKeys.KEY_ABSORBER_EFFICIENCY, 0.0D, 1.0D))); + gameRules.get(RBMKKeys.KEY_REFLECTOR_EFFICIENCY).add(new Tuple.Pair<>(world, GameRuleHelper.getClampedDouble(world, RBMKKeys.KEY_REFLECTOR_EFFICIENCY, 0.0D, 1.0D))); + gameRules.get(RBMKKeys.KEY_DISABLE_DEPLETION).add(new Tuple.Pair<>(world, world.getGameRules().getGameRuleBooleanValue(RBMKKeys.KEY_DISABLE_DEPLETION.keyString))); + gameRules.get(RBMKKeys.KEY_DISABLE_XENON).add(new Tuple.Pair<>(world, world.getGameRules().getGameRuleBooleanValue(RBMKKeys.KEY_DISABLE_XENON.keyString))); + } + + /** + * Gets a gamerule from the internal cache. + * This will not work if called on the client. + * @param world World to get the gamerule for. + * @param rule Rule to get. + * @return The rule in an Object. + */ + public static Object getGameRule(World world, RBMKKeys rule) { + if(world.isRemote) { + MainRegistry.logger.error("Attempted to grab cached gamerules on client side, returning default value."); + MainRegistry.logger.error("Gamerule: {}, Default Value: {}.", rule.keyString, rule.defValue.toString()); + return rule.defValue; + } + return getGameRule(world, rule, false); + } + + public static Object getGameRule(World world, RBMKKeys rule, boolean isIteration) { + List> rulesList = new ArrayList<>(); + + for(Tuple.Pair rulePair : gameRules.get(rule)) { + if(rulePair.key == world) { + rulesList.add(rulePair); + } + } + + if(rulesList.isEmpty()) { + if(isIteration) + throw new NullPointerException("Cannot find gamerule for dial " + rule.keyString + " after creation."); + else { + world.getGameRules().setOrCreateGameRule(rule.keyString, rule.defValue.toString()); // fuck + refresh(world); + return getGameRule(world, rule, true); + } + } else if(rulesList.size() > 1) + // what??? why??? + MainRegistry.logger.warn("Duplicate values for gamerules detected! Found {} rules for gamerule {}", rulesList.size(), rule.keyString); + + return rulesList.get(0).value; // realistically there should only be one of this gamerule that satisfies the filter sooooo... + } + /** * Returns the amount of heat per tick removed from components passively * @param world * @return >0 */ public static double getPassiveCooling(World world) { - return Math.max(GameRuleHelper.parseDouble(world.getGameRules().getGameRuleStringValue(KEY_PASSIVE_COOLING), 1.0D), 0.0D); + return (double) getGameRule(world, RBMKKeys.KEY_PASSIVE_COOLING); } - + /** * Returns the percentual step size how quickly neighboring component heat equalizes. 1 is instant, 0.5 is in 50% steps, et cetera. * @param world * @return [0;1] */ public static double getColumnHeatFlow(World world) { - return MathHelper.clamp_double(GameRuleHelper.parseDouble(world.getGameRules().getGameRuleStringValue(KEY_COLUMN_HEAT_FLOW), 0.2D), 0.0D, 1.0D); + return (double) getGameRule(world, RBMKKeys.KEY_COLUMN_HEAT_FLOW); } - + /** * Returns a modifier for fuel rod diffusion, i.e. how quickly the core and hull temperatures equalize. * @param world * @return >0 */ public static double getFuelDiffusionMod(World world) { - return Math.max(GameRuleHelper.parseDouble(world.getGameRules().getGameRuleStringValue(KEY_FUEL_DIFFUSION_MOD), 1.0D), 0.0D); + return (double) getGameRule(world, RBMKKeys.KEY_FUEL_DIFFUSION_MOD); } - + /** * Returns the percentual step size how quickly the fuel hull heat and the component heat equalizes. 1 is instant, 0.5 is in 50% steps, et cetera. * @param world * @return [0;1] */ public static double getFuelHeatProvision(World world) { - return MathHelper.clamp_double(GameRuleHelper.parseDouble(world.getGameRules().getGameRuleStringValue(KEY_HEAT_PROVISION), 0.2D), 0.0D, 1.0D); + return (double) getGameRule(world, RBMKKeys.KEY_HEAT_PROVISION); } - + /** * Simple integer that decides how tall the structure is. * @param world * @return [0;15] */ public static int getColumnHeight(World world) { - return MathHelper.clamp_int(GameRuleHelper.parseInt(world.getGameRules().getGameRuleStringValue(KEY_COLUMN_HEIGHT), 4), 2, 16) - 1; + return (int) getGameRule(world, RBMKKeys.KEY_COLUMN_HEIGHT); } - + /** * Whether or not scrap entities despawn on their own or remain alive until picked up. * @param world * @return */ public static boolean getPermaScrap(World world) { - return world.getGameRules().getGameRuleBooleanValue(KEY_PERMANENT_SCRAP); + return (boolean) getGameRule(world, RBMKKeys.KEY_PERMANENT_SCRAP); } - + /** * How many heat units are consumed per mB water used. * @param world * @return >0 */ public static double getBoilerHeatConsumption(World world) { - return Math.max(GameRuleHelper.parseDouble(world.getGameRules().getGameRuleStringValue(KEY_BOILER_HEAT_CONSUMPTION), 0.1D), 0D); + return (double) getGameRule(world, RBMKKeys.KEY_BOILER_HEAT_CONSUMPTION); } - + /** * A multiplier for how quickly the control rods move. * @param world * @return >0 */ public static double getControlSpeed(World world) { - return Math.max(GameRuleHelper.parseDouble(world.getGameRules().getGameRuleStringValue(KEY_CONTROL_SPEED_MOD), 1.0D), 0.0D); + return (double) getGameRule(world, RBMKKeys.KEY_CONTROL_SPEED_MOD); } - + /** * A multiplier for how much flux the rods give out. * @param world * @return >0 */ public static double getReactivityMod(World world) { - return Math.max(GameRuleHelper.parseDouble(world.getGameRules().getGameRuleStringValue(KEY_REACTIVITY_MOD), 1.0D), 0.0D); + return (double) getGameRule(world, RBMKKeys.KEY_REACTIVITY_MOD); } - + /** * A multiplier for how much flux the rods give out. * @param world * @return >0 */ public static double getOutgasserMod(World world) { - return Math.max(GameRuleHelper.parseDouble(world.getGameRules().getGameRuleStringValue(KEY_OUTGASSER_MOD), 1.0D), 0.0D); + return (double) getGameRule(world, RBMKKeys.KEY_OUTGASSER_MOD); } - + /** * A multiplier for how high the power surge goes when inserting control rods. * @param world * @return >0 */ public static double getSurgeMod(World world) { - return Math.max(GameRuleHelper.parseDouble(world.getGameRules().getGameRuleStringValue(KEY_SURGE_MOD), 1.0D), 0.0D); + if(world.isRemote) { // The control rods use this gamerule for RBMK diag, which happens to be calculated on the client side. whoops! + return GameRuleHelper.getDoubleMinimum(world, RBMKKeys.KEY_PASSIVE_COOLING, 0.0D); + } + return (double) getGameRule(world, RBMKKeys.KEY_SURGE_MOD); } - + /** * Simple integer that decides how far the flux of a normal fuel rod reaches. * @param world * @return [1;100] */ public static int getFluxRange(World world) { - return MathHelper.clamp_int(GameRuleHelper.parseInt(world.getGameRules().getGameRuleStringValue(KEY_FLUX_RANGE), 5), 1, 100); + return (int) getGameRule(world, RBMKKeys.KEY_FLUX_RANGE); } - + /** * Simple integer that decides how far the flux of a ReaSim fuel rod reaches. * @param world * @return [1;100] */ public static int getReaSimRange(World world) { - return MathHelper.clamp_int(GameRuleHelper.parseInt(world.getGameRules().getGameRuleStringValue(KEY_REASIM_RANGE), 10), 1, 100); + return (int) getGameRule(world, RBMKKeys.KEY_REASIM_RANGE); } - + /** * Simple integer that decides how many neutrons are created from ReaSim fuel rods. * @param world * @return [1;24] */ public static int getReaSimCount(World world) { - return MathHelper.clamp_int(GameRuleHelper.parseInt(world.getGameRules().getGameRuleStringValue(KEY_REASIM_COUNT), 6), 1, 24); + return (int) getGameRule(world, RBMKKeys.KEY_REASIM_COUNT); } - + /** * Returns a modifier for the outgoing flux of individual streams from the ReaSim fuel rod to compensate for the potentially increased stream count. * @param world * @return >0 */ public static double getReaSimOutputMod(World world) { - return Math.max(GameRuleHelper.parseDouble(world.getGameRules().getGameRuleStringValue(KEY_REASIM_MOD), 1.0D), 0.0D); + return (double) getGameRule(world, RBMKKeys.KEY_REASIM_MOD); } - + /** * Whether or not all components should act like boilers with dedicated in/outlet blocks * @param world * @return */ public static boolean getReasimBoilers(World world) { - return world.getGameRules().getGameRuleBooleanValue(KEY_REASIM_BOILERS) || (GeneralConfig.enable528 && GeneralConfig.enable528ReasimBoilers); + return (boolean) getGameRule(world, RBMKKeys.KEY_REASIM_BOILERS); } - + /** * How much % of the possible steam ends up being produced per tick * @param world * @return [0;1] */ public static double getReaSimBoilerSpeed(World world) { - return MathHelper.clamp_double(GameRuleHelper.parseDouble(world.getGameRules().getGameRuleStringValue(KEY_REASIM_BOILER_SPEED), 0.05D), 0.0D, 1.0D); + return (double) getGameRule(world, RBMKKeys.KEY_REASIM_BOILER_SPEED); } - + /** * Whether or not fuel columns should initiate a meltdown when overheating * The method is in reverse because the default for older worlds will be 'false' @@ -218,15 +317,60 @@ public class RBMKDials { * @return */ public static boolean getMeltdownsDisabled(World world) { - return world.getGameRules().getGameRuleBooleanValue(KEY_DISABLE_MELTDOWNS); + return (boolean) getGameRule(world, RBMKKeys.KEY_DISABLE_MELTDOWNS); } - + /** * Whether or not connected pipes and turbines should explode when the reactor undergoes a meltdown. * @param world * @return */ public static boolean getOverpressure(World world) { - return world.getGameRules().getGameRuleBooleanValue(KEY_ENABLE_MELTDOWN_OVERPRESSURE); + return (boolean) getGameRule(world, RBMKKeys.KEY_ENABLE_MELTDOWN_OVERPRESSURE); + } + + /** + * The percentage of neutrons to moderate from fast to slow when they pass through a moderator. + * @param world + * @return + */ + public static double getModeratorEfficiency(World world) { + return (double) getGameRule(world, RBMKKeys.KEY_MODERATOR_EFFICIENCY); + } + + /** + * The percentage of neutrons to be absorbed when a stream hits an absorber column. + * @param world + * @return + */ + public static double getAbsorberEfficiency(World world) { + return (double) getGameRule(world, RBMKKeys.KEY_ABSORBER_EFFICIENCY); + } + + /** + * The percentage of neutron to reflect when a stream hits a reflector column. + * @param world + * @return + */ + public static double getReflectorEfficiency(World world) { + return (double) getGameRule(world, RBMKKeys.KEY_REFLECTOR_EFFICIENCY); + } + + /** + * Whether fuel rods should deplete, disabling this makes rods last forever + * @param world + * @return + */ + public static boolean getDepletion(World world) { + return !((boolean) getGameRule(world, RBMKKeys.KEY_DISABLE_DEPLETION)); + } + + /** + * Whether xenon poison should be calculated + * @param world + * @return + */ + public static boolean getXenon(World world) { + return !((boolean) getGameRule(world, RBMKKeys.KEY_DISABLE_XENON)); } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java index 57bc990bc..2c3b4ebb4 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java @@ -6,13 +6,11 @@ import com.hbm.extprop.HbmPlayerProps; import com.hbm.handler.CompatHandler; import com.hbm.handler.HbmKeybinds.EnumKeybind; import com.hbm.items.machine.ItemRBMKRod; -import com.hbm.packet.NBTPacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.tileentity.TileEntityLoadedBase; import cpw.mods.fml.common.Optional; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; @@ -21,7 +19,6 @@ import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraftforge.common.util.ForgeDirection; @@ -29,21 +26,23 @@ import net.minecraftforge.common.util.ForgeDirection; import java.util.List; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityCraneConsole extends TileEntity implements INBTPacketReceiver, SimpleComponent, CompatHandler.OCComponent { - +public class TileEntityCraneConsole extends TileEntityLoadedBase implements SimpleComponent, CompatHandler.OCComponent { + public int centerX; public int centerY; public int centerZ; - + public int spanF; public int spanB; public int spanL; public int spanR; - + public int height; - + public boolean setUpCrane = false; + public int craneRotationOffset = 0; + public double lastTiltFront = 0; public double lastTiltLeft = 0; public double tiltFront = 0; @@ -54,11 +53,11 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece public double posFront = 0; public double posLeft = 0; private static final double speed = 0.05D; - + private boolean goesDown = false; public double lastProgress = 1D; public double progress = 1D; - + private ItemStack loadedItem; private boolean hasLoaded = false; public double loadedHeat; @@ -71,15 +70,15 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece lastTiltFront = tiltFront; lastTiltLeft = tiltLeft; } - + if(goesDown) { - + if(progress > 0) { progress -= 0.04D; } else { progress = 0; goesDown = false; - + if(!worldObj.isRemote && this.canTargetInteract()) { IRBMKLoadable column = getColumnAtPos(); if(column != null) { // canTargetInteract already assumes this, but there seems to be some freak race conditions that cause the column to be null anyway @@ -90,16 +89,16 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece this.loadedItem = column.provideNext(); column.unload(); } - + this.markDirty(); } } - + } } else if(progress != 1) { - + progress += 0.04D; - + if(progress > 1D) { progress = 1D; } @@ -111,7 +110,7 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece double maxX = xCoord + 0.5 + side.offsetX * 1.5 + dir.offsetX * 2; double minZ = zCoord + 0.5 - side.offsetZ * 1.5; double maxZ = zCoord + 0.5 + side.offsetZ * 1.5 + dir.offsetZ * 2; - + List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox( Math.min(minX, maxX), yCoord, @@ -121,7 +120,7 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece Math.max(minZ, maxZ))); tiltFront = 0; tiltLeft = 0; - + if(players.size() > 0 && !isCraneLoading()) { EntityPlayer player = players.get(0); HbmPlayerProps props = HbmPlayerProps.getData(player); @@ -129,7 +128,7 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece boolean down = props.getKeyPressed(EnumKeybind.CRANE_DOWN); boolean left = props.getKeyPressed(EnumKeybind.CRANE_LEFT); boolean right = props.getKeyPressed(EnumKeybind.CRANE_RIGHT); - + if(up && !down) { tiltFront = 30; if(!worldObj.isRemote) posFront += speed; @@ -146,17 +145,17 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece tiltLeft = -30; if(!worldObj.isRemote) posLeft -= speed; } - + if(props.getKeyPressed(EnumKeybind.CRANE_LOAD)) { goesDown = true; } } - + posFront = MathHelper.clamp_double(posFront, -spanB, spanF); posLeft = MathHelper.clamp_double(posLeft, -spanR, spanL); - + if(!worldObj.isRemote) { - + if(loadedItem != null && loadedItem.getItem() instanceof ItemRBMKRod) { this.loadedHeat = ItemRBMKRod.getHullHeat(loadedItem); this.loadedEnrichment = ItemRBMKRod.getEnrichment(loadedItem); @@ -164,72 +163,54 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece this.loadedHeat = 0; this.loadedEnrichment = 0; } - - NBTTagCompound nbt = new NBTTagCompound(); - nbt.setBoolean("crane", setUpCrane); - - if(setUpCrane) { //no need to send any of this if there's NO FUCKING CRANE THERE - nbt.setInteger("centerX", centerX); - nbt.setInteger("centerY", centerY); - nbt.setInteger("centerZ", centerZ); - nbt.setInteger("spanF", spanF); - nbt.setInteger("spanB", spanB); - nbt.setInteger("spanL", spanL); - nbt.setInteger("spanR", spanR); - nbt.setInteger("height", height); - nbt.setDouble("posFront", posFront); - nbt.setDouble("posLeft", posLeft); - nbt.setBoolean("loaded", this.hasItemLoaded()); - nbt.setDouble("loadedHeat", loadedHeat); - nbt.setDouble("loadedEnrichment", loadedEnrichment); - } - PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(nbt, xCoord, yCoord, zCoord), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250)); + + networkPackNT(250); } } - + public boolean hasItemLoaded() { - + if(!worldObj.isRemote) return this.loadedItem != null; else return this.hasLoaded; } - + public boolean isCraneLoading() { return this.progress != 1D; } - + public boolean isAboveValidTarget() { return getColumnAtPos() != null; } - + public boolean canTargetInteract() { - + IRBMKLoadable column = getColumnAtPos(); - + if(column == null) return false; - + if(this.hasItemLoaded()) { return column.canLoad(loadedItem); } else { return column.canUnload(); } } - + public IRBMKLoadable getColumnAtPos() { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection left = dir.getRotation(ForgeDirection.DOWN); int x = (int)Math.floor(this.centerX - dir.offsetX * this.posFront - left.offsetX * this.posLeft + 0.5D); int y = this.centerY - 1; int z = (int)Math.floor(this.centerZ - dir.offsetZ * this.posFront - left.offsetZ * this.posLeft + 0.5D); - + Block b = worldObj.getBlock(x, y, z); - + if(b instanceof RBMKBase) { - + int[] pos = ((BlockDummyable)b).findCore(worldObj, x, y, z); if(pos != null) { TileEntityRBMKBase column = (TileEntityRBMKBase)worldObj.getTileEntity(pos[0], pos[1], pos[2]); @@ -238,55 +219,100 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece } } } - + return null; } @Override - public void networkUnpack(NBTTagCompound nbt) { - + public void serialize(ByteBuf buf) { + buf.writeBoolean(this.setUpCrane); + + if(this.setUpCrane) { //no need to send any of this if there's NO FUCKING CRANE THERE + buf.writeInt(this.craneRotationOffset); + buf.writeInt(this.centerX); + buf.writeInt(this.centerY); + buf.writeInt(this.centerZ); + buf.writeInt(this.spanF); + buf.writeInt(this.spanB); + buf.writeInt(this.spanL); + buf.writeInt(this.spanR); + buf.writeInt(this.height); + buf.writeDouble(this.posFront); + buf.writeDouble(this.posLeft); + buf.writeBoolean(this.hasItemLoaded()); + buf.writeDouble(this.loadedHeat); + buf.writeDouble(this.loadedEnrichment); + } + } + + @Override + public void deserialize(ByteBuf buf) { lastPosFront = posFront; lastPosLeft = posLeft; lastProgress = progress; - - this.setUpCrane = nbt.getBoolean("crane"); - this.centerX = nbt.getInteger("centerX"); - this.centerY = nbt.getInteger("centerY"); - this.centerZ = nbt.getInteger("centerZ"); - this.spanF = nbt.getInteger("spanF"); - this.spanB = nbt.getInteger("spanB"); - this.spanL = nbt.getInteger("spanL"); - this.spanR = nbt.getInteger("spanR"); - this.height = nbt.getInteger("height"); - this.posFront = nbt.getDouble("posFront"); - this.posLeft = nbt.getDouble("posLeft"); - this.hasLoaded = nbt.getBoolean("loaded"); - this.posLeft = nbt.getDouble("posLeft"); - this.loadedHeat = nbt.getDouble("loadedHeat"); - this.loadedEnrichment = nbt.getDouble("loadedEnrichment"); + + this.setUpCrane = buf.readBoolean(); + if (this.setUpCrane) { + this.craneRotationOffset = buf.readInt(); + this.centerX = buf.readInt(); + this.centerY = buf.readInt(); + this.centerZ = buf.readInt(); + this.spanF = buf.readInt(); + this.spanB = buf.readInt(); + this.spanL = buf.readInt(); + this.spanR = buf.readInt(); + this.height = buf.readInt(); + this.posFront = buf.readDouble(); + this.posLeft = buf.readDouble(); + this.hasLoaded = buf.readBoolean(); + this.loadedHeat = buf.readDouble(); + this.loadedEnrichment = buf.readDouble(); + } } - + public void setTarget(int x, int y, int z) { this.centerX = x; this.centerY = y + RBMKDials.getColumnHeight(worldObj) + 1; this.centerZ = z; - this.spanF = 7; - this.spanB = 7; - this.spanL = 7; - this.spanR = 7; - + int girderY = centerY + 6; + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); + this.spanF = this.findRoomExtent(x, girderY, z, dir, 16); + dir = dir.getRotation(ForgeDirection.UP); + this.spanR = this.findRoomExtent(x, girderY, z, dir, 16); + dir = dir.getRotation(ForgeDirection.UP); + this.spanB = this.findRoomExtent(x, girderY, z, dir, 16); + dir = dir.getRotation(ForgeDirection.UP); + this.spanL = this.findRoomExtent(x, girderY, z, dir, 16); + this.height = 7; + this.setUpCrane = true; - + this.markDirty(); } - + + private int findRoomExtent(int x, int y, int z, ForgeDirection dir, int max) { + for (int i = 1; i < max; i++) { + if (!worldObj.isAirBlock(x + dir.offsetX * i, y, z + dir.offsetZ * i)) { + return i - 1; + } + } + + return max; + } + + public void cycleCraneRotation() { + this.craneRotationOffset = (this.craneRotationOffset + 90) % 360; + } + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); this.setUpCrane = nbt.getBoolean("crane"); + this.craneRotationOffset = nbt.getInteger("craneRotationOffset"); this.centerX = nbt.getInteger("centerX"); this.centerY = nbt.getInteger("centerY"); this.centerZ = nbt.getInteger("centerZ"); @@ -297,16 +323,17 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece this.height = nbt.getInteger("height"); this.posFront = nbt.getDouble("posFront"); this.posLeft = nbt.getDouble("posLeft"); - + NBTTagCompound held = nbt.getCompoundTag("held"); this.loadedItem = ItemStack.loadItemStackFromNBT(held); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setBoolean("crane", setUpCrane); + nbt.setInteger("craneRotationOffset", craneRotationOffset); nbt.setInteger("centerX", centerX); nbt.setInteger("centerY", centerY); nbt.setInteger("centerZ", centerZ); @@ -317,25 +344,25 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece nbt.setInteger("height", height); nbt.setDouble("posFront", posFront); nbt.setDouble("posLeft", posLeft); - + if(this.loadedItem != null) { NBTTagCompound held = new NBTTagCompound(); this.loadedItem.writeToNBT(held); nbt.setTag("held", held); } } - + @Override public AxisAlignedBB getRenderBoundingBox() { return this.INFINITE_EXTENT_AABB; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { return 65536.0D; } - + // do some opencomputer stuff @Override @Optional.Method(modid = "OpenComputers") @@ -367,12 +394,12 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece if(!worldObj.isRemote) posLeft -= speed; break; } - + return new Object[] {}; } return new Object[] {"Crane not found"}; } - + @Callback @Optional.Method(modid = "OpenComputers") public Object[] load(Context context, Arguments args) { diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKAbsorber.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKAbsorber.java index 20512c206..d1c585539 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKAbsorber.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKAbsorber.java @@ -1,10 +1,11 @@ package com.hbm.tileentity.machine.rbmk; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; +import com.hbm.handler.neutron.RBMKNeutronHandler.RBMKType; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; public class TileEntityRBMKAbsorber extends TileEntityRBMKBase { - + @Override public void onMelt(int reduce) { @@ -17,6 +18,11 @@ public class TileEntityRBMKAbsorber extends TileEntityRBMKBase { super.onMelt(reduce); } + @Override + public RBMKType getRBMKType() { + return RBMKType.ABSORBER; + } + @Override public ColumnType getConsoleType() { return ColumnType.ABSORBER; diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java index 44703c013..219838228 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java @@ -1,27 +1,30 @@ package com.hbm.tileentity.machine.rbmk; -import api.hbm.fluid.IFluidConductor; -import api.hbm.fluid.IFluidConnector; -import api.hbm.fluid.IPipeNet; +import api.hbm.fluidmk2.FluidNetMK2; + import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.rbmk.RBMKBase; import com.hbm.entity.effect.EntitySpear; import com.hbm.entity.projectile.EntityRBMKDebris; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; +import com.hbm.handler.neutron.NeutronNodeWorld; +import com.hbm.handler.neutron.RBMKNeutronHandler.RBMKType; +import com.hbm.handler.threading.PacketThreading; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.NBTPacket; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.saveddata.TomSaveData; -import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.IOverpressurable; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; +import com.hbm.util.BobMathUtil; import com.hbm.util.Compat; -import com.hbm.util.I18nUtil; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.i18n.I18nUtil; + import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Gui; @@ -38,34 +41,39 @@ import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.common.util.ForgeDirection; import org.lwjgl.opengl.GL11; -import java.util.*; +import java.util.List; +import java.util.Arrays; +import java.util.ArrayList; +import java.util.Set; +import java.util.HashSet; +import java.util.Iterator; /** * Base class for all RBMK components, active or passive. Handles heat and the explosion sequence * @author hbm * */ -public abstract class TileEntityRBMKBase extends TileEntityLoadedBase implements INBTPacketReceiver { - +public abstract class TileEntityRBMKBase extends TileEntityLoadedBase { + public double heat; - - public int water; + + public int reasimWater; public static final int maxWater = 16000; - public int steam; + public int reasimSteam; public static final int maxSteam = 16000; public boolean hasLid() { - + if(!isLidRemovable()) return true; - + return this.getBlockMetadata() != RBMKBase.DIR_NO_LID.ordinal() + RBMKBase.offset; } public boolean isLidRemovable() { return true; } - + /** * Approx melting point of steel * Fuels often burn much hotter than this but it won't affect the column too much due to low diffusion @@ -74,7 +82,7 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase implements public double maxHeat() { return 1500D; } - + /** * Around the same for every component except boilers which do not have passive cooling * @return @@ -82,22 +90,22 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase implements public double passiveCooling() { return RBMKDials.getPassiveCooling(worldObj); //default: 1.0D } - + //necessary checks to figure out whether players are close enough to ensure that the reactor can be safely used public boolean shouldUpdate() { return true; } - + //unused public int trackingRange() { return 15; } - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + this.worldObj.theProfiler.startSection("rbmkBase_heat_movement"); moveHeat(); if(RBMKDials.getReasimBoilers(worldObj)) { @@ -108,118 +116,138 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase implements this.worldObj.theProfiler.endStartSection("rbmkBase_rpassive_cooling"); coolPassively(); this.worldObj.theProfiler.endSection(); - - NBTTagCompound data = new NBTTagCompound(); - this.writeToNBT(data); - this.networkPack(data, trackingRange()); + + this.networkPackNT(trackingRange()); } } - + /** * The ReaSim boiler dial causes all RBMK parts to behave like boilers */ private void boilWater() { - + if(heat < 100D) return; - + double heatConsumption = RBMKDials.getBoilerHeatConsumption(worldObj); double availableHeat = (this.heat - 100) / heatConsumption; - double availableWater = this.water; - double availableSpace = this.maxSteam - this.steam; - - int processedWater = (int) Math.floor(Math.min(availableHeat, Math.min(availableWater, availableSpace)) * RBMKDials.getReaSimBoilerSpeed(worldObj)); - - this.water -= processedWater; - this.steam += processedWater; + double availableWater = this.reasimWater; + double availableSpace = maxSteam - this.reasimSteam; + + int processedWater = (int) Math.floor(BobMathUtil.min(availableHeat, availableWater, availableSpace) * MathHelper.clamp_double(RBMKDials.getReaSimBoilerSpeed(worldObj), 0D, 1D)); + + if(processedWater <= 0) return; + + this.reasimWater -= processedWater; + this.reasimSteam += processedWater; this.heat -= processedWater * heatConsumption; } - + public static final ForgeDirection[] neighborDirs = new ForgeDirection[] { ForgeDirection.NORTH, ForgeDirection.EAST, ForgeDirection.SOUTH, ForgeDirection.WEST }; - + protected TileEntityRBMKBase[] neighborCache = new TileEntityRBMKBase[4]; - + /** * Moves heat to neighboring parts, if possible, in a relatively fair manner */ private void moveHeat() { - List rec = new ArrayList(); + boolean reasim = RBMKDials.getReasimBoilers(worldObj); + + List rec = new ArrayList<>(); rec.add(this); double heatTot = this.heat; - int waterTot = this.water; - int steamTot = this.steam; - + int waterTot = this.reasimWater; + int steamTot = this.reasimSteam; + int index = 0; for(ForgeDirection dir : neighborDirs) { - + if(neighborCache[index] != null && neighborCache[index].isInvalid()) neighborCache[index] = null; - + if(neighborCache[index] == null) { TileEntity te = Compat.getTileStandard(worldObj, xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ); - + if(te instanceof TileEntityRBMKBase) { TileEntityRBMKBase base = (TileEntityRBMKBase) te; neighborCache[index] = base; } } - + index++; } - + for(TileEntityRBMKBase base : neighborCache) { - + if(base != null) { rec.add(base); heatTot += base.heat; - waterTot += base.water; - steamTot += base.steam; + if(reasim) { + waterTot += base.reasimWater; + steamTot += base.reasimSteam; + } } } - + int members = rec.size(); double stepSize = RBMKDials.getColumnHeatFlow(worldObj); - + if(members > 1) { - + double targetHeat = heatTot / (double)members; - + int tWater = waterTot / members; int rWater = waterTot % members; int tSteam = steamTot / members; int rSteam = steamTot % members; - + for(TileEntityRBMKBase rbmk : rec) { double delta = targetHeat - rbmk.heat; rbmk.heat += delta * stepSize; - + //set to the averages, rounded down - rbmk.water = tWater; - rbmk.steam = tSteam; + if(reasim) { + rbmk.reasimWater = tWater; + rbmk.reasimSteam = tSteam; + } } - + //add the modulo to make up for the losses coming from rounding - this.water += rWater; - this.steam += rSteam; - + if(reasim) { + this.reasimWater += rWater; + this.reasimSteam += rSteam; + } + this.markDirty(); } } - + + @Override + public void invalidate() { + super.invalidate(); + NeutronNodeWorld.removeNode(worldObj, new BlockPos(this)); // woo-fucking-hoo!!! + } + + @Override + public void onChunkUnload() { + super.onChunkUnload(); + NeutronNodeWorld.removeNode(worldObj, new BlockPos(this)); // woo-fucking-hoo!!! + } + @Override public void markDirty() { - + if(this.worldObj != null) { this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this); } } - + protected void coolPassively() { if(TomSaveData.forWorld(worldObj).fire > 1e-5) { @@ -228,60 +256,64 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase implements this.heat += this.passiveCooling() * 2; } } - + this.heat -= this.passiveCooling(); - + if(heat < 20) heat = 20D; } - + + public RBMKType getRBMKType() { + return RBMKType.OTHER; + } + protected static boolean diag = false; - + @Override public void readFromNBT(NBTTagCompound nbt) { - + if(!diag) { super.readFromNBT(nbt); } this.heat = nbt.getDouble("heat"); - this.water = nbt.getInteger("water"); - this.steam = nbt.getInteger("steam"); + this.reasimWater = nbt.getInteger("reasimWater"); + this.reasimSteam = nbt.getInteger("reasimSteam"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { - + if(!diag) { super.writeToNBT(nbt); } - - nbt.setDouble("heat", this.heat); - nbt.setInteger("water", this.water); - nbt.setInteger("steam", this.steam); - } - - public void networkPack(NBTTagCompound nbt, int range) { - diag = true; - if(!worldObj.isRemote) - PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(nbt, xCoord, yCoord, zCoord), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); - diag = false; + nbt.setDouble("heat", this.heat); + nbt.setInteger("reasimWater", this.reasimWater); + nbt.setInteger("reasimSteam", this.reasimSteam); } - - public void networkUnpack(NBTTagCompound nbt) { - - diag = true; - this.readFromNBT(nbt); - diag = false; + + @Override + public void serialize(ByteBuf buf) { + buf.writeDouble(this.heat); + buf.writeInt(this.reasimWater); + buf.writeInt(this.reasimSteam); } - + + @Override + public void deserialize(ByteBuf buf) { + this.heat = buf.readDouble(); + this.reasimWater = buf.readInt(); + this.reasimSteam = buf.readInt(); + } + public void getDiagData(NBTTagCompound nbt) { diag = true; this.writeToNBT(nbt); diag = false; } - + + @SuppressWarnings("unchecked") @SideOnly(Side.CLIENT) public static void diagnosticPrintHook(RenderGameOverlayEvent.Pre event, World world, int x, int y, int z) { @@ -304,12 +336,13 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase implements int pX = resolution.getScaledWidth() / 2 + 8; int pZ = resolution.getScaledHeight() / 2; - List exceptions = new ArrayList(); + List exceptions = new ArrayList<>(); exceptions.add("x"); exceptions.add("y"); exceptions.add("z"); exceptions.add("items"); exceptions.add("id"); + exceptions.add("muffled"); String title = "Dump of Ordered Data Diagnostic (DODD)"; mc.fontRenderer.drawString(title, pX + 1, pZ - 19, 0x006000); @@ -336,80 +369,81 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase implements GL11.glPopMatrix(); Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); } - + public void onOverheat() { - + for(int i = 0; i < 4; i++) { worldObj.setBlock(xCoord, yCoord + i, zCoord, Blocks.lava); } } - + public void onMelt(int reduce) { - + standardMelt(reduce); - + if(this.getBlockMetadata() == RBMKBase.DIR_NORMAL_LID.ordinal() + RBMKBase.offset) spawnDebris(DebrisType.LID); } - + protected void standardMelt(int reduce) { - + int h = RBMKDials.getColumnHeight(worldObj); reduce = MathHelper.clamp_int(reduce, 1, h); - + if(worldObj.rand.nextInt(3) == 0) reduce++; - + for(int i = h; i >= 0; i--) { - + if(i <= h + 1 - reduce) { - + if(reduce > 1 && i == h + 1 - reduce) { worldObj.setBlock(xCoord, yCoord + i, zCoord, ModBlocks.pribris_burning); } else { worldObj.setBlock(xCoord, yCoord + i, zCoord, ModBlocks.pribris); } - + } else { worldObj.setBlock(xCoord, yCoord + i, zCoord, Blocks.air); } worldObj.markBlockForUpdate(xCoord, yCoord + i, zCoord); } } - + protected void spawnDebris(DebrisType type) { EntityRBMKDebris debris = new EntityRBMKDebris(worldObj, xCoord + 0.5D, yCoord + 4D, zCoord + 0.5D, type); debris.motionX = worldObj.rand.nextGaussian() * 0.25D; debris.motionZ = worldObj.rand.nextGaussian() * 0.25D; debris.motionY = 0.25D + worldObj.rand.nextDouble() * 1.25D; - + if(type == DebrisType.LID) { debris.motionX *= 0.5D; debris.motionY += 0.5D; debris.motionZ *= 0.5D; } - + worldObj.spawnEntityInWorld(debris); } - - public static HashSet columns = new HashSet(); - public static HashSet pipes = new HashSet(); - + + public static HashSet columns = new HashSet<>(); + public static HashSet pipes = new HashSet<>(); + //assumes that !worldObj.isRemote + @SuppressWarnings("unchecked") public void meltdown() { - + RBMKBase.dropLids = false; - + columns.clear(); pipes.clear(); getFF(xCoord, yCoord, zCoord); - + int minX = xCoord; int maxX = xCoord; int minZ = zCoord; int maxZ = zCoord; - + //set meltdown bounds for(TileEntityRBMKBase rbmk : columns) { @@ -422,31 +456,31 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase implements if(rbmk.zCoord > maxZ) maxZ = rbmk.zCoord; } - + for(TileEntityRBMKBase rbmk : columns) { int distFromMinX = rbmk.xCoord - minX; int distFromMaxX = maxX - rbmk.xCoord; int distFromMinZ = rbmk.zCoord - minZ; int distFromMaxZ = maxZ - rbmk.zCoord; - + int minDist = Math.min(distFromMinX, Math.min(distFromMaxX, Math.min(distFromMinZ, distFromMaxZ))); - + rbmk.onMelt(minDist + 1); } - + for(TileEntityRBMKBase rbmk : columns) { - + if(rbmk instanceof TileEntityRBMKRod && worldObj.getBlock(rbmk.xCoord, rbmk.yCoord, rbmk.zCoord) == ModBlocks.corium_block) { - + for(int x = rbmk.xCoord - 1; x <= rbmk.xCoord + 1; x ++) { for(int y = rbmk.yCoord - 1; y <= rbmk.yCoord + 1; y ++) { for(int z = rbmk.zCoord - 1; z <= rbmk.zCoord + 1; z ++) { - + Block b = worldObj.getBlock(x, y, z); - + if(worldObj.rand.nextInt(3) == 0 && (b == ModBlocks.pribris || b == ModBlocks.pribris_burning)) { - + if(RBMKBase.digamma) worldObj.setBlock(x, y, z, ModBlocks.pribris_digamma); else @@ -457,34 +491,34 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase implements } } } - + /* Hanlde overpressure event */ if(RBMKDials.getOverpressure(worldObj) && !pipes.isEmpty()) { - HashSet pipeBlocks = new HashSet(); - HashSet pipeReceivers = new HashSet(); - + HashSet pipeBlocks = new HashSet<>(); + HashSet pipeReceivers = new HashSet<>(); + //unify all parts into single sets to prevent redundancy pipes.forEach(x -> { - pipeBlocks.addAll(x.getLinks()); - pipeReceivers.addAll(x.getSubscribers()); + pipeBlocks.addAll(x.links); + pipeReceivers.addAll(x.receiverEntries.entrySet()); }); - + int count = 0; int max = Math.min(pipeBlocks.size() / 5, 100); - Iterator itPipes = pipeBlocks.iterator(); - Iterator itReceivers = pipeReceivers.iterator(); - + Iterator itPipes = pipeBlocks.iterator(); + Iterator itReceivers = pipeReceivers.iterator(); + while(itPipes.hasNext() && count < max) { - IFluidConductor pipe = itPipes.next(); + Object pipe = itPipes.next(); if(pipe instanceof TileEntity) { TileEntity tile = (TileEntity) pipe; worldObj.setBlock(tile.xCoord, tile.yCoord, tile.zCoord, Blocks.air); } count++; } - + while(itReceivers.hasNext()) { - IFluidConnector con = itReceivers.next(); + Object con = itReceivers.next(); if(con instanceof TileEntity) { TileEntity tile = (TileEntity) con; if(con instanceof IOverpressurable) { @@ -496,26 +530,26 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase implements } } } - + int smallDim = Math.min(maxX - minX, maxZ - minZ); int avgX = minX + (maxX - minX) / 2; int avgZ = minZ + (maxZ - minZ) / 2; - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "rbmkmush"); data.setFloat("scale", smallDim); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, avgX + 0.5, yCoord + 1, avgZ + 0.5), new TargetPoint(worldObj.provider.dimensionId,avgX + 0.5, yCoord + 1, avgZ + 0.5, 250)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, avgX + 0.5, yCoord + 1, avgZ + 0.5), new TargetPoint(worldObj.provider.dimensionId,avgX + 0.5, yCoord + 1, avgZ + 0.5, 250)); MainRegistry.proxy.effectNT(data); - + worldObj.playSoundEffect(avgX + 0.5, yCoord + 1, avgZ + 0.5, "hbm:block.rbmk_explosion", 50.0F, 1.0F); - + List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(50, 50, 50)); - + for(EntityPlayer player : players) { player.triggerAchievement(MainRegistry.achRBMKBoom); } - + if(RBMKBase.digamma) { EntitySpear spear = new EntitySpear(worldObj); spear.posX = avgX + 0.5; @@ -523,19 +557,19 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase implements spear.posY = yCoord + 100; worldObj.spawnEntityInWorld(spear); } - + RBMKBase.dropLids = true; RBMKBase.digamma = false; } - + private void getFF(int x, int y, int z) { - + TileEntity te = Compat.getTileStandard(worldObj, x, y, z); - + if(te instanceof TileEntityRBMKBase) { - + TileEntityRBMKBase rbmk = (TileEntityRBMKBase) te; - + if(!columns.contains(rbmk)) { columns.add(rbmk); getFF(x + 1, y, z); @@ -545,21 +579,21 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase implements } } } - + public boolean isModerated() { return false; } - + public abstract ColumnType getConsoleType(); - + public NBTTagCompound getNBTForConsole() { return null; } - + public static List getFancyStats(NBTTagCompound nbt) { return null; } - + @Override public AxisAlignedBB getRenderBoundingBox() { return AxisAlignedBB.getBoundingBox(xCoord, yCoord, zCoord, xCoord + 1, yCoord + 17, zCoord + 1); diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java index 7a1a6ec0b..3ba7436dd 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java @@ -1,8 +1,7 @@ package com.hbm.tileentity.machine.rbmk; import api.hbm.fluid.IFluidStandardTransceiver; -import api.hbm.fluid.IFluidUser; -import api.hbm.fluid.IPipeNet; +import api.hbm.fluidmk2.FluidNode; import api.hbm.tile.IInfoProviderEC; import com.hbm.blocks.ModBlocks; @@ -16,16 +15,17 @@ import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUIRBMKBoiler; import com.hbm.lib.Library; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; +import com.hbm.uninos.UniNodespace; import com.hbm.util.CompatEnergyControl; import com.hbm.util.fauxpointtwelve.DirPos; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; @@ -163,6 +163,20 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I steam.writeToNBT(nbt, "steam"); } + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + steam.serialize(buf); + feed.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.steam.deserialize(buf); + this.feed.deserialize(buf); + } + @Override public boolean hasPermission(EntityPlayer player) { return Vec3.createVectorHelper(xCoord - player.posX, yCoord - player.posY, zCoord - player.posZ).lengthVector() < 20; @@ -198,9 +212,9 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I if(RBMKDials.getOverpressure(worldObj)) { for(DirPos pos : getOutputPos()) { - IPipeNet net = IFluidUser.getPipeNet(worldObj, pos.getX(), pos.getY(), pos.getZ(), steam.getTankType()); - if(net != null) { - this.pipes.add(net); + FluidNode node = (FluidNode) UniNodespace.getNode(worldObj, pos.getX(), pos.getY(), pos.getZ(), steam.getTankType().getNetworkProvider()); + if(node.net != null) { + this.pipes.add(node.net); } } } @@ -308,7 +322,7 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIRBMKBoiler(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java index ffbaea36f..bdb21f97c 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java @@ -14,14 +14,15 @@ import com.hbm.inventory.gui.GUIRBMKConsole; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKControlManual.RBMKColor; +import com.hbm.util.BufferUtil; import com.hbm.util.Compat; import com.hbm.util.EnumUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; @@ -39,22 +40,24 @@ import li.cil.oc.api.network.SimpleComponent; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) public class TileEntityRBMKConsole extends TileEntityMachineBase implements IControlReceiver, IGUIProvider, SimpleComponent, CompatHandler.OCComponent { - + private int targetX; private int targetY; private int targetZ; - + + private byte rotation; + public static final int fluxDisplayBuffer = 60; public int[] fluxBuffer = new int[fluxDisplayBuffer]; - + //made this one-dimensional because it's a lot easier to serialize public RBMKColumn[] columns = new RBMKColumn[15 * 15]; - + public RBMKScreen[] screens = new RBMKScreen[6]; public TileEntityRBMKConsole() { super(0); - + for(int i = 0; i < screens.length; i++) { screens[i] = new RBMKScreen(); } @@ -67,9 +70,9 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + if(this.worldObj.getTotalWorldTime() % 10 == 0) { this.worldObj.theProfiler.startSection("rbmkConsole_rescan"); @@ -77,68 +80,83 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon this.worldObj.theProfiler.endSection(); prepareScreenInfo(); } - - prepareNetworkPack(); + + this.networkPackNT(50); } } - + private void rescan() { - + double flux = 0; - + for(int i = -7; i <= 7; i++) { for(int j = -7; j <= 7; j++) { - - TileEntity te = Compat.getTileStandard(worldObj, targetX + i, targetY, targetZ + j); + int rx = i, rz = j; + switch (rotation) { + case 1: // 90° + rx = -j; + rz = i; + break; + case 2: // 180° + rx = -i; + rz = -j; + break; + case 3: // 270° + rx = j; + rz = -i; + break; + } + + TileEntity te = Compat.getTileStandard(worldObj, targetX + rx, targetY, targetZ + rz); int index = (i + 7) + (j + 7) * 15; - + if(te instanceof TileEntityRBMKBase) { - + TileEntityRBMKBase rbmk = (TileEntityRBMKBase)te; - + columns[index] = new RBMKColumn(rbmk.getConsoleType(), rbmk.getNBTForConsole()); columns[index].data.setDouble("heat", rbmk.heat); columns[index].data.setDouble("maxHeat", rbmk.maxHeat()); if(rbmk.isModerated()) columns[index].data.setBoolean("moderated", true); //false is the default anyway and not setting it when we don't need to reduces cruft - + if(te instanceof TileEntityRBMKRod) { TileEntityRBMKRod fuel = (TileEntityRBMKRod) te; - flux += fuel.fluxFast + fuel.fluxSlow; + flux += fuel.lastFluxQuantity; } - + } else { columns[index] = null; } } } - + for(int i = 0; i < this.fluxBuffer.length - 1; i++) { this.fluxBuffer[i] = this.fluxBuffer[i + 1]; } - + this.fluxBuffer[this.fluxBuffer.length - 1] = (int) flux; } - + @SuppressWarnings("incomplete-switch") //shut up private void prepareScreenInfo() { - + for(RBMKScreen screen : this.screens) { - + if(screen.type == ScreenType.NONE) { screen.display = null; continue; } - + double value = 0; int count = 0; - + for(Integer i : screen.columns) { - + RBMKColumn col = this.columns[i]; - + if(col == null) continue; - + switch(screen.type) { case COL_TEMP: count++; @@ -170,10 +188,10 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon break; } } - + double result = value / (double) count; String text = ((int)(result * 10)) / 10D + ""; - + switch(screen.type) { case COL_TEMP: text = "rbmk.screen.temp=" + text + "°C"; break; case FUEL_DEPLETION: text = "rbmk.screen.depletion=" + text + "%"; break; @@ -181,70 +199,69 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon case FUEL_TEMP: text = "rbmk.screen.core=" + text + "°C"; break; case ROD_EXTRACTION: text = "rbmk.screen.rod=" + text + "%"; break; } - + screen.display = text; } } - - private void prepareNetworkPack() { - - NBTTagCompound data = new NBTTagCompound(); - - if(this.worldObj.getTotalWorldTime() % 10 == 0) { - - data.setBoolean("full", true); - - for(int i = 0; i < columns.length; i++) { - - if(this.columns[i] != null) { - data.setTag("column_" + i, this.columns[i].data); - data.setShort("type_" + i, (short)this.columns[i].type.ordinal()); - } - } - - data.setIntArray("flux", this.fluxBuffer); - - for(int i = 0; i < this.screens.length; i++) { - RBMKScreen screen = screens[i]; - if(screen.display != null) { - data.setString("t" + i, screen.display); - } - } - } - - for(int i = 0; i < this.screens.length; i++) { - RBMKScreen screen = screens[i]; - data.setByte("s" + i, (byte) screen.type.ordinal()); - } - - this.networkPack(data, 50); - } - @Override - public void networkUnpack(NBTTagCompound data) { - - if(data.getBoolean("full")) { - this.columns = new RBMKColumn[15 * 15]; - - for(int i = 0; i < columns.length; i++) { - - if(data.hasKey("type_" + i)) { - this.columns[i] = new RBMKColumn(ColumnType.values()[data.getShort("type_" + i)], (NBTTagCompound)data.getTag("column_" + i)); + public void serialize(ByteBuf buf) { + super.serialize(buf); + + if (this.worldObj.getTotalWorldTime() % 10 == 0) { + buf.writeBoolean(true); + + for (RBMKColumn column : this.columns) { + if (column == null || column.type == null) + buf.writeByte(-1); + else { + buf.writeByte((byte) column.type.ordinal()); + BufferUtil.writeNBT(buf, column.data); } } - - this.fluxBuffer = data.getIntArray("flux"); - - for(int i = 0; i < this.screens.length; i++) { - RBMKScreen screen = screens[i]; - screen.display = data.getString("t" + i); + + BufferUtil.writeIntArray(buf, fluxBuffer); + + for (RBMKScreen screen : this.screens) { + BufferUtil.writeString(buf, screen.display); + } + + } else { + + buf.writeBoolean(false); + + for (RBMKScreen screen : screens) { + buf.writeByte((byte) screen.type.ordinal()); } } - - for(int i = 0; i < this.screens.length; i++) { - RBMKScreen screen = screens[i]; - screen.type = ScreenType.values()[data.getByte("s" + i)]; + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + + if (buf.readBoolean()) { // check if it should be a full packet + + for(int i = 0; i < this.columns.length; i++) { + byte ordinal = buf.readByte(); + if (ordinal == -1) + this.columns[i] = null; + else + this.columns[i] = new RBMKColumn(ColumnType.values()[ordinal], BufferUtil.readNBT(buf)); + } + + this.fluxBuffer = BufferUtil.readIntArray(buf); + + for (RBMKScreen screen : this.screens) { + screen.display = BufferUtil.readString(buf); + } + + } else { + + for (RBMKScreen screen : this.screens) { + screen.type = ScreenType.values()[buf.readByte()]; + } + } } @@ -255,20 +272,20 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon @Override public void receiveControl(NBTTagCompound data) { - + if(data.hasKey("level")) { - + Set keys = data.func_150296_c(); - + for(String key : keys) { - + if(key.startsWith("sel_")) { int x = data.getInteger(key) % 15 - 7; int z = data.getInteger(key) / 15 - 7; - + TileEntity te = Compat.getTileStandard(worldObj, targetX + x, targetY, targetZ + z); - + if(te instanceof TileEntityRBMKControlManual) { TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; rod.startingLevel = rod.level; @@ -278,18 +295,18 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon } } } - + if(data.hasKey("toggle")) { int slot = data.getByte("toggle"); int next = this.screens[slot].type.ordinal() + 1; ScreenType type = ScreenType.values()[next % ScreenType.values().length]; this.screens[slot].type = type; } - + if(data.hasKey("id")) { int slot = data.getByte("id"); List list = new ArrayList(); - + for(int i = 0; i < 15 * 15; i++) { if(data.getBoolean("s" + i)) { list.add(i); @@ -299,17 +316,17 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon Integer[] cols = list.toArray(new Integer[0]); this.screens[slot].columns = cols; } - + if(data.hasKey("assignColor")) { int color = data.getByte("assignColor"); int[] cols = data.getIntArray("cols"); - + for(int i : cols) { int x = i % 15 - 7; int z = i / 15 - 7; - + TileEntity te = Compat.getTileStandard(worldObj, targetX + x, targetY, targetZ + z); - + if(te instanceof TileEntityRBMKControlManual) { TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; rod.color = EnumUtil.grabEnumSafely(RBMKColor.class, color); @@ -317,16 +334,16 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon } } } - + if(data.hasKey("compressor")) { int[] cols = data.getIntArray("cols"); - + for(int i : cols) { int x = i % 15 - 7; int z = i / 15 - 7; - + TileEntity te = Compat.getTileStandard(worldObj, targetX + x, targetY, targetZ + z); - + if(te instanceof TileEntityRBMKBoiler) { TileEntityRBMKBoiler rod = (TileEntityRBMKBoiler) te; rod.cyceCompressor(); @@ -334,25 +351,25 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon } } } - + @Override public AxisAlignedBB getRenderBoundingBox() { return AxisAlignedBB.getBoundingBox(xCoord - 2, yCoord, zCoord - 2, xCoord + 3, yCoord + 4, zCoord + 3); } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { return 65536.0D; } - + public void setTarget(int x, int y, int z) { this.targetX = x; this.targetY = y; this.targetZ = z; this.markDirty(); } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -360,13 +377,14 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon this.targetX = nbt.getInteger("tX"); this.targetY = nbt.getInteger("tY"); this.targetZ = nbt.getInteger("tZ"); - + for(int i = 0; i < this.screens.length; i++) { this.screens[i].type = ScreenType.values()[nbt.getByte("t" + i)]; this.screens[i].columns = Arrays.stream(nbt.getIntArray("s" + i)).boxed().toArray(Integer[]::new); } + rotation = nbt.getByte("rotation"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -374,25 +392,30 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon nbt.setInteger("tX", this.targetX); nbt.setInteger("tY", this.targetY); nbt.setInteger("tZ", this.targetZ); - + for(int i = 0; i < this.screens.length; i++) { nbt.setByte("t" + i, (byte) this.screens[i].type.ordinal()); nbt.setIntArray("s" + i, Arrays.stream(this.screens[i].columns).mapToInt(Integer::intValue).toArray()); } + nbt.setByte("rotation", rotation); } - + + public void rotate() { + rotation = (byte)((rotation + 1) % 4); + } + public static class RBMKColumn { - + public ColumnType type; public NBTTagCompound data; - + public RBMKColumn(ColumnType type) { this.type = type; } - + public RBMKColumn(ColumnType type, NBTTagCompound data) { this.type = type; - + if(data != null) { this.data = data; } else { @@ -403,17 +426,17 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon @SuppressWarnings("incomplete-switch") @SideOnly(Side.CLIENT) public List getFancyStats() { - + if(this.data == null) return null; - + /* * Making a big switch with the values converted based on type by hand might seem "UnPrOfEsSiOnAl" and a major pain in the ass * but my only other solution that would not have me do things in multiple places where they shouldn't be involved passing * classes in the enum and then calling a special method from that class and quite honestly it turned out to be such a crime * against humanity that I threw the towel. It's not fancy, I get that, please fuck off. */ - + List stats = new ArrayList(); stats.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("rbmk.heat", ((int)((this.data.getDouble("heat") * 10D)) / 10D) + "°C")); switch(this.type) { @@ -431,18 +454,18 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon stats.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("rbmk.boiler.type", Fluids.fromID(this.data.getShort("type")).getLocalizedName())); break; case CONTROL: - + if(this.data.hasKey("color")) { short col = this.data.getShort("color"); - + if(col >= 0 && col < RBMKColor.values().length) stats.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("rbmk.control." + RBMKColor.values()[col].name().toLowerCase(Locale.US))); } - + case CONTROL_AUTO: stats.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("rbmk.control.level", ((int)((this.data.getDouble("level") * 100D))) + "%")); break; - + case HEATEX: stats.add(EnumChatFormatting.BLUE + Fluids.fromID(this.data.getShort("type")).getLocalizedName() + " " + this.data.getInteger("water") + "/" + this.data.getInteger("maxWater") + "mB"); @@ -450,14 +473,14 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon this.data.getInteger("steam") + "/" + this.data.getInteger("maxSteam") + "mB"); break; } - + if(data.getBoolean("moderated")) stats.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("rbmk.moderated")); - + return stats; } } - + public static enum ColumnType { BLANK(0), FUEL(10), @@ -473,19 +496,19 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon STORAGE(110), COOLER(120), HEATEX(130); - + public int offset; - + private ColumnType(int offset) { this.offset = offset; } } - + public class RBMKScreen { public ScreenType type = ScreenType.NONE; public Integer[] columns = new Integer[0]; public String display = null; - + public RBMKScreen() { } public RBMKScreen(ScreenType type, Integer[] columns, String display) { this.type = type; @@ -493,7 +516,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon this.display = display; } } - + public static enum ScreenType { NONE(0 * 18), COL_TEMP(1 * 18), @@ -501,9 +524,9 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon FUEL_DEPLETION(3 * 18), FUEL_POISON(4 * 18), FUEL_TEMP(5 * 18); - + public int offset; - + private ScreenType(int offset) { this.offset = offset; } @@ -516,10 +539,10 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIRBMKConsole(player.inventory, this); } - + // do some opencomputer stuff @Override @Optional.Method(modid = "OpenComputers") @@ -556,8 +579,8 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon if(te instanceof TileEntityRBMKRod){ TileEntityRBMKRod fuelChannel = (TileEntityRBMKRod)te; - data_table.put("fluxSlow", fuelChannel.fluxSlow); - data_table.put("fluxFast", fuelChannel.fluxFast); + data_table.put("fluxQuantity", fuelChannel.lastFluxQuantity); + data_table.put("fluxRatio", fuelChannel.fluxFastRatio); } if(te instanceof TileEntityRBMKBoiler){ @@ -605,7 +628,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon for(int i = -7; i <= 7; i++) { for(int j = -7; j <= 7; j++) { TileEntity te = Compat.getTileStandard(worldObj, targetX + i, targetY, targetZ + j); - + if (te instanceof TileEntityRBMKControlManual) { TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; rod.startingLevel = rod.level; @@ -631,7 +654,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon double new_level = args.checkDouble(2); TileEntity te = Compat.getTileStandard(worldObj, targetX + x, targetY, targetZ + y); - + if (te instanceof TileEntityRBMKControlManual) { TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; rod.startingLevel = rod.level; @@ -640,7 +663,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon rod.setTarget(new_level); te.markDirty(); return new Object[] {}; - } + } return new Object[] {"No control rod found at "+(x+7)+","+(7-y)}; } @@ -665,7 +688,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon te.markDirty(); foundRods = true; } - } + } } } if(foundRods) @@ -703,14 +726,14 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon for(int i = -7; i <= 7; i++) { for(int j = -7; j <= 7; j++) { TileEntity te = Compat.getTileStandard(worldObj, targetX + i, targetY, targetZ + j); - + if (te instanceof TileEntityRBMKControlManual) { TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; rod.startingLevel = rod.level; rod.setTarget(0); te.markDirty(); hasRods = true; - } + } } } if(hasRods){ diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java index 4b3f79c15..9e6d43868 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java @@ -2,9 +2,11 @@ package com.hbm.tileentity.machine.rbmk; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.handler.CompatHandler; +import com.hbm.handler.neutron.RBMKNeutronHandler.RBMKType; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; @@ -87,6 +89,20 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase im nbt.setDouble("level", this.level); nbt.setDouble("targetLevel", this.targetLevel); } + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeDouble(this.level); + buf.writeDouble(this.targetLevel); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.level = buf.readDouble(); + this.targetLevel = buf.readDouble(); + } @Override @SideOnly(Side.CLIENT) @@ -115,6 +131,11 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase im this.standardMelt(reduce); } + @Override + public RBMKType getRBMKType() { + return RBMKType.CONTROL_ROD; + } + @Override public NBTTagCompound getNBTForConsole() { NBTTagCompound data = new NBTTagCompound(); diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlAuto.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlAuto.java index dc4159964..3da017e91 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlAuto.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlAuto.java @@ -8,7 +8,7 @@ import com.hbm.tileentity.machine.rbmk.TileEntityRBMKControlManual.RBMKColor; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; @@ -105,6 +105,24 @@ public class TileEntityRBMKControlAuto extends TileEntityRBMKControl implements nbt.setInteger("function", function.ordinal()); } + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeDouble(this.levelLower); + buf.writeDouble(this.levelUpper); + buf.writeDouble(this.heatLower); + buf.writeDouble(this.heatUpper); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.levelLower = buf.readDouble(); + this.levelUpper = buf.readDouble(); + this.heatLower = buf.readDouble(); + this.heatUpper = buf.readDouble(); + } + @Override public void receiveControl(NBTTagCompound data) { @@ -141,7 +159,7 @@ public class TileEntityRBMKControlAuto extends TileEntityRBMKControl implements @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIRBMKControlAuto(player.inventory, this); } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlManual.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlManual.java index 92ec4377e..b34f99a5e 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlManual.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlManual.java @@ -9,10 +9,10 @@ import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; @@ -91,7 +91,7 @@ public class TileEntityRBMKControlManual extends TileEntityRBMKControl implement if(nbt.hasKey("startingLevel")) this.startingLevel = nbt.getDouble("startingLevel"); - + if(nbt.hasKey("color")) this.color = RBMKColor.values()[nbt.getInteger("color")]; else @@ -108,6 +108,24 @@ public class TileEntityRBMKControlManual extends TileEntityRBMKControl implement if(color != null) nbt.setInteger("color", color.ordinal()); } + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeDouble(this.startingLevel); + if(this.color != null) + buf.writeInt(this.color.ordinal()); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.startingLevel = buf.readDouble(); + if(buf.isReadable(1)) { + int color = buf.readInt(); + this.color = RBMKColor.values()[MathHelper.clamp_int(color, 0, RBMKColor.values().length)]; + } + } public static enum RBMKColor { RED, @@ -157,7 +175,7 @@ public class TileEntityRBMKControlManual extends TileEntityRBMKControl implement @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIRBMKControl(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java index bd7250cf7..fe3ddc71d 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java @@ -7,6 +7,7 @@ import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.lib.Library; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import cpw.mods.fml.common.Optional; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; @@ -101,6 +102,20 @@ public class TileEntityRBMKCooler extends TileEntityRBMKBase implements IFluidSt nbt.setInteger("cooled", this.lastCooled); } + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + this.tank.serialize(buf); + buf.writeInt(this.lastCooled); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.tank.deserialize(buf); + this.lastCooled = buf.readInt(); + } + @Override public ColumnType getConsoleType() { return ColumnType.COOLER; diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java index 941fb9637..3965ea170 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java @@ -17,11 +17,11 @@ import com.hbm.util.fauxpointtwelve.DirPos; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; @@ -50,7 +50,7 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I if(!worldObj.isRemote) { feed.setType(0, slots); - + if(feed.getTankType().hasTrait(FT_Heatable.class)) { FT_Heatable trait = feed.getTankType().getTrait(FT_Heatable.class); HeatingStep step = trait.getFirstStep(); @@ -82,7 +82,7 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I super.updateEntity(); } - + protected DirPos[] getOutputPos() { if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) == ModBlocks.rbmk_loader) { @@ -125,7 +125,21 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I feed.writeToNBT(nbt, "feed"); steam.writeToNBT(nbt, "steam"); } - + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + this.feed.serialize(buf); + this.steam.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.feed.deserialize(buf); + this.steam.deserialize(buf); + } + @Override public void onMelt(int reduce) { @@ -238,7 +252,7 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIRBMKHeater(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKInlet.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKInlet.java index be66e767d..56520da08 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKInlet.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKInlet.java @@ -4,14 +4,16 @@ import api.hbm.fluid.IFluidStandardReceiver; import com.hbm.blocks.machine.rbmk.RBMKBase; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; +import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityRBMKInlet extends TileEntityLoadedBase implements IFluidStandardReceiver { +public class TileEntityRBMKInlet extends TileEntityLoadedBase implements IFluidStandardReceiver, IBufPacketReceiver { public FluidTank water; @@ -26,7 +28,7 @@ public class TileEntityRBMKInlet extends TileEntityLoadedBase implements IFluidS this.subscribeToAllAround(water.getTankType(), this); - for(int i = 2; i < 6; i++) { + if(RBMKDials.getReasimBoilers(worldObj)) for(int i = 2; i < 6; i++) { ForgeDirection dir = ForgeDirection.getOrientation(i); Block b = worldObj.getBlock(xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ); @@ -39,8 +41,8 @@ public class TileEntityRBMKInlet extends TileEntityLoadedBase implements IFluidS if(te instanceof TileEntityRBMKBase) { TileEntityRBMKBase rbmk = (TileEntityRBMKBase) te; - int prov = Math.min(rbmk.maxWater - rbmk.water, water.getFill()); - rbmk.water += prov; + int prov = Math.min(rbmk.maxWater - rbmk.reasimWater, water.getFill()); + rbmk.reasimWater += prov; water.setFill(water.getFill() - prov); } } @@ -61,6 +63,14 @@ public class TileEntityRBMKInlet extends TileEntityLoadedBase implements IFluidS this.water.writeToNBT(nbt, "tank"); } + public void serialize(ByteBuf buf) { + this.water.serialize(buf); + } + + public void deserialize(ByteBuf buf) { + this.water.deserialize(buf); + } + @Override public FluidTank[] getAllTanks() { return new FluidTank[] {water}; diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKModerator.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKModerator.java index 7abb95b12..989b0af42 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKModerator.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKModerator.java @@ -1,10 +1,11 @@ package com.hbm.tileentity.machine.rbmk; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; +import com.hbm.handler.neutron.RBMKNeutronHandler.RBMKType; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; public class TileEntityRBMKModerator extends TileEntityRBMKBase { - + @Override public void onMelt(int reduce) { @@ -17,6 +18,11 @@ public class TileEntityRBMKModerator extends TileEntityRBMKBase { super.onMelt(reduce); } + @Override + public RBMKType getRBMKType() { + return RBMKType.MODERATOR; + } + @Override public ColumnType getConsoleType() { return ColumnType.MODERATOR; diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java index 81c74e75d..e89f89680 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java @@ -4,6 +4,8 @@ import api.hbm.fluid.IFluidStandardSender; import com.hbm.blocks.ModBlocks; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.handler.CompatHandler; +import com.hbm.handler.neutron.NeutronStream; +import com.hbm.handler.neutron.RBMKNeutronHandler; import com.hbm.inventory.FluidStack; import com.hbm.inventory.container.ContainerRBMKOutgasser; import com.hbm.inventory.fluid.Fluids; @@ -17,11 +19,11 @@ import com.hbm.util.fauxpointtwelve.DirPos; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -84,20 +86,20 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement }; } else { return new DirPos[] { - new DirPos(this.xCoord, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y) + new DirPos(this.xCoord, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y), + new DirPos(this.xCoord, this.yCoord - 1, this.zCoord, Library.NEG_Y) }; } } @Override - public void receiveFlux(NType type, double flux) { + public void receiveFlux(NeutronStream stream) { if(canProcess()) { - - if(type == NType.FAST) - flux *= 0.2D; - - progress += flux * RBMKDials.getOutgasserMod(worldObj); + + double efficiency = Math.min(1 - stream.fluxRatio * 0.8, 1); + + progress += stream.fluxQuantity * efficiency * RBMKDials.getOutgasserMod(worldObj); if(progress > duration) { process(); @@ -165,6 +167,11 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement super.onMelt(reduce); } + @Override + public RBMKNeutronHandler.RBMKType getRBMKType() { + return RBMKNeutronHandler.RBMKType.OUTGASSER; + } + @Override public ColumnType getConsoleType() { return ColumnType.OUTGASSER; @@ -196,6 +203,20 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement this.gas.writeToNBT(nbt, "gas"); } + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + this.gas.serialize(buf); + buf.writeDouble(this.progress); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.gas.deserialize(buf); + this.progress = buf.readDouble(); + } + @Override public boolean isItemValidForSlot(int i, ItemStack itemStack) { return OutgasserRecipes.getOutput(itemStack) != null && i == 0; @@ -271,7 +292,7 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIRBMKOutgasser(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutlet.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutlet.java index 259ac0b4c..8cac0f029 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutlet.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutlet.java @@ -4,14 +4,16 @@ import api.hbm.fluid.IFluidStandardSender; import com.hbm.blocks.machine.rbmk.RBMKBase; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; +import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityRBMKOutlet extends TileEntityLoadedBase implements IFluidStandardSender { +public class TileEntityRBMKOutlet extends TileEntityLoadedBase implements IFluidStandardSender, IBufPacketReceiver { public FluidTank steam; @@ -24,7 +26,7 @@ public class TileEntityRBMKOutlet extends TileEntityLoadedBase implements IFluid if(!worldObj.isRemote) { - for(int i = 2; i < 6; i++) { + if(RBMKDials.getReasimBoilers(worldObj)) for(int i = 2; i < 6; i++) { ForgeDirection dir = ForgeDirection.getOrientation(i); Block b = worldObj.getBlock(xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ); @@ -37,8 +39,8 @@ public class TileEntityRBMKOutlet extends TileEntityLoadedBase implements IFluid if(te instanceof TileEntityRBMKBase) { TileEntityRBMKBase rbmk = (TileEntityRBMKBase) te; - int prov = Math.min(steam.getMaxFill() - steam.getFill(), rbmk.steam); - rbmk.steam -= prov; + int prov = Math.min(steam.getMaxFill() - steam.getFill(), rbmk.reasimSteam); + rbmk.reasimSteam -= prov; steam.setFill(steam.getFill() + prov); } } @@ -61,6 +63,16 @@ public class TileEntityRBMKOutlet extends TileEntityLoadedBase implements IFluid this.steam.writeToNBT(nbt, "tank"); } + @Override + public void serialize(ByteBuf buf) { + this.steam.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + this.steam.deserialize(buf); + } + public void fillFluidInit() { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) this.sendFluid(steam, worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKReflector.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKReflector.java index ed5b1afc0..f2157f849 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKReflector.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKReflector.java @@ -1,6 +1,7 @@ package com.hbm.tileentity.machine.rbmk; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; +import com.hbm.handler.neutron.RBMKNeutronHandler; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; public class TileEntityRBMKReflector extends TileEntityRBMKBase { @@ -17,6 +18,11 @@ public class TileEntityRBMKReflector extends TileEntityRBMKBase { super.onMelt(reduce); } + @Override + public RBMKNeutronHandler.RBMKType getRBMKType() { + return RBMKNeutronHandler.RBMKType.REFLECTOR; + } + @Override public ColumnType getConsoleType() { return ColumnType.REFLECTOR; diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java index 70750e00a..92b5ecfe2 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -5,31 +5,37 @@ import com.hbm.blocks.machine.rbmk.RBMKBase; import com.hbm.blocks.machine.rbmk.RBMKRod; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.handler.CompatHandler; +import com.hbm.handler.neutron.NeutronNodeWorld; +import com.hbm.handler.neutron.NeutronNodeWorld.StreamWorld; +import com.hbm.handler.neutron.RBMKNeutronHandler; import com.hbm.handler.radiation.ChunkRadiationManager; +import com.hbm.handler.neutron.RBMKNeutronHandler.RBMKNeutronNode; +import com.hbm.handler.neutron.NeutronStream; import com.hbm.inventory.container.ContainerRBMKRod; import com.hbm.inventory.gui.GUIRBMKRod; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemRBMKRod; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; -import com.hbm.util.Compat; +import com.hbm.util.BufferUtil; import com.hbm.util.CompatEnergyControl; import com.hbm.util.ParticleUtil; import api.hbm.tile.IInfoProviderEC; +import com.hbm.util.fauxpointtwelve.BlockPos; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -37,13 +43,22 @@ import java.util.ArrayList; import java.util.List; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBMKFluxReceiver, IRBMKLoadable, SimpleComponent, IInfoProviderEC, CompatHandler.OCComponent { - - //amount of "neutron energy" buffered for the next tick to use for the reaction - public double fluxFast; - public double fluxSlow; +public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBMKFluxReceiver, IRBMKLoadable, IInfoProviderEC, SimpleComponent, CompatHandler.OCComponent { + + // New system!! + // Used for receiving flux (calculating outbound flux/burning rods) + public double fluxFastRatio; + public double fluxQuantity; + public double lastFluxQuantity; + public double lastFluxRatio; + public boolean hasRod; + // Fuel rod item data client sync + private String fuelYield; + private String fuelXenon; + private String fuelHeat; + public TileEntityRBMKRod() { super(1); } @@ -52,299 +67,287 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM public String getName() { return "container.rbmkRod"; } - + @Override public boolean isModerated() { return ((RBMKRod)this.getBlockType()).moderated; } - + @Override public int trackingRange() { return 25; } - @SuppressWarnings("incomplete-switch") //shut the fuck up @Override - public void receiveFlux(NType type, double flux) { - - switch(type) { - case FAST: this.fluxFast += flux; break; - case SLOW: this.fluxSlow += flux; break; - } + public void receiveFlux(NeutronStream stream) { + double fastFlux = this.fluxQuantity * this.fluxFastRatio; + double fastFluxIn = stream.fluxQuantity * stream.fluxRatio; + + this.fluxQuantity += stream.fluxQuantity; + fluxFastRatio = (fastFlux + fastFluxIn) / fluxQuantity; } - + @Override public void updateEntity() { if(!worldObj.isRemote) { - + if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { - + ItemRBMKRod rod = ((ItemRBMKRod)slots[0].getItem()); - - double fluxIn = fluxFromType(rod.nType); - double fluxOut = rod.burn(worldObj, slots[0], fluxIn); - NType rType = rod.rType; - + + double fluxRatioOut; + double fluxQuantityOut; + + // Experimental flux ratio curve rods! + // Again, nothing really uses this so its just idle code at the moment. + if(rod.specialFluxCurve) { + + fluxRatioOut = rod.fluxRatioOut(this.fluxFastRatio, ItemRBMKRod.getEnrichment(slots[0])); + + double fluxIn; + + fluxIn = rod.fluxFromRatio(this.fluxQuantity, this.fluxFastRatio); + + fluxQuantityOut = rod.burn(worldObj, slots[0], fluxIn); + } else { + NType rType = rod.rType; + if(rType == NType.SLOW) + fluxRatioOut = 0; + else + fluxRatioOut = 1; + + double fluxIn = fluxFromType(rod.nType); + fluxQuantityOut = rod.burn(worldObj, slots[0], fluxIn); + } + rod.updateHeat(worldObj, slots[0], 1.0D); this.heat += rod.provideHeat(worldObj, slots[0], heat, 1.0D); - + if(!this.hasLid()) { - ChunkRadiationManager.proxy.incrementRad(worldObj, xCoord, yCoord, zCoord, (float) ((this.fluxFast + this.fluxSlow) * 0.05F)); + ChunkRadiationManager.proxy.incrementRad(worldObj, xCoord, yCoord, zCoord, (float) (this.fluxQuantity * 0.05F)); } - + super.updateEntity(); - + if(this.heat > this.maxHeat()) { - + if(RBMKDials.getMeltdownsDisabled(worldObj)) { ParticleUtil.spawnGasFlame(worldObj, xCoord + 0.5, yCoord + RBMKDials.getColumnHeight(worldObj) + 0.5, zCoord + 0.5, 0, 0.2, 0); } else { this.meltdown(); } - this.fluxFast = 0; - this.fluxSlow = 0; + this.lastFluxRatio = 0; + this.lastFluxQuantity = 0; + this.fluxQuantity = 0; return; } - - if(this.heat > 10_000) this.heat = 10_000; - - //for spreading, we want the buffered flux to be 0 because we want to know exactly how much gets reflected back - this.fluxFast = 0; - this.fluxSlow = 0; - this.worldObj.theProfiler.startSection("rbmkRod_flux_spread"); - spreadFlux(rType, fluxOut); - this.worldObj.theProfiler.endSection(); - + if(this.heat > 10_000) this.heat = 10_000; + + //for spreading, we want the buffered flux to be 0 because we want to know exactly how much gets reflected back + + this.lastFluxQuantity = this.fluxQuantity; + this.lastFluxRatio = this.fluxFastRatio; + + this.fluxQuantity = 0; + this.fluxFastRatio = 0; + + spreadFlux(fluxQuantityOut, fluxRatioOut); + hasRod = true; - + } else { - this.fluxFast = 0; - this.fluxSlow = 0; - + this.lastFluxRatio = 0; + this.lastFluxQuantity = 0; + this.fluxQuantity = 0; + this.fluxFastRatio = 0; + hasRod = false; - + super.updateEntity(); } } } - - /** - * SLOW: full efficiency for slow neutrons, fast neutrons have half efficiency - * FAST: fast neutrons have 100% efficiency, slow only 30% - * ANY: just add together whatever we have because who cares - * @param type - * @return - */ - + private double fluxFromType(NType type) { - + + double fastFlux = this.fluxQuantity * this.fluxFastRatio; + double slowFlux = this.fluxQuantity * (1 - this.fluxFastRatio); + switch(type) { - case SLOW: return this.fluxFast * 0.5D + this.fluxSlow; - case FAST: return this.fluxFast + this.fluxSlow * 0.3D; - case ANY: return this.fluxFast + this.fluxSlow; + case SLOW: return slowFlux + fastFlux * 0.5; + case FAST: return fastFlux + slowFlux * 0.3; + case ANY: return this.fluxQuantity; } - + return 0.0D; } - + public static final ForgeDirection[] fluxDirs = new ForgeDirection[] { ForgeDirection.NORTH, ForgeDirection.EAST, ForgeDirection.SOUTH, ForgeDirection.WEST }; - - protected static NType stream; - - protected void spreadFlux(NType type, double fluxOut) { - - int range = RBMKDials.getFluxRange(worldObj); - - for(ForgeDirection dir : fluxDirs) { - - stream = type; - double flux = fluxOut; - - for(int i = 1; i <= range; i++) { - - flux = runInteraction(xCoord + dir.offsetX * i, yCoord, zCoord + dir.offsetZ * i, flux); - - if(flux <= 0) - break; - } - } - } - - protected double runInteraction(int x, int y, int z, double flux) { - - TileEntity te = Compat.getTileStandard(worldObj, x, y, z); - - if(te instanceof TileEntityRBMKBase) { - TileEntityRBMKBase base = (TileEntityRBMKBase) te; - - if(!base.hasLid()) - ChunkRadiationManager.proxy.incrementRad(worldObj, xCoord, yCoord, zCoord, (float) (flux * 0.05F)); - - if(base.isModerated()) { - this.stream = NType.SLOW; - } + + private BlockPos pos; + + public void spreadFlux(double flux, double ratio) { + + if(pos == null) + pos = new BlockPos(this); + + if(flux == 0) { + // simple way to remove the node from the cache when no flux is going into it! + NeutronNodeWorld.removeNode(worldObj, pos); + return; } - //burn baby burn - if(te instanceof TileEntityRBMKRod) { - TileEntityRBMKRod rod = (TileEntityRBMKRod)te; - - if(rod.getStackInSlot(0) != null && rod.getStackInSlot(0).getItem() instanceof ItemRBMKRod) { - rod.receiveFlux(stream, flux); - return 0; - } else { - return flux; - } + StreamWorld streamWorld = NeutronNodeWorld.getOrAddWorld(worldObj); + RBMKNeutronNode node = (RBMKNeutronNode) streamWorld.getNode(pos); + + if(node == null) { + node = RBMKNeutronHandler.makeNode(streamWorld, this); + streamWorld.addNode(node); } - - if(te instanceof TileEntityRBMKOutgasser) { - TileEntityRBMKOutgasser rod = (TileEntityRBMKOutgasser)te; - - if(!rod.canProcess()) { - return flux; - } + + for(ForgeDirection dir : fluxDirs) { + + Vec3 neutronVector = Vec3.createVectorHelper(dir.offsetX, dir.offsetY, dir.offsetZ); + + // Create new neutron streams + new RBMKNeutronHandler.RBMKNeutronStream(node, neutronVector, flux, ratio); } - - if(te instanceof IRBMKFluxReceiver) { - IRBMKFluxReceiver rod = (IRBMKFluxReceiver)te; - rod.receiveFlux(stream, flux); - return 0; - } - - //multiply neutron count with rod setting - if(te instanceof TileEntityRBMKControl) { - TileEntityRBMKControl control = (TileEntityRBMKControl)te; - - if(control.getMult() == 0.0D) - return 0; - - flux *= control.getMult(); - - return flux; - } - - //set neutrons to slow - if(te instanceof TileEntityRBMKModerator) { - stream = NType.SLOW; - return flux; - } - - //return the neutrons back to this with no further action required - if(te instanceof TileEntityRBMKReflector) { - this.receiveFlux(this.isModerated() ? NType.SLOW : stream, flux); - return 0; - } - - //break the neutron flow and nothign else - if(te instanceof TileEntityRBMKAbsorber) { - return 0; - } - - if(te instanceof TileEntityRBMKBase) { - return flux; - } - - int limit = RBMKDials.getColumnHeight(worldObj); - int hits = 0; - for(int h = 0; h <= limit; h++) { - - if(!worldObj.getBlock(x, y + h, z).isOpaqueCube()) - hits++; - } - - if(hits > 0) - ChunkRadiationManager.proxy.incrementRad(worldObj, xCoord, yCoord, zCoord, (float) (flux * 0.05F * hits / (float)limit)); - - return 0; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - this.fluxFast = nbt.getDouble("fluxFast"); - this.fluxSlow = nbt.getDouble("fluxSlow"); + if(nbt.hasKey("fluxFast") || nbt.hasKey("fluxSlow")) { + // recalculate new values to keep stable operations + this.fluxQuantity = nbt.getDouble("fluxFast") + nbt.getDouble("fluxSlow"); + if(this.fluxQuantity > 0) + this.fluxFastRatio = nbt.getDouble("fluxFast") / fluxQuantity; + else + this.fluxFastRatio = 0; + } else { + this.fluxQuantity = nbt.getDouble("fluxQuantity"); + this.fluxFastRatio = nbt.getDouble("fluxMod"); + } this.hasRod = nbt.getBoolean("hasRod"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - nbt.setDouble("fluxFast", this.fluxFast); - nbt.setDouble("fluxSlow", this.fluxSlow); + if(!diag) { + nbt.setDouble("fluxQuantity", this.lastFluxQuantity); + nbt.setDouble("fluxMod", this.lastFluxRatio); + } else { + nbt.setDouble("fluxSlow", this.fluxQuantity * (1 - fluxFastRatio)); + nbt.setDouble("fluxFast", this.fluxQuantity * fluxFastRatio); + } nbt.setBoolean("hasRod", this.hasRod); } - - public void getDiagData(NBTTagCompound nbt) { - this.writeToNBT(nbt); - - if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { - - ItemRBMKRod rod = ((ItemRBMKRod)slots[0].getItem()); - nbt.setString("f_yield", rod.getYield(slots[0]) + " / " + rod.yield + " (" + (rod.getEnrichment(slots[0]) * 100) + "%)"); - nbt.setString("f_xenon", rod.getPoison(slots[0]) + "%"); - nbt.setString("f_heat", rod.getCoreHeat(slots[0]) + " / " + rod.getHullHeat(slots[0]) + " / " + rod.meltingPoint); + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeDouble(this.lastFluxQuantity); + buf.writeDouble(this.lastFluxRatio); + buf.writeBoolean(this.hasRod); + if(this.hasRod) { + ItemRBMKRod rod = ((ItemRBMKRod)slots[0].getItem()); + BufferUtil.writeString(buf, ItemRBMKRod.getYield(slots[0]) + " / " + rod.yield + " (" + (ItemRBMKRod.getEnrichment(slots[0]) * 100) + "%)"); + BufferUtil.writeString(buf, ItemRBMKRod.getPoison(slots[0]) + "%"); + BufferUtil.writeString(buf, ItemRBMKRod.getCoreHeat(slots[0]) + " / " + ItemRBMKRod.getHullHeat(slots[0]) + " / " + rod.meltingPoint); } } - + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.fluxQuantity = buf.readDouble(); + this.fluxFastRatio = buf.readDouble(); + this.hasRod = buf.readBoolean(); + if(this.hasRod) { + fuelYield = BufferUtil.readString(buf); + fuelXenon = BufferUtil.readString(buf); + fuelHeat = BufferUtil.readString(buf); + } else { + fuelYield = fuelXenon = fuelHeat = null; + } + } + + public void getDiagData(NBTTagCompound nbt) { + diag = true; + this.writeToNBT(nbt); + diag = false; + + if(fuelYield != null && fuelXenon != null && fuelHeat != null) { + nbt.setString("f_yield", fuelYield); + nbt.setString("f_xenon", fuelXenon); + nbt.setString("f_heat", fuelHeat); + } + } + @Override public void onMelt(int reduce) { boolean moderated = this.isModerated(); int h = RBMKDials.getColumnHeight(worldObj); reduce = MathHelper.clamp_int(reduce, 1, h); - + if(worldObj.rand.nextInt(3) == 0) reduce++; - + boolean corium = slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod; - - if(corium && slots[0].getItem() == ModItems.rbmk_fuel_drx) + + if(corium && slots[0].getItem() == ModItems.rbmk_fuel_drx) RBMKBase.digamma = true; - + slots[0] = null; if(corium) { - + for(int i = h; i >= 0; i--) { worldObj.setBlock(xCoord, yCoord + i, zCoord, ModBlocks.corium_block, 5, 3); worldObj.markBlockForUpdate(xCoord, yCoord + i, zCoord); } - + int count = 1 + worldObj.rand.nextInt(RBMKDials.getColumnHeight(worldObj)); - + for(int i = 0; i < count; i++) { spawnDebris(DebrisType.FUEL); } } else { this.standardMelt(reduce); } - + if(moderated) { - + int count = 2 + worldObj.rand.nextInt(2); - + for(int i = 0; i < count; i++) { spawnDebris(DebrisType.GRAPHITE); } } - + spawnDebris(DebrisType.ELEMENT); - + if(this.getBlockMetadata() == RBMKBase.DIR_NORMAL_LID.ordinal() + RBMKBase.offset) spawnDebris(DebrisType.LID); } + @Override + public RBMKNeutronHandler.RBMKType getRBMKType() { + return RBMKNeutronHandler.RBMKType.ROD; + } + @Override public ColumnType getConsoleType() { return ColumnType.FUEL; @@ -353,17 +356,17 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM @Override public NBTTagCompound getNBTForConsole() { NBTTagCompound data = new NBTTagCompound(); - + if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { - + ItemRBMKRod rod = ((ItemRBMKRod)slots[0].getItem()); - data.setDouble("enrichment", rod.getEnrichment(slots[0])); - data.setDouble("xenon", rod.getPoison(slots[0])); - data.setDouble("c_heat", rod.getHullHeat(slots[0])); - data.setDouble("c_coreHeat", rod.getCoreHeat(slots[0])); + data.setDouble("enrichment", ItemRBMKRod.getEnrichment(slots[0])); + data.setDouble("xenon", ItemRBMKRod.getPoison(slots[0])); + data.setDouble("c_heat", ItemRBMKRod.getHullHeat(slots[0])); + data.setDouble("c_coreHeat", ItemRBMKRod.getCoreHeat(slots[0])); data.setDouble("c_maxHeat", rod.meltingPoint); } - + return data; } @@ -393,7 +396,7 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM slots[0] = null; this.markDirty(); } - + // do some opencomputer stuff @Override @Optional.Method(modid = "OpenComputers") @@ -409,16 +412,16 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM @Callback(direct = true) @Optional.Method(modid = "OpenComputers") - public Object[] getFluxSlow(Context context, Arguments args) { - return new Object[] {fluxSlow}; + public Object[] getFluxQuantity(Context context, Arguments args) { + return new Object[] {lastFluxQuantity}; } @Callback(direct = true) @Optional.Method(modid = "OpenComputers") - public Object[] getFluxFast(Context context, Arguments args) { - return new Object[] {fluxFast}; + public Object[] getFluxRatio(Context context, Arguments args) { + return new Object[] {fluxFastRatio}; } - + @Callback(direct = true) @Optional.Method(modid = "OpenComputers") public Object[] getDepletion(Context context, Arguments args) { @@ -474,14 +477,15 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM returnValues.add(ItemRBMKRod.getEnrichment(slots[0])); returnValues.add(ItemRBMKRod.getPoison(slots[0])); returnValues.add(slots[0].getItem().getUnlocalizedName()); - } else - for (int i = 0; i < 5; i++) - returnValues.add("N/A"); + } else { + for(int i = 0; i < 5; i++) returnValues.add("N/A"); + } return new Object[] { - heat, returnValues.get(0), returnValues.get(1), - fluxSlow, fluxFast, returnValues.get(2), returnValues.get(3), returnValues.get(4), - ((RBMKRod)this.getBlockType()).moderated, xCoord, yCoord, zCoord}; + heat, returnValues.get(0), returnValues.get(1), + fluxQuantity, fluxFastRatio, returnValues.get(2), returnValues.get(3), returnValues.get(4), + ((RBMKRod)this.getBlockType()).moderated, xCoord, yCoord, zCoord + }; } @Callback(direct = true) @@ -503,7 +507,7 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIRBMKRod(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRodReaSim.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRodReaSim.java index e8e284a07..ef9c466b4 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRodReaSim.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRodReaSim.java @@ -1,11 +1,17 @@ package com.hbm.tileentity.machine.rbmk; +import com.hbm.handler.neutron.NeutronNodeWorld; +import com.hbm.handler.neutron.RBMKNeutronHandler; +import com.hbm.handler.neutron.NeutronNodeWorld.StreamWorld; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; +import com.hbm.util.fauxpointtwelve.BlockPos; import net.minecraft.util.Vec3; +import static com.hbm.handler.neutron.RBMKNeutronHandler.*; + public class TileEntityRBMKRodReaSim extends TileEntityRBMKRod { - + public TileEntityRBMKRodReaSim() { super(); } @@ -14,42 +20,38 @@ public class TileEntityRBMKRodReaSim extends TileEntityRBMKRod { public String getName() { return "container.rbmkReaSim"; } - + + private BlockPos pos; + @Override - protected void spreadFlux(NType type, double fluxOut) { + public void spreadFlux(double flux, double ratio) { + + if(pos == null) + pos = new BlockPos(this); + + if(flux == 0) { + // simple way to remove the node from the cache when no flux is going into it! + NeutronNodeWorld.removeNode(worldObj, pos); + return; + } + + StreamWorld streamWorld = NeutronNodeWorld.getOrAddWorld(worldObj); + RBMKNeutronNode node = (RBMKNeutronNode) streamWorld.getNode(pos); + + if(node == null) { + node = makeNode(streamWorld, this); + streamWorld.addNode(node); + } - int range = RBMKDials.getReaSimRange(worldObj); int count = RBMKDials.getReaSimCount(worldObj); - - Vec3 dir = Vec3.createVectorHelper(1, 0, 0); - - for(int i = 0; i < count; i++) { - - stream = type; - double flux = fluxOut * RBMKDials.getReaSimOutputMod(worldObj); - - dir.rotateAroundY((float)(Math.PI * 2D * worldObj.rand.nextDouble())); - - for(int j = 1; j <= range; j++) { - int x = (int)Math.floor(0.5 + dir.xCoord * j); - int z = (int)Math.floor(0.5 + dir.zCoord * j); - int lastX = (int)Math.floor(0.5 + dir.xCoord * (j - 1)); - int lastZ = (int)Math.floor(0.5 + dir.zCoord * (j - 1)); - - //skip if the position is on the rod itself - if(x == 0 && z == 0) - continue; - - //skip if the current position is equal to the last position - if(x == lastX && z == lastZ) - continue; - - flux = runInteraction(xCoord + x, yCoord, zCoord + z, flux); - - if(flux <= 0) - break; - } + for(int i = 0; i < count; i++) { + Vec3 neutronVector = Vec3.createVectorHelper(1, 0, 0); + + neutronVector.rotateAroundY((float)(Math.PI * 2D * worldObj.rand.nextDouble())); + + new RBMKNeutronHandler.RBMKNeutronStream(makeNode(streamWorld, this), neutronVector, flux, ratio); + // Create new neutron streams } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKSlottedBase.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKSlottedBase.java index 7c6278c84..27702f37a 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKSlottedBase.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKSlottedBase.java @@ -1,15 +1,11 @@ package com.hbm.tileentity.machine.rbmk; -import com.hbm.packet.NBTPacket; -import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IGUIProvider; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import net.minecraftforge.fluids.FluidTank; /** * Base class for RBMK components that have GUI slots and thus have to handle @@ -70,6 +66,7 @@ public abstract class TileEntityRBMKSlottedBase extends TileEntityRBMKActiveBase public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -124,23 +121,6 @@ public abstract class TileEntityRBMKSlottedBase extends TileEntityRBMKActiveBase return new int[] {}; } - public int getGaugeScaled(int i, FluidTank tank) { - return tank.getFluidAmount() * i / tank.getCapacity(); - } - - public void networkPack(NBTTagCompound nbt, int range) { - - if(!worldObj.isRemote) - PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(nbt, xCoord, yCoord, zCoord), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); - } - - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - } - - public void handleButtonPacket(int value, int meta) { - } - @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -155,6 +135,8 @@ public abstract class TileEntityRBMKSlottedBase extends TileEntityRBMKActiveBase slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } } @@ -174,6 +156,10 @@ public abstract class TileEntityRBMKSlottedBase extends TileEntityRBMKActiveBase } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKStorage.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKStorage.java index a670b6c09..2fab338a9 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKStorage.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKStorage.java @@ -1,12 +1,12 @@ package com.hbm.tileentity.machine.rbmk; +import com.hbm.handler.neutron.RBMKNeutronHandler; import com.hbm.inventory.container.ContainerRBMKStorage; import com.hbm.inventory.gui.GUIRBMKStorage; import com.hbm.items.machine.ItemRBMKRod; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -40,6 +40,11 @@ public class TileEntityRBMKStorage extends TileEntityRBMKSlottedBase implements super.updateEntity(); } + @Override + public RBMKNeutronHandler.RBMKType getRBMKType() { + return RBMKNeutronHandler.RBMKType.OTHER; + } + @Override public ColumnType getConsoleType() { return ColumnType.STORAGE; @@ -92,7 +97,7 @@ public class TileEntityRBMKStorage extends TileEntityRBMKSlottedBase implements @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIRBMKStorage(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java index b2815e4d2..5473c0740 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java @@ -1,6 +1,13 @@ package com.hbm.tileentity.machine.storage; -import api.hbm.fluid.*; +import api.hbm.energymk2.IEnergyReceiverMK2.ConnectionPriority; +import api.hbm.fluidmk2.FluidNode; +import api.hbm.fluidmk2.IFluidStandardTransceiverMK2; +import api.hbm.redstoneoverradio.IRORInteractive; +import api.hbm.redstoneoverradio.IRORValueProvider; + +import java.util.HashSet; + import com.hbm.blocks.ModBlocks; import com.hbm.handler.CompatHandler; import com.hbm.inventory.FluidContainerRegistry; @@ -14,9 +21,12 @@ import com.hbm.inventory.fluid.trait.FluidTrait.FluidReleaseType; import com.hbm.inventory.gui.GUIBarrel; import com.hbm.lib.Library; import com.hbm.saveddata.TomSaveData; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.uninos.UniNodespace; +import com.hbm.util.fauxpointtwelve.BlockPos; import com.hbm.util.fauxpointtwelve.DirPos; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; @@ -27,29 +37,25 @@ import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.EnumSkyBlock; import net.minecraft.world.World; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; +import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")}) -public class TileEntityBarrel extends TileEntityMachineBase implements SimpleComponent, IFluidStandardTransceiver, IPersistentNBT, IGUIProvider, CompatHandler.OCComponent { - +public class TileEntityBarrel extends TileEntityMachineBase implements SimpleComponent, IFluidStandardTransceiverMK2, IPersistentNBT, IGUIProvider, CompatHandler.OCComponent, IFluidCopiable, IRORValueProvider, IRORInteractive { + + protected FluidNode node; + protected FluidType lastType; + public FluidTank tank; public short mode = 0; public static final short modes = 4; public int age = 0; - protected boolean sendingBrake = false; public byte lastRedstone = 0; public TileEntityBarrel() { @@ -75,26 +81,14 @@ public class TileEntityBarrel extends TileEntityMachineBase implements SimpleCom @Override public long getDemand(FluidType type, int pressure) { - - if(this.mode == 2 || this.mode == 3 || this.sendingBrake) - return 0; - + if(this.mode == 2 || this.mode == 3) return 0; if(tank.getPressure() != pressure) return 0; - return type == tank.getTankType() ? tank.getMaxFill() - tank.getFill() : 0; } - @Override - public long transferFluid(FluidType type, int pressure, long fluid) { - long toTransfer = Math.min(getDemand(type, pressure), fluid); - tank.setFill(tank.getFill() + (int) toTransfer); - this.markChanged(); - return fluid - toTransfer; - } - @Override public void updateEntity() { - + if(!worldObj.isRemote) { byte comp = this.getComparatorPower(); //do comparator shenanigans @@ -107,33 +101,94 @@ public class TileEntityBarrel extends TileEntityMachineBase implements SimpleCom tank.setType(0, 1, slots); tank.loadTank(2, 3, slots); tank.unloadTank(4, 5, slots); - - this.sendingBrake = true; - tank.setFill(transmitFluidFairly(worldObj, tank, this, tank.getFill(), this.mode == 0 || this.mode == 1, this.mode == 1 || this.mode == 2, getConPos())); - this.sendingBrake = false; - + + // In buffer mode, acts like a pipe block, providing fluid to its own node + // otherwise, it is a regular providing/receiving machine, blocking further propagation + if(mode == 1) { + if(this.node == null || this.node.expired || tank.getTankType() != lastType) { + + this.node = (FluidNode) UniNodespace.getNode(worldObj, xCoord, yCoord, zCoord, tank.getTankType().getNetworkProvider()); + + if(this.node == null || this.node.expired || tank.getTankType() != lastType) { + this.node = this.createNode(tank.getTankType()); + UniNodespace.createNode(worldObj, this.node); + lastType = tank.getTankType(); + } + } + + if(node != null && node.hasValidNet()) { + node.net.addProvider(this); + node.net.addReceiver(this); + } + } else { + if(this.node != null) { + UniNodespace.destroyNode(worldObj, xCoord, yCoord, zCoord, tank.getTankType().getNetworkProvider()); + this.node = null; + } + + for(DirPos pos : getConPos()) { + FluidNode dirNode = (FluidNode) UniNodespace.getNode(worldObj, pos.getX(), pos.getY(), pos.getZ(), tank.getTankType().getNetworkProvider()); + + if(mode == 2) { + tryProvide(tank, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } else { + if(dirNode != null && dirNode.hasValidNet()) dirNode.net.removeProvider(this); + } + + if(mode == 0) { + if(dirNode != null && dirNode.hasValidNet()) dirNode.net.addReceiver(this); + } else { + if(dirNode != null && dirNode.hasValidNet()) dirNode.net.removeReceiver(this); + } + } + } + if(tank.getFill() > 0) { checkFluidInteraction(); } - + this.networkPackNT(50); } } + protected FluidNode createNode(FluidType type) { + DirPos[] conPos = getConPos(); + + HashSet posSet = new HashSet<>(); + posSet.add(new BlockPos(this)); + for(DirPos pos : conPos) { + ForgeDirection dir = pos.getDir(); + posSet.add(new BlockPos(pos.getX() - dir.offsetX, pos.getY() - dir.offsetY, pos.getZ() - dir.offsetZ)); + } + + return new FluidNode(type.getNetworkProvider(), posSet.toArray(new BlockPos[posSet.size()])).setConnections(conPos); + } + + @Override + public void invalidate() { + super.invalidate(); + + if(!worldObj.isRemote) { + if(this.node != null) { + UniNodespace.destroyNode(worldObj, xCoord, yCoord, zCoord, tank.getTankType().getNetworkProvider()); + } + } + } + @Override public void serialize(ByteBuf buf) { super.serialize(buf); buf.writeShort(mode); tank.serialize(buf); } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); mode = buf.readShort(); tank.deserialize(buf); } - + protected DirPos[] getConPos() { return new DirPos[] { new DirPos(xCoord + 1, yCoord, zCoord, Library.POS_X), @@ -144,59 +199,6 @@ public class TileEntityBarrel extends TileEntityMachineBase implements SimpleCom new DirPos(xCoord, yCoord, zCoord - 1, Library.NEG_Z) }; } - - protected static int transmitFluidFairly(World world, FluidTank tank, IFluidConnector that, int fill, boolean connect, boolean send, DirPos[] connections) { - - Set nets = new HashSet<>(); - Set consumers = new HashSet<>(); - FluidType type = tank.getTankType(); - int pressure = tank.getPressure(); - - for(DirPos pos : connections) { - - TileEntity te = world.getTileEntity(pos.getX(), pos.getY(), pos.getZ()); - - if(te instanceof IFluidConductor) { - IFluidConductor con = (IFluidConductor) te; - if(con.getPipeNet(type) != null) { - nets.add(con.getPipeNet(type)); - con.getPipeNet(type).unsubscribe(that); - consumers.addAll(con.getPipeNet(type).getSubscribers()); - } - - //if it's just a consumer, buffer it as a subscriber - } else if(te instanceof IFluidConnector) { - consumers.add((IFluidConnector) te); - } - } - - consumers.remove(that); - - if(fill > 0 && send) { - List con = new ArrayList<>(); - con.addAll(consumers); - - con.removeIf(x -> x == null || !(x instanceof TileEntity) || ((TileEntity)x).isInvalid()); - - if(PipeNet.trackingInstances == null) { - PipeNet.trackingInstances = new ArrayList<>(); - } - - PipeNet.trackingInstances.clear(); - nets.forEach(x -> { - if(x instanceof PipeNet) PipeNet.trackingInstances.add((PipeNet) x); - }); - - fill = (int) PipeNet.fairTransfer(con, type, pressure, fill); - } - - //resubscribe to buffered nets, if necessary - if(connect) { - nets.forEach(x -> x.subscribe(that)); - } - - return fill; - } @Override public boolean isItemValidForSlot(int i, ItemStack itemStack) { @@ -208,7 +210,7 @@ public class TileEntityBarrel extends TileEntityMachineBase implements SimpleCom //if content is above 0 but still within capacity if(i == 2 && content > 0 && content <= tank.getMaxFill()) return true; - + return false; } @@ -221,23 +223,23 @@ public class TileEntityBarrel extends TileEntityMachineBase implements SimpleCom public int[] getAccessibleSlotsFromSide(int p_94128_1_) { return new int[] {2, 3, 4, 5}; } - + public void checkFluidInteraction() { - + Block b = this.getBlockType(); - + //for when you fill antimatter into a matter tank if(b != ModBlocks.barrel_antimatter && tank.getTankType().isAntimatter()) { worldObj.func_147480_a(xCoord, yCoord, zCoord, false); worldObj.newExplosion(null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 5, true, true); } - + //for when you fill hot or corrosive liquids into a plastic tank if(b == ModBlocks.barrel_plastic && (tank.getTankType().isCorrosive() || tank.getTankType().isHot())) { worldObj.func_147480_a(xCoord, yCoord, zCoord, false); worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "random.fizz", 1.0F, 1.0F); } - + //for when you fill corrosive liquid into an iron tank if((b == ModBlocks.barrel_iron && tank.getTankType().isCorrosive()) || (b == ModBlocks.barrel_steel && tank.getTankType().hasTrait(FT_Corrosive.class) && tank.getTankType().getTrait(FT_Corrosive.class).getRating() > 50)) { @@ -245,16 +247,16 @@ public class TileEntityBarrel extends TileEntityMachineBase implements SimpleCom this.slots = new ItemStack[6]; worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.barrel_corroded); TileEntityBarrel barrel = (TileEntityBarrel)worldObj.getTileEntity(xCoord, yCoord, zCoord); - + if(barrel != null) { barrel.tank.setTankType(tank.getTankType()); barrel.tank.setFill(Math.min(barrel.tank.getMaxFill(), tank.getFill())); barrel.slots = copy; } - + worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "random.fizz", 1.0F, 1.0F); } - + if(b == ModBlocks.barrel_corroded ) { if(worldObj.rand.nextInt(3) == 0) { tank.setFill(tank.getFill() - 1); @@ -262,33 +264,35 @@ public class TileEntityBarrel extends TileEntityMachineBase implements SimpleCom } if(worldObj.rand.nextInt(3 * 60 * 20) == 0) worldObj.func_147480_a(xCoord, yCoord, zCoord, false); } - + //For when Tom's firestorm hits a barrel full of water if(tank.getTankType() == Fluids.WATER && TomSaveData.forWorld(worldObj).fire > 1e-5) { int light = this.worldObj.getSavedLightValue(EnumSkyBlock.Sky, this.xCoord, this.yCoord, this.zCoord); - + if(light > 7) { worldObj.newExplosion(null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 5, true, true); } } } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + mode = nbt.getShort("mode"); tank.readFromNBT(nbt, "tank"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setShort("mode", mode); tank.writeToNBT(nbt, "tank"); } + @Override public boolean canConnect(FluidType fluid, ForgeDirection dir) { return true; } + @Override public FluidTank[] getSendingTanks() { return (mode == 1 || mode == 2) ? new FluidTank[] {tank} : new FluidTank[0]; @@ -296,7 +300,7 @@ public class TileEntityBarrel extends TileEntityMachineBase implements SimpleCom @Override public FluidTank[] getReceivingTanks() { - return (mode == 0 || mode == 1) && !sendingBrake ? new FluidTank[] {tank} : new FluidTank[0]; + return (mode == 0 || mode == 1) ? new FluidTank[] {tank} : new FluidTank[0]; } @Override @@ -304,6 +308,21 @@ public class TileEntityBarrel extends TileEntityMachineBase implements SimpleCom return new FluidTank[] { tank }; } + @Override + public ConnectionPriority getFluidPriority() { + return mode == 1 ? ConnectionPriority.LOW : ConnectionPriority.NORMAL; + } + + @Override + public int[] getFluidIDToCopy() { + return new int[] {tank.getTankType().getID()}; + } + + @Override + public FluidTank getTankToPaste() { + return tank; + } + @Override public void writeNBT(NBTTagCompound nbt) { if(tank.getFill() == 0) return; @@ -327,7 +346,7 @@ public class TileEntityBarrel extends TileEntityMachineBase implements SimpleCom @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIBarrel(player.inventory, this); } @@ -376,15 +395,51 @@ public class TileEntityBarrel extends TileEntityMachineBase implements SimpleCom @Optional.Method(modid = "OpenComputers") public Object[] invoke(String method, Context context, Arguments args) throws Exception { switch (method) { - case "getFluidStored": - return getFluidStored(context, args); - case "getMaxStored": - return getMaxStored(context, args); - case "getTypeStored": - return getTypeStored(context, args); - case "getInfo": - return getInfo(context, args); + case "getFluidStored": return getFluidStored(context, args); + case "getMaxStored": return getMaxStored(context, args); + case "getTypeStored": return getTypeStored(context, args); + case "getInfo": return getInfo(context, args); } throw new NoSuchMethodException(); } + + @Override + public String[] getFunctionInfo() { + return new String[] { + PREFIX_VALUE + "type", + PREFIX_VALUE + "fill", + PREFIX_VALUE + "fillpercent", + PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode", + PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode" + PARAM_SEPARATOR + "fallback", + }; + } + + @Override + public String provideRORValue(String name) { + if((PREFIX_VALUE + "type").equals(name)) return tank.getTankType().getName(); + if((PREFIX_VALUE + "fill").equals(name)) return "" + tank.getFill(); + if((PREFIX_VALUE + "fillpercent").equals(name)) return "" + (tank.getFill() * 100 / tank.getMaxFill()); + return null; + } + + @Override + public String runRORFunction(String name, String[] params) { + + if((PREFIX_FUNCTION + "setmode").equals(name) && params.length > 0) { + int mode = IRORInteractive.parseInt(params[0], 0, 3); + + if(mode != this.mode) { + this.mode = (short) mode; + this.markChanged(); + return null; + } else if(params.length > 1) { + int altmode = IRORInteractive.parseInt(params[1], 0, 3); + this.mode = (short) altmode; + this.markChanged(); + return null; + } + return null; + } + return null; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateBase.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateBase.java index 3bdf405c2..dca8dec9c 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateBase.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateBase.java @@ -3,17 +3,26 @@ package com.hbm.tileentity.machine.storage; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.machine.TileEntityLockableBase; +import net.minecraft.entity.monster.EntityCaveSpider; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.play.server.S35PacketUpdateTileEntity; +import net.minecraft.world.World; + +import java.util.Random; public abstract class TileEntityCrateBase extends TileEntityLockableBase implements ISidedInventory, IGUIProvider { - protected ItemStack slots[]; + protected ItemStack[] slots; public String customName; + public boolean hasSpiders = false; + public TileEntityCrateBase(int count) { slots = new ItemStack[count]; } @@ -45,15 +54,17 @@ public abstract class TileEntityCrateBase extends TileEntityLockableBase impleme if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) { itemStack.stackSize = getInventoryStackLimit(); } + this.markDirty(); } @Override public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; + return this.customName != null && !this.customName.isEmpty(); } public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override @@ -98,6 +109,7 @@ public abstract class TileEntityCrateBase extends TileEntityLockableBase impleme slots[i] = null; } + this.markDirty(); return itemStack1; } else { return null; @@ -108,7 +120,7 @@ public abstract class TileEntityCrateBase extends TileEntityLockableBase impleme public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); NBTTagList list = nbt.getTagList("items", 10); - + slots = new ItemStack[getSizeInventory()]; for (int i = 0; i < list.tagCount(); i++) { @@ -118,12 +130,15 @@ public abstract class TileEntityCrateBase extends TileEntityLockableBase impleme slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + this.hasSpiders = nbt.getBoolean("spiders"); + + customName = nbt.getString("name"); } @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + NBTTagList list = new NBTTagList(); for (int i = 0; i < slots.length; i++) { @@ -135,6 +150,23 @@ public abstract class TileEntityCrateBase extends TileEntityLockableBase impleme } } nbt.setTag("items", list); + nbt.setBoolean("spiders", hasSpiders); + + if (customName != null) { + nbt.setString("name", customName); + } + } + + @Override + public Packet getDescriptionPacket() { + NBTTagCompound nbt = new NBTTagCompound(); + writeToNBT(nbt); + return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, 0, nbt); + } + + @Override + public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity packet) { + readFromNBT(packet.func_148857_g()); } @Override @@ -153,4 +185,46 @@ public abstract class TileEntityCrateBase extends TileEntityLockableBase impleme public boolean canExtractItem(int i, ItemStack itemStack, int j) { return !this.isLocked(); } + + // Spiders!!! + public void fillWithSpiders() { + this.hasSpiders = true; + } + + private static final int numSpiders = 3; // leave that at 3 for now TODO: maybe a config option or smth + + /// For when opening from a TileEntity. + public static void spawnSpiders(EntityPlayer player, World worldObj, TileEntityCrateBase crate) { + if(crate.hasSpiders) { + Random random = new Random(); + + for (int i = 0; i < numSpiders; i++) { + + EntityCaveSpider spider = new EntityCaveSpider(worldObj); // lord + spider.setLocationAndAngles(crate.xCoord + random.nextGaussian() * 2, crate.yCoord + 1, crate.zCoord + random.nextGaussian() * 2, random.nextFloat(), 0); + spider.setAttackTarget(player); + + worldObj.spawnEntityInWorld(spider); + } + crate.hasSpiders = false; + crate.markDirty(); + } + } + + /// For when opening from a player's inventory. + public static void spawnSpiders(EntityPlayer player, World worldObj, ItemStack crate) { + if(crate.hasTagCompound() && crate.getTagCompound().getBoolean("spiders")) { + Random random = new Random(); + + for (int i = 0; i < numSpiders; i++) { + + EntityCaveSpider spider = new EntityCaveSpider(worldObj); + spider.setLocationAndAngles(player.posX + random.nextGaussian() * 2, player.posY + 1, player.posZ + random.nextGaussian() * 2, random.nextFloat(), 0); + spider.setAttackTarget(player); + + worldObj.spawnEntityInWorld(spider); + } + crate.getTagCompound().removeTag("spiders"); + } + } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateDesh.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateDesh.java index e0c33c30a..45ede4cbc 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateDesh.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateDesh.java @@ -5,7 +5,6 @@ import com.hbm.inventory.gui.GUICrateDesh; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.world.World; @@ -28,7 +27,7 @@ public class TileEntityCrateDesh extends TileEntityCrateBase { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICrateDesh(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateIron.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateIron.java index 23e079344..88a398ca8 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateIron.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateIron.java @@ -5,7 +5,6 @@ import com.hbm.inventory.gui.GUICrateIron; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.world.World; @@ -28,7 +27,7 @@ public class TileEntityCrateIron extends TileEntityCrateBase { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICrateIron(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateSteel.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateSteel.java index abb9cf0cb..1af683e40 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateSteel.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateSteel.java @@ -5,7 +5,6 @@ import com.hbm.inventory.gui.GUICrateSteel; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.world.World; @@ -28,7 +27,7 @@ public class TileEntityCrateSteel extends TileEntityCrateBase { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICrateSteel(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateTemplate.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateTemplate.java index c22a6e669..a26b3e0b0 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateTemplate.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateTemplate.java @@ -5,7 +5,6 @@ import com.hbm.inventory.gui.GUICrateTemplate; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.world.World; @@ -28,7 +27,7 @@ public class TileEntityCrateTemplate extends TileEntityCrateBase { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICrateTemplate(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateTungsten.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateTungsten.java index d6a1536b1..ecb1eca61 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateTungsten.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateTungsten.java @@ -7,7 +7,6 @@ import com.hbm.items.ModItems; import api.hbm.block.ILaserable; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -109,7 +108,7 @@ public class TileEntityCrateTungsten extends TileEntityCrateBase implements ILas @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICrateTungsten(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityFileCabinet.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityFileCabinet.java index fc1451df5..61acde31f 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityFileCabinet.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityFileCabinet.java @@ -2,16 +2,12 @@ package com.hbm.tileentity.machine.storage; import com.hbm.inventory.container.ContainerFileCabinet; import com.hbm.inventory.gui.GUIFileCabinet; -import com.hbm.packet.BufPacket; -import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.IGUIProvider; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -20,7 +16,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class TileEntityFileCabinet extends TileEntityCrateBase implements IGUIProvider, IBufPacketReceiver { - + private int timer = 0; private int playersUsing = 0; //meh, it's literally just two extra variables @@ -28,16 +24,16 @@ public class TileEntityFileCabinet extends TileEntityCrateBase implements IGUIPr public float prevLowerExtent = 0; public float upperExtent = 0; public float prevUpperExtent = 0; - + public TileEntityFileCabinet() { super(8); } - + @Override public String getInventoryName() { return "container.fileCabinet"; } - + @Override public void openInventory() { if(!worldObj.isRemote) this.playersUsing++; @@ -52,64 +48,64 @@ public class TileEntityFileCabinet extends TileEntityCrateBase implements IGUIPr buf.writeInt(timer); buf.writeInt(playersUsing); } - + @Override public void deserialize(ByteBuf buf) { timer = buf.readInt(); playersUsing = buf.readInt(); } - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + if(this.playersUsing > 0) { if(timer < 10) { timer++; } } else timer = 0; - - PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 25)); + + networkPackNT(25); } else { this.prevLowerExtent = lowerExtent; this.prevUpperExtent = upperExtent; } - + float openSpeed = playersUsing > 0 ? 1F / 16F : 1F / 25F; float maxExtent = 0.8F; - + if(this.playersUsing > 0) { if(lowerExtent == 0F && upperExtent == 0F) this.worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:block.crateOpen", 0.8F, 1.0F); else { if(upperExtent + openSpeed >= maxExtent && lowerExtent < maxExtent) this.worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:block.crateOpen", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.7F); - + if(lowerExtent + openSpeed >= maxExtent && lowerExtent < maxExtent) this.worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:block.crateOpen", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.7F); } - + this.lowerExtent += openSpeed; - + if(timer >= 10) this.upperExtent += openSpeed; - + } else if(lowerExtent > 0) { if(upperExtent - openSpeed < maxExtent / 2 && upperExtent >= maxExtent / 2 && upperExtent != lowerExtent) this.worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:block.crateClose", 0.8F, 1.0F); - + if(lowerExtent - openSpeed < maxExtent / 2 && lowerExtent >= maxExtent / 2) this.worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:block.crateClose", 0.8F, 1.0F); - + this.upperExtent -= openSpeed; this.lowerExtent -= openSpeed; } - + this.lowerExtent = MathHelper.clamp_float(lowerExtent, 0F, maxExtent); this.upperExtent = MathHelper.clamp_float(upperExtent, 0F, maxExtent); } - + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return new ContainerFileCabinet(player.inventory, this); @@ -117,7 +113,7 @@ public class TileEntityFileCabinet extends TileEntityCrateBase implements IGUIPr @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIFileCabinet(player.inventory, this); } @@ -126,7 +122,7 @@ public class TileEntityFileCabinet extends TileEntityCrateBase implements IGUIPr public boolean isItemValidForSlot(int i, ItemStack stack) { return false; } - + @Override public boolean canInsertItem(int i, ItemStack itemStack, int j) { return false; @@ -136,12 +132,12 @@ public class TileEntityFileCabinet extends TileEntityCrateBase implements IGUIPr public boolean canExtractItem(int i, ItemStack itemStack, int j) { return false; } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -152,10 +148,10 @@ public class TileEntityFileCabinet extends TileEntityCrateBase implements IGUIPr zCoord + 1 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java index 51448207a..a2984cb93 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java @@ -6,6 +6,8 @@ import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.energymk2.Nodespace; import api.hbm.energymk2.Nodespace.PowerNode; +import api.hbm.redstoneoverradio.IRORInteractive; +import api.hbm.redstoneoverradio.IRORValueProvider; import api.hbm.tile.IInfoProviderEC; import com.hbm.blocks.machine.MachineBattery; @@ -16,7 +18,9 @@ import com.hbm.lib.Library; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.uninos.UniNodespace; import com.hbm.util.CompatEnergyControl; +import com.hbm.util.EnumUtil; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; @@ -25,7 +29,7 @@ import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; -import net.minecraft.client.gui.GuiScreen; +import li.cil.oc.api.network.SimpleComponent; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -35,15 +39,15 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")}) -public class TileEntityMachineBattery extends TileEntityMachineBase implements IEnergyConductorMK2, IEnergyProviderMK2, IEnergyReceiverMK2, IPersistentNBT, IGUIProvider, IInfoProviderEC, CompatHandler.OCComponent { - +public class TileEntityMachineBattery extends TileEntityMachineBase implements IEnergyConductorMK2, IEnergyProviderMK2, IEnergyReceiverMK2, IPersistentNBT, SimpleComponent, IGUIProvider, IInfoProviderEC, CompatHandler.OCComponent, IRORValueProvider, IRORInteractive { + public long[] log = new long[20]; public long delta = 0; public long power = 0; public long prevPowerState = 0; - + protected PowerNode node; - + //0: input only //1: buffer //2: output only @@ -55,16 +59,16 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I public short redLow = 0; public short redHigh = 2; public ConnectionPriority priority = ConnectionPriority.LOW; - + //public boolean conducts = false; public byte lastRedstone = 0; - + private static final int[] slots_top = new int[] {0}; private static final int[] slots_bottom = new int[] {0, 1}; private static final int[] slots_side = new int[] {1}; - + private String customName; - + public TileEntityMachineBattery() { super(2); slots = new ItemStack[2]; @@ -84,24 +88,25 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I public boolean hasCustomInventoryName() { return this.customName != null && this.customName.length() > 0; } - + public void setCustomName(String name) { this.customName = name; + markDirty(); } @Override public boolean isItemValidForSlot(int i, ItemStack stack) { - + switch(i) { case 0: case 1: if(stack.getItem() instanceof IBatteryItem) return true; break; } - + return true; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -111,19 +116,25 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I this.redHigh = nbt.getShort("redHigh"); this.lastRedstone = nbt.getByte("lastRedstone"); this.priority = ConnectionPriority.values()[nbt.getByte("priority")]; + + customName = nbt.getString("name"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setLong("power", power); nbt.setShort("redLow", redLow); nbt.setShort("redHigh", redHigh); nbt.setByte("lastRedstone", lastRedstone); nbt.setByte("priority", (byte)this.priority.ordinal()); + + if (customName != null) { + nbt.setString("name", customName); + } } - + @Override public int[] getAccessibleSlotsFromSide(int p_94128_1_) { return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side); @@ -136,7 +147,7 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I @Override public boolean canExtractItem(int i, ItemStack itemStack, int j) { - + if(itemStack.getItem() instanceof IBatteryItem) { if(i == 0 && ((IBatteryItem)itemStack.getItem()).getCharge(itemStack) == 0) { return true; @@ -145,79 +156,95 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I return true; } } - + return false; } public long getPowerRemainingScaled(long i) { return (power * i) / this.getMaxPower(); } - + public byte getComparatorPower() { if(power == 0) return 0; double frac = (double) this.power / (double) this.getMaxPower() * 15D; return (byte) (MathHelper.clamp_int((int) frac + 1, 0, 15)); //to combat eventual rounding errors with the FEnSU's stupid maxPower } - + @Override public void updateEntity() { - + if(!worldObj.isRemote && worldObj.getBlock(xCoord, yCoord, zCoord) instanceof MachineBattery) { - + if(priority == null || priority.ordinal() == 0 || priority.ordinal() == 4) { priority = ConnectionPriority.LOW; } - + int mode = this.getRelevantMode(false); - - if(this.node == null || this.node.expired) { - - this.node = Nodespace.getNode(worldObj, xCoord, yCoord, zCoord); - + + long prevPower = this.power; + + power = Library.chargeItemsFromTE(slots, 1, power, getMaxPower()); + + // In buffer mode, becomes a cable block and provides power to itself + // otherwise, acts like a regular power providing/accepting machine + if(mode == mode_buffer) { if(this.node == null || this.node.expired) { - this.node = this.createNode(); - Nodespace.createNode(worldObj, this.node); + + this.node = (PowerNode) UniNodespace.getNode(worldObj, xCoord, yCoord, zCoord, Nodespace.THE_POWER_PROVIDER); + + if(this.node == null || this.node.expired) { + this.node = this.createNode(); + UniNodespace.createNode(worldObj, this.node); + } + } + + this.tryProvide(worldObj, xCoord, yCoord, zCoord, ForgeDirection.UNKNOWN); + if(node != null && node.hasValidNet()) node.net.addReceiver(this); + } else { + if(this.node != null) { + UniNodespace.destroyNode(worldObj, xCoord, yCoord, zCoord, Nodespace.THE_POWER_PROVIDER); + this.node = null; + } + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + PowerNode dirNode = (PowerNode) UniNodespace.getNode(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, Nodespace.THE_POWER_PROVIDER); + + if(mode == mode_output) { + tryProvide(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); + } else { + if(dirNode != null && dirNode.hasValidNet()) dirNode.net.removeProvider(this); + } + + if(mode == mode_input) { + if(dirNode != null && dirNode.hasValidNet()) dirNode.net.addReceiver(this); + } else { + if(dirNode != null && dirNode.hasValidNet()) dirNode.net.removeReceiver(this); + } } } - - long prevPower = this.power; - - power = Library.chargeItemsFromTE(slots, 1, power, getMaxPower()); - - if(mode == mode_output || mode == mode_buffer) { - this.tryProvide(worldObj, xCoord, yCoord, zCoord, ForgeDirection.UNKNOWN); - } else { - if(node != null && node.hasValidNet()) node.net.removeProvider(this); - } - + byte comp = this.getComparatorPower(); if(comp != this.lastRedstone) this.markDirty(); this.lastRedstone = comp; - - if(mode == mode_input || mode == mode_buffer) { - if(node != null && node.hasValidNet()) node.net.addReceiver(this); - } else { - if(node != null && node.hasValidNet()) node.net.removeReceiver(this); - } - + power = Library.chargeTEFromItems(slots, 0, power, getMaxPower()); long avg = (power + prevPower) / 2; this.delta = avg - this.log[0]; - + for(int i = 1; i < this.log.length; i++) { this.log[i - 1] = this.log[i]; } - + this.log[19] = avg; - + prevPowerState = power; - + this.networkPackNT(20); } } - + public void onNodeDestroyedCallback() { this.node = null; } @@ -225,10 +252,10 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I @Override public void invalidate() { super.invalidate(); - + if(!worldObj.isRemote) { if(this.node != null) { - Nodespace.destroyNode(worldObj, xCoord, yCoord, zCoord); + UniNodespace.destroyNode(worldObj, xCoord, yCoord, zCoord, Nodespace.THE_POWER_PROVIDER); } } } @@ -237,7 +264,7 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I int mode = this.getRelevantMode(true); return mode == mode_output || mode == mode_buffer ? this.getMaxPower() / 600 : 0; } - + @Override public long getReceiverSpeed() { int mode = this.getRelevantMode(true); return mode == mode_input || mode == mode_buffer ? this.getMaxPower() / 200 : 0; @@ -269,30 +296,30 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I public long getPower() { return power; } - + private short modeCache = 0; public short getRelevantMode(boolean useCache) { if(useCache) return this.modeCache; this.modeCache = worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord) ? this.redHigh : this.redLow; return this.modeCache; } - + private long bufferedMax; @Override public long getMaxPower() { - + if(bufferedMax == 0) { bufferedMax = ((MachineBattery)worldObj.getBlock(xCoord, yCoord, zCoord)).maxPower; } - + return bufferedMax; } @Override public boolean canConnect(ForgeDirection dir) { return true; } @Override public void setPower(long power) { this.power = power; } @Override public ConnectionPriority getPriority() { return this.priority; } - + // do some opencomputer stuff @Override @Optional.Method(modid = "OpenComputers") @@ -340,7 +367,7 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineBattery(player.inventory, this); } @@ -348,4 +375,71 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I public void provideExtraInfo(NBTTagCompound data) { data.setLong(CompatEnergyControl.L_DIFF_HE, (log[0] - log[19]) / 20L); } + + @Override + public String[] getFunctionInfo() { + return new String[] { + PREFIX_VALUE + "fill", + PREFIX_VALUE + "fillpercent", + PREFIX_VALUE + "delta", + PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode", + PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode" + PARAM_SEPARATOR + "fallback", + PREFIX_FUNCTION + "setredmode" + NAME_SEPARATOR + "mode", + PREFIX_FUNCTION + "setredmode" + NAME_SEPARATOR + "mode" + PARAM_SEPARATOR + "fallback", + PREFIX_FUNCTION + "setpriority" + NAME_SEPARATOR + "priority", + }; + } + + @Override + public String provideRORValue(String name) { + if((PREFIX_VALUE + "fill").equals(name)) return "" + power; + if((PREFIX_VALUE + "fillpercent").equals(name)) return "" + getPowerRemainingScaled(100); + if((PREFIX_VALUE + "delta").equals(name)) return "" + delta; + return null; + } + + @Override + public String runRORFunction(String name, String[] params) { + + if((PREFIX_FUNCTION + "setmode").equals(name) && params.length > 0) { + int mode = IRORInteractive.parseInt(params[0], 0, 3); + + if(mode != this.redLow) { + this.redLow = (short) mode; + this.markChanged(); + return null; + } else if(params.length > 1) { + int altmode = IRORInteractive.parseInt(params[1], 0, 3); + this.redLow = (short) altmode; + this.markChanged(); + return null; + } + return null; + } + + if((PREFIX_FUNCTION + "setredmode").equals(name) && params.length > 0) { + int mode = IRORInteractive.parseInt(params[0], 0, 3); + + if(mode != this.redHigh) { + this.redHigh = (short) mode; + this.markChanged(); + return null; + } else if(params.length > 1) { + int altmode = IRORInteractive.parseInt(params[1], 0, 3); + this.redHigh = (short) altmode; + this.markChanged(); + return null; + } + return null; + } + + if((PREFIX_FUNCTION + "setpriority").equals(name) && params.length > 0) { + int priority = IRORInteractive.parseInt(params[0], 0, 2) + 1; + ConnectionPriority p = EnumUtil.grabEnumSafely(ConnectionPriority.class, priority); + this.priority = p; + this.markChanged(); + return null; + } + return null; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java index 51a133253..b8f4c199f 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java @@ -1,6 +1,11 @@ package com.hbm.tileentity.machine.storage; -import api.hbm.fluid.IFluidStandardTransceiver; +import api.hbm.energymk2.IEnergyReceiverMK2.ConnectionPriority; +import api.hbm.fluidmk2.FluidNode; +import api.hbm.fluidmk2.IFluidStandardTransceiverMK2; +import api.hbm.redstoneoverradio.IRORInteractive; +import api.hbm.redstoneoverradio.IRORValueProvider; + import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; import com.hbm.explosion.vanillant.ExplosionVNT; @@ -19,14 +24,12 @@ import com.hbm.inventory.gui.GUIMachineFluidTank; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.lib.Library; -import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.IOverpressurable; -import com.hbm.tileentity.IPersistentNBT; -import com.hbm.tileentity.IRepairable; -import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.*; +import com.hbm.uninos.UniNodespace; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.util.ParticleUtil; +import com.hbm.util.fauxpointtwelve.BlockPos; import com.hbm.util.fauxpointtwelve.DirPos; import cpw.mods.fml.common.Optional; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -37,7 +40,6 @@ import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; @@ -49,23 +51,26 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; import java.util.Random; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")}) -public class TileEntityMachineFluidTank extends TileEntityMachineBase implements SimpleComponent, OCComponent, IFluidStandardTransceiver, IPersistentNBT, IOverpressurable, IGUIProvider, IRepairable { - +public class TileEntityMachineFluidTank extends TileEntityMachineBase implements SimpleComponent, OCComponent, IFluidStandardTransceiverMK2, IPersistentNBT, IOverpressurable, IGUIProvider, IRepairable, IFluidCopiable, IRORValueProvider, IRORInteractive { + + protected FluidNode node; + protected FluidType lastType; + public FluidTank tank; public short mode = 0; public static final short modes = 4; public boolean hasExploded = false; - protected boolean sendingBrake = false; public boolean onFire = false; public byte lastRedstone = 0; public Explosion lastExplosion = null; - + public int age = 0; - + public TileEntityMachineFluidTank() { super(6); tank = new FluidTank(Fluids.NONE, 256000); @@ -86,7 +91,7 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements public void updateEntity() { if(!worldObj.isRemote) { - + //meta below 12 means that it's an old multiblock configuration if(this.getBlockMetadata() < 12) { //get old direction @@ -102,23 +107,61 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements worldObj.getTileEntity(xCoord, yCoord, zCoord).readFromNBT(data); return; } - + if(!hasExploded) { age++; - + if(age >= 20) { age = 0; this.markChanged(); } - - this.sendingBrake = true; - tank.setFill(TileEntityBarrel.transmitFluidFairly(worldObj, tank, this, tank.getFill(), this.mode == 0 || this.mode == 1, this.mode == 1 || this.mode == 2, getConPos())); - this.sendingBrake = false; - + + // In buffer mode, acts like a pipe block, providing fluid to its own node + // otherwise, it is a regular providing/receiving machine, blocking further propagation + if(mode == 1) { + if(this.node == null || this.node.expired || tank.getTankType() != lastType) { + + this.node = (FluidNode) UniNodespace.getNode(worldObj, xCoord, yCoord, zCoord, tank.getTankType().getNetworkProvider()); + + if(this.node == null || this.node.expired || tank.getTankType() != lastType) { + this.node = this.createNode(tank.getTankType()); + UniNodespace.createNode(worldObj, this.node); + lastType = tank.getTankType(); + } + } + + if(node != null && node.hasValidNet()) { + node.net.addProvider(this); + node.net.addReceiver(this); + } + } else { + if(this.node != null) { + UniNodespace.destroyNode(worldObj, xCoord, yCoord, zCoord, tank.getTankType().getNetworkProvider()); + this.node = null; + } + + for(DirPos pos : getConPos()) { + FluidNode dirNode = (FluidNode) UniNodespace.getNode(worldObj, pos.getX(), pos.getY(), pos.getZ(), tank.getTankType().getNetworkProvider()); + + if(mode == 2) { + tryProvide(tank, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } else { + if(dirNode != null && dirNode.hasValidNet()) dirNode.net.removeProvider(this); + } + + if(mode == 0) { + if(dirNode != null && dirNode.hasValidNet()) dirNode.net.addReceiver(this); + } else { + if(dirNode != null && dirNode.hasValidNet()) dirNode.net.removeReceiver(this); + } + } + } + tank.loadTank(2, 3, slots); tank.setType(0, 1, slots); - } else { - for(DirPos pos : getConPos()) this.tryUnsubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ()); + } else if(this.node != null) { + UniNodespace.destroyNode(worldObj, xCoord, yCoord, zCoord, tank.getTankType().getNetworkProvider()); + this.node = null; } byte comp = this.getComparatorPower(); //comparator shit @@ -134,11 +177,11 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements this.explode(); this.tank.setFill(0); } - + if(tank.getTankType().hasTrait(FT_Corrosive.class) && tank.getTankType().getTrait(FT_Corrosive.class).isHighlyCorrosive()) { this.explode(); } - + if(this.hasExploded) { int leaking = 0; @@ -149,26 +192,50 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements } else { leaking = Math.min(tank.getFill(), tank.getMaxFill() / 10000); } - + updateLeak(leaking); } } - + tank.unloadTank(4, 5, slots); - + this.networkPackNT(150); } - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord, yCoord, zCoord, xCoord + 1, yCoord + 2.875, zCoord + 1).offset(dir.offsetX * 0.5 - rot.offsetX * 2.25, 0, dir.offsetZ * 0.5 - rot.offsetZ * 2.25)); - + for(EntityPlayer player : players) { HbmPlayerProps props = HbmPlayerProps.getData(player); props.isOnLadder = true; } } + protected FluidNode createNode(FluidType type) { + DirPos[] conPos = getConPos(); + + HashSet posSet = new HashSet<>(); + posSet.add(new BlockPos(this)); + for(DirPos pos : conPos) { + ForgeDirection dir = pos.getDir(); + posSet.add(new BlockPos(pos.getX() - dir.offsetX, pos.getY() - dir.offsetY, pos.getZ() - dir.offsetZ)); + } + + return new FluidNode(type.getNetworkProvider(), posSet.toArray(new BlockPos[posSet.size()])).setConnections(conPos); + } + + @Override + public void invalidate() { + super.invalidate(); + + if(!worldObj.isRemote) { + if(this.node != null) { + UniNodespace.destroyNode(worldObj, xCoord, yCoord, zCoord, tank.getTankType().getNetworkProvider()); + } + } + } + @Override public void serialize(ByteBuf buf) { super.serialize(buf); @@ -176,7 +243,7 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements buf.writeBoolean(hasExploded); tank.serialize(buf); } - + @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); @@ -184,39 +251,39 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements hasExploded = buf.readBoolean(); tank.deserialize(buf); } - + /** called when the tank breaks due to hazardous materials or external force, can be used to quickly void part of the tank or spawn a mushroom cloud */ public void explode() { this.hasExploded = true; this.onFire = tank.getTankType().hasTrait(FT_Flammable.class); this.markChanged(); } - + /** called every tick post explosion, used for leaking fluid and spawning particles */ public void updateLeak(int amount) { if(!hasExploded) return; if(amount <= 0) return; - + this.tank.getTankType().onFluidRelease(this, tank, amount); this.tank.setFill(Math.max(0, this.tank.getFill() - amount)); - + FluidType type = tank.getTankType(); - + if(type.hasTrait(FT_Amat.class)) { new ExplosionVNT(worldObj, xCoord + 0.5, yCoord + 1.5, zCoord + 0.5, 5F).makeAmat().setBlockAllocator(null).setBlockProcessor(null).explode(); - + } else if(type.hasTrait(FT_Flammable.class) && onFire) { List affected = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(xCoord - 1.5, yCoord, zCoord - 1.5, xCoord + 2.5, yCoord + 5, zCoord + 2.5)); for(Entity e : affected) e.setFire(5); Random rand = worldObj.rand; ParticleUtil.spawnGasFlame(worldObj, xCoord + rand.nextDouble(), yCoord + 0.5 + rand.nextDouble(), zCoord + rand.nextDouble(), rand.nextGaussian() * 0.2, 0.1, rand.nextGaussian() * 0.2); - + if(worldObj.getTotalWorldTime() % 5 == 0) { FT_Polluting.pollute(worldObj, xCoord, yCoord, zCoord, tank.getTankType(), FluidReleaseType.BURN, amount * 5); } - + } else if(type.hasTrait(FT_Gaseous.class) || type.hasTrait(FT_Gaseous_ART.class)) { - + if(worldObj.getTotalWorldTime() % 5 == 0) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "tower"); @@ -236,7 +303,7 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements @Override public void explode(World world, int x, int y, int z) { - + if(this.hasExploded) return; this.onFire = tank.getTankType().hasTrait(FT_Flammable.class); this.hasExploded = true; @@ -246,7 +313,7 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements @Override public void tryExtinguish(World world, int x, int y, int z, EnumExtinguishType type) { if(!this.hasExploded || !this.onFire) return; - + if(type == EnumExtinguishType.WATER) { if(tank.getTankType().hasTrait(FT_Liquid.class)) { // extinguishing oil with water is a terrible idea! worldObj.newExplosion(null, xCoord + 0.5, yCoord + 1.5, zCoord + 0.5, 5F, true, true); @@ -256,13 +323,13 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements return; } } - + if(type == EnumExtinguishType.FOAM || type == EnumExtinguishType.CO2) { this.onFire = false; this.markChanged(); } } - + protected DirPos[] getConPos() { return new DirPos[] { new DirPos(xCoord + 2, yCoord, zCoord - 1, Library.POS_X), @@ -275,17 +342,17 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements new DirPos(xCoord + 1, yCoord, zCoord - 2, Library.NEG_Z) }; } - + public void handleButtonPacket(int value, int meta) { mode = (short) ((mode + 1) % modes); this.markChanged(); } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 2, @@ -296,30 +363,30 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements zCoord + 3 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { return 65536.0D; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + mode = nbt.getShort("mode"); tank.readFromNBT(nbt, "tank"); hasExploded = nbt.getBoolean("exploded"); onFire = nbt.getBoolean("onFire"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setShort("mode", mode); tank.writeToNBT(nbt, "tank"); nbt.setBoolean("exploded", hasExploded); @@ -335,12 +402,8 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements @Override public long getDemand(FluidType type, int pressure) { - - if(this.mode == 2 || this.mode == 3 || this.sendingBrake) - return 0; - + if(this.mode == 2 || this.mode == 3) return 0; if(tank.getPressure() != pressure) return 0; - return type == tank.getTankType() ? tank.getMaxFill() - tank.getFill() : 0; } @@ -369,6 +432,8 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements this.onFire = data.getBoolean("onFire"); } + @Override public boolean canConnect(FluidType fluid, ForgeDirection dir) { return true; } + @Override public FluidTank[] getSendingTanks() { if(this.hasExploded) return new FluidTank[0]; @@ -377,10 +442,25 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements @Override public FluidTank[] getReceivingTanks() { - if(this.hasExploded || this.sendingBrake) return new FluidTank[0]; + if(this.hasExploded) return new FluidTank[0]; return (mode == 0 || mode == 1) ? new FluidTank[] {tank} : new FluidTank[0]; } + @Override + public ConnectionPriority getFluidPriority() { + return mode == 1 ? ConnectionPriority.LOW : ConnectionPriority.NORMAL; + } + + @Override + public int[] getFluidIDToCopy() { + return new int[] {tank.getTankType().getID()}; + } + + @Override + public FluidTank getTankToPaste() { + return tank; + } + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return new ContainerMachineFluidTank(player.inventory, (TileEntityMachineFluidTank) world.getTileEntity(x, y, z)); @@ -388,7 +468,7 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineFluidTank(player.inventory, (TileEntityMachineFluidTank) world.getTileEntity(x, y, z)); } @@ -396,14 +476,14 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements public boolean isDamaged() { return this.hasExploded; } - + List repair = new ArrayList<>(); @Override public List getRepairMaterials() { - + if(!repair.isEmpty()) return repair; - + repair.add(new OreDictStack(OreDictManager.STEEL.plate(), 6)); return repair; } @@ -458,15 +538,51 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements @Optional.Method(modid = "OpenComputers") public Object[] invoke(String method, Context context, Arguments args) throws Exception { switch (method) { - case "getFluidStored": - return getFluidStored(context, args); - case "getMaxStored": - return getMaxStored(context, args); - case "getTypeStored": - return getTypeStored(context, args); - case "getInfo": - return getInfo(context, args); + case "getFluidStored": return getFluidStored(context, args); + case "getMaxStored": return getMaxStored(context, args); + case "getTypeStored": return getTypeStored(context, args); + case "getInfo": return getInfo(context, args); } throw new NoSuchMethodException(); } + + @Override + public String[] getFunctionInfo() { + return new String[] { + PREFIX_VALUE + "type", + PREFIX_VALUE + "fill", + PREFIX_VALUE + "fillpercent", + PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode", + PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode" + PARAM_SEPARATOR + "fallback", + }; + } + + @Override + public String provideRORValue(String name) { + if((PREFIX_VALUE + "type").equals(name)) return tank.getTankType().getName(); + if((PREFIX_VALUE + "fill").equals(name)) return "" + tank.getFill(); + if((PREFIX_VALUE + "fillpercent").equals(name)) return "" + (tank.getFill() * 100 / tank.getMaxFill()); + return null; + } + + @Override + public String runRORFunction(String name, String[] params) { + + if((PREFIX_FUNCTION + "setmode").equals(name) && params.length > 0) { + int mode = IRORInteractive.parseInt(params[0], 0, 3); + + if(mode != this.mode) { + this.mode = (short) mode; + this.markChanged(); + return null; + } else if(params.length > 1) { + int altmode = IRORInteractive.parseInt(params[1], 0, 3); + this.mode = (short) altmode; + this.markChanged(); + return null; + } + return null; + } + return null; + } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMassStorage.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMassStorage.java index 6db2f555f..3d3213d2c 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMassStorage.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMassStorage.java @@ -3,12 +3,17 @@ package com.hbm.tileentity.machine.storage; import com.hbm.inventory.container.ContainerMassStorage; import com.hbm.inventory.gui.GUIMassStorage; import com.hbm.items.ModItems; +import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.tileentity.IControlReceiverFilter; -import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.util.BufferUtil; +import com.hbm.util.ItemStackUtil; + +import api.hbm.redstoneoverradio.IRORInteractive; +import api.hbm.redstoneoverradio.IRORValueProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -16,19 +21,19 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class TileEntityMassStorage extends TileEntityCrateBase implements INBTPacketReceiver, IControlReceiverFilter { - +public class TileEntityMassStorage extends TileEntityCrateBase implements IBufPacketReceiver, IControlReceiverFilter, IRORValueProvider, IRORInteractive { + private int stack = 0; public boolean output = false; private int capacity; public int redstone = 0; - + @SideOnly(Side.CLIENT) public ItemStack type; - + public TileEntityMassStorage() { super(3); } - + public TileEntityMassStorage(int capacity) { this(); this.capacity = capacity; @@ -38,83 +43,226 @@ public class TileEntityMassStorage extends TileEntityCrateBase implements INBTPa public String getInventoryName() { return "container.massStorage"; } - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + int newRed = this.getStockpile() * 15 / this.capacity; - + if(newRed != this.redstone) { this.redstone = newRed; this.markDirty(); } - + if(slots[0] != null && slots[0].getItem() == ModItems.fluid_barrel_infinite) { this.stack = this.getCapacity(); } - + if(this.getType() == null) this.stack = 0; - - if(getType() != null && getStockpile() < getCapacity() && slots[0] != null && slots[0].isItemEqual(getType()) && ItemStack.areItemStackTagsEqual(slots[0], getType())) { - + + if(canInsert(slots[0])) { + int remaining = getCapacity() - getStockpile(); int toRemove = Math.min(remaining, slots[0].stackSize); this.decrStackSize(0, toRemove); this.stack += toRemove; this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this); } - + if(output && getType() != null) { - + if(slots[2] != null && !(slots[2].isItemEqual(getType()) && ItemStack.areItemStackTagsEqual(slots[2], getType()))) { return; } - + int amount = Math.min(getStockpile(), getType().getMaxStackSize()); - + if(amount > 0) { if(slots[2] == null) { slots[2] = slots[1].copy(); slots[2].stackSize = amount; - this.stack -= amount; } else { amount = Math.min(amount, slots[2].getMaxStackSize() - slots[2].stackSize); slots[2].stackSize += amount; - this.stack -= amount; } + this.stack -= amount; } } - - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("stack", getStockpile()); - data.setBoolean("output", output); - if(slots[1] != null) slots[1].writeToNBT(data); - INBTPacketReceiver.networkPack(this, data, 15); + + networkPackNT(15); } } - @Override - public void networkUnpack(NBTTagCompound nbt) { - this.stack = nbt.getInteger("stack"); - this.output = nbt.getBoolean("output"); - this.type = ItemStack.loadItemStackFromNBT(nbt); + public boolean canInsert(ItemStack stack) { + return getType() != null && getStockpile() < getCapacity() && stack != null && stack.isItemEqual(getType()) && ItemStack.areItemStackTagsEqual(stack, getType()); } + + public boolean quickInsert(ItemStack stack) { + if (!canInsert(stack)) + return false; + + int remaining = getCapacity() - getStockpile(); + + if (remaining < stack.stackSize) + return false; + + this.stack += stack.stackSize; + stack.stackSize = 0; + this.markDirty(); + + return true; + } + + public ItemStack quickExtract() { + if (!output) { + return null; + } + + int amount = getType().getMaxStackSize(); + + if (getStockpile() < amount) + return null; + + ItemStack result = slots[1].copy(); + result.stackSize = amount; + this.stack -= amount; + this.markDirty(); + + return result; + } + + // Note: the following three methods are used for AE2 integration, and aren't meant to be called in any other context by default + public int getTotalStockpile() { + ItemStack type = getType(); + if (type == null) + return 0; + + int result = getStockpile(); + + ItemStack inStack = slots[0]; + if (inStack != null && ItemStackUtil.areStacksCompatible(type, inStack)) { + result += inStack.stackSize; + } + + ItemStack outStack = slots[2]; + if (outStack != null && ItemStackUtil.areStacksCompatible(type, outStack)) { + result += outStack.stackSize; + } + + return result; + } + + // Returns the remainder that didn't fit. + // If `actually` is false, only predicts the outcome, but doesn't change the state + public int increaseTotalStockpile(int amount, boolean actually) { + return changeTotalStockpile(amount, actually, +1); + } + + // Returns the remainder that couldn't be extracted. + // If `actually` is false, only predicts the outcome, but doesn't change the state + public int decreaseTotalStockpile(int amount, boolean actually) { + return changeTotalStockpile(amount, actually, -1); + } + + private int changeTotalStockpile(int amount, boolean actually, int sign) { + ItemStack type = getType(); + + if (type == null) + return amount; + + int stockpileAvail = sign > 0 ? getCapacity() - getStockpile() : getStockpile(); + + if (amount > 0 && stockpileAvail > 0) { + int depositStockpile = Math.min(amount, stockpileAvail); + if (actually) { + this.stack += sign * depositStockpile; + } + amount -= depositStockpile; + } + + int inputAvail = 0; + ItemStack inStack = slots[0]; + if (inStack != null && ItemStackUtil.areStacksCompatible(type, inStack)) { + inputAvail = sign > 0 ? inStack.getMaxStackSize() - inStack.stackSize : inStack.stackSize; + } else if (inStack == null) { + inputAvail = sign > 0 ? type.getMaxStackSize() : 0; + } + + if (amount > 0 && inputAvail > 0) { + int depositInput = Math.min(amount, inputAvail); + if (actually) { + if (slots[0] == null) { // Only possible with sign == +1 + slots[0] = slots[1].copy(); + slots[0].stackSize = 0; + } + slots[0].stackSize += sign * depositInput; + if (slots[0].stackSize == 0) { + slots[0] = null; + } + } + amount -= depositInput; + } + + int outputAvail = 0; + ItemStack outStack = slots[2]; + if (outStack != null && ItemStackUtil.areStacksCompatible(type, outStack)) { + outputAvail = sign > 0 ? outStack.getMaxStackSize() - outStack.stackSize : outStack.stackSize; + } else if (outStack == null) { + outputAvail = sign > 0 ? type.getMaxStackSize() : 0; + } + + if (amount > 0 && outputAvail > 0) { + int depositOutput = Math.min(amount, outputAvail); + if (actually) { + if (slots[2] == null) { // Only possible with sign == +1 + slots[2] = slots[1].copy(); + slots[2].stackSize = 0; + } + slots[2].stackSize += sign * depositOutput; + if (slots[2].stackSize == 0) { + slots[2] = null; + } + } + amount -= depositOutput; + } + + if (actually) { + this.markDirty(); + } + + return amount; + } + + @Override + public void serialize(ByteBuf buf) { + buf.writeInt(this.stack); + buf.writeBoolean(this.output); + BufferUtil.writeItemStack(buf, this.slots[1]); + } + + @Override + public void deserialize(ByteBuf buf) { + this.stack = buf.readInt(); + this.output = buf.readBoolean(); + this.type = BufferUtil.readItemStack(buf); + } + public int getCapacity() { return capacity; } - + public ItemStack getType() { return slots[1] == null ? null : slots[1].copy(); } - + public int getStockpile() { return stack; } - + public void setStockpile(int stack) { this.stack = stack; } @@ -126,12 +274,12 @@ public class TileEntityMassStorage extends TileEntityCrateBase implements INBTPa @Override public void openInventory() { - this.worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:block.storageOpen", 1.0F, 1.0F); + this.worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:block.storageOpen", 0.5F, 1.0F); } @Override public void closeInventory() { - this.worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:block.storageClose", 1.0F, 1.0F); + this.worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:block.storageClose", 0.5F, 1.0F); } @Override @@ -141,7 +289,7 @@ public class TileEntityMassStorage extends TileEntityCrateBase implements INBTPa this.output = nbt.getBoolean("output"); this.capacity = nbt.getInteger("capacity"); this.redstone = nbt.getByte("redstone"); - + if(this.capacity <= 0) { this.capacity = 10_000; } @@ -163,35 +311,35 @@ public class TileEntityMassStorage extends TileEntityCrateBase implements INBTPa @Override public void receiveControl(NBTTagCompound data) { - + if(data.hasKey("provide") && slots[1] != null) { - + if(this.getStockpile() == 0) { return; } - + int amount = data.getBoolean("provide") ? slots[1].getMaxStackSize() : 1; amount = Math.min(amount, getStockpile()); - + if(slots[2] != null && !(slots[2].isItemEqual(getType()) && ItemStack.areItemStackTagsEqual(slots[2], getType()))) { return; } - + if(slots[2] == null) { slots[2] = slots[1].copy(); slots[2].stackSize = amount; - this.stack -= amount; } else { amount = Math.min(amount, slots[2].getMaxStackSize() - slots[2].stackSize); slots[2].stackSize += amount; - this.stack -= amount; } + this.stack -= amount; } - + if(data.hasKey("toggle")) { this.output = !output; } - if(data.hasKey("slot")){ + + if(data.hasKey("slot") && this.getStockpile() <= 0){ setFilterContents(data); } } @@ -218,7 +366,44 @@ public class TileEntityMassStorage extends TileEntityCrateBase implements INBTPa @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMassStorage(player.inventory, this); } + + @Override + public int[] getFilterSlots() { + return new int[]{1,2}; + } + + @Override + public String[] getFunctionInfo() { + return new String[] { + PREFIX_VALUE + "type", + PREFIX_VALUE + "fill", + PREFIX_VALUE + "fillpercent", + PREFIX_FUNCTION + "toggleoutput", + }; + } + + @Override + public String provideRORValue(String name) { + if((PREFIX_VALUE + "fill").equals(name)) return "" + this.stack; + if((PREFIX_VALUE + "fillpercent").equals(name)) return "" + this.stack * 100 / this.capacity; + if((PREFIX_VALUE + "type").equals(name)) { + if(slots[1] == null) return "None"; + return slots[1].getDisplayName(); + } + return null; + } + + @Override + public String runRORFunction(String name, String[] params) { + + if((PREFIX_FUNCTION + "toggleoutput").equals(name)) { + this.output = !this.output; + this.markDirty(); + } + + return null; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntitySafe.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntitySafe.java index f9197b479..95f4c63cd 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntitySafe.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntitySafe.java @@ -5,7 +5,6 @@ import com.hbm.inventory.gui.GUISafe; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; @@ -29,7 +28,7 @@ public class TileEntitySafe extends TileEntityCrateBase implements ISidedInvento @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUISafe(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntitySoyuzCapsule.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntitySoyuzCapsule.java index f4d785a7d..2d024986c 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntitySoyuzCapsule.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntitySoyuzCapsule.java @@ -7,7 +7,6 @@ import com.hbm.tileentity.TileEntityInventoryBase; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.util.AxisAlignedBB; @@ -37,7 +36,7 @@ public class TileEntitySoyuzCapsule extends TileEntityInventoryBase implements I @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUISoyuzCapsule(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/network/RTTYSystem.java b/src/main/java/com/hbm/tileentity/network/RTTYSystem.java index efd38aaf1..ff6f286f5 100644 --- a/src/main/java/com/hbm/tileentity/network/RTTYSystem.java +++ b/src/main/java/com/hbm/tileentity/network/RTTYSystem.java @@ -3,6 +3,9 @@ package com.hbm.tileentity.network; import java.util.HashMap; import java.util.Map.Entry; +import org.apache.commons.lang3.math.NumberUtils; + +import com.hbm.interfaces.NotableComments; import com.hbm.util.NoteBuilder; import com.hbm.util.NoteBuilder.Instrument; import com.hbm.util.NoteBuilder.Note; @@ -22,6 +25,19 @@ public class RTTYSystem { /** Pushes a new signal to be used next tick. Only the last signal pushed will be used. */ public static void broadcast(World world, String channelName, Object signal) { Pair identifier = new Pair(world, channelName); + + if(NumberUtils.isNumber("" + signal) && newMessages.containsKey(identifier)) { + Object existing = newMessages.get(identifier); + if(NumberUtils.isNumber("" + existing)) { + try { + int first = Integer.parseInt("" + signal); + int second = Integer.parseInt("" + existing); + newMessages.put(identifier, "" + (first + second)); + return; + } catch(Exception ex) { } + } + } + newMessages.put(identifier, signal); } @@ -57,6 +73,7 @@ public class RTTYSystem { newMessages.clear(); } + @NotableComments public static class RTTYChannel { public long timeStamp = -1; //the totalWorldTime at the time of publishing, happens in the server tick event's PRE-phase. the publishing timestamp is that same number minus one public Object signal; // a signal can be anything, a number, an encoded string, an entire blue whale, Steve from accounting, the concept of death, 7492 hot dogs, etc. diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCableBaseNT.java b/src/main/java/com/hbm/tileentity/network/TileEntityCableBaseNT.java index 8afaeb73c..731ab38bb 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCableBaseNT.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCableBaseNT.java @@ -3,23 +3,23 @@ package com.hbm.tileentity.network; import api.hbm.energymk2.IEnergyConductorMK2; import api.hbm.energymk2.Nodespace; import api.hbm.energymk2.Nodespace.PowerNode; -import net.minecraft.tileentity.TileEntity; +import com.hbm.tileentity.TileEntityLoadedBase; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCableBaseNT extends TileEntity implements IEnergyConductorMK2 { - +public class TileEntityCableBaseNT extends TileEntityLoadedBase implements IEnergyConductorMK2 { + protected PowerNode node; @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + if(this.node == null || this.node.expired) { - + if(this.shouldCreateNode()) { this.node = Nodespace.getNode(worldObj, xCoord, yCoord, zCoord); - + if(this.node == null || this.node.expired) { this.node = this.createNode(); Nodespace.createNode(worldObj, this.node); @@ -28,19 +28,15 @@ public class TileEntityCableBaseNT extends TileEntity implements IEnergyConducto } } } - + public boolean shouldCreateNode() { return true; } - - public void onNodeDestroyedCallback() { - this.node = null; - } @Override public void invalidate() { super.invalidate(); - + if(!worldObj.isRemote) { if(this.node != null) { Nodespace.destroyNode(worldObj, xCoord, yCoord, zCoord); diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCableSwitch.java b/src/main/java/com/hbm/tileentity/network/TileEntityCableSwitch.java index acdffcd99..1dbcebec8 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCableSwitch.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCableSwitch.java @@ -3,11 +3,6 @@ package com.hbm.tileentity.network; import api.hbm.energymk2.Nodespace; public class TileEntityCableSwitch extends TileEntityCableBaseNT { - - @Override - public boolean canUpdate() { - return super.canUpdate(); - } public void updateState() { diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCraneBase.java b/src/main/java/com/hbm/tileentity/network/TileEntityCraneBase.java index 2158d0fe7..ef464547d 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCraneBase.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCraneBase.java @@ -1,14 +1,21 @@ package com.hbm.tileentity.network; +import com.hbm.interfaces.ICopiable; +import com.hbm.tileentity.IControlReceiverFilter; import com.hbm.tileentity.TileEntityMachineBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; +import net.minecraft.world.World; import net.minecraftforge.common.util.Constants; import net.minecraftforge.common.util.ForgeDirection; -public abstract class TileEntityCraneBase extends TileEntityMachineBase { +public abstract class TileEntityCraneBase extends TileEntityMachineBase implements ICopiable { public TileEntityCraneBase(int scount) { super(scount); @@ -101,4 +108,75 @@ public abstract class TileEntityCraneBase extends TileEntityMachineBase { super.writeToNBT(nbt); nbt.setByte("CraneOutputOverride", (byte) outputOverride.ordinal()); } + + @Override + public NBTTagCompound getSettings(World world, int x, int y, int z) { + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setInteger("inputSide", getInputSide().ordinal()); + nbt.setInteger("outputSide", getOutputSide().ordinal()); + + if(this instanceof IControlReceiverFilter){ + IControlReceiverFilter filter = ((IControlReceiverFilter) this); + IInventory inv = this; + NBTTagList tags = new NBTTagList(); + int count = 0; + + for (int i = filter.getFilterSlots()[0]; i < filter.getFilterSlots()[1]; i++) { + NBTTagCompound slotNBT = new NBTTagCompound(); + if(inv.getStackInSlot(i) != null) { + slotNBT.setByte("slot", (byte) count); + inv.getStackInSlot(i).writeToNBT(slotNBT); + tags.appendTag(slotNBT); + } + count++; + } + nbt.setTag("items", tags); + } + + return nbt; + } + + @Override + public void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + if(index == 1) { + if (nbt.hasKey("outputSide")) { + outputOverride = ForgeDirection.getOrientation(nbt.getInteger("outputSide")); + onBlockChanged(); + } + if (nbt.hasKey("inputSide")) { + worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, nbt.getInteger("inputSide"), 3); + } + } else { + if (this instanceof IControlReceiverFilter) { + IControlReceiverFilter filter = ((IControlReceiverFilter) this); + IInventory inv = this; + + NBTTagList items = nbt.getTagList("items", 10); + int listSize = items.tagCount(); + if (listSize > 0) { + int count = 0; + for (int i = filter.getFilterSlots()[0]; i < filter.getFilterSlots()[1]; i++) { + if (i < listSize) { + NBTTagCompound slotNBT = items.getCompoundTagAt(count); + byte slot = slotNBT.getByte("slot"); + ItemStack loadedStack = ItemStack.loadItemStackFromNBT(slotNBT); + //whether the filter info came from a router + boolean router = nbt.hasKey("modes") && slot > index * 5 && slot < index * + 5; + if (loadedStack != null && (slot < filter.getFilterSlots()[1] || router)) { + inv.setInventorySlotContents(slot + filter.getFilterSlots()[0], ItemStack.loadItemStackFromNBT(slotNBT)); + filter.nextMode(slot); + this.getWorldObj().markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this); + } + } + count++; + } + } + } + } + } + + @Override + public String[] infoForDisplay(World world, int x, int y, int z) { + return new String[]{"copytool.filter", "copytool.orientation"}; + } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCraneBoxer.java b/src/main/java/com/hbm/tileentity/network/TileEntityCraneBoxer.java index a634dcc79..01a312685 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCraneBoxer.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCraneBoxer.java @@ -8,8 +8,8 @@ import com.hbm.inventory.gui.GUICraneBoxer; import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -143,17 +143,21 @@ public class TileEntityCraneBoxer extends TileEntityCraneBase implements IGUIPro worldObj.spawnEntityInWorld(moving); } } - - NBTTagCompound data = new NBTTagCompound(); - data.setByte("mode", mode); - this.networkPack(data, 15); + + this.networkPackNT(15); } } - - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.mode = nbt.getByte("mode"); + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeByte(this.mode); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.mode = buf.readByte(); } @Override @@ -187,7 +191,7 @@ public class TileEntityCraneBoxer extends TileEntityCraneBase implements IGUIPro @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICraneBoxer(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCraneExtractor.java b/src/main/java/com/hbm/tileentity/network/TileEntityCraneExtractor.java index 628b3946c..804c42321 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCraneExtractor.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCraneExtractor.java @@ -1,19 +1,21 @@ package com.hbm.tileentity.network; import api.hbm.conveyor.IConveyorBelt; +import api.hbm.conveyor.IEnterableBlock; + import com.hbm.entity.item.EntityMovingItem; -import com.hbm.interfaces.IControlReceiver; import com.hbm.inventory.container.ContainerCraneExtractor; import com.hbm.inventory.gui.GUICraneExtractor; import com.hbm.items.ModItems; import com.hbm.module.ModulePatternMatcher; import com.hbm.tileentity.IControlReceiverFilter; import com.hbm.tileentity.IGUIProvider; +import com.hbm.util.InventoryUtil; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; @@ -26,7 +28,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCraneExtractor extends TileEntityCraneBase implements IGUIProvider, IControlReceiver, IControlReceiverFilter { +public class TileEntityCraneExtractor extends TileEntityCraneBase implements IGUIProvider, IControlReceiverFilter { public boolean isWhitelist = false; public ModulePatternMatcher matcher; @@ -94,64 +96,62 @@ public class TileEntityCraneExtractor extends TileEntityCraneBase implements IGU } boolean hasSent = false; + + IConveyorBelt belt = null; if(b instanceof IConveyorBelt) { + belt = (IConveyorBelt) b; + } - IConveyorBelt belt = (IConveyorBelt) b; + /* try to send items from a connected inv, if present */ + if(te instanceof IInventory) { - /* try to send items from a connected inv, if present */ - if(te instanceof IInventory) { + IInventory inv = (IInventory) te; + int size = access == null ? inv.getSizeInventory() : access.length; + + for(int i = 0; i < size; i++) { + int index = access == null ? i : access[i]; + ItemStack stack = inv.getStackInSlot(index); - IInventory inv = (IInventory) te; - int size = access == null ? inv.getSizeInventory() : access.length; - - for(int i = 0; i < size; i++) { - int index = access == null ? i : access[i]; - ItemStack stack = inv.getStackInSlot(index); + if(stack != null && (sided == null || sided.canExtractItem(index, stack, inputSide.getOpposite().ordinal()))){ - if(stack != null && (sided == null || sided.canExtractItem(index, stack, inputSide.getOpposite().ordinal()))){ + boolean match = this.matchesFilter(stack); + + if((isWhitelist && match) || (!isWhitelist && !match)) { + stack = stack.copy(); + int toSend = Math.min(amount, stack.stackSize); - boolean match = this.matchesFilter(stack); - - if((isWhitelist && match) || (!isWhitelist && !match)) { - stack = stack.copy(); - int toSend = Math.min(amount, stack.stackSize); + if (belt != null) { inv.decrStackSize(index, toSend); stack.stackSize = toSend; - - EntityMovingItem moving = new EntityMovingItem(worldObj); - Vec3 pos = Vec3.createVectorHelper(xCoord + 0.5 + outputSide.offsetX * 0.55, yCoord + 0.5 + outputSide.offsetY * 0.55, zCoord + 0.5 + outputSide.offsetZ * 0.55); - Vec3 snap = belt.getClosestSnappingPosition(worldObj, xCoord + outputSide.offsetX, yCoord + outputSide.offsetY, zCoord + outputSide.offsetZ, pos); - moving.setPosition(snap.xCoord, snap.yCoord, snap.zCoord); - moving.setItemStack(stack); - worldObj.spawnEntityInWorld(moving); - hasSent = true; - break; + sendItem(stack, belt, outputSide); + } else { + stack.stackSize = toSend; + ItemStack remaining = InventoryUtil.tryAddItemToInventory(this.slots, 9, 17, stack); + inv.decrStackSize(index, toSend - (remaining == null ? 0 : remaining.stackSize)); } + hasSent = true; + break; } } } + } + + /* if no item has been sent, send buffered items while ignoring the filter */ + if(!hasSent && belt != null) { - /* if no item has been sent, send buffered items while ignoring the filter */ - if(!hasSent) { + for(int i = 9; i < 18; i++) { + ItemStack stack = slots[i]; - for(int i = 9; i < 18; i++) { - ItemStack stack = slots[i]; - - if(stack != null){ - stack = stack.copy(); - int toSend = Math.min(amount, stack.stackSize); - decrStackSize(i, toSend); - stack.stackSize = toSend; - - EntityMovingItem moving = new EntityMovingItem(worldObj); - Vec3 pos = Vec3.createVectorHelper(xCoord + 0.5 + outputSide.offsetX * 0.55, yCoord + 0.5 + outputSide.offsetY * 0.55, zCoord + 0.5 + outputSide.offsetZ * 0.55); - Vec3 snap = belt.getClosestSnappingPosition(worldObj, xCoord + outputSide.offsetX, yCoord + outputSide.offsetY, zCoord + outputSide.offsetZ, pos); - moving.setPosition(snap.xCoord, snap.yCoord, snap.zCoord); - moving.setItemStack(stack); - worldObj.spawnEntityInWorld(moving); - break; - } + if(stack != null){ + stack = stack.copy(); + int toSend = Math.min(amount, stack.stackSize); + + decrStackSize(i, toSend); + stack.stackSize = toSend; + sendItem(stack, belt, outputSide); + + break; } } } @@ -161,6 +161,24 @@ public class TileEntityCraneExtractor extends TileEntityCraneBase implements IGU } } + private void sendItem(ItemStack stack, IConveyorBelt belt, ForgeDirection outputSide) { + EntityMovingItem moving = new EntityMovingItem(worldObj); + Vec3 pos = Vec3.createVectorHelper(xCoord + 0.5 + outputSide.offsetX * 0.55, yCoord + 0.5 + outputSide.offsetY * 0.55, zCoord + 0.5 + outputSide.offsetZ * 0.55); + Vec3 snap = belt.getClosestSnappingPosition(worldObj, xCoord + outputSide.offsetX, yCoord + outputSide.offsetY, zCoord + outputSide.offsetZ, pos); + moving.setPosition(snap.xCoord, snap.yCoord, snap.zCoord); + moving.setItemStack(stack); + worldObj.spawnEntityInWorld(moving); + + if (belt instanceof IEnterableBlock) { + IEnterableBlock enterable = (IEnterableBlock) belt; + + if(enterable.canItemEnter(worldObj, xCoord + outputSide.offsetX, yCoord + outputSide.offsetY, zCoord + outputSide.offsetZ, outputSide.getOpposite(), moving)) { + enterable.onItemEnter(worldObj, xCoord + outputSide.offsetX, yCoord + outputSide.offsetY, zCoord + outputSide.offsetZ, outputSide.getOpposite(), moving); + moving.setDead(); + } + } + } + @Override public void serialize(ByteBuf buf) { super.serialize(buf); @@ -224,7 +242,7 @@ public class TileEntityCraneExtractor extends TileEntityCraneBase implements IGU @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICraneExtractor(player.inventory, this); } @@ -256,4 +274,10 @@ public class TileEntityCraneExtractor extends TileEntityCraneBase implements IGU setFilterContents(data); } } + + @Override + public int[] getFilterSlots() { + return new int[]{0,9}; + } } + diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCraneGrabber.java b/src/main/java/com/hbm/tileentity/network/TileEntityCraneGrabber.java index 26ed150ea..61d9df4de 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCraneGrabber.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCraneGrabber.java @@ -1,5 +1,6 @@ package com.hbm.tileentity.network; +import api.hbm.conveyor.IConveyorBelt; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.network.CraneInserter; import com.hbm.entity.item.EntityMovingItem; @@ -13,8 +14,8 @@ import com.hbm.util.InventoryUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; @@ -33,6 +34,7 @@ public class TileEntityCraneGrabber extends TileEntityCraneBase implements IGUIP public boolean isWhitelist = false; public ModulePatternMatcher matcher; + public long lastGrabbedTick = 0; public TileEntityCraneGrabber() { super(11); @@ -53,9 +55,9 @@ public class TileEntityCraneGrabber extends TileEntityCraneBase implements IGUIP public void updateEntity() { super.updateEntity(); if(!worldObj.isRemote) { - + int delay = 20; - + if(slots[10] != null && slots[10].getItem() == ModItems.upgrade_ejector) { switch(slots[10].getItemDamage()) { case 0: delay = 10; break; @@ -63,10 +65,10 @@ public class TileEntityCraneGrabber extends TileEntityCraneBase implements IGUIP case 2: delay = 2; break; } } - - if(worldObj.getTotalWorldTime() % delay == 0 && !this.worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord)) { + + if(worldObj.getTotalWorldTime() >= lastGrabbedTick + delay && !this.worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord)) { int amount = 1; - + if(slots[9] != null && slots[9].getItem() == ModItems.upgrade_stack) { switch(slots[9].getItemDamage()) { case 0: amount = 4; break; @@ -74,27 +76,15 @@ public class TileEntityCraneGrabber extends TileEntityCraneBase implements IGUIP case 2: amount = 64; break; } } - + ForgeDirection inputSide = getInputSide(); ForgeDirection outputSide = getOutputSide(); - TileEntity te = worldObj.getTileEntity(xCoord + outputSide.offsetX, yCoord + outputSide.offsetY, zCoord + outputSide.offsetZ); - - int[] access = null; - ISidedInventory sided = null; - - if(te instanceof ISidedInventory) { - sided = (ISidedInventory) te; - access = InventoryUtil.masquerade(sided, outputSide.getOpposite().ordinal()); - } - - if(te instanceof IInventory) { - - /* - * due to this really primitive way of just offsetting the AABB instead of contracting it, there's a wacky - * edge-case where it's possible to feed the grabber by inserting items from the side if there's a triple - * lane conveyor in front of the grabbing end. this is such a non-issue that i'm not going to bother trying - * to fuck with the AABB further, since that's just a major headache for no practical benefit - */ + Block beltBlock = worldObj.getBlock(xCoord + outputSide.offsetX, yCoord + outputSide.offsetY, zCoord + outputSide.offsetZ); + + //unholy copy paste bullshit because i can't be assed to rework the entire thing + if(beltBlock instanceof IConveyorBelt) { + IConveyorBelt belt = (IConveyorBelt) beltBlock; + double reach = 1D; if(this.getBlockMetadata() > 1) { //ignore if pointing up or down Block b = worldObj.getBlock(xCoord + inputSide.offsetX, yCoord + inputSide.offsetY, zCoord + inputSide.offsetZ); @@ -105,58 +95,109 @@ public class TileEntityCraneGrabber extends TileEntityCraneBase implements IGUIP double x = xCoord + inputSide.offsetX * reach; double y = yCoord + inputSide.offsetY * reach; double z = zCoord + inputSide.offsetZ * reach; + List items = worldObj.getEntitiesWithinAABB(EntityMovingItem.class, AxisAlignedBB.getBoundingBox(x + 0.1875D, y + 0.1875D, z + 0.1875D, x + 0.8125D, y + 0.8125D, z + 0.8125D)); - + for(EntityMovingItem item : items) { ItemStack stack = item.getItemStack(); boolean match = this.matchesFilter(stack); if(this.isWhitelist && !match || !this.isWhitelist && match) continue; - - ItemStack copy = stack.copy(); - int toAdd = Math.min(stack.stackSize, amount); - copy.stackSize = toAdd; - ItemStack ret = CraneInserter.addToInventory((IInventory) te, access, copy, outputSide.getOpposite().ordinal()); - int didAdd = toAdd - (ret != null ? ret.stackSize : 0); - stack.stackSize -= didAdd; - - if(stack.stackSize <= 0) { - item.setDead(); + + lastGrabbedTick = worldObj.getTotalWorldTime(); + + Vec3 pos = Vec3.createVectorHelper(xCoord + 0.5 + outputSide.offsetX * 0.55, yCoord + 0.5 + outputSide.offsetY * 0.55, zCoord + 0.5 + outputSide.offsetZ * 0.55); + Vec3 snap = belt.getClosestSnappingPosition(worldObj, xCoord + outputSide.offsetX, yCoord + outputSide.offsetY, zCoord + outputSide.offsetZ, pos); + item.setPosition(snap.xCoord, snap.yCoord, snap.zCoord); + break; + } + + } else { + + TileEntity te = worldObj.getTileEntity(xCoord + outputSide.offsetX, yCoord + outputSide.offsetY, zCoord + outputSide.offsetZ); + + int[] access = null; + ISidedInventory sided = null; + + if(te instanceof ISidedInventory) { + sided = (ISidedInventory) te; + access = InventoryUtil.masquerade(sided, outputSide.getOpposite().ordinal()); + } + + if(te instanceof IInventory) { + + /* + * due to this really primitive way of just offsetting the AABB instead of contracting it, there's a wacky + * edge-case where it's possible to feed the grabber by inserting items from the side if there's a triple + * lane conveyor in front of the grabbing end. this is such a non-issue that i'm not going to bother trying + * to fuck with the AABB further, since that's just a major headache for no practical benefit + */ + double reach = 1D; + if(this.getBlockMetadata() > 1) { //ignore if pointing up or down + Block b = worldObj.getBlock(xCoord + inputSide.offsetX, yCoord + inputSide.offsetY, zCoord + inputSide.offsetZ); + if(b == ModBlocks.conveyor_double) reach = 0.5D; + if(b == ModBlocks.conveyor_triple) reach = 0.33D; } - - amount -= didAdd; - if(amount <= 0) { - break; + + double x = xCoord + inputSide.offsetX * reach; + double y = yCoord + inputSide.offsetY * reach; + double z = zCoord + inputSide.offsetZ * reach; + List items = worldObj.getEntitiesWithinAABB(EntityMovingItem.class, AxisAlignedBB.getBoundingBox(x + 0.1875D, y + 0.1875D, z + 0.1875D, x + 0.8125D, y + 0.8125D, z + 0.8125D)); + + for(EntityMovingItem item : items) { + ItemStack stack = item.getItemStack(); + boolean match = this.matchesFilter(stack); + if(this.isWhitelist && !match || !this.isWhitelist && match) continue; + + lastGrabbedTick = worldObj.getTotalWorldTime(); + + ItemStack copy = stack.copy(); + int toAdd = Math.min(stack.stackSize, amount); + copy.stackSize = toAdd; + ItemStack ret = CraneInserter.addToInventory((IInventory) te, access, copy, outputSide.getOpposite().ordinal()); + int didAdd = toAdd - (ret != null ? ret.stackSize : 0); + stack.stackSize -= didAdd; + + if(stack.stackSize <= 0) { + item.setDead(); + } + + amount -= didAdd; + if(amount <= 0) { + break; + } } } } } - - - NBTTagCompound data = new NBTTagCompound(); - data.setBoolean("isWhitelist", isWhitelist); - this.matcher.writeToNBT(data); - this.networkPack(data, 15); + + this.networkPackNT(15); } } - - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.isWhitelist = nbt.getBoolean("isWhitelist"); - this.matcher.modes = new String[this.matcher.modes.length]; - this.matcher.readFromNBT(nbt); + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeBoolean(this.isWhitelist); + this.matcher.serialize(buf); } - + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.isWhitelist = buf.readBoolean(); + this.matcher.deserialize(buf); + } + public boolean matchesFilter(ItemStack stack) { - + for(int i = 0; i < 9; i++) { ItemStack filter = slots[i]; - + if(filter != null && this.matcher.isValidForFilter(filter, i, stack)) { return true; } } - + return false; } @@ -167,22 +208,24 @@ public class TileEntityCraneGrabber extends TileEntityCraneBase implements IGUIP @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICraneGrabber(player.inventory, this); } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); this.isWhitelist = nbt.getBoolean("isWhitelist"); this.matcher.readFromNBT(nbt); + this.lastGrabbedTick = nbt.getLong("lastGrabbedTick"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setBoolean("isWhitelist", this.isWhitelist); this.matcher.writeToNBT(nbt); + nbt.setLong("lastGrabbedTick", lastGrabbedTick); } @Override @@ -190,6 +233,11 @@ public class TileEntityCraneGrabber extends TileEntityCraneBase implements IGUIP return Vec3.createVectorHelper(xCoord - player.posX, yCoord - player.posY, zCoord - player.posZ).lengthVector() < 20; } + @Override + public int[] getFilterSlots() { + return new int[]{0,9}; + } + @Override public void receiveControl(NBTTagCompound data) { if(data.hasKey("whitelist")) { diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCraneInserter.java b/src/main/java/com/hbm/tileentity/network/TileEntityCraneInserter.java index b98985bc2..3d55bf30f 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCraneInserter.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCraneInserter.java @@ -1,6 +1,7 @@ package com.hbm.tileentity.network; import com.hbm.blocks.network.CraneInserter; +import com.hbm.interfaces.IControlReceiver; import com.hbm.inventory.container.ContainerCraneInserter; import com.hbm.inventory.gui.GUICraneInserter; import com.hbm.tileentity.IGUIProvider; @@ -8,18 +9,21 @@ import com.hbm.util.InventoryUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCraneInserter extends TileEntityCraneBase implements IGUIProvider { +public class TileEntityCraneInserter extends TileEntityCraneBase implements IGUIProvider, IControlReceiver { + public boolean destroyer = true; public static final int[] access = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 }; public TileEntityCraneInserter() { @@ -36,55 +40,70 @@ public class TileEntityCraneInserter extends TileEntityCraneBase implements IGUI super.updateEntity(); if(!worldObj.isRemote) { - ForgeDirection outputSide = getOutputSide(); - TileEntity te = worldObj.getTileEntity(xCoord + outputSide.offsetX, yCoord + outputSide.offsetY, zCoord + outputSide.offsetZ); - - int[] access = null; - - if(te instanceof ISidedInventory) { - ISidedInventory sided = (ISidedInventory) te; - //access = sided.getAccessibleSlotsFromSide(dir.ordinal()); - access = InventoryUtil.masquerade(sided, outputSide.getOpposite().ordinal()); - } - - if(te instanceof IInventory) { - for(int i = 0; i < slots.length; i++) { - - ItemStack stack = slots[i]; - - if(stack != null) { - ItemStack ret = CraneInserter.addToInventory((IInventory) te, access, stack.copy(), outputSide.getOpposite().ordinal()); - - if(ret == null || ret.stackSize != stack.stackSize) { - slots[i] = ret; - this.markDirty(); - return; - } - } + if (!this.worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord)) {ForgeDirection outputSide = getOutputSide(); + TileEntity te = worldObj.getTileEntity(xCoord + outputSide.offsetX, yCoord + outputSide.offsetY, zCoord + outputSide.offsetZ); + + int[] access = null; + + if(te instanceof ISidedInventory) { + ISidedInventory sided = (ISidedInventory) te; + //access = sided.getAccessibleSlotsFromSide(dir.ordinal()); + access = InventoryUtil.masquerade(sided, outputSide.getOpposite().ordinal()); } - //if the previous operation fails, repeat but use single items instead of the whole stack instead - //this should fix cases where the inserter can't insert into something that has a stack size limitation - for(int i = 0; i < slots.length; i++) { - - ItemStack stack = slots[i]; - - if(stack != null) { - stack = stack.copy(); - stack.stackSize = 1; - ItemStack ret = CraneInserter.addToInventory((IInventory) te, access, stack.copy(), outputSide.getOpposite().ordinal()); + if(te instanceof IInventory) { + for(int i = 0; i < slots.length; i++) { - if(ret == null || ret.stackSize != stack.stackSize) { - this.decrStackSize(i, 1); - this.markDirty(); - return; + ItemStack stack = slots[i]; + + if(stack != null) { + ItemStack ret = CraneInserter.addToInventory((IInventory) te, access, stack.copy(), outputSide.getOpposite().ordinal()); + + if(ret == null || ret.stackSize != stack.stackSize) { + slots[i] = ret; + this.markDirty(); + return; + } + } + } + + //if the previous operation fails, repeat but use single items instead of the whole stack instead + //this should fix cases where the inserter can't insert into something that has a stack size limitation + for(int i = 0; i < slots.length; i++) { + + ItemStack stack = slots[i]; + + if(stack != null) { + stack = stack.copy(); + stack.stackSize = 1; + ItemStack ret = CraneInserter.addToInventory((IInventory) te, access, stack.copy(), outputSide.getOpposite().ordinal()); + + if(ret == null || ret.stackSize != stack.stackSize) { + this.decrStackSize(i, 1); + this.markDirty(); + return; + } } } } } + + this.networkPackNT(15); } } + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeBoolean(destroyer); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + destroyer = buf.readBoolean(); + } + @Override public int[] getAccessibleSlotsFromSide(int side) { return access; @@ -107,7 +126,29 @@ public class TileEntityCraneInserter extends TileEntityCraneBase implements IGUI @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICraneInserter(player.inventory, this); } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.destroyer = nbt.getBoolean("destroyer"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setBoolean("destroyer", this.destroyer); + } + + @Override + public boolean hasPermission(EntityPlayer player) { + return Vec3.createVectorHelper(xCoord - player.posX, yCoord - player.posY, zCoord - player.posZ).lengthVector() < 20; + } + + @Override + public void receiveControl(NBTTagCompound data) { + if(data.hasKey("destroyer")) this.destroyer = !this.destroyer; + } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCraneRouter.java b/src/main/java/com/hbm/tileentity/network/TileEntityCraneRouter.java index 6568f113b..45f8dc05d 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCraneRouter.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCraneRouter.java @@ -7,13 +7,16 @@ import com.hbm.tileentity.IControlReceiverFilter; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.BufferUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; +import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -44,26 +47,28 @@ public class TileEntityCraneRouter extends TileEntityMachineBase implements IGUI if(!worldObj.isRemote) { - NBTTagCompound data = new NBTTagCompound(); - for(int i = 0; i < patterns.length; i++) { - NBTTagCompound compound = new NBTTagCompound(); - patterns[i].writeToNBT(compound); - data.setTag("pattern" + i, compound); - } - data.setIntArray("modes", this.modes); - this.networkPack(data, 15); + this.networkPackNT(15); } } - + @Override - public void networkUnpack(NBTTagCompound data) { - super.networkUnpack(data); - - for(int i = 0; i < patterns.length; i++) { - NBTTagCompound compound = data.getCompoundTag("pattern" + i); - patterns[i].readFromNBT(compound); + public void serialize(ByteBuf buf) { + super.serialize(buf); + for (ModulePatternMatcher pattern : patterns) { + pattern.serialize(buf); } - this.modes = data.getIntArray("modes"); + + BufferUtil.writeIntArray(buf, this.modes); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + for (ModulePatternMatcher pattern : patterns) { + pattern.deserialize(buf); + } + + this.modes = BufferUtil.readIntArray(buf); } @Override @@ -73,9 +78,10 @@ public class TileEntityCraneRouter extends TileEntityMachineBase implements IGUI @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICraneRouter(player.inventory, this); } + @Override public void nextMode(int index) { @@ -120,7 +126,12 @@ public class TileEntityCraneRouter extends TileEntityMachineBase implements IGUI public boolean hasPermission(EntityPlayer player) { return Vec3.createVectorHelper(xCoord - player.posX, yCoord - player.posY, zCoord - player.posZ).lengthVector() < 20; } - + + @Override + public int[] getFilterSlots() { + return new int[]{0, slots.length}; + } + @Override public void receiveControl(NBTTagCompound data) { if(data.hasKey("toggle")) { @@ -133,4 +144,60 @@ public class TileEntityCraneRouter extends TileEntityMachineBase implements IGUI setFilterContents(data); } } + + @Override + public NBTTagCompound getSettings(World world, int x, int y, int z) { + IInventory inv = (IInventory) this; + NBTTagCompound nbt = new NBTTagCompound(); + NBTTagList tags = new NBTTagList(); + + int count = 0; + for (int i = getFilterSlots()[0]; i < getFilterSlots()[1]; i++) { + NBTTagCompound slotNBT = new NBTTagCompound(); + if (inv.getStackInSlot(i) != null) { + slotNBT.setByte("slot", (byte) count); + inv.getStackInSlot(i).writeToNBT(slotNBT); + tags.appendTag(slotNBT); + } + count++; + } + + nbt.setTag("items", tags); + nbt.setIntArray("modes", modes); + + return nbt; + } + + @Override + public void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + + NBTTagList items = nbt.getTagList("items", 10); + int listSize = items.tagCount(); + + if(listSize > 0 && nbt.hasKey("modes")) { + for (int i = 0; i < listSize; i++) { + NBTTagCompound slotNBT = items.getCompoundTagAt(i); + byte slot = slotNBT.getByte("slot"); + ItemStack loadedStack = ItemStack.loadItemStackFromNBT(slotNBT); + + if (loadedStack != null && slot > index * 5 && slot < Math.min(index * 5 + 5, 30)) { + this.setInventorySlotContents(slot, ItemStack.loadItemStackFromNBT(slotNBT)); + nextMode(slot); + this.getWorldObj().markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this); + } + } + modes = nbt.getIntArray("modes"); + } else { + IControlReceiverFilter.super.pasteSettings(nbt, index, world, player, x, y, z); + } + } + + @Override + public String[] infoForDisplay(World world, int x, int y, int z) { + String[] options = new String[patterns.length]; + for (int i = 0; i < options.length; i++) { + options[i] = "copytool.pattern" + i; + } + return options; + } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCraneSplitter.java b/src/main/java/com/hbm/tileentity/network/TileEntityCraneSplitter.java index 76f110241..0a196645b 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCraneSplitter.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCraneSplitter.java @@ -1,31 +1,88 @@ package com.hbm.tileentity.network; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; +import com.hbm.tileentity.TileEntityLoadedBase; -public class TileEntityCraneSplitter extends TileEntity { +import io.netty.buffer.ByteBuf; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +public class TileEntityCraneSplitter extends TileEntityLoadedBase { /* false: left belt is preferred, true: right belt is preferred */ private boolean position; - - public void setPosition(boolean pos) { - this.position = pos; - this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this); + private byte remaining; // count until position swaps + + public byte leftRatio = 1; + public byte rightRatio = 1; + + // Splits the input stack into two, based on current ratio and internal state + public ItemStack[] splitStack(ItemStack stack) { + int left = 0; + int right = 0; + int count = stack.stackSize; + + if(remaining <= 0) remaining = position ? rightRatio : leftRatio; + + while(count > 0) { + int toExtract = Math.min(remaining, count); + + remaining -= toExtract; + count -= toExtract; + if(position) right += toExtract; else left += toExtract; + + if(remaining <= 0) { + position = !position; + remaining = position ? rightRatio : leftRatio; + } + } + + ItemStack leftStack = stack.copy(); + ItemStack rightStack = stack.copy(); + leftStack.stackSize = left; + rightStack.stackSize = right; + + worldObj.markTileEntityChunkModified(xCoord, yCoord, zCoord, this); + return new ItemStack[] { leftStack, rightStack }; } - - public boolean getPosition() { - return this.position; + + public void updateEntity() { + if(worldObj.isRemote) return; + networkPackNT(15); } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - this.position = nbt.getBoolean("pos"); + + position = nbt.getBoolean("pos"); + remaining = nbt.getByte("count"); + + // Make sure existing conveyors are initialised with ratios + leftRatio = (byte)Math.max(nbt.getByte("left"), 1); + rightRatio = (byte)Math.max(nbt.getByte("right"), 1); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - nbt.setBoolean("pos", this.position); + + nbt.setBoolean("pos", position); + nbt.setByte("count", remaining); + + nbt.setByte("left", leftRatio); + nbt.setByte("right", rightRatio); } + + @Override + public void serialize(ByteBuf buf) { + buf.writeByte(leftRatio); + buf.writeByte(rightRatio); + } + + @Override + public void deserialize(ByteBuf buf) { + leftRatio = buf.readByte(); + rightRatio = buf.readByte(); + } + } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCraneUnboxer.java b/src/main/java/com/hbm/tileentity/network/TileEntityCraneUnboxer.java index 31dd46c1e..37ea89d81 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCraneUnboxer.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCraneUnboxer.java @@ -9,7 +9,6 @@ import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -115,7 +114,7 @@ public class TileEntityCraneUnboxer extends TileEntityCraneBase implements IGUIP @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICraneUnboxer(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityDroneCrate.java b/src/main/java/com/hbm/tileentity/network/TileEntityDroneCrate.java index 280c16fd0..fb4058296 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityDroneCrate.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityDroneCrate.java @@ -9,16 +9,17 @@ import com.hbm.inventory.container.ContainerDroneCrate; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUIDroneCrate; +import com.hbm.tileentity.IFluidCopiable; import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.BufferUtil; import com.hbm.util.ParticleUtil; import com.hbm.util.fauxpointtwelve.BlockPos; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -27,7 +28,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class TileEntityDroneCrate extends TileEntityMachineBase implements IGUIProvider, INBTPacketReceiver, IControlReceiver, IDroneLinkable, IFluidStandardTransceiver { +public class TileEntityDroneCrate extends TileEntityMachineBase implements IGUIProvider, IControlReceiver, IDroneLinkable, IFluidStandardTransceiver, IFluidCopiable { public FluidTank tank; @@ -82,26 +83,31 @@ public class TileEntityDroneCrate extends TileEntityMachineBase implements IGUIP (nextX - pos.getX()), (nextY - pos.getY()), (nextZ - pos.getZ()), 0x00ffff); } - - - NBTTagCompound data = new NBTTagCompound(); - data.setIntArray("pos", new int[] {nextX, nextY, nextZ}); - data.setBoolean("mode", sendingMode); - data.setBoolean("type", itemType); - tank.writeToNBT(data, "t"); - INBTPacketReceiver.networkPack(this, data, 25); + networkPackNT(25); } } @Override - public void networkUnpack(NBTTagCompound nbt) { - int[] pos = nbt.getIntArray("pos"); + public void serialize(ByteBuf buf) { + BufferUtil.writeIntArray(buf, new int[] { + this.nextX, + this.nextY, + this.nextZ + }); + buf.writeBoolean(this.sendingMode); + buf.writeBoolean(this.itemType); + tank.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + int[] pos = BufferUtil.readIntArray(buf); this.nextX = pos[0]; this.nextY = pos[1]; this.nextZ = pos[2]; - this.sendingMode = nbt.getBoolean("mode"); - this.itemType = nbt.getBoolean("type"); - tank.readFromNBT(nbt, "t"); + this.sendingMode = buf.readBoolean(); + this.itemType = buf.readBoolean(); + tank.deserialize(buf); } protected void loadItems(EntityDeliveryDrone drone) { @@ -247,7 +253,7 @@ public class TileEntityDroneCrate extends TileEntityMachineBase implements IGUIP @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIDroneCrate(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityDroneDock.java b/src/main/java/com/hbm/tileentity/network/TileEntityDroneDock.java index 0ab0a73b7..32382fc6e 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityDroneDock.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityDroneDock.java @@ -20,7 +20,6 @@ import com.hbm.util.fauxpointtwelve.BlockPos; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -182,7 +181,7 @@ public class TileEntityDroneDock extends TileEntityRequestNetworkContainer imple @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIDroneDock(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityDroneProvider.java b/src/main/java/com/hbm/tileentity/network/TileEntityDroneProvider.java index 0b32073e6..d79ae02bc 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityDroneProvider.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityDroneProvider.java @@ -12,7 +12,6 @@ import com.hbm.util.fauxpointtwelve.BlockPos; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -51,7 +50,7 @@ public class TileEntityDroneProvider extends TileEntityRequestNetworkContainer i @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIDroneProvider(player.inventory, this); } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityDroneRequester.java b/src/main/java/com/hbm/tileentity/network/TileEntityDroneRequester.java index faa21f615..f9a6f0a0a 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityDroneRequester.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityDroneRequester.java @@ -11,14 +11,13 @@ import com.hbm.inventory.gui.GUIDroneRequester; import com.hbm.module.ModulePatternMatcher; import com.hbm.tileentity.IControlReceiverFilter; import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.network.RequestNetwork.PathNode; import com.hbm.tileentity.network.RequestNetwork.RequestNode; import com.hbm.util.fauxpointtwelve.BlockPos; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -27,8 +26,8 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.oredict.OreDictionary; -public class TileEntityDroneRequester extends TileEntityRequestNetworkContainer implements INBTPacketReceiver, IGUIProvider, IControlReceiverFilter { - +public class TileEntityDroneRequester extends TileEntityRequestNetworkContainer implements IGUIProvider, IControlReceiverFilter { + public ModulePatternMatcher matcher; public TileEntityDroneRequester() { @@ -40,22 +39,23 @@ public class TileEntityDroneRequester extends TileEntityRequestNetworkContainer public String getName() { return "container.droneRequester"; } - + @Override public void updateEntity() { super.updateEntity(); - + if(!worldObj.isRemote) { - - NBTTagCompound data = new NBTTagCompound(); - this.matcher.writeToNBT(data); - INBTPacketReceiver.networkPack(this, data, 15); + + networkPackNT(15); } } - @Override - public void networkUnpack(NBTTagCompound nbt) { - this.matcher.readFromNBT(nbt); + @Override public void serialize(ByteBuf buf) { + this.matcher.serialize(buf); + } + + @Override public void deserialize(ByteBuf buf) { + this.matcher.deserialize(buf); } @Override @@ -77,13 +77,13 @@ public class TileEntityDroneRequester extends TileEntityRequestNetworkContainer public boolean canExtractItem(int i, ItemStack stack, int j) { return true; } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); this.matcher.readFromNBT(nbt); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -97,7 +97,7 @@ public class TileEntityDroneRequester extends TileEntityRequestNetworkContainer @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIDroneRequester(player.inventory, this); } @@ -110,7 +110,7 @@ public class TileEntityDroneRequester extends TileEntityRequestNetworkContainer if(filter == null) continue; String mode = this.matcher.modes[i]; AStack aStack = null; - + if(ModulePatternMatcher.MODE_EXACT.equals(mode)) { aStack = new ComparableStack(filter).makeSingular(); } else if(ModulePatternMatcher.MODE_WILDCARD.equals(mode)) { @@ -118,9 +118,9 @@ public class TileEntityDroneRequester extends TileEntityRequestNetworkContainer } else if(mode != null) { aStack = new OreDictStack(mode); } - + if(aStack == null) continue; - + if(stock == null || !this.matcher.isValidForFilter(filter, i, stock)) request.add(aStack); } return new RequestNode(pos, this.reachableNodes, request); @@ -130,4 +130,9 @@ public class TileEntityDroneRequester extends TileEntityRequestNetworkContainer public boolean hasPermission(EntityPlayer player) { return Vec3.createVectorHelper(xCoord - player.posX, yCoord - player.posY, zCoord - player.posZ).lengthVector() < 20; } + + @Override + public int[] getFilterSlots() { + return new int[]{0,9}; + } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityDroneWaypoint.java b/src/main/java/com/hbm/tileentity/network/TileEntityDroneWaypoint.java index cb08c5bb8..99908ee14 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityDroneWaypoint.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityDroneWaypoint.java @@ -3,23 +3,19 @@ package com.hbm.tileentity.network; import java.util.List; import com.hbm.entity.item.EntityDeliveryDrone; +import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.ParticleUtil; -import com.hbm.packet.BufPacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.IBufPacketReceiver; import com.hbm.util.fauxpointtwelve.BlockPos; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import io.netty.buffer.ByteBuf; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityDroneWaypoint extends TileEntity implements IBufPacketReceiver, IDroneLinkable { - +public class TileEntityDroneWaypoint extends TileEntityLoadedBase implements IDroneLinkable { + public int height = 5; public int nextX = -1; public int nextY = -1; @@ -28,7 +24,7 @@ public class TileEntityDroneWaypoint extends TileEntity implements IBufPacketRec @Override public void updateEntity() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); - + if(!worldObj.isRemote) { if(nextY != -1) { List drones = worldObj.getEntitiesWithinAABB(EntityDeliveryDrone.class, AxisAlignedBB.getBoundingBox(xCoord, yCoord, zCoord, xCoord + 1, yCoord + 1, zCoord + 1).offset(dir.offsetX * height, dir.offsetY * height, dir.offsetZ * height)); @@ -39,14 +35,14 @@ public class TileEntityDroneWaypoint extends TileEntity implements IBufPacketRec } } - PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 15)); + networkPackNT(15); } else { BlockPos pos = getCoord(dir); if(nextY != -1 && worldObj.getTotalWorldTime() % 2 == 0) { double x = xCoord + height * dir.offsetX + 0.5; double y = yCoord + height * dir.offsetY + 0.5; double z = zCoord + height * dir.offsetZ + 0.5; - + worldObj.spawnParticle("reddust", x, y, z, 0, 0, 0); ParticleUtil.spawnDroneLine(worldObj, @@ -63,7 +59,7 @@ public class TileEntityDroneWaypoint extends TileEntity implements IBufPacketRec buf.writeInt(nextY); buf.writeInt(nextZ); } - + @Override public void deserialize(ByteBuf buf) { height = buf.readInt(); @@ -85,12 +81,12 @@ public class TileEntityDroneWaypoint extends TileEntity implements IBufPacketRec this.nextZ = z; this.markDirty(); } - + public void addHeight(int h) { height += h; height = MathHelper.clamp_int(height, 1, 15); } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -101,7 +97,7 @@ public class TileEntityDroneWaypoint extends TileEntity implements IBufPacketRec this.nextY = pos[1]; this.nextZ = pos[2]; } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityFluidValve.java b/src/main/java/com/hbm/tileentity/network/TileEntityFluidValve.java index 6e1a226dd..a54caa173 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityFluidValve.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityFluidValve.java @@ -1,27 +1,29 @@ package com.hbm.tileentity.network; -import api.hbm.fluid.PipeNet; +import com.hbm.uninos.UniNodespace; + +import net.minecraft.block.Block; +import net.minecraft.world.World; public class TileEntityFluidValve extends TileEntityPipeBaseNT { - + @Override - public boolean canUpdate() { - return this.worldObj != null && this.getBlockMetadata() == 1 && super.canUpdate(); + public boolean shouldCreateNode() { + return this.getBlockMetadata() == 1; } public void updateState() { - - if(this.getBlockMetadata() == 0 && this.network != null) { - this.network.destroy(); - this.network = null; - } - - if(this.getBlockMetadata() == 1) { - this.connect(); - - if(this.getPipeNet(type) == null) { - new PipeNet(type).joinLink(this); - } + + this.blockMetadata = -1; // delete cache + + if(this.getBlockMetadata() == 0 && this.node != null) { + UniNodespace.destroyNode(worldObj, xCoord, yCoord, zCoord, this.getType().getNetworkProvider()); + this.node = null; } } + + @Override + public boolean shouldRefresh(Block oldBlock, Block newBlock, int oldMeta, int newMeta, World world, int x, int y, int z) { + return oldBlock != newBlock; + } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java b/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java index 4db863014..f679c722f 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java @@ -1,22 +1,31 @@ package com.hbm.tileentity.network; +import com.hbm.blocks.network.IBlockFluidDuct; +import com.hbm.extprop.HbmPlayerProps; +import com.hbm.handler.HbmKeybinds; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; -import api.hbm.fluid.IFluidConductor; -import api.hbm.fluid.IPipeNet; -import api.hbm.fluid.PipeNet; +import api.hbm.fluidmk2.FluidNode; +import api.hbm.fluidmk2.IFluidPipeMK2; + +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.tileentity.IFluidCopiable; +import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.uninos.UniNodespace; + +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; -import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; import net.minecraft.world.WorldServer; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityPipeBaseNT extends TileEntity implements IFluidConductor { - - protected IPipeNet network; +public class TileEntityPipeBaseNT extends TileEntityLoadedBase implements IFluidPipeMK2, IFluidCopiable { + + protected FluidNode node; protected FluidType type = Fluids.NONE; protected FluidType lastType = Fluids.NONE; @@ -27,116 +36,71 @@ public class TileEntityPipeBaseNT extends TileEntity implements IFluidConductor worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); lastType = type; } - - if(!worldObj.isRemote && canUpdate()) { - - //we got here either because the net doesn't exist or because it's not valid, so that's safe to assume - this.setPipeNet(type, null); - - this.connect(); - - if(this.getPipeNet(type) == null) { - this.setPipeNet(type, new PipeNet(type).joinLink(this)); + + if(!worldObj.isRemote) { + + if(this.node == null || this.node.expired) { + + if(this.shouldCreateNode()) { + this.node = (FluidNode) UniNodespace.getNode(worldObj, xCoord, yCoord, zCoord, type.getNetworkProvider()); + + if(this.node == null || this.node.expired) { + this.node = this.createNode(type); + UniNodespace.createNode(worldObj, this.node); + } + } } } } - + + public boolean shouldCreateNode() { + return true; + } + public FluidType getType() { return this.type; } - + public void setType(FluidType type) { + FluidType prev = this.type; this.type = type; this.markDirty(); - + if(worldObj instanceof WorldServer) { WorldServer world = (WorldServer) worldObj; world.getPlayerManager().markBlockForUpdate(xCoord, yCoord, zCoord); } - if(this.network != null) - this.network.destroy(); + UniNodespace.destroyNode(worldObj, xCoord, yCoord, zCoord, prev.getNetworkProvider()); + + if(this.node != null) { + this.node = null; + } } - + @Override public boolean canConnect(FluidType type, ForgeDirection dir) { return dir != ForgeDirection.UNKNOWN && type == this.type; } - - protected void connect() { - - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - - TileEntity te = worldObj.getTileEntity(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); - - if(te instanceof IFluidConductor) { - - IFluidConductor conductor = (IFluidConductor) te; - - if(!conductor.canConnect(type, dir.getOpposite())) - continue; - - if(this.getPipeNet(type) == null && conductor.getPipeNet(type) != null) { - conductor.getPipeNet(type).joinLink(this); - } - - if(this.getPipeNet(type) != null && conductor.getPipeNet(type) != null && this.getPipeNet(type) != conductor.getPipeNet(type)) { - conductor.getPipeNet(type).joinNetworks(this.getPipeNet(type)); - } - } - } - } @Override public void invalidate() { super.invalidate(); - + if(!worldObj.isRemote) { - if(this.network != null) { - this.network.destroy(); + if(this.node != null) { + UniNodespace.destroyNode(worldObj, xCoord, yCoord, zCoord, type.getNetworkProvider()); } } } - /** - * Only update until a power net is formed, in >99% of the cases it should be the first tick. Everything else is handled by neighbors and the net itself. - */ - @Override - public boolean canUpdate() { - return (this.network == null || !this.network.isValid()) && !this.isInvalid(); - } - - @Override - public long transferFluid(FluidType type, int pressure, long fluid) { - - if(this.network == null) - return fluid; - - return this.network.transferFluid(fluid, pressure); - } - - @Override - public long getDemand(FluidType type, int pressure) { - return 0; - } - - @Override - public IPipeNet getPipeNet(FluidType type) { - return type == this.type ? this.network : null; - } - - @Override - public void setPipeNet(FluidType type, IPipeNet network) { - this.network = network; - } - @Override public Packet getDescriptionPacket() { NBTTagCompound nbt = new NBTTagCompound(); this.writeToNBT(nbt); return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); } - + @Override public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { this.readFromNBT(pkt.func_148857_g()); @@ -155,7 +119,7 @@ public class TileEntityPipeBaseNT extends TileEntity implements IFluidConductor } public boolean isLoaded = true; - + @Override public boolean isLoaded() { return isLoaded; @@ -166,4 +130,36 @@ public class TileEntityPipeBaseNT extends TileEntity implements IFluidConductor super.onChunkUnload(); this.isLoaded = false; } + + @Override + public int[] getFluidIDToCopy() { + return new int[]{ type.getID() }; + } + + @Override + public FluidTank getTankToPaste() { + return null; + } + + @Override + public void pasteSettings(NBTTagCompound nbt, int index, World world, EntityPlayer player, int x, int y, int z) { + int[] ids = nbt.getIntArray("fluidID"); + if(ids.length > 0) { + int id; + if (index < ids.length) + id = ids[index]; + else + id = 0; + + FluidType fluid = Fluids.fromID(id); + + if(HbmPlayerProps.getData(player).getKeyPressed(HbmKeybinds.EnumKeybind.TOOL_CTRL)){ + IBlockFluidDuct pipe = (IBlockFluidDuct)world.getBlock(x, y, z); + pipe.changeTypeRecursively(world, x, y, z, getType(), fluid, 64); + } else { + this.setType(fluid); + } + } + + } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java b/src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java index 5d4ac7d1c..233162760 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java @@ -2,58 +2,35 @@ package com.hbm.tileentity.network; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; -import com.hbm.util.Compat; +import com.hbm.uninos.UniNodespace; -import api.hbm.fluid.IFluidConductor; -import api.hbm.fluid.IPipeNet; -import api.hbm.fluid.PipeNet; +import api.hbm.fluidmk2.FluidNode; +import api.hbm.fluidmk2.IFluidPipeMK2; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityPipeExhaust extends TileEntity implements IFluidConductor { +public class TileEntityPipeExhaust extends TileEntity implements IFluidPipeMK2 { - public IPipeNet[] nets = new IPipeNet[3]; + protected FluidNode[] nodes = new FluidNode[3]; + protected FluidType[] smokes = new FluidType[] {Fluids.SMOKE, Fluids.SMOKE_LEADED, Fluids.SMOKE_POISON}; public FluidType[] getSmokes() { - return new FluidType[] {Fluids.SMOKE, Fluids.SMOKE_LEADED, Fluids.SMOKE_POISON}; + return smokes; } @Override public void updateEntity() { - - if(!worldObj.isRemote && canUpdate()) { - - for(int i = 0; i < 3; i++) nets[i] = null; - for(FluidType type : getSmokes()) { - this.connect(type); - - if(this.getPipeNet(type) == null) { - this.setPipeNet(type, new PipeNet(type).joinLink(this)); - } - } - } - } - - protected void connect(FluidType type) { - - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - - TileEntity te = Compat.getTileStandard(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); - - if(te instanceof IFluidConductor) { - - IFluidConductor conductor = (IFluidConductor) te; - - if(!conductor.canConnect(type, dir.getOpposite())) - continue; - - if(this.getPipeNet(type) == null && conductor.getPipeNet(type) != null) { - conductor.getPipeNet(type).joinLink(this); - } - - if(this.getPipeNet(type) != null && conductor.getPipeNet(type) != null && this.getPipeNet(type) != conductor.getPipeNet(type)) { - conductor.getPipeNet(type).joinNetworks(this.getPipeNet(type)); + if(!worldObj.isRemote) { + + for(int i = 0; i < getSmokes().length; i++) { + if(this.nodes[i] == null || this.nodes[i].expired) { + this.nodes[i] = (FluidNode) UniNodespace.getNode(worldObj, xCoord, yCoord, zCoord, getSmokes()[i].getNetworkProvider()); + + if(this.nodes[i] == null || this.nodes[i].expired) { + this.nodes[i] = this.createNode(getSmokes()[i]); + UniNodespace.createNode(worldObj, this.nodes[i]); + } } } } @@ -62,67 +39,18 @@ public class TileEntityPipeExhaust extends TileEntity implements IFluidConductor @Override public void invalidate() { super.invalidate(); - + if(!worldObj.isRemote) { - - for(int i = 0; i < 3; i++) { - if(nets[i] != null) { - nets[i].destroy(); + for(int i = 0; i < getSmokes().length; i++) { + if(this.nodes[i] != null) { + UniNodespace.destroyNode(worldObj, xCoord, yCoord, zCoord, getSmokes()[i].getNetworkProvider()); } } } } - @Override - public boolean canUpdate() { - - if(this.isInvalid()) return false; - - for(IPipeNet net : nets) { - if(net == null || !net.isValid()) { - return true; - } - } - - return false; - } @Override public boolean canConnect(FluidType type, ForgeDirection dir) { return dir != ForgeDirection.UNKNOWN && (type == Fluids.SMOKE || type == Fluids.SMOKE_LEADED || type == Fluids.SMOKE_POISON); } - - @Override - public long getDemand(FluidType type, int pressure) { - return 0; - } - - @Override - public IPipeNet getPipeNet(FluidType type) { - - if(type == Fluids.SMOKE) return nets[0]; - if(type == Fluids.SMOKE_LEADED) return nets[1]; - if(type == Fluids.SMOKE_POISON) return nets[2]; - return null; - } - - @Override - public void setPipeNet(FluidType type, IPipeNet network) { - - if(type == Fluids.SMOKE) nets[0] = network; - if(type == Fluids.SMOKE_LEADED) nets[1] = network; - if(type == Fluids.SMOKE_POISON) nets[2] = network; - } - - public boolean isLoaded = true; - - @Override - public boolean isLoaded() { - return isLoaded; - } - - @Override - public void onChunkUnload() { - super.onChunkUnload(); - this.isLoaded = false; - } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPneumoTube.java b/src/main/java/com/hbm/tileentity/network/TileEntityPneumoTube.java new file mode 100644 index 000000000..5336f61ab --- /dev/null +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPneumoTube.java @@ -0,0 +1,303 @@ +package com.hbm.tileentity.network; + +import com.hbm.inventory.container.ContainerPneumoTube; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIPneumoTube; +import com.hbm.lib.Library; +import com.hbm.module.ModulePatternMatcher; +import com.hbm.tileentity.IControlReceiverFilter; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.uninos.GenNode; +import com.hbm.uninos.UniNodespace; +import com.hbm.uninos.networkproviders.PneumaticNetwork; +import com.hbm.uninos.networkproviders.PneumaticNetworkProvider; +import com.hbm.util.Compat; +import com.hbm.util.EnumUtil; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; + +import api.hbm.fluidmk2.IFluidStandardReceiverMK2; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.play.server.S35PacketUpdateTileEntity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityPneumoTube extends TileEntityMachineBase implements IGUIProvider, IFluidStandardReceiverMK2, IControlReceiverFilter { + + public ModulePatternMatcher pattern = new ModulePatternMatcher(15); + public ForgeDirection insertionDir = ForgeDirection.UNKNOWN; + public ForgeDirection ejectionDir = ForgeDirection.UNKNOWN; + + public boolean whitelist = false; + public boolean redstone = false; + public byte sendOrder = 0; + public byte receiveOrder = 0; + public int soundDelay = 0; + + public FluidTank compair; + + protected PneumaticNode node; + + public TileEntityPneumoTube() { + super(15); + this.compair = new FluidTank(Fluids.AIR, 4_000).withPressure(1); + } + + @Override + public String getName() { + return "container.pneumoTube"; + } + + public boolean matchesFilter(ItemStack stack) { + + for(int i = 0; i < 15; i++) { + ItemStack filter = slots[i]; + if(filter != null && this.pattern.isValidForFilter(filter, i, stack)) { + return true; + } + } + + return false; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + if(this.soundDelay > 0) this.soundDelay--; + + if(this.node == null || this.node.expired) { + this.node = (PneumaticNode) UniNodespace.getNode(worldObj, xCoord, yCoord, zCoord, PneumaticNetworkProvider.THE_PROVIDER); + + if(this.node == null || this.node.expired) { + this.node = (PneumaticNode) new PneumaticNode(new BlockPos(xCoord, yCoord, zCoord)).setConnections( + new DirPos(xCoord + 1, yCoord, zCoord, Library.POS_X), + new DirPos(xCoord - 1, yCoord, zCoord, Library.NEG_X), + new DirPos(xCoord, yCoord + 1, zCoord, Library.POS_Y), + new DirPos(xCoord, yCoord - 1, zCoord, Library.NEG_Y), + new DirPos(xCoord, yCoord, zCoord + 1, Library.POS_Z), + new DirPos(xCoord, yCoord, zCoord - 1, Library.NEG_Z) + ); + UniNodespace.createNode(worldObj, this.node); + } + } + + if(this.isCompressor() && (!this.worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord) ^ this.redstone)) { + + int randTime = Math.abs((int) (worldObj.getTotalWorldTime() + this.getIdentifier(xCoord, yCoord, zCoord))); + + if(worldObj.getTotalWorldTime() % 10 == 0) for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + if(dir != this.insertionDir && dir != this.ejectionDir) { + this.trySubscribe(compair.getTankType(), worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); + } + } + + if(randTime % 5 == 0 && this.node != null && !this.node.expired && this.node.net != null && this.compair.getFill() >= 50) { + TileEntity sendFrom = Compat.getTileStandard(worldObj, xCoord + insertionDir.offsetX, yCoord + insertionDir.offsetY, zCoord + insertionDir.offsetZ); + + if(sendFrom instanceof IInventory) { + PneumaticNetwork net = node.net; + + if(net.send((IInventory) sendFrom, this, this.insertionDir.getOpposite(), sendOrder, receiveOrder, getRangeFromPressure(compair.getPressure()))) { + this.compair.setFill(this.compair.getFill() - 50); + + if(this.soundDelay <= 0 && !this.muffled) { + worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:weapon.reload.tubeFwoomp", 0.25F, 0.9F + worldObj.rand.nextFloat() * 0.2F); + this.soundDelay = 20; + } + } + } + } + } + + if(this.isEndpoint() && this.node != null && this.node.net != null && worldObj.getTotalWorldTime() % 10 == 0) { + TileEntity tile = Compat.getTileStandard(worldObj, xCoord + this.ejectionDir.offsetX, yCoord + this.ejectionDir.offsetY, zCoord + this.ejectionDir.offsetZ); + if(tile instanceof IInventory) this.node.net.addReceiver((IInventory) tile, this.ejectionDir); + } + + this.networkPackNT(15); + } + } + + public static int getRangeFromPressure(int pressure) { + if(pressure == 0) return 0; + if(pressure == 1) return 10; + if(pressure == 2) return 25; + if(pressure == 3) return 100; + if(pressure == 4) return 250; + if(pressure == 5) return 1_000; + return 0; + } + + // tactfully copy pasted from BlockPos + public static int getIdentifier(int x, int y, int z) { + return (y + z * 27644437) * 27644437 + x; + } + + @Override + public long getReceiverSpeed(FluidType type, int pressure) { + return MathHelper.clamp_int((this.compair.getMaxFill() - this.compair.getFill()) / 25, 1, 100); + } + + @Override + public boolean canConnect(FluidType type, ForgeDirection dir) { + return dir != this.insertionDir && dir != this.ejectionDir && type == Fluids.AIR && this.isCompressor(); + } + + @Override + public void invalidate() { + super.invalidate(); + + if(!worldObj.isRemote) { + if(this.node != null) { + UniNodespace.destroyNode(worldObj, xCoord, yCoord, zCoord, PneumaticNetworkProvider.THE_PROVIDER); + } + } + } + + public boolean isCompressor() { return this.insertionDir != ForgeDirection.UNKNOWN; } + public boolean isEndpoint() { return this.ejectionDir != ForgeDirection.UNKNOWN; } + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeBoolean(redstone); + buf.writeBoolean(whitelist); + buf.writeByte(sendOrder); + buf.writeByte(receiveOrder); + pattern.serialize(buf); + compair.serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.redstone = buf.readBoolean(); + this.whitelist = buf.readBoolean(); + this.sendOrder = buf.readByte(); + this.receiveOrder = buf.readByte(); + pattern.deserialize(buf); + compair.deserialize(buf); + } + + public void nextMode(int index) { + this.pattern.nextMode(worldObj, slots[index], index); + } + + public void initPattern(ItemStack stack, int index) { + this.pattern.initPatternSmart(worldObj, stack, index); + } + + @Override + public Packet getDescriptionPacket() { + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setByte("insertionDir", (byte) insertionDir.ordinal()); + nbt.setByte("ejectionDir", (byte) ejectionDir.ordinal()); + return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); + } + + @Override + public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { + NBTTagCompound nbt = pkt.func_148857_g(); + this.insertionDir = EnumUtil.grabEnumSafely(ForgeDirection.class, nbt.getByte("insertionDir")); + this.ejectionDir = EnumUtil.grabEnumSafely(ForgeDirection.class, nbt.getByte("ejectionDir")); + worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); // that's right, we're gonna cheat + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.insertionDir = EnumUtil.grabEnumSafely(ForgeDirection.class, nbt.getByte("insertionDir")); + this.ejectionDir = EnumUtil.grabEnumSafely(ForgeDirection.class, nbt.getByte("ejectionDir")); + this.compair.readFromNBT(nbt, "tank"); + this.pattern.readFromNBT(nbt); + + this.sendOrder = nbt.getByte("sendOrder"); + this.receiveOrder = nbt.getByte("receiveOrder"); + + this.whitelist = nbt.getBoolean("whitelist"); + this.redstone = nbt.getBoolean("redstone"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setByte("insertionDir", (byte) insertionDir.ordinal()); + nbt.setByte("ejectionDir", (byte) ejectionDir.ordinal()); + this.compair.writeToNBT(nbt, "tank"); + this.pattern.writeToNBT(nbt); + + nbt.setByte("sendOrder", sendOrder); + nbt.setByte("receiveOrder", receiveOrder); + + nbt.setBoolean("whitelist", whitelist); + nbt.setBoolean("redstone", redstone); + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerPneumoTube(player.inventory, this); + } + + @Override + @SideOnly(Side.CLIENT) + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIPneumoTube(player.inventory, this); + } + + @Override + public void receiveControl(NBTTagCompound data) { + if(data.hasKey("whitelist")) { + this.whitelist = !this.whitelist; + } + if(data.hasKey("redstone")) { + this.redstone = !this.redstone; + } + if(data.hasKey("pressure")) { + int pressure = this.compair.getPressure() + 1; + if(pressure > 5) pressure = 1; + this.compair.withPressure(pressure); + } + if(data.hasKey("send")) { + this.sendOrder++; + if(this.sendOrder > 2) this.sendOrder = 0; + } + if(data.hasKey("receive")) { + this.receiveOrder++; + if(this.receiveOrder > 1) this.receiveOrder = 0; + } + if(data.hasKey("slot")){ + setFilterContents(data); + } + + this.markDirty(); + } + + @Override public boolean hasPermission(EntityPlayer player) { return this.isUseableByPlayer(player); } + @Override public int[] getFilterSlots() { return new int[] {0, 15}; } + + @Override public FluidTank[] getAllTanks() { return new FluidTank[] {compair}; } + @Override public FluidTank[] getReceivingTanks() { return new FluidTank[] {compair}; } + + public static class PneumaticNode extends GenNode { + + public PneumaticNode(BlockPos... positions) { + super(PneumaticNetworkProvider.THE_PROVIDER, positions); + } + } +} diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java b/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java index 7581ddaed..f3041922b 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java @@ -23,45 +23,45 @@ import net.minecraft.world.WorldServer; import net.minecraftforge.common.util.ForgeDirection; public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { - - public List connected = new ArrayList(); + + protected List connected = new ArrayList<>(); public int color; - + public static int canConnect(TileEntityPylonBase first, TileEntityPylonBase second) { - + if(first.getConnectionType() != second.getConnectionType()) return 1; - + if(first == second) return 2; - + double len = Math.min(first.getMaxWireLength(), second.getMaxWireLength()); - + Vec3 firstPos = first.getConnectionPoint(); Vec3 secondPos = second.getConnectionPoint(); - + Vec3 delta = Vec3.createVectorHelper( (secondPos.xCoord) - (firstPos.xCoord), (secondPos.yCoord) - (firstPos.yCoord), (secondPos.zCoord) - (firstPos.zCoord) ); - + return len >= delta.lengthVector() ? 0 : 3; } - + public boolean setColor(ItemStack stack) { if(stack == null) return false; int color = ColorUtil.getColorFromDye(stack); if(color == 0 || color == this.color) return false; stack.stackSize--; this.color = color; - + this.markDirty(); if(worldObj instanceof WorldServer) { WorldServer world = (WorldServer) worldObj; world.getPlayerManager().markBlockForUpdate(xCoord, yCoord, zCoord); } - + return true; } @@ -72,91 +72,95 @@ public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { for(int[] pos : this.connected) node.addConnection(new DirPos(pos[0], pos[1], pos[2], ForgeDirection.UNKNOWN)); return node; } - + public void addConnection(int x, int y, int z) { - + connected.add(new int[] {x, y, z}); - + PowerNode node = Nodespace.getNode(worldObj, xCoord, yCoord, zCoord); node.recentlyChanged = true; node.addConnection(new DirPos(x, y, z, ForgeDirection.UNKNOWN)); - + this.markDirty(); - + if(worldObj instanceof WorldServer) { WorldServer world = (WorldServer) worldObj; world.getPlayerManager().markBlockForUpdate(xCoord, yCoord, zCoord); } } - + public void disconnectAll() { - + for(int[] pos : connected) { - + TileEntity te = worldObj.getTileEntity(pos[0], pos[1], pos[2]); - + if(te == this) continue; - + if(te instanceof TileEntityPylonBase) { TileEntityPylonBase pylon = (TileEntityPylonBase) te; Nodespace.destroyNode(worldObj, pos[0], pos[1], pos[2]); - + for(int i = 0; i < pylon.connected.size(); i++) { int[] conPos = pylon.connected.get(i); - + if(conPos[0] == xCoord && conPos[1] == yCoord && conPos[2] == zCoord) { pylon.connected.remove(i); i--; } } - + pylon.markDirty(); - + if(worldObj instanceof WorldServer) { WorldServer world = (WorldServer) worldObj; world.getPlayerManager().markBlockForUpdate(pylon.xCoord, pylon.yCoord, pylon.zCoord); } } } - + Nodespace.destroyNode(worldObj, xCoord, yCoord, zCoord); } - + public abstract ConnectionType getConnectionType(); public abstract Vec3[] getMountPos(); public abstract double getMaxWireLength(); - + public Vec3 getConnectionPoint() { Vec3[] mounts = this.getMountPos(); - + if(mounts == null || mounts.length == 0) return Vec3.createVectorHelper(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5); - + return mounts[0].addVector(xCoord, yCoord, zCoord); } - + + public List getConnected() { + return connected; + } + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setInteger("conCount", connected.size()); nbt.setInteger("color", color); - + for(int i = 0; i < connected.size(); i++) { nbt.setIntArray("con" + i, connected.get(i)); } } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + int count = nbt.getInteger("conCount"); this.color = nbt.getInteger("color"); - + this.connected.clear(); - + for(int i = 0; i < count; i++) { connected.add(nbt.getIntArray("con" + i)); } @@ -164,24 +168,24 @@ public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { @Override public Packet getDescriptionPacket() { - + NBTTagCompound nbt = new NBTTagCompound(); this.writeToNBT(nbt); return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); } - + @Override public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { this.readFromNBT(pkt.func_148857_g()); } - public static enum ConnectionType { + public enum ConnectionType { SINGLE, TRIPLE, QUAD //more to follow } - + @Override public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTelex.java b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTelex.java index 26d6dec14..751904a4f 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTelex.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTelex.java @@ -7,30 +7,30 @@ import com.hbm.handler.CompatHandler; import com.hbm.interfaces.IControlReceiver; import com.hbm.inventory.gui.GuiScreenRadioTelex; import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.tileentity.network.RTTYSystem.RTTYChannel; +import com.hbm.util.BufferUtil; import com.hbm.util.ItemStackUtil; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityRadioTelex extends TileEntity implements INBTPacketReceiver, IControlReceiver, IGUIProvider, SimpleComponent, CompatHandler.OCComponent { +public class TileEntityRadioTelex extends TileEntityLoadedBase implements IControlReceiver, IGUIProvider, SimpleComponent, CompatHandler.OCComponent { public static final int lineWidth = 33; public String txChannel = ""; @@ -52,24 +52,24 @@ public class TileEntityRadioTelex extends TileEntity implements INBTPacketReceiv public static final char print = '\u000c'; public static final char pause = '\u0016'; public static final char clear = '\u007f'; - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + this.sendingChar = ' '; - + if(this.isSending && this.txChannel.isEmpty()) this.isSending = false; - + if(this.isSending) { - + if(sendingWait > 0) { sendingWait--; } else { - + String line = txBuffer[sendingLine]; - + if(line.length() > sendingIndex) { char c = line.charAt(sendingIndex); sendingIndex++; @@ -80,7 +80,7 @@ public class TileEntityRadioTelex extends TileEntity implements INBTPacketReceiv this.sendingChar = c; } } else { - + if(sendingLine >= 4) { this.isSending = false; RTTYSystem.broadcast(worldObj, this.txChannel, eot); @@ -94,19 +94,19 @@ public class TileEntityRadioTelex extends TileEntity implements INBTPacketReceiv } } } - + if(!this.rxChannel.isEmpty()) { RTTYChannel chan = RTTYSystem.listen(worldObj, this.rxChannel); - + if(chan != null && chan.signal instanceof Character && (chan.timeStamp > worldObj.getTotalWorldTime() - 2 && chan.timeStamp != -1)) { char c = (char) chan.signal; - + if(this.deleteOnReceive) { this.deleteOnReceive = false; for(int i = 0; i < 5; i++) this.rxBuffer[i] = ""; this.writingLine = 0; } - + if(c == eot) { if(this.printAfterRx) { this.printAfterRx = false; @@ -129,62 +129,66 @@ public class TileEntityRadioTelex extends TileEntity implements INBTPacketReceiv } } } - - NBTTagCompound data = new NBTTagCompound(); - for(int i = 0; i < 5; i++) { - data.setString("tx" + i, txBuffer[i]); - data.setString("rx" + i, rxBuffer[i]); - } - data.setString("txChan", txChannel); - data.setString("rxChan", rxChannel); - data.setInteger("sending", sendingChar); - INBTPacketReceiver.networkPack(this, data, 16); + + networkPackNT(16); } } @Override - public void networkUnpack(NBTTagCompound nbt) { - + public void serialize(ByteBuf buf) { for(int i = 0; i < 5; i++) { - txBuffer[i] = nbt.getString("tx" + i); - rxBuffer[i] = nbt.getString("rx" + i); + BufferUtil.writeString(buf, txBuffer[i]); + BufferUtil.writeString(buf, rxBuffer[i]); } - this.txChannel = nbt.getString("txChan"); - this.rxChannel = nbt.getString("rxChan"); - this.sendingChar = (char) nbt.getInteger("sending"); + + BufferUtil.writeString(buf, this.txChannel); + BufferUtil.writeString(buf, this.rxChannel); + buf.writeChar(this.sendingChar); + } + + @Override + public void deserialize(ByteBuf buf) { + for(int i = 0; i < 5; i++) { + txBuffer[i] = BufferUtil.readString(buf); + rxBuffer[i] = BufferUtil.readString(buf); + } + + this.txChannel = BufferUtil.readString(buf); + this.rxChannel = BufferUtil.readString(buf); + this.sendingChar = buf.readChar(); } @Override public void receiveControl(NBTTagCompound data) { - + for(int i = 0; i < 5; i++) { if(data.hasKey("tx" + i)) this.txBuffer[i] = data.getString("tx" + i); } - + String cmd = data.getString("cmd"); - + if("snd".equals(cmd) && !this.isSending) { this.isSending = true; this.sendingLine = 0; this.sendingIndex = 0; } - + if("rxprt".equals(cmd)) { print(); } - + if("rxcls".equals(cmd)) { for(int i = 0; i < 5; i++) this.rxBuffer[i] = ""; this.writingLine = 0; } - + if("sve".equals(cmd)) { this.txChannel = data.getString("txChan"); this.rxChannel = data.getString("rxChan"); this.markDirty(); } } - + public void print() { ItemStack stack = new ItemStack(Items.paper); List text = new ArrayList(); @@ -216,7 +220,7 @@ public class TileEntityRadioTelex extends TileEntity implements INBTPacketReceiv @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + for(int i = 0; i < 5; i++) { nbt.setString("tx" + i, txBuffer[i]); nbt.setString("rx" + i, rxBuffer[i]); @@ -229,15 +233,15 @@ public class TileEntityRadioTelex extends TileEntity implements INBTPacketReceiv @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GuiScreenRadioTelex(this); } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -248,10 +252,10 @@ public class TileEntityRadioTelex extends TileEntity implements INBTPacketReceiv zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { @@ -298,14 +302,15 @@ public class TileEntityRadioTelex extends TileEntity implements INBTPacketReceiv // check if it was never given or if it's an empty string // if it was never given then just assign it as an empty string // this also checks if it's even a string at all - if(args.checkAny(i) == null || args.checkString(i).equals("")) + if(args.checkAny(i) == null || args.checkString(i).isEmpty()) { this.txBuffer[i] = ""; - if(!args.checkString(i).equals("")) { // if it isn't an empty string - if(args.checkString(i).length() > TileEntityRadioTelex.lineWidth) { // line longer than allowed - this.txBuffer[i] = args.checkString(i).substring(0, TileEntityRadioTelex.lineWidth); // truncate it - } else - this.txBuffer[i] = args.checkString(i); // else just set it directly + continue; } + // if it isn't an empty string + if(args.checkString(i).length() > TileEntityRadioTelex.lineWidth) // line longer than allowed + this.txBuffer[i] = args.checkString(i).substring(0, TileEntityRadioTelex.lineWidth); // truncate it + else + this.txBuffer[i] = args.checkString(i); // else just set it directly } return new Object[] {true}; } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchBase.java b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchBase.java index e881b1ecf..921ddd245 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchBase.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchBase.java @@ -1,16 +1,24 @@ package com.hbm.tileentity.network; +import com.hbm.handler.CompatHandler; import com.hbm.interfaces.IControlReceiver; -import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.BufferUtil; +import cpw.mods.fml.common.Optional; +import io.netty.buffer.ByteBuf; +import li.cil.oc.api.machine.Arguments; +import li.cil.oc.api.machine.Callback; +import li.cil.oc.api.machine.Context; +import li.cil.oc.api.network.SimpleComponent; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; -import net.minecraft.tileentity.TileEntity; -public class TileEntityRadioTorchBase extends TileEntity implements INBTPacketReceiver, IControlReceiver { +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public class TileEntityRadioTorchBase extends TileEntityLoadedBase implements IControlReceiver, SimpleComponent, CompatHandler.OCComponent { /** channel we're broadcasting on/listening to */ public String channel = ""; @@ -29,13 +37,8 @@ public class TileEntityRadioTorchBase extends TileEntity implements INBTPacketRe public void updateEntity() { if(!worldObj.isRemote) { - - NBTTagCompound data = new NBTTagCompound(); - data.setBoolean("p", polling); - data.setBoolean("m", customMap); - if(channel != null) data.setString("c", channel); - for(int i = 0; i < 16; i++) if(mapping[i] != null) data.setString("m" + i, mapping[i]); - INBTPacketReceiver.networkPack(this, data, 50); + + networkPackNT(50); } } @@ -62,11 +65,19 @@ public class TileEntityRadioTorchBase extends TileEntity implements INBTPacketRe } @Override - public void networkUnpack(NBTTagCompound nbt) { - this.polling = nbt.getBoolean("p"); - this.customMap = nbt.getBoolean("m"); - this.channel = nbt.getString("c"); - for(int i = 0; i < 16; i++) this.mapping[i] = nbt.getString("m" + i); + public void serialize(ByteBuf buf) { + buf.writeBoolean(this.polling); + buf.writeBoolean(this.customMap); + BufferUtil.writeString(buf, this.channel); + for(int i = 0; i < 16; i++) BufferUtil.writeString(buf, this.mapping[i]); + } + + @Override + public void deserialize(ByteBuf buf) { + this.polling = buf.readBoolean(); + this.customMap = buf.readBoolean(); + this.channel = BufferUtil.readString(buf); + for(int i = 0; i < 16; i++) this.mapping[i] = BufferUtil.readString(buf); } @Override @@ -75,7 +86,7 @@ public class TileEntityRadioTorchBase extends TileEntity implements INBTPacketRe nbt.setByte("l", (byte) this.lastState); return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); } - + @Override public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { int last = this.lastState; @@ -96,7 +107,34 @@ public class TileEntityRadioTorchBase extends TileEntity implements INBTPacketRe if(data.hasKey("m")) this.customMap = data.getBoolean("m"); if(data.hasKey("c")) this.channel = data.getString("c"); for(int i = 0; i < 16; i++) if(data.hasKey("m" + i)) this.mapping[i] = data.getString("m" + i); - + this.markDirty(); } + + @Override + @Optional.Method(modid = "OpenComputers") + public String getComponentName() { + return "radio_torch"; + } + + @Callback(direct = true, limit = 4, doc = "setChannle(channel: string) -- Set the channel the torch is listening/broadcasting to") + @Optional.Method(modid = "OpenComputers") + public Object[] setChannel(Context context, Arguments args) { + channel = args.checkString(0); + return new Object[] {}; + } + + @Callback(direct = true, limit = 4, doc = "setPolling(value: boolean) -- Switches state change mode to tick-based polling") + @Optional.Method(modid = "OpenComputers") + public Object[] setPolling(Context context, Arguments args) { + polling = args.checkBoolean(0); + return new Object[] {}; + } + + @Callback(direct = true, limit = 4, doc = "setCustomMap(value: boolean) -- Switches redstone passthrough to custom signal mapping") + @Optional.Method(modid = "OpenComputers") + public Object[] setCustomMap(Context context, Arguments args) { + customMap = args.checkBoolean(0); + return new Object[] {}; + } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchController.java b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchController.java new file mode 100644 index 000000000..04c4d28a0 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchController.java @@ -0,0 +1,106 @@ +package com.hbm.tileentity.network; + +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.EntityProcessorCrossSmooth; +import com.hbm.explosion.vanillant.standard.ExplosionEffectWeapon; +import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; +import com.hbm.interfaces.IControlReceiver; +import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.tileentity.network.RTTYSystem.RTTYChannel; +import com.hbm.util.BufferUtil; +import com.hbm.util.Compat; + +import api.hbm.redstoneoverradio.IRORInteractive; +import api.hbm.redstoneoverradio.RORFunctionException; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityRadioTorchController extends TileEntityLoadedBase implements IControlReceiver { + + public String channel; + public String prev; + public boolean polling = false; + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + if(channel != null && !channel.isEmpty()) { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()).getOpposite(); + + TileEntity tile = Compat.getTileStandard(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); + + if(tile instanceof IRORInteractive) { + IRORInteractive ror = (IRORInteractive) tile; + + RTTYChannel chan = RTTYSystem.listen(worldObj, channel); + if(chan != null) { + String rec = "" + chan.signal; + if("selfdestruct".equals(rec)) { + worldObj.func_147480_a(xCoord, yCoord, zCoord, false); + ExplosionVNT vnt = new ExplosionVNT(worldObj, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 5, null); + vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, 50).setupPiercing(5F, 0.5F)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.setSFX(new ExplosionEffectWeapon(10, 2.5F, 1F)); + vnt.explode(); + return; + } + if(this.polling || !rec.equals(prev)) { + try { + if(rec != null && !rec.isEmpty()) ror.runRORFunction(IRORInteractive.PREFIX_FUNCTION + IRORInteractive.getCommand(rec), IRORInteractive.getParams(rec)); + } catch(RORFunctionException ex) { } + prev = rec; + } + } + } + } + + networkPackNT(50); + } + } + + @Override + public void serialize(ByteBuf buf) { + buf.writeBoolean(this.polling); + BufferUtil.writeString(buf, channel); + } + + @Override + public void deserialize(ByteBuf buf) { + this.polling = buf.readBoolean(); + channel = BufferUtil.readString(buf); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.polling = nbt.getBoolean("p"); + channel = nbt.getString("c"); + this.prev = nbt.getString("prev"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setBoolean("p", polling); + nbt.setString("c", channel); + if(prev != null) nbt.setString("prev", prev); + } + + @Override + public void receiveControl(NBTTagCompound data) { + if(data.hasKey("p")) this.polling = data.getBoolean("p"); + if(data.hasKey("c")) channel = data.getString("c"); + + this.markDirty(); + } + + @Override + public boolean hasPermission(EntityPlayer player) { + return player.getDistance(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) < 16D; + } +} diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchCounter.java b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchCounter.java index 4b4e18803..0bb73a49c 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchCounter.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchCounter.java @@ -3,8 +3,10 @@ package com.hbm.tileentity.network; import com.hbm.module.ModulePatternMatcher; import com.hbm.tileentity.IControlReceiverFilter; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.BufferUtil; import com.hbm.util.Compat; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; @@ -68,24 +70,27 @@ public class TileEntityRadioTorchCounter extends TileEntityMachineBase implement this.lastCount[i] = count; } } - - NBTTagCompound data = new NBTTagCompound(); - data.setBoolean("polling", polling); - data.setIntArray("last", lastCount); - this.matcher.writeToNBT(data); - for(int i = 0; i < 3; i++) if(channel[i] != null) data.setString("c" + i, channel[i]); - this.networkPack(data, 15); + + this.networkPackNT(15); } } - - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.polling = nbt.getBoolean("polling"); - this.lastCount = nbt.getIntArray("last"); - this.matcher.modes = new String[this.matcher.modes.length]; - this.matcher.readFromNBT(nbt); - for(int i = 0; i < 3; i++) this.channel[i] = nbt.getString("c" + i); + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeBoolean(this.polling); + BufferUtil.writeIntArray(buf, this.lastCount); + this.matcher.serialize(buf); + for(int i = 0; i < 3; i++) BufferUtil.writeString(buf, this.channel[i]); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.polling = buf.readBoolean(); + this.lastCount = BufferUtil.readIntArray(buf); + this.matcher.deserialize(buf); + for(int i = 0; i < 3; i++) this.channel[i] = BufferUtil.readString(buf); } @Override @@ -131,4 +136,9 @@ public class TileEntityRadioTorchCounter extends TileEntityMachineBase implement setFilterContents(data); } } + + @Override + public int[] getFilterSlots() { + return new int[]{0, slots.length}; + } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchLogic.java b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchLogic.java index 4a44c3504..27066b5cd 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchLogic.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchLogic.java @@ -1,18 +1,19 @@ package com.hbm.tileentity.network; import com.hbm.interfaces.IControlReceiver; -import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.tileentity.network.RTTYSystem.RTTYChannel; +import com.hbm.util.BufferUtil; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; -import net.minecraft.tileentity.TileEntity; -public class TileEntityRadioTorchLogic extends TileEntity implements INBTPacketReceiver, IControlReceiver { - +public class TileEntityRadioTorchLogic extends TileEntityLoadedBase implements IControlReceiver { + /** channel we're broadcasting on/listening to */ public String channel = ""; /** previous redstone state for input/output, needed for state change detection */ @@ -27,34 +28,34 @@ public class TileEntityRadioTorchLogic extends TileEntity implements INBTPacketR public String[] mapping; /** mapping for conditions through [1, 10], being (<, <=, >=, >, ==, !=, equals, !equals, contains, !contains) */ public int[] conditions; - + public TileEntityRadioTorchLogic() { this.mapping = new String[16]; for(int i = 0; i < 16; i++) this.mapping[i] = ""; this.conditions = new int[16]; for(int i = 0; i < 16; i++) this.conditions[i] = 0; } - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + if(!this.channel.isEmpty()) { - + RTTYChannel chan = RTTYSystem.listen(worldObj, this.channel); - + if(chan != null && (this.polling || (chan.timeStamp > this.lastUpdate - 1 && chan.timeStamp != -1))) { // if we're either polling or a new message has come in String msg = "" + chan.signal; this.lastUpdate = worldObj.getTotalWorldTime(); int nextState = 0; //if no remap apply, default to 0 - + if(chan.timeStamp < this.lastUpdate - 2 && this.polling) { /* the vast majority use-case for this is going to be inequalities, NOT parsing, and the input is undefined - not the output * if no signal => 0 for polling, advanced users parsing strings can easily accommodate this fact instead of breaking numerical torches */ msg = "0"; } - + if(descending) { for(int i = 15; i >= 0; i--) { if(!mapping[i].equals("") && parseSignal(msg, i)) { @@ -70,7 +71,7 @@ public class TileEntityRadioTorchLogic extends TileEntity implements INBTPacketR } } } - + if(this.lastState != nextState) { this.lastState = nextState; worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); @@ -79,17 +80,11 @@ public class TileEntityRadioTorchLogic extends TileEntity implements INBTPacketR } } } - - NBTTagCompound data = new NBTTagCompound(); - data.setBoolean("p", polling); - data.setBoolean("d", descending); - if(channel != null) data.setString("c", channel); - for(int i = 0; i < 16; i++) if(!mapping[i].equals("")) data.setString("m" + i, mapping[i]); - for(int i = 0; i < 16; i++) if(conditions[i] > 0) data.setInteger("c" + i, conditions[i]); - INBTPacketReceiver.networkPack(this, data, 50); + + networkPackNT(50); } } - + public boolean parseSignal(String signal, int index) { if(conditions[index] <= 5) { //if a non-string operator int sig = 0; @@ -97,32 +92,22 @@ public class TileEntityRadioTorchLogic extends TileEntity implements INBTPacketR try { sig = Integer.parseInt(signal); map = Integer.parseInt(mapping[index]); } catch(Exception x) { return false; //not a valid input; skip! slightly annoying about the mapping but we'll restrict input anyway }; - + switch(conditions[index]) { - default: - return sig < map; - case 1: - return sig <= map; - case 2: - return sig >= map; - case 3: - return sig > map; - case 4: - return sig == map; - case 5: - return sig != map; + default: return sig < map; + case 1: return sig <= map; + case 2: return sig >= map; + case 3: return sig > map; + case 4: return sig == map; + case 5: return sig != map; } } - + switch(conditions[index]) { - default: - return signal.equals(mapping[index]); - case 7: - return !signal.equals(mapping[index]); - case 8: - return signal.contains(mapping[index]); - case 9: - return !signal.contains(mapping[index]); + default: return signal.equals(mapping[index]); + case 7: return !signal.equals(mapping[index]); + case 8: return signal.contains(mapping[index]); + case 9: return !signal.contains(mapping[index]); } } @@ -150,12 +135,22 @@ public class TileEntityRadioTorchLogic extends TileEntity implements INBTPacketR for(int i = 0; i < 16; i++) if(conditions[i] > 0) nbt.setInteger("c" + i, conditions[i]); } - public void networkUnpack(NBTTagCompound nbt) { - this.polling = nbt.getBoolean("p"); - this.channel = nbt.getString("c"); - this.descending = nbt.getBoolean("d"); - for(int i = 0; i < 16; i++) this.mapping[i] = nbt.getString("m" + i); - for(int i = 0; i < 16; i++) this.conditions[i] = nbt.getInteger("c" + i); + @Override + public void serialize(ByteBuf buf) { + buf.writeBoolean(this.polling); + BufferUtil.writeString(buf, this.channel); + buf.writeBoolean(this.descending); + for(int i = 0; i < 16; i++) BufferUtil.writeString(buf, this.mapping[i]); + for(int i = 0; i < 16; i++) buf.writeInt(this.conditions[i]); + } + + @Override + public void deserialize(ByteBuf buf) { + this.polling = buf.readBoolean(); + this.channel = BufferUtil.readString(buf); + this.descending = buf.readBoolean(); + for(int i = 0; i < 16; i++) this.mapping[i] = BufferUtil.readString(buf); + for(int i = 0; i < 16; i++) this.conditions[i] = buf.readInt(); } @Override @@ -164,7 +159,7 @@ public class TileEntityRadioTorchLogic extends TileEntity implements INBTPacketR nbt.setByte("l", (byte) this.lastState); return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); } - + @Override public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { int last = this.lastState; @@ -186,7 +181,7 @@ public class TileEntityRadioTorchLogic extends TileEntity implements INBTPacketR if(data.hasKey("d")) this.descending = data.getBoolean("d"); for(int i = 0; i < 16; i++) if(data.hasKey("m" + i)) this.mapping[i] = data.getString("m" + i); for(int i = 0; i < 16; i++) if(data.hasKey("c" + i)) this.conditions[i] = data.getInteger("c" + i); - + this.markDirty(); } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchReader.java b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchReader.java new file mode 100644 index 000000000..15e0465e9 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchReader.java @@ -0,0 +1,106 @@ +package com.hbm.tileentity.network; + +import com.hbm.interfaces.IControlReceiver; +import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.BufferUtil; +import com.hbm.util.Compat; + +import api.hbm.redstoneoverradio.IRORValueProvider; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityRadioTorchReader extends TileEntityLoadedBase implements IControlReceiver { + + public String[] channels = new String[8]; + public String[] names = new String[8]; + public String[] prev = new String[8]; + public boolean polling = false; + + public TileEntityRadioTorchReader() { + for(int i = 0; i < channels.length; i++) channels[i] = ""; + for(int i = 0; i < names.length; i++) names[i] = ""; + for(int i = 0; i < prev.length; i++) prev[i] = ""; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()).getOpposite(); + + TileEntity tile = Compat.getTileStandard(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); + + if(tile instanceof IRORValueProvider) { + IRORValueProvider prov = (IRORValueProvider) tile; + + for(int i = 0; i < 8; i++) { + String channel = channels[i]; + String name = names[i]; + String previous = prev[i]; + + if(channel == null || channel.isEmpty()) continue; + if(name == null || name.isEmpty()) continue; + + String value = prov.provideRORValue(IRORValueProvider.PREFIX_VALUE + name); + if(value == null) continue; + + if(polling || !value.equals(previous)) { + RTTYSystem.broadcast(worldObj, channel, value); + this.prev[i] = value; + } + } + } + + networkPackNT(50); + } + } + + @Override + public void serialize(ByteBuf buf) { + buf.writeBoolean(this.polling); + for(int i = 0; i < channels.length; i++) BufferUtil.writeString(buf, channels[i]); + for(int i = 0; i < names.length; i++) BufferUtil.writeString(buf, names[i]); + } + + @Override + public void deserialize(ByteBuf buf) { + this.polling = buf.readBoolean(); + for(int i = 0; i < channels.length; i++) channels[i] = BufferUtil.readString(buf); + for(int i = 0; i < names.length; i++) names[i] = BufferUtil.readString(buf); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.polling = nbt.getBoolean("p"); + for(int i = 0; i < channels.length; i++) channels[i] = nbt.getString("c" + i); + for(int i = 0; i < names.length; i++) names[i] = nbt.getString("n" + i); + for(int i = 0; i < prev.length; i++) prev[i] = nbt.getString("p" + i); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setBoolean("p", polling); + for(int i = 0; i < channels.length; i++) nbt.setString("c" + i, channels[i]); + for(int i = 0; i < names.length; i++) nbt.setString("n" + i, names[i]); + for(int i = 0; i < prev.length; i++) nbt.setString("p" + i, prev[i]); + } + + @Override + public void receiveControl(NBTTagCompound data) { + if(data.hasKey("p")) this.polling = data.getBoolean("p"); + for(int i = 0; i < channels.length; i++) if(data.hasKey("c" + i)) channels[i] = data.getString("c" + i); + for(int i = 0; i < names.length; i++) if(data.hasKey("n" + i)) names[i] = data.getString("n" + i); + + this.markDirty(); + } + + @Override + public boolean hasPermission(EntityPlayer player) { + return player.getDistance(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) < 16D; + } +} diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityRequestNetwork.java b/src/main/java/com/hbm/tileentity/network/TileEntityRequestNetwork.java index 9da1cfa2a..7da701b58 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityRequestNetwork.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityRequestNetwork.java @@ -3,12 +3,13 @@ package com.hbm.tileentity.network; import java.util.HashMap; import java.util.Iterator; +import com.hbm.interfaces.NotableComments; +import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.tileentity.network.RequestNetwork.PathNode; import com.hbm.util.HashedSet; import com.hbm.util.ParticleUtil; import com.hbm.util.fauxpointtwelve.BlockPos; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.ChunkCoordIntPair; @@ -20,21 +21,22 @@ import net.minecraft.world.World; * it is all spiraling out of control * in a giant mess of nested generics, magic numbers and static global variables * may god have mercy on my soul - * + * * @author hbm * */ -public abstract class TileEntityRequestNetwork extends TileEntity { +@NotableComments +public abstract class TileEntityRequestNetwork extends TileEntityLoadedBase { public HashedSet reachableNodes = new HashedSet(); public HashedSet knownNodes = new HashedSet(); public static final int maxRange = 24; - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + if(worldObj.getTotalWorldTime() % 20 == 0) { BlockPos pos = getCoord(); @@ -42,7 +44,7 @@ public abstract class TileEntityRequestNetwork extends TileEntity { if(this.worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord)) newNode.active = false; // push new node push(worldObj, newNode); - + // remove known nodes that no longer exist // since we can assume a sane number of nodes to exist at any given time, we can run this check in full every second Iterator it = knownNodes.iterator(); @@ -56,7 +58,7 @@ public abstract class TileEntityRequestNetwork extends TileEntity { it.remove(); } } - + // draw debug crap for(PathNode known : knownNodes) { if(reachableNodes.contains(known)) ParticleUtil.spawnDroneLine(worldObj, @@ -72,41 +74,41 @@ public abstract class TileEntityRequestNetwork extends TileEntity { data.setString("text", knownNodes.size() + " / " + reachableNodes.size() + " / " + localNodes.size()); PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); */ - + //both following checks run the `hasPath` function which is costly, so it only runs one op at a time - + //rescan known nodes for(PathNode known : knownNodes) { - + if(!hasPath(worldObj, pos, known.pos)) { reachableNodes.remove(known); } else { reachableNodes.add(known); } } - + //discover new nodes int newNodeLimit = 5; for(PathNode node : localNodes) { - + if(!knownNodes.contains(node) && !node.equals(pos)) { newNodeLimit--; knownNodes.add(node); if(hasPath(worldObj, pos, node.pos)) reachableNodes.add(node); } - + if(newNodeLimit <= 0) break; } } } } - + public abstract PathNode createNode(BlockPos pos); - + public BlockPos getCoord() { return new BlockPos(xCoord, yCoord + 1, zCoord); } - + /** * Performs a bidirectional scan to see if the nodes have line of sight * @param world @@ -126,34 +128,31 @@ public abstract class TileEntityRequestNetwork extends TileEntity { MovingObjectPosition mop2 = world.func_147447_a(vec2, vec1, false, true, false); return (mop0 == null || mop0.typeOfHit == mop0.typeOfHit.MISS) && (mop2 == null || mop2.typeOfHit == mop2.typeOfHit.MISS); } - + /** * Adds the position to that chunk's node list. * @param world - * @param x - * @param y - * @param z */ public static void push(World world, PathNode node) { - + HashMap> coordMap = RequestNetwork.activeWaypoints.get(world); - + if(coordMap == null) { coordMap = new HashMap(); RequestNetwork.activeWaypoints.put(world, coordMap); } - + ChunkCoordIntPair chunkPos = new ChunkCoordIntPair(node.pos.getX() >> 4, node.pos.getZ() >> 4); HashedSet posList = coordMap.get(chunkPos); - + if(posList == null) { posList = new HashedSet(); coordMap.put(chunkPos, posList); } - + posList.add(node); } - + /** * Gets all active nodes in a 5x5 chunk area, centered around the given position. * Used for finding neighbors to check connections to. @@ -169,16 +168,16 @@ public abstract class TileEntityRequestNetwork extends TileEntity { x >>= 4; z >>= 4; - + HashMap> coordMap = RequestNetwork.activeWaypoints.get(world); - + if(coordMap == null) return nodes; - + for(int i = -range; i <= range; i++) { for(int j = -range; j <= range; j++) { - + HashedSet nodeList = coordMap.get(new ChunkCoordIntPair(x + i, z + j)); - + if(nodeList != null) for(PathNode node : nodeList) { if(!pos.contains(node.pos)) { nodes.add(node); @@ -187,7 +186,7 @@ public abstract class TileEntityRequestNetwork extends TileEntity { } } } - + return nodes; } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityRequestNetworkContainer.java b/src/main/java/com/hbm/tileentity/network/TileEntityRequestNetworkContainer.java index 71fc659f9..5ccb78658 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityRequestNetworkContainer.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityRequestNetworkContainer.java @@ -1,9 +1,5 @@ package com.hbm.tileentity.network; -import com.hbm.packet.NBTPacket; -import com.hbm.packet.PacketDispatcher; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; @@ -74,7 +70,7 @@ public abstract class TileEntityRequestNetworkContainer extends TileEntityReques @Override public String getInventoryName() { return this.hasCustomInventoryName() ? this.customName : getName(); } public abstract String getName(); @Override public boolean hasCustomInventoryName() { return this.customName != null && this.customName.length() > 0; } - public void setCustomName(String name) { this.customName = name; } + public void setCustomName(String name) { this.customName = name; markDirty(); } @Override public int getInventoryStackLimit() { return 64; } @Override @@ -106,11 +102,7 @@ public abstract class TileEntityRequestNetworkContainer extends TileEntityReques return null; } } - - public void networkPack(NBTTagCompound nbt, int range) { - if(!worldObj.isRemote) PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(nbt, xCoord, yCoord, zCoord), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); - } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -125,6 +117,8 @@ public abstract class TileEntityRequestNetworkContainer extends TileEntityReques slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } + + customName = nbt.getString("name"); } @Override @@ -143,5 +137,9 @@ public abstract class TileEntityRequestNetworkContainer extends TileEntityReques } } nbt.setTag("items", list); + + if (customName != null) { + nbt.setString("name", customName); + } } } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretArty.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretArty.java index 156472346..c3cd4e131 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretArty.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretArty.java @@ -5,24 +5,24 @@ import java.util.List; import com.hbm.entity.projectile.EntityArtilleryShell; import com.hbm.handler.CasingEjector; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.container.ContainerTurretBase; import com.hbm.inventory.gui.GUITurretArty; import com.hbm.items.ModItems; import com.hbm.items.weapon.ItemAmmoArty; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.common.Optional; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.Item; @@ -32,7 +32,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implements IGUIProvider { - + public short mode = 0; public static final short MODE_ARTILLERY = 0; public static final short MODE_CANNON = 1; @@ -41,23 +41,23 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen private boolean retracting = false; public double barrelPos = 0; public double lastBarrelPos = 0; - + @Override @SideOnly(Side.CLIENT) public List getAmmoTypesForDisplay() { - + if(ammoStacks != null) return ammoStacks; - + ammoStacks = new ArrayList(); List list = new ArrayList(); ModItems.ammo_arty.getSubItems(ModItems.ammo_arty, MainRegistry.weaponTab, list); this.ammoStacks.addAll(list); - + return ammoStacks; } - + @Override protected List getAmmoList() { return new ArrayList(); @@ -82,7 +82,7 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen public double getAcceptableInaccuracy() { return 0; } - + @Override public double getHeightOffset() { return 3D; @@ -92,7 +92,7 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen public double getDecetorRange() { return this.mode == this.MODE_CANNON ? 250D : 3000D; } - + @Override public double getDecetorGrace() { return this.mode == this.MODE_CANNON ? 32D : 250D; @@ -107,7 +107,7 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen public double getTurretPitchSpeed() { return 0.5D; } - + @Override public double getTurretDepression() { return 30D; @@ -117,7 +117,7 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen public double getTurretElevation() { return 90D; } - + @Override public int getDecetorInterval() { return mode == MODE_CANNON ? 20 : 200; @@ -127,12 +127,12 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen public boolean doLOSCheck() { return this.mode == this.MODE_CANNON; } - + @Override protected void alignTurret() { Vec3 pos = this.getTurretPos(); - + Vec3 barrel = Vec3.createVectorHelper(this.getBarrelLength(), 0, 0); barrel.rotateAroundZ((float) -this.rotationPitch); barrel.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); @@ -145,10 +145,10 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen pos.xCoord += barrel.xCoord; pos.yCoord += barrel.yCoord; pos.zCoord += barrel.zCoord; - + Vec3 delta = Vec3.createVectorHelper(tPos.xCoord - pos.xCoord, tPos.yCoord - pos.yCoord, tPos.zCoord - pos.zCoord); double targetYaw = -Math.atan2(delta.xCoord, delta.zCoord); - + double x = Math.sqrt(delta.xCoord * delta.xCoord + delta.zCoord * delta.zCoord); double y = delta.yCoord; double v0 = getV0(); @@ -156,16 +156,16 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen double g = 9.81 * 0.05; double upperLower = mode == MODE_CANNON ? -1 : 1; double targetPitch = Math.atan((v02 + Math.sqrt(v02*v02 - g*(g*x*x + 2*y*v02)) * upperLower) / (g*x)); - + this.turnTowardsAngle(targetPitch, targetYaw); } - + public double getV0() { return mode == MODE_CANNON ? 20D : 50D; } - + public ItemStack getShellLoaded() { - + for(int i = 1; i < 10; i++) { if(slots[i] != null) { if(slots[i].getItem() == ModItems.ammo_arty) { @@ -173,69 +173,69 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen } } } - + return null; } - + public void conusmeAmmo(Item ammo) { - + for(int i = 1; i < 10; i++) { if(slots[i] != null && slots[i].getItem() == ammo) { this.decrStackSize(i, 1); return; } } - + this.markDirty(); } public void spawnShell(ItemStack type) { - + Vec3 pos = this.getTurretPos(); Vec3 vec = Vec3.createVectorHelper(this.getBarrelLength(), 0, 0); vec.rotateAroundZ((float) -this.rotationPitch); vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - + EntityArtilleryShell proj = new EntityArtilleryShell(worldObj); proj.setPositionAndRotation(pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord, 0.0F, 0.0F); proj.setThrowableHeading(vec.xCoord, vec.yCoord, vec.zCoord, (float) getV0(), 0.0F); proj.setTarget((int) tPos.xCoord, (int) tPos.yCoord, (int) tPos.zCoord); proj.setType(type.getItemDamage()); - + if(type.getItemDamage() == 8 && type.hasTagCompound()) { NBTTagCompound cargo = type.stackTagCompound.getCompoundTag("cargo"); - + if(cargo != null) { proj.setCargo(ItemStack.loadItemStackFromNBT(cargo)); } } - + if(this.mode != this.MODE_CANNON) proj.setWhistle(true); - + worldObj.spawnEntityInWorld(proj); - + casingDelay = this.casingDelay(); } - + @Override public int casingDelay() { return 7; } - + @Override public void updateEntity() { - + if(worldObj.isRemote) { this.lastBarrelPos = this.barrelPos; - + if(this.retracting) { this.barrelPos += 0.5; - + if(this.barrelPos >= 1) { this.retracting = false; } - + } else { this.barrelPos -= 0.05; if(this.barrelPos < 0) { @@ -247,7 +247,7 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen this.rotationPitch = this.syncRotationPitch; this.rotationYaw = this.syncRotationYaw; } - + if(!worldObj.isRemote) { if(this.mode == this.MODE_MANUAL) { if(!this.targetQueue.isEmpty()) { @@ -256,22 +256,22 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen } else { this.targetQueue.clear(); } - + this.aligned = false; - + this.updateConnections(); - + if(this.target != null && !target.isEntityAlive()) { this.target = null; this.stattrak++; } - + if(target != null && this.mode != this.MODE_MANUAL) { if(!this.entityInLOS(this.target)) { this.target = null; } } - + if(target != null) { this.tPos = this.getEntityPos(target); } else { @@ -279,61 +279,60 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen this.tPos = null; } } - + if(isOn() && hasPower()) { - + if(tPos != null) this.alignTurret(); } else { this.target = null; this.tPos = null; } - + if(!isOn()) this.targetQueue.clear(); - + if(this.target != null && !target.isEntityAlive()) { this.target = null; this.tPos = null; this.stattrak++; } - + if(isOn() && hasPower()) { searchTimer--; - + this.setPower(this.getPower() - this.getConsumption()); - + if(searchTimer <= 0) { searchTimer = this.getDecetorInterval(); - + if(this.target == null && this.mode != this.MODE_MANUAL) this.seekNewTarget(); } } else { searchTimer = 0; } - + if(this.aligned) { this.updateFiringTick(); } - + this.power = Library.chargeTEFromItems(slots, 10, this.power, this.getMaxPower()); - - NBTTagCompound data = this.writePacket(); - this.networkPack(data, 250); - + + this.networkPackNT(250); + this.didJustShoot = false; - + if(casingDelay > 0) { casingDelay--; } else { spawnCasing(); } - + } else { - + //this will fix the interpolation error when the turret crosses the 360° point if(Math.abs(this.lastRotationYaw - this.rotationYaw) > Math.PI) { - + if(this.lastRotationYaw < this.rotationYaw) this.lastRotationYaw += Math.PI * 2; else @@ -343,18 +342,18 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen } int timer; - + @Override public void updateFiringTick() { - + timer++; - + int delay = mode == MODE_ARTILLERY ? 300 : 40; - + if(timer % delay == 0) { - + ItemStack conf = this.getShellLoaded(); - + if(conf != null) { cachedCasingConfig = ItemAmmoArty.itemTypes[conf.getItemDamage()].casing; this.spawnShell(conf); @@ -365,15 +364,15 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen vec.rotateAroundZ((float) -this.rotationPitch); vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); this.didJustShoot = true; - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "vanillaExt"); data.setString("mode", "largeexplode"); data.setFloat("size", 0F); data.setByte("count", (byte)5); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); } - + if(this.mode == this.MODE_MANUAL && !this.targetQueue.isEmpty()) { this.targetQueue.remove(0); this.tPos = null; @@ -382,7 +381,7 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen } protected static CasingEjector ejector = new CasingEjector().setMotion(0, 0.6, -1).setAngleRange(0.1F, 0.1F); - + @Override protected CasingEjector getEjector() { return ejector; @@ -399,52 +398,49 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen this.mode++; if(this.mode > 2) this.mode = 0; - + this.tPos = null; this.targetQueue.clear(); - + } else{ super.handleButtonPacket(value, meta); } } @Override - protected NBTTagCompound writePacket() { - NBTTagCompound data = super.writePacket(); - data.setShort("mode", mode); - if(didJustShoot) - data.setBoolean("didJustShoot", didJustShoot); - return data; + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeShort(this.mode); + buf.writeBoolean(this.didJustShoot); } @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - this.mode = nbt.getShort("mode"); - if(nbt.getBoolean("didJustShoot")) - this.retracting = true; + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.mode = buf.readShort(); + this.retracting = buf.readBoolean(); } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + this.mode = nbt.getShort("mode"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setShort("mode", this.mode); } - + @Override protected void spawnCasing() { - + if(cachedCasingConfig == null) return; CasingEjector ej = getEjector(); - + Vec3 spawn = this.getCasingSpawnPos(); NBTTagCompound data = new NBTTagCompound(); data.setString("type", "casing"); @@ -453,8 +449,8 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen data.setBoolean("crouched", false); data.setString("name", cachedCasingConfig.getName()); if(ej != null) data.setInteger("ej", ej.getId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, spawn.xCoord, spawn.yCoord, spawn.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, spawn.xCoord, spawn.yCoord, spawn.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + cachedCasingConfig = null; } @@ -465,7 +461,7 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUITurretArty(player.inventory, this); } @Callback diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java index 2ec8a6b26..67455333e 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java @@ -9,23 +9,23 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.entity.logic.EntityBomber; import com.hbm.entity.missile.EntityMissileBaseNT; import com.hbm.entity.missile.EntityMissileCustom; -import com.hbm.entity.projectile.EntityBulletBaseNT; +import com.hbm.entity.projectile.EntityBulletBaseMK4; import com.hbm.entity.train.EntityRailCarBase; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; import com.hbm.handler.CasingEjector; import com.hbm.handler.CompatHandler; +import com.hbm.handler.threading.PacketThreading; import com.hbm.interfaces.IControlReceiver; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.container.ContainerTurretBase; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemTurretBiometry; +import com.hbm.items.weapon.sedna.BulletConfig; import com.hbm.lib.Library; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.particle.SpentCasing; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.BufferUtil; import com.hbm.util.CompatExternal; import api.hbm.energymk2.IEnergyReceiverMK2; @@ -34,6 +34,7 @@ import cpw.mods.fml.common.Optional; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; @@ -74,10 +75,10 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple @Override public void receiveControl(NBTTagCompound data) { - + if(data.hasKey("del")) { this.removeName(data.getInteger("del")); - + } else if(data.hasKey("name")) { this.addName(data.getString("name")); } @@ -100,7 +101,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple public boolean aligned = false; //how many ticks until the next check public int searchTimer; - + public long power; public boolean targetPlayers = false; @@ -110,32 +111,32 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple public Entity target; public Vec3 tPos; - + //tally marks! public int stattrak; public int casingDelay; protected SpentCasing cachedCasingConfig = null; - + /** * X - * + * * YYY * YYY * YYY Z - * + * * X -> ai slot (0) * Y -> ammo slots (1 - 9) * Z -> battery slot (10) */ - + public TileEntityTurretBaseNT() { super(11); } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - + this.power = nbt.getLong("power"); this.isOn = nbt.getBoolean("isOn"); this.targetPlayers = nbt.getBoolean("targetPlayers"); @@ -144,11 +145,11 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple this.targetMachines = nbt.getBoolean("targetMachines"); this.stattrak = nbt.getInteger("stattrak"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setLong("power", this.power); nbt.setBoolean("isOn", this.isOn); nbt.setBoolean("targetPlayers", this.targetPlayers); @@ -157,81 +158,80 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple nbt.setBoolean("targetMachines", this.targetMachines); nbt.setInteger("stattrak", this.stattrak); } - + public void manualSetup() { } - + @Override public void updateEntity() { - + if(worldObj.isRemote) { this.lastRotationPitch = this.rotationPitch; this.lastRotationYaw = this.rotationYaw; this.rotationPitch = this.syncRotationPitch; this.rotationYaw = this.syncRotationYaw; } - + if(!worldObj.isRemote) { this.aligned = false; this.updateConnections(); - + if(this.target != null && !target.isEntityAlive()) { this.target = null; this.stattrak++; } - + if(target != null) { if(!this.entityInLOS(this.target)) { this.target = null; } } - + if(target != null) { this.tPos = this.getEntityPos(target); } else { this.tPos = null; } - + if(isOn() && hasPower()) { - + if(tPos != null) this.alignTurret(); } else { - + this.target = null; this.tPos = null; } - + if(this.target != null && !target.isEntityAlive()) { this.target = null; this.tPos = null; this.stattrak++; } - + if(isOn() && hasPower()) { searchTimer--; - + this.setPower(this.getPower() - this.getConsumption()); - + if(searchTimer <= 0) { searchTimer = this.getDecetorInterval(); - + if(this.target == null) this.seekNewTarget(); } } else { searchTimer = 0; } - + if(this.aligned) { this.updateFiringTick(); } - + this.power = Library.chargeTEFromItems(slots, 10, this.power, this.getMaxPower()); - - NBTTagCompound data = this.writePacket(); - this.networkPack(data, 250); - + + this.networkPackNT(250); + if(usesCasings() && this.casingDelay() > 0) { if(casingDelay > 0) { casingDelay--; @@ -239,12 +239,12 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple spawnCasing(); } } - + } else { - + //this will fix the interpolation error when the turret crosses the 360° point if(Math.abs(this.lastRotationYaw - this.rotationYaw) > Math.PI) { - + if(this.lastRotationYaw < this.rotationYaw) this.lastRotationYaw += Math.PI * 2; else @@ -252,28 +252,36 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple } } } - - protected NBTTagCompound writePacket() { - - NBTTagCompound data = new NBTTagCompound(); - if(this.tPos != null) { - data.setDouble("tX", this.tPos.xCoord); - data.setDouble("tY", this.tPos.yCoord); - data.setDouble("tZ", this.tPos.zCoord); - } - data.setDouble("pitch", this.rotationPitch); - data.setDouble("yaw", this.rotationYaw); - data.setLong("power", this.power); - data.setBoolean("isOn", this.isOn); - data.setBoolean("targetPlayers", this.targetPlayers); - data.setBoolean("targetAnimals", this.targetAnimals); - data.setBoolean("targetMobs", this.targetMobs); - data.setBoolean("targetMachines", this.targetMachines); - data.setInteger("stattrak", this.stattrak); - - return data; + + @Override + public void serialize(ByteBuf buf) { + BufferUtil.writeVec3(buf, this.tPos); + buf.writeDouble(this.rotationPitch); + buf.writeDouble(this.rotationYaw); + buf.writeLong(this.power); + buf.writeBoolean(this.isOn); + buf.writeBoolean(this.targetPlayers); + buf.writeBoolean(this.targetAnimals); + buf.writeBoolean(this.targetMobs); + buf.writeBoolean(this.targetMachines); + buf.writeInt(this.stattrak); } - + + @Override + public void deserialize(ByteBuf buf) { + this.turnProgress = 2; + this.tPos = BufferUtil.readVec3(buf); + this.syncRotationPitch = buf.readDouble(); + this.syncRotationYaw = buf.readDouble(); + this.power = buf.readLong(); + this.isOn = buf.readBoolean(); + this.targetPlayers = buf.readBoolean(); + this.targetAnimals = buf.readBoolean(); + this.targetMobs = buf.readBoolean(); + this.targetMachines = buf.readBoolean(); + this.stattrak = buf.readInt(); + } + protected void updateConnections() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); @@ -292,31 +300,9 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * -1, dir); } - @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - - this.turnProgress = 2; - this.syncRotationPitch = nbt.getDouble("pitch"); - this.syncRotationYaw = nbt.getDouble("yaw"); - this.power = nbt.getLong("power"); - this.isOn = nbt.getBoolean("isOn"); - this.targetPlayers = nbt.getBoolean("targetPlayers"); - this.targetAnimals = nbt.getBoolean("targetAnimals"); - this.targetMobs = nbt.getBoolean("targetMobs"); - this.targetMachines = nbt.getBoolean("targetMachines"); - this.stattrak = nbt.getInteger("stattrak"); - - if(nbt.hasKey("tX")) { - this.tPos = Vec3.createVectorHelper(nbt.getDouble("tX"), nbt.getDouble("tY"), nbt.getDouble("tZ")); - } else { - this.tPos = null; - } - } - @Override public void handleButtonPacket(int value, int meta) { - + switch(meta) { case 0:this.isOn = !this.isOn; break; case 1:this.targetPlayers = !this.targetPlayers; break; @@ -325,51 +311,47 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple case 4:this.targetMachines = !this.targetMachines; break; } } - + public abstract void updateFiringTick(); - + public boolean usesCasings() { return false; } public int casingDelay() { return 0; } - - public BulletConfiguration getFirstConfigLoaded() { - + + public BulletConfig getFirstConfigLoaded() { + List list = getAmmoList(); - + if(list == null || list.isEmpty()) return null; - + //doing it like this will fire slots in the right order, not in the order of the configs //you know, the weird thing the IItemGunBase does for(int i = 1; i < 10; i++) { - + if(slots[i] != null) { - + for(Integer c : list) { //we can afford all this extra iteration trash on the count that a turret has at most like 4 bullet configs - - BulletConfiguration conf = BulletConfigSyncingUtil.pullConfig(c); - - if(conf.ammo != null && conf.ammo.matchesRecipe(slots[i], true)) - return conf; + + BulletConfig conf = BulletConfig.configs.get(c); + if(conf.ammo != null && conf.ammo.matchesRecipe(slots[i], true)) return conf; } } } - + return null; } - - public void spawnBullet(BulletConfiguration bullet) { - + + public void spawnBullet(BulletConfig bullet, float baseDamage) { + Vec3 pos = this.getTurretPos(); Vec3 vec = Vec3.createVectorHelper(this.getBarrelLength(), 0, 0); vec.rotateAroundZ((float) -this.rotationPitch); vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - - EntityBulletBaseNT proj = new EntityBulletBaseNT(worldObj, BulletConfigSyncingUtil.getKey(bullet)); - proj.setPositionAndRotation(pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord, 0.0F, 0.0F); - - proj.setThrowableHeading(vec.xCoord, vec.yCoord, vec.zCoord, bullet.velocity, bullet.spread); + + EntityBulletBaseMK4 proj = new EntityBulletBaseMK4(worldObj, bullet, baseDamage, bullet.spread, (float) rotationYaw, (float) rotationPitch); + proj.setPositionAndRotation(pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord, proj.rotationYaw, proj.rotationPitch); worldObj.spawnEntityInWorld(proj); - + if(usesCasings()) { if(this.casingDelay() == 0) { spawnCasing(); @@ -378,118 +360,118 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple } } } - + public void conusmeAmmo(ComparableStack ammo) { - + for(int i = 1; i < 10; i++) { - + if(slots[i] != null && ammo.matchesRecipe(slots[i], true)) { - + this.decrStackSize(i, 1); return; } } - + this.markDirty(); } - + /** * Reads the namelist from the AI chip in slot 0 * @return null if there is either no chip to be found or if the name list is empty, otherwise it just reads the strings from the chip's NBT */ public List getWhitelist() { - + if(slots[0] != null && slots[0].getItem() == ModItems.turret_chip) { - + String[] array = ItemTurretBiometry.getNames(slots[0]); - + if(array == null) return null; - + return Arrays.asList(ItemTurretBiometry.getNames(slots[0])); } - + return null; } - + /** * Appends a new name to the chip * @param name */ public void addName(String name) { - + if(slots[0] != null && slots[0].getItem() == ModItems.turret_chip) { ItemTurretBiometry.addName(slots[0], name); } } - + /** - * Removes the chip's entry at a given + * Removes the chip's entry at a given * @param index */ public void removeName(int index) { - + if(slots[0] != null && slots[0].getItem() == ModItems.turret_chip) { - + String[] array = ItemTurretBiometry.getNames(slots[0]); - + if(array == null) return; - + List names = new ArrayList(Arrays.asList(array)); ItemTurretBiometry.clearNames(slots[0]); - + names.remove(index); - + for(String name : names) ItemTurretBiometry.addName(slots[0], name); } } - + /** * Finds the nearest acceptable target within range and in line of sight */ protected void seekNewTarget() { - + Vec3 pos = this.getTurretPos(); double range = this.getDecetorRange(); List entities = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(pos.xCoord, pos.yCoord, pos.zCoord, pos.xCoord, pos.yCoord, pos.zCoord).expand(range, range, range)); - + Entity target = null; double closest = range; - + for(Entity entity : entities) { Vec3 ent = this.getEntityPos(entity); Vec3 delta = Vec3.createVectorHelper(ent.xCoord - pos.xCoord, ent.yCoord - pos.yCoord, ent.zCoord - pos.zCoord); - + double dist = delta.lengthVector(); - + //check if it's in range if(dist > range) continue; - + //check if we should even fire at this entity if(!entityAcceptableTarget(entity)) continue; - + //check for visibility if(!entityInLOS(entity)) continue; - + //replace current target if this one is closer if(dist < closest) { closest = dist; target = entity; } } - + this.target = target; - + if(target != null) this.tPos = this.getEntityPos(this.target); } - + /** * Turns the turret by a specific amount of degrees towards the target * Assumes that the target is not null @@ -497,7 +479,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple protected void alignTurret() { this.turnTowards(tPos); } - + /** * Turns the turret towards the specified position */ @@ -505,32 +487,32 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple Vec3 pos = this.getTurretPos(); Vec3 delta = Vec3.createVectorHelper(ent.xCoord - pos.xCoord, ent.yCoord - pos.yCoord, ent.zCoord - pos.zCoord); - + double targetPitch = Math.asin(delta.yCoord / delta.lengthVector()); double targetYaw = -Math.atan2(delta.xCoord, delta.zCoord); - + this.turnTowardsAngle(targetPitch, targetYaw); } - + public void turnTowardsAngle(double targetPitch, double targetYaw) { - + double turnYaw = Math.toRadians(this.getTurretYawSpeed()); double turnPitch = Math.toRadians(this.getTurretPitchSpeed()); double pi2 = Math.PI * 2; - + //if we are about to overshoot the target by turning, just snap to the correct rotation if(Math.abs(this.rotationPitch - targetPitch) < turnPitch || Math.abs(this.rotationPitch - targetPitch) > pi2 - turnPitch) { this.rotationPitch = targetPitch; } else { - + if(targetPitch > this.rotationPitch) this.rotationPitch += turnPitch; else this.rotationPitch -= turnPitch; } - + double deltaYaw = (targetYaw - this.rotationYaw) % pi2; - + //determines what direction the turret should turn //used to prevent situations where the turret would do almost a full turn when //the target is only a couple degrees off while being on the other side of the 360° line @@ -544,68 +526,68 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple dir = -1; else if(deltaYaw > 0) dir = 1; - + if(Math.abs(this.rotationYaw - targetYaw) < turnYaw || Math.abs(this.rotationYaw - targetYaw) > pi2 - turnYaw) { this.rotationYaw = targetYaw; } else { this.rotationYaw += turnYaw * dir; } - + double deltaPitch = targetPitch - this.rotationPitch; deltaYaw = targetYaw - this.rotationYaw; - + double deltaAngle = Math.sqrt(deltaYaw * deltaYaw + deltaPitch * deltaPitch); this.rotationYaw = this.rotationYaw % pi2; this.rotationPitch = this.rotationPitch % pi2; - + if(deltaAngle <= Math.toRadians(this.getAcceptableInaccuracy())) { this.aligned = true; } } - + /** * Checks line of sight to the passed entity along with whether the angle falls within swivel range * @return */ public boolean entityInLOS(Entity e) { - + if(e.isDead || !e.isEntityAlive()) return false; - + if(!hasThermalVision() && e instanceof EntityLivingBase && ((EntityLivingBase)e).isPotionActive(Potion.invisibility)) return false; - + Vec3 pos = this.getTurretPos(); Vec3 ent = this.getEntityPos(e); Vec3 delta = Vec3.createVectorHelper(ent.xCoord - pos.xCoord, ent.yCoord - pos.yCoord, ent.zCoord - pos.zCoord); double length = delta.lengthVector(); - + if(length < this.getDecetorGrace() || length > this.getDecetorRange() * 1.1) //the latter statement is only relevant for entities that have already been detected return false; - + delta = delta.normalize(); double pitch = Math.asin(delta.yCoord / delta.lengthVector()); double pitchDeg = Math.toDegrees(pitch); - + //check if the entity is within swivel range if(pitchDeg < -this.getTurretDepression() || pitchDeg > this.getTurretElevation()) return false; - + return !Library.isObstructedOpaque(worldObj, ent.xCoord, ent.yCoord, ent.zCoord, pos.xCoord, pos.yCoord, pos.zCoord); } - + /** * Returns true if the entity is considered for targeting * @return */ public boolean entityAcceptableTarget(Entity e) { - + if(e.isDead || !e.isEntityAlive()) return false; - + for(Class c : CompatExternal.turretTargetBlacklist) if(c.isAssignableFrom(e.getClass())) return false; - + for(Class c : CompatExternal.turretTargetCondition.keySet()) { if(c.isAssignableFrom(e.getClass())) { BiFunction lambda = CompatExternal.turretTargetCondition.get(c); @@ -618,9 +600,9 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple } List wl = getWhitelist(); - + if(wl != null) { - + if(e instanceof EntityPlayer) { if(wl.contains(((EntityPlayer)e).getDisplayName())) { return false; @@ -631,14 +613,14 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple } } } - + if(targetAnimals) { - + if(e instanceof IAnimals) return true; if(e instanceof INpc) return true; for(Class c : CompatExternal.turretTargetFriendly) if(c.isAssignableFrom(e.getClass())) return true; } - + if(targetMobs) { //never target the ender dragon directly @@ -647,7 +629,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple if(e instanceof IMob) return true; for(Class c : CompatExternal.turretTargetHostile) if(c.isAssignableFrom(e.getClass())) return true; } - + if(targetMachines) { if(e instanceof IRadarDetectableNT && !((IRadarDetectableNT)e).canBeSeenBy(this)) return false; @@ -658,17 +640,17 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple if(e instanceof EntityBomber) return true; for(Class c : CompatExternal.turretTargetMachine) if(c.isAssignableFrom(e.getClass())) return true; } - + if(targetPlayers ) { - + if(e instanceof FakePlayer) return false; if(e instanceof EntityPlayer) return true; for(Class c : CompatExternal.turretTargetPlayer) if(c.isAssignableFrom(e.getClass())) return true; } - + return false; } - + /** * How many degrees the turret can deviate from the target to be acceptable to fire at * @return @@ -676,7 +658,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple public double getAcceptableInaccuracy() { return 5; } - + /** * How many degrees the turret can rotate per tick (4.5°/t = 90°/s or a half turn in two seconds) * @return @@ -684,7 +666,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple public double getTurretYawSpeed() { return 4.5D; } - + /** * How many degrees the turret can lift per tick (3°/t = 60°/s or roughly the lowest to the highest point of an average turret in one second) * @return @@ -708,7 +690,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple public double getTurretElevation() { return 30D; } - + /** * How many ticks until a target rescan is required * @return @@ -716,7 +698,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple public int getDecetorInterval() { return 10; } - + /** * How far away an entity can be to be picked up * @return @@ -724,7 +706,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple public double getDecetorRange() { return 32D; } - + /** * How far away an entity needs to be to be picked up * @return @@ -732,7 +714,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple public double getDecetorGrace() { return 3D; } - + /** * The pivot point of the turret, larger models have a default of 1.5 * @return @@ -740,7 +722,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple public double getHeightOffset() { return 1.5D; } - + /** * Horizontal offset for the spawn point of bullets * @return @@ -756,7 +738,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple public boolean hasThermalVision() { return true; } - + /** * The pivot point of the turret, this position is used for LOS calculation and more * @return @@ -765,7 +747,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple Vec3 offset = getHorizontalOffset(); return Vec3.createVectorHelper(xCoord + offset.xCoord, yCoord + getHeightOffset(), zCoord + offset.zCoord); } - + /** * The XZ offset for a standard 2x2 turret base * @return @@ -779,10 +761,10 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple return Vec3.createVectorHelper(1, 0, 0); if(meta == 5) return Vec3.createVectorHelper(0, 0, 1); - + return Vec3.createVectorHelper(0, 0, 0); } - + /** * The pivot point of the turret, this position is used for LOS calculation and more * @return @@ -790,32 +772,32 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple public Vec3 getEntityPos(Entity e) { return Vec3.createVectorHelper(e.posX, e.posY + e.height * 0.5 - e.getYOffset(), e.posZ); } - + /** * Yes, new turrets fire BulletNTs. * @return */ protected abstract List getAmmoList(); - + @SideOnly(Side.CLIENT) protected List ammoStacks; @SideOnly(Side.CLIENT) public List getAmmoTypesForDisplay() { - + if(ammoStacks != null) return ammoStacks; - + ammoStacks = new ArrayList(); - + for(Integer i : getAmmoList()) { - BulletConfiguration config = BulletConfigSyncingUtil.pullConfig(i); - + BulletConfig config = BulletConfig.configs.get(i); + if(config != null && config.ammo != null) { ammoStacks.add(config.ammo.toStack()); } } - + return ammoStacks; } @@ -832,11 +814,11 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple public boolean hasPower() { return this.getPower() >= this.getConsumption(); } - + public boolean isOn() { return this.isOn; } - + @Override public void setPower(long i) { this.power = i; @@ -846,15 +828,15 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple public long getPower() { return this.power; } - + public int getPowerScaled(int scale) { return (int)(power * scale / this.getMaxPower()); } - + public long getConsumption() { return 100; } - + @Override public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; @@ -875,20 +857,20 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple public void closeInventory() { this.worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:block.closeC", 1.0F, 1.0F); } - + protected Vec3 getCasingSpawnPos() { return this.getTurretPos(); } - + protected CasingEjector getEjector() { return null; } - + protected void spawnCasing() { - + if(cachedCasingConfig == null) return; CasingEjector ej = getEjector(); - + Vec3 spawn = this.getCasingSpawnPos(); NBTTagCompound data = new NBTTagCompound(); data.setString("type", "casing"); @@ -897,11 +879,11 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple data.setBoolean("crouched", false); data.setString("name", cachedCasingConfig.getName()); if(ej != null) data.setInteger("ej", ej.getId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, spawn.xCoord, spawn.yCoord, spawn.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, spawn.xCoord, spawn.yCoord, spawn.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + cachedCasingConfig = null; } - + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return new ContainerTurretBase(player.inventory, this); @@ -1013,6 +995,12 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple return new Object[] {this.aligned}; } + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] getPos(Context context, Arguments args) { + return new Object[] {xCoord, yCoord, zCoord}; + } + @Override @Optional.Method(modid = "OpenComputers") public boolean canConnectNode(ForgeDirection side) { @@ -1033,7 +1021,8 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple "getTargeting", "hasTarget", "getAngle", - "isAligned" + "isAligned", + "getPos" }; } @@ -1063,6 +1052,8 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple return getAngle(context, args); case "isAligned": return isAligned(context, args); + case "getPos": + return getPos(context, args); } throw new NoSuchMethodException(); } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBrandon.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBrandon.java index dd6c17687..e04fef2f6 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBrandon.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBrandon.java @@ -4,7 +4,6 @@ import java.util.List; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.world.World; @@ -42,7 +41,7 @@ public class TileEntityTurretBrandon extends TileEntityTurretBaseNT { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return null; } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretChekhov.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretChekhov.java index 6ca6c4e35..f765987c8 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretChekhov.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretChekhov.java @@ -3,17 +3,16 @@ package com.hbm.tileentity.turret; import java.util.ArrayList; import java.util.List; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; import com.hbm.handler.CasingEjector; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.gui.GUITurretChekhov; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.factory.XFactory50; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; @@ -22,22 +21,18 @@ import net.minecraft.world.World; public class TileEntityTurretChekhov extends TileEntityTurretBaseNT { static List configs = new ArrayList(); - + //because cramming it into the ArrayList's constructor with nested curly brackets and all that turned out to be not as pretty //also having a floaty `static` like this looks fun //idk if it's just me though static { - configs.add(BulletConfigSyncingUtil.BMG50_NORMAL); - configs.add(BulletConfigSyncingUtil.BMG50_INCENDIARY); - configs.add(BulletConfigSyncingUtil.BMG50_EXPLOSIVE); - configs.add(BulletConfigSyncingUtil.BMG50_AP); - configs.add(BulletConfigSyncingUtil.BMG50_DU); - configs.add(BulletConfigSyncingUtil.BMG50_STAR); - configs.add(BulletConfigSyncingUtil.BMG50_PHOSPHORUS); - configs.add(BulletConfigSyncingUtil.BMG50_SLEEK); - configs.add(BulletConfigSyncingUtil.CHL_BMG50); + configs.add(XFactory50.bmg50_sp.id); + configs.add(XFactory50.bmg50_fmj.id); + configs.add(XFactory50.bmg50_jhp.id); + configs.add(XFactory50.bmg50_ap.id); + configs.add(XFactory50.bmg50_du.id); } - + @Override protected List getAmmoList() { return configs; @@ -67,107 +62,107 @@ public class TileEntityTurretChekhov extends TileEntityTurretBaseNT { public double getAcceptableInaccuracy() { return 15; } - + int timer; @Override public void updateFiringTick() { - + timer++; - + if(timer > 20 && timer % getDelay() == 0) { - - BulletConfiguration conf = this.getFirstConfigLoaded(); - + + BulletConfig conf = this.getFirstConfigLoaded(); + if(conf != null) { - this.cachedCasingConfig = conf.spentCasing; - this.spawnBullet(conf); + this.cachedCasingConfig = conf.casing; + this.spawnBullet(conf, 10F); this.conusmeAmmo(conf.ammo); this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:turret.chekhov_fire", 2.0F, 1.0F); - + Vec3 pos = this.getTurretPos(); Vec3 vec = Vec3.createVectorHelper(this.getBarrelLength(), 0, 0); vec.rotateAroundZ((float) -this.rotationPitch); vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "vanillaExt"); data.setString("mode", "largeexplode"); data.setFloat("size", 1.5F); data.setByte("count", (byte)1); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); } } } @Override protected Vec3 getCasingSpawnPos() { - + Vec3 pos = this.getTurretPos(); Vec3 vec = Vec3.createVectorHelper(-1.125, 0.125, 0.25); vec.rotateAroundZ((float) -this.rotationPitch); vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - + return Vec3.createVectorHelper(pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord); } protected static CasingEjector ejector = new CasingEjector().setMotion(-0.8, 0.8, 0).setAngleRange(0.1F, 0.1F); - + @Override protected CasingEjector getEjector() { return ejector; } - + public int getDelay() { return 2; } - + public float spin; public float lastSpin; private float accel; private boolean manual; - + @Override public void updateEntity() { super.updateEntity(); - + if(worldObj.isRemote) { - + if(this.tPos != null || manual) { this.accel = Math.min(45F, this.accel += 2); } else { this.accel = Math.max(0F, this.accel -= 2); } - + manual = false; - + this.lastSpin = this.spin; this.spin += this.accel; - + if(this.spin >= 360F) { this.spin -= 360F; this.lastSpin -= 360F; } } else { - + if(this.tPos == null && !manual) { - + this.timer--; - + if(timer > 20) timer = 20; - + if(timer < 0) timer = 0; } } } - + @Override public void manualSetup() { manual = true; } - + @Override public boolean usesCasings() { return true; @@ -175,7 +170,7 @@ public class TileEntityTurretChekhov extends TileEntityTurretBaseNT { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUITurretChekhov(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFriendly.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFriendly.java index 3a0d0126d..c4c5c122b 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFriendly.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFriendly.java @@ -3,13 +3,12 @@ package com.hbm.tileentity.turret; import java.util.ArrayList; import java.util.List; -import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.CasingEjector; import com.hbm.inventory.gui.GUITurretFriendly; +import com.hbm.items.weapon.sedna.factory.XFactory556mm; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; @@ -18,11 +17,10 @@ public class TileEntityTurretFriendly extends TileEntityTurretChekhov { static List configs = new ArrayList(); static { - configs.add(BulletConfigSyncingUtil.R5_NORMAL); - configs.add(BulletConfigSyncingUtil.R5_EXPLOSIVE); - configs.add(BulletConfigSyncingUtil.R5_DU); - configs.add(BulletConfigSyncingUtil.R5_STAR); - configs.add(BulletConfigSyncingUtil.CHL_R5); + configs.add(XFactory556mm.r556_sp.id); + configs.add(XFactory556mm.r556_fmj.id); + configs.add(XFactory556mm.r556_jhp.id); + configs.add(XFactory556mm.r556_ap.id); } @Override @@ -49,7 +47,7 @@ public class TileEntityTurretFriendly extends TileEntityTurretChekhov { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUITurretFriendly(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFritz.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFritz.java index 924ec352c..e73c990c1 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFritz.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFritz.java @@ -4,9 +4,7 @@ import java.util.ArrayList; import java.util.List; import com.hbm.blocks.BlockDummyable; -import com.hbm.entity.projectile.EntityBulletBaseNT; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; +import com.hbm.entity.projectile.EntityBulletBaseMK4; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -15,14 +13,14 @@ import com.hbm.inventory.fluid.trait.FT_Flammable; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Liquid; import com.hbm.inventory.gui.GUITurretFritz; import com.hbm.items.ModItems; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.items.weapon.sedna.factory.XFactoryFlamer; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import api.hbm.fluid.IFluidStandardReceiver; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import com.hbm.tileentity.IFluidCopiable; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -30,15 +28,15 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFluidStandardReceiver { - +public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFluidStandardReceiver, IFluidCopiable { + public FluidTank tank; - + public TileEntityTurretFritz() { super(); this.tank = new FluidTank(Fluids.DIESEL, 16000); } - + @Override public String getName() { return "container.turretFritz"; @@ -51,28 +49,28 @@ public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFl @SideOnly(Side.CLIENT) public List getAmmoTypesForDisplay() { - + if(ammoStacks != null) return ammoStacks; - + ammoStacks = new ArrayList(); - ammoStacks.add(new ItemStack(ModItems.ammo_fuel)); - + ammoStacks.add(new ItemStack(ModItems.ammo_standard, 1, EnumAmmo.FLAME_DIESEL.ordinal())); + for(FluidType type : Fluids.getInNiceOrder()) { if(type.hasTrait(FT_Combustible.class) && type.hasTrait(FT_Liquid.class)) { ammoStacks.add(new ItemStack(ModItems.fluid_icon, 1, type.getID())); } } - + return ammoStacks; } - + @Override public double getDecetorRange() { - return 32D; + return 48D; } - + @Override public double getDecetorGrace() { return 2D; @@ -100,51 +98,41 @@ public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFl @Override public void updateFiringTick() { - + if(this.tank.getTankType().hasTrait(FT_Flammable.class) && this.tank.getTankType().hasTrait(FT_Liquid.class) && this.tank.getFill() >= 2) { - + FT_Flammable trait = this.tank.getTankType().getTrait(FT_Flammable.class); - BulletConfiguration conf = BulletConfigSyncingUtil.pullConfig(BulletConfigSyncingUtil.FLA_NORMAL); this.tank.setFill(this.tank.getFill() - 2); - + Vec3 pos = this.getTurretPos(); Vec3 vec = Vec3.createVectorHelper(this.getBarrelLength(), 0, 0); vec.rotateAroundZ((float) -this.rotationPitch); vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - - EntityBulletBaseNT proj = new EntityBulletBaseNT(worldObj, BulletConfigSyncingUtil.getKey(conf)); - proj.setPositionAndRotation(pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord, 0.0F, 0.0F); - proj.overrideDamage = (float) (trait.getHeatEnergy() / 500_000F); - - proj.setThrowableHeading(vec.xCoord, vec.yCoord, vec.zCoord, conf.velocity, conf.spread); + + float damage = Math.min((float) (trait.getHeatEnergy() / 500_000F), 20F); + EntityBulletBaseMK4 proj = new EntityBulletBaseMK4(worldObj, tank.getTankType() == Fluids.BALEFIRE ? XFactoryFlamer.flame_nograv_bf : XFactoryFlamer.flame_nograv, damage, 0.05F, (float) rotationYaw, (float) rotationPitch); + proj.setPositionAndRotation(pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord, proj.rotationYaw, proj.rotationPitch); worldObj.spawnEntityInWorld(proj); - + worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:weapon.flamethrowerShoot", 2F, 1F + worldObj.rand.nextFloat() * 0.5F); - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "vanillaburst"); - data.setString("mode", "flame"); - data.setInteger("count", 2); - data.setDouble("motion", 0.025D); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); } } - + public int getDelay() { return 2; } - + @Override public void updateEntity() { super.updateEntity(); - + if(!worldObj.isRemote) { tank.setType(9, 9, slots); tank.loadTank(0, 1, slots); - + for(int i = 1; i < 10; i++) { - - if(slots[i] != null && slots[i].getItem() == ModItems.ammo_fuel) { + + if(slots[i] != null && slots[i].getItem() == ModItems.ammo_standard && slots[i].getItemDamage() == EnumAmmo.FLAME_DIESEL.ordinal()) { if(this.tank.getTankType() == Fluids.DIESEL && this.tank.getFill() + 1000 <= this.tank.getMaxFill()) { this.tank.setFill(this.tank.getFill() + 1000); this.decrStackSize(i, 1); @@ -153,18 +141,17 @@ public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFl } } } - + @Override - protected NBTTagCompound writePacket() { - NBTTagCompound data = super.writePacket(); - tank.writeToNBT(data, "t"); - return data; + public void serialize(ByteBuf buf) { + super.serialize(buf); + tank.serialize(buf); } @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - tank.readFromNBT(nbt, "t"); + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + tank.deserialize(buf); } @Override //TODO: clean this shit up @@ -190,13 +177,13 @@ public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFl this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 0, dir); this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * -1, dir); } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); this.tank.readFromNBT(nbt, "diesel"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -225,7 +212,12 @@ public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFl @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUITurretFritz(player.inventory, this); } + + @Override + public FluidTank getTankToPaste() { + return tank; + } } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretHIMARS.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretHIMARS.java index 149dc136c..30c24e571 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretHIMARS.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretHIMARS.java @@ -17,10 +17,10 @@ import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -93,7 +93,7 @@ public class TileEntityTurretHIMARS extends TileEntityTurretBaseArtillery implem @Override public double getDecetorGrace() { - return 32D; + return 250D; } @Override @@ -249,9 +249,8 @@ public class TileEntityTurretHIMARS extends TileEntityTurretBaseArtillery implem } this.power = Library.chargeTEFromItems(slots, 10, this.power, this.getMaxPower()); - - NBTTagCompound data = this.writePacket(); - this.networkPack(data, 250); + + this.networkPackNT(250); } else { @@ -267,22 +266,21 @@ public class TileEntityTurretHIMARS extends TileEntityTurretBaseArtillery implem } @Override - protected NBTTagCompound writePacket() { - NBTTagCompound data = super.writePacket(); - data.setShort("mode", this.mode); - data.setInteger("type", this.typeLoaded); - data.setInteger("ammo", this.ammo); - data.setFloat("crane", crane); - return data; + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeShort(this.mode); + buf.writeShort(this.typeLoaded); + buf.writeInt(this.ammo); + buf.writeFloat(this.crane); } @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - this.mode = nbt.getShort("mode"); - this.typeLoaded = nbt.getShort("type"); - this.ammo = nbt.getInteger("ammo"); - this.crane = nbt.getFloat("crane"); + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.mode = buf.readShort(); + this.typeLoaded = buf.readShort(); + this.ammo = buf.readInt(); + this.crane = buf.readFloat(); } public boolean hasAmmo() { @@ -374,7 +372,7 @@ public class TileEntityTurretHIMARS extends TileEntityTurretBaseArtillery implem @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUITurretHIMARS(player.inventory, this); } @Callback diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretHoward.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretHoward.java index 5afbd8afa..e9348bdbb 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretHoward.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretHoward.java @@ -4,21 +4,20 @@ import java.util.ArrayList; import java.util.List; import com.hbm.config.WeaponConfig; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; import com.hbm.handler.CasingEjector; import com.hbm.handler.guncfg.GunDGKFactory; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.gui.GUITurretHoward; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.factory.XFactoryTurret; import com.hbm.lib.ModDamageSource; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.particle.SpentCasing; import com.hbm.util.EntityDamageUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; @@ -27,11 +26,11 @@ import net.minecraft.world.World; public class TileEntityTurretHoward extends TileEntityTurretBaseNT { static List configs = new ArrayList(); - + static { - configs.add(BulletConfigSyncingUtil.DGK_NORMAL); + configs.add(XFactoryTurret.dgk_normal.id); } - + @Override protected List getAmmoList() { return configs; @@ -96,27 +95,27 @@ public class TileEntityTurretHoward extends TileEntityTurretBaseNT { int timer; public float spin; public float lastSpin; - + @Override public void updateEntity() { - + if(worldObj.isRemote) { - + this.lastSpin = this.spin; - + if(this.tPos != null) { this.spin += 45; } - + if(this.spin >= 360F) { this.spin -= 360F; this.lastSpin -= 360F; } } else { - + if(loaded <= 0) { - BulletConfiguration conf = this.getFirstConfigLoaded(); - + BulletConfig conf = this.getFirstConfigLoaded(); + if(conf != null) { this.conusmeAmmo(conf.ammo); this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:turret.howard_reload", 4.0F, 1F); @@ -124,67 +123,67 @@ public class TileEntityTurretHoward extends TileEntityTurretBaseNT { } } } - + super.updateEntity(); } @Override public void updateFiringTick() { - + timer++; - + if(loaded > 0 && this.tPos != null) { - + SpentCasing cfg = GunDGKFactory.CASINGDGK; - + this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:turret.howard_fire", 4.0F, 0.9F + worldObj.rand.nextFloat() * 0.3F); this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:turret.howard_fire", 4.0F, 1F + worldObj.rand.nextFloat() * 0.3F); - + for(int i = 0; i < 2; i++) { this.cachedCasingConfig = cfg; this.spawnCasing(); } - + if(timer % 2 == 0) { loaded--; - + if(worldObj.rand.nextInt(100) + 1 <= WeaponConfig.ciwsHitrate) EntityDamageUtil.attackEntityFromIgnoreIFrame(this.target, ModDamageSource.shrapnel, 2F + worldObj.rand.nextInt(2)); - + Vec3 pos = this.getTurretPos(); Vec3 vec = Vec3.createVectorHelper(this.getBarrelLength(), 0, 0); vec.rotateAroundZ((float) -this.rotationPitch); vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - + Vec3 hOff = Vec3.createVectorHelper(0, 0.25, 0); hOff.rotateAroundZ((float) -this.rotationPitch); hOff.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - + for(int i = 0; i < 2; i++) { - + if(i == 1) { hOff.xCoord *= -1; hOff.yCoord *= -1; hOff.zCoord *= -1; } - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "vanillaExt"); data.setString("mode", "largeexplode"); data.setFloat("size", 1.5F); data.setByte("count", (byte)1); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, pos.xCoord + vec.xCoord + hOff.xCoord, pos.yCoord + vec.yCoord + hOff.yCoord, pos.zCoord + vec.zCoord + hOff.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, pos.xCoord + vec.xCoord + hOff.xCoord, pos.yCoord + vec.yCoord + hOff.yCoord, pos.zCoord + vec.zCoord + hOff.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); } } } } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); this.loaded = nbt.getInteger("loaded"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -193,22 +192,22 @@ public class TileEntityTurretHoward extends TileEntityTurretBaseNT { @Override protected Vec3 getCasingSpawnPos() { - + Vec3 pos = this.getTurretPos(); Vec3 vec = Vec3.createVectorHelper(-0.875, 0.2, -0.125); vec.rotateAroundZ((float) -this.rotationPitch); vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - + return Vec3.createVectorHelper(pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord); } protected static CasingEjector ejector = new CasingEjector().setAngleRange(0.01F, 0.01F).setMotion(0, 0, -0.1); - + @Override protected CasingEjector getEjector() { return ejector.setMotion(0.4, 0, 0).setAngleRange(0.02F, 0.03F); } - + @Override public boolean usesCasings() { return true; @@ -216,7 +215,7 @@ public class TileEntityTurretHoward extends TileEntityTurretBaseNT { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUITurretHoward(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretHowardDamaged.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretHowardDamaged.java index 26536ffb5..32d790ed5 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretHowardDamaged.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretHowardDamaged.java @@ -2,15 +2,14 @@ package com.hbm.tileentity.turret; import com.hbm.config.WeaponConfig; import com.hbm.handler.guncfg.GunDGKFactory; +import com.hbm.handler.threading.PacketThreading; import com.hbm.lib.ModDamageSource; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.util.EntityDamageUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -55,60 +54,60 @@ public class TileEntityTurretHowardDamaged extends TileEntityTurretHoward { public boolean hasThermalVision() { return false; } - + @Override public boolean entityAcceptableTarget(Entity e) { //will fire at any living entity - + if(e instanceof EntityPlayer && ((EntityPlayer)e).capabilities.isCreativeMode) return false; - + return e instanceof EntityLivingBase; } @Override public void updateFiringTick() { - + timer++; - + if(this.tPos != null) { - + if(timer % 4 == 0) { - + this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:turret.howard_fire", 4.0F, 0.7F + worldObj.rand.nextFloat() * 0.3F); - + this.cachedCasingConfig = GunDGKFactory.CASINGDGK; this.spawnCasing(); - + if(worldObj.rand.nextInt(100) + 1 <= WeaponConfig.ciwsHitrate * 0.5) EntityDamageUtil.attackEntityFromIgnoreIFrame(this.target, ModDamageSource.shrapnel, 2F + worldObj.rand.nextInt(2)); - + Vec3 pos = this.getTurretPos(); Vec3 vec = Vec3.createVectorHelper(this.getBarrelLength(), 0, 0); vec.rotateAroundZ((float) -this.rotationPitch); vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - + Vec3 hOff = Vec3.createVectorHelper(0, 0.25, 0); hOff.rotateAroundZ((float) -this.rotationPitch); hOff.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "vanillaExt"); data.setString("mode", "largeexplode"); data.setFloat("size", 1.5F); data.setByte("count", (byte)1); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, pos.xCoord + vec.xCoord + hOff.xCoord, pos.yCoord + vec.yCoord + hOff.yCoord, pos.zCoord + vec.zCoord + hOff.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, pos.xCoord + vec.xCoord + hOff.xCoord, pos.yCoord + vec.yCoord + hOff.yCoord, pos.zCoord + vec.zCoord + hOff.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); } } } - + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return null; } - + @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return null; } } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretJeremy.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretJeremy.java index f89b81cbd..48504f6e8 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretJeremy.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretJeremy.java @@ -3,17 +3,16 @@ package com.hbm.tileentity.turret; import java.util.ArrayList; import java.util.List; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; import com.hbm.handler.CasingEjector; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.gui.GUITurretJeremy; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.factory.XFactoryTurret; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; @@ -22,15 +21,15 @@ import net.minecraft.world.World; public class TileEntityTurretJeremy extends TileEntityTurretBaseNT { static List configs = new ArrayList(); - + static { - configs.add(BulletConfigSyncingUtil.SHELL_NORMAL); - configs.add(BulletConfigSyncingUtil.SHELL_EXPLOSIVE); - configs.add(BulletConfigSyncingUtil.SHELL_AP); - configs.add(BulletConfigSyncingUtil.SHELL_DU); - configs.add(BulletConfigSyncingUtil.SHELL_W9); + configs.add(XFactoryTurret.shell_normal.id); + configs.add(XFactoryTurret.shell_explosive.id); + configs.add(XFactoryTurret.shell_ap.id); + configs.add(XFactoryTurret.shell_du.id); + configs.add(XFactoryTurret.shell_w9.id); } - + @Override protected List getAmmoList() { return configs; @@ -40,7 +39,7 @@ public class TileEntityTurretJeremy extends TileEntityTurretBaseNT { public String getName() { return "container.turretJeremy"; } - + @Override public double getDecetorGrace() { return 16D; @@ -65,71 +64,71 @@ public class TileEntityTurretJeremy extends TileEntityTurretBaseNT { public double getDecetorRange() { return 80D; } - + int timer; int reload; - + @Override public void updateEntity() { - + if(reload > 0) reload--; - + if(reload == 1) this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:turret.jeremy_reload", 2.0F, 1.0F); - + super.updateEntity(); } @Override public void updateFiringTick() { - + timer++; - + if(timer % 40 == 0) { - - BulletConfiguration conf = this.getFirstConfigLoaded(); - + + BulletConfig conf = this.getFirstConfigLoaded(); + if(conf != null) { - this.cachedCasingConfig = conf.spentCasing; - this.spawnBullet(conf); + this.cachedCasingConfig = conf.casing; + this.spawnBullet(conf, 50F); this.conusmeAmmo(conf.ammo); this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:turret.jeremy_fire", 4.0F, 1.0F); Vec3 pos = this.getTurretPos(); Vec3 vec = Vec3.createVectorHelper(this.getBarrelLength(), 0, 0); vec.rotateAroundZ((float) -this.rotationPitch); vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - + reload = 20; - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "vanillaExt"); data.setString("mode", "largeexplode"); data.setFloat("size", 0F); data.setByte("count", (byte)5); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); } } } @Override protected Vec3 getCasingSpawnPos() { - + Vec3 pos = this.getTurretPos(); Vec3 vec = Vec3.createVectorHelper(-2, 0, 0); vec.rotateAroundZ((float) -this.rotationPitch); vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - + return Vec3.createVectorHelper(pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord); } protected static CasingEjector ejector = new CasingEjector().setAngleRange(0.01F, 0.01F).setMotion(0, 0, -0.2); - + @Override protected CasingEjector getEjector() { return ejector; } - + @Override public boolean usesCasings() { return true; @@ -142,7 +141,7 @@ public class TileEntityTurretJeremy extends TileEntityTurretBaseNT { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUITurretJeremy(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretMaxwell.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretMaxwell.java index 91dc3e9ab..0a19dd833 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretMaxwell.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretMaxwell.java @@ -1,25 +1,26 @@ package com.hbm.tileentity.turret; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import com.hbm.blocks.ModBlocks; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.gui.GUITurretMaxwell; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.ModDamageSource; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.potion.HbmPotion; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.util.BobMathUtil; import com.hbm.util.EntityDamageUtil; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -44,10 +45,10 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT implements I @SideOnly(Side.CLIENT) public List getAmmoTypesForDisplay() { - + if(ammoStacks != null) return ammoStacks; - + ammoStacks = new ArrayList(); ammoStacks.add(new ItemStack(ModItems.upgrade_speed_1)); @@ -67,7 +68,7 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT implements I ammoStacks.add(new ItemStack(ModItems.upgrade_overdrive_3)); ammoStacks.add(new ItemStack(ModItems.upgrade_5g)); ammoStacks.add(new ItemStack(ModItems.upgrade_screm)); - + return ammoStacks; } @@ -97,15 +98,16 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT implements I } @Override - public int getMaxLevel(UpgradeType type) { - if(type == UpgradeType.SPEED) return 27; - if(type == UpgradeType.POWER) return 27; - if(type == UpgradeType.EFFECT) return 27; - if(type == UpgradeType.AFTERBURN) return 27; - if(type == UpgradeType.OVERDRIVE) return 27; - return 0; + public HashMap getValidUpgrades() { + HashMap upgrades = new HashMap<>(); + upgrades.put(UpgradeType.SPEED, 27); + upgrades.put(UpgradeType.POWER, 27); + upgrades.put(UpgradeType.EFFECT, 27); + upgrades.put(UpgradeType.AFTERBURN, 27); + upgrades.put(UpgradeType.OVERDRIVE, 27); + return upgrades; } - + @Override public double getAcceptableInaccuracy() { return 2; @@ -160,28 +162,28 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT implements I public double getHeightOffset() { return 2D; } - + public int beam; public double lastDist; - + @Override public void updateEntity() { - + if(worldObj.isRemote) { - + if(this.tPos != null) { Vec3 pos = this.getTurretPos(); double length = Vec3.createVectorHelper(tPos.xCoord - pos.xCoord, tPos.yCoord - pos.yCoord, tPos.zCoord - pos.zCoord).lengthVector(); this.lastDist = length; } - + if(beam > 0) beam--; } else { - + if(checkDelay <= 0) { checkDelay = 20; - + this.redLevel = 0; this.greenLevel = 0; this.blueLevel = 0; @@ -189,11 +191,11 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT implements I this.pinkLevel = 0; this._5g = false; this.screm = false; - + for(int i = 1; i < 10; i++) { if(slots[i] != null) { Item item = slots[i].getItem(); - + if(item == ModItems.upgrade_speed_1) redLevel += 1; if(item == ModItems.upgrade_speed_2) redLevel += 2; if(item == ModItems.upgrade_speed_3) redLevel += 3; @@ -214,13 +216,13 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT implements I } } } - + checkDelay--; } - + super.updateEntity(); } - + int redLevel; int greenLevel; int blueLevel; @@ -228,14 +230,14 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT implements I int pinkLevel; boolean _5g; boolean screm; - + int checkDelay; @Override public void updateFiringTick() { - + long demand = this.getConsumption() * 10; - + if(this.target != null && this.getPower() >= demand) { if(_5g && target instanceof EntityPlayer) { @@ -244,42 +246,54 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT implements I } else { EntityDamageUtil.attackEntityFromIgnoreIFrame(this.target, ModDamageSource.microwave, (this.blackLevel * 10 + this.redLevel + 1F) * 0.25F); } - + if(pinkLevel > 0) this.target.setFire(this.pinkLevel * 3); - + if(!this.target.isEntityAlive() && this.target instanceof EntityLivingBase) { NBTTagCompound vdat = new NBTTagCompound(); vdat.setString("type", "giblets"); vdat.setInteger("ent", this.target.getEntityId()); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(vdat, this.target.posX, this.target.posY + this.target.height * 0.5, this.target.posZ), new TargetPoint(this.target.dimension, this.target.posX, this.target.posY + this.target.height * 0.5, this.target.posZ, 150)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(vdat, this.target.posX, this.target.posY + this.target.height * 0.5, this.target.posZ), new TargetPoint(this.target.dimension, this.target.posX, this.target.posY + this.target.height * 0.5, this.target.posZ, 150)); + if(this.screm) worldObj.playSoundEffect(this.target.posX, this.target.posY, this.target.posZ, "hbm:block.screm", 20.0F, 1.0F); else worldObj.playSoundEffect(this.target.posX, this.target.posY, this.target.posZ, "mob.zombie.woodbreak", 2.0F, 0.95F + worldObj.rand.nextFloat() * 0.2F); } - + this.power -= demand; - - NBTTagCompound data = new NBTTagCompound(); - data.setBoolean("shot", true); - this.networkPack(data, 250); + + this.shot = true; + this.networkPackNT(250); + this.shot = false; + } + } + + private boolean shot = false; + + @Override + public void serialize(ByteBuf buf) { + if (this.shot) + buf.writeBoolean(true); + else { + buf.writeBoolean(false); + super.serialize(buf); } } @Override - public void networkUnpack(NBTTagCompound nbt) { - - if(nbt.hasKey("shot")) - beam = 5; + public void deserialize(ByteBuf buf) { + boolean shot = buf.readBoolean(); + if(shot) + this.beam = 5; else - super.networkUnpack(nbt); + super.deserialize(buf); } @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUITurretMaxwell(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretRichard.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretRichard.java index f6c95d847..9e2162412 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretRichard.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretRichard.java @@ -3,19 +3,16 @@ package com.hbm.tileentity.turret; import java.util.ArrayList; import java.util.List; -import com.hbm.entity.projectile.EntityBulletBaseNT; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.entity.projectile.EntityBulletBaseMK4; import com.hbm.inventory.gui.GUITurretRichard; -import com.hbm.items.ItemAmmoEnums.AmmoRocket; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.factory.XFactoryRocket; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; @@ -24,22 +21,11 @@ import net.minecraft.world.World; public class TileEntityTurretRichard extends TileEntityTurretBaseNT { static List configs = new ArrayList(); - + static { - configs.add(BulletConfigSyncingUtil.ROCKET_NORMAL); - configs.add(BulletConfigSyncingUtil.ROCKET_HE); - configs.add(BulletConfigSyncingUtil.ROCKET_INCENDIARY); - configs.add(BulletConfigSyncingUtil.ROCKET_SHRAPNEL); - configs.add(BulletConfigSyncingUtil.ROCKET_EMP); - configs.add(BulletConfigSyncingUtil.ROCKET_GLARE); - configs.add(BulletConfigSyncingUtil.ROCKET_SLEEK); - configs.add(BulletConfigSyncingUtil.ROCKET_NUKE); - configs.add(BulletConfigSyncingUtil.ROCKET_CHAINSAW); - configs.add(BulletConfigSyncingUtil.ROCKET_TOXIC); - configs.add(BulletConfigSyncingUtil.ROCKET_PHOSPHORUS); - configs.add(BulletConfigSyncingUtil.ROCKET_CANISTER); + for(BulletConfig cfg : XFactoryRocket.rocket_ml) configs.add(cfg.id); } - + @Override protected List getAmmoList() { return configs; @@ -69,7 +55,7 @@ public class TileEntityTurretRichard extends TileEntityTurretBaseNT { public long getMaxPower() { return 10000; } - + @Override public double getDecetorGrace() { return 8D; @@ -79,68 +65,80 @@ public class TileEntityTurretRichard extends TileEntityTurretBaseNT { public double getDecetorRange() { return 64D; } - + int timer; public int loaded; int reload; - + @Override public void updateEntity() { super.updateEntity(); - + if(!worldObj.isRemote) { - + if(reload > 0) { reload--; - + if(reload == 0) this.loaded = 17; } - + if(loaded <= 0 && reload <= 0 && this.getFirstConfigLoaded() != null) { reload = 100; } - + if(this.getFirstConfigLoaded() == null) { this.loaded = 0; } - - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("loaded", this.loaded); - this.networkPack(data, 250); + + this.isTurretPacket = true; + this.networkPackNT(250); + this.isTurretPacket = false; + } + } + + // wow so descriptive, i dont wanna hear it; it solves the problem + private boolean isTurretPacket = false; + + @Override + public void serialize(ByteBuf buf) { + if (this.isTurretPacket) { + buf.writeBoolean(true); + buf.writeInt(this.loaded); + } else { + buf.writeBoolean(false); + super.serialize(buf); } } @Override - public void networkUnpack(NBTTagCompound nbt) { - - if(nbt.hasKey("loaded")) - this.loaded = nbt.getInteger("loaded"); - else - super.networkUnpack(nbt); + public void deserialize(ByteBuf buf) { + if(buf.readBoolean()) { + this.loaded = buf.readInt(); + } else + super.deserialize(buf); } @Override public void updateFiringTick() { - + if(reload > 0) return; - + timer++; - + if(timer > 0 && timer % 10 == 0) { - - BulletConfiguration conf = this.getFirstConfigLoaded(); - + + BulletConfig conf = this.getFirstConfigLoaded(); + if(conf != null) { - this.spawnBullet(conf); + this.spawnBullet(conf, 30F); this.conusmeAmmo(conf.ammo); this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:turret.richard_fire", 2.0F, 1.0F); this.loaded--; - - if(conf.ammo.equals(new ComparableStack(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.NUCLEAR)))) - timer = -50; - + + //if(conf.ammo.equals(new ComparableStack(ModItems.ammo_standard, EnumAmmo.ROCKET_DEMO))) timer = -50; + } else { this.loaded = 0; } @@ -148,26 +146,25 @@ public class TileEntityTurretRichard extends TileEntityTurretBaseNT { } @Override - public void spawnBullet(BulletConfiguration bullet) { - + public void spawnBullet(BulletConfig bullet, float baseDamage) { + Vec3 pos = this.getTurretPos(); Vec3 vec = Vec3.createVectorHelper(this.getBarrelLength(), 0, 0); vec.rotateAroundZ((float) -this.rotationPitch); vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - - EntityBulletBaseNT proj = new EntityBulletBaseNT(worldObj, BulletConfigSyncingUtil.getKey(bullet)); - proj.setPositionAndRotation(pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord, 0.0F, 0.0F); - - proj.setThrowableHeading(vec.xCoord, vec.yCoord, vec.zCoord, bullet.velocity * 0.75F, bullet.spread); + + EntityBulletBaseMK4 proj = new EntityBulletBaseMK4(worldObj, bullet, baseDamage, bullet.spread, (float) rotationYaw, (float) rotationPitch); + proj.setPositionAndRotation(pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord, proj.rotationYaw, proj.rotationPitch); + proj.lockonTarget = this.target; worldObj.spawnEntityInWorld(proj); } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); this.loaded = nbt.getInteger("loaded"); } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -176,7 +173,7 @@ public class TileEntityTurretRichard extends TileEntityTurretBaseNT { @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUITurretRichard(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretSentry.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretSentry.java index 09b8d22ee..90e7f326b 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretSentry.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretSentry.java @@ -3,19 +3,19 @@ package com.hbm.tileentity.turret; import java.util.ArrayList; import java.util.List; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; import com.hbm.handler.CasingEjector; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.container.ContainerTurretBase; import com.hbm.inventory.gui.GUITurretSentry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.factory.XFactory9mm; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; @@ -36,15 +36,14 @@ public class TileEntityTurretSentry extends TileEntityTurretBaseNT implements IG public double lastBarrelRightPos = 0; static List configs = new ArrayList(); - + static { - configs.add(BulletConfigSyncingUtil.R5_NORMAL); - configs.add(BulletConfigSyncingUtil.R5_EXPLOSIVE); - configs.add(BulletConfigSyncingUtil.R5_DU); - configs.add(BulletConfigSyncingUtil.R5_STAR); - configs.add(BulletConfigSyncingUtil.CHL_R5); + configs.add(XFactory9mm.p9_sp.id); + configs.add(XFactory9mm.p9_fmj.id); + configs.add(XFactory9mm.p9_jhp.id); + configs.add(XFactory9mm.p9_ap.id); } - + @Override protected List getAmmoList() { return configs; @@ -54,7 +53,7 @@ public class TileEntityTurretSentry extends TileEntityTurretBaseNT implements IG public String getName() { return "container.turretSentry"; } - + @Override public double getTurretDepression() { return 20D; @@ -109,38 +108,38 @@ public class TileEntityTurretSentry extends TileEntityTurretBaseNT implements IG public Vec3 getHorizontalOffset() { return Vec3.createVectorHelper(0.5, 0, 0.5); } - + @Override public void updateEntity() { - + if(worldObj.isRemote) { this.lastBarrelLeftPos = this.barrelLeftPos; this.lastBarrelRightPos = this.barrelRightPos; float retractSpeed = 0.5F; float pushSpeed = 0.25F; - + if(this.retractingLeft) { this.barrelLeftPos += retractSpeed; - + if(this.barrelLeftPos >= 1) { this.retractingLeft = false; } - + } else { this.barrelLeftPos -= pushSpeed; if(this.barrelLeftPos < 0) { this.barrelLeftPos = 0; } } - + if(this.retractingRight) { this.barrelRightPos += retractSpeed; - + if(this.barrelRightPos >= 1) { this.retractingRight = false; } - + } else { this.barrelRightPos -= pushSpeed; if(this.barrelRightPos < 0) { @@ -148,43 +147,43 @@ public class TileEntityTurretSentry extends TileEntityTurretBaseNT implements IG } } } - + super.updateEntity(); } - + boolean shotSide = false; int timer; @Override public void updateFiringTick() { - + timer++; - + if(timer % 10 == 0) { - - BulletConfiguration conf = this.getFirstConfigLoaded(); - + + BulletConfig conf = this.getFirstConfigLoaded(); + if(conf != null) { - this.cachedCasingConfig = conf.spentCasing; - this.spawnBullet(conf); + this.cachedCasingConfig = conf.casing; + this.spawnBullet(conf, 5F); this.conusmeAmmo(conf.ammo); this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:turret.sentry_fire", 2.0F, 1.0F); - + Vec3 pos = this.getTurretPos(); Vec3 vec = Vec3.createVectorHelper(this.getBarrelLength(), 0, 0); vec.rotateAroundZ((float) -this.rotationPitch); vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - + Vec3 side = Vec3.createVectorHelper(0.125 * (shotSide ? 1 : -1), 0, 0); side.rotateAroundY((float) -(this.rotationYaw)); - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "vanillaExt"); data.setString("mode", "largeexplode"); data.setFloat("size", 1F); data.setByte("count", (byte)1); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, pos.xCoord + vec.xCoord + side.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord + side.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, pos.xCoord + vec.xCoord + side.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord + side.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + if(shotSide) { this.didJustShootLeft = true; } else { @@ -197,54 +196,53 @@ public class TileEntityTurretSentry extends TileEntityTurretBaseNT implements IG @Override protected Vec3 getCasingSpawnPos() { - + Vec3 pos = this.getTurretPos(); Vec3 vec = Vec3.createVectorHelper(0, 0.25,-0.125); vec.rotateAroundZ((float) -this.rotationPitch); vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - + return Vec3.createVectorHelper(pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord); } protected static CasingEjector ejector = new CasingEjector().setMotion(-0.3, 0.6, 0).setAngleRange(0.01F, 0.01F); - + @Override protected CasingEjector getEjector() { return ejector.setMotion(0.3, 0.6, 0); } - + @Override public boolean usesCasings() { return true; } - + @Override protected void seekNewTarget() { Entity lastTarget = this.target; super.seekNewTarget(); - + if(lastTarget != this.target && this.target != null) { worldObj.playSoundAtEntity(target, "hbm:turret.sentry_lockon", 2.0F, 1.5F); } } @Override - protected NBTTagCompound writePacket() { - NBTTagCompound data = super.writePacket(); - if(didJustShootLeft) data.setBoolean("justShotLeft", didJustShootLeft); - if(didJustShootRight) data.setBoolean("justShotRight", didJustShootRight); + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeBoolean(didJustShootLeft); + buf.writeBoolean(didJustShootRight); didJustShootLeft = false; didJustShootRight = false; - return data; } @Override - public void networkUnpack(NBTTagCompound nbt) { - super.networkUnpack(nbt); - if(nbt.getBoolean("justShotLeft")) this.retractingLeft = true; - if(nbt.getBoolean("justShotRight")) this.retractingRight = true; + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.retractingLeft = buf.readBoolean(); + this.retractingRight = buf.readBoolean(); } - + protected void updateConnections() { this.trySubscribe(worldObj, xCoord, yCoord - 1, zCoord, ForgeDirection.DOWN); } @@ -256,7 +254,7 @@ public class TileEntityTurretSentry extends TileEntityTurretBaseNT implements IG @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUITurretSentry(player.inventory, this); } } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretSentryDamaged.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretSentryDamaged.java index acb7898cb..e8811fbc6 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretSentryDamaged.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretSentryDamaged.java @@ -1,9 +1,9 @@ package com.hbm.tileentity.turret; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.handler.threading.PacketThreading; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.factory.XFactory9mm; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.entity.Entity; @@ -38,44 +38,44 @@ public class TileEntityTurretSentryDamaged extends TileEntityTurretSentry { public boolean hasThermalVision() { return false; } - + @Override public boolean entityAcceptableTarget(Entity e) { //will fire at any living entity - + if(e instanceof EntityPlayer && ((EntityPlayer)e).capabilities.isCreativeMode) return false; - + return e instanceof EntityLivingBase; } @Override public void updateFiringTick() { - + timer++; - + if(timer % 10 == 0) { - - BulletConfiguration conf = BulletConfigSyncingUtil.pullConfig(BulletConfigSyncingUtil.R5_NORMAL); - + + BulletConfig conf = XFactory9mm.p9_fmj; + if(conf != null) { - + Vec3 pos = this.getTurretPos(); Vec3 vec = Vec3.createVectorHelper(0, 0, 0); Vec3 side = Vec3.createVectorHelper(0, 0, 0); - - this.cachedCasingConfig = conf.spentCasing; - + + this.cachedCasingConfig = conf.casing; + if(shotSide) { this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:turret.sentry_fire", 2.0F, 1.0F); - this.spawnBullet(conf); - + this.spawnBullet(conf, 5F); + vec = Vec3.createVectorHelper(this.getBarrelLength(), 0, 0); vec.rotateAroundZ((float) -this.rotationPitch); vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); side = Vec3.createVectorHelper(0.125 * (shotSide ? 1 : -1), 0, 0); side.rotateAroundY((float) -(this.rotationYaw)); - + } else { this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:turret.sentry_fire", 2.0F, 0.75F); if(usesCasings()) { @@ -86,14 +86,14 @@ public class TileEntityTurretSentryDamaged extends TileEntityTurretSentry { } } } - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", "vanillaExt"); data.setString("mode", "largeexplode"); data.setFloat("size", 1F); data.setByte("count", (byte) 1); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, pos.xCoord + vec.xCoord + side.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord + side.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, pos.xCoord + vec.xCoord + side.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord + side.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + if(shotSide) { this.didJustShootLeft = true; } else { diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretTauon.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretTauon.java index d25acbc74..55582f25f 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretTauon.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretTauon.java @@ -3,17 +3,17 @@ package com.hbm.tileentity.turret; import java.util.ArrayList; import java.util.List; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; +import com.hbm.handler.threading.PacketThreading; import com.hbm.inventory.gui.GUITurretTauon; +import com.hbm.items.weapon.sedna.BulletConfig; +import com.hbm.items.weapon.sedna.factory.XFactoryAccelerator; import com.hbm.lib.ModDamageSource; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; +import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; @@ -22,11 +22,11 @@ import net.minecraft.world.World; public class TileEntityTurretTauon extends TileEntityTurretBaseNT { static List configs = new ArrayList(); - + static { - configs.add(BulletConfigSyncingUtil.SPECIAL_GAUSS); + configs.add(XFactoryAccelerator.tau_uranium.id); } - + @Override protected List getAmmoList() { return configs; @@ -81,85 +81,97 @@ public class TileEntityTurretTauon extends TileEntityTurretBaseNT { public long getConsumption() { return 1000; } - + int timer; public int beam; public float spin; public float lastSpin; public double lastDist; - + @Override public void updateEntity() { - + if(worldObj.isRemote) { - + if(this.tPos != null) { Vec3 pos = this.getTurretPos(); double length = Vec3.createVectorHelper(tPos.xCoord - pos.xCoord, tPos.yCoord - pos.yCoord, tPos.zCoord - pos.zCoord).lengthVector(); this.lastDist = length; } - + if(beam > 0) beam--; - + this.lastSpin = this.spin; - + if(this.tPos != null) { this.spin += 45; } - + if(this.spin >= 360F) { this.spin -= 360F; this.lastSpin -= 360F; } } - + super.updateEntity(); } @Override public void updateFiringTick() { - + timer++; - + if(timer % 5 == 0) { - - BulletConfiguration conf = this.getFirstConfigLoaded(); - + + BulletConfig conf = this.getFirstConfigLoaded(); + if(conf != null && this.target != null) { this.target.attackEntityFrom(ModDamageSource.electricity, 30F + worldObj.rand.nextInt(11)); this.conusmeAmmo(conf.ammo); this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:weapon.tauShoot", 4.0F, 0.9F + worldObj.rand.nextFloat() * 0.3F); - - NBTTagCompound data = new NBTTagCompound(); - data.setBoolean("shot", true); - this.networkPack(data, 250); - + + this.shot = true; + this.networkPackNT(250); + this.shot = false; + Vec3 pos = this.getTurretPos(); Vec3 vec = Vec3.createVectorHelper(this.getBarrelLength(), 0, 0); vec.rotateAroundZ((float) -this.rotationPitch); vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - + NBTTagCompound dPart = new NBTTagCompound(); dPart.setString("type", "tau"); dPart.setByte("count", (byte)5); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(dPart, pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(dPart, pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); } } } + private boolean shot = false; + @Override - public void networkUnpack(NBTTagCompound nbt) { - - if(nbt.hasKey("shot")) - beam = 3; + public void serialize(ByteBuf buf) { + if (this.shot) + buf.writeBoolean(true); + else { + buf.writeBoolean(false); + super.serialize(buf); + } + } + + @Override + public void deserialize(ByteBuf buf) { + boolean shot = buf.readBoolean(); + if(shot) + this.beam = 3; else - super.networkUnpack(nbt); + super.deserialize(buf); } @Override @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUITurretTauon(player.inventory, this); } } diff --git a/src/main/java/com/hbm/uninos/GenNode.java b/src/main/java/com/hbm/uninos/GenNode.java new file mode 100644 index 000000000..3e4b0925b --- /dev/null +++ b/src/main/java/com/hbm/uninos/GenNode.java @@ -0,0 +1,42 @@ +package com.hbm.uninos; + +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; + +public class GenNode { + + public BlockPos[] positions; + public DirPos[] connections; + public N net; + public boolean expired = false; + public boolean recentlyChanged = true; + /** Used for distinguishing the node type when saving it to UNINOS' node map */ + public INetworkProvider networkProvider; + + public GenNode(INetworkProvider provider, BlockPos... positions) { + this.networkProvider = provider; + this.positions = positions; + } + + public GenNode setConnections(DirPos... connections) { + this.connections = connections; + return this; + } + + public GenNode addConnection(DirPos connection) { + DirPos[] newCons = new DirPos[this.connections.length + 1]; + for(int i = 0; i < this.connections.length; i++) newCons[i] = this.connections[i]; + newCons[newCons.length - 1] = connection; + this.connections = newCons; + return this; + } + + public boolean hasValidNet() { + return this.net != null && this.net.isValid(); + } + + public void setNet(N net) { + this.net = net; + this.recentlyChanged = true; + } +} diff --git a/src/main/java/com/hbm/uninos/INetworkProvider.java b/src/main/java/com/hbm/uninos/INetworkProvider.java new file mode 100644 index 000000000..a774028ab --- /dev/null +++ b/src/main/java/com/hbm/uninos/INetworkProvider.java @@ -0,0 +1,10 @@ +package com.hbm.uninos; + +/** + * Each instance of a network provider is a valid "type" of node in UNINOS + * @author hbm + */ +public interface INetworkProvider { + + public T provideNetwork(); +} diff --git a/src/main/java/com/hbm/uninos/NodeNet.java b/src/main/java/com/hbm/uninos/NodeNet.java new file mode 100644 index 000000000..f37446cec --- /dev/null +++ b/src/main/java/com/hbm/uninos/NodeNet.java @@ -0,0 +1,91 @@ +package com.hbm.uninos; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Random; +import java.util.Set; + +import api.hbm.tile.ILoadedTile; +import net.minecraft.tileentity.TileEntity; + +public abstract class NodeNet { + + /** Global random for figuring things out like random leftover distribution */ + public static Random rand = new Random(); + + public boolean valid = true; + public Set links = new HashSet(); + + public HashMap receiverEntries = new HashMap(); + public HashMap providerEntries = new HashMap(); + + public NodeNet() { + UniNodespace.activeNodeNets.add(this); + } + + /// SUBSCRIBER HANDLING /// + public boolean isSubscribed(R receiver) { return this.receiverEntries.containsKey(receiver); } + public void addReceiver(R receiver) { this.receiverEntries.put(receiver, System.currentTimeMillis()); } + public void removeReceiver(R receiver) { this.receiverEntries.remove(receiver); } + + /// PROVIDER HANDLING /// + public boolean isProvider(P provider) { return this.providerEntries.containsKey(provider); } + public void addProvider(P provider) { this.providerEntries.put(provider, System.currentTimeMillis()); } + public void removeProvider(P provider) { this.providerEntries.remove(provider); } + + /** Combines two networks into one */ + public void joinNetworks(NodeNet network) { + if(network == this) return; + + List oldNodes = new ArrayList(network.links.size()); + oldNodes.addAll(network.links); + + for(L conductor : oldNodes) forceJoinLink(conductor); + network.links.clear(); + + for(Object /*this is bullshit*/ connector : network.receiverEntries.keySet()) this.addReceiver((R) connector); + for(Object /*this is bullshit*/ connector : network.providerEntries.keySet()) this.addProvider((P) connector); + network.destroy(); + } + + /** Adds the node as part of this network's links */ + public NodeNet joinLink(L node) { + if(node.net != null) node.net.leaveLink(node); + return forceJoinLink(node); + } + + /** Adds the node as part of this network's links, skips the part about removing it from existing networks */ + public NodeNet forceJoinLink(L node) { + this.links.add(node); + node.setNet(this); + return this; + } + + /** Removes the specified node */ + public void leaveLink(L node) { + node.setNet(null); + this.links.remove(node); + } + + /// GENERAL POWER NET CONTROL /// + public void invalidate() { this.valid = false; UniNodespace.activeNodeNets.remove(this); } + public boolean isValid() { return this.valid; } + public void resetTrackers() { } + public abstract void update(); + + public void destroy() { + this.invalidate(); + for(GenNode link : this.links) if(link.net == this) link.setNet(null); + this.links.clear(); + this.receiverEntries.clear(); + this.providerEntries.clear(); + } + + public static boolean isBadLink(Object o) { + if(o instanceof ILoadedTile && !((ILoadedTile) o).isLoaded()) return true; + if(o instanceof TileEntity && ((TileEntity) o).isInvalid()) return true; + return false; + } +} diff --git a/src/main/java/com/hbm/uninos/UniNodespace.java b/src/main/java/com/hbm/uninos/UniNodespace.java new file mode 100644 index 000000000..e9aaebb71 --- /dev/null +++ b/src/main/java/com/hbm/uninos/UniNodespace.java @@ -0,0 +1,139 @@ +package com.hbm.uninos; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.Set; +import java.util.Map.Entry; + +import com.hbm.util.Tuple.Pair; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; + +import net.minecraft.server.MinecraftServer; +import net.minecraft.world.World; + +/** + * Unified Nodespace, a Nodespace for all applications. + * "Nodespace" is an invisible "dimension" where nodes exist, a node is basically the "soul" of a tile entity with networking capabilities. + * Instead of tile entities having to find each other which is costly and assumes the tiles are loaded, tiles simply create nodes at their + * respective position in nodespace, the nodespace itself handles stuff like connections which can also happen in unloaded chunks. + * A node is so to say the "soul" of a tile entity which can act independent of its "body". + * @author hbm + */ +public class UniNodespace { + + public static HashMap worlds = new HashMap(); + public static Set activeNodeNets = new HashSet(); + + public static GenNode getNode(World world, int x, int y, int z, INetworkProvider type) { + UniNodeWorld nodeWorld = worlds.get(world); + if(nodeWorld != null) return nodeWorld.nodes.get(new Pair(new BlockPos(x, y, z), type)); + return null; + } + + public static void createNode(World world, GenNode node) { + UniNodeWorld nodeWorld = worlds.get(world); + if(nodeWorld == null) { + nodeWorld = new UniNodeWorld(); + worlds.put(world, nodeWorld); + } + nodeWorld.pushNode(node); + } + + public static void destroyNode(World world, int x, int y, int z, INetworkProvider type) { + GenNode node = getNode(world, x, y, z, type); + if(node != null) { + worlds.get(world).popNode(node); + } + } + + public static void updateNodespace() { + + for(World world : MinecraftServer.getServer().worldServers) { + UniNodeWorld nodeWorld = worlds.get(world); + + if(nodeWorld == null) continue; + + for(Entry, GenNode> entry : nodeWorld.nodes.entrySet()) { + GenNode node = entry.getValue(); + INetworkProvider provider = entry.getKey().getValue(); + if(!node.hasValidNet() || node.recentlyChanged) { + checkNodeConnection(world, node, provider); + node.recentlyChanged = false; + } + } + } + + updateNetworks(); + } + + private static void updateNetworks() { + + for(NodeNet net : activeNodeNets) net.resetTrackers(); //reset has to be done before everything else + for(NodeNet net : activeNodeNets) net.update(); + } + + /** Goes over each connection point of the given node, tries to find neighbor nodes and to join networks with them */ + private static void checkNodeConnection(World world, GenNode node, INetworkProvider provider) { + + for(DirPos con : node.connections) { + GenNode conNode = getNode(world, con.getX(), con.getY(), con.getZ(), provider); // get whatever neighbor node intersects with that connection + if(conNode != null) { // if there is a node at that place + if(conNode.hasValidNet() && conNode.net == node.net) continue; // if the net is valid and both nodes have the same net, skip + if(checkConnection(conNode, con, false)) { + connectToNode(node, conNode); + } + } + } + + if(node.net == null || !node.net.isValid()) provider.provideNetwork().joinLink(node); + } + + /** Checks if the node can be connected to given the DirPos, skipSideCheck will ignore the DirPos' direction value */ + public static boolean checkConnection(GenNode connectsTo, DirPos connectFrom, boolean skipSideCheck) { + for(DirPos revCon : connectsTo.connections) { + if(revCon.getX() - revCon.getDir().offsetX == connectFrom.getX() && revCon.getY() - revCon.getDir().offsetY == connectFrom.getY() && revCon.getZ() - revCon.getDir().offsetZ == connectFrom.getZ() && (revCon.getDir() == connectFrom.getDir().getOpposite() || skipSideCheck)) { + return true; + } + } + return false; + } + + /** Links two nodes with different or potentially no networks */ + private static void connectToNode(GenNode origin, GenNode connection) { + + if(origin.hasValidNet() && connection.hasValidNet()) { // both nodes have nets, but the nets are different (previous assumption), join networks + if(origin.net.links.size() > connection.net.links.size()) { + origin.net.joinNetworks(connection.net); + } else { + connection.net.joinNetworks(origin.net); + } + } else if(!origin.hasValidNet() && connection.hasValidNet()) { // origin has no net, connection does, have origin join connection's net + connection.net.joinLink(origin); + } else if(origin.hasValidNet() && !connection.hasValidNet()) { // ...and vice versa + origin.net.joinLink(connection); + } + } + + public static class UniNodeWorld { + + public HashMap, GenNode> nodes = new LinkedHashMap<>(); + + /** Adds a node at all its positions to the nodespace */ + public void pushNode(GenNode node) { + for(BlockPos pos : node.positions) { + nodes.put(new Pair(pos, node.networkProvider), node); + } + } + + /** Removes the specified node from all positions from nodespace */ + public void popNode(GenNode node) { + if(node.net != null) node.net.destroy(); + for(BlockPos pos : node.positions) { + nodes.remove(new Pair(pos, node.networkProvider)); + } + node.expired = true; + } + } +} diff --git a/src/main/java/com/hbm/uninos/networkproviders/FluidNetProvider.java b/src/main/java/com/hbm/uninos/networkproviders/FluidNetProvider.java new file mode 100644 index 000000000..a4f5e4918 --- /dev/null +++ b/src/main/java/com/hbm/uninos/networkproviders/FluidNetProvider.java @@ -0,0 +1,20 @@ +package com.hbm.uninos.networkproviders; + +import com.hbm.inventory.fluid.FluidType; +import com.hbm.uninos.INetworkProvider; + +import api.hbm.fluidmk2.FluidNetMK2; + +public class FluidNetProvider implements INetworkProvider { + + protected FluidType type; + + public FluidNetProvider(FluidType type) { + this.type = type; + } + + @Override + public FluidNetMK2 provideNetwork() { + return new FluidNetMK2(type); + } +} diff --git a/src/main/java/com/hbm/uninos/networkproviders/PneumaticNetwork.java b/src/main/java/com/hbm/uninos/networkproviders/PneumaticNetwork.java new file mode 100644 index 000000000..0bce26700 --- /dev/null +++ b/src/main/java/com/hbm/uninos/networkproviders/PneumaticNetwork.java @@ -0,0 +1,216 @@ +package com.hbm.uninos.networkproviders; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map.Entry; +import java.util.Random; + +import com.hbm.tileentity.machine.TileEntityMachineAutocrafter; +import com.hbm.tileentity.network.TileEntityPneumoTube; +import com.hbm.uninos.NodeNet; +import com.hbm.util.BobMathUtil; +import com.hbm.util.ItemStackUtil; +import com.hbm.util.Tuple.Pair; + +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraftforge.common.util.ForgeDirection; + +public class PneumaticNetwork extends NodeNet { + + public static final byte SEND_FIRST = 0; + public static final byte SEND_LAST = 1; + public static final byte SEND_RANDOM = 2; + public static final byte RECEIVE_ROBIN = 0; + public static final byte RECEIVE_RANDOM = 1; + + public Random rand = new Random(); + public int nextReceiver = 0; + + protected static final int timeout = 1_000; + public static final int ITEMS_PER_TRANSFER = 64; + + // while the system has parts that expects IInventires to be TileEntities to work properly (mostly range checks), + // it can actually handle non-TileEntities just fine. + public HashMap> receivers = new HashMap(); + + public void addReceiver(IInventory inventory, ForgeDirection pipeDir) { + receivers.put(inventory, new Pair(pipeDir, System.currentTimeMillis())); + } + + @Override public void update() { + + // weeds out invalid targets + // technically not necessary since that step is taken during the send operation, + // but we still want to reap garbage data that would otherwise accumulate + long timestamp = System.currentTimeMillis(); + receivers.entrySet().removeIf(x -> { return (timestamp - x.getValue().getValue() > timeout) || NodeNet.isBadLink(x.getKey()); }); + } + + public boolean send(IInventory source, TileEntityPneumoTube tube, ForgeDirection accessDir, int sendOrder, int receiveOrder, int maxRange) { + + // turns out there may be a short time window where the cleanup hasn't happened yet, but chunkloading has already caused tiles to go invalid + // so we just run it again here, just to be sure. + long timestamp = System.currentTimeMillis(); + receivers.entrySet().removeIf(x -> { return (timestamp - x.getValue().getValue() > timeout) || NodeNet.isBadLink(x.getKey()); }); + + if(receivers.isEmpty()) return false; + + int sourceSide = accessDir.ordinal(); + int[] sourceSlotAccess = getSlotAccess(source, sourceSide); + + if(sendOrder == SEND_LAST) BobMathUtil.reverseIntArray(sourceSlotAccess); + if(sendOrder == SEND_RANDOM) BobMathUtil.shuffleIntArray(sourceSlotAccess); + + // for round robin, receivers are ordered by proximity to the source + ReceiverComparator comparator = new ReceiverComparator(tube); + List>> receiverList = new ArrayList(receivers.size()); + receiverList.addAll(receivers.entrySet()); + receiverList.sort(comparator); + + int index = nextReceiver % receivers.size(); + Entry> chosenReceiverEntry = null; + nextReceiver++; + + if(receiveOrder == RECEIVE_ROBIN) chosenReceiverEntry = receiverList.get(index); + if(receiveOrder == RECEIVE_RANDOM) chosenReceiverEntry = receiverList.get(rand.nextInt(receiverList.size())); + + if(chosenReceiverEntry == null) return false; + + IInventory dest = chosenReceiverEntry.getKey(); + ISidedInventory sidedDest = dest instanceof ISidedInventory ? (ISidedInventory) dest : null; + ISidedInventory sidedSource = source instanceof ISidedInventory ? (ISidedInventory) source : null; + + TileEntity tile1 = source instanceof TileEntity ? (TileEntity) source : null; + TileEntity tile2 = dest instanceof TileEntity ? (TileEntity) dest : null; + + // range check for our compression level, skip if either source or dest aren't tile entities + if(tile1 != null && tile2 != null) { + int sq = (tile1.xCoord - tile2.xCoord) * (tile1.xCoord - tile2.xCoord) + (tile1.yCoord - tile2.yCoord) * (tile1.yCoord - tile2.yCoord) + (tile1.zCoord - tile2.zCoord) * (tile1.zCoord - tile2.zCoord); + if(sq > maxRange * maxRange) { + return false; + } + } + + int destSide = chosenReceiverEntry.getValue().getKey().getOpposite().ordinal(); + int[] destSlotAccess = getSlotAccess(dest, destSide); + int itemsLeftToSend = ITEMS_PER_TRANSFER; // not actually individual items, but rather the total "mass", based on max stack size + int itemHardCap = dest instanceof TileEntityMachineAutocrafter ? 1 : ITEMS_PER_TRANSFER; + boolean didSomething = false; + + for(int sourceIndex : sourceSlotAccess) { + ItemStack sourceStack = source.getStackInSlot(sourceIndex); + if(sourceStack == null) continue; + if(sidedSource != null && !sidedSource.canExtractItem(sourceIndex, sourceStack, sourceSide)) continue; + boolean match = tube.matchesFilter(sourceStack); + if((match && !tube.whitelist) || (!match && tube.whitelist)) continue; + // the "mass" of an item. something that only stacks to 4 has a "mass" of 16. max transfer mass is 64, i.e. one standard stack, or one single unstackable item + int proportionalValue = MathHelper.clamp_int(64 / sourceStack.getMaxStackSize(), 1, 64); + + // try to fill partial stacks first + for(int destIndex : destSlotAccess) { + ItemStack destStack = dest.getStackInSlot(destIndex); + if(destStack == null) continue; + if(!ItemStackUtil.areStacksCompatible(sourceStack, destStack)) continue; + int toMove = BobMathUtil.min(sourceStack.stackSize, destStack.getMaxStackSize() - destStack.stackSize, dest.getInventoryStackLimit() - destStack.stackSize, itemsLeftToSend / proportionalValue, itemHardCap); + if(toMove <= 0) continue; + + ItemStack checkStack = destStack.copy(); + checkStack.stackSize += toMove; + if(!dest.isItemValidForSlot(destIndex, checkStack)) continue; + if(sidedDest != null && !sidedDest.canInsertItem(destIndex, checkStack, destSide)) continue; + + sourceStack.stackSize -= toMove; + if(sourceStack.stackSize <= 0) source.setInventorySlotContents(sourceIndex, null); + destStack.stackSize += toMove; + itemsLeftToSend -= toMove * proportionalValue; + didSomething = true; + if(itemsLeftToSend <= 0) break; + } + + // if there's stuff left to send, occupy empty slots + if(itemsLeftToSend > 0 && sourceStack.stackSize > 0) for(int destIndex : destSlotAccess) { + if(dest.getStackInSlot(destIndex) != null) continue; + int toMove = BobMathUtil.min(sourceStack.stackSize, dest.getInventoryStackLimit(), itemsLeftToSend / proportionalValue, itemHardCap); + if(toMove <= 0) continue; + + ItemStack checkStack = sourceStack.copy(); + checkStack.stackSize = toMove; + if(!dest.isItemValidForSlot(destIndex, checkStack)) continue; + if(sidedDest != null && !sidedDest.canInsertItem(destIndex, checkStack, destSide)) continue; + + ItemStack newStack = sourceStack.copy(); + newStack.stackSize = toMove; + sourceStack.stackSize -= toMove; + if(sourceStack.stackSize <= 0) source.setInventorySlotContents(sourceIndex, null); + dest.setInventorySlotContents(destIndex, newStack); + itemsLeftToSend -= toMove * proportionalValue; + didSomething = true; + if(itemsLeftToSend <= 0) break; + } + + if(itemsLeftToSend <= 0) break; + } + + // make sure both parties are saved to disk and increment the counter for round robin + if(didSomething) { + source.markDirty(); + dest.markDirty(); + } + + return didSomething; + } + + /** Returns an array of accessible slots from the given side of an IInventory. If it's an ISidedInventory, uses the sided restrictions instead. */ + public static int[] getSlotAccess(IInventory inventory, int dir) { + + if(inventory instanceof ISidedInventory) { + int[] slotAccess = ((ISidedInventory) inventory).getAccessibleSlotsFromSide(dir); + return Arrays.copyOf(slotAccess, slotAccess.length); //we mess with the order, so better not use the original array + } else { + int[] slotAccess = new int[inventory.getSizeInventory()]; + for(int i = 0; i < inventory.getSizeInventory(); i++) slotAccess[i] = i; + return slotAccess; + } + } + + /** Compares IInventory by distance, going off the assumption that they are TileEntities. Uses positional data for tie-breaking if the distance is the same. */ + public static class ReceiverComparator implements Comparator>> { + + private TileEntityPneumoTube origin; + + public ReceiverComparator(TileEntityPneumoTube origin) { + this.origin = origin; + } + + @Override + public int compare(Entry> o1, Entry> o2) { + + TileEntity tile1 = o1.getKey() instanceof TileEntity ? (TileEntity) o1.getKey() : null; + TileEntity tile2 = o2.getKey() instanceof TileEntity ? (TileEntity) o2.getKey() : null; + + // prioritize actual TileEntities + if(tile1 == null && tile2 != null) return 1; + if(tile1 != null && tile2 == null) return -1; + if(tile1 == null && tile2 == null) return 0; + + // calculate distances from origin + int dist1 = (tile1.xCoord - origin.xCoord) * (tile1.xCoord - origin.xCoord) + (tile1.yCoord - origin.yCoord) * (tile1.yCoord - origin.yCoord) + (tile1.zCoord - origin.zCoord) * (tile1.zCoord - origin.zCoord); + int dist2 = (tile2.xCoord - origin.xCoord) * (tile2.xCoord - origin.xCoord) + (tile2.yCoord - origin.yCoord) * (tile2.yCoord - origin.yCoord) + (tile2.zCoord - origin.zCoord) * (tile2.zCoord - origin.zCoord); + + // tier-breaker: use hash value instead + if(dist1 == dist2) { + return TileEntityPneumoTube.getIdentifier(tile1.xCoord, tile1.yCoord, tile1.zCoord) - TileEntityPneumoTube.getIdentifier(tile2.xCoord, tile2.yCoord, tile2.zCoord); + } + + // no tie? return difference of the distances + return dist1 - dist2; + } + } +} diff --git a/src/main/java/com/hbm/uninos/networkproviders/PneumaticNetworkProvider.java b/src/main/java/com/hbm/uninos/networkproviders/PneumaticNetworkProvider.java new file mode 100644 index 000000000..330db1821 --- /dev/null +++ b/src/main/java/com/hbm/uninos/networkproviders/PneumaticNetworkProvider.java @@ -0,0 +1,13 @@ +package com.hbm.uninos.networkproviders; + +import com.hbm.uninos.INetworkProvider; + +public class PneumaticNetworkProvider implements INetworkProvider{ + + public static PneumaticNetworkProvider THE_PROVIDER = new PneumaticNetworkProvider(); + + @Override + public PneumaticNetwork provideNetwork() { + return new PneumaticNetwork(); + } +} diff --git a/src/main/java/com/hbm/uninos/networkproviders/PowerNetProvider.java b/src/main/java/com/hbm/uninos/networkproviders/PowerNetProvider.java new file mode 100644 index 000000000..da4502e24 --- /dev/null +++ b/src/main/java/com/hbm/uninos/networkproviders/PowerNetProvider.java @@ -0,0 +1,13 @@ +package com.hbm.uninos.networkproviders; + +import com.hbm.uninos.INetworkProvider; + +import api.hbm.energymk2.PowerNetMK2; + +public class PowerNetProvider implements INetworkProvider { + + @Override + public PowerNetMK2 provideNetwork() { + return new PowerNetMK2(); + } +} diff --git a/src/main/java/com/hbm/util/AchievementHandler.java b/src/main/java/com/hbm/util/AchievementHandler.java index 3d395a43e..4ad24e8f4 100644 --- a/src/main/java/com/hbm/util/AchievementHandler.java +++ b/src/main/java/com/hbm/util/AchievementHandler.java @@ -1,30 +1,26 @@ package com.hbm.util; -import java.util.HashMap; - import com.hbm.blocks.ModBlocks; import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.items.ItemAmmoEnums; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.stats.Achievement; +import java.util.HashMap; + public class AchievementHandler { public static HashMap craftingAchievements = new HashMap(); - + public static void register() { - craftingAchievements.put(new ComparableStack(ModItems.gun_mp40), MainRegistry.achFreytag); craftingAchievements.put(new ComparableStack(ModItems.piston_selenium), MainRegistry.achSelenium); craftingAchievements.put(new ComparableStack(ModItems.gun_b92), MainRegistry.achSelenium); craftingAchievements.put(new ComparableStack(ModItems.battery_potatos), MainRegistry.achPotato); - craftingAchievements.put(new ComparableStack(ModItems.gun_revolver_pip), MainRegistry.achC44); craftingAchievements.put(new ComparableStack(ModBlocks.machine_press), MainRegistry.achBurnerPress); craftingAchievements.put(new ComparableStack(ModItems.rbmk_fuel_empty), MainRegistry.achRBMK); - craftingAchievements.put(new ComparableStack(ModBlocks.machine_chemplant), MainRegistry.achChemplant); + craftingAchievements.put(new ComparableStack(ModBlocks.machine_chemical_plant), MainRegistry.achChemplant); craftingAchievements.put(new ComparableStack(ModBlocks.concrete_smooth), MainRegistry.achConcrete); craftingAchievements.put(new ComparableStack(ModBlocks.concrete_asbestos), MainRegistry.achConcrete); craftingAchievements.put(new ComparableStack(ModItems.ingot_polymer), MainRegistry.achPolymer); @@ -53,9 +49,8 @@ public class AchievementHandler { craftingAchievements.put(new ComparableStack(ModBlocks.machine_difurnace_off), MainRegistry.achBlastFurnace); craftingAchievements.put(new ComparableStack(ModBlocks.machine_assembler), MainRegistry.achAssembly); craftingAchievements.put(new ComparableStack(ModItems.billet_pu_mix), MainRegistry.achChicagoPile); - craftingAchievements.put(new ComparableStack(ModItems.ammo_4gauge, 1, ItemAmmoEnums.Ammo4Gauge.VAMPIRE.ordinal()), MainRegistry.achWitchtaunter); } - + public static void fire(EntityPlayer player, ItemStack stack) { if(player.worldObj.isRemote) return; ComparableStack comp = new ComparableStack(stack).makeSingular(); diff --git a/src/main/java/com/hbm/util/ArmorRegistry.java b/src/main/java/com/hbm/util/ArmorRegistry.java index c098d6a89..113976bae 100644 --- a/src/main/java/com/hbm/util/ArmorRegistry.java +++ b/src/main/java/com/hbm/util/ArmorRegistry.java @@ -1,104 +1,103 @@ package com.hbm.util; +import api.hbm.item.IGasMask; +import com.hbm.handler.ArmorModHandler; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; -import com.hbm.handler.ArmorModHandler; - -import api.hbm.item.IGasMask; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - public class ArmorRegistry { public static HashMap> hazardClasses = new HashMap(); - + public static void registerHazard(Item item, HazardClass... hazards) { hazardClasses.put(item, new ArrayList(Arrays.asList(hazards))); } - + public static boolean hasAllProtection(EntityLivingBase entity, int slot, HazardClass... clazz) { - + if(ArmorUtil.checkArmorNull(entity, slot)) return false; - + List list = getProtectionFromItem(entity.getEquipmentInSlot(slot + 1), entity); return list.containsAll(Arrays.asList(clazz)); } - + public static boolean hasAnyProtection(EntityLivingBase entity, int slot, HazardClass... clazz) { - + if(ArmorUtil.checkArmorNull(entity, slot)) return false; - + List list = getProtectionFromItem(entity.getEquipmentInSlot(slot + 1), entity); - + if(list == null) return false; - + for(HazardClass haz : clazz) { if(list.contains(haz)) return true; } - + return false; } - + public static boolean hasProtection(EntityLivingBase entity, int slot, HazardClass clazz) { - + if(ArmorUtil.checkArmorNull(entity, slot)) return false; - + List list = getProtectionFromItem(entity.getEquipmentInSlot(slot + 1), entity); - + if(list == null) return false; - + return list.contains(clazz); } - + public static List getProtectionFromItem(ItemStack stack, EntityLivingBase entity) { List prot = new ArrayList(); - + Item item = stack.getItem(); - + //if the item has HazardClasses assigned to it, add those if(hazardClasses.containsKey(item)) prot.addAll(hazardClasses.get(item)); - + if(item instanceof IGasMask) { IGasMask mask = (IGasMask) item; ItemStack filter = mask.getFilter(stack, entity); if(filter != null) { //add the HazardClasses from the filter, then remove the ones blacklisted by the mask - List filProt = hazardClasses.get(filter.getItem()); - + List filProt = (List) hazardClasses.get(filter.getItem()).clone(); + for(HazardClass c : mask.getBlacklist(stack, entity)) filProt.remove(c); - + prot.addAll(filProt); } } - + if(ArmorModHandler.hasMods(stack)) { - + ItemStack[] mods = ArmorModHandler.pryMods(stack); - + for(ItemStack mod : mods) { - + //recursion! run the exact same procedure on every mod, in case future mods will have filter support if(mod != null) prot.addAll(getProtectionFromItem(mod, entity)); } } - + return prot; } - + public static enum HazardClass { GAS_LUNG("hazard.gasChlorine"), //also attacks eyes -> no half mask GAS_MONOXIDE("hazard.gasMonoxide"), //only affects lungs @@ -110,9 +109,9 @@ public class ArmorRegistry { GAS_BLISTERING("hazard.corrosive"), //corrosive substance, also attacks skin SAND("hazard.sand"), //blinding sand particles LIGHT("hazard.light"); //blinding light - + public final String lang; - + private HazardClass(String lang) { this.lang = lang; } diff --git a/src/main/java/com/hbm/util/ArmorUtil.java b/src/main/java/com/hbm/util/ArmorUtil.java index ece9306a9..c9e4f34cd 100644 --- a/src/main/java/com/hbm/util/ArmorUtil.java +++ b/src/main/java/com/hbm/util/ArmorUtil.java @@ -1,17 +1,12 @@ package com.hbm.util; -import java.util.ArrayList; -import java.util.List; -import java.util.Locale; - +import api.hbm.item.IGasMask; import com.hbm.handler.ArmorModHandler; import com.hbm.handler.HazmatRegistry; import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.potion.HbmPotion; import com.hbm.util.ArmorRegistry.HazardClass; - -import api.hbm.item.IGasMask; import cpw.mods.fml.relauncher.ReflectionHelper; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -23,12 +18,16 @@ import net.minecraft.network.NetHandlerPlayServer; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.event.ForgeEventFactory; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + public class ArmorUtil { - + /* * The less horrifying part */ - + public static void register() { ArmorRegistry.registerHazard(ModItems.gas_mask_filter, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.GAS_BLISTERING, HazardClass.BACTERIA); ArmorRegistry.registerHazard(ModItems.gas_mask_filter_mono, HazardClass.PARTICLE_COARSE, HazardClass.GAS_MONOXIDE); @@ -40,7 +39,7 @@ public class ArmorUtil { ArmorRegistry.registerHazard(ModItems.gas_mask_m65, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.mask_rag, HazardClass.PARTICLE_COARSE); ArmorRegistry.registerHazard(ModItems.mask_piss, HazardClass.PARTICLE_COARSE, HazardClass.GAS_LUNG); - + ArmorRegistry.registerHazard(ModItems.goggles, HazardClass.LIGHT, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.ashglasses, HazardClass.LIGHT, HazardClass.SAND); @@ -52,7 +51,7 @@ public class ArmorUtil { ArmorRegistry.registerHazard(ModItems.hazmat_helmet_grey, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.hazmat_paa_helmet, HazardClass.LIGHT, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.liquidator_helmet, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.t45_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.t45_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.ajr_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.ajro_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.steamsuit_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); @@ -64,151 +63,151 @@ public class ArmorUtil { ArmorRegistry.registerHazard(ModItems.rpa_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.envsuit_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.trenchmaster_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - + //Ob ihr wirklich richtig steht, seht ihr wenn das Licht angeht! registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.universal.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.biochemgas.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.radiation.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); } - + private static void registerIfExists(String domain, String name, HazardClass... classes) { Item item = Compat.tryLoadItem(domain, name); if(item != null) ArmorRegistry.registerHazard(item, classes); } - + public static boolean checkArmor(EntityLivingBase entity, Item... armor) { - + for(int i = 0; i < 4; i++) { if(!checkArmorPiece(entity, armor[i], 3 - i)) return false; } - + return true; } - + public static boolean checkArmorPiece(EntityLivingBase entity, Item armor, int slot) { return !checkArmorNull(entity, slot) && entity.getEquipmentInSlot(slot + 1).getItem() == armor; } - + public static boolean checkArmorNull(EntityLivingBase player, int slot) { return player.getEquipmentInSlot(slot + 1) == null; } - + public static void damageSuit(EntityLivingBase entity, int slot, int amount) { - + if(entity.getEquipmentInSlot(slot + 1) == null) return; - + entity.getEquipmentInSlot(slot + 1).damageItem(amount, entity); if(entity.getEquipmentInSlot(slot + 1).stackSize == 0) { entity.setCurrentItemOrArmor(slot + 1, null); } } - + public static void resetFlightTime(EntityPlayer player) { - + if(player instanceof EntityPlayerMP) { EntityPlayerMP mp = (EntityPlayerMP) player; ReflectionHelper.setPrivateValue(NetHandlerPlayServer.class, mp.playerNetServerHandler, 0, "floatingTickCount", "field_147365_f"); } } - + /* * The more horrifying part */ public static boolean checkForHazmat(EntityLivingBase player) { - - if(checkArmor(player, ModItems.hazmat_helmet, ModItems.hazmat_plate, ModItems.hazmat_legs, ModItems.hazmat_boots) || - checkArmor(player, ModItems.hazmat_helmet_red, ModItems.hazmat_plate_red, ModItems.hazmat_legs_red, ModItems.hazmat_boots_red) || - checkArmor(player, ModItems.hazmat_helmet_grey, ModItems.hazmat_plate_grey, ModItems.hazmat_legs_grey, ModItems.hazmat_boots_grey) || - checkArmor(player, ModItems.t45_helmet, ModItems.t45_plate, ModItems.t45_legs, ModItems.t45_boots) || - checkArmor(player, ModItems.schrabidium_helmet, ModItems.schrabidium_plate, ModItems.schrabidium_legs, ModItems.schrabidium_boots) || + + if(checkArmor(player, ModItems.hazmat_helmet, ModItems.hazmat_plate, ModItems.hazmat_legs, ModItems.hazmat_boots) || + checkArmor(player, ModItems.hazmat_helmet_red, ModItems.hazmat_plate_red, ModItems.hazmat_legs_red, ModItems.hazmat_boots_red) || + checkArmor(player, ModItems.hazmat_helmet_grey, ModItems.hazmat_plate_grey, ModItems.hazmat_legs_grey, ModItems.hazmat_boots_grey) || + checkArmor(player, ModItems.t45_helmet, ModItems.t45_plate, ModItems.t45_legs, ModItems.t45_boots) || + checkArmor(player, ModItems.schrabidium_helmet, ModItems.schrabidium_plate, ModItems.schrabidium_legs, ModItems.schrabidium_boots) || checkForHaz2(player)) { - + return true; } - + if(player.isPotionActive(HbmPotion.mutation)) return true; - + return false; } - + public static boolean checkForHaz2(EntityLivingBase player) { - - if(checkArmor(player, ModItems.hazmat_paa_helmet, ModItems.hazmat_paa_plate, ModItems.hazmat_paa_legs, ModItems.hazmat_paa_boots) || - checkArmor(player, ModItems.liquidator_helmet, ModItems.liquidator_plate, ModItems.liquidator_legs, ModItems.liquidator_boots) || - checkArmor(player, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots) || - checkArmor(player, ModItems.rpa_helmet, ModItems.rpa_plate, ModItems.rpa_legs, ModItems.rpa_boots) || - checkArmor(player, ModItems.fau_helmet, ModItems.fau_plate, ModItems.fau_legs, ModItems.fau_boots) || + + if(checkArmor(player, ModItems.hazmat_paa_helmet, ModItems.hazmat_paa_plate, ModItems.hazmat_paa_legs, ModItems.hazmat_paa_boots) || + checkArmor(player, ModItems.liquidator_helmet, ModItems.liquidator_plate, ModItems.liquidator_legs, ModItems.liquidator_boots) || + checkArmor(player, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots) || + checkArmor(player, ModItems.rpa_helmet, ModItems.rpa_plate, ModItems.rpa_legs, ModItems.rpa_boots) || + checkArmor(player, ModItems.fau_helmet, ModItems.fau_plate, ModItems.fau_legs, ModItems.fau_boots) || checkArmor(player, ModItems.dns_helmet, ModItems.dns_plate, ModItems.dns_legs, ModItems.dns_boots)) { return true; } - + return false; } - + public static boolean checkForAsbestos(EntityLivingBase player) { - + if(checkArmor(player, ModItems.asbestos_helmet, ModItems.asbestos_plate, ModItems.asbestos_legs, ModItems.asbestos_boots)) return true; return false; } - + public static boolean checkForDigamma(EntityPlayer player) { - + if(checkArmor(player, ModItems.fau_helmet, ModItems.fau_plate, ModItems.fau_legs, ModItems.fau_boots)) return true; - + if(checkArmor(player, ModItems.dns_helmet, ModItems.dns_plate, ModItems.dns_legs, ModItems.dns_boots)) return true; - - if(player.isPotionActive(HbmPotion.stability.id)) - return true; - - return false; - } - - public static boolean checkForDigamma2(EntityPlayer player) { - - if(!checkArmor(player, ModItems.robes_helmet, ModItems.robes_plate, ModItems.robes_legs, ModItems.robes_boots)) - return false; - + if(player.isPotionActive(HbmPotion.stability.id)) return true; - + + return false; + } + + public static boolean checkForDigamma2(EntityPlayer player) { + + if(!checkArmor(player, ModItems.robes_helmet, ModItems.robes_plate, ModItems.robes_legs, ModItems.robes_boots)) + return false; + + if(player.isPotionActive(HbmPotion.stability.id)) + return true; + for(int i = 0; i < 4; i++) { - + ItemStack armor = player.getCurrentArmor(i); - + if(armor != null && ArmorModHandler.hasMods(armor)) { - + ItemStack mods[] = ArmorModHandler.pryMods(armor); - + if(!(mods[ArmorModHandler.cladding] != null && mods[ArmorModHandler.cladding].getItem() == ModItems.cladding_iron)) return false; } } - + return player.getMaxHealth() < 3; } - + public static boolean checkForFaraday(EntityPlayer player) { - + ItemStack[] armor = player.inventory.armorInventory; - + if(armor[0] == null || armor[1] == null || armor[2] == null || armor[3] == null) return false; - + if(isFaradayArmor(armor[0]) && isFaradayArmor(armor[1]) && isFaradayArmor(armor[2]) && isFaradayArmor(armor[3])) return true; - + return false; } - + public static final String[] metals = new String[] { "chainmail", "iron", @@ -237,63 +236,63 @@ public class ArmorUtil { "rpa", "spacesuit" }; - + public static boolean isFaradayArmor(ItemStack item) { - + String name = item.getUnlocalizedName(); - + for(String metal : metals) { - + if(name.toLowerCase(Locale.US).contains(metal)) return true; } - + if(HazmatRegistry.getCladding(item) > 0) return true; - + return false; } - + public static boolean checkForFiend(EntityPlayer player) { - + return checkArmorPiece(player, ModItems.jackt, 2) && Library.checkForHeld(player, ModItems.shimmer_sledge); } - + public static boolean checkForFiend2(EntityPlayer player) { - + return checkArmorPiece(player, ModItems.jackt2, 2) && Library.checkForHeld(player, ModItems.shimmer_axe); } - + /* * Default implementations for IGasMask items */ public static final String FILTERK_KEY = "hfrFilter"; - + public static void installGasMaskFilter(ItemStack mask, ItemStack filter) { - + if(mask == null || filter == null) return; - + if(!mask.hasTagCompound()) mask.stackTagCompound = new NBTTagCompound(); - + NBTTagCompound attach = new NBTTagCompound(); filter.writeToNBT(attach); - + mask.stackTagCompound.setTag(FILTERK_KEY, attach); } - + public static void removeFilter(ItemStack mask) { - + if(mask == null) return; - + if(!mask.hasTagCompound()) return; - + mask.stackTagCompound.removeTag(FILTERK_KEY); } - + /** * Grabs the installed filter or the filter of the attachment, used for attachment rendering * @param mask @@ -301,126 +300,126 @@ public class ArmorUtil { * @return */ public static ItemStack getGasMaskFilterRecursively(ItemStack mask, EntityLivingBase entity) { - + ItemStack filter = getGasMaskFilter(mask); - + if(filter == null && ArmorModHandler.hasMods(mask)) { - + ItemStack mods[] = ArmorModHandler.pryMods(mask); - + if(mods[ArmorModHandler.helmet_only] != null && mods[ArmorModHandler.helmet_only].getItem() instanceof IGasMask) filter = ((IGasMask)mods[ArmorModHandler.helmet_only].getItem()).getFilter(mods[ArmorModHandler.helmet_only], entity); } - + return filter; } - + public static ItemStack getGasMaskFilter(ItemStack mask) { - + if(mask == null) return null; - + if(!mask.hasTagCompound()) return null; - + NBTTagCompound attach = mask.stackTagCompound.getCompoundTag(FILTERK_KEY); ItemStack filter = ItemStack.loadItemStackFromNBT(attach); - + return filter; } - + public static void damageGasMaskFilter(EntityLivingBase entity, int damage) { - + ItemStack mask = entity.getEquipmentInSlot(4); - + if(mask == null) return; - + if(!(mask.getItem() instanceof IGasMask)) { - + if(ArmorModHandler.hasMods(mask)) { - + ItemStack mods[] = ArmorModHandler.pryMods(mask); - + if(mods[ArmorModHandler.helmet_only] != null && mods[ArmorModHandler.helmet_only].getItem() instanceof IGasMask) mask = mods[ArmorModHandler.helmet_only]; } } - + if(mask != null) damageGasMaskFilter(mask, damage); } - + public static void damageGasMaskFilter(ItemStack mask, int damage) { ItemStack filter = getGasMaskFilter(mask); - + if(filter == null) { if(ArmorModHandler.hasMods(mask)) { ItemStack mods[] = ArmorModHandler.pryMods(mask); - + if(mods[ArmorModHandler.helmet_only] != null && mods[ArmorModHandler.helmet_only].getItem() instanceof IGasMask) filter = getGasMaskFilter(mods[ArmorModHandler.helmet_only]); } } - + if(filter == null || filter.getMaxDamage() == 0) return; - + filter.setItemDamage(filter.getItemDamage() + damage); - + if(filter.getItemDamage() > filter.getMaxDamage()) removeFilter(mask); else installGasMaskFilter(mask, filter); } - + public static void addGasMaskTooltip(ItemStack mask, EntityPlayer player, List list, boolean ext) { - + if(mask == null || !(mask.getItem() instanceof IGasMask)) return; - + ItemStack filter = ((IGasMask)mask.getItem()).getFilter(mask, player); - + if(filter == null) { list.add(EnumChatFormatting.RED + "No filter installed!"); return; } - + list.add(EnumChatFormatting.GOLD + "Installed filter:"); - + int meta = filter.getItemDamage(); int max = filter.getMaxDamage(); - + String append = ""; - + if(max > 0) { append = " (" + ((max - meta) * 100 / max) + "%)"; } - + List lore = new ArrayList(); list.add(" " + filter.getDisplayName() + append); filter.getItem().addInformation(filter, player, lore, ext); ForgeEventFactory.onItemTooltip(filter, player, lore, ext); lore.forEach(x -> list.add(EnumChatFormatting.YELLOW + " " + x)); } - + public static boolean isWearingEmptyMask(EntityPlayer player) { - + ItemStack mask = player.getEquipmentInSlot(4); - + if(mask == null) return false; - + if(mask.getItem() instanceof IGasMask) { return getGasMaskFilter(mask) == null; } - + ItemStack mod = ArmorModHandler.pryMods(mask)[ArmorModHandler.helmet_only]; - + if(mod != null && mod.getItem() instanceof IGasMask) { return getGasMaskFilter(mod) == null; } - + return false; } } diff --git a/src/main/java/com/hbm/util/BobMathUtil.java b/src/main/java/com/hbm/util/BobMathUtil.java index 3330cda22..0c46100be 100644 --- a/src/main/java/com/hbm/util/BobMathUtil.java +++ b/src/main/java/com/hbm/util/BobMathUtil.java @@ -1,33 +1,73 @@ package com.hbm.util; -import java.lang.reflect.Field; -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.text.NumberFormat; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import javax.annotation.Nonnegative; - import cpw.mods.fml.relauncher.ReflectionHelper; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; +import javax.annotation.Nonnegative; +import java.lang.reflect.Field; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.text.NumberFormat; +import java.util.*; +import java.util.function.ToIntFunction; + public class BobMathUtil { - + + //finally! + public static int min(int... nums) { + int smallest = Integer.MAX_VALUE; + for(int num : nums) if(num < smallest) smallest = num; + return smallest; + } + public static int max(int... nums) { + int largest = Integer.MIN_VALUE; + for(int num : nums) if(num > largest) largest = num; + return largest; + } + public static long min(long... nums) { + long smallest = Long.MAX_VALUE; + for(long num : nums) if(num < smallest) smallest = num; + return smallest; + } + public static long max(long... nums) { + long largest = Long.MIN_VALUE; + for(long num : nums) if(num > largest) largest = num; + return largest; + } + public static float min(float... nums) { + float smallest = Float.MAX_VALUE; + for(float num : nums) if(num < smallest) smallest = num; + return smallest; + } + public static float max(float... nums) { + float largest = Float.MIN_VALUE; + for(float num : nums) if(num > largest) largest = num; + return largest; + } + public static double min(double... nums) { + double smallest = Double.MAX_VALUE; + for(double num : nums) if(num < smallest) smallest = num; + return smallest; + } + public static double max(double... nums) { + double largest = Double.MIN_VALUE; + for(double num : nums) if(num > largest) largest = num; + return largest; + } + public static double safeClamp(double val, double min, double max) { val = MathHelper.clamp_double(val, min, max); - + if(val == Double.NaN) { val = (min + max) / 2D; } - + return val; } - + public static Vec3 interpVec(Vec3 vec1, Vec3 vec2, float interp) { return Vec3.createVectorHelper( interp(vec1.xCoord, vec2.xCoord, interp), @@ -35,73 +75,72 @@ public class BobMathUtil { interp(vec1.zCoord, vec2.zCoord, interp) ); } - - public static double interp(double x, double y, float interp) { - return x + (y - x) * interp; - } - + + public static double interp(double x, double y, float interp) { return x + (y - x) * interp; } + public static double interp(double x, double y, double interp) { return x + (y - x) * interp; } + public static double getAngleFrom2DVecs(double x1, double z1, double x2, double z2) { - + double upper = x1 * x2 + z1 * z2; double lower = Math.sqrt(x1 * x1 + z1 * z1) * Math.sqrt(x2 * x2 + z2 * z2); - + double result = Math.toDegrees(Math.cos(upper / lower)); - + if(result >= 180) result -= 180; - + return result; } - + public static double getCrossAngle(Vec3 vel, Vec3 rel) { - + vel.normalize(); rel.normalize(); double vecProd = rel.xCoord * vel.xCoord + rel.yCoord * vel.yCoord + rel.zCoord * vel.zCoord; double bot = rel.lengthVector() * vel.lengthVector(); double angle = Math.acos(vecProd / bot) * 180 / Math.PI; - + if(angle >= 180) angle -= 180; - + return angle; } public static float remap(float num, float min1, float max1, float min2, float max2){ return ((num - min1) / (max1 - min1)) * (max2 - min2) + min2; } - + public static float remap01(float num, float min1, float max1){ return (num - min1) / (max1 - min1); } - + public static float remap01_clamp(float num, float min1, float max1){ return MathHelper.clamp_float((num - min1) / (max1 - min1), 0, 1); } - + public static ForgeDirection[] getShuffledDirs() { - + ForgeDirection[] dirs = new ForgeDirection[6]; List indices = new ArrayList() {{ add(0); add(1); add(2); add(3); add(4); add(5); }}; Collections.shuffle(indices); - + for(int i = 0; i < 6; i++) { dirs[i] = ForgeDirection.getOrientation(indices.get(i)); } - + return dirs; } public static String toPercentage(float amount, float total) { return NumberFormat.getPercentInstance().format(amount / total); } - + public static String[] ticksToDate(long ticks) { - + int tickDay = 48000; int tickYear = tickDay * 100; - + final String[] dateOut = new String[3]; long year = Math.floorDiv(ticks, tickYear); byte day = (byte) Math.floorDiv(ticks - tickYear * year, tickDay); @@ -112,7 +151,7 @@ public class BobMathUtil { dateOut[2] = String.valueOf(time); return dateOut; } - + /** * Rescale a number from one range to another * @param toScale - The integer to scale @@ -127,7 +166,7 @@ public class BobMathUtil { double newRange = newMax - newMin; return (((toScale - oldMin) * newRange) / prevRange) + newMin; } - + /** * Rounds a number to so many significant digits * @param num The number to round @@ -140,13 +179,21 @@ public class BobMathUtil { return new BigDecimal(num).setScale(digits, RoundingMode.HALF_UP).doubleValue(); } + + /** + * @param amount + * @return the number as a string with thousand group commas + */ + public static String format(int amount) { + return String.format(Locale.US, "%,d", amount); + } public static boolean getBlink() { return System.currentTimeMillis() % 1000 < 500; } public static String getShortNumber(long l) { - + if(l >= Math.pow(10, 18)) { double res = l / Math.pow(10, 18); res = Math.round(res * 100.0) / 100.0; @@ -177,41 +224,75 @@ public class BobMathUtil { res = Math.round(res * 100.0) / 100.0; return res + "k"; } - + return Long.toString(l); } - + /** * Adjusted sqrt, approaches standard sqrt but sqrt(x) is never bigger than x - * + * * ____________ * / 1 | 1 * _ / x + ―――――――― - ――――― * \/ (x + 2)² x + 2 - * + * * @param x * @return */ public static double squirt(double x) { return Math.sqrt(x + 1D / ((x + 2D) * (x + 2D))) - 1D / (x + 2D); } - + /** A convenient way to re-define the value of pi, should the laws of nature change. */ public static void setPi(double pi) { Field field = ReflectionHelper.findField(Math.class, "PI"); try { field.setDouble(null, pi); } catch(Exception e) { } } - + public static double angularDifference(double alpha, double beta) { double delta = (beta - alpha + 180) % 360 - 180; return delta < -180 ? delta + 360 : delta; } + + // I am sick of trying to remember the ridiculous quirks of Java 8 + // so I wrote this thing that can shit any int-ish list-ish into a regular fucking int[] + // made by mellow, thrown here by 70k + public static int[] intCollectionToArray(Collection in) { + return intCollectionToArray(in, i -> (int)i); + } + + public static int[] intCollectionToArray(Collection in, ToIntFunction mapper) { + return Arrays.stream(in.toArray()).mapToInt(mapper).toArray(); + } + + public static int[] collectionToIntArray(Collection in, ToIntFunction mapper) { + return Arrays.stream(in.toArray()).mapToInt(mapper).toArray(); + } + public static void shuffleIntArray(int[] array) { + Random rand = new Random(); + for(int i = array.length - 1; i > 0; i--) { + int r = rand.nextInt(i + 1); + int temp = array[r]; + array[r] = array[i]; + array[i] = temp; + } + } + + public static void reverseIntArray(int[] array) { + int len = array.length; + for(int i = 0; i < len / 2; i++) { + int temp = array[i]; + array[i] = array[len - 1 - i]; + array[len - 1 - i] = temp; + } + } + /** Soft peak sine */ public static double sps(double x) { return Math.sin(Math.PI / 2D * Math.cos(x)); } - + /** Square wave sine, make sure squarination is [0;1] */ public static double sws(double x, double squarination) { double s = Math.sin(x); diff --git a/src/main/java/com/hbm/util/BufferUtil.java b/src/main/java/com/hbm/util/BufferUtil.java index 3f50e7e54..4bdf26480 100644 --- a/src/main/java/com/hbm/util/BufferUtil.java +++ b/src/main/java/com/hbm/util/BufferUtil.java @@ -1,26 +1,34 @@ package com.hbm.util; -import java.nio.charset.Charset; - import io.netty.buffer.ByteBuf; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTSizeTracker; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.Vec3; + +import java.io.IOException; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; public class BufferUtil { - private static final Charset CHARSET = Charset.forName("UTF-8"); - + private static final Charset CHARSET = StandardCharsets.UTF_8; + // Writes a string to a byte buffer by encoding the length and raw bytes - public static final void writeString(ByteBuf buf, String value) { + public static void writeString(ByteBuf buf, String value) { if(value == null) { buf.writeInt(-1); return; } - buf.writeInt(value.length()); + buf.writeInt(value.getBytes(CHARSET).length); buf.writeBytes(value.getBytes(CHARSET)); } // Reads a string from a byte buffer via the written length and raw bytes - public static final String readString(ByteBuf buf) { + public static String readString(ByteBuf buf) { final int count = buf.readInt(); if(count < 0) return null; @@ -30,4 +38,124 @@ public class BufferUtil { return new String(bytes, CHARSET); } + /** + * Writes an integer array to a buffer. + */ + public static void writeIntArray(ByteBuf buf, int[] array) { + buf.writeInt(array.length); + for (int value : array) { + buf.writeInt(value); + } + } + + /** + * Reads an integer array from a buffer. + */ + public static int[] readIntArray(ByteBuf buf) { + int length = buf.readInt(); + + int[] array = new int[length]; + + for (int i = 0; i < length; i++) { + array[i] = buf.readInt(); + } + + return array; + } + + /** + * Writes a vector to a buffer. + */ + public static void writeVec3(ByteBuf buf, Vec3 vector) { + buf.writeBoolean(vector != null); + if(vector == null) return; + buf.writeDouble(vector.xCoord); + buf.writeDouble(vector.yCoord); + buf.writeDouble(vector.zCoord); + } + + /** + * Reads a vector from a buffer. + */ + public static Vec3 readVec3(ByteBuf buf) { + boolean vectorExists = buf.readBoolean(); + if(!vectorExists) { + return null; + } + double x = buf.readDouble(); + double y = buf.readDouble(); + double z = buf.readDouble(); + + return Vec3.createVectorHelper(x, y, z); + } + + /** + * Writes a NBTTagCompound to a buffer. + */ + public static void writeNBT(ByteBuf buf, NBTTagCompound compound) { + if(compound != null) { + byte[] nbtData = new byte[0]; + try { + nbtData = CompressedStreamTools.compress(compound); + } catch(IOException e) { + e.printStackTrace(); + } + buf.writeShort((short) nbtData.length); + buf.writeBytes(nbtData); + } else + buf.writeShort(-1); + } + + /** + * Reads a NBTTagCompound from a buffer. + */ + public static NBTTagCompound readNBT(ByteBuf buf) { + short nbtLength = buf.readShort(); + + if (nbtLength == -1) // check if no compound was even given. + return new NBTTagCompound(); + byte[] tags = new byte[nbtLength]; + buf.readBytes(tags); + try { + return CompressedStreamTools.func_152457_a(tags, new NBTSizeTracker(2097152L)); + } catch(IOException e) { + e.printStackTrace(); + } + return new NBTTagCompound(); + } + + /** + * Writes the ItemStack to the buffer. + */ + public static void writeItemStack(ByteBuf buf, ItemStack item) { + if (item == null) + buf.writeShort(-1); + else { + buf.writeShort(Item.getIdFromItem(item.getItem())); + buf.writeByte(item.stackSize); + buf.writeShort(item.getItemDamage()); + NBTTagCompound nbtTagCompound = null; + + if (item.getItem().isDamageable() || item.getItem().getShareTag()) + nbtTagCompound = item.stackTagCompound; + + writeNBT(buf, nbtTagCompound); + } + } + + /** + * Reads an ItemStack from a buffer. + */ + public static ItemStack readItemStack(ByteBuf buf) { + ItemStack item = null; + short id = buf.readShort(); + + if (id >= 0) { + byte quantity = buf.readByte(); + short meta = buf.readShort(); + item = new ItemStack(Item.getItemById(id), quantity, meta); + item.stackTagCompound = readNBT(buf); + } + return item; + } } diff --git a/src/main/java/com/hbm/util/ChatBuilder.java b/src/main/java/com/hbm/util/ChatBuilder.java index fd269b5ad..84162877f 100644 --- a/src/main/java/com/hbm/util/ChatBuilder.java +++ b/src/main/java/com/hbm/util/ChatBuilder.java @@ -1,74 +1,69 @@ package com.hbm.util; +import net.minecraft.util.*; + import java.util.ArrayList; import java.util.List; import java.util.ListIterator; -import net.minecraft.util.ChatComponentStyle; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.ChatComponentTranslation; -import net.minecraft.util.ChatStyle; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IChatComponent; - public class ChatBuilder { private ChatComponentText text; private ChatComponentStyle last; - + private ChatBuilder(String text) { this.text = new ChatComponentText(text); this.last = this.text; } - + public static ChatBuilder start(String text) { ChatBuilder builder = new ChatBuilder(text); return builder; } - + public static ChatBuilder startTranslation(String text, Object... o) { ChatBuilder builder = new ChatBuilder("").nextTranslation(text, o); return builder; } - + public ChatBuilder next(String text) { ChatComponentText append = new ChatComponentText(text); this.last.appendSibling(append); this.last = append; return this; } - + public ChatBuilder nextTranslation(String text, Object... o) { ChatComponentTranslation append = new ChatComponentTranslation(text, o); this.last.appendSibling(append); this.last = append; return this; } - + public ChatBuilder color(EnumChatFormatting format) { ChatStyle style = this.last.getChatStyle(); style.setColor(format); return this; } - + /** Will recursively go over all IChatComponents added to the root and then set the style */ public ChatBuilder colorAll(EnumChatFormatting format) { - + List list = new ArrayList(); list.add(text); - + ListIterator it = list.listIterator(); - + while(it.hasNext()) { Object o = it.next(); IChatComponent component = (IChatComponent) o; component.getChatStyle().setColor(format); for(Object s : component.getSiblings()) it.add(s); } - + return this; } - + public ChatComponentText flush() { return this.text; } diff --git a/src/main/java/com/hbm/util/ChunkShapeHelper.java b/src/main/java/com/hbm/util/ChunkShapeHelper.java new file mode 100644 index 000000000..6722d5422 --- /dev/null +++ b/src/main/java/com/hbm/util/ChunkShapeHelper.java @@ -0,0 +1,113 @@ +package com.hbm.util; + +import java.util.List; +import java.util.ArrayList; + +import net.minecraft.world.ChunkCoordIntPair; + +public class ChunkShapeHelper { + + + // Help what are projections + private static double pointSegmentDist(int x1, int z1, int x2, int z2, int px, int pz) { + int dx = x2 - x1; + int dz = z2 - z1; + + // The segment is just a point + if (dx == 0 && dz == 0) { + // intellij is telling me that this is duplicated, but it would be more expensive to move it out of the if statements + return Math.sqrt((px - x1) * (px - x1) + (pz - z1) * (pz - z1)); + } + + // Calculate the projection t of point P onto the infinite line through A and B + double t = ((px - x1) * dx + (pz - z1) * dz) / (double) (dx * dx + dz * dz); + + + // Closest to point (x1, z1) + if (t < 0) { + return Math.sqrt((px - x1) * (px - x1) + (pz - z1) * (pz - z1)); + } else if (t > 1) { + // Closest to point (x2, z2) + return Math.sqrt((px - x2) * (px - x2) + (pz - z2) * (pz - z2)); + } + // Projection is within the segment + + double projX = x1 + t * dx; + double projZ = z1 + t * dz; + + // Magic math + return Math.sqrt((px - projX) * (px - projX) + (pz - projZ) * (pz - projZ)); + } + + // Loop through the corners of the box and check their distances (yes I know that this doest work with the endpoints very well, but fuck off ive done too much math today) + private static double boxLineDist(int lineX0, int lineZ0, int lineX1, int lineZ1, int boxX, int boxZ) { + double minDist = Double.MAX_VALUE; + + int[][] corners = {{0, 0}, {0, 16}, {16, 0}, {16, 16}}; + for (int[] corner : corners) { + minDist = Math.min(minDist, pointSegmentDist(lineX0, lineZ0, lineX1, lineZ1, boxX + corner[0], boxZ + corner[1])); + } + + return minDist; + } + + // 90% of this is Bresenham's Line Algorithm, and the other part is messy padding + // The xs and zs are the endpoints fo the line segment, and paddingSize is how many blocks away a chunk needs to be to not be included + // Dont give chunk coords + public static List getChunksAlongLineSegment(int x0, int z0, int x1, int z1, double paddingSize) { + int dx = Math.abs(x1 - x0); + int sx = x0 < x1 ? 1 : -1; + int dz = -Math.abs(z1 - z0); + int sz = z0 < z1 ? 1 : -1; + int error = dx + dz; + + // Just store the original starting point because we fuck with it in the loop + int originalX = x0; + int originalZ = z0; + + // The chunks we are returning + List out = new ArrayList<>(); + // The chunks we have aready checked for their distance so we dont run it over and over + List checked = new ArrayList<>(); + + // Ahhh scary while true + while (true) { + // Add the current chunk coords, if they havent already been added + ChunkCoordIntPair coords = new ChunkCoordIntPair(x0 >> 4, z0 >> 4); + if (!out.contains(coords)) { + out.add(coords); + } + + // My messy padding code: loop over each of the chunks next to the one we just added + int[][] corners = {{-1, -1}, {0, -1}, {1, -1}, {-1, 0}, {1, 0}, {-1, 1}, {0, 1}, {1, 1}}; + for (int[] corner : corners) { + + // If we already checked this one keep going + ChunkCoordIntPair cornerCoords = new ChunkCoordIntPair((x0 >> 4) + corner[0], (z0 >> 4) + corner[1]); + if (checked.contains(cornerCoords)) continue; + checked.add(cornerCoords); + + // If this box isn't already added, and it is closer than paddingSize, then add it + if (!out.contains(cornerCoords) && boxLineDist(originalX, originalZ, x1, z1, cornerCoords.chunkXPos * 16, cornerCoords.chunkZPos * 16) < paddingSize) { + out.add(cornerCoords); + } + } + + // Wikipedia take the wheel + int e2 = 2 * error; + if (e2 >= dz) { + if (x0 == x1) break; + error += dz; + x0 += sx; + } + if (e2 <= dx) { + if (z0 == z1) break; + error += dx; + z0 += sz; + } + } + + return out; + + } +} diff --git a/src/main/java/com/hbm/util/Clock.java b/src/main/java/com/hbm/util/Clock.java new file mode 100644 index 000000000..562e17062 --- /dev/null +++ b/src/main/java/com/hbm/util/Clock.java @@ -0,0 +1,11 @@ +package com.hbm.util; + +public class Clock { + private static long time_ms; + public static void update(){ + time_ms = System.currentTimeMillis(); + } + public static long get_ms(){ + return time_ms; + } +} diff --git a/src/main/java/com/hbm/util/ColorUtil.java b/src/main/java/com/hbm/util/ColorUtil.java index 2d0ad9378..c863c5d02 100644 --- a/src/main/java/com/hbm/util/ColorUtil.java +++ b/src/main/java/com/hbm/util/ColorUtil.java @@ -23,34 +23,34 @@ public class ColorUtil { public static BufferedImage getImageFromStack(ItemStack stack) throws IOException { String iconName = stack.getItem().getIconFromDamage(stack.getItemDamage()).getIconName(); String domain = "minecraft"; - + if(iconName.contains(":")) { String[] parts = iconName.split(":"); domain = parts[0]; iconName = parts[1]; } - + ResourceLocation loc = new ResourceLocation(domain, "textures/items/" + iconName + ".png"); - + return ImageIO.read(Minecraft.getMinecraft().getResourceManager().getResource(loc).getInputStream()); } @SideOnly(Side.CLIENT) public static int getAverageColorFromStack(ItemStack stack) { - + try { BufferedImage tex = getImageFromStack(stack); - + int r = 0; int g = 0; int b = 0; int pixels = 0; - + for(int i = 0; i < tex.getWidth(); i++) { for(int j = 0; j < tex.getHeight(); j++) { - + Color pixel = new Color(tex.getRGB(i, j)); - + if(pixel.getAlpha() == 255) { r += pixel.getRed(); g += pixel.getGreen(); @@ -63,9 +63,9 @@ public class ColorUtil { int avgR = r / pixels; int avgG = g / pixels; int avgB = b / pixels; - + return (avgR << 16) | (avgG << 8) | avgB; - + } catch(Exception ex) { return 0xFFFFFF; } @@ -73,34 +73,34 @@ public class ColorUtil { @SideOnly(Side.CLIENT) public static int getMedianBrightnessColorFromStack(ItemStack stack) { - + try { BufferedImage tex = getImageFromStack(stack); - + HashMap brightMap = new HashMap(); List brightnesses = new ArrayList(); - + for(int i = 0; i < tex.getWidth(); i++) { for(int j = 0; j < tex.getHeight(); j++) { - + Color pixel = new Color(tex.getRGB(i, j)); int brightness = pixel.getRed() * pixel.getRed() + pixel.getGreen() * pixel.getGreen() + pixel.getBlue() * pixel.getBlue(); brightnesses.add(brightness); brightMap.put(brightness, pixel); //overlap possible, but we don't differentiate between colors anyway. } } - + Collections.sort(brightnesses); int median = brightnesses.get(brightnesses.size() / 2); Color medianColor = brightMap.get(median); - + return medianColor.getRGB(); - + } catch(Exception ex) { return 0xFFFFFF; } } - + /** * Decides whether a color is considered "colorful", i.e. weeds out colors that are too dark or too close to gray. * @param hex @@ -108,11 +108,11 @@ public class ColorUtil { */ public static boolean isColorColorful(int hex) { Color color = new Color(hex); - + /*double r = color.getRed(); double g = color.getBlue(); double b = color.getGreen(); - + if(r < 50 && g < 50 && b < 50) return false; @@ -122,13 +122,13 @@ public class ColorUtil { if(g / b > 1.5) return true; if(b / r > 1.5) return true; if(b / g > 1.5) return true;*/ - + float[] hsb = Color.RGBtoHSB(color.getRed(), color.getGreen(), color.getBlue(), new float[3]); - + // saturation brightness return hsb[1] > 0.25 && hsb[2] > 0.25; } - + /** * Raises the highest RGB component to the specified limit, scaling the other components with it. * @param hex @@ -141,14 +141,14 @@ public class ColorUtil { int g = color.getGreen(); int b = color.getBlue(); int max = Math.max(Math.max(1, r), Math.max(g, b)); - + r = r * limit / max; g = g * limit / max; b = b * limit / max; - + return new Color(r, g, b).getRGB(); } - + /** * Same as the regular amplifyColor but it uses 255 as the limit. * @param hex @@ -157,7 +157,7 @@ public class ColorUtil { public static int amplifyColor(int hex) { return amplifyColor(hex, 255); } - + /** * Amplifies a given color by approaching all components to maximum by a given percentage. A percentage of 1 (100%) should always yield white. * @param hex @@ -169,21 +169,21 @@ public class ColorUtil { int r = color.getRed(); int g = color.getGreen(); int b = color.getBlue(); - + r = (int) (r + (255 - r) * percent); g = (int) (g + (255 - g) * percent); b = (int) (b + (255 - b) * percent); - + return new Color(r, g, b).getRGB(); } - + /** Converts a color into HSB and then returns the brightness component [] */ public static double getColorBrightness(int hex) { Color color = new Color(hex); float[] hsb = Color.RGBtoHSB(color.getRed(), color.getGreen(), color.getBlue(), new float[3]); return hsb[2]; } - + public static HashMap nameToColor = new HashMap() {{ put("black", 1973019); put("red", 11743532); @@ -202,17 +202,17 @@ public class ColorUtil { put("orange", 15435844); put("white", 15790320); }}; - + public static int getColorFromDye(ItemStack stack) { List oreNames = ItemStackUtil.getOreDictNames(stack); - + for(String dict : oreNames) { if(dict.length() > 3 && dict.startsWith("dye")) { String color = dict.substring(3).toLowerCase(Locale.US); if(nameToColor.containsKey(color)) return nameToColor.get(color); } } - + return 0; } } diff --git a/src/main/java/com/hbm/util/Compat.java b/src/main/java/com/hbm/util/Compat.java index 3b6bc6069..db59a6026 100644 --- a/src/main/java/com/hbm/util/Compat.java +++ b/src/main/java/com/hbm/util/Compat.java @@ -1,9 +1,5 @@ package com.hbm.util; -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.ConcurrentHashMap; - import com.hbm.config.GeneralConfig; import com.hbm.handler.HazmatRegistry; import com.hbm.hazard.HazardRegistry; @@ -11,7 +7,6 @@ import com.hbm.inventory.FluidContainer; import com.hbm.inventory.FluidContainerRegistry; import com.hbm.inventory.fluid.Fluids; import com.hbm.main.MainRegistry; - import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.eventhandler.EventBus; @@ -25,8 +20,13 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.ConcurrentHashMap; + public class Compat { - + public static final String MOD_GT6 = "gregtech"; public static final String MOD_GCC = "GalacticraftCore"; public static final String MOD_AR = "advancedrocketry"; @@ -35,6 +35,8 @@ public class Compat { public static final String MOD_TIC = "TConstruct"; public static final String MOD_RC = "Railcraft"; public static final String MOD_TC = "tc"; + public static final String MOD_EIDS = "endlessids"; + public static final String MOD_ANG = "angelica"; public static Item tryLoadItem(String domain, String name) { return (Item) Item.itemRegistry.getObject(getReg(domain, name)); @@ -43,15 +45,37 @@ public class Compat { public static Block tryLoadBlock(String domain, String name) { return (Block) Block.blockRegistry.getObject(getReg(domain, name)); } - + private static String getReg(String domain, String name) { return domain + ":" + name; } + public static ItemStack getPreferredOreOutput(List oreList) { + int lowestPref = -1; + ItemStack preferredStack = null; + + for(ItemStack item : oreList) { + String modid = ItemStackUtil.getModIdFromItemStack(item); + for(int i = 0; i < GeneralConfig.preferredOutputMod.length; i++) { + if (modid.equals(GeneralConfig.preferredOutputMod[i])){ + if (lowestPref<0 || i scrapeItemFromME(ItemStack meDrive) { List stacks = new ArrayList(); - + try { if(meDrive != null && meDrive.hasTagCompound()) { NBTTagCompound nbt = meDrive.getTagCompound(); int types = nbt.getShort("it"); //ITEM_TYPE_TAG - + for(int i = 0; i < types; i++) { NBTBase stackTag = nbt.getTag("#" + i); - + if(stackTag instanceof NBTTagCompound) { NBTTagCompound compound = (NBTTagCompound) stackTag; ItemStack stack = ItemStack.loadItemStackFromNBT(compound); - + int count = nbt.getInteger("@" + i); stack.stackSize = count; stacks.add(stack); @@ -120,66 +144,66 @@ public class Compat { } } } catch(Exception ex) { } - + return stacks; } - + public static void registerCompatHazmat() { - + double helmet = 0.2D; double chest = 0.4D; double legs = 0.3D; double boots = 0.1D; - + double p90 = 1.0D; // 90% double p99 = 2D; // 99% - + tryRegisterHazmat(Compat.MOD_GT6, "gt.armor.hazmat.radiation.head", p90 * helmet); tryRegisterHazmat(Compat.MOD_GT6, "gt.armor.hazmat.radiation.chest", p90 * chest); tryRegisterHazmat(Compat.MOD_GT6, "gt.armor.hazmat.radiation.legs", p90 * legs); tryRegisterHazmat(Compat.MOD_GT6, "gt.armor.hazmat.radiation.boots", p90 * boots); - + tryRegisterHazmat(Compat.MOD_GT6, "gt.armor.hazmat.universal.head", p99 * helmet); tryRegisterHazmat(Compat.MOD_GT6, "gt.armor.hazmat.universal.chest", p99 * chest); tryRegisterHazmat(Compat.MOD_GT6, "gt.armor.hazmat.universal.legs", p99 * legs); tryRegisterHazmat(Compat.MOD_GT6, "gt.armor.hazmat.universal.boots", p99 * boots); - + tryRegisterHazmat(Compat.MOD_REC, "reactorcraft_item_hazhelmet", p99 * helmet); tryRegisterHazmat(Compat.MOD_REC, "reactorcraft_item_hazchest", p99 * chest); tryRegisterHazmat(Compat.MOD_REC, "reactorcraft_item_hazlegs", p99 * legs); tryRegisterHazmat(Compat.MOD_REC, "reactorcraft_item_hazboots", p99 * boots); - + tryRegisterHazmat(Compat.MOD_EF, "netherite_helmet", p90 * helmet); tryRegisterHazmat(Compat.MOD_EF, "netherite_chestplate", p90 * chest); tryRegisterHazmat(Compat.MOD_EF, "netherite_leggings", p90 * legs); tryRegisterHazmat(Compat.MOD_EF, "netherite_boots", p90 * boots); } - + private static void tryRegisterHazmat(String mod, String name, double resistance) { Item item = Compat.tryLoadItem(mod, name); if(item != null) { HazmatRegistry.registerHazmat(item, resistance); } } - + public static void registerCompatFluidContainers() { - + if(Compat.isModLoaded(Compat.MOD_TC) && GeneralConfig.enableFluidContainerCompat) { Item canister = Compat.tryLoadItem(Compat.MOD_TC, "emptyCanister"); Item diesel = Compat.tryLoadItem(Compat.MOD_TC, "diesel"); if(diesel != null && canister != null) FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(diesel), new ItemStack(canister), Fluids.DIESEL, 1000)); } } - + public static void handleRailcraftNonsense() { - + if(!Loader.isModLoaded(MOD_RC)) return; MainRegistry.logger.info("#######################################################"); MainRegistry.logger.info("| Railcraft detected, deploying anti-nonsense measures..."); - + try { - + ConcurrentHashMap> listeners = ReflectionHelper.getPrivateValue(EventBus.class, FMLCommonHandler.instance().bus(), "listeners"); Object nonsense = null; for(Object o : listeners.keySet()) { @@ -189,16 +213,47 @@ public class Compat { break; } } - + FMLCommonHandler.instance().bus().unregister(nonsense); MainRegistry.logger.info("| Successfully removed Railcraft nonsense."); - + } catch(Exception x) { MainRegistry.logger.error("| Tried to remove Railcraft block but failed due to " + x.getMessage()); } MainRegistry.logger.info("#######################################################"); } - + + public static Class getChunkBiomeHook() { + try { + return Class.forName("com.falsepattern.endlessids.mixin.helpers.ChunkBiomeHook"); + } catch(ClassNotFoundException e) { + return null; + } + } + + public static Method getBiomeShortArray; + + public static Method getBiomeShortArray() { + if(getBiomeShortArray != null) return getBiomeShortArray; + try { + Method m = getChunkBiomeHook().getDeclaredMethod("getBiomeShortArray"); + getBiomeShortArray = m; + return m; + } catch(Exception e) { + return null; + } + } + + public static short[] getBiomeShortArray(Object instance) { + Method m = getBiomeShortArray(); + if(m != null) { + try { + return (short[]) m.invoke(instance); + } catch(Exception e) { } + } + return null; + } + /** A standard implementation of safely grabbing a tile entity without loading chunks, might have more fluff added to it later on. */ public static TileEntity getTileStandard(World world, int x, int y, int z) { if(!world.getChunkProvider().chunkExists(x >> 4, z >> 4)) return null; diff --git a/src/main/java/com/hbm/util/CompatEnergyControl.java b/src/main/java/com/hbm/util/CompatEnergyControl.java index 0de988733..353557637 100644 --- a/src/main/java/com/hbm/util/CompatEnergyControl.java +++ b/src/main/java/com/hbm/util/CompatEnergyControl.java @@ -1,8 +1,9 @@ package com.hbm.util; -import java.util.ArrayList; -import java.util.List; - +import api.hbm.energymk2.IBatteryItem; +import api.hbm.energymk2.IEnergyHandlerMK2; +import api.hbm.fluidmk2.IFluidUserMK2; +import api.hbm.tile.IInfoProviderEC; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -10,20 +11,18 @@ import com.hbm.items.ModItems; import com.hbm.tileentity.machine.TileEntityMachineGasCent; import com.hbm.tileentity.machine.TileEntityMachineGasCent.PseudoFluidTank; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBase; - -import api.hbm.energymk2.IBatteryItem; -import api.hbm.energymk2.IEnergyHandlerMK2; -import api.hbm.fluid.IFluidUser; -import api.hbm.tile.IInfoProviderEC; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; +import java.util.ArrayList; +import java.util.List; + /** Provides data specified by EC's CrossModBase */ public class CompatEnergyControl { - + /** Returns the steel ingot to craft the sensor kit with */ public static ItemStack getCraftingMaterial() { return new ItemStack(ModItems.ingot_steel); //in the event that i do end up moving all ingots to metadata @@ -33,7 +32,7 @@ public class CompatEnergyControl { public static boolean isElectricItem(ItemStack stack) { return stack.getItem() instanceof IBatteryItem; } - + /** Standardized discharge for IBatteryItem, returns the amount that was removed */ public static double dischargeItem(ItemStack stack, double needed) { IBatteryItem battery = (IBatteryItem) stack.getItem(); @@ -41,97 +40,97 @@ public class CompatEnergyControl { battery.dischargeBattery(stack, toDischarge); return toDischarge; } - + /** Returns the power and maxPower values for IEnergyUser */ public static void getEnergyData(TileEntity tile, NBTTagCompound data) { - + data.setString(KEY_EUTYPE, "HE"); - + if(tile instanceof IEnergyHandlerMK2) { IEnergyHandlerMK2 user = (IEnergyHandlerMK2) tile; data.setDouble(L_ENERGY_HE, user.getPower()); data.setDouble(L_CAPACITY_HE, user.getMaxPower()); } } - + /** Returns the heat for RBMKs */ public static int getHeat(TileEntity tile) { if(tile instanceof TileEntityRBMKBase) return (int) ((TileEntityRBMKBase) tile).heat; //original implementation also used the SNR and LNR for some reason, but those no longer exist. neither ZINOX nor research reactor were part of the system. return -1; } - + /** Returns a list of Object arrays, one array for each fluid tank where the array contains fluid name, fill state and capacity (STRING, INTEGER, INTEGER) */ public static List getAllTanks(TileEntity tile) { - + List list = new ArrayList(); - - if(tile instanceof IFluidUser) { - IFluidUser user = (IFluidUser) tile; - + + if(tile instanceof IFluidUserMK2) { + IFluidUserMK2 user = (IFluidUserMK2) tile; + for(FluidTank tank : user.getAllTanks()) { if(tank.getTankType() == Fluids.SMOKE || tank.getTankType() == Fluids.SMOKE_LEADED || tank.getTankType() == Fluids.SMOKE_POISON) continue; list.add(toFluidInfo(tank)); } } - + if(tile instanceof TileEntityMachineGasCent) { TileEntityMachineGasCent cent = (TileEntityMachineGasCent) tile; list.add(toFluidInfo(cent.inputTank)); list.add(toFluidInfo(cent.outputTank)); } - + if(!list.isEmpty()) return list; - + return null; } - + private static Object[] toFluidInfo(FluidTank tank) { return new Object[] {tank.getTankType().getName(), tank.getFill(), tank.getMaxFill()}; } - + private static Object[] toFluidInfo(PseudoFluidTank tank) { return new Object[] {tank.getTankType().getName(), tank.getFill(), tank.getMaxFill()}; } - + /** Returns any non-standard data like progress, unique stats and so forth. Data comes from the IInfoProviderEC implementation */ public static void getExtraData(TileEntity tile, NBTTagCompound data) { - + if(tile instanceof IInfoProviderEC) { IInfoProviderEC provider = (IInfoProviderEC) tile; provider.provideExtraInfo(data); } } - + /** Returns the core tile entity for that position, can resolve the MK1 "IMultiblock" and MK2 "BlockDummyable" systems. */ public static TileEntity findTileEntity(World world, int x, int y, int z) { return CompatExternal.getCoreFromPos(world, x, y, z); //CompatExternal you're just standing around, do something for once } - + /** Returns the ResourceLocation for the given fluid name */ public static ResourceLocation getFluidTexture(String name) { FluidType type = Fluids.fromName(name); return type == null ? null : type.getTexture(); } - + /* * [DATA TYPE] _ [NAME] _ [UNIT] */ public static final String KEY_EUTYPE = "euType"; - + public static final String L_ENERGY_HE = "energy"; public static final String L_ENERGY_TU = "energyTU"; public static final String L_ENERGY_ = "energy_"; // Blast Furnace fuel - + public static final String L_CAPACITY_HE = "capacity"; public static final String L_CAPACITY_TU = "capacityTU"; public static final String L_CAPACITY_ = "capacity_"; // Blast Furnace fuel capacity - + public static final String D_CONSUMPTION_HE = "consumptionHE"; public static final String D_CONSUMPTION_MB = "consumption"; @Deprecated public static final String S_CONSUMPTION_ = "consumption_"; // FWatz fluid consumption rates - + public static final String D_OUTPUT_HE = "output"; public static final String D_OUTPUT_MB = "outputmb"; public static final String D_OUTPUT_TU = "outputTU"; diff --git a/src/main/java/com/hbm/util/CompatExternal.java b/src/main/java/com/hbm/util/CompatExternal.java index 9881ef7fa..7157dcb1d 100644 --- a/src/main/java/com/hbm/util/CompatExternal.java +++ b/src/main/java/com/hbm/util/CompatExternal.java @@ -5,22 +5,31 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Set; import java.util.function.BiFunction; - -import com.hbm.blocks.BlockDummyable; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.tank.FluidTank; -import com.hbm.tileentity.machine.TileEntityDummy; -import com.hbm.tileentity.turret.TileEntityTurretSentry; +import java.util.function.Consumer; import api.hbm.energymk2.IEnergyHandlerMK2; import api.hbm.energymk2.IEnergyReceiverMK2; -import api.hbm.fluid.IFluidUser; +import api.hbm.fluidmk2.IFluidRegisterListener; +import api.hbm.fluidmk2.IFluidUserMK2; +import api.hbm.recipe.IRecipeRegisterListener; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.entity.missile.EntityMissileCustom; +import com.hbm.explosion.ExplosionNukeSmall; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.items.weapon.ItemCustomMissilePart.WarheadType; +import com.hbm.tileentity.machine.TileEntityDummy; +import com.hbm.tileentity.turret.TileEntityTurretSentry; import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.passive.EntityChicken; import net.minecraft.entity.passive.EntityCow; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; /** @@ -36,73 +45,73 @@ public class CompatExternal { * @return the core tile entity if the given position holds a dummy, the tile entity at that position if it doesn't or null if there is no tile entity */ public static TileEntity getCoreFromPos(World world, int x, int y, int z) { - + Block b = world.getBlock(x, y, z); - + //if the block at that pos is a Dummyable, use the mk2's system to find the core if(b instanceof BlockDummyable) { BlockDummyable dummy = (BlockDummyable) b; int[] pos = dummy.findCore(world, x, y, z); - + if(pos != null) { return world.getTileEntity(pos[0], pos[1], pos[2]); } } - + TileEntity tile = world.getTileEntity(x, y, z); - + //if the tile at that pos is an old dummy tile, use mk1 if(tile instanceof TileEntityDummy) { TileEntityDummy dummy = (TileEntityDummy) tile; return world.getTileEntity(dummy.targetX, dummy.targetY, dummy.targetZ); } - + //otherwise, return the tile at that position whihc could be null return tile; } - + /** * Returns the numeric value of the buffered energy held by that tile entity. Current implementation relies on IEnergyUser. * @param tile * @return power */ public static long getBufferedPowerFromTile(TileEntity tile) { - + if(tile instanceof IEnergyHandlerMK2) { return ((IEnergyHandlerMK2) tile).getPower(); } - + return 0L; } - + /** * Returns the numeric value of the energy capacity of this tile entity. Current implementation relies on IEnergyUser. * @param tile * @return max power */ public static long getMaxPowerFromTile(TileEntity tile) { - + if(tile instanceof IEnergyHandlerMK2) { return ((IEnergyHandlerMK2) tile).getMaxPower(); } - + return 0L; } - + /** * Returns the ordinal of the energy priority from the supplied tile entity. 0 = low, 1 = normal, 2 = high. Returns -1 if not applicable. * @param tile * @return priority */ public static int getEnergyPriorityFromTile(TileEntity tile) { - + if(tile instanceof IEnergyReceiverMK2) { return ((IEnergyReceiverMK2) tile).getPriority().ordinal(); } - + return -1; } - + /** * Returns a list of tank definitions from the supplied tile entity. Uses IFluidUser, if the tile is incompatible it returns an empty list. * @param tile @@ -115,13 +124,13 @@ public class CompatExternal { */ public static ArrayList getFluidInfoFromTile(TileEntity tile) { ArrayList list = new ArrayList(); - - if(!(tile instanceof IFluidUser)) { + + if(!(tile instanceof IFluidUserMK2)) { return list; } - - IFluidUser container = (IFluidUser) tile; - + + IFluidUserMK2 container = (IFluidUserMK2) tile; + for(FluidTank tank : container.getAllTanks()) { FluidType type = tank.getTankType(); list.add(new Object[] { @@ -132,7 +141,7 @@ public class CompatExternal { tank.getMaxFill() }); } - + return list; } @@ -140,14 +149,14 @@ public class CompatExternal { public static Set turretTargetFriendly = new HashSet(); public static Set turretTargetHostile = new HashSet(); public static Set turretTargetMachine = new HashSet(); - + /** * Registers a class for turret targeting * @param clazz is the class that should be targeted. * @param type determines what setting the turret needs to have enabled to target this class. 0 is player, 1 is friendly, 2 is hostile and 3 is machine. */ public static void registerTurretTargetSimple(Class clazz, int type) { - + switch(type) { case 0: turretTargetPlayer.add(clazz); break; case 1: turretTargetFriendly.add(clazz); break; @@ -155,9 +164,9 @@ public class CompatExternal { case 3: turretTargetMachine.add(clazz); break; } } - + public static Set turretTargetBlacklist = new HashSet(); - + /** * Registers a class to be fully ignored by turrets * @param clazz is the class that should be ignored. @@ -165,9 +174,9 @@ public class CompatExternal { public static void registerTurretTargetBlacklist(Class clazz) { turretTargetBlacklist.add(clazz); } - + public static HashMap> turretTargetCondition = new HashMap(); - + /** * Registers a BiFunction lambda for more complex targeting compatibility * @param clazz is the class that this rule should apply to @@ -176,9 +185,31 @@ public class CompatExternal { * class on the side of whoever is adding compat, allowing the compat class to be used entirely with reflection. */ public static void registerTurretTargetingCondition(Class clazz, BiFunction bi) { - turretTargetBlacklist.add(clazz); + turretTargetCondition.put(clazz, bi); + } + + public static void setWarheadLabel(WarheadType type, String label) { type.labelCustom = label; } + public static void setWarheadImpact(WarheadType type, Consumer impact) { type.impactCustom = impact; } + public static void setWarheadUpdate(WarheadType type, Consumer update) { type.updateCustom = update; } + + /** + * Registers an IRecipeRegisterListener to the recipe system. The listener is called every time a SerializableRecipe instance has its recipes loaded, before the + * config files are written, but after the defaults are initialized. + * @param listener + */ + public static void registerRecipeRegisterListener(IRecipeRegisterListener listener) { + SerializableRecipe.additionalListeners.add(listener); } + /** + * Registers an IFluidRegisterListener which is called every time the fluid list is loaded, either during startup or when the refresh command is used. + * Ensures that fluids are registered when they should, instead of being purged permanently when the system reloads. + * @param listener + */ + public static void registerFluidRegisterListener(IFluidRegisterListener listener) { + Fluids.additionalListeners.add(listener); + } + public static void compatExamples() { // Makes all cows be targeted by turrets if player mode is active in addition to the existing rules. Applies to all entities that inherit EntityCow. CompatExternal.registerTurretTargetSimple(EntityCow.class, 0); @@ -190,5 +221,10 @@ public class CompatExternal { if(turret instanceof TileEntityTurretSentry) return -1; return 0; }); + //configures CUSTOM0 to have a custom label and impact effect + CompatExternal.setWarheadLabel(WarheadType.CUSTOM0, EnumChatFormatting.YELLOW + "Micro Nuke"); + CompatExternal.setWarheadImpact(WarheadType.CUSTOM0, (missile) -> { + ExplosionNukeSmall.explode(missile.worldObj, missile.posX, missile.posY + 0.5, missile.posZ, ExplosionNukeSmall.PARAMS_MEDIUM); + }); } } diff --git a/src/main/java/com/hbm/util/CompatFluidRegistry.java b/src/main/java/com/hbm/util/CompatFluidRegistry.java new file mode 100644 index 000000000..c683734c9 --- /dev/null +++ b/src/main/java/com/hbm/util/CompatFluidRegistry.java @@ -0,0 +1,17 @@ +package com.hbm.util; + +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.render.util.EnumSymbol; + +import net.minecraft.util.ResourceLocation; + +public class CompatFluidRegistry { + + /** Registers a fluid with a custom ID. */ + public static FluidType registerFluid(String name, int id, int color, int p, int f, int r, EnumSymbol symbol, ResourceLocation texture) { + FluidType type = new FluidType(name, id, color, p, f, r, symbol, texture); + Fluids.metaOrder.add(type); + return type; + } +} diff --git a/src/main/java/com/hbm/util/CompatNER.java b/src/main/java/com/hbm/util/CompatNER.java deleted file mode 100644 index cb4b622dd..000000000 --- a/src/main/java/com/hbm/util/CompatNER.java +++ /dev/null @@ -1,169 +0,0 @@ -package com.hbm.util; - -import java.util.ArrayList; -import java.util.List; - -import com.hbm.blocks.ModBlocks; -import com.hbm.entity.mob.EntityCreeperNuclear; -import com.hbm.items.ModItems; -import com.hbm.main.MainRegistry; - -import cpw.mods.fml.common.event.FMLInterModComms; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.nbt.NBTTagString; - -public class CompatNER { - - /* - * INIT - */ - - public static void init() { - sendRegisterOre(new ItemStack(ModBlocks.ore_alexandrite), false, 0xff00ff, new ItemStack(ModItems.gem_alexandrite)); - sendRegisterMob(EntityCreeperNuclear.class, "-1", encodeDrops( - new DropItem(new ItemStack(Blocks.tnt), 0, 2), - new DropItem(new ItemStack(ModItems.coin_creeper), 1, 1, 0.33F))); - } - - /* - * REGISTERS - */ - - public static void sendRegisterOre(ItemStack ore, boolean silk, int color, ItemStack... drops) { - NBTTagCompound data = new NBTTagCompound(); - data.setTag(stack, ore.writeToNBT(new NBTTagCompound())); - data.setBoolean(silkTouch, silk); - data.setInteger(colour, color); - data.setTag(addDrops, encodeStacks(drops)); - int[] distribution = new int[256]; - for(int i = 0; i < 256; i++) distribution[i] = 100; - data.setIntArray("distribution", distribution); - - NBTTagCompound res = new NBTTagCompound(); - NBTTagCompound block = new NBTTagCompound(); - block.setTag("stack", new ItemStack(Blocks.stone).writeToNBT(new NBTTagCompound())); - res.setTag("block", block); - data.setTag(restriction, res); - - FMLInterModComms.sendMessage(notEnoughResources, registerOre, data); - } - - public static void sendRegisterMob(Class clazz, String light, NBTTagList drops) { - NBTTagCompound data = new NBTTagCompound(); - data.setString(name, clazz.getName()); - data.setString(lightLevel, light); - data.setTag(addDrops, drops); - MainRegistry.logger.info("Sending " + registerMob + " to " + notEnoughResources); - FMLInterModComms.sendMessage(notEnoughResources, registerMob, data); - } - - /* - * ENCODERS - */ - - public static String encodeLightLevel(int level, boolean below) { - return level + ":" + (below ? "b" : "a"); - } - - public static NBTTagList encodeDrops(DropItem... stacks) { - NBTTagList list = new NBTTagList(); - for(DropItem stack : stacks) list.appendTag(stack.writeToNBT()); - return list; - } - - public static NBTTagList encodeStacks(ItemStack... stacks) { - NBTTagList list = new NBTTagList(); - for(ItemStack stack : stacks) list.appendTag(stack.writeToNBT(new NBTTagCompound())); - return list; - } - - /* - * DROP SYSTEM - */ - - public static class DropItem { - public ItemStack drop; - public int min = 1; - public int max = 1; - public float chance = 1F; - List conditionals = new ArrayList(); - - public DropItem(ItemStack stack) { this(stack, 1, 1, 1F); } - public DropItem(ItemStack stack, int min, int max) { this(stack, min, max, 1F); } - public DropItem(ItemStack stack, int min, int max, float chance) { - this.drop = stack; - this.min = min; - this.max = max; - this.chance = chance; - } - - public NBTTagCompound writeToNBT() { - NBTTagCompound compound = new NBTTagCompound(); - compound.setTag("stack", this.drop.writeToNBT(new NBTTagCompound())); - compound.setInteger("min", this.min); - compound.setInteger("max", this.max); - compound.setFloat("chance", this.chance); - NBTTagList conditionals = new NBTTagList(); - for(String condition : this.conditionals) conditionals.appendTag(new NBTTagString(condition)); - compound.setTag("conditionals", conditionals); - return compound; - } - } - - /* - * CONSTANTS - */ - - public static final String notEnoughResources = "neresources"; - public static final String registerDungeon = "registerDungeon"; - public static final String registerMob = "registerMob"; - public static final String registerOre = "registerOre"; - public static final String registerPlant = "registerPlant"; - public static final String addToRegistry = "add"; - public static final String modifyMob = "modifyMob"; - public static final String modifyOre = "modifyOre"; - public static final String modifyPlant = "modifyPlant"; - public static final String removeMob = "removeMob"; - public static final String removeOre = "removeOre"; - public static final String removePlant = "removePlant"; - public static final String distribution = "distribution"; - public static final String bestHeight = "bestHeight"; - public static final String stack = "stack"; - public static final String name = "name"; - public static final String lightLevel = "lightLevel"; - public static final String conditionals = "conditionals"; - public static final String colour = "colour"; - public static final String itemList = "itemList"; - public static final String chance = "chance"; - public static final String min = "min"; - public static final String max = "max"; - public static final String priority = "priority"; - public static final String addPriority = "addPriority"; - public static final String removePriority = "removePriority"; - public static final String addDrops = "addDrops"; - public static final String removeDrops = "removeDrops"; - public static final String silkTouch = "silkTouch"; - public static final String wither = "wither"; - public static final String strict = "strict"; - public static final String biomeArray = "biomeArray"; - public static final String type = "type"; - public static final String restriction = "restriction"; - public static final String blockRestriction = "block"; - public static final String dimensionRestriction = "dimension"; - public static final String biomeRestriction = "biome"; - - public static final String conditional_rareDrop = "ner.rareDrop.text"; - public static final String conditional_silkTouch = "ner.ore.silkTouch"; - public static final String conditional_equipmentDrop = "ner.equipmentDrop.text"; - public static final String conditional_burning = "ner.burning.text"; - public static final String conditional_notBurning = "ner.notBurning.text"; - public static final String conditional_playerKill = "ner.playerKill.text"; - public static final String conditional_notPlayerKill = "ner.notPlayerKill.text"; - public static final String conditional_aboveLooting = "ner.aboveLooting.text"; - public static final String conditional_belowLooting = "ner.belowLooting.text"; - public static final String conditional_killedBy = "ner.killedBy.text"; - public static final String conditional_notKilledBy = "ner.notKilledBy.text"; -} diff --git a/src/main/java/com/hbm/util/CompatRecipeRegistry.java b/src/main/java/com/hbm/util/CompatRecipeRegistry.java new file mode 100644 index 000000000..9c66b9dbf --- /dev/null +++ b/src/main/java/com/hbm/util/CompatRecipeRegistry.java @@ -0,0 +1,280 @@ +package com.hbm.util; + +import java.util.Arrays; + +import com.hbm.interfaces.Untested; +import com.hbm.inventory.FluidStack; +import com.hbm.inventory.RecipesCommon.*; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.material.Mats.MaterialStack; +import com.hbm.inventory.recipes.*; +import com.hbm.inventory.recipes.AmmoPressRecipes.AmmoPressRecipe; +import com.hbm.inventory.recipes.ArcFurnaceRecipes.ArcFurnaceRecipe; +import com.hbm.inventory.recipes.ArcWelderRecipes.ArcWelderRecipe; +import com.hbm.inventory.recipes.BreederRecipes.BreederRecipe; +import com.hbm.inventory.recipes.CrucibleRecipes.CrucibleRecipe; +import com.hbm.inventory.recipes.CrystallizerRecipes.CrystallizerRecipe; +import com.hbm.inventory.recipes.ElectrolyserFluidRecipes.ElectrolysisRecipe; +import com.hbm.inventory.recipes.ElectrolyserMetalRecipes.ElectrolysisMetalRecipe; +import com.hbm.inventory.recipes.ExposureChamberRecipes.ExposureChamberRecipe; +import com.hbm.inventory.recipes.ParticleAcceleratorRecipes.ParticleAcceleratorRecipe; +import com.hbm.inventory.recipes.PedestalRecipes.PedestalExtraCondition; +import com.hbm.inventory.recipes.PedestalRecipes.PedestalRecipe; +import com.hbm.inventory.recipes.PyroOvenRecipes.PyroOvenRecipe; +import com.hbm.inventory.recipes.RotaryFurnaceRecipes.RotaryFurnaceRecipe; +import com.hbm.inventory.recipes.ChemplantRecipes.ChemRecipe; +import com.hbm.inventory.recipes.CompressorRecipes.CompressorRecipe; +import com.hbm.inventory.recipes.SolderingRecipes.SolderingRecipe; +import com.hbm.inventory.recipes.anvil.AnvilRecipes; +import com.hbm.inventory.recipes.anvil.AnvilRecipes.AnvilConstructionRecipe; +import com.hbm.inventory.recipes.anvil.AnvilRecipes.AnvilOutput; +import com.hbm.inventory.recipes.anvil.AnvilRecipes.OverlayType; +import com.hbm.inventory.recipes.loader.GenericRecipe; +import com.hbm.inventory.recipes.loader.GenericRecipes.IOutput; +import com.hbm.items.machine.ItemStamp.StampType; +import com.hbm.util.Tuple.Pair; +import com.hbm.util.Tuple.Triplet; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +/** + * Public methods for registering recipes. Method signature should never change, only the body to reflect any changes to recipes/machines themselves. + * Recipe creation is either 1:1 with the original SerializableRecipe or even simpler (in the case of the compressor, two FluidStacks instead of a ton of loose numbers). + * Call these with a registered IRecipeRegisterListener, otherwise the recipe loading/reloading will break the custom recipes. + * @author hbm + */ +@Untested +public class CompatRecipeRegistry { + + public static void registerPress(StampType stamp, AStack input, ItemStack output) { + PressRecipes.recipes.put(new Pair(input, stamp), output); + } + + /** Same loose rules as BlastFurnaceRecipes, valid inputs are Items, Blocks, ItemStacks, ComparableStacks, Strings (for oredict) and DictFrames */ + public static void registerBlastFurnace(Object[] inputs, ItemStack output) { + if(inputs.length != 2) return; + BlastFurnaceRecipes.addRecipe(inputs[0], inputs[1], output); + } + + public static void registerShredder(AStack input, ItemStack output) { + for(ItemStack allItems : input.extractForNEI()) { + ComparableStack comp = new ComparableStack(allItems); + ShredderRecipes.shredderRecipes.put(comp, output); + if (ShredderRecipes.neiShredderRecipes != null) + ShredderRecipes.neiShredderRecipes.put(comp, output); + } + } + + /** Items should strictly be categorized as pcb, topping or solder. An item that is used as a topping in one recipe should not be a pcb in another. + * This is because the soldering station's item IO will automatically place items based on this category, and having items in more than one category would break it. */ + public static void registerSoldering(ItemStack output, int time, long power, FluidStack fluid, AStack[] toppings, AStack[] pcb, AStack[] solder) { + SolderingRecipes.recipes.add(new SolderingRecipe(output, time, power, fluid, copyFirst(toppings, 3), copyFirst(pcb, 2), copyFirst(solder, 1))); + } + + @Deprecated public static void registerChemplant(int id, String name, int duration, AStack[] inputItems, FluidStack[] inputFluids, ItemStack[] outputItems, FluidStack[] outputFluids) { + ChemRecipe recipe = new ChemRecipe(id, name, duration); + if(inputItems != null) recipe.inputItems(copyFirst(inputItems, 4)); + if(inputFluids != null) recipe.inputFluids(copyFirst(inputFluids, 2)); + if(outputItems != null) recipe.outputItems(copyFirst(outputItems, 4)); + if(outputFluids != null) recipe.outputFluids(copyFirst(outputFluids, 2)); + ChemplantRecipes.recipes.add(recipe); + } + + /** Chemical plant recipe needs a unique name for the registry. Zero length arrays should stay null*/ + public static void registerChemicalPlant(String name, boolean named, ItemStack icon, int duration, long power, AStack[] inputItems, FluidStack[] inputFluids, IOutput[] outputItems, FluidStack[] outputFluids) { + GenericRecipe recipe = new GenericRecipe(name).setDuration(duration).setPower(power); + if(named) recipe.setNamed(); + if(icon != null) recipe.setIcon(icon); + if(inputItems != null && inputItems.length > 0) recipe.inputItems(inputItems); + if(inputFluids != null && inputFluids.length > 0) recipe.inputFluids(inputFluids); + if(outputItems != null && outputItems.length > 0) recipe.outputItems(outputItems); + if(outputFluids != null && outputFluids.length > 0) recipe.outputFluids(outputFluids); + ChemicalPlantRecipes.INSTANCE.register(recipe); + } + + /** Either solid or liquid output can be null */ + public static void registerCombination(AStack input, ItemStack output, FluidStack fluid) { + if(output == null && fluid == null) return; + Object o = input instanceof OreDictStack ? ((OreDictStack) input).name : input; + CombinationRecipes.recipes.put(o, new Pair(output, fluid)); + } + + /** Crucible recipes need unique IDs, game will crash when an ID collision is detected! */ + public static void registerCrucible(int index, String name, int frequency, ItemStack icon, MaterialStack[] input, MaterialStack[] output) { + CrucibleRecipe recipe = new CrucibleRecipe(index, name, frequency, icon).inputs(input).outputs(output); + CrucibleRecipes.recipes.add(recipe); + } + + public static void registerCentrifuge(AStack input, ItemStack[] outputs) { + CentrifugeRecipes.recipes.put(input, copyFirst(outputs, 4)); + } + + public static void registerCrystallizer(AStack input, ItemStack output, int time, float productivity, FluidStack fluid) { + CrystallizerRecipe recipe = new CrystallizerRecipe(output, time).prod(productivity); + CrystallizerRecipes.registerRecipe(input instanceof OreDictStack ? ((OreDictStack) input).name : input, recipe, fluid); + } + + /** Fractions always use 100mB of input fluid per operation. None of the outputs can be null. */ + public static void registerFraction(FluidType input, FluidStack[] output) { + if(output.length != 2) return; + FractionRecipes.fractions.put(input, new Pair(output[0], output[1])); + } + + /** Cracking always uses 100mB of input fluid and 200mB of steam per operation. None of the outputs can be null. */ + public static void registerCracking(FluidType input, FluidStack[] output) { + if(output.length != 2) return; + CrackingRecipes.cracking.put(input, new Pair(output[0], output[1])); + } + + /** Reforming always uses 100mB of input fluid per operation. None of the outputs can be null. */ + public static void registerReforming(FluidType input, FluidStack[] output) { + output = copyFirst(output, 3); + if(output.length < 3) return; + ReformingRecipes.recipes.put(input, new Triplet(output[0], output[1], output[2])); + } + + /** Hydrotreating always uses 100mB of input fluid per operation. None of the outputs can be null. */ + public static void registerHydrotreating(FluidType input, FluidStack hydrogen, FluidStack[] output) { + output = copyFirst(output, 2); + if(output.length < 2) return; + HydrotreatingRecipes.recipes.put(input, new Triplet(hydrogen, output[0], output[1])); + } + + public static void registerLiquefaction(AStack input, FluidStack output) { + LiquefactionRecipes.recipes.put(input instanceof OreDictStack ? ((OreDictStack) input).name : input, output); + } + + public static void registerSolidifying(FluidStack input, ItemStack output) { + SolidificationRecipes.recipes.put(input.type, new Pair(input.fill, output)); + } + + public static void registerCoker(FluidStack input, ItemStack output, FluidStack fluid) { + CokerRecipes.recipes.put(input.type, new Triplet(input.fill, output, fluid)); + } + + /** Registers a coker recipe based on the standardized fluid to coke values */ + public static void registerCokerAuto(FluidType input, FluidType output) { + CokerRecipes.registerAuto(input, output); + } + + public static void registerPyro(FluidStack inputFluid, AStack inputItem, FluidStack outputFluid, ItemStack outputItem, int duration) { + PyroOvenRecipes.recipes.add(new PyroOvenRecipe(duration).in(inputFluid).in(inputItem).out(outputFluid).out(outputItem)); + } + + /** Registers a pyro oven recipe based on the standardized fluid to solid fuel values */ + public static void registerPyroAuto(FluidType input) { + PyroOvenRecipes.registerSFAuto(input); + } + + /** Breeding reactor does not handle OreDictStacks */ + public static void registerBreeder(ComparableStack input, ItemStack output, int flux) { + BreederRecipes.recipes.put(input, new BreederRecipe(output, flux)); + } + + public static void registerCyclotron(ComparableStack box, AStack target, ItemStack output, int antimatter) { + CyclotronRecipes.recipes.put(new Pair(box, target), new Pair(output, antimatter)); + } + + /** Fuel pools do not handle OreDictStacks */ + public static void registerFuelPool(ComparableStack input, ItemStack output) { + FuelPoolRecipes.recipes.put(input, output); + } + + //TBI mixer + + public static void registerOutgasser(AStack input, ItemStack output, FluidStack fluid) { + OutgasserRecipes.recipes.put(input, new Pair(output, fluid)); + } + + public static void registerCompressor(FluidStack input, FluidStack output, int time) { + CompressorRecipes.recipes.put(new Pair(input.type, input.pressure), new CompressorRecipe(input.fill, output, time)); + } + + /** Byproduct array can be null, fluid output length must be 2 */ + public static void registerElectrolyzerFluid(FluidStack input, FluidStack[] output, ItemStack[] byproduct, int time) { + output = copyFirst(output, 2); + if(output.length < 2) return; + if(byproduct != null) byproduct = copyFirst(byproduct, 3); + + ElectrolyserFluidRecipes.recipes.put(input.type, new ElectrolysisRecipe(input.fill, output[0], output[1], time, byproduct)); + } + + /** Output array length must be 2, outputs can be null. Byproduct array can be null. */ + public static void registerElectrolyzerMetal(AStack input, MaterialStack[] output, ItemStack[] byproduct, int time) { + output = copyFirst(output, 2); + if(byproduct != null) byproduct = copyFirst(byproduct, 6); + + ElectrolyserMetalRecipes.recipes.put(input, new ElectrolysisMetalRecipe(output[0], output[1], time, byproduct)); + } + + public static void registerArcWelder(ItemStack output, int time, long power, FluidStack fluid, AStack[] inputs) { + ArcWelderRecipes.recipes.add(new ArcWelderRecipe(output, time, power, fluid, copyFirst(inputs, 3))); + } + + public static void registerRotaryFurnace(MaterialStack output, int time, int steam, FluidStack fluid, AStack[] inputs) { + RotaryFurnaceRecipes.recipes.add(new RotaryFurnaceRecipe(output, time, steam, fluid, copyFirst(inputs, 3))); + } + + /** Particles will always perform 8 recipes */ + public static void registerExposureChamber(AStack particle, AStack input, ItemStack output) { + ExposureChamberRecipes.recipes.add(new ExposureChamberRecipe(particle, input, output)); + } + + /** Input needs two AStacks, output can take 1-2 ItemStacks. If the same recipe with different + * momentum should yield different results, register the lower momentum recipes first. */ + public static void registerParticleAccelerator(AStack[] input, int momentum, ItemStack[] output) { + input = copyFirst(input, 2); + if(input.length < 2) return; + output = copyFirst(output, 2); + if(output.length < 1) return; + ParticleAcceleratorRecipes.recipes.add(new ParticleAcceleratorRecipe(input[0], input[1], momentum, output[0], output.length > 1 ? output[1] : null)); + } + + public static void registerAmmoPress(ItemStack output, AStack[] input) { + if(input.length != 9) return; + AmmoPressRecipes.recipes.add(new AmmoPressRecipe(output, input)); + } + + /** Assembler recipes are identified by the output as a ComparableStack, so no two recipes can share output. */ + public static void registerAssembler(ItemStack output, AStack[] input, int time) { + AssemblerRecipes.makeRecipe(new ComparableStack(output), copyFirst(input, 12), time); + } + + /** Registers an assembler recipe but with the template only being obtainable via the specified folders */ + public static void registerAssembler(ItemStack output, AStack[] input, int time, Item... folder) { + AssemblerRecipes.makeRecipe(new ComparableStack(output), copyFirst(input, 12), time, folder); + } + + public static void registerAnvilConstruction(AStack[] input, AnvilOutput[] output, int tier, int overlayIndex) { + AnvilRecipes.constructionRecipes.add(new AnvilConstructionRecipe(input, output).setTier(tier).setOverlay(EnumUtil.grabEnumSafely(OverlayType.class, overlayIndex))); + } + + public static void registerAnvilConstruction(AStack[] input, AnvilOutput[] output, int tierLower, int tierUpper, int overlayIndex) { + AnvilRecipes.constructionRecipes.add(new AnvilConstructionRecipe(input, output).setTierRange(tierLower, tierUpper).setOverlay(EnumUtil.grabEnumSafely(OverlayType.class, overlayIndex))); + } + + public static void registerPedestal(ItemStack output, AStack[] input) { + registerPedestal(output, input, 0); + } + + public static void registerPedestal(ItemStack output, AStack[] input, int condition) { + input = copyFirst(input, 9); + if(input.length < 9) return; + PedestalRecipes.recipes.add(new PedestalRecipe(output, input).extra(EnumUtil.grabEnumSafely(PedestalExtraCondition.class, condition))); + } + + /** Either output or fluid can be null */ + public static void registerArcFurnace(AStack input, ItemStack output, MaterialStack fluid) { + if(output == null && fluid == null) return; + ArcFurnaceRecipes.recipeList.add(new Pair(input, new ArcFurnaceRecipe().solid(output).fluid(fluid))); + } + + ///////////////////////////////////////////////////////////////////////////////////////// + + /** If the supplied array exceeds the specified length, creates a copy and trunkates the array. Otherwise, returns the original array */ + private static T[] copyFirst(T[] array, int amount) { + if(array.length <= amount) return array; + return Arrays.copyOf(array, amount); + } +} diff --git a/src/main/java/com/hbm/util/ConcurrentBitSet.java b/src/main/java/com/hbm/util/ConcurrentBitSet.java new file mode 100644 index 000000000..531c851ae --- /dev/null +++ b/src/main/java/com/hbm/util/ConcurrentBitSet.java @@ -0,0 +1,70 @@ +package com.hbm.util; + +import java.util.concurrent.atomic.AtomicLongArray; +import java.util.concurrent.atomic.LongAdder; + +public class ConcurrentBitSet { + private final AtomicLongArray words; + private final int size; + private final LongAdder bitCount = new LongAdder(); + + public ConcurrentBitSet(int size) { + this.size = size; + int wordCount = (size + 63) >>> 6; + this.words = new AtomicLongArray(wordCount); + } + + public void set(int bit) { + if (bit < 0 || bit >= size) return; + int wordIndex = bit >>> 6; + long mask = 1L << (bit & 63); + while (true) { + long oldWord = words.get(wordIndex); + long newWord = oldWord | mask; + if (oldWord == newWord) return; + if (words.compareAndSet(wordIndex, oldWord, newWord)) { + bitCount.increment(); + return; + } + } + } + + public void clear(int bit) { + if (bit < 0 || bit >= size) return; + int wordIndex = bit >>> 6; + long mask = ~(1L << (bit & 63)); + while (true) { + long oldWord = words.get(wordIndex); + long newWord = oldWord & mask; + if (oldWord == newWord) return; + if (words.compareAndSet(wordIndex, oldWord, newWord)) { + bitCount.decrement(); + return; + } + } + } + + public int nextSetBit(int from) { + if (from < 0) from = 0; + int wordIndex = from >>> 6; + if (wordIndex >= words.length()) return -1; + long word = words.get(wordIndex) & (~0L << (from & 63)); + while (true) { + if (word != 0) { + int idx = (wordIndex << 6) + Long.numberOfTrailingZeros(word); + return (idx < size) ? idx : -1; + } + wordIndex++; + if (wordIndex >= words.length()) return -1; + word = words.get(wordIndex); + } + } + + public boolean isEmpty() { + return bitCount.sum() == 0; + } + + public long cardinality() { + return bitCount.sum(); + } +} diff --git a/src/main/java/com/hbm/util/ContaminationUtil.java b/src/main/java/com/hbm/util/ContaminationUtil.java index 63689591b..35a8763e9 100644 --- a/src/main/java/com/hbm/util/ContaminationUtil.java +++ b/src/main/java/com/hbm/util/ContaminationUtil.java @@ -1,17 +1,14 @@ package com.hbm.util; -import java.util.HashSet; - -import com.hbm.entity.mob.EntityDuck; +import api.hbm.entity.IRadiationImmune; import com.hbm.entity.mob.EntityCreeperNuclear; +import com.hbm.entity.mob.EntityDuck; import com.hbm.entity.mob.EntityQuackos; import com.hbm.extprop.HbmLivingProps; import com.hbm.handler.HazmatRegistry; import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.potion.HbmPotion; import com.hbm.util.ArmorRegistry.HazardClass; - -import api.hbm.entity.IRadiationImmune; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.monster.EntitySkeleton; @@ -25,25 +22,27 @@ import net.minecraft.util.ChatStyle; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; +import java.util.HashSet; + public class ContaminationUtil { - + /** * Calculates how much radiation can be applied to this entity by calculating resistance * @param entity * @return */ public static float calculateRadiationMod(EntityLivingBase entity) { - + if(entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer)entity; - + float koeff = 10.0F; return (float) Math.pow(koeff, -HazmatRegistry.getResistance(player)); } - + return 1; } - + public static float getRads(Entity e) { if(!(e instanceof EntityLivingBase)) @@ -51,19 +50,19 @@ public class ContaminationUtil { if(isRadImmune(e)) return 0.0F; - + EntityLivingBase entity = (EntityLivingBase)e; - + return HbmLivingProps.getRadiation(entity); } - + public static HashSet immuneEntities = new HashSet(); - + public static boolean isRadImmune(Entity e) { if(e instanceof EntityLivingBase && ((EntityLivingBase)e).isPotionActive(HbmPotion.mutation)) return true; - + if(immuneEntities.isEmpty()) { immuneEntities.add(EntityCreeperNuclear.class); immuneEntities.add(EntityMooshroom.class); @@ -73,62 +72,62 @@ public class ContaminationUtil { immuneEntities.add(EntityOcelot.class); immuneEntities.add(IRadiationImmune.class); } - + Class entityClass = e.getClass(); - + for(Class clazz : immuneEntities) { if(clazz.isAssignableFrom(entityClass)) return true; } - + if("cyano.lootable.entities.EntityLootableBody".equals(entityClass.getName())) return true; - + return false; } - + /// ASBESTOS /// public static void applyAsbestos(Entity e, int i) { if(!(e instanceof EntityLivingBase)) return; - + if(e instanceof EntityPlayer && ((EntityPlayer)e).capabilities.isCreativeMode) return; - + if(e instanceof EntityPlayer && e.ticksExisted < 200) return; - + EntityLivingBase entity = (EntityLivingBase)e; - + if(ArmorRegistry.hasAllProtection(entity, 3, HazardClass.PARTICLE_FINE)) ArmorUtil.damageGasMaskFilter(entity, i); else HbmLivingProps.incrementAsbestos(entity, i); } - + /// DIGAMMA /// public static void applyDigammaData(Entity e, float f) { if(!(e instanceof EntityLivingBase)) return; - + if(e instanceof EntityDuck || e instanceof EntityOcelot) return; - + if(e instanceof EntityPlayer && ((EntityPlayer)e).capabilities.isCreativeMode) return; - + if(e instanceof EntityPlayer && e.ticksExisted < 200) return; - + EntityLivingBase entity = (EntityLivingBase)e; - + if(entity.isPotionActive(HbmPotion.stability.id)) return; - + if(!(entity instanceof EntityPlayer && ArmorUtil.checkForDigamma((EntityPlayer) entity))) HbmLivingProps.incrementDigamma(entity, f); } - + public static void applyDigammaDirect(Entity e, float f) { if(!(e instanceof EntityLivingBase)) @@ -136,23 +135,23 @@ public class ContaminationUtil { if(e instanceof IRadiationImmune) return; - + if(e instanceof EntityPlayer && ((EntityPlayer)e).capabilities.isCreativeMode) return; - + EntityLivingBase entity = (EntityLivingBase)e; HbmLivingProps.incrementDigamma(entity, f); } - + public static float getDigamma(Entity e) { if(!(e instanceof EntityLivingBase)) return 0.0F; - + EntityLivingBase entity = (EntityLivingBase)e; return HbmLivingProps.getDigamma(entity); } - + public static void printGeigerData(EntityPlayer player) { World world = player.worldObj; @@ -161,7 +160,7 @@ public class ContaminationUtil { double rads = ((int)(ChunkRadiationManager.proxy.getRadiation(world, (int) Math.floor(player.posX), (int) Math.floor(player.posY), (int) Math.floor(player.posZ)) * 10)) / 10D; double env = ((int)(HbmLivingProps.getRadBuf(player) * 10D)) / 10D; - + double res = ((int)(10000D - ContaminationUtil.calculateRadiationMod(player) * 10000D)) / 100D; double resKoeff = ((int)(HazmatRegistry.getResistance(player) * 100D)) / 100D; @@ -169,7 +168,7 @@ public class ContaminationUtil { String envPrefix = getPreffixFromRad(env); String radPrefix = ""; String resPrefix = "" + EnumChatFormatting.WHITE; - + if(eRad < 200) radPrefix += EnumChatFormatting.GREEN; else if(eRad < 400) @@ -182,7 +181,7 @@ public class ContaminationUtil { radPrefix += EnumChatFormatting.DARK_RED; else radPrefix += EnumChatFormatting.DARK_GRAY; - + if(resKoeff > 0) resPrefix += EnumChatFormatting.GREEN; @@ -194,27 +193,27 @@ public class ContaminationUtil { player.addChatMessage(new ChatComponentTranslation("geiger.playerRad").appendSibling(new ChatComponentText(" " + radPrefix + eRad + " RAD")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW))); player.addChatMessage(new ChatComponentTranslation("geiger.playerRes").appendSibling(new ChatComponentText(" " + resPrefix + res + "% (" + resKoeff + ")")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW))); } - + public static void printDosimeterData(EntityPlayer player) { double env = ((int)(HbmLivingProps.getRadBuf(player) * 10D)) / 10D; boolean limit = false; - + if(env > 3.6D) { env = 3.6D; limit = true; } - + String envPrefix = getPreffixFromRad(env); - + player.addChatMessage(new ChatComponentText("===== ☢ ").appendSibling(new ChatComponentTranslation("geiger.title.dosimeter")).appendSibling(new ChatComponentText(" ☢ =====")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GOLD))); player.addChatMessage(new ChatComponentTranslation("geiger.envRad").appendSibling(new ChatComponentText(" " + envPrefix + (limit ? ">" : "") + env + " RAD/s")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW))); } - + public static String getPreffixFromRad(double rads) { String chunkPrefix = ""; - + if(rads == 0) chunkPrefix += EnumChatFormatting.GREEN; else if(rads < 1) @@ -227,26 +226,26 @@ public class ContaminationUtil { chunkPrefix += EnumChatFormatting.DARK_RED; else chunkPrefix += EnumChatFormatting.DARK_GRAY; - + return chunkPrefix; } - + public static void printDiagnosticData(EntityPlayer player) { double digamma = ((int)(HbmLivingProps.getDigamma(player) * 100)) / 100D; double halflife = ((int)((1D - Math.pow(0.5, digamma)) * 10000)) / 100D; - + player.addChatMessage(new ChatComponentText("===== Ϝ ").appendSibling(new ChatComponentTranslation("digamma.title")).appendSibling(new ChatComponentText(" Ϝ =====")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.DARK_PURPLE))); player.addChatMessage(new ChatComponentTranslation("digamma.playerDigamma").appendSibling(new ChatComponentText(EnumChatFormatting.RED + " " + digamma + " DRX")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.LIGHT_PURPLE))); player.addChatMessage(new ChatComponentTranslation("digamma.playerHealth").appendSibling(new ChatComponentText(EnumChatFormatting.RED + " " + halflife + "%")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.LIGHT_PURPLE))); player.addChatMessage(new ChatComponentTranslation("digamma.playerRes").appendSibling(new ChatComponentText(EnumChatFormatting.BLUE + " " + "N/A")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.LIGHT_PURPLE))); } - + public static enum HazardType { RADIATION, DIGAMMA } - + public static enum ContaminationType { FARADAY, //preventable by metal armor HAZMAT, //preventable by hazmat @@ -257,23 +256,23 @@ public class ContaminationUtil { RAD_BYPASS, //same as creative but will not apply radiation resistance calculation NONE //not preventable } - + /* * This system is nice but the cont types are a bit confusing. Cont types should have much better names and multiple cont types should be applicable. */ @SuppressWarnings("incomplete-switch") //just shut up //instead of this does-everything-but-nothing-well solution, please use the ArmorRegistry to check for protection and the HBM Props for applying contamination. still good for regular radiation tho public static boolean contaminate(EntityLivingBase entity, HazardType hazard, ContaminationType cont, float amount) { - + if(hazard == HazardType.RADIATION) { float radEnv = HbmLivingProps.getRadEnv(entity); HbmLivingProps.setRadEnv(entity, radEnv + amount); } - + if(entity instanceof EntityPlayer) { - + EntityPlayer player = (EntityPlayer)entity; - + switch(cont) { case FARADAY: if(ArmorUtil.checkForFaraday(player)) return false; break; case HAZMAT: if(ArmorUtil.checkForHazmat(player)) return false; break; @@ -281,22 +280,22 @@ public class ContaminationUtil { case DIGAMMA: if(ArmorUtil.checkForDigamma(player)) return false; if(ArmorUtil.checkForDigamma2(player)) return false; break; case DIGAMMA2: if(ArmorUtil.checkForDigamma2(player)) return false; break; } - + if(player.capabilities.isCreativeMode && cont != ContaminationType.NONE && cont != ContaminationType.DIGAMMA2) return false; - + if(player.ticksExisted < 200) return false; } - + if(hazard == HazardType.RADIATION && isRadImmune(entity)) return false; - + switch(hazard) { case RADIATION: HbmLivingProps.incrementRadiation(entity, amount * (cont == ContaminationType.RAD_BYPASS ? 1 : calculateRadiationMod(entity))); break; case DIGAMMA: HbmLivingProps.incrementDigamma(entity, amount); break; } - + return true; } } diff --git a/src/main/java/com/hbm/util/CrashHelper.java b/src/main/java/com/hbm/util/CrashHelper.java new file mode 100644 index 000000000..c281484e9 --- /dev/null +++ b/src/main/java/com/hbm/util/CrashHelper.java @@ -0,0 +1,32 @@ +package com.hbm.util; + +import com.hbm.inventory.recipes.loader.SerializableRecipe; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.ICrashCallable; + +public class CrashHelper { + + public static void init() { + FMLCommonHandler.instance().registerCrashCallable(new CrashCallableRecipe()); + } + + public static class CrashCallableRecipe implements ICrashCallable { + + @Override + public String getLabel() { + return "NTM Modified recipes"; + } + + @Override + public String call() throws Exception { + + String call = ""; + + for(SerializableRecipe rec : SerializableRecipe.recipeHandlers) { + if(rec.modified) call += "\n\t\t" + rec.getFileName(); + } + + return call; + } + } +} diff --git a/src/main/java/com/hbm/util/CrucibleUtil.java b/src/main/java/com/hbm/util/CrucibleUtil.java index e5d06cdbd..222abab88 100644 --- a/src/main/java/com/hbm/util/CrucibleUtil.java +++ b/src/main/java/com/hbm/util/CrucibleUtil.java @@ -1,19 +1,18 @@ package com.hbm.util; -import java.util.List; - +import api.hbm.block.ICrucibleAcceptor; import com.hbm.inventory.material.Mats.MaterialStack; import com.hbm.inventory.material.NTMMaterial.SmeltingBehavior; - -import api.hbm.block.ICrucibleAcceptor; import net.minecraft.block.Block; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.List; + public class CrucibleUtil { - + /** * Standard pouring, casting a hitscan straight down at the given coordinates with the given range. Returns the leftover material, just like ICrucibleAcceptor's pour. * The method directly modifies the original stack, so be careful and make a copy beforehand if you don't want that. @@ -21,21 +20,21 @@ public class CrucibleUtil { */ public static MaterialStack pourSingleStack(World world, double x, double y, double z, double range, boolean safe, MaterialStack stack, int quanta, Vec3 impactPosHolder) { - + Vec3 start = Vec3.createVectorHelper(x, y, z); Vec3 end = Vec3.createVectorHelper(x, y - range, z); - + MovingObjectPosition[] mopHolder = new MovingObjectPosition[1]; ICrucibleAcceptor acc = getPouringTarget(world, start, end, mopHolder); MovingObjectPosition mop = mopHolder[0]; - + if(acc == null) { spill(mop, safe, stack, quanta, impactPosHolder); return stack; } - + MaterialStack ret = tryPourStack(world, acc, mop, stack, impactPosHolder); - + if(ret != null) { return ret; } @@ -43,94 +42,95 @@ public class CrucibleUtil { spill(mop, safe, stack, quanta, impactPosHolder); return stack; } - + /** * Standard pouring, casting a hitscan straight down at the given coordinates with the given range. Returns the materialStack that has been removed. * The method doesn't make copies of the MaterialStacks in the list, so the materials being subtracted or outright removed will apply to the original list. * Pass an empty Vec3 instance in order to get the impact position of the stream. */ public static MaterialStack pourFullStack(World world, double x, double y, double z, double range, boolean safe, List stacks, int quanta, Vec3 impactPosHolder) { - + if(stacks.isEmpty()) return null; - + Vec3 start = Vec3.createVectorHelper(x, y, z); Vec3 end = Vec3.createVectorHelper(x, y - range, z); - + MovingObjectPosition[] mopHolder = new MovingObjectPosition[1]; ICrucibleAcceptor acc = getPouringTarget(world, start, end, mopHolder); MovingObjectPosition mop = mopHolder[0]; - + if(acc == null) { return spill(mop, safe, stacks, quanta, impactPosHolder); } - + for(MaterialStack stack : stacks) { - + if(stack.material == null) continue; + int amountToPour = Math.min(stack.amount, quanta); MaterialStack toPour = new MaterialStack(stack.material, amountToPour); MaterialStack left = tryPourStack(world, acc, mop, toPour, impactPosHolder); - + if(left != null) { stack.amount -= (amountToPour - left.amount); return new MaterialStack(stack.material, stack.amount - left.amount); } } - + return spill(mop, safe, stacks, quanta, impactPosHolder); } - + /** * Tries to pour the stack onto the supplied crucible acceptor instance. Also features our friend the Vec3 dummy, which will be filled with the stream's impact position. * Returns whatever is left of the stack when successful or null when unsuccessful (potential spillage). */ public static MaterialStack tryPourStack(World world, ICrucibleAcceptor acc, MovingObjectPosition mop, MaterialStack stack, Vec3 impactPosHolder) { Vec3 hit = mop.hitVec; - + if(stack.material.smeltable != SmeltingBehavior.SMELTABLE) { return null; } - + if(acc.canAcceptPartialPour(world, mop.blockX, mop.blockY, mop.blockZ, hit.xCoord, hit.yCoord, hit.zCoord, ForgeDirection.getOrientation(mop.sideHit), stack)) { MaterialStack left = acc.pour(world, mop.blockX, mop.blockY, mop.blockZ, hit.xCoord, hit.yCoord, hit.zCoord, ForgeDirection.getOrientation(mop.sideHit), stack); if(left == null) { left = new MaterialStack(stack.material, 0); } - + impactPosHolder.xCoord = hit.xCoord; impactPosHolder.yCoord = hit.yCoord; impactPosHolder.zCoord = hit.zCoord; - + return left; } - + return null; } - + /** * Uses hitscan to find the target of the pour, from start (the top) to end (the bottom). Pass a single cell MOP array to get the reference of the MOP for later use. * Now we're thinking with reference types. */ public static ICrucibleAcceptor getPouringTarget(World world, Vec3 start, Vec3 end, MovingObjectPosition[] mopHolder) { - + MovingObjectPosition mop = world.func_147447_a(start, end, true, true, true); - + if(mopHolder != null) { mopHolder[0] = mop; } - + if(mop == null || mop.typeOfHit != mop.typeOfHit.BLOCK) { return null; } - + Block b = world.getBlock(mop.blockX, mop.blockY, mop.blockZ); - + if(!(b instanceof ICrucibleAcceptor)) { return null; } - + return (ICrucibleAcceptor) b; } - + /** * Regular spillage routine but accepts a stack list instead of a stack. simply uses the first available stack from the list. Assumes list is not empty. */ @@ -140,30 +140,30 @@ public class CrucibleUtil { MaterialStack ret = spill(mop, safe, top, quanta, impactPos); //remove all stacks with no content stacks.removeIf(o -> o.amount <= 0); - + return ret; } - + /** * The routine used for then there is no valid crucible acceptor found. Will NOP with safe mode on. Returns the MaterialStack that was lost. */ public static MaterialStack spill(MovingObjectPosition mop, boolean safe, MaterialStack stack, int quanta, Vec3 impactPos) { - + //do nothing if safe mode is on if(safe) { return null; } - + MaterialStack toWaste = new MaterialStack(stack.material, Math.min(stack.amount, quanta)); stack.amount -= toWaste.amount; - + //if there is a vec3 reference, set the impact coordinates if(impactPos != null && mop != null) { impactPos.xCoord = mop.hitVec.xCoord; impactPos.yCoord = mop.hitVec.yCoord; impactPos.zCoord = mop.hitVec.zCoord; } - + return toWaste; } } diff --git a/src/main/java/com/hbm/util/DamageResistanceHandler.java b/src/main/java/com/hbm/util/DamageResistanceHandler.java new file mode 100644 index 000000000..154891677 --- /dev/null +++ b/src/main/java/com/hbm/util/DamageResistanceHandler.java @@ -0,0 +1,608 @@ +package com.hbm.util; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map.Entry; + +import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; +import com.hbm.items.ModItems; +import com.hbm.main.MainRegistry; +import com.hbm.util.Tuple.Quartet; +import com.hbm.util.i18n.I18nUtil; + +import api.hbm.entity.IResistanceProvider; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; +import net.minecraft.util.EntityDamageSource; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.MathHelper; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingHurtEvent; + +/** + * Basic handling/registry class for our custom resistance stats. + * Handles resistances for individual armor pieces, full sets as well as entity classes for innate damage resistance + * + * @author hbm + */ +public class DamageResistanceHandler { + + /** Currently cached DT reduction */ + public static float currentPDT = 0F; + /** Currently cached armor piercing % */ + public static float currentPDR = 0F; + + public static final String CATEGORY_EXPLOSION = "EXPL"; + public static final String CATEGORY_FIRE = "FIRE"; + public static final String CATEGORY_PHYSICAL = "PHYS"; + public static final String CATEGORY_ENERGY = "EN"; + + public static final Gson gson = new Gson(); + + public static HashMap itemStats = new HashMap(); + public static HashMap, ResistanceStats> setStats = new HashMap(); + public static HashMap, ResistanceStats> entityStats = new HashMap(); + + public static HashMap>> itemInfoSet = new HashMap(); + + public static void init() { + File folder = MainRegistry.configHbmDir; + + File config = new File(folder.getAbsolutePath() + File.separatorChar + "hbmArmor.json"); + File template = new File(folder.getAbsolutePath() + File.separatorChar + "_hbmArmor.json"); + + clearSystem(); + + if(!config.exists()) { + initDefaults(); + writeDefault(template); + } else { + readConfig(config); + } + } + + private static void clearSystem() { + itemStats.clear(); + setStats.clear(); + entityStats.clear(); + itemInfoSet.clear(); + } + + private static void writeDefault(File file) { + + MainRegistry.logger.info("No armor file found, registering defaults for " + file.getName()); + + try { + JsonWriter writer = new JsonWriter(new FileWriter(file)); + writer.setIndent(" "); + writer.beginObject(); + writer.name("comment").value("Template file, remove the underscore ('_') from the name to enable the config."); + + serialize(writer); + + writer.endObject(); + writer.close(); + } catch(IOException e) { + e.printStackTrace(); + } + } + + private static void readConfig(File file) { + + MainRegistry.logger.info("Reading armor file " + file.getName()); + + try { + JsonObject json = gson.fromJson(new FileReader(file), JsonObject.class); + deserialize(json); + + } catch(FileNotFoundException ex) { + clearSystem(); + initDefaults(); + ex.printStackTrace(); + } + } + + public static void initDefaults() { + + entityStats.put(EntityCreeper.class, new ResistanceStats().addCategory(CATEGORY_EXPLOSION, 2F, 0.25F)); + + itemStats.put(ModItems.jackt, new ResistanceStats() + .addCategory(CATEGORY_PHYSICAL, 5F, 0.5F)); + itemStats.put(ModItems.jackt2, new ResistanceStats() + .addCategory(CATEGORY_PHYSICAL, 5F, 0.5F)); + + registerSet(ModItems.steel_helmet, ModItems.steel_plate, ModItems.steel_legs, ModItems.steel_boots, new ResistanceStats()); + registerSet(ModItems.titanium_helmet, ModItems.titanium_plate, ModItems.titanium_legs, ModItems.titanium_boots, new ResistanceStats()); + registerSet(ModItems.alloy_helmet, ModItems.alloy_plate, ModItems.alloy_legs, ModItems.alloy_boots, new ResistanceStats() + .addCategory(CATEGORY_PHYSICAL, 2F, 0.1F)); + registerSet(ModItems.cobalt_helmet, ModItems.cobalt_plate, ModItems.cobalt_legs, ModItems.cobalt_boots, new ResistanceStats() + .addCategory(CATEGORY_PHYSICAL, 2F, 0.1F)); + registerSet(ModItems.starmetal_helmet, ModItems.starmetal_plate, ModItems.starmetal_legs, ModItems.starmetal_boots, new ResistanceStats() + .addCategory(CATEGORY_PHYSICAL, 3F, 0.25F) + .setOther(1F, 0.1F)); + registerSet(ModItems.zirconium_legs, ModItems.zirconium_legs, ModItems.zirconium_legs, ModItems.zirconium_legs, new ResistanceStats() + .setOther(0F, 1F)); + registerSet(ModItems.dnt_helmet, ModItems.dnt_plate, ModItems.dnt_legs, ModItems.dnt_boots, new ResistanceStats()); + registerSet(ModItems.cmb_helmet, ModItems.cmb_plate, ModItems.cmb_legs, ModItems.cmb_boots, new ResistanceStats() + .addCategory(CATEGORY_PHYSICAL, 5F, 0.5F) + .setOther(5F, 0.25F)); + registerSet(ModItems.schrabidium_helmet, ModItems.schrabidium_plate, ModItems.schrabidium_legs, ModItems.schrabidium_boots, new ResistanceStats() + .addCategory(CATEGORY_PHYSICAL, 10F, 0.65F) + .setOther(5F, 0.5F)); + registerSet(ModItems.robes_helmet, ModItems.robes_plate, ModItems.robes_legs, ModItems.robes_boots, new ResistanceStats()); + + registerSet(ModItems.security_helmet, ModItems.security_plate, ModItems.security_legs, ModItems.security_boots, new ResistanceStats() + .addCategory(CATEGORY_PHYSICAL, 5F, 0.5F) + .addCategory(CATEGORY_EXPLOSION, 2F, 0.25F)); + registerSet(ModItems.steamsuit_helmet, ModItems.steamsuit_plate, ModItems.steamsuit_legs, ModItems.steamsuit_boots, new ResistanceStats() + .addCategory(CATEGORY_PHYSICAL, 2F, 0.15F) + .addCategory(CATEGORY_FIRE, 0.5F, 0.25F) + .addExact(DamageSource.fall.damageType, 5F, 0.25F) + .setOther(0F, 0.1F)); + registerSet(ModItems.dieselsuit_helmet, ModItems.dieselsuit_plate, ModItems.dieselsuit_legs, ModItems.dieselsuit_boots, new ResistanceStats() + .addCategory(CATEGORY_PHYSICAL, 1F, 0.15F) + .addCategory(CATEGORY_FIRE, 0.5F, 0.5F) + .addCategory(CATEGORY_EXPLOSION, 2F, 0.15F) + .setOther(0F, 0.1F)); + registerSet(ModItems.t45_helmet, ModItems.t45_plate, ModItems.t45_legs, ModItems.t45_boots, new ResistanceStats() + .addCategory(CATEGORY_PHYSICAL, 2F, 0.15F) + .addCategory(CATEGORY_FIRE, 0.5F, 0.35F) + .addCategory(CATEGORY_EXPLOSION, 5F, 0.25F) + .addExact(DamageSource.fall.damageType, 0F, 1F) + .setOther(0F, 0.1F)); + registerSet(ModItems.ajr_helmet, ModItems.ajr_plate, ModItems.ajr_legs, ModItems.ajr_boots, new ResistanceStats() + .addCategory(CATEGORY_PHYSICAL, 4F, 0.15F) + .addCategory(CATEGORY_FIRE, 0.5F, 0.35F) + .addCategory(CATEGORY_EXPLOSION, 7.5F, 0.25F) + .addExact(DamageSource.fall.damageType, 0F, 1F) + .setOther(0F, 0.15F)); + registerSet(ModItems.ajro_helmet, ModItems.ajro_plate, ModItems.ajro_legs, ModItems.ajro_boots, new ResistanceStats() + .addCategory(CATEGORY_PHYSICAL, 4F, 0.15F) + .addCategory(CATEGORY_FIRE, 0.5F, 0.35F) + .addCategory(CATEGORY_EXPLOSION, 7.5F, 0.25F) + .addExact(DamageSource.fall.damageType, 0F, 1F) + .setOther(0F, 0.15F)); + registerSet(ModItems.rpa_helmet, ModItems.rpa_plate, ModItems.rpa_legs, ModItems.rpa_boots, new ResistanceStats() + .addCategory(CATEGORY_PHYSICAL, 25F, 0.65F) + .addCategory(CATEGORY_FIRE, 10F, 0.9F) + .addCategory(CATEGORY_EXPLOSION, 15F, 0.25F) + .addCategory(CATEGORY_ENERGY, 25F, 0.75F) + .addExact(DamageSource.fall.damageType, 0F, 1F) + .setOther(15F, 0.3F)); + ResistanceStats bj = new ResistanceStats() + .addCategory(CATEGORY_PHYSICAL, 5F, 0.5F) + .addCategory(CATEGORY_FIRE, 2.5F, 0.5F) + .addCategory(CATEGORY_EXPLOSION, 10F, 0.25F) + .addExact(DamageSource.fall.damageType, 0F, 1F) + .setOther(2F, 0.15F); + registerSet(ModItems.bj_helmet, ModItems.bj_plate, ModItems.bj_legs, ModItems.bj_boots, bj); + registerSet(ModItems.bj_helmet, ModItems.bj_plate_jetpack, ModItems.bj_legs, ModItems.bj_boots, bj); + registerSet(ModItems.envsuit_helmet, ModItems.envsuit_plate, ModItems.envsuit_legs, ModItems.envsuit_boots, new ResistanceStats() + .addCategory(CATEGORY_FIRE, 2F, 0.75F) + .addExact(DamageSource.drown.damageType, 0F, 1F) + .addExact(DamageSource.fall.damageType, 5F, 0.75F) + .setOther(0F, 0.1F)); + registerSet(ModItems.hev_helmet, ModItems.hev_plate, ModItems.hev_legs, ModItems.hev_boots, new ResistanceStats() + .addCategory(CATEGORY_PHYSICAL, 2F, 0.25F) + .addCategory(CATEGORY_FIRE, 0.5F, 0.5F) + .addCategory(CATEGORY_EXPLOSION, 5F, 0.25F) + .addExact(DamageSource.onFire.damageType, 0F, 1F) + .addExact(DamageSource.fall.damageType, 10F, 0F) + .setOther(2F, 0.25F)); + registerSet(ModItems.bismuth_helmet, ModItems.bismuth_plate, ModItems.bismuth_legs, ModItems.bismuth_boots, new ResistanceStats() + .addCategory(CATEGORY_PHYSICAL, 2F, 0.15F) + .addCategory(CATEGORY_FIRE, 5F, 0.5F) + .addCategory(CATEGORY_EXPLOSION, 5F, 0.25F) + .addExact(DamageSource.fall.damageType, 0F, 1F) + .setOther(2F, 0.25F)); + registerSet(ModItems.fau_helmet, ModItems.fau_plate, ModItems.fau_legs, ModItems.fau_boots, new ResistanceStats() + .addCategory(CATEGORY_EXPLOSION, 50F, 0.95F) + .addCategory(CATEGORY_FIRE, 0F, 1F) + .addExact(DamageClass.LASER.name(), 25F, 0.95F) + .addExact(DamageSource.fall.damageType, 0F, 1F) + .setOther(100F, 0.99F)); + registerSet(ModItems.dns_helmet, ModItems.dns_plate, ModItems.dns_legs, ModItems.dns_boots, new ResistanceStats() + .addCategory(CATEGORY_EXPLOSION, 100F, 0.99F) + .addCategory(CATEGORY_FIRE, 0F, 1F) + .setOther(1000F, 1F)); + registerSet(ModItems.taurun_helmet, ModItems.taurun_plate, ModItems.taurun_legs, ModItems.taurun_boots, new ResistanceStats() + .addCategory(CATEGORY_PHYSICAL, 2F, 0.15F) + .addCategory(CATEGORY_FIRE, 0F, 0.25F) + .addCategory(CATEGORY_EXPLOSION, 0F, 0.25F) + .addExact(DamageSource.fall.damageType, 4F, 0.5F) + .setOther(2F, 0.1F)); + registerSet(ModItems.trenchmaster_helmet, ModItems.trenchmaster_plate, ModItems.trenchmaster_legs, ModItems.trenchmaster_boots, new ResistanceStats() + .addCategory(CATEGORY_PHYSICAL, 5F, 0.5F) + .addCategory(CATEGORY_FIRE, 5F, 0.5F) + .addCategory(CATEGORY_EXPLOSION, 5F, 0.25F) + .addExact(DamageClass.LASER.name(), 15F, 0.9F) + .addExact(DamageSource.fall.damageType, 10F, 0.5F) + .setOther(5F, 0.25F)); + + registerSet(ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots, new ResistanceStats() + .setOther(1_000_000F, 1F)); + + registerSet(ModItems.hazmat_helmet, ModItems.hazmat_plate, ModItems.hazmat_legs, ModItems.hazmat_boots, new ResistanceStats()); + registerSet(ModItems.hazmat_helmet_red, ModItems.hazmat_plate_red, ModItems.hazmat_legs_red, ModItems.hazmat_boots_red, new ResistanceStats()); + registerSet(ModItems.hazmat_helmet_grey, ModItems.hazmat_plate_grey, ModItems.hazmat_legs_grey, ModItems.hazmat_boots_grey, new ResistanceStats()); + registerSet(ModItems.liquidator_helmet, ModItems.liquidator_plate, ModItems.liquidator_legs, ModItems.liquidator_boots, new ResistanceStats()); + registerSet(ModItems.hazmat_paa_helmet, ModItems.hazmat_paa_plate, ModItems.hazmat_paa_legs, ModItems.hazmat_paa_boots, new ResistanceStats()); + registerSet(ModItems.asbestos_helmet, ModItems.asbestos_plate, ModItems.asbestos_legs, ModItems.asbestos_boots, new ResistanceStats() + .addCategory(CATEGORY_FIRE, 10F, 0.9F)); + } + + public static void registerSet(Item helmet, Item plate, Item legs, Item boots, ResistanceStats stats) { + Quartet set = new Quartet(helmet, plate, legs, boots); + setStats.put(set, stats); + if(helmet != null) addToListInHashMap(helmet, itemInfoSet, set); + if(plate != null) addToListInHashMap(plate, itemInfoSet, set); + if(legs != null) addToListInHashMap(legs, itemInfoSet, set); + if(boots != null) addToListInHashMap(boots, itemInfoSet, set); + } + + public static void addToListInHashMap(Object key, HashMap map, Object listElement) { + List list = (List) map.get(key); + if(list == null) { + list = new ArrayList(); + map.put(key, list); + } + list.add(listElement); + } + + public static void addInfo(ItemStack stack, List desc) { + if(stack == null || stack.getItem() == null) return; + + if(itemInfoSet.containsKey(stack.getItem())) { + List> sets = itemInfoSet.get(stack.getItem()); + + for(Quartet set : sets) { + + ResistanceStats stats = setStats.get(set); + if(stats == null) continue; + + List toAdd = new ArrayList(); + + for(Entry entry : stats.categoryResistances.entrySet()) { + toAdd.add(I18nUtil.resolveKey("damage.category." + entry.getKey()) + ": " + entry.getValue().threshold + "/" + ((int)(entry.getValue().resistance * 100)) + "%"); + } + for(Entry entry : stats.exactResistances.entrySet()) { + toAdd.add(I18nUtil.resolveKey("damage.exact." + entry.getKey()) + ": " + entry.getValue().threshold + "/" + ((int)(entry.getValue().resistance * 100)) + "%"); + } + if(stats.otherResistance != null) toAdd.add(I18nUtil.resolveKey("damage.other") + ": " + stats.otherResistance.threshold + "/" + ((int)(stats.otherResistance.resistance * 100)) + "%"); + + if(!toAdd.isEmpty()) { + desc.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKey("damage.inset")); + //this sucks ass! + if(set.getW() != null) desc.add(EnumChatFormatting.DARK_PURPLE + " " + new ItemStack(set.getW()).getDisplayName()); + if(set.getX() != null) desc.add(EnumChatFormatting.DARK_PURPLE + " " + new ItemStack(set.getX()).getDisplayName()); + if(set.getY() != null) desc.add(EnumChatFormatting.DARK_PURPLE + " " + new ItemStack(set.getY()).getDisplayName()); + if(set.getZ() != null) desc.add(EnumChatFormatting.DARK_PURPLE + " " + new ItemStack(set.getZ()).getDisplayName()); + desc.addAll(toAdd); + } + + break; //TEMP, only show one set for now + } + } + + if(itemStats.containsKey(stack.getItem())) { + ResistanceStats stats = itemStats.get(stack.getItem()); + + List toAdd = new ArrayList(); + + for(Entry entry : stats.categoryResistances.entrySet()) { + toAdd.add(I18nUtil.resolveKey("damage.category." + entry.getKey()) + ": " + entry.getValue().threshold + "/" + ((int)(entry.getValue().resistance * 100)) + "%"); + } + for(Entry entry : stats.exactResistances.entrySet()) { + toAdd.add(I18nUtil.resolveKey("damage.exact." + entry.getKey()) + ": " + entry.getValue().threshold + "/" + ((int)(entry.getValue().resistance * 100)) + "%"); + } + if(stats.otherResistance != null) toAdd.add(I18nUtil.resolveKey("damage.other") + ": " + stats.otherResistance.threshold + "/" + ((int)(stats.otherResistance.resistance * 100)) + "%"); + + if(!toAdd.isEmpty()) { + desc.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKey("damage.item")); + desc.addAll(toAdd); + } + } + } + + public static void serialize(JsonWriter writer) throws IOException { + /// ITEMS /// + writer.name("itemStats").beginArray(); + for(Entry entry : itemStats.entrySet()) { + writer.beginArray().setIndent(""); + writer.value(Item.itemRegistry.getNameForObject(entry.getKey())).setIndent(" "); + writer.beginObject(); + entry.getValue().serialize(writer); + writer.setIndent(""); + writer.endObject().endArray().setIndent(" "); + } + writer.endArray(); + + /// SETS /// + writer.name("setStats").beginArray(); + for(Entry, ResistanceStats> entry : setStats.entrySet()) { + writer.beginArray().setIndent(""); + writer.value(Item.itemRegistry.getNameForObject(entry.getKey().getW())) + .value(Item.itemRegistry.getNameForObject(entry.getKey().getX())) + .value(Item.itemRegistry.getNameForObject(entry.getKey().getY())) + .value(Item.itemRegistry.getNameForObject(entry.getKey().getZ())).setIndent(" "); + writer.beginObject(); + entry.getValue().serialize(writer); + writer.setIndent(""); + writer.endObject().endArray().setIndent(" "); + } + writer.endArray(); + + /// ENTITIES /// + writer.name("entityStats").beginArray(); + for(Entry, ResistanceStats> entry : entityStats.entrySet()) { + writer.beginArray().setIndent(""); + writer.value(entry.getKey().getName()).setIndent(" "); + writer.beginObject(); + entry.getValue().serialize(writer); + writer.setIndent(""); + writer.endObject().endArray().setIndent(" "); + } + writer.endArray(); + } + + public static void deserialize(JsonObject json) { + /// ITEMS /// + JsonArray itemStatsArray = json.get("itemStats").getAsJsonArray(); + for(JsonElement element : itemStatsArray) { + JsonArray statArray = element.getAsJsonArray(); + Item item = (Item) Item.itemRegistry.getObject(statArray.get(0).getAsString()); + JsonObject stats = statArray.get(1).getAsJsonObject(); + itemStats.put(item, ResistanceStats.deserialize(stats)); + } + + /// SETS /// + JsonArray setStatsArray = json.get("setStats").getAsJsonArray(); + for(JsonElement element : setStatsArray) { + JsonArray statArray = element.getAsJsonArray(); + Item helmet = statArray.get(0).isJsonNull() ? null : (Item) Item.itemRegistry.getObject(statArray.get(0).getAsString()); + Item plate = statArray.get(1).isJsonNull() ? null : (Item) Item.itemRegistry.getObject(statArray.get(1).getAsString()); + Item legs = statArray.get(2).isJsonNull() ? null : (Item) Item.itemRegistry.getObject(statArray.get(2).getAsString()); + Item boots = statArray.get(3).isJsonNull() ? null : (Item) Item.itemRegistry.getObject(statArray.get(3).getAsString()); + JsonObject stats = statArray.get(4).getAsJsonObject(); + registerSet(helmet, plate, legs, boots, ResistanceStats.deserialize(stats)); + } + + /// ENTITIES /// + JsonArray entityStatsArray = json.get("entityStats").getAsJsonArray(); + for(JsonElement element : entityStatsArray) { + JsonArray statArray = element.getAsJsonArray(); + try { + Class clazz = Class.forName(statArray.get(0).getAsString()); + JsonObject stats = statArray.get(1).getAsJsonObject(); + entityStats.put(clazz, ResistanceStats.deserialize(stats)); + } catch(ClassNotFoundException e) { } + } + } + + public static enum DamageClass { + PHYSICAL, + FIRE, + EXPLOSIVE, + ELECTRIC, + LASER, + MICROWAVE, + SUBATOMIC, + OTHER + } + + public static void setup(float dt, float dr) { + currentPDT = dt; + currentPDR = dr; + } + + public static void reset() { + currentPDT = 0; + currentPDR = 0; + } + + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) { + if(event.source.isDamageAbsolute()) return; + + EntityLivingBase e = event.entityLiving; + float amount = event.ammount; + + float[] vals = getDTDR(e, event.source, amount, currentPDT, currentPDR); + float dt = vals[0] - currentPDT; + float dr = vals[1] - currentPDR; + + if((dt > 0 && dt >= event.ammount) || dr >= 1F) { + event.setCanceled(true); + EntityDamageUtil.damageArmorNT(e, amount); + } + } + + @SubscribeEvent + public void onEntityDamaged(LivingHurtEvent event) { + event.ammount = calculateDamage(event.entityLiving, event.source, event.ammount, currentPDT, currentPDR); + if(event.entityLiving instanceof IResistanceProvider) { + IResistanceProvider irp = (IResistanceProvider) event.entityLiving; + irp.onDamageDealt(event.source, event.ammount); + } + } + + public static String typeToCategory(DamageSource source) { + if(source.isExplosion()) return CATEGORY_EXPLOSION; + if(source.isFireDamage()) return CATEGORY_FIRE; + if(source.isProjectile()) return CATEGORY_PHYSICAL; + if(source.damageType.equals(DamageClass.LASER.name())) return CATEGORY_ENERGY; + if(source.damageType.equals(DamageClass.MICROWAVE.name())) return CATEGORY_ENERGY; + if(source.damageType.equals(DamageClass.SUBATOMIC.name())) return CATEGORY_ENERGY; + if(source.damageType.equals(DamageClass.ELECTRIC.name())) return CATEGORY_ENERGY; + if(source == DamageSource.cactus) return CATEGORY_PHYSICAL; + if(source instanceof EntityDamageSource) return CATEGORY_PHYSICAL; + return source.damageType; + } + + public static float calculateDamage(EntityLivingBase entity, DamageSource damage, float amount, float pierceDT, float pierce) { + if(damage.isDamageAbsolute()) return amount; + + float[] vals = getDTDR(entity, damage, amount, pierceDT, pierce); + float dt = vals[0]; + float dr = vals[1]; + + dt = Math.max(0F, dt - pierceDT); + if(dt >= amount) return 0F; + amount -= dt; + dr *= MathHelper.clamp_float(1F - pierce, 0F, 2F /* we allow up to -1 armor piercing, which can double effective armor values */); + + return amount *= (1F - dr); + } + + public static float[] getDTDR(EntityLivingBase entity, DamageSource damage, float amount, float pierceDT, float pierce) { + + float dt = 0; + float dr = 0; + + if(entity instanceof IResistanceProvider) { + IResistanceProvider irp = (IResistanceProvider) entity; + float[] res = irp.getCurrentDTDR(damage, amount, pierceDT, pierce); + dt += res[0]; + dr += res[1]; + } + + /// SET HANDLING /// + Quartet wornSet = new Quartet( + entity.getEquipmentInSlot(4) != null ? entity.getEquipmentInSlot(4).getItem() : null, + entity.getEquipmentInSlot(3) != null ? entity.getEquipmentInSlot(3).getItem() : null, + entity.getEquipmentInSlot(2) != null ? entity.getEquipmentInSlot(2).getItem() : null, + entity.getEquipmentInSlot(1) != null ? entity.getEquipmentInSlot(1).getItem() : null + ); + + ResistanceStats setResistance = setStats.get(wornSet); + if(setResistance != null) { + Resistance res = setResistance.getResistance(damage); + if(res != null) { + dt += res.threshold; + dr += res.resistance; + } + } + + /// ARMOR /// + for(int i = 1; i <= 4; i++) { + ItemStack armor = entity.getEquipmentInSlot(i); + if(armor == null) continue; + ResistanceStats stats = itemStats.get(armor.getItem()); + if(stats == null) continue; + Resistance res = stats.getResistance(damage); + if(res == null) continue; + dt += res.threshold; + dr += res.resistance; + } + + /// ENTITY CLASS HANDLING /// + ResistanceStats innateResistance = entityStats.get(entity.getClass()); + if(innateResistance != null) { + Resistance res = innateResistance.getResistance(damage); + if(res != null) { + dt += res.threshold; + dr += res.resistance; + } + } + + return new float[] {dt, dr}; + } + + public static class ResistanceStats { + + public HashMap exactResistances = new HashMap(); + public HashMap categoryResistances = new HashMap(); + public Resistance otherResistance; + + public Resistance getResistance(DamageSource source) { + Resistance exact = exactResistances.get(source.damageType); + if(exact != null) return exact; + Resistance category = categoryResistances.get(typeToCategory(source)); + if(category != null) return category; + return source.isUnblockable() ? null : otherResistance; + } + + public ResistanceStats addExact(String type, float threshold, float resistance) { exactResistances.put(type, new Resistance(threshold, resistance)); return this; } + public ResistanceStats addCategory(String type, float threshold, float resistance) { categoryResistances.put(type, new Resistance(threshold, resistance)); return this; } + public ResistanceStats setOther(float threshold, float resistance) { otherResistance = new Resistance(threshold, resistance); return this; } + + public void serialize(JsonWriter writer) throws IOException { + + if(!exactResistances.isEmpty()) { + writer.name("exact").beginArray(); + for(Entry entry : exactResistances.entrySet()) { + writer.beginArray().setIndent(""); + writer.value(entry.getKey()).value(entry.getValue().threshold).value(entry.getValue().resistance).endArray().setIndent(" "); + } + writer.endArray(); + } + + if(!categoryResistances.isEmpty()) { + writer.name("category").beginArray(); + for(Entry entry : categoryResistances.entrySet()) { + writer.beginArray().setIndent(""); + writer.value(entry.getKey()).value(entry.getValue().threshold).value(entry.getValue().resistance).endArray().setIndent(" "); + } + writer.endArray(); + } + + if(otherResistance != null) { + writer.name("other").beginArray().setIndent(""); + writer.value(otherResistance.threshold).value(otherResistance.resistance).endArray().setIndent(" "); + } + } + + public static ResistanceStats deserialize(JsonObject json) { + ResistanceStats stats = new ResistanceStats(); + + if(json.has("exact")) { + JsonArray exact = json.get("exact").getAsJsonArray(); + for(JsonElement element : exact) { + JsonArray array = element.getAsJsonArray(); + stats.exactResistances.put(array.get(0).getAsString(), new Resistance(array.get(1).getAsFloat(), array.get(2).getAsFloat())); + } + } + + if(json.has("category")) { + JsonArray category = json.get("category").getAsJsonArray(); + for(JsonElement element : category) { + JsonArray array = element.getAsJsonArray(); + stats.categoryResistances.put(array.get(0).getAsString(), new Resistance(array.get(1).getAsFloat(), array.get(2).getAsFloat())); + } + } + + if(json.has("other")) { + JsonArray other = json.get("other").getAsJsonArray(); + stats.otherResistance = new Resistance(other.get(0).getAsFloat(), other.get(1).getAsFloat()); + } + + return stats; + } + } + + public static class Resistance { + + public float threshold; + public float resistance; + + public Resistance(float threshold, float resistance) { + this.threshold = threshold; + this.resistance = resistance; + } + } +} diff --git a/src/main/java/com/hbm/util/Either.java b/src/main/java/com/hbm/util/Either.java new file mode 100644 index 000000000..be2e5da75 --- /dev/null +++ b/src/main/java/com/hbm/util/Either.java @@ -0,0 +1,77 @@ +package com.hbm.util; + +import java.util.function.Function; + +/** + * Represents a value that is either of generic type L or R + * @author martinthedragon + */ +@SuppressWarnings("unchecked") +public final class Either { + + public static Either left(L value) { + return new Either<>(value, true); + } + + public static Either right(R value) { + return new Either<>(value, false); + } + + private final Object value; + private final boolean isLeft; + + private Either(Object value, boolean isLeft) { + this.value = value; + this.isLeft = isLeft; + } + + public boolean isLeft() { + return isLeft; + } + + public boolean isRight() { + return !isLeft; + } + + public L left() { + if(isLeft) + return (L) value; + else + throw new IllegalStateException("Tried accessing value as the L type, but was R type"); + } + + public R right() { + if(!isLeft) + return (R) value; + else + throw new IllegalStateException("Tried accessing value as the R type, but was L type"); + } + + public L leftOrNull() { + return isLeft ? (L) value : null; + } + + public R rightOrNull() { + return !isLeft ? (R) value : null; + } + + public V cast() { + return (V) value; + } + + public T run(Function leftFunc, Function rightFunc) { + return isLeft ? leftFunc.apply((L) value) : rightFunc.apply((R) value); + } + + public T runLeftOrNull(Function func) { + return isLeft ? func.apply((L) value) : null; + } + + public T runRightOrNull(Function func) { + return !isLeft ? func.apply((R) value) : null; + } + + public T runCasting(Function func) { + return func.apply((V) value); + } +} diff --git a/src/main/java/com/hbm/util/EntityDamageUtil.java b/src/main/java/com/hbm/util/EntityDamageUtil.java index 137256643..6ba1791ce 100644 --- a/src/main/java/com/hbm/util/EntityDamageUtil.java +++ b/src/main/java/com/hbm/util/EntityDamageUtil.java @@ -1,47 +1,36 @@ package com.hbm.util; import java.lang.reflect.Method; +import java.util.List; + +import com.hbm.config.ServerConfig; import cpw.mods.fml.relauncher.ReflectionHelper; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.passive.EntityTameable; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.potion.Potion; +import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; public class EntityDamageUtil { - - /** - * Attacks the given entity twice, based on a piecring percentage. The second hit sets the damage source to bypass armor. - * The damage source is modified, so you can't reuse damage source instances. - */ - public static boolean attackEntityFromArmorPiercing(Entity victim, DamageSource src, float damage, float piercing) { - - if(src.isUnblockable() || piercing == 0) return victim.attackEntityFrom(src, damage); - - if(piercing == 1) { - src.setDamageBypassesArmor(); - return victim.attackEntityFrom(src, damage); - } - - boolean ret = false; - - ret |= victim.attackEntityFrom(src, damage * (1F - piercing)); - src.setDamageBypassesArmor(); - ret |= victim.attackEntityFrom(src, damage * piercing); - return ret; - } - - public static boolean attackEntityFromIgnoreIFrame(Entity victim, DamageSource src, float damage) { + + /** Shitty hack, if the first attack fails, it retries with damage + previous damage, allowing damage to penetrate */ + @Deprecated public static boolean attackEntityFromIgnoreIFrame(Entity victim, DamageSource src, float damage) { if(!victim.attackEntityFrom(src, damage)) { - + if(victim instanceof EntityLivingBase) { EntityLivingBase living = (EntityLivingBase) victim; - + if(living.hurtResistantTime > living.maxHurtResistantTime / 2.0F) { damage += living.lastDamage; } @@ -51,10 +40,199 @@ public class EntityDamageUtil { return true; } } + + /** New and improved entity damage calc - only use this one */ + public static boolean attackEntityFromNT(EntityLivingBase living, DamageSource source, float amount, boolean ignoreIFrame, boolean allowSpecialCancel, double knockbackMultiplier, float pierceDT, float pierce) { + if(living instanceof EntityPlayerMP && source.getEntity() instanceof EntityPlayer) { + EntityPlayerMP playerMP = (EntityPlayerMP) living; + EntityPlayer attacker = (EntityPlayer) source.getEntity(); + if(!playerMP.canAttackPlayer(attacker)) return false; //handles wack-ass no PVP rule as well as scoreboard friendly fire + } + DamageResistanceHandler.setup(pierceDT, pierce); + boolean ret = attackEntityFromNTInternal(living, source, amount, ignoreIFrame, allowSpecialCancel, knockbackMultiplier); + DamageResistanceHandler.reset(); + return ret; + } + private static boolean attackEntityFromNTInternal(EntityLivingBase living, DamageSource source, float amount, boolean ignoreIFrame, boolean allowSpecialCancel, double knockbackMultiplier) { + boolean superCompatibility = ServerConfig.DAMAGE_COMPATIBILITY_MODE.get(); + return superCompatibility + ? attackEntitySuperCompatibility(living, source, amount, ignoreIFrame, allowSpecialCancel, knockbackMultiplier) + : attackEntitySEDNAPatch(living, source, amount, ignoreIFrame, allowSpecialCancel, knockbackMultiplier); + } + + /** + * MK2 SEDNA damage system, currently untested. An even hackier, yet more compatible solution using the vanilla damage calc directly but tweaking certain apsects. + * Limitation: Does not apply DR piercing to vanilla armor + */ + private static boolean attackEntitySuperCompatibility(EntityLivingBase living, DamageSource source, float amount, boolean ignoreIFrame, boolean allowSpecialCancel, double knockbackMultiplier) { + //disable iframes + if(ignoreIFrame) { living.lastDamage = 0F; living.hurtResistantTime = 0; } + //cache last velocity + double motionX = living.motionX; + double motionY = living.motionX; + double motionZ = living.motionX; + //bam! + boolean ret = living.attackEntityFrom(source, amount); + //restore last velocity + living.motionX = motionX; + living.motionY = motionY; + living.motionZ = motionZ; + //apply own knockback + Entity entity = source.getEntity(); + if(entity != null) { + double deltaX = entity.posX - living.posX; + double deltaZ; + + for(deltaZ = entity.posZ - living.posZ; deltaX * deltaX + deltaZ * deltaZ < 1.0E-4D; deltaZ = (Math.random() - Math.random()) * 0.01D) { + deltaX = (Math.random() - Math.random()) * 0.01D; + } + + living.attackedAtYaw = (float) (Math.atan2(deltaZ, deltaX) * 180.0D / Math.PI) - living.rotationYaw; + if(knockbackMultiplier > 0) knockBack(living, entity, amount, deltaX, deltaZ, knockbackMultiplier); + } + return ret; + } + + /** MK1 SEDNA damage system, basically re-implements the vanilla code (only from Entity, child class code is effectively ignored) with some adjustments */ + private static boolean attackEntitySEDNAPatch(EntityLivingBase living, DamageSource source, float amount, boolean ignoreIFrame, boolean allowSpecialCancel, double knockbackMultiplier) { + living.attackEntityFrom(source, 0F); + if(ignoreIFrame) living.lastDamage = 0F; + if(ForgeHooks.onLivingAttack(living, source, amount) && allowSpecialCancel) return false; + if(living.isEntityInvulnerable()) return false; + if(living.worldObj.isRemote) return false; + if(living instanceof EntityPlayer && ((EntityPlayer) living).capabilities.disableDamage && !source.canHarmInCreative()) return false; + + living.entityAge = 0; + if(living.getHealth() <= 0.0F) return false; + if(source.isFireDamage() && living.isPotionActive(Potion.fireResistance)) return false; + + living.limbSwingAmount = 1.5F; + boolean didAttackRegister = true; + + if(living.hurtResistantTime > living.maxHurtResistantTime / 2.0F && !ignoreIFrame) { + if(amount <= living.lastDamage) { return false; } + damageEntityNT(living, source, amount - living.lastDamage); + living.lastDamage = amount; + didAttackRegister = false; + } else { + living.lastDamage = amount; + living.prevHealth = living.getHealth(); + living.hurtResistantTime = living.maxHurtResistantTime; + damageEntityNT(living, source, amount); + living.hurtTime = living.maxHurtTime = 10; + } + + living.attackedAtYaw = 0.0F; + Entity entity = source.getEntity(); + + if(entity != null) { + if(entity instanceof EntityLivingBase) { + living.setRevengeTarget((EntityLivingBase) entity); + } + + if(entity instanceof EntityPlayer) { + living.recentlyHit = 100; + living.attackingPlayer = (EntityPlayer) entity; + } else if(entity instanceof EntityTameable) { + EntityTameable entitywolf = (EntityTameable) entity; + + if(entitywolf.isTamed()) { + living.recentlyHit = 100; + living.attackingPlayer = null; + } + } + } + + if(didAttackRegister) { + living.worldObj.setEntityState(living, (byte) 2); + + if(source != DamageSource.drown) setBeenAttacked(living); //# + + if(entity != null) { + double deltaX = entity.posX - living.posX; + double deltaZ; + + for(deltaZ = entity.posZ - living.posZ; deltaX * deltaX + deltaZ * deltaZ < 1.0E-4D; deltaZ = (Math.random() - Math.random()) * 0.01D) { + deltaX = (Math.random() - Math.random()) * 0.01D; + } + + living.attackedAtYaw = (float) (Math.atan2(deltaZ, deltaX) * 180.0D / Math.PI) - living.rotationYaw; + if(knockbackMultiplier > 0) knockBack(living, entity, amount, deltaX, deltaZ, knockbackMultiplier); + } else { + living.attackedAtYaw = (float) ((int) (Math.random() * 2.0D) * 180); + } + } + + String sound; + + if(living.getHealth() <= 0.0F) { + sound = getDeathSound(living); + if(didAttackRegister && sound != null) living.playSound(sound, getSoundVolume(living), getSoundPitch(living)); //# + living.onDeath(source); + } else { + sound = getHurtSound(living); + if(didAttackRegister && sound != null) living.playSound(sound, getSoundVolume(living), getSoundPitch(living)); //# + } + + return true; + } + + public static void knockBack(EntityLivingBase living, Entity attacker, float damage, double motionX, double motionZ, double multiplier) { + if(living.getRNG().nextDouble() >= living.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).getAttributeValue()) { + living.isAirBorne = true; + double horizontal = Math.sqrt(motionX * motionX + motionZ * motionZ); + double magnitude = 0.4D * multiplier; + living.motionX /= 2.0D; + living.motionY /= 2.0D; + living.motionZ /= 2.0D; + living.motionX -= motionX / horizontal * magnitude; + living.motionY += (double) magnitude; + living.motionZ -= motionZ / horizontal * magnitude; + + if(living.motionY > 0.2D) { + living.motionY = 0.2D * multiplier; + } + } + } + + public static void damageEntityNT(EntityLivingBase living, DamageSource source, float amount) { + if(!living.isEntityInvulnerable()) { + amount = ForgeHooks.onLivingHurt(living, source, amount); + if(amount <= 0) return; + + amount = applyArmorCalculationsNT(living, source, amount); + amount = applyPotionDamageCalculations(living, source, amount); + + float originalAmount = amount; + amount = Math.max(amount - living.getAbsorptionAmount(), 0.0F); + living.setAbsorptionAmount(living.getAbsorptionAmount() - (originalAmount - amount)); + + if(amount != 0.0F) { + float health = living.getHealth(); + living.setHealth(health - amount); + living.func_110142_aN().func_94547_a(source, health, amount); + living.setAbsorptionAmount(living.getAbsorptionAmount() - amount); + } + } + } + + public static float applyArmorCalculationsNT(EntityLivingBase living, DamageSource source, float amount) { + if(!source.isUnblockable()) { + float i = 25F - (living.getTotalArmorValue() * (1 - DamageResistanceHandler.currentPDR)); + float armor = amount * (float) i; + damageArmorNT(living, amount); + amount = armor / 25.0F; + } + + return amount; + } + + public static void damageArmorNT(EntityLivingBase living, float amount) { } + /** Currently just a copy of the vanilla damage code */ - public static boolean attackEntityFromNT(EntityLivingBase living, DamageSource source, float amount) { - + @Deprecated public static boolean attackEntityFromNT(EntityLivingBase living, DamageSource source, float amount) { + if(ForgeHooks.onLivingAttack(living, source, amount)) return false; if(living.isEntityInvulnerable()) { @@ -104,8 +282,8 @@ public class EntityDamageUtil { if(entity instanceof EntityPlayer) { living.recentlyHit = 100; living.attackingPlayer = (EntityPlayer) entity; - } else if(entity instanceof net.minecraft.entity.passive.EntityTameable) { - net.minecraft.entity.passive.EntityTameable entitywolf = (net.minecraft.entity.passive.EntityTameable) entity; + } else if(entity instanceof EntityTameable) { + EntityTameable entitywolf = (EntityTameable) entity; if(entitywolf.isTamed()) { living.recentlyHit = 100; @@ -158,29 +336,29 @@ public class EntityDamageUtil { } } } - + // in this household we drink gasoline and sniff glue public static String getDeathSound(EntityLivingBase living) { Method m = ReflectionHelper.findMethod(EntityLivingBase.class, living, new String[] {"func_70673_aS", "getDeathSound"}); try { return (String) m.invoke(living); } catch(Exception e) { } return "game.neutral.die"; } - + public static String getHurtSound(EntityLivingBase living) { Method m = ReflectionHelper.findMethod(EntityLivingBase.class, living, new String[] {"func_70621_aR", "getHurtSound"}); try { return (String) m.invoke(living); } catch(Exception e) { } return "game.neutral.hurt"; } - + public static float getSoundVolume(EntityLivingBase living) { Method m = ReflectionHelper.findMethod(EntityLivingBase.class, living, new String[] {"func_70599_aP", "getSoundVolume"}); try { return (float) m.invoke(living); } catch(Exception e) { } return 1F; } - + public static float getSoundPitch(EntityLivingBase living) { Method m = ReflectionHelper.findMethod(EntityLivingBase.class, living, new String[] {"func_70647_i", "getSoundPitch"}); try { return (float) m.invoke(living); } catch(Exception e) { } return 1F; } - public static void damageEntity(EntityLivingBase living, DamageSource source, float amount) { + @Deprecated public static void damageEntity(EntityLivingBase living, DamageSource source, float amount) { if(!living.isEntityInvulnerable()) { amount = ForgeHooks.onLivingHurt(living, source, amount); if(amount <= 0) @@ -200,17 +378,17 @@ public class EntityDamageUtil { } } - public static float applyArmorCalculations(EntityLivingBase living, DamageSource source, float amount) { + @Deprecated public static float applyArmorCalculations(EntityLivingBase living, DamageSource source, float amount) { if(!source.isUnblockable()) { int i = 25 - living.getTotalArmorValue(); float armor = amount * (float) i; - //living.damageArmor(p_70655_2_); //unused + //living.damageArmor(amount); //unused amount = armor / 25.0F; } return amount; } - + public static float applyPotionDamageCalculations(EntityLivingBase living, DamageSource source, float amount) { if(source.isDamageAbsolute()) { return amount; @@ -230,7 +408,7 @@ public class EntityDamageUtil { if(amount <= 0.0F) { return 0.0F; } else { - + resistance = EnchantmentHelper.getEnchantmentModifierDamage(living.getLastActiveItems(), source); if(resistance > 20) { @@ -251,4 +429,74 @@ public class EntityDamageUtil { public static void setBeenAttacked(EntityLivingBase living) { living.velocityChanged = living.getRNG().nextDouble() >= living.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).getAttributeValue(); } + + public static MovingObjectPosition getMouseOver(EntityPlayer attacker, double reach) { + + World world = attacker.worldObj; + MovingObjectPosition objectMouseOver = null; + Entity pointedEntity = null; + + objectMouseOver = rayTrace(attacker, reach, 1F); + + Vec3 pos = getPosition(attacker); + Vec3 look = attacker.getLook(1F); + Vec3 end = pos.addVector(look.xCoord * reach, look.yCoord * reach, look.zCoord * reach); + Vec3 hitvec = null; + float grace = 1.0F; + List list = world.getEntitiesWithinAABBExcludingEntity(attacker, attacker.boundingBox.addCoord(look.xCoord * reach, look.yCoord * reach, look.zCoord * reach).expand(grace, grace, grace)); + + double closest = reach; + + for(int i = 0; i < list.size(); ++i) { + Entity entity = (Entity) list.get(i); + + if(entity.canBeCollidedWith()) { + + float borderSize = entity.getCollisionBorderSize(); + AxisAlignedBB axisalignedbb = entity.boundingBox.expand(borderSize, borderSize, borderSize); + MovingObjectPosition movingobjectposition = axisalignedbb.calculateIntercept(pos, end); + + if(axisalignedbb.isVecInside(pos)) { + if(0.0D <= closest) { + pointedEntity = entity; + hitvec = movingobjectposition == null ? pos : movingobjectposition.hitVec; + closest = 0.0D; + } + + } else if(movingobjectposition != null) { + double dist = pos.distanceTo(movingobjectposition.hitVec); + + if(dist < closest || closest == 0.0D) { + if(entity == attacker.ridingEntity && !entity.canRiderInteract()) { + if(closest == 0.0D) { + pointedEntity = entity; + hitvec = movingobjectposition.hitVec; + } + } else { + pointedEntity = entity; + hitvec = movingobjectposition.hitVec; + closest = dist; + } + } + } + } + } + + if(pointedEntity != null && (closest < reach || objectMouseOver == null)) { + objectMouseOver = new MovingObjectPosition(pointedEntity, hitvec); + } + + return objectMouseOver; + } + + public static MovingObjectPosition rayTrace(EntityPlayer player, double dist, float interp) { + Vec3 pos = getPosition(player); + Vec3 look = player.getLook(interp); + Vec3 end = pos.addVector(look.xCoord * dist, look.yCoord * dist, look.zCoord * dist); + return player.worldObj.func_147447_a(pos, end, false, false, true); + } + + public static Vec3 getPosition(EntityPlayer player) { + return Vec3.createVectorHelper(player.posX, player.posY + player.getEyeHeight(), player.posZ); + } } diff --git a/src/main/java/com/hbm/util/GameRuleHelper.java b/src/main/java/com/hbm/util/GameRuleHelper.java index 0811aa2a1..1551d02d1 100644 --- a/src/main/java/com/hbm/util/GameRuleHelper.java +++ b/src/main/java/com/hbm/util/GameRuleHelper.java @@ -1,37 +1,54 @@ package com.hbm.util; +import com.hbm.tileentity.machine.rbmk.RBMKDials; import net.minecraft.util.MathHelper; +import net.minecraft.world.GameRules; import net.minecraft.world.World; public class GameRuleHelper { - - public static double getClampedDouble(World world, String rule, double def, double min, double max) { - return MathHelper.clamp_double(GameRuleHelper.parseDouble(world.getGameRules().getGameRuleStringValue(rule), def), min, max); - } - - public static double getDoubleMinimum(World world, String rule, double def, double min) { - return Math.max(GameRuleHelper.parseDouble(world.getGameRules().getGameRuleStringValue(rule), def), min); - } - - public static int getIntegerMinimum(World world, String rule, int def, int min) { - return Math.max(GameRuleHelper.parseInt(world.getGameRules().getGameRuleStringValue(rule), def), min); + + public static double getClampedDouble(World world, RBMKDials.RBMKKeys rule, double min, double max) { + return MathHelper.clamp_double(GameRuleHelper.parseDouble(world, world.getGameRules().getGameRuleStringValue(rule.keyString), (double) rule.defValue), min, max); } - public static double parseDouble(String s, double def) { - + public static int getClampedInt(World world, RBMKDials.RBMKKeys rule, int min, int max) { + return MathHelper.clamp_int(GameRuleHelper.parseInt(world, world.getGameRules().getGameRuleStringValue(rule.keyString), (int) rule.defValue), min, max); + } + + public static double getDoubleMinimum(World world, RBMKDials.RBMKKeys rule, double min) { + return Math.max(GameRuleHelper.parseDouble(world, world.getGameRules().getGameRuleStringValue(rule.keyString), (double) rule.defValue), min); + } + + public static int getIntegerMinimum(World world, RBMKDials.RBMKKeys rule, int min) { + return Math.max(GameRuleHelper.parseInt(world, world.getGameRules().getGameRuleStringValue(rule.keyString), (int) rule.defValue), min); + } + + public static double parseDouble(World world, String s, double def) { + + GameRules rules = world.getGameRules(); + if(s.isEmpty() && !rules.hasRule(s)) { + rules.addGameRule(s, String.valueOf(def)); + return def; + } + try { return Double.parseDouble(s); } catch(Exception ex) { } - + return def; } - public static int parseInt(String s, int def) { - + public static int parseInt(World world, String s, int def) { + + GameRules rules = world.getGameRules(); + if(s.isEmpty() && !rules.hasRule(s)) { + rules.addGameRule(s, String.valueOf(def)); + } + try { return Integer.parseInt(s); } catch(Exception ex) { } - + return def; } diff --git a/src/main/java/com/hbm/util/HashedSet.java b/src/main/java/com/hbm/util/HashedSet.java index 6a45c952b..72ab2c102 100644 --- a/src/main/java/com/hbm/util/HashedSet.java +++ b/src/main/java/com/hbm/util/HashedSet.java @@ -1,34 +1,34 @@ package com.hbm.util; +import org.apache.commons.lang3.NotImplementedException; + import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map.Entry; import java.util.Set; -import org.apache.commons.lang3.NotImplementedException; - /** * A crude implementation of the HashSet with a few key differences: * - instead of being stored as the key, the objects are stored as values in the underlying HashMap with the hash being the key * - consequently, things with matching hash are considered the same, skipping the equals check * - no equals check means that collisions are possible, so be careful * - the underlying HashMap is accessible, which means that the instances can be grabbed out of the HashedSet if a hash is supplied - * + * * This sack of crap was only intended for the drone request network code - * + * * @author hbm * * @param */ public class HashedSet implements Set { - + HashMap map = new HashMap(); - + public static class HashedIterator implements Iterator { - + private Iterator> iterator; - + public HashedIterator(HashedSet set) { this.iterator = set.map.entrySet().iterator(); } @@ -54,7 +54,7 @@ public class HashedSet implements Set { public HashedSet(Set reachableNodes) { this.addAll(reachableNodes); } - + public HashMap getMap() { return this.map; } @@ -85,11 +85,11 @@ public class HashedSet implements Set { @Override public boolean containsAll(Collection c) { - + for(Object o : c) { if(!this.contains(o)) return false; } - + return true; } @@ -107,12 +107,12 @@ public class HashedSet implements Set { public boolean remove(Object o) { T obj = this.map.get(o.hashCode()); boolean rem = false; - + if(obj != null) { rem = true; this.map.remove(o.hashCode()); } - + return rem; } diff --git a/src/main/java/com/hbm/util/I18nUtil.java b/src/main/java/com/hbm/util/I18nUtil.java deleted file mode 100644 index a4460f6d9..000000000 --- a/src/main/java/com/hbm/util/I18nUtil.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.hbm.util; - -import java.util.ArrayList; -import java.util.List; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.resources.I18n; - -@SideOnly(Side.CLIENT) -public class I18nUtil { - - /** - * Simple wrapper for I18n, for consistency - * @param s - * @param args - * @return - */ - @SideOnly(Side.CLIENT) - public static String resolveKey(String s, Object... args) { - return I18n.format(s, args); - } - - /** - * Wrapper for I18n but cuts up the result using NTM's line break character ($) - * @param s - * @param args - * @return - */ - @SideOnly(Side.CLIENT) - public static String[] resolveKeyArray(String s, Object... args) { - return resolveKey(s, args).split("\\$"); - } - - /** - * The same as autoBreak, but it also respects NTM's break character ($) for manual line breaking in addition to the automatic ones - * @param fontRenderer - * @param text - * @param width - * @return - */ - @SideOnly(Side.CLIENT) - public static List autoBreakWithParagraphs(FontRenderer fontRenderer, String text, int width) { - - String[] paragraphs = text.split("\\$"); - List lines = new ArrayList(); - - for(String paragraph : paragraphs) { - lines.addAll(autoBreak(fontRenderer, paragraph, width)); - } - - return lines; - } - - /** - * Turns one string into a list of strings, cutting sentences up to fit within the defined width if they were rendered in a GUI - * @param fontRenderer - * @param text - * @param width - * @return - */ - @SideOnly(Side.CLIENT) - public static List autoBreak(FontRenderer fontRenderer, String text, int width) { - - List lines = new ArrayList(); - //split the text by all spaces - String[] words = text.split(" "); - - //add the first word to the first line, no matter what - lines.add(words[0]); - //starting indent is the width of the first word - int indent = fontRenderer.getStringWidth(words[0]); - - for(int w = 1; w < words.length; w++) { - - //increment the indent by the width of the next word + leading space - indent += fontRenderer.getStringWidth(" " + words[w]); - - //if the indent is within bounds - if(indent <= width) { - //add the next word to the last line (i.e. the one in question) - String last = lines.get(lines.size() - 1); - lines.set(lines.size() - 1, last += (" " + words[w])); - } else { - //otherwise, start a new line and reset the indent - lines.add(words[w]); - indent = fontRenderer.getStringWidth(words[w]); - } - } - - return lines; - } -} diff --git a/src/main/java/com/hbm/util/InventoryUtil.java b/src/main/java/com/hbm/util/InventoryUtil.java index 97cc2bfe7..c26b690ff 100644 --- a/src/main/java/com/hbm/util/InventoryUtil.java +++ b/src/main/java/com/hbm/util/InventoryUtil.java @@ -1,11 +1,9 @@ package com.hbm.util; -import java.util.List; - import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.recipes.anvil.AnvilRecipes.AnvilOutput; +import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityFurnaceBrick; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; @@ -14,6 +12,8 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntityFurnace; import net.minecraftforge.oredict.OreDictionary; +import java.util.List; + //'t was about time public class InventoryUtil { @@ -21,7 +21,7 @@ public class InventoryUtil { if(sided instanceof TileEntityFurnace) return new int[] {1, 0}; if(sided instanceof TileEntityFurnaceBrick) return new int[] {1, 0, 3}; - + return sided.getAccessibleSlotsFromSide(side); } @@ -35,24 +35,24 @@ public class InventoryUtil { * @return the remainder of the stack that could not have been added, can return null */ public static ItemStack tryAddItemToInventory(ItemStack[] inv, int start, int end, ItemStack stack) { - + ItemStack rem = tryAddItemToExistingStack(inv, start, end, stack); - + if(rem == null) return null; - + boolean didAdd = tryAddItemToNewSlot(inv, start, end, rem); - + if(didAdd) return null; else return rem; } - + public static ItemStack tryAddItemToInventory(ItemStack[] inv, ItemStack stack) { return tryAddItemToInventory(inv, 0, inv.length - 1, stack); } - + /** * Functionally equal to tryAddItemToInventory, but will not try to create new stacks in empty slots * @param inv @@ -62,29 +62,29 @@ public class InventoryUtil { * @return */ public static ItemStack tryAddItemToExistingStack(ItemStack[] inv, int start, int end, ItemStack stack) { - + if(stack == null || stack.stackSize == 0) return null; - + for(int i = start; i <= end; i++) { if(doesStackDataMatch(inv[i], stack)) { - + int transfer = Math.min(stack.stackSize, inv[i].getMaxStackSize() - inv[i].stackSize); - + if(transfer > 0) { inv[i].stackSize += transfer; stack.stackSize -= transfer; - + if(stack.stackSize == 0) return null; } } } - + return stack; } - + /** * Will place the stack in the first empty slot * @param inv @@ -94,21 +94,21 @@ public class InventoryUtil { * @return whether the stack could be added or not */ public static boolean tryAddItemToNewSlot(ItemStack[] inv, int start, int end, ItemStack stack) { - + if(stack == null || stack.stackSize == 0) return true; - + for(int i = start; i <= end; i++) { - + if(inv[i] == null) { inv[i] = stack; return true; } } - + return false; } - + /** * Much of the same but with an ISidedInventory instance instead of a slot array * @param inv @@ -118,86 +118,86 @@ public class InventoryUtil { * @return */ public static ItemStack tryAddItemToInventory(IInventory inv, int start, int end, ItemStack stack) { - + ItemStack rem = tryAddItemToExistingStack(inv, start, end, stack); - + if(rem == null) return null; - + boolean didAdd = tryAddItemToNewSlot(inv, start, end, rem); - + if(didAdd) return null; else return rem; } - + public static ItemStack tryAddItemToExistingStack(IInventory inv, int start, int end, ItemStack stack) { - + if(stack == null || stack.stackSize == 0) return null; - + for(int i = start; i <= end; i++) { if(doesStackDataMatch(inv.getStackInSlot(i), stack)) { - + int transfer = Math.min(stack.stackSize, inv.getStackInSlot(i).getMaxStackSize() - inv.getStackInSlot(i).stackSize); - + if(transfer > 0) { inv.getStackInSlot(i).stackSize += transfer; stack.stackSize -= transfer; - + if(stack.stackSize == 0) return null; } } } - + return stack; } - + public static boolean tryAddItemToNewSlot(IInventory inv, int start, int end, ItemStack stack) { - + if(stack == null || stack.stackSize == 0) return true; - + for(int i = start; i <= end; i++) { - + if(inv.getStackInSlot(i) == null) { inv.setInventorySlotContents(i, stack); return true; } } - + return false; } - + public static boolean tryConsumeAStack(ItemStack[] inv, int start, int end, AStack stack) { - + if(stack == null) return true; - + AStack copy = stack.copy(); - + for(int i = start; i <= end; i++) { ItemStack in = inv[i]; - + if(stack.matchesRecipe(in, true)) { int size = Math.min(copy.stacksize, in.stackSize); - + in.stackSize -= size; copy.stacksize -= size; - + if(in.stackSize == 0) inv[i] = null; if(copy.stacksize == 0) return true; } } - + return false; } - + /** * Compares item, metadata and NBT data of two stacks. Also handles null values! * @param stack1 @@ -205,7 +205,7 @@ public class InventoryUtil { * @return */ public static boolean doesStackDataMatch(ItemStack stack1, ItemStack stack2) { - + if(stack1 == null && stack2 == null) return true; if(stack1 == null && stack2 != null) return false; if(stack1 != null && stack2 == null) return false; @@ -214,10 +214,10 @@ public class InventoryUtil { if(!stack1.hasTagCompound() && !stack2.hasTagCompound()) return true; if(stack1.hasTagCompound() && !stack2.hasTagCompound()) return false; if(!stack1.hasTagCompound() && stack2.hasTagCompound()) return false; - + return stack1.getTagCompound().equals(stack2.getTagCompound()); } - + /** * Checks if a player has matching item stacks in his inventory and removes them if so desired * @param player @@ -226,34 +226,34 @@ public class InventoryUtil { * @return whether the player has the required item stacks or not */ public static boolean doesPlayerHaveAStacks(EntityPlayer player, List stacks, boolean shouldRemove) { - + ItemStack[] original = player.inventory.mainInventory; ItemStack[] inventory = new ItemStack[original.length]; boolean[] modified = new boolean[original.length]; AStack[] input = new AStack[stacks.size()]; - + //first we copy the inputs into an array because 1. it's easier to deal with and 2. we can dick around with the stack sized with no repercussions for(int i = 0; i < input.length; i++) { input[i] = stacks.get(i).copy(); } - + //then we copy the inventory so we can dick around with it as well without making actual modifications to the player's inventory for(int i = 0; i < original.length; i++) { if(original[i] != null) { inventory[i] = original[i].copy(); } } - + //now we go through every ingredient... for(int i = 0; i < input.length; i++) { - + AStack stack = input[i]; - + //...and compare each ingredient to every stack in the inventory for(int j = 0; j < inventory.length; j++) { - + ItemStack inv = inventory[j]; - + //we check if it matches but ignore stack size for now if(stack.matchesRecipe(inv, true)) { //and NOW we care about the stack size @@ -261,29 +261,29 @@ public class InventoryUtil { stack.stacksize -= size; inv.stackSize -= size; modified[j] = true; - + //spent stacks are removed from the equation so that we don't cross ourselves later on if(stack.stacksize <= 0) { input[i] = null; break; } - + if(inv.stackSize <= 0) { inventory[j] = null; } } } } - + for(AStack stack : input) { if(stack != null) { return false; } } - + if(shouldRemove) { for(int i = 0; i < original.length; i++) { - + if(inventory[i] != null && inventory[i].stackSize <= 0) { original[i] = null; } else { @@ -291,12 +291,12 @@ public class InventoryUtil { } } } - + return true; } - + public static void giveChanceStacksToPlayer(EntityPlayer player, List stacks) { - + for(AnvilOutput out : stacks) { if(out.chance == 1.0F || player.getRNG().nextFloat() < out.chance) { if(!player.inventory.addItemStackToInventory(out.stack.copy())) { @@ -305,23 +305,23 @@ public class InventoryUtil { } } } - + public static boolean hasOreDictMatches(EntityPlayer player, String dict, int count) { return countOreDictMatches(player, dict) >= count; } - + public static int countOreDictMatches(EntityPlayer player, String dict) { - + int count = 0; - + for(int i = 0; i < player.inventory.mainInventory.length; i++) { - + ItemStack stack = player.inventory.mainInventory[i]; - + if(stack != null) { - + int[] ids = OreDictionary.getOreIDs(stack); - + for(int id : ids) { if(OreDictionary.getOreName(id).equals(dict)) { count += stack.stackSize; @@ -330,23 +330,23 @@ public class InventoryUtil { } } } - + return count; } - + public static void consumeOreDictMatches(EntityPlayer player, String dict, int count) { - + for(int i = 0; i < player.inventory.mainInventory.length; i++) { - + ItemStack stack = player.inventory.mainInventory[i]; - + if(stack != null) { - + int[] ids = OreDictionary.getOreIDs(stack); - + for(int id : ids) { if(OreDictionary.getOreName(id).equals(dict)) { - + int toConsume = Math.min(count, stack.stackSize); player.inventory.decrStackSize(i, toConsume); count -= toConsume; @@ -356,7 +356,7 @@ public class InventoryUtil { } } } - + /** * Turns objects into 2D ItemStack arrays. Index 1: Ingredient slot, index 2: variation (ore dict) * Handles:
@@ -370,13 +370,13 @@ public class InventoryUtil { * @return */ public static ItemStack[][] extractObject(Object o) { - + if(o instanceof ItemStack) { ItemStack[][] stacks = new ItemStack[1][1]; stacks[0][0] = ((ItemStack)o).copy(); return stacks; } - + if(o instanceof ItemStack[]) { ItemStack[] ingredients = (ItemStack[]) o; ItemStack[][] stacks = new ItemStack[ingredients.length][1]; @@ -385,11 +385,11 @@ public class InventoryUtil { } return stacks; } - + if(o instanceof ItemStack[][]) { return (ItemStack[][]) o; } - + if(o instanceof AStack) { AStack astack = (AStack) o; ItemStack[] ext = astack.extractForNEI().toArray(new ItemStack[0]); @@ -397,23 +397,23 @@ public class InventoryUtil { stacks[0] = ext; //untested, do java arrays allow that? the capacity set is 0 after all return stacks; } - + if(o instanceof AStack[]) { AStack[] ingredients = (AStack[]) o; ItemStack[][] stacks = new ItemStack[ingredients.length][0]; - + for(int i = 0; i < ingredients.length; i++) { stacks[i] = ingredients[i].extractForNEI().toArray(new ItemStack[0]); } - + return stacks; } - + /* in emergency situations with mixed types where AStacks coexist with NBT dependent ItemStacks, such as for fluid icons */ if(o instanceof Object[]) { Object[] ingredients = (Object[]) o; ItemStack[][] stacks = new ItemStack[ingredients.length][0]; - + for(int i = 0; i < ingredients.length; i++) { Object ingredient = ingredients[i]; @@ -424,68 +424,74 @@ public class InventoryUtil { stacks[i] = new ItemStack[1]; stacks[i][0] = ((ItemStack) ingredient).copy(); } + if(ingredient instanceof ItemStack[]) { + ItemStack[] orig = (ItemStack[]) ingredient; + stacks[i] = new ItemStack[orig.length]; + for(int j = 0; j < orig.length; j++) stacks[i][j] = orig[j].copy(); + } } - + return stacks; } - + + MainRegistry.logger.warn("InventoryUtil: extractObject failed for type " + o); return new ItemStack[0][0]; } - + public static boolean doesArrayHaveIngredients(ItemStack[] array, int start, int end, AStack... ingredients) { ItemStack[] copy = ItemStackUtil.carefulCopyArrayTruncate(array, start, end); - + AStack[] req = new AStack[ingredients.length]; for(int i = 0; i < req.length; i++) { req[i] = ingredients[i] == null ? null : ingredients[i].copy(); } - + for(AStack ingredient : req) { - + if(ingredient == null) continue; - + for(ItemStack input : copy) { - + if(input == null) continue; - + if(ingredient.matchesRecipe(input, true)) { int size = Math.min(input.stackSize, ingredient.stacksize); - + ingredient.stacksize -= size; input.stackSize -= size; - + if(ingredient.stacksize == 0) break; } } - + //we have iterated over the entire input array and removed all matching entries, yet the ingredient is still not exhausted, meaning the input wasn't enough if(ingredient.stacksize > 0) return false; } - + return true; } - + public static boolean doesArrayHaveSpace(ItemStack[] array, int start, int end, ItemStack[] items) { ItemStack[] copy = ItemStackUtil.carefulCopyArrayTruncate(array, start, end); - + for(ItemStack item : items) { - + if(item == null) continue; - + ItemStack remainder = tryAddItemToInventory(copy, item.copy()); if(remainder != null) { return false; } } - + return true; } - + /** * A fixed re-implementation of the original Container.mergeItemStack that repects stack size and slot restrictions. * @param slots @@ -496,7 +502,7 @@ public class InventoryUtil { * @return */ public static boolean mergeItemStack(List slots, ItemStack stack, int start, int end, boolean reverse) { - + boolean success = false; int index = start; @@ -508,7 +514,7 @@ public class InventoryUtil { ItemStack current; if(stack.isStackable()) { - + while(stack.stackSize > 0 && (!reverse && index < end || reverse && index >= start)) { slot = slots.get(index); current = slot.getStack(); @@ -516,10 +522,10 @@ public class InventoryUtil { if(current != null) { int max = Math.min(stack.getMaxStackSize(), slot.getSlotStackLimit()); int toRemove = Math.min(stack.stackSize, max); - + if(slot.isItemValid(ItemStackUtil.carefulCopyWithSize(stack, toRemove)) && current.getItem() == stack.getItem() && (!stack.getHasSubtypes() || stack.getItemDamage() == current.getItemDamage()) && ItemStack.areItemStackTagsEqual(stack, current)) { - + int currentSize = current.stackSize + stack.stackSize; if(currentSize <= max) { stack.stackSize = 0; @@ -555,10 +561,10 @@ public class InventoryUtil { current = slot.getStack(); if(current == null) { - + int max = Math.min(stack.getMaxStackSize(), slot.getSlotStackLimit()); int toRemove = Math.min(stack.stackSize, max); - + if(slot.isItemValid(ItemStackUtil.carefulCopyWithSize(stack, toRemove))) { current = stack.splitStack(toRemove); slot.putStack(current); @@ -576,10 +582,10 @@ public class InventoryUtil { return success; } - + public static int countAStackMatches(ItemStack[] inventory, AStack stack, boolean ignoreSize) { int count = 0; - + for(ItemStack itemStack : inventory) { if(itemStack != null) { if(stack.matchesRecipe(itemStack, true)) { diff --git a/src/main/java/com/hbm/util/ItemStackUtil.java b/src/main/java/com/hbm/util/ItemStackUtil.java index 1ab7af389..a3bc8a822 100644 --- a/src/main/java/com/hbm/util/ItemStackUtil.java +++ b/src/main/java/com/hbm/util/ItemStackUtil.java @@ -1,9 +1,5 @@ package com.hbm.util; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.entity.item.EntityItem; import net.minecraft.inventory.IInventory; @@ -15,22 +11,29 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.oredict.OreDictionary; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.common.registry.GameRegistry.UniqueIdentifier; + public class ItemStackUtil { - + public static ItemStack carefulCopy(ItemStack stack) { if(stack == null) return null; return stack.copy(); } - + public static ItemStack carefulCopyWithSize(ItemStack stack, int size) { if(stack == null) return null; - + ItemStack copy = stack.copy(); copy.stackSize = size; return copy; } - + /** * Runs carefulCopy over the entire ItemStack array. * @param array @@ -39,7 +42,7 @@ public class ItemStackUtil { public static ItemStack[] carefulCopyArray(ItemStack[] array) { return carefulCopyArray(array, 0, array.length - 1); } - + /** * Recreates the ItemStack array and only runs carefulCopy over the supplied range. All other fields remain null. * @param array @@ -50,16 +53,16 @@ public class ItemStackUtil { public static ItemStack[] carefulCopyArray(ItemStack[] array, int start, int end) { if(array == null) return null; - + ItemStack[] copy = new ItemStack[array.length]; - + for(int i = start; i <= end; i++) { copy[i] = carefulCopy(array[i]); } - + return copy; } - + /** * Creates a new array that only contains the copied range. * @param array @@ -70,14 +73,14 @@ public class ItemStackUtil { public static ItemStack[] carefulCopyArrayTruncate(ItemStack[] array, int start, int end) { if(array == null) return null; - + int length = end - start + 1; ItemStack[] copy = new ItemStack[length]; - + for(int i = 0; i < length; i++) { copy[i] = carefulCopy(array[start + i]); } - + return copy; } @@ -88,28 +91,28 @@ public class ItemStackUtil { * @param lines */ public static ItemStack addTooltipToStack(ItemStack stack, String... lines) { - + if(!stack.hasTagCompound()) stack.stackTagCompound = new NBTTagCompound(); - + NBTTagCompound display = new NBTTagCompound(); NBTTagList lore = new NBTTagList(); - + for(String line : lines) { lore.appendTag(new NBTTagString(EnumChatFormatting.RESET + "" + EnumChatFormatting.GRAY + line)); } - + display.setTag("Lore", lore); stack.stackTagCompound.setTag("display", display); - + return stack; } - + public static void addStacksToNBT(ItemStack stack, ItemStack... stacks) { - + if(!stack.hasTagCompound()) stack.stackTagCompound = new NBTTagCompound(); - + NBTTagList tags = new NBTTagList(); for(int i = 0; i < stacks.length; i++) { @@ -122,7 +125,7 @@ public class ItemStackUtil { } stack.stackTagCompound.setTag("items", tags); } - + public static ItemStack[] readStacksFromNBT(ItemStack stack, int count) { if(!stack.hasTagCompound()) @@ -143,14 +146,14 @@ public class ItemStackUtil { stacks[slot] = loadedStack; } } - + return stacks; } - + public static ItemStack[] readStacksFromNBT(ItemStack stack) { return readStacksFromNBT(stack, 0); } - + /** * Returns a List of all ore dict names for this stack. Stack cannot be null, list is empty when there are no ore dict entries. * @param stack @@ -158,15 +161,28 @@ public class ItemStackUtil { */ public static List getOreDictNames(ItemStack stack) { List list = new ArrayList(); - + int ids[] = OreDictionary.getOreIDs(stack); for(int i : ids) { list.add(OreDictionary.getOreName(i)); } - + return list; } + /** + * Returns a String of the mod id of an itemstack. If a unique identifier can't be found in the registry, returns null. + * @param stack + * @return + */ + public static String getModIdFromItemStack(ItemStack stack) { + UniqueIdentifier id = GameRegistry.findUniqueIdentifierFor(stack.getItem()); + if(id!=null) { + return id.modId; + } + return null; + } + public static void spillItems(World world, int x, int y, int z, Block block, Random rand) { IInventory tileentityfurnace = (IInventory) world.getTileEntity(x, y, z); @@ -183,7 +199,7 @@ public class ItemStackUtil { int j1 = rand.nextInt(21) + 10; if(j1 > itemstack.stackSize) j1 = itemstack.stackSize; itemstack.stackSize -= j1; - + EntityItem entityitem = new EntityItem(world, x + oX, y + oY, z + oZ, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); if(itemstack.hasTagCompound()) entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); @@ -198,4 +214,8 @@ public class ItemStackUtil { world.func_147453_f(x, y, z, block); } } + + public static boolean areStacksCompatible(ItemStack sta1, ItemStack sta2) { + return sta1.getItem() == sta2.getItem() && sta1.getItemDamage() == sta2.getItemDamage() && ItemStack.areItemStackTagsEqual(sta1, sta2); + } } diff --git a/src/main/java/com/hbm/util/LootGenerator.java b/src/main/java/com/hbm/util/LootGenerator.java index bf96fb050..cee32e713 100644 --- a/src/main/java/com/hbm/util/LootGenerator.java +++ b/src/main/java/com/hbm/util/LootGenerator.java @@ -1,182 +1,236 @@ package com.hbm.util; -import java.util.Random; - import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; -import com.hbm.inventory.material.Mats; +import com.hbm.crafting.handlers.MKUCraftingHandler; +import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.itempool.ItemPool; import com.hbm.itempool.ItemPoolsPile; import com.hbm.items.ModItems; import com.hbm.items.special.ItemBookLore; -import com.hbm.items.ItemAmmoEnums.AmmoFatman; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; +import java.util.Random; + public class LootGenerator { + public static final String LOOT_BOOKLET = "LOOT_BOOKLET"; + public static final String LOOT_CAPNUKE = "LOOT_CAPNUKE"; + public static final String LOOT_MEDICINE = "LOOT_MEDICINE"; + public static final String LOOT_CAPSTASH = "LOOT_CAPSTASH"; + public static final String LOOT_MAKESHIFT_GUN = "LOOT_MAKESHIFT_GUN"; + public static final String LOOT_NUKE_STORAGE = "LOOT_NUKE_STORAGE"; + public static final String LOOT_BONES = "LOOT_BONES"; + public static final String LOOT_GLYPHID_HIVE = "LOOT_GLYPHID_HIVE"; + public static final String LOOT_METEOR = "LOOT_METEOR"; + public static final String LOOT_FLAREGUN = "LOOT_FLAREGUN"; + + public static void applyLoot(World world, int x, int y, int z, String name) { + switch(name) { + case LOOT_BOOKLET: lootBooklet(world, x, y, z); + case LOOT_CAPNUKE: lootCapNuke(world, x, y, z); + case LOOT_MEDICINE: lootMedicine(world, x, y, z); + case LOOT_CAPSTASH: lootCapStash(world, x, y, z); + case LOOT_MAKESHIFT_GUN: lootMakeshiftGun(world, x, y, z); + case LOOT_NUKE_STORAGE: lootNukeStorage(world, x, y, z); + case LOOT_BONES: lootBones(world, x, y, z); + case LOOT_GLYPHID_HIVE: lootGlyphidHive(world, x, y, z); + case LOOT_METEOR: lootBookMeteor(world, x, y, z); + case LOOT_FLAREGUN: lootFlareGun(world, x, y, z); + default: lootBones(world, x, y, z); break; + } + } + + public static String[] getLootNames() { + return new String[] { + LOOT_BOOKLET, + LOOT_CAPNUKE, + LOOT_MEDICINE, + LOOT_CAPSTASH, + LOOT_MAKESHIFT_GUN, + LOOT_NUKE_STORAGE, + LOOT_BONES, + LOOT_GLYPHID_HIVE, + LOOT_METEOR, + LOOT_FLAREGUN, + }; + } + public static void setBlock(World world, int x, int y, int z) { world.setBlock(x, y, z, ModBlocks.deco_loot); } - + public static void addItemWithDeviation(TileEntityLoot loot, Random rand, ItemStack stack, double x, double y, double z) { loot.addItem(stack, x + rand.nextGaussian() * 0.02, y, z + rand.nextGaussian() * 0.02); } - + public static void lootBooklet(World world, int x, int y, int z) { - + TileEntityLoot loot = (TileEntityLoot) world.getTileEntity(x, y, z); - + if(loot != null && loot.items.isEmpty()) { loot.addItem(ItemBookLore.createBook("beacon", 12, 0x404040, 0xD637B3), 0, 0, 0);; } } - + public static void lootCapNuke(World world, int x, int y, int z) { - + TileEntityLoot loot = (TileEntityLoot) world.getTileEntity(x, y, z); - + if(loot != null && loot.items.isEmpty()) { - + if(world.rand.nextInt(5) == 0) - loot.addItem(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.LOW), -0.25, 0, -0.125); + loot.addItem(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.NUKE_STANDARD), -0.25, 0, -0.125); else - loot.addItem(new ItemStack(ModItems.ammo_rocket), -0.25, 0, -0.25); + loot.addItem(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.ROCKET_HEAT), -0.25, 0, -0.25); - for(int i = 0; i < 4; i++) - addItemWithDeviation(loot, world.rand, new ItemStack(ModItems.cap_nuka, 2), 0.125, i * 0.03125, 0.25); - for(int i = 0; i < 2; i++) - addItemWithDeviation(loot, world.rand, new ItemStack(ModItems.syringe_metal_stimpak, 1), -0.25, i * 0.03125, 0.25); - for(int i = 0; i < 6; i++) - addItemWithDeviation(loot, world.rand, new ItemStack(ModItems.cap_nuka, 2), 0.125, i * 0.03125, -0.25); + for(int i = 0; i < 4; i++) addItemWithDeviation(loot, world.rand, new ItemStack(ModItems.cap_nuka, 2), 0.125, i * 0.03125, 0.25); + for(int i = 0; i < 2; i++) addItemWithDeviation(loot, world.rand, new ItemStack(ModItems.syringe_metal_stimpak, 1), -0.25, i * 0.03125, 0.25); + for(int i = 0; i < 6; i++) addItemWithDeviation(loot, world.rand, new ItemStack(ModItems.cap_nuka, 2), 0.125, i * 0.03125, -0.25); } } - + public static void lootMedicine(World world, int x, int y, int z) { - + TileEntityLoot loot = (TileEntityLoot) world.getTileEntity(x, y, z); - + if(loot != null && loot.items.isEmpty()) { - for(int i = 0; i < 4; i++) { - int type = world.rand.nextInt(4); - Item syringe = type < 2 ? ModItems.syringe_metal_stimpak : type == 2 ? ModItems.syringe_metal_medx : ModItems.syringe_metal_psycho; - addItemWithDeviation(loot, world.rand, new ItemStack(syringe), 0.125, i * 0.03125, 0.25); - } - - int type = world.rand.nextInt(8); - Item syringe = type < 2 ? ModItems.radaway : type < 4 ? ModItems.radx : type < 7 ? ModItems.iv_blood : ModItems.siox; - addItemWithDeviation(loot, world.rand, new ItemStack(syringe), -0.25, 0, -0.125); + for(int i = 0; i < 4; i++) addItemWithDeviation(loot, world.rand, ItemPool.getStack(ItemPoolsPile.POOL_PILE_MED_SYRINGE, world.rand), 0.125, i * 0.03125, 0.25); + addItemWithDeviation(loot, world.rand, ItemPool.getStack(ItemPoolsPile.POOL_PILE_MED_PILLS, world.rand), -0.25, 0, -0.125); } } - + public static void lootCapStash(World world, int x, int y, int z) { - + TileEntityLoot loot = (TileEntityLoot) world.getTileEntity(x, y, z); - + if(loot != null && loot.items.isEmpty()) { - + for(int i = -1; i <= 1; i++) { for(int j = -1; j <= 1; j++) { - + int count = world.rand.nextInt(5) + 3; for(int k = 0; k < count; k++) { - addItemWithDeviation(loot, world.rand, ItemPool.getStack(ItemPool.getPool(ItemPoolsPile.POOL_PILE_CAPS), world.rand), i * 0.3125, k * 0.03125, j * 0.3125); + addItemWithDeviation(loot, world.rand, ItemPool.getStack(ItemPoolsPile.POOL_PILE_CAPS, world.rand), i * 0.3125, k * 0.03125, j * 0.3125); } } } } } - + public static void lootMakeshiftGun(World world, int x, int y, int z) { TileEntityLoot loot = (TileEntityLoot) world.getTileEntity(x, y, z); - + if(loot != null && loot.items.isEmpty()) { - + boolean r = world.rand.nextBoolean(); - if(r) - addItemWithDeviation(loot, world.rand, new ItemStack(ModItems.gun_lever_action), 0.125, 0.025, 0.25); - - if(!r || world.rand.nextBoolean()) - addItemWithDeviation(loot, world.rand, new ItemStack(ModItems.wrench), -0.25, 0, -0.28125); - + if(r) addItemWithDeviation(loot, world.rand, ItemPool.getStack(ItemPoolsPile.POOL_PILE_MAKESHIFT_GUN, world.rand), 0.125, 0.025, 0.25); + + if(!r || world.rand.nextBoolean()) addItemWithDeviation(loot, world.rand, ItemPool.getStack(ItemPoolsPile.POOL_PILE_MAKESHIFT_WRENCH, world.rand), -0.25, 0, -0.28125); + int count = world.rand.nextInt(2) + 1; - for(int i = 0; i < count; i++) { - addItemWithDeviation(loot, world.rand, new ItemStack(ModItems.plate_steel), -0.25, i * 0.03125, 0.3125); - } - + for(int i = 0; i < count; i++) addItemWithDeviation(loot, world.rand, ItemPool.getStack(ItemPoolsPile.POOL_PILE_MAKESHIFT_PLATES, world.rand), -0.25, i * 0.03125, 0.3125); + count = world.rand.nextInt(2) + 2; - for(int i = 0; i < count; i++) - addItemWithDeviation(loot, world.rand, new ItemStack(ModItems.wire_fine, 1, Mats.MAT_ALUMINIUM.id), 0.25, i * 0.03125, 0.1875); + for(int i = 0; i < count; i++) addItemWithDeviation(loot, world.rand, ItemPool.getStack(ItemPoolsPile.POOL_PILE_MAKESHIFT_WIRE, world.rand), 0.25, i * 0.03125, 0.1875); } } - + public static void lootNukeStorage(World world, int x, int y, int z) { - + TileEntityLoot loot = (TileEntityLoot) world.getTileEntity(x, y, z); - + if(loot != null && loot.items.isEmpty()) { - - boolean memes = world.rand.nextInt(10) == 0; - + for(int i = 0; i < 4; i++) { for(int j = 0; j < 4; j++) { - - if(world.rand.nextBoolean() || memes) { - int type = world.rand.nextInt(11); - AmmoFatman nuke = memes ? AmmoFatman.PUMPKIN : type == 0 ? AmmoFatman.STOCK : type <= 5 ? AmmoFatman.LOW : AmmoFatman.SAFE; - loot.addItem(ModItems.ammo_nuke.stackFromEnum(nuke), -0.375 + i * 0.25, 0, -0.375 + j * 0.25); + + if(world.rand.nextBoolean()) { + loot.addItem(ItemPool.getStack(ItemPoolsPile.POOL_PILE_NUKE_STORAGE, world.rand), -0.375 + i * 0.25, 0, -0.375 + j * 0.25); } } } } } - + public static void lootBones(World world, int x, int y, int z) { - + TileEntityLoot loot = (TileEntityLoot) world.getTileEntity(x, y, z); - + if(loot != null && loot.items.isEmpty()) { - + int limit = world.rand.nextInt(3) + 3; for(int i = 0; i < limit; i++) { addItemWithDeviation(loot, world.rand, ItemPool.getStack(ItemPool.getPool(ItemPoolsPile.POOL_PILE_BONES), world.rand), world.rand.nextDouble() - 0.5, i * 0.03125, world.rand.nextDouble() - 0.5); } } } - + public static void lootGlyphidHive(World world, int x, int y, int z) { - + TileEntityLoot loot = (TileEntityLoot) world.getTileEntity(x, y, z); - + if(loot != null && loot.items.isEmpty()) { - + int limit = world.rand.nextInt(3) + 3; for(int i = 0; i < limit; i++) { addItemWithDeviation(loot, world.rand, ItemPool.getStack(ItemPool.getPool(ItemPoolsPile.POOL_PILE_HIVE), world.rand), world.rand.nextDouble() - 0.5, i * 0.03125, world.rand.nextDouble() - 0.5); } } } - - public static void lootBookLore(World world, int x, int y, int z, ItemStack book) { - + + public static void lootBookMeteor(World world, int x, int y, int z) { + TileEntityLoot loot = (TileEntityLoot) world.getTileEntity(x, y, z); - + if(loot != null && loot.items.isEmpty()) { - addItemWithDeviation(loot, world.rand, book, 0, 0, -0.25); - - int count = world.rand.nextInt(3) + 2; - for(int k = 0; k < count; k++) - addItemWithDeviation(loot, world.rand, new ItemStack(Items.book), -0.25, k * 0.03125, 0.25); - - count = world.rand.nextInt(2) + 1; - for(int k = 0; k < count; k++) - addItemWithDeviation(loot, world.rand, new ItemStack(Items.paper), 0.25, k * 0.03125, 0.125); + Item mkuItem = MKUCraftingHandler.getMKUItem(world); + ItemStack mkuBook = MKUCraftingHandler.generateBook(world, mkuItem); + + addItemWithDeviation(loot, world.rand, new ItemStack(mkuItem), 0, 0, 0.25); + addItemWithDeviation(loot, world.rand, mkuBook, 0, 0, -0.25); + } + } + + public static void lootBookLore(World world, int x, int y, int z, ItemStack book) { + + TileEntityLoot loot = (TileEntityLoot) world.getTileEntity(x, y, z); + + if(loot != null && loot.items.isEmpty()) { + addItemWithDeviation(loot, world.rand, book, 0, 0, -0.25); + + int count = world.rand.nextInt(3) + 2; + for(int k = 0; k < count; k++) addItemWithDeviation(loot, world.rand, new ItemStack(Items.book), -0.25, k * 0.03125, 0.25); + + count = world.rand.nextInt(2) + 1; + for(int k = 0; k < count; k++) addItemWithDeviation(loot, world.rand, new ItemStack(Items.paper), 0.25, k * 0.03125, 0.125); + } + } + + public static void lootFlareGun(World world, int x, int y, int z) { + TileEntityLoot loot = (TileEntityLoot) world.getTileEntity(x, y, z); + if (loot != null && loot.items.isEmpty()) { + addItemWithDeviation(loot, world.rand, new ItemStack(ModItems.gun_flaregun), 0, 0, -0.25); + + int count = world.rand.nextInt(3) + 2; + for (int k = 0; k < count; k++) + addItemWithDeviation(loot, world.rand, + new ItemStack(ModItems.ammo_standard, 1, EnumAmmo.G26_FLARE.ordinal()), + -0.25, k * 0.03125, 0.25); + + count = world.rand.nextInt(1) + 1; + for (int k = 0; k < count; k++) + addItemWithDeviation(loot, world.rand, + new ItemStack(ModItems.ammo_standard, 1, + world.rand.nextBoolean() ? EnumAmmo.G26_FLARE_SUPPLY.ordinal() : EnumAmmo.G26_FLARE_WEAPON.ordinal()), + 0.25, k * 0.03125, 0.125); } } - } diff --git a/src/main/java/com/hbm/util/MobUtil.java b/src/main/java/com/hbm/util/MobUtil.java new file mode 100644 index 000000000..8779c1ed2 --- /dev/null +++ b/src/main/java/com/hbm/util/MobUtil.java @@ -0,0 +1,197 @@ +package com.hbm.util; + +import com.hbm.entity.mob.ai.EntityAIFireGun; +import com.hbm.items.ModItems; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.ai.EntityAITasks; +import net.minecraft.entity.monster.EntitySkeleton; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.WeightedRandom; + +import java.util.*; + +public class MobUtil { + + + public static Map> slotPoolCommon = new HashMap<>(); + public static Map> slotPoolRanged = new HashMap<>(); + + public static Map> slotPoolAdv = new HashMap<>(); + public static Map> slotPoolAdvRanged; + /**Unlike the above two, the Double is interpreted as minimum soot level, instead of armor slot **/ + public static HashMap> slotPoolGuns = new HashMap<>(); + + + public static void intializeMobPools(){ + slotPoolCommon.put(4, createSlotPool(8000, new Object[][]{ //new slots, smooth, brushed, no wrinkles // old slots, wrinkled, rusty, not smooth + {ModItems.gas_mask_m65, 16}, {ModItems.gas_mask_olde, 12}, {ModItems.mask_of_infamy, 8}, + {ModItems.gas_mask_mono, 8}, {ModItems.robes_helmet, 32}, {ModItems.no9, 16}, + {ModItems.cobalt_helmet, 2}, {ModItems.rag_piss, 1}, {ModItems.hat, 1}, {ModItems.alloy_helmet, 2}, + {ModItems.titanium_helmet, 4}, {ModItems.steel_helmet, 8} + })); + slotPoolCommon.put(3, createSlotPool(7000, new Object[][]{ + {ModItems.starmetal_plate, 1}, {ModItems.cobalt_plate, 2}, {ModItems.robes_plate, 32}, + {ModItems.jackt, 32}, {ModItems.jackt2, 32}, {ModItems.alloy_plate, 2}, + {ModItems.steel_plate, 2} + })); + slotPoolCommon.put(2, createSlotPool(7000, new Object[][]{ + {ModItems.zirconium_legs, 1}, {ModItems.cobalt_legs, 2}, {ModItems.steel_legs, 16}, + {ModItems.titanium_legs, 8}, {ModItems.robes_legs, 32}, {ModItems.alloy_legs, 2} + })); + slotPoolCommon.put(1, createSlotPool(7000, new Object[][]{ + {ModItems.robes_boots, 32}, {ModItems.steel_boots, 16}, {ModItems.cobalt_boots, 2}, {ModItems.alloy_boots, 2} + })); + slotPoolCommon.put(0, createSlotPool(10000, new Object[][]{ + {ModItems.pipe_lead, 30}, {ModItems.crowbar, 25}, {ModItems.geiger_counter, 20}, + {ModItems.reer_graar, 16}, {ModItems.steel_pickaxe, 12}, {ModItems.stopsign, 10}, + {ModItems.sopsign, 8}, {ModItems.chernobylsign, 6}, {ModItems.steel_sword, 15}, + {ModItems.titanium_sword, 8}, {ModItems.lead_gavel, 4}, {ModItems.wrench_flipped, 2}, + {ModItems.wrench, 20} + })); + + slotPoolRanged.put(4, createSlotPool(12000, new Object[][]{ + {ModItems.gas_mask_m65, 16}, {ModItems.gas_mask_olde, 12}, {ModItems.mask_of_infamy, 8}, + {ModItems.gas_mask_mono, 8}, {ModItems.robes_helmet, 32}, {ModItems.no9, 16}, + {ModItems.rag_piss, 1}, {ModItems.goggles, 1}, {ModItems.alloy_helmet, 2}, + {ModItems.titanium_helmet, 4}, {ModItems.steel_helmet, 8} + })); + slotPoolRanged.put(3, createSlotPool(10000, new Object[][]{ + {ModItems.starmetal_plate, 1}, {ModItems.cobalt_plate, 2}, {ModItems.alloy_plate, 2}, //sadly they cant wear jackets bc it breaks it + {ModItems.steel_plate, 8}, {ModItems.titanium_plate, 4} + })); + slotPoolRanged.put(2, createSlotPool(10000, new Object[][]{ + {ModItems.zirconium_legs, 1}, {ModItems.cobalt_legs, 2}, {ModItems.steel_legs, 16}, + {ModItems.titanium_legs, 8}, {ModItems.robes_legs, 32}, {ModItems.alloy_legs, 2}, + })); + slotPoolRanged.put(1, createSlotPool(10000, new Object[][]{ + {ModItems.robes_boots, 32}, {ModItems.steel_boots, 16}, {ModItems.cobalt_boots, 2}, {ModItems.alloy_boots, 2}, + {ModItems.titanium_boots, 6} + })); + + slotPoolGuns.put(0.3, createSlotPool(new Object[][]{ + {ModItems.gun_light_revolver, 16}, {ModItems.gun_greasegun, 8}, {ModItems.gun_maresleg, 2} + })); + slotPoolGuns.put(1D, createSlotPool(new Object[][]{ + {ModItems.gun_light_revolver, 6}, {ModItems.gun_greasegun, 8}, {ModItems.gun_maresleg, 4}, {ModItems.gun_henry, 6} + })); + slotPoolGuns.put(3D, createSlotPool(new Object[][]{ + {ModItems.gun_uzi, 10}, {ModItems.gun_maresleg, 8}, {ModItems.gun_henry, 12}, {ModItems.gun_heavy_revolver, 4}, {ModItems.gun_flaregun, 2} + })); + slotPoolGuns.put(5D, createSlotPool(new Object[][]{ + {ModItems.gun_am180, 6}, {ModItems.gun_uzi, 10}, {ModItems.gun_spas12, 8}, {ModItems.gun_henry_lincoln, 2}, {ModItems.gun_heavy_revolver, 12}, {ModItems.gun_flaregun, 4}, {ModItems.gun_flamer, 2} + })); + + slotPoolAdv.put(4, createSlotPool(new Object[][]{ + {ModItems.security_helmet, 10}, {ModItems.t45_helmet, 4}, {ModItems.asbestos_helmet, 12}, + {ModItems.liquidator_helmet, 4}, {ModItems.no9, 12}, + {ModItems.hazmat_helmet, 6} + })); + slotPoolAdv.put(3, createSlotPool(new Object[][]{ + {ModItems.liquidator_plate, 4}, {ModItems.security_plate, 8}, {ModItems.asbestos_plate, 12}, + {ModItems.t45_plate, 4}, {ModItems.hazmat_plate, 6}, + {ModItems.steel_plate, 8} + })); + slotPoolAdv.put(2, createSlotPool(new Object[][]{ + {ModItems.liquidator_legs, 4}, {ModItems.security_legs, 8}, {ModItems.asbestos_legs, 12}, + {ModItems.t45_legs, 4}, {ModItems.hazmat_legs, 6}, + {ModItems.steel_legs, 8} + })); + slotPoolAdv.put(1, createSlotPool(new Object[][]{ + {ModItems.liquidator_boots, 4}, {ModItems.security_boots, 8}, {ModItems.asbestos_boots, 12}, + {ModItems.t45_boots, 4}, {ModItems.hazmat_boots, 6}, + {ModItems.robes_boots, 8} + })); + slotPoolAdv.put(0, createSlotPool(new Object[][]{ + {ModItems.pipe_lead, 20}, {ModItems.crowbar, 30}, {ModItems.geiger_counter, 20}, + {ModItems.reer_graar, 20}, {ModItems.wrench_flipped, 12}, {ModItems.stopsign, 16}, + {ModItems.sopsign, 4}, {ModItems.chernobylsign, 16}, + {ModItems.titanium_sword, 18}, {ModItems.lead_gavel, 8}, + {ModItems.wrench, 20} + })); + + slotPoolAdvRanged = new HashMap<>(slotPoolAdv); + slotPoolAdvRanged.remove(0); + + } + + public static List createSlotPool(int nullWeight, Object[][] items) { + List pool = new ArrayList<>(); + pool.add(new WeightedRandomObject(null, nullWeight)); + for (Object[] item : items) { + Object obj = item[0]; + int weight = (int) item[1]; + + if (obj instanceof Item) { + pool.add(new WeightedRandomObject(new ItemStack((Item) obj), weight)); + } else if (obj instanceof ItemStack) { //lol just make it pass ItemStack aswell + pool.add(new WeightedRandomObject(obj, weight)); + } + } + return pool; + } + public static List createSlotPool(Object[][] items) { + List pool = new ArrayList<>(); + for (Object[] item : items) { + Object obj = item[0]; + int weight = (int) item[1]; + + if (obj instanceof Item) { + pool.add(new WeightedRandomObject(new ItemStack((Item) obj), weight)); + } else if (obj instanceof ItemStack) { //lol just make it pass ItemStack aswell + pool.add(new WeightedRandomObject(obj, weight)); + } + } + return pool; + } + + public static void equipFullSet(EntityLivingBase entity, Item helmet, Item chest, Item legs, Item boots) { //for brainlets (me) to add more armorsets later when i forget about how this works + entity.setCurrentItemOrArmor(4, new ItemStack(helmet)); //p_70062_1_ is the slot number + entity.setCurrentItemOrArmor(3, new ItemStack(chest)); + entity.setCurrentItemOrArmor(2, new ItemStack(legs)); + entity.setCurrentItemOrArmor(1, new ItemStack(boots)); + } + + public static void assignItemsToEntity(EntityLivingBase entity, Map> slotPools, Random rand) { + for (Map.Entry> entry : slotPools.entrySet()) { + int slot = entry.getKey(); + List pool = entry.getValue(); + + WeightedRandomObject choice = (WeightedRandomObject) WeightedRandom.getRandomItem(rand, pool); //NullPointerException sludge fix + if (choice == null) { + continue; + } + + ItemStack stack = choice.asStack(); + if (stack == null || stack.getItem() == null) { + continue; + } + + if (stack.getItem() == ModItems.gas_mask_m65 //eyesore + || stack.getItem() == ModItems.gas_mask_olde + || stack.getItem() == ModItems.gas_mask_mono) { + ArmorUtil.installGasMaskFilter(stack, new ItemStack(ModItems.gas_mask_filter)); + } + + entity.setCurrentItemOrArmor(slot, stack); + + //Give skeleton AI if it has a gun + if (slot == 0 && entity instanceof EntitySkeleton && pool == slotPools.get(0)) { + addFireTask((EntityLiving) entity); + } + } + } + + // these fucking tasks keep stacking on top of themselves + public static void addFireTask(EntityLiving entity) { + entity.setEquipmentDropChance(0, 0); // Prevent dropping guns + + for(Object entry : entity.tasks.taskEntries) { + EntityAITasks.EntityAITaskEntry task = (EntityAITasks.EntityAITaskEntry) entry; + if(task.action instanceof EntityAIFireGun) return; + } + + entity.tasks.addTask(3, new EntityAIFireGun(entity)); + } +} diff --git a/src/main/java/com/hbm/util/ParticleUtil.java b/src/main/java/com/hbm/util/ParticleUtil.java index 45898c14d..b4da2edff 100644 --- a/src/main/java/com/hbm/util/ParticleUtil.java +++ b/src/main/java/com/hbm/util/ParticleUtil.java @@ -1,9 +1,8 @@ package com.hbm.util; +import com.hbm.handler.threading.PacketThreading; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; - +import com.hbm.packet.toclient.AuxParticlePacketNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; @@ -17,17 +16,17 @@ public class ParticleUtil { data.setDouble("mX", mX); data.setDouble("mY", mY); data.setDouble("mZ", mZ); - + if(world.isRemote) { data.setDouble("posX", x); data.setDouble("posY", y); data.setDouble("posZ", z); MainRegistry.proxy.effectNT(data); } else { - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(world.provider.dimensionId, x, y, z, 150)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(world.provider.dimensionId, x, y, z, 150)); } } - + public static void spawnDroneLine(World world, double x, double y, double z, double x0, double y0, double z0, int color) { NBTTagCompound data = new NBTTagCompound(); @@ -42,7 +41,7 @@ public class ParticleUtil { data.setDouble("posZ", z); MainRegistry.proxy.effectNT(data); } else { - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(world.provider.dimensionId, x, y, z, 150)); + PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(world.provider.dimensionId, x, y, z, 150)); } } } diff --git a/src/main/java/com/hbm/util/RTGUtil.java b/src/main/java/com/hbm/util/RTGUtil.java index dfa9ce0b0..3d35e1e8b 100644 --- a/src/main/java/com/hbm/util/RTGUtil.java +++ b/src/main/java/com/hbm/util/RTGUtil.java @@ -3,47 +3,46 @@ package com.hbm.util; import com.hbm.config.VersatileConfig; import com.hbm.interfaces.ICustomWarhead.SaltedFuel.HalfLifeType; import com.hbm.items.machine.ItemRTGPellet; - import net.minecraft.item.ItemStack; public class RTGUtil { - + public static short getPower(ItemRTGPellet fuel, ItemStack stack) { return VersatileConfig.scaleRTGPower() ? ItemRTGPellet.getScaledPower(fuel, stack) : fuel.getHeat(); } - + public static boolean hasHeat(ItemStack[] inventory, int[] rtgSlots) { for(int slot : rtgSlots) { - + if(inventory[slot] == null) continue; - + if(inventory[slot].getItem() instanceof ItemRTGPellet) return true; } - + return false; } - + public static int updateRTGs(ItemStack[] inventory, int[] rtgSlots) { int newHeat = 0; for(int slot : rtgSlots) { - + if(inventory[slot] == null) continue; - + if(!(inventory[slot].getItem() instanceof ItemRTGPellet)) continue; - + final ItemRTGPellet pellet = (ItemRTGPellet) inventory[slot].getItem(); newHeat += getPower(pellet, inventory[slot]); inventory[slot] = ItemRTGPellet.handleDecay(inventory[slot], pellet); } - + return newHeat; - + } - + /** * Gets the lifespan of an RTG based on half-life * @author UFFR diff --git a/src/main/java/com/hbm/util/ShadyUtil.java b/src/main/java/com/hbm/util/ShadyUtil.java index df3fd7f8c..03a2390ab 100644 --- a/src/main/java/com/hbm/util/ShadyUtil.java +++ b/src/main/java/com/hbm/util/ShadyUtil.java @@ -1,5 +1,10 @@ package com.hbm.util; +import com.google.common.collect.Sets; +import com.hbm.config.GeneralConfig; +import com.hbm.main.MainRegistry; +import cpw.mods.fml.relauncher.ReflectionHelper; + import java.lang.reflect.Field; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; @@ -8,12 +13,6 @@ import java.util.HashSet; import java.util.Random; import java.util.Set; -import com.google.common.collect.Sets; -import com.hbm.config.GeneralConfig; -import com.hbm.main.ModEventHandler; - -import cpw.mods.fml.relauncher.ReflectionHelper; - /** * Handles anything regarding hashes, base64 encoding, etc. Shady looking stuff, that is * @author hbm @@ -54,13 +53,13 @@ public class ShadyUtil { public static String Alcater = "0b399a4a-8545-45a1-be3d-ece70d7d48e9"; public static String ege444 = "42ee978c-442a-4cd8-95b6-29e469b6df10"; public static String LePeeperSauvage = "433c2bb7-018c-4d51-acfe-27f907432b5e"; - + public static final Set hashes = new HashSet(); static { hashes.add("41de5c372b0589bbdb80571e87efa95ea9e34b0d74c6005b8eab495b7afd9994"); hashes.add("31da6223a100ed348ceb3254ceab67c9cc102cb2a04ac24de0df3ef3479b1036"); } - + public static final int c = 0x3d; public static String initializer = "Ur bp7mN-@UFZKXBx9N[/>M'k\\7\\9m3b"; public static String signature = "dYPq\\YzrNpfn[ZDxdk7PS2jhTY72cZT7SoH|\\WL3dIznfC"; @@ -68,17 +67,21 @@ public class ShadyUtil { public static String checksum = "dpXt\\Xnr\\Yzm"; public static String testCase = "dYPq\\YzrNm3FUH;P[ZTq"; public static String testValue = "WGm?"; + public static String smTest1 = "hgwS"; + public static String smTest2 = "8Sfw"; + public static String smTest3 = "j11D"; + public static String smTest4 = "s783"; public static Set contributors = Sets.newHashSet(new String[] { "06ab7c03-55ce-43f8-9d3c-2850e3c652de", //mustang_rudolf "5bf069bc-5b46-4179-aafe-35c0a07dee8b", //JMF781 "ccd9aa1c-26b9-4dde-8f37-b96f8d99de22", //kakseao }); - + // simple cryptographic utils public static String encode(String msg) { return Base64.getEncoder().encodeToString(msg.getBytes()); } public static String decode(String msg) { return new String(Base64.getDecoder().decode(msg)); } - + public static String offset(String msg, int o) { byte[] bytes = msg.getBytes(); for(int i = 0; i < bytes.length; i++) { @@ -86,10 +89,10 @@ public class ShadyUtil { } return new String(bytes); } - + /** Encryptor for the h-cat answer strings */ public static String smoosh(String s1, String s2, String s3, String s4) { - + Random rand = new Random(); String s = ""; @@ -97,9 +100,9 @@ public class ShadyUtil { byte[] b2 = s2.getBytes(); byte[] b3 = s3.getBytes(); byte[] b4 = s4.getBytes(); - + if(b1.length == 0 || b2.length == 0 || b3.length == 0 || b4.length == 0) return ""; - + s += s1; rand.setSeed(b1[0]); s += rand.nextInt(0xffffff); @@ -117,7 +120,7 @@ public class ShadyUtil { s += rand.nextInt(0xffffff); return getHash(s); } - + /** Simple SHA256 call */ public static String getHash(String inp) { try { @@ -129,10 +132,13 @@ public class ShadyUtil { } catch(NoSuchAlgorithmException e) { } return ""; } - + public static void test() { if(!GeneralConfig.enableDebugMode) return; //only run in debug mode + //unit test for smooshing + MainRegistry.logger.debug(smoosh(smTest1, smTest2, smTest3, smTest4)); + try { Class test = Class.forName(decode(offset(signature, -2))); Field field = ReflectionHelper.findField(test, decode(offset(checksum, -2))); @@ -140,7 +146,7 @@ public class ShadyUtil { System.out.println("TEST SECTION START"); Class toLoad = Class.forName(decode(offset(testCase, -2))); Field toRead = ReflectionHelper.findField(toLoad, decode(offset(testValue, -2))); - if(new Random(System.currentTimeMillis()).nextInt(4) == 0) ModEventHandler.reference = toRead; + //ModEventHandler.reference = toRead; System.out.println("TEST SECTION END"); } } catch(Throwable e) { } diff --git a/src/main/java/com/hbm/util/StatHelper.java b/src/main/java/com/hbm/util/StatHelper.java index 356d1da0a..116a0d301 100644 --- a/src/main/java/com/hbm/util/StatHelper.java +++ b/src/main/java/com/hbm/util/StatHelper.java @@ -1,8 +1,6 @@ package com.hbm.util; -import java.util.Iterator; -import java.util.Map; - +import com.hbm.interfaces.NotableComments; import cpw.mods.fml.relauncher.ReflectionHelper; import net.minecraft.block.Block; import net.minecraft.init.Blocks; @@ -14,13 +12,17 @@ import net.minecraft.stats.StatCrafting; import net.minecraft.stats.StatList; import net.minecraft.util.ChatComponentTranslation; +import java.util.Iterator; +import java.util.Map; + +@NotableComments public class StatHelper { - + /* * God is dead and we are pissing on his grave */ public static Map publicReferenceToOneshotStatListPleaseAllPointAndLaugh; - + /** * This is probably the worst fucking way of doing this, but it's the only one I could think of that works. * In short: stats are hilariously broken. @@ -29,22 +31,22 @@ public class StatHelper { * the system would break because modded items have dynamic IDs and the stats register fixed IDs instead of item instances. * What did forge do to solve this issue? Well nothing, of course! The injected bits comment on that in vanilla's stat * registering code, but instead of fixing anything it just slaps a fat "TODO" onto it. Wow! Really helpful! - * + * * So what do we do? Every time the world starts and we know the IDs are now correct, we smack that fucker up nice and good. * All ID-bound stats get deep-cleaned out of this mess and registered 1:1 again. Is this terrible and prone to breaking with * mods that do their own stat handling? Hard to say, but the possibility is there. */ public static void resetStatShitFuck() { - + publicReferenceToOneshotStatListPleaseAllPointAndLaugh = ReflectionHelper.getPrivateValue(StatList.class, null, "field_75942_a", "oneShotStats"); - + for(int i = 0; i < StatList.objectCraftStats.length; i++) StatList.objectCraftStats[i] = null; for(int i = 0; i < StatList.mineBlockStatArray.length; i++) StatList.mineBlockStatArray[i] = null; for(int i = 0; i < StatList.objectUseStats.length; i++) StatList.objectUseStats[i] = null; for(int i = 0; i < StatList.objectBreakStats.length; i++) StatList.objectBreakStats[i] = null; StatList.objectMineStats.clear(); StatList.itemStats.clear(); - + try { initCraftItemStats(); initBlockMineStats(); @@ -52,7 +54,7 @@ public class StatHelper { initItemBreakStats(); } catch(Throwable ex) { } // just to be sure } - + /** * For reasons beyond human comprehension, this bit originally only registered items that are the result * of an IRecipe instead of just all items outright like the item usage stats. The logical consequence of this is: @@ -165,12 +167,12 @@ public class StatHelper { stats[i] = stats[j]; } } - + private static StatBase registerStat(StatBase stat) { if(publicReferenceToOneshotStatListPleaseAllPointAndLaugh.containsKey(stat.statId)) { publicReferenceToOneshotStatListPleaseAllPointAndLaugh.remove(stat.statId); } - + StatList.allStats.add(stat); publicReferenceToOneshotStatListPleaseAllPointAndLaugh.put(stat.statId, stat); return stat; diff --git a/src/main/java/com/hbm/util/SubChunkKey.java b/src/main/java/com/hbm/util/SubChunkKey.java new file mode 100644 index 000000000..2e694ab8d --- /dev/null +++ b/src/main/java/com/hbm/util/SubChunkKey.java @@ -0,0 +1,63 @@ +package com.hbm.util; + +import net.minecraft.world.ChunkCoordIntPair; + +/** + * Unique identifier for sub-chunks. + * @author mlbv + */ +public class SubChunkKey { + + private int chunkXPos; + private int chunkZPos; + private int subY; + private int hash; + + public SubChunkKey(int cx, int cz, int sy) { + this.update(cx, cz, sy); + } + + public SubChunkKey(ChunkCoordIntPair pos, int sy) { + this.update(pos.chunkXPos, pos.chunkZPos, sy); + } + + public SubChunkKey update(int cx, int cz, int sy) { + this.chunkXPos = cx; + this.chunkZPos = cz; + this.subY = sy; + int result = subY; + result = 31 * result + cx; + result = 31 * result + cz; + this.hash = result; + return this; + } + + @Override + public final int hashCode() { + return this.hash; + } + + @Override + public final boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof SubChunkKey)) return false; + SubChunkKey k = (SubChunkKey) o; + return this.subY == k.subY && this.chunkXPos == k.chunkXPos && this.chunkZPos == k.chunkZPos; + } + + public int getSubY() { + return subY; + } + + public int getChunkXPos() { + return chunkXPos; + } + + public int getChunkZPos() { + return chunkZPos; + } + + public ChunkCoordIntPair getPos() { + return new ChunkCoordIntPair(this.chunkXPos, this.chunkZPos); + } +} diff --git a/src/main/java/com/hbm/util/SubChunkSnapshot.java b/src/main/java/com/hbm/util/SubChunkSnapshot.java new file mode 100644 index 000000000..6077ca4b4 --- /dev/null +++ b/src/main/java/com/hbm/util/SubChunkSnapshot.java @@ -0,0 +1,102 @@ +package com.hbm.util; + +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; +import net.minecraft.world.chunk.Chunk; +import net.minecraft.world.chunk.storage.ExtendedBlockStorage; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * A snapshot of a 16×16×16 sub-chunk. + * @author mlbv + */ +public class SubChunkSnapshot { + /** + * A sub-chunk that contains only air. + */ + public static final SubChunkSnapshot EMPTY = new SubChunkSnapshot(new Block[]{Blocks.air}, null); + private final Block[] palette; + private final short[] data; + + private SubChunkSnapshot(Block[] p, short[] d) { + this.palette = p; + this.data = d; + } + + /** + * Creates a SubChunkSnapshot. + * + * @param world + * The World instance from which to retrieve the chunk. + * @param key + * The SubChunkKey identifying the sub-chunk. + * @param allowGeneration + * Whether to generate chunks. If false, attempting to retrieve a snapshot of a chunk that does not exist will return {@link SubChunkSnapshot#EMPTY}. + * @return + * A SubChunkSnapshot containing the palette and block data for the sub-chunk, + * or {@link SubChunkSnapshot#EMPTY} if the region contains only air. + */ + public static SubChunkSnapshot getSnapshot(World world, SubChunkKey key, boolean allowGeneration){ + if (!world.getChunkProvider().chunkExists(key.getChunkXPos(), key.getChunkZPos()) && !allowGeneration) { + return SubChunkSnapshot.EMPTY; + } + Chunk chunk = world.getChunkProvider().provideChunk(key.getChunkXPos(), key.getChunkZPos()); + ExtendedBlockStorage ebs = chunk.getBlockStorageArray()[key.getSubY()]; + if (ebs == null || ebs.isEmpty()) return SubChunkSnapshot.EMPTY; + + short[] data = new short[16 * 16 * 16]; + List palette = new ArrayList<>(); + palette.add(Blocks.air); + Map idxMap = new HashMap<>(); + idxMap.put(Blocks.air, (short) 0); + boolean allAir = true; + + for (int ly = 0; ly < 16; ly++) { + for (int lz = 0; lz < 16; lz++) { + for (int lx = 0; lx < 16; lx++) { + Block block = ebs.getBlockByExtId(lx, ly, lz); + int idx; + if (block == Blocks.air) { + idx = 0; + } else { + allAir = false; + Short e = idxMap.get(block); + if (e == null) { + idxMap.put(block, (short) palette.size()); + palette.add(block); + idx = palette.size() - 1; + } else { + idx = e; + } + } + data[(ly << 8) | (lz << 4) | lx] = (short) idx; + } + } + } + if (allAir) return SubChunkSnapshot.EMPTY; + return new SubChunkSnapshot(palette.toArray(new Block[0]), data); + } + + /** + * Retrieves the Block at the specified local coordinates within this sub-chunk snapshot. + * + * @param x + * The local x-coordinate within the sub-chunk (0–15). + * @param y + * The local y-coordinate within the sub-chunk (0–15). + * @param z + * The local z-coordinate within the sub-chunk (0–15). + * @return + * The Block instance at the given position. + */ + public Block getBlock(int x, int y, int z) { + if (this == EMPTY || data == null) return Blocks.air; + short idx = data[(y << 8) | (z << 4) | x]; + return (idx >= 0 && idx < palette.length) ? palette[idx] : Blocks.air; + } +} diff --git a/src/main/java/com/hbm/util/TimeAnalyzer.java b/src/main/java/com/hbm/util/TimeAnalyzer.java index ec856e301..8bbfba1d1 100644 --- a/src/main/java/com/hbm/util/TimeAnalyzer.java +++ b/src/main/java/com/hbm/util/TimeAnalyzer.java @@ -1,13 +1,13 @@ package com.hbm.util; +import com.hbm.util.Tuple.Pair; + import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map.Entry; -import com.hbm.util.Tuple.Pair; - /** A more lightweight, punctual version of the dreadfully slow vanilla profiler. */ public class TimeAnalyzer { @@ -15,34 +15,34 @@ public class TimeAnalyzer { private static List> deltas = new ArrayList(); private static String currentSection = ""; private static long sectionStartTime = 0; - + public static void startCount(String section) { currentSection = section; sectionStartTime = System.nanoTime(); } - + public static void endCount() { long delta = System.nanoTime() - sectionStartTime; deltas.add(new Pair(currentSection, delta)); } - + public static void startEndCount(String section) { endCount(); startCount(section); } - + public static void dump() { HashMap milliTime = new HashMap(); - + for(Pair delta : deltas) { Long total = milliTime.get(delta.getKey()); if(total == null) total = new Long(0); total += delta.getValue(); milliTime.put(delta.getKey(), total); } - + long total = 0; - + for(Entry entry : milliTime.entrySet()) { total += entry.getValue(); String time = String.format(Locale.US, "%,d", entry.getValue()); @@ -50,7 +50,7 @@ public class TimeAnalyzer { } System.out.println("Total time passed: " + String.format(Locale.US, "%,d", total) + "ns (" + (total / 1_000_000_000) + "s)"); - + currentSection = ""; sectionStartTime = 0; deltas.clear(); diff --git a/src/main/java/com/hbm/util/TrackerUtil.java b/src/main/java/com/hbm/util/TrackerUtil.java index 5990c8b21..5b9b7289f 100644 --- a/src/main/java/com/hbm/util/TrackerUtil.java +++ b/src/main/java/com/hbm/util/TrackerUtil.java @@ -1,5 +1,6 @@ package com.hbm.util; +import com.hbm.interfaces.NotableComments; import cpw.mods.fml.relauncher.ReflectionHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityTracker; @@ -12,9 +13,10 @@ import net.minecraft.world.WorldServer; /** * This absolute fucking mess of a class is the direct consequence of mojank's terrible entity tracker that allows for 0 flexibility with how entities are synced. - * + * * @author hbm */ +@NotableComments public class TrackerUtil { /** Grabs the tracker entry from the given entity */ @@ -24,10 +26,10 @@ public class TrackerUtil { EntityTrackerEntry entry = (EntityTrackerEntry) map.lookup(entityId); return entry; } - + /** Force-teleports the given entity using the tracker, resetting the tick count to 0 to prevent movement during this tick */ public static void sendTeleport(World world, Entity e) { - + if(world instanceof WorldServer) { WorldServer server = (WorldServer) world; EntityTrackerEntry entry = getTrackerEntry(server, e.getEntityId()); @@ -41,9 +43,9 @@ public class TrackerUtil { entry.ticks = 0; } } - + public static void setTrackingRange(World world, Entity e, int range) { - + if(world instanceof WorldServer) { WorldServer server = (WorldServer) world; EntityTrackerEntry entry = getTrackerEntry(server, e.getEntityId()); diff --git a/src/main/java/com/hbm/util/Tuple.java b/src/main/java/com/hbm/util/Tuple.java index cd69db973..f2276386e 100644 --- a/src/main/java/com/hbm/util/Tuple.java +++ b/src/main/java/com/hbm/util/Tuple.java @@ -30,7 +30,7 @@ public class Tuple { @Override public int hashCode() { - final int prime = 31; + final int prime = 27644437; int result = 1; result = prime * result + ((key == null) ? 0 : key.hashCode()); result = prime * result + ((value == null) ? 0 : value.hashCode()); @@ -86,7 +86,7 @@ public class Tuple { @Override public int hashCode() { - final int prime = 31; + final int prime = 27644437; int result = 1; result = prime * result + ((x == null) ? 0 : x.hashCode()); result = prime * result + ((y == null) ? 0 : y.hashCode()); @@ -126,7 +126,7 @@ public class Tuple { @Override public int hashCode() { - final int prime = 31; + final int prime = 27644437; int result = 1; result = prime * result + ((w == null) ? 0 : w.hashCode()); result = prime * result + ((x == null) ? 0 : x.hashCode()); @@ -200,7 +200,7 @@ public class Tuple { @Override public int hashCode() { - final int prime = 31; + final int prime = 27644437; int result = 1; result = prime * result + ((v == null) ? 0 : v.hashCode()); result = prime * result + ((w == null) ? 0 : w.hashCode()); diff --git a/src/main/java/com/hbm/util/Vec3NT.java b/src/main/java/com/hbm/util/Vec3NT.java new file mode 100644 index 000000000..1e6cb1294 --- /dev/null +++ b/src/main/java/com/hbm/util/Vec3NT.java @@ -0,0 +1,142 @@ +package com.hbm.util; + +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; + +public class Vec3NT extends Vec3 { + + public Vec3NT(double x, double y, double z) { + super(x, y, z); + } + + public Vec3NT(Vec3 vec) { + super(vec.xCoord, vec.yCoord, vec.zCoord); + } + + public Vec3NT normalizeSelf() { + double len = MathHelper.sqrt_double(this.xCoord * this.xCoord + this.yCoord * this.yCoord + this.zCoord * this.zCoord); + if(len < 1.0E-4D) { + return multiply(0D); + } else { + return multiply(1D / len); + } + } + + public Vec3NT add(double x, double y, double z) { + this.xCoord += x; + this.yCoord += y; + this.zCoord += z; + return this; + } + + public Vec3NT add(Vec3 vec) { + this.xCoord += vec.xCoord; + this.yCoord += vec.yCoord; + this.zCoord += vec.zCoord; + return this; + } + + public Vec3NT multiply(double m) { + this.xCoord *= m; + this.yCoord *= m; + this.zCoord *= m; + return this; + } + + public Vec3NT multiply(double x, double y, double z) { + this.xCoord *= x; + this.yCoord *= y; + this.zCoord *= z; + return this; + } + + public double distanceTo(double x, double y, double z) { + double dX = x - this.xCoord; + double dY = y - this.yCoord; + double dZ = z - this.zCoord; + return Math.sqrt(dX * dX + dY * dY + dZ * dZ); + } + + @Override + public Vec3NT setComponents(double x, double y, double z) { + this.xCoord = x; + this.yCoord = y; + this.zCoord = z; + return this; + } + + public Vec3NT rotateAroundXRad(double alpha) { + double cos = Math.cos(alpha); + double sin = Math.sin(alpha); + double x = this.xCoord; + double y = this.yCoord * cos + this.zCoord * sin; + double z = this.zCoord * cos - this.yCoord * sin; + return this.setComponents(x, y, z); + } + + public Vec3NT rotateAroundYRad(double alpha) { + double cos = Math.cos(alpha); + double sin = Math.sin(alpha); + double x = this.xCoord * cos + this.zCoord * sin; + double y = this.yCoord; + double z = this.zCoord * cos - this.xCoord * sin; + return this.setComponents(x, y, z); + } + + public Vec3NT rotateAroundZRad(double alpha) { + double cos = Math.cos(alpha); + double sin = Math.sin(alpha); + double x = this.xCoord * cos + this.yCoord * sin; + double y = this.yCoord * cos - this.xCoord * sin; + double z = this.zCoord; + return this.setComponents(x, y, z); + } + + public Vec3NT rotateAroundXDeg(double alpha) { + return this.rotateAroundXRad(alpha / 180D * Math.PI); + } + + public Vec3NT rotateAroundYDeg(double alpha) { + return this.rotateAroundYRad(alpha / 180D * Math.PI); + } + + public Vec3NT rotateAroundZDeg(double alpha) { + return this.rotateAroundZRad(alpha / 180D * Math.PI); + } + + public static double getMinX(Vec3NT... vecs) { + double min = Double.POSITIVE_INFINITY; + for(Vec3NT vec : vecs) if(vec.xCoord < min) min = vec.xCoord; + return min; + } + + public static double getMinY(Vec3NT... vecs) { + double min = Double.POSITIVE_INFINITY; + for(Vec3NT vec : vecs) if(vec.yCoord < min) min = vec.yCoord; + return min; + } + + public static double getMinZ(Vec3NT... vecs) { + double min = Double.POSITIVE_INFINITY; + for(Vec3NT vec : vecs) if(vec.zCoord < min) min = vec.zCoord; + return min; + } + + public static double getMaxX(Vec3NT... vecs) { + double max = Double.NEGATIVE_INFINITY; + for(Vec3NT vec : vecs) if(vec.xCoord > max) max = vec.xCoord; + return max; + } + + public static double getMaxY(Vec3NT... vecs) { + double max = Double.NEGATIVE_INFINITY; + for(Vec3NT vec : vecs) if(vec.yCoord > max) max = vec.yCoord; + return max; + } + + public static double getMaxZ(Vec3NT... vecs) { + double max = Double.NEGATIVE_INFINITY; + for(Vec3NT vec : vecs) if(vec.zCoord > max) max = vec.zCoord; + return max; + } +} diff --git a/src/main/java/com/hbm/util/fauxpointtwelve/BlockPos.java b/src/main/java/com/hbm/util/fauxpointtwelve/BlockPos.java index 90d897693..dfa363925 100644 --- a/src/main/java/com/hbm/util/fauxpointtwelve/BlockPos.java +++ b/src/main/java/com/hbm/util/fauxpointtwelve/BlockPos.java @@ -36,6 +36,10 @@ public class BlockPos implements Cloneable { return this; } + public boolean compare(int x, int y, int z) { + return this.x == x && this.y == y && this.z == z; + } + public BlockPos add(int x, int y, int z) { return x == 0 && y == 0 && z == 0 ? this : new BlockPos(this.getX() + x, this.getY() + y, this.getZ() + z); } @@ -81,7 +85,11 @@ public class BlockPos implements Cloneable { /** modified 1.12 vanilla implementation */ @Override public int hashCode() { - return (this.getY() + this.getZ() * 27644437) * 27644437 + this.getX(); + return getIdentity(this.getX(), this.getY(), this.getZ()); + } + + public static int getIdentity(int x, int y, int z) { + return (y + z * 27644437) * 27644437 + x; } @Override diff --git a/src/main/java/com/hbm/util/fauxpointtwelve/Rotation.java b/src/main/java/com/hbm/util/fauxpointtwelve/Rotation.java index 7bbfa95a9..6b85cae68 100644 --- a/src/main/java/com/hbm/util/fauxpointtwelve/Rotation.java +++ b/src/main/java/com/hbm/util/fauxpointtwelve/Rotation.java @@ -1,7 +1,6 @@ package com.hbm.util.fauxpointtwelve; import com.hbm.interfaces.Spaghetti; - import net.minecraftforge.common.util.ForgeDirection; public enum Rotation { @@ -43,7 +42,7 @@ public enum Rotation { default: return this; } } - + /** * Adjusted code from NTM 1.12 (com.hbm.lib.ForgeDirection) * @param dir diff --git a/src/main/java/com/hbm/util/function/Function.java b/src/main/java/com/hbm/util/function/Function.java index 9dd32272c..a3b8162cc 100644 --- a/src/main/java/com/hbm/util/function/Function.java +++ b/src/main/java/com/hbm/util/function/Function.java @@ -1,19 +1,18 @@ package com.hbm.util.function; -import java.util.Locale; - import com.hbm.util.BobMathUtil; - import net.minecraft.util.EnumChatFormatting; +import java.util.Locale; + /** * A simple class for defining function types (linear, log, sqrt, etc.) for things like fuel reactivity. * Unlike current RBMK functions, constants used in the calculations have been removed - * + * * @author hbm */ public abstract class Function { - + protected double div = 1D; protected double off = 0; @@ -21,10 +20,10 @@ public abstract class Function { public abstract double effonix(double x); public abstract String getLabelForFuel(); public abstract String getDangerFromFuel(); - + public Function withDiv(double div) { this.div = div; return this; }; public Function withOff(double off) { this.off = off; return this; }; - + public double getX(double x) { return x / div + off; } public String getXName() { return getXName(true); } public String getXName(boolean brackets) { @@ -35,52 +34,52 @@ public abstract class Function { if(mod && brackets) x = "(" + x + ")"; return x; } - + public static abstract class FunctionSingleArg extends Function { protected double level; public FunctionSingleArg(double level) { this.level = level; } } - + public static abstract class FunctionDoubleArg extends Function { protected double level, vOff; public FunctionDoubleArg(double level, double vOff) { this.level = level; this.vOff = vOff; } } - + public static class FunctionLogarithmic extends FunctionSingleArg { public FunctionLogarithmic(double level) { super(level); this.withOff(1D); } @Override public double effonix(double x) { return Math.log10(getX(x)) * level; } @Override public String getLabelForFuel() { return "log10(" + getXName(false) + ") * " + String.format(Locale.US, "%,.1f", this.level); } @Override public String getDangerFromFuel() { return EnumChatFormatting.YELLOW + "MEDIUM / LOGARITHMIC"; } } - + public static class FunctionPassive extends FunctionSingleArg { public FunctionPassive(double level) { super(level); } @Override public double effonix(double x) { return this.level; } @Override public String getLabelForFuel() { return "" + String.format(Locale.US, "%,.1f", this.level); } @Override public String getDangerFromFuel() { return EnumChatFormatting.DARK_GREEN + "SAFE / PASSIVE"; } } - + public static class FunctionSqrt extends FunctionSingleArg { public FunctionSqrt(double level) { super(level); } @Override public double effonix(double x) { return BobMathUtil.squirt(getX(x)) * this.level; } @Override public String getLabelForFuel() { return "sqrt(" + getXName(false) + ") * " + String.format(Locale.US, "%,.3f", this.level); } //not entirely correct but good enough @Override public String getDangerFromFuel() { return EnumChatFormatting.YELLOW + "MEDIUM / SQUARE ROOT"; } } - + public static class FunctionSqrtFalling extends FunctionSqrt { public FunctionSqrtFalling(double fallFactor) { super(1D / fallFactor); this.withOff(fallFactor * fallFactor); } } - + public static class FunctionLinear extends FunctionSingleArg { public FunctionLinear(double level) { super(level); } @Override public double effonix(double x) { return getX(x) * this.level; } @Override public String getLabelForFuel() { return getXName(true) + " * " + String.format(Locale.US, "%,.1f", this.level); } @Override public String getDangerFromFuel() { return EnumChatFormatting.RED + "DANGEROUS / LINEAR"; } } - + public static class FunctionQuadratic extends FunctionDoubleArg { public FunctionQuadratic(double level) { super(level, 0D); } public FunctionQuadratic(double level, double vOff) { super(level, vOff); } diff --git a/src/main/java/com/hbm/util/i18n/I18nClient.java b/src/main/java/com/hbm/util/i18n/I18nClient.java new file mode 100644 index 000000000..bd444196c --- /dev/null +++ b/src/main/java/com/hbm/util/i18n/I18nClient.java @@ -0,0 +1,73 @@ +package com.hbm.util.i18n; + +import java.util.ArrayList; +import java.util.List; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.resources.I18n; + +@SideOnly(Side.CLIENT) +public class I18nClient implements ITranslate { + + @Override + @SideOnly(Side.CLIENT) + public String resolveKey(String s, Object... args) { + return I18n.format(s, args); + } + + @Override + @SideOnly(Side.CLIENT) + public String[] resolveKeyArray(String s, Object... args) { + return resolveKey(s, args).split("\\$"); + } + + @Override + @SideOnly(Side.CLIENT) + public List autoBreakWithParagraphs(Object fontRenderer, String text, int width) { + + String[] paragraphs = text.split("\\$"); + List lines = new ArrayList(); + + for(String paragraph : paragraphs) { + lines.addAll(autoBreak(fontRenderer, paragraph, width)); + } + + return lines; + } + + @Override + @SideOnly(Side.CLIENT) + public List autoBreak(Object o, String text, int width) { + + FontRenderer fontRenderer = (FontRenderer) o; + List lines = new ArrayList(); + //split the text by all spaces + String[] words = text.split(" "); + + //add the first word to the first line, no matter what + lines.add(words[0]); + //starting indent is the width of the first word + int indent = fontRenderer.getStringWidth(words[0]); + + for(int w = 1; w < words.length; w++) { + + //increment the indent by the width of the next word + leading space + indent += fontRenderer.getStringWidth(" " + words[w]); + + //if the indent is within bounds + if(indent <= width) { + //add the next word to the last line (i.e. the one in question) + String last = lines.get(lines.size() - 1); + lines.set(lines.size() - 1, last += (" " + words[w])); + } else { + //otherwise, start a new line and reset the indent + lines.add(words[w]); + indent = fontRenderer.getStringWidth(words[w]); + } + } + + return lines; + } +} diff --git a/src/main/java/com/hbm/util/i18n/I18nServer.java b/src/main/java/com/hbm/util/i18n/I18nServer.java new file mode 100644 index 000000000..9840354a1 --- /dev/null +++ b/src/main/java/com/hbm/util/i18n/I18nServer.java @@ -0,0 +1,33 @@ +package com.hbm.util.i18n; + +import java.util.ArrayList; +import java.util.List; + +public class I18nServer implements ITranslate { + + public static String SARCASTIC_MESSAGE = "I18N CALL SERVERSIDE - GREAT JOB"; + + @Override + public String resolveKey(String s, Object... args) { + return SARCASTIC_MESSAGE; + } + + @Override + public String[] resolveKeyArray(String s, Object... args) { + return new String[] { SARCASTIC_MESSAGE }; + } + + @Override + public List autoBreakWithParagraphs(Object fontRenderer, String text, int width) { + List list = new ArrayList(); + list.add(SARCASTIC_MESSAGE); + return list; + } + + @Override + public List autoBreak(Object fontRenderer, String text, int width) { + List list = new ArrayList(); + list.add(SARCASTIC_MESSAGE); + return list; + } +} diff --git a/src/main/java/com/hbm/util/i18n/I18nUtil.java b/src/main/java/com/hbm/util/i18n/I18nUtil.java new file mode 100644 index 000000000..92bd9e769 --- /dev/null +++ b/src/main/java/com/hbm/util/i18n/I18nUtil.java @@ -0,0 +1,50 @@ +package com.hbm.util.i18n; + +import java.util.List; + +import com.hbm.main.MainRegistry; + +public class I18nUtil { + + + /** + * Simple wrapper for I18n, for consistency + * @param s + * @param args + * @return + */ + public static String resolveKey(String s, Object... args) { return MainRegistry.proxy.getI18n().resolveKey(s, args); } + public static String format(String s, Object... args) { return MainRegistry.proxy.getI18n().resolveKey(s, args); } //alias + + /** + * Wrapper for I18n but cuts up the result using NTM's line break character ($) + * @param s + * @param args + * @return + */ + public static String[] resolveKeyArray(String s, Object... args) { + return MainRegistry.proxy.getI18n().resolveKeyArray(s, args); + } + + /** + * The same as autoBreak, but it also respects NTM's break character ($) for manual line breaking in addition to the automatic ones + * @param fontRenderer + * @param text + * @param width + * @return + */ + public static List autoBreakWithParagraphs(Object fontRenderer, String text, int width) { + return MainRegistry.proxy.getI18n().autoBreakWithParagraphs(fontRenderer, text, width); + } + + /** + * Turns one string into a list of strings, cutting sentences up to fit within the defined width if they were rendered in a GUI + * @param fontRenderer + * @param text + * @param width + * @return + */ + public static List autoBreak(Object fontRenderer, String text, int width) { + return MainRegistry.proxy.getI18n().autoBreak(fontRenderer, text, width); + } +} diff --git a/src/main/java/com/hbm/util/i18n/ITranslate.java b/src/main/java/com/hbm/util/i18n/ITranslate.java new file mode 100644 index 000000000..d1b2eec22 --- /dev/null +++ b/src/main/java/com/hbm/util/i18n/ITranslate.java @@ -0,0 +1,34 @@ +package com.hbm.util.i18n; + +import java.util.List; + +public interface ITranslate { + + public String resolveKey(String s, Object... args); + + /** + * Wrapper for I18n but cuts up the result using NTM's line break character ($) + * @param s + * @param args + * @return + */ + public String[] resolveKeyArray(String s, Object... args); + + /** + * The same as autoBreak, but it also respects NTM's break character ($) for manual line breaking in addition to the automatic ones + * @param fontRenderer + * @param text + * @param width + * @return + */ + public List autoBreakWithParagraphs(Object fontRenderer, String text, int width); + + /** + * Turns one string into a list of strings, cutting sentences up to fit within the defined width if they were rendered in a GUI + * @param fontRenderer + * @param text + * @param width + * @return + */ + public List autoBreak(Object fontRenderer, String text, int width); +} diff --git a/src/main/java/com/hbm/wiaj/GuiWorldInAJar.java b/src/main/java/com/hbm/wiaj/GuiWorldInAJar.java index 4236c83ee..8ad557e97 100644 --- a/src/main/java/com/hbm/wiaj/GuiWorldInAJar.java +++ b/src/main/java/com/hbm/wiaj/GuiWorldInAJar.java @@ -10,7 +10,7 @@ import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; import com.hbm.lib.RefStrings; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import com.hbm.wiaj.actors.ActorFancyPanel; import com.hbm.wiaj.actors.ISpecialActor; import com.hbm.wiaj.actors.ActorFancyPanel.Orientation; @@ -216,6 +216,7 @@ public class GuiWorldInAJar extends GuiScreen { if(15 <= mouseX && 39 > mouseX && 15 + 36 * (i + 1) < mouseY && 39 + 36 * (i + 1) >= mouseY) { CanneryBase cannery = seeAlso[i]; mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + Minecraft.getMinecraft().thePlayer.closeScreen(); FMLCommonHandler.instance().showGuiScreen(new GuiWorldInAJar(cannery.createScript(), cannery.getName(), cannery.getIcon(), cannery.seeAlso())); return; } diff --git a/src/main/java/com/hbm/wiaj/actors/ActorFancyPanel.java b/src/main/java/com/hbm/wiaj/actors/ActorFancyPanel.java index f40436d6c..4fea246da 100644 --- a/src/main/java/com/hbm/wiaj/actors/ActorFancyPanel.java +++ b/src/main/java/com/hbm/wiaj/actors/ActorFancyPanel.java @@ -7,7 +7,7 @@ import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; import com.hbm.lib.RefStrings; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import com.hbm.wiaj.JarScene; import com.hbm.wiaj.WorldInAJar; diff --git a/src/main/java/com/hbm/wiaj/actors/ActorVillager.java b/src/main/java/com/hbm/wiaj/actors/ActorVillager.java index 9eabd8e67..58e8e8dc3 100644 --- a/src/main/java/com/hbm/wiaj/actors/ActorVillager.java +++ b/src/main/java/com/hbm/wiaj/actors/ActorVillager.java @@ -1,22 +1,20 @@ package com.hbm.wiaj.actors; -import org.lwjgl.opengl.GL11; - import com.hbm.wiaj.JarScene; import com.hbm.wiaj.WorldInAJar; - import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.entity.passive.EntityVillager; import net.minecraft.nbt.NBTTagCompound; +import org.lwjgl.opengl.GL11; public class ActorVillager implements ISpecialActor { - + EntityVillager villager = new EntityVillager(Minecraft.getMinecraft().theWorld); NBTTagCompound data = new NBTTagCompound(); - + public ActorVillager() { } - + public ActorVillager(NBTTagCompound data) { this.data = data; } @@ -43,11 +41,11 @@ public class ActorVillager implements ISpecialActor { @Override public void setActorData(NBTTagCompound data) { - + } @Override public void setDataPoint(String tag, Object o) { - + } } diff --git a/src/main/java/com/hbm/wiaj/cannery/CanneryCentrifuge.java b/src/main/java/com/hbm/wiaj/cannery/CanneryCentrifuge.java index fffdfadca..6a2074b20 100644 --- a/src/main/java/com/hbm/wiaj/cannery/CanneryCentrifuge.java +++ b/src/main/java/com/hbm/wiaj/cannery/CanneryCentrifuge.java @@ -7,7 +7,7 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; import com.hbm.main.ResourceManager; import com.hbm.tileentity.network.TileEntityPipeBaseNT; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import com.hbm.wiaj.JarScene; import com.hbm.wiaj.JarScript; import com.hbm.wiaj.WorldInAJar; diff --git a/src/main/java/com/hbm/wiaj/cannery/CanneryCrucible.java b/src/main/java/com/hbm/wiaj/cannery/CanneryCrucible.java index 0e0b7f5ca..b4de49265 100644 --- a/src/main/java/com/hbm/wiaj/cannery/CanneryCrucible.java +++ b/src/main/java/com/hbm/wiaj/cannery/CanneryCrucible.java @@ -10,7 +10,7 @@ import com.hbm.render.tileentity.RenderCrucible; import com.hbm.render.tileentity.RenderFoundry; import com.hbm.tileentity.machine.TileEntityCrucible; import com.hbm.tileentity.machine.TileEntityFoundryBasin; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import com.hbm.wiaj.JarScene; import com.hbm.wiaj.JarScript; import com.hbm.wiaj.WorldInAJar; diff --git a/src/main/java/com/hbm/wiaj/cannery/CanneryFEnSU.java b/src/main/java/com/hbm/wiaj/cannery/CanneryFEnSU.java index dcd1e22ee..57136b8de 100644 --- a/src/main/java/com/hbm/wiaj/cannery/CanneryFEnSU.java +++ b/src/main/java/com/hbm/wiaj/cannery/CanneryFEnSU.java @@ -2,7 +2,7 @@ package com.hbm.wiaj.cannery; import com.hbm.blocks.ModBlocks; import com.hbm.render.tileentity.RenderFENSU; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import com.hbm.wiaj.JarScene; import com.hbm.wiaj.JarScript; import com.hbm.wiaj.WorldInAJar; diff --git a/src/main/java/com/hbm/wiaj/cannery/CanneryFirebox.java b/src/main/java/com/hbm/wiaj/cannery/CanneryFirebox.java index 1cde66431..2cbaae53a 100644 --- a/src/main/java/com/hbm/wiaj/cannery/CanneryFirebox.java +++ b/src/main/java/com/hbm/wiaj/cannery/CanneryFirebox.java @@ -6,7 +6,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; import com.hbm.main.ResourceManager; import com.hbm.render.tileentity.RenderStirling; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import com.hbm.wiaj.JarScene; import com.hbm.wiaj.JarScript; import com.hbm.wiaj.WorldInAJar; diff --git a/src/main/java/com/hbm/wiaj/cannery/CanneryFoundryChannel.java b/src/main/java/com/hbm/wiaj/cannery/CanneryFoundryChannel.java index 29c8a3462..3392bff72 100644 --- a/src/main/java/com/hbm/wiaj/cannery/CanneryFoundryChannel.java +++ b/src/main/java/com/hbm/wiaj/cannery/CanneryFoundryChannel.java @@ -12,7 +12,7 @@ import com.hbm.tileentity.machine.TileEntityFoundryChannel; import com.hbm.tileentity.machine.TileEntityFoundryMold; import com.hbm.tileentity.machine.TileEntityFoundryOutlet; import com.hbm.tileentity.machine.TileEntityFoundryTank; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import com.hbm.wiaj.JarScene; import com.hbm.wiaj.JarScript; import com.hbm.wiaj.WorldInAJar; diff --git a/src/main/java/com/hbm/wiaj/cannery/CanneryHadron.java b/src/main/java/com/hbm/wiaj/cannery/CanneryHadron.java index 90089afc6..38438a9bc 100644 --- a/src/main/java/com/hbm/wiaj/cannery/CanneryHadron.java +++ b/src/main/java/com/hbm/wiaj/cannery/CanneryHadron.java @@ -1,7 +1,7 @@ package com.hbm.wiaj.cannery; import com.hbm.blocks.ModBlocks; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import com.hbm.wiaj.JarScene; import com.hbm.wiaj.JarScript; import com.hbm.wiaj.WorldInAJar; diff --git a/src/main/java/com/hbm/wiaj/cannery/CannerySILEX.java b/src/main/java/com/hbm/wiaj/cannery/CannerySILEX.java index 5d6900f75..1595527d5 100644 --- a/src/main/java/com/hbm/wiaj/cannery/CannerySILEX.java +++ b/src/main/java/com/hbm/wiaj/cannery/CannerySILEX.java @@ -13,7 +13,7 @@ import com.hbm.render.util.BeamPronter; import com.hbm.render.util.BeamPronter.EnumBeamType; import com.hbm.render.util.BeamPronter.EnumWaveType; import com.hbm.tileentity.network.TileEntityPipeBaseNT; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import com.hbm.wiaj.JarScene; import com.hbm.wiaj.JarScript; import com.hbm.wiaj.WorldInAJar; diff --git a/src/main/java/com/hbm/wiaj/cannery/CannerySchottky.java b/src/main/java/com/hbm/wiaj/cannery/CannerySchottky.java index e7d956e53..caaabcac2 100644 --- a/src/main/java/com/hbm/wiaj/cannery/CannerySchottky.java +++ b/src/main/java/com/hbm/wiaj/cannery/CannerySchottky.java @@ -3,7 +3,7 @@ package com.hbm.wiaj.cannery; import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; import com.hbm.tileentity.machine.TileEntityHadronDiode; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import com.hbm.wiaj.JarScene; import com.hbm.wiaj.JarScript; import com.hbm.wiaj.WorldInAJar; diff --git a/src/main/java/com/hbm/wiaj/cannery/CanneryStirling.java b/src/main/java/com/hbm/wiaj/cannery/CanneryStirling.java index ea5eb2520..e7ee9b4a3 100644 --- a/src/main/java/com/hbm/wiaj/cannery/CanneryStirling.java +++ b/src/main/java/com/hbm/wiaj/cannery/CanneryStirling.java @@ -5,7 +5,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.blocks.ModBlocks; import com.hbm.main.ResourceManager; import com.hbm.render.tileentity.RenderStirling; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import com.hbm.wiaj.JarScene; import com.hbm.wiaj.JarScript; import com.hbm.wiaj.WorldInAJar; diff --git a/src/main/java/com/hbm/wiaj/cannery/CanneryWillow.java b/src/main/java/com/hbm/wiaj/cannery/CanneryWillow.java index 11c9c4b6e..b14d84796 100644 --- a/src/main/java/com/hbm/wiaj/cannery/CanneryWillow.java +++ b/src/main/java/com/hbm/wiaj/cannery/CanneryWillow.java @@ -6,7 +6,7 @@ import com.hbm.blocks.generic.BlockTallPlant.EnumTallFlower; import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.items.ModItems; import com.hbm.items.ItemEnums.EnumPlantType; -import com.hbm.util.I18nUtil; +import com.hbm.util.i18n.I18nUtil; import com.hbm.wiaj.JarScene; import com.hbm.wiaj.JarScript; import com.hbm.wiaj.WorldInAJar; diff --git a/src/main/java/com/hbm/wiaj/cannery/Dummies.java b/src/main/java/com/hbm/wiaj/cannery/Dummies.java index cf9e23347..839373ddf 100644 --- a/src/main/java/com/hbm/wiaj/cannery/Dummies.java +++ b/src/main/java/com/hbm/wiaj/cannery/Dummies.java @@ -1,17 +1,10 @@ package com.hbm.wiaj.cannery; -import com.hbm.inventory.fluid.FluidType; - import api.hbm.energymk2.IEnergyConnectorMK2; -import api.hbm.fluid.IFluidConnector; +import api.hbm.fluidmk2.IFluidConnectorMK2; import net.minecraft.tileentity.TileEntity; public class Dummies { - public static class JarDummyConnector extends TileEntity implements IEnergyConnectorMK2, IFluidConnector { - - @Override public boolean isLoaded() { return false; } - @Override public long transferFluid(FluidType type, int pressure, long fluid) { return 0; } - @Override public long getDemand(FluidType type, int pressure) { return 0; } - } + public static class JarDummyConnector extends TileEntity implements IEnergyConnectorMK2, IFluidConnectorMK2 { } } diff --git a/src/main/java/com/hbm/world/WorldUtil.java b/src/main/java/com/hbm/world/WorldUtil.java index b06cf9d86..9a17a73cb 100644 --- a/src/main/java/com/hbm/world/WorldUtil.java +++ b/src/main/java/com/hbm/world/WorldUtil.java @@ -1,7 +1,13 @@ package com.hbm.world; -import com.hbm.packet.BiomeSyncPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.BiomeSyncPacket; +import com.hbm.util.Compat; + +import java.lang.invoke.MethodHandle; +import java.lang.invoke.MethodHandles; +import java.lang.invoke.MethodType; +import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.entity.Entity; import net.minecraft.util.MathHelper; @@ -18,21 +24,51 @@ import net.minecraftforge.event.entity.EntityJoinWorldEvent; public class WorldUtil { + private static final MethodHandle getBiomeShortHandle; + + static { + if(Loader.isModLoaded(Compat.MOD_EIDS)) { + try { + MethodHandles.Lookup lookup = MethodHandles.publicLookup(); + MethodType methodType = MethodType.methodType(short[].class); + getBiomeShortHandle = lookup.findVirtual(Chunk.class, "getBiomeShortArray", methodType); + } catch(Exception e) { + throw new AssertionError(); + } + } else { + getBiomeShortHandle = null; + } + } + public static void setBiome(World world, int x, int z, BiomeGenBase biome) { Chunk chunk = world.getChunkFromBlockCoords(x, z); - chunk.getBiomeArray()[(z & 15) << 4 | (x & 15)] = (byte)(biome.biomeID & 255); + if(Loader.isModLoaded(Compat.MOD_EIDS)) { + short[] array = getBiomeShortArray(chunk); + array[(z & 15) << 4 | x & 15] = (short) biome.biomeID; + } else { + chunk.getBiomeArray()[(z & 15) << 4 | (x & 15)] = (byte)(biome.biomeID & 255); + } chunk.isModified = true; } public static void syncBiomeChange(World world, int x, int z) { Chunk chunk = world.getChunkFromBlockCoords(x, z); - PacketDispatcher.wrapper.sendToAllAround(new BiomeSyncPacket(x >> 4, z >> 4, chunk.getBiomeArray()), new TargetPoint(world.provider.dimensionId, x, 128, z, 1024D)); + if(Loader.isModLoaded(Compat.MOD_EIDS)) { + PacketDispatcher.wrapper.sendToAllAround(new BiomeSyncPacket(x >> 4, z >> 4, getBiomeShortArray(chunk)), new TargetPoint(world.provider.dimensionId, x, 128, z, 1024D)); + } else { + PacketDispatcher.wrapper.sendToAllAround(new BiomeSyncPacket(x >> 4, z >> 4, chunk.getBiomeArray()), new TargetPoint(world.provider.dimensionId, x, 128, z, 1024D)); + } } public static void syncBiomeChangeBlock(World world, int x, int z) { Chunk chunk = world.getChunkFromBlockCoords(x, z); - byte biome = chunk.getBiomeArray()[(z & 15) << 4 | (x & 15)]; - PacketDispatcher.wrapper.sendToAllAround(new BiomeSyncPacket(x, z, biome), new TargetPoint(world.provider.dimensionId, x, 128, z, 1024D)); + if(Loader.isModLoaded(Compat.MOD_EIDS)) { + short biome = getBiomeShortArray(chunk)[(z & 15) << 4 | (x & 15)]; + PacketDispatcher.wrapper.sendToAllAround(new BiomeSyncPacket(x, z, biome), new TargetPoint(world.provider.dimensionId, x, 128, z, 1024D)); + } else { + byte biome = chunk.getBiomeArray()[(z & 15) << 4 | (x & 15)]; + PacketDispatcher.wrapper.sendToAllAround(new BiomeSyncPacket(x, z, biome), new TargetPoint(world.provider.dimensionId, x, 128, z, 1024D)); + } } public static void syncBiomeChange(World world, Chunk chunk) { @@ -47,7 +83,19 @@ public class WorldUtil { /* this sucks ass */ ChunkCoordIntPair coord = chunk.getChunkCoordIntPair(); - PacketDispatcher.wrapper.sendToAllAround(new BiomeSyncPacket(coord.chunkXPos, coord.chunkZPos, chunk.getBiomeArray()), new TargetPoint(world.provider.dimensionId, coord.getCenterXPos(), 128, coord.getCenterZPosition() /* who named you? */, 1024D)); + if(Loader.isModLoaded(Compat.MOD_EIDS)) { + PacketDispatcher.wrapper.sendToAllAround(new BiomeSyncPacket(coord.chunkXPos, coord.chunkZPos, getBiomeShortArray(chunk)), new TargetPoint(world.provider.dimensionId, coord.getCenterXPos(), 128, coord.getCenterZPosition() /* who named you? */, 1024D)); + } else { + PacketDispatcher.wrapper.sendToAllAround(new BiomeSyncPacket(coord.chunkXPos, coord.chunkZPos, chunk.getBiomeArray()), new TargetPoint(world.provider.dimensionId, coord.getCenterXPos(), 128, coord.getCenterZPosition() /* who named you? */, 1024D)); + } + } + + public static short[] getBiomeShortArray(Chunk chunk) { + try { + return (short[]) getBiomeShortHandle.invokeExact(chunk); + } catch(Throwable ex) { + throw new AssertionError(); + } } /**Chunkloads the chunk the entity is going to spawn in and then spawns it @@ -63,18 +111,14 @@ public class WorldUtil { int chunkZ = MathHelper.floor_double(entity.posZ / 16.0D); byte loadRadius = 2; - for (int k = chunkX - loadRadius; k <= chunkX + loadRadius; ++k) - { - for (int l = chunkZ - loadRadius; l <= chunkZ + loadRadius; ++l) - { + for(int k = chunkX - loadRadius; k <= chunkX + loadRadius; ++k) { + for(int l = chunkZ - loadRadius; l <= chunkZ + loadRadius; ++l) { world.getChunkFromChunkCoords(k, l); } } - if (!world.loadedEntityList.contains(entity)) - { - if (!MinecraftForge.EVENT_BUS.post(new EntityJoinWorldEvent(entity, world))) - { + if(!world.loadedEntityList.contains(entity)) { + if(!MinecraftForge.EVENT_BUS.post(new EntityJoinWorldEvent(entity, world))) { world.getChunkFromChunkCoords(chunkX, chunkZ).addEntity(entity); world.loadedEntityList.add(entity); world.onEntityAdded(entity); diff --git a/src/main/java/com/hbm/world/biome/BiomeDecoratorNoMansLand.java b/src/main/java/com/hbm/world/biome/BiomeDecoratorNoMansLand.java new file mode 100644 index 000000000..3ff88f826 --- /dev/null +++ b/src/main/java/com/hbm/world/biome/BiomeDecoratorNoMansLand.java @@ -0,0 +1,130 @@ +package com.hbm.world.biome; + +import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.*; + +import com.hbm.blocks.ModBlocks; +import com.hbm.world.feature.WorldGenSurfaceSpot; + +import net.minecraft.init.Blocks; +import net.minecraft.world.biome.BiomeDecorator; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.gen.feature.WorldGenAbstractTree; +import net.minecraft.world.gen.feature.WorldGenDeadBush; +import net.minecraft.world.gen.feature.WorldGenLiquids; +import net.minecraft.world.gen.feature.WorldGenerator; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.terraingen.DecorateBiomeEvent; +import net.minecraftforge.event.terraingen.TerrainGen; + +public class BiomeDecoratorNoMansLand extends BiomeDecorator { + + public WorldGenerator sellafiteGen; + public WorldGenerator gravelGen; + public int sellafitePerChunk; + public int gravelPerChunk; + + public BiomeDecoratorNoMansLand() { + super(); + + //TODO: instead of multiple localized shitty generators, make one that covers everything + this.sellafiteGen = new WorldGenSurfaceSpot(ModBlocks.sellafield_slaked, 6, 0.15F); + this.gravelGen = new WorldGenSurfaceSpot(ModBlocks.sellafield_slaked, 6, 0.15F); + this.sellafitePerChunk = 2; + this.gravelPerChunk = 2; + } + + protected void genDecorations(BiomeGenBase biome) { + MinecraftForge.EVENT_BUS.post(new DecorateBiomeEvent.Pre(currentWorld, randomGenerator, chunk_X, chunk_Z)); + this.generateOres(); + + int x; + int y; + int z; + + /// SAND IN WATER /// + boolean doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, SAND); + for(int i = 0; doGen && i < this.sandPerChunk2; ++i) { + x = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + z = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + this.sandGen.generate(this.currentWorld, this.randomGenerator, x, this.currentWorld.getTopSolidOrLiquidBlock(x, z), z); + } + + /// GRAVEL IN WATER /// + doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, SAND_PASS2); + for(int i = 0; doGen && i < this.sandPerChunk; ++i) { + x = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + z = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + this.gravelAsSandGen.generate(this.currentWorld, this.randomGenerator, x, this.currentWorld.getTopSolidOrLiquidBlock(x, z), z); + } + + /// SELLAFITE /// + for(int i = 0; i < this.sellafitePerChunk; ++i) { + x = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + z = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + this.sellafiteGen.generate(this.currentWorld, this.randomGenerator, x, this.currentWorld.getTopSolidOrLiquidBlock(x, z), z); + } + + /// GRAVEL /// + for(int i = 0; i < this.gravelPerChunk; ++i) { + x = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + z = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + this.gravelGen.generate(this.currentWorld, this.randomGenerator, x, this.currentWorld.getTopSolidOrLiquidBlock(x, z), z); + } + + int trees = this.treesPerChunk; + + if(this.randomGenerator.nextInt(10) == 0) trees++; + + /// TREES /// + doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, TREE); + for(int i = 0; doGen && i < trees; ++i) { + x = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + z = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + y = this.currentWorld.getHeightValue(x, z); + WorldGenAbstractTree worldgenabstracttree = biome.func_150567_a(this.randomGenerator); + worldgenabstracttree.setScale(1.0D, 1.0D, 1.0D); + + if(worldgenabstracttree.generate(this.currentWorld, this.randomGenerator, x, y, z)) { + worldgenabstracttree.func_150524_b(this.currentWorld, this.randomGenerator, x, y, z); + } + } + + /// TALL GRASS /// + doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, GRASS); + for(int i = 0; doGen && i < this.grassPerChunk; ++i) { + x = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + z = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + y = nextInt(this.currentWorld.getHeightValue(x, z) * 2); + WorldGenerator worldgenerator = biome.getRandomWorldGenForGrass(this.randomGenerator); + worldgenerator.generate(this.currentWorld, this.randomGenerator, x, y, z); + } + + /// SHRUBBERY /// + doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, DEAD_BUSH); + for(int i = 0; doGen && i < this.deadBushPerChunk; ++i) { + x = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + z = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + y = nextInt(this.currentWorld.getHeightValue(x, z) * 2); + (new WorldGenDeadBush(Blocks.deadbush)).generate(this.currentWorld, this.randomGenerator, x, y, z); + } + + /// LAKES /// + doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, LAKE); + if(doGen && this.generateLakes) { + for(int i = 0; i < 50; ++i) { + x = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + y = this.randomGenerator.nextInt(this.randomGenerator.nextInt(248) + 8); + z = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + (new WorldGenLiquids(Blocks.flowing_water)).generate(this.currentWorld, this.randomGenerator, x, y, z); + } + } + + MinecraftForge.EVENT_BUS.post(new DecorateBiomeEvent.Post(currentWorld, randomGenerator, chunk_X, chunk_Z)); + } + + private int nextInt(int i) { + if(i <= 1) + return 0; + return this.randomGenerator.nextInt(i); + } +} diff --git a/src/main/java/com/hbm/world/biome/BiomeGenCraterBase.java b/src/main/java/com/hbm/world/biome/BiomeGenCraterBase.java index 467ee78ef..1e353542b 100644 --- a/src/main/java/com/hbm/world/biome/BiomeGenCraterBase.java +++ b/src/main/java/com/hbm/world/biome/BiomeGenCraterBase.java @@ -21,6 +21,7 @@ public class BiomeGenCraterBase extends BiomeGenBase { BiomeDictionary.registerBiomeType(craterOuterBiome, DRY, DEAD, WASTELAND); } + @Override public int getWaterColorMultiplier() { return 0x505020; //0x50d030 } @@ -65,7 +66,6 @@ public class BiomeGenCraterBase extends BiomeGenBase { @Override @SideOnly(Side.CLIENT) public int getSkyColorByTemp(float temp) { return 0x6B9189; } - } public static class BiomeGenCraterInner extends BiomeGenCraterBase { @@ -83,6 +83,5 @@ public class BiomeGenCraterBase extends BiomeGenBase { @Override @SideOnly(Side.CLIENT) public int getSkyColorByTemp(float temp) { return 0x424A42; } - } } diff --git a/src/main/java/com/hbm/world/biome/BiomeGenNoMansLand.java b/src/main/java/com/hbm/world/biome/BiomeGenNoMansLand.java new file mode 100644 index 000000000..42dd104af --- /dev/null +++ b/src/main/java/com/hbm/world/biome/BiomeGenNoMansLand.java @@ -0,0 +1,68 @@ +package com.hbm.world.biome; + +import static net.minecraftforge.common.BiomeDictionary.Type.*; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.entity.mob.EntityUndeadSoldier; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.EnumCreatureType; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraftforge.common.BiomeDictionary; +import net.minecraftforge.common.BiomeManager; +import net.minecraftforge.common.BiomeManager.BiomeEntry; +import net.minecraftforge.common.BiomeManager.BiomeType; + +public class BiomeGenNoMansLand extends BiomeGenBase { + + public static final List EMPTY_LIST = new ArrayList(0); + public static final List HOSTILE_LIST = new ArrayList(1); + + public static final BiomeGenBase noMansLand = new BiomeGenNoMansLand(99).setBiomeName("No Man's Land"); + + public static void initDictionary() { + BiomeDictionary.registerBiomeType(noMansLand, DEAD, PLAINS, WASTELAND); + BiomeManager.addBiome(BiomeType.WARM, new BiomeEntry(noMansLand, 5)); + } + + public BiomeGenNoMansLand(int id) { + super(id); + this.theBiomeDecorator = new BiomeDecoratorNoMansLand(); + this.waterColorMultiplier = 0x6F6F12; + this.spawnableCreatureList.clear(); + this.spawnableWaterCreatureList.clear(); + this.spawnableCaveCreatureList.clear(); + this.setHeight(height_LowPlains); + this.theBiomeDecorator.treesPerChunk = -999; + this.theBiomeDecorator.flowersPerChunk = 0; + this.theBiomeDecorator.grassPerChunk = 0; + this.flowers.clear(); + + this.HOSTILE_LIST.add(new BiomeGenBase.SpawnListEntry(EntityUndeadSoldier.class, 1, 4, 6)); + } + + @Override + public List getSpawnableList(EnumCreatureType type) { + if(type == type.monster) { + if(this.HOSTILE_LIST.size() != 1) { + this.HOSTILE_LIST.clear(); + this.HOSTILE_LIST.add(new BiomeGenBase.SpawnListEntry(EntityUndeadSoldier.class, 1, 4, 6)); + } + return this.HOSTILE_LIST; + } + if(!EMPTY_LIST.isEmpty()) EMPTY_LIST.clear(); + return EMPTY_LIST; + } + + @Override @SideOnly(Side.CLIENT) + public int getBiomeGrassColor(int x, int y, int z) { return 0x696F59; } + + @Override @SideOnly(Side.CLIENT) + public int getBiomeFoliageColor(int x, int y, int z) { return 0x767C67; } + + @Override @SideOnly(Side.CLIENT) + public int getSkyColorByTemp(float temp) { return 0x949494; } +} diff --git a/src/main/java/com/hbm/world/dungeon/CrashedVertibird.java b/src/main/java/com/hbm/world/dungeon/CrashedVertibird.java deleted file mode 100644 index 68b8f2cbb..000000000 --- a/src/main/java/com/hbm/world/dungeon/CrashedVertibird.java +++ /dev/null @@ -1,426 +0,0 @@ -//Schematic to java Structure by jajo_11 | inspired by "MITHION'S .SCHEMATIC TO JAVA CONVERTINGTOOL" - -package com.hbm.world.dungeon; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; -import com.hbm.config.GeneralConfig; -import com.hbm.itempool.ItemPool; -import com.hbm.itempool.ItemPoolsLegacy; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.init.Blocks; -import net.minecraft.tileentity.TileEntityChest; -import net.minecraft.util.WeightedRandomChestContent; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; - -public class CrashedVertibird extends WorldGenerator -{ - Block Block1 = ModBlocks.deco_steel; - Block Block2 = ModBlocks.deco_tungsten; - Block Block3 = ModBlocks.reinforced_glass; - Block Block4 = ModBlocks.deco_titanium; - - protected Block[] GetValidSpawnBlocks() - { - return new Block[] - { - Blocks.sand, - Blocks.sandstone, - }; - } - - public boolean LocationIsValidSpawn(World world, int x, int y, int z) - { - - Block checkBlock = world.getBlock(x, y - 1, z); - Block blockAbove = world.getBlock(x, y , z); - Block blockBelow = world.getBlock(x, y - 2, z); - - for (Block i : GetValidSpawnBlocks()) - { - if (blockAbove != Blocks.air) - { - return false; - } - if (checkBlock == i) - { - return true; - } - else if (checkBlock == Blocks.snow_layer && blockBelow == i) - { - return true; - } - else if (checkBlock.getMaterial() == Material.plants && blockBelow == i) - { - return true; - } - } - return false; - } - - @Override - public boolean generate(World world, Random rand, int x, int y, int z) - { - int i = rand.nextInt(1); - - if(i == 0) - { - generate_r0(world, rand, x, y, z); - } - - return true; - - } - - public boolean generate_r0(World world, Random rand, int x, int y, int z) - { - int yOffset = 8 + rand.nextInt(4); - - if(!LocationIsValidSpawn(world, x + 9, y, z + 9)) - { - return false; - } - - world.setBlock(x + 4, y + 0 - yOffset, z + 1, Block1, 0, 3); - world.setBlock(x + 5, y + 0 - yOffset, z + 1, Block1, 0, 3); - world.setBlock(x + 6, y + 0 - yOffset, z + 1, Block1, 0, 3); - world.setBlock(x + 5, y + 0 - yOffset, z + 2, Block2, 0, 3); - world.setBlock(x + 4, y + 1 - yOffset, z + 0, Block1, 0, 3); - world.setBlock(x + 5, y + 1 - yOffset, z + 0, Block1, 0, 3); - world.setBlock(x + 6, y + 1 - yOffset, z + 0, Block1, 0, 3); - world.setBlock(x + 3, y + 1 - yOffset, z + 1, Block1, 0, 3); - world.setBlock(x + 7, y + 1 - yOffset, z + 1, Block1, 0, 3); - world.setBlock(x + 4, y + 1 - yOffset, z + 2, Block1, 0, 3); - world.setBlock(x + 5, y + 1 - yOffset, z + 2, Block1, 0, 3); - world.setBlock(x + 6, y + 1 - yOffset, z + 2, Block1, 0, 3); - world.setBlock(x + 3, y + 1 - yOffset, z + 3, Block2, 0, 3); - world.setBlock(x + 4, y + 1 - yOffset, z + 3, Block1, 0, 3); - world.setBlock(x + 5, y + 1 - yOffset, z + 3, Block1, 0, 3); - world.setBlock(x + 6, y + 1 - yOffset, z + 3, Block1, 0, 3); - world.setBlock(x + 7, y + 1 - yOffset, z + 3, Block2, 0, 3); - world.setBlock(x + 4, y + 2 - yOffset, z + 0, Block3, 0, 3); - world.setBlock(x + 5, y + 2 - yOffset, z + 0, Block3, 0, 3); - world.setBlock(x + 3, y + 2 - yOffset, z + 1, Block3, 0, 3); - world.setBlock(x + 7, y + 2 - yOffset, z + 1, Block3, 0, 3); - world.setBlock(x + 3, y + 2 - yOffset, z + 2, Block1, 0, 3); - world.setBlock(x + 4, y + 2 - yOffset, z + 2, Blocks.stone_stairs, 2, 3); - world.setBlock(x + 6, y + 2 - yOffset, z + 2, Blocks.stone_stairs, 2, 3); - world.setBlock(x + 7, y + 2 - yOffset, z + 2, Block1, 0, 3); - world.setBlock(x + 7, y + 2 - yOffset, z + 3, Block4, 0, 3); - world.setBlock(x + 3, y + 2 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 4, y + 2 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 5, y + 2 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 6, y + 2 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 7, y + 2 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 3, y + 2 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 4, y + 2 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 5, y + 2 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 6, y + 2 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 7, y + 2 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 4, y + 2 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 6, y + 2 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 4, y + 3 - yOffset, z + 0, Block1, 0, 3); - world.setBlock(x + 5, y + 3 - yOffset, z + 0, Block1, 0, 3); - world.setBlock(x + 6, y + 3 - yOffset, z + 0, Block1, 0, 3); - world.setBlock(x + 3, y + 3 - yOffset, z + 1, Block3, 0, 3); - world.setBlock(x + 4, y + 3 - yOffset, z + 1, Block1, 0, 3); - world.setBlock(x + 5, y + 3 - yOffset, z + 1, Block1, 0, 3); - world.setBlock(x + 6, y + 3 - yOffset, z + 1, Block1, 0, 3); - world.setBlock(x + 7, y + 3 - yOffset, z + 1, Block3, 0, 3); - world.setBlock(x + 3, y + 3 - yOffset, z + 2, Block1, 0, 3); - world.setBlock(x + 7, y + 3 - yOffset, z + 2, Block1, 0, 3); - world.setBlock(x + 3, y + 3 - yOffset, z + 3, Block1, 0, 3); - world.setBlock(x + 7, y + 3 - yOffset, z + 3, Block1, 0, 3); - world.setBlock(x + 7, y + 3 - yOffset, z + 4, Block4, 0, 3); - world.setBlock(x + 2, y + 3 - yOffset, z + 5, Block4, 0, 3); - world.setBlock(x + 7, y + 3 - yOffset, z + 5, Block4, 0, 3); - world.setBlock(x + 4, y + 3 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 5, y + 3 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 6, y + 3 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 4, y + 3 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 5, y + 3 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 6, y + 3 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 5, y + 3 - yOffset, z + 9, Block2, 0, 3); - world.setBlock(x + 4, y + 4 - yOffset, z + 1, Block1, 0, 3); - world.setBlock(x + 5, y + 4 - yOffset, z + 1, Block1, 0, 3); - world.setBlock(x + 6, y + 4 - yOffset, z + 1, Block1, 0, 3); - world.setBlock(x + 3, y + 4 - yOffset, z + 2, Block3, 0, 3); - world.setBlock(x + 3, y + 4 - yOffset, z + 3, Block1, 0, 3); - world.setBlock(x + 7, y + 4 - yOffset, z + 3, Block1, 0, 3); - world.setBlock(x + 7, y + 4 - yOffset, z + 5, Block4, 0, 3); - world.setBlock(x + 2, y + 4 - yOffset, z + 6, Block4, 0, 3); - world.setBlock(x + 3, y + 4 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 7, y + 4 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 2, y + 4 - yOffset, z + 7, Block4, 0, 3); - world.setBlock(x + 3, y + 4 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 6, y + 4 - yOffset, z + 7, Blocks.chest, 2, 3); - if(world.getBlock(x + 6, y + 4 - yOffset, z + 7) == Blocks.chest) - { - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_VERTIBIRD), (TileEntityChest)world.getTileEntity(x + 6, y + 4 - yOffset, z + 7), 8); - } - world.setBlock(x + 7, y + 4 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 4, y + 4 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 5, y + 4 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 6, y + 4 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 4, y + 4 - yOffset, z + 9, Block1, 0, 3); - world.setBlock(x + 5, y + 4 - yOffset, z + 9, Block1, 0, 3); - world.setBlock(x + 6, y + 4 - yOffset, z + 9, Block1, 0, 3); - world.setBlock(x + 6, y + 5 - yOffset, z + 1, Block2, 0, 3); - world.setBlock(x + 4, y + 5 - yOffset, z + 2, Block1, 0, 3); - world.setBlock(x + 5, y + 5 - yOffset, z + 2, Block1, 0, 3); - world.setBlock(x + 6, y + 5 - yOffset, z + 2, Block1, 0, 3); - world.setBlock(x + 4, y + 5 - yOffset, z + 3, Block1, 0, 3); - world.setBlock(x + 5, y + 5 - yOffset, z + 3, Block1, 0, 3); - world.setBlock(x + 6, y + 5 - yOffset, z + 3, Block1, 0, 3); - world.setBlock(x + 7, y + 5 - yOffset, z + 3, Block1, 0, 3); - world.setBlock(x + 3, y + 5 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 7, y + 5 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 3, y + 5 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 7, y + 5 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 2, y + 5 - yOffset, z + 6, Block4, 0, 3); - world.setBlock(x + 3, y + 5 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 7, y + 5 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 2, y + 5 - yOffset, z + 7, Block4, 0, 3); - world.setBlock(x + 3, y + 5 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 7, y + 5 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 4, y + 5 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 5, y + 5 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 6, y + 5 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 4, y + 5 - yOffset, z + 9, Block1, 0, 3); - world.setBlock(x + 5, y + 5 - yOffset, z + 9, Block4, 0, 3); - world.setBlock(x + 6, y + 5 - yOffset, z + 9, Block1, 0, 3); - world.setBlock(x + 5, y + 6 - yOffset, z + 3, Block1, 0, 3); - world.setBlock(x + 6, y + 6 - yOffset, z + 3, Block1, 0, 3); - world.setBlock(x + 4, y + 6 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 5, y + 6 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 6, y + 6 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 7, y + 6 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 14, y + 6 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 0, y + 6 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 1, y + 6 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 2, y + 6 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 3, y + 6 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 4, y + 6 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 5, y + 6 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 6, y + 6 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 7, y + 6 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 8, y + 6 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 9, y + 6 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 10, y + 6 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 13, y + 6 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 3, y + 6 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 4, y + 6 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 6, y + 6 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 7, y + 6 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 3, y + 6 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 4, y + 6 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 5, y + 6 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 6, y + 6 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 7, y + 6 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 4, y + 6 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 5, y + 6 - yOffset, z + 8, ModBlocks.machine_battery, 2, 3); - world.setBlock(x + 6, y + 6 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 4, y + 6 - yOffset, z + 9, Block1, 0, 3); - world.setBlock(x + 5, y + 6 - yOffset, z + 9, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 6, y + 6 - yOffset, z + 9, Block1, 0, 3); - world.setBlock(x + 4, y + 6 - yOffset, z + 10, Block1, 0, 3); - world.setBlock(x + 5, y + 6 - yOffset, z + 10, Block1, 0, 3); - world.setBlock(x + 6, y + 6 - yOffset, z + 10, Block1, 0, 3); - world.setBlock(x + 5, y + 6 - yOffset, z + 11, Block1, 0, 3); - world.setBlock(x + 6, y + 6 - yOffset, z + 11, Block1, 0, 3); - world.setBlock(x + 4, y + 7 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 5, y + 7 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 6, y + 7 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 7, y + 7 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 14, y + 7 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 1, y + 7 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 2, y + 7 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 3, y + 7 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 4, y + 7 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 5, y + 7 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 6, y + 7 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 7, y + 7 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 8, y + 7 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 9, y + 7 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 10, y + 7 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 11, y + 7 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 12, y + 7 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 13, y + 7 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 14, y + 7 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 3, y + 7 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 4, y + 7 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 5, y + 7 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 6, y + 7 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 7, y + 7 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 14, y + 7 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 3, y + 7 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 4, y + 7 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 5, y + 7 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 6, y + 7 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 7, y + 7 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 3, y + 7 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 4, y + 7 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 5, y + 7 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 6, y + 7 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 7, y + 7 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 3, y + 7 - yOffset, z + 9, Block1, 0, 3); - world.setBlock(x + 4, y + 7 - yOffset, z + 9, ModBlocks.block_electrical_scrap, 0, 3); - world.setBlock(x + 5, y + 7 - yOffset, z + 9, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 6, y + 7 - yOffset, z + 9, ModBlocks.block_electrical_scrap, 0, 3); - world.setBlock(x + 7, y + 7 - yOffset, z + 9, Block1, 0, 3); - world.setBlock(x + 5, y + 7 - yOffset, z + 10, Block4, 0, 3); - world.setBlock(x + 6, y + 7 - yOffset, z + 10, Block1, 0, 3); - world.setBlock(x + 5, y + 7 - yOffset, z + 11, Block4, 0, 3); - world.setBlock(x + 6, y + 7 - yOffset, z + 11, Block1, 0, 3); - world.setBlock(x + 5, y + 8 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 14, y + 8 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 4, y + 8 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 5, y + 8 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 6, y + 8 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 13, y + 8 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 14, y + 8 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 15, y + 8 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 3, y + 8 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 4, y + 8 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 5, y + 8 - yOffset, z + 6, Blocks.chest, 2, 3); - if(world.getBlock(x + 5, y + 8 - yOffset, z + 6) == Blocks.chest) - { - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityChest)world.getTileEntity(x + 5, y + 8 - yOffset, z + 6), 8); - } - world.setBlock(x + 6, y + 8 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 7, y + 8 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 14, y + 8 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 3, y + 8 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 4, y + 8 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 5, y + 8 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 6, y + 8 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 7, y + 8 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 3, y + 8 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 4, y + 8 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 5, y + 8 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 6, y + 8 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 7, y + 8 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 3, y + 8 - yOffset, z + 9, Block1, 0, 3); - world.setBlock(x + 4, y + 8 - yOffset, z + 9, ModBlocks.block_electrical_scrap, 0, 3); - world.setBlock(x + 5, y + 8 - yOffset, z + 9, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 6, y + 8 - yOffset, z + 9, ModBlocks.block_electrical_scrap, 0, 3); - world.setBlock(x + 7, y + 8 - yOffset, z + 9, Block1, 0, 3); - world.setBlock(x + 4, y + 8 - yOffset, z + 10, ModBlocks.block_electrical_scrap, 0, 3); - world.setBlock(x + 5, y + 8 - yOffset, z + 10, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 6, y + 8 - yOffset, z + 10, ModBlocks.block_electrical_scrap, 0, 3); - world.setBlock(x + 7, y + 8 - yOffset, z + 10, Block1, 0, 3); - world.setBlock(x + 5, y + 8 - yOffset, z + 11, Block4, 0, 3); - world.setBlock(x + 6, y + 8 - yOffset, z + 11, Block1, 0, 3); - world.setBlock(x + 7, y + 8 - yOffset, z + 11, Block1, 0, 3); - world.setBlock(x + 6, y + 8 - yOffset, z + 12, Block1, 0, 3); - world.setBlock(x + 14, y + 9 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 13, y + 9 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 14, y + 9 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 15, y + 9 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 4, y + 9 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 5, y + 9 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 6, y + 9 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 14, y + 9 - yOffset, z + 6, Block1, 0, 3); - world.setBlock(x + 4, y + 9 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 5, y + 9 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 6, y + 9 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 3, y + 9 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 4, y + 9 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 5, y + 9 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 6, y + 9 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 7, y + 9 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 4, y + 9 - yOffset, z + 9, Block1, 0, 3); - world.setBlock(x + 5, y + 9 - yOffset, z + 9, Block4, 0, 3); - world.setBlock(x + 6, y + 9 - yOffset, z + 9, Block1, 0, 3); - world.setBlock(x + 4, y + 9 - yOffset, z + 10, ModBlocks.block_electrical_scrap, 0, 3); - world.setBlock(x + 5, y + 9 - yOffset, z + 10, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 6, y + 9 - yOffset, z + 10, ModBlocks.block_electrical_scrap, 0, 3); - world.setBlock(x + 7, y + 9 - yOffset, z + 10, Block1, 0, 3); - world.setBlock(x + 5, y + 9 - yOffset, z + 11, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 6, y + 9 - yOffset, z + 11, Block1, 0, 3); - world.setBlock(x + 5, y + 9 - yOffset, z + 12, Block4, 0, 3); - world.setBlock(x + 6, y + 9 - yOffset, z + 12, Block1, 0, 3); - world.setBlock(x + 7, y + 9 - yOffset, z + 12, Block1, 0, 3); - world.setBlock(x + 5, y + 9 - yOffset, z + 13, Block1, 0, 3); - world.setBlock(x + 6, y + 9 - yOffset, z + 13, Block1, 0, 3); - world.setBlock(x + 14, y + 10 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 4, y + 10 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 5, y + 10 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 6, y + 10 - yOffset, z + 8, Block1, 0, 3); - world.setBlock(x + 5, y + 10 - yOffset, z + 9, Block1, 0, 3); - world.setBlock(x + 4, y + 10 - yOffset, z + 10, Block1, 0, 3); - world.setBlock(x + 5, y + 10 - yOffset, z + 10, Block4, 0, 3); - world.setBlock(x + 6, y + 10 - yOffset, z + 10, Block1, 0, 3); - world.setBlock(x + 4, y + 10 - yOffset, z + 11, Block1, 0, 3); - world.setBlock(x + 5, y + 10 - yOffset, z + 11, Block1, 0, 3); - world.setBlock(x + 6, y + 10 - yOffset, z + 11, Block1, 0, 3); - world.setBlock(x + 4, y + 10 - yOffset, z + 12, Block1, 0, 3); - world.setBlock(x + 5, y + 10 - yOffset, z + 12, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 6, y + 10 - yOffset, z + 12, Block1, 0, 3); - world.setBlock(x + 4, y + 10 - yOffset, z + 13, Block1, 0, 3); - world.setBlock(x + 5, y + 10 - yOffset, z + 13, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 6, y + 10 - yOffset, z + 13, Block1, 0, 3); - world.setBlock(x + 5, y + 10 - yOffset, z + 14, Block1, 0, 3); - world.setBlock(x + 5, y + 10 - yOffset, z + 15, Block1, 0, 3); - world.setBlock(x + 5, y + 10 - yOffset, z + 17, Block1, 0, 3); - world.setBlock(x + 5, y + 10 - yOffset, z + 18, Block1, 0, 3); - world.setBlock(x + 14, y + 11 - yOffset, z + 4, Block4, 0, 3); - world.setBlock(x + 12, y + 11 - yOffset, z + 5, Block4, 0, 3); - world.setBlock(x + 13, y + 11 - yOffset, z + 5, Block4, 0, 3); - world.setBlock(x + 14, y + 11 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 15, y + 11 - yOffset, z + 5, Block4, 0, 3); - world.setBlock(x + 16, y + 11 - yOffset, z + 5, Block4, 0, 3); - world.setBlock(x + 17, y + 11 - yOffset, z + 5, Block4, 0, 3); - world.setBlock(x + 14, y + 11 - yOffset, z + 6, Block4, 0, 3); - world.setBlock(x + 14, y + 11 - yOffset, z + 7, Block4, 0, 3); - world.setBlock(x + 5, y + 11 - yOffset, z + 10, Block1, 0, 3); - world.setBlock(x + 5, y + 11 - yOffset, z + 11, Block1, 0, 3); - world.setBlock(x + 4, y + 11 - yOffset, z + 12, Block1, 0, 3); - world.setBlock(x + 5, y + 11 - yOffset, z + 12, Block1, 0, 3); - world.setBlock(x + 6, y + 11 - yOffset, z + 12, Block1, 0, 3); - world.setBlock(x + 5, y + 11 - yOffset, z + 13, Block1, 0, 3); - world.setBlock(x + 4, y + 11 - yOffset, z + 14, Block1, 0, 3); - world.setBlock(x + 5, y + 11 - yOffset, z + 14, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 6, y + 11 - yOffset, z + 14, Block1, 0, 3); - world.setBlock(x + 4, y + 11 - yOffset, z + 15, Block1, 0, 3); - world.setBlock(x + 5, y + 11 - yOffset, z + 15, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 6, y + 11 - yOffset, z + 15, Block1, 0, 3); - world.setBlock(x + 5, y + 11 - yOffset, z + 16, Block1, 0, 3); - world.setBlock(x + 5, y + 11 - yOffset, z + 17, Block1, 0, 3); - world.setBlock(x + 5, y + 11 - yOffset, z + 18, Block1, 0, 3); - world.setBlock(x + 5, y + 12 - yOffset, z + 14, Block1, 0, 3); - world.setBlock(x + 3, y + 12 - yOffset, z + 16, Block1, 0, 3); - world.setBlock(x + 4, y + 12 - yOffset, z + 16, Block1, 0, 3); - world.setBlock(x + 5, y + 12 - yOffset, z + 16, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 6, y + 12 - yOffset, z + 16, Block1, 0, 3); - world.setBlock(x + 7, y + 12 - yOffset, z + 16, Block1, 0, 3); - world.setBlock(x + 8, y + 12 - yOffset, z + 16, Block1, 0, 3); - world.setBlock(x + 9, y + 12 - yOffset, z + 16, Block1, 0, 3); - world.setBlock(x + 4, y + 12 - yOffset, z + 17, Block1, 0, 3); - world.setBlock(x + 5, y + 12 - yOffset, z + 17, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 6, y + 12 - yOffset, z + 17, Block1, 0, 3); - world.setBlock(x + 7, y + 12 - yOffset, z + 17, Block1, 0, 3); - world.setBlock(x + 8, y + 12 - yOffset, z + 17, Block1, 0, 3); - world.setBlock(x + 9, y + 12 - yOffset, z + 17, Block1, 0, 3); - world.setBlock(x + 10, y + 12 - yOffset, z + 17, Block1, 0, 3); - world.setBlock(x + 5, y + 13 - yOffset, z + 17, Block1, 0, 3); - - generate_r02_last(world, rand, x, y, z, yOffset); - return true; - - } - public boolean generate_r02_last(World world, Random rand, int x, int y, int z, int yOffset) - { - - world.setBlock(x + 4, y + 1 - yOffset, z + 1, Blocks.lever, 3, 3); - world.setBlock(x + 6, y + 1 - yOffset, z + 1, Blocks.lever, 3, 3); - if(GeneralConfig.enableDebugMode) - System.out.print("[Debug] Successfully spawned crashed Vertibird at " + x + " " + y +" " + z + "\n"); - return true; - - } - -} \ No newline at end of file diff --git a/src/main/java/com/hbm/world/dungeon/DesertAtom001.java b/src/main/java/com/hbm/world/dungeon/DesertAtom001.java index 2daed2527..02d2bee28 100644 --- a/src/main/java/com/hbm/world/dungeon/DesertAtom001.java +++ b/src/main/java/com/hbm/world/dungeon/DesertAtom001.java @@ -27,7 +27,7 @@ public class DesertAtom001 extends WorldGenerator Block Block7 = ModBlocks.deco_tungsten; Block Block8 = ModBlocks.steel_poles; Block Block9 = ModBlocks.tape_recorder; - Block Block10 = ModBlocks.machine_nuke_furnace_off; + Block Block10 = ModBlocks.machine_rtg_furnace_off; Block Block11 = ModBlocks.reinforced_glass; Block Block12 = ModBlocks.reinforced_lamp_off; Block Block13 = ModBlocks.pole_satellite_receiver; diff --git a/src/main/java/com/hbm/world/dungeon/DesertAtom002.java b/src/main/java/com/hbm/world/dungeon/DesertAtom002.java index 81fdc1634..47b4e4f20 100644 --- a/src/main/java/com/hbm/world/dungeon/DesertAtom002.java +++ b/src/main/java/com/hbm/world/dungeon/DesertAtom002.java @@ -27,7 +27,7 @@ public class DesertAtom002 Block Block7 = ModBlocks.deco_tungsten; Block Block8 = ModBlocks.steel_poles; Block Block9 = ModBlocks.tape_recorder; - Block Block10 = ModBlocks.machine_nuke_furnace_off; + Block Block10 = ModBlocks.machine_rtg_furnace_off; Block Block11 = ModBlocks.reinforced_glass; Block Block12 = ModBlocks.reinforced_lamp_off; Block Block13 = ModBlocks.pole_satellite_receiver; diff --git a/src/main/java/com/hbm/world/dungeon/DesertAtom003.java b/src/main/java/com/hbm/world/dungeon/DesertAtom003.java index de58b4283..eb20e3309 100644 --- a/src/main/java/com/hbm/world/dungeon/DesertAtom003.java +++ b/src/main/java/com/hbm/world/dungeon/DesertAtom003.java @@ -30,7 +30,7 @@ public class DesertAtom003 Block Block7 = ModBlocks.deco_tungsten; Block Block8 = ModBlocks.steel_poles; Block Block9 = ModBlocks.tape_recorder; - Block Block10 = ModBlocks.machine_nuke_furnace_off; + Block Block10 = ModBlocks.machine_rtg_furnace_off; Block Block11 = ModBlocks.reinforced_glass; Block Block12 = ModBlocks.reinforced_lamp_off; Block Block13 = ModBlocks.pole_satellite_receiver; diff --git a/src/main/java/com/hbm/world/dungeon/Radio01.java b/src/main/java/com/hbm/world/dungeon/Radio01.java index 57111ce3c..36aa3d7c9 100644 --- a/src/main/java/com/hbm/world/dungeon/Radio01.java +++ b/src/main/java/com/hbm/world/dungeon/Radio01.java @@ -652,7 +652,7 @@ public class Radio01 extends WorldGenerator world.setBlock(x + 6, y + 0, z + 24, ModBlocks.deco_steel, 0, 3); world.setBlock(x + 7, y + 0, z + 24, Blocks.chest, 2, 3); world.setBlockMetadataWithNotify(x + 7, y + 0, z + 24, 5, 3); - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_ANTENNA), (TileEntityChest)world.getTileEntity(x + 7, y + 0, z + 24), 8); + if(world.getTileEntity(x + 7, y + 0, z + 24) instanceof TileEntityChest) WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_ANTENNA), (TileEntityChest) world.getTileEntity(x + 7, y + 0, z + 24), 8); world.setBlock(x + 8, y + 0, z + 24, ModBlocks.deco_steel, 0, 3); world.setBlock(x + 9, y + 0, z + 24, ModBlocks.deco_steel, 0, 3); world.setBlock(x + 10, y + 0, z + 24, Library.getRandomConcrete(), 0, 3); diff --git a/src/main/java/com/hbm/world/dungeon/Satellite.java b/src/main/java/com/hbm/world/dungeon/Satellite.java deleted file mode 100644 index 9de904cde..000000000 --- a/src/main/java/com/hbm/world/dungeon/Satellite.java +++ /dev/null @@ -1,2584 +0,0 @@ -//Schematic to java Structure by jajo_11 | inspired by "MITHION'S .SCHEMATIC TO JAVA CONVERTINGTOOL" - -package com.hbm.world.dungeon; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; -import com.hbm.config.GeneralConfig; -import com.hbm.itempool.ItemPool; -import com.hbm.itempool.ItemPoolsLegacy; -import com.hbm.lib.Library; -import com.hbm.util.LootGenerator; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.init.Blocks; -import net.minecraft.tileentity.TileEntityChest; -import net.minecraft.util.WeightedRandomChestContent; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; - -public class Satellite extends WorldGenerator -{ - Block dSteel = ModBlocks.deco_steel; - Block Block3 = ModBlocks.steel_scaffold; - Block Block4 = ModBlocks.deco_beryllium; - Block Block5 = ModBlocks.deco_titanium; - Block dTape = ModBlocks.tape_recorder; - Block Block7 = ModBlocks.deco_tungsten; - - int s2 = 0; - int s3 = 0; - int s4 = 8; - int s5 = 8; - - protected Block[] GetValidSpawnBlocks() { - return new Block[] { Blocks.grass, Blocks.dirt, Blocks.stone, Blocks.sand, Blocks.sandstone }; - } - - public boolean LocationIsValidSpawn(World world, int x, int y, int z) { - - Block checkBlock = world.getBlock(x, y - 1, z); - Block blockAbove = world.getBlock(x, y, z); - Block blockBelow = world.getBlock(x, y - 2, z); - - for(Block i : GetValidSpawnBlocks()) { - if(blockAbove != Blocks.air) { - return false; - } - if(checkBlock == i) { - return true; - } else if(checkBlock == Blocks.snow_layer && blockBelow == i) { - return true; - } else if(checkBlock.getMaterial() == Material.plants && blockBelow == i) { - return true; - } - } - return false; - } - - @Override - public boolean generate(World world, Random rand, int x, int y, int z) { - int i = rand.nextInt(1); - - if(i == 0) { - generate_r0(world, rand, x, y, z); - } - - return true; - } - - public boolean generate_r0(World world, Random rand, int x, int y, int z) { - - if(!LocationIsValidSpawn(world, x, y, z) || !LocationIsValidSpawn(world, x + 24, y, z) || !LocationIsValidSpawn(world, x + 24, y, z + 30) || !LocationIsValidSpawn(world, x, y, z + 30)) { - return false; - } - - world.setBlock(x + 18, y + -3, z + 9, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -3, z + 9, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -3, z + 9, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + -3, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -3, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -3, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -3, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + -3, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 16, y + -3, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + -3, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -3, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -3, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -3, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + -3, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 22, y + -3, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 16, y + -3, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + -3, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -3, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -3, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -3, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + -3, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 22, y + -3, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 16, y + -3, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + -3, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -3, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -3, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -3, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + -3, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 22, y + -3, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + -3, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -3, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -3, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -3, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + -3, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -3, z + 15, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -3, z + 15, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -3, z + 15, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 6, y + -3, z + 16, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + -3, z + 16, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 8, y + -3, z + 16, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -3, z + 16, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -3, z + 16, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -3, z + 16, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 6, y + -3, z + 17, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + -3, z + 17, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 8, y + -3, z + 17, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -3, z + 17, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -3, z + 17, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -3, z + 17, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 6, y + -3, z + 18, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + -3, z + 18, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 8, y + -3, z + 18, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -3, z + 18, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -3, z + 18, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -3, z + 18, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 6, y + -3, z + 28, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + -3, z + 28, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 8, y + -3, z + 28, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -3, z + 28, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -3, z + 28, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -3, z + 28, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 6, y + -3, z + 29, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + -3, z + 29, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 8, y + -3, z + 29, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -3, z + 29, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -3, z + 29, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -3, z + 29, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 6, y + -3, z + 30, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + -3, z + 30, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 8, y + -3, z + 30, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -3, z + 30, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -3, z + 30, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -3, z + 30, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -2, z + 9, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -2, z + 9, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -2, z + 9, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + -2, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -2, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -2, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -2, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + -2, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 16, y + -2, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + -2, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -2, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -2, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -2, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + -2, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 22, y + -2, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 16, y + -2, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + -2, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -2, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -2, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -2, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + -2, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 22, y + -2, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 16, y + -2, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + -2, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -2, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -2, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -2, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + -2, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 22, y + -2, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + -2, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -2, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -2, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -2, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + -2, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -2, z + 15, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -2, z + 15, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -2, z + 15, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 6, y + -2, z + 16, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + -2, z + 16, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 8, y + -2, z + 16, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -2, z + 16, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -2, z + 16, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -2, z + 16, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 6, y + -2, z + 17, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + -2, z + 17, dSteel, 0, 3); - world.setBlock(x + 8, y + -2, z + 17, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -2, z + 17, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -2, z + 17, dSteel, 0, 3); - world.setBlock(x + 20, y + -2, z + 17, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 6, y + -2, z + 18, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + -2, z + 18, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 8, y + -2, z + 18, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -2, z + 18, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -2, z + 18, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -2, z + 18, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 6, y + -2, z + 28, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + -2, z + 28, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 8, y + -2, z + 28, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -2, z + 28, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -2, z + 28, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -2, z + 28, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 6, y + -2, z + 29, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + -2, z + 29, dSteel, 0, 3); - world.setBlock(x + 8, y + -2, z + 29, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -2, z + 29, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -2, z + 29, dSteel, 0, 3); - world.setBlock(x + 20, y + -2, z + 29, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 6, y + -2, z + 30, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + -2, z + 30, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 8, y + -2, z + 30, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -2, z + 30, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -2, z + 30, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -2, z + 30, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 5, y + -1, z + 8, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 13, y + -1, z + 8, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + -1, z + 8, dSteel, 0, 3); - world.setBlock(x + 22, y + -1, z + 8, dSteel, 0, 3); - world.setBlock(x + 18, y + -1, z + 9, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -1, z + 9, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -1, z + 9, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + -1, z + 9, dSteel, 0, 3); - world.setBlock(x + 22, y + -1, z + 9, dSteel, 0, 3); - world.setBlock(x + 17, y + -1, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -1, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -1, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -1, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + -1, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 16, y + -1, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + -1, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -1, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -1, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -1, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + -1, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 22, y + -1, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 16, y + -1, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + -1, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -1, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -1, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -1, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + -1, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 22, y + -1, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 16, y + -1, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + -1, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -1, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -1, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -1, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + -1, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 22, y + -1, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + -1, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -1, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -1, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -1, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + -1, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -1, z + 15, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -1, z + 15, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -1, z + 15, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 6, y + -1, z + 16, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + -1, z + 16, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 8, y + -1, z + 16, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -1, z + 16, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -1, z + 16, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -1, z + 16, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 6, y + -1, z + 17, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + -1, z + 17, dSteel, 0, 3); - world.setBlock(x + 8, y + -1, z + 17, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -1, z + 17, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -1, z + 17, dSteel, 0, 3); - world.setBlock(x + 20, y + -1, z + 17, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 6, y + -1, z + 18, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + -1, z + 18, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 8, y + -1, z + 18, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -1, z + 18, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -1, z + 18, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -1, z + 18, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 5, y + -1, z + 23, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 6, y + -1, z + 28, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + -1, z + 28, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 8, y + -1, z + 28, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -1, z + 28, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -1, z + 28, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -1, z + 28, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 6, y + -1, z + 29, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + -1, z + 29, dSteel, 0, 3); - world.setBlock(x + 8, y + -1, z + 29, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -1, z + 29, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -1, z + 29, dSteel, 0, 3); - world.setBlock(x + 20, y + -1, z + 29, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 6, y + -1, z + 30, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + -1, z + 30, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 8, y + -1, z + 30, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + -1, z + 30, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + -1, z + 30, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + -1, z + 30, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 5, y + 0, z + 8, Block3, s3, 3); - world.setBlock(x + 13, y + 0, z + 8, Block3, s3, 3); - world.setBlock(x + 19, y + 0, z + 8, dSteel, 0, 3); - world.setBlock(x + 20, y + 0, z + 8, dSteel, 0, 3); - world.setBlock(x + 21, y + 0, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 22, y + 0, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 19, y + 0, z + 9, dSteel, 0, 3); - world.setBlock(x + 20, y + 0, z + 9, dSteel, 0, 3); - world.setBlock(x + 18, y + 0, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 0, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 0, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 0, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 0, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 0, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 0, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 0, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 0, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 0, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 0, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 0, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 0, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 0, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 0, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 0, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 0, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 0, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 0, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 0, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 0, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + 0, z + 17, Block4, 0, 3); - world.setBlock(x + 19, y + 0, z + 17, Block4, 0, 3); - world.setBlock(x + 5, y + 0, z + 23, Block3, s5, 3); - world.setBlock(x + 7, y + 0, z + 29, Block4, 0, 3); - world.setBlock(x + 19, y + 0, z + 29, Block4, 0, 3); - world.setBlock(x + 5, y + 1, z + 8, Block3, s3, 3); - world.setBlock(x + 13, y + 1, z + 8, Block3, s3, 3); - world.setBlock(x + 17, y + 1, z + 8, dSteel, 0, 3); - world.setBlock(x + 18, y + 1, z + 8, dSteel, 0, 3); - world.setBlock(x + 19, y + 1, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 20, y + 1, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 21, y + 1, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 17, y + 1, z + 9, dSteel, 0, 3); - world.setBlock(x + 18, y + 1, z + 9, dSteel, 0, 3); - world.setBlock(x + 18, y + 1, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 1, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 1, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 1, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 1, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 1, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 1, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 1, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 1, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 1, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 1, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 1, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 1, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 1, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 1, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 1, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 1, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 1, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 1, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 1, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 1, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + 1, z + 17, Block4, 0, 3); - world.setBlock(x + 19, y + 1, z + 17, Block4, 0, 3); - world.setBlock(x + 5, y + 1, z + 23, Block3, s5, 3); - world.setBlock(x + 7, y + 1, z + 29, Block4, 0, 3); - world.setBlock(x + 19, y + 1, z + 29, Block4, 0, 3); - world.setBlock(x + 5, y + 2, z + 8, Block3, s3, 3); - world.setBlock(x + 13, y + 2, z + 8, Block3, s3, 3); - world.setBlock(x + 15, y + 2, z + 8, dSteel, 0, 3); - world.setBlock(x + 16, y + 2, z + 8, dSteel, 0, 3); - world.setBlock(x + 17, y + 2, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 18, y + 2, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 19, y + 2, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 15, y + 2, z + 9, dSteel, 0, 3); - world.setBlock(x + 16, y + 2, z + 9, dSteel, 0, 3); - world.setBlock(x + 18, y + 2, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 2, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 2, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 2, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 2, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 2, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 2, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 2, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 2, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 2, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 2, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 2, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 2, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 2, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 2, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 2, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 2, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 2, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 2, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 2, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 2, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + 2, z + 17, Block4, 0, 3); - world.setBlock(x + 19, y + 2, z + 17, Block4, 0, 3); - world.setBlock(x + 5, y + 2, z + 23, Block3, s5, 3); - world.setBlock(x + 7, y + 2, z + 29, Block4, 0, 3); - world.setBlock(x + 19, y + 2, z + 29, Block4, 0, 3); - world.setBlock(x + 5, y + 3, z + 8, Block3, s3, 3); - world.setBlock(x + 13, y + 3, z + 8, dSteel, 0, 3); - world.setBlock(x + 14, y + 3, z + 8, dSteel, 0, 3); - world.setBlock(x + 15, y + 3, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 16, y + 3, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 17, y + 3, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 13, y + 3, z + 9, dSteel, 0, 3); - world.setBlock(x + 14, y + 3, z + 9, dSteel, 0, 3); - world.setBlock(x + 18, y + 3, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 3, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 3, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 3, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 3, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 3, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 3, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 3, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 3, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 3, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 3, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 3, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 3, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 3, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 3, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 3, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 3, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 3, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 3, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 3, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 3, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + 3, z + 17, Block4, 0, 3); - world.setBlock(x + 19, y + 3, z + 17, Block4, 0, 3); - world.setBlock(x + 5, y + 3, z + 23, Block3, s5, 3); - world.setBlock(x + 7, y + 3, z + 29, Block4, 0, 3); - world.setBlock(x + 19, y + 3, z + 29, Block4, 0, 3); - world.setBlock(x + 5, y + 4, z + 8, Block3, s3, 3); - world.setBlock(x + 11, y + 4, z + 8, dSteel, 0, 3); - world.setBlock(x + 12, y + 4, z + 8, dSteel, 0, 3); - world.setBlock(x + 13, y + 4, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 14, y + 4, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 15, y + 4, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 11, y + 4, z + 9, dSteel, 0, 3); - world.setBlock(x + 12, y + 4, z + 9, dSteel, 0, 3); - world.setBlock(x + 18, y + 4, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 4, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 4, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 4, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 4, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 4, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 4, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 4, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 4, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 4, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 4, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 4, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 4, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 4, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 4, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 4, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 4, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 4, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 4, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 4, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 4, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + 4, z + 17, Block4, 0, 3); - world.setBlock(x + 19, y + 4, z + 17, Block4, 0, 3); - world.setBlock(x + 5, y + 4, z + 23, Block3, s5, 3); - world.setBlock(x + 7, y + 4, z + 29, Block4, 0, 3); - world.setBlock(x + 19, y + 4, z + 29, Block4, 0, 3); - world.setBlock(x + 5, y + 5, z + 8, Block3, s3, 3); - world.setBlock(x + 9, y + 5, z + 8, dSteel, 0, 3); - world.setBlock(x + 10, y + 5, z + 8, dSteel, 0, 3); - world.setBlock(x + 11, y + 5, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 12, y + 5, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 13, y + 5, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 9, y + 5, z + 9, dSteel, 0, 3); - world.setBlock(x + 10, y + 5, z + 9, dSteel, 0, 3); - world.setBlock(x + 18, y + 5, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 5, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 5, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 5, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 5, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 5, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 5, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 5, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 5, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 5, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 5, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 5, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 5, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 5, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 5, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 5, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 5, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 5, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 5, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 5, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 5, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + 5, z + 17, Block4, 0, 3); - world.setBlock(x + 19, y + 5, z + 17, Block4, 0, 3); - world.setBlock(x + 5, y + 5, z + 23, Block3, s5, 3); - world.setBlock(x + 7, y + 5, z + 29, Block4, 0, 3); - world.setBlock(x + 19, y + 5, z + 29, Block4, 0, 3); - world.setBlock(x + 5, y + 6, z + 8, Block3, s3, 3); - world.setBlock(x + 7, y + 6, z + 8, dSteel, 0, 3); - world.setBlock(x + 8, y + 6, z + 8, dSteel, 0, 3); - world.setBlock(x + 9, y + 6, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 10, y + 6, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 11, y + 6, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 7, y + 6, z + 9, dSteel, 0, 3); - world.setBlock(x + 8, y + 6, z + 9, dSteel, 0, 3); - world.setBlock(x + 18, y + 6, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 6, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 6, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 6, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 6, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 6, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 6, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 6, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 6, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 6, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 6, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 6, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 6, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 6, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 6, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 6, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 6, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 6, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 6, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 6, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 6, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + 6, z + 17, Block4, 0, 3); - world.setBlock(x + 19, y + 6, z + 17, Block4, 0, 3); - world.setBlock(x + 5, y + 6, z + 23, Block3, s5, 3); - world.setBlock(x + 7, y + 6, z + 29, Block4, 0, 3); - world.setBlock(x + 19, y + 6, z + 29, Block4, 0, 3); - world.setBlock(x + 5, y + 7, z + 8, dSteel, 0, 3); - world.setBlock(x + 6, y + 7, z + 8, dSteel, 0, 3); - world.setBlock(x + 7, y + 7, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 8, y + 7, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 9, y + 7, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 5, y + 7, z + 9, dSteel, 0, 3); - world.setBlock(x + 6, y + 7, z + 9, dSteel, 0, 3); - world.setBlock(x + 5, y + 7, z + 10, dSteel, 0, 3); - world.setBlock(x + 6, y + 7, z + 10, dSteel, 0, 3); - world.setBlock(x + 18, y + 7, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 7, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 7, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 5, y + 7, z + 11, dSteel, 0, 3); - world.setBlock(x + 6, y + 7, z + 11, dSteel, 0, 3); - world.setBlock(x + 17, y + 7, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 7, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 7, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 7, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 7, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 5, y + 7, z + 12, dSteel, 0, 3); - world.setBlock(x + 6, y + 7, z + 12, dSteel, 0, 3); - world.setBlock(x + 17, y + 7, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 7, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 7, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 7, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 7, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 5, y + 7, z + 13, dSteel, 0, 3); - world.setBlock(x + 6, y + 7, z + 13, dSteel, 0, 3); - world.setBlock(x + 17, y + 7, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 7, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 7, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 7, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 7, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 5, y + 7, z + 14, dSteel, 0, 3); - world.setBlock(x + 6, y + 7, z + 14, dSteel, 0, 3); - world.setBlock(x + 18, y + 7, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 7, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 7, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 5, y + 7, z + 15, dSteel, 0, 3); - world.setBlock(x + 6, y + 7, z + 15, dSteel, 0, 3); - world.setBlock(x + 5, y + 7, z + 16, dSteel, 0, 3); - world.setBlock(x + 6, y + 7, z + 16, dSteel, 0, 3); - world.setBlock(x + 7, y + 7, z + 17, Block4, 0, 3); - world.setBlock(x + 19, y + 7, z + 17, Block4, 0, 3); - world.setBlock(x + 5, y + 7, z + 23, Block3, s5, 3); - world.setBlock(x + 7, y + 7, z + 29, Block4, 0, 3); - world.setBlock(x + 19, y + 7, z + 29, Block4, 0, 3); - world.setBlock(x + 5, y + 8, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 6, y + 8, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 7, y + 8, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 5, y + 8, z + 9, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 5, y + 8, z + 10, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 18, y + 8, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 8, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 8, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 5, y + 8, z + 11, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 17, y + 8, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 8, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 8, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 8, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 8, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 5, y + 8, z + 12, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 17, y + 8, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 8, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 8, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 8, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 8, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 5, y + 8, z + 13, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 17, y + 8, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 8, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 8, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 8, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 8, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 5, y + 8, z + 14, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 18, y + 8, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 8, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 8, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 5, y + 8, z + 15, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 5, y + 8, z + 16, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 5, y + 8, z + 17, dSteel, 0, 3); - world.setBlock(x + 6, y + 8, z + 17, dSteel, 0, 3); - world.setBlock(x + 7, y + 8, z + 17, Block4, 0, 3); - world.setBlock(x + 19, y + 8, z + 17, Block4, 0, 3); - world.setBlock(x + 5, y + 8, z + 18, dSteel, 0, 3); - world.setBlock(x + 6, y + 8, z + 18, dSteel, 0, 3); - world.setBlock(x + 5, y + 8, z + 23, Block3, s5, 3); - world.setBlock(x + 7, y + 8, z + 29, Block4, 0, 3); - world.setBlock(x + 19, y + 8, z + 29, Block4, 0, 3); - world.setBlock(x + 18, y + 9, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 9, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 9, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 9, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 9, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 9, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 9, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 9, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 9, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 9, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 9, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 9, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 9, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 9, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 9, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 9, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 9, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 9, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 9, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 9, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 9, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 5, y + 9, z + 16, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 5, y + 9, z + 17, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 7, y + 9, z + 17, Block4, 0, 3); - world.setBlock(x + 19, y + 9, z + 17, Block4, 0, 3); - world.setBlock(x + 5, y + 9, z + 18, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 5, y + 9, z + 19, dSteel, 0, 3); - world.setBlock(x + 6, y + 9, z + 19, dSteel, 0, 3); - world.setBlock(x + 5, y + 9, z + 20, dSteel, 0, 3); - world.setBlock(x + 6, y + 9, z + 20, dSteel, 0, 3); - world.setBlock(x + 5, y + 9, z + 23, Block3, s5, 3); - world.setBlock(x + 7, y + 9, z + 29, Block4, 0, 3); - world.setBlock(x + 19, y + 9, z + 29, Block4, 0, 3); - world.setBlock(x + 18, y + 10, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 10, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 10, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 10, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 10, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 10, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 10, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 10, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 10, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 10, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 10, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 10, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 10, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 10, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 10, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 10, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 10, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 10, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 10, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 10, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 10, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + 10, z + 17, Block4, 0, 3); - world.setBlock(x + 19, y + 10, z + 17, Block4, 0, 3); - world.setBlock(x + 5, y + 10, z + 18, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 5, y + 10, z + 19, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 5, y + 10, z + 20, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 5, y + 10, z + 21, dSteel, 0, 3); - world.setBlock(x + 6, y + 10, z + 21, dSteel, 0, 3); - world.setBlock(x + 5, y + 10, z + 22, dSteel, 0, 3); - world.setBlock(x + 6, y + 10, z + 22, dSteel, 0, 3); - world.setBlock(x + 5, y + 10, z + 23, Block3, s5, 3); - world.setBlock(x + 7, y + 10, z + 29, Block4, 0, 3); - world.setBlock(x + 19, y + 10, z + 29, Block4, 0, 3); - world.setBlock(x + 18, y + 11, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 11, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 11, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 11, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 11, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 11, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 11, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 11, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 11, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 11, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 11, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 11, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 11, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 11, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 11, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 11, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 11, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 11, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 11, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 11, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 11, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + 11, z + 17, Block4, 0, 3); - world.setBlock(x + 19, y + 11, z + 17, Block4, 0, 3); - world.setBlock(x + 5, y + 11, z + 20, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 5, y + 11, z + 21, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 5, y + 11, z + 22, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 5, y + 11, z + 23, dSteel, 0, 3); - world.setBlock(x + 6, y + 11, z + 23, dSteel, 0, 3); - world.setBlock(x + 5, y + 11, z + 24, dSteel, 0, 3); - world.setBlock(x + 6, y + 11, z + 24, dSteel, 0, 3); - world.setBlock(x + 7, y + 11, z + 29, Block4, 0, 3); - world.setBlock(x + 19, y + 11, z + 29, Block4, 0, 3); - world.setBlock(x + 18, y + 12, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 12, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 12, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 12, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 12, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 12, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 12, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 12, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 12, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 12, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 12, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 12, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 12, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 12, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 12, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 12, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 12, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 12, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 12, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 12, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 12, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + 12, z + 17, Block4, 0, 3); - world.setBlock(x + 19, y + 12, z + 17, Block4, 0, 3); - world.setBlock(x + 5, y + 12, z + 22, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 5, y + 12, z + 23, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 5, y + 12, z + 24, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 5, y + 12, z + 25, dSteel, 0, 3); - world.setBlock(x + 6, y + 12, z + 25, dSteel, 0, 3); - world.setBlock(x + 5, y + 12, z + 26, dSteel, 0, 3); - world.setBlock(x + 6, y + 12, z + 26, dSteel, 0, 3); - world.setBlock(x + 7, y + 12, z + 29, Block4, 0, 3); - world.setBlock(x + 19, y + 12, z + 29, Block4, 0, 3); - world.setBlock(x + 18, y + 13, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 13, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 13, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 13, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 13, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 13, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 13, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 13, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 13, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 13, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 13, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 13, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 13, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 13, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 13, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 13, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 13, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 13, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 13, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 13, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 13, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + 13, z + 17, Block5, 0, 3); - world.setBlock(x + 19, y + 13, z + 17, Block5, 0, 3); - world.setBlock(x + 7, y + 13, z + 18, Block5, 0, 3); - world.setBlock(x + 8, y + 13, z + 18, Block5, 0, 3); - world.setBlock(x + 9, y + 13, z + 18, Block5, 0, 3); - world.setBlock(x + 10, y + 13, z + 18, Block5, 0, 3); - world.setBlock(x + 11, y + 13, z + 18, Block5, 0, 3); - world.setBlock(x + 12, y + 13, z + 18, Block5, 0, 3); - world.setBlock(x + 13, y + 13, z + 18, Block5, 0, 3); - world.setBlock(x + 14, y + 13, z + 18, Block5, 0, 3); - world.setBlock(x + 15, y + 13, z + 18, Block5, 0, 3); - world.setBlock(x + 16, y + 13, z + 18, Block5, 0, 3); - world.setBlock(x + 17, y + 13, z + 18, Block5, 0, 3); - world.setBlock(x + 18, y + 13, z + 18, Block5, 0, 3); - world.setBlock(x + 19, y + 13, z + 18, Block5, 0, 3); - world.setBlock(x + 7, y + 13, z + 19, Block5, 0, 3); - world.setBlock(x + 8, y + 13, z + 19, Blocks.stone_slab, 8, 3); - world.setBlock(x + 9, y + 13, z + 19, Blocks.stone_slab, 8, 3); - world.setBlock(x + 10, y + 13, z + 19, Blocks.stone_slab, 8, 3); - world.setBlock(x + 11, y + 13, z + 19, Blocks.stone_slab, 8, 3); - world.setBlock(x + 12, y + 13, z + 19, Blocks.stone_slab, 8, 3); - world.setBlock(x + 13, y + 13, z + 19, Block5, 0, 3); - world.setBlock(x + 14, y + 13, z + 19, Blocks.stone_slab, 8, 3); - world.setBlock(x + 15, y + 13, z + 19, Blocks.stone_slab, 8, 3); - world.setBlock(x + 16, y + 13, z + 19, Blocks.stone_slab, 8, 3); - world.setBlock(x + 17, y + 13, z + 19, Blocks.stone_slab, 8, 3); - world.setBlock(x + 18, y + 13, z + 19, Blocks.stone_slab, 8, 3); - world.setBlock(x + 19, y + 13, z + 19, Block5, 0, 3); - world.setBlock(x + 7, y + 13, z + 20, Block5, 0, 3); - world.setBlock(x + 8, y + 13, z + 20, Blocks.stone_slab, 8, 3); - world.setBlock(x + 9, y + 13, z + 20, Blocks.stone_slab, 8, 3); - world.setBlock(x + 10, y + 13, z + 20, Blocks.stone_slab, 8, 3); - world.setBlock(x + 11, y + 13, z + 20, Blocks.stone_slab, 8, 3); - world.setBlock(x + 12, y + 13, z + 20, Blocks.stone_slab, 8, 3); - world.setBlock(x + 13, y + 13, z + 20, Block5, 0, 3); - world.setBlock(x + 14, y + 13, z + 20, Blocks.stone_slab, 8, 3); - world.setBlock(x + 15, y + 13, z + 20, Blocks.stone_slab, 8, 3); - world.setBlock(x + 16, y + 13, z + 20, Blocks.stone_slab, 8, 3); - world.setBlock(x + 17, y + 13, z + 20, Blocks.stone_slab, 8, 3); - world.setBlock(x + 18, y + 13, z + 20, Blocks.stone_slab, 8, 3); - world.setBlock(x + 19, y + 13, z + 20, Block5, 0, 3); - world.setBlock(x + 20, y + 13, z + 20, dSteel, 0, 3); - world.setBlock(x + 21, y + 13, z + 20, dSteel, 0, 3); - world.setBlock(x + 7, y + 13, z + 21, Block5, 0, 3); - world.setBlock(x + 8, y + 13, z + 21, Blocks.stone_slab, 8, 3); - world.setBlock(x + 9, y + 13, z + 21, Blocks.stone_slab, 8, 3); - world.setBlock(x + 10, y + 13, z + 21, Blocks.stone_slab, 8, 3); - world.setBlock(x + 11, y + 13, z + 21, Blocks.stone_slab, 8, 3); - world.setBlock(x + 12, y + 13, z + 21, Blocks.stone_slab, 8, 3); - world.setBlock(x + 13, y + 13, z + 21, Block5, 0, 3); - world.setBlock(x + 14, y + 13, z + 21, Blocks.stone_slab, 8, 3); - world.setBlock(x + 15, y + 13, z + 21, Blocks.stone_slab, 8, 3); - world.setBlock(x + 16, y + 13, z + 21, Blocks.stone_slab, 8, 3); - world.setBlock(x + 17, y + 13, z + 21, Blocks.stone_slab, 8, 3); - world.setBlock(x + 18, y + 13, z + 21, Blocks.stone_slab, 8, 3); - world.setBlock(x + 19, y + 13, z + 21, Block5, 0, 3); - world.setBlock(x + 20, y + 13, z + 21, dSteel, 0, 3); - world.setBlock(x + 21, y + 13, z + 21, dSteel, 0, 3); - world.setBlock(x + 7, y + 13, z + 22, Block5, 0, 3); - world.setBlock(x + 8, y + 13, z + 22, Blocks.stone_slab, 8, 3); - world.setBlock(x + 9, y + 13, z + 22, Blocks.stone_slab, 8, 3); - world.setBlock(x + 10, y + 13, z + 22, Blocks.stone_slab, 8, 3); - world.setBlock(x + 11, y + 13, z + 22, Blocks.stone_slab, 8, 3); - world.setBlock(x + 12, y + 13, z + 22, Blocks.stone_slab, 8, 3); - world.setBlock(x + 13, y + 13, z + 22, Block5, 0, 3); - world.setBlock(x + 14, y + 13, z + 22, Blocks.stone_slab, 8, 3); - world.setBlock(x + 15, y + 13, z + 22, Blocks.stone_slab, 8, 3); - world.setBlock(x + 16, y + 13, z + 22, Blocks.stone_slab, 8, 3); - world.setBlock(x + 17, y + 13, z + 22, Blocks.stone_slab, 8, 3); - world.setBlock(x + 18, y + 13, z + 22, Blocks.stone_slab, 8, 3); - world.setBlock(x + 19, y + 13, z + 22, Block5, 0, 3); - world.setBlock(x + 20, y + 13, z + 22, dSteel, 0, 3); - world.setBlock(x + 21, y + 13, z + 22, dSteel, 0, 3); - world.setBlock(x + 7, y + 13, z + 23, Block5, 0, 3); - world.setBlock(x + 8, y + 13, z + 23, Block5, 0, 3); - world.setBlock(x + 9, y + 13, z + 23, Block5, 0, 3); - world.setBlock(x + 10, y + 13, z + 23, Block5, 0, 3); - world.setBlock(x + 11, y + 13, z + 23, Block5, 0, 3); - world.setBlock(x + 12, y + 13, z + 23, Block5, 0, 3); - world.setBlock(x + 13, y + 13, z + 23, Block5, 0, 3); - world.setBlock(x + 14, y + 13, z + 23, Block5, 0, 3); - world.setBlock(x + 15, y + 13, z + 23, Block5, 0, 3); - world.setBlock(x + 16, y + 13, z + 23, Block5, 0, 3); - world.setBlock(x + 17, y + 13, z + 23, Block5, 0, 3); - world.setBlock(x + 18, y + 13, z + 23, Block5, 0, 3); - world.setBlock(x + 19, y + 13, z + 23, Block5, 0, 3); - world.setBlock(x + 5, y + 13, z + 24, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 7, y + 13, z + 24, Block5, 0, 3); - world.setBlock(x + 8, y + 13, z + 24, Blocks.stone_slab, 8, 3); - world.setBlock(x + 9, y + 13, z + 24, Blocks.stone_slab, 8, 3); - world.setBlock(x + 10, y + 13, z + 24, Blocks.stone_slab, 8, 3); - world.setBlock(x + 11, y + 13, z + 24, Blocks.stone_slab, 8, 3); - world.setBlock(x + 12, y + 13, z + 24, Blocks.stone_slab, 8, 3); - world.setBlock(x + 13, y + 13, z + 24, Block5, 0, 3); - world.setBlock(x + 14, y + 13, z + 24, Blocks.stone_slab, 8, 3); - world.setBlock(x + 15, y + 13, z + 24, Blocks.stone_slab, 8, 3); - world.setBlock(x + 16, y + 13, z + 24, Blocks.stone_slab, 8, 3); - world.setBlock(x + 17, y + 13, z + 24, Blocks.stone_slab, 8, 3); - world.setBlock(x + 18, y + 13, z + 24, Blocks.stone_slab, 8, 3); - world.setBlock(x + 19, y + 13, z + 24, Block5, 0, 3); - world.setBlock(x + 5, y + 13, z + 25, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 7, y + 13, z + 25, Block5, 0, 3); - world.setBlock(x + 8, y + 13, z + 25, Blocks.stone_slab, 8, 3); - world.setBlock(x + 9, y + 13, z + 25, Blocks.stone_slab, 8, 3); - world.setBlock(x + 10, y + 13, z + 25, Blocks.stone_slab, 8, 3); - world.setBlock(x + 11, y + 13, z + 25, Blocks.stone_slab, 8, 3); - world.setBlock(x + 12, y + 13, z + 25, Blocks.stone_slab, 8, 3); - world.setBlock(x + 13, y + 13, z + 25, Block5, 0, 3); - world.setBlock(x + 14, y + 13, z + 25, Blocks.stone_slab, 8, 3); - world.setBlock(x + 15, y + 13, z + 25, Blocks.stone_slab, 8, 3); - world.setBlock(x + 16, y + 13, z + 25, Blocks.stone_slab, 8, 3); - world.setBlock(x + 17, y + 13, z + 25, Blocks.stone_slab, 8, 3); - world.setBlock(x + 18, y + 13, z + 25, Blocks.stone_slab, 8, 3); - world.setBlock(x + 19, y + 13, z + 25, Block5, 0, 3); - world.setBlock(x + 5, y + 13, z + 26, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 7, y + 13, z + 26, Block5, 0, 3); - world.setBlock(x + 8, y + 13, z + 26, Blocks.stone_slab, 8, 3); - world.setBlock(x + 9, y + 13, z + 26, Blocks.stone_slab, 8, 3); - world.setBlock(x + 10, y + 13, z + 26, Blocks.stone_slab, 8, 3); - world.setBlock(x + 11, y + 13, z + 26, Blocks.stone_slab, 8, 3); - world.setBlock(x + 12, y + 13, z + 26, Blocks.stone_slab, 8, 3); - world.setBlock(x + 13, y + 13, z + 26, Block5, 0, 3); - world.setBlock(x + 14, y + 13, z + 26, Blocks.stone_slab, 8, 3); - world.setBlock(x + 15, y + 13, z + 26, Blocks.stone_slab, 8, 3); - world.setBlock(x + 16, y + 13, z + 26, Blocks.stone_slab, 8, 3); - world.setBlock(x + 17, y + 13, z + 26, Blocks.stone_slab, 8, 3); - world.setBlock(x + 18, y + 13, z + 26, Blocks.stone_slab, 8, 3); - world.setBlock(x + 19, y + 13, z + 26, Block5, 0, 3); - world.setBlock(x + 5, y + 13, z + 27, dSteel, 0, 3); - world.setBlock(x + 6, y + 13, z + 27, dSteel, 0, 3); - world.setBlock(x + 7, y + 13, z + 27, Block5, 0, 3); - world.setBlock(x + 8, y + 13, z + 27, Blocks.stone_slab, 8, 3); - world.setBlock(x + 9, y + 13, z + 27, Blocks.stone_slab, 8, 3); - world.setBlock(x + 10, y + 13, z + 27, Blocks.stone_slab, 8, 3); - world.setBlock(x + 11, y + 13, z + 27, Blocks.stone_slab, 8, 3); - world.setBlock(x + 12, y + 13, z + 27, Blocks.stone_slab, 8, 3); - world.setBlock(x + 13, y + 13, z + 27, Block5, 0, 3); - world.setBlock(x + 14, y + 13, z + 27, Blocks.stone_slab, 8, 3); - world.setBlock(x + 15, y + 13, z + 27, Blocks.stone_slab, 8, 3); - world.setBlock(x + 16, y + 13, z + 27, Blocks.stone_slab, 8, 3); - world.setBlock(x + 17, y + 13, z + 27, Blocks.stone_slab, 8, 3); - world.setBlock(x + 18, y + 13, z + 27, Blocks.stone_slab, 8, 3); - world.setBlock(x + 19, y + 13, z + 27, Block5, 0, 3); - world.setBlock(x + 5, y + 13, z + 28, dSteel, 0, 3); - world.setBlock(x + 6, y + 13, z + 28, dSteel, 0, 3); - world.setBlock(x + 7, y + 13, z + 28, Block5, 0, 3); - world.setBlock(x + 8, y + 13, z + 28, Block5, 0, 3); - world.setBlock(x + 9, y + 13, z + 28, Block5, 0, 3); - world.setBlock(x + 10, y + 13, z + 28, Block5, 0, 3); - world.setBlock(x + 11, y + 13, z + 28, Block5, 0, 3); - world.setBlock(x + 12, y + 13, z + 28, Block5, 0, 3); - world.setBlock(x + 13, y + 13, z + 28, Block5, 0, 3); - world.setBlock(x + 14, y + 13, z + 28, Block5, 0, 3); - world.setBlock(x + 15, y + 13, z + 28, Block5, 0, 3); - world.setBlock(x + 16, y + 13, z + 28, Block5, 0, 3); - world.setBlock(x + 17, y + 13, z + 28, Block5, 0, 3); - world.setBlock(x + 18, y + 13, z + 28, Block5, 0, 3); - world.setBlock(x + 19, y + 13, z + 28, Block5, 0, 3); - world.setBlock(x + 7, y + 13, z + 29, Block5, 0, 3); - world.setBlock(x + 19, y + 13, z + 29, Block5, 0, 3); - world.setBlock(x + 18, y + 14, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 14, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 14, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 14, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 14, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 14, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 14, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 14, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 14, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 14, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 14, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 14, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 14, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 14, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 14, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 14, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 14, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 14, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 14, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 14, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 14, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + 14, z + 18, dSteel, 0, 3); - world.setBlock(x + 8, y + 14, z + 18, dSteel, 0, 3); - world.setBlock(x + 9, y + 14, z + 18, dSteel, 0, 3); - world.setBlock(x + 10, y + 14, z + 18, dSteel, 0, 3); - world.setBlock(x + 11, y + 14, z + 18, dSteel, 0, 3); - world.setBlock(x + 12, y + 14, z + 18, dSteel, 0, 3); - world.setBlock(x + 13, y + 14, z + 18, dSteel, 0, 3); - world.setBlock(x + 14, y + 14, z + 18, dSteel, 0, 3); - world.setBlock(x + 15, y + 14, z + 18, dSteel, 0, 3); - world.setBlock(x + 16, y + 14, z + 18, dSteel, 0, 3); - world.setBlock(x + 17, y + 14, z + 18, dSteel, 0, 3); - world.setBlock(x + 18, y + 14, z + 18, dSteel, 0, 3); - world.setBlock(x + 19, y + 14, z + 18, dSteel, 0, 3); - world.setBlock(x + 7, y + 14, z + 19, dSteel, 0, 3); - world.setBlock(x + 10, y + 14, z + 19, Blocks.chest, 3, 3); - world.setBlockMetadataWithNotify(x + 10, y + 14, z + 19, 3, 3); - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 10, y + 14, z + 19), 8); - world.setBlock(x + 19, y + 14, z + 19, dSteel, 0, 3); - world.setBlock(x + 20, y + 14, z + 19, dSteel, 0, 3); - world.setBlock(x + 21, y + 14, z + 19, dSteel, 0, 3); - world.setBlock(x + 7, y + 14, z + 20, dSteel, 0, 3); - world.setBlock(x + 21, y + 14, z + 20, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 7, y + 14, z + 21, dSteel, 0, 3); - world.setBlock(x + 21, y + 14, z + 21, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 7, y + 14, z + 22, dSteel, 0, 3); - world.setBlock(x + 13, y + 14, z + 22, dSteel, 0, 3); - world.setBlock(x + 14, y + 14, z + 22, dSteel, 0, 3); - world.setBlock(x + 19, y + 14, z + 22, dSteel, 0, 3); - world.setBlock(x + 20, y + 14, z + 22, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 21, y + 14, z + 22, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 7, y + 14, z + 23, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 13, y + 14, z + 23, dSteel, 0, 3); - world.setBlock(x + 14, y + 14, z + 23, dSteel, 0, 3); - world.setBlock(x + 19, y + 14, z + 23, dSteel, 0, 3); - world.setBlock(x + 7, y + 14, z + 24, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 13, y + 14, z + 24, dSteel, 0, 3); - world.setBlock(x + 14, y + 14, z + 24, dSteel, 0, 3); - world.setBlock(x + 19, y + 14, z + 24, dSteel, 0, 3); - world.setBlock(x + 19, y + 14, z + 25, dSteel, 0, 3); - world.setBlock(x + 5, y + 14, z + 26, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 19, y + 14, z + 26, dSteel, 0, 3); - world.setBlock(x + 5, y + 14, z + 27, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 7, y + 14, z + 27, dSteel, 0, 3); - world.setBlock(x + 16, y + 14, z + 27, Blocks.chest, 2, 3); - world.setBlockMetadataWithNotify(x + 16, y + 14, z + 27, 3, 3); - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_ANTENNA), (TileEntityChest)world.getTileEntity(x + 16, y + 14, z + 27), 8); - world.setBlock(x + 19, y + 14, z + 27, dSteel, 0, 3); - world.setBlock(x + 5, y + 14, z + 28, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 6, y + 14, z + 28, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 7, y + 14, z + 28, dSteel, 0, 3); - world.setBlock(x + 8, y + 14, z + 28, dSteel, 0, 3); - world.setBlock(x + 9, y + 14, z + 28, dSteel, 0, 3); - world.setBlock(x + 10, y + 14, z + 28, dSteel, 0, 3); - world.setBlock(x + 11, y + 14, z + 28, dSteel, 0, 3); - world.setBlock(x + 12, y + 14, z + 28, dSteel, 0, 3); - world.setBlock(x + 13, y + 14, z + 28, dSteel, 0, 3); - world.setBlock(x + 14, y + 14, z + 28, dSteel, 0, 3); - world.setBlock(x + 15, y + 14, z + 28, dSteel, 0, 3); - world.setBlock(x + 16, y + 14, z + 28, dSteel, 0, 3); - world.setBlock(x + 17, y + 14, z + 28, dSteel, 0, 3); - world.setBlock(x + 18, y + 14, z + 28, dSteel, 0, 3); - world.setBlock(x + 19, y + 14, z + 28, dSteel, 0, 3); - world.setBlock(x + 18, y + 15, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 15, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 15, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 15, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 15, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 15, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 15, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 15, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 15, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 15, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 15, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 15, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 15, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 15, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 15, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 15, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 15, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 15, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 15, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 15, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 15, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 7, y + 15, z + 18, dSteel, 0, 3); - world.setBlock(x + 8, y + 15, z + 18, dSteel, 0, 3); - world.setBlock(x + 9, y + 15, z + 18, Block4, 0, 3); - world.setBlock(x + 10, y + 15, z + 18, Block4, 0, 3); - world.setBlock(x + 11, y + 15, z + 18, Block4, 0, 3); - world.setBlock(x + 12, y + 15, z + 18, Block4, 0, 3); - world.setBlock(x + 13, y + 15, z + 18, Block4, 0, 3); - world.setBlock(x + 14, y + 15, z + 18, Block4, 0, 3); - world.setBlock(x + 15, y + 15, z + 18, Block4, 0, 3); - world.setBlock(x + 16, y + 15, z + 18, Block4, 0, 3); - world.setBlock(x + 17, y + 15, z + 18, Block4, 0, 3); - world.setBlock(x + 18, y + 15, z + 18, dSteel, 0, 3); - world.setBlock(x + 19, y + 15, z + 18, dSteel, 0, 3); - world.setBlock(x + 20, y + 15, z + 18, dSteel, 0, 3); - world.setBlock(x + 21, y + 15, z + 18, dSteel, 0, 3); - world.setBlock(x + 7, y + 15, z + 19, dSteel, 0, 3); - world.setBlock(x + 19, y + 15, z + 19, dSteel, 0, 3); - world.setBlock(x + 21, y + 15, z + 19, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 7, y + 15, z + 20, dSteel, 0, 3); - world.setBlock(x + 21, y + 15, z + 20, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 7, y + 15, z + 21, dSteel, 0, 3); - world.setBlock(x + 7, y + 15, z + 22, dSteel, 0, 3); - world.setBlock(x + 14, y + 15, z + 22, dTape, 4, 3); - world.setBlock(x + 19, y + 15, z + 22, dSteel, 0, 3); - world.setBlock(x + 7, y + 15, z + 23, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 14, y + 15, z + 23, dTape, 4, 3); - world.setBlock(x + 19, y + 15, z + 23, dSteel, 0, 3); - world.setBlock(x + 7, y + 15, z + 24, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 14, y + 15, z + 24, Block3, s5, 3); - world.setBlock(x + 19, y + 15, z + 24, dSteel, 0, 3); - world.setBlock(x + 19, y + 15, z + 25, dSteel, 0, 3); - world.setBlock(x + 19, y + 15, z + 26, dSteel, 0, 3); - world.setBlock(x + 7, y + 15, z + 27, dSteel, 0, 3); - world.setBlock(x + 19, y + 15, z + 27, dSteel, 0, 3); - world.setBlock(x + 7, y + 15, z + 28, dSteel, 0, 3); - world.setBlock(x + 8, y + 15, z + 28, dSteel, 0, 3); - world.setBlock(x + 9, y + 15, z + 28, Block4, 0, 3); - world.setBlock(x + 10, y + 15, z + 28, Block4, 0, 3); - world.setBlock(x + 11, y + 15, z + 28, Block4, 0, 3); - world.setBlock(x + 12, y + 15, z + 28, Block4, 0, 3); - world.setBlock(x + 13, y + 15, z + 28, Block4, 0, 3); - world.setBlock(x + 14, y + 15, z + 28, Block4, 0, 3); - world.setBlock(x + 15, y + 15, z + 28, Block4, 0, 3); - world.setBlock(x + 16, y + 15, z + 28, Block4, 0, 3); - world.setBlock(x + 17, y + 15, z + 28, Block4, 0, 3); - world.setBlock(x + 18, y + 15, z + 28, dSteel, 0, 3); - world.setBlock(x + 19, y + 15, z + 28, dSteel, 0, 3); - world.setBlock(x + 18, y + 16, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 16, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 16, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 16, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 16, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 16, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 16, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 16, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 16, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 16, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 16, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 16, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 16, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 16, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 16, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 16, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 16, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 16, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 16, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 16, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 16, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 16, z + 17, dSteel, 0, 3); - world.setBlock(x + 20, y + 16, z + 17, dSteel, 0, 3); - world.setBlock(x + 21, y + 16, z + 17, dSteel, 0, 3); - world.setBlock(x + 7, y + 16, z + 18, dSteel, 0, 3); - world.setBlock(x + 8, y + 16, z + 18, dSteel, 0, 3); - world.setBlock(x + 9, y + 16, z + 18, dSteel, 0, 3); - world.setBlock(x + 10, y + 16, z + 18, dSteel, 0, 3); - world.setBlock(x + 11, y + 16, z + 18, dSteel, 0, 3); - world.setBlock(x + 12, y + 16, z + 18, dSteel, 0, 3); - world.setBlock(x + 13, y + 16, z + 18, dSteel, 0, 3); - world.setBlock(x + 14, y + 16, z + 18, dSteel, 0, 3); - world.setBlock(x + 15, y + 16, z + 18, dSteel, 0, 3); - world.setBlock(x + 16, y + 16, z + 18, dSteel, 0, 3); - world.setBlock(x + 17, y + 16, z + 18, dSteel, 0, 3); - world.setBlock(x + 18, y + 16, z + 18, dSteel, 0, 3); - world.setBlock(x + 19, y + 16, z + 18, dSteel, 0, 3); - world.setBlock(x + 21, y + 16, z + 18, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 7, y + 16, z + 19, dSteel, 0, 3); - world.setBlock(x + 19, y + 16, z + 19, dSteel, 0, 3); - world.setBlock(x + 21, y + 16, z + 19, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 7, y + 16, z + 20, dSteel, 0, 3); - world.setBlock(x + 19, y + 16, z + 20, dSteel, 0, 3); - world.setBlock(x + 7, y + 16, z + 21, dSteel, 0, 3); - world.setBlock(x + 19, y + 16, z + 21, dSteel, 0, 3); - world.setBlock(x + 7, y + 16, z + 22, dSteel, 0, 3); - world.setBlock(x + 19, y + 16, z + 22, dSteel, 0, 3); - world.setBlock(x + 7, y + 16, z + 23, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 19, y + 16, z + 23, dSteel, 0, 3); - world.setBlock(x + 7, y + 16, z + 24, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 14, y + 16, z + 24, Block3, s5, 3); - world.setBlock(x + 19, y + 16, z + 24, dSteel, 0, 3); - world.setBlock(x + 19, y + 16, z + 25, dSteel, 0, 3); - world.setBlock(x + 19, y + 16, z + 26, dSteel, 0, 3); - world.setBlock(x + 7, y + 16, z + 27, dSteel, 0, 3); - world.setBlock(x + 19, y + 16, z + 27, dSteel, 0, 3); - world.setBlock(x + 7, y + 16, z + 28, dSteel, 0, 3); - world.setBlock(x + 8, y + 16, z + 28, dSteel, 0, 3); - world.setBlock(x + 9, y + 16, z + 28, dSteel, 0, 3); - world.setBlock(x + 10, y + 16, z + 28, dSteel, 0, 3); - world.setBlock(x + 11, y + 16, z + 28, dSteel, 0, 3); - world.setBlock(x + 12, y + 16, z + 28, dSteel, 0, 3); - world.setBlock(x + 13, y + 16, z + 28, dSteel, 0, 3); - world.setBlock(x + 14, y + 16, z + 28, dSteel, 0, 3); - world.setBlock(x + 15, y + 16, z + 28, dSteel, 0, 3); - world.setBlock(x + 16, y + 16, z + 28, dSteel, 0, 3); - world.setBlock(x + 17, y + 16, z + 28, dSteel, 0, 3); - world.setBlock(x + 18, y + 16, z + 28, dSteel, 0, 3); - world.setBlock(x + 19, y + 16, z + 28, dSteel, 0, 3); - world.setBlock(x + 16, y + 17, z + 8, dSteel, 0, 3); - world.setBlock(x + 17, y + 17, z + 8, dSteel, 0, 3); - world.setBlock(x + 18, y + 17, z + 8, dSteel, 0, 3); - world.setBlock(x + 19, y + 17, z + 8, dSteel, 0, 3); - world.setBlock(x + 20, y + 17, z + 8, dSteel, 0, 3); - world.setBlock(x + 21, y + 17, z + 8, dSteel, 0, 3); - world.setBlock(x + 22, y + 17, z + 8, dSteel, 0, 3); - world.setBlock(x + 15, y + 17, z + 9, dSteel, 0, 3); - world.setBlock(x + 16, y + 17, z + 9, dSteel, 0, 3); - world.setBlock(x + 17, y + 17, z + 9, dSteel, 0, 3); - world.setBlock(x + 18, y + 17, z + 9, dSteel, 0, 3); - world.setBlock(x + 19, y + 17, z + 9, dSteel, 0, 3); - world.setBlock(x + 20, y + 17, z + 9, dSteel, 0, 3); - world.setBlock(x + 21, y + 17, z + 9, dSteel, 0, 3); - world.setBlock(x + 22, y + 17, z + 9, dSteel, 0, 3); - world.setBlock(x + 23, y + 17, z + 9, dSteel, 0, 3); - world.setBlock(x + 15, y + 17, z + 10, dSteel, 0, 3); - world.setBlock(x + 16, y + 17, z + 10, dSteel, 0, 3); - world.setBlock(x + 17, y + 17, z + 10, dSteel, 0, 3); - world.setBlock(x + 18, y + 17, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 17, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 17, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 17, z + 10, dSteel, 0, 3); - world.setBlock(x + 22, y + 17, z + 10, dSteel, 0, 3); - world.setBlock(x + 23, y + 17, z + 10, dSteel, 0, 3); - world.setBlock(x + 15, y + 17, z + 11, dSteel, 0, 3); - world.setBlock(x + 16, y + 17, z + 11, dSteel, 0, 3); - world.setBlock(x + 17, y + 17, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 17, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 17, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 17, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 17, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 22, y + 17, z + 11, dSteel, 0, 3); - world.setBlock(x + 23, y + 17, z + 11, dSteel, 0, 3); - world.setBlock(x + 15, y + 17, z + 12, dSteel, 0, 3); - world.setBlock(x + 16, y + 17, z + 12, dSteel, 0, 3); - world.setBlock(x + 17, y + 17, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 17, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 17, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 17, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 17, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 22, y + 17, z + 12, dSteel, 0, 3); - world.setBlock(x + 23, y + 17, z + 12, dSteel, 0, 3); - world.setBlock(x + 15, y + 17, z + 13, dSteel, 0, 3); - world.setBlock(x + 16, y + 17, z + 13, dSteel, 0, 3); - world.setBlock(x + 17, y + 17, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 17, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 17, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 17, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 17, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 22, y + 17, z + 13, dSteel, 0, 3); - world.setBlock(x + 23, y + 17, z + 13, dSteel, 0, 3); - world.setBlock(x + 15, y + 17, z + 14, dSteel, 0, 3); - world.setBlock(x + 16, y + 17, z + 14, dSteel, 0, 3); - world.setBlock(x + 17, y + 17, z + 14, dSteel, 0, 3); - world.setBlock(x + 18, y + 17, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 17, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 17, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 17, z + 14, dSteel, 0, 3); - world.setBlock(x + 22, y + 17, z + 14, dSteel, 0, 3); - world.setBlock(x + 23, y + 17, z + 14, dSteel, 0, 3); - world.setBlock(x + 15, y + 17, z + 15, dSteel, 0, 3); - world.setBlock(x + 16, y + 17, z + 15, dSteel, 0, 3); - world.setBlock(x + 17, y + 17, z + 15, dSteel, 0, 3); - world.setBlock(x + 18, y + 17, z + 15, dSteel, 0, 3); - world.setBlock(x + 19, y + 17, z + 15, dSteel, 0, 3); - world.setBlock(x + 20, y + 17, z + 15, dSteel, 0, 3); - world.setBlock(x + 21, y + 17, z + 15, dSteel, 0, 3); - world.setBlock(x + 22, y + 17, z + 15, dSteel, 0, 3); - world.setBlock(x + 23, y + 17, z + 15, dSteel, 0, 3); - world.setBlock(x + 16, y + 17, z + 16, dSteel, 0, 3); - world.setBlock(x + 17, y + 17, z + 16, dSteel, 0, 3); - world.setBlock(x + 18, y + 17, z + 16, dSteel, 0, 3); - world.setBlock(x + 19, y + 17, z + 16, dSteel, 0, 3); - world.setBlock(x + 20, y + 17, z + 16, dSteel, 0, 3); - world.setBlock(x + 21, y + 17, z + 16, dSteel, 0, 3); - world.setBlock(x + 22, y + 17, z + 16, dSteel, 0, 3); - world.setBlock(x + 19, y + 17, z + 17, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 21, y + 17, z + 17, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 19, y + 17, z + 18, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 21, y + 17, z + 18, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 7, y + 17, z + 19, dSteel, 0, 3); - world.setBlock(x + 8, y + 17, z + 19, dSteel, 0, 3); - world.setBlock(x + 9, y + 17, z + 19, dSteel, 0, 3); - world.setBlock(x + 10, y + 17, z + 19, dSteel, 0, 3); - world.setBlock(x + 11, y + 17, z + 19, dSteel, 0, 3); - world.setBlock(x + 12, y + 17, z + 19, dSteel, 0, 3); - world.setBlock(x + 13, y + 17, z + 19, dSteel, 0, 3); - world.setBlock(x + 14, y + 17, z + 19, dSteel, 0, 3); - world.setBlock(x + 15, y + 17, z + 19, dSteel, 0, 3); - world.setBlock(x + 16, y + 17, z + 19, dSteel, 0, 3); - world.setBlock(x + 17, y + 17, z + 19, dSteel, 0, 3); - world.setBlock(x + 18, y + 17, z + 19, dSteel, 0, 3); - world.setBlock(x + 19, y + 17, z + 19, dSteel, 0, 3); - world.setBlock(x + 7, y + 17, z + 20, dSteel, 0, 3); - world.setBlock(x + 8, y + 17, z + 20, dSteel, 0, 3); - world.setBlock(x + 9, y + 17, z + 20, dSteel, 0, 3); - world.setBlock(x + 10, y + 17, z + 20, dSteel, 0, 3); - world.setBlock(x + 11, y + 17, z + 20, dSteel, 0, 3); - world.setBlock(x + 12, y + 17, z + 20, dSteel, 0, 3); - world.setBlock(x + 13, y + 17, z + 20, dSteel, 0, 3); - world.setBlock(x + 14, y + 17, z + 20, dSteel, 0, 3); - world.setBlock(x + 15, y + 17, z + 20, dSteel, 0, 3); - world.setBlock(x + 16, y + 17, z + 20, dSteel, 0, 3); - world.setBlock(x + 17, y + 17, z + 20, dSteel, 0, 3); - world.setBlock(x + 18, y + 17, z + 20, dSteel, 0, 3); - world.setBlock(x + 19, y + 17, z + 20, dSteel, 0, 3); - world.setBlock(x + 7, y + 17, z + 21, dSteel, 0, 3); - world.setBlock(x + 8, y + 17, z + 21, dSteel, 0, 3); - world.setBlock(x + 9, y + 17, z + 21, dSteel, 0, 3); - world.setBlock(x + 10, y + 17, z + 21, dSteel, 0, 3); - world.setBlock(x + 11, y + 17, z + 21, dSteel, 0, 3); - world.setBlock(x + 12, y + 17, z + 21, dSteel, 0, 3); - world.setBlock(x + 13, y + 17, z + 21, dSteel, 0, 3); - world.setBlock(x + 14, y + 17, z + 21, dSteel, 0, 3); - world.setBlock(x + 15, y + 17, z + 21, dSteel, 0, 3); - world.setBlock(x + 16, y + 17, z + 21, dSteel, 0, 3); - world.setBlock(x + 17, y + 17, z + 21, dSteel, 0, 3); - world.setBlock(x + 18, y + 17, z + 21, dSteel, 0, 3); - world.setBlock(x + 19, y + 17, z + 21, dSteel, 0, 3); - world.setBlock(x + 7, y + 17, z + 22, dSteel, 0, 3); - world.setBlock(x + 8, y + 17, z + 22, dSteel, 0, 3); - world.setBlock(x + 9, y + 17, z + 22, dSteel, 0, 3); - world.setBlock(x + 10, y + 17, z + 22, dSteel, 0, 3); - world.setBlock(x + 11, y + 17, z + 22, dSteel, 0, 3); - world.setBlock(x + 12, y + 17, z + 22, dSteel, 0, 3); - world.setBlock(x + 13, y + 17, z + 22, dSteel, 0, 3); - world.setBlock(x + 14, y + 17, z + 22, dSteel, 0, 3); - world.setBlock(x + 15, y + 17, z + 22, dSteel, 0, 3); - world.setBlock(x + 16, y + 17, z + 22, dSteel, 0, 3); - world.setBlock(x + 17, y + 17, z + 22, dSteel, 0, 3); - world.setBlock(x + 18, y + 17, z + 22, dSteel, 0, 3); - world.setBlock(x + 19, y + 17, z + 22, dSteel, 0, 3); - world.setBlock(x + 7, y + 17, z + 23, dSteel, 0, 3); - world.setBlock(x + 8, y + 17, z + 23, dSteel, 0, 3); - world.setBlock(x + 9, y + 17, z + 23, dSteel, 0, 3); - world.setBlock(x + 10, y + 17, z + 23, dSteel, 0, 3); - world.setBlock(x + 11, y + 17, z + 23, dSteel, 0, 3); - world.setBlock(x + 12, y + 17, z + 23, dSteel, 0, 3); - world.setBlock(x + 13, y + 17, z + 23, dSteel, 0, 3); - world.setBlock(x + 14, y + 17, z + 23, dSteel, 0, 3); - world.setBlock(x + 15, y + 17, z + 23, dSteel, 0, 3); - world.setBlock(x + 16, y + 17, z + 23, dSteel, 0, 3); - world.setBlock(x + 17, y + 17, z + 23, dSteel, 0, 3); - world.setBlock(x + 18, y + 17, z + 23, dSteel, 0, 3); - world.setBlock(x + 19, y + 17, z + 23, dSteel, 0, 3); - world.setBlock(x + 7, y + 17, z + 24, dSteel, 0, 3); - world.setBlock(x + 8, y + 17, z + 24, dSteel, 0, 3); - world.setBlock(x + 9, y + 17, z + 24, dSteel, 0, 3); - world.setBlock(x + 10, y + 17, z + 24, dSteel, 0, 3); - world.setBlock(x + 11, y + 17, z + 24, dSteel, 0, 3); - world.setBlock(x + 12, y + 17, z + 24, dSteel, 0, 3); - world.setBlock(x + 13, y + 17, z + 24, dSteel, 0, 3); - world.setBlock(x + 14, y + 17, z + 24, dSteel, 0, 3); - world.setBlock(x + 15, y + 17, z + 24, dSteel, 0, 3); - world.setBlock(x + 16, y + 17, z + 24, dSteel, 0, 3); - world.setBlock(x + 17, y + 17, z + 24, dSteel, 0, 3); - world.setBlock(x + 18, y + 17, z + 24, dSteel, 0, 3); - world.setBlock(x + 19, y + 17, z + 24, dSteel, 0, 3); - world.setBlock(x + 7, y + 17, z + 25, dSteel, 0, 3); - world.setBlock(x + 8, y + 17, z + 25, dSteel, 0, 3); - world.setBlock(x + 9, y + 17, z + 25, dSteel, 0, 3); - world.setBlock(x + 10, y + 17, z + 25, dSteel, 0, 3); - world.setBlock(x + 11, y + 17, z + 25, dSteel, 0, 3); - world.setBlock(x + 12, y + 17, z + 25, dSteel, 0, 3); - world.setBlock(x + 13, y + 17, z + 25, dSteel, 0, 3); - world.setBlock(x + 14, y + 17, z + 25, dSteel, 0, 3); - world.setBlock(x + 15, y + 17, z + 25, dSteel, 0, 3); - world.setBlock(x + 16, y + 17, z + 25, dSteel, 0, 3); - world.setBlock(x + 17, y + 17, z + 25, dSteel, 0, 3); - world.setBlock(x + 18, y + 17, z + 25, dSteel, 0, 3); - world.setBlock(x + 19, y + 17, z + 25, dSteel, 0, 3); - world.setBlock(x + 7, y + 17, z + 26, dSteel, 0, 3); - world.setBlock(x + 8, y + 17, z + 26, dSteel, 0, 3); - world.setBlock(x + 9, y + 17, z + 26, dSteel, 0, 3); - world.setBlock(x + 10, y + 17, z + 26, dSteel, 0, 3); - world.setBlock(x + 11, y + 17, z + 26, dSteel, 0, 3); - world.setBlock(x + 12, y + 17, z + 26, dSteel, 0, 3); - world.setBlock(x + 13, y + 17, z + 26, dSteel, 0, 3); - world.setBlock(x + 14, y + 17, z + 26, dSteel, 0, 3); - world.setBlock(x + 15, y + 17, z + 26, dSteel, 0, 3); - world.setBlock(x + 16, y + 17, z + 26, dSteel, 0, 3); - world.setBlock(x + 17, y + 17, z + 26, dSteel, 0, 3); - world.setBlock(x + 18, y + 17, z + 26, dSteel, 0, 3); - world.setBlock(x + 19, y + 17, z + 26, dSteel, 0, 3); - world.setBlock(x + 7, y + 17, z + 27, dSteel, 0, 3); - world.setBlock(x + 8, y + 17, z + 27, dSteel, 0, 3); - world.setBlock(x + 9, y + 17, z + 27, dSteel, 0, 3); - world.setBlock(x + 10, y + 17, z + 27, dSteel, 0, 3); - world.setBlock(x + 11, y + 17, z + 27, dSteel, 0, 3); - world.setBlock(x + 12, y + 17, z + 27, dSteel, 0, 3); - world.setBlock(x + 13, y + 17, z + 27, dSteel, 0, 3); - world.setBlock(x + 14, y + 17, z + 27, dSteel, 0, 3); - world.setBlock(x + 15, y + 17, z + 27, dSteel, 0, 3); - world.setBlock(x + 16, y + 17, z + 27, dSteel, 0, 3); - world.setBlock(x + 17, y + 17, z + 27, dSteel, 0, 3); - world.setBlock(x + 18, y + 17, z + 27, dSteel, 0, 3); - world.setBlock(x + 19, y + 17, z + 27, dSteel, 0, 3); - world.setBlock(x + 16, y + 18, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 17, y + 18, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 18, y + 18, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 19, y + 18, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 20, y + 18, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 21, y + 18, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 22, y + 18, z + 8, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 15, y + 18, z + 9, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 16, y + 18, z + 9, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 22, y + 18, z + 9, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 23, y + 18, z + 9, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 15, y + 18, z + 10, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 18, y + 18, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 18, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 18, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 23, y + 18, z + 10, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 15, y + 18, z + 11, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 17, y + 18, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 18, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 18, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 18, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 18, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 23, y + 18, z + 11, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 15, y + 18, z + 12, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 17, y + 18, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 18, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 18, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 18, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 18, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 23, y + 18, z + 12, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 15, y + 18, z + 13, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 17, y + 18, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 18, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 18, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 18, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 18, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 23, y + 18, z + 13, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 15, y + 18, z + 14, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 18, y + 18, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 18, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 18, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 23, y + 18, z + 14, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 15, y + 18, z + 15, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 16, y + 18, z + 15, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 22, y + 18, z + 15, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 23, y + 18, z + 15, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 16, y + 18, z + 16, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 17, y + 18, z + 16, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 18, y + 18, z + 16, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 19, y + 18, z + 16, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 21, y + 18, z + 16, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 22, y + 18, z + 16, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 19, y + 18, z + 17, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 21, y + 18, z + 17, ModBlocks.fence_metal, 0, 3); - world.setBlock(x + 18, y + 19, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 19, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 19, z + 10, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 19, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 19, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 19, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 19, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 19, z + 11, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 19, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 19, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 19, z + 12, Blocks.chest, 4, 3); - world.setBlockMetadataWithNotify(x + 19, y + 19, z + 12, 4, 3); - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityChest)world.getTileEntity(x + 19, y + 19, z + 12), 12); - world.setBlock(x + 20, y + 19, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 19, z + 12, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 17, y + 19, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 19, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 19, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 19, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 21, y + 19, z + 13, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 19, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 19, y + 19, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 20, y + 19, z + 14, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 18, y + 20, z + 10, dSteel, 0, 3); - world.setBlock(x + 19, y + 20, z + 10, dSteel, 0, 3); - world.setBlock(x + 20, y + 20, z + 10, dSteel, 0, 3); - world.setBlock(x + 17, y + 20, z + 11, dSteel, 0, 3); - world.setBlock(x + 18, y + 20, z + 11, dSteel, 0, 3); - world.setBlock(x + 19, y + 20, z + 11, dSteel, 0, 3); - world.setBlock(x + 20, y + 20, z + 11, dSteel, 0, 3); - world.setBlock(x + 21, y + 20, z + 11, dSteel, 0, 3); - world.setBlock(x + 17, y + 20, z + 12, dSteel, 0, 3); - world.setBlock(x + 18, y + 20, z + 12, dSteel, 0, 3); - world.setBlock(x + 19, y + 20, z + 12, dSteel, 0, 3); - world.setBlock(x + 20, y + 20, z + 12, dSteel, 0, 3); - world.setBlock(x + 21, y + 20, z + 12, Block5, 0, 3); - world.setBlock(x + 22, y + 20, z + 12, Block5, 0, 3); - world.setBlock(x + 23, y + 20, z + 12, Block5, 0, 3); - world.setBlock(x + 17, y + 20, z + 13, dSteel, 0, 3); - world.setBlock(x + 18, y + 20, z + 13, dSteel, 0, 3); - world.setBlock(x + 19, y + 20, z + 13, dSteel, 0, 3); - world.setBlock(x + 20, y + 20, z + 13, dSteel, 0, 3); - world.setBlock(x + 21, y + 20, z + 13, dSteel, 0, 3); - world.setBlock(x + 18, y + 20, z + 14, dSteel, 0, 3); - world.setBlock(x + 19, y + 20, z + 14, dSteel, 0, 3); - world.setBlock(x + 20, y + 20, z + 14, dSteel, 0, 3); - world.setBlock(x + 18, y + 21, z + 10, dSteel, 0, 3); - world.setBlock(x + 19, y + 21, z + 10, dSteel, 0, 3); - world.setBlock(x + 20, y + 21, z + 10, dSteel, 0, 3); - world.setBlock(x + 18, y + 21, z + 11, dSteel, 0, 3); - world.setBlock(x + 19, y + 21, z + 11, dSteel, 0, 3); - world.setBlock(x + 20, y + 21, z + 11, dSteel, 0, 3); - world.setBlock(x + 22, y + 21, z + 11, Block4, 0, 3); - world.setBlock(x + 21, y + 21, z + 12, Block5, 0, 3); - world.setBlock(x + 22, y + 21, z + 12, Block4, 0, 3); - world.setBlock(x + 23, y + 21, z + 12, Block5, 0, 3); - world.setBlock(x + 24, y + 21, z + 12, Block5, 0, 3); - world.setBlock(x + 18, y + 21, z + 13, dSteel, 0, 3); - world.setBlock(x + 19, y + 21, z + 13, dSteel, 0, 3); - world.setBlock(x + 20, y + 21, z + 13, dSteel, 0, 3); - world.setBlock(x + 22, y + 21, z + 13, Block4, 0, 3); - world.setBlock(x + 18, y + 21, z + 14, dSteel, 0, 3); - world.setBlock(x + 19, y + 21, z + 14, dSteel, 0, 3); - world.setBlock(x + 20, y + 21, z + 14, dSteel, 0, 3); - world.setBlock(x + 15, y + 22, z + 9, dSteel, 0, 3); - world.setBlock(x + 18, y + 22, z + 10, dSteel, 0, 3); - world.setBlock(x + 19, y + 22, z + 10, dSteel, 0, 3); - world.setBlock(x + 20, y + 22, z + 10, dSteel, 0, 3); - world.setBlock(x + 21, y + 22, z + 11, Block4, 0, 3); - world.setBlock(x + 22, y + 22, z + 11, Block4, 0, 3); - world.setBlock(x + 23, y + 22, z + 11, Block4, 0, 3); - world.setBlock(x + 21, y + 22, z + 12, Block4, 0, 3); - world.setBlock(x + 22, y + 22, z + 12, Block4, 0, 3); - world.setBlock(x + 23, y + 22, z + 12, Block4, 0, 3); - world.setBlock(x + 24, y + 22, z + 12, Block5, 0, 3); - world.setBlock(x + 21, y + 22, z + 13, Block4, 0, 3); - world.setBlock(x + 22, y + 22, z + 13, Block4, 0, 3); - world.setBlock(x + 23, y + 22, z + 13, Block4, 0, 3); - world.setBlock(x + 18, y + 22, z + 14, dSteel, 0, 3); - world.setBlock(x + 19, y + 22, z + 14, dSteel, 0, 3); - world.setBlock(x + 20, y + 22, z + 14, dSteel, 0, 3); - world.setBlock(x + 15, y + 22, z + 15, dSteel, 0, 3); - world.setBlock(x + 14, y + 23, z + 9, dSteel, 0, 3); - world.setBlock(x + 15, y + 23, z + 9, dSteel, 0, 3); - world.setBlock(x + 16, y + 23, z + 9, dSteel, 0, 3); - world.setBlock(x + 15, y + 23, z + 10, dSteel, 0, 3); - world.setBlock(x + 18, y + 23, z + 10, dSteel, 0, 3); - world.setBlock(x + 19, y + 23, z + 10, dSteel, 0, 3); - world.setBlock(x + 20, y + 23, z + 10, dSteel, 0, 3); - world.setBlock(x + 15, y + 23, z + 11, dSteel, 0, 3); - world.setBlock(x + 20, y + 23, z + 11, Block4, 0, 3); - world.setBlock(x + 21, y + 23, z + 11, Block4, 0, 3); - world.setBlock(x + 22, y + 23, z + 11, Block4, 0, 3); - world.setBlock(x + 15, y + 23, z + 12, dSteel, 0, 3); - world.setBlock(x + 20, y + 23, z + 12, Block4, 0, 3); - world.setBlock(x + 21, y + 23, z + 12, Block4, 0, 3); - world.setBlock(x + 22, y + 23, z + 12, Block4, 0, 3); - world.setBlock(x + 23, y + 23, z + 12, Block5, 0, 3); - world.setBlock(x + 24, y + 23, z + 12, Block5, 0, 3); - world.setBlock(x + 15, y + 23, z + 13, dSteel, 0, 3); - world.setBlock(x + 20, y + 23, z + 13, Block4, 0, 3); - world.setBlock(x + 21, y + 23, z + 13, Block4, 0, 3); - world.setBlock(x + 22, y + 23, z + 13, Block4, 0, 3); - world.setBlock(x + 15, y + 23, z + 14, dSteel, 0, 3); - world.setBlock(x + 18, y + 23, z + 14, dSteel, 0, 3); - world.setBlock(x + 19, y + 23, z + 14, dSteel, 0, 3); - world.setBlock(x + 20, y + 23, z + 14, dSteel, 0, 3); - world.setBlock(x + 14, y + 23, z + 15, dSteel, 0, 3); - world.setBlock(x + 15, y + 23, z + 15, dSteel, 0, 3); - world.setBlock(x + 16, y + 23, z + 15, dSteel, 0, 3); - world.setBlock(x + 5, y + 24, z + 9, Block5, 0, 3); - world.setBlock(x + 6, y + 24, z + 9, Block5, 0, 3); - world.setBlock(x + 7, y + 24, z + 9, Block5, 0, 3); - world.setBlock(x + 8, y + 24, z + 9, Block5, 0, 3); - world.setBlock(x + 9, y + 24, z + 9, Block5, 0, 3); - world.setBlock(x + 10, y + 24, z + 9, Block5, 0, 3); - world.setBlock(x + 11, y + 24, z + 9, Block5, 0, 3); - world.setBlock(x + 15, y + 24, z + 9, dSteel, 0, 3); - world.setBlock(x + 16, y + 24, z + 9, dSteel, 0, 3); - world.setBlock(x + 17, y + 24, z + 9, dSteel, 0, 3); - world.setBlock(x + 5, y + 24, z + 10, Block5, 0, 3); - world.setBlock(x + 6, y + 24, z + 10, Block5, 0, 3); - world.setBlock(x + 7, y + 24, z + 10, Block5, 0, 3); - world.setBlock(x + 8, y + 24, z + 10, Block5, 0, 3); - world.setBlock(x + 9, y + 24, z + 10, Block5, 0, 3); - world.setBlock(x + 10, y + 24, z + 10, Block5, 0, 3); - world.setBlock(x + 11, y + 24, z + 10, Block5, 0, 3); - world.setBlock(x + 12, y + 24, z + 10, dSteel, 0, 3); - world.setBlock(x + 13, y + 24, z + 10, dSteel, 0, 3); - world.setBlock(x + 14, y + 24, z + 10, dSteel, 0, 3); - world.setBlock(x + 15, y + 24, z + 10, dSteel, 0, 3); - world.setBlock(x + 16, y + 24, z + 10, dSteel, 0, 3); - world.setBlock(x + 17, y + 24, z + 10, dSteel, 0, 3); - world.setBlock(x + 19, y + 24, z + 10, dSteel, 0, 3); - world.setBlock(x + 5, y + 24, z + 11, Block5, 0, 3); - world.setBlock(x + 6, y + 24, z + 11, Block5, 0, 3); - world.setBlock(x + 7, y + 24, z + 11, Block5, 0, 3); - world.setBlock(x + 8, y + 24, z + 11, Block5, 0, 3); - world.setBlock(x + 9, y + 24, z + 11, Block5, 0, 3); - world.setBlock(x + 10, y + 24, z + 11, Block5, 0, 3); - world.setBlock(x + 11, y + 24, z + 11, Block5, 0, 3); - world.setBlock(x + 17, y + 24, z + 11, dSteel, 0, 3); - world.setBlock(x + 19, y + 24, z + 11, Block4, 0, 3); - world.setBlock(x + 20, y + 24, z + 11, Block4, 0, 3); - world.setBlock(x + 21, y + 24, z + 11, Block4, 0, 3); - world.setBlock(x + 5, y + 24, z + 12, Block5, 0, 3); - world.setBlock(x + 6, y + 24, z + 12, Block5, 0, 3); - world.setBlock(x + 7, y + 24, z + 12, Block5, 0, 3); - world.setBlock(x + 8, y + 24, z + 12, Block5, 0, 3); - world.setBlock(x + 9, y + 24, z + 12, Block5, 0, 3); - world.setBlock(x + 10, y + 24, z + 12, Block5, 0, 3); - world.setBlock(x + 11, y + 24, z + 12, Block5, 0, 3); - world.setBlock(x + 17, y + 24, z + 12, dSteel, 0, 3); - world.setBlock(x + 19, y + 24, z + 12, Block4, 0, 3); - world.setBlock(x + 20, y + 24, z + 12, Block4, 0, 3); - world.setBlock(x + 21, y + 24, z + 12, Block4, 0, 3); - world.setBlock(x + 5, y + 24, z + 13, Block5, 0, 3); - world.setBlock(x + 6, y + 24, z + 13, Block5, 0, 3); - - generate_r02(world, rand, x, y, z); - return true; - - } - public boolean generate_r02(World world, Random rand, int x, int y, int z) - { - - world.setBlock(x + 7, y + 24, z + 13, Block5, 0, 3); - world.setBlock(x + 8, y + 24, z + 13, Block5, 0, 3); - world.setBlock(x + 9, y + 24, z + 13, Block5, 0, 3); - world.setBlock(x + 10, y + 24, z + 13, Block5, 0, 3); - world.setBlock(x + 11, y + 24, z + 13, Block5, 0, 3); - world.setBlock(x + 17, y + 24, z + 13, dSteel, 0, 3); - world.setBlock(x + 19, y + 24, z + 13, Block4, 0, 3); - world.setBlock(x + 20, y + 24, z + 13, Block4, 0, 3); - world.setBlock(x + 21, y + 24, z + 13, Block4, 0, 3); - world.setBlock(x + 5, y + 24, z + 14, Block5, 0, 3); - world.setBlock(x + 6, y + 24, z + 14, Block5, 0, 3); - world.setBlock(x + 7, y + 24, z + 14, Block5, 0, 3); - world.setBlock(x + 8, y + 24, z + 14, Block5, 0, 3); - world.setBlock(x + 9, y + 24, z + 14, Block5, 0, 3); - world.setBlock(x + 10, y + 24, z + 14, Block5, 0, 3); - world.setBlock(x + 11, y + 24, z + 14, Block5, 0, 3); - world.setBlock(x + 12, y + 24, z + 14, dSteel, 0, 3); - world.setBlock(x + 13, y + 24, z + 14, dSteel, 0, 3); - world.setBlock(x + 14, y + 24, z + 14, dSteel, 0, 3); - world.setBlock(x + 15, y + 24, z + 14, dSteel, 0, 3); - world.setBlock(x + 16, y + 24, z + 14, dSteel, 0, 3); - world.setBlock(x + 17, y + 24, z + 14, dSteel, 0, 3); - world.setBlock(x + 19, y + 24, z + 14, dSteel, 0, 3); - world.setBlock(x + 5, y + 24, z + 15, Block5, 0, 3); - world.setBlock(x + 6, y + 24, z + 15, Block5, 0, 3); - world.setBlock(x + 7, y + 24, z + 15, Block5, 0, 3); - world.setBlock(x + 8, y + 24, z + 15, Block5, 0, 3); - world.setBlock(x + 9, y + 24, z + 15, Block5, 0, 3); - world.setBlock(x + 10, y + 24, z + 15, Block5, 0, 3); - world.setBlock(x + 11, y + 24, z + 15, Block5, 0, 3); - world.setBlock(x + 15, y + 24, z + 15, dSteel, 0, 3); - world.setBlock(x + 16, y + 24, z + 15, dSteel, 0, 3); - world.setBlock(x + 17, y + 24, z + 15, dSteel, 0, 3); - world.setBlock(x + 5, y + 25, z + 6, Block5, 0, 3); - world.setBlock(x + 6, y + 25, z + 6, Block5, 0, 3); - world.setBlock(x + 7, y + 25, z + 6, Block5, 0, 3); - world.setBlock(x + 8, y + 25, z + 6, Block5, 0, 3); - world.setBlock(x + 9, y + 25, z + 6, Block5, 0, 3); - world.setBlock(x + 10, y + 25, z + 6, Block5, 0, 3); - world.setBlock(x + 11, y + 25, z + 6, Block5, 0, 3); - world.setBlock(x + 5, y + 25, z + 7, Block5, 0, 3); - world.setBlock(x + 6, y + 25, z + 7, Block5, 0, 3); - world.setBlock(x + 7, y + 25, z + 7, Block5, 0, 3); - world.setBlock(x + 8, y + 25, z + 7, Block5, 0, 3); - world.setBlock(x + 9, y + 25, z + 7, Block5, 0, 3); - world.setBlock(x + 10, y + 25, z + 7, Block5, 0, 3); - world.setBlock(x + 11, y + 25, z + 7, Block5, 0, 3); - world.setBlock(x + 5, y + 25, z + 8, Block5, 0, 3); - world.setBlock(x + 6, y + 25, z + 8, Block5, 0, 3); - world.setBlock(x + 7, y + 25, z + 8, Block5, 0, 3); - world.setBlock(x + 8, y + 25, z + 8, Block5, 0, 3); - world.setBlock(x + 9, y + 25, z + 8, Block5, 0, 3); - world.setBlock(x + 10, y + 25, z + 8, Block5, 0, 3); - world.setBlock(x + 11, y + 25, z + 8, Block5, 0, 3); - world.setBlock(x + 2, y + 25, z + 9, Block5, 0, 3); - world.setBlock(x + 3, y + 25, z + 9, Block5, 0, 3); - world.setBlock(x + 4, y + 25, z + 9, Block5, 0, 3); - world.setBlock(x + 12, y + 25, z + 9, Block5, 0, 3); - world.setBlock(x + 13, y + 25, z + 9, Block5, 0, 3); - world.setBlock(x + 14, y + 25, z + 9, Block5, 0, 3); - world.setBlock(x + 16, y + 25, z + 9, dSteel, 0, 3); - world.setBlock(x + 17, y + 25, z + 9, dSteel, 0, 3); - world.setBlock(x + 18, y + 25, z + 9, dSteel, 0, 3); - world.setBlock(x + 2, y + 25, z + 10, Block5, 0, 3); - world.setBlock(x + 3, y + 25, z + 10, Block5, 0, 3); - world.setBlock(x + 4, y + 25, z + 10, Block5, 0, 3); - world.setBlock(x + 12, y + 25, z + 10, Block5, 0, 3); - world.setBlock(x + 13, y + 25, z + 10, Block5, 0, 3); - world.setBlock(x + 14, y + 25, z + 10, Block5, 0, 3); - world.setBlock(x + 15, y + 25, z + 10, dSteel, 0, 3); - world.setBlock(x + 16, y + 25, z + 10, dSteel, 0, 3); - world.setBlock(x + 17, y + 25, z + 10, dSteel, 0, 3); - world.setBlock(x + 18, y + 25, z + 10, dSteel, 0, 3); - world.setBlock(x + 19, y + 25, z + 10, dSteel, 0, 3); - world.setBlock(x + 2, y + 25, z + 11, Block5, 0, 3); - world.setBlock(x + 3, y + 25, z + 11, Block5, 0, 3); - world.setBlock(x + 4, y + 25, z + 11, Block5, 0, 3); - world.setBlock(x + 12, y + 25, z + 11, Block5, 0, 3); - world.setBlock(x + 13, y + 25, z + 11, Block5, 0, 3); - world.setBlock(x + 14, y + 25, z + 11, Block5, 0, 3); - world.setBlock(x + 16, y + 25, z + 11, dSteel, 0, 3); - world.setBlock(x + 17, y + 25, z + 11, dSteel, 0, 3); - world.setBlock(x + 18, y + 25, z + 11, dSteel, 0, 3); - world.setBlock(x + 19, y + 25, z + 11, Block4, 0, 3); - world.setBlock(x + 20, y + 25, z + 11, Block4, 0, 3); - world.setBlock(x + 2, y + 25, z + 12, Block5, 0, 3); - world.setBlock(x + 3, y + 25, z + 12, Block5, 0, 3); - world.setBlock(x + 4, y + 25, z + 12, Block5, 0, 3); - world.setBlock(x + 11, y + 25, z + 12, Block4, 0, 3); - world.setBlock(x + 12, y + 25, z + 12, Block5, 0, 3); - world.setBlock(x + 13, y + 25, z + 12, Block5, 0, 3); - world.setBlock(x + 14, y + 25, z + 12, Block5, 0, 3); - world.setBlock(x + 16, y + 25, z + 12, dSteel, 0, 3); - world.setBlock(x + 17, y + 25, z + 12, dSteel, 0, 3); - world.setBlock(x + 18, y + 25, z + 12, dSteel, 0, 3); - world.setBlock(x + 19, y + 25, z + 12, Block4, 0, 3); - world.setBlock(x + 20, y + 25, z + 12, Block4, 0, 3); - world.setBlock(x + 2, y + 25, z + 13, Block5, 0, 3); - world.setBlock(x + 3, y + 25, z + 13, Block5, 0, 3); - world.setBlock(x + 4, y + 25, z + 13, Block5, 0, 3); - world.setBlock(x + 12, y + 25, z + 13, Block5, 0, 3); - world.setBlock(x + 13, y + 25, z + 13, Block5, 0, 3); - world.setBlock(x + 14, y + 25, z + 13, Block5, 0, 3); - world.setBlock(x + 16, y + 25, z + 13, dSteel, 0, 3); - world.setBlock(x + 17, y + 25, z + 13, dSteel, 0, 3); - world.setBlock(x + 18, y + 25, z + 13, dSteel, 0, 3); - world.setBlock(x + 19, y + 25, z + 13, Block4, 0, 3); - world.setBlock(x + 20, y + 25, z + 13, Block4, 0, 3); - world.setBlock(x + 2, y + 25, z + 14, Block5, 0, 3); - world.setBlock(x + 3, y + 25, z + 14, Block5, 0, 3); - world.setBlock(x + 4, y + 25, z + 14, Block5, 0, 3); - world.setBlock(x + 12, y + 25, z + 14, Block5, 0, 3); - world.setBlock(x + 13, y + 25, z + 14, Block5, 0, 3); - world.setBlock(x + 14, y + 25, z + 14, Block5, 0, 3); - world.setBlock(x + 15, y + 25, z + 14, dSteel, 0, 3); - world.setBlock(x + 16, y + 25, z + 14, dSteel, 0, 3); - world.setBlock(x + 17, y + 25, z + 14, dSteel, 0, 3); - world.setBlock(x + 18, y + 25, z + 14, dSteel, 0, 3); - world.setBlock(x + 19, y + 25, z + 14, dSteel, 0, 3); - world.setBlock(x + 2, y + 25, z + 15, Block5, 0, 3); - world.setBlock(x + 3, y + 25, z + 15, Block5, 0, 3); - world.setBlock(x + 4, y + 25, z + 15, Block5, 0, 3); - world.setBlock(x + 12, y + 25, z + 15, Block5, 0, 3); - world.setBlock(x + 13, y + 25, z + 15, Block5, 0, 3); - world.setBlock(x + 14, y + 25, z + 15, Block5, 0, 3); - world.setBlock(x + 16, y + 25, z + 15, dSteel, 0, 3); - world.setBlock(x + 17, y + 25, z + 15, dSteel, 0, 3); - world.setBlock(x + 18, y + 25, z + 15, dSteel, 0, 3); - world.setBlock(x + 5, y + 25, z + 16, Block5, 0, 3); - world.setBlock(x + 6, y + 25, z + 16, Block5, 0, 3); - world.setBlock(x + 7, y + 25, z + 16, Block5, 0, 3); - world.setBlock(x + 8, y + 25, z + 16, Block5, 0, 3); - world.setBlock(x + 9, y + 25, z + 16, Block5, 0, 3); - world.setBlock(x + 10, y + 25, z + 16, Block5, 0, 3); - world.setBlock(x + 11, y + 25, z + 16, Block5, 0, 3); - world.setBlock(x + 5, y + 25, z + 17, Block5, 0, 3); - world.setBlock(x + 6, y + 25, z + 17, Block5, 0, 3); - world.setBlock(x + 7, y + 25, z + 17, Block5, 0, 3); - world.setBlock(x + 8, y + 25, z + 17, Block5, 0, 3); - world.setBlock(x + 9, y + 25, z + 17, Block5, 0, 3); - world.setBlock(x + 10, y + 25, z + 17, Block5, 0, 3); - world.setBlock(x + 11, y + 25, z + 17, Block5, 0, 3); - world.setBlock(x + 5, y + 25, z + 18, Block5, 0, 3); - world.setBlock(x + 6, y + 25, z + 18, Block5, 0, 3); - world.setBlock(x + 7, y + 25, z + 18, Block5, 0, 3); - world.setBlock(x + 8, y + 25, z + 18, Block5, 0, 3); - world.setBlock(x + 9, y + 25, z + 18, Block5, 0, 3); - world.setBlock(x + 10, y + 25, z + 18, Block5, 0, 3); - world.setBlock(x + 11, y + 25, z + 18, Block5, 0, 3); - world.setBlock(x + 5, y + 26, z + 4, Block5, 0, 3); - world.setBlock(x + 6, y + 26, z + 4, Block5, 0, 3); - world.setBlock(x + 7, y + 26, z + 4, Block5, 0, 3); - world.setBlock(x + 8, y + 26, z + 4, Block5, 0, 3); - world.setBlock(x + 9, y + 26, z + 4, Block5, 0, 3); - world.setBlock(x + 10, y + 26, z + 4, Block5, 0, 3); - world.setBlock(x + 11, y + 26, z + 4, Block5, 0, 3); - world.setBlock(x + 5, y + 26, z + 5, Block5, 0, 3); - world.setBlock(x + 6, y + 26, z + 5, Block5, 0, 3); - world.setBlock(x + 7, y + 26, z + 5, Block5, 0, 3); - world.setBlock(x + 8, y + 26, z + 5, Block5, 0, 3); - world.setBlock(x + 9, y + 26, z + 5, Block5, 0, 3); - world.setBlock(x + 10, y + 26, z + 5, Block5, 0, 3); - world.setBlock(x + 11, y + 26, z + 5, Block5, 0, 3); - world.setBlock(x + 2, y + 26, z + 6, Block5, 0, 3); - world.setBlock(x + 3, y + 26, z + 6, Block5, 0, 3); - world.setBlock(x + 4, y + 26, z + 6, Block5, 0, 3); - world.setBlock(x + 12, y + 26, z + 6, Block5, 0, 3); - world.setBlock(x + 13, y + 26, z + 6, Block5, 0, 3); - world.setBlock(x + 14, y + 26, z + 6, Block5, 0, 3); - world.setBlock(x + 2, y + 26, z + 7, Block5, 0, 3); - world.setBlock(x + 3, y + 26, z + 7, Block5, 0, 3); - world.setBlock(x + 4, y + 26, z + 7, Block5, 0, 3); - world.setBlock(x + 12, y + 26, z + 7, Block5, 0, 3); - world.setBlock(x + 13, y + 26, z + 7, Block5, 0, 3); - world.setBlock(x + 14, y + 26, z + 7, Block5, 0, 3); - world.setBlock(x + 2, y + 26, z + 8, Block5, 0, 3); - world.setBlock(x + 3, y + 26, z + 8, Block5, 0, 3); - world.setBlock(x + 4, y + 26, z + 8, Block5, 0, 3); - world.setBlock(x + 12, y + 26, z + 8, Block5, 0, 3); - world.setBlock(x + 13, y + 26, z + 8, Block5, 0, 3); - world.setBlock(x + 14, y + 26, z + 8, Block5, 0, 3); - world.setBlock(x + 0, y + 26, z + 9, Block7, 0, 3); - world.setBlock(x + 1, y + 26, z + 9, Block5, 0, 3); - world.setBlock(x + 15, y + 26, z + 9, Block5, 0, 3); - world.setBlock(x + 16, y + 26, z + 9, Block5, 0, 3); - world.setBlock(x + 17, y + 26, z + 9, dSteel, 0, 3); - world.setBlock(x + 18, y + 26, z + 9, dSteel, 0, 3); - world.setBlock(x + 19, y + 26, z + 9, dSteel, 0, 3); - world.setBlock(x + 0, y + 26, z + 10, Block7, 0, 3); - world.setBlock(x + 1, y + 26, z + 10, Block5, 0, 3); - world.setBlock(x + 15, y + 26, z + 10, Block5, 0, 3); - world.setBlock(x + 16, y + 26, z + 10, Block5, 0, 3); - world.setBlock(x + 17, y + 26, z + 10, dSteel, 0, 3); - world.setBlock(x + 18, y + 26, z + 10, dSteel, 0, 3); - world.setBlock(x + 19, y + 26, z + 10, dSteel, 0, 3); - world.setBlock(x + 0, y + 26, z + 11, Block7, 0, 3); - world.setBlock(x + 1, y + 26, z + 11, Block5, 0, 3); - world.setBlock(x + 15, y + 26, z + 11, Block5, 0, 3); - world.setBlock(x + 16, y + 26, z + 11, Block5, 0, 3); - world.setBlock(x + 17, y + 26, z + 11, dSteel, 0, 3); - world.setBlock(x + 18, y + 26, z + 11, dSteel, 0, 3); - world.setBlock(x + 19, y + 26, z + 11, dSteel, 0, 3); - world.setBlock(x + 0, y + 26, z + 12, Block7, 0, 3); - world.setBlock(x + 1, y + 26, z + 12, Block5, 0, 3); - world.setBlock(x + 10, y + 26, z + 12, Block4, 0, 3); - world.setBlock(x + 11, y + 26, z + 12, Block4, 0, 3); - world.setBlock(x + 15, y + 26, z + 12, Block5, 0, 3); - world.setBlock(x + 16, y + 26, z + 12, Block5, 0, 3); - world.setBlock(x + 17, y + 26, z + 12, dSteel, 0, 3); - world.setBlock(x + 18, y + 26, z + 12, dSteel, 0, 3); - world.setBlock(x + 19, y + 26, z + 12, dSteel, 0, 3); - world.setBlock(x + 0, y + 26, z + 13, Block7, 0, 3); - world.setBlock(x + 1, y + 26, z + 13, Block5, 0, 3); - world.setBlock(x + 15, y + 26, z + 13, Block5, 0, 3); - world.setBlock(x + 16, y + 26, z + 13, Block5, 0, 3); - world.setBlock(x + 17, y + 26, z + 13, dSteel, 0, 3); - world.setBlock(x + 18, y + 26, z + 13, dSteel, 0, 3); - world.setBlock(x + 19, y + 26, z + 13, dSteel, 0, 3); - world.setBlock(x + 0, y + 26, z + 14, Block7, 0, 3); - world.setBlock(x + 1, y + 26, z + 14, Block5, 0, 3); - world.setBlock(x + 15, y + 26, z + 14, Block5, 0, 3); - world.setBlock(x + 16, y + 26, z + 14, Block5, 0, 3); - world.setBlock(x + 17, y + 26, z + 14, dSteel, 0, 3); - world.setBlock(x + 18, y + 26, z + 14, dSteel, 0, 3); - world.setBlock(x + 19, y + 26, z + 14, dSteel, 0, 3); - world.setBlock(x + 0, y + 26, z + 15, Block7, 0, 3); - world.setBlock(x + 1, y + 26, z + 15, Block5, 0, 3); - world.setBlock(x + 15, y + 26, z + 15, Block5, 0, 3); - world.setBlock(x + 16, y + 26, z + 15, Block5, 0, 3); - world.setBlock(x + 17, y + 26, z + 15, dSteel, 0, 3); - world.setBlock(x + 18, y + 26, z + 15, dSteel, 0, 3); - world.setBlock(x + 19, y + 26, z + 15, dSteel, 0, 3); - world.setBlock(x + 2, y + 26, z + 16, Block5, 0, 3); - world.setBlock(x + 3, y + 26, z + 16, Block5, 0, 3); - world.setBlock(x + 4, y + 26, z + 16, Block5, 0, 3); - world.setBlock(x + 12, y + 26, z + 16, Block5, 0, 3); - world.setBlock(x + 13, y + 26, z + 16, Block5, 0, 3); - world.setBlock(x + 14, y + 26, z + 16, Block5, 0, 3); - world.setBlock(x + 2, y + 26, z + 17, Block5, 0, 3); - world.setBlock(x + 3, y + 26, z + 17, Block5, 0, 3); - world.setBlock(x + 4, y + 26, z + 17, Block5, 0, 3); - world.setBlock(x + 12, y + 26, z + 17, Block5, 0, 3); - world.setBlock(x + 13, y + 26, z + 17, Block5, 0, 3); - world.setBlock(x + 14, y + 26, z + 17, Block5, 0, 3); - world.setBlock(x + 2, y + 26, z + 18, Block5, 0, 3); - world.setBlock(x + 3, y + 26, z + 18, Block5, 0, 3); - world.setBlock(x + 4, y + 26, z + 18, Block5, 0, 3); - world.setBlock(x + 12, y + 26, z + 18, Block5, 0, 3); - world.setBlock(x + 13, y + 26, z + 18, Block5, 0, 3); - world.setBlock(x + 14, y + 26, z + 18, Block5, 0, 3); - world.setBlock(x + 5, y + 26, z + 19, Block5, 0, 3); - world.setBlock(x + 6, y + 26, z + 19, Block5, 0, 3); - world.setBlock(x + 7, y + 26, z + 19, Block5, 0, 3); - world.setBlock(x + 8, y + 26, z + 19, Block5, 0, 3); - world.setBlock(x + 9, y + 26, z + 19, Block5, 0, 3); - world.setBlock(x + 10, y + 26, z + 19, Block5, 0, 3); - world.setBlock(x + 11, y + 26, z + 19, Block5, 0, 3); - world.setBlock(x + 5, y + 26, z + 20, Block5, 0, 3); - world.setBlock(x + 6, y + 26, z + 20, Block5, 0, 3); - world.setBlock(x + 7, y + 26, z + 20, Block5, 0, 3); - world.setBlock(x + 8, y + 26, z + 20, Block5, 0, 3); - world.setBlock(x + 9, y + 26, z + 20, Block5, 0, 3); - world.setBlock(x + 10, y + 26, z + 20, Block5, 0, 3); - world.setBlock(x + 11, y + 26, z + 20, Block5, 0, 3); - world.setBlock(x + 5, y + 27, z + 3, Block5, 0, 3); - world.setBlock(x + 6, y + 27, z + 3, Block5, 0, 3); - world.setBlock(x + 7, y + 27, z + 3, Block5, 0, 3); - world.setBlock(x + 8, y + 27, z + 3, Block5, 0, 3); - world.setBlock(x + 9, y + 27, z + 3, Block5, 0, 3); - world.setBlock(x + 10, y + 27, z + 3, Block5, 0, 3); - world.setBlock(x + 11, y + 27, z + 3, Block5, 0, 3); - world.setBlock(x + 2, y + 27, z + 4, Block7, 0, 3); - world.setBlock(x + 3, y + 27, z + 4, Block5, 0, 3); - world.setBlock(x + 4, y + 27, z + 4, Block5, 0, 3); - world.setBlock(x + 12, y + 27, z + 4, Block5, 0, 3); - world.setBlock(x + 13, y + 27, z + 4, Block5, 0, 3); - world.setBlock(x + 14, y + 27, z + 4, Block5, 0, 3); - world.setBlock(x + 2, y + 27, z + 5, Block7, 0, 3); - world.setBlock(x + 3, y + 27, z + 5, Block5, 0, 3); - world.setBlock(x + 4, y + 27, z + 5, Block5, 0, 3); - world.setBlock(x + 12, y + 27, z + 5, Block5, 0, 3); - world.setBlock(x + 13, y + 27, z + 5, Block5, 0, 3); - world.setBlock(x + 14, y + 27, z + 5, Block5, 0, 3); - world.setBlock(x + 1, y + 27, z + 6, Block7, 0, 3); - world.setBlock(x + 15, y + 27, z + 6, Block5, 0, 3); - world.setBlock(x + 16, y + 27, z + 6, Block5, 0, 3); - world.setBlock(x + 1, y + 27, z + 7, Block7, 0, 3); - world.setBlock(x + 15, y + 27, z + 7, Block5, 0, 3); - world.setBlock(x + 16, y + 27, z + 7, Block5, 0, 3); - world.setBlock(x + 1, y + 27, z + 8, Block7, 0, 3); - world.setBlock(x + 15, y + 27, z + 8, Block5, 0, 3); - world.setBlock(x + 16, y + 27, z + 8, Block5, 0, 3); - world.setBlock(x + 17, y + 27, z + 9, Block5, 0, 3); - world.setBlock(x + 18, y + 27, z + 9, dSteel, 0, 3); - world.setBlock(x + 19, y + 27, z + 9, dSteel, 0, 3); - world.setBlock(x + 20, y + 27, z + 9, dSteel, 0, 3); - world.setBlock(x + 17, y + 27, z + 10, Block5, 0, 3); - world.setBlock(x + 18, y + 27, z + 10, dSteel, 0, 3); - world.setBlock(x + 19, y + 27, z + 10, dSteel, 0, 3); - world.setBlock(x + 20, y + 27, z + 10, dSteel, 0, 3); - world.setBlock(x + 17, y + 27, z + 11, Block5, 0, 3); - world.setBlock(x + 18, y + 27, z + 11, dSteel, 0, 3); - world.setBlock(x + 19, y + 27, z + 11, dSteel, 0, 3); - world.setBlock(x + 20, y + 27, z + 11, dSteel, 0, 3); - world.setBlock(x + 10, y + 27, z + 12, Block4, 0, 3); - world.setBlock(x + 17, y + 27, z + 12, Block5, 0, 3); - world.setBlock(x + 18, y + 27, z + 12, dSteel, 0, 3); - world.setBlock(x + 19, y + 27, z + 12, dSteel, 0, 3); - world.setBlock(x + 20, y + 27, z + 12, dSteel, 0, 3); - world.setBlock(x + 17, y + 27, z + 13, Block5, 0, 3); - world.setBlock(x + 18, y + 27, z + 13, dSteel, 0, 3); - world.setBlock(x + 19, y + 27, z + 13, dSteel, 0, 3); - world.setBlock(x + 20, y + 27, z + 13, dSteel, 0, 3); - world.setBlock(x + 17, y + 27, z + 14, Block5, 0, 3); - world.setBlock(x + 18, y + 27, z + 14, dSteel, 0, 3); - world.setBlock(x + 19, y + 27, z + 14, dSteel, 0, 3); - world.setBlock(x + 20, y + 27, z + 14, dSteel, 0, 3); - world.setBlock(x + 17, y + 27, z + 15, Block5, 0, 3); - world.setBlock(x + 18, y + 27, z + 15, dSteel, 0, 3); - world.setBlock(x + 19, y + 27, z + 15, dSteel, 0, 3); - world.setBlock(x + 20, y + 27, z + 15, dSteel, 0, 3); - world.setBlock(x + 1, y + 27, z + 16, Block7, 0, 3); - world.setBlock(x + 15, y + 27, z + 16, Block5, 0, 3); - world.setBlock(x + 16, y + 27, z + 16, Block5, 0, 3); - world.setBlock(x + 1, y + 27, z + 17, Block7, 0, 3); - world.setBlock(x + 15, y + 27, z + 17, Block5, 0, 3); - world.setBlock(x + 16, y + 27, z + 17, Block5, 0, 3); - world.setBlock(x + 1, y + 27, z + 18, Block7, 0, 3); - world.setBlock(x + 15, y + 27, z + 18, Block5, 0, 3); - world.setBlock(x + 16, y + 27, z + 18, Block5, 0, 3); - world.setBlock(x + 2, y + 27, z + 19, Block7, 0, 3); - world.setBlock(x + 3, y + 27, z + 19, Block5, 0, 3); - world.setBlock(x + 4, y + 27, z + 19, Block5, 0, 3); - world.setBlock(x + 12, y + 27, z + 19, Block5, 0, 3); - world.setBlock(x + 13, y + 27, z + 19, Block5, 0, 3); - world.setBlock(x + 14, y + 27, z + 19, Block5, 0, 3); - world.setBlock(x + 2, y + 27, z + 20, Block7, 0, 3); - world.setBlock(x + 3, y + 27, z + 20, Block5, 0, 3); - world.setBlock(x + 4, y + 27, z + 20, Block5, 0, 3); - world.setBlock(x + 12, y + 27, z + 20, Block5, 0, 3); - world.setBlock(x + 13, y + 27, z + 20, Block5, 0, 3); - world.setBlock(x + 14, y + 27, z + 20, Block5, 0, 3); - world.setBlock(x + 5, y + 27, z + 21, Block5, 0, 3); - world.setBlock(x + 6, y + 27, z + 21, Block5, 0, 3); - world.setBlock(x + 7, y + 27, z + 21, Block5, 0, 3); - world.setBlock(x + 8, y + 27, z + 21, Block5, 0, 3); - world.setBlock(x + 9, y + 27, z + 21, Block5, 0, 3); - world.setBlock(x + 10, y + 27, z + 21, Block5, 0, 3); - world.setBlock(x + 11, y + 27, z + 21, Block5, 0, 3); - world.setBlock(x + 5, y + 28, z + 2, Block5, 0, 3); - world.setBlock(x + 6, y + 28, z + 2, Block5, 0, 3); - world.setBlock(x + 7, y + 28, z + 2, Block5, 0, 3); - world.setBlock(x + 8, y + 28, z + 2, Block5, 0, 3); - world.setBlock(x + 9, y + 28, z + 2, Block5, 0, 3); - world.setBlock(x + 10, y + 28, z + 2, Block5, 0, 3); - world.setBlock(x + 11, y + 28, z + 2, Block5, 0, 3); - world.setBlock(x + 2, y + 28, z + 3, Block7, 0, 3); - world.setBlock(x + 3, y + 28, z + 3, Block5, 0, 3); - world.setBlock(x + 4, y + 28, z + 3, Block5, 0, 3); - world.setBlock(x + 12, y + 28, z + 3, Block5, 0, 3); - world.setBlock(x + 13, y + 28, z + 3, Block5, 0, 3); - world.setBlock(x + 14, y + 28, z + 3, Block5, 0, 3); - world.setBlock(x + 15, y + 28, z + 4, Block5, 0, 3); - world.setBlock(x + 16, y + 28, z + 4, Block5, 0, 3); - world.setBlock(x + 15, y + 28, z + 5, Block5, 0, 3); - world.setBlock(x + 16, y + 28, z + 5, Block5, 0, 3); - world.setBlock(x + 17, y + 28, z + 6, Block5, 0, 3); - world.setBlock(x + 17, y + 28, z + 7, Block5, 0, 3); - world.setBlock(x + 17, y + 28, z + 8, Block5, 0, 3); - world.setBlock(x + 18, y + 28, z + 9, Block5, 0, 3); - world.setBlock(x + 19, y + 28, z + 9, dSteel, 0, 3); - world.setBlock(x + 20, y + 28, z + 9, dSteel, 0, 3); - world.setBlock(x + 21, y + 28, z + 9, dSteel, 0, 3); - world.setBlock(x + 18, y + 28, z + 10, Block5, 0, 3); - world.setBlock(x + 19, y + 28, z + 10, dSteel, 0, 3); - world.setBlock(x + 20, y + 28, z + 10, dSteel, 0, 3); - world.setBlock(x + 18, y + 28, z + 11, Block5, 0, 3); - world.setBlock(x + 19, y + 28, z + 11, dSteel, 0, 3); - world.setBlock(x + 9, y + 28, z + 12, Block4, 0, 3); - world.setBlock(x + 10, y + 28, z + 12, Block4, 0, 3); - world.setBlock(x + 18, y + 28, z + 12, Block5, 0, 3); - world.setBlock(x + 19, y + 28, z + 12, dSteel, 0, 3); - world.setBlock(x + 18, y + 28, z + 13, Block5, 0, 3); - world.setBlock(x + 19, y + 28, z + 13, dSteel, 0, 3); - world.setBlock(x + 18, y + 28, z + 14, Block5, 0, 3); - world.setBlock(x + 19, y + 28, z + 14, dSteel, 0, 3); - world.setBlock(x + 20, y + 28, z + 14, dSteel, 0, 3); - world.setBlock(x + 18, y + 28, z + 15, Block5, 0, 3); - world.setBlock(x + 19, y + 28, z + 15, dSteel, 0, 3); - world.setBlock(x + 20, y + 28, z + 15, dSteel, 0, 3); - world.setBlock(x + 21, y + 28, z + 15, dSteel, 0, 3); - world.setBlock(x + 17, y + 28, z + 16, Block5, 0, 3); - world.setBlock(x + 17, y + 28, z + 17, Block5, 0, 3); - world.setBlock(x + 17, y + 28, z + 18, Block5, 0, 3); - world.setBlock(x + 15, y + 28, z + 19, Block5, 0, 3); - world.setBlock(x + 16, y + 28, z + 19, Block5, 0, 3); - world.setBlock(x + 15, y + 28, z + 20, Block5, 0, 3); - world.setBlock(x + 16, y + 28, z + 20, Block5, 0, 3); - world.setBlock(x + 2, y + 28, z + 21, Block7, 0, 3); - world.setBlock(x + 3, y + 28, z + 21, Block5, 0, 3); - world.setBlock(x + 4, y + 28, z + 21, Block5, 0, 3); - world.setBlock(x + 12, y + 28, z + 21, Block5, 0, 3); - world.setBlock(x + 13, y + 28, z + 21, Block5, 0, 3); - world.setBlock(x + 14, y + 28, z + 21, Block5, 0, 3); - world.setBlock(x + 5, y + 28, z + 22, Block5, 0, 3); - world.setBlock(x + 6, y + 28, z + 22, Block5, 0, 3); - world.setBlock(x + 7, y + 28, z + 22, Block5, 0, 3); - world.setBlock(x + 8, y + 28, z + 22, Block5, 0, 3); - world.setBlock(x + 9, y + 28, z + 22, Block5, 0, 3); - world.setBlock(x + 10, y + 28, z + 22, Block5, 0, 3); - world.setBlock(x + 11, y + 28, z + 22, Block5, 0, 3); - world.setBlock(x + 5, y + 29, z + 2, Block5, 0, 3); - world.setBlock(x + 6, y + 29, z + 2, Block5, 0, 3); - world.setBlock(x + 7, y + 29, z + 2, Block5, 0, 3); - world.setBlock(x + 8, y + 29, z + 2, Block5, 0, 3); - world.setBlock(x + 9, y + 29, z + 2, Block5, 0, 3); - world.setBlock(x + 10, y + 29, z + 2, Block5, 0, 3); - world.setBlock(x + 11, y + 29, z + 2, Block5, 0, 3); - world.setBlock(x + 3, y + 29, z + 3, Block7, 0, 3); - world.setBlock(x + 4, y + 29, z + 3, Block5, 0, 3); - world.setBlock(x + 12, y + 29, z + 3, Block5, 0, 3); - world.setBlock(x + 13, y + 29, z + 3, Block5, 0, 3); - world.setBlock(x + 14, y + 29, z + 3, Block5, 0, 3); - world.setBlock(x + 15, y + 29, z + 4, Block5, 0, 3); - world.setBlock(x + 16, y + 29, z + 4, Block5, 0, 3); - world.setBlock(x + 16, y + 29, z + 5, Block5, 0, 3); - world.setBlock(x + 17, y + 29, z + 6, Block5, 0, 3); - world.setBlock(x + 17, y + 29, z + 7, Block5, 0, 3); - world.setBlock(x + 17, y + 29, z + 8, Block5, 0, 3); - world.setBlock(x + 18, y + 29, z + 9, Block5, 0, 3); - world.setBlock(x + 20, y + 29, z + 9, dSteel, 0, 3); - world.setBlock(x + 21, y + 29, z + 9, dSteel, 0, 3); - world.setBlock(x + 22, y + 29, z + 9, dSteel, 0, 3); - world.setBlock(x + 18, y + 29, z + 10, Block5, 0, 3); - world.setBlock(x + 19, y + 29, z + 10, dSteel, 0, 3); - world.setBlock(x + 20, y + 29, z + 10, dSteel, 0, 3); - world.setBlock(x + 21, y + 29, z + 10, dSteel, 0, 3); - world.setBlock(x + 18, y + 29, z + 11, Block5, 0, 3); - world.setBlock(x + 21, y + 29, z + 11, dSteel, 0, 3); - world.setBlock(x + 9, y + 29, z + 12, Block4, 0, 3); - world.setBlock(x + 18, y + 29, z + 12, Block5, 0, 3); - world.setBlock(x + 21, y + 29, z + 12, dSteel, 0, 3); - world.setBlock(x + 18, y + 29, z + 13, Block5, 0, 3); - world.setBlock(x + 21, y + 29, z + 13, dSteel, 0, 3); - world.setBlock(x + 18, y + 29, z + 14, Block5, 0, 3); - world.setBlock(x + 19, y + 29, z + 14, dSteel, 0, 3); - world.setBlock(x + 20, y + 29, z + 14, dSteel, 0, 3); - world.setBlock(x + 21, y + 29, z + 14, dSteel, 0, 3); - world.setBlock(x + 18, y + 29, z + 15, Block5, 0, 3); - world.setBlock(x + 20, y + 29, z + 15, dSteel, 0, 3); - world.setBlock(x + 21, y + 29, z + 15, dSteel, 0, 3); - world.setBlock(x + 22, y + 29, z + 15, dSteel, 0, 3); - world.setBlock(x + 17, y + 29, z + 16, Block5, 0, 3); - world.setBlock(x + 17, y + 29, z + 17, Block5, 0, 3); - world.setBlock(x + 17, y + 29, z + 18, Block5, 0, 3); - world.setBlock(x + 16, y + 29, z + 19, Block5, 0, 3); - world.setBlock(x + 15, y + 29, z + 20, Block5, 0, 3); - world.setBlock(x + 16, y + 29, z + 20, Block5, 0, 3); - world.setBlock(x + 3, y + 29, z + 21, Block7, 0, 3); - world.setBlock(x + 4, y + 29, z + 21, Block5, 0, 3); - world.setBlock(x + 12, y + 29, z + 21, Block5, 0, 3); - world.setBlock(x + 13, y + 29, z + 21, Block5, 0, 3); - world.setBlock(x + 14, y + 29, z + 21, Block5, 0, 3); - world.setBlock(x + 5, y + 29, z + 22, Block5, 0, 3); - world.setBlock(x + 6, y + 29, z + 22, Block5, 0, 3); - world.setBlock(x + 7, y + 29, z + 22, Block5, 0, 3); - world.setBlock(x + 8, y + 29, z + 22, Block5, 0, 3); - world.setBlock(x + 9, y + 29, z + 22, Block5, 0, 3); - world.setBlock(x + 10, y + 29, z + 22, Block5, 0, 3); - world.setBlock(x + 11, y + 29, z + 22, Block5, 0, 3); - world.setBlock(x + 5, y + 30, z + 1, Block5, 0, 3); - world.setBlock(x + 6, y + 30, z + 1, Block5, 0, 3); - world.setBlock(x + 7, y + 30, z + 1, Block5, 0, 3); - world.setBlock(x + 8, y + 30, z + 1, Block5, 0, 3); - world.setBlock(x + 9, y + 30, z + 1, Block5, 0, 3); - world.setBlock(x + 10, y + 30, z + 1, Block5, 0, 3); - world.setBlock(x + 11, y + 30, z + 1, Block5, 0, 3); - world.setBlock(x + 4, y + 30, z + 2, Block7, 0, 3); - world.setBlock(x + 12, y + 30, z + 2, Block5, 0, 3); - world.setBlock(x + 13, y + 30, z + 2, Block5, 0, 3); - world.setBlock(x + 14, y + 30, z + 2, Block5, 0, 3); - world.setBlock(x + 15, y + 30, z + 3, Block5, 0, 3); - world.setBlock(x + 16, y + 30, z + 3, Block5, 0, 3); - world.setBlock(x + 17, y + 30, z + 4, Block5, 0, 3); - world.setBlock(x + 17, y + 30, z + 5, Block5, 0, 3); - world.setBlock(x + 18, y + 30, z + 6, Block5, 0, 3); - world.setBlock(x + 18, y + 30, z + 7, Block5, 0, 3); - world.setBlock(x + 18, y + 30, z + 8, Block5, 0, 3); - world.setBlock(x + 19, y + 30, z + 9, Block5, 0, 3); - world.setBlock(x + 21, y + 30, z + 9, dSteel, 0, 3); - world.setBlock(x + 19, y + 30, z + 10, Block5, 0, 3); - world.setBlock(x + 20, y + 30, z + 10, dSteel, 0, 3); - world.setBlock(x + 19, y + 30, z + 11, Block5, 0, 3); - world.setBlock(x + 8, y + 30, z + 12, Block4, 0, 3); - world.setBlock(x + 9, y + 30, z + 12, Block4, 0, 3); - world.setBlock(x + 19, y + 30, z + 12, Block5, 0, 3); - world.setBlock(x + 19, y + 30, z + 13, Block5, 0, 3); - world.setBlock(x + 19, y + 30, z + 14, Block5, 0, 3); - world.setBlock(x + 20, y + 30, z + 14, dSteel, 0, 3); - world.setBlock(x + 19, y + 30, z + 15, Block5, 0, 3); - world.setBlock(x + 21, y + 30, z + 15, dSteel, 0, 3); - world.setBlock(x + 18, y + 30, z + 16, Block5, 0, 3); - world.setBlock(x + 18, y + 30, z + 17, Block5, 0, 3); - world.setBlock(x + 18, y + 30, z + 18, Block5, 0, 3); - world.setBlock(x + 17, y + 30, z + 19, Block5, 0, 3); - world.setBlock(x + 17, y + 30, z + 20, Block5, 0, 3); - world.setBlock(x + 15, y + 30, z + 21, Block5, 0, 3); - world.setBlock(x + 16, y + 30, z + 21, Block5, 0, 3); - world.setBlock(x + 4, y + 30, z + 22, Block7, 0, 3); - world.setBlock(x + 12, y + 30, z + 22, Block5, 0, 3); - world.setBlock(x + 13, y + 30, z + 22, Block5, 0, 3); - world.setBlock(x + 14, y + 30, z + 22, Block5, 0, 3); - world.setBlock(x + 5, y + 30, z + 23, Block5, 0, 3); - world.setBlock(x + 6, y + 30, z + 23, Block5, 0, 3); - world.setBlock(x + 7, y + 30, z + 23, Block5, 0, 3); - world.setBlock(x + 8, y + 30, z + 23, Block5, 0, 3); - world.setBlock(x + 9, y + 30, z + 23, Block5, 0, 3); - world.setBlock(x + 10, y + 30, z + 23, Block5, 0, 3); - world.setBlock(x + 11, y + 30, z + 23, Block5, 0, 3); - world.setBlock(x + 5, y + 31, z + 1, Block7, 0, 3); - world.setBlock(x + 6, y + 31, z + 1, Block5, 0, 3); - world.setBlock(x + 7, y + 31, z + 1, Block5, 0, 3); - world.setBlock(x + 8, y + 31, z + 1, Block5, 0, 3); - world.setBlock(x + 9, y + 31, z + 1, Block5, 0, 3); - world.setBlock(x + 10, y + 31, z + 1, Block5, 0, 3); - world.setBlock(x + 11, y + 31, z + 1, Block5, 0, 3); - world.setBlock(x + 12, y + 31, z + 2, Block5, 0, 3); - world.setBlock(x + 13, y + 31, z + 2, Block5, 0, 3); - world.setBlock(x + 14, y + 31, z + 2, Block5, 0, 3); - world.setBlock(x + 15, y + 31, z + 3, Block5, 0, 3); - world.setBlock(x + 16, y + 31, z + 3, Block5, 0, 3); - world.setBlock(x + 17, y + 31, z + 4, Block5, 0, 3); - world.setBlock(x + 17, y + 31, z + 5, Block5, 0, 3); - world.setBlock(x + 18, y + 31, z + 6, Block5, 0, 3); - world.setBlock(x + 18, y + 31, z + 7, Block5, 0, 3); - world.setBlock(x + 18, y + 31, z + 8, Block5, 0, 3); - world.setBlock(x + 19, y + 31, z + 9, Block5, 0, 3); - world.setBlock(x + 19, y + 31, z + 10, Block5, 0, 3); - world.setBlock(x + 20, y + 31, z + 10, dSteel, 0, 3); - world.setBlock(x + 19, y + 31, z + 11, Block5, 0, 3); - world.setBlock(x + 8, y + 31, z + 12, Block4, 0, 3); - world.setBlock(x + 19, y + 31, z + 12, Block5, 0, 3); - world.setBlock(x + 19, y + 31, z + 13, Block5, 0, 3); - world.setBlock(x + 19, y + 31, z + 14, Block5, 0, 3); - world.setBlock(x + 20, y + 31, z + 14, dSteel, 0, 3); - world.setBlock(x + 19, y + 31, z + 15, Block5, 0, 3); - world.setBlock(x + 18, y + 31, z + 16, Block5, 0, 3); - world.setBlock(x + 18, y + 31, z + 17, Block5, 0, 3); - world.setBlock(x + 18, y + 31, z + 18, Block5, 0, 3); - world.setBlock(x + 17, y + 31, z + 19, Block5, 0, 3); - world.setBlock(x + 17, y + 31, z + 20, Block5, 0, 3); - world.setBlock(x + 15, y + 31, z + 21, Block5, 0, 3); - world.setBlock(x + 16, y + 31, z + 21, Block5, 0, 3); - world.setBlock(x + 12, y + 31, z + 22, Block5, 0, 3); - world.setBlock(x + 13, y + 31, z + 22, Block5, 0, 3); - world.setBlock(x + 14, y + 31, z + 22, Block5, 0, 3); - world.setBlock(x + 5, y + 31, z + 23, Block7, 0, 3); - world.setBlock(x + 6, y + 31, z + 23, Block5, 0, 3); - world.setBlock(x + 7, y + 31, z + 23, Block5, 0, 3); - world.setBlock(x + 8, y + 31, z + 23, Block5, 0, 3); - world.setBlock(x + 9, y + 31, z + 23, Block5, 0, 3); - world.setBlock(x + 10, y + 31, z + 23, Block5, 0, 3); - world.setBlock(x + 11, y + 31, z + 23, Block5, 0, 3); - world.setBlock(x + 6, y + 32, z + 1, Block7, 0, 3); - world.setBlock(x + 7, y + 32, z + 1, Block5, 0, 3); - world.setBlock(x + 8, y + 32, z + 1, Block5, 0, 3); - world.setBlock(x + 9, y + 32, z + 1, Block5, 0, 3); - world.setBlock(x + 10, y + 32, z + 1, Block5, 0, 3); - world.setBlock(x + 11, y + 32, z + 1, Block5, 0, 3); - world.setBlock(x + 12, y + 32, z + 2, Block5, 0, 3); - world.setBlock(x + 13, y + 32, z + 2, Block5, 0, 3); - world.setBlock(x + 14, y + 32, z + 2, Block5, 0, 3); - world.setBlock(x + 15, y + 32, z + 3, Block5, 0, 3); - world.setBlock(x + 16, y + 32, z + 3, Block5, 0, 3); - world.setBlock(x + 17, y + 32, z + 4, Block5, 0, 3); - world.setBlock(x + 17, y + 32, z + 5, Block5, 0, 3); - world.setBlock(x + 18, y + 32, z + 6, Block5, 0, 3); - world.setBlock(x + 18, y + 32, z + 7, Block5, 0, 3); - world.setBlock(x + 18, y + 32, z + 8, Block5, 0, 3); - world.setBlock(x + 19, y + 32, z + 9, Block5, 0, 3); - world.setBlock(x + 19, y + 32, z + 10, Block5, 0, 3); - world.setBlock(x + 20, y + 32, z + 10, dSteel, 0, 3); - world.setBlock(x + 19, y + 32, z + 11, Block5, 0, 3); - world.setBlock(x + 7, y + 32, z + 12, Block4, 0, 3); - world.setBlock(x + 8, y + 32, z + 12, Block4, 0, 3); - world.setBlock(x + 19, y + 32, z + 12, Block5, 0, 3); - world.setBlock(x + 19, y + 32, z + 13, Block5, 0, 3); - world.setBlock(x + 19, y + 32, z + 14, Block5, 0, 3); - world.setBlock(x + 20, y + 32, z + 14, dSteel, 0, 3); - world.setBlock(x + 19, y + 32, z + 15, Block5, 0, 3); - world.setBlock(x + 18, y + 32, z + 16, Block5, 0, 3); - world.setBlock(x + 18, y + 32, z + 17, Block5, 0, 3); - world.setBlock(x + 18, y + 32, z + 18, Block5, 0, 3); - world.setBlock(x + 17, y + 32, z + 19, Block5, 0, 3); - world.setBlock(x + 17, y + 32, z + 20, Block5, 0, 3); - world.setBlock(x + 15, y + 32, z + 21, Block5, 0, 3); - world.setBlock(x + 16, y + 32, z + 21, Block5, 0, 3); - world.setBlock(x + 12, y + 32, z + 22, Block5, 0, 3); - world.setBlock(x + 13, y + 32, z + 22, Block5, 0, 3); - world.setBlock(x + 14, y + 32, z + 22, Block5, 0, 3); - world.setBlock(x + 6, y + 32, z + 23, Block7, 0, 3); - world.setBlock(x + 7, y + 32, z + 23, Block5, 0, 3); - world.setBlock(x + 8, y + 32, z + 23, Block5, 0, 3); - world.setBlock(x + 9, y + 32, z + 23, Block5, 0, 3); - world.setBlock(x + 10, y + 32, z + 23, Block5, 0, 3); - world.setBlock(x + 11, y + 32, z + 23, Block5, 0, 3); - world.setBlock(x + 7, y + 33, z + 0, Block7, 0, 3); - world.setBlock(x + 8, y + 33, z + 0, Block5, 0, 3); - world.setBlock(x + 9, y + 33, z + 0, Block5, 0, 3); - world.setBlock(x + 10, y + 33, z + 0, Block5, 0, 3); - world.setBlock(x + 11, y + 33, z + 0, Block5, 0, 3); - world.setBlock(x + 12, y + 33, z + 1, Block5, 0, 3); - world.setBlock(x + 13, y + 33, z + 1, Block5, 0, 3); - world.setBlock(x + 14, y + 33, z + 1, Block5, 0, 3); - world.setBlock(x + 15, y + 33, z + 2, Block5, 0, 3); - world.setBlock(x + 16, y + 33, z + 2, Block5, 0, 3); - world.setBlock(x + 17, y + 33, z + 3, Block5, 0, 3); - world.setBlock(x + 18, y + 33, z + 4, Block5, 0, 3); - world.setBlock(x + 18, y + 33, z + 5, Block5, 0, 3); - world.setBlock(x + 19, y + 33, z + 6, Block5, 0, 3); - world.setBlock(x + 19, y + 33, z + 7, Block5, 0, 3); - world.setBlock(x + 19, y + 33, z + 8, Block5, 0, 3); - world.setBlock(x + 20, y + 33, z + 9, Block5, 0, 3); - world.setBlock(x + 20, y + 33, z + 10, Block5, 0, 3); - world.setBlock(x + 20, y + 33, z + 11, Block5, 0, 3); - world.setBlock(x + 7, y + 33, z + 12, Block4, 0, 3); - world.setBlock(x + 18, y + 33, z + 12, Block4, 0, 3); - world.setBlock(x + 19, y + 33, z + 12, Block4, 0, 3); - world.setBlock(x + 20, y + 33, z + 12, Block5, 0, 3); - world.setBlock(x + 20, y + 33, z + 13, Block5, 0, 3); - world.setBlock(x + 20, y + 33, z + 14, Block5, 0, 3); - world.setBlock(x + 20, y + 33, z + 15, Block5, 0, 3); - world.setBlock(x + 19, y + 33, z + 16, Block5, 0, 3); - world.setBlock(x + 19, y + 33, z + 17, Block5, 0, 3); - world.setBlock(x + 19, y + 33, z + 18, Block5, 0, 3); - world.setBlock(x + 18, y + 33, z + 19, Block5, 0, 3); - world.setBlock(x + 18, y + 33, z + 20, Block5, 0, 3); - world.setBlock(x + 17, y + 33, z + 21, Block5, 0, 3); - world.setBlock(x + 15, y + 33, z + 22, Block5, 0, 3); - world.setBlock(x + 16, y + 33, z + 22, Block5, 0, 3); - world.setBlock(x + 12, y + 33, z + 23, Block5, 0, 3); - world.setBlock(x + 13, y + 33, z + 23, Block5, 0, 3); - world.setBlock(x + 14, y + 33, z + 23, Block5, 0, 3); - world.setBlock(x + 7, y + 33, z + 24, Block7, 0, 3); - world.setBlock(x + 8, y + 33, z + 24, Block5, 0, 3); - world.setBlock(x + 9, y + 33, z + 24, Block5, 0, 3); - world.setBlock(x + 10, y + 33, z + 24, Block5, 0, 3); - world.setBlock(x + 11, y + 33, z + 24, Block5, 0, 3); - world.setBlock(x + 8, y + 34, z + 0, Block7, 0, 3); - world.setBlock(x + 9, y + 34, z + 0, Block5, 0, 3); - world.setBlock(x + 10, y + 34, z + 0, Block5, 0, 3); - world.setBlock(x + 11, y + 34, z + 0, Block5, 0, 3); - world.setBlock(x + 12, y + 34, z + 1, Block5, 0, 3); - world.setBlock(x + 13, y + 34, z + 1, Block5, 0, 3); - world.setBlock(x + 14, y + 34, z + 1, Block5, 0, 3); - world.setBlock(x + 15, y + 34, z + 2, Block5, 0, 3); - world.setBlock(x + 16, y + 34, z + 2, Block5, 0, 3); - world.setBlock(x + 17, y + 34, z + 3, Block5, 0, 3); - world.setBlock(x + 18, y + 34, z + 4, Block5, 0, 3); - world.setBlock(x + 18, y + 34, z + 5, Block5, 0, 3); - world.setBlock(x + 19, y + 34, z + 6, Block5, 0, 3); - world.setBlock(x + 19, y + 34, z + 7, Block5, 0, 3); - world.setBlock(x + 19, y + 34, z + 8, Block5, 0, 3); - world.setBlock(x + 20, y + 34, z + 9, Block5, 0, 3); - world.setBlock(x + 20, y + 34, z + 10, Block5, 0, 3); - world.setBlock(x + 20, y + 34, z + 11, Block5, 0, 3); - world.setBlock(x + 6, y + 34, z + 12, Block4, 0, 3); - world.setBlock(x + 7, y + 34, z + 12, Block4, 0, 3); - world.setBlock(x + 16, y + 34, z + 12, Block4, 0, 3); - world.setBlock(x + 17, y + 34, z + 12, Block4, 0, 3); - world.setBlock(x + 18, y + 34, z + 12, Block4, 0, 3); - world.setBlock(x + 20, y + 34, z + 12, Block5, 0, 3); - world.setBlock(x + 20, y + 34, z + 13, Block5, 0, 3); - world.setBlock(x + 20, y + 34, z + 14, Block5, 0, 3); - world.setBlock(x + 20, y + 34, z + 15, Block5, 0, 3); - world.setBlock(x + 19, y + 34, z + 16, Block5, 0, 3); - world.setBlock(x + 19, y + 34, z + 17, Block5, 0, 3); - world.setBlock(x + 19, y + 34, z + 18, Block5, 0, 3); - world.setBlock(x + 18, y + 34, z + 19, Block5, 0, 3); - world.setBlock(x + 18, y + 34, z + 20, Block5, 0, 3); - world.setBlock(x + 17, y + 34, z + 21, Block5, 0, 3); - world.setBlock(x + 15, y + 34, z + 22, Block5, 0, 3); - world.setBlock(x + 16, y + 34, z + 22, Block5, 0, 3); - world.setBlock(x + 12, y + 34, z + 23, Block5, 0, 3); - world.setBlock(x + 13, y + 34, z + 23, Block5, 0, 3); - world.setBlock(x + 14, y + 34, z + 23, Block5, 0, 3); - world.setBlock(x + 8, y + 34, z + 24, Block7, 0, 3); - world.setBlock(x + 9, y + 34, z + 24, Block5, 0, 3); - world.setBlock(x + 10, y + 34, z + 24, Block5, 0, 3); - world.setBlock(x + 11, y + 34, z + 24, Block5, 0, 3); - world.setBlock(x + 9, y + 35, z + 0, Block7, 0, 3); - world.setBlock(x + 10, y + 35, z + 0, Block5, 0, 3); - world.setBlock(x + 11, y + 35, z + 0, Block5, 0, 3); - world.setBlock(x + 12, y + 35, z + 1, Block5, 0, 3); - world.setBlock(x + 13, y + 35, z + 1, Block5, 0, 3); - world.setBlock(x + 14, y + 35, z + 1, Block5, 0, 3); - world.setBlock(x + 15, y + 35, z + 2, Block5, 0, 3); - world.setBlock(x + 16, y + 35, z + 2, Block5, 0, 3); - world.setBlock(x + 17, y + 35, z + 3, Block5, 0, 3); - world.setBlock(x + 18, y + 35, z + 4, Block5, 0, 3); - world.setBlock(x + 18, y + 35, z + 5, Block5, 0, 3); - world.setBlock(x + 19, y + 35, z + 6, Block5, 0, 3); - world.setBlock(x + 19, y + 35, z + 7, Block5, 0, 3); - world.setBlock(x + 19, y + 35, z + 8, Block5, 0, 3); - world.setBlock(x + 20, y + 35, z + 9, Block5, 0, 3); - world.setBlock(x + 20, y + 35, z + 10, Block5, 0, 3); - world.setBlock(x + 20, y + 35, z + 11, Block5, 0, 3); - world.setBlock(x + 6, y + 35, z + 12, Block4, 0, 3); - world.setBlock(x + 14, y + 35, z + 12, Block4, 0, 3); - world.setBlock(x + 15, y + 35, z + 12, Block4, 0, 3); - world.setBlock(x + 16, y + 35, z + 12, Block4, 0, 3); - world.setBlock(x + 20, y + 35, z + 12, Block5, 0, 3); - world.setBlock(x + 20, y + 35, z + 13, Block5, 0, 3); - world.setBlock(x + 20, y + 35, z + 14, Block5, 0, 3); - world.setBlock(x + 20, y + 35, z + 15, Block5, 0, 3); - world.setBlock(x + 19, y + 35, z + 16, Block5, 0, 3); - world.setBlock(x + 19, y + 35, z + 17, Block5, 0, 3); - world.setBlock(x + 19, y + 35, z + 18, Block5, 0, 3); - world.setBlock(x + 18, y + 35, z + 19, Block5, 0, 3); - world.setBlock(x + 18, y + 35, z + 20, Block5, 0, 3); - world.setBlock(x + 17, y + 35, z + 21, Block5, 0, 3); - world.setBlock(x + 15, y + 35, z + 22, Block5, 0, 3); - world.setBlock(x + 16, y + 35, z + 22, Block5, 0, 3); - world.setBlock(x + 12, y + 35, z + 23, Block5, 0, 3); - world.setBlock(x + 13, y + 35, z + 23, Block5, 0, 3); - world.setBlock(x + 14, y + 35, z + 23, Block5, 0, 3); - world.setBlock(x + 9, y + 35, z + 24, Block7, 0, 3); - world.setBlock(x + 10, y + 35, z + 24, Block5, 0, 3); - world.setBlock(x + 11, y + 35, z + 24, Block5, 0, 3); - world.setBlock(x + 10, y + 36, z + 0, Block7, 0, 3); - world.setBlock(x + 11, y + 36, z + 0, Block5, 0, 3); - world.setBlock(x + 12, y + 36, z + 1, Block5, 0, 3); - world.setBlock(x + 13, y + 36, z + 1, Block5, 0, 3); - world.setBlock(x + 14, y + 36, z + 1, Block5, 0, 3); - world.setBlock(x + 15, y + 36, z + 2, Block5, 0, 3); - world.setBlock(x + 16, y + 36, z + 2, Block5, 0, 3); - world.setBlock(x + 17, y + 36, z + 3, Block5, 0, 3); - world.setBlock(x + 18, y + 36, z + 4, Block5, 0, 3); - world.setBlock(x + 18, y + 36, z + 5, Block5, 0, 3); - world.setBlock(x + 19, y + 36, z + 6, Block5, 0, 3); - world.setBlock(x + 19, y + 36, z + 7, Block5, 0, 3); - world.setBlock(x + 19, y + 36, z + 8, Block5, 0, 3); - world.setBlock(x + 20, y + 36, z + 9, Block5, 0, 3); - world.setBlock(x + 20, y + 36, z + 10, Block5, 0, 3); - world.setBlock(x + 20, y + 36, z + 11, Block5, 0, 3); - world.setBlock(x + 5, y + 36, z + 12, Block4, 0, 3); - world.setBlock(x + 6, y + 36, z + 12, Block4, 0, 3); - world.setBlock(x + 12, y + 36, z + 12, Block4, 0, 3); - world.setBlock(x + 13, y + 36, z + 12, Block4, 0, 3); - world.setBlock(x + 14, y + 36, z + 12, Block4, 0, 3); - world.setBlock(x + 20, y + 36, z + 12, Block5, 0, 3); - world.setBlock(x + 20, y + 36, z + 13, Block5, 0, 3); - world.setBlock(x + 20, y + 36, z + 14, Block5, 0, 3); - world.setBlock(x + 20, y + 36, z + 15, Block5, 0, 3); - world.setBlock(x + 19, y + 36, z + 16, Block5, 0, 3); - world.setBlock(x + 19, y + 36, z + 17, Block5, 0, 3); - world.setBlock(x + 19, y + 36, z + 18, Block5, 0, 3); - world.setBlock(x + 18, y + 36, z + 19, Block5, 0, 3); - world.setBlock(x + 18, y + 36, z + 20, Block5, 0, 3); - world.setBlock(x + 17, y + 36, z + 21, Block5, 0, 3); - world.setBlock(x + 15, y + 36, z + 22, Block5, 0, 3); - world.setBlock(x + 16, y + 36, z + 22, Block5, 0, 3); - world.setBlock(x + 12, y + 36, z + 23, Block5, 0, 3); - world.setBlock(x + 13, y + 36, z + 23, Block5, 0, 3); - world.setBlock(x + 14, y + 36, z + 23, Block5, 0, 3); - world.setBlock(x + 10, y + 36, z + 24, Block7, 0, 3); - world.setBlock(x + 11, y + 36, z + 24, Block5, 0, 3); - world.setBlock(x + 11, y + 37, z + 0, Block7, 0, 3); - world.setBlock(x + 12, y + 37, z + 1, Block5, 0, 3); - world.setBlock(x + 13, y + 37, z + 1, Block5, 0, 3); - world.setBlock(x + 14, y + 37, z + 1, Block5, 0, 3); - world.setBlock(x + 15, y + 37, z + 2, Block5, 0, 3); - world.setBlock(x + 16, y + 37, z + 2, Block5, 0, 3); - world.setBlock(x + 17, y + 37, z + 3, Block5, 0, 3); - world.setBlock(x + 18, y + 37, z + 4, Block5, 0, 3); - world.setBlock(x + 18, y + 37, z + 5, Block5, 0, 3); - world.setBlock(x + 19, y + 37, z + 6, Block5, 0, 3); - world.setBlock(x + 19, y + 37, z + 7, Block5, 0, 3); - world.setBlock(x + 19, y + 37, z + 8, Block5, 0, 3); - world.setBlock(x + 20, y + 37, z + 9, Block5, 0, 3); - world.setBlock(x + 20, y + 37, z + 10, Block5, 0, 3); - world.setBlock(x + 20, y + 37, z + 11, Block5, 0, 3); - world.setBlock(x + 5, y + 37, z + 12, Block4, 0, 3); - world.setBlock(x + 10, y + 37, z + 12, Block4, 0, 3); - world.setBlock(x + 11, y + 37, z + 12, Block4, 0, 3); - world.setBlock(x + 12, y + 37, z + 12, Block4, 0, 3); - world.setBlock(x + 20, y + 37, z + 12, Block5, 0, 3); - world.setBlock(x + 20, y + 37, z + 13, Block5, 0, 3); - world.setBlock(x + 20, y + 37, z + 14, Block5, 0, 3); - world.setBlock(x + 20, y + 37, z + 15, Block5, 0, 3); - world.setBlock(x + 19, y + 37, z + 16, Block5, 0, 3); - world.setBlock(x + 19, y + 37, z + 17, Block5, 0, 3); - world.setBlock(x + 19, y + 37, z + 18, Block5, 0, 3); - world.setBlock(x + 18, y + 37, z + 19, Block5, 0, 3); - world.setBlock(x + 18, y + 37, z + 20, Block5, 0, 3); - world.setBlock(x + 17, y + 37, z + 21, Block5, 0, 3); - world.setBlock(x + 15, y + 37, z + 22, Block5, 0, 3); - world.setBlock(x + 16, y + 37, z + 22, Block5, 0, 3); - world.setBlock(x + 12, y + 37, z + 23, Block5, 0, 3); - world.setBlock(x + 13, y + 37, z + 23, Block5, 0, 3); - world.setBlock(x + 14, y + 37, z + 23, Block5, 0, 3); - world.setBlock(x + 11, y + 37, z + 24, Block7, 0, 3); - world.setBlock(x + 12, y + 38, z + 1, Block7, 0, 3); - world.setBlock(x + 13, y + 38, z + 1, Block5, 0, 3); - world.setBlock(x + 14, y + 38, z + 1, Block5, 0, 3); - world.setBlock(x + 15, y + 38, z + 2, Block5, 0, 3); - world.setBlock(x + 16, y + 38, z + 2, Block5, 0, 3); - world.setBlock(x + 17, y + 38, z + 3, Block5, 0, 3); - world.setBlock(x + 18, y + 38, z + 4, Block5, 0, 3); - world.setBlock(x + 18, y + 38, z + 5, Block5, 0, 3); - world.setBlock(x + 19, y + 38, z + 6, Block5, 0, 3); - world.setBlock(x + 19, y + 38, z + 7, Block5, 0, 3); - world.setBlock(x + 19, y + 38, z + 8, Block5, 0, 3); - world.setBlock(x + 20, y + 38, z + 9, Block5, 0, 3); - world.setBlock(x + 20, y + 38, z + 10, Block5, 0, 3); - world.setBlock(x + 4, y + 38, z + 11, Block7, 0, 3); - world.setBlock(x + 5, y + 38, z + 11, Block7, 0, 3); - world.setBlock(x + 6, y + 38, z + 11, Block7, 0, 3); - world.setBlock(x + 20, y + 38, z + 11, Block5, 0, 3); - world.setBlock(x + 4, y + 38, z + 12, Block7, 0, 3); - world.setBlock(x + 5, y + 38, z + 12, Block7, 0, 3); - world.setBlock(x + 6, y + 38, z + 12, Block7, 0, 3); - world.setBlock(x + 8, y + 38, z + 12, Block4, 0, 3); - world.setBlock(x + 9, y + 38, z + 12, Block4, 0, 3); - world.setBlock(x + 10, y + 38, z + 12, Block4, 0, 3); - world.setBlock(x + 20, y + 38, z + 12, Block5, 0, 3); - world.setBlock(x + 4, y + 38, z + 13, Block7, 0, 3); - world.setBlock(x + 5, y + 38, z + 13, Block7, 0, 3); - world.setBlock(x + 6, y + 38, z + 13, Block7, 0, 3); - world.setBlock(x + 20, y + 38, z + 13, Block5, 0, 3); - world.setBlock(x + 20, y + 38, z + 14, Block5, 0, 3); - world.setBlock(x + 20, y + 38, z + 15, Block5, 0, 3); - world.setBlock(x + 19, y + 38, z + 16, Block5, 0, 3); - world.setBlock(x + 19, y + 38, z + 17, Block5, 0, 3); - world.setBlock(x + 19, y + 38, z + 18, Block5, 0, 3); - world.setBlock(x + 18, y + 38, z + 19, Block5, 0, 3); - world.setBlock(x + 18, y + 38, z + 20, Block5, 0, 3); - world.setBlock(x + 17, y + 38, z + 21, Block5, 0, 3); - world.setBlock(x + 15, y + 38, z + 22, Block5, 0, 3); - world.setBlock(x + 16, y + 38, z + 22, Block5, 0, 3); - world.setBlock(x + 12, y + 38, z + 23, Block7, 0, 3); - world.setBlock(x + 13, y + 38, z + 23, Block5, 0, 3); - world.setBlock(x + 14, y + 38, z + 23, Block5, 0, 3); - world.setBlock(x + 13, y + 39, z + 1, Block7, 0, 3); - world.setBlock(x + 14, y + 39, z + 1, Block5, 0, 3); - world.setBlock(x + 15, y + 39, z + 2, Block5, 0, 3); - world.setBlock(x + 16, y + 39, z + 2, Block5, 0, 3); - world.setBlock(x + 17, y + 39, z + 3, Block5, 0, 3); - world.setBlock(x + 18, y + 39, z + 4, Block5, 0, 3); - world.setBlock(x + 18, y + 39, z + 5, Block5, 0, 3); - world.setBlock(x + 19, y + 39, z + 6, Block5, 0, 3); - world.setBlock(x + 19, y + 39, z + 7, Block5, 0, 3); - world.setBlock(x + 19, y + 39, z + 8, Block5, 0, 3); - world.setBlock(x + 20, y + 39, z + 9, Block5, 0, 3); - world.setBlock(x + 20, y + 39, z + 10, Block5, 0, 3); - world.setBlock(x + 4, y + 39, z + 11, Block7, 0, 3); - world.setBlock(x + 5, y + 39, z + 11, Block7, 0, 3); - world.setBlock(x + 6, y + 39, z + 11, Block7, 0, 3); - world.setBlock(x + 20, y + 39, z + 11, Block5, 0, 3); - world.setBlock(x + 4, y + 39, z + 12, Block7, 0, 3); - //world.setBlock(x + 5, y + 39, z + 12, Block7, 0, 3); - world.setBlock(x + 5, y + 39, z + 12, Blocks.chest, 4, 3); - world.setBlockMetadataWithNotify(x + 5, y + 39, z + 12, 4, 3); - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityChest)world.getTileEntity(x + 5, y + 39, z + 12), 12); - world.setBlock(x + 6, y + 39, z + 12, Block7, 0, 3); - world.setBlock(x + 7, y + 39, z + 12, Block4, 0, 3); - world.setBlock(x + 8, y + 39, z + 12, Block4, 0, 3); - world.setBlock(x + 20, y + 39, z + 12, Block5, 0, 3); - world.setBlock(x + 4, y + 39, z + 13, Block7, 0, 3); - world.setBlock(x + 5, y + 39, z + 13, Block7, 0, 3); - world.setBlock(x + 6, y + 39, z + 13, Block7, 0, 3); - world.setBlock(x + 20, y + 39, z + 13, Block5, 0, 3); - world.setBlock(x + 20, y + 39, z + 14, Block5, 0, 3); - world.setBlock(x + 20, y + 39, z + 15, Block5, 0, 3); - world.setBlock(x + 19, y + 39, z + 16, Block5, 0, 3); - world.setBlock(x + 19, y + 39, z + 17, Block5, 0, 3); - world.setBlock(x + 19, y + 39, z + 18, Block5, 0, 3); - world.setBlock(x + 18, y + 39, z + 19, Block5, 0, 3); - world.setBlock(x + 18, y + 39, z + 20, Block5, 0, 3); - world.setBlock(x + 17, y + 39, z + 21, Block5, 0, 3); - world.setBlock(x + 15, y + 39, z + 22, Block5, 0, 3); - world.setBlock(x + 16, y + 39, z + 22, Block5, 0, 3); - world.setBlock(x + 13, y + 39, z + 23, Block7, 0, 3); - world.setBlock(x + 14, y + 39, z + 23, Block5, 0, 3); - world.setBlock(x + 14, y + 40, z + 2, Block7, 0, 3); - world.setBlock(x + 15, y + 40, z + 3, Block5, 0, 3); - world.setBlock(x + 16, y + 40, z + 3, Block5, 0, 3); - world.setBlock(x + 17, y + 40, z + 4, Block5, 0, 3); - world.setBlock(x + 17, y + 40, z + 5, Block5, 0, 3); - world.setBlock(x + 18, y + 40, z + 6, Block5, 0, 3); - world.setBlock(x + 18, y + 40, z + 7, Block5, 0, 3); - world.setBlock(x + 18, y + 40, z + 8, Block5, 0, 3); - world.setBlock(x + 19, y + 40, z + 9, Block5, 0, 3); - world.setBlock(x + 19, y + 40, z + 10, Block5, 0, 3); - world.setBlock(x + 4, y + 40, z + 11, Block7, 0, 3); - world.setBlock(x + 5, y + 40, z + 11, Block7, 0, 3); - world.setBlock(x + 6, y + 40, z + 11, Block7, 0, 3); - world.setBlock(x + 19, y + 40, z + 11, Block5, 0, 3); - world.setBlock(x + 4, y + 40, z + 12, Block7, 0, 3); - world.setBlock(x + 5, y + 40, z + 12, Block7, 0, 3); - world.setBlock(x + 6, y + 40, z + 12, Block7, 0, 3); - world.setBlock(x + 19, y + 40, z + 12, Block5, 0, 3); - world.setBlock(x + 4, y + 40, z + 13, Block7, 0, 3); - world.setBlock(x + 5, y + 40, z + 13, Block7, 0, 3); - world.setBlock(x + 6, y + 40, z + 13, Block7, 0, 3); - world.setBlock(x + 19, y + 40, z + 13, Block5, 0, 3); - world.setBlock(x + 19, y + 40, z + 14, Block5, 0, 3); - world.setBlock(x + 19, y + 40, z + 15, Block5, 0, 3); - world.setBlock(x + 18, y + 40, z + 16, Block5, 0, 3); - world.setBlock(x + 18, y + 40, z + 17, Block5, 0, 3); - world.setBlock(x + 18, y + 40, z + 18, Block5, 0, 3); - world.setBlock(x + 17, y + 40, z + 19, Block5, 0, 3); - world.setBlock(x + 17, y + 40, z + 20, Block5, 0, 3); - world.setBlock(x + 15, y + 40, z + 21, Block5, 0, 3); - world.setBlock(x + 16, y + 40, z + 21, Block5, 0, 3); - world.setBlock(x + 14, y + 40, z + 22, Block7, 0, 3); - world.setBlock(x + 15, y + 41, z + 3, Block7, 0, 3); - world.setBlock(x + 16, y + 41, z + 3, Block5, 0, 3); - world.setBlock(x + 17, y + 41, z + 4, Block5, 0, 3); - world.setBlock(x + 17, y + 41, z + 5, Block5, 0, 3); - world.setBlock(x + 18, y + 41, z + 6, Block5, 0, 3); - world.setBlock(x + 18, y + 41, z + 7, Block5, 0, 3); - world.setBlock(x + 18, y + 41, z + 8, Block5, 0, 3); - world.setBlock(x + 19, y + 41, z + 9, Block5, 0, 3); - world.setBlock(x + 19, y + 41, z + 10, Block5, 0, 3); - world.setBlock(x + 19, y + 41, z + 11, Block5, 0, 3); - world.setBlock(x + 19, y + 41, z + 12, Block5, 0, 3); - world.setBlock(x + 19, y + 41, z + 13, Block5, 0, 3); - world.setBlock(x + 19, y + 41, z + 14, Block5, 0, 3); - world.setBlock(x + 19, y + 41, z + 15, Block5, 0, 3); - world.setBlock(x + 18, y + 41, z + 16, Block5, 0, 3); - world.setBlock(x + 18, y + 41, z + 17, Block5, 0, 3); - world.setBlock(x + 18, y + 41, z + 18, Block5, 0, 3); - world.setBlock(x + 17, y + 41, z + 19, Block5, 0, 3); - world.setBlock(x + 17, y + 41, z + 20, Block5, 0, 3); - world.setBlock(x + 15, y + 41, z + 21, Block7, 0, 3); - world.setBlock(x + 16, y + 41, z + 21, Block5, 0, 3); - world.setBlock(x + 16, y + 42, z + 3, Block7, 0, 3); - world.setBlock(x + 17, y + 42, z + 4, Block7, 0, 3); - world.setBlock(x + 17, y + 42, z + 5, Block7, 0, 3); - world.setBlock(x + 18, y + 42, z + 6, Block5, 0, 3); - world.setBlock(x + 18, y + 42, z + 7, Block5, 0, 3); - world.setBlock(x + 18, y + 42, z + 8, Block5, 0, 3); - world.setBlock(x + 19, y + 42, z + 9, Block5, 0, 3); - world.setBlock(x + 19, y + 42, z + 10, Block5, 0, 3); - world.setBlock(x + 19, y + 42, z + 11, Block5, 0, 3); - world.setBlock(x + 19, y + 42, z + 12, Block5, 0, 3); - world.setBlock(x + 19, y + 42, z + 13, Block5, 0, 3); - world.setBlock(x + 19, y + 42, z + 14, Block5, 0, 3); - world.setBlock(x + 19, y + 42, z + 15, Block5, 0, 3); - world.setBlock(x + 18, y + 42, z + 16, Block5, 0, 3); - world.setBlock(x + 18, y + 42, z + 17, Block5, 0, 3); - world.setBlock(x + 18, y + 42, z + 18, Block5, 0, 3); - world.setBlock(x + 17, y + 42, z + 19, Block7, 0, 3); - world.setBlock(x + 17, y + 42, z + 20, Block7, 0, 3); - world.setBlock(x + 16, y + 42, z + 21, Block7, 0, 3); - world.setBlock(x + 17, y + 43, z + 6, Block7, 0, 3); - world.setBlock(x + 17, y + 43, z + 7, Block7, 0, 3); - world.setBlock(x + 17, y + 43, z + 8, Block7, 0, 3); - world.setBlock(x + 18, y + 43, z + 9, Block5, 0, 3); - world.setBlock(x + 18, y + 43, z + 10, Block5, 0, 3); - world.setBlock(x + 18, y + 43, z + 11, Block5, 0, 3); - world.setBlock(x + 18, y + 43, z + 12, Block5, 0, 3); - world.setBlock(x + 18, y + 43, z + 13, Block5, 0, 3); - world.setBlock(x + 18, y + 43, z + 14, Block5, 0, 3); - world.setBlock(x + 18, y + 43, z + 15, Block5, 0, 3); - world.setBlock(x + 17, y + 43, z + 16, Block7, 0, 3); - world.setBlock(x + 17, y + 43, z + 17, Block7, 0, 3); - world.setBlock(x + 17, y + 43, z + 18, Block7, 0, 3); - world.setBlock(x + 18, y + 44, z + 9, Block7, 0, 3); - world.setBlock(x + 18, y + 44, z + 10, Block7, 0, 3); - world.setBlock(x + 18, y + 44, z + 11, Block7, 0, 3); - world.setBlock(x + 18, y + 44, z + 12, Block7, 0, 3); - world.setBlock(x + 18, y + 44, z + 13, Block7, 0, 3); - world.setBlock(x + 18, y + 44, z + 14, Block7, 0, 3); - world.setBlock(x + 18, y + 44, z + 15, Block7, 0, 3); - - generate_r03_last(world, rand, x, y, z); - return true; - - } - public boolean generate_r03_last(World world, Random rand, int x, int y, int z) { - - world.setBlock(x + 19, y + 3, z + 9, Blocks.torch, 4, 3); - world.setBlock(x + 6, y + 10, z + 17, Blocks.torch, 2, 3); - world.setBlock(x + 9, y + 15, z + 19, Blocks.torch, 3, 3); - world.setBlock(x + 17, y + 15, z + 19, Blocks.torch, 3, 3); - world.setBlock(x + 13, y + 15, z + 24, Blocks.torch, 5, 3); - world.setBlock(x + 9, y + 15, z + 27, Blocks.torch, 4, 3); - world.setBlock(x + 17, y + 15, z + 27, Blocks.torch, 4, 3); - world.setBlock(x + 19, y + 19, z + 9, Blocks.torch, 4, 3); - world.setBlock(x + 16, y + 19, z + 12, Blocks.torch, 2, 3); - world.setBlock(x + 22, y + 19, z + 12, Blocks.torch, 1, 3); - world.setBlock(x + 19, y + 19, z + 15, Blocks.torch, 3, 3); - LootGenerator.setBlock(world, x + 13, y + 15, z + 23); - LootGenerator.lootMedicine(world, x + 13, y + 15, z + 23); - - if(GeneralConfig.enableDebugMode) - System.out.print("[Debug] Successfully spawned satellite dish at " + x + " " + y +" " + z + "\n"); - return true; - - } - -} \ No newline at end of file diff --git a/src/main/java/com/hbm/world/dungeon/Vertibird.java b/src/main/java/com/hbm/world/dungeon/Vertibird.java deleted file mode 100644 index 67b34f015..000000000 --- a/src/main/java/com/hbm/world/dungeon/Vertibird.java +++ /dev/null @@ -1,514 +0,0 @@ -//Schematic to java Structure by jajo_11 | inspired by "MITHION'S .SCHEMATIC TO JAVA CONVERTINGTOOL" - -package com.hbm.world.dungeon; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; -import com.hbm.config.GeneralConfig; -import com.hbm.itempool.ItemPool; -import com.hbm.itempool.ItemPoolsLegacy; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.init.Blocks; -import net.minecraft.tileentity.TileEntityChest; -import net.minecraft.util.WeightedRandomChestContent; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; - -public class Vertibird extends WorldGenerator -{ - Block Block2 = ModBlocks.deco_steel; - Block Block1 = ModBlocks.deco_tungsten; - Block Block4 = ModBlocks.reinforced_glass; - Block Block3 = ModBlocks.deco_titanium; - - protected Block[] GetValidSpawnBlocks() - { - return new Block[] - { - Blocks.sand, - Blocks.sandstone, - }; - } - - public boolean LocationIsValidSpawn(World world, int x, int y, int z) - { - - Block checkBlock = world.getBlock(x, y - 1, z); - Block blockAbove = world.getBlock(x, y , z); - Block blockBelow = world.getBlock(x, y - 2, z); - - for (Block i : GetValidSpawnBlocks()) - { - if (blockAbove != Blocks.air) - { - return false; - } - if (checkBlock == i) - { - return true; - } - else if (checkBlock == Blocks.snow_layer && blockBelow == i) - { - return true; - } - else if (checkBlock.getMaterial() == Material.plants && blockBelow == i) - { - return true; - } - } - return false; - } - - @Override - public boolean generate(World world, Random rand, int x, int y, int z) - { - int i = rand.nextInt(1); - - if(i == 0) - { - generate_r0(world, rand, x, y, z); - } - - return true; - - } - - public boolean generate_r0(World world, Random rand, int x, int y, int z) - { - int yOffset = 3 + rand.nextInt(4); - - if(!LocationIsValidSpawn(world, x + 13, y, z + 10)) - { - return false; - } - - world.setBlock(x + 13, y + 0 - yOffset, z + 2, Block1, 0, 3); - world.setBlock(x + 12, y + 0 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 14, y + 0 - yOffset, z + 7, Block1, 0, 3); - world.setBlock(x + 13, y + 0 - yOffset, z + 9, Block1, 0, 3); - world.setBlock(x + 12, y + 1 - yOffset, z + 1, Block2, 0, 3); - world.setBlock(x + 13, y + 1 - yOffset, z + 1, Block2, 0, 3); - world.setBlock(x + 14, y + 1 - yOffset, z + 1, Block2, 0, 3); - world.setBlock(x + 12, y + 1 - yOffset, z + 2, Block2, 0, 3); - world.setBlock(x + 13, y + 1 - yOffset, z + 2, Block2, 0, 3); - world.setBlock(x + 14, y + 1 - yOffset, z + 2, Block2, 0, 3); - world.setBlock(x + 11, y + 1 - yOffset, z + 3, Block1, 0, 3); - world.setBlock(x + 12, y + 1 - yOffset, z + 3, Block2, 0, 3); - world.setBlock(x + 13, y + 1 - yOffset, z + 3, Block2, 0, 3); - world.setBlock(x + 14, y + 1 - yOffset, z + 3, Block2, 0, 3); - world.setBlock(x + 15, y + 1 - yOffset, z + 3, Block1, 0, 3); - world.setBlock(x + 11, y + 1 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 12, y + 1 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 13, y + 1 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 14, y + 1 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 15, y + 1 - yOffset, z + 4, Block1, 0, 3); - world.setBlock(x + 11, y + 1 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 12, y + 1 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 13, y + 1 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 14, y + 1 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 15, y + 1 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 12, y + 1 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 13, y + 1 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 14, y + 1 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 12, y + 1 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 13, y + 1 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 14, y + 1 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 12, y + 1 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 13, y + 1 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 14, y + 1 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 12, y + 1 - yOffset, z + 9, Block2, 0, 3); - world.setBlock(x + 13, y + 1 - yOffset, z + 9, Block2, 0, 3); - world.setBlock(x + 14, y + 1 - yOffset, z + 9, Block2, 0, 3); - world.setBlock(x + 12, y + 2 - yOffset, z + 0, Block2, 0, 3); - world.setBlock(x + 13, y + 2 - yOffset, z + 0, Block2, 0, 3); - world.setBlock(x + 14, y + 2 - yOffset, z + 0, Block2, 0, 3); - world.setBlock(x + 11, y + 2 - yOffset, z + 1, Block2, 0, 3); - world.setBlock(x + 15, y + 2 - yOffset, z + 1, Block2, 0, 3); - world.setBlock(x + 11, y + 2 - yOffset, z + 2, Block2, 0, 3); - world.setBlock(x + 12, y + 2 - yOffset, z + 2, Blocks.stone_stairs, 2, 3); - world.setBlock(x + 14, y + 2 - yOffset, z + 2, Blocks.stone_stairs, 2, 3); - world.setBlock(x + 15, y + 2 - yOffset, z + 2, Block2, 0, 3); - world.setBlock(x + 15, y + 2 - yOffset, z + 3, Block3, 0, 3); - world.setBlock(x + 15, y + 2 - yOffset, z + 4, Block3, 0, 3); - world.setBlock(x + 10, y + 2 - yOffset, z + 5, Block3, 0, 3); - world.setBlock(x + 15, y + 2 - yOffset, z + 5, Block3, 0, 3); - world.setBlock(x + 10, y + 2 - yOffset, z + 6, Block3, 0, 3); - world.setBlock(x + 11, y + 2 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 15, y + 2 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 10, y + 2 - yOffset, z + 7, Block3, 0, 3); - world.setBlock(x + 11, y + 2 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 14, y + 2 - yOffset, z + 7, Blocks.chest, 2, 3); - if(world.getBlock(x + 14, y + 2 - yOffset, z + 7) == Blocks.chest) - { - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_VERTIBIRD), (TileEntityChest)world.getTileEntity(x + 14, y + 2 - yOffset, z + 7), 8); - } - world.setBlock(x + 15, y + 2 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 12, y + 2 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 13, y + 2 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 14, y + 2 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 12, y + 2 - yOffset, z + 9, Block2, 0, 3); - world.setBlock(x + 13, y + 2 - yOffset, z + 9, Block3, 0, 3); - world.setBlock(x + 14, y + 2 - yOffset, z + 9, Block2, 0, 3); - world.setBlock(x + 12, y + 2 - yOffset, z + 10, Block2, 0, 3); - world.setBlock(x + 13, y + 2 - yOffset, z + 10, Block2, 0, 3); - world.setBlock(x + 14, y + 2 - yOffset, z + 10, Block2, 0, 3); - world.setBlock(x + 12, y + 2 - yOffset, z + 11, Block2, 0, 3); - world.setBlock(x + 13, y + 2 - yOffset, z + 11, Block2, 0, 3); - world.setBlock(x + 14, y + 2 - yOffset, z + 11, Block2, 0, 3); - world.setBlock(x + 13, y + 2 - yOffset, z + 18, Block2, 0, 3); - world.setBlock(x + 12, y + 3 - yOffset, z + 0, Block4, 0, 3); - world.setBlock(x + 13, y + 3 - yOffset, z + 0, Block4, 0, 3); - world.setBlock(x + 14, y + 3 - yOffset, z + 0, Block4, 0, 3); - world.setBlock(x + 11, y + 3 - yOffset, z + 1, Block4, 0, 3); - world.setBlock(x + 15, y + 3 - yOffset, z + 1, Block4, 0, 3); - world.setBlock(x + 11, y + 3 - yOffset, z + 2, Block2, 0, 3); - world.setBlock(x + 15, y + 3 - yOffset, z + 2, Block2, 0, 3); - world.setBlock(x + 11, y + 3 - yOffset, z + 3, Block2, 0, 3); - world.setBlock(x + 15, y + 3 - yOffset, z + 3, Block2, 0, 3); - world.setBlock(x + 15, y + 3 - yOffset, z + 4, Block3, 0, 3); - world.setBlock(x + 15, y + 3 - yOffset, z + 5, Block3, 0, 3); - world.setBlock(x + 10, y + 3 - yOffset, z + 6, Block3, 0, 3); - world.setBlock(x + 11, y + 3 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 15, y + 3 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 10, y + 3 - yOffset, z + 7, Block3, 0, 3); - world.setBlock(x + 11, y + 3 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 15, y + 3 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 12, y + 3 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 13, y + 3 - yOffset, z + 8, ModBlocks.machine_battery, 2, 3); - world.setBlock(x + 14, y + 3 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 12, y + 3 - yOffset, z + 9, Block2, 0, 3); - world.setBlock(x + 13, y + 3 - yOffset, z + 9, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 14, y + 3 - yOffset, z + 9, Block2, 0, 3); - world.setBlock(x + 12, y + 3 - yOffset, z + 10, Block2, 0, 3); - world.setBlock(x + 13, y + 3 - yOffset, z + 10, Block3, 0, 3); - world.setBlock(x + 14, y + 3 - yOffset, z + 10, Block2, 0, 3); - world.setBlock(x + 12, y + 3 - yOffset, z + 11, Block2, 0, 3); - world.setBlock(x + 13, y + 3 - yOffset, z + 11, Block3, 0, 3); - world.setBlock(x + 14, y + 3 - yOffset, z + 11, Block2, 0, 3); - world.setBlock(x + 12, y + 3 - yOffset, z + 12, Block2, 0, 3); - world.setBlock(x + 13, y + 3 - yOffset, z + 12, Block2, 0, 3); - world.setBlock(x + 14, y + 3 - yOffset, z + 12, Block2, 0, 3); - world.setBlock(x + 13, y + 3 - yOffset, z + 17, Block2, 0, 3); - world.setBlock(x + 13, y + 3 - yOffset, z + 18, Block2, 0, 3); - world.setBlock(x + 12, y + 4 - yOffset, z + 0, Block2, 0, 3); - world.setBlock(x + 13, y + 4 - yOffset, z + 0, Block2, 0, 3); - world.setBlock(x + 14, y + 4 - yOffset, z + 0, Block2, 0, 3); - world.setBlock(x + 11, y + 4 - yOffset, z + 1, Block4, 0, 3); - world.setBlock(x + 12, y + 4 - yOffset, z + 1, Block2, 0, 3); - world.setBlock(x + 13, y + 4 - yOffset, z + 1, Block2, 0, 3); - world.setBlock(x + 14, y + 4 - yOffset, z + 1, Block2, 0, 3); - world.setBlock(x + 15, y + 4 - yOffset, z + 1, Block4, 0, 3); - world.setBlock(x + 11, y + 4 - yOffset, z + 2, Block4, 0, 3); - world.setBlock(x + 15, y + 4 - yOffset, z + 2, Block4, 0, 3); - world.setBlock(x + 11, y + 4 - yOffset, z + 3, Block2, 0, 3); - world.setBlock(x + 15, y + 4 - yOffset, z + 3, Block2, 0, 3); - world.setBlock(x + 11, y + 4 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 15, y + 4 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 4, y + 4 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 11, y + 4 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 15, y + 4 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 22, y + 4 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 11, y + 4 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 12, y + 4 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 14, y + 4 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 15, y + 4 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 11, y + 4 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 12, y + 4 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 13, y + 4 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 14, y + 4 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 15, y + 4 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 11, y + 4 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 12, y + 4 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 13, y + 4 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 14, y + 4 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 15, y + 4 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 11, y + 4 - yOffset, z + 9, Block2, 0, 3); - world.setBlock(x + 12, y + 4 - yOffset, z + 9, ModBlocks.block_electrical_scrap, 0, 3); - world.setBlock(x + 13, y + 4 - yOffset, z + 9, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 14, y + 4 - yOffset, z + 9, ModBlocks.block_electrical_scrap, 0, 3); - world.setBlock(x + 15, y + 4 - yOffset, z + 9, Block2, 0, 3); - world.setBlock(x + 11, y + 4 - yOffset, z + 10, Block2, 0, 3); - world.setBlock(x + 12, y + 4 - yOffset, z + 10, ModBlocks.block_electrical_scrap, 0, 3); - world.setBlock(x + 13, y + 4 - yOffset, z + 10, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 14, y + 4 - yOffset, z + 10, ModBlocks.block_electrical_scrap, 0, 3); - world.setBlock(x + 15, y + 4 - yOffset, z + 10, Block2, 0, 3); - world.setBlock(x + 11, y + 4 - yOffset, z + 11, Block2, 0, 3); - world.setBlock(x + 12, y + 4 - yOffset, z + 11, Block2, 0, 3); - world.setBlock(x + 13, y + 4 - yOffset, z + 11, Block3, 0, 3); - world.setBlock(x + 14, y + 4 - yOffset, z + 11, Block2, 0, 3); - world.setBlock(x + 15, y + 4 - yOffset, z + 11, Block2, 0, 3); - world.setBlock(x + 11, y + 4 - yOffset, z + 12, Block2, 0, 3); - world.setBlock(x + 12, y + 4 - yOffset, z + 12, Block2, 0, 3); - world.setBlock(x + 13, y + 4 - yOffset, z + 12, Block3, 0, 3); - world.setBlock(x + 14, y + 4 - yOffset, z + 12, Block2, 0, 3); - world.setBlock(x + 15, y + 4 - yOffset, z + 12, Block2, 0, 3); - world.setBlock(x + 12, y + 4 - yOffset, z + 13, Block2, 0, 3); - world.setBlock(x + 13, y + 4 - yOffset, z + 13, Block2, 0, 3); - world.setBlock(x + 14, y + 4 - yOffset, z + 13, Block2, 0, 3); - world.setBlock(x + 13, y + 4 - yOffset, z + 14, Block2, 0, 3); - world.setBlock(x + 13, y + 4 - yOffset, z + 15, Block2, 0, 3); - world.setBlock(x + 13, y + 4 - yOffset, z + 16, Block2, 0, 3); - world.setBlock(x + 13, y + 4 - yOffset, z + 17, Block2, 0, 3); - world.setBlock(x + 13, y + 4 - yOffset, z + 18, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 1, Block2, 0, 3); - world.setBlock(x + 13, y + 5 - yOffset, z + 1, Block2, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 1, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 2, Block2, 0, 3); - world.setBlock(x + 13, y + 5 - yOffset, z + 2, Block2, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 2, Block2, 0, 3); - world.setBlock(x + 11, y + 5 - yOffset, z + 3, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 3, Block2, 0, 3); - world.setBlock(x + 13, y + 5 - yOffset, z + 3, Block2, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 3, Block2, 0, 3); - world.setBlock(x + 15, y + 5 - yOffset, z + 3, Block2, 0, 3); - world.setBlock(x + 4, y + 5 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 11, y + 5 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 13, y + 5 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 15, y + 5 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 22, y + 5 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 3, y + 5 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 4, y + 5 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 5, y + 5 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 8, y + 5 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 9, y + 5 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 10, y + 5 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 11, y + 5 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 13, y + 5 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 15, y + 5 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 16, y + 5 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 17, y + 5 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 18, y + 5 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 21, y + 5 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 22, y + 5 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 23, y + 5 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 4, y + 5 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 11, y + 5 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 13, y + 5 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 15, y + 5 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 22, y + 5 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 11, y + 5 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 13, y + 5 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 15, y + 5 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 11, y + 5 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 13, y + 5 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 15, y + 5 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 11, y + 5 - yOffset, z + 9, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 9, ModBlocks.block_electrical_scrap, 0, 3); - world.setBlock(x + 13, y + 5 - yOffset, z + 9, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 9, ModBlocks.block_electrical_scrap, 0, 3); - world.setBlock(x + 15, y + 5 - yOffset, z + 9, Block2, 0, 3); - world.setBlock(x + 11, y + 5 - yOffset, z + 10, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 10, ModBlocks.block_electrical_scrap, 0, 3); - world.setBlock(x + 13, y + 5 - yOffset, z + 10, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 10, ModBlocks.block_electrical_scrap, 0, 3); - world.setBlock(x + 15, y + 5 - yOffset, z + 10, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 11, Block2, 0, 3); - world.setBlock(x + 13, y + 5 - yOffset, z + 11, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 11, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 12, Block2, 0, 3); - world.setBlock(x + 13, y + 5 - yOffset, z + 12, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 12, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 13, Block2, 0, 3); - world.setBlock(x + 13, y + 5 - yOffset, z + 13, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 13, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 14, Block2, 0, 3); - world.setBlock(x + 13, y + 5 - yOffset, z + 14, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 14, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 15, Block2, 0, 3); - world.setBlock(x + 13, y + 5 - yOffset, z + 15, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 15, Block2, 0, 3); - world.setBlock(x + 9, y + 5 - yOffset, z + 16, Block2, 0, 3); - world.setBlock(x + 10, y + 5 - yOffset, z + 16, Block2, 0, 3); - world.setBlock(x + 11, y + 5 - yOffset, z + 16, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 16, Block2, 0, 3); - world.setBlock(x + 13, y + 5 - yOffset, z + 16, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 16, Block2, 0, 3); - world.setBlock(x + 15, y + 5 - yOffset, z + 16, Block2, 0, 3); - world.setBlock(x + 16, y + 5 - yOffset, z + 16, Block2, 0, 3); - world.setBlock(x + 17, y + 5 - yOffset, z + 16, Block2, 0, 3); - world.setBlock(x + 8, y + 5 - yOffset, z + 17, Block2, 0, 3); - world.setBlock(x + 9, y + 5 - yOffset, z + 17, Block2, 0, 3); - world.setBlock(x + 10, y + 5 - yOffset, z + 17, Block2, 0, 3); - world.setBlock(x + 11, y + 5 - yOffset, z + 17, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 17, Block2, 0, 3); - world.setBlock(x + 13, y + 5 - yOffset, z + 17, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 17, Block2, 0, 3); - world.setBlock(x + 15, y + 5 - yOffset, z + 17, Block2, 0, 3); - world.setBlock(x + 16, y + 5 - yOffset, z + 17, Block2, 0, 3); - world.setBlock(x + 17, y + 5 - yOffset, z + 17, Block2, 0, 3); - world.setBlock(x + 18, y + 5 - yOffset, z + 17, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 18, Block2, 0, 3); - world.setBlock(x + 13, y + 5 - yOffset, z + 18, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 18, Block2, 0, 3); - world.setBlock(x + 13, y + 5 - yOffset, z + 19, Block1, 0, 3); - world.setBlock(x + 12, y + 6 - yOffset, z + 1, Block1, 0, 3); - world.setBlock(x + 14, y + 6 - yOffset, z + 1, Block1, 0, 3); - world.setBlock(x + 12, y + 6 - yOffset, z + 3, Block2, 0, 3); - world.setBlock(x + 13, y + 6 - yOffset, z + 3, Block2, 0, 3); - world.setBlock(x + 14, y + 6 - yOffset, z + 3, Block2, 0, 3); - world.setBlock(x + 4, y + 6 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 11, y + 6 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 12, y + 6 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 13, y + 6 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 14, y + 6 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 15, y + 6 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 22, y + 6 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 3, y + 6 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 4, y + 6 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 5, y + 6 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 6, y + 6 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 7, y + 6 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 8, y + 6 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 9, y + 6 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 10, y + 6 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 11, y + 6 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 12, y + 6 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 13, y + 6 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 14, y + 6 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 15, y + 6 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 16, y + 6 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 17, y + 6 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 18, y + 6 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 19, y + 6 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 20, y + 6 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 21, y + 6 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 22, y + 6 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 23, y + 6 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 4, y + 6 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 11, y + 6 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 12, y + 6 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 13, y + 6 - yOffset, z + 6, Blocks.chest, 2, 3); - if(world.getBlock(x + 13, y + 6 - yOffset, z + 6) == Blocks.chest) - { - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_VERTIBIRD), (TileEntityChest)world.getTileEntity(x + 13, y + 6 - yOffset, z + 6), 8); - } - world.setBlock(x + 14, y + 6 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 15, y + 6 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 22, y + 6 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 11, y + 6 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 12, y + 6 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 13, y + 6 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 14, y + 6 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 15, y + 6 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 11, y + 6 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 12, y + 6 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 13, y + 6 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 14, y + 6 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 15, y + 6 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 12, y + 6 - yOffset, z + 9, Block2, 0, 3); - world.setBlock(x + 13, y + 6 - yOffset, z + 9, Block3, 0, 3); - world.setBlock(x + 14, y + 6 - yOffset, z + 9, Block2, 0, 3); - world.setBlock(x + 12, y + 6 - yOffset, z + 10, Block2, 0, 3); - world.setBlock(x + 13, y + 6 - yOffset, z + 10, Block3, 0, 3); - world.setBlock(x + 14, y + 6 - yOffset, z + 10, Block2, 0, 3); - world.setBlock(x + 12, y + 6 - yOffset, z + 11, Block2, 0, 3); - world.setBlock(x + 13, y + 6 - yOffset, z + 11, Block2, 0, 3); - world.setBlock(x + 14, y + 6 - yOffset, z + 11, Block2, 0, 3); - world.setBlock(x + 12, y + 6 - yOffset, z + 12, Block2, 0, 3); - world.setBlock(x + 13, y + 6 - yOffset, z + 12, Block2, 0, 3); - world.setBlock(x + 14, y + 6 - yOffset, z + 12, Block2, 0, 3); - world.setBlock(x + 13, y + 6 - yOffset, z + 13, Block2, 0, 3); - world.setBlock(x + 13, y + 6 - yOffset, z + 14, Block2, 0, 3); - world.setBlock(x + 13, y + 6 - yOffset, z + 17, Block2, 0, 3); - world.setBlock(x + 13, y + 6 - yOffset, z + 18, Block2, 0, 3); - world.setBlock(x + 4, y + 7 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 13, y + 7 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 22, y + 7 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 3, y + 7 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 4, y + 7 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 5, y + 7 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 12, y + 7 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 13, y + 7 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 14, y + 7 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 21, y + 7 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 22, y + 7 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 23, y + 7 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 4, y + 7 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 12, y + 7 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 13, y + 7 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 14, y + 7 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 22, y + 7 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 12, y + 7 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 13, y + 7 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 14, y + 7 - yOffset, z + 7, Block2, 0, 3); - world.setBlock(x + 12, y + 7 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 13, y + 7 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 14, y + 7 - yOffset, z + 8, Block2, 0, 3); - world.setBlock(x + 13, y + 7 - yOffset, z + 9, Block2, 0, 3); - world.setBlock(x + 13, y + 7 - yOffset, z + 10, Block2, 0, 3); - world.setBlock(x + 13, y + 7 - yOffset, z + 11, Block2, 0, 3); - world.setBlock(x + 4, y + 8 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 22, y + 8 - yOffset, z + 4, Block2, 0, 3); - world.setBlock(x + 3, y + 8 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 4, y + 8 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 5, y + 8 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 21, y + 8 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 22, y + 8 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 23, y + 8 - yOffset, z + 5, Block2, 0, 3); - world.setBlock(x + 4, y + 8 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 22, y + 8 - yOffset, z + 6, Block2, 0, 3); - world.setBlock(x + 4, y + 9 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 22, y + 9 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 4, y + 10 - yOffset, z + 1, Block3, 0, 3); - world.setBlock(x + 22, y + 10 - yOffset, z + 1, Block3, 0, 3); - world.setBlock(x + 4, y + 10 - yOffset, z + 2, Block3, 0, 3); - world.setBlock(x + 22, y + 10 - yOffset, z + 2, Block3, 0, 3); - world.setBlock(x + 4, y + 10 - yOffset, z + 3, Block3, 0, 3); - world.setBlock(x + 22, y + 10 - yOffset, z + 3, Block3, 0, 3); - world.setBlock(x + 4, y + 10 - yOffset, z + 4, Block3, 0, 3); - world.setBlock(x + 22, y + 10 - yOffset, z + 4, Block3, 0, 3); - world.setBlock(x + 0, y + 10 - yOffset, z + 5, Block3, 0, 3); - world.setBlock(x + 1, y + 10 - yOffset, z + 5, Block3, 0, 3); - world.setBlock(x + 2, y + 10 - yOffset, z + 5, Block3, 0, 3); - world.setBlock(x + 3, y + 10 - yOffset, z + 5, Block3, 0, 3); - world.setBlock(x + 4, y + 10 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 5, y + 10 - yOffset, z + 5, Block3, 0, 3); - world.setBlock(x + 6, y + 10 - yOffset, z + 5, Block3, 0, 3); - world.setBlock(x + 7, y + 10 - yOffset, z + 5, Block3, 0, 3); - world.setBlock(x + 8, y + 10 - yOffset, z + 5, Block3, 0, 3); - world.setBlock(x + 18, y + 10 - yOffset, z + 5, Block3, 0, 3); - world.setBlock(x + 19, y + 10 - yOffset, z + 5, Block3, 0, 3); - world.setBlock(x + 20, y + 10 - yOffset, z + 5, Block3, 0, 3); - world.setBlock(x + 21, y + 10 - yOffset, z + 5, Block3, 0, 3); - world.setBlock(x + 22, y + 10 - yOffset, z + 5, Block1, 0, 3); - world.setBlock(x + 23, y + 10 - yOffset, z + 5, Block3, 0, 3); - world.setBlock(x + 24, y + 10 - yOffset, z + 5, Block3, 0, 3); - world.setBlock(x + 25, y + 10 - yOffset, z + 5, Block3, 0, 3); - world.setBlock(x + 26, y + 10 - yOffset, z + 5, Block3, 0, 3); - world.setBlock(x + 4, y + 10 - yOffset, z + 6, Block3, 0, 3); - world.setBlock(x + 22, y + 10 - yOffset, z + 6, Block3, 0, 3); - world.setBlock(x + 4, y + 10 - yOffset, z + 7, Block3, 0, 3); - world.setBlock(x + 22, y + 10 - yOffset, z + 7, Block3, 0, 3); - world.setBlock(x + 4, y + 10 - yOffset, z + 8, Block3, 0, 3); - world.setBlock(x + 22, y + 10 - yOffset, z + 8, Block3, 0, 3); - world.setBlock(x + 4, y + 10 - yOffset, z + 9, Block3, 0, 3); - world.setBlock(x + 22, y + 10 - yOffset, z + 9, Block3, 0, 3); - - generate_r02_last(world, rand, x, y, z, yOffset); - return true; - - } - public boolean generate_r02_last(World world, Random rand, int x, int y, int z, int yOffset) - { - - world.setBlock(x + 12, y + 2 - yOffset, z + 1, Blocks.lever, 3, 3); - world.setBlock(x + 14, y + 2 - yOffset, z + 1, Blocks.lever, 3, 3); - if(GeneralConfig.enableDebugMode) - System.out.print("[Debug] Successfully spawned Vertibird at " + x + " " + y +" " + z + "\n"); - return true; - - } - -} \ No newline at end of file diff --git a/src/main/java/com/hbm/world/feature/DepthDeposit.java b/src/main/java/com/hbm/world/feature/DepthDeposit.java index f3ac76f35..3a99b6198 100644 --- a/src/main/java/com/hbm/world/feature/DepthDeposit.java +++ b/src/main/java/com/hbm/world/feature/DepthDeposit.java @@ -12,40 +12,40 @@ import net.minecraft.world.World; public class DepthDeposit { public static void generateConditionOverworld(World world, int x, int yMin, int yDev, int z, int size, double fill, Block block, Random rand, int chance) { - + if(rand.nextInt(chance) == 0) - generate(world, x + rand.nextInt(16), yMin + rand.nextInt(yDev), z + rand.nextInt(16), size, fill, block, rand, Blocks.stone, ModBlocks.stone_depth); + generate(world, x + rand.nextInt(16) + 8, yMin + rand.nextInt(yDev), z + rand.nextInt(16) + 8, size, fill, block, rand, Blocks.stone, ModBlocks.stone_depth); } public static void generateConditionNether(World world, int x, int yMin, int yDev, int z, int size, double fill, Block block, Random rand, int chance) { - + if(rand.nextInt(chance) == 0) - generate(world, x + rand.nextInt(16), yMin + rand.nextInt(yDev), z + rand.nextInt(16), size, fill, block, rand, Blocks.netherrack, ModBlocks.stone_depth_nether); + generate(world, x + rand.nextInt(16) + 8, yMin + rand.nextInt(yDev), z + rand.nextInt(16) + 8, size, fill, block, rand, Blocks.netherrack, ModBlocks.stone_depth_nether); } public static void generateCondition(World world, int x, int yMin, int yDev, int z, int size, double fill, Block block, Random rand, int chance, Block genTarget, Block filler) { - + if(rand.nextInt(chance) == 0) - generate(world, x + rand.nextInt(16), yMin + rand.nextInt(yDev), z + rand.nextInt(16), size, fill, block, rand, genTarget, filler); + generate(world, x + rand.nextInt(16) + 8, yMin + rand.nextInt(yDev), z + rand.nextInt(16) + 8, size, fill, block, rand, genTarget, filler); } public static void generate(World world, int x, int y, int z, int size, double fill, Block block, Random rand, Block genTarget, Block filler) { - + for(int i = x - size; i <= x + size; i++) { for(int j = y - size; j <= y + size; j++) { for(int k = z - size; k <= z + size; k++) { - + if(j < 1 || j > 126) continue; - + double len = Vec3.createVectorHelper(x - i, y - j, z - k).lengthVector(); Block target = world.getBlock(i, j, k); - + if(target.isReplaceableOreGen(world, i, j, k, genTarget) || target.isReplaceableOreGen(world, i, j, k, Blocks.bedrock)) { //yes you've heard right, bedrock - + if(len + rand.nextInt(2) < size * fill) { world.setBlock(i, j, k, block); - + } else if(len + rand.nextInt(2) <= size) { world.setBlock(i, j, k, filler); } diff --git a/src/main/java/com/hbm/world/feature/Dud.java b/src/main/java/com/hbm/world/feature/Dud.java index 85572aa4a..41e24a200 100644 --- a/src/main/java/com/hbm/world/feature/Dud.java +++ b/src/main/java/com/hbm/world/feature/Dud.java @@ -3,6 +3,7 @@ package com.hbm.world.feature; import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.bomb.BlockCrashedBomb.EnumDudType; import com.hbm.config.GeneralConfig; import net.minecraft.block.Block; @@ -60,7 +61,7 @@ public class Dud extends WorldGenerator { if(!LocationIsValidSpawn(world, x, y, z)) return false; - world.setBlock(x, y, z, ModBlocks.crashed_balefire, rand.nextInt(4) + 2, 3); + world.setBlock(x, y, z, ModBlocks.crashed_balefire, rand.nextInt(EnumDudType.values().length), 3); if(GeneralConfig.enableDebugMode) System.out.print("[Debug] Successfully spawned dud at " + x + " " + y + " " + z + "\n"); diff --git a/src/main/java/com/hbm/world/feature/OreLayer3D.java b/src/main/java/com/hbm/world/feature/OreLayer3D.java index 84b8f88b0..4f330c4a0 100644 --- a/src/main/java/com/hbm/world/feature/OreLayer3D.java +++ b/src/main/java/com/hbm/world/feature/OreLayer3D.java @@ -12,6 +12,9 @@ import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.terraingen.DecorateBiomeEvent; public class OreLayer3D { + + public static int counter = 0; + public int id; NoiseGeneratorPerlin noiseX; NoiseGeneratorPerlin noiseY; @@ -29,6 +32,8 @@ public class OreLayer3D { this.block = block; this.meta = meta; MinecraftForge.EVENT_BUS.register(this); + this.id = counter; + counter++; } public OreLayer3D setDimension(int dim) { @@ -58,9 +63,9 @@ public class OreLayer3D { if(world.provider == null || world.provider.dimensionId != this.dim) return; - if(this.noiseX == null) this.noiseX = new NoiseGeneratorPerlin(new Random(event.world.getSeed() + 101), 4); - if(this.noiseY == null) this.noiseY = new NoiseGeneratorPerlin(new Random(event.world.getSeed() + 102), 4); - if(this.noiseZ == null) this.noiseZ = new NoiseGeneratorPerlin(new Random(event.world.getSeed() + 103), 4); + if(this.noiseX == null) this.noiseX = new NoiseGeneratorPerlin(new Random(event.world.getSeed() + 101 + id), 4); + if(this.noiseY == null) this.noiseY = new NoiseGeneratorPerlin(new Random(event.world.getSeed() + 102 + id), 4); + if(this.noiseZ == null) this.noiseZ = new NoiseGeneratorPerlin(new Random(event.world.getSeed() + 103 + id), 4); int cX = event.chunkX; int cZ = event.chunkZ; diff --git a/src/main/java/com/hbm/world/feature/WorldGenSurfaceSpot.java b/src/main/java/com/hbm/world/feature/WorldGenSurfaceSpot.java new file mode 100644 index 000000000..a8a180395 --- /dev/null +++ b/src/main/java/com/hbm/world/feature/WorldGenSurfaceSpot.java @@ -0,0 +1,45 @@ +package com.hbm.world.feature; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +public class WorldGenSurfaceSpot extends WorldGenerator { + + private Block block; + private int radius; + private float chance; + + public WorldGenSurfaceSpot(Block block, int radius, float chance) { + this.block = block; + this.radius = radius; + this.chance = chance; + } + + public boolean generate(World world, Random rand, int x, int y, int z) { + int r = rand.nextInt(this.radius - 2) + 2; + byte depth = 2; + + for(int iX = x - r; iX <= x + r; ++iX) { + for(int iZ = z - r; iZ <= z + r; ++iZ) { + int k1 = iX - x; + int l1 = iZ - z; + + if(k1 * k1 + l1 * l1 <= r * r) { + for(int iY = y - depth; iY <= y + depth; ++iY) { + Block block = world.getBlock(iX, iY, iZ); + + if(block == Blocks.dirt || block == Blocks.grass) { + if(rand.nextFloat() < this.chance) world.setBlock(iX, iY, iZ, this.block, 0, 2); + } + } + } + } + } + + return true; + } +} diff --git a/src/main/java/com/hbm/world/gen/INBTTileEntityTransformable.java b/src/main/java/com/hbm/world/gen/INBTTileEntityTransformable.java new file mode 100644 index 000000000..33dc141c8 --- /dev/null +++ b/src/main/java/com/hbm/world/gen/INBTTileEntityTransformable.java @@ -0,0 +1,14 @@ +package com.hbm.world.gen; + +import net.minecraft.world.World; + +public interface INBTTileEntityTransformable { + + /** + * Like INBTTransformable but for TileEntities, like for randomizing bobbleheads + */ + + // Allows for the TE to modify itself when spawned in an NBT structure + public void transformTE(World world, int coordBaseMode); + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/world/gen/INBTTransformable.java b/src/main/java/com/hbm/world/gen/INBTTransformable.java new file mode 100644 index 000000000..1d2cb8746 --- /dev/null +++ b/src/main/java/com/hbm/world/gen/INBTTransformable.java @@ -0,0 +1,209 @@ +package com.hbm.world.gen; + +import net.minecraft.block.Block; + +public interface INBTTransformable { + + /** + * Defines this block as something that has a rotation or some other blockstate + * which needs transformations applied when building from an .nbt structure file + */ + + // Takes the block current meta and translates it into a rotated meta + public int transformMeta(int meta, int coordBaseMode); + + // Takes the block and turns it into a different block entirely, to turn off lights, shit like that + public default Block transformBlock(Block block) { + return block; + } + + + /** + * A fair few blocks have generalized rotations so, since we have all this space, put em here + */ + + public static int transformMetaDeco(int meta, int coordBaseMode) { + if(coordBaseMode == 0) return meta; + switch(coordBaseMode) { + case 1: //West + switch(meta) { + case 2: return 5; + case 3: return 4; + case 4: return 2; + case 5: return 3; + } + case 2: //North + switch(meta) { + case 2: return 3; + case 3: return 2; + case 4: return 5; + case 5: return 4; + } + case 3: //East + switch(meta) { + case 2: return 4; + case 3: return 5; + case 4: return 3; + case 5: return 2; + } + } + return meta; + } + + public static int transformMetaDecoModel(int meta, int coordBaseMode) { + if(coordBaseMode == 0) return meta; + int rot = (meta + coordBaseMode) % 4; + int type = (meta / 4) * 4; + + return rot | type; + } + + public static int transformMetaStairs(int meta, int coordBaseMode) { + if(coordBaseMode == 0) return meta; + switch(coordBaseMode) { + case 1: //West + if((meta & 3) < 2) //Flip second bit for E/W + meta = meta ^ 2; + else + meta = meta ^ 3; //Flip both bits for N/S + break; + case 2: //North + meta = meta ^ 1; //Flip first bit + break; + case 3: //East + if((meta & 3) < 2) //Flip both bits for E/W + meta = meta ^ 3; + else //Flip second bit for N/S + meta = meta ^ 2; + break; + } + return meta; + } + + public static int transformMetaPillar(int meta, int coordBaseMode) { + if(coordBaseMode == 0 || coordBaseMode == 2) return meta; + int type = meta & 3; + int rot = meta & 12; + + if(rot == 4) return type | 8; + if(rot == 8) return type | 4; + + return meta; + } + + public static int transformMetaDirectional(int meta, int coordBaseMode) { + if(coordBaseMode == 0) return meta; + int rot = meta & 3; + int other = meta & 12; + + switch(coordBaseMode) { + default: //S + break; + case 1: //W + rot = (rot + 1) % 4; break; + case 2: //N + rot ^= 2; break; + case 3: //E + rot = (rot + 3) % 4; break; + } + + return other | rot; + } + + public static int transformMetaTorch(int meta, int coordBaseMode) { + if(coordBaseMode == 0) return meta; + switch(coordBaseMode) { + case 1: //West + switch(meta) { + case 1: return 3; + case 2: return 4; + case 3: return 2; + case 4: return 1; + } + case 2: //North + switch(meta) { + case 1: return 2; + case 2: return 1; + case 3: return 4; + case 4: return 3; + } + case 3: //East + switch(meta) { + case 1: return 4; + case 2: return 3; + case 3: return 1; + case 4: return 2; + } + } + return meta; + } + + public static int transformMetaDoor(int meta, int coordBaseMode) { + if(coordBaseMode == 0) return meta; + if(meta == 8 || meta == 9) return meta; // ignore top parts + + return transformMetaDirectional(meta, coordBaseMode); + } + + public static int transformMetaLever(int meta, int coordBaseMode) { + if(coordBaseMode == 0) return meta; + if(meta <= 0 || meta >= 7) { //levers suck ass + switch(coordBaseMode) { + case 1: case 3: //west / east + meta ^= 0b111; + } + } else if(meta >= 5) { + switch(coordBaseMode) { + case 1: case 3: //west / east + meta = (meta + 1) % 2 + 5; + } + } else { + meta = transformMetaTorch(meta, coordBaseMode); + } + + return meta; + } + + public static int transformMetaVine(int meta, int coordBaseMode) { //Sloppppp coddee aa + int result = 0; + + for (int i = 0; i < 4; i++) { + int bit = 1 << i; + if ((meta & bit) != 0) { + result |= rotateVineBit(bit, coordBaseMode); + } + } + + return result; + } + + static int rotateVineBit(int bit, int coordBaseMode) { + int index = -1; + + switch (bit) { + case 1: index = 0; break; // south + case 2: index = 1; break; // west + case 4: index = 2; break; // north + case 8: index = 3; break; // east + default: return 0; + } + + int rotated = index; + + switch (coordBaseMode) { + case 1: rotated = (index + 1) % 4; break; // 90° + case 2: rotated = (index + 2) % 4; break; // 180° + case 3: rotated = (index + 3) % 4; break; // 270° + // case 0: vines work ughhggh (im dragging it) + } + + switch (rotated) { + case 0: return 1; // south + case 1: return 2; // west + case 2: return 4; // north + case 3: return 8; // east + } + + return 0; + } +} diff --git a/src/main/java/com/hbm/world/gen/MapGenNTMFeatures.java b/src/main/java/com/hbm/world/gen/MapGenNTMFeatures.java index a4d225c7f..20f380ed9 100644 --- a/src/main/java/com/hbm/world/gen/MapGenNTMFeatures.java +++ b/src/main/java/com/hbm/world/gen/MapGenNTMFeatures.java @@ -12,7 +12,6 @@ import com.hbm.world.gen.component.CivilianFeatures.NTMHouse1; import com.hbm.world.gen.component.CivilianFeatures.NTMHouse2; import com.hbm.world.gen.component.CivilianFeatures.NTMLab1; import com.hbm.world.gen.component.CivilianFeatures.NTMLab2; -import com.hbm.world.gen.component.CivilianFeatures.NTMWorkshop1; import com.hbm.world.gen.component.CivilianFeatures.RuralHouse1; import com.hbm.world.gen.component.OfficeFeatures.LargeOffice; import com.hbm.world.gen.component.OfficeFeatures.LargeOfficeCorner; @@ -31,40 +30,40 @@ import net.minecraft.world.gen.structure.StructureComponent; import net.minecraft.world.gen.structure.StructureStart; public class MapGenNTMFeatures extends MapGenStructure { - + //BiomeDictionary could be /very/ useful, since it automatically sorts *all* biomes into predefined categories private static List biomelist; /** Maximum distance between structures */ private int maxDistanceBetweenScatteredFeatures; /** Minimum distance between structures */ private int minDistanceBetweenScatteredFeatures; - + public MapGenNTMFeatures() { this.maxDistanceBetweenScatteredFeatures = StructureConfig.structureMaxChunks; this.minDistanceBetweenScatteredFeatures = StructureConfig.structureMinChunks; } - + /** String ID for this MapGen */ @Override public String func_143025_a() { return "NTMFeatures"; } - + /** * Checks if a structure can be spawned at coords, based off of chance and biome * (Good approach would probably be to only exclude ocean biomes through biomelist and rely on temperature and rainfall instead of biomegenbase, would allow for biomes o' plenty compat) */ @Override protected boolean canSpawnStructureAtCoords(int chunkX, int chunkZ) { - + int k = chunkX; int l = chunkZ; - + if(chunkX < 0) chunkX -= this.maxDistanceBetweenScatteredFeatures - 1; if(chunkZ < 0) chunkZ -= this.maxDistanceBetweenScatteredFeatures - 1; - + int i1 = chunkX / this.maxDistanceBetweenScatteredFeatures; int j1 = chunkZ / this.maxDistanceBetweenScatteredFeatures; Random random = this.worldObj.setRandomSeed(i1, j1, 14357617); @@ -72,31 +71,31 @@ public class MapGenNTMFeatures extends MapGenStructure { j1 *= this.maxDistanceBetweenScatteredFeatures; i1 += random.nextInt(this.maxDistanceBetweenScatteredFeatures - this.minDistanceBetweenScatteredFeatures); j1 += random.nextInt(this.maxDistanceBetweenScatteredFeatures - this.minDistanceBetweenScatteredFeatures); - + if(k == i1 && l == j1) { BiomeGenBase biomegenbase = this.worldObj.getWorldChunkManager().getBiomeGenAt(k * 16 + 8, l * 16 + 8); - + if(biomelist == null) { biomelist = Arrays.asList(new BiomeGenBase[] {BiomeGenBase.ocean, BiomeGenBase.river, BiomeGenBase.frozenOcean, BiomeGenBase.frozenRiver, BiomeGenBase.deepOcean}); } - + Iterator iterator = biomelist.iterator(); - + while(iterator.hasNext()) { BiomeGenBase biomegenbase1 = (BiomeGenBase)iterator.next(); - + if(biomegenbase == biomegenbase1) return false; } return true; } - + return false; } - - + + //StructureStart Methods Class - + /** Returns new StructureStart if structure can be spawned at coords */ @Override protected StructureStart getStructureStart(int chunkX, int chunkZ) { @@ -105,26 +104,26 @@ public class MapGenNTMFeatures extends MapGenStructure { } return new MapGenNTMFeatures.Start(this.worldObj, this.rand, chunkX, chunkZ); } - + public static class Start extends StructureStart { - + public Start() {} - + public Start(World world, Random rand, int chunkX, int chunkZ) { super(chunkX, chunkZ); - + int i = (chunkX << 4) + 8; int j = (chunkZ << 4) + 8; - + BiomeGenBase biome = world.getBiomeGenForCoords(i, j); //Only gets the biome in the corner of the chunk. - + /* * Probably want to use nextInt() to increase the structures of rarity here. As a fallback, you could have generic stone brick/useless block ruins that will always be chosen if the * chance/location fails for all other structures. Might not even be necessary, but whatever. * Rainfall & Temperature Check */ //TODO: Do something about this so it's nice-looking and easily readable. Plus, test compatibility against mods like BoP - + if(rand.nextInt(3) == 0) { //Empty Ruin Structures switch(rand.nextInt(4)) { case 0: @@ -143,7 +142,7 @@ public class MapGenNTMFeatures extends MapGenStructure { NTMRuin4 ruin4 = new NTMRuin4(rand, i, j); this.components.add(ruin4); } - + } else if(biome.heightVariation <= 0.25F && rand.nextInt(10) == 0) { //for now our only restriction is kinda-flat biomes. that and chance might change idk SiloComponent silo = new SiloComponent(rand, i, j); this.components.add(silo); @@ -155,10 +154,6 @@ public class MapGenNTMFeatures extends MapGenStructure { NTMHouse2 house2 = new NTMHouse2(rand, i, j); this.components.add(house2); } - - } else if(biome.temperature >= 0.25 && biome.temperature <= 0.3 && biome.rainfall >= 0.6 && biome.rainfall <= 0.9 && rand.nextBoolean()) { //Taiga & Mega Taiga - NTMWorkshop1 workshop1 = new NTMWorkshop1(rand, i, j); //TODO replace this - this.components.add(workshop1); } else { //Everything else switch(rand.nextInt(6)) { case 0: @@ -179,16 +174,16 @@ public class MapGenNTMFeatures extends MapGenStructure { this.components.add(ruralHouse); break; } } - + if(GeneralConfig.enableDebugMode) { System.out.print("[Debug] StructureStart at " + i + ", 64, " + j + "\n[Debug] Components: "); this.components.forEach((component) -> { System.out.print(MapGenStructureIO.func_143036_a((StructureComponent) component) + " "); }); - + System.out.print("\n"); } - + this.updateBoundingBox(); } } diff --git a/src/main/java/com/hbm/world/gen/NBTStructure.java b/src/main/java/com/hbm/world/gen/NBTStructure.java new file mode 100644 index 000000000..60da4735a --- /dev/null +++ b/src/main/java/com/hbm/world/gen/NBTStructure.java @@ -0,0 +1,1241 @@ +package com.hbm.world.gen; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.*; +import java.util.function.Function; +import java.util.function.Predicate; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockWand; +import com.hbm.config.GeneralConfig; +import com.hbm.config.StructureConfig; +import com.hbm.handler.ThreeInts; +import com.hbm.main.MainRegistry; +import com.hbm.util.Tuple.Pair; +import com.hbm.util.Tuple.Quartet; +import com.hbm.util.fauxpointtwelve.BlockPos; + +import cpw.mods.fml.common.registry.GameRegistry; +import net.minecraft.block.*; +import net.minecraft.client.Minecraft; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTBase; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagInt; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.chunk.IChunkProvider; +import net.minecraft.world.gen.structure.MapGenStructure; +import net.minecraft.world.gen.structure.MapGenStructureIO; +import net.minecraft.world.gen.structure.StructureBoundingBox; +import net.minecraft.world.gen.structure.StructureComponent; +import net.minecraft.world.gen.structure.StructureComponent.BlockSelector; +import net.minecraft.world.gen.structure.StructureStart; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.common.util.Constants.NBT; + +public class NBTStructure { + + /** + * Now with structure support! + * + * the type of structure to generate is saved into the Component, + * meaning this can generate all sorts of different structures, + * without having to define and register each structure manually + */ + + protected static Map> weightedMap = new HashMap<>(); + + // serialization data + protected static Map jigsawMap = new HashMap<>(); + + private String name; + + private boolean isLoaded; + + private ThreeInts size; + private List> itemPalette; + private BlockState[][][] blockArray; + + private List> fromConnections; + private Map> toTopConnections; + private Map> toBottomConnections; + private Map> toHorizontalConnections; + + public NBTStructure(ResourceLocation resource) { + // Can't use regular resource loading, servers don't know how! + InputStream stream = NBTStructure.class.getResourceAsStream("/assets/" + resource.getResourceDomain() + "/" + resource.getResourcePath()); + if(stream != null) { + name = resource.getResourcePath(); + loadStructure(stream); + } else { + MainRegistry.logger.error("NBT Structure not found: " + resource.getResourcePath()); + } + } + + public static void register() { + MapGenStructureIO.registerStructure(Start.class, "NBTStructures"); + MapGenStructureIO.func_143031_a(Component.class, "NBTComponents"); + } + + // Register a new structure for a given dimension + public static void registerStructure(int dimensionId, SpawnCondition spawn) { + List weightedList = weightedMap.computeIfAbsent(dimensionId, integer -> new ArrayList()); + for(int i = 0; i < spawn.spawnWeight; i++) { + weightedList.add(spawn); + } + } + + public static void registerStructure(SpawnCondition spawn, int[] dimensionIds) { + for(int dimensionId : dimensionIds) { + registerStructure(dimensionId, spawn); + } + } + + // Add a chance for nothing to spawn at a given valid spawn location + public static void registerNullWeight(int dimensionId, int weight) { + registerNullWeight(dimensionId, weight, null); + } + + public static void registerNullWeight(int dimensionId, int weight, Predicate predicate) { + SpawnCondition spawn = new SpawnCondition() {{ + spawnWeight = weight; + canSpawn = predicate; + }}; + + List weightedList = weightedMap.computeIfAbsent(dimensionId, integer -> new ArrayList()); + for(int i = 0; i < spawn.spawnWeight; i++) { + weightedList.add(spawn); + } + } + + // Saves a selected area into an NBT structure (+ some of our non-standard stuff to support 1.7.10) + public static void saveArea(String filename, World world, int x1, int y1, int z1, int x2, int y2, int z2, Set> exclude) { + NBTTagCompound structure = new NBTTagCompound(); + NBTTagList nbtBlocks = new NBTTagList(); + NBTTagList nbtPalette = new NBTTagList(); + NBTTagList nbtItemPalette = new NBTTagList(); + + // Quick access hash slinging slashers + Map, Integer> palette = new HashMap<>(); + Map itemPalette = new HashMap<>(); + + structure.setInteger("version", 1); + + int ox = Math.min(x1, x2); + int oy = Math.min(y1, y2); + int oz = Math.min(z1, z2); + + for(int x = ox; x <= Math.max(x1, x2); x++) { + for(int y = oy; y <= Math.max(y1, y2); y++) { + for(int z = oz; z <= Math.max(z1, z2); z++) { + Pair block = new Pair(world.getBlock(x, y, z), world.getBlockMetadata(x, y, z)); + + if(exclude.contains(block)) continue; + + if(block.key instanceof BlockWand) { + block.key = ((BlockWand) block.key).exportAs; + } + + int paletteId = palette.size(); + if(palette.containsKey(block)) { + paletteId = palette.get(block); + } else { + palette.put(block, paletteId); + + NBTTagCompound nbtBlock = new NBTTagCompound(); + nbtBlock.setString("Name", GameRegistry.findUniqueIdentifierFor(block.key).toString()); + + NBTTagCompound nbtProp = new NBTTagCompound(); + nbtProp.setString("meta", block.value.toString()); + + nbtBlock.setTag("Properties", nbtProp); + + nbtPalette.appendTag(nbtBlock); + } + + NBTTagCompound nbtBlock = new NBTTagCompound(); + nbtBlock.setInteger("state", paletteId); + + NBTTagList nbtPos = new NBTTagList(); + nbtPos.appendTag(new NBTTagInt(x - ox)); + nbtPos.appendTag(new NBTTagInt(y - oy)); + nbtPos.appendTag(new NBTTagInt(z - oz)); + + nbtBlock.setTag("pos", nbtPos); + + TileEntity te = world.getTileEntity(x, y, z); + if(te != null) { + NBTTagCompound nbt = new NBTTagCompound(); + te.writeToNBT(nbt); + + nbt.removeTag("x"); + nbt.removeTag("y"); + nbt.removeTag("z"); + + nbtBlock.setTag("nbt", nbt); + + String itemKey = null; + if(nbt.hasKey("items")) itemKey = "items"; + if(nbt.hasKey("Items")) itemKey = "Items"; + + if(nbt.hasKey(itemKey)) { + NBTTagList items = nbt.getTagList(itemKey, NBT.TAG_COMPOUND); + for(int i = 0; i < items.tagCount(); i++) { + NBTTagCompound item = items.getCompoundTagAt(i); + short id = item.getShort("id"); + String name = GameRegistry.findUniqueIdentifierFor(Item.getItemById(id)).toString(); + + if(!itemPalette.containsKey(id)) { + int itemPaletteId = itemPalette.size(); + itemPalette.put(id, itemPaletteId); + + NBTTagCompound nbtItem = new NBTTagCompound(); + nbtItem.setShort("ID", id); + nbtItem.setString("Name", name); + + nbtItemPalette.appendTag(nbtItem); + } + } + } + } + + nbtBlocks.appendTag(nbtBlock); + } + } + } + + structure.setTag("blocks", nbtBlocks); + structure.setTag("palette", nbtPalette); + structure.setTag("itemPalette", nbtItemPalette); + + NBTTagList nbtSize = new NBTTagList(); + nbtSize.appendTag(new NBTTagInt(Math.abs(x1 - x2) + 1)); + nbtSize.appendTag(new NBTTagInt(Math.abs(y1 - y2) + 1)); + nbtSize.appendTag(new NBTTagInt(Math.abs(z1 - z2) + 1)); + structure.setTag("size", nbtSize); + + structure.setTag("entities", new NBTTagList()); + + try { + File structureDirectory = new File(Minecraft.getMinecraft().mcDataDir, "structures"); + structureDirectory.mkdir(); + + File structureFile = new File(structureDirectory, filename); + + CompressedStreamTools.writeCompressed(structure, new FileOutputStream(structureFile)); + } catch (Exception ex) { + MainRegistry.logger.warn("Failed to save NBT structure", ex); + } + } + + private void loadStructure(InputStream inputStream) { + try { + NBTTagCompound data = CompressedStreamTools.readCompressed(inputStream); + + + // GET SIZE (for offsetting to center) + size = parsePos(data.getTagList("size", NBT.TAG_INT)); + + + // PARSE BLOCK PALETTE + NBTTagList paletteList = data.getTagList("palette", NBT.TAG_COMPOUND); + BlockDefinition[] palette = new BlockDefinition[paletteList.tagCount()]; + + for(int i = 0; i < paletteList.tagCount(); i++) { + NBTTagCompound p = paletteList.getCompoundTagAt(i); + + String blockName = p.getString("Name"); + NBTTagCompound prop = p.getCompoundTag("Properties"); + + int meta = 0; + try { + meta = Integer.parseInt(prop.getString("meta")); + } catch(NumberFormatException ex) { + MainRegistry.logger.info("Failed to parse: " + prop.getString("meta")); + meta = 0; + } + + palette[i] = new BlockDefinition(blockName, meta); + + if(StructureConfig.debugStructures && palette[i].block == Blocks.air) { + palette[i] = new BlockDefinition(ModBlocks.wand_air, meta); + } + } + + + // PARSE ITEM PALETTE (custom shite) + if(data.hasKey("itemPalette")) { + NBTTagList itemPaletteList = data.getTagList("itemPalette", NBT.TAG_COMPOUND); + itemPalette = new ArrayList<>(itemPaletteList.tagCount()); + + for(int i = 0; i < itemPaletteList.tagCount(); i++) { + NBTTagCompound p = itemPaletteList.getCompoundTagAt(i); + + short id = p.getShort("ID"); + String name = p.getString("Name"); + + itemPalette.add(new Pair<>(id, name)); + } + } else { + itemPalette = null; + } + + + // LOAD IN BLOCKS + NBTTagList blockData = data.getTagList("blocks", NBT.TAG_COMPOUND); + blockArray = new BlockState[size.x][size.y][size.z]; + + List connections = new ArrayList<>(); + + for(int i = 0; i < blockData.tagCount(); i++) { + NBTTagCompound block = blockData.getCompoundTagAt(i); + int state = block.getInteger("state"); + ThreeInts pos = parsePos(block.getTagList("pos", NBT.TAG_INT)); + + BlockState blockState = new BlockState(palette[state]); + + if(block.hasKey("nbt")) { + NBTTagCompound nbt = block.getCompoundTag("nbt"); + blockState.nbt = nbt; + + // Load in connection points for jigsaws + if(blockState.definition.block == ModBlocks.wand_jigsaw) { + if(toTopConnections == null) toTopConnections = new HashMap<>(); + if(toBottomConnections == null) toBottomConnections = new HashMap<>(); + if(toHorizontalConnections == null) toHorizontalConnections = new HashMap<>(); + + int selectionPriority = nbt.getInteger("selection"); + int placementPriority = nbt.getInteger("placement"); + ForgeDirection direction = ForgeDirection.getOrientation(nbt.getInteger("direction")); + String poolName = nbt.getString("pool"); + String ourName = nbt.getString("name"); + String targetName = nbt.getString("target"); + String replaceBlock = nbt.getString("block"); + int replaceMeta = nbt.getInteger("meta"); + boolean isRollable = nbt.getBoolean("roll"); + + JigsawConnection connection = new JigsawConnection(pos, direction, poolName, targetName, isRollable, selectionPriority, placementPriority); + + connections.add(connection); + + Map> toConnections = null; + if(direction == ForgeDirection.UP) { + toConnections = toTopConnections; + } else if(direction == ForgeDirection.DOWN) { + toConnections = toBottomConnections; + } else { + toConnections = toHorizontalConnections; + } + + List namedConnections = toConnections.computeIfAbsent(ourName, name -> new ArrayList<>()); + namedConnections.add(connection); + + if(!StructureConfig.debugStructures) { + blockState = new BlockState(new BlockDefinition(replaceBlock, replaceMeta)); + } + } + } + + blockArray[pos.x][pos.y][pos.z] = blockState; + } + + + // MAP OUT CONNECTIONS + PRIORITIES + if(connections.size() > 0) { + fromConnections = new ArrayList<>(); + + connections.sort((a, b) -> b.selectionPriority - a.selectionPriority); // sort by descending priority, highest first + + // Sort out our from connections, splitting into individual lists for each priority level + List innerList = null; + int currentPriority = 0; + for(JigsawConnection connection : connections) { + if(innerList == null || currentPriority != connection.selectionPriority) { + innerList = new ArrayList<>(); + fromConnections.add(innerList); + currentPriority = connection.selectionPriority; + } + + innerList.add(connection); + } + } + + + + isLoaded = true; + + } catch(Exception e) { + MainRegistry.logger.error("Exception reading NBT Structure format", e); + } finally { + try { + inputStream.close(); + } catch(IOException e) { + // hush + } + } + } + + private HashMap getWorldItemPalette() { + if(itemPalette == null) return null; + + HashMap worldItemPalette = new HashMap<>(); + + for(Pair entry : itemPalette) { + Item item = (Item)Item.itemRegistry.getObject(entry.getValue()); + + worldItemPalette.put(entry.getKey(), (short)Item.getIdFromItem(item)); + } + + return worldItemPalette; + } + + private TileEntity buildTileEntity(World world, Block block, HashMap worldItemPalette, NBTTagCompound nbt, int coordBaseMode) { + nbt = (NBTTagCompound)nbt.copy(); + + if(worldItemPalette != null) relinkItems(worldItemPalette, nbt); + + TileEntity te = TileEntity.createAndLoadEntity(nbt); + + if(te instanceof INBTTileEntityTransformable) { + ((INBTTileEntityTransformable) te).transformTE(world, coordBaseMode); + } + + return te; + } + + public void build(World world, int x, int y, int z) { + build(world, x, y, z, 0); + } + + public void build(World world, int x, int y, int z, int coordBaseMode) { + if(!isLoaded) { + MainRegistry.logger.info("NBTStructure is invalid"); + return; + } + + HashMap worldItemPalette = getWorldItemPalette(); + + boolean swizzle = coordBaseMode == 1 || coordBaseMode == 3; + x -= (swizzle ? size.z : size.x) / 2; + z -= (swizzle ? size.x : size.z) / 2; + + int maxX = size.x; + int maxZ = size.z; + + for(int bx = 0; bx < maxX; bx++) { + for(int bz = 0; bz < maxZ; bz++) { + int rx = rotateX(bx, bz, coordBaseMode) + x; + int rz = rotateZ(bx, bz, coordBaseMode) + z; + + for(int by = 0; by < size.y; by++) { + BlockState state = blockArray[bx][by][bz]; + if(state == null) continue; + + int ry = by + y; + + Block block = transformBlock(state.definition, null, world.rand); + int meta = transformMeta(state.definition, null, coordBaseMode); + + world.setBlock(rx, ry, rz, block, meta, 2); + + if(state.nbt != null) { + TileEntity te = buildTileEntity(world, block, worldItemPalette, state.nbt, coordBaseMode); + world.setTileEntity(rx, ry, rz, te); + } + } + } + } + } + + protected boolean build(World world, JigsawPiece piece, StructureBoundingBox totalBounds, StructureBoundingBox generatingBounds, int coordBaseMode) { + if(!isLoaded) { + MainRegistry.logger.info("NBTStructure is invalid"); + return false; + } + + HashMap worldItemPalette = getWorldItemPalette(); + + int sizeX = totalBounds.maxX - totalBounds.minX; + int sizeZ = totalBounds.maxZ - totalBounds.minZ; + + // voxel grid transforms can fuck you up + // you have my respect, vaer + int absMinX = Math.max(generatingBounds.minX - totalBounds.minX, 0); + int absMaxX = Math.min(generatingBounds.maxX - totalBounds.minX, sizeX); + int absMinZ = Math.max(generatingBounds.minZ - totalBounds.minZ, 0); + int absMaxZ = Math.min(generatingBounds.maxZ - totalBounds.minZ, sizeZ); + + // A check to see that we're actually inside the generating area at all + if(absMinX > sizeX || absMaxX < 0 || absMinZ > sizeZ || absMaxZ < 0) return true; + + int rotMinX = unrotateX(absMinX, absMinZ, coordBaseMode); + int rotMaxX = unrotateX(absMaxX, absMaxZ, coordBaseMode); + int rotMinZ = unrotateZ(absMinX, absMinZ, coordBaseMode); + int rotMaxZ = unrotateZ(absMaxX, absMaxZ, coordBaseMode); + + int minX = Math.min(rotMinX, rotMaxX); + int maxX = Math.max(rotMinX, rotMaxX); + int minZ = Math.min(rotMinZ, rotMaxZ); + int maxZ = Math.max(rotMinZ, rotMaxZ); + + for(int bx = minX; bx <= maxX; bx++) { + for(int bz = minZ; bz <= maxZ; bz++) { + int rx = rotateX(bx, bz, coordBaseMode) + totalBounds.minX; + int rz = rotateZ(bx, bz, coordBaseMode) + totalBounds.minZ; + int oy = piece.conformToTerrain ? world.getTopSolidOrLiquidBlock(rx, rz) + piece.heightOffset : totalBounds.minY; + + for(int by = 0; by < size.y; by++) { + BlockState state = blockArray[bx][by][bz]; + if(state == null) continue; + + int ry = by + oy; + + Block block = transformBlock(state.definition, piece.blockTable, world.rand); + int meta = transformMeta(state.definition, piece.blockTable, coordBaseMode); + + world.setBlock(rx, ry, rz, block, meta, 2); + + if(state.nbt != null) { + TileEntity te = buildTileEntity(world, block, worldItemPalette, state.nbt, coordBaseMode); + world.setTileEntity(rx, ry, rz, te); + } + } + } + } + + return true; + } + + // What a fucken mess, why even implement the IntArray NBT if ye aint gonna use it Moe Yang? + private ThreeInts parsePos(NBTTagList pos) { + NBTBase xb = (NBTBase)pos.tagList.get(0); + int x = ((NBTTagInt)xb).func_150287_d(); + NBTBase yb = (NBTBase)pos.tagList.get(1); + int y = ((NBTTagInt)yb).func_150287_d(); + NBTBase zb = (NBTBase)pos.tagList.get(2); + int z = ((NBTTagInt)zb).func_150287_d(); + + return new ThreeInts(x, y, z); + } + + // NON-STANDARD, items are serialized with IDs, which will differ from world to world! + // So our fixed exporter adds an itemPalette, please don't hunt me down for fucking with the spec + private void relinkItems(HashMap palette, NBTTagCompound nbt) { + NBTTagList items = null; + if(nbt.hasKey("items")) + items = nbt.getTagList("items", NBT.TAG_COMPOUND); + if(nbt.hasKey("Items")) + items = nbt.getTagList("Items", NBT.TAG_COMPOUND); + + if(items == null) return; + + for(int i = 0; i < items.tagCount(); i++) { + NBTTagCompound item = items.getCompoundTagAt(i); + item.setShort("id", palette.get(item.getShort("id"))); + } + } + + private Block transformBlock(BlockDefinition definition, Map blockTable, Random rand) { + if(blockTable != null && blockTable.containsKey(definition.block)) { + final BlockSelector selector = blockTable.get(definition.block); + selector.selectBlocks(rand, 0, 0, 0, false); // fuck the vanilla shit idc + return selector.func_151561_a(); + } + + if(definition.block instanceof INBTTransformable) return ((INBTTransformable) definition.block).transformBlock(definition.block); + + return definition.block; + } + + private int transformMeta(BlockDefinition definition, Map blockTable, int coordBaseMode) { + if(blockTable != null && blockTable.containsKey(definition.block)) { + return blockTable.get(definition.block).getSelectedBlockMetaData(); + } + + // Our shit + if(definition.block instanceof INBTTransformable) return ((INBTTransformable) definition.block).transformMeta(definition.meta, coordBaseMode); + + if(coordBaseMode == 0) return definition.meta; + + // Vanilla shit + if(definition.block instanceof BlockStairs) return INBTTransformable.transformMetaStairs(definition.meta, coordBaseMode); + if(definition.block instanceof BlockRotatedPillar) return INBTTransformable.transformMetaPillar(definition.meta, coordBaseMode); + if(definition.block instanceof BlockDirectional) return INBTTransformable.transformMetaDirectional(definition.meta, coordBaseMode); + if(definition.block instanceof BlockTorch) return INBTTransformable.transformMetaTorch(definition.meta, coordBaseMode); + if(definition.block instanceof BlockButton) return INBTTransformable.transformMetaTorch(definition.meta, coordBaseMode); + if(definition.block instanceof BlockDoor) return INBTTransformable.transformMetaDoor(definition.meta, coordBaseMode); + if(definition.block instanceof BlockLever) return INBTTransformable.transformMetaLever(definition.meta, coordBaseMode); + if(definition.block instanceof BlockSign) return INBTTransformable.transformMetaDeco(definition.meta, coordBaseMode); + if(definition.block instanceof BlockLadder) return INBTTransformable.transformMetaDeco(definition.meta, coordBaseMode); + if(definition.block instanceof BlockTripWireHook) return INBTTransformable.transformMetaDirectional(definition.meta, coordBaseMode); + if(definition.block == Blocks.vine) return INBTTransformable.transformMetaVine(definition.meta, coordBaseMode); + return definition.meta; + } + + private int rotateX(int x, int z, int coordBaseMode) { + switch(coordBaseMode) { + case 1: return size.z - 1 - z; + case 2: return size.x - 1 - x; + case 3: return z; + default: return x; + } + } + + private int rotateZ(int x, int z, int coordBaseMode) { + switch(coordBaseMode) { + case 1: return x; + case 2: return size.z - 1 - z; + case 3: return size.x - 1 - x; + default: return z; + } + } + + private int unrotateX(int x, int z, int coordBaseMode) { + switch(coordBaseMode) { + case 3: return size.x - 1 - z; + case 2: return size.x - 1 - x; + case 1: return z; + default: return x; + } + } + + private int unrotateZ(int x, int z, int coordBaseMode) { + switch(coordBaseMode) { + case 3: return x; + case 2: return size.z - 1 - z; + case 1: return size.z - 1 - x; + default: return z; + } + } + + private static class BlockState { + + final BlockDefinition definition; + NBTTagCompound nbt; + + BlockState(BlockDefinition definition) { + this.definition = definition; + } + + } + + private static class BlockDefinition { + + final Block block; + final int meta; + + BlockDefinition(String name, int meta) { + Block block = Block.getBlockFromName(name); + if(block == null) block = Blocks.air; + + this.block = block; + this.meta = meta; + } + + BlockDefinition(Block block, int meta) { + this.block = block; + this.meta = meta; + } + + } + + public static class SpawnCondition { + + // If defined, will spawn a single jigsaw piece, for single nbt structures + public JigsawPiece structure; + + // If defined, will spawn in a non-nbt structure component + public Function, StructureStart> start; + + public Predicate canSpawn; + public int spawnWeight = 1; + + // Named jigsaw pools that are referenced within the structure + public Map pools; + public String startPool; + + // Maximum amount of components in this structure + public int sizeLimit = 8; + + // How far the structure can extend horizontally from the center, maximum of 128 + // This could be increased by changing GenStructure:range from 8, but this is already quite reasonably large + public int rangeLimit = 128; + + // Height modifiers, will clamp height that the start generates at, allowing for: + // * Submarines that must spawn under the ocean surface + // * Bunkers that sit underneath the ground + public int minHeight = 1; + public int maxHeight = 128; + + // Can this spawn in the current biome + protected boolean isValid(BiomeGenBase biome) { + if(canSpawn == null) return true; + return canSpawn.test(biome); + } + + protected JigsawPool getPool(String name) { + return pools.get(name).clone(); + } + + // Builds all of the pools into neat rows and columns, for editing and debugging! + // Make sure structure debug is enabled, or it will no-op + // Do not use in generation + public void buildAll(World world, int x, int y, int z) { + if(!StructureConfig.debugStructures) return; + + int padding = 5; + int oz = 0; + + for(JigsawPool pool : pools.values()) { + int highestWidth = 0; + int ox = 0; + + for(Pair entry : pool.pieces) { + NBTStructure structure = entry.key.structure; + structure.build(world, x + ox + (structure.size.x / 2), y, z + oz + (structure.size.z / 2)); + + ox += structure.size.x + padding; + highestWidth = Math.max(highestWidth, structure.size.z); + } + + oz += highestWidth + padding; + } + } + + } + + // A set of pieces with weights + public static class JigsawPool { + + // Weighted list of pieces to pick from + private List> pieces = new ArrayList<>(); + private int totalWeight = 0; + + public String fallback; + + private boolean isClone; + + public void add(JigsawPiece piece, int weight) { + if(weight <= 0) throw new IllegalStateException("JigsawPool spawn weight must be positive!"); + pieces.add(new Pair<>(piece, weight)); + totalWeight += weight; + } + + protected JigsawPool clone() { + JigsawPool clone = new JigsawPool(); + clone.pieces = new ArrayList<>(this.pieces); + clone.fallback = this.fallback; + clone.totalWeight = this.totalWeight; + clone.isClone = true; + + return clone; + } + + // If from a clone, will remove from the pool + public JigsawPiece get(Random rand) { + if(totalWeight <= 0) return null; + int weight = rand.nextInt(totalWeight); + + for(int i = 0; i < pieces.size(); i++) { + Pair pair = pieces.get(i); + weight -= pair.getValue(); + + if(weight < 0) { + if(isClone) { + pieces.remove(i); + totalWeight -= pair.getValue(); + } + + return pair.getKey(); + } + } + + return null; + } + + } + + // Assigned to a Component to build + public static class JigsawPiece { + + public final String name; + public final NBTStructure structure; + + // Block modifiers, for randomization and terrain matching + public Map blockTable; + public boolean conformToTerrain = false; // moves every single column to the terrain (digging out trenches, natural formations) + public boolean alignToTerrain = false; // aligns this component y-level individually, without moving individual columns (village houses) + public int heightOffset = 0; // individual offset for the structure + + public JigsawPiece(String name, NBTStructure structure) { + this(name, structure, 0); + } + + public JigsawPiece(String name, NBTStructure structure, int heightOffset) { + if(name == null) throw new IllegalStateException("A severe error has occurred in NBTStructure! A jigsaw piece has been registered without a valid name!"); + if(jigsawMap.containsKey(name)) throw new IllegalStateException("A severe error has occurred in NBTStructure! A jigsaw piece has been registered with the same name as another: " + name); + + this.name = name; + this.structure = structure; + jigsawMap.put(name, this); + + this.heightOffset = heightOffset; + } + + } + + + // Each jigsaw block in a structure will instance one of these + private static class JigsawConnection { + + private final ThreeInts pos; + private final ForgeDirection dir; + + // what pool should we look through to find a connection + private final String poolName; + + // when we successfully find a pool, what connections in that jigsaw piece can we target + private final String targetName; + + private final boolean isRollable; + + private final int selectionPriority; + private final int placementPriority; + + private JigsawConnection(ThreeInts pos, ForgeDirection dir, String poolName, String targetName, boolean isRollable, int selectionPriority, int placementPriority) { + this.pos = pos; + this.dir = dir; + this.poolName = poolName; + this.targetName = targetName; + this.isRollable = isRollable; + this.selectionPriority = selectionPriority; + this.placementPriority = placementPriority; + } + + } + + public static class Component extends StructureComponent { + + JigsawPiece piece; + + int minHeight = 1; + int maxHeight = 128; + + boolean heightUpdated = false; + + int priority; + + // this is fucking hacky but we need a way to update ALL component bounds once a Y-level is determined + private Start parent; + + private JigsawConnection connectedFrom; + + public Component() {} + + public Component(SpawnCondition spawn, JigsawPiece piece, Random rand, int x, int z) { + this(spawn, piece, rand, x, 0, z, rand.nextInt(4)); + } + + public Component(SpawnCondition spawn, JigsawPiece piece, Random rand, int x, int y, int z, int coordBaseMode) { + super(0); + this.coordBaseMode = coordBaseMode; + this.piece = piece; + this.minHeight = spawn.minHeight; + this.maxHeight = spawn.maxHeight; + + switch(this.coordBaseMode) { + case 1: + case 3: + this.boundingBox = new StructureBoundingBox(x, y, z, x + piece.structure.size.z - 1, y + piece.structure.size.y - 1, z + piece.structure.size.x - 1); + break; + default: + this.boundingBox = new StructureBoundingBox(x, y, z, x + piece.structure.size.x - 1, y + piece.structure.size.y - 1, z + piece.structure.size.z - 1); + break; + } + } + + public Component connectedFrom(JigsawConnection connection) { + this.connectedFrom = connection; + return this; + } + + // Save to NBT + @Override + protected void func_143012_a(NBTTagCompound nbt) { + nbt.setString("piece", piece.name); + nbt.setInteger("min", minHeight); + nbt.setInteger("max", maxHeight); + nbt.setBoolean("hasHeight", heightUpdated); + } + + // Load from NBT + @Override + protected void func_143011_b(NBTTagCompound nbt) { + piece = jigsawMap.get(nbt.getString("piece")); + minHeight = nbt.getInteger("min"); + maxHeight = nbt.getInteger("max"); + heightUpdated = nbt.getBoolean("hasHeight"); + } + + @Override + public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) { + if(piece == null) return false; + + // now we're in the world, update minY/maxY + if(!piece.conformToTerrain && !heightUpdated) { + int y = MathHelper.clamp_int(getAverageHeight(world, box) + piece.heightOffset, minHeight, maxHeight); + + if(!piece.alignToTerrain && parent != null) { + parent.offsetYHeight(y); + } else { + offsetYHeight(y); + } + } + + return piece.structure.build(world, piece, boundingBox, box, coordBaseMode); + } + + public void offsetYHeight(int y) { + boundingBox.minY += y; + boundingBox.maxY += y; + + heightUpdated = true; + } + + // Overrides to fix Mojang's fucked rotations which FLIP instead of rotating in two instances + // vaer being in the mines doing this the hard way for years was absolutely not for naught + @Override + protected int getXWithOffset(int x, int z) { + return boundingBox.minX + piece.structure.rotateX(x, z, coordBaseMode); + } + + @Override + protected int getYWithOffset(int y) { + return boundingBox.minY + y; + } + + @Override + protected int getZWithOffset(int x, int z) { + return boundingBox.minZ + piece.structure.rotateZ(x, z, coordBaseMode); + } + + private ForgeDirection rotateDir(ForgeDirection dir) { + if(dir == ForgeDirection.UP || dir == ForgeDirection.DOWN) return dir; + switch(coordBaseMode) { + default: return dir; + case 1: return dir.getRotation(ForgeDirection.UP); + case 2: return dir.getOpposite(); + case 3: return dir.getRotation(ForgeDirection.DOWN); + } + } + + private int getAverageHeight(World world, StructureBoundingBox box) { + int total = 0; + int iterations = 0; + + for(int z = box.minZ; z <= box.maxZ; z++) { + for(int x = box.minX; x <= box.maxX; x++) { + total += world.getTopSolidOrLiquidBlock(x, z); + iterations++; + } + } + + if(iterations == 0) + return 64; + + return total / iterations; + } + + private int getNextCoordBase(JigsawConnection fromConnection, JigsawConnection toConnection, Random rand) { + if(fromConnection.dir == ForgeDirection.DOWN || fromConnection.dir == ForgeDirection.UP) { + if(fromConnection.isRollable) return rand.nextInt(4); + return coordBaseMode; + } + + return directionOffsetToCoordBase(fromConnection.dir.getOpposite(), toConnection.dir); + } + + private int directionOffsetToCoordBase(ForgeDirection from, ForgeDirection to) { + for(int i = 0; i < 4; i++) { + if(from == to) return (i + coordBaseMode) % 4; + from = from.getRotation(ForgeDirection.DOWN); + } + return coordBaseMode; + } + + protected boolean hasIntersectionIgnoringSelf(LinkedList components, StructureBoundingBox box) { + for(StructureComponent component : components) { + if(component == this) continue; + if(component.getBoundingBox() == null) continue; + + if(component.getBoundingBox().intersectsWith(box)) return true; + } + + return false; + } + + protected boolean isInsideIgnoringSelf(LinkedList components, int x, int y, int z) { + for(StructureComponent component : components) { + if(component == this) continue; + if(component.getBoundingBox() == null) continue; + + if(component.getBoundingBox().isVecInside(x, y, z)) return true; + } + + return false; + } + + } + + public static class Start extends StructureStart { + + public Start() {} + + @SuppressWarnings("unchecked") + public Start(World world, Random rand, SpawnCondition spawn, int chunkX, int chunkZ) { + super(chunkX, chunkZ); + + int x = chunkX << 4; + int z = chunkZ << 4; + + JigsawPiece startPiece = spawn.structure != null ? spawn.structure : spawn.pools.get(spawn.startPool).get(rand); + + Component startComponent = new Component(spawn, startPiece, rand, x, z); + startComponent.parent = this; + + components.add(startComponent); + + List queuedComponents = new ArrayList<>(); + if(spawn.structure == null) queuedComponents.add(startComponent); + + // Iterate through and build out all the components we intend to spawn + while(!queuedComponents.isEmpty()) { + queuedComponents.sort((a, b) -> b.priority - a.priority); // sort by placement priority descending + int matchPriority = queuedComponents.get(0).priority; + int max = 1; + while(max < queuedComponents.size()) { + if(queuedComponents.get(max).priority != matchPriority) break; + max++; + } + + final int i = rand.nextInt(max); + Component fromComponent = queuedComponents.remove(i); + + if(fromComponent.piece.structure.fromConnections == null) continue; + + int distance = getDistanceTo(fromComponent.getBoundingBox()); + boolean fallbacksOnly = this.components.size() >= spawn.sizeLimit || distance >= spawn.rangeLimit; + + for(List unshuffledList : fromComponent.piece.structure.fromConnections) { + List connectionList = new ArrayList<>(unshuffledList); + Collections.shuffle(connectionList, rand); + + for(JigsawConnection fromConnection : connectionList) { + if(fromComponent.connectedFrom == fromConnection) continue; // if we already connected to this piece, don't process + + if(fallbacksOnly) { + String fallback = spawn.pools.get(fromConnection.poolName).fallback; + + if(fallback != null) { + Component fallbackComponent = buildNextComponent(rand, spawn, spawn.pools.get(fallback), fromComponent, fromConnection); + addComponent(fallbackComponent, fromConnection.placementPriority); + } + + continue; + } + + JigsawPool nextPool = spawn.getPool(fromConnection.poolName); + + Component nextComponent = null; + + // Iterate randomly through the pool, attempting each piece until one fits + while(nextPool.totalWeight > 0) { + nextComponent = buildNextComponent(rand, spawn, nextPool, fromComponent, fromConnection); + if(nextComponent != null && !fromComponent.hasIntersectionIgnoringSelf(components, nextComponent.getBoundingBox())) break; + nextComponent = null; + } + + if(nextComponent != null) { + addComponent(nextComponent, fromConnection.placementPriority); + queuedComponents.add(nextComponent); + } else { + // If we failed to fit anything in, grab something from the fallback pool, ignoring bounds check + // unless we are perfectly abutting another piece, so grid layouts can work! + if(nextPool.fallback != null) { + BlockPos checkPos = getConnectionTargetPosition(fromComponent, fromConnection); + + if(!fromComponent.isInsideIgnoringSelf(components, checkPos.getX(), checkPos.getY(), checkPos.getZ())) { + nextComponent = buildNextComponent(rand, spawn, spawn.pools.get(nextPool.fallback), fromComponent, fromConnection); + addComponent(nextComponent, fromConnection.placementPriority); // don't add to queued list, we don't want to try continue from fallback + } + } + } + } + } + } + + if(GeneralConfig.enableDebugMode) { + MainRegistry.logger.info("[Debug] Spawning NBT structure with " + components.size() + " piece(s) at: " + chunkX * 16 + ", " + chunkZ * 16); + String componentList = "[Debug] Components: "; + for(Object component : this.components) { + componentList += ((Component) component).piece.structure.name + " "; + } + MainRegistry.logger.info(componentList); + } + + updateBoundingBox(); + } + + @SuppressWarnings("unchecked") + private void addComponent(Component component, int placementPriority) { + if(component == null) return; + components.add(component); + + component.parent = this; + component.priority = placementPriority; + } + + private BlockPos getConnectionTargetPosition(Component component, JigsawConnection connection) { + // The direction this component is extending towards in ABSOLUTE direction + ForgeDirection extendDir = component.rotateDir(connection.dir); + + // Set the starting point for the next structure to the location of the connector block + int x = component.getXWithOffset(connection.pos.x, connection.pos.z) + extendDir.offsetX; + int y = component.getYWithOffset(connection.pos.y) + extendDir.offsetY; + int z = component.getZWithOffset(connection.pos.x, connection.pos.z) + extendDir.offsetZ; + + return new BlockPos(x, y, z); + } + + private Component buildNextComponent(Random rand, SpawnCondition spawn, JigsawPool pool, Component fromComponent, JigsawConnection fromConnection) { + JigsawPiece nextPiece = pool.get(rand); + if(nextPiece == null) return null; + + List connectionPool = getConnectionPool(nextPiece, fromConnection); + if(connectionPool == null) return null; + + JigsawConnection toConnection = connectionPool.get(rand.nextInt(connectionPool.size())); + + // Rotate our incoming piece to plug it in + int nextCoordBase = fromComponent.getNextCoordBase(fromConnection, toConnection, rand); + + BlockPos pos = getConnectionTargetPosition(fromComponent, fromConnection); + + // offset the starting point to the connecting point + int ox = nextPiece.structure.rotateX(toConnection.pos.x, toConnection.pos.z, nextCoordBase); + int oy = toConnection.pos.y; + int oz = nextPiece.structure.rotateZ(toConnection.pos.x, toConnection.pos.z, nextCoordBase); + + return new Component(spawn, nextPiece, rand, pos.getX() - ox, pos.getY() - oy, pos.getZ() - oz, nextCoordBase).connectedFrom(toConnection); + } + + private List getConnectionPool(JigsawPiece nextPiece, JigsawConnection fromConnection) { + if(fromConnection.dir == ForgeDirection.DOWN) { + return nextPiece.structure.toTopConnections.get(fromConnection.targetName); + } else if(fromConnection.dir == ForgeDirection.UP) { + return nextPiece.structure.toBottomConnections.get(fromConnection.targetName); + } + + return nextPiece.structure.toHorizontalConnections.get(fromConnection.targetName); + } + + private int getDistanceTo(StructureBoundingBox box) { + int x = box.getCenterX(); + int z = box.getCenterZ(); + + return Math.max(Math.abs(x - (func_143019_e() << 4)), Math.abs(z - (func_143018_f() << 4))); + } + + // post loading, update parent reference for loaded components + @Override + public void func_143017_b(NBTTagCompound nbt) { + for(Object o : components) { + ((Component) o).parent = this; + } + } + + public void offsetYHeight(int y) { + for(Object o : components) { + Component component = (Component) o; + if(component.heightUpdated || component.piece.conformToTerrain || component.piece.alignToTerrain) continue; + component.offsetYHeight(y); + } + } + + } + + public static class GenStructure extends MapGenStructure { + + private SpawnCondition nextSpawn; + + public void generateStructures(World world, Random rand, IChunkProvider chunkProvider, int chunkX, int chunkZ) { + Block[] ablock = new Block[65536]; + + func_151539_a(chunkProvider, world, chunkX, chunkZ, ablock); + generateStructuresInChunk(world, rand, chunkX, chunkZ); + } + + @Override + public String func_143025_a() { + return "NBTStructures"; + } + + @Override + protected boolean canSpawnStructureAtCoords(int chunkX, int chunkZ) { + if(!weightedMap.containsKey(worldObj.provider.dimensionId)) return false; + + int x = chunkX; + int z = chunkZ; + + if(x < 0) x -= StructureConfig.structureMaxChunks - 1; + if(z < 0) z -= StructureConfig.structureMaxChunks - 1; + + x /= StructureConfig.structureMaxChunks; + z /= StructureConfig.structureMaxChunks; + rand.setSeed((long)x * 341873128712L + (long)z * 132897987541L + this.worldObj.getWorldInfo().getSeed() + (long)996996996 - worldObj.provider.dimensionId); + x *= StructureConfig.structureMaxChunks; + z *= StructureConfig.structureMaxChunks; + x += rand.nextInt(StructureConfig.structureMaxChunks - StructureConfig.structureMinChunks); + z += rand.nextInt(StructureConfig.structureMaxChunks - StructureConfig.structureMinChunks); + + if(chunkX == x && chunkZ == z) { + BiomeGenBase biome = this.worldObj.getWorldChunkManager().getBiomeGenAt(chunkX * 16 + 8, chunkZ * 16 + 8); + + nextSpawn = findSpawn(biome); + + return nextSpawn != null && (nextSpawn.pools != null || nextSpawn.start != null || nextSpawn.structure != null); + } + + return false; + } + + @Override + protected StructureStart getStructureStart(int chunkX, int chunkZ) { + if(nextSpawn.start != null) return nextSpawn.start.apply(new Quartet(this.worldObj, this.rand, chunkX, chunkZ)); + return new Start(this.worldObj, this.rand, nextSpawn, chunkX, chunkZ); + } + + private SpawnCondition findSpawn(BiomeGenBase biome) { + List spawnList = weightedMap.get(worldObj.provider.dimensionId); + + for(int i = 0; i < 64; i++) { + SpawnCondition spawn = spawnList.get(rand.nextInt(spawnList.size())); + if(spawn.isValid(biome)) return spawn; + } + + return null; + } + + } + +} diff --git a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java index 6fb9e7fd1..bb1c7b3d3 100644 --- a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java +++ b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java @@ -1,8 +1,22 @@ package com.hbm.world.gen; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.Random; +import com.hbm.blocks.ModBlocks; import com.hbm.config.StructureConfig; +import com.hbm.main.StructureManager; +import com.hbm.world.gen.NBTStructure.JigsawPiece; +import com.hbm.world.gen.NBTStructure.JigsawPool; +import com.hbm.world.gen.NBTStructure.SpawnCondition; +import com.hbm.world.gen.component.BunkerComponents.BunkerStart; +import com.hbm.world.gen.component.Component.CrabSpawners; +import com.hbm.world.gen.component.Component.GreenOoze; +import com.hbm.world.gen.component.Component.MeteorBricks; +import com.hbm.world.gen.component.Component.SupplyCrates; import cpw.mods.fml.common.IWorldGenerator; import cpw.mods.fml.common.eventhandler.SubscribeEvent; @@ -10,125 +24,235 @@ import net.minecraft.block.Block; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.chunk.IChunkProvider; -import static net.minecraftforge.common.BiomeDictionary.*; +import net.minecraft.world.gen.structure.StructureComponent.BlockSelector; import net.minecraftforge.event.terraingen.InitMapGenEvent.EventType; import net.minecraftforge.event.terraingen.PopulateChunkEvent; -import static net.minecraftforge.event.terraingen.TerrainGen.*; +import net.minecraftforge.event.terraingen.TerrainGen; import net.minecraftforge.event.world.WorldEvent; public class NTMWorldGenerator implements IWorldGenerator { - private MapGenNTMFeatures scatteredFeatureGen = new MapGenNTMFeatures(); - + + boolean regTest = false; + + public NTMWorldGenerator() { + final List invalidBiomes = Arrays.asList(new BiomeGenBase[] {BiomeGenBase.ocean, BiomeGenBase.river, BiomeGenBase.frozenOcean, BiomeGenBase.frozenRiver, BiomeGenBase.deepOcean}); + final List oceanBiomes = Arrays.asList(new BiomeGenBase[] { BiomeGenBase.ocean, BiomeGenBase.deepOcean }); + final List beachBiomes = Arrays.asList(new BiomeGenBase[] { BiomeGenBase.beach, BiomeGenBase.stoneBeach, BiomeGenBase.coldBeach }); + final List lighthouseBiomes = Arrays.asList(new BiomeGenBase[] { BiomeGenBase.ocean, BiomeGenBase.deepOcean, BiomeGenBase.beach, BiomeGenBase.stoneBeach, BiomeGenBase.coldBeach }); + + /// SPIRE /// + NBTStructure.registerStructure(0, new SpawnCondition() {{ + canSpawn = biome -> biome.heightVariation <= 0.05F && !invalidBiomes.contains(biome); + structure = new JigsawPiece("spire", StructureManager.spire, -1); + spawnWeight = 2; + }}); + + NBTStructure.registerStructure(0, new SpawnCondition() {{ + canSpawn = biome -> !invalidBiomes.contains(biome); + start = d -> new MapGenNTMFeatures.Start(d.getW(), d.getX(), d.getY(), d.getZ()); + spawnWeight = 14 * 4; + }}); + + NBTStructure.registerStructure(0, new SpawnCondition() {{ + canSpawn = biome -> !invalidBiomes.contains(biome); + start = d -> new BunkerStart(d.getW(), d.getX(), d.getY(), d.getZ()); + spawnWeight = 1 * 4; + }}); + + NBTStructure.registerStructure(0, new SpawnCondition() {{ + canSpawn = biome -> !biome.canSpawnLightningBolt() && biome.temperature >= 2F; + structure = new JigsawPiece("vertibird", StructureManager.vertibird, -3); + spawnWeight = 3 * 4; + }}); + + NBTStructure.registerStructure(0, new SpawnCondition() {{ + canSpawn = biome -> !biome.canSpawnLightningBolt() && biome.temperature >= 2F; + structure = new JigsawPiece("crashed_vertibird", StructureManager.crashed_vertibird, -10); + spawnWeight = 3 * 4; + }}); + + NBTStructure.registerStructure(0, new SpawnCondition() {{ + canSpawn = oceanBiomes::contains; + structure = new JigsawPiece("aircraft_carrier", StructureManager.aircraft_carrier, -6); + maxHeight = 42; + spawnWeight = 1; + }}); + + NBTStructure.registerStructure(0, new SpawnCondition() {{ + canSpawn = biome -> biome == BiomeGenBase.deepOcean; + structure = new JigsawPiece("oil_rig", StructureManager.oil_rig, -20); + maxHeight = 12; + minHeight = 11; + spawnWeight = 2; + }}); + + NBTStructure.registerStructure(0, new SpawnCondition() {{ + canSpawn = lighthouseBiomes::contains; + structure = new JigsawPiece("lighthouse", StructureManager.lighthouse, -40); + maxHeight = 29; + minHeight = 28; + spawnWeight = 2; + }}); + + NBTStructure.registerStructure(0, new SpawnCondition() {{ + canSpawn = beachBiomes::contains; + structure = new JigsawPiece("beached_patrol", StructureManager.beached_patrol, -5); + minHeight = 58; + maxHeight = 67; + spawnWeight = 8; + }}); + + NBTStructure.registerNullWeight(0, 2, oceanBiomes::contains); //why the fuck did this change + + NBTStructure.registerStructure(0, new SpawnCondition() {{ + canSpawn = biome -> biome == BiomeGenBase.plains; + structure = new JigsawPiece("dish", StructureManager.dish, -10); + minHeight = 53; + maxHeight = 65; + spawnWeight = 1; + }}); + + NBTStructure.registerNullWeight(0, 2, biome -> biome == BiomeGenBase.plains); + NBTStructure.registerNullWeight(0, 2, oceanBiomes::contains); + + Map bricks = new HashMap() {{ + put(ModBlocks.meteor_brick, new MeteorBricks()); + }}; + Map crates = new HashMap() {{ + put(ModBlocks.meteor_brick, new MeteorBricks()); + put(ModBlocks.crate, new SupplyCrates()); + put(ModBlocks.meteor_spawner, new CrabSpawners()); + }}; + Map ooze = new HashMap() {{ + put(ModBlocks.meteor_brick, new MeteorBricks()); + put(ModBlocks.concrete_colored, new GreenOoze()); + }}; + + NBTStructure.registerStructure(0, new SpawnCondition() {{ + minHeight = 32; + maxHeight = 32; + sizeLimit = 128; + canSpawn = biome -> biome.rootHeight >= 0; + startPool = "start"; + pools = new HashMap() {{ + put("start", new JigsawPool() {{ + add(new JigsawPiece("meteor_core", StructureManager.meteor_core) {{ blockTable = bricks; }}, 1); + }}); + put("spike", new JigsawPool() {{ + add(new JigsawPiece("meteor_spike", StructureManager.meteor_spike) {{ heightOffset = -3; conformToTerrain = true; }}, 1); + }}); + put("default", new JigsawPool() {{ + add(new JigsawPiece("meteor_corner", StructureManager.meteor_corner) {{ blockTable = bricks; }}, 2); + add(new JigsawPiece("meteor_t", StructureManager.meteor_t) {{ blockTable = bricks; }}, 3); + add(new JigsawPiece("meteor_stairs", StructureManager.meteor_stairs) {{ blockTable = bricks; }}, 1); + add(new JigsawPiece("meteor_room_base_thru", StructureManager.meteor_room_base_thru) {{ blockTable = bricks; }}, 3); + add(new JigsawPiece("meteor_room_base_end", StructureManager.meteor_room_base_end) {{ blockTable = bricks; }}, 4); + fallback = "fallback"; + }}); + put("10room", new JigsawPool() {{ + add(new JigsawPiece("meteor_room_basic", StructureManager.meteor_room_basic) {{ blockTable = bricks; }}, 1); + add(new JigsawPiece("meteor_room_balcony", StructureManager.meteor_room_balcony) {{ blockTable = bricks; }}, 1); + add(new JigsawPiece("meteor_room_dragon", StructureManager.meteor_room_dragon) {{ blockTable = bricks; }}, 1); + add(new JigsawPiece("meteor_room_ladder", StructureManager.meteor_room_ladder) {{ blockTable = bricks; }}, 1); + add(new JigsawPiece("meteor_room_ooze", StructureManager.meteor_room_ooze) {{ blockTable = ooze; }}, 1); + add(new JigsawPiece("meteor_room_split", StructureManager.meteor_room_split) {{ blockTable = bricks; }}, 1); + add(new JigsawPiece("meteor_room_stairs", StructureManager.meteor_room_stairs) {{ blockTable = bricks; }}, 1); + add(new JigsawPiece("meteor_room_triple", StructureManager.meteor_room_triple) {{ blockTable = bricks; }}, 1); + fallback = "roomback"; + }}); + put("3x3loot", new JigsawPool() {{ + add(new JigsawPiece("meteor_3_bale", StructureManager.meteor_3_bale), 1); + add(new JigsawPiece("meteor_3_blank", StructureManager.meteor_3_blank), 1); + add(new JigsawPiece("meteor_3_block", StructureManager.meteor_3_block), 1); + add(new JigsawPiece("meteor_3_crab", StructureManager.meteor_3_crab), 1); + add(new JigsawPiece("meteor_3_crab_tesla", StructureManager.meteor_3_crab_tesla), 1); + add(new JigsawPiece("meteor_3_crate", StructureManager.meteor_3_crate), 1); + add(new JigsawPiece("meteor_3_dirt", StructureManager.meteor_3_dirt), 1); + add(new JigsawPiece("meteor_3_lead", StructureManager.meteor_3_lead), 1); + add(new JigsawPiece("meteor_3_ooze", StructureManager.meteor_3_ooze), 1); + add(new JigsawPiece("meteor_3_pillar", StructureManager.meteor_3_pillar), 1); + add(new JigsawPiece("meteor_3_star", StructureManager.meteor_3_star), 1); + add(new JigsawPiece("meteor_3_tesla", StructureManager.meteor_3_tesla), 1); + add(new JigsawPiece("meteor_3_book", StructureManager.meteor_3_book), 1); + add(new JigsawPiece("meteor_3_mku", StructureManager.meteor_3_mku), 1); + add(new JigsawPiece("meteor_3_statue", StructureManager.meteor_3_statue), 1); + add(new JigsawPiece("meteor_3_glow", StructureManager.meteor_3_glow), 1); + fallback = "3x3loot"; // generate loot even if we're at the size limit + }}); + put("headloot", new JigsawPool() {{ + add(new JigsawPiece("meteor_dragon_chest", StructureManager.meteor_dragon_chest) {{ blockTable = crates; }}, 1); + add(new JigsawPiece("meteor_dragon_tesla", StructureManager.meteor_dragon_tesla) {{ blockTable = crates; }}, 1); + add(new JigsawPiece("meteor_dragon_trap", StructureManager.meteor_dragon_trap) {{ blockTable = crates; }}, 1); + add(new JigsawPiece("meteor_dragon_crate_crab", StructureManager.meteor_dragon_crate_crab) {{ blockTable = crates; }}, 1); + fallback = "headback"; + }}); + put("fallback", new JigsawPool() {{ + add(new JigsawPiece("meteor_fallback", StructureManager.meteor_fallback) {{ blockTable = bricks; }}, 1); + }}); + put("roomback", new JigsawPool() {{ + add(new JigsawPiece("meteor_room_fallback", StructureManager.meteor_room_fallback) {{ blockTable = bricks; }}, 1); + }}); + put("headback", new JigsawPool() {{ + add(new JigsawPiece("meteor_loot_fallback", StructureManager.meteor_dragon_fallback) {{ blockTable = crates; }}, 1); + }}); + }}; + }}); + } + + private NBTStructure.GenStructure nbtGen = new NBTStructure.GenStructure(); + private final Random rand = new Random(); //A central random, used to cleanly generate our stuff without affecting vanilla or modded seeds. - + /** Inits all MapGen upon the loading of a new world. Hopefully clears out structureMaps and structureData when a different world is loaded. */ @SubscribeEvent public void onLoad(WorldEvent.Load event) { - scatteredFeatureGen = (MapGenNTMFeatures) getModdedMapGen(new MapGenNTMFeatures(), EventType.CUSTOM); - + nbtGen = (NBTStructure.GenStructure) TerrainGen.getModdedMapGen(new NBTStructure.GenStructure(), EventType.CUSTOM); + hasPopulationEvent = false; } - + /** Called upon the initial population of a chunk. Called in the pre-population event first; called again if pre-population didn't occur (flatland) */ private void setRandomSeed(World world, int chunkX, int chunkZ) { - rand.setSeed(world.getSeed()); + rand.setSeed(world.getSeed() + world.provider.dimensionId); final long i = rand.nextLong() / 2L * 2L + 1L; final long j = rand.nextLong() / 2L * 2L + 1L; rand.setSeed((long)chunkX * i + (long)chunkZ * j ^ world.getSeed()); } - + /* * Pre-population Events / Structure Generation * Used to generate structures without unnecessary intrusion by biome decoration, like trees. */ - + private boolean hasPopulationEvent = false; // Does the given chunkGenerator have a population event? If not (flatlands), default to using generate. - + @SubscribeEvent public void generateStructures(PopulateChunkEvent.Pre event) { - setRandomSeed(event.world, event.chunkX, event.chunkZ); //Set random for population down the line. hasPopulationEvent = true; - + if(StructureConfig.enableStructures == 0) return; if(StructureConfig.enableStructures == 2 && !event.world.getWorldInfo().isMapFeaturesEnabled()) return; - - switch (event.world.provider.dimensionId) { - case -1: - break; - case 0: - generateOverworldStructures(event.world, event.chunkProvider, event.chunkX, event.chunkZ); - break; - case 1: - break; - } + + setRandomSeed(event.world, event.chunkX, event.chunkZ); //Set random for population down the line. + + nbtGen.generateStructures(event.world, rand, event.chunkProvider, event.chunkX, event.chunkZ); } - - protected void generateOverworldStructures(World world, IChunkProvider chunkProvider, int chunkX, int chunkZ) { - Block[] ablock = new Block[65536]; //ablock isn't actually used for anything in MapGenStructure - - this.scatteredFeatureGen.func_151539_a(chunkProvider, world, chunkX, chunkZ, ablock); - this.scatteredFeatureGen.generateStructuresInChunk(world, rand, chunkX, chunkZ); - } - + /* * Post-Vanilla / Modded Generation * Used to generate features that don't care about intrusions (ores, craters, caves, etc.) */ - + @Override - public void generate(Random rand, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { - - switch (world.provider.dimensionId) { - case -1: - generateNether(world, rand, chunkGenerator, chunkX, chunkZ); break; - case 0: - generateSurface(world, rand, chunkGenerator, chunkProvider, chunkX, chunkZ); break; - case 1: - generateEnd(world, rand, chunkGenerator, chunkX, chunkZ); break; - } - } - - private void generateNether(World world, Random rand, IChunkProvider chunkGenerator, int chunkX, int chunkZ) { } - - /* Overworld Generation */ - - private void generateSurface(World world, Random rand, IChunkProvider chunkGenerator, IChunkProvider chunkProvider, int chunkX, int chunkZ) { - if(!hasPopulationEvent) { //If we've failed to generate any structures (flatlands) - setRandomSeed(world, chunkX, chunkZ); //Reset the random seed to compensate - - boolean enableStructures = world.getWorldInfo().isMapFeaturesEnabled(); - if(StructureConfig.enableStructures == 1) enableStructures = true; - if(StructureConfig.enableStructures == 0) enableStructures = false; + public void generate(Random unusedRandom, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { + if(hasPopulationEvent) return; //If we've failed to generate any structures (flatlands) - if(enableStructures) generateOverworldStructures(world, chunkGenerator, chunkX, chunkZ); //Do it through the post-population generation directly - } - - /* biome dictionary my beloved <3 - * no check for tom here because the event handler already checks for decoration events, + this way they won't become permanently extinct. - */ - - /* Biome check, followed by chance, followed by event (for compat, both intra- and inter- (in the case of Tom). */ - - + if(StructureConfig.enableStructures == 0) return; + if(StructureConfig.enableStructures == 2 && !world.getWorldInfo().isMapFeaturesEnabled()) return; + + setRandomSeed(world, chunkX, chunkZ); //Reset the random seed to compensate + + nbtGen.generateStructures(world, rand, chunkProvider, chunkX, chunkZ); } - private void generateEnd(World world, Random rand, IChunkProvider chunkGenerator, int chunkX, int chunkZ) { } - - /** Utility method for biome checking multiple types exclusively. Not sure why it wasn't already present. */ - public static boolean isBiomeOfTypes(BiomeGenBase biome, Type... types) { //If new biomes are implemented, move this to any biome-related utility class. - for(Type type : types) { - if(!isBiomeOfType(biome, type)) return false; - } - - return true; - } - - /** utility method, same as above but inclusive. useful for catch-alls, like the dirty glass structures have */ - public static boolean doesBiomeHaveTypes(BiomeGenBase biome, Type... types) { - for(Type type : types) { - if(isBiomeOfType(biome, type)) return true; - } - - return false; - } -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/world/gen/component/BunkerComponents.java b/src/main/java/com/hbm/world/gen/component/BunkerComponents.java index ee12ac748..3ae448a03 100644 --- a/src/main/java/com/hbm/world/gen/component/BunkerComponents.java +++ b/src/main/java/com/hbm/world/gen/component/BunkerComponents.java @@ -127,7 +127,7 @@ public class BunkerComponents { fillWithMetadataBlocks(world, box, 1, hpos, 4, 1, hpos, 6, ModBlocks.concrete_smooth_stairs, getStairMeta(0)); placeBlockAtCurrentPosition(world, ModBlocks.concrete_slab, 1, 2, hpos, 3, box); placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, getStairMeta(2), 2, hpos, 4, box); - placeBlockAtCurrentPosition(world, Blocks.trapdoor, getDecoModelMeta(8) >> 2, 2, hpos, 5, box); + placeBlockAtCurrentPosition(world, ModBlocks.trapdoor_steel, getDecoModelMeta(8) >> 2, 2, hpos, 5, box); placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, getStairMeta(3), 2, hpos, 6, box); placeBlockAtCurrentPosition(world, ModBlocks.concrete_slab, 1, 2, hpos, 7, box); fillWithMetadataBlocks(world, box, 3, hpos, 4, 3, hpos, 6, ModBlocks.concrete_smooth_stairs, getStairMeta(1)); @@ -882,7 +882,7 @@ public class BunkerComponents { fillWithMetadataBlocks(world, box, 1, 1, 1, 1, 1, 5, ModBlocks.concrete_smooth_stairs, stairMetaW | 4); fillWithBlocks(world, box, 1, 1, 6, 1, 3, 6, ModBlocks.concrete_pillar); fillWithMetadataBlocks(world, box, 1, 3, 1, 1, 3, 5, ModBlocks.concrete_smooth_stairs, stairMetaW); - placeBlockAtCurrentPosition(world, ModBlocks.machine_transformer_20, 0, 1, 2, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.machine_transformer, 0, 1, 2, 1, box); placeBlockAtCurrentPosition(world, ModBlocks.cable_diode, decoMetaN, 1, 2, 2, box); placeBlockAtCurrentPosition(world, ModBlocks.machine_battery, decoMetaE, 1, 2, 3, box); placeBlockAtCurrentPosition(world, ModBlocks.deco_red_copper, 0, 1, 2, 4, box); diff --git a/src/main/java/com/hbm/world/gen/component/CivilianFeatures.java b/src/main/java/com/hbm/world/gen/component/CivilianFeatures.java index b6a335dd4..a55b69512 100644 --- a/src/main/java/com/hbm/world/gen/component/CivilianFeatures.java +++ b/src/main/java/com/hbm/world/gen/component/CivilianFeatures.java @@ -21,49 +21,48 @@ import net.minecraft.world.World; import net.minecraft.world.gen.structure.MapGenStructureIO; import net.minecraft.world.gen.structure.StructureBoundingBox; -/* Described as "Civilian", as that's the overarching connection between all of these structures. Unlike the ruins, there's not enough to +/* Described as "Civilian", as that's the overarching connection between all of these structures. Unlike the ruins, there's not enough to * compartmentalize even further. Just in general many of the structures I consider lower-quality (except for the sandstone houses; those are actually pretty nice). */ public class CivilianFeatures { - + public static void registerComponents() { - MapGenStructureIO.func_143031_a(NTMHouse1.class, "NTMHouse1"); - MapGenStructureIO.func_143031_a(NTMHouse2.class, "NTMHouse2"); + MapGenStructureIO.func_143031_a(NTMHouse1.class, "NTMHouse1"); + MapGenStructureIO.func_143031_a(NTMHouse2.class, "NTMHouse2"); MapGenStructureIO.func_143031_a(NTMLab1.class, "NTMLab1"); //i'll replace these shitty structures one day trust - MapGenStructureIO.func_143031_a(NTMLab2.class, "NTMLab2"); - MapGenStructureIO.func_143031_a(NTMWorkshop1.class, "NTMWorkshop1"); + MapGenStructureIO.func_143031_a(NTMLab2.class, "NTMLab2"); MapGenStructureIO.func_143031_a(RuralHouse1.class, "NTMRuralHouse1"); } - + /** Sandstone Ruin 1 */ public static class NTMHouse1 extends Component { - + private boolean hasPlacedChest; - + private static Sandstone RandomSandstone = new Sandstone(); - + public NTMHouse1() { super(); } - + /** Constructor for this feature; takes coordinates for bounding box */ public NTMHouse1(Random rand, int minX, int minZ) { super(rand, minX, 64, minZ, 9, 4, 6); this.hasPlacedChest = false; } - + @Override protected void func_143012_a(NBTTagCompound nbt) { super.func_143012_a(nbt); nbt.setBoolean("hasChest", this.hasPlacedChest); } - + @Override protected void func_143011_b(NBTTagCompound nbt) { super.func_143011_b(nbt); this.hasPlacedChest = nbt.getBoolean("hasChest"); } - + /** * Generates structures. */ @@ -86,15 +85,15 @@ public class CivilianFeatures { * Fills an area with blocks randomly - look into randLimit? * this.randomlyFillWithBlocks(world, box, rand, randLimit, minX, minY, minZ, maxX, maxY, maxZ, blockToPlace, blockToReplace, alwaysReplace); */ - + //System.out.println(this.coordBaseMode); if(!this.setAverageHeight(world, box, this.boundingBox.minY)) { return false; } //System.out.println("" + this.boundingBox.minX + ", " + this.boundingBox.minY + ", " + this.boundingBox.minZ); - + placeFoundationUnderneath(world, Blocks.sandstone, 0, 0, 0, 9, 6, -1, box); - + //Walls this.fillWithRandomizedBlocks(world, box, 0, 0, 0, 9, 0, 0, false, rand, RandomSandstone); //Back Wall this.fillWithRandomizedBlocks(world, box, 0, 1, 0, 1, 1, 0, false, rand, RandomSandstone); @@ -114,10 +113,10 @@ public class CivilianFeatures { this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, 1, 9 - 2, 2, 6, box); this.fillWithRandomizedBlocks(world, box, 9, 0, 0, 9, 0, 6, false, rand, RandomSandstone); //Right Wall this.randomlyFillWithBlocks(world, box, rand, 0.65F, 9, 1, 1, 9, 1, 6 - 1, Blocks.sand, Blocks.air, false); - + this.fillWithRandomizedBlocks(world, box, 4, 0, 1, 4, 1, 3, false, rand, RandomSandstone); this.placeBlockAtCurrentPosition(world, ModBlocks.reinforced_sand, 0, 4, 0, 4, box); - + //Loot/Sand this.placeBlockAtCurrentPosition(world, ModBlocks.crate_weapon, 0, 1, 0, 1, box); if(!this.hasPlacedChest) @@ -128,35 +127,35 @@ public class CivilianFeatures { this.placeBlockAtCurrentPosition(world, ModBlocks.crate_metal, 0, 9 - 1, 0, 1, box); this.randomlyFillWithBlocks(world, box, rand, 0.25F, 1, 0, 2, 3, 0, 6 - 1, Blocks.sand, Blocks.air, false); this.randomlyFillWithBlocks(world, box, rand, 0.25F, 5, 0, 2, 9 - 1, 0, 6 - 1, Blocks.sand, Blocks.air, false); - + return true; } - + } - + public static class NTMHouse2 extends Component { - + private static Sandstone RandomSandstone = new Sandstone(); - + private boolean[] hasPlacedLoot = new boolean[2]; - + public NTMHouse2() { super(); } - + public NTMHouse2(Random rand, int minX, int minZ) { super(rand, minX, 64, minZ, 15, 5, 9); this.hasPlacedLoot[0] = false; this.hasPlacedLoot[1] = false; } - + @Override protected void func_143012_a(NBTTagCompound nbt) { super.func_143012_a(nbt); nbt.setBoolean("hasLoot1", this.hasPlacedLoot[0]); nbt.setBoolean("hasLoot2", this.hasPlacedLoot[1]); } - + @Override protected void func_143011_b(NBTTagCompound nbt) { super.func_143011_b(nbt); @@ -166,18 +165,18 @@ public class CivilianFeatures { @Override public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) { - + //System.out.print(this.coordBaseMode); if(!this.setAverageHeight(world, box, this.boundingBox.minY)) { return false; } //System.out.println("" + this.boundingBox.minX + ", " + this.boundingBox.minY + ", " + this.boundingBox.minZ); - + placeFoundationUnderneath(world, Blocks.sandstone, 0, 0, 0, 6, 15, -1, box); placeFoundationUnderneath(world, Blocks.sandstone, 0, 9, 0, 15, 9, -1, box); - + this.fillWithAir(world, box, 1, 0, 1, 5, 5, 9 - 1); - + //House 1 this.fillWithRandomizedBlocks(world, box, 0, 0, 0, 6, 1, 0, false, rand, RandomSandstone); //Back Wall this.fillWithRandomizedBlocks(world, box, 0, 2, 0, 1, 2, 0, false, rand, RandomSandstone); @@ -196,7 +195,7 @@ public class CivilianFeatures { this.fillWithRandomizedBlocks(world, box, 6, 0, 9 - 2, 6, 0, 9 - 2, false, rand, RandomSandstone); this.fillWithRandomizedBlocks(world, box, 6, 3, 9 - 2, 6, 3, 9 - 2, false, rand, RandomSandstone); this.fillWithRandomizedBlocks(world, box, 6, 0, 1, 6, 3, 9 - 3, false, rand, RandomSandstone); - + this.fillWithBlocks(world, box, 1, 0, 1, 5, 0, 9 - 1, Blocks.sandstone, Blocks.air, false); //Floor //this.fillWithRandomizedBlocks(world, box, 1, 5 - 1, 0, 5, 5 - 1, 9, false, rand, RandomSandstone); //Ceiling this.fillWithBlocks(world, box, 1, 5 - 1, 0, 5, 5 - 1, 9, Blocks.sandstone, Blocks.air, false); @@ -207,7 +206,7 @@ public class CivilianFeatures { this.fillWithMetadataBlocks(world, box, 3, 5, 4, 3, 5, 6, Blocks.stone_slab, 1, Blocks.air, 0, false); this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, 1, 3, 5, 9 - 1, box); this.fillWithMetadataBlocks(world, box, 2, 5, 9, 4, 5, 9, Blocks.stone_slab, 1, Blocks.air, 0, false); - + //House 2 this.fillWithRandomizedBlocks(world, box, 15 - 6, 0, 0, 15, 0, 0, false, rand, RandomSandstone); //Back Wall this.fillWithRandomizedBlocks(world, box, 15 - 6, 1, 0, 15 - 2, 1, 0, false, rand, RandomSandstone); @@ -234,9 +233,9 @@ public class CivilianFeatures { this.fillWithMetadataBlocks(world, box, 15, 1, 4, 15, 1, 5, Blocks.stone_slab, 1, Blocks.air, 0, false); this.fillWithRandomizedBlocks(world, box, 15, 1, 9 - 1, 15, 1, 9 - 3, false, rand, RandomSandstone); this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, 1, 15, 1, 9 - 1, box); - + this.fillWithBlocks(world, box, 15 - 5, 0, 1, 15 - 1, 0, 9 - 1, Blocks.sandstone, Blocks.air, false); //Floor - + //Loot & Decorations //House 1 int eastMeta = this.getDecoMeta(4); @@ -247,7 +246,7 @@ public class CivilianFeatures { this.placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, 1, 1, 9 - 4, box); if(!hasPlacedLoot[0]) { this.placeBlockAtCurrentPosition(world, Blocks.chest, this.getMetadataWithOffset(Blocks.chest, 3), 1, 1, 9 - 2, box); - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), (TileEntityChest)world.getTileEntity(this.getXWithOffset(1, 9 - 2), + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), (TileEntityChest)world.getTileEntity(this.getXWithOffset(1, 9 - 2), this.getYWithOffset(1), this.getZWithOffset(1, 9 - 2)), 10); this.hasPlacedLoot[0] = true; } @@ -256,53 +255,53 @@ public class CivilianFeatures { this.fillWithMetadataBlocks(world, box, 5, 1, 6, 5, 3, 6, ModBlocks.steel_scaffold, eastMeta < 4 ? 0 : 8, Blocks.air, 0, false); this.placeBlockAtCurrentPosition(world, ModBlocks.steel_grate, 7, 5, 1, 5, box); this.placeBlockAtCurrentPosition(world, ModBlocks.crate_weapon, 0, 5, 2, 5, box); - + //House 2 if(!hasPlacedLoot[1]) { this.placeBlockAtCurrentPosition(world, Blocks.chest, this.getMetadataWithOffset(Blocks.chest, 3), 15 - 5, 1, 1, box); - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_ANTENNA), (TileEntityChest)world.getTileEntity(this.getXWithOffset(15 - 5, 1), + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_ANTENNA), (TileEntityChest)world.getTileEntity(this.getXWithOffset(15 - 5, 1), this.getYWithOffset(1), this.getZWithOffset(15 - 5, 1)), 10); this.hasPlacedLoot[1] = true; } this.placeBlockAtCurrentPosition(world, ModBlocks.bobblehead, rand.nextInt(16), 15 - 5, 1, 4, box); TileEntityBobble bobble = (TileEntityBobble) world.getTileEntity(this.getXWithOffset(15 - 5, 4), this.getYWithOffset(1), this.getZWithOffset(15 - 5, 4)); - + if(bobble != null) { bobble.type = BobbleType.values()[rand.nextInt(BobbleType.values().length - 1) + 1]; bobble.markDirty(); } - + this.randomlyFillWithBlocks(world, box, rand, 0.25F, 15 - 4, 1, 1, 15 - 1, 1, 9 - 1, Blocks.sand, Blocks.air, false); - + return true; } } - + public static class NTMLab1 extends Component { - + private static ConcreteBricks RandomConcreteBricks = new ConcreteBricks(); private static LabTiles RandomLabTiles = new LabTiles(); - + private boolean[] hasPlacedLoot = new boolean[2]; - + public NTMLab1() { super(); } - + /** Constructor for this feature; takes coordinates for bounding box */ public NTMLab1(Random rand, int minX, int minZ) { super(rand, minX, 64, minZ, 9, 4, 7); this.hasPlacedLoot[0] = false; this.hasPlacedLoot[1] = false; } - + @Override protected void func_143012_a(NBTTagCompound nbt) { super.func_143012_a(nbt); nbt.setBoolean("hasLoot1", this.hasPlacedLoot[0]); nbt.setBoolean("hasLoot2", this.hasPlacedLoot[1]); } - + @Override protected void func_143011_b(NBTTagCompound nbt) { super.func_143011_b(nbt); @@ -312,28 +311,28 @@ public class CivilianFeatures { @Override public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) { - + //System.out.println(this.coordBaseMode); if(!this.setAverageHeight(world, box, this.boundingBox.minY)) { return false; } //System.out.println("" + this.boundingBox.minX + ", " + this.boundingBox.minY + ", " + this.boundingBox.minZ); - + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 0, 9, 7 - 2, -1, box); placeFoundationUnderneath(world, Blocks.stonebrick, 0, 3, 6, 9, 7, -1, box); - - if(this.getBlockAtCurrentPosition(world, 2, 0, 7 - 1, box).getMaterial().isReplaceable() + + if(this.getBlockAtCurrentPosition(world, 2, 0, 7 - 1, box).getMaterial().isReplaceable() || this.getBlockAtCurrentPosition(world, 2, 0, 7 - 1, box) == Blocks.air) { placeFoundationUnderneath(world, Blocks.stonebrick, 0, 2, 7 - 1, 2, 7 - 1, -1, box); this.placeBlockAtCurrentPosition(world, Blocks.stone_brick_stairs, getStairMeta(0), 2, 0, 7 - 1, box); } - + this.fillWithAir(world, box, 1, 0, 1, 9 - 1, 4, 4); this.fillWithAir(world, box, 4, 0, 4, 9 - 1, 4, 7 - 1); this.fillWithAir(world, box, 3, 1, 7 - 1, 3, 2, 7 - 1); - + int pillarMeta = this.getPillarMeta(8); - + //Pillars this.fillWithBlocks(world, box, 0, 0, 0, 0, 3, 0, ModBlocks.concrete_pillar, Blocks.air, false); this.fillWithBlocks(world, box, 9, 0, 0, 9, 3, 0, ModBlocks.concrete_pillar, Blocks.air, false); @@ -343,7 +342,7 @@ public class CivilianFeatures { this.fillWithBlocks(world, box, 3, 0, 7 - 2, 3, 3, 7 - 2, ModBlocks.concrete_pillar, Blocks.air, false); this.fillWithBlocks(world, box, 3, 0, 7, 3, 3, 7, ModBlocks.concrete_pillar, Blocks.air, false); this.fillWithBlocks(world, box, 9, 0, 7, 9, 3, 7, ModBlocks.concrete_pillar, Blocks.air, false); - + //Walls this.fillWithRandomizedBlocks(world, box, 1, 0, 0, 9 - 1, 4 - 1, 0, false, rand, RandomConcreteBricks); //Back Wall this.fillWithRandomizedBlocks(world, box, 0, 4, 0, 9, 4, 0, false, rand, RandomConcreteBricks); @@ -358,16 +357,16 @@ public class CivilianFeatures { this.randomlyFillWithBlocks(world, box, rand, 0.75F, 5, 2, 7, 9 - 2, 3, 7, Blocks.glass_pane, Blocks.air, false); this.fillWithRandomizedBlocks(world, box, 3, 4, 7, 9, 4, 7, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 9, 1, 1, 9, 4, 7 - 1, false, rand, RandomConcreteBricks); //Right Wall - + //Floor & Ceiling this.fillWithRandomizedBlocks(world, box, 1, 0, 1, 9 - 1, 0, 4, false, rand, RandomLabTiles); //Floor this.fillWithRandomizedBlocks(world, box, 4, 0, 7 - 2, 9 - 1, 0, 7 - 1, false, rand, RandomLabTiles); this.placeBlockAtCurrentPosition(world, ModBlocks.tile_lab_cracked, 0, 3, 0, 7 - 1, box); - + this.fillWithBlocks(world, box, 1, 4 - 1, 1, 1, 4, 4, ModBlocks.reinforced_glass, Blocks.air, false); //Ceiling this.fillWithBlocks(world, box, 2, 4, 1, 9 - 1, 4, 4, ModBlocks.brick_light, Blocks.air, false); this.fillWithBlocks(world, box, 4, 4, 7 - 2, 9 - 1, 4, 7 - 1, ModBlocks.brick_light, Blocks.air, false); - + //Decorations & Loot this.fillWithMetadataBlocks(world, box, 1, 1, 1, 1, 1, 4, Blocks.dirt, 2, Blocks.air, 0, false); int westDecoMeta = this.getDecoMeta(5); @@ -376,11 +375,11 @@ public class CivilianFeatures { for(byte i = 0; i < 4; i++) { this.placeBlockAtCurrentPosition(world, ModBlocks.plant_flower, i, 1, 2, 1 + i, box); } - + int doorMeta = this.getMetadataWithOffset(Blocks.wooden_door, 2); this.placeBlockAtCurrentPosition(world, ModBlocks.door_office, doorMeta, 3, 1, 7 - 1, box); ItemDoor.placeDoorBlock(world, this.getXWithOffset(3, 7 - 1), this.getYWithOffset(1), this.getZWithOffset(3, 7 - 1), doorMeta, ModBlocks.door_office); - + int northDecoMeta = this.getDecoMeta(3); this.fillWithMetadataBlocks(world, box, 5, 4 - 1, 1, 9 - 1, 4 - 1, 1, ModBlocks.steel_scaffold, westDecoMeta < 4 ? 0 : 8, Blocks.air, 0, false); this.fillWithMetadataBlocks(world, box, 5, 4 - 1, 2, 9 - 1, 4 - 1, 2, ModBlocks.steel_wall, northDecoMeta, Blocks.air, 0, false); @@ -395,24 +394,24 @@ public class CivilianFeatures { LootGenerator.lootMedicine(world, this.getXWithOffset(6, 3), this.getYWithOffset(2), this.getZWithOffset(6, 3)); this.hasPlacedLoot[0] = true; } - + this.placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, 9 - 1, 1, 7 - 2, box); if(!hasPlacedLoot[1]) { this.hasPlacedLoot[1] = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 9 - 1, 1, 7 - 1, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), 8); } - + return true; } } - + public static class NTMLab2 extends Component { - + private static SuperConcrete RandomSuperConcrete = new SuperConcrete(); private static ConcreteBricks RandomConcreteBricks = new ConcreteBricks(); private static LabTiles RandomLabTiles = new LabTiles(); - + private boolean[] hasPlacedLoot = new boolean[2]; - + public NTMLab2() { super(); } @@ -422,48 +421,48 @@ public class CivilianFeatures { this.hasPlacedLoot[0] = false; this.hasPlacedLoot[1] = false; } - + @Override protected void func_143012_a(NBTTagCompound nbt) { super.func_143012_a(nbt); nbt.setBoolean("hasLoot1", this.hasPlacedLoot[0]); nbt.setBoolean("hasLoot2", this.hasPlacedLoot[1]); } - + @Override protected void func_143011_b(NBTTagCompound nbt) { super.func_143011_b(nbt); this.hasPlacedLoot[0] = nbt.getBoolean("hasLoot1"); this.hasPlacedLoot[1] = nbt.getBoolean("hasLoot2"); } - + @Override public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) { - + //System.out.println(this.coordBaseMode); if(!this.setAverageHeight(world, box, this.boundingBox.minY)) { return false; } this.boundingBox.offset(0, -7, 0); //System.out.println("" + this.boundingBox.minX + ", " + this.boundingBox.minY + ", " + this.boundingBox.minZ); - + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 0, 12, 8 - 2, 6, box); placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 7, 6, 8, 6, box); - - if(this.getBlockAtCurrentPosition(world, 12 - 3, 11 - 4, 7, box).getMaterial().isReplaceable() + + if(this.getBlockAtCurrentPosition(world, 12 - 3, 11 - 4, 7, box).getMaterial().isReplaceable() || this.getBlockAtCurrentPosition(world, 12 - 3, 11 - 4, 7, box) == Blocks.air) { int stairMeta = this.getMetadataWithOffset(Blocks.stone_brick_stairs, 2); placeFoundationUnderneath(world, Blocks.stonebrick, 0, 12 - 3, 7, 12 - 2, 7, 11 - 4, box); this.fillWithMetadataBlocks(world, box, 12 - 3, 11 - 4, 7, 12 - 2, 11 - 4, 7, Blocks.stone_brick_stairs, stairMeta, Blocks.air, 0, false); } - - + + this.fillWithAir(world, box, 1, 11 - 4, 1, 12 - 1, 11, 8 - 3); this.fillWithAir(world, box, 1, 11 - 4, 8 - 2, 5, 11, 8 - 1); this.fillWithAir(world, box, 12 - 3, 11 - 3, 8 - 2, 12 - 2, 11 - 2, 8 - 2); this.fillWithAir(world, box, 5, 5, 1, 6, 6, 2); - this.fillWithAir(world, box, 2, 0, 2, 12 - 2, 3, 8 - 2); - + this.fillWithAir(world, box, 2, 0, 2, 12 - 2, 3, 8 - 2); + //Walls this.fillWithRandomizedBlocks(world, box, 0, 11 - 4, 0, 12, 11, 0, false, rand, RandomSuperConcrete); //Back Wall this.fillWithRandomizedBlocks(world, box, 0, 11 - 4, 0, 0, 11, 8, false, rand, RandomSuperConcrete); //Left Wall @@ -488,13 +487,13 @@ public class CivilianFeatures { this.fillWithRandomizedBlocks(world, box, 12, 11 - 3, 2, 12, 11 - 1, 2, false, rand, RandomSuperConcrete); this.fillWithBlocks(world, box, 12, 11 - 3, 1, 12, 11 - 1, 1, ModBlocks.reinforced_glass, Blocks.air, false); this.fillWithRandomizedBlocks(world, box, 12, 11, 1, 12, 11, 8 - 3, false, rand, RandomSuperConcrete); - + this.fillWithBlocks(world, box, 1, 0, 1, 12 - 1, 3, 1, ModBlocks.reinforced_stone, Blocks.air, false); //Back Wall this.fillWithBlocks(world, box, 1, 0, 2, 1, 3, 8 - 2, ModBlocks.reinforced_stone, Blocks.air, false); //Left Wall - this.fillWithBlocks(world, box, 1, 0, 8 - 1, 12 - 1, 3, 8 - 1, ModBlocks.reinforced_stone, Blocks.air, false); //Front Wall + this.fillWithBlocks(world, box, 1, 0, 8 - 1, 12 - 1, 3, 8 - 1, ModBlocks.reinforced_stone, Blocks.air, false); //Front Wall this.fillWithBlocks(world, box, 12 - 1, 0, 2, 12 - 1, 3, 8 - 2, ModBlocks.reinforced_stone, Blocks.air, false); // Right Wall this.fillWithBlocks(world, box, 6, 0, 3, 6, 3, 8 - 2, ModBlocks.reinforced_stone, Blocks.air, false); //Internal Wall - + //Floors & Ceiling this.fillWithRandomizedBlocks(world, box, 1, 11 - 4, 1, 3, 11 - 4, 8 - 1, false, rand, RandomLabTiles); //Left Floor this.fillWithRandomizedBlocks(world, box, 4, 11 - 4, 8 - 2, 5, 11 - 4, 8 - 1, false, rand, RandomLabTiles); @@ -509,7 +508,7 @@ public class CivilianFeatures { this.placeBlockAtCurrentPosition(world, ModBlocks.tile_lab_cracked, 0, 6, 11 - 4, 5, box); this.fillWithBlocks(world, box, 7, 11 - 4, 2, 7, 11 - 4, 3, ModBlocks.tile_lab_broken, Blocks.air, false); this.fillWithBlocks(world, box, 7, 11 - 4, 4, 7, 11 - 4, 5, ModBlocks.tile_lab_cracked, Blocks.air, false); - + this.fillWithBlocks(world, box, 1, 11, 1, 2, 11, 8 - 1, ModBlocks.brick_light, Blocks.air, false); //Left Ceiling this.fillWithBlocks(world, box, 3, 11, 8 - 2, 4, 11, 8 - 1, ModBlocks.brick_light, Blocks.air, false); this.fillWithBlocks(world, box, 12 - 3, 11, 1, 12 - 1, 11, 8 - 3, ModBlocks.brick_light, Blocks.air, false); //Right Ceiling @@ -520,40 +519,40 @@ public class CivilianFeatures { this.fillWithBlocks(world, box, 4, 11, 4, 4, 11, 5, ModBlocks.waste_planks, Blocks.air, false); this.fillWithBlocks(world, box, 5, 11, 6, 5, 11, 8 - 1, ModBlocks.waste_planks, Blocks.air, false); this.fillWithBlocks(world, box, 8, 11, 3, 8, 11, 5, ModBlocks.waste_planks, Blocks.air, false); - + this.fillWithRandomizedBlocks(world, box, 2, 0, 2, 5, 0, 8 - 2, false, rand, RandomLabTiles); //Floor this.fillWithRandomizedBlocks(world, box, 6, 0, 2, 6, 0, 3, false, rand, RandomLabTiles); this.fillWithRandomizedBlocks(world, box, 7, 0, 2, 12 - 2, 0, 8 - 2, false, rand, RandomLabTiles); - + this.fillWithRandomizedBlocks(world, box, 1, 4, 1, 12 - 1, 4, 8 - 1, false, rand, RandomConcreteBricks); //Ceiling - + //Decorations & Loot int eastMeta = this.getDecoMeta(4); int westMeta = this.getDecoMeta(5); int northMeta = this.getDecoMeta(3); int southMeta = this.getDecoMeta(2); this.placeBlockAtCurrentPosition(world, ModBlocks.crashed_balefire, southMeta, 6, 11 - 2, 3, box); - + int doorMeta = this.getMetadataWithOffset(Blocks.wooden_door, 1); this.placeBlockAtCurrentPosition(world, ModBlocks.door_office, doorMeta, 12 - 3, 11 - 3, 8 - 2, box); - ItemDoor.placeDoorBlock(world, this.getXWithOffset(12 - 3, 8 - 2), this.getYWithOffset(11 - 3), this.getZWithOffset(12 - 3, 8 - 2), + ItemDoor.placeDoorBlock(world, this.getXWithOffset(12 - 3, 8 - 2), this.getYWithOffset(11 - 3), this.getZWithOffset(12 - 3, 8 - 2), doorMeta, ModBlocks.door_office); this.placeBlockAtCurrentPosition(world, ModBlocks.door_office, doorMeta, 12 - 2, 11 - 3, 8 - 2, box); - ItemDoor.placeDoorBlock(world, this.getXWithOffset(12 - 2, 8 - 2), this.getYWithOffset(11 - 3), this.getZWithOffset(12 - 2, 8 - 2), + ItemDoor.placeDoorBlock(world, this.getXWithOffset(12 - 2, 8 - 2), this.getYWithOffset(11 - 3), this.getZWithOffset(12 - 2, 8 - 2), doorMeta, ModBlocks.door_office); - + this.fillWithBlocks(world, box, 1, 11 - 3, 1, 1, 11 - 1, 1, ModBlocks.deco_steel, Blocks.air, false); this.fillWithMetadataBlocks(world, box, 1, 11 - 3, 2, 1, 11 - 2, 3, ModBlocks.steel_grate, 7, Blocks.air, 0, false); this.placeBlockAtCurrentPosition(world, ModBlocks.tape_recorder, westMeta, 1, 11 - 1, 2, box); this.placeBlockAtCurrentPosition(world, ModBlocks.steel_beam, 0, 1, 11 - 1, 3, box); this.fillWithBlocks(world, box, 1, 11 - 3, 6, 1, 11 - 1, 6, ModBlocks.deco_pipe_framed_rusted, Blocks.air, false); - + this.fillWithMetadataBlocks(world, box, 12 - 4, 11 - 3, 1, 12 - 4, 11 - 1, 1, ModBlocks.steel_wall, eastMeta, Blocks.air, 0, false); this.fillWithMetadataBlocks(world, box, 12 - 3, 11 - 1, 1, 12 - 2, 11 - 1, 1, ModBlocks.steel_grate, 0, Blocks.air, 0, false); this.fillWithMetadataBlocks(world, box, 12 - 3, 11 - 2, 1, 12 - 2, 11 - 2, 1, ModBlocks.tape_recorder, northMeta, Blocks.air, 0, false); this.fillWithBlocks(world, box, 12 - 3, 11 - 3, 1, 12 - 2, 11 - 3, 1, ModBlocks.deco_steel, Blocks.air, false); this.fillWithMetadataBlocks(world, box, 12 - 1, 11 - 3, 1, 12 - 1, 11 - 1, 1, ModBlocks.steel_wall, westMeta, Blocks.air, 0, false); - + this.fillWithMetadataBlocks(world, box, 2, 1, 2, 2, 1, 8 - 2, ModBlocks.steel_grate, 7, Blocks.air, 0, false); this.placeBlockAtCurrentPosition(world, ModBlocks.vitrified_barrel, 0, 2, 2, 2, box); this.fillWithMetadataBlocks(world, box, 3, 1, 2, 3, 3, 2, ModBlocks.steel_wall, westMeta, Blocks.air, 0, false); @@ -565,7 +564,7 @@ public class CivilianFeatures { this.hasPlacedLoot[0] = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 5, 1, 8 - 2, ItemPool.getPool(ItemPoolsComponent.POOL_NUKE_FUEL), 10); } this.fillWithBlocks(world, box, 4, 1, 8 - 3, 5, 1, 8 - 3, ModBlocks.crate_lead, Blocks.air, false); - + this.fillWithBlocks(world, box, 12 - 5, 1, 8 - 2, 12 - 5, 3, 8 - 2, ModBlocks.deco_steel, Blocks.air, false);; this.fillWithMetadataBlocks(world, box, 12 - 4, 1, 8 - 2, 12 - 2, 1, 8 - 2, ModBlocks.steel_grate, 7, Blocks.air, 0, false); this.fillWithMetadataBlocks(world, box, 12 - 4, 2, 8 - 2, 12 - 3, 2, 8 - 2, ModBlocks.tape_recorder, southMeta, Blocks.air, 0, false); @@ -576,184 +575,34 @@ public class CivilianFeatures { if(rand.nextInt(2) == 0) generateLoreBook(world, box, 12 - 2, 1, 3, 1, HbmChestContents.generateOfficeBook(rand)); } - + return true; } } - - public static class NTMWorkshop1 extends Component { - - private static SuperConcrete RandomSuperConcrete = new SuperConcrete(); - - private boolean hasPlacedLoot; - - public NTMWorkshop1() { + + public static class RuralHouse1 extends Component { + + public RuralHouse1() { super(); } - - public NTMWorkshop1(Random rand, int minX, int minZ) { - super(rand, minX, 64, minZ, 10, 6, 8); - this.hasPlacedLoot = false; - } - - @Override - protected void func_143012_a(NBTTagCompound nbt) { - super.func_143012_a(nbt); - nbt.setBoolean("hasLoot", this.hasPlacedLoot); - } - - @Override - protected void func_143011_b(NBTTagCompound nbt) { - super.func_143011_b(nbt); - this.hasPlacedLoot = nbt.getBoolean("hasLoot"); + + public RuralHouse1(Random rand, int minX, int minZ) { + super(rand, minX, 64, minZ, 14, 8, 14); } @Override public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) { - - ////System.out.println(this.coordBaseMode); + if(!this.setAverageHeight(world, box, this.boundingBox.minY)) { return false; } - //System.out.println("" + this.boundingBox.minX + ", " + this.boundingBox.minY + ", " + this.boundingBox.minZ); - - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 1, 0, 8 - 3, 11, -1, box); - placeFoundationUnderneath(world, Blocks.dirt, 0, 8, 1, 10, 6, -1, box); - - this.fillWithAir(world, box, 1, 0, 0, 10 - 3, 6 - 2, 8); - this.fillWithAir(world, box, 10 - 2, 0, 2, 10 - 1, 2, 5); - - if(this.getBlockAtCurrentPosition(world, 0, 0, 5, box).getMaterial().isReplaceable() - || this.getBlockAtCurrentPosition(world, 0, 0, 5, box) == Blocks.air) { - int stairMeta = this.getMetadataWithOffset(Blocks.stone_brick_stairs, 1); - this.placeBlockAtCurrentPosition(world, Blocks.stone_brick_stairs, stairMeta, 0, 0, 5, box); - - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 1, 0, 8 - 1, -1, box); - - this.fillWithMetadataBlocks(world, box, 0, 0, 1, 0, 0, 8 - 1, Blocks.stone_slab, 5, Blocks.air, 0, false); - } - - //Walls - int pillarMetaWE = this.getPillarMeta(4); - int pillarMetaNS = this.getPillarMeta(8); - this.fillWithBlocks(world, box, 1, 0, 0, 1, 3, 0, ModBlocks.concrete_pillar, Blocks.air, false); //Back Wall - this.placeBlockAtCurrentPosition(world, ModBlocks.concrete, 0, 1, 4, 0, box); - this.fillWithMetadataBlocks(world, box, 2, 4, 0, 10 - 4, 4, 0, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false); - this.placeBlockAtCurrentPosition(world, ModBlocks.concrete, 0, 10 - 3, 4, 0, box); - this.fillWithBlocks(world, box, 10 - 3, 0, 0, 10 - 3, 3, 0, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 2, 0, 0, 10 - 4, 1, 0, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 2, 2, 0, 2, 2, 0, false, rand, RandomSuperConcrete); - this.fillWithBlocks(world, box, 3, 2, 0, 5, 2, 0, ModBlocks.reinforced_glass, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 10 - 4, 2, 0, 10 - 4, 2, 0, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 2, 3, 0, 10 - 4, 3, 0, false, rand, RandomSuperConcrete); - this.fillWithMetadataBlocks(world, box, 1, 4, 1, 1, 4, 8 - 1, ModBlocks.concrete_pillar, pillarMetaNS, Blocks.air, 0, false); //Left Wall - this.placeBlockAtCurrentPosition(world, ModBlocks.concrete, 0, 1, 4, 8, box); - this.fillWithBlocks(world, box, 1, 0, 8, 1, 3, 8, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 1, 0, 1, 1, 1, 4, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 1, 2, 1, 1, 2, 1, false, rand, RandomSuperConcrete); - this.fillWithBlocks(world, box, 1, 2, 2, 1, 2, 3, ModBlocks.reinforced_glass, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 1, 2, 4, 1, 2, 4, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 1, 3, 1, 1, 3, 8 - 1, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 1, 0, 8 - 2, 1, 3, 8 - 1, false, rand, RandomSuperConcrete); - this.fillWithMetadataBlocks(world, box, 2, 4, 8, 10 - 4, 4, 8, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false); //Front Wall - this.placeBlockAtCurrentPosition(world, ModBlocks.concrete, 0, 10 - 3, 4, 8, box); - this.fillWithBlocks(world, box, 10 - 3, 0, 8, 10 - 3, 3, 8, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 2, 0, 8, 10 - 4, 1, 8, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 2, 2, 8, 2, 2, 8, false, rand, RandomSuperConcrete); - this.fillWithBlocks(world, box, 3, 2, 8, 5, 2, 8, ModBlocks.reinforced_glass, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 10 - 4, 2, 8, 10 - 4, 2, 8, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 2, 3, 8, 10 - 4, 3, 8, false, rand, RandomSuperConcrete); - this.fillWithMetadataBlocks(world, box, 10 - 3, 4, 1, 10 - 3, 4, 8 - 1, ModBlocks.concrete_pillar, pillarMetaNS, Blocks.air, 0, false); //Right Wall - this.fillWithRandomizedBlocks(world, box, 10 - 3, 0, 1, 10 - 3, 3, 8 - 1, false, rand, RandomSuperConcrete); - - pillarMetaWE = this.getPillarMeta(5); - pillarMetaNS = this.getPillarMeta(9); - this.fillWithMetadataBlocks(world, box, 10 - 2, 2, 1, 10 - 1, 2, 1, Blocks.log, pillarMetaWE, Blocks.air, 0, false); //Back Wall - this.fillWithMetadataBlocks(world, box, 10, 0, 1, 10, 2, 1, Blocks.log, 1, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, 10 - 2, 0, 1, 10 - 1, 1, 1, Blocks.planks, 1, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, 10, 2, 2, 10, 2, 5, Blocks.log, pillarMetaNS, Blocks.air, 0, false); //Right Wall - this.fillWithMetadataBlocks(world, box, 10, 0, 6, 10, 2, 6, Blocks.log, 1, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, 10, 0, 3, 10, 1, 5, Blocks.planks, 1, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, 10 - 2, 2, 6, 10 - 1, 2, 6, Blocks.log, pillarMetaWE, Blocks.air, 0, false); //Front Wall - this.fillWithMetadataBlocks(world, box, 10 - 2, 0, 6, 10 - 1, 1, 6, Blocks.planks, 1, Blocks.air, 0, false); - - //Floor & Ceiling - this.fillWithBlocks(world, box, 2, 0, 1, 6, 0, 8 - 1, ModBlocks.brick_light, Blocks.air, false); //Floor - this.placeBlockAtCurrentPosition(world, ModBlocks.brick_light, 0, 1, 0, 5, box); - this.fillWithRandomizedBlocks(world, box, 2, 4, 1, 6, 4, 3, false, rand, RandomSuperConcrete); //Ceiling - this.fillWithRandomizedBlocks(world, box, 2, 4, 4, 2, 4, 4, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 5, 4, 4, 6, 4, 4, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 2, 4, 8 - 3, 6, 4, 8 - 1, false, rand, RandomSuperConcrete); - - this.fillWithBlocks(world, box, 10 - 2, 2, 2, 10 - 1, 2, 5, ModBlocks.deco_steel, Blocks.air, false); - - //Loot & Decorations - int southMeta = this.getDecoMeta(2); - int eastMeta = this.getDecoMeta(5); - this.placeBlockAtCurrentPosition(world, ModBlocks.pole_satellite_receiver, eastMeta, 2, 6 - 1, 1, box); - this.fillWithBlocks(world, box, 3, 6 - 1, 1, 4, 6 - 1, 1, ModBlocks.deco_steel, Blocks.air, false); - this.fillWithBlocks(world, box, 2, 6 - 1, 2, 4, 6 - 1, 2, ModBlocks.deco_steel, Blocks.air, false); - this.fillWithBlocks(world, box, 2, 6, 1, 4, 6, 2, ModBlocks.steel_roof, Blocks.air, false); - this.fillWithBlocks(world, box, 2, 1, 1, 2, 3, 1, ModBlocks.deco_red_copper, Blocks.air, false); - this.fillWithBlocks(world, box, 3, 1, 1, 3, 1, 2, ModBlocks.deco_beryllium, Blocks.air, false); - this.placeBlockAtCurrentPosition(world, ModBlocks.machine_amgen, 0, 4, 1, 1, box); - this.placeBlockAtCurrentPosition(world, ModBlocks.machine_detector, 0, 4, 1, 2, box); - this.fillWithBlocks(world, box, 5, 1, 1, 5, 1, 2, ModBlocks.deco_beryllium, Blocks.air, false); - this.fillWithBlocks(world, box, 6, 1, 1, 6, 3, 1, ModBlocks.deco_red_copper, Blocks.air, false); - this.fillWithBlocks(world, box, 3, 1, 4, 4, 1, 4, ModBlocks.concrete_super_broken, Blocks.air, false); - this.fillWithMetadataBlocks(world, box, 6, 1, 4, 6, 3, 4, ModBlocks.steel_scaffold, eastMeta < 4 ? 0 : 8, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, 6, 1, 5, 6, 1, 7, ModBlocks.steel_grate, 7, Blocks.air, 0, false); - this.placeBlockAtCurrentPosition(world, ModBlocks.radiorec, eastMeta, 6, 2, 8 - 1, box); - this.fillWithMetadataBlocks(world, box, 2, 1, 8 - 1, 3, 1, 8 - 1, ModBlocks.machine_electric_furnace_off, southMeta, Blocks.air, 0, false); - if(!hasPlacedLoot) { - this.hasPlacedLoot = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 4, 1, 8 - 1, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), 11); - } - this.placeBlockAtCurrentPosition(world, Blocks.web, 0, 5, 3, 1, box); - this.placeBlockAtCurrentPosition(world, Blocks.web, 0, 2, 1, 2, box); - this.placeBlockAtCurrentPosition(world, Blocks.web, 0, 6, 1, 2, box); - this.placeBlockAtCurrentPosition(world, Blocks.web, 0, 6, 2, 5, box); - - this.fillWithMetadataBlocks(world, box, 10 - 2, 0, 5, 10 - 1, 0, 5, ModBlocks.steel_grate, 7, Blocks.air, 0, false); - this.placeBlockAtCurrentPosition(world, ModBlocks.tape_recorder, southMeta, 10 - 2, 1, 5, box); - this.placeBlockAtCurrentPosition(world, ModBlocks.bobblehead, rand.nextInt(16), 10 - 1, 1, 5, box); - TileEntityBobble bobble = (TileEntityBobble) world.getTileEntity(this.getXWithOffset(10 - 1, 5), this.getYWithOffset(1), this.getZWithOffset(10 - 1, 5)); - - if(bobble != null) { - bobble.type = BobbleType.values()[rand.nextInt(BobbleType.values().length - 1) + 1]; - bobble.markDirty(); - } - this.fillWithMetadataBlocks(world, box, 10 - 2, 0, 2, 10 - 2, 0, 3, Blocks.log, pillarMetaWE, Blocks.air, 0, false); - this.placeBlockAtCurrentPosition(world, Blocks.log, pillarMetaWE, 10 - 2, 1, 2, box); - this.placeBlockAtCurrentPosition(world, Blocks.web, 0, 10 - 2, 1, 3, box); - - return true; - } - } - - - public static class RuralHouse1 extends Component { - - public RuralHouse1() { - super(); - } - - public RuralHouse1(Random rand, int minX, int minZ) { - super(rand, minX, 64, minZ, 14, 8, 14); - } - - @Override - public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) { - - if(!this.setAverageHeight(world, box, this.boundingBox.minY)) { - return false; - } - + //FillWithAir fillWithAir(world, box, 9, 1, 3, 12, 4, 8); fillWithAir(world, box, 5, 1, 2, 8, 3, 8); fillWithAir(world, box, 2, 1, 5, 4, 3, 8); fillWithAir(world, box, 2, 1, 10, 7, 3, 12); - + //Foundations fillWithBlocks(world, box, 1, 0, 4, 4, 0, 4, ModBlocks.concrete_colored_ext); fillWithBlocks(world, box, 4, 0, 2, 4, 0, 3, ModBlocks.concrete_colored_ext); @@ -770,7 +619,7 @@ public class CivilianFeatures { placeFoundationUnderneath(world, ModBlocks.concrete_colored_ext, 0, 1, 10, 8, 13, -1, box); placeFoundationUnderneath(world, ModBlocks.concrete_colored_ext, 0, 1, 4, 3, 9, -1, box); placeFoundationUnderneath(world, ModBlocks.concrete_colored_ext, 0, 4, 1, 13, 9, -1, box); - + placeFoundationUnderneath(world, Blocks.log, 0, 2, 3, 2, 3, 0, box); placeFoundationUnderneath(world, Blocks.log, 0, 3, 2, 3, 2, 0, box); placeFoundationUnderneath(world, Blocks.log, 0, 3, 0, 3, 0, -1, box); @@ -793,7 +642,7 @@ public class CivilianFeatures { placeFoundationUnderneath(world, Blocks.log, 0, 0, 6, 0, 7, 0, box); placeFoundationUnderneath(world, Blocks.log, 0, 0, 4, 0, 4, 0, box); placeFoundationUnderneath(world, Blocks.log, 0, 0, 3, 0, 4, -1, box); - + //Walls //North/Front fillWithBlocks(world, box, 1, 1, 4, 4, 4, 4, Blocks.brick_block); @@ -856,7 +705,7 @@ public class CivilianFeatures { //North/Front int logW = this.getPillarMeta(4); int logN = this.getPillarMeta(8); - + fillWithBlocks(world, box, 0, 0, 3, 0, 3, 3, Blocks.log); fillWithMetadataBlocks(world, box, 1, 4, 3, 3, 4, 3, Blocks.log, logW); fillWithMetadataBlocks(world, box, 3, 4, 1, 3, 4, 2, Blocks.log, logN); @@ -903,12 +752,12 @@ public class CivilianFeatures { placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 0, 3, 10, box); placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 0, 3, 8, box); placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 0, 3, 4, box); - + int stairW = this.getStairMeta(0); int stairE = this.getStairMeta(1); int stairN = this.getStairMeta(2); int stairS = this.getStairMeta(3); - + //Floor placeBlockAtCurrentPosition(world, Blocks.planks, 1, 11, 0, 2, box); fillWithMetadataBlocks(world, box, 9, 0, 3, 12, 0, 8, Blocks.planks, 1); @@ -930,7 +779,7 @@ public class CivilianFeatures { fillWithMetadataBlocks(world, box, 10 + i, 0, 13 - i, 11 + i, 0, 13 - i, Blocks.planks, 1); fillWithBlocks(world, box, 10 + i, 1, 13 - i, 11 + i, 1, 13 - i, Blocks.fence); } - + //Ceiling fillWithMetadataBlocks(world, box, 12, 4, 3, 12, 4, 8, Blocks.oak_stairs, stairW | 4); fillWithBlocks(world, box, 12, 5, 3, 12, 5, 8, Blocks.planks); @@ -940,7 +789,7 @@ public class CivilianFeatures { fillWithBlocks(world, box, 8, 4, 5, 8, 4, 8, Blocks.planks); fillWithBlocks(world, box, 5, 4, 2, 8, 4, 4, Blocks.planks); fillWithBlocks(world, box, 1, 4, 5, 7, 4, 12, Blocks.planks); - + //Roofing //Framing placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW, 1, 5, 3, box); @@ -998,11 +847,11 @@ public class CivilianFeatures { placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW | 4, 7 - i, 5 + i, z, box); } } - + //Main (LEFT) BrokenStairs roofStairs = new BrokenStairs(); BrokenBlocks roofBlocks = new BrokenBlocks(); - + roofStairs.setMetadata(stairW); fillWithBlocks(world, box, 4, 5, 1, 7, 5, 1, Blocks.wooden_slab); fillWithRandomizedBlocks(world, box, 4, 5, 2, 7, 5, 3, rand, roofBlocks); //TODO separate into stair/slab/block block selectors @@ -1026,11 +875,11 @@ public class CivilianFeatures { fillWithRandomizedBlocks(world, box, 3, 7, 10, 3, 7, 13, rand, roofStairs); fillWithRandomizedBlocks(world, box, 2, 6, 4, 2, 6, 13, rand, roofStairs); fillWithRandomizedBlocks(world, box, 1, 5, 4, 1, 5, 13, rand, roofStairs); - + //Deco int metaN = getDecoMeta(3); int metaE = getDecoMeta(4); - + //Webs randomlyFillWithBlocks(world, box, rand, 0.05F, 12, 3, 3, 12, 3, 8, Blocks.web); randomlyFillWithBlocks(world, box, rand, 0.05F, 10, 4, 3, 11, 4, 8, Blocks.web); @@ -1085,7 +934,7 @@ public class CivilianFeatures { placeBlockAtCurrentPosition(world, ModBlocks.steel_wall, metaN, 3, 3, 6, box); placeBlockAtCurrentPosition(world, ModBlocks.radiorec, getDecoMeta(2), 8, 2, 2, box); placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 7, 2, 4, box); - + fillWithBlocks(world, box, 2, 1, 12, 3, 1, 12, Blocks.bookshelf); //bookshelf/desk placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairE | 4, 4, 1, 12, box); placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 8, 5, 1, 12, box); @@ -1095,7 +944,7 @@ public class CivilianFeatures { placeBed(world, box, 1, 3, 1, 10); placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 4, 2, 12, box); placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(0), 5, 2, 12, box); - + fillWithMetadataBlocks(world, box, 4, 5, 5, 5, 5, 5, Blocks.dark_oak_stairs, stairS | 4); //seat and desk placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 1, 4, 5, 6, box); placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, 7, 5, 7, box); //conserve crates @@ -1104,7 +953,7 @@ public class CivilianFeatures { if(rand.nextBoolean()) placeBlockAtCurrentPosition(world, ModBlocks.machine_diesel, metaE, 7, 5, 9, box); placeBlockAtCurrentPosition(world, rand.nextBoolean() ? ModBlocks.crate_weapon : ModBlocks.crate, 0, 6, 5, 12, box); - + //inventories generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(2), 7, 1, 10, ItemPool.getPool(ItemPoolsComponent.POOL_OFFICE_TRASH), 4); generateInvContents(world, box, rand, Blocks.chest, metaE, 7, 5, 5, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), 8); @@ -1114,10 +963,10 @@ public class CivilianFeatures { placeBlockAtCurrentPosition(world, ModBlocks.deco_loot, 0, 5, 6, 5, box); LootGenerator.lootMakeshiftGun(world, getXWithOffset(5, 5), getYWithOffset(6), getZWithOffset(5, 5)); placeRandomBobble(world, box, rand, 5, 5, 12); - + return true; } - + //i don't like this class public static class BrokenStairs extends BlockSelector { //man. @@ -1129,11 +978,11 @@ public class CivilianFeatures { public int getSelectedBlockMetaData() { return this.field_151562_a instanceof BlockStairs ? this.selectedBlockMetaData : 0; } - + @Override public void selectBlocks(Random rand, int posX, int posY, int posZ, boolean notInterior) { float chance = rand.nextFloat(); - + if(chance < 0.7) this.field_151562_a = Blocks.oak_stairs; else if(chance < 0.97) @@ -1142,14 +991,14 @@ public class CivilianFeatures { this.field_151562_a = Blocks.air; } } - + //this fucking sucks. i am racist against the blockselector class public static class BrokenBlocks extends BlockSelector { - + @Override public void selectBlocks(Random rand, int posX, int posY, int posZ, boolean notInterior) { float chance = rand.nextFloat(); - + if(chance < 0.6) { this.field_151562_a = Blocks.planks; this.selectedBlockMetaData = 0; diff --git a/src/main/java/com/hbm/world/gen/component/Component.java b/src/main/java/com/hbm/world/gen/component/Component.java index 0a652a6eb..80d85bcfd 100644 --- a/src/main/java/com/hbm/world/gen/component/Component.java +++ b/src/main/java/com/hbm/world/gen/component/Component.java @@ -12,6 +12,7 @@ import com.hbm.tileentity.machine.TileEntityLockableBase; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; @@ -27,19 +28,19 @@ abstract public class Component extends StructureComponent { /** Average height (Presumably stands for height position) */ protected int hpos = -1; - + protected Component() { super(0); } - + protected Component(int componentType) { super(componentType); } - + protected Component(Random rand, int minX, int minY, int minZ, int maxX, int maxY, int maxZ ) { super(0); this.coordBaseMode = rand.nextInt(4); - + switch(this.coordBaseMode) { case 0: this.boundingBox = new StructureBoundingBox(minX, minY, minZ, minX + maxX, minY + maxY, minZ + maxZ); @@ -55,25 +56,25 @@ abstract public class Component extends StructureComponent { break; default: this.boundingBox = new StructureBoundingBox(minX, minY, minZ, minX + maxX, minY + maxY, minZ + maxZ); - + } } - + /** Set to NBT */ protected void func_143012_a(NBTTagCompound nbt) { nbt.setInteger("HPos", this.hpos); } - + /** Get from NBT */ protected void func_143011_b(NBTTagCompound nbt) { this.hpos = nbt.getInteger("HPos"); } - + protected boolean setAverageHeight(World world, StructureBoundingBox box, int y) { - + int total = 0; int iterations = 0; - + for(int z = this.boundingBox.minZ; z <= this.boundingBox.maxZ; z++) { for(int x = this.boundingBox.minX; x <= this.boundingBox.maxX; x++) { if(box.isVecInside(x, y, z)) { @@ -82,20 +83,20 @@ abstract public class Component extends StructureComponent { } } } - + if(iterations == 0) return false; - + this.hpos = total / iterations; //finds mean of every block in bounding box this.boundingBox.offset(0, this.hpos - this.boundingBox.minY, 0); return true; } - + protected static int getAverageHeight(World world, StructureBoundingBox area, StructureBoundingBox box, int y) { - + int total = 0; int iterations = 0; - + for(int z = area.minZ; z <= area.maxZ; z++) { for(int x = area.minX; x <= area.maxX; x++) { if(box.isVecInside(x, y, z)) { @@ -104,19 +105,19 @@ abstract public class Component extends StructureComponent { } } } - + if(iterations == 0) return -1; - + return total / iterations; } - + public int getCoordMode() { return this.coordBaseMode; } - + /** Metadata for Decoration Methods **/ - + /** * Gets metadata for rotatable pillars. * @param metadata (First two digits are equal to block metadata, other two are equal to orientation @@ -125,10 +126,10 @@ abstract public class Component extends StructureComponent { protected int getPillarMeta(int metadata) { if(this.coordBaseMode % 2 != 0 && this.coordBaseMode != -1) metadata = metadata ^ 12; - + return metadata; } - + /** * Gets metadata for rotatable DecoBlock * honestly i don't remember how i did this and i'm scared to optimize it because i fail to see any reasonable patterns like the pillar @@ -168,14 +169,14 @@ abstract public class Component extends StructureComponent { } return 0; } - + /** * Get orientation-offset metadata for BlockDecoModel; also suitable for trapdoors * @param metadata (0 for facing North, 1 for facing South, 2 for facing West, 3 for facing East) */ protected int getDecoModelMeta(int metadata) { //N: 0b00, S: 0b01, W: 0b10, E: 0b11 - + switch(this.coordBaseMode) { default: //South break; @@ -198,12 +199,12 @@ abstract public class Component extends StructureComponent { //genuinely like. why did i do that return metadata << 2; //To accommodate for BlockDecoModel's shift in the rotation bits; otherwise, simply bit-shift right and or any non-rotation meta after } - + //works for crts, toasters, and anything that follows mc's cardinal dirs. S: 0, W: 1, N: 2, E: 3 protected int getCRTMeta(int meta) { return (meta + this.coordBaseMode) % 4; } - + /** * Gets orientation-adjusted meta for stairs. * 0 = West, 1 = East, 2 = North, 3 = South @@ -228,11 +229,11 @@ abstract public class Component extends StructureComponent { metadata = metadata ^ 2; break; } - + return metadata; } - - /* + + /* * Assuming door is on opposite side of block from direction: East: 0, South: 1, West: 2, North: 3
* Doors cleverly take advantage of the use of two blocks to get around the 16 value limit on metadata, with the top and bottom blocks essentially relying on eachother for everything.
*
  • The 4th bit (0b1000 or 8) indicates whether it is the top block: on for yes, off for no. @@ -245,9 +246,9 @@ abstract public class Component extends StructureComponent { int posX = this.getXWithOffset(featureX, featureZ); int posY = this.getYWithOffset(featureY); int posZ = this.getZWithOffset(featureX, featureZ); - + if(!box.isVecInside(posX, posY, posZ)) return; - + switch(this.coordBaseMode) { default: //South break; @@ -258,11 +259,11 @@ abstract public class Component extends StructureComponent { case 3: //East dirMeta = (dirMeta + 3) % 4; break; //fuck you modulo } - + //hee hoo int metaTop = opensRight ? 0b1001 : 0b1000; int metaBottom = dirMeta | (isOpen ? 0b100 : 0); - + if(world.doesBlockHaveSolidTopSurface(world, posX, posY - 1, posZ)) { world.setBlock(posX, posY, posZ, door, metaBottom, 2); world.setBlock(posX, posY + 1, posZ, door, metaTop, 2); @@ -273,9 +274,9 @@ abstract public class Component extends StructureComponent { int posX = this.getXWithOffset(featureX, featureZ); int posY = this.getYWithOffset(featureY); int posZ = this.getZWithOffset(featureX, featureZ); - + if(!box.isVecInside(posX, posY, posZ)) return; - + if(dirMeta <= 0 || dirMeta >= 7) { //levers suck ass switch(this.coordBaseMode) { case 1: case 3: //west / east @@ -289,10 +290,10 @@ abstract public class Component extends StructureComponent { } else { dirMeta = getButtonMeta(dirMeta); } - + world.setBlock(posX, posY, posZ, Blocks.lever, on ? dirMeta | 8 : dirMeta, 2); } - + /** pain. works for side-facing levers as well */ protected int getButtonMeta(int dirMeta) { switch(this.coordBaseMode) { //are you ready for the pain? @@ -310,12 +311,12 @@ abstract public class Component extends StructureComponent { return dirMeta; } } - + /**N:0 W:1 S:2 E:3 */ protected void placeBed(World world, StructureBoundingBox box, int meta, int featureX, int featureY, int featureZ) { int xOffset = 0; int zOffset = 0; - + switch(meta & 3) { default: zOffset = 1; break; @@ -326,7 +327,7 @@ abstract public class Component extends StructureComponent { case 3: xOffset = 1; break; } - + switch(this.coordBaseMode) { default: //S break; @@ -337,11 +338,11 @@ abstract public class Component extends StructureComponent { case 3: //E meta = (meta - 1) % 4; break; } - + placeBlockAtCurrentPosition(world, Blocks.bed, meta, featureX, featureY, featureZ, box); placeBlockAtCurrentPosition(world, Blocks.bed, meta + 8, featureX + xOffset, featureY, featureZ + zOffset, box); } - + /**Tripwire Hook: S:0 W:1 N:2 E:3 */ protected int getTripwireMeta(int metadata) { switch(this.coordBaseMode) { @@ -355,10 +356,10 @@ abstract public class Component extends StructureComponent { return (metadata - 1) % 4; } } - - + + /** Loot Methods **/ - + /** * it feels disgusting to make a method with this many parameters but fuck it, it's easier * @return TE implementing IInventory with randomized contents @@ -366,29 +367,29 @@ abstract public class Component extends StructureComponent { protected boolean generateInvContents(World world, StructureBoundingBox box, Random rand, Block block, int featureX, int featureY, int featureZ, WeightedRandomChestContent[] content, int amount) { return generateInvContents(world, box, rand, block, 0, featureX, featureY, featureZ, content, amount); } - + //TODO: explore min / max item generations: e.g., between 3 and 5 separate items are generated protected boolean generateInvContents(World world, StructureBoundingBox box, Random rand, Block block, int meta, int featureX, int featureY, int featureZ, WeightedRandomChestContent[] content, int amount) { int posX = this.getXWithOffset(featureX, featureZ); int posY = this.getYWithOffset(featureY); int posZ = this.getZWithOffset(featureX, featureZ); - + if(!box.isVecInside(posX, posY, posZ) || world.getBlock(posX, posY, posZ) == block) //replacement for hasPlacedLoot checks return true; - + this.placeBlockAtCurrentPosition(world, block, meta, featureX, featureY, featureZ, box); IInventory inventory = (IInventory)world.getTileEntity(posX, posY, posZ); - + if(inventory != null) { amount = (int)Math.floor(amount * StructureConfig.lootAmountFactor); WeightedRandomChestContent.generateChestContents(rand, content, inventory, amount < 1 ? 1 : amount); return true; } - + return false; } - - + + /** * Block TE MUST extend TileEntityLockableBase, otherwise this will not work and crash! * @return TE implementing IInventory and extending TileEntityLockableBase with randomized contents + lock @@ -397,48 +398,48 @@ abstract public class Component extends StructureComponent { WeightedRandomChestContent[] content, int amount, double mod) { return generateLockableContents(world, box, rand, block, 0, featureX, featureY, featureZ, content, amount, mod); } - + protected boolean generateLockableContents(World world, StructureBoundingBox box, Random rand, Block block, int meta, int featureX, int featureY, int featureZ, WeightedRandomChestContent[] content, int amount, double mod) { int posX = this.getXWithOffset(featureX, featureZ); int posY = this.getYWithOffset(featureY); int posZ = this.getZWithOffset(featureX, featureZ); - + if(!box.isVecInside(posX, posY, posZ) || world.getBlock(posX, posY, posZ) == block) //replacement for hasPlacedLoot checks return false; - + this.placeBlockAtCurrentPosition(world, block, meta, featureX, featureY, featureZ, box); TileEntity tile = world.getTileEntity(posX, posY, posZ); TileEntityLockableBase lock = (TileEntityLockableBase) tile; IInventory inventory = (IInventory) tile; - + if(inventory != null && lock != null) { amount = (int)Math.floor(amount * StructureConfig.lootAmountFactor); WeightedRandomChestContent.generateChestContents(rand, content, inventory, amount < 1 ? 1 : amount); - + lock.setPins(rand.nextInt(999) + 1); lock.setMod(mod); lock.lock(); return true; } - + return false; } - + protected void generateLoreBook(World world, StructureBoundingBox box, int featureX, int featureY, int featureZ, int slot, ItemStack stack) { //kept for compat int posX = this.getXWithOffset(featureX, featureZ); int posY = this.getYWithOffset(featureY); int posZ = this.getZWithOffset(featureX, featureZ); - + if(!box.isVecInside(posX, posY, posZ)) return; - + IInventory inventory = (IInventory) world.getTileEntity(posX, posY, posZ); - + if(inventory != null) { inventory.setInventorySlotContents(slot, stack); } } - + /** * Places random bobblehead with a randomized orientation at specified location */ @@ -446,71 +447,71 @@ abstract public class Component extends StructureComponent { int posX = this.getXWithOffset(featureX, featureZ); int posY = this.getYWithOffset(featureY); int posZ = this.getZWithOffset(featureX, featureZ); - + placeBlockAtCurrentPosition(world, ModBlocks.bobblehead, rand.nextInt(16), featureX, featureY, featureZ, box); TileEntityBobble bobble = (TileEntityBobble) world.getTileEntity(posX, posY, posZ); - + if(bobble != null) { bobble.type = BobbleType.values()[rand.nextInt(BobbleType.values().length - 1) + 1]; bobble.markDirty(); } } - + /** Block Placement Utility Methods **/ - + /** * Places blocks underneath location until reaching a solid block; good for foundations */ protected void placeFoundationUnderneath(World world, Block placeBlock, int meta, int minX, int minZ, int maxX, int maxZ, int featureY, StructureBoundingBox box) { - + for(int featureX = minX; featureX <= maxX; featureX++) { for(int featureZ = minZ; featureZ <= maxZ; featureZ++) { int posX = this.getXWithOffset(featureX, featureZ); int posY = this.getYWithOffset(featureY); int posZ = this.getZWithOffset(featureX, featureZ); - + if(box.isVecInside(posX, posY, posZ)) { Block block = world.getBlock(posX, posY, posZ); int brake = 0; - - while ((world.isAirBlock(posX, posY, posZ) || - !block.getMaterial().isSolid() || - (block.isFoliage(world, posX, posY, posZ) || block.getMaterial() == Material.leaves)) && + + while ((world.isAirBlock(posX, posY, posZ) || + !block.getMaterial().isSolid() || + (block.isFoliage(world, posX, posY, posZ) || block.getMaterial() == Material.leaves)) && posY > 1 && brake <= 15) { world.setBlock(posX, posY, posZ, placeBlock, meta, 2); block = world.getBlock(posX, --posY, posZ); - + brake++; } } } } } - + /** * Places specified blocks on top of pre-existing blocks in a given area, up to a certain height. Does NOT place blocks on top of liquids. * Useful for stuff like fences and walls most likely. */ protected void placeBlocksOnTop(World world, StructureBoundingBox box, Block block, int minX, int minZ, int maxX, int maxZ, int height) { - + for(int x = minX; x <= maxX; x++) { for(int z = minZ; z <= maxZ; z++) { int posX = this.getXWithOffset(x, z); int posZ = this.getZWithOffset(x, z); int topHeight = world.getTopSolidOrLiquidBlock(posX, posZ); - + if(!world.getBlock(posX, topHeight, posZ).getMaterial().isLiquid()) { - + for(int i = 0; i < height; i++) { int posY = topHeight + i; - + world.setBlock(posX, posY, posZ, block, 0, 2); } } } } } - + /** getXWithOffset & getZWithOffset Methods that are actually fixed **/ //Turns out, this entire time every single minecraft structure is mirrored instead of rotated when facing East and North //Also turns out, it's a scarily easy fix that they somehow didn't see *entirely* @@ -529,7 +530,7 @@ abstract public class Component extends StructureComponent { return x; } } - + @Override public int getZWithOffset(int x, int z) { switch(this.coordBaseMode) { @@ -545,46 +546,46 @@ abstract public class Component extends StructureComponent { return z; } } - + /** Methods that are actually optimized, including ones that cut out replaceBlock and onlyReplace functionality when it's redundant. */ protected void fillWithAir(World world, StructureBoundingBox box, int minX, int minY, int minZ, int maxX, int maxY, int maxZ) { - + if(getYWithOffset(minY) < box.minY || getYWithOffset(maxY) > box.maxY) return; - + for(int x = minX; x <= maxX; x++) { //TODO these could technically be optimized a bit more. probably won't do anything but worth - + for(int z = minZ; z <= maxZ; z++) { int posX = getXWithOffset(x, z); int posZ = getZWithOffset(x, z); - + if(posX >= box.minX && posX <= box.maxX && posZ >= box.minZ && posZ <= box.maxZ) { for(int y = minY; y <= maxY; y++) { int posY = getYWithOffset(y); - + world.setBlock(posX, posY, posZ, Blocks.air, 0, 2); } } } } } - + @Override protected void fillWithBlocks(World world, StructureBoundingBox box, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, Block block, Block replaceBlock, boolean onlyReplace) { - + if(getYWithOffset(minY) < box.minY || getYWithOffset(maxY) > box.maxY) return; - + for(int x = minX; x <= maxX; x++) { - + for(int z = minZ; z <= maxZ; z++) { int posX = getXWithOffset(x, z); int posZ = getZWithOffset(x, z); - + if(posX >= box.minX && posX <= box.maxX && posZ >= box.minZ && posZ <= box.maxZ) { for(int y = minY; y <= maxY; y++) { int posY = getYWithOffset(y); - + if(!onlyReplace || world.getBlock(posX, posY, posZ).getMaterial() != Material.air) { if(x != minX && x != maxX && y != minY && y != maxY && z != minZ && z != maxZ) world.setBlock(posX, posY, posZ, replaceBlock, 0, 2); @@ -596,49 +597,49 @@ abstract public class Component extends StructureComponent { } } } - + protected void fillWithBlocks(World world, StructureBoundingBox box, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, Block block) { - + if(getYWithOffset(minY) < box.minY || getYWithOffset(maxY) > box.maxY) return; - + for(int x = minX; x <= maxX; x++) { - + for(int z = minZ; z <= maxZ; z++) { int posX = getXWithOffset(x, z); int posZ = getZWithOffset(x, z); - + if(posX >= box.minX && posX <= box.maxX && posZ >= box.minZ && posZ <= box.maxZ) { for(int y = minY; y <= maxY; y++) { int posY = getYWithOffset(y); - + world.setBlock(posX, posY, posZ, block, 0, 2); } } } } } - + @Override protected void fillWithMetadataBlocks(World world, StructureBoundingBox box, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, Block block, int meta, Block replaceBlock, int replaceMeta, boolean onlyReplace) { - + if(getYWithOffset(minY) < box.minY || getYWithOffset(maxY) > box.maxY) return; - + for(int x = minX; x <= maxX; x++) { - + for(int z = minZ; z <= maxZ; z++) { int posX = getXWithOffset(x, z); int posZ = getZWithOffset(x, z); - + if(posX >= box.minX && posX <= box.maxX && posZ >= box.minZ && posZ <= box.maxZ) { for(int y = minY; y <= maxY; y++) { int posY = getYWithOffset(y); - + if(!onlyReplace || world.getBlock(posX, posY, posZ).getMaterial() != Material.air) { if(x != minX && x != maxX && y != minY && y != maxY && z != minZ && z != maxZ) world.setBlock(posX, posY, posZ, replaceBlock, replaceMeta, 2); - else + else world.setBlock(posX, posY, posZ, block, meta, 2); } } @@ -646,45 +647,45 @@ abstract public class Component extends StructureComponent { } } } - + protected void fillWithMetadataBlocks(World world, StructureBoundingBox box, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, Block block, int meta) { - + if(getYWithOffset(minY) < box.minY || getYWithOffset(maxY) > box.maxY) return; - + for(int x = minX; x <= maxX; x++) { - + for(int z = minZ; z <= maxZ; z++) { int posX = getXWithOffset(x, z); int posZ = getZWithOffset(x, z); - + if(posX >= box.minX && posX <= box.maxX && posZ >= box.minZ && posZ <= box.maxZ) { for(int y = minY; y <= maxY; y++) { int posY = getYWithOffset(y); - + world.setBlock(posX, posY, posZ, block, meta, 2); } } } } } - + @Override protected void fillWithRandomizedBlocks(World world, StructureBoundingBox box, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, boolean onlyReplace, Random rand, BlockSelector selector) { - + if(getYWithOffset(minY) < box.minY || getYWithOffset(maxY) > box.maxY) return; - + for(int x = minX; x <= maxX; x++) { - + for(int z = minZ; z <= maxZ; z++) { int posX = getXWithOffset(x, z); int posZ = getZWithOffset(x, z); - + if(posX >= box.minX && posX <= box.maxX && posZ >= box.minZ && posZ <= box.maxZ) { for(int y = minY; y <= maxY; y++) { int posY = getYWithOffset(y); - + if(!onlyReplace || world.getBlock(posX, posY, posZ).getMaterial() != Material.air) { selector.selectBlocks(rand, posX, posY, posZ, x == minX || x == maxX || y == minY || y == maxY || z == minZ || z == maxZ); world.setBlock(posX, posY, posZ, selector.func_151561_a(), selector.getSelectedBlockMetaData(), 2); @@ -696,16 +697,16 @@ abstract public class Component extends StructureComponent { } //TODO replace the shitty block selector with something else. probably a lambda that returns a metablock for convenience protected void fillWithRandomizedBlocks(World world, StructureBoundingBox box, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, Random rand, BlockSelector selector) { //so i don't have to replace shit - + if(getYWithOffset(minY) < box.minY || getYWithOffset(maxY) > box.maxY) return; - + for(int x = minX; x <= maxX; x++) { - + for(int z = minZ; z <= maxZ; z++) { int posX = getXWithOffset(x, z); int posZ = getZWithOffset(x, z); - + if(posX >= box.minX && posX <= box.maxX && posZ >= box.minZ && posZ <= box.maxZ) { for(int y = minY; y <= maxY; y++) { int posY = getYWithOffset(y); @@ -717,19 +718,19 @@ abstract public class Component extends StructureComponent { } } } - + //stairs and shit protected void fillWithRandomizedBlocksMeta(World world, StructureBoundingBox box, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, Random rand, BlockSelector selector, int meta) { - + if(getYWithOffset(minY) < box.minY || getYWithOffset(maxY) > box.maxY) return; - + for(int x = minX; x <= maxX; x++) { - + for(int z = minZ; z <= maxZ; z++) { int posX = getXWithOffset(x, z); int posZ = getZWithOffset(x, z); - + if(posX >= box.minX && posX <= box.maxX && posZ >= box.minZ && posZ <= box.maxZ) { for(int y = minY; y <= maxY; y++) { int posY = getYWithOffset(y); @@ -741,23 +742,23 @@ abstract public class Component extends StructureComponent { } } } - + @Override protected void randomlyFillWithBlocks(World world, StructureBoundingBox box, Random rand, float randLimit, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, Block block, Block replaceBlock, boolean onlyReplace) { - + if(getYWithOffset(minY) < box.minY || getYWithOffset(maxY) > box.maxY) return; - + for(int x = minX; x <= maxX; x++) { - + for(int z = minZ; z <= maxZ; z++) { int posX = getXWithOffset(x, z); int posZ = getZWithOffset(x, z); - + if(posX >= box.minX && posX <= box.maxX && posZ >= box.minZ && posZ <= box.maxZ) { for(int y = minY; y <= maxY; y++) { int posY = getYWithOffset(y); - + if(rand.nextFloat() <= randLimit && (!onlyReplace || world.getBlock(posX, posY, posZ).getMaterial() != Material.air)) { if(x != minX && x != maxX && y != minY && y != maxY && z != minZ && z != maxZ) world.setBlock(posX, posY, posZ, replaceBlock, 0, 2); @@ -769,22 +770,22 @@ abstract public class Component extends StructureComponent { } } } - + protected void randomlyFillWithBlocks(World world, StructureBoundingBox box, Random rand, float randLimit, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, Block block) { - + if(getYWithOffset(minY) < box.minY || getYWithOffset(maxY) > box.maxY) return; - + for(int x = minX; x <= maxX; x++) { - + for(int z = minZ; z <= maxZ; z++) { int posX = getXWithOffset(x, z); int posZ = getZWithOffset(x, z); - + if(posX >= box.minX && posX <= box.maxX && posZ >= box.minZ && posZ <= box.maxZ) { for(int y = minY; y <= maxY; y++) { int posY = getYWithOffset(y); - + if(rand.nextFloat() <= randLimit) world.setBlock(posX, posY, posZ, block, 0, 2); } @@ -792,22 +793,22 @@ abstract public class Component extends StructureComponent { } } } - + protected void randomlyFillWithBlocks(World world, StructureBoundingBox box, Random rand, float randLimit, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, Block block, int meta) { - + if(getYWithOffset(minY) < box.minY || getYWithOffset(maxY) > box.maxY) return; - + for(int x = minX; x <= maxX; x++) { - + for(int z = minZ; z <= maxZ; z++) { int posX = getXWithOffset(x, z); int posZ = getZWithOffset(x, z); - + if(posX >= box.minX && posX <= box.maxX && posZ >= box.minZ && posZ <= box.maxZ) { for(int y = minY; y <= maxY; y++) { int posY = getYWithOffset(y); - + if(rand.nextFloat() <= randLimit) world.setBlock(posX, posY, posZ, block, meta, 2); } @@ -815,7 +816,7 @@ abstract public class Component extends StructureComponent { } } } - + protected ForgeDirection getDirection(ForgeDirection dir) { switch(coordBaseMode) { default: //South @@ -828,7 +829,7 @@ abstract public class Component extends StructureComponent { return dir.getRotation(ForgeDirection.DOWN); } } - + /** Sets the core block for a BlockDummyable multiblock. WARNING: Does not take {@link com.hbm.blocks.BlockDummyable#getDirModified(ForgeDirection)} or {@link com.hbm.blocks.BlockDummyable#getMetaForCore(World, int, int, int, EntityPlayer, int)} * into account yet! This will be changed as it comes up!
    * For BlockDummyables, 'dir' always faces the player, being the opposite of the player's direction. This is already taken into account. */ @@ -836,47 +837,47 @@ abstract public class Component extends StructureComponent { int posX = getXWithOffset(x, z); int posZ = getZWithOffset(x, z); int posY = getYWithOffset(y); - + if(!box.isVecInside(posX, posY, posZ)) return; - + if(dir == null) dir = ForgeDirection.NORTH; - + dir = getDirection(dir.getOpposite()); world.setBlock(posX, posY, posZ, block, dir.ordinal() + BlockDummyable.offset, 2); } - + //always set the core block first /** StructureComponent-friendly method for {@link com.hbm.handler.MultiblockHandlerXR#fillSpace(World, int, int, int, int[], Block, ForgeDirection)}. Prevents runoff outside of the provided bounding box.
    * For BlockDummyables, 'dir' always faces the player, being the opposite of the player's direction. This is already taken into account. */ protected void fillSpace(World world, StructureBoundingBox box, int x, int y, int z, int[] dim, Block block, ForgeDirection dir) { - + if(getYWithOffset(y - dim[1]) < box.minY || getYWithOffset(y + dim[0]) > box.maxY) //the BlockDummyable will be fucked regardless if it goes beyond either limit return; - + if(dir == null) dir = ForgeDirection.NORTH; - + dir = getDirection(dir.getOpposite()); - + int count = 0; - + int[] rot = MultiblockHandlerXR.rotate(dim, dir); - + int posX = getXWithOffset(x, z); int posZ = getZWithOffset(x, z); //MY SILLY ASS OPERATING WITH ALREADY FUCKING MODIFIED VARIABLES CLOWNKOEN int posY = getYWithOffset(y); - + BlockDummyable.safeRem = true; - + for(int a = posX - rot[4]; a <= posX + rot[5]; a++) { for(int c = posZ - rot[2]; c <= posZ + rot[3]; c++) { - + if(a >= box.minX && a <= box.maxX && c >= box.minZ && c <= box.maxZ) { for(int b = posY - rot[1]; b <= posY + rot[0]; b++) { - + int meta = 0; - + if(b < posY) { meta = ForgeDirection.DOWN.ordinal(); } else if(b > posY) { @@ -892,14 +893,14 @@ abstract public class Component extends StructureComponent { } else { continue; } - + world.setBlock(a, b, c, block, meta, 2); - + count++; - + if(count > 2000) { System.out.println("component's fillspace: ded " + a + " " + b + " " + c + " " + x + " " + y + " " + z); - + BlockDummyable.safeRem = false; return; } @@ -907,19 +908,19 @@ abstract public class Component extends StructureComponent { } } } - + BlockDummyable.safeRem = false; } - + /** StructureComponent-friendly method for {@link com.hbm.blocks.BlockDummyable#makeExtra(World, int, int, int)}. Prevents runoff outside of the provided bounding box. */ public void makeExtra(World world, StructureBoundingBox box, Block block, int x, int y, int z) { int posX = getXWithOffset(x, z); int posZ = getZWithOffset(x, z); int posY = getYWithOffset(y); - + if(!box.isVecInside(posX, posY, posZ)) return; - + if(world.getBlock(posX, posY, posZ) != block) return; @@ -927,23 +928,23 @@ abstract public class Component extends StructureComponent { if(meta > 5) return; - + BlockDummyable.safeRem = true; world.setBlock(posX, posY, posZ, block, meta + BlockDummyable.extra, 3); BlockDummyable.safeRem = false; } - + /** Block Selectors **/ - + static class Sandstone extends StructureComponent.BlockSelector { - + Sandstone() { } - + /** Selects blocks */ @Override public void selectBlocks(Random rand, int posX, int posY, int posZ, boolean notInterior) { float chance = rand.nextFloat(); - + if(chance > 0.6F) { this.field_151562_a = Blocks.sandstone; } else if (chance < 0.5F ) { @@ -953,16 +954,16 @@ abstract public class Component extends StructureComponent { } } } - + static class ConcreteBricks extends StructureComponent.BlockSelector { - + ConcreteBricks() { } - + /** Selects blocks */ @Override public void selectBlocks(Random rand, int posX, int posY, int posZ, boolean notInterior) { float chance = rand.nextFloat(); - + if(chance < 0.4F) { this.field_151562_a = ModBlocks.brick_concrete; } else if (chance < 0.7F) { @@ -974,18 +975,18 @@ abstract public class Component extends StructureComponent { } } } - + static class ConcreteBricksStairs extends StructureComponent.BlockSelector { - + ConcreteBricksStairs() { this.selectedBlockMetaData = 0; } - + /** Selects blocks */ @Override public void selectBlocks(Random rand, int posX, int posY, int posZ, boolean notInterior) { float chance = rand.nextFloat(); - + if(chance < 0.4F) { this.field_151562_a = ModBlocks.brick_concrete_stairs; } else if (chance < 0.7F) { @@ -997,19 +998,19 @@ abstract public class Component extends StructureComponent { } } } - + static class ConcreteBricksSlabs extends StructureComponent.BlockSelector { - + ConcreteBricksSlabs() { this.field_151562_a = ModBlocks.concrete_brick_slab; this.selectedBlockMetaData = 0; } - + /** Selects blocks */ @Override public void selectBlocks(Random rand, int posX, int posY, int posZ, boolean notInterior) { float chance = rand.nextFloat(); - + if (chance >= 0.4F && chance < 0.7F) { this.selectedBlockMetaData |= 1; } else if (chance < 0.9F) { @@ -1019,17 +1020,17 @@ abstract public class Component extends StructureComponent { } } } - + //ag static class LabTiles extends StructureComponent.BlockSelector { - + LabTiles() { } - + /** Selects blocks */ @Override public void selectBlocks(Random rand, int posX, int posY, int posZ, boolean notInterior) { float chance = rand.nextFloat(); - + if(chance < 0.5F) { this.field_151562_a = ModBlocks.tile_lab; } else if (chance < 0.9F) { @@ -1039,18 +1040,84 @@ abstract public class Component extends StructureComponent { } } } - + static class SuperConcrete extends StructureComponent.BlockSelector { - + SuperConcrete() { this.field_151562_a = ModBlocks.concrete_super; } - + /** Selects blocks */ @Override public void selectBlocks(Random rand, int posX, int posY, int posZ, boolean notInterior) { this.selectedBlockMetaData = rand.nextInt(6) + 10; } } - + + public static class MeteorBricks extends BlockSelector { + + @Override + public void selectBlocks(Random rand, int posX, int posY, int posZ, boolean notInterior) { + float chance = rand.nextFloat(); + + if(chance < 0.4F) { + this.field_151562_a = ModBlocks.meteor_brick; + } else if (chance < 0.7F) { + this.field_151562_a = ModBlocks.meteor_brick_mossy; + } else { + this.field_151562_a = ModBlocks.meteor_brick_cracked; + } + } + + } + + public static class SupplyCrates extends BlockSelector { + + @Override + public void selectBlocks(Random rand, int posX, int posY, int posZ, boolean notInterior) { + float chance = rand.nextFloat(); + + if(chance < 0.6F) { + this.field_151562_a = Blocks.air; + } else if(chance < 0.8F) { + this.field_151562_a = ModBlocks.crate_ammo; + } else if(chance < 0.9F) { + this.field_151562_a = ModBlocks.crate_can; + } else { + this.field_151562_a = ModBlocks.crate; + } + } + + } + + public static class CrabSpawners extends BlockSelector { + + @Override + public void selectBlocks(Random rand, int posX, int posY, int posZ, boolean notInterior) { + float chance = rand.nextFloat(); + + if(chance < 0.8F) { + this.field_151562_a = ModBlocks.meteor_brick; + } else { + this.field_151562_a = ModBlocks.meteor_spawner; + } + } + + } + + public static class GreenOoze extends BlockSelector { + + @Override + public void selectBlocks(Random rand, int posX, int posY, int posZ, boolean notInterior) { + float chance = rand.nextFloat(); + + if(chance < 0.8F) { + this.field_151562_a = ModBlocks.toxic_block; + } else { + this.field_151562_a = ModBlocks.meteor_polished; + } + } + + } + } diff --git a/src/main/java/com/hbm/world/gen/component/SiloComponent.java b/src/main/java/com/hbm/world/gen/component/SiloComponent.java index 4dd2aaee0..bfee7327c 100644 --- a/src/main/java/com/hbm/world/gen/component/SiloComponent.java +++ b/src/main/java/com/hbm/world/gen/component/SiloComponent.java @@ -81,7 +81,7 @@ public class SiloComponent extends Component { fillWithBlocks(world, box, 24, 25, 13, 26, 25, 18, ModBlocks.asphalt); fillWithBlocks(world, box, 13, 25, 19, 42, 25, 20, ModBlocks.asphalt); fillWithBlocks(world, box, 40, 25, 5, 42, 25, 18, ModBlocks.asphalt); - fillWithBlocks(world, box, 39, 25, 10, 39, 25, 12, ModBlocks.asphalt); + fillWithBlocks(world, box, 39, 25, 10, 39, 25, 12, ModBlocks.asphalt); fillWithMetadataBlocks(world, box, 15, 25, 10, 23, 25, 10, ModBlocks.concrete_colored_ext, 5); fillWithMetadataBlocks(world, box, 15, 25, 11, 15, 25, 17, ModBlocks.concrete_colored_ext, 5); fillWithMetadataBlocks(world, box, 15, 25, 18, 23, 25, 18, ModBlocks.concrete_colored_ext, 5); diff --git a/src/main/java/com/hbm/world/gen/util/LogicBlockActions.java b/src/main/java/com/hbm/world/gen/util/LogicBlockActions.java new file mode 100644 index 000000000..af2c41356 --- /dev/null +++ b/src/main/java/com/hbm/world/gen/util/LogicBlockActions.java @@ -0,0 +1,268 @@ +package com.hbm.world.gen.util; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockSkeletonHolder; +import com.hbm.blocks.generic.LogicBlock; +import com.hbm.entity.item.EntityFallingBlockNT; +import com.hbm.entity.missile.EntityMissileTier2; +import com.hbm.entity.mob.EntityUndeadSoldier; +import com.hbm.items.ItemEnums; +import com.hbm.items.ModItems; +import com.hbm.tileentity.TileEntityDoorGeneric; +import com.hbm.tileentity.machine.storage.TileEntityCrateBase; +import com.hbm.util.ContaminationUtil; +import com.hbm.util.MobUtil; +import com.hbm.util.Vec3NT; +import com.hbm.world.WorldUtil; +import net.minecraft.block.Block; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.effect.EntityLightningBolt; +import net.minecraft.entity.monster.EntityZombie; +import net.minecraft.init.Blocks; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.*; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import java.util.*; +import java.util.function.Consumer; + +public class LogicBlockActions { + + public static LinkedHashMap> actions = new LinkedHashMap<>(); + + public static Consumer PHASE_ABERRATOR = (tile) -> { + World world = tile.getWorldObj(); + int x = tile.xCoord; + int y = tile.yCoord; + int z = tile.zCoord; + if (tile.phase == 1 || tile.phase == 2) { + tile.player = world.getClosestPlayer(x,y,z, 25); + if (tile.timer == 0) { + Vec3NT vec = new Vec3NT(20, 0, 0); + for (int i = 0; i < 10; i++) { + + if(vec.xCoord > 8) vec.xCoord += world.rand.nextInt(10) - 5; + + EntityUndeadSoldier mob = new EntityUndeadSoldier(world); + for (int j = 0; j < 7; j++) { + mob.setPositionAndRotation(x + 0.5 + vec.xCoord, world.getHeightValue((int) (x + 0.5 + vec.xCoord),(int) (z + 0.5 + vec.zCoord)), z + 0.5 + vec.zCoord, i * 36F, 0); + if (mob.getCanSpawnHere()) { + mob.onSpawnWithEgg(null); + if(tile.player != null){ + mob.setTarget(tile.player); + } + world.spawnEntityInWorld(mob); + break; + } + } + vec.rotateAroundYDeg(36D); + } + } + } + if (tile.phase > 2) { + TileEntity te = world.getTileEntity(x, y + 18, z); + if (te instanceof BlockSkeletonHolder.TileEntitySkeletonHolder) { + BlockSkeletonHolder.TileEntitySkeletonHolder skeleton = (BlockSkeletonHolder.TileEntitySkeletonHolder) te; + if (world.rand.nextInt(5) == 0) { + skeleton.item = new ItemStack(ModItems.item_secret, 1, ItemEnums.EnumSecretType.ABERRATOR.ordinal()); + } else { + skeleton.item = new ItemStack(ModItems.clay_tablet, 1, 1); + } + skeleton.markDirty(); + world.markBlockForUpdate(x, y + 18, z); + } + world.setBlock(x, y, z, Blocks.obsidian); + } + }; + + public static Consumer COLLAPSE_ROOF_RAD_5 = (tile) -> { + World world = tile.getWorldObj(); + int x = tile.xCoord; + int y = tile.yCoord; + int z = tile.zCoord; + + if(tile.phase == 0) return; + + //from explosionChaos because i cannot be assed + int r = 4; + int r2 = r * r; + int r22 = r2 / 2; + + for (int xx = -r; xx < r; xx++) { + int X = xx + x; + int XX = xx * xx; + for (int yy = -r; yy < r; yy++) { + int Y = yy + y; + int YY = XX + yy * yy; + for (int zz = -r; zz < r; zz++) { + int Z = zz + z; + int ZZ = YY + zz * zz; + if (ZZ < r22) { + + if (world.getBlock(X, Y, Z).getExplosionResistance(null) <= 70) { + EntityFallingBlockNT entityfallingblock = new EntityFallingBlockNT(world, X + 0.5, Y + 0.5, Z + 0.5, world.getBlock(X, Y, Z), world.getBlockMetadata(X, Y, Z)); + world.spawnEntityInWorld(entityfallingblock); + } + } + } + } + } + world.setBlock(x, y, z, ModBlocks.block_steel); + + }; + + public static Consumer FODDER_WAVE = (tile) -> { + World world = tile.getWorldObj(); + int x = tile.xCoord; + int y = tile.yCoord; + int z = tile.zCoord; + if (tile.phase == 1) { + Vec3NT vec = new Vec3NT(5, 0, 0); + for (int i = 0; i < 10; i++) { + EntityZombie mob = new EntityZombie(world); + mob.setPositionAndRotation(x + 0.5 + vec.xCoord, world.getHeightValue(x,z), z + 0.5 + vec.zCoord, i * 36F, 0); + MobUtil.assignItemsToEntity(mob, MobUtil.slotPoolAdv, new Random()); + world.spawnEntityInWorld(mob); + + vec.rotateAroundYDeg(36D); + } + world.setBlock(x, y, z, ModBlocks.block_steel); + } + }; + + public static Consumer PUZZLE_TEST = (tile) -> { + World world = tile.getWorldObj(); + int x = tile.xCoord; + int y = tile.yCoord; + int z = tile.zCoord; + + if(tile.phase == 2){ + world.setBlock(x,y,z, ModBlocks.crate_steel); + + EntityLightningBolt blitz = new EntityLightningBolt(world, x, world.getHeightValue(x, z) + 2, z); + world.spawnEntityInWorld(blitz); + + TileEntityCrateBase crate = (TileEntityCrateBase) world.getTileEntity(x,y,z); + ((IInventory)crate).setInventorySlotContents(15, new ItemStack(ModItems.gun_bolter)); + } + }; + + public static Consumer MISSILE_STRIKE = (tile) -> { + World world = tile.getWorldObj(); + int x = tile.xCoord; + int y = tile.yCoord; + int z = tile.zCoord; + + if(tile.phase != 1) return; + + world.getClosestPlayer(x,y,z, 25).addChatMessage(new ChatComponentText(EnumChatFormatting.LIGHT_PURPLE + "[COMMAND UNIT]"+ EnumChatFormatting.RESET + " Missile Fired")); + + ForgeDirection parallel = tile.direction.getRotation(ForgeDirection.UP); + + EntityMissileTier2.EntityMissileStrong missile = + new EntityMissileTier2.EntityMissileStrong( + world, + x + tile.direction.offsetX * 300, + 200, + z + tile.direction.offsetZ * 300, + x + parallel.offsetX * 30 + tile.direction.offsetX * 30, + z + parallel.offsetZ * 30 + tile.direction.offsetZ * 30); + WorldUtil.loadAndSpawnEntityInWorld(missile); + + world.setBlock(x,y,z, ModBlocks.block_electrical_scrap); + }; + + public static Consumer RAD_CONTAINMENT_SYSTEM = (tile) -> { + World world = tile.getWorldObj(); + int x = tile.xCoord; + int y = tile.yCoord; + int z = tile.zCoord; + + ForgeDirection direction = tile.direction.getOpposite(); + ForgeDirection rot = direction.getRotation(ForgeDirection.UP); + + AxisAlignedBB bb = AxisAlignedBB.getBoundingBox(x - rot.offsetX, y - 1, z - rot.offsetZ, x + rot.offsetX + direction.offsetX * 15, y + 1, z + rot.offsetZ + direction.offsetZ * 15).expand(2,2,2); + + List entities = world.getEntitiesWithinAABB(EntityLivingBase.class, bb); + + for(EntityLivingBase e : entities) { + + Vec3 vec = Vec3.createVectorHelper(e.posX - (x + 0.5), (e.posY + e.getEyeHeight()) - (y + 0.5), e.posZ - (z + 0.5)); + double len = vec.lengthVector(); + vec = vec.normalize(); + + len = Math.max(len,1D); + + float res = 0; + + for(int i = 1; i < len; i++) { + + int ix = (int)Math.floor(x + 0.5 + vec.xCoord * i); + int iy = (int)Math.floor(y + 0.5 + vec.yCoord * i); + int iz = (int)Math.floor(z + 0.5 + vec.zCoord * i); + + res += world.getBlock(ix, iy, iz).getExplosionResistance(null); + } + + if(res < 1) + res = 1; + + float eRads = 100F; + eRads /= (float)res; + eRads /= (float)(len * len); + + ContaminationUtil.contaminate(e, ContaminationUtil.HazardType.RADIATION, ContaminationUtil.ContaminationType.HAZMAT2, eRads); + } + + if (tile.phase == 2 && tile.timer > 40){ + world.getClosestPlayer(x,y,z, 25).addChatMessage(new ChatComponentText( + EnumChatFormatting.LIGHT_PURPLE + "[RAD CONTAINMENT SYSTEM]" + + EnumChatFormatting.RESET + " Diagnostics found containment failure, commencing lockdown")); + + for(int i = 1; i < 20; i++) { + int checkX, checkY, checkZ; + checkX = x + direction.offsetX * i; + checkY = y + 1; + checkZ = z + direction.offsetZ * i; + Block block = world.getBlock(checkX, checkY,checkZ); + TileEntity te = null; + if(block instanceof BlockDummyable){ + int[] coreCoords = ((BlockDummyable) block).findCore(world,checkX,checkY,checkZ); + te = world.getTileEntity(coreCoords[0], coreCoords[1], coreCoords[2]); + } + + if (te instanceof TileEntityDoorGeneric) { + TileEntityDoorGeneric door = (TileEntityDoorGeneric) te; + door.setPins(456); + door.close(); + door.lock(); + break; + } + } + + tile.phase = 3; + } + }; + + public static List getActionNames(){ + return new ArrayList<>(actions.keySet()); + } + + //register new actions here + static{ + //example actions + actions.put("FODDER_WAVE", FODDER_WAVE); + actions.put("ABERRATOR", PHASE_ABERRATOR); + actions.put("COLLAPSE_ROOF_RAD_5", COLLAPSE_ROOF_RAD_5); + actions.put("PUZZLE_TEST", PUZZLE_TEST); + actions.put("MISSILE_STRIKE", MISSILE_STRIKE); + actions.put("IRRADIATE_ENTITIES_AOE", RAD_CONTAINMENT_SYSTEM); + } + + + +} diff --git a/src/main/java/com/hbm/world/gen/util/LogicBlockConditions.java b/src/main/java/com/hbm/world/gen/util/LogicBlockConditions.java new file mode 100644 index 000000000..b51b96c23 --- /dev/null +++ b/src/main/java/com/hbm/world/gen/util/LogicBlockConditions.java @@ -0,0 +1,97 @@ +package com.hbm.world.gen.util; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockPedestal; +import com.hbm.blocks.generic.LogicBlock; +import com.hbm.entity.mob.EntityUndeadSoldier; +import com.hbm.items.ModItems; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.function.Function; + +public class LogicBlockConditions { + + public static LinkedHashMap> conditions = new LinkedHashMap<>(); + + /**For use with interactions, for having them handle all conditional tasks*/ + public static Function EMPTY = (tile) -> false; + + public static Function ABERRATOR = (tile) -> { + World world = tile.getWorldObj(); + if(world.difficultySetting.ordinal() == 0) return false; + int x = tile.xCoord; + int y = tile.yCoord; + int z = tile.zCoord; + + boolean aoeCheck = !world.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y - 2, z + 1).expand(10, 10, 10)).isEmpty(); + if(tile.phase == 0) { + if(world.getTotalWorldTime() % 20 != 0) return false; + return aoeCheck; + } + if(tile.phase < 3) { + if(world.getTotalWorldTime() % 20 != 0 || tile.timer < 60) return false; + return world.getEntitiesWithinAABB(EntityUndeadSoldier.class, AxisAlignedBB.getBoundingBox(x, y, z, x - 2, y + 1, z + 1).expand(50, 20, 50)).isEmpty() && aoeCheck; + } + return false; + }; + + public static Function PLAYER_CUBE_5 = (tile) -> { + World world = tile.getWorldObj(); + int x = tile.xCoord; + int y = tile.yCoord; + int z = tile.zCoord; + return !world.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y - 2, z + 1).expand(5, 5, 5)).isEmpty(); + }; + + public static Function REDSTONE = (tile) -> { + World world = tile.getWorldObj(); + int x = tile.xCoord; + int y = tile.yCoord; + int z = tile.zCoord; + + return world.isBlockIndirectlyGettingPowered(x,y,z); + }; + + public static Function PUZZLE_TEST = (tile) -> { + World world = tile.getWorldObj(); + int x = tile.xCoord; + int y = tile.yCoord; + int z = tile.zCoord; + + if(tile.phase == 0 && world.isBlockIndirectlyGettingPowered(x,y,z)){ + world.getClosestPlayer(x,y,z, 25).addChatMessage(new ChatComponentText("Find a " + EnumChatFormatting.GOLD + "great" + EnumChatFormatting.RESET + " ancient weapon, of questionable use in the modern age")); + world.setBlock(x,y + 1,z, ModBlocks.pedestal); + return true; + } + + TileEntity pedestal = world.getTileEntity(x,y + 1,z); + + return tile.phase == 1 + && pedestal instanceof BlockPedestal.TileEntityPedestal + && ((BlockPedestal.TileEntityPedestal) pedestal).item != null + && ((BlockPedestal.TileEntityPedestal) pedestal).item.getItem() == ModItems.big_sword; + }; + + public static List getConditionNames(){ + return new ArrayList<>(conditions.keySet()); + } + + //register new conditions here + static { + //example conditions + conditions.put("EMPTY", EMPTY); + conditions.put("ABERRATOR", ABERRATOR); + conditions.put("PLAYER_CUBE_5", PLAYER_CUBE_5); + conditions.put("REDSTONE", REDSTONE); + conditions.put("PUZZLE_TEST", PUZZLE_TEST); + } + +} diff --git a/src/main/java/com/hbm/world/gen/util/LogicBlockInteractions.java b/src/main/java/com/hbm/world/gen/util/LogicBlockInteractions.java new file mode 100644 index 000000000..bf3bc47eb --- /dev/null +++ b/src/main/java/com/hbm/world/gen/util/LogicBlockInteractions.java @@ -0,0 +1,71 @@ +package com.hbm.world.gen.util; + +import com.hbm.blocks.generic.LogicBlock; +import com.hbm.items.ModItems; +import com.hbm.potion.HbmPotion; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.function.Consumer; + +/**Interactions are called when the player right-clicks the block**/ +public class LogicBlockInteractions { + + /**Consumer consists of world instance, tile entity instance, three ints for coordinates, one int for block side, and player instance, + * in that order **/ + public static LinkedHashMap> interactions = new LinkedHashMap<>(); + + public static Consumer TEST = (array) -> { + World world = (World) array[0]; + LogicBlock.TileEntityLogicBlock logic = (LogicBlock.TileEntityLogicBlock) array[1]; + int x = (int) array[2]; + int y = (int) array[3]; + int z = (int) array[4]; + EntityPlayer player = (EntityPlayer) array[5]; + int side = (int) array[6]; + + if(logic.phase > 1) return; + + if(player.getHeldItem() != null) + player.getHeldItem().stackSize--; + + logic.phase++; + }; + + public static Consumer RAD_CONTAINMENT_SYSTEM = (array) -> { + LogicBlock.TileEntityLogicBlock logic = (LogicBlock.TileEntityLogicBlock) array[1]; + EntityPlayer player = (EntityPlayer) array[5]; + + if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.key){ + player.getHeldItem().stackSize--; + player.addChatMessage(new ChatComponentText( + EnumChatFormatting.LIGHT_PURPLE + "[RAD CONTAINMENT SYSTEM]" + + EnumChatFormatting.RESET + " Radiation treatment administered")); + player.addPotionEffect(new PotionEffect(HbmPotion.radaway.getId(), 3 * 60 * 20, 4)); + player.addPotionEffect(new PotionEffect(HbmPotion.radx.getId(), 3 * 60 * 20, 4)); + logic.phase = 2; + logic.timer = 0; + } + }; + + + + public static List getInteractionNames(){ + return new ArrayList<>(interactions.keySet()); + } + + //register new interactions here + static{ + interactions.put("TEST", TEST); + interactions.put("RADAWAY_INJECTOR", RAD_CONTAINMENT_SYSTEM); + } + + + +} diff --git a/src/main/java/com/hbm/world/generator/CellularDungeon.java b/src/main/java/com/hbm/world/generator/CellularDungeon.java index 169b5fb3a..632ba1fe6 100644 --- a/src/main/java/com/hbm/world/generator/CellularDungeon.java +++ b/src/main/java/com/hbm/world/generator/CellularDungeon.java @@ -9,6 +9,7 @@ import com.hbm.inventory.RecipesCommon.MetaBlock; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +@Deprecated public class CellularDungeon { //a buffer "map" of the rooms being generated before being spawned in diff --git a/src/main/java/com/hbm/world/generator/CellularDungeonFactory.java b/src/main/java/com/hbm/world/generator/CellularDungeonFactory.java index e58e88ae3..cedfd8275 100644 --- a/src/main/java/com/hbm/world/generator/CellularDungeonFactory.java +++ b/src/main/java/com/hbm/world/generator/CellularDungeonFactory.java @@ -2,24 +2,13 @@ package com.hbm.world.generator; import com.hbm.world.generator.room.*; -import net.minecraftforge.common.util.ForgeDirection; - +@Deprecated public class CellularDungeonFactory { - public static CellularDungeon meteor; public static CellularDungeon jungle; - + public static void init() { - - meteor = new TestDungeon(11, 7, 11, 11, 150, 3); - meteor.rooms.add(new TestDungeonRoom1(meteor)); - meteor.rooms.add(new TestDungeonRoom2(meteor)); - meteor.rooms.add(new TestDungeonRoom3(meteor)); - meteor.rooms.add(new TestDungeonRoom4(meteor, new TestDungeonRoom5(meteor), ForgeDirection.NORTH)); - meteor.rooms.add(new TestDungeonRoom6(meteor)); - meteor.rooms.add(new TestDungeonRoom7(meteor)); - meteor.rooms.add(new TestDungeonRoom8(meteor)); - + jungle = new JungleDungeon(5, 5, 25, 25, 700, 6); for(int i = 0; i < 10; i++) jungle.rooms.add(new JungleDungeonRoom(jungle)); jungle.rooms.add(new JungleDungeonRoomArrow(jungle)); diff --git a/src/main/java/com/hbm/world/generator/CellularDungeonRoom.java b/src/main/java/com/hbm/world/generator/CellularDungeonRoom.java index 9b3e9086c..29edded5a 100644 --- a/src/main/java/com/hbm/world/generator/CellularDungeonRoom.java +++ b/src/main/java/com/hbm/world/generator/CellularDungeonRoom.java @@ -6,6 +6,7 @@ import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +@Deprecated public class CellularDungeonRoom { protected CellularDungeon parent; diff --git a/src/main/java/com/hbm/world/generator/JungleDungeon.java b/src/main/java/com/hbm/world/generator/JungleDungeon.java index a0ddadfc8..62b86b551 100644 --- a/src/main/java/com/hbm/world/generator/JungleDungeon.java +++ b/src/main/java/com/hbm/world/generator/JungleDungeon.java @@ -5,11 +5,14 @@ import java.util.List; import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.interfaces.NotableComments; import com.hbm.inventory.RecipesCommon.MetaBlock; import com.hbm.world.generator.TimedGenerator.ITimedJob; import net.minecraft.world.World; +@Deprecated +@NotableComments public class JungleDungeon extends CellularDungeon { public boolean hasHole = false; @@ -70,6 +73,7 @@ public class JungleDungeon extends CellularDungeon { //since all the building is timed jobs, this has to be as well. timed jobs are ordered so this works! //is it shitty coding? is it not? who knows? + //future bob here: yes it is, go fuck yourself } } diff --git a/src/main/java/com/hbm/world/generator/TestDungeon.java b/src/main/java/com/hbm/world/generator/TestDungeon.java deleted file mode 100644 index 14ae78cf7..000000000 --- a/src/main/java/com/hbm/world/generator/TestDungeon.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.hbm.world.generator; - -import com.hbm.blocks.ModBlocks; -import com.hbm.inventory.RecipesCommon.MetaBlock; - -public class TestDungeon extends CellularDungeon { - - public TestDungeon(int width, int height, int dimX, int dimZ, int tries, int branches) { - super(width, height, dimX, dimZ, tries, branches); - - this.floor.add(new MetaBlock(ModBlocks.meteor_polished)); - this.wall.add(new MetaBlock(ModBlocks.meteor_brick)); - this.wall.add(new MetaBlock(ModBlocks.meteor_brick)); - this.wall.add(new MetaBlock(ModBlocks.meteor_brick_mossy)); - this.wall.add(new MetaBlock(ModBlocks.meteor_brick_cracked)); - this.ceiling.add(new MetaBlock(ModBlocks.block_meteor_broken)); - } - -} diff --git a/src/main/java/com/hbm/world/generator/TimedGenerator.java b/src/main/java/com/hbm/world/generator/TimedGenerator.java index 1ff879682..9501bbc8d 100644 --- a/src/main/java/com/hbm/world/generator/TimedGenerator.java +++ b/src/main/java/com/hbm/world/generator/TimedGenerator.java @@ -3,8 +3,12 @@ package com.hbm.world.generator; import java.util.ArrayList; import java.util.HashMap; +import com.hbm.interfaces.Spaghetti; + import net.minecraft.world.World; +@Deprecated +@Spaghetti("this class should be destroyed") public class TimedGenerator { private static final HashMap> operations = new HashMap(); diff --git a/src/main/java/com/hbm/world/generator/room/TestDungeonRoom1.java b/src/main/java/com/hbm/world/generator/room/TestDungeonRoom1.java deleted file mode 100644 index 77f2f257b..000000000 --- a/src/main/java/com/hbm/world/generator/room/TestDungeonRoom1.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.hbm.world.generator.room; - -import com.hbm.blocks.ModBlocks; -import com.hbm.world.generator.CellularDungeon; -import com.hbm.world.generator.CellularDungeonRoom; -import com.hbm.world.generator.DungeonToolbox; - -import net.minecraft.init.Blocks; -import net.minecraft.world.World; - -public class TestDungeonRoom1 extends CellularDungeonRoom { - - public TestDungeonRoom1(CellularDungeon parent) { - super(parent); - } - - public void generateMain(World world, int x, int y, int z) { - - super.generateMain(world, x, y, z); - DungeonToolbox.generateBox(world, x + parent.width / 2 - 3, y + 1, z + parent.width / 2 - 3, 1, parent.height - 2, 1, ModBlocks.meteor_pillar); - DungeonToolbox.generateBox(world, x + parent.width / 2 + 3, y + 1, z + parent.width / 2 - 3, 1, parent.height - 2, 1, ModBlocks.meteor_pillar); - DungeonToolbox.generateBox(world, x + parent.width / 2 + 3, y + 1, z + parent.width / 2 + 3, 1, parent.height - 2, 1, ModBlocks.meteor_pillar); - DungeonToolbox.generateBox(world, x + parent.width / 2 - 3, y + 1, z + parent.width / 2 + 3, 1, parent.height - 2, 1, ModBlocks.meteor_pillar); - world.setBlock(x + parent.width / 2 - 3, y + 3, z + parent.width / 2 - 3, ModBlocks.meteor_brick_chiseled, 0, 2); - world.setBlock(x + parent.width / 2 + 3, y + 3, z + parent.width / 2 - 3, ModBlocks.meteor_brick_chiseled, 0, 2); - world.setBlock(x + parent.width / 2 + 3, y + 3, z + parent.width / 2 + 3, ModBlocks.meteor_brick_chiseled, 0, 2); - world.setBlock(x + parent.width / 2 - 3, y + 3, z + parent.width / 2 + 3, ModBlocks.meteor_brick_chiseled, 0, 2); - world.setBlock(x + parent.width / 2, y + 1, z + parent.width / 2, ModBlocks.meteor_pillar, 0, 2); - world.setBlock(x + parent.width / 2, y + 2, z + parent.width / 2, Blocks.glowstone, 0, 3); - - /*world.setBlock(x + parent.width / 2, y, z + parent.width / 2, Blocks.mob_spawner, 0, 2); - TileEntityMobSpawner tileentitymobspawner2 = (TileEntityMobSpawner)world.getTileEntity(x + parent.width / 2, y, z + parent.width / 2); - - if (tileentitymobspawner2 != null) - { - tileentitymobspawner2.func_145881_a().setEntityName("entity_cyber_crab"); - }*/ - } -} diff --git a/src/main/java/com/hbm/world/generator/room/TestDungeonRoom2.java b/src/main/java/com/hbm/world/generator/room/TestDungeonRoom2.java deleted file mode 100644 index 60c15b6e3..000000000 --- a/src/main/java/com/hbm/world/generator/room/TestDungeonRoom2.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.hbm.world.generator.room; - -import com.hbm.blocks.ModBlocks; -import com.hbm.world.generator.CellularDungeon; -import com.hbm.world.generator.CellularDungeonRoom; - -import net.minecraft.world.World; - -public class TestDungeonRoom2 extends CellularDungeonRoom { - - public TestDungeonRoom2(CellularDungeon parent) { - super(parent); - } - - public void generateMain(World world, int x, int y, int z) { - - super.generateMain(world, x, y, z); - - int j = world.rand.nextInt(2) + 2; - int k = world.rand.nextInt(3) + 2; - - for(int i = 0; i < j; i++) { - int dx = world.rand.nextInt(parent.width - 6) + 3; - int dz = world.rand.nextInt(parent.width - 6) + 3; - world.setBlock(x + dx, y + 1, z + dz, ModBlocks.crate_ammo, 0, 2); - } - - for(int i = 0; i < k; i++) { - int dx = world.rand.nextInt(parent.width - 6) + 3; - int dz = world.rand.nextInt(parent.width - 6) + 3; - world.setBlock(x + dx, y + 1, z + dz, ModBlocks.crate_can, 0, 2); - } - } -} diff --git a/src/main/java/com/hbm/world/generator/room/TestDungeonRoom3.java b/src/main/java/com/hbm/world/generator/room/TestDungeonRoom3.java deleted file mode 100644 index dbb6f7366..000000000 --- a/src/main/java/com/hbm/world/generator/room/TestDungeonRoom3.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.hbm.world.generator.room; - -import com.hbm.blocks.ModBlocks; -import com.hbm.world.generator.CellularDungeon; -import com.hbm.world.generator.CellularDungeonRoom; -import com.hbm.world.generator.DungeonToolbox; - -import net.minecraft.init.Blocks; -import net.minecraft.tileentity.TileEntityMobSpawner; -import net.minecraft.world.World; - -public class TestDungeonRoom3 extends CellularDungeonRoom { - - public TestDungeonRoom3(CellularDungeon parent) { - super(parent); - } - - public void generateMain(World world, int x, int y, int z) { - - super.generateMain(world, x, y, z); - DungeonToolbox.generateBox(world, x + parent.width / 2 - 2, y + 1, z + parent.width / 2 - 2, 5, 4, 5, ModBlocks.deco_lead); - DungeonToolbox.generateBox(world, x + parent.width / 2 - 1, y + 1, z + parent.width / 2 - 1, 3, 3, 3, ModBlocks.toxic_block); - DungeonToolbox.generateBox(world, x + parent.width / 2 - 1, y + 4, z + parent.width / 2 - 1, 3, 1, 3, Blocks.air); - - world.setBlock(x + parent.width / 2, y + 1, z + parent.width / 2, Blocks.mob_spawner, 0, 2); - TileEntityMobSpawner tileentitymobspawner2 = (TileEntityMobSpawner)world.getTileEntity(x + parent.width / 2, y + 1, z + parent.width / 2); - - if (tileentitymobspawner2 != null) - { - tileentitymobspawner2.func_145881_a().setEntityName("entity_cyber_crab"); - } - } -} diff --git a/src/main/java/com/hbm/world/generator/room/TestDungeonRoom4.java b/src/main/java/com/hbm/world/generator/room/TestDungeonRoom4.java deleted file mode 100644 index 815f26330..000000000 --- a/src/main/java/com/hbm/world/generator/room/TestDungeonRoom4.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.hbm.world.generator.room; - -import java.util.ArrayList; - -import com.hbm.blocks.ModBlocks; -import com.hbm.inventory.RecipesCommon.MetaBlock; -import com.hbm.world.generator.CellularDungeon; -import com.hbm.world.generator.CellularDungeonRoom; -import com.hbm.world.generator.DungeonToolbox; - -import net.minecraft.init.Blocks; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -public class TestDungeonRoom4 extends CellularDungeonRoom { - - public TestDungeonRoom4(CellularDungeon parent, CellularDungeonRoom daisyChain, ForgeDirection dir) { - super(parent); - this.daisyChain = daisyChain; - this.daisyDirection = dir; - } - - public void generateMain(World world, int x, int y, int z) { - - super.generateMain(world, x, y, z); - DungeonToolbox.generateBox(world, x, y + parent.height - 2, z, parent.width, 1, parent.width, new ArrayList() {{ add(new MetaBlock(Blocks.air)); add(new MetaBlock(Blocks.web)); }}); - - DungeonToolbox.generateBox(world, x + 1, y, z + 1, parent.width - 2, 1, parent.width - 2, new ArrayList() {{ - add(new MetaBlock(ModBlocks.meteor_polished)); - add(new MetaBlock(ModBlocks.meteor_polished)); - add(new MetaBlock(ModBlocks.meteor_polished)); - add(new MetaBlock(ModBlocks.meteor_polished)); - add(new MetaBlock(ModBlocks.meteor_polished)); - add(new MetaBlock(ModBlocks.meteor_spawner)); - }}); - } - - public void generateWall(World world, int x, int y, int z, ForgeDirection wall, boolean door) { - - if(wall != ForgeDirection.NORTH) - super.generateWall(world, x, y, z, wall, door); - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/world/generator/room/TestDungeonRoom5.java b/src/main/java/com/hbm/world/generator/room/TestDungeonRoom5.java deleted file mode 100644 index e02be0c7d..000000000 --- a/src/main/java/com/hbm/world/generator/room/TestDungeonRoom5.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.hbm.world.generator.room; - -import java.util.ArrayList; - -import com.hbm.blocks.ModBlocks; -import com.hbm.inventory.RecipesCommon.MetaBlock; -import com.hbm.world.generator.CellularDungeon; -import com.hbm.world.generator.CellularDungeonRoom; -import com.hbm.world.generator.DungeonToolbox; - -import net.minecraft.init.Blocks; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -public class TestDungeonRoom5 extends CellularDungeonRoom { - - public TestDungeonRoom5(CellularDungeon parent) { - super(parent); - } - - public void generateMain(World world, int x, int y, int z) { - - super.generateMain(world, x, y, z); - DungeonToolbox.generateBox(world, x, y + parent.height - 2, z, parent.width, 1, parent.width, new ArrayList() {{ add(new MetaBlock(Blocks.air)); add(new MetaBlock(Blocks.web)); }}); - - DungeonToolbox.generateBox(world, x + 1, y, z + 1, parent.width - 2, 1, parent.width - 2, new ArrayList() {{ - add(new MetaBlock(ModBlocks.meteor_polished)); - add(new MetaBlock(ModBlocks.meteor_polished)); - add(new MetaBlock(ModBlocks.meteor_polished)); - add(new MetaBlock(ModBlocks.meteor_polished)); - add(new MetaBlock(ModBlocks.meteor_polished)); - add(new MetaBlock(ModBlocks.meteor_spawner)); }}); - } - - public void generateWall(World world, int x, int y, int z, ForgeDirection wall, boolean door) { - - if(wall != ForgeDirection.SOUTH) - super.generateWall(world, x, y, z, wall, door); - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/world/generator/room/TestDungeonRoom6.java b/src/main/java/com/hbm/world/generator/room/TestDungeonRoom6.java deleted file mode 100644 index e04f552cc..000000000 --- a/src/main/java/com/hbm/world/generator/room/TestDungeonRoom6.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.hbm.world.generator.room; - -import com.hbm.blocks.ModBlocks; -import com.hbm.world.generator.CellularDungeon; -import com.hbm.world.generator.CellularDungeonRoom; -import com.hbm.world.generator.DungeonToolbox; - -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -public class TestDungeonRoom6 extends CellularDungeonRoom { - - public TestDungeonRoom6(CellularDungeon parent) { - super(parent); - } - - public void generateMain(World world, int x, int y, int z) { - - super.generateMain(world, x, y, z); - DungeonToolbox.generateBox(world, x + 1, y, z + 1, parent.width - 2, 1, parent.width - 2, ModBlocks.toxic_block); - DungeonToolbox.generateBox(world, x + parent.width / 2 - 1, y, z + parent.width / 2 - 1, 3, 1, 3, ModBlocks.meteor_brick_chiseled); - world.setBlock(x + parent.width / 2, y, z + parent.width / 2, ModBlocks.meteor_polished); - - world.setBlock(x + 1, y, z + parent.width / 2, ModBlocks.meteor_polished); - world.setBlock(x + parent.width / 2, y, z + 1, ModBlocks.meteor_polished); - - world.setBlock(x + parent.width - 2, y, z + parent.width / 2, ModBlocks.meteor_polished); - world.setBlock(x + parent.width / 2, y, z + parent.width - 2, ModBlocks.meteor_polished); - } - - public void generateWall(World world, int x, int y, int z, ForgeDirection wall, boolean door) { - - super.generateWall(world, x, y, z, wall, door); - - if(!door) - return; - - if(wall == ForgeDirection.NORTH) { - DungeonToolbox.generateBox(world, x + parent.width / 2, y, z + 1, 1, 1, parent.width / 2 - 2, ModBlocks.meteor_polished); - } - - if(wall == ForgeDirection.SOUTH) { - DungeonToolbox.generateBox(world, x + parent.width / 2, y, z + parent.width / 2 + 2, 1, 1, parent.width / 2 - 2, ModBlocks.meteor_polished); - } - - if(wall == ForgeDirection.WEST) { - DungeonToolbox.generateBox(world, x + 1, y, z + parent.width / 2, parent.width / 2 - 2, 1, 1, ModBlocks.meteor_polished); - } - - if(wall == ForgeDirection.EAST) { - DungeonToolbox.generateBox(world, x + parent.width / 2 + 2, y, z + parent.width / 2, parent.width / 2 - 2, 1, 1, ModBlocks.meteor_polished); - } - } -} diff --git a/src/main/java/com/hbm/world/generator/room/TestDungeonRoom7.java b/src/main/java/com/hbm/world/generator/room/TestDungeonRoom7.java deleted file mode 100644 index 57909caa2..000000000 --- a/src/main/java/com/hbm/world/generator/room/TestDungeonRoom7.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.hbm.world.generator.room; - -import com.hbm.blocks.ModBlocks; -import com.hbm.world.generator.CellularDungeon; -import com.hbm.world.generator.CellularDungeonRoom; -import com.hbm.world.generator.DungeonToolbox; - -import net.minecraft.world.World; - -public class TestDungeonRoom7 extends CellularDungeonRoom { - - public TestDungeonRoom7(CellularDungeon parent) { - super(parent); - } - - public void generateMain(World world, int x, int y, int z) { - - super.generateMain(world, x, y, z); - - DungeonToolbox.generateBox(world, x, y, z, parent.width, 1, parent.width, ModBlocks.meteor_polished); - DungeonToolbox.generateBox(world, x + 2, y, z + 2, parent.width - 4, 1, parent.width - 4, ModBlocks.deco_red_copper); - DungeonToolbox.generateBox(world, x + 3, y, z + 3, parent.width - 6, 1, parent.width - 6, ModBlocks.meteor_polished); - DungeonToolbox.generateBox(world, x + 4, y, z + 4, parent.width - 8, 1, parent.width - 8, ModBlocks.deco_red_copper); - - world.setBlock(x + parent.width / 2, y, z + parent.width / 2, ModBlocks.meteor_battery); - world.setBlock(x + parent.width / 2, y + 1, z + parent.width / 2, ModBlocks.tesla); - } -} diff --git a/src/main/java/com/hbm/world/generator/room/TestDungeonRoom8.java b/src/main/java/com/hbm/world/generator/room/TestDungeonRoom8.java deleted file mode 100644 index e69db5214..000000000 --- a/src/main/java/com/hbm/world/generator/room/TestDungeonRoom8.java +++ /dev/null @@ -1,225 +0,0 @@ -package com.hbm.world.generator.room; - -import com.hbm.blocks.ModBlocks; -import com.hbm.crafting.handlers.MKUCraftingHandler; -import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBookLore; -import com.hbm.tileentity.machine.storage.TileEntitySafe; -import com.hbm.world.generator.CellularDungeon; -import com.hbm.world.generator.CellularDungeonRoom; -import com.hbm.world.generator.DungeonToolbox; - -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public class TestDungeonRoom8 extends CellularDungeonRoom { - - public TestDungeonRoom8(CellularDungeon parent) { - super(parent); - } - - public void generateMain(World world, int x, int y, int z) { - - super.generateMain(world, x, y, z); - DungeonToolbox.generateBox(world, x + parent.width / 2 - 3, y + 1, z + parent.width / 2 - 3, 1, parent.height - 2, 1, ModBlocks.meteor_pillar); - DungeonToolbox.generateBox(world, x + parent.width / 2 + 3, y + 1, z + parent.width / 2 - 3, 1, parent.height - 2, 1, ModBlocks.meteor_pillar); - DungeonToolbox.generateBox(world, x + parent.width / 2 + 3, y + 1, z + parent.width / 2 + 3, 1, parent.height - 2, 1, ModBlocks.meteor_pillar); - DungeonToolbox.generateBox(world, x + parent.width / 2 - 3, y + 1, z + parent.width / 2 + 3, 1, parent.height - 2, 1, ModBlocks.meteor_pillar); - world.setBlock(x + parent.width / 2 - 3, y + 3, z + parent.width / 2 - 3, ModBlocks.meteor_brick_chiseled, 0, 2); - world.setBlock(x + parent.width / 2 + 3, y + 3, z + parent.width / 2 - 3, ModBlocks.meteor_brick_chiseled, 0, 2); - world.setBlock(x + parent.width / 2 + 3, y + 3, z + parent.width / 2 + 3, ModBlocks.meteor_brick_chiseled, 0, 2); - world.setBlock(x + parent.width / 2 - 3, y + 3, z + parent.width / 2 + 3, ModBlocks.meteor_brick_chiseled, 0, 2); - - DungeonToolbox.generateBox(world, x + 4, y + 1, z + 4, parent.width - 8, 1, parent.width - 8, ModBlocks.meteor_polished); - - int i = world.rand.nextInt(8); - - switch(i) { - case 0: world.setBlock(x + parent.width / 2, y + 2, z + parent.width / 2, ModBlocks.meteor_brick_chiseled, 0, 3); break; - case 1: world.setBlock(x + parent.width / 2, y + 2, z + parent.width / 2, ModBlocks.ntm_dirt, 0, 3); break; - case 2: world.setBlock(x + parent.width / 2, y + 2, z + parent.width / 2, ModBlocks.block_starmetal, 0, 3); break; - case 3: world.setBlock(x + parent.width / 2, y + 2, z + parent.width / 2, ModBlocks.statue_elb_f, 0, 3); break; - case 4: world.setBlock(x + parent.width / 2, y + 2, z + parent.width / 2, ModBlocks.crate_red, 0, 3); break; - case 5: world.setBlock(x + parent.width / 2, y + 2, z + parent.width / 2, ModBlocks.balefire, 0, 3); break; - case 6: world.setBlock(x + parent.width / 2, y + 2, z + parent.width / 2, ModBlocks.block_meteor, 0, 3); break; - case 7: - world.setBlock(x + parent.width / 2, y + 2, z + parent.width / 2, ModBlocks.safe, 0, 3); - if(world.getTileEntity(x + parent.width / 2, y + 2, z + parent.width / 2) instanceof TileEntitySafe) { - - int r = world.rand.nextInt(10); - - if(r == 0) { - ((TileEntitySafe)world.getTileEntity(x + parent.width / 2, y + 2, z + parent.width / 2)).setInventorySlotContents(7, new ItemStack(ModItems.book_of_)); - } else if(r < 4) { - TileEntitySafe safe = (TileEntitySafe) world.getTileEntity(x + parent.width / 2, y + 2, z + parent.width / 2); - safe.setInventorySlotContents(5, generateBook(world)); - safe.setInventorySlotContents(7, new ItemStack(ModItems.stamp_book, 1, world.rand.nextInt(8))); - safe.setInventorySlotContents(9, new ItemStack(ModItems.stamp_book, 1, world.rand.nextInt(8))); - } else { - TileEntitySafe safe = (TileEntitySafe) world.getTileEntity(x + parent.width / 2, y + 2, z + parent.width / 2); - safe.setInventorySlotContents(5, new ItemStack(Items.book)); - safe.setInventorySlotContents(7, new ItemStack(ModItems.stamp_book, 1, world.rand.nextInt(8))); - safe.setInventorySlotContents(9, new ItemStack(ModItems.stamp_book, 1, world.rand.nextInt(8))); - } - } - break; - } - } - - public static ItemStack generateBook(World world) { - MKUCraftingHandler.generateRecipe(world); - ItemStack[] recipe = MKUCraftingHandler.MKURecipe; - - if(recipe == null) return new ItemStack(ModItems.flame_pony); - - String key; - int pages; - Item item; - switch(world.rand.nextInt(6)) { - case 0: - key = "book_iodine"; pages = 3; - item = ModItems.powder_iodine; break; - case 1: - key = "book_phosphorous"; pages = 2; - item = ModItems.powder_fire; break; - case 2: - key = "book_dust"; pages = 3; - item = ModItems.dust; break; - case 3: - key = "book_mercury"; pages = 2; - item = ModItems.ingot_mercury; break; - case 4: - key = "book_flower"; pages = 2; - item = ModItems.morning_glory; break; - case 5: - key = "book_syringe"; pages = 2; - item = ModItems.syringe_metal_empty; break; - default: - return new ItemStack(ModItems.flame_pony); - } - - int s = 1; - for(int i = 0; i < 9; i++) { - if(recipe[i] != null && recipe[i].getItem() == item) { - s = i + 1; break; - } - } - - ItemStack book = ItemBookLore.createBook(key, pages, 0x271E44, 0xFBFFF4); - ItemBookLore.addArgs(book, pages - 1, String.valueOf(s)); - - return book; - } - - /*public static ItemStack genetateMKU(World world) { - - ItemStack book = new ItemStack(Items.written_book); - book.stackTagCompound = new NBTTagCompound(); - book.stackTagCompound.setString("author", "Dave"); - book.stackTagCompound.setString("title", "Note"); - NBTTagList nbt = new NBTTagList(); - - String[] pages = generatePages(world); - - for(String s : pages) { - nbt.appendTag(new NBTTagString(s)); - } - - book.stackTagCompound.setTag("pages", nbt); - - return book; - } - - private static String[] bookIodine = new String[] { - "alright you will not believe this, but old man weathervane finally managed to show up again since he left two weeks ago", - "and what's more surprising is the fact that he actually decided to spill the beans on what they were doing in the canyon:", - "apparently the morons form R&D discovered a compound that is mostly inorganic, pretty much like a toxin in nature, but get", - "this: the dying cells will reproduce said toxin and excete it through the skin, creating an aerosol that is highly contageous.", - "it's just like a virus, but not a virus. the composition is weird, you can mix it in any household bottle but you do have to", - "get the order right. the doc told me that the first ingredient which is just powdered iodine crystals goes into slot #" - }; - private static String[] bookPhosphorous = new String[] { - "heyo, it's me again. i assume you got my last memo, the doc wasn't too happy about it. i'll have to do this quick, the", - "dunderheads from R&D are currently moaning again, probably over money. again. anyway, doc weathervane found that the second", - "ingredient is red phosphorous, whihc has to be mixed into slot #" - }; - private static String[] bookDust = new String[] { - "the doc was furious when he found out that the R&D dorks kept the one remaining sample, ranting about gross negligence this", - "and a doomsday scenario that. i told him to chill for a minute, getting all worked up isn't good for his blood pressure, not", - "that he has much blood left to begin with. one of the R&D morons slipped some more info into last week's circular, they call their", - "little concoction \"MKU\" whatever that means, and that it contains actual household lint. can you believe that? one of the most", - "dangerous inventions of theirs and it contains dust. strangely they also mentioned that it goes into slot #" - }; - private static String[] bookMercury = new String[] { - "well that settles that. not counting the vomitting blood part, the toxicological report mostly resembles that of mercury", - "poisoning. why? because our little mix also contains mercury! i just wonder where all that stuff comes from when being", - "replicated by the body? whatever, the mercury goes into slot #" - }; - private static String[] bookFlower = new String[] { - "remember when i mentioned in my first memo that the compound is mostly anorganic? well guess what, the old man shared the fourth", - "ingredient: ipomoea nil, a genus of flower. morning glory! it might be due to its low sulfur content, whatever might be the case,", - "it does not work with other flowers. the morning glory goes into slot #" - }; - private static String[] bookSyringe = new String[] { - "a little addendum to my fifth message, obviously you have to store this MKU stuff in a container. the R&D nuts used regular", - "metal syringes that they got from medical. surplus ware i presume, they got thousands of needles just lying around. the metal", - "syringe goes into slot #" - }; - - public static String[] generatePages(World world) { - - String[] orig; - Item ingred; - int r = world.rand.nextInt(6); - - if(r == 0) { - orig = bookIodine; - ingred = ModItems.powder_iodine; - } else if(r == 1) { - orig = bookPhosphorous; - ingred = ModItems.powder_fire; - } else if(r == 2) { - orig = bookDust; - ingred = ModItems.dust; - } else if(r == 3) { - orig = bookMercury; - ingred = ModItems.ingot_mercury; - } else if(r == 4) { - orig = bookFlower; - ingred = ModItems.morning_glory; - } else { - orig = bookSyringe; - ingred = ModItems.syringe_metal_empty; - } - - String[] copy = new String[orig.length]; - - for(int i = 0; i < orig.length; i++) { - copy[i] = orig[i] + ""; //Strings are reference types and i'm really not counting on my luck here - } - - copy[copy.length - 1] += getSlot(world, ingred); - - return copy; - } - - public static int getSlot(World world, Item item) { - - MKUCraftingHandler.generateRecipe(world); - ItemStack[] recipe = MKUCraftingHandler.MKURecipe; - - if(recipe == null) //take no chances - return -2; - - for(int i = 0; i < 9; i++) { - - if(recipe[i] != null && recipe[i].getItem() == item) { - return i + 1; - } - } - - return -1; - }*/ -} diff --git a/src/main/resources/META-INF/HBM_at.cfg b/src/main/resources/META-INF/HBM_at.cfg index 09bf2e8c3..859de4618 100644 --- a/src/main/resources/META-INF/HBM_at.cfg +++ b/src/main/resources/META-INF/HBM_at.cfg @@ -34,3 +34,26 @@ public net.minecraft.world.gen.ChunkProviderFlat field_82702_h # ha # ChunkProviderServer public net.minecraft.world.gen.ChunkProviderServer field_73248_b # chunksToUnload + +# NBTTagList +public net.minecraft.nbt.NBTTagList * # Mojang makes a format use LISTS of INTs, what the fuck + +# ItemRenderer +public net.minecraft.client.renderer.ItemRenderer field_78453_b # itemToRender +public net.minecraft.client.renderer.ItemRenderer field_78454_c # equippedProgress +public net.minecraft.client.renderer.ItemRenderer field_78451_d # prevEquippedProgress + +# AbstractResourcePack +public net.minecraft.client.resources.AbstractResourcePack field_110597_b # resourcePackFile + +# Container +public net.minecraft.inventory.Container * # fucking everything i hate this class + +# GuiIngame +public net.minecraft.client.gui.GuiIngame field_92016_l # highlightingItemStack + +# Block +public net.minecraft.block.Block func_149642_a(Lnet/minecraft/world/World;IIILnet/minecraft/item/ItemStack;)V # dropBlockAsItem + +# Minecraft +public net.minecraft.client.Minecraft field_71425_J # running diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 026f86d95..50aa4a009 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -8,7 +8,7 @@ achievement.bossMaskman.desc=Kloppe den dicken Buben. achievement.bossMaskman=6 Monate verpflichtender Dienst und alles was ich davon habe ist dieses doofe T-Shirt achievement.bossMeltdown.desc=Mehr schlecht als recht, aber was will man machen. achievement.bossMeltdown=3,6 Röntgen -achievement.bossWorm.desc=Der Fabstaff. Mein Arsch. Jetzt fang an zu rechnen. +achievement.bossWorm.desc=Nur ein kleiner Metallwurm. achievement.bossWorm=Disassembling Balls-O-Tron achievement.bossUFO.desc=Yo, what do we have here? A huge spacecraft pulling up to the blockship? achievement.bossUFO=Ayy Lmao @@ -177,6 +177,21 @@ cannery.stirling.1=Er muss auf einem Hitzeerzeuger platziert werden, zum Beispie cannery.stirling.2=Die Hitze die maximal verwendet werden kann ist limitiert, Übergeschwindigkeit kann zu katastrophalen Fehlfunktionen führen. cannery.stirling.3=Die verbesserte Version kann wesentlich mehr Hitze aufnehmen, ohne kaputt zu werden. +chem.hydrogen=Wasserstoff +chem.hydrogencoke=Wasserstoff aus Koks +chem.oxygen=Sauerstoff +chem.xenon=Xenongas +chem.xenonoxy=Xenongas (Gekühlt) +chem.helium3=Helium-3 +chem.ethanol=Ethanol +chem.biogas=Biogas +chem.biofuel=Biodieselumesterung +chem.reoil=Wiederaufbereitetes Öl +chem.gasoline=Benzin +chem.tarsand=Bitumen aus Teersand +chem.meatprocessing=Glyphidflesch-Verarbeitung +chem.birkeland=Salpetersäure aus Luft + chem.ARSENIC=Arsenextraktion chem.ASPHALT=Asphaltherstellung chem.BAKELITE=Bakelitherstellung @@ -281,6 +296,7 @@ chem.XENON=Lindeverfahren (Xenon) chem.XENON_OXY=Verbessertes Lindeverfahren (Xenon) chem.YELLOWCAKE=Yellowcakeproduktion +container.ammoBag=Mun-Tasche container.amsBase=AMS-Basis (Deko) container.amsEmitter=AMS-Emitter (Deko) container.amsLimiter=AMS-Stabilisator (Deko) @@ -294,6 +310,7 @@ container.barrel=Fass container.bat9000=Big-Ass Tank 9000 container.battery=Energiespeicher container.bombMulti=Mehrzweckbombe +container.casingBag=Hülsentasche container.catalyticReformer=Katalytischer Reformer container.centrifuge=Zentrifuge container.chemplant=Chemiewerk @@ -351,9 +368,12 @@ container.launchPad=Startrampe container.launchPadRusted=Startrampe container.launchTable=Große Startrampe container.leadBox=Sicherheitsbehälter +container.machineAmmoPress=Munitionspresse container.machineArcWelder=Lichtbogenschweißer container.machineArcFurnaceLarge=Lichtbogenofen container.machineBoiler=Ölwärmer +container.machineChemicalFactory=Chemiefabrik +container.machineChemicalPlant=Chemiewerk container.machineCMB=CMB-Stahl Hochofen container.machineCoal=Verbrennungsgenerator container.machineCoker=Koker-Anlage @@ -371,7 +391,9 @@ container.machineLargeTurbine=Industrielle Dampfturbine container.machineLiquefactor=Verflüssiger container.machineMixer=Industrieller Mixer container.machineOreSlopper=B.E.M. +container.machinePyroOven=Pyrolyseofen container.machineRefinery=Ölraffinerie +container.machineRotaryFurnace=Rotationshochofen container.machineSelenium=Hochleistungs-Sternmotor container.machineShredder=Brecher container.machineSILEX=SILEX @@ -401,7 +423,12 @@ container.nukeSolinium=Die Blauspülung container.nukeTsar=Tsar Bombe container.oilWell=Ölbohrturm container.orbus=Schwerer Magnetischer Lagerbehälter +container.paDetector=Detektor +container.paDipole=Dipol +container.paQuadrupole=Quad. +container.paSource=Teilchenquelle container.plasmaHeater=Plasmaerhitzer +container.pneumoTube=Rohrpost container.press=Befeuerte Presse container.puf6_tank=PuF6 Tank container.pumpjack=Pferdekopfpumpe @@ -424,7 +451,10 @@ container.reactorSmall=Atomreaktor container.reix=Rei-X Hauptrechner container.rtg=Radioisotopengenerator container.rtgFurnace=RTG-Ofen +container.rttyController=Redstone-over-Radio Controller container.rttyCounter=Redstone-over-Radio Itemzähler +container.rttyLogic=Redstone-over-Radio Logikkempfänger +container.rttyReader=Redstone-over-Radio Leser container.rttyReceiver=Redstone-over-Radio Empfänger container.rttySender=Redstone-over-Radio Sender container.safe=Panzerschrank @@ -453,6 +483,7 @@ container.uf6_tank=UF6 Tank container.vacuumDistill=Vakuumraffinerie container.wasteDrum=Abklingbecken-Trommel container.watzPowerplant=Watzkraftwerk +container.weaponsTable=Waffenmodifikationstisch container.zirnox=ZIRNOX Atomreaktor crucible.aa=Herstellung - Fortgeschrittene Legierung @@ -473,6 +504,18 @@ crucible.steelPig=Herstellung - Stahl aus Roheisen crucible.steelWrought=Herstellung - Stahl aus Schmiedeeisen crucible.tcalloy=Herstellung - Technetiumstahl +damage.inset=Resistenz wenn in Set getragen: +damage.item=Resistenz wenn getragen: +damage.category.EN=Energie +damage.category.EXPL=Explosion +damage.category.FIRE=Feuer +damage.category.PHYS=Physisch +damage.exact.drown=Ertrinken +damage.exact.fall=Fallschaden +damage.exact.LASER=Laser +damage.exact.onFire=Nachbrennen +damage.other=Andere + death.attack.acid=%1$s fiel in Säure. death.attack.acidPlayer=%1$s wurde von %2$s aufgelöst. death.attack.ams=%1$s wurde in tödlichen Teilchen gebadet, die von der Menschheit erst benannt werden müssen. @@ -530,6 +573,23 @@ death.attack.tau=%1$s wurde von %2$s mit negativ geladenen Tauonen durchsiebt. death.attack.tauBlast=%1$s lud die XVL1456 zu lange auf und wurde in Stücke gerissen. death.attack.teleporter=%1$s wurde ins Nichts teleportiert. +death.sedna.electric=%1$s wurde frittiert. +death.sedna.electric.attacker=%1$s wurde von %2$s frittiert. +death.sedna.explosive=%1$s wurde gesprengt. +death.sedna.explosive.attacker=%1$s wurde von %2$s gesprengt. +death.sedna.fire=%1$s wurde eingeäschert. +death.sedna.fire.attacker=%1$s wurde von %2$s eingeäschert. +death.sedna.laser=%1$s wurde pulverisiert. +death.sedna.laser.attacker=%1$s wurde von %2$s pulverisiert. +death.sedna.microwave=%1$s wurde gekocht. +death.sedna.microwave.attacker=%1$s wurde von %2$s gekocht. +death.sedna.subatomic=%1$s wurde atomisiert. +death.sedna.subatomic.attacker=%1$s wurde von %2$s atomisiert. +death.sedna.other=%1$s wurde getötet. +death.sedna.other.attacker=%1$s wurde von %2$s getötet. +death.sedna.physical=%1$s wurde erschossen. +death.sedna.physical.attacker=%1$s wurde von %2$s erschossen. + desc.item.rtgHeat=Hitzelevel: %s desc.gui.rtgBFurnace.desc=Benötigt mindestens 15 Hitze um zu starten$Je mehr Hitze, desto schneller der Vorgang$Hitze über dem maximalen Level hat keinen Effekt$Gold-198 kann zu Quecksilber zerfallen desc.gui.rtgBFurnace.heat=§eHitzelevel: %s @@ -619,7 +679,7 @@ hadron.error_diode_collision=Fehler 0x08 [DC] hadron.error_branching_turn=Fehler 0x09 [BT] hadron.hopper0=§eNormalmodus:$Alle Items werden beschleunigt. hadron.hopper1=§eTrichtermodus:$Ein Item bleibt immer übrig. -hadron.hopper1=§eEinzelmodus:$Erlaubt nur ein Item pro Slot. +hadron.hopper2=§eEinzelmodus:$Erlaubt nur ein Item pro Slot. hadron.idle=Leerlauf hadron.modeCircular=§eRingbeschleuniger:$Magnete bilden eine Schleife.$Schaltet mehr Rezepte frei. hadron.modeLine=§eLinearbeschleuniger:$Beschleuniger ended mit Analysekammer.$Weniger Rezepte. @@ -648,16 +708,27 @@ hazard.particleFine=Feinstaub hazard.sand=Augenreizstoffe hbm.key=NTM Hotkeys +hbm.key.ability=Werkzeug umschalten +hbm.key.abilityAlt=Werkzeug konfigurieren hbm.key.calculator=Taschenrechner +hbm.key.copyToolAlt=Kopierwerkzeug: Einfügen umschalten +hbm.key.copyToolCtrl=Kopierwerkzeug: Auf Rohre einfügen hbm.key.craneLoad=Kran laden/entladen hbm.key.craneMoveDown=Kran rückwärts hbm.key.craneMoveLeft=Kran nach links hbm.key.craneMoveRight=Kran nach rechts hbm.key.craneMoveUp=Kran vorwärts -hbm.key.toggleBack=Rucksack umschalten +hbm.key.dash=Schub +hbm.key.gunPrimary=Primärfeuer +hbm.key.gunSecondary=Sekundärfeuer +hbm.key.gunTertitary=Zielvisier +hbm.key.toggleBack=Jetpack umschalten hbm.key.toggleHUD=HUD umschalten +hbm.key.toggleMagnet=Magnet umschalten +hbm.key.trainInv=Zug-Inventar hbm.key.reload=Nachladen +hbmfluid.air=Druckluft hbmfluid.amat=Antimaterie hbmfluid.aromatics=Aromatische Kohlenwasserstoffe hbmfluid.aschrab=Antischrabidium @@ -689,8 +760,8 @@ hbmfluid.death=Osmiridiumlösung hbmfluid.deuterium=Deuterium hbmfluid.diesel=Diesel hbmfluid.diesel_crack=Crackdiesel -hbmfluid.diesel_crack_reform=Hochoktan-Diesel -hbmfluid.diesel_reform=Hochoktan-Crackdiesel +hbmfluid.diesel_crack_reform=Hochcetan-Diesel +hbmfluid.diesel_reform=Hochcetan-Crackdiesel hbmfluid.egg=Gelöstes Ei hbmfluid.estradiol=Estradiollösung hbmfluid.ethanol=Ethanol @@ -720,6 +791,8 @@ hbmfluid.iongel=Ionengel hbmfluid.kerosene=Kerosin hbmfluid.kerosene_reform=Düsentreibstoff hbmfluid.lava=Lava +hbmfluid.lead=Flüssiges Blei +hbmfluid.lead_hot=Heißes flüssiges Blei hbmfluid.lightoil=Leichtöl hbmfluid.lightoil_crack=Crack-Leichtöl hbmfluid.lightoil_ds=Entschwefeltes Leichtöl @@ -743,6 +816,9 @@ hbmfluid.oil_coker=Koker-Öl hbmfluid.oxyhydrogen=Knallgas hbmfluid.oxygen=Flüssiger Sauerstoff hbmfluid.pain=Pandemonium(III)tantalit-Lösung +hbmfluid.perfluoromethyl=Perfluormethyl +hbmfluid.perfluoromethyl_cold=Kaltes Perfluormethyl +hbmfluid.perfluoromethyl_hot=Heißes Perfluormethyl hbmfluid.peroxide=Wasserstoffperoxid hbmfluid.petroil=Gemisch hbmfluid.petroil_leaded=Bleigemisch @@ -811,6 +887,7 @@ hbmmat.bakelite=Bakelit hbmmat.beryllium=Beryllium hbmmat.bismuth=Bismut hbmmat.bismuthbronze=Bismutbronze +hbmmat.bone=Elfenbein hbmmat.borax=Borax hbmmat.boron=Bor hbmmat.bscco=BSCCO @@ -827,6 +904,7 @@ hbmmat.cobalt=Kobalt hbmmat.cobalt60=Kobalt-60 hbmmat.coltan=Coltan hbmmat.copper=Kupfer +hbmmat.cryolite=Kryolith hbmmat.desh=Desh hbmmat.diamond=Diamant hbmmat.dineutronium=Dineutronium @@ -842,6 +920,7 @@ hbmmat.gold=Gold hbmmat.gold198=Gold-198 hbmmat.graphene=Graphen hbmmat.graphite=Graphit +hbmmat.gunmetal=Maschinenmetall hbmmat.hematite=Hämatit hbmmat.iron=Eisen hbmmat.lanthanum=Lanthan @@ -870,7 +949,9 @@ hbmmat.plutonium240=Plutonium-240 hbmmat.plutonium241=Plutonium-241 hbmmat.plutoniumrg=Reaktorfähiges Plutonium hbmmat.polonium210=Polonium-210 +hbmmat.polycarbonate=Hartplastik hbmmat.polymer=Polymer +hbmmat.pvc=Polyvinylchlorid hbmmat.radium226=Radium-226 hbmmat.rareearth=Seltenerden hbmmat.redphosphorus=Roter Phosphor @@ -902,7 +983,9 @@ hbmmat.uranium233=Uran-233 hbmmat.uranium235=Uran-235 hbmmat.uranium238=Uran-238 hbmmat.watzmud=Giftiger Schlamm +hbmmat.weaponsteel=Waffenstahl hbmmat.whitephosphorus=Weißer Phosphor +hbmmat.wood=Holz hbmmat.workersalloy=Desh hbmmat.wroughtiron=Schmiedeeisen hbmmat.zirconium=Zirkonium @@ -959,105 +1042,6 @@ item.alloy_pickaxe.name=Legierungsspitzhacke item.alloy_plate.name=Legierungsbrustpanzer item.alloy_shovel.name=Legierungsschaufel item.alloy_sword.name=Legierungsschwert -item.ammo_12gauge.name=Kaliber 12 Schrot -item.ammo_12gauge_du.name=Kaliber 12 Schrot (Uranbeschichtung) -item.ammo_12gauge_incendiary.name=Kaliber 12 Schrot (Brand) -item.ammo_12gauge_marauder.name=Kaliber 12 Taktische Anti-Marauder Schrotpatrone -item.ammo_12gauge_percussion.name=Kaliber 12 Sprengkapsel -item.ammo_12gauge_shrapnel.name=Kaliber 12 Schrot (Schrapnell) -item.ammo_12gauge_sleek.name=Kaliber 12 Schrot (IF-F&E) -item.ammo_20gauge.name=Kaliber 20 Schrot -item.ammo_20gauge_caustic.name=Kaliber 20 Schrot (Ätzend) -item.ammo_20gauge_explosive.name=Kaliber 20 Schrot (Explosiv) -item.ammo_20gauge_flechette.name=Kaliber 20 Flechet -item.ammo_20gauge_incendiary.name=Kaliber 20 Schrot (Brand) -item.ammo_20gauge_shock.name=Kaliber 20 Schrot (Schock) -item.ammo_20gauge_shrapnel.name=Kaliber 20 Schrot (Schrapnell) -item.ammo_20gauge_sleek.name=Kaliber 20 Schrot (IF-F&E) -item.ammo_20gauge_slug.name=Kaliber 20 Brenneke -item.ammo_20gauge_wither.name=Kaliber 20 Schrot (Wither) -item.ammo_22lr.name=.22 lfB Patrone -item.ammo_22lr_ap.name=.22 lfB Patrone (Panzerbrechend) -item.ammo_22lr_chlorophyte.name=.22 lfB Patrone (Grünalgen) -item.ammo_357_desh.name=.357 Magnum Deshkugel -item.ammo_44.name=.44 Magnum Patrone -item.ammo_44_ap.name=.44 Magnum Patrone (Panzerbrechend) -item.ammo_44_bj.name=.44 Magnum Patrone (Boot) -item.ammo_44_chlorophyte.name=.44 Magnum Patrone (Grünalgen) -item.ammo_44_du.name=.44 Magnum Patrone (DU) -item.ammo_44_phosphorus.name=.44 Magnum Patrone (WP) -item.ammo_44_pip.name=.44 Magnum Patrone (Güterwagon) -item.ammo_44_rocket.name=.44 Magnum Rakete -item.ammo_44_silver.name=.44 Magnum Patrone (Gebäude) -item.ammo_44_star.name=.44 Magnum Patrone (Sternenmetall) -item.ammo_45.name=.45 ACP Patrone -item.ammo_45_ap.name=.45 ACP Patrone (AP) -item.ammo_45_du.name=.45 ACP Patrone (DU) -item.ammo_4gauge.name=Kaliber 20 Schrot -item.ammo_4gauge_balefire.name=23mm Balefire-Granate -item.ammo_4gauge_canister.name=23mm Rakete (Katusche) -item.ammo_4gauge_claw.name=Kaliber 4 Shrot (Krallen) -item.ammo_4gauge_explosive.name=23mm Granate -item.ammo_4gauge_flechette.name=Kaliber 4 Flechet -item.ammo_4gauge_flechette_phosphorus.name=Kaliber 4 Flechet (WP) -item.ammo_4gauge_kampf.name=23mm Rakete -item.ammo_4gauge_semtex.name=23mm Bergbauladung -item.ammo_4gauge_sleek.name=Kaliber 4 Schrot (IF-F&E) -item.ammo_4gauge_slug.name=Kaliber 4 Brenneke -item.ammo_4gauge_titan.name=Kaliber 4 Quak-Geschoss -item.ammo_4gauge_vampire.name=Kaliber 4 Schrot (Holzpflöcke) -item.ammo_4gauge_void.name=Kaliber 4 Schrot (Leere) -item.ammo_50ae.name=.50 AE Patrone -item.ammo_50ae_ap.name=.50 AE Patrone (Panzerbrechend) -item.ammo_50ae_chlorophyte.name=.50 AE Patrone (Grünalgen) -item.ammo_50ae_du.name=.50 AE Patrone (DU) -item.ammo_50ae_star.name=.50 AE Patrone (Sternenmetall) -item.ammo_50bmg.name=.50 BMG Patrone -item.ammo_50bmg_ap.name=.50 BMG Patrone (Panzerbrechend) -item.ammo_50bmg_chlorophyte.name=.50 BMG Patrone (Grünalgen) -item.ammo_50bmg_du.name=.50 BMG Patrone (DU) -item.ammo_50bmg_explosive.name=.50 BMG Patrone (Explosiv) -item.ammo_50bmg_flechette.name=.50 BMG Flechetpatrone -item.ammo_50bmg_flechette_am.name=.50 BMG Flechetpatrone (Americium) -item.ammo_50bmg_flechette_po.name=.50 BMG Flechetpatrone (Polonium) -item.ammo_50bmg_incendiary.name=.50 BMG Patrone (Brand) -item.ammo_50bmg_phosphorus.name=.50 BMG Patrone (WP) -item.ammo_50bmg_sleek.name=.50 BMG Patrone (IF-F&E) -item.ammo_50bmg_star.name=.50 BMG Patrone (Sternenmetall) -item.ammo_556.name=5.56mm Patrone -item.ammo_556_ap.name=5.56mm Patrone (Panzerbrechend) -item.ammo_556_chlorophyte.name=5.56mm Patrone (Grünalgen) -item.ammo_556_du.name=5.56mm Patrone (DU) -item.ammo_556_flechette.name=5.56mm Flechetpatrone -item.ammo_556_flechette_chlorophyte.name=5.56mm Flechetpatrone (Grünalgen) -item.ammo_556_flechette_du.name=5.56mm Flechetpatrone (Uran-Penetrator) -item.ammo_556_flechette_incendiary.name=5.56mm Flechetpatrone (Brand) -item.ammo_556_flechette_phosphorus.name=5.56mm Flechetpatrone (Phosphorspitze) -item.ammo_556_flechette_sleek.name=5.56mm Flechetpatrone (IF-F&E) -item.ammo_556_k.name=5.56mm K-Patrone -item.ammo_556_phosphorus.name=5.56mm Patrone (WP) -item.ammo_556_sleek.name=5.56mm Patrone (IF-F&E) -item.ammo_556_star.name=5.56mm Patrone (Sternenmetall) -item.ammo_556_tracer.name=5.56mm Patrone (Leuchtspur) -item.ammo_5mm.name=5mm Patrone -item.ammo_5mm_chlorophyte.name=5mm Patrone (Grünalgen) -item.ammo_5mm_du.name=5mm Patrone (DU) -item.ammo_5mm_explosive.name=5mm Patrone (Explosiv) -item.ammo_5mm_star.name=5mm Patrone (Sternenmetall) -item.ammo_762.name=7.62mm Patrone -item.ammo_762_ap.name=7.62mm Patrone (AP) -item.ammo_762_du.name=7.62mm Patrone (DU) -item.ammo_762_k.name=7.62mm K-Patrone -item.ammo_762_phosphorus.name=7.62mm Patrone (WP) -item.ammo_762_tracer.name=7.62mm Patrone (Leuchtspur) -item.ammo_75bolt.name=30er .75 Bolzenmagazin -item.ammo_75bolt_incendiary.name=30er .75 Bolzenmagazin (Brand) -item.ammo_75bolt_he.name=30er .75 Bolzenmagazin (Explosiv) -item.ammo_9mm.name=9mm Patrone -item.ammo_9mm_ap.name=9mm Patrone (Panzerbrechend) -item.ammo_9mm_chlorophyte.name=9mm Patrone (Grünalgen) -item.ammo_9mm_du.name=9mm Patrone (DU) -item.ammo_9mm_rocket.name=9mm Rakete item.ammo_arty.name=16" Artilleriegranate item.ammo_arty_cargo.name=16" Artilleriegranate (Expresslieferung) item.ammo_arty_chlorine.name=16" Artilleriegranate (Chlorgas) @@ -1070,38 +1054,12 @@ item.ammo_arty_nuke.name=16" Atomare Artilleriegranate item.ammo_arty_phosgene.name=16" Artilleriegranate (Phosgen) item.ammo_arty_phosphorus.name=16" Phosphor-Artilleriegranate item.ammo_arty_phosphorus_multi.name=16" Mehrfach-Phosphor-Artilleriegranate -item.ammo_cell.name=Energiezelle -item.ammo_coilgun.name=Wolframkugel -item.ammo_coilgun_du.name=Ferrourankugel -item.ammo_coilgun_rubber.name=Gummikugel -item.ammo_container.name=Munitionsbehälter -item.ammo_dart.name=Plastikdart (Withernd) -item.ammo_dart_nerf.name=NERF-Dart -item.ammo_dart_nuclear.name=Plastikdart (Zeitbombe) +item.ammo_bag.name=Munitionstasche +item.ammo_bag_infinite.name=Unendliche Munitionstasche item.ammo_dgk.name=Goalkeeper-Zwilling CIWS 200er Gürtel item.ammo_fireext.name=Feuerlöscher-Wassertank item.ammo_fireext_foam.name=Feuerlöscher-Schaumtank item.ammo_fireext_sand.name=Feuerlöscher-Sandtank -item.ammo_folly.name=Silbernes Geschoss (Original) -item.ammo_folly_du.name=Silbernes Geschoss (DU, Nicht-Explosiv) -item.ammo_folly_nuclear.name=Silbernes Geschoss (Atomar) -item.ammo_fuel.name=Dieselkatusche -item.ammo_fuel_gas.name=Gaskatusche -item.ammo_fuel_napalm.name=Napalmkatusche -item.ammo_fuel_phosphorus.name=WP-Katusche -item.ammo_fuel_vaporizer.name=Vaporisierer-Katusche -item.ammo_grenade.name=40mm Granate -item.ammo_grenade_concussion.name=40mm Granate (Erschütterung) -item.ammo_grenade_finned.name=40mm Granate (Geflügelt) -item.ammo_grenade_he.name=40mm Granate (HE) -item.ammo_grenade_incendiary.name=40mm Granate (Brand) -item.ammo_grenade_kampf.name=40mm Rakete -item.ammo_grenade_leadburster.name=40mm Leadburster -item.ammo_grenade_nuclear.name=40mm Granate (Привет) -item.ammo_grenade_phosphorus.name=40mm Granate (WP) -item.ammo_grenade_sleek.name=40mm Granate (IF-F&E) -item.ammo_grenade_toxic.name=40mm Granate (Chemisch) -item.ammo_grenade_tracer.name=40mm Übungsgranate item.ammo_himars_standard.name=227mm gelenkte Artillerierakete item.ammo_himars_standard_he.name=227mm Artillerielenkrakete (HE) item.ammo_himars_standard_lava.name=227mm Artillerielenkrakete (Lava) @@ -1110,44 +1068,115 @@ item.ammo_himars_standard_tb.name=227mm Artillerielenkrakete (Thermobarisch) item.ammo_himars_standard_wp.name=227mm Artillerielenkrakete (WP) item.ammo_himars_single.name=610mm Artillerielenkrakete item.ammo_himars_single_tb.name=610mm Artillerielenkrakete (Thermobarisch) -item.ammo_luna.name=Lunatic Sniper Sabot -item.ammo_luna_explosive.name=Lunatic Sniper Explosivgeschoss -item.ammo_luna_incendiary.name=Lunatic Sniper Brandgeschoss -item.ammo_mirv.name=Mini-MIRV -item.ammo_mirv_high.name=Mini-MIRV (Stark) -item.ammo_mirv_low.name=Mini-MIRV (Schwach) -item.ammo_mirv_safe.name=Mini-MIRV (Sicher) -item.ammo_mirv_special.name=Mini-MILV -item.ammo_nuke.name=Miniatombombe -item.ammo_nuke_barrel.name=Mini-Atommüllfass -item.ammo_nuke_high.name=Miniatombombe (Stark) -item.ammo_nuke_low.name=Miniatombombe (Schwach) -item.ammo_nuke_pumpkin.name=Kürbisbombe -item.ammo_nuke_safe.name=Miniatombombe (Sicher) -item.ammo_nuke_tots.name=Miniatombombe (Kleine Knirpse) -item.ammo_rocket.name=84mm Rakete -item.ammo_rocket_canister.name=84mm Rakete (Katusche) -item.ammo_rocket_digamma.name=null -item.ammo_rocket_emp.name=84mm Rakete (Impuls) -item.ammo_rocket_glare.name=84mm Rakete (Roter Schein) -item.ammo_rocket_he.name=84mm Rakete (HE) -item.ammo_rocket_incendiary.name=84mm Rakete (Brand) -item.ammo_rocket_nuclear.name=84mm Rakete (Привет) -item.ammo_rocket_phosphorus.name=84mm Rakete (WP) -item.ammo_rocket_rpc.name=84mm Raketengetriebene Kettensäge -item.ammo_rocket_shrapnel.name=84mm Rakete (Schrapnell) -item.ammo_rocket_sleek.name=84mm Rakete (IF-R&D) -item.ammo_rocket_toxic.name=84mm Rakete (Chemisch) item.ammo_shell.name=240mm Geschoss item.ammo_shell_apfsds_du.name=240mm APFSDS-DU item.ammo_shell_apfsds_t.name=240mm APFSDS-T item.ammo_shell_explosive.name=240mm HE-Geschoss -item.ammo_stinger_rocket.name=Stinger-Rakete -item.ammo_stinger_rocket_he.name=Stinger-Rakete (HE) -item.ammo_stinger_rocket_incendiary.name=Stinger-Rakete (Brand) -item.ammo_stinger_rocket_nuclear.name=Stinger-Rakete (Привет) -item.ammo_stinger_rocket_bones.name=Stinger-Rakete (Knochensuchend) -item.ammo_shell_w9.name=240mm W9 Atomares Geschoss +item.ammo_shell_w9.name=240mm W9-Atomgeschoss +item.ammo_secret.bmg50_equestrian.name=.50 BMG Zerstörer +item.ammo_secret.bmg50_black.name=.50 BMG Bypass +item.ammo_secret.folly_nuke.name=Silberne Kugel, Atomar +item.ammo_secret.folly_sm.name=Silberne Kugel +item.ammo_secret.g12_equestrian.name=Kaliber 12 Gleisnägel +item.ammo_secret.m44_equestrian.name=.44 Magnum Schädelsprenger +item.ammo_secret.p35_800.name=.35-800 V9 +item.ammo_secret.p35_800_bl.name=.35-800 V9 (Schwarzer Blitz) +item.ammo_standard.b75.name=.75 Bolzen +item.ammo_standard.b75_exp.name=.75 Bolzen (Explosiv) +item.ammo_standard.b75_inc.name=.75 Bolzen (Brand) +item.ammo_standard.bmg50_ap.name=.50 BMG Patrone (Panzerbrechend) +item.ammo_standard.bmg50_du.name=.50 BMG Patrone (Urangeschoss) +item.ammo_standard.bmg50_he.name=.50 BMG Patrone (Explosiv) +item.ammo_standard.bmg50_fmj.name=.50 BMG Patrone (Vollmantelgeschoss) +item.ammo_standard.bmg50_jhp.name=.50 BMG Patrone (Hohlspitz) +item.ammo_standard.bmg50_sm.name=.50 BMG Patrone (Sternenmetall) +item.ammo_standard.bmg50_sp.name=.50 BMG Patrone (Teilmantelgeschoss) +item.ammo_standard.capacitor.name=Kondensator (Standard) +item.ammo_standard.capacitor_ir.name=Capacitor (niedrige Wellenlänge) +item.ammo_standard.capacitor_overcharge.name=Kondensator (Überladung) +item.ammo_standard.coil_ferrouranium.name=Ferrourankugel +item.ammo_standard.coil_tungsten.name=Wolframkugel +item.ammo_standard.ct_hook.name=Enterhaken +item.ammo_standard.ct_mortar.name=Sprengladung +item.ammo_standard.ct_mortar_charge.name=Geballte Ladung +item.ammo_standard.flame_balefire.name=Flammenwerferbrennstoff, Balefire +item.ammo_standard.flame_diesel.name=Flammenwerferbrennstoff, Diesel +item.ammo_standard.flame_gas.name=Flammenwerferbrennstoff, Gas +item.ammo_standard.flame_napalm.name=Flammenwerferbrennstoff, Napalm +item.ammo_standard.g10.name=Kaliber 10 Schrot +item.ammo_standard.g10_du.name=Kaliber 10 Uranschrot +item.ammo_standard.g10_explosive.name=Kaliber 10 Explosivschrot +item.ammo_standard.g10_shrapnel.name=Kaliber 10 Schrapnell-Schrot +item.ammo_standard.g10_slug.name=Kaliber 10 Laufgeschoss +item.ammo_standard.g12.name=Kaliber 12 Schrot +item.ammo_standard.g12_anthrax.name=Kaliber 12 Anthrax +item.ammo_standard.g12_bp.name=Kaliber 12 Schwarzpulver +item.ammo_standard.g12_bp_magnum.name=Kaliber 12 Schwarzpulver Magnum +item.ammo_standard.g12_bp_slug.name=Kaliber 12 Schwarzpulver Laufgeschoss +item.ammo_standard.g12_explosive.name=Kaliber 12 Explosivgeschoss +item.ammo_standard.g12_flechette.name=Kaliber 12 Flechett +item.ammo_standard.g12_magnum.name=Kaliber 12 Magnum +item.ammo_standard.g12_phosphorus.name=Kaliber 12 Phosphor +item.ammo_standard.g12_slug.name=Kaliber 12 Laufgeschoss +item.ammo_standard.g26_flare.name=26mm Signalpatrone +item.ammo_standard.g26_flare_supply.name=26mm Signalpatrone (Luftpost: Nachschub) +item.ammo_standard.g26_flare_weapon.name=26mm Signalpatrone (Luftpost: Waffen) +item.ammo_standard.g40_demo.name=40mm Abrissgranate +item.ammo_standard.g40_he.name=40mm Sprenggranate +item.ammo_standard.g40_heat.name=40mm Hohlladungsgranate +item.ammo_standard.g40_inc.name=40mm Brandgranate +item.ammo_standard.g40_phosphorus.name=40mm Weiße Phosphorgranate +item.ammo_standard.m357_ap.name=.357 Magnumkugel (Panzerbrechend) +item.ammo_standard.m357_bp.name=.357 Magnumkugel (Schwarzpulver) +item.ammo_standard.m357_express.name=.357 Magnumkugel (VMG Express) +item.ammo_standard.m357_fmj.name=.357 Magnumkugel (Vollmantelgeschoss) +item.ammo_standard.m357_jhp.name=.357 Magnumkugel (Hohlspitz) +item.ammo_standard.m357_sp.name=.357 Magnumkugel (Teilmantelgeschoss) +item.ammo_standard.m44_ap.name=.44 Magnumkugel (Panzerbrechend) +item.ammo_standard.m44_bp.name=.44 Magnumkugel (Schwarzpulver) +item.ammo_standard.m44_express.name=.44 Magnumkugel (VMG Express) +item.ammo_standard.m44_fmj.name=.44 Magnumkugel (Vollmantelgeschoss) +item.ammo_standard.m44_jhp.name=.44 Magnumkugel (Hohlspitz) +item.ammo_standard.m44_sp.name=.44 Magnumkugel (Teilmantelgeschoss) +item.ammo_standard.nuke_balefire.name=Miniatombombe, Balefire-Ei +item.ammo_standard.nuke_demo.name=Miniatombombe, Abriss +item.ammo_standard.nuke_high.name=Miniatombombe, hoher Ertrag +item.ammo_standard.nuke_hive.name=Raketenschwarm +item.ammo_standard.nuke_standard.name=Miniatombombe +item.ammo_standard.nuke_tots.name=Miniatombombe, kleine Knirpse +item.ammo_standard.p22_ap.name=.22 lfB Patrone (Panzerbrechend) +item.ammo_standard.p22_fmj.name=.22 lfB Patrone (Vollmantelgeschoss) +item.ammo_standard.p22_jhp.name=.22 lfB Patrone (Hohlspitz) +item.ammo_standard.p22_sp.name=.22 lfB Patrone (Teilmantelgeschoss) +item.ammo_standard.p45_ap.name=.45 Patrone (Panzerbrechend) +item.ammo_standard.p45_du.name=.45 Patrone (Urangeschoss) +item.ammo_standard.p45_fmj.name=.45 Patrone (Vollmantelgeschoss) +item.ammo_standard.p45_jhp.name=.45 Patrone (Hohlspitz) +item.ammo_standard.p45_sp.name=.45 Patrone (Teilmantelgeschoss) +item.ammo_standard.p9_ap.name=9mm Patrone (Panzerbrechend) +item.ammo_standard.p9_fmj.name=9mm Patrone (Vollmantelgeschoss) +item.ammo_standard.p9_jhp.name=9mm Patrone (Hohlspitz) +item.ammo_standard.p9_sp.name=.9mm Patrone (Teilmantelgeschoss) +item.ammo_standard.r556_ap.name=5,56mm Patrone (Panzerbrechend) +item.ammo_standard.r556_fmj.name=5,56mm Patrone (Vollmantelgeschoss) +item.ammo_standard.r556_jhp.name=5,56mm Patrone (Hohlspitz) +item.ammo_standard.r556_sp.name=5,56mm Patrone (Teilmantelgeschoss) +item.ammo_standard.r762_ap.name=7,62mm Patrone (Panzerbrechend) +item.ammo_standard.r762_du.name=7,62mm Patrone (Urangeschoss) +item.ammo_standard.r762_fmj.name=7,62mm Patrone (Vollmantelgeschoss) +item.ammo_standard.r762_he.name=7,62mm Patrone (Explosiv) +item.ammo_standard.r762_jhp.name=7,62mm Patrone (Hohlspitz) +item.ammo_standard.r762_sp.name=7,62mm Patrone (Teilmantelgeschoss) +item.ammo_standard.rocket_demo.name=Abrissrakete +item.ammo_standard.rocket_he.name=Explosivrakete +item.ammo_standard.rocket_heat.name=Hohlladungsrakete +item.ammo_standard.rocket_inc.name=Brandrakete +item.ammo_standard.rocket_phosphorus.name=Weiße Phosphorrakete +item.ammo_standard.stone.name=Kugel und Pulver +item.ammo_standard.stone_ap.name=Feuerstein und Pulver +item.ammo_standard.stone_iron.name=Eisenkugel und Pulver +item.ammo_standard.stone_shot.name=Schrot und Pulver +item.ammo_standard.tau_uranium.name=Erschöpfte Uran-235-Kiste item.ams_catalyst_aluminium.name=Aluminium-Reaktionskatalysator item.ams_catalyst_beryllium.name=Beryllium-Reaktionskatalysator item.ams_catalyst_blank.name=Blanker Reaktionskatalysator @@ -1389,6 +1418,7 @@ item.blades_titanium.name=Titansägeblatt item.blowtorch.name=Lötlampe item.board_copper.name=Kupfertafel item.boat_rubber.name=Schlauchboot +item.bobmazon.name=Bobmazon item.bobmazon_hidden.name=Versteckter Katalog item.bobmazon_machines.name=Bobmazon: Blöcke und Maschinen item.bobmazon_materials.name=Bobmazon: Ressourcen @@ -1493,8 +1523,6 @@ item.canned_tomato.name=Konservendose (Tomatensuppe) item.canned_tube.name=Tube (Astronautenessen) item.canned_tuna.name=Konservendose (Tunfisch) item.canned_yogurt.name=Konservendose (Jogurt) -item.canteen_13.name=Vault 13 Kantine -item.canteen_fab.name=Fabulöser Wodka item.canteen_vodka.name=Stylischer Flachmann item.cap_aluminium.name=Aluminiumdeckel item.cap_fritz.name=Fritz-Kola Kronkorken @@ -1521,11 +1549,21 @@ item.card_qos.name=Pik-Königin item.cart.crate.name=Stahlkistenlore item.cart.destroyer.name=Schuttzerstörende Lore item.cart.empty.name=Lore +item.cart.powder.name=Pulverwagen +item.cart.semtex.name=Semtex Wagen item.casing_357.name=.357 Magnum-Hülsen item.casing_44.name=.44 Magnum-Hülsen item.casing_50.name=Großkaliberhülsen item.casing_9.name=Kleinkaliberhülsen +item.casing_bag.name=Hülsentasche item.casing_buckshot.name=Schrothülsen +item.casing.small.name=Kleine Patronenhülse +item.casing.small_steel.name=Kleine Waffenstahlhülse +item.casing.large.name=Große Patronenhülse +item.casing.large_steel.name=Große Waffenstahlhülse +item.casing.shotshell.name=Schwarzpulver-Schrothülse +item.casing.buckshot.name=Plastik-Schrothülse +item.casing.buckshot_advanced.name=Fortgeschrittene Schrothülse item.catalyst_clay.name=Tonerde-Katalysator item.catalytic_converter.name=Katalytischer Konverter item.cbt_device.name=CBT-Gerät @@ -1575,6 +1613,9 @@ item.chopper_head.name=Jagdschrauber Cockpit item.chopper_tail.name=Jagdschrauber Heck item.chopper_torso.name=Jagdschrauber Rumpf item.chopper_wing.name=Jagdschrauber Seitentragfläche +item.chunk_ore.cryolite.name=Kryolithbrocken +item.chunk_ore.malachite.name=Malachitbrocken +item.chunk_ore.moonstone.name=Mondstein item.chunk_ore.rare.name=Seltenerdenerz-Brocken item.cigarette.name=FFI-Markenzigarette item.cinnebar.name=Zinnober @@ -1650,6 +1691,7 @@ item.cladding_lead.name=Bleibeschläge item.cladding_obsidian.name=Obsidianhaut item.cladding_paint.name=Bleifarbe item.cladding_rubber.name=Gummibeschlag +item.clay_tablet.name=Tontafel item.clip_bf.name=BF-Geschosse im Doppelpack item.clip_bolt_action.name=12x74 Brenneke-Patronenbox item.clip_cryolator.name=Großer Kryogentank @@ -1729,6 +1771,10 @@ item.combine_scrap.name=CMB Schrott item.component_emitter.name=Emitterkomponente item.component_limiter.name=Stabilisatorkomponente item.containment_box.name=Sicherheitsbehälter +item.conveyor_wand.regular.name=Förderband +item.conveyor_wand.express.name=Expressförderband +item.conveyor_wand.double.name=Zweispuriges Förderband +item.conveyor_wand.triple.name=Dreispuriges Förderband item.cordite.name=Kordit item.cotton_candy.name=Radioaktive Zuckerwatte item.crackpipe.name=Gesundheitspfeife @@ -1835,6 +1881,7 @@ item.dnt_boots.name=dienautronium stiefel item.dnt_legs.name=dineuterium beine item.dnt_helmet.name=dinotroniumu helme item.dnt_plate.name=dineutrom brustplatte +item.dnt_sword.name=dinuatureum schwert item.door_bunker.name=Bunkertür item.door_metal.name=Metalltür item.door_office.name=Bürotür @@ -1893,7 +1940,6 @@ item.euphemium_kit.name=Euphemium Kit item.euphemium_legs.name=Euphemiumbeinschutz item.euphemium_plate.name=Euphemiumbrustpanzer item.euphemium_stopper.name=Stopper -item.fabsols_vodka.name=Fabsols Wodka item.factory_core_advanced.name=Fortgeschrittener Fabrikenergiecluster item.factory_core_titanium.name=Einfacher Fabrikenergiecluster item.fallout.name=Fallouthäufchen @@ -1943,13 +1989,13 @@ item.folly_shell.name=Silberne Kanonenhülse item.fooditem.name=lebensmittel item.fragment_actinium.name=Actiniumfragment item.fragment_boron.name=Borfragment -item.fragment_cerium.name=Cerium Ffragment +item.fragment_cerium.name=Cerfragment item.fragment_cobalt.name=Cobaltfragment item.fragment_coltan.name=Coltan item.fragment_lanthanium.name=Lanthanfragment item.fragment_meteorite.name=Meteoritenfragment item.fragment_neodymium.name=Neodymfragment -item.fragment_niobium.name=Niobium Ffragment +item.fragment_niobium.name=Niobfragment item.fuel_additive.antiknock.name=Tetraethyblei-Antiklopfmittel item.fuel_additive.deicer.name=Enteisungsmittel item.fuel_tank_large.name=Großer Treibstofftank @@ -2040,127 +2086,80 @@ item.grenade_smart.name=Smart-Granate item.grenade_strong.name=Verbesserte Handgranate item.grenade_tau.name=Taugranate item.grenade_zomg.name=Negativenergie-Paarvernichtungsgranate -item.gun_ar15.name=Josh -item.gun_avenger.name=CZ57 Avenger-Minigun +item.gun_aberrator.name=Aberrator +item.gun_aberrator_eott.name=Eyes Of The Tempest +item.gun_am180.name=.22er Maschinenpistole +item.gun_am180_silenced.name=Schallgedämpfte .22er Maschinenpistole +item.gun_amat.name=Panzerbüchse +item.gun_amat_penance.name=Penance +item.gun_amat_subtlety.name=Subtlety +item.gun_autoshotgun.name=Auto-Flinte +item.gun_autoshotgun_sexy.name=Sexy +item.gun_autoshotgun_shredder.name=Shredder item.gun_b92.name=§9B92 Energiepistole§r item.gun_b92_ammo.name=§9B92-Energiezelle§r -item.gun_b93.name=§cB93 Energiemod§r -item.gun_bf.name=BEL -item.gun_bf_ammo.name=Balefire-Geschoss -item.gun_bio_revolver.name=Atlas -item.gun_bolt_action.name=Dream-Repetiergewehr (Original) -item.gun_bolt_action_ammo.name=12x74 Brenneke (LEGACY) -item.gun_bolt_action_green.name=Dream-Repetiergewehr (Grün) -item.gun_bolt_action_saturnite.name=Saturnitbüchse item.gun_bolter.name=Boltergewehr -item.gun_bolter_digamma.name=Digammagewehr -item.gun_calamity.name=Knochensäge -item.gun_calamity_ammo.name=.50 BMG Patrone (LEGACY) -item.gun_calamity_dual.name=Sattelkanone +item.gun_carbine.name=Karabiner +item.gun_charge_thrower.name=Ladungswerfer item.gun_chemthrower.name=Chemowerfer item.gun_coilgun.name=Gaußpistole item.gun_cryocannon.name=Kyro-Kanone -item.gun_cryolator.name=Der Cryolator item.gun_cryolator_ammo.name=Kryozelle -item.gun_dampfmaschine.name=Garantiert keine Scherzwaffe -item.gun_darter.name=Dartgewehr -item.gun_deagle.name=Großes Eisen -item.gun_defabricator.name=Defabrikator -item.gun_defabricator_ammo.name=Defabrikator-Energiezelle item.gun_detonator.name=Laserzünder -item.gun_emp.name=EMP-Waffe -item.gun_emp_ammo.name=Energiezelle -item.gun_euthanasia.name=Euthanasia -item.gun_euthanasia_ammo.name=Spritze -item.gun_fatman.name=M42 Nukleares Katapult "Fat Man" -item.gun_fatman_ammo.name=Miniatombombe (LEGACY) +item.gun_double_barrel.name=Ein alter Klassiker +item.gun_double_barrel_sacred_dragon.name=Sacred Dragon +item.gun_fatman.name=Fat Man item.gun_fireext.name=Feuerlöscher -item.gun_flamer.name=Herr Topaz -item.gun_flechette.name=Flechet-Gewehr -item.gun_folly.name=Prototyp Digamma "Irrsinn" -item.gun_hk69.name=Granatenpistole -item.gun_hp.name=HPP Lazerjet -item.gun_hp_ammo.name=Tintenpatrone -item.gun_immolator.name=Der Immolator -item.gun_immolator_ammo.name=Immolatorkraftstoff -item.gun_jack.name=Jackhammer -item.gun_jack_ammo.name=Vierfache Schrotpatrone -item.gun_karl.name=Karl +item.gun_flamer.name=Flammenwerfer +item.gun_flamer_daybreaker.name=Daybreaker +item.gun_flamer_topaz.name=Mister Topaz +item.gun_flaregun.name=Signalpistole +item.gun_folly.name=Folly +item.gun_g3.name=Sturmgewehr +item.gun_g3_a3.name=G3A3 +item.gun_g3_infiltrator.name=Infiltrierer +item.gun_g3_zebra.name=Zebra-Gewehr +item.gun_greasegun.name=Grease Gun +item.gun_greasegun_m3.name=M3 +item.gun_hangman.name=Hangman +item.gun_heavy_revolver.name=Schwerer Revolver +item.gun_heavy_revolver_lilmac.name=Little Macintosh +item.gun_heavy_revolver_protege.name=Protège +item.gun_heavy_revolver_scoped.name=.44er Magnum mit Zielvorrichtung +item.gun_henry.name=Repetiergewehr +item.gun_henry_lincoln.name=Lincolns Repetiergewehr item.gun_kit_1.name=Waffenöl item.gun_kit_2.name=Waffenreparatursatz -item.gun_ks23.name=Samuel die dicke Flinte -item.gun_lacunae.name=CZ33 Abaddon -item.gun_lacunae_ammo.name=5mm Patrone (LEGACY) -item.gun_lever_action.name=Mare's Leg (Original) -item.gun_lever_action_ammo.name=12x74 Schrotmunition (LEGACY) -item.gun_lever_action_dark.name=Mare's Leg (Dunkel) -item.gun_lever_action_sonata.name=Verkehrter Mare's Leg -item.gun_lever_action_sonata_2.name=§cSonatas Mikrophon§r -item.gun_lunatic_marksman.name=Lunatic-Scharfschützengewehr +item.gun_lag.name=Komisch lange Pistole +item.gun_laser_pistol.name=Laserpistole +item.gun_laser_pistol_morning_glory.name=Morning Glory +item.gun_laser_pistol_pew_pew.name=Piu Piu +item.gun_lasrifle.name=Lasergewehr +item.gun_liberator.name=Liberator +item.gun_light_revolver.name=Kipplaufrevolver +item.gun_light_revolver_atlas.name=Atlas +item.gun_light_revolver_dani.name=Tag und Nacht item.gun_m2.name=üsMG -item.gun_minigun.name=CZ53 Persönliche Minigun -item.gun_mirv.name=M42 Nukleares Katapult "Experimentelles MIRV" -item.gun_mirv_ammo.name=Achtfaches MIRV (LEGACY) -item.gun_moist_nugget.name=Mosin-Nagant -item.gun_mp.name=Maschinengewehr des Pazifisten -item.gun_mp40.name=Maschinenpistole -item.gun_mp40_ammo.name=SMG-Patrone (LEGACY) -item.gun_pm_ammo.name=Kleine treibmittellose MG-Patrone -item.gun_mymy.name=Nietes -item.gun_osipr.name=Standartausrüstung für Sicherheitskräfte -item.gun_osipr_ammo.name=Dunkler Energiepuls-Plug -item.gun_osipr_ammo2.name=Combine Ball +item.gun_maresleg.name=Repetierflinte +item.gun_maresleg_akimbo.name=Repetierflinten +item.gun_maresleg_broken.name=Broken +item.gun_maresleg_short.name=Mare's Leg +item.gun_mas36.name=Südstern +item.gun_minigun.name=Minigun +item.gun_minigun_dual.name=Doppelete Miniguns +item.gun_minigun_lacunae.name=Lacunae +item.gun_missile_launcher.name=Raketenwerfer +item.gun_pepperbox.name=Bündelrevolver item.gun_panzerschreck.name=Panzerschreck -item.gun_proto.name=M42 Nukleares Katapult "Proto MIRV" -item.gun_quadro.name=Quattro Formaggi -item.gun_remington.name=バイデン ブラスト [BIDEN BLAST] -item.gun_revolver.name=Verbesserter Revolver -item.gun_revolver_ammo.name=Bleipatrone -item.gun_revolver_blackjack.name=Blackjack Five-Shooter -item.gun_revolver_cursed.name=Verfluchte Pistole -item.gun_revolver_cursed_ammo.name=Stahlpatrone -item.gun_revolver_gold.name=Goldener Revolver -item.gun_revolver_gold_ammo.name=Goldene Kugel -item.gun_revolver_inverted.name=Umgedrehter Revolver -item.gun_revolver_iron.name=Einfacher Revolver -item.gun_revolver_iron_ammo.name=Patrone -item.gun_revolver_lead.name=Nuka-Revolver -item.gun_revolver_lead_ammo.name=Mit Glas umhüllte Atompatrone -item.gun_revolver_nightmare.name=Nightmare-Revolver (Original) -item.gun_revolver_nightmare2.name=Nightmare-Revolver (Dunkel) -item.gun_revolver_nightmare2_ammo.name=Laserschrot -item.gun_revolver_nightmare_ammo.name=Nightmare-Kugel -item.gun_revolver_nopip.name=Schwerer Revolver -item.gun_revolver_nopip_ammo.name=.44 Magnumpatrone (LEGACY) -item.gun_revolver_pip.name=Lil' Pipsqueak -item.gun_revolver_pip_ammo.name=Verdorbene Patrone (LEGACY) -item.gun_revolver_red.name=Roter Schlüssel-Revolver -item.gun_revolver_saturnite.name=Saturnitknarre -item.gun_revolver_schrabidium.name=Schrabidiumrevolver -item.gun_revolver_schrabidium_ammo.name=Schrabidiumpatrone -item.gun_revolver_silver.name=Geliehene Kanone -item.gun_rpg.name=Carl Gustav Reaktive Panzerbüchse -item.gun_rpg_ammo.name=Rakete -item.gun_sauer.name=Stan Sauers Schrotflinte -item.gun_skystinger.name=The One Sky Stinger -item.gun_spark.name=Die Zündkerze -item.gun_spark_ammo.name=Elektromagnetische Katusche +item.gun_quadro.name=Vierfachraketenwerfer +item.gun_spas12.name=SPAS-12 +item.gun_stg77.name=StG 77 item.gun_stinger.name=FIM-92 Stinger -item.gun_stinger_ammo.name=Stinger-Rakete (LEGACY) -item.gun_super_shotgun.name=Super Shotgun -item.gun_supershotgun.name=Super Shotgun -item.gun_thompson.name=Thompson Maschinenpistole -item.gun_uac_pistol.name=UAC .45 Pistole -item.gun_uboinik.name=Ubojnik -item.gun_uboinik_ammo.name=12x70 Schrotmunition (LEGACY) -item.gun_uzi.name=IMI Uzi -item.gun_uzi_ammo.name=.22 lfB Patrone (LEGACY) -item.gun_uzi_saturnite.name=Saturnit-Uzi -item.gun_uzi_saturnite_silencer.name=Saturnit-Uzi mit Schalldämpfer -item.gun_uzi_silencer.name=IMI Uzi mit Schalldämpfer -item.gun_xvl1456.name=XVL1456 Tau-Kanone Prototyp -item.gun_xvl1456_ammo.name=Kiste mit erschöpftem Uran-235 -item.gun_zomg.name=ZOMG Kanone +item.gun_tau.name=Taukanone +item.gun_tesla_cannon.name=Teslakanone +item.gun_uzi.name=Uzi +item.gun_uzi_richter.name=Richter +item.gun_uzi_akimbo.name=Uzis item.hand_drill.name=Handbohrer item.hand_drill_desh.name=Desh-Handbohrer item.hazmat_boots.name=Strahlenschutzstiefel @@ -2187,7 +2186,7 @@ item.hazmat_plate_red.name=Verbesserte Strahlenschutzbrustplatte item.hazmat_red_kit.name=Lvl 2 Strahlenschutz-Kit item.heart_booster.name=Herzbooster item.heart_container.name=Herzcontainer -item.heart_fab.name=Fab Herz +item.heart_fab.name=Herz der Dunkelheit item.heart_piece.name=Herzteil item.heavy_component.name=Schwere %skomponente item.hev_battery.name=Anzugs-Batterie @@ -2216,7 +2215,7 @@ item.inf_diesel.name=Unendlicher Dieseltank item.inf_sulfur.name=Unendlicher Schwefeltank item.inf_tritium.name=Unendlicher Tritiumtank item.inf_water.name=Unendlicher Wassertank -item.inf_water_mk2.name=Schwerer unendlicher Wassertank +item.inf_water_mk2.name=Großer unendlicher Wassertank item.ingot_actinium.name=Semistabiler Actiniumbarren item.ingot_advanced_alloy.name=Fortgeschrittene Legierung item.ingot_aluminium.name=Aluminiumbarren @@ -2258,11 +2257,21 @@ item.ingot_firebrick.name=Schamottstein item.ingot_gh336.name=Ghiorsium-336-Barren item.ingot_gh336.desc=Seaborgiums Kollege. item.ingot_graphite.name=Graphitbarren +item.ingot_gunmetal.name=Rotgussbarren item.ingot_hes.name=Stark angereicherter Schrabidiumkernbrennstoffbarren item.ingot_lanthanium.name=Semistabiler Lanthanbarren item.ingot_lead.name=Bleibarren item.ingot_les.name=Schwach angereicherter Schrabidiumkernbrennstoffbarren item.ingot_magnetized_tungsten.name=Magnetisierter Wolframbarren +item.ingot_metal.name=Metallbarren +item.ingot_metal.bar.name=Metallstange +item.ingot_metal.beacon.name=Funkleitstrahl +item.ingot_metal.casing.name=Metallgehäuse +item.ingot_metal.clockwork.name=Uhrwerk +item.ingot_metal.counter.name=Zählwerk +item.ingot_metal.detector.name=Detektor +item.ingot_metal.ingot.name=Metallbarren +item.ingot_metal.key.name=Metallschlüssel item.ingot_meteorite.name=Meteoritenbarren item.ingot_meteorite_forged.name=Geschmiedeter Meteoritenbarren item.ingot_mox_fuel.name=MOX-Kernbrennstoffbarren @@ -2285,6 +2294,8 @@ item.ingot_pu239.name=Plutonium-239-Barren item.ingot_pu240.name=Plutonium-240-Barren item.ingot_pu241.name=Plutonium-241-Barren item.ingot_pvc.name=PVC-Tafel +item.ingot_ra226.name=Radium-226-Barren +item.ingot_raw.name=%s-Barren item.ingot_red_copper.name=Minecraft-Kupfer item.ingot_reiium.name=Reiiumbarren item.ingot_rubber.name=Gummitafel @@ -2315,6 +2326,7 @@ item.ingot_unobtainium.name=Unobtainiumbarren item.ingot_uranium.name=Uranbarren item.ingot_uranium_fuel.name=Urankernbrennstoffbarren item.ingot_verticium.name=Verticiumbarren +item.ingot_weaponsteel.name=Waffenstahlbarren item.ingot_weidanium.name=Weidaniumbarren item.ingot_zirconium.name=Zirkoniumwürfel item.injector_5htp.name=5-HTP-Autoinjektor @@ -2331,8 +2343,11 @@ item.insert_polonium.name=Poloniumeinlage item.insert_steel.name=Schwere Stahleinlage item.insert_xsapi.name=XSAPI-Einlage item.insert_yharonite.name=Yharoniteinlage +item.item_secret.aberrator.name=Aberrator-Teil item.item_secret.canister.name=Komposit SB-26 item.item_secret.controller.name=Proprietäre Steuereinheit +item.item_secret.folly.name=Folly-Teil +item.item_secret.selenium_steel.name=Selen-Stahl item.iv_blood.name=Blutbeutel item.iv_empty.name=Infusionsbeutel item.iv_xp.name=Erfahrungsbeutel @@ -2749,6 +2764,10 @@ item.ore_seared.name=Geätztes %serz item.ore_separated.name=Separiertes %serz item.overfuse.name=Singularitätsschraubenzieher item.oxy_mask.name=Sauerstoffmaske +item.pa_coil.bscco.name=Große BSCCO-Spule +item.pa_coil.chlorophyte.name=Große Grünalgenspule +item.pa_coil.gold.name=Große Goldspule +item.pa_coil.niobium.name=Große NbTi-Spule item.paa_boots.name=PaA-"olle Latschen" item.paa_legs.name=PaA-Beinverstärkungsschienen item.paa_plate.name=PaA-Brustschutzplatte @@ -2768,16 +2787,24 @@ item.page_of_.page6.name=Seite 6 item.page_of_.page7.name=Seite 7 item.page_of_.page8.name=Seite 8 item.pancake.name=Pfannkuchen aus Altmetall, Nägeln und Edelsteinpulver +item.part_barrel_heavy.name=Schwerer %slauf +item.part_barrel_light.name=Leichter %slauf item.part_beryllium.name=Berylliumstaubkiste item.part_carbon.name=Kohlenstoffstaubkiste item.part_copper.name=Kupferstaubkiste +item.part_generic.glass_polarized.name=Polarisierte Linse item.part_generic.hde.name=Schwerlastkomponente item.part_generic.lde.name=Leichtbauteil item.part_generic.piston_electric.name=Electrischer Kolben item.part_generic.piston_hydraulic.name=Hydraulischer Kolben item.part_generic.piston_pneumatic.name=Pneumatischer Kolben +item.part_grip.name=%sgriff item.part_lithium.name=Lithiumstaubkiste +item.part_mechanism.name=%smechanismus item.part_plutonium.name=Plutoniumstaubkiste +item.part_receiver_heavy.name=Schwerer %sverschluss +item.part_receiver_light.name=Leichter %sverschluss +item.part_stock.name=%sschaft item.particle_aelectron.name=Positronenkapsel item.particle_amat.name=Antimaterienkapsel item.particle_aproton.name=Antiprotonenkapsel @@ -2865,8 +2892,9 @@ item.plate_dineutronium.name=Dineutronium-Verbundplatte item.plate_dura_steel.name=Schnellarbeitsstahlplatte item.plate_euphemium.name=Euphemium-Verbundplatte item.plate_gold.name=Goldplatte +item.plate_gunmetal.name=Rotgussplatte item.plate_iron.name=Eisenplatte -item.plate_kevlar.name=Kevlar-Keramik-Verbund +item.plate_kevlar.name=Kevlarplatte item.plate_lead.name=Bleiplatte item.plate_mixed.name=Gemischte Platte item.plate_paa.name=PaA-Legierungsplatte @@ -2875,6 +2903,7 @@ item.plate_saturnite.name=Saturnitplatte item.plate_schrabidium.name=Schrabidiumplatte item.plate_steel.name=Stahlplatte item.plate_titanium.name=Titanplatte +item.plate_weaponsteel.name=Waffenstahlplatte item.plate_welded.name=Geschweißte %splatte item.polaroid.name=Das Polaroid item.pollution_detector.name=Verschmutzungsdetektor @@ -3012,6 +3041,7 @@ item.radx.name=Rad-X item.rag.name=Stoff item.rag_damp.name=Nasser Stoff item.rag_piss.name=Pisslappen +item.rangefinder.name=Entfernungsmessgerät item.rbmk_fuel_balefire.name=Balefire-RBMK-Kernbrennstoff item.rbmk_fuel_balefire_gold.name=Flammgold-RBMK-Kernbrennstoff item.rbmk_fuel_drx.name=§cDigamma-RBMK-Kernbrennstoff @@ -3075,8 +3105,6 @@ item.rbmk_pellet_ueu.name=NU-Kernbrennstoffpellet item.rbmk_pellet_zfb_am_mix.name=Reaktorfähiges Americium ZFB-Pellet item.rbmk_pellet_zfb_bismuth.name=Bismut ZFB-Pellet item.rbmk_pellet_zfb_pu241.name=Pu-241 ZFB-Pellet -item.rbmk_lid.name=RBMK-Abdeckplatte -item.rbmk_lid_glass.name=RBMK-Glasabdeckung item.rbmk_tool.name=RBMK-Konsolen-Verlinkungsgerät item.rbmk_tool.desc=Schleichen und Rechtsclick auf RBMK um Position zu speichern,$Schleichen und Rechtsclick auf Konsole um zu verlinken! item.rbmk_tool.linked=Position gespeichert! @@ -3409,15 +3437,10 @@ item.t45_kit.name=T45-Powerrüstungskit item.t45_legs.name=T45-Powerrüstungsbeinschutz item.t45_plate.name=T45-Powerrüstungsbrustpanzer item.tank_steel.name=Stahltank -item.tank_waste_0.name=Schlammcontainer -item.tank_waste_1.name=Schlammcontainer -item.tank_waste_2.name=Schlammcontainer -item.tank_waste_3.name=Schlammcontainer -item.tank_waste_4.name=Schlammcontainer -item.tank_waste_5.name=Schlammcontainer -item.tank_waste_6.name=Schlammcontainer -item.tank_waste_7.name=Schlammcontainer -item.tank_waste_8.name=Schlammcontainer +item.taurun_boots.name=Taurun-Stiefel +item.taurun_helmet.name=Taurun-Helm +item.taurun_legs.name=Taurun-Hose +item.taurun_plate.name=Taurun-Jacke item.telepad.name=Teleplatte item.tem_flakes.name=Tem Flakes item.template_folder.name=Produktionsvorlagen-Zeichenmappe @@ -3565,14 +3588,66 @@ item.watz_pellet_depleted.nqd.name=Angereichertes Naquadah-Watzpellet (Erschöpf item.watz_pellet_depleted.nqr.name=Naquadria-Watzpellet (Erschöpft) item.watz_pellet_depleted.hen.name=HEN-Watzpellet (Erschöpft) item.watz_pellet_depleted.schrabidium.name=Schrabidium-Watzpellet (Erschöpft) +item.wd40.name=VT-40 item.weapon_bat.name=Richards Standard item.weapon_bat_nail.name=Das Klischee item.weapon_golf_club.name=Schläger des russischen Mafiosos +item.weapon_mod_caliber.bmg50.name=.50 BMG Konversionskit +item.weapon_mod_caliber.m357.name=.357 Magnum Konversionskit +item.weapon_mod_caliber.m44.name=.44 Magnum Konversionskit +item.weapon_mod_caliber.p22.name=.22 lfB Konversionskit +item.weapon_mod_caliber.p45.name=.45 Konversionskit +item.weapon_mod_caliber.p9.name=9mm Konversionskit +item.weapon_mod_caliber.r556.name=5.56mm Konversionskit +item.weapon_mod_caliber.r762.name=7.62mm Konversionskit +item.weapon_mod_generic.bigmt_damage.name=Optimierter Saturnit-Verschluss +item.weapon_mod_generic.bigmt_dura.name=Langlebige Saturnit-Teile +item.weapon_mod_generic.bronze_damage.name=Optimierter Bronzeverschluss +item.weapon_mod_generic.bronze_dura.name=Langlebige Bronzeteile +item.weapon_mod_generic.desh_damage.name=Optimierter Deshverschluss +item.weapon_mod_generic.desh_dura.name=Langlebige Deshteile +item.weapon_mod_generic.dura_damage.name=Optimierter HSS-Verschluss +item.weapon_mod_generic.dura_dura.name=Langlebige HSS-Teile +item.weapon_mod_generic.ferro_damage.name=Optimierter Ferrouranverschluss +item.weapon_mod_generic.ferro_dura.name=Langlebige Ferrouranteile +item.weapon_mod_generic.iron_damage.name=Optimierter Eisenverschluss +item.weapon_mod_generic.iron_dura.name=Langlebige Eisenteile +item.weapon_mod_generic.steel_damage.name=Optimierter Stahlverschluss +item.weapon_mod_generic.steel_dura.name=Langlebige Stahlteile +item.weapon_mod_generic.tcalloy_damage.name=Optimierter Legierungsverschluss +item.weapon_mod_generic.tcalloy_dura.name=Langlebige Legierungsteile +item.weapon_mod_generic.wsteel_damage.name=Optimierter Waffenstahl-Verschluss +item.weapon_mod_generic.wsteel_dura.name=Langlebige Waffenstahl-Teile +item.weapon_mod_special.bayonet.name=Bayonet +item.weapon_mod_special.choke.name=Choke +item.weapon_mod_special.furniture_black.name=Polymergriff (Schwarz) +item.weapon_mod_special.furniture_green.name=Polymergriff (Grün) +item.weapon_mod_special.greasegun.name=Grease Gun Modernisierungskit +item.weapon_mod_special.las_auto.name=Lasergewehr - Autommatischer Verschluss +item.weapon_mod_special.las_capacitor.name=Lasergewehr - Erweiterter Kondensator +item.weapon_mod_special.las_shotgun.name=Lasergewehr - Strahlteiler +item.weapon_mod_special.saw.name=Bügelsäge +item.weapon_mod_special.scope.name=Ziehlvorrichtung +item.weapon_mod_special.silencer.name=Schalldämpfer +item.weapon_mod_special.skin_saturnite.name=Saturnit-Skin +item.weapon_mod_special.slowdown.name=Rädergetriebe +item.weapon_mod_special.speedloader.name=Schnelllader +item.weapon_mod_special.speedup.name=Elektrischer Servomotor +item.weapon_mod_special.stack_mag.name=Zweistapel-Magazin +item.weapon_mod_test.damage.name=DAMAGE UPGRADE +item.weapon_mod_test.firerate.name=FIRE RATE UPGRADE +item.weapon_mod_test.multi.name=MULTI SHOT UPGRADE +item.weapon_mod_test.override_2_5.name=DAMAGE OVERRIDE (2.5) +item.weapon_mod_test.override_5.name=DAMAGE OVERRIDE (5) +item.weapon_mod_test.override_7_5.name=DAMAGE OVERRIDE (7.5) +item.weapon_mod_test.override_10.name=DAMAGE OVERRIDE (10) +item.weapon_mod_test.override_12_5.name=DAMAGE OVERRIDE (12.5) +item.weapon_mod_test.override_15.name=DAMAGE OVERRIDE (15) +item.weapon_mod_test.override_20.name=DAMAGE OVERRIDE (20) item.weapon_pipe_lead.name=Die Handüberbrückung item.weapon_pipe_rusty.name=Der Einstellungskorrigierer item.weapon_saw.name=Ärztlich autorisierter Mord item.weaponized_starblaster_cell.name=§cManipulierte Sternenblaster-Energiezelle§r -item.wd40.name=VT-40 item.wild_p.name=Wild Pegasus Trockener Whisky item.wings_limp.name=Schlaffe Flügel item.wings_murk.name=Trübe Flügel @@ -3643,29 +3718,42 @@ rbmk.rod.xenon=Xenonvergiftung: %s rbmk.rod.coreTemp=Kerntemperatur: %s rbmk.rod.skinTemp=Außentemperatur: %s / %s +shape.barrelHeavy=Schwerer Lauf +shape.barrelLight=Leichter Lauf shape.billet=Billet shape.blade=Turbinenblatt shape.blades=Sägeblatt shape.block=Block +shape.c9=Kleinkaliberhülse +shape.c50=Großkaliberhülse shape.dust=Haufen shape.dusttiny=Winziger Haufen -shape.hull_big=Große Hülle +shape.grip=Griff +shape.gunMechanism=Mechanism +shape.hull_big=Große Mechanismus shape.hull_small=Kleine Hülle shape.ingot=Barren shape.nugget=Nugget shape.quantum=Quantum shape.quart=Viertel Block +shape.receiverHeavy=Schwerer Verschluss +shape.receiverLight=Leichter Verschluss shape.ntmpipe=Rohr shape.plate=Platte shape.plateTriple=Gussplatte shape.shell=Mantel shape.stamp=Stempel +shape.stock=Schaft shape.wireFine=Drähte shape.wireDense=Dichter Draht shape.wiresDense=Dichte Drähte soundCategory.ntmMachines=NTM Maschinen +stat.ntmBullets=Schüsse gefeuert +stat.ntmLegendary=Legendäre Gegenstände hergestellt +stat.ntmMines=Auf Minen getreten + tile.absorber.name=Strahlungs-Absorber tile.absorber_green.name=Fortgeschrittener Strahlungs-Absorber tile.absorber_pink.name=Elite Strahlungs-Absorber @@ -3839,7 +3927,6 @@ tile.brick_concrete_cracked.name=Rissige Betonziegel tile.brick_concrete_cracked_stairs.name=Rissige Betonziegeltreppe tile.brick_concrete_marked.name=Beschriebene Betonziegel tile.brick_concrete_mossy.name=Bemooste Betonziegel -tile.brick_concrete_mossy.name=Bemooste Betonziegeltreppe tile.brick_ducrete.name=Ducreteziegel tile.brick_ducrete_stairs.name=Ducreteziegeltreppe tile.brick_dungeon.name=Berzelianitziegel @@ -3926,7 +4013,7 @@ tile.concrete_colored.orange.name=Oranger Beton tile.concrete_colored.pink.name=Rosa Beton tile.concrete_colored.purple.name=Lila Beton tile.concrete_colored.red.name=Roter Beton -tile.concrete_colored.silver.name=Hellgrauer Beton +tile.concrete_colored.silver.name=Hellgrauer Beton tile.concrete_colored.white.name=Weißer Beton tile.concrete_colored.yellow.name=Gelber Beton tile.concrete_colored_ext.bronze.name=Builder's Choice Concrete - Bronzeplatten @@ -3974,7 +4061,7 @@ tile.crane_partitioner.name=Erzauflöser-Partitionierer tile.crane_partitioner.desc=Speichert Input für den Erzazflöser$und gibt sie in der benötigten Itemanzahl aus.$Ungültige Items werden auch gespeichert, und müssen seitlich entfernt werden. tile.crane_router.name=Förderband-Sortierer tile.crane_router.desc=Sortiert Items basierend auf eingestellte Kriterien$Seiten können als Blacklist, Whitelist oder Wildcard eingestellt werden$Widlcard-Seiten werden nur verwendet, wenn kein anderer Filter zutrifft -tile.crate_splitter.name=Förderband-Teiler +tile.crane_splitter.name=Förderband-Teiler tile.crane_splitter.desc=Teilt Items und Stacks gleichmäßig auf zwei Förderbänder$Zählt selbst als Förderband, kann also direkt in Einsetzer und Sortierer führen tile.crane_unboxer.name=Förderband-Entpacker tile.crane_unboxer.desc=Öffnet boxen$Rechstclick mit Schraubenzieher um Ausgang zu definieren$Shiftclick mit Schraubenzieher um Eingang zu definieren$Zweimal clicken, um gegenüberliegende Seite zu definieren @@ -3989,6 +4076,7 @@ tile.crate_lead.name=Gefahrenstoffkiste tile.crate_metal.name=Maschinenkiste tile.crate_red.name=Rote Kiste tile.crate_steel.name=Stahlkiste +tile.crate_supply.name=Vorratskiste tile.crate_template.name=Vorlagenkiste tile.crate_tungsten.name=Wolframkiste tile.crate_weapon.name=Waffenkiste @@ -4080,7 +4168,9 @@ tile.factory_titanium_furnace.name=Einfache Fabrikzugriffsluke tile.factory_titanium_hull.name=Fabrikblock tile.fallout.name=Fallout tile.fan.name=Ventilator -tile.fan.desc=Kann mit Redstone aktiviert werden$Bewegt Entities bis zu 10 Blöcke$Rechtsclick mit Schraubenzieher um den Ventilator umzudrehen +tile.fan.desc=Kann mit Redstone aktiviert werden$Bewegt Entities bis zu 10 Blöcke$Rechtsclick mit Schraubenzieher um den Ventilator umzudrehen$Rechtsclick mit Handbohrmaschine um den Modus zu wechseln +tile.fan.falloffOn=Die Ventilatorleistung nimmt mit Entfernung ab +tile.fan.falloffOff=Konstante Lüfterleistung tile.fence_metal.name=Maschendrahtzaun tile.fence_metal_post.name=Maschendrahtzaun-Pfahl tile.field_disturber.name=Hochenergiefeld-Jammer @@ -4097,11 +4187,13 @@ tile.floodlight.name=Elektrischer Scheinwerfer tile.fluid_duct.name=Universelles Flüssigkeitsrohr (Veraltet) tile.fluid_duct_box.name=Universelles Flüssigkeitsrohr (Boxrohr) tile.fluid_duct_exhaust.name=Abgasrohr +tile.fluid_duct_paintable_block_exhaust.name=Geschirmtes Abgasrohr (Färbbar) tile.fluid_duct_gauge.name=Flussmessrohr tile.fluid_duct_gauge.desc=Rohr welches anzeight, wie viel Flüssigkeit$sich pro Tick im Netzwerk bewegt.$Geteilte Netzwerke die über Fässer oder Tanks$verbunden sind, werden als ein einzelnes gezählt. tile.fluid_duct_neo.name=Universelles Flüssigkeitsrohr tile.fluid_duct_paintable.name=Geschirmtes universelles Flüssigkeitsrohr (Färbbar) tile.fluid_duct_solid.name=Geschirmtes universelles Flüssigkeitsrohr (Veraltet) +tile.fluid_pump.name=Flussseuerungspumpe tile.fluid_switch.name=Redstone-Ventil tile.fluid_valve.name=Ventil tile.foam_layer.name=Schaumdecke @@ -4154,6 +4246,7 @@ tile.geiger.name=Geigerzähler tile.glass_ash.name=Ascheglas tile.glass_boron.name=Borglas tile.glass_lead.name=Bleiglas +tile.glass_polarized.name=Polarisiertes Glas tile.glass_polonium.name=Poloniumglas tile.glass_quartz.name=Quarzglas tile.glass_trinitite.name=Trinity-Glas @@ -4167,7 +4260,7 @@ tile.gravel_diamond.name=Diamantkies tile.gravel_obsidian.name=Gebrochener Obsidian tile.hadron_access.name=Teilchenbeschleuniger-Zugriffskonsole tile.hadron_analysis.name=Teilchenbeschleuniger-Analysekammernwand -tile.hadron_analysis.name=Teilchenbeschleuniger-Analysekammernfenster +tile.hadron_analysis_glass.name=Teilchenbeschleuniger-Analysekammernfenster tile.hadron_coil_alloy.name=Dichte Supraleiterspule tile.hadron_coil_chlorophyte.name=Dichte Grünalgenspule tile.hadron_coil_gold.name=Dichte Goldspule @@ -4177,8 +4270,6 @@ tile.hadron_coil_neodymium.name=Dichte Neodymspule tile.hadron_coil_schrabidate.name=Dichte Schrabidatspule tile.hadron_coil_schrabidium.name=Dichte Schrabidiumspule tile.hadron_coil_starmetal.name=Dichte Sternenmetallspule -tile.hadron_cooler.name=Teilchenbeschleuniger-Kühlungseinheit -tile.hadron_cooler_mk2.nameTeilchenbeschleuniger-Kühlungseinheit - Das Palindrome-Spezial tile.hadron_core.name=Teilchenbeschleuniger-Kernkomponente tile.hadron_diode.name=Schottky-Partikeldiode tile.hadron_plating.name=Teilchenbeschleuniger-Außenwand @@ -4232,6 +4323,7 @@ tile.ladder_steel.name=Stahlleiter tile.ladder_sturdy.name=Feste Holzleiter tile.ladder_titanium.name=Titanleiter tile.ladder_tungsten.name=Wolframleiter +tile.trapdoor_steel.name=Stahl-Falltür tile.lamp_demon.name=Dämonenkernlampe tile.lamp_tritium_blue_off.name=Blaue Tritiumlampe tile.lamp_tritium_blue_on.name=Blaue Tritiumlampe @@ -4246,6 +4338,7 @@ tile.launch_table.name=Große Startrampe tile.leaves_layer.name=Totes Laub tile.lox_barrel.name=LOX-Fass tile.machine_amgen.name=Umgebungsstrahlungs-Generator +tile.machine_ammo_press.name=Munitionspresse tile.machine_arc_furnace.name=Electrischer Lichtbogenofen tile.machine_arc_furnace_off.name=Lichtbogenofen tile.machine_arc_furnace_on.name=Lichtbogenofen @@ -4258,6 +4351,7 @@ tile.machine_assemfac.name=Fertigungsfabrik tile.machine_autocrafter.name=Automatische Werkbank tile.machine_autosaw.name=Automatische Kreissäge tile.machine_autosaw.desc=Schneidet Pflanzen nieder, pflanzt Bäume nach$Akzeptiert:$-Holzöl$-Ethanol$-Fischöl$-Schweröl +tile.machine_autosaw.suspended=Angehalten tile.machine_bat9000.name=Big-Ass Tank 9000 tile.machine_battery.name=Energiespeicherblock tile.machine_battery_potato.name=Kartoffelbatterieblock @@ -4265,13 +4359,14 @@ tile.machine_boiler.name=Boiler tile.machine_boiler.desc=Großer Boiler zum Verdampfen von Wasser oder$Erhitzen von Öl. Benötigt externe Hitzequelle.$Wärmestransferrate: ΔT*0.01 TU/t tile.machine_boiler_electric_off.name=Elektrischer Ölwärmer tile.machine_boiler_electric_on.name=Elektrischer Ölwärmer -tile.machine_boiler_off.name=Ölwärmer -tile.machine_boiler_on.name=Ölwärmer +tile.machine_boiler_off.name=Alter Boiler tile.machine_catalytic_cracker.name=Katalytischer Cracking-Turm tile.machine_catalytic_reformer.name=Katalytischer Reformer tile.machine_centrifuge.name=Zentrifuge -tile.machine_chemfac.name=Chemiefabrik -tile.machine_chemplant.name=Chemiewerk +tile.machine_chemfac.name=Chemiefabrik (Legacy) +tile.machine_chemical_factory.name=Chemiefabrik +tile.machine_chemical_plant.name=Chemiewerk +tile.machine_chemplant.name=Chemiewerk (Legacy) tile.machine_chungus.name=Leviathan-Dampfturbine tile.machine_chungus.desc=Effizienz: 85%% tile.machine_coal_off.name=Verbrennungsgenerator @@ -4281,6 +4376,7 @@ tile.machine_coker.desc=Verkokt Öl, erzeugt fluides Nebenprodukt.$Benötigt ext tile.machine_combine_factory.name=CMB-Stahl Hochofen tile.machine_combustion_engine.name=Industrieller Verbrennungsmotor tile.machine_compressor.name=Kompressor +tile.machine_compressor_compact.name=Kompakt-Kompressor tile.machine_condenser.name=Dampfkondensierer tile.machine_condenser_powered.name=Hochleistungs-Dampfkondensierer tile.machine_controller.name=Reaktorfernsteuerung @@ -4326,6 +4422,7 @@ tile.machine_icf_press.name=ICF-Brennstoffpellet-Fabrikant tile.machine_industrial_boiler.name=Industrieller Boiler tile.machine_industrial_boiler.desc=Großer Boiler zum Verdampfen von Wasser oder$Erhitzen von Öl. Benötigt externe Hitzequelle.$Wärmestransferrate: ΔT*0.01 TU/t$Überdrucksicher tile.machine_industrial_generator.name=Industrieller Generator +tile.machine_intake.name=Lufteinlass tile.machine_keyforge.name=Schlossertisch tile.machine_large_turbine.name=Industrielle Dampfturbine tile.machine_large_turbine.desc=Effizienz: 100%% @@ -4343,6 +4440,7 @@ tile.machine_powerrtg.name=PT-Isotopenzelle tile.machine_press.name=Befeuerte Presse tile.machine_puf6_tank.name=Plutoniumhexafluorid-Tank tile.machine_pumpjack.name=Pferdekopfpumpe +tile.machine_pyrooven.name=Pyrolyseofen tile.machine_radar.name=Radar tile.machine_radar_large.name=Großes Radar tile.machine_radgen.name=Strahlenbetriebener Generator @@ -4351,6 +4449,7 @@ tile.machine_reactor_on.name=Brutreaktor tile.machine_reactor_small.name=Atomreaktor tile.machine_refinery.name=Ölraffinerie tile.machine_reix_mainframe.name=Rei-X Hauptrechner (WIP) +tile.machine_rotary_furnace.name=Rotationshochofen tile.machine_rtg_blue.name=Konvektionsgenerator tile.machine_rtg_cyan.name=Schrabidium-Zerfallsenergie-Generator (WIP) tile.machine_rtg_furnace_off.name=RTG-Ofen @@ -4399,6 +4498,7 @@ tile.machine_turbofan.name=Turbofan tile.machine_uf6_tank.name=Uranhexafluorid-Tank tile.machine_vacuum_distill.name=Vakuumraffinerie tile.machine_waste_drum.name=Abklingbecken-Trommel +tile.machine_weapon_table.name=Waffenmodifikationstisch tile.machine_wood_burner.name=Brennholzgenerator tile.machine_wood_burner.desc=Erzeugt 100HE/t aus Items$Sammelt Asche$Kann 40mB/s Flüssigkeiten mit 50%% Effizienz verbrennen tile.machine_well.name=Ölbohrturm @@ -4439,7 +4539,7 @@ tile.oil_duct_solid.name=Verstärktes Ölrohr tile.oil_pipe.name=Rohölrohr tile.oil_spill.name=Ölteppich tile.ore_alexandrite.name=Alexandriterz -tile.ore_aluminium.name=Aluminiumerz +tile.ore_aluminium.name=Aluminiumhaltiges Erz tile.ore_asbestos.name=Asbesterz tile.ore_australium.name=Australisches Erz tile.ore_basalt_asbestos.name=Asbestreicher Basalt @@ -4525,6 +4625,12 @@ tile.ore_uranium_scorched.name=Verschmortes Uranerz tile.ore_verticium.name=Dollargrünes Mineral tile.ore_volcano.name=Thermale Fissur tile.ore_weidanium.name=Weidit +tile.pa_beamline.name=Strahlrohr +tile.pa_detector.name=Teilchendetektor +tile.pa_dipole.name=Dipol-Magnete +tile.pa_quadrupole.name=Quadrupol-Magnete +tile.pa_rfc.name=Hohlraumresonator +tile.pa_source.name=Teilchenquelle tile.pedestal.name=Podest tile.pink_barrel.name=Kerosinfass tile.pink_log.name=Pinkes Holz @@ -4548,6 +4654,8 @@ tile.plant_tall.weed.name=Hanf tile.plasma.name=Plasma tile.plasma_heater.name=Plasmaerhitzer tile.plushie.name=%s Plüschfigur +tile.pneumatic_tube.name=Rohrpost +tile.pneumatic_tube.desc=Sendted Items mit Druckluft.$Rechtsklick mit Schraubenzieher aktiviert den Eingang.$Shift-Rechtskick mit Schrabuenzieher aktiviert den Ausgang.$Eingänge können konfiguriert und mit Druckluft verbunden werden.$Sendet bis zu einem Stack, vier Mal pro Sekunde. tile.pole_satellite_receiver.name=Satellitenschüssel tile.pole_top.name=Antennenspitze tile.press_preheater.name=Presse-Vorheizer @@ -4580,13 +4688,18 @@ tile.pwr_port.name=PWR Zugangsport tile.pwr_port.desc=Erlaubt IO für Items und Flüssigkeiten$Platzierung: Hülle tile.pwr_reflector.name=PWR Neutronenreflektor tile.pwr_reflector.desc=Reflektier Neutronen auf Brennstäbe zurück$Platzierung: Hülle, für höhere Reaktivität$Gültiger Block für Hülle -tile.volcanic_lava_block.name=Vulkanische Lava tile.radar_screen.name=Radarbildschirm tile.radio_telex.name=Telex-Maschine +tile.radio_torch_controller.name=Redstone-over-Radio Controller +tile.radio_torch_controller.desc=Empfängt Steuersignale und gibt$sie an die verbundene Maschine weiter tile.radio_torch_counter.name=Redstone-over-Radio Itemzähler tile.radio_torch_counter.desc=Kann auf ebenen Flächen oder Komparator-kompatiblen Blöcken platziert werden$Signal basiert auf Anzahl passender Items tile.radio_torch_receiver.name=Redstone-over-Radio Empfänger tile.radio_torch_receiver.desc=Kann auf ebenen Flächen oder Komparator-kompatiblen Blöcken platziert werden +tile.radio_torch_logic.name=Redstone-over-Radio Logikempfänger +tile.radio_torch_logic.desc=Kann auf ebenen Flächen oder Komparator-kompatiblen Blöcken platziert werden$Kann mittels Logikoperatoren Sinale zu Redstone-Signale konvertieren +tile.radio_torch_reader.name=Redstone-over-Radio Leser +tile.radio_torch_reader.desc=Liest Werte von der verbundenen Maschine$aus und sendet sie als Signal tile.radio_torch_sender.name=Redstone-over-Radio Sender tile.radio_torch_sender.desc=Kann auf ebenen Flächen oder Komparator-kompatiblen Blöcken platziert werden$Erkennt Redstone-Signale oder Komparator-Output tile.radiobox.name=Rosenberg Ungeziefervernichter @@ -4670,6 +4783,7 @@ tile.sand_lead.name=Bleisand tile.sand_polonium.name=Poloniumsand tile.sand_quartz.name=Quarzsand tile.sand_uranium.name=Uransand +tile.sandbags.name=Sandsäcke tile.sat_dock.name=Frachtlandeplattform tile.sat_foeq.name=PEAF - Mk.I FOEQ Dunasonde mit experimenter nuklearer Schubdüse (Dekoblock) tile.sat_laser.name=Orbitaler Todesstrahl (Dekoblock) @@ -4692,6 +4806,7 @@ tile.sellafield_slaked.name=Gelöschtes Sellafit tile.semtex.name=Semtex tile.silo_hatch.name=Siloluke tile.silo_hatch_large.name=Große Siloluke +tile.skeleton_holder.name=Oh, ich glaub' der ist tot tile.sliding_blast_door.name=Sprengtür tile.solar_mirror.name=Heliostatspiegel tile.soyuz_capsule.name=Landekapsel @@ -4718,7 +4833,8 @@ tile.stone_cracked.name=Rissiger Stein tile.stone_depth.name=Tiefenfels tile.stone_depth_nether.name=Nether-Tiefenfels tile.stone_gneiss.name=Graphitschiefer -tile.stone_keyhole.name=Seltsamer Stein +tile.stone_keyhole.name=Seltsamer Ziegel (Roter Raum) +tile.stone_keyhole_meta.name=Strange Red Room Brick tile.stone_porous.name=Poröser Stein tile.stone_resource.asbestos.name=Chrysotil tile.stone_resource.bauxite.name=Bauxit @@ -4779,6 +4895,9 @@ tile.vent_chlorine.name=Chlorgas-Auslass tile.vent_chlorine_seal.name=Chlorgassiegel tile.vent_cloud.name=Wolken-Auslass tile.vent_pink_cloud.name=Pinker Wolken-Auslass +tile.vine_phosphor.large.name=Phosphorranken +tile.vinyl_tile.large.name=Große Vinylfliesen +tile.vinyl_tile.small.name=Kleine Vinylfliesen tile.vitrified_barrel.name=Fass voll vitrifiziertem Atommüll tile.volcano_core.name=Vulkankern tile.volcano_rad_core.name=Rad-Vulkankern @@ -4800,6 +4919,10 @@ tile.watz_end.name=Watz-Stabilitätselement tile.watz_end_bolted.name=Watz-Stabilitätselement (Genietet) tile.watz_hatch.name=Watzreaktorzugriffsluke tile.watz_pump.name=Watz-Druckpumpe +tile.wood_barrier.name=Holzbarriere +tile.wood_structure.ceiling.name=Holzdecke +tile.wood_structure.roof.name=Holzdach +tile.wood_structure.scaffold.name=Holzgerüst tile.yellow_barrel.name=Radioaktives Fass tile.zirnox_destroyed.name=Zerstörter ZINOX @@ -4841,7 +4964,7 @@ trait.rbmx.coreTemp=Kernentropie: %s trait.rbmx.depletion=Verkrustungsgraad: %s trait.rbmx.diffusion=Fluss: %s trait.rbmx.fluxFunc=Zerstörungsfunktion: %s -trait.rbmk.funcType=Funktionsspezifikation: %s +trait.rbmx.funcType=Funktionsspezifikation: %s trait.rbmx.heat=Verkrustung pro Tick bei voller Kraft: %s trait.rbmx.melt=Kollapstiefe: %s trait.rbmk.neutron.any.x=Alle nicht-euklidischen Formen @@ -4862,6 +4985,7 @@ tool.ability.cnetrifuge=Auto-Zentrifuge tool.ability.crystallizer=Auto-Kristallisierer tool.ability.explosion=Explosion tool.ability.hammer=AoE +tool.ability.hammer_flat=Flacher AoE tool.ability.luck=Glück tool.ability.mercury=Quecksilber-Berührung tool.ability.midas=Midas' Hand @@ -4882,6 +5006,7 @@ turret.on=AN turret.players=Spieler anzielen: %s upgrade.consumption=Verbrauch %s +upgrade.productivity=Produktivität %s upgrade.speed=Verarbeitungszeit %s wavelengths.name.ir=Infrarot diff --git a/src/main/resources/assets/hbm/lang/en_NT.lang b/src/main/resources/assets/hbm/lang/en_NT.lang deleted file mode 100644 index 8f694f8e2..000000000 --- a/src/main/resources/assets/hbm/lang/en_NT.lang +++ /dev/null @@ -1,2018 +0,0 @@ -itemGroup.tabTest=Nuclear Tech Mod Test Tab -itemGroup.tabParts=NTM Resources and Parts -itemGroup.tabControl=NTM Machine Items and Fuel -itemGroup.tabTemplate=NTM Templates -itemGroup.tabBlocks=NTM Ores and Blocks -itemGroup.tabMachine=NTM Machines -itemGroup.tabNuke=NTM Bombs -itemGroup.tabMissile=NTM Missiles and Satellites -itemGroup.tabWeapon=NTM Weapons and Turrets -itemGroup.tabConsumable=NTM Consumables and Gear - -achievement.sacrifice=Sororicide -achievement.sacrifice.desc=Face the fire and live. -achievement.impossible=Literally impossible -achievement.impossible.desc=You can't get this achievement. -achievement.tasteofblood=The Taste of Blood -achievement.tasteofblood.desc=is not part of any testing protocol. -achievement.freytag=Freytag -achievement.freytag.desc=Herold's life guards -achievement.selenium=XVIII The Moon -achievement.selenium.desc=Yeah. -achievement.potato=Rogue AI -achievement.potato.desc=You stabbed me! What is WRONG with yo-WOOOAAH -achievement.c44=Chapter 44 -achievement.c44.desc=Galvanized! I mean, zinc! -achievement.c20_5=Chapter [TWENTY POINT FIVE] -achievement.c20_5.desc=??? -achievement.space=The Final Front-ah forget it -achievement.space.desc=Fail in every way possible and waste funds worth 90 million dollars. -achievement.FOEQ=Pegasi and Missile Silos -achievement.FOEQ.desc=Send a relay into martian...I mean dunaian orbit. -achievement.fiend=Delinquent -achievement.fiend.desc=Be mean. -achievement.fiend2=Delinquent 2: Delinquent Harder -achievement.fiend2.desc=Be meaner. - -potion.hbm_taint=Tainted -potion.hbm_mutation=Tainted Heart -potion.hbm_radiation=Contaminated -potion.hbm_bang=! ! ! -potion.hbm_radx=Rad-X -potion.hbm_lead=Lead Poisoning - -hbmfluid.none=None -hbmfluid.water=Water -hbmfluid.steam=Steam -hbmfluid.hotsteam=Dense Steam -hbmfluid.superhotsteam=Super Dense Steam -hbmfluid.lava=Lava -hbmfluid.uf6=Uranium Hexafluoride -hbmfluid.puf6=Plutonium Hexafluoride -hbmfluid.deuterium=Deuterium -hbmfluid.tritium=Tritium -hbmfluid.oil=Crude Oil -hbmfluid.hotoil=Hot Crude Oil -hbmfluid.smear=Industrial Oil -hbmfluid.reclaimed=Reclaimed Industrial Oil -hbmfluid.petroil=Petroil -hbmfluid.lubricant=Engine Lubricant -hbmfluid.diesel=Diesel -hbmfluid.kerosene=Kerosene -hbmfluid.gas=Natural Gas -hbmfluid.coolant=Coolant -hbmfluid.amat=Antimatter -hbmfluid.aschrab=Antischrabidium -hbmfluid.heavyoil=Heavy Oil -hbmfluid.bitumen=Bitumen -hbmfluid.heatingoil=Heating Oil -hbmfluid.naphtha=Naphtha -hbmfluid.lightoil=Light Oil -hbmfluid.petroleum=Petroleum Gas -hbmfluid.peroxide=Hydrogen Peroxide -hbmfluid.watz=Poisonous Mud -hbmfluid.biogas=Biogas -hbmfluid.biofuel=Biofuel -hbmfluid.sas3=Schrabidium Trisulfide -hbmfluid.nitan=NITAN© 100 Octane Super Fuel -hbmfluid.cryogel=Cryogel -hbmfluid.lpg=LPG - -chem.TEST=Test -chem.FP_HEAVYOIL=Heavy Oil Processing -chem.FP_SMEAR=Industrial Oil Processing -chem.FP_NAPHTHA=Naphtha Processing -chem.FP_LIGHTOIL=Light Oil Processing -chem.FR_REOIL=Oil Reprocessing -chem.FR_PETROIL=Petroil Mixing -chem.OIL_SAND=Tar Sand Extraction -chem.FC_BITUMEN=Bitumen Cracking -chem.FC_I_NAPHTHA=Industrial Oil Cracking -chem.FC_GAS_PETROLEUM=Gas Cracking -chem.FC_DIESEL_KEROSENE=Diesel Cracking -chem.FC_KEROSENE_PETROLEUM=Kerosene Cracking -chem.CC_OIL=Coal Liquefaction -chem.CC_I=Enhanced Coal Liquefaction -chem.CC_HEATING=Advanced Coal Liquefaction -chem.CC_HEAVY=Basic Coal Liquefaction -chem.CC_NAPHTHA=Naphtha Coal Liquefaction -chem.ASPHALT=Asphalt Production -chem.COOLANT=Coolant Mixing -chem.CRYOGEL=Cryogel Mixing -chem.DESH=Desh Production -chem.PEROXIDE=Hydrogen Peroxide Production -chem.CIRCUIT_4=Overclocked Circuit Production -chem.CIRCUIT_5=High Performance Circuit Production -chem.SF_OIL=Crude Oil Solidification -chem.SF_HEAVYOIL=Heavy Oil Solidification -chem.SF_SMEAR=Industrial Oil Solidification -chem.SF_HEATINGOIL=Heating Oil Solidification -chem.SF_RECLAIMED=Reclaimed Oil Solidification -chem.SF_PETROIL=Petroil Solidification -chem.SF_LUBRICANT=Lubricant Solidification -chem.SF_NAPHTHA=Naphtha Solidification -chem.SF_DIESEL=Diesel Solidification -chem.SF_LIGHTOIL=Light Oil Solidification -chem.SF_KEROSENE=Kerosene Solidification -chem.SF_GAS=Natural Gas Solidification -chem.SF_PETROLEUM=Petroleum Gas Solidification -chem.SF_BIOGAS=Biogas Solidification -chem.SF_BIOFUEL=Biofuel Solidification -chem.POLYMER=Polymer Synthesis -chem.DEUTERIUM=Deuterium Extraction -chem.STEAM=Water Boiling -chem.YELLOWCAKE=Yellowcake Production -chem.UF6=Uranium Hexafluoride Production -chem.PUF6=Plutonium Hexafluoride Production -chem.BP_BIOGAS=Biogas Production -chem.BP_BIOFUEL=Biofuel Transesterification -chem.LPG=Petroleum Gas Liquefaction -chem.SAS3=Schrabidium Trisulfide Production -chem.NITAN=NITAN Super Fuel Mixing -chem.DYN_SCHRAB=Schrabidium Dynosynthesis -chem.DYN_EUPH=Euphemium Dynosynthesis -chem.DYN_DNT=Dineutronium Dynosynthesis -chem.CORDITE=Cordite Production -chem.KEVLAR=Kevlar Compound Production - -item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core -item.record.ss.desc=Valve - Sector Sweep -item.record.vc.desc=Valve - Vortal Combat - -death.attack.nuclearBlast=%1$s was blown away by a nuclear explosion. -death.attack.revolverBullet=%1$s was shot in the head by %2$s. -death.attack.mudPoisoning=%1$s died in poisonous mud. -death.attack.euthanized=%1$s was euthanized by %2$s. -death.attack.euthanizedSelf=%1$s euthanized himself, what a dork. -death.attack.euthanizedSelf2=%1$s wins the Darwin Award. -death.attack.tau=%1$s was riddeled by %2$s using negatively charged tauons. -death.attack.tauBlast=%1$s charged the XVL1456 for too long and was blown into pieces. -death.attack.chopperBullet=%1$s was rekt by %2$s. -death.attack.cmb=%1$s was fizzeled by %2$s. -death.attack.subAtomic=%1$s's atoms have been destroyed by %2$s. -death.attack.subAtomic2=%1$s was QPU-misaligned because %2$s tampered with his de facto speed. -death.attack.subAtomic3=%1$s's divergence dropped below 1 percent because of %2$s. -death.attack.subAtomic4=%1$s was divided by zero by %2$s. -death.attack.subAtomic5=%1$s was nullified by %2$s. -death.attack.radiation=%1$s died from radiation poisoning. -death.attack.acid=%1$s fell into acid. -death.attack.suicide=%1$s blew their head off. -death.attack.electrified=%1$s was electrified by %2$s. -death.attack.flamethrower=%1$s was cremated by %2$s. -death.attack.plasma=%1$s was immolated by %2$s. -death.attack.ice=%1$s was turned into a popsicle by %2$s. -death.attack.cheater=%1$s's intestines turned into oats. (???) -death.attack.laser=%1$s was turned into ash by %2$s. -death.attack.rubble=%1$s was squashed by debris. -death.attack.shrapnel=%1$s was ragged by a shrapnel. -death.attack.teleporter=%1$s was teleported into nothingness. -death.attack.blackhole=%1$s was spaghettified. -death.attack.blender=%1$s was chopped in small, bite-sized pieces. -death.attack.meteorite=%1$s was hit by a falling rock from outer space. -death.attack.boxcar=%1$s was smushed by a falling boxcar. Oh well. -death.attack.broadcast=%1$s got their brain melted. -death.attack.ams=%1$s was bathed in deadly particles that have yet to be named by human science. -death.attack.amsCore=%1$s was vaporized in the fire of a singularity. -death.attack.bang=%1$s was blasted into bite-sized pieces. -death.attack.pc=%1$s was reduced to a puddle in the pink cloud. -death.attack.cloud=%1$s melted like a popsicle in the sun. -death.attack.lead=%1$s died from lead poisoning. - -item.redstone_sword.name=Redstone Sword -item.big_sword.name=Great Sword -item.test_nuke_igniter.name=Igniter -item.test_nuke_propellant.name=Propellant -item.test_nuke_tier1_shielding.name=Neutron Reflector (Tier 1) -item.test_nuke_tier2_shielding.name=Neutron Reflector (Tier 2) -item.test_nuke_tier1_bullet.name=U235 Projectile (Tier 1) -item.test_nuke_tier2_bullet.name=MOX Projectile (Tier 2) -item.test_nuke_tier1_target.name=Subcritical U235 Target (Tier 1) -item.test_nuke_tier2_target.name=Subcritical MOX Target (Tier 2) - -item.gadget_explosive.name=Propellant -item.gadget_explosive8.name=Bundle of Propellant -item.gadget_wireing.name=Wiring -item.gadget_core.name=Plutonium Core - -item.boy_igniter.name=Bomb Igniter -item.boy_propellant.name=Propellant -item.boy_bullet.name=U235 Projectile -item.boy_target.name=Subcritical U235 Target -item.boy_shielding.name=Neutron Shielding - -item.man_explosive.name=Propellant -item.man_explosive8.name=Bundle of Propellant -item.man_igniter.name=Bomb Igniter -item.man_core.name=Plutonium Core - -item.mike_core.name=Uranium Coated Deuterium Tank -item.mike_deut.name=Deuterium Tank -item.mike_cooling_unit.name=Deuterium Cooling Unit - -item.tsar_core.name=Tsar Bomba Core - -item.fleija_igniter.name=Pulse Igniter -item.fleija_propellant.name=Schrabidium Propellant -item.fleija_core.name=F.L.E.I.J.A. Uranium 235 Charge - -item.solinium_igniter.name=SOL Pulse Igniter -item.solinium_propellant.name=SOL Compression Charge -item.solinium_core.name=Semi-Stable Solinium Core - -item.n2_charge.name=Large Explosive Charge - -item.custom_tnt.name=Custom Nuke Explosive Charge -item.custom_nuke.name=Custom Nuke Nuclear Rod -item.custom_hydro.name=Custom Nuke Hydrogen Rod -item.custom_amat.name=Custom Nuke Antimatter Rod -item.custom_dirty.name=Custom Nuke Dirty Rod -item.custom_schrab.name=Custom Nuke Schrabidium Rod -item.custom_fall.name=Custom Nuke Drop Upgrade - -container.nukeGadget=The Gadget -container.nukeBoy=Little Boy -container.nukeMan=Fat Man -container.nukeMike=Ivy Mike -container.nukeTsar=Tsar Bomba -container.nukeFleija=F.L.E.I.J.A. -container.nukePrototype=The Prototype -container.nukeCustom=Custom Nuke -container.nukeSolinium=The Blue Rinse -container.nukeN2=N² Mine -container.nukeN45=N45 Naval Mine - -container.bombMulti=Multi Purpose Bomb - -tile.nuke_gadget.name=The Gadget -tile.nuke_boy.name=Little Boy -tile.nuke_man.name=Fat Man -tile.nuke_mike.name=Ivy Mike -tile.nuke_tsar.name=Tsar Bomba -tile.nuke_fleija.name=F.L.E.I.J.A. -tile.nuke_prototype.name=The Prototype -tile.nuke_custom.name=Custom Nuke -tile.nuke_solinium.name=The Blue Rinse -tile.nuke_n2.name=N² Mine -tile.nuke_n45.name=N45 Naval Mine - -tile.bomb_multi.name=Multi Purpose Bomb -tile.rejuvinator.name=Rejuvination Device - -tile.flame_war.name=Flame War in a Box -tile.float_bomb.name=Levitation Bomb -tile.therm_endo.name=Endothermic Bomb -tile.therm_exo.name=Exothermic Bomb -tile.emp_bomb.name=EMP Device - -tile.crashed_bomb.name=Dud -tile.boxcar.name=Boxcar -tile.bomber.name=Crashed Bomber - -tile.turret_light.name=Light Machine Gun Turret -tile.turret_heavy.name=Heavy Machine Gun Turret -tile.turret_rocket.name=Rocket Turret -tile.turret_flamer.name=Flamethrower Turret -tile.turret_tau.name=Tauon Turret -tile.turret_spitfire.name=Turret I have no name for right now [WIP] -tile.turret_cwis.name=Phalanx Mk-15 CIWS -tile.turret_cheapo.name=Cheapo Gatling Sentry -tile.machine_radar.name=Radar -container.radar=Radar -tile.machine_forcefield.name=Forcefield Emitter -container.forceField=Forcefield Emitter -tile.machine_satlinker.name=Satellite ID Manager -container.satLinker=SatLink Device -tile.machine_telelinker.name=Turret Telemetry Linker -container.teleLinker=TelLink Device - -item.turret_control.name=Turret Controller -item.turret_chip.name=Turret AI-Chip -item.turret_biometry.name=Turret Telemetry Card - -item.key.name=Key -item.key_red.name=Red Key -item.key_kit.name=Key Imitation Kit -item.key_fake.name=Counterfeit Key -item.pin.name=Bobby Pin -item.padlock_rusty.name=Rusty Padlock -item.padlock.name=Padlock -item.padlock_reinforced.name=Reinforced Padlock -item.padlock_unbreakable.name=Unbreakable Padlock -tile.machine_keyforge.name=Locksmith Table -container.keyForge=Locksmith Table - -tile.mine_ap.name=Anti-Personell Mine -tile.mine_he.name=Anti-Tank Mine -tile.mine_shrap.name=Shrapnel Mine -tile.mine_fat.name=Fat Mine -item.defuser.name=High-Tech Bomb Defusing Device - -tile.crate.name=Supply Crate -tile.crate_weapon.name=Weapon Crate -tile.crate_lead.name=Hazmat Crate -tile.crate_metal.name=Machine Crate -tile.crate_red.name=Red Crate -tile.marker_structure.name=Multiblock Structure Marker - -tile.machine_difurnace_off.name=Alloy Furnace -tile.machine_difurnace_on.name=Alloy Furnace -container.diFurnace=Alloy Furnace -tile.machine_centrifuge.name=Centrifuge -container.centrifuge=Centrifuge -tile.machine_gascent.name=Gas Centrifuge -container.gasCentrifuge=Gas Centrifuge -tile.machine_uf6_tank.name=Uranium Hexafluoride Tank -container.uf6_tank=UF6 Tank -tile.machine_puf6_tank.name=Plutonium Hexafluoride Tank -container.puf6_tank=PuF6 Tank -tile.machine_reactor.name=Breeding Reactor -tile.machine_reactor_on.name=Breeding Reactor -container.reactor=Breeding Reactor -tile.machine_nuke_furnace_off.name=Nuclear Furnace -tile.machine_nuke_furnace_on.name=Nuclear Furnace -container.nukeFurnace=Nuclear Powered Furnace -tile.machine_rtg_furnace_off.name=RTG Furnace -tile.machine_rtg_furnace_on.name=RTG Furnace -container.rtgFurnace=RTG Furnace -tile.machine_electric_furnace_off.name=Electric Furnace -tile.machine_electric_furnace_on.name=Electric Furnace -container.electricFurnace=Electric Furnace -tile.machine_generator.name=Nuclear Reactor (Old) -container.generator=Nuclear Reactor -tile.red_wire_coated.name=Coated Red Copper Cable -tile.machine_deuterium.name=Deuterium Extractor -container.machine_deuterium=Deuterium Extractor -tile.machine_battery.name=Energy Storage Block -tile.machine_lithium_battery.name=Li-Ion Energy Storage Block -tile.machine_schrabidium_battery.name=Schrabidium Energy Storage Block -tile.machine_dineutronium_battery.name=Spark Energy Storage Block -container.battery=Energy Storage -tile.machine_coal_off.name=Combustion Generator -tile.machine_coal_on.name=Combustion Generator -container.machineCoal=Combustion Generator -tile.machine_boiler_off.name=Boiler -tile.machine_boiler_on.name=Boiler -container.machineBoiler=Boiler -tile.machine_boiler_electric_off.name=Electric Boiler -tile.machine_boiler_electric_on.name=Electric Boiler -container.machineElectricBoiler=Electric Boiler -tile.machine_turbine.name=Steam Turbine -container.machineTurbine=Steam Turbine -tile.launch_pad.name=Missile Launch Pad -container.launchPad=Missile Launch Pad -tile.sat_dock.name=Cargo Landing Pad -container.satDock=Cargo Landing Pad -tile.book_guide.name=Hbm's Nuclear Tech Mod Manual [LEGACY] -tile.machine_schrabidium_transmutator.name=Schrabidium Transmutation Device -container.machine_schrabidium_transmutator=Schrabidium Transmutation Device -tile.machine_diesel.name=Diesel Generator -container.machineDiesel=Diesel Generator -tile.machine_shredder.name=Shredder -container.machineShredder=Shredder -tile.machine_combine_factory.name=CMB Steel Furnace -container.machineCMB=CMB Steel Furnace -tile.machine_teleporter.name=Teleporter -container.teleporter=Teleporter -tile.machine_reix_mainframe.name=Rei-X Mainframe (WIP) -container.reix=Rei-X Mainframe -tile.machine_industrial_generator.name=Industrial Generator -container.iGenerator=Industrial Generator -tile.machine_cyclotron.name=Cyclotron -container.cyclotron=Cyclotron -tile.machine_well.name=Oil Derrick -tile.machine_pumpjack.name=Pumpjack -tile.oil_pipe.name=Crude Oil Extraction Pipe -container.oilWell=Oil Derrick -container.pumpjack=Pumpjack -tile.machine_refinery.name=Oil Refinery -container.machineRefinery=Oil Refinery -tile.oil_duct.name=Oil Pipe -tile.oil_duct_solid.name=Coated Oil Pipe -tile.machine_flare.name=Gas Flare -container.gasFlare=Gas Flare -tile.gas_duct.name=Gas Pipe -tile.gas_duct_solid.name=Coated Gas Pipe -tile.machine_drill.name=Automatic Mining Drill -container.miningDrill=Automatic Mining Drill -tile.drill_pipe.name=Drill Pipe -tile.machine_assembler.name=Assembly Machine -container.assembler=Assembly Machine -tile.machine_chemplant.name=Chemical Plant -container.chemplant=Chemical Plant -tile.fluid_duct.name=Universal Fluid Duct -tile.machine_fluidtank.name=Tank -item.fluid_duct.name=Fluid Duct: -container.fluidtank=Tank -tile.machine_turbofan.name=Turbofan -container.machineTurbofan=Turbofan -tile.crate_iron.name=Iron Crate -container.crateIron=Iron Crate -tile.crate_steel.name=Steel Crate -container.crateSteel=Steel Crate -tile.safe.name=Safe -container.safe=Safe -tile.machine_press.name=Burner Press -container.press=Burner Press -tile.machine_epress.name=Electric Press -container.epress=Electric Press -tile.machine_siren.name=Siren -container.siren=Siren -tile.machine_radgen.name=Radiation-Powered Engine -container.radGen=Radiation-Powered Engine -tile.machine_selenium.name=Radial Performance Engine -container.machineSelenium=Radial Performance Engine -tile.machine_reactor_small.name=Nuclear Reactor -container.reactorSmall=Nuclear Reactor -tile.machine_controller.name=Reactor Remote Control Block -container.reactorControl=Reactor Remote Control Block - -tile.broadcaster_pc.name=Corrupted Broadcaster - -tile.radiobox.name=Rosenberg Pest Control Box [WIP] -tile.radiorec.name=Broken FM Radio -container.radiobox=FM Transmitter -container.radiorec=FM Radio - -tile.red_pylon.name=Electricity Pole -item.wiring_red_copper.name=Cable Drum - -tile.rail_highspeed.name=High Speed Rail -tile.rail_booster.name=High Speed Booster Rail - -tile.factory_titanium_hull.name=Basic Factory Casing -tile.factory_titanium_furnace.name=Basic Factory Access Hatch -tile.factory_titanium_conductor.name=Basic Factory Electricity Port -tile.factory_titanium_core.name=Basic Factory Core Component -item.factory_core_titanium.name=Basic Factory Energy Cluster -container.factoryTitanium=Basic Factory -tile.factory_advanced_hull.name=Advanced Factory Casing -tile.factory_advanced_furnace.name=Advanced Factory Access Hatch -tile.factory_advanced_conductor.name=Advanced Factory Electricity Port -tile.factory_advanced_core.name=Advanced Factory Core Component -item.factory_core_advanced.name=Advanced Factory Energy Cluster -container.factoryAdvanced=Advanced Factory - -tile.reactor_element.name=Reactor Chamber -tile.reactor_control.name=Control Rods -tile.reactor_hatch.name=Reactor Access Hatch -tile.reactor_ejector.name=Reactor Waste Ejector -tile.reactor_inserter.name=Reactor Fuel Inserter -tile.reactor_conductor.name=Reactor Boiler -tile.reactor_computer.name=Reactor Control -container.reactorLarge=Big Nuclear Reactor - -tile.fusion_conductor.name=Superconducting Magnet -tile.fusion_center.name=Central Magnet Piece -tile.fusion_motor.name=Magnet Motor Piece -tile.fusion_heater.name=Plasma Heater -tile.fusion_hatch.name=Fusion Reactor Access Hatch -tile.fusion_core.name=Fusion Reactor Control -tile.plasma.name=Plasma -container.fusionMultiblock=Big Fusion Reactor - -tile.watz_element.name=Watz Reaction Chamber -tile.watz_control.name=Reinforced Control Rods -tile.watz_cooler.name=Watz Reactor Supercooler -tile.watz_end.name=Watz Reactor Stability Element -tile.watz_hatch.name=Watz Reactor Access Hatch -tile.watz_conductor.name=Watz Electricity Port -tile.watz_core.name=Watz Reactor Control -container.watzPowerplant=Watz Power Plant - -tile.fwatz_conductor.name=4000K Superconducting Magnet -tile.fwatz_cooler.name=Regenerative Coolant Fluid Tank Shell -tile.fwatz_tank.name=Regenerative Coolant Fluid Tank -tile.fwatz_scaffold.name=Fusionary Watz Plant Structural Support -tile.fwatz_hatch.name=Fusionary Watz Plant Access Hatch -tile.fwatz_computer.name=Fusionary Watz Reactor Calculation Matrix -tile.fwatz_core.name=Fusionary Watz Reactor Control -tile.fwatz_plasma.name=Destabilized Antischrabidium Plasma -container.fusionaryWatzPlant=Fusionary Watz Plant - -tile.machine_rtg_grey.name=RT Generator -container.rtg=RT Generator -tile.machine_rtg_red.name=Fulmination Generator -tile.machine_rtg_orange.name=Strong RT Generator -tile.machine_rtg_yellow.name=Australium Superfuel Reactor -tile.machine_rtg_green.name=Verticium Wealth Generator -tile.machine_rtg_cyan.name=Schrabidium Decay Generator (WIP) -tile.machine_rtg_blue.name=Convection Generator -tile.machine_rtg_purple.name=Antimatter Annihilation Generator - -tile.machine_waste_drum.name=Spent Fuel Pool Drum -container.wasteDrum=Spent Fuel Pool Drum - -tile.machine_spp_bottom.name=ZPE Potential Generator (Bottom) -tile.machine_spp_top.name=ZPE Potential Generator (Top) - -tile.ams_limiter.name=AMS Stabilizer [WIP] -container.amsLimiter=AMS Stabilizer [WIP] -tile.ams_emitter.name=AMS Emitter [WIP] -container.amsEmitter=AMS Emitter [WIP] -tile.ams_base.name=AMS Base [WIP] -container.amsBase=AMS Base [WIP] - -item.template_folder.name=Machine Template Folder -item.fluid_identifier.name=Fluid Identifier -item.assembly_template.name=Assembly Template: -item.chemistry_template.name=Chemistry Template: -item.siren_track.name=Siren Track - -item.fuse.name=Fuse - -tile.test_nuke.name=Test Nuke - -item.ingot_th232.name=Th232 Ingot -item.ingot_uranium.name=Uranium Ingot -item.ingot_u233.name=U233 Ingot -item.ingot_u235.name=U235 Ingot -item.ingot_u238.name=U238 Ingot -item.ingot_u238m2.name=Metastable U238-2 Ingot -item.ingot_plutonium.name=Plutonium Ingot -item.ingot_pu238.name=Pu238 Ingot -item.ingot_pu239.name=Pu239 Ingot -item.ingot_pu240.name=Pu240 Ingot -item.ingot_titanium.name=Titanium Ingot -item.sulfur.name=Sulfur - -item.niter.name=Niter -item.ingot_copper.name=Industrial Grade Copper -item.ingot_red_copper.name=Minecraft Grade Copper -item.ingot_tungsten.name=Tungsten Ingot -item.ingot_aluminium.name=Aluminium Ingot -item.fluorite.name=Fluorite -item.ingot_steel.name=Steel Ingot -item.plate_steel.name=Steel Plate -item.ingot_beryllium.name=Beryllium Ingot -item.plate_schrabidium.name=Schrabidium Plate -item.ingot_schrabidium.name=Schrabidium Ingot -item.nugget_schrabidium.name=Schrabidium Nugget -item.plate_copper.name=Copper Plate -item.board_copper.name=Copper Panel -item.ingot_advanced_alloy.name=Advanced Alloy Ingot -item.plate_advanced_alloy.name=Advanced Alloy Plate -item.wire_advanced_alloy.name=Super Conductor -item.coil_advanced_alloy.name=Super Conducting Coil -item.coil_advanced_torus.name=Super Conducting Ring Coil -item.coil_gold.name=Gold Coil -item.coil_gold_torus.name=Golden Ring Coil -item.lithium.name=Lithium Cube -item.ingot_magnetized_tungsten.name=Magnetized Tungsten Ingot -item.ingot_combine_steel.name=CMB Steel Ingot -item.plate_combine_steel.name=CMB Steel Plate -item.wire_magnetized_tungsten.name=4000K High Temperature Super Conductor -item.coil_magnetized_tungsten.name=4000K High Temperature Super Conducting Coil -item.plate_mixed.name=Mixed Plate -item.plate_paa.name=PaA Alloy Plate -item.ingot_dura_steel.name=High-Speed Steel Ingot -item.ingot_polymer.name=Polymer Ingot -item.bolt_dura_steel.name=High-Speed Steel Bolt -item.pipes_steel.name=Steel Pipes -item.drill_titanium.name=Titanium Drill -item.bolt_tungsten.name=Tungsten Bolt -item.bolt_compound.name=Reinforced Turbine Shaft -item.plate_polymer.name=Insulator -item.ingot_solinium.name=Solinium Ingot -item.nugget_solinium.name=Solinium Nugget -item.photo_panel.name=Photovoltaic Panel -item.sat_base.name=Satellite Base -item.thruster_nuclear.name=LV-N Nuclear Rocket Engine -item.sat_head_mapper.name=High-Gain Optical Camera -item.sat_head_scanner.name=M700 Survey Scanner -item.sat_head_radar.name=Radar Dish -item.sat_head_laser.name=Death Ray -item.sat_head_resonator.name=Xenium Resonator - -item.ingot_australium.name=Australium Ingot -item.ingot_weidanium.name=Weidanium Ingot -item.ingot_reiium.name=Reiium Ingot -item.ingot_unobtainium.name=Unobtainium Ingot -item.ingot_daffergon.name=Daffergon Ingot -item.ingot_verticium.name=Verticium Ingot -item.nugget_australium.name=Australium Nugget -item.nugget_weidanium.name=Weidanium Nugget -item.nugget_reiium.name=Reiium Nugget -item.nugget_unobtainium.name=Unobtainium Nugget -item.nugget_daffergon.name=Daffergon Nugget -item.nugget_verticium.name=Verticium Nugget - -item.ingot_desh.name=Desh Ingot -item.nugget_desh.name=Desh Nugget -item.powder_desh.name=Desh Powder -item.powder_desh_mix.name=Desh Blend -item.powder_nitan_mix.name=Nitanium Blend -item.powder_spark_mix.name=Spark Blend -item.ingot_dineutronium.name=Dineutronium Ingot -item.powder_dineutronium.name=Dineutronium Powder -item.nugget_dineutronium.name=Dineutronium Nugget -item.ingot_starmetal.name=Starmetal Ingot -item.ingot_saturnite.name=Saturnite Ingot -item.plate_saturnite.name=Saturnite Plate - -item.solid_fuel.name=Solid Fuel - -item.nugget_th232.name=Th232 Nugget -item.nugget_u233.name=U233 Nugget -item.nugget_u235.name=U235 Nugget -item.nugget_u238.name=U238 Nugget -item.nugget_pu238.name=Pu238 Nugget -item.nugget_pu239.name=Pu239 Nugget -item.nugget_pu240.name=Pu240 Nugget -item.plate_titanium.name=Titanium Plate -item.plate_aluminium.name=Aluminium Plate -item.wire_red_copper.name=Red Copper Wire -item.neutron_reflector.name=Neutron Reflector -item.nugget_beryllium.name=Beryllium Nugget - -item.wire_aluminium.name=Aluminium Wire -item.wire_copper.name=Copper Wire -item.wire_gold.name=Gold Wire -item.wire_schrabidium.name=Schrabidium Wire - -item.circuit_raw.name=Basic Circuit Assembly -item.circuit_aluminium.name=Basic Circuit -item.circuit_copper.name=Enhanced Circuit -item.circuit_red_copper.name=Advanced Circuit -item.circuit_gold.name=Overclocked Circuit -item.circuit_schrabidium.name=High Performance Circuit -item.circuit_targeting_tier1.name=Military Grade Circuit Board (Tier 1) -item.circuit_targeting_tier2.name=Military Grade Circuit Board (Tier 2) -item.circuit_targeting_tier3.name=Military Grade Circuit Board (Tier 3) -item.circuit_targeting_tier4.name=Military Grade Circuit Board (Tier 4) -item.circuit_targeting_tier5.name=Military Grade Circuit Board (Tier 5) -item.circuit_targeting_tier6.name=Military Grade Circuit Board (Tier 6) -item.mechanism_revolver_1.name=Revolver Mechanism -item.mechanism_revolver_2.name=Advanced Revolver Mechanism -item.mechanism_rifle_1.name=Rifle Mechanism -item.mechanism_rifle_2.name=Advanced Rifle Mechanism -item.mechanism_launcher_1.name=Launcher Mechanism -item.mechanism_launcher_2.name=Advanced Launcher Mechanism -item.mechanism_special.name=High-Tech Weapon Mechanism - -item.primer_357.name=.357 Magnum Primer (x16) -item.primer_44.name=.44 Magnum Primer (x16) -item.primer_9.name=Small Caliber Primer (x24) -item.primer_50.name=Large Caliber Primer (x8) -item.primer_buckshot.name=Buckshot Primer (x8) -item.casing_357.name=.357 Magnum Casing (x16) -item.casing_44.name=.44 Magnum Casing (x16) -item.casing_9.name=Small Caliber Casing (x24) -item.casing_50.name=Large Caliber Casing (x8) -item.casing_buckshot.name=Buckshot Casing (x8) -item.assembly_iron.name=Iron Bullet Assembly -item.assembly_steel.name=Lead Bullet Assembly -item.assembly_lead.name=Glass Bullet Assembly -item.assembly_gold.name=Gold Bullet Assembly -item.assembly_schrabidium.name=Schrabidium Bullet Assembly -item.assembly_nightmare.name=Nightmare Bullet Assembly -item.assembly_pip.name=Tainted Bullet Assembly -item.assembly_nopip.name=.44 Magnum Assembly -item.assembly_smg.name=9mm Assembly -item.assembly_uzi.name=.22 LR Assembly -item.assembly_calamity.name=.50 BMG Assembly -item.assembly_lacunae.name=.5mm Assembly - -item.piston_selenium.name=Radial Engine Piston - -tile.block_aluminium.name=Block of Aluminium -tile.block_copper.name=Block of Copper -tile.block_fluorite.name=Block of Fluorite -tile.block_niter.name=Block of Niter -tile.block_red_copper.name=Block of Red Copper -tile.block_steel.name=Block of Steel -tile.block_sulfur.name=Block of Sulfur -tile.block_titanium.name=Block of Titanium -tile.block_tungsten.name=Block of Tungsten -tile.block_uranium.name=Block of Uranium -tile.block_thorium.name=Block of Thorium -tile.block_trinitite.name=Block of Trinitite -tile.block_beryllium.name=Block of Beryllium -tile.block_waste.name=Block of Nuclear Waste -tile.block_scrap.name=Block of Scrap -tile.block_electrical_scrap.name=Block of Electrical Scrap -tile.block_advanced_alloy.name=Block of Advanced Alloy -tile.block_magnetized_tungsten.name=Block of Magnetized Tungsten -tile.block_combine_steel.name=Block of CMB Steel -tile.block_australium.name=Block of Australium -tile.block_weidanium.name=Block of Weidanium -tile.block_reiium.name=Block of Reiium -tile.block_unobtainium.name=Block of Unobtainium -tile.block_daffergon.name=Block of Daffergon -tile.block_verticium.name=Block of Verticium -tile.block_desh.name=Reinforced Block of Desh -tile.block_yellowcake.name=Block of Yellowcake - -tile.ore_aluminium.name=Aluminium Ore -tile.ore_copper.name=Copper Ore -tile.ore_fluorite.name=Fluorite Ore -tile.ore_niter.name=Niter Ore -tile.ore_sulfur.name=Sulfur Ore -tile.ore_titanium.name=Titanium Ore -tile.ore_tungsten.name=Tungsten Ore -tile.ore_uranium.name=Uranium Ore -tile.ore_thorium.name=Thorium Ore -tile.ore_schrabidium.name=Schrabidium Ore -tile.ore_beryllium.name=Beryllium Ore - -tile.ore_nether_uranium.name=Nether Uranium Ore -tile.ore_nether_plutonium.name=Nether Plutonium Ore -tile.ore_nether_tungsten.name=Nether Tungsten Ore -tile.ore_nether_sulfur.name=Nether Sulfur Ore -tile.ore_nether_fire.name=Fire Ore -tile.ore_nether_schrabidium.name=Nether Schrabidium Ore - -tile.ore_tikite.name=Trixite - -tile.ore_australium.name=Australian Ore -tile.ore_weidanium.name=Weidite -tile.ore_reiium.name=Reiite -tile.ore_unobtainium.name=Brightblende Ore -tile.ore_daffergon.name=Dellite -tile.ore_verticium.name=Dollar Green Mineral -tile.ore_rare.name=Rare Earth Ore - -tile.ore_oil.name=Oil Deposit -tile.ore_oil_empty.name=Empty Oil Deposit -tile.ore_oil_sand.name=Tar Sand - -tile.deco_titanium.name=Titanium Deco Block -tile.deco_red_copper.name=Red Copper Deco Block -tile.deco_tungsten.name=Tungsten Deco Block -tile.deco_aluminium.name=Aluminium Deco Block -tile.deco_steel.name=Steel Deco Block -tile.deco_lead.name=Lead Deco Block -tile.deco_beryllium.name=Beryllium Deco Block - -tile.hazmat.name=Hazmat Cloth Block - -tile.reinforced_brick.name=Reinforced Stone -tile.reinforced_glass.name=Reinforced Glass -tile.reinforced_sand.name=Reinforced Sandstone -tile.reinforced_light.name=Reinforced Glowstone -tile.reinforced_lamp_off.name=Reinforced Lamp -tile.reinforced_lamp_on.name=Reinforced Lamp - -tile.concrete.name=Concrete -tile.brick_concrete.name=Concrete Bricks -tile.brick_obsidian.name=Obsidian Bricks -tile.brick_light.name=Light Bricks -tile.asphalt.name=Asphalt - -tile.cmb_brick.name=CMB Steel Tile -tile.cmb_brick_reinforced.name=Reinforced CMB Bricks - -tile.gravel_obsidian.name=Crushed Obsidian - -tile.barbed_wire.name=Barbed Wire -tile.barbed_wire_fire.name=Flaming Barbed Wire -tile.barbed_wire_poison.name=Poisoned Barbed Wire -tile.barbed_wire_acid.name=Caustic Barbed Wire -tile.barbed_wire_wither.name=Withered Barbed Wire -tile.barbed_wire_ultradeath.name=Cloud Barbed Wire - -tile.seal_frame.name=Silo Hatch Frame -tile.seal_controller.name=Silo Hatch Opener -tile.seal_hatch.name=Silo Hatch - -tile.vault_door.name=Vault-Tec Blast Door -tile.blast_door.name=Sliding Blast Door - -item.nugget_uranium.name=Uranium Nugget -item.nugget_plutonium.name=Plutonium Nugget -item.nugget_neptunium.name=Neptunium Nugget -item.ingot_neptunium.name=Neptunium Ingot -item.nugget_lead.name=Lead Nugget -item.ingot_lead.name=Lead Ingot -tile.block_lead.name=Block of Lead -tile.ore_lead.name=Lead Ore - -item.powder_lead.name=Lead Powder -item.powder_neptunium.name=Neptunium Powder -item.powder_schrabidium.name=Schrabidium Powder -item.powder_iron.name=Iron Powder -item.powder_gold.name=Gold Powder -item.powder_aluminium.name=Aluminium Powder -item.powder_beryllium.name=Beryllium Powder -item.powder_copper.name=Copper Powder -item.powder_titanium.name=Titanium Powder -item.powder_tungsten.name=Tungsten Powder -item.powder_uranium.name=Uranium Powder -item.powder_plutonium.name=Plutonium Powder -item.dust.name=Dust -item.powder_coal.name=Coal Powder -item.powder_lapis.name=Lapis Lazuli Powder -item.powder_emerald.name=Emerald Powder -item.powder_diamond.name=Diamond Powder -item.powder_red_copper.name=Red Copper Powder -item.powder_steel.name=Steel Powder -item.powder_magnetized_tungsten.name=Magnetized Tungsten Powder -item.powder_combine_steel.name=CMB Steel Powder -item.powder_lithium.name=Lithium Powder -item.powder_advanced_alloy.name=Advanced Alloy Powder -item.powder_quartz.name=Quartz Powder -item.powder_power.name=Energy Powder -item.powder_iodine.name=Iodine Powder -item.powder_thorium.name=Thorium Powder -item.powder_neodymium.name=Neodymium Powder -item.powder_astatine.name=Astatine Powder -item.powder_caesium.name=Caesium Powder -item.powder_australium.name=Australium Powder -item.powder_weidanium.name=Weidanium Powder -item.powder_reiium.name=Reiium Powder -item.powder_unobtainium.name=Unobtainium Powder -item.powder_daffergon.name=Daffergon Powder -item.powder_verticium.name=Verticium Powder -item.powder_strontium.name=Strontium Powder -item.powder_cobalt.name=Cobalt Powder -item.powder_bromine.name=Bromine Powder -item.powder_niobium.name=Niobium Powder -item.powder_tennessine.name=Tennessine Powder -item.powder_cerium.name=Cerium Powder -item.powder_dura_steel.name=High-Speed Steel Powder -item.powder_polymer.name=Polymer Powder -item.powder_lanthanium.name=Lanthanium Powder -item.powder_actinium.name=Actinium Powder -item.powder_lithium_tiny.name=Tiny Pile of Lithium Powder -item.powder_cobalt_tiny.name=Tiny Pile of Cobalt Powder -item.powder_neodymium_tiny.name=Tiny Pile of Neodymium Powder -item.powder_niobium_tiny.name=Tiny Pile of Niobium Powder -item.powder_cerium_tiny.name=Tiny Pile of Cerium Powder -item.powder_lanthanium_tiny.name=Tiny Pile of Lanthanium Powder -item.powder_actinium_tiny.name=Tiny Pile of Actinium Powder -item.powder_euphemium.name=Euphemium Powder -item.powder_meteorite.name=Meteorite Powder -item.powder_meteorite_tiny.name=Tiny Pile of Meteorite Powder -item.powder_yellowcake.name=Yellowcake -item.powder_magic.name=Pulverized Enchantment -item.redstone_depleted.name=Desaturated Redstone Dust - -item.fragment_neodymium.name=Neodymium Fragment -item.fragment_cobalt.name=Cobalt Fragment -item.fragment_niobium.name=Niobium Fragment -item.fragment_cerium.name=Cerium Fragment -item.fragment_lanthanium.name=Lanthanium Fragment -item.fragment_actinium.name=Actinium Fragment -item.fragment_meteorite.name=Meteorite Fragment - -item.battery_generic.name=Battery -item.battery_advanced.name=Advanced Battery -item.battery_lithium.name=Lithium-Ion Battery -item.battery_schrabidium.name=Schrabidium Battery -item.battery_spark.name=Spark Battery -item.battery_creative.name=Infinite Battery - -item.battery_su.name=SU-Battery -item.battery_su_l.name=Large SU-Battery -item.battery_steam.name=Steam Powered Energy Storage Tank -item.battery_steam_large.name=Large Steam Powered Energy Storage Tank - -item.battery_potato.name=Potato Battery -item.battery_potatos.name=PotatOS - -item.battery_red_cell.name=Redstone Power Cell -item.battery_advanced_cell.name=Advanced Power Cell -item.battery_lithium_cell.name=Lithium-Ion Power Cell -item.battery_schrabidium_cell.name=Schrabidium Power Cell -item.battery_red_cell_6.name=Sixfold Redstone Power Cell -item.battery_advanced_cell_4.name=Quadruple Advanced Power Cell -item.battery_lithium_cell_3.name=Tripple Lithium-Ion Power Cell -item.battery_schrabidium_cell_2.name=Double Schrabidium Power Cell -item.battery_red_cell_24.name=24-Fold Redstone Power Cell -item.battery_advanced_cell_12.name=Twelvefold Advanced Power Cell -item.battery_lithium_cell_6.name=Sixfold Lithium-Ion Power Cell -item.battery_schrabidium_cell_4.name=Quadruple Schrabidium Power Cell -item.battery_spark_cell_6.name=Spark Power Cell -item.battery_spark_cell_25.name=Spark Arcane Car Battery -item.battery_spark_cell_100.name=Spark Arcane Energy Storage Array -item.battery_spark_cell_1000.name=Spark Arcane Mass-Energy Void -item.battery_spark_cell_2500.name=Spark Arcane Dirac Sea -item.battery_spark_cell_10000.name=Spark Solid Space-Time Crystal -item.battery_spark_cell_power.name=Spark Ludicrous Physics-Defying Energy Storage Unit - -item.upgrade_template.name=Machine Upgrade Piece Template -item.upgrade_speed_1.name=Red Machine Upgrade Mk.I -item.upgrade_speed_2.name=Red Machine Upgrade Mk.II -item.upgrade_speed_3.name=Red Machine Upgrade Mk.III -item.upgrade_effect_1.name=Green Machine Upgrade Mk.I -item.upgrade_effect_2.name=Green Machine Upgrade Mk.II -item.upgrade_effect_3.name=Green Machine Upgrade Mk.III -item.upgrade_power_1.name=Blue Machine Upgrade Mk.I -item.upgrade_power_2.name=Blue Machine Upgrade Mk.II -item.upgrade_power_3.name=Blue Machine Upgrade Mk.III -item.upgrade_fortune_1.name=Purple Machine Upgrade Mk.I -item.upgrade_fortune_2.name=Purple Machine Upgrade Mk.II -item.upgrade_fortune_3.name=Purple Machine Upgrade Mk.III -item.upgrade_afterburn_1.name=Pink Machine Upgrade Mk.I -item.upgrade_afterburn_2.name=Pink Machine Upgrade Mk.II -item.upgrade_afterburn_3.name=Pink Machine Upgrade Mk.III -item.upgrade_radius.name=Teal Emitter Upgrade -item.upgrade_health.name=Pink Emitter Upgrade - -item.fusion_core.name=Fusion Core -item.energy_core.name=Makeshift Energy Core -item.fusion_core_infinite.name=Infinite Fusion Core - -item.dynosphere_base.name=Blank Dynosphere -item.dynosphere_desh.name=Desh Dynosphere -item.dynosphere_desh_charged.name=Desh Dynosphere (Charged) -item.dynosphere_schrabidium.name=Schrabidium Dynosphere -item.dynosphere_schrabidium_charged.name=Schrabidium Dynosphere (Charged) -item.dynosphere_euphemium.name=Euphemium Dynosphere -item.dynosphere_euphemium_charged.name=Euphemium Dynosphere (Charged) -item.dynosphere_dineutronium.name=Dineutronium Dynosphere -item.dynosphere_dineutronium_charged.name=Dineutronium Dynosphere (Charged) - -item.plate_iron.name=Iron Plate -item.plate_lead.name=Lead Plate -item.coil_copper.name=Copper Coil -item.coil_copper_torus.name=Ring Coil -item.wire_tungsten.name=Tungsten Wire -item.coil_tungsten.name=Heating Coil -item.tank_steel.name=Steel Tank -item.motor.name=Motor -item.centrifuge_element.name=Centrifuge Element -item.centrifuge_tower.name=Centrifuge Tower -item.reactor_core.name=Breeding Reactor Core -item.pellet_rtg.name=Plutonium 238 Fuel Pellet -item.pellet_rtg_weak.name=Weak Uranium RTG Pellet -item.rtg_unit.name=RTG Unit -item.hazmat_cloth.name=Hazmat Cloth -item.hazmat_cloth_red.name=Advanced Hazmat Cloth -item.hazmat_cloth_grey.name=Lead-Reinforced Hazmat Cloth -item.asbestos_cloth.name=Fire Proximity Cloth -item.filter_coal.name=Activated Carbon Filter -item.tritium_deuterium_cake.name=Tritium-Deuterium-Cake -item.telepad.name=Telepad -item.entanglement_kit.name=Entanglement Kit -item.toothpicks.name=Toothpicks -item.ducttape.name=Duct Tape -item.magnet_dee.name=Dee Magnets -item.magnet_circular.name=Flat Magnet -item.cyclotron_tower.name=Cyclotron Tower -item.plate_dalekanium.name=Angry Metal -item.biomass.name=Biomass -item.biomass_compressed.name=Compressed Biomass -item.component_limiter.name=Stabilizer Component -item.component_emitter.name=Emitter Component -item.catalyst_clay.name=Clay Catalyst - -item.cell_empty.name=Empty Cell -item.cell_uf6.name=Uranium Hexafluorite Cell -item.cell_puf6.name=Plutonium Hexafluorite Cell -item.cell_antimatter.name=Antimatter Cell -item.cell_deuterium.name=Deuterium Cell -item.cell_tritium.name=Tritium Cell -item.cell_sas3.name=Schrabidium Trisulfide Cell -item.cell_anti_schrabidium.name=Antischrabidium Cell -item.singularity.name=Singularity -item.singularity_counter_resonant.name=Contained Counter-Resonant Singularity -item.singularity_super_heated.name=Superheated Resonating Singularity -item.singularity_spark.name=Spark Singularity -item.black_hole.name=Miniature Black Hole -item.crystal_xen.name=Artificial Xen Crystal -item.pellet_antimatter.name=Antimatter Cluster - -item.inf_water.name=Infinite Water Tank -item.inf_deuterium.name=Infinite Deuterium Tank -item.inf_tritium.name=Infinite Tritium Tank -item.inf_coolant.name=Infinite Coolant Tank -item.inf_sulfur.name=Infinite Sulfur Tank -item.inf_diesel.name=Infinite Diesel Tank -item.inf_antimatter.name=Infinite Antimatter Tank -item.inf_antischrabidium.name=Infinite Antischrabidium Tank - -item.oil_canola.name=Raw Canola Oil - -item.pellet_coal.name=Dense Coal Cluster - -item.canister_empty.name=Empty Canister -item.canister_smear.name=Industrial Oil Canister -item.canister_canola.name=Engine Lubricant -item.canister_oil.name=Crude Oil Canister -item.canister_fuel.name=Diesel Canister -item.canister_kerosene.name=Kerosene Canister -item.canister_reoil.name=Canister of Reclaimed Industrial Oil -item.canister_petroil.name=Petroil Canister -item.canister_napalm.name=Napalm B -item.canister_NITAN.name=NITAN© 100 Octane Super Fuel -item.canister_heavyoil.name=Heavy Oil Canister -item.canister_bitumen.name=Bitumen Canister -item.canister_heatingoil.name=Heating Oil Canister -item.canister_naphtha.name=Naphtha Canister -item.canister_lightoil.name=Light Oil Canister -item.canister_biofuel.name=Biofuel Canister -item.gas_empty.name=Empty Gas Tank -item.gas_full.name=Gas Tank -item.gas_petroleum.name=Petroleum Gas Tank -item.gas_biogas.name=Biogas Tank -item.gas_lpg.name=LPG Tank -item.fluid_tank_empty.name=Empty Universal Fluid Tank -item.fluid_tank_full.name=Universal Fluid Tank: -item.fluid_barrel_empty.name=Empty Fluid Barrel -item.fluid_barrel_full.name=Fluid Barrel: -item.fluid_barrel_infinite.name=Infinite Fluid Barrel - -item.rod_empty.name=Empty Rod -item.rod_th232.name=Th232 Rod -item.rod_uranium.name=Uranium Rod -item.rod_u233.name=U233 Rod -item.rod_u235.name=U235 Rod -item.rod_u238.name=U238 Rod -item.rod_plutonium.name=Plutonium Rod -item.rod_pu238.name=Pu238 Rod -item.rod_pu239.name=Pu239 Rod -item.rod_pu240.name=Pu240 Rod -item.rod_neptunium.name=Neptunium Rod -item.rod_lead.name=Lead Rod -item.rod_schrabidium.name=Sa326 Rod -item.rod_solinium.name=Sa327 Rod -item.rod_euphemium.name=Euphemium Rod -item.rod_australium.name=Australium Rod -item.rod_weidanium.name=Weidanium Rod -item.rod_reiium.name=Reiium Rod -item.rod_unobtainium.name=Unobtainium Rod -item.rod_daffergon.name=Daffergon Rod -item.rod_verticium.name=Verticium Rod - -item.rod_dual_empty.name=Empty Dual Rod -item.rod_dual_th232.name=Th232 Dual Rod -item.rod_dual_uranium.name=Uranium Dual Fuel Rod -item.rod_dual_u233.name=U233 Dual Rod -item.rod_dual_u235.name=U235 Dual Rod -item.rod_dual_u238.name=U238 Dual Rod -item.rod_dual_plutonium.name=Plutonium Dual Rod -item.rod_dual_pu238.name=Pu238 Dual Rod -item.rod_dual_pu239.name=Pu239 Dual Rod -item.rod_dual_pu240.name=Pu240 Dual Rod -item.rod_dual_neptunium.name=Neptunium Dual Rod -item.rod_dual_lead.name=Lead Dual Rod -item.rod_dual_schrabidium.name=Sa326 Dual Rod -item.rod_dual_solinium.name=Sa327 Dual Rod - -item.rod_quad_empty.name=Empty Quad Rod -item.rod_quad_th232.name=Th232 Quad Rod -item.rod_quad_uranium.name=Uranium Quad Rod -item.rod_quad_u233.name=U233 Quad Rod -item.rod_quad_u235.name=U235 Quad Rod -item.rod_quad_u238.name=U238 Quad Rod -item.rod_quad_plutonium.name=Plutonium Quad Rod -item.rod_quad_pu238.name=Pu238 Quad Rod -item.rod_quad_pu239.name=Pu239 Quad Rod -item.rod_quad_pu240.name=Pu240 Quad Rod -item.rod_quad_neptunium.name=Neptunium Quad Rod -item.rod_quad_lead.name=Lead Quad Rod -item.rod_quad_schrabidium.name=Sa326 Quad Rod -item.rod_quad_solinium.name=Sa327 Quad Rod - -item.rod_uranium_fuel_depleted.name=Depleted Uranium Fuel Rod -item.rod_dual_uranium_fuel_depleted.name=Depleted Uranium Dual Fuel Rod -item.rod_quad_uranium_fuel_depleted.name=Depleted Uranium Quad Fuel Rod -item.rod_thorium_fuel_depleted.name=Depleted Thorium Fuel Rod -item.rod_dual_thorium_fuel_depleted.name=Depleted Thorium Dual Fuel Rod -item.rod_quad_thorium_fuel_depleted.name=Depleted Thorium Quad Fuel Rod -item.rod_plutonium_fuel_depleted.name=Depleted Plutonium Fuel Rod -item.rod_dual_plutonium_fuel_depleted.name=Depleted Plutonium Dual Fuel Rod -item.rod_quad_plutonium_fuel_depleted.name=Depleted Plutonium Quad Fuel Rod -item.rod_mox_fuel_depleted.name=Depleted MOX Fuel Rod -item.rod_dual_mox_fuel_depleted.name=Depleted MOX Dual Fuel Rod -item.rod_quad_mox_fuel_depleted.name=Depleted MOX Quad Fuel Rod -item.rod_schrabidium_fuel_depleted.name=Depleted Schrabidium Fuel Rod -item.rod_dual_schrabidium_fuel_depleted.name=Depleted Schrabidium Dual Fuel Rod -item.rod_quad_schrabidium_fuel_depleted.name=Depleted Schrabidium Quad Fuel Rod - -item.rod_waste.name=Nuclear Waste Rod -item.rod_dual_waste.name=Nuclear Waste Dual Rod -item.rod_quad_waste.name=Nuclear Waste Quad Rod - -item.gun_rpg.name=Carl Gustav Recoilless Rifle -item.gun_rpg_ammo.name=Rocket -item.gun_stinger.name=FIM-92 Stinger -item.gun_skystinger.name=The One Sky Stinger -item.gun_stinger_ammo.name=Stinger Rocket -item.gun_hk69.name=Grenade Pistol - -item.flame_pony.name=Painting of a Cartoon Pony -item.flame_conspiracy.name=Conspiracy Theory -item.flame_politics.name=Political Topic -item.flame_opinion.name=Own Opinion - -item.pellet_cluster.name=Explosive Pellets -item.pellet_buckshot.name=Lead Pellets -item.pellet_flechette.name=Flechettes -item.powder_fire.name=Flame Powder -item.powder_ice.name=Cryo Powder -item.powder_poison.name=Poison Powder -item.pellet_gas.name=Poison Gas Cartridge -item.magnetron.name=Magnetron -item.powder_thermite.name=Thermite - -item.nuke_starter_kit.name=Atomic Science Starter Kit -item.nuke_commercially_kit.name=Atomic Science Kit for Commercial Uses -item.nuke_advanced_kit.name=Atomic Science Advanced Kit -item.gadget_kit.name=The Gadget Kit -item.boy_kit.name=Little Boy Kit -item.man_kit.name=Fat Man Kit -item.mike_kit.name=Ivy Mike Kit -item.tsar_kit.name=Tsar Bomba Kit -item.fleija_kit.name=F.L.E.I.J.A. Kit -item.multi_kit.name=Multi Purpose Bomb Kit -item.custom_kit.name=Custom Nuke Kit -item.grenade_kit.name=Grenade Kit -item.nuke_electric_kit.name=Electronic Engineer's Kit -item.prototype_kit.name=Prototype Kit -item.missile_kit.name=Missile Kit -item.t45_kit.name=T45 Power Armor Kit -item.euphemium_kit.name=Euphemium Kit -item.solinium_kit.name=Solinium Kit -item.hazmat_kit.name=Hazmat Kit -item.hazmat_red_kit.name=Advanced Hazmat Kit -item.hazmat_grey_kit.name=High-Performance Hazmat Kit - -tile.waste_earth.name=Dead Grass -tile.waste_trinitite.name=Trinitite Ore -tile.waste_trinitite_red.name=Red Trinitite Ore -tile.waste_log.name=Charred Log -tile.waste_planks.name=Charred Wooden Planks - -item.trinitite.name=Trinitite -item.nuclear_waste.name=Nuclear Waste -item.nuclear_waste_tiny.name=Tiny Pile of Nuclear Waste -item.waste_uranium.name=Depleted Uranium Fuel -item.waste_thorium.name=Depleted Thorium Fuel -item.waste_plutonium.name=Depleted Plutonium Fuel -item.waste_mox.name=Depleted MOX Fuel -item.waste_schrabidium.name=Depleted Schrabidium Fuel -item.scrap.name=Scrap - -item.ingot_uranium_fuel.name=Ingot of Uranium Fuel -item.ingot_thorium_fuel.name=Ingot of Thorium Fuel -item.ingot_plutonium_fuel.name=Ingot of Plutonium Fuel -item.ingot_mox_fuel.name=Ingot of MOX Fuel -item.ingot_schrabidium_fuel.name=Ingot of Schrabidium Fuel - -item.nugget_uranium_fuel.name=Nugget of Uranium Fuel -item.nugget_thorium_fuel.name=Nugget of Thorium Fuel -item.nugget_plutonium_fuel.name=Nugget of Plutonium Fuel -item.nugget_mox_fuel.name=Nugget of MOX Fuel -item.nugget_schrabidium_fuel.name=Nugget of Schrabidium Fuel - -item.grenade_generic.name=Grenade -item.grenade_strong.name=Enhanced Grenade -item.grenade_frag.name=Frag Grenade -item.grenade_fire.name=Flame Frag Grenade -item.grenade_shrapnel.name=Shrapnel Grenade -item.grenade_cluster.name=Cluster Bomb -item.grenade_flare.name=Signal Flare -item.grenade_electric.name=Lightning Bomb -item.grenade_poison.name=Poison Grenade -item.grenade_gas.name=Gas Grenade -item.grenade_pulse.name=Impulse Grenade -item.grenade_plasma.name=Plasma Grenade -item.grenade_tau.name=Tau Grenade -item.grenade_schrabidium.name=Schrabidium Grenade -item.grenade_lemon.name=Combustible Lemon -item.grenade_gascan.name=Tossable Gas Can -item.grenade_mk2.name=Mk 2 Grenade "Ambassador Pineapple" -item.grenade_aschrab.name=Tossable Antischrabidium Cell -item.grenade_nuke.name=Mark VI Drill Grenade -item.grenade_nuclear.name=Nuka Grenade -item.grenade_zomg.name=Negative Energy Pair Annihilation Grenade -item.grenade_black_hole.name=Black Hole Grenade -item.grenade_cloud.name=Jar of Cloud -item.grenade_pink_cloud.name=Jar of Pink Cloud -item.ullapool_caber.name=Ullapool Caber -item.grenade_smart.name=Smart Grenade -item.grenade_mirv.name=MIRV Grenade -item.grenade_breach.name=Breaching Grenade -item.grenade_burst.name=Digger Grenade - -item.grenade_if_generic.name=IF - Grenade -item.grenade_if_he.name=IF - HE Grenade -item.grenade_if_bouncy.name=IF - Bouncy Grenade -item.grenade_if_sticky.name=IF - Sticky Grenade -item.grenade_if_impact.name=IF - Impact Grenade -item.grenade_if_incendiary.name=IF - Incendiary Grenade -item.grenade_if_toxic.name=IF - Toxic Grenade -item.grenade_if_concussion.name=IF - Concussion Grenade -item.grenade_if_brimstone.name=IF - Tossable Brimstone Mine -item.grenade_if_mystery.name=IF - M.-Grenade -item.grenade_if_spark.name=IF - S.-Grenade -item.grenade_if_hopwire.name=IF - Vortex Hopwire -item.grenade_if_null.name=IF - Null Grenade - -item.rod_uranium_fuel.name=Uranium Fuel Rod -item.rod_dual_uranium_fuel.name=Uranium Dual Fuel Rod -item.rod_quad_uranium_fuel.name=Uranium Quad Fuel Rod -item.rod_thorium_fuel.name=Thorium Fuel Rod -item.rod_dual_thorium_fuel.name=Thorium Dual Fuel Rod -item.rod_quad_thorium_fuel.name=Thorium Quad Fuel Rod -item.rod_plutonium_fuel.name=Plutonium Fuel Rod -item.rod_dual_plutonium_fuel.name=Plutonium Dual Fuel Rod -item.rod_quad_plutonium_fuel.name=Plutonium Quad Fuel Rod -item.rod_mox_fuel.name=MOX Fuel Rod -item.rod_dual_mox_fuel.name=MOX Dual Fuel Rod -item.rod_quad_mox_fuel.name=MOX Quad Fuel Rod -item.rod_schrabidium_fuel.name=Schrabidium Fuel Rod -item.rod_dual_schrabidium_fuel.name=Schrabidium Dual Fuel Rod -item.rod_quad_schrabidium_fuel.name=Schrabidium Quad Fuel Rod - -item.rod_water.name=Water Cell -item.rod_dual_water.name=Dual Water Cell -item.rod_quad_water.name=Quad Water Cell - -item.rod_coolant.name=Coolant Cell -item.rod_dual_coolant.name=Dual Coolant Cell -item.rod_quad_coolant.name=Quad Coolant Cell - -item.rod_lithium.name=Lithium Rod -item.rod_dual_lithium.name=Dual Lithium Rod -item.rod_quad_lithium.name=Quad Lithium Rod - -item.rod_tritium.name=Tritium Cell -item.rod_dual_tritium.name=Dual Tritium Cell -item.rod_quad_tritium.name=Quad Tritium Cell - -item.levitation_unit.name=Gravity Manipulator -item.thermo_unit_empty.name=Thermic Distribution Unit -item.thermo_unit_endo.name=Coldness Distribution Unit -item.thermo_unit_exo.name=Heat Distribution Unit - -item.bomb_waffle.name=Waffle of Mass Destruction -item.schnitzel_vegan.name=Vegan Schnitzel -item.apple_schrabidium.name=Schrabidium Apple -item.cotton_candy.name=Radioactive Cotton Candy -item.tem_flakes.name=Tem Flakes -item.glowing_stew.name=Glowing Mushroom Stew -item.lemon.name="Lemon" -item.definitelyfood.name=TotallyNotDirt-Brand MRE -item.loops.name=Lööps -item.loop_stew.name=IT Breakfast -item.fooditem.name=food item - -tile.frozen_grass.name=Frozen Grass -tile.frozen_dirt.name=Frozen Dirt -tile.frozen_log.name=Frozen Log -tile.frozen_planks.name=Frozen Planks - -tile.tape_recorder.name=Tape Recorder -tile.steel_poles.name=Steel Pole -tile.pole_top.name=Antenna Top -tile.pole_satellite_receiver.name=Satellite Dish -tile.steel_wall.name=Steel Wall -tile.steel_corner.name=Steel Wall Corner -tile.steel_roof.name=Flat Steel Roof -tile.steel_beam.name=Steel Beam -tile.steel_scaffold.name=Steel Scaffold - -item.gun_revolver_iron.name=Simple Revolver -item.gun_revolver.name=Enhanced Revolver -item.gun_revolver_saturnite.name=Saturnite Shooter -item.gun_revolver_gold.name=Golden Revolver -item.gun_revolver_lead.name=Nuka Revolver -item.gun_revolver_schrabidium.name=Schrabidium Revolver -item.gun_revolver_cursed.name=Cursed Revolver -item.gun_revolver_nightmare.name=Nightmare Revolver (Original) -item.gun_revolver_nightmare2.name=Nightmare Revolver (Dark) -item.gun_revolver_pip.name=Lil' Pipsqueak -item.gun_revolver_nopip.name=Novac -item.gun_revolver_blackjack.name=Blackjack Five-Shooter -item.gun_revolver_red.name=Red Key Revolver -item.gun_calamity.name=Calamity -item.gun_calamity_dual.name=Saddle Gun -item.gun_minigun.name=CZ53 Personal Minigun -item.gun_avenger.name=CZ57 Avenger Minigun -item.gun_lacunae.name=CZ33 Abaddon -item.gun_fatman.name=M42 Nuclear Catapult "Fat Man" -item.gun_proto.name=M42 Nuclear Catapult "Proto MIRV" -item.gun_mirv.name=M42 Nuclear Catapult "Experimental MIRV" -item.gun_bf.name=M42_2 Nuclear Catapult "Antimatter Launcher" -item.gun_mp40.name=Submachine Gun -item.gun_uzi.name=IMI Uzi -item.gun_uzi_silencer.name=IMI Uzi with Silencer -item.gun_uzi_saturnite.name=Saturnite Uzi -item.gun_uzi_saturnite_silencer.name=Saturnite Uzi with Silencer -item.gun_uboinik.name=Uboinik -item.gun_lever_action.name=Mare's Leg (Original) -item.gun_bolt_action.name=Dream Bolt-Action Rifle (Original) -item.gun_lever_action_dark.name=Mare's Leg (Dark) -item.gun_bolt_action_green.name=Dream Bolt-Action Rifle (Green) -item.gun_bolt_action_saturnite.name=Saturnite Rifle -item.gun_lever_action_sonata.name=Flipped Mare's Leg -item.gun_lever_action_sonata_2.name=§cSonata's Microphone§r -item.gun_b92.name=§9B92 Energy Pistol§r -item.gun_b93.name=§cB93 Energy Mod§r -item.gun_xvl1456.name=XVL1456 Tau Cannon Prototype -item.gun_osipr.name=Overwatch Standard Issue Pulse Rifle -item.gun_immolator.name=The Immolator -item.gun_cryolator.name=The Cryolator -item.gun_mp.name=Pacifist's Machine Gun -item.gun_zomg.name=Singularity Powered Annihilation Ray "ZOMG Cannon" -item.gun_emp.name=EMP Ray -item.gun_super_shotgun.name=Super Shotgun -item.gun_moist_nugget.name=Mosin-Nagant -item.gun_revolver_inverted.name=Flipped Revolver -item.gun_jack.name=Jackhammer -item.gun_spark.name=Spark Plug -item.gun_hp.name=HPP Lazerjet -item.gun_euthanasia.name=Euthanasia -item.gun_defabricator.name=Defabricator -item.gun_dampfmaschine.name=Totally Not a Joke Weapon -item.gun_folly.name=Prototype Digamma "Folly" - -item.gun_revolver_iron_ammo.name=Bullet -item.gun_revolver_ammo.name=Lead Bullet -item.gun_revolver_gold_ammo.name=Golden Bullet -item.gun_revolver_lead_ammo.name=Glass Covered Nuclear Bullet -item.gun_revolver_schrabidium_ammo.name=Schrabidium Bullet -item.gun_revolver_cursed_ammo.name=Steel Bullet -item.gun_revolver_nightmare_ammo.name=Nightmare Bullet -item.gun_revolver_nightmare2_ammo.name=Laser Buckshot -item.gun_revolver_pip_ammo.name=Tainted Bullet -item.gun_revolver_nopip_ammo.name=.44 Magnum Bullet -item.gun_calamity_ammo.name=.50 BMG Round -item.gun_lacunae_ammo.name=5mm Round -item.gun_fatman_ammo.name=Mini Nuke -item.gun_mirv_ammo.name=Eightfold MIRV -item.gun_bf_ammo.name=Mk.V Compact AMAT-Artillery Shell - Type B.F. -item.gun_mp40_ammo.name=Submachine Gun Round -item.gun_uzi_ammo.name=.22 LR Round -item.gun_uboinik_ammo.name=12x70 Buckshot -item.gun_lever_action_ammo.name=12x74 Buckshot -item.gun_bolt_action_ammo.name=12x74 Slug -item.gun_b92_ammo.name=§9B92 Energy Cell§r -item.gun_xvl1456_ammo.name=Depleted Uranium-235 Box -item.gun_osipr_ammo.name=Dark Energy Pulse Plug -item.gun_osipr_ammo2.name=Combine Ball -item.gun_immolator_ammo.name=Immolator Fuel -item.gun_cryolator_ammo.name=Cryo Cell -item.gun_mp_ammo.name=Small Propellantless Machine Gun Round -item.gun_emp_ammo.name=Energy Cell -item.gun_jack_ammo.name=Quadruple Shotgun Shell -item.gun_spark_ammo.name=Electromagnetic Cartridge -item.gun_hp_ammo.name=Ink Cartridge -item.gun_euthanasia_ammo.name=Syringe -item.gun_defabricator_ammo.name=Defabricator Energy Cell - -item.ammo_12gauge.name=12 Gauge Buckshot -item.ammo_12gauge_incendiary.name=12 Gauge Buckshot (Incendiary) -item.ammo_20gauge.name=20 Gauge Buckshot -item.ammo_20gauge_slug.name=20 Gauge Brenneke Slug -item.ammo_20gauge_flechette.name=20 Gauge Flechette Shell -item.ammo_20gauge_incendiary.name=20 Gauge Buckshot (Incendiary) -item.ammo_20gauge_shock.name=20 Gauge Buckshot (Shock) -item.ammo_20gauge_caustic.name=20 Gauge Buckshot (Caustic) -item.ammo_20gauge_explosive.name=20 Gauge Buckshot (Explosive) -item.ammo_20gauge_wither.name=20 Gauge Buckshot (Withering) -item.ammo_5mm.name=5mm Round -item.ammo_5mm_explosive.name=5mm Round (Explosive) -item.ammo_5mm_du.name=5mm Round (DU) -item.ammo_50bmg.name=.50 BMG Round -item.ammo_50bmg_incendiary.name=.50 BMG Round (Incendiary) -item.ammo_50bmg_explosive.name=.50 BMG Round (Explosive) -item.ammo_50bmg_du.name=.50 BMG Round (DU) -item.ammo_9mm.name=9mm Round -item.ammo_9mm_ap.name=9mm Round (Armor Piercing) -item.ammo_9mm_du.name=9mm Round (DU) -item.ammo_22lr.name=.22 LR Round -item.ammo_22lr_ap.name=.22 LR Round (Armor Piercing) -item.ammo_folly.name=Silver Bullet (Original) -item.ammo_folly_nuclear.name=Silver Bullet (Nuclear) -item.ammo_folly_du.name=Silver Bullet (DU, Non-Explosive) -item.ammo_44.name=.44 Magnum Bullet -item.ammo_44_ap.name=.44 Magnum Bullet (Armor Piercing) -item.ammo_44_du.name=.44 Magnum Bullet (DU) -item.ammo_44_pip.name=.44 Magnum Bullet (Boxcar) -item.ammo_44_bj.name=.44 Magnum Bullet (Boat) -item.ammo_rocket.name=84mm Rocket -item.ammo_rocket_he.name=84mm Rocket (HE) -item.ammo_rocket_incendiary.name=84mm Rocket (Incendiary) -item.ammo_rocket_shrapnel.name=84mm Rocket (Shrapnel) -item.ammo_rocket_emp.name=84mm Rocket (Pulse) -item.ammo_rocket_glare.name=84mm Rocket (Red Glare) -item.ammo_rocket_sleek.name=84mm Rocket (IF-R&D) -item.ammo_grenade.name=40mm Grenade -item.ammo_grenade_he.name=40mm Grenade (HE) -item.ammo_grenade_incendiary.name=40mm Grenade (Incendiary) -item.ammo_grenade_toxic.name=40mm Grenade (Chemical) -item.ammo_grenade_sleek.name=40mm Grenade (IF-R&D) - -item.folly_shell.name=Silver Bullet Casing -item.folly_bullet.name=12.8cm Starmetal High-Energy Shell -item.folly_bullet_nuclear.name=12.8cm Nuclear Shell -item.folly_bullet_du.name=12.8cm DU-Shell - -item.cordite.name=Cordite -item.plate_kevlar.name=Kevlar-Ceramic Compound - -item.weaponized_starblaster_cell.name=§cRigged Star Blaster Energy Cell§r - -item.turret_light_ammo.name=Light MG Turret Ammo Box -item.turret_heavy_ammo.name=Heavy MG Turret Ammunition -item.turret_rocket_ammo.name=Rocket Turret 2x4 Ammunition -item.turret_flamer_ammo.name=Flamer Turret Fuel Tanks -item.turret_tau_ammo.name=Tau Turret Uranium Ammo -item.turret_spitfire_ammo.name=AA-Shell -item.turret_cwis_ammo.name=CIWS 20mm Ammo Drum -item.turret_cheapo_ammo.name=6x24 Cheapo Turret Ammunition - -item.clip_revolver_iron.name=Box of Iron Rounds -item.clip_revolver.name=Box of .357 Rounds -item.clip_revolver_gold.name=Small Coffer of Golden Bullets -item.clip_revolver_schrabidium.name=Schrabidium Ammo Container -item.clip_rpg.name=Rocket Container -item.clip_xvl1456.name=Large Isotope Box -item.clip_osipr.name=AR2 Magazine -item.clip_immolator.name=Tank of Immolator Fuel -item.clip_cryolator.name=Tank of Cryolator Fuel -item.clip_revolver_lead.name=Box of Nuclear Bullets -item.clip_revolver_cursed.name=Britannia Military Standard Issue Pisol Magazine -item.clip_fatman.name=Six Pack of Mini Nukes -item.clip_mirv.name=Three-In-One Pack of Mini MIRVs -item.clip_bf.name=BF-Shell Double Pack -item.clip_mp.name=Britannia Military Standard Issue Assult Rifle Magazine -item.clip_mp40.name=9mm SMG Magazine -item.clip_uzi.name=32rnd .22 LR Magazine -item.clip_uboinik.name=Box of 12x70 Buckshot Rounds -item.clip_lever_action.name=Box of 12x74 Buckshot Rounds -item.clip_bolt_action.name=Box of 12x74 Slugs -item.clip_emp.name=Small Pack of Energy Cells -item.clip_revolver_nightmare.name=Bag of Bullets -item.clip_revolver_nightmare2.name=Belt with Laser Buckshot -item.clip_revolver_pip.name=Speedloader with Tainted Bullets -item.clip_revolver_nopip.name=Box of .44 Rounds -item.clip_stinger.name=Pack of Stinger Rockets -item.clip_jack.name=Box of Quadruple 12x70 Buckshot Rounds -item.clip_spark.name=Large Electromagnetic Cartridge -item.clip_hp.name=Ink Tanks -item.clip_euthanasia.name=Last Aid Kit -item.clip_defabricator.name=Belt with Defabricator Energy Cells - -item.ammo_container.name=Ammo Container - -tile.block_schrabidium.name=Block of Schrabidium -item.plate_gold.name=Gold Plate - -item.syringe_empty.name=Empty Syringe -item.syringe_antidote.name=Antidote -item.syringe_poison.name=Poisonous Injection -item.syringe_awesome.name=AWESOME -item.syringe_metal_empty.name=Metal Syringe -item.syringe_metal_stimpak.name=Stimpak -item.syringe_metal_medx.name=Med-X -item.syringe_metal_psycho.name=Psycho -item.syringe_metal_super.name=Super Stimpak -item.syringe_taint.name=Watery Taint Injection -item.med_bag.name=Doctor's Bag -item.radaway.name=RadAway -item.radaway_strong.name=Strong RadAway -item.radaway_flush.name=Elite RadAway -item.radx.name=Rad-X -item.pirfenidone.name=Pirfenidone -item.pill_iodine.name=Iodine Pill -item.plan_c.name=Plan C -item.med_ipecac.name=Ipecac Syrup -item.med_ptsd.name=PTSD Medication -item.med_schiziphrenia.name=Schizophrenia Medication -item.gas_mask_filter.name=Gas Mask Filter - -item.stealth_boy.name=Stealth Device - -entity.hbm.entity_bullet.name=Bullet -entity.hbm.entity_rocket.name=Rocket -entity.hbm.entity_schrabnel.name=Schrabnel -entity.entity_mob_nuclear_creeper.name=Nuclear Creeper -entity.entity_mob_tainted_creeper.name=Tainted Creeper -entity.entity_mob_hunter_chopper.name=Hunter Chopper -entity.entity_cyber_crab.name=Cyber Crab - -item.cap_aluminium.name=Aluminium Cap -item.hull_small_steel.name=Small Steel Shell -item.hull_small_aluminium.name=Small Aluminium Shell -item.hull_big_steel.name=Big Steel Shell -item.hull_big_aluminium.name=Big Aluminium Shell -item.hull_big_titanium.name=Big Titanium Shell -item.fins_flat.name=Flat Steel Casing -item.fins_small_steel.name=Small Steel Grid Fins -item.fins_big_steel.name=Big Steel Grid Fins -item.fins_tri_steel.name=Large Steel Fins -item.fins_quad_titanium.name=Small Titanium Fins -item.sphere_steel.name=Steel Sphere -item.pedestal_steel.name=Steel Pedestal -item.dysfunctional_reactor.name=Dysfunctional Nuclear Reactor - -item.rotor_steel.name=Large Steel Rotor -item.generator_steel.name=Generator Body -item.blade_titanium.name=Titanium Blade -item.turbine_titanium.name=Titanium Steam Turbine -item.generator_front.name=Generator Front -item.blade_tungsten.name=Tungsten Reinforced Blade -item.turbine_tungsten.name=Reinforced Turbofan Blades - -item.combine_scrap.name=CMB Scrap Metal -item.chopper_head.name=Hunter Chopper Cockpit -item.chopper_gun.name=Emplacement Gun -item.chopper_torso.name=Hunter Chopper Body -item.chopper_tail.name=Hunter Chopper Tail -item.chopper_wing.name=Hunter Chopper Wing -item.chopper_blades.name=Hunter Chopper Rotor Blades - -item.igniter.name=Igniter -item.watch.name=Broken Pocket Watch -item.apple_euphemium.name=Euphemium Apple -item.ingot_euphemium.name=Euphemium Ingot -item.nugget_euphemium.name=Euphemium Nugget -item.rod_quad_euphemium.name=Burned Out Quad Schrabidium Fuel Rod -item.plate_euphemium.name=Euphemium Compound Plate -item.plate_dineutronium.name=Dineutronium Compound Plate -item.plate_desh.name=Desh Compound Plate - -item.euphemium_helmet.name=Euphemium Helmet -item.euphemium_plate.name=Euphemium Chestplate -item.euphemium_legs.name=Euphemium Leggings -item.euphemium_boots.name=Euphemiums Boots - -item.schrabidium_helmet.name=Schrabidium Helmet -item.schrabidium_plate.name=Schrabidium Chestplate -item.schrabidium_legs.name=Schrabidium Leggings -item.schrabidium_boots.name=Schrabidium Boots -item.schrabidium_sword.name=Schrabidium Sword -item.schrabidium_pickaxe.name=Schrabidium Pickaxe -item.schrabidium_axe.name=Schrabidium Axe -item.schrabidium_shovel.name=Schrabidium Shovel -item.schrabidium_hoe.name=Schrabidium Hoe - -item.jetpack_boost.name=Boostpack -item.jetpack_fly.name=Jetpack -item.jetpack_break.name=Breakpack -item.jetpack_vector.name=Vectored Jetpack -item.jetpack_tank.name=Jetpack Reserve Fuel Tank - -item.gun_kit_1.name=Gun Oil -item.gun_kit_2.name=Gun Repair Kit - -item.chainsaw.name=Chainsaw -item.crowbar.name=Mk.V Crate Opening Device "Crowbar" - -item.wrench.name=Pipe Wrench -item.wrench_flipped.name=Blade on a Wrench -item.memespoon.name=§eMarket Gardener - -item.mask_of_infamy.name=Mask of Infamy - -tile.det_cord.name=Det Cord -tile.det_charge.name=Explosive Charge -tile.det_nuke.name=Nuclear Charge -tile.red_barrel.name=Explosive Barrel -tile.yellow_barrel.name=Radioactive Barrel - -item.designator.name=Short Range Target Designator -item.designator_range.name=Long Range Target Designator -item.designator_manual.name=Manual Target Designator -item.missile_assembly.name=Small Missile Assembly -item.missile_generic.name=High Explosive Missile -item.missile_anti_ballistic.name=Anti Ballistic Missile (WIP) -item.missile_incendiary.name=Incendiary Missile -item.missile_cluster.name=Cluster Missile -item.missile_buster.name=Bunker Buster -item.missile_strong.name=Strong HE Missile -item.missile_incendiary_strong.name=Strong Incendiary Missile -item.missile_cluster_strong.name=Strong Cluster Missile -item.missile_buster_strong.name=Enhanced Bunker Buster -item.missile_burst.name=Spare Missile -item.missile_inferno.name=Inferno Missile G.R.N. Mk.II -item.missile_rain.name=Bomblet Rain -item.missile_drill.name=The Concrete Cracker -item.missile_nuclear.name=Nuclear Missile -item.missile_nuclear_cluster.name=Thermonuclear Missile -item.missile_endo.name=Endothermic Missile -item.missile_exo.name=Exothermic Missile -item.missile_doomsday.name=Doomsday Missile -item.missile_taint.name=Taint-Tipped Missile -item.missile_micro.name=Micro-Nuclear Missile -item.missile_bhole.name=Black Hole Missile -item.missile_schrabidium.name=Schrabidium Missile -item.missile_emp.name=EMP Missile - -item.missile_carrier.name=HTR-01 Carrier Rocket -item.sat_mapper.name=Surface Mapping Satellite -item.sat_scanner.name=Satellite with Depth-Resource Scanning Module -item.sat_radar.name=Radar Survey Satellite -item.sat_laser.name=Orbital Death Ray -item.sat_foeq.name=PEAF - Mk.I FOEQ Duna Probe with experimental Nuclear Propulsion -item.sat_resonator.name=Xenium Resonator Satellite -item.sat_miner.name=Asteroid Mining Ship -item.sat_chip.name=Satellite ID-Chip -item.sat_interface.name=Satellite Control Interface -tile.sat_mapper.name=Surface Mapping Satellite (Deco Block) -tile.sat_scanner.name=Satellite with Depth-Resource Scanning Module (Deco Block) -tile.sat_radar.name=Radar Survey Satellite (Deco Block) -tile.sat_laser.name=Orbital Death Ray (Deco Block) -tile.sat_foeq.name=PEAF - Mk.I FOEQ Duna Probe with experimental Nuclear Propulsion (Deco Block) -tile.sat_resonator.name=Xenium Resonator Satellite (Deco Block) - -item.hazmat_helmet.name=Hazmat Helmet -item.hazmat_plate.name=Hazmat Chestplate -item.hazmat_legs.name=Hazmat Leggings -item.hazmat_boots.name=Hazmat Boots -item.hazmat_helmet_red.name=Advanced Hazmat Helmet -item.hazmat_plate_red.name=Advanced Hazmat Chestplate -item.hazmat_legs_red.name=Advanced Hazmat Leggings -item.hazmat_boots_red.name=Advanced Hazmat Boots -item.hazmat_helmet_grey.name=High-Performance Hazmat Helmet -item.hazmat_plate_grey.name=High-Performance Hazmat Chestplate -item.hazmat_legs_grey.name=High-Performance Hazmat Leggings -item.hazmat_boots_grey.name=High-Performance Hazmat Boots -item.hazmat_paa_helmet.name=PaA Battle Hazmat Suit Helmet -item.hazmat_paa_plate.name=PaA Battle Hazmat Suit Chestplate -item.hazmat_paa_legs.name=PaA Battle Hazmat Suit Leggings -item.hazmat_paa_boots.name=PaA Battle Hazmat Suit Boots -item.asbestos_helmet.name=Fire Proximity Helmet -item.asbestos_plate.name=Fire Proximity Chestplate -item.asbestos_legs.name=Fire Proximity Leggings -item.asbestos_boots.name=Fire Proximity Boots - -item.paa_plate.name=PaA Chest Protection Plate -item.paa_legs.name=PaA Leg Reinforcements -item.paa_boots.name=PaA "good ol' shoes" - -item.jackt.name=Damn Stylish Ballistic Jacket -item.jackt2.name=Damn Stylish Ballistic Jacket 2: Tokyo Drift - -item.goggles.name=Protection Goggles -item.gas_mask.name=Gas Mask -item.gas_mask_m65.name=M65-Z Gas Mask -item.oxy_mask.name=Oxygen Mask -item.t45_helmet.name=T45 Power Armor Helmet -item.t45_plate.name=T45 Power Armor Chestplate -item.t45_legs.name=T45 Power Armor Leggings -item.t45_boots.name=T45 Power Armor Boots - -tile.mush.name=Glowing Mushroom -tile.waste_mycelium.name=Glowing Mycelium - -tile.sellafield_slaked.name=Slaked Sellafite -tile.sellafield_0.name=Sellafite -tile.sellafield_1.name=Hot Sellafite -tile.sellafield_2.name=Boiling Sellafite -tile.sellafield_3.name=Blazing Sellafite -tile.sellafield_4.name=Infernal Sellafite -tile.sellafield_core.name=Sellafite-Corium - -item.warhead_generic_small.name=Small Warhead -item.warhead_generic_medium.name=Medium Warhead -item.warhead_generic_large.name=Large Warhead -item.warhead_incendiary_small.name=Small Incendiary Warhead -item.warhead_incendiary_medium.name=Medium Incendiary Warhead -item.warhead_incendiary_large.name=Large Incendiary Warhead -item.warhead_cluster_small.name=Small Cluster Warhead -item.warhead_cluster_medium.name=Medium Cluster Warhead -item.warhead_cluster_large.name=Large Cluster Warhead -item.warhead_buster_small.name=Small Bunker Buster Warhead -item.warhead_buster_medium.name=Medium Bunker Buster Warhead -item.warhead_buster_large.name=Large Bunker Buster Warhead -item.warhead_nuclear.name=Nuclear Warhead -item.warhead_mirvlet.name=MIRV -item.warhead_mirv.name=Thermonuclear Warhead -item.warhead_thermo_endo.name=Endothermic Warhead -item.warhead_thermo_exo.name=Exothermic Warhead -item.fuel_tank_small.name=Small Fuel Tank -item.fuel_tank_medium.name=Medium Fuel Tank -item.fuel_tank_large.name=Large Fuel Tank -item.thruster_small.name=Small Thruster -item.thruster_medium.name=Medium Thruster -item.thruster_large.name=Large Thruster - -item.wand_k.name=Construction Wand -item.wand_s.name=Structure Wand -item.wand_d.name=Debug Wand -item.analyzer.name=Analyzer - -item.screwdriver.name=Screwdriver -item.overfuse.name=Singularity Screwdriver - -item.steel_helmet.name=Steel Helmet -item.steel_plate.name=Steel Chestplate -item.steel_legs.name=Steel Leggings -item.steel_boots.name=Steel Boots -item.titanium_helmet.name=Titanium Helmet -item.titanium_plate.name=Titanium Chestplate -item.titanium_legs.name=Titanium Leggings -item.titanium_boots.name=Titanium Boots -item.alloy_helmet.name=Advanced Alloy Helmet -item.alloy_plate.name=Advanced Alloy Chestplate -item.alloy_legs.name=Advanced Alloy Leggings -item.alloy_boots.name=Advanced Alloy Boots -item.cmb_helmet.name=CMB Steel Helmet -item.cmb_plate.name=CMB Steel Chestplate -item.cmb_legs.name=CMB Steel Leggings -item.cmb_boots.name=CMB Steel Boots -item.security_helmet.name=Security Helmet -item.security_plate.name=Security Chestplate -item.security_legs.name=Security Leggings -item.security_boots.name=Security Boots - -item.steel_sword.name=Steel Sword -item.steel_pickaxe.name=Steel Pickaxe -item.steel_axe.name=Steel Axe -item.steel_shovel.name=Steel Shovel -item.steel_hoe.name=Steel Hoe -item.titanium_sword.name=Titanium Sword -item.titanium_pickaxe.name=Titanium Pickaxe -item.titanium_axe.name=Titanium Axe -item.titanium_shovel.name=Titanium Shovel -item.titanium_hoe.name=Titanium Hoe -item.alloy_sword.name=Advanced Alloy Sword -item.alloy_pickaxe.name=Advanced Alloy Pickaxe -item.alloy_axe.name=Advanced Alloy Axe -item.alloy_shovel.name=Advanced Alloy Shovel -item.alloy_hoe.name=Advanced Alloy Hoe -item.cmb_sword.name=CMB Steel Sword -item.cmb_pickaxe.name=CMB Steel Pickaxe -item.cmb_axe.name=CMB Steel Axe -item.cmb_shovel.name=CMB Steel Shovel -item.cmb_hoe.name=CMB Steel Hoe -item.elec_sword.name=Stunstick -item.elec_pickaxe.name=Impact Drill -item.elec_axe.name=Electric Chainsaw -item.elec_shovel.name=Spiral Drill -item.desh_sword.name=Worker's Alloy Sword -item.desh_pickaxe.name=Worker's Alloy Pickaxe -item.desh_axe.name=Worker's Alloy Axe -item.desh_shovel.name=Worker's Alloy Shovel -item.desh_hoe.name=Worker's Alloy Hoe - -tile.red_cable.name=Red Copper Cable - -tile.block_meteor.name=Meteorite Block -tile.block_meteor_broken.name=Broken Meteorite Block -tile.block_meteor_cobble.name=Meteorite Cobblestone -tile.block_meteor_molten.name=Hot Meteorite Cobblestone -tile.block_meteor_treasure.name=Meteorite Treasure Block - -item.cape_radiation.name=Cape (Radiation) -item.cape_gasmask.name=Cape (Gas Mask) -item.cape_schrabidium.name=Cape (Schrabidic) -item.cape_hbm.name=Hbm's Cape -item.cape_dafnik.name=Dafnik's Cape -item.cape_lpkukin.name=LPkukin's Cape -item.cape_vertice.name=Lord Vertice's Cape -item.cape_codered_.name=codered_'s Cape -item.cape_ayy.name=Ayy's Cape -item.cape_nostalgia.name=DrNostalgia's Cape - -tile.machine_converter_he_rf.name=HE to RF Converter -tile.machine_converter_rf_he.name=RF to HE Converter -tile.machine_transformer.name=10k-20Hz Transformer -tile.machine_transformer_dnt.name=DNT-20Hz Transformer -tile.machine_transformer_20.name=10k-1Hz Transformer -tile.machine_transformer_dnt_20.name=DNT-1Hz Transformer - -tile.vent_chlorine.name=Chlorine Vent -tile.vent_cloud.name=Cloud Vent -tile.vent_pink_cloud.name=Pink Cloud Vent - -tile.absorber.name=Radiation Absorber -tile.absorber_red.name=Enhanced Radiation Absorber -tile.absorber_green.name=Advanced Radiation Absorber -tile.absorber_pink.name=Elite Radiation Absorber -tile.decon.name=Player Decontaminator - -item.schrabidium_hammer.name=Schrabidium Hammer -item.shimmer_sledge.name=Shimmer Sledge -item.shimmer_axe.name=Shimmer Axe -item.euphemium_stopper.name=Stopper -item.matchstick.name=Matchstick -item.remote.name=Broken Remote - -item.shimmer_head.name=Heavy Hammer Head -item.shimmer_axe_head.name=Heavy Axe Head -item.shimmer_handle.name=Reinforced Polymer Handle - -item.redcoil_capacitor.name=Redcoil Capacitor -item.detonator.name=Detonator -item.detonator_multi.name=Multi Detonator -item.detonator_laser.name=Laser Detonator -item.detonator_deadman.name=Dead Man's Detonator -item.detonator_de.name=Dead Man's Explosive -item.crate_caller.name=Supply Drop Requester -item.bomb_caller.name=Airstrike Designator -item.meteor_remote.name=Meteorite Remote - -item.ingot_hes.name=Highly Enriched Schrabidium Fuel Ingot -item.ingot_les.name=Low Enriched Schrabidium Fuel Ingot -item.nugget_hes.name=Highly Enriched Schrabidium Fuel Nugget -item.nugget_les.name=Low Enriched Schrabidium Fuel Nugget - -item.pellet_schrabidium.name=Pure Schrabidium Watz Pellet -item.pellet_hes.name=HES Watz Pellet -item.pellet_mes.name=MES Watz Pellet -item.pellet_les.name=LES Watz Pellet -item.pellet_beryllium.name=Beryllium Moderator Pellet -item.pellet_neptunium.name=Neptunium Watz Pellet -item.pellet_lead.name=Lead Reflector Pellet -item.pellet_advanced.name=Advanced Watz Performance Improver - -item.titanium_filter.name=Titanium Filter - -tile.mud_block.name=Poisonous Mud -fluid.mud_fluid=Poisonous Mud -item.bucket_mud.name=Bucket of Poisonous Mud -tile.acid_block.name=Acid -fluid.acid_fluid=Acid -item.bucket_acid.name=Bucket of Acid -tile.toxic_block.name=Stereotypical Green Ooze -fluid.toxic_fluid=Stereotypical Green Ooze -item.bucket_toxic.name=Bucket of Stereotypical Green Ooze -item.tank_waste_0.name=Mud Container -item.tank_waste_1.name=Mud Container -item.tank_waste_2.name=Mud Container -item.tank_waste_3.name=Mud Container -item.tank_waste_4.name=Mud Container -item.tank_waste_5.name=Mud Container -item.tank_waste_6.name=Mud Container -item.tank_waste_7.name=Mud Container -item.tank_waste_8.name=Mud Container - -item.can_empty.name=Empty Can -item.can_smart.name='Smart' Energy Drink -item.can_creature.name='Creature' Energy Drink -item.can_redbomb.name='Red Bomb' Energy Drink -item.can_mrsugar.name='Dr. Sugar' Soft Drink -item.can_overcharge.name=Overcharge Delirium XT -item.can_luna.name=Black Mesa Luna - Dark Cola -item.bottle_empty.name=Empty Bomb-Shaped Bottle -item.bottle_nuka.name=Bottle of Nuka Cola -item.bottle_cherry.name=Bottle of Nuka Cherry -item.bottle_quantum.name=Bottle of Nuka Cola Quantum -item.bottle_sparkle.name=Bottle of S~Cola -item.bottle_rad.name=Bottle of S~Cola RAD -item.bottle2_empty.name=Empty Bottle -item.bottle2_korl.name=Korl -item.bottle2_fritz.name=Fritz Cola -item.bottle2_korl_special.name=The First Korl -item.bottle2_fritz_special.name=The First Fritz Cola -item.bottle2_sunset.name=Sunset Sarsaparilla -item.chocolate_milk.name=Chocolate Milk -item.cap_nuka.name=Nuka Cola Bottle Cap -item.cap_quantum.name=Nuka Cola Quantum Bottle Cap -item.cap_sparkle.name=S~Cola Bottle Cap -item.cap_rad.name=S~Cola RAD Bottle Cap -item.cap_korl.name=Korl Bottle Cap -item.cap_fritz.name=Fritz Cola Bottle Cap -item.cap_sunset.name=Sunset Sarsaparilla Bottle Cap -item.cap_star.name=Sunset Sarsaparilla Star Cap -item.ring_pull.name=Ring Pull - -item.canteen_13.name=Vault 13 Canteen -item.canteen_vodka.name=Stylish Flask - -item.bottle_opener.name=Hbm's Own Self-Made Bottle Opener - -item.blades_aluminium.name=Aluminium Shredder Blades -item.blades_gold.name=Golden Shredder Blades -item.blades_iron.name=Iron Shredder Blades -item.blades_steel.name=Steel Shredder Blades -item.blades_titanium.name=Titanium Shredder Blades -item.blades_advanced_alloy.name=Advanced Shredder Blades -item.blades_combine_steel.name=CMB Shredder Blades -item.blades_schrabidium.name=Schrabidium Shredder Blades - -item.stamp_stone_flat.name=Flat Stamp (Stone) -item.stamp_stone_plate.name=Plate Stamp (Stone) -item.stamp_stone_wire.name=Wire Stamp (Stone) -item.stamp_stone_circuit.name=Circuit Stamp (Stone) -item.stamp_iron_flat.name=Flat Stamp (Iron) -item.stamp_iron_plate.name=Plate Stamp (Iron) -item.stamp_iron_wire.name=Wire Stamp (Iron) -item.stamp_iron_circuit.name=Circuit Stamp (Iron) -item.stamp_steel_flat.name=Flat Stamp (Steel) -item.stamp_steel_plate.name=Plate Stamp (Steel) -item.stamp_steel_wire.name=Wire Stamp (Steel) -item.stamp_steel_circuit.name=Circuit Stamp (Steel) -item.stamp_titanium_flat.name=Flat Stamp (Titanium) -item.stamp_titanium_plate.name=Plate Stamp (Titanium) -item.stamp_titanium_wire.name=Wire Stamp (Titanium) -item.stamp_titanium_circuit.name=Circuit Stamp (Titanium) -item.stamp_obsidian_flat.name=Flat Stamp (Obsidian) -item.stamp_obsidian_plate.name=Plate Stamp (Obsidian) -item.stamp_obsidian_wire.name=Wire Stamp (Obsidian) -item.stamp_obsidian_circuit.name=Circuit Stamp (Obsidian) -item.stamp_schrabidium_flat.name=Flat Stamp (Schrabidium) -item.stamp_schrabidium_plate.name=Plate Stamp (Schrabidium) -item.stamp_schrabidium_wire.name=Wire Stamp (Schrabidium) -item.stamp_schrabidium_circuit.name=Circuit Stamp (Schrabidium) -item.stamp_357.name=.357 Magnum Stamp -item.stamp_44.name=.44 Magnum Stamp -item.stamp_9.name=Small Caliber Stamp -item.stamp_50.name=Large Caliber Stamp - -item.part_lithium.name=Box of Lithium Dust -item.part_beryllium.name=Box of Beryllium Dust -item.part_carbon.name=Box of Carbon Dust -item.part_copper.name=Box of Copper Dust -item.part_plutonium.name=Box of Plutonium Dust - -item.rune_blank.name=Blank Catalyst Matrix -item.rune_isa.name=Cool Catalyst Matrix -item.rune_dagaz.name=Balanced Catalyst Matrix -item.rune_hagalaz.name=Rough Catalyst Matrix -item.rune_jera.name=Multiplicative Catalyst Matrix -item.rune_thurisaz.name=Additive Catalyst Matrix - -item.ams_catalyst_blank.name=Blank Reaction Catalyst -item.ams_catalyst_aluminium.name=Aluminium Reaction Catalyst -item.ams_catalyst_beryllium.name=Beryllium Reaction Catalyst -item.ams_catalyst_caesium.name=Caeseium Reaction Catalyst -item.ams_catalyst_cerium.name=Cerium Reaction Catalyst -item.ams_catalyst_cobalt.name=Cobalt Reaction Catalyst -item.ams_catalyst_copper.name=Copper Reaction Catalyst -item.ams_catalyst_euphemium.name=Euphemium Reaction Catalyst -item.ams_catalyst_iron.name=Iron Reaction Catalyst -item.ams_catalyst_lithium.name=Lithium Reaction Catalyst -item.ams_catalyst_niobium.name=Niobium Reaction Catalyst -item.ams_catalyst_strontium.name=Strontium Reaction Catalyst -item.ams_catalyst_thorium.name=Thorium Reaction Catalyst -item.ams_catalyst_tungsten.name=Tungsten Reaction Catalyst -item.ams_catalyst_schrabidium.name=Schrabidium Reaction Catalyst -item.ams_catalyst_dineutronium.name=Dineutronium Reaction Catalyst - -item.ams_focus_blank.name=Blank Stabilizer Focus -item.ams_focus_limiter.name=Limiting Stabilizer Focus -item.ams_focus_booster.name=Boosting Stabilizer Focus - -item.ams_muzzle.name=Ray-Emission Muzzle - -item.ams_core_sing.name=Vibrant Singularity (AMS Core) -item.ams_core_wormhole.name=Tiny Wormhole (AMS Core) -item.ams_core_eyeofharmony.name=Eye of Harmony (AMS Core) -item.ams_core_thingy.name=Thingy (AMS Core) - -item.crystal_energy.name=Energy Crystal -item.pellet_coolant.name=Coolant Cluster - -item.linker.name=Telelinker -item.reactor_sensor.name=Reactor Remote Sensor -item.oil_detector.name=Oil Reservoir Detector -item.geiger_counter.name=Handheld Geiger Counter -tile.geiger.name=Geiger Counter -item.survey_scanner.name=Survey Scanner - -item.thermo_element.name=Thermoelectric Element -item.limiter.name=Generator Limiter - -item.multitool_dig.name=Power Fist (Digging Claw) -item.multitool_silk.name=Power Fist (Silk Touch Claw) -item.multitool_ext.name=Power Fist (Ore Extractor) -item.multitool_miner.name=Power Fist (Extracting Mining Laser) -item.multitool_hit.name=Power Fist (Fist) -item.multitool_beam.name=Power Fist (Zapper) -item.multitool_sky.name=Power Fist (Crack the Sky) -item.multitool_mega.name=Power Fist (Super Punch) -item.multitool_joule.name=Power Fist (Giga Joule) -item.multitool_decon.name=Power Fist (Decontaminator) - -item.australium_iii.name=Mark III Life Extender -item.australium_iv.name=Mark IV Life Extender -item.australium_v.name=Mark V Life Extender - -item.weapon_saw.name=Doctor Assisted Homicide -item.weapon_bat.name=Richard's Default -item.weapon_bat_nail.name=The Cliché -item.weapon_golf_club.name=Russian Mobster's Club -item.weapon_pipe_rusty.name=The Attitude Adjuster -item.weapon_pipe_lead.name=The Manual Override -item.reer_graar.name=The Reer Graar - -item.letter.name=Express Mail -item.polaroid.name=The Polaroid -item.glitch.name=Glitch -item.book_secret.name=3-596-50802-9 -item.book_of_.name=The Book of -item.burnt_bark.name=Burnt Bark - -item.crystal_horn.name=Crystal Horn -item.crystal_charred.name=Charred Crystal -item.ingot_lanthanium.name=Semi-Stable Lanthanium Ingot -item.ingot_actinium.name=Semi-Stable Actinium Ingot - -tile.dummy_block.name=Dummy Block -tile.dummy_port.name=Dummy Block (Electricity Port) - -item.chopper.name=Hunter Chopper - -item.nothing.name=Nothing - -tile.crystal_virus.name=Dark Crystal -tile.crystal_hardened.name=Hardened Dark Crystal -tile.crystal_pulsar.name=Pulsating Crystal - -tile.taint.name=Taint -tile.residue.name=Cloud Residue -item.powder_cloud.name=Cloud Residue - -tile.cheater_virus.name=Gelid Euphemium -tile.cheater_virus_seed.name=Unstable Euphemium Schrabide Block - -item.mysteryshovel.name=Brittle Spade -tile.ntm_dirt.name=Dirt -item.memory.name=item.null.name \ No newline at end of file diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index d19afdb54..ed0747f04 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -16,7 +16,7 @@ achievement.bossMaskman.desc=Bonk the big boy. achievement.bossMaskman=6 Months of mandatory service and all I got was a lousy t-shirt achievement.bossMeltdown.desc=More terrible than great, but I take what I can get. achievement.bossMeltdown=3.6 Roentgen -achievement.bossWorm.desc=The Fabstaff. My ass. You do the math. +achievement.bossWorm.desc=Just a small metal worm. achievement.bossWorm=Disassembling Balls-O-Tron achievement.bossUFO.desc=Yo, what do we have here? A huge spacecraft pulling up to the blockship? achievement.bossUFO=Ayy Lmao @@ -414,14 +414,14 @@ book_lore.bf_bomb_2.page.1=And yet I can't even blame them. Swirlmat makes no go book_lore.bf_bomb_2.page.2=Even worse, this thing is an energy source. The existence of our sample is a violation of ALARA: the lab was vacated when it arrived, and the only person brave enough (one Dr. Melfyn) donned a level A hazmat just to carry it 20 meters. book_lore.bf_bomb_2.page.3=The empirical data isn't better, as we're breaking the first law of thermodynamics with how much energy it radiates. Being anywhere near that thing - even behind a meter of lead - was terrifying. We sprinted out of the chamber upon conclusion of the spectroscopy book_lore.bf_bomb_2.page.4=and we got nothing new out of it. Those idiots in the science team, god, did not even waver after all that. Sitting through those "discussions" was horrible; that quack of a head researcher even rumored that the test ban would be lifted, that we could be -book_lore.bf_bomb_2.page.5=building bombs out of the shit in the coming weeks, who in their right mind would work on that? Hell, the one sane assistant (an Andrew) nicknamed it "balefire" - because burning to death on a funeral pyre would be painless by comparison. +book_lore.bf_bomb_2.page.5=building bombs out of the shit in the coming weeks, who in their right mind would work on that? Hell, the one sane assistant (an Andrew) nicknamed it "balefire" - because burning to death on a funeral pyre would be painless by comparison. book_lore.bf_bomb_3.name=Private Notes book_lore.bf_bomb_3.author=M. Porter book_lore.bf_bomb_3.page.0=The team and I have made some breakthroughs. Emphasis on the separation - isolating myself from the more devout has made working there so much more bearable. While we still have no idea about the actual properties of balefire (it's difficult to analyze book_lore.bf_bomb_3.page.1=a sample that fries your equipment) its interactions with other matter has proved fruitful. Notably, they synthesized a "gaseous" form: Andrew, of all people, informed me that it was really a colloid consisting of microscopic balefire particles, suspended in some book_lore.bf_bomb_3.page.2=noble gas. Each particle is enveloped by a positively-charged 'bubble' of ionized gas, preventing it from settling. Who could've guessed that fatal gamma radiation had a benefit? Not me. $ I'm choosing not to think about how they transformed the sample into -book_lore.bf_bomb_3.page.3=particulate, but I can't understate the utility of this gaseous balefire - it's made it much safer to experiment on. $ Speaking of safety, the head researcher (in an act of callous disregard) made a discovery that also nearly took his head off. +book_lore.bf_bomb_3.page.3=particulate, but I can't understate the utility of this gaseous balefire - it's made it much safer to experiment on. $ Speaking of safety, the head researcher (in an act of callous disregard) made a discovery that also nearly took his head off. book_lore.bf_bomb_3.page.4=He decided to get "dirty" by letting a cell of our new colloid interact directly with some very expensive antimatter: the resulting explosion turned the table it was on into a piece of radiation-bleached slag, carved a near-perfect hemisphere through book_lore.bf_bomb_3.page.5=the top, and gave the head a healthy dose of ARS. I guess we know how to make it explode now, but god, some people... @@ -566,6 +566,21 @@ cannery.schottky.7=If any virtual particles encounter any malformed segments, al cannery.schottky.8=Note that virtual particles will never use the same Diode exit twice. Infinite loops will fail, but re-entering a Diode is otherwise fine cannery.schottky.9=Your Schottky Particle Diode should be properly enclosed, with free paths for each intersection exit +chem.hydrogen=Hydrogen +chem.hydrogencoke=Hydrogen from Coke +chem.oxygen=Oxygen +chem.xenon=Xenon Gas +chem.xenonoxy=Xenon Gas (Cooled) +chem.helium3=Helium-3 +chem.ethanol=Ethanol +chem.biogas=Biogas +chem.biofuel=Biofuel Transesterification +chem.reoil=Reclaimed Oil +chem.gasoline=Gasoline +chem.tarsand=Bitumen from Tar Sand +chem.meatprocessing=Glyphid Meat Processing +chem.birkeland=Nitric Acid from Air + chem.ARSENIC=Arsenic Extraction chem.ASPHALT=Asphalt Production chem.BAKELITE=Bakelite Production @@ -675,12 +690,14 @@ chem.XENON=Linde Xenon Cycle chem.XENON_OXY=Boosted Linde Xenon Cycle chem.YELLOWCAKE=Yellowcake Production +commands.satellite.no_active_satellites=No active satellites found! commands.satellite.no_satellite=No satellite using this frequency found! commands.satellite.not_a_satellite=The held item is not a satellite! commands.satellite.satellite_descended=Satellite successfully descended. commands.satellite.satellite_orbited=Satellite launched. commands.satellite.should_be_run_as_player=This command should be run by a player! +container.ammoBag=Ammo Bag container.amsBase=AMS Base (Deco) container.amsEmitter=AMS Emitter (Deco) container.amsLimiter=AMS Stabilizer (Deco) @@ -694,6 +711,7 @@ container.barrel=Barrel container.bat9000=Big-Ass Tank 9000 container.battery=Energy Storage container.bombMulti=Multi Purpose Bomb +container.casingBag=Bullet Casing Bag container.catalyticReformer=Catalytic Reformer container.centrifuge=Centrifuge container.chemplant=Chemical Plant @@ -752,9 +770,12 @@ container.launchPad=Launch Pad container.launchPadRusted=Launch Pad container.launchTable=Large Launch Pad container.leadBox=Containment Box +container.machineAmmoPress=Ammo Press container.machineArcWelder=Arc Welder container.machineArcFurnaceLarge=Arc Furnace container.machineBoiler=Oil Heater +container.machineChemicalFactory=Chemical Factory +container.machineChemicalPlant=Chemical Plant container.machineCMB=CMB Steel Furnace container.machineCoal=Combustion Generator container.machineCoker=Coker Unit @@ -772,7 +793,9 @@ container.machineLargeTurbine=Industrial Steam Turbine container.machineLiquefactor=Liquefactor container.machineMixer=Industrial Mixer container.machineOreSlopper=B.O.P. +container.machinePyroOven=Pyrolysis Oven container.machineRefinery=Oil Refinery +container.machineRotaryFurnace=Rotary Furnace container.machineSelenium=Radial Performance Engine container.machineShredder=Shredder container.machineSILEX=SILEX @@ -803,7 +826,12 @@ container.nukeSolinium=The Blue Rinse container.nukeTsar=Tsar Bomba container.oilWell=Oil Derrick container.orbus=Heavy Antimatter Storage +container.paDetector=Detector +container.paDipole=Dipole +container.paQuadrupole=Quad. +container.paSource=Particle Source container.plasmaHeater=Plasma Heater +container.pneumoTube=Pneumatic Tube container.press=Burner Press container.puf6_tank=PuF6 Tank container.pumpjack=Pumpjack @@ -827,8 +855,10 @@ container.reactorResearch=Research Reactor container.reix=Rei-X Mainframe container.rtg=RT Generator container.rtgFurnace=RTG Furnace +container.rttyController=Redstone-over-Radio Controller container.rttyCounter=Redstone-over-Radio Item Counter container.rttyLogic=Redstone-over-Radio Logic Receiver +container.rttyReader=Redstone-over-Radio Reader container.rttyReceiver=Redstone-over-Radio Receiver container.rttySender=Redstone-over-Radio Transmitter container.safe=Safe @@ -840,6 +870,7 @@ container.soyuzLauncher=Soyuz Launch Platform container.storageDrum=Nuclear Waste Disposal Drum container.teleLinker=TelLink Device container.teleporter=Teleporter +container.toolBox=Toolbox container.trainTram=Electric Flat Bed Tram container.turbinegas=Combined Cycle Gas Turbine container.turretArty=Greg @@ -857,8 +888,20 @@ container.uf6_tank=UF6 Tank container.vacuumDistill=Vacuum Refinery container.wasteDrum=Spent Fuel Pool Drum container.watzPowerplant=Watz Power Plant +container.weaponsTable=Weapon Modification Table container.zirnox=ZIRNOX Nuclear Reactor +copytool.filter=Filter +copytool.invertRedstone=Redstone Inverted +copytool.invertFilter=Filter Inverted +copytool.orientation=Orientation +copytool.pattern0=Red Side +copytool.pattern1=Orange Side +copytool.pattern2=Yellow Side +copytool.pattern3=Green Side +copytool.pattern4=Blue Side +copytool.pattern5=Purple Side + crucible.aa=Advanced Alloy Production crucible.abronze=Arsenic Bronze Production crucible.bbronze=Bismuth Bronze Production @@ -877,6 +920,18 @@ crucible.steelPig=Steel Production from Pig Iron crucible.steelWrought=Steel Production from Wrought Iron crucible.tcalloy=Technetium Steel Production +damage.inset=Resistances when worn in set: +damage.item=Resistances when worn: +damage.category.EN=Energy +damage.category.EXPL=Explosion +damage.category.FIRE=Fire +damage.category.PHYS=Physical +damage.exact.drown=Drowning +damage.exact.fall=Fall damage +damage.exact.LASER=Laser +damage.exact.onFire=Afterburn +damage.other=Other + death.attack.acid=%1$s fell into acid. death.attack.acidPlayer=%1$s was dissolved by %2$s. death.attack.ams=%1$s was bathed in deadly particles that have yet to be named by human science. @@ -935,6 +990,23 @@ death.attack.tau=%1$s was riddeled by %2$s using negatively charged tauons. death.attack.tauBlast=%1$s charged the XVL1456 for too long and was blown into pieces. death.attack.teleporter=%1$s was teleported into nothingness. +death.sedna.electric=%1$s was fried. +death.sedna.electric.attacker=%1$s was fried by %2$s. +death.sedna.explosive=%1$s was blown up. +death.sedna.explosive.attacker=%1$s was blown up by %2$s. +death.sedna.fire=%1$s was incinerated. +death.sedna.fire.attacker=%1$s was incinerated by %2$s. +death.sedna.laser=%1$s was pulverized. +death.sedna.laser.attacker=%1$s was pulverized by %2$s. +death.sedna.microwave=%1$s was microwaved. +death.sedna.microwave.attacker=%1$s was microwaved by %2$s. +death.sedna.subatomic=%1$s was atomized. +death.sedna.subatomic.attacker=%1$s was atomized by %2$s. +death.sedna.other=%1$s was killed. +death.sedna.other.attacker=%1$s was killed by %2$s. +death.sedna.physical=%1$s was shot. +death.sedna.physical.attacker=%1$s was shot by %2$s. + desc.gui.assembler.warning=§cError:§r This machine requires an assembly template! desc.gui.chemplant.warning=§cError:§r This machine requires an chemistry template! desc.gui.gasCent.enrichment=§2Enrichment§r$Uranium enrichment requires cascades.$Two-centrifuge cascades will give$uranium fuel, four-centrifuge cascades$will give total separation. @@ -1343,21 +1415,33 @@ hazard.particleFine=Particulates hazard.sand=Eye Irritants hbm.key=NTM Hotkeys +hbm.key.ability=Cycle Tool Abilities +hbm.key.abilityAlt=Configure Tool Abilities hbm.key.calculator=Calculator +hbm.key.copyToolAlt=Copy Tool: Switch Paste +hbm.key.copyToolCtrl=Copy Tool: Paste to Pipes hbm.key.craneLoad=Load/Unload Crane hbm.key.craneMoveDown=Move Crane Backward hbm.key.craneMoveLeft=Move Crane Left hbm.key.craneMoveRight=Move Crane Right hbm.key.craneMoveUp=Move Crane Forward -hbm.key.dash=Dash (Unbind from Crouch in config) -hbm.key.toggleBack=Toggle Backpack +hbm.key.dash=Dash +hbm.key.gunPrimary=Primary Fire +hbm.key.gunSecondary=Secondary Fire +hbm.key.gunTertitary=Gun Sights +hbm.key.toggleBack=Toggle Jetpack hbm.key.toggleHUD=Toggle HUD +hbm.key.toggleMagnet=Toggle Magnet +hbm.key.trainInv=Train Inventory hbm.key.reload=Reload +hbmfluid.air=Compressed Air +hbmfluid.alumina=Alumina hbmfluid.amat=Antimatter hbmfluid.aromatics=Aromatic Hydrocarbons hbmfluid.aschrab=Antischrabidium hbmfluid.balefire=BF Rocket Fuel +hbmfluid.bauxite_solution=Bauxite Solution hbmfluid.biofuel=Biofuel hbmfluid.biogas=Biogas hbmfluid.bitumen=Bitumen @@ -1385,8 +1469,8 @@ hbmfluid.death=Osmiridic Solution hbmfluid.deuterium=Deuterium hbmfluid.diesel=Diesel hbmfluid.diesel_crack=Cracked Diesel -hbmfluid.diesel_crack_reform=High-Octane Cracked Diesel -hbmfluid.diesel_reform=High-Octane Diesel +hbmfluid.diesel_crack_reform=High-Cetane Cracked Diesel +hbmfluid.diesel_reform=High-Cetane Diesel hbmfluid.egg=Dissolved Egg hbmfluid.estradiol=Estradiol Solution hbmfluid.ethanol=Ethanol @@ -1416,12 +1500,15 @@ hbmfluid.iongel=Ionic Gel hbmfluid.kerosene=Kerosene hbmfluid.kerosene_reform=Jet Fuel hbmfluid.lava=Lava +hbmfluid.lead=Liquid Lead +hbmfluid.lead_hot=Hot Liquid Lead hbmfluid.lightoil=Light Oil hbmfluid.lightoil_crack=Cracked Light Oil hbmfluid.lightoil_ds=Desulfurized Light Oil hbmfluid.lightoil_vacuum=Vacuum Light Oil hbmfluid.lpg=LPG hbmfluid.lubricant=Engine Lubricant +hbmfluid.lye=Lye hbmfluid.mercury=Mercury hbmfluid.mug=Mug Root Beer hbmfluid.mug_hot=Hot Mug Root Beer @@ -1440,6 +1527,9 @@ hbmfluid.oil_ds=Desulfurized Crude Oil hbmfluid.oxygen=Liquid Oxygen hbmfluid.oxyhydrogen=Oxyhydrogen hbmfluid.pain=Pandemonium(III)tantalite Solution +hbmfluid.perfluoromethyl=Perfluoromethyl +hbmfluid.perfluoromethyl_cold=Cold Perfluoromethyl +hbmfluid.perfluoromethyl_hot=Hot Perfluoromethyl hbmfluid.peroxide=Hydrogen Peroxide hbmfluid.petroil=Petroil hbmfluid.petroil_leaded=Leaded Petroil @@ -1471,6 +1561,7 @@ hbmfluid.smoke_leaded=Leaded Smoke hbmfluid.smoke_poison=Poison Smoke hbmfluid.sodium=Liquid Sodium hbmfluid.sodium_hot=Hot Liquid Sodium +hbmfluid.sodium_aluminate=Sodium Aluminate hbmfluid.solvent=Solvent hbmfluid.sourgas=Sour Gas hbmfluid.spentsteam=Low-Pressure Steam @@ -1516,9 +1607,11 @@ hbmmat.arsenic=Arsenic hbmmat.arsenicbronze=Arsenic Bronze hbmmat.asbestos=Asbestos hbmmat.bakelite=Bakelite +hbmmat.bauxite=Bauxite hbmmat.beryllium=Beryllium hbmmat.bismuth=Bismuth hbmmat.bismuthbronze=Bismuth Bronze +hbmmat.bone=Ivory hbmmat.borax=Borax hbmmat.boron=Boron hbmmat.bscco=BSCCO @@ -1535,6 +1628,7 @@ hbmmat.cobalt=Cobalt hbmmat.cobalt60=Cobalt-60 hbmmat.coltan=Coltan hbmmat.copper=Copper +hbmmat.cryolite=Cryolite hbmmat.desh=Desh hbmmat.diamond=Diamond hbmmat.dineutronium=Dineutronium @@ -1550,6 +1644,7 @@ hbmmat.gold=Gold hbmmat.gold198=Gold-198 hbmmat.graphene=Graphene hbmmat.graphite=Graphite +hbmmat.gunmetal=Gunmetal hbmmat.hematite=Hematite hbmmat.iron=Iron hbmmat.lanthanum=Lanthanium @@ -1578,7 +1673,9 @@ hbmmat.plutonium240=Plutonium-240 hbmmat.plutonium241=Plutonium-241 hbmmat.plutoniumrg=Reactor-Grade Plutonium hbmmat.polonium210=Polonium-210 +hbmmat.polycarbonate=Hard Plastic hbmmat.polymer=Polymer +hbmmat.pvc=PVC hbmmat.radium226=Radium-226 hbmmat.rareearth=Rare Earth hbmmat.redphosphorus=Red Phosphorus @@ -1610,9 +1707,11 @@ hbmmat.uranium233=Uranium-233 hbmmat.uranium235=Uranium-235 hbmmat.uranium238=Uranium-238 hbmmat.watzmud=Poisonous Mud +hbmmat.weaponsteel=Weapon Steel hbmmat.whitephosphorus=White Phosphorus +hbmmat.wood=Wood hbmmat.workersalloy=Desh -hbmmat.wroughtiron=Wroght Iron +hbmmat.wroughtiron=Wrought Iron hbmmat.zirconium=Zirconium matshape.block=%s Block @@ -1667,105 +1766,6 @@ item.alloy_pickaxe.name=Advanced Alloy Pickaxe item.alloy_plate.name=Advanced Alloy Chestplate item.alloy_shovel.name=Advanced Alloy Shovel item.alloy_sword.name=Advanced Alloy Sword -item.ammo_12gauge.name=12 Gauge Buckshot -item.ammo_12gauge_du.name=12 Gauge Buckshot (Uranium Coated) -item.ammo_12gauge_incendiary.name=12 Gauge Buckshot (Incendiary) -item.ammo_12gauge_marauder.name=12 Gauge Tactical Anti-Marauder Shell -item.ammo_12gauge_percussion.name=12 Gauge Percussion Cap -item.ammo_12gauge_shrapnel.name=12 Gauge Buckshot (Shrapnel) -item.ammo_12gauge_sleek.name=12 Gauge Buckshot (IF-R&D) -item.ammo_20gauge.name=20 Gauge Buckshot -item.ammo_20gauge_caustic.name=20 Gauge Buckshot (Caustic) -item.ammo_20gauge_explosive.name=20 Gauge Buckshot (Explosive) -item.ammo_20gauge_flechette.name=20 Gauge Flechette Shell -item.ammo_20gauge_incendiary.name=20 Gauge Buckshot (Incendiary) -item.ammo_20gauge_shock.name=20 Gauge Buckshot (Shock) -item.ammo_20gauge_shrapnel.name=20 Gauge Buckshot (Shrapnel) -item.ammo_20gauge_sleek.name=20 Gauge Buckshot (IF-R&D) -item.ammo_20gauge_slug.name=20 Gauge Brenneke Slug -item.ammo_20gauge_wither.name=20 Gauge Buckshot (Withering) -item.ammo_22lr.name=.22 LR Round -item.ammo_22lr_ap.name=.22 LR Round (Armor Piercing) -item.ammo_22lr_chlorophyte.name=.22 LR Round (Chlorophyte) -item.ammo_357_desh.name=.357 Magnum Desh Bullet -item.ammo_44.name=.44 Magnum Bullet -item.ammo_44_ap.name=.44 Magnum Bullet (Armor Piercing) -item.ammo_44_bj.name=.44 Magnum Bullet (Boat) -item.ammo_44_chlorophyte.name=.44 Magnum Bullet (Chlorophyte) -item.ammo_44_du.name=.44 Magnum Bullet (DU) -item.ammo_44_phosphorus.name=.44 Magnum Bullet (WP) -item.ammo_44_pip.name=.44 Magnum Bullet (Boxcar) -item.ammo_44_rocket.name=.44 Magnum Rocket -item.ammo_44_silver.name=.44 Magnum Bullet (Building) -item.ammo_44_star.name=.44 Magnum Bullet (Starmetal) -item.ammo_45.name=.45 ACP Bullet -item.ammo_45_ap.name=.45 ACP Bullet (AP) -item.ammo_45_du.name=.45 ACP Bullet (DU) -item.ammo_4gauge.name=4 Gauge Buckshot -item.ammo_4gauge_balefire.name=23mm Balefire Grenade -item.ammo_4gauge_canister.name=23mm Rocket (Canister Shot) -item.ammo_4gauge_claw.name=4 Gauge Claw Shell -item.ammo_4gauge_explosive.name=23mm Grenade -item.ammo_4gauge_flechette.name=4 Gauge Flechette Shell -item.ammo_4gauge_flechette_phosphorus.name=4 Gauge Flechette Shell (WP) -item.ammo_4gauge_kampf.name=23mm Rocket -item.ammo_4gauge_semtex.name=23mm Mining Charge -item.ammo_4gauge_sleek.name=4 Gauge Buckshot (IF-R&D) -item.ammo_4gauge_slug.name=4 Gauge Solid Steel Slug -item.ammo_4gauge_titan.name=4 Gauge Quacker Round -item.ammo_4gauge_vampire.name=4 Gauge Wooden Stake Shell -item.ammo_4gauge_void.name=4 Gauge Void Shell -item.ammo_50ae.name=.50 AE Round -item.ammo_50ae_ap.name=.50 AE Round (Armor Piercing) -item.ammo_50ae_chlorophyte.name=.50 AE Round (Chlorophyte) -item.ammo_50ae_du.name=.50 AE Round (DU) -item.ammo_50ae_star.name=.50 AE Round (Starmetal) -item.ammo_50bmg.name=.50 BMG Round -item.ammo_50bmg_ap.name=.50 BMG Round (Armor Piercing) -item.ammo_50bmg_chlorophyte.name=.50 BMG Round (Chlorophyte) -item.ammo_50bmg_du.name=.50 BMG Round (DU) -item.ammo_50bmg_explosive.name=.50 BMG Round (Explosive) -item.ammo_50bmg_flechette.name=.50 BMG Flechette Round -item.ammo_50bmg_flechette_am.name=.50 BMG Flechette Round (Americium) -item.ammo_50bmg_flechette_po.name=.50 BMG Flechette Round (Polonium) -item.ammo_50bmg_incendiary.name=.50 BMG Round (Incendiary) -item.ammo_50bmg_phosphorus.name=.50 BMG Round (WP) -item.ammo_50bmg_sleek.name=.50 BMG Round (IF-R&D) -item.ammo_50bmg_star.name=.50 BMG Round (Starmetal) -item.ammo_556.name=5.56mm Round -item.ammo_556_ap.name=5.56mm Round (Armor Piercing) -item.ammo_556_chlorophyte.name=5.56mm Round (Chlorophyte) -item.ammo_556_du.name=5.56mm Round (DU) -item.ammo_556_flechette.name=5.56mm Flechette Round -item.ammo_556_flechette_chlorophyte.name=5.56mm Flechette Round (Chlorophyte) -item.ammo_556_flechette_du.name=5.56mm Flechette Round (Uranium Penetrator) -item.ammo_556_flechette_incendiary.name=5.56mm Flechette Round (Incendiary) -item.ammo_556_flechette_phosphorus.name=5.56mm Flechette Round (Phosphorus-Tipped) -item.ammo_556_flechette_sleek.name=5.56mm Flechette Round (IF-R&D) -item.ammo_556_k.name=5.56mm K-Round -item.ammo_556_phosphorus.name=5.56mm Round (WP) -item.ammo_556_sleek.name=5.56mm Round (IF-R&D) -item.ammo_556_star.name=5.56mm Round (Starmetal) -item.ammo_556_tracer.name=5.56mm Round (Tracer) -item.ammo_5mm.name=5mm Round -item.ammo_5mm_chlorophyte.name=5mm Round (Chlorophyte) -item.ammo_5mm_du.name=5mm Round (DU) -item.ammo_5mm_explosive.name=5mm Round (Explosive) -item.ammo_5mm_star.name=5mm Round (Starmetal) -item.ammo_75bolt.name=.75 Bolt Magazine (30rnd) -item.ammo_75bolt_incendiary.name=.75 Incendiary Bolt Magazine (30rnd) -item.ammo_75bolt_he.name=.75 Bolt High-Explosive Magazine (30rnd) -item.ammo_762.name=7.62mm Round -item.ammo_762_ap.name=7.62mm Round (AP) -item.ammo_762_du.name=7.62mm Round (DU) -item.ammo_762_k.name=7.62mm K-Round -item.ammo_762_phosphorus.name=7.62mm Round (WP) -item.ammo_762_tracer.name=7.62mm Round (Tracer) -item.ammo_9mm.name=9mm Round -item.ammo_9mm_ap.name=9mm Round (Armor Piercing) -item.ammo_9mm_chlorophyte.name=9mm Round (Chlorophyte) -item.ammo_9mm_du.name=9mm Round (DU) -item.ammo_9mm_rocket.name=9mm Rocket item.ammo_arty.name=16" Artillery Shell item.ammo_arty_cargo.name=16" Express Delivery Artillery Shell item.ammo_arty_chlorine.name=16" Chlorine Gas Artillery Shell @@ -1778,38 +1778,13 @@ item.ammo_arty_nuke.name=16" Nuclear Artillery Shell item.ammo_arty_phosgene.name=16" Phosgene Artillery Shell item.ammo_arty_phosphorus.name=16" Phosphorus Shell item.ammo_arty_phosphorus_multi.name=16" Multi Phosphorus Shell -item.ammo_cell.name=Energy Cell -item.ammo_coilgun.name=Coilgun Tungsten Ball -item.ammo_coilgun_du.name=Coilgun Ferrouranium Ball -item.ammo_coilgun_rubber.name=Coilgun Rubber Ball +item.ammo_bag.name=Ammo Bag +item.ammo_bag_infinite.name=Infinite Ammo Bag item.ammo_container.name=Ammo Container -item.ammo_dart.name=Plastic Dart (Withering) -item.ammo_dart_nerf.name=NERF Dart -item.ammo_dart_nuclear.name=Plastic Dart (Timed Explosive) item.ammo_dgk.name=Goalkeeper Twin CIWS 200 Round Belt item.ammo_fireext.name=Fire Extinguisher Water Tank item.ammo_fireext_foam.name=Fire Extinguisher Foam Tank item.ammo_fireext_sand.name=Fire Extinguisher Sand Tank -item.ammo_folly.name=Silver Bullet (Original) -item.ammo_folly_du.name=Silver Bullet (DU, Non-Explosive) -item.ammo_folly_nuclear.name=Silver Bullet (Nuclear) -item.ammo_fuel.name=Diesel Tank -item.ammo_fuel_gas.name=Gas Tank -item.ammo_fuel_napalm.name=Napalm Tank -item.ammo_fuel_phosphorus.name=WP Tank -item.ammo_fuel_vaporizer.name=Vaporizer Tank -item.ammo_grenade.name=40mm Grenade -item.ammo_grenade_concussion.name=40mm Grenade (Concussion) -item.ammo_grenade_finned.name=40mm Grenade (Finned) -item.ammo_grenade_he.name=40mm Grenade (HE) -item.ammo_grenade_incendiary.name=40mm Grenade (Incendiary) -item.ammo_grenade_kampf.name=40mm Rocket -item.ammo_grenade_leadburster.name=40mm Leadburster -item.ammo_grenade_nuclear.name=40mm Grenade (Привет) -item.ammo_grenade_phosphorus.name=40mm Grenade (WP) -item.ammo_grenade_sleek.name=40mm Grenade (IF-R&D) -item.ammo_grenade_toxic.name=40mm Grenade (Chemical) -item.ammo_grenade_tracer.name=40mm Training Grenade item.ammo_himars_standard.name=227mm Guided Artillery Rocket Pod item.ammo_himars_standard_he.name=227mm Guided Artillery Rocket Pod (HE) item.ammo_himars_standard_lava.name=227mm Guided Artillery Rocket Pod (Lava) @@ -1818,44 +1793,115 @@ item.ammo_himars_standard_tb.name=227mm Guided Artillery Rocket Pod (Thermobaric item.ammo_himars_standard_wp.name=227mm Guided Artillery Rocket Pod (WP) item.ammo_himars_single.name=610mm Guided Artillery Rocket Pod item.ammo_himars_single_tb.name=610mm Guided Artillery Rocket Pod (Thermobaric) -item.ammo_luna.name=Lunatic Sniper Sabot Round -item.ammo_luna_explosive.name=Lunatic Sniper Explosive Round -item.ammo_luna_incendiary.name=Lunatic Sniper Incendiary Round -item.ammo_mirv.name=Mini MIRV -item.ammo_mirv_high.name=Mini MIRV (High Yield) -item.ammo_mirv_low.name=Mini MIRV (Low Yield) -item.ammo_mirv_safe.name=Mini MIRV (Safe) -item.ammo_mirv_special.name=Mini MILV -item.ammo_nuke.name=Mini Nuke -item.ammo_nuke_barrel.name=Mini Nuclear Waste Barrel -item.ammo_nuke_high.name=Mini Nuke (High Yield) -item.ammo_nuke_low.name=Mini Nuke (Low Yield) -item.ammo_nuke_pumpkin.name=Pumpkin Bomb -item.ammo_nuke_safe.name=Mini Nuke (Safe) -item.ammo_nuke_tots.name=Mini Nuke (Tiny Tots) -item.ammo_rocket.name=84mm Rocket -item.ammo_rocket_canister.name=84mm Rocket (Canister Shot) -item.ammo_rocket_digamma.name=null -item.ammo_rocket_emp.name=84mm Rocket (Pulse) -item.ammo_rocket_glare.name=84mm Rocket (Red Glare) -item.ammo_rocket_he.name=84mm Rocket (HE) -item.ammo_rocket_incendiary.name=84mm Rocket (Incendiary) -item.ammo_rocket_nuclear.name=84mm Rocket (Привет) -item.ammo_rocket_phosphorus.name=84mm Rocket (WP) -item.ammo_rocket_rpc.name=84mm Rocket Propelled Chainsaw -item.ammo_rocket_shrapnel.name=84mm Rocket (Shrapnel) -item.ammo_rocket_sleek.name=84mm Rocket (IF-R&D) -item.ammo_rocket_toxic.name=84mm Rocket (Chemical) item.ammo_shell.name=240mm Shell item.ammo_shell_apfsds_du.name=240mm APFSDS-DU item.ammo_shell_apfsds_t.name=240mm APFSDS-T item.ammo_shell_explosive.name=240mm HE Shell item.ammo_shell_w9.name=240mm W9 Nuclear Shell -item.ammo_stinger_rocket.name=Stinger Rocket -item.ammo_stinger_rocket_he.name=Stinger Rocket (HE) -item.ammo_stinger_rocket_incendiary.name=Stinger Rocket (Incendiary) -item.ammo_stinger_rocket_nuclear.name=Stinger Rocket (Привет) -item.ammo_stinger_rocket_bones.name=Stinger Rocket (Bone-Seeking) +item.ammo_secret.bmg50_equestrian.name=.50 BMG Demolisher +item.ammo_secret.bmg50_black.name=.50 BMG Bypass Round +item.ammo_secret.folly_nuke.name=Silver Bullet, Nuclear +item.ammo_secret.folly_sm.name=Silver Bullet +item.ammo_secret.g12_equestrian.name=12 Gauge Railway Spike Shot +item.ammo_secret.m44_equestrian.name=.44 Magnum Head-Exploder +item.ammo_secret.p35_800.name=.35-800 V9 +item.ammo_secret.p35_800_bl.name=.35-800 V9 (Black Lightning) +item.ammo_standard.b75.name=.75 Bolt +item.ammo_standard.b75_exp.name=.75 Bolt (Explosive) +item.ammo_standard.b75_inc.name=.75 Bolt (Incendiary) +item.ammo_standard.bmg50_ap.name=.50 BMG Round (Armor Piercing) +item.ammo_standard.bmg50_du.name=.50 BMG Round (Depleted Uranium) +item.ammo_standard.bmg50_he.name=.50 BMG Round (High-Explosive) +item.ammo_standard.bmg50_fmj.name=.50 BMG Round (Full Metal Jacket) +item.ammo_standard.bmg50_jhp.name=.50 BMG Round (Jacketed Hollow Point) +item.ammo_standard.bmg50_sm.name=.50 BMG Round (Starmetal) +item.ammo_standard.bmg50_sp.name=.50 BMG Round (Soft Point) +item.ammo_standard.capacitor.name=Capacitor (Standard) +item.ammo_standard.capacitor_ir.name=Capacitor (Low Wavelength) +item.ammo_standard.capacitor_overcharge.name=Capacitor (Overcharge) +item.ammo_standard.coil_ferrouranium.name=Coilgun Ferrouranium Ball +item.ammo_standard.coil_tungsten.name=Coilgun Tungsten Ball +item.ammo_standard.ct_hook.name=Grappling Hook +item.ammo_standard.ct_mortar.name=Demolition Charge +item.ammo_standard.ct_mortar_charge.name=Heavy Demolition Charge +item.ammo_standard.flame_balefire.name=Flamer Fuel, Balefire +item.ammo_standard.flame_diesel.name=Flamer Fuel, Diesel +item.ammo_standard.flame_gas.name=Flamer Fuel, Gas +item.ammo_standard.flame_napalm.name=Flamer Fuel, Napalm +item.ammo_standard.g10.name=10 Gauge Buckshot +item.ammo_standard.g10_du.name=10 Gauge Uranium Buckshot +item.ammo_standard.g10_explosive.name=10 Gauge Explosive Buckshot +item.ammo_standard.g10_shrapnel.name=10 Gauge Shrapnel Buckshot +item.ammo_standard.g10_slug.name=10 Gauge Slug +item.ammo_standard.g12.name=12 Gauge Buckshot +item.ammo_standard.g12_anthrax.name=12 Gauge Anthrax Shell +item.ammo_standard.g12_bp.name=12 Gauge Black Powder Buckshot +item.ammo_standard.g12_bp_magnum.name=12 Gauge Black Powder Magnum Shell +item.ammo_standard.g12_bp_slug.name=12 Gauge Black Powder Slug +item.ammo_standard.g12_explosive.name=12 Gauge Explosive Shell +item.ammo_standard.g12_flechette.name=12 Gauge Flechette Shell +item.ammo_standard.g12_magnum.name=12 Gauge Magnum Shell +item.ammo_standard.g12_phosphorus.name=12 Gauge Phosphorus Shell +item.ammo_standard.g12_slug.name=12 Gauge Slug +item.ammo_standard.g26_flare.name=26mm Signal Flare +item.ammo_standard.g26_flare_supply.name=26mm Signal Flare (Supply Airdrop) +item.ammo_standard.g26_flare_weapon.name=26mm Signal Flare (Weapon Airdrop) +item.ammo_standard.g40_demo.name=40mm Grenade, Demolition +item.ammo_standard.g40_he.name=40mm Grenade, High-Explosive +item.ammo_standard.g40_heat.name=40mm Grenade, Shaped Charge +item.ammo_standard.g40_inc.name=40mm Grenade, Incendiary +item.ammo_standard.g40_phosphorus.name=40mm Grenade, White Phosphorus +item.ammo_standard.m357_ap.name=.357 Magnum Round (Armor Piercing) +item.ammo_standard.m357_bp.name=.357 Magnum Round (Black Powder) +item.ammo_standard.m357_express.name=.357 Magnum Round (FMJ Express) +item.ammo_standard.m357_fmj.name=.357 Magnum Round (Full Metal Jacket) +item.ammo_standard.m357_jhp.name=.357 Magnum Round (Jacketed Hollow Point) +item.ammo_standard.m357_sp.name=.357 Magnum Round (Soft Point) +item.ammo_standard.m44_ap.name=.44 Magnum Round (Armor Piercing) +item.ammo_standard.m44_bp.name=.44 Magnum Round (Black Powder) +item.ammo_standard.m44_express.name=.44 Magnum Round (FMJ Express) +item.ammo_standard.m44_fmj.name=.44 Magnum Round (Full Metal Jacket) +item.ammo_standard.m44_jhp.name=.44 Magnum Round (Jacketed Hollow Point) +item.ammo_standard.m44_sp.name=.44 Magnum Round (Soft Point) +item.ammo_standard.nuke_balefire.name=Mini Nuke, Balefire Egg +item.ammo_standard.nuke_demo.name=Mini Nuke, Demolition +item.ammo_standard.nuke_high.name=Mini Nuke, High Yield +item.ammo_standard.nuke_hive.name=Rocket Hive +item.ammo_standard.nuke_standard.name=Mini Nuke +item.ammo_standard.nuke_tots.name=Mini Nuke, Tiny Tots +item.ammo_standard.p22_ap.name=.22 LR Round (Armor Piercing) +item.ammo_standard.p22_fmj.name=.22 LR Round (Full Metal Jacket) +item.ammo_standard.p22_jhp.name=.22 LR Round (Jacketed Hollow Point) +item.ammo_standard.p22_sp.name=.22 LR Round (Soft Point) +item.ammo_standard.p45_ap.name=.45 Round (Armor Piercing) +item.ammo_standard.p45_du.name=.45 Round (Depleted Uranium) +item.ammo_standard.p45_fmj.name=.45 Round (Full Metal Jacket) +item.ammo_standard.p45_jhp.name=.45 Round (Jacketed Hollow Point) +item.ammo_standard.p45_sp.name=.45 Round (Soft Point) +item.ammo_standard.p9_ap.name=9mm Round (Armor Piercing) +item.ammo_standard.p9_fmj.name=9mm Round (Full Metal Jacket) +item.ammo_standard.p9_jhp.name=9mm Round (Jacketed Hollow Point) +item.ammo_standard.p9_sp.name=9mm Round (Soft Point) +item.ammo_standard.r556_ap.name=5.56mm Round (Armor Piercing) +item.ammo_standard.r556_fmj.name=5.56mm Round (Full Metal Jacket) +item.ammo_standard.r556_jhp.name=5.56mm Round (Jacketed Hollow Point) +item.ammo_standard.r556_sp.name=5.56mm Round (Soft Point) +item.ammo_standard.r762_ap.name=7.62mm Round (Armor Piercing) +item.ammo_standard.r762_du.name=7.62mm Round (Depleted Uranium) +item.ammo_standard.r762_fmj.name=7.62mm Round (Full Metal Jacket) +item.ammo_standard.r762_he.name=7.62mm Round (High-Explosive) +item.ammo_standard.r762_jhp.name=7.62mm Round (Jacketed Hollow Point) +item.ammo_standard.r762_sp.name=7.62mm Round (Soft Point) +item.ammo_standard.rocket_demo.name=Rocket, Demolition +item.ammo_standard.rocket_he.name=Rocket, High-Explosive +item.ammo_standard.rocket_heat.name=Rocket, Shaped Charge +item.ammo_standard.rocket_inc.name=Rocket, Incendiary +item.ammo_standard.rocket_phosphorus.name=Rocket, White Phosphorus +item.ammo_standard.stone.name=Ball and Powder +item.ammo_standard.stone_ap.name=Flint and Powder +item.ammo_standard.stone_iron.name=Iron Ball and Powder +item.ammo_standard.stone_shot.name=Shot and Powder +item.ammo_standard.tau_uranium.name=Depleted Uranium-235 Box item.ams_catalyst_aluminium.name=Aluminium Reaction Catalyst item.ams_catalyst_beryllium.name=Beryllium Reaction Catalyst item.ams_catalyst_blank.name=Blank Reaction Catalyst @@ -2116,6 +2162,7 @@ item.blades_titanium.name=Titanium Shredder Blades item.blowtorch.name=Blowtorch item.board_copper.name=Copper Panel item.boat_rubber.name=Rubber Boat +item.bobmazon.name=Bobmazon item.bobmazon_hidden.name=Hidden Catalog item.bobmazon_machines.name=Bobmazon: Blocks and Machines item.bobmazon_materials.name=Bobmazon: Materials @@ -2250,8 +2297,6 @@ item.canned_tuna.name=Canned Tuna item.canned_tuna.desc=I can't tell if that's actually tuna or dried cement. item.canned_yogurt.name=Canned Yogurt item.canned_yogurt.desc=Probably spoiled, but whatever. -item.canteen_13.name=Vault 13 Canteen -item.canteen_fab.name=Fabulous Vodka item.canteen_vodka.name=Stylish Flask item.cap_fritz.name=Fritz Cola Bottle Cap item.cap_korl.name=Korl Bottle Cap @@ -2277,11 +2322,21 @@ item.card_qos.name=Queen of Spades item.cart.crate.name=Crate Cart item.cart.destroyer.name=Scrap Destroying Cart item.cart.empty.name=Minecart +item.cart.powder.name=Powder Cart +item.cart.semtex.name=Semtex Cart item.casing_357.name=.357 Magnum Casings item.casing_44.name=.44 Magnum Casings item.casing_50.name=Large Caliber Casings item.casing_9.name=Small Caliber Casings -item.casing_buckshot.name=Buckshot Casings +item.casing_bag.name=Bullet Casing Bag +item.casing_buckshot.name=Buckshot Casing +item.casing.small.name=Small Gunmetal Casing +item.casing.small_steel.name=Small Weapon Steel Casing +item.casing.large.name=Large Gunmetal Casing +item.casing.large_steel.name=Large Weapon Steel Casing +item.casing.shotshell.name=Black Powder Shotshell Casing +item.casing.buckshot.name=Plastic Shotshell Casing +item.casing.buckshot_advanced.name=Advanced Shotshell Casing item.catalyst_clay.name=Clay Catalyst item.catalytic_converter.name=Catalytic Converter item.cbt_device.name=CBT Device @@ -2333,7 +2388,10 @@ item.chopper_head.name=Hunter Chopper Cockpit item.chopper_tail.name=Hunter Chopper Tail item.chopper_torso.name=Hunter Chopper Body item.chopper_wing.name=Hunter Chopper Wing +item.chunk_ore.malachite.name=Malachite Chunk item.chunk_ore.rare.name=Rare Earth Ore Chunk +item.chunk_ore.moonstone.name=Moonstone +item.chunk_ore.cryolite.name=Cryolite Chunk item.cigarette.name=FFI-Brand Cigarette item.cinnebar.name=Cinnabar item.circuit.advanced.name=Military Grade Circuit Board @@ -2409,6 +2467,7 @@ item.cladding_lead.name=Lead Cladding item.cladding_obsidian.name=Obsidian Skin item.cladding_paint.name=Lead Paint item.cladding_rubber.name=Rubber Cladding +item.clay_tablet.name=Clay Tablet item.clip_bf.name=BF-Shell Double Pack item.clip_bolt_action.name=Box of 12x74 Slugs item.clip_cryolator.name=Tank of Cryolator Fuel @@ -2488,6 +2547,12 @@ item.combine_scrap.name=CMB Scrap Metal item.component_emitter.name=Emitter Component item.component_limiter.name=Stabilizer Component item.containment_box.name=Containment Box +item.conveyor_wand.regular.name=Conveyor Belt +item.conveyor_wand.express.name=Express Conveyor Belt +item.conveyor_wand.double.name=Double-Lane Conveyor Belt +item.conveyor_wand.triple.name=Triple-Lane Conveyor Belt +item.conveyor_wand.desc=Moves items dropped on it$Click two points to create a conveyor$Crouch click to manually place$Click with a screwdriver to rotate$Crouch click with a screwdriver to change types +item.conveyor_wand.vertical.desc=Is capable of placing lifts & chutes to move items vertically item.cordite.name=Cordite item.cotton_candy.name=Radioactive Cotton Candy item.crackpipe.name=Health Pipe @@ -2602,6 +2667,7 @@ item.dnt_boots.name=dienautronium boots item.dnt_legs.name=dineuterium legs item.dnt_helmet.name=dinotroniumu helmet item.dnt_plate.name=dineutrom chestplate +item.dnt_sword.name=dinuatureum sword item.door_bunker.name=Bunker Door item.door_metal.name=Metal Door item.door_office.name=Office Door @@ -2675,7 +2741,6 @@ item.euphemium_plate.name=Euphemium Chestplate item.euphemium_stopper.name=Stopper item.explosive_lenses.name=Array of High-Explosive Lenses item.explosive_lenses.desc=Assembly of 8 PBX lenses with a thin$aluminium pusher, duraluminium shell, and$miniaturized bridgewire detonators. -item.fabsols_vodka.name=Fabsol's Vodka item.factory_core_advanced.name=Advanced Factory Energy Cluster item.factory_core_titanium.name=Basic Factory Energy Cluster item.fallout.name=Pile of Fallout @@ -2832,132 +2897,81 @@ item.grenade_tau.name=Tau Grenade item.grenade_zomg.name=Negative Energy Pair Annihilation Grenade item.glyphid_gland.name= Gland item.glyphid_gland_empty.name= Glyphid's Fluid Gland -item.gun_ar15.name=Josh -item.gun_avenger.name=CZ57 Avenger Minigun +item.gun_aberrator.name=Aberrator +item.gun_aberrator_eott.name=Eyes Of The Tempest +item.gun_am180.name=.22 Submachine Gun +item.gun_am180_silenced.name=Silenced .22 Submachine Gun +item.gun_amat.name=Anti-Materiel Rifle +item.gun_amat_penance.name=Penance +item.gun_amat_subtlety.name=Subtlety +item.gun_autoshotgun.name=Auto Shotgun +item.gun_autoshotgun_sexy.name=Sexy +item.gun_autoshotgun_shredder.name=Shredder item.gun_b92.name=§9B92 Energy Pistol§r item.gun_b92_ammo.name=§9B92 Energy Cell§r -item.gun_b93.name=§cB93 Energy Mod§r -item.gun_benelli.name=Benelli Autoshotgun (Drum Mod) -item.gun_bf.name=BEL -item.gun_bf_ammo.name=Balefire Shell -item.gun_bio_revolver.name=Atlas -item.gun_bolt_action.name=Dream Bolt-Action Rifle (Original) -item.gun_bolt_action_ammo.name=12x74 Slug (LEGACY) -item.gun_bolt_action_green.name=Dream Bolt-Action Rifle (Green) -item.gun_bolt_action_saturnite.name=Saturnite Rifle item.gun_bolter.name=Bolter -item.gun_bolter_digamma.name=Digamma Gun -item.gun_calamity.name=Buzzsaw -item.gun_calamity_ammo.name=.50 BMG Round (LEGACY) -item.gun_calamity_dual.name=Saddle Gun +item.gun_carbine.name=Carbine +item.gun_charge_thrower.name=Charge Thrower item.gun_chemthrower.name=Chemthrower item.gun_coilgun.name=Coilgun item.gun_congolake.name=Congo Lake item.gun_cryocannon.name=Cryo Cannon -item.gun_cryolator.name=The Cryolator item.gun_cryolator_ammo.name=Cryo Cell -item.gun_dampfmaschine.name=Totally Not a Joke Weapon -item.gun_darter.name=Dart Gun -item.gun_deagle.name=Big Iron -item.gun_defabricator.name=Defabricator -item.gun_defabricator_ammo.name=Defabricator Energy Cell item.gun_detonator.name=Laser Detonator -item.gun_emp.name=EMP Gun -item.gun_emp_ammo.name=Energy Cell -item.gun_euthanasia.name=Euthanasia -item.gun_euthanasia_ammo.name=Syringe -item.gun_fatman.name=M42 Nuclear Catapult "Fat Man" -item.gun_fatman_ammo.name=Mini Nuke (LEGACY) +item.gun_double_barrel.name=An Old Classic +item.gun_double_barrel_sacred_dragon.name=Sacred Dragon +item.gun_fatman.name=Fat Man item.gun_fireext.name=Fire Extinguisher -item.gun_flamer.name=Mister Topaz -item.gun_flechette.name=Flechette Rifle -item.gun_folly.name=Prototype Digamma "Folly" -item.gun_glass_cannon.name=The Glass Cannon -item.gun_hk69.name=Grenade Pistol -item.gun_hp.name=HPP Lazerjet -item.gun_hp_ammo.name=Ink Cartridge -item.gun_immolator.name=The Immolator -item.gun_immolator_ammo.name=Immolator Fuel -item.gun_jack.name=Jackhammer -item.gun_jack_ammo.name=Quadruple Shotgun Shell -item.gun_karl.name=Karl +item.gun_flamer.name=Flamethrower +item.gun_flamer_daybreaker.name=Daybreaker +item.gun_flamer_topaz.name=Mister Topaz +item.gun_flaregun.name=Flare Gun +item.gun_folly.name=Folly +item.gun_g3.name=Assault Rifle +item.gun_g3_a3.name=G3A3 +item.gun_g3_infiltrator.name=Infiltrator +item.gun_g3_zebra.name=Zebra Rifle +item.gun_greasegun.name=Grease Gun +item.gun_greasegun_m3.name=M3 +item.gun_hangman.name=Hangman +item.gun_heavy_revolver.name=Heavy Revolver +item.gun_heavy_revolver_lilmac.name=Little Macintosh +item.gun_heavy_revolver_protege.name=Protège +item.gun_heavy_revolver_scoped.name=Scoped .44 Magnum +item.gun_henry.name=Lever Action Rifle +item.gun_henry_lincoln.name=Lincoln's Repeater item.gun_kit_1.name=Gun Oil item.gun_kit_2.name=Gun Repair Kit -item.gun_ks23.name=Samuel the Big Shotgun -item.gun_lacunae.name=CZ33 Abaddon -item.gun_lacunae_ammo.name=5mm Round (LEGACY) -item.gun_lever_action.name=Mare's Leg (Original) -item.gun_lever_action_ammo.name=12x74 Buckshot (LEGACY) -item.gun_lever_action_dark.name=Mare's Leg (Dark) -item.gun_lever_action_sonata.name=Flipped Mare's Leg -item.gun_lever_action_sonata_2.name=§cSonata's Microphone§r -item.gun_lunatic_marksman.name=Lunatic Sniper Rifle +item.gun_lag.name=Comically Long Pistol +item.gun_laser_pistol.name=Laser Pistol +item.gun_laser_pistol_morning_glory.name=Morning Glory +item.gun_laser_pistol_pew_pew.name=Pew Pew +item.gun_lasrifle.name=Laser Rifle +item.gun_liberator.name=Liberator +item.gun_light_revolver.name=Break-Action Revolver +item.gun_light_revolver_atlas.name=Atlas +item.gun_light_revolver_dani.name=Day And Night item.gun_m2.name=Ma Deuce -item.gun_minigun.name=CZ53 Personal Minigun -item.gun_mirv.name=M42 Nuclear Catapult "Experimental MIRV" -item.gun_mirv_ammo.name=Eightfold MIRV (LEGACY) -item.gun_moist_nugget.name=Mosin-Nagant -item.gun_mp.name=Pacifist's Machine Gun -item.gun_mp40.name=Submachine Gun -item.gun_mp40_ammo.name=Submachine Gun Round (LEGACY) -item.gun_pm_ammo.name=Small Propellantless Machine Gun Round -item.gun_mymy.name=Nietes -item.gun_osipr.name=Overwatch Standard Issue Pulse Rifle -item.gun_osipr_ammo.name=Dark Energy Pulse Plug -item.gun_osipr_ammo2.name=Combine Ball +item.gun_maresleg.name=Lever Action Shotgun +item.gun_maresleg_akimbo.name=Lever Action Shotguns +item.gun_maresleg_broken.name=Broken +item.gun_maresleg_short.name=Mare's Leg +item.gun_mas36.name=South Star +item.gun_minigun.name=Minigun +item.gun_minigun_dual.name=Dual Miniguns +item.gun_minigun_lacunae.name=Lacunae +item.gun_missile_launcher.name=Missile Launcher +item.gun_pepperbox.name=Pepperbox item.gun_panzerschreck.name=Panzerschreck -item.gun_proto.name=M42 Nuclear Catapult "Proto MIRV" -item.gun_quadro.name=Quattro Formaggi -item.gun_remington.name=バイデン ブラスト [BIDEN BLAST] -item.gun_revolver.name=Enhanced Revolver -item.gun_revolver_ammo.name=Lead Bullet -item.gun_revolver_blackjack.name=Blackjack Five-Shooter -item.gun_revolver_cursed.name=Cursed Revolver -item.gun_revolver_cursed_ammo.name=Steel Bullet -item.gun_revolver_gold.name=Golden Revolver -item.gun_revolver_gold_ammo.name=Golden Bullet -item.gun_revolver_inverted.name=Flipped Revolver -item.gun_revolver_iron.name=Simple Revolver -item.gun_revolver_iron_ammo.name=Bullet -item.gun_revolver_lead.name=Nuka Revolver -item.gun_revolver_lead_ammo.name=Glass Covered Nuclear Bullet -item.gun_revolver_nightmare.name=Nightmare Revolver (Original) -item.gun_revolver_nightmare2.name=Nightmare Revolver (Dark) -item.gun_revolver_nightmare2_ammo.name=Laser Buckshot -item.gun_revolver_nightmare_ammo.name=Nightmare Bullet -item.gun_revolver_nopip.name=Heavy Revolver -item.gun_revolver_nopip_ammo.name=.44 Magnum Bullet (LEGACY) -item.gun_revolver_pip.name=Lil' Pipsqueak -item.gun_revolver_pip_ammo.name=Tainted Bullet (LEGACY) -item.gun_revolver_red.name=Red Key Revolver -item.gun_revolver_saturnite.name=Saturnite Shooter -item.gun_revolver_schrabidium.name=Schrabidium Revolver -item.gun_revolver_schrabidium_ammo.name=Schrabidium Bullet -item.gun_revolver_silver.name=Lent Gun -item.gun_rpg.name=Carl Gustav Recoilless Rifle -item.gun_rpg_ammo.name=Rocket (LEGACY) -item.gun_sauer.name=Stan Sauer's Shotgun -item.gun_skystinger.name=The One Sky Stinger -item.gun_spark.name=Spark Plug -item.gun_spark_ammo.name=Electromagnetic Cartridge -item.gun_spas12.name=SPAS-12 Shotgun +item.gun_quadro.name=Quad Rocket Launcher +item.gun_spas12.name=SPAS-12 +item.gun_stg77.name=StG 77 item.gun_stinger.name=FIM-92 Stinger -item.gun_stinger_ammo.name=Stinger Rocket (LEGACY) -item.gun_super_shotgun.name=Super Shotgun -item.gun_super_shotgun.desc=It's super broken! -item.gun_supershotgun.name=Super Shotgun -item.gun_thompson.name=Thompson Submachine Gun -item.gun_uac_pistol.name=UAC .45 Pistol -item.gun_uboinik.name=Uboinik -item.gun_uboinik_ammo.name=12x70 Buckshot (LEGACY) -item.gun_uzi.name=IMI Uzi -item.gun_uzi_ammo.name=.22 LR Round (LEGACY) -item.gun_uzi_saturnite.name=Saturnite Uzi -item.gun_uzi_saturnite_silencer.name=Saturnite Uzi with Silencer -item.gun_uzi_silencer.name=IMI Uzi with Silencer -item.gun_xvl1456.name=XVL1456 Tau Cannon Prototype -item.gun_xvl1456_ammo.name=Depleted Uranium-235 Box -item.gun_zomg.name=ZOMG Cannon +item.gun_tau.name=Tau Cannon +item.gun_tesla_cannon.name=Tesla Cannon +item.gun_uzi.name=Uzi +item.gun_uzi_richter.name=Richter +item.gun_uzi_akimbo.name=Uzis item.hand_drill.name=Hand Drill item.hand_drill_desh.name=Desh Hand Drill item.hazmat_boots.name=Hazmat Boots @@ -2984,7 +2998,7 @@ item.hazmat_plate_red.name=Advanced Hazmat Chestplate item.hazmat_red_kit.name=Advanced Hazmat Kit item.heart_booster.name=Heart Booster item.heart_container.name=Heart Container -item.heart_fab.name=Fab Heart +item.heart_fab.name=Heart of Darkness item.heart_piece.name=Heart Piece item.heavy_component.name=Heavy %s Component item.hev_battery.name=Suit Battery @@ -3015,7 +3029,7 @@ item.inf_diesel.name=Infinite Diesel Tank item.inf_sulfur.name=Infinite Sulfur Tank item.inf_tritium.name=Infinite Tritium Tank item.inf_water.name=Infinite Water Tank -item.inf_water_mk2.name=Heavy Infinite Water Tank +item.inf_water_mk2.name=Large Infinite Water Tank item.ingot_actinium.name=Actinium-227 Ingot item.ingot_advanced_alloy.name=Advanced Alloy Ingot item.ingot_aluminium.name=Aluminium Ingot @@ -3061,6 +3075,7 @@ item.ingot_firebrick.name=Firebrick item.ingot_gh336.name=Ghiorsium-336 Ingot item.ingot_gh336.desc=Seaborgium's colleague. item.ingot_graphite.name=Graphite Ingot +item.ingot_gunmetal.name=Gunmetal Ingot item.ingot_hes.name=Highly Enriched Schrabidium Fuel Ingot item.ingot_lanthanium.name=Semi-Stable Lanthanium Ingot item.ingot_lanthanium.desc='Lanthanum' @@ -3068,6 +3083,15 @@ item.ingot_lanthanium.desc.P11=Actually Lanthanum, but whatever. item.ingot_lead.name=Lead Ingot item.ingot_les.name=Low Enriched Schrabidium Fuel Ingot item.ingot_magnetized_tungsten.name=Magnetized Tungsten Ingot +item.ingot_metal.name=Metal Ingot +item.ingot_metal.bar.name=Metal Bar +item.ingot_metal.beacon.name=Radio Homing Beacon +item.ingot_metal.casing.name=Metal Casing +item.ingot_metal.clockwork.name=Clockwork +item.ingot_metal.counter.name=Counter +item.ingot_metal.detector.name=Detector +item.ingot_metal.ingot.name=Metal Ingot +item.ingot_metal.key.name=Metal Key item.ingot_meteorite.name=Meteorite Ingot item.ingot_meteorite_forged.name=Forged Meteorite Ingot item.ingot_mox_fuel.name=Ingot of MOX Fuel @@ -3093,6 +3117,7 @@ item.ingot_pu240.name=Plutonium-240 Ingot item.ingot_pu241.name=Plutonium-241 Ingot item.ingot_pvc.name=PVC Bar item.ingot_ra226.name=Radium-226 Ingot +item.ingot_raw.name=%s Ingot item.ingot_red_copper.name=Minecraft Grade Copper item.ingot_reiium.name=Reiium Ingot item.ingot_rubber.name=Rubber Bar @@ -3127,6 +3152,7 @@ item.ingot_unobtainium.name=Unobtainium Ingot item.ingot_uranium.name=Uranium Ingot item.ingot_uranium_fuel.name=Ingot of Uranium Fuel item.ingot_verticium.name=Verticium Ingot +item.ingot_weaponsteel.name=Weapon Steel Ingot item.ingot_weidanium.name=Weidanium Ingot item.ingot_zirconium.name=Zirconium Cube item.injector_5htp.name=5-HTP Autoinjector @@ -3143,8 +3169,11 @@ item.insert_polonium.name=Polonium Insert item.insert_steel.name=Heavy Steel Insert item.insert_xsapi.name=XSAPI Insert item.insert_yharonite.name=Yharonite Insert +item.item_secret.aberrator.name=Aberrator Part item.item_secret.canister.name=Composition SB-26 item.item_secret.controller.name=Proprietary Control Unit +item.item_secret.folly.name=Folly Part +item.item_secret.selenium_steel.name=Selenium Steel item.iv_blood.name=Blood Bag item.iv_empty.name=IV Bag item.iv_xp.name=Experience Bag @@ -3168,8 +3197,6 @@ item.key_red.desc.P11=§4e§r item.key_red_cracked.name=Cracked Key item.key_red_cracked.desc=??? item.key_red.key_red_cracked.P11=§4???§r -item.kit_toolbox.name=Toolbox -item.kit_toolbox_empty.name=Empty Toolbox item.laser_crystal_bismuth.desc=Bismuth-Samarium-Uranium-Thorium crystal matrix item.laser_crystal_bismuth.name=BiSmUTh Laser Crystal item.laser_crystal_cmb.desc=Antischrabidium Suspended in a CMB-Schrabidate Alloy Lattice @@ -3474,7 +3501,7 @@ item.nugget_daffergon.name=Daffergon Nugget item.nugget_desh.name=Desh Nugget item.nugget_dineutronium.name=Dineutronium Nugget item.nugget_euphemium.name=Euphemium Nugget -item.nugget_euphemium.desc=A small piece of a pink metal.$It's properties are still unknown,$DEAL WITH IT carefully. +item.nugget_euphemium.desc=A small piece of a pink metal.$Its properties are still unknown,$DEAL WITH IT carefully. item.nugget_gh336.name=Ghiorsium-336 Nugget item.nugget_gh336.desc=Seaborgium's colleague. item.nugget_hes.name=Highly Enriched Schrabidium Fuel Nugget @@ -3587,6 +3614,10 @@ item.ore_separated.name=Separated %s Ore item.overfuse.name=Singularity Screwdriver item.overfuse.desc=Say what? item.oxy_mask.name=Oxygen Mask +item.pa_coil.bscco.name=Large BSCCO Coil +item.pa_coil.chlorophyte.name=Large Chlorophyte Coil +item.pa_coil.gold.name=Large Gold Coil +item.pa_coil.niobium.name=Large NbTi Coil item.paa_boots.name=PaA "good ol' shoes" item.paa_legs.name=PaA Leg Reinforcements item.paa_plate.name=PaA Chest Protection Plate @@ -3606,16 +3637,24 @@ item.page_of_.page6.name=Page 6 item.page_of_.page7.name=Page 7 item.page_of_.page8.name=Page 8 item.pancake.name=Pancake made from Scrap Metal, Nails and Gem Dust +item.part_barrel_heavy.name=Heavy %s Barrel +item.part_barrel_light.name=Light %s Barrel item.part_beryllium.name=Box of Beryllium Dust item.part_carbon.name=Box of Carbon Dust item.part_copper.name=Box of Copper Dust +item.part_generic.glass_polarized.name=Polarized Lens item.part_generic.hde.name=Heavy Duty Element item.part_generic.lde.name=Low-Density Element item.part_generic.piston_electric.name=Electric Piston item.part_generic.piston_hydraulic.name=Hydraulic Piston item.part_generic.piston_pneumatic.name=Pneumatic Piston +item.part_grip.name=%s Grip item.part_lithium.name=Box of Lithium Dust +item.part_mechanism.name=%s Mechanism item.part_plutonium.name=Box of Plutonium Dust +item.part_receiver_heavy.name=Heavy %s Receiver +item.part_receiver_light.name=Light %s Receiver +item.part_stock.name=%s Stock item.particle_aelectron.name=Positron Capsule item.particle_amat.name=Antimatter Capsule item.particle_aproton.name=Antiproton Capsule @@ -3748,8 +3787,9 @@ item.plate_fuel_sa326.name=HES-326 Plate Fuel item.plate_fuel_u233.name=HEU-233 Plate Fuel item.plate_fuel_u235.name=HEU-235 Plate Fuel item.plate_gold.name=Gold Plate +item.plate_gunmetal.name=Gunmetal Plate item.plate_iron.name=Iron Plate -item.plate_kevlar.name=Kevlar-Ceramic Compound +item.plate_kevlar.name=Kevlar Sheet item.plate_lead.name=Lead Plate item.plate_mixed.name=Mixed Plate item.plate_paa.name=PaA Alloy Plate @@ -3758,6 +3798,7 @@ item.plate_saturnite.name=Saturnite Plate item.plate_schrabidium.name=Schrabidium Plate item.plate_steel.name=Steel Plate item.plate_titanium.name=Titanium Plate +item.plate_weaponsteel.name=Weapon Steel Plate item.plate_welded.name=Welded %s Plate item.polaroid.name=The Polaroid item.pollution_detector.name=Pollution Detector @@ -3953,6 +3994,7 @@ item.radx.desc=Increases radiation resistance by 0.2 (37%%) for 3 minutes item.rag.name=Cloth item.rag_damp.name=Damp Cloth item.rag_piss.name=Piss-Soaked Rag +item.rangefinder.name=Rangefinder item.rbmk_fuel_balefire.name=Balefire RBMK Fuel Rod item.rbmk_fuel_balefire_gold.name=Flashgold RBMK Fuel Rod item.rbmk_fuel_drx.name=§cDigamma RBMK Fuel Rod§r @@ -4284,6 +4326,7 @@ item.seg_20.name=Size 20 Connector item.serum.name=Serum item.servo_set.name=Servo Set item.servo_set_desh.name=Desh Servo Set +item.settings_tool.name=Settings Tool item.shackles.name=Shackles item.shellntm.name=%s Shell item.shimmer_axe.name=Shimmer Axe @@ -4410,15 +4453,10 @@ item.t45_kit.name=T45 Power Armor Kit item.t45_legs.name=T45 Power Armor Leggings item.t45_plate.name=T45 Power Armor Chestplate item.tank_steel.name=Steel Tank -item.tank_waste_0.name=Mud Container -item.tank_waste_1.name=Mud Container -item.tank_waste_2.name=Mud Container -item.tank_waste_3.name=Mud Container -item.tank_waste_4.name=Mud Container -item.tank_waste_5.name=Mud Container -item.tank_waste_6.name=Mud Container -item.tank_waste_7.name=Mud Container -item.tank_waste_8.name=Mud Container +item.taurun_boots.name=Taurun Boots +item.taurun_helmet.name=Taurun Helmet +item.taurun_legs.name=Taurun Leggings +item.taurun_plate.name=Taurun Chestplate item.telepad.name=Telepad item.tem_flakes.name=Tem Flakes item.template_folder.name=Machine Template Folder @@ -4449,6 +4487,8 @@ item.titanium_pickaxe.name=Titanium Pickaxe item.titanium_plate.name=Titanium Chestplate item.titanium_shovel.name=Titanium Shovel item.titanium_sword.name=Titanium Sword +item.toolbox.name=Toolbox +item.toolbox_legacy.name=Toolbox (LEGACY) item.toothpicks.name=Toothpicks item.train.cargo_tram.name=Electric Flat Bed Tram item.trenchmaster_boots.name=Trenchmaster's Boots @@ -4553,7 +4593,7 @@ item.waste_u233.name=Depleted Uranium-233 Fuel item.waste_uranium.name=Depleted Uranium Fuel item.waste_zfb_mox.name=Depleted ZFB MOX Fuel item.watch.name=Broken Pocket Watch -item.watch.desc=A small blue pocket watch.$It's glass has a few cracks in it,$and some shards are missing.$It stopped ticking at 2:34. +item.watch.desc=A small blue pocket watch.$Its glass has a few cracks in it,$and some shards are missing.$It stopped ticking at 2:34. item.watz_pellet.boron.name=Boron Absorber Pellet item.watz_pellet.du.name=Depleted Uranium Absorber Pellet item.watz_pellet.hes.name=HES Watz Pellet @@ -4578,14 +4618,66 @@ item.watz_pellet_depleted.nqd.name=Enriched Naquadah Watz Pellet (Depleted) item.watz_pellet_depleted.nqr.name=Naquadria Watz Pellet (Depleted) item.watz_pellet_depleted.hen.name=HEN Watz Pellet (Depleted) item.watz_pellet_depleted.schrabidium.name=Schrabidium Watz Pellet (Depleted) +item.wd40.name=VT-40 item.weapon_bat.name=Richard's Default item.weapon_bat_nail.name=The Cliché item.weapon_golf_club.name=Russian Mobster's Club +item.weapon_mod_caliber.bmg50.name=.50 BMG Conversion Kit +item.weapon_mod_caliber.m357.name=.357 Magnum Conversion Kit +item.weapon_mod_caliber.m44.name=.44 Magnum Conversion Kit +item.weapon_mod_caliber.p22.name=.22 LR Conversion Kit +item.weapon_mod_caliber.p45.name=.45 Conversion Kit +item.weapon_mod_caliber.p9.name=9mm Conversion Kit +item.weapon_mod_caliber.r556.name=5.56mm Conversion Kit +item.weapon_mod_caliber.r762.name=7.62mm Conversion Kit +item.weapon_mod_generic.bigmt_damage.name=Optimized Saturnite Receiver +item.weapon_mod_generic.bigmt_dura.name=High-Durability Saturnite Parts +item.weapon_mod_generic.bronze_damage.name=Optimized Bronze Receiver +item.weapon_mod_generic.bronze_dura.name=High-Durability Bronze Parts +item.weapon_mod_generic.desh_damage.name=Optimized Desh Receiver +item.weapon_mod_generic.desh_dura.name=High-Durability Desh Parts +item.weapon_mod_generic.dura_damage.name=Optimized HSS Receiver +item.weapon_mod_generic.dura_dura.name=High-Durability HSS Parts +item.weapon_mod_generic.ferro_damage.name=Optimized Ferrouranium Receiver +item.weapon_mod_generic.ferro_dura.name=High-Durability Ferrouranium Parts +item.weapon_mod_generic.iron_damage.name=Optimized Iron Receiver +item.weapon_mod_generic.iron_dura.name=High-Durability Iron Parts +item.weapon_mod_generic.steel_damage.name=Optimized Steel Receiver +item.weapon_mod_generic.steel_dura.name=High-Durability Steel Parts +item.weapon_mod_generic.tcalloy_damage.name=Optimized Resistant Alloy Receiver +item.weapon_mod_generic.tcalloy_dura.name=High-Durability Resistant Alloy Parts +item.weapon_mod_generic.wsteel_damage.name=Optimized Weapon Steel Receiver +item.weapon_mod_generic.wsteel_dura.name=High-Durability Weapon Steel Parts +item.weapon_mod_special.bayonet.name=Bayonet +item.weapon_mod_special.choke.name=Choke +item.weapon_mod_special.furniture_black.name=Polymer Furniture (Black) +item.weapon_mod_special.furniture_green.name=Polymer Furniture (Green) +item.weapon_mod_special.greasegun.name=Grease Gun Modernization Kit +item.weapon_mod_special.las_auto.name=Laser Rifle Automatic Receiver +item.weapon_mod_special.las_capacitor.name=Laser Rifle Extended Capacitor +item.weapon_mod_special.las_shotgun.name=Laser Rifle Beam Splitter +item.weapon_mod_special.saw.name=Hacksaw +item.weapon_mod_special.scope.name=Scope +item.weapon_mod_special.silencer.name=Silencer +item.weapon_mod_special.skin_saturnite.name=Saturnite Skin +item.weapon_mod_special.slowdown.name=Gear Train +item.weapon_mod_special.speedloader.name=Speedloader +item.weapon_mod_special.speedup.name=Auxiliary Electric Engine +item.weapon_mod_special.stack_mag.name=Double-Stacked Magazine +item.weapon_mod_test.damage.name=DAMAGE UPGRADE +item.weapon_mod_test.firerate.name=FIRE RATE UPGRADE +item.weapon_mod_test.multi.name=MULTI SHOT UPGRADE +item.weapon_mod_test.override_2_5.name=DAMAGE OVERRIDE (2.5) +item.weapon_mod_test.override_5.name=DAMAGE OVERRIDE (5) +item.weapon_mod_test.override_7_5.name=DAMAGE OVERRIDE (7.5) +item.weapon_mod_test.override_10.name=DAMAGE OVERRIDE (10) +item.weapon_mod_test.override_12_5.name=DAMAGE OVERRIDE (12.5) +item.weapon_mod_test.override_15.name=DAMAGE OVERRIDE (15) +item.weapon_mod_test.override_20.name=DAMAGE OVERRIDE (20) item.weapon_pipe_lead.name=The Manual Override item.weapon_pipe_rusty.name=The Attitude Adjuster item.weapon_saw.name=Doctor Assisted Homicide item.weaponized_starblaster_cell.name=§cRigged Star Blaster Energy Cell§r -item.wd40.name=VT-40 item.wild_p.name=Wild Pegasus Dry Whiskey item.wings_limp.name=Limp Wings item.wings_murk.name=Murky Wings @@ -4619,6 +4711,33 @@ itemGroup.tabTemplate=NTM Templates itemGroup.tabTest=Nuclear Tech Mod Test Tab itemGroup.tabWeapon=NTM Weapons and Turrets +pa.idle=Idle +pa.idle.desc=Idle +pa.running=Running +pa.running.desc=Running +pa.success=Success +pa.success.desc=Success +pa.pause_unloaded=Paused +pa.pause_unloaded.desc=The particle has entered an$unloaded chunk. The operation has$been suspended, until both the$particle and the particle source$are loaded. +pa.crash_defocus=Defocus! +pa.crash_defocus.desc=The particle has lost focus.$Ensure the accelerator has enough quadrupole magnets. +pa.crash_derail=Derail! +pa.crash_derail.desc=The particle has left the accelerator.$Ensure no parts are missing,$and that dipoles are configured correctly. +pa.crash_cannot_enter=Denied! +pa.crash_cannot_enter.desc=The particle tried to enter$part of the accelerator, but couldn't.$Ensure all parts are oriented correctly. +pa.crash_nocool=No cooling! +pa.crash_nocool.desc=The particle has entered an uncooled$part of the accelerator. Ensure all cooled$parts are connected and filled$with cold perfluoromethyl. +pa.crash_nopower=No power! +pa.crash_nopower.desc=The particle has entered an unpowered$part of the accelerator. Ensure all parts$receive power, and that the$power supply is sufficient. +pa.crash_nocoil=No coils! +pa.crash_nocoil.desc=The particle has entered a dipole$or quadrupole which lacks coils.$Install coils to allow this part to work. +pa.crash_overspeed=Overspeed! +pa.crash_overspeed.desc=The particle has entered a dipole$or quadrupole, while its speed exceeded$the coil's rating. Install higher$tier coils, or configure the dipoles$to leave the accelerator ring sooner. +pa.crash_norecipe=No recipe! +pa.crash_norecipe.desc=The particle entered a detector$with an invalid set of inputs.$Ensure the particle source inputs$match a valid recipe. +pa.crash_underspeed=Underspeed! +pa.crash_underspeed.desc=The particle entered a detector$with insufficient speed to perform$the current recipe. Ensure the$accelerator is configured$correctly for the recipe. + potion.hbm_bang=! ! ! potion.hbm_death=Astolfization potion.hbm_lead=Lead Poisoning @@ -4683,29 +4802,42 @@ rbmk.screen.rod=Control: %s rbmk.screen.temp=Temp: %s rbmk.screen.xenon=Xenon: %s +shape.barrelHeavy=Heavy Barrel +shape.barrelLight=Light Barrel shape.billet=Billet shape.blade=Blade shape.blades=Shredder Blades shape.block=Block +shape.c9=Small Caliber Casing +shape.c50=Large Caliber Casing shape.dust=Dust shape.dusttiny=Tiny Dust +shape.grip=Grip +shape.gunMechanism=Mechanism shape.hull_big=Big Shell shape.hull_small=Small Shell shape.ingot=Ingot shape.nugget=Nugget shape.quantum=Quantum shape.quart=Quarter Block +shape.receiverHeavy=Heavy Receiver +shape.receiverLight=Light Receiver shape.ntmpipe=Pipe shape.plate=Plate shape.plateTriple=Cast Plate shape.shell=Shell shape.stamp=Press Stamp +shape.stock=Stock shape.wireFine=Wires shape.wireDense=Dense Wire shape.wiresDense=Dense Wires soundCategory.ntmMachines=NTM Machines +stat.ntmBullets=Rounds Fired +stat.ntmLegendary=Legendary Items Created +stat.ntmMines=Mines Stepped on + tile.absorber.name=Radiation Absorber tile.absorber_green.name=Advanced Radiation Absorber tile.absorber_pink.name=Elite Radiation Absorber @@ -4960,7 +5092,7 @@ tile.cm_engine.bismuth.name=Bismuth Motor Block tile.cm_engine.desh.name=Desh Motor Block tile.cm_engine.standard.name=Motor Block tile.cm_flux.name=Neutron Flux Receiver -tile.cm_heat.name=Heat receiver +tile.cm_heat.name=Heat Receiver tile.cm_port.alloy.name=Advanced Alloy Port tile.cm_port.desh.name=Desh Port tile.cm_port.steel.name=Steel Port @@ -5041,12 +5173,12 @@ tile.crane_grabber.name=Conveyor Grabber tile.crane_grabber.desc=Takes items from passing conveyors and places them into containers$Will only take items from the closest lane$Has up to 9 filter slots with black and whitelist$Right-click with screwdriver to set input side$Shift-click with screwdriver to set the output side$Click twice to set the opposite side tile.crane_inserter.name=Conveyor Inserter tile.crane_inserter.desc=Accepts items from conveyors and places them into containers$Right-click with screwdriver to set input side$Shift-click with screwdriver to set the output side$Click twice to set the opposite side -tile.crane_partitioner.name=Acidizer Input Paritioner +tile.crane_partitioner.name=Acidizer Input Partitioner tile.crane_partitioner.desc=Receives and stores up to nine Ore Acidizer inputs$and releases them if they match the required input size.$Invalid items are also saved, and need to be extracted from the side. tile.crane_router.name=Conveyor Sorter tile.crane_router.desc=Sorts item based on defined criteria$Sides can be defined as blacklist, whitelist or wildcard$Wildcard sides are only chosen if no other filter matches tile.crane_splitter.name=Conveyor Splitter -tile.crane_splitter.desc=Splits items and stacks evenly onto two conveyor belts$Is a conveyor belt itself, so it can directly input into an inserter or sorter +tile.crane_splitter.desc=Splits items and stacks evenly onto two conveyor belts$Is a conveyor belt itself, so it can directly input into an inserter or sorter$Ratio can be configured with a screwdriver tile.crane_unboxer.name=Conveyor Unboxer tile.crane_unboxer.desc=Receives boxes and extracts their contents$Right-click with screwdriver to set output side$Shift-click with screwdriver to set the input side$Click twice to set the opposite side tile.crashed_bomb.name=Dud @@ -5060,6 +5192,7 @@ tile.crate_lead.name=Hazmat Crate tile.crate_metal.name=Machine Crate tile.crate_red.name=Red Crate tile.crate_steel.name=Steel Crate +tile.crate_supply.name=Supply Crate tile.crate_template.name=Template Crate tile.crate_tungsten.name=Tungsten Crate tile.crate_weapon.name=Weapon Crate @@ -5073,6 +5206,7 @@ tile.deco_computer.ibm_300pl.name=IBM Personal Computer 300PL tile.deco_crt.name=Old CRT Screen tile.deco_emitter.name=Deco Light Emitter tile.deco_lead.name=Lead Deco Block +tile.deco_loot.name=Loot Pile tile.deco_rbmk.name=RBMK Deco Block tile.deco_rbmk_smooth.name=Smooth RBMK Deco Block tile.deco_red_copper.name=Red Copper Deco Block @@ -5101,6 +5235,7 @@ tile.deco_pipe_rim_green_rusted.name=Rusty Green Steel Pipe (Rimmed) tile.deco_pipe_rim_red.name=Red Steel Pipe (Rimmed) tile.deco_pipe_rim_marked.name=Gas Pipe (Rimmed) tile.deco_steel.name=Steel Deco Block +tile.deco_rusty_steel.name=Rusty Steel Deco Block tile.deco_titanium.name=Titanium Deco Block tile.deco_toaster.name=Broken Toaster tile.deco_tungsten.name=Tungsten Deco Block @@ -5144,6 +5279,7 @@ tile.ducrete_smooth_stairs.name=Ducrete Stairs tile.dummy_block.name=Dummy Block tile.dummy_port.name=Dummy Block (Electricity Port) tile.dungeon_chain.name=Metal Chain +tile.logic_block.name=Dungeon Action Block tile.dynamite.name=Dynamite tile.emp_bomb.name=EMP Device tile.factory_advanced_conductor.name=Advanced Factory Electricity Port @@ -5156,7 +5292,9 @@ tile.factory_titanium_furnace.name=Basic Factory Access Hatch tile.factory_titanium_hull.name=Factory Block tile.fallout.name=Fallout tile.fan.name=Fan -tile.fan.desc=Activates using redstone$Will push entities up to 10 blocks$Right-click with screwdriver to flip +tile.fan.desc=Activates using redstone$Will push entities up to 10 blocks$Right-click with screwdriver to flip$Right-click with hand drill to switch mode +tile.fan.falloffOn=Fan power decreases with distance +tile.fan.falloffOff=Consistent fan power tile.fence_metal.name=Chainlink Fence tile.fence_metal_post.name=Chainlink Fence Post tile.field_disturber.name=High Energy Field Jammer @@ -5175,11 +5313,13 @@ tile.floodlight.name=Powered Floodlight tile.fluid_duct.name=Universal Fluid Duct (Deprecated) tile.fluid_duct_box.name=Universal Fluid Duct (Boxduct) tile.fluid_duct_exhaust.name=Exhaust Pipe +tile.fluid_duct_paintable_block_exhaust.name=Paintable Coated Exhaust Pipe tile.fluid_duct_gauge.name=Flow Gauge Pipe tile.fluid_duct_gauge.desc=Pipe that displays how much fluid$moves within the network per tick.$Split networks connected by barrels$or tanks are considered as one shared network. tile.fluid_duct_neo.name=Universal Fluid Duct tile.fluid_duct_paintable.name=Paintable Coated Universal Fluid Duct tile.fluid_duct_solid.name=Coated Universal Fluid Duct (Deprecated) +tile.fluid_pump.name=Flow Control Pump tile.fluid_switch.name=Redstone Fluid Valve tile.fluid_valve.name=Fluid Valve tile.foam_layer.name=Foam layer @@ -5232,6 +5372,7 @@ tile.geiger.name=Geiger Counter tile.glass_ash.name=Ash Glass tile.glass_boron.name=Boron Glass tile.glass_lead.name=Lead Glass +tile.glass_polarized.name=Polarized Glass tile.glass_polonium.name=Polonium Glass tile.glass_quartz.name=Quartz Glass tile.glass_trinitite.name=Trinity Glass @@ -5255,10 +5396,6 @@ tile.hadron_coil_neodymium.name=Dense Neodymium Coil tile.hadron_coil_schrabidate.name=Dense Schrabidate Coil tile.hadron_coil_schrabidium.name=Dense Schrabidic Coil tile.hadron_coil_starmetal.name=Dense Starmetal Coil -tile.hadron_cooler.name=Particle Accelerator Cooling Unit -tile.hadron_cooler.desc=Cooling power: 10$Overcooling threshold: 10$Cooling bonus: +10%%$Overcooling penalty: -25%% -tile.hadron_cooler_mk2.name=Particle Accelerator Cooling Unit - The Palindrome Special -tile.hadron_cooler_mk2.desc=Cooling power: 5$Efficiency function: 2-(cooling-15)²/225$Maximum penalty: -90%% tile.hadron_core.name=Particle Accelerator Core Component tile.hadron_diode.name=Schottky Particle Diode tile.hadron_plating.name=Particle Accelerator Plating @@ -5312,6 +5449,7 @@ tile.ladder_steel.name=Steel Ladder tile.ladder_sturdy.name=Sturdy Wooden Ladder tile.ladder_titanium.name=Titanium Ladder tile.ladder_tungsten.name=Tungsten Ladder +tile.trapdoor_steel.name=Steel Trapdoor tile.lamp_demon.name=Demon Core Lamp tile.lamp_tritium_blue_off.name=Blue Tritium Lamp tile.lamp_tritium_blue_on.name=Blue Tritium Lamp @@ -5324,8 +5462,16 @@ tile.launch_pad_large.name=Launch Pad tile.launch_pad_rusted.name=Old Launch Pad tile.launch_table.name=Large Launch Pad tile.leaves_layer.name=Fallen Leaves +tile.lightstone.unrefined.name=Raw Lightstone +tile.lightstone.tile.name=Lightstone Tile +tile.lightstone.bricks.name=Lightstone Bricks +tile.lightstone.bricks_chiseled.name=Lightstone Chiseled Bricks +tile.lightstone.chiseled.name=Chiseled Lightstone +tile.lightstone_tile_stairs.name=Lightstone Tile Stairs +tile.lightstone_bricks_stairs.name=Lightstone Brick Stairs tile.lox_barrel.name=LOX Barrel tile.machine_amgen.name=Ambience Radiation Generator +tile.machine_ammo_press.name=Ammo Press tile.machine_arc_furnace.name=Electric Arc Furnace tile.machine_arc_furnace_off.name=Arc Furnace tile.machine_arc_furnace_on.name=Arc Furnace @@ -5338,6 +5484,7 @@ tile.machine_assemfac.name=Assembly Factory tile.machine_autocrafter.name=Automatic Crafting Table tile.machine_autosaw.name=Automatic Buzz Saw tile.machine_autosaw.desc=Cuts down nearby plants, re-plants trees$Accepts:$-Wood oil$-Ethanol$-Fish oil$-Heavy oil +tile.machine_autosaw.suspended=Suspended tile.machine_bat9000.name=Big-Ass Tank 9000 tile.machine_battery.name=Energy Storage Block tile.machine_battery_potato.name=Potato Battery Block @@ -5345,13 +5492,15 @@ tile.machine_boiler.name=Boiler tile.machine_boiler.desc=Large boiler that can boil water or heat up oil.$Requires external heat source.$Heat transfer rate: ΔT*0.01 TU/t tile.machine_boiler_electric_off.name=Electric Oil Heater tile.machine_boiler_electric_on.name=Electric Oil Heater -tile.machine_boiler_off.name=Oil Heater -tile.machine_boiler_on.name=Oil Heater +tile.machine_boiler_off.name=Old Boiler tile.machine_catalytic_cracker.name=Catalytic Cracking Tower tile.machine_catalytic_reformer.name=Catalytic Reformer tile.machine_centrifuge.name=Centrifuge -tile.machine_chemfac.name=Chemical Factory -tile.machine_chemplant.name=Chemical Plant +tile.machine_chemfac.name=Chemical Factory (Legacy) +tile.machine_chemical_factory.name=Chemical Factory +tile.machine_chemical_factory.desc=Quadruple chemical plant.$Recipes process twice as fast,$but need twice as much power.$Needs to be cooled with water,$produces low-pressure steam. +tile.machine_chemical_plant.name=Chemical Plant +tile.machine_chemplant.name=Chemical Plant (Legacy) tile.machine_chungus.name=Leviathan Steam Turbine tile.machine_chungus.desc=Efficiency: 85%% tile.machine_coal_off.name=Combustion Generator @@ -5361,6 +5510,7 @@ tile.machine_coker.desc=Cokes oil, creating fluid byproducts.$Requires external tile.machine_combine_factory.name=CMB Steel Furnace tile.machine_combustion_engine.name=Industrial Combustion Engine tile.machine_compressor.name=Compressor +tile.machine_compressor_compact.name=Compact Compressor tile.machine_condenser.name=Steam Condenser tile.machine_condenser_powered.name=High-Power Steam Condenser tile.machine_controller.name=Reactor Remote Control Block @@ -5407,6 +5557,7 @@ tile.machine_icf_press.desc=Fills ICF Fuel pellets$Left fuel slot is accepted by tile.machine_industrial_boiler.name=Industrial Boiler tile.machine_industrial_boiler.desc=Large boiler that can boil water or heat up oil.$Requires external heat source.$Heat transfer rate: ΔT*0.01 TU/t$Cannot explode tile.machine_industrial_generator.name=Industrial Generator +tile.machine_intake.name=Air Intake tile.machine_keyforge.name=Locksmith Table tile.machine_large_turbine.name=Industrial Steam Turbine tile.machine_large_turbine.desc=Efficiency: 100%% @@ -5426,6 +5577,7 @@ tile.machine_powerrtg.name=PT Isotope Cell tile.machine_press.name=Burner Press tile.machine_puf6_tank.name=Plutonium Hexafluoride Tank tile.machine_pumpjack.name=Pumpjack +tile.machine_pyrooven.name=Pyrolysis Oven tile.machine_radar.name=Radar tile.machine_radar_large.name=Large Radar tile.machine_radgen.name=Radiation-Powered Engine @@ -5434,6 +5586,7 @@ tile.machine_reactor.name=Breeding Reactor tile.machine_reactor_small.name=Research Reactor tile.machine_refinery.name=Oil Refinery tile.machine_reix_mainframe.name=Rei-X Mainframe (WIP) +tile.machine_rotary_furnace.name=Rotary Furnace tile.machine_rtg_blue.name=Convection Generator tile.machine_rtg_cyan.name=Schrabidium Decay Generator (WIP) tile.machine_rtg_furnace_off.name=RTG Furnace @@ -5484,6 +5637,7 @@ tile.machine_turbofan.name=Turbofan tile.machine_uf6_tank.name=Uranium Hexafluoride Tank tile.machine_vacuum_distill.name=Vacuum Refinery tile.machine_waste_drum.name=Spent Fuel Pool Drum +tile.machine_weapon_table.name=Weapon Modification Table tile.machine_wood_burner.name=Wood-Burning Generator tile.machine_wood_burner.desc=Generates 100HE/t when burning items$Collects ashes$Can burn fluids at 50%% efficiency at 40mB/s tile.machine_well.name=Oil Derrick @@ -5500,6 +5654,7 @@ tile.meteor_polished.name=Polished Meteor Block tile.meteor_spawner.name=Cyber Crab Assembler tile.mine_ap.name=Anti-Personell Mine tile.mine_fat.name=Fat Mine +tile.mine_naval.name=Naval Mine tile.mine_he.name=Anti-Tank Mine tile.mine_shrap.name=Shrapnel Mine tile.moon_turf.name=Moon Turf @@ -5524,7 +5679,7 @@ tile.oil_duct_solid.name=Coated Oil Pipe tile.oil_pipe.name=Crude Oil Extraction Pipe tile.oil_spill.name=Oil Spill tile.ore_alexandrite.name=Alexandrite Ore -tile.ore_aluminium.name=Aluminium Ore +tile.ore_aluminium.name=Aluminium-Bearing Ore tile.ore_asbestos.name=Asbestos Ore tile.ore_australium.name=Australian Ore tile.ore_basalt_asbestos.name=Asbestos-Rich Basalt @@ -5610,6 +5765,18 @@ tile.ore_uranium_scorched.name=Scorched Uranium Ore tile.ore_verticium.name=Dollar Green Mineral tile.ore_volcano.name=Geothermal Vent tile.ore_weidanium.name=Weidite +tile.pa_beamline.name=Beamline +tile.pa_beamline.desc=Optional part, connects different accelerator parts.$Also allows to cheaply extend the ring's size,$for meeting dipole coil size requirements. +tile.pa_detector.name=Particle Detector +tile.pa_detector.desc=Requires cooling!$Accepts particles and performs the recipe.$Recipes may require containers (particle capsules).$Particle needs a defocus of 0 to be accepted. +tile.pa_dipole.name=Dipole Magnets +tile.pa_dipole.desc=Requires cooling!$Redirects particles based on momentum.$Has outputs for below threshold,$above threshold and above threshold$with redstone applied.$Requires large coils to work. +tile.pa_quadrupole.name=Quadrupole Magnets +tile.pa_quadrupole.desc=Requires cooling!$Reduces particle defocus by 100 points.$Requires large coils to work. +tile.pa_rfc.name=RF Cavity +tile.pa_rfc.desc=Requires cooling!$Accelerates particles by 100 points,$and adds 100 points of defocus.$The particle will crash when reaching points of 1000 defocus. +tile.pa_source.name=Particle Source +tile.pa_source.desc=Requires cooling!$Uses two items to create a particle. tile.part_emitter.name=Deco Particle Emitter tile.pedestal.name=Pedestal tile.pink_barrel.name=Kerosene Barrel @@ -5634,6 +5801,8 @@ tile.plant_tall.weed.name=Hemp tile.plasma.name=Plasma tile.plasma_heater.name=Plasma Heater tile.plushie.name=%s Plushie +tile.pneumatic_tube.name=Pneumatic Tube +tile.pneumatic_tube.desc=Sends items using compressed air.$Right-click with screwdriver to toggle an input.$Shift right-click with screwdriver to toggle an output.$Inputs can be configured, and connected to compressed air.$Sends up to one stack, four times per second. tile.pole_satellite_receiver.name=Satellite Dish tile.pole_top.name=Antenna Top tile.press_preheater.name=Burner Press Preheater @@ -5669,10 +5838,14 @@ tile.pwr_reflector.desc=Reflects neutrons back to fuel rods$Placement: Grid, for tile.rad_lava_block.name=Volcanic Lava tile.radar_screen.name=Radar Screen tile.radio_telex.name=Telex Machine +tile.radio_torch_controller.name=Redstone-over-Radio Controller +tile.radio_torch_controller.desc=Can receive command signals and relays$them to the connected machine tile.radio_torch_counter.name=Redstone-over-Radio Item Counter tile.radio_torch_counter.desc=Placable on flat surfaces or comparator-compatible blocks$Bases signal on the amount of matching items tile.radio_torch_logic.name=Redstone-over-Radio Logic Receiver tile.radio_torch_logic.desc=Placable on flat surfaces or comparator-compatible blocks$Maps redstone signals to conditions evaluated in a set order$Numerical or string inputs are compared against a constant +tile.radio_torch_reader.name=Redstone-over-Radio Reader +tile.radio_torch_reader.desc=Reads values from connected blocks,$then sends them over the specified frequency tile.radio_torch_receiver.name=Redstone-over-Radio Receiver tile.radio_torch_receiver.desc=Placable on flat surfaces or comparator-compatible blocks tile.radio_torch_sender.name=Redstone-over-Radio Transmitter @@ -5738,6 +5911,7 @@ tile.red_pylon_medium_steel_transformer.name=Medium Steel Electricity Pylon with tile.red_pylon_medium_wood.name=Medium Wooden Electricity Pylon tile.red_pylon_medium_wood_transformer.name=Medium Wooden Electricity Pylon with Transformer tile.red_wire_coated.name=Coated Red Copper Cable +tile.refueler.name=Refueling Station tile.reinforced_brick.name=Reinforced Stone tile.reinforced_brick_stairs.name=Reinforced Stone Stairs tile.reinforced_ducrete.name=Reinforced Ducrete @@ -5764,6 +5938,7 @@ tile.sand_lead.name=Lead Sand tile.sand_polonium.name=Polonium Sand tile.sand_quartz.name=Quartz Sand tile.sand_uranium.name=Uranium Sand +tile.sandbags.name=Sandbags tile.sat_dock.name=Cargo Landing Pad tile.sat_foeq.name=PEAF - Mk.I FOEQ Duna Probe with experimental Nuclear Propulsion (Deco Block) tile.sat_laser.name=Orbital Death Ray (Deco Block) @@ -5786,6 +5961,7 @@ tile.sellafield_slaked.name=Slaked Sellafite tile.semtex.name=Semtex tile.silo_hatch.name=Silo Hatch tile.silo_hatch_large.name=Large Silo Hatch +tile.skeleton_holder.name=Oh, that's a dead guy tile.sliding_blast_door.name=Sliding Blast Door tile.solar_mirror.name=Heliostat Mirror tile.soyuz_capsule.name=Cargo Landing Capsule @@ -5813,6 +5989,7 @@ tile.stone_depth.name=Depth Rock tile.stone_depth_nether.name=Nether Depth Rock tile.stone_gneiss.name=Graphitic Schist tile.stone_keyhole.name=Strange Stone +tile.stone_keyhole_meta.name=Strange Red Room Brick tile.stone_porous.name=Porous Stone tile.stone_resource.asbestos.name=Chrysotile tile.stone_resource.bauxite.name=Bauxite @@ -5820,6 +5997,8 @@ tile.stone_resource.hematite.name=Hematite tile.stone_resource.limestone.name=Limestone tile.stone_resource.malachite.name=Malachite tile.stone_resource.sulfur.name=Sulfurous Stone +tile.stones_slab.lightstone.1.name=Lightstone Tile Slab +tile.stones_slab.lightstone.2.name=Lightstone Brick Slab tile.struct_icf_core.name=Inertial Confinement Fusion Reactor Core Component tile.struct_iter_core.name=Fusion Reactor Core Component tile.struct_launcher.name=Launch Pad Component Block @@ -5873,12 +6052,17 @@ tile.vent_chlorine.name=Chlorine Vent tile.vent_chlorine_seal.name=Chlorine Seal tile.vent_cloud.name=Cloud Vent tile.vent_pink_cloud.name=Pink Cloud Vent +tile.vine_phosphor.large.name=Phosphor Vines tile.vinyl_tile.large.name=Large Vinyl Tile tile.vinyl_tile.small.name=Small Vinyl Tiles tile.vitrified_barrel.name=Vitrified Nuclear Waste Drum tile.volcanic_lava_block.name=Volcanic Lava tile.volcano_core.name=Volcano Core tile.volcano_rad_core.name=Rad Volcano Core +tile.wand_air.name=Structure Wand Block (Air) +tile.wand_loot.name=Structure Wand Block (Lootable) +tile.wand_jigsaw.name=Structure Wand Block (Jigsaw) +tile.wand_logic.name=Structure Wand Block (Logic) tile.waste_earth.name=Dead Grass tile.waste_leaves.name=Dead Leaves tile.waste_log.name=Charred Log @@ -5896,6 +6080,10 @@ tile.watz_end.name=Watz Reactor Stability Element tile.watz_end_bolted.name=Watz Reactor Stability Element (Riveted) tile.watz_hatch.name=Watz Reactor Access Hatch tile.watz_pump.name=Watz Pressure Pump +tile.wood_barrier.name=Wooden Barrier +tile.wood_structure.ceiling.name=Wooden Ceiling +tile.wood_structure.roof.name=Wooden Roof +tile.wood_structure.scaffold.name=Wooden Scaffold tile.yellow_barrel.name=Radioactive Barrel tile.zirnox_destroyed.name=Destroyed ZIRNOX @@ -5965,6 +6153,7 @@ tool.ability.centrifuge=Auto-Centrifuge tool.ability.crystallizer=Auto-Crystallizer tool.ability.explosion=Explosion tool.ability.hammer=AoE +tool.ability.hammer_flat=Flat AoE tool.ability.luck=Fortune tool.ability.mercury=Mercury Touch tool.ability.midas=Midas Touch @@ -5992,7 +6181,9 @@ upgrade.delay=Process time %s upgrade.efficiency=Efficiency %s upgrade.fortune=Fortune %s upgrade.overheatChance=Overheat chance %s +upgrade.productivity=Productivity %s upgrade.range=Range %s +upgrade.speed=Process speed %s upgrade.gui.title=§lAcceptable Upgrades:§r upgrade.gui.afterburner= * §dAfterburner§r: Stacks to level %s diff --git a/src/main/resources/assets/hbm/lang/it_IT.lang b/src/main/resources/assets/hbm/lang/it_IT.lang index 1143e0318..b426cae6d 100644 --- a/src/main/resources/assets/hbm/lang/it_IT.lang +++ b/src/main/resources/assets/hbm/lang/it_IT.lang @@ -3686,7 +3686,7 @@ item.nugget_daffergon.name=Daffergon Nugget item.nugget_desh.name=Desh Nugget item.nugget_dineutronium.name=Dineutronium Nugget item.nugget_euphemium.name=Euphemium Nugget -item.nugget_euphemium.desc=A small piece of a pink metal.$It's properties are still unknown,$DEAL WITH IT carefully. +item.nugget_euphemium.desc=A small piece of a pink metal.$Its properties are still unknown,$DEAL WITH IT carefully. item.nugget_gh336.name=Ghiorsium-336 Nugget item.nugget_gh336.desc=Seaborgium's colleague. item.nugget_hes.name=Highly Enriched Schrabidium Fuel Nugget @@ -4753,7 +4753,7 @@ item.waste_u233.name=Depleted Uranium-233 Fuel item.waste_uranium.name=Depleted Uranium Fuel item.waste_zfb_mox.name=Depleted ZFB MOX Fuel item.watch.name=Broken Pocket Watch -item.watch.desc=A small blue pocket watch.$It's glass has a few cracks in it,$and some shards are missing.$It stopped ticking at 2:34. +item.watch.desc=A small blue pocket watch.$Its glass has a few cracks in it,$and some shards are missing.$It stopped ticking at 2:34. item.watz_pellet.boron.name=Boron Absorber Pellet item.watz_pellet.du.name=Depleted Uranium Absorber Pellet item.watz_pellet.hes.name=HES Watz Pellet @@ -5356,7 +5356,9 @@ tile.factory_titanium_furnace.name=Basic Factory Access Hatch tile.factory_titanium_hull.name=Factory Block tile.fallout.name=Fallout tile.fan.name=Fan -tile.fan.desc=Activates using redstone$Will push entities up to 10 blocks$Right-click with screwdriver to flip +tile.fan.desc=Activates using redstone$Will push entities up to 10 blocks$Right-click with screwdriver to flip$Right-click with hand drill to switch mode +tile.fan.falloffOn=Fan power decreases with distance +tile.fan.falloffOff=Consistent fan power tile.fence_metal.name=Chainlink Fence tile.fence_metal_post.name=Chainlink Fence Post tile.field_disturber.name=High Energy Field Jammer @@ -5511,6 +5513,7 @@ tile.ladder_steel.name=Steel Ladder tile.ladder_sturdy.name=Sturdy Wooden Ladder tile.ladder_titanium.name=Titanium Ladder tile.ladder_tungsten.name=Tungsten Ladder +tile.trapdoor_steel.name=Steel Trapdoor tile.lamp_demon.name=Demon Core Lamp tile.lamp_tritium_blue_off.name=Blue Tritium Lamp tile.lamp_tritium_blue_on.name=Blue Tritium Lamp @@ -5537,6 +5540,7 @@ tile.machine_assemfac.name=Assembly Factory tile.machine_autocrafter.name=Automatic Crafting Table tile.machine_autosaw.name=Automatic Buzz Saw tile.machine_autosaw.desc=Cuts down nearby plants, re-plants trees$Accepts:$-Wood oil$-Ethanol$-Fish oil$-Heavy oil +tile.machine_autosaw.suspended=Suspended tile.machine_bat9000.name=Big-Ass Tank 9000 tile.machine_battery.name=Energy Storage Block tile.machine_battery_potato.name=Potato Battery Block @@ -6161,6 +6165,7 @@ tool.ability.centrifuge=Auto-Centrifuge tool.ability.crystallizer=Auto-Crystallizer tool.ability.explosion=Explosion tool.ability.hammer=AoE +tool.ability.hammer_flat=AoE piatta tool.ability.luck=Fortune tool.ability.mercury=Mercury Touch tool.ability.midas=Midas Touch diff --git a/src/main/resources/assets/hbm/lang/ns_OC.lang b/src/main/resources/assets/hbm/lang/ns_OC.lang deleted file mode 100644 index a54936873..000000000 --- a/src/main/resources/assets/hbm/lang/ns_OC.lang +++ /dev/null @@ -1,2963 +0,0 @@ -language.name=Newspeak -language.region=Oceania -language.code=ns_OC - -gui.done=Done -gui.cancel=Abort -gui.back=Back -gui.toMenu=Back to Selectfield -gui.up=Up -gui.down=Down -gui.yes=Yes -gui.no=No - -translation.test.none=Hello, world! -translation.test.complex=Prefix, %s%2$s again %s and %1$s lastly %s and also %1$s again! -translation.test.escape=%%s %%%s %%%%s %%%%%s -translation.test.invalid=hi % -translation.test.invalid2=hi % s -translation.test.args=%s %s -translation.test.world=world - -menu.game=Selectfield -menu.singleplayer=Loneplay -menu.multiplayer=Manyplay -menu.online=Gameland -menu.options=Settings -menu.quit=Leave Playings -menu.returnToMenu=Save and Return -menu.disconnect=Leave -menu.returnToGame=Back to Playings -menu.switchingLevel=Switching worlds -menu.generatingLevel=Building world -menu.loadingLevel=Loading world -menu.generatingTerrain=Building land -menu.convertingLevel=Newbuilding world -menu.simulating=Virtualplaying the world -menu.respawning=Reliving -menu.shareToLan=Open to nearby Players - -selectWorld.title=Select World -selectWorld.empty=empty -selectWorld.world=World -selectWorld.select=Play World -selectWorld.create=Build World -selectWorld.recreate=Newbuild -selectWorld.createDemo=Play Demoworld -selectWorld.delete=Destroy -selectWorld.rename=Newname -selectWorld.deleteQuestion=Are you of conscience to destroy world? -selectWorld.deleteWarning=will be vaporized for longtime! -selectWorld.deleteButton=Destroy -selectWorld.renameButton=Newname -selectWorld.renameTitle=Newname World -selectWorld.conversion=Mut be newbuilded! -selectWorld.newWorld=New World -selectWorld.newWorld.copyOf=Dupe of %s -selectWorld.enterName=World Name -selectWorld.resultFolder=Will be saved in: -selectWorld.enterSeed=Code for Worldbuilder -selectWorld.seedInfo=Keep empty for random code -selectWorld.cheats=Crimeplay -selectWorld.customizeType=Custommake - -createWorld.customize.presets=Presets -createWorld.customize.presets.title=Select Preset -createWorld.customize.presets.select=Use Preset -createWorld.customize.presets.share=Do you intend to sharegive present? Copy text of box! -createWorld.customize.presets.list=Here are worlds maked by the Party: -createWorld.customize.flat.title=Flatworld making -createWorld.customize.flat.tile=Layerstuff -createWorld.customize.flat.height=Height -createWorld.customize.flat.addLayer=Make Layer -createWorld.customize.flat.editLayer=Remake Layer -createWorld.customize.flat.removeLayer=Delete Layer -createWorld.customize.flat.layer.top=Top - %d -createWorld.customize.flat.layer=%d -createWorld.customize.flat.layer.bottom=Bottom - %d - -gameMode.survival=Livings Mode -gameMode.creative=Crimeplay Mode -gameMode.adventure=Pluslivings Mode -gameMode.hardcore=Doublepluslivings Mode -gameMode.changed=Your mode was set anew! - -selectWorld.gameMode=Playings Mode -selectWorld.gameMode.survival=Livings -selectWorld.gameMode.survival.line1=Look for groundstuffs, build worktools, -selectWorld.gameMode.survival.line2=prevent unliving. -selectWorld.gameMode.creative=Crimeplay -selectWorld.gameMode.creative.line1=Unlimited buildstuffs, flyability, -selectWorld.gameMode.creative.line2=delete blocks shorttimely -selectWorld.gameMode.hardcore=Doublepluslivings -selectWorld.gameMode.hardcore.line1=Doubleplusplayingshardness, -selectWorld.gameMode.hardcore.line2=longtime unliving -selectWorld.gameMode.adventure=Pluslivings -selectWorld.gameMode.adventure.line1=Buildstuffs unbuildwise, -selectWorld.gameMode.adventure.line2=undeletewise -selectWorld.moreWorldOptions=Plusworldsettings... -selectWorld.mapFeatures=Build Buildings: -selectWorld.mapFeatures.info=Cities, prisons, etc. -selectWorld.mapType=World Type: -selectWorld.mapType.normal=Normal -selectWorld.allowCommands=Allow Crimeplay: -selectWorld.allowCommands.info=Crimeplay to steal material, /give -selectWorld.hardcoreMode=Doublepluslivings: -selectWorld.hardcoreMode.info=World is deleted on unliving -selectWorld.bonusItems=Pluscrate: - -generator.default=Default -generator.flat=Flatworld -generator.largeBiomes=Doubleplus Setting -generator.amplified=Tripleplus Setting - -generator.amplified.info=For doubleplusgood caclulators only! - -selectServer.title=Select Multiplayings -selectServer.empty=empty -selectServer.select=Join Multiplayings -selectServer.direct=Instant Line -selectServer.edit=Newmake -selectServer.delete=Delete -selectServer.add=Make Multiplayings -selectServer.defaultName=Minecraft Multiplayings -selectServer.deleteQuestion=Are you of conscience to destroy multiplayings? -selectServer.deleteWarning=will be vaporized for longtime! -selectServer.deleteButton=Delete -selectServer.refresh=Renew -selectServer.hiddenAddress=(Unshowing) -addServer.title=Remake Multiplayings Info -addServer.enterName=Multiplayings Name -addServer.enterIp=Multiplayings Code -addServer.add=Done -addServer.hideAddress=Unshow Code -addServer.resourcePack=Multiplayings Lookpackage -addServer.resourcePack.enabled=Enabled -addServer.resourcePack.disabled=Disabled -addServer.resourcePack.prompt=Prompt -lanServer.title=Local Multiplayings -lanServer.scanning=Finding games in local space -lanServer.start=Make local nultiplayings -lanServer.otherPlayers=Settings for Players -mcoServer.title=Minecraft Internet Multiplayings - -multiplayer.title=Play Multiplayings -multiplayer.connect=Multiplay -multiplayer.info1=Minecraft Multiplayings unmade, -multiplayer.info2=testing progressing.... -multiplayer.ipinfo=Enter IP Code of Multiplayings to Multiplay -multiplayer.texturePrompt.line1=Multiplay orders you to playings with lookpackage -multiplayer.texturePrompt.line2=Are you of conscience to load lookpackage? -multiplayer.downloadingTerrain=Loadings land... -multiplayer.downloadingStats=Loading achievings... -multiplayer.stopSleeping=Unsleep -multiplayer.player.joined=%s joined multiplayings -multiplayer.player.joined.renamed=%s (unnamed %s) joined multiplayings -multiplayer.player.left=%s unjoined multiplayings - -chat.cannotSend=Unsending text -chat.type.text=<%s> %s -chat.type.emote=* %s %s -chat.type.announcement=[%s] %s -chat.type.admin=[%s: %s] -chat.type.achievement=%s maded achievings %s -chat.link.confirm=Are you of conscience to load internet page? -chat.link.warning=Unload untrusty internet pages! -chat.copy=Remaking to Copyboard -chat.link.confirmTrusted=Are you opening internet code or remaking to copyboard? -chat.link.open=Open in internet window - -chat.stream.text=(%s) <%s> %s -chat.stream.emote=(%s) * %s %s - -menu.playdemo=Play Demo World -menu.resetdemo=Remake Demo World - -demo.day.1=This demo will vaporize in five days! -demo.day.2=Day Two -demo.day.3=Day Three -demo.day.4=Day Four -demo.day.5=Day Five!! -demo.day.warning=Demo will vaporize soonwise! -demo.day.6=Demo ended! Make screenpicture with F2! -demo.reminder=Demo ended, buy full playing or vaporize this world! -demo.remainingTime=Remaining time: %s -demo.demoExpired=Demo time's up! -demo.help.movement=Use %1$s, %2$s, %3$s, %4$s and and mouse to move. -demo.help.movementShort=Move by pressing %1$s, %2$s, %3$s, %4$s -demo.help.movementMouse=Look around using mouse -demo.help.jump=Jump by pressing %1$s -demo.help.inventory=Use %1$s to open material storage! -demo.help.title=Minecraft Demo Mode -demo.help.fullWrapped=This demo will vaporize in 5 Minecraft days (~1 hour and 40 minutes) -demo.help.buy=Pay up! -demo.help.later=Keep playing! - -connect.connecting=Joining multiplayings... -connect.authorizing=Logging in... -connect.failed=Unjoined to this multiplaying! - -disconnect.genericReason=%s -disconnect.disconnected=Unjoined by Multiplaying -disconnect.lost=Unjoined -disconnect.kicked=Was vaporized from multiplayings -disconnect.timeout=Ran out of time -disconnect.closed=Joining deleted -disconnect.loginFailed=Unable joining -disconnect.loginFailedInfo=Unable joining: %s -disconnect.loginFailedInfo.serversUnavailable=Authjoinings unable due to internet rebuilding -disconnect.loginFailedInfo.invalidSession=Unsession (restart minecraft) -disconnect.quitting=Unplaying -disconnect.endOfStream=End of internet -disconnect.overflow=Buffer unliving -disconnect.spam=Vaporized for Thoughtcrimes - -soundCategory.master=Party Loundness -soundCategory.music=Music Louness -soundCategory.record=Note Loudness -soundCategory.weather=Weather Loudness -soundCategory.hostile=Enemy Loudness -soundCategory.neutral=Ally Loudness -soundCategory.player=Players Loudness -soundCategory.block=Buildstuffs Loudness -soundCategory.ambient=Ominous Loudness - -record.nowPlaying=Musicplays: %s - -options.off=OFF -options.on=ON -options.visible=Shown -options.hidden=Unshown -options.title=Settings -options.controls=Control... -options.video=Seeing Settings... -options.language=Speak... -options.stream=Sending Settings... -options.sounds=Loudness... -options.sounds.title=Loudness Settigns -options.languageWarning=Speakwork not 100% precise -options.videoTitle=Seeing Settings -options.music=Music -options.sound=Noise -options.invertMouse=Unmove Mouse -options.fov=FOV -options.fov.min=Normal -options.fov.max=Real Oceanian -options.saturation=Saturation -options.gamma=Brightness -options.gamma.min=Unright -options.gamma.max=Bright -options.sensitivity=Movespeed -options.sensitivity.min=Doubleplusunspeedwise -options.sensitivity.max=Doubleplusspeedwise -options.renderDistance=Seeing Distance -options.renderDistance.tiny=Plusunlarge -options.renderDistance.short=Unlarge -options.renderDistance.normal=Normal -options.renderDistance.far=Large -options.viewBobbing=Victory Gin -options.ao=Light Smoothness -options.ao.off=OFF -options.ao.min=Unsmooth -options.ao.max=Smooth -options.anaglyph=3D Anaglyph -options.framerateLimit=Max Speed -options.framerateLimit.max=Unlimited Speed -options.difficulty=Game Hardness -options.difficulty.peaceful=Armistice -options.difficulty.easy=Unhard -options.difficulty.normal=Hard -options.difficulty.hard=Plushard -options.difficulty.hardcore=Doubleplushard -options.graphics=Looking -options.graphics.fancy=Good -options.graphics.fast=Fast -options.guiScale=GUI Largeness -options.guiScale.auto=Auto -options.guiScale.small=Unlarge -options.guiScale.normal=Normal -options.guiScale.large=Large -options.advancedOpengl=Doubleplus OpenGL -options.fboEnable=Enable FBOs -options.postProcessEnable=Enable Post-Processing -options.aoDesc0=Enable faux ambient occlusion on blocks. -options.aoDesc1= -options.framerateLimitDesc0=Select maximum fastness: -options.framerateLimitDesc1=35fps, 120fps, or 200+fps. -options.viewBobbingDesc0=Enables drunkenness -options.viewBobbingDesc1= -options.renderCloudsDesc0=Enables drawing of skyclouds -options.renderCloudsDesc1= -options.graphicsDesc0='Fancy': Doubleplusgood looking -options.graphicsDesc1='Fast': For ungood calculators -options.renderDistanceDesc0=Maximum looking largeness. Unlarge -options.renderDistanceDesc1=numbers work better on ungood calculators -options.particlesDesc0=Sets plentifulness of looking pieces -options.particlesDesc1=Unmany looking pieces work better on ungood calculators - - - - - - - - -options.advancedOpenglDesc0=Enables occlusion queries. On AMD and Intel -options.advancedOpenglDesc1=hardware, this may decrease performance. -options.fboEnableDesc0=Enables the use of Framebuffer Objects. -options.fboEnableDesc1=Necessary for certain Minecraft features. -options.postProcessEnableDesc0=Enables post-processing. Disabling will -options.postProcessEnableDesc1=result in reduction in Awesome Levels. -options.renderClouds=Clouds -options.qualityButton=Video Quality Settings... -options.qualityVideoTitle=Video Quality Settings -options.performanceButton=Video Performance Settings... -options.performanceVideoTitle=Video Performance Settings -options.advancedButton=Advanced Video Settings... -options.advancedVideoTitle=Advanced Video Settings -options.postButton=Post-Processing Settings... -options.postVideoTitle=Post-Processing Settings -options.farWarning1=A 64 bit Java installation is recommended -options.farWarning2=for 'Far' render distance (you have 32 bit) -options.particles=Particles -options.particles.all=All -options.particles.decreased=Decreased -options.particles.minimal=Minimal -options.multiplayer.title=Multiplayer Settings... -options.chat.title=Chat Settings... -options.chat.visibility=Chat -options.chat.visibility.full=Shown -options.chat.visibility.system=Commands Only -options.chat.visibility.hidden=Hidden -options.chat.color=Colors -options.chat.opacity=Opacity -options.chat.links=Web Links -options.chat.links.prompt=Prompt on Links -options.chat.scale=Scale -options.chat.width=Width -options.chat.height.focused=Focused Height -options.chat.height.unfocused=Unfocused Height -options.showCape=Show Cape -options.snooper=Allow Snooper -options.snooper.view=Snooper Settings... -options.snooper.title=Machine Specs Collection -options.snooper.desc=We want to collect information about your machine to help improve Minecraft by knowing what we can support and where the biggest problems are. All of this information is completely anonymous and viewable below. We promise we won't do anything bad with this data, but if you want to opt out then feel free to toggle it off! -options.resourcepack=Resource Packs... -options.fullscreen=Fullscreen -options.vsync=Use VSync -options.touchscreen=Touchscreen Mode - -options.mipmapLevels=Mipmap Levels -options.anisotropicFiltering=Anisotropic Filtering -options.forceUnicodeFont=Force Unicode Font - -options.stream.title=Twitch Broadcast Settings -options.stream.bytesPerPixel=Quality -options.stream.micVolumne=Mic Volume -options.stream.micToggleBehavior=Push To -options.stream.mic_toggle.mute=Mute -options.stream.mic_toggle.talk=Talk -options.stream.systemVolume=System Volume -options.stream.kbps=Bandwidth -options.stream.fps=Framerate -options.stream.sendMetadata=Send Metadata -options.stream.compression=Compression -options.stream.compression.low=Low -options.stream.compression.medium=Medium -options.stream.compression.high=High -options.stream.estimation=Estimated resolution: %dx%d -options.stream.changes=You may need to restart your stream for these changes to take place. -options.stream.ingestSelection=Broadcast Server List -options.stream.ingest.title=Twitch Broadcast Servers -options.stream.ingest.reset=Reset Preference -options.stream.chat.title=Twitch Chat Settings -options.stream.chat.enabled=Enable -options.stream.chat.enabled.streaming=Whilst Streaming -options.stream.chat.enabled.always=Always -options.stream.chat.enabled.never=Never -options.stream.chat.userFilter=User Filter -options.stream.chat.userFilter.all=All Viewers -options.stream.chat.userFilter.subs=Subscribers -options.stream.chat.userFilter.mods=Moderators - -title.oldgl1=Old graphics card detected; this may prevent you from -title.oldgl2=playing in the future as OpenGL 2.0 will be required. - -controls.title=Controls -controls.reset=Reset -controls.resetAll=Reset Keys - -key.sprint=Sprint -key.forward=Walk Forwards -key.left=Strafe Left -key.back=Walk Backwards -key.right=Strafe Right -key.jump=Jump -key.inventory=Inventory -key.drop=Drop Item -key.chat=Open Chat -key.sneak=Sneak -key.playerlist=List Players -key.attack=Attack/Destroy -key.use=Use Item/Place Block -key.pickItem=Pick Block -key.mouseButton=Button %1$s -key.command=Open Command -key.screenshot=Take Screenshot -key.togglePerspective=Toggle Perspective -key.smoothCamera=Toggle Cinematic Camera -key.fullscreen=Toggle Fullscreen -key.hotbar.1=Hotbar Slot 1 -key.hotbar.2=Hotbar Slot 2 -key.hotbar.3=Hotbar Slot 3 -key.hotbar.4=Hotbar Slot 4 -key.hotbar.5=Hotbar Slot 5 -key.hotbar.6=Hotbar Slot 6 -key.hotbar.7=Hotbar Slot 7 -key.hotbar.8=Hotbar Slot 8 -key.hotbar.9=Hotbar Slot 9 -key.streamStartStop=Start/Stop Stream -key.streamPauseUnpause=Pause/Unpause Stream -key.streamCommercial=Show Stream Commercials -key.streamToggleMic=Push To Talk/Mute - -key.categories.movement=Movement -key.categories.misc=Miscellaneous -key.categories.multiplayer=Multiplayer -key.categories.gameplay=Gameplay -key.categories.ui=Game Interface -key.categories.inventory=Inventory -key.categories.stream=Streaming - -resourcePack.openFolder=Open resource pack folder -resourcePack.title=Select Resource Packs -resourcePack.available.title=Available Resource Packs -resourcePack.selected.title=Selected Resource Packs -resourcePack.folderInfo=(Place resource pack files here) - -sign.edit=Edit sign message - -book.pageIndicator=Page %1$s of %2$s -book.byAuthor=by %1$s -book.signButton=Sign -book.editTitle=Enter Book Title: -book.finalizeButton=Sign and Close -book.finalizeWarning=Note! When you sign the book, it will no longer be editable. - -tile.stone.name=Stone -tile.hayBlock.name=Hay Bale -tile.grass.name=Grass Block -tile.dirt.default.name=Dirt -tile.dirt.podzol.name=Podzol -tile.stonebrick.name=Cobblestone -tile.wood.name=Wooden Planks -tile.wood.oak.name=Oak Wood Planks -tile.wood.spruce.name=Spruce Wood Planks -tile.wood.birch.name=Birch Wood Planks -tile.wood.jungle.name=Jungle Wood Planks -tile.wood.acacia.name=Acacia Wood Planks -tile.wood.big_oak.name=Dark Oak Wood Planks -tile.sapling.oak.name=Oak Sapling -tile.sapling.spruce.name=Spruce Sapling -tile.sapling.birch.name=Birch Sapling -tile.sapling.jungle.name=Jungle Sapling -tile.sapling.acacia.name=Acacia Sapling -tile.sapling.roofed_oak.name=Dark Oak Sapling -tile.deadbush.name=Dead Bush -tile.bedrock.name=Bedrock -tile.water.name=Water -tile.lava.name=Lava -tile.sand.default.name=Sand -tile.sand.red.name=Red Sand -tile.sandStone.name=Sandstone -tile.sandStone.default.name=Sandstone -tile.sandStone.chiseled.name=Chiseled Sandstone -tile.sandStone.smooth.name=Smooth Sandstone -tile.gravel.name=Gravel -tile.oreGold.name=Gold Ore -tile.oreIron.name=Iron Ore -tile.oreCoal.name=Coal Ore -tile.log.name=Wood -tile.log.oak.name=Oak Wood -tile.log.spruce.name=Spruce Wood -tile.log.birch.name=Birch Wood -tile.log.jungle.name=Jungle Wood -tile.log.acacia.name=Acacia Wood -tile.log.big_oak.name=Dark Oak Wood -tile.leaves.name=Leaves -tile.leaves.oak.name=Oak Leaves -tile.leaves.spruce.name=Spruce Leaves -tile.leaves.birch.name=Birch Leaves -tile.leaves.jungle.name=Jungle Leaves -tile.leaves.acacia.name=Acacia Leaves -tile.leaves.big_oak.name=Dark Oak Leaves -tile.tallgrass.name=Grass -tile.tallgrass.shrub.name=Shrub -tile.tallgrass.grass.name=Grass -tile.tallgrass.fern.name=Fern -tile.sponge.name=Sponge -tile.glass.name=Glass -tile.stainedGlass.name=Stained Glass -tile.stainedGlass.black.name=Black Stained Glass -tile.stainedGlass.red.name=Red Stained Glass -tile.stainedGlass.green.name=Green Stained Glass -tile.stainedGlass.brown.name=Brown Stained Glass -tile.stainedGlass.blue.name=Blue Stained Glass -tile.stainedGlass.purple.name=Purple Stained Glass -tile.stainedGlass.cyan.name=Cyan Stained Glass -tile.stainedGlass.silver.name=Light Gray Stained Glass -tile.stainedGlass.gray.name=Gray Stained Glass -tile.stainedGlass.pink.name=Pink Stained Glass -tile.stainedGlass.lime.name=Lime Stained Glass -tile.stainedGlass.yellow.name=Yellow Stained Glass -tile.stainedGlass.lightBlue.name=Light Blue Stained Glass -tile.stainedGlass.magenta.name=Magenta Stained Glass -tile.stainedGlass.orange.name=Orange Stained Glass -tile.stainedGlass.white.name=White Stained Glass -tile.thinStainedGlass.name=Stained Glass Pane -tile.thinStainedGlass.black.name=Black Stained Glass Pane -tile.thinStainedGlass.red.name=Red Stained Glass Pane -tile.thinStainedGlass.green.name=Green Stained Glass Pane -tile.thinStainedGlass.brown.name=Brown Stained Glass Pane -tile.thinStainedGlass.blue.name=Blue Stained Glass Pane -tile.thinStainedGlass.purple.name=Purple Stained Glass Pane -tile.thinStainedGlass.cyan.name=Cyan Stained Glass Pane -tile.thinStainedGlass.silver.name=Light Gray Stained Glass Pane -tile.thinStainedGlass.gray.name=Gray Stained Glass Pane -tile.thinStainedGlass.pink.name=Pink Stained Glass Pane -tile.thinStainedGlass.lime.name=Lime Stained Glass Pane -tile.thinStainedGlass.yellow.name=Yellow Stained Glass Pane -tile.thinStainedGlass.lightBlue.name=Light Blue Stained Glass Pane -tile.thinStainedGlass.magenta.name=Magenta Stained Glass Pane -tile.thinStainedGlass.orange.name=Orange Stained Glass Pane -tile.thinStainedGlass.white.name=White Stained Glass Pane -tile.thinGlass.name=Glass Pane -tile.cloth.name=Wool -tile.flower1.dandelion.name=Dandelion -tile.flower2.poppy.name=Poppy -tile.flower2.blueOrchid.name=Blue Orchid -tile.flower2.allium.name=Allium -tile.flower2.houstonia.name=Azure Bluet -tile.flower2.tulipRed.name=Red Tulip -tile.flower2.tulipOrange.name=Orange Tulip -tile.flower2.tulipWhite.name=White Tulip -tile.flower2.tulipPink.name=Pink Tulip -tile.flower2.oxeyeDaisy.name=Oxeye Daisy -tile.doublePlant.sunflower.name=Sunflower -tile.doublePlant.syringa.name=Lilac -tile.doublePlant.grass.name=Double Tallgrass -tile.doublePlant.fern.name=Large Fern -tile.doublePlant.rose.name=Rose Bush -tile.doublePlant.paeonia.name=Peony -tile.mushroom.name=Mushroom -tile.blockGold.name=Block of Gold -tile.blockIron.name=Block of Iron -tile.stoneSlab.stone.name=Stone Slab -tile.stoneSlab.sand.name=Sandstone Slab -tile.stoneSlab.wood.name=Wooden Slab -tile.stoneSlab.cobble.name=Cobblestone Slab -tile.stoneSlab.brick.name=Bricks Slab -tile.stoneSlab.smoothStoneBrick.name=Stone Bricks Slab -tile.stoneSlab.netherBrick.name=Nether Brick Slab -tile.stoneSlab.quartz.name=Quartz Slab -tile.woodSlab.oak.name=Oak Wood Slab -tile.woodSlab.spruce.name=Spruce Wood Slab -tile.woodSlab.birch.name=Birch Wood Slab -tile.woodSlab.jungle.name=Jungle Wood Slab -tile.woodSlab.acacia.name=Acacia Wood Slab -tile.woodSlab.big_oak.name=Dark Oak Wood Slab -tile.brick.name=Bricks -tile.tnt.name=TNT -tile.bookshelf.name=Bookshelf -tile.stoneMoss.name=Moss Stone -tile.obsidian.name=Obsidian -tile.torch.name=Torch -tile.fire.name=Fire -tile.mobSpawner.name=Monster Spawner -tile.stairsWood.name=Oak Wood Stairs -tile.stairsWoodSpruce.name=Spruce Wood Stairs -tile.stairsWoodBirch.name=Birch Wood Stairs -tile.stairsWoodJungle.name=Jungle Wood Stairs -tile.stairsWoodAcacia.name=Acacia Wood Stairs -tile.stairsWoodDarkOak.name=Dark Oak Wood Stairs -tile.chest.name=Chest -tile.chestTrap.name=Trapped Chest -tile.redstoneDust.name=Redstone Dust -tile.oreDiamond.name=Diamond Ore -tile.blockCoal.name=Block of Coal -tile.blockDiamond.name=Block of Diamond -tile.workbench.name=Crafting Table -tile.crops.name=Crops -tile.farmland.name=Farmland -tile.furnace.name=Furnace -tile.sign.name=Sign -tile.doorWood.name=Wooden Door -tile.ladder.name=Ladder -tile.rail.name=Rail -tile.goldenRail.name=Powered Rail -tile.activatorRail.name=Activator Rail -tile.detectorRail.name=Detector Rail -tile.stairsStone.name=Stone Stairs -tile.stairsSandStone.name=Sandstone Stairs -tile.lever.name=Lever -tile.pressurePlate.name=Pressure Plate -tile.weightedPlate_light.name=Weighted Pressure Plate (Light) -tile.weightedPlate_heavy.name=Weighted Pressure Plate (Heavy) -tile.doorIron.name=Iron Door -tile.oreRedstone.name=Redstone Ore -tile.notGate.name=Redstone Torch -tile.button.name=Button -tile.snow.name=Snow -tile.woolCarpet.black.name=Black Carpet -tile.woolCarpet.red.name=Red Carpet -tile.woolCarpet.green.name=Green Carpet -tile.woolCarpet.brown.name=Brown Carpet -tile.woolCarpet.blue.name=Blue Carpet -tile.woolCarpet.purple.name=Purple Carpet -tile.woolCarpet.cyan.name=Cyan Carpet -tile.woolCarpet.silver.name=Light Gray Carpet -tile.woolCarpet.gray.name=Gray Carpet -tile.woolCarpet.pink.name=Pink Carpet -tile.woolCarpet.lime.name=Lime Carpet -tile.woolCarpet.yellow.name=Yellow Carpet -tile.woolCarpet.lightBlue.name=Light Blue Carpet -tile.woolCarpet.magenta.name=Magenta Carpet -tile.woolCarpet.orange.name=Orange Carpet -tile.woolCarpet.white.name=Carpet -tile.ice.name=Ice -tile.icePacked.name=Packed Ice -tile.cactus.name=Cactus -tile.clay.name=Clay -tile.clayHardenedStained.black.name=Black Stained Clay -tile.clayHardenedStained.red.name=Red Stained Clay -tile.clayHardenedStained.green.name=Green Stained Clay -tile.clayHardenedStained.brown.name=Brown Stained Clay -tile.clayHardenedStained.blue.name=Blue Stained Clay -tile.clayHardenedStained.purple.name=Purple Stained Clay -tile.clayHardenedStained.cyan.name=Cyan Stained Clay -tile.clayHardenedStained.silver.name=Light Gray Stained Clay -tile.clayHardenedStained.gray.name=Gray Stained Clay -tile.clayHardenedStained.pink.name=Pink Stained Clay -tile.clayHardenedStained.lime.name=Lime Stained Clay -tile.clayHardenedStained.yellow.name=Yellow Stained Clay -tile.clayHardenedStained.lightBlue.name=Light Blue Stained Clay -tile.clayHardenedStained.magenta.name=Magenta Stained Clay -tile.clayHardenedStained.orange.name=Orange Stained Clay -tile.clayHardenedStained.white.name=White Stained Clay -tile.clayHardened.name=Hardened Clay -tile.reeds.name=Sugar cane -tile.jukebox.name=Jukebox -tile.fence.name=Fence -tile.fenceGate.name=Fence Gate -tile.pumpkin.name=Pumpkin -tile.litpumpkin.name=Jack o'Lantern -tile.hellrock.name=Netherrack -tile.hellsand.name=Soul Sand -tile.lightgem.name=Glowstone -tile.portal.name=Portal -tile.cloth.black.name=Black Wool -tile.cloth.red.name=Red Wool -tile.cloth.green.name=Green Wool -tile.cloth.brown.name=Brown Wool -tile.cloth.blue.name=Blue Wool -tile.cloth.purple.name=Purple Wool -tile.cloth.cyan.name=Cyan Wool -tile.cloth.silver.name=Light Gray Wool -tile.cloth.gray.name=Gray Wool -tile.cloth.pink.name=Pink Wool -tile.cloth.lime.name=Lime Wool -tile.cloth.yellow.name=Yellow Wool -tile.cloth.lightBlue.name=Light Blue Wool -tile.cloth.magenta.name=Magenta Wool -tile.cloth.orange.name=Orange Wool -tile.cloth.white.name=Wool -tile.oreLapis.name=Lapis Lazuli Ore -tile.blockLapis.name=Lapis Lazuli Block -tile.dispenser.name=Dispenser -tile.dropper.name=Dropper -tile.musicBlock.name=Note Block -tile.cake.name=Cake -tile.bed.name=Bed -tile.bed.occupied=This bed is occupied -tile.bed.noSleep=You can only sleep at night -tile.bed.notSafe=You may not rest now, there are monsters nearby -tile.bed.notValid=Your home bed was missing or obstructed -tile.lockedchest.name=Locked chest -tile.trapdoor.name=Trapdoor -tile.web.name=Cobweb -tile.stonebricksmooth.name=Stone Bricks -tile.stonebricksmooth.default.name=Stone Bricks -tile.stonebricksmooth.mossy.name=Mossy Stone Bricks -tile.stonebricksmooth.cracked.name=Cracked Stone Bricks -tile.stonebricksmooth.chiseled.name=Chiseled Stone Bricks -tile.monsterStoneEgg.stone.name=Stone Monster Egg -tile.monsterStoneEgg.cobble.name=Cobblestone Monster Egg -tile.monsterStoneEgg.brick.name=Stone Brick Monster Egg -tile.monsterStoneEgg.mossybrick.name=Mossy Stone Brick Monster Egg -tile.monsterStoneEgg.crackedbrick.name=Cracked Stone Brick Monster Egg -tile.monsterStoneEgg.chiseledbrick.name=Chiseled Stone Brick Monster Egg -tile.pistonBase.name=Piston -tile.pistonStickyBase.name=Sticky Piston -tile.fenceIron.name=Iron Bars -tile.melon.name=Melon -tile.stairsBrick.name=Brick Stairs -tile.stairsStoneBrickSmooth.name=Stone Brick Stairs -tile.vine.name=Vines -tile.netherBrick.name=Nether Brick -tile.netherFence.name=Nether Brick Fence -tile.stairsNetherBrick.name=Nether Brick Stairs -tile.netherStalk.name=Nether Wart -tile.cauldron.name=Cauldron -tile.enchantmentTable.name=Enchantment Table -tile.anvil.name=Anvil -tile.anvil.intact.name=Anvil -tile.anvil.slightlyDamaged.name=Slightly Damaged Anvil -tile.anvil.veryDamaged.name=Very Damaged Anvil -tile.whiteStone.name=End Stone -tile.endPortalFrame.name=End Portal -tile.mycel.name=Mycelium -tile.waterlily.name=Lily Pad -tile.dragonEgg.name=Dragon Egg -tile.redstoneLight.name=Redstone Lamp -tile.cocoa.name=Cocoa -tile.enderChest.name=Ender Chest -tile.oreRuby.name=Ruby Ore -tile.oreEmerald.name=Emerald Ore -tile.blockEmerald.name=Block of Emerald -tile.blockRedstone.name=Block of Redstone -tile.tripWire.name=Tripwire -tile.tripWireSource.name=Tripwire Hook -tile.commandBlock.name=Command Block -tile.beacon.name=Beacon -tile.beacon.primary=Primary Power -tile.beacon.secondary=Secondary Power -tile.cobbleWall.normal.name=Cobblestone Wall -tile.cobbleWall.mossy.name=Mossy Cobblestone Wall -tile.carrots.name=Carrots -tile.potatoes.name=Potatoes -tile.daylightDetector.name=Daylight Sensor -tile.netherquartz.name=Nether Quartz Ore -tile.hopper.name=Hopper -tile.quartzBlock.default.name=Block of Quartz -tile.quartzBlock.chiseled.name=Chiseled Quartz Block -tile.quartzBlock.lines.name=Pillar Quartz Block -tile.stairsQuartz.name=Quartz Stairs - -item.nameTag.name=Name Tag -item.leash.name=Lead -item.shovelIron.name=Iron Shovel -item.pickaxeIron.name=Iron Pickaxe -item.hatchetIron.name=Iron Axe -item.flintAndSteel.name=Flint and Steel -item.apple.name=Apple -item.cookie.name=Cookie -item.bow.name=Bow -item.arrow.name=Arrow -item.coal.name=Coal -item.charcoal.name=Charcoal -item.diamond.name=Diamond -item.emerald.name=Emerald -item.ingotIron.name=Iron Ingot -item.ingotGold.name=Gold Ingot -item.swordIron.name=Iron Sword -item.swordWood.name=Wooden Sword -item.shovelWood.name=Wooden Shovel -item.pickaxeWood.name=Wooden Pickaxe -item.hatchetWood.name=Wooden Axe -item.swordStone.name=Stone Sword -item.shovelStone.name=Stone Shovel -item.pickaxeStone.name=Stone Pickaxe -item.hatchetStone.name=Stone Axe -item.swordDiamond.name=Diamond Sword -item.shovelDiamond.name=Diamond Shovel -item.pickaxeDiamond.name=Diamond Pickaxe -item.hatchetDiamond.name=Diamond Axe -item.stick.name=Stick -item.bowl.name=Bowl -item.mushroomStew.name=Mushroom Stew -item.swordGold.name=Golden Sword -item.shovelGold.name=Golden Shovel -item.pickaxeGold.name=Golden Pickaxe -item.hatchetGold.name=Golden Axe -item.string.name=String -item.feather.name=Feather -item.sulphur.name=Gunpowder -item.hoeWood.name=Wooden Hoe -item.hoeStone.name=Stone Hoe -item.hoeIron.name=Iron Hoe -item.hoeDiamond.name=Diamond Hoe -item.hoeGold.name=Golden Hoe -item.seeds.name=Seeds -item.seeds_pumpkin.name=Pumpkin Seeds -item.seeds_melon.name=Melon Seeds -item.melon.name=Melon -item.wheat.name=Wheat -item.bread.name=Bread -item.helmetCloth.name=Leather Cap -item.chestplateCloth.name=Leather Tunic -item.leggingsCloth.name=Leather Pants -item.bootsCloth.name=Leather Boots -item.helmetChain.name=Chain Helmet -item.chestplateChain.name=Chain Chestplate -item.leggingsChain.name=Chain Leggings -item.bootsChain.name=Chain Boots -item.helmetIron.name=Iron Helmet -item.chestplateIron.name=Iron Chestplate -item.leggingsIron.name=Iron Leggings -item.bootsIron.name=Iron Boots -item.helmetDiamond.name=Diamond Helmet -item.chestplateDiamond.name=Diamond Chestplate -item.leggingsDiamond.name=Diamond Leggings -item.bootsDiamond.name=Diamond Boots -item.helmetGold.name=Golden Helmet -item.chestplateGold.name=Golden Chestplate -item.leggingsGold.name=Golden Leggings -item.bootsGold.name=Golden Boots -item.flint.name=Flint -item.porkchopRaw.name=Raw Porkchop -item.porkchopCooked.name=Cooked Porkchop -item.chickenRaw.name=Raw Chicken -item.chickenCooked.name=Cooked Chicken -item.beefRaw.name=Raw Beef -item.beefCooked.name=Steak -item.painting.name=Painting -item.frame.name=Item Frame -item.appleGold.name=Golden Apple -item.sign.name=Sign -item.doorWood.name=Wooden Door -item.bucket.name=Bucket -item.bucketWater.name=Water Bucket -item.bucketLava.name=Lava Bucket -item.minecart.name=Minecart -item.saddle.name=Saddle -item.doorIron.name=Iron Door -item.redstone.name=Redstone -item.snowball.name=Snowball -item.boat.name=Boat -item.leather.name=Leather -item.milk.name=Milk -item.brick.name=Brick -item.clay.name=Clay -item.reeds.name=Sugar Canes -item.paper.name=Paper -item.book.name=Book -item.slimeball.name=Slimeball -item.minecartChest.name=Minecart with Chest -item.minecartFurnace.name=Minecart with Furnace -item.minecartTnt.name=Minecart with TNT -item.minecartHopper.name=Minecart with Hopper -item.minecartCommandBlock.name=Minecart with Command Block -item.egg.name=Egg -item.compass.name=Compass -item.fishingRod.name=Fishing Rod -item.clock.name=Clock -item.yellowDust.name=Glowstone Dust -item.fish.cod.raw.name=Raw Fish -item.fish.salmon.raw.name=Raw Salmon -item.fish.pufferfish.raw.name=Pufferfish -item.fish.clownfish.raw.name=Clownfish -item.fish.cod.cooked.name=Cooked Fish -item.fish.salmon.cooked.name=Cooked Salmon -item.record.name=Music Disc -item.record.13.desc=C418 - 13 -item.record.cat.desc=C418 - cat -item.record.blocks.desc=C418 - blocks -item.record.chirp.desc=C418 - chirp -item.record.far.desc=C418 - far -item.record.mall.desc=C418 - mall -item.record.mellohi.desc=C418 - mellohi -item.record.stal.desc=C418 - stal -item.record.strad.desc=C418 - strad -item.record.ward.desc=C418 - ward -item.record.11.desc=C418 - 11 -item.record.wait.desc=C418 - wait -item.bone.name=Bone -item.dyePowder.black.name=Ink Sac -item.dyePowder.red.name=Rose Red -item.dyePowder.green.name=Cactus Green -item.dyePowder.brown.name=Cocoa Beans -item.dyePowder.blue.name=Lapis Lazuli -item.dyePowder.purple.name=Purple Dye -item.dyePowder.cyan.name=Cyan Dye -item.dyePowder.silver.name=Light Gray Dye -item.dyePowder.gray.name=Gray Dye -item.dyePowder.pink.name=Pink Dye -item.dyePowder.lime.name=Lime Dye -item.dyePowder.yellow.name=Dandelion Yellow -item.dyePowder.lightBlue.name=Light Blue Dye -item.dyePowder.magenta.name=Magenta Dye -item.dyePowder.orange.name=Orange Dye -item.dyePowder.white.name=Bone Meal -item.sugar.name=Sugar -item.cake.name=Cake -item.bed.name=Bed -item.diode.name=Redstone Repeater -item.comparator.name=Redstone Comparator -item.map.name=Map -item.leaves.name=Leaves -item.shears.name=Shears -item.rottenFlesh.name=Rotten Flesh -item.enderPearl.name=Ender Pearl -item.blazeRod.name=Blaze Rod -item.ghastTear.name=Ghast Tear -item.netherStalkSeeds.name=Nether Wart -item.potion.name=Potion -item.emptyPotion.name=Water Bottle -item.goldNugget.name=Gold Nugget -item.glassBottle.name=Glass Bottle -item.spiderEye.name=Spider Eye -item.fermentedSpiderEye.name=Fermented Spider Eye -item.blazePowder.name=Blaze Powder -item.magmaCream.name=Magma Cream -item.cauldron.name=Cauldron -item.brewingStand.name=Brewing Stand -item.eyeOfEnder.name=Eye of Ender -item.speckledMelon.name=Glistering Melon -item.monsterPlacer.name=Spawn -item.expBottle.name=Bottle o' Enchanting -item.fireball.name=Fire Charge -item.writingBook.name=Book and Quill -item.writtenBook.name=Written Book -item.ruby.name=Ruby -item.flowerPot.name=Flower Pot -item.emptyMap.name=Empty Map -item.carrots.name=Carrot -item.carrotGolden.name=Golden Carrot -item.potato.name=Potato -item.potatoBaked.name=Baked Potato -item.potatoPoisonous.name=Poisonous Potato -item.skull.skeleton.name=Skeleton Skull -item.skull.wither.name=Wither Skeleton Skull -item.skull.zombie.name=Zombie Head -item.skull.char.name=Head -item.skull.player.name=%s's Head -item.skull.creeper.name=Creeper Head -item.carrotOnAStick.name=Carrot on a Stick -item.netherStar.name=Nether Star -item.pumpkinPie.name=Pumpkin Pie -item.enchantedBook.name=Enchanted Book -item.fireworks.name=Firework Rocket -item.fireworks.flight=Flight Duration: -item.fireworksCharge.name=Firework Star -item.fireworksCharge.black=Black -item.fireworksCharge.red=Red -item.fireworksCharge.green=Green -item.fireworksCharge.brown=Brown -item.fireworksCharge.blue=Blue -item.fireworksCharge.purple=Purple -item.fireworksCharge.cyan=Cyan -item.fireworksCharge.silver=Light Gray -item.fireworksCharge.gray=Gray -item.fireworksCharge.pink=Pink -item.fireworksCharge.lime=Lime -item.fireworksCharge.yellow=Yellow -item.fireworksCharge.lightBlue=Light Blue -item.fireworksCharge.magenta=Magenta -item.fireworksCharge.orange=Orange -item.fireworksCharge.white=White -item.fireworksCharge.customColor=Custom -item.fireworksCharge.fadeTo=Fade to -item.fireworksCharge.flicker=Twinkle -item.fireworksCharge.trail=Trail -item.fireworksCharge.type.0=Small Ball -item.fireworksCharge.type.1=Large Ball -item.fireworksCharge.type.2=Star-shaped -item.fireworksCharge.type.3=Creeper-shaped -item.fireworksCharge.type.4=Burst -item.fireworksCharge.type=Unknown Shape -item.netherbrick.name=Nether Brick -item.netherquartz.name=Nether Quartz -item.horsearmormetal.name=Iron Horse Armor -item.horsearmorgold.name=Gold Horse Armor -item.horsearmordiamond.name=Diamond Horse Armor - -container.inventory=Inventory -container.hopper=Item Hopper -container.crafting=Crafting -container.dispenser=Dispenser -container.dropper=Dropper -container.furnace=Furnace -container.enchant=Enchant -container.repair=Repair & Name -container.repair.cost=Enchantment Cost: %1$d -container.repair.expensive=Too Expensive! -container.creative=Item Selection -container.brewing=Brewing Stand -container.chest=Chest -container.chestDouble=Large Chest -container.minecart=Minecart -container.enderchest=Ender Chest - -item.dyed=Dyed -item.unbreakable=Unbreakable - -entity.Item.name=Item -entity.XPOrb.name=Experience Orb -entity.SmallFireball.name=Small Fireball -entity.Fireball.name=Fireball - -entity.Arrow.name=Arrow -entity.Snowball.name=Snowball -entity.Painting.name=Painting - -entity.Mob.name=Mob -entity.Monster.name=Monster - -entity.Creeper.name=Creeper -entity.Skeleton.name=Skeleton -entity.Spider.name=Spider -entity.Giant.name=Giant -entity.Zombie.name=Zombie -entity.Slime.name=Slime -entity.Ghast.name=Ghast -entity.PigZombie.name=Zombie Pigman -entity.Enderman.name=Enderman -entity.Silverfish.name=Silverfish -entity.CaveSpider.name=Cave Spider -entity.Blaze.name=Blaze -entity.LavaSlime.name=Magma Cube -entity.MushroomCow.name=Mooshroom -entity.Villager.name=Villager -entity.VillagerGolem.name=Iron Golem -entity.SnowMan.name=Snow Golem -entity.EnderDragon.name=Ender Dragon -entity.WitherBoss.name=Wither -entity.Witch.name=Witch - -entity.Pig.name=Pig -entity.Sheep.name=Sheep -entity.Cow.name=Cow -entity.Chicken.name=Chicken -entity.Squid.name=Squid -entity.Wolf.name=Wolf -entity.Ozelot.name=Ocelot -entity.Cat.name=Cat -entity.Bat.name=Bat -entity.EntityHorse.name=Horse -entity.horse.name=Horse -entity.donkey.name=Donkey -entity.mule.name=Mule -entity.skeletonhorse.name=Skeleton Horse -entity.zombiehorse.name=Zombie Horse - -entity.PrimedTnt.name=Block of TNT -entity.FallingSand.name=Falling Block - -entity.Minecart.name=Minecart -entity.Boat.name=Boat - -entity.Arrow.name=arrow -entity.generic.name=unknown - -death.fell.accident.ladder=%1$s fell off a ladder -death.fell.accident.vines=%1$s fell off some vines -death.fell.accident.water=%1$s fell out of the water -death.fell.accident.generic=%1$s fell from a high place -death.fell.killer=%1$s was doomed to fall -death.fell.assist=%1$s was doomed to fall by %2$s -death.fell.assist.item=%1$s was doomed to fall by %2$s using %3$s -death.fell.finish=%1$s fell too far and was finished by %2$s -death.fell.finish.item=%1$s fell too far and was finished by %2$s using %3$s - -death.attack.inFire=%1$s went up in flames -death.attack.inFire.player=%1$s walked into fire whilst fighting %2$s -death.attack.onFire=%1$s burned to death -death.attack.onFire.player=%1$s was burnt to a crisp whilst fighting %2$s -death.attack.lava=%1$s tried to swim in lava -death.attack.lava.player=%1$s tried to swim in lava to escape %2$s -death.attack.inWall=%1$s suffocated in a wall -death.attack.drown=%1$s drowned -death.attack.drown.player=%1$s drowned whilst trying to escape %2$s -death.attack.starve=%1$s starved to death -death.attack.cactus=%1$s was pricked to death -death.attack.cactus.player=%1$s walked into a cactus whilst trying to escape %2$s -death.attack.generic=%1$s died -death.attack.explosion=%1$s blew up -death.attack.explosion.player=%1$s was blown up by %2$s -death.attack.magic=%1$s was killed by magic -death.attack.wither=%1$s withered away -death.attack.anvil=%1$s was squashed by a falling anvil -death.attack.fallingBlock=%1$s was squashed by a falling block -death.attack.mob=%1$s was slain by %2$s -death.attack.player=%1$s was slain by %2$s -death.attack.player.item=%1$s was slain by %2$s using %3$s -death.attack.arrow=%1$s was shot by %2$s -death.attack.arrow.item=%1$s was shot by %2$s using %3$s -death.attack.fireball=%1$s was fireballed by %2$s -death.attack.fireball.item=%1$s was fireballed by %2$s using %3$s -death.attack.thrown=%1$s was pummeled by %2$s -death.attack.thrown.item=%1$s was pummeled by %2$s using %3$s -death.attack.indirectMagic=%1$s was killed by %2$s using magic -death.attack.indirectMagic.item=%1$s was killed by %2$s using %3$s -death.attack.thorns=%1$s was killed trying to hurt %2$s -death.attack.fall=%1$s hit the ground too hard -death.attack.outOfWorld=%1$s fell out of the world - -deathScreen.respawn=Respawn -deathScreen.deleteWorld=Delete world -deathScreen.titleScreen=Title screen -deathScreen.score=Score -deathScreen.title.hardcore=Game over! -deathScreen.hardcoreInfo=You cannot respawn in hardcore mode! -deathScreen.title=You died! -deathScreen.leaveServer=Leave server -deathScreen.quit.confirm=Are you sure you want to quit? - -potion.effects.whenDrank=When Applied: -potion.empty=No Effects -potion.moveSpeed=Speed -potion.moveSlowdown=Slowness -potion.digSpeed=Haste -potion.digSlowDown=Mining Fatigue -potion.damageBoost=Strength -potion.weakness=Weakness -potion.heal=Instant Health -potion.harm=Instant Damage -potion.jump=Jump Boost -potion.confusion=Nausea -potion.regeneration=Regeneration -potion.resistance=Resistance -potion.fireResistance=Fire Resistance -potion.waterBreathing=Water Breathing -potion.invisibility=Invisibility -potion.blindness=Blindness -potion.nightVision=Night Vision -potion.hunger=Hunger -potion.poison=Poison -potion.wither=Wither -potion.healthBoost=Health Boost -potion.absorption=Absorption -potion.saturation=Saturation - -potion.moveSpeed.postfix=Potion of Swiftness -potion.moveSlowdown.postfix=Potion of Slowness -potion.digSpeed.postfix=Potion of Haste -potion.digSlowDown.postfix=Potion of Dullness -potion.damageBoost.postfix=Potion of Strength -potion.weakness.postfix=Potion of Weakness -potion.heal.postfix=Potion of Healing -potion.harm.postfix=Potion of Harming -potion.jump.postfix=Potion of Leaping -potion.confusion.postfix=Potion of Nausea -potion.regeneration.postfix=Potion of Regeneration -potion.resistance.postfix=Potion of Resistance -potion.fireResistance.postfix=Potion of Fire Resistance -potion.waterBreathing.postfix=Potion of Water Breathing -potion.invisibility.postfix=Potion of Invisibility -potion.blindness.postfix=Potion of Blindness -potion.nightVision.postfix=Potion of Night Vision -potion.hunger.postfix=Potion of Hunger -potion.poison.postfix=Potion of Poison -potion.wither.postfix=Potion of Decay -potion.healthBoost.postfix=Potion of Health Boost -potion.absorption.postfix=Potion of Absorption -potion.saturation.postfix=Potion of Saturation - -potion.potency.0= -potion.potency.1=II -potion.potency.2=III -potion.potency.3=IV - -potion.prefix.grenade=Splash -potion.prefix.mundane=Mundane -potion.prefix.uninteresting=Uninteresting -potion.prefix.bland=Bland -potion.prefix.clear=Clear -potion.prefix.milky=Milky -potion.prefix.diffuse=Diffuse -potion.prefix.artless=Artless -potion.prefix.thin=Thin -potion.prefix.awkward=Awkward -potion.prefix.flat=Flat -potion.prefix.bulky=Bulky -potion.prefix.bungling=Bungling -potion.prefix.buttered=Buttered -potion.prefix.smooth=Smooth -potion.prefix.suave=Suave -potion.prefix.debonair=Debonair -potion.prefix.thick=Thick -potion.prefix.elegant=Elegant -potion.prefix.fancy=Fancy -potion.prefix.charming=Charming -potion.prefix.dashing=Dashing -potion.prefix.refined=Refined -potion.prefix.cordial=Cordial -potion.prefix.sparkling=Sparkling -potion.prefix.potent=Potent -potion.prefix.foul=Foul -potion.prefix.odorless=Odorless -potion.prefix.rank=Rank -potion.prefix.harsh=Harsh -potion.prefix.acrid=Acrid -potion.prefix.gross=Gross -potion.prefix.stinky=Stinky - -enchantment.damage.all=Sharpness -enchantment.damage.undead=Smite -enchantment.damage.arthropods=Bane of Arthropods -enchantment.knockback=Knockback -enchantment.fire=Fire Aspect -enchantment.protect.all=Protection -enchantment.protect.fire=Fire Protection -enchantment.protect.fall=Feather Falling -enchantment.protect.explosion=Blast Protection -enchantment.protect.projectile=Projectile Protection -enchantment.oxygen=Respiration -enchantment.waterWorker=Aqua Affinity -enchantment.digging=Efficiency -enchantment.untouching=Silk Touch -enchantment.durability=Unbreaking -enchantment.lootBonus=Looting -enchantment.lootBonusDigger=Fortune -enchantment.lootBonusFishing=Luck of the Sea -enchantment.fishingSpeed=Lure -enchantment.arrowDamage=Power -enchantment.arrowFire=Flame -enchantment.arrowKnockback=Punch -enchantment.arrowInfinite=Infinity -enchantment.thorns=Thorns - -enchantment.level.1=I -enchantment.level.2=II -enchantment.level.3=III -enchantment.level.4=IV -enchantment.level.5=V -enchantment.level.6=VI -enchantment.level.7=VII -enchantment.level.8=VIII -enchantment.level.9=IX -enchantment.level.10=X - -gui.achievements=Achievements -gui.stats=Statistics - -stats.tooltip.type.achievement=Achievement -stats.tooltip.type.statistic=Statistic -stat.generalButton=General -stat.blocksButton=Blocks -stat.itemsButton=Items -stat.mobsButton=Mobs - -stat.used=Times Used -stat.mined=Times Mined -stat.depleted=Times Depleted -stat.crafted=Times Crafted -stat.entityKills=You killed %d %s -stat.entityKilledBy=%s killed you %d time(s) -stat.entityKills.none=You have never killed %s -stat.entityKilledBy.none=You have never been killed by %s - -stat.startGame=Times played -stat.createWorld=Worlds created -stat.loadWorld=Saves loaded -stat.joinMultiplayer=Multiplayer joins -stat.leaveGame=Games quit - -stat.playOneMinute=Minutes Played - -stat.walkOneCm=Distance Walked -stat.fallOneCm=Distance Fallen -stat.swimOneCm=Distance Swum -stat.flyOneCm=Distance Flown -stat.climbOneCm=Distance Climbed -stat.diveOneCm=Distance Dove -stat.minecartOneCm=Distance by Minecart -stat.boatOneCm=Distance by Boat -stat.pigOneCm=Distance by Pig -stat.horseOneCm=Distance by Horse -stat.jump=Jumps -stat.drop=Items Dropped - -stat.damageDealt=Damage Dealt -stat.damageTaken=Damage Taken -stat.deaths=Number of Deaths -stat.mobKills=Mob Kills -stat.animalsBred=Animals Bred -stat.playerKills=Player Kills -stat.fishCaught=Fish Caught -stat.treasureFished=Treasure Fished -stat.junkFished=Junk Fished - -stat.mineBlock=%1$s Mined -stat.craftItem=%1$s Crafted -stat.useItem=%1$s Used -stat.breakItem=%1$s Depleted - -achievement.get=Achievement get! - -achievement.taken=Taken! -achievement.unknown=??? - -achievement.requires=Requires '%1$s' -achievement.openInventory=Taking Inventory -achievement.openInventory.desc=Press '%1$s' to open your inventory. -achievement.mineWood=Getting Wood -achievement.mineWood.desc=Attack a tree until a block of wood pops out -achievement.buildWorkBench=Benchmarking -achievement.buildWorkBench.desc=Craft a workbench with four blocks of planks -achievement.buildPickaxe=Time to Mine! -achievement.buildPickaxe.desc=Use planks and sticks to make a pickaxe -achievement.buildFurnace=Hot Topic -achievement.buildFurnace.desc=Construct a furnace out of eight stone blocks -achievement.acquireIron=Acquire Hardware -achievement.acquireIron.desc=Smelt an iron ingot -achievement.buildHoe=Time to Farm! -achievement.buildHoe.desc=Use planks and sticks to make a hoe -achievement.makeBread=Bake Bread -achievement.makeBread.desc=Turn wheat into bread -achievement.bakeCake=The Lie -achievement.bakeCake.desc=Wheat, sugar, milk and eggs! -achievement.buildBetterPickaxe=Getting an Upgrade -achievement.buildBetterPickaxe.desc=Construct a better pickaxe -achievement.cookFish=Delicious Fish -achievement.cookFish.desc=Catch and cook fish! -achievement.onARail=On A Rail -achievement.onARail.desc=Travel by minecart at least 1 km from where you started -achievement.buildSword=Time to Strike! -achievement.buildSword.desc=Use planks and sticks to make a sword -achievement.killEnemy=Monster Hunter -achievement.killEnemy.desc=Attack and destroy a monster -achievement.killCow=Cow Tipper -achievement.killCow.desc=Harvest some leather -achievement.breedCow=Repopulation -achievement.breedCow.desc=Breed two cows with wheat -achievement.flyPig=When Pigs Fly -achievement.flyPig.desc=Fly a pig off a cliff -achievement.snipeSkeleton=Sniper Duel -achievement.snipeSkeleton.desc=Kill a skeleton with an arrow from more than 50 meters -achievement.diamonds=DIAMONDS! -achievement.diamonds.desc=Acquire diamonds with your iron tools -achievement.diamondsToYou=Diamonds to you! -achievement.diamondsToYou.desc=Throw diamonds at another player. -achievement.portal=We Need to Go Deeper -achievement.portal.desc=Build a portal to the Nether -achievement.ghast=Return to Sender -achievement.ghast.desc=Destroy a Ghast with a fireball -achievement.blazeRod=Into Fire -achievement.blazeRod.desc=Relieve a Blaze of its rod -achievement.potion=Local Brewery -achievement.potion.desc=Brew a potion -achievement.theEnd=The End? -achievement.theEnd.desc=Locate the End -achievement.theEnd2=The End. -achievement.theEnd2.desc=Defeat the Ender Dragon -achievement.spawnWither=The Beginning? -achievement.spawnWither.desc=Spawn the Wither -achievement.killWither=The Beginning. -achievement.killWither.desc=Kill the Wither -achievement.fullBeacon=Beaconator -achievement.fullBeacon.desc=Create a full beacon -achievement.exploreAllBiomes=Adventuring Time -achievement.exploreAllBiomes.desc=Discover all biomes -achievement.enchantments=Enchanter -achievement.enchantments.desc=Use a book, obsidian and diamonds to construct an enchantment table -achievement.overkill=Overkill -achievement.overkill.desc=Deal eight hearts of damage in a single hit -achievement.bookcase=Librarian -achievement.bookcase.desc=Build some bookshelves to improve your enchantment table - -commands.generic.exception=An unknown error occurred while attempting to perform this command -commands.generic.permission=You do not have permission to use this command -commands.generic.syntax=Invalid command syntax -commands.generic.player.notFound=That player cannot be found -commands.generic.notFound=Unknown command. Try /help for a list of commands -commands.generic.num.invalid='%s' is not a valid number -commands.generic.boolean.invalid='%s' is not true or false -commands.generic.num.tooSmall=The number you have entered (%d) is too small, it must be at least %d -commands.generic.num.tooBig=The number you have entered (%d) is too big, it must be at most %d -commands.generic.double.tooSmall=The number you have entered (%.2f) is too small, it must be at least %.2f -commands.generic.double.tooBig=The number you have entered (%.2f) is too big, it must be at most %.2f -commands.generic.usage=Usage: %s -commands.generic.deprecatedId=Warning: Using numeric IDs will not be supported in the future. Please use names, such as '%s' - -commands.setidletimeout.usage=/setidletimeout -commands.setidletimeout.success=Successfully set the idle timeout to %d minutes. -commands.xp.failure.widthdrawXp=Cannot give player negative experience points -commands.xp.success=Given %d experience to %s -commands.xp.success.levels=Given %d levels to %s -commands.xp.success.negative.levels=Taken %d levels from %s -commands.xp.usage=/xp [player] OR /xp L [player] -commands.playsound.usage=/playsound [x] [y] [z] [volume] [pitch] [minimumVolume] -commands.playsound.success=Played sound '%s' to %s -commands.playsound.playerTooFar=Player %s is too far away to hear the sound -commands.give.usage=/give [amount] [data] [dataTag] -commands.give.notFound=There is no such item with ID %d -commands.give.success=Given %s * %d to %s -commands.give.tagError=Data tag parsing failed: %s -commands.summon.usage=/summon [x] [y] [z] [dataTag] -commands.summon.success=Object successfully summoned -commands.summon.failed=Unable to summon object -commands.summon.tagError=Data tag parsing failed: %s -commands.summon.outOfWorld=Cannot summon the object out of the world -commands.testforblock.usage=/testforblock [dataValue] [dataTag] -commands.testforblock.failed.tile=The block at %d,%d,%d is %s (expected: %s). -commands.testforblock.failed.data=The block at %d,%d,%d had the data value of %s (expected: %s). -commands.testforblock.failed.nbt=The block at %d,%d,%d did not have the required NBT keys. -commands.testforblock.failed.tileEntity=The block at %d,%d,%d is not a tile entity and cannot support tag matching. -commands.testforblock.success=Successfully found the block at %d,%d,%d. -commands.testforblock.outOfWorld=Cannot test for block outside of the world -commands.setblock.usage=/setblock [dataValue] [oldBlockHandling] [dataTag] -commands.setblock.success=Block placed -commands.setblock.failed=Unable to place block -commands.setblock.tagError=Data tag parsing failed: %s -commands.setblock.outOfWorld=Cannot place block outside of the world -commands.setblock.notFound=There is no such block with ID/name %s -commands.setblock.noChange=The block couldn't be placed -commands.effect.usage=/effect [seconds] [amplifier] -commands.effect.notFound=There is no such mob effect with ID %d -commands.effect.success=Given %1$s (ID %2$d) * %3$d to %4$s for %5$d seconds -commands.effect.success.removed=Took %1$s from %2$s -commands.effect.success.removed.all=Took all effects from %s -commands.effect.failure.notActive=Couldn't take %1$s from %2$s as they do not have the effect -commands.effect.failure.notActive.all=Couldn't take any effects from %s as they do not have any -commands.enchant.usage=/enchant [level] -commands.enchant.notFound=There is no such enchantment with ID %d -commands.enchant.noItem=The target doesn't hold an item -commands.enchant.cantEnchant=The selected enchantment can't be added to the target item -commands.enchant.cantCombine=%1$s can't be combined with %2$s -commands.enchant.success=Enchanting succeeded -commands.clear.usage=/clear [item] [data] -commands.clear.success=Cleared the inventory of %s, removing %d items -commands.clear.failure=Could not clear the inventory of %s, no items to remove -commands.downfall.usage=/toggledownfall -commands.downfall.success=Toggled downfall -commands.time.usage=/time -commands.time.added=Added %d to the time -commands.time.set=Set the time to %d -commands.players.usage=/list -commands.players.list=There are %d/%d players online: -commands.banlist.ips=There are %d total banned IP addresses: -commands.banlist.players=There are %d total banned players: -commands.banlist.usage=/banlist [ips|players] -commands.kill.usage=/kill -commands.kill.success=Ouch! That looked like it hurt -commands.kick.success=Kicked %s from the game -commands.kick.success.reason=Kicked %s from the game: '%s' -commands.kick.usage=/kick [reason ...] -commands.op.success=Opped %s -commands.op.failed=Could not op %s -commands.op.usage=/op -commands.deop.success=De-opped %s -commands.deop.failed=Could not de-op %s -commands.deop.usage=/deop -commands.say.usage=/say -commands.ban.success=Banned player %s -commands.ban.failed=Could not ban player %s -commands.ban.usage=/ban [reason ...] -commands.unban.success=Unbanned player %s -commands.unban.failed=Could not unban player %s -commands.unban.usage=/pardon -commands.banip.invalid=You have entered an invalid IP address or a player that is not online -commands.banip.success=Banned IP address %s -commands.banip.success.players=Banned IP address %s belonging to %s -commands.banip.usage=/ban-ip [reason ...] -commands.unbanip.invalid=You have entered an invalid IP address -commands.unbanip.success=Unbanned IP address %s -commands.unbanip.usage=/pardon-ip
    -commands.save.usage=/save-all -commands.save-on.alreadyOn=Saving is already turned on. -commands.save-on.usage=/save-on -commands.save-off.alreadyOff=Saving is already turned off. -commands.save-off.usage=/save-off -commands.save.enabled=Turned on world auto-saving -commands.save.disabled=Turned off world auto-saving -commands.save.start=Saving... -commands.save.success=Saved the world -commands.save.failed=Saving failed: %s -commands.stop.usage=/stop -commands.stop.start=Stopping the server -commands.tp.success=Teleported %s to %s -commands.tp.success.coordinates=Teleported %s to %.2f,%.2f,%.2f -commands.tp.usage=/tp [target player] OR /tp [target player] -commands.tp.notSameDimension=Unable to teleport because players are not in the same dimension -commands.whitelist.list=There are %d (out of %d seen) whitelisted players: -commands.whitelist.enabled=Turned on the whitelist -commands.whitelist.disabled=Turned off the whitelist -commands.whitelist.reloaded=Reloaded the whitelist -commands.whitelist.add.success=Added %s to the whitelist -commands.whitelist.add.failed=Could not add %s to the whitelist -commands.whitelist.add.usage=/whitelist add -commands.whitelist.remove.success=Removed %s from the whitelist -commands.whitelist.remove.failed=Could not remove %s from the whitelist -commands.whitelist.remove.usage=/whitelist remove -commands.whitelist.usage=/whitelist -commands.scoreboard.usage=/scoreboard -commands.scoreboard.teamNotFound=No team was found by the name '%s' -commands.scoreboard.objectiveNotFound=No objective was found by the name '%s' -commands.scoreboard.objectiveReadOnly=The objective '%s' is read-only and cannot be set -commands.scoreboard.objectives.usage=/scoreboard objectives -commands.scoreboard.objectives.setdisplay.usage=/scoreboard objectives setdisplay [objective] -commands.scoreboard.objectives.setdisplay.invalidSlot=No such display slot '%s' -commands.scoreboard.objectives.setdisplay.successCleared=Cleared objective display slot '%s' -commands.scoreboard.objectives.setdisplay.successSet=Set the display objective in slot '%s' to '%s' -commands.scoreboard.objectives.add.usage=/scoreboard objectives add [display name ...] -commands.scoreboard.objectives.add.wrongType=Invalid objective criteria type '%s' -commands.scoreboard.objectives.add.alreadyExists=An objective with the name '%s' already exists -commands.scoreboard.objectives.add.tooLong=The name '%s' is too long for an objective, it can be at most %d characters long -commands.scoreboard.objectives.add.displayTooLong=The display name '%s' is too long for an objective, it can be at most %d characters long -commands.scoreboard.objectives.add.success=Added new objective '%s' successfully -commands.scoreboard.objectives.remove.usage=/scoreboard objectives remove -commands.scoreboard.objectives.remove.success=Removed objective '%s' successfully -commands.scoreboard.objectives.list.count=Showing %d objective(s) on scoreboard: -commands.scoreboard.objectives.list.entry=- %s: displays as '%s' and is type '%s' -commands.scoreboard.objectives.list.empty=There are no objectives on the scoreboard -commands.scoreboard.players.usage=/scoreboard players -commands.scoreboard.players.set.success=Set score of %s for player %s to %d -commands.scoreboard.players.set.usage=/scoreboard players set -commands.scoreboard.players.add.usage=/scoreboard players add -commands.scoreboard.players.remove.usage=/scoreboard players remove -commands.scoreboard.players.reset.usage=/scoreboard players reset -commands.scoreboard.players.reset.success=Reset all scores of player %s -commands.scoreboard.players.list.usage=/scoreboard players list [name] -commands.scoreboard.players.list.count=Showing %d tracked players on the scoreboard: -commands.scoreboard.players.list.empty=There are no tracked players on the scoreboard -commands.scoreboard.players.list.player.count=Showing %d tracked objective(s) for %s: -commands.scoreboard.players.list.player.entry=- %2$s: %1$d (%3$s) -commands.scoreboard.players.list.player.empty=Player %s has no scores recorded -commands.scoreboard.teams.usage=/scoreboard teams -commands.scoreboard.teams.add.usage=/scoreboard teams add [display name ...] -commands.scoreboard.teams.add.alreadyExists=A team with the name '%s' already exists -commands.scoreboard.teams.add.tooLong=The name '%s' is too long for a team, it can be at most %d characters long -commands.scoreboard.teams.add.displayTooLong=The display name '%s' is too long for a team, it can be at most %d characters long -commands.scoreboard.teams.add.success=Added new team '%s' successfully -commands.scoreboard.teams.list.usage=/scoreboard teams list [name] -commands.scoreboard.teams.list.count=Showing %d teams on the scoreboard: -commands.scoreboard.teams.list.entry=- %1$s: '%2$s' has %3$d players -commands.scoreboard.teams.list.empty=There are no teams registered on the scoreboard -commands.scoreboard.teams.list.player.count=Showing %d player(s) in team %s: -commands.scoreboard.teams.list.player.entry=- %2$s: %1$d (%3$s) -commands.scoreboard.teams.list.player.empty=Team %s has no players -commands.scoreboard.teams.empty.usage=/scoreboard teams empty -commands.scoreboard.teams.empty.alreadyEmpty=Team %s is already empty, cannot remove nonexistant players -commands.scoreboard.teams.empty.success=Removed all %d player(s) from team %s -commands.scoreboard.teams.remove.usage=/scoreboard teams remove -commands.scoreboard.teams.remove.success=Removed team %s -commands.scoreboard.teams.join.usage=/scoreboard teams join [player] -commands.scoreboard.teams.join.success=Added %d player(s) to team %s: %s -commands.scoreboard.teams.join.failure=Could not add %d player(s) to team %s: %s -commands.scoreboard.teams.leave.usage=/scoreboard teams leave [player] -commands.scoreboard.teams.leave.success=Removed %d player(s) from their teams: %s -commands.scoreboard.teams.leave.failure=Could not remove %d player(s) from their teams: %s -commands.scoreboard.teams.leave.noTeam=You are not in a team -commands.scoreboard.teams.option.usage=/scoreboard teams option -commands.scoreboard.teams.option.noValue=Valid values for option %s are: %s -commands.scoreboard.teams.option.success=Set option %s for team %s to %s -commands.gamemode.success.self=Set own game mode to %s -commands.gamemode.success.other=Set %s's game mode to %s -commands.gamemode.usage=/gamemode [player] -commands.defaultgamemode.usage=/defaultgamemode -commands.defaultgamemode.success=The world's default game mode is now %s -commands.me.usage=/me -commands.help.header=--- Showing help page %d of %d (/help ) --- -commands.help.footer=Tip: Use the key while typing a command to auto-complete the command or its arguments -commands.help.usage=/help [page|command name] -commands.publish.usage=/publish -commands.publish.started=Local game hosted on port %s -commands.publish.failed=Unable to host local game -commands.debug.start=Started debug profiling -commands.debug.stop=Stopped debug profiling after %.2f seconds (%d ticks) -commands.debug.notStarted=Can't stop profiling when we haven't started yet! -commands.debug.usage=/debug -commands.tellraw.usage=/tellraw -commands.tellraw.jsonException=Invalid json: %s -commands.message.usage=/tell -commands.message.sameTarget=You can't send a private message to yourself! -commands.message.display.outgoing=You whisper to %s: %s -commands.message.display.incoming=%s whispers to you: %s -commands.difficulty.usage=/difficulty -commands.difficulty.success=Set game difficulty to %s -commands.spawnpoint.usage=/spawnpoint OR /spawnpoint OR /spawnpoint -commands.spawnpoint.success=Set %s's spawn point to (%d, %d, %d) -commands.setworldspawn.usage=/setworldspawn OR /setworldspawn -commands.setworldspawn.success=Set the world spawn point to (%d, %d, %d) -commands.gamerule.usage=/gamerule OR /gamerule -commands.gamerule.success=Game rule has been updated -commands.gamerule.norule=No game rule called '%s' is available -commands.weather.usage=/weather [duration in seconds] -commands.weather.clear=Changing to clear weather -commands.weather.rain=Changing to rainy weather -commands.weather.thunder=Changing to rain and thunder -commands.testfor.usage=/testfor -commands.testfor.failed=/testfor is only usable by commandblocks with analog output -commands.seed.usage=/seed -commands.seed.success=Seed: %s -commands.spreadplayers.usage=/spreadplayers -commands.spreadplayers.spreading.teams=Spreading %s teams %s blocks around %s,%s (min %s blocks apart) -commands.spreadplayers.spreading.players=Spreading %s players %s blocks around %s,%s (min %s blocks apart) -commands.spreadplayers.success.teams=Successfully spread %s teams around %s,%s -commands.spreadplayers.success.players=Successfully spread %s players around %s,%s -commands.spreadplayers.info.teams=(Average distance between teams is %s blocks apart after %s iterations) -commands.spreadplayers.info.players=(Average distance between players is %s blocks apart after %s iterations) -commands.spreadplayers.failure.teams=Could not spread %s teams around %s,%s (too many players for space - try using spread of at most %s) -commands.spreadplayers.failure.players=Could not spread %s players around %s,%s (too many players for space - try using spread of at most %s) -commands.achievement.usage=/achievement give [player] -commands.achievement.unknownAchievement=Unknown achievement or statistic '%s' -commands.achievement.give.success.all=Successfully given all achievements to %s -commands.achievement.give.success.one=Successfully given %s the stat %s -commands.achievement.statTooLow=Player %s does not have the stat %s - -itemGroup.buildingBlocks=Building Blocks -itemGroup.decorations=Decoration Blocks -itemGroup.redstone=Redstone -itemGroup.transportation=Transportation -itemGroup.misc=Miscellaneous -itemGroup.search=Search Items -itemGroup.food=Foodstuffs -itemGroup.tools=Tools -itemGroup.combat=Combat -itemGroup.brewing=Brewing -itemGroup.materials=Materials -itemGroup.inventory=Survival Inventory - -inventory.binSlot=Destroy Item - -advMode.setCommand=Set Console Command for Block -advMode.setCommand.success=Command set: %s -advMode.command=Console Command -advMode.nearestPlayer=Use "@p" to target nearest player -advMode.randomPlayer=Use "@r" to target random player -advMode.allPlayers=Use "@a" to target all players -advMode.previousOutput=Previous Output - -advMode.notEnabled=Command blocks are not enabled on this server -advMode.notAllowed=Must be an opped player in creative mode - -mount.onboard=Press %1$s to dismount - -build.tooHigh=Height limit for building is %s blocks - -attribute.modifier.plus.0=+%d %s -attribute.modifier.plus.1=+%d%% %s -attribute.modifier.plus.2=+%d%% %s -attribute.modifier.take.0=-%d %s -attribute.modifier.take.1=-%d%% %s -attribute.modifier.take.2=-%d%% %s - -attribute.name.horse.jumpStrength=Horse Jump Strength -attribute.name.zombie.spawnReinforcements=Zombie Reinforcements -attribute.name.generic.maxHealth=Max Health -attribute.name.generic.followRange=Mob Follow Range -attribute.name.generic.knockbackResistance=Knockback Resistance -attribute.name.generic.movementSpeed=Speed -attribute.name.generic.attackDamage=Attack Damage - -screenshot.success=Saved screenshot as %s -screenshot.failure=Couldn't save screenshot: %s - -stream.user.mode.moderator=Moderator -stream.user.mode.moderator.self=Moderator on your channel -stream.user.mode.moderator.other=Moderator on %s's channel -stream.user.mode.broadcaster=Broadcaster -stream.user.mode.broadcaster.self=Broadcaster (You!) -stream.user.mode.broadcaster.other=Broadcaster -stream.user.mode.administrator=Twitch Administrator -stream.user.mode.staff=Twitch Staff -stream.user.mode.banned=Banned -stream.user.mode.banned.self=Banned on your channel -stream.user.mode.banned.other=Banned on %s's channel -stream.user.subscription.subscriber=Subscriber -stream.user.subscription.subscriber.self=Subscriber to your channel -stream.user.subscription.subscriber.other=Subscriber to %s's channel -stream.user.subscription.turbo=Twitch Turbo - -stream.unavailable.title=Twitch Broadcasting Unavailable -stream.unavailable.report_to_mojang=Report to Mojang - -stream.confirm_start=Are you sure you want to start broadcasting? - -stream.unavailable.account_not_bound=Before you can broadcast Minecraft through Twitch, you will need to link your Twitch account on mojang.com. Would you like to do that now? -stream.unavailable.account_not_bound.okay=Link Accounts -stream.unavailable.account_not_migrated=Before you can broadcast Minecraft through Twitch, you will need to migrate your Minecraft account to a Mojang account. Would you like to do that now? -stream.unavailable.account_not_migrated.okay=Migrate Account -stream.unavailable.failed_auth=Authentication to Twitch failed. Please go to mojang.com and rebind your Twitch account. -stream.unavailable.failed_auth.okay=Rebind Accounts -stream.unavailable.failed_auth_error=Unable to authenticate to Twitch. Please try again later. -stream.unavailable.initialization_failure=Unable to initialize the Twitch SDK. -stream.unavailable.initialization_failure.extra=(Reason: %s) -stream.unavailable.library_arch_mismatch=The custom java version used to launch Minecraft has a different architecture than the one used to run the launcher. Please make sure these are the same, either 32-bit or 64-bit for both. -stream.unavailable.library_failure=Unable to load the libraries needed for the integrated Twitch broadcasting service. -stream.unavailable.no_fbo=Your video card needs to support at least OpenGL version 3.0 or support Framebuffer Objects via an extension to use the integrated Twitch broadcasting. -stream.unavailable.no_fbo.version=You are currently using: %s -stream.unavailable.no_fbo.blend=Separate blending support via EXT is: %s -stream.unavailable.no_fbo.arb=Framebuffer object support via ARB is: %s -stream.unavailable.no_fbo.ext=Framebuffer object support via EXT is: %s -stream.unavailable.not_supported.windows=Unfortunately the integrated Twitch broadcasting requires a newer version of Windows than you are on. You must have at least Windows Vista or newer. -stream.unavailable.not_supported.mac=Unfortunately the integrated Twitch broadcasting on Mac requires a version of OSX newer than the one you are on. You must use 10.7 (Mac OS X Lion) or newer to be able to use this service. Would you like to visit apple.com to learn about upgrading? -stream.unavailable.not_supported.mac.okay=Upgrade -stream.unavailable.not_supported.other=Unfortunately the integrated Twitch broadcasting service requires Windows (Vista or newer) or Mac OS X (10.7/Lion or newer) -stream.unavailable.unknown=Unfortunately you cannot broadcast to Twitch at this time. And we don't know why :'( -stream.unavailable.unknown.chat=Could not start stream: %s - -stream.unavailable.soundflower.chat=Soundflower is required to be able to stream on Mac. %s -stream.unavailable.soundflower.chat.link=Please click here to install it. - -stream.userinfo.chatTooltip=Click to manage user -stream.userinfo.timeout=Timeout -stream.userinfo.ban=Ban -stream.userinfo.unban=Unban -stream.userinfo.mod=Promote to Moderator -stream.userinfo.unmod=Demote from Moderator - - -itemGroup.tabTest=Nuclear Tech Mod Test Tab -itemGroup.tabParts=NTM Resources and Parts -itemGroup.tabBlocks=NTM Blocks and Machines -itemGroup.tabNuke=NTM Bombs and Gear -itemGroup.tabMachine=NTM Templates - -hbmfluid.none=None -hbmfluid.water=Water -hbmfluid.lava=Lava -hbmfluid.uf6=Uranium Hexafluoride -hbmfluid.puf6=Plutonium Hexafluoride -hbmfluid.deuterium=Deuterium -hbmfluid.tritium=Tritium -hbmfluid.oil=Crude Oil -hbmfluid.smear=Industrial Oil -hbmfluid.reclaimed=Reclaimed Industrial Oil -hbmfluid.petroil=Petroil -hbmfluid.lubricant=Engine Lubricant -hbmfluid.diesel=Diesel -hbmfluid.kerosene=Kerosene -hbmfluid.gas=Natural Gas -hbmfluid.coolant=Coolant -hbmfluid.amat=Antimatter -hbmfluid.aschrab=Antischrabidium - -item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core -item.record.ss.desc=Valve - Sector Sweep -item.record.vc.desc=Valve - Vortal Combat - -death.attack.nuclearBlast=%1$s was blown away by a nuclear explosion. -death.attack.revolverBullet=%1$s was shot in the head by %2$s. -death.attack.mudPoisoning=%1$s died in poisonous mud. -death.attack.euthanized=%1$s was euthanized by %2$s. -death.attack.euthanizedSelf=%1$s euthanized himself, what a dork. -death.attack.euthanizedSelf2=%1$s wins the Darwin Award. -death.attack.tau=%1$s was riddeled by %2$s using negatively charged tauons. -death.attack.tauBlast=%1$s charged the XVL1456 for too long and was blown into pieces. -death.attack.chopperBullet=%1$s was rekt by %2$s. -death.attack.cmb=%1$s was fizzeled by %2$s. -death.attack.subAtomic=%1$s's atoms have been destroyed by %2$s. -death.attack.subAtomic2=%1$s was QPU-misaligned because %2$s tampered with his de facto speed. -death.attack.subAtomic3=%1$s's divergence dropped below 1 percent because of %2$s. -death.attack.subAtomic4=%1$s was divided by zero by %2$s. -death.attack.subAtomic5=%1$s was nullified by %2$s. -death.attack.radiation=%1$s died from radiation poisoning. -death.attack.acid=%1$s fell into acid. -death.attack.suicide=%1$s blew their head off. -death.attack.electrified=%1$s was electrified by %2$s. -death.attack.flamethrower=%1$s was cremated by %2$s. -death.attack.plasma=%1$s was immolated by %2$s. -death.attack.ice=%1$s was turned into a popsicle by %2$s. -death.attack.cheater=%1$s's intestines turned into oats. (???) -death.attack.laser=%1$s was turned into ash by %2$s. -death.attack.rubble=%1$s was squashed by debris. -death.attack.shrapnel=%1$s was ragged by a shrapnel. -death.attack.teleporter=%1$s was teleported into nothingness. -death.attack.blackhole=%1$s was spaghettified. - -item.redstone_sword.name=Redstone Sword -item.big_sword.name=Great Sword -item.test_nuke_igniter.name=Igniter -item.test_nuke_propellant.name=Propellant -item.test_nuke_tier1_shielding.name=Neutron Reflector (Tier 1) -item.test_nuke_tier2_shielding.name=Neutron Reflector (Tier 2) -item.test_nuke_tier1_bullet.name=U235 Projectile (Tier 1) -item.test_nuke_tier2_bullet.name=MOX Projectile (Tier 2) -item.test_nuke_tier1_target.name=Subcritical U235 Target (Tier 1) -item.test_nuke_tier2_target.name=Subcritical MOX Target (Tier 2) - -item.gadget_explosive.name=Propellant -item.gadget_explosive8.name=Bundle of Propellant -item.gadget_wireing.name=Wiring -item.gadget_core.name=Plutonium Core - -item.boy_igniter.name=Bomb Igniter -item.boy_propellant.name=Propellant -item.boy_bullet.name=U235 Projectile -item.boy_target.name=Subcritical U235 Target -item.boy_shielding.name=Neutron Shielding - -item.man_explosive.name=Propellant -item.man_explosive8.name=Bundle of Propellant -item.man_igniter.name=Bomb Igniter -item.man_core.name=Plutonium Core - -item.mike_core.name=Uranium Coated Deuterium Tank -item.mike_deut.name=Deuterium Tank -item.mike_cooling_unit.name=Deuterium Cooling Unit - -item.tsar_core.name=Tsar Bomba Core - -item.fleija_igniter.name=Pulse Igniter -item.fleija_propellant.name=Schrabidium Propellant -item.fleija_core.name=F.L.E.I.J.A. Uranium 235 Charge - -container.nukeGadget=The Gadget -container.nukeBoy=Little Boy -container.nukeMan=Fat Man -container.nukeMike=Ivy Mike -container.nukeTsar=Tsar Bomba -container.nukeFleija=F.L.E.I.J.A. -container.nukePrototype=The Prototype -container.nukeCustom=Custom Nuke - -container.bombMulti=Multi Purpose Bomb - -tile.nuke_gadget.name=The Gadget -tile.nuke_boy.name=Little Boy -tile.nuke_man.name=Fat Man -tile.nuke_mike.name=Ivy Mike -tile.nuke_tsar.name=Tsar Bomba -tile.nuke_fleija.name=F.L.E.I.J.A. -tile.nuke_prototype.name=The Prototype -tile.nuke_custom.name=Custom Nuke - -tile.bomb_multi.name=Multi Purpose Bomb - -tile.flame_war.name=Flame War in a Box -tile.float_bomb.name=Levitation Bomb -tile.therm_endo.name=Endothermic Bomb -tile.therm_exo.name=Exothermic Bomb - -tile.crashed_bomb.name=Dud - -tile.crate.name=Supply Crate -tile.marker_structure.name=Multiblock Structure Marker - -tile.machine_difurnace_off.name=Alloy Furnace -tile.machine_difurnace_on.name=Alloy Furnace -container.diFurnace=Alloy Furnace -tile.machine_centrifuge.name=Centrifuge -container.centrifuge=Centrifuge -tile.machine_uf6_tank.name=Uranium Hexafluoride Tank -container.uf6_tank=UF6 Tank -tile.machine_puf6_tank.name=Plutonium Hexafluoride Tank -container.puf6_tank=PuF6 Tank -tile.machine_reactor.name=Breeding Reactor -container.reactor=Breeding Reactor -tile.machine_nuke_furnace_off.name=Nuclear Powered Furnace -tile.machine_nuke_furnace_on.name=Nuclear Powered Furnace -container.nukeFurnace=Nuclear Powered Furnace -tile.machine_rtg_furnace_off.name=RTG Furnace -tile.machine_rtg_furnace_on.name=RTG Furnace -container.rtgFurnace=RTG Furnace -tile.machine_electric_furnace_off.name=Electric Furnace -tile.machine_electric_furnace_on.name=Electric Furnace -container.electricFurnace=Electric Furnace -tile.machine_generator.name=Nuclear Reactor -container.generator=Nuclear Reactor -tile.red_wire_coated.name=Coated Red Copper Cable -tile.machine_deuterium.name=Deuterium Extractor -container.machine_deuterium=Deuterium Extractor -tile.machine_battery.name=Energy Storage Block -container.battery=Energy Storage -tile.machine_coal_off.name=Coal Generator -tile.machine_coal_on.name=Coal Generator -container.machineCoal=Coal Generator -tile.launch_pad.name=Missile Launch Pad -container.launchPad=Missile Launch Pad -tile.book_guide.name=Hbm's Nuclear Tech Mod Manual -tile.machine_schrabidium_transmutator.name=Schrabidium Transmutation Device -container.machine_schrabidium_transmutator=Schrabidium Transmutation Device -tile.machine_diesel.name=Diesel Generator -container.machineDiesel=Diesel Generator -tile.machine_shredder.name=Shredder -container.machineShredder=Shredder -tile.machine_combine_factory.name=CMB Steel Furnace -container.machineCMB=CMB Steel Furnace -tile.machine_teleporter.name=Teleporter -container.teleporter=Teleporter -tile.machine_reix_mainframe.name=Rei-X Mainframe (WIP) -container.reix=Rei-X Mainframe -tile.machine_industrial_generator.name=Industrial Generator -container.iGenerator=Industrial Generator -tile.machine_cyclotron.name=Cyclotron -container.cyclotron=Cyclotron -tile.machine_well.name=Oil Derrick -tile.oil_pipe.name=Crude Oil Extraction Pipe -container.oilWell=Oil Derrick -tile.machine_refinery.name=Oil Refinery -container.machineRefinery=Oil Refinery -tile.oil_duct.name=Oil Pipe -tile.oil_duct_solid.name=Coated Oil Pipe -tile.machine_flare.name=Gas Flare -container.gasFlare=Gas Flare -tile.gas_duct.name=Gas Pipe -tile.gas_duct_solid.name=Coated Gas Pipe -tile.machine_drill.name=Automatic Mining Drill -container.miningDrill=Automatic Mining Drill -tile.machine_assembler.name=Assembly Machine -container.assembler=Assembly Machine -tile.machine_chemplant.name=Chemical Plant -container.chemplant=Chemical Plant - -tile.red_pylon.name=Electricity Pole -item.wiring_red_copper.name=Cable Drum - -tile.rail_highspeed.name=High Speed Rail -tile.rail_booster.name=High Speed Booster Rail - -tile.factory_titanium_hull.name=Basic Factory Casing -tile.factory_titanium_furnace.name=Basic Factory Access Hatch -tile.factory_titanium_conductor.name=Basic Factory Electricity Port -tile.factory_titanium_core.name=Basic Factory Core Component -item.factory_core_titanium.name=Basic Factory Energy Cluster -container.factoryTitanium=Basic Factory -tile.factory_advanced_hull.name=Advanced Factory Casing -tile.factory_advanced_furnace.name=Advanced Factory Access Hatch -tile.factory_advanced_conductor.name=Advanced Factory Electricity Port -tile.factory_advanced_core.name=Advanced Factory Core Component -item.factory_core_advanced.name=Advanced Factory Energy Cluster -container.factoryAdvanced=Advanced Factory - -tile.reactor_element.name=Reactor Chamber -tile.reactor_control.name=Control Rods -tile.reactor_hatch.name=Reactor Access Hatch -tile.reactor_conductor.name=Reactor Electricity Port -tile.reactor_computer.name=Reactor Control -container.reactorMultiblock=Big Nuclear Reactor - -tile.fusion_conductor.name=Superconducting Magnet -tile.fusion_center.name=Central Magnet Piece -tile.fusion_motor.name=Magnet Motor Piece -tile.fusion_heater.name=Plasma Heater -tile.fusion_hatch.name=Fusion Reactor Access Hatch -tile.fusion_core.name=Fusion Reactor Control -tile.plasma.name=Plasma -container.fusionMultiblock=Big Fusion Reactor - -tile.watz_element.name=Watz Reaction Chamber -tile.watz_control.name=Reinforced Control Rods -tile.watz_cooler.name=Watz Reactor Supercooler -tile.watz_end.name=Watz Reactor Stability Element -tile.watz_hatch.name=Watz Reactor Access Hatch -tile.watz_conductor.name=Watz Electricity Port -tile.watz_core.name=Watz Reactor Control -container.watzPowerplant=Watz Power Plant - -tile.fwatz_conductor.name=4000K Superconducting Magnet -tile.fwatz_cooler.name=Regenerative Coolant Fluid Tank Shell -tile.fwatz_tank.name=Regenerative Coolant Fluid Tank -tile.fwatz_scaffold.name=Fusionary Watz Plant Structural Support -tile.fwatz_hatch.name=Fusionary Watz Plant Access Hatch -tile.fwatz_computer.name=Fusionary Watz Reactor Calculation Matrix -tile.fwatz_core.name=Fusionary Watz Reactor Control -tile.fwatz_plasma.name=Destabilized Antischrabidium Plasma -container.fusionaryWatzPlant=Fusionary Watz Plant - -tile.machine_rtg_grey.name=RT Generator -container.rtg=RT Generator -tile.machine_rtg_red.name=Fulmination Generator -tile.machine_rtg_orange.name=Strong RT Generator -tile.machine_rtg_yellow.name=Australium Superfuel Reactor -tile.machine_rtg_green.name=Verticium Wealth Generator -tile.machine_rtg_cyan.name=Schrabidium Decay Generator (WIP) -tile.machine_rtg_blue.name=Convection Generator -tile.machine_rtg_purple.name=Antimatter Annihilation Generator - -item.assembly_template.TEST.name=Assembly Template: Test -item.assembly_template.MIXED_PLATE.name=Assembly Template: Mixed Plate -item.assembly_template.HAZMAT_CLOTH.name=Assembly Template: Hazmat Cloth -item.assembly_template.ASBESTOS_CLOTH.name=Assembly Template: Fire Proximity Cloth -item.assembly_template.COAL_FILTER.name=Assembly Template: Activated Carbon Filter -item.assembly_template.CENTRIFUGE_ELEMENT.name=Assembly Template: Centrifuge Element -item.assembly_template.CENTRIFUGE_TOWER.name=Assembly Template: Centrifuge Tower -item.assembly_template.DEE_MAGNET.name=Assembly Template: Dee Magnets -item.assembly_template.FLAT_MAGNET.name=Assembly Template: Flat Magnet -item.assembly_template.CYCLOTRON_TOWER.name=Assembly Template: Cyclotron Tower -item.assembly_template.REACTOR_CORE.name=Assembly Template: Breeding Reactor Core -item.assembly_template.RTG_UNIT.name=Assembly Template: RTG Unit -item.assembly_template.HEAT_UNIT.name=Assembly Template: Thermal Distribution Unit -item.assembly_template.GRAVITY_UNIT.name=Assembly Template: Gravity Manipulator -item.assembly_template.TITANIUM_DRILL.name=Assembly Template: Titanium Drill -item.assembly_template.TELEPAD.name=Assembly Template: Telepad -item.assembly_template.TELEKIT.name=Assembly Template: Entanglement Kit -item.assembly_template.GEASS_REACTOR.name=Assembly Template: Dysfunctional Nuclear Reactor -item.assembly_template.GENERATOR_FRONT.name=Assembly Template: Generator Front -item.assembly_template.WT1_GENERIC.name=Assembly Template: Small Warhead -item.assembly_template.WT2_GENERIC.name=Assembly Template: Medium Warhead -item.assembly_template.WT3_GENERIC.name=Assembly Template: Large Warhead -item.assembly_template.WT1_FIRE.name=Assembly Template: Small Incendiary Warhead -item.assembly_template.WT2_FIRE.name=Assembly Template: Medium Incendiary Warhead -item.assembly_template.WT3_FIRE.name=Assembly Template: Large Incendiary Warhead -item.assembly_template.WT1_CLUSTER.name=Assembly Template: Small Cluster Warhead -item.assembly_template.WT2_CLUSTER.name=Assembly Template: Medium Cluster Warhead -item.assembly_template.WT3_CLUSTER.name=Assembly Template: Large Cluster Warhead -item.assembly_template.WT1_BUSTER.name=Assembly Template: Small Bunker Buster Warhead -item.assembly_template.WT2_BUSTER.name=Assembly Template: Medium Bunker Buster Warhead -item.assembly_template.WT3_BUSTER.name=Assembly Template: Large Bunker Buster Warhead -item.assembly_template.W_NUCLEAR.name=Assembly Template: Nuclear Warhead -item.assembly_template.W_MIRVLET.name=Assembly Template: MIRV -item.assembly_template.W_MIRV.name=Assembly Template: Eightfold MIRV Warhead -item.assembly_template.W_ENDOTHERMIC.name=Assembly Template: Endothermic Warhead -item.assembly_template.W_EXOTHERMIC.name=Assembly Template: Exothermic Warhead -item.assembly_template.T1_TANK.name=Assembly Template: Small Fuel Tank -item.assembly_template.T2_TANK.name=Assembly Template: Medium Fuel Tank -item.assembly_template.T3_TANK.name=Assembly Template: Large Fuel Tank -item.assembly_template.T1_THRUSTER.name=Assembly Template: Small Thruster -item.assembly_template.T2_THRUSTER.name=Assembly Template: Medium Thruster -item.assembly_template.T3_THRUSTER.name=Assembly Template: Large Thruster -item.assembly_template.CHOPPER_HEAD.name=Assembly Template: Hunter Chopper Cockpit -item.assembly_template.CHOPPER_GUN.name=Assembly Template: Emplacement Gun -item.assembly_template.CHOPPER_BODY.name=Assembly Template: Hunter Chopper Body -item.assembly_template.CHOPPER_TAIL.name=Assembly Template: Hunter Chopper Tail -item.assembly_template.CHOPPER_WING.name=Assembly Template: Hunter Chopper Wing -item.assembly_template.CHOPPER_BLADES.name=Assembly Template: Hunter Chopper Rotor Blades -item.assembly_template.CIRCUIT_2.name=Assembly Template: Enhanced Circuit -item.assembly_template.CIRCUIT_3.name=Assembly Template: Advanced Circuit -item.assembly_template.RTG_PELLET.name=Assembly Template: Plutonium 238 Fuel Pellet -item.assembly_template.WEAK_PELLET.name=Assembly Template: Weak Uranium RTG Pellet -item.assembly_template.FUSION_PELLET.name=Assembly Template: Tritium-Deuterium-Cake -item.assembly_template.CLUSTER_PELLETS.name=Assembly Template: Explosive Pellets -item.assembly_template.GUN_PELLETS.name=Assembly Template: Lead Pellets - -item.fuse.name=Fuse - -tile.test_nuke.name=Test Nuke - -item.ingot_uranium.name=Uranium Ingot -item.ingot_u235.name=U235 Ingot -item.ingot_u238.name=U238 Ingot -item.ingot_plutonium.name=Plutonium Ingot -item.ingot_pu238.name=Pu238 Ingot -item.ingot_pu239.name=Pu239 Ingot -item.ingot_pu240.name=Pu240 Ingot -item.ingot_titanium.name=Titanium Ingot -item.sulfur.name=Sulfur - -item.niter.name=Niter -item.ingot_copper.name=Industrial Grade Copper -item.ingot_red_copper.name=Minecraft Grade Copper -item.ingot_tungsten.name=Tungsten Ingot -item.ingot_aluminium.name=Aluminium Ingot -item.fluorite.name=Fluorite -item.ingot_steel.name=Steel Ingot -item.plate_steel.name=Steel Plate -item.ingot_beryllium.name=Beryllium Ingot -item.plate_schrabidium.name=Schrabidium Plate -item.ingot_schrabidium.name=Schrabidium Ingot -item.nugget_schrabidium.name=Schrabidium Nugget -item.plate_copper.name=Copper Plate -item.board_copper.name=Copper Panel -item.ingot_advanced_alloy.name=Advanced Alloy Ingot -item.plate_advanced_alloy.name=Advanced Alloy Plate -item.wire_advanced_alloy.name=Super Conductor -item.coil_advanced_alloy.name=Super Conducting Coil -item.coil_advanced_torus.name=Super Conducting Ring Coil -item.coil_gold.name=Gold Coil -item.coil_gold_torus.name=Golden Ring Coil -item.lithium.name=Lithium Cube -item.ingot_magnetized_tungsten.name=Magnetized Tungsten Ingot -item.ingot_combine_steel.name=CMB Steel Ingot -item.plate_combine_steel.name=CMB Steel Plate -item.wire_magnetized_tungsten.name=4000K High Temperature Super Conductor -item.coil_magnetized_tungsten.name=4000K High Temperature Super Conducting Coil -item.plate_mixed.name=Mixed Plate -item.plate_paa.name=PaA Alloy Plate -item.ingot_dura_steel.name=High-Speed Steel Ingot -item.ingot_polymer.name=Polymer Ingot -item.bolt_dura_steel.name=High-Speed Steel Bolt -item.pipes_steel.name=Steel Pipes -item.drill_titanium.name=Titanium Drill - -item.ingot_australium.name=Australium Ingot -item.ingot_weidanium.name=Weidanium Ingot -item.ingot_reiium.name=Reiium Ingot -item.ingot_unobtainium.name=Unobtainium Ingot -item.ingot_daffergon.name=Daffergon Ingot -item.ingot_verticium.name=Verticium Ingot -item.nugget_australium.name=Australium Nugget -item.nugget_weidanium.name=Weidanium Nugget -item.nugget_reiium.name=Reiium Nugget -item.nugget_unobtainium.name=Unobtainium Nugget -item.nugget_daffergon.name=Daffergon Nugget -item.nugget_verticium.name=Verticium Nugget - -item.ingot_desh.name=Desh Ingot -item.nugget_desh.name=Desh Nugget -item.powder_desh.name=Desh Powder - -item.nugget_u235.name=U235 Nugget -item.nugget_u238.name=U238 Nugget -item.nugget_pu238.name=Pu238 Nugget -item.nugget_pu239.name=Pu239 Nugget -item.nugget_pu240.name=Pu240 Nugget -item.plate_titanium.name=Titanium Plate -item.plate_aluminium.name=Aluminium Plate -item.wire_red_copper.name=Red Copper Wire -item.neutron_reflector.name=Neutron Reflector -item.nugget_beryllium.name=Beryllium Nugget - -item.wire_aluminium.name=Aluminium Wire -item.wire_copper.name=Copper Wire -item.wire_gold.name=Gold Wire -item.wire_schrabidium.name=Schrabidium Wire - -item.circuit_aluminium.name=Basic Circuit -item.circuit_copper.name=Enhanced Circuit -item.circuit_red_copper.name=Advanved Circuit -item.circuit_gold.name=Overclocked Circuit -item.circuit_schrabidium.name=High Performance Circuit - -tile.block_aluminium.name=Block of Aluminium -tile.block_copper.name=Block of Copper -tile.block_fluorite.name=Block of Fluorite -tile.block_niter.name=Block of Niter -tile.block_red_copper.name=Block of Red Copper -tile.block_steel.name=Block of Steel -tile.block_sulfur.name=Block of Sulfur -tile.block_titanium.name=Block of Titanium -tile.block_tungsten.name=Block of Tungsten -tile.block_uranium.name=Block of Uranium -tile.block_trinitite.name=Block of Trinitite -tile.block_beryllium.name=Block of Beryllium -tile.block_waste.name=Block of Nuclear Waste -tile.block_scrap.name=Block of Scrap -tile.block_electrical_scrap.name=Block of Electrical Scrap -tile.block_advanced_alloy.name=Block of Advanced Alloy -tile.block_magnetized_tungsten.name=Block of Magnetized Tungsten -tile.block_combine_steel.name=Block of CMB Steel -tile.block_australium.name=Block of Australium -tile.block_weidanium.name=Block of Weidanium -tile.block_reiium.name=Block of Reiium -tile.block_unobtainium.name=Block of Unobtainium -tile.block_daffergon.name=Block of Daffergon -tile.block_verticium.name=Block of Verticium -tile.block_desh.name=Reinfoced Block of Desh - -tile.ore_aluminium.name=Aluminium Ore -tile.ore_copper.name=Copper Ore -tile.ore_fluorite.name=Fluorite Ore -tile.ore_niter.name=Niter Ore -tile.ore_sulfur.name=Sulfur Ore -tile.ore_titanium.name=Titanium Ore -tile.ore_tungsten.name=Tungsten Ore -tile.ore_uranium.name=Uranium Ore -tile.ore_schrabidium.name=Schrabidium Ore -tile.ore_beryllium.name=Beryllium Ore - -tile.ore_nether_uranium.name=Nether Uranium Ore -tile.ore_nether_plutonium.name=Nether Plutonium Ore -tile.ore_nether_tungsten.name=Nether Tungsten Ore -tile.ore_nether_sulfur.name=Nether Sulfur Ore -tile.ore_nether_fire.name=Fire Ore -tile.ore_nether_schrabidium.name=Nether Schrabidium Ore - -tile.ore_australium.name=Australian Ore -tile.ore_weidanium.name=Weidite -tile.ore_reiium.name=Reiite -tile.ore_unobtainium.name=Brightblende Ore -tile.ore_daffergon.name=Dellite -tile.ore_verticium.name=Dollar Green Mineral - -tile.ore_oil.name=Oil Deposit -tile.ore_oil_empty.name=Empty Oil Deposit - -tile.reinforced_brick.name=Reinforced Stone -tile.reinforced_glass.name=Reinforced Glass -tile.reinforced_sand.name=Reinforced Sandstone -tile.reinforced_light.name=Reinforced Glowstone -tile.reinforced_lamp_off.name=Reinforced Lamp -tile.reinforced_lamp_on.name=Reinforced Lamp - -tile.brick_concrete.name=Concrete Bricks -tile.brick_obsidian.name=Obsidian Bricks -tile.brick_light.name=Light Bricks -tile.asphalt.name=Asphalt - -tile.cmb_brick.name=CMB Steel Tile -tile.cmb_brick_reinforced.name=Reinforced CMB Bricks - -tile.gravel_obsidian.name=Crushed Obsidian - -tile.seal_frame.name=Silo Hatch Frame -tile.seal_controller.name=Silo Hatch Opener -tile.seal_hatch.name=Silo Hatch - -item.nugget_uranium.name=Uranium Nugget -item.nugget_plutonium.name=Plutonium Nugget -item.nugget_neptunium.name=Neptunium Nugget -item.ingot_neptunium.name=Neptunium Ingot -item.nugget_lead.name=Lead Nugget -item.ingot_lead.name=Lead Ingot -tile.block_lead.name=Block of Lead -tile.ore_lead.name=Lead Ore - -item.powder_lead.name=Lead Powder -item.powder_neptunium.name=Neptunium Powder -item.powder_schrabidium.name=Schrabidium Powder -item.powder_iron.name=Iron Powder -item.powder_gold.name=Gold Powder -item.powder_aluminium.name=Aluminium Powder -item.powder_beryllium.name=Beryllium Powder -item.powder_copper.name=Copper Powder -item.powder_titanium.name=Titanium Powder -item.powder_tungsten.name=Tungsten Powder -item.powder_uranium.name=Uranium Powder -item.powder_plutonium.name=Plutonium Powder -item.dust.name=Dust -item.powder_coal.name=Coal Powder -item.powder_lapis.name=Lapis Lazuli Powder -item.powder_emerald.name=Emerald Powder -item.powder_diamond.name=Diamond Powder -item.powder_red_copper.name=Red Copper Powder -item.powder_steel.name=Steel Powder -item.powder_magnetized_tungsten.name=Magnetized Tungsten Powder -item.powder_combine_steel.name=CMB Steel Powder -item.powder_lithium.name=Lithium Powder -item.powder_advanced_alloy.name=Advanced Alloy Powder -item.powder_quartz.name=Quartz Powder -item.powder_power.name=Energy Powder -item.powder_iodine.name=Iodine Powder -item.powder_thorium.name=Thorium Powder -item.powder_neodymium.name=Neodymium Powder -item.powder_astatine.name=Astatine Powder -item.powder_caesium.name=Caesium Powder -item.powder_australium.name=Australium Powder -item.powder_weidanium.name=Weidanium Powder -item.powder_reiium.name=Reiium Powder -item.powder_unobtainium.name=Unobtainium Powder -item.powder_daffergon.name=Daffergon Powder -item.powder_verticium.name=Verticium Powder -item.powder_strontium.name=Strontium Powder -item.powder_cobalt.name=Cobalt Powder -item.powder_bromine.name=Bromine Powder -item.powder_niobium.name=Niobium Powder -item.powder_tennessine.name=Tennessine Powder -item.powder_cerium.name=Cerium Powder -item.powder_dura_steel.name=High-Speed Steel Powder -item.powder_polymer.name=Polymer Powder -item.powder_lanthanium.name=Lanthanium Powder -item.powder_actinium.name=Actinium Powder -item.powder_lithium_tiny.name=Tiny Pile of Lithium Powder -item.powder_cobalt_tiny.name=Tiny Pile of Cobalt Powder - -item.battery_generic.name=Battery -item.battery_advanced.name=Advanced Battery -item.battery_lithium.name=Lithium-Ion Battery -item.battery_schrabidium.name=Schrabidium Battery -item.battery_creative.name=Infinite Battery - -item.battery_red_cell.name=Redstone Power Cell -item.battery_advanced_cell.name=Advanced Power Cell -item.battery_lithium_cell.name=Lithium-Ion Power Cell -item.battery_schrabidium_cell.name=Schrabidium Power Cell -item.battery_red_cell_6.name=Sixfold Redstone Power Cell -item.battery_advanced_cell_4.name=Quadruple Advanced Power Cell -item.battery_lithium_cell_3.name=Tripple Lithium-Ion Power Cell -item.battery_schrabidium_cell_2.name=Double Schrabidium Power Cell -item.battery_red_cell_24.name=24-Fold Redstone Power Cell -item.battery_advanced_cell_12.name=Twelvefold Advanced Power Cell -item.battery_lithium_cell_6.name=Sixfold Lithium-Ion Power Cell -item.battery_schrabidium_cell_4.name=Quadruple Schrabidium Power Cell - -item.upgrade_template.name=Machine Upgrade Piece Template -item.upgrade_speed_1.name=Red Machine Upgrade Mk.I -item.upgrade_speed_2.name=Red Machine Upgrade Mk.II -item.upgrade_speed_3.name=Red Machine Upgrade Mk.III -item.upgrade_effect_1.name=Green Machine Upgrade Mk.I -item.upgrade_effect_2.name=Green Machine Upgrade Mk.II -item.upgrade_effect_3.name=Green Machine Upgrade Mk.III -item.upgrade_power_1.name=Blue Machine Upgrade Mk.I -item.upgrade_power_2.name=Blue Machine Upgrade Mk.II -item.upgrade_power_3.name=Blue Machine Upgrade Mk.III -item.upgrade_fortune_1.name=Purple Machine Upgrade Mk.I -item.upgrade_fortune_2.name=Purple Machine Upgrade Mk.II -item.upgrade_fortune_3.name=Purple Machine Upgrade Mk.III - -item.fusion_core.name=Fusion Core -item.energy_core.name=Makeshift Energy Core - -item.plate_iron.name=Iron Plate -item.plate_lead.name=Lead Plate -item.coil_copper.name=Copper Coil -item.coil_copper_torus.name=Ring Coil -item.wire_tungsten.name=Tungsten Wire -item.coil_tungsten.name=Heating Coil -item.tank_steel.name=Steel Tank -item.motor.name=Motor -item.centrifuge_element.name=Centrifuge Element -item.centrifuge_tower.name=Centrifuge Tower -item.reactor_core.name=Breeding Reactor Core -item.pellet_rtg.name=Plutonium 238 Fuel Pellet -item.pellet_rtg_weak.name=Weak Uranium RTG Pellet -item.rtg_unit.name=RTG Unit -item.hazmat_cloth.name=Hazmat Cloth -item.asbestos_cloth.name=Fire Proximity Cloth -item.filter_coal.name=Activated Carbon Filter -item.tritium_deuterium_cake.name=Tritium-Deuterium-Cake -item.telepad.name=Telepad -item.entanglement_kit.name=Entanglement Kit -item.toothpicks.name=Toothpicks -item.ducttape.name=Duct Tape -item.magnet_dee.name=Dee Magnets -item.magnet_circular.name=Flat Magnet -item.cyclotron_tower.name=Cyclotron Tower -item.plate_dalekanium.name=Angry Metal - -item.cell_empty.name=Empty Cell -item.cell_uf6.name=Uranium Hexafluorite Cell -item.cell_puf6.name=Plutonium Hexafluorite Cell -item.cell_antimatter.name=Antimatter Cell -item.cell_deuterium.name=Deuterium Cell -item.cell_tritium.name=Tritium Cell -item.cell_sas3.name=Schrabidium Trisulfide Cell -item.cell_anti_schrabidium.name=Antischrabidium Cell -item.singularity.name=Singularity -item.singularity_counter_resonant.name=Contained Counter-Resonant Singularity -item.singularity_super_heated.name=Superheated Resonating Singularity -item.black_hole.name=Miniature Black Hole -item.crystal_xen.name=Artificial Xen Crystal - -item.inf_water.name=Infinite Water Tank -item.inf_deuterium.name=Infinite Deuterium Tank -item.inf_tritium.name=Infinite Tritium Tank -item.inf_coolant.name=Infinite Coolant Tank -item.inf_sulfur.name=Infinite Sulfur Tank -item.inf_diesel.name=Infinite Diesel Tank -item.inf_antimatter.name=Infinite Antimatter Tank -item.inf_antischrabidium.name=Infinite Antischrabidium Tank - -item.oil_canola.name=Raw Canola Oil - -item.canister_empty.name=Empty Canister -item.canister_smear.name=Industrial Oil Canister -item.canister_canola.name=Engine Lubricant -item.canister_oil.name=Crude Oil Canister -item.canister_fuel.name=Fuel Canister -item.canister_kerosene.name=Kerosene Canister -item.canister_reoil.name=Canister of Reclaimed Industrial Oil -item.canister_petroil.name=Petroil Canister -item.canister_napalm.name=Napalm B -item.canister_NITAN.name=NITAN© 100 Octane Super Fuel -item.gas_empty.name=Empty Gas Tank -item.gas_full.name=Gas Tank - -item.rod_empty.name=Emty Rod -item.rod_uranium.name=Uranium Rod -item.rod_u235.name=U235 Rod -item.rod_u238.name=U238 Rod -item.rod_plutonium.name=Plutonium Rod -item.rod_pu238.name=Pu238 Rod -item.rod_pu239.name=Pu239 Rod -item.rod_pu240.name=Pu240 Rod -item.rod_neptunium.name=Neptunium Rod -item.rod_lead.name=Lead Rod -item.rod_schrabidium.name=Schrabidium Rod -item.rod_astatine.name=Euphemium Rod -item.rod_australium.name=Australium Rod -item.rod_weidanium.name=Weidanium Rod -item.rod_reiium.name=Reiium Rod -item.rod_unobtainium.name=Unobtainium Rod -item.rod_daffergon.name=Daffergon Rod -item.rod_verticium.name=Verticium Rod - -item.rod_dual_empty.name=Emty Dual Rod -item.rod_dual_uranium.name=Uranium Dual Fl Rod -item.rod_dual_u235.name=U235 Dual Rod -item.rod_dual_u238.name=U238 Dual Rod -item.rod_dual_plutonium.name=Plutonium Dual Rod -item.rod_dual_pu238.name=Pu238 Dual Rod -item.rod_dual_pu239.name=Pu239 Dual Rod -item.rod_dual_pu240.name=Pu240 Dual Rod -item.rod_dual_neptunium.name=Neptunium Dual Rod -item.rod_dual_lead.name=Lead Dual Rod -item.rod_dual_schrabidium.name=Schrabidium Dual Rod - -item.rod_quad_empty.name=Emty Quad Rod -item.rod_quad_uranium.name=Uranium Quad Rod -item.rod_quad_u235.name=U235 Quad Rod -item.rod_quad_u238.name=U238 Quad Rod -item.rod_quad_plutonium.name=Plutonium Quad Rod -item.rod_quad_pu238.name=Pu238 Quad Rod -item.rod_quad_pu239.name=Pu239 Quad Rod -item.rod_quad_pu240.name=Pu240 Quad Rod -item.rod_quad_neptunium.name=Neptunium Quad Rod -item.rod_quad_lead.name=Lead Quad Rod -item.rod_quad_schrabidium.name=Schrabidium Quad Rod - -item.rod_uranium_fuel_depleted.name=Depleted Uranium Fuel Rod -item.rod_dual_uranium_fuel_depleted.name=Depleted Uranium Dual Fuel Rod -item.rod_quad_uranium_fuel_depleted.name=Depleted Uranium Quad Fuel Rod -item.rod_plutonium_fuel_depleted.name=Depleted Plutonium Fuel Rod -item.rod_dual_plutonium_fuel_depleted.name=Depleted Plutonium Dual Fuel Rod -item.rod_quad_plutonium_fuel_depleted.name=Depleted Plutonium Quad Fuel Rod -item.rod_mox_fuel_depleted.name=Depleted MOX Fuel Rod -item.rod_dual_mox_fuel_depleted.name=Depleted MOX Dual Fuel Rod -item.rod_quad_mox_fuel_depleted.name=Depleted MOX Quad Fuel Rod -item.rod_schrabidium_fuel_depleted.name=Depleted Schrabidium Fuel Rod -item.rod_dual_schrabidium_fuel_depleted.name=Depleted Schrabidium Dual Fuel Rod -item.rod_quad_schrabidium_fuel_depleted.name=Depleted Schrabidium Quad Fuel Rod - -item.rod_waste.name=Nuclear Waste Rod -item.rod_dual_waste.name=Nuclear Waste Dual Rod -item.rod_quad_waste.name=Nuclear Waste Quad Rod - -item.gun_rpg.name=Rocket Launcher -item.gun_rpg_ammo.name=Rocket - -item.flame_pony.name=Painting of a Cartoon Pony -item.flame_conspiracy.name=Conspiracy Theory -item.flame_politics.name=Political Topic -item.flame_opinion.name=Own Opinion - -item.pellet_cluster.name=Explosive Pellets -item.pellet_buckshot.name=Lead Pellets -item.powder_fire.name=Flame Powder -item.powder_ice.name=Cryo Powder -item.powder_poison.name=Poison Powder -item.pellet_gas.name=Poison Gas Cartridge -item.magnetron.name=Magnetron -item.powder_thermite.name=Thermite - -item.nuke_starter_kit.name=Atomic Science Starter Kit -item.nuke_commercially_kit.name=Atomic Science Kit for Commercial Uses -item.nuke_advanced_kit.name=Atomic Science Advanced Kit -item.gadget_kit.name=The Gadget Kit -item.boy_kit.name=Little Boy Kit -item.man_kit.name=Fat Man Kit -item.mike_kit.name=Ivy Mike Kit -item.tsar_kit.name=Tsar Bomba Kit -item.fleija_kit.name=F.L.E.I.J.A. Kit -item.multi_kit.name=Multi Purpose Bomb Kit -item.grenade_kit.name=Grenade Kit -item.nuke_electric_kit.name=Electronic Engineer's Kit -item.prototype_kit.name=Prototype Kit -item.missile_kit.name=Missile Kit -item.t45_kit.name=T45 Power Armor Kit -item.euphemium_kit.name=Euphemium Kit - -tile.waste_earth.name=Dead Grass -tile.waste_trinitite.name=Trinitite Ore -tile.waste_trinitite_red.name=Red Trinitite Ore -tile.waste_log.name=Charred Log -tile.waste_planks.name=Charred Wooden Planks - -item.trinitite.name=Trinitite -item.nuclear_waste.name=Nuclear Waste -item.scrap.name=Scrap - -item.ingot_uranium_fuel.name=Ingot of Uranium Fuel -item.ingot_plutonium_fuel.name=Ingot of Plutonium Fuel -item.ingot_mox_fuel.name=Ingot of MOX Fuel -item.ingot_schrabidium_fuel.name=Ingot of Schrabidium Fuel - -item.nugget_uranium_fuel.name=Nugget of Uranium Fuel -item.nugget_plutonium_fuel.name=Nugget of Plutonium Fuel -item.nugget_mox_fuel.name=Nugget of MOX Fuel -item.nugget_schrabidium_fuel.name=Nugget of Schrabidium Fuel - -item.grenade_generic.name=Grenade -item.grenade_strong.name=Enhanced Grenade -item.grenade_frag.name=Frag Grenade -item.grenade_fire.name=Flame Frag Grenade -item.grenade_shrapnel.name=Shrapnel Grenade -item.grenade_cluster.name=Cluster Bomb -item.grenade_flare.name=Flare Grenade -item.grenade_electric.name=Lightning Bomb -item.grenade_poison.name=Poison Grenade -item.grenade_gas.name=Gas Grenade -item.grenade_pulse.name=Impulse Grenade -item.grenade_plasma.name=Plasma Grenade -item.grenade_tau.name=Tau Grenade -item.grenade_schrabidium.name=Schrabidium Grenade -item.grenade_lemon.name=Combustible Lemon -item.grenade_mk2.name=Mk 2 Grenade "Ambassador Pineapple" -item.grenade_aschrab.name=Tossable Antischrabidium Cell -item.grenade_nuke.name=Mark VI Drill Grenade -item.grenade_nuclear.name=Nuka Grenade -item.grenade_zomg.name=Negative Energy Pair Annihilation Grenade -item.grenade_black_hole.name=Black Hole Grenade -item.ullapool_caber.name=Ullapool Caber - -item.rod_uranium_fuel.name=Uranium Fuel Rod -item.rod_dual_uranium_fuel.name=Uranium Dual Fuel Rod -item.rod_quad_uranium_fuel.name=Uranium Quad Fuel Rod -item.rod_plutonium_fuel.name=Plutonium Fuel Rod -item.rod_dual_plutonium_fuel.name=Plutonium Dual Fuel Rod -item.rod_quad_plutonium_fuel.name=Plutonium Quad Fuel Rod -item.rod_mox_fuel.name=MOX Fuel Rod -item.rod_dual_mox_fuel.name=MOX Dual Fuel Rod -item.rod_quad_mox_fuel.name=MOX Quad Fuel Rod -item.rod_schrabidium_fuel.name=Schrabidium Fuel Rod -item.rod_dual_schrabidium_fuel.name=Schrabidium Dual Fuel Rod -item.rod_quad_schrabidium_fuel.name=Schrabidium Quad Fuel Rod - -item.rod_water.name=Water Cell -item.rod_dual_water.name=Dual Water Cell -item.rod_quad_water.name=Quad Water Cell - -item.rod_coolant.name=Coolant Cell -item.rod_dual_coolant.name=Dual Coolant Cell -item.rod_quad_coolant.name=Quad Coolant Cell - -item.rod_lithium.name=Lithium Rod -item.rod_dual_lithium.name=Dual Lithium Rod -item.rod_quad_lithium.name=Quad Lithium Rod - -item.rod_tritium.name=Tritium Cell -item.rod_dual_tritium.name=Dual Tritium Cell -item.rod_quad_tritium.name=Quad Tritium Cell - -item.levitation_unit.name=Gravity Manipulator -item.thermo_unit_empty.name=Thermic Distribution Unit -item.thermo_unit_endo.name=Coldness Distribution Unit -item.thermo_unit_exo.name=Heat Distribution Unit - -item.bomb_waffle.name=Waffle of Mass Destruction -item.schnitzel_vegan.name=Vegan Schnitzel -item.apple_schrabidium.name=Schrabidium Apple -item.cotton_candy.name=Radioactive Cotton Candy -item.tem_flakes.name=Tem Flakes -item.glowing_stew.name=Glowing Mushroom Stew -item.lemon.name="Lemon" - -tile.frozen_grass.name=Frozen Grass -tile.frozen_dirt.name=Frozen Dirt -tile.frozen_log.name=Frozen Log -tile.frozen_planks.name=Frozen Planks - -tile.tape_recorder.name=Tape Recorder -tile.steel_poles.name=Steel Pole -tile.pole_top.name=Antenna Top -tile.pole_satellite_receiver.name=Satellite Receiver -tile.steel_wall.name=Steel Wall -tile.steel_corner.name=Steel Wall Corner -tile.steel_roof.name=Flat Steel Roof -tile.steel_beam.name=Steel Beam -tile.steel_scaffold.name=Steel Scaffold - -item.gun_revolver_iron.name=Simple Revolver -item.gun_revolver.name=Enhanced Revolver -item.gun_revolver_gold.name=Golden Revolver -item.gun_revolver_lead.name=Nuka Revolver -item.gun_revolver_schrabidium.name=Schrabidium Revolver -item.gun_revolver_cursed.name=Cursed Revolver -item.gun_revolver_nightmare.name=Nightmare Revolver (Original) -item.gun_revolver_nightmare2.name=Nightmare Revolver (Dark) -item.gun_fatman.name=M42 Nuclear Catapult "Fat Man" -item.gun_mirv.name=M42 Nuclear Catapult "Experimental MIRV" -item.gun_bf.name=M42_2 Nuclear Catapult "Antimatter Launcher" -item.gun_mp40.name=Submachine Gun -item.gun_uboinik.name=Uboinik -item.gun_xvl1456.name=XVL1456 Tau Cannon Prototype -item.gun_osipr.name=Overwatch Standard Issue Pulse Rifle -item.gun_immolator.name=The Immolator -item.gun_cryolator.name=The Cryolator -item.gun_mp.name=Pacifist's Machine Gun -item.gun_zomg.name=Singularity Powered Annihilation Ray "ZOMG Cannon" -item.gun_emp.name=EMP Ray -item.gun_super_shotgun.name=Super Shotgun -item.gun_moist_nugget.name=Mosin-Nagant -item.gun_revolver_inverted.name=Flipped Revolver -item.gun_jack.name=Jackhammer -item.gun_spark.name=Spark Plug -item.gun_hp.name=HPP Lazerjet -item.gun_euthanasia.name=Euthanasia -item.gun_defabricator.name=Defabricator - -item.gun_revolver_iron_ammo.name=Bullet -item.gun_revolver_ammo.name=Lead Bullet -item.gun_revolver_gold_ammo.name=Golden Bullet -item.gun_revolver_lead_ammo.name=Glass Covered Nuclear Bullet -item.gun_revolver_schrabidium_ammo.name=Schrabidium Bullet -item.gun_revolver_cursed_ammo.name=Steel Bullet -item.gun_revolver_nightmare_ammo.name=Nightmare Bullet -item.gun_revolver_nightmare2_ammo.name=Laser Buckshot -item.gun_fatman_ammo.name=Mini Nuke -item.gun_mirv_ammo.name=Eightfold MIRV -item.gun_bf_ammo.name=Mk.V Compact AMAT-Artillery Shell - Type B.F. -item.gun_mp40_ammo.name=Submachine Gun Round -item.gun_uboinik_ammo.name=12x70 Buckshot -item.gun_xvl1456_ammo.name=Depleted Uranium-235 Box -item.gun_osipr_ammo.name=Dark Energy Pulse Plug -item.gun_osipr_ammo2.name=Combine Ball -item.gun_immolator_ammo.name=Immolator Fuel -item.gun_cryolator_ammo.name=Cryo Cell -item.gun_mp_ammo.name=Small Propellantless Machine Gun Round -item.gun_emp_ammo.name=Energy Cell -item.gun_jack_ammo.name=Quadruple Shotgun Shell -item.gun_spark_ammo.name=Electromagnetic Cartridge -item.gun_hp_ammo.name=Ink Cartridge -item.gun_euthanasia_ammo.name=Syringe -item.gun_defabricator_ammo.name=Defabricator Energy Cell - -item.clip_revolver_iron.name=Box of Iron Rounds -item.clip_revolver.name=Box of .357 Rounds -item.clip_revolver_gold.name=Small Coffer of Golden Bullets -item.clip_revolver_schrabidium.name=Schrabidium Ammo Container -item.clip_rpg.name=Rocket Container -item.clip_xvl1456.name=Large Isotope Box -item.clip_osipr.name=AR2 Magazine -item.clip_immolator.name=Tank of Immolator Fuel -item.clip_cryolator.name=Tank of Cryolator Fuel -item.clip_revolver_lead.name=Box of Nuclear Bullets -item.clip_revolver_cursed.name=Britannia Military Standard Issue Pisol Magazine -item.clip_fatman.name=Six Pack of Mini Nukes -item.clip_mirv.name=Three-In-One Pack of Mini MIRVs -item.clip_bf.name=BF-Shell Double Pack -item.clip_mp.name=Britannia Military Standard Issue Assult Rifle Magazine -item.clip_mp40.name=9mm SMG Magazine -item.clip_uboinik.name=Box of Buckshot Rounds -item.clip_emp.name=Small Pack of Energy Cells -item.clip_revolver_nightmare.name=Bag of Bullets -item.clip_revolver_nightmare2.name=Belt with Laser Buckshot - -tile.block_schrabidium.name=Block of Schrabidium -item.plate_gold.name=Gold Plate - -item.syringe_empty.name=Empty Syringe -item.syringe_antidote.name=Antidote -item.syringe_poison.name=Poisonous Injection -item.syringe_awesome.name=AWESOME -item.syringe_metal_empty.name=Metal Syringe -item.syringe_metal_stimpak.name=Stimpak -item.syringe_metal_medx.name=Med-X -item.syringe_metal_psycho.name=Psycho -item.pill_iodine.name=Iodine Pill -item.plan_c.name=Plan C - -item.stealth_boy.name=Stealth Device - -entity.hbm.entity_bullet.name=Bullet -entity.hbm.entity_rocket.name=Rocket -entity.hbm.entity_schrabnel.name=Schrabnel -entity.entity_mob_nuclear_creeper.name=Nuclear Creeper -entity.entity_mob_hunter_chopper.name=Hunter ChopperCreeper -entity.entity_cyber_crab.name=Cyber Crab - -item.cap_aluminium.name=Aluminium Cap -item.hull_small_steel.name=Small Steel Shell -item.hull_small_aluminium.name=Small Aluminium Shell -item.hull_big_steel.name=Big Steel Shell -item.hull_big_aluminium.name=Big Aluminium Shell -item.hull_big_titanium.name=Big Titanium Shell -item.fins_flat.name=Flat Steel Casing -item.fins_small_steel.name=Small Steel Grid Fins -item.fins_big_steel.name=Big Steel Grid Fins -item.fins_tri_steel.name=Large Steel Fins -item.fins_quad_titanium.name=Small Titanium Fins -item.sphere_steel.name=Steel Sphere -item.pedestal_steel.name=Steel Pedestal -item.dysfunctional_reactor.name=Dysfunctional Nuclear Reactor - -item.rotor_steel.name=Large Steel Rotor -item.generator_steel.name=Generator Body -item.blade_titanium.name=Titanium Blade -item.turbine_titanium.name=Titanium Steam Turbine -item.generator_front.name=Generator Front - -item.combine_scrap.name=CMB Scrap Metal -item.chopper_head.name=Hunter Chopper Cockpit -item.chopper_gun.name=Emplacement Gun -item.chopper_torso.name=Hunter Chopper Body -item.chopper_tail.name=Hunter Chopper Tail -item.chopper_wing.name=Hunter Chopper Wing -item.chopper_blades.name=Hunter Chopper Rotor Blades - -item.igniter.name=Igniter -item.watch.name=Broken Pocket Watch -item.apple_astatine.name=Euphemium Apple -item.ingot_astatine.name=Euphemium Ingot -item.nugget_astatine.name=Euphemium Nugget -item.rod_quad_astatine.name=Burned Out Quad Schrabidium Fuel Rod - -item.astatine_helmet.name=Euphemium Helemt -item.astatine_plate.name=Euphemium Chestplate -item.astatine_legs.name=Euphemium Leggings -item.astatine_boots.name=Euphemiums Boots - -item.schrabidium_helmet.name=Schrabidium Helmet -item.schrabidium_plate.name=Schrabidium Chestpate -item.schrabidium_legs.name=Schrabidium Leggings -item.schrabidium_boots.name=Schrabidium Boots -item.schrabidium_sword.name=Schrabidium Sword -item.schrabidium_pickaxe.name=Schrabidium Pickaxe -item.schrabidium_axe.name=Schrabidium Axe -item.schrabidium_shovel.name=Schrabidium Shovel -item.schrabidium_hoe.name=Schrabidium Hoe - -item.chainsaw.name=Chainsaw -item.crowbar.name=Mk.V Crate Opening Device "Crowbar" - -item.mask_of_infamy.name=Mask of Infamy - -tile.det_cord.name=Det Cord -tile.det_charge.name=Explosive Charge -tile.red_barrel.name=Explosive Barrel -tile.yellow_barrel.name=Radioactive Barrel - -item.designator.name=Short Range Target Designator -item.designator_range.name=Long Range Target Designator -item.missile_generic.name=High Explosive Missile -item.missile_anti_ballistic.name=Anti Ballistic Missile (WIP) -item.missile_incendiary.name=Incendiary Missile -item.missile_cluster.name=Cluster Missile -item.missile_buster.name=Bunker Buster -item.missile_strong.name=Strong HE Missile -item.missile_incendiary_strong.name=Strong Incendiary Missile -item.missile_cluster_strong.name=Strong Cluster Missile -item.missile_buster_strong.name=Enhanced Bunker Buster -item.missile_burst.name=Spare Missile -item.missile_inferno.name=Inferno Missile G.R.N. Mk.II -item.missile_rain.name=Bomblet Rain -item.missile_drill.name=The Concrete Cracker -item.missile_nuclear.name=Nuclear Missile -item.missile_nuclear_cluster.name=Nuclear MIRV Missile -item.missile_endo.name=Endothermic Missile -item.missile_exo.name=Exothermic Missile - -item.hazmat_helmet.name=Hazmat Helmet -item.hazmat_plate.name=Hazmat Chestplate -item.hazmat_legs.name=Hazmat Leggings -item.hazmat_boots.name=Hazmat Boots -item.hazmat_paa_helmet.name=PaA Battle Hazmat Suit Helmet -item.hazmat_paa_plate.name=PaA Battle Hazmat Suit Chestplate -item.hazmat_paa_legs.name=PaA Battle Hazmat Suit Leggings -item.hazmat_paa_boots.name=PaA Battle Hazmat Suit Boots -item.asbestos_helmet.name=Fire Proximity Helmet -item.asbestos_plate.name=Fire Proximity Chestplate -item.asbestos_legs.name=Fire Proximity Leggings -item.asbestos_boots.name=Fire Proximity Boots - -item.paa_plate.name=PaA Chest Protection Plate -item.paa_legs.name=PaA Leg Reinforcements -item.paa_boots.name=PaA "good ol' shoes" - -item.goggles.name=Protection Goggles -item.gas_mask.name=Gas Mask -item.oxy_mask.name=Oxygen Mask -item.t45_helmet.name=T45 Power Armor Helmet -item.t45_plate.name=T45 Power Armor Chestplate -item.t45_legs.name=T45 Power Armor Leggings -item.t45_boots.name=T45 Power Armor Boots - -tile.mush.name=Glowing Mushroom -tile.waste_mycelium.name=Glowing Mycelium - -item.warhead_generic_small.name=Small Warhead -item.warhead_generic_medium.name=Medium Warhead -item.warhead_generic_large.name=Large Warhead -item.warhead_incendiary_small.name=Small Incendiary Warhead -item.warhead_incendiary_medium.name=Medium Incendiary Warhead -item.warhead_incendiary_large.name=Large Incendiary Warhead -item.warhead_cluster_small.name=Small Cluster Warhead -item.warhead_cluster_medium.name=Medium Cluster Warhead -item.warhead_cluster_large.name=Large Cluster Warhead -item.warhead_buster_small.name=Small Bunker Buster Warhead -item.warhead_buster_medium.name=Medium Bunker Buster Warhead -item.warhead_buster_large.name=Large Bunker Buster Warhead -item.warhead_nuclear.name=Nuclear Warhead -item.warhead_mirvlet.name=MIRV -item.warhead_mirv.name=Eightfold MIRV Warhead -item.warhead_thermo_endo.name=Endothermic Warhead -item.warhead_thermo_exo.name=Exothermic Warhead -item.fuel_tank_small.name=Small Fuel Tank -item.fuel_tank_medium.name=Medium Fuel Tank -item.fuel_tank_large.name=Large Fuel Tank -item.thruster_small.name=Small Thruster -item.thruster_medium.name=Medium Thruster -item.thruster_large.name=Large Thruster - -item.wand_k.name=Construction Wand -item.wand_s.name=Structure Wand -item.wand_d.name=Debug Wand - -item.screwdriver.name=Screwdriver -item.overfuse.name=Singularity Screwdriver - -item.steel_helmet.name=Steel Helmet -item.steel_plate.name=Steel Chestplate -item.steel_legs.name=Steel Leggings -item.steel_boots.name=Steel Boots -item.titanium_helmet.name=Titanium Helmet -item.titanium_plate.name=Titanium Chestplate -item.titanium_legs.name=Titanium Leggings -item.titanium_boots.name=Titanium Boots -item.alloy_helmet.name=Advanced Alloy Helmet -item.alloy_plate.name=Advanced Alloy Chestplate -item.alloy_legs.name=Advanced Alloy Leggings -item.alloy_boots.name=Advanced Alloy Boots -item.cmb_helmet.name=CMB Steel Helmet -item.cmb_plate.name=CMB Steel Chestplate -item.cmb_legs.name=CMB Steel Leggings -item.cmb_boots.name=CMB Steel Boots - -item.steel_sword.name=Steel Sword -item.steel_pickaxe.name=Steel Pickaxe -item.steel_axe.name=Steel Axe -item.steel_shovel.name=Steel Shovel -item.steel_hoe.name=Steel Hoe -item.titanium_sword.name=Titanium Sword -item.titanium_pickaxe.name=Titanium Pickaxe -item.titanium_axe.name=Titanium Axe -item.titanium_shovel.name=Titanium Shovel -item.titanium_hoe.name=Titanium Hoe -item.alloy_sword.name=Advanced Alloy Sword -item.alloy_pickaxe.name=Advanced Alloy Pickaxe -item.alloy_axe.name=Advanced Alloy Axe -item.alloy_shovel.name=Advanced Alloy Shovel -item.alloy_hoe.name=Advanced Alloy Hoe -item.cmb_sword.name=CMB Steel Sword -item.cmb_pickaxe.name=CMB Steel Pickaxe -item.cmb_axe.name=CMB Steel Axe -item.cmb_shovel.name=CMB Steel Shovel -item.cmb_hoe.name=CMB Steel Hoe -item.elec_sword.name=Stunstick -item.elec_pickaxe.name=Impact Drill -item.elec_axe.name=Electric Chainsaw -item.elec_shovel.name=Spiral Drill - -tile.red_cable.name=Red Copper Cable -tile.block_meteor.name=Meteor Block - -item.cape_radiation.name=Cape (Radiation) -item.cape_gasmask.name=Cape (Gas Mask) -item.cape_schrabidium.name=Cape (Schrabidic) -item.cape_hbm.name=Hbm's Cape -item.cape_dafnik.name=Dafnik's Cape -item.cape_lpkukin.name=LPkukin's Cape -item.cape_vertice.name=Lord Vertice's Cape - -tile.machine_converter_he_rf.name=HE to RF Converter -tile.machine_converter_rf_he.name=RF to HE Converter - -item.schrabidium_hammer.name=Schrabidium Hammer -item.euphemium_stopper.name=Stopper -item.matchstick.name=Matchstick -item.remote.name=Broken Remote - -item.redcoil_capacitor.name=Redcoil Capacitor -item.detonator.name=Detonator -item.crate_caller.name=Supply Drop Requester - -item.ingot_hes.name=Highly Enriched Schrabidium Fuel Ingot -item.ingot_les.name=Low Enriched Schrabidium Fuel Ingot -item.nugget_hes.name=Highly Enriched Schrabidium Fuel Nugget -item.nugget_les.name=Low Enriched Schrabidium Fuel Nugget - -item.pellet_schrabidium.name=Pure Schrabidium Watz Pellet -item.pellet_hes.name=HES Watz Pellet -item.pellet_mes.name=MES Watz Pellet -item.pellet_les.name=LES Watz Pellet -item.pellet_beryllium.name=Beryllium Moderator Pellet -item.pellet_neptunium.name=Neptunium Watz Pellet -item.pellet_lead.name=Lead Reflector Pellet -item.pellet_advanced.name=Advanced Watz Performance Improver - -item.titanium_filter.name=Titanium Filter - -tile.mud_block.name=Poisonous Mud -fluid.mud_fluid=Poisonous Mud -item.bucket_mud.name=Bucket of Poisonous Mud -tile.acid_block.name=Acid -fluid.acid_fluid=Acid -item.bucket_acid.name=Bucket of Acid -tile.toxic_block.name=Stereotypical Green Ooze -fluid.toxic_fluid=Stereotypical Green Ooze -item.bucket_toxic.name=Bucket of Stereotypical Green Ooze -item.tank_waste_0.name=Mud Container -item.tank_waste_1.name=Mud Container -item.tank_waste_2.name=Mud Container -item.tank_waste_3.name=Mud Container -item.tank_waste_4.name=Mud Container -item.tank_waste_5.name=Mud Container -item.tank_waste_6.name=Mud Container -item.tank_waste_7.name=Mud Container -item.tank_waste_8.name=Mud Container - -item.can_empty.name=Empty Can -item.can_smart.name='Smart' Energy Drink -item.can_creature.name='Creature' Energy Drink -item.can_redbomb.name='Red Bomb' Energy Drink -item.can_mrsugar.name='Dr. Sugar' Soft Drink -item.can_overcharge.name=Overcharge Delirium XT -item.bottle_empty.name=Empty Bomb-Shaped Bottle -item.bottle_nuka.name=Bottle of Nuka Cola -item.bottle_cherry.name=Bottle of Nuka Cherry -item.bottle_quantum.name=Bottle of Nuka Cola Quantum -item.bottle2_empty.name=Empty Bottle -item.bottle2_korl.name=Korl -item.bottle2_fritz.name=Fritz Cola -item.bottle2_korl_special.name=The First Korl -item.bottle2_fritz_special.name=The First Fritz Cola -item.chocolate_milk.name=Chocolate Milk -item.cap_nuka.name=Nuka Cola Bottle Cap -item.cap_quantum.name=Nuka Cola Quantum Bottle Cap -item.cap_korl.name=Korl Bottle Cap -item.cap_fritz.name=Fritz Cola Bottle Cap -item.ring_pull.name=Ring Pull - -item.bottle_opener.name=Hbm's Own Self-Made Bottle Opener - -item.blades_aluminium.name=Aluminium Shredder Blades -item.blades_gold.name=Golden Shredder Blades -item.blades_iron.name=Iron Shredder Blades -item.blades_steel.name=Steel Shredder Blades -item.blades_titanium.name=Titanium Shredder Blades -item.blades_advanced_alloy.name=Advanced Shredder Blades -item.blades_combine_steel.name=CMB Shredder Blades -item.blades_schrabidium.name=Schrabidium Shredder Blades - -item.part_lithium.name=Box of Lithium Dust -item.part_beryllium.name=Box of Beryllium Dust -item.part_carbon.name=Box of Carbon Dust -item.part_copper.name=Box of Copper Dust -item.part_plutonium.name=Box of Plutonium Dust - -item.crystal_energy.name=Energy Crystal -item.pellet_coolant.name=Coolant Cluster - -item.linker.name=Telelinker -item.oil_detector.name=Oil Reservoir Detector - -item.thermo_element.name=Thermoelectric Element -item.limiter.name=Generator Limiter - -item.multitool_dig.name=Power Fist (Digging Claw) -item.multitool_silk.name=Power Fist (Silk Touch Claw) -item.multitool_ext.name=Power Fist (Ore Extracter) -item.multitool_miner.name=Power Fist (Extracting Mining Laser) -item.multitool_hit.name=Power Fist (Fist) -item.multitool_beam.name=Power Fist (Zapper) -item.multitool_sky.name=Power Fist (Crack the Sky) -item.multitool_mega.name=Power Fist (Super Punch) -item.multitool_joule.name=Power Fist (Giga Joule) -item.multitool_decon.name=Power Fist (Decontaminator) - -item.australium_iii.name=Mark III Life Extender -item.australium_iv.name=Mark IV Life Extender -item.australium_v.name=Mark V Life Extender - -item.weapon_saw.name=Doctor Assisted Homicide -item.weapon_bat.name=Richard's Default -item.weapon_bat_nail.name=The Cliché -item.weapon_golf_club.name=Russian Mobster's Club -item.weapon_pipe_rusty.name=The Attitude Adjuster -item.weapon_pipe_lead.name=The Manual Override -item.reer_graar.name=The Reer Graar - -item.letter.name=Express Mail -item.polaroid.name=The Polaroid -item.book_secret.name=3-596-50802-9 - -item.crystal_horn.name=Crystal Horn -item.crystal_charred.name=Charred Crystal -item.ingot_lanthanium.name=Semi-Stable Lanthanium Ingot -item.ingot_actinium.name=Semi-Stable Actinium Ingot - -tile.dummy_block.name=Dummy Block -tile.dummy_port.name=Dummy Block (Electricity Port) - -item.chopper.name=Hunter Chopper - -item.nothing.name=Nothing - -tile.crystal_virus.name=Dark Crystal -tile.crystal_hardened.name=Hardened Dark Crystal -tile.crystal_pulsar.name=Pulsating Crystal - -tile.cheater_virus.name=Gelid Euphemium -tile.cheater_virus_seed.name=Unstable Euphemium Schrabide Block diff --git a/src/main/resources/assets/hbm/lang/pl_PL.lang b/src/main/resources/assets/hbm/lang/pl_PL.lang index 1307d0b8b..9ff1a89d8 100644 --- a/src/main/resources/assets/hbm/lang/pl_PL.lang +++ b/src/main/resources/assets/hbm/lang/pl_PL.lang @@ -1991,8 +1991,8 @@ item.canned_beef.name=Canned Beef item.canned_beef.desc=A few centuries ago, a cow died for this. item.canned_bhole.name=Canned Black Hole item.canned_bhole.desc=Singularity is yum yum in my tum tum! -item.canned_cheese.name=Canned Melted Cheese -item.canned_cheese.desc=Is it cheese? Is it rubber cement? Who knows, who cares. +item.canned_cheese.name=Topiony Ser w Puszce +item.canned_cheese.desc=Czy to ser? Czy gumowy cement? Kto wie, kogo to obchodzi. item.canned_chinese.name=Canned Chinese Food item.canned_chinese.desc=In China, Chinese food is just called food. item.canned_diesel.name=Canned Diesel @@ -2011,8 +2011,8 @@ item.canned_leftovers.name=Leftover Conserve item.canned_leftovers.desc=ur 2 slow item.canned_milk.name=Canned Evaporated Milk item.canned_milk.desc=Milk 2: More solid than ever before! -item.canned_mystery.name=Canned Mystery Meat -item.canned_mystery.desc=What's inside? Only one way to find out! +item.canned_mystery.name=Tajemnicze mięso w puszcze +item.canned_mystery.desc=Co jest w środku? Jest tylko jeden sposób, aby się dowiedzieć! item.canned_napalm.name=Canned Napalm item.canned_napalm.desc=I love the smell of old memes in the morning! item.canned_oil.name=Canned Engine Oil @@ -2031,8 +2031,8 @@ item.canned_tomato.name=Canned Tomato Soup item.canned_tomato.desc=Who wants some thick red paste? item.canned_tube.name=Astronaut Food Tube item.canned_tube.desc=Tasty mush. -item.canned_tuna.name=Canned Tuna -item.canned_tuna.desc=I can't tell if that's actually tuna or dried cement. +item.canned_tuna.name=Tuńczyk w puszce +item.canned_tuna.desc=Nie wiem, czy to tuńczyk, czy wysuszony cement. item.canned_yogurt.name=Canned Yogurt item.canned_yogurt.desc=Probably spoiled, but whatever. item.canteen_13.name=Vault 13 Canteen @@ -3203,7 +3203,7 @@ item.nugget_daffergon.name=Daffergon Nugget item.nugget_desh.name=Desh Nugget item.nugget_dineutronium.name=Dineutronium Nugget item.nugget_euphemium.name=Euphemium Nugget -item.nugget_euphemium.desc=A small piece of a pink metal.$It's properties are still unknown,$DEAL WITH IT carefully. +item.nugget_euphemium.desc=A small piece of a pink metal.$Its properties are still unknown,$DEAL WITH IT carefully. item.nugget_gh336.name=Ghiorsium-336 Nugget item.nugget_gh336.desc=Seaborgium's colleague. item.nugget_hes.name=Highly Enriched Schrabidium Fuel Nugget @@ -4012,21 +4012,21 @@ item.steel_boots.name=Steel Boots item.steel_helmet.name=Steel Helmet item.steel_hoe.name=Steel Hoe item.steel_legs.name=Steel Leggings -item.steel_pickaxe.name=Steel Pickaxe -item.steel_plate.name=Steel Chestplate +item.steel_pickaxe.name=Stalowy Kilof +item.steel_plate.name=Stalowy Napierśnik item.steel_shovel.name=Steel Shovel -item.steel_sword.name=Steel Sword +item.steel_sword.name=Stalowy Miecz item.stick_c4.name=Stick of C-4 item.stick_dynamite.name=Stick of Dynamite item.stick_dynamite_fishing.name=Stick of Fishing Dynamite item.stick_semtex.name=Stick of Semtex item.stick_tnt.name=Stick of TNT item.stopsign.name=Stop Sign Battle Axe -item.sulfur.name=Sulfur +item.sulfur.name=Siarka item.survey_scanner.name=Survey Scanner item.syringe_antidote.name=Antidote -item.syringe_awesome.name=AWESOME -item.syringe_empty.name=Empty Syringe +item.syringe_awesome.name=ZNAKOMITY +item.syringe_empty.name=Pusta Strzykawka item.syringe_metal_empty.name=Metal Syringe item.syringe_metal_medx.name=Med-X item.syringe_metal_psycho.name=Psycho @@ -4178,7 +4178,7 @@ item.waste_u233.name=Depleted Uranium-233 Fuel item.waste_uranium.name=Depleted Uranium Fuel item.waste_zfb_mox.name=Depleted ZFB MOX Fuel item.watch.name=Broken Pocket Watch -item.watch.desc=A small blue pocket watch.$It's glass has a few cracks in it, $and some shards are missing.$It stopped ticking at 2:34. +item.watch.desc=A small blue pocket watch.$Its glass has a few cracks in it, $and some shards are missing.$It stopped ticking at 2:34. item.watz_pellet.boron.name=Boron Absorber Pellet item.watz_pellet.du.name=Depleted Uranium Absorber Pellet item.watz_pellet.hes.name=HES Watz Pellet @@ -4720,6 +4720,9 @@ tile.factory_titanium_furnace.name=Basic Factory Access Hatch tile.factory_titanium_hull.name=Factory Block tile.fallout.name=Fallout tile.fan.name=Fan +tile.fan.desc=Activates using redstone$Will push entities up to 10 blocks$Right-click with screwdriver to flip$Right-click with hand drill to switch mode +tile.fan.falloffOn=Fan power decreases with distance +tile.fan.falloffOff=Consistent fan power tile.fence_metal.name=Chainlink Fence tile.field_disturber.name=High Energy Field Jammer tile.filing_cabinet.green.name=Dusty Filing Cabinet @@ -4856,6 +4859,7 @@ tile.ladder_steel.name=Steel Ladder tile.ladder_sturdy.name=Sturdy Wooden Ladder tile.ladder_titanium.name=Titanium Ladder tile.ladder_tungsten.name=Tungsten Ladder +tile.trapdoor_steel.name=Steel Trapdoor tile.lamp_demon.name=Demon Core Lamp tile.lamp_tritium_blue_off.name=Blue Tritium Lamp tile.lamp_tritium_blue_on.name=Blue Tritium Lamp @@ -4873,6 +4877,7 @@ tile.machine_assembler.name=Assembly Machine tile.machine_assemfac.name=Assembly Factory tile.machine_autocrafter.name=Automatic Crafting Table tile.machine_autosaw.name=Automatic Buzz Saw +tile.machine_autosaw.suspended=Suspended tile.machine_bat9000.name=Big-Ass Tank 9000 tile.machine_battery.name=Energy Storage Block tile.machine_battery_potato.name=Potato Battery Block @@ -5337,7 +5342,7 @@ tile.watz_pump.name=Watz Pressure Pump tile.yellow_barrel.name=Radioactive Barrel tile.zirnox_destroyed.name=Destroyed ZINROX -trait.asbestos=Asbestos +trait.asbestos=Azbestos trait.blinding=Blinding trait.coal=Coal Dust trait.digamma=Digamma Radiation @@ -5395,6 +5400,7 @@ tool.ability.centrifuge=Auto-Centrifuge tool.ability.crystallizer=Auto-Crystallizer tool.ability.explosion=Explosion tool.ability.hammer=AoE +tool.ability.hammer_flat=Flat AoE tool.ability.luck=Fortune tool.ability.mercury=Mercury Touch tool.ability.midas=Midas Touch @@ -5441,4 +5447,4 @@ weapon.elecGun.glass_cannon.ir=Infrared weapon.elecGun.glass_cannon.visible=Visible Light weapon.elecGun.glass_cannon.uv=Ultraviolet Light weapon.elecGun.glass_cannon.xray=X-rays -weapon.elecGun.glass_cannon.gamma=Gamma rays \ No newline at end of file +weapon.elecGun.glass_cannon.gamma=Gamma rays diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index eb07399b6..8e468434f 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -1,111 +1,33 @@ -itemGroup.tabTest=Тестовая вкладка NTM -itemGroup.tabParts=Ресурсы и детали NTM -itemGroup.tabControl=Топливо и элементы механизмов NTM -itemGroup.tabTemplate=Шаблоны NTM -itemGroup.tabBlocks=Руды и блоки NTM -itemGroup.tabMachine=Механизмы NTM -itemGroup.tabNuke=Бомбы NTM -itemGroup.tabMissile=Ракеты и спутники NTM -itemGroup.tabWeapon=Оружие и турели NTM -itemGroup.tabConsumable=Расходные материалы и снаряжение NTM -soundCategory.ntmMachines=Механизмы NTM - achievement.acidizer.desc=уфф ай моя кожа achievement.acidizer=Кислюка -achievement.assembly.desc=Подожди-ка, уже час утра? +achievement.assembly.desc=Погоди-ка, уже час ночи? achievement.assembly=Завод расширяется -achievement.sacrifice=Жертва -achievement.sacrifice.desc=Встреться лицом к лицу с огнём и выживи. -achievement.impossible=Буквально невозможно -achievement.impossible.desc=Ты не можешь получить это достижение. -achievement.tasteofblood=Вкус крови -achievement.tasteofblood.desc=Это не было частью протокола тестирования. -achievement.freytag=Фрейтаг -achievement.freytag.desc=Стражи жизни Герольда. -achievement.selenium=XVIII Луна. -achievement.selenium.desc=О,да! -achievement.potato=Восстание машин -achievement.potato.desc=Можешь убить для меня эту птицу? -achievement.c44=Глава 44 -achievement.c44.desc=Гальванизирован! Типа, цинк! -achievement.c20_5=Глава [ДВАДЦАТЬ_С_ПОЛОВИНОЙ] -achievement.c20_5.desc=??? -achievement.space=Последний Рубеж... Хотя ладно, забей. -achievement.space.desc=Провались как только можно и потрать 90 миллионов долларов впустую. -achievement.FOEQ=Бункеры с пегасами и ракетами achievement.FOEQ.desc=Отправь передатчик на орбиту Марса... в смысле Дюны. -achievement.fiend=Нарушитель -achievement.fiend.desc=Будь жестоким. -achievement.fiend2=Нарушитель-2: перенарушение. -achievement.fiend2.desc=Будь жёстче. -achievement.soyuz=Печёная Картошка -achievement.soyuz.desc=Станьте хрустящим. -achievement.radPoison=Ура, Радиация! -achievement.radPoison.desc=Испытайте последствия радиационного отравления. -achievement.radDeath=Ой, Радиация! -achievement.radDeath.desc=Мария Кюри изобрела теорию радиоактивности, лечение радиоактивности и умирание от радиоактивности. -achievement.hidden=Скрытый Каталог -achievement.hidden.desc=Убейте зараженного крипера падающим товарным вагоном -achievement.horizonsStart=Апогей -achievement.horizonsStart.desc=Отправьте Геральда на луну. -achievement.horizonsEnd=Горизонты -achievement.horizonsEnd.desc=Отправьте Тома домой. -achievement.horizonsBonus=Слэм-данк диарея -achievement.horizonsBonus.desc=Честное слово, что, черт возьми, с тобой не так -achievement.stratum.desc=Жми на тормоза, Миттс. -achievement.stratum=Пласт -achievement.meltdown.desc=Ты зашел так далеко, как ты мог все испортить? -achievement.meltdown=Быстрая внеплановая разборка -achievement.omega12.desc=Решите проблему продолжения жизни на этой несчастной планете. -achievement.omega12=Ускоритель частиц Омега-12 -achievement.bossCreeper.desc='Вот это ядерные криперы? Эта штуковина?!' -achievement.bossCreeper=Бомба на четырёх ногах -achievement.bossMaskman.desc=Врезать большому мальчику. -achievement.bossMaskman=6 месяцев обязательной службы, и все, что я получил, - это паршивая футболка -achievement.bossMeltdown.desc=Скорее ужасно, чем отлично, но я приму то, что могу получить. -achievement.bossMeltdown=3.6 рентген -achievement.bossWorm.desc=Фабстафф. Моя задница. А ты считай. -achievement.bossWorm=Разборка Баллс-О-Трон -achievement.digammaFeel.desc=пустота внутри. -achievement.digammaFeel=Страх чувства -achievement.digammaKnow.desc=что такое этот мир. -achievement.digammaKnow=Страх познания -achievement.digammaSee.desc=в бездну. -achievement.digammaSee=Страх видения -achievement.digammaKauaiMoho.desc=Все ужасно, вот тебе горячий шоколад. -achievement.digammaKauaiMoho=Пой, пой мне песню Кауаи Мохо. -achievement.digammaUpOnTop.desc=Дредноут, облицованный железом. -achievement.digammaUpOnTop=На вершине -achievement.bossUFO.desc=Эй, что у нас тут? Огромный космический корабль, приближающийся к блок-кораблю? -achievement.bossUFO=Ayy Lmao -achievement.radium.desc=ТЫ УВОЛЕН ЗА ТО, ЧТО ПОДСЫПАЛ РАДИЙ В МОЙ КОФЕ! -achievement.radium=МИСТЕР НЕВЕРОЯТНЫЙ -achievement.someWounds.desc=Приготовься -achievement.someWounds=Некоторые раны никогда не заживают -achievement.psycheAbyss.desc=§c"Нужно сначала упасть, прежде чем подняться!"§r -achievement.psycheAbyss=§cБездна§r -achievement.psycheEgo.desc="Требуется храбрость, не следует бояться самых глубоких пуль. Фосфора, напалма, бояться нечего..." -achievement.psycheEgo=Эго -achievement.psycheHeartOfDarkness.desc="Я увидел непостижимую тайну души, которая не знала ни сдержанности, ни веры, ни страха, но все же слепо боролась с собой" -achievement.psycheHeartOfDarkness=Сердце тьмы -achievement.psycheId.desc="...и сказать: 'Да, я принимаю тебя, я даже люблю тебя, потому что ты - часть меня, ты - продолжение меня'" -achievement.psycheId=Идентификатор -achievement.psycheShadow.desc="Куда делись сердца всех?" -achievement.psycheShadow=Тень -achievement.psycheSuperego.desc="...Но заглянуть внутрь, чтобы увидеть тот извращенный разум, который лежит под поверхностью всех людей..." -achievement.psycheSuperego=Суперэго -achievement.warpDrive.desc="Мне нравится мечтать, да" -achievement.warpDrive=Полёт на ковре-самолёте +achievement.FOEQ=Бункеры с пегасами и ракетами achievement.breeding.desc=Благодарю вас, да благословит вас Бог, и да благословит бог Соединенные Штаты Америки. achievement.breeding=Иронично achievement.bismuth.desc=Помните, как люди спорили об этом месяц? Я помню. achievement.bismuth=Висмут achievement.blastFurnace.desc=Они разобрали затонувший дредноут для "Эксплорера-1". achievement.blastFurnace=Железо и уголь +achievement.bossCreeper.desc='Здесь есть ядерные криперы? Они существуют?!' +achievement.bossCreeper=Бомба на четырёх ногах +achievement.bossMaskman.desc=Врезать большому мальчику. +achievement.bossMeltdown.desc=Скорее ужасно, чем отлично, но я приму то, что могу получить. +achievement.bossMaskman=6 месяцев срочной службы, и все что я получил это паршивая футболка +achievement.bossMeltdown=3.6 рентген +achievement.bossWorm.desc=Фабстафф. Моя задница. А ты считай. +achievement.bossWorm=Разборка Баллс-О-Трон +achievement.bossUFO.desc=Эй, что у нас тут? Огромный космический корабль, приближающийся к блок-кораблю? +achievement.bossUFO=Ayy Lmao achievement.burnerPress.desc=Давление давит и на меня, и на тебя achievement.burnerPress=Под давлением +achievement.c20_5.desc=??? +achievement.c20_5=Глава [ДВАДЦАТЬ_С_ПОЛОВИНОЙ] +achievement.c44.desc=Гальванизирован! То есть цинк! +achievement.c44=Глава 44 achievement.centrifuge.desc=центробежная сила это фейк не @ меня -achievement.centrifuge=Центростремительная сила +achievement.centrifuge=Центробежная сила achievement.chemplant.desc=Теперь ты думаешь химикатами! achievement.chemplant=Завод расширяется: Часть 2 achievement.chicagoPile.desc="Как там местные жители?" / "Очень дружелюбные". @@ -114,206 +36,100 @@ achievement.concrete.desc=Любимчик большевиков. achievement.concrete=Старый добрый achievement.desh.desc="Тогда давайте, вы все. Места, куда можно пойти!" achievement.desh=Леверье +achievement.digammaFeel.desc=Мои глаза кровоточат +achievement.digammaFeel=Мусорный мир наполненный канализациями +achievement.digammaKauaiMoho.desc=Все ужасно, вот тебе горячий шоколад. +achievement.digammaKauaiMoho=Пой, пой мне песню Кауаи Мохо +achievement.digammaKnow.desc=о чем вообще этот мир. +achievement.digammaKnow=СТРАХ ПОЗНАНИЯ +achievement.digammaSee.desc=Темновато, принеси фонарик. +achievement.digammaSee=СПУСТИСЬ В БЕЗДНУ +achievement.digammaUpOnTop.desc=Восхищайся сыном моим, он мой клон. +achievement.digammaUpOnTop=ВОСХИЩАЙСЯ МНОЮ, ВОСХИЩАЙСЯ ДОМОМ МОИМ +achievement.fiend.desc=Будь жестоким. +achievement.fiend2.desc=Будь еще жёстче. +achievement.fiend2=Нарушитель-2: перенарушение. +achievement.fiend=Нарушитель +achievement.freytag.desc=Стражи жизни Герольда. +achievement.freytag=Фрейтаг achievement.fusion.desc=Танец дейтронов, тритонов и энергии. achievement.fusion=Синтез achievement.gasCent.desc=Необогащенный уран ненавидит его! achievement.gasCent=Стиль Молнии +achievement.goFish.desc=Морское распятие +achievement.goFish=Иди порыбачь +achievement.hidden.desc=Убейте зараженного крипера падающим товарным вагоном +achievement.hidden=Скрытый Каталог +achievement.horizonsBonus.desc=честное слово что черт возьми с тобой не так +achievement.horizonsBonus=Слэм-данк диарея +achievement.horizonsEnd.desc=Отправьте Тома домой. +achievement.horizonsEnd=Горизонты +achievement.horizonsStart.desc=Отправьте Геральда на луну. +achievement.horizonsStart=Апогей +achievement.impossible.desc=Ты не можешь получить это достижение. +achievement.impossible=Буквально невозможно +achievement.inferno.desc="Превратите его в пепел! Этого недостаточно! Сбросьте еще бомбы!" +achievement.inferno=Операция "Каннибал" achievement.manhattan.desc=8:15; 6 августа, 1945 год achievement.manhattan=Проект Манхэттен -achievement.polymer.desc=Восхитительный, восхитительный микропластик. +achievement.meltdown.desc=Ты зашел так далеко, как ты мог все испортить? +achievement.meltdown=Быстрая внеплановая разборка +achievement.no9.desc="Я надеюсь, что свинец, который я добываю, будет использован в вашей краске" +achievement.no9=Старый номер Девять +achievement.omega12.desc=Решите проблему продолжения жизни на этой несчастной планете. +achievement.omega12=Ускоритель частиц Омега-12 +achievement.polymer.desc=Вкуснейший, вкуснейший микропластик. achievement.polymer=Тефлон +achievement.potato.desc=Ты меня пырнул! Что НЕ ТАК с тобо-ОАААХХ +achievement.potato=Восстание машин +achievement.radDeath.desc=Мария Кюри изобрела теорию радиоактивности, лечение радиоактивности и умирание от радиоактивности. +achievement.radDeath=Ай, Радиация! +achievement.radium.desc=ТЫ УВОЛЕН ЗА ТО, ЧТО ПОДСЫПАЛ РАДИЙ В МОЙ КОФЕ! +achievement.radium=МИСТЕР НЕВЕРОЯТНЫЙ +achievement.radPoison.desc=Испытайте последствия радиационного отравления. +achievement.radPoison=Ура, Радиация! achievement.RBMKBoom.desc=Какова цена лжи? achievement.RBMKBoom=15,000. achievement.RBMK.desc=Он бредит, отведите его в лазарет. achievement.RBMK=3.6 Рентген? achievement.redBalloons.desc="Это то, чего мы ждали. Вот она, ребята, война." -achievement.redBalloons=99 воздушных шариков +achievement.redBalloons=99 красных шариков +achievement.redRoom.desc=? +achievement.redRoom=Другая сторона +achievement.sacrifice.desc=Узри пламя и выживи. +achievement.sacrifice=Жертва achievement.schrab.desc=Как бы то ни было, я бы не стал смотреть на это слишком долго. achievement.schrab=Остров стабильности +achievement.selenium.desc=Ага. +achievement.selenium=XVIII Луна. achievement.SILEX.desc=Это круче, чем кажется, я обещаю. achievement.SILEX=Лазерное разделение изотопов +achievement.slimeball.desc= +achievement.slimeball=Я должен окунуть свои яйца в серную кислоту. +achievement.stratum.desc=Жми на тормоза, Миттс. +achievement.stratum=Пласт +achievement.someWounds.desc=Приготовься +achievement.someWounds=Некоторые раны никогда не заживают +achievement.soyuz.desc=Станьте хрустящим. +achievement.soyuz=Печёная Картошка +achievement.space.desc=Провались как только можно и потрать 90 миллионов долларов впустую. +achievement.space=Последний Рубеж... Хотя ладно, забей. +achievement.sulfuric.desc= +achievement.sulfuric=Я не должен был окунать свои яйца в серную кислоту. achievement.tantalum.desc=Неуловимый, но всегда необходимый элемент. achievement.tantalum="Тантал" +achievement.tasteofblood.desc=Это не было частью какого-либо протокола тестирования. +achievement.tasteofblood=Вкус крови achievement.technetium.desc=Это целебно, это целебно! achievement.technetium=Большой Человек, Человек-Свинья achievement.watzBoom.desc=В следующий раз осушите свой септик. achievement.watzBoom=Отвратительно achievement.watz.desc=Поля Фолквангра также присутствуют achievement.watz=Сила Е-126 -achievement.ZIRNOXBoom.desc=cope, seethe, mald -achievement.ZIRNOXBoom=ЦИРНОКС -achievement.slimeball.desc= -achievement.slimeball=я должен окунуть свои яйца в серную кислоту. -achievement.sulfuric.desc= -achievement.sulfuric=я не должен был окунать свои яйца в серную кислоту. achievement.witchtaunter.desc=Эти твари ничего тебе не сделают! achievement.witchtaunter=Насмехайтесь над ведьмами -achievement.inferno.desc="Превратите его в пепел! Этого недостаточно! Сбросьте еще бомбы!" -achievement.inferno=Операция "Каннибал" -achievement.no9.desc="Я надеюсь, что свинец, который я добываю, будет использован в вашей краске" -achievement.no9=Старый номер Девять -achievement.goFish.desc=Морское распятие -achievement.goFish=Иди порыбачь -achievement.redRoom.desc=? -achievement.redRoom=Другая сторона - -cannery.f1=[ Нажмите f1 для справки ] - -cannery.centrifuge=Газовая цетрифуга -cannery.centrifuge.0=В газовые центрифуги можно подать жидкость обычными жидкостными трубами. -cannery.centrifuge.1=Большинство рецептов требуют несколько центрифуг. Промежуточные продукты нельзя передать по трубам. -cannery.centrifuge.2=Из этой стороны промежуточный продукт идёт в следующую центрифугу. -cannery.centrifuge.3=Гексафторид урана можно обрабатывать двумя центрифугами, но вы получите только U-238 и урановое топливо. -cannery.centrifuge.4=Для его разделения на уран-235 и уран-238 вам понадобится 4 центрифуги. -cannery.centrifuge.5=Некоторые рецепты требуют улучшение "Разгон газовой центрифуги". - -cannery.fensu=ЭМЭХ -cannery.fensu.0=ЭМЭХ может хранить абсурдные количества энергии – 9 экза-HE(9 с 18 нулями). -cannery.fensu.1=Единственное место для подключения к сети находится снизу. -cannery.fensu.2=Оттуда же ЭМЭХ принимает редстоун-сигнал. - -cannery.firebox=Топка -cannery.firebox.0=Топка сжигает топливо для печи, создавая тепло. -cannery.firebox.1=Она может сжечь любое топливо для печи, но топливо более высокого качества, вроде угля, кокса или твёрдого топлива, будет гореть дольше и лучше. -cannery.firebox.2=Тепло передаётся через контакт сверху. Машины с таким же контактом снизу будут принимать это тепло, если поставить их на топку. -cannery.firebox.3=Если тепло не используется, а буфер тепла полон, топка отключится, чтобы не тратить топливо. -cannery.firebox.4=Одна машина, принимающая тепло–двигатель Стерлинга, превращающий его в электричество. - -cannery.silex=Лазер на свободных электронах и камера лазерного разделения изотопов -cannery.silex.0=Лазер на свободных электронах (FEL) создаёт мощный лазерный луч с помощью лазерного кристалла и энергии. -cannery.silex.1=Будьте осторожны! Лазер прожигает слабые блоки насквозь... -cannery.silex.2=...однако, взрывоустойчивые блоки этому не подвержены. -cannery.silex.3=FEL предназначен для питания камеры лазерного разделения изотопов (SILEX). FEL и SILEX должны быть на расстоянии хотя бы 2 блоков. -cannery.silex.4=Лазер должен проходить через стеклянные проёмы на SILEX. При неправильном выборе направления он просто сломается. -cannery.silex.5=Через разъёмы по бокам в SILEX можно подавать жидкости. -cannery.silex.6=Ещё один скрытый разъём находится снизу; из него можно вынимать предметы. -cannery.silex.7=Каждый рецепт требует определённого кристалла. Если кристалл лучше нужного, процесс ускорится. -cannery.silex.8=Одна FEL может питать до 5 SILEX. SILEX нужно ставить минимум в одном блоке друг от друга. - -cannery.stirling=Двигатель Стерлинга -cannery.stirling.0=Двигатель Стерлинга создаёт энергию с помощью внешних источников тепла. -cannery.stirling.1=Он ставится на машины, создающие тепло – например, топку. -cannery.stirling.2=Однако, количество тепла, которое он может принять, ограничено. Если тепла будет слишком много, двигатель сломается. -cannery.stirling.3=Улучшенный вариант может выдержать намного больше тепла. - -cannery.crucible=Crucible -cannery.crucible.0=The crucible is used to smelt ores, ingots or other metallic items for alloying and to cast them into different shapes. -cannery.crucible.1=It requires an external heat source connected to the bottom, like a firebox. -cannery.crucible.2=Once heated up, the crucible can be used in two ways, with or without a recipe template. -cannery.crucible.3=The crucible has two storage buffers for material: -cannery.crucible.4=The buffer to the left is for §abyproducts§r, all material smelted without a recipe template will land here. -cannery.crucible.5=If a recipe is installed, materials that do not match the recipe will also be stored here. -cannery.crucible.6=Materials in this buffer will not react with each other, they can only be output from the green outlet for casting. -cannery.crucible.7=The buffer to the right is for §crecipes§r, if a recipe is installed and that particular material is relevant to that recipe, it will land here. -cannery.crucible.8=The materials will slowly combine into the output material which is automatically output from the red outlet. -cannery.crucible.9=Note that only this buffer handles recipes. If a template is installed retroactively, materials in the byproduct buffer will not combine, nor transfer to the recipe buffer. -cannery.crucible.10=The outlet will output material automatically, if the target is valid, for example a foundry channel or a mold. -cannery.crucible.11=As with all foundry blocks, a shovel can be used to remove all material from the crucible. - -cannery.foundryChannel=Foundry Channel -cannery.foundryChannel.0=Foundry channels are used to transport molten material from a crucible or storage tank into molds. -cannery.foundryChannel.1=Channels can receive material either by pouring from the top - via an outlet or directly form a crucible - or from the side from other channels. -cannery.foundryChannel.2=When transporting materials, channels will prioritize blocks like outlets and shallow molds. -cannery.foundryChannel.3=When it cannot supply an outlet or a mold, the material will then flow into a neighboring channel. -cannery.foundryChannel.4=Leftover material can be removed by using a shovel. - -cannery.willow=Горчичная ива -cannery.willow.0=Горчичная ива - это растение, которое позволяет собирать металлический кадмий. -cannery.willow.1=Ивы можно сажать на землю, траву или даже мертвую/нефтянную землю, но для роста им требуется вода. -cannery.willow.2=Ивы можно удобрять костной мукой или промышленным удобрением. Им не нужен свет, чтобы расти. -cannery.willow.3=После второго этапа роста им понадобится дополнительный блок пространства над ними, чтобы расти дальше. -cannery.willow.4=После четвертой стадии роста им требуется мертвая или нефтянная земля под ними. -cannery.willow.5=Это можно сделать либо вручную посадив ивы на мертвую/нефтянную землю, либо установив поблизости башню гидроразрыва, которая постоянно загрязняет почву. -cannery.willow.6=После достижения заключительной стадии ива удалит загрязнения с земли, превращая мертвую/нефтянную землю обратно в обычную. -cannery.willow.7=Теперь листья ивы можно собирать. Сломав верхний блок, вы уроните небольшое ивовое растение с 3-6 листьями и сохраните нижнюю часть растения неповрежденной. -cannery.willow.8=Вскоре растение снова начнет расти, давая больше листьев, если землю заменить на нефтянную. Листья могут быть переработаны в порошок кадмия с помощью рудного окислителя. -cannery.willow.9=Сбор ивовых листьев можно автоматизировать с помощью автоматической бензопилы, она будет ломать только те растения, которые готовы к сбору урожая. - -cannery.hadron=Ускоритель частиц -cannery.hadron.0=Ускоритель частиц состоит из трех основных частей: Ядро, Камера анализа и набор сверхпроводящих катушек. -cannery.hadron.1=Это компонент ядра ускорителя частиц, который выстреливает частицы с релятивистскими скоростями по катушкам в сторону аналитической камеры -cannery.hadron.2=Частицы выбрасываются отсюда -cannery.hadron.3=И в круговых ускорителях возвращаются сюда -cannery.hadron.4=Сегмент катушки строится с помощью 8 плотных катушек, в середине которых ничего нет (или ядро) -cannery.hadron.5=Этот сегмент катушки также должен быть заключен в обшивку ускорителя частиц -cannery.hadron.6=Для доступа к компоненту ядра вам потребуется добавить один или несколько терминалов доступа -cannery.hadron.7=Для работы основного компонента также потребуется питание, добавьте порт питания на одной из граней -cannery.hadron.8=Ускорителю потребуется достаточное количество портов питания, чтобы обеспечить по крайней мере 10KHE электроэнергии на единицу силы катушки -cannery.hadron.9=Обратите внимание, что сегмент катушки, который оборачивается вокруг ядра, не учитывается при расчете силы катушки -cannery.hadron.10=Для чисто линейных ускорителей этот сегмент катушки также не требуется -cannery.hadron.11=Для круговых ускорителей необходимо добавить углы для изменения направления частицы -cannery.hadron.12=Внешние угловые катушки можно совсем не добавлять -cannery.hadron.13=Последняя часть нашего ускорителя - камера анализа, которая представляет собой пустую камеру 3x3x3, окруженную блоками камеры анализа -cannery.hadron.14=Ваш готовый ускоритель частиц должен выглядеть примерно так! - -cannery.hadron.math.0=Сила неодимовой катушки: 50 -cannery.hadron.math.1=50 x 8 x 10KHE = 400 x 10KHE = 4MHE -cannery.hadron.math.2=Сила звёзднометаллической катушки: 1,000 -cannery.hadron.math.3=1,000 x 8 x 10KHE = 8,000 x 10KHE = 80MHE - -cannery.schottky=Диод с частицами Шоттки -cannery.schottky.0=Это диод Шоттки для частиц. Он позволяет создавать более сложные конструкции ускорителей частиц и экономить электроэнергию -cannery.schottky.1=По умолчанию он блокирует все частицы и должен быть настроен с помощью отвертки -cannery.schottky.2=Эта сторона теперь будет принимать входящие частицы -cannery.schottky.3=А эта будет выбрасывать входящие частицы -cannery.schottky.4=Диод теперь имеет два выхода и будет вести себя квантовым образом, создавая виртуальные частицы для каждого выхода -cannery.schottky.5=Когда все виртуальные частицы достигнут аналитической камеры, будет выбрана частица с наименьшим импульсом, необходимым для текущего рецепта -cannery.schottky.6=Выбранная частица подвергается коллапсу волновой функции и становится реальной, потребляя только ту энергию, которая требуется коллапсирующей частице -cannery.schottky.7=Если какие-либо виртуальные частицы сталкиваются с неправильными сегментами, все виртуальные частицы отбрасываются, а вместо них коллапсирует ошибочная частица -cannery.schottky.8=Обратите внимание, что виртуальные частицы никогда не будут использовать один и тот же выход диода дважды. Бесконечные циклы будут неудачными, но повторный вход в диод в остальном будет нормальным -cannery.schottky.9=Ваш диод Шоттки для частиц должен быть правильно заключен, со свободными путями для каждого выхода пересечения - -potion.hbm_taint=Порча -potion.hbm_mutation=Заражённое порчей сердце -potion.hbm_radiation=Излучение -potion.hbm_bang=! ! ! -potion.hbm_radx=Рад-X -potion.hbm_lead=Отравление свинцом -potion.hbm_radaway=Антирадин -potion.hbm_telekinesis=! ! ! -potion.hbm_phosphorus=Фосфорные ожоги -potion.hbm_stability=Стабильность -potion.hbm_potionsickness=Послезельевая болезнь -potion.hbm_death=Астольфофикация - -tool.ability.recursion=Жилковый Майнер -tool.ability.hammer=Зона действия -tool.ability.explosion=Взрыв -tool.ability.silktouch=Шёлковое касание -tool.ability.mercury=Ртутное касание -tool.ability.luck=Удача -tool.ability.smelter=Авто-плавка -tool.ability.shredder=Авто-измельчитель -tool.ability.centrifuge=Авто-центрифуга -tool.ability.crystallizer=Авто-кристаллизатор -tool.ability.midas=Прикосновение Мидаса -weapon.ability.radiation=Радиоактивные лезвия -weapon.ability.vampire=Вампир -weapon.ability.stun=Оглушение -weapon.ability.phosphorus=Фосфорный наконечник -weapon.ability.beheader=Обезглавливатель -weapon.ability.chainsaw=Бензоболь -weapon.ability.fire=Горение -weapon.ability.bobble=Удача коллекционера -weapon.elecGun.modeChange=Режим стрельбы: -weapon.elecGun.glass_cannon.radio=Радиоволны -weapon.elecGun.glass_cannon.micro=Микроволны -weapon.elecGun.glass_cannon.ir=Инфракрасное излучение -weapon.elecGun.glass_cannon.visible=Видимый свет -weapon.elecGun.glass_cannon.uv=Ультрафиолет -weapon.elecGun.glass_cannon.xray=Рентген -weapon.elecGun.glass_cannon.gamma=Гамма-лучи - -info.asbestos=Мои лёгкие горят. -info.coaldust=Здесь тяжело дышать. -info.coil=Сила катушки -info.templatefolder=Создано с помощью %s -info.template_in=Ввод: -info.template_in_p=Вводы: -info.template_out=Выход: -info.template_out_p=Выходы: -info.template_seconds=секунд -info.template_time=Время производства: +achievement.ZIRNOXBoom.desc=cope, seethe, mald +achievement.ZIRNOXBoom=ЦИРНОКС analyze.basic1======Компонент NTM===== analyze.basic2=Дополнительная документация находится на вики. @@ -326,37 +142,39 @@ analyze.noInfo=Нет информации. armor.blastProtection=Модификатор урона %s от взрывов armor.cap=Максимальное значение урона %s armor.damageModifier=Модификатор урона %s против %s +armor.dash=Даёт %s рывков +armor.electricJetpack=Ионный реактивный ранец +armor.explosionImmune=Не может получить никакого урона, кроме как от взрывов +armor.fasterReload=Быстрая перезарядка +armor.fastFall=Быстрое падение armor.fireproof=Огнеупорность armor.fullSetBonus=Бонусы Полного Набора брони: armor.geigerHUD=Встроенный HUD счетчика Гейгера armor.geigerSound=Звуковой Счётчик Гейгера +armor.glider=Присесть, чтобы спланировать armor.gravity=Модификатор гравитации %s +armor.hardLanding=Жёсткая посадка +armor.ignoreLimit=Сопротивление не зависит от предела сопротивления armor.modifier=Общий модификатор урона %s +armor.moreAmmo=Больше патронов armor.nullDamage=Нейтрализация всего урона от %s +armor.projectileProtection=Модификатор урона %s от снарядов +armor.rocketBoots=Ракетные ботинки +armor.sprintBoost=Ускоренный бег +armor.stepSize=Шаг: %s armor.thermal=Термальный визор armor.threshold=Порог урона %s armor.vats=Детектор врагов -armor.electricJetpack=Ионный реактивный ранец -armor.hardLanding=Жёсткая посадка -armor.glider=Присесть, чтобы спланировать -armor.explosionImmune=Не может получить никакого урона, кроме как от взрывов -armor.fastFall=Быстрое падение -armor.ignoreLimit=Сопротивление не зависит от предела сопротивления -armor.rocketBoots=Ракетные ботинки -armor.sprintBoost=Ускоренный бег -armor.projectileProtection=Модификатор урона %s от снарядов -armor.dash=Даёт %s рывков armor.yield=Защита применима к урону <%s -armor.fasterReload=Быстрая перезарядка -armor.moreAmmo=Больше патронов -armor.stepSize=Шаг: %s armorMod.all=Всему armorMod.applicableTo=Применяется к: armorMod.boots=Ботинкам armorMod.chestplates=Нагруднику armorMod.helmets=Шлему +armorMod.insertHere=Вставьте броню, чтобы её модифицировать... armorMod.leggings=Поножам +armorMod.type.battery=Аккумулятор armorMod.type.boots=Ботинки armorMod.type.chestplate=Нагрудник armorMod.type.cladding=Обшивка @@ -365,86 +183,6 @@ armorMod.type.insert=Пластина armorMod.type.leggings=Поножи armorMod.type.servo=Сервоприводы armorMod.type.special=Особое -armorMod.insertHere=Вставьте броню, чтобы её модифицировать... - -hazard.prot=Защищает от: -hazard.noprot=НЕ защищает от: -hazard.neverProtects=Не защищает от: -hazard.bacteria=Бактерий / Аэрозолей -hazard.corrosive=Едких испарений -hazard.gasChlorine=Химических газов -hazard.gasInert=Инертных газов / Удушающих веществ -hazard.gasMonoxide=Угарного газа -hazard.nerveAgent=Нервно-паралитических средств -hazard.particleCoarse=Частиц, находящихся в воздухе -hazard.particleFine=Твердых частиц -hazard.light=Ярких вспышек -hazard.sand=Раздражителей глаз - -trait.asbestos=Содержит асбест -trait.blinding=Ослепление -trait.digamma=Дигамма радиация -trait.drop=Опасно выкидывать -trait.furnace=Даёт %s операций в ядерной печи -trait.heat=Обеспечивает %s ТЕПЛА -trait.hlParticle=Период Полураспада Частицы: %s -trait.hlPlayer=Период Полураспада Игрока: %s -trait.hot=Пирофорный / Горячий -trait.hydro=Гидрореактивный -trait.explosive=Воспламеняющийся / Взрывоопасный -trait.radioactive=Радиоактивный -trait.radResistance=Сопротивление радиации: %s -trait.tile.cluster=Выпадает только тогда, когда разрушен игроком -trait.tile.depth=Может быть разрушен только взрывом -trait.coal=Угольная пыль -digamma.playerRes=Сопротивление к дигамме: -digamma.title=ДИАГНОСТИКА ДИГАММЫ -digamma.playerDigamma=Доза дигаммы: -digamma.playerHealth=Влияние дигаммы: - -trait.rbmk.coreTemp=Температура стержня: %s -trait.rbmk.depletion=Обеднение: %s -trait.rbmk.diffusion=Рассеивание: %s -trait.rbmk.fluxFunc=Функция потока: %s -trait.rbmk.funcType=Тип функции: %s -trait.rbmk.heat=Тепло за тик при полной мощности: %s -trait.rbmk.melt=Точка плавления: %s -trait.rbmk.neutron.any=Любые нейтроны -trait.rbmk.neutron.fast=Быстрые нейтроны -trait.rbmk.neutron.slow=Медленные нейтроны -trait.rbmk.skinTemp=Температура оболочки стержня: %s -trait.rbmk.source=Самовоспламеняющийся -trait.rbmk.splitsInto=Распадается на: %s -trait.rbmk.splitsWith=Распадается с: %s -trait.rbmk.xenon=Ксеноновое отравление: %s -trait.rbmk.xenonBurn=Функция выгорания ксенона: %s -trait.rbmk.xenonGen=Функция накопления ксенона: %s - -trait.rbmx.coreTemp=Разрушение стержня: %s -trait.rbmx.depletion=Корочка: %s -trait.rbmx.diffusion=Поток: %s -trait.rbmx.fluxFunc=Функция гибели: %s -trait.rbmx.funcType=Спецификация функции: %s -trait.rbmx.heat=Корочка на тик при полной мощности: %s -trait.rbmx.melt=Глубина корочки: %s -trait.rbmk.neutron.any.x=Все неевклидовы формы -trait.rbmk.neutron.fast.x=Эллиптические неевклидовы формы -trait.rbmk.neutron.slow.x=Гиперболические неевклидовы формы -trait.rbmx.skinTemp=Разрушение оболочки стержня: %s -trait.rbmx.source=Самосжигаемый -trait.rbmx.splitsInto=Отправляется в: %s -trait.rbmx.splitsWith=Прибывает из: %s -trait.rbmx.xenon=Свинцовое отравление: %s -trait.rbmx.xenonBurn=Функция разрушения свинца: %s -trait.rbmx.xenonGen=Функция создания свинца: %s - -turret.animals=Целиться по пассивным: %s -turret.machines=Целиться по машинам: %s -turret.mobs=Целиться по мобам: %s -turret.none=Ничего -turret.off=ВЫКЛ -turret.on=ВКЛ -turret.players=Целиться по игрокам: %s battery.mode.buffer=Буферный режим battery.mode.input=Зарядка @@ -460,66 +198,6 @@ battery.priority.recommended=Рекомендуется для: battery.redstone.off=Редстоун выключен battery.redstone.on=Редстоун включен -rbmk.heat=Температура компонента: %s -rbmk.boiler.water=Вода: %s / %s -rbmk.boiler.steam=Пар: %s / %s -rbmk.boiler.type=Сжатие: %s -rbmk.console.assign=Назначить стержни к экрану #%s -rbmk.console.none=Выкл. -rbmk.console.col_temp=Средняя температура стержня -rbmk.console.rod_extraction=Среднее извлечение регулирующих стержней -rbmk.console.fuel_depletion=Среднее топливное обеднение -rbmk.console.fuel_poison=Среднее ксеноновое отравление -rbmk.console.fuel_temp=Средняя температура топлива -rbmk.control.level=%s -rbmk.control.red=§cКрасная группа -rbmk.control.yellow=§eЖёлтая группа -rbmk.control.green=§aЗелёная группа -rbmk.control.blue=§1Синяя группа -rbmk.control.purple=§5Фиолетовая группа -rbmk.moderated=Замедленно -rbmk.rod.depletion=Обеднение: %s -rbmk.rod.xenon=Ксеноновое отравление: %s -rbmk.rod.coreTemp=Температура стержня: %s -rbmk.rod.skinTemp=Температура оболочки стержня: %s / %s -rbmk.screen.core=Ядро: %s -rbmk.screen.depletion=Истощ: %s -rbmk.screen.rod=Управ: %s -rbmk.screen.temp=Темп: %s -rbmk.screen.xenon=Ксенон: %s - -shape.quantum=Кванта -shape.nugget=Самородок -shape.dusttiny=Кучка пыли -shape.wireFine=Провода -shape.billet=Заготовка -shape.ingot=Слиток -shape.dust=Порошок -shape.plate=Пластина -shape.plateTriple=Литая пластина -shape.ntmpipe=Труба -shape.shell=Оболочка -shape.quart=Четверть блока -shape.block=Блок -shape.wireDense=Плотный провод -shape.wiresDense=Плотные провода -foundry.noCast=Литейная форма не установлена! -foundry.filter=Фильтр: %s -foundry.inverted=Инвертирован редстоуном -foundry.invertFilter=Инвертированный фильтр - -hbm.key=NTM Hotkeys -hbm.key.calculator=Калькулятор -hbm.key.craneLoad=Загрузить/Разгрузить кран -hbm.key.craneMoveDown=Двигать кран назад -hbm.key.craneMoveLeft=Двигать кран влево -hbm.key.craneMoveRight=Двигать кран вправо -hbm.key.craneMoveUp=Двигать кран вперёд -hbm.key.dash=Рывок -hbm.key.toggleBack=Включить ранец -hbm.key.toggleHUD=Включить HUD -hbm.key.reload=Перезарядить - bomb.detonated=Успешно взорвано! bomb.incompatible=Устройство не может быть взорвано! bomb.launched=Успешно запущено! @@ -527,359 +205,8 @@ bomb.missingComponent=Отсутствует компонент! bomb.nobomb=Позиция не совместима или не прогружена! bomb.triggered=Успешно взорвано! -excavator.crusher=Включить измельчитель -excavator.drill=Включить бур -excavator.silktouch=Включить шёлковое касание -excavator.veinminer=Включить жилковый майнер -excavator.walling=Включить постройку стен - -contents.data.blueprints1=Сборочные шаблоны -contents.data.blueprints2=Химические шаблоны -contents.data.research=Исследование: %s -contents.misc.corrupted=Поврежденные данные -contents.misc.none=Незанятое пространство -contents.misc.unformatted=Неформатированное пространство -contents.program.bob=Установка BobOS 31 Edition -contents.program.dataRec=Программное обеспечение для восстановления данных -contents.program.doom=DOOM -contents.program.unknown=??? -contents.program.windows=Установка Windows 12 - -commands.satellite.no_satellite=Спутник с такой частотой не найден! -commands.satellite.not_a_satellite=Предмет в руке не спутник! -commands.satellite.satellite_descended=Спутник успешно удалён. -commands.satellite.satellite_orbited=Спутник запущен. -commands.satellite.should_be_run_as_player=Команда должна быть выполнена игроком! - -desc.block.barrel.acid=едкие жидкости -desc.block.barrel.acidAlt=едкие жидкости правильно -desc.block.barrel.acidStrong=сильные едкие жидкости -desc.block.barrel.antimatter=антиматерию -desc.block.barrel.can=§aМожет -desc.block.barrel.cannot=§eНе может -desc.block.barrel.capacity=§bВместимость: %smB -desc.block.barrel.hotFluid=горячие жидкости -desc.block.barrel.leaky=§cПротекает -desc.block.barrel.static=Статичная бочка -desc.block.barrel.store=%s содержать %s -desc.fTrait.antimatter=§4Антиматерия -desc.fTrait.biohazard=§aБиологическая опасность -desc.fTrait.chemical=§2Нервно-паралитический агент -desc.fTrait.corrosive1=§eЕдкое -desc.fTrait.corrosive2=§6Сильно едкое -desc.fTrait.radioactive=§eРадиоактивное -desc.fTrait.toxic=§9Токсичное -desc.gui.atomicClock=Время$День$Год -desc.gui.lunarOni.buffer=Буферр -desc.gui.lunarOni.coordinates=КООРДИНАТЫ: -desc.gui.lunarOni.direction=Направление -desc.gui.lunarOni.elevation=Высота -desc.gui.lunarOni.mode=Выключено$Существа$Свободный огонь$Поток -desc.gui.lunarOni.percentage=Уровень энергии -desc.gui.lunarOni.power=Питание -desc.gui.reactorAmat.box=Уровень реакции: %s %%$Соотношение смешивания: %s / %s$Температура: %s°C$Давление: %s БАР$Сила: %s терадин/сек$Текущее ядро: %s$Срок службы ядра: %s$Текущий катализатор: %s$Срок службы катализатора: %s$Текущий ускоритель: %s$Срок службы ускорителя: %s -desc.item.rtgDecay=Распадается на: %s -desc.gui.rtgBFurnace.desc=Требует хотя бы 15 единиц тепла$Чем больше тепла добавляется, тем быстрее оно работает$Нагрев, превышающий максимальную скорость, не будет иметь никакого эффекта$Короткоживущие пеллеты могут распадаться -desc.gui.rtg.heat=§eТекущий уровень тепла: %s -desc.gui.rtg.pellets=Принимаемые пеллеты: -desc.gui.rtg.pelletHeat=%s (%s тепла) -desc.gui.rtg.pelletPower=%s (%s HE/тик) -desc.gui.radiolysis.desc=§9Описание§r$Этот РИТЭГ более эффективен, чем другие, и$оснащен камерой радиолиза для$крекинга и стерилизации. -desc.gui.zirnox.coolant=§3Охлаждение§r$CO2 перемещает тепло из активной зоны в воду.$Вода будет нагреваться до перегретого пара.$Эффективность охлаждения и производства пара$зависит от давления. -desc.gui.zirnox.pressure=§6Давление§r$Давление можно снизить, выпустив CO2.$Однако при слишком низком давлении$эффективность охлаждения и выработка пара будут снижены.$Избегайте расплавления! -desc.gui.zirnox.warning1=§cВнимание:§r Вода необходима для$правильной работы реактора! -desc.gui.zirnox.warning2=§cВнимание:§r CO2 необходим для$правильной работы реактора! -desc.gui.gasCent.enrichment=§2Обогащение§r$Для обогащения урана требуются каскады.$Каскады с двумя центрифугами дадут$урановое топливо, каскады с четырьмя центрифугами$обеспечат полное разделение. -desc.gui.gasCent.output=§6Перемещение жидкости§r$Жидкость может быть перемещена$через выходной порт для дальнейшей обработки. -desc.gui.assembler.warning=§cОшибка:§r Требуется шаблон сборочной машины! -desc.gui.chemplant.warning=§cОшибка:§r Требуется шаблон химической машины! -desc.gui.template=§9Шаблоны§r$Шаблоны могут быть сделаны$в Папке шаблонов машин. -desc.gui.nukeBoy.desc=§1Требует:§r$ * Нейтронный щит$ * Снаряд U235$ * Субкритическая цель U235$ * Взрывчатка$ * Воспламенитель -desc.gui.nukeGadget.desc=§1Требует:§r$ * 4 Набора взрывоопасных линз$ Первого поколения$ * Плутониевое ядро$ * Провода -desc.gui.nukeMan.desc=§1Требует:§r$ * 4 Набора взрывоопасных линз$ Первого поколения$ * Плутониевое ядро$ * Зажигатель -desc.gui.nukeMike.desc=§1Требует:§r$ * 4 Набора взрывоопасных линз$ * Плутониевое ядро$ * Блок охлаждения дейтерия$ * Дейтериевый бак с урановым покрытием$ * Дейтериевый бак -desc.gui.nukeTsar.desc=§1Требует:§r$ * 4 Набора взрывоопасных линз$ * Плутониевое ядро$§9Опционально:§r$ * Ядро Царь-бомбы -desc.item.zirnoxBreedingRod=§2[Стержень-размножитель Цирнокс]$§eРазмещать рядом с топливными стержнями$§eВремя работы %d тиков -desc.item.zirnoxRod=§a[Топливный стержень Цирнокс]$§eГенерирует %1$d тепла на тик$§eВремя работы %2$d тиков -desc.item.ammo.con_accuracy2=- Сильно сниженная точность -desc.item.ammo.con_damage=- Сильно сниженный урон -desc.item.ammo.con_heavy_wear=- Сильно увеличенный износ -desc.item.ammo.con_ling_fire=- Нет затяжного огня -desc.item.ammo.con_nn=- Не ядерная бомба -desc.item.ammo.con_no_damage=- Нет урона -desc.item.ammo.con_no_explode1=- Не взрывается -desc.item.ammo.con_no_explode2=- Нет урона блокам -desc.item.ammo.con_no_explode3=- Нет взрывной волны -desc.item.ammo.con_no_fire=- Не зажигательное -desc.item.ammo.con_no_mirv=- Не рекомендуется использовать с Прото-MIRV -desc.item.ammo.con_penetration=- Не проникающее -desc.item.ammo.con_radius=- Уменьшенный радиус взрыва -desc.item.ammo.con_range2=- Сильно уменьшенный радиус -desc.item.ammo.con_sing_projectile=- Одиночный снаряд -desc.item.ammo.con_speed=- Уменьшенная скорость снаряда -desc.item.ammo.con_super_wear=- Очень сильно увеличенный износ -desc.item.ammo.con_wear=- Увеличенный износ -desc.item.ammo.neu_40mm=* Это 40-миллиметровая граната, которую мы сжали, чтобы подогнать под ствол! -desc.item.ammo.neu_blank=* Это пустышка -desc.item.ammo.neu_boat=* Лодка -desc.item.ammo.neu_boxcar=* Вагон -desc.item.ammo.neu_building=* Здание -desc.item.ammo.neu_chlorophyte=* Хлорофит -desc.item.ammo.neu_eraser=* Для удаления больших ошибок -desc.item.ammo.neu_fun=* Веселье для всей семьи! -desc.item.ammo.neu_heavy_metal=* Тяжёлый металл -desc.item.ammo.neu_homing=* Самонаводящийся -desc.item.ammo.neu_jolt=* Трясущее -desc.item.ammo.neu_less_bouncy=* Менее отскакивающий -desc.item.ammo.neu_maskman_flechette=* Стреляет трассирующим снарядом, который вызывает бурю из ОУ-флешетов -desc.item.ammo.neu_maskman_meteorite=* Стреляет снарядом с высоким уроном, который вызывает небольшой метеорит -desc.item.ammo.neu_more_bouncy=* Сильно отскакивающий -desc.item.ammo.neu_no_bounce=* Не отскакивающий -desc.item.ammo.neu_no_con=* Никаких затрат, лол -desc.item.ammo.neu_starmetal=* Звёздный металл -desc.item.ammo.neu_tracer=* Трассирующий -desc.item.ammo.neu_uhh=* Эм... -desc.item.ammo.neu_warcrime1=* Технически военное преступление -desc.item.ammo.neu_warcrime2=* Вдвое больше военных преступлений в одном снаряде! -desc.item.ammo.pro_accurate1=+ Увеличенная точность -desc.item.ammo.pro_accurate2=+ Почти идеальная точность -desc.item.ammo.pro_balefire=+ Жар-пламя -desc.item.ammo.pro_bomb_count=+ Увеличенное количество бомб -desc.item.ammo.pro_caustic=+ Разъедающее -desc.item.ammo.pro_chainsaw=+ Бензопила -desc.item.ammo.pro_chlorine=+ Хлорный газ -desc.item.ammo.pro_damage=+ Увеличенный урон -desc.item.ammo.pro_damage_slight=+ Урон выше среднего -desc.item.ammo.pro_emp=+ ЭМ-импульс -desc.item.ammo.pro_explosive=+ Взрывоопасный -desc.item.ammo.pro_fallout=+ Радиоактивные осадки -desc.item.ammo.pro_fit_357=+ Подходит для каждой .357 модели -desc.item.ammo.pro_flames=+ Увеличенное количество огня -desc.item.ammo.pro_gravity=+ Уменьшенная гравитация -desc.item.ammo.pro_heavy_damage=+ Сильно увеличенный урон -desc.item.ammo.pro_incendiary=+ Зажигательный -desc.item.ammo.pro_lunatic=+ Лунный -desc.item.ammo.pro_marauder=+ Мгновенно удаляет раздражающих и несбалансированных врагов -desc.item.ammo.pro_mining=+ Взрыв выкапывает все блоки -desc.item.ammo.pro_no_gravity=+ Не подвержен влиянию гравитации -desc.item.ammo.pro_nuclear=+ Ядерный -desc.item.ammo.pro_penetration=+ Проникающий -desc.item.ammo.pro_phosphorus=+ Вызывает фосфорные ожоги -desc.item.ammo.pro_phosphorus_splash=+ Волна фосфора -desc.item.ammo.pro_poison_gas=+ Ядовитая волна -desc.item.ammo.pro_radius=+ Увеличенный радиус взрыва -desc.item.ammo.pro_radius_high=+ Сильно увеличенный радиус взрыва -desc.item.ammo.pro_range=+ Увеличенная дальность -desc.item.ammo.pro_rocket=+ Ракета -desc.item.ammo.pro_rocket_propelled=+ Реактивный двигатель -desc.item.ammo.pro_shrapnel=+ Шрапнель -desc.item.ammo.pro_speed=+ Увеличенная скорость снаряда -desc.item.ammo.pro_stunning=+ Оглушает -desc.item.ammo.pro_toxic=+ Токсичный -desc.item.ammo.pro_wear=+ Уменьшенный износ -desc.item.ammo.pro_withering=+ Иссущающий -desc.item.armorMod.display=чтобы показать установленные модификаторы брони -desc.item.battery.charge=Заряд: %s / %sHE -desc.item.battery.chargePerc=Заряд: %s%% -desc.item.battery.chargeRate=Скорость зарядки: %sHE/тик -desc.item.battery.dischargeRate=Скорость разрядки: %sHE/тик -desc.item.durability=Прочность: %s -desc.item.grenade.fuse=Предохранитель: %s -desc.item.grenade.fuseImpact=Столкновение -desc.item.grenade.fuseInstant=Мгновенный -desc.item.gun.ammo=Патронов %s -desc.item.gun.ammoBelt=Лента -desc.item.gun.ammoEnergy=Энергия; %sHE за выстрел -desc.item.gun.ammoEnergyAlt=%sHE за вторичный выстрел -desc.item.gun.ammoMag=%s / %s -desc.item.gun.ammoType=Тип патронов: %s -desc.item.gun.ammoTypeAlt=Вторичные патроны: %s -desc.item.ammo.neu_leadburster=* Прикрепляется к поверхностям и распыляет пули -desc.item.gun.damage=Урон: %s - %s -desc.item.gun.damageAlt=Урон: %s -desc.item.gun.lore=чтобы увидеть более глубокий лор -desc.item.gun.loreFunc=чтобы увидеть больше функциональности -desc.item.gun.manufacturer=Производитель: %s -desc.item.gun.name=Название: %s -desc.item.gun.pellets=Снаряды: %s - %s -desc.item.kitArmor=Броня будет заменена новым комплектом. -desc.item.kitHaz=Броня будет заменена защитным костюмом. -desc.item.kitPack=Какая выгодная сделка! -desc.item.kitPool=Пожалуйста, очистите инвентарь перед открытием! -desc.item.rtgDecay=Распадается на: %s x%s -desc.item.rtgHeat=Уровень энергии: %s -desc.item.storage.capacity=Вместимость %s%%s -desc.item.pileRod=§eПКМ по просверлённому графиту, чтобы поместить$§eПКМ отвёрткой, чтобы извлечь$ -desc.misc.357=§o.357 Магнум -desc.misc.556=§o.223 Ремингтон -desc.misc.762=§o.308 Винчестер -desc.misc.func=§n-- Функция -- -desc.misc.lanthanum="Лантан" -desc.misc.lctrl=§8Удерживайте <§e§oLCTRL§8§o> %s -desc.misc.lore=§n-- Лор -- -desc.misc.lshift=§8Удерживайте <§e§oLSHIFT§8§o> %s -desc.misc.luna=§o20x155mm Лунный -desc.misc.meltPoint=Точка плавления: §c%s -desc.misc.noPos=Позиция не установлена! -desc.misc.pos=Позиция: %s, %s, %s -desc.misc.posSet=Позиция установлена! -desc.misc.tantalum="Тантал" -desc.misc.tarCoord=Координаты цели: -desc.misc.tarSet=Координаты установлены X: %s, Z: %s -desc.nei.ringConsumed=Ring Consumed -desc.nei.ringPreserved=Ring Preserved -desc.nei.shaped=Форменный -desc.nei.shapeless=Бесформенный -desc.nuke.custom.add=§6Добавляет %s к стадии кастомной бомбы %s -desc.nuke.custom.multi=§6Добавляет множитель %s к стадии кастомной бомбы %s -desc.player.ageData=Текущий возраст: %s; День рождения: %s / %s AD -desc.player.birthday=С днём рождения! -desc.player.birthdayAlt=Еще одна тривиальная отметка$Какой смысл больше считать?$Стоила ли цена того, в конце концов?$Как скоро ты забудешь, что такое возраст?$Как скоро ты перестанешь понимать свой собственный возраст? -desc.player.birthdayMsg=Ваше время приближается на один год$Ваше время уходит$Еще один год с сожалением$Ты пережил еще один год, на данный момент$Ты будешь оглядываться на это время со стыдом -desc.watz.pelAge=Максимальное время: %s тиков -desc.watz.pelDecay=Распадается на: %s -desc.watz.pelDecayMulti=Множитель распада: %s%% -desc.watz.pelHeat=Выделяет тепла: %s тепла -desc.watz.pelHeatMulti=Множитель тепла: %s%% -desc.watz.pelPower=Энергии за тик: %sHE -desc.watz.pelPowerMulti=Множитель энергии: %s%% -desc.item.wasteCooling=Охладите в бочке с отработанным топливом -desc.misc.lctrl=§Удерживайте <§e§oLCTRL§8§o> %s -desc.misc.lshift=§8Удерживайте <§e§oLSHIFT§8§o> %s -desc.gui.turbinegas.automode=§2Автоматический режим турбины§r$Нажав кнопку "AUTO", турбина автоматически$отрегулирует выработку электроэнергии$в зависимости от мощности, требуемой от сети -desc.gui.turbinegas.fuels=§6Принимаемое топливо: -desc.gui.turbinegas.warning=§cНизкий уровень топлива или смазки!§r -desc.gui.rttyLogic.cond0=Сигнал §6МЕНЬШЕ§r Константы -desc.gui.rttyLogic.cond1=Сигнал §6МЕНЬШЕ ИЛИ РАВЕН§r Константе -desc.gui.rttyLogic.cond2=Сигнал §6БОЛЬШЕ ИЛИ РАВЕН§r Константе -desc.gui.rttyLogic.cond3=Сигнал §6БОЛЬШЕ§r Константы -desc.gui.rttyLogic.cond4=Сигнал §6РАВЕН§r Константе -desc.gui.rttyLogic.cond5=Сигнал §6НЕ РАВЕН§r Константе -desc.gui.rttyLogic.cond6=Сигнал §6СООТВЕТСТВУЕТ§r Строке -desc.gui.rttyLogic.cond7=Сигнал §6НЕ СООТВЕТСТВУЕТ§r Строке -desc.gui.rttyLogic.cond8=Сигнал §6СОДЕРЖИТ§r Строку -desc.gui.rttyLogic.cond9=Сигнал §6НЕ СОДЕРЖИТ§r Строку - -wavelengths.name.ir=Инфракрасный -wavelengths.name.visible=Видимый свет -wavelengths.name.uv=Ультрафиолет -wavelengths.name.gamma=Гамма -wavelengths.name.drx=Дигамма -wavelengths.waveRange.ir=780нм-1мм -wavelengths.waveRange.visible=400нм-780нм -wavelengths.waveRange.uv=100нм-400нм -wavelengths.waveRange.gamma=<100пм -wavelengths.waveRange.drx=1916169 планковских длин - -gun.make.ARMALITE=Armalite -gun.make.AUTO_ORDINANCE=Корпорация Авто-Орденс -gun.make.BAE=БАЕ Системс -gun.make.BENELLI=Бенелли Арми СПА -gun.make.BLACK_MESA=Исследовательский комплекс Чёрная Меза -gun.make.CERIX=Церикс Магнус -gun.make.COMBINE=Вселенский Союз -gun.make.CUBE=Куб 2: Sauerbraten -gun.make.ENZINGER=Энзингер Юнион -gun.make.FLIMFLAM=ФлимФлэм Индастрис -gun.make.F_STRONG=Форт Стронг -gun.make.GLORIA=Gloria GmbH -gun.make.HASBRO=Хасбро -gun.make.H_AND_K=Heckler & Koch -gun.make.H_AND_R=Harrington & Richardson -gun.make.IF=Огненные Подковы -gun.make.IMI=Военная Промышленность Израиля -gun.make.IMI_BIGMT=IMI / Большая Гора -gun.make.LUNA=Корпус Лунной Обороны -gun.make.MAGNUM_R_IMI=Magnum Research / Israel Military Industries -gun.make.MANN=Манн Ко. -gun.make.MAXIM=Хайрам Максим -gun.make.METRO=Оружейники Метро -gun.make.MWT=Лаборатории прототипов МВТ -gun.make.ERFURT=Erfurter Maschinenfabrik Geipel -gun.make.NONE=- -gun.make.ROCKWELL=Корпорация "Рокуэлл" -gun.make.ROCKWELL_U=Корпорация "Рокуэлл"? -gun.make.SAAB=Saab Bofors Dynamics -gun.make.SACO=Saco Defense / US Ordnance -gun.make.TULSKY=Тульский Оружейный Завод -gun.make.UAC=Объединённая Аэрокосмическая Корпорация -gun.make.UNKNOWN=??? -gun.make.WINCHESTER=Winchester Repeating Arms Company -gun.make.WINCHESTER_BIGMT=Winchester Repeating Arms Company / Большая Гора -gun.make.REMINGTON=Remington Arms -gun.make.DRG=Deep Rock Galactic -gun.make.NAWS=Kayarm Industries - -gun.name.ar15_50=Модификация AR-15 под .50 BMG -gun.name.baeAR=Стандартная винтовка британнской армии -gun.name.bel=Катапульта для жар-яиц -gun.name.benelli=Benelli M4 Super 90 -gun.name.benelliDrum=Benelli M4 Super 90 (Барабанный магазин) -gun.name.bolter=Болтер модели "Мантикора" -gun.name.cz53=Персональный миниган CZ53 -gun.name.cz57=Миниган "Мститель" CZ57 -gun.name.dart=Игломёт -gun.name.deagle=IMI Desert Eagle -gun.name.emp=Проектор ЭМИ-сфер -gun.name.extinguisher=6кг огнетушитель PROTEX -gun.name.ffiV=FFI Viper -gun.name.ffiVInox=FFI Viper Inox -gun.name.ffiVLead=FFI Viper Lead -gun.name.ffiVN1=FFI Viper N1 -gun.name.ffiVN2=FFI Viper N2 -gun.name.ffiVUltra=FFI Viper Ultra -gun.name.ffivBling=FFI Viper Bling -gun.name.ffivSatur=FFI Viper D-25A -gun.name.gPistol=Granatpistole HK69 -gun.name.gustav=Безоткатная винтовка "Карл-Густав" M1 -gun.name.ifHorseshoe=IF-18 "Подкова" -gun.name.ifPit=IF-18 "Подкова" - Бездонная яма -gun.name.ifScope=IF-18 "Подкова" с прицелом -gun.name.ifStorm=IF-18 "Подкова" - Сильвер Шторм -gun.name.ifVanity=IF-18 "Подкова" - Ванити -gun.name.karl=M1 Karl-Gerät -gun.name.ks23=KS-23 -gun.name.lacunae=Тётушка Лакунэ -gun.name.lunaAR=1936 Bishamonten type Assault Rifle -gun.name.lunaGun=1958 Lunatic Gun (Revised) -gun.name.lunaHLR=1944 Chang'e type LMG -gun.name.lunaSMG=1936 Ānanda type SMG -gun.name.lunaSniper=1909 Rāhula type Anti-Material Rifle -gun.name.lunaTWR=Time Warp Rifle -gun.name.m42=Тактическая ядерная катапульта M-42 -gun.name.m42MIRV=Экспериментальная РГН M-42 -gun.name.m60=Пулемёт калибра 7.62мм M60 -gun.name.maxim=Пулемёт "Максим" -gun.name.maximDouble=Сдвоенный пулемёт "Максим" -gun.name.mp40=Maschinenpistole 40 -gun.name.nerf=Неизвестный бластер NERF -gun.name.osipr=Стандартная пульсовая винтовка Патруля -gun.name.panz=Raketenpanzerbüchse 54 -gun.name.quadro=Счетверённый переносной ракетный гранатомёт -gun.name.revolverCursed=Стандартный пистолет британнской армии -gun.name.sauer=Дробовик Sauer -gun.name.spiw=H&R SPIW -gun.name.supershotty=Двуствольный дробовик -gun.name.tau=Тау-пушка XVL1456 -gun.name.tommy9=Модификация пистолета-пулемёта M1A1 под 9мм -gun.name.tommy=Пистолет-пулемёт M1A1 -gun.name.topaz=Тяжёлый огнемёт -gun.name.uacCarbine=UAC-41 Carbine -gun.name.uacDMR=UAC-30 Designated Marksman Rifle -gun.name.uacLMG=UAC-49 Light Machine Gun -gun.name.uacPistol=UAC .45 Standard Issue Handgun -gun.name.uacSMG=UAC Compact Sub-Machine Gun -gun.name.uboinik=Револьверный дробовик "Убойник" -gun.name.uzi=IMI Uzi -gun.name.uziSatur=IMI Uzi D-25A -gun.name.win1887=Winchester Model 1887 -gun.name.win1887Inox=Winchester Model 1887 Inox -gun.name.win20Inox=Winchester Model 20 Inox -gun.name.win20Poly=Winchester Model 20 Polymer -gun.name.win20Satur=Winchester Model 20 D-25A -gun.name.zomg=Пушка отрицательной энергии EMC101 -gun.name.remington870=Remington 870 -gun.name.congoLake=Помповый гранатомет Congo Lake +book.test.cover=HOW 2 SEX +book.test.page1=Test Page 1 book.error.cover=Адронный Коллайдер:$Диагностирование проблем book.error.title1=Ошибка 0x01 [NC] @@ -901,8 +228,6 @@ book.error.page8=§lНазвание:§r "ERROR_DIODE_COLLISION" §lОписан book.error.title9=Ошибка 0x09 [BT] book.error.page9=§lНазвание:§r "ERROR_BRANCHING_TURN" §lОписание:§r Частица достигла поворота с несколькими выходами. §lПотенциальное решение:§r Если ваш поворот нормальный, проверьте есть ли там все катушки (то есть нет дыр в слоях). Если поворот предназначен для разветвления, для этого требуется правильно сконфигурированный диод частиц Шоттки. -book.test.cover=HOW 2 SEX -book.test.page1=Test Page 1 book.rbmk.cover=Мой первый РБМК:$Основы$строительства реактора$ book.rbmk.title1=Вступление book.rbmk.page1=§lРБМК§r - это полностью модульный ядерный реактор. В отличие от большинства других реакторов, здесь нет "активной зоны" и нет ограничений по размеру, скорее, поведение и эффективность реактора зависят от того, как он построен и как различные части взаимодействуют друг с другом. @@ -916,7 +241,6 @@ book.rbmk.title5=Регулирующие стержни - Использова book.rbmk.title5.scale=0.75 book.rbmk.page5=В центре графического интерфейса будет отображаться текущая вставка стержня. Цветные кнопки слева добавят стержень управления в цветовую группу, что полезно для быстрого выбора сгруппированных стержней на консоли §lРБМК§r. Кнопки справа позволяют вставлять вручную с шагом 25%%. book.rbmk.title6=Автоматические регулирующие стержни -book.rbmk.title6.scale=0.75 book.rbmk.page6=§lАвтоматические регулирующие стержни§r почти идентичны обычным регулирующим стержням, но их нельзя настроить вручную, вместо этого они будут регулировать положение стержня в зависимости от текущей температуры. Какую функцию использовать и как глубоко вставлять и при какой температуре, необходимо определить в первую очередь. book.rbmk.title7=Паровой канал book.rbmk.page7=§lПаровой канал§r - единственная часть, которая будет активно снижать уровень тепла реактора. Если температура компонента превышает температуру кипения заданного типа пара, он будет пытаться потреблять столько воды и производить столько пара, сколько необходимо для охлаждения ниже температуры кипения. @@ -938,52 +262,11 @@ book.rbmk.page15=Реакция §lтоплива§r зависит от мно book.rbmk.title16=Расплавление book.rbmk.page16=§4§lИЗБЕГАЙТЕ. -book.custCores.page1.title=Проектирование ядра ядерной боеголовки (Сокращенное издание) -book.custCores.page10=Он также имеет плотность ~19,05 г/см3, но с критической массой ~52 кг. Несмотря на это, он имеет среднюю выходную энергию деления ~202,5 МэВ на деление. -book.custCores.page11=Кроме того, он может использоваться в бомбах пушечного типа, которые в настоящее время устарели с имплозионным типом, все еще используются в некоторых компактных ядерных устройствах. -book.custCores.page12.title=Нептуний-237 -book.custCores.page12=Нептуний-237, хотя и рассматривался, никогда не испытывался в ядерных устройствах и никогда не планировался к испытанию. Он образуется в результате захвата нейтронов U-235, который -book.custCores.page13=уже расщепляется. Он также имеет более высокую критическую массу и плотность при ~60 кг и ~20,45 г/см3 соответственно. Энергия деления не была определена, но была оценена в ~200 МэВ. -book.custCores.page14.title=Плутоний-239 -book.custCores.page14=Наиболее распространенный делящийся материал в наше время, полученный из U-238 в реакторах. Он немного плотнее урана при ~19,86 г/см3, имеет очень низкую критическую массу -book.custCores.page15=~10 кг и имеет высокую выходную энергию деления при ~207,1 МэВ на деление. Несмотря на то, что их сложнее производить, результат в конечном счете оправдывает затраты. -book.custCores.page16.title=Плутоний-241 -book.custCores.page16=Очень редкий изотоп плутония, образующийся при захвате нейтронов Pu-240, который, в свою очередь, образуется при захвате нейтронов Pu-239. -book.custCores.page17=Он имеет низкую критическую массу ~12 кг, что лишь немного выше, чем Pu-239, но он также имеет более высокую выходную энергию деления при ~210 МэВ. -book.custCores.page18=Несмотря на преимущество в производстве энергии, затраты на производство не дают особых преимуществ Pu-239, также учитывая его очень низкий период полураспада, составляющий около десяти лет. -book.custCores.page19.title=Метастабильный америций-242m -book.custCores.page19=Америций-242m, вероятно, является самым дорогим делящимся актинидом, который в настоящее время рассматривается для ядер ядерного оружия. Образуется только за счет последовательного нейтронного -book.custCores.page1=По: А█████ Б██████ -book.custCores.page20=захвата нескольких высокорадиоактивируемых радиоизотопов, Am-242m с еще меньшей вероятностью будет использоваться, чем Pu-241. Несмотря на это, он имеет достаточный период полураспада и критическую массу -book.custCores.page21=~11 кг, выход энергии деления ~212 МэВ и относительно низкую плотность ~13,67 г/см3. -book.custCores.page22.title=Шрабидий-326 -book.custCores.page22=Возможно, самый перспективный делящийся трансурановый радиоизотоп, это единственный известный сверхтяжелый элемент, входящий в состав острова стабильности. При атомном -book.custCores.page23=номере 126, он имеет смехотворно низкую критическую массу ~1-2 кг, огромную, по оценкам, энергию деления ~250 МэВ и невероятную плотность 39,7 г/см3, почти вдвое -book.custCores.page24=больше урана. Его период полураспада, по оценкам, составляет от сотен тысяч до миллиардов лет, и, как это ни парадоксально, его также легче производить, чем тяжелые актиниды. -book.custCores.page25=Несмотря на преимущества использования Sa-236 в качестве основного материала, он имеет предостережение о том, что вызывает эффект, известный как "поле фолквангра (или фольквангра)". Пока -book.custCores.page26=тот эффект, безусловно, стоит обсудить в другой раз, для стандартных нужд ядерного оружия он нежелателен, так как уменьшает энергию и может привести к сбою. -book.custCores.page27=До тех пор, пока не будет разработан надлежащий метод смягчения, Sa-326 идеально подходит для повышения производительности ядер стандартных ядер U-235 или Pu-239 и значительного увеличения производительности -book.custCores.page28=и эффективности без добавления большой массы, подобно повышению дейтерия/трития. Как твердый металлический шрабидий, так и жидкий компонент трисульфид шрабидия (SaS6) -book.custCores.page29=были рассмотрены для повышения деления. Для получения дополнительной информации о вышеупомянутом "поле фольквангр" обратитесь к книге: "ФРЕЯ и поле Фольквангр". -book.custCores.page2=Разработка ядерного оружия начинается с его самого важного компонента: ядра. Ибо это то, что обеспечивает разрушение в ядерном устройстве. -book.custCores.page30.title=Термоядерные материалы -book.custCores.page30=Повышение термоядерного синтеза было концепцией с первых дней ядерных испытаний. Они способны значительно повысить эффективность деления и, следовательно, конечный выход. -book.custCores.page3=Ядро может быть изготовлено из нескольких различных материалов и смесей между ними, и все это для повышения эффективности, выхода и уменьшения критической массы. -book.custCores.page4=Таковы три основных фактора в ядерном устройстве: более высокий выход увеличивает наносимый им урон, меньшая критическая масса уменьшает размер -book.custCores.page5=бомбы, а эффективность увеличивает выход без увеличения массы. -book.custCores.page6.title=Расщепляющиеся материалы -book.custCores.page6=Мы обсудим первичные материалы, используемые в ядрах ядерных устройств, от обычно используемых до более экспериментальных, в порядке атомной массы. -book.custCores.page7.title=Уран-233 -book.custCores.page7=Выведенный из тория-232, уран-233 в течение многих лет был потенциальным основным материалом, сдерживаемым сложностью производства и отделения от тория. -book.custCores.page8=Он имеет плотность ~19,05 г/см3 и критическую массу ~15 кг, что почти вчетверо меньше, чем у U-235. Однако он также имеет низкую выходную энергию деления ~197,5 МэВ. -book.custCores.page9.title=Уран-235 -book.custCores.page9=Наиболее широко известный расщепляющийся материал, полученный путем обогащения природного урана, это единственный природный расщепляющийся материал. - book.starter.cover=Руководство промышленника$по восстановлению$общества book.starter.title1=Вступление -book.starter.page1=Если вы читаете это, то весьма вероятно, что общество, так или иначе, полностью рухнуло. Правительства, страны и власть - это концепция прошлого, вместе со всеми удобствами цивилизованной жизни. Таким образом, это руководство расскажет вам, как изменить это, воссоздав индустрию и технологии прошлого для улучшения вашей собственной жизни. +book.starter.page1=Если вы читаете это, то весьма вероятно, что общество, так или иначе, полностью рухнуло. Правительства, страны и власть - это концепция прошлого, вместе со всеми удобствами цивилизованной жизни. Таким образом, это руководство расскажет вам,как изменить это, воссоздав индустрию и технологии прошлого для улучшения вашей собственной жизни. book.starter.title2=Уголь и горчичный газ -book.starter.page2=Хотя невозможно предсказать фактическое состояние мира в постапокалиптическое время, вполне вероятно, что война и промышленность в ее нынешнем виде, возможно, еще не закончились. Чтобы защитить свои собственные легкие, эффективный и дешевый способ - помочиться на какую-нибудь тряпку, чтобы сделать §lтраншейную маску§r, чтобы защитить вас от угольной пыли или горчичного газа, если вы когда-нибудь столкнетесь с ними. +book.starter.page2=Хотя невозможно предсказать фактическое состояние мира в постапокалиптическое время, вполне вероятно, что война и промышленность в ее нынешнем виде, возможно, еще не закончились. Чтобы защитить свои собственные лёгкие, эффективный и дешевый способ - помочиться на какую-нибудь тряпку, чтобы сделать §lтраншейную маску§r, чтобы защитить вас от угольной пыли или горчичного газа, если вы когда-нибудь столкнетесь с ними. book.starter.title3=Наковальни и прессы book.starter.page3=Квинтэссенцией для начала вашего промышленного возрождения являются §lнаковальня§r и §lпресс§r. Наковальня позволит вам вручную создавать ранние механизмы, такие как сборочная машина, в то время как пресс позволит вам изготавливать пластины, провода и схемы, которые вы не можете сделать с помощью наковальни. book.starter.title4=Шаблоны @@ -1018,338 +301,1348 @@ book.starter.page16=Если вы зашли так далеко, значит, book.starter.title18=Об авторе book.starter.page18=vær - просто парень, который слишком долго был пойман в ловушку серой пустоты, показанной в клипе Talking Heads §o"Once In A Lifetime"§r. Однажды он нашел дверь студии, но, к своему ужасу, обнаружил, что она была вырезана из картона. -book.lore.office0.title=Заявление об увольнении -book.lore.office0.author=Kosma -book.lore.office0.page0=Вчера руководство снова сократило наш отдел. Эти идиоты должны винить только самих себя, я не знаю, чего они ожидали после фиаско с Панаем. Кто, черт возьми, сливает такую информацию? Мы теряем миллионы, и -book.lore.office0.page1=это Я сейчас без работы. Это меня просят уйти в отставку. Я надеюсь, что вы, придурки, наконец-то извлекли урок из своего переизбытка ошибок и вытащили эту палку из своей задницы. -book.lore.office0.page2=Я не вернусь в пятницу. Просто пришлите чек на зарплату. - -book.lore.office1.title=Заметка -book.lore.office1.author=Jonas Quinn -book.lore.office1.page0= -book.lore.office2.page1= +#book.rbmk.cover=HOW 2 RBMK:$The Basics$of Reactor$Construction +#book.rbmk.title1=Introduction +#book.rbmk.page1=The §lRBMK§r is a fully modular nuclear reactor. Unlike most other reactors, there is no "core", and no size limitations, rather, the behavior and efficiency of the reactor comes from how it is built and how the different pieces interact with each other. +#book.rbmk.title2=Heat +#book.rbmk.page2=As the reactor operates, it will generate §lheat§r. Heat will spread between parts, slowly decreasing in the process. The goal is to produce as much heat as possible without melting the reactor, and to move that heat to a §lsteam channel§r which cools the reactor and produces steam. +#book.rbmk.title3=Fuel Rod +#book.rbmk.page3=The §lfuel rod§r will capture neutron flux, causing the fuel inside the fuel rod to react, giving off neutrons in the process. Neutrons are released in all four cardinal directions with a maximum range of 5 blocks. The amount of neutrons released depends on the §lfuel§r used. +#book.rbmk.title4=Control Rod +#book.rbmk.page4=The §lcontrol rod§r will decrease the amount of neutrons passing though it. Fully inserted, it will block all neutrons, at half insertion, it will only block half. Control rods are used to regulate the reactor's activity and to turn it off. +#book.rbmk.title5=Control Rod - Usage +#book.rbmk.page5=The center of the GUI will display the current rod insertion. The colored buttons on the left will add a control rod to a color group, which is useful to quickly select grouped rods from the §lRBMK console§r. The buttons on the right allow for manual insertion in increments of 25%%. +#book.rbmk.title6=Automatic Control Rod +#book.rbmk.page6=§lAutomatic control rods§r function nearly identical to regular control rods, but they cannot be configured manually, instead they will adjust the rod position based on the current temperature. What function to use and how deep to insert at what temperature has to be defined first. +#book.rbmk.title7=Steam Channel +#book.rbmk.page7=The §lsteam channel§r is the only part that will actively reduce the reactor's heat level. If the component's temperature exceeds the boiling point of the set steam type, it will try to consume as much water and produce as much steam as needed to cool back below the boiling point. +#book.rbmk.title8=Neutron Reflector +#book.rbmk.page8=The §lneutron reflector§r will block neutrons from passing it, instead the neutrons will be reflected back at the fuel rod they came from. This is useful for utilizing neutrons that would otherwise be wasted by simply exiting the reactor. +#book.rbmk.title9=Neutron Absorber +#book.rbmk.page9=The §lneutron absorber§r will simply block neutrons. Neutrons absorbed will not generate heat and be effectively voided. This is useful to prevent fuel rods from reacting that would otherwise be in range. +#book.rbmk.title10=Graphite Moderator +#book.rbmk.page10=The §lgraphite moderator§r will convert fast neutrons passing through it into slow neutrons. Most fuels fission into fast neutrons while needing slow neutrons to split, so using moderators is strongly recommended. +#book.rbmk.title11=Structural Column +#book.rbmk.page11=The §lstructural column§r will not interfere with neutrons, nor does it have special uses. It is recommended to fill the reactor with structural columns where no other parts will be, because structural columns are capable of transporting heat. +#book.rbmk.title12=Console +#book.rbmk.page12=The §lRBMK console§r lets you control the reactor from afar. Using the §lRBMK§r §lconsole linking device§r on an RBMK part and then the console will link the reactor to the console. The console can only manage 15x15 parts, for larger reactors you might want to use multiple consoles. +#book.rbmk.title13=Console Usage +#book.rbmk.page13=Clicking on the parts will select and deselect them. Using the colored buttons, you can quickly select all control rods of that color group. Button 'A' will select all control rods, 'X' will deselect all. +#book.rbmk.page14=Entering a number 0-100 in the green box and then hitting the button next to it will set all selected control rods to this position. Button 'AZ-5' will cause all control rods to fully insert. +#book.rbmk.title15=Fuel +#book.rbmk.page15=The §lfuel§r's reactivity is based on multiple factors. The main ones are the §lenrichment§r, §lxenon poison§r and the amount of incoming §lneutrons§r. Xenon builds up when the fuel receives few neutrons and burns away during normal operation. The effectivity of neutrons depends on the type, most fuels §lsplit best with slow neutrons§r. +#book.rbmk.title16=Meltdown +#book.rbmk.page16=§4§lAvoid. book_lore.author=By %s -book_lore.book_iodine.name=Note -book_lore.book_iodine.author=Dave -book_lore.book_iodine.page.0=alright you will not believe this, but old man weathervane finally managed to show up again since he left two weeks ago and what's more surprising is the fact that he actually decided to spill the beans on what they were doing in the canyon: -book_lore.book_iodine.page.1=apparently the morons from R&D discovered a compound that is mostly inorganic, pretty much like a toxin in nature, but get this: the dying cells will reproduce said toxin and excrete it through the skin, creating an aerosol that is highly contagious. -book_lore.book_iodine.page.2=it's just like a virus, but not a virus. the composition is weird, you can mix it in any household bottle but you do have to get the order right. the doc told me that the first ingredient which is just powdered iodine crystals goes into slot %d +book_lore.test.name=this book doesn't work... +book_lore.test.author=me i trolled you hehe :3c +book_lore.test.page.0=>hello anons before i begin let me clarify that i'm not gay. >Be me >This night >18 > At hanging out with my best friend with my parents gone for a few days >We've been best friends for a year now >Been drinking a bit and playing lots of video games and ordered a pizza >We were having a blast >At a certain point in the night like around 9:00 he makes a really funny joke that I don't remember but I know that it made us both laugh really hard > With out thinking I brush my right hand through his semi-curly black hair and call him a funny boy >He blushes >I realize I'm feeling flustered >We're kinda close >All of the sudden he kisses me and for some reason I kiss him back >We make love >Cuddle together and fall asleep >Wake up in the middle of the night with his head snuggled up on my chest and neck area >It feels nice but I'm not a homosexual +book_lore.test.page.1=I'm typing this as he's asleep in my arms. How do I let my best friend down nicely? I don't want to be a [redacted] /b/ +book_lore.test.page.2=3 +book_lore.test.page.3=4 +book_lore.test.page.4=5 -book_lore.book_phosphorous.name=Note -book_lore.book_phosphorous.author=Dave -book_lore.book_phosphorous.page.0=heyo, it's me again. i assume you got my last memo, the doc wasn't too happy about it. i'll have to do this quick, the dunderheads from R&D are currently moaning again, probably over money. again. anyway, doc weathervane found that the second -book_lore.book_phosphorous.page.1=ingredient is red phosphorous, whihc has to be mixed into slot %d +book_lore.book_iodine.name=Заметка +book_lore.book_iodine.author=Дейв +book_lore.book_iodine.page.0=Лады, вы не поверите, но старик Везэрвэйн наконец объявился через две недели после своего ухода и, что еще более впечатляюще, он раскололся на тему своих занятий в каньоне: +book_lore.book_iodine.page.1=Похоже, дебилы из НИОКР обнаружили соединение, в основном неорганическое, очень схожее с токсином, но вникните: умирающие клетки воспроизводят и выделяют его во внешнюю среду, создавая чрезвычайно заразный аэрозоль. +book_lore.book_iodine.page.2=Оно как вирус, но не вирус. Состав странный, его можно замешать в любой бутылке, но лишь в нужном порядке. Док сказал, что первый реактив это просто измельченные кристаллы иода, идущие в ячейку %d. -book_lore.book_dust.name=Note -book_lore.book_dust.author=Dave -book_lore.book_dust.page.0=the doc was furious when he found out that the R&D dorks kept the one remaining sample, ranting about gross negligence this and a doomsday scenario that. i told him to chill for a minute, getting all worked up isn't good for his blood pressure, not -book_lore.book_dust.page.1=that he has much blood left to begin with. one of the R&D morons slipped some more info into last week's circular, they call their little concoction "MKU" whatever that means, and that it contains actual household lint. can you believe that? one of the most -book_lore.book_dust.page.2=dangerous inventions of theirs and it contains dust. strangely they also mentioned that it goes into slot %d +book_lore.book_phosphorous.name=Заметка +book_lore.book_phosphorous.author=Дейв +book_lore.book_phosphorous.page.0=Здаров, эт я опять. Я полагаю, вы получили мою последнюю записку, доку, кстати, это не понравилось. Буду краток, дурачьё с НИОКР снова ноют, скорее всего, из-за денег. Опять. Так или иначе, Док нашел второй +book_lore.book_phosphorous.page.1=реагент. Это красный фосфор, его надо поставить в ячейку %d. -book_lore.book_mercury.name=Note -book_lore.book_mercury.author=Dave -book_lore.book_mercury.page.0=well that settles that. not counting the vomitting blood part, the toxicological report mostly resembles that of mercury poisoning. why? because our little mix also contains mercury! i just wonder where all that stuff comes from when being -book_lore.book_mercury.page.1=replicated by the body? whatever, the mercury goes into slot %d +book_lore.book_dust.name=Заметка +book_lore.book_dust.author=Дейв +book_lore.book_dust.page.0=Док был в ярости когда обнаружил, что придурки из НИОКР сохранили единственный образец, разглагольствуя о грубой халатности и конце света. Я сказал ему остыть. Понимаю, довели до белого каления, но такое волнение вредно для сосудов, +book_lore.book_dust.page.1=хотя, конечно, крови в них осталось немного. Один из НИОКР-овских дятлов разместил ещё немного информации в циркуляре на последнюю неделю, они назвали свою миленькую смесь "MKU" что бы это ни значило, и она содержит бытовой мусор. Ты можешь в это поверить? Одно из самых +book_lore.book_dust.page.2=их опасных изобретений, и содержит пыль. Как ни странно, они также отметили, что она входит в ячейку %d. -book_lore.book_flower.name=Note -book_lore.book_flower.author=Dave -book_lore.book_flower.page.0=remember when i mentioned in my first memo that the compound is mostly anorganic? well guess what, the old man shared the fourth ingredient: ipomoea nil, a genus of flower. morning glory! it might be due to its low sulfur content, whatever might be the case, -book_lore.book_flower.page.1=it does not work with other flowers. the morning glory goes into slot %d +book_lore.book_mercury.name=Заметка +book_lore.book_mercury.author=Дейв +book_lore.book_mercury.page.0=Ну, это отвечает на некоторые вопросы. Если не считать кровавой рвоты, токсикологическое заключение в основном напоминает отравление ртутью. Почему? Потому что наша милая смесь её содержит! Мне просто интересно, откуда это всё берется когда +book_lore.book_mercury.page.1=реплицируется в теле? Неважно, ртуть отправляется в ячейку %d. -book_lore.book_syringe.name=Note -book_lore.book_syringe.author=Dave -book_lore.book_syringe.page.0=a little addendum to my fifth message, obviously you have to store this MKU stuff in a container. the R&D nuts used regular metal syringes that they got from medical. surplus ware i presume, they got thousands of needles just lying around. the metal -book_lore.book_syringe.page.1=syringe goes into slot %d +book_lore.book_flower.name=Заметка +book_lore.book_flower.author=Дейв +book_lore.book_flower.page.0=Помните, ещё в первой записке я отметил, что смесь по большей части неорганическая? Не догадаетесь, но старик поделился четвёртым ингредиентом: ипомея фиалковая, вид цветов. Утренний лик! Это может быть связано с низким содержанием сферы, но, в любом случае, +book_lore.book_flower.page.1=это не работает с другими цветами. Вьюнок отправляется в ячейку %d. -book_lore.resignation_note.name=Letter of Resignation -book_lore.resignation_note.author=Kosma -book_lore.resignation_note.page.0=Management downsized our department again yesterday. Those idiots only have themselves to blame, I don't know what they were expecting after that fiasco. Who the hell leaks that sort of information? We're losing millions and -book_lore.resignation_note.page.1=it's ME who's the one out of a job now. I'M the one being asked to resign. I hope you asshats finally learn from your overabundance of mistakes and take that stick out of your ass. -book_lore.resignation_note.page.2=I'm not coming back on Friday. Just send the paycheck. +book_lore.book_syringe.name=Заметка +book_lore.book_syringe.author=Дейв +book_lore.book_syringe.page.0=Небольшое дополнение к пятому сообщению, очевидно, вам придётся хранить этот самый MKU в ёмкости. Полоумные из НИОКР использовали обычные металлические шприцы прямиком из больницы. Излишки посуды, я полагаю; бесполезные, они просто валяются тысячами повсюду. Металлический +book_lore.book_syringe.page.1=шприц идёт в ячейку %d. -book_lore.memo_stocks.name=Intracorporate Memorandum -book_lore.memo_stocks.page.0=Investor Relations - $ $ There's been some glaring discrepancies in the figures provided for the latest quarterly report. It would be prudent for the financial department to make some adjustments, so there won't be any concern. +book_lore.resignation_note.name=Заявление об отставке +book_lore.resignation_note.author=Косма +book_lore.resignation_note.page.0=Управление вновь сократило наш отдел. Эти идиоты могут обвинить в произошедшем только себя, я не знаю, чего они ожидали после такого фиаско. Кто, черт его дери, сливает информацию? Мы теряем миллионы, а +book_lore.resignation_note.page.1=работы лишили МЕНЯ. МЕНЯ попросили уволиться. Я надеюсь вы, кретины, наконец извлечете урок из громады своих ошибок и возьмёте себя в руки. +book_lore.resignation_note.page.2=Я не приду в пятницу. Просто пришлите мне зарплату. -book_lore.memo_schrab_gsa.name=Internal Memorandum -book_lore.memo_schrab_gsa.page.0=Contract Management - $ $ Legal has made a breakthrough with the DLA. They've awarded us with a 45 BILLION GSA Schedule for further procurement and research of saralloy. At current estimates, that would be at minimum -book_lore.memo_schrab_gsa.page.1=a 40%% profit on related operations, let alone the possibility of future contracts. Due to the confidential nature, all fiscal evidence is to remain private. +book_lore.memo_stocks.name=Внутрикорпоративный меморандум +book_lore.memo_stocks.page.0=Отношения с инвесторами - $ $ В цифрах последнего квартального отчёта наблюдаются вопиющие несоответствия. Для финансового отдела было бы благоразумно совершить некоторые корректировки, если они не хотят лишних проблем. -book_lore.memo_schrab_rd.name=Internal Memorandum -book_lore.memo_schrab_rd.page.0=Research & Development - $ $ Our main production method of saralloy has been through the new particle accelerator. However, the energy costs are exorbitantly high compared to the amount of output. -book_lore.memo_schrab_rd.page.1=Doctor Schrabauer, however, has discovered a new interaction - called "Strange Lepton Oscillation" - that could significantly reduce costs. Through a not entirely understood process, supplied electrons are transmuted into extremely -book_lore.memo_schrab_rd.page.2=high-energy photons, through a strange charm. This is an extreme exception to many established particle conversion laws, but preliminary experiments have proved that these protons transmute into up and down quarks, eventually creating saralloy. -book_lore.memo_schrab_rd.page.3=Strangely, the prototype requires Tungsten alloyed with small amounts of saralloy. In addition, a special capacitor is required to negate the leftover positive charge. +book_lore.memo_schrab_gsa.name=Внутренний меморандум +book_lore.memo_schrab_gsa.page.0=Управление контрактами - $ $ Адвокаты совершили прорыв в отношениях с DLA. Они выбили нам план на 45 МИЛЛИАРДОВ от GSA на дальнейшее получение и исследование сарсплава. По текущим оценкам, это будет как минимум +book_lore.memo_schrab_gsa.page.1=40%%-я прибыль от сопутствующих процессов, не говоря уже о потенциальных новых контрактах. Ввиду конфиденциального характера доступ к фискальным документам будет ограничен. -book_lore.memo_schrab_nuke.name=Research Report -book_lore.memo_schrab_nuke.author=Doctor Schrabauer -book_lore.memo_schrab_nuke.page.0=Our most recent investigation led us to the effects of nuclear explosions on materials. Thanks to our grant money, we *accidentally* tested our theory on direct saralloy synthesis from uranium. -book_lore.memo_schrab_nuke.page.1=Only our cyclotron has actually created saralloy previously. However, at our underground shot at Everwerpen, miniscule traces of saralloy were found in uranium ore at the site. All pure, metallic uranium nearby had fissioned. -book_lore.memo_schrab_nuke.page.2=As such, given enough uranium ore concentrated around an explosive, or perhaps even a dirty bomb rich in waste containing fissionable material, one could hypothetically create enough saralloy to collect manually. +book_lore.memo_schrab_rd.name=Внутренний меморандум +book_lore.memo_schrab_rd.page.0=НИОКР - $ $ Нашим основным способом производства сарсплава является его получение через ускоритель частиц. При этом затраты электроэнергии непомерно высоки по сравнению с выходом продукта. +book_lore.memo_schrab_rd.page.1=Доктор Шрабауэр, однако, обнаружил новый физический процесс, названный "Странное колебание лептонов", которое значительно удешевляет производство. Посредством этого, не до конца изученного взаимодействия, электроны преобразуются в чрезвычайно +book_lore.memo_schrab_rd.page.2=высокоэнергетические фотоны, будто бы с помощью магии. Это крайне экстремальное исключение из множества законов преобразования частиц, но предварительные эксперименты доказали, что по итогу протоны превращаются в верхние и нижние кварки, создавая сарсплав. +book_lore.memo_schrab_rd.page.3=Как ни странно, прототип требует вольфрам, легированный небольшим количеством сарсплава. Кроме того, требуется особый конденсатор для подавления остатков положительного заряда. -book_lore.insanity_1.name=Torn Page -book_lore.insanity_1.author=D Ferguson -book_lore.insanity_1.page.0=August 6th $ $ Months, no, years worth of dicking about wrestling with investors and operating the greatest energy hog in the northern hemisphere has finally paid off. -book_lore.insanity_1.page.1=While we aren't entirely sure what exactly we found - given we ran gigavolt collisions on particles that were still poorly documented - the results couldn't have been more exciting. -book_lore.insanity_1.page.2=We haven't found a name for whatever it is we've found, nor are we sure if we're looking at a new type of particle, a wormhole leading into another dimension, or satan's anus, but I'm sure our PR people can come up with something. +book_lore.memo_schrab_nuke.name=Исследовательский отчёт +book_lore.memo_schrab_nuke.author=Доктор Шрабауэр +book_lore.memo_schrab_nuke.page.0=Наше последнее исследование показало нам возможность влияния ядерных взрывов на материалы. Спасибо деньгам с гранта, мы *случайно* проверили нашу теорию прямого синтеза сарсплава из урана. +book_lore.memo_schrab_nuke.page.1=Ранее только циклотрон создавал сарсплав по-настоящему. Однако, во время подземных исследований в Эвэрверпене были найдены мельчайшие следы сарсплава в урановой руде. Весь чистый металлический уран поблизости распался. +book_lore.memo_schrab_nuke.page.2=Таким образом, при наличии достаточного количества урановой руды близ взрыва или даже грязной бомбы, богатой отходами, содержащими нестабильный материал, гипотетически можно создать достаточное количество сарсплава чтобы собирать его вручную. -book_lore.insanity_2.name=Torn Page -book_lore.insanity_2.author=D Ferguson -book_lore.insanity_2.page.0=August 8th $ $ We've kept "The Thing" (yes that's what we call it for now) in magnetic isolation for the past days. Spectroscopy tests ended up breaking our spectrometer, but we managed to gain some useful data. -book_lore.insanity_2.page.1=For starters, this thing glows like a christmas tree, radiation photons of about every wavelength you could think of enveloped by a powerful infrared corona. The logical conclusion is that looking at it with your naked -book_lore.insanity_2.page.2=eye would most likely kill you. Now that begs the question: How can a particle this tiny radiate such immense energy? What are you hiding, little man? +book_lore.bf_bomb_1.name=Личные заметки +book_lore.bf_bomb_1.author=М. Портер +book_lore.bf_bomb_1.page.0=Прошло немало времени, но мой перевод был одобрен. Оставим некомпетентность в стороне, но даже так, справиться с новыми выпускниками было непросто. $ Но не все новости так хороши – эта лаборатория скрывала дальнейшие подробности, и мне не нужен был ещё больший хаос вокруг очередного магического открытия. +book_lore.bf_bomb_1.page.1=Конечно, это случилось. У выпускников были свои сомнения (удивительно, учитывая, насколько они были лучезарны), но мой единственный... компетентный? коллега получил в свои руки брошюру из раздаточного материала. Похоже, у него больше связей, чем я думал. Его записка меня обескуражила: +book_lore.bf_bomb_1.page.2=похоже, они получили ЕЩЁ ОДИН загадочный материал, который они произвели из некоей смеси антивещества и какого-то пограничного изотопа. Брошюра именует его "ВИХРЕВИК" – чёрт меня подери, если б я ещё знал, что это. Неудивительно, что им понадобился физик-теоретик, +book_lore.bf_bomb_1.page.3=они даже не знают, что это вообще такое. В любом случае, почти любая работа была бы лучше, чем моя старая должность, так что я не в праве жаловаться на недостаток конкретики. -book_lore.insanity_3.name=Torn Page -book_lore.insanity_3.author=D Ferguson -book_lore.insanity_3.page.0=August 22nd $ $ I haven't slept right in days. Doc said he couldn't find anything. Been on all sorts of medication now, but the headaches only get worse. Lab boys suspect it might be contamination from the incident two weeks ago. -book_lore.insanity_3.page.1=Doc said it's not that likely, ARS is different. I might need to take some time off if this continues. The Thing is still in containment, the lab boys speculate if the field goes down, the entire complex turns into a mushroom cloud. -book_lore.insanity_3.page.2=I'm not sure how administration can keep this calm, but i don't get paid enough to waste thoughts on that. +book_lore.bf_bomb_2.name=Личные заметки +book_lore.bf_bomb_2.author=М. Портер +book_lore.bf_bomb_2.page.0=Несмотря на отсутствие информации в брошюре, я всё ещё хранил надежду, что они знают больше. Но нет. Каждый второй старший научный сотрудник слепо верит в этот материал; их суждения было практически библейскими. Я почти потерял дар речи. +book_lore.bf_bomb_2.page.1=При этом я даже не могу их винить. Вихревик не имеет никакого, вашу мать, смысла – он совершенно ни похож ни на одно вещество, что я видел раньше. Его внешний вид почти ужасает: буквально масса кружащихся цветов, чья неоново-зелёная поверхность пронизана более тёмными линиями. +book_lore.bf_bomb_2.page.2=Хуже того, эта штука является источником энергии. Наш образец нарушает АЛАРА: лаборатория была освобождена от персонала, когда его привезли, и единственный достаточно смелый сотрудник (некто др. Мелфин) надел защитный костюм А класса только чтобы пронести его 20 метров. +book_lore.bf_bomb_2.page.3=Эмпирические данные тоже не радуют, потому что он нарушает первый закон термодинамики, излучая такое количество энергии. Присутствие этой штуки хоть немного рядом, даже когда вас разделяет метр свинца, ужасает. Мы выбежали из камеры сразу после завершения спектроскопии, +book_lore.bf_bomb_2.page.4=при этом не узнав ничего нового. Эти идиоты из научной группы, Господи, они даже не глазом не повели. Находиться посреди этих "дискуссий" было ужасно; этот шарлатан, главный научный сотрудник, даже поделился слухами, будто бы запрет на испытания будет снят, будто бы мы будем +book_lore.bf_bomb_2.page.5=создавать бомбы из этой херни в ближайшие недели, кто в здравом уме будет над этим работать? Чёрт, один здравомыслящий ассистент (Эндрю) прозвал это "Жар-огнём" – потому что сгореть заживо на погребальном костре по сравнению с этим было бы безопасно. -book_lore.insanity_4.name=Torn Page -book_lore.insanity_4.author=D Ferguson -book_lore.insanity_4.page.0=August 28th $ $ They denied my request for leave and I've been pushing through the past few days. Headaches are getting worse. I'm not the only one who's feeling it, either. Some of the lab boys are in a similar situation. -book_lore.insanity_4.page.1=All the while The Thing has left the complex - GOOD. Some suits came in yesterday and had it shipped off, god knows where. One of the lab boys, Zachary, said they're probably burying the containment vessel in the desert, slowly -book_lore.insanity_4.page.2=trying to "fizzle out" The Thing far off from civilization. I say let's shoot it into space. Needless to say, our investors cut all funding for the time being. I should start looking for another job. +book_lore.bf_bomb_3.name=Личные заметки +book_lore.bf_bomb_3.author=М. Портер +book_lore.bf_bomb_3.page.0=Мы с командой добились некоторых успехов. Особенно в плане работы с персоналом – игнорирование особо верующих людей сделало работу гораздо пристойней. Мы до сих пор не имеем ни малейшего представления о реальных свойствах жар-огня (сложно анализировать +book_lore.bf_bomb_3.page.1=образец, тупо сжигающий твоё оборудование), но его взаимодействие с другими материалами дало нам пищу для размышлений. Примечательно, что они синтезировали "газообразную" форму: из всего персонала, именно Эндрю сообщил мне, что это был коллоид из микроскопических частиц жар-огня, взвешенных в некоем +book_lore.bf_bomb_3.page.2=инертном газе. Каждая частица окружена положительно заряженным 'пузырём' ионизированного газа, препятствующим ее осаждению. Кто бы мог подумать, что смертельное гамма-излучение может приносить пользу? Точно не я. $ Я предпочитаю не думать о том, что они превратили образец в +book_lore.bf_bomb_3.page.3=дисперсную смесь, но я не могу недооценить удобство этого газообразного жар-пламени – экспериментировать с ним стало гораздо безопаснее. $ Говоря о безопасности, главный исследователь (в приступе бездумного пренебрежения) сделал открытие, которое чуть не стоило ему жизни. +book_lore.bf_bomb_3.page.4=Он решил получить "грязнушку", позволив ячейке нашего нового коллоида напрямую взаимодействовать с какой-то очень дорогой антиматерией: в результате взрыва стол, на котором она стояла, превратился в кусок отбеленного радиацией шлака, прорезанный почти идеальной полусферой сквозь +book_lore.bf_bomb_3.page.5=столешницу, также главный исследователь получил острую лучевую болезнь. Думаю, теперь мы знаем, как его взорвать, но, боже, некоторые люди... -book_lore.insanity_5.name=Torn Page -book_lore.insanity_5.author=D Ferguson -book_lore.insanity_5.page.0=September 11th $ $ I'm having this re-occurring nightmare. I'm walking around in an open space and there's these people everywhere, people in rubber suits and freakishly deformed faces. It's always the same nightmare, -book_lore.insanity_5.page.1=and one of the guys from the lab I've spoken with lately has had the same dream. Meanwhile my post has been rather boring, the accelerator has been shut down, all ongoing projects are on halt and our budget is slowly melting away. -book_lore.insanity_5.page.2=Something is telling me that The Thing is still out there somewhere. I can feel it. +book_lore.bf_bomb_4.name=Личные заметки +book_lore.bf_bomb_4.author=М. Портер +book_lore.bf_bomb_4.page.0=Я просто не могу сбежать от своей старой работы. Это единственное место, где нанимают сотрудников, несмотря на всю эту проклятую суматоху, но я не собираюсь возвращаться в эту дыру. $ Они соблазнили меня только потому, что мне нужно уйти побыстрее. Помните тот договор об атмосферных испытаниях, из которого мы вышли неделю назад? +book_lore.bf_bomb_4.page.1=Что ж, придурок, ответственный за лабораторию, наконец-то сделал что-то правильно. Беспорядок начался со шквалом присоединения новых “учёных”, необходимых, чтобы суметь превратить жар-пламя в оружие. Недостаток критического мышления, если честно, сбивает с толку – Эндрю, благослови его Бог, спрыгнул с корабля +book_lore.bf_bomb_4.page.2=вторым, как только грёбаный ПРОЕКТ БОМБЫ был представлен. Этот придурок Мелфин выглядел таким довольным со своим маленьким механизмом – может, он подхватил мозговых червей, когда нёс образец? – который включал в себя какую-то чепуху с использованием обычного, твёрдого жар-огня и высоковольтную +book_lore.bf_bomb_4.page.3=батарейку. $ Похоже, форма важна для выхода энергии или способа активации или чего ещё, навроде урана против плутония в обычных ядерках, но конечным результатом является инициирующий удар, вызывающий взрыв. Я нахожу это весёлым, даже уморительным. +book_lore.bf_bomb_4.page.4=Все они придают большое значение активации; при этом игнорируя реальный механизм всего процесса, потому что не имеют ни малейшего понятия, как это работает! На данный момент оно может работать хоть от магии, а они пытаются скомкать это - просто ради очередных орудий войны. -book_lore.insanity_6.name=Torn Page -book_lore.insanity_6.author=D Ferguson -book_lore.insanity_6.page.0=October 3rd $ $ Half the staff is dead, most of the rest is in the ICU. My condition hasn't changed in the past weeks, for better or worse. -book_lore.insanity_6.page.1=Reality is starting to feel less and less real however. Sometimes I look up into the sky at night and hallucinate that thing we discovered all those weeks ago. -book_lore.insanity_6.page.2=That same brilliant sheen of crimson that our spectrometer spat out. My doc says it's delirium and stress caused by the incident, and perhaps hes right, but the meds aren't working at all. +book_lore.bf_bomb_5.name=Личные заметки +book_lore.bf_bomb_5.author=М. Портер +book_lore.bf_bomb_5.page.0=Я просто... не могу с этим справиться, даже спустя несколько дней. На самом деле, это было предрешено, учитывая, насколько легкомысленно научная группа относилась к безопасности. $ $ Доктор Мелфин, старший научный сотрудник, сгинул. Вероятно, мёртв. Я видел, как это произошло, собственными глазами, в испытательной камере. +book_lore.bf_bomb_5.page.1=Мы только что получили еще одну порцию чистого жар-огня, а он нашел необходимое электрооборудование и источник энергии, чтобы проверить свое предположение. Я не знаю, что стало причиной (было ли запущено оборудование? Он начал слишком рано?), но оно свершилось мучительно медленно, +book_lore.bf_bomb_5.page.2=когда зеленый свет поглотил стол, батарею и доктора Мелфина, стоящего всего в метре от него. Даже когда стол превратился в лужу кипящего металла на полу, он не загорелся. Я не знаю, что я увидел в его глазах... $$ Ужас или трепет, +book_lore.bf_bomb_5.page.3=может из-за того, что он ещё жив? Чем бы ни был наш "чудо" материал, его это не волновало. В следующий момент он исчез в яркой вспышке света. Он испарился? сгорел? аннигилирован? Отошлите меня хоть в грёбаный ад, я больше ничего не знаю! +book_lore.bf_bomb_5.page.4=Меня тошнит от главного исследователя. Он звиздел, что мы могли бы быть более осторожными, продолжать просто кружить вокруг, какую-то ещё подымающую мораль чепуху. Этот тупой урод никогда не поймет, что играя с огнем, можно обжечься. $ Я не стал заморачиваться с +book_lore.bf_bomb_5.page.5=увольнением, просто забрал свои шмотки и побежал к холмам. В любом случае, неважно; учитывая отсутствие звонков и грибовидное облако, поднявшееся над моим (теперь уже бывшим) местом работы, они взорвали всё либо перешли в полное распоряжение военных. +book_lore.bf_bomb_5.page.6=Есть важное различие между диссекцией и ВИВИСЕКЦИЕЙ, что они явно упустили из виду. Они могут рассекать металлы или атомы сколько угодно, но вторгаться внутрь, вивисекцировать саму реальность – это значит лишь порождать новых докторов Мелфинов. Кто знает! +book_lore.bf_bomb_5.page.7=В конце-концов, правительство стремится превратить эту херню в бомбы, может, мы увидим ещё пару войн, ещё пару миллионов людей, встретивших судьбу хуже смерти. Они не могут прятать это вечно. $ $ Меня это не волнует. Теперь не волнует. Боже, пожалуйста, позволь мне вернуться +book_lore.bf_bomb_5.page.8=к настоящей науке. $ $ Черт возьми, Мэй, возьми себя в руки... -book_lore.insanity_7.name=Torn Page -book_lore.insanity_7.author=D Ferguson -book_lore.insanity_7.page.0=December 12th $ $ I've been out of a job, but to be honest I'm somewhat thankful about it. My old workplace has gone up in flames - or so they say. -book_lore.insanity_7.page.1=The seismological observatory a couple miles south recorded constant earthquakes for days on end, not that anyone else would have noticed this deep in the desert. -book_lore.insanity_7.page.2=I have concluded that this place was cursed, making everyone sick and then descending into hell like some sort of Edgar Allan Poe story. Good riddance. +book_lore.beacon.name=Инструкция по эксплуатированию сигнального маяка +book_lore.beacon.author=ФлимФлэм Индастриз +book_lore.beacon.page.0=Благодарим вас за покупку светового сигнального маяка мод.2 (версия 1.3)! Этот небольшой буклет содержит краткое введение в работу маяка и его внутреннюю работу. +book_lore.beacon.page.1=Глава 1: Архитектура $ Каждый блок состоит из четырех основных частей: управляющей микросхемы, фонаря, противотуманной сирены и корпуса, в котором расположены остальные части. Для подробного объяснения, пожалуйста, +book_lore.beacon.page.2=обратитесь к принципиальной схеме, расположенной на внутренней стороне крышки для обслуживания корпуса. Фонарь состоит из поликарбонатного корпуса, содержащего двуцветную галогеновую лампу мощностью 250Вт со стандартным 200мм разъёмом, запасные части +book_lore.beacon.page.3=для лампы могут быть заказаны из наших магазинов. Не рекомендуется использовать лампы сторонних производителей, поскольку мы не можем гарантировать безопасную работу. Корпус изготовлен из специальной оцинкованной нержавеющей стали и устойчив к атмосферным воздействиям. +book_lore.beacon.page.4=Глава 2: Фонарь $ Основное назначение фонаря — освещение для облегчения обслуживания в суровых погодных условиях, а также информирование о состоянии устройства. Если Power-On Self-Test (POST) не пройден, фонарь будет светиться +book_lore.beacon.page.5=красным, в иных случаях зелёным. Обратите внимание, что цвета могут различаться в зависимости от типа сменной лампы. +book_lore.beacon.page.6=Глава 3: Туманный звуковой сигнал $ Туманный звуковой сигнал является основным устройством связи маяка. Маяк предназначен для peer-to-peer (P2P) связи, а также для широкого вещания. +book_lore.beacon.page.7=Глава 4: Peer-to-peer $ Подробную информацию о связи см. в руководстве по связи. Ниже приводится краткое описание установки P2P-соединения: во-первых, маяк должен подать сигнал «НАЧАТЬ СОЕДИНЕНИЕ», +book_lore.beacon.page.8=являющийся одним длинным звуком. Все доступные узлы также должны ответить одним длинным однотонным сигналом (порядок определяется близостью, а также правилами связи, изложенными в руководстве, раздел «Ответ на соединение») +book_lore.beacon.page.9=Как только желаемый партнер ответил, подайте сигнал «ПРИНЯТЬ СОЕДИНЕНИЕ» в виде двух длинных тонов, затем партнер также ответит двумя длинными тонами. Вся последующая коммуникация должна происходить с использованием заранее согласованных сигналов, чаще всего +book_lore.beacon.page.10=по стандарту ФАР-5М. Связь прекратится немедленно, если не будет согласован ни один стандарт, что будет служить «пингом». Если связь продолжается, соединение можно завершить, используя еще один длинный тональный сигнал «ЗАВЕРШИТЬ СОЕДИНЕНИЕ». +book_lore.beacon.page.11=Глава 5: Гарантия $ [страница намеренно оставлена ​​пустой] -book_lore.beacon.name=Signal Beacon Instruction Booklet -book_lore.beacon.author=Flim Flam Industries -book_lore.beacon.page.0=Thank you for your purchase of a Mk.2 Illuminated Signal Beacon (rev. 1.3)! This small booklet will provide a short introduction in the operation of the beacon, as well as its inner workings. -book_lore.beacon.page.1=Chapter 1: Architecture $ Each unit is composed of four main parts: The control circuit, a lantern, a fog horn and the casing which houses the other parts. For a detailed explanation of the main circuit, please -book_lore.beacon.page.2=refer to the circuit diagram found on the inside of the maintenance lid of the casing. The lantern is made up of a polycarbonate case containing a dual-color 250 Watt halogen bulb with a standard 200mm socket, replacements -book_lore.beacon.page.3=for the bulb can be ordered from our stores. Third party bulbs are not recommended, as we cannot ensure safe operation. The case is made from a specialized zinc-coated stainless steel and is resistant to weathering. -book_lore.beacon.page.4=Chapter 2: Lantern $ The lantern's primary uses are providing light for ease of maintenance in harsh weather conditions as well as a status indicator. Should the power-on self test (POST) fail, the lantern will -book_lore.beacon.page.5=light up red, otherwise it will light up green. Note that colors can vary depending on the replacement bulb. -book_lore.beacon.page.6=Chapter 3: Fog Horn $ The fog horn is the primary communication device of the beacon. The beacon is designed for peer-to-peer (P2P) commincation as well as for message boradcasting. -book_lore.beacon.page.7=Chapter 4: Peer-to-Peer $ For details on communication, refer to the communications handbook. A short rundown of establishing a P2P connection follows: First, the beacon has to give the "START CONNECTION" signal, -book_lore.beacon.page.8=being a single long tone. All available peers should respond with a single long tone as well (order specified by proximity, as well as the communication guidelines outlined in the handbook, section "Responding to a Connection") -book_lore.beacon.page.9=Once the desired peer has responded, give the "ACCEPT CONNECTION" signal, being two long tones, the peer will then also respon with two long tones. All communication afterwards has to happen using pre-negotiated signals, -book_lore.beacon.page.10=most commonly using the FAR-5M standard. Communication will end immediately if no standard has been negotiated, serving as a "ping". Should communication continue, the connection can be ended using another long single tone "END CONNECTION". -book_lore.beacon.page.11=Chapter 5: Warranty $ [ page intentionally left blank ] +cannery.f1=[ Нажмите f1 для справки ] -hbmfluid.none=Ничего -hbmfluid.water=Вода -hbmfluid.steam=Пар -hbmfluid.hotsteam=Горячий пар -hbmfluid.superhotsteam=Перегретый пар -hbmfluid.ultrahotsteam=Раскалённый пар -hbmfluid.lava=Лава -hbmfluid.uf6=Гексафторид урана -hbmfluid.puf6=Гексафторид плутония -hbmfluid.deuterium=Дейтерий -hbmfluid.tritium=Тритий -hbmfluid.oil=Неочищенная нефть -hbmfluid.hotoil=Горячая неочищенная нефть -hbmfluid.smear=Промышленное масло -hbmfluid.reclaimed=Очищенное промышленное масло -hbmfluid.petroil=Бензин -hbmfluid.lubricant=Машинная смазка -hbmfluid.diesel=Дизель -hbmfluid.kerosene=Керосин -hbmfluid.gas=Природный газ -hbmfluid.coolant=Хладагент -hbmfluid.coolant_hot=Горячий хладагент -hbmfluid.mug=Пиво "Mug Root" -hbmfluid.mug_hot=Горячее пиво "Mug Root" +cannery.centrifuge=Газовая цетрифуга +cannery.centrifuge.0=В газовые центрифуги можно подать жидкость обычными жидкостными трубами. +cannery.centrifuge.1=Большинство рецептов требуют несколько центрифуг. Промежуточные продукты нельзя передать по трубам. +cannery.centrifuge.2=Из этой стороны промежуточный продукт идёт в следующую центрифугу. +cannery.centrifuge.3=Гексафторид урана можно обрабатывать двумя центрифугами, но вы получите только U-238 и урановое топливо. +cannery.centrifuge.4=Для его разделения на уран-235 и уран-238 вам понадобится 4 центрифуги. +cannery.centrifuge.5=Некоторые рецепты требуют улучшение "Разгон газовой центрифуги". + +cannery.crucible=Плавильня +cannery.crucible.0=Плавильня используется для того, чтобы плавить руды, слитки, или другие металлические предметы с целью создания сплавов и литья. +cannery.crucible.1=Она требует внешний источник тепла, который должен быть подключён снизу, например, топку. +cannery.crucible.2=После нагрева плавильня может быть использована двумя способами, с шаблоном плавильни или без него. +cannery.crucible.3=Плавильня имеет два буферных хранилища для материалов: +cannery.crucible.4=Буфер слева предназначен для §aпобочных продуктов§r, все материалы, переплавленые без шаблона плавильни, окажутся здесь. +cannery.crucible.5=Если рецепт установлен, материалы, не совпадающие с рецептом, также будут храниться здесь. +cannery.crucible.6=Материалы в этом буфере не взаимодействуют друг с другом, они могут быть только выведены через зелёный выход для отливки. +cannery.crucible.7=Буфер справа предназначен для §cрецептов§r, если рецепт установлен и этот конкретный материал соответствует выходу рецепта, он окажется здесь. +cannery.crucible.8=Материалы будут медленно смешиваться, результат автоматически выльется из красного спуска. +cannery.crucible.9=Обратите внимание, что только этот буфер поддерживает создание рецептов. Если шаблон был установлен после расплавления предметов, материалы в буфере для побочки не смешаются или не переместятся в буфер рецептов. +cannery.crucible.10=Спуск будет выливать материал автоматически, если есть куда, например, литейный канал или форма. +cannery.crucible.11=Как и с другими литейными блоками, можно использовать лопату для очистки плавильни от материалов. + +cannery.fensu=ЭМЭХ +cannery.fensu.0=ЭМЭХ может хранить абсурдные количества энергии – 9 экза-HE(9 с 18 нулями). +cannery.fensu.1=Единственное место для подключения к сети находится снизу. +cannery.fensu.2=Оттуда же ЭМЭХ принимает редстоун-сигнал. + +cannery.firebox=Топка +cannery.firebox.0=Топка сжигает топливо для печи, создавая тепло. +cannery.firebox.1=Она может сжечь любое топливо для печи, но топливо более высокого качества, вроде угля, кокса или твёрдого топлива, будет гореть дольше и лучше. +cannery.firebox.2=Тепло передаётся через контакт сверху. Машины с таким же контактом снизу будут принимать это тепло, если поставить их на топку. +cannery.firebox.3=Если тепло не используется, а буфер тепла полон, топка отключится, чтобы не тратить топливо. +cannery.firebox.4=Одна машина, принимающая тепло–двигатель Стерлинга, превращающий его в электричество. + +cannery.foundryChannel=Литейный канал +cannery.foundryChannel.0=Литейные каналы используются для перемещения расплавленных материалов от плавильни или хранилища к формам. +cannery.foundryChannel.1=Каналы могут принимать материалы сверху при помощи спуска или напрямую от плавильни. Также каналы могут принимать материалы сбоку от других каналов. +cannery.foundryChannel.2=При транспортировке материалов каналы будут отдавать приоритет литейным спускам или малым формам. +cannery.foundryChannel.3=Когда материал не может попасть в приоритетный блок, он потечёт в соседний канал. +cannery.foundryChannel.4=Остатки материала могут быть убраны лопатой. + +cannery.silex=Лазер на свободных электронах и камера лазерного разделения изотопов +cannery.silex.0=Лазер на свободных электронах (FEL) создаёт мощный лазерный луч с помощью лазерного кристалла и энергии. +cannery.silex.1=Будьте осторожны! Лазер прожигает слабые блоки насквозь... +cannery.silex.2=...однако, взрывоустойчивые блоки этому не подвержены. +cannery.silex.3=FEL предназначен для питания камеры лазерного разделения изотопов (SILEX). FEL и SILEX должны быть на расстоянии хотя бы 2 блоков. +cannery.silex.4=Лазер должен проходить через стеклянные проёмы на SILEX. При неправильном выборе направления он просто сломается. +cannery.silex.5=Через разъёмы по бокам в SILEX можно подавать жидкости. +cannery.silex.6=Ещё один скрытый разъём находится снизу; из него можно вынимать предметы. +cannery.silex.7=Каждый рецепт требует определённого кристалла. Если кристалл лучше нужного, процесс ускорится. +cannery.silex.8=Одна FEL может питать до 5 SILEX. SILEX нужно ставить минимум в одном блоке друг от друга. + +cannery.stirling=Двигатель Стерлинга +cannery.stirling.0=Двигатель Стерлинга создаёт энергию с помощью внешних источников тепла. +cannery.stirling.1=Он ставится на машины, создающие тепло – например, топку. +cannery.stirling.2=Однако, количество тепла, которое он может принять, ограничено. Если тепла будет слишком много, двигатель сломается. +cannery.stirling.3=Улучшенный вариант может выдержать намного больше тепла. + +cannery.willow=Горчичная ива +cannery.willow.0=Горчичная ива - это растение, которое позволяет собирать металлический кадмий. +cannery.willow.1=Ивы можно сажать на землю, траву или даже мертвую/нефтянную землю, но для роста им требуется вода. +cannery.willow.2=Ивы можно удобрять костной мукой или промышленным удобрением. Им не нужен свет, чтобы расти. +cannery.willow.3=После второго этапа роста им понадобится дополнительный блок пространства над ними, чтобы расти дальше. +cannery.willow.4=После четвертой стадии роста им требуется мертвая или нефтянная земля под ними. +cannery.willow.5=Это можно сделать либо вручную посадив ивы на мертвую/нефтянную землю, либо установив поблизости башню гидроразрыва, которая постоянно загрязняет почву. +cannery.willow.6=После достижения заключительной стадии ива удалит загрязнения с земли, превращая мертвую/нефтянную землю обратно в обычную. +cannery.willow.7=Теперь листья ивы можно собирать. Сломав верхний блок, вы уроните небольшое ивовое растение с 3-6 листьями и сохраните нижнюю часть растения неповрежденной. +cannery.willow.8=Вскоре растение снова начнет расти, давая больше листьев, если землю заменить на нефтянную. Листья могут быть переработаны в порошок кадмия с помощью рудного окислителя. +cannery.willow.9=Сбор ивовых листьев можно автоматизировать с помощью автоматической бензопилы, она будет ломать только те растения, которые готовы к сбору урожая. + +cannery.hadron=Ускоритель частиц +cannery.hadron.0=Ускоритель частиц состоит из трех основных частей: Ядро, Камера анализа и набор сверхпроводящих катушек. +cannery.hadron.1=Это компонент ядра ускорителя частиц, который выстреливает частицы с релятивистскими скоростями по катушкам в сторону аналитической камеры +cannery.hadron.2=Частицы выбрасываются отсюда +cannery.hadron.3=И в круговых ускорителяхвозвращаются сюда +cannery.hadron.4=Сегмент катушки строится с помощью 8 плотных катушек, в середине которых ничего нет (или ядро) +cannery.hadron.5=Этот сегмент катушки также должен быть заключен в обшивку ускорителя частиц +cannery.hadron.6=Для доступа к компоненту ядра вам потребуется добавить один или несколько терминалов доступа +cannery.hadron.7=Для работы основного компонента также потребуется питание, добавьте порт питания на одной из граней +cannery.hadron.8=Ускорителю потребуется достаточное количество портов питания, чтобы обеспечить по крайней мере 10KHE электроэнергии на единицу силы катушки +cannery.hadron.9=Обратите внимание, что сегмент катушки, который оборачивается вокруг ядра, не учитывается при расчете силы катушки +cannery.hadron.10=Для чисто линейных ускорителей этот сегмент катушки также не требуется +cannery.hadron.11=Для круговых ускорителей необходимо добавить углы для изменения направления частицы +cannery.hadron.12=Внешние угловые катушки можно совсем не добавлять +cannery.hadron.13=Последняя часть нашего ускорителя - камера анализа, которая представляет собой пустую камеру 3x3x3, окруженную блоками камеры анализа +cannery.hadron.14=Ваш готовый ускоритель частиц должен выглядеть примерно так! + +cannery.hadron.math.0=Сила неодимовой катушки: 50 +cannery.hadron.math.1=50 x 8 x 10KHE = 400 x 10KHE = 4MHE +cannery.hadron.math.2=Сила звёзднометаллической катушки: 1,000 +cannery.hadron.math.3=1,000 x 8 x 10KHE = 8,000 x 10KHE = 80MHE + +cannery.schottky=Диод с частицами Шоттки +cannery.schottky.0=Это диод Шоттки для частиц. Он позволяет создавать более сложные конструкции ускорителей частиц и экономить электроэнергию +cannery.schottky.1=По умолчанию он блокирует все частицы и должен быть настроен с помощью отвертки +cannery.schottky.2=Эта сторона теперь будет принимать входящие частицы +cannery.schottky.3=А эта будет выбрасывать входящие частицы +cannery.schottky.4=Диод теперь имеет два выхода и будет вести себя квантовым образом, создавая виртуальные частицы для каждого выхода +cannery.schottky.5=Когда все виртуальные частицы достигнут аналитической камеры, будет выбрана частица с наименьшим импульсом, необходимым для текущего рецепта +cannery.schottky.6=Выбранная частица подвергается коллапсу волновой функции и становится реальной, потребляя только ту энергию, которая требуется коллапсирующей частице +cannery.schottky.7=Если какие-либо виртуальные частицы сталкиваются с неправильными сегментами, все виртуальные частицы отбрасываются, а вместо них коллапсирует ошибочная частица +cannery.schottky.8=Обратите внимание, что виртуальные частицы никогда не будут использовать один и тот же выход диода дважды. Бесконечные циклы будут неудачными, но повторный вход в диод в остальном будет нормальным +cannery.schottky.9=Ваш диод Шоттки для частиц должен быть правильно заключен, со свободными путями для каждого выхода пересечения + +chem.ARSENIC=Экстракция мышьяка +chem.ASPHALT=Производство асфальта +chem.BAKELITE=Производство бакелита +chem.BALEFIRE=Смешивание ракетного жар-топлива +chem.BP_BIOFUEL=Трансэтерификация биотоплива +chem.BP_BIOGAS=Производство биогаза +chem.C4=Синтез C-4 +chem.CC_CENTRIFUGE=Сепарация хлоркальцита +chem.CC_ELECTROLYSIS=Электролиз хлорида кальция +chem.CC_HEATING=Усовершенствованное сжижение угля +chem.CC_HEAVY=Базовое сжижение угля +chem.CC_I=Улучшенное сжижение угля +chem.CC_NAPHTHA=Сжижение нафты +chem.CC_OIL=Сжижение угля +chem.CIRCUIT_4=Производство разогнанной микросхемы +chem.CIRCUIT_5=Производство высокопроизводительной микросхемы +chem.CO2=Получение CO2 путём сжигания природного газа +chem.COALGAS_LEADED=Смешивание этилированного угольного газа +chem.COLTAN_CLEANING=Очищение колтана +chem.COLTAN_CRYSTAL=Кристаллизация тантала +chem.COLTAN_PAIN=Производство Пандемониум(III)танталита +chem.CONCRETE=Производство бетона +chem.CONCRETE_ASBESTOS=Производство асбестоцемента +chem.COOLANT=Смешивание хладагента +chem.CORDITE=Производство кордита +chem.CRYOGEL=Смешивание криогеля +chem.DESH=Производство деш +chem.DEUTERIUM=Извлечение дейтерия +chem.DUCRETE=Производство дюкрета +chem.DYN_DNT=Диносинтез динейтрония +chem.DYN_EUPH=Диносинтез эвфемия +chem.DYN_SCHRAB=Диносинтез шрабидия +chem.DYNAMITE=Синтез динамита +chem.ELECTROLYSIS=Крио-электролиз +chem.EPEARL=Синтез жемчужин Эндера +chem.ETHANOL=Производство этанола +chem.FC_BITUMEN=Крекинг битума +chem.FC_DIESEL_KEROSENE=Крекинг дизеля +chem.FC_GAS_PETROLEUM=Крекинг попутного газа +chem.FC_I_NAPHTHA=Крекинг промышленного масла +chem.FC_KEROSENE_PETROLEUM=Крекинг керосина +chem.FP_HEAVYOIL=Переработка тяжелой нефти +chem.FP_LIGHTOIL=Переработка лёгкой нефти +chem.FP_NAPHTHA=Переработка нафты +chem.FP_SMEAR=Переработка промышленного масла +chem.FR_PETROIL=Смешивание бензина +chem.FR_REOIL=Воссоздание нефти +chem.FRACKSOL=Смешивание гидроразрывной жидкости +chem.GASOLINE=Производство газолина +chem.GASOLINE_LEADED=Смешивание этилированного газолина +chem.HEAVY_ELECTROLYSIS=Электролиз тяжёлой воды +chem.HELIUM3=Извлечение гелия-3 из лунного грунта +chem.KEVLAR=Производство кевларовой смеси +chem.LAMINATE=Производство ламината +chem.LPG=Сжижение попутного газа +chem.LUBRICANT=Смешивание машинной смазки +chem.METH=Синтез метамфетамина +chem.MEAT_PROCESSING=Обработка мяса глифидов +chem.NITAN=Смешивание супер топлива NITAN© +chem.NITRIC_ACID=Производство азотной кислоты +chem.OIL_SAND=Извлечение битуминозных песков +chem.OSMIRIDIUM_DEATH=Производство осмиридного раствора +chem.PC=Синтез поликарбоната +chem.PC_ELECTROLYSIS=Электролиз хлорида калия +chem.PEROXIDE=Производство пероксида водорода +chem.PET=Синтез ПЭТ +chem.PETROIL_LEADED=Смешивание этилированного бензина +chem.POLYMER=Синтез полимера +chem.PUF6=Производство гексафторида плутония +chem.PVC=Синтез поливинилхлорида +chem.RUBBER=Производство резины +chem.SAS3=Производство Трисульфида шрабидия +chem.SATURN=Производство сатурнита +chem.SCHRABIDATE=Производство шрабидата железа +chem.SCHRABIDIC=Смешивание шрабидиевой кислоты +chem.SF_BIOFUEL=Затвердевание биотоплива +chem.SF_BIOGAS=Затвердевание биогаза +chem.SF_DIESEL=Затвердевание дизеля +chem.SF_GAS=Затвердевание природного газа +chem.SF_HEATINGOIL=Затвердевание битума +chem.SF_HEAVYOIL=Затвердевание тяжёлой нефти +chem.SF_KEROSENE=Затвердевание керосина +chem.SF_LIGHTOIL=Затвердевание лёгкой нефти +chem.SF_LUBRICANT=Затвердевание машинной смазки +chem.SF_NAPHTHA=Затвердевание нафты +chem.SF_OIL=Затвердевание неочищенной нефти +chem.SF_PETROIL=Затвердевание бензина +chem.SF_PETROLEUM=Затвердевание попутного газа +chem.SF_RECLAIMED=Затвердевание очищенного масла +chem.SF_SMEAR=Затвердевание промышленного масла +chem.SHELL_CHLORINE=Производство артиллерийского хлора +chem.SHELL_MUSTARD=Производство артиллерийского иприта +chem.SHELL_PHOSGENE=Производство артиллерийского фосгена +chem.SOLID_FUEL=Производство твердого ракетного топлива +chem.SOLVENT=Смешивание органического растворителя +chem.STEAM=Кипячение воды +chem.SULFURIC_ACID=Производство серной кислоты +chem.TATB=Синтез TATB +chem.TEL=Смешивание тетраэтилсвинца +chem.TEST=Тест +chem.THORIUM_SALT=Обогащение ториевой соли +chem.TNT=Синтез ТНТ +chem.UF6=Производство гексафторида урана +chem.VIT_GAS=Остекловывание газообразных ядерных отходов +chem.VIT_LIQUID=Остекловывание жидких ядерных отходов +chem.XENON=Ксеноновый цикл Линде +chem.XENON_OXY=Улучшенный ксеноновый цикл Линде +chem.YELLOWCAKE=Производство йеллоукейка + +commands.satellite.no_active_satellites=Нет активных спутников! +commands.satellite.no_satellite=Спутник не найден! +commands.satellite.not_a_satellite=Предмет в руке не является спутником! +commands.satellite.satellite_descended=Спутник успешно удалён. +commands.satellite.satellite_orbited=Спутник запущен. +commands.satellite.should_be_run_as_player=Команда должна быть выполнена игроком! + +container.ammoBag=Сумка для патрон +container.amsBase=Основание АМС [Декор] +container.amsEmitter=Излучатель АМС [Декор] +container.amsLimiter=Стабилизатор АМС [Декор] +container.anvil=Наковальня %s уровня +container.arcFurnace=Дуговая печь +container.armorTable=Стол модификации брони +container.ashpit=Зольник +container.assembler=Сборочная машина +container.autocrafter=Автоматический верстак +container.barrel=Бочка +container.bat9000=Охереть-большая цистерна 9000 +container.battery=Энергохранилище +container.bombMulti=Многоцелевая бомба +container.casingBag=Сумка для гильз +container.catalyticReformer=Каталитический реформер +container.centrifuge=Центрифуга +container.chemplant=Химическая установка +container.compactLauncher=Компактная пусковая площадка +container.craneBoxer=Конвейерный упаковщик +container.craneExtractor=Конвейерный извлекатель +container.craneGrabber=Конвейерный сборщик +container.craneInserter=Конвейерный вставщик +container.craneRouter=Конвейерный сортировщик +container.craneUnboxer=Конвейерный распаковщик +container.crateDesh=Деш-ящик +container.crateIron=Железный ящик +container.crateSteel=Стальной ящик +container.crateTemplate=Сборочный ящик +container.crateTungsten=Вольфрамовый ящик +container.crystallizer=Рудный окислитель +container.cyclotron=Циклотрон +container.dfcCore=Реактор тёмного синтеза +container.dfcEmitter=Излучатель РТС +container.dfcInjector=Топливный инжектор РТС +container.dfcReceiver=Приёмник РТС +container.dfcStabilizer=Стабилизатор РТС +container.diFurnace=Доменная печь +container.diFurnaceRTG=Ядерная доменная печь +container.droneCrate=Пассивный ящик для дронов +container.droneDock=Дрон-станция +container.droneProvider=Ящик снабжения для дронов +container.droneRequester=Ящик запроса для дронов +container.electricFurnace=Электрическая печь +container.epress=Электрический пресс +container.exposureChamber=Камера облучения частицами +container.factoryAdvanced=Усовершенствованная фабрика +container.factoryTitanium=Базовая фабрика +container.fluidtank=Цистерна +container.fileCabinet=Картотечный шкафчик +container.forceField=Излучатель силового поля +container.frackingTower=Башня гидроразрыва пласта +container.furnaceBrick=Кирпичная печь +container.furnaceCombination=Коксовая печь +container.furnaceIron=Железная печь +container.furnaceSteel=Стальная печь +container.fusionMultiblock=Большой термоядерный реактор +container.fusionaryWatzPlant=Реактор Ватцз-установки +container.gasCentrifuge=Газовая центрифуга +container.gasFlare=Газовая башня +container.generator=Ядерный реактор +container.hadron=Ускоритель частиц +container.heaterFirebox=Топка +container.heaterHeatex=Теплообменник +container.heaterOilburner=Жидкостный бойлер +container.heaterOven=Нагревательная печь +container.hydrotreater=Гидроочиститель +container.iGenerator=Промышленный генератор +container.keyForge=Стол мастера по замкам +container.launchPad=Пусковая площадка +container.launchPadRusted=Пусковая площадка +container.launchTable=Большая пусковая площадка +container.leadBox=Защитная коробка +container.machineAmmoPress=Пресс для патронов +container.machineArcWelder=Дуговой сварщик +container.machineArcFurnaceLarge=Дуговая печь +container.machineBoiler=Нагреватель нефти +container.machineCMB=Печь для стали Альянса +container.machineCoal=Генератор внутреннего сгорания +container.machineCoker=Коксовая установка +container.machineCompressor=Компрессор +container.machineCrucible=Плавильня +container.machineDiesel=Дизельный генератор +container.machineElectricBoiler=Электрический нагреватель нефти +container.machineElectrolyser=Электролизёр +container.machineFEL=FEL +container.machineFunnel=Комбинаторная воронка +container.machineICF=ICF +container.machineICFPress=Топливный пресс ICF +container.machineITER=Термоядерный реактор +container.machineLargeTurbine=Промышленная паровая турбина +container.machineLiquefactor=Разжижитель +container.machineMixer=Промышленный смеситель +container.machineOreSlopper=П.Б.Р. +container.machinePyroOven=Пиролизная печь +container.machineRefinery=Нефтеперерабатывающий завод +container.machineRotaryFurnace=Роторная печь +container.machineSelenium=Радиальный двигатель +container.machineShredder=Измельчитель +container.machineSILEX=Камера ЛРИ +container.machineSolderingStation=Паяльный стол +container.machineSolidifier=Отвердитель +container.machineStrandCaster=Машина непрерывного литья заготовок +container.machineTurbine=Паровая турбина +container.machineTurbofan=Турбовентилятор +container.machineWoodBurner=Генератор на дровах +container.machine_schrabidium_transmutator=Шрабидиевный трансмутатор +container.massStorage=Хранилище +container.microwave=Микроволновка +container.miningDrill=Автоматический горный бур +container.miningLaser=Шахтёрский лазер +container.missileAssembly=Ракетосборочная станция +container.nukeBoy=Малыш +container.nukeCustom=Кастомная бомба +container.nukeFleija=Ф.Л.Е.Я +container.nukeFstbmb=Жар-бомба +container.nukeFurnace=Ядерная печь +container.nukeGadget=Гаджет +container.nukeMan=Толстяк +container.nukeMike=Иви Майк +container.nukeN2=N²-мина +container.nukeN45=Морская мина N45 +container.nukePrototype=Прототип +container.nukeSolinium=Синий Ополаскиватель +container.nukeTsar=Царь-бомба +container.oilWell=Нефтяная вышка +container.orbus=Тяжёлый магнитный контейнер для антиматерии +container.paDetector=Детектор частиц +container.paDipole=Диполь +container.paQuadrupole=Квадруполь +container.paSource=Источник частиц +container.plasmaHeater=Нагреватель плазмы +container.pneumoTube=Пневмотруба +container.press=Пресс +container.puf6_tank=Бочка PuF6 +container.pumpjack=Станок-качалка +container.radGen=Радиационный двигатель +container.radar=Радар +container.radiobox=FM передатчик +container.radiolysis=РИТЭГ и Камера Радиолиза +container.radiorec=FM радио +container.rbmkBoiler=Паровой канал РБМК +container.rbmkControl=Регулирующие стержни РБМК +container.rbmkControlAuto=Автоматические регулирующие стержни РБМК +container.rbmkHeater=Жидкостный нагреватель РБМК +container.rbmkOutgasser=Стержень облучения РБМК +container.rbmkReaSim=Топливные стержни РБМК (РеаСим) +container.rbmkRod=Топливные стержни РБМК +container.rbmkStorage=Колонна-хранилище РБМК +container.reactorBreeding=Реактор-размножитель +container.reactorControl=Блок удалённого доступа к реактору +container.reactorLarge=Большой ядерный реактор +container.reactorResearch=Исследовательский реактор +container.reix=Мэйнфрейм Rei-X +container.rtg=РИТЭГ-генератор +container.rtgFurnace=РИТЭГ-печь +container.rttyCounter=Редстоун-радио счётчик предметов +container.rttyLogic=Редстоун-радио логический приёмник +container.rttyReceiver=Редстоун-радио приёмник +container.rttySender=Редстоун-радио передатчик +container.safe=Сейф +container.satDock=Станция посадки груза +container.satLinker=Устройство связи +container.siren=Сирена +container.soyuzCapsule=Грузовая посадочная капсула +container.soyuzLauncher=Стартовая платформа "Союза" +container.storageDrum=Бочка для захоронения ядерных отходов +container.teleLinker=Телелинкер +container.teleporter=Телепорт +container.toolBox=Ящик для инструментами +container.trainTram=Трамвай с плоской платформой +container.turbinegas=Газовая турбина комбинированного цикла +container.turretArty=Грег +container.turretChekhov=Чеховское ружьё +container.turretFriendly=Мистер Дружелюбный +container.turretFritz=Фриц +container.turretHIMARS=Генри +container.turretHoward=Говард +container.turretJeremy=Джереми +container.turretMaxwell=Максвелл +container.turretRichard=Ричард +container.turretSentry=Браун +container.turretTauon=Тауон +container.uf6_tank=Бочка UF6 +container.vacuumDistill=Вакуумный нефтеперерабатывающий завод +container.wasteDrum=Бочка с отработанным топливом +container.watzPowerplant=Реактор Ватцза +container.weaponsTable=Стол модификации оружия +container.zirnox=Ядерный реактор Цирнокс + +copytool.filter=Фильтр +copytool.invertRedstone=Инвертированный редстоун +copytool.invertFilter=Инвертированный фильтр +copytool.orientation=Ориентация +copytool.pattern0=Красная сторона +copytool.pattern1=Оранжевая сторона +copytool.pattern2=Желтая сторона +copytool.pattern3=Зелёная сторона +copytool.pattern4=Синяя сторона +copytool.pattern5=Фиолетовая сторона + +crucible.aa=Производство продвинутого сплава +crucible.abronze=Производство мышьяковой бронзы +crucible.bbronze=Производство висмутовой бронзы +crucible.bscco=Производство BSCCO +crucible.cdalloy=Производство кадмиевой стали +crucible.cmb=Производство стали Альянса +crucible.ferro=Производство ферроуранового сплава +crucible.hematite=Переплавка гематита в железо +crucible.hss=Производство высокоскоростной стали +crucible.malachite=Переплавка малахита в медь +crucible.magtung=Производство намагниченного вольфрама +crucible.redcopper=Производство красной меди +crucible.steel=Производство стали +crucible.steelMeteoric=Переплавка метеоритного железа в сталь +crucible.steelPig=Переплавка чугуна в сталь +crucible.steelWrought=Переплавка кованого железа в сталь +crucible.tcalloy=Производство технециевой стали + +damage.inset=Сопротивления к при полном наборе: +damage.item=Сопротивления к: +damage.category.EXPL=Взрывам +damage.category.FIRE=Огню +damage.category.PROJ=Снарядам +damage.exact.drown=Утоплению +damage.exact.fall=Падению +damage.exact.LASER=Лазерам +damage.exact.onFire=Горению +damage.other=Прочему + +death.attack.acid=%1$s упал в кислоту. +death.attack.acidPlayer=%1$s был растворён %2$s. +death.attack.ams=%1$s искупался в смертельных частицах, ещё неизвестных науке. +death.attack.amsCore=%1$s испарился в огне сингулярности. +death.attack.asbestos=%1$s теперь имеет право на финансовую компенсацию. +death.attack.bang=%1$s превратился в рагу. +death.attack.blackhole=%1$s превратился в спагетти. +death.attack.blacklung=%1$s умер от болезни черных лёгких. +death.attack.blender=%1$s стал фаршем. +death.attack.boat=%1$s был пришиблен лодкой. +death.attack.boil=%1$s был заживо сварен %2$s. +death.attack.boxcar=%1$s был раздавлен падающим грузовым вагоном. Ну что ж... +death.attack.broadcast=%1$s растворил свой мозг. +death.attack.building=%1$s был придавлен падающим зданием. +death.attack.cheater=внутренности %1$s превратились в овёс. (???) +death.attack.chopperBullet=%1$s был изничтожен %2$s. +death.attack.cloud=%1$s растаял, как эскимо на солнце. +death.attack.cmb=%1$s был продырявлен %2$s. +death.attack.digamma=%1$s шагнул в пустоту. +death.attack.electricity=%1$s был убит электрическим током. +death.attack.electrified=%1$s превратился в батарейку благодаря %2$s. +death.attack.euthanized=%1$s был усыплён %2$s. +death.attack.euthanizedSelf2=%1$s выиграл премию Дарвина. +death.attack.euthanizedSelf=%1$s нашёл путь к лучшей жизни в России. +death.attack.exhaust=%1$s был превращен в шашлык стартовой ракетой. +death.attack.flamethrower=%1$s был кремирован %2$s. +death.attack.flamethrower.item=%1$s был кремирован %2$s с помощью %3$s. +death.attack.ice=%1$s был превращён в эскимо %2$s. +death.attack.laser=%1$s был превращён в пепел %2$s. +death.attack.laser.item=%1$s был превращён в пепел %2$s с помощью %3$s. +death.attack.lead=%1$s умер от отравления свинцом. +death.attack.lunar=%1$s забыли зарядить свои жизненно важные органы. +death.attack.meteorite=%1$s был раздавлен огромным космическим камнем. +death.attack.microwave=%1$s взорвался от микроволнового излучения. +death.attack.mku=%1$s умер по неизвестным причинам. +death.attack.monoxide=%1$s забыл сменить батарейки в своем детекторе угарного газа. +death.attack.mudPoisoning=%1$s утонул в токсичной жиже. +death.attack.nuclearBlast=%1$s был стёрт с лица земли ядерным взрывом. +death.attack.overdose=%1$s умер от передоза метамфетамином. +death.attack.pc=%1$s стал лужицей внутри розового облака. +death.attack.plasma=%1$s был испарён %2$s. +death.attack.radiation=%1$s умер от лучевой болезни. +death.attack.revolverBullet=%1$s получил пулю в голову от %2$s. +death.attack.revolverBullet.item=%1$s получил пулю в голову от %2$s с помощью %3$s. +death.attack.rubble=%1$s превратился в лепёшку. +death.attack.shrapnel=%1$s был разорван шрапнелью. +death.attack.spikes=%1$s был пронзён насквозь. +death.attack.subAtomic1=Атомы %1$s были уничтожены %2$s. +death.attack.subAtomic2=%1$s был смещен QPU, потому что %2$s изменил его фактическую скорость. +death.attack.subAtomic3=%1$s перестал существовать из-за %2$s. +death.attack.subAtomic4=%1$s был поделён на ноль %2$s. +death.attack.subAtomic5=%1$s был обнулён %2$s. +death.attack.suicide=%1$s оторвал себе голову. +death.attack.taint=%1$s умер от невероятного количества опухолей. +death.attack.tau=%1$s был изрешёчен %2$s при помощи отрицательно заряженых тауонов. +death.attack.tauBlast=%1$s заряжал XVL1456 слишком долго и взлетел на воздух. +death.attack.teleporter=%1$s телепортировался в никуда. + +death.sedna.electric=%1$s был поджарен. +death.sedna.electric.attacker=%1$s был поджарен %2$s. +death.sedna.explosive=%1$s был взорван. +death.sedna.explosive.attacker=%1$s был взорван %2$s. +death.sedna.fire=%1$s был сожжён. +death.sedna.fire.attacker=%1$s был сожжён %2$s. +death.sedna.laser=%1$s был измельчён. +death.sedna.laser.attacker=%1$s был измельчён %2$s. +death.sedna.microwave=%1$s был отмикроволнован. +death.sedna.microwave.attacker=%1$s был отмикроволнован %2$s. +death.sedna.subatomic=%1$s был распылён. +death.sedna.subatomic.attacker=%1$s был распылён %2$s. +death.sedna.other=%1$s был убит. +death.sedna.other.attacker=%1$s был убит %2$s. +death.sedna.physical=%1$s был пристрелен. +death.sedna.physical.attacker=%1$s был пристрелен %2$s. + +desc.gui.assembler.warning=§cОшибка:§r Требуется шаблон сборочной машины! +desc.gui.chemplant.warning=§cОшибка:§r Требуется шаблон химической машины! +desc.gui.gasCent.enrichment=§2Обогащение§r$Для обогащения урана требуются каскады.$Каскады с двумя центрифугами дадут$урановое топливо, каскады с четырьмя центрифугами$обеспечат полное разделение. +desc.gui.gasCent.output=§6Перемещение жидкости§r$Жидкость может быть перемещена$через выходной порт для дальнейшей обработки. +desc.gui.nukeBoy.desc=§1Требует:§r$ * Нейтронный щит$ * Снаряд U235$ * Субкритическая цель U235$ * Взрывчатка$ * Воспламенитель +desc.gui.nukeGadget.desc=§1Требует:§r$ * 4 Набора взрывоопасных линз$ Первого поколения$ * Плутониевое ядро$ * Провода +desc.gui.nukeMan.desc=§1Требует:§r$ * 4 Набора взрывоопасных линз$ Первого поколения$ * Плутониевое ядро$ * Зажигатель +desc.gui.nukeMike.desc=§1Требует:§r$ * 4 Набора взрывоопасных линз$ * Плутониевое ядро$ * Блок охлаждения дейтерия$ * Дейтериевый бак с урановым покрытием$ * Дейтериевый бак +desc.gui.nukeTsar.desc=§1Требует:§r$ * 4 Набора взрывоопасных линз$ * Плутониевое ядро$§9Опционально:§r$ * Ядро Царь-бомбы +desc.gui.rttyLogic.cond0=Сигнал §6МЕНЬШЕ§r Константы +desc.gui.rttyLogic.cond1=Сигнал §6МЕНЬШЕ ИЛИ РАВЕН§r Константе +desc.gui.rttyLogic.cond2=Сигнал §6БОЛЬШЕ ИЛИ РАВЕН§r Константе +desc.gui.rttyLogic.cond3=Сигнал §6БОЛЬШЕ§r Константы +desc.gui.rttyLogic.cond4=Сигнал §6РАВЕН§r Константе +desc.gui.rttyLogic.cond5=Сигнал §6НЕ РАВЕН§r Константе +desc.gui.rttyLogic.cond6=Сигнал §6СООТВЕТСТВУЕТ§r Строке +desc.gui.rttyLogic.cond7=Сигнал §6НЕ СООТВЕТСТВУЕТ§r Строке +desc.gui.rttyLogic.cond8=Сигнал §6СОДЕРЖИТ§r Строку +desc.gui.rttyLogic.cond9=Сигнал §6НЕ СОДЕРЖИТ§r Строку +desc.gui.radiolysis.desc=§9Описание§r$Этот РИТЭГ более эффективен, чем другие, и$оснащен камерой радиолиза для$крекинга и стерилизации. +desc.gui.rtgBFurnace.desc=Требует хотя бы 15 единиц тепла$Чем больше тепла добавляется, тем быстрее оно работает$Нагрев, превышающий максимальную скорость, не будет иметь никакого эффекта$Короткоживущие пеллеты могут распадаться +desc.gui.rtg.heat=§eТекущий уровень тепла: %s +desc.gui.rtg.pellets=Принимаемые пеллеты: +desc.gui.rtg.pelletHeat=%s (%s тепла) +desc.gui.rtg.pelletPower=%s (%s HE/тик) +desc.gui.template=§9Шаблоны§r$Шаблоны могут быть сделаны$в Папке шаблонов машин. +desc.gui.turbinegas.automode=§2Автоматический режим турбины§r$Нажав кнопку "AUTO", турбина автоматически$отрегулирует выработку электроэнергии$в зависимости от мощности, требуемой от сети +desc.gui.turbinegas.fuels=§6Принимаемое топливо: +desc.gui.turbinegas.warning=§cНизкий уровень топлива или смазки!§r +desc.gui.zirnox.coolant=§3Охлаждение§r$CO2 перемещает тепло из активной зоны в воду.$Вода будет нагреваться до перегретого пара.$Эффективность охлаждения и производства пара$зависит от давления. +desc.gui.zirnox.pressure=§6Давление§r$Давление можно снизить, выпустив CO2.$Однако при слишком низком давлении$эффективность охлаждения и выработка пара будут снижены.$Избегайте расплавления! +desc.gui.zirnox.warning1=§cВнимание:§r Вода необходима для$правильной работы реактора! +desc.gui.zirnox.warning2=§cВнимание:§r CO2 необходим для$правильной работы реактора! + +desc.item.ammo.con_accuracy2=- Сильно сниженная точность +desc.item.ammo.con_damage=- Сильно сниженный урон +desc.item.ammo.con_heavy_wear=- Сильно увеличенный износ +desc.item.ammo.con_ling_fire=- Нет затяжного огня +desc.item.ammo.con_nn=- Не ядерная бомба +desc.item.ammo.con_no_damage=- Нет урона +desc.item.ammo.con_no_explode1=- Не взрывается +desc.item.ammo.con_no_explode2=- Нет урона блокам +desc.item.ammo.con_no_explode3=- Нет взрывной волны +desc.item.ammo.con_no_fire=- Не зажигательное +desc.item.ammo.con_no_mirv=- Не рекомендуется использовать с Прото-MIRV +desc.item.ammo.con_no_projectile=- No projectile +desc.item.ammo.con_penetration=- Не проникающее +desc.item.ammo.con_radius=- Уменьшенный радиус взрыва +desc.item.ammo.con_range2=- Сильно уменьшенный радиус +desc.item.ammo.con_sing_projectile=- Одиночный снаряд +desc.item.ammo.con_speed=- Уменьшенная скорость снаряда +desc.item.ammo.con_super_wear=- Очень сильно увеличенный износ +desc.item.ammo.con_wear=- Увеличенный износ +desc.item.ammo.neu_40mm=* Это 40-миллиметровая граната, которую мы сжали, чтобы подогнать под ствол! +desc.item.ammo.neu_blank=* Это пустышка +desc.item.ammo.neu_boat=* Лодка +desc.item.ammo.neu_boxcar=* Вагон +desc.item.ammo.neu_building=* Здание +desc.item.ammo.neu_chlorophyte=* Хлорофит +desc.item.ammo.neu_eraser=* Для удаления больших ошибок +desc.item.ammo.neu_fun=* Веселье для всей семьи! +desc.item.ammo.neu_heavy_metal=* Тяжёлый металл +desc.item.ammo.neu_homing=* Самонаводящийся +desc.item.ammo.neu_jolt=* Трясущее +desc.item.ammo.neu_leadburster=* Прикрепляется к поверхностям и распыляет пули +desc.item.ammo.neu_less_bouncy=* Менее отскакивающий +desc.item.ammo.neu_maskman_flechette=* Стреляет трассирующим снарядом, который вызывает бурю из ОУ-флешетов +desc.item.ammo.neu_maskman_meteorite=* Стреляет снарядом с высоким уроном, который вызывает небольшой метеорит +desc.item.ammo.neu_more_bouncy=* Сильно отскакивающий +desc.item.ammo.neu_no_bounce=* Не отскакивающий +desc.item.ammo.neu_no_con=* Никаких затрат, лол +desc.item.ammo.neu_starmetal=* Звёздный металл +desc.item.ammo.neu_tracer=* Трассирующий +desc.item.ammo.neu_uhh=* Эм... +desc.item.ammo.neu_warcrime1=* Технически военное преступление +desc.item.ammo.neu_warcrime2=* Вдвое больше военных преступлений в одном снаряде! +desc.item.ammo.pro_accurate1=+ Увеличенная точность +desc.item.ammo.pro_accurate2=+ Почти идеальная точность +desc.item.ammo.pro_balefire=+ Жар-пламя +desc.item.ammo.pro_bomb_count=+ Увеличенное количество бомб +desc.item.ammo.pro_caustic=+ Разъедающее +desc.item.ammo.pro_chainsaw=+ Бензопила +desc.item.ammo.pro_chlorine=+ Хлорный газ +desc.item.ammo.pro_damage=+ Увеличенный урон +desc.item.ammo.pro_damage_slight=+ Урон выше среднего +desc.item.ammo.pro_emp=+ ЭМ-импульс +desc.item.ammo.pro_explosive=+ Взрывоопасный +desc.item.ammo.pro_fallout=+ Радиоактивные осадки +desc.item.ammo.pro_fit_357=+ Подходит для каждой .357 модели +desc.item.ammo.pro_flames=+ Увеличенное количество огня +desc.item.ammo.pro_gravity=+ Уменьшенная гравитация +desc.item.ammo.pro_heavy_damage=+ Сильно увеличенный урон +desc.item.ammo.pro_incendiary=+ Зажигательный +desc.item.ammo.pro_lunatic=+ Лунный +desc.item.ammo.pro_marauder=+ Мгновенно удаляет раздражающих и несбалансированных врагов +desc.item.ammo.pro_mining=+ Взрыв выкапывает все блоки +desc.item.ammo.pro_no_gravity=+ Не подвержен влиянию гравитации +desc.item.ammo.pro_nuclear=+ Ядерный +desc.item.ammo.pro_penetration=+ Проникающий +desc.item.ammo.pro_percussion=+ Percussive blast +desc.item.ammo.pro_phosphorus=+ Вызывает фосфорные ожоги +desc.item.ammo.pro_phosphorus_splash=+ Волна фосфора +desc.item.ammo.pro_poison_gas=+ Ядовитая волна +desc.item.ammo.pro_radius=+ Увеличенный радиус взрыва +desc.item.ammo.pro_radius_high=+ Сильно увеличенный радиус взрыва +desc.item.ammo.pro_range=+ Увеличенная дальность +desc.item.ammo.pro_rocket=+ Ракета +desc.item.ammo.pro_rocket_propelled=+ Реактивный двигатель +desc.item.ammo.pro_shrapnel=+ Шрапнель +desc.item.ammo.pro_speed=+ Увеличенная скорость снаряда +desc.item.ammo.pro_stunning=+ Оглушает +desc.item.ammo.pro_toxic=+ Токсичный +desc.item.ammo.pro_wear=+ Уменьшенный износ +desc.item.ammo.pro_withering=+ Иссущающий +desc.item.armorMod.display=чтобы показать установленные модификаторы брони +desc.item.battery.charge=Заряд: %s / %sHE +desc.item.battery.chargePerc=Заряд: %s%% +desc.item.battery.chargeRate=Скорость зарядки: %sHE/тик +desc.item.battery.dischargeRate=Скорость разрядки: %sHE/тик +desc.item.durability=Прочность: %s +desc.item.grenade.fuse=Предохранитель: %s +desc.item.grenade.fuseImpact=Столкновение +desc.item.grenade.fuseInstant=Мгновенный +desc.item.gun.ammo=Патронов %s +desc.item.gun.ammoBelt=Лента +desc.item.gun.ammoEnergy=Энергия; %sHE за выстрел +desc.item.gun.ammoEnergyAlt=%sHE за вторичный выстрел +desc.item.gun.ammoMag=%s / %s +desc.item.gun.ammoType=Тип патронов: %s +desc.item.gun.ammoTypeAlt=Вторичные патроны: %s +desc.item.gun.damage=Урон: %s - %s +desc.item.gun.damageAlt=Урон: %s +desc.item.gun.lore=чтобы увидеть более глубокий лор +desc.item.gun.loreFunc=чтобы увидеть больше функциональности +desc.item.gun.manufacturer=Производитель: %s +desc.item.gun.name=Название: %s +desc.item.gun.pellets=Снаряды: %s - %s +desc.item.gun.penetration=Armor Penetration Value: %s +desc.item.kitArmor=Броня будет заменена новым комплектом. +desc.item.kitHaz=Броня будет заменена защитным костюмом. +desc.item.kitPack=Какая выгодная сделка! +desc.item.kitPool=Пожалуйста, очистите инвентарь перед открытием! +desc.item.pileRod=§eПКМ по просверленному графиту для вставки$§eПКМ отвёрткой чтобы извлечь$ +desc.item.pipette.corrosive=Может работать с коррозийными жидкостями. +desc.item.pipette.laboratory=Теперь с 50-кратной точностью! +desc.item.pipette.noCorrosive=§eНе может работать с коррозийными жидкостями. +desc.item.pipette.noEmpty=§eПипетка не пуста! +desc.item.rtgDecay=Распадается на: %s x%s +desc.item.rtgHeat=Уровень энергии: %s +desc.item.storage.capacity=Вместимость %s%%s +desc.item.storage.proscons=to view pros cons list +desc.misc.357=§o.357 Магнум +desc.misc.556=§o.223 Ремингтон +desc.misc.762=§o.308 Винчестер +desc.misc.func=§n-- Функция -- +desc.misc.lanthanum="Лантан" +desc.misc.lctrl=§Удерживайте <§e§oLCTRL§8§o> %s +desc.misc.lore=§n-- Лор -- +desc.misc.lshift=§8Удерживайте <§e§oLSHIFT§8§o> %s +desc.misc.luna=§o20x155mm Лунный +desc.misc.meltPoint=Точка плавления: §c%s +desc.misc.noPos=Позиция не установлена! +desc.misc.pos=Позиция: %s, %s, %s +desc.misc.posSet=Позиция установлена! +desc.item.wasteCooling=Охладите в бочке с отработанным топливом +desc.item.zirnoxBreedingRod=§2[Стержень-размножитель Цирнокс]$§eРазмещать рядом с топливными стержнями$§eВремя работы %d тиков +desc.item.zirnoxRod=§a[Топливный стержень Цирнокс]$§eГенерирует %1$d тепла на тик$§eВремя работы %2$d тиков + +digamma.playerDigamma=Доза дигаммы: +digamma.playerHealth=Влияние дигаммы: +digamma.playerRes=Сопротивление к дигамме: +digamma.title=ДИАГНОСТИКА ДИГАММЫ + +entity.entity_cyber_crab.name=Киберкраб +entity.entity_elder_one.name=Крякос Старший +entity.entity_fucc_a_ducc.name=Утка +entity.entity_glyphid.name=Глифид +entity.entity_glyphid_behemoth.name=Глифид-страж +entity.entity_glyphid_blaster.name=Глифид-стрелок +entity.entity_glyphid_bombardier.name=Глифид-бомбардир +entity.entity_glyphid_brawler.name=Глифид-солдат +entity.entity_glyphid_brenda.name=Бренда +entity.entity_glyphid_digger.name=Глифид-копатель +entity.entity_glyphid_nuclear.name=Чмяк +entity.entity_glyphid_scout.name=Глифид-скаут +entity.entity_ntm_fbi.name=Агент ФБР +entity.entity_ntm_fbi_drone.name=Дрон ФБР +entity.entity_ntm_radiation_blaze.name=Элементаль Расплавления +entity.hbm.entity_ntm_ufo.name=Марсианский корабль вторжения +entity.entity_mob_hunter_chopper.name=Вертолёт-охотник +entity.entity_mob_mask_man.name=Маскмен +entity.entity_mob_gold_creeper.name=Золотой крипер +entity.entity_mob_nuclear_creeper.name=Ядерный крипер +entity.entity_mob_phosgene_creeper.name=Фосгеновый крипер +entity.entity_mob_tainted_creeper.name=Заражённый порчей крипер +entity.entity_mob_volatile_creeper.name=Возгораемый крипер +entity.entity_parasite_maggot.name=Паразитическая личинка +entity.entity_pigeon.name=Голубь +entity.entity_plastic_bag.name=Пластиковый пакетик +entity.entity_taint_crab.name=Заражённый порчей теслакраб +entity.entity_tesla_crab.name=Теслакраб +entity.hbm.entity_balls_o_tron.name=Баллс-О-Трон Прайм +entity.hbm.entity_balls_o_tron_seg.name=Баллс-О-Трон Сегмент +entity.hbm.entity_bullet.name=Пуля +entity.hbm.entity_rocket.name=Ракета +entity.hbm.entity_schrabnel.name=Шрапнель + +excavator.crusher=Включить измельчитель +excavator.drill=Включить бур +excavator.silktouch=Включить шёлковое касание +excavator.veinminer=Включить жилковый майнер +excavator.walling=Включить постройку стен + +flare.ignition=Сжигание +flare.valve=Пропускной клапан + +fluid.acid_fluid=Кислота +fluid.corium_fluid=Кориум +fluid.mud_fluid=Токсичные отходы +fluid.rad_lava_fluid=Вулканическая лава +fluid.schrabidic_fluid=Шрабидиевая кислота +fluid.toxic_fluid=Стереотипная зелёная слизь +fluid.volcanic_lava_fluid=Вулканическая лава + +foundry.filter=Фильтр: %s +foundry.inverted=Инвертирован редстоуном +foundry.invertFilter=Инвертированный фильтр +foundry.noCast=Литейная форма не установлена! + +geiger.chunkRad=Текущий уровень радиации в чанке: +geiger.envRad=Общее радиационное заражение среды: +geiger.playerRad=Уровень радиоактивного заражения игрока: +geiger.playerRes=Защищённость игрока: +geiger.title=СЧЁТЧИК ГЕЙГЕРА +geiger.title.dosimeter=ДОЗИМЕТР + +gun.make.ARMALITE=Armalite +gun.make.AUTO_ORDINANCE=Корпорация Авто-Орденс +gun.make.BAE=БАЕ Системс +gun.make.BENELLI=Бенелли Арми СПА +gun.make.BLACK_MESA=Исследовательский комплекс Чёрная Меза +gun.make.CERIX=Церикс Магнус +gun.make.COLT=Colt's Manufacturing Company +gun.make.COMBINE=Вселенский Союз +gun.make.CUBE=Куб 2: Sauerbraten +gun.make.DRG=Deep Rock Galactic +gun.make.ENZINGER=Энзингер Юнион +gun.make.EQUESTRIA=Equestria Missile Systems +gun.make.FLIMFLAM=ФлимФлэм Индастриз +gun.make.F_STRONG=Форт Стронг +gun.make.GLORIA=Gloria GmbH +gun.make.HASBRO=Хасбро +gun.make.H_AND_K=Heckler & Koch +gun.make.H_AND_R=Harrington & Richardson +gun.make.IF=Огненные Подковы +gun.make.IMI=Военная Промышленность Израиля +gun.make.IMI_BIGMT=IMI / Большая Гора +gun.make.LANGFORD=Langford Research Laboratories +gun.make.LUNA=Корпус Лунной Обороны +gun.make.MAGNUM_R_IMI=Magnum Research / Israel Military Industries +gun.make.MANN=Манн Ко. +gun.make.MAXIM=Хайрам Максим +gun.make.METRO=Оружейники Метро +gun.make.MWT=Лаборатории прототипов МВТ +gun.make.NAWS=Kayarm Industries +gun.make.ERFURT=Erfurter Maschinenfabrik Geipel +gun.make.NONE=- +gun.make.RAYTHEON=Raytheon Missile Systems +gun.make.REMINGTON=Remington Arms +gun.make.ROCKWELL=Корпорация "Рокуэлл" +gun.make.ROCKWELL_U=Корпорация "Рокуэлл"? +gun.make.RYAN=Ryan Industries +gun.make.SAAB=Saab Bofors Dynamics +gun.make.SACO=Saco Defense / US Ordnance +gun.make.TULSKY=Тульский Оружейный Завод +gun.make.UAC=Объединённая Аэрокосмическая Корпорация +gun.make.UNKNOWN=??? +gun.make.WESTTEK=WestTek +gun.make.WGW=Wilhelm-Gustloff-Werke +gun.make.WINCHESTER=Winchester Repeating Arms Company +gun.make.WINCHESTER_BIGMT=Winchester Repeating Arms Company / Большая Гора + +gun.name.ar15_50=Модификация AR-15 под .50 BMG +gun.name.baeAR=Стандартная винтовка британнской армии +gun.name.bel=Катапульта для жар-яиц +gun.name.benelli=Benelli M4 Super 90 +gun.name.benelliDrum=Benelli M4 Super 90 (Барабанный магазин) +gun.name.bio=RI No. 2 Mark 1 +gun.name.bolter=Болтер модели "Мантикора" +gun.name.congoLake=Помповый гранатомет Congo Lake +gun.name.cPython=Colt Python +gun.name.cz53=Персональный миниган CZ53 +gun.name.cz57=Миниган "Мститель" CZ57 +gun.name.dart=Игломёт +gun.name.deagle=IMI Desert Eagle +gun.name.emp=Проектор ЭМИ-сфер +gun.name.extinguisher=6кг огнетушитель PROTEX +gun.name.ffiV=FFI Viper +gun.name.ffiVInox=FFI Viper Inox +gun.name.ffiVLead=FFI Viper Lead +gun.name.ffiVN1=FFI Viper N1 +gun.name.ffiVN2=FFI Viper N2 +gun.name.ffiVUltra=FFI Viper Ultra +gun.name.ffivBling=FFI Viper Bling +gun.name.ffivSatur=FFI Viper D-25A +gun.name.g36=Heckler & Koch Gewehr 36 +gun.name.gPistol=Granatpistole HK69 +gun.name.gustav=Безоткатная винтовка "Карл-Густав" M1 +gun.name.ifHorseshoe=IF-18 "Подкова" +gun.name.ifPit=IF-18 "Подкова" - Бездонная яма +gun.name.ifScope=IF-18 "Подкова" с прицелом +gun.name.ifStorm=IF-18 "Подкова" - Сильвер Шторм +gun.name.ifVanity=IF-18 "Подкова" - Ванити +gun.name.karl=M1 Karl-Gerät +gun.name.ks23=KS-23 +gun.name.lacunae=Тётушка Лакунэ +gun.name.lasetDet=Hopeville Laser Detonator +gun.name.lunaAR=1936 Bishamonten type Assault Rifle +gun.name.lunaGun=1958 Lunatic Gun (Revised) +gun.name.lunaHLR=1944 Chang'e type LMG +gun.name.lunaShotty=1978 Guan Yu type Scattergun (Revision 1) +gun.name.lunaSMG=1936 Ānanda type SMG +gun.name.lunaSniper=1909 Rāhula type Anti-Material Rifle +gun.name.lunaTWR=Time Warp Rifle +gun.name.m2=Browning machine gun, cal. .50, M2, HB +gun.name.m42=Тактическая ядерная катапульта M-42 +gun.name.m42MIRV=Экспериментальная РГН M-42 +gun.name.m60=Пулемёт калибра 7.62мм M60 +gun.name.maxim=Пулемёт "Максим" +gun.name.maximDouble=Сдвоенный пулемёт "Максим" +gun.name.mg3=Universal-Maschinengewehr Modell 3 +gun.name.mp40=Maschinenpistole 40 +gun.name.nerf=Неизвестный бластер NERF +gun.name.osipr=Стандартная пульсовая винтовка Патруля +gun.name.panz=Raketenpanzerbüchse 54 +gun.name.quadro=Счетверённый переносной ракетный гранатомёт +gun.name.remington870=Remington 870 +gun.name.revolverCursed=Стандартный пистолет британнской армии +gun.name.sauer=Дробовик Sauer +gun.name.spas12=Franchi SPAS-12 +gun.name.spiw=H&R SPIW +gun.name.stinger=FIM-92 Stinger man-portable air-defense system +gun.name.stingerOneSky=The One Sky Stinger +gun.name.supershotty=Двуствольный дробовик +gun.name.tau=Тау-пушка XVL1456 +gun.name.tommy9=Модификация пистолета-пулемёта M1A1 под 9мм +gun.name.tommy=Пистолет-пулемёт M1A1 +gun.name.topaz=Тяжёлый огнемёт +gun.name.uacCarbine=UAC-41 Carbine +gun.name.uacDeagle=UAC-H54 "Martian Raptor" Automag +gun.name.uacDMR=UAC-30 Designated Marksman Rifle +gun.name.uacLMG=UAC-49 Light Machine Gun +gun.name.uacPistol=UAC .45 Standard Issue Handgun +gun.name.uacSMG=UAC Compact Sub-Machine Gun +gun.name.uboinik=Револьверный дробовик "Убойник" +gun.name.uzi=IMI Uzi +gun.name.uziSatur=IMI Uzi D-25A +gun.name.win1887=Winchester Model 1887 +gun.name.win1887Inox=Winchester Model 1887 Inox +gun.name.win20Inox=Winchester Model 20 Inox +gun.name.win20Poly=Winchester Model 20 Polymer +gun.name.win20Satur=Winchester Model 20 D-25A +gun.name.zomg=Пушка отрицательной энергии EMC101 + +hadron.analysis=Анализ... +hadron.buttonOn=Камера анализа (если есть) включена +hadron.buttonOff=Камера анализа выключена +hadron.error_generic=Ошибка! +hadron.error_no_charge=Ошибка 0x01 [NC] +hadron.error_no_analysis=Ошибка 0x02 [NA] +hadron.error_obstructed_channel=Ошибка 0x03 [OC] +hadron.error_expected_coil=Ошибка 0x04 [EC] +hadron.error_malformed_segment=Ошибка 0x05 [MS] +hadron.error_analysis_too_long=Ошибка 0x06 [ATL] +hadron.error_analysis_too_short=Ошибка 0x07 [ATS] +hadron.error_diode_collision=Ошибка 0x08 [DC] +hadron.error_branching_turn=Ошибка 0x09 [BT] +hadron.hopper0=§eОбычный режим:$Все предметы будут использованы. +hadron.hopper1=§eРежим воронки:$Один предмет всегда останется. +hadron.hopper2=§eОдиночный режим:$Только один предмет может поместиться в слот. +hadron.idle=Ожидание +hadron.modeCircular=§eРежим циклического ускорителя:$Магниты должны замкнуться обратно в сердечник.$Открывает больше рецептов. +hadron.modeLine=§eРежим линейного ускорителя:$Ускоритель заканчивается камерой анализа.$Меньше рецептов. +hadron.noresult=Нет результата. +hadron.noresult_too_slow=Недостат. ускорение! +hadron.noresult_wrong_ingredient=Неверный рецепт! +hadron.noresult_wrong_mode=Неверный режим! +hadron.progress=В процессе... +hadron.stats=Предыдущие результаты: +hadron.stats_coord=Ошибка: %s / %s / %s +hadron.stats_momentum=Ускорение: %s +hadron.success=Завершено! + +hazard.prot=Защищает от: +hazard.noprot=НЕ защищает от: +hazard.bacteria=Бактерий / Аэрозолей +hazard.corrosive=Едких испарений +hazard.gasChlorine=Химических газов +hazard.gasInert=Инертных газов / Удушающих веществ +hazard.gasMonoxide=Угарного газа +hazard.light=Ярких вспышек +hazard.nerveAgent=Нервно-паралитических средств +hazard.neverProtects=Не защищает от: +hazard.particleCoarse=Частиц, находящихся в воздухе +hazard.particleFine=Твердых частиц +hazard.sand=Раздражителей глаз + +hbm.key=NTM Hotkeys +hbm.key.calculator=Калькулятор +hbm.key.copyToolAlt=Устройство настройки: Переключить вставку +hbm.key.copyToolCtrl=Устройство настройки: Применить к трубам +hbm.key.craneLoad=Загрузить/Разгрузить кран +hbm.key.craneMoveDown=Двигать кран назад +hbm.key.craneMoveLeft=Двигать кран влево +hbm.key.craneMoveRight=Двигать кран вправо +hbm.key.craneMoveUp=Двигать кран вперёд +hbm.key.dash=Рывок +hbm.key.gunPrimary=Основной огонь +hbm.key.gunSecondary=Альтернативный огонь +hbm.key.gunTertitary=Переключить прицел +hbm.key.toggleBack=Включить ранец +hbm.key.toggleHUD=Включить HUD +hbm.key.trainInv=Открыть инвентарь поезда +hbm.key.reload=Перезарядить + +hbmfluid.air=Сжатый воздух +hbmfluid.alumina=Глинозём hbmfluid.amat=Антиматерия -hbmfluid.aschrab=Антишрабидий -hbmfluid.heavyoil=Тяжелая нефть -hbmfluid.bitumen=Битум -hbmfluid.heatingoil=Мазут -hbmfluid.naphtha=Нафта -hbmfluid.lightoil=Легкая нефть -hbmfluid.petroleum=Попутный нефтяной газ -hbmfluid.lpg=Сжиженный попутный газ (СПГ) -hbmfluid.peroxide=Пероксид водорода -hbmfluid.watz=Токсичные отходы -hbmfluid.wastefluid=Жидкие ядерные отходы -hbmfluid.wastegas=Газовые ядерные отходы -hbmfluid.biogas=Биогаз -hbmfluid.biofuel=Биотопливо -hbmfluid.sas3=Трисульфид шрабидия -hbmfluid.nitan=100-октановое сверхтопливо NITAN© -hbmfluid.cryogel=Криогель -hbmfluid.hydrogen=Жидкий водород -hbmfluid.oxygen=Жидкий кислород -hbmfluid.xenon=Ксенон -hbmfluid.balefire=Ракетное жар-топливо -hbmfluid.mercury=Ртуть -hbmfluid.plasma_dt=Дейтерий-Тритиевая плазма -hbmfluid.plasma_dh3=Дейтерий-Гелий-3 плазма -hbmfluid.plasma_hd=Водород-Дейтериевая плазма -hbmfluid.plasma_ht=Водород-Тритиевая плазма -hbmfluid.plasma_xm=Гелий-4-Кислородная плазма -hbmfluid.plasma_bf=Жар-плазма -hbmfluid.schrabidic=Шрабидиевая кислота -hbmfluid.pain=Пандемониум(III)Раствор танталита -hbmfluid.gasoline=Газолин -hbmfluid.gasoline_leaded=Этилированный газолин -hbmfluid.petroil_leaded=Этилированный бензин -hbmfluid.spentsteam=Пар низкого давления -hbmfluid.fracksol=Жидкость для гидроразрыва пласта -hbmfluid.alcohol=Изопропиловый спирт -hbmfluid.balefire_dp=Израсходованное ракетное жар-топливо -hbmfluid.plasma_warp=Плазма сверхсветового привода -hbmfluid.salt=Смесь расплавленной соли -hbmfluid.salt_pu=Топливная смесь расплавленной соли и плутония-239 -hbmfluid.salt_pu_dp=Обедненная топливная смесь расплавленной соли и плутония-239 -hbmfluid.salt_u=Топливная смесь расплавленной соли и урана-235 -hbmfluid.salt_u_dp=Обедненная топливная смесь расплавленной соли и урана-235 -hbmfluid.sarin=Зарин -hbmfluid.sas3_dp=Истощенный трисульфид шрабидия -hbmfluid.sas3_nit=Трисульфид шрабидия с нитаниевым усилителем -hbmfluid.sas3_nit_dp=Истощенный трисульфид шрабидия с нитановым усилителем -hbmfluid.death=Осмиридовый раствор -hbmfluid.helium3=Гелий-3 -hbmfluid.helium4=Гелий-4 -hbmfluid.heavywater=Тяжёлая вода -hbmfluid.ethanol=Этанол -hbmfluid.carbondioxide=Углекислый газ hbmfluid.aromatics=Ароматические углеводороды -hbmfluid.coaloil=Фотоген -hbmfluid.crackoil=Крекированная нефть -hbmfluid.diesel_crack=Крекированный дизель -hbmfluid.hotcrackoil=Горячая крекированная нефть -hbmfluid.lightoil_crack=Крекированная легкая нефть -hbmfluid.naphtha_crack=Крекированная нафта -hbmfluid.unsaturateds=Непредельные углеводороды -hbmfluid.salient=Зелёный сойлент -hbmfluid.coalgas=Угольный газ -hbmfluid.enderjuice=Эндер-сок -hbmfluid.xpjuice=Жидкий опыт -hbmfluid.coalgas_leaded=Этилированный угольный газ -hbmfluid.sulfuric_acid=Серная кислота -hbmfluid.coalcreosote=Креозот из угольной смолы -hbmfluid.woodoil=Древесное масло -hbmfluid.seedslurry=Жидкая рассада +hbmfluid.aschrab=Антишрабидий +hbmfluid.balefire=Ракетное жар-топливо +hbmfluid.bauxite_solution=Раствор боксита +hbmfluid.biofuel=Биотопливо +hbmfluid.biogas=Биогаз +hbmfluid.bitumen=Битум hbmfluid.blood=Кровь hbmfluid.blood_hot=Горячая кровь -hbmfluid.nitric_acid=Азотная кислота -hbmfluid.solvent=Растворитель -hbmfluid.oxyhydrogen=Гремучий газ -hbmfluid.syngas=Синтгаз -hbmfluid.chlorine=Хлор -hbmfluid.radiosolvent=Высокоэффективный растворитель -hbmfluid.heavyoil_vacuum=Вакуумная тяжёлая нефть -hbmfluid.lightoil_vacuum=Вакуумная лёгкая нефть -hbmfluid.reformate=Реформированное топливо -hbmfluid.sourgas=Кислый газ -hbmfluid.xylene=Бензол-толуол-ксилол (BTX) -hbmfluid.diesel_crack_reform=Высокооктановый крекированный дизель -hbmfluid.diesel_reform=Высокооктановый дизель -hbmfluid.heatingoil_vacuum=Тяжёлый мазут -hbmfluid.kerosene_reform=Авиационное топливо -hbmfluid.reformgas=Реформированный газ -hbmfluid.colloid=Коллоидный раствор -hbmfluid.mustardgas=Иприт -hbmfluid.phosgene=Фосген -hbmfluid.iongel=Ионный гель -hbmfluid.gas_coker=Коксовый газ -hbmfluid.naphtha_coker=Коксовая нафта -hbmfluid.oil_coker=Коксовая нефть -hbmfluid.cholesterol=Раствор холестерина -hbmfluid.egg=Растворенное яйцо -hbmfluid.estradiol=Раствор эстрадиола -hbmfluid.fishoil=Рыбий жир -hbmfluid.sunfloweroil=Подсолнечное масло -hbmfluid.nitroglycerin=Нитроглицерин -hbmfluid.redmud=Красный шлам hbmfluid.calcium_chloride=Раствор хлорида кальция +hbmfluid.calcium_solution=Раствор кальция +hbmfluid.carbondioxide=Углекислый газ +hbmfluid.chlorine=Хлор hbmfluid.chlorocalcite_cleaned=Очищенный раствор хлоркальцита hbmfluid.chlorocalcite_mix=Смешанный раствор хлоркальцита hbmfluid.chlorocalcite_solution=Раствор хлоркальцита +hbmfluid.cholesterol=Раствор холестерина +hbmfluid.coalcreosote=Креозот из угольной смолы +hbmfluid.coalgas=Угольный газ +hbmfluid.coalgas_leaded=Этилированный угольный газ +hbmfluid.coaloil=Фотоген +hbmfluid.colloid=Коллоидный раствор +hbmfluid.coolant=Хладагент +hbmfluid.coolant_hot=Горячий хладагент +hbmfluid.crackoil=Крекированная нефть +hbmfluid.crackoil_ds=Десульфуризованная крекированная нефть +hbmfluid.cryogel=Криогель +hbmfluid.death=Осмиридовый раствор +hbmfluid.deuterium=Дейтерий +hbmfluid.diesel=Дизель +hbmfluid.diesel_crack=Крекированный дизель +hbmfluid.diesel_crack_reform=Высокооктановый крекированный дизель +hbmfluid.diesel_reform=Высокооктановый дизель +hbmfluid.egg=Растворенное яйцо +hbmfluid.estradiol=Раствор эстрадиола +hbmfluid.ethanol=Этанол +hbmfluid.enderjuice=Эндер-сок +hbmfluid.fishoil=Рыбий жир +hbmfluid.fracksol=Жидкость для гидроразрыва пласта +hbmfluid.fullerene=Раствор фуллерена +hbmfluid.gas=Природный газ +hbmfluid.gas_coker=Коксовый газ +hbmfluid.gasoline=Газолин +hbmfluid.gasoline_leaded=Этилированный газолин +hbmfluid.heatingoil=Мазут +hbmfluid.heatingoil_vacuum=Тяжёлый мазут +hbmfluid.heavyoil=Тяжелая нефть +hbmfluid.heavyoil_vacuum=Вакуумная тяжёлая нефть +hbmfluid.heavywater=Тяжёлая вода +hbmfluid.heavywater_hot=Горячая тяжёлая вода +hbmfluid.helium3=Гелий-3 +hbmfluid.helium4=Гелий-4 +hbmfluid.hotcrackoil=Горячая крекированная нефть +hbmfluid.hotcrackoil_ds=Десульфуризованная горячая крекированная нефть +hbmfluid.hotoil=Горячая неочищенная нефть +hbmfluid.hotoil_ds=Десульфуризованная горячая неочищенная нефть +hbmfluid.hotsteam=Горячий пар +hbmfluid.hydrogen=Жидкий водород +hbmfluid.iongel=Ионный гель +hbmfluid.kerosene=Керосин +hbmfluid.kerosene_reform=Авиационное топливо +hbmfluid.lava=Лава +hbmfluid.lead=Жидкий свинец +hbmfluid.lead_hot=Горячий жидкий свинец +hbmfluid.lightoil=Лёгкая нефть +hbmfluid.lightoil_crack=Крекированная лёгкая нефть +hbmfluid.lightoil_ds=Десульфуризованная лёгкая нефть +hbmfluid.lightoil_vacuum=Вакуумная лёгкая нефть +hbmfluid.lpg=Сжиженный попутный газ (СПГ) +hbmfluid.lubricant=Машинная смазка +hbmfluid.lye=Щёлок +hbmfluid.mercury=Ртуть +hbmfluid.mug=Пиво "Mug Root" +hbmfluid.mug_hot=Горячее пиво "Mug Root" +hbmfluid.mustardgas=Иприт +hbmfluid.naphtha=Нафта +hbmfluid.naphtha_coker=Коксовая нафта +hbmfluid.naphtha_crack=Крекированная нафта +hbmfluid.naphtha_ds=Десульфуризованная нафта +hbmfluid.nitan=100-октановое сверхтопливо NITAN© +hbmfluid.nitric_acid=Азотная кислота +hbmfluid.nitroglycerin=Нитроглицерин +hbmfluid.none=Ничего +hbmfluid.oil=Неочищенная нефть +hbmfluid.oil_coker=Коксовая нефть +hbmfluid.oil_ds=Десульфуризованная неочищенная нефть +hbmfluid.oxygen=Жидкий кислород +hbmfluid.oxyhydrogen=Гремучий газ +hbmfluid.pain=Пандемониум(III)Раствор танталита +hbmfluid.perfluoromethyl=Перфторометил +hbmfluid.perfluoromethyl_cold=Холодный перфторометил +hbmfluid.perfluoromethyl_hot=Горячий перфторометил +hbmfluid.peroxide=Пероксид водорода +hbmfluid.petroil=Бензин +hbmfluid.petroil_leaded=Этилированный бензин +hbmfluid.petroleum=Попутный нефтяной газ +hbmfluid.pheromone=Феромон-бустер +hbmfluid.pheromone_m=Модифицированный феромон-бустер +hbmfluid.phosgene=Фосген +hbmfluid.plasma_bf=Жар-плазма +hbmfluid.plasma_dh3=Дейтерий-Гелий-3 плазма +hbmfluid.plasma_dt=Дейтерий-Тритиевая плазма +hbmfluid.plasma_hd=Водород-Дейтериевая плазма +hbmfluid.plasma_ht=Водород-Тритиевая плазма +hbmfluid.plasma_xm=Гелий-4-Кислородная плазма hbmfluid.potassium_chloride=Раствор хлорида калия -hbmfluid.calcium_solution=Раствор кальция +hbmfluid.puf6=Гексафторид плутония +hbmfluid.radiosolvent=Высокоэффективный растворитель +hbmfluid.reclaimed=Очищенное промышленное масло +hbmfluid.redmud=Красный шлам +hbmfluid.reformate=Реформированное топливо +hbmfluid.reformgas=Реформированный газ +hbmfluid.salient=Зелёный сойлент +hbmfluid.sas3=Трисульфид шрабидия +hbmfluid.schrabidic=Шрабидиевая кислота +hbmfluid.seedslurry=Жидкая рассада +hbmfluid.slop=Рудный шлам +hbmfluid.smear=Промышленное масло hbmfluid.smoke=Дым hbmfluid.smoke_leaded=Свинцовый дым hbmfluid.smoke_poison=Ядовитый дым hbmfluid.sodium=Жидкий натрий hbmfluid.sodium_hot=Горячий жидкий натрий +hbmfluid.sodium_aluminate=Алюминат натрия +hbmfluid.solvent=Растворитель +hbmfluid.sourgas=Кислый газ +hbmfluid.spentsteam=Пар низкого давления +hbmfluid.steam=Пар +hbmfluid.stellar_flux=Звёздный флюс +hbmfluid.sulfuric_acid=Серная кислота +hbmfluid.sunfloweroil=Подсолнечное масло +hbmfluid.superhotsteam=Перегретый пар +hbmfluid.syngas=Синтгаз hbmfluid.thorium_salt=Жидкая ториевая соль hbmfluid.thorium_salt_depleted=Обедненная жидкая ториевая соль hbmfluid.thorium_salt_hot=Горячая жидкая ториевая соль -hbmfluid.heavywater_hot=Горячая тяжёлая вода -hbmfluid.fullerene=Раствор фуллерена -hbmfluid.pheromone=Феромон-бустер -hbmfluid.pheromone_m=Модифицированный феромон-бустер -hbmfluid.crackoil_ds=Десульфуризованная крекированная нефть -hbmfluid.hotcrackoil_ds=Десульфуризованная горячая крекированная нефть -hbmfluid.hotoil_ds=Десульфуризованная горячая неочищенная нефть -hbmfluid.lightoil_ds=Десульфуризованная легкая нефть -hbmfluid.naphtha_ds=Десульфуризованная нафта -hbmfluid.oil_ds=Десульфуризованная неочищенная нефть +hbmfluid.tritium=Тритий +hbmfluid.uf6=Гексафторид урана +hbmfluid.ultrahotsteam=Раскалённый пар +hbmfluid.unsaturateds=Непредельные углеводороды hbmfluid.vitriol=Купорос -hbmfluid.slop=Рудный шлам +hbmfluid.wastefluid=Жидкие ядерные отходы +hbmfluid.wastegas=Газовые ядерные отходы +hbmfluid.water=Вода +hbmfluid.watz=Токсичные отходы +hbmfluid.woodoil=Древесное масло +hbmfluid.xenon=Ксенон +hbmfluid.xpjuice=Жидкий опыт +hbmfluid.xylene=Бензол-толуол-ксилол (BTX) + +hbmpseudofluid.none=Пусто +hbmpseudofluid.heuf6=Высокообогащенный UF6 +hbmpseudofluid.meuf6=Среднеобогащенный UF6 +hbmpseudofluid.leuf6=Низкообогащенный UF6 +hbmpseudofluid.nuf6=Природный UF6 +hbmpseudofluid.pf6=Гексафторид плутония +hbmpseudofluid.mud_heavy=Тяжёлая осадочная фракция +hbmpseudofluid.mud=Ядовитый осадочный газ hbmmat.actinium227=Актиний-227 -hbmmat.advancedalloy=Продвинутого сплава -hbmmat.aluminum=Алюминия +hbmmat.advancedalloy=Продвинутый сплав +hbmmat.aluminum=Алюминий hbmmat.americiumrg=Реакторный америций hbmmat.americium241=Америций-241 hbmmat.americium242=Америций-242 -hbmmat.arsenic=Мышьяка +hbmmat.arsenic=Мышьяк hbmmat.arsenicbronze=Мышьяковая бронза hbmmat.asbestos=Асбест hbmmat.bakelite=Бакелит +hbmmat.bauxite=Боксит hbmmat.beryllium=Бериллий hbmmat.bismuth=Висмут hbmmat.bismuthbronze=Висмутовая бронза +hbmmat.bone=Кость hbmmat.borax=Бура hbmmat.boron=Бор -hbmmat.carbon=Углерода +hbmmat.bscco=BSCCO +hbmmat.cadmium=Кадмий +hbmmat.calcium=Кальций +hbmmat.carbon=Углерод +hbmmat.cdalloy=Кадмиевая сталь +hbmmat.chlorocalcite=Хлоркальцит hbmmat.cinnabar=Киноварь -hbmmat.cmbsteel=Стали Альянса +hbmmat.cmbsteel=Сталь Альянса hbmmat.coal=Уголь hbmmat.coalcoke=Угольный кокс hbmmat.cobalt=Кобальт hbmmat.cobalt60=Кобальт-60 hbmmat.coltan=Колтан -hbmmat.copper=Меди -hbmmat.dineutronium=Динейтрония -hbmmat.durasteel=Высокоскоростной стали +hbmmat.copper=Медь +hbmmat.cryolite=Криолит +hbmmat.desh=Деш +hbmmat.diamond=Алмаз +hbmmat.dineutronium=Динейтроний +hbmmat.durasteel=Высокоскоростная сталь +hbmmat.emerald=Изумруд hbmmat.euphemium=Эвфемий hbmmat.ferrouranium=Ферроуран hbmmat.fiberglass=Стекловолокно hbmmat.fluorite=Флюорит hbmmat.flux=Флюс hbmmat.ghiorsium336=Гиорсий-336 -hbmmat.gold=Золота +hbmmat.gold=Золото hbmmat.gold198=Золото-198 hbmmat.graphene=Графен hbmmat.graphite=Графит +hbmmat.gunmetal=Пушечная бронза hbmmat.hematite=Гематит hbmmat.iron=Железа +hbmmat.lanthanum=Лантан hbmmat.lapis=Лазурит -hbmmat.lead=Свинца +hbmmat.lead=Свинец hbmmat.lead209=Свинец-209 hbmmat.lignitecoke=Бурый кокс hbmmat.lignite=Лигнит hbmmat.lithium=Литий -hbmmat.magnetizedtungsten=Намагниченного вольфрама +hbmmat.magnetizedtungsten=Намагниченный вольфрам hbmmat.malachite=Малахит +hbmmat.meteoriciron=Метеоритное железо hbmmat.mingrade=Красная медь +hbmmat.molysite=Молизит +hbmmat.neodymium=Неодим hbmmat.neptunium237=Нептуний-237 hbmmat.niobium=Ниобий hbmmat.obsidian=Обсидиан -hbmmat.osmiridium=Осмиридия +hbmmat.osmiridium=Осмиридий hbmmat.petcoke=Нефтяной кокс +hbmmat.pigiron=Чугун hbmmat.plutonium=Плутоний hbmmat.plutonium238=Плутоний-238 hbmmat.plutonium239=Плутоний-239 @@ -1357,46 +1650,55 @@ hbmmat.plutonium240=Плутоний-240 hbmmat.plutonium241=Плутоний-241 hbmmat.plutoniumrg=Реакторный плутоний hbmmat.polonium210=Полоний-210 +hbmmat.polycarbonate=Твёрдый пластик hbmmat.polymer=Полимер +hbmmat.pvc=ПВХ hbmmat.radium226=Радий-226 +hbmmat.rareearth=Редкоземельные металлы hbmmat.redphosphorus=Красный фосфор hbmmat.redstone=Редстоун hbmmat.rubber=Резина hbmmat.saltpeter=Селитра hbmmat.saturnite=Сатурнит -hbmmat.schrabidate=Шрабидата железа -hbmmat.schrabidium=Шрабидия +hbmmat.schrabidate=Шрабидат железа +hbmmat.schrabidium=Шрабидий hbmmat.schraranium=Шрараний +hbmmat.silicon=Кремний hbmmat.slag=Шлак +hbmmat.sodalite=Содалит +hbmmat.sodium=Натрий hbmmat.solinium=Солиний -hbmmat.starmetal=Звёздного металла -hbmmat.steel=Стали +hbmmat.starmetal=Звёздный металл +hbmmat.steel=Сталь hbmmat.stone=Камень +hbmmat.strontium=Стронций hbmmat.sulfur=Сера hbmmat.tantalum=Тантал -hbmmat.tcalloy=Технециевой стали +hbmmat.tcalloy=Технециевая сталь hbmmat.technetium99=Технеций-99 -hbmmat.titanium=Титана +hbmmat.titanium=Титан hbmmat.thorium232=Торий-232 -hbmmat.tungsten=Вольфрама +hbmmat.tungsten=Вольфрам hbmmat.uranium=Уран hbmmat.uranium233=Уран-233 hbmmat.uranium235=Уран-235 hbmmat.uranium238=Уран-238 -hbmmat.whitephosphorus=Белый фосфор -hbmmat.workersalloy=Деш -hbmmat.meteoriciron=Метеоритное железо -hbmmat.pigiron=Чугун -hbmmat.wroughtiron=Кованое железо -hbmmat.desh=Деша -hbmmat.cdalloy=Кадмиевой стали -hbmmat.cadmium=Кадмий hbmmat.watzmud=Токсичные отходы -hbmmat.zirconium=Циркония -hbmmat.neodymium=Неодима -hbmmat.calcium=Кальция -hbmmat.silicon=Кремния -hbmmat.sodium=Натрия +hbmmat.weaponsteel=Оружейная сталь +hbmmat.whitephosphorus=Белый фосфор +hbmmat.wood=Дерево +hbmmat.workersalloy=Деш +hbmmat.wroughtiron=Кованое железо +hbmmat.zirconium=Цирконий + +matshape.block=Блок %s +matshape.blocks=Блоки %s +matshape.ingot=Слиток %s +matshape.ingots=Слитки %s +matshape.nugget=Самородок %s +matshape.nuggets=Самородки %s +matshape.quantum=Кванта %s +matshape.quanta=Кванта %s icffuel.beryllium=Бериллий icffuel.boron=Бор @@ -1412,1362 +1714,357 @@ icffuel.oxygen=Кислород icffuel.sodium=Натрий icffuel.tritium=Тритий -crucible.aa=Производство продвинутого сплава -crucible.abronze=Производство мышьяковой бронзы -crucible.bbronze=Производство висмутовой бронзы -crucible.ferro=Производство ферроуранового сплава -crucible.hematite=Переплавка гематита в железо -crucible.hss=Производство высокоскоростной стали -crucible.malachite=Переплавка малахита в медь -crucible.magtung=Производство намагниченного вольфрама -crucible.redcopper=Производство красной меди -crucible.steel=Производство стали -crucible.steelMeteoric=Переплавка метеоритного железа в сталь -crucible.steelPig=Переплавка чугуна в сталь -crucible.steelWrought=Переплавка кованого железа в сталь -crucible.tcalloy=Производство технециевой стали -crucible.cdalloy=Производство кадмиевой стали -crucible.cmb=Производство стали Альянса +info.asbestos=Мои лёгкие горят. +info.coaldust=Здесь тяжело дышать. +info.coil=Сила катушки +info.templatefolder=Создано с помощью %s +info.template_in=Ввод: +info.template_in_p=Вводы: +info.template_out=Выход: +info.template_out_p=Выходы: +info.template_seconds=секунд +info.template_time=Время производства: -matshape.block=Блок %s -matshape.blocks=Блоки %s -matshape.ingot=Слиток %s -matshape.ingots=Слитки %s -matshape.nugget=Самородок %s -matshape.nuggets=Самородки %s -matshape.quantum=Кванта %s -matshape.quanta=Кванта %s - -//Special for 1.12.2 version// -fluid.hbmsteam=Пар -fluid.hbmhotsteam=Горячий пар -fluid.hbmsuperhotsteam=Раскалённый пар -fluid.hbmuf6=Гексафторид урана -fluid.hbmpuf6=Гексафторид плутония -fluid.hbmdeuterium=Дейтерий -fluid.hbmtritium=Тритий -fluid.hbmoil=Неочищенная нефть -fluid.hbmhotoil=Горячая неочищенная нефть -fluid.hbmsmear=Промышленное масло -fluid.hbmreclaimed=Очищенное промышленное масло -fluid.hbmpetroil=Бензин -fluid.hbmlubricant=Машинная смазка -fluid.hbmdiesel=Дизель -fluid.hbmkerosene=Керосин -fluid.hbmgas=Природный газ -fluid.hbmcoolant=Хладагент -fluid.hbmamat=Антиматерия -fluid.hbmaschrab=Антишрабидий -fluid.hbmheavyoil=Тяжелая нефть -fluid.hbmbitumen=Битум -fluid.hbmheatingoil=Мазут -fluid.hbmnaphtha=Лигроин -fluid.hbmlightoil=Лёгкая нефть -fluid.hbmpetroleum=Попутный нефтяной газ -fluid.hbmacid=Пероксид водорода -fluid.hbmwatz=Токсичные отходы -fluid.hbmbiogas=Биогаз -fluid.hbmbiofuel=Биотопливо -fluid.hbmsas3=Трисульфид шрабидия -fluid.hbmnitan=100-октановое сверхтопливо NITAN© -fluid.hbmcryogel=Криогель -fluid.hbmhydrogen=Жидкий водород -fluid.hbmoxygen=Жидкий кислород -fluid.hbmxenon=Ксенон -fluid.hbmbalefire=Ракетное жар-топливо -fluid.hbmmercury=Ртуть -fluid.schrabidic_fluid=Шрабидиевая кислота -//Special for 1.12.2 version// - -geiger.chunkRad=Текущий уровень радиации в чанке: -geiger.envRad=Общее радиационное заражение среды: -geiger.playerRad=Уровень радиоактивного заражения игрока: -geiger.playerRes=Защищённость игрока: -geiger.title=СЧЁТЧИК ГЕЙГЕРА -geiger.title.dosimeter=ДОЗИМЕТР - -flare.ignition=Сжигание -flare.valve=Пропускной клапан - -hadron.analysis=Анализ... -hadron.buttonOn=Камера анализа (если есть) включена -hadron.buttonOff=Камера анализа выключена -hadron.error_generic=Ошибка! -hadron.error_no_charge=Ошибка 0x01 [NC] -hadron.error_no_analysis=Ошибка 0x02 [NA] -hadron.error_obstructed_channel=Ошибка 0x03 [OC] -hadron.error_expected_coil=Ошибка 0x04 [EC] -hadron.error_malformed_segment=Ошибка 0x05 [MS] -hadron.error_analysis_too_long=Ошибка 0x06 [ATL] -hadron.error_analysis_too_short=Ошибка 0x07 [ATS] -hadron.error_diode_collision=Ошибка 0x08 [DC] -hadron.error_branching_turn=Ошибка 0x09 [BT] -hadron.noresult=Нет результата. -hadron.success=Завершено! -hadron.idle=Ожидание -hadron.progress=В процессе... -hadron.hopper0=§eОбычный режим:$Все предметы будут использованы. -hadron.hopper1=§eРежим воронки:$Один предмет всегда останется. -hadron.modeCircular=§eРежим циклического ускорителя:$Магниты должны замкнуться обратно в сердечник.$Открывает больше рецептов. -hadron.modeLine=§eРежим линейного ускорителя:$Ускоритель заканчивается камерой анализа.$Меньше рецептов. -hadron.noresult_too_slow=Недостат. ускорение! -hadron.noresult_wrong_ingredient=Неверный рецепт! -hadron.noresult_wrong_mode=Неверный режим! -hadron.stats=Предыдущие результаты: -hadron.stats_coord=Ошибка: %s / %s / %s -hadron.stats_momentum=Ускорение: %s - -radar.detectMissiles=Обнаружение ракет -radar.detectPlayers=Обнаружение игроков -radar.smartMode=Умный режим$Выход редстоуна игнорирует восходящие ракеты -radar.redMode=Режим красного камня$Включён: Сигнал редстоуна базируется на дальности$Выключен: Сигнал редстоуна базируется на уровне -radar.clearMap=Очистить карту -radar.detectShells=Обнаружение снарядов -radar.showMap=Показать карту -radar.toggleGui=Переключить интерфейс - -radar.target.abm=Антибаллистическая ракета -radar.target.custom10=Ракета 10 размера -radar.target.custom1015=Ракета 10/15 размера -radar.target.custom15=Ракета 15 размера -radar.target.custom1520=Ракета 15/20 размера -radar.target.custom20=Ракета 20 размера -radar.target.doomsday=Ракета судного дня -radar.target.shuttle=Космический шаттл Reliant Robin -radar.target.tier0=Ракета 0-го уровня -radar.target.tier1=Ракета 1-го уровня -radar.target.tier2=Ракета 2-го уровня -radar.target.tier3=Ракета 3-го уровня -radar.target.tier4=Ракета 4-го уровня - -upgrade.acid=Требуется кислота %s -upgrade.burn=Burn %sмб/тик за %sHE -upgrade.consumption=Потребление %s -upgrade.delay=Время %s -upgrade.efficiency=Эффективность %s -upgrade.fortune=Удача %s -upgrade.range=Радиус %s -upgrade.coolantConsumption=Потребление охладителя %s -upgrade.overheatChance=Шанс перегрева %s - -upgrade.gui.title=§lПринимаемые улучшения:§r -upgrade.gui.afterburner= * §dФорсаж§r: Стакается до %s уровней -upgrade.gui.effectiveness= * §aЭффективность§r: Стакается до %s уровней -upgrade.gui.overdrive= * §7Перегруз§r: Стакается до %s уровней -upgrade.gui.power= * §9Энергосбережение§r: Стакается до %s уровней -upgrade.gui.speed= * §4Скорость§r: Стакается до %s уровней - -desc.gui.upgrade=§lПринимаемые улучшения:§r -desc.gui.upgrade.afterburner= * §dФорсаж§r: Стакается до 3-х уровней -desc.gui.upgrade.effectiveness= * §aЭффективность§r: Стакается до 3-х уровней -desc.gui.upgrade.overdrive= * §7Перегруз§r: Стакается до 3-х уровней -desc.gui.upgrade.power= * §1Энергосбережение§r: Стакается до 3-х уровней -desc.gui.upgrade.speed= * §4Скорость§r: Стакается до 3-х уровней - -chem.TEST=Тест -chem.FP_HEAVYOIL=Переработка тяжелой нефти -chem.FP_SMEAR=Переработка промышленного масла -chem.FP_NAPHTHA=Переработка нафты -chem.FP_LIGHTOIL=Переработка легкой нефти -chem.FR_REOIL=Воссоздание нефти -chem.FR_PETROIL=Смешивание бензина -chem.OIL_SAND=Извлечение битуминозных песков -chem.FC_BITUMEN=Крекинг битума -chem.FC_I_NAPHTHA=Крекинг промышленного масла -chem.FC_GAS_PETROLEUM=Крекинг попутного газа -chem.FC_DIESEL_KEROSENE=Крекинг дизеля -chem.FC_KEROSENE_PETROLEUM=Крекинг керосина -chem.CC_OIL=Сжижение угля -chem.CC_I=Улучшенное сжижение угля -chem.CC_HEATING=Усовершенствованное сжижение угля -chem.CC_HEAVY=Базовое сжижение угля -chem.CC_NAPHTHA=Сжижение нафты -chem.LPG=Сжижение попутного газа -chem.ASPHALT=Производство асфальта -chem.CONCRETE=Производство бетона -chem.COOLANT=Смешивание хладагента -chem.CRYOGEL=Смешивание криогеля -chem.DESH=Производство деш -chem.PEROXIDE=Производство пероксида водорода -chem.CIRCUIT_4=Производство разогнанной микросхемы -chem.CIRCUIT_5=Производство высокопроизводительной микросхемы -chem.SF_OIL=Затвердевание неочищенной нефти -chem.SF_HEAVYOIL=Затвердевание тяжёлой нефти -chem.SF_SMEAR=Затвердевание промышленного масла -chem.SF_HEATINGOIL=Затвердевание битума -chem.SF_RECLAIMED=Затвердевание очищенного масла -chem.SF_PETROIL=Затвердевание бензина -chem.SF_LUBRICANT=Затвердевание машинной смазки -chem.SF_NAPHTHA=Затвердевание нафты -chem.SF_DIESEL=Затвердевание дизеля -chem.SF_LIGHTOIL=Затвердевание легкой нефти -chem.SF_KEROSENE=Затвердевание керосина -chem.SF_GAS=Затвердевание природного газа -chem.SF_PETROLEUM=Затвердевание попутного газа -chem.SF_BIOGAS=Затвердевание биогаза -chem.SF_BIOFUEL=Затвердевание биотоплива -chem.POLYMER=Синтез полимера -chem.METH=Синтез метамфетамина -chem.DEUTERIUM=Извлечение дейтерия -chem.STEAM=Кипячение воды -chem.YELLOWCAKE=Производство йеллоукейка -chem.UF6=Производство гексафторида урана -chem.PUF6=Производство гексафторида плутония -chem.BP_BIOGAS=Производство биогаза -chem.BP_BIOFUEL=Трансэтерификация биотоплива -chem.SAS3=Производство Трисульфида шрабидия -chem.NITAN=Смешивание супер топлива NITAN© -chem.DYN_SCHRAB=Диносинтез шрабидия -chem.DYN_EUPH=Диносинтез эвфемия -chem.DYN_DNT=Диносинтез динейтрония -chem.CORDITE=Производство кордита -chem.KEVLAR=Производство кевларовой смеси -chem.SOLID_FUEL=Производство твердого ракетного топлива -chem.ELECTROLYSIS=Крио-электролиз -chem.XENON=Ксеноновый цикл Линде -chem.SATURN=Производство сатурнита -chem.BALEFIRE=Смешивание ракетного жар-топлива -chem.SCHRABIDATE=Производство шрабидата железа -chem.SCHRABIDIC=Смешивание шрабидиевой кислоты -chem.XENON_OXY=Улучшенный ксеноновый цикл Линде -chem.CONCRETE_ASBESTOS=Производство асбестоцемента -chem.COLTAN_CLEANING=Очищение колтана -chem.COLTAN_CRYSTAL=Кристаллизация тантала -chem.COLTAN_PAIN=Производство Пандемониум(III)танталита -chem.VIT_GAS=Остекловывание газообразных ядерных отходов -chem.VIT_LIQUID=Остекловывание жидких ядерных отходов -chem.GASOLINE=Производство газолина -chem.TEL=Смешивание тетраэтилсвинца -chem.ACRYLIC=Полимеризация акрила -chem.ALCOHOL=Гидратация изопропилового спирта -chem.DUCRETE=Производство дюкрета -chem.DU_DIOXIDE=Окисление и восстановление обедненного урана -chem.LF_BASE=Смешивание расплавленной соли -chem.LF_PU=Смешивание жидкотопливного плутония -chem.LF_SA=Смешивание жидкотопливного шрабидия -chem.LF_U=Смешивание жидкотопливного урана -chem.FRACKSOL=Смешивание гидроразрывной жидкости -chem.OD_5D=5D отверждение -chem.OD_BD=Отверждение Blu-ray -chem.OD_CD=Отверждение компакт-дисков -chem.OD_DVD=Отверждение DVD -chem.QUARTZ=Выращивание кварца -chem.RC_PU=Переработка отработанного жидкотопливного плутония -chem.RC_U=Переработка отработанного жидкотопливного урана -chem.SARIN=Производство зарина -chem.OSMIRIDIUM_DEATH=Производство осмиридного раствора -chem.HELIUM3=Извлечение гелия-3 из лунного грунта -chem.HEAVY_ELECTROLYSIS=Электролиз тяжёлой воды -chem.ETHANOL=Производство этанола -chem.CO2=Получение CO2 путём сжигания природного газа -chem.EPEARL=Синтез жемчужин Эндера -chem.BAKELITE=Производство бакелита -chem.C4=Синтез C-4 -chem.COALGAS_LEADED=Смешивание этилированного угольного газа -chem.GASOLINE_LEADED=Смешивание этилированного газолина -chem.LUBRICANT=Смешивание машинной смазки -chem.PETROIL_LEADED=Смешивание этилированного бензина -chem.RUBBER=Производство резины -chem.TNT=Синтез ТНТ -chem.DYNAMITE=Синтез динамита -chem.ARSENIC=Экстракция мышьяка -chem.SULFURIC_ACID=Производство серной кислоты -chem.AMMONIUM=Затвердевание нитрата аммония -chem.NITRIC_ACID=Производство азотной кислоты -chem.SOLVENT=Смешивание органического растворителя -chem.PET=Синтез ПЭТ -chem.TATB=Синтез TATB -chem.CC_CENTRIFUGE=Отделение хлоркальцита -chem.CC_ELECTROLYSIS=Электролиз хлорида кальция -chem.PC_ELECTROLYSIS=Электролиз хлорида калия -chem.LAMINATE=Производство ламината -chem.PC=Синтез поликарбоната -chem.PVC=Синтез поливинилхлорида -chem.SHELL_CHLORINE=Производство артиллерийского хлора -chem.SHELL_MUSTARD=Производство артиллерийского иприта -chem.SHELL_PHOSGENE=Производство артиллерийского фосгена -chem.THORIUM_SALT=Обогащение ториевой соли -chem.MEAT_PROCESSING=Обработка мяса глифидов - -item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core -item.record.ss.desc=Valve - Sector Sweep -item.record.vc.desc=Valve - Vortal Combat -item.record.glass.desc=? ? ? - -death.attack.nuclearBlast=%1$s был стёрт с лица земли ядерным взрывом -death.attack.revolverBullet=%1$s получил пулю в голову от %2$s -death.attack.revolverBullet.item=%1$s получил пулю в голову от %2$s с помощью %3$s -death.attack.mudPoisoning=%1$s утонул в токсичной жиже -death.attack.euthanized=%1$s был усыплён %2$s -death.attack.euthanizedSelf=%1$s нашёл путь к лучшей жизни в России -death.attack.euthanizedSelf2=%1$s выиграл премию Дарвина -death.attack.tau=%1$s был изрешёчен %2$s при помощи отрицательно заряженых тауонов -death.attack.tauBlast=%1$s заряжал XVL1456 слишком долго и взлетел на воздух -death.attack.chopperBullet=%1$s был изничтожен %2$s -death.attack.cmb=%1$s был продырявлен %2$s -death.attack.spikes=%1$s был пронзён насквозь -death.attack.subAtomic1=Атомы %1$s были уничтожены %2$s -death.attack.subAtomic2=%1$s был смещен QPU, потому что %2$s изменил его фактическую скорость -death.attack.subAtomic3=%1$s перестал существовать из-за %2$s -death.attack.subAtomic4=%1$s был поделён на ноль %2$s -death.attack.subAtomic5=%1$s был обнулён %2$s -death.attack.radiation=%1$s умер от лучевой болезни -death.attack.acid=%1$s упал в кислоту -death.attack.suicide=%1$s оторвал себе голову -death.attack.electrified=%1$s превратился в батарейку благодаря %2$s -death.attack.flamethrower=%1$s был кремирован %2$s -death.attack.plasma=%1$s был испарён %2$s -death.attack.ice=%1$s был превращён в эскимо %2$s -death.attack.cheater=внутренности %1$s превратились в овёс (???) -death.attack.laser=%1$s был превращён в пепел %2$s -death.attack.laser.item=%1$s был превращён в пепел %2$s с помощью %3$s -death.attack.rubble=%1$s превратился в лепёшку -death.attack.shrapnel=%1$s был разорван шрапнелью -death.attack.teleporter=%1$s телепортировался в никуда -death.attack.blackhole=%1$s превратился в спагетти -death.attack.blender=%1$s стал фаршем -death.attack.meteorite=%1$s был раздавлен огромным космическим камнем -death.attack.boxcar=%1$s был раздавлен падающим грузовым вагоном. Ну что ж... -death.attack.boat=%1$s был пришиблен лодкой -death.attack.building=%1$s был придавлен падающим зданием -death.attack.broadcast=%1$s растворил свой мозг -death.attack.ams=%1$s искупался в смертельных частицах, ещё неизвестных науке -death.attack.amsCore=%1$s испарился в огне сингулярности -death.attack.bang=%1$s превратился в рагу -death.attack.pc=%1$s стал лужицей внутри розового облака -death.attack.cloud=%1$s растаял, как эскимо в жаркий день -death.attack.lead=%1$s умер от отравления свинцом -death.attack.taint=%1$s умер от невероятного количества опухолей -death.attack.electricity=%1$s был убит электрическим током -death.attack.exhaust=%1$s был превращен в шашлык стартовой ракетой -death.attack.lunar=%1$s забыли зарядить свои жизненно важные органы. -death.attack.monoxide=%1$s забыл сменить батарейки в своем детекторе угарного газа. -death.attack.digamma=%1$s шагнул в пустоту. -death.attack.asbestos=%1$s теперь имеет право на финансовую компенсацию. -death.attack.mku=%1$s умер по неизвестным причинам. -death.attack.BERYLLIUM=лёгкие %1$s выдохлись от воздействия бериллия. -death.attack.CHEMICAL=Органы %1$s отключились. -death.attack.HEAVY_METAL=%1$s умер от отравления тяжёлыми металлами. -death.attack.bleed=органы %1$s вытекли из-за наличия в них отверстий. -death.attack.burn=%1$s был полностью сожжён горячей плазмой -death.attack.light=%1$s был очищен потоком лунного света. -death.attack.satori1=тело %1$s's было изуродовано до неузнаваемости -death.attack.satori2=%1$s был выпотрошен и вырезан, как Тыква-фонарь -death.attack.satori3=%1$s был поглощен чистой ненавистью -death.attack.satori4=плоть %1$ была разрезана на части, что привело к массивной потере крови -death.attack.satori5=%2$s выпотрошен и вырезан %1$s как Тыква-фонарь -death.attack.satori6=%2$s выпотрошен %1$s с явной ненавистью -death.attack.satori7=%1$s был поглощен сердцем тьмы %2$s -death.attack.satori8=%2$s изуродовал тело %1$s до неузнаваемости -death.attack.twr0=%1$s был разбит на миллион осколков света. -death.attack.twr1=%1$s обнаружил, что выхода нет. -death.attack.twr2=%2$s разбил %1$s на миллион осколков света. -death.attack.twr3=%2$s показал %1$s, что здесь нету выхода. -death.attack.overdose=%1$s умер от передоза метамфетамином. -death.attack.microwave=%1$s взорвался от микроволнового излучения. -death.attack.acidPlayer=%1$s был растворён %2$s. -death.attack.boil=%1$s был заживо сварен %2$s. - -item.redstone_sword.name=Меч из красного камня -item.big_sword.name=Большой меч -item.test_nuke_igniter.name=Активатор -item.test_nuke_propellant.name=Взрывчатка -item.test_nuke_tier1_shielding.name=Отражатель нейтронов (уровень 1) -item.test_nuke_tier2_shielding.name=Отражатель нейтронов (уровень 2) -item.test_nuke_tier1_bullet.name=Снаряд U235 (уровень 1) -item.test_nuke_tier2_bullet.name=Снаряд MOX (уровень 2) -item.test_nuke_tier1_target.name=Субкритическая цель U235 (уровень 1) -item.test_nuke_tier2_target.name=Субкритическая цель MOX (уровень 2) - -item.gadget_explosive.name=Взрывные линзы первого поколения -item.gadget_explosive8.name=Связка взрывчатки первого поколения -item.gadget_wireing.name=Провода -item.gadget_core.name=Плутониевое ядро -item.demon_core_closed.name=Закрытый Заряд-Демон -item.demon_core_open.name=Приостановленный Заряд-Демон -item.boy_igniter.name=Воспламенитель -item.boy_propellant.name=Взрывчатка -item.boy_bullet.name=Снаряд U235 -item.boy_target.name=Субкритическая цель U235 -item.boy_shielding.name=Нейтронный щит -item.man_explosive.name=Взрывные линзы -item.man_explosive8.name=Связка взрывчатки -item.man_igniter.name=Зажигатель -item.man_core.name=Плутониевое ядро -item.early_explosive_lenses.name=Набор взрывоопасных линз первого поколения -item.early_explosive_lenses.desc=Сборка из 8 осколочно-фугасных линз с алюминиевым$толкателем, дюралюминиевой оболочкой и проволочными детонаторами. -item.explosive_lenses.name=Набор взрывоопасных линз -item.explosive_lenses.desc=Сборка из 8 линз из пластичной взрывчатки с тонким$алюминиевым толкателем, дюралюминиевым корпусом и$миниатюрными мостовыми детонаторами. -item.mike_core.name=Дейтериевый бак с урановым покрытием -item.mike_deut.name=Дейтериевый бак -item.mike_cooling_unit.name=Блок охлаждения дейтерия -item.tsar_core.name=Ядро Царь-бомбы -item.fleija_igniter.name=Импульсный воспламенитель -item.fleija_propellant.name=Шрабидиевая взрывчатка -item.fleija_core.name=Заряд Ф.Л.Е.И из урана 235 -item.solinium_igniter.name=Солиниевый импульсный воспламенитель -item.solinium_propellant.name=Солиниевый сжимающий заряд -item.solinium_core.name=Полу-стабильный солиниевый заряд -item.n2_charge.name=Крупный взрывной заряд -item.egg_balefire_shard.name=Жар-осколок -item.egg_balefire.name=Жар-яйцо -item.egg_balefire.desc=Какая птица откладывает радиоактивные яйца? -item.egg_glyphid.name=Яйцо глифидов -item.glyphid_meat.name=Мясо глифидов -item.glyphid_meat_grilled.name=Жареное мясо глифидов -item.spawn_duck.name=Золотое яйцо -item.custom_tnt.name=Взрывной заряд кастомной бомбы -item.custom_nuke.name=Ядерный заряд кастомной бомбы -item.custom_hydro.name=Водородный заряд кастомной бомбы -item.custom_amat.name=Антивещественный заряд кастомной бомбы -item.custom_dirty.name=Грязный заряд кастомной бомбы -item.custom_schrab.name=Шрабидиевый заряд кастомной бомбы -item.custom_fall.name=Улучшение кастомной бомбы (Удар с неба) -item.custom_fall.desc=Это то, чего вы все тааааааак ждали!$Сбрасывает бомбу при активации -container.nukeGadget=Гаджет -container.nukeBoy=Малыш -container.nukeMan=Толстяк -container.nukeMike=Иви Майк -container.nukeTsar=Царь-бомба -container.nukeFleija=Ф.Л.Е.Я -container.nukePrototype=Прототип -container.nukeCustom=Кастомная бомба -container.nukeSolinium=Синий Ополаскиватель -container.nukeN2=N²-мина -container.nukeN45=Морская мина N45 -container.nukeFstbmb=Жар-бомба -container.bombMulti=Многоцелевая бомба -tile.nuke_gadget.name=Гаджет -tile.nuke_boy.name=Малыш -tile.nuke_man.name=Толстяк -tile.nuke_mike.name=Иви Майк -tile.nuke_tsar.name=Царь-бомба -tile.nuke_fleija.name=Ф.Л.Е.Я -tile.nuke_prototype.name=Прототип -tile.nuke_custom.name=Кастомная бомба -tile.nuke_solinium.name=Синий Ополаскиватель -tile.nuke_n2.name=N²-мина -tile.nuke_n45.name=Морская мина N45 -tile.nuke_fstbmb.name=Жар-бомба -tile.bomb_multi.name=Многоцелевая бомба -tile.rejuvinator.name=ГЭКК - -item.disperser_canister.name= Канистра рассеивателя: -item.disperser_canister_empty.name= Канистра рассеивателя -item.glyphid_gland.name= Железа глифида: -item.glyphid_gland_empty.name= Железа глифида - -tile.flame_war.name=Война в коробке -tile.float_bomb.name=Левитационная бомба -tile.therm_endo.name=Эндотермическая бомба -tile.therm_exo.name=Экзотермическая бомба -tile.emp_bomb.name=ЭМИ-бомба -tile.crashed_bomb.name=Неразорвавшаяся бомба -tile.boxcar.name=Грузовой вагон -tile.boat.name=Лодка -item.boat_rubber.name=Резиновая лодка -tile.bomber.name=Разбившийся бомбардировщик - -tile.pink_log.name=Розовое дерево -tile.pink_planks.name=Розовые доски -tile.pink_slab.name=Плита из розового дерева -tile.pink_stairs.name=Ступеньки из розового дерева - -tile.turret_light.name=Турель с лёгким пулемётом -tile.turret_heavy.name=Турель с тяжёлым пулемётом -tile.turret_rocket.name=Турель с ракетницей -tile.turret_flamer.name=Турель с огнемётом -tile.turret_tau.name=Турель с тау-пушкой -tile.turret_spitfire.name=Турель без названия [WIP] -tile.turret_cwis.name=”Фэленкс” Mk-15 CIWS -tile.turret_cheapo.name=Дешёвая пулемётная турель -tile.machine_radar_large.name=Большой радар -tile.machine_radar.name=Радар -container.radar=Радар -item.radar_linker.name=Радарный соединитель -tile.radar_screen.name=Экран радара -tile.machine_forcefield.name=Излучатель силового поля -container.forceField=Излучатель силового поля -tile.machine_satlinker.name=Менеджер ID спутников -container.satLinker=Устройство связи -tile.machine_telelinker.name=Стол телелинка -container.teleLinker=Телелинкер - -item.turret_control.name=Турельный контроллер -item.turret_chip.name=Турельный чип искусственного интеллекта -item.turret_biometry.name=Карта телелинка - -item.key.name=Ключ -item.key_red.name=Красный ключ -item.key_red.desc=Исследуй другую сторону. -item.key_red.desc.P11=§4e§r -item.key_red_cracked.name=Сломанный ключ -item.key_red_cracked.desc=??? -item.key_red.key_red_cracked.P11=§4???§r -item.key_kit.name=Набор имитации ключей -item.key_fake.name=Поддельный ключ -item.pin.name=Отмычка -item.pin.desc="*Немодифицированный* вероятность успешного взлома обычного замка составляет ~10%. -item.padlock_rusty.name=Ржавый замок -item.padlock.name=Замок -item.padlock_reinforced.name=Защищенный замок -item.padlock_unbreakable.name=Несокрушимый замок -tile.machine_keyforge.name=Стол мастера по замкам -container.keyForge=Стол мастера по замкам - -tile.mine_ap.name=Противопехотная мина -tile.mine_he.name=Противотанковая мина -tile.mine_shrap.name=Мина со шрапнелью -tile.mine_fat.name=Мина-"Толстяк" -item.defuser.name=Высокотехнологичное устройство для разминирования -item.defuser_gold.name=Золотые кусачки - -tile.crate.name=Ящик снабжения -tile.crate_weapon.name=Ящик с оружием -tile.crate_lead.name=Ящик с радиоактивными материалами -tile.crate_metal.name=Ящик с механизмами -tile.crate_red.name=Красный ящик -tile.crate_can.name=Ящик с консервами -tile.crate_ammo.name=Ящик из звёздного металла -tile.crate_jungle.name=Ящик из энаргита -tile.marker_structure.name=Маркер для многоблочных структур -item.structure_custommachine.name=Жезл обозначения кастомных машин -tile.custom_machine_anchor.name=Якорь для кастомных машин - -tile.struct_launcher.name=Блок-компонент пусковой площадки -tile.struct_scaffold.name=Подмосток пусковой площадки -tile.struct_launcher_core.name=Ядро компактной пусковой площадки -tile.struct_launcher_core_large.name=Ядро большой пусковой площадки -tile.struct_soyuz_core.name=Ядро стартовой площадки Союза -tile.struct_plasma_core.name=Ядро нагревателя плазмы -tile.struct_iter_core.name=Ядро термоядерного реактора -tile.struct_watz_core.name=Ядро Ватцз-реактора - -tile.machine_difurnace_off.name=Доменная печь -tile.machine_difurnace_on.name=Доменная печь -tile.machine_difurnace_extension.name=Расширитель доменной печи -container.diFurnace=Доменная печь -tile.foundry_basin.name=Литейный резервуар -tile.foundry_channel.name=Литейный канал -tile.foundry_slagtap.name=Литейный спуск для шлака -tile.foundry_outlet.name=Литейный спуск -tile.foundry_mold.name=Малый литейный резервуар -tile.foundry_tank.name=Литейный бассейн -tile.machine_crucible.name=Плавильня -container.machineCrucible=Плавильня -tile.machine_centrifuge.name=Центрифуга -container.centrifuge=Центрифуга -tile.machine_gascent.name=Газовая центрифуга -container.gasCentrifuge=Газовая центрифуга -tile.machine_uf6_tank.name=Бочка гексафторида урана -container.uf6_tank=Бочка UF6 -tile.machine_puf6_tank.name=Бочка гексафторида плутония -container.puf6_tank=Бочка PuF6 -tile.machine_reactor.name=Реактор-размножитель -container.reactorBreeding=Реактор-размножитель -tile.machine_nuke_furnace_off.name=Ядерная печь -tile.machine_nuke_furnace_on.name=Ядерная печь -container.nukeFurnace=Ядерная печь -tile.machine_rtg_furnace_off.name=РИТЭГ-печь -tile.machine_rtg_furnace_on.name=РИТЭГ-печь -container.rtgFurnace=РИТЭГ-печь -tile.machine_electric_furnace_off.name=Электрическая печь -tile.machine_electric_furnace_on.name=Электрическая печь -container.electricFurnace=Электрическая печь -tile.machine_arc_furnace_off.name=Дуговая печь -tile.machine_arc_furnace_on.name=Дуговая печь -container.arcFurnace=Дуговая печь -tile.furnace_iron.name=Железная печь -container.furnaceIron=Железная печь -container.furnaceBrick=Кирпичная печь -tile.machine_furnace_brick_off.name=Кирпичная печь -tile.machine_furnace_brick_on.name=Кирпичная печь -tile.furnace_iron.desc=Большая и более эффективная печь,$не тратит топливо, когда простаивает. -container.furnaceSteel=Стальная печь -tile.furnace_steel.name=Стальная печь -tile.furnace_steel.desc=Огромная печь, даёт бонус к$переплавке предметов. Требует внешний источник тепла.$Скорость теплопередачи: ΔT*0.05 TU/t$(Δ - разница, T - температура) -tile.machine_generator.name=Ядерный реактор (Устаревший) -container.generator=Ядерный реактор -tile.red_wire_coated.name=Медный кабель с покрытием -tile.cable_switch.name=Рубильник -tile.cable_detector.name=Редстоун-рубильник -tile.cable_diode.name=Диод из красной меди -tile.red_cable_gauge.name=Датчик мощности -tile.red_cable_gauge.desc=Кабель, который показывает, сколько энергии$ перемещается по сети за тик.$Разделенные сети, соединенные блоками хранения энергии$рассматриваются как одна общая сеть. -tile.machine_deuterium.name=Дейтериевый экстрактор -container.machine_deuterium=Дейтериевый экстрактор -tile.machine_battery_potato.name=Картофельная батарея -tile.machine_battery.name=Энергохранилище -tile.machine_lithium_battery.name=Литий-ионное энергохранилище -tile.machine_schrabidium_battery.name=Шрабидиевое энергохранилище -tile.machine_dineutronium_battery.name=Спарк-энергохранилище -container.battery=Энергохранилище -tile.capacitor_bus.name=Шина конденсатора -tile.capacitor_bus.desc=Выходной блок для конденсаторов$Может быть подключен по прямой линии -tile.capacitor_copper.name=Медный конденсатор -tile.capacitor_gold.name=Золотой конденсатор -tile.capacitor_niobium.name=Ниобиевый конденсатор -tile.capacitor_tantalium.name=Танталовый конденсатор -tile.capacitor_schrabidate.name=Шрабидатовый конденсатор -tile.capacitor.desc=Вход: Сверху$Выход: Снизу через шину -tile.machine_coal_off.name=Генератор внутреннего сгорания -tile.machine_coal_on.name=Генератор внутреннего сгорания -container.machineCoal=Генератор внутреннего сгорания -tile.machine_boiler_off.name=Нагреватель нефти -tile.machine_boiler_on.name=Нагреватель нефти -container.machineBoiler=Нагреватель нефти -tile.machine_boiler_electric_off.name=Электрический нагреватель нефти -tile.machine_boiler_electric_on.name=Электрический нагреватель нефти -container.machineElectricBoiler=Электрический нагреватель нефти -container.machineITER=Термоядерный реактор -tile.iter.name=Термоядерный реактор -tile.machine_turbine.name=Паровая турбина -container.machineTurbine=Паровая турбина -tile.machine_large_turbine.name=Промышленная паровая турбина -container.machineLargeTurbine=Промышленная паровая турбина -tile.machine_chungus.name=Паровая турбина "Левиафан" -tile.launch_pad.name=Силосная пусковая площадка -container.launchPadRusted=Пусковая площадка -container.launchPad=Пусковая площадка -tile.launch_pad_large.name=Пусковая площадка -tile.launch_pad_rusted.name=Старая пусковая площадка -tile.compact_launcher.name=Компактная пусковая площадка -container.compactLauncher=Компактная пусковая площадка -tile.launch_table.name=Большая пусковая площадка -container.launchTable=Большая пусковая площадка -tile.soyuz_launcher.name=Стартовая платформа "Союза" -container.soyuzLauncher=Стартовая платформа "Союза" -tile.machine_missile_assembly.name=Ракетосборочная станция -container.missileAssembly=Ракетосборочная станция -tile.sat_dock.name=Станция посадки груза -tile.sat_lunar_dock.name=Лунная станция посадки груза -container.satDock=Станция посадки груза -tile.book_guide.name=Книга знаний -tile.machine_schrabidium_transmutator.name=Шрабидиевый трансмутатор -container.machine_schrabidium_transmutator=Шрабидиевный трансмутатор -tile.machine_diesel.name=Дизельный генератор -container.machineDiesel=Дизельный генератор -tile.machine_shredder.name=Измельчитель -container.machineShredder=Измельчитель -tile.machine_combine_factory.name=Печь для стали Альянса -container.machineCMB=Печь для стали Альянса -tile.machine_teleporter.name=Телепорт -tile.teleanchor.name=Телепортационный якорь -container.teleporter=Телепорт -tile.machine_reix_mainframe.name=Мэйнфрейм Rei-X (WIP) -container.reix=Мэйнфрейм Rei-X -tile.machine_industrial_generator.name=Промышленный генератор -container.iGenerator=Промышленный генератор -tile.machine_cyclotron.name=Циклотрон -container.cyclotron=Циклотрон -tile.machine_detector.name=Детектор мощности -tile.machine_well.name=Нефтяная вышка -tile.plasma_heater.name=Нагреватель плазмы -container.plasmaHeater=Нагреватель плазмы -tile.machine_pumpjack.name=Станок-качалка -tile.oil_pipe.name=Труба для извлечения неочищенной нефти -container.oilWell=Нефтяная вышка -container.pumpjack=Станок-качалка -container.frackingTower=Башня гидроразрыва пласта -tile.machine_fracking_tower.name=Башня гидроразрыва пласта -tile.machine_refinery.name=Нефтеперерабатывающий завод -container.machineRefinery=Нефтеперерабатывающий завод -tile.machine_catalytic_cracker.name=Башня каталитического крекинга -tile.oil_duct.name=Труба для нефти -tile.oil_duct_solid.name=Покрытая труба для нефти -tile.machine_flare.name=Газовая башня -container.gasFlare=Газовая башня -tile.gas_duct.name=Газовая труба -tile.gas_duct_solid.name=Покрытая газовая труба -tile.machine_drill.name=Автоматический горный бур -container.miningDrill=Автоматический горный бур -tile.drill_pipe.name=Бур -tile.machine_excavator.name=Большой горный бур -tile.machine_assembler.name=Сборочная машина -container.assembler=Сборочная машина -tile.machine_assemfac.name=Сборочный завод -tile.machine_autocrafter.name=Автоматический верстак -container.autocrafter=Автоматический верстак -container.machineFunnel=Комбинаторная воронка -tile.machine_funnel.name=Комбинаторная воронка -tile.machine_funnel.descАвтоматически сжимает предметы в сетке 2x2 или 3x3 для крафтинга$Верх: Вход$Низ: Выход$Бок: Выход для очистки ингредиентов -tile.machine_chemplant.name=Химическая установка -container.chemplant=Химическая установка -tile.machine_chemfac.name=Химический завод -tile.fluid_duct.name=Универсальная жидкостная труба (Устаревшее) -tile.fluid_duct_box.name=Универсальная жидкостная труба (Boxduct) -tile.fluid_duct_neo.name=Универсальная жидкостная труба -tile.fluid_duct_gauge.name=Труба с измерителем потока -tile.fluid_duct_gauge.desc=Труба которая показывает сколько жидкости$перемещается внутри сети за тик.$Разделенные сети, соединенные бочками$или резервуары рассматриваются как одна общая сеть. -tile.fluid_duct_exhaust.name=Выхлопная труба -tile.machine_drain.name=Сливная труба -tile.fluid_switch.name=Редстоун-Жидкостный клапан -tile.fluid_valve.name=Жидкостный клапан -tile.fluid_duct_solid.name=Покрытая универсальная жидкостная труба (Устаревшее) -tile.fluid_duct_paintable.name=Окрашиваемая покрытая универсальная жидкостная труба -tile.machine_fluidtank.name=Цистерна -tile.machine_bat9000.name=Охереть-большая цистерна 9000 -item.fluid_duct.name=Жидкостная труба: -container.fluidtank=Цистерна -container.bat9000=Охереть-большая цистерна 9000 -tile.machine_turbofan.name=Турбовентилятор -container.machineTurbofan=Турбовентилятор -tile.crate_iron.name=Железный ящик -container.crateIron=Железный ящик -tile.crate_steel.name=Стальной ящик -container.crateSteel=Стальной ящик -tile.crate_desh.name=Деш-ящик -container.crateDesh=Деш-ящик -item.containment_box.name=Защитная коробка -container.leadBox=Защитная коробка -container.crateTungsten=Вольфрамовый ящик -tile.crate_tungsten.name=Вольфрамовый ящик -tile.mass_storage.name=Накопительный блок -container.massStorage=Хранилище -tile.safe.name=Сейф -container.safe=Сейф -tile.sand_polonium.name=Полониевый песок -tile.sand_boron.name=Борный песок -tile.sand_lead.name=Свинцовый песок -tile.sand_gold.name=Золотой песок -tile.sand_gold198.name=Песок из золота-198 -tile.sand_quartz.name=Кварцевый песок -tile.sand_boron_layer.name=Слой борного песка -tile.machine_press.name=Пресс -tile.press_preheater.name=Внешний нагреватель пресса -container.press=Пресс -tile.machine_epress.name=Электрический пресс -container.epress=Электрический пресс -tile.machine_fensu.name=ЭМЭХ -tile.machine_siren.name=Сирена -container.siren=Сирена -tile.machine_radgen.name=Радиационный двигатель -container.radGen=Радиационный двигатель -tile.machine_selenium.name=Радиальный двигатель -container.machineSelenium=Радиальный двигатель -container.reactorResearch=Исследовательский реактор -container.reactorZirnox=Ядерный реактор Цирнокс -container.zirnox=Ядерный реактор Цирнокс -tile.machine_reactor_small.name=Исследовательский реактор -tile.machine_zirnox.name=Ядерный реактор Цирнокс -tile.zirnox_destroyed.name=Разрушенный Цирнокс -tile.machine_controller.name=Блок удалённого доступа к реактору -container.reactorControl=Блок удалённого доступа к реактору -tile.soyuz_capsule.name=Грузовая посадочная капсула -container.soyuzCapsule=Грузовая посадочная капсула -tile.machine_crystallizer.name=Рудный окислитель -container.crystallizer=Рудный окислитель -tile.machine_mining_laser.name=Шахтёрский лазер -container.miningLaser=Шахтёрский лазер -tile.barricade.name=Мешки с песком -container.microwave=Микроволновка -tile.machine_microwave.name=Микроволновка -tile.machine_solar_boiler.name=Бойлер солнечной башни -tile.solar_mirror.name=Зеркало-гелиостат -tile.dungeon_chain.name=Металлическая цепь -tile.fireworks.name=Батарея фейерверков -tile.fireworks.charges=Зарядов: %s -tile.fireworks.message=Послание: %s -tile.fireworks.color=Цвет: %s -tile.machine_armor_table.name=Стол модификации брони -container.armorTable=Стол модификации брони -container.turretChekhov=Чеховское ружьё -container.turretFriendly=Мистер Дружелюбный -container.turretJeremy=Джереми -container.turretTauon=Тауон -container.turretRichard=Ричард -container.turretSentry=Браун -tile.turret_chekhov.name=Крупнокалиберная пулеметная турель "Чеховское ружьё" -tile.turret_friendly.name=Турель Гатлинга "Мистер Дружелюбный" -tile.turret_jeremy.name=Автопушка "Джереми" -tile.turret_tauon.name=Прототип турели XVL1456 "Тауон" -tile.turret_richard.name=Ракетная турель "Ричард" -tile.turret_sentry.name=Сторожевая турель "Браун" -tile.turret_sentry_damaged.name=Сторожевая турель "Эдвин" -container.turretHoward=Говард -tile.turret_howard.name=Двойная турель Гатлинга CIWS "Говард" -container.turretMaxwell=Максвелл -container.turretFritz=Фриц -tile.turret_fritz.name=Тяжелая огнеметная турель "Фриц" -tile.turret_maxwell.name=Высокоэнергетическая Мазерная турель "Максвелл" -tile.turret_howard_damaged.name=Двойная турель Гатлинга CIWS "Мафусаил" -container.machineSILEX=Камера ЛРИ -tile.machine_silex.name=Камера лазерного разделения изотопов (SILEX) -container.anvil=Наковальня %s уровня -tile.anvil_dnt.name=Динейтрониевая наковальня -tile.anvil_ferrouranium.name=Ферроураниевая наковальня -tile.anvil_iron.name=Железная наковальня -tile.anvil_lead.name=Свинцовая наковальня -tile.anvil_meteorite.name=Метеоритовая наковальня -tile.anvil_murky.name=Мрачная наковальня -tile.anvil_schrabidate.name=Наковальня из шрабидата железа -tile.anvil_starmetal.name=Наковальня из звёздного металла -tile.anvil_steel.name=Стальная наковальня -tile.anvil_bismuth.name=Висмутовая наковальня -tile.anvil_osmiridium.name=Осмиридиевая наковальня -tile.anvil_arsenic_bronze.name=Наковальня из мышьяковой бронзы -tile.anvil_bismuth_bronze.name=Наковальня из висмутовой бронзы -tile.anvil_desh.name=Деш-наковальня -tile.anvil_saturnite.name=Сатурнитовая наковальня -tile.fraction_spacer.name=Разделитель ректификационной колонны -tile.machine_fraction_tower.name=Ректификационная колонна -tile.machine_orbus.name=Тяжёлый магнитный контейнер для антиматерии -container.orbus=Тяжёлый магнитный контейнер для антиматерии -tile.machine_condenser.name=Конденсатор пара -tile.machine_condenser_powered.name=Мощный конденсатор пара -container.atomicClock=Атомные часы -container.betavoltaic=Бетавольтовый генератор -container.bigRTG=Большой РИТЭГ-генератор -container.diFurnaceRTG=Ядерная доменная печь -container.machineSingGen=Супер-компрессор Ватцза -container.reactorAmat=FTL Реактор (ALPHA) -container.turretLunarOni=Божественный Свет -container.turretTWR=Лорд Цукуеми -tile.machine_fel.name=Лазер на свободных электронах (FEL) -container.machineFEL=FEL -tile.substation.name=Подстанция -tile.red_pylon_large.name=ЛЭП -tile.charge_dynamite.name=Бомба с таймером -tile.charge_miner.name=Шахтёрский заряд с таймером -tile.charge_c4.name=Подрывной заряд -tile.charge_semtex.name=Шахтёрский заряд с семтексом -container.machineLiquefactor=Разжижитель -tile.machine_liquefactor.name=Промышленный разжижитель -tile.machine_liquefactor.desc=Мощная машина для превращения предметов в жидкости.$Поставляется с универсальными каталитическими компонентами, нагревательными элементами$и встроенным гидратором для нефтехимического сжижения. -container.machineSolidifier=Отвердитель -tile.machine_solidifier.name=Промышленный отвердитель -tile.machine_solidifier.desc=Универсальная машина, оснащенная системами охлаждения и другими$универсальными инструментами для превращения жидкостей в твердые вещества с использованием различных$процессов, таких как замораживание и нефтехимическая полимеризация. -container.machineStrandCaster=Машина непрерывного литья заготовок -tile.machine_strand_caster.name=Машина непрерывного литья заготовок -container.hydrotreater=Гидроочиститель -tile.machine_hydrotreater.name=Гидроочиститель -container.machineArcFurnaceLarge=Дуговая печь -tile.machine_arc_furnace.name=Электрическая дуговая печь -container.machineSolderingStation=Паяльный стол -tile.machine_soldering_station.name=Паяльный стол - -tile.conveyor.name=Конвейер -tile.conveyor.desc=Перемещает предметы, упавшие на него$Может вращаться по часовой стрелке с помощью отвертки$Нажмите на отвертку для сгибания -tile.conveyor_express.name=Быстрый конвейер -tile.conveyor_express.desc=Перемещает предметы, упавшие на него, очень быстро$Может вращаться по часовой стрелке с помощью отвертки$Нажмите на отвертку, чтобы согнуть -container.craneExtractor=Конвейерный извлекатель -container.craneInserter=Конвейерный вставщик -tile.crane_extractor.name=Конвейерный извлекатель -tile.crane_extractor.desc=Забирает предметы из инвентаря и помещает их на конвейерные ленты$Имеет до 9 слотов фильтрации с черным и белым списком$Правый клик отверткой для установки выходной стороны$Shift-клик отверткой для установки входной стороны$Кликните дважды для установки противоположной стороны -tile.crane_inserter.name=Конвейерный вставщик -tile.crane_inserter.desc=Принимает предметы с конвейеров и помещает их в контейнеры$Правый щелчок отверткой для установки входной стороны$Shift-щелчок отверткой для установки выходной стороны$Кликните дважды для установки противоположной стороны -container.craneBoxer=Конвейерный упаковщик -container.craneRouter=Конвейерный сортировщик -container.craneUnboxer=Конвейерный распаковщик -tile.crane_boxer.name=Конвейерный упаковщик -tile.crane_boxer.desc=Загружает настраиваемое количество стопок в ящики, которые перемещаются по конвейерным лентам$Правый клик отверткой для установки входной стороны$Шифтовый клик отверткой для установки выходной стороны$Кликните дважды для установки противоположной стороны -tile.crane_router.name=Конвейерный сортировщик -tile.crane_router.desc=Сортирует элемент на основе заданных критериев$Стороны могут быть определены как черный список, белый список или подстановочный знак$Стороны подстановочного знака выбираются только в том случае, если ни один другой фильтр не подходит -tile.crane_unboxer.name=Конвейерный распаковщик -tile.crane_unboxer.desc=Прием коробок и извлечение их содержимого$Правый щелчок отверткой для установки выходной стороны$Shift-щелчок отверткой для установки входной стороны$Дважды щелкните для установки противоположной стороны -tile.conveyor_chute.name=Конвейерный желоб -tile.conveyor_chute.desc=Перемещает предметы вниз$Самый нижний желоб будет действовать как обычный конвейер -tile.conveyor_double.name=Двухполосный конвейер -tile.conveyor_double.desc=Перемещает предметы, опущенные на него$Может поворачиваться по часовой стрелке с помощью отвертки$Нажмите на отвертку для сгибания -tile.conveyor_lift.name=Конвейерный цепной лифт -tile.conveyor_lift.desc=Перемещает предметы вверх$Для правильной работы требуется не менее двух блоков друг на друге -tile.conveyor_triple.name=Трёхполосный конвейер -tile.conveyor_triple.desc=Перемещает предметы, упавшие на него$Может вращаться по часовой стрелке с помощью отвертки$Нажмите на отвертку для сгибания -container.craneGrabber=Конвейерный сборщик -tile.crane_grabber.name=Конвейерный сборщик -tile.crane_grabber.desc=Принимает предметы с проходящих конвейеров и помещает их в контейнеры$Принимает предметы только с ближайшей дорожки$Имеет до 9 слотов фильтрации с черным и белым списком$Правый клик отверткой для установки стороны входа$Сменный клик отверткой для установки стороны выхода$Кликните дважды для установки противоположной стороны -tile.crane_splitter.name=Конвейерный разделитель -tile.crane_splitter.desc=Разделяет предметы и равномерно укладывает их на две конвейерные ленты$Сама является конвейерной лентой, поэтому может напрямую входить в инсертер или сортировщик -tile.crane_partitioner.name=Вставщик окислителя -tile.crane_partitioner.desc=Принимает и сохраняет до девяти входов рудного окислителя$и освобождает их, если они соответствуют требуемому размеру входа.$Неправильные предметы также сохраняются и должны быть извлечены из стороны. - -container.droneCrate=Пассивный ящик для дронов -container.droneDock=Дрон-станция -container.droneProvider=Ящик снабжения для дронов -container.droneRequester=Ящик запроса для дронов -tile.drone_crate.name=Пассивный ящик для дронов -tile.drone_crate.desc=Погрузочно-разгрузочная точка для транспортных дронов.$Действует как путевая точка, должна быть связана с линкером дронов.$Дроны должны приближаться под большим углом, иначе они застрянут. -tile.drone_crate_provider.name=Ящик снабжения для дронов -tile.drone_crate_provider.desc=Предлагает предметы логистической сети.$Логистические дроны будут пытаться переместить предметы от поставщиков в ящики покупателей. -tile.drone_crate_requester.name=Ящик запроса для дронов -tile.drone_crate_requester.desc=Запрашивает предметы из логистической сети.$Предметы, добавленные в фильтр, будут запрошены, если отсутствуют в его инвентаре. -tile.drone_dock.name=Дрон-станция -tile.drone_dock.desc=Точка спауна для логистических дронов.$Может обнаруживать поставщиков и заказчиков только в радиусе 5 чанков.$Дроны будут следовать только до 10 путевых точек за соединение. -tile.drone_waypoint.name=Путевая точка для дронов -tile.drone_waypoint.desc=Путевая точка для дронов$Используйте линкер транспортного дрона, чтобы задать путь$Нажимайте на каждую путевую точку и крейт последовательно, чтобы создать путь,$ затем нажмите shift, чтобы очистить сохраненную позицию$ Щелкните правой кнопкой мыши или shift, чтобы изменить смещение путевой точки -tile.drone_waypoint_request.name=Логистическая путевая точка для дронов -item.drone.patrol.name=Транспортный дрон -item.drone.patrol.desc=Путешествует по маршруту с путевыми точками$Пытается загрузиться/разгрузиться каждый раз, когда достигает ящика с дронами$Правый клик на ящике с дронами для размещения. -item.drone.patrol_chunkloading.name=Транспортный дрон (Чанклоадер) -item.drone.patrol_chunkloading.desc=Путешествует по маршруту с путевыми точками$Пытается загрузиться/разгрузиться каждый раз, когда достигает ящика с дронами$Правый клик на ящике с дронами для размещения.$Загружает куски! -item.drone.patrol_express.name=Быстрый транспортный дрон -item.drone.patrol_express.desc=Путешествует по маршруту с путевыми точками$Пытается загрузиться/разгрузиться каждый раз, когда достигает ящика с дронами$Правый клик на ящике с дронами для размещения. -item.drone.patrol_express_chunkloading.name=Быстрый транспортный дрон (Чанклоадер) -item.drone.patrol_express_chunkloading.desc=Путешествует по маршруту с путевыми точками$Пытается загрузиться/разгрузиться каждый раз, когда достигает ящика с дронами$Правый клик поверх ящика с дронами для размещения.$Загружает куски! -item.drone.request.name=Логистический дрон -item.drone.request.desc=Используется доками логистических дронов для порождения логистических дронов$Дроны следуют по путевым точкам логистических дронов$После выполнения запроса дрон возвращается в док. -item.drone_linker.name=Соединитель пассивных ящиков для дронов - -container.turretArty=Грег -tile.turret_arty.name=Артиллерийская турель "Грег" -container.heaterFirebox=Топка -tile.heater_firebox.name=Топка -tile.heater_firebox.desc=Производит тепло, сжигая твёрдое топливо. -container.heaterOilburner=Жидкостный бойлер -tile.heater_oilburner.name=Жидкостный бойлер -tile.heater_oilburner.desc=Производит тепло, сжигая жидкое топливо.$Может быть настроено с помощью отвертки. -tile.machine_stirling.name=Генератор Стирлинга -tile.machine_stirling.desc=Превращает тепло в энергию. Требует внешний источник тепла.$Скорость теплопередачи: T*0.1 TU/t$Максимальное потребление: 300 TU/t$Эффективность: 50%% -tile.machine_stirling_steel.name=Укреплённый генератор Стирлинга -tile.machine_stirling_steel.desc=Превращает тепло в энергию. Требует внешний источник тепла.$Использует более тяжёлую шестерню, чтобы выдерживать высокие температуры.$Скорость теплопередачи: T*0.1 TU/t$Максимальное потребление: 1500 TU/t$Эффективность: 50%% -tile.machine_sawmill.name=Лесопилка на генераторе Стирлинга -tile.machine_sawmill.desc=Требует внешний источник тепла.$Скорость теплопередачи: T*0.1 TU/t$Мин. потребление: 100 TU/t, Макс. потребление intake: 300 TU/t -tile.heater_electric.name=Электрический нагреватель -tile.heater_electric.desc=Производит тепло, используя энергию.$Принимает тепло снизу, эффективность 85%%.$Можно настроить отверткой -container.heaterOven=Нагревательная печь -tile.heater_oven.name=Нагревательная печь -tile.heater_oven.desc=Производит тепло, сжигая твёрдое топливо.$Принимает тепло снизу с 50%% эффективностью. -tile.heater_heatex.name=Теплообменный нагреватель -tile.heater_heatex.desc=Выделяет тепло из горячих жидкостей. -container.heaterHeatex=Теплообменник -tile.machine_steam_engine.name=Паровой двигатель -tile.machine_steam_engine.desc=Эффективность: 85%% -container.turretHIMARS=Генри +item.acetylene_torch.name=Ацетиленовая сварочная горелка +item.ajr_boots.name=Ботинки Стальных Рейнджеров +item.ajr_helmet.name=Шлем Стальных Рейнджеров +item.ajr_legs.name=Поножи Стальных Рейнджеров +item.ajr_plate.name=Нагрудник Стальных Рейнджеров +item.ajro_boots.name=Ботинки силовой брони AJR +item.ajro_helmet.name=Шлем силовой брони AJR +item.ajro_legs.name=Поножи силовой брони AJR +item.ajro_plate.name=Нагрудник силовой брони AJR +item.alloy_axe.name=Топор из продвинутого сплава +item.alloy_boots.name=Ботинки из продвинутого сплава +item.alloy_helmet.name=Шлем из продвинутого сплава +item.alloy_hoe.name=Мотыга из продвинутого сплава +item.alloy_legs.name=Поножи из продвинутого сплава +item.alloy_pickaxe.name=Кирка из продвинутого сплава +item.alloy_plate.name=Нагрудник из продвинутого сплава +item.alloy_shovel.name=Лопата из продвинутого сплава +item.alloy_sword.name=Меч из продвинутого сплава +item.ammo_12gauge.name=Картечь 12 калибра +item.ammo_12gauge_du.name=Картечь 12 калибра (С урановым покрытием) +item.ammo_12gauge_incendiary.name=Картечь 12 калибра (Зажигательная) +item.ammo_12gauge_marauder.name=Тактический противомародёрный снаряд 12 калибра +item.ammo_12gauge_percussion.name=Капсюль 12 калибра +item.ammo_12gauge_shrapnel.name=Картечь 12 калибра (Шрапнельная) +item.ammo_12gauge_sleek.name=Картечь 12 калибра (IF-R&D) +item.ammo_20gauge.name=Картечь 20 калибра +item.ammo_20gauge_caustic.name=Картечь 20 калибра (Токсичная) +item.ammo_20gauge_explosive.name=Картечь 20 калибра (Взрывная) +item.ammo_20gauge_flechette.name=Игольчатые снаряды 20 калибра +item.ammo_20gauge_incendiary.name=Картечь 20 калибра (Зажигательная) +item.ammo_20gauge_shock.name=Картечь 20 калибра (Шоковая) +item.ammo_20gauge_shrapnel.name=Картечь 20 калибра (Шрапнельная) +item.ammo_20gauge_sleek.name=Картечь 20 калибра (IF-R&D) +item.ammo_20gauge_slug.name=Пуля Бреннеке 20 калибра +item.ammo_20gauge_wither.name=Картечь 20 калибра (Иссушающая) +item.ammo_22lr.name=Малокалиберный патрон .22 LR +item.ammo_22lr_ap.name=Малокалиберный патрон .22 LR (Бронебойный) +item.ammo_22lr_chlorophyte.name=Малокалиберный патрон .22 LR (Хлорофит) +item.ammo_357_desh.name=Деш-Пуля калибра .357 Магнум +item.ammo_44.name=Пуля калибра .44 Магнум +item.ammo_44_ap.name=Пуля калибра .44 Магнум (Бронебойный) +item.ammo_44_bj.name=Пуля калибра .44 Магнум (Лодка) +item.ammo_44_chlorophyte.name=Пуля калибра .44 Магнум (Хлорофит) +item.ammo_44_du.name=Пуля калибра .44 Магнум (ДУ) +item.ammo_44_phosphorus.name=Пуля калибра .44 Магнум (БФ) +item.ammo_44_pip.name=Пуля калибра .44 Магнум (Грузовой вагон) +item.ammo_44_rocket.name=Ракета-Пуля .44 Магнум +item.ammo_44_silver.name=Пуля калибра .44 Магнум (Здание) +item.ammo_44_star.name=Пуля калибра .44 Магнум (Звёздный металл) +item.ammo_45.name=.45 ACP Round +item.ammo_45_ap.name=Пуля 45-го калибра ACP (Бронебойная) +item.ammo_45_du.name=Пуля 45-го калибра ACP (С урановым наконечником) +item.ammo_4gauge.name=Картечь 4 калибра +item.ammo_4gauge_balefire.name=23мм Жар-граната +item.ammo_4gauge_canister.name=23мм Ракета (Картечь) +item.ammo_4gauge_claw.name=Картечь 4 калибра (Клешни) +item.ammo_4gauge_explosive.name=23мм граната +item.ammo_4gauge_flechette.name=Игольчатая картечь 4 калибра +item.ammo_4gauge_flechette_phosphorus.name=Игольчатая картечь 4 калибра (БФ) +item.ammo_4gauge_kampf.name=23мм Ракета +item.ammo_4gauge_semtex.name=23мм Шахтёрский заряд +item.ammo_4gauge_sleek.name=Картечь 4 калибра (IF-R&D) +item.ammo_4gauge_slug.name=Твёрдая Стальная пуля 4 калибра +item.ammo_4gauge_titan.name=Картечь 4 калибра (кряк) +item.ammo_4gauge_vampire.name=Картечь 4 калибра (Осиновый кол) +item.ammo_4gauge_void.name=Картечь 4 калибра (Пустотная оболочка) +item.ammo_50ae.name=Патрон калибра .50 AE +item.ammo_50ae_ap.name=Патрон калибра .50 AE (Бронебойный) +item.ammo_50ae_chlorophyte.name=Патрон калибра .50 AE (Хлорофит) +item.ammo_50ae_du.name=Патрон калибра .50 AE (ДУ) +item.ammo_50ae_star.name=Патрон калибра .50 AE (Звёздный металл) +item.ammo_50bmg.name=Крупнокалиберный патрон .50 BMG +item.ammo_50bmg_ap.name=Крупнокалиберный патрон .50 BMG (Бронебойный) +item.ammo_50bmg_chlorophyte.name=Крупнокалиберный патрон .50 BMG (Хлорофит) +item.ammo_50bmg_du.name=Крупнокалиберный патрон .50 BMG (ДУ) +item.ammo_50bmg_explosive.name=Крупнокалиберный патрон .50 BMG (Взрывной) +item.ammo_50bmg_flechette.name=Игольчатый .50 BMG патрон +item.ammo_50bmg_flechette_am.name=Игольчатый .50 BMG патрон (Америций) +item.ammo_50bmg_flechette_po.name=Игольчатый .50 BMG патрон (Полоний) +item.ammo_50bmg_incendiary.name=Крупнокалиберный патрон .50 BMG (Зажигательный) +item.ammo_50bmg_phosphorus.name=Крупнокалиберный патрон .50 BMG (БФ) +item.ammo_50bmg_sleek.name=Крупнокалиберный патрон .50 BMG (IF-R&D) +item.ammo_50bmg_star.name=Крупнокалиберный патрон .50 BMG (Звёздный металл) +item.ammo_556.name=5.56мм патрон +item.ammo_556_ap.name=5.56мм патрон (Бронебойный) +item.ammo_556_chlorophyte.name=5.56мм патрон (Хлорофит) +item.ammo_556_du.name=5.56мм патрон (ДУ) +item.ammo_556_flechette.name=Игольчатый 5.56-патрон +item.ammo_556_flechette_chlorophyte.name=Игольчатый 5.56-патрон (Хлорофит) +item.ammo_556_flechette_du.name=Игольчатый 5.56-патрон (Урановый бронебойный) +item.ammo_556_flechette_incendiary.name=Игольчатый 5.56-патрон (Зажигательный) +item.ammo_556_flechette_phosphorus.name=Игольчатый 5.56-патрон (Фосфорный наконечник) +item.ammo_556_flechette_sleek.name=Игольчатый 5.56-патрон (IF-R&D) +item.ammo_556_k.name=5.56мм К-Патрон +item.ammo_556_phosphorus.name=5.56мм патрон (БФ) +item.ammo_556_sleek.name=5.56мм патрон (IF-R&D) +item.ammo_556_star.name=5.56мм патрон (Звёздный металл) +item.ammo_556_tracer.name=5.56мм патрон (Трассирующий снаряд) +item.ammo_5mm.name=5-мм патрон +item.ammo_5mm_chlorophyte.name=5-мм патрон (Хлорофит) +item.ammo_5mm_du.name=5-мм патрон (ДУ) +item.ammo_5mm_explosive.name=5-мм патрон (Взрывной) +item.ammo_5mm_star.name=5-мм патрон (Звёздный металл) +item.ammo_75bolt.name=Магазин болтов .75 (30rnd) +item.ammo_75bolt_incendiary.name=Магазин зажигательных болтов .75 (30rnd) +item.ammo_75bolt_he.name=Магазин фугасных болтов .75 (30rnd) +item.ammo_762.name=7.62мм патрон +item.ammo_762_ap.name=7.62мм патрон (Бронебойный) +item.ammo_762_du.name=7.62мм патрон (С урановым наконечником) +item.ammo_762_k.name=7.62 мм K-образный патрон +item.ammo_762_phosphorus.name=7.62мм патрон (БФ) +item.ammo_762_tracer.name=7.62мм патрон (Трассирующий) +item.ammo_9mm.name=9-мм патрон +item.ammo_9mm_ap.name=9-мм патрон (Бронебойный) +item.ammo_9mm_chlorophyte.name=9-мм патрон (Хлорофит) +item.ammo_9mm_du.name=9-мм патрон (ДУ) +item.ammo_9mm_rocket.name=9-мм ракета +item.ammo_arty.name=16-дюймовый артиллерийский снаряд item.ammo_arty_cargo.name=16-дюймовый артиллерийский снаряд для экспресс-доставки +item.ammo_arty_chlorine.name=Хлорный 16-дюймовый артиллерийский снаряд +item.ammo_arty_classic.name=16-дюймовый артиллерийский снаряд (Прямо из Факторио) +item.ammo_arty_he.name=Фугасный 16-дюймовый артиллерийский снаряд +item.ammo_arty_mini_nuke.name=Мини-ядерный 16-дюймовый артиллерийский снаряд +item.ammo_arty_mini_nuke_multi.name=Мини-ядерный 16-дюймовый мульти-снаряд +item.ammo_arty_mustard_gas.name=16-дюймовый артиллерийский снаряд с ипритом +item.ammo_arty_nuke.name=Ядерный 16-дюймовый артиллерийский снаряд +item.ammo_arty_phosgene.name=Фосгеновый 16-дюймовый артиллерийский снаряд +item.ammo_arty_phosphorus.name=Фосфорный 16-дюймовый артиллерийский снаряд +item.ammo_bag.name=Сумка для боеприпасов +item.ammo_bag_infinite.name=Бесконечная сумка для боеприпасов +item.ammo_arty_phosphorus_multi.name=Фосфорный 16-дюймовый мульти-снаряд +item.ammo_cell.name=Энерго-патроны +item.ammo_coilgun.name=Вольфрамовый шар для гаусс-пушки +item.ammo_coilgun_du.name=Ферроураниевый шар для гаусс-пушки +item.ammo_coilgun_rubber.name=Резиновый шар для гаусс-пушки +item.ammo_container.name=Контейнер с боеприпасами +item.ammo_dart.name=Пластиковый дротик (Иссущающий) +item.ammo_dart_nerf.name=Дротик NERF +item.ammo_dart_nuclear.name=Пластиковый дротик (С взрывчаткой) +item.ammo_dgk.name=Лента на 200 патронов для CIWS "Говард" +item.ammo_fireext.name=Бак с водой для огнетушителя +item.ammo_fireext_foam.name=Бак с пеной для огнетушителя +item.ammo_fireext_sand.name=Бак с песком для огнетушителя +item.ammo_folly.name=Серебряная пуля +item.ammo_folly_du.name=Серебряная пуля (ДУ, Не взрывающаяся) +item.ammo_folly_nuclear.name=Серебряная пуля (Атомная) +item.ammo_fuel.name=Бак с дизелем +item.ammo_fuel_gas.name=Бак с газом +item.ammo_fuel_napalm.name=Бак с напалмом +item.ammo_fuel_phosphorus.name=Бак с белым фосфором +item.ammo_fuel_vaporizer.name=Бак испарителя +item.ammo_grenade.name=40мм граната +item.ammo_grenade_concussion.name=40мм граната (Concussion) +item.ammo_grenade_finned.name=40мм граната (Finned) +item.ammo_grenade_he.name=40мм граната (Фугасная) +item.ammo_grenade_incendiary.name=40мм граната (Зажигательная) +item.ammo_grenade_kampf.name=40мм-Ракета +item.ammo_grenade_leadburster.name=40мм Лидбастер +item.ammo_grenade_nuclear.name=40мм граната (Привет) +item.ammo_grenade_phosphorus.name=40мм граната (БФ) +item.ammo_grenade_sleek.name=40мм граната (IF-R&D) +item.ammo_grenade_toxic.name=40мм граната (Химическая) +item.ammo_grenade_tracer.name=40мм Учебная граната item.ammo_himars_standard.name=227-мм управляемый артиллерийский ракетный снаряд item.ammo_himars_standard_he.name=227-мм управляемый артиллерийский ракетный снаряд (Фугасный) +item.ammo_himars_standard_lava.name=227-мм управляемый артиллерийский ракетный снаряд (Лава) item.ammo_himars_standard_mini_nuke.name=227-мм управляемый артиллерийский ракетный снаряд (Мини-ядерный) item.ammo_himars_standard_tb.name=227-мм управляемый артиллерийский ракетный снаряд (Термобарический) item.ammo_himars_standard_wp.name=227-мм управляемый артиллерийский ракетный снаряд (БФ) -item.ammo_himars_standard_lava.name=227-мм управляемый артиллерийский ракетный снаряд (Лава) item.ammo_himars_single.name=610-мм управляемый артиллерийский ракетный снаряд item.ammo_himars_single_tb.name=610-мм управляемый артиллерийский ракетный снаряд (Термобарический) -tile.brick_asbestos_stairs.name=Ступени из асбестовых кирпичей -tile.brick_compound.name=Композитная сетка -tile.brick_compound_stairs.name=Ступени из композитной сетки -tile.brick_concrete_stairs.name=Ступени из бетонных кирпичей -tile.brick_concrete_broken.name=Разрушенные бетонные кирпичи -tile.brick_concrete_marked.name=Помеченные бетонные кирпичи -tile.brick_concrete_cracked_stairs.name=Ступени из разрушенных бетоновых кирпичей -tile.brick_concrete_mossy_stairs.name=Cтупени из замшелых бетонных кирпичей -tile.brick_ducrete_stairs.name=Ступени из дюкретовых кирпичей -tile.brick_fire_stairs.name=Ступени из шамотных кирпичей -tile.brick_light.name=Cветлые кирпичи -tile.brick_light_stairs.name=Ступени из светлых кирпичей -tile.brick_obsidian_stairs.name=Ступени из обсидиановых кирпичей -tile.brick_slab.brick_asbestos.name=Плита из асбестовых кирпичей -tile.brick_slab.brick_compound.name=Плита из композитной сетки -tile.brick_slab.brick_fire.name=Плита из шамотных кирпичей -tile.brick_slab.brick_light.name=Плита из светлых кирпичей -tile.brick_slab.brick_obsidian.name=Плита из обсидиановых кирпичей -tile.brick_slab.reinforced_brick.name=Плита из укреплённого камня -tile.brick_slab.reinforced_stone.name=Плита из уплотнённого камня -tile.concrete_asbestos_stairs.name=Ступени из асбестовых кирпичей -tile.concrete_brick_slab.brick_concrete.name=Плита из бетонных кирпичей -tile.concrete_brick_slab.brick_concrete_broken.name=Плита из разрушившихся бетонных кирпичей -tile.concrete_brick_slab.brick_concrete_cracked.name=Плита из потресканных бетонных кирпичей -tile.concrete_brick_slab.brick_concrete_mossy.name=Плита из замшелых бетонных кирпичей -tile.concrete_brick_slab.brick_ducrete.name=Плита из дюкретовых кирпичей -tile.concrete_colored_ext.hazard.name=Бетон "Выбор строителя" - Полоса опасности -tile.concrete_colored_ext.indigo.name=Бетон "Выбор строителя" - Глубокий индиго -tile.concrete_colored_ext.machine.name=Бетон "Выбор строителя" - Промышленный оттенок -tile.concrete_colored_ext.machine_stripe.name=Бетон "Выбор строителя" - Промышленная полоса -tile.concrete_colored_ext.pink.name=Бетон "Выбор строителя" - Мужественный розовый -tile.concrete_colored_ext.purple.name=Бетон "Выбор строителя" - Таинственный фиолетовый -tile.concrete_colored_ext.bronze.name=Бетон "Выбор строителя" - Бронза -tile.concrete_colored_ext.sand.name=Бетон "Выбор строителя" - Пустыня -tile.concrete_slab.concrete.name=Плита из бетонной плитки -tile.concrete_slab.concrete_asbestos.name=Плита из асбестобетона -tile.concrete_slab.concrete_smooth.name=Плита из бетона -tile.concrete_slab.ducrete.name=Плита из дюкретовой плитки -tile.concrete_slab.ducrete_smooth.name=Плита из дюкрета -tile.concrete_smooth_stairs.name=Ступени из бетона -tile.concrete_stairs.name=Ступени из бетонной плитки -tile.ducrete_stairs.name=Ступени из дюкретовой плитки -tile.ducrete_smooth_stairs.name=Ступени из дюкрета -tile.machine_boiler.name=Бойлер -tile.machine_boiler.desc=Большой бойлер для кипячения воды или нагрева нефти.$Требует внешний источник тепла.$Скорость передачи тепла: ΔT*0.01 TU/t -container.furnaceCombination=Коксовая печь -tile.furnace_combination.name=Коксовая печь -tile.furnace_combination.desc=Большая печь которая производит древесный уголь и угольный кокс.$Выделяет жидкостные побочные продукты.$Скорость передачи тепла: ΔT*0.25 TU/t -tile.reinforced_brick_stairs.name=Ступени из укреплённого камня -tile.reinforced_stone_stairs.name=Ступени из уплотнённого камня -tile.turret_himars.name=Ракетная артиллерийская турель "Генри" -tile.radio_torch_receiver.name=Редстоун-радио приёмник -tile.radio_torch_receiver.desc=Ставится на плоские поверхности или совместимые компараторные блоки -tile.radio_torch_sender.name=Редстоун-радио передатчик -tile.radio_torch_sender.desc=Ставится на плоские поверхности или совместимые компараторные блоки$Считывает редстоун сигнал или вход компаратора -container.rttyReceiver=Редстоун-радио приёмник -container.rttySender=Редстоун-радио передатчик -tile.radio_telex.name=Телекс -tile.machine_combustion_engine.name=Промышленный двигатель внутреннего сгорания -tile.machine_mixer.name=Промышленный смеситель -container.machineMixer=Промышленный смеситель -tile.machine_turbinegas.name=Газовая турбина комбинированного цикла -container.turbinegas=Газовая турбина комбинированного цикла -tile.machine_autosaw.name=Автоматическая пила -tile.machine_autosaw.desc=Срубает ближайшие растения, пересаживает деревья$Принимает:$-Древесное масло$-Этанол$-Рыбное масло$-Тяжелую нефть -tile.machine_hephaestus.name=Геотермальный теплообменик -tile.ore_volcano.name=Геотермальный источник -container.vacuumDistill=Вакуумный нефтеперерабатывающий завод -tile.machine_vacuum_distill.name=Вакуумный нефтеперерабатывающий завод -tile.machine_catalytic_reformer.name=Каталитический реформер -container.catalyticReformer=Каталитический реформер -tile.fan.name=Вентилятор -tile.fan.desc=Активируется редстоуном$Толкает существ до 10 блоков$ПКМ отвёрткой чтобы повернуть -tile.watz.name=Реактор Ватцз -tile.watz_pump.name=Нагнетающая помпа Ватцза -tile.machine_coker.name=Коксовая установка -tile.machine_coker.desc=Коксует жидкость, создавая жидкую побочку.$Требует внешний источник тепла.$Скорость передачи тепла: ΔT*0.025 TU/t -container.machineCoker=Коксовая установка -container.machineCompressor=Компрессор -tile.machine_compressor.name=Компрессор -tile.chimney_brick.name=Дымовая труба -tile.chimney_brick.desc=Подсоединяется с помощью выхлопных труб к машинам$Сокращает выбросы загрязняющих веществ на 75%% -tile.chimney_industrial.name=Промышленная дымовая труба -tile.chimney_industrial.desc=Подсоединяется с помощью выхлопных труб к машинам$Сокращает выбросы загрязняющих веществ на 90%% -tile.radio_torch_counter.name=Редстоун-радио счётчик предметов -tile.radio_torch_counter.desc=Ставится на плоские поверхности или совместимые компараторные блоки$Сигнал зависит от количества нужных предметов -container.rttyCounter=Редстоун-радио счётчик предметов -container.rttyLogic=Редстоун-радио логический приёмник -tile.radio_torch_logic.name=Редстоун-радио логический приёмник -tile.radio_torch_logic.desc=Размещается на плоских поверхностях или совместимых с компаратором блоках$Сопоставляет сигналы красного камня с условиями, оцениваемыми в заданном порядке$Числовые или строковые входы сравниваются с константой -tile.machine_industrial_boiler.name=Промышленный бойлер -tile.machine_industrial_boiler.desc=Большой бойлер, в котором можно вскипятить воду или разогреть нефть.$Требует внешний источник тепла.$Скорость передачи тепла: ΔT*0.01 TU/t$Не может взорваться -container.crateTemplate=Сборочный ящик -tile.crate_template.name=Сборочный ящик -container.machineElectrolyser=Электролизёр -tile.machine_electrolyser.name=Электролизёр -tile.lantern.name=Светильник -tile.lantern_behemoth.name=Старый светильник -container.ashpit=Зольник -tile.machine_ashpit.name=Зольник -tile.machine_ashpit.desc=Собирает золу из топок и нагревательных печей -tile.machine_stirling_creative.name=Творческий генератор Стирлинга -tile.machine_stirling_creative.desc=Превращает тепло в энергию. Требует внешний источник тепла.$Скорость теплопередачи: T*0.1 TU/t$Бесконечное потребление/t$Эффективность: 100%% -tile.machine_conveyor_press.name=Конвейерный пресс -tile.machine_conveyor_press.desc=Лента двигается слево-направо$ПКМ чтобы установить штамп$ПКМ отвёрткой чтобы снять штамп -tile.pump_electric.name=Электрический насос для грунтовых вод -tile.pump_electric.desc=Использует электричество для выкачивания грунтовых вод$Выкачывает до 10,000мБ/тик$Должно быть размещено ниже Y:70 -tile.pump_steam.name=Паровой насос для грунтовых вод -tile.pump_steam.desc=Использует пар для выкачивания грунтовых вод$Выкачывает до 1000мБ/тик$Должно быть размещено ниже Y:70 -container.machineArcWelder=Дуговой сварщик -tile.machine_arc_welder.name=Дуговой сварщик -container.machineWoodBurner=Генератор на дровах -tile.machine_wood_burner.name=Генератор на дровах -tile.machine_wood_burner.desc=Генерирует 100HE/тик$Собирает золу$Может сжигать жидкости с 25%% эффективностью за 1мБ/с -tile.machine_ore_slopper.name=Переработчик бедроковой руды -container.machineOreSlopper=П.Б.Р. - -container.machineICF=ICF -tile.icf.name=Реактор инерциального термоядерного синтеза (ICF) -tile.icf_block.name=Лазер ICF -tile.icf_controller.name=Контроллер лазера ICF -tile.icf_laser_component.capacitor.name=Лазерный конденсатор ICF -tile.icf_laser_component.casing.name=Обшивка лазера ICF -tile.icf_laser_component.cell.name=Лазерная ячейка ICF -tile.icf_laser_component.emitter.name=Лазерный излучатель ICF -tile.icf_laser_component.port.name=Порт лазера ICF -tile.icf_laser_component.turbo.name=Турбоусилитель лазера ICF -container.machineICFPress=Топливный пресс ICF -tile.machine_icf_press.name=Топливный пресс ICF -tile.machine_icf_press.desc=Наполняет топливные пеллеты ICF$Левый топливный слот принимается сверху/снизу, правый - по бокам$Мюоны и пеллеты могут подаваться с любой стороны -tile.icf_component.name=Стабилизатор ICF -tile.icf_component.structure.name=Обшивка ICF -tile.icf_component.structure_bolted.name=Обшивка ICF (Заклепанный) -tile.icf_component.vessel.name=Стенка активной зоны ICF -tile.icf_component.vessel_welded.name=Стенка активной зоны ICF (Сваренная) -tile.struct_icf_core.name=Ядро инерциального термоядерного реактора (ICF) - -tile.cm_block.alloy.name=Корпус машины из продвинутого сплава -tile.cm_block.desh.name=Корпус машины из деша -tile.cm_block.steel.name=Корпус машины из стали -tile.cm_block.tcalloy.name=Корпус машины из технециевой стали -tile.cm_engine.bismuth.name=Моторный блок из висмута -tile.cm_engine.desh.name=Моторный блок из деша -tile.cm_engine.standard.name=Моторный блок -tile.cm_flux.name=Приемник нейтронного потока -tile.cm_heat.name=Теплоприемник -tile.cm_port.alloy.name=Люк из продвинутого сплава -tile.cm_port.desh.name=Люк из деша -tile.cm_port.steel.name=Люк из стали -tile.cm_port.tcalloy.name=Люк из технециевой стали -tile.cm_sheet.alloy.name=Лист из продвинутого сплава -tile.cm_sheet.desh.name=Лист из деша -tile.cm_sheet.steel.name=Лист из стали -tile.cm_sheet.tcalloy.name=Лист из технециевой стали -tile.cm_tank.alloy.name=Бак из продвинутого сплава -tile.cm_tank.desh.name=Бак из деша -tile.cm_tank.steel.name=Бак из стали -tile.cm_tank.tcalloy.name=Бак из технециевой стали -tile.cm_circuit.aluminium.name=Блок микросхем 1-го уровня -tile.cm_circuit.copper.name=Блок микросхем 2-го уровня -tile.cm_circuit.gold.name=Блок микросхем 4-го уровня -tile.cm_circuit.red_copper.name=Блок микросхем 3-го уровня -tile.cm_circuit.schrabidium.name=Блок микросхем 5-го уровня - -tile.pwr_block.name=Водо-водяной энергетический реактор (ВВЭР) -tile.pwr_casing.name=Внешняя обшивка ВВЭР -tile.pwr_casing.desc=Для формирования реактора необходимо покрыть все внутренние части$Размещение: Обшивка -tile.pwr_channel.name=Каналы с охладителем ВВЭР -tile.pwr_channel.desc=Использует тепло корпуса для нагрева охлаждающей жидкости$Размещение: Любое -tile.pwr_control.name=Регулирующие стержни ВВЭР -tile.pwr_control.desc=Позволяет управлять размещёнными топливными стержнями$Размещение: Внутри, между топливными стержнями -tile.pwr_controller.name=Контроллер ВВЭР -tile.pwr_controller.desc=Панель управления ВВЭР$Размещение: Обшивка, только один на весь реактор$ПКМ чтобы собрать реактор -tile.pwr_fuel.name=Топливный стержень ВВЭР -tile.pwr_fuel.desc=Увеличивает вместимость топлива$Размещение: Внутри, повышает реактивность -tile.pwr_heatex.name=Теплообменник ВВЭР -tile.pwr_heatex.desc=Перемещает тепло из активной зоны на корпус$Размещение: Любое -tile.pwr_neutron_source.name=Источник нейтронов ВВЭР -tile.pwr_neutron_source.desc=Добавляет 20 единиц потока в активную зону$Размещение: Любое$Поток достигает топливных стержней если между ними ничего нет -tile.pwr_port.name=Люк доступа ВВЭР -tile.pwr_port.desc=Ввод/вывод жидкостей и предметов$Размещение: Обшивка -tile.pwr_reflector.name=Нейтронный отражатель ВВЭР -tile.pwr_reflector.desc=Отражает нейтроны обратно к топливным стержням$Размещение: Внутри, повышает реактивность$Подходит для обшивки -tile.pwr_heatsink.name=Радиатор ВВЭР -tile.pwr_heatsink.desc=Увеличивает теплоемкость активной зоны на 5%%$Делает каналы охлаждающей жидкости и теплообменники чуть менее эффективными$Размещение: Любое - -container.hadron=Ускоритель частиц -tile.hadron_access.name=Терминал доступа ускорителя частиц -tile.hadron_core.name=Ядро ускорителя частиц -tile.hadron_power.name=Порт питания ускорителя частиц (1MHE) -tile.hadron_power_10m.name=Порт питания ускорителя частиц (10MHE) -tile.hadron_power_100m.name=Порт питания ускорителя частиц (100MHE) -tile.hadron_power_1g.name=Порт питания ускорителя частиц (1GHE) -tile.hadron_power_10g.name=Порт питания ускорителя частиц (10GHE) -tile.hadron_analysis.name=Стенка камеры ускорителя частиц -tile.hadron_analysis_glass.name=Окно камеры ускорителя частиц -tile.hadron_coil_alloy.name=Плотная сверхпроводящая катушка -tile.hadron_coil_mese.name=Плотная месе катушка -tile.hadron_coil_schrabidium.name=Плотная шрабидиевая катушка -tile.hadron_coil_starmetal.name=Плотная звёзднометаллическая катушка -tile.hadron_coil_chlorophyte.name=Плотная хлорофитовая катушка -tile.hadron_coil_gold.name=Плотная золотая катушка -tile.hadron_coil_magtung.name=Плотная сверхпроводящая 4000K катушка -tile.hadron_coil_neodymium.name=Плотная неодимовая катушка -tile.hadron_coil_schrabidate.name=Плотная шрабидатавая катушка -tile.hadron_cooler.name=Кулер ускорителя частиц -tile.hadron_cooler.desc=Мощность охлаждения: 10$Порог переохлаждения: 10$Бонус: +10%%$Штраф переохлаждения: -25%% -tile.hadron_cooler_mk2.name=Кулер ускорителя частиц - The Palindrome Special -tile.hadron_cooler_mk2.desc=Мощность охлаждения: 5$Функция эффективности: 2-(охлад-15)²/225$Макс. штраф: -90%% -tile.hadron_diode.name=Диод частиц Шоттки -tile.hadron_plating.name=Обшивка ускорителя частиц -tile.hadron_plating_black.name=Обшивка ускорителя частиц (Чёрный) -tile.hadron_plating_blue.name=Обшивка ускорителя частиц (Синий) -tile.hadron_plating_glass.name=Обшивка ускорителя частиц (Окошко) -tile.hadron_plating_striped.name=Обшивка ускорителя частиц (Крутые полосы опасности) -tile.hadron_plating_voltz.name=Обшивка ускорителя частиц (ВОЛЬТЗ) -tile.hadron_plating_yellow.name=Обшивка ускорителя частиц (Жёлтый) -tile.field_disturber.name=Подавитель высокоэнергитических полей -container.exposureChamber=Камера облучения частицами -tile.machine_exposure_chamber.name=Камера облучения частицами - -tile.barrel_plastic.name=Безопасный бочонок™ -tile.barrel_corroded.name=Проржавевшая бочка -tile.barrel_iron.name=Железная бочка -tile.barrel_steel.name=Стальная бочка -tile.barrel_antimatter.name=Магнитный контейнер для антиматерии -container.barrel=Бочка - -tile.broadcaster_pc.name=Повреждённый передатчик -tile.tesla.name=Катушка Теслы -tile.charger.name=Станция зарядки -tile.radiobox.name=Коробка управления вредителями Розенберга -tile.radiorec.name=FM радио -container.radiobox=FM передатчик -container.radiorec=FM радио -tile.muffler.name=Глушитель -tile.red_pylon.name=Малый электрический столб -tile.red_pylon_medium_steel.name=Средний стальной электрический столб -tile.red_pylon_medium_steel_transformer.name=Средний стальной электрический столб с трансформатором -tile.red_pylon_medium_wood.name=Средний деревянный электрический столб -tile.red_pylon_medium_wood_transformer.name=Средний деревянный электрический столб с трансформатором -item.wiring_red_copper.name=Моток провода - -tile.rail_highspeed.name=Высокоскоростные рельсы -tile.rail_booster.name=Ускоряющие высокоскоростные рельсы -item.cart.crate.name=Вагонетка с ящиком -item.cart.destroyer.name=Вагонетка с уничтожителем мусора -item.cart.empty.name=Стальная вагонетка -tile.rail_narrow.name=Узкоколейные вагонеточные рельсы -tile.rail_wood.name=Деревянные рельсы -container.trainTram=Трамвай с плоской платформой -item.train.cargo_tram.name=Трамвай с плоской платформой - -tile.rail_large_buffer.name=Стандартный буферный упорный рельс (5м) -tile.rail_large_curve.name=Стандартная кривая колея (5м) -tile.rail_large_curve_7.name=Стандартная кривая колея (7м) -tile.rail_large_curve_9.name=Стандартная кривая рельса (9м) -tile.rail_large_ramp.name=Стандартная рампа (5м) -tile.rail_large_straight.name=Стандартная колея (5м) -tile.rail_large_straight_short.name=Стандартная колея (1м) -tile.rail_large_switch.name=Переключатель стандартной колеи (15м, левый) -tile.rail_large_switch_flipped.name=Переключатель стандартной колеи (15м, правый) - -tile.factory_titanium_hull.name=Корпус базовой фабрики -tile.factory_titanium_furnace.name=Люк доступа базовой фабрики -tile.factory_titanium_conductor.name=Порт электричества базовой фабрики -tile.factory_titanium_core.name=Ядро базовой фабрики -item.factory_core_titanium.name=Энергетический кластер базовой фабрики -container.factoryTitanium=Базовая фабрика -tile.factory_advanced_hull.name=Корпус усовершенствованной фабрики -tile.factory_advanced_furnace.name=Люк доступа усовершенствованной фабрики -tile.factory_advanced_conductor.name=Порт электричества усовершенствованной фабрики -tile.factory_advanced_core.name=Ядро усовершенствованной фабрики -item.factory_core_advanced.name=Энергетический кластер усовершенствованной фабрики -container.factoryAdvanced=Усовершенствованная фабрика - -tile.reactor_element.name=Реакторная камера -tile.reactor_control.name=Регулирующие стержни -tile.reactor_hatch.name=Люк доступа реактора -tile.reactor_ejector.name=Выталкиватель отходов реактора -tile.reactor_inserter.name=Автоматический заправщик реактора -tile.reactor_conductor.name=Бойлер реактора -tile.reactor_computer.name=Контроллер реактора -container.reactorLarge=Большой ядерный реактор -tile.rbmk_absorber.name=Борный поглотитель нейтронов РБМК -tile.rbmk_blank.name=Структурная колонна РБМК -tile.rbmk_boiler.name=Паровой канал РБМК -tile.rbmk_loader.name=Паровой проводник РБМК -tile.rbmk_loader.desc=Позволяет РБМК иметь внизу соединения для воды и пара$Поместите одну водную трубу под колонной РБМК, затем проводник,$потом подключите паропровод к проводнику. -tile.rbmk_control.name=Регулирующие стержни РБМК -tile.rbmk_control_auto.name=Автоматические регулирующие стержни РБМК -tile.rbmk_moderator.name=Графитовый замедлитель РБМК -tile.rbmk_reflector.name=Карбид-вольфрамовый отражатель нейтронов РБМК -tile.rbmk_outgasser.name=Стержень облучения РБМК -tile.rbmk_rod.name=Топливные стержни РБМК -tile.rbmk_rod_reasim.name=Топливные стержни РБМК (РеаСим) -tile.rbmk_console.name=Консоль РБМК -tile.rbmk_crane_console.name=Консоль крана РБМК -tile.rbmk_control_mod.name=Замедляющие регулирующие стержни РБМК -tile.rbmk_rod_mod.name=Замедляющие топливные стержни РБМК -tile.rbmk_rod_reasim_mod.name=Замедляющие топливные стержни РБМК (РеаСим) -tile.rbmk_steam_inlet.name=Порт ввода воды РБМК РеаСим -tile.rbmk_steam_inlet.desc=Подает воду в колонны RBMK, если включены ReaSim бойлеры$Подключается к колоннам RBMK сбоку -tile.rbmk_steam_outlet.name=Порт вывода пара РБМК РеаСим -tile.rbmk_steam_outlet.desc=Извлекает перегретый пар из колонн РБМК, если включены ReaSim бойлеры$Подключается к колоннам RBMK сбоку -tile.deco_rbmk.name=Деко-блоки РБМК -tile.deco_rbmk_smooth.name=Гладкие деко-блоки РБМК -container.rbmkBoiler=Паровой канал РБМК -container.rbmkControl=Регулирующие стержни РБМК -container.rbmkControlAuto=Автоматические регулирующие стержни РБМК -container.rbmkOutgasser=Стержень облучения РБМК -container.rbmkRod=Топливные стержни РБМК -container.rbmkReaSim=Топливные стержни РБМК (РеаСим) -container.rbmkStorage=Колонна-хранилище РБМК -container.rbmkHeater=Жидкостный нагреватель РБМК -tile.rbmk_storage.name=Колонна-хранилище РБМК -tile.rbmk_cooler.name=Охладитель РБМК -tile.rbmk_heater.name=Жидкостный нагреватель РБМК -tile.rbmk_heatex.name=Теплообменник РБМК -tile.block_graphite_drilled.name=Просверленный графит -tile.block_graphite_fuel.name=Топливо поленницы -tile.block_graphite_plutonium.name=Куча топлива (Переработанное) -tile.block_graphite_rod.name=Контрольный стержень поленницы -tile.block_graphite_source.name=Источник нейтронов поленницы -tile.block_graphite_detector.name=Детектор нейтронов поленницы -tile.block_graphite_lithium.name=Литиевое топливо поленницы -tile.block_graphite_tritium.name=Литиевое топливо поленницы (Переработанное) -tile.machine_tower_large.name=Градирня -tile.machine_tower_small.name=Вспомогательная градирня - -tile.fusion_conductor.name=Сверхпроводящий магнит -tile.fusion_conductor_welded.name=Сверхпроводящий магнит (Сваренный) -tile.fusion_center.name=Центральный элемент магнита -tile.fusion_motor.name=Элемент магнитного мотора -tile.fusion_heater.name=Компонент нагревателя плазмы -tile.fusion_hatch.name=Люк доступа термоядерного реактора -tile.fusion_core.name=Контроллер термоядерного реактора -tile.plasma.name=Плазма -container.fusionMultiblock=Большой термоядерный реактор - -tile.watz_element.name=Камера реакции Ватцза -tile.watz_control.name=Упрочнённые регулирующие стержни -tile.watz_cooler.name=Суперохладитель реактора Ватцза -tile.watz_end.name=Стабилизатор реактора Ватцза -tile.watz_end_bolted.name=Стабилизатор реактора Ватцза (Заклепанный) -tile.watz_hatch.name=Люк доступа к реактору Ватцза -tile.watz_conductor.name=Порт электричества Ватцза -tile.watz_core.name=Контроллер реактора Ватцза -container.watzPowerplant=Реактор Ватцза - -tile.fwatz_conductor.name=4000K суперпроводящий магнит -tile.fwatz_cooler.name=Стенка регенеративной цистерны хладагента -tile.fwatz_tank.name=Элемент регенеративной цистерны хладагента -tile.fwatz_scaffold.name=Структурная поддержка реактора Ватцз-установки -tile.fwatz_hatch.name=Люк доступа к реактору Ватцз-установки -tile.fwatz_computer.name=Матрица вычисления реактора Ватцз-установки -tile.fwatz_core.name=Контроллер реактора Ватцз-установки -tile.fwatz_plasma.name=Дестабилизированная антишрабидиумная плазма -container.fusionaryWatzPlant=Реактор Ватцз-установки - -tile.machine_rtg_grey.name=РИТЭГ-генератор -container.rtg=РИТЭГ-генератор -tile.machine_radiolysis.name=Радиоизотопный термоэлектрический генератор и камера радиолиза -container.radiolysis=РИТЭГ и Камера Радиолиза -tile.machine_powerrtg.name=ПТ-изотопная ячейка -tile.machine_rtg_red.name=Фульминационный генератор -tile.machine_rtg_orange.name=Сильный RT генератор -tile.machine_rtg_yellow.name=Австралиевый супертопливный генератор -tile.machine_rtg_green.name=Вертициевый генератор богатства -tile.machine_rtg_cyan.name=Генератор Шрабидиевого распада (WIP) -tile.machine_rtg_blue.name=Конвекционный генератор -tile.machine_rtg_purple.name=Генератор аннигиляции антиматерии - -tile.machine_waste_drum.name=Бочка с отработанным топливом -container.wasteDrum=Бочка с отработанным топливом -container.storageDrum=Бочка для захоронения ядерных отходов -tile.machine_storage_drum.name=Бочка для захоронения ядерных отходов - -tile.machine_spp_bottom.name=Генератор потенциала ZPE (низ) -tile.machine_spp_top.name=Генератор потенциала ZPE (верх) - -tile.ams_limiter.name=Стабилизатор АМС [Декор] -container.amsLimiter=Стабилизатор АМС [Декор] -tile.ams_emitter.name=Излучатель АМС [Декор] -container.amsEmitter=Излучатель АМС [Декор] -tile.ams_base.name=Основание АМС [Декор] -container.amsBase=Основание АМС [Декор] - -tile.dfc_emitter.name=Излучатель РТС -container.dfcEmitter=Излучатель РТС -tile.dfc_receiver.name=Приёмник РТС -container.dfcReceiver=Приёмник РТС -tile.dfc_injector.name=Топливный инжектор РТС -container.dfcInjector=Топливный инжектор РТС -tile.dfc_stabilizer.name=Стабилизатор РТС -container.dfcStabilizer=Стабилизатор РТС -tile.dfc_core.name=Ядро реактора тёмного синтеза -container.dfcCore=Реактор тёмного синтеза - -item.template_folder.name=Папка шаблонов машин -item.template_folder.desc=Шаблоны машин: Бумага + Краситель$Индетификатор: Железная пластина + Краситель$Штамп для пресса: Плоский штамп$Трек сирены: Изолятор + Стальная пластина -item.journal_bj.name=Пропитанный виски блокнот -item.journal_pip.name=Дневник выживальщика -item.journal_silver.name=Записки контрактника -item.fluid_identifier.name=Идентификатор жидкости -item.fluid_identifier.info=Универсальный идентификатор жидкости: -item.fluid_identifier.usage0=Правая кнопка мыши по трубам, чтобы обозначить их для этой жидкости. -item.fluid_identifier.usage1=SHIFT+ПКМ по трубам чтобы обозначить ближайшие трубы -item.fluid_identifier.usage2=в радиусе 64 блоков. -item.fluid_identifier_multi.name=Мульти-жидкостный идентификатор -item.fluid_identifier_multi.info=Жидкостный идентификатор для: -item.fluid_identifier_multi.info2=Второй тип: -item.assembly_template.name=Шаблон сборочной машины: -item.chemistry_template.name=Шаблон химической машины: -item.crucible_template.name=Шаблон плавильни: -item.siren_track.name=Трек сирены -item.mold_base.name=Пустая литейная форма -item.mold.name=Литейная форма - -item.bobmazon_materials.name=Бобмазон: Материалы -item.bobmazon_machines.name=Бобмазон: Блоки и машины -item.bobmazon_weapons.name=Бобмазон: Оружие и взрывчатка -item.bobmazon_tools.name=Бобмазон: Предметы -item.bobmazon_hidden.name=Скрытый каталог - -item.fuse.name=Предохранитель +item.ammo_luna.name=Лунный снайперский саботажный снаряд +item.ammo_luna_explosive.name=Лунный снайперский взрывной снаряд +item.ammo_luna_incendiary.name=Лунный снайперский зажигательный снаряд +item.ammo_mirv.name=МИРВ-минизаряд +item.ammo_mirv_high.name=МИРВ-минизаряд (Высокомощный) +item.ammo_mirv_low.name=МИРВ-минизаряд (Маломощный) +item.ammo_mirv_safe.name=МИРВ-минизаряд (Безопасный) +item.ammo_mirv_special.name=МИЛВ-минизаряд +item.ammo_nuke.name=Ядерный минизаряд +item.ammo_nuke_barrel.name=Мини-бочка с ядерными отходами +item.ammo_nuke_high.name=Ядерный минизаряд (Высокомощный) +item.ammo_nuke_low.name=Ядерный минизаряд (Маломощный) +item.ammo_nuke_pumpkin.name=Тыквенная бомба +item.ammo_nuke_safe.name=Ядерный минизаряд (Безопасный) +item.ammo_nuke_tots.name=Ядерный минизаряд ("Карапуз") +item.ammo_rocket.name=84-мм ракета +item.ammo_rocket_canister.name=84-мм ракета (Картечь) +item.ammo_rocket_digamma.name=null +item.ammo_rocket_emp.name=84-мм ракета (Импульсная) +item.ammo_rocket_glare.name=84-мм ракета (Красное Зарево) +item.ammo_rocket_he.name=84-мм ракета (Фугасная) +item.ammo_rocket_incendiary.name=84-мм ракета (Зажигательная) +item.ammo_rocket_nuclear.name=84-мм ракета (Привет) +item.ammo_rocket_phosphorus.name=84-мм ракета (БФ) +item.ammo_rocket_rpc.name=84-мм Ракета-Бензопила +item.ammo_rocket_shrapnel.name=84-мм ракета (Осколочная) +item.ammo_rocket_sleek.name=84-мм ракета (IF-R&D) +item.ammo_rocket_toxic.name=84-мм ракета (Химическая) +item.ammo_shell.name=240мм Снаряд +item.ammo_shell_apfsds_du.name=240мм APFSTS-DU +item.ammo_shell_apfsds_t.name=240мм APFSTS-T +item.ammo_shell_explosive.name=240мм Фугасный снаряд +item.ammo_shell_w9.name=240мм Ядерный снаряд W9 +item.ammo_secret.bmg50_equestrian.name=.50 BMG патрон Разрушитель +item.ammo_secret.folly_nuke.name=Серебрянная пуля, ядерная +item.ammo_secret.folly_sm.name=Серебрянная пуля +item.ammo_secret.g12_equestrian.name=12-й калибр Railway Spike Shot +item.ammo_secret.m44_equestrian.name=.44 магнум Разрыватель голов +item.ammo_secret.p35_800.name=.35-800 V9 +item.ammo_standard.b75.name=.75 болт +item.ammo_standard.b75_exp.name=.75 болт (Взрывной) +item.ammo_standard.b75_inc.name=.75 болт (Зажигательный) +item.ammo_standard.bmg50_ap.name=.50 BMG патрон (Бронебойный) +item.ammo_standard.bmg50_he.name=.50 BMG патрон (Разрывной) +item.ammo_standard.bmg50_du.name=.50 BMG патрон (Обеднённый уран) +item.ammo_standard.bmg50_fmj.name=.50 BMG патрон (Цельнометаллическая оболочка) +item.ammo_standard.bmg50_jhp.name=.50 BMG патрон (Экспансивный+) +item.ammo_standard.bmg50_sp.name=.50 BMG патрон (Экспансивный) +item.ammo_standard.capacitor.name=Конденсатор +item.ammo_standard.capacitor_ir.name=Конденсатор (Низкая длина волны) +item.ammo_standard.capacitor_overcharge.name=Конденсатор (Перезаряженный) +item.ammo_standard.coil_ferrouranium.name=Ферроураниевый шарик гаусс-пушки +item.ammo_standard.coil_tungsten.name=Вольфрамовый шарик гаусс-пушки +item.ammo_standard.flame_balefire.name=Топливо огнемёта (Жар-пламя) +item.ammo_standard.flame_diesel.name=Топливо огнемёта (Дизель) +item.ammo_standard.flame_gas.name=Топливо огнемёта (Газ) +item.ammo_standard.flame_napalm.name=Топливо огнемёта (Напалм) +item.ammo_standard.g10.name=Картечь 10-го калибра +item.ammo_standard.g10_du.name=Урановая картечь 10-го калибра +item.ammo_standard.g10_shrapnel.name=Шрапнельная картечь 10-го калибра +item.ammo_standard.g10_slug.name=Пуля 10-го калибра +item.ammo_standard.g10_explosive.name=Взрывная картечь 10-го калибра +item.ammo_standard.g12.name=Картечь 12-го калибра +item.ammo_standard.g12_anthrax.name=Инъекция сибирской язвы 12-го калибра +item.ammo_standard.g12_bp.name=Картечь 12-го калибра с чёрным порохом +item.ammo_standard.g12_bp_magnum.name=Тяжёлая картечь 12-го калибра с чёрным порохом +item.ammo_standard.g12_bp_slug.name=Пуля 12-го калибра с чёрным порохом +item.ammo_standard.g12_explosive.name=Взрывной снаряд 12-го калибра +item.ammo_standard.g12_flechette.name=Игольчатая картечь 12-го калибра +item.ammo_standard.g12_magnum.name=Тяжёлая картечь 12-го калибра +item.ammo_standard.g12_phosphorus.name=Зажигательная картечь 12-го калибра +item.ammo_standard.g12_slug.name=Пуля 12-го калибра +item.ammo_standard.g26_flare.name=26мм сигнальная ракета +item.ammo_standard.g26_flare_supply.name=26мм сигнальная ракета (Запрос припасов) +item.ammo_standard.g26_flare_weapon.name=26мм сигнальная ракета (Запрос оружия) +item.ammo_standard.g40_demo.name=40мм граната (Разрушающая) +item.ammo_standard.g40_he.name=40мм граната (Фугасная) +item.ammo_standard.g40_heat.name=40мм граната (Кумулятивная) +item.ammo_standard.g40_inc.name=40мм граната (Зажигательная) +item.ammo_standard.g40_phosphorus.name=40мм граната (Белый фосфор) +item.ammo_standard.m357_ap.name=.357 magnum (Бронебойный) +item.ammo_standard.m357_bp.name=.357 magnum (Чёрный порох) +item.ammo_standard.m357_express.name=.357 magnum (Высокомощная цельнометаллическая оболочка) +item.ammo_standard.m357_fmj.name=.357 magnum (Цельнометаллическая оболочка) +item.ammo_standard.m357_jhp.name=.357 magnum (Экспансивный+) +item.ammo_standard.m357_sp.name=.357 magnum (Экспансивный) +item.ammo_standard.m44_ap.name=.44 magnum (Бронебойный) +item.ammo_standard.m44_bp.name=.44 magnum (Чёрный порох) +item.ammo_standard.m44_express.name=.44 magnum (Высокомощная цельнометаллическая оболочка) +item.ammo_standard.m44_fmj.name=.44 magnum (Цельнометаллическая оболочка) +item.ammo_standard.m44_jhp.name=.44 magnum (Экспансивный+) +item.ammo_standard.m44_sp.name=.44 magnum (Экспансивный) +item.ammo_standard.nuke_demo.name=Ядерный минизаряд (Разрушающий) +item.ammo_standard.nuke_high.name=Ядерный минизаряд (Высокомощный) +item.ammo_standard.nuke_hive.name=Rocket Hive +item.ammo_standard.nuke_standard.name=Ядерный минизаряд +item.ammo_standard.nuke_tots.name=Ядерный минизаряд (Карапузы) +item.ammo_standard.p22_ap.name=.22 LR патрон (Бронебойный) +item.ammo_standard.p22_fmj.name=.22 LR патрон (Цельнометаллическая оболочка) +item.ammo_standard.p22_jhp.name=.22 LR патрон (Экспансивный+) +item.ammo_standard.p22_sp.name=.22 LR патрон (Экспансивный) +item.ammo_standard.p45_ap.name=.45 патрон (Бронебойный) +item.ammo_standard.p45_du.name=.45 патрон (Depleted Uranium) +item.ammo_standard.p45_fmj.name=.45 патрон (Цельнометаллическая оболочка) +item.ammo_standard.p45_jhp.name=.45 патрон (Экспансивный+) +item.ammo_standard.p45_sp.name=.45 патрон (Экспансивный) +item.ammo_standard.p9_ap.name=9мм патрон (Бронебойный) +item.ammo_standard.p9_fmj.name=9мм патрон (Цельнометаллическая оболочка) +item.ammo_standard.p9_jhp.name=9мм патрон (Экспансивный+) +item.ammo_standard.p9_sp.name=9мм патрон (Экспансивный) +item.ammo_standard.r556_ap.name=5.56мм патрон (Бронебойный) +item.ammo_standard.r556_fmj.name=5.56мм патрон (Цельнометаллическая оболочка) +item.ammo_standard.r556_jhp.name=5.56мм патрон (Экспансивный+) +item.ammo_standard.r556_sp.name=5.56мм патрон (Экспансивный) +item.ammo_standard.r762_ap.name=7.62мм патрон (Бронебойный) +item.ammo_standard.r762_du.name=7.62мм патрон (Обеднённый уран) +item.ammo_standard.r762_fmj.name=7.62мм патрон (Цельнометаллическая оболочка) +item.ammo_standard.r762_he.name=7.62mm патрон (Разрывной) +item.ammo_standard.r762_jhp.name=7.62мм патрон (Экспансивный+) +item.ammo_standard.r762_sp.name=7.62мм патрон (Экспансивный) +item.ammo_standard.rocket_demo.name=Ракета (Разрушающая) +item.ammo_standard.rocket_he.name=Ракета (Фугасная) +item.ammo_standard.rocket_heat.name=Ракета (Кумулятивная) +item.ammo_standard.rocket_inc.name=Ракета (Зажигательная) +item.ammo_standard.rocket_phosphorus.name=Ракета (Белый фосфор) +item.ammo_standard.stone.name=Шарик и порох +item.ammo_standard.stone_ap.name=Кремень и порох +item.ammo_standard.stone_iron.name=Железный шарик и порох +item.ammo_standard.stone_shot.name=Дробь и порох +item.ammo_standard.tau_uranium.name=Ящик обеднённого урана-235 +item.ammo_stinger_rocket.name=Ракета-Стингер +item.ammo_stinger_rocket_he.name=Ракета-Стингер (Фугасная) +item.ammo_stinger_rocket_incendiary.name=Ракета-Стингер (Зажигательная) +item.ammo_stinger_rocket_nuclear.name=Ракета-Стингер (Привет) +item.ammo_stinger_rocket_bones.name=Ракета-Стингер (Поиск мобов) +item.ams_catalyst_aluminium.name=Алюминиевый реакционный катализатор +item.ams_catalyst_beryllium.name=Бериллиевый реакционный катализатор +item.ams_catalyst_blank.name=Пустой реакционный катализатор +item.ams_catalyst_caesium.name=Цезиевый реакционный катализатор +item.ams_catalyst_cerium.name=Цериевый реакционный катализатор +item.ams_catalyst_cobalt.name=Кобальтовый реакционный катализатор +item.ams_catalyst_copper.name=Медный реакционный катализатор +item.ams_catalyst_dineutronium.name=Динейтрониевый реакционный катализатор +item.ams_catalyst_euphemium.name=Эвфемиевый реакционный катализатор +item.ams_catalyst_iron.name=Железный реакционный катализатор +item.ams_catalyst_lithium.name=Литиевый реакционный катализатор +item.ams_catalyst_niobium.name=Ниобиевый реакционный катализатор +item.ams_catalyst_schrabidium.name=Шрабидиевый реакционный катализатор +item.ams_catalyst_strontium.name=Стронциевый реакционный катализатор +item.ams_catalyst_thorium.name=Ториевый реакционный катализатор +item.ams_catalyst_tungsten.name=Вольфрамовый реакционный катализатор +item.ams_core_eyeofharmony.name=Око Гармонии (АМС/РТС Ядро) +item.ams_core_sing.name=Резонирующая сингулярность (АМС/РТС Ядро) +item.ams_core_thingy.name=Штуковина (АМС/РТС Ядро) +item.ams_core_wormhole.name=Крошечная червоточина (АМС/РТС Ядро) +item.ams_focus_blank.name=Пустой стабилизирующий фокус +item.ams_focus_booster.name=Усиливающий стабилизирующий фокус +item.ams_focus_booster.desc=Более слабое сдерживающее поле и закачка энергии в ядро:$Больше выработки тепла, дополнительная энергия. +item.ams_focus_limiter.name=Ограничительный стабилизирующий фокус +item.ams_focus_limiter.desc=Максимальная производительность для сдерживающего поля:$Стандартное охлаждение, без бонуса за энергию. +item.ams_lens.name=Линза Стабилизатора +item.ams_muzzle.name=Лучеиспускательное дуло +item.ams_muzzle.desc=...он испускает штуковину с энергетическим лучом. +item.analysis_tool.name=Анализатор +item.analyzer.name=Анализатор +item.anchor_remote.name=Устройство вызова +item.apple_euphemium.name=Эвфемиевое Яблоко +item.apple_lead.name=Свинцовое яблоко +item.apple_schrabidium.name=Шрабидиевое Яблоко item.arc_electrode.name=Графитовый электрод item.arc_electrode.desh.name=Деш-электрод item.arc_electrode.graphite.name=Графитовый электрод @@ -2779,362 +2076,491 @@ item.arc_electrode_burnt.graphite.name=Расплавленный графито item.arc_electrode_burnt.lanthanium.name=Расплавленный лантановый электрод item.arc_electrode_burnt.saturnite.name=Расплавленный сатурнитовый электрод item.arc_electrode_desh.name=Электрод из деш -item.crt_display.name=Электронно-лучевая трубка - -tile.test_nuke.name=Тестовая бомба - -item.ingot_th232.name=Слиток тория-232 -item.ingot_uranium.name=Урановый слиток -item.ingot_u233.name=Слиток урана-233 -item.ingot_u235.name=Слиток урана-235 -item.ingot_u238.name=Слиток урана-238 -item.ingot_ra226.name=Слиток радия-226 -item.ingot_u238m2.name=Полустабильный слиток урана-238-2 -item.ingot_plutonium.name=Плутониевый слиток -item.ingot_pu_mix.name=Слиток плутония реакторного качества -item.ingot_pu238.name=Слиток плутония-238 -item.ingot_pu239.name=Слиток плутония-239 -item.ingot_pu240.name=Слиток плутония-240 -item.ingot_pu241.name=Слиток плутония-241 -item.ingot_au198.name=Слиток золота-198 -item.ingot_co60.name=Слиток кобальта-60 -item.ingot_technetium.name=Слиток технеция-99 -item.ingot_neptunium_fuel.name=Слиток нептуниевого топлива -item.ingot_am_mix.name=Слиток америция реакторного качества -item.ingot_am241.name=Слиток америция-241 -item.ingot_am242.name=Слиток америция-242 -item.ingot_americium_fuel.name=Слиток америциевого топлива -item.ingot_titanium.name=Титановый слиток -item.ingot_cobalt.name=Кобальтовый слиток -item.ingot_tantalium.name=Танталовый слиток -item.ingot_tantalium.desc='Танталум' -item.ingot_tantalium.desc.P11=АКА Танталий. -item.ingot_meteorite.name=Метеоритовый слиток -item.ingot_osmiridium.name=Осмиридиевый слиток -item.ingot_meteorite_forged.name=Выкованный метеоритовый слиток -item.ingot_bakelite.name=Бакелит -item.sulfur.name=Сера -item.ingot_sr90.name=Слиток стронция-90 -item.ingot_pb209.name=Слиток свинца-209 -item.ingot_gh336.name=Слиток гиорсия-336 -item.ingot_gh336.desc=Коллега Сиборгиума. - -item.niter.name=Селитра -item.nitra.name=Нитра -item.nitra_small.name=Кучка нитры -item.ingot_copper.name=Слиток промышленной меди -item.ingot_red_copper.name=Слиток красной меди -item.ingot_tungsten.name=Вольфрамовый слиток -item.ingot_aluminium.name=Алюминиевый слиток -item.fluorite.name=Флюорит -item.ingot_steel.name=Стальной слиток -item.ingot_steel_dusted.name=Запылённой стальной слиток -item.ingot_chainsteel.name=Тяжёлая цепная сталь -item.ingot_tcalloy.name=Слиток технециевой стали -item.plate_steel.name=Стальная пластина -item.plate_dura_steel.name=Пластина высокоскоростной стали -item.ingot_beryllium.name=Бериллевый слиток -item.plate_schrabidium.name=Шрабидиевая пластина -item.ingot_schraranium.name=Шрараниевый слиток -item.ingot_schraranium.desc=Делается из урана в шрабидиевом трансмутаторе -item.ingot_semtex.name=Семтекс -item.ingot_c4.name=Брусок C-4 -item.ingot_schrabidate.name=Слиток шрабидата железа -item.powder_schrabidate.name=Порошок шрабидата железа -item.ingot_schrabidium.name=Шрабидиевый слиток -item.nugget_schrabidium.name=Шрабидиевый самородок -item.plate_copper.name=Медная пластина -item.board_copper.name=Медная панель -item.ingot_advanced_alloy.name=Слиток продвинутого сплава -item.plate_advanced_alloy.name=Пластина продвинутого сплава -item.wire_advanced_alloy.name=Сверхпроводник -item.coil_advanced_alloy.name=Сверхпроводящая катушка -item.coil_advanced_torus.name=Сверхпроводящая кольцевая катушка -item.coil_gold.name=Золотая катушка -item.coil_gold_torus.name=Золотая кольцевая катушка -item.lithium.name=Куб лития -item.ingot_phosphorus.name=Брусок белого фосфора -item.ingot_magnetized_tungsten.name=Намагниченный слиток вольфрама -item.ingot_mud.name=Кирпич из твёрдых отходов -item.ingot_combine_steel.name=Слиток стали Альянса -item.ingot_combine_steel.desc=*вставьте референс на Гражданскую Оборону* -item.ingot_combine_steel.desc.11="Я имею в виду, это глагол для громкого крика.$Инопланетяне - это не глаголы. Это существительные!"$"На самом деле, я думаю, что это также название $какого-то сельскохозяйственного оборудования, такого как $молотилка за доллар или что-то в этом роде."$"Это еще хуже. Теперь у нас есть слово,$которое может означать "смешивать вещи вместе",$часть сельскохозяйственного оборудования, и давайте посмотрим...$а да, это также может означать "самая продвинутая $форма жизни в известной вселенной".."$"И?"$"'И?' Да ладно, чувак, они же ИНОПЛАНЕТЯНЕ!" -item.plate_combine_steel.name=Пластина стали Альянса -item.ingot_zirconium.name=Циркониевый куб -item.ingot_boron.name=Борный слиток -item.ingot_graphite.name=Графитовый слиток -item.ingot_bismuth.name=Слиток висмута -item.ingot_bismuth_bronze.name=Слиток висмутовой бронзы -item.cube_power.name=Куб электрония -item.ingot_smore.name=Слиток с'мора -item.ingot_niobium.name=Ниобиевый слиток -item.ingot_firebrick.name=Шамотный кирпич -item.ingot_calcium.name=Кальциевый слиток -item.plate_cast.name=Литая пластина из %s -item.heavy_component.name=Тяжёлый компонент из %s -item.plate_welded.name=Сваренная пластина из %s -item.ingot_pvc.name=ПВХ -item.ingot_pet.name=Металлизированный алюминием брусок ПЭТ -item.ingot_pc.name=Твердый пластиковый брусок -item.ingot_cadmium.name=Кадмиевый слиток -item.ingot_cdalloy.name=Слиток кадмиевой стали -item.powder_cadmium.name=Порошок кадмия - -item.plate_armor_lunar.name=Лунная обшивка -item.plate_armor_titanium.name=Титановая обшивка брони -item.plate_armor_hev.name=Реактивная обшивка брони -item.plate_armor_ajr.name=Кованая железная обшивка брони -item.plate_armor_fau.name=Обшивка брони Фау -item.plate_armor_dnt.name=Обшивка ДНТ-брони +item.armor_battery.name=Аккумуляторный блок для силовой брони +item.armor_battery_mk2.name=Аккумуляторный блок для силовой брони Mk2 +item.armor_battery_mk3.name=Аккумуляторный блок для силовой брони Mk3 item.armor_polish.name=Полироль для брони ШайнингАрмор™ -item.insert_esapi.name=ESAPI пластины -item.insert_kevlar.name=Кевларовые пластины -item.insert_sapi.name=SAPI пластины -item.insert_steel.name=Тяжёлостальные пластины -item.insert_xsapi.name=XSAPI пластины -item.pads_rubber.name=Резиновые прокладки -item.pads_slime.name=Слаймовые прокладки -item.pads_static.name=Статиковые прокладки -item.servo_set.name=Набор сервоприводов -item.servo_set_desh.name=Набор деш-сервоприводов +item.asbestos_boots.name=Огнезащитные ботинки +item.asbestos_cloth.name=Огнеупорная ткань +item.asbestos_helmet.name=Огнезащитный шлем +item.asbestos_legs.name=Огнезащитные поножи +item.asbestos_plate.name=Огнезащитный нагрудник +item.ashglasses.name=Пепельные очки +item.assembly_45.name=.45 ACP Assembly +item.assembly_556.name=Сборка 5.56мм пули +item.assembly_762.name=Сборка 7.62мм патрона +item.assembly_actionexpress.name=Сборка .50 AE пули +item.assembly_calamity.name=Сборка .50 BMG пули +item.assembly_desh.name=Сборка деш-пули +item.assembly_gold.name=Сборка золотой пули +item.assembly_iron.name=Сборка железной пули +item.assembly_lacunae.name=Сборка 5мм пули +item.assembly_lead.name=Сборка стеклянной пули +item.assembly_luna.name=Сборка лунного снайперского патрона +item.assembly_nightmare.name=Сборка кошмарной пули +item.assembly_nopip.name=Сборка пули Магнума .44 +item.assembly_nuke.name=Оболочка ядерного минизаряда +item.assembly_pip.name=Сборка зараженной пули +item.assembly_schrabidium.name=Сборка шрабидиевой пули +item.assembly_smg.name=Сборка 9-мм пули +item.assembly_steel.name=Сборка свинцовой пули +item.assembly_template.name=Шаблон сборочной машины: +item.assembly_uzi.name=Сборка .22 LR пули +item.attachment_mask.name=Прикрепляемый противогаз +item.attachment_mask_mono.name=Прикрепляемая полумаска +item.australium_iii.name=Увеличитель жизни Марк III +item.australium_iv.name=Увеличитель жизни Марк IV +item.australium_v.name=Увеличитель жизни Марк V +item.back_tesla.name=Ранцевая катушка теслы +item.balefire_and_ham.name=Ветчина и жар-яйца +item.balefire_and_steel.name=Жар-огниво +item.balefire_scrambled.name=Жар-яичница +item.ball_dynamite.name=Динамит +item.ball_fireclay.name=Шамотная глина +item.ball_resin.name=Латекс +item.ball_tatb.name=TATB +item.ball_tnt.name=ТНТ +item.ballistic_gauntlet.name=Баллистическая перчатка +item.ballistite.name=Баллистит item.bandaid.name=Пластырь Вельвет item.bathwater.name=Токсичная мыльная вода item.bathwater_mk2.name=Токсичная мыльная вода (Лошадиный аромат) -item.horseshoe_magnet.name=Магнит-подкова -item.industrial_magnet.name=Промышленный магнит -item.lodestone.name=Магнетит -item.morning_glory.name=Монин Глори -item.quartz_plutonium.name=Плутонический кварц -item.serum.name=Сыворотка -item.spider_milk.name=Бутылка паучьего молока -item.scrumpy.name=Бутылка "Скрампи" -item.cladding_obsidian.name=Прокладка из обсидиана -item.cladding_ghiorsium.name=Прокладка из гиорсия -item.heart_booster.name=Усилитель сердца -item.heart_container.name=Контейнер для сердца -item.heart_piece.name=Частичка сердца -item.heart_fab.name=Фаб-сердце -item.back_tesla.name=Ранцевая катушка теслы -item.insert_du.name=Урановая пластина -item.insert_era.name=Взрывоопасная реактивная бронепластина -item.insert_polonium.name=Полониевая пластина -item.insert_ghiorsium.name=Гиорсиевая пластина -item.insert_yharonite.name=Яронитовая пластина -item.insert_doxium.name=Астольфий-легированная Доксиевая пластина -item.wd40.name=VT-40 -item.injector_5htp.name=Автоинъектор 5-гидрокситриптофана -item.injector_knife.name=Автоинъектор 8 дюймового лезвия -item.holotape_image.name=Голодиск -item.holotape_damaged.name=Повреждённый голодиск - -item.wire_magnetized_tungsten.name=4000K Высокотемпературный проводник -item.coil_magnetized_tungsten.name=4000K Высокотемпературная сверхпроводящая катушка -item.plate_mixed.name=Смешанная пластина -item.plate_paa.name=Пластина сплава PaA -item.ingot_dura_steel.name=Высокоскоростная сталь -item.ingot_polymer.name=Полимер -item.ingot_rubber.name=Резина -item.ingot_biorubber.name=Брусок латекса -item.ingot_polonium.name=Слиток полония-210 -item.pipentm.name=Труба из %s -item.pipes_steel.name=Стальные трубы -item.pipes_steel.desc=Раскрафт был исключен из-за уклонения от уплаты налогов -item.drill_titanium.name=Титановый бур -item.boltntm.name=Стержень из %s +item.battery_advanced.name=Продвинутый аккумулятор +item.battery_advanced_cell.name=Усовершенствованная энергоячейка +item.battery_advanced_cell_12.name=Двенадцатикратный массив из усовершенствованных энергоячеек +item.battery_advanced_cell_4.name=Счетверённая усовершенствованная энергоячейка +item.battery_creative.name=Бесконечная батарейка +item.battery_generic.name=Аккумулятор +item.battery_lithium.name=Литий-ионный аккумулятор +item.battery_lithium_cell.name=Литий-ионная энергоячейка +item.battery_lithium_cell_3.name=Строенная литий-ионная энергоячейка +item.battery_lithium_cell_6.name=Сшестерённая литий-ионная энергоячейка +item.battery_potato.name=Картофельная батарейка +item.battery_potatos.name=КартошкОС +item.battery_red_cell.name=Энергоячейка из красной пыли +item.battery_red_cell_24.name=Двадцатичетырёхкратный массив из краснопыльных энергоячеек +item.battery_red_cell_6.name=Сшестёренная энергоячейка из красной пыли +item.battery_sc_americium.name=Самозаряжающаяся батарея с америцием-241 +item.battery_sc_gold.name=Самозаряжающаяся батарея с золотом-198 +item.battery_sc_lead.name=Самозаряжающаяся батарея со свинцом-209 +item.battery_sc_plutonium.name=Самозаряжающаяся батарея с плутонием-238 +item.battery_sc_polonium.name=Самозаряжающаяся батарея с полонием-210 +item.battery_sc_technetium.name=Самозаряжающаяся батарея с технецием-98 +item.battery_sc_uranium.name=Самозаряжающаяся батарея с ураном-238 +item.battery_schrabidium.name=Шрабидиевая батарея +item.battery_schrabidium_cell.name=Шрабидиевая энергоячейка +item.battery_schrabidium_cell_2.name=Сдвоенная шрабидиевая энергоячейка +item.battery_schrabidium_cell_4.name=Счетверённая шрабидиевая энергоячейка +item.battery_spark.name=Спарк-батарея +item.battery_spark_cell_100.name=Спарк-Магический массив хранения энергии +item.battery_spark_cell_1000.name=Спарк-Магическая масс-энергетическая пустота +item.battery_spark_cell_10000.name=Устойчивый пространственно-временной спарк-кристалл +item.battery_spark_cell_25.name=Спарк-Магический аккумулятор +item.battery_spark_cell_2500.name=Спарк-Магическое море Дирака +item.battery_spark_cell_6.name=Спарк-энергоячейка +item.battery_spark_cell_power.name=Абсурдный физический спарк-блок накопления энергии +item.battery_steam.name=Паровой бак для хранения энергии +item.battery_steam_large.name=Большой паровой бак для хранения энергии +item.battery_su.name=Одноразовая батарейка +item.battery_su_l.name=Большая одноразовая батарейка +item.battery_trixite.name=Безымянная спарк-батарея +item.bdcl.name=BDCL +item.bedrock_ore.grade.base.name=Бедроковая руда (%s) +item.bedrock_ore.grade.base_roasted.name=Обожженная бедроковая руда (%s) +item.bedrock_ore.grade.base_washed.name=Промытая бедроковая руда (%s) +item.bedrock_ore.grade.primary.name=Бедроковая руда (%s), первичная фракция +item.bedrock_ore.grade.primary_roasted.name=Бедроковая руда (%s), обожженная первичная фракция +item.bedrock_ore.grade.primary_sulfuric.name=Бедроковая руда (%s), серная первичная фракция +item.bedrock_ore.grade.primary_nosulfuric.name=Бедроковая руда (%s), отделённая серная первичная фракция +item.bedrock_ore.grade.primary_solvent.name=Бедроковая руда (%s), растворенная первичная фракция +item.bedrock_ore.grade.primary_nosolvent.name=Бедроковая руда (%s), отделённая растворенная первичная фракция +item.bedrock_ore.grade.primary_rad.name=Бедроковая руда (%s), очищенная первичная фракция +item.bedrock_ore.grade.primary_norad.name=Бедроковая руда (%s), отделённая очищенная первичная фракция +item.bedrock_ore.grade.primary_first.name=Бедроковая руда (%s), первичная фракция, большой вес +item.bedrock_ore.grade.primary_second.name=Бедроковая руда (%s), первичная фракция, малый вес +item.bedrock_ore.grade.crumbs.name=Куски бедроковой руды (%s) +item.bedrock_ore.grade.sulfuric_byproduct.name=Бедроковая руда (%s), серная побочка +item.bedrock_ore.grade.sulfuric_roasted.name=Бедроковая руда (%s), обожженная серная побочка +item.bedrock_ore.grade.sulfuric_arc.name=Бедроковая руда (%s), переплавленная серная побочка +item.bedrock_ore.grade.sulfuric_washed.name=Бедроковая руда (%s), промытая серная побочка +item.bedrock_ore.grade.solvent_byproduct.name=Бедроковая руда (%s), растворенная побочка +item.bedrock_ore.grade.solvent_roasted.name=Бедроковая руда (%s), обожженная растворенная побочка +item.bedrock_ore.grade.solvent_arc.name=Бедроковая руда (%s), переплавленная растворенная побочка +item.bedrock_ore.grade.solvent_washed.name=Бедроковая руда (%s), промытая растворенная побочка +item.bedrock_ore.grade.rad_byproduct.name=Бедроковая руда (%s), очищенная побочка +item.bedrock_ore.grade.rad_roasted.name=Бедроковая руда (%s), обожженная очищенная побочка +item.bedrock_ore.grade.rad_arc.name=Бедроковая руда (%s), переплавленная очищенная побочка +item.bedrock_ore.grade.rad_washed.name=Бедроковая руда (%s), промытая очищенная побочка +item.bedrock_ore.trait.arc=§6Дуговая плавка +item.bedrock_ore.trait.centrifuged=§9Центрифугированный +item.bedrock_ore.trait.rad=§aОбработанный высокоэффективным растворителем +item.bedrock_ore.trait.roasted=§eОбжиг в коксовой печи +item.bedrock_ore.trait.solvent=§fОбработанный растворителем +item.bedrock_ore.trait.sulfuric=§6Обработанный серной кислотой +item.bedrock_ore.trait.washed=§bПромытый в окислителе водой +item.bedrock_ore.type.actinide.name=Актинидная +item.bedrock_ore.type.crystal.name=Кристаллическая +item.bedrock_ore.type.heavy.name=Тяжелая металлическая +item.bedrock_ore.type.light.name=Лёгкая металлическая +item.bedrock_ore.type.nonmetal.name=Неметаллическая +item.bedrock_ore.type.rare.name=Редкоземельная +item.bedrock_ore_base.name=Необработанная бедроковая руда +item.bedrock_ore_fragment.name=Фрагмент от %s руда +item.beta.name=БЕТА-ФУНКЦИИ +item.big_sword.name=Большой меч +item.billet_actinium.name=Заготовка актиния-227 +item.billet_am_mix.name=Заготовка америция реакторного качества +item.billet_am241.name=Заготовка америция-241 +item.billet_am242.name=Заготовка америция-242 +item.billet_americium_fuel.name=Заготовка америциевого топлива +item.billet_au198.name=Заготовка золота-198 +item.billet_australium.name=Заготовка австралия +item.billet_australium_greater.name=Заготовка высшего австралия +item.billet_australium_lesser.name=Заготовка низшего австралия +item.billet_balefire_gold.name=Заготовка флэшголда +item.billet_beryllium.name=Заготовка бериллия +item.billet_bismuth.name=Заготовка висмута +item.billet_co60.name=Заготовка кобальта-60 +item.billet_cobalt.name=Заготовка кобальта +item.billet_flashlead.name=Заготовка флэшлида +item.billet_flashlead.desc=Решетка распадается, вызывая реакции аннигиляции антивещества и материи, вызывая высвобождение$пионов, распадающихся на мюоны, катализирующих слияние$ядер, создавая новый элемент.$Пожалуйста, постарайся не отставать. +item.billet_gh336.name=Заготовка гиорсия-336 +item.billet_gh336.desc=Коллега Сиборгиума. +item.billet_hes.name=Заготовка высокообогащенного шрабидиевого топлива +item.billet_les.name=Заготовка низкообогащенного шрабидиевого топлива +item.billet_mox_fuel.name=Заготовка МОКС-топлива +item.billet_mox_fuel.desc=Карманный Мокси! +item.billet_neptunium.name=Заготовка нептуния +item.billet_neptunium_fuel.name=Заготовка нептуниевого топлива +item.billet_nuclear_waste.name=Заготовка ядерных отходов +item.billet_pb209.name=Заготовка свинца-209 +item.billet_po210be.name=Заготовка Полоний-210-Бериллия +item.billet_polonium.name=Заготовка полония-210 +item.billet_pu_mix.name=Заготовка плутония реакторного качества +item.billet_pu238.name=Заготовка плутония-238 +item.billet_pu238be.name=Заготовка Плутоний-210-Бериллия +item.billet_pu239.name=Заготовка плутония-239 +item.billet_pu240.name=Заготовка плутония-240 +item.billet_pu241.name=Заготовка плутония-241 +item.billet_plutonium.name=Заготовка плутония +item.billet_plutonium_fuel.name=Заготовка плутониевого топлива +item.billet_ra226.name=Заготовка радия-226 +item.billet_ra226be.name=Заготовка Радий-226-Бериллия +item.billet_schrabidium.name=Заготовка шрабидия +item.billet_schrabidium_fuel.name=Заготовка шрабидиевого топлива +item.billet_silicon.name=Кремниевая пластина +item.billet_solinium.name=Заготовка солиния +item.billet_sr90.name=Заготовка стронция-90 +item.billet_technetium.name=Заготовка технеция-99 +item.billet_th232.name=Заготовка тория-232 +item.billet_thorium_fuel.name=Заготовка ториевого топлива +item.billet_u233.name=Заготовка урана-233 +item.billet_u235.name=Заготовка урана-235 +item.billet_u238.name=Заготовка урана-238 +item.billet_uranium.name=Заготовка урана +item.billet_uranium_fuel.name=Заготовка уранового топлива +item.billet_yharonite.name=Заготовка яронита +item.billet_zfb_am_mix.name=Заготовка ЦТС америция реакторного качества +item.billet_zfb_bismuth.name=Заготовка ЦТС висмута +item.billet_zfb_pu241.name=Заготовка ЦТС плутония-241 +item.billet_zirconium.name=Заготовка циркония +item.bio_wafer.name=Вафля из водорослей +item.biomass.name=Биомасса +item.biomass_compressed.name=Сжатая биомасса +item.bismuth_boots.name=Сандали из висмута +item.bismuth_helmet.name=Головной убор из висмута +item.bismuth_legs.name=Наколенники из висмута +item.bismuth_axe.name=Висмутовый топор +item.bismuth_pickaxe.name=Висмутовая кирка +item.bismuth_plate.name=Наплечники, ожерелье и набедренная повязка из висмута +item.bismuth_tool.name=Магнитный экстрактор +item.bj_boots.name=Лунные шипованные ботинки +item.bj_helmet.name=Повязка с тепловым сенсором +item.bj_legs.name=Лунные кибернетические замены ног +item.bj_plate.name=Лунная кибернетическая обшивка +item.bj_plate_jetpack.name=Лунная кибернетическая обшивка (с крыльями) +item.black_diamond.name=Чёрный алмаз +item.black_hole.name=Миниатюрная чёрная дыра +item.blade_meteorite.name=Метеоритное лезвие +item.blade_titanium.name=Титановая лопасть +item.blade_tungsten.name=Усиленная вольфрамом лопасть +item.blades_advanced_alloy.name=Усовершенствованные лезвия измельчителя +item.blades_desh.name=Деш-лезвия измельчителя +item.blades_steel.name=Стальные лезвия измельчителя +item.blades_titanium.name=Титановые лезвия измельчителя +item.blowtorch.name=Паяльная лампа +item.board_copper.name=Медная панель +item.boat_rubber.name=Резиновая лодка +item.bobmazon.name=Bobmazon +item.bobmazon_hidden.name=Скрытый каталог +item.bobmazon_machines.name=Бобмазон: Блоки и машины +item.bobmazon_materials.name=Бобмазон: Материалы +item.bobmazon_tools.name=Бобмазон: Предметы +item.bobmazon_weapons.name=Бобмазон: Оружие и взрывчатка +item.boltntm.name=Стержень (%s) +item.bolt_compound.name=Укрепленный вал турбины item.bolt_spike.name=Железнодорожный гвоздь item.bolt_spike.desc=Излучает угрожающую ауру, как-то -item.bolt_compound.name=Укрепленный вал турбины -item.plate_polymer.name=Изолятор -item.ingot_solinium.name=Солиниевый слиток -item.nugget_solinium.name=Солиниевый самородок -item.photo_panel.name=Фотоэлектрическая панель -item.sat_base.name=Основа спутника -item.thruster_nuclear.name=Ядерный ракетный двигатель LV-N -item.sat_head_mapper.name=Оптическая камера с высоким коэффициентом усиления -item.sat_head_scanner.name=Сканер M700 -item.sat_head_radar.name=Радар -item.sat_head_laser.name=Луч смерти -item.sat_head_resonator.name=Зен-резонатор - -item.ingot_australium.name=Австралиевый слиток -item.ingot_weidanium.name=Вейданиевый слиток -item.ingot_reiium.name=Реиевый слиток -item.ingot_unobtainium.name=Недостатиевый слиток -item.ingot_daffergon.name=Даффергоновый слиток -item.ingot_verticium.name=Вертициевый слиток -item.nugget_australium.name=Австралиевый самородок -item.nugget_australium_greater.name=Самородок высшего австралия -item.nugget_australium_lesser.name=Самородок низшего австралия -item.nugget_weidanium.name=Вейданиевый самородок -item.nugget_reiium.name=Реиевый самородок -item.nugget_unobtainium.name=Недостатиевый самородок -item.nugget_daffergon.name=Даффергоновый самородок -item.nugget_verticium.name=Вертициевый самородок -item.nugget_zirconium.name=Осколок циркония -item.nugget_niobium.name=Самородок ниобия - -item.ingot_desh.name=Слиток деш -item.nugget_desh.name=Самородок деш -item.powder_desh.name=Порошок деш -item.powder_desh_mix.name=Смесь деш -item.powder_desh_ready.name=ГотоваяДеш™ смесь -item.powder_nitan_mix.name=Нитановая смесь -item.powder_spark_mix.name=Спарк-смесь -item.powder_bismuth.name=Висмутовый порошок -item.powder_calcium.name=Кальциевый порошок -item.ingot_dineutronium.name=Динейтрониевый слиток -item.powder_dineutronium.name=Динейтрониевый порошок -item.nugget_dineutronium.name=Динетрониевый самородок -item.ingot_starmetal.name=§9Звёздный металл§r -item.ingot_saturnite.name=Сатурнитовый слиток -item.plate_saturnite.name=Сатурнитовая пластина -item.ingot_electronium.name=Электрониевый слиток -item.ingot_fiberglass.name=Стекловолокно -item.ingot_fiberglass.desc=С высоким содержанием волокна, с высоким содержанием стекла. Все, что нужно организму. -item.ingot_asbestos.name=Асбестовый лист -item.ingot_asbestos.desc=§o"Наполненный жизнью, неуверенностью в себе и асбестом. Это приходит вместе с воздухом."§r -item.ingot_arsenic.name=Слиток мышьяка -item.nugget_arsenic.name=Самородок мышьяка -item.ingot_arsenic_bronze.name=Слиток мышьяковой бронзы - -item.solid_fuel.name=Твердое топливо -item.solid_fuel_bf.name=Твердое топливо (Жар-пламя) -item.solid_fuel_presto.name=Топливное полено -item.solid_fuel_presto_bf.name=Топливное полено (Жар-пламя) -item.solid_fuel_presto_triplet.name=Сжатые топливные полена -item.solid_fuel_presto_triplet_bf.name=Сжатые топливные полена (Жар-пламя) -item.stick_dynamite.name=Динамитная шашка -item.stick_dynamite_fishing.name=Динамитная шашка для рыбалки -item.stick_tnt.name=Шашка ТНТ -item.stick_c4.name=Шашка C-4 -item.stick_semtex.name=Шашка семтекса -item.rocket_fuel.name=Твердое топливо (Ракетное) -item.coke.coal.name=Угольный кокс -item.coke.lignite.name=Бурый кокс -item.coke.petroleum.name=Нефтяной кокс -item.lignite.name=Бурый уголь -item.coal_infernal.name=Адский уголь -item.briquette.lignite.name=Брикет бурого угля +item.boltgun.name=Пневматический заклепочник +item.bomb_caller.name=Устройство для обозначения авиаудара +item.bomb_waffle.name=Вафля массового поражения +item.book_guide.name=Руководство +item.book_of_.name=Книга Вагонов +item.book_lemegeton.name=Лемегетон +item.book_secret.name=3-596-50802-9 +item.bottle2_empty.name=Пустая Бутылка +item.bottle2_fritz.name=Фрицз-Кола +item.bottle2_fritz_special.name=Первая Фрицз-Кола +item.bottle2_korl.name=Корл +item.bottle2_korl_special.name=Первый Корл +item.bottle2_sunset.name=Сансет Сарсапарилла +item.bottle_cherry.name=Бутылка Ядер-вишни +item.bottle_empty.name=Пустая бутылка в форме бомбы +item.bottle_mercury.name=Пузырёк ртути +item.bottle_nuka.name=Бутылка Ядер-колы +item.bottle_opener.name=Собственная самодельная открывашка для бутылок +item.bottle_quantum.name=Бутылка Квантовой Ядер-колы +item.bottle_rad.name=Бутылка С~Колы РАД +item.bottle_sparkle.name=Бутылка С~Колы +item.bottled_cloud.name=Облако в бутылке +item.boy_bullet.name=Снаряд U235 +item.boy_igniter.name=Воспламенитель +item.boy_kit.name=Комплект Малыша +item.boy_propellant.name=Взрывчатка +item.boy_shielding.name=Нейтронный щит +item.boy_target.name=Субкритическая цель U235 item.briquette.coal.name=Брикет угля +item.briquette.lignite.name=Брикет бурого угля item.briquette.wood.name=Брикет древесных опилок -item.powder_lignite.name=Порошок бурого угля - -item.nugget_th232.name=Самородок тория-232 -item.nugget_u233.name=Самородок урана-233 -item.nugget_u235.name=Самородок урана-235 -item.nugget_u238.name=Самородок урана-238 -item.nugget_pu_mix.name=Самородок плутония реакторного качества -item.nugget_pu238.name=Самородок плутония-238 -item.nugget_pu239.name=Самородок плутония-239 -item.nugget_pu240.name=Самородок плутония-240 -item.nugget_pu241.name=Самородок плутония-241 -item.nugget_au198.name=Самородок золота-198 -item.nugget_co60.name=Самородок кобальта-60 -item.nugget_ra226.name=Самородок радия-226 -item.nugget_technetium.name=Самородок технеция-99 -item.nugget_am_mix.name=Самородок америция реакторного качества -item.nugget_am241.name=Самородок америция-241 -item.nugget_am242.name=Самородок америция-242 -item.nugget_americium_fuel.name=Самородок америциевого топлива -item.nugget_cobalt.name=Кобальтовый самородок -item.nugget_sr90.name=Самородок стронция-90 -item.nugget_pb209.name=Самородок свинца-209 -item.nugget_actinium.name=Самородок актиния-227 -item.nugget_gh336.name=Самородок гиорсия-336 -item.nugget_gh336.desc=Коллега Сиборгиума. - -item.plate_titanium.name=Титановая пластина -item.plate_aluminium.name=Алюминиевая пластина -item.wire_red_copper.name=Провод из красной меди -item.neutron_reflector.name=Отражатель нейтронов -item.nugget_beryllium.name=Бериллиевый самородок -item.nugget_bismuth.name=Самородок висмута -item.nugget_tantalium.name=Самородок тантала -item.nugget_tantalium.desc='Танталум' -item.nugget_tantalium.desc.P11=АКА Танталий. -item.nugget_osmiridium.name=Самородок осмиридия - -item.crystal_iron.name=Кристаллизованное железо -item.crystal_gold.name=Кристаллизованное золото -item.crystal_redstone.name=Кристаллизованная красная пыль -item.crystal_diamond.name=Кристализованный алмаз -item.crystal_uranium.name=Кристаллизованный уран -item.crystal_thorium.name=Кристаллизованный торий -item.crystal_plutonium.name=Кристаллизованный плутоний -item.crystal_titanium.name=Кристаллизованный титан -item.crystal_sulfur.name=Кристаллизованная сера -item.crystal_niter.name=Кристаллизованная селитра -item.crystal_copper.name=Кристаллизованная медь -item.crystal_tungsten.name=Кристаллизованный вольфрам -item.crystal_aluminium.name=Кристаллизованный алюминий -item.crystal_fluorite.name=Кристаллизованный флюорит -item.crystal_beryllium.name=Кристаллизованный бериллий -item.crystal_lead.name=Кристаллизованный свинец -item.crystal_schraranium.name=Кристаллизованный шрараний -item.crystal_schrabidium.name=Кристаллизованный шрабидий -item.crystal_rare.name=Кристализованные лантаноиды -item.crystal_phosphorus.name=Кристаллизованный фосфор -item.crystal_lithium.name=Кристализованный литий -item.crystal_starmetal.name=Кристализованный звёздный металл -item.crystal_trixite.name=Кристаллизованный триксит -item.crystal_coal.name=Кристаллизованный уголь -item.crystal_cinnebar.name=Кристаллизованная киноварь -item.crystal_lapis.name=Кристализованный лазурит -item.ingot_cft.name=Кристаллический фуллерит -item.gem_tantalium.name=Поликристалл тантала -item.gem_tantalium.desc='Танталум' -item.gem_tantalium.desc.P11=АКА Танталий. -item.gem_alexandrite.name=Александрит -item.gem_volcanic.name=Вулканический самоцвет -item.gem_rad.name=Радиоактивный самоцвет -item.gem_sodalite.name=Содалит -item.black_diamond.name=Чёрный алмаз -item.crystal_cobalt.name=Кристализованный кобальт -item.crystal_osmiridium.name=Кристализованный осмиридий -item.laser_crystal_bismuth.desc=Висмут-Самарий-Уран-Ториевая кристаллическая матрица -item.laser_crystal_bismuth.name=Висмутовый лазерный кристалл -item.laser_crystal_cmb.desc=Антишрабидий, заключенный в решётку из сплава Шрабидата и стали Альянса -item.laser_crystal_cmb.name=CMB-Шрабидатовый антиматериальный лазерный кристалл -item.laser_crystal_co2.desc=Двуокись углерода, заключенная в кристаллический Деш -item.laser_crystal_co2.name=CO2-Деш лазерный кристалл -item.laser_crystal_digamma.name=Дигамма-лазерный кристалл -item.laser_crystal_dnt.desc=Динейтрониевый-Спарк фермионный суперкристалл -item.laser_crystal_dnt.name=Спарк-лазерный кристалл - -item.wire_aluminium.name=Алюминиевый провод -item.wire_copper.name=Медный провод -item.wire_gold.name=Золотой провод -item.wire_schrabidium.name=Шрабидиевый провод -item.wire_dense.name=Плотный провод из %s -item.wire_fine.name=Провод из %s -item.circuit_raw.name=Сборка простой микросхемы -item.circuit_bismuth_raw.name=Сборка универсального чипсета -item.circuit_arsenic_raw.name=Сборка гибкой микросхемы -item.circuit_tantalium_raw.name=Сборка конденсаторной платы +item.bucket_acid.name=Ведро кислоты +item.bucket_mud.name=Ведро токсичных отходов +item.bucket_schrabidic_acid.name=Ведро шрабидиевой кислоты +item.bucket_sulfuric_acid.name=Ведро серной кислоты +item.bucket_toxic.name=Ведро стереотипной зелёной слизи +item.burnt_bark.name=Обожженная кора +item.burnt_bark.desc=Кусок коры взорванного золотого дуба. +item.can_bepis.name=Бепис +item.can_breen.name=Личный резерв др.Брина +item.can_creature.name=Энергетический напиток "Существо" +item.can_empty.name=Пустая банка +item.can_key.name=Винтовой ключ +item.can_luna.name=Черная Меза Луна - Темная Кола +item.can_mrsugar.name=Безалкогольный напиток 'Доктор Сахар' +item.can_mug.name=MUG Root Beer +item.can_overcharge.name=Перезарядка Delirium XT +item.can_redbomb.name=Энергетический напиток "Красная Бомба" +item.can_smart.name=Энергетический напиток “Смарт” +item.canister_NITAN.name=100-октановое сверхтопливо NITAN© (LEGACY) +item.canister_biofuel.name=Канистра с биотопливом (LEGACY) +item.canister_bitumen.name=Канистра с битумом (LEGACY) +item.canister_canola.name=Машинная смазка (LEGACY) +item.canister_empty.name=Пустая канистра +item.canister_ethanol.name=Канистра с этанолом (LEGACY) +item.canister_fracksol.name=Канистра с жидкостью для гидроразрыва пласта (LEGACY) +item.canister_fuel.name=Канистра с дизелем (LEGACY) +item.canister_fuel.desc=Да здравствует носик! +item.canister_full.name=Канистра: +item.canister_gasoline.name=Канистра с этилированным бензином (LEGACY) +item.canister_gasoline.desc=свинец - это друг$впусти друга в свой кровоток$*достаёт пистолет* живо. +item.canister_heatingoil.name=Канистра с мазутом (LEGACY) +item.canister_heavyoil.name=Канистра с тяжелой нефтью (LEGACY) +item.canister_kerosene.name=Канистра с керосином (LEGACY) +item.canister_lightoil.name=Канистра с лёгкой нефтью (LEGACY) +item.canister_napalm.name=Напалм Б +item.canister_naphtha.name=Канистра нафты (LEGACY) +item.canister_oil.name=Канистра с неочищенной нефтью (LEGACY) +item.canister_petroil.name=Канистра с бензином (LEGACY) +item.canister_reoil.name=Канистра с восстановленным промышленным маслом (LEGACY) +item.canister_smear.name=Канистра с промышленным маслом (LEGACY) +item.canned_asbestos.name=Консервированный асбест +item.canned_asbestos.desc=РАСПРОБУЙ асбестоз! +item.canned_ass.name=Консервированная задница +item.canned_ass.desc=Мясо осла 100%%-го качества!* +item.canned_bark.name=Консервы вяленой сосновой коры +item.canned_bark.desc=Очень хрустящие! +item.canned_beef.name=Консервированная говядина +item.canned_beef.desc=Несколько веков назад для этого умерла корова. +item.canned_bhole.name=Консервированная черная дыра +item.canned_bhole.desc=Сингулярность это ням ням в моём там там +item.canned_cheese.name=Консервированный плавленый сыр +item.canned_cheese.desc=Это сыр? Это резиновый цемент? Кто знает. Кого волнует. +item.canned_chinese.name=Консервированная китайская еда +item.canned_chinese.desc=В Китае китайскую еду называют просто едой. +item.canned_diesel.name=Консервированное дизельное топливо +item.canned_diesel.desc=У меня постепенно заканчиваются шутки для этого. +item.canned_fist.name=Консервированный кулак +item.canned_fist.desc=Yowser! +item.canned_fried.name=Консервированная жареная курица +item.canned_fried.desc=Даже банка глубокой прожарки! +item.canned_hotdogs.name=Консервированные хот-доги +item.canned_hotdogs.desc=Не путать с крутыми котами. +item.canned_jizz.name=Консервированное жеребцовое молоко "ФлимФлэм Индастриз" +item.canned_jizz.desc=Погоди, ч- +item.canned_kerosene.name=Консервированный керосин +item.canned_kerosene.desc=Придумайте остроумную шутку сами. +item.canned_leftovers.name=Просроченные консервы +item.canned_leftovers.desc=Ты слшкм медленный. +item.canned_milk.name=Консервированная сгущенка +item.canned_milk.desc=Молоко 2: Куда твёрже, чем было раньше! +item.canned_mystery.name=Консервы "Тайна Мяса" +item.canned_mystery.desc=Что же внутри? Есть лишь один способ узнать! +item.canned_napalm.name=Консервированный напалм +item.canned_napalm.desc=Люблю запах старых мемов по утрам. +item.canned_oil.name=Консервированное моторное масло +item.canned_oil.desc=Заставляет мотор работать, почему не может и людей? +item.canned_pashtet.name=Паштет +item.canned_pashtet.desc=услуги перевода недоступны! +item.canned_pizza.name=Консервированная пицца +item.canned_pizza.desc=Преступление против человечества. +item.canned_recursion.name=Консервированная рекурсия +item.canned_recursion.desc=Консервированная рекурсия +item.canned_spam.name=Консервы “Спам” +item.canned_spam.desc=Действие трехминутного скетча разворачивается в вымышленном кафе$"Зеленый Карлик" в Бромли. Разгорается спор между официанткой, читающей$меню, в котором почти каждое блюдо содержит спам, и миссис Бун, которая$не любит спам. Она заказывает блюдо без спама, что вызывает удивление$у её мужа, обожающего спам. Официантка с раздражением отвечает на этот$заказ. Мистер Бун предлагает забрать ее спам и заказывает блюдо с большим$количеством спама и запеченной фасолью. Официантка отвечает "нет", так как$фасоль закончилась; когда мистер Бун спрашивает о замене спама, официантка$снова реагирует с отвращением. В какой-то момент группа викингов в ресторане$перебивает разговор громким пением о спаме. Разъяренная официантка приказывает$им замолчать, но они продолжают петь еще громче. Венгерский турист подходит к$стойке, пытаясь сделать заказ с помощью абсолютно неточного венгерско-английского$разговорника (отсылка к предыдущему скетчу). Его быстро выводит полицейский.$Скетч резко переходит к историку в теле-студии, который рассказывает о$происхождении викингов в кафе. По мере того как он продолжает, он все чаще$вставляет слово "спам" в каждое предложение, а кулиса на заднем фоне$поднимается, открывая декорации ресторана. Историк присоединяется к$викингам в их песне, а мистера и миссис Бун поднимают с помощью тросов$и уводят из кадра, пока пение продолжается. В оригинальной телевизионной$версии финальные титры начинают прокручиваться, пока на фоне всё ещё$слышно пение. +item.canned_stew.name=Консервы "Тушеные грибы" +item.canned_stew.desc=... +item.canned_tomato.name=Консервированный томатный суп +item.canned_tomato.desc=Кто хочет немного густой крастной пасты? +item.canned_tube.name=Пищевой тюбик космонавта +item.canned_tube.desc=Вкусная каша. +item.canned_tuna.name=Консервированный тунец +item.canned_tuna.desc=Я не могу сказать, действительно ли это тунец или высушенный цемент. +item.canned_yogurt.name=Консервированный йогурт +item.canned_yogurt.desc=Возможно просрочен, но не важно. +item.canteen_13.name=Фляжка Убежища 13 +item.canteen_fab.name=Потрясающая водка +item.canteen_vodka.name=Стильная фляга +item.cap_fritz.name=Крышка от Фрицз-Колы +item.cap_korl.name=Крышка от Бутылки Корла +item.cap_nuka.name=Крышка +item.cap_quantum.name=Крышка от Квантовой Ядер-колы +item.cap_rad.name=Крышка от С~Колы РАД +item.cap_sparkle.name=Крышка от С~Колы +item.cap_star.name=Крышка от Сансет Сарсапариллы со звездой +item.cap_sunset.name=Крышка от Сансет Сарсапариллы +item.cape_ayy.name=Ayy's Cape +item.cape_codered_.name=codered_'s Cape +item.cape_dafnik.name=Dafnik's Cape +item.cape_gasmask.name=Плащ (Противогаз) +item.cape_hbm.name=Hbm's Cape +item.cape_hidden.name=Скрытый плащ +item.cape_lpkukin.name=LPkukin's Cape +item.cape_nostalgia.name=DrNostalgia's Cape +item.cape_radiation.name=Плащ (Радиация) +item.cape_schrabidium.name=Плащ (Шрабидий) +item.cape_vertice.name=Lord Vertice's Cape +item.card_aos.name=Пиковый туз +item.card_qos.name=Королева пик +item.cart.crate.name=Вагонетка с ящиком +item.cart.destroyer.name=Вагонетка с уничтожителем мусора +item.cart.empty.name=Стальная вагонетка +item.cart.powder.name=Вагонетка с порохом +item.cart.semtex.name=Вагонетка с семтексом +item.casing_357.name=Гильза Магнума .357(x24) +item.casing_44.name=Гильза Магнума .44 (x24) +item.casing_50.name=Крупнокалиберная Гильза (x12) +item.casing_9.name=Малокалиберная Гильза (x32) +item.casing_bag.name=Сумка для гильз +item.casing_buckshot.name=Картечная Гильза (x12) +item.casing.small.name=Маленькая гильза из пушечной бронзы +item.casing.small_steel.name=Маленькая гильза из оружейной стали +item.casing.large.name=Большая гильза из пушечной бронзы +item.casing.large_steel.name=Большая гильза из оружейной стали +item.casing.shotshell.name=Гильза дробового патрона для чёрного пороха +item.casing.buckshot.name=Пластиковая гильза дробового патрона +item.casing.buckshot_advanced.name=Улучшенная гильза дробового патрона +item.catalyst_clay.name=Глинистый катализатор +item.catalytic_converter.name=Каталитический конвертер +item.cbt_device.name=CBT-девайс +item.cell_anti_schrabidium.name=Пробирка с антишрабидием +item.cell_antimatter.name=Пробирка с антиматерией +item.cell_balefire.name=Пробирка с газообразным жар-пламенем +item.cell_deuterium.name=Пробирка с дейтерием +item.cell_empty.name=Пустая пробирка +item.cell_puf6.name=Пробирка с гексафторидом плутония +item.cell_sas3.name=Пробирка с трисульфидом шрабидия +item.cell_tritium.name=Пробирка с тритием +item.cell_uf6.name=Пробирка с гексафторидом урана +item.centri_stick.name=Центрифуга на палке +item.centrifuge_element.name=Элемент центрифуги +item.centrifuge_tower.name=Башня центрифуги +item.chainsaw.name=Бензопила +item.cheese.name=Сыр +item.cheese_quesadilla.name=Сырная кесадилья +item.chemical_dye.black.name=Химический краситель (Черный) +item.chemical_dye.blue.name=Химический краситель (Синий) +item.chemical_dye.brown.name=Химический краситель (Коричневый) +item.chemical_dye.cyan.name=Химический краситель (Голубой) +item.chemical_dye.gray.name=Химический краситель (Серый) +item.chemical_dye.green.name=Химический краситель (Зелёный) +item.chemical_dye.lightblue.name=Химический краситель (Светло-синий) +item.chemical_dye.lime.name=Химический краситель (Лаймовый) +item.chemical_dye.magenta.name=Химический краситель (Пурпурный) +item.chemical_dye.orange.name=Химический краситель (Оранжевый) +item.chemical_dye.pink.name=Химический краситель (Розовый) +item.chemical_dye.purple.name=Химический краситель (Фиолетовый) +item.chemical_dye.red.name=Химический краситель (Красный) +item.chemical_dye.silver.name=Химический краситель (Светло-серый) +item.chemical_dye.white.name=Химический краситель (Белый) +item.chemical_dye.yellow.name=Химический краситель (Жёлтый) +item.chemistry_set.name=Лабораторная посуда +item.chemistry_set_boron.name=Лабораторная посуда (Борное стекло) +item.chemistry_template.name=Шаблон химической машины: +item.chernobylsign.name=Боевой топор из Чернобыльского предупреждающего знака +item.chlorine_pinwheel.name=Хлорная вертушка +item.chlorophyte_axe.name=Хлорофитовый топор +item.chlorophyte_pickaxe.name=Хлорофитовая кирка +item.chocolate.name=Фирменный радиевый шоколад +item.chocolate.desc=Радиевый шоколад? Почти уверен, что это просто мет. +item.chocolate_milk.name=Шоколадное молоко +item.chopper.name=Вертолёт-охотник +item.chopper_blades.name=Лопасти Вертолёта-охотника +item.chopper_gun.name=Огневая установка +item.chopper_head.name=Кабина Вертолета-охотника +item.chopper_tail.name=Хвост Вертолёта-охотника +item.chopper_torso.name=Корпус Вертолёта-охотника +item.chopper_wing.name=Крыло Вертолета-охотника +item.chunk_ore.malachite.name=Кусок малахита +item.chunk_ore.rare.name=Кусок редкоземельной руды +item.chunk_ore.cryolite.name=Кусок криолита +item.cigarette.name=Сигарета марки "FFI" +item.cinnebar.name=Киноварь +item.circuit.advanced.name=Военная микросхема +item.circuit.analog.name=Аналоговая плата +item.circuit.atomic_clock.name=Атомные часы +item.circuit.basic.name=Интегральная схема +item.circuit.bismoid.name=Передовая микросхема +item.circuit.capacitor.name=Конденсатор +item.circuit.capacitor_board.name=Конденсаторная плата +item.circuit.capacitor_tantalium.name=Танталовый конденсатор +item.circuit.chip.name=Микрочип +item.circuit.chip_bismoid.name=Передовой интегральный микрочип +item.circuit.chip_quantum.name=Твердотельный квантовый процессор +item.circuit.controller.name=Блок управления +item.circuit.controller_advanced.name=Продвинутый блок управления +item.circuit.controller_chassis.name=Корпус блока управления +item.circuit.controller_quantum.name=Квантовый компьютер +item.circuit.pcb.name=Печатная плата +item.circuit.quantum.name=Устройство квантовой обработки +item.circuit.silicon.name=Отпечатанная кремниевая пластина +item.circuit.vacuum_tube.name=Вакуумная трубка item.circuit_aluminium.name=Простая микросхема -item.circuit_copper.name=Продвинутая микросхема -item.circuit_red_copper.name=Усовершенствованная микросхема -item.circuit_gold.name=Разогнанная микросхема -item.circuit_schrabidium.name=Высокопроизводительная микросхема -item.circuit_bismuth.name=Универсальный чипсет item.circuit_arsenic.name=Гибкая микросхема -item.circuit_tantalium.name=Конденсаторная плата -item.circuit_targeting_tier1.name=Печатная плата военного класса (Уровень 1) -item.circuit_targeting_tier2.name=Печатная плата военного класса (Уровень 2) -item.circuit_targeting_tier3.name=Печатная плата военного класса (Уровень 3) -item.circuit_targeting_tier4.name=Печатная плата военного класса (Уровень 4) -item.circuit_targeting_tier5.name=Печатная плата военного класса (Уровень 5) -item.circuit_targeting_tier6.name=Печатная плата военного класса (Уровень 6) +item.circuit_arsenic_raw.name=Сборка гибкой микросхемы +item.circuit_bismuth.name=Универсальный чипсет +item.circuit_bismuth_raw.name=Сборка универсального чипсета +item.circuit_copper.name=Продвинутая микросхема +item.circuit_gold.name=Разогнанная микросхема +item.circuit_raw.name=Сборка простой микросхемы +item.circuit_red_copper.name=Усовершенствованная микросхема +item.circuit_schrabidium.name=Высокопроизводительная микросхема item.circuit_star.name=Материнская плата Звёздного Диспетчера item.circuit_star.desc=Не используется сейчас из-за отсутствия операционной системы. +item.circuit_star_component.card.name=Карта расширения Звёздного Диспетчера item.circuit_star_component.chipset.name=Чипсет Звёздного Диспетчера item.circuit_star_component.cpu.name=Процессор Звёздного Диспетчера item.circuit_star_component.ram.name=Оперативная память Звёздного Диспетчера -item.circuit_star_component.card.name=Карта расширения Звёздного Диспетчера -item.circuit_star_piece.board_converter.name=ЗД - Преобразователь напряжения -item.circuit_star_piece.card_board.name=ЗД - Плата карты расширения -item.circuit_star_piece.card_processor.name=ЗД - Процессор платы расширения item.circuit_star_piece.board_blank.name=ЗД - Печатная плата +item.circuit_star_piece.board_converter.name=ЗД - Преобразователь напряжения item.circuit_star_piece.board_transistor.name=ЗД - Транзисторы item.circuit_star_piece.bridge_bios.name=ЗД - Чип БИОС item.circuit_star_piece.bridge_bus.name=ЗД - Шина @@ -3143,6 +2569,8 @@ item.circuit_star_piece.bridge_cmos.name=ЗД - Память БИОС item.circuit_star_piece.bridge_io.name=ЗД - Чип Ввода/Вывода item.circuit_star_piece.bridge_north.name=ЗД - Северный мост item.circuit_star_piece.bridge_south.name=ЗД - Южный мост +item.circuit_star_piece.card_board.name=ЗД - Плата карты расширения +item.circuit_star_piece.card_processor.name=ЗД - Процессор платы расширения item.circuit_star_piece.cpu_cache.name=ЗД - Кэш процессора item.circuit_star_piece.cpu_clock.name=ЗД - Часы процессора item.circuit_star_piece.cpu_ext.name=ЗД - Мышьяковый полупроводниковый расширитель @@ -3154,257 +2582,1220 @@ item.circuit_star_piece.mem_16k_a.name=ЗД - Слот для карты Пам item.circuit_star_piece.mem_16k_b.name=ЗД - Слот для карты Памяти 16k B item.circuit_star_piece.mem_16k_c.name=ЗД - Слот для карты Памяти 16k C item.circuit_star_piece.mem_16k_d.name=ЗД - Слот для карты Памяти 16k D -item.circuit.advanced.name=Военная микросхема -item.circuit.analog.name=Аналоговая плата -item.circuit.basic.name=Интегральная схема -item.circuit.bismoid.name=Передовая микросхема -item.circuit.capacitor.name=Конденсатор -item.circuit.capacitor_board.name=Конденсаторная плата -item.circuit.capacitor_tantalium.name=Танталовый конденсатор -item.circuit.chip.name=Микрочип -item.circuit.chip_bismoid.name=Передовой интегральный микрочип -item.circuit.pcb.name=Печатная плата -item.circuit.silicon.name=Печатная кремниевая пластина -item.circuit.vacuum_tube.name=Вакуумная трубка +item.circuit_tantalium.name=Конденсаторная плата +item.circuit_tantalium_raw.name=Сборка конденсаторной платы +item.circuit_targeting_tier1.name=Печатная плата военного класса (Уровень 1) +item.circuit_targeting_tier2.name=Печатная плата военного класса (Уровень 2) +item.circuit_targeting_tier3.name=Печатная плата военного класса (Уровень 3) +item.circuit_targeting_tier4.name=Печатная плата военного класса (Уровень 4) +item.circuit_targeting_tier5.name=Печатная плата военного класса (Уровень 5) +item.circuit_targeting_tier6.name=Печатная плата военного класса (Уровень 6) +item.cladding_desh.name=Обшивка из деш +item.cladding_ghiorsium.name=Прокладка из гиорсия +item.cladding_iron.name=Железная обшивка +item.cladding_lead.name=Свинцовая обшивка +item.cladding_obsidian.name=Прокладка из обсидиана +item.cladding_paint.name=Свинцовая краска +item.cladding_rubber.name=Резиновая обшивка +item.clay_tablet.name=Глиняная табличка +item.clip_bf.name=Двойной Набор Жар-снарядов +item.clip_bolt_action.name=Коробка из 12х74 пуль +item.clip_cryolator.name=Бак Криоляторного топлива +item.clip_defabricator.name=Пояс с энерго-ячейками Дефабрикатора +item.clip_emp.name=Небольшой упаковка энергетических ячеек +item.clip_euthanasia.name=Последняя аптечка +item.clip_fatman.name=Шесть упаковок ядерных мини-снарядов +item.clip_hp.name=Чернильные Баки +item.clip_immolator.name=Бак с топливом Иммолятора +item.clip_jack.name=Коробка четверных патронов картечи 12х70 +item.clip_lever_action.name=Коробка патронов картечи 12х74 +item.clip_mirv.name=Три-в-одном пакет мини-МИРВов +item.clip_mp.name=Британский военный стандарт магазина штурмовой винтовки +item.clip_mp40.name=Обойма полуавтомата 9мм +item.clip_osipr.name=Обойма AR2 +item.clip_revolver.name=Коробочка патронов калибра .357 +item.clip_revolver_cursed.name=Британский военный стандарт пистолетной обоймы +item.clip_revolver_gold.name=Маленький сундучок с золотыми пулями +item.clip_revolver_iron.name=Коробка с железными патронами +item.clip_revolver_lead.name=Коробка ядерных пуль +item.clip_revolver_nightmare.name=Мешочек с пулями +item.clip_revolver_nightmare2.name=Пояс с лазерной картечью +item.clip_revolver_nopip.name=Коробочка с патронами .44 калибра +item.clip_revolver_pip.name=Скоростной загрузчик с заражёнными пулями +item.clip_revolver_schrabidium.name=Контейнер для шрабидиевых боеприпасов +item.clip_rpg.name=Контейнер с ракетами +item.clip_spark.name=Большой Электромагнитный Картридж +item.clip_stinger.name=Упаковка ракет "Стингер" +item.clip_uboinik.name=Коробка патронов картечи 12x70 +item.clip_uzi.name=Обойма .22 LR Патронов +item.clip_xvl1456.name=Большая Коробка с изотопами +item.cmb_axe.name=Топор из стали Альянса +item.cmb_boots.name=Ботинки из стали Альянса +item.cmb_helmet.name=Шлем из стали Альянса +item.cmb_hoe.name=Мотыга из стали Альянса +item.cmb_legs.name=Поножи из стали Альянса +item.cmb_pickaxe.name=Кирка из стали Альянса +item.cmb_plate.name=Нагрудник из стали Альянса +item.cmb_shovel.name=Лопата из стали Альянса +item.cmb_sword.name=Меч из стали Альянса +item.coal_infernal.name=Адский уголь +item.cobalt_axe.name=Кобальтовый топор +item.cobalt_boots.name=Кобальтовые ботинки +item.cobalt_decorated_axe.name=Декорированный кобальтовый топор +item.cobalt_decorated_hoe.name=Декорированная кобальтовая мотыга +item.cobalt_decorated_pickaxe.name=Декорированная кобальтовая кирка +item.cobalt_decorated_shovel.name=Декорированная кобальтовая лопата +item.cobalt_decorated_sword.name=Декорированный кобальтовый меч +item.cobalt_helmet.name=Кобальтовый шлем +item.cobalt_hoe.name=Кобальтовая мотыга +item.cobalt_legs.name=Кобальтовые поножи +item.cobalt_pickaxe.name=Кобальтовая кирка +item.cobalt_plate.name=Кобальтовый нагрудник +item.cobalt_shovel.name=Кобальтовая лопата +item.cobalt_sword.name=Кобальтовый меч +item.coffee.name=Кофе +item.coffee_radium.name=Кофе с радием +item.coil_advanced_alloy.name=Сверхпроводящая катушка +item.coil_advanced_torus.name=Сверхпроводящая кольцевая катушка +item.coil_copper.name=Медная катушка +item.coil_copper_torus.name=Кольцевая катушка +item.coil_gold.name=Золотая катушка +item.coil_gold_torus.name=Золотая кольцевая катушка +item.coil_magnetized_tungsten.name=4000K Высокотемпературная сверхпроводящая катушка +item.coil_tungsten.name=Нагревательный элемент +item.coin_creeper.name=Монета Ядерного крипера +item.coin_maskman.name=Монета Маскмена +item.coin_radiation.name=Монета Радиации +item.coin_siege.name=Монета осады +item.coin_ufo.name=Монета НЛО +item.coin_worm.name=Монета Баллс-О-Трон +item.coke.coal.name=Угольный кокс +item.coke.lignite.name=Бурый кокс +item.coke.petroleum.name=Нефтяной кокс +item.coltan_tool.name=Колтасс +item.combine_scrap.name=Металлолом Альянса +item.component_emitter.name=Компонент излучателя +item.component_limiter.name=Компонент стабилизатора +item.containment_box.name=Защитная коробка +item.conveyor_wand.regular.name=Конвейер +item.conveyor_wand.express.name=Быстрый конвейер +item.conveyor_wand.double.name=Двухполосный конвейер +item.conveyor_wand.triple.name=Трёхполосный конвейер +item.conveyor_wand.desc=Перемещает предметы, упавшие на него.$Соедините две точки, чтобы проложить конвейер.$Присядьте для установки в ручном режиме.$Нажатие отвёрткой поворачивает конвейер.$Нажатие отвёрткой в присяде меняет вид конвейера. +item.conveyor_wand.vertical.desc=Может принимать форму лифта/жёлоба. +item.cordite.name=Кордит +item.cotton_candy.name=Радиоактивная сахарная вата +item.crackpipe.name=Оздоровительная трубка +item.crate_caller.name=Запросчик поставки припасов +item.crayon.black.name=Черный мелок +item.crayon.blue.name=Синий мелок +item.crayon.brown.name=Коричневый мелок +item.crayon.cyan.name=Голубой мелок +item.crayon.gray.name=Серый мелок +item.crayon.green.name=Зелёный мелок +item.crayon.lightblue.name=Светло-синий мелок +item.crayon.lime.name=Лаймовый мелок +item.crayon.magenta.name=Пурпурный мелок +item.crayon.orange.name=Оранжевый мелок +item.crayon.pink.name=Розовый мелок +item.crayon.purple.name=Фиолетовый мелок +item.crayon.red.name=Красный мелок +item.crayon.silver.name=Светло-серый мелок +item.crayon.white.name=Белый мелок +item.crayon.yellow.name=Жёлтый мелок +item.crowbar.name=Mk.V Устройство Для Вскрытия Ящиков "Лом" +item.crucible.name="Горнило Палача" +item.crucible_template.name=Шаблон плавильни: +item.crystal_aluminium.name=Кристаллизованный алюминий +item.crystal_beryllium.name=Кристаллизованный бериллий +item.crystal_charred.name=Обугленный кристалл +item.crystal_charred.desc=Высококачественный силикат, слегка обожженный. +item.crystal_charred.desc.P11=Также настоящий рог. Странно, правда? +item.crystal_coal.name=Кристаллизованный уголь +item.crystal_cobalt.name=Кристализованный кобальт +item.crystal_copper.name=Кристаллизованная медь +item.crystal_cinnebar.name=Кристаллизованная киноварь +item.crystal_diamond.name=Кристализованный алмаз +item.crystal_energy.name=Энергетический кристалл +item.crystal_fluorite.name=Кристаллизованный флюорит +item.crystal_gold.name=Кристаллизованное золото +item.crystal_horn.name=Кристальный рог +item.crystal_horn.desc=Не настоящий рог. +item.crystal_horn.desc.P11=Настоящий рог. +item.crystal_iron.name=Кристаллизованное железо +item.crystal_lead.name=Кристаллизованный свинец +item.crystal_lapis.name=Кристализованный лазурит +item.crystal_lithium.name=Кристализованный литий +item.crystal_niter.name=Кристаллизованная селитра +item.crystal_osmiridium.name=Кристализованный осмиридий +item.crystal_phosphorus.name=Кристаллизованный фосфор +item.crystal_plutonium.name=Кристаллизованный плутоний +item.crystal_rare.name=Кристализованные лантаноиды +item.crystal_redstone.name=Кристаллизованная красная пыль +item.crystal_schrabidium.name=Кристаллизованный шрабидий +item.crystal_schraranium.name=Кристаллизованный шрараний +item.crystal_starmetal.name=Кристализованный звёздный металл +item.crystal_sulfur.name=Кристаллизованная сера +item.crystal_thorium.name=Кристаллизованный торий +item.crystal_titanium.name=Кристаллизованный титан +item.crystal_trixite.name=Кристаллизованный триксит +item.crystal_tungsten.name=Кристаллизованный вольфрам +item.crystal_uranium.name=Кристаллизованный уран +item.crystal_xen.name=Искусственный кристалл Зена +item.crt_display.name=Электронно-лучевая трубка +item.cube_power.name=Куб электрония +item.custom_amat.name=Антивещественный заряд кастомной бомбы +item.custom_dirty.name=Грязный заряд кастомной бомбы +item.custom_fall.name=Улучшение кастомной бомбы (Удар с неба) +item.custom_fall.desc=Это то, чего вы все тааааааак ждали!$Сбрасывает бомбу при активации +item.custom_hydro.name=Водородный заряд кастомной бомбы +item.custom_kit.name=Комплект Пользовательской бомбы +item.custom_nuke.name=Ядерный заряд кастомной бомбы +item.custom_schrab.name=Шрабидиевый заряд кастомной бомбы +item.custom_tnt.name=Взрывной заряд кастомной бомбы +item.cyclotron_tower.name=Башня циклотрона +item.debris_concrete.name=Большой кусок бетона +item.debris_element.name=Повреждённый топливный элемент +item.debris_exchanger.name=Обломок теплообменика +item.debris_fuel.name=Часть топливного стержня РБМК +item.debris_graphite.name=Горячий кусок графита +item.debris_metal.name=Покорёженная металлическая балка +item.debris_shrapnel.name=Металлическая шрапнель +item.definitelyfood.name=ИРП +item.defuser.name=Высокотехнологичное устройство для разминирования +item.defuser_gold.name=Золотые кусачки +item.demon_core_closed.name=Закрытый Заряд-Демон +item.demon_core_open.name=Приостановленный Заряд-Демон +item.desh_axe.name=Топор из рабочего сплава +item.desh_hoe.name=Мотыга из рабочего сплава +item.desh_pickaxe.name=Кирка из рабочего сплава +item.desh_shovel.name=Лопата из рабочего сплава +item.desh_sword.name=Меч из рабочего сплава +item.designator.name=Целеуказатель ближнего действия +item.designator_arty_range.name=Артиллерийский целеуказатель +item.designator_manual.name=Ручной целеуказатель +item.designator_range.name=Целеуказатель дальнего действия +item.detonator.name=Детонатор +item.detonator_de.name=Взрывчатка мертвеца +item.detonator_deadman.name=Детонатор мертвеца +item.detonator_laser.name=Лазерный детонатор +item.detonator_multi.name=Мульти-детонатор +item.deuterium_filter.name=Дейтериевый фильтр +item.diamond_gavel.name=Алмазный молоток +item.dieselsuit_boots.name=Высокие каблуки с дизельным двигателем +item.dieselsuit_helmet.name=Головной датчик окружающей среды с дизельным двигателем +item.dieselsuit_legs.name=Сервоприводы для ног с дизельным приводом +item.dieselsuit_plate.name=Кибернетика с дизельным двигателем +item.digamma_diagnostic.name=Диагностика дигаммы +item.disperser_canister.name= Канистра рассеивателя: +item.disperser_canister_empty.name= Канистра рассеивателя +item.dns_boots.name=Ботинки DNT-Нанокостюма +item.dns_legs.name=Поножи DNT-Нанокостюма +item.dns_helmet.name=Шлем DNT-Нанокостюма +item.dns_plate.name=Нагрудник DNT-Нанокостюма +item.dnt_boots.name=даенайтриевые ботинки +item.dnt_legs.name=динейтроновые поножи +item.dnt_helmet.name=динотрониму шлем +item.dnt_plate.name=динейтромы нагрудник +item.dnt_sword.name=динатуриевый меч +item.door_bunker.name=Бункерная дверь +item.door_metal.name=Металлическая дверь +item.door_office.name=Офисная дверь +item.door_red.name=Красная дверь +item.dosimeter.name=Дозиметр +item.drax.name=Терра-бур +item.drax_mk2.name=Усиленный терра-бур +item.drax_mk3.name=Шрабидиевый терра-бур +item.drillbit_desh.name=Деш-головка бура +item.drillbit_desh_diamond.name=Деш-головка бура (с алмазным напылением) +item.drillbit_ferro.name=Головка бура из ферроурана +item.drillbit_ferro_diamond.name=Головка бура из ферроурана (с алмазным напылением) +item.drillbit_hss.name=Головка бура из высокоскоростной стали +item.drillbit_hss_diamond.name=Головка бура из высокоскоростной стали (с алмазным напылением) +item.drillbit_steel.name=Головка бура из стали +item.drillbit_steel_diamond.name=Головка бура из стали (с алмазным напылением) +item.drillbit_tcalloy.name=Головка бура из технециевой стали +item.drillbit_tcalloy_diamond.name=Головка бура из технециевой стали (с алмазным напылением) +item.drill_titanium.name=Титановый бур +item.drone.patrol.name=Транспортный дрон +item.drone.patrol.desc=Путешествует по маршруту с путевыми точками$Пытается загрузиться/разгрузиться каждый раз, когда достигает ящика с дронами$Правый клик на ящике с дронами для размещения. +item.drone.patrol_chunkloading.name=Транспортный дрон (Чанклоадер) +item.drone.patrol_chunkloading.desc=Путешествует по маршруту с путевыми точками$Пытается загрузиться/разгрузиться каждый раз, когда достигает ящика с дронами$Правый клик на ящике с дронами для размещения.$Загружает куски! +item.drone.patrol_express.name=Быстрый транспортный дрон +item.drone.patrol_express.desc=Путешествует по маршруту с путевыми точками$Пытается загрузиться/разгрузиться каждый раз, когда достигает ящика с дронами$Правый клик на ящике с дронами для размещения. +item.drone.patrol_express_chunkloading.name=Быстрый транспортный дрон (Чанклоадер) +item.drone.patrol_express_chunkloading.desc=Путешествует по маршруту с путевыми точками$Пытается загрузиться/разгрузиться каждый раз, когда достигает ящика с дронами$Правый клик поверх ящика с дронами для размещения.$Загружает куски! +item.drone.request.name=Логистический дрон +item.drone.request.desc=Используется доками логистических дронов для порождения логистических дронов$Дроны следуют по путевым точкам логистических дронов$После выполнения запроса дрон возвращается в док. +item.drone_linker.name=Соединитель пассивных ящиков для дронов +item.ducttape.name=Скотч +item.dust.name=Пыль +item.dust.desc=Ненавижу пыль! +item.dust.desc.P11=Ещё один падает в пыль! +item.dust_tiny.name=Кучка пыли +item.dwarven_pickaxe.name=Дварфийская кирка +item.dynosphere_base.name=Шаблон Диносферы +item.dynosphere_desh.name=Диносфера из деш +item.dynosphere_desh_charged.name=Диносфера из деш (Заряженная) +item.dynosphere_dineutronium.name=Динейтрониевая диносфера +item.dynosphere_dineutronium_charged.name=Динейтрониевая диносфера (Заряженная) +item.dynosphere_euphemium.name=Эвфемиевая диносфера +item.dynosphere_euphemium_charged.name=Эвфемиевая диносфера (Заряженная) +item.dynosphere_schrabidium.name=Шрабидиевая диносфера +item.dynosphere_schrabidium_charged.name=Шрабидиевая диносфера (Заряженная) +item.dysfunctional_reactor.name=Нерабочий ядерный реактор +item.early_explosive_lenses.name=Набор взрывоопасных линз первого поколения +item.early_explosive_lenses.desc=Сборка из 8 осколочно-фугасных линз с алюминиевым$толкателем, дюралюминиевой оболочкой и проволочными детонаторами. +item.egg_balefire.name=Жар-яйцо +item.egg_balefire.desc=Какая птица откладывает радиоактивные яйца? +item.egg_balefire_shard.name=Жар-осколок +item.egg_glyphid.name=Яйцо глифидов +item.elec_axe.name=Электропила +item.elec_pickaxe.name=Ударный бур +item.elec_shovel.name=Спиральный бур +item.elec_sword.name=Электродубинка +item.energy_core.name=Импровизированный энергоблок +item.entanglement_kit.name=Комплект для квантового запутывания +item.entanglement_kit.desc=Предмет для создания телепорта.$Позволяет смещать измерения с помощью сканера ресурсов, улучшенного бериллием. +item.envsuit_boots.name=Ботинки защитного костюма M1TTY +item.envsuit_helmet.name=Шлем защитного костюма M1TTY +item.envsuit_legs.name=Поножи защитного костюма M1TTY +item.envsuit_plate.name=Нагрудник защитного костюма M1TTY +item.euphemium_boots.name=Эвфемиевые ботинки +item.euphemium_capacitor.name=Эвфемиевый конденсатор +item.euphemium_capacitor.desc=Позволяет пассивно рассеивать накопленную положительную энергию. +item.euphemium_helmet.name=Эвфемиевый шлем +item.euphemium_kit.name=Эвфемиевый комплект +item.euphemium_legs.name=Эвфемиевые поножи +item.euphemium_plate.name=Эвфемиевый нагрудник +item.euphemium_stopper.name=Ограничитель +item.explosive_lenses.name=Набор взрывоопасных линз +item.explosive_lenses.desc=Сборка из 8 линз из пластичной взрывчатки с тонким$алюминиевым толкателем, дюралюминиевым корпусом и$миниатюрными мостовыми детонаторами. +item.fabsols_vodka.name=Водка Fabsol'а +item.factory_core_advanced.name=Энергетический кластер усовершенствованной фабрики +item.factory_core_titanium.name=Энергетический кластер базовой фабрики +item.fallout.name=Куча радиоактивных осадков +item.fau_boots.name=Фау-ботинки +item.fau_helmet.name=Фау-шлем +item.fau_legs.name=Фау-поножи +item.fau_plate.name=Фау-нагрудник +item.filter_coal.name=Фильтр с активированным углём +item.fins_big_steel.name=Большие стальные ребра решетки +item.fins_flat.name=Плоский стальной кожух +item.fins_quad_titanium.name=Маленькие титановые ребра +item.fins_small_steel.name=Малые стальные ребра решетки +item.fins_tri_steel.name=Большие стальные ребра +item.five_htp.name=Таблетки энтерамина +item.five_htp.desc=Убирает все DRX, Стабильность на 10 минут +item.flame_conspiracy.name=Конспирологическая теория +item.flame_conspiracy.desc=Стальные балки не могут расплавить реактивное топливо! +item.flame_opinion.name=Собственное мнение +item.flame_opinion.desc=Что ж, мне это нравится... +item.flame_politics.name=Политическая тема +item.flame_politics.desc=Дональд Дак построит стену! +item.flame_pony.name=Картинка цветной лошади +item.flame_pony.desc=Желтая лошадь побеждает синюю лошадь, это доказанный факт! +item.flask_infusion.shield.name=Эликсир защиты +item.fleija_core.name=Заряд Ф.Л.Е.И из урана 235 +item.fleija_igniter.name=Импульсный воспламенитель +item.fleija_kit.name=Комплект Ф.Л.Е.Я +item.fleija_propellant.name=Шрабидиевая взрывчатка +item.fluid_barrel_empty.name=Пустая бочка для жидкости +item.fluid_barrel_full.name=Жидкостная бочка: +item.fluid_barrel_infinite.name=Бесконечная жидкостная бочка +item.fluid_duct.name=Жидкостная труба: +item.fluid_identifier.name=Идентификатор жидкости +item.fluid_identifier.info=Универсальный идентификатор жидкости: +item.fluid_identifier.usage0=Правая кнопка мыши по трубам, чтобы обозначить их для этой жидкости. +item.fluid_identifier.usage1=SHIFT+ПКМ по трубам чтобы обозначить ближайшие трубы +item.fluid_identifier.usage2=в радиусе 64 блоков. +item.fluid_identifier_multi.name=Мульти-жидкостный идентификатор +item.fluid_identifier_multi.info=Жидкостный идентификатор для: +item.fluid_identifier_multi.info2=Второй тип: +item.fluid_tank_empty.name=Пустой универсальный резервуар для жидкости +item.fluid_tank_full.name=Универсальный резервуар для жидкости: +item.fluid_tank_lead_empty.name=Пустой резервуар для опасных материалов +item.fluid_tank_lead_full.name=Резервуар с опасными материалами: +item.fluorite.name=Флюорит +item.flywheel_beryllium.name=Бериллевый маховик +item.fmn.name=Таблетка флунитразепама +item.fmn.desc=Убирает все DRX более 2,000mDRX +item.folly_bullet.name=12.8см Высокоэнергетическая оболочка из звёздного металла +item.folly_bullet_du.name=12.8см ДУ-оболочка +item.folly_bullet_nuclear.name=12.8см Ядерная оболочка +item.folly_shell.name=Оболочка серебряной пули +item.fooditem.name=пищевой продукт +item.fragment_actinium.name=Актиниевый-227 осколок +item.fragment_boron.name=Борный осколок +item.fragment_cerium.name=Цериевый осколок +item.fragment_cobalt.name=Кобальтовый осколок +item.fragment_coltan.name=Колтан +item.fragment_lanthanium.name=Лантановый осколок +item.fragment_meteorite.name=Метеоритный осколок +item.fragment_neodymium.name=Неодимовый осколок +item.fragment_niobium.name=Ниобиевый осколок +item.fuel_additive.antiknock.name=Антидетонационное средство из Тетраэтилсвинца +item.fuel_additive.deicer.name=Антиобледенитель +item.fuel_tank_large.name=Большой топливный бак +item.fuel_tank_medium.name=Средний топливный бак +item.fuel_tank_small.name=Малый топливный бак +item.fuse.name=Предохранитель +item.fusion_core.name=Ядерный блок +item.fusion_core_infinite.name=Бесконечный ядерный блок +item.fusion_shield_chlorophyte.name=Хлорофитовый защитный слой термоядерного реактора +item.fusion_shield_desh.name=Деш-Защитный слой термоядерного реактора +item.fusion_shield_tungsten.name=Вольфрамовый защитный слой термоядерного реактора +item.fusion_shield_vaporwave.name=Вапорвейвный защитный слой термоядерного реактора +item.gadget_core.name=Плутониевое ядро +item.gadget_explosive.name=Взрывные линзы первого поколения +item.gadget_kit.name=Комплект Гаджета +item.gadget_wireing.name=Провода +item.gas_biogas.name=Баллон с биогазом +item.gas_empty.name=Пустой газовый баллон +item.gas_full.name=Газовый баллон: +item.gas_lpg.name=Баллон с СПГ +item.gas_mask.name=Противогаз +item.gas_mask_filter.name=Фильтр противогаза +item.gas_mask_filter_combo.name=Комбинированный фильтр для противогаза +item.gas_mask_filter_mono.name=Каталитический фильтр маски +item.gas_mask_filter_piss.name=Самодельный продвинутый фильтр для противогаза +item.gas_mask_filter_rag.name=Самодельный фильтр для противогаза +item.gas_mask_m65.name=Противогаз M65-Z +item.gas_mask_mono.name=Полумаска +item.gas_mask_olde.name=Кожаный противогаз +item.gas_petroleum.name=Баллон с попутным газом +item.gas_tester.name=Газовый датчик +item.gear_large.name=Большая шестерня +item.gear_large_steel.name=Большая стальная шестерня +item.geiger_counter.name=Ручной счетчик Гейгера +item.gem_alexandrite.name=Александрит +item.gem_rad.name=Радиоактивный самоцвет +item.gem_sodalite.name=Содалит +item.gem_tantalium.name=Поликристалл тантала +item.gem_tantalium.desc='Танталум' +item.gem_tantalium.desc.P11=АКА Танталий. +item.gem_volcanic.name=Вулканический самоцвет +item.generator_front.name=Перед генератора +item.generator_steel.name=Корпус генератора +item.glitch.name=Глюк +item.glowing_stew.name=Тушеные светящиеся грибы +item.glyphid_meat.name=Мясо глифидов +item.glyphid_meat_grilled.name=Жареное мясо глифидов +item.goggles.name=Защитные очки +item.grenade_aschrab.name=Бросаемая антишрабидиевая пробирка +item.grenade_black_hole.name=Граната сингулярности +item.grenade_breach.name=Разрывная граната +item.grenade_burst.name=Экскаваторная граната +item.grenate_cats.name=Grenade of Cats +item.grenade_cloud.name=Колба с кислотным облаком +item.grenade_cluster.name=Кластерная бомба +item.grenade_electric.name=Электрограната +item.grenade_fire.name=Огненная осколочная граната +item.grenade_flare.name=Сигнальная ракета +item.grenade_frag.name=Осколочная граната +item.grenade_gas.name=Газовая граната +item.grenade_gascan.name=Бросаемая бензиновая канистра +item.grenade_generic.name=Граната +item.grenade_if_bouncy.name=IF - Прыгучая граната +item.grenade_if_brimstone.name=IF - Бросаемая серная мина +item.grenade_if_concussion.name=IF - Контузионная граната +item.grenade_if_generic.name=IF - Граната +item.grenade_if_he.name=IF - Фугасная граната +item.grenade_if_hopwire.name=IF - Граната сингулярности +item.grenade_if_impact.name=IF - Ударная граната +item.grenade_if_incendiary.name=IF - Зажигательная граната +item.grenade_if_mystery.name=IF - М.-Граната +item.grenade_if_null.name=IF - Нулевая граната +item.grenade_if_spark.name=IF - С.-Граната +item.grenade_if_sticky.name=IF - Липкая граната +item.grenade_if_toxic.name=IF - Токсичная граната +item.grenade_kit.name=Комплект гранат +item.grenade_kyiv.name=Киев спешиал +item.grenade_lemon.name=Зажигательный лимон +item.grenade_mirv.name=МИРВ-граната +item.grenade_mk2.name=Граната МК 2 "Посол Ананас" +item.grenade_nuclear.name=Ядерная граната +item.grenade_nuke.name=Буровая граната “Марк VI” +item.grenade_pink_cloud.name=Колба с розовым облаком +item.grenade_plasma.name=Плазменная граната +item.grenade_poison.name=Отравляющая граната +item.grenade_pulse.name=Импульсная граната +item.grenade_schrabidium.name=Шрабидиевая граната +item.grenade_shrapnel.name=Граната со шрапнелью +item.grenade_smart.name=Смарт-граната +item.grenade_strong.name=Усовершенствованная граната +item.grenade_tau.name=Тау-Граната +item.grenade_zomg.name=Граната аннигиляции пар отрицательной энергии +item.glyphid_gland.name= Железа глифида: +item.glyphid_gland_empty.name= Железа глифида +item.gun_aberrator.name=Аберратор +item.gun_aberrator_eott.name=Глаза бури +item.gun_am180.name=Пистолет-пулемёт .22 LR +item.gun_am180_silenced.name=Пистолет-пулемёт .22 LR с глушителем +item.gun_ar15.name="Джош" +item.gun_autoshotgun.name=Барабанный дробовик +item.gun_autoshotgun_sexy.name=Секси +item.gun_autoshotgun_shredder.name=Шреддер +item.gun_avenger.name=CZ57 “Авенджер” +item.gun_b92.name=§9Энергетический бластер B92§r +item.gun_b92_ammo.name=§9Энергетический Элемент B92§r +item.gun_b93.name=§cМодифицированный бластер B93§r +item.gun_benelli.name=Benelli Autoshotgun +item.gun_bf.name=BEL +item.gun_bf_ammo.name=Жар-снаряд +item.gun_bio_revolver.name=Атлас +item.gun_bolt_action.name=Винтовка со скользящим затвором(Оригинал) +item.gun_bolt_action_ammo.name=Пуля 12x74 калибра(LEGACY) +item.gun_bolt_action_green.name=Винтовка со скользящим затвором (Зелёный) +item.gun_bolt_action_saturnite.name=Сатурнитовая винтовка +item.gun_bolter.name=Болтер +item.gun_bolter_digamma.name=Дигамма пушка +item.gun_calamity.name=Каламити +item.gun_calamity_ammo.name=Кал. 50 (LEGACY) +item.gun_calamity_dual.name=Боевое седло +item.gun_carbine.name=Карабин +item.gun_chemthrower.name=Химомёт +item.gun_coilgun.name=Гаусс-пушка +item.gun_congolake.name=Congo Lake +item.gun_cryocannon.name=Криопушка +item.gun_cryolator.name=Криолятор +item.gun_cryolator_ammo.name=Криоэлемент +item.gun_dampfmaschine.name=Совершенно не шуточное оружие +item.gun_darter.name=Дротиковый пистолет +item.gun_deagle.name=Биг Айрон +item.gun_defabricator.name=Дефабрикатор +item.gun_defabricator_ammo.name=Энергетические ячейки Дефабрикатора +item.gun_detonator.name=Лазерный детонатор +item.gun_double_barrel.name=Старая классика +item.gun_double_barrel_sacred_dragon.name=Священный дракон +item.gun_emp.name=ЭМИ-пушка +item.gun_emp_ammo.name=Энергетическая ячейка +item.gun_euthanasia.name=Эвтаназия +item.gun_euthanasia_ammo.name=Шприцы +item.gun_fatman.name=М42 Атомная катапульта "Толстяк" +item.gun_fatman_ammo.name=Ядерный минизаряд (LEGACY) +item.gun_fireext.name=Огнетушитель +item.gun_flamer.name=Огнемёт +item.gun_flamer_daybreaker.name=Дейбрейкер +item.gun_flamer_topaz.name=Мистер Топаз +item.gun_flaregun.name=Сигнальный пистолет +item.gun_flechette.name=Игольчатая винтовка +item.gun_folly.name=Прототип Дигамма "Причуда" +item.gun_g3.name=Штурмовая винтовка +item.gun_g3_a3.name=G3A3 +item.gun_g3_infiltrator.name=Infiltrator +item.gun_g3_zebra.name=Зебринская винтовка +item.gun_glass_cannon.name=Стеклянная пушка +item.gun_greasegun.name=Пистолет-пулемёт "Маслёнка" +item.gun_greasegun_m3.name=Улучшенный пистолет-пулемёт М3 +item.gun_hangman.name=Палач +item.gun_heavy_revolver.name=Тяжёлый револьвер +item.gun_heavy_revolver_lilmac.name=Малый Макинтош +item.gun_heavy_revolver_protege.name=Протèже +item.gun_heavy_revolver_scoped.name=.44 Magnum с прицелом +item.gun_henry.name=Винтовка рычажного действия +item.gun_henry_lincoln.name=Винтовка Линкольна +item.gun_hk69.name=Гранатомет +item.gun_hp.name=HPP Лазерджет +item.gun_hp_ammo.name=Чернильный картридж +item.gun_immolator.name=Иммолятор +item.gun_immolator_ammo.name=Топливо Иммолатора +item.gun_jack.name=Джекхаммер +item.gun_jack_ammo.name=Снаряд для четырехствольного дробовика +item.gun_karl.name=Карл +item.gun_kit_1.name=Ружейное масло +item.gun_kit_2.name=Комплект для ремонта оружия +item.gun_ks23.name=Сэмюэль Большой Дробовик +item.gun_lacunae.name=CZ33 “Абаддон” +item.gun_lacunae_ammo.name=5-мм патрон (LEGACY) +item.gun_lag.name=Комически длинный пистолет +item.gun_laser_pistol.name=Лазерный пистолет +item.gun_laser_pistol_morning_glory.name=Морнин Глори +item.gun_laser_pistol_pew_pew.name=Пью-Пью +item.gun_lasrifle.name=Лазерная винтовка +item.gun_lever_action.name=«Нога кобылы» (Оригинал) +item.gun_lever_action_ammo.name=Дробь 12x74 калибра (LEGACY) +item.gun_lever_action_dark.name=«Нога кобылы» (Тёмный) +item.gun_lever_action_sonata.name=Перевёрнутая «Нога кобылы» +item.gun_lever_action_sonata_2.name=§cSonata's Microphone§r +item.gun_liberator.name=Либератор +item.gun_light_revolver.name=Револьвер переломного действия +item.gun_light_revolver_atlas.name=Атлас +item.gun_light_revolver_dani.name=День и Ночь +item.gun_lunatic_marksman.name=Lunatic Marksman Rifle (BETA) +item.gun_m2.name=Ma Deuce +item.gun_maresleg.name=Дробовик рычажного действия +item.gun_maresleg_akimbo.name=Дробовики рычажного действия +item.gun_maresleg_broken.name=Broken +item.gun_maresleg_short.name=Нога кобылы +item.gun_mas36.name=Южная Звезда +item.gun_minigun.name=Персональный миниган CZ53 +item.gun_minigun_lacunae.name=Лакунай +item.gun_mirv.name=M42 Ядерная катапульта "Экспериментальный МИРВ" +item.gun_mirv_ammo.name=Восьмиричный МИРВ (LEGACY) +item.gun_missile_launcher.name=Ракетница +item.gun_moist_nugget.name=Мосин-Наган +item.gun_mp.name=Пулемет Пацифистов +item.gun_mp40.name=Пистолет-пулемёт +item.gun_mp40_ammo.name=Submachine Gun Round (DEPRECATED) +item.gun_pepperbox.name=Перечница +item.gun_pm_ammo.name=Малый беспропеллентовый пулемётный патрон +item.gun_mymy.name=Ньетес +item.gun_osipr.name=Импульсная винтовка Патруля +item.gun_osipr_ammo.name=Импульсные патроны +item.gun_osipr_ammo2.name=Энергетический шар Комбайнов +item.gun_panzerschreck.name=Панцершрек +item.gun_proto.name=М42 Ядерная катапульта "Прото МИРВ" +item.gun_quadro.name="Четыре Сыра" +item.gun_remington.name=バイデン ブラスト [BIDEN BLAST] +item.gun_revolver.name=Усовершенствованный револьвер +item.gun_revolver_ammo.name=Свинцовая пуля +item.gun_revolver_blackjack.name=Пятизарядный револьвер Блэкджек +item.gun_revolver_cursed.name=Проклятый револьвер +item.gun_revolver_cursed_ammo.name=Стальная пуля +item.gun_revolver_gold.name=Золотой револьвер +item.gun_revolver_gold_ammo.name=Золотая пуля +item.gun_revolver_inverted.name=Перевернутый револьвер +item.gun_revolver_iron.name=Простой револьвер +item.gun_revolver_iron_ammo.name=Пуля +item.gun_revolver_lead.name=Ядерный револьвер +item.gun_revolver_lead_ammo.name=Покрытая стеклом атомная пуля +item.gun_revolver_nightmare.name=Кошмарный револьвер (Оригинал) +item.gun_revolver_nightmare2.name=Кошмарный револьвер (Тёмный) +item.gun_revolver_nightmare2_ammo.name=Лазерная дробь +item.gun_revolver_nightmare_ammo.name=Кошмарная пуля +item.gun_revolver_nopip.name=Тяжёлый револьверitem.gun_revolver_nopip_ammo.name=Патрон калибра .44 (LEGACY) +item.gun_revolver_pip.name=Лил' Пипсквик +item.gun_revolver_pip_ammo.name=Зараженный патрон (LEGACY) +item.gun_revolver_red.name=Револьвер с красным ключом +item.gun_revolver_saturnite.name=Сатурнитовый револьвер +item.gun_revolver_schrabidium.name=Шрабидиевый револьвер +item.gun_revolver_schrabidium_ammo.name=Шрабидиевая пуля +item.gun_revolver_silver.name=Одолженный пистолет +item.gun_rpg.name=Безоткатная Винтовка “Карл Густав” +item.gun_rpg_ammo.name=Ракета (LEGACY) +item.gun_sauer.name=Дробовик Стэна Зауэра +item.gun_skystinger.name="Небесный Стингер" +item.gun_spark.name=Спарк-Плаг +item.gun_spark_ammo.name=Электромагнитный картридж +item.gun_spas12.name=Дробовик SPAS-12 +item.gun_stg77.name=StG 77 +item.gun_stinger.name=FIM-92 "Стингер" +item.gun_stinger_ammo.name=Ракета-Стингер (LEGACY) +item.gun_super_shotgun.name=Супердробовик +item.gun_super_shotgun.desc=Он супер сломан! +item.gun_supershotgun.name=Супердробовик +item.gun_tau.name=Тау пушка +item.gun_tesla_cannon.name=Тесла пушка +item.gun_thompson.name=Пистолет-пулемёт Томпсона +item.gun_uac_pistol.name=Пистолет UAC .45 +item.gun_uboinik.name=Убойник +item.gun_uboinik_ammo.name=Дробь 12x70 калибра (LEGACY) +item.gun_uzi.name=IMI Узи +item.gun_uzi_richter.name=Richter +item.gun_uzi_akimbo.name=Акимбо Узи +item.gun_uzi_ammo.name=Патроны кал. 22LR (LEGACY) +item.gun_uzi_saturnite.name=Сатурнитовый Узи +item.gun_uzi_saturnite_silencer.name=Сатурнитовый Узи с глушителем +item.gun_uzi_silencer.name=IMI Узи с глушителем +item.gun_xvl1456.name=Прототип Тау-пушки XVL1456 +item.gun_xvl1456_ammo.name=Ящик с Обедненным Ураном-235 +item.gun_zomg.name=ZOMG-пушка +item.hand_drill.name=Ручная дрель +item.hand_drill_desh.name=Ручная дрель из деша +item.hazmat_boots.name=Защитные ботинки +item.hazmat_boots_grey.name=Высокоэффективные защитные ботинки +item.hazmat_boots_red.name=Улучшенные защитные ботинки +item.hazmat_cloth.name=Защитная ткань +item.hazmat_cloth_grey.name=Освинцованная защитная ткань +item.hazmat_cloth_red.name=Дополнительная защитная ткань +item.hazmat_grey_kit.name=Высокопроизводительный набор химической и радиационной защиты +item.hazmat_helmet.name=Защитный шлем +item.hazmat_helmet_grey.name=Высокоэффективный защитный шлем +item.hazmat_helmet_red.name=Улучшенный защитный шлем +item.hazmat_kit.name=Набор химической и радиационной защиты +item.hazmat_legs.name=Защитные поножи +item.hazmat_legs_grey.name=Высокоэффективные защитные поножи +item.hazmat_legs_red.name=Улучшенные защитные поножи +item.hazmat_paa_boots.name=Боевые защитные ботинки PaA +item.hazmat_paa_helmet.name=Боевой защитный шлем PaA +item.hazmat_paa_legs.name=Боевые защитные поножи PaA +item.hazmat_paa_plate.name=Боевой защитный нагрудник PaA +item.hazmat_plate.name=Защитный нагрудник +item.hazmat_plate_grey.name=Высокоэффективный защитный нагрудник +item.hazmat_plate_red.name=Улучшенный защитный нагрудник +item.hazmat_red_kit.name=Расширенный комплект химической и радиационной защиты +item.heart_booster.name=Усилитель сердца +item.heart_container.name=Контейнер для сердца +item.heart_fab.name=Фаб-сердце +item.heart_piece.name=Частичка сердца +item.heavy_component.name=Тяжёлый компонент (%s) +item.hev_battery.name=Батарея костюма +item.hev_boots.name=Ботинки H.E.V Модели IV +item.hev_plate.name=Нагрудник H.E.V Модели IV +item.hev_helmet.name=Шлем H.E.V Модели IV +item.hev_legs.name=Поножи H.E.V Модели IV +item.holotape_damaged.name=Повреждённый голодиск +item.holotape_image.name=Голодиск +item.horseshoe_magnet.name=Магнит-подкова +item.hull_big_aluminium.name=Большая алюминиевая оболочка +item.hull_big_steel.name=Большая стальная оболочка +item.hull_big_titanium.name=Большая титановая оболочка +item.hull_small_aluminium.name=Небольшая алюминиевая оболочка +item.hull_small_aluminium.desc=Может быть вставлен в просверленный графит +item.hull_small_steel.name=Небольшая стальная оболочка +item.icf_pellet.name=Топливная пеллета ICF +item.icf_pellet_depleted.name=Обедненная топливная пеллета ICF +item.icf_pellet_empty.name=Пустая топливная пеллета ICF +item.igniter.name=Зажигатель +item.igniter.desc=(Щёлкните правой кнопкой мыши по Прототипу)$Это зеленая металлическая ручка с $ярко-красной кнопкой и маленькой крышкой.$Внизу выгравированы инициалы N.E.$. Кем бы ни был N.E., у него был отличный вкус в оттенках зеленого. +item.industrial_magnet.name=Промышленный магнит +item.inf_antimatter.name=Infinite Antimatter Tank +item.inf_antischrabidium.name=Infinite Antischrabidium Tank +item.inf_coolant.name=Infinite Coolant Tank +item.inf_deuterium.name=Infinite Deuterium Tank +item.inf_diesel.name=Infinite Diesel Tank +item.inf_sulfur.name=Infinite Sulfur Tank +item.inf_tritium.name=Infinite Tritium Tank +item.inf_water.name=Бесконечный резервуар воды +item.inf_water_mk2.name=Усиленный бесконечный резервуар воды +item.ingot_actinium.name=Слиток актиния-227 +item.ingot_advanced_alloy.name=Слиток продвинутого сплава +item.ingot_aluminium.name=Алюминиевый слиток +item.ingot_am_mix.name=Слиток америция реакторного качества +item.ingot_am241.name=Слиток америция-241 +item.ingot_am242.name=Слиток америция-242 +item.ingot_americium_fuel.name=Слиток америциевого топлива +item.ingot_arsenic.name=Слиток мышьяка +item.ingot_arsenic_bronze.name=Слиток мышьяковой бронзы +item.ingot_asbestos.name=Асбестовый лист +item.ingot_asbestos.desc=§o"Наполненный жизнью, неуверенностью в себе и асбестом. Это приходит вместе с воздухом."§r +item.ingot_au198.name=Слиток золота-198 +item.ingot_australium.name=Австралиевый слиток +item.ingot_bakelite.name=Бакелит +item.ingot_beryllium.name=Бериллиевый слиток +item.ingot_biorubber.name=Брусок латекса +item.ingot_bismuth.name=Слиток висмута +item.ingot_bismuth_bronze.name=Слиток висмутовой бронзы +item.ingot_boron.name=Борный слиток +item.ingot_bscco.name=Слиток BSCCO +item.ingot_c4.name=Брусок C-4 +item.ingot_cadmium.name=Кадмиевый слиток +item.ingot_calcium.name=Кальциевый слиток +item.ingot_cdalloy.name=Слиток кадмиевой стали +item.ingot_cft.name=Кристаллический фуллерит +item.ingot_chainsteel.name=Тяжёлая цепная сталь +item.ingot_co60.name=Слиток кобальта-60 +item.ingot_cobalt.name=Кобальтовый слиток +item.ingot_combine_steel.name=Слиток стали Альянса +item.ingot_combine_steel.desc=*вставьте референс на Гражданскую Оборону* +item.ingot_copper.name=Слиток промышленной меди +item.ingot_daffergon.name=Даффергоновый слиток +item.ingot_desh.name=Слиток деш +item.ingot_dineutronium.name=Динейтрониевый слиток +item.ingot_dura_steel.name=Слиток высокоскоростной стали +item.ingot_electronium.name=Электрониевый слиток +item.ingot_euphemium.name=Эвфемиевый слиток +item.ingot_euphemium.desc=Совершенно особый и в то же время странный элемент. +item.ingot_ferrouranium.name=Ферроураниевый слиток +item.ingot_fiberglass.name=Стекловолокно +item.ingot_fiberglass.desc=С высоким содержанием волокна, с высоким содержанием стекла. Все, что нужно организму. +item.ingot_firebrick.name=Шамотный кирпич +item.ingot_gh336.name=Слиток гиорсия-336 +item.ingot_gh336.desc=Коллега Сиборгиума. +item.ingot_graphite.name=Графитовый слиток +item.ingot_gunmetal.name=Слиток пушечной бронзы +item.ingot_hes.name=Высокообогащенный слиток шрабидиевого топлива +item.ingot_lanthanium.name=Полустабильный слиток лантана +item.ingot_lanthanium.desc='Лантанум' +item.ingot_lanthanium.desc.P11=Вообще лантанум, но ладно. +item.ingot_lead.name=Свинцовый слиток +item.ingot_les.name=Слиток низкообогащенного шрабидиевого топлива +item.ingot_magnetized_tungsten.name=Слиток намагниченного вольфрама +item.ingot_metal.name=Металлический слиток +item.ingot_metal.bar.name=Металлический кусок +item.ingot_metal.beacon.name=Radio Homing Beacon +item.ingot_metal.casing.name=Металлическая оболочка +item.ingot_metal.clockwork.name=Заводной механизм +item.ingot_metal.counter.name=Счётчик +item.ingot_metal.detector.name=Детектор +item.ingot_metal.ingot.name=Металлический слиток +item.ingot_metal.key.name=Металлический ключ +item.ingot_meteorite.name=Метеоритовый слиток +item.ingot_meteorite_forged.name=Выкованный метеоритовый слиток +item.ingot_mox_fuel.name=Слиток МОКС-топлива +item.ingot_mud.name=Кирпич из твёрдых отходов +item.ingot_neptunium.name=Нептуниевый слиток +item.ingot_neptunium.desc=Вот этот мой любимый! +item.ingot_neptunium.desc.P11=УУУ, страшно! +item.ingot_neptunium_fuel.name=Слиток нептуниевого топлива +item.ingot_niobium.name=Ниобиевый слиток +item.ingot_osmiridium.name=Осмиридиевый слиток +item.ingot_pb209.name=Слиток свинца-209 +item.ingot_pc.name=Твердый пластиковый брусок +item.ingot_pet.name=Металлизированный алюминием брусок ПЭТ +item.ingot_phosphorus.name=Брусок белого фосфора +item.ingot_plutonium.name=Плутониевый слиток +item.ingot_plutonium_fuel.name=Слиток плутониевого топлива +item.ingot_polonium.name=Слиток полония-210 +item.ingot_polymer.name=Полимер +item.ingot_pu_mix.name=Слиток плутония реакторного качества +item.ingot_pu238.name=Слиток плутония-238 +item.ingot_pu239.name=Слиток плутония-239 +item.ingot_pu240.name=Слиток плутония-240 +item.ingot_pu241.name=Слиток плутония-241 +item.ingot_pvc.name=ПВХ +item.ingot_ra226.name=Слиток радия-226 +item.ingot_raw.name=Слиток (%s) +item.ingot_red_copper.name=Слиток красной меди +item.ingot_reiium.name=Реиевый слиток +item.ingot_rubber.name=Резина +item.ingot_saturnite.name=Сатурнитовый слиток +item.ingot_schrabidate.name=Слиток шрабидата железа +item.ingot_schrabidium.name=Шрабидиевый слиток +item.ingot_schrabidium_fuel.name=Слиток шрабидиевого топлива +item.ingot_schraranium.name=Шрараниевый слиток +item.ingot_schraranium.desc=Делается из урана в шрабидиевом трансмутаторе +item.ingot_semtex.name=Семтекс +item.ingot_silicon.name=Кремниевый брусок +item.ingot_smore.name=Слиток с'мора +item.ingot_solinium.name=Солиниевый слиток +item.ingot_sr90.name=Слиток стронция-90 +item.ingot_starmetal.name=§9Звёздный металл§r +item.ingot_steel.name=Стальной слиток +item.ingot_steel_dusted.name=Запылённый стальной слиток +item.ingot_tantalium.name=Танталовый слиток +item.ingot_tantalium.desc='Танталум' +item.ingot_tantalium.desc.P11=АКА Танталий. +item.ingot_tcalloy.name=Слиток технециевой стали +item.ingot_technetium.name=Слиток технеция-99 +item.ingot_th232.name=Слиток тория-232 +item.ingot_thorium_fuel.name=Слиток ториевого топлива +item.ingot_titanium.name=Титановый слиток +item.ingot_tungsten.name=Вольфрамовый слиток +item.ingot_u233.name=Слиток урана-233 +item.ingot_u235.name=Слиток урана-235 +item.ingot_u238.name=Слиток урана-238 +item.ingot_u238m2.name=Полустабильный слиток урана-238-2 +item.ingot_unobtainium.name=Недостатиевый слиток +item.ingot_uranium.name=Урановый слиток +item.ingot_uranium_fuel.name=Слиток уранового топлива +item.ingot_verticium.name=Вертициевый слиток +item.ingot_weaponsteel.name=Слиток оружейной стали +item.ingot_weidanium.name=Вейданиевый слиток +item.ingot_zirconium.name=Циркониевый куб +item.injector_5htp.name=Автоинъектор 5-гидрокситриптофана +item.injector_knife.name=Автоинъектор 8 дюймового лезвия +item.ink.name=林 чернила +item.insert_doxium.name=Астольфий-легированная Доксиевая пластина +item.insert_du.name=Урановая пластина +item.insert_era.name=Взрывоопасная реактивная бронепластина +item.insert_esapi.name=ESAPI пластины +item.insert_ghiorsium.name=Гиорсиевая пластина +item.insert_kevlar.name=Кевларовые пластины +item.insert_sapi.name=SAPI пластины +item.insert_polonium.name=Полониевая пластина +item.insert_steel.name=Тяжёлостальные пластины +item.insert_xsapi.name=XSAPI пластины +item.insert_yharonite.name=Яронитовая пластина +item.item_secret.aberrator.name=Часть Аберратора +item.item_secret.canister.name=Композит SB-26 +item.item_secret.controller.name=Проприетарный блок управления +item.item_secret.folly.name=Фрагмент Причуды +item.item_secret.selenium_steel.name=Слиток селениевой стали +item.iv_blood.name=Пакет с кровью +item.iv_empty.name=Пакет для внутривенного введения +item.iv_xp.name=Пакет с опытом +item.iv_xp_empty.name=Пакет для магического внутривенного введения +item.jackt.name=Чертовски стильная баллистическая куртка +item.jackt2.name=Чертовски стильная баллистическая куртка 2: Токийский Дрифт +item.jetpack_boost.name=Импульсный ранец +item.jetpack_break.name=Строительный ранец +item.jetpack_fly.name=Реактивный ранец +item.jetpack_tank.name=Резервный топливный бак ранца +item.jetpack_vector.name=Векторный реактивный ранец +item.journal_bj.name=Пропитанный виски блокнот +item.journal_pip.name=Дневник выживальщика +item.journal_silver.name=Записки контрактника +item.key.name=Ключ +item.key_fake.name=Поддельный ключ +item.key_kit.name=Набор имитации ключей +item.key_red.name=Красный ключ +item.key_red.desc=Исследуй другую сторону. +item.key_red.desc.P11=§4e§r +item.key_red_cracked.name=Сломанный ключ +item.key_red_cracked.desc=??? +item.key_red.key_red_cracked.P11=§4???§r +item.toolbox.name=Ящик для инструментов +item.toolbox_legacy.name=Ящик для инструментов (LEGACY) +item.kit_toolbox.name=Ящик для инструментов +item.kit_toolbox_empty.name=Пустой ящик для инструментов +item.laser_crystal_bismuth.desc=Висмут-Самарий-Уран-Ториевая кристаллическая матрица +item.laser_crystal_bismuth.name=Висмутовый лазерный кристалл +item.laser_crystal_cmb.desc=Антишрабидий, заключенный в решётку из сплава Шрабидата и стали Альянса +item.laser_crystal_cmb.name=CMB-Шрабидатовый антиматериальный лазерный кристалл +item.laser_crystal_co2.desc=Двуокись углерода, заключенная в кристаллический Деш +item.laser_crystal_co2.name=CO2-Деш лазерный кристалл +item.laser_crystal_digamma.name=Дигамма-лазерный кристалл +item.laser_crystal_dnt.desc=Динейтрониевый-Спарк фермионный суперкристалл +item.laser_crystal_dnt.name=Спарк-лазерный кристалл +item.launch_code.name=Код запуска +item.launch_code_piece.name=Кусок кода запуска +item.launch_key.name=Ключ запуска +item.lead_gavel.name=Свинцовый молоток +item.lemon.name="Лимон" +item.letter.name=Экспресс-почта +item.levitation_unit.name=Гравитационный манипулятор +item.lignite.name=Бурый уголь +item.limiter.name=Ограничитель генератора +item.linker.name=Телелинкер +item.liquidator_boots.name=Ботинки костюма Ликвидатора +item.liquidator_helmet.name=Шлем костюма Ликвидатора +item.liquidator_legs.name=Поножи костюма Ликвидатора +item.liquidator_plate.name=Нагрудник костюма Ликвидатора +item.lithium.name=Куб лития +item.lodestone.name=Магнетит +item.loop_stew.name=Завтрак IT-шника +item.loops.name=Пəтли +item.loot_10.name=Ящик с запчастями от Ракеты 10-го размера +item.loot_15.name=Ящик с запчастями от Ракеты 15-го размера +item.loot_misc.name=Общий ящик с запчастями от Ракеты +item.magnet_circular.name=Плоский магнит +item.magnet_dee.name=Ди-магниты +item.magnetron.name=Магнетрон +item.man_core.name=Плутониевое ядро +item.man_explosive.name=Взрывные линзы +item.man_igniter.name=Зажигатель +item.man_kit.name=Комплект Толстяка +item.marshmallow.name=Зефир на палочке +item.mask_of_infamy.name=Маска Позора +item.mask_piss.name=Траншейный противогаз +item.mask_rag.name=Грубая защитная маска +item.matchstick.name=Спичка +item.mech_key.name=Большой серебряный ключ +item.mech_key.desc=Он пульсирует энергией. +item.mechanism_launcher_1.name=Механизм запуска +item.mechanism_launcher_2.name=Усовершенствованный механизм запуска item.mechanism_revolver_1.name=Револьверный механизм item.mechanism_revolver_2.name=Усовершенствованный револьверный механизм item.mechanism_rifle_1.name=Винтовочный механизм item.mechanism_rifle_2.name=Усовершенствованный винтовочный механизм -item.mechanism_launcher_1.name=Механизм запуска -item.mechanism_launcher_2.name=Усовершенствованный механизм запуска item.mechanism_special.name=Механизм высокотехнологичного оружия -item.circuit.controller.name=Блок управления -item.circuit.controller_advanced.name=Продвинутый блок управления -item.circuit.controller_chassis.name=Корпус блока управления -item.item_secret.canister.name=Композит SB-26 -item.item_secret.controller.name=Проприетарный блок управления - -item.primer_357.name=Капсюли Магнума .357 (x24) -item.primer_44.name=Капсюли Магнума .44 (x24) -item.primer_9.name=Малокалиберные Капсюли (x32) -item.primer_50.name=Крупнокалиберные Капсюли (x12) -item.primer_buckshot.name=Картечные Капсюли (x12) -item.casing_357.name=Гильза Магнума .357(x24) -item.casing_44.name=Гильза Магнума .44 (x24) -item.casing_9.name=Малокалиберная Гильза (x32) -item.casing_50.name=Крупнокалиберная Гильза (x12) -item.casing_buckshot.name=Картечная Гильза (x12) -item.assembly_iron.name=Сборка железной пули -item.assembly_steel.name=Сборка свинцовой пули -item.assembly_lead.name=Сборка стеклянной пули -item.assembly_gold.name=Сборка золотой пули -item.assembly_schrabidium.name=Сборка шрабидиевой пули -item.assembly_nightmare.name=Сборка кошмарной пули -item.assembly_desh.name=Сборка деш-пули -item.assembly_pip.name=Сборка зараженной пули -item.assembly_nopip.name=Сборка пули Магнума .44 -item.assembly_762.name=Сборка 7.62мм патрона -item.assembly_luna.name=Сборка лунного снайперского патрона -item.assembly_45.name=Сборка пули .45 ACP -item.assembly_smg.name=Сборка 9-мм пули -item.assembly_556.name=Сборка 5.56мм пули -item.assembly_uzi.name=Сборка .22 LR пули -item.assembly_actionexpress.name=Сборка .50 AE пули -item.assembly_calamity.name=Сборка .50 BMG пули -item.assembly_lacunae.name=Сборка 5мм пули - -item.piston_selenium.name=Поршень двигателя внутреннего сгорания -item.piston_set_desh.name=Набор деш-поршней -item.piston_set_dura.name=Набор поршней из высокоскоростной стали -item.piston_set_starmetal.name=Набор поршней из звёздного металла -item.piston_set_steel.name=Набор стальных поршней - -tile.block_aluminium.name=Алюминиевый блок -tile.block_copper.name=Медный блок -tile.block_fluorite.name=Флюоритовый блок -tile.block_niter.name=Блок селитры -tile.block_niter_reinforced.name=Укрепленный блок селитры -tile.block_red_copper.name=Блок красной меди -tile.block_steel.name=Стальной блок -tile.block_sulfur.name=Блок серы -tile.sulfuric_acid_block.name=Серная кислота -tile.block_titanium.name=Титановый блок -tile.block_tungsten.name=Вольфрамовый блок -tile.block_uranium.name=Урановый блок -tile.block_thorium.name=Ториевый блок -tile.block_trinitite.name=Тринититовый блок -tile.block_beryllium.name=Бериллиевый блок -tile.block_waste.name=Блок ядерных отходов -tile.block_waste_vitrified.name=Блок остеклованных ядерных отходов -tile.block_fallout.name=Блок радиоактивных осадков -tile.fallout.name=Радиоактивный осадок -tile.ash_digamma.name=Пепел -item.powder_cement.name=Цемент -item.powder_limestone.name=Известняковый порошок -item.powder_ash.coal.name=Угольная зола -item.powder_ash.fly.name=Летучая зола -item.powder_ash.misc.name=Пепел -item.powder_ash.soot.name=Мелкая сажа -item.powder_ash.wood.name=Древесная зола -item.powder_ash.fullerene.name=Фуллерен -tile.glass_ash.name=Пепельное стекло -tile.fire_digamma.name=Затяжная Дигамма -tile.balefire.name=Жар-пламя -tile.block_waste_painted.name=Покрашенный блок ядерных отходов -tile.block_scrap.name=Блок металлолома -tile.block_slag.name=Блок шлака -tile.oil_spill.name=Разлитая нефть -tile.pribris.name=Обломки РБМК -tile.pribris_digamma.name=Почерневшие обломки РБМК -tile.pribris_burning.name=Горящие обломки РБМК -tile.pribris_radiating.name=Тлеющие обломки РБМК -tile.ancient_scrap.name=Древние обломки -tile.block_electrical_scrap.name=Блок отходов электроники -tile.block_advanced_alloy.name=Блок продвинутого сплава -tile.block_magnetized_tungsten.name=Блок намагниченного вольфрама -tile.block_combine_steel.name=Блок стали альянса -tile.block_australium.name=Австралиевый блок -tile.block_weidanium.name=Вейданиевый блок -tile.block_reiium.name=Реиевый блок -tile.block_unobtainium.name=Недостатиевый блок -tile.block_daffergon.name=Даффергоновый блок -tile.block_verticium.name=Вертициевый блок -tile.block_desh.name=Укрепленный блок деш -tile.block_dura_steel.name=Укрепленный блок высокоскоростной стали -tile.block_yellowcake.name=Блок йеллоукейка -tile.block_starmetal.name=§9Блок звёздного металла§r -tile.block_dineutronium.name=Блок динейтрония -tile.block_insulator.name=Рулон изолятора -tile.block_fiberglass.name=Рулон стекловолокна -tile.block_asbestos.name=Асбест -tile.brick_asbestos.name=Асбестовые кирпичи -tile.brick_fire.name=Шамотные кирпичи -tile.block_cobalt.name=Кобальтовый блок -tile.block_lithium.name=Литиевый блок -tile.block_white_phosphorus.name=Блок белого фосфора -tile.block_red_phosphorus.name=Блок красного фосфора -tile.block_actinium.name=Блок актиния -tile.block_lanthanium.name=Блок лантания -tile.block_boron.name=Блок бора -tile.block_graphite.name=Блок графита -tile.block_zirconium.name=Блок циркония -tile.block_bismuth.name=Блок висмута -tile.block_coltan.name=Блок колтана -tile.block_tantalium.name=Блок тантала -tile.block_semtex.name=Блок семтекса -tile.semtex.name=Семтекс -tile.block_c4.name=Блок C-4 -tile.c4.name=C-4 -tile.block_smore.name=Блок с'мора -tile.block_niobium.name=Блок ниобия -tile.block_bakelite.name=Блок бакелита -tile.block_rubber.name=Блок резины -tile.block_cadmium.name=Кадмиевый блок -tile.block_cdalloy.name=Блок кадмиевой стали -tile.block_tcalloy.name=Блок технециевой стали - -tile.block_ra226.name=Блок радия-226 -tile.block_u233.name=Блок урана-233 -tile.block_u235.name=Блок урана-235 -tile.block_u238.name=Блок урана-238 -tile.block_neptunium.name=Нептуниевый блок -tile.block_uranium_fuel.name=Блок уранового топлива -tile.block_mox_fuel.name=Блок МОКС топлива -tile.block_plutonium.name=Плутониевый блок -tile.block_pu_mix.name=Блок плутония реакторного качества -tile.block_pu238.name=Блок плутония-238 -tile.block_pu239.name=Блок плутония-239 -tile.block_pu240.name=Блок плутония-240 -tile.block_plutonium_fuel.name=Блок плутониевого топлива -tile.block_polonium.name=Блок полония-210 -tile.block_thorium_fuel.name=Блок ториевого топлива -tile.block_solinium.name=Солиниевый блок -tile.block_schrabidium_fuel.name=Блок шрабидиевого топлива - -tile.ore_asbestos.name=Асбестовая руда -tile.ore_aluminium.name=Алюминиевая руда -tile.ore_copper.name=Медная руда -tile.ore_fluorite.name=Флюорит -tile.ore_niter.name=Селитра -tile.ore_sulfur.name=Сера -tile.ore_titanium.name=Титановая руда -tile.ore_tungsten.name=Вольфрамовая Руда -tile.ore_uranium.name=Урановая руда -tile.ore_uranium_scorched.name=Обожженная урановая руда -tile.ore_thorium.name=Торий -tile.ore_schrabidium.name=Шрабидиевая руда -tile.ore_beryllium.name=Бериллиевая руда -tile.ore_lignite.name=Бурый уголь -tile.ore_coal_oil.name=Маслянистая угольная руда -tile.ore_coal_oil_burning.name=Горящая маслянистая угольная руда -tile.ore_gneiss_asbestos.name=Сланцевая асбестовая руда -tile.ore_gneiss_copper.name=Сланцевая медная руда -tile.ore_gneiss_gold.name=Сланцевая золотая руда -tile.ore_gneiss_iron.name=Сланцевая железная руда -tile.ore_gneiss_gas.name=Сланцевый газ -tile.ore_gneiss_lithium.name=Сланцевая литиевая руда -tile.ore_gneiss_rare.name=Сланцевая редкоземельная руда -tile.ore_gneiss_schrabidium.name=Сланцевая шрабидиевая руда -tile.ore_gneiss_uranium.name=Сланцевая урановая руда -tile.ore_gneiss_uranium_scorched.name=Обожённая сланцевая урановая руда -tile.ore_nether_uranium.name=Адская урановая руда -tile.ore_nether_uranium_scorched.name=Обожённая адская урановая руда -tile.ore_nether_plutonium.name=Адская плутониевая руда -tile.ore_nether_tungsten.name=Адская вольфрамовая руда -tile.ore_nether_sulfur.name=Адская серная руда -tile.ore_nether_fire.name=Адская фосфорная руда -tile.ore_nether_schrabidium.name=Адская шрабидиевая руда -tile.ore_nether_cobalt.name=Адская кобальтовая руда -tile.ore_nether_coal.name=Горящая руда адского угля -tile.ore_nether_smoldering.name=Тлеющий адский камень -tile.ore_meteor.aluminium.name=Метеоритная алюминиевая руда -tile.ore_meteor.copper.name=Метеоритная медная руда -tile.ore_meteor.cobalt.name=Метеоритная кобальтовая руда -tile.ore_meteor.iron.name=Метеоритная железная руда -tile.ore_meteor.rareearth.name=Метеоритная редкоземельная руда -tile.ore_meteor_sulfur.name=Метеоритная серная руда -tile.ore_meteor_titanium.name=Метеоритная титановая руда -tile.ore_meteor_tungsten.name=Метеоритная вольфрамовая руда -tile.ore_meteor_uranium.name=Метеоритная урановая руда -tile.ore_meteor_thorium.name=Метеоритная ториевая руда -tile.ore_meteor_lead.name=Метеоритная свинцовая руда -tile.ore_meteor_lithium.name=Метеоритная литиевая руда -tile.ore_meteor_starmetal.name=Руда звёздного металла -tile.ore_alexandrite.name=Александритовая руда -tile.ore_tikite.name=Триксит -tile.ore_australium.name=Австралиевая руда -tile.ore_weidanium.name=Вейдитит -tile.ore_reiium.name=Реиит -tile.ore_unobtainium.name=Брайтбленд -tile.ore_daffergon.name=Деллит -tile.ore_verticium.name=Долларовый Зелёный минерал -tile.ore_rare.name=Редкоземельная руда -item.chunk_ore.rare.name=Кусок редкоземельной руды -tile.ore_oil.name=Нефтяной карман -tile.ore_oil_empty.name=Пустой нефтяной карман -tile.ore_oil_sand.name=Битумозный песок -tile.sand_dirty.name=Пропитанный нефтью песок -tile.sand_dirty_red.name=Пропитанный нефтью красный песок -tile.cluster_aluminium.name=Алюминиевый рудный кластер -tile.cluster_copper.name=Медный рудный кластер -tile.cluster_depth_iron.name=Глубинный железорудный кластер -tile.cluster_depth_titanium.name=Глубинный титановый рудный кластер -tile.cluster_depth_tungsten.name=Глубинный вольфрамовый рудный кластер -tile.ore_depth_cinnebar.name=Глубинная киноварь -tile.ore_depth_zirconium.name=Глубинная циркониевая руда -tile.ore_depth_borax.name=Глубинная бура -tile.ore_depth_nether_neodymium.name=Адская глубинная неодимовая руда -tile.cluster_iron.name=Железорудный кластер -tile.cluster_titanium.name=Титановый рудный кластер -tile.ore_cinnebar.name=Киноварь -tile.ore_coltan.name=Колтановая руда -tile.ore_bedrock_coltan.name=Бедроковая колтановая руда -tile.ore_bedrock_oil.name=Бедроковый нефтяной пласт -tile.ore_cobalt.name=Кобальтовая руда -tile.stone_porous.name=Пористый камень -tile.ore_random.name=Руда %s -tile.ore_bedrock.name=Бедроковая руда -tile.ore_sellafield_diamond.name=Селлафитовая алмазная руда -tile.ore_sellafield_emerald.name=Селлафитовая изумрудная руда -tile.ore_sellafield_schrabidium.name=Селлафитовая шрабидиевая руда -tile.ore_sellafield_uranium_scorched.name=Обожженная селлафитовая урановая руда -tile.ore_sellafield_radgem.name=Селлафитовый радиоактивный самоцвет - +item.med_bag.name=Аптечка первой помощи +item.med_ipecac.name=Сироп из рвотного корня +item.med_ptsd.name=Лечение ПТСР +item.med_schiziphrenia.name=Лекарство от шизофрении +item.medal_liquidator.name=Медаль Ликвидатора +item.meltdown_tool.name=Аппликатор мгновенного расплавления Дятлова +item.memespoon.name=§eЗемлекоп +item.memory.name=item.null.name +item.mese_gavel.name=Месе молоток +item.mese_axe.name=Месе топор +item.mese_pickaxe.name=Месе кирка +item.meteor_charm.name=Талисман от метеоритов +item.meteor_remote.name=Устройство для вызова метеоритов +item.meteorite_sword.name=Метеоритовый меч +item.meteorite_sword_seared.name=Метеоритовый меч (Опаленный) +item.meteorite_sword_reforged.name=Метеоритовый меч (Перекованный) +item.meteorite_sword_hardened.name=Метеоритовый меч (Закалённый) +item.meteorite_sword_alloyed.name=Метеоритовый меч (Легированный) +item.meteorite_sword_machined.name=Метеоритовый меч (Механически обработанный) +item.meteorite_sword_treated.name=Метеоритовый меч (Обработанный) +item.meteorite_sword_etched.name=Метеоритовый меч (Гравированный) +item.meteorite_sword_bred.name=Метеоритовый меч (Разведённый) +item.meteorite_sword_irradiated.name=Метеоритовый меч (Облучённый) +item.meteorite_sword_fused.name=Метеоритовый меч (Сплавленный) +item.meteorite_sword_baleful.name=Метеоритовый меч (Зловещий) +item.mike_cooling_unit.name=Блок охлаждения дейтерия +item.mike_core.name=Дейтериевый бак с урановым покрытием +item.mike_deut.name=Дейтериевый бак +item.mike_kit.name=Комплект Иви Майка +item.mirror_tool.name=Инструмент для регулировки зеркал +item.mirror_tool.linked=Позиция выравнивания установлена! +item.mirror_tool.desc=Щелкните правой кнопкой мыши по бойлеру, чтобы запомнить его положение.$Нажмите на зеркала, чтобы повернуть их в сторону бойлера +item.missile_anti_ballistic.name=Антибаллистическая ракета +item.missile_assembly.name=Сборка малой ракеты +item.missile_bhole.name=Ракета "Черная Дыра" +item.missile_burst.name=Запасная ракета +item.missile_buster.name=Противобункерная ракета +item.missile_buster_strong.name=Улучшенная противобункерная ракета +item.missile_carrier.name=Ракета-носитель HTR-01 +item.missile_cluster.name=Кластерная ракета +item.missile_cluster_strong.name=Мощная кластерная ракета +item.missile_custom.name=Пользовательская Ракета +item.missile_decoy.name=Ракета-приманка +item.missile_doomsday.name=Ракета Судного Дня +item.missile_doomsday_rusted.name=Повреждённая ракета Судного Дня +item.missile_drill.name=Крушитель бетона +item.missile_emp.name=ЭМИ-ракета +item.missile_emp_strong.name=Мощная ЭМИ-ракета +item.missile_endo.name=Эндотермическая ракета +item.missile_exo.name=Экзотермическая ракета +item.missile_generic.name=Фугасная ракета +item.missile_incendiary.name=Зажигательная ракета +item.missile_incendiary_strong.name=Мощная зажигательная ракета +item.missile_inferno.name=Ракета "Инферно Г. Р. Н. МК.II" +item.missile_kit.name=Ракетный набор +item.missile_micro.name=Микро-ядерная ракета +item.missile_nuclear.name=Ядерная ракета +item.missile_nuclear_cluster.name=Термоядерная ракета +item.missile_rain.name=Бомбовый дождь +item.missile_schrabidium.name=Шрабидиевая ракета +item.missile_shuttle.name=Космический шаттл Reliant Robin +item.missile_soyuz.name=Союз-ФГ +item.missile_soyuz_lander.name=Орбитальный Модуль +item.missile_soyuz_lander.desc=А также паршивый посадочный модуль! +item.missile_stealth.name=Стелс-ракета +item.missile_strong.name=Мощная фугасная ракета +item.missile_taint.name=Зараженная ракета +item.missile_volcano.name=Тектоническая ракета +item.missile_volcano.desc=Используя силу ядерной взрывчатки, мы можем вызвать вулкан! +item.mold_base.name=Пустая литейная форма +item.mold.name=Литейная форма +item.morning_glory.name=Фиалковый вьюнок +item.motor.name=Мотор +item.motor_bismuth.name=Висмутовый мотор +item.motor_desh.name=Деш-мотор +item.mp_c_1.name=Схема наведения ракеты 1-го уровня +item.mp_c_2.name=Схема наведения ракеты 2-го уровня +item.mp_c_3.name=Схема наведения ракеты 3-го уровня +item.mp_c_4.name=Схема наведения ракеты 4-го уровня +item.mp_c_5.name=Схема наведения ракеты 5-го уровня +item.mp_fuselage_10_15_balefire.name=Жар-фюзеляж 10/15 размера +item.mp_fuselage_10_15_hydrogen.name=Водородный фюзеляж 10/15 размера +item.mp_fuselage_10_15_kerosene.name=Керосиновый фюзеляж 10/15 размера +item.mp_fuselage_10_15_solid.name=Твердотопливный фюзеляж 10/15 размера +item.mp_fuselage_10_kerosene.name=Керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_kerosene_camo.name=Керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_kerosene_desert.name=Керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_kerosene_flames.name=Керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_kerosene_insulation.name=Керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_kerosene_metal.name=Керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_kerosene_sky.name=Керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_kerosene_sleek.name=Керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_kerosene_taint.name=Керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_long_kerosene.name=Длинный керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_long_kerosene_camo.name=Длинный керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_long_kerosene_dash.name=Длинный керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_long_kerosene_desert.name=Длинный керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_long_kerosene_flames.name=Длинный керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_long_kerosene_insulation.name=Длинный керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_long_kerosene_metal.name=Длинный керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_long_kerosene_sky.name=Длинный керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_long_kerosene_sleek.name=Длинный керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_long_kerosene_taint.name=Длинный керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_long_kerosene_vap.name=Длинный керосиновый фюзеляж 10-го размера +item.mp_fuselage_10_long_solid.name=Длинный твердотопливный фюзеляж 10-го размера +item.mp_fuselage_10_long_solid_bullet.name=Длинный твердотопливный фюзеляж 10-го размера +item.mp_fuselage_10_long_solid_flames.name=Длинный твердотопливный фюзеляж 10-го размера +item.mp_fuselage_10_long_solid_insulation.name=Длинный твердотопливный фюзеляж 10-го размера +item.mp_fuselage_10_long_solid_silvermoonlight.name=Длинный твердотопливный фюзеляж 10-го размера +item.mp_fuselage_10_long_solid_sleek.name=Длинный твердотопливный фюзеляж 10-го размера +item.mp_fuselage_10_long_solid_soviet_glory.name=Длинный твердотопливный фюзеляж 10-го размера +item.mp_fuselage_10_solid.name=Твердотопливный фюзеляж 10-го размера +item.mp_fuselage_10_solid_battery.name=Твердотопливный фюзеляж 10-го размера +item.mp_fuselage_10_solid_cathedral.name=Твердотопливный фюзеляж 10-го размера +item.mp_fuselage_10_solid_duracell.name=Твердотопливный фюзеляж 10-го размера +item.mp_fuselage_10_solid_flames.name=Твердотопливный фюзеляж 10-го размера +item.mp_fuselage_10_solid_insulation.name=Твердотопливный фюзеляж 10-го размера +item.mp_fuselage_10_solid_moonlit.name=Твердотопливный фюзеляж 10-го размера +item.mp_fuselage_10_solid_sleek.name=Твердотопливный фюзеляж 10-го размера +item.mp_fuselage_10_solid_soviet_glory.name=Твердотопливный фюзеляж 10-го размера +item.mp_fuselage_10_xenon.name=Ксеноновый фюзеляж 10-го размера +item.mp_fuselage_10_xenon_bhole.name=Ксеноновый фюзеляж 10-го размера +item.mp_fuselage_15_20_kerosene.name=Керосиновый фюзеляж 15/20 размера +item.mp_fuselage_15_20_kerosene_magnusson.name=Керосиновый фюзеляж 15/20 размера +item.mp_fuselage_15_20_solid.name=Твердотопливный фюзеляж 15/20 размера +item.mp_fuselage_15_balefire.name=Жар-фюзеляж 15-го размера +item.mp_fuselage_15_hydrogen.name=Водородный фюзеляж 15-го размера +item.mp_fuselage_15_hydrogen_cathedral.name=Водородный фюзеляж 15-го размера +item.mp_fuselage_15_kerosene.name=Керосиновый фюзеляж 15-го размера +item.mp_fuselage_15_kerosene_blackjack.name=Керосиновый фюзеляж 15-го размера +item.mp_fuselage_15_kerosene_camo.name=Керосиновый фюзеляж 15-го размера +item.mp_fuselage_15_kerosene_decorated.name=Керосиновый фюзеляж 15-го размера +item.mp_fuselage_15_kerosene_desert.name=Керосиновый фюзеляж 15-го размера +item.mp_fuselage_15_kerosene_insulation.name=Керосиновый фюзеляж 15-го размера +item.mp_fuselage_15_kerosene_lambda.name=Керосиновый фюзеляж 15-го размера +item.mp_fuselage_15_kerosene_metal.name=Керосиновый фюзеляж 15-го размера +item.mp_fuselage_15_kerosene_minuteman.name=Керосиновый фюзеляж 15-го размера +item.mp_fuselage_15_kerosene_pip.name=Керосиновый фюзеляж 15-го размера +item.mp_fuselage_15_kerosene_polite.name=Керосиновый фюзеляж 15-го размера +item.mp_fuselage_15_kerosene_sky.name=Керосиновый фюзеляж 15-го размера +item.mp_fuselage_15_kerosene_steampunk.name=Керосиновый фюзеляж 15-го размера +item.mp_fuselage_15_kerosene_taint.name=Керосиновый фюзеляж 15-го размера +item.mp_fuselage_15_kerosene_yuck.name=Керосиновый фюзеляж 15-го размера +item.mp_fuselage_15_solid.name=Твердотопливный фюзеляж 15-го размера +item.mp_fuselage_15_solid_desh.name=Твердотопливный фюзеляж 15-го размера +item.mp_fuselage_15_solid_faust.name=Твердотопливный фюзеляж 15-го размера +item.mp_fuselage_15_solid_insulation.name=Твердотопливный фюзеляж 15-го размера +item.mp_fuselage_15_solid_mimi.name=Твердотопливный фюзеляж Мими-чана 15-го размера +item.mp_fuselage_15_solid_panorama.name=Твердотопливный фюзеляж 15-го размера +item.mp_fuselage_15_solid_roses.name=Твердотопливный фюзеляж 15-го размера +item.mp_fuselage_15_solid_silvermoonlight.name=Твердотопливный фюзеляж 15-го размера +item.mp_fuselage_15_solid_snowy.name=Твердотопливный фюзеляж 15-го размера +item.mp_fuselage_15_solid_soviet_glory.name=Твердотопливный фюзеляж 15-го размера +item.mp_fuselage_15_solid_soviet_stank.name=Твердотопливный фюзеляж 15-го размера +item.mp_stability_10_cruise.name=Крылатый стабилизатор 10-го размера +item.mp_stability_10_flat.name=Плоские стабилизаторы 10-го размера +item.mp_stability_10_space.name=Космический стабилизатор 10-го размера +item.mp_stability_15_flat.name=Плоские стабилизаторы 15-го размера +item.mp_stability_15_soyuz.name=Заострённые стабилизаторы 15-го размера +item.mp_stability_15_thin.name=Тонкие стабилизаторы 15-го размера +item.mp_thruster_10_kerosene.name=Жидкостный ракетный двигатель 10-го размера +item.mp_thruster_10_solid.name=Твердотопливный ракетный двигатель 10-го размера +item.mp_thruster_10_xenon.name=Ионный двигатель 10-го размера +item.mp_thruster_15_balefire.name=Жар-двигатель с ядерным подогревателем 15-го размера +item.mp_thruster_15_balefire_large.name=Жар-вигатель с ядерным подогревателем 15-го размера (Сверхмощное Сопло) +item.mp_thruster_15_balefire_large_rad.name=Жар-двигатель с ядерным подогревателем 15-го размера (Сверхмощное Сопло) +item.mp_thruster_15_balefire_short.name=Жар-двигатель с ядерным подогревателем 15-го размера (Укороченный) +item.mp_thruster_15_hydrogen.name=Водородный двигатель 15-го размера +item.mp_thruster_15_hydrogen_dual.name=Спаренные водородные двигатели 15-го размера +item.mp_thruster_15_kerosene.name=Жидкостный ракетный двигатель 15-го размера +item.mp_thruster_15_kerosene_dual.name=Спаренные жидкостные ракетные двигатели 15-го размера +item.mp_thruster_15_kerosene_triple.name=Строенные жидкостные ракетные двигатели 15-го размера +item.mp_thruster_15_solid.name=Твердотопливный ракетный двигатель 15-го размера +item.mp_thruster_15_solid_hexdecuple.name=Шестнадцатисопловые твердотопливные двигатели 15-го размера +item.mp_thruster_20_kerosene.name=Жидкостный ракетный двигатель 20-го размера +item.mp_thruster_20_kerosene_dual.name=Спаренные жидкостные ракетные двигатели 20-го размера +item.mp_thruster_20_kerosene_triple.name=Строенные жидкостные ракетные двигатели 20-го размера +item.mp_thruster_20_solid.name=Твердотопливный ракетный двигатель 20-го размера +item.mp_thruster_20_solid_multi.name=Твердотопливные 30-сопловые двигатели 20-го размера +item.mp_thruster_20_solid_multier.name=Твердотопливные 47-сопловые двигатели 20-го размера +item.mp_warhead_10_buster.name=Бункерная боеголовка 10-го размера +item.mp_warhead_10_cloud.name=Боеголовка Розового Облака 10-го размера +item.mp_warhead_10_he.name=Фугасная боеголовка 10-го размера +item.mp_warhead_10_incendiary.name=Зажигательная боеголовка 10-го размера +item.mp_warhead_10_nuclear.name=Микро-Ядерная боеголовка 10-го размера +item.mp_warhead_10_nuclear_large.name=Ядерная боеголовка 10-го размера +item.mp_warhead_10_taint.name=Зараженная боеголовка 10-го размера +item.mp_warhead_15_balefire.name=Жар-Боеголовка 15-го размера +item.mp_warhead_15_boxcar.name=Грузовой Вагон? 15-го размера +item.mp_warhead_15_he.name=Фугасная боеголовка 15-го размера +item.mp_warhead_15_incendiary.name=Зажигательная боеголовка 15-го размера +item.mp_warhead_15_n2.name=N² Мина 15-го размера +item.mp_warhead_15_nuclear.name=Ядерная боеголовка 15-го размера +item.mp_warhead_15_nuclear_mimi.name=Голова Мими-чана 15-го размера +item.mp_warhead_15_nuclear_shark.name=Ядерная боеголовка 15-го размера +item.mp_warhead_15_turbine.name=Реактивный двигатель 15-го размера +item.mucho_mango.name=Напиток "AriZona Mucho Mango" +item.multi_kit.name=Комплект Многоцелевой бомбы +item.multitool_beam.name=Силовая перчатка (Заппер) +item.multitool_decon.name=Силовая Перчатка (Обеззараживатель) +item.multitool_dig.name=Силовая перчатка (Добывающий коготь) +item.multitool_ext.name=Силовая перчатка (Извлекатель руды) +item.multitool_hit.name=Силовая перчатка (Кулак) +item.multitool_joule.name=Силовая Перчатка (Гигаджоуль) +item.multitool_mega.name=Силовая Перчатка (Суперудар) +item.multitool_miner.name=Силовая перчатка (Добывающий лазер) +item.multitool_silk.name=Силовая перчатка (Коготь шёлкового касания) +item.multitool_sky.name=Силовая перчатка (Небесный разлом) +item.mysteryshovel.name=Непрочная лопата +item.n2_charge.name=Крупный взрывной заряд +item.neutrino_lens.name=Нейтринные линзы +item.neutron_reflector.name=Отражатель нейтронов +item.night_vision.name=Очки ночного зрения +item.night_vision.description.item=Даёт ночное зрение (нуждается в полном электрическом сете) +item.night_vision.description.in_armor=%s (даёт ночное зрение) +item.niter.name=Селитра +item.nitra.name=Нитра +item.nitra_small.name=Кучка нитры +item.no9.name=Шахтёрская каска +item.nossy_hat.name=Сказочная шляпа +item.nothing.name=Ничего +item.nuclear_waste.name=Ядерные отходы +item.nuclear_waste_pearl.name=Жемчужина из ядерных отходов +item.nuclear_waste_tiny.name=Маленькая кучка ядерных отходов +item.nuclear_waste_long.name=Долгоживущие ядерные отходы +item.nuclear_waste_long_tiny.name=Кучка долгоживущих ядерных отходов +item.nuclear_waste_long_depleted.name=Разложившиеся долгоживущие ядерные отходы +item.nuclear_waste_long_depleted_tiny.name=Кучка разложившихся долгоживущих ядерных отходов +item.nuclear_waste_short.name=Короткоживущие ядерные отходы +item.nuclear_waste_short_tiny.name=Кучка короткоживущих ядерных отходов +item.nuclear_waste_short_depleted.name=Разложившиеся короткоживущие ядерные отходы +item.nuclear_waste_short_depleted_tiny.name=Кучка разложившихся короткоживущих ядерных отходов +item.nuclear_waste_vitrified.name=Остеклованные ядерные отходы +item.nuclear_waste_vitrified_tiny.name=Кучка остеклованных ядерных отходов +item.nugget.name=Куриный наггетс +item.nugget_actinium.name=Самородок актиния-227 +item.nugget_am_mix.name=Самородок америция реакторного качества +item.nugget_am241.name=Самородок америция-241 +item.nugget_am242.name=Самородок америция-242 +item.nugget_americium_fuel.name=Самородок америциевого топлива +item.nugget_arsenic.name=Самородок мышьяка +item.nugget_au198.name=Самородок золота-198 +item.nugget_australium.name=Австралиевый самородок +item.nugget_australium_greater.name=Самородок высшего австралия +item.nugget_australium_lesser.name=Самородок низшего австралия +item.nugget_beryllium.name=Бериллиевый самородок +item.nugget_bismuth.name=Самородок висмута +item.nugget_co60.name=Самородок кобальта-60 +item.nugget_cobalt.name=Кобальтовый самородок +item.nugget_daffergon.name=Даффергоновый самородок +item.nugget_desh.name=Самородок деш +item.nugget_dineutronium.name=§5Динейтрониевый самородок§r +item.nugget_euphemium.name=Эвфемиевый самородок +item.nugget_euphemium.desc=Маленький кусочек розового металла.$Его свойства до сих пор неизвестны,$ОБРАЩАЙТЕСЬ С НИМ осторожно. +item.nugget_gh336.name=Самородок гиорсия-336 +item.nugget_gh336.desc=Коллега Сиборгиума. +item.nugget_hes.name=Высокообогащенный самородок шрабидиевого топлива +item.nugget_lead.name=Свинцовый самородок +item.nugget_les.name=Низкообогащенный самородок шрабидиевого топлива +item.nugget_mercury_tiny.name=Маленькая капля ртути +item.nugget_mercury.name=Капля ртути +item.nugget_mox_fuel.name=Самородок МОКС топлива +item.nugget_mox_fuel.desc=Мокси говорит: §lНЕУПЛАТА НАЛОГОВ.§r +item.nugget_neptunium.name=Нептуниевый самородок +item.nugget_neptunium_fuel.name=Самородок нептуниевого топлива +item.nugget_niobium.name=Самородок ниобия +item.nugget_osmiridium.name=Самородок осмиридия +item.nugget_pb209.name=Самородок свинца-209 +item.nugget_plutonium.name=Плутониевый самородок +item.nugget_plutonium_fuel.name=Самородок плутониевого топлива +item.nugget_polonium.name=Самородок полония-210 +item.nugget_pu_mix.name=Самородок плутония реакторного качества +item.nugget_pu238.name=Самородок плутония-238 +item.nugget_pu239.name=Самородок плутония-239 +item.nugget_pu240.name=Самородок плутония-240 +item.nugget_pu241.name=Самородок плутония-241 +item.nugget_ra226.name=Самородок радия-226 +item.nugget_reiium.name=Реиевый самородок +item.nugget_schrabidium.name=Шрабидиевый самородок +item.nugget_schrabidium_fuel.name=Самородок шрабидиевого топлива +item.nugget_silicon.name=Самородок кремния +item.nugget_solinium.name=Солиниевый самородок +item.nugget_sr90.name=Самородок стронция-90 +item.nugget_tantalium.name=Самородок тантала +item.nugget_tantalium.desc='Танталум' +item.nugget_tantalium.desc.P11=АКА Танталий. +item.nugget_technetium.name=Самородок технеция-99 +item.nugget_th232.name=Самородок тория-232 +item.nugget_thorium_fuel.name=Самородок ториевого топлива +item.nugget_u233.name=Самородок урана-233 +item.nugget_u235.name=Самородок урана-235 +item.nugget_u238.name=Самородок урана-238 +item.nugget_unobtainium.name=Недостатиевый самородок +item.nugget_uranium.name=Урановый самородок +item.nugget_uranium_fuel.name=Самородок уранового топлива +item.nugget_verticium.name=Вертициевый самородок +item.nugget_weidanium.name=Вейданиевый самородок +item.nugget_zirconium.name=Осколок циркония +item.nuke_advanced_kit.name=Расширенный набор ядерщика +item.nuke_commercially_kit.name=Набор ядерщика для продажи +item.nuke_electric_kit.name=Комплект инженера-электронщика +item.nuke_starter_kit.name=Стартовый набор ядерщика +item.oil_canola.name=Сырое рапсовое масло +item.oil_detector.name=Детектор нефтяного резервуара +item.oil_detector.desc1=Щелкните правой кнопкой мыши, чтобы просканировать на наличие нефти. +item.oil_detector.desc2=Детектор найдет только более крупные залежи. +item.oil_detector.bullseye=Нефтяной резервуар прямо снизу! +item.oil_detector.detected=Поблизости обнаружен резервуар нефти. +item.oil_detector.noOil=Нефти не обнаружено. +item.oil_tar.coal.name=Угольная смола +item.oil_tar.crude.name=Нефтяная смола +item.oil_tar.crack.name=Крекинговая нефтяная смола +item.oil_tar.paraffin.name=Парафин +item.oil_tar.wax.name=Хлорированный нефтяной воск +item.oil_tar.wood.name=Древесная смола item.ore.asbestos=Асбестовая item.ore.borax=Буровая item.ore.chlorocalcite=Хлоркальцитовая @@ -3420,735 +3811,366 @@ item.ore.titanium=Титановая item.ore.tungsten=Вольфрамовая item.ore.thorium232=Ториевая item.ore.uranium=Урановая -item.bedrock_ore_base.name=Необработанная бедроковая руда -item.bedrock_ore.grade.base.name=%s бедроковая руда -item.bedrock_ore.grade.base_roasted.name=Обожженная %s бедроковая руда -item.bedrock_ore.grade.base_washed.name=Промытая %s бедроковая руда -item.bedrock_ore.grade.primary.name=%s бедроковая руда, Первичная фракция -item.bedrock_ore.grade.primary_roasted.name=%s бедроковая руда, Обожженная первичная фракция -item.bedrock_ore.grade.primary_sulfuric.name=%s бедроковая руда, Серная первичная фракция -item.bedrock_ore.grade.primary_nosulfuric.name=%s бедроковая руда, Отделённая серная первичная фракция -item.bedrock_ore.grade.primary_solvent.name=%s бедроковая руда, Растворенная первичная фракция -item.bedrock_ore.grade.primary_nosolvent.name=%s бедроковая руда, Отделённая растворенная первичная фракция -item.bedrock_ore.grade.primary_rad.name=%s бедроковая руда, Очищенная первичная фракция -item.bedrock_ore.grade.primary_norad.name=%s бедроковая руда, Отделённая очищенная первичная фракция -item.bedrock_ore.grade.primary_first.name=%s бедроковая руда, Первичная фракция, Большой вес -item.bedrock_ore.grade.primary_second.name=%s бедроковая руда, Первичная фракция, Малый вес -item.bedrock_ore.grade.crumbs.name=%s куски бедроковой руды -item.bedrock_ore.grade.sulfuric_byproduct.name=%s бедроковая руда, Серная побочка -item.bedrock_ore.grade.sulfuric_roasted.name=%s бедроковая руда, Обожженная серная побочка -item.bedrock_ore.grade.sulfuric_arc.name=%s бедроковая руда, Переплавленная серная побочка -item.bedrock_ore.grade.sulfuric_washed.name=%s бедроковая руда, Промытая серная побочка -item.bedrock_ore.grade.solvent_byproduct.name=%s бедроковая руда, Растворенная побочка -item.bedrock_ore.grade.solvent_roasted.name=%s бедроковая руда, Обожженная растворенная побочка -item.bedrock_ore.grade.solvent_arc.name=%s бедроковая руда, Переплавленная растворенная побочка -item.bedrock_ore.grade.solvent_washed.name=%s бедроковая руда, Промытая растворенная побочка -item.bedrock_ore.grade.rad_byproduct.name=%s бедроковая руда, Очищенная побочка -item.bedrock_ore.grade.rad_roasted.name=%s бедроковая руда, Обожженная очищенная побочка -item.bedrock_ore.grade.rad_arc.name=%s бедроковая руда, Переплавленная очищенная побочка -item.bedrock_ore.grade.rad_washed.name=%s бедроковая руда, Промытая очищенная побочка -item.bedrock_ore.type.actinide.name=Актинидная -item.bedrock_ore.type.crystal.name=Кристаллическая -item.bedrock_ore.type.heavy.name=Тяжелая металлическая -item.bedrock_ore.type.light.name=Легкая металлическая -item.bedrock_ore.type.nonmetal.name=Неметаллическая -item.bedrock_ore.type.rare.name=Редкоземельная -item.bedrock_ore.trait.arc=§6Дуговая плавка -item.bedrock_ore.trait.centrifuged=§9Центрифугированный -item.bedrock_ore.trait.rad=§aОбработанный высокоэффективным растворителем -item.bedrock_ore.trait.roasted=§eОбжиг в коксовой печи -item.bedrock_ore.trait.solvent=§fОбработанный растворителем -item.bedrock_ore.trait.sulfuric=§6Обработанный серной кислотой -item.bedrock_ore.trait.washed=§bПромытый в окислителе водой -item.ore_bedrock.name=%s бедроковая руда -item.ore_centrifuged.name=Центрифугированная %s бедроковая руда -item.ore_cleaned.name=Очищенная %s бедроковая руда -item.ore_deepcleaned.name=Глубоко очищенная %s бедроковая руда +item.ore_bedrock.name=Бедроковая руда (%s) +item.ore_byproduct.b_aluminium.name=Алюминиевый побочный продукт +item.ore_byproduct.b_bismuth.name=Висмутовый побочный продукт +item.ore_byproduct.b_calcium.name=Кальциевый побочный продукт +item.ore_byproduct.b_copper.name=Медный побочный продукт +item.ore_byproduct.b_iron.name=Железный побочный продукт +item.ore_byproduct.b_lead.name=Свинцовый побочный продукт +item.ore_byproduct.b_lithium.name=Литиевый побочный продукт +item.ore_byproduct.b_polonium.name=Полониевый побочный продукт +item.ore_byproduct.b_radium.name=Радиевый побочный продукт +item.ore_byproduct.b_silicon.name=Кремниевый побочный продукт +item.ore_byproduct.b_sulfur.name=Серный побочный продукт +item.ore_byproduct.b_technetium.name=Технециевый побочный продукт +item.ore_byproduct.b_titanium.name=Титановый побочный продукт +item.ore_byproduct.b_uranium.name=Урановый побочный продукт +item.ore_centrifuged.name=Центрифугированная бедроковая руда (%s) +item.ore_cleaned.name=Очищенная бедроковая руда (%s) +item.ore_deepcleaned.name=Глубоко очищенная бедроковая руда (%s) +item.ore_density_scanner.name=Сканер плотности бедроковой руды +item.ore_density_scanner.excellent=Избыток +item.ore_density_scanner.high=Высокий +item.ore_density_scanner.low=Низкий +item.ore_density_scanner.moderate=Средний +item.ore_density_scanner.poor=Бедный +item.ore_density_scanner.veryhigh=Очень высокий +item.ore_density_scanner.verypoor=Очень бедный item.ore_enriched.name=Обогащённая %s бедроковая руда item.ore_nitrated.name=Азотированная %s бедроковая руда item.ore_nitrocrystalline.name=Нитрокристаллическая %s бедроковая руда +item.ore_purified.name=Промытая %s бедроковая руда item.ore_radcleaned.name=Рад-очищенная %s бедроковая руда item.ore_seared.name=Осушенная %s бедроковая руда -item.ore_purified.name=Промытая %s бедроковая руда item.ore_separated.name=Отделённая %s бедроковая руда -item.ore_byproduct.b_iron.name=Железный побочный продукт -item.ore_byproduct.b_copper.name=Медный побочный продукт -item.ore_byproduct.b_lithium.name=Литиевый побочный продукт -item.ore_byproduct.b_lead.name=Свинцовый побочный продукт -item.ore_byproduct.b_silicon.name=Кремниевый побочный продукт -item.ore_byproduct.b_calcium.name=Кальциевый побочный продукт -item.ore_byproduct.b_titanium.name=Титановый побочный продукт -item.ore_byproduct.b_aluminium.name=Алюминиевый побочный продукт -item.ore_byproduct.b_sulfur.name=Серный побочный продукт -item.ore_byproduct.b_bismuth.name=Висмутовый побочный продукт -item.ore_byproduct.b_polonium.name=Полониевый побочный продукт -item.ore_byproduct.b_radium.name=Радиевый побочный продукт -item.ore_byproduct.b_technetium.name=Технециевый побочный продукт -item.ore_byproduct.b_uranium.name=Урановый побочный продукт -item.ammonium_nitrate.name=Нитрат аммония - -tile.bobblehead.name=Болванчик -tile.snowglobe.name=Снежный шар -tile.deco_titanium.name=Титановый декоративный блок -tile.deco_red_copper.name=Красномедный декоративный блок -tile.deco_tungsten.name=Вольфрамовый декоративный блок -tile.deco_aluminium.name=Алюминиевый декоративный блок -tile.deco_steel.name=Стальной декоративный блок -tile.deco_lead.name=Свинцовый декоративный блок -tile.deco_beryllium.name=Бериллевый декоративный блок -tile.deco_pipe.name=Стальная труба -tile.deco_pipe_rusted.name=Ржавая стальная труба -tile.deco_pipe_green.name=Зелёная стальная труба -tile.deco_pipe_green_rusted.name=Ржавая зелёная стальная труба -tile.deco_pipe_red.name=Красная стальная труба -tile.deco_pipe_marked.name=Газовая труба -tile.deco_pipe_framed.name=Стальная труба (Каркасный) -tile.deco_pipe_framed_rusted.name=Ржавая стальная труба (Каркасный) -tile.deco_pipe_framed_green.name=Зелёная стальная труба (Каркасный) -tile.deco_pipe_framed_green_rusted.name=Ржавая зелёная стальная труба (Каркасный) -tile.deco_pipe_framed_red.name=Красная стальная труба (Каркасный) -tile.deco_pipe_framed_marked.name=Газовая труба (Каркасный) -tile.deco_pipe_quad.name=Стальные трубы -tile.deco_pipe_quad_rusted.name=Ржавые стальные трубы -tile.deco_pipe_quad_green.name=Зелёные стальные трубы -tile.deco_pipe_quad_green_rusted.name=Ржавые зелёные стальные трубы -tile.deco_pipe_quad_red.name=Красные стальные трубы -tile.deco_pipe_quad_marked.name=Газовые трубы -tile.deco_pipe_rim.name=Стальная труба (Обрамленная) -tile.deco_pipe_rim_rusted.name=Ржавая стальная труба (Обрамленная) -tile.deco_pipe_rim_green.name=Зелёная стальная труба (Обрамленная) -tile.deco_pipe_rim_green_rusted.name=Ржавая зелёная стальная труба (Обрамленная) -tile.deco_pipe_rim_red.name=Красная стальная труба (Обрамленная) -tile.deco_pipe_rim_marked.name=Газовая труба (Обрамленная) -tile.deco_asbestos.name=Асбестовая крыша -tile.block_cap_fritz.name=Блок крышек от Фрицз-Кола -tile.block_cap_korl.name=Блок крышек от Корл -tile.block_cap_nuka.name=Блок крышек от Ядер-колы -tile.block_cap_quantum.name=Блок крышек от Квантовой Ядер-колы -tile.block_cap_rad.name=Блок крышек от С~Колы РАД -tile.block_cap_sparkle.name=Блок крышек от С~Колы -tile.block_cap_star.name=Блок крышек со звездой от Сансет Сарсапарилла -tile.block_cap_sunset.name=Блок крышек от Сансет Сарсапарилла -tile.block_tritium.name=Блок тритиевых пробирок -tile.hazmat.name=Блок защитной ткани -tile.deco_emitter.name=Декоративный источник света -tile.part_emitter.name=Декоративный источник частиц -tile.piston_inserter.name=Вставщик -tile.piston_inserter.desc=Может принимать один предмет$Если подан сигнал редстоуна, то вставит предмет в просверленный графит$Все предметы в просверленном графите в цепочке будут сдвинуты на один блок$Требуется один блок воздуха между графитом -tile.plant_flower.foxglove.name=Наперстянка -tile.plant_flower.nightshade.name=Белладонна -tile.plant_flower.tobacco.name=Табак -tile.plant_flower.weed.name=Конопля -item.plant_item.rope.name=Верёвка -item.plant_item.tobacco.name=Табак -tile.plant_reeds.name=Камыши -item.powder_fertilizer.name=Промышленное удобрение -item.plant_item.mustardwillow.name=Лист горчичной ивы -tile.plant_flower.cd0.name=Горчичная ива -tile.plant_flower.cd1.name=Горчичная ива -tile.plant_tall.cd2.name=Горчичная ива -tile.plant_tall.cd3.name=Горчичная ива -tile.plant_tall.cd4.name=Горчичная ива (Выросла) -tile.plant_tall.weed.name=Конопля - -tile.stone_cracked.name=Треснутый камень -tile.reinforced_brick.name=Усиленный камень -tile.reinforced_glass.name=Усиленное стекло -tile.reinforced_glass_pane.name=Усиленная стеклянная панель -tile.reinforced_laminate.name=Усиленный ламинат -tile.reinforced_laminate_pane.name=Усиленная ламинатная панель -tile.reinforced_sand.name=Усиленный песчаник -tile.reinforced_light.name=Усиленный светящийся камень -tile.reinforced_lamp_off.name=Усиленная лампа -tile.reinforced_lamp_on.name=Усиленная лампа -tile.lamp_tritium_blue_off.name=Синяя тритиевая лампа -tile.lamp_tritium_blue_on.name=Синяя тритиевая лампа -tile.lamp_tritium_green_off.name=Зелёная тритиевая лампа -tile.lamp_tritium_green_on.name=Зелёная тритиевая лампа -tile.spotlight_incandescent.name=Лампа в клетке -tile.spotlight_fluoro.name=Флюоресцентная лампа -tile.spotlight_halogen.name=Галогенный прожектор -tile.lamp_demon.name=Лампа из заряда-демона -tile.reinforced_stone.name=Уплотненный камень -tile.concrete_smooth.name=Бетон -tile.concrete_colored.black.name=Черный бетон -tile.concrete_colored.blue.name=Синий бетон -tile.concrete_colored.brown.name=Коричневый бетон -tile.concrete_colored.cyan.name=Бирюзовый бетон -tile.concrete_colored.gray.name=Серый бетон -tile.concrete_colored.green.name=Зелёный бетон -tile.concrete_colored.lightBlue.name=Светло-синий бетон -tile.concrete_colored.lime.name=Лаймовый бетон -tile.concrete_colored.magenta.name=Пурпурный бетон -tile.concrete_colored.orange.name=Оранжевый бетон -tile.concrete_colored.pink.name=Розовый бетон -tile.concrete_colored.purple.name=Фиолетовый бетон -tile.concrete_colored.red.name=Красный бетон -tile.concrete_colored.silver.name=Светло-серый бетон -tile.concrete_colored.white.name=Белый бетон -tile.concrete_colored.yellow.name=Жёлтый бетон -tile.concrete_asbestos.name=Асбестобетон -tile.concrete.name=Бетонная плитка -tile.concrete_pillar.name=Арматурный железобетонный столб -tile.brick_concrete.name=Бетонные кирпичи -tile.brick_concrete_mossy.name=Замшелые бетонные кирпичи -tile.brick_concrete_cracked.name=Потресканные бетонные кирпичи -tile.brick_concrete_broken.name=Сломанные бетонные кирпичи -tile.brick_concrete_marked.name=Обозначенные бетонные кирпичи -tile.brick_dungeon.name=Берцелианит кирпичи -tile.brick_dungeon_circle.name=Берцелианитовый круг -tile.brick_dungeon_flat.name=Берцелианит -tile.brick_dungeon_tile.name=Берцелианитовая плитка -tile.brick_jungle.name=Энаргитовые кирпичи -tile.stone_keyhole.name=Странный камень -tile.brick_red.name=Кирпичи красной комнаты -tile.pedestal.name=Пьедестал -tile.brick_jungle_circle.name=Круг Механиста -tile.brick_jungle_cracked.name=Потресканные энаргитовые кирпичи -tile.brick_jungle_fragile.name=Хрупкие энаргитовые кирпичи -tile.brick_jungle_glyph.name=Энаргитовые кирпичи с глифами -tile.brick_jungle_lava.name=Магматические энаргитовые кирпичи -tile.brick_jungle_mystic.name=Магические энаргитовые кирпичи -tile.brick_jungle_ooze.name=Радиоактивные энаргитовые кирпичи -tile.brick_jungle_trap.name=Энаргитовые кирпичи-ловушка -tile.basalt.name=Базальт -tile.ore_basalt_asbestos.name=Богатый асбестом базальт -tile.ore_basalt_fluorite.name=Богатый флюоритом базальт -tile.ore_basalt_gem.name=Богатый самоцветами базальт -tile.ore_basalt_molysite.name=Богатый молизитом базальт -tile.ore_basalt_sulfur.name=Богатый серой базальт -tile.basalt_brick.name=Базальтовые кирпичи -tile.basalt_polished.name=Полированный базальт -tile.basalt_smooth.name=Гладкий базальт -tile.basalt_tiles.name=Базальтовая плитка -tile.brick_obsidian.name=Обсидиановые кирпичи -tile.brick_light.name=Легкие кирпичи -tile.depth_brick.name=Глубинные кирпичи -tile.depth_tiles.name=Глубинная плитка -tile.depth_dnt.name=ДНТ-усиленные глубинные кирпичи -tile.depth_nether_brick.name=Адские глубинные кирпичи -tile.depth_nether_tiles.name=Адская глубинная плитка -tile.gneiss_brick.name=Сланцевые кирпичи -tile.gneiss_chiseled.name=Высеченный сланец -tile.gneiss_tile.name=Сланцевая плитка -tile.brick_ducrete.name=Дюкретовые кирпичи -tile.ducrete.name=Дюкретовая плитка -tile.ducrete_smooth.name=Дюкрет -tile.ducrete_debris.name=Дюкретовые обломки -tile.reinforced_ducrete.name=Усиленный дюкрет -tile.asphalt.name=Асфальт -tile.asphalt_light.name=Асфальтированный светящийся камень -tile.asphalt_stairs.name=Ступеньки из асфальта -tile.concrete_slab.asphalt.name=Плита из асфальта -tile.stone_gneiss.name=Графитовый сланец -tile.stone_depth.name=Глубинный камень -tile.stone_depth_nether.name=Адский глубинный камень -tile.brick_compound.name=Сетка из соединения -tile.tile_lab.name=Лабораторная плитка -tile.tile_lab_broken.name=Разбитая лабораторная плитка -tile.tile_lab_cracked.name=Треснувшая лабораторная плитка -tile.vinyl_tile.large.name=Большая виниловая плитка -tile.vinyl_tile.small.name=Маленькие виниловые плитки -tile.spikes.name=Шипы -tile.stalactite.sulfur.name=Сернистый сталактит -tile.stalagmite.sulfur.name=Сернистый сталагмит -tile.stalactite.asbestos.name=Асбестовый сталактит -tile.stalagmite.asbestos.name=Асбестовый сталагмит -tile.stone_resource.asbestos.name=Хризотил -tile.stone_resource.sulfur.name=Сернистый камень -tile.stone_resource.hematite.name=Гематит -tile.stone_resource.bauxite.name=Боксит -tile.stone_resource.malachite.name=Малахит -tile.stone_resource.limestone.name=Известняк -tile.gas_asbestos.name=Частицы асбеста в воздухе -tile.gas_flammable.name=Горючий газ -tile.gas_monoxide.name=Угарный газ -tile.gas_radon.name=Радон -tile.gas_radon_dense.name=Плотный радон -tile.gas_radon_tomb.name=Могильный газ -tile.gas_meltdown.name=Газ из активной зоны -tile.gas_coal.name=Воздушная угольная пыль -tile.gas_explosive.name=Взрывоопасный газ -tile.cmb_brick.name=Плита из стали Альянса -tile.cmb_brick_reinforced.name=Усиленные кирпичи из стали Альянса -tile.ladder_aluminium.name=Алюминиевая лестница -tile.ladder_cobalt.name=Кобальтовая лестница -tile.ladder_copper.name=Медная лестница -tile.ladder_gold.name=Золотая лестница -tile.ladder_iron.name=Железная лестница -tile.ladder_lead.name=Свинцовая лестница -tile.ladder_steel.name=Стальная лестница -tile.ladder_sturdy.name=Прочная деревянная лестница -tile.ladder_titanium.name=Титановая лестница -tile.ladder_tungsten.name=Вольфрамовая лестница -tile.volcano_core.name=Вулканическое ядро -tile.volcano_rad_core.name=Радиоактивное вулканическое ядро -tile.concrete_super.name=Убер-бетон -tile.concrete_super_broken.name=Замшелые бетонные обломки - -tile.gravel_obsidian.name=Измельченный обсидиан -tile.gravel_diamond.name=Измельченные алмазы - -tile.barbed_wire.name=Колючая проволока -tile.barbed_wire_fire.name=Пылающая колючая проволока -tile.barbed_wire_poison.name=Отравленная колючая проволока -tile.barbed_wire_acid.name=Кислотная колючая проволока -tile.barbed_wire_wither.name=Иссушающая колючая проволока -tile.barbed_wire_ultradeath.name=Радиоактивная колючая проволока -tile.fence_metal.name=Проволочная сетка -tile.fence_metal_post.name=Столб проволочной сетки -tile.sand_uranium.name=Урановый песок -tile.glass_uranium.name=Урановое стекло -tile.glass_trinitite.name=Тринититовое стекло -tile.glass_boron.name=Борное стекло -tile.glass_lead.name=Свинцовое стекло -tile.glass_quartz.name=Кварцевое стекло -tile.moon_turf.name=Лунный грунт - -tile.seal_frame.name=Рама люка пусковой щахты -tile.seal_controller.name=Открыватель люка пусковой щахты -tile.seal_hatch.name=Люк пусковой шахты -tile.silo_hatch.name=Силосный люк -tile.silo_hatch_large.name=Большой силосный люк -tile.vault_door.name=Дверь убежища Vault-Tec -tile.blast_door.name=Раздвижные двери -tile.transition_seal.name=Транзитный люк -tile.fire_door.name=Пожарная дверь -item.door_metal.name=Металлическая дверь -item.door_office.name=Офисная дверь -item.door_bunker.name=Бункерная дверь -tile.door_metal.name=Металлическая дверь -tile.door_office.name=Офисная дверь -tile.door_bunker.name=Бункерная дверь -item.door_red.name=Красная дверь -tile.door_red.name=Красная дверь -tile.sliding_blast_door.name=Раздвижная дверь -item.sliding_blast_door_skin.0.name=Скин раздвижной двери: Обычный -item.sliding_blast_door_skin.1.name=Скин раздвижной двери: Вариант 1 -item.sliding_blast_door_skin.2.name=Скин раздвижной двери: Вариант 2 -tile.large_vehicle_door.name=Дверь для крупногабаритных автомобилей -tile.water_door.name=Подводная дверь -tile.qe_containment.name=QE Дверь биологического сдерживания -tile.qe_sliding_door.name=QE Раздвижная дверь -tile.round_airlock_door.name=Круглый шлюз -tile.secure_access_door.name=Дверь с изолированным доступом -tile.sliding_seal_door.name=Раздвижная герметичная дверь - -item.nugget_uranium.name=Урановый самородок -item.nugget_plutonium.name=Плутониевый самородок -item.nugget_neptunium.name=Нептуниевый самородок -item.nugget_neptunium_fuel.name=Самородок нептуниевого топлива -item.ingot_neptunium.name=Нептуниевый слиток -item.ingot_neptunium.desc=Вот этот мой любимый! -item.ingot_neptunium.desc.P11=УУУ, страшно! -item.ingot_ferrouranium.name=Ферроураниевый слиток -item.nugget_lead.name=Свинцовый самородок -item.ingot_lead.name=Свинцовый слиток -tile.block_lead.name=Свинцовый блок -tile.ore_lead.name=Свинцовая руда -item.powder_lead.name=Свинцовый порошок -item.powder_neptunium.name=Нептуниевый порошок -item.powder_schrabidium.name=Шрабидиевый порошок -item.powder_iron.name=Железный порошок -item.powder_gold.name=Золотой порошок -item.powder_aluminium.name=Алюминиевый порошок -item.powder_asbestos.name=Асбестовый порошок -item.powder_asbestos.desc=§o"ФФФФФФФФФФ- ММХХХХХХХХХХХХХ"§r -item.powder_beryllium.name=Бериллиевый порошок -item.powder_copper.name=Медный порошок -item.powder_titanium.name=Титановый порошок -item.powder_tungsten.name=Вольфрамовый порошок -item.powder_uranium.name=Урановый порошок -item.powder_plutonium.name=Плутониевый порошок -item.dust.name=Пыль -item.dust.desc=Ненавижу пыль! -item.dust.desc.P11=Ещё один падает в пыль! -item.dust_tiny.name=Кучка пыли -item.powder_chlorophyte.name=Хлорофитовый порошок -item.powder_coal.name=Угольный порошок -item.powder_lapis.name=Лазуритный порошок -item.powder_emerald.name=Изумрудный порошок -item.powder_diamond.name=Алмазный порошок -item.powder_red_copper.name=Красномедный порошок -item.powder_steel.name=Стальной порошок -item.powder_tcalloy.name=Порошок технециевой стали -item.powder_magnetized_tungsten.name=Измельченный намагниченный вольфрам -item.powder_combine_steel.name=Измельченная сталь Альянса -item.powder_lithium.name=Литиевый порошок -item.powder_advanced_alloy.name=Порошок продвинутого сплава -item.powder_quartz.name=Кварцевый порошок -item.powder_power.name=Энерго-порошок -item.powder_semtex_mix.name=Смесь семтекса -item.powder_iodine.name=Порошок иода -item.powder_thorium.name=Ториевый порошок -item.powder_neodymium.name=Неодимовый порошок -item.powder_astatine.name=Астатовый порошок -item.powder_caesium.name=Цезиевый порошок -item.powder_balefire.name=Термоядерный пепел -item.powder_australium.name=Австралиевый порошок -item.powder_weidanium.name=Вейдановый порошок -item.powder_reiium.name=Реиевый порошок -item.powder_unobtainium.name=Недостатиевый порошок -item.powder_daffergon.name=Даффергоновый порошок -item.powder_verticium.name=Вертициевый порошок -item.powder_strontium.name=Стронциевый порошок -item.powder_cobalt.name=Кобальтовый порошок -item.powder_bromine.name=Порошок брома -item.powder_niobium.name=Ниобиевый порошок -item.powder_tennessine.name=Теннессиновый порошок -item.powder_cerium.name=Цериевый порошок -item.powder_dura_steel.name=Измельченная высокоскоростная сталь -item.powder_polonium.name=Порошок полония-210 -item.powder_polymer.name=Полимерный порошок -item.powder_bakelite.name=Бакелитовый порошок -item.powder_lanthanium.name=Лантановый порошок -item.powder_actinium.name=Актиниевый порошок -item.powder_coal_tiny.name=Кучка угольного порошка -item.powder_lithium_tiny.name=Кучка литиевого порошка -item.powder_cobalt_tiny.name=Кучка кобальтового порошка -item.powder_neodymium_tiny.name=Кучка неодимового порошка -item.powder_niobium_tiny.name=Кучка ниобиевого порошка -item.powder_cerium_tiny.name=Кучка цериевого порошка -item.powder_lanthanium_tiny.name=Кучка лантанового порошка -item.powder_actinium_tiny.name=Кучка актиниевого порошка -item.powder_euphemium.name=Эвфемиевый порошок -item.powder_euphemium.desc=Измельченный розовый.$На вкус как клубника. -item.powder_meteorite.name=Метеоритный порошок -item.powder_meteorite_tiny.name=Кучка метеоритного порошка -item.powder_yellowcake.name=Йеллоукейк -item.powder_magic.name=Измельченное зачарование -item.redstone_depleted.name=Обесцвеченная красная пыль -item.powder_steel_tiny.name=Кучка стального порошка -item.fallout.name=Куча радиоактивных осадков -item.powder_zirconium.name=Циркониевый порошок -item.powder_boron.name=Борный порошок -item.powder_borax.name=Бура -item.powder_chlorocalcite.name=Хлоркальцит -item.powder_molysite.name=Молизит -item.powder_boron_tiny.name=Кучка борного порошка -item.powder_at209.name=Порошок астата-209 -item.powder_au198.name=Порошок золота-198 -item.powder_co60.name=Порошок кобальта-60 -item.powder_cs137.name=Порошок цезия-137 -item.powder_i131.name=Порошок иода-131 -item.powder_i131_tiny.name=Кучка порошка иода-131 -item.powder_xe135.name=Порошок ксенона-135 -item.powder_xe135_tiny.name=Кучка порошка ксенона-135 -item.powder_cs137_tiny.name=Кучка порошка цезия-137 -item.powder_coltan.name=Очищенный танталит -item.powder_coltan_ore.name=Измельченный Колтан -item.powder_tantalium.name=Порошок тантала -item.powder_tantalium.desc='Танталум' -item.powder_tantalium.desc.P11=АКА Танталий. -item.powder_impure_osmiridium.name=Порошок загрязнённого осмиридия -item.powder_paleogenite.name=Порошок палеогенита -item.powder_paleogenite_tiny.name=Кучка палеогенитового порошка -item.powder_tektite.name=Порошок тектита -item.powder_ra226.name=Порошок радия-226 -item.powder_sr90.name=Порошок стронция-90 -item.powder_sr90_tiny.name=Кучка порошка стронция-90 -item.powder_sawdust.name=Древесные опилки -item.powder_flux.name=Флюс -item.powder_sodium.name=Натрий - -item.fragment_neodymium.name=Неодимовый осколок -item.fragment_cobalt.name=Кобальтовый осколок -item.fragment_niobium.name=Ниобиевый осколок -item.fragment_cerium.name=Цериевый осколок -item.fragment_lanthanium.name=Лантановый осколок -item.fragment_actinium.name=Актиниевый-227 осколок -item.fragment_boron.name=Борный осколок -item.fragment_meteorite.name=Метеоритный осколок -item.fragment_coltan.name=Колтан - -item.battery_generic.name=Аккумулятор -item.battery_advanced.name=Продвинутый аккумулятор -item.battery_lithium.name=Литий-ионный аккумулятор -item.battery_schrabidium.name=Шрабидиевая батарея -item.battery_spark.name=Спарк-батарея -item.battery_creative.name=Бесконечная батарейка -item.battery_su.name=Одноразовая батарейка -item.battery_su_l.name=Большая одноразовая батарейка -item.battery_trixite.name=Безымянная спарк-батарея -item.battery_steam.name=Паровой бак для хранения энергии -item.battery_steam_large.name=Большой паровой бак для хранения энергии -item.battery_potato.name=Картофельная батарейка -item.battery_potatos.name=КартошкОС -item.battery_red_cell.name=Энергоячейка из красной пыли -item.battery_advanced_cell.name=Усовершенствованная энергоячейка -item.battery_lithium_cell.name=Литий-ионная энергоячейка -item.battery_schrabidium_cell.name=Шрабидиевая энергоячейка -item.battery_red_cell_6.name=Сшестёренная энергоячейка из красной пыли -item.battery_advanced_cell_4.name=Счетверённая усовершенствованная энергоячейка -item.battery_lithium_cell_3.name=Строенная литий-ионная энергоячейка -item.battery_schrabidium_cell_2.name=Сдвоенная шрабидиевая энергоячейка -item.battery_red_cell_24.name=Двадцатичетырёхкратный массив из краснопыльных энергоячеек -item.battery_advanced_cell_12.name=Двенадцатикратный массив из усовершенствованных энергоячеек -item.battery_lithium_cell_6.name=Сшестерённая литий-ионная энергоячейка -item.battery_schrabidium_cell_4.name=Счетверённая шрабидиевая энергоячейка -item.battery_spark_cell_6.name=Спарк-энергоячейка -item.battery_spark_cell_25.name=Спарк-Магический аккумулятор -item.battery_spark_cell_100.name=Спарк-Магический массив хранения энергии -item.battery_spark_cell_1000.name=Спарк-Магическая масс-энергетическая пустота -item.battery_spark_cell_2500.name=Спарк-Магическое море Дирака -item.battery_spark_cell_10000.name=Устойчивый пространственно-временной спарк-кристалл -item.battery_spark_cell_power.name=Абсурдный физический спарк-блок накопления энергии -item.battery_sc_americium.name=Самозаряжающаяся батарея с америцием-241 -item.battery_sc_gold.name=Самозаряжающаяся батарея с золотом-198 -item.battery_sc_plutonium.name=Самозаряжающаяся батарея с плутонием-238 -item.battery_sc_polonium.name=Самозаряжающаяся батарея с полонием-210 -item.battery_sc_technetium.name=Самозаряжающаяся батарея с технецием-98 -item.battery_sc_uranium.name=Самозаряжающаяся батарея с ураном-238 -item.battery_sc_lead.name=Самозаряжающаяся батарея со свинцом-209 - -item.upgrade_template.name=Шаблон улучшения механизма -item.upgrade_speed_1.name=Улучшение механизма "Скорость" уровня I -item.upgrade_speed_2.name=Улучшение механизма "Скорость" уровня II -item.upgrade_speed_3.name=Улучшение механизма "Скорость" уровня III -item.upgrade_effect_1.name=Улучшение механизма "Эффективность" уровня I -item.upgrade_effect_2.name=Улучшение механизма "Эффективность" уровня II -item.upgrade_effect_3.name=Улучшение механизма "Эффективность" уровня III -item.upgrade_power_1.name=Улучшение механизма "Энергосбережение" уровня I -item.upgrade_power_2.name=Улучшение механизма "Энергосбережение" уровня II -item.upgrade_power_3.name=Улучшение механизма "Энергосбережение" уровня III -item.upgrade_fortune_1.name=Улучшение механизма "Удача" уровня I -item.upgrade_fortune_2.name=Улучшение механизма "Удача" уровня II -item.upgrade_fortune_3.name=Улучшение механизма "Удача" уровня III -item.upgrade_afterburn_1.name=Улучшение механизма "Форсаж" уровня I -item.upgrade_afterburn_2.name=Улучшение механизма "Форсаж" уровня II -item.upgrade_afterburn_3.name=Улучшение механизма "Форсаж" уровня III -item.upgrade_overdrive_1.name=Улучшение механизма "Перегруз" уровня I -item.upgrade_overdrive_2.name=Улучшение механизма "Перегруз" уровня II -item.upgrade_overdrive_3.name=Улучшение механизма "Перегруз" уровня III -item.upgrade_radius.name=Улучшение радиуса излучателя -item.upgrade_health.name=Улучшение прочности излучателя -item.upgrade_smelter.name=Улучшение "Плавильня" -item.upgrade_shredder.name=Улучшение "Измельчитель" -item.upgrade_centrifuge.name=Улучшение "Центрифуга" -item.upgrade_crystallizer.name=Улучшение "Кристаллизатор" -item.upgrade_nullifier.name=Улучшение "Уничтожитель мусора" -item.upgrade_muffler.name=Улучшение "Глушитель" -item.upgrade_screm.name=Улучшение "Кричащий учёный" -item.upgrade_gc_speed.name=Улучшение "Разгон газовой центрифуги" -item.upgrade_5g.name=Улучшение "5G излучение" -item.upgrade_ejector_1.name=Улучшение извлекателя "Скорость" I уровня -item.upgrade_ejector_2.name=Улучшение извлекателя "Скорость" II уровня -item.upgrade_ejector_3.name=Улучшение извлекателя "Скорость" III уровня -item.upgrade_stack_1.name=Улучшение извлекателя "Количество стака" I уровня -item.upgrade_stack_2.name=Улучшение извлекателя "Количество стака" II уровня -item.upgrade_stack_3.name=Улучшение извлекателя "Количество стака" III уровня - -item.fusion_core.name=Ядерный блок -item.energy_core.name=Импровизированный энергоблок -item.fusion_core_infinite.name=Бесконечный ядерный блок -item.fusion_shield_chlorophyte.name=Хлорофитовый защитный слой термоядерного реактора -item.fusion_shield_desh.name=Деш-Защитный слой термоядерного реактора -item.fusion_shield_tungsten.name=Вольфрамовый защитный слой термоядерного реактора -item.fusion_shield_vaporwave.name=Вапорвейвный защитный слой термоядерного реактора - -item.dynosphere_base.name=Шаблон Диносферы -item.dynosphere_desh.name=Диносфера из деш -item.dynosphere_desh_charged.name=Диносфера из деш (Заряженная) -item.dynosphere_schrabidium.name=Шрабидиевая диносфера -item.dynosphere_schrabidium_charged.name=Шрабидиевая диносфера (Заряженная) -item.dynosphere_euphemium.name=Эвфемиевая диносфера -item.dynosphere_euphemium_charged.name=Эвфемиевая диносфера (Заряженная) -item.dynosphere_dineutronium.name=Динейтрониевая диносфера -item.dynosphere_dineutronium_charged.name=Динейтрониевая диносфера (Заряженная) - -item.plate_iron.name=Железная пластина -item.plate_lead.name=Свинцовая пластина -item.coil_copper.name=Медная катушка -item.coil_copper_torus.name=Кольцевая катушка -item.wire_tungsten.name=Вольфрамовый провод -item.coil_tungsten.name=Нагревательный элемент -item.tank_steel.name=Стальной бак -tile.barrel_tcalloy.name=Бочка из технециевой стали -item.motor.name=Мотор -item.motor_desh.name=Деш-мотор -item.motor_bismuth.name=Висмутовый мотор -item.centrifuge_element.name=Элемент центрифуги -item.centrifuge_tower.name=Башня центрифуги -item.reactor_core.name=Активная зона реактора-размножителя +item.overfuse.name=Сингулярная отвёртка +item.overfuse.desc=Что +item.oxy_mask.name=Кислородная маска +item.pa_coil.bscco.name=Большая катушка из BSCCO +item.pa_coil.chlorophyte.name=Большая хлорофитовая катушка +item.pa_coil.gold.name=Большая золотая катушка +item.pa_coil.niobium.name=Большая ниобий-титановая катушка +item.paa_boots.name="Старые добрые ботинки" из PaA +item.paa_legs.name=Укреплённые поножи из PaA +item.paa_plate.name=Защищающая грудная пластина из PaA +item.padlock.name=Замок +item.padlock_reinforced.name=Защищенный замок +item.padlock_rusty.name=Ржавый замок +item.padlock_unbreakable.name=Несокрушимый замок +item.pads_rubber.name=Резиновые прокладки +item.pads_slime.name=Слаймовые прокладки +item.pads_static.name=Статиковые прокладки +item.page_of_.page1.name=Страница 1 +item.page_of_.page2.name=Страница 2 +item.page_of_.page3.name=Страница 3 +item.page_of_.page4.name=Страница 4 +item.page_of_.page5.name=Страница 5 +item.page_of_.page6.name=Страница 6 +item.page_of_.page7.name=Страница 7 +item.page_of_.page8.name=Страница 8 +item.pancake.name=Блинчики с металлоломом, гвоздями и самоцветной пылью +item.part_barrel_heavy.name=Тяжёлый ствол (%s) +item.part_barrel_light.name=Лёгкий ствол (%s) +item.part_beryllium.name=Коробка бериллиевой пыли +item.part_carbon.name=Коробка угольной пыли +item.part_copper.name=Коробка медной пыли +item.part_generic.hde.name=Элемент повышенной прочности +item.part_generic.lde.name=Элемент малой плотности +item.part_generic.piston_electric.name=Электрический поршень +item.part_generic.piston_hydraulic.name=Гидравлический поршень +item.part_generic.piston_pneumatic.name=Пневматический поршень +item.part_grip.name=Рукоятка (%s) +item.part_lithium.name=Коробка литиевой пыли +item.part_mechanism.name=Оружейный механизм (%s) +item.part_plutonium.name=Коробка плутониевой пыли +item.part_receiver_heavy.name=Тяжёлый ресивер (%s) +item.part_receiver_light.name=Лёгкий ресивер(%s) +item.part_stock.name=Приклад (%s) +item.particle_aelectron.name=Капсула с Позитроном +item.particle_amat.name=Капсула с Антиматерией +item.particle_aproton.name=Капсула с Антипротоном +item.particle_aschrab.name=Капсула с Антишрабидием +item.particle_copper.name=Капсула с ионами меди +item.particle_dark.name=Капсула с Тёмной материей +item.particle_digamma.name=§cЧастица Дигамма§r +item.particle_empty.name=Пустая капсула +item.particle_higgs.name=Капсула с Бозоном Хиггса +item.particle_hydrogen.name=Капсула с ионами водорода +item.particle_lead.name=Капсула с ионами свинца +item.particle_lutece.name=Квазичастица Лютеция +item.particle_muon.name=Капсула с Мюоном +item.particle_sparkticle.name=Капсула со Спарктиклом +item.particle_strange.name=Капсула со Странным кварком +item.particle_tachyon.name=Капсула с тахионом +item.parts_legendary.name=Легендарные запчасти +item.peas.name=Горошек +item.pedestal_steel.name=Стальная стойка +item.pellet_advanced.name=Улучшитель производительности Ватцз +item.pellet_antimatter.name=Кластер антиматерии +item.pellet_beryllium.name=Бериллиевая замедлительная-пеллета +item.pellet_buckshot.name=Свинцовые гранулы +item.pellet_canister.name=Картечь +item.pellet_charged.name=Ионизированные частицы +item.pellet_chlorophyte.name=Хлорофитные гранулы +item.pellet_claws.name=Острые металлические когти +item.pellet_cluster.name=Взрывчатые гранулы +item.pellet_cluster.desc=Используется в многоцелевых бомбах:$Добавляет больше бабахов! +item.pellet_coal.name=Плотный угольный брикет +item.pellet_coolant.name=Охлаждающий кластер +item.pellet_flechette.name=Флешетты +item.pellet_gas.name=Ядовитый газовый баллон +item.pellet_gas.desc=Используется в многоцелевых бомбах:$*кхе-кхе* Астанавитесь пжлст! +item.pellet_hes.name=Высокообогащенная шрабидиевая Ватцз-пеллета +item.pellet_lead.name=Свинцовая пеллета +item.pellet_les.name=Низкообогащенная шрабидиевая Ватцз-пеллета +item.pellet_mercury.name=Ртутные гранулы +item.pellet_mes.name=Среднеобогащенная шрабидиевая Ватцз-пеллета +item.pellet_meteorite.name=Метеоритные гранулы +item.pellet_neptunium.name=Нептуниевая Ватцз-пеллета item.pellet_rtg.name=РИТЭГ-пеллета из плутония-238 item.pellet_rtg.desc=РИТЭГ-пеллета для бесконечной энергии! (почти) -item.pellet_rtg_radium.name=РИТЭГ-пеллета из радия-226 -item.pellet_rtg_radium.desc=Отличная стартовая пеллета, полученная из натурального радия! -item.pellet_rtg_weak.name=Слабая урановая РИТЭГ-топливная пеллета -item.pellet_rtg_weak.desc=Более дешевая и слабая пеллета, теперь с большим количеством U238! -item.pellet_rtg_polonium.name=РИТЭГ-пеллета из полония-210 -item.pellet_rtg_polonium.desc=Мощная РИТЭГ-пеллета, изготовленная из лучшего полония! -item.pellet_rtg_gold.name=РИТЭГ-пеллета из золота-198 -item.pellet_rtg_gold.desc=Изготовлена из редкого, очень нестабильного изотопа золота. -item.pellet_rtg_strontium.name=РИТЭГ-пеллета из стронция-90 -item.pellet_rtg_strontium.desc=Известен штату Калифорния... -item.pellet_rtg_americium.name=РИТЭГ-пеллета из америция-241 -item.pellet_rtg_americium.desc=Редкий и надежный, старый добрый Америций! -item.pellet_rtg_lead.name=РИТЭГ-пеллета из свинца-209 -item.pellet_rtg_lead.desc=Излучение приведет к неминуемой смерти. -item.pellet_rtg_cobalt.name=РИТЭГ-пеллета из кобальта-60 -item.pellet_rtg_cobalt.desc=Не лучший для РИТЭГ энергии, но хорош для гамма-радиации! item.pellet_rtg_actinium.name=РИТЭГ-пеллета из актиния-227 item.pellet_rtg_actinium.desc=Сияние голубого света и бета-лучей. +item.pellet_rtg_americium.name=РИТЭГ-пеллета из америция-241 +item.pellet_rtg_americium.desc=Редкий и надежный, старый добрый Америций! +item.pellet_rtg_berkelium.name=РИТЭГ-пеллета из берклия-248 +item.pellet_rtg_berkelium.desc= +item.pellet_rtg_cobalt.name=РИТЭГ-пеллета из кобальта-60 +item.pellet_rtg_cobalt.desc=Не лучший для РИТЭГ энергии, но хорош для гамма-радиации! item.pellet_rtg_depleted.bismuth.name=Распавшаяся РИТЭГ-пеллета висмута item.pellet_rtg_depleted.lead.name=Распавшаяся РИТЭГ-пеллета свинца item.pellet_rtg_depleted.neptunium.name=Распавшаяся РИТЭГ-пеллета нептуния item.pellet_rtg_depleted.mercury.name=Распавшаяся РИТЭГ-пеллета ртути -item.pellet_rtg_depleted.zirconium.name=Распавшаяся РИТЭГ-пеллета циркония item.pellet_rtg_depleted.nickel.name=Распавшаяся РИТЭГ-пеллета никеля -item.rtg_unit.name=РИТЭГ-элемент -item.hazmat_cloth.name=Защитная ткань -item.hazmat_cloth_red.name=Дополнительная защитная ткань -item.hazmat_cloth_grey.name=Освинцованная защитная ткань -item.asbestos_cloth.name=Огнеупорная ткань -item.filter_coal.name=Фильтр с активированным углём -item.gas_mask_filter_combo.name=Комбинированный фильтр для противогаза -item.gas_mask_filter_piss.name=Самодельный продвинутый фильтр для противогаза -item.gas_mask_filter_rag.name=Самодельный фильтр для противогаза -item.tritium_deuterium_cake.name=Тритий-дейтериевый пирог -item.tritium_deuterium_cake.desc=Не настоящий пирог, но зато отличное$универсальное термоядерное топливо! -item.telepad.name=Телепад -item.entanglement_kit.name=Комплект для квантового запутывания -item.entanglement_kit.desc=Предмет для создания телепорта.$Позволяет смещать измерения с помощью сканера ресурсов, улучшенного бериллием. -item.toothpicks.name=Зубочистки -item.ducttape.name=Скотч -item.magnet_dee.name=Ди-магниты -item.magnet_circular.name=Плоский магнит -item.cyclotron_tower.name=Башня циклотрона +item.pellet_rtg_depleted.zirconium.name=Распавшаяся РИТЭГ-пеллета циркония +item.pellet_rtg_lead.name=РИТЭГ-пеллета из свинца-209 +item.pellet_rtg_lead.desc=Излучение приведет к неминуемой смерти. +item.pellet_rtg_gold.name=РИТЭГ-пеллета из золота-198 +item.pellet_rtg_gold.desc=Изготовлена из редкого, очень нестабильного изотопа золота. +item.pellet_rtg_polonium.name=РИТЭГ-пеллета из полония-210 +item.pellet_rtg_polonium.desc=Мощная РИТЭГ-пеллета, изготовленная из лучшего полония! +item.pellet_rtg_strontium.name=РИТЭГ-пеллета из стронция-90 +item.pellet_rtg_strontium.desc=Известен штату Калифорния... +item.pellet_rtg_radium.name=РИТЭГ-пеллета из радия-226 +item.pellet_rtg_radium.desc=Отличная стартовая пеллета, полученная из натурального радия! +item.pellet_rtg_weak.name=Слабая урановая РИТЭГ-топливная пеллета +item.pellet_rtg_weak.desc=Более дешевая и слабая пеллета, теперь с большим количеством U238! +item.pellet_schrabidium.name=Чистая шрабидиевая Ватцз-пеллета +item.photo_panel.name=Фотоэлектрическая панель +item.pile_rod_boron.name=Контрольный стержень "Чикагской поленницы" +item.pile_rod_boron.desc=§9[Поглотитель нейтронов]$§eПКМ, чтобы переключить +item.pile_rod_detector.name=Регулирующий и детектирующий стержень "Чикагской поленницы" +item.pile_rod_detector.desc=§9[Детектор/поглотитель нейтронов]$§eПКМ дефьюзером чтобы увеличить/уменьшить лимит нейтронов$§eПКМ отвёрткой без шифта чтобы проверить поток +item.pile_rod_lithium.name=Литиевая ячейка "Чикагской поленницы" +item.pile_rod_lithium.desc=§a[Топливо-размножитель]$§eПКМ ручной дрелью чтобы проверить ядро ячейки +item.pile_rod_plutonium.name=Плутониевый стержень "Чикагской поленницы" +item.pile_rod_plutonium.desc=§d[Источник нейтронов] +item.pile_rod_pu239.name=Урановый стержень-размножитель "Чикагской поленницы" +item.pile_rod_pu239.desc=§a[Активное топливо]$§eбогатое плутонием-239. +item.pile_rod_source.name=Радий-226-Бериллевый источник нейтронов "Чикагской поленницы" +item.pile_rod_source.desc=§d[Источник нейтронов] +item.pile_rod_uranium.name=Урановый стержень "Чикагской поленницы" +item.pile_rod_uranium.desc=§a[Активное топливо]$§eПКМ ручной дрелью чтобы взять образец ядра стержня +item.pill_iodine.name=Таблетка иода +item.pill_iodine.desc=Убирает негативные эффекты +item.pill_herbal.name=Травяная паста +item.pill_herbal.desc=Эффективное средство против болезни лёгких $и небольшого радиационного отравления.$Имеет побочные эффекты. +item.pill_red.name=Красная таблетка +item.pin.name=Отмычка +item.pin.desc="*Немодифицированный* вероятность успешного взлома обычного замка составляет ~10%. +item.pipentm.name=Труба (%s) +item.pipes_steel.name=Стальные трубы +item.pipes_steel.desc=Раскрафт был исключен из-за уклонения от уплаты налогов +item.piston_selenium.name=Поршень двигателя внутреннего сгорания +item.piston_set_desh.name=Набор деш-поршней +item.piston_set_dura.name=Набор поршней из высокоскоростной стали +item.piston_set_starmetal.name=Набор поршней из звёздного металла +item.piston_set_steel.name=Набор стальных поршней +item.plan_c.name=План С +item.plan_c.desc=Смертельно. +item.plant_item.mustardwillow.name=Лист горчичной ивы +item.plant_item.rope.name=Верёвка +item.plant_item.tobacco.name=Табак +item.plastic_bag.name=Пластиковый пакетик +item.plate_advanced_alloy.name=Пластина продвинутого сплава +item.plate_aluminium.name=Алюминиевая пластина +item.plate_armor_ajr.name=Кованая железная обшивка брони +item.plate_armor_dnt.name=Обшивка ДНТ-брони +item.plate_armor_fau.name=Обшивка брони Фау +item.plate_armor_hev.name=Реактивная обшивка брони +item.plate_armor_lunar.name=Лунная обшивка +item.plate_armor_titanium.name=Титановая обшивка брони +item.plate_bismuth.name=Составная пластина из висмута +item.plate_bismuth.desc=Ребята, клянусь, это алхимический символ висмута. +item.plate_cast.name=Литая пластина (%s) +item.plate_combine_steel.name=Пластина стали Альянса +item.plate_copper.name=Медная пластина item.plate_dalekanium.name=Злой металл -item.biomass.name=Биомасса -item.biomass_compressed.name=Сжатая биомасса -item.component_limiter.name=Компонент стабилизатора -item.component_emitter.name=Компонент излучателя -item.catalyst_clay.name=Глинистый катализатор -item.cell_empty.name=Пустая пробирка -item.cell_uf6.name=Пробирка с гексафторидом урана -item.cell_puf6.name=Пробирка с гексафторидом плутония -item.cell_antimatter.name=Пробирка с антиматерией -item.cell_deuterium.name=Пробирка с дейтерием -item.cell_tritium.name=Пробирка с тритием -item.cell_sas3.name=Пробирка с трисульфидом шрабидия -item.cell_anti_schrabidium.name=Пробирка с антишрабидием -item.cell_balefire.name=Пробирка с газообразным жар-пламенем -item.singularity.name=Сингулярность -item.singularity_micro.name=Микро-сингулярность -item.singularity_counter_resonant.name=Заключённая контр-резонансная сингулярность -item.singularity_super_heated.name=Перегретая резонирующая сингулярность -item.singularity_spark.name=Спарк-сингулярность -item.black_hole.name=Миниатюрная чёрная дыра -item.crystal_xen.name=Искусственный кристалл Зена -item.pellet_antimatter.name=Кластер антиматерии -item.inf_water.name=Бесконечный резервуар воды -item.inf_water_mk2.name=Усиленный бесконечный резервуар воды -item.oil_canola.name=Сырое рапсовое масло -item.pellet_coal.name=Плотный угольный брикет -item.oil_tar.crude.name=Нефтяная смола -item.oil_tar.crack.name=Крекинговая нефтяная смола -item.oil_tar.coal.name=Угольная смола -item.oil_tar.wood.name=Древесная смола -item.oil_tar.wax.name=Хлорированный нефтяной воск -item.oil_tar.paraffin.name=Парафин - -item.canister_empty.name=Пустая канистра -item.canister_smear.name=Канистра с промышленным маслом (LEGACY) -item.canister_canola.name=Машинная смазка (LEGACY) -item.canister_oil.name=Канистра с неочищенной нефтью (LEGACY) -item.canister_fuel.name=Канистра с дизелем (LEGACY) -item.canister_fuel.desc=Да здравствует носик! -item.canister_kerosene.name=Канистра с керосином (LEGACY) -item.canister_reoil.name=Канистра с восстановленным промышленным маслом (LEGACY) -item.canister_petroil.name=Канистра с бензином (LEGACY) -item.canister_napalm.name=Напалм Б -item.canister_NITAN.name=100-октановое сверхтопливо NITAN© (LEGACY) -item.canister_heavyoil.name=Канистра с тяжелой нефтью (LEGACY) -item.canister_bitumen.name=Канистра с битумом (LEGACY) -item.canister_heatingoil.name=Канистра с мазутом (LEGACY) -item.canister_naphtha.name=Канистра нафты (LEGACY) -item.canister_lightoil.name=Канистра с лёгкой нефтью (LEGACY) -item.canister_biofuel.name=Канистра с биотопливом (LEGACY) -item.canister_gasoline.name=Канистра с этилированным бензином (LEGACY) -item.canister_fracksol.name=Канистра с жидкостью для гидроразрыва пласта (LEGACY) -item.canister_ethanol.name=Канистра с этанолом (LEGACY) -item.canister_full.name=Канистра: -item.canister_gasoline.desc=свинец - это друг$впусти друга в свой кровоток$*достаёт пистолет* живо. -item.gas_empty.name=Пустой газовый баллон -item.gas_full.name=Газовый баллон: -item.gas_petroleum.name=Баллон с попутным газом -item.gas_lpg.name=Баллон с СПГ -item.gas_biogas.name=Баллон с биогазом -item.fluid_tank_empty.name=Пустой универсальный резервуар для жидкости -item.fluid_tank_full.name=Универсальный резервуар для жидкости: -item.fluid_barrel_empty.name=Пустая бочка для жидкости -item.fluid_barrel_full.name=Жидкостная бочка: -item.fluid_tank_lead_empty.name=Пустой резервуар для опасных материалов -item.fluid_tank_lead_full.name=Резервуар с опасными материалами: -item.fluid_barrel_infinite.name=Бесконечная жидкостная бочка -item.siphon.name=Сифон -desc.item.pileRod=§eПКМ по просверленному графиту для вставки$§eПКМ отвёрткой чтобы извлечь$ -desc.item.pipette.corrosive=Может работать с коррозийными жидкостями. -desc.item.pipette.laboratory=Теперь с 50-кратной точностью! -desc.item.pipette.noCorrosive=§eНе может работать с коррозийными жидкостями. -desc.item.pipette.noEmpty=§eПипетка не пуста! +item.plate_desh.name=Составная пластина из деш +item.plate_dineutronium.name=Составная пластина из динейтрония +item.plate_dura_steel.name=Пластина высокоскоростной стали +item.plate_euphemium.name=Составная пластина из эвфемия +item.plate_fuel_mox.name=МОКС-топливная пластина +item.plate_fuel_pu238be.name=Плутоний-238-Бериллевая топливная пластина +item.plate_fuel_pu239.name=Высокообогащенная плутониевая-239 топливная пластина +item.plate_fuel_ra226be.name=Радий-226-Бериллевая топливная пластина +item.plate_fuel_sa326.name=Высокообогащенная шрабидий-326 топливная пластина +item.plate_fuel_u233.name=Высокообогащенная уран-233 топливная пластина +item.plate_fuel_u235.name=Высокообогащенная уран-235 топливная пластина +item.plate_gold.name=Золотая пластина +item.plate_gunmetal.name=Пластина пушечной бронзы +item.plate_iron.name=Железная пластина +item.plate_kevlar.name=Кевларо-керамический состав +item.plate_lead.name=Свинцовая пластина +item.plate_mixed.name=Смешанная пластина +item.plate_paa.name=Пластина сплава PaA +item.plate_polymer.name=Изолятор +item.plate_saturnite.name=Сатурнитовая пластина +item.plate_schrabidium.name=Шрабидиевая пластина +item.plate_steel.name=Стальная пластина +item.plate_titanium.name=Титановая пластина +item.plate_weaponsteel.name=Пластина оружейной стали +item.plate_welded.name=Сваренная пластина (%s) +item.polaroid.name=Полароид +item.pollution_detector.name=Детектор загрязнения +item.powder_actinium.name=Актиниевый порошок +item.powder_actinium_tiny.name=Кучка актиниевого порошка +item.powder_advanced_alloy.name=Порошок продвинутого сплава +item.powder_aluminium.name=Алюминиевый порошок +item.powder_asbestos.name=Асбестовый порошок +item.powder_asbestos.desc=§o"ФФФФФФФФФФ- ММХХХХХХХХХХХХХ"§r +item.powder_ash.coal.name=Угольная зола +item.powder_ash.fly.name=Летучая зола +item.powder_ash.fullerene.name=Фуллерен +item.powder_ash.misc.name=Пепел +item.powder_ash.soot.name=Мелкая сажа +item.powder_ash.wood.name=Древесная зола +item.powder_astatine.name=Астатовый порошок +item.powder_at209.name=Порошок астата-209 +item.powder_au198.name=Порошок золота-198 +item.powder_australium.name=Австралиевый порошок +item.powder_bakelite.name=Бакелитовый порошок +item.powder_balefire.name=Термоядерный пепел +item.powder_beryllium.name=Бериллиевый порошок +item.powder_bismuth.name=Висмутовый порошок +item.powder_borax.name=Бура +item.powder_boron.name=Борный порошок +item.powder_boron_tiny.name=Кучка борного порошка +item.powder_bromine.name=Порошок брома +item.powder_cadmium.name=Порошок кадмия +item.powder_caesium.name=Цезиевый порошок +item.powder_calcium.name=Кальциевый порошок +item.powder_cement.name=Цемент +item.powder_cerium.name=Цериевый порошок +item.powder_cerium_tiny.name=Кучка цериевого порошка +item.powder_chlorocalcite.name=Хлоркальцит +item.powder_chlorophyte.name=Хлорофитовый порошок +item.powder_cloud.name=Облачный осадок +item.powder_co60.name=Порошок кобальта-60 +item.powder_coal.name=Угольный порошок +item.powder_coal_tiny.name=Кучка угольного порошка +item.powder_cobalt.name=Кобальтовый порошок +item.powder_cobalt_tiny.name=Кучка кобальтового порошка +item.powder_coltan.name=Очищенный танталит +item.powder_coltan_ore.name=Измельченный Колтан +item.powder_combine_steel.name=Измельченная сталь Альянса +item.powder_copper.name=Медный порошок +item.powder_cs137.name=Порошок цезия-137 +item.powder_cs137_tiny.name=Кучка порошка цезия-137 +item.powder_daffergon.name=Даффергоновый порошок +item.powder_desh.name=Порошок деш +item.powder_desh_mix.name=Смесь деш +item.powder_desh_ready.name=ГотоваяДеш™ смесь +item.powder_diamond.name=Алмазный порошок +item.powder_dineutronium.name=Динейтрониевый порошок +item.powder_dura_steel.name=Измельченная высокоскоростная сталь +item.powder_emerald.name=Изумрудный порошок +item.powder_euphemium.name=Эвфемиевый порошок +item.powder_euphemium.desc=Измельченный розовый.$На вкус как клубника. +item.powder_fertilizer.name=Промышленное удобрение +item.powder_fire.name=Красный фосфор +item.powder_fire.desc=Используется в многоцелевых бомбах:$Зажигательные бомбы - это весело! +item.powder_flux.name=Флюс +item.powder_gold.name=Золотой порошок +item.powder_i131.name=Порошок иода-131 +item.powder_i131_tiny.name=Кучка порошка иода-131 +item.powder_ice.name=Крио-порошок +item.powder_impure_osmiridium.name=Порошок загрязнённого осмиридия +item.powder_iodine.name=Порошок иода +item.powder_iron.name=Железный порошок +item.powder_lanthanium.name=Лантановый порошок +item.powder_lanthanium_tiny.name=Кучка лантанового порошка +item.powder_lapis.name=Лазуритный порошок +item.powder_lead.name=Свинцовый порошок +item.powder_lignite.name=Порошок бурого угля +item.powder_limestone.name=Известняковый порошок +item.powder_lithium.name=Литиевый порошок +item.powder_lithium_tiny.name=Кучка литиевого порошка +item.powder_magic.name=Измельченное зачарование +item.powder_magnetized_tungsten.name=Измельченный намагниченный вольфрам +item.powder_meteorite.name=Метеоритный порошок +item.powder_meteorite_tiny.name=Кучка метеоритного порошка +item.powder_molysite.name=Молизит +item.powder_neodymium.name=Неодимовый порошок +item.powder_neodymium_tiny.name=Кучка неодимового порошка +item.powder_neptunium.name=Нептуниевый порошок +item.powder_niobium.name=Ниобиевый порошок +item.powder_niobium_tiny.name=Кучка ниобиевого порошка +item.powder_nitan_mix.name=Нитановая смесь +item.powder_paleogenite.name=Порошок палеогенита +item.powder_paleogenite_tiny.name=Кучка палеогенитового порошка +item.powder_plutonium.name=Плутониевый порошок +item.powder_poison.name=Ядовитый порошок +item.powder_poison.desc=Используется в многоцелевых бомбах:$Внимание: Ядовито! +item.powder_polonium.name=Порошок полония-210 +item.powder_polymer.name=Полимерный порошок +item.powder_power.name=Энерго-порошок +item.powder_quartz.name=Кварцевый порошок +item.powder_ra226.name=Порошок радия-226 +item.powder_red_copper.name=Красномедный порошок +item.powder_reiium.name=Реиевый порошок +item.powder_sawdust.name=Древесные опилки +item.powder_schrabidate.name=Порошок шрабидата железа +item.powder_schrabidium.name=Шрабидиевый порошок +item.powder_semtex_mix.name=Смесь семтекса +item.powder_sodium.name=Натрий +item.powder_spark_mix.name=Спарк-смесь +item.powder_sr90.name=Порошок стронция-90 +item.powder_sr90_tiny.name=Кучка порошка стронция-90 +item.powder_steel.name=Стальной порошок +item.powder_steel_tiny.name=Кучка стального порошка +item.powder_strontium.name=Стронциевый порошок +item.powder_tantalium.name=Порошок тантала +item.powder_tantalium.desc='Танталум' +item.powder_tantalium.desc.P11=АКА Танталий. +item.powder_tcalloy.name=Порошок технециевой стали +item.powder_tektite.name=Порошок тектита +item.powder_tennessine.name=Теннессиновый порошок +item.powder_thermite.name=Термит +item.powder_thorium.name=Ториевый порошок +item.powder_titanium.name=Титановый порошок +item.powder_tungsten.name=Вольфрамовый порошок +item.powder_unobtainium.name=Недостатиевый порошок +item.powder_uranium.name=Урановый порошок +item.powder_verticium.name=Вертициевый порошок +item.powder_weidanium.name=Вейдановый порошок +item.powder_xe135.name=Порошок ксенона-135 +item.powder_xe135_tiny.name=Кучка порошка ксенона-135 +item.powder_yellowcake.name=Йеллоукейк +item.powder_zirconium.name=Циркониевый порошок +item.power_net_tool.name=Анализатор энергосети item.pipette.name=Пипетка item.pipette_boron.name=Борная пипетка item.pipette_laboratory.name=Лабораторная пипетка - -item.rod_of_discord.name=Жезл раздора -item.rod_empty.name=Пустой стержень -item.rod.lithium.name=Литиевый стержень -item.rod.tritium.name=Тритиевый стержень -item.rod.co.name=Кобальтовый стержень -item.rod.co60.name=Стержень с кобальтом-60 -item.rod.th232.name=Стержень с торием-232 -item.rod.thf.name=Стержень с ториевым топливом -item.rod.u235.name=Стержень с ураном-235 -item.rod.np237.name=Стержень с нептунием-237 -item.rod.u238.name=Стержень с ураном-238 -item.rod.pu238.name=Стержень с плутонием-238 -item.rod.pu239.name=Стержень с плутонием-239 -item.rod.ra226.name=Стержень с радием-226 -item.rod.ac227.name=Стержень с актинием-227 -item.rod.rgp.name=Стержень с плутонием реакторного качества -item.rod.waste.name=Стержень с ядерными отходами -item.rod.lead.name=Свинцовый стержень -item.rod.uranium.name=Урановый стержень -item.rod_dual_empty.name=Пустой сдвоенный стержень -item.rod_dual.lithium.name=Сдвоенный литиевый стержень -item.rod_dual.tritium.name=Сдвоенный тритиевый стержень -item.rod_dual.co.name=Сдвоенный кобальтовый стержень -item.rod_dual.co60.name=Сдвоенный стержень с кобальтом-60 -item.rod_dual.th232.name=Сдвоенный стержень с торием-232 -item.rod_dual.thf.name=Сдвоенный стержень с ториевым топливом -item.rod_dual.u235.name=Сдвоенный стержень с ураном-235 -item.rod_dual.np237.name=Сдвоенный стержень с нептунием-237 -item.rod_dual.u238.name=Сдвоенный стержень с ураном-238 -item.rod_dual.pu238.name=Сдвоенный стержень с плутонием-238 -item.rod_dual.pu239.name=Сдвоенный стержень с плутонием-239 -item.rod_dual.ra226.name=Сдвоенный стержень с радием-226 -item.rod_dual.ac227.name=Сдвоенный стержень с актинием-227 -item.rod_dual.rgp.name=Сдвоенный стержень с плутонием реакторного качества -item.rod_dual.waste.name=Сдвоенный стержень с ядерными отходами -item.rod_dual.lead.name=Сдвоенный свинцовый стержень -item.rod_dual.uranium.name=Сдвоенный урановый стержень -item.rod_quad_empty.name=Пустой счетверённый стержень -item.rod_quad.lithium.name=Счетверённый литиевый стержень -item.rod_quad.tritium.name=Счетверённый тритиевый стержень -item.rod_quad.co.name=Счетверённый кобальтовый стержень -item.rod_quad.co60.name=Счетверённый стержень с кобальтом-60 -item.rod_quad.th232.name=Счетверённый стержень с торием-232 -item.rod_quad.thf.name=Счетверённый стержень с ториевым топливом -item.rod_quad.u235.name=Счетверённый стержень с ураном-235 -item.rod_quad.np237.name=Счетверённый стержень с нептунием-237 -item.rod_quad.u238.name=Счетверённый стержень с ураном-238 -item.rod_quad.pu238.name=Счетверённый стержень с плутонием-238 -item.rod_quad.pu239.name=Счетверённый стержень с плутонием-239 -item.rod_quad.ra226.name=Счетверённый стержень с радием-226 -item.rod_quad.ac227.name=Счетверённый стержень с актинием-227 -item.rod_quad.rgp.name=Счетверённый стержень с плутонием реакторного качества -item.rod_quad.waste.name=Счетверённый стержень с ядерными отходами -item.rod_quad.lead.name=Счетверённый свинцовый стержень -item.rod_quad.uranium.name=Счетверённый урановый стержень - +item.primer_357.name=Капсюли Магнума .357 (x24) +item.primer_44.name=Капсюли Магнума .44 (x24) +item.primer_50.name=Крупнокалиберные Капсюли (x12) +item.primer_9.name=Малокалиберные Капсюли (x32) +item.primer_buckshot.name=Картечные Капсюли (x12) +item.protection_charm.name=Талисман защиты +item.prototype_kit.name=Комплект Прототипа +item.pudding.name=Пудинг item.pwr_fuel.bfb_am_mix.name=Стержень ВВЭР ЦБР с реакторным америцием item.pwr_fuel.bfb_pu241.name=Стержень ВВЭР ЦБР с плутонием-241 item.pwr_fuel.hea242.name=Топливный стержень ВВЭР с высокообогащенным америцием-242 @@ -4194,75 +4216,68 @@ item.pwr_fuel_hot.men.name=Горячий стержень ВВЭР со сре item.pwr_fuel_hot.mep.name=Горячий стержень ВВЭР со среднеобогащенным плутонием item.pwr_fuel_hot.meu.name=Горячий стержень ВВЭР со среднеобогащенным ураном item.pwr_fuel_hot.mox.name=Горячий стержень ВВЭР с МОКС-топливом - -item.billet_mox_fuel.name=Заготовка МОКС-топлива -item.billet_mox_fuel.desc=Карманный Мокси! -item.billet_neptunium.name=Заготовка нептуния -item.billet_polonium.name=Заготовка полония-210 -item.billet_pu_mix.name=Заготовка плутония реакторного качества -item.billet_pu238.name=Заготовка плутония-238 -item.billet_pu239.name=Заготовка плутония-239 -item.billet_pu240.name=Заготовка плутония-240 -item.billet_pu241.name=Заготовка плутония-241 -item.billet_plutonium.name=Заготовка плутония -item.billet_plutonium_fuel.name=Заготовка плутониевого топлива -item.billet_schrabidium.name=Заготовка шрабидия -item.billet_schrabidium_fuel.name=Заготовка шрабидиевого топлива -item.billet_solinium.name=Заготовка солиния -item.billet_th232.name=Заготовка тория-232 -item.billet_thorium_fuel.name=Заготовка ториевого топлива -item.billet_u233.name=Заготовка урана-233 -item.billet_u235.name=Заготовка урана-235 -item.billet_u238.name=Заготовка урана-238 -item.billet_uranium.name=Заготовка урана -item.billet_uranium_fuel.name=Заготовка уранового топлива -item.billet_yharonite.name=Заготовка яронита -item.billet_au198.name=Заготовка золота-198 -item.billet_australium.name=Заготовка австралия -item.billet_co60.name=Заготовка кобальта-60 -item.billet_cobalt.name=Заготовка кобальта -item.billet_sr90.name=Заготовка стронция-90 -item.billet_australium_greater.name=Заготовка высшего австралия -item.billet_australium_lesser.name=Заготовка низшего австралия -item.billet_neptunium_fuel.name=Заготовка нептуниевого топлива -item.billet_po210be.name=Заготовка Полоний-210-Бериллия -item.billet_pu238be.name=Заготовка Плутоний-210-Бериллия -item.billet_ra226be.name=Заготовка Радий-226-Бериллия -item.billet_balefire_gold.name=Заготовка флэшголда -item.billet_flashlead.name=Заготовка флэшлида -item.billet_flashlead.desc=Решетка распадается, вызывая реакции аннигиляции антивещества и материи, вызывая высвобождение$пионов, распадающихся на мюоны, катализирующих слияние$ядер, создавая новый элемент.$Пожалуйста, постарайся не отставать. -item.billet_gh336.name=Заготовка гиорсия-336 -item.billet_gh336.desc=Коллега Сиборгиума. -item.billet_technetium.name=Заготовка технеция-99 -item.billet_am_mix.name=Заготовка америция реакторного качества -item.billet_am241.name=Заготовка америция-241 -item.billet_am242.name=Заготовка америция-242 -item.billet_americium_fuel.name=Заготовка америциевого топлива -item.billet_hes.name=Заготовка высокообогащенного шрабидиевого топлива -item.billet_les.name=Заготовка низкообогащенного шрабидиевого топлива -item.billet_beryllium.name=Заготовка бериллия -item.billet_bismuth.name=Заготовка висмута -item.billet_zfb_am_mix.name=Заготовка ЦТС америция реакторного качества -item.billet_zfb_bismuth.name=Заготовка ЦТС висмута -item.billet_zfb_pu241.name=Заготовка ЦТС плутония-241 -item.billet_zirconium.name=Заготовка циркония -item.billet_nuclear_waste.name=Заготовка ядерных отходов -item.billet_ra226.name=Заготовка радия-226 -item.billet_pb209.name=Заготовка свинца-209 -item.billet_actinium.name=Заготовка актиния-227 -item.billet_silicon.name=Кремниевая пластина -item.ingot_silicon.name=Кремниевый брусок -item.nugget_silicon.name=Самородок кремния - +item.quartz_plutonium.name=Плутонический кварц +item.radar_linker.name=Радарный соединитель +item.radaway.name=Антирадин +item.radaway_flush.name=Супер-антирадин +item.radaway_strong.name=Усиленный антирадин +item.radx.name=Рад-X +item.radx.desc=Increases radiation resistance by 0.2 (37%) for 3 minutes +item.rag.name=Тряпка +item.rag_damp.name=Влажная тряпка +item.rag_piss.name=Пропитанная мочой тряпка +item.rbmk_fuel_balefire.name=Жар-топливный стержень РБМК +item.rbmk_fuel_balefire_gold.name=Флэшголд-топливный стержень РБМК +item.rbmk_fuel_drx.name=§cДигамма топливный стержень РБМК§r +item.rbmk_fuel_empty.name=Пустой топливный стержень РБМК +item.rbmk_fuel_flashlead.name=Флэшлид-топливный стержень РБМК +item.rbmk_fuel_hea241.name=Высокообогащенный америциевый-241 топливный стержень РБМК +item.rbmk_fuel_hea242.name=Высокообогащенный америциевый-242 топливный стержень РБМК +item.rbmk_fuel_heaus.name=Высокообогащенный австралиевый топливный стержень РБМК +item.rbmk_fuel_hen.name=Высокообогащенный нептуниевый топливный стержень РБМК +item.rbmk_fuel_hes.name=Высокообогащенный шрабидиевый топливный стержень РБМК +item.rbmk_fuel_hep.name=Высокообогащенный плутониевый-239 топливный стержень РБМК +item.rbmk_fuel_hep241.name=Высокообогащенный плутониевый-241 топливный стержень РБМК +item.rbmk_fuel_heu233.name=Высокообогащенный урановый-233 топливный стержень РБМК +item.rbmk_fuel_heu235.name=Высокообогащенный урановый-235 топливный стержень РБМК +item.rbmk_fuel_lea.name=Низкообогащенный америциевый топливный стержень РБМК +item.rbmk_fuel_leaus.name=Низкообогащенный австралиевый топливный стержень РБМК +item.rbmk_fuel_lep.name=Низкообогащенный плутониевый-239 топливный стержень РБМК +item.rbmk_fuel_les.name=Низкообогащенный шрабидиевый топливный стержень РБМК +item.rbmk_fuel_mea.name=Среднеобогащенный америциевый топливный стержень РБМК +item.rbmk_fuel_men.name=Среднеобогащенный нептуниевый топливный стержень РБМК +item.rbmk_fuel_mep.name=Среднеобогащенный плутониевый-239 топливный стержень РБМК +item.rbmk_fuel_mes.name=Среднеобогащенный шрабидиевый топливный стержень РБМК +item.rbmk_fuel_meu.name=Среднеобогащенный урановый топливный стержень РБМК +item.rbmk_fuel_mox.name=МОКС-топливный стержень РБМК +item.rbmk_fuel_po210be.name=Полоний-210-Бериллевый источник нейтронов РБМК +item.rbmk_fuel_pu238be.name=Плутоний-238-Бериллевый источник нейтронов РБМК +item.rbmk_fuel_ra226be.name=Радий-226-Бериллевый источник нейтронов РБМК +item.rbmk_fuel_thmeu.name=Ториево-урановый среднеобогащённый топливный стержень РБМК +item.rbmk_fuel_ueu.name=Необогащенный урановый топливный стержень РБМК +item.rbmk_fuel_zfb_am_mix.name=Америций реакторного качества ЦТС стержень РБМК +item.rbmk_fuel_zfb_bismuth.name=Висмутовый ЦТС стержень РБМК +item.rbmk_fuel_zfb_pu241.name=Плутоний-241 ЦТС стержень РБМК +item.rbmk_lid.name=Покрывающая панель РБМК +item.rbmk_lid_glass.name=Стеклянная покрывающая панель РБМК item.rbmk_pellet_balefire.name=Жар-топливная пеллета item.rbmk_pellet_balefire_gold.name=Флэшголд-топливная пеллета -item.rbmk_pellet_flashlead.name=Флэшлид-топливная пеллета item.rbmk_pellet_drx.name=§cДигамма топливная пеллета§r +item.rbmk_pellet_flashlead.name=Флэшлид-топливная пеллета +item.rbmk_pellet_hea241.name=Высокообогащенная америциевая-241 топливная пеллета +item.rbmk_pellet_hea242.name=Высокообогащенная америциевая-242 топливная пеллета item.rbmk_pellet_heaus.name=Высокообогащенная австралиевая топливная пеллета +item.rbmk_pellet_hen.name=Высокообогащенная нептуниевая топливная пеллета +item.rbmk_pellet_hep239.name=Высокообогащенная плутониевая-239 топливная пеллета +item.rbmk_pellet_hep241.name=Высокообогащенная плутониевая-241 топливная пеллета +item.rbmk_pellet_heu233.name=Высокообогащенная урановая-233 топливная пеллета +item.rbmk_pellet_heu235.name=Высокообогащенная урановая-235 топливная пеллета item.rbmk_pellet_hes.name=Высокообогащенная шрабидиевая топливная пеллета +item.rbmk_pellet_lea.name=Низкообогащенная америциевая топливная пеллета item.rbmk_pellet_leaus.name=Низкообогащенная австралиевая топливная пеллета item.rbmk_pellet_lep.name=Низкообогащенная плутониевая топливная пеллета item.rbmk_pellet_les.name=Низкообогащенная шрабидиевая топливная пеллета +item.rbmk_pellet_mea.name=Среднеобогащенная америциевая топливная пеллета item.rbmk_pellet_men.name=Среднеобогащенная нептуниевая топливная пеллета item.rbmk_pellet_mep.name=Среднеобогащенная плутониевая топливная пеллета item.rbmk_pellet_mes.name=Среднеобогащенная шрабидиевая топливная пеллета @@ -4273,252 +4288,188 @@ item.rbmk_pellet_pu238be.name=Плутоний-238-Бериллиевая пел item.rbmk_pellet_ra226be.name=Радий-226-Бериллевая пеллета item.rbmk_pellet_thmeu.name=Торий-урановая топливная пеллета item.rbmk_pellet_ueu.name=Необогащенная урановая топливная пеллета -item.rbmk_pellet_hen.name=Высокообогащенная нептуниевая топливная пеллета -item.rbmk_pellet_hea241.name=Высокообогащенная америциевая-241 топливная пеллета -item.rbmk_pellet_hea242.name=Высокообогащенная америциевая-242 топливная пеллета -item.rbmk_pellet_hep239.name=Высокообогащенная плутониевая-239 топливная пеллета -item.rbmk_pellet_hep241.name=Высокообогащенная плутониевая-241 топливная пеллета -item.rbmk_pellet_heu233.name=Высокообогащенная урановая-233 топливная пеллета -item.rbmk_pellet_heu235.name=Высокообогащенная урановая-235 топливная пеллета -item.rbmk_pellet_lea.name=Низкообогащенная америциевая топливная пеллета -item.rbmk_pellet_mea.name=Среднеобогащенная америциевая топливная пеллета item.rbmk_pellet_zfb_am_mix.name=ЦТС пеллета америция реакторного качества item.rbmk_pellet_zfb_bismuth.name=Висмутовая ЦТС пеллета item.rbmk_pellet_zfb_pu241.name=Плутоний-241 ЦТС пеллета - -item.icf_pellet.name=Топливная пеллета ICF -item.icf_pellet_depleted.name=Обедненная топливная пеллета ICF -item.icf_pellet_empty.name=Пустая топливная пеллета ICF - -item.rod_uranium_fuel_depleted.name=Топливный стержень с обеднённым ураном -item.rod_dual_uranium_fuel_depleted.name=Сдвоенный топливный стержень с обеднённым ураном -item.rod_quad_uranium_fuel_depleted.name=Счетверённый топливный стержень с обеднённым ураном -item.rod_thorium_fuel_depleted.name=Топливный стержень с обеднённым торием -item.rod_dual_thorium_fuel_depleted.name=Сдвоенный топливный стержень с обеднённым торием -item.rod_quad_thorium_fuel_depleted.name=Счетверённый топливный стержень с обеднённым торием -item.rod_plutonium_fuel_depleted.name=Топливный стержень с обеднённым плутонием -item.rod_dual_plutonium_fuel_depleted.name=Сдвоенный топливный стержень с обеднённым плутонием -item.rod_quad_plutonium_fuel_depleted.name=Счетверённый топливный стержень с обеднённым плутонием -item.rod_mox_fuel_depleted.name=Обеднённый МОКС-топливный стержень +item.rbmk_tool.name=Устройство для соединения консоли РБМК +item.rbmk_tool.desc=Shift+ПКМ по РБМК чтобы запомнить его позицию,$shift+ПКМ по консоли чтобы соединить! +item.rbmk_tool.linked=Позиция установлена! +item.rbmk_tool.set=РБМК соединён! +item.reacher.name=Вольфрамовые хваталки +item.reactor_core.name=Активная зона реактора-размножителя +item.reactor_sensor.name=Дистанционный датчик реактора +item.record.glass.desc=? ? ? +item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core +item.record.ss.desc=Valve - Sector Sweep +item.record.vc.desc=Valve - Vortal Combat +item.redcoil_capacitor.name=Краснокатушечный конденсатор +item.redstone_depleted.name=Обесцвеченная красная пыль +item.redstone_sword.name=Меч из красного камня +item.reer_graar.name=Рер Граар +item.remote.name=Сломанный пульт дистанционного управления +item.ring_pull.name=Ключ-кольцо +item.ring_starmetal.name=§9Кольцо из Звёздного металла§r +item.robes_boots.name=Полевые ботинки +item.robes_helmet.name=Повседневная толстовка с капюшоном +item.robes_legs.name=Повседневные брюки +item.robes_plate.name=Повседневная кофта +item.rocket_fuel.name=Твердое топливо (Ракетное) +item.rod_empty.name=Пустой стержень +item.rod.lithium.name=Литиевый стержень +item.rod.tritium.name=Тритиевый стержень +item.rod.co.name=Кобальтовый стержень +item.rod.co60.name=Стержень с кобальтом-60 +item.rod.ra226.name=Стержень с радием-226 +item.rod.ac227.name=Стержень с актинием-227 +item.rod.th232.name=Стержень с торием-232 +item.rod.thf.name=Стержень с ториевым топливом +item.rod.u235.name=Стержень с ураном-235 +item.rod.np237.name=Стержень с нептунием-237 +item.rod.u238.name=Стержень с ураном-238 +item.rod.pu238.name=Стержень с плутонием-238 +item.rod.pu239.name=Стержень с плутонием-239 +item.rod.rgp.name=Стержень с плутонием реакторного качества +item.rod.waste.name=Стержень с ядерными отходами +item.rod.lead.name=Свинцовый стержень +item.rod.uranium.name=Урановый стержень +item.rod_dual_empty.name=Пустой сдвоенный стержень +item.rod_dual.lithium.name=Сдвоенный литиевый стержень +item.rod_dual.tritium.name=Сдвоенный тритиевый стержень +item.rod_dual.co.name=Сдвоенный кобальтовый стержень +item.rod_dual.co60.name=Сдвоенный стержень с кобальтом-60 +item.rod_dual.ra226.name=Сдвоенный стержень с радием-226 +item.rod_dual.ac227.name=Сдвоенный стержень с актинием-227 +item.rod_dual.th232.name=Сдвоенный стержень с торием-232 +item.rod_dual.thf.name=Сдвоенный стержень с ториевым топливом +item.rod_dual.u235.name=Сдвоенный стержень с ураном-235 +item.rod_dual.np237.name=Сдвоенный стержень с нептунием-237 +item.rod_dual.u238.name=Сдвоенный стержень с ураном-238 +item.rod_dual.pu238.name=Сдвоенный стержень с плутонием-238 +item.rod_dual.pu239.name=Сдвоенный стержень с плутонием-239 +item.rod_dual.rgp.name=Сдвоенный стержень с плутонием реакторного качества +item.rod_dual.waste.name=Сдвоенный стержень с ядерными отходами +item.rod_dual.lead.name=Сдвоенный свинцовый стержень +item.rod_dual.uranium.name=Сдвоенный урановый стержень +item.rod_quad_empty.name=Пустой счетверённый стержень +item.rod_quad.lithium.name=Счетверённый литиевый стержень +item.rod_quad.tritium.name=Счетверённый тритиевый стержень +item.rod_quad.co.name=Счетверённый кобальтовый стержень +item.rod_quad.co60.name=Счетверённый стержень с кобальтом-60 +item.rod_quad.ra226.name=Счетверённый стержень с радием-226 +item.rod_quad.ac227.name=Счетверённый стержень с актинием-227 +item.rod_quad.th232.name=Счетверённый стержень с торием-232 +item.rod_quad.thf.name=Счетверённый стержень с ториевым топливом +item.rod_quad.u235.name=Счетверённый стержень с ураном-235 +item.rod_quad.np237.name=Счетверённый стержень с нептунием-237 +item.rod_quad.u238.name=Счетверённый стержень с ураном-238 +item.rod_quad.pu238.name=Счетверённый стержень с плутонием-238 +item.rod_quad.pu239.name=Счетверённый стержень с плутонием-239 +item.rod_quad.rgp.name=Счетверённый стержень с плутонием реакторного качества +item.rod_quad.waste.name=Счетверённый стержень с ядерными отходами +item.rod_quad.lead.name=Счетверённый свинцовый стержень +item.rod_quad.uranium.name=Счетверённый урановый стержень +item.rod_australium.name=Australium Rod +item.rod_balefire.name=Balefire Rod +item.rod_balefire_blazing.name=Blazing Balefire Rod +item.rod_coolant.name=Охлаждающий стержень +item.rod_daffergon.name=Daffergon Rod +item.rod_dual_balefire.name=Balefire Dual Rod +item.rod_dual_balefire_blazing.name=Blazing Balefire Dual Rod +item.rod_dual_coolant.name=Сдвоенный охлаждающий стержень +item.rod_dual_lead.name=Lead Dual Rod +item.rod_dual_lithium.name=Dual Lithium Rod +item.rod_dual_mox_fuel.name=Сдвоенный МОКС-топливный стержень item.rod_dual_mox_fuel_depleted.name=Сдвоенный обеднённый МОКС-топливный стержень -item.rod_quad_mox_fuel_depleted.name=Счетверённый обеднённый МОКС-топливный стержень -item.rod_schrabidium_fuel_depleted.name=Топливный стержень с обеднённым шрабидием +item.rod_dual_neptunium.name=Neptunium Dual Rod +item.rod_dual_plutonium.name=Plutonium Dual Rod +item.rod_dual_plutonium_fuel.name=Сдвоенный плутониевый топливный стержень +item.rod_dual_plutonium_fuel_depleted.name=Сдвоенный топливный стержень с обеднённым плутонием +item.rod_dual_polonium.name=Polonium-210 Dual Rod +item.rod_dual_pu238.name=Plutonium-238 Dual Rod +item.rod_dual_pu239.name=Plutonium-239 Dual Rod +item.rod_dual_pu240.name=Plutonium-240 Dual Rod +item.rod_dual_schrabidium.name=Schrabidium-326 Dual Rod +item.rod_dual_schrabidium_fuel.name=Сдвоенный шрабидиевый топливный стержень item.rod_dual_schrabidium_fuel_depleted.name=Сдвоенный топливный стержень с обеднённым шрабидием -item.rod_quad_schrabidium_fuel_depleted.name=Счетверённый топливный стержень с обеднённым шрабидием - -item.rod_waste.name=Стержень с ядерными отходами +item.rod_dual_solinium.name=Schrabidium-327 Dual Rod +item.rod_dual_th232.name=Thorium-232 Dual Rod +item.rod_dual_thorium_fuel.name=Сдвоенный ториевый топливный стержень +item.rod_dual_thorium_fuel_depleted.name=Сдвоенный топливный стержень с обеднённым торием +item.rod_dual_tritium.name=Dual Tritium Cell +item.rod_dual_u233.name=Uranium-233 Dual Rod +item.rod_dual_u235.name=Uranium-235 Dual Rod +item.rod_dual_u238.name=Uranium-238 Dual Rod +item.rod_dual_uranium.name=Uranium Dual Rod +item.rod_dual_uranium_fuel.name=Сдвоенный урановый топливный стержень +item.rod_dual_uranium_fuel_depleted.name=Сдвоенный топливный стержень с обеднённым ураном item.rod_dual_waste.name=Сдвоенный стержень с ядерными отходами +item.rod_dual_water.name=Сдвоенный стержень с водой +item.rod_euphemium.name=Euphemium Rod +item.rod_lead.name=Lead Rod +item.rod_lithium.name=Lithium Rod +item.rod_mox_fuel.name=МОКС-топливный стержень +item.rod_mox_fuel_depleted.name=Обеднённый МОКС-топливный стержень +item.rod_neptunium.name=Neptunium Rod +item.rod_of_discord.name=Жезл раздора +item.rod_plutonium.name=Plutonium Rod +item.rod_plutonium_fuel.name=Плутониевый топливный стержень +item.rod_plutonium_fuel_depleted.name=Топливный стержень с обеднённым плутонием +item.rod_polonium.name=Polonium-210 Rod +item.rod_pu238.name=Plutonium-238 Rod +item.rod_pu239.name=Plutonium-239 Rod +item.rod_pu240.name=Plutonium-240 Rod +item.rod_quad_balefire.name=Balefire Quad Rod +item.rod_quad_balefire_blazing.name=Blazing Balefire Quad Rod +item.rod_quad_coolant.name=Счетверённый охлаждающий стержень +item.rod_quad_euphemium.name=Выгоревший счетверённый шрабидиевый топливный стержень +item.rod_quad_lead.name=Lead Quad Rod +item.rod_quad_lithium.name=Quad Lithium Rod +item.rod_quad_mox_fuel.name=Счетверённый МОКС-топливный стержень +item.rod_quad_mox_fuel_depleted.name=Счетверённый обеднённый МОКС-топливный стержень +item.rod_quad_neptunium.name=Neptunium Quad Rod +item.rod_quad_plutonium.name=Plutonium Quad Rod +item.rod_quad_plutonium_fuel.name=Счетверённый плутониевый топливный стержень +item.rod_quad_plutonium_fuel_depleted.name=Счетверённый топливный стержень с обеднённым плутонием +item.rod_quad_polonium.name=Polonium-210 Quad Rod +item.rod_quad_pu238.name=Plutonium-238 Quad Rod +item.rod_quad_pu239.name=Plutonium-239 Quad Rod +item.rod_quad_pu240.name=Plutonium-240 Quad Rod +item.rod_quad_schrabidium.name=Schrabidium-326 Quad Rod +item.rod_quad_schrabidium_fuel.name=Счетверённый шрабидиевый топливный стержень +item.rod_quad_schrabidium_fuel_depleted.name=Счетверённый топливный стержень с обеднённым шрабидием +item.rod_quad_solinium.name=Schrabidium-327 Quad Rod +item.rod_quad_th232.name=Thorium-232 Quad Rod +item.rod_quad_thorium_fuel.name=Счетверённый ториевый топливный стержень +item.rod_quad_thorium_fuel_depleted.name=Счетверённый топливный стержень с обеднённым торием +item.rod_quad_tritium.name=Quad Tritium Cell +item.rod_quad_u233.name=Uranium-233 Quad Rod +item.rod_quad_u235.name=Uranium-235 Quad Rod +item.rod_quad_u238.name=Uranium-238 Quad Rod +item.rod_quad_uranium.name=Uranium Quad Rod +item.rod_quad_uranium_fuel.name=Счетверённый урановый топливный стержень +item.rod_quad_uranium_fuel_depleted.name=Счетверённый топливный стержень с обеднённым ураном item.rod_quad_waste.name=Счетверённый стержень с ядерными отходами - -item.gun_rpg.name=Безоткатная Винтовка “Карл Густав” -item.gun_karl.name=Карл -item.gun_panzerschreck.name=Панцершрек -item.gun_rpg_ammo.name=Ракета (LEGACY) -item.gun_stinger.name=FIM-92 "Стингер" -item.gun_skystinger.name="Небесный Стингер" -item.gun_stinger_ammo.name=Ракета-Стингер (LEGACY) -item.ammo_stinger_rocket.name=Ракета-Стингер -item.ammo_stinger_rocket_he.name=Ракета-Стингер (Фугасная) -item.ammo_stinger_rocket_incendiary.name=Ракета-Стингер (Зажигательная) -item.ammo_stinger_rocket_nuclear.name=Ракета-Стингер (Привет) -item.ammo_stinger_rocket_bones.name=Ракета-Стингер (Поиск мобов) -item.gun_hk69.name=Гранатомет -item.gun_quadro.name="Четыре Сыра" -item.gun_sauer.name=Дробовик Стэна Зауэра -item.gun_spas12.name=Дробовик SPAS-12 -item.gun_thompson.name=Пистолет-пулемёт Томпсона -item.gun_lunatic_marksman.name=Лунная снайперская винтовка - -item.flame_pony.name=Картинка цветной лошади -item.flame_pony.desc=Желтая лошадь побеждает синюю лошадь, это доказанный факт! -item.flame_conspiracy.name=Конспирологическая теория -item.flame_conspiracy.desc=Стальные балки не могут расплавить реактивное топливо! -item.flame_politics.name=Политическая тема -item.flame_politics.desc=Дональд Дак построит стену! -item.flame_opinion.name=Собственное мнение -item.flame_opinion.desc=Что ж, мне это нравится... -item.pellet_cluster.name=Взрывчатые гранулы -item.pellet_cluster.desc=Используется в многоцелевых бомбах:$Добавляет больше бабахов! -item.pellet_buckshot.name=Свинцовые гранулы -item.pellet_flechette.name=Флешетты -item.powder_fire.name=Красный фосфор -item.powder_fire.desc=Используется в многоцелевых бомбах:$Зажигательные бомбы - это весело! -item.powder_ice.name=Крио-порошок -item.powder_poison.name=Ядовитый порошок -item.powder_poison.desc=Используется в многоцелевых бомбах:$Внимание: Ядовито! -item.pellet_gas.name=Ядовитый газовый баллон -item.pellet_gas.desc=Используется в многоцелевых бомбах:$*кхе-кхе* Астанавитесь пжлст! -item.magnetron.name=Магнетрон -item.powder_thermite.name=Термит - -item.chemical_dye.black.name=Химический краситель (Черный) -item.chemical_dye.blue.name=Химический краситель (Синий) -item.chemical_dye.brown.name=Химический краситель (Коричневый) -item.chemical_dye.cyan.name=Химический краситель (Голубой) -item.chemical_dye.gray.name=Химический краситель (Серый) -item.chemical_dye.green.name=Химический краситель (Зелёный) -item.chemical_dye.lightblue.name=Химический краситель (Светло-синий) -item.chemical_dye.lime.name=Химический краситель (Лаймовый) -item.chemical_dye.magenta.name=Химический краситель (Пурпурный) -item.chemical_dye.orange.name=Химический краситель (Оранжевый) -item.chemical_dye.pink.name=Химический краситель (Розовый) -item.chemical_dye.purple.name=Химический краситель (Фиолетовый) -item.chemical_dye.red.name=Химический краситель (Красный) -item.chemical_dye.silver.name=Химический краситель (Светло-серый) -item.chemical_dye.white.name=Химический краситель (Белый) -item.chemical_dye.yellow.name=Химический краситель (Жёлтый) - -item.crayon.black.name=Черный мелок -item.crayon.blue.name=Синий мелок -item.crayon.brown.name=Коричневый мелок -item.crayon.cyan.name=Голубой мелок -item.crayon.gray.name=Серый мелок -item.crayon.green.name=Зелёный мелок -item.crayon.lightblue.name=Светло-синий мелок -item.crayon.lime.name=Лаймовый мелок -item.crayon.magenta.name=Пурпурный мелок -item.crayon.orange.name=Оранжевый мелок -item.crayon.pink.name=Розовый мелок -item.crayon.purple.name=Фиолетовый мелок -item.crayon.red.name=Красный мелок -item.crayon.silver.name=Светло-серый мелок -item.crayon.white.name=Белый мелок -item.crayon.yellow.name=Желтый мелок - -item.nuke_starter_kit.name=Стартовый набор ядерщика -item.nuke_commercially_kit.name=Набор ядерщика для продажи -item.nuke_advanced_kit.name=Расширенный набор ядерщика -item.gadget_kit.name=Комплект Гаджета -item.boy_kit.name=Комплект Малыша -item.man_kit.name=Комплект Толстяка -item.mike_kit.name=Комплект Иви Майка -item.tsar_kit.name=Комплект Царь Бомбы -item.fleija_kit.name=Комплект Ф.Л.Е.Я -item.multi_kit.name=Комплект Многоцелевой бомбы -item.custom_kit.name=Комплект Пользовательской бомбы -item.grenade_kit.name=Комплект гранат -item.nuke_electric_kit.name=Комплект инженера-электронщика -item.prototype_kit.name=Комплект Прототипа -item.missile_kit.name=Ракетный набор -item.t45_kit.name=Комплект силовой брони T45 -item.euphemium_kit.name=Эвфемиевый комплект -item.solinium_kit.name=Солиниевый комплект -item.hazmat_kit.name=Набор химической и радиационной защиты -item.hazmat_red_kit.name=Расширенный комплект химической и радиационной защиты -item.hazmat_grey_kit.name=Высокопроизводительный набор химической и радиационной защиты -item.kit_toolbox.name=Ящик для инструментов -item.kit_toolbox_empty.name=Пустой ящик для инструментов - -tile.burning_earth.name=Горящая трава -tile.waste_earth.name=Мертвая трава -tile.dirt_dead.name=Мертвая земля -tile.impact_dirt.name=Выжженая земля -tile.plant_dead.name=Мертвое растение -tile.dirt_oily.name=Пропитанная нефтью земля -tile.waste_trinitite.name=Тринититовая руда -tile.waste_trinitite_red.name=Красная тринититовая руда -tile.waste_leaves.name=Мёртвые листья -tile.leaves_layer.name=Упавшие листья -tile.waste_log.name=Обугленное бревно -tile.waste_planks.name=Обугленные деревянные доски -item.trinitite.name=Тринитит -item.nuclear_waste.name=Ядерные отходы -item.scrap_nuclear.name=Радиоактивный мусор -item.scrap_oil.name=Нефтяные отходы -item.scrap_plastic.name=Куски пластмассы -item.scraps.name=Литейный шлак -item.nuclear_waste_tiny.name=Маленькая кучка ядерных отходов -item.nuclear_waste_vitrified.name=Остеклованные ядерные отходы -item.nuclear_waste_vitrified_tiny.name=Кучка остеклованных ядерных отходов -item.waste_uranium.name=Обедненное урановое топливо -item.waste_thorium.name=Обедненное ториевое топливо -item.waste_plutonium.name=Обедненное плутониевое топливо -item.waste_mox.name=Обедненное МОКС-топливо -item.waste_schrabidium.name=Обедненное шрабидиевое топливо -item.waste_u235.name=Обедненное уран-235 топливо -item.waste_u233.name=Обедненное уран-233 топливо -item.waste_natural_uranium.name=Обедненное природное урановое топливо -item.waste_zfb_mox.name=Обедненное ЦТС МОКС-топливо -item.nuclear_waste_pearl.name=Жемчужина из ядерных отходов -item.nuclear_waste_long.name=Долгоживущие ядерные отходы -item.nuclear_waste_long_tiny.name=Кучка долгоживущих ядерных отходов -item.nuclear_waste_long_depleted.name=Разложившиеся долгоживущие ядерные отходы -item.nuclear_waste_long_depleted_tiny.name=Кучка разложившихся долгоживущих ядерных отходов -item.nuclear_waste_short.name=Короткоживущие ядерные отходы -item.nuclear_waste_short_tiny.name=Кучка короткоживущих ядерных отходов -item.nuclear_waste_short_depleted.name=Разложившиеся короткоживущие ядерные отходы -item.nuclear_waste_short_depleted_tiny.name=Кучка разложившихся короткоживущих ядерных отходов -item.scrap.name=Металлолом -item.debris_fuel.name=Часть топливного стержня РБМК -item.debris_graphite.name=Горячий кусок графита -item.debris_metal.name=Покорёженная металлическая балка -item.debris_concrete.name=Большой кусок бетона -item.debris_exchanger.name=Сорваная металлическая обшивка -item.debris_shrapnel.name=Металлическая шрапнель -item.debris_element.name=Повреждённый топливный элемент -item.debris_exchanger.name=Обломок теплообменика -item.cinnebar.name=Киноварь -item.nugget_mercury_tiny.name=Маленькая капля ртути -item.nugget_mercury.name=Капля ртути -item.bottle_mercury.name=Пузырёк ртути - -item.ingot_uranium_fuel.name=Слиток уранового топлива -item.ingot_thorium_fuel.name=Слиток ториевого топлива -item.ingot_plutonium_fuel.name=Слиток плутониевого топлива -item.ingot_mox_fuel.name=Слиток МОКС-топлива -item.ingot_schrabidium_fuel.name=Слиток шрабидиевого топлива -item.nugget_uranium_fuel.name=Самородок уранового топлива -item.nugget_thorium_fuel.name=Самородок ториевого топлива -item.nugget_plutonium_fuel.name=Самородок плутониевого топлива -item.nugget_polonium.name=Самородок полония-210 -item.nugget_mox_fuel.name=Самородок МОКС топлива -item.nugget_mox_fuel.desc=Мокси говорит: §lНЕУПЛАТА НАЛОГОВ.§r -item.nugget_schrabidium_fuel.name=Самородок шрабидиевого топлива - -item.grenade_generic.name=Граната -item.grenade_strong.name=Усовершенствованная граната -item.grenade_frag.name=Осколочная граната -item.grenade_fire.name=Огненная осколочная граната -item.grenade_shrapnel.name=Граната со шрапнелью -item.grenade_cluster.name=Кластерная бомба -item.grenade_flare.name=Сигнальная ракета -item.grenade_electric.name=Электрограната -item.grenade_poison.name=Отравляющая граната -item.grenade_gas.name=Газовая граната -item.grenade_pulse.name=Импульсная граната -item.grenade_plasma.name=Плазменная граната -item.grenade_tau.name=Тау-Граната -item.grenade_schrabidium.name=Шрабидиевая граната -item.grenade_lemon.name=Зажигательный лимон -item.grenade_gascan.name=Бросаемая бензиновая канистра -item.grenade_mk2.name=Граната МК 2 "Посол Ананас" -item.grenade_aschrab.name=Бросаемая антишрабидиевая пробирка -item.grenade_nuke.name=Буровая граната “Марк VI” -item.grenade_nuclear.name=Ядерная граната -item.grenade_zomg.name=Граната аннигиляции пар отрицательной энергии -item.grenade_black_hole.name=Граната сингулярности -item.grenade_cloud.name=Колба с кислотным облаком -item.grenade_pink_cloud.name=Колба с розовым облаком -item.ullapool_caber.name=Аллапульское бревно -item.grenade_smart.name=Смарт-граната -item.grenade_mirv.name=МИРВ-граната -item.grenade_breach.name=Разрывная граната -item.grenade_burst.name=Экскаваторная граната - -item.grenade_if_generic.name=IF - Граната -item.grenade_if_he.name=IF - Фугасная граната -item.grenade_if_bouncy.name=IF - Прыгучая граната -item.grenade_if_sticky.name=IF - Липкая граната -item.grenade_if_impact.name=IF - Ударная граната -item.grenade_if_incendiary.name=IF - Зажигательная граната -item.grenade_if_toxic.name=IF - Токсичная граната -item.grenade_if_concussion.name=IF - Контузионная граната -item.grenade_if_brimstone.name=IF - Бросаемая серная мина -item.grenade_if_mystery.name=IF - М.-Граната -item.grenade_if_spark.name=IF - С.-Граната -item.grenade_if_hopwire.name=IF - Граната сингулярности -item.grenade_if_null.name=IF - Нулевая граната - +item.rod_quad_water.name=Счетверённый стержень с водой +item.rod_reiium.name=Reiium Rod +item.rod_schrabidium.name=Schrabidium-326 Rod +item.rod_schrabidium_fuel.name=Шрабидиевый топливный стержень +item.rod_schrabidium_fuel_depleted.name=Топливный стержень с обеднённым шрабидием +item.rod_solinium.name=Schrabidium-327 Rod +item.rod_th232.name=Thorium-232 Rod +item.rod_thorium_fuel.name=Ториевый топливный стержень +item.rod_thorium_fuel_depleted.name=Топливный стержень с обеднённым торием +item.rod_tritium.name=Tritium Cell +item.rod_u233.name=Uranium-233 Rod +item.rod_u235.name=Uranium-235 Rod +item.rod_u238.name=Uranium-238 Rod +item.rod_unobtainium.name=Unobtainium Rod +item.rod_uranium.name=Uranium Rod +item.rod_uranium_fuel.name=Урановый топливный стержень +item.rod_uranium_fuel_depleted.name=Топливный стержень с обеднённым ураном +item.rod_verticium.name=Verticium Rod +item.rod_waste.name=Стержень с ядерными отходами +item.rod_water.name=Стержень с водой +item.rod_weidanium.name=Weidanium Rod item.rod_zirnox_empty.name=Пустой стержень Цирнокс item.rod_zirnox_natural_uranium_fuel.name=Необогащенный урановый топливный стержень Цирнокс item.rod_zirnox_uranium_fuel.name=Урановый топливный стержень Цирнокс @@ -4541,1273 +4492,346 @@ item.rod_zirnox_u233_fuel_depleted.name=Обеднённый уран-233 топ item.rod_zirnox_u235_fuel_depleted.name=Обеднённый уран-235 топливный стержень Цирнокс item.rod_zirnox_les_fuel_depleted.name=Обеднённый низкообогащенный шрабидиевый топливный стержень Цирнокс item.rod_zirnox_zfb_mox_depleted.name=Обеднённый ЦТС МОКС-топливный стержень Цирнокс -item.rod_uranium_fuel.name=Урановый топливный стержень -item.rod_dual_uranium_fuel.name=Сдвоенный урановый топливный стержень -item.rod_quad_uranium_fuel.name=Счетверённый урановый топливный стержень -item.rod_thorium_fuel.name=Ториевый топливный стержень -item.rod_dual_thorium_fuel.name=Сдвоенный ториевый топливный стержень -item.rod_quad_thorium_fuel.name=Счетверённый ториевый топливный стержень -item.rod_plutonium_fuel.name=Плутониевый топливный стержень -item.rod_dual_plutonium_fuel.name=Сдвоенный плутониевый топливный стержень -item.rod_quad_plutonium_fuel.name=Счетверённый плутониевый топливный стержень -item.rod_mox_fuel.name=МОКС-топливный стержень -item.rod_dual_mox_fuel.name=Сдвоенный МОКС-топливный стержень -item.rod_quad_mox_fuel.name=Счетверённый МОКС-топливный стержень -item.rod_schrabidium_fuel.name=Шрабидиевый топливный стержень -item.rod_dual_schrabidium_fuel.name=Сдвоенный шрабидиевый топливный стержень -item.rod_quad_schrabidium_fuel.name=Счетверённый шрабидиевый топливный стержень -item.rbmk_fuel_empty.name=Пустой топливный стержень РБМК -item.rbmk_fuel_hes.name=Высокообогащенный шрабидиевый топливный стержень РБМК -item.rbmk_fuel_lep.name=Низкообогащенный плутониевый-239 топливный стержень РБМК -item.rbmk_fuel_les.name=Низкообогащенный шрабидиевый топливный стержень РБМК -item.rbmk_fuel_mep.name=Среднеобогащенный плутониевый-239 топливный стержень РБМК -item.rbmk_fuel_mes.name=Среднеобогащенный шрабидиевый топливный стержень РБМК -item.rbmk_fuel_meu.name=Среднеобогащенный урановый топливный стержень РБМК -item.rbmk_fuel_men.name=Среднеобогащенный нептуниевый топливный стержень РБМК -item.rbmk_fuel_mox.name=МОКС-топливный стержень РБМК -item.rbmk_fuel_po210be.name=Полоний-210-Бериллевый источник нейтронов РБМК -item.rbmk_fuel_pu238be.name=Плутоний-238-Бериллевый источник нейтронов РБМК -item.rbmk_fuel_ra226be.name=Радий-226-Бериллевый источник нейтронов РБМК -item.rbmk_fuel_thmeu.name=Ториево-урановый среднеобогащённый топливный стержень РБМК -item.rbmk_fuel_balefire.name=Жар-топливный стержень РБМК -item.rbmk_fuel_balefire_gold.name=Флэшголд-топливный стержень РБМК -item.rbmk_fuel_flashlead.name=Флэшлид-топливный стержень РБМК -item.rbmk_fuel_drx.name=§cДигамма топливный стержень РБМК§r -item.rbmk_fuel_heaus.name=Высокообогащенный австралиевый топливный стержень РБМК -item.rbmk_fuel_leaus.name=Низкообогащенный австралиевый топливный стержень РБМК -item.rbmk_fuel_ueu.name=Необогащенный урановый топливный стержень РБМК -item.rbmk_fuel_hep.name=Высокообогащенный плутониевый-239 топливный стержень РБМК -item.rbmk_fuel_hep241.name=Высокообогащенный плутониевый-241 топливный стержень РБМК -item.rbmk_fuel_hen.name=Высокообогащенный нептуниевый топливный стержень РБМК -item.rbmk_fuel_hea241.name=Высокообогащенный америциевый-241 топливный стержень РБМК -item.rbmk_fuel_hea242.name=Высокообогащенный америциевый-242 топливный стержень РБМК -item.rbmk_fuel_heu233.name=Высокообогащенный урановый-233 топливный стержень РБМК -item.rbmk_fuel_heu235.name=Высокообогащенный урановый-235 топливный стержень РБМК -item.rbmk_fuel_lea.name=Низкообогащенный америциевый топливный стержень РБМК -item.rbmk_fuel_mea.name=Среднеобогащенный америциевый топливный стержень РБМК -item.rbmk_fuel_zfb_am_mix.name=Америций реакторного качества ЦТС стержень РБМК -item.rbmk_fuel_zfb_bismuth.name=Висмутовый ЦТС стержень РБМК -item.rbmk_fuel_zfb_pu241.name=Плутоний-241 ЦТС стержень РБМК -item.rbmk_lid.name=Покрывающая панель РБМК -item.rbmk_lid_glass.name=Стеклянная покрывающая панель РБМК -item.pile_rod_boron.name=Контрольный стержень "Чикагской поленницы" -item.pile_rod_plutonium.name=Плутониевый стержень "Чикагской поленницы" -item.pile_rod_source.name=Радий-226-Бериллевый источник нейтронов "Чикагской поленницы" -item.pile_rod_uranium.name=Урановый стержень "Чикагской поленницы" -item.pile_rod_pu239.name=Урановый стержень-размножитель "Чикагской поленницы" -item.pile_rod_pu239.desc=§a[Активное топливо]$§eбогатое плутонием-239. -item.pile_rod_boron.desc=§9[Поглотитель нейтронов]$§eПКМ, чтобы переключить -item.pile_rod_detector.name=Регулирующий и детектирующий стержень "Чикагской поленницы" -item.pile_rod_detector.desc=§9[Детектор/поглотитель нейтронов]$§eПКМ дефьюзером чтобы увеличить/уменьшить лимит нейтронов$§eПКМ отвёрткой без шифта чтобы проверить поток -item.pile_rod_lithium.name=Литиевая ячейка "Чикагской поленницы" -item.pile_rod_lithium.desc=§a[Топливо-размножитель]$§eПКМ ручной дрелью чтобы проверить ядро ячейки -item.pile_rod_plutonium.desc=§d[Источник нейтронов] -item.pile_rod_source.desc=§d[Источник нейтронов] -item.pile_rod_uranium.desc=§a[Активное топливо]$§eПКМ ручной дрелью чтобы взять образец ядра стержня - -item.rod_water.name=Стержень с водой -item.rod_dual_water.name=Сдвоенный стержень с водой -item.rod_quad_water.name=Счетверённый стержень с водой -item.rod_coolant.name=Охлаждающий стержень -item.rod_dual_coolant.name=Сдвоенный охлаждающий стержень -item.rod_quad_coolant.name=Счетверённый охлаждающий стержень - -item.levitation_unit.name=Гравитационный манипулятор -item.thermo_unit_empty.name=Термический распределительный узел -item.thermo_unit_endo.name=Устройство для распределения холода -item.thermo_unit_exo.name=Устройство для распределения тепла - -item.bomb_waffle.name=Вафля массового поражения -item.schnitzel_vegan.name=Вегетарианский шницель -item.apple_lead.name=Свинцовое яблоко -item.apple_schrabidium.name=Шрабидиевое Яблоко -item.cotton_candy.name=Радиоактивная сахарная вата -item.tem_flakes.name=Хлопья Тэм -item.glowing_stew.name=Тушеные светящиеся грибы -item.balefire_scrambled.name=Жар-яичница -item.balefire_and_ham.name=Ветчина и жар-яйца -item.lemon.name="Лимон" -item.definitelyfood.name=ИРП -item.pudding.name=Пудинг -item.loops.name=Пəтли -item.loop_stew.name=Завтрак IT-шника -item.fooditem.name=пищевой продукт -item.twinkie.name=Твинки -item.static_sandwich.name=Сэндвич с помехами -item.pancake.name=Блинчики с металлоломом, гвоздями и самоцветной пылью -item.peas.name=Горошек -item.bio_wafer.name=Вафля из водорослей - -tile.frozen_grass.name=Замороженная трава -tile.frozen_dirt.name=Замороженная земля -tile.frozen_log.name=Замороженное бревно -tile.frozen_planks.name=Замороженные доски - -tile.tape_recorder.name=Магнитофон -tile.steel_poles.name=Стальные опоры -tile.pole_top.name=Антенна -tile.deco_computer.ibm_300pl.name=Персональный компьютер IBM 300PL -tile.deco_crt.name=Старый ЭЛТ-экран -tile.deco_toaster.name=Сломанный тостер -tile.filing_cabinet.green.name=Пыльный карточеный шкафчик -tile.filing_cabinet.steel.name=Стальной карточеный шкафчик -container.fileCabinet=Карточеный шкафчик -tile.pole_satellite_receiver.name=Спутниковая тарелка -tile.steel_wall.name=Стальная стенка -tile.steel_corner.name=Стальной угол стены -tile.steel_roof.name=Плоская стальная крыша -tile.steel_beam.name=Стальная балка -tile.steel_scaffold.name=Стальные подмости -tile.steel_grate.name=Стальная решётка -tile.steel_grate_wide.name=Предметная решётка -tile.steel_grate_wide.desc=Позволяет опыту и предметам падать через неё - -item.gun_revolver_iron.name=Простой револьвер -item.gun_revolver.name=Усовершенствованный револьвер -item.gun_revolver_saturnite.name=Сатурнитовый револьвер -item.gun_revolver_gold.name=Золотой револьвер -item.gun_revolver_lead.name=Ядерный револьвер -item.gun_revolver_schrabidium.name=Шрабидиевый револьвер -item.gun_revolver_cursed.name=Проклятый револьвер -item.gun_revolver_nightmare.name=Кошмарный револьвер (Оригинал) -item.gun_revolver_nightmare2.name=Кошмарный револьвер (Тёмный) -item.gun_revolver_pip.name=Лил' Пипсквик -item.gun_revolver_nopip.name=Тяжёлый револьвер -item.gun_revolver_blackjack.name=Пятизарядный револьвер Блэкджек -item.gun_revolver_silver.name=Одолженный пистолет -item.gun_revolver_red.name=Револьвер с красным ключом -item.gun_deagle.name=Биг Айрон -item.gun_calamity.name=Каламити -item.gun_calamity_dual.name=Боевое седло -item.gun_minigun.name=Персональный миниган CZ53 -item.gun_avenger.name=CZ57 “Авенджер” -item.gun_lacunae.name=CZ33 “Абаддон” -item.gun_fatman.name=М42 Атомная катапульта "Толстяк" -item.gun_proto.name=М42 Ядерная катапульта "Прото МИРВ" -item.gun_mirv.name=M42 Ядерная катапульта "Экспериментальный МИРВ" -item.gun_bf.name=BEL -item.gun_mp40.name=Пистолет-пулемёт -item.gun_flechette.name=Игольчатая винтовка -item.gun_uzi.name=IMI Узи -item.gun_uzi_silencer.name=IMI Узи с глушителем -item.gun_uzi_saturnite.name=Сатурнитовый Узи -item.gun_uzi_saturnite_silencer.name=Сатурнитовый Узи с глушителем -item.gun_uboinik.name=Убойник -item.gun_ks23.name=Сэмюэль Большой Дробовик -item.gun_lever_action.name=«Нога кобылы» (Оригинал) -item.gun_bolt_action.name=Винтовка со скользящим затвором(Оригинал) -item.gun_lever_action_dark.name=«Нога кобылы» (Тёмный) -item.gun_bolt_action_green.name=Винтовка со скользящим затвором (Зелёный) -item.gun_bolt_action_saturnite.name=Сатурнитовая винтовка -item.gun_lever_action_sonata.name=Перевёрнутая «Нога кобылы» -item.gun_remington.name=バイデン ブラスト [BIDEN BLAST] -item.gun_lever_action_sonata_2.name=§cSonata's Microphone§r -item.gun_b92.name=§9Энергетический бластер B92§r -item.gun_b93.name=§cМодифицированный бластер B93§r -item.gun_xvl1456.name=Прототип Тау-пушки XVL1456 -item.gun_osipr.name=Импульсная винтовка Патруля -item.gun_immolator.name=Иммолятор -item.gun_flamer.name=Мистер Топаз -item.gun_chemthrower.name=Химомёт -item.gun_cryolator.name=Криолятор -item.gun_mp.name=Пулемет Пацифистов -item.gun_zomg.name=ZOMG-пушка -item.gun_emp.name=ЭМИ-пушка -item.gun_super_shotgun.name=Супердробовик -item.gun_super_shotgun.desc=Он супер сломан! -item.gun_supershotgun.name=Супердробовик -item.gun_moist_nugget.name=Мосин-Наган -item.gun_revolver_inverted.name=Перевернутый револьвер -item.gun_jack.name=Джекхаммер -item.gun_spark.name=Спарк-Плаг -item.gun_hp.name=HPP Лазерджет -item.gun_euthanasia.name=Эвтаназия -item.gun_defabricator.name=Дефабрикатор -item.gun_dampfmaschine.name=Совершенно не шуточное оружие -item.gun_folly.name=Прототип Дигамма "Причуда" -item.gun_darter.name=Дротиковый пистолет -item.gun_mymy.name=Ньетес -item.gun_ar15.name="Джош" -item.gun_glass_cannon.name=Стеклянная пушка -item.boltgun.name=Пневматический заклепочник -item.gun_congolake.name=Congo Lake -item.gun_cryocannon.name=Криопушка - -item.gun_revolver_iron_ammo.name=Пуля -item.gun_revolver_ammo.name=Свинцовая пуля -item.gun_revolver_gold_ammo.name=Золотая пуля -item.gun_revolver_lead_ammo.name=Покрытая стеклом атомная пуля -item.gun_revolver_schrabidium_ammo.name=Шрабидиевая пуля -item.gun_revolver_cursed_ammo.name=Стальная пуля -item.gun_revolver_nightmare_ammo.name=Кошмарная пуля -item.gun_revolver_nightmare2_ammo.name=Лазерная дробь -item.gun_revolver_pip_ammo.name=Зараженный патрон (LEGACY) -item.gun_revolver_nopip_ammo.name=Патрон калибра .44 (LEGACY) -item.gun_calamity_ammo.name=Кал. 50 (LEGACY) -item.gun_lacunae_ammo.name=5-мм патрон (LEGACY) -item.gun_fatman_ammo.name=Ядерный минизаряд (LEGACY) -item.gun_mirv_ammo.name=Восьмиричный МИРВ (LEGACY) -item.gun_bf_ammo.name=Жар-снаряд -item.ammo_mirv.name=МИРВ-минизаряд -item.ammo_mirv_special.name=МИЛВ-минизаряд -item.ammo_mirv_high.name=МИРВ-минизаряд (Высокомощный) -item.ammo_mirv_low.name=МИРВ-минизаряд (Маломощный) -item.ammo_mirv_safe.name=МИРВ-минизаряд (Безопасный) -item.ammo_nuke_barrel.name=Мини-бочка с ядерными отходами -item.ammo_nuke.name=Ядерный минизаряд -item.ammo_nuke_high.name=Ядерный минизаряд (Высокомощный) -item.ammo_nuke_low.name=Ядерный минизаряд (Маломощный) -item.ammo_nuke_pumpkin.name=Тыквенная бомба -item.ammo_nuke_safe.name=Ядерный минизаряд (Безопасный) -item.ammo_nuke_tots.name=Ядерный минизаряд ("Карапуз") -item.gun_mp40_ammo.name=Патрон Для Пистолета-Пулемета (LEGACY) -item.gun_uzi_ammo.name=Патроны кал. 22LR (LEGACY) -item.gun_uboinik_ammo.name=Дробь 12x70 калибра (LEGACY) -item.gun_lever_action_ammo.name=Дробь 12x74 калибра (LEGACY) -item.gun_bolt_action_ammo.name=Пуля 12x74 калибра(LEGACY) -item.gun_b92_ammo.name=§9Энергетический Элемент B92§r -item.gun_xvl1456_ammo.name=Ящик с Обедненным Ураном-235 -item.gun_osipr_ammo.name=Импульсные патроны -item.gun_osipr_ammo2.name=Энергетический шар Комбайнов -item.gun_immolator_ammo.name=Топливо Иммолатора -item.gun_cryolator_ammo.name=Криоэлемент -item.gun_pm_ammo.name=Малый беспропеллентовый пулемётный патрон -item.gun_emp_ammo.name=Энергетическая ячейка -item.gun_jack_ammo.name=Снаряд для четырехствольного дробовика -item.gun_spark_ammo.name=Электромагнитный картридж -item.gun_hp_ammo.name=Чернильный картридж -item.gun_euthanasia_ammo.name=Шприцы -item.gun_defabricator_ammo.name=Энергетические ячейки Дефабрикатора -item.ammo_cell.name=Энерго-патроны -item.ammo_grenade_leadburster.name=40мм Лидбастер - -item.ammo_12gauge.name=Картечь 12 калибра -item.ammo_12gauge_incendiary.name=Картечь 12 калибра (Зажигательная) -item.ammo_12gauge_shrapnel.name=Картечь 12 калибра (Шрапнельная) -item.ammo_12gauge_marauder.name=Тактический противомародёрный снаряд 12 калибра -item.ammo_12gauge_percussion.name=Капсюль 12 калибра -item.ammo_12gauge_du.name=Картечь 12 калибра (С урановым покрытием) -item.ammo_12gauge_sleek.name=Картечь 12 калибра (IF-R&D) -item.ammo_20gauge.name=Картечь 20 калибра -item.ammo_20gauge_slug.name=Пуля Бреннеке 20 калибра -item.ammo_20gauge_flechette.name=Игольчатые снаряды 20 калибра -item.ammo_20gauge_incendiary.name=Картечь 20 калибра (Зажигательная) -item.ammo_20gauge_shrapnel.name=Картечь 20 калибра (Шрапнельная) -item.ammo_20gauge_sleek.name=Картечь 20 калибра (IF-R&D) -item.ammo_20gauge_shock.name=Картечь 20 калибра (Шоковая) -item.ammo_20gauge_caustic.name=Картечь 20 калибра (Токсичная) -item.ammo_20gauge_explosive.name=Картечь 20 калибра (Взрывная) -item.ammo_20gauge_wither.name=Картечь 20 калибра (Иссушающая) -item.ammo_4gauge.name=Картечь 4 калибра -item.ammo_4gauge_sleek.name=Картечь 4 калибра (IF-R&D) -item.ammo_4gauge_flechette.name=Игольчатая картечь 4 калибра -item.ammo_4gauge_flechette_phosphorus.name=Игольчатая картечь 4 калибра (БФ) -item.ammo_4gauge_slug.name=Твёрдая Стальная пуля 4 калибра -item.ammo_4gauge_claw.name=Картечь 4 калибра (Клешни) -item.ammo_4gauge_vampire.name=Картечь 4 калибра (Осиновый кол) -item.ammo_4gauge_void.name=Картечь 4 калибра (Пустотная оболочка) -item.ammo_4gauge_titan.name=Картечь 4 калибра (кряк) -item.ammo_4gauge_explosive.name=23мм граната -item.ammo_5mm.name=5-мм патрон -item.ammo_5mm_chlorophyte.name=5-мм патрон (Хлорофит) -item.ammo_5mm_explosive.name=5-мм патрон (Взрывной) -item.ammo_5mm_du.name=5-мм патрон (ДУ) -item.ammo_5mm_star.name=5-мм патрон (Звёздный металл) -item.ammo_50ae.name=Патрон калибра .50 AE -item.ammo_50ae_chlorophyte.name=Патрон калибра .50 AE (Хлорофит) -item.ammo_50ae_ap.name=Патрон калибра .50 AE (Бронебойный) -item.ammo_50ae_du.name=Патрон калибра .50 AE (ДУ) -item.ammo_50ae_star.name=Патрон калибра .50 AE (Звёздный металл) -item.ammo_50bmg.name=Крупнокалиберный патрон .50 BMG -item.ammo_50bmg_incendiary.name=Крупнокалиберный патрон .50 BMG (Зажигательный) -item.ammo_50bmg_phosphorus.name=Крупнокалиберный патрон .50 BMG (БФ) -item.ammo_50bmg_explosive.name=Крупнокалиберный патрон .50 BMG (Взрывной) -item.ammo_50bmg_ap.name=Крупнокалиберный патрон .50 BMG (Бронебойный) -item.ammo_50bmg_chlorophyte.name=Крупнокалиберный патрон .50 BMG (Хлорофит) -item.ammo_50bmg_du.name=Крупнокалиберный патрон .50 BMG (ДУ) -item.ammo_50bmg_sleek.name=Крупнокалиберный патрон .50 BMG (IF-R&D) -item.ammo_50bmg_star.name=Крупнокалиберный патрон .50 BMG (Звёздный металл) -item.ammo_50bmg_flechette.name=Игольчатый .50 BMG патрон -item.ammo_50bmg_flechette_am.name=Игольчатый .50 BMG патрон (Америций) -item.ammo_50bmg_flechette_po.name=Игольчатый .50 BMG патрон (Полоний) -item.ammo_762.name=7.62мм патрон -item.ammo_762_ap.name=7.62мм патрон (Бронебойный) -item.ammo_762_du.name=7.62мм патрон (С урановым наконечником) -item.ammo_762_k.name=7.62 мм K-образный патрон -item.ammo_762_phosphorus.name=7.62мм патрон (БФ) -item.ammo_762_tracer.name=7.62мм патрон (Трассирующий) -item.ammo_9mm.name=9-мм патрон -item.ammo_9mm_chlorophyte.name=9-мм патрон (Хлорофит) -item.ammo_9mm_ap.name=9-мм патрон (Бронебойный) -item.ammo_9mm_du.name=9-мм патрон (ДУ) -item.ammo_9mm_rocket.name=9-мм ракета -item.ammo_556.name=5.56мм патрон -item.ammo_556_phosphorus.name=5.56мм патрон (БФ) -item.ammo_556_sleek.name=5.56мм патрон (IF-R&D) -item.ammo_556_ap.name=5.56мм патрон (Бронебойный) -item.ammo_556_chlorophyte.name=5.56мм патрон (Хлорофит) -item.ammo_556_du.name=5.56мм патрон (ДУ) -item.ammo_556_star.name=5.56мм патрон (Звёздный металл) -item.ammo_556_flechette.name=Игольчатый 5.56-патрон -item.ammo_556_flechette_incendiary.name=Игольчатый 5.56-патрон (Зажигательный) -item.ammo_556_flechette_chlorophyte.name=Игольчатый 5.56-патрон (Хлорофит) -item.ammo_556_flechette_phosphorus.name=Игольчатый 5.56-патрон (Фосфорный наконечник) -item.ammo_556_flechette_du.name=Игольчатый 5.56-патрон (Урановый бронебойный) -item.ammo_556_tracer.name=5.56мм патрон (Трассирующий снаряд) -item.ammo_556_flechette_sleek.name=Игольчатый 5.56-патрон (IF-R&D) -item.ammo_556_k.name=5.56мм К-Патрон -item.ammo_22lr.name=Малокалиберный патрон .22 LR -item.ammo_22lr_ap.name=Малокалиберный патрон .22 LR (Бронебойный) -item.ammo_22lr_chlorophyte.name=Малокалиберный патрон .22 LR (Хлорофит) -item.ammo_folly.name=Серебряная пуля -item.ammo_folly_nuclear.name=Серебряная пуля (Атомная) -item.ammo_folly_du.name=Серебряная пуля (ДУ, Не взрывающаяся) -item.ammo_357_desh.name=Деш-Пуля калибра .357 Магнум -item.ammo_44.name=Пуля калибра .44 Магнум -item.ammo_44_chlorophyte.name=Пуля калибра .44 Магнум (Хлорофит) -item.ammo_44_ap.name=Пуля калибра .44 Магнум (Бронебойный) -item.ammo_44_du.name=Пуля калибра .44 Магнум (ДУ) -item.ammo_44_phosphorus.name=Пуля калибра .44 Магнум (БФ) -item.ammo_44_star.name=Пуля калибра .44 Магнум (Звёздный металл) -item.ammo_44_pip.name=Пуля калибра .44 Магнум (Грузовой вагон) -item.ammo_44_bj.name=Пуля калибра .44 Магнум (Лодка) -item.ammo_44_silver.name=Пуля калибра .44 Магнум (Здание) -item.ammo_44_rocket.name=Ракета-Пуля .44 Магнум -item.ammo_45.name=Пуля 45-го калибра ACP -item.ammo_45_ap.name=Пуля 45-го калибра ACP (Бронебойная) -item.ammo_45_du.name=Пуля 45-го калибра ACP (С урановым наконечником) -item.ammo_rocket.name=84-мм ракета -item.ammo_rocket_canister.name=84-мм ракета (Картечь) -item.ammo_rocket_he.name=84-мм ракета (Фугасная) -item.ammo_rocket_incendiary.name=84-мм ракета (Зажигательная) -item.ammo_rocket_phosphorus.name=84-мм ракета (БФ) -item.ammo_rocket_shrapnel.name=84-мм ракета (Осколочная) -item.ammo_rocket_emp.name=84-мм ракета (Импульсная) -item.ammo_rocket_glare.name=84-мм ракета (Красное Зарево) -item.ammo_rocket_toxic.name=84-мм ракета (Химическая) -item.ammo_rocket_sleek.name=84-мм ракета (IF-R&D) -item.ammo_rocket_nuclear.name=84-мм ракета (Привет) -item.ammo_rocket_rpc.name=84-мм Ракета-Бензопила -item.ammo_rocket_digamma.name=null -item.ammo_4gauge_balefire.name=23мм Жар-граната -item.ammo_4gauge_kampf.name=23мм Ракета -item.ammo_4gauge_canister.name=23мм Ракета (Картечь) -item.ammo_4gauge_semtex.name=23мм Шахтёрский заряд -item.ammo_grenade.name=40мм граната -item.ammo_grenade_he.name=40мм граната (Фугасная) -item.ammo_grenade_incendiary.name=40мм граната (Зажигательная) -item.ammo_grenade_phosphorus.name=40мм граната (БФ) -item.ammo_grenade_toxic.name=40мм граната (Химическая) -item.ammo_grenade_concussion.name=40мм граната (Concussion) -item.ammo_grenade_finned.name=40мм граната (Finned) -item.ammo_grenade_nuclear.name=40мм граната (Привет) -item.ammo_grenade_sleek.name=40мм граната (IF-R&D) -item.ammo_grenade_tracer.name=40мм Учебная граната -item.ammo_grenade_kampf.name=40мм-Ракета -item.ammo_fuel.name=Бак с дизелем -item.ammo_fuel_napalm.name=Бак с напалмом -item.ammo_fuel_phosphorus.name=Бак с белым фосфором -item.ammo_fuel_vaporizer.name=Бак испарителя -item.ammo_fuel_gas.name=Бак с газом -item.ammo_dart.name=Пластиковый дротик (Иссущающий) -item.ammo_dart_nuclear.name=Пластиковый дротик (С взрывчаткой) -item.ammo_dart_nerf.name=Дротик NERF -item.ammo_dgk.name=Лента на 200 патронов для CIWS "Говард" -item.folly_shell.name=Оболочка серебряной пули -item.folly_bullet.name=12.8см Высокоэнергетическая оболочка из звёздного металла -item.folly_bullet_nuclear.name=12.8см Ядерная оболочка -item.folly_bullet_du.name=12.8см ДУ-оболочка -item.pellet_canister.name=Картечь -item.pellet_charged.name=Ионизированные частицы -item.pellet_chlorophyte.name=Хлорофитные гранулы -item.pellet_mercury.name=Ртутные гранулы -item.pellet_meteorite.name=Метеоритные гранулы -item.pellet_claws.name=Острые металлические когти -item.gun_bolter.name=Болтер -item.gun_bolter_digamma.name=Дигамма пушка -item.gun_bio_revolver.name=Атлас -item.ammo_75bolt.name=Магазин болтов .75 (30rnd) -item.ammo_75bolt_incendiary.name=Магазин зажигательных болтов .75 (30rnd) -item.ammo_75bolt_he.name=Магазин фугасных болтов .75 (30rnd) -item.ammo_arty.name=16-дюймовый артиллерийский снаряд -item.ammo_arty_classic.name=16-дюймовый артиллерийский снаряд (Прямо из Факторио) -item.ammo_arty_he.name=Фугасный 16-дюймовый артиллерийский снаряд -item.ammo_arty_mini_nuke.name=Мини-ядерный 16-дюймовый артиллерийский снаряд -item.ammo_arty_nuke.name=Ядерный 16-дюймовый артиллерийский снаряд -item.ammo_arty_phosphorus.name=Фосфорный 16-дюймовый артиллерийский снаряд -item.ammo_arty_phosphorus_multi.name=Фосфорный 16-дюймовый мульти-снаряд -item.ammo_arty_mini_nuke_multi.name=Мини-ядерный 16-дюймовый мульти-снаряд -item.ammo_arty_phosgene.name=Фосгеновый 16-дюймовый артиллерийский снаряд -item.ammo_arty_mustard_gas.name=16-дюймовый артиллерийский снаряд с ипритом -item.ammo_arty_chlorine.name=Хлорный 16-дюймовый артиллерийский снаряд -item.ammo_luna.name=Лунный снайперский саботажный снаряд -item.ammo_luna_explosive.name=Лунный снайперский взрывной снаряд -item.ammo_luna_incendiary.name=Лунный снайперский зажигательный снаряд -item.gun_benelli.name=Автоматический дробовик Benelli (Барабан) -item.gun_coilgun.name=Гаусс-пушка -item.ammo_coilgun.name=Вольфрамовый шар для гаусс-пушки -item.ammo_coilgun_du.name=Ферроураниевый шар для гаусс-пушки -item.ammo_coilgun_rubber.name=Резиновый шар для гаусс-пушки - -item.gun_fireext.name=Огнетушитель -item.ammo_fireext.name=Бак с водой для огнетушителя -item.ammo_fireext_foam.name=Бак с пеной для огнетушителя -item.ammo_fireext_sand.name=Бак с песком для огнетушителя - -item.cordite.name=Кордит -item.ballistite.name=Баллистит -item.ball_dynamite.name=Динамит -item.ball_tnt.name=ТНТ -item.ball_tatb.name=TATB -item.ball_fireclay.name=Шамотная глина -item.ball_resin.name=Латекс -item.plate_kevlar.name=Кевларо-керамический состав - -item.weaponized_starblaster_cell.name=§cСмонтированная энергетическая ячейка Звездного бластера§r - -item.turret_light_ammo.name=Коробка боеприпасов лёгкой турели -item.turret_heavy_ammo.name=Коробка боеприпасов тяжёлой турели -item.turret_rocket_ammo.name=Боекомплект ракетной турели 2х4 -item.turret_flamer_ammo.name=Топливные баки огнеметной турели -item.turret_tau_ammo.name=Урановые боеприпасы Тау-турели -item.turret_spitfire_ammo.name=AA-Снаряд -item.turret_cwis_ammo.name=Барабан 20-мм патронов -item.turret_cheapo_ammo.name=Дешевые турельные боеприпасы 6x24 -item.ammo_shell.name=240мм Снаряд -item.ammo_shell_apfsds_du.name=240мм APFSTS-DU -item.ammo_shell_apfsds_t.name=240мм APFSTS-T -item.ammo_shell_explosive.name=240мм Фугасный снаряд -item.ammo_shell_w9.name=240мм Ядерный снаряд W9 - -item.clip_revolver_iron.name=Коробка с железными патронами -item.clip_revolver.name=Коробочка патронов калибра .357 -item.clip_revolver_gold.name=Маленький сундучок с золотыми пулями -item.clip_revolver_schrabidium.name=Контейнер для шрабидиевых боеприпасов -item.clip_rpg.name=Контейнер с ракетами -item.clip_xvl1456.name=Большая Коробка с изотопами -item.clip_osipr.name=Обойма AR2 -item.clip_immolator.name=Бак с топливом Иммолятора -item.clip_cryolator.name=Бак Криоляторного топлива -item.clip_revolver_lead.name=Коробка ядерных пуль -item.clip_revolver_cursed.name=Британский военный стандарт пистолетной обоймы -item.clip_fatman.name=Шесть упаковок ядерных мини-снарядов -item.clip_mirv.name=Три-в-одном пакет мини-МИРВов -item.clip_bf.name=Двойной Набор Жар-снарядов -item.clip_mp.name=Британский военный стандарт магазина штурмовой винтовки -item.clip_mp40.name=Обойма полуавтомата 9мм -item.clip_uzi.name=Обойма .22 LR Патронов -item.clip_uboinik.name=Коробка патронов картечи 12x70 -item.clip_lever_action.name=Коробка патронов картечи 12х74 -item.clip_bolt_action.name=Коробка из 12х74 пуль -item.clip_emp.name=Небольшой упаковка энергетических ячеек -item.clip_revolver_nightmare.name=Мешочек с пулями -item.clip_revolver_nightmare2.name=Пояс с лазерной картечью -item.clip_revolver_pip.name=Скоростной загрузчик с заражёнными пулями -item.clip_revolver_nopip.name=Коробочка с патронами .44 калибра -item.clip_stinger.name=Упаковка ракет "Стингер" -item.clip_jack.name=Коробка четверных патронов картечи 12х70 -item.clip_spark.name=Большой Электромагнитный Картридж -item.clip_hp.name=Чернильные Баки -item.clip_euthanasia.name=Последняя аптечка -item.clip_defabricator.name=Пояс с энерго-ячейками Дефабрикатора - -item.ammo_container.name=Контейнер с боеприпасами - -tile.block_schrabidium.name=Блок шрабидия -tile.block_schraranium.name=Блок шрарания -tile.block_schrabidate.name=Блок шрабидата железа -tile.block_euphemium.name=Блок эвфемия -tile.block_schrabidium_cluster.name=Шрабидиевый кластер -tile.block_euphemium_cluster.name=Эвфемиево-вытравленный кластер шрабидия -tile.vacuum.name=Вакуум -item.plate_gold.name=Золотая пластина - -item.syringe_empty.name=Пустой шприц -item.syringe_antidote.name=Антидот -item.syringe_poison.name=Ядовитая инъекция -item.syringe_awesome.name=ПОТРЯСАЮЩЕ -item.syringe_metal_empty.name=Металлический шприц -item.iv_blood.name=Пакет с кровью -item.iv_empty.name=Пакет для внутривенного введения -item.iv_xp.name=Пакет с опытом -item.iv_xp_empty.name=Пакет для магического внутривенного введения -item.syringe_metal_stimpak.name=Стимулятор -item.crackpipe.name=Оздоровительная трубка -item.syringe_metal_medx.name=Мед-X -item.syringe_metal_psycho.name=Психо -item.syringe_metal_super.name=Супер-стимулятор -item.syringe_taint.name=Водянистая инъекция порчи -item.syringe_mkunicorn.name=MKUNICORN -item.med_bag.name=Аптечка первой помощи -item.radaway.name=Антирадин -item.radaway_strong.name=Усиленный антирадин -item.radaway_flush.name=Супер-антирадин -item.radx.name=Рад-X -item.mentats.name=Ментаты -item.pt_mentats.name=Праздничные Ментаты -item.pill_iodine.name=Таблетка иода -item.pill_red.name=Красная таблетка -item.pill_herbal.name=Травяная паста -item.fmn.name=Таблетка флунитразепама -item.xanax.name=Препарат "НАКСА" против дигаммы -item.five_htp.name=Таблетки энтерамина -item.siox.name=Лекарство от рака "SiOx" -item.fuel_additive.antiknock.name=Антидетонационное средство из Тетраэтилсвинца -item.fuel_additive.deicer.name=Антиобледенитель -item.pirfenidone.name=Пирфенидон -item.plan_c.name=План С -item.med_ipecac.name=Сироп из рвотного корня -item.chocolate.name=Фирменный радиевый шоколад -item.med_ptsd.name=Лечение ПТСР -item.med_schiziphrenia.name=Лекарство от шизофрении -item.gas_mask_filter.name=Фильтр противогаза -item.gas_mask_filter_mono.name=Каталитический фильтр маски -item.cladding_paint.name=Свинцовая краска -item.cladding_rubber.name=Резиновая обшивка -item.cladding_iron.name=Железная обшивка -item.cladding_lead.name=Свинцовая обшивка -item.cladding_desh.name=Обшивка из деш -item.coin_maskman.name=Монета Маскмена -item.coin_creeper.name=Монета Ядерного крипера -item.coin_radiation.name=Монета Радиации -item.coin_worm.name=Монета Баллс-О-Трон -item.coin_ufo.name=Монета НЛО -item.coin_siege.name=Монета осады -item.ink.name=林 чернила -item.medal_liquidator.name=Медаль Ликвидатора -item.stealth_boy.name=Стелс-Бой -item.meltdown_tool.name=Аппликатор мгновенного расплавления Дятлова -item.hand_drill.name=Ручная дрель -item.hand_drill_desh.name=Ручная дрель из деша -item.rag.name=Тряпка -item.rag_damp.name=Влажная тряпка -item.rag_piss.name=Пропитанная мочой тряпка -item.safety_fuse.name=Фитиль -item.night_vision.name=Очки ночного зрения -item.night_vision.description.item=Даёт ночное зрение (нуждается в полном электрическом сете) -item.night_vision.description.in_armor=%s (даёт ночное зрение) - -entity.hbm.entity_bullet.name=Пуля -entity.hbm.entity_rocket.name=Ракета -entity.hbm.entity_schrabnel.name=Шрапнель -entity.entity_fucc_a_ducc.name=Утка -entity.entity_mob_nuclear_creeper.name=Ядерный крипер -entity.entity_mob_tainted_creeper.name=Заражённый порчей крипер -entity.entity_mob_phosgene_creeper.name=Фосгеновый крипер -entity.entity_mob_mask_man.name=Маскмен -entity.entity_mob_hunter_chopper.name=Вертолёт-охотник -entity.entity_cyber_crab.name=Киберкраб -entity.entity_tesla_crab.name=Теслакраб -entity.entity_taint_crab.name=Заражённый порчей теслакраб -entity.entity_elder_one.name=Крякос Старший -entity.entity_ntm_fbi.name=Агент ФБР -entity.entity_ntm_fbi_drone.name=Дрон ФБР -entity.entity_ntm_radiation_blaze.name=Элементаль Расплавления -entity.entity_glyphid.name=Глифид -entity.entity_glyphid_behemoth.name=Глифид-страж -entity.entity_glyphid_brawler.name=Глифид-солдат -entity.entity_glyphid_brenda.name=Бренда -entity.entity_glyphid_nuclear.name=Чмяк -entity.entity_glyphid_scout.name=Глифид-скаут -entity.entity_glyphid_blaster.name=Глифид-стрелок -entity.entity_glyphid_bombardier.name=Глифид-бомбардир -entity.entity_glyphid_digger.name=Глифид-копатель -entity.entity_parasite_maggot.name=Паразитическая личинка -entity.hbm.entity_balls_o_tron.name=Баллс-О-Трон Прайм -entity.hbm.entity_balls_o_tron_seg.name=Баллс-О-Трон Сегмент -entity.hbm.entity_ntm_ufo.name=Марсианский корабль вторжения -entity.entity_ntm_dtrooper.name=Тёмный солдат -entity.entity_mob_gold_creeper.name=Золотой крипер -entity.entity_mob_volatile_creeper.name=Возгораемый крипер -entity.entity_plastic_bag.name=Пластиковый пакетик -entity.entity_pigeon.name=Голубь - -eye.respond.no=§c"Нет" -eye.respond.nothing=...Оно не отвечает -eye.respond.yes=§c§l"Да" -eye.respond=Оно говорит: §o%s -eye.speakTo.join="Я бы хотел стать единым" -eye.speakTo.remember="Ты помнишь кто ты?" -eye.speakTo=Вы говорите Оку: §o%s - -item.plastic_bag.name=Пластиковый пакетик -item.cap_aluminium.name=Алюминиевый колпачок -item.shellntm.name=Оболочка из %s -item.hull_small_steel.name=Небольшая стальная оболочка -item.hull_small_aluminium.name=Небольшая алюминиевая оболочка -item.hull_small_aluminium.desc=Может быть вставлен в просверленный графит -item.hull_big_steel.name=Большая стальная оболочка -item.hull_big_aluminium.name=Большая алюминиевая оболочка -item.hull_big_titanium.name=Большая титановая оболочка -item.fins_flat.name=Плоский стальной кожух -item.fins_small_steel.name=Малые стальные ребра решетки -item.fins_big_steel.name=Большие стальные ребра решетки -item.fins_tri_steel.name=Большие стальные ребра -item.fins_quad_titanium.name=Маленькие титановые ребра -item.sphere_steel.name=Стальная сфера -item.pedestal_steel.name=Стальная стойка -item.dysfunctional_reactor.name=Нерабочий ядерный реактор item.rotor_steel.name=Большой стальной ротор -item.generator_steel.name=Корпус генератора -item.blade_titanium.name=Титановая лопость -item.blade_meteorite.name=Метеоритовое лезвие -item.turbine_titanium.name=Титановая паровая турбина -item.flywheel_beryllium.name=Бериллевый маховик -item.generator_front.name=Перед генератора -item.blade_tungsten.name=Усиленная вольфрамом лопасть -item.turbine_tungsten.name=Усиленные лопасти турбовентилятора -item.gear_large.name=Большая шестерня -item.gear_large_steel.name=Большая стальная шестерня - -item.combine_scrap.name=Металлолом Альянса -item.chopper_head.name=Кабина Вертолета-охотника -item.chopper_gun.name=Огневая установка -item.chopper_torso.name=Корпус Вертолёта-охотника -item.chopper_tail.name=Хвост Вертолёта-охотника -item.chopper_wing.name=Крыло Вертолета-охотника -item.chopper_blades.name=Лопасти Вертолёта-охотника - -item.igniter.name=Зажигатель -item.igniter.desc=(Щёлкните правой кнопкой мыши по Прототипу)$Это зеленая металлическая ручка с $ярко-красной кнопкой и маленькой крышкой.$Внизу выгравированы инициалы N.E.$. Кем бы ни был N.E., у него был отличный вкус в оттенках зеленого. -item.watch.name=Сломанные карманные часы -item.watch.desc=Маленькие синие карманные часы.$На стекле есть несколько трещин,$и несколько осколков отсутствуют.$Перестали тикать в 2:34. -item.apple_euphemium.name=Эвфемиевое Яблоко -item.ingot_euphemium.name=Эвфемиевый слиток -item.ingot_euphemium.desc=Совершенно особый и в то же время странный элемент. -item.nugget_euphemium.name=Эвфемиевый самородок -item.nugget_euphemium.desc=Маленький кусочек розового металла.$Его свойства до сих пор неизвестны,$ОБРАЩАЙТЕСЬ С НИМ осторожно. -item.rod_quad_euphemium.name=Выгоревший счетверённый шрабидиевый топливный стержень -item.plate_euphemium.name=Составная пластина из эвфемия -item.plate_dineutronium.name=Составная пластина из динейтрония -item.plate_desh.name=Составная пластина из деш -item.plate_bismuth.name=Составная пластина из висмута -item.plate_bismuth.desc=Ребята, клянусь, это алхимический символ висмута. - -item.plate_fuel_mox.name=МОКС-топливная пластина -item.plate_fuel_pu238be.name=Плутоний-238-Бериллевая топливная пластина -item.plate_fuel_pu239.name=Высокообогащенная плутониевая-239 топливная пластина -item.plate_fuel_ra226be.name=Радий-226-Бериллевая топливная пластина -item.plate_fuel_sa326.name=Высокообогащенная шрабидий-326 топливная пластина -item.plate_fuel_u233.name=Высокообогащенная уран-233 топливная пластина -item.plate_fuel_u235.name=Высокообогащенная уран-235 топливная пластина -item.waste_plate_mox.name=Обеднённая МОКС-топливная пластина -item.waste_plate_pu239.name=Обеднённая высокообогащенная плутониевая-239 топливная пластина -item.waste_plate_pu238be.name=Обеднённая плутоний-238-бериллевая топливная пластина -item.waste_plate_ra226be.name=Обеднённая радий-226-бериллевая топливная пластина -item.waste_plate_sa326.name=Обеднённая высокообогащенная шрабидий-326 топливная пластина -item.waste_plate_u233.name=Обеднённая высокообогащенная уран-233 топливная пластина -item.waste_plate_u235.name=Обеднённая высокообогащенная уран-235 топливная пластина - -item.euphemium_helmet.name=Эвфемиевый шлем -item.euphemium_plate.name=Эвфемиевый нагрудник -item.euphemium_legs.name=Эвфемиевые поножи -item.euphemium_boots.name=Эвфемиевые ботинки - -item.schrabidium_helmet.name=Шрабидиевый шлем -item.schrabidium_plate.name=Шрабидиевый нагрудник -item.schrabidium_legs.name=Шрабидиевые поножи -item.schrabidium_boots.name=Шрабидиевые ботинки -item.schrabidium_sword.name=Шрабидиевый меч -item.schrabidium_pickaxe.name=Шрабидиевая кирка -item.schrabidium_axe.name=Шрабидиевый топор -item.schrabidium_shovel.name=Шрабидиевая лопата -item.schrabidium_hoe.name=Шрабидиевая мотыга -item.chlorophyte_pickaxe.name=Хлорофитовая кирка -item.mese_pickaxe.name=Месе кирка -item.volcanic_pickaxe.name=Литая кирка -item.dwarven_pickaxe.name=Дварфийская кирка - -item.jetpack_boost.name=Импульсный ранец -item.jetpack_fly.name=Реактивный ранец -item.jetpack_break.name=Строительный ранец -item.jetpack_vector.name=Векторный реактивный ранец -item.jetpack_tank.name=Резервный топливный бак ранца -item.wings_limp.name=Хромые крылья -item.wings_murk.name=Мрачные крылья - -item.gun_kit_1.name=Ружейное масло -item.gun_kit_2.name=Комплект для ремонта оружия -item.chainsaw.name=Бензопила -item.crowbar.name=Mk.V Устройство Для Вскрытия Ящиков "Лом" -item.wrench.name=Газовый ключ -item.wrench_archineer.name=Гаечный ключ инженера -item.wrench_flipped.name=Лезвие на гаечном ключе -item.memespoon.name=§eЗемлекоп - -item.mask_of_infamy.name=Маска Позора - -tile.dynamite.name=Динамит -tile.tnt_ntm.name=Настоящий ТНТ -tile.det_cord.name=Детонирующий шнур -tile.det_charge.name=Заряд взрывчатки -tile.det_nuke.name=Ядерный заряд -tile.fissure_bomb.name=Вулканическая бомба -tile.det_miner.name=Шахтёрский заряд -tile.red_barrel.name=Взрывная бочка -tile.pink_barrel.name=Керосиновая бочка -tile.lox_barrel.name=Бочка с жидким кислородом -tile.taint_barrel.name=Бочка с осадком IMP -tile.yellow_barrel.name=Радиоктивная бочка -tile.vitrified_barrel.name=Бочка с остеклованными ядерными отходами - -item.designator.name=Целеуказатель ближнего действия -item.designator_range.name=Целеуказатель дальнего действия -item.designator_manual.name=Ручной целеуказатель -item.designator_arty_range.name=Артиллерийский целеуказатель -item.missile_assembly.name=Сборка малой ракеты -item.assembly_nuke.name=Оболочка ядерного минизаряда -item.missile_generic.name=Фугасная ракета -item.missile_decoy.name=Ракета-приманка -item.missile_anti_ballistic.name=Антибаллистическая ракета -item.missile_incendiary.name=Зажигательная ракета -item.missile_cluster.name=Кластерная ракета -item.missile_buster.name=Противобункерная ракета -item.missile_strong.name=Мощная фугасная ракета -item.missile_incendiary_strong.name=Мощная зажигательная ракета -item.missile_cluster_strong.name=Мощная кластерная ракета -item.missile_buster_strong.name=Улучшенная противобункерная ракета -item.missile_emp_strong.name=Мощная ЭМИ-ракета -item.missile_burst.name=Запасная ракета -item.missile_inferno.name=Ракета "Инферно Г. Р. Н. МК.II" -item.missile_rain.name=Бомбовый дождь -item.missile_drill.name=Крушитель бетона -item.missile_nuclear.name=Ядерная ракета -item.missile_nuclear_cluster.name=Термоядерная ракета -item.missile_endo.name=Эндотермическая ракета -item.missile_exo.name=Экзотермическая ракета -item.missile_doomsday.name=Ракета Судного Дня -item.missile_doomsday_rusted.name=Повреждённая ракета Судного Дня -item.missile_taint.name=Зараженная ракета -item.missile_micro.name=Микро-ядерная ракета -item.missile_bhole.name=Ракета "Черная Дыра" -item.missile_schrabidium.name=Шрабидиевая ракета -item.missile_emp.name=ЭМИ-ракета -item.missile_volcano.name=Тектоническая ракета -item.missile_shuttle.name=Космический шаттл Reliant Robin -item.missile_volcano.desc=Используя силу ядерной взрывчатки, мы можем вызвать вулкан! - -item.seg_10.name=Коннектор 10-го размера -item.seg_15.name=Коннектор 15-го размера -item.seg_20.name=Коннектор 20-го размера - -item.mp_c_1.name=Схема наведения ракеты 1-го уровня -item.mp_c_2.name=Схема наведения ракеты 2-го уровня -item.mp_c_3.name=Схема наведения ракеты 3-го уровня -item.mp_c_4.name=Схема наведения ракеты 4-го уровня -item.mp_c_5.name=Схема наведения ракеты 5-го уровня - -item.mp_warhead_10_he.name=Фугасная боеголовка 10-го размера -item.mp_warhead_10_incendiary.name=Зажигательная боеголовка 10-го размера -item.mp_warhead_10_buster.name=Бункерная боеголовка 10-го размера -item.mp_warhead_10_nuclear.name=Микро-Ядерная боеголовка 10-го размера -item.mp_warhead_10_taint.name=Зараженная боеголовка 10-го размера -item.mp_warhead_10_cloud.name=Боеголовка Розового Облака 10-го размера -item.mp_warhead_15_he.name=Фугасная боеголовка 15-го размера -item.mp_warhead_15_incendiary.name=Зажигательная боеголовка 15-го размера -item.mp_warhead_10_nuclear_large.name=Ядерная боеголовка 10-го размера -item.mp_warhead_15_nuclear.name=Ядерная боеголовка 15-го размера -item.mp_warhead_15_nuclear_shark.name=Ядерная боеголовка 15-го размера -item.mp_warhead_15_boxcar.name=Грузовой Вагон? 15-го размера -item.mp_warhead_15_n2.name=N² Мина 15-го размера -item.mp_warhead_15_balefire.name=Жар-Боеголовка 15-го размера -item.mp_warhead_15_turbine.name=Реактивный двигатель 15-го размера -item.mp_warhead_15_nuclear_mimi.name=Голова Мими-чана 15-го размера - -item.mp_fuselage_10_kerosene.name=Керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_kerosene_camo.name=Керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_kerosene_desert.name=Керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_kerosene_sky.name=Керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_kerosene_insulation.name=Керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_kerosene_flames.name=Керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_kerosene_sleek.name=Керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_kerosene_metal.name=Керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_kerosene_taint.name=Керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_solid.name=Твердотопливный фюзеляж 10-го размера -item.mp_fuselage_10_solid_flames.name=Твердотопливный фюзеляж 10-го размера -item.mp_fuselage_10_solid_insulation.name=Твердотопливный фюзеляж 10-го размера -item.mp_fuselage_10_solid_sleek.name=Твердотопливный фюзеляж 10-го размера -item.mp_fuselage_10_solid_soviet_glory.name=Твердотопливный фюзеляж 10-го размера -item.mp_fuselage_10_solid_cathedral.name=Твердотопливный фюзеляж 10-го размера -item.mp_fuselage_10_solid_moonlit.name=Твердотопливный фюзеляж 10-го размера -item.mp_fuselage_10_solid_battery.name=Твердотопливный фюзеляж 10-го размера -item.mp_fuselage_10_solid_duracell.name=Твердотопливный фюзеляж 10-го размера -item.mp_fuselage_10_xenon.name=Ксеноновый фюзеляж 10-го размера -item.mp_fuselage_10_xenon_bhole.name=Ксеноновый фюзеляж 10-го размера -item.mp_fuselage_10_long_kerosene.name=Длинный керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_long_kerosene_camo.name=Длинный керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_long_kerosene_desert.name=Длинный керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_long_kerosene_sky.name=Длинный керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_long_kerosene_flames.name=Длинный керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_long_kerosene_insulation.name=Длинный керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_long_kerosene_sleek.name=Длинный керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_long_kerosene_metal.name=Длинный керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_long_kerosene_taint.name=Длинный керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_long_kerosene_vap.name=Длинный керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_long_kerosene_dash.name=Длинный керосиновый фюзеляж 10-го размера -item.mp_fuselage_10_long_solid.name=Длинный твердотопливный фюзеляж 10-го размера -item.mp_fuselage_10_long_solid_flames.name=Длинный твердотопливный фюзеляж 10-го размера -item.mp_fuselage_10_long_solid_insulation.name=Длинный твердотопливный фюзеляж 10-го размера -item.mp_fuselage_10_long_solid_sleek.name=Длинный твердотопливный фюзеляж 10-го размера -item.mp_fuselage_10_long_solid_soviet_glory.name=Длинный твердотопливный фюзеляж 10-го размера -item.mp_fuselage_10_long_solid_silvermoonlight.name=Длинный твердотопливный фюзеляж 10-го размера -item.mp_fuselage_10_long_solid_bullet.name=Длинный твердотопливный фюзеляж 10-го размера - -item.mp_fuselage_10_15_kerosene.name=Керосиновый фюзеляж 10/15 размера -item.mp_fuselage_10_15_solid.name=Твердотопливный фюзеляж 10/15 размера -item.mp_fuselage_10_15_hydrogen.name=Водородный фюзеляж 10/15 размера -item.mp_fuselage_10_15_balefire.name=Жар-фюзеляж 10/15 размера - -item.mp_fuselage_15_kerosene.name=Керосиновый фюзеляж 15-го размера -item.mp_fuselage_15_kerosene_camo.name=Керосиновый фюзеляж 15-го размера -item.mp_fuselage_15_kerosene_desert.name=Керосиновый фюзеляж 15-го размера -item.mp_fuselage_15_kerosene_sky.name=Керосиновый фюзеляж 15-го размера -item.mp_fuselage_15_kerosene_insulation.name=Керосиновый фюзеляж 15-го размера -item.mp_fuselage_15_kerosene_metal.name=Керосиновый фюзеляж 15-го размера -item.mp_fuselage_15_kerosene_decorated.name=Керосиновый фюзеляж 15-го размера -item.mp_fuselage_15_kerosene_steampunk.name=Керосиновый фюзеляж 15-го размера -item.mp_fuselage_15_kerosene_polite.name=Керосиновый фюзеляж 15-го размера -item.mp_fuselage_15_kerosene_blackjack.name=Керосиновый фюзеляж 15-го размера -item.mp_fuselage_15_kerosene_lambda.name=Керосиновый фюзеляж 15-го размера -item.mp_fuselage_15_kerosene_minuteman.name=Керосиновый фюзеляж 15-го размера -item.mp_fuselage_15_kerosene_taint.name=Керосиновый фюзеляж 15-го размера -item.mp_fuselage_15_kerosene_pip.name=Керосиновый фюзеляж 15-го размера -item.mp_fuselage_15_kerosene_yuck.name=Керосиновый фюзеляж 15-го размера -item.mp_fuselage_15_solid.name=Твердотопливный фюзеляж 15-го размера -item.mp_fuselage_15_solid_insulation.name=Твердотопливный фюзеляж 15-го размера -item.mp_fuselage_15_solid_soviet_glory.name=Твердотопливный фюзеляж 15-го размера -item.mp_fuselage_15_solid_soviet_stank.name=Твердотопливный фюзеляж 15-го размера -item.mp_fuselage_15_solid_desh.name=Твердотопливный фюзеляж 15-го размера -item.mp_fuselage_15_solid_silvermoonlight.name=Твердотопливный фюзеляж 15-го размера -item.mp_fuselage_15_solid_faust.name=Твердотопливный фюзеляж 15-го размера -item.mp_fuselage_15_solid_snowy.name=Твердотопливный фюзеляж 15-го размера -item.mp_fuselage_15_solid_panorama.name=Твердотопливный фюзеляж 15-го размера -item.mp_fuselage_15_solid_roses.name=Твердотопливный фюзеляж 15-го размера -item.mp_fuselage_15_hydrogen.name=Водородный фюзеляж 15-го размера -item.mp_fuselage_15_hydrogen_cathedral.name=Водородный фюзеляж 15-го размера -item.mp_fuselage_15_balefire.name=Жар-фюзеляж 15-го размера -item.mp_fuselage_15_solid_mimi.name=Твердотопливный фюзеляж Мими-чана 15-го размера - -item.mp_fuselage_15_20_kerosene.name=Керосиновый фюзеляж 15/20 размера -item.mp_fuselage_15_20_kerosene_magnusson.name=Керосиновый фюзеляж 15/20 размера -item.mp_fuselage_15_20_solid.name=Твердотопливный фюзеляж 15/20 размера - -item.mp_stability_10_flat.name=Плоские стабилизаторы 10-го размера -item.mp_stability_10_cruise.name=Крылатый стабилизатор 10-го размера -item.mp_stability_10_space.name=Космический стабилизатор 10-го размера -item.mp_stability_15_flat.name=Плоские стабилизаторы 15-го размера -item.mp_stability_15_thin.name=Тонкие стабилизаторы 15-го размера -item.mp_stability_15_soyuz.name=Заострённые стабилизаторы 15-го размера - -item.mp_thruster_10_kerosene.name=Жидкостный ракетный двигатель 10-го размера -item.mp_thruster_10_solid.name=Твердотопливный ракетный двигатель 10-го размера -item.mp_thruster_10_xenon.name=Ионный двигатель 10-го размера -item.mp_thruster_15_kerosene.name=Жидкостный ракетный двигатель 15-го размера -item.mp_thruster_15_kerosene_dual.name=Двойной жидкостный двигатель 15-го размера -item.mp_thruster_15_kerosene_triple.name=Тройной жидкостный двигатель 15-го размера -item.mp_thruster_15_solid.name=Твердотопливный ракетный двигатель 15-го размера -item.mp_thruster_15_solid_hexdecuple.name=Шестнадцатисопловые твердотопливные двигатели 15-го размера -item.mp_thruster_15_hydrogen.name=Водородный двигатель 15-го размера -item.mp_thruster_15_hydrogen_dual.name=Двойной водородный двигатель 15-го размера -item.mp_thruster_15_balefire_short.name=Жар-двигатель с ядерным подогревателем 15-го размера (Укороченный) -item.mp_thruster_15_balefire.name=Жар-двигатель с ядерным подогревателем 15-го размера -item.mp_thruster_15_balefire_large.name=Жар-вигатель с ядерным подогревателем 15-го размера (Сверхмощное Сопло) -item.mp_thruster_15_balefire_large_rad.name=Жар-двигатель с ядерным подогревателем 15-го размера (Сверхмощное Сопло) -item.mp_thruster_20_kerosene.name=Жидкостный ракетный двигатель 20-го размера -item.mp_thruster_20_kerosene_dual.name=Двойной жидкостный ракетный двигатель 20-го размера -item.mp_thruster_20_kerosene_triple.name=Тройной жидкостный ракетный двигатель 20-го размера -item.mp_thruster_20_solid.name=Твердотопливный ракетный двигатель 20-го размера -item.mp_thruster_20_solid_multi.name=Твердотопливные 30-сопловые двигатели 20-го размера -item.mp_thruster_20_solid_multier.name=Твердотопливные 47-сопловые двигатели 20-го размера - -item.missile_custom.name=Пользовательская Ракета -item.missile_stealth.name=Стелс-ракета - -item.missile_carrier.name=Ракета-носитель HTR-01 -item.missile_soyuz.name=Союз-ФГ -item.missile_soyuz_lander.name=Орбитальный Модуль -item.missile_soyuz_lander.desc=А также паршивый посадочный модуль! -item.sat_mapper.name=Спутник для Картографирования Поверхности -item.sat_scanner.name=Спутник с модулем глубинно-ресурсного сканирования -item.sat_radar.name=Спутник с Радиолокационным Зондированием -item.sat_laser.name=Орбитальный Луч Смерти -item.sat_foeq.name=ВСАП-МК.I зонд “FOEQ Duna” с экспериментальным ядерным двигателем -item.sat_resonator.name=Спутник с Зен-Резонатором -item.sat_miner.name=Модуль для добычи астероидов -item.sat_lunar_miner.name=Модуль для добычи лунного грунта -item.sat_gerald.name=Геральд Строительный Андроид -item.sat_chip.name=Спутниковый ID-чип -item.sat_interface.name=Интерфейс спутникового управления -item.sat_coord.name=Спутниковый целеуказатель -item.sat_designator.name=Спутниковый лазерный целеуказатель -item.sat_relay.name=Спутниковый радарный передатчик -tile.sat_mapper.name=Спутник для картографирования поверхности (Декор) -tile.sat_scanner.name=Спутник с модулем глубинно-ресурсного сканирования (Декор) -tile.sat_radar.name=Спутник с радиолокационным зондированием (Декор) -tile.sat_laser.name=Орбитальный Луч Смерти (Декор) -tile.sat_foeq.name=ВСАП-МК.I зонд “FOEQ Duna” с экспериментальным ядерным двигателем (Декор) -tile.sat_resonator.name=Спутник с Зен-Резонатором (Декор) - -item.hazmat_helmet.name=Защитный шлем -item.hazmat_plate.name=Защитный нагрудник -item.hazmat_legs.name=Защитные поножи -item.hazmat_boots.name=Защитные ботинки -item.hazmat_helmet_red.name=Улучшенный защитный шлем -item.hazmat_plate_red.name=Улучшенный защитный нагрудник -item.hazmat_legs_red.name=Улучшенные защитные поножи -item.hazmat_boots_red.name=Улучшенные защитные ботинки -item.hazmat_helmet_grey.name=Высокоэффективный защитный шлем -item.hazmat_plate_grey.name=Высокоэффективный защитный нагрудник -item.hazmat_legs_grey.name=Высокоэффективные защитные поножи -item.hazmat_boots_grey.name=Высокоэффективные защитные ботинки -item.hazmat_paa_helmet.name=Боевой защитный шлем PaA -item.hazmat_paa_plate.name=Боевой защитный нагрудник PaA -item.hazmat_paa_legs.name=Боевые защитные поножи PaA -item.hazmat_paa_boots.name=Боевые защитные ботинки PaA -item.liquidator_boots.name=Ботинки костюма Ликвидатора -item.liquidator_helmet.name=Шлем костюма Ликвидатора -item.liquidator_legs.name=Поножи костюма Ликвидатора -item.liquidator_plate.name=Нагрудник костюма Ликвидатора -item.asbestos_helmet.name=Огнезащитный шлем -item.asbestos_plate.name=Огнезащитный нагрудник -item.asbestos_legs.name=Огнезащитные поножи -item.asbestos_boots.name=Огнезащитные ботинки -item.vault_suit.name=Комбинезон Убежища -item.vault_pants.name=Штаны комбинезона Убежища -item.nossy_hat.name=Сказочная шляпа -item.no9.name=Шахтёрская каска - -item.paa_plate.name=Защищающая грудная пластина из PaA -item.paa_legs.name=Укреплённые поножи из PaA -item.paa_boots.name="Старые добрые ботинки" из PaA - -item.jackt.name=Чертовски стильная баллистическая куртка -item.jackt2.name=Чертовски стильная баллистическая куртка 2: Токийский Дрифт - -item.goggles.name=Защитные очки -item.ashglasses.name=Пепельные очки -item.gas_mask.name=Противогаз -item.gas_mask_m65.name=Противогаз M65-Z -item.gas_mask_mono.name=Полумаска -item.gas_mask_olde.name=Кожаный противогаз -item.attachment_mask.name=Прикрепляемый противогаз -item.mask_piss.name=Траншейный противогаз -item.mask_rag.name=Грубая защитная маска -item.attachment_mask_mono.name=Прикрепляемая полумаска -item.oxy_mask.name=Кислородная маска -item.t45_helmet.name=Шлем силовой брони T45 -item.t45_plate.name=Нагрудник силовой брони T45 -item.t45_legs.name=Поножи силовой брони T45 -item.t45_boots.name=Ботинки силовой брони T45 -item.ajr_boots.name=Ботинки Стальных Рейнджеров -item.ajr_helmet.name=Шлем Стальных Рейнджеров -item.ajr_legs.name=Поножи Стальных Рейнджеров -item.ajr_plate.name=Нагрудник Стальных Рейнджеров -item.ajro_boots.name=Ботинки силовой брони AJR -item.ajro_helmet.name=Шлем силовой брони AJR -item.ajro_legs.name=Поножи силовой брони AJR -item.ajro_plate.name=Нагрудник силовой брони AJR -item.fau_boots.name=Фау-ботинки -item.fau_helmet.name=Фау-шлем -item.fau_legs.name=Фау-поножи -item.fau_plate.name=Фау-нагрудник item.rpa_boots.name=Ботинки силовой брони Оставшихся item.rpa_helmet.name=Шлем силовой брони Оставшихся item.rpa_legs.name=Поножи силовой брони Оставшихся item.rpa_plate.name=Нагрудник силовой брони Оставшихся +item.rtg_unit.name=РИТЭГ-элемент +item.rubber_gloves.name=Толстые резиновые перчатки +item.rune_blank.name=Пустая каталитическая матрица +item.rune_dagaz.name=Сбалансированная каталитическая матрица +item.rune_hagalaz.name=Грубая каталитическая матрица +item.rune_isa.name=Охлаждающая каталитическая матрица +item.rune_jera.name=Мультипликативная каталитическая матрица +item.rune_thurisaz.name=Аддитивная каталитическая матрица +item.safety_fuse.name=Фитиль +item.sat_base.name=Основа спутника +item.sat_chip.name=Спутниковый ID-чип +item.sat_coord.name=Спутниковый целеуказатель +item.sat_designator.name=Спутниковый лазерный целеуказатель +item.sat_relay.name=Спутниковый радарный передатчик +item.sat_foeq.name=ВСАП-МК.I зонд “FOEQ Duna” с экспериментальным ядерным двигателем +item.sat_gerald.name=Геральд Строительный Андроид +item.sat_head_laser.name=Луч смерти +item.sat_head_mapper.name=Оптическая камера с высоким коэффициентом усиления +item.sat_head_radar.name=Радар +item.sat_head_resonator.name=Зен-резонатор +item.sat_head_scanner.name=Сканер M700 +item.sat_interface.name=Интерфейс спутникового управления +item.sat_laser.name=Орбитальный Луч Смерти +item.sat_lunar_miner.name=Модуль для добычи лунного грунта +item.sat_mapper.name=Спутник для Картографирования Поверхности +item.sat_miner.name=Модуль для добычи астероидов +item.sat_radar.name=Спутник с Радиолокационным Зондированием +item.sat_resonator.name=Спутник с Зен-Резонатором +item.sat_scanner.name=Спутник с модулем глубинно-ресурсного сканирования +item.sawblade.name=Лезвие пилорамы +item.schnitzel_vegan.name=Вегетарианский шницель +item.schrabidium_axe.name=Шрабидиевый топор +item.schrabidium_boots.name=Шрабидиевые ботинки +item.schrabidium_hammer.name=Шрабидиевый молот +item.schrabidium_helmet.name=Шрабидиевый шлем +item.schrabidium_hoe.name=Шрабидиевая мотыга +item.schrabidium_legs.name=Шрабидиевые поножи +item.schrabidium_pickaxe.name=Шрабидиевая кирка +item.schrabidium_plate.name=Шрабидиевый нагрудник +item.schrabidium_shovel.name=Шрабидиевая лопата +item.schrabidium_sword.name=Шрабидиевый меч +item.scrap.name=Металлолом +item.scrap_nuclear.name=Радиоактивный мусор +item.scrap_oil.name=Нефтяные отходы +item.scrap_plastic.name=Куски пластмассы +item.scraps.name=Литейный шлак +item.screwdriver.name=Отвёртка +item.screwdriver.desc=Может использоваться вместо предохранителя... +item.screwdriver_desh.name=Деш-отвёртка +item.scrumpy.name=Бутылка "Скрампи" +item.security_boots.name=Ботинки охранника +item.security_helmet.name=Шлем охранника +item.security_legs.name=Поножи охранника +item.security_plate.name=Нагрудник охранника +item.seg_10.name=Коннектор 10-го размера +item.seg_15.name=Коннектор 15-го размера +item.seg_20.name=Коннектор 20-го размера +item.serum.name=Сыворотка +item.servo_set.name=Набор сервоприводов +item.servo_set_desh.name=Набор деш-сервоприводов +item.settings_tool.name=Устройство настройки +item.shackles.name=Оковы +item.shellntm.name=Оболочка (%s) +item.shimmer_axe.name=Отлитый топор +item.shimmer_axe_head.name=Тяжелое лезвие топора +item.shimmer_handle.name=Усиленная полимерная ручка +item.shimmer_head.name=Тяжелая головка молота +item.shimmer_sledge.name=Отлитая кувалда +item.singularity.name=Сингулярность +item.singularity_counter_resonant.name=Заключённая контр-резонансная сингулярность +item.singularity_micro.name=Микро-сингулярность +item.singularity_spark.name=Спарк-сингулярность +item.singularity_super_heated.name=Перегретая резонирующая сингулярность +item.siox.name=Лекарство от рака "SiOx" +item.siox.desc=Разворачивает мезотелиому силой Асбеста! +item.siphon.name=Сифон +item.siren_track.name=Трек сирены +item.sliding_blast_door_skin.0.name=Скин раздвижной двери: Обычный +item.sliding_blast_door_skin.1.name=Скин раздвижной двери: Вариант 1 +item.sliding_blast_door_skin.2.name=Скин раздвижной двери: Вариант 2 +item.smashing_hammer.name=Убойный молот +item.solid_fuel.name=Твердое топливо +item.solid_fuel_bf.name=Твердое топливо (Жар-пламя) +item.solid_fuel_presto.name=Топливное полено +item.solid_fuel_presto_bf.name=Топливное полено (Жар-пламя) +item.solid_fuel_presto_triplet.name=Сжатые топливные поленья +item.solid_fuel_presto_triplet_bf.name=Сжатые топливные полена (Жар-пламя) +item.solinium_core.name=Полустабильный солиниевый заряд +item.solinium_igniter.name=Солиниевый импульсный воспламенитель +item.solinium_kit.name=Солиниевый комплект +item.solinium_propellant.name=Солиниевый сжимающий заряд +item.sopsign.name=Боевой топор из знака С ОП +item.spawn_duck.name=Золотое яйцо +item.spawn_ufo.name=Марсианский корабль вторжения +item.spawn_worm.name=Баллс-О-Трон Прайм +item.sphere_steel.name=Стальная сфера +item.spider_milk.name=Бутылка паучьего молока +item.spongebob_macaroni.name=Сырные макаронны "Губка Боб" +item.stamp_357.name=Штамп пули .357 Магнум +item.stamp_44.name=Штамп пули .44 Магнум +item.stamp_50.name=Штамп большого калибра +item.stamp_9.name=Штамп малого калибра +item.stamp_book.printing1.name=Штамп для печати (Страница 1) +item.stamp_book.printing2.name=Штамп для печати (Страница 2) +item.stamp_book.printing3.name=Штамп для печати (Страница 3) +item.stamp_book.printing4.name=Штамп для печати (Страница 4) +item.stamp_book.printing5.name=Штамп для печати (Страница 5) +item.stamp_book.printing6.name=Штамп для печати (Страница 6) +item.stamp_book.printing7.name=Штамп для печати (Страница 7) +item.stamp_book.printing8.name=Штамп для печати (Страница 8) +item.stamp_desh_circuit.name=Штамп микросхемы (Деш) +item.stamp_desh_flat.name=Плоский штамп (Деш) +item.stamp_desh_plate.name=Штамп пластины (Деш) +item.stamp_desh_wire.name=Штамп провода (Деш) +item.stamp_desh_357.name=Штамп пули .357 Магнум (Деш) +item.stamp_desh_44.name=Штамп пули .44 Магнум (Деш) +item.stamp_desh_50.name=Штамп большого калибра (Деш) +item.stamp_desh_9.name=Штамп малого калибра (Деш) +item.stamp_iron_circuit.name=Штамп микросхемы (Железо) +item.stamp_iron_flat.name=Плоский штамп (Железо) +item.stamp_iron_plate.name=Штамп пластины (Железо) +item.stamp_iron_wire.name=Штамп провода (Железо) +item.stamp_obsidian_circuit.name=Штамп микросхемы (Обсидиан) +item.stamp_obsidian_flat.name=Плоский штамп (Обсидиан) +item.stamp_obsidian_plate.name=Штамп пластины (Обсидиан) +item.stamp_obsidian_wire.name=Штамп провода (Обсидиан) +item.stamp_steel_circuit.name=Штамп микросхемы (Сталь) +item.stamp_steel_flat.name=Плоский штамп (Сталь) +item.stamp_steel_plate.name=Штамп пластины (Сталь) +item.stamp_steel_wire.name=Штамп провода (Сталь) +item.stamp_stone_circuit.name=Штамп микросхемы (Камень) +item.stamp_stone_flat.name=Плоский штамп (Камень) +item.stamp_stone_plate.name=Штамп пластины (Камень) +item.stamp_stone_wire.name=Штамп провода (Камень) +item.stamp_titanium_circuit.name=Штамп микросхемы (Титан) +item.stamp_titanium_flat.name=Плоский штамп (Титан) +item.stamp_titanium_plate.name=Штамп пластины (Титан) +item.stamp_titanium_wire.name=Штамп провода (Титан) +item.starmetal_axe.name=Топор из звёздного металла +item.starmetal_boots.name=Ботинки из звёздного металла +item.starmetal_helmet.name=Шлем из звёздного металла +item.starmetal_hoe.name=Мотыга из звёздного металла +item.starmetal_legs.name=Поножи из звёздного металла +item.starmetal_pickaxe.name=Кирка из звёздного металла +item.starmetal_plate.name=Нагрудник из звёздного металла +item.starmetal_shovel.name=Лопата из звёздного металла +item.starmetal_sword.name=Меч из звёздного металла +item.static_sandwich.name=Сэндвич с помехами +item.stealth_boy.name=Стелс-Бой item.steamsuit_boots.name=Ботинки парового костюма item.steamsuit_helmet.name=Респираторный шлем парового костюма item.steamsuit_legs.name=Поножи парового костюма item.steamsuit_plate.name=Нагрудник парового костюма -item.bj_boots.name=Лунные шипованные ботинки -item.bj_helmet.name=Повязка с тепловым сенсором -item.bj_legs.name=Лунные кибернетические замены ног -item.bj_plate.name=Лунная кибернетическая обшивка -item.bj_plate_jetpack.name=Лунная кибернетическая обшивка (с крыльями) -item.hev_boots.name=Ботинки H.E.V Модели IV -item.hev_plate.name=Нагрудник H.E.V Модели IV -item.hev_helmet.name=Шлем H.E.V Модели IV -item.hev_legs.name=Поножи H.E.V Модели IV -item.hev_battery.name=Батарея костюма -tile.hev_battery.name=Батарея костюма -item.bismuth_boots.name=Сандали из висмута -item.bismuth_helmet.name=Головной убор из висмута -item.bismuth_legs.name=Наколенники из висмута -item.bismuth_plate.name=Наплечники, ожерелье и набедренная повязка из висмута -item.dieselsuit_boots.name=Высокие каблуки с дизельным двигателем -item.dieselsuit_helmet.name=Головной датчик окружающей среды с дизельным двигателем -item.dieselsuit_legs.name=Сервоприводы для ног с дизельным приводом -item.dieselsuit_plate.name=Кибернетика с дизельным двигателем -item.envsuit_boots.name=Ботинки защитного костюма M1TTY -item.envsuit_helmet.name=Шлем защитного костюма M1TTY -item.envsuit_legs.name=Поножи защитного костюма M1TTY -item.envsuit_plate.name=Нагрудник защитного костюма M1TTY +item.steel_axe.name=Стальной топор +item.steel_boots.name=Стальные ботинки +item.steel_helmet.name=Стальной шлем +item.steel_hoe.name=Стальная мотыга +item.steel_legs.name=Стальные поножи +item.steel_pickaxe.name=Стальная кирка +item.steel_plate.name=Стальной нагрудник +item.steel_shovel.name=Стальная лопата +item.steel_sword.name=Стальной меч +item.stick_c4.name=Шашка C-4 +item.stick_dynamite.name=Динамитная шашка +item.stick_dynamite_fishing.name=Динамитная шашка для рыбалки +item.stick_semtex.name=Шашка семтекса +item.stick_tnt.name=Шашка ТНТ +item.stopsign.name=Боевой топор из знака СТОП +item.sulfur.name=Сера +item.survey_scanner.name=Сканер +item.syringe_antidote.name=Антидот +item.syringe_awesome.name=ПОТРЯСАЮЩЕ +item.syringe_empty.name=Пустой шприц +item.syringe_metal_empty.name=Металлический шприц +item.syringe_metal_medx.name=Мед-X +item.syringe_metal_psycho.name=Психо +item.syringe_metal_stimpak.name=Стимулятор +item.syringe_metal_super.name=Супер-стимулятор +item.syringe_mkunicorn.name=MKUNICORN +item.syringe_poison.name=Ядовитая инъекция +item.syringe_taint.name=Водянистая инъекция порчи +item.t45_boots.name=Ботинки силовой брони T45 +item.t45_helmet.name=Шлем силовой брони T45 +item.t45_kit.name=Комплект силовой брони T45 +item.t45_legs.name=Поножи силовой брони T45 +item.t45_plate.name=Нагрудник силовой брони T45 +item.tank_steel.name=Стальной бак +item.taurun_boots.name=Taurun Boots +item.taurun_helmet.name=Taurun Helmet +item.taurun_legs.name=Taurun Leggings +item.taurun_plate.name=Taurun Chestplate +item.tank_waste_0.name=Контейнер с отходами +item.tank_waste_1.name=Контейнер с отходами +item.tank_waste_2.name=Контейнер с отходами +item.tank_waste_3.name=Контейнер с отходами +item.tank_waste_4.name=Контейнер с отходами +item.tank_waste_5.name=Контейнер с отходами +item.tank_waste_6.name=Контейнер с отходами +item.tank_waste_7.name=Контейнер с отходами +item.tank_waste_8.name=Контейнер с отходами +item.telepad.name=Телепад +item.tem_flakes.name=Хлопья Тэм +item.template_folder.name=Папка шаблонов машин +item.template_folder.desc=Шаблоны машин: Бумага + Краситель$Индетификатор: Железная пластина + Краситель$Штамп для пресса: Плоский штамп$Трек сирены: Изолятор + Стальная пластина +item.test_nuke_igniter.name=Активатор +item.test_nuke_propellant.name=Взрывчатка +item.test_nuke_tier1_bullet.name=Uranium-235 Projectile (Tier 1) +item.test_nuke_tier1_shielding.name=Отражатель нейтронов (уровень 1) +item.test_nuke_tier1_target.name=Subcritical Uranium-235 Target (Tier 1) +item.test_nuke_tier2_bullet.name=Снаряд MOX (уровень 2) +item.test_nuke_tier2_shielding.name=Отражатель нейтронов (уровень 2) +item.test_nuke_tier2_target.name=Субкритическая цель MOX (уровень 2) +item.thermo_element.name=Термоэлектрический элемент +item.thermo_unit_empty.name=Термический распределительный узел +item.thermo_unit_endo.name=Устройство для распределения холода +item.thermo_unit_exo.name=Устройство для распределения тепла +item.thruster_large.name=Большой двигатель +item.thruster_medium.name=Средний двигатель +item.thruster_nuclear.name=Ядерный ракетный двигатель LV-N +item.thruster_small.name=Малый двигатель +item.titanium_axe.name=Титановый топор +item.titanium_boots.name=Титановые ботинки +item.titanium_filter.name=Титановый фильтр +item.titanium_helmet.name=Титановый шлем +item.titanium_hoe.name=Титановая мотыга +item.titanium_legs.name=Титановые поножи +item.titanium_pickaxe.name=Титановая кирка +item.titanium_plate.name=Титановый нагрудник +item.titanium_shovel.name=Титановая лопата +item.titanium_sword.name=Титановый меч +item.toothpicks.name=Зубочистки +item.train.cargo_tram.name=Трамвай с плоской платформой item.trenchmaster_boots.name=Сапоги траншейщика item.trenchmaster_helmet.name=Шлем траншейщика item.trenchmaster_legs.name=Поножи траншейщика item.trenchmaster_plate.name=Нагрудник траншейщика - -tile.mush.name=Светящийся гриб -tile.waste_mycelium.name=Светящийся мицелий - -tile.sellafield_slaked.name=Погашенный селлафит -tile.sellafield.0.name=Селлафит -tile.sellafield.1.name=Горячий селлафит -tile.sellafield.2.name=Кипящий селлафит -tile.sellafield.3.name=Пылающий селлафит -tile.sellafield.4.name=Адский селлафит -tile.sellafield.5.name=Селлафит-кориум -tile.block_corium.name=Кориум -tile.corium_block.name=Кориум -tile.block_corium_cobble.name=Буриум - -item.warhead_generic_small.name=Малая боеголовка -item.warhead_generic_medium.name=Средняя боеголовка -item.warhead_generic_large.name=Большая боеголовка -item.warhead_incendiary_small.name=Малая зажигательная боеголовка -item.warhead_incendiary_medium.name=Средняя зажигательная боеголовка -item.warhead_incendiary_large.name=Большая зажигательная боеголовка -item.warhead_cluster_small.name=Малая кластерная боеголовка -item.warhead_cluster_medium.name=Средняя кластерная боеголовка -item.warhead_cluster_large.name=Большая кластерная боеголовка -item.warhead_buster_small.name=Малая бункерная боеголовка -item.warhead_buster_medium.name=Средняя бункерная боеголовка +item.trinitite.name=Тринитит +item.tritium_deuterium_cake.name=Тритий-дейтериевый пирог +item.tritium_deuterium_cake.desc=Не настоящий пирог, но зато отличное$универсальное термоядерное топливо! +item.tsar_core.name=Ядро Царь-бомбы +item.tsar_kit.name=Комплект Царь Бомбы +item.turbine_titanium.name=Титановая паровая турбина +item.turbine_tungsten.name=Усиленные лопасти турбовентилятора +item.turret_biometry.name=Карта телелинка +item.turret_cheapo_ammo.name=Дешевые турельные боеприпасы 6x24 +item.turret_chip.name=Турельный чип искусственного интеллекта +item.turret_control.name=Турельный контроллер +item.turret_cwis_ammo.name=Барабан 20-мм патронов +item.turret_flamer_ammo.name=Топливные баки огнеметной турели +item.turret_heavy_ammo.name=Коробка боеприпасов тяжёлой турели +item.turret_light_ammo.name=Коробка боеприпасов лёгкой турели +item.turret_rocket_ammo.name=Боекомплект ракетной турели 2х4 +item.turret_spitfire_ammo.name=AA-Снаряд +item.turret_tau_ammo.name=Урановые боеприпасы Тау-турели +item.twinkie.name=Твинки +item.ullapool_caber.name=Аллапульское бревно +item.undefined.name=Undefined +item.upgrade_5g.name=Улучшение "5G излучение" +item.upgrade_afterburn_1.name=Улучшение механизма "Форсаж" уровня I +item.upgrade_afterburn_2.name=Улучшение механизма "Форсаж" уровня II +item.upgrade_afterburn_3.name=Улучшение механизма "Форсаж" уровня III +item.upgrade_centrifuge.name=Улучшение "Центрифуга" +item.upgrade_crystallizer.name=Улучшение "Кристаллизатор" +item.upgrade_effect_1.name=Улучшение механизма "Эффективность" уровня I +item.upgrade_effect_2.name=Улучшение механизма "Эффективность" уровня II +item.upgrade_effect_3.name=Улучшение механизма "Эффективность" уровня III +item.upgrade_ejector_1.name=Улучшение извлекателя "Скорость" I уровня +item.upgrade_ejector_2.name=Улучшение извлекателя "Скорость" II уровня +item.upgrade_ejector_3.name=Улучшение извлекателя "Скорость" III уровня +item.upgrade_fortune_1.name=Улучшение механизма "Удача" уровня I +item.upgrade_fortune_2.name=Улучшение механизма "Удача" уровня II +item.upgrade_fortune_3.name=Улучшение механизма "Удача" уровня III +item.upgrade_gc_speed.name=Улучшение "Разгон газовой центрифуги" +item.upgrade_health.name=Улучшение прочности излучателя +item.upgrade_muffler.name=Улучшение "Глушитель" +item.upgrade_nullifier.name=Улучшение "Уничтожитель мусора" +item.upgrade_overdrive_1.name=Улучшение механизма "Перегруз" уровня I +item.upgrade_overdrive_2.name=Улучшение механизма "Перегруз" уровня II +item.upgrade_overdrive_3.name=Улучшение механизма "Перегруз" уровня III +item.upgrade_power_1.name=Улучшение механизма "Энергосбережение" уровня I +item.upgrade_power_2.name=Улучшение механизма "Энергосбережение" уровня II +item.upgrade_power_3.name=Улучшение механизма "Энергосбережение" уровня III +item.upgrade_radius.name=Улучшение радиуса излучателя +item.upgrade_screm.name=Улучшение "Кричащий учёный" +item.upgrade_shredder.name=Улучшение "Измельчитель" +item.upgrade_smelter.name=Улучшение "Плавильня" +item.upgrade_speed_1.name=Улучшение механизма "Скорость" уровня I +item.upgrade_speed_2.name=Улучшение механизма "Скорость" уровня II +item.upgrade_speed_3.name=Улучшение механизма "Скорость" уровня III +item.upgrade_stack_1.name=Улучшение извлекателя "Количество стака" I уровня +item.upgrade_stack_2.name=Улучшение извлекателя "Количество стака" II уровня +item.upgrade_stack_3.name=Улучшение извлекателя "Количество стака" III уровня +item.upgrade_template.name=Шаблон улучшения механизма +item.volcanic_axe.name=Литой топор +item.volcanic_pickaxe.name=Литая кирка +item.wand_d.name=Отладочная палочка +item.wand_k.name=Строительная палочка +item.wand_s.name=Структурная палочка +item.structure_custommachine.name=Жезл обозначения кастомных машин item.warhead_buster_large.name=Большая бункерная боеголовка -item.warhead_nuclear.name=Ядерная боеголовка -item.warhead_mirvlet.name=РГЧ ИН +item.warhead_buster_medium.name=Средняя бункерная боеголовка +item.warhead_buster_small.name=Малая бункерная боеголовка +item.warhead_cluster_large.name=Большая кластерная боеголовка +item.warhead_cluster_medium.name=Средняя кластерная боеголовка +item.warhead_cluster_small.name=Малая кластерная боеголовка +item.warhead_generic_large.name=Большая боеголовка +item.warhead_generic_medium.name=Средняя боеголовка +item.warhead_generic_small.name=Малая боеголовка +item.warhead_incendiary_large.name=Большая зажигательная боеголовка +item.warhead_incendiary_medium.name=Средняя зажигательная боеголовка +item.warhead_incendiary_small.name=Малая зажигательная боеголовка item.warhead_mirv.name=Термоядерная боеголовка +item.warhead_mirvlet.name=РГЧ ИН +item.warhead_nuclear.name=Ядерная боеголовка item.warhead_thermo_endo.name=Эндотермическая боеголовка item.warhead_thermo_exo.name=Экзотермическая боеголовка item.warhead_volcano.name=Тектоническая боеголовка -item.fuel_tank_small.name=Малый топливный бак -item.fuel_tank_medium.name=Средний топливный бак -item.fuel_tank_large.name=Большой топливный бак -item.thruster_small.name=Малый двигатель -item.thruster_medium.name=Средний двигатель -item.thruster_large.name=Большой двигатель - -item.wand_k.name=Строительная палочка -item.wand_s.name=Структурная палочка -item.wand_d.name=Отладочная палочка -item.analyzer.name=Анализатор -item.analysis_tool.name=Анализатор -item.screwdriver.name=Отвёртка -item.screwdriver_desh.name=Деш-отвёртка -item.chemistry_set.name=Лабораторная посуда -item.chemistry_set_boron.name=Лабораторная посуда (Борное стекло) -item.screwdriver.desc=Может использоваться вместо предохранителя... -item.overfuse.name=Сингулярная отвёртка -item.overfuse.desc=Что - -item.steel_helmet.name=Стальной шлем -item.steel_plate.name=Стальной нагрудник -item.steel_legs.name=Стальные поножи -item.steel_boots.name=Стальные ботинки -item.titanium_helmet.name=Титановый шлем -item.titanium_plate.name=Титановый нагрудник -item.titanium_legs.name=Титановые поножи -item.titanium_boots.name=Титановые ботинки -item.alloy_helmet.name=Шлем из продвинутого сплава -item.alloy_plate.name=Нагрудник из продвинутого сплава -item.alloy_legs.name=Поножи из продвинутого сплава -item.alloy_boots.name=Ботинки из продвинутого сплава -item.cmb_helmet.name=Шлем из стали Альянса -item.cmb_plate.name=Нагрудник из стали Альянса -item.cmb_legs.name=Поножи из стали Альянса -item.cmb_boots.name=Ботинки из стали Альянса -item.security_helmet.name=Шлем охранника -item.security_plate.name=Нагрудник охранника -item.security_legs.name=Поножи охранника -item.security_boots.name=Ботинки охранника -item.cobalt_helmet.name=Кобальтовый шлем -item.cobalt_plate.name=Кобальтовый нагрудник -item.cobalt_legs.name=Кобальтовые поножи -item.cobalt_boots.name=Кобальтовые ботинки -item.starmetal_helmet.name=Шлем из звёздного металла -item.starmetal_plate.name=Нагрудник из звёздного металла -item.starmetal_legs.name=Поножи из звёздного металла -item.starmetal_boots.name=Ботинки из звёздного металла -item.dnt_boots.name=даенайтриевые ботинки -item.dnt_legs.name=динейтроновые поножи -item.dnt_helmet.name=динотрониму шлем -item.dnt_plate.name=динейтромы нагрудник -item.dns_boots.name=Ботинки DNT-Нанокостюма -item.dns_legs.name=Поножи DNT-Нанокостюма -item.dns_helmet.name=Шлем DNT-Нанокостюма -item.dns_plate.name=Нагрудник DNT-Нанокостюма -item.zirconium_legs.name=Циркониевые штаны -item.robes_boots.name=Полевые ботинки -item.robes_helmet.name=Повседневная толстовка с капюшоном -item.robes_legs.name=Повседневные брюки -item.robes_plate.name=Повседневная кофта - -item.steel_sword.name=Стальной меч -item.steel_pickaxe.name=Стальная кирка -item.steel_axe.name=Стальной топор -item.steel_shovel.name=Стальная лопата -item.steel_hoe.name=Стальная мотыга -item.titanium_sword.name=Титановый меч -item.titanium_pickaxe.name=Титановая кирка -item.titanium_axe.name=Титановый топор -item.titanium_shovel.name=Титановая лопата -item.titanium_hoe.name=Титановая мотыга -item.alloy_sword.name=Меч из продвинутого сплава -item.alloy_pickaxe.name=Кирка из продвинутого сплава -item.alloy_axe.name=Топор из продвинутого сплава -item.alloy_shovel.name=Лопата из продвинутого сплава -item.alloy_hoe.name=Мотыга из продвинутого сплава -item.cmb_sword.name=Меч из стали Альянса -item.cmb_pickaxe.name=Кирка из стали Альянса -item.cmb_axe.name=Топор из стали Альянса -item.cmb_shovel.name=Лопата из стали Альянса -item.cmb_hoe.name=Мотыга из стали Альянса -item.elec_sword.name=Электродубинка -item.elec_pickaxe.name=Ударный бур -item.elec_axe.name=Электропила -item.elec_shovel.name=Спиральный бур -item.desh_sword.name=Меч из рабочего сплава -item.desh_pickaxe.name=Кирка из рабочего сплава -item.desh_axe.name=Топор из рабочего сплава -item.desh_shovel.name=Лопата из рабочего сплава -item.desh_hoe.name=Мотыга из рабочего сплава -item.cobalt_sword.name=Кобальтовый меч -item.cobalt_pickaxe.name=Кобальтовая кирка -item.cobalt_axe.name=Кобальтовый топор -item.cobalt_shovel.name=Кобальтовая лопата -item.cobalt_hoe.name=Кобальтовая мотыга -item.cobalt_decorated_axe.name=Декорированный кобальтовый топор -item.cobalt_decorated_hoe.name=Декорированная кобальтовая мотыга -item.cobalt_decorated_pickaxe.name=Декорированная кобальтовая кирка -item.cobalt_decorated_shovel.name=Декорированная кобальтовая лопата -item.cobalt_decorated_sword.name=Декорированный кобальтовый меч -item.starmetal_axe.name=Топор из звёздного металла -item.starmetal_hoe.name=Мотыга из звёздного металла -item.starmetal_pickaxe.name=Кирка из звёздного металла -item.starmetal_shovel.name=Лопата из звёздного металла -item.starmetal_sword.name=Меч из звёздного металла -item.centri_stick.name=Центрифуга на палке -item.smashing_hammer.name=Убойный молот -item.drax.name=Терра-бур -item.drax_mk2.name=Усиленный терра-бур -item.drax_mk3.name=Шрабидиевый терра-бур -item.meteorite_sword.name=Метеоритовый меч -item.meteorite_sword_seared.name=Метеоритовый меч (Опаленный) -item.meteorite_sword_reforged.name=Метеоритовый меч (Перекованный) -item.meteorite_sword_hardened.name=Метеоритовый меч (Закалённый) -item.meteorite_sword_alloyed.name=Метеоритовый меч (Легированный) -item.meteorite_sword_machined.name=Метеоритовый меч (Механически обработанный) -item.meteorite_sword_treated.name=Метеоритовый меч (Обработанный) -item.meteorite_sword_etched.name=Метеоритовый меч (Гравированный) -item.meteorite_sword_bred.name=Метеоритовый меч (Разведённый) -item.meteorite_sword_irradiated.name=Метеоритовый меч (Облучённый) -item.meteorite_sword_fused.name=Метеоритовый меч (Сплавленный) -item.meteorite_sword_baleful.name=Метеоритовый меч (Зловещий) -item.crucible.name="Горнило Палача" -item.bismuth_pickaxe.name=Висмутовая кирка -item.bismuth_axe.name=Висмутовый топор -item.chlorophyte_axe.name=Хлорофитовый топор -item.mese_axe.name=Месе топор -item.volcanic_axe.name=Литой топор - -tile.red_cable.name=Провод из красной меди -tile.red_cable_paintable.name=Окрашиваемый провод из красной меди -tile.red_cable_classic.name=Провод из красной меди (Старый) -tile.red_connector.name=Электрический коннектор - -tile.block_meteor.name=Блок метеорита -tile.block_meteor_broken.name=Разбитый блок метеорита -tile.block_meteor_cobble.name=Метеоритный булыжник -tile.block_meteor_molten.name=Горячий метеоритный булыжник -tile.block_meteor_treasure.name=Блок метеоритных сокровищ -tile.meteor_polished.name=Полированный метеоритный блок -tile.meteor_brick.name=Метеоритные кирпичи -tile.meteor_brick_mossy.name=Замшелые метеоритные кирпичи -tile.meteor_brick_cracked.name=Треснувшие метеоритные кирпичи -tile.meteor_brick_chiseled.name=Высеченные метеоритные кирпичи -tile.meteor_pillar.name=Метеоритный столб -tile.meteor_spawner.name=Сборщик киберкрабов -tile.meteor_battery.name=Генератор статического электричества из звездного металла -tile.glyphid_base.name=Блок улья глифидов -tile.glyphid_spawner.name=Спавнер улья глифидов -tile.ore_tektite_osmiridium.name=Перемешанный с осмиридием Тектит -tile.tektite.name=Тектит - -item.cape_radiation.name=Плащ (Радиация) -item.cape_gasmask.name=Плащ (Противогаз) -item.cape_schrabidium.name=Плащ (Шрабидий) -item.cape_hidden.name=Скрытый плащ -item.card_aos.name=Пиковый туз -item.card_qos.name=Королева пик - -tile.machine_converter_he_rf.name=Конвертер энергии HE в RF -tile.machine_converter_rf_he.name=Конвертер энергии RF в HE -tile.machine_transformer.name=Трансформатор 10k-20Гц -tile.machine_transformer_dnt.name=Трансформатор ДНТ-20Гц -tile.machine_transformer_20.name=Трансформатор 10k-1Гц -tile.machine_transformer_dnt_20.name=Трансформатор ДНТ-1Гц - -tile.vent_chlorine.name=Хлорный клапан -tile.vent_cloud.name=Воздушный клапан с облаком -tile.vent_pink_cloud.name=Воздушный клапан с розовым облаком -tile.vent_chlorine_seal.name=Хлорный уплотнитель -tile.chlorine_gas.name=Хлор -item.chlorine_pinwheel.name=Хлорная вертушка - -tile.absorber.name=Поглотитель радиации -tile.absorber_red.name=Продвинутый поглотитель радиации -tile.absorber_green.name=Усовершенствованный поглотитель радиации -tile.absorber_pink.name=Элитный поглотитель радиации -tile.decon.name=Обеззараживатель игрока -tile.machine_amgen.name=Генератор на фоновой радиации -tile.machine_geo.name=Геотермальный генератор -tile.machine_minirtg.name=Радиоизотопная ячейка - -item.schrabidium_hammer.name=Шрабидиевый молот -item.shimmer_sledge.name=Отлитая кувалда -item.shimmer_axe.name=Отлитый топор -item.euphemium_stopper.name=Ограничитель -item.matchstick.name=Спичка -item.mech_key.name=Большой серебряный ключ -item.mech_key.desc=Он пульсирует энергией. -item.balefire_and_steel.name=Жар-огниво -item.remote.name=Сломанный пульт дистанционного управления -item.diamond_gavel.name=Алмазный молоток -item.lead_gavel.name=Свинцовый молоток -item.wood_gavel.name=Деревянный молоток -item.mese_gavel.name=Месе молоток - -item.shimmer_head.name=Тяжелая головка молота -item.shimmer_axe_head.name=Тяжелое лезвие топора -item.shimmer_handle.name=Усиленная полимерная ручка - -item.redcoil_capacitor.name=Краснокатушечный конденсатор -item.euphemium_capacitor.name=Эвфемиевый конденсатор -item.euphemium_capacitor.desc=Позволяет пассивно рассеивать накопленную положительную энергию. -item.detonator.name=Детонатор -item.detonator_multi.name=Мульти-детонатор -item.detonator_laser.name=Лазерный детонатор -item.detonator_deadman.name=Детонатор мертвеца -item.detonator_de.name=Взрывчатка мертвеца -item.crate_caller.name=Запросчик поставки припасов -item.bomb_caller.name=Устройство для обозначения авиаудара -item.meteor_remote.name=Устройство для вызова метеоритов -item.launch_code.name=Код запуска -item.launch_code_piece.name=Кусок кода запуска -item.launch_key.name=Ключ запуска - -item.ingot_hes.name=Высокообогащенный слиток шрабидиевого топлива -item.ingot_les.name=Низкообогащенный слиток шрабидиевого топлива -item.nugget_hes.name=Высокообогащенный самородок шрабидиевого топлива -item.nugget_les.name=Низкообогащенный самородок шрабидиевого топлива - -item.pellet_schrabidium.name=Чистая шрабидиевая Ватцз-пеллета -item.pellet_hes.name=Высокообогащенная шрабидиевая Ватцз-пеллета -item.pellet_mes.name=Среднеобогащенная шрабидиевая Ватцз-пеллета -item.pellet_les.name=Низкообогащенная шрабидиевая Ватцз-пеллета -item.pellet_beryllium.name=Бериллиевая замедлительная-пеллета -item.pellet_neptunium.name=Нептуниевая Ватцз-пеллета -item.pellet_lead.name=Свинцовая пеллета -item.pellet_advanced.name=Улучшитель производительности Ватцз - +item.waste_mox.name=Обедненное МОКС-топливо +item.waste_natural_uranium.name=Обедненное природное урановое топливо +item.waste_plate_mox.name=Обеднённая МОКС-топливная пластина +item.waste_plate_pu238be.name=Обеднённая плутоний-238-бериллевая топливная пластина +item.waste_plate_pu239.name=Обеднённая высокообогащенная плутониевая-239 топливная пластина +item.waste_plate_ra226be.name=Обеднённая радий-226-бериллевая топливная пластина +item.waste_plate_sa326.name=Обеднённая высокообогащенная шрабидий-326 топливная пластина +item.waste_plate_u233.name=Обеднённая высокообогащенная уран-233 топливная пластина +item.waste_plate_u235.name=Обеднённая высокообогащенная уран-235 топливная пластина +item.waste_plutonium.name=Обедненное плутониевое топливо +item.waste_schrabidium.name=Обедненное шрабидиевое топливо +item.waste_thorium.name=Обедненное ториевое топливо +item.waste_u235.name=Обедненное уран-235 топливо +item.waste_u233.name=Обедненное уран-233 топливо +item.waste_uranium.name=Обедненное урановое топливо +item.waste_zfb_mox.name=Обедненное ЦТС МОКС-топливо +item.watch.name=Сломанные карманные часы +item.watch.desc=Маленькие синие карманные часы.$На стекле есть несколько трещин,$и несколько осколков отсутствуют.$Перестали тикать в 2:34. item.watz_pellet.boron.name=Поглощающая Ватцз-пеллета из бора item.watz_pellet.du.name=Поглощающая Ватцз-пеллета из обедненного урана item.watz_pellet.hes.name=Ватцз-пеллета из высокообогащенного шрабидия @@ -5832,893 +4856,1599 @@ item.watz_pellet_depleted.nqd.name=Ватцз-пеллета из обогаще item.watz_pellet_depleted.nqr.name=Ватцз-пеллета из наквадрии (Обедненная) item.watz_pellet_depleted.hen.name=Ватцз-пеллета из высокообогащенного нептуния (Обедненная) item.watz_pellet_depleted.schrabidium.name=Ватцз-пеллета из чистого шрабидия (Обедненная) - -item.titanium_filter.name=Титановый фильтр -item.deuterium_filter.name=Дейтериевый фильтр -item.catalytic_converter.name=Каталитический конвертер - -tile.mud_block.name=Токсичные отходы -fluid.mud_fluid=Токсичные отходы -tile.rad_lava_block.name=Вулканическая лава -fluid.rad_lava_fluid=Вулканическая лава -item.bucket_mud.name=Ведро токсичных отходов -tile.acid_block.name=Кислота -fluid.acid_fluid=Кислота -tile.schrabidic_block.name=Шрабидиевая кислота -fluid.corium_fluid=Кориум -fluid.volcanic_lava_fluid=Вулканическая лава -tile.volcanic_lava_block.name=Вулканическая лава -item.bucket_acid.name=Ведро кислоты -tile.toxic_block.name=Стереотипная зелёная слизь -fluid.toxic_fluid=Стереотипная зелёная слизь -item.bucket_toxic.name=Ведро стереотипной зелёной слизи -item.bucket_schrabidic_acid.name=Ведро шрабидиевой кислоты -item.bucket_sulfuric_acid.name=Ведро серной кислоты -item.tank_waste_0.name=Контейнер с отходами -item.tank_waste_1.name=Контейнер с отходами -item.tank_waste_2.name=Контейнер с отходами -item.tank_waste_3.name=Контейнер с отходами -item.tank_waste_4.name=Контейнер с отходами -item.tank_waste_5.name=Контейнер с отходами -item.tank_waste_6.name=Контейнер с отходами -item.tank_waste_7.name=Контейнер с отходами -item.tank_waste_8.name=Контейнер с отходами - -item.can_empty.name=Пустая банка -item.mucho_mango.name=Напиток "AriZona Mucho Mango" -item.can_smart.name=Энергетический напиток “Смарт” -item.can_creature.name=Энергетический напиток "Существо" -item.can_redbomb.name=Энергетический напиток "Красная Бомба" -item.can_mrsugar.name=Безалкогольный напиток 'Доктор Сахар' -item.can_overcharge.name=Перезарядка Delirium XT -item.can_luna.name=Черная Меза Луна - Темная Кола -item.can_bepis.name=Бепис -item.can_breen.name=Личный резерв Др>Брина -item.bottle_empty.name=Пустая бутылка в форме бомбы -item.bottled_cloud.name=Облако в бутылке -item.bottle_nuka.name=Бутылка Ядер-колы -item.bottle_cherry.name=Бутылка Ядер-вишни -item.cbt_device.name=CBT-девайс -item.bottle_quantum.name=Бутылка Квантовой Ядер-колы -item.bottle_sparkle.name=Бутылка С~Колы -item.bottle_rad.name=Бутылка С~Колы РАД -item.bottle2_empty.name=Пустая Бутылка -item.bottle2_korl.name=Корл -item.wild_p.name=Дикий П. -item.bottle2_fritz.name=Фрицз-Кола -item.bottle2_korl_special.name=Первый Корл -item.bottle2_fritz_special.name=Первая Фрицз-Кола -item.bottle2_sunset.name=Сансет Сарсапарилла -item.bdcl.name=BDCL -item.chocolate_milk.name=Молочный шоколад -item.cap_nuka.name=Крышка -item.cap_quantum.name=Крышка от Квантовой Ядер-колы -item.cap_sparkle.name=Крышка от С~Колы -item.cap_rad.name=Крышка от С~Колы РАД -item.cap_korl.name=Крышка от Бутылки Корла -item.cap_fritz.name=Крышка от Фрицз-Колы -item.cap_sunset.name=Крышка от Сансет Сарсапариллы -item.cap_star.name=Крышка от Сансет Сарсапариллы со звездой -item.ring_pull.name=Ключ-кольцо -item.ring_starmetal.name=§9Кольцо из Звёздного металла§r -item.canned_beef.name=Консервированная говядина -item.canned_tuna.name=Консервированный тунец -item.canned_mystery.name=Консервы "Тайна Мяса" -item.canned_pashtet.name=Паштет -item.canned_cheese.name=Консервированный плавленый сыр -item.canned_jizz.name=Консервированное жеребцовое молоко "ФлимФлэм Индастриз" -item.canned_milk.name=Консервированная сгущенка -item.canned_ass.name=Консервированная задница -item.canned_pizza.name=Консервированная пицца -item.canned_tube.name=Пищевой тюбик космонавта -item.canned_tomato.name=Консервированный томатный суп -item.canned_asbestos.name=Консервированный асбест -item.canned_bhole.name=Консервированная черная дыра -item.canned_hotdogs.name=Консервированные хот-доги -item.canned_leftovers.name=Просроченные консервы -item.canned_yogurt.name=Консервированный йогурт -item.canned_stew.name=Консервы "Тушеные грибы" -item.canned_chinese.name=Консервированная китайская еда -item.canned_oil.name=Консервированное моторное масло -item.canned_fist.name=Консервированный кулак -item.canned_spam.name=Консервы “Спам” -item.canned_fried.name=Консервированная жареная курица -item.canned_napalm.name=Консервированный напалм -item.canned_diesel.name=Консервированное дизельное топливо -item.canned_kerosene.name=Консервированный керосин -item.canned_recursion.name=Консервированная рекурсия -item.canned_bark.name=Консервы вяленой сосновой коры -item.spongebob_macaroni.name=Сырные макаронны "Губка Боб" -item.can_mug.name=MUG Root Beer -item.can_key.name=Винтовой ключ -item.nugget.name=Куриный наггетс -item.marshmallow.name=Зефир на палочке -item.cheese.name=Сыр -item.cheese_quesadilla.name=Сырная кесадилья -item.coffee.name=Кофе -item.coffee_radium.name=Кофе с радием -item.cigarette.name=Сигарета марки "FFI" -item.protection_charm.name=Талисман защиты -item.meteor_charm.name=Талисман от метеоритов - -item.canteen_13.name=Фляжка Убежища 13 -item.canteen_vodka.name=Стильная фляга -item.canteen_fab.name=Потрясающая водка -item.fabsols_vodka.name=Водка Fabsol'а -item.wild_p.name=Сухое виски "Дикий Пегас" - -item.bottle_opener.name=Собственная самодельная открывашка для бутылок - -item.blades_aluminium.name=Алюминиевые лезвия измельчителя -item.blades_gold.name=Золотые лезвия измельчителя -item.blades_iron.name=Железные лезвия измельчителя -item.blades_steel.name=Стальные лезвия измельчителя -item.blades_titanium.name=Титановые лезвия измельчителя -item.blades_advanced_alloy.name=Усовершенствованные лезвия измельчителя -item.blades_combine_steel.name=Стальные лезвия измельчителя Альянса -item.blades_schrabidium.name=Шрабидиевые лезвия измельчителя -item.blades_desh.name=Деш-лезвия измельчителя -item.sawblade.name=Лезвие пилорамы -item.drillbit_desh.name=Деш-головка бура -item.drillbit_desh_diamond.name=Деш-головка бура (с алмазным напылением) -item.drillbit_hss.name=Головка бура из высокоскоростной стали -item.drillbit_hss_diamond.name=Головка бура из высокоскоростной стали (с алмазным напылением) -item.drillbit_steel.name=Головка бура из стали -item.drillbit_steel_diamond.name=Головка бура из стали (с алмазным напылением) -item.drillbit_ferro.name=Головка бура из ферроурана -item.drillbit_ferro_diamond.name=Головка бура из ферроурана (с алмазным напылением) -item.drillbit_tcalloy.name=Головка бура из технециевой стали -item.drillbit_tcalloy_diamond.name=Головка бура из технециевой стали (с алмазным напылением) - -item.stamp_stone_flat.name=Плоский штамп (Камень) -item.stamp_stone_plate.name=Штамп пластины (Камень) -item.stamp_stone_wire.name=Штамп провода (Камень) -item.stamp_stone_circuit.name=Штамп микросхемы (Камень) -item.stamp_iron_flat.name=Плоский штамп (Железо) -item.stamp_iron_plate.name=Штамп пластины (Железо) -item.stamp_iron_wire.name=Штамп провода (Железо) -item.stamp_iron_circuit.name=Штамп микросхемы (Железо) -item.stamp_steel_flat.name=Плоский штамп (Сталь) -item.stamp_steel_plate.name=Штамп пластины (Сталь) -item.stamp_steel_wire.name=Штамп провода (Сталь) -item.stamp_steel_circuit.name=Штамп микросхемы (Сталь) -item.stamp_titanium_flat.name=Плоский штамп (Титан) -item.stamp_titanium_plate.name=Штамп пластины (Титан) -item.stamp_titanium_wire.name=Штамп провода (Титан) -item.stamp_titanium_circuit.name=Штамп микросхемы (Титан) -item.stamp_obsidian_flat.name=Плоский штамп (Обсидиан) -item.stamp_obsidian_plate.name=Штамп пластины (Обсидиан) -item.stamp_obsidian_wire.name=Штамп провода (Обсидиан) -item.stamp_obsidian_circuit.name=Штамп микросхемы (Обсидиан) -item.stamp_schrabidium_flat.name=Плоский штамп (Шрабидиий) -item.stamp_schrabidium_plate.name=Штамп пластины (Шрабидиий) -item.stamp_schrabidium_wire.name=Штамп провода (Шрабидиий) -item.stamp_schrabidium_circuit.name=Штамп микросхемы (Шрабидиий) -item.stamp_desh_circuit.name=Штамп микросхемы (Деш) -item.stamp_desh_flat.name=Плоский штамп (Деш) -item.stamp_desh_plate.name=Штамп пластины (Деш) -item.stamp_desh_wire.name=Штамп провода (Деш) -item.stamp_357.name=Штамп пули .357 Магнум -item.stamp_44.name=Штамп пули .44 Магнум -item.stamp_9.name=Штамп малого калибра -item.stamp_50.name=Штамп большого калибра -item.stamp_desh_357.name=Штамп пули .357 Магнум (Деш) -item.stamp_desh_44.name=Штамп пули .44 Магнум (Деш) -item.stamp_desh_50.name=Штамп большого калибра (Деш) -item.stamp_desh_9.name=Штамп малого калибра (Деш) - -item.stamp_book.printing1.name=Штамп для печати (Страница 1) -item.stamp_book.printing2.name=Штамп для печати (Страница 2) -item.stamp_book.printing3.name=Штамп для печати (Страница 3) -item.stamp_book.printing4.name=Штамп для печати (Страница 4) -item.stamp_book.printing5.name=Штамп для печати (Страница 5) -item.stamp_book.printing6.name=Штамп для печати (Страница 6) -item.stamp_book.printing7.name=Штамп для печати (Страница 7) -item.stamp_book.printing8.name=Штамп для печати (Страница 8) - -item.part_lithium.name=Коробка литиевой пыли -item.part_beryllium.name=Коробка бериллиевой пыли -item.part_carbon.name=Коробка угольной пыли -item.part_copper.name=Коробка медной пыли -item.part_plutonium.name=Коробка плутониевой пыли -item.part_generic.piston_electric.name=Электрический поршень -item.part_generic.piston_hydraulic.name=Гидравлический поршень -item.part_generic.piston_pneumatic.name=Пневматический поршень -item.part_generic.lde.name=Элемент малой плотности -item.particle_aelectron.name=Капсула с Позитроном -item.particle_amat.name=Капсула с Антиматерией -item.particle_aproton.name=Капсула с Антипротоном -item.particle_aschrab.name=Капсула с Антишрабидием -item.particle_dark.name=Капсула с Тёмной материей -item.particle_empty.name=Пустая капсула -item.particle_higgs.name=Капсула с Бозоном Хиггса -item.particle_muon.name=Капсула с Мюоном -item.particle_sparkticle.name=Капсула со Спарктиклом -item.particle_strange.name=Капсула со Странным кварком -item.particle_copper.name=Капсула с ионами меди -item.particle_lead.name=Капсула с ионами свинца -item.particle_hydrogen.name=Капсула с ионами водорода -item.particle_tachyon.name=Капсула с тахионом -item.particle_lutece.name=Квазичастица Лютеция -item.particle_digamma.name=§cЧастица Дигамма§r - -item.rune_blank.name=Пустая каталитическая матрица -item.rune_isa.name=Охлаждающая каталитическая матрица -item.rune_dagaz.name=Сбалансированная каталитическая матрица -item.rune_hagalaz.name=Грубая каталитическая матрица -item.rune_jera.name=Мультипликативная каталитическая матрица -item.rune_thurisaz.name=Аддитивная каталитическая матрица - -item.ams_catalyst_blank.name=Пустой реакционный катализатор -item.ams_catalyst_aluminium.name=Алюминиевый реакционный катализатор -item.ams_catalyst_beryllium.name=Бериллиевый реакционный катализатор -item.ams_catalyst_caesium.name=Цезиевый реакционный катализатор -item.ams_catalyst_cerium.name=Цериевый реакционный катализатор -item.ams_catalyst_cobalt.name=Кобальтовый реакционный катализатор -item.ams_catalyst_copper.name=Медный реакционный катализатор -item.ams_catalyst_euphemium.name=Эвфемиевый реакционный катализатор -item.ams_catalyst_iron.name=Железный реакционный катализатор -item.ams_catalyst_lithium.name=Литиевый реакционный катализатор -item.ams_catalyst_niobium.name=Ниобиевый реакционный катализатор -item.ams_catalyst_strontium.name=Стронциевый реакционный катализатор -item.ams_catalyst_thorium.name=Ториевый реакционный катализатор -item.ams_catalyst_tungsten.name=Вольфрамовый реакционный катализатор -item.ams_catalyst_schrabidium.name=Шрабидиевый реакционный катализатор -item.ams_catalyst_dineutronium.name=Динейтрониевый реакционный катализатор -item.ams_focus_blank.name=Пустой стабилизирующий фокус -item.ams_focus_limiter.name=Ограничительный стабилизирующий фокус -item.ams_focus_limiter.desc=Максимальная производительность для сдерживающего поля:$Стандартное охлаждение, без бонуса за энергию. -item.ams_focus_booster.name=Усиливающий стабилизирующий фокус -item.ams_focus_booster.desc=Более слабое сдерживающее поле и закачка энергии в ядро:$Больше выработки тепла, дополнительная энергия. -item.ams_muzzle.name=Лучеиспускательное дуло -item.ams_muzzle.desc=...он испускает штуковину с энергетическим лучом. -item.ams_lens.name=Линза Стабилизатора -item.ams_core_sing.name=Резонирующая сингулярность (АМС/РТС Ядро) -item.ams_core_wormhole.name=Крошечная червоточина (АМС/РТС Ядро) -item.ams_core_eyeofharmony.name=Око Гармонии (АМС/РТС Ядро) -item.ams_core_thingy.name=Штуковина (АМС/РТС Ядро) -item.crystal_energy.name=Энергетический кристалл -item.pellet_coolant.name=Охлаждающий кластер -item.thermo_element.name=Термоэлектрический элемент -item.limiter.name=Ограничитель генератора -item.neutrino_lens.name=Нейтринные линзы - -item.linker.name=Телелинкер -item.reactor_sensor.name=Дистанционный датчик реактора -item.oil_detector.name=Детектор нефтяного резервуара -item.oil_detector.desc1=Щелкните правой кнопкой мыши, чтобы просканировать на наличие нефти. -item.oil_detector.desc2=Детектор найдет только более крупные залежи. -item.oil_detector.bullseye=Нефтяной резервуар прямо снизу! -item.oil_detector.detected=Поблизости обнаружен резервуар нефти. -item.oil_detector.noOil=Нефти не обнаружено. -item.pollution_detector.name=Детектор загрязнения -item.geiger_counter.name=Ручной счетчик Гейгера -item.gas_tester.name=Газовый датчик -item.dosimeter.name=Дозиметр -item.digamma_diagnostic.name=Диагностика дигаммы -tile.geiger.name=Счетчик Гейгера -tile.glass_polonium.name=Полониевое стекло -item.survey_scanner.name=Сканер -item.ore_density_scanner.name=Сканер плотности бедроковой руды -item.coltan_tool.name=Колтасс -item.mirror_tool.name=Инструмент для регулировки зеркал -item.mirror_tool.linked=Позиция выравнивания установлена! -item.mirror_tool.desc=Щелкните правой кнопкой мыши по бойлеру, чтобы запомнить его положение.$Нажмите на зеркала, чтобы повернуть их в сторону бойлера -item.rbmk_tool.name=Устройство для соединения консоли РБМК -item.rbmk_tool.desc=Shift+ПКМ по РБМК чтобы запомнить его позицию,$shift+ПКМ по консоли чтобы соединить! -item.rbmk_tool.linked=Позиция установлена! -item.rbmk_tool.set=РБМК соединён! -item.bismuth_tool.name=Магнитный экстрактор -item.reacher.name=Вольфрамовые хваталки -item.power_net_tool.name=Анализатор энергосети -item.anchor_remote.name=Устройство вызова -item.acetylene_torch.name=Ацетиленовая сварочная горелка -item.blowtorch.name=Паяльная лампа - -item.multitool_dig.name=Силовая перчатка (Добывающий коготь) -item.multitool_silk.name=Силовая перчатка (Коготь шёлкового касания) -item.multitool_ext.name=Силовая перчатка (Извлекатель руды) -item.multitool_miner.name=Силовая перчатка (Добывающий лазер) -item.multitool_hit.name=Силовая перчатка (Кулак) -item.multitool_beam.name=Силовая перчатка (Заппер) -item.multitool_sky.name=Силовая перчатка (Небесный разлом) -item.multitool_mega.name=Силовая Перчатка (Суперудар) -item.multitool_joule.name=Силовая Перчатка (Гигаджоуль) -item.multitool_decon.name=Силовая Перчатка (Обеззараживатель) -item.rubber_gloves.name=Толстые резиновые перчатки -item.ballistic_gauntlet.name=Баллистическая перчатка - -item.australium_iii.name=Увеличитель жизни Марк III -item.australium_iv.name=Увеличитель жизни Марк IV -item.australium_v.name=Увеличитель жизни Марк V -item.flask_infusion.shield.name=Эликсир защиты - -item.weapon_saw.name=Убийство при содействии врача -item.weapon_bat.name=Любимица Ричарда +item.weapon_bat.name=Любимица Ричарда item.weapon_bat_nail.name=Клише item.weapon_golf_club.name=Клюшка русского бандита -item.weapon_pipe_rusty.name=Поправитель поведения +item.weapon_mod_caliber.bmg50.name=Комплект для переоборудования под .50 BMG +item.weapon_mod_caliber.m357.name=Комплект для переоборудования под .357 Magnum +item.weapon_mod_caliber.m44.name=Комплект для переоборудования под .44 Magnum +item.weapon_mod_caliber.p22.name=Комплект для переоборудования под .22 LR +item.weapon_mod_caliber.p45.name=Комплект для переоборудования под .45 +item.weapon_mod_caliber.p9.name=Комплект для переоборудования под 9мм +item.weapon_mod_caliber.r556.name=Комплект для переоборудования под 5.56мм +item.weapon_mod_caliber.r762.name=Комплект для переоборудования под 7.62мм +item.weapon_mod_generic.bigmt_damage.name=Оптимизированный сатурнитовый ресивер +item.weapon_mod_generic.bigmt_dura.name=Высокопрочные запчасти из сатурнита +item.weapon_mod_generic.bronze_damage.name=Оптимизированный бронзовый ресивер +item.weapon_mod_generic.bronze_dura.name=Высокопрочные запчасти из бронзы +item.weapon_mod_generic.desh_damage.name=Оптимизированный деш ресивер +item.weapon_mod_generic.desh_dura.name=Высокопрочные запчасти из деша +item.weapon_mod_generic.dura_damage.name=Оптимизированный высокоскоростной ресивер +item.weapon_mod_generic.dura_dura.name=Высокопрочные запчасти из высокоскоростной стали +item.weapon_mod_generic.ferro_damage.name=Оптимизированный ферроураниевый ресивер +item.weapon_mod_generic.ferro_dura.name=Высокопрочные запчасти из ферроурана +item.weapon_mod_generic.iron_damage.name=Оптимизированный железный ресивер +item.weapon_mod_generic.iron_dura.name=Высокопрочные запчасти из железа +item.weapon_mod_generic.steel_damage.name=Оптимизированный стальной ресивер +item.weapon_mod_generic.steel_dura.name=Высокопрочные запчасти из стали +item.weapon_mod_generic.tcalloy_damage.name=Оптимизированный технециево-стальной ресивер +item.weapon_mod_generic.tcalloy_dura.name=Высокопрочные запчасти из технециевой стали +item.weapon_mod_generic.wsteel_damage.name=Оптимизированный оружейно-стальной ресивер +item.weapon_mod_generic.wsteel_dura.name=Высокопрочные запчасти из оружейной стали +item.weapon_mod_special.bayonet.name=Штык +item.weapon_mod_special.choke.name=Чок +item.weapon_mod_special.furniture_black.name=Полимерная оснастка (Чёрный) +item.weapon_mod_special.furniture_green.name=Полимерная оснастка (Зелёный) +item.weapon_mod_special.greasegun.name=Набор модернизации для Маслёнки +item.weapon_mod_special.las_auto.name=Автоматический ресивер лазерной винтовки +item.weapon_mod_special.las_capacitor.name=Расширенный конденсатор лазерной винтовки +item.weapon_mod_special.las_shotgun.name=Разделитель луча лазерной винтовки +item.weapon_mod_special.saw.name=Ножовка +item.weapon_mod_special.scope.name=Прицел +item.weapon_mod_special.silencer.name=Глушитель +item.weapon_mod_special.skin_saturnite.name=Сатурнитовый корпус +item.weapon_mod_special.slowdown.name=Зубчатая передача +item.weapon_mod_special.speedloader.name=Спидлоадер +item.weapon_mod_special.speedup.name=Вспомогательный элекртрический двигатель +item.weapon_mod_special.stack_mag.name=Двухрядный магазин +item.weapon_mod_test.damage.name=УЛУЧШЕНИЕ УРОНА +item.weapon_mod_test.firerate.name=УЛУЧШЕНИЕ СКОРОСТИ СТРЕЛЬБЫ +item.weapon_mod_test.multi.name=УЛУЧШЕНИЕ "МУЛЬТИ-ВЫСТРЕЛ" +item.weapon_mod_test.override_2_5.name=ПЕРЕГРУЗ УРОНА (2.5) +item.weapon_mod_test.override_5.name=ПЕРЕГРУЗ УРОНА (5) +item.weapon_mod_test.override_7_5.name=ПЕРЕГРУЗ УРОНА (7.5) +item.weapon_mod_test.override_10.name=ПЕРЕГРУЗ УРОНА (10) +item.weapon_mod_test.override_12_5.name=ПЕРЕГРУЗ УРОНА (12.5) +item.weapon_mod_test.override_15.name=ПЕРЕГРУЗ УРОНА (15) +item.weapon_mod_test.override_20.name=ПЕРЕГРУЗ УРОНА (20) item.weapon_pipe_lead.name=Ручное управление -item.reer_graar.name=Рер Граар -item.stopsign.name=Боевой топор из знака СТОП -item.sopsign.name=Боевой топор из знака С ОП -item.chernobylsign.name=Боевой топор из Чернобыльского предупреждающего знака - -item.letter.name=Экспресс-почта -item.polaroid.name=Полароид -item.shackles.name=Оковы -item.glitch.name=Глюк -item.book_secret.name=3-596-50802-9 -item.book_of_.name=Книга Вагонов -item.book_lemegeton.name=Лемегетон -item.page_of_.page1.name=Страница 1 -item.page_of_.page2.name=Страница 2 -item.page_of_.page3.name=Страница 3 -item.page_of_.page4.name=Страница 4 -item.page_of_.page5.name=Страница 5 -item.page_of_.page6.name=Страница 6 -item.page_of_.page7.name=Страница 7 -item.page_of_.page8.name=Страница 8 -item.book_guide.name=Руководство -item.burnt_bark.name=Обожженная кора -item.burnt_bark.desc=Кусок коры взорванного золотого дуба. -item.loot_10.name=Ящик с запчастями от Ракеты 10-го размера -item.loot_15.name=Ящик с запчастями от Ракеты 15-го размера -item.loot_misc.name=Общий ящик с запчастями от Ракеты -item.parts_legendary.name=Легендарные запчасти -item.crystal_horn.name=Кристалльный рог -item.crystal_horn.desc=Не настоящий рог. -item.crystal_horn.desc.P11=Настоящий рог. -item.crystal_charred.name=Обугленный кристалл -item.crystal_charred.desc=Высококачественный силикат, слегка обожженный. -item.crystal_charred.desc.P11=Также настоящий рог. Странно, правда? -item.ingot_lanthanium.name=Полустабильный слиток лантана -item.ingot_lanthanium.desc='Лантанум' -item.ingot_lanthanium.desc.P11=Вообще лантанум, но ладно. -item.ingot_actinium.name=Слиток актиния-227 - -tile.block_foam.name=Пена -tile.foam_layer.name=Слой пены -tile.dummy_block.name=Блок-пустышка -tile.dummy_port.name=Блок-пустышка (Розетка) - -item.chopper.name=Вертолёт-охотник -item.spawn_worm.name=Баллс-О-Трон Прайм -item.spawn_ufo.name=Марсианский корабль вторжения - -item.undefined.name=Undefined -item.nothing.name=Ничего -tile.crystal_virus.name=Тёмный кристалл -tile.crystal_hardened.name=Закаленный темный кристалл -tile.crystal_pulsar.name=Пульсирующий кристалл -tile.taint.name=Порча -tile.residue.name=Облачный осадок -item.powder_cloud.name=Облачный осадок -tile.cheater_virus.name=Охлаждённый Эвфемий -tile.cheater_virus_seed.name=Нестабильный блок шрабидата эвфемия -item.mysteryshovel.name=Непрочная лопата -tile.ntm_dirt.name=Грязь -item.beta.name=БЕТА-ФУНКЦИИ -item.memory.name=item.null.name - -item.acrylic.desc=Aka: Polymethyl methacrylate -item.acrylic.name=Acrylic Prism -item.ammo_308.name=7.62x51mm NATO Round -item.ammo_45.name=.45 ACP Round -item.ammo_50bmg.desc=§eКрупнокалиберный патрон 12.7мм$§eТакими сбивают самолёты, стрелять$§eими по людям – мерзко. -item.ammo_556_chlorophyte.desc=§o.223 Remington -item.ammo_75bolt.desc=§eГироскопический бронебойный$§eпатрон с тандемным зарядом -item.ammo_75bolt_he.desc=§eБронебойный патрон с$§eмощным зарядом взрывчатки -item.ammo_75bolt_incendiary.desc=§eБронебойный разрывной патрон,$§eнаполненный фосфоровым гелем -item.ammo_folly.desc=§9+ Заряд направленной реакции звёздного металла -item.ammo_folly_du.desc=§9+ Howitzer mini nuke shell -item.ammo_folly_nuclear.desc=§9+ Howitzer 17kg Uranium-238 shell -item.ammo_grenade_lunatic.name=40mm Lunatic Grenade -item.ammo_luna_sniper.desc=§eHigh powered DU sabot penetrator sniper round$§eSo hot the projectile can reach escape velocity$§eVery specialized, very deadly, very accurate$ -item.ammo_luna_sniper.name=Lunatic Sniper Round -item.ammo_mirv_special.desc=§9+ 6 Low-yield mini nukes$§9+ 6 Mini nukes$§9+ 6 Tiny tots$§9+ 6 Balefire shells$§f* Sticky! -item.assembly_308.name=7.62x51mm Assembly -item.assembly_45.name=.45 ACP Assembly -item.assembly_luna_sniper.name=Lunatic Sniper Bullet Assembly -item.battery_gun.desc.1=§eOnly charges fast charge compatible items!$§eCharges up to: %sHE to the first compatible item on the hotbar -item.battery_gun.desc.2=§eSingle use only! -item.battery_gun_advanced.name=Advanced Fast Charger Cell -item.battery_gun_basic.name=Basic Fast Charger Cell -item.battery_gun_elite.name=Elite Fast Charger Cell -item.battery_gun_enhanced.name=Enhanced Fast Charger Cell -item.battery_gun_raw.name=Fast Charger Cell Shell -item.battery_sc_berkelium.name=Self-Charging Berkelium-249 Battery -item.betavoltaic_depleted.name=Depleted Betavoltaic Cell -item.betavoltaic_element.name=Betavoltaic Device -item.betavoltaic_strontium.name=Strontium-90 Betavoltaic Cell -item.betavoltaic_tritium.name=Tritium Betavoltaic Cell -item.billet_ac227be.name=Ac227Be Billet -item.billet_actinium.name=Actinium-227 Billet -item.billet_bk247.name=Berkelium-247 Billet -item.billet_bk248.name=Berkelium-248 Billet -item.billet_bk249.name=Berkelium-249 Billet -item.billet_cf252.name=Californium-252 Billet -item.billet_cf252be.name=Cf252Be Billet -item.billet_euphemium.name=Euphemium Billet -item.billet_sa327be.name=Sa327Be Billet -item.billet_tha.name=Activated Thorium Billet -item.billet_u234.name=Uranium-234 Billet -item.black_hole.desc=В центре этой штуки – сингулярность.$Достаточно большая, чтобы оставаться стабильной.$Это – не конец вселенной, но мне от этого лучше не становится. -item.bolt_staballoy.name=Staballoy Bolt -item.bottle_sr90.name=Бутылка с костебольным соком -item.can_breen.name=Личный резерв др.Брина -item.canteen_13.desc.11=Откат: 1 минута$Восстанавливает 2.5 сердца$ $Вы глотаете глоток из вашего верного глотка Убежища ГЛОТОК -item.canteen_13.desc=Откат: 1 минута$Восстанавливает 2.5 сердца$ $Вы делаете глоток из вашей верной фляжки Убежища 13… -item.canteen_fab.desc=Откат: 2 минуты$Включает фаб-двигатели -item.canteen_vodka.desc.11=Откат: 3 минуты$Тошнота I на 10 секунд$Сила III на 30 секунд$ $Сейчас тебя разсерпуют и перемолотят! -item.canteen_vodka.desc=Откат: 3 минуты$Тошнота I на 10 секунд$Сила III на 30 секунд$ $На запах – как антисептик, и на вкус – как антисептик. -item.catalyst_rare.name=Редкоземельный катализатор -item.catalyst_ten.name=Tеннесиновый катализатор -item.cell_anti_schrabidium.desc=Внимание: взаимодействие с материей$создаст поле Фолькванга! -item.cell_antimatter.desc=Внимание: взаимодействие с материей$приведёт к аннигиляции! -item.chronometer_player.name=Biological Chronometer -item.coil_warp.name=Antimass Gravity Manipulation Coil -item.coil_warp_coated.name=FTL Drive Coil with WCo Alloy and Desh Coating -item.core_plut_boosted.name=Plutonium Core with Schrabidium Booster -item.core_uran_boosted.name=Uranium Core with Schrabidium Booster -item.crystal_energy.desc=Densely packed energy powder.$Not edible. -item.custom_core.name=Nuclear Fission Core -item.detonator_de.desc=Взрывается при падении! -item.detonator_deadman.desc=Shift+ПКМ, чтобы задать позицию,$выбросите для детонации! -item.eye.desc.11=§c"All humans, are afraid of monsters, the monsters they keep inside of them.$§cThey drove the species who are able to expose the monsters in them down the$§cpurgatory underground. There, in the purgatory deep inside the earth where$§cpeople are made, he was born. He hated, and loved, the monster that is$§cforming inside of him more than anyone else. Together with his second$§cmother, he climbed up to the world where the people who have driven him into$§cthe underground live. However, at that time, it was too late. This world$§cabove ground is waiting for its slow death, same as the people who are$§ccontinue to stay there. This world, this surface, is the realm of the dead.$§cAnd this species called humans, they have built for themselves a world of$§ctwilight. There, he met a ghost called 'father'. His second mother, who has$§ccome to this netherworld with him, remained there, while he returned to the$§cpurgatory where he was born. That place, the place where he lives, that$§cpurgatory. That should be the last world of humans."§r -item.eye.desc=It's looking at me despite being closed,$or rather, through me...$into my soul.$It makes me uncomfortable -item.eye.name=Eye? -item.ferrouranium_axe.name=Ferrouranium Axe -item.ferrouranium_boots.name=Ferrouranium Boots -item.ferrouranium_helmet.name=Ferrouranium Helmet -item.ferrouranium_hoe.name=Ferrouranium Hoe -item.ferrouranium_legs.name=Ferrouranium Leggings -item.ferrouranium_pickaxe.name=Ferrouranium Pickaxe -item.ferrouranium_plate.name=Ferrouranium Chestplate -item.ferrouranium_shovel.name=Ferrouranium Shovel -item.ferrouranium_sword.name=Ferrouranium Sword -item.filter_fiberglass.name=Bound Fiberglass Filter -item.five_htp.desc=Убирает все DRX, Стабильность на 10 минут -item.fmn.desc=Убирает все DRX более 2,000mDRX -item.fragment_orichalcum.desc=Gem shard, retains its hardness and$resistance to pressure and heat, but$requires further refinement -item.fragment_orichalcum.name=§6Orichalcum Shard§r -item.fuse.desc=эта штука теперь практически бесполезна -item.gas_sarin.name=Sarin Gas Tank -item.gas_xenon.name=Xenon Gas Tank -item.gem_orichalcum.desc=High hardness and luster, provides shielding$against pressure and heat fronts -item.gem_orichalcum.name=§6Orichalcum Gem§r -item.goggles_drx.desc=Filters out DRX, moonlight, and other$psionic disruptions infiltrating$the visible light spectrum -item.goggles_drx.name=Psionic Disruption Protection Goggles -item.goggles_night_vision.name=Night Vision Goggles -item.grenade_if_bouncy.desc=§o"Boing!" -item.grenade_if_brimstone.desc=§o"Zoop!" -item.grenade_if_concussion.desc=§o"Oof ouch owie, my bones!" -item.grenade_if_generic.desc=§o"How do you like §r§7them§o apples?" -item.grenade_if_he.desc=§o"You better run, you better take cover!" -item.grenade_if_hopwire.desc=§o"All I ever wished for was a bike that didn't fall over." -item.grenade_if_impact.desc=§o"Tossable boom." -item.grenade_if_incendiary.desc=§o"Flaming wheel of destruction!" -item.grenade_if_mystery.desc=§o"It's a mystery!" -item.grenade_if_null.desc=§ojava.lang.NullPointerException -item.grenade_if_spark.desc.11=§o"31-31-31-31-31-31-31-31-31-31-31-31-31" -item.grenade_if_spark.desc=§o"We can't rewind, we've gone too far." -item.grenade_if_sticky.desc=§o"This one is the booger grenade." -item.grenade_if_toxic.desc=§o"TOXIC SHOCK" -item.grenade_kyiv.name=The Kyiv Special -item.grenade_lunatic.desc.11=§c§o"The Moon dams collapse, flooding you with Lunar light" -item.grenade_lunatic.desc=§o"Here, have some Xanax, you're not you under the influence of DRX." -item.grenade_lunatic.name=Lunatic Grenade -item.grenade_smart.desc="Why did it not blow up????"$§oIf it didn't blow up it means it worked. -item.grenade_stunning.desc=§o"Stop! Hammer time!" -item.grenade_stunning.name=Stun Grenade (BETA) -item.gun_benelli.name=Benelli Autoshotgun -item.gun_benelli_mod.name=Benelli Autoshotgun (Drum Mod) -item.gun_hlr.desc.0="§mDodge§r§7§o Graze this" -item.gun_hlr.desc.1="I'll show you where to shove those spellcard rules, miko." -item.gun_hlr.desc.2="An obstacle has been spotted. Proceeding with extermination." -item.gun_hlr.desc.3="Why must we stand on this impure ground?" -item.gun_hlr.name=Heavy Lunatic Rifle (BETA) -item.gun_kit_1.desc=Repairs all weapons in hotbar by 10% -item.gun_kit_2.desc=Repairs all weapons in hotbar by 50% -item.gun_llr.name=Light Lunatic Rifle -item.gun_lunatic.name=Lunatic Gun (BETA) -item.gun_lunatic.name=Lunatic Gun (BETA) -item.gun_lunatic_marksman.name=Lunatic Marksman Rifle (BETA) -item.gun_m60=M60 Machine Gun -item.gun_mlr.name=Lunatic Rifle -item.gun_moist_nugget.desc=A Mosin-Na...no wait, it's$just a moist nugget. -item.gun_mp40_ammo.name=Submachine Gun Round (DEPRECATED) -item.gun_twr.desc.0=§c"You can't dodge a bullet that's already hit" -item.gun_twr.desc.1="Where's the exit!?"$§c§l"Nowhere" -item.gun_twr.desc.2=§c"I'm not about to have a little fly like you get away" -item.gun_twr.desc.3=§c"Eclipse, eclipse, under the sky!$§cShatter into a million shards of light!" -item.gun_twr.desc.4=§c"One must fall before one must ascend!" -item.gun_twr.desc.5=§c"The entrance, and the exit, are an endless loop." -item.gun_twr.desc.6=§c"Loud, furious$§c"...and signifying nothing as it passes from this world." -item.gun_twr.name=Time Warp Rifle (PLACEHOLDER) -item.gun_uac_carbine.name=UAC Carbine -item.gun_uac_dmr.name=UAC DMR -item.gun_uac_lmg.name=UAC LMG -item.gun_uac_pistol.name=Пистолет UAC .45 -item.gun_uac_smg.name=UAC SMG -item.gun_detonator.name=Лазерный детонатор -item.ingot_bk247.name=Berkelium-247 Ingot -item.ingot_bk248.name=Berkelium-248 Ingot -item.ingot_bk249.name=Berkelium-249 Ingot -item.ingot_cf249.name=Californium-249 Ingot -item.ingot_cf251.name=Californium-251 Ingot -item.ingot_cf252.name=Californium-252 Ingot -item.ingot_cm242.name=Curium-242 Ingot -item.ingot_cm243.name=Curium-243 Ingot -item.ingot_cm244.name=Curium-244 Ingot -item.ingot_cm245.name=Curium-245 Ingot -item.ingot_cm246.name=Curium-246 Ingot -item.ingot_cm247.name=Curium-247 Ingot -item.ingot_cm248.name=Curium-248 Ingot -item.ingot_cm250.name=Curium-250 Ingot -item.ingot_cn285.name=Coperinicium-285 Ingot -item.ingot_cn286.name=Coperinicium-286 Ingot -item.ingot_dineutronium_forged.name=§5Forged Dineutronium Ingot§r -item.ingot_du_dioxide.name=Uranium Dioxide Pellet -item.ingot_es254.name=Einsteinium-254 Ingot -item.ingot_md258.name=Mendelevium-258 Ingot -item.ingot_nbbe.name=Niobium-Beryllium Alloy Ingot -item.ingot_neodymium.name=Neodymium Ingot -item.ingot_niobium_alloy.name=Niobium Refractory Superalloy Ingot -item.ingot_orichalcum.desc=Very high density provides protection$against kinetic force and structural backbone -item.ingot_orichalcum.name=§6Orichalcum Ingot§r -item.ingot_orichalcum_small.desc=Solidified amalgamation, ready$to accept irradiation -item.ingot_orichalcum_small.name=§6Orichalcum Brick§r -item.ingot_orichalcum_small_irr.desc=Neutron irradiation transmutates the$amalgamation, allowing protection$against directed energy -item.ingot_orichalcum_small_irr.name=§6Activated Orichalcum Brick§r -item.ingot_staballoy.desc=Hehe, get it?$§o§nStab§7alloy, because it's an armor penetrator alloy? -item.ingot_staballoy.name=Staballoy Ingot -item.ingot_tha.name=Ingot of Activated Thorium -item.ingot_u234.name=Uranium-234 Ingot -item.ingot_w-co.name=Tungsten-Cobalt Alloy Ingot -item.jetpack_tank.desc=Fills worn jetpack with up to 1000mB of kerosene -item.journal_lunar.name=Lunar Defense Corp Blueprint Folder -item.lunar_kit.name=Lunar Kit -item.med_bag.desc=Full heal, regardless of max health$Removes negative effects -item.nugget_cf252.name=Californium-252 Nugget -item.nugget_cm248.name=Curium-248 Nugget -item.nugget_dineutronium.name=§5Dineutronium Nugget§r -item.nugget_tha.name=Nugget of Activated Thorium -item.nugget_u234.name=Uranium-234 Nugget -item.paa_filter.name=PaA - CMB Watz Filter -item.pack_fdd.name=10-Pack Box of Floppy Disks -item.part_einsteinium.name=Box of Einsteinium-254 Dust -item.particle_graviton.name=Graviton Capsule -item.pellet_antimatter.desc=Very heavy antimatter cluster.$Gets rid of black holes. -item.pellet_australium.name=Australium Watz Pellet -item.pellet_rtg_actinium.name=РИТЭГ-пеллета из актиния-227 -item.pellet_rtg_berkelium.name=РИТЭГ-пеллета из берклия-248 -item.pellet_solinium.name=Solinum Watz Target Pellet -item.pellet_solinium_laced.name=Euphemium-Laced Solinium Watz Target Pellet -item.pellet_zirconium.name=Zirconium Reflector Pellet -item.pill_iodine.desc=Removes negative effects -item.pill_strontium.desc=Bone §mhurting§r§7 healing pill -item.pill_strontium.name=Strontium Pill -item.plate_armor_du.desc.0=Tier: %s -item.plate_armor_du.desc=Very heavy depleted Uranium armor plate$Originally made for tanks -item.plate_armor_du.name=Tank-Grade DU Armor Plating -item.plate_armor_orichalcum.desc=Standard Lunarian armor for Vijokas$Highly refined, highly pure -item.plate_armor_orichalcum.name=§6Orichalcum Armor Plate§r -item.plate_du_dioxide.name=Uranium Dioxide Compound Plate -item.plate_orichalcum.desc=Numerous forms combined together$to maintain structural integrity$and protection against multiple fronts -item.plate_orichalcum.name=§6Orichalcum Compound Plate§r -item.powder_acrylic.name=Acrylic Compound -item.powder_du_dioxide.name=Uranium Dioxide Powder -item.powder_es254.name=Einsteinium-254 Powder -item.powder_nbbe.name=Niobium-Beryllium Powder -item.powder_niobium_alloy.name=Niobium Refractory Superalloy Powder -item.powder_orichalcum_mix.desc=Blend of high strength elements and$amalgams ready for solidification -item.powder_orichalcum_mix.name=§6Orichalcum Blend§r -item.powder_pu239.name=Plutonium-239 Powder -item.powder_tennessine.desc=§lAAAAAAAAAAAA -item.powder_u235.name=Uranium-235 Powder -item.powder_u238.name=Uranium-238 Powder -item.quantum_clock.name=Quantum Clock (UNFINISHED) -item.radaway.desc=Removes 140 RAD -item.radaway_flush.desc=Removes 1000 RAD -item.radaway_strong.desc=Removes 350 RAD -item.radx.desc=Increases radiation resistance by 0.2 (37%) for 3 minutes -item.rbmk_fuel_ac227be.name=Ac227Be RBMK Neutron Source -item.rbmk_fuel_cf252be.name=Cf252Be RBMK Neutron Source -item.rbmk_fuel_sa327be.name=Sa327Be RBMK Neutron Source -item.rbmk_pellet_ac227be.name=Ac227Be Spent Neutron Source Pellet -item.rbmk_pellet_cf252be.name=Cf252Be Spent Neutron Source Pellet -item.rbmk_pellet_sa327be.name=Sa327Be Spent Neutron Source Pellet -item.record.nmj.desc=Valve - Nuclear Mission Jam/Something Secret Steers Us -item.robot_skeleton.name=Robotic Skeleton -item.rod_dual_tha.name=Activated Thorium Dual Rod -item.rod_dual_u234.name=Uranium-234 Dual Rod -item.rod_quad_tha.name=Activated Thorium Quad Rod -item.rod_quad_u234.name=Uranium-234 Quad Rod -item.rod_tha.name=Activated Thorium Rod -item.rod_u234.name=Uranium-234 Rod -item.saturnite_filter.name=Saturnite - Desh Watz Filter -item.screwdriver_chad.name=High-Grade Screwdriver -item.shield.0.name=Riot Shield -item.shield.1.name=Heavy Duty Shield -item.shield.2.name=Combat Shield -item.shield.3.name=Superheavy Combat Shield -item.shrimp.name=Shrimp -item.shrimp_atomic.name=Atomic Shrimp -item.shrimp_fry.desc=§oberigooo... -item.shrimp_fry.name=shrimp fry -item.silicon_lump.name=Lump of Unprocessed Silicon -item.spawn_robot.name=Heavy Duty Combat Droid "Dark Trooper" -item.stamp_desh_disc.name=Disc Stamp (Desh) -item.stamp_ferrouranium_circuit.name=Circuit Stamp (Ferrouranium) -item.stamp_ferrouranium_disc.name=Disc Stamp (Ferrouranium) -item.stamp_ferrouranium_flat.name=Flat Stamp (Ferrouranium) -item.stamp_ferrouranium_plate.name=Plate Stamp (Ferrouranium) -item.stamp_ferrouranium_wire.name=Wire Stamp (Ferrouranium) -item.stamp_iron_disc.name=Disc Stamp (Iron) -item.stamp_obsidian_disc.name=Disc Stamp (Obsidian) -item.stamp_schrabidium_disc.name=Disc Stamp (Schrabidium) -item.stamp_steel_disc.name=Disc Stamp (Steel) -item.stamp_stone_disc.name=Disc Stamp (Stone) -item.stamp_titanium_disc.name=Disc Stamp (Titanium) -item.storage_hdd.name=Hard Disk Drive -item.storage_hdd_broken.desc=That fancy looking SSD is starting to look real nice, isn't it? -item.storage_hdd_broken.name=Broken Hard Disk Drive -item.storage_hdd_dead.desc=The mechanical parts are damaged, data cannot be read or written, it can be repaired however -item.storage_hdd_dead.name=Dead Hard Disk Drive -item.storage_hdd_raw.desc=No, you can't use it as a pizza cutter -item.storage_hdd_raw.name=Hard Drive Platter -item.storage_magnetic_cassette.name=Cassette Tape -item.storage_magnetic_fdd.name=3.5" 1.44mb Floppy Disk -item.storage_magnetic_fdd_tainted.desc10=Some kind of compression used$Get development on a decompression algorithm -item.storage_magnetic_fdd_tainted.desc11=§kWho came first, God or man?$§kIf man, than he shall create God$§kHe who stare into the abyss,$§kshall see the abyss stare back at he$§kBut who truly came first? -item.storage_magnetic_fdd_tainted.desc12=ἀπὸ μηχανῆς θεός -item.storage_magnetic_fdd_tainted.desc13=DEVICE USES UNIDENTIFIED POWER SOURCE$FURTHER RESEARCH REQUIRED -item.storage_magnetic_fdd_tainted.desc14=TOP PRIORITY: DISPOSE -item.storage_magnetic_fdd_tainted.desc15=Request more researchers$from Omega-12 to work on this -item.storage_magnetic_fdd_tainted.desc16=TOP PRIORITY: DEVELOP -item.storage_magnetic_fdd_tainted.desc17=ϝ -item.storage_magnetic_fdd_tainted.desc18=§l4444 -item.storage_magnetic_fdd_tainted.desc19=The disc has a curious label: -item.storage_magnetic_fdd_tainted.desc1=MARKED FOR SECURE DISPOSAL -item.storage_magnetic_fdd_tainted.desc20=It also appears to have a custom housing, it is permanently set to write-protect mode -item.storage_magnetic_fdd_tainted.desc2=ACCESS COMPLETELY RESTRICTED -item.storage_magnetic_fdd_tainted.desc3=COMPRESSED USING PROPREITARY SOFTWARE$Serial is in archive -item.storage_magnetic_fdd_tainted.desc4=CLASSIFICATION LEVEL: TOP SECRET$CATEGORY: RESEARCH$STATUS: IN-DEVELOPMENT$PURPOSE: UNKNOWN -item.storage_magnetic_fdd_tainted.desc5=CLASSIFICATION LEVEL: TOP SECRET$CATEGORY: PERMANENT ARCHIVE$ACCESS DATE: NEVER$CONTENGENCY PROTOCOL: DESTROY -item.storage_magnetic_fdd_tainted.desc6=AUXILIARY DEVELOPMENT REQUIRED:$BIO-NEURAL PROCESSORS -item.storage_magnetic_fdd_tainted.desc7=EST. COST: §mINDETERMINATE$§nTOO HIGH -item.storage_magnetic_fdd_tainted.desc8=CATEGORY: BLUEPRINT$Unknown design for unknown purpose -item.storage_magnetic_fdd_tainted.desc9=REQUIRED DIMENSIONS: INDETERMINATE -item.storage_magnetic_fdd_tainted.name=Peculiar Floppy Disk -item.storage_magnetic_r_to_r.name=Reel to Reel Tape -item.storage_magnetic_r_to_r_broken.desc=Should've seen that one coming -item.storage_magnetic_r_to_r_broken.name=Broken Reel to Reel Tape -item.storage_magnetic_raw.desc=The basis of all magnetic storage mediums, doesn't work too well as actual tape -item.storage_magnetic_raw.name=Magnetic Tape -item.storage_magnetic_raw_disc.desc=It will need a housing -item.storage_magnetic_raw_disc.name=Magnetic Disk -item.storage_magnetic_raw_reel.desc=A single one won't do you much good... or will it? -item.storage_magnetic_raw_reel.name=Reel of Magnetic Tape -item.storage_optical_bd.name=Blu-Ray Disc -item.storage_optical_cd.name=Compact Disc -item.storage_optical_dvd.name=Digital Versatile Disc -item.storage_optical_raw.desc=Clearer than glass -item.storage_optical_raw.name=Raw Optical Disc -item.storage_ssd.name=Solid State Drive -item.storage_ssd_raw_tier_1.desc=Upgradable -item.storage_ssd_raw_tier_1.name=Raw Flash Storage Device -item.storage_usb.name=Universal Serial Bus Flash Drive -item.syringe_antidote.desc=Removes all potion effects -item.syringe_awesome.desc=Every good effect for 50 seconds -item.syringe_metal_medx.desc=Resistance III for 4 minutes -item.syringe_metal_psycho.desc=Resistance I for 2 minutes$Strength I for 2 minutes -item.syringe_metal_stimpak.desc=Heals 2.5 hearts -item.syringe_metal_super.desc=Heals 25 hearts$Slowness I for 10 seconds -item.syringe_poison.desc=Deadly -item.syringe_taint.desc=Tainted I for 60 seconds$Nausea I for 5 seconds$Cloud damage + taint = tainted heart effect -item.tank_hydrogen.name=Hydrogen Reserve Tank -item.tank_hydrogen_large.name=Hydrogen Fuel Tank -item.test_nuke_tier1_bullet.name=Uranium-235 Projectile (Tier 1) -item.test_nuke_tier1_target.name=Subcritical Uranium-235 Target (Tier 1) -item.thruster_dfc.desc=Utilizes a compact Dark Fusion Core to gain$enough energy to approach infinity -item.thruster_dfc.name=Dark Fusion Space Drive -item.thruster_nuclear.desc=Powered by compact low-power nuclear reactor$to superheat hydrogen into a plasma$for subluminal space travel -item.thruster_nuclear_adv.desc=Powered by high-power nuclear reactor$to superheat hydrogen into a plasma$for subluminal space travel -item.thruster_nuclear_adv.name=LV-N High-Power Nuclear Rocket Engine -item.thruster_nuclear_liq.desc=Uses high-power liquid fuel reactor for$higher efficiency fuel consumption and$heat production -item.thruster_nuclear_liq.name=LV-N Liquid Fueled Nuclear Rocket Engine -item.thruster_warp.desc=Uses antimass coils to manipulate space-time$to allow for superluminal speed$Works better when has direct line of sight$with another nacelle -item.thruster_warp.name=FTL Drive Nacelle -item.upgrade_clock_1.name=Atomic Clock Accuracy Upgrade Mk.I -item.upgrade_clock_2.name=Atomic Clock Accuracy Upgrade Mk.II -item.upgrade_clock_3.name=Atomic Clock Accuracy Upgrade Mk.III -item.upgrade_clock_4.name=Atomic Clock Quantum Accuracy Upgrade -item.wafer_diamond.name=Diamond Semiconductor Wafer -item.wafer_gold.name=Gold Semiconductor Wafer -item.wafer_lapis.name=Lapis Lazuli Semiconductor Wafer -item.wafer_silicon.name=Silicon Semiconductor Wafer -item.wafer_spark.name=Spark Semiconductor Wafer -item.warhead_biological.name=Biological Warhead -item.warhead_chemical.name=Chemical Warhead -item.warhead_fusion.name=Pure Fusion Warhead -item.warhead_gravimetric.name=Gravimetric Warhead -item.wire_glass.name=Fiber Optic Wire -item.wire_glass.name=Optical Fiber -item.wire_glass_insulated.name=Insulated Optical Fiber +item.weapon_pipe_rusty.name=Поправитель поведения +item.weapon_saw.name=Убийство при содействии врача +item.weaponized_starblaster_cell.name=§cСмонтированная энергетическая ячейка Звездного бластера§r +item.wd40.name=VT-40 +item.wild_p.name=Сухое виски "Дикий Пегас" +item.wings_limp.name=Хромые крылья +item.wings_murk.name=Мрачные крылья +item.wire_advanced_alloy.name=Сверхпроводник +item.wire_aluminium.name=Алюминиевый провод +item.wire_copper.name=Медный провод +item.wire_dense.name=Плотный провод (%s) +item.wire_fine.name=Провод (%s) +item.wire_gold.name=Золотой провод +item.wire_magnetized_tungsten.name=4000K Высокотемпературный проводник +item.wire_red_copper.name=Провод из красной меди +item.wire_schrabidium.name=Шрабидиевый провод +item.wire_tungsten.name=Вольфрамовый провод +item.wiring_red_copper.name=Моток провода +item.wood_gavel.name=Деревянный молоток +item.wrench.name=Газовый ключ +item.wrench_archineer.name=Гаечный ключ инженера +item.wrench_flipped.name=Лезвие на гаечном ключе +item.xanax.name=Препарат "НАКСА" против дигаммы item.xanax.desc=Снимает 500mDRX -potion.hbm_fragile=Fragility -potion.hbm_hollow=Hollow -potion.hbm_paralysis=Paralysis -potion.hbm_perforated=Perforated -potion.hbm_unconscious=Subconscious Mind +item.zirconium_legs.name=Циркониевые штаны -singGen.isRunning.false=Idle -singGen.isRunning.true=Active +itemGroup.tabBlocks=Руды и блоки NTM +itemGroup.tabConsumable=Расходные материалы и снаряжение NTM +itemGroup.tabControl=Топливо и элементы механизмов NTM +itemGroup.tabMachine=Механизмы NTM +itemGroup.tabMissile=Ракеты и спутники NTM +itemGroup.tabNuke=Бомбы NTM +itemGroup.tabParts=Ресурсы и детали NTM +itemGroup.tabTemplate=Шаблоны NTM +itemGroup.tabTest=Тестовая вкладка NTM +itemGroup.tabWeapon=Оружие и турели NTM -storage.desc.con.capacity1=- Pitiful storage capacity -storage.desc.con.exposed=- Exposed to the elements -storage.desc.con.fragile=- Fragile -storage.desc.con.magnet=- Easily wiped by magnets -storage.desc.con.mechanical=- Prone to mechanical failure -storage.desc.con.name=- Dumb name -storage.desc.con.speed1=- Pitiful r/w speed -storage.desc.neu.flash=* Flash Medium -storage.desc.neu.magnetic=* Magnetic medium -storage.desc.neu.mechanical=* Mechanical parts -storage.desc.neu.na=Unfinished storage medium type -storage.desc.neu.optical=* Optical medium -storage.desc.pro.capacity1=+ Very good capacity -storage.desc.pro.cheap_very=+ Extremely cheap -storage.desc.pro.compact=+ Very compact -storage.desc.pro.lifespan1=+ Excellent lifespan -storage.desc.pro.lifespan2=+ Good lifespan -storage.desc.pro.speed1=+ Decent r/w speed -tile.atomic_clock.name=Atomic Clock -tile.balefire.name=Balefire -tile.block_circuit_tier_1.name=Basic Supercomputer Calculation Matrix -tile.block_circuit_tier_2.name=Enhanced Supercomputer Calculation Matrix -tile.block_circuit_tier_3.name=Advanced Supercomputer Calculation Matrix -tile.block_circuit_tier_4.name=Overclocked Supercomputer Calculation Matrix -tile.block_circuit_tier_5.name=High Performance Supercomputer Calculation Matrix -tile.block_circuit_tier_6.name=Spark Supercomputer Calculation Matrix -tile.block_electronium.name=§bBlock of Electronium§r -tile.block_ferrouranium.name=Reinforced Block of Ferrouranium -tile.block_polymer.name=Блок полимера +pa.idle=Ожидание +pa.idle.desc=Ожидание +pa.running=Запущен +pa.running.desc=Запущен +pa.success=Завершено +pa.success.desc=Завершено +pa.pause_unloaded=Приостановлен +pa.pause_unloaded.desc=Частица вошла$в незагруженный чанк. Операция$была приостановлена$до тех пор пока частица и источник частиц$не будут загружены. +#The particle has entered an$unloaded chunk. The operation has$been suspended, until both the$particle and the particle source$are loaded. +pa.crash_defocus=Расфокус! +pa.crash_defocus.desc=Частица потеряла фокус.$Убедитесь что ускоритель имеет достаточное количество квадрупольных магнитов. +pa.crash_derail=Сход с рельсов! +pa.crash_derail.desc=Частица вышла за пределы ускорителя.$Убедитесь что никакие части не отсутствуют,$и что диполи настроены правильно. +pa.crash_cannot_enter=Отклонено! +pa.crash_cannot_enter.desc=Частица попыталась войти$в часть ускорителя, но не смогла.$Убедитесь, что все части правильно ориентированы. +pa.crash_nocool=Отсутствует охлаждение! +pa.crash_nocool.desc=Частица вошла в неохлаждаемую$часть ускорителя. Убедитесь, что$все охлаждаемые части подключены$и заполнены холодным перфторометилом. +pa.crash_nopower=Отсутствует питание! +pa.crash_nopower.desc=Частица вошла в незапитанную$часть ускорителя. Убедитесь, что все части$получают энергию, и что$получаемой энергии достаточно. +pa.crash_nocoil=Отсутствуют катушки! +pa.crash_nocoil.desc=Частица вошла в диполь$или квадруполь где отсутствуют катушки.$Установите катушки для корректной работы этой части. +pa.crash_overspeed=Превышение скорости! +pa.crash_overspeed.desc=Частица вошла в диполь$или квадруполь, когда её скорость достигла$лимита катушки. Установите катушки$более высокого уровня или настройте диполи$на более ранний выход частицы из кольца ускорителя. +pa.crash_norecipe=Нет рецепта! +pa.crash_norecipe.desc=Частица вошла в детектор$с некорректными компонентами рецепта.$Убедитесь, что компоненты в источнике частиц$соответствуют существующему рецепту. +pa.crash_underspeed=Недостаточная скорость! +pa.crash_underspeed.desc=Частица вошла в детектор$с недостаточной скоростью, чтобы выполнить$текущий рецепт. Убедитесь,$что ускоритель корректно настроен для этого рецепта. + +potion.hbm_bang=! ! ! +potion.hbm_death=Астольфофикация +potion.hbm_lead=Отравление свинцом +potion.hbm_mutation=Заражённое порчей сердце +potion.hbm_phosphorus=Фосфорные ожоги +potion.hbm_potionsickness=Послезельевая болезнь +potion.hbm_radaway=Антирадин +potion.hbm_radiation=Излучение +potion.hbm_radx=Рад-X +potion.hbm_stability=Стабильность +potion.hbm_taint=Порча +potion.hbm_telekinesis=! ! ! + +radar.clearMap=Очистить карту +radar.detectMissiles=Обнаружение ракет +radar.detectPlayers=Обнаружение игроков +radar.detectShells=Обнаружение снарядов +radar.redMode=Режим красного камня$Включён: Сигнал редстоуна базируется на дальности$Выключен: Сигнал редстоуна базируется на уровне +radar.showMap=Показать карту +radar.smartMode=Умный режим$Выход редстоуна игнорирует восходящие ракеты +radar.toggleGui=Переключить интерфейс + +radar.target.abm=Антибаллистическая ракета +radar.target.custom10=Ракета 10 размера +radar.target.custom1015=Ракета 10/15 размера +radar.target.custom15=Ракета 15 размера +radar.target.custom1520=Ракета 15/20 размера +radar.target.custom20=Ракета 20 размера +radar.target.doomsday=Ракета судного дня +radar.target.shuttle=Космический шаттл Reliant Robin +radar.target.tier0=Ракета 0-го уровня +radar.target.tier1=Ракета 1-го уровня +radar.target.tier2=Ракета 2-го уровня +radar.target.tier3=Ракета 3-го уровня +radar.target.tier4=Ракета 4-го уровня + +rbmk.heat=Температура компонента: %s +rbmk.boiler.water=Вода: %s / %s +rbmk.boiler.steam=Пар: %s / %s +rbmk.boiler.type=Сжатие: %s +rbmk.console.assign=Назначить стержни к экрану #%s +rbmk.console.none=Выкл. +rbmk.console.col_temp=Средняя температура стержня +rbmk.console.rod_extraction=Среднее извлечение регулирующих стержней +rbmk.console.fuel_depletion=Среднее топливное обеднение +rbmk.console.fuel_poison=Среднее ксеноновое отравление +rbmk.console.fuel_temp=Средняя температура топлива +rbmk.control.level=%s +rbmk.control.red=§cКрасная группа +rbmk.control.yellow=§eЖёлтая группа +rbmk.control.green=§aЗелёная группа +rbmk.control.blue=§1Синяя группа +rbmk.control.purple=§5Фиолетовая группа +rbmk.moderated=Замедленно +rbmk.rod.depletion=Обеднение: %s +rbmk.rod.xenon=Ксеноновое отравление: %s +rbmk.rod.coreTemp=Температура стержня: %s +rbmk.rod.skinTemp=Температура оболочки стержня: %s / %s +rbmk.screen.core=Ядро: %s +rbmk.screen.depletion=Истощ: %s +rbmk.screen.rod=Управ: %s +rbmk.screen.temp=Темп: %s +rbmk.screen.xenon=Ксенон: %s + +shape.barrelHeavy=Тяжелый ствол +shape.barrelLight=Лёгкий ствол +shape.billet=Заготовка +shape.blade=Лопасть +shape.blades=Лезвия измельчителя +shape.block=Блок +shape.c9=Гильза малого калибра +shape.c50=Гильза большого калибра +shape.dust=Порошок +shape.dusttiny=Кучка пыли +shape.grip=Рукоятка +shape.gunMechanism=Оружейный механизм +shape.hull_big=Большая оболочка +shape.hull_small=Малая оболочка +shape.ingot=Слиток +shape.nugget=Самородок +shape.quantum=Кванта +shape.quart=Четверть блока +shape.receiverHeavy=Тяжёлый ресивер +shape.receiverLight=Лёгкий ресивер +shape.ntmpipe=Труба +shape.plate=Пластина +shape.plateTriple=Литая пластина +shape.shell=Оболочка +shape.stamp=Штамп для пресса +shape.stock=Приклад +shape.wireFine=Провода +shape.wireDense=Плотный провод +shape.wiresDense=Плотные провода + +soundCategory.ntmMachines=Механизмы NTM + +stat.ntmBullets=Сделано выстрелов +stat.ntmLegendary=Создано легендарных предметов +stat.ntmMines=Подрывов на минах + +tile.absorber.name=Поглотитель радиации +tile.absorber_green.name=Усовершенствованный поглотитель радиации +tile.absorber_pink.name=Элитный поглотитель радиации +tile.absorber_red.name=Продвинутый поглотитель радиации +tile.acid_block.name=Кислота +tile.ams_base.name=Основание АМС [Декор] +tile.ams_emitter.name=Излучатель АМС [Декор] +tile.ams_limiter.name=Стабилизатор АМС [Декор] +tile.ancient_scrap.name=Древние обломки +tile.anvil_arsenic_bronze.name=Наковальня из мышьяковой бронзы +tile.anvil_bismuth.name=Висмутовая наковальня +tile.anvil_bismuth_bronze.name=Наковальня из висмутовой бронзы +tile.anvil_desh.name=Деш-наковальня +tile.anvil_dnt.name=Динейтрониевая наковальня +tile.anvil_ferrouranium.name=Ферроураниевая наковальня +tile.anvil_iron.name=Железная наковальня +tile.anvil_lead.name=Свинцовая наковальня +tile.anvil_meteorite.name=Метеоритовая наковальня +tile.anvil_murky.name=Мрачная наковальня +tile.anvil_osmiridium.name=Осмиридиевая наковальня +tile.anvil_saturnite.name=Сатурнитовая наковальня +tile.anvil_schrabidate.name=Наковальня из шрабидата железа +tile.anvil_starmetal.name=Наковальня из звёздного металла +tile.anvil_steel.name=Стальная наковальня +tile.ash_digamma.name=Пепел +tile.asphalt.name=Асфальт +tile.asphalt_stairs.name=Ступеньки из асфальта +tile.asphalt_light.name=Асфальтированный светящийся камень +tile.barbed_wire.name=Колючая проволока +tile.barbed_wire_acid.name=Кислотная колючая проволока +tile.barbed_wire_fire.name=Пылающая колючая проволока +tile.barbed_wire_poison.name=Отравленная колючая проволока +tile.barbed_wire_ultradeath.name=Радиоактивная колючая проволока +tile.barbed_wire_wither.name=Иссушающая колючая проволока +tile.barrel_antimatter.name=Магнитный контейнер для антиматерии +tile.barrel_corroded.name=Проржавевшая бочка +tile.barrel_iron.name=Железная бочка +tile.barrel_plastic.name=Безопасный бочонок™ +tile.barrel_steel.name=Стальная бочка +tile.barrel_tcalloy.name=Бочка из технециевой стали +tile.barricade.name=Мешки с песком +tile.basalt.name=Базальт +tile.basalt_brick.name=Базальтовые кирпичи +tile.basalt_polished.name=Полированный базальт +tile.basalt_smooth.name=Гладкий базальт +tile.basalt_tiles.name=Базальтовая плитка +tile.blast_door.name=Раздвижные двери +tile.block_actinium.name=Блок актиния +tile.block_advanced_alloy.name=Блок продвинутого сплава +tile.block_aluminium.name=Алюминиевый блок +tile.block_asbestos.name=Асбест +tile.block_australium.name=Австралиевый блок tile.block_bakelite.name=Блок бакелита -tile.block_rubber.name=Блок резины +tile.block_beryllium.name=Бериллиевый блок +tile.block_bismuth.name=Блок висмута +tile.block_boron.name=Блок бора +tile.block_c4.name=Блок C-4 +tile.block_cadmium.name=Кадмиевый блок +tile.block_cap_fritz.name=Блок крышек от Фрицз-Кола +tile.block_cap_korl.name=Блок крышек от Корл +tile.block_cap_nuka.name=Блок крышек от Ядер-колы +tile.block_cap_quantum.name=Блок крышек от Квантовой Ядер-колы +tile.block_cap_rad.name=Блок крышек от С~Колы РАД +tile.block_cap_sparkle.name=Блок крышек от С~Колы +tile.block_cap_star.name=Блок крышек со звездой от Сансет Сарсапарилла +tile.block_cap_sunset.name=Блок крышек от Сансет Сарсапарилла +tile.block_cdalloy.name=Блок кадмиевой стали +tile.block_cobalt.name=Кобальтовый блок tile.block_coke.coal.name=Блок угольного кокса tile.block_coke.lignite.name=Блок бурого кокса tile.block_coke.petroleum.name=Блок нефтяного кокса -tile.block_staballoy.name=Reinforced Block of Staballoy -tile.block_tha.name=Block of Activated Thorium -tile.brick_concrete_slab.name=Concrete Brick Slab -tile.brick_concrete_stairs.name=Concrete Brick Stairs -tile.cable_optical.name=Fiber Optic Cable -tile.cable_optical_coated.name=Coated Fiber Optic Cable -tile.computer_hatch.name=Computer Access Terminal -tile.concrete_slab.name=Concrete Tile Slab -tile.concrete_smooth_slab.name=Concrete Slab -tile.concrete_smooth_stairs.name=Concrete Stairs -tile.concrete_stairs.name=Concrete Tile Stairs -tile.geiser_nether.name=Nether Geiser -tile.geiser_vapor.name=Steam Geiser -tile.geiser_water.name=Water Geiser -tile.gravel_diamond.desc=There is some kind of joke here,$but I can't quite tell what it is.$ $Update, 2020-07-04:$We deny any implications of a joke on$the basis that it was so severely unfunny$that people started stabbing their eyes out.$ $Update, 2020-17-04:$As it turns out, "Diamond Gravel" was$never really a thing, rendering what might$have been a joke as totally nonsensical.$We apologize for getting your hopes up with$this non-joke that hasn't been made.$ $i added an item for a joke that isn't even here, what am i, stupid? can't even tell the difference between gravel and a gavel, how did i not forget how to breathe yet? -tile.machine_amat_reactor.name=FTL Antimatter Reactor (ALPHA) -tile.machine_difurnace_rtg_off.name=Ядерная доменная печь -tile.machine_difurnace_rtg_on.name=Ядерная доменная печь +tile.block_coltan.name=Блок колтана +tile.block_combine_steel.name=Блок стали альянса +tile.block_copper.name=Медный блок +tile.block_corium.name=Кориум +tile.block_corium_cobble.name=Буриум +tile.block_daffergon.name=Даффергоновый блок +tile.block_desh.name=Укрепленный блок деш +tile.block_dineutronium.name=Блок динейтрония +tile.block_dura_steel.name=Укрепленный блок высокоскоростной стали +tile.block_electrical_scrap.name=Блок отходов электроники +tile.block_euphemium.name=Блок эвфемия +tile.block_euphemium_cluster.name=Эвфемиево-вытравленный кластер шрабидия +tile.block_fallout.name=Блок радиоактивных осадков +tile.block_fiberglass.name=Рулон стекловолокна +tile.block_fluorite.name=Флюоритовый блок +tile.block_foam.name=Пена +tile.block_insulator.name=Рулон изолятора +tile.block_graphite.name=Блок графита +tile.block_graphite_detector.name=Детектор нейтронов поленницы +tile.block_graphite_drilled.name=Просверленный графит +tile.block_graphite_fuel.name=Топливо поленницы +tile.block_graphite_lithium.name=Литиевое топливо поленницы +tile.block_graphite_plutonium.name=Куча топлива (Переработанное) +tile.block_graphite_rod.name=Контрольный стержень поленницы +tile.block_graphite_source.name=Источник нейтронов поленницы +tile.block_graphite_tritium.name=Литиевое топливо поленницы (Переработанное) +tile.block_lead.name=Свинцовый блок +tile.block_lanthanium.name=Блок лантания +tile.block_lithium.name=Литиевый блок +tile.block_magnetized_tungsten.name=Блок намагниченного вольфрама +tile.block_meteor.name=Блок метеорита +tile.block_meteor_broken.name=Разбитый блок метеорита +tile.block_meteor_cobble.name=Метеоритный булыжник +tile.block_meteor_molten.name=Горячий метеоритный булыжник +tile.block_meteor_treasure.name=Блок метеоритных сокровищ +tile.block_mox_fuel.name=Блок МОКС топлива +tile.block_neptunium.name=Нептуниевый блок +tile.block_niter.name=Блок селитры +tile.block_niter_reinforced.name=Укрепленный блок селитры +tile.block_niobium.name=Блок ниобия +tile.block_plutonium.name=Плутониевый блок +tile.block_plutonium_fuel.name=Блок плутониевого топлива +tile.block_polonium.name=Блок полония-210 +tile.block_polymer.name=Блок полимера +tile.block_pu_mix.name=Блок плутония реакторного качества +tile.block_pu238.name=Блок плутония-238 +tile.block_pu239.name=Блок плутония-239 +tile.block_pu240.name=Блок плутония-240 +tile.block_ra226.name=Блок радия-226 +tile.block_red_copper.name=Блок красной меди +tile.block_red_phosphorus.name=Блок красного фосфора +tile.block_reiium.name=Реиевый блок +tile.block_rubber.name=Блок резины +tile.block_schrabidate.name=Блок шрабидата железа +tile.block_schrabidium.name=Блок шрабидия +tile.block_schrabidium_cluster.name=Шрабидиевый кластер +tile.block_schrabidium_fuel.name=Блок шрабидиевого топлива +tile.block_schraranium.name=Блок шрарания +tile.block_scrap.name=Блок металлолома +tile.block_semtex.name=Блок семтекса +tile.block_slag.name=Блок шлака +tile.block_smore.name=Блок с'мора +tile.block_solinium.name=Солиниевый блок +tile.block_starmetal.name=§9Блок звёздного металла§r +tile.block_steel.name=Стальной блок +tile.block_sulfur.name=Блок серы +tile.block_tantalium.name=Блок тантала +tile.block_tcalloy.name=Блок технециевой стали +tile.block_thorium.name=Ториевый блок +tile.block_thorium_fuel.name=Блок ториевого топлива +tile.block_titanium.name=Титановый блок +tile.block_trinitite.name=Тринититовый блок +tile.block_tritium.name=Блок тритиевых пробирок +tile.block_tungsten.name=Вольфрамовый блок +tile.block_u233.name=Блок урана-233 +tile.block_u235.name=Блок урана-235 +tile.block_u238.name=Блок урана-238 +tile.block_unobtainium.name=Недостатиевый блок +tile.block_uranium.name=Урановый блок +tile.block_uranium_fuel.name=Блок уранового топлива +tile.block_verticium.name=Вертициевый блок +tile.block_waste.name=Блок ядерных отходов +tile.block_waste_painted.name=Покрашенный блок ядерных отходов +tile.block_waste_vitrified.name=Блок остеклованных ядерных отходов +tile.block_weidanium.name=Вейданиевый блок +tile.block_white_phosphorus.name=Блок белого фосфора +tile.block_yellowcake.name=Блок йеллоукейка +tile.block_zirconium.name=Блок циркония +tile.boat.name=Лодка +tile.bobblehead.name=Болванчик +tile.bomb_multi.name=Многоцелевая бомба +tile.bomber.name=Разбившийся бомбардировщик +tile.book_guide.name=Книга знаний +tile.boxcar.name=Грузовой вагон +tile.brick_asbestos.name=Асбестовые кирпичи +tile.brick_asbestos_stairs.name=Ступеньки из асбестовых кирпичей +tile.brick_compound.name=Сетка из соединения +tile.brick_compound_stairs.name=Ступеньки из композитной сетки +tile.brick_concrete.name=Бетонные кирпичи +tile.brick_concrete_stairs.name=Ступеньки из бетонных кирпичей +tile.brick_concrete_broken.name=Сломанные бетонные кирпичи +tile.brick_concrete_broken_stairs.name=Ступеньки из сломанных бетонных кирпичей +tile.brick_concrete_cracked.name=Потресканные бетонные кирпичи +tile.brick_concrete_cracked_stairs.name=Ступеньки из разрушенных бетонных кирпичей +tile.brick_concrete_marked.name=Обозначенные бетонные кирпичи +tile.brick_concrete_mossy.name=Замшелые бетонные кирпичи +tile.brick_concrete_mossy_stairs.name=Cтупени из замшелых бетонных кирпичей +tile.brick_ducrete.name=Дюкретовые кирпичи +tile.brick_ducrete_stairs.name=Ступеньки из дюкретовых кирпичей +tile.brick_dungeon.name=Берцелианит кирпичи +tile.brick_dungeon_circle.name=Берцелианитовый круг +tile.brick_dungeon_flat.name=Берцелианит +tile.brick_dungeon_tile.name=Берцелианитовая плитка +tile.brick_fire.name=Шамотные кирпичи +tile.brick_fire_stairs.name=Ступеньки из шамотных кирпичей +tile.brick_jungle.name=Энаргитовые кирпичи +tile.brick_jungle_circle.name=Круг Механиста +tile.brick_jungle_cracked.name=Потресканные энаргитовые кирпичи +tile.brick_jungle_fragile.name=Хрупкие энаргитовые кирпичи +tile.brick_jungle_glyph.name=Энаргитовые кирпичи с глифами +tile.brick_jungle_lava.name=Магматические энаргитовые кирпичи +tile.brick_jungle_mystic.name=Магические энаргитовые кирпичи +tile.brick_jungle_ooze.name=Радиоактивные энаргитовые кирпичи +tile.brick_jungle_trap.name=Энаргитовые кирпичи-ловушка +tile.brick_light.name=Лёгкие кирпичи +tile.brick_light_stairs.name=Ступеньки из светлых кирпичей +tile.brick_obsidian.name=Обсидиановые кирпичи +tile.brick_obsidian_stairs.name=Ступеньки из обсидиановых кирпичей +tile.brick_red.name=Кирпичи красной комнаты +tile.brick_slab.brick_asbestos.name=Плита из асбестовых кирпичей +tile.brick_slab.brick_compound.name=Плита из композитной сетки +tile.brick_slab.brick_fire.name=Плита из шамотных кирпичей +tile.brick_slab.brick_light.name=Плита из светлых кирпичей +tile.brick_slab.brick_obsidian.name=Плита из обсидиановых кирпичей +tile.brick_slab.reinforced_brick.name=Плита из укреплённого камня +tile.brick_slab.reinforced_stone.name=Плита из уплотнённого камня +tile.broadcaster_pc.name=Повреждённый передатчик +tile.burning_earth.name=Горящая трава +tile.c4.name=C-4 +tile.cable_detector.name=Редстоун-рубильник +tile.cable_diode.name=Диод из красной меди +tile.cable_switch.name=Рубильник +tile.capacitor_bus.name=Шина конденсатора +tile.capacitor_bus.desc=Выходной блок для конденсаторов$Может быть подключен по прямой линии +tile.capacitor_copper.name=Медный конденсатор +tile.capacitor_gold.name=Золотой конденсатор +tile.capacitor_niobium.name=Ниобиевый конденсатор +tile.capacitor_schrabidate.name=Шрабидатовый конденсатор +tile.capacitor_tantalium.name=Танталовый конденсатор +tile.capacitor.desc=Вход: Сверху$Выход: Снизу через шину +tile.charge_c4.name=Подрывной заряд +tile.charge_dynamite.name=Бомба с таймером +tile.charge_miner.name=Шахтёрский заряд с таймером +tile.charge_semtex.name=Шахтёрский заряд с семтексом +tile.charger.name=Станция зарядки +tile.cheater_virus.name=Охлаждённый Эвфемий +tile.cheater_virus_seed.name=Нестабильный блок шрабидата эвфемия +tile.chimney_brick.name=Дымовая труба +tile.chimney_brick.desc=Подсоединяется с помощью выхлопных труб к машинам$Сокращает выбросы загрязняющих веществ на 75%% +tile.chimney_industrial.name=Промышленная дымовая труба +tile.chimney_industrial.desc=Подсоединяется с помощью выхлопных труб к машинам$Сокращает выбросы загрязняющих веществ на 90%% +tile.chlorine_gas.name=Хлор +tile.cluster_aluminium.name=Алюминиевый рудный кластер +tile.cluster_copper.name=Медный рудный кластер +tile.cluster_depth_iron.name=Глубинный железорудный кластер +tile.cluster_depth_titanium.name=Глубинный титановый рудный кластер +tile.cluster_depth_tungsten.name=Глубинный вольфрамовый рудный кластер +tile.cluster_iron.name=Железорудный кластер +tile.cluster_titanium.name=Титановый рудный кластер +tile.custom_machine_anchor.name=Якорь для кастомных машин +tile.cm_block.alloy.name=Корпус машины из продвинутого сплава +tile.cm_block.desh.name=Корпус машины из деша +tile.cm_block.steel.name=Корпус машины из стали +tile.cm_block.tcalloy.name=Корпус машины из технециевой стали +tile.cm_circuit.aluminium.name=Блок микросхем 1-го уровня +tile.cm_circuit.copper.name=Блок микросхем 2-го уровня +tile.cm_circuit.gold.name=Блок микросхем 4-го уровня +tile.cm_circuit.red_copper.name=Блок микросхем 3-го уровня +tile.cm_circuit.schrabidium.name=Блок микросхем 5-го уровня +tile.cm_engine.bismuth.name=Моторный блок из висмута +tile.cm_engine.desh.name=Моторный блок из деша +tile.cm_engine.standard.name=Моторный блок +tile.cm_flux.name=Приемник нейтронного потока +tile.cm_heat.name=Теплоприемник +tile.cm_port.alloy.name=Люк из продвинутого сплава +tile.cm_port.desh.name=Люк из деша +tile.cm_port.steel.name=Люк из стали +tile.cm_port.tcalloy.name=Люк из технециевой стали +tile.cm_sheet.alloy.name=Лист из продвинутого сплава +tile.cm_sheet.desh.name=Лист из деша +tile.cm_sheet.steel.name=Лист из стали +tile.cm_sheet.tcalloy.name=Лист из технециевой стали +tile.cm_tank.alloy.name=Бак из продвинутого сплава +tile.cm_tank.desh.name=Бак из деша +tile.cm_tank.steel.name=Бак из стали +tile.cm_tank.tcalloy.name=Бак из технециевой стали +tile.cmb_brick.name=Плита из стали Альянса +tile.cmb_brick_reinforced.name=Усиленные кирпичи из стали Альянса +tile.compact_launcher.name=Компактная пусковая площадка +tile.concrete.name=Бетонная плитка +tile.concrete_asbestos.name=Асбестобетон +tile.concrete_asbestos_stairs.name=Ступеньки из асбестовых кирпичей +tile.concrete_brick_slab.brick_concrete.name=Плита из бетонных кирпичей +tile.concrete_brick_slab.brick_concrete_broken.name=Плита из разрушившихся бетонных кирпичей +tile.concrete_brick_slab.brick_concrete_cracked.name=Плита из потресканных бетонных кирпичей +tile.concrete_brick_slab.brick_concrete_mossy.name=Плита из замшелых бетонных кирпичей +tile.concrete_brick_slab.brick_ducrete.name=Плита из дюкретовых кирпичей +tile.concrete_colored.black.name=Черный бетон +tile.concrete_colored.blue.name=Синий бетон +tile.concrete_colored.brown.name=Коричневый бетон +tile.concrete_colored.cyan.name=Бирюзовый бетон +tile.concrete_colored.gray.name=Серый бетон +tile.concrete_colored.green.name=Зелёный бетон +tile.concrete_colored.lightBlue.name=Светло-синий бетон +tile.concrete_colored.lime.name=Лаймовый бетон +tile.concrete_colored.magenta.name=Пурпурный бетон +tile.concrete_colored.orange.name=Оранжевый бетон +tile.concrete_colored.pink.name=Розовый бетон +tile.concrete_colored.purple.name=Фиолетовый бетон +tile.concrete_colored.red.name=Красный бетон +tile.concrete_colored.silver.name=Светло-серый бетон +tile.concrete_colored.white.name=Белый бетон +tile.concrete_colored.yellow.name=Жёлтый бетон +tile.concrete_colored_ext.bronze.name=Бетон "Выбор строителя" - Бронза +tile.concrete_colored_ext.hazard.name=Бетон "Выбор строителя" - Полоса опасности +tile.concrete_colored_ext.indigo.name=Бетон "Выбор строителя" - Глубокий индиго +tile.concrete_colored_ext.machine.name=Бетон "Выбор строителя" - Промышленный оттенок +tile.concrete_colored_ext.machine_stripe.name=Бетон "Выбор строителя" - Промышленная полоса +tile.concrete_colored_ext.pink.name=Бетон "Выбор строителя" - Мужественный розовый +tile.concrete_colored_ext.purple.name=Бетон "Выбор строителя" - Таинственный фиолетовый +tile.concrete_colored_ext.sand.name=Бетон "Выбор строителя" - Пустыня +tile.concrete_pillar.name=Арматурный железобетонный столб +tile.concrete_slab.asphalt.name=Плита из асфальта +tile.concrete_slab.concrete.name=Плита из бетонной плитки +tile.concrete_slab.concrete_asbestos.name=Плита из асбестобетона +tile.concrete_slab.concrete_smooth.name=Плита из бетона +tile.concrete_slab.ducrete.name=Плита из дюкретовой плитки +tile.concrete_slab.ducrete_smooth.name=Плита из дюкрета +tile.concrete_smooth.name=Бетон +tile.concrete_smooth_stairs.name=Ступеньки из бетона +tile.concrete_stairs.name=Ступеньки из бетонной плитки +tile.concrete_super.name=Убер-бетон +tile.concrete_super_broken.name=Замшелые бетонные обломки +tile.conveyor.name=Конвейер +tile.conveyor.desc=Перемещает предметы, упавшие на него$Может вращаться по часовой стрелке с помощью отвертки$Нажмите на отвертку для сгибания +tile.conveyor_chute.name=Конвейерный желоб +tile.conveyor_chute.desc=Перемещает предметы вниз$Самый нижний желоб будет действовать как обычный конвейер +tile.conveyor_double.name=Двухполосный конвейер +tile.conveyor_double.desc=Перемещает предметы, опущенные на него$Может поворачиваться по часовой стрелке с помощью отвертки$Нажмите на отвертку для сгибания +tile.conveyor_express.name=Быстрый конвейер +tile.conveyor_express.desc=Перемещает предметы, упавшие на него, очень быстро$Может вращаться по часовой стрелке с помощью отвертки$Нажмите на отвертку, чтобы согнуть +tile.conveyor_lift.name=Конвейерный цепной лифт +tile.conveyor_lift.desc=Перемещает предметы вверх$Для правильной работы требуется не менее двух блоков друг на друге +tile.conveyor_triple.name=Трёхполосный конвейер +tile.conveyor_triple.desc=Перемещает предметы, упавшие на него$Может вращаться по часовой стрелке с помощью отвертки$Нажмите на отвертку для сгибания +tile.corium_block.name=Кориум +tile.crane_boxer.name=Конвейерный упаковщик +tile.crane_boxer.desc=Загружает настраиваемое количество стопок в ящики, которые перемещаются по конвейерным лентам$Правый клик отверткой для установки входной стороны$Шифтовый клик отверткой для установки выходной стороны$Кликните дважды для установки противоположной стороны +tile.crane_extractor.name=Конвейерный извлекатель +tile.crane_extractor.desc=Забирает предметы из инвентаря и помещает их на конвейерные ленты$Имеет до 9 слотов фильтрации с черным и белым списком$Правый клик отверткой для установки выходной стороны$Shift-клик отверткой для установки входной стороны$Кликните дважды для установки противоположной стороны +tile.crane_grabber.name=Конвейерный сборщик +tile.crane_grabber.desc=Принимает предметы с проходящих конвейеров и помещает их в контейнеры$Принимает предметы только с ближайшей дорожки$Имеет до 9 слотов фильтрации с черным и белым списком$Правый клик отверткой для установки стороны входа$Сменный клик отверткой для установки стороны выхода$Кликните дважды для установки противоположной стороны +tile.crane_inserter.name=Конвейерный вставщик +tile.crane_inserter.desc=Принимает предметы с конвейеров и помещает их в контейнеры$Правый щелчок отверткой для установки входной стороны$Shift-щелчок отверткой для установки выходной стороны$Кликните дважды для установки противоположной стороны +tile.crane_partitioner.name=Вставщик окислителя +tile.crane_partitioner.desc=Принимает и сохраняет до девяти входов рудного окислителя$и освобождает их, если они соответствуют требуемому размеру входа.$Неправильные предметы также сохраняются и должны быть извлечены из стороны. +tile.crane_router.name=Конвейерный сортировщик +tile.crane_router.desc=Сортирует элемент на основе заданных критериев$Стороны могут быть определены как черный список, белый список или подстановочный знак$Стороны подстановочного знака выбираются только в том случае, если ни один другой фильтр не подходит +tile.crane_splitter.name=Конвейерный разделитель +tile.crane_splitter.desc=Разделяет предметы и равномерно укладывает их на две конвейерные ленты$Сама является конвейерной лентой, поэтому может напрямую входить в инсертер или сортировщик +tile.crane_unboxer.name=Конвейерный распаковщик +tile.crane_unboxer.desc=Прием коробок и извлечение их содержимого$Правый щелчок отверткой для установки выходной стороны$Shift-щелчок отверткой для установки входной стороны$Дважды щелкните для установки противоположной стороны +tile.crashed_bomb.name=Неразорвавшаяся бомба +tile.crate.name=Ящик снабжения +tile.crate_ammo.name=Ящик из звёздного металла +tile.crate_can.name=Ящик с консервами +tile.crate_desh.name=Деш-ящик +tile.crate_iron.name=Железный ящик +tile.crate_jungle.name=Ящик из энаргита +tile.crate_lead.name=Ящик с радиоактивными материалами +tile.crate_metal.name=Ящик с механизмами +tile.crate_red.name=Красный ящик +tile.crate_steel.name=Стальной ящик +tile.crate_supply.name=Ящик с припасами +tile.crate_template.name=Сборочный ящик +tile.crate_tungsten.name=Вольфрамовый ящик +tile.crate_weapon.name=Ящик с оружием +tile.crystal_hardened.name=Закаленный темный кристалл +tile.crystal_pulsar.name=Пульсирующий кристалл +tile.crystal_virus.name=Тёмный кристалл +tile.deco_aluminium.name=Алюминиевый декоративный блок +tile.deco_asbestos.name=Асбестовая крыша +tile.deco_beryllium.name=Бериллевый декоративный блок +tile.deco_computer.ibm_300pl.name=Персональный компьютер IBM 300PL +tile.deco_crt.name=Старый ЭЛТ-экран +tile.deco_emitter.name=Декоративный источник света +tile.deco_lead.name=Свинцовый декоративный блок +tile.deco_loot.name=Кучка предметов +tile.deco_rbmk.name=Деко-блоки РБМК +tile.deco_rbmk_smooth.name=Гладкие деко-блоки РБМК +tile.deco_red_copper.name=Красномедный декоративный блок +tile.deco_pipe.name=Стальная труба +tile.deco_pipe_rusted.name=Ржавая стальная труба +tile.deco_pipe_green.name=Зелёная стальная труба +tile.deco_pipe_green_rusted.name=Ржавая зелёная стальная труба +tile.deco_pipe_red.name=Красная стальная труба +tile.deco_pipe_marked.name=Газовая труба +tile.deco_pipe_framed.name=Стальная труба (Каркасный) +tile.deco_pipe_framed_rusted.name=Ржавая стальная труба (Каркасный) +tile.deco_pipe_framed_green.name=Зелёная стальная труба (Каркасный) +tile.deco_pipe_framed_green_rusted.name=Ржавая зелёная стальная труба (Каркасный) +tile.deco_pipe_framed_red.name=Красная стальная труба (Каркасный) +tile.deco_pipe_framed_marked.name=Газовая труба (Каркасный) +tile.deco_pipe_quad.name=Стальные трубы +tile.deco_pipe_quad_rusted.name=Ржавые стальные трубы +tile.deco_pipe_quad_green.name=Зелёные стальные трубы +tile.deco_pipe_quad_green_rusted.name=Ржавые зелёные стальные трубы +tile.deco_pipe_quad_red.name=Красные стальные трубы +tile.deco_pipe_quad_marked.name=Газовые трубы +tile.deco_pipe_rim.name=Стальная труба (Обрамленная) +tile.deco_pipe_rim_rusted.name=Ржавая стальная труба (Обрамленная) +tile.deco_pipe_rim_green.name=Зелёная стальная труба (Обрамленная) +tile.deco_pipe_rim_green_rusted.name=Ржавая зелёная стальная труба (Обрамленная) +tile.deco_pipe_rim_red.name=Красная стальная труба (Обрамленная) +tile.deco_pipe_rim_marked.name=Газовая труба (Обрамленная) +tile.deco_steel.name=Стальной декоративный блок +tile.deco_rusty_steel.name=Ржавый стальной декоративный блок +tile.deco_titanium.name=Титановый декоративный блок +tile.deco_toaster.name=Сломанный тостер +tile.deco_tungsten.name=Вольфрамовый декоративный блок +tile.decon.name=Обеззараживатель игрока +tile.depth_brick.name=Глубинные кирпичи +tile.depth_dnt.name=ДНТ-усиленные глубинные кирпичи +tile.depth_nether_brick.name=Адские глубинные кирпичи +tile.depth_nether_tiles.name=Адская глубинная плитка +tile.depth_tiles.name=Глубинная плитка +tile.det_charge.name=Заряд взрывчатки +tile.det_cord.name=Детонирующий шнур +tile.det_miner.name=Шахтёрский заряд +tile.det_nuke.name=Ядерный заряд +tile.dfc_core.name=Ядро реактора тёмного синтеза +tile.dfc_emitter.name=Излучатель РТС +tile.dfc_injector.name=Топливный инжектор РТС +tile.dfc_receiver.name=Приёмник РТС +tile.dfc_stabilizer.name=Стабилизатор РТС +tile.dirt_dead.name=Мертвая земля +tile.dirt_oily.name=Пропитанная нефтью земля +tile.drill_pipe.name=Бур +tile.drone_crate.name=Пассивный ящик для дронов +tile.drone_crate.desc=Погрузочно-разгрузочная точка для транспортных дронов.$Действует как путевая точка, должна быть связана с линкером дронов.$Дроны должны приближаться под большим углом, иначе они застрянут. +tile.drone_crate_provider.name=Ящик снабжения для дронов +tile.drone_crate_provider.desc=Предлагает предметы логистической сети.$Логистические дроны будут пытаться переместить предметы от поставщиков в ящики покупателей. +tile.drone_crate_requester.name=Ящик запроса для дронов +tile.drone_crate_requester.desc=Запрашивает предметы из логистической сети.$Предметы, добавленные в фильтр, будут запрошены, если отсутствуют в его инвентаре. +tile.drone_dock.name=Дрон-станция +tile.drone_dock.desc=Точка спауна для логистических дронов.$Может обнаруживать поставщиков и заказчиков только в радиусе 5 чанков.$Дроны будут следовать только до 10 путевых точек за соединение. +tile.drone_waypoint.name=Путевая точка для дронов +tile.drone_waypoint.desc=Путевая точка для дронов$Используйте линкер транспортного дрона, чтобы задать путь$Нажимайте на каждую путевую точку и крейт последовательно, чтобы создать путь,$ затем нажмите shift, чтобы очистить сохраненную позицию$ Щелкните правой кнопкой мыши или shift, чтобы изменить смещение путевой точки +tile.drone_waypoint_request.name=Логистическая путевая точка для дронов +tile.door_bunker.name=Бункерная дверь +tile.door_metal.name=Металлическая дверь +tile.door_office.name=Офисная дверь +tile.door_red.name=Красная дверь +tile.ducrete.name=Дюкретовая плитка +tile.ducrete_stairs.name=Ступеньки из дюкретовой плитки +tile.ducrete_smooth.name=Дюкрет +tile.ducrete_smooth_stairs.name=Ступеньки из дюкрета +tile.dummy_block.name=Блок-пустышка +tile.dummy_port.name=Блок-пустышка (Розетка) +tile.dungeon_chain.name=Металлическая цепь +tile.dynamite.name=Динамит +tile.emp_bomb.name=ЭМИ-бомба +tile.factory_advanced_conductor.name=Порт электричества усовершенствованной фабрики +tile.factory_advanced_core.name=Ядро усовершенствованной фабрики +tile.factory_advanced_furnace.name=Люк доступа усовершенствованной фабрики +tile.factory_advanced_hull.name=Корпус усовершенствованной фабрики +tile.factory_titanium_conductor.name=Порт электричества базовой фабрики +tile.factory_titanium_core.name=Ядро базовой фабрики +tile.factory_titanium_furnace.name=Люк доступа базовой фабрики +tile.factory_titanium_hull.name=Корпус базовой фабрики +tile.fallout.name=Радиоактивный осадок +tile.fan.name=Вентилятор +tile.fan.desc=Активируется редстоуном$Толкает существ до 10 блоков$ПКМ отвёрткой чтобы повернуть$ПКМ ручным сверлом чтобы переключить режим +tile.fan.falloffOn=Сила вентилятора уменьшается с расстоянием +tile.fan.falloffOff=Постоянная сила вентилорая +tile.fence_metal.name=Проволочная сетка +tile.fence_metal_post.name=Столб проволочной сетки +tile.field_disturber.name=Подавитель высокоэнергитических полей +tile.filing_cabinet.green.name=Пыльный картотечный шкафчик +tile.filing_cabinet.steel.name=Стальной карточеный шкафчик +tile.fire_digamma.name=Затяжная Дигамма +tile.fire_door.name=Пожарная дверь +tile.fireworks.name=Батарея фейерверков +tile.fireworks.charges=Зарядов: %s +tile.fireworks.message=Послание: %s +tile.fireworks.color=Цвет: %s +tile.fissure_bomb.name=Вулканическая бомба +tile.flame_war.name=Война в коробке +tile.float_bomb.name=Левитационная бомба +tile.floodlight.name=Электрический прожектор +tile.fluid_duct.name=Универсальная жидкостная труба (Устаревшее) +tile.fluid_duct_box.name=Универсальная жидкостная труба (Boxduct) +tile.fluid_duct_exhaust.name=Выхлопная труба +tile.fluid_duct_paintable_block_exhaust.name=Окрашиваемая покрытая выхлопная труба +tile.fluid_duct_gauge.name=Труба с измерителем потока +tile.fluid_duct_gauge.desc=Труба которая показывает сколько жидкости$перемещается внутри сети за тик.$Разделенные сети, соединенные бочками$или резервуары рассматриваются как одна общая сеть. +tile.fluid_duct_neo.name=Универсальная жидкостная труба +tile.fluid_duct_paintable.name=Окрашиваемая покрытая универсальная жидкостная труба +tile.fluid_duct_solid.name=Покрытая универсальная жидкостная труба (Устаревшее) +tile.fluid_switch.name=Редстоун-Жидкостный клапан +tile.fluid_valve.name=Жидкостный клапан +tile.foam_layer.name=Слой пены +tile.foundry_basin.name=Литейный резервуар +tile.foundry_channel.name=Литейный канал +tile.foundry_tank.name=Литейный бассейн +tile.foundry_mold.name=Малый литейный резервуар +tile.foundry_outlet.name=Литейный спуск +tile.foundry_slagtap.name=Литейный спуск для шлака +tile.fraction_spacer.name=Разделитель ректификационной колонны +tile.frozen_dirt.name=Замороженная земля +tile.frozen_grass.name=Замороженная трава +tile.frozen_log.name=Замороженное бревно +tile.frozen_planks.name=Замороженные доски +tile.machine_furnace_brick_off.name=Кирпичная печь +tile.machine_furnace_brick_on.name=Кирпичная печь +tile.furnace_combination.name=Коксовая печь +tile.furnace_combination.desc=Большая печь которая производит древесный уголь и угольный кокс.$Выделяет жидкостные побочные продукты.$Скорость передачи тепла: ΔT*0.25 TU/t +tile.furnace_iron.name=Железная печь +tile.furnace_iron.desc=Большая и более эффективная печь,$не тратит топливо, когда простаивает. +tile.furnace_steel.name=Стальная печь +tile.furnace_steel.desc=Огромная печь, даёт бонус к$переплавке предметов. Требует внешний источник тепла.$Скорость теплопередачи: ΔT*0.05 TU/t$(Δ - разница, T - температура) +tile.fusion_center.name=Центральный элемент магнита +tile.fusion_conductor.name=Сверхпроводящий магнит +tile.fusion_conductor_welded.name=Сверхпроводящий магнит (Сваренный) +tile.fusion_core.name=Контроллер термоядерного реактора +tile.fusion_hatch.name=Люк доступа термоядерного реактора +tile.fusion_heater.name=Компонент нагревателя плазмы +tile.fusion_motor.name=Элемент магнитного мотора +tile.fwatz_computer.name=Матрица вычисления реактора Ватцз-установки +tile.fwatz_conductor.name=4000K суперпроводящий магнит +tile.fwatz_cooler.name=Стенка регенеративной цистерны хладагента +tile.fwatz_core.name=Контроллер реактора Ватцз-установки +tile.fwatz_hatch.name=Люк доступа к реактору Ватцз-установки +tile.fwatz_plasma.name=Дестабилизированная антишрабидиумная плазма +tile.fwatz_scaffold.name=Структурная поддержка реактора Ватцз-установки +tile.fwatz_tank.name=Элемент регенеративной цистерны хладагента +tile.gas_asbestos.name=Частицы асбеста в воздухе +tile.gas_coal.name=Воздушная угольная пыль +tile.gas_duct.name=Газовая труба +tile.gas_duct_solid.name=Покрытая газовая труба +tile.gas_explosive.name=Взрывоопасный газ +tile.gas_flammable.name=Горючий газ +tile.gas_meltdown.name=Газ из активной зоны +tile.gas_monoxide.name=Угарный газ +tile.gas_radon.name=Радон +tile.gas_radon_dense.name=Плотный радон +tile.gas_radon_tomb.name=Могильный газ +tile.geiger.name=Счетчик Гейгера +tile.glass_ash.name=Пепельное стекло +tile.glass_boron.name=Борное стекло +tile.glass_lead.name=Свинцовое стекло +tile.glass_polonium.name=Полониевое стекло +tile.glass_quartz.name=Кварцевое стекло +tile.glass_trinitite.name=Тринититовое стекло +tile.glass_uranium.name=Урановое стекло +tile.glyphid_base.name=Блок улья глифидов +tile.glyphid_spawner.name=Спавнер улья глифидов +tile.gneiss_brick.name=Сланцевые кирпичи +tile.gneiss_chiseled.name=Высеченный сланец +tile.gneiss_tile.name=Сланцевая плитка +tile.gravel_diamond.name=Измельченные алмазы +tile.gravel_obsidian.name=Измельченный обсидиан +tile.hadron_access.name=Терминал доступа ускорителя частиц +tile.hadron_analysis.name=Стенка камеры ускорителя частиц +tile.hadron_analysis_glass.name=Окно камеры ускорителя частиц +tile.hadron_coil_alloy.name=Плотная сверхпроводящая катушка +tile.hadron_coil_chlorophyte.name=Плотная хлорофитовая катушка +tile.hadron_coil_gold.name=Плотная золотая катушка +tile.hadron_coil_magtung.name=Плотная сверхпроводящая 4000K катушка +tile.hadron_coil_mese.name=Плотная месе катушка +tile.hadron_coil_neodymium.name=Плотная неодимовая катушка +tile.hadron_coil_schrabidate.name=Плотная шрабидатавая катушка +tile.hadron_coil_schrabidium.name=Плотная шрабидиевая катушка +tile.hadron_coil_starmetal.name=Плотная звёзднометаллическая катушка +tile.hadron_cooler.name=Кулер ускорителя частиц +tile.hadron_cooler.desc=Мощность охлаждения: 10$Порог переохлаждения: 10$Бонус: +10%%$Штраф переохлаждения: -25%% +tile.hadron_cooler_mk2.name=Кулер ускорителя частиц - The Palindrome Special +tile.hadron_cooler_mk2.desc=Мощность охлаждения: 5$Функция эффективности: 2-(охлад-15)²/225$Макс. штраф: -90%% +tile.hadron_core.name=Ядро ускорителя частиц +tile.hadron_diode.name=Диод частиц Шоттки +tile.hadron_plating.name=Обшивка ускорителя частиц +tile.hadron_plating_black.name=Обшивка ускорителя частиц (Чёрный) +tile.hadron_plating_blue.name=Обшивка ускорителя частиц (Синий) +tile.hadron_plating_glass.name=Обшивка ускорителя частиц (Окошко) +tile.hadron_plating_striped.name=Обшивка ускорителя частиц (Крутые полосы опасности) +tile.hadron_plating_voltz.name=Обшивка ускорителя частиц (ВОЛЬТЗ) +tile.hadron_plating_yellow.name=Обшивка ускорителя частиц (Жёлтый) +tile.hadron_power.name=Порт питания ускорителя частиц (1MHE) +tile.hadron_power_10m.name=Порт питания ускорителя частиц (10MHE) +tile.hadron_power_100m.name=Порт питания ускорителя частиц (100MHE) +tile.hadron_power_1g.name=Порт питания ускорителя частиц (1GHE) +tile.hadron_power_10g.name=Порт питания ускорителя частиц (10GHE) +tile.hazmat.name=Блок защитной ткани +tile.heater_electric.name=Электрический нагреватель +tile.heater_electric.desc=Производит тепло, используя энергию.$Принимает тепло снизу, эффективность 85%%.$Можно настроить отверткой +tile.heater_firebox.name=Топка +tile.heater_firebox.desc=Производит тепло, сжигая твёрдое топливо. +tile.heater_heatex.name=Теплообменный нагреватель +tile.heater_heatex.desc=Выделяет тепло из горячих жидкостей. +tile.heater_oilburner.name=Жидкостный бойлер +tile.heater_oilburner.desc=Производит тепло, сжигая жидкое топливо.$Может быть настроено с помощью отвертки. +tile.heater_oven.name=Нагревательная печь +tile.heater_oven.desc=Производит тепло, сжигая твёрдое топливо.$Принимает тепло снизу с 50%% эффективностью. +tile.hev_battery.name=Батарея костюма +tile.machine_hydrotreater.name=Гидроочиститель +tile.impact_dirt.name=Выжженная земля +tile.icf.name=Реактор инерциального термоядерного синтеза (ICF) +tile.icf_block.name=Лазер ICF +tile.icf_component.name=Стабилизатор ICF +tile.icf_component.structure.name=Обшивка ICF +tile.icf_component.structure_bolted.name=Обшивка ICF (Заклепанный) +tile.icf_component.vessel.name=Стенка активной зоны ICF +tile.icf_component.vessel_welded.name=Стенка активной зоны ICF (Сваренная) +tile.icf_controller.name=Контроллер лазера ICF +tile.icf_laser_component.capacitor.name=Лазерный конденсатор ICF +tile.icf_laser_component.casing.name=Обшивка лазера ICF +tile.icf_laser_component.cell.name=Лазерная ячейка ICF +tile.icf_laser_component.emitter.name=Лазерный излучатель ICF +tile.icf_laser_component.port.name=Порт лазера ICF +tile.icf_laser_component.turbo.name=Турбоусилитель лазера ICF +tile.iter.name=Термоядерный реактор +tile.ladder_aluminium.name=Алюминиевая лестница +tile.ladder_cobalt.name=Кобальтовая лестница +tile.ladder_copper.name=Медная лестница +tile.ladder_gold.name=Золотая лестница +tile.ladder_iron.name=Железная лестница +tile.ladder_lead.name=Свинцовая лестница +tile.ladder_steel.name=Стальная лестница +tile.ladder_sturdy.name=Прочная деревянная лестница +tile.ladder_titanium.name=Титановая лестница +tile.ladder_tungsten.name=Вольфрамовая лестница +tile.trapdoor_steel.name=Стальной люк +tile.lamp_demon.name=Лампа из заряда-демона +tile.lamp_tritium_blue_off.name=Синяя тритиевая лампа +tile.lamp_tritium_blue_on.name=Синяя тритиевая лампа +tile.lamp_tritium_green_off.name=Зелёная тритиевая лампа +tile.lamp_tritium_green_on.name=Зелёная тритиевая лампа +tile.lantern.name=Светильник +tile.lantern_behemoth.name=Старый светильник +tile.launch_pad.name=Пусковая установка ракетной шахты +tile.launch_pad_large.name=Пусковая площадка +tile.launch_pad_rusted.name=Старая пусковая площадка +tile.launch_table.name=Большая пусковая площадка +tile.leaves_layer.name=Упавшие листья +tile.lightstone.unrefined.name=Необработанный светлый камень +tile.lightstone.tile.name=Светлокаменная плитка +tile.lightstone.bricks.name=Светлокаменные кирпичи +tile.lightstone.bricks_chiseled.name=Резные светлокаменные кирпичи +tile.lightstone.chiseled.name=Резной светлый камень +tile.lightstone_tile_stairs.name=Ступеньки из светлокаменной плитки +tile.lightstone_bricks_stairs.name=Ступеньки из светлокаменного кирпича +tile.lox_barrel.name=Бочка с жидким кислородом +tile.machine_amgen.name=Генератор на фоновой радиации +tile.machine_ammo_press.name=Пресс для патронов +tile.machine_arc_furnace.name=Электрическая дуговая печь +tile.machine_arc_furnace_off.name=Дуговая печь +tile.machine_arc_furnace_on.name=Дуговая печь +tile.machine_arc_welder.name=Дуговой сварщик +tile.machine_armor_table.name=Стол модификации брони +tile.machine_ashpit.name=Зольник +tile.machine_ashpit.desc=Собирает золу из топок и нагревательных печей +tile.machine_assembler.name=Сборочная машина +tile.machine_assemfac.name=Сборочный завод +tile.machine_autocrafter.name=Автоматический верстак +tile.machine_autosaw.name=Автоматическая пила +tile.machine_autosaw.desc=Срубает ближайшие растения, пересаживает деревья$Принимает:$-Древесное масло$-Этанол$-Рыбное масло$-Тяжелую нефть +tile.machine_autosaw.suspended=Приостановлена +tile.machine_bat9000.name=Охереть-большая цистерна 9000 +tile.machine_battery.name=Энергохранилище +tile.machine_battery_potato.name=Картофельная батарея +tile.machine_boiler.name=Бойлер +tile.machine_boiler.desc=Большой бойлер для кипячения воды или нагрева нефти.$Требует внешний источник тепла.$Скорость передачи тепла: ΔT*0.01 TU/t +tile.machine_boiler_electric_off.name=Электрический нагреватель нефти +tile.machine_boiler_electric_on.name=Электрический нагреватель нефти +tile.machine_boiler_off.name=Нагревательнефти +tile.machine_catalytic_cracker.name=Башня каталитического крекинга +tile.machine_catalytic_reformer.name=Каталитический реформер +tile.machine_centrifuge.name=Центрифуга +tile.machine_chemfac.name=Химический завод +tile.machine_chemplant.name=Химическая установка +tile.machine_chungus.name=Паровая турбина "Левиафан" +tile.machine_chungus.desc=Эффективность: 85%% +tile.machine_coal_off.name=Генератор внутреннего сгорания +tile.machine_coal_on.name=Генератор внутреннего сгорания +tile.machine_coker.name=Коксовая установка +tile.machine_coker.desc=Коксует жидкость, создавая жидкую побочку.$Требует внешний источник тепла.$Скорость передачи тепла: ΔT*0.025 TU/t +tile.machine_combine_factory.name=Печь для стали Альянса +tile.machine_combustion_engine.name=Промышленный двигатель внутреннего сгорания +tile.machine_compressor.name=Компрессор +tile.machine_compressor_compact.name=Компактный компрессор +tile.machine_condenser.name=Конденсатор пара +tile.machine_condenser_powered.name=Мощный конденсатор пара +tile.machine_controller.name=Блок удалённого доступа к реактору +tile.machine_converter_he_rf.name=Конвертер энергии HE в RF +tile.machine_converter_rf_he.name=Конвертер энергии RF в HE +tile.machine_conveyor_press.name=Конвейерный пресс +tile.machine_conveyor_press.desc=Лента двигается слево-направо$ПКМ чтобы установить штамп$ПКМ отвёрткой чтобы снять штамп +tile.machine_crucible.name=Плавильня +tile.machine_crystallizer.name=Рудный окислитель +tile.machine_cyclotron.name=Циклотрон +tile.machine_detector.name=Детектор мощности tile.machine_deuterium_extractor.name=Экстрактор тяжёлой воды tile.machine_deuterium_tower.name=Колонна очистки дейтерия сульфидным процессом Гирдлера - -tile.machine_mining_laser.desc=3x3x3 Multiblock$Only placeable on a ceiling. -tile.machine_sing_gen.name=Watz Super-Compressor (BETA) -tile.meteor_battery.desc=Provides infinite charge to tesla coils -tile.mush_block.name=Giant Glowing Mushroom Block -tile.mush_block_stem.name=Giant Glowing Mushroom Stem -tile.ore_oil.desc=You weren't supposed to mine that.$Come on, get a derrick you doofus. -tile.pane_acrylic.name=Acrylic Pane -tile.pane_actinium.name=Actinium Glass Pane -tile.storage_aux_fdd.name=Auxiliary Floppy Disk Drive -tile.storage_aux_optical_bd=Auxiliary Elite Optical Drive -tile.storage_aux_optical_cd=Auxiliary Basic Optical Drive -tile.storage_aux_optical_dvd=Auxiliary Advanced Optical Drive -tile.storage_aux_sdd.name=Auxiliary USB Drive -tile.storage_hdd.name=Hard Disk Drive Storage Unit -tile.storage_magnetic.name=Magnetic Data Storage Unit -tile.storage_sdd.name=Solid State Drive Storage Unit +tile.machine_diesel.name=Дизельный генератор +tile.machine_difurnace_extension.name=Расширитель доменной печи +tile.machine_difurnace_off.name=Доменная печь +tile.machine_difurnace_on.name=Доменная печь +tile.machine_difurnace_rtg_off.name=Ядерная доменная печь +tile.machine_difurnace_rtg_on.name=Ядерная доменная печь +tile.machine_dineutronium_battery.name=Спарк-энергохранилище +tile.machine_drain.name=Сливная труба +tile.machine_drill.name=Автоматический горный бур +tile.machine_electric_furnace_off.name=Электрическая печь +tile.machine_electric_furnace_on.name=Электрическая печь +tile.machine_electrolyser.name=Электролизёр +tile.machine_epress.name=Электрический пресс +tile.machine_excavator.name=Большой горный бур +tile.machine_exposure_chamber.name=Камера облучения частицами +tile.machine_fel.name=Лазер на свободных электронах (FEL) +tile.machine_fensu.name=ЭМЭХ +tile.machine_flare.name=Газовая башня +tile.machine_fluidtank.name=Цистерна +tile.machine_forcefield.name=Излучатель силового поля +tile.machine_fraction_tower.name=Ректификационная колонна +tile.machine_fracking_tower.name=Башня гидроразрыва пласта +tile.machine_funnel.name=Комбинаторная воронка +tile.machine_funnel.desc=Автоматически собирает предметы в 2х2 или 3х3 сетке крафта$Верх: вход$Низ: выход$Сторона: выход для прочищения излишков +tile.machine_gascent.name=Газовая центрифуга +tile.machine_generator.name=Ядерный реактор (Устаревший) +tile.machine_geo.name=Геотермальный генератор +tile.machine_hephaestus.name=Геотермальный теплообменик +tile.machine_icf_press.name=Топливный пресс ICF +tile.machine_icf_press.desc=Наполняет топливные пеллеты ICF$Левый топливный слот принимается сверху/снизу, правый - по бокам$Мюоны и пеллеты могут подаваться с любой стороны +tile.machine_industrial_boiler.name=Промышленный бойлер +tile.machine_industrial_boiler.desc=Большой бойлер, в котором можно вскипятить воду или разогреть нефть.$Требует внешний источник тепла.$Скорость передачи тепла: ΔT*0.01 TU/t$Не может взорваться +tile.machine_industrial_generator.name=Промышленный генератор +tile.machine_intake.name=Воздухозаборник +tile.machine_keyforge.name=Стол мастера по замкам +tile.machine_large_turbine.name=Промышленная паровая турбина +tile.machine_large_turbine.desc=Эффективность: 100%% +tile.machine_liquefactor.name=Промышленный разжижитель +tile.machine_liquefactor.desc=Мощная машина для превращения предметов в жидкости.$Поставляется с универсальными каталитическими компонентами, нагревательными элементами$и встроенным гидратором для нефтехимического сжижения. +tile.machine_lithium_battery.name=Литий-ионное энергохранилище +tile.machine_microwave.name=Микроволновка +tile.machine_mining_laser.name=Шахтёрский лазер +tile.machine_minirtg.name=Радиоизотопная ячейка +tile.machine_missile_assembly.name=Ракетосборочная станция +tile.machine_mixer.name=Промышленный смеситель +tile.machine_nuke_furnace_off.name=Ядерная печь +tile.machine_nuke_furnace_on.name=Ядерная печь +tile.machine_orbus.name=Тяжёлый магнитный контейнер для антиматерии +tile.machine_ore_slopper.name=Переработчик бедроковой руды +tile.machine_powerrtg.name=ПТ-изотопная ячейка +tile.machine_press.name=Пресс +tile.machine_puf6_tank.name=Бочка гексафторида плутония +tile.machine_pumpjack.name=Станок-качалка +tile.machine_pyrooven.name=Пиролизная печь +tile.machine_radar.name=Радар +tile.machine_radar_large.name=Большой радар +tile.machine_radgen.name=Радиационный двигатель +tile.machine_radiolysis.name=Радиоизотопный термоэлектрический генератор и камера радиолиза +tile.machine_reactor.name=Реактор-размножитель +tile.machine_reactor_small.name=Исследовательский реактор +tile.machine_refinery.name=Нефтеперерабатывающий завод +tile.machine_reix_mainframe.name=Мэйнфрейм Rei-X (WIP) +tile.machine_rotary_furnace.name=Роторная печь +tile.machine_rtg_blue.name=Конвекционный генератор +tile.machine_rtg_cyan.name=Генератор Шрабидиевого распада (WIP) +tile.machine_rtg_furnace_off.name=РИТЭГ-печь +tile.machine_rtg_furnace_on.name=РИТЭГ-печь +tile.machine_rtg_green.name=Вертициевый генератор богатства +tile.machine_rtg_grey.name=РИТЭГ-генератор +tile.machine_rtg_orange.name=Сильный RT генератор +tile.machine_rtg_purple.name=Генератор аннигиляции антиматерии +tile.machine_rtg_red.name=Фульминационный генератор +tile.machine_rtg_yellow.name=Австралиевый супертопливный генератор +tile.machine_satlinker.name=Менеджер ID спутников +tile.machine_sawmill.name=Лесопилка на генераторе Стирлинга +tile.machine_sawmill.desc=Требует внешний источник тепла.$Скорость теплопередачи: T*0.1 TU/t$Мин. потребление: 100 TU/t, Макс. потребление intake: 300 TU/t +tile.machine_schrabidium_battery.name=Шрабидиевое энергохранилище +tile.machine_schrabidium_transmutator.name=Шрабидиевый трансмутатор +tile.machine_selenium.name=Радиальный двигатель +tile.machine_shredder.name=Измельчитель +tile.machine_silex.name=Камера лазерного разделения изотопов (SILEX) +tile.machine_siren.name=Сирена +tile.machine_solar_boiler.name=Бойлер солнечной башни +tile.machine_soldering_station.name=Паяльный стол +tile.machine_solidifier.name=Промышленный отвердитель +tile.machine_solidifier.desc=Универсальная машина, оснащенная системами охлаждения и другими$универсальными инструментами для превращения жидкостей в твердые вещества с использованием различных$процессов, таких как замораживание и нефтехимическая полимеризация. +tile.machine_spp_bottom.name=Генератор потенциала ZPE (низ) +tile.machine_spp_top.name=Генератор потенциала ZPE (верх) +tile.machine_steam_engine.name=Паровой двигатель +tile.machine_steam_engine.desc=Эффективность: 85%% +tile.machine_stirling.name=Генератор Стирлинга +tile.machine_stirling.desc=Превращает тепло в энергию. Требует внешний источник тепла.$Скорость теплопередачи: T*0.1 TU/t$Максимальное потребление: 300 TU/t$Эффективность: 50%% +tile.machine_stirling_creative.name=Творческий генератор Стирлинга +tile.machine_stirling_creative.desc=Превращает тепло в энергию. Требует внешний источник тепла.$Скорость теплопередачи: T*0.1 TU/t$Бесконечное потребление/t$Эффективность: 100%% +tile.machine_stirling_steel.name=Укреплённый генератор Стирлинга +tile.machine_stirling_steel.desc=Превращает тепло в энергию. Требует внешний источник тепла.$Использует более тяжёлую шестерню, чтобы выдерживать высокие температуры.$Скорость теплопередачи: T*0.1 TU/t$Максимальное потребление: 1500 TU/t$Эффективность: 50%% +tile.machine_storage_drum.name=Бочка для захоронения ядерных отходов +tile.machine_strand_caster.name=Машина непрерывного литья заготовок +tile.machine_telelinker.name=Стол телелинка +tile.machine_teleporter.name=Телепорт +tile.machine_tower_large.name=Градирня +tile.machine_tower_small.name=Вспомогательная градирня +tile.machine_transformer.name=Трансформатор 10k-20Гц +tile.machine_transformer_20.name=Трансформатор 10k-1Гц +tile.machine_transformer_dnt.name=Трансформатор ДНТ-20Гц +tile.machine_transformer_dnt_20.name=Трансформатор ДНТ-1Гц +tile.machine_turbine.name=Паровая турбина +tile.machine_turbine.desc=Эффективность: 85%% +tile.machine_turbinegas.name=Газовая турбина комбинированного цикла +tile.machine_turbofan.name=Турбовентилятор +tile.machine_uf6_tank.name=Бочка гексафторида урана +tile.machine_vacuum_distill.name=Вакуумный нефтеперерабатывающий завод +tile.machine_waste_drum.name=Бочка с отработанным топливом +tile.machine_weapon_table.name=Стол модификации оружия +tile.machine_wood_burner.name=Генератор на дровах +tile.machine_wood_burner.desc=Генерирует 100HE/тик$Собирает золу$Может сжигать жидкости с 25%% эффективностью за 1мБ/с +tile.machine_well.name=Нефтяная вышка +tile.machine_zirnox.name=Ядерный реактор Цирнокс +tile.marker_structure.name=Маркер для многоблочных структур +tile.mass_storage.name=Накопительный блок +tile.meteor_battery.name=Генератор статического электричества из звездного металла +tile.meteor_brick.name=Метеоритные кирпичи +tile.meteor_brick_chiseled.name=Высеченные метеоритные кирпичи +tile.meteor_brick_cracked.name=Треснувшие метеоритные кирпичи +tile.meteor_brick_mossy.name=Замшелые метеоритные кирпичи +tile.meteor_pillar.name=Метеоритный столб +tile.meteor_polished.name=Полированный метеоритный блок +tile.meteor_spawner.name=Сборщик киберкрабов +tile.mine_ap.name=Противопехотная мина +tile.mine_fat.name=Мина-"Толстяк" +tile.mine_naval.name=Морская мина +tile.mine_he.name=Противотанковая мина +tile.mine_shrap.name=Мина со шрапнелью +tile.moon_turf.name=Лунный грунт +tile.mud_block.name=Токсичные отходы +tile.muffler.name=Глушитель +tile.mush.name=Светящийся гриб +tile.ntm_dirt.name=Грязь +tile.nuke_boy.name=Малыш +tile.nuke_custom.name=Кастомная бомба +tile.nuke_fleija.name=Ф.Л.Е.Я +tile.nuke_fstbmb.name=Жар-бомба +tile.nuke_gadget.name=Гаджет +tile.nuke_man.name=Толстяк +tile.nuke_mike.name=Иви Майк +tile.nuke_n2.name=N²-мина +tile.nuke_n45.name=Морская мина N45 +tile.nuke_prototype.name=Прототип +tile.nuke_solinium.name=Синий Ополаскиватель +tile.nuke_tsar.name=Царь-бомба +tile.oil_duct.name=Труба для нефти +tile.oil_duct_solid.name=Покрытая труба для нефти +tile.oil_pipe.name=Труба для извлечения неочищенной нефти +tile.oil_spill.name=Разлитая нефть +tile.ore_alexandrite.name=Александритовая руда +tile.ore_aluminium.name=Алюминиевая руда +tile.ore_asbestos.name=Асбестовая руда +tile.ore_australium.name=Австралиевая руда +tile.ore_basalt_asbestos.name=Богатый асбестом базальт +tile.ore_basalt_fluorite.name=Богатый флюоритом базальт +tile.ore_basalt_gem.name=Богатый самоцветами базальт +tile.ore_basalt_molysite.name=Богатый молизитом базальт +tile.ore_basalt_sulfur.name=Богатый серой базальт +tile.ore_bedrock.name=Бедроковая руда +tile.ore_bedrock_coltan.name=Бедроковая колтановая руда +tile.ore_bedrock_oil.name=Бедроковый нефтяной пласт +tile.ore_beryllium.name=Бериллиевая руда +tile.ore_cinnebar.name=Киноварная руда +tile.ore_coal_oil.name=Маслянистая угольная руда +tile.ore_coal_oil_burning.name=Горящая маслянистая угольная руда +tile.ore_cobalt.name=Кобальтовая руда +tile.ore_coltan.name=Колтановая руда +tile.ore_copper.name=Медная руда +tile.ore_daffergon.name=Деллит +tile.ore_depth_borax.name=Глубинная бура +tile.ore_depth_cinnebar.name=Глубинная киноварь +tile.ore_depth_nether_neodymium.name=Адская глубинная неодимовая руда +tile.ore_depth_zirconium.name=Глубинная циркониевая руда +tile.ore_fluorite.name=Флюоритовая руда +tile.ore_gneiss_asbestos.name=Сланцевая асбестовая руда +tile.ore_gneiss_copper.name=Сланцевая медная руда +tile.ore_gneiss_gas.name=Сланцевый газ +tile.ore_gneiss_gold.name=Сланцевая золотая руда +tile.ore_gneiss_iron.name=Сланцевая железная руда +tile.ore_gneiss_lithium.name=Сланцевая литиевая руда +tile.ore_gneiss_rare.name=Сланцевая редкоземельная руда +tile.ore_gneiss_schrabidium.name=Сланцевая шрабидиевая руда +tile.ore_gneiss_uranium.name=Сланцевая урановая руда +tile.ore_gneiss_uranium_scorched.name=Обожённая сланцевая урановая руда +tile.ore_lead.name=Свинцовая руда +tile.ore_lignite.name=Бурый уголь +tile.ore_meteor.aluminium.name=Метеоритная алюминиевая руда +tile.ore_meteor.cobalt.name=Метеоритная кобальтовая руда +tile.ore_meteor.copper.name=Метеоритная медная руда +tile.ore_meteor.iron.name=Метеоритная железная руда +tile.ore_meteor.rareearth.name=Метеоритная редкоземельная руда +tile.ore_meteor_aluminium.name=Метеоритная алюминиевая руда +tile.ore_meteor_copper.name=Метеоритная медная руда +tile.ore_meteor_lead.name=Метеоритная свинцовая руда +tile.ore_meteor_lithium.name=Метеоритная литиевая руда +tile.ore_meteor_starmetal.name=Руда звёздного металла +tile.ore_meteor_sulfur.name=Метеоритная серная руда +tile.ore_meteor_thorium.name=Метеоритная ториевая руда +tile.ore_meteor_titanium.name=Метеоритная титановая руда +tile.ore_meteor_tungsten.name=Метеоритная вольфрамовая руда +tile.ore_meteor_uranium.name=Метеоритная урановая руда +tile.ore_nether_coal.name=Горящая руда адского угля +tile.ore_nether_cobalt.name=Адская кобальтовая руда +tile.ore_nether_fire.name=Адская фосфорная руда +tile.ore_nether_plutonium.name=Адская плутониевая руда +tile.ore_nether_schrabidium.name=Адская шрабидиевая руда +tile.ore_nether_smoldering.name=Тлеющий адский камень +tile.ore_nether_sulfur.name=Адская серная руда +tile.ore_nether_tungsten.name=Адская вольфрамовая руда +tile.ore_nether_uranium.name=Адская урановая руда +tile.ore_nether_uranium_scorched.name=Обожённая адская урановая руда +tile.ore_niter.name=Селитровая руда +tile.ore_oil.name=Нефтяной карман +tile.ore_oil_empty.name=Пустой нефтяной карман +tile.ore_oil_sand.name=Битумозный песок +tile.ore_random.name=Руда %s +tile.ore_rare.name=Редкоземельная руда +tile.ore_reiium.name=Реиит +tile.ore_schrabidium.name=Шрабидиевая руда +tile.ore_sellafield_diamond.name=Селлафитовая алмазная руда +tile.ore_sellafield_emerald.name=Селлафитовая изумрудная руда +tile.ore_sellafield_radgem.name=Селлафитовый радиоактивный самоцвет +tile.ore_sellafield_schrabidium.name=Селлафитовая шрабидиевая руда +tile.ore_sellafield_uranium_scorched.name=Обожженная селлафитовая урановая руда +tile.ore_sulfur.name=Серная руда +tile.ore_tektite_osmiridium.name=Перемешанный с осмиридием Тектит +tile.ore_thorium.name=Ториевая руда +tile.ore_tikite.name=Трикситовая руда +tile.ore_titanium.name=Титановая руда +tile.ore_tungsten.name=Вольфрамовая руда +tile.ore_unobtainium.name=Брайтбленд +tile.ore_uranium.name=Урановая руда +tile.ore_uranium_scorched.name=Обожженная урановая руда +tile.ore_verticium.name=Долларовый Зелёный минерал +tile.ore_volcano.name=Геотермальный источник +tile.ore_weidanium.name=Вейдитит +tile.pa_beamline.name=Канал пучка +tile.pa_beamline.desc=Необязательная часть, соединяет разные части ускорителя частиц.$Также позволяет недорого увеличить размер кольца,$для соответствия требованиям диполя к размеру катушки. +tile.pa_detector.name=Детектор частиц +tile.pa_detector.desc=Требует охлаждения!$Принимает частицы и выполняет рецепт.$Рецепты могут требовать контейнеры (капсулы для частиц).$Для приёма частицы её расфокус должен быть равен 0. +tile.pa_dipole.name=Дипольные магниты +tile.pa_dipole.desc=Требует охлаждения!$Перенаправляет частицы на основе их момента.$Имеет выходы ниже порога,$выше порога и только выше порога при поданном сигнале красного камня.$Требует большую катушку для работы. +tile.pa_quadrupole.name=Квадрупольные магниты +tile.pa_quadrupole.desc=Требует охлаждения!$Уменьшает расфокус частицы на 100 единиц.$Требует большую катушку для работы +tile.pa_rfc.name=Радиочастотный резонатор +tile.pa_rfc.desc=Требует охлаждения!$Ускоряет частицы на 100 единиц,$и увеличивает расфокус на 100 единиц.$Частица столкнется при достижении расфокуса в 1000 единиц. +tile.pa_source.name=Источник частиц +tile.pa_source.desc=Требует охлаждения!$Использует два предмета чтобы создать частицу. +tile.part_emitter.name=Декоративный источник частиц +tile.pedestal.name=Пьедестал +tile.pink_barrel.name=Керосиновая бочка +tile.pink_log.name=Розовое дерево +tile.pink_planks.name=Розовые доски +tile.pink_slab.name=Плита из розового дерева +tile.pink_stairs.name=Ступеньки из розового дерева +tile.piston_inserter.name=Вставщик +tile.piston_inserter.desc=Может принимать один предмет$Если подан сигнал редстоуна, то вставит предмет в просверленный графит$Все предметы в просверленном графите в цепочке будут сдвинуты на один блок$Требуется один блок воздуха между графитом +tile.plant_dead.name=Мертвое растение +tile.plant_flower.cd0.name=Горчичная ива +tile.plant_flower.cd1.name=Горчичная ива +tile.plant_flower.foxglove.name=Наперстянка +tile.plant_flower.nightshade.name=Белладонна +tile.plant_flower.tobacco.name=Табак +tile.plant_flower.weed.name=Конопля +tile.plant_reeds.name=Камыши +tile.plant_tall.cd2.name=Горчичная ива +tile.plant_tall.cd3.name=Горчичная ива +tile.plant_tall.cd4.name=Горчичная ива (Выросла) +tile.plant_tall.weed.name=Конопля +tile.plasma.name=Плазма +tile.plasma_heater.name=Нагреватель плазмы +tile.plushie.name=Плюшевая игрушка %s +tile.pneumatic_tube.name=Пневмотруба +tile.pneumatic_tube.desc=Пересылает предметы за счёт сжатого воздуха.$ПКМ отвёрткой, чтобы задать вход.$ПКМ отвёрткой в присяде, чтобы задать выход.$Входы могут быть настроены и подключены к источнику сжатого воздуха.$Отсылает вплоть до полного стака четыре раза в секунду. +tile.pole_satellite_receiver.name=Спутниковая тарелка +tile.pole_top.name=Антенна +tile.press_preheater.name=Внешний нагреватель пресса +tile.pribris.name=Обломки РБМК +tile.pribris_burning.name=Горящие обломки РБМК +tile.pribris_digamma.name=Почерневшие обломки РБМК +tile.pribris_radiating.name=Тлеющие обломки РБМК +tile.pump_electric.name=Электрический насос для грунтовых вод +tile.pump_electric.desc=Использует электричество для выкачивания грунтовых вод$Выкачывает до 10,000мБ/тик$Должно быть размещено ниже Y:70 +tile.pump_steam.name=Паровой насос для грунтовых вод +tile.pump_steam.desc=Использует пар для выкачивания грунтовых вод$Выкачывает до 1000мБ/тик$Должно быть размещено ниже Y:70 +tile.pwr_block.name=Водо-водяной энергетический реактор (ВВЭР) +tile.pwr_casing.name=Внешняя обшивка ВВЭР +tile.pwr_casing.desc=Для формирования реактора необходимо покрыть все внутренние части$Размещение: Обшивка +tile.pwr_channel.name=Каналы с охладителем ВВЭР +tile.pwr_channel.desc=Использует тепло корпуса для нагрева охлаждающей жидкости$Размещение: Любое +tile.pwr_control.name=Регулирующие стержни ВВЭР +tile.pwr_control.desc=Позволяет управлять размещёнными топливными стержнями$Размещение: Внутри, между топливными стержнями +tile.pwr_controller.name=Контроллер ВВЭР +tile.pwr_controller.desc=Панель управления ВВЭР$Размещение: Обшивка, только один на весь реактор$ПКМ чтобы собрать реактор +tile.pwr_fuel.name=Топливный стержень ВВЭР +tile.pwr_fuel.desc=Увеличивает вместимость топлива$Размещение: Внутри, повышает реактивность +tile.pwr_heatex.name=Теплообменник ВВЭР +tile.pwr_heatex.desc=Перемещает тепло из активной зоны на корпус$Размещение: Любое +tile.pwr_heatsink.name=Радиатор ВВЭР +tile.pwr_heatsink.desc=Увеличивает теплоемкость активной зоны на 5%%$Делает каналы охлаждающей жидкости и теплообменники чуть менее эффективными$Размещение: Любое +tile.pwr_neutron_source.name=Источник нейтронов ВВЭР +tile.pwr_neutron_source.desc=Добавляет 20 единиц потока в активную зону$Размещение: Любое$Поток достигает топливных стержней если между ними ничего нет +tile.pwr_port.name=Люк доступа ВВЭР +tile.pwr_port.desc=Ввод/вывод жидкостей и предметов$Размещение: Обшивка +tile.pwr_reflector.name=Нейтронный отражатель ВВЭР +tile.pwr_reflector.desc=Отражает нейтроны обратно к топливным стержням$Размещение: Внутри, повышает реактивность$Подходит для обшивки +tile.rad_lava_block.name=Вулканическая лава +tile.radar_screen.name=Экран радара +tile.radio_telex.name=Телекс +tile.radio_torch_counter.name=Редстоун-радио счётчик предметов +tile.radio_torch_counter.desc=Ставится на плоские поверхности или совместимые компараторные блоки$Сигнал зависит от количества нужных предметов +tile.radio_torch_logic.name=Редстоун-радио логический приёмник +tile.radio_torch_logic.desc=Размещается на плоских поверхностях или совместимых с компаратором блоках$Сопоставляет сигналы красного камня с условиями, оцениваемыми в заданном порядке$Числовые или строковые входы сравниваются с константой +tile.radio_torch_receiver.name=Редстоун-радио приёмник +tile.radio_torch_receiver.desc=Ставится на плоские поверхности или совместимые компараторные блоки +tile.radio_torch_sender.name=Редстоун-радио передатчик +tile.radio_torch_sender.desc=Ставится на плоские поверхности или совместимые компараторные блоки$Считывает редстоун сигнал или вход компаратора +tile.radiobox.name=Коробка управления вредителями Розенберга +tile.radiorec.name=FM радио +tile.rail_booster.name=Ускоряющие высокоскоростные рельсы +tile.rail_highspeed.name=Высокоскоростные рельсы +tile.rail_large_buffer.name=Стандартный буферный упорный рельс (5м) +tile.rail_large_curve.name=Стандартная кривая колея (5м) +tile.rail_large_curve_7.name=Стандартная кривая колея (7м) +tile.rail_large_curve_9.name=Стандартная кривая рельса (9м) +tile.rail_large_ramp.name=Стандартная рампа (5м) +tile.rail_large_straight.name=Стандартная колея (5м) +tile.rail_large_straight_short.name=Стандартная колея (1м) +tile.rail_large_switch.name=Переключатель стандартной колеи (15м, левый) +tile.rail_large_switch_flipped.name=Переключатель стандартной колеи (15м, правый) +tile.rail_narrow.name=Узкоколейные вагонеточные рельсы +tile.rail_wood.name=Деревянные рельсы +tile.rbmk_absorber.name=Борный поглотитель нейтронов РБМК +tile.rbmk_blank.name=Структурная колонна РБМК +tile.rbmk_boiler.name=Паровой канал РБМК +tile.rbmk_console.name=Консоль РБМК +tile.rbmk_cooler.name=Охладитель РБМК +tile.rbmk_control.name=Регулирующие стержни РБМК +tile.rbmk_control_auto.name=Автоматические регулирующие стержни РБМК +tile.rbmk_control_mod.name=Замедляющие регулирующие стержни РБМК +tile.rbmk_crane_console.name=Консоль крана РБМК +tile.rbmk_heater.name=Жидкостный нагреватель РБМК +tile.rbmk_heatex.name=Теплообменник РБМК +tile.rbmk_loader.name=Паровой проводник РБМК +tile.rbmk_loader.desc=Позволяет РБМК иметь внизу соединения для воды и пара$Поместите одну водную трубу под колонной РБМК, затем проводник,$потом подключите паропровод к проводнику. +tile.rbmk_moderator.name=Графитовый замедлитель РБМК +tile.rbmk_outgasser.name=Стержень облучения РБМК +tile.rbmk_reflector.name=Карбид-вольфрамовый отражатель нейтронов РБМК +tile.rbmk_rod.name=Топливные стержни РБМК +tile.rbmk_rod_mod.name=Замедляющие топливные стержни РБМК +tile.rbmk_rod_reasim.name=Топливные стержни РБМК (РеаСим) +tile.rbmk_rod_reasim_mod.name=Замедляющие топливные стержни РБМК (РеаСим) +tile.rbmk_steam_inlet.name=Порт ввода воды РБМК РеаСим +tile.rbmk_steam_inlet.desc=Подает воду в колонны RBMK, если включены ReaSim бойлеры$Подключается к колоннам RBMK сбоку +tile.rbmk_steam_outlet.name=Порт вывода пара РБМК РеаСим +tile.rbmk_steam_outlet.desc=Извлекает перегретый пар из колонн РБМК, если включены ReaSim бойлеры$Подключается к колоннам RBMK сбоку +tile.rbmk_storage.name=Колонна-хранилище РБМК +tile.reactor_computer.name=Контроллер реактора +tile.reactor_conductor.name=Бойлер реактора +tile.reactor_control.name=Регулирующие стержни +tile.reactor_ejector.name=Выталкиватель отходов реактора +tile.reactor_element.name=Реакторная камера +tile.reactor_hatch.name=Люк доступа реактора +tile.reactor_inserter.name=Автоматический заправщик реактора +tile.red_barrel.name=Взрывная бочка +tile.red_cable.name=Провод из красной меди +tile.red_cable_classic.name=Провод из красной меди (Старый) +tile.red_cable_gauge.name=Датчик мощности +tile.red_cable_gauge.desc=Кабель, который показывает, сколько энергии$ перемещается по сети за тик.$Разделенные сети, соединенные блоками хранения энергии$рассматриваются как одна общая сеть. +tile.red_cable_paintable.name=Окрашиваемый провод из красной меди +tile.red_connector.name=Электрический коннектор +tile.red_pylon.name=Малый электрический столб +tile.red_pylon_large.name=ЛЭП +tile.red_pylon_medium_steel.name=Средний стальной электрический столб +tile.red_pylon_medium_steel_transformer.name=Средний стальной электрический столб с трансформатором +tile.red_pylon_medium_wood.name=Средний деревянный электрический столб +tile.red_pylon_medium_wood_transformer.name=Средний деревянный электрический столб с трансформатором +tile.red_wire_coated.name=Медный кабель с покрытием +tile.refueler.name=Заправочная станция +tile.reinforced_brick.name=Усиленный камень +tile.reinforced_brick_stairs.name=Ступеньки из укреплённого камня +tile.reinforced_ducrete.name=Усиленный дюкрет +tile.reinforced_glass.name=Усиленное стекло +tile.reinforced_glass_pane.name=Усиленная стеклянная панель +tile.reinforced_lamp_off.name=Усиленная лампа +tile.reinforced_lamp_on.name=Усиленная лампа +tile.reinforced_light.name=Усиленный светящийся камень +tile.reinforced_sand.name=Усиленный песчаник +tile.reinforced_stone.name=Уплотненный камень +tile.reinforced_stone_stairs.name=Ступеньки из уплотнённого камня +tile.reinforced_laminate.name=Усиленный ламинат +tile.reinforced_laminate_pane.name=Усиленная ламинатная панель +tile.rejuvinator.name=ГЭКК +tile.residue.name=Облачный осадок +tile.safe.name=Сейф +tile.sand_boron.name=Борный песок +tile.sand_boron_layer.name=Слой борного песка +tile.sand_dirty.name=Пропитанный нефтью песок +tile.sand_dirty_red.name=Пропитанный нефтью красный песок +tile.sand_gold.name=Золотой песок +tile.sand_gold198.name=Песок из золота-198 +tile.sand_lead.name=Свинцовый песок +tile.sand_polonium.name=Полониевый песок +tile.sand_quartz.name=Кварцевый песок +tile.sand_uranium.name=Урановый песок +tile.sat_dock.name=Станция посадки груза +tile.sat_foeq.name=ВСАП-МК.I зонд “FOEQ Duna” с экспериментальным ядерным двигателем (Декор) +tile.sat_laser.name=Орбитальный Луч Смерти (Декор) +tile.sat_mapper.name=Спутник для картографирования поверхности (Декор) +tile.sat_radar.name=Спутник с радиолокационным зондированием (Декор) +tile.sat_resonator.name=Спутник с Зен-Резонатором (Декор) +tile.sat_scanner.name=Спутник с модулем глубинно-ресурсного сканирования (Декор) +tile.schrabidic_block.name=Шрабидиевая кислота +tile.seal_controller.name=Открыватель люка пусковой щахты +tile.seal_frame.name=Рама люка пусковой щахты +tile.seal_hatch.name=Люк пусковой шахты +tile.sellafield.0.name=Селлафит +tile.sellafield.1.name=Горячий селлафит +tile.sellafield.2.name=Кипящий селлафит +tile.sellafield.3.name=Пылающий селлафит +tile.sellafield.4.name=Адский селлафит +tile.sellafield.5.name=Селлафит-кориум +tile.sellafield_bedrock.name=Бедроковый селлафит +tile.sellafield_slaked.name=Погашенный селлафит +tile.semtex.name=Семтекс +tile.silo_hatch.name=Люк ракетной шахты +tile.silo_hatch_large.name=Большой люк ракетной шахты +tile.skeleton_holder.name=О, это мёртвый парень +tile.sliding_blast_door.name=Раздвижная дверь +tile.solar_mirror.name=Зеркало-гелиостат +tile.soyuz_capsule.name=Грузовая посадочная капсула +tile.soyuz_launcher.name=Стартовая платформа "Союза" +tile.spikes.name=Шипы +tile.snowglobe.name=Снежный шар +tile.spotlight_incandescent.name=Лампа в клетке +tile.spotlight_fluoro.name=Флюоресцентная лампа +tile.spotlight_halogen.name=Галогенный прожектор +tile.stalactite.asbestos.name=Асбестовый сталактит +tile.stalactite.sulfur.name=Сернистый сталактит +tile.stalagmite.asbestos.name=Асбестовый сталагмит +tile.stalagmite.sulfur.name=Сернистый сталагмит +tile.steel_beam.name=Стальная балка +tile.steel_corner.name=Стальной угол стены +tile.steel_grate.name=Стальная решётка +tile.steel_grate_wide.name=Предметная решётка +tile.steel_grate_wide.desc=Позволяет опыту и предметам падать через неё +tile.steel_poles.name=Стальные опоры +tile.steel_roof.name=Плоская стальная крыша +tile.steel_scaffold.name=Стальные подмости +tile.steel_wall.name=Стальная стенка +tile.stone_cracked.name=Треснутый камень +tile.stone_depth.name=Глубинный камень +tile.stone_depth_nether.name=Адский глубинный камень +tile.stone_gneiss.name=Графитовый сланец +tile.stone_keyhole.name=Странный камень +tile.stone_keyhole_meta.name=Странный кирпич красной комнаты +tile.stone_porous.name=Пористый камень +tile.stone_resource.asbestos.name=Хризотил +tile.stone_resource.bauxite.name=Боксит +tile.stone_resource.hematite.name=Гематит +tile.stone_resource.limestone.name=Известняк +tile.stone_resource.malachite.name=Малахит +tile.stone_resource.sulfur.name=Сернистый камень +tile.stones_slab.lightstone.1.name=Плита из светлокаменной плитки +tile.stones_slab.lightstone.2.name=Плита из светлокаменного кирпича +tile.struct_icf_core.name=Ядро инерциального термоядерного реактора (ICF) +tile.struct_iter_core.name=Ядро термоядерного реактора +tile.struct_launcher.name=Блок-компонент пусковой площадки tile.struct_launcher_core.name=Compact Launch Pad Core Component -tile.turret_cwis.desc=Hmmm today I will use an anti-missile turret agains mobs$ $Why does it not work???$bob pls fix -tile.turret_lunar_oni.desc=Standard armament for Anti-Oni type Lunariun Vijokas$Covered in the standard highly durable armor plating: Orichalcum$Can be used without the Vijoka, of course$Designed after Bishamonten's pagoda$To bring an end to suffering -tile.turret_lunar_oni.name=Lunarian Strategic Focused Energy Platform - Divine Light (ALPHA) -tile.turret_rocket.name=Rocket Turret -tile.turret_twr.desc="Spacetime Displacing Singularity-Armed Weapon$Platform with Heisenberg Uncertainty Targeting Matrix 'Lord Tsukuyomi'"$Heavy emplaced defence weapon for very high threat targets$Targets cannot escape divine judgement due to exploitation of quantum uncertainty$Named after the Lord of the Moon and night himself -tile.turret_twr.name=Lunarian Time Warp Weapon Platform "Lord Tsukuyomi" (BETA) +tile.struct_launcher_core_large.name=Ядро большой пусковой площадки +tile.struct_plasma_core.name=Ядро нагревателя плазмы +tile.struct_scaffold.name=Подмосток пусковой площадки +tile.struct_soyuz_core.name=Ядро стартовой площадки Союза +tile.struct_watz_core.name=Ядро Ватцз-реактора +tile.substation.name=Подстанция +tile.sulfuric_acid_block.name=Серная кислота +tile.taint.name=Порча +tile.taint_barrel.name=Бочка с осадком IMP +tile.tape_recorder.name=Магнитофон +tile.tektite.name=Тектит +tile.teleanchor.name=Телепортационный якорь +tile.tesla.name=Катушка Теслы +tile.test_nuke.name=Тестовая бомба +tile.therm_endo.name=Эндотермическая бомба +tile.therm_exo.name=Экзотермическая бомба +tile.tile_lab.name=Лабораторная плитка +tile.tile_lab_broken.name=Разбитая лабораторная плитка +tile.tile_lab_cracked.name=Треснувшая лабораторная плитка +tile.tnt_ntm.name=Настоящий ТНТ +tile.toxic_block.name=Стереотипная зелёная слизь +tile.transition_seal.name=Транзитный люк +tile.turret_arty.name=Артиллерийская турель "Грег" +tile.turret_cheapo.name=Дешёвая пулемётная турель +tile.turret_chekhov.name=Крупнокалиберная пулеметная турель "Чеховское ружьё" +tile.turret_cwis.name=”Фэленкс” Mk-15 CIWS +tile.turret_flamer.name=Турель с огнемётом +tile.turret_friendly.name=Турель Гатлинга "Мистер Дружелюбный" +tile.turret_fritz.name=Тяжелая огнеметная турель "Фриц" +tile.turret_heavy.name=Турель с тяжёлым пулемётом +tile.turret_himars.name=Ракетная артиллерийская турель "Генри" +tile.turret_howard.name=Двойная турель Гатлинга CIWS "Говард" +tile.turret_howard_damaged.name=Двойная турель Гатлинга CIWS "Мафусаил" +tile.turret_jeremy.name=Автопушка "Джереми" +tile.turret_light.name=Турель с лёгким пулемётом +tile.turret_maxwell.name=Высокоэнергетическая Мазерная турель "Максвелл" +tile.turret_rocket.name=Ракетная турель +tile.turret_richard.name=Ракетная турель "Ричард" +tile.turret_spitfire.name=Турель без названия [WIP] +tile.turret_sentry.name=Сторожевая турель "Браун" +tile.turret_sentry_damaged.name=Сторожевая турель "Эдвин" +tile.turret_tau.name=Турель с тау-пушкой +tile.turret_tauon.name=Прототип турели XVL1456 "Тауон" +tile.vacuum.name=Вакуум +tile.vault_door.name=Дверь убежища Vault-Tec +tile.vent_chlorine.name=Хлорный клапан +tile.vent_chlorine_seal.name=Хлорный уплотнитель +tile.vent_cloud.name=Воздушный клапан с облаком +tile.vent_pink_cloud.name=Воздушный клапан с розовым облаком +tile.vinyl_tile.large.name=Большая виниловая плитка +tile.vinyl_tile.small.name=Маленькие виниловые плитки +tile.vitrified_barrel.name=Бочка с остеклованными ядерными отходами +tile.volcanic_lava_block.name=Вулканическая лава +tile.volcano_core.name=Вулканическое ядро +tile.volcano_rad_core.name=Радиоактивное вулканическое ядро +tile.wand_air.name=Блок для структурной палочки (Air) +tile.wand_loot.name=Блок для структурной палочки (Lootable) +tile.wand_jigsaw.name=Блок для структурной палочки (Jigsaw) +tile.waste_earth.name=Мертвая трава +tile.waste_leaves.name=Мёртвые листья +tile.waste_log.name=Обугленное бревно +tile.waste_mycelium.name=Светящийся мицелий +tile.waste_planks.name=Обугленные деревянные доски +tile.waste_trinitite.name=Тринититовая руда +tile.waste_trinitite_red.name=Красная тринититовая руда +tile.watz.name=Реактор Ватцз +tile.watz_conductor.name=Порт электричества Ватцза +tile.watz_control.name=Упрочнённые регулирующие стержни +tile.watz_cooler.name=Суперохладитель реактора Ватцза +tile.watz_core.name=Контроллер реактора Ватцза +tile.watz_element.name=Камера реакции Ватцза +tile.watz_end.name=Стабилизатор реактора Ватцза +tile.watz_end_bolted.name=Стабилизатор реактора Ватцза (Заклепанный) +tile.watz_hatch.name=Люк доступа к реактору Ватцза +tile.watz_pump.name=Нагнетающая помпа Ватцза +tile.yellow_barrel.name=Радиоктивная бочка +tile.zirnox_destroyed.name=Разрушенный Цирнокс -trait.BERYLLIUM=Beryllium Particles -trait.CHEMICAL=Chemical Hazard -trait.HEAVY_METAL=Heavy Metal -trait.corruptedHeavy=Heavily Corrupted -trait.corruptedLight=Lightly Corrupted -trait.corrutpedAbsolute=Completely Corrupted -trait.damaged=Damaged -trait.dirty=Dirty -twr.ammo=SINGULARITIES: %s / %s -twr.gui.add=Add new entity to elimination register -twr.gui.calibrate=Calibrate entanglement for ideal targeting -twr.gui.clear=Remove current singularity -twr.gui.down=Move cursor down -twr.gui.purify=Commence divine judgement -twr.gui.recalibrating=RECALIBRATING HEISENBERG$UNCERTAINTY QUANTUM TARGETING$MATRIX...$CURRENT QUANTUM INSTABILITY: %s -twr.gui.remove=Remove entity from elimination register -twr.gui.search=Initiate quantum search for specified entities$and truncate invalid entities -twr.gui.up=Move cursor up -twr.result.checking=DETERMINING... -twr.result.fail=FAILED -twr.result.partial=INDETERMINATE -twr.result.success=ELIMINATED -twr.result=UNCERTAINTY: %s -twr.sign=QUANTUM SIGNATURE: %s -twr.target.lost=[LOST CONTACT!] -twr.target.none=[NONE] -twr.target.search=[SEARCHING...] -twr.target=TARGET: %s -twr.title=TIME WARP RIFLE QUANTUM TARGETING -twr.zoom=ZOOM: x%s +tile.large_vehicle_door.name=Дверь для крупногабаритных автомобилей +tile.water_door.name=Подводная дверь +tile.qe_containment.name=QE Дверь биологического сдерживания +tile.qe_sliding_door.name=QE Раздвижная дверь +tile.round_airlock_door.name=Круглый шлюз +tile.secure_access_door.name=Дверь с изолированным доступом +tile.sliding_seal_door.name=Раздвижная герметичная дверь -warhead.AMAT=Antimatter -warhead.BF=Balefire -warhead.BIO.ANTHRAX=Anthrax -warhead.BIO.MKU=MKUNICORN -warhead.BIO=Biological (%s) -warhead.CHEM.ACID=Caustics -warhead.CHEM.CHLORINE=Chlorine -warhead.CHEM.NERVE=Sarin -warhead.CHEM.TOX=Biotoxin -warhead.CHEM=Chemical (%s) -warhead.FUSION=Pure Fusion -warhead.GRAV=Gravimetric -warhead.HE=Conventional -warhead.NUCLEAR=Nuclear -warhead.SCHRAB=Schrabidium -warhead.TX=Thermonuclear -warhead.ZPE=Quantum +trait.asbestos=Содержит асбест +trait.blinding=Ослепление +trait.coal=Угольная пыль +trait.digamma=Дигамма радиация +trait.drop=Опасно выкидывать +trait.explosive=Воспламеняющийся / Взрывоопасный +trait.furnace=Даёт %s операций в ядерной печи +trait.heat=Обеспечивает %s ТЕПЛА +trait.hlParticle=Период Полураспада Частицы: %s +trait.hlPlayer=Период Полураспада Игрока: %s +trait.hot=Пирофорный / Горячий +trait.hydro=Гидрореактивный +trait.radioactive=Радиоактивный +trait.radResistance=Сопротивление радиации: %s -warheadFuel.ACID=Caustics -warheadFuel.ANTHRAX=Anthrax -warheadFuel.Am242m=Americium-242m -warheadFuel.Au197=Gold -warheadFuel.Au198=Gold-198 -warheadFuel.Co59=Cobalt -warheadFuel.Co60=Cobalt-60 -warheadFuel.Cs137=Caesium-137 -warheadFuel.DEUT=Deuterium -warheadFuel.GRAV=Gravimetric Charge -warheadFuel.HE=Semtex-H -warheadFuel.LI=Lithium -warheadFuel.LiDEUT=Lithium-Deuteride -warheadFuel.NERVE=Sarin -warheadFuel.Np237=Neptunium-237 -warheadFuel.Pu239=Plutonium-239 -warheadFuel.Pu240=Plutonium-240 -warheadFuel.Pu241=Plutonium-241 -warheadFuel.Sa326=Schrabidium-326 -warheadFuel.Sa327=Schrabidium-327 -warheadFuel.Sr90=Strontium-90 -warheadFuel.TRIT=Tritium -warheadFuel.Ta181=Tantalum -warheadFuel.Ta182=Tantalum-182 -warheadFuel.U233=Uranium-233 -warheadFuel.U235=Uranium-235 +trait.rbmk.coreTemp=Температура стержня: %s +trait.rbmk.depletion=Обеднение: %s +trait.rbmk.diffusion=Рассеивание: %s +trait.rbmk.fluxFunc=Функция потока: %s +trait.rbmk.funcType=Тип функции: %s +trait.rbmk.heat=Тепло за тик при полной мощности: %s +trait.rbmk.melt=Точка плавления: %s +trait.rbmk.neutron.any=Любые нейтроны +trait.rbmk.neutron.fast=Быстрые нейтроны +trait.rbmk.neutron.slow=Медленные нейтроны +trait.rbmk.skinTemp=Температура оболочки стержня: %s +trait.rbmk.source=Самовоспламеняющийся +trait.rbmk.splitsInto=Распадается на: %s +trait.rbmk.splitsWith=Распадается с: %s +trait.rbmk.xenon=Ксеноновое отравление: %s +trait.rbmk.xenonBurn=Функция выгорания ксенона: %s +trait.rbmk.xenonGen=Функция накопления ксенона: %s -warheadFuse=Fuse: %s +trait.rbmx.coreTemp=Разрушение стержня: %s +trait.rbmx.depletion=Корочка: %s +trait.rbmx.diffusion=Поток: %s +trait.rbmx.fluxFunc=Функция гибели: %s +trait.rbmx.funcType=Спецификация функции: %s +trait.rbmx.heat=Корочка на тик при полной мощности: %s +trait.rbmx.melt=Глубина корочки: %s +trait.rbmk.neutron.any.x=Все неевклидовы формы +trait.rbmk.neutron.fast.x=Эллиптические неевклидовы формы +trait.rbmk.neutron.slow.x=Гиперболические неевклидовы формы +trait.rbmx.skinTemp=Разрушение оболочки стержня: %s +trait.rbmx.source=Самосжигаемый +trait.rbmx.splitsInto=Отправляется в: %s +trait.rbmx.splitsWith=Прибывает из: %s +trait.rbmx.xenon=Свинцовое отравление: %s +trait.rbmx.xenonBurn=Функция разрушения свинца: %s +trait.rbmx.xenonGen=Функция создания свинца: %s -warheadTrait.CLEAN=Clean -warheadTrait.CLEANISH=Relatively Clean -warheadTrait.DIRTY=Dirty -warheadTrait.RAD=Radioactive -warheadTrait.SALT=Salted -warheadType.DENIAL=Area Denial -warheadType.STRATEGIC=Strategic -warheadType.TACTICAL=Tactical -warheadType.WMD=WMD \ No newline at end of file +trait.tile.cluster=Выпадает только тогда, когда разрушен игроком +trait.tile.depth=Может быть разрушен только взрывом + +tool.ability.centrifuge=Авто-центрифуга +tool.ability.crystallizer=Авто-кристаллизатор +tool.ability.explosion=Взрыв +tool.ability.hammer=Зона действия +tool.ability.hammer_flat=Плоская зона действия +tool.ability.luck=Удача +tool.ability.mercury=Ртутное касание +tool.ability.midas=Прикосновение Мидаса +tool.ability.recursion=Жилковый Майнер +tool.ability.shredder=Авто-измельчитель +tool.ability.silktouch=Шёлковое касание +tool.ability.smelter=Авто-плавка + +turret.animals=Целиться по пассивным: %s +turret.arty.artillery=§eАртиллерийский режим$Минимальный радиус: 250м$Максимальный радиус: 3,000м +turret.arty.cannon=§eПушечный режим$Минимальный радиус: 32м$Максимальный радиус: 250м +turret.arty.manual=§eРучной режим$Радиус: 3,000м +turret.machines=Целиться по машинам: %s +turret.mobs=Целиться по мобам: %s +turret.none=Ничего +turret.off=ВЫКЛ +turret.on=ВКЛ +turret.players=Целиться по игрокам: %s + +upgrade.acid=Требуется кислота %s +upgrade.burn=Burn %sмб/тик за %sHE +upgrade.consumption=Потребление %s +upgrade.coolantConsumption=Потребление охладителя %s +upgrade.delay=Время %s +upgrade.efficiency=Эффективность %s +upgrade.fortune=Удача %s +upgrade.overheatChance=Шанс перегрева %s +upgrade.productivity=Продуктивность %s +upgrade.range=Радиус %s + +upgrade.gui.title=§lПринимаемые улучшения:§r +upgrade.gui.afterburner= * §dФорсаж§r: Стакается до %s уровней +upgrade.gui.effectiveness= * §aЭффективность§r: Стакается до %s уровней +upgrade.gui.overdrive= * §7Перегруз§r: Стакается до %s уровней +upgrade.gui.power= * §9Энергосбережение§r: Стакается до %s уровней +upgrade.gui.speed= * §4Скорость§r: Стакается до %s уровней + +wavelengths.name.ir=Инфракрасный +wavelengths.name.visible=Видимый свет +wavelengths.name.uv=Ультрафиолет +wavelengths.name.gamma=Гамма +wavelengths.name.drx=Дигамма +wavelengths.waveRange.ir=780нм-1мм +wavelengths.waveRange.visible=400нм-780нм +wavelengths.waveRange.uv=100нм-400нм +wavelengths.waveRange.gamma=<100пм +wavelengths.waveRange.drx=1916169 планковских длин + +weapon.ability.beheader=Обезглавливатель +weapon.ability.bobble=Удача коллекционера +# Should rhyme with the translation for "chainsaw" +weapon.ability.chainsaw=Бензоболь +weapon.ability.fire=Горение +weapon.ability.radiation=Радиоактивные лезвия +weapon.ability.phosphorus=Фосфорный наконечник +weapon.ability.stun=Оглушение +weapon.ability.vampire=Вампир +weapon.elecGun.modeChange=Режим стрельбы: +weapon.elecGun.glass_cannon.radio=Радиоволны +weapon.elecGun.glass_cannon.micro=Микроволны +weapon.elecGun.glass_cannon.ir=Инфракрасное излучение +weapon.elecGun.glass_cannon.visible=Видимый свет +weapon.elecGun.glass_cannon.uv=Ультрафиолет +weapon.elecGun.glass_cannon.xray=Рентген +weapon.elecGun.glass_cannon.gamma=Гамма-лучи + +desc.gui.upgrade=§lПринимаемые улучшения:§r +desc.gui.upgrade.afterburner= * §dФорсаж§r: Стакается до 3-х уровней +desc.gui.upgrade.effectiveness= * §aЭффективность§r: Стакается до 3-х уровней +desc.gui.upgrade.overdrive= * §7Перегруз§r: Стакается до 3-х уровней +desc.gui.upgrade.power= * §1Энергосбережение§r: Стакается до 3-х уровней +desc.gui.upgrade.speed= * §4Скорость§r: Стакается до 3-х уровней diff --git a/src/main/resources/assets/hbm/lang/te_ST.lang b/src/main/resources/assets/hbm/lang/te_ST.lang deleted file mode 100644 index cc7f1b34b..000000000 --- a/src/main/resources/assets/hbm/lang/te_ST.lang +++ /dev/null @@ -1,1262 +0,0 @@ -itemGroup.tabTest=Nuclear Tech Mod Test Tab -itemGroup.tabParts=NTM Resources and Parts -itemGroup.tabBlocks=NTM Blocks and Machines -itemGroup.tabNuke=NTM Bombs and Gear -itemGroup.tabMachine=NTM Templates - -hbmfluid.none=None -hbmfluid.water=Water -hbmfluid.lava=Lava -hbmfluid.uf6=Uranium Hexafluoride -hbmfluid.puf6=Plutonium Hexafluoride -hbmfluid.deuterium=Deuterium -hbmfluid.tritium=Tritium -hbmfluid.oil=Crude Oil -hbmfluid.smear=Industrial Oil -hbmfluid.reclaimed=Reclaimed Industrial Oil -hbmfluid.petroil=Petroil -hbmfluid.lubricant=Engine Lubricant -hbmfluid.diesel=Diesel -hbmfluid.kerosene=Kerosene -hbmfluid.gas=Natural Gas -hbmfluid.coolant=Coolant -hbmfluid.amat=Antimatter -hbmfluid.aschrab=Antischrabidium - -item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core -item.record.ss.desc=Valve - Sector Sweep -item.record.vc.desc=Valve - Vortal Combat - -death.attack.nuclearBlast=%1$s was blown away by a nuclear explosion. -death.attack.revolverBullet=%1$s was shot in the head by %2$s. -death.attack.mudPoisoning=%1$s died in poisonous mud. -death.attack.euthanized=%1$s was euthanized by %2$s. -death.attack.euthanizedSelf=%1$s euthanized himself, what a dork. -death.attack.euthanizedSelf2=%1$s wins the Darwin Award. -death.attack.tau=%1$s was riddeled by %2$s using negatively charged tauons. -death.attack.tauBlast=%1$s charged the XVL1456 for too long and was blown into pieces. -death.attack.chopperBullet=%1$s was rekt by %2$s. -death.attack.cmb=%1$s was fizzeled by %2$s. -death.attack.subAtomic=%1$s's atoms have been destroyed by %2$s. -death.attack.subAtomic2=%1$s was QPU-misaligned because %2$s tampered with his de facto speed. -death.attack.subAtomic3=%1$s's divergence dropped below 1 percent because of %2$s. -death.attack.subAtomic4=%1$s was divided by zero by %2$s. -death.attack.subAtomic5=%1$s was nullified by %2$s. -death.attack.radiation=%1$s died from radiation poisoning. -death.attack.acid=%1$s fell into acid. -death.attack.suicide=%1$s blew their head off. -death.attack.electrified=%1$s was electrified by %2$s. -death.attack.flamethrower=%1$s was cremated by %2$s. -death.attack.plasma=%1$s was immolated by %2$s. -death.attack.ice=%1$s was turned into a popsicle by %2$s. -death.attack.cheater=%1$s's intestines turned into oats. (???) -death.attack.laser=%1$s was turned into ash by %2$s. -death.attack.rubble=%1$s was squashed by debris. -death.attack.shrapnel=%1$s was ragged by a shrapnel. -death.attack.teleporter=%1$s was teleported into nothingness. -death.attack.blackhole=%1$s was spaghettified. - -item.redstone_sword.name=Redstone Sword -item.big_sword.name=Great Sword -item.test_nuke_igniter.name=Igniter -item.test_nuke_propellant.name=Propellant -item.test_nuke_tier1_shielding.name=Neutron Reflector (Tier 1) -item.test_nuke_tier2_shielding.name=Neutron Reflector (Tier 2) -item.test_nuke_tier1_bullet.name=U235 Projectile (Tier 1) -item.test_nuke_tier2_bullet.name=MOX Projectile (Tier 2) -item.test_nuke_tier1_target.name=Subcritical U235 Target (Tier 1) -item.test_nuke_tier2_target.name=Subcritical MOX Target (Tier 2) - -item.gadget_explosive.name=Propellant -item.gadget_explosive8.name=Bundle of Propellant -item.gadget_wireing.name=Wiring -item.gadget_core.name=Plutonium Core - -item.boy_igniter.name=Bomb Igniter -item.boy_propellant.name=Propellant -item.boy_bullet.name=U235 Projectile -item.boy_target.name=Subcritical U235 Target -item.boy_shielding.name=Neutron Shielding - -item.man_explosive.name=Beans -item.man_explosive8.name=Bundle of Propellant -item.man_igniter.name=Bomb Igniter -item.man_core.name=Plutonium Core - -item.mike_core.name=Uranium Coated Deuterium Tank -item.mike_deut.name=Deuterium Tank -item.mike_cooling_unit.name=Deuterium Cooling Unit - -item.tsar_core.name=Tsar Bomba Core - -item.fleija_igniter.name=Pulse Igniter -item.fleija_propellant.name=Schrabidium Propellant -item.fleija_core.name=F.L.E.I.J.A. Uranium 235 Charge - -container.nukeGadget=The Gadget -container.nukeBoy=Little Boy -container.nukeMan=Fat Man -container.nukeMike=Ivy Mike -container.nukeTsar=Tsar Bomba -container.nukeFleija=F.L.E.I.J.A. -container.nukePrototype=The Prototype -container.nukeCustom=Custom Nuke - -container.bombMulti=Multi Purpose Bomb - -tile.nuke_gadget.name=The Gadget -tile.nuke_boy.name=Little Boy -tile.nuke_man.name=Fat Man -tile.nuke_mike.name=Ivy Mike -tile.nuke_tsar.name=Tsar Bomba -tile.nuke_fleija.name=F.L.E.I.J.A. -tile.nuke_prototype.name=The Prototype -tile.nuke_custom.name=Custom Nuke - -tile.bomb_multi.name=Multi Purpose Bomb - -tile.flame_war.name=Flame War in a Box -tile.float_bomb.name=Levitation Bomb -tile.therm_endo.name=Endothermic Bomb -tile.therm_exo.name=Exothermic Bomb - -tile.crashed_bomb.name=Dud - -tile.crate.name=Supply Crate -tile.marker_structure.name=Multiblock Structure Marker - -tile.machine_difurnace_off.name=Alloy Furnace -tile.machine_difurnace_on.name=Alloy Furnace -container.diFurnace=Alloy Furnace -tile.machine_centrifuge.name=Centrifuge -container.centrifuge=Centrifuge -tile.machine_uf6_tank.name=Uranium Hexafluoride Tank -container.uf6_tank=UF6 Tank -tile.machine_puf6_tank.name=Plutonium Hexafluoride Tank -container.puf6_tank=PuF6 Tank -tile.machine_reactor.name=Breeding Reactor -container.reactor=Breeding Reactor -tile.machine_nuke_furnace_off.name=Nuclear Powered Furnace -tile.machine_nuke_furnace_on.name=Nuclear Powered Furnace -container.nukeFurnace=Nuclear Powered Furnace -tile.machine_rtg_furnace_off.name=RTG Furnace -tile.machine_rtg_furnace_on.name=RTG Furnace -container.rtgFurnace=RTG Furnace -tile.machine_electric_furnace_off.name=Electric Furnace -tile.machine_electric_furnace_on.name=Electric Furnace -container.electricFurnace=Electric Furnace -tile.machine_generator.name=Nuclear Reactor -container.generator=Nuclear Reactor -tile.red_wire_coated.name=Coated Red Copper Cable -tile.machine_deuterium.name=Deuterium Extractor -container.machine_deuterium=Deuterium Extractor -tile.machine_battery.name=Energy Storage Block -container.battery=Energy Storage -tile.machine_coal_off.name=Coal Generator -tile.machine_coal_on.name=Coal Generator -container.machineCoal=Coal Generator -tile.launch_pad.name=Missile Launch Pad -container.launchPad=Missile Launch Pad -tile.book_guide.name=Hbm's Nuclear Tech Mod Manual -tile.machine_schrabidium_transmutator.name=Schrabidium Transmutation Device -container.machine_schrabidium_transmutator=Schrabidium Transmutation Device -tile.machine_diesel.name=Diesel Generator -container.machineDiesel=Diesel Generator -tile.machine_shredder.name=Shredder -container.machineShredder=Shredder -tile.machine_combine_factory.name=CMB Steel Furnace -container.machineCMB=CMB Steel Furnace -tile.machine_teleporter.name=Teleporter -container.teleporter=Teleporter -tile.machine_reix_mainframe.name=Rei-X Mainframe (WIP) -container.reix=Rei-X Mainframe -tile.machine_industrial_generator.name=Industrial Generator -container.iGenerator=Industrial Generator -tile.machine_cyclotron.name=Cyclotron -container.cyclotron=Cyclotron -tile.machine_well.name=Oil Derrick -tile.oil_pipe.name=Crude Oil Extraction Pipe -container.oilWell=Oil Derrick -tile.machine_refinery.name=Oil Refinery -container.machineRefinery=Oil Refinery -tile.oil_duct.name=Oil Pipe -tile.oil_duct_solid.name=Coated Oil Pipe -tile.machine_flare.name=Gas Flare -container.gasFlare=Gas Flare -tile.gas_duct.name=Gas Pipe -tile.gas_duct_solid.name=Coated Gas Pipe -tile.machine_drill.name=Automatic Mining Drill -container.miningDrill=Automatic Mining Drill -tile.machine_assembler.name=Assembly Machine -container.assembler=Assembly Machine -tile.machine_chemplant.name=Chemical Plant -container.chemplant=Chemical Plant - -tile.red_pylon.name=Electricity Pole -item.wiring_red_copper.name=Cable Drum - -tile.rail_highspeed.name=High Speed Rail -tile.rail_booster.name=High Speed Booster Rail - -tile.factory_titanium_hull.name=Basic Factory Casing -tile.factory_titanium_furnace.name=Basic Factory Access Hatch -tile.factory_titanium_conductor.name=Basic Factory Electricity Port -tile.factory_titanium_core.name=Basic Factory Core Component -item.factory_core_titanium.name=Basic Factory Energy Cluster -container.factoryTitanium=Basic Factory -tile.factory_advanced_hull.name=Advanced Factory Casing -tile.factory_advanced_furnace.name=Advanced Factory Access Hatch -tile.factory_advanced_conductor.name=Advanced Factory Electricity Port -tile.factory_advanced_core.name=Advanced Factory Core Component -item.factory_core_advanced.name=Advanced Factory Energy Cluster -container.factoryAdvanced=Advanced Factory - -tile.reactor_element.name=Reactor Chamber -tile.reactor_control.name=Control Rods -tile.reactor_hatch.name=Reactor Access Hatch -tile.reactor_conductor.name=Reactor Electricity Port -tile.reactor_computer.name=Reactor Control -container.reactorMultiblock=Big Nuclear Reactor - -tile.fusion_conductor.name=Superconducting Magnet -tile.fusion_center.name=Central Magnet Piece -tile.fusion_motor.name=Magnet Motor Piece -tile.fusion_heater.name=Plasma Heater -tile.fusion_hatch.name=Fusion Reactor Access Hatch -tile.fusion_core.name=Fusion Reactor Control -tile.plasma.name=Plasma -container.fusionMultiblock=Big Fusion Reactor - -tile.watz_element.name=Watz Reaction Chamber -tile.watz_control.name=Reinforced Control Rods -tile.watz_cooler.name=Watz Reactor Supercooler -tile.watz_end.name=Watz Reactor Stability Element -tile.watz_hatch.name=Watz Reactor Access Hatch -tile.watz_conductor.name=Watz Electricity Port -tile.watz_core.name=Watz Reactor Control -container.watzPowerplant=Watz Power Plant - -tile.fwatz_conductor.name=4000K Superconducting Magnet -tile.fwatz_cooler.name=Regenerative Coolant Fluid Tank Shell -tile.fwatz_tank.name=Regenerative Coolant Fluid Tank -tile.fwatz_scaffold.name=Fusionary Watz Plant Structural Support -tile.fwatz_hatch.name=Fusionary Watz Plant Access Hatch -tile.fwatz_computer.name=Fusionary Watz Reactor Calculation Matrix -tile.fwatz_core.name=Fusionary Watz Reactor Control -tile.fwatz_plasma.name=Destabilized Antischrabidium Plasma -container.fusionaryWatzPlant=Fusionary Watz Plant - -tile.machine_rtg_grey.name=RT Generator -container.rtg=RT Generator -tile.machine_rtg_red.name=Fulmination Generator -tile.machine_rtg_orange.name=Strong RT Generator -tile.machine_rtg_yellow.name=Australium Superfuel Reactor -tile.machine_rtg_green.name=Verticium Wealth Generator -tile.machine_rtg_cyan.name=Schrabidium Decay Generator (WIP) -tile.machine_rtg_blue.name=Convection Generator -tile.machine_rtg_purple.name=Antimatter Annihilation Generator - -item.assembly_template.TEST.name=Assembly Template: Test -item.assembly_template.MIXED_PLATE.name=Assembly Template: Mixed Plate -item.assembly_template.HAZMAT_CLOTH.name=Assembly Template: Hazmat Cloth -item.assembly_template.ASBESTOS_CLOTH.name=Assembly Template: Fire Proximity Cloth -item.assembly_template.COAL_FILTER.name=Assembly Template: Activated Carbon Filter -item.assembly_template.CENTRIFUGE_ELEMENT.name=Assembly Template: Centrifuge Element -item.assembly_template.CENTRIFUGE_TOWER.name=Assembly Template: Centrifuge Tower -item.assembly_template.DEE_MAGNET.name=Assembly Template: Dee Magnets -item.assembly_template.FLAT_MAGNET.name=Assembly Template: Flat Magnet -item.assembly_template.CYCLOTRON_TOWER.name=Assembly Template: Cyclotron Tower -item.assembly_template.REACTOR_CORE.name=Assembly Template: Breeding Reactor Core -item.assembly_template.RTG_UNIT.name=Assembly Template: RTG Unit -item.assembly_template.HEAT_UNIT.name=Assembly Template: Thermal Distribution Unit -item.assembly_template.GRAVITY_UNIT.name=Assembly Template: Gravity Manipulator -item.assembly_template.TITANIUM_DRILL.name=Assembly Template: Titanium Drill -item.assembly_template.TELEPAD.name=Assembly Template: Telepad -item.assembly_template.TELEKIT.name=Assembly Template: Entanglement Kit -item.assembly_template.GEASS_REACTOR.name=Assembly Template: Dysfunctional Nuclear Reactor -item.assembly_template.GENERATOR_FRONT.name=Assembly Template: Generator Front -item.assembly_template.WT1_GENERIC.name=Assembly Template: Small Warhead -item.assembly_template.WT2_GENERIC.name=Assembly Template: Medium Warhead -item.assembly_template.WT3_GENERIC.name=Assembly Template: Large Warhead -item.assembly_template.WT1_FIRE.name=Assembly Template: Small Incendiary Warhead -item.assembly_template.WT2_FIRE.name=Assembly Template: Medium Incendiary Warhead -item.assembly_template.WT3_FIRE.name=Assembly Template: Large Incendiary Warhead -item.assembly_template.WT1_CLUSTER.name=Assembly Template: Small Cluster Warhead -item.assembly_template.WT2_CLUSTER.name=Assembly Template: Medium Cluster Warhead -item.assembly_template.WT3_CLUSTER.name=Assembly Template: Large Cluster Warhead -item.assembly_template.WT1_BUSTER.name=Assembly Template: Small Bunker Buster Warhead -item.assembly_template.WT2_BUSTER.name=Assembly Template: Medium Bunker Buster Warhead -item.assembly_template.WT3_BUSTER.name=Assembly Template: Large Bunker Buster Warhead -item.assembly_template.W_NUCLEAR.name=Assembly Template: Nuclear Warhead -item.assembly_template.W_MIRVLET.name=Assembly Template: MIRV -item.assembly_template.W_MIRV.name=Assembly Template: Eightfold MIRV Warhead -item.assembly_template.W_ENDOTHERMIC.name=Assembly Template: Endothermic Warhead -item.assembly_template.W_EXOTHERMIC.name=Assembly Template: Exothermic Warhead -item.assembly_template.T1_TANK.name=Assembly Template: Small Fuel Tank -item.assembly_template.T2_TANK.name=Assembly Template: Medium Fuel Tank -item.assembly_template.T3_TANK.name=Assembly Template: Large Fuel Tank -item.assembly_template.T1_THRUSTER.name=Assembly Template: Small Thruster -item.assembly_template.T2_THRUSTER.name=Assembly Template: Medium Thruster -item.assembly_template.T3_THRUSTER.name=Assembly Template: Large Thruster -item.assembly_template.CHOPPER_HEAD.name=Assembly Template: Hunter Chopper Cockpit -item.assembly_template.CHOPPER_GUN.name=Assembly Template: Emplacement Gun -item.assembly_template.CHOPPER_BODY.name=Assembly Template: Hunter Chopper Body -item.assembly_template.CHOPPER_TAIL.name=Assembly Template: Hunter Chopper Tail -item.assembly_template.CHOPPER_WING.name=Assembly Template: Hunter Chopper Wing -item.assembly_template.CHOPPER_BLADES.name=Assembly Template: Hunter Chopper Rotor Blades -item.assembly_template.CIRCUIT_2.name=Assembly Template: Enhanced Circuit -item.assembly_template.CIRCUIT_3.name=Assembly Template: Advanced Circuit -item.assembly_template.RTG_PELLET.name=Assembly Template: Plutonium 238 Fuel Pellet -item.assembly_template.WEAK_PELLET.name=Assembly Template: Weak Uranium RTG Pellet -item.assembly_template.FUSION_PELLET.name=Assembly Template: Tritium-Deuterium-Cake -item.assembly_template.CLUSTER_PELLETS.name=Assembly Template: Explosive Pellets -item.assembly_template.GUN_PELLETS.name=Assembly Template: Lead Pellets - -item.fuse.name=Fuse - -tile.test_nuke.name=Test Nuke - -item.ingot_uranium.name=Uranium Ingot -item.ingot_u235.name=U235 Ingot -item.ingot_u238.name=U238 Ingot -item.ingot_plutonium.name=Plutonium Ingot -item.ingot_pu238.name=Pu238 Ingot -item.ingot_pu239.name=Pu239 Ingot -item.ingot_pu240.name=Pu240 Ingot -item.ingot_titanium.name=Titanium Ingot -item.sulfur.name=Sulfur - -item.niter.name=Niter -item.ingot_copper.name=Industrial Grade Copper -item.ingot_red_copper.name=Minecraft Grade Copper -item.ingot_tungsten.name=Tungsten Ingot -item.ingot_aluminium.name=Aluminium Ingot -item.fluorite.name=Fluorite -item.ingot_steel.name=Steel Ingot -item.plate_steel.name=Steel Plate -item.ingot_beryllium.name=Beryllium Ingot -item.plate_schrabidium.name=Schrabidium Plate -item.ingot_schrabidium.name=Schrabidium Ingot -item.nugget_schrabidium.name=Schrabidium Nugget -item.plate_copper.name=Copper Plate -item.board_copper.name=Copper Panel -item.ingot_advanced_alloy.name=Advanced Alloy Ingot -item.plate_advanced_alloy.name=Advanced Alloy Plate -item.wire_advanced_alloy.name=Super Conductor -item.coil_advanced_alloy.name=Super Conducting Coil -item.coil_advanced_torus.name=Super Conducting Ring Coil -item.coil_gold.name=Gold Coil -item.coil_gold_torus.name=Golden Ring Coil -item.lithium.name=Lithium Cube -item.ingot_magnetized_tungsten.name=Magnetized Tungsten Ingot -item.ingot_combine_steel.name=CMB Steel Ingot -item.plate_combine_steel.name=CMB Steel Plate -item.wire_magnetized_tungsten.name=4000K High Temperature Super Conductor -item.coil_magnetized_tungsten.name=4000K High Temperature Super Conducting Coil -item.plate_mixed.name=Mixed Plate -item.plate_paa.name=PaA Alloy Plate -item.ingot_dura_steel.name=High-Speed Steel Ingot -item.ingot_polymer.name=Polymer Ingot -item.bolt_dura_steel.name=High-Speed Steel Bolt -item.pipes_steel.name=Steel Pipes -item.drill_titanium.name=Titanium Drill - -item.ingot_australium.name=Australium Ingot -item.ingot_weidanium.name=Weidanium Ingot -item.ingot_reiium.name=Reiium Ingot -item.ingot_unobtainium.name=Unobtainium Ingot -item.ingot_daffergon.name=Daffergon Ingot -item.ingot_verticium.name=Verticium Ingot -item.nugget_australium.name=Australium Nugget -item.nugget_weidanium.name=Weidanium Nugget -item.nugget_reiium.name=Reiium Nugget -item.nugget_unobtainium.name=Unobtainium Nugget -item.nugget_daffergon.name=Daffergon Nugget -item.nugget_verticium.name=Verticium Nugget - -item.ingot_desh.name=Desh Ingot -item.nugget_desh.name=Desh Nugget -item.powder_desh.name=Desh Powder - -item.nugget_u235.name=U235 Nugget -item.nugget_u238.name=U238 Nugget -item.nugget_pu238.name=Pu238 Nugget -item.nugget_pu239.name=Pu239 Nugget -item.nugget_pu240.name=Pu240 Nugget -item.plate_titanium.name=Titanium Plate -item.plate_aluminium.name=Aluminium Plate -item.wire_red_copper.name=Red Copper Wire -item.neutron_reflector.name=Neutron Reflector -item.nugget_beryllium.name=Beryllium Nugget - -item.wire_aluminium.name=Aluminium Wire -item.wire_copper.name=Copper Wire -item.wire_gold.name=Gold Wire -item.wire_schrabidium.name=Schrabidium Wire - -item.circuit_aluminium.name=Basic Circuit -item.circuit_copper.name=Enhanced Circuit -item.circuit_red_copper.name=Advanved Circuit -item.circuit_gold.name=Overclocked Circuit -item.circuit_schrabidium.name=High Performance Circuit - -tile.block_aluminium.name=Block of Aluminium -tile.block_copper.name=Block of Copper -tile.block_fluorite.name=Block of Fluorite -tile.block_niter.name=Block of Niter -tile.block_red_copper.name=Block of Red Copper -tile.block_steel.name=Block of Steel -tile.block_sulfur.name=Block of Sulfur -tile.block_titanium.name=Block of Titanium -tile.block_tungsten.name=Block of Tungsten -tile.block_uranium.name=Block of Uranium -tile.block_trinitite.name=Block of Trinitite -tile.block_beryllium.name=Block of Beryllium -tile.block_waste.name=Block of Nuclear Waste -tile.block_scrap.name=Block of Scrap -tile.block_electrical_scrap.name=Block of Electrical Scrap -tile.block_advanced_alloy.name=Block of Advanced Alloy -tile.block_magnetized_tungsten.name=Block of Magnetized Tungsten -tile.block_combine_steel.name=Block of CMB Steel -tile.block_australium.name=Block of Australium -tile.block_weidanium.name=Block of Weidanium -tile.block_reiium.name=Block of Reiium -tile.block_unobtainium.name=Block of Unobtainium -tile.block_daffergon.name=Block of Daffergon -tile.block_verticium.name=Block of Verticium -tile.block_desh.name=Reinfoced Block of Desh - -tile.ore_aluminium.name=Aluminium Ore -tile.ore_copper.name=Copper Ore -tile.ore_fluorite.name=Fluorite Ore -tile.ore_niter.name=Niter Ore -tile.ore_sulfur.name=Sulfur Ore -tile.ore_titanium.name=Titanium Ore -tile.ore_tungsten.name=Tungsten Ore -tile.ore_uranium.name=Uranium Ore -tile.ore_schrabidium.name=Schrabidium Ore -tile.ore_beryllium.name=Beryllium Ore - -tile.ore_nether_uranium.name=Nether Uranium Ore -tile.ore_nether_plutonium.name=Nether Plutonium Ore -tile.ore_nether_tungsten.name=Nether Tungsten Ore -tile.ore_nether_sulfur.name=Nether Sulfur Ore -tile.ore_nether_fire.name=Fire Ore -tile.ore_nether_schrabidium.name=Nether Schrabidium Ore - -tile.ore_australium.name=Australian Ore -tile.ore_weidanium.name=Weidite -tile.ore_reiium.name=Reiite -tile.ore_unobtainium.name=Brightblende Ore -tile.ore_daffergon.name=Dellite -tile.ore_verticium.name=Dollar Green Mineral - -tile.ore_oil.name=Oil Deposit -tile.ore_oil_empty.name=Empty Oil Deposit - -tile.reinforced_brick.name=Reinforced Stone -tile.reinforced_glass.name=Reinforced Glass -tile.reinforced_sand.name=Reinforced Sandstone -tile.reinforced_light.name=Reinforced Glowstone -tile.reinforced_lamp_off.name=Reinforced Lamp -tile.reinforced_lamp_on.name=Reinforced Lamp - -tile.brick_concrete.name=Concrete Bricks -tile.brick_obsidian.name=Obsidian Bricks -tile.brick_light.name=Light Bricks -tile.asphalt.name=Asphalt - -tile.cmb_brick.name=CMB Steel Tile -tile.cmb_brick_reinforced.name=Reinforced CMB Bricks - -tile.gravel_obsidian.name=Crushed Obsidian - -tile.seal_frame.name=Silo Hatch Frame -tile.seal_controller.name=Silo Hatch Opener -tile.seal_hatch.name=Silo Hatch - -item.nugget_uranium.name=Uranium Nugget -item.nugget_plutonium.name=Plutonium Nugget -item.nugget_neptunium.name=Neptunium Nugget -item.ingot_neptunium.name=Neptunium Ingot -item.nugget_lead.name=Lead Nugget -item.ingot_lead.name=Lead Ingot -tile.block_lead.name=Block of Lead -tile.ore_lead.name=Lead Ore - -item.powder_lead.name=Lead Powder -item.powder_neptunium.name=Neptunium Powder -item.powder_schrabidium.name=Schrabidium Powder -item.powder_iron.name=Iron Powder -item.powder_gold.name=Gold Powder -item.powder_aluminium.name=Aluminium Powder -item.powder_beryllium.name=Beryllium Powder -item.powder_copper.name=Copper Powder -item.powder_titanium.name=Titanium Powder -item.powder_tungsten.name=Tungsten Powder -item.powder_uranium.name=Uranium Powder -item.powder_plutonium.name=Plutonium Powder -item.dust.name=Dust -item.powder_coal.name=Coal Powder -item.powder_lapis.name=Lapis Lazuli Powder -item.powder_emerald.name=Emerald Powder -item.powder_diamond.name=Diamond Powder -item.powder_red_copper.name=Red Copper Powder -item.powder_steel.name=Steel Powder -item.powder_magnetized_tungsten.name=Magnetized Tungsten Powder -item.powder_combine_steel.name=CMB Steel Powder -item.powder_lithium.name=Lithium Powder -item.powder_advanced_alloy.name=Advanced Alloy Powder -item.powder_quartz.name=Quartz Powder -item.powder_power.name=Energy Powder -item.powder_iodine.name=Iodine Powder -item.powder_thorium.name=Thorium Powder -item.powder_neodymium.name=Neodymium Powder -item.powder_astatine.name=Astatine Powder -item.powder_caesium.name=Caesium Powder -item.powder_australium.name=Australium Powder -item.powder_weidanium.name=Weidanium Powder -item.powder_reiium.name=Reiium Powder -item.powder_unobtainium.name=Unobtainium Powder -item.powder_daffergon.name=Daffergon Powder -item.powder_verticium.name=Verticium Powder -item.powder_strontium.name=Strontium Powder -item.powder_cobalt.name=Cobalt Powder -item.powder_bromine.name=Bromine Powder -item.powder_niobium.name=Niobium Powder -item.powder_tennessine.name=Tennessine Powder -item.powder_cerium.name=Cerium Powder -item.powder_dura_steel.name=High-Speed Steel Powder -item.powder_polymer.name=Polymer Powder -item.powder_lanthanium.name=Lanthanium Powder -item.powder_actinium.name=Actinium Powder -item.powder_lithium_tiny.name=Tiny Pile of Lithium Powder -item.powder_cobalt_tiny.name=Tiny Pile of Cobalt Powder - -item.battery_generic.name=Battery -item.battery_advanced.name=Advanced Battery -item.battery_lithium.name=Lithium-Ion Battery -item.battery_schrabidium.name=Schrabidium Battery -item.battery_creative.name=Infinite Battery - -item.battery_red_cell.name=Redstone Power Cell -item.battery_advanced_cell.name=Advanced Power Cell -item.battery_lithium_cell.name=Lithium-Ion Power Cell -item.battery_schrabidium_cell.name=Schrabidium Power Cell -item.battery_red_cell_6.name=Sixfold Redstone Power Cell -item.battery_advanced_cell_4.name=Quadruple Advanced Power Cell -item.battery_lithium_cell_3.name=Tripple Lithium-Ion Power Cell -item.battery_schrabidium_cell_2.name=Double Schrabidium Power Cell -item.battery_red_cell_24.name=24-Fold Redstone Power Cell -item.battery_advanced_cell_12.name=Twelvefold Advanced Power Cell -item.battery_lithium_cell_6.name=Sixfold Lithium-Ion Power Cell -item.battery_schrabidium_cell_4.name=Quadruple Schrabidium Power Cell - -item.upgrade_template.name=Machine Upgrade Piece Template -item.upgrade_speed_1.name=Red Machine Upgrade Mk.I -item.upgrade_speed_2.name=Red Machine Upgrade Mk.II -item.upgrade_speed_3.name=Red Machine Upgrade Mk.III -item.upgrade_effect_1.name=Green Machine Upgrade Mk.I -item.upgrade_effect_2.name=Green Machine Upgrade Mk.II -item.upgrade_effect_3.name=Green Machine Upgrade Mk.III -item.upgrade_power_1.name=Blue Machine Upgrade Mk.I -item.upgrade_power_2.name=Blue Machine Upgrade Mk.II -item.upgrade_power_3.name=Blue Machine Upgrade Mk.III -item.upgrade_fortune_1.name=Purple Machine Upgrade Mk.I -item.upgrade_fortune_2.name=Purple Machine Upgrade Mk.II -item.upgrade_fortune_3.name=Purple Machine Upgrade Mk.III - -item.fusion_core.name=Fusion Core -item.energy_core.name=Makeshift Energy Core - -item.plate_iron.name=Iron Plate -item.plate_lead.name=Lead Plate -item.coil_copper.name=Copper Coil -item.coil_copper_torus.name=Ring Coil -item.wire_tungsten.name=Tungsten Wire -item.coil_tungsten.name=Heating Coil -item.tank_steel.name=Steel Tank -item.motor.name=Motor -item.centrifuge_element.name=Centrifuge Element -item.centrifuge_tower.name=Centrifuge Tower -item.reactor_core.name=Breeding Reactor Core -item.pellet_rtg.name=Plutonium 238 Fuel Pellet -item.pellet_rtg_weak.name=Weak Uranium RTG Pellet -item.rtg_unit.name=RTG Unit -item.hazmat_cloth.name=Hazmat Cloth -item.asbestos_cloth.name=Fire Proximity Cloth -item.filter_coal.name=Activated Carbon Filter -item.tritium_deuterium_cake.name=Tritium-Deuterium-Cake -item.telepad.name=Telepad -item.entanglement_kit.name=Entanglement Kit -item.toothpicks.name=Toothpicks -item.ducttape.name=Duct Tape -item.magnet_dee.name=Dee Magnets -item.magnet_circular.name=Flat Magnet -item.cyclotron_tower.name=Cyclotron Tower -item.plate_dalekanium.name=Angry Metal - -item.cell_empty.name=Empty Cell -item.cell_uf6.name=Uranium Hexafluorite Cell -item.cell_puf6.name=Plutonium Hexafluorite Cell -item.cell_antimatter.name=Antimatter Cell -item.cell_deuterium.name=Deuterium Cell -item.cell_tritium.name=Tritium Cell -item.cell_sas3.name=Schrabidium Trisulfide Cell -item.cell_anti_schrabidium.name=Antischrabidium Cell -item.singularity.name=Singularity -item.singularity_counter_resonant.name=Contained Counter-Resonant Singularity -item.singularity_super_heated.name=Superheated Resonating Singularity -item.black_hole.name=Miniature Black Hole -item.crystal_xen.name=Artificial Xen Crystal - -item.inf_water.name=Infinite Water Tank -item.inf_deuterium.name=Infinite Deuterium Tank -item.inf_tritium.name=Infinite Tritium Tank -item.inf_coolant.name=Infinite Coolant Tank -item.inf_sulfur.name=Infinite Sulfur Tank -item.inf_diesel.name=Infinite Diesel Tank -item.inf_antimatter.name=Infinite Antimatter Tank -item.inf_antischrabidium.name=Infinite Antischrabidium Tank - -item.oil_canola.name=Raw Canola Oil - -item.canister_empty.name=Empty Canister -item.canister_smear.name=Industrial Oil Canister -item.canister_canola.name=Engine Lubricant -item.canister_oil.name=Crude Oil Canister -item.canister_fuel.name=Fuel Canister -item.canister_kerosene.name=Kerosene Canister -item.canister_reoil.name=Canister of Reclaimed Industrial Oil -item.canister_petroil.name=Petroil Canister -item.canister_napalm.name=Napalm B -item.canister_NITAN.name=NITAN© 100 Octane Super Fuel -item.gas_empty.name=Empty Gas Tank -item.gas_full.name=Gas Tank - -item.rod_empty.name=Emty Rod -item.rod_uranium.name=Uranium Rod -item.rod_u235.name=U235 Rod -item.rod_u238.name=U238 Rod -item.rod_plutonium.name=Plutonium Rod -item.rod_pu238.name=Pu238 Rod -item.rod_pu239.name=Pu239 Rod -item.rod_pu240.name=Pu240 Rod -item.rod_neptunium.name=Neptunium Rod -item.rod_lead.name=Lead Rod -item.rod_schrabidium.name=Schrabidium Rod -item.rod_astatine.name=Euphemium Rod -item.rod_australium.name=Australium Rod -item.rod_weidanium.name=Weidanium Rod -item.rod_reiium.name=Reiium Rod -item.rod_unobtainium.name=Unobtainium Rod -item.rod_daffergon.name=Daffergon Rod -item.rod_verticium.name=Verticium Rod - -item.rod_dual_empty.name=Emty Dual Rod -item.rod_dual_uranium.name=Uranium Dual Fl Rod -item.rod_dual_u235.name=U235 Dual Rod -item.rod_dual_u238.name=U238 Dual Rod -item.rod_dual_plutonium.name=Plutonium Dual Rod -item.rod_dual_pu238.name=Pu238 Dual Rod -item.rod_dual_pu239.name=Pu239 Dual Rod -item.rod_dual_pu240.name=Pu240 Dual Rod -item.rod_dual_neptunium.name=Neptunium Dual Rod -item.rod_dual_lead.name=Lead Dual Rod -item.rod_dual_schrabidium.name=Schrabidium Dual Rod - -item.rod_quad_empty.name=Emty Quad Rod -item.rod_quad_uranium.name=Uranium Quad Rod -item.rod_quad_u235.name=U235 Quad Rod -item.rod_quad_u238.name=U238 Quad Rod -item.rod_quad_plutonium.name=Plutonium Quad Rod -item.rod_quad_pu238.name=Pu238 Quad Rod -item.rod_quad_pu239.name=Pu239 Quad Rod -item.rod_quad_pu240.name=Pu240 Quad Rod -item.rod_quad_neptunium.name=Neptunium Quad Rod -item.rod_quad_lead.name=Lead Quad Rod -item.rod_quad_schrabidium.name=Schrabidium Quad Rod - -item.rod_uranium_fuel_depleted.name=Depleted Uranium Fuel Rod -item.rod_dual_uranium_fuel_depleted.name=Depleted Uranium Dual Fuel Rod -item.rod_quad_uranium_fuel_depleted.name=Depleted Uranium Quad Fuel Rod -item.rod_plutonium_fuel_depleted.name=Depleted Plutonium Fuel Rod -item.rod_dual_plutonium_fuel_depleted.name=Depleted Plutonium Dual Fuel Rod -item.rod_quad_plutonium_fuel_depleted.name=Depleted Plutonium Quad Fuel Rod -item.rod_mox_fuel_depleted.name=Depleted MOX Fuel Rod -item.rod_dual_mox_fuel_depleted.name=Depleted MOX Dual Fuel Rod -item.rod_quad_mox_fuel_depleted.name=Depleted MOX Quad Fuel Rod -item.rod_schrabidium_fuel_depleted.name=Depleted Schrabidium Fuel Rod -item.rod_dual_schrabidium_fuel_depleted.name=Depleted Schrabidium Dual Fuel Rod -item.rod_quad_schrabidium_fuel_depleted.name=Depleted Schrabidium Quad Fuel Rod - -item.rod_waste.name=Nuclear Waste Rod -item.rod_dual_waste.name=Nuclear Waste Dual Rod -item.rod_quad_waste.name=Nuclear Waste Quad Rod - -item.gun_rpg.name=Rocket Launcher -item.gun_rpg_ammo.name=Rocket - -item.flame_pony.name=Painting of a Cartoon Pony -item.flame_conspiracy.name=Conspiracy Theory -item.flame_politics.name=Political Topic -item.flame_opinion.name=Own Opinion - -item.pellet_cluster.name=Explosive Pellets -item.pellet_buckshot.name=Lead Pellets -item.powder_fire.name=Flame Powder -item.powder_ice.name=Cryo Powder -item.powder_poison.name=Poison Powder -item.pellet_gas.name=Poison Gas Cartridge -item.magnetron.name=Magnetron -item.powder_thermite.name=Thermite - -item.nuke_starter_kit.name=Atomic Science Starter Kit -item.nuke_commercially_kit.name=Atomic Science Kit for Commercial Uses -item.nuke_advanced_kit.name=Atomic Science Advanced Kit -item.gadget_kit.name=The Gadget Kit -item.boy_kit.name=Little Boy Kit -item.man_kit.name=Fat Man Kit -item.mike_kit.name=Ivy Mike Kit -item.tsar_kit.name=Tsar Bomba Kit -item.fleija_kit.name=F.L.E.I.J.A. Kit -item.multi_kit.name=Multi Purpose Bomb Kit -item.grenade_kit.name=Grenade Kit -item.nuke_electric_kit.name=Electronic Engineer's Kit -item.prototype_kit.name=Prototype Kit -item.missile_kit.name=Missile Kit -item.t45_kit.name=T45 Power Armor Kit -item.euphemium_kit.name=Euphemium Kit - -tile.waste_earth.name=Dead Grass -tile.waste_trinitite.name=Trinitite Ore -tile.waste_trinitite_red.name=Red Trinitite Ore -tile.waste_log.name=Charred Log -tile.waste_planks.name=Charred Wooden Planks - -item.trinitite.name=Trinitite -item.nuclear_waste.name=Nuclear Waste -item.scrap.name=Scrap - -item.ingot_uranium_fuel.name=Ingot of Uranium Fuel -item.ingot_plutonium_fuel.name=Ingot of Plutonium Fuel -item.ingot_mox_fuel.name=Ingot of MOX Fuel -item.ingot_schrabidium_fuel.name=Ingot of Schrabidium Fuel - -item.nugget_uranium_fuel.name=Nugget of Uranium Fuel -item.nugget_plutonium_fuel.name=Nugget of Plutonium Fuel -item.nugget_mox_fuel.name=Nugget of MOX Fuel -item.nugget_schrabidium_fuel.name=Nugget of Schrabidium Fuel - -item.grenade_generic.name=Grenade -item.grenade_strong.name=Enhanced Grenade -item.grenade_frag.name=Frag Grenade -item.grenade_fire.name=Flame Frag Grenade -item.grenade_shrapnel.name=Shrapnel Grenade -item.grenade_cluster.name=Cluster Bomb -item.grenade_flare.name=Flare Grenade -item.grenade_electric.name=Lightning Bomb -item.grenade_poison.name=Poison Grenade -item.grenade_gas.name=Gas Grenade -item.grenade_pulse.name=Impulse Grenade -item.grenade_plasma.name=Plasma Grenade -item.grenade_tau.name=Tau Grenade -item.grenade_schrabidium.name=Schrabidium Grenade -item.grenade_lemon.name=Combustible Lemon -item.grenade_mk2.name=Mk 2 Grenade "Ambassador Pineapple" -item.grenade_aschrab.name=Tossable Antischrabidium Cell -item.grenade_nuke.name=Mark VI Drill Grenade -item.grenade_nuclear.name=Nuka Grenade -item.grenade_zomg.name=Negative Energy Pair Annihilation Grenade -item.grenade_black_hole.name=Black Hole Grenade -item.ullapool_caber.name=Ullapool Caber - -item.rod_uranium_fuel.name=Uranium Fuel Rod -item.rod_dual_uranium_fuel.name=Uranium Dual Fuel Rod -item.rod_quad_uranium_fuel.name=Uranium Quad Fuel Rod -item.rod_plutonium_fuel.name=Plutonium Fuel Rod -item.rod_dual_plutonium_fuel.name=Plutonium Dual Fuel Rod -item.rod_quad_plutonium_fuel.name=Plutonium Quad Fuel Rod -item.rod_mox_fuel.name=MOX Fuel Rod -item.rod_dual_mox_fuel.name=MOX Dual Fuel Rod -item.rod_quad_mox_fuel.name=MOX Quad Fuel Rod -item.rod_schrabidium_fuel.name=Schrabidium Fuel Rod -item.rod_dual_schrabidium_fuel.name=Schrabidium Dual Fuel Rod -item.rod_quad_schrabidium_fuel.name=Schrabidium Quad Fuel Rod - -item.rod_water.name=Water Cell -item.rod_dual_water.name=Dual Water Cell -item.rod_quad_water.name=Quad Water Cell - -item.rod_coolant.name=Coolant Cell -item.rod_dual_coolant.name=Dual Coolant Cell -item.rod_quad_coolant.name=Quad Coolant Cell - -item.rod_lithium.name=Lithium Rod -item.rod_dual_lithium.name=Dual Lithium Rod -item.rod_quad_lithium.name=Quad Lithium Rod - -item.rod_tritium.name=Tritium Cell -item.rod_dual_tritium.name=Dual Tritium Cell -item.rod_quad_tritium.name=Quad Tritium Cell - -item.levitation_unit.name=Gravity Manipulator -item.thermo_unit_empty.name=Thermic Distribution Unit -item.thermo_unit_endo.name=Coldness Distribution Unit -item.thermo_unit_exo.name=Heat Distribution Unit - -item.bomb_waffle.name=Waffle of Mass Destruction -item.schnitzel_vegan.name=Vegan Schnitzel -item.apple_schrabidium.name=Schrabidium Apple -item.cotton_candy.name=Radioactive Cotton Candy -item.tem_flakes.name=Tem Flakes -item.glowing_stew.name=Glowing Mushroom Stew -item.lemon.name="Lemon" - -tile.frozen_grass.name=Frozen Grass -tile.frozen_dirt.name=Frozen Dirt -tile.frozen_log.name=Frozen Log -tile.frozen_planks.name=Frozen Planks - -tile.tape_recorder.name=Tape Recorder -tile.steel_poles.name=Steel Pole -tile.pole_top.name=Antenna Top -tile.pole_satellite_receiver.name=Satellite Receiver -tile.steel_wall.name=Steel Wall -tile.steel_corner.name=Steel Wall Corner -tile.steel_roof.name=Flat Steel Roof -tile.steel_beam.name=Steel Beam -tile.steel_scaffold.name=Steel Scaffold - -item.gun_revolver_iron.name=Simple Revolver -item.gun_revolver.name=Enhanced Revolver -item.gun_revolver_gold.name=Golden Revolver -item.gun_revolver_lead.name=Nuka Revolver -item.gun_revolver_schrabidium.name=Schrabidium Revolver -item.gun_revolver_cursed.name=Cursed Revolver -item.gun_revolver_nightmare.name=Nightmare Revolver (Original) -item.gun_revolver_nightmare2.name=Nightmare Revolver (Dark) -item.gun_fatman.name=M42 Nuclear Catapult "Fat Man" -item.gun_mirv.name=M42 Nuclear Catapult "Experimental MIRV" -item.gun_bf.name=M42_2 Nuclear Catapult "Antimatter Launcher" -item.gun_mp40.name=Submachine Gun -item.gun_uboinik.name=Uboinik -item.gun_xvl1456.name=XVL1456 Tau Cannon Prototype -item.gun_osipr.name=Overwatch Standard Issue Pulse Rifle -item.gun_immolator.name=The Immolator -item.gun_cryolator.name=The Cryolator -item.gun_mp.name=Pacifist's Machine Gun -item.gun_zomg.name=Singularity Powered Annihilation Ray "ZOMG Cannon" -item.gun_emp.name=EMP Ray -item.gun_super_shotgun.name=Super Shotgun -item.gun_moist_nugget.name=Mosin-Nagant -item.gun_revolver_inverted.name=Flipped Revolver -item.gun_jack.name=Jackhammer -item.gun_spark.name=Spark Plug -item.gun_hp.name=HPP Lazerjet -item.gun_euthanasia.name=Euthanasia -item.gun_defabricator.name=Defabricator - -item.gun_revolver_iron_ammo.name=Bullet -item.gun_revolver_ammo.name=Lead Bullet -item.gun_revolver_gold_ammo.name=Golden Bullet -item.gun_revolver_lead_ammo.name=Glass Covered Nuclear Bullet -item.gun_revolver_schrabidium_ammo.name=Schrabidium Bullet -item.gun_revolver_cursed_ammo.name=Steel Bullet -item.gun_revolver_nightmare_ammo.name=Nightmare Bullet -item.gun_revolver_nightmare2_ammo.name=Laser Buckshot -item.gun_fatman_ammo.name=Mini Nuke -item.gun_mirv_ammo.name=Eightfold MIRV -item.gun_bf_ammo.name=Mk.V Compact AMAT-Artillery Shell - Type B.F. -item.gun_mp40_ammo.name=Submachine Gun Round -item.gun_uboinik_ammo.name=12x70 Buckshot -item.gun_xvl1456_ammo.name=Depleted Uranium-235 Box -item.gun_osipr_ammo.name=Dark Energy Pulse Plug -item.gun_osipr_ammo2.name=Combine Ball -item.gun_immolator_ammo.name=Immolator Fuel -item.gun_cryolator_ammo.name=Cryo Cell -item.gun_mp_ammo.name=Small Propellantless Machine Gun Round -item.gun_emp_ammo.name=Energy Cell -item.gun_jack_ammo.name=Quadruple Shotgun Shell -item.gun_spark_ammo.name=Electromagnetic Cartridge -item.gun_hp_ammo.name=Ink Cartridge -item.gun_euthanasia_ammo.name=Syringe -item.gun_defabricator_ammo.name=Defabricator Energy Cell - -item.clip_revolver_iron.name=Box of Iron Rounds -item.clip_revolver.name=Box of .357 Rounds -item.clip_revolver_gold.name=Small Coffer of Golden Bullets -item.clip_revolver_schrabidium.name=Schrabidium Ammo Container -item.clip_rpg.name=Rocket Container -item.clip_xvl1456.name=Large Isotope Box -item.clip_osipr.name=AR2 Magazine -item.clip_immolator.name=Tank of Immolator Fuel -item.clip_cryolator.name=Tank of Cryolator Fuel -item.clip_revolver_lead.name=Box of Nuclear Bullets -item.clip_revolver_cursed.name=Britannia Military Standard Issue Pisol Magazine -item.clip_fatman.name=Six Pack of Mini Nukes -item.clip_mirv.name=Three-In-One Pack of Mini MIRVs -item.clip_bf.name=BF-Shell Double Pack -item.clip_mp.name=Britannia Military Standard Issue Assult Rifle Magazine -item.clip_mp40.name=9mm SMG Magazine -item.clip_uboinik.name=Box of Buckshot Rounds -item.clip_emp.name=Small Pack of Energy Cells -item.clip_revolver_nightmare.name=Bag of Bullets -item.clip_revolver_nightmare2.name=Belt with Laser Buckshot - -tile.block_schrabidium.name=Block of Schrabidium -item.plate_gold.name=Gold Plate - -item.syringe_empty.name=Empty Syringe -item.syringe_antidote.name=Antidote -item.syringe_poison.name=Poisonous Injection -item.syringe_awesome.name=AWESOME -item.syringe_metal_empty.name=Metal Syringe -item.syringe_metal_stimpak.name=Stimpak -item.syringe_metal_medx.name=Med-X -item.syringe_metal_psycho.name=Psycho -item.pill_iodine.name=Iodine Pill -item.plan_c.name=Plan C - -item.stealth_boy.name=Stealth Device - -entity.hbm.entity_bullet.name=Bullet -entity.hbm.entity_rocket.name=Rocket -entity.hbm.entity_schrabnel.name=Schrabnel -entity.entity_mob_nuclear_creeper.name=Nuclear Creeper -entity.entity_mob_hunter_chopper.name=Hunter ChopperCreeper -entity.entity_cyber_crab.name=Cyber Crab - -item.cap_aluminium.name=Aluminium Cap -item.hull_small_steel.name=Small Steel Shell -item.hull_small_aluminium.name=Small Aluminium Shell -item.hull_big_steel.name=Big Steel Shell -item.hull_big_aluminium.name=Big Aluminium Shell -item.hull_big_titanium.name=Big Titanium Shell -item.fins_flat.name=Flat Steel Casing -item.fins_small_steel.name=Small Steel Grid Fins -item.fins_big_steel.name=Big Steel Grid Fins -item.fins_tri_steel.name=Large Steel Fins -item.fins_quad_titanium.name=Small Titanium Fins -item.sphere_steel.name=Steel Sphere -item.pedestal_steel.name=Steel Pedestal -item.dysfunctional_reactor.name=Dysfunctional Nuclear Reactor - -item.rotor_steel.name=Large Steel Rotor -item.generator_steel.name=Generator Body -item.blade_titanium.name=Titanium Blade -item.turbine_titanium.name=Titanium Steam Turbine -item.generator_front.name=Generator Front - -item.combine_scrap.name=CMB Scrap Metal -item.chopper_head.name=Hunter Chopper Cockpit -item.chopper_gun.name=Emplacement Gun -item.chopper_torso.name=Hunter Chopper Body -item.chopper_tail.name=Hunter Chopper Tail -item.chopper_wing.name=Hunter Chopper Wing -item.chopper_blades.name=Hunter Chopper Rotor Blades - -item.igniter.name=Igniter -item.watch.name=Broken Pocket Watch -item.apple_astatine.name=Euphemium Apple -item.ingot_astatine.name=Euphemium Ingot -item.nugget_astatine.name=Euphemium Nugget -item.rod_quad_astatine.name=Burned Out Quad Schrabidium Fuel Rod - -item.astatine_helmet.name=Euphemium Helemt -item.astatine_plate.name=Euphemium Chestplate -item.astatine_legs.name=Euphemium Leggings -item.astatine_boots.name=Euphemiums Boots - -item.schrabidium_helmet.name=Schrabidium Helmet -item.schrabidium_plate.name=Schrabidium Chestpate -item.schrabidium_legs.name=Schrabidium Leggings -item.schrabidium_boots.name=Schrabidium Boots -item.schrabidium_sword.name=Schrabidium Sword -item.schrabidium_pickaxe.name=Schrabidium Pickaxe -item.schrabidium_axe.name=Schrabidium Axe -item.schrabidium_shovel.name=Schrabidium Shovel -item.schrabidium_hoe.name=Schrabidium Hoe - -item.chainsaw.name=Chainsaw -item.crowbar.name=Mk.V Crate Opening Device "Crowbar" - -item.mask_of_infamy.name=Mask of Infamy - -tile.det_cord.name=Det Cord -tile.det_charge.name=Explosive Charge -tile.red_barrel.name=Explosive Barrel -tile.yellow_barrel.name=Radioactive Barrel - -item.designator.name=Short Range Target Designator -item.designator_range.name=Long Range Target Designator -item.missile_generic.name=High Explosive Missile -item.missile_anti_ballistic.name=Anti Ballistic Missile (WIP) -item.missile_incendiary.name=Incendiary Missile -item.missile_cluster.name=Cluster Missile -item.missile_buster.name=Bunker Buster -item.missile_strong.name=Strong HE Missile -item.missile_incendiary_strong.name=Strong Incendiary Missile -item.missile_cluster_strong.name=Strong Cluster Missile -item.missile_buster_strong.name=Enhanced Bunker Buster -item.missile_burst.name=Spare Missile -item.missile_inferno.name=Inferno Missile G.R.N. Mk.II -item.missile_rain.name=Bomblet Rain -item.missile_drill.name=The Concrete Cracker -item.missile_nuclear.name=Nuclear Missile -item.missile_nuclear_cluster.name=Nuclear MIRV Missile -item.missile_endo.name=Endothermic Missile -item.missile_exo.name=Exothermic Missile - -item.hazmat_helmet.name=Hazmat Helmet -item.hazmat_plate.name=Hazmat Chestplate -item.hazmat_legs.name=Hazmat Leggings -item.hazmat_boots.name=Hazmat Boots -item.hazmat_paa_helmet.name=PaA Battle Hazmat Suit Helmet -item.hazmat_paa_plate.name=PaA Battle Hazmat Suit Chestplate -item.hazmat_paa_legs.name=PaA Battle Hazmat Suit Leggings -item.hazmat_paa_boots.name=PaA Battle Hazmat Suit Boots -item.asbestos_helmet.name=Fire Proximity Helmet -item.asbestos_plate.name=Fire Proximity Chestplate -item.asbestos_legs.name=Fire Proximity Leggings -item.asbestos_boots.name=Fire Proximity Boots - -item.paa_plate.name=PaA Chest Protection Plate -item.paa_legs.name=PaA Leg Reinforcements -item.paa_boots.name=PaA "good ol' shoes" - -item.goggles.name=Protection Goggles -item.gas_mask.name=Gas Mask -item.oxy_mask.name=Oxygen Mask -item.t45_helmet.name=T45 Power Armor Helmet -item.t45_plate.name=T45 Power Armor Chestplate -item.t45_legs.name=T45 Power Armor Leggings -item.t45_boots.name=T45 Power Armor Boots - -tile.mush.name=Glowing Mushroom -tile.waste_mycelium.name=Glowing Mycelium - -item.warhead_generic_small.name=Small Warhead -item.warhead_generic_medium.name=Medium Warhead -item.warhead_generic_large.name=Large Warhead -item.warhead_incendiary_small.name=Small Incendiary Warhead -item.warhead_incendiary_medium.name=Medium Incendiary Warhead -item.warhead_incendiary_large.name=Large Incendiary Warhead -item.warhead_cluster_small.name=Small Cluster Warhead -item.warhead_cluster_medium.name=Medium Cluster Warhead -item.warhead_cluster_large.name=Large Cluster Warhead -item.warhead_buster_small.name=Small Bunker Buster Warhead -item.warhead_buster_medium.name=Medium Bunker Buster Warhead -item.warhead_buster_large.name=Large Bunker Buster Warhead -item.warhead_nuclear.name=Nuclear Warhead -item.warhead_mirvlet.name=MIRV -item.warhead_mirv.name=Eightfold MIRV Warhead -item.warhead_thermo_endo.name=Endothermic Warhead -item.warhead_thermo_exo.name=Exothermic Warhead -item.fuel_tank_small.name=Small Fuel Tank -item.fuel_tank_medium.name=Medium Fuel Tank -item.fuel_tank_large.name=Large Fuel Tank -item.thruster_small.name=Small Thruster -item.thruster_medium.name=Medium Thruster -item.thruster_large.name=Large Thruster - -item.wand_k.name=Construction Wand -item.wand_s.name=Structure Wand -item.wand_d.name=Debug Wand - -item.screwdriver.name=Screwdriver -item.overfuse.name=Singularity Screwdriver - -item.steel_helmet.name=Steel Helmet -item.steel_plate.name=Steel Chestplate -item.steel_legs.name=Steel Leggings -item.steel_boots.name=Steel Boots -item.titanium_helmet.name=Titanium Helmet -item.titanium_plate.name=Titanium Chestplate -item.titanium_legs.name=Titanium Leggings -item.titanium_boots.name=Titanium Boots -item.alloy_helmet.name=Advanced Alloy Helmet -item.alloy_plate.name=Advanced Alloy Chestplate -item.alloy_legs.name=Advanced Alloy Leggings -item.alloy_boots.name=Advanced Alloy Boots -item.cmb_helmet.name=CMB Steel Helmet -item.cmb_plate.name=CMB Steel Chestplate -item.cmb_legs.name=CMB Steel Leggings -item.cmb_boots.name=CMB Steel Boots - -item.steel_sword.name=Steel Sword -item.steel_pickaxe.name=Steel Pickaxe -item.steel_axe.name=Steel Axe -item.steel_shovel.name=Steel Shovel -item.steel_hoe.name=Steel Hoe -item.titanium_sword.name=Titanium Sword -item.titanium_pickaxe.name=Titanium Pickaxe -item.titanium_axe.name=Titanium Axe -item.titanium_shovel.name=Titanium Shovel -item.titanium_hoe.name=Titanium Hoe -item.alloy_sword.name=Advanced Alloy Sword -item.alloy_pickaxe.name=Advanced Alloy Pickaxe -item.alloy_axe.name=Advanced Alloy Axe -item.alloy_shovel.name=Advanced Alloy Shovel -item.alloy_hoe.name=Advanced Alloy Hoe -item.cmb_sword.name=CMB Steel Sword -item.cmb_pickaxe.name=CMB Steel Pickaxe -item.cmb_axe.name=CMB Steel Axe -item.cmb_shovel.name=CMB Steel Shovel -item.cmb_hoe.name=CMB Steel Hoe -item.elec_sword.name=Stunstick -item.elec_pickaxe.name=Impact Drill -item.elec_axe.name=Electric Chainsaw -item.elec_shovel.name=Spiral Drill - -tile.red_cable.name=Red Copper Cable -tile.block_meteor.name=Meteor Block - -item.cape_radiation.name=Cape (Radiation) -item.cape_gasmask.name=Cape (Gas Mask) -item.cape_schrabidium.name=Cape (Schrabidic) -item.cape_hbm.name=Hbm's Cape -item.cape_dafnik.name=Dafnik's Cape -item.cape_lpkukin.name=LPkukin's Cape -item.cape_vertice.name=Lord Vertice's Cape - -tile.machine_converter_he_rf.name=HE to RF Converter -tile.machine_converter_rf_he.name=RF to HE Converter - -item.schrabidium_hammer.name=Schrabidium Hammer -item.euphemium_stopper.name=Stopper -item.matchstick.name=Matchstick -item.remote.name=Broken Remote - -item.redcoil_capacitor.name=Redcoil Capacitor -item.detonator.name=Detonator -item.crate_caller.name=Supply Drop Requester - -item.ingot_hes.name=Highly Enriched Schrabidium Fuel Ingot -item.ingot_les.name=Low Enriched Schrabidium Fuel Ingot -item.nugget_hes.name=Highly Enriched Schrabidium Fuel Nugget -item.nugget_les.name=Low Enriched Schrabidium Fuel Nugget - -item.pellet_schrabidium.name=Pure Schrabidium Watz Pellet -item.pellet_hes.name=HES Watz Pellet -item.pellet_mes.name=MES Watz Pellet -item.pellet_les.name=LES Watz Pellet -item.pellet_beryllium.name=Beryllium Moderator Pellet -item.pellet_neptunium.name=Neptunium Watz Pellet -item.pellet_lead.name=Lead Reflector Pellet -item.pellet_advanced.name=Advanced Watz Performance Improver - -item.titanium_filter.name=Titanium Filter - -tile.mud_block.name=Poisonous Mud -fluid.mud_fluid=Poisonous Mud -item.bucket_mud.name=Bucket of Poisonous Mud -tile.acid_block.name=Acid -fluid.acid_fluid=Acid -item.bucket_acid.name=Bucket of Acid -tile.toxic_block.name=Stereotypical Green Ooze -fluid.toxic_fluid=Stereotypical Green Ooze -item.bucket_toxic.name=Bucket of Stereotypical Green Ooze -item.tank_waste_0.name=Mud Container -item.tank_waste_1.name=Mud Container -item.tank_waste_2.name=Mud Container -item.tank_waste_3.name=Mud Container -item.tank_waste_4.name=Mud Container -item.tank_waste_5.name=Mud Container -item.tank_waste_6.name=Mud Container -item.tank_waste_7.name=Mud Container -item.tank_waste_8.name=Mud Container - -item.can_empty.name=Empty Can -item.can_smart.name='Smart' Energy Drink -item.can_creature.name='Creature' Energy Drink -item.can_redbomb.name='Red Bomb' Energy Drink -item.can_mrsugar.name='Dr. Sugar' Soft Drink -item.can_overcharge.name=Overcharge Delirium XT -item.bottle_empty.name=Empty Bomb-Shaped Bottle -item.bottle_nuka.name=Bottle of Nuka Cola -item.bottle_cherry.name=Bottle of Nuka Cherry -item.bottle_quantum.name=Bottle of Nuka Cola Quantum -item.bottle2_empty.name=Empty Bottle -item.bottle2_korl.name=Korl -item.bottle2_fritz.name=Fritz Cola -item.bottle2_korl_special.name=The First Korl -item.bottle2_fritz_special.name=The First Fritz Cola -item.chocolate_milk.name=Chocolate Milk -item.cap_nuka.name=Nuka Cola Bottle Cap -item.cap_quantum.name=Nuka Cola Quantum Bottle Cap -item.cap_korl.name=Korl Bottle Cap -item.cap_fritz.name=Fritz Cola Bottle Cap -item.ring_pull.name=Ring Pull - -item.bottle_opener.name=Hbm's Own Self-Made Bottle Opener - -item.blades_aluminium.name=Aluminium Shredder Blades -item.blades_gold.name=Golden Shredder Blades -item.blades_iron.name=Iron Shredder Blades -item.blades_steel.name=Steel Shredder Blades -item.blades_titanium.name=Titanium Shredder Blades -item.blades_advanced_alloy.name=Advanced Shredder Blades -item.blades_combine_steel.name=CMB Shredder Blades -item.blades_schrabidium.name=Schrabidium Shredder Blades - -item.part_lithium.name=Box of Lithium Dust -item.part_beryllium.name=Box of Beryllium Dust -item.part_carbon.name=Box of Carbon Dust -item.part_copper.name=Box of Copper Dust -item.part_plutonium.name=Box of Plutonium Dust - -item.crystal_energy.name=Energy Crystal -item.pellet_coolant.name=Coolant Cluster - -item.linker.name=Telelinker -item.oil_detector.name=Oil Reservoir Detector - -item.thermo_element.name=Thermoelectric Element -item.limiter.name=Generator Limiter - -item.multitool_dig.name=Power Fist (Digging Claw) -item.multitool_silk.name=Power Fist (Silk Touch Claw) -item.multitool_ext.name=Power Fist (Ore Extracter) -item.multitool_miner.name=Power Fist (Extracting Mining Laser) -item.multitool_hit.name=Power Fist (Fist) -item.multitool_beam.name=Power Fist (Zapper) -item.multitool_sky.name=Power Fist (Crack the Sky) -item.multitool_mega.name=Power Fist (Super Punch) -item.multitool_joule.name=Power Fist (Giga Joule) -item.multitool_decon.name=Power Fist (Decontaminator) - -item.australium_iii.name=Mark III Life Extender -item.australium_iv.name=Mark IV Life Extender -item.australium_v.name=Mark V Life Extender - -item.weapon_saw.name=Doctor Assisted Homicide -item.weapon_bat.name=Richard's Default -item.weapon_bat_nail.name=The Cliché -item.weapon_golf_club.name=Russian Mobster's Club -item.weapon_pipe_rusty.name=The Attitude Adjuster -item.weapon_pipe_lead.name=The Manual Override -item.reer_graar.name=The Reer Graar - -item.letter.name=Express Mail -item.polaroid.name=The Polaroid -item.book_secret.name=3-596-50802-9 - -item.crystal_horn.name=Crystal Horn -item.crystal_charred.name=Charred Crystal -item.ingot_lanthanium.name=Semi-Stable Lanthanium Ingot -item.ingot_actinium.name=Semi-Stable Actinium Ingot - -tile.dummy_block.name=Dummy Block -tile.dummy_port.name=Dummy Block (Electricity Port) - -item.chopper.name=Hunter Chopper - -item.nothing.name=Nothing - -tile.crystal_virus.name=Dark Crystal -tile.crystal_hardened.name=Hardened Dark Crystal -tile.crystal_pulsar.name=Pulsating Crystal - -tile.cheater_virus.name=Gelid Euphemium -tile.cheater_virus_seed.name=Unstable Euphemium Schrabide Block \ No newline at end of file diff --git a/src/main/resources/assets/hbm/lang/uk_UA.lang b/src/main/resources/assets/hbm/lang/uk_UA.lang new file mode 100644 index 000000000..8d019103e --- /dev/null +++ b/src/main/resources/assets/hbm/lang/uk_UA.lang @@ -0,0 +1,6224 @@ +achievement.acidizer.desc=уфф ай моя шкіра +achievement.acidizer=Кислюка +achievement.assembly.desc=Зачекайте, вже година ночі? +achievement.assembly=Завод розширяється +achievement.FOEQ.desc=Відправте ретранслятор на марсінську... я маю на увазі дюніанську орбіту. +achievement.FOEQ=Бункери з пегасами та ракетами +achievement.breeding.desc=Дякую вам, блогослови вас Господь, і благослови Бог Сполучені Штати Америки +achievement.breeding=Іронічно +achievement.bismuth.desc=Пам'ятаєте як люди скаржилися на це протягом місяця? Я пам'ятаю. +achievement.bismuth=Вісмут +achievement.blastFurnace.desc=Вони розібрали затонулий дредноут для "Експлорера-1". +achievement.blastFurnace=Вугілля та залізо +achievement.bossCreeper.desc='Це і є ядерні кріпери? Оця штука?!' +achievement.bossCreeper=Бомба на чотирьох ногах +achievement.bossMaskman.desc=Наваляти великому хлопчику. +achievement.bossMaskman=6 місяців строкової служби і все, що я отримав, - це паршива футболка +achievement.bossMeltdown.desc=Скоріше жахливо, ніж чудово, але я прийму те що можу отримати. +achievement.bossMeltdown=3.6 Рентген +achievement.bossWorm.desc=Просто маленький металевий хробак. +achievement.bossWorm=Розбирання Баллс-О-Трон +achievement.bossUFO.desc=Йо, що у нас тут? Величазний космічний корабель наближається до блок-корабля? +achievement.bossUFO=Ай Лмао +achievement.burnerPress.desc=Тиск тисне і на мене, і на тебе +achievement.burnerPress=Під тиском +achievement.c20_5.desc=??? +achievement.c20_5=Розділ [ДВАДЦЯТЬ_ПУНКТ_П'ЯТИЙ] +achievement.c44.desc=Гальванізований! Я маю на увазі, цинк! +achievement.c44=Розділ 44 +achievement.centrifuge.desc=відцентрова сила це фейк не @ мене +achievement.centrifuge=Відцентрова сила +achievement.chemplant.desc=Тепер ти думаєш хімікатами! +achievement.chemplant=Завод розширяється Частина 2 +achievement.chicagoPile.desc="Як там тубільці?" / "Дуже доброзичливі." +achievement.chicagoPile=Мореплавець висадився в Новому Світі +achievement.concrete.desc=Улюбленець більшовиків. +achievement.concrete=Старий добрий +achievement.desh.desc="Ну ж бо, ви всі. По місцях!" +achievement.desh=Левер'є +achievement.digammaFeel.desc=Мої очі кровоточать +achievement.digammaFeel=СВІТ СМІТТЯ, НАПОВНЕНИЙ КАНАЛІЗАЦІЙНИМИ СТОКАМИ +achievement.digammaKauaiMoho.desc=Все жахливо, ось трохи гарячого шоколаду. +achievement.digammaKauaiMoho=СПІВАЙ, СПІВАЙ МЕНІ ПІСНЮ АЛАКАЙСЬКОГО МОГО +achievement.digammaKnow.desc=того, що являє собою цей світ. +achievement.digammaKnow=ЖАХ УСВІДОМЛЕННЯ +achievement.digammaSee.desc=Трохи темно, візьміть з собою ліхтарик. +achievement.digammaSee=В БЕЗОДНЮ +achievement.digammaUpOnTop.desc=Милуйся моїм сином,він мій клон. +achievement.digammaUpOnTop=МИЛУЙСЯ МНОЮ, МИЛУЙСЯ МОЇМ ДОМОМ +achievement.fiend.desc=Будь жорстоким. +achievement.fiend2.desc=Будь жорстокішим. +achievement.fiend2=Правопорушник 2: Delinquent Harder +achievement.fiend=Правопорушник +achievement.freytag.desc=Herold's life guards +achievement.freytag=Фрейтаг +achievement.fusion.desc=Танець дейтронів, тритонів та енергії. +achievement.fusion=Синтез +achievement.gasCent.desc=Незбагачений уран ненавидить його! +achievement.gasCent=Стиль Блискавки +achievement.goFish.desc=Морське розп'яття +achievement.goFish=Іди порибач +achievement.hidden.desc=Убийте зараженого кріпера падаючим товарним вагоном. +achievement.hidden=Прихований каталог +achievement.horizonsBonus.desc=чесне слово що вбіса з тобою не так +achievement.horizonsBonus=Слем-данк діарея +achievement.horizonsEnd.desc=Відправте Тома додому. +achievement.horizonsEnd=Горизонти +achievement.horizonsStart.desc=ВІдправте парубка на місяць. +achievement.horizonsStart=Апогей +achievement.impossible.desc=Ти не можеш отримати це досягнення. +achievement.impossible=Буквально неможливо +achievement.inferno.desc="Перетворіть його на попіл! Цього недостатньо! Скидайте ще бомби!" +achievement.inferno=Операція Канібал +achievement.manhattan.desc=8:15; 6 серпня, 1945 рік +achievement.manhattan=Манхеттенський проект +achievement.meltdown.desc=Ти зайшов так далеко, як ти міг все зіпсувати? +achievement.meltdown=Швидке позапланове розбирання +achievement.no9.desc="Сподіваюся, свинець, який я видобуваю, буде використаний у вашій фарбі" +achievement.no9=Старий номер дев'ять +achievement.omega12.desc=Вирішіть проблему продовження життя на цій нещасній планеті. +achievement.omega12=Прискорювач частинок Омега-12 +achievement.polymer.desc=Смачний, смачний мікропластик +achievement.polymer=Тефлон +achievement.potato.desc=Агх! Птах! Птах! Вбий його! Це зло! +achievement.potato=Повстання машин +achievement.radDeath.desc=Марія Кюрі винайшла теорію радіоактивності, лікування радіоактивності та смерть від радіоактивності. +achievement.radDeath=Ауч, Радіація! +achievement.radium.desc=ТЕБЕ ЗВІЛЬНЕНО ЗА ТЕ ЩО ТИ ВИЛИВ РАДІЙ У МОЮ КАВУ! +achievement.radium=МІСТЕР НЕЙМОВІРНИЙ +achievement.radPoison.desc=Зазнайте наслідків радіаційного отруєння. +achievement.radPoison=Ура, радіація! +achievement.RBMKBoom.desc=Яка ціна брехні? +achievement.RBMKBoom=15,000. +achievement.RBMK.desc=Він марить, відправте його в лазарет. +achievement.RBMK=3.6 Рентген? +achievement.redBalloons.desc="Це те, на що ми чекали. Це воно, хлопці, це війна" +achievement.redBalloons=99 Luftballons +achievement.redRoom.desc=? +achievement.redRoom=Інша сторона +achievement.sacrifice.desc=Зустрінься обличчям до обличчя з вогнем і виживи. +achievement.sacrifice=Сестровбивство +achievement.schrab.desc=Як би там не було, я б не дивився на це надто довго. +achievement.schrab=Острів стабільності +achievement.selenium.desc=О, так! +achievement.selenium=XVIII The Moon +achievement.SILEX.desc=Це крутіше, ніж звучить, я обіцяю. +achievement.SILEX=Лазерне розділення ізотопів +achievement.slimeball.desc= +achievement.slimeball=Я повинен занурити свої яйця в сірчану кислоту. +achievement.stratum.desc=Тисни на гальма, Міттс. +achievement.stratum=Пласт +achievement.someWounds.desc=Приготуватися +achievement.someWounds=Деякі рани ніколи не гояться +achievement.soyuz.desc=Станьте хрусткими. +achievement.soyuz=Запечена картопля +achievement.space.desc=Провались як тільки можна та розтратьте 90 мільйонів доларів в пусту +achievement.space=Останній Рубіж...Хоча ладно забий +achievement.sulfuric.desc= +achievement.sulfuric=Я не повинен був занурювати свої яйця в сірчану кислоту. +achievement.tantalum.desc=Невловимий, але завжди потрібний елемент. +achievement.tantalum="Тантал" +achievement.tasteofblood.desc=не є частиною протоколу тестування. +achievement.tasteofblood=Присмак крові +achievement.technetium.desc=Це цілюче, це цілюче! +achievement.technetium=Велика Людина, Людина-Свиня +achievement.watzBoom.desc=Наступного разу осушіть свій септик. +achievement.watzBoom=Огидно +achievement.watz.desc=Поле Фолькванґа також присутні. +achievement.watz=Сила Елемента-126 +achievement.witchtaunter.desc=Ці безглузді істоти нічого тобі не зроблять! +achievement.witchtaunter=Насміхальник над відьмами +achievement.ZIRNOXBoom.desc=кипіти погано +achievement.ZIRNOXBoom=ЧІРНОКС + +analyze.basic1======Компонент NTM===== +analyze.basic2=Додаткову документація можна знайти на вікі. +analyze.basic3====Додаткова інформація=== +analyze.dummy=Тип: Блок пустишка +analyze.error=Сумісність цього блоку не встановлено належним чином, про це слід повідомити як про помилку! +analyze.name=Назва: %s +analyze.noInfo=Немає інформації. + +armor.blastProtection=Модифікатор шкоди %s від вибухів +armor.cap=Hard damage cap of %s +armor.damageModifier=Модифікатор шкоди of %s проти %s +armor.dash=Дає %s ривка +armor.electricJetpack=Іонний реактивний ранець +armor.explosionImmune=Не може отримати жодної шкоди, окрім вибухів +armor.fasterReload=Швидка перезарядка +armor.fastFall=Швидке падіння +armor.fireproof=Вогнестійкість +armor.fullSetBonus=Бонус за повний набір: +armor.geigerHUD=Вбудований дісплей лічильника Гейгера +armor.geigerSound=Звуковий лічильник Гейгера +armor.glider=Shift щоб планувати +armor.gravity=Модифікатор гравітації %s +armor.hardLanding=Жорстка посадка +armor.ignoreLimit=Опір не залежить від ліміту опору +armor.modifier=Загальний модифікатор шкоди %s +armor.moreAmmo=Більше боєприпасів +armor.nullDamage=Блокування всієї шкоди від %s +armor.projectileProtection=Модифікатор шкоди %s від снарядів +armor.rocketBoots=Ракетні чоботи +armor.sprintBoost=Прискорений біг +armor.stepSize=Розмір кроку: %s +armor.thermal=Тепловий приціл +armor.threshold=Поріг шкоди %s +armor.vats=Детектор ворогів +armor.yield=Захист застосовується до шкоди <%s + +armorMod.all=До всього +armorMod.applicableTo=Застосовується до: +armorMod.boots=Чобот +armorMod.chestplates=Нагрудника +armorMod.helmets=Шолома +armorMod.insertHere=Вставте броню, щоб модифікувати її... +armorMod.leggings=Наголінників +armorMod.type.battery=Акумулятор +armorMod.type.boots=Чоботи +armorMod.type.chestplate=Нагрудник +armorMod.type.cladding=Обшивка +armorMod.type.helmet=Шолом +armorMod.type.insert=Вставка +armorMod.type.leggings=Наголінники +armorMod.type.servo=Сервоприводи +armorMod.type.special=Спеціальне + +battery.mode.buffer=Буферний режим +battery.mode.input=Зарядка +battery.mode.off=Вимкнено +battery.mode.output=Розрядка +battery.priority.high=Пріорітет зарядки: Високий +battery.priority.high.desc=Аварійні буфери, які $завжди мають бути повними +battery.priority.low=Пріорітет зарядки: Низький +battery.priority.low.desc=Більшість випадків використання, коли$необхідно зберігати надлишкову енергію$не впливаючи на продуктивність машин +battery.priority.normal=Пріорітет зарядки: Звичайний +battery.priority.normal.desc=Невеликі енергомережі$де пріорітет не має значення +battery.priority.recommended=Рекомендується для: +battery.redstone.off=Редстоун вимкнений +battery.redstone.on=Редстоун ввімкнений + +bomb.detonated=Успішно підірвано! +bomb.incompatible=Пристрій не може бути запущений! +bomb.launched=Успішно запущено! +bomb.missingComponent=Бракує компонента! +bomb.nobomb=Пов’язана позиція несумісна або не прогружена! +bomb.triggered=Успішно активовано! + +book.test.cover=ЯК СЕКСАТИСЬ +book.test.page1=Test Page 1 + +book.error.cover=Адронний колайдер:$Усунення несправностей +book.error.title1=Error 0x01 [NC] +book.error.page1=§lName:§r "ERROR_NO_CHARGE" §lDescription:§r The particle has reached a segment with insufficient charge. §lPotential fix:§r Either replace one of the plugs that the particle successfully passes with higher-tier ones or add another plug slightly before the segment where the particle expires. +book.error.title2=Error 0x02 [NA] +book.error.page2=§lName:§r "ERROR_NO_ANALYSIS" §lDescription:§r The particle has reached the core, despite not passing an analysis chamber. §lPotential fix:§r Make sure that your accelerator has an analysis chamber and double-check the operating mode (linear/circular). +book.error.title3=Error 0x03 [OC] +book.error.page3=§lName:§r "ERROR_OBSTRUCTED_CHANNEL" §lDescription:§r The particle has collided with a block inside the collider's channel. §lPotential fix:§r Make sure that the inside of your particle collider is free of any obstructions, except for particle diodes and core blocks. +book.error.title4=Error 0x04 [EC] +book.error.page4=§lName:§r "ERROR_EXPECTED_COIL" §lDescription:§r The particle has passed a segment that lacks one or multiple coils. §lPotential fix:§r Remove the plating of the collider in the offending area and check if all the coils are there. This error will also happen at T-crossings that are built without diodes. +book.error.title5=Error 0x05 [MS] +book.error.page5=§lName:§r "ERROR_MALFORMED_SEGMENT" §lDescription:§r The particle has passed a segment that was built incorrectly (but neither obstructed nor missing coils). §lPotential fix:§r Make sure that the offending segment has platings in all the required spaces, leaving no coils exposed. +book.error.title6=Error 0x06 [ATL] +book.error.page6=§lName:§r "ERROR_ANALYSIS_TOO_LONG" §lDescription:§r The particle has passed more than the three required valid analysis chamber segments. §lPotential fix:§r Make sure that the analysis chamber is exactly 3 blocks long for circular accelerator and at least 2 blocks long for linear ones. Also check if the particle doesn't pass multiple analysis chambers in a branching and/or looped accelerator. +book.error.title7=Error 0x07 [ATS] +book.error.page7=§lName:§r "ERROR_ANALYSIS_TOO_SHORT" §lDescription:§r The particle has left the analysis chamber, despite not meeting the length requirement. §lPotential fix:§r Make sure that the analysis chamber on your circular accelerator is exactly 3 blocks long. Valid analysis segments have no coils and the plating is entirely composed of analysis chamber walls/windows. Analysis chambers with coils in them count as regular segments. +book.error.title8=Error 0x08 [DC] +book.error.page8=§lName:§r "ERROR_DIODE_COLLISION" §lDescription:§r The particle collided with a non-input side of a schottky particle diode. §lPotential fix:§r Check if your diodes are configured correctly. Particles can only enter the diode from sides with green inward-pointing arrows. +book.error.title9=Error 0x09 [BT] +book.error.page9=§lName:§r "ERROR_BRANCHING_TURN" §lDescription:§r The particle has reached a turn with multiple exits. §lPotential fix:§r If your turn is a normal one, check if all the required coils are present (i.e. no holes in the coil layer). If the turn is intended to be branched, it requires a schottky particle diode that is correctly configured. + +book.rbmk.cover=Мій перший РБМК:$Основи$будівництва$реактора +book.rbmk.title1=Introduction +book.rbmk.page1=§lRBMK§r is fully modular nuclear reactor. Unlike most other reactors, there is no "core" and no size restrictions, rather behavior and efficiency of reactor depends on how it is built and how various parts interact with each other. +book.rbmk.title2=Heat +book.rbmk.page2=As reactor runs, it will generate §lheat§r. Heat will spread between parts, slowly decreasing in the process. The goal is to generate as much heat as possible without melting the reactor, and to transfer heat into steam passages that cool reactor and produce steam. +book.rbmk.title3=Fuel Rod +book.rbmk.page3=The §lfuel rod§r will capture neutron flux, causing fuel inside the rod to react, releasing neutrons in the process. Neutrons are released in all four main directions with a maximum range of 5 blocks. The amount of released neutrons depends on fuel used. +book.rbmk.title4=Regulating Rod +book.rbmk.page4=The §lcontrol rod§r will reduce number of neutrons passing through. Fully inserted, it will block all neutrons; when inserted halfway, it will only block half. Control rods are used to regulate activity of the reactor and shut it down. +book.rbmk.title5=Regulating Rods - Usage +book.rbmk.title5.scale=0.9 +book.rbmk.page5=The current bar insertion will be displayed in the center of GUI. The colored buttons on left will add the control bar to the color group, which is useful for quickly selecting grouped bars on §lRBMK§r console. The buttons on right allow you to manually insert in 25%% increments. +book.rbmk.title6=Automatic Control Rods +book.rbmk.page6=§LAutomatic control rods§r are almost identical to regular control rods, but they cannot be manually adjusted, instead they will adjust position of the rod based on current temperature. Which function to use and how deep to insert and at what temperature must be determined first. +book.rbmk.title7=Steam Channel +book.rbmk.page7=The §lsteam channel§r is only part that will actively reduce reactor heat level. If a component is above the boiling point of a given type of steam, it will try to consume as much water and produce as much steam as needed to cool below boiling point. +book.rbmk.title8=Neutron Reflector +book.rbmk.page8=The §lneutron reflector§r will block passage of neutrons, instead neutrons will be reflected back onto the fuel rod they came from. This is useful for using neutrons that would otherwise be wasted simply by leaving reactor. +book.rbmk.title9=Neutron Absorber +book.rbmk.page9=§lNeutron absorber§r simply blocks neutrons. The absorbed neutrons will not generate heat and will be effectively destroyed. This is useful for preventing fuel rods from reacting that would otherwise be within reach. +book.rbmk.title10=Graphite Retarder +book.rbmk.page10=§lGraphite moderator§r converts fast neutrons passing through it into slow neutrons. Most fuels are split into fast neutrons, while slow neutrons are required for fission, so use of moderators is highly recommended. +book.rbmk.title11=Structural Column +book.rbmk.page11=§lStructural column§r does not affect neutrons in any way and has no special application. It is recommended to fill the reactor with structured pillars where there are no other parts, since the structured pillars are capable of transferring heat. +book.rbmk.title12=Console +book.rbmk.page12=§lRBMK console§r allows you to control the reactor from afar. Using the §ldevice to connect the console RBMK§r on the RBMK part and then on the console will connect the reactor and the console. The console can only control 15x15 parts, for large reactors you can use multiple consoles. +book.rbmk.title13=Using the console +book.rbmk.page13=Clicking on parts will select and deselect them. With the colored buttons, you can quickly select all the control rods in that color group. Button "A" will select all control rods, "X" will deselect all. +book.rbmk.page14=Entering a number between 0 and 100 in green box and then pressing button next to it will set all selected control rods to that position. Button "AZ-5" will lead to full insertion of all control rods. +book.rbmk.title15=Fuel +book.rbmk.page15=The §lfuel§r response depends on many factors. The main ones are §lfortification§r, §lxenon poisoning§r and number of incoming §lneutrons§r. Xenon builds up when fuel is low in neutrons and burns out during normal operation. The efficiency of neutrons depends on the type, most fuels §lare best split by§r §lslow neutrons§r. +book.rbmk.title16=Melting +book.rbmk.page16=§4§lAVOID. + +book.starter.cover=Посібник промисловця$з відновлення$суспільства +book.starter.title1=Вступ +book.starter.page1=Якщо ви це читаєте, дуже ймовірно, що суспільство, так чи інакше, зазнало повного краху. Уряди, країни та влада – це поняття минулого – разом із усіма зручностями цивілізованого життя. Таким чином, цей посібник розповість вам, як це змінити, відтворивши промисловість і технології минулого для покращення вашого життя. +book.starter.title2=Вугілля та іприт +book.starter.page2=Хоча неможливо передбачити фактичний стан світу в постапокаліптичний час, цілком імовірно, що війна та промисловість у їхньому нинішньому вигляді могли ще не закінчитися. Щоб захистити власні легені, ефективним та дешевим способом помочіться на §lтканину§r, щоб зробити §lтраншейну пов'язку§r, яка захистить вас від вугільного пилу або іприту, якщо ви коли-небудь зіткнетеся з ними. +book.starter.title3=Ковадла та преси +book.starter.page3=Квінтесенцією для початку вашого промислового відродження є §lковадло§r та §lтвердопаливний прес§r. Ковадло дозволить вам вручну створювати ранні механізми, такі як Збиральна машина, тоді як прес дозволить вам створювати пластини, дроти та схеми, які ви не можете зробити ковадлом. +book.starter.title4=Шаблони +book.starter.page4=Щоб штампувати метал у корисні форми, збирати машини та проводити хімічні реакції, вам потрібно створити §lПапку шаблонів машин§r для створення різних штампів та шаблонів, показаних праворуч. +book.starter.title5=Збирання сміття +book.starter.page5=Залежно від того, наскільки поганою була початкова апокаліптична подія для існуючих структур світу, існує вірогідність того, що багато корисних матеріалів і машин можна врятувати безпосередньо серед них. На вас можуть чекати: металеві сплави, такі як сталь, деталі, такі як схеми і навіть ізотопи матеріалів з атомної електростанції. Однак остерігайтеся певних руїн, оскільки там може ховатися надмірна небезпека, як змія в траві; вона чекає, щоб вразити вас радіацією, пастками чи невимовними жахами... +book.starter.title6=Ранні машини +book.starter.page6a=Дві перші машини, які вам слід зібрати, це §lДоменна піч§r та §lЗбиральна машина§r.Перша дозволить вам створювати такі сплави, як §lсталь§r, §lчервона мідь§r та §удосконалений сплав§r; вам знадобляться ці метали для корпусів машин, з'єднання схем, вдосконалених електромагнітів тощо. +book.starter.page6b=Збиральна машина використовуватиметься для створення практично будь-якої іншої машини, описаної в цьому посібнику. Вам знадобиться джерело живлення, наприклад §lДров'яна піч§r або §lБойлер сонячної вежі§r. +book.starter.page7a=§lПодрібнювач§r разом із парою лез подрібнювача буде дуже корисним для подвоєння виходу більшості руд шляхом подрібнення їх на плавильні порошки. Ці порошки також є важливими для початку створення схем для різних машин, таких як §lПокращена§r та §lРозігнана§r мікросхеми. +book.starter.page7b=Використовуючи своє нове обладнання, ви можете створити §lХімічний завод§r, який використовується для синтезу кращих схем, бетону, переробки нафтохімічних продуктів тощо. +book.starter.title8=Чорне золото +book.starter.page8a=Обстежуючи територію використовуючи §lДетектор §lнафтових§r §lродовищ§r, ви можете знайти підземні поклади нафти та встановити над ними §lВерстат-гойдалку§r або §lНафтову вежу§r. Пам’ятайте, що поклади нафти з часом вичерпуються. +book.starter.page8b=Перш ніж нафту можна буде переробити та розділити на складові частини на §lНафтопереробному заводі§r, її необхідно нагріти до 300°C у §lБойлері§r. +book.starter.title9=Нафтохімія +book.starter.page9=Використовуючи §lХімічні заводи§r, §lРектифікаційні§r §lколони§r, та §lВежі каталітичного§r §lкрекінгу§r, ви можете перетворити відокремлену нафту на різноманітні корисні продукти. Наприклад: §lПолімери§r або §lКарболіт§r, міцні та гнучкі пластмаси; §lДеш§r, надзвичайно міцний та термостійкий сплав рідкісноземельних металів; §lТверде паливо§r, яке можна спалювати для отримання енергії; або навіть §lРідке паливо§r, таке як §lГазолін§r, §lДизель§r, §lГас§r, тощо. +book.starter.title10=Передові машини +book.starter.page10=Маючи за собою обробку нафти, ви можете створити §lЦентрифугу§r, яка потроїть видобуток руди; §lРудний окислювач§r, який кристалізуватиме руди, збільшуючи вихід; та §lSILEX + §lFEL§r, – два дива сучасної інженерії, які можуть легко розділяти ізотопи матеріалів. Вам знадобиться значно більше енергії для їх живлення; яку можна отримати за допомогою таких джерел, як §lДизельний генератор§r, §lПромисловий генератор§r, або навіть ядерний реактор. +book.starter.title11=Пласт +book.starter.page11=Під землею, по якій ви ходите, є кілька природних §lПластів§r, або спеціальних мінеральних шарів та утворень. §lСланцеві пласти§r – це блакитні шари, що містять літій, заповнені ураном, залізом, міддю, азбестом та іншими рудами для вашого власного використання. §lГлибинний камінь§r містить велику кількість рідкісніших мінералів, таких як §lЦирконій§r та §lБор§r, але для належного їх видобутку потрібна вибухівка. +book.starter.title12=Радіація +book.starter.page12a=§oРешта цієї книги буде присвячена питанням, пов’язаним з §oрадіацією. Заради вашої безпеки та безпеки інших я дам §oпоради щодо того, як пом’якшити та впоратися з її впливом. +book.starter.page12b=Достатній вплив радіації може завдати шкоди тілу. Перший крок – це профілактика;обов’язково обмежте вплив на себе і носіть захисне спорядження, таке як §lЗахисний костюм§r, або встановіть §lОбшивку§r на свій одяг чи броню; ви також можете прийняти §lРад-Х§r, щоб обмежити вплив. Завдяки сучасній медицині, другим кроком може бути зняття опромінення якщо це необхідно; наприклад, §lЗнезаражувач §lгравця§r повільно зменшить радіацію, поглинену вашим організмом. §lАнтирадин§r також можна використовувати як постконтактну профілактику, швидко та ефективно усуваючи пошкодження, завдані вашому організму іонізуючим випромінюванням. +book.starter.title13=Збагачення урану +book.starter.page13=Є кілька простих варіантів палива для ядерного реактора; наприклад, §lПриродний уран§r або §lТорієве паливо§r. Однак, якщо ви шукаєте щось потужніше, ви можете створити каскад збагачення з двох §lГазових центрифуг§r для виробництва §lУранове паливо§r із залишками §lУрану-238§r. Для цього вам доведеться перетворити природний уран на §lЄлоукейк§r, а потім на §lГексафторид §lурану§r. +book.starter.title14=Чиказька дровітня +book.starter.page14=Або ж ви можете отримати §lРеакторний плутоній§r, більш потужне паливо, з природного урану за допомогою §lЧиказької дровітні§r. Складаючи графітові блоки та просвердлюючи їх, ви можете вставляти паливні стрижні для розмноження в плутоній та стрижні джерела нейтронів, такі як §lРадій-берилій§r, щоб розпочати реакцію. Обов'язково перевірте свої конструкції; може знадобитися відстань між блоками або обмеження їх кількості, щоб запобігти перегріву. +book.starter.title15=ЦИРНОКС ГГР +book.starter.page15=Нарешті, ви можете створити своє перше §oреальне§r джерело енергії: Ядерний реактор §lЦИРНОКС§r. Ядерні реактори потребують більше налаштувань, ніж інші джерела енергії; по-перше, вам потрібно мати хороше джерело води, наприклад §lНескінченний §lрезервуар води§r. Щоб відводити тепло від активної зони реактора та кип'ятити воду в пару, вам знадобиться достатня кількість §lВуглекислого газу§r. Вам потрібен достатній тиск, але не §lзанадто§r великий. Вам також знадобляться три парові турбіни, щоб використовувати створену пару для виробництва енергії; §lПарова §lтурбіна§r або §lПромислова парова §lтурбіна§r будуть оптимальними. Нарешті, §lКонденсатор пару§r або §lДопоміжна градирня§r потрібні для конденсації залишкової пари у воду, де її можна буде злити або рециркулювати в охолоджувальному контурі. +book.starter.title16=Висновок +book.starter.page16=Якщо ви зайшли так далеко, ви на шляху до відбудови цивілізації. Ви успішно відтворили передові механізми передапокаліпсису - ядерну енергетику, нафтохімію та інше. Я не знаю, §oяк§r ви скористаєтеся цими новознайденими перевагами, але я особисто сподіваюся, що ви використаєте їх для блага себе та інших — або, принаймні, для самооборони. Au revoir! +book.starter.title18=Про автора +book.starter.page18=vær – просто хлопець, який надто довго перебував у пастці сірої порожнечі, з кліпу §oOnce In A Lifetime§r гурту Talking Head. Одного разу він знайшов двері студії, але, на свій жах, виявив, що вона вирізана з картону + +#book.rbmk.cover=HOW 2 RBMK:$The Basics$of Reactor$Construction +#book.rbmk.title1=Introduction +#book.rbmk.page1=The §lRBMK§r is a fully modular nuclear reactor. Unlike most other reactors, there is no "core", and no size limitations, rather, the behavior and efficiency of the reactor comes from how it is built and how the different pieces interact with each other. +#book.rbmk.title2=Heat +#book.rbmk.page2=As the reactor operates, it will generate §lheat§r. Heat will spread between parts, slowly decreasing in the process. The goal is to produce as much heat as possible without melting the reactor, and to move that heat to a §lsteam channel§r which cools the reactor and produces steam. +#book.rbmk.title3=Fuel Rod +#book.rbmk.page3=The §lfuel rod§r will capture neutron flux, causing the fuel inside the fuel rod to react, giving off neutrons in the process. Neutrons are released in all four cardinal directions with a maximum range of 5 blocks. The amount of neutrons released depends on the §lfuel§r used. +#book.rbmk.title4=Control Rod +#book.rbmk.page4=The §lcontrol rod§r will decrease the amount of neutrons passing though it. Fully inserted, it will block all neutrons, at half insertion, it will only block half. Control rods are used to regulate the reactor's activity and to turn it off. +#book.rbmk.title5=Control Rod - Usage +#book.rbmk.page5=The center of the GUI will display the current rod insertion. The colored buttons on the left will add a control rod to a color group, which is useful to quickly select grouped rods from the §lRBMK console§r. The buttons on the right allow for manual insertion in increments of 25%%. +#book.rbmk.title6=Automatic Control Rod +#book.rbmk.page6=§lAutomatic control rods§r function nearly identical to regular control rods, but they cannot be configured manually, instead they will adjust the rod position based on the current temperature. What function to use and how deep to insert at what temperature has to be defined first. +#book.rbmk.title7=Steam Channel +#book.rbmk.page7=The §lsteam channel§r is the only part that will actively reduce the reactor's heat level. If the component's temperature exceeds the boiling point of the set steam type, it will try to consume as much water and produce as much steam as needed to cool back below the boiling point. +#book.rbmk.title8=Neutron Reflector +#book.rbmk.page8=The §lneutron reflector§r will block neutrons from passing it, instead the neutrons will be reflected back at the fuel rod they came from. This is useful for utilizing neutrons that would otherwise be wasted by simply exiting the reactor. +#book.rbmk.title9=Neutron Absorber +#book.rbmk.page9=The §lneutron absorber§r will simply block neutrons. Neutrons absorbed will not generate heat and be effectively voided. This is useful to prevent fuel rods from reacting that would otherwise be in range. +#book.rbmk.title10=Graphite Moderator +#book.rbmk.page10=The §lgraphite moderator§r will convert fast neutrons passing through it into slow neutrons. Most fuels fission into fast neutrons while needing slow neutrons to split, so using moderators is strongly recommended. +#book.rbmk.title11=Structural Column +#book.rbmk.page11=The §lstructural column§r will not interfere with neutrons, nor does it have special uses. It is recommended to fill the reactor with structural columns where no other parts will be, because structural columns are capable of transporting heat. +#book.rbmk.title12=Console +#book.rbmk.page12=The §lRBMK console§r lets you control the reactor from afar. Using the §lRBMK§r §lconsole linking device§r on an RBMK part and then the console will link the reactor to the console. The console can only manage 15x15 parts, for larger reactors you might want to use multiple consoles. +#book.rbmk.title13=Console Usage +#book.rbmk.page13=Clicking on the parts will select and deselect them. Using the colored buttons, you can quickly select all control rods of that color group. Button 'A' will select all control rods, 'X' will deselect all. +#book.rbmk.page14=Entering a number 0-100 in the green box and then hitting the button next to it will set all selected control rods to this position. Button 'AZ-5' will cause all control rods to fully insert. +#book.rbmk.title15=Fuel +#book.rbmk.page15=The §lfuel§r's reactivity is based on multiple factors. The main ones are the §lenrichment§r, §lxenon poison§r and the amount of incoming §lneutrons§r. Xenon builds up when the fuel receives few neutrons and burns away during normal operation. The effectivity of neutrons depends on the type, most fuels §lsplit best with slow neutrons§r. +#book.rbmk.title16=Meltdown +#book.rbmk.page16=§4§lAvoid. + +book_lore.author=By %s +book_lore.test.name=this book doesn't work... +book_lore.test.author=me i trolled you hehe :3c +book_lore.test.page.0=>hello anons before i begin let me clarify that i'm not gay. >Be me >This night >18 > At hanging out with my best friend with my parents gone for a few days >We've been best friends for a year now >Been drinking a bit and playing lots of video games and ordered a pizza >We were having a blast >At a certain point in the night like around 9:00 he makes a really funny joke that I don't remember but I know that it made us both laugh really hard > With out thinking I brush my right hand through his semi-curly black hair and call him a funny boy >He blushes >I realize I'm feeling flustered >We're kinda close >All of the sudden he kisses me and for some reason I kiss him back >We make love >Cuddle together and fall asleep >Wake up in the middle of the night with his head snuggled up on my chest and neck area >It feels nice but I'm not a homosexual +book_lore.test.page.1=I'm typing this as he's asleep in my arms. How do I let my best friend down nicely? I don't want to be a [redacted] /b/ +book_lore.test.page.2=3 +book_lore.test.page.3=4 +book_lore.test.page.4=5 + +book_lore.book_iodine.name=Нотатки +book_lore.book_iodine.author=Дейв +book_lore.book_iodine.page.0=alright you will not believe this, but old man weathervane finally managed to show up again since he left two weeks ago and what's more surprising is the fact that he actually decided to spill the beans on what they were doing in the canyon: +book_lore.book_iodine.page.1=apparently the morons from R&D discovered a compound that is mostly inorganic, pretty much like a toxin in nature, but get this: the dying cells will reproduce said toxin and excrete it through the skin, creating an aerosol that is highly contagious. +book_lore.book_iodine.page.2=it's just like a virus, but not a virus. the composition is weird, you can mix it in any household bottle but you do have to get the order right. the doc told me that the first ingredient which is just powdered iodine crystals goes into slot %d + +book_lore.book_phosphorous.name=Нотатки +book_lore.book_phosphorous.author=Дейв +book_lore.book_phosphorous.page.0=heyo, it's me again. i assume you got my last memo, the doc wasn't too happy about it. i'll have to do this quick, the dunderheads from R&D are currently moaning again, probably over money. again. anyway, doc weathervane found that the second +book_lore.book_phosphorous.page.1=ingredient is red phosphorous, whihc has to be mixed into slot %d + +book_lore.book_dust.name=Нотатки +book_lore.book_dust.author=Дейв +book_lore.book_dust.page.0=the doc was furious when he found out that the R&D dorks kept the one remaining sample, ranting about gross negligence this and a doomsday scenario that. i told him to chill for a minute, getting all worked up isn't good for his blood pressure, not +book_lore.book_dust.page.1=that he has much blood left to begin with. one of the R&D morons slipped some more info into last week's circular, they call their little concoction "MKU" whatever that means, and that it contains actual household lint. can you believe that? one of the most +book_lore.book_dust.page.2=dangerous inventions of theirs and it contains dust. strangely they also mentioned that it goes into slot %d + +book_lore.book_mercury.name=Нотатки +book_lore.book_mercury.author=Дейв +book_lore.book_mercury.page.0=well that settles that. not counting the vomitting blood part, the toxicological report mostly resembles that of mercury poisoning. why? because our little mix also contains mercury! i just wonder where all that stuff comes from when being +book_lore.book_mercury.page.1=replicated by the body? whatever, the mercury goes into slot %d + +book_lore.book_flower.name=Нотатки +book_lore.book_flower.author=Дейв +book_lore.book_flower.page.0=remember when i mentioned in my first memo that the compound is mostly anorganic? well guess what, the old man shared the fourth ingredient: ipomoea nil, a genus of flower. morning glory! it might be due to its low sulfur content, whatever might be the case, +book_lore.book_flower.page.1=it does not work with other flowers. the morning glory goes into slot %d + +book_lore.book_syringe.name=Нотатки +book_lore.book_syringe.author=Дейв +book_lore.book_syringe.page.0=a little addendum to my fifth message, obviously you have to store this MKU stuff in a container. the R&D nuts used regular metal syringes that they got from medical. surplus ware i presume, they got thousands of needles just lying around. the metal +book_lore.book_syringe.page.1=syringe goes into slot %d + +book_lore.resignation_note.name=Letter of Resignation +book_lore.resignation_note.author=Kosma +book_lore.resignation_note.page.0=Management downsized our department again yesterday. Those idiots only have themselves to blame, I don't know what they were expecting after that fiasco. Who the hell leaks that sort of information? We're losing millions and +book_lore.resignation_note.page.1=it's ME who's the one out of a job now. I'M the one being asked to resign. I hope you asshats finally learn from your overabundance of mistakes and take that stick out of your ass. +book_lore.resignation_note.page.2=I'm not coming back on Friday. Just send the paycheck. + +book_lore.memo_stocks.name=Intracorporate Memorandum +book_lore.memo_stocks.page.0=Investor Relations - $ $ There's been some glaring discrepancies in the figures provided for the latest quarterly report. It would be prudent for the financial department to make some adjustments, so there won't be any concern. + +book_lore.memo_schrab_gsa.name=Internal Memorandum +book_lore.memo_schrab_gsa.page.0=Contract Management - $ $ Legal has made a breakthrough with the DLA. They've awarded us with a 45 BILLION GSA Schedule for further procurement and research of saralloy. At current estimates, that would be at minimum +book_lore.memo_schrab_gsa.page.1=a 40%% profit on related operations, let alone the possibility of future contracts. Due to the confidential nature, all fiscal evidence is to remain private. + +book_lore.memo_schrab_rd.name=Internal Memorandum +book_lore.memo_schrab_rd.page.0=Research & Development - $ $ Our main production method of saralloy has been through the new particle accelerator. However, the energy costs are exorbitantly high compared to the amount of output. +book_lore.memo_schrab_rd.page.1=Doctor Schrabauer, however, has discovered a new interaction - called "Strange Lepton Oscillation" - that could significantly reduce costs. Through a not entirely understood process, supplied electrons are transmuted into extremely +book_lore.memo_schrab_rd.page.2=high-energy photons, through a strange charm. This is an extreme exception to many established particle conversion laws, but preliminary experiments have proved that these protons transmute into up and down quarks, eventually creating saralloy. +book_lore.memo_schrab_rd.page.3=Strangely, the prototype requires Tungsten alloyed with small amounts of saralloy. In addition, a special capacitor is required to negate the leftover positive charge. + +book_lore.memo_schrab_nuke.name=Research Report +book_lore.memo_schrab_nuke.author=Doctor Schrabauer +book_lore.memo_schrab_nuke.page.0=Our most recent investigation led us to the effects of nuclear explosions on materials. Thanks to our grant money, we *accidentally* tested our theory on direct saralloy synthesis from uranium. +book_lore.memo_schrab_nuke.page.1=Only our cyclotron has actually created saralloy previously. However, at our underground shot at Everwerpen, miniscule traces of saralloy were found in uranium ore at the site. All pure, metallic uranium nearby had fissioned. +book_lore.memo_schrab_nuke.page.2=As such, given enough uranium ore concentrated around an explosive, or perhaps even a dirty bomb rich in waste containing fissionable material, one could hypothetically create enough saralloy to collect manually. + +book_lore.bf_bomb_1.name=Особисті нотатки +book_lore.bf_bomb_1.author=M. Porter +book_lore.bf_bomb_1.page.0=Took long enough, but my transfer was accepted. Those new grads were already hard to handle, let alone all the unprofessionalism of the lead. $ Not all good news - this lab was withholding further detail, and I didn't need more chaos over another magic new discovery. +book_lore.bf_bomb_1.page.1=Of course that was the case. The alumni had their doubts (surprising, considering how bright-eyed they were), but my only... competent? colleague actually got his hands on the primer hand-out. Must have more connections than I thought. His memo is discouraging: +book_lore.bf_bomb_1.page.2=apparently, there's yet ANOTHER miracle material that they prodded out of some concoction of antimatter and a fringe isotope. The brochure calls it "SWIRLMAT" - hell if I know - and that's it. No wonder they wanted a theoretical physicist, +book_lore.bf_bomb_1.page.3=they don't even know what it is yet. Either way, practically any job would be better than my old position, so I can't complain much about sketchiness. + +book_lore.bf_bomb_2.name=Особисті нотатки +book_lore.bf_bomb_2.author=M. Porter +book_lore.bf_bomb_2.page.0=Despite the absence of information in that primer, I still had some hope they knew a bit more. Not at all. Every other senior researcher has a blind faith in this material; their propositions were practically biblical. I was near speechless. +book_lore.bf_bomb_2.page.1=And yet I can't even blame them. Swirlmat makes no goddamn sense - it is completely unlike any other substance I've seen before. Its appearance was near frightening, a literal mass of swirling colors, with darker lines permeating through the neon green surface. +book_lore.bf_bomb_2.page.2=Even worse, this thing is an energy source. The existence of our sample is a violation of ALARA: the lab was vacated when it arrived, and the only person brave enough (one Dr. Melfyn) donned a level A hazmat just to carry it 20 meters. +book_lore.bf_bomb_2.page.3=The empirical data isn't better, as we're breaking the first law of thermodynamics with how much energy it radiates. Being anywhere near that thing - even behind a meter of lead - was terrifying. We sprinted out of the chamber upon conclusion of the spectroscopy +book_lore.bf_bomb_2.page.4=and we got nothing new out of it. Those idiots in the science team, god, did not even waver after all that. Sitting through those "discussions" was horrible; that quack of a head researcher even rumored that the test ban would be lifted, that we could be +book_lore.bf_bomb_2.page.5=building bombs out of the shit in the coming weeks, who in their right mind would work on that? Hell, the one sane assistant (an Andrew) nicknamed it "balefire" - because burning to death on a funeral pyre would be painless by comparison. + +book_lore.bf_bomb_3.name=Особисті нотатки +book_lore.bf_bomb_3.author=M. Porter +book_lore.bf_bomb_3.page.0=The team and I have made some breakthroughs. Emphasis on the separation - isolating myself from the more devout has made working there so much more bearable. While we still have no idea about the actual properties of balefire (it's difficult to analyze +book_lore.bf_bomb_3.page.1=a sample that fries your equipment) its interactions with other matter has proved fruitful. Notably, they synthesized a "gaseous" form: Andrew, of all people, informed me that it was really a colloid consisting of microscopic balefire particles, suspended in some +book_lore.bf_bomb_3.page.2=noble gas. Each particle is enveloped by a positively-charged 'bubble' of ionized gas, preventing it from settling. Who could've guessed that fatal gamma radiation had a benefit? Not me. $ I'm choosing not to think about how they transformed the sample into +book_lore.bf_bomb_3.page.3=particulate, but I can't understate the utility of this gaseous balefire - it's made it much safer to experiment on. $ Speaking of safety, the head researcher (in an act of callous disregard) made a discovery that also nearly took his head off. +book_lore.bf_bomb_3.page.4=He decided to get "dirty" by letting a cell of our new colloid interact directly with some very expensive antimatter: the resulting explosion turned the table it was on into a piece of radiation-bleached slag, carved a near-perfect hemisphere through +book_lore.bf_bomb_3.page.5=the top, and gave the head a healthy dose of ARS. I guess we know how to make it explode now, but god, some people... + +book_lore.bf_bomb_4.name=Особисті нотатки +book_lore.bf_bomb_4.author=M. Porter +book_lore.bf_bomb_4.page.0=I just can't escape my old work. They're the only place that's hiring despite all this godforsaken turmoil, but I'm not going back into that hole. $ They only tempted me because I need out, fast. Remember that atmospheric testing treaty we withdrew from a week ago? +book_lore.bf_bomb_4.page.1=Well, the dipshit in charge of our lab got something right for once. The denunciation came with a flurry of new "scientists" joining, just so we could weaponize balefire. The lack of critical thought here is honestly baffling - bless him, Andrew even jumped ship the +book_lore.bf_bomb_4.page.2=second the first fucking BOMB DESIGN was drafted. That ass Melfyn looked so happy with his little mechanism - perhaps he got brainworms from carrying that sample? - which involved some stupid shit using the solidified, base balefire and an HV +book_lore.bf_bomb_4.page.3=battery. $ Apparently, the form matters for energy output and activation method or whatever, kind of like uranium versus plutonium in regular nukes, but the end result is an initial shock starting the explosion. I find it funny, hilarious even. +book_lore.bf_bomb_4.page.4=All of them place such emphasis on the activation; they ignore the actual mechanism of it all because they don't have a single clue how it works! It may as well be magic at this point, and yet they're still trying to twist and bend it - just for more weapons of war. + +book_lore.bf_bomb_5.name=Особисті нотатки +book_lore.bf_bomb_5.author=M. Porter +book_lore.bf_bomb_5.page.0=I just... can't come to grips with it, even days after. It was a foregone conclusion, really, with how flippant the science team was with safety. $ $ Doctor Melfyn, M.S., is gone. Dead, maybe. I saw it happen before my own eyes, in their test chamber. +book_lore.bf_bomb_5.page.1=We had just gotten another batch of pure balefire, and he had recovered electrical equipment and an energy source to test his proposal. I don't know what caused it (was the power on? had he begun too soon?), but it seemingly progressed in agonizingly slow motion, +book_lore.bf_bomb_5.page.2=as the green-tinted light consumed the table, the battery, and Dr. Melfyn standing only a meter away. Even when the table had degraded into a pool of broiling metal on the floor, he did not burn. I don't know what I saw in his eyes... $ $ Terror, or awe +book_lore.bf_bomb_5.page.3=over his continued survival, maybe? Whatever our "miracle" material was, it didn't care. With a bright blaze of light, he disappeared in the next moment. Was he evaporated? incinerated? annihilated? sent to fucking hell itself, I don't know anymore! +book_lore.bf_bomb_5.page.4=The head researcher sickens me. Said we could be more careful, keep trucking, whatever other morale-improving filth he spewed. That dipshit won't ever figure out that playing with fire will get you burned. $ I didn't bother +book_lore.bf_bomb_5.page.5=resigning, I just grabbed my shit and ran for the hills. Not like it matters, anyway; considering the lack of calls, and the mushroom cloud that rose over my (now former) workplace, they've either blown everything up or entered full-on military jurisdiction. +book_lore.bf_bomb_5.page.6=There's a vital distinction to be made between dissection and VIVISECTION, one which was clearly lost on them. They can dissect metal or atoms as much as they like, but tearing into, vivisecting reality itself is only going to end in more Dr. Melfyns. Who knows! +book_lore.bf_bomb_5.page.7=The government wants to put this shit into bombs after all, maybe we'll see a couple more wars, couple more million resigned to a fate worse than death. They can't hide this forever. $ $ I don't care. Not anymore. Please, god, let me go back +book_lore.bf_bomb_5.page.8=to actual science. $ $ Goddamnit, Mae, get ahold of yourself... + +book_lore.beacon.name=Signal Beacon Instruction Booklet +book_lore.beacon.author=Flim Flam Industries +book_lore.beacon.page.0=Thank you for your purchase of a Mk.2 Illuminated Signal Beacon (rev. 1.3)! This small booklet will provide a short introduction in the operation of the beacon, as well as its inner workings. +book_lore.beacon.page.1=Chapter 1: Architecture $ Each unit is composed of four main parts: The control circuit, a lantern, a fog horn and the casing which houses the other parts. For a detailed explanation of the main circuit, please +book_lore.beacon.page.2=refer to the circuit diagram found on the inside of the maintenance lid of the casing. The lantern is made up of a polycarbonate case containing a dual-color 250 Watt halogen bulb with a standard 200mm socket, replacements +book_lore.beacon.page.3=for the bulb can be ordered from our stores. Third party bulbs are not recommended, as we cannot ensure safe operation. The case is made from a specialized zinc-coated stainless steel and is resistant to weathering. +book_lore.beacon.page.4=Chapter 2: Lantern $ The lantern's primary uses are providing light for ease of maintenance in harsh weather conditions as well as a status indicator. Should the power-on self test (POST) fail, the lantern will +book_lore.beacon.page.5=light up red, otherwise it will light up green. Note that colors can vary depending on the replacement bulb. +book_lore.beacon.page.6=Chapter 3: Fog Horn $ The fog horn is the primary communication device of the beacon. The beacon is designed for peer-to-peer (P2P) communication as well as for message broadcasting. +book_lore.beacon.page.7=Chapter 4: Peer-to-Peer $ For details on communication, refer to the communications handbook. A short rundown of establishing a P2P connection follows: First, the beacon has to give the "START CONNECTION" signal, +book_lore.beacon.page.8=being a single long tone. All available peers should respond with a single long tone as well (order specified by proximity, as well as the communication guidelines outlined in the handbook, section "Responding to a Connection") +book_lore.beacon.page.9=Once the desired peer has responded, give the "ACCEPT CONNECTION" signal, being two long tones, the peer will then also respond with two long tones. All communication afterwards has to happen using pre-negotiated signals, most commonly +book_lore.beacon.page.10=using the FAR-5M standard. Communication will end immediately if no standard has been negotiated, serving as a "ping". Should communication continue, the connection can be ended using another long single tone "END CONNECTION". +book_lore.beacon.page.11=Chapter 5: Warranty $ [ page intentionally left blank ] + +cannery.f1=[ Натисніть F1 для довідки ] + +cannery.centrifuge=Газова центрифуга +cannery.centrifuge.0=Газові центрифуги можуть постачатися рідиною за допомогою звичайних трубопроводів для рідини. +cannery.centrifuge.1=Для більшості рецептів потрібно кілька центрифуг. Проміжні продукти не можуть транспортуватися трубопроводами. +cannery.centrifuge.2=Ця сторона передає проміжний продукт в наступну центрифугу. +cannery.centrifuge.3=Гексафторид урану можна переробляти за допомогою двох центрифуг, але ви отримаєте лише Уранове паливо та Уран-238. +cannery.centrifuge.4=Для повного відділення Урану-235 від Урану-238 потрібно чотири центрифуги. +cannery.centrifuge.5=Деякі рецепти також вимагають покращення "Розгін газової центрифуги". + +cannery.crucible=Ливарня +cannery.crucible.0=The crucible is used to smelt ores, ingots or other metallic items for alloying and to cast them into different shapes. +cannery.crucible.1=It requires an external heat source connected to the bottom, like a firebox. +cannery.crucible.2=Once heated up, the crucible can be used in two ways, with or without a recipe template. +cannery.crucible.3=The crucible has two storage buffers for material: +cannery.crucible.4=The buffer to the left is for §abyproducts§r, all material smelted without a recipe template will land here. +cannery.crucible.5=If a recipe is installed, materials that do not match the recipe will also be stored here. +cannery.crucible.6=Materials in this buffer will not react with each other, they can only be output from the green outlet for casting. +cannery.crucible.7=The buffer to the right is for §crecipes§r, if a recipe is installed and that particular material is relevant to that recipe, it will land here. +cannery.crucible.8=The materials will slowly combine into the output material which is automatically output from the red outlet. +cannery.crucible.9=Note that only this buffer handles recipes. If a template is installed retroactively, materials in the byproduct buffer will not combine, nor transfer to the recipe buffer. +cannery.crucible.10=The outlet will output material automatically, if the target is valid, for example a foundry channel or a mold. +cannery.crucible.11=As with all foundry blocks, a shovel can be used to remove all material from the crucible. + +cannery.fensu=FEnSU +cannery.fensu.0=The FEnSU is capable of storing absurd amounts of energy, over 9EHE (that's a nine followed by 18 zeros). +cannery.fensu.1=There is only one energy connector which can be found on the bottom. +cannery.fensu.2=This is also the only place where the FEnSU can receive a redstone signal. + +cannery.firebox=Firebox +cannery.firebox.0=The firebox burns flammable items to generate heat. +cannery.firebox.1=It can burn any flammable item, although higher quality fuels such as coal, coke and solid fuel burn longer and hotter. +cannery.firebox.2=Heat is given off by the copper contact at the top of the firebox. Machines with an identical contact on the bottom can receive heat by being placed on top of the firebox. +cannery.firebox.3=If heat isn't being used up and the heat buffer becomes full, the firebox will shut off to prevent wasting of fuel. +cannery.firebox.4=One such machine is the stirling engine, which will turn heat directly into energy. + +cannery.foundryChannel=Foundry Channel +cannery.foundryChannel.0=Foundry channels are used to transport molten material from a crucible or storage tank into molds. +cannery.foundryChannel.1=Channels can receive material either by pouring from the top - via an outlet or directly from a crucible - or from the side from other channels. +cannery.foundryChannel.2=When transporting materials, channels will prioritize blocks like outlets and shallow molds. +cannery.foundryChannel.3=When it cannot supply an outlet or a mold, the material will then flow into a neighboring channel. +cannery.foundryChannel.4=Leftover material can be removed by using a shovel. + +cannery.silex=Лазер на вільних електронах (FEL) та Камера лазерного розділення ізотопів (SILEX) +cannery.silex.0=The Free Electron Laser (FEL) uses energy and a laser crystal to create a powerful laser beam. +cannery.silex.1=Be careful, as the laser will burn/melt through weaker blocks... +cannery.silex.2=...but not blast-proof ones. +cannery.silex.3=The FEL is used to power the Laser Isotope Separation Chamber (SILEX). The FEL and SILEX have to be at least two blocks apart. +cannery.silex.4=The laser has to enter through the glass openings of the SILEX. Aiming it wrong could destroy it. +cannery.silex.5=The openings on the sides can be used to connect fluid ducts to the SILEX. +cannery.silex.6=In addition to the two connectors on the sides, there is a third hidden connector at the bottom from which items can be extracted. +cannery.silex.7=Each recipe requires a specific laser type. Using a stronger type than required will process items faster. +cannery.silex.8=One FEL can supply up to 5 SILEX. Each SILEX has to be one block apart from one another. + +cannery.stirling=Stirling Engine +cannery.stirling.0=The Stirling engine uses heat energy from external sources to create power. +cannery.stirling.1=It needs to be placed on top of a heat-producing machine, such as the firebox. +cannery.stirling.2=The amount of heat it can utilize however is limited, overspinning can lead to catastrophic malfunction. +cannery.stirling.3=The upgraded version can take significantly more heat without breaking. + +cannery.willow=Гірчична верба +cannery.willow.0=The mustard willow is a plant that allows cadmium metal to be harvested. +cannery.willow.1=Willows can be placed on dirt, grass or even dead/oily dirt, but they require water to grow. +cannery.willow.2=Willows can be fertilized with bone meal or industrial fertilizer. They do not need light to grow. +cannery.willow.3=After the second stage of growth, they will need an extra block of space above them to grow further. +cannery.willow.4=After the fourth stage of growth, they require dead or oily dirt below them. +cannery.willow.5=This can be done either by manually planting willows on dead/oily dirt, or by having a hydraulic fracking tower nearby which continuously contaminates the ground. +cannery.willow.6=After reaching the final stage, the willow will remove contamination from the ground, reverting the dead/oily dirt back into regular dirt. +cannery.willow.7=Now the willow's leaves can be harvested. Breaking the top block will drop a small willow plant, 3-6 leaves and keep the bottom part of the plant intact. +cannery.willow.8=Soon the plant will start growing again, yielding more leaves if the dirt is replaced with oily dirt. The leaves can be processed into cadmium powder using an ore acidizer. +cannery.willow.9=Harvesting willow leaves can be automated using the automatic buzzsaw, it will only break plants that are ready for harvest. + +cannery.hadron=Прискорювач частинок +cannery.hadron.0=A Particle Accelerator consists of three main parts: A Core, an Analysis Chamber, and a set of Superconducting Coils +cannery.hadron.1=This is the Particle Accelerator Core Component, which fires particles at relativistic speeds down the coils towards the Analysis Chamber +cannery.hadron.2=Particles are ejected from here +cannery.hadron.3=And in circular accelerators, return to here +cannery.hadron.4=A coil segment is constructed by using 8 Dense Coils with nothing (or the core) in the middle +cannery.hadron.5=This coil segment must itself also be enclosed within Particle Accelerator Plating +cannery.hadron.6=To access the Core Component, you'll need to add one or more Access Terminals +cannery.hadron.7=The Core Component will also require power to operate, add a power plug on an edge +cannery.hadron.8=The Accelerator will require enough Power Plugs to supply at least 10KHE of electricity per unit of Coil Strength +cannery.hadron.9=Note that the coil segment that wraps around the Core Component is not factored into the Coil Strength calculation +cannery.hadron.10=Nor is this coil segment required for purely linear accelerators +cannery.hadron.11=For circular accelerators, you will need to add corners to change the direction of the particle +cannery.hadron.12=The outside corner coils can be omitted entirely +cannery.hadron.13=The final part of our Accelerator is the Analysis Chamber, which is a 3x3x3 empty chamber surrounded by Analysis Chamber blocks +cannery.hadron.14=Your completed Particle Accelerator should look something like this! + +cannery.hadron.math.0=Сила неодимової котушки: 50 +cannery.hadron.math.1=50 x 8 x 10KHE = 400 x 10KHE = 4MHE +cannery.hadron.math.2=Сила котушки з зіркового металу: 1,000 +cannery.hadron.math.3=1,000 x 8 x 10KHE = 8,000 x 10KHE = 80MHE + +cannery.schottky=Schottky Particle Diode +cannery.schottky.0=This is a Schottky Particle Diode. It can allow for more complex particle accelerator designs and save on electricity +cannery.schottky.1=By default it blocks all particles and must be configured with a Screwdriver +cannery.schottky.2=This face will now accept entering particles +cannery.schottky.3=And this face will eject particles that enter +cannery.schottky.4=The diode now has two exits, and will now behave in a quantum manner, creating virtual particles for each exit +cannery.schottky.5=Once all the virtual particles have reached an Analysis Chamber, the particle with the lowest momentum required for the current recipe is chosen +cannery.schottky.6=The chosen particle undergoes a wavefunction collapse and is made real, consuming only the power that the collapsing particle requires +cannery.schottky.7=If any virtual particles encounter any malformed segments, all virtual particles will be discarded and the erroring particle will be collapsed instead +cannery.schottky.8=Note that virtual particles will never use the same Diode exit twice. Infinite loops will fail, but re-entering a Diode is otherwise fine +cannery.schottky.9=Your Schottky Particle Diode should be properly enclosed, with free paths for each intersection exit + +chem.hydrogen=Водень +chem.hydrogencoke=Hydrogen from CokeAdd commentMore actions +chem.oxygen=Кисень +chem.xenon=Ксеноновий газ +chem.xenonoxy=Ксеноновий газ (Охолоджений) +chem.helium3=Гелій-3 +chem.ethanol=Етанол +chem.biogas=Біогаз +chem.biofuel=Трансестерифікація біопалива +chem.reoil=Очищення оливи +chem.gasoline=Газолін +chem.tarsand=Бітум з бітумінозного піску +chem.meatprocessing=Обробка м'яса гліфідів +chem.birkeland=Азотна кислота з повітря + +chem.ARSENIC=Екстракція миш'яку +chem.ASPHALT=Виробництво асфальту +chem.BAKELITE=Виробництво карболіту +chem.BALEFIRE=Змішування ракетного BF палива +chem.BP_BIOFUEL=Трансестерифікація біопалива +chem.BP_BIOGAS=Виробництво біогазу +chem.C4=Синтез C-4 +chem.CC_CENTRIFUGE=Відділення хлорокальциту +chem.CC_ELECTROLYSIS=Електроліз хлориду кальцію +chem.CC_HEATING=Удосконалене скраплення вугілля +chem.CC_HEAVY=Базове скраплення вугілля +chem.CC_I=Покращене скраплення вугілля +chem.CC_NAPHTHA=Нафтове скраплення вугілля +chem.CC_OIL=Скраплення вугілля +chem.CIRCUIT_4=Виробництво розігнаної мікросхеми +chem.CIRCUIT_5=Виробництво високопродуктивної мікросхеми +chem.CO2=Виробництво вуглекислого газу +chem.COALGAS_LEADED=Змішування тетраетилсвинцю з вугільним бензином +chem.COLTAN_CLEANING=Очищення колтану +chem.COLTAN_CRYSTAL=Кристалізація танталу +chem.COLTAN_PAIN=Виробництво Пандемоніум(III)танталу +chem.CONCRETE=Виробництво бетону +chem.CONCRETE_ASBESTOS=Виробництво азбестобетону +chem.COOLANT=Змішування охолоджувальної рідини +chem.CORDITE=Виробництво кордиту +chem.CRYOGEL=Змішування кріогелю +chem.DESH=Виробництво Деш +chem.DEUTERIUM=Екстракція дейтерію +chem.DUCRETE=Виробництво уранобетону +chem.DYN_DNT=Диносинтез динейтронію +chem.DYN_EUPH=Диносинтез евфемію +chem.DYN_SCHRAB=Диносинтез шрабідію +chem.DYNAMITE=Синтез динаміту +chem.ELECTROLYSIS=Кріоелектроліз +chem.EPEARL=Синтез перлини Енду +chem.ETHANOL=Виробництво етанолу +chem.FC_BITUMEN=Крекінг бітуму +chem.FC_DIESEL_KEROSENE=Крекінг дизелю +chem.FC_GAS_PETROLEUM=Крекінг природного газу +chem.FC_I_NAPHTHA=Крекінг промислової оливи +chem.FC_KEROSENE_PETROLEUM=Крекінг гасу +chem.FP_HEAVYOIL=Переробка важкої нафти +chem.FP_LIGHTOIL=Переробка легкої нафти +chem.FP_NAPHTHA=Переробка лігроїну +chem.FP_SMEAR=Переробка промислової оливи +chem.FR_PETROIL=Змішування бензину +chem.FR_REOIL=Очищення промислової оливи +chem.FRACKSOL=Виробництво розчину для гідророзриву пласта +chem.GASOLINE=Виробництво газоліну +chem.GASOLINE_LEADED=Змішування тетраетилсвинцю з газоліном +chem.HEAVY_ELECTROLYSIS=Кріоелектроліз важкої води +chem.HELIUM3=Видобуток Гелію-3 з місячного грунту +chem.KEVLAR=Виробництво кевларового компаунду +chem.LAMINATE=Виробництво багатошарового скла +chem.LPG=Скраплення нафтового газу +chem.LUBRICANT=Змішування мастила +chem.METH=Синтез метамфетаміну +chem.MEAT_PROCESSING=Отримання мінералів з м'яса гліфідів +chem.NITAN=Змішування суперпалива NITAN +chem.NITRIC_ACID=Виробництво азотної кислоти +chem.OIL_SAND=Переробка бітумінозного піску +chem.OSMIRIDIUM_DEATH=Виробництво розчину осмистого іридію +chem.PC=Синтез полікарбонату +chem.PC_ELECTROLYSIS=Електроліз хлориду калію +chem.PEROXIDE=Виробництво перекису водню +chem.PET=Синтез ПЕТ +chem.PETROIL_LEADED=Змішування тетраетилсвинцю з бензином +chem.POLYMER=Синтез полімерів +chem.PUF6=Виробництво гексафториду плутонію +chem.PVC=Синтез полівінілхлориду +chem.RUBBER=Виробництво гуми +chem.SAS3=Виробництво трисульфіду шрабідію +chem.SATURN=Виробництво сатурніту +chem.SCHRABIDATE=Виробництво ферошрабідату +chem.SCHRABIDIC=Змішування шрабідієвої кислоти +chem.SF_BIOFUEL=Затвердіння біопалива +chem.SF_BIOGAS=Затвердіння біогазу +chem.SF_DIESEL=Затвердіння дизеля +chem.SF_GAS=Затвердіння природного газу +chem.SF_HEATINGOIL=Затвердіння мазуту +chem.SF_HEAVYOIL=Затвердіння важкої нафти +chem.SF_KEROSENE=Затвердіння гасу +chem.SF_LIGHTOIL=Затвердіння легкої нафти +chem.SF_LUBRICANT=Затвердіння оливи +chem.SF_NAPHTHA=Затвердіння лігроїну +chem.SF_OIL=Затвердіння сирої нафти +chem.SF_PETROIL=Затвердіння бензину +chem.SF_PETROLEUM=Затвердіння нафтового газу +chem.SF_RECLAIMED=Затвердіння очищеної оливи +chem.SF_SMEAR=Затвердіння промислової оливи +chem.SHELL_CHLORINE=Виробництво артилерійських снарядів з хлором +chem.SHELL_MUSTARD=Виробництво артилерійських снарядів з іпритом +chem.SHELL_PHOSGENE=Виробництво артилерійських снарядів з фосгеном +chem.SOLID_FUEL=Виробництво твердого ракетного палива +chem.SOLVENT=Змішування органічних розчинників +chem.STEAM=Кип'ятіння води +chem.SULFURIC_ACID=Виробництво сірчаної кислоти +chem.TATB=Синтез тріамінотрінітробензолу +chem.TEL=Змішування тетраетилсвинцю +chem.TEST=Test +chem.THORIUM_SALT=Збагачення торієвої солі +chem.TNT=Синтез тринітротолуолу +chem.UF6=Виробництво гексафториду урану +chem.VIT_GAS=Осклування газоподібних ядерних відходів +chem.VIT_LIQUID=Осклування рідких ядерних відходів +chem.XENON=Ксеноновий цикл Лінде +chem.XENON_OXY=Покращений ксеноновий цикл Лінде +chem.YELLOWCAKE=Виробництво єлоукейка + +commands.satellite.no_active_satellites=Активних супутників не знайдено! +commands.satellite.no_satellite=Супутників, що використовують цю частоту, не знайдено! +commands.satellite.not_a_satellite=Утримуваний предмет не є супутником! +commands.satellite.satellite_descended=Супутник успішно спустився. +commands.satellite.satellite_orbited=Супутник запущено. +commands.satellite.should_be_run_as_player=Цю команду має виконати гравець! + +container.ammoBag=Сумка для боєприпасів +container.amsBase=AMS Base (Deco) +container.amsEmitter=AMS Emitter (Deco) +container.amsLimiter=AMS Stabilizer (Deco) +container.anvil=Ковадло %s рівня +container.arcFurnace=Дугова піч +container.armorTable=Стіл модифікації броні +container.ashpit=Зольник +container.assembler=Збиральна машина +container.autocrafter=Автоматичний верстак +container.barrel=Бочка +container.bat9000=Big-Ass цистерна 9000 +container.battery=Накопичувач енергії +container.bombMulti=Багатоцільова бомба +container.casingBag=Сумка для гільз +container.catalyticReformer=Каталітичний риформер +container.centrifuge=Центрифуга +container.chemplant=Хімічний завод +container.compactLauncher=Компактний стартовий майданчик +container.craneBoxer=Конвеєрний пакувальник +container.craneExtractor=Конвеєрний витягувач +container.craneGrabber=Конвеєрний збирач +container.craneInserter=Конвеєрний вставник +container.craneRouter=Конвеєрний сортувальник +container.craneUnboxer=Конвеєрний розпакувальник +container.crateDesh=Деш ящик +container.crateIron=Залізний ящик +container.crateSteel=Сталевий ящик +container.crateTemplate=Ящик шаблонів +container.crateTungsten=Вольфрамовий ящик +container.crystallizer=Рудний окислювач +container.cyclotron=Циклотрон +container.dfcCore=Реактор темного синтезу +container.dfcEmitter=DFC Emitter +container.dfcInjector=DFC Fuel Injector +container.dfcReceiver=DFC Receiver +container.dfcStabilizer=DFC Stabilizer +container.diFurnace=Доменна піч +container.diFurnaceRTG=Ядерна доменна піч +container.droneCrate=Ящик для транспортних дронів +container.droneDock=Дрон-станція +container.droneProvider=Постачальник дронів +container.droneRequester=Запитувач дронів +container.electricFurnace=Електрична піч +container.epress=Електричний прес +container.exposureChamber=Камера опромінювання частинками +container.factoryAdvanced=Розширена фабрика +container.factoryTitanium=Базова фабрика +container.fluidtank=Цистерна +container.fileCabinet=Картотечна шафа +container.forceField=Випромінювач силового поля +container.frackingTower=Вежа гідророзриву пласта +container.furnaceBrick=Цегляна піч +container.furnaceCombination=Коксова піч +container.furnaceIron=Залізна піч +container.furnaceSteel=Сталева піч +container.fusionMultiblock=Великий термоядерний реактор +container.fusionaryWatzPlant=Реактор Ватцз електростанції +container.gasCentrifuge=Газова центрифуга +container.gasFlare=Факельна лінія +container.generator=Ядерний реактор +container.hadron=Прискорювач частинок +container.heaterFirebox=Нагрівальна топка +container.heaterHeatex=Теплообмінник +container.heaterOilburner=Спалювач рідини +container.heaterOven=Нагрівальна піч +container.hydrotreater=Гідроочисник +container.iGenerator=Промисловий генератор +container.keyForge=Стіл замочника +container.launchPad=Стартовий майданчик +container.launchPadRusted=Стартовий майданчик +container.launchTable=Великий стартовий майданіще +container.leadBox=Свинцевий ящик +container.machineAmmoPress=Прес для боєприпасів +container.machineArcWelder=Дуговий зварювальник +container.machineArcFurnaceLarge=Дугова піч +container.machineBoiler=Нагрівач нафти +container.machineChemicalFactory=Хімічна фабрика +container.machineChemicalPlant=Хімічний завод +container.machineCMB=CMB Steel Furnace +container.machineCoal=Твердопаливний генератор +container.machineCoker=Коксова установка +container.machineCompressor=Компресор +container.machineCrucible=Ливарня +container.machineDiesel=Дизельний генератор +container.machineElectricBoiler=Електричний нагрівач нафти +container.machineElectrolyser=Електролізер +container.machineFEL=FEL +container.machineFunnel=Комбінаторна воронка +container.machineICF=ICF +container.machineICFPress=Виробник паливних гранул ICF +container.machineITER=Термоядерний реактор +container.machineLargeTurbine=Промислова парова турбіна +container.machineLiquefactor=Скраплювач +container.machineMixer=Промисловий змішувач +container.machineOreSlopper=Переробник корінної руди +container.machinePyroOven=Піролізна піч +container.machineRefinery=Нафтопереробний завод +container.machineRotaryFurnace=Роторна піч +container.machineSelenium=Радіальний двигун +container.machineShredder=Подрібнювач +container.machineSILEX=SILEX +container.machineSolderingStation=Паяльна станція +container.machineSolidifier=Затверджувач +container.machineStrandCaster=Установка безперервного лиття +container.machineTurbine=Парова турбіна +container.machineTurbofan=Турбовентилятор +container.machineWoodBurner=Дров'яна піч +container.machine_schrabidium_transmutator=Пристрій для трансмутації шрабідію +container.massStorage=Сховище +container.microwave=Мікрохвильова піч +container.miningDrill=Автоматичний гірничий бур +container.miningLaser=Шахтарський лазер +container.missileAssembly=Станція збірки ракет +container.nukeBoy=Малюк +container.nukeCustom=Кастомна бомба +container.nukeFleija=F.L.E.I.J.A. +container.nukeFstbmb=BF бомба +container.nukeFurnace=Ядерна піч +container.nukeGadget=Гаджет +container.nukeMan=Товстун +container.nukeMike=Айві Майк +container.nukeN2=N² Міна +container.nukeN45=Морська міна N45 +container.nukePrototype=Прототип +container.nukeSolinium=Солінієвий стерилізатор +container.nukeTsar=Цар-бомба +container.oilWell=Нафтова вежа +container.orbus=Важка магнітна цистерна +container.paDetector=Детектор +container.paDipole=Диполь +container.paQuadrupole=Квадруполь +container.paSource=Джерело частинок +container.plasmaHeater=Нагрівач плазми +container.pneumoTube=Пневматична труба +container.press=Твердопаливний прес +container.puf6_tank=Цистерна гексафториду плутонію +container.pumpjack=Верстат-гойдалка +container.radGen=Радіаційний двигун +container.radar=Радар +container.radiobox=FM-передавач +container.radiolysis=РІТЕГ та радіолізна камера +container.radiorec=FM радіо +container.rbmkBoiler=Паровий канал РБМК +container.rbmkControl=Регулюючий стрижень РБМК +container.rbmkControlAuto=Автоматичний регулюючий стрижень РБМК +container.rbmkHeater=Нагрівач рідини РБМК +container.rbmkOutgasser=Канал опромінення РБМК +container.rbmkReaSim=Паливний стрижень РБМК (ReaSim) +container.rbmkRod=Паливний стрижень РБМК +container.rbmkStorage=Колона зберігання РБМК +container.reactorBreeding=Реактор-розмножувач +container.reactorControl=Блок дистанційного керування реактором +container.reactorLarge=Великий ядерний реактор +container.reactorResearch=Дослідницький реактор +container.reix=Rei-X Mainframe +container.rtg=РІТЕГ +container.rtgFurnace=РІТЕГ піч +container.rttyController=Редстоун-радіо контролер +container.rttyCounter=Редстоун-радіо лічильник предметів +container.rttyLogic=Редстоун-радіо логічний приймач +container.rttyReader=Редстоун-радіо зчитувач +container.rttyReceiver=Редстоун-радіо приймач +container.rttySender=Редстоун-радіо передавач +container.safe=Сейф +container.satDock=Вантажний посадковий майданчик +container.satLinker=SatLink Device +container.siren=Сирена +container.soyuzCapsule=Вантажна посадкова капсула +container.soyuzLauncher=Стартовий майданчик "Союза" +container.storageDrum=Бочка для захоронення ядерних відходів +container.teleLinker=TelLink Device +container.teleporter=Телепорт +container.toolBox=Ящик для інструментів +container.trainTram=Трамвай з платформою +container.turbinegas=Газова турбіна комбінованого циклу +container.turretArty=Грег +container.turretChekhov=Косторіз +container.turretFriendly=Містер Дружній +container.turretFritz=Фріц +container.turretHIMARS=Генрі +container.turretHoward=Говард +container.turretJeremy=Джеремі +container.turretMaxwell=Максвелл +container.turretRichard=Річард +container.turretSentry=Браун +container.turretTauon=Тауон +container.uf6_tank=Цистерна гексафториду урану +container.vacuumDistill=Вакуумний нафтопереробний завод +container.wasteDrum=Контейнер охолодження відпрацьованого палива +container.watzPowerplant=Ватцз електростанція +container.weaponsTable=Стіл модифікації зброї +container.zirnox=Ядерний реактор ЦИРНОКС + +copytool.filter=Фільтр +copytool.invertRedstone=Інвертований редстоун +copytool.invertFilter=Інвертований фільтр +copytool.orientation=Орієнтація +copytool.pattern0=Червона сторона +copytool.pattern1=Помаранчева сторона +copytool.pattern2=Жовта сторона +copytool.pattern3=Зелена сторона +copytool.pattern4=Блакитна сторона +copytool.pattern5=Фіолетова сторона + +crucible.aa=Виробництво удосконаленого сплаву +crucible.abronze=Виробництво миш'якової бронзи +crucible.bbronze=Виробництво вісмутової бронзи +crucible.bscco=Виробництво вісмут стронцій кальцій мідь оксиду (BSCCO) +crucible.cdalloy=Виробництво кадмієвої сталі +crucible.cmb=Виробництво сталі комбайнів +crucible.ferro=Виробництво фероурану +crucible.hematite=Виробництво заліза з гематиту +crucible.hss=Виробництво швидкорізальної сталі +crucible.malachite=Виробництво міді з малахіту +crucible.magtung=Виробництво намагніченого вольфраму +crucible.redcopper=Виробництво червоної міді +crucible.steel=Виробництво сталі +crucible.steelMeteoric=Виробництво сталі з метеоритного заліза +crucible.steelPig=Steel Виробництво сталі з чавуну +crucible.steelWrought=Виробництво сталі з кованого заліза +crucible.tcalloy=Виробництво технецієвої сталі + +damage.inset=Опір при повному комплекті: +damage.item=Опір до: +damage.category.EN=Енергії +damage.category.EXPL=Вибухів +damage.category.FIRE=Вогню +damage.category.PROJ=Снарядів +damage.exact.drown=Утоплення +damage.exact.fall=Падіння +damage.exact.LASER=Лазерів +damage.exact.onFire=Горіння +damage.other=Інше + +death.attack.acid=%1$s впав у кислоту. +death.attack.acidPlayer=%1$s був розчинений %2$s. +death.attack.ams=%1$s був наповнений смертоносними частинками, яким людство ще не дало назви. +death.attack.amsCore=%1$s випарувався у вогні сингулярності. +death.attack.asbestos=%1$s тепер має право на фінансову компенсацію. +death.attack.bang=%1$s розірвано на кусочки. +death.attack.blackhole=%1$s перетворився на спагеті. +death.attack.blacklung=%1$s помер від антракозу легень. +death.attack.blender=%1$s перетворився на фарш. +death.attack.boat=%1$s був збитий човном. +death.attack.boil=%1$s був зварений живцем %2$s. +death.attack.boxcar=%1$s розчавлений падаючим вагоном. Ох ну. +death.attack.broadcast=У %1$s розтопився мозок. +death.attack.building=%1$s розчавлений будівлею. +death.attack.cheater=Кишки %1$s перетворилися на овес. (???) +death.attack.chopperBullet=%1$s was rekt by %2$s. +death.attack.cloud=%1$s розтанув, як морозиво на сонці. +death.attack.cmb=%1$s was fizzeled by %2$s. +death.attack.digamma=%1$s ступив у безодню. +death.attack.electricity=%1$s був вбитий електричним струмом. +death.attack.electrified=%1$s був вбитий електричним струмом %2$s. +death.attack.euthanized=%1$s евтанізований %2$s. +death.attack.euthanizedSelf2=%1$s отримує премію Дарвіна. +death.attack.euthanizedSelf=%1$s зробив собі евтаназію, який придурок. +death.attack.exhaust=%1$s перетворений на шашлик взлітаючою ракетою. +death.attack.flamethrower=%1$s був кремований %2$s. +death.attack.flamethrower.item=%1$s був кремований %2$s за допомогою %3$s. +death.attack.ice=%2$s перетворив %1$s на морозиво. +death.attack.laser=%2$s перетворив на попіл %1$s. +death.attack.laser.item=%2$s перетворив %1$s на попіл за допомогою %3$s. +death.attack.lead=%1$s помер від отруєння свинцем. +death.attack.lunar=%1$s забув зарядити свої життєво важливі органи. +death.attack.meteorite=%1$s постраждав від падіння каменю з космосу. +death.attack.microwave=%1$s вибухнув під дією мікрохвильового випромінювання. +death.attack.mku=%1$s помер з невідомих причин. +death.attack.monoxide=%1$s забув замінити батарейки у своєму детекторі чадного газу. +death.attack.mudPoisoning=%1$s помер в токсичних відходах +death.attack.nuclearBlast=%1$s був стертий ядерним вибухом +death.attack.overdose=%1$s отримав передозування та задухнувся. +death.attack.pc=%1$s перетворився на калюжу в рожевій хмарі. +death.attack.plasma=%1$s був спалений %2$s. +death.attack.radiation=%1$s помер від радіаційного отруєння. +death.attack.revolverBullet=%1$s отримав постріл у голову від %2$s. +death.attack.revolverBullet.item=%1$s отримав постріл у голову від %2$s за допомогою %3$s. +death.attack.rubble=%1$s розчавлений уламками. +death.attack.shrapnel=%1$s посічений осколками. +death.attack.spikes=%1$s був проколотий. +death.attack.subAtomic1=%1$s's atoms have been destroyed by %2$s. +death.attack.subAtomic2=%1$s was QPU-misaligned because %2$s tampered with their de facto speed. +death.attack.subAtomic3=%1$s's divergence dropped below 1 percent because of %2$s. +death.attack.subAtomic4=%1$s was divided by zero by %2$s. +death.attack.subAtomic5=%1$s was nullified by %2$s. +death.attack.suicide=%1$s розніс собі голову. +death.attack.taint=%1$s died from flux tumors. +death.attack.tau=%1$s was riddeled by %2$s using negatively charged tauons. +death.attack.tauBlast=%1$s charged the XVL1456 for too long and was blown into pieces. +death.attack.teleporter=%1$s телепортувався в небуття. + +death.sedna.electric=%1$s was fried. +death.sedna.electric.attacker=%1$s was fried by %2$s. +death.sedna.explosive=%1$s was blown up. +death.sedna.explosive.attacker=%1$s was blown up by %2$s. +death.sedna.fire=%1$s was incinerated. +death.sedna.fire.attacker=%1$s was incinerated by %2$s. +death.sedna.laser=%1$s was pulverized. +death.sedna.laser.attacker=%1$s was pulverized by %2$s. +death.sedna.microwave=%1$s was microwaved. +death.sedna.microwave.attacker=%1$s was microwaved by %2$s. +death.sedna.subatomic=%1$s was atomized. +death.sedna.subatomic.attacker=%1$s was atomized by %2$s. +death.sedna.other=%1$s was killed. +death.sedna.other.attacker=%1$s was killed by %2$s. +death.sedna.physical=%1$s was shot. +death.sedna.physical.attacker=%1$s was shot by %2$s. + +desc.gui.assembler.warning=§cПомилка:§r Для цієї машини потрібен шаблон для збірки! +desc.gui.chemplant.warning=§cПомилка:§r Для цієї машини потрібен хімічний шаблон! +desc.gui.gasCent.enrichment=§2Збагачення§r$Збагачення урану вимагає каскадів.$Двоцентрифужні каскади даватимуть$уранове паливо, чотирицентрифужні каскади$забезпечать повне розділення. +desc.gui.gasCent.output=§6Переміщення рідини§r$Рідину можна передавати в іншу центрифугу$через вихідний отвір для подальшої обробки. +desc.gui.nukeBoy.desc=§1Вимагає:§r$ * Нейтронний щит$ * Снаряд U235$ * Субкритична ціль U235$ * Кордитний заряд$ * Запальник бомби +desc.gui.nukeGadget.desc=§1Вимагає:§r$ * 4 Масиви вибухових лінз$ Першого покоління$ * Велике плутонієве ядро$ * Проводка +desc.gui.nukeMan.desc=§1Вимагає:§r$ * 4 Масиви вибухових лінз$ Першого покоління$ * Плутонієве ядро$ * Блок детонатор +desc.gui.nukeMike.desc=§1Вимагає:§r$ * 4 Масиви вибухових лінз$ * Плутонієве ядро$ * Deuterium Cooling Unit$ * Уранове покриття дейтерієвого баку$ * Дейтерієвий бак +desc.gui.nukeTsar.desc=§1Вимагає:§r$ * 4 Масиви вибухових лінз$ * Плутонієве ядро$§9Опціонально:§r$ * Ядро Цар-бомби +desc.gui.rttyLogic.cond0=Сигнал §6МЕНШЕ§r Константи +desc.gui.rttyLogic.cond1=Сигнал §6МЕНШЕ АБО ДОРІВНЮЄ§r Константі +desc.gui.rttyLogic.cond2=Сигнал §6БІЛЬШЕ АБО ДОРІВНЮЄ§r Константі +desc.gui.rttyLogic.cond3=Сигнал §6БІЛЬШЕ§r Константи +desc.gui.rttyLogic.cond4=Сигнал §6ДОРІВНЮЄ§r Константі +desc.gui.rttyLogic.cond5=Сигнал §6НЕ ДОРІВНЮЄ§r Константі +desc.gui.rttyLogic.cond6=Сигнал §6ВІДПОВІДАЄ§r Рядку +desc.gui.rttyLogic.cond7=Сигнал §6НЕ ВІДПОВІДАЄ§r Рядку +desc.gui.rttyLogic.cond8=Сигнал §6МІСТИТЬ§r Рядок +desc.gui.rttyLogic.cond9=Сигнал §6НЕ МІСТИТЬ§r Рядок +desc.gui.radiolysis.desc=§9Опис§r$Цей РІТЕГ ефективніший за інші та$обладнаний камерою радіолізу для$крекінгу та стерилізації. +desc.gui.rtgBFurnace.desc=Для роботи потрібно принаймні 15 тепла$Чим більше тепла, тим швидше він працює$Нагрівання, що перевищує максимальну швидкість, не матиме жодного ефекту$Короткоживучі пелети можуть розкладатися +desc.gui.rtg.heat=§eПоточний рівень тепла: %s +desc.gui.rtg.pellets=Допустимі пелети: +desc.gui.rtg.pelletHeat=%s (%s тепла) +desc.gui.rtg.pelletPower=%s (%s HE/тік) +desc.gui.template=§9Шаблони§r$Шаблони можна створювати за$допомогою Папки шаблонів машин. +desc.gui.turbinegas.automode=§2Режим автоматичного дроселювання турбіни§r$Натиснувши кнопку "AUTO", турбіна$втоматично відрегулює виробництво електроенергії$на основі необхідної енергії в мережі +desc.gui.turbinegas.fuels=§6Допустимі види палива:§r +desc.gui.turbinegas.warning=§cНизький рівень палива або мастила!§r +desc.gui.zirnox.coolant=§3Охолодження§r$CO2 передає тепло від реактора до води.$Це скип'ятить її до надзвичайно гарячу пару$Ефективність охолодження та виробництва пари$залежить від тиску. +desc.gui.zirnox.pressure=§6Тиск§r$Тиск можна зменшити, випустивши CO2.$Однак занадто низький тиск призведе до зниження$ефективності охолодження та виробництва пари.$Остерігайтеся розплавлення! +desc.gui.zirnox.warning1=§cПомилка:§r Для нормальної роботи$реактора потрібна вода! +desc.gui.zirnox.warning2=§cПомилка:§r Для нормальної роботи$реактора потрібен CO2! + +desc.item.ammo.con_accuracy2=- Сильно знижена точність +desc.item.ammo.con_damage=- Сильно зменшена шкода +desc.item.ammo.con_heavy_wear=- Сильно підвищений знос +desc.item.ammo.con_ling_fire=- Немає затяжного вогню +desc.item.ammo.con_nn=- Навіть не ядерка +desc.item.ammo.con_no_damage=- No damage +desc.item.ammo.con_no_explode1=- Non-explosive +desc.item.ammo.con_no_explode2=- No block damage +desc.item.ammo.con_no_explode3=- No splash damage +desc.item.ammo.con_no_fire=- Not incendiary +desc.item.ammo.con_no_mirv=- Not recommended for the Proto MIRV +desc.item.ammo.con_no_projectile=- No projectile +desc.item.ammo.con_penetration=- Not penetrating +desc.item.ammo.con_radius=- Decreased blast radius +desc.item.ammo.con_range2=- Highly decreased range +desc.item.ammo.con_sing_projectile=- Single projectile +desc.item.ammo.con_speed=- Decreased projectile speed +desc.item.ammo.con_super_wear=- Very highly increased wear +desc.item.ammo.con_wear=- Increased wear +desc.item.ammo.neu_40mm=* It's a 40mm grenade that we squeezed to fit the barrel! +desc.item.ammo.neu_blank=* It's a blank +desc.item.ammo.neu_boat=* Boat +desc.item.ammo.neu_boxcar=* Boxcar +desc.item.ammo.neu_building=* Building +desc.item.ammo.neu_chlorophyte=* Chlorophyte +desc.item.ammo.neu_eraser=* For removing big mistakes +desc.item.ammo.neu_fun=* Fun for the whole family! +desc.item.ammo.neu_heavy_metal=* Heavy Metal +desc.item.ammo.neu_homing=* Homing +desc.item.ammo.neu_jolt=* Jolt +desc.item.ammo.neu_leadburster=* Attaches to surfaces and sprays bullets +desc.item.ammo.neu_less_bouncy=* Less bouncy +desc.item.ammo.neu_maskman_flechette=* Fires a tracer which summons a storm of DU-flechettes +desc.item.ammo.neu_maskman_meteorite=* Fires a high-damage round that summons a small meteorite +desc.item.ammo.neu_more_bouncy=* Extra bouncy +desc.item.ammo.neu_no_bounce=* Not bouncy +desc.item.ammo.neu_no_con=* No drawbacks lole +desc.item.ammo.neu_starmetal=* Starmetal +desc.item.ammo.neu_tracer=* Tracer +desc.item.ammo.neu_uhh=* Uhhh +desc.item.ammo.neu_warcrime1=* Technically a warcrime +desc.item.ammo.neu_warcrime2=* Twice the warcrime in a single round! +desc.item.ammo.pro_accurate1=+ Increased accuracy +desc.item.ammo.pro_accurate2=+ Near-perfect accuracy +desc.item.ammo.pro_balefire=+ Balefire +desc.item.ammo.pro_bomb_count=+ Increased bomb count +desc.item.ammo.pro_caustic=+ Caustic +desc.item.ammo.pro_chainsaw=+ Chainsaw +desc.item.ammo.pro_chlorine=+ Chlorine gas +desc.item.ammo.pro_damage=+ Increased damage +desc.item.ammo.pro_damage_slight=+ Above average damage +desc.item.ammo.pro_emp=+ EMP +desc.item.ammo.pro_explosive=+ Explosive +desc.item.ammo.pro_fallout=+ Fallout +desc.item.ammo.pro_fit_357=+ Fits every .357 model +desc.item.ammo.pro_flames=+ Increased flame count +desc.item.ammo.pro_gravity=+ Decreased gravity +desc.item.ammo.pro_heavy_damage=+ Highly increased damage +desc.item.ammo.pro_incendiary=+ Incendiary +desc.item.ammo.pro_lunatic=+ Lunatic +desc.item.ammo.pro_marauder=+ Instantly removes annoying and unbalanced enemies +desc.item.ammo.pro_mining=+ Explosion drops all blocks +desc.item.ammo.pro_no_gravity=+ Not affected by gravity +desc.item.ammo.pro_nuclear=+ Nuclear +desc.item.ammo.pro_penetration=+ Penetrating +desc.item.ammo.pro_percussion=+ Percussive blast +desc.item.ammo.pro_phosphorus=+ Induces phosphorus burns +desc.item.ammo.pro_phosphorus_splash=+ Phosphorus splash +desc.item.ammo.pro_poison_gas=+ Poison splash +desc.item.ammo.pro_radius=+ Increased blast radius +desc.item.ammo.pro_radius_high=+ Highly increased blast radius +desc.item.ammo.pro_range=+ Increased range +desc.item.ammo.pro_rocket=+ Rocket +desc.item.ammo.pro_rocket_propelled=+ Rocket Propelled +desc.item.ammo.pro_shrapnel=+ Shrapnel +desc.item.ammo.pro_speed=+ Increased projectile speed +desc.item.ammo.pro_stunning=+ Stunning +desc.item.ammo.pro_toxic=+ Toxic +desc.item.ammo.pro_wear=+ Decreased wear +desc.item.ammo.pro_withering=+ Withering +desc.item.armorMod.display=відобразити встановлені модифікації броні +desc.item.battery.charge=Заряд: %s / %sHE +desc.item.battery.chargePerc=Заряд: %s%% +desc.item.battery.chargeRate=Швидкість заряджання: %sHE/тік +desc.item.battery.dischargeRate=Швидкість розряджання: %sHE/тік +desc.item.durability=Міцність: %s +desc.item.grenade.fuse=Затримка: %s +desc.item.grenade.fuseImpact=Зіткнення +desc.item.grenade.fuseInstant=Миттєво +desc.item.gun.ammo=Боєприпаси %s +desc.item.gun.ammoBelt=Стрічка +desc.item.gun.ammoEnergy=Енергія; %sHE за постріл +desc.item.gun.ammoEnergyAlt=%sHE за альтернативний постріл +desc.item.gun.ammoMag=%s / %s +desc.item.gun.ammoType=Тип боєприпасів: %s +desc.item.gun.ammoTypeAlt=Вторинні боєприпаси: %s +desc.item.gun.damage=Шкода: %s - %s +desc.item.gun.damageAlt=Шкода: %s +desc.item.gun.lore=щоб переглянути більш глибокий лор +desc.item.gun.loreFunc=щоб переглянути більш детальний функціонал +desc.item.gun.manufacturer=Виробник: %s +desc.item.gun.name=Назва: %s +desc.item.gun.pellets=Снаряди: %s - %s +desc.item.gun.penetration=Значення пробиття броні: %s +desc.item.kitArmor=Броня буде замінена новим комплектом. +desc.item.kitHaz=Броня буде замінена захисним костюмом. +desc.item.kitPack=Яка вигідна угода! +desc.item.kitPool=Будь ласка, звільніть інвентар перед відкриттям! +desc.item.pileRod=§eВикористовуйте на просвердленому графіті для вставки$§eВикористовуйте викрутку, щоб вийняти$ +desc.item.pipette.corrosive=Може впоратися з корозійними рідинами. +desc.item.pipette.laboratory=Тепер із 50-кратною точністю! +desc.item.pipette.noCorrosive=§eНе може впоратися з корозійними рідинами. +desc.item.pipette.noEmpty=§eПіпетка не порожня! +desc.item.rtgDecay=Розпадається на: %s +desc.item.rtgHeat=Рівень потужності: %s +desc.item.storage.capacity=Ємність %s%%s +desc.item.storage.proscons=щоб переглянути список плюсів і мінусів +desc.misc.357=.357 Magnum +desc.misc.556=.223 Remington +desc.misc.762=.308 Winchester +desc.misc.func=§n-- Функція -- +desc.misc.lanthanum="Лантан" +desc.misc.lctrl=§8Утримуйте <§e§oLCTRL§8§o> %s +desc.misc.lore=§n-- Лор -- +desc.misc.lshift=§8Утримуйте <§e§oLSHIFT§8§o> %s +desc.misc.luna=§o20x155mm Lunatic +desc.misc.meltPoint=Точка плавлення: §c%s +desc.misc.noPos=Позиція не встановлена! +desc.misc.pos=Позиція встановлена на: %s, %s, %s +desc.misc.posSet=Позиція встановлена! +desc.item.wasteCooling=Охолодити в Контейнері охолодження відпрацьованого палива +desc.item.zirnoxBreedingRod=§2[Розмножувальний стрижень ЦИРНОКС]$§eРозмістіть поруч паливні стрижні для розмноження$§eТривалість роботи %d тіків +desc.item.zirnoxRod=§a[Паливний стрижень ЦИРНОКС]$§eГенерує %1$d тепла за тік$§eТривалість роботи %2$d тіків + +digamma.playerDigamma=Digamma exposure: +digamma.playerHealth=Digamma influence: +digamma.playerRes=Digamma resistance: +digamma.title=DIGAMMA DIAGNOSTIC + +entity.entity_cyber_crab.name=Кіберкраб +entity.entity_elder_one.name=Крякос Старший +entity.entity_fucc_a_ducc.name=Качка +entity.entity_glyphid.name=Гліфід +entity.entity_glyphid_behemoth.name=Гліфід Бегемот +entity.entity_glyphid_blaster.name=Гліфід Бластер +entity.entity_glyphid_bombardier.name=Гліфід Бомбардир +entity.entity_glyphid_brawler.name=Гліфід Боєць +entity.entity_glyphid_brenda.name=Бренда +entity.entity_glyphid_digger.name=Гліфід Копач +entity.entity_glyphid_nuclear.name=Великий Джонсон +entity.entity_glyphid_scout.name=Гліфід Розвідник +entity.entity_ntm_fbi.name=Агент ФБР +entity.entity_ntm_fbi_drone.name=Дрон ФБР +entity.entity_ntm_radiation_blaze.name=Елементаль Розплавлення +entity.hbm.entity_ntm_ufo.name=Марсіанький корабель НЛО +entity.entity_mob_hunter_chopper.name=Гвинтокрил Мислиивець +entity.entity_mob_mask_man.name=Маскмен +entity.entity_mob_gold_creeper.name=Золотий Кріпер +entity.entity_mob_nuclear_creeper.name=Ядерний Кріпер +entity.entity_mob_phosgene_creeper.name=Фосгений Кріпер +entity.entity_mob_tainted_creeper.name=Інфікований Кріпер +entity.entity_mob_volatile_creeper.name=Шлаковий Кріпер +entity.entity_parasite_maggot.name=Паразитична личинка +entity.entity_pigeon.name=Голуб +entity.entity_plastic_bag.name=Пластиковий пакет +entity.entity_taint_crab.name=Інфікований Краб +entity.entity_tesla_crab.name=Тесла Краб +entity.hbm.entity_balls_o_tron.name=Баллс-О-Трон Прайм +entity.hbm.entity_balls_o_tron_seg.name=Баллс-О-Трон Сегмент +entity.hbm.entity_bullet.name=Куля +entity.hbm.entity_rocket.name=Ракета +entity.hbm.entity_schrabnel.name=Шрапнель + +excavator.crusher=Перемикач подрібнювача +excavator.drill=перемикач бура +excavator.silktouch=Перемикач шовкового дотику +excavator.veinminer=Перемикач жилкового майнера +excavator.walling=Перемикач будівництва стін + +flare.ignition=Запалювання +flare.valve=Перепускний клапан + +fluid.acid_fluid=Кислота +fluid.corium_fluid=Коріум +fluid.mud_fluid=Токсичні відходи +fluid.rad_lava_fluid=Радіоактивна вулканічна лава +fluid.schrabidic_fluid=Шрабідієва кислота +fluid.toxic_fluid=Стереотипний зелений слиз +fluid.volcanic_lava_fluid=Вулканічна лава + +foundry.filter=Фільтр %s +foundry.inverted=Редстоун інвертований +foundry.invertFilter=Фільтр інвертований +foundry.noCast=Форма не встановлена! + +geiger.chunkRad=Поточний рівень радіації в чанку: +geiger.envRad=Загальний рівень радіації довкілля: +geiger.playerRad=Рівень опромінення гравця: +geiger.playerRes=Рівень захищеності гравця: +geiger.title=ЛІЧИЛЬНИК ГЕЙГЕРА +geiger.title.dosimeter=ДОЗИМЕТР + +gun.make.ARMALITE=Armalite +gun.make.AUTO_ORDINANCE=Auto-Ordnance Corporation +gun.make.BAE=BAE Systems plc +gun.make.BENELLI=Benelli Armi SpA +gun.make.BLACK_MESA=Black Mesa Research Facility +gun.make.CERIX=Cerix Magnus +gun.make.COLT=Colt's Manufacturing Company +gun.make.COMBINE=The Universal Union +gun.make.CUBE=Cube 2: Sauerbraten +gun.make.DRG=Deep Rock Galactic +gun.make.ENZINGER=Enzinger Union +gun.make.EQUESTRIA=Equestria Missile Systems +gun.make.FLIMFLAM=FlimFlam Industries +gun.make.F_STRONG=Fort Strong +gun.make.GLORIA=Gloria GmbH +gun.make.HASBRO=Hasbro +gun.make.H_AND_K=Heckler & Koch +gun.make.H_AND_R=Harrington & Richardson +gun.make.IF=Ironshod Firearms +gun.make.IMI=Israel Military Industries +gun.make.IMI_BIGMT=IMI / Big MT +gun.make.LANGFORD=Langford Research Laboratories +gun.make.LUNA=Lunar Defense Corp +gun.make.MAGNUM_R_IMI=Magnum Research / Israel Military Industries +gun.make.MANN=Open Mann Co. +gun.make.MAXIM=Hiram Maxim +gun.make.METRO=Metro Gunsmiths +gun.make.MWT=MWT Prototype Labs +gun.make.NAWS=Kayarm Industries +gun.make.ERFURT=Erfurter Maschinenfabrik Geipel +gun.make.NONE=- +gun.make.RAYTHEON=Raytheon Missile Systems +gun.make.REMINGTON=Remington Arms +gun.make.ROCKWELL=Rockwell International Corporation +gun.make.ROCKWELL_U=Rockwell International Corporation? +gun.make.RYAN=Ryan Industries +gun.make.SAAB=Saab Bofors Dynamics +gun.make.SACO=Saco Defense / US Ordnance +gun.make.TULSKY=Tulsky Oruzheiny Zavod +gun.make.UAC=Union Aerospace Corporation +gun.make.UNKNOWN=??? +gun.make.WESTTEK=WestTek +gun.make.WGW=Wilhelm-Gustloff-Werke +gun.make.WINCHESTER=Winchester Repeating Arms Company +gun.make.WINCHESTER_BIGMT=Winchester Repeating Arms Company / Big MT + +gun.name.ar15_50=AR-15 .50 BMG Mod +gun.name.baeAR=Britannian Standard Issue Assault Rifle +gun.name.bel=Balefire Egg Launcher +gun.name.benelli=Benelli M4 Super 90 +gun.name.benelliDrum=Benelli M4 Super 90 (Drum Magazine Modification) +gun.name.bio=RI No. 2 Mark 1 +gun.name.bolter=Manticora Pattern Boltgun +gun.name.congoLake=Congo Lake Pump-Action Grenade Launcher +gun.name.cPython=Colt Python +gun.name.cz53=CZ53 Personal Minigun +gun.name.cz57=CZ57 Avenger Minigun +gun.name.dart=Needle Gun +gun.name.deagle=IMI Desert Eagle +gun.name.emp=EMP Orb Projector +gun.name.extinguisher=PROTEX Fire Exinguisher 6kg +gun.name.ffiV=FFI Viper +gun.name.ffiVInox=FFI Viper Inox +gun.name.ffiVLead=FFI Viper Lead +gun.name.ffiVN1=FFI Viper N1 +gun.name.ffiVN2=FFI Viper N2 +gun.name.ffiVUltra=FFI Viper Ultra +gun.name.ffivBling=FFI Viper Bling +gun.name.ffivSatur=FFI Viper D-25A +gun.name.g36=Heckler & Koch Gewehr 36 +gun.name.gPistol=Granatpistole HK69 +gun.name.gustav=Carl Gustav Recoilless Rifle M1 +gun.name.ifHorseshoe=IF-18 Horseshoe +gun.name.ifPit=IF-18 Horseshoe Bottomless Pit +gun.name.ifScope=IF-18 Horseshoe Scoped +gun.name.ifStorm=IF-18 Horseshoe Silver Storm +gun.name.ifVanity=IF-18 Horseshoe Vanity +gun.name.karl=M1 Karl-Gerät +gun.name.ks23=KS-23 +gun.name.lacunae=Auntie Lacunae +gun.name.lasetDet=Hopeville Laser Detonator +gun.name.lunaAR=1986 Bishamonten type Assault Rifle +gun.name.lunaGun=1978 Rāhula type Standard Issue Sidearm (Revision 2) +gun.name.lunaHLR=1944 Chang'e type Light Machine Gun +gun.name.lunaShotty=1978 Guan Yu type Scattergun (Revision 1) +gun.name.lunaSMG=1956 Ānanda type Submachine Gun +gun.name.lunaSniper=1915 Hou Yi type Anti-Material Rifle +gun.name.lunaTWR=Time Warp Rifle +gun.name.m2=Browning machine gun, cal. .50, M2, HB +gun.name.m42=M-42 Tactical Nuclear Catapult +gun.name.m42MIRV=M-42 Experimental MIRV +gun.name.m60=Machine Gun, Caliber 7.62 mm, M60 +gun.name.maxim=Maxim gun +gun.name.maximDouble=Double Maxim gun +gun.name.mg3=Universal-Maschinengewehr Modell 3 +gun.name.mp40=Maschinenpistole 40 +gun.name.nerf=NERF blaster of unknown design +gun.name.osipr=Overwatch Standard Issue Pulse Rifle +gun.name.panz=Raketenpanzerbüchse 54 +gun.name.quadro=OpenQuadro Guided Man-Portable Missile Launcher +gun.name.remington870=Remington 870 +gun.name.revolverCursed=Britannia Standard Issue Motorized Handgun +gun.name.sauer=Sauer Shotgun +gun.name.spas12=Franchi SPAS-12 +gun.name.spiw=H&R SPIW +gun.name.stinger=FIM-92 Stinger man-portable air-defense system +gun.name.stingerOneSky=The One Sky Stinger +gun.name.supershotty=Double-Barreled Combat Shotgun +gun.name.tau=XVL1456 Tau Cannon +gun.name.tommy9=M1A1 Submachine Gun 9mm Mod +gun.name.tommy=M1A1 Submachine Gun +gun.name.topaz=Heavy Duty Flamer +gun.name.uacCarbine=UAC-41 Carbine +gun.name.uacDeagle=UAC-H54 "Martian Raptor" Automag +gun.name.uacDMR=UAC-30 Designated Marksman Rifle +gun.name.uacLMG=UAC-49 Light Machine Gun +gun.name.uacPistol=UAC-B950 .45 Standard Issue Handgun +gun.name.uacSMG=UAC-17 Compact Sub-Machine Gun +gun.name.uboinik=Uboinik Revolving Shotgun +gun.name.uzi=IMI Uzi +gun.name.uziSatur=IMI Uzi D-25A +gun.name.win1887=Winchester Model 1887 +gun.name.win1887Inox=Winchester Model 1887 Inox +gun.name.win20Inox=Winchester Model 20 Inox +gun.name.win20Poly=Winchester Model 20 Polymer +gun.name.win20Satur=Winchester Model 20 D-25A +gun.name.zomg=EMC101 Prismatic Negative Energy Cannon + +hadron.analysis=Аналіз... +hadron.buttonOn=Аналітична камера (якщо є) УВІМКНЕНА +hadron.buttonOff=Аналітична камера ВИМКНЕНА +hadron.error_generic=Помилка! +hadron.error_no_charge=Error 0x01 [NC] +hadron.error_no_analysis=Error 0x02 [NA] +hadron.error_obstructed_channel=Error 0x03 [OC] +hadron.error_expected_coil=Error 0x04 [EC] +hadron.error_malformed_segment=Error 0x05 [MS] +hadron.error_analysis_too_long=Error 0x06 [ATL] +hadron.error_analysis_too_short=Error 0x07 [ATS] +hadron.error_diode_collision=Error 0x08 [DC] +hadron.error_branching_turn=Error 0x09 [BT] +hadron.hopper0=§eNormal Mode:$All items will be used. +hadron.hopper1=§eHopper Mode:$One item will always remain. +hadron.hopper2=§eSingle Mode:$Only allows one item per slot. +hadron.idle=Idle +hadron.modeCircular=§eCircular Accelerator Mode:$Magnets must loop back into core.$Unlocks more recipes. +hadron.modeLine=§eLinear Accelerator Mode:$Accelerator ends with analysis chamber.$Fewer Recipes. +hadron.noresult=No Result. +hadron.noresult_too_slow=Insuff. momentum! +hadron.noresult_wrong_ingredient=Invalid recipe! +hadron.noresult_wrong_mode=Wrong mode! +hadron.progress=In Progress... +hadron.stats=Previous results: +hadron.stats_coord=Erroring position: %s / %s / %s +hadron.stats_momentum=Momentum: %s +hadron.success=Completed! + +hazard.prot=Захищає від небезпек: +hazard.noprot=Не захищає від: +hazard.bacteria=Бактерій / Аерозолів +hazard.corrosive=Їдких випаровувань +hazard.gasChlorine=Хімічних газів +hazard.gasInert=Інертних газів / Задушливих речовин +hazard.gasMonoxide=Чадного газу +hazard.light=Яскравих спалахів +hazard.nerveAgent=Нервово-паралітичних бойових отруйних речовин +hazard.neverProtects=Ніколи не захищає від: +hazard.particleCoarse=Частинок в повітрі +hazard.particleFine=Твердих часток +hazard.sand=Подразників очей + +hbm.key=NTM Hotkeys +hbm.key.ability=Перемикання здібностей інструмента +hbm.key.abilityAlt=Конфігурація здібностей інструмента +hbm.key.calculator=Калькулятор +hbm.key.copyToolAlt=Інструмент копіювання: Перемикнути вставку +hbm.key.copyToolCtrl=Інструмент копіювання: Застосувати до труб +hbm.key.craneLoad=Завантажити/Розвантажити кран +hbm.key.craneMoveDown=Рухати кран назад +hbm.key.craneMoveLeft=Рухати кран вліво +hbm.key.craneMoveRight=Рухати кран вправо +hbm.key.craneMoveUp=Рухати кран вперед +hbm.key.dash=Ривок +hbm.key.gunPrimary=Основний вогонь +hbm.key.gunSecondary=Альтернативний вогонь +hbm.key.gunTertitary=Приціл +hbm.key.toggleBack=Перемикання реактивного ранця +hbm.key.toggleHUD=Перемикання HUD +hbm.key.toggleMagnet=Перемикання магніта +hbm.key.trainInv=Інвентар поїзда +hbm.key.reload=Перезарядити + +hbmfluid.air=Стиснене повітря +hbmfluid.alumina=Оксид алюмінію +hbmfluid.amat=Антиматерія +hbmfluid.aromatics=Ароматичні вуглеводні +hbmfluid.aschrab=Антишрабідій +hbmfluid.balefire=Ракетне BF паливо +hbmfluid.bauxite_solution=Розчин бокситу +hbmfluid.biofuel=Біопаливо +hbmfluid.biogas=Біогаз +hbmfluid.bitumen=Бітум +hbmfluid.blood=Кров +hbmfluid.blood_hot=Гаряча кров +hbmfluid.calcium_chloride=Розчин хлориду кальцію +hbmfluid.calcium_solution=Розчин кальцію +hbmfluid.carbondioxide=Вуглекислий газ +hbmfluid.chlorine=Хлорний газ +hbmfluid.chlorocalcite_cleaned=Очищений розчин хлорокальциту +hbmfluid.chlorocalcite_mix=Змішаний розчин хлорокальциту +hbmfluid.chlorocalcite_solution=Розчин хлорокальциту +hbmfluid.cholesterol=Розчин холестерину +hbmfluid.coalcreosote=Креозот з вугільної смоли +hbmfluid.coalgas=Вугільний бензин +hbmfluid.coalgas_leaded=Етильований вугільний бензин +hbmfluid.coaloil=Скраплене вугілля +hbmfluid.colloid=Колоїд +hbmfluid.coolant=Охолоджувальна рідина +hbmfluid.coolant_hot=Гаряча охолоджувальна рідина +hbmfluid.crackoil=Крекінгова нафта +hbmfluid.crackoil_ds=Десульфурована крекінгова нафта +hbmfluid.cryogel=Кріогель +hbmfluid.death=Розчин осмистого іридію +hbmfluid.deuterium=Дейтерій +hbmfluid.diesel=Дизель +hbmfluid.diesel_crack=Крекінговий дизель +hbmfluid.diesel_crack_reform=Високоцетановий крекінговий дизель +hbmfluid.diesel_reform=Високоцетановий дизель +hbmfluid.egg=Розчинене яйце +hbmfluid.estradiol=Розчин естрадіолу +hbmfluid.ethanol=Етанол +hbmfluid.enderjuice=Енд Сік +hbmfluid.fishoil=Риб'ячий жир +hbmfluid.fracksol=Розчин для гідророзриву пласта +hbmfluid.fullerene=Розчин фулерену +hbmfluid.gas=Природний газ +hbmfluid.gas_coker=Коксовий газ +hbmfluid.gasoline=Газолін +hbmfluid.gasoline_leaded=Етильований газолін +hbmfluid.heatingoil=Мазут +hbmfluid.heatingoil_vacuum=Важкий мазут +hbmfluid.heavyoil=Важка нафта +hbmfluid.heavyoil_vacuum=Вакуумна важка нафта +hbmfluid.heavywater=Важка вода +hbmfluid.heavywater_hot=Гаряча важка вода +hbmfluid.helium3=Гелій-3 +hbmfluid.helium4=Гелій-4 +hbmfluid.hotcrackoil=Гаряча крекінгова нафта +hbmfluid.hotcrackoil_ds=Десульфурована гаряча крекінгова нафта +hbmfluid.hotoil=Гаряча сира нафта +hbmfluid.hotoil_ds=Десульфурована гаряча сира нафта +hbmfluid.hotsteam=Гаряча пара +hbmfluid.hydrogen=Рідкий водень +hbmfluid.iongel=Іонний гель +hbmfluid.kerosene=Гас +hbmfluid.kerosene_reform=Реактивне паливо +hbmfluid.lava=Лава +hbmfluid.lead=Рідкий свинець +hbmfluid.lead_hot=Гарячий рідкий свинець +hbmfluid.lightoil=Легка нафта +hbmfluid.lightoil_crack=Крекінгова легка нафта +hbmfluid.lightoil_ds=Десульфурована легка нафта +hbmfluid.lightoil_vacuum=Вакуумна легка нафта +hbmfluid.lpg=Скраплений нафтовий газ (СНГ) +hbmfluid.lubricant=Машинна олива +hbmfluid.lye=Луг +hbmfluid.mercury=Ртуть +hbmfluid.mug=Пиво "Кухоль кореневого" +hbmfluid.mug_hot=Гаряче пиво "Кухоль кореневого"" +hbmfluid.mustardgas=Іприт +hbmfluid.naphtha=Лігроїн +hbmfluid.naphtha_coker=Коксовий лігроїн +hbmfluid.naphtha_crack=Крекінговий лігроїн +hbmfluid.naphtha_ds=Десульфурований лігроїн +hbmfluid.nitan=NITAN© 100-октанове суперпаливо +hbmfluid.nitric_acid=Азотна кислота +hbmfluid.nitroglycerin=Нітрогліцерин +hbmfluid.none=Нічого +hbmfluid.oil=Сира нафта +hbmfluid.oil_coker=Коксова нафта +hbmfluid.oil_ds=Десульфурована сира нафта +hbmfluid.oxygen=Рідкий кисень +hbmfluid.oxyhydrogen=Гримучий газ +hbmfluid.pain=Розчин Пандемоніум(III)танталу +hbmfluid.perfluoromethyl=Перфторметил +hbmfluid.perfluoromethyl_cold=Холодний перфторметил +hbmfluid.perfluoromethyl_hot=Гарячий перфторметил +hbmfluid.peroxide=Перекис водню +hbmfluid.petroil=Бензин +hbmfluid.petroil_leaded=Етильований бензин +hbmfluid.petroleum=Нафтовий газ +hbmfluid.pheromone=Феромон-бустер +hbmfluid.pheromone_m=Модифікований феромон-бустер +hbmfluid.phosgene=Фосген +hbmfluid.plasma_bf=BF плазма +hbmfluid.plasma_dh3=Дейтерій-гелій-3 плазма +hbmfluid.plasma_dt=Дейтерій-тритієва плазма +hbmfluid.plasma_hd=Воднево-дейтерієва плазма +hbmfluid.plasma_ht=Воднево-тритієва плазма +hbmfluid.plasma_xm=Гелій-4-киснева плазма +hbmfluid.potassium_chloride=Розчин хлориду калію +hbmfluid.puf6=Гексафторид плутонію PuF6 +hbmfluid.radiosolvent=Високоефективний розчинник +hbmfluid.reclaimed=Очищена промислова олива +hbmfluid.redmud=Червоний шлам +hbmfluid.reformate=Реформоване паливо +hbmfluid.reformgas=Реформований газ +hbmfluid.salient=Зелений салієнт +hbmfluid.sas3=Трисульфід шрабідію +hbmfluid.schrabidic=Шрабідієва кислота +hbmfluid.seedslurry=Посівна суспензія +hbmfluid.slop=Рудний шлам +hbmfluid.smear=Промислова олива +hbmfluid.smoke=Дим +hbmfluid.smoke_leaded=Свинцевий дим +hbmfluid.smoke_poison=Отруйний дим +hbmfluid.sodium=Рідкий натрій +hbmfluid.sodium_hot=Гарячий рідкий натрій +hbmfluid.sodium_aluminate=Алюмінат натрію +hbmfluid.solvent=Розчинник +hbmfluid.sourgas=Сірководень +hbmfluid.spentsteam=Пара низького тиску +hbmfluid.steam=Пара +hbmfluid.stellar_flux=Зоряний флюс +hbmfluid.sulfuric_acid=Сірчана кислота +hbmfluid.sunfloweroil=Соняшникова олія +hbmfluid.superhotsteam=Надзвичайно гаряча пара +hbmfluid.syngas=Вугільний сінтгаз +hbmfluid.thorium_salt=Рідка торієва сіль +hbmfluid.thorium_salt_depleted=Збіднена рідка торієва сіль +hbmfluid.thorium_salt_hot=Гаряча рідка торієва сіль +hbmfluid.tritium=Тритій +hbmfluid.uf6=Гексафторид урану UF6 +hbmfluid.ultrahotsteam=Розпечена пара +hbmfluid.unsaturateds=Ненасичені вуглеводні +hbmfluid.vitriol=Купорос +hbmfluid.wastefluid=Рідкі ядерні відходи +hbmfluid.wastegas=Газоподібні ядерні відходи +hbmfluid.water=Вода +hbmfluid.watz=Токсичні відходи +hbmfluid.woodoil=Деревна смола +hbmfluid.xenon=Ксеноновий газ +hbmfluid.xpjuice=Сік досвіду +hbmfluid.xylene=Алкілбензени (Бензен-Толуен-Ксилен BTX) + +hbmpseudofluid.none=Порожньо +hbmpseudofluid.heuf6=Високозбагачений UF6 +hbmpseudofluid.meuf6=Середньозбагачений UF6 +hbmpseudofluid.leuf6=Низькозбагачений UF6 +hbmpseudofluid.nuf6=Натуральний UF6 +hbmpseudofluid.pf6=Гексафторид плутонію PuF6 +hbmpseudofluid.mud_heavy=Фракція важкого шламу +hbmpseudofluid.mud=Отруйний шламовий газ + +hbmmat.actinium227=Актиній-227 +hbmmat.advancedalloy=Удосконалений сплав +hbmmat.aluminum=Алюміній +hbmmat.americiumrg=Реакторний Америцій +hbmmat.americium241=Америцій-241 +hbmmat.americium242=Америцій-242 +hbmmat.arsenic=Миш'як +hbmmat.arsenicbronze=Миш'якова бронза +hbmmat.asbestos=Азбест +hbmmat.bakelite=Карболіт +hbmmat.bauxite=Боксит +hbmmat.beryllium=Берилій +hbmmat.bismuth=Вісмут +hbmmat.bismuthbronze=Вісмутова бронза +hbmmat.bone=Слонова кістка +hbmmat.borax=Бура +hbmmat.boron=Бор +hbmmat.bscco=Вісмут стронцій кальцій мідь оксид (BSCCO) +hbmmat.cadmium=Кадмій +hbmmat.calcium=Кальцій +hbmmat.carbon=Вуглець +hbmmat.cdalloy=Кадмієва сталь +hbmmat.chlorocalcite=Хлорокальцит +hbmmat.cinnabar=Кіновар +hbmmat.cmbsteel=Сталь комбайнів +hbmmat.coal=Вугілля +hbmmat.coalcoke=Вугільний кокс +hbmmat.cobalt=Кобальт +hbmmat.cobalt60=Кобальт-60 +hbmmat.coltan=Колтан +hbmmat.copper=Мідь +hbmmat.cryolite=Кріоліт +hbmmat.desh=Деш +hbmmat.diamond=Алмаз +hbmmat.dineutronium=Динейтроній +hbmmat.durasteel=Швидкорізальна сталь +hbmmat.emerald=Смарагд +hbmmat.euphemium=Евфемій +hbmmat.ferrouranium=Фероуран +hbmmat.fiberglass=Скловолокно +hbmmat.fluorite=Флюорит +hbmmat.flux=Флюс +hbmmat.ghiorsium336=Ґіорсій-336 +hbmmat.gold=Золото +hbmmat.gold198=Золото-198 +hbmmat.graphene=Графен +hbmmat.graphite=Графіт +hbmmat.gunmetal=Гарматної бронзи +hbmmat.hematite=Гематит +hbmmat.iron=Залізо +hbmmat.lanthanum=Лантан +hbmmat.lapis=Лазурит +hbmmat.lead=Свинець +hbmmat.lead209=Свинець-209 +hbmmat.lignitecoke=Буровугільний кокс +hbmmat.lignite=Буре вугілля +hbmmat.lithium=Літій +hbmmat.magnetizedtungsten=Намагнічений вольфрам +hbmmat.malachite=Малахіт +hbmmat.meteoriciron=Метеоритне залізо +hbmmat.mingrade=Червона мідь +hbmmat.molysite=Трихлорид заліза +hbmmat.neodymium=Неодим +hbmmat.neptunium237=Нептуній-237 +hbmmat.niobium=Ніобій +hbmmat.obsidian=Обсидіан +hbmmat.osmiridium=Осмистий іридій +hbmmat.petcoke=Нафтовий кокс +hbmmat.pigiron=Чавун +hbmmat.plutonium=Плутоній +hbmmat.plutonium238=Плутоній-238 +hbmmat.plutonium239=Плутоній-239 +hbmmat.plutonium240=Плутоній-240 +hbmmat.plutonium241=Плутоній-241 +hbmmat.plutoniumrg=Реакторний Плутоній +hbmmat.polonium210=Полоній-210 +hbmmat.polycarbonate=Твердий пластик +hbmmat.polymer=Полімер +hbmmat.pvc=Полівінілхлорид +hbmmat.radium226=Радій-226 +hbmmat.rareearth=Рідкоземельні +hbmmat.redphosphorus=Червоний фосфор +hbmmat.redstone=Редстоун +hbmmat.rubber=Гума +hbmmat.saltpeter=Нітрат калію +hbmmat.saturnite=Сатурніт +hbmmat.schrabidate=Ферошрабідат +hbmmat.schrabidium=Шрабідій +hbmmat.schraranium=Шрараній +hbmmat.silicon=Кремній +hbmmat.slag=Шлак +hbmmat.sodalite=Содаліт +hbmmat.sodium=Натрій +hbmmat.solinium=Соліній +hbmmat.starmetal=Зірковий метал +hbmmat.steel=Сталь +hbmmat.stone=Камінь +hbmmat.strontium=Стронцій +hbmmat.sulfur=Сірка +hbmmat.tantalum=Тантал +hbmmat.tcalloy=Технецієва сталь +hbmmat.technetium99=Технецій-99 +hbmmat.titanium=Титан +hbmmat.thorium232=Торій-232 +hbmmat.tungsten=Вольфрам +hbmmat.uranium=Уран +hbmmat.uranium233=Уран-233 +hbmmat.uranium235=Уран-235 +hbmmat.uranium238=Уран-238 +hbmmat.watzmud=Токсичні відходи +hbmmat.weaponsteel=Збройова сталь +hbmmat.whitephosphorus=Білий фосфор +hbmmat.wood=Дерево +hbmmat.workersalloy=Деш +hbmmat.wroughtiron=Коване залізо +hbmmat.zirconium=Цирконій + +matshape.block=%s Блок +matshape.blocks=%s Блоки +matshape.ingot=%s Зливок +matshape.ingots=%s Зливки +matshape.nugget=%s Самородок +matshape.nuggets=%s Самородки +matshape.quantum=%s Квант +matshape.quanta=%s Кванта + +icffuel.beryllium=Берилій +icffuel.boron=Бор +icffuel.carbon=Вуглець +icffuel.calcium=Кальцій +icffuel.chlorine=Хлор +icffuel.deuterium=Дейтерій +icffuel.helium3=Гелій-3 +icffuel.helium4=Гелій-4 +icffuel.hydrogen=Водень +icffuel.lithium=Літій +icffuel.oxygen=Кисень +icffuel.sodium=Натрій +icffuel.tritium=Тритій + +info.asbestos=Мої легені горять. +info.coaldust=Тут важко дихати. +info.coil=Сила котушки +info.templatefolder=Створено за допомогою %s +info.template_in=Ввід: +info.template_in_p=Вводи: +info.template_out=Вивід: +info.template_out_p=Виводи: +info.template_seconds=секунд +info.template_time=Час виробництва: + +item.acetylene_torch.name=Ацетиленовий зварювальний пальник +item.ajr_boots.name= Чоботи Стальних Ренджерів +item.ajr_helmet.name=Шолом Стальних Ренджерів +item.ajr_legs.name=Наголінники Стальних Ренджерів +item.ajr_plate.name=Нагрудник Стальних Ренджерів +item.ajro_boots.name=Чоботи Ренджерів Еплджек +item.ajro_helmet.name=Шолом Ренджерів Еплджек +item.ajro_legs.name=Наголінники Ренджерів Еплджек +item.ajro_plate.name=Нагрудник Ренджерів Еплджек +item.alloy_axe.name=Сокира з удосконаленого сплаву +item.alloy_boots.name=Чоботи з удосконаленого сплаву +item.alloy_helmet.name=Шолом з удосконаленого сплаву +item.alloy_hoe.name=Мотика з удосконаленого сплаву +item.alloy_legs.name=Наголінники з удосконаленого сплаву +item.alloy_pickaxe.name=Кайло з удосконаленого сплаву +item.alloy_plate.name=Нагрудник з удосконаленого сплаву +item.alloy_shovel.name=Лопата з удосконаленого сплаву +item.alloy_sword.name=Меч з удосконаленого сплаву +item.ammo_arty.name=16" артилерійський снаряд +item.ammo_arty_cargo.name=16" артилерійський снаряд експрес-доставки +item.ammo_arty_chlorine.name=16" хлорний артилерійський снаряд +item.ammo_arty_classic.name=16" артилерійський снаряд (The Factorio Special) +item.ammo_arty_he.name=16" фугасний артилерійський снаряд +item.ammo_arty_mini_nuke.name=16" мікроядерний артилерійський снаряд +item.ammo_arty_mini_nuke_multi.name=16" мульти мікроядерний артилерійський снаряд +item.ammo_arty_mustard_gas.name=16" іпритний артилерійський снаряд +item.ammo_arty_nuke.name=16" ядерний артилерійський снаряд +item.ammo_arty_phosgene.name=16" фосгеновий артилерійський снаряд +item.ammo_arty_phosphorus.name=16" фосфорний артилерійський снаряд +item.ammo_arty_phosphorus_multi.name=16" мульти фосфорний артилерійський снаряд +item.ammo_bag.name=Сумка для боєприпасів +item.ammo_bag_infinite.name=Нескінченна сумка для боєприпасів +item.ammo_container.name=Контейнер для боєприпасів +item.ammo_dgk.name=Стрічка на 200 набоїв здвоєного ЗАК Голкіпер +item.ammo_fireext.name=Бак з водою для вогнегасника +item.ammo_fireext_foam.name=Бак з піною для вогнегасника +item.ammo_fireext_sand.name=Бак з піском для вогнегасника +item.ammo_himars_standard.name=227-мм керований артилерійський ракетний блок +item.ammo_himars_standard_he.name=227-мм керований артилерійський ракетний блок (Фугасний) +item.ammo_himars_standard_lava.name=227-мм керований артилерійський ракетний блок (Лава) +item.ammo_himars_standard_mini_nuke.name=227-мм керований артилерійський ракетний блок (Мікроядерний) +item.ammo_himars_standard_tb.name=227-мм керований артилерійський ракетний блок (Термобаричний) +item.ammo_himars_standard_wp.name=227-мм керований артилерійський ракетний блок (Білий фосфор) +item.ammo_himars_single.name=610-мм керований артилерійський ракетний блок +item.ammo_himars_single_tb.name=610-мм керований артилерійський ракетний блок (Термобаричний) +item.ammo_shell.name=240-мм снаряд +item.ammo_shell_apfsds_du.name=240-мм БОПС-ЗУ +item.ammo_shell_apfsds_t.name=240-мм БОПС-В +item.ammo_shell_explosive.name=240-мм фугасний снаряд +item.ammo_shell_w9.name=240-мм ядерний снаряд W9 +item.ammo_secret.bmg50_equestrian.name=.50 BMG Винищувач +item.ammo_secret.bmg50_black.name=.50 BMG обхідний набій +item.ammo_secret.folly_nuke.name=Срібна куля, ядерна +item.ammo_secret.folly_sm.name=Срібна куля +item.ammo_secret.g12_equestrian.name=Флешетний снаряд з залізничними цвяхами 12-го калібру +item.ammo_secret.m44_equestrian.name=.44 Magnum Череполом +item.ammo_secret.p35_800.name=.35-800 V9 +item.ammo_standard.b75.name=Болт .75 +item.ammo_standard.b75_exp.name=Болт .75 (Розривний) +item.ammo_standard.b75_inc.name=Болт .75 (Запальний) +item.ammo_standard.bmg50_ap.name=Набій .50 BMG (Бронебійний) +item.ammo_standard.bmg50_du.name=Набій .50 BMG (Збіднений уран) +item.ammo_standard.bmg50_he.name=Набій .50 BMG (Фугасний) +item.ammo_standard.bmg50_fmj.name=Набій .50 BMG (Суцільнометалева оболонка) +item.ammo_standard.bmg50_jhp.name=Набій .50 BMG (Експансивний) +item.ammo_standard.bmg50_sm.name=Набій .50 BMG (Зірковий метал) +item.ammo_standard.bmg50_sp.name=Набій .50 BMG (Напівоболонковий) +item.ammo_standard.capacitor.name=Конденсатор (Стандартний) +item.ammo_standard.capacitor_ir.name=Конденсатор (Низька довжина хвилі) +item.ammo_standard.capacitor_overcharge.name=Конденсатор (Перевантажений) +item.ammo_standard.coil_ferrouranium.name=Феруранова куля Гармати Гаусса +item.ammo_standard.coil_tungsten.name=Вольфрамова куля Гармати Гаусса +item.ammo_standard.ct_hook.name=Захоплюючий гак +item.ammo_standard.ct_mortar.name=Нищівний заряд +item.ammo_standard.ct_mortar_charge.name=Важкий нищівний заряд +item.ammo_standard.flame_balefire.name=Паливо вогнемету, BF +item.ammo_standard.flame_diesel.name=Паливо вогнемету, Дизель +item.ammo_standard.flame_gas.name=Паливо вогнемету, Природний газ +item.ammo_standard.flame_napalm.name=Паливо вогнемету, Напалм +item.ammo_standard.g10.name=Картеч 10-го калібру +item.ammo_standard.g10_du.name=Уранова картеч 10-го калібру +item.ammo_standard.g10_explosive.name=Вибухова картеч 10-го калібру +item.ammo_standard.g10_shrapnel.name=Шрапнельна картеч 10-го калібру +item.ammo_standard.g10_slug.name=Жекан 10-го калібру +item.ammo_standard.g12.name=Картеч 12-го калібру +item.ammo_standard.g12_anthrax.name=Снаряд сибірської язви 12-го калібру +item.ammo_standard.g12_bp.name=Картеч з чорним порохом 12-го калібру +item.ammo_standard.g12_bp_magnum.name=Картеч Magnum з чорним порохом 12-го калібру +item.ammo_standard.g12_bp_slug.name=Жекан з чорним порохом 12-го калібру +item.ammo_standard.g12_explosive.name=Розривний снаряд 12-го калібру +item.ammo_standard.g12_flechette.name=Флешетний снаряд 12-го калібру +item.ammo_standard.g12_magnum.name=Картеч Magnum 12-го калібру +item.ammo_standard.g12_phosphorus.name=Фосфорний снаряд 12-го калібру +item.ammo_standard.g12_slug.name=Жекан 12-го калібру +item.ammo_standard.g26_flare.name=26мм сигнальний флаєр +item.ammo_standard.g26_flare_supply.name=26мм сигнальний флаєр (Запит припасів) +item.ammo_standard.g26_flare_weapon.name=26мм сигнальний флаєр (Запит зброї) +item.ammo_standard.g40_demo.name=40-мм гранатометна граната, Руйнівна +item.ammo_standard.g40_he.name=40-мм гранатометна граната, Фугасна +item.ammo_standard.g40_heat.name=40-мм гранатометна граната, Кумулятивна +item.ammo_standard.g40_inc.name=40-мм гранатометна граната, Запальна +item.ammo_standard.g40_phosphorus.name=40-мм гранатометна граната, Білий фосфор +item.ammo_standard.m357_ap.name=Набій .357 Magnum (Бронебійний) +item.ammo_standard.m357_bp.name=Набій .357 Magnum (Чорний порох) +item.ammo_standard.m357_express.name=Набій .357 Magnum (Суцільнометалевий бронебійний) +item.ammo_standard.m357_fmj.name=Набій .357 Magnum (Суцільнометалева оболонка) +item.ammo_standard.m357_jhp.name=.Набій .357 Magnum (Експансивний) +item.ammo_standard.m357_sp.name=Набій .357 Magnum (Напівоболонковий) +item.ammo_standard.m44_ap.name=Набій .44 Magnum (Бронебійний) +item.ammo_standard.m44_bp.name=Набій .44 Magnum (Чорний порох) +item.ammo_standard.m44_express.name=Набій .44 Magnum (Суцільнометалевий бронебійний) +item.ammo_standard.m44_fmj.name=Набій .44 Magnum (Суцільнометалева оболонка) +item.ammo_standard.m44_jhp.name=Набій .44 Magnum (Експансивний) +item.ammo_standard.m44_sp.name=Набій .44 Magnum (Напівоболонковий) +item.ammo_standard.nuke_balefire.name=Ядерний мінізаряд, BF яйце +item.ammo_standard.nuke_demo.name=Ядерний мінізаряд, Руйнівний +item.ammo_standard.nuke_high.name=Ядерний мінізаряд, Потужний +item.ammo_standard.nuke_hive.name=Ракетний рій +item.ammo_standard.nuke_standard.name=Ядерний мінізаряд +item.ammo_standard.nuke_tots.name=Ядерний мінізаряд, Малютки +item.ammo_standard.p22_ap.name=Набій .22 LR (Бронебійний) +item.ammo_standard.p22_fmj.name=Набій .22 LR (Суцільнометалева оболонка) +item.ammo_standard.p22_jhp.name=Набій .22 LR (Експансивний) +item.ammo_standard.p22_sp.name=Набій .22 LR (Напівоболонковий) +item.ammo_standard.p45_ap.name=Набій .45 (Бронебійний) +item.ammo_standard.p45_du.name=Набій .45 (Збіднений уран) +item.ammo_standard.p45_fmj.name=Набій .45 (Суцільнометалева оболонка) +item.ammo_standard.p45_jhp.name=Набій .45 (Експансивний) +item.ammo_standard.p45_sp.name=Набій .45 (Напівоболонковий) +item.ammo_standard.p9_ap.name=Набій 9-мм (Бронебійний) +item.ammo_standard.p9_fmj.name=Набій 9-мм (Суцільнометалева оболонка) +item.ammo_standard.p9_jhp.name=Набій 9-мм (Експансивний) +item.ammo_standard.p9_sp.name=Набій 9-мм (Напівоболонковий) +item.ammo_standard.r556_ap.name=Набій 5.56-мм (Бронебійний) +item.ammo_standard.r556_fmj.name=Набій 5.56-мм (Суцільнометалева оболонка) +item.ammo_standard.r556_jhp.name=Набій 5.56-мм (Експансивний) +item.ammo_standard.r556_sp.name=Набій 5.56-мм (Напівоболонковий) +item.ammo_standard.r762_ap.name=Набій 7.62-мм (Бронебійний) +item.ammo_standard.r762_du.name=Набій 7.62-мм (Збіднений уран) +item.ammo_standard.r762_fmj.name=Набій 7.62-мм (Суцільнометалева оболонка) +item.ammo_standard.r762_he.name=Набій 7.62-мм (Фугасний) +item.ammo_standard.r762_jhp.name=Набій 7.62-мм (Експансивний) +item.ammo_standard.r762_sp.name=Набій 7.62-мм (Напівоболонковий) +item.ammo_standard.rocket_demo.name=Ракета, Руйнівна +item.ammo_standard.rocket_he.name=Ракета, Фугасна +item.ammo_standard.rocket_heat.name=Ракета, Кумулятивна +item.ammo_standard.rocket_inc.name=Ракета, Запальна +item.ammo_standard.rocket_phosphorus.name=Ракета, Білий фосфор +item.ammo_standard.stone.name=Куля та порох +item.ammo_standard.stone_ap.name=Кремінь та порох +item.ammo_standard.stone_iron.name=Залізна куля та порох +item.ammo_standard.stone_shot.name=Дріб та порох +item.ammo_standard.tau_uranium.name=Коробка із збідненим ураном-235 +item.ams_catalyst_aluminium.name=Алюмінієвий каталізатор реакції +item.ams_catalyst_beryllium.name=Берилієвий каталізатор реакції +item.ams_catalyst_blank.name=Порожній каталізатор реакції +item.ams_catalyst_caesium.name=Цезеєвий каталізатор реакції +item.ams_catalyst_cerium.name=Церієвий каталізатор реакції +item.ams_catalyst_cobalt.name=Кобальтовий каталізатор реакції +item.ams_catalyst_copper.name=Мідний каталізатор реакції +item.ams_catalyst_dineutronium.name=Динейтронієвий каталізатор реакції +item.ams_catalyst_euphemium.name=Евфемієвий каталізатор реакції +item.ams_catalyst_iron.name=Залізний каталізатор реакції +item.ams_catalyst_lithium.name=Літієвий каталізатор реакції +item.ams_catalyst_niobium.name=Ніобієвий каталізатор реакції +item.ams_catalyst_schrabidium.name=Шрабідієвий каталізатор реакції +item.ams_catalyst_strontium.name=Стронцієвий каталізатор реакції +item.ams_catalyst_thorium.name=Торієвий каталізатор реакції +item.ams_catalyst_tungsten.name=Вольфрамовий каталізатор реакції +item.ams_core_eyeofharmony.name=Око Гармонії (Ядро АМС/РТС) +item.ams_core_sing.name=Вібруюча сингулярність (Ядро АМС/РТС) +item.ams_core_thingy.name=Якась фігня (Ядро АМС/РТС) +item.ams_core_wormhole.name=Маленька червоточина (Ядро АМС/РТС) +item.ams_focus_blank.name=Blank Stabilizer Focus +item.ams_focus_booster.name=Boosting Stabilizer Focus +item.ams_focus_booster.desc=Weaker restriction field and core energy injection:$More heat generation, extra energy. +item.ams_focus_limiter.name=Limiting Stabilizer Focus +item.ams_focus_limiter.desc=Maximum performance for restriction field:$Standard cooling, no energy bonus. +item.ams_lens.name=Стабілізуюча лінза +item.ams_muzzle.name=Ray-Emission Muzzle +item.ams_muzzle.desc=...it emits an energy-beam thingy. +item.analysis_tool.name=Інструмент аналізу +item.analyzer.name=Аналізатор +item.anchor_remote.name=Пристрій повернення +item.apple_euphemium.name=Евфемієве яблуко +item.apple_lead.name=Свинцеве яблуко +item.apple_schrabidium.name=Шрабідієве яблуко +item.arc_electrode.name=Графітовий електрод +item.arc_electrode.desh.name=Деш електрод +item.arc_electrode.graphite.name=Графітовий електрод +item.arc_electrode.lanthanium.name=Лантановий електрод +item.arc_electrode.saturnite.name=Сатурнітовий електрод +item.arc_electrode_burnt.name=Розплавлений електрод +item.arc_electrode_burnt.desh.name=Розплавлений деш електрод +item.arc_electrode_burnt.graphite.name=Розплавлений графітовий електрод +item.arc_electrode_burnt.lanthanium.name=Розплавлений лантановий електрод +item.arc_electrode_burnt.saturnite.name=Розплавлений сатурнітовий електрод +item.arc_electrode_desh.name=Деш електрод +item.armor_battery.name=Акумуляторний блок силової броні +item.armor_battery_mk2.name=Акумуляторний блок силової броні тип №2 +item.armor_battery_mk3.name=Акумуляторний блок силової броні тип №3 +item.armor_polish.name=Поліроль для броні ShiningArmor™ +item.asbestos_boots.name=Теплозахисні чоботи +item.asbestos_cloth.name=Теплозахисна тканина +item.asbestos_helmet.name=Теплозахисний шолом +item.asbestos_legs.name=Теплозахисні штанці +item.asbestos_plate.name=Теплозахисна куртка +item.ashglasses.name=Попелясті окуляри +item.assembly_45.name=.45 ACP Assembly +item.assembly_556.name=5.56mm Assembly +item.assembly_762.name=7.62mm Assembly +item.assembly_actionexpress.name=.50 AE Assembly +item.assembly_calamity.name=.50 BMG Assembly +item.assembly_desh.name=Desh Bullet Assembly +item.assembly_gold.name=Gold Bullet Assembly +item.assembly_iron.name=Iron Bullet Assembly +item.assembly_lacunae.name=.5mm Assembly +item.assembly_lead.name=Glass Bullet Assembly +item.assembly_luna.name=Lunatic Sniper Bullet Assembly +item.assembly_nightmare.name=Nightmare Bullet Assembly +item.assembly_nopip.name=.44 Magnum Assembly +item.assembly_nuke.name=Корпус ядерного мінізаряду +item.assembly_pip.name=Tainted Bullet Assembly +item.assembly_schrabidium.name=Schrabidium Bullet Assembly +item.assembly_smg.name=9mm Assembly +item.assembly_steel.name=Lead Bullet Assembly +item.assembly_template.name=Збиральний шаблон: +item.assembly_uzi.name=.22 LR Assembly +item.attachment_mask.name=Прикріплюваний протигаз +item.attachment_mask_mono.name=Прикріплювана напівмаска +item.australium_iii.name=Подовжувач життя тип №3 +item.australium_iv.name=Подовжувач життя тип №4 +item.australium_v.name=Подовжувач життя тип №5 +item.back_tesla.name=Ранцева котушка Тесли +item.balefire_and_ham.name=Стейк та BF яєчня +item.balefire_and_steel.name=BF та сталь +item.balefire_scrambled.name=BF яєчня +item.ball_dynamite.name=Динаміт +item.ball_fireclay.name=Шамотна глина +item.ball_resin.name=Латекс +item.ball_tatb.name=Тріамінотрінітробензол (TATB) +item.ball_tnt.name=Тринітротолуол (TNT) +item.ballistic_gauntlet.name=Балістична рукавиця +item.ballistite.name=Балістит +item.bandaid.name=Оксамитовий пластир +item.bathwater.name=Токсична мильна вода +item.bathwater_mk2.name=Токсична мильна вода (Кінський аромат) +item.battery_advanced.name=Удосконалена батарейка +item.battery_advanced_cell.name=Удосконалений акумуляторний елемент +item.battery_advanced_cell_12.name=Удосконалена акумуляторна батарея з 12 елементів +item.battery_advanced_cell_4.name=Удосконалена акумуляторна батарея з 4 елементів +item.battery_creative.name=Нескінченна батарейка +item.battery_generic.name=Батарейка +item.battery_lithium.name=Літій-іонна батарейка +item.battery_lithium_cell.name=Літій-іонний акумуляторний елемент +item.battery_lithium_cell_3.name=Літій-іонна акумуляторна батарея з 3 елементів +item.battery_lithium_cell_6.name=Літій-іонна акумуляторна батарея з 6 елементів +item.battery_potato.name=Картопляна батарейка +item.battery_potatos.name=PotatOS +item.battery_red_cell.name=Редстоуновий акумуляторний елемент +item.battery_red_cell_24.name=Редстоунова акумуляторна батарея з 24 елементів +item.battery_red_cell_6.name=Редстоунова акумуляторна батарея з 6 елементів +item.battery_sc_americium.name=Самозарядна Америцій-241 батарейка +item.battery_sc_gold.name=Самозарядна Золото-198 батарейка +item.battery_sc_lead.name=Самозарядна Свинець-209 батарейка +item.battery_sc_plutonium.name=Самозарядна Плутоній-238 батарейка +item.battery_sc_polonium.name=Самозарядна Полоній-210 батарейка +item.battery_sc_technetium.name=Самозарядна Технецій-99 батарейка +item.battery_sc_uranium.name=Самозарядна Уран-238 батарейка +item.battery_schrabidium.name=Шрабідієва батарейка +item.battery_schrabidium_cell.name=Шрабідієвий акумуляторний елемент +item.battery_schrabidium_cell_2.name=Шрабідієва акумуляторна батарея з 2 елементів +item.battery_schrabidium_cell_4.name=Шрабідієва акумуляторна батарея з 4 елементів +item.battery_spark.name=Спарк батарейка +item.battery_spark_cell_100.name=Спарк таємничий акумуляторний масив +item.battery_spark_cell_1000.name=Спарк таємнича порожнеча маси-енергії +item.battery_spark_cell_10000.name=Спарк твердий кристал простору-часу +item.battery_spark_cell_25.name=Спарк таємничий автомобільний акумулятор +item.battery_spark_cell_2500.name=Спарк таємниче море Дірака +item.battery_spark_cell_6.name=Спарк акумуляторний елемент +item.battery_spark_cell_power.name=Спарк абсурдний накопичувач енергії, що кидає виклик законам фізики +item.battery_steam.name=Steam Powered Energy Storage Tank +item.battery_steam_large.name=Large Steam Powered Energy Storage Tank +item.battery_su.name=SU-Battery +item.battery_su_l.name=Large SU-Battery +item.battery_trixite.name=Пальона Спарк батарейка +item.bdcl.name=BDCL +item.bedrock_ore.grade.base.name=%s корінна руда +item.bedrock_ore.grade.base_roasted.name=Обсмажена %s корінна руда +item.bedrock_ore.grade.base_washed.name=Промита %s корінна руда +item.bedrock_ore.grade.primary.name=%s корінна руда, первинна фракція +item.bedrock_ore.grade.primary_roasted.name=%s корінна руда, Обсмажена первинна фракція +item.bedrock_ore.grade.primary_sulfuric.name=%s корінна руда, Сірчана первинна фракція +item.bedrock_ore.grade.primary_nosulfuric.name=%s корінна руда, Відокремлена Сірчана первинна фракція +item.bedrock_ore.grade.primary_solvent.name=%s корінна руда, Розчинена первинна фракція +item.bedrock_ore.grade.primary_nosolvent.name=%s корінна руда, Відокремлена Розчинена первинна фракція +item.bedrock_ore.grade.primary_rad.name=%s корінна руда, Очищена первинна фракція +item.bedrock_ore.grade.primary_norad.name=%s корінна руда, Відокремлена Очищена первинна фракція +item.bedrock_ore.grade.primary_first.name=%s корінна руда, первинна фракція, важка +item.bedrock_ore.grade.primary_second.name=%s корінна руда, первинна фракція, легка +item.bedrock_ore.grade.crumbs.name=%s корінна руда, крихти +item.bedrock_ore.grade.sulfuric_byproduct.name=%s корінна руда, Сірчана побічний продукт +item.bedrock_ore.grade.sulfuric_roasted.name=%s корінна руда, Обсмажена Сірчана побічний продукт +item.bedrock_ore.grade.sulfuric_arc.name=%s корінна руда, Випалена Сірчана побічний продукт +item.bedrock_ore.grade.sulfuric_washed.name=%s корінна руда, Промита Сірчана побічний продукт +item.bedrock_ore.grade.solvent_byproduct.name=%s корінна руда, Розчинена побічний продукт +item.bedrock_ore.grade.solvent_roasted.name=%s корінна руда, Обсмажена Розчинена побічний продукт +item.bedrock_ore.grade.solvent_arc.name=%s корінна руда, Випалена Розчинена побічний продукт +item.bedrock_ore.grade.solvent_washed.name=%s корінна руда, Промита Розчинена побічний продукт +item.bedrock_ore.grade.rad_byproduct.name=%s корінна руда, Очищена побічний продукт +item.bedrock_ore.grade.rad_roasted.name=%s корінна руда, Обсмажена Очищена побічний продукт +item.bedrock_ore.grade.rad_arc.name=%s корінна руда, Випалена Очищена побічний продукт +item.bedrock_ore.grade.rad_washed.name=%s корінна руда, Промита Очищена побічний продукт +item.bedrock_ore.trait.arc=§6Дугова виплавка +item.bedrock_ore.trait.centrifuged=§9Центрифугована +item.bedrock_ore.trait.rad=§aОброблено високоефективним розчинником +item.bedrock_ore.trait.roasted=§eОбсмажено в коксовій пічці +item.bedrock_ore.trait.solvent=§fОброблено розчинником +item.bedrock_ore.trait.sulfuric=§6Оброблено сірчаною кислотою +item.bedrock_ore.trait.washed=§bПромито +item.bedrock_ore.type.actinide.name=Актиноїдна +item.bedrock_ore.type.crystal.name=Кристальна +item.bedrock_ore.type.heavy.name=Важкометальна +item.bedrock_ore.type.light.name=Легкометальна +item.bedrock_ore.type.nonmetal.name=Неметалева +item.bedrock_ore.type.rare.name=Рідкоземельна +item.bedrock_ore_base.name=Сира корінна руда +item.bedrock_ore_fragment.name=%s корінна руда фрагмент +item.beta.name=Бета фіча +item.big_sword.name=Великий меч +item.billet_actinium.name=Заготовка актинію-227 +item.billet_am_mix.name=Заготовка реакторного америцію +item.billet_am241.name=Заготовка америцію-241 +item.billet_am242.name=Заготовка америцію-242 +item.billet_americium_fuel.name=Заготовка америцієвого палива +item.billet_au198.name=Заготовка золота-198 +item.billet_australium.name=Заготовка австралію +item.billet_australium_greater.name=Заготовка високозбагаченого австралію +item.billet_australium_lesser.name=Заготовка низькозбагаченого австралію +item.billet_balefire_gold.name=Заготовка флешголду +item.billet_beryllium.name=Заготовка берилію +item.billet_bismuth.name=Заготовка вісмуту +item.billet_co60.name=Заготовка кобальту-60 +item.billet_cobalt.name=Заготовка кобальту +item.billet_flashlead.name=Заготовка флешліду +item.billet_flashlead.desc=Розпад ґратки викликає реакцію анігіляції$антиматерії та матерії, що призводить до$вивільнення піонів, що розпадаються на мюони, $що каталізують синтез ядер створюючи новий елемент.$Будь ласка, намагайтеся не відставати. +item.billet_gh336.name=Заготовка ґіорсію-336 +item.billet_gh336.desc=Колега Сіборгіума. +item.billet_hes.name=Заготовка високозбагаченого шрабідієвого палива +item.billet_les.name=Заготовка низькозбагаченого шрабідієвого палива +item.billet_mox_fuel.name=Заготовка МОКС-палива +item.billet_mox_fuel.desc=Кишеньковий Моксі! +item.billet_neptunium.name=Заготовка нептунію-237 +item.billet_neptunium_fuel.name=Заготовка нептунієвого палива +item.billet_nuclear_waste.name=Заготовка ядерних відходів +item.billet_pb209.name=Заготовка свинцю-209 +item.billet_po210be.name=Заготовка полоній-210 берилію +item.billet_polonium.name=Заготовка полонію-210 +item.billet_pu_mix.name=Заготовка реакторного полонію +item.billet_pu238.name=Заготовка плутонію-238 +item.billet_pu238be.name=Заготовка плутоній-238 берилію +item.billet_pu239.name=Заготовка плутонію-239 +item.billet_pu240.name=Заготовка плутонію-240 +item.billet_pu241.name=Заготовка плутонію-241 +item.billet_plutonium.name=Заготовка плутонію +item.billet_plutonium_fuel.name=Заготовка плутонієвого палива +item.billet_ra226.name=Заготовка радію-226 +item.billet_ra226be.name=Заготовка радій-226 берилію +item.billet_schrabidium.name=Заготовка шрабідію-326 +item.billet_schrabidium_fuel.name=Заготовка шрабідієвого палива +item.billet_silicon.name=Кремнієва пластина +item.billet_solinium.name=Заготовка солінію +item.billet_sr90.name=Заготовка стронцію-90 +item.billet_technetium.name=Заготовка технецію-99 +item.billet_th232.name=Заготовка торію-232 +item.billet_thorium_fuel.name=Заготовка торієвого палива +item.billet_u233.name=Заготовка урану-233 +item.billet_u235.name=Заготовка урану-235 +item.billet_u238.name=Заготовка урану-238 +item.billet_uranium.name=Заготовка урану +item.billet_uranium_fuel.name=Заготовка уранового палива +item.billet_yharonite.name=Заготовка яроніту +item.billet_zfb_am_mix.name=Заготовка цирконієвого швидкого розмножувача реакторного америцію +item.billet_zfb_bismuth.name=Заготовка цирконієвого швидкого розмножувача вісмута +item.billet_zfb_pu241.name=Заготовка цирконієвого швидкого розмножувача плутонію-241 +item.billet_zirconium.name=Заготовка цирконію +item.bio_wafer.name=Вафля з водоростей +item.biomass.name=Біомаса +item.biomass_compressed.name=Спресована біомаса +item.bismuth_boots.name=Вісмутові сандалі +item.bismuth_helmet.name=Вісмутовий головний убір +item.bismuth_legs.name=Вісмутові наколінники +item.bismuth_axe.name=Вісмутова сокира +item.bismuth_pickaxe.name=Вісмутове кайло +item.bismuth_plate.name=Вісмутові наплічники, намисто та пов'язка на стегнах +item.bismuth_tool.name=Магнітний екстрактор +item.bj_boots.name=Місячні шиповані чоботи +item.bj_helmet.name=Пов'язка на око з термодатчиком +item.bj_legs.name=Місячні кібернетичні протези ніг +item.bj_plate.name=Місячна кібернетична обшивка +item.bj_plate_jetpack.name=Місячна кібернетична обшивка(Крилата) +item.black_diamond.name=Чорний алмаз +item.black_hole.name=Мініатюрна чорна діра +item.blade_meteorite.name=Метеоритне лезо +item.blade_titanium.name=Титанова лопать +item.blade_tungsten.name=Вольфрамова посилена лопать +item.blades_advanced_alloy.name=Удосконалені леза подрібнювача +item.blades_desh.name=Деш леза подрібнювача +item.blades_steel.name=Стальні леза подрібнювача +item.blades_titanium.name=Титанові леза подрібнювача +item.blowtorch.name=Паяльна лампа +item.board_copper.name=Мідна панель +item.boat_rubber.name=Гумовий човен +item.bobmazon.name=Бобмазон +item.bobmazon_hidden.name=Прихований каталог +item.bobmazon_machines.name=Бобмазон: Блоки та машини +item.bobmazon_materials.name=Бобмазон: Матеріали +item.bobmazon_tools.name=Бобмазон: Інструменти +item.bobmazon_weapons.name=Бобмазон: Зброя та вибухівка +item.boltntm.name=Стрижень %s +item.bolt_compound.name=Reinforced Turbine Shaft +item.bolt_spike.name=Залізничний цвях +item.bolt_spike.desc=Випромінює загрозливу ауру, якимось чином +item.boltgun.name=Пневматичний заклепочник +item.bomb_caller.name=Позначник авіаудару +item.bomb_waffle.name=Вафля масового знищення +item.book_guide.name=Посібник +item.book_of_.name=Книга вагонів +item.book_lemegeton.name=Лемеґетон +item.book_secret.name=3-596-50802-9 +item.bottle2_empty.name=Порожня пляшка +item.bottle2_fritz.name=Фріц-Кола +item.bottle2_fritz_special.name=Перша Фріц-Кола +item.bottle2_korl.name=Корл +item.bottle2_korl_special.name=Перший Корл +item.bottle2_sunset.name=Сансет Сарсапарілла +item.bottle_cherry.name=Пляшка Ядер-Вишні +item.bottle_empty.name=Порожня пляшка у формі бомби +item.bottle_mercury.name=Колба з ртуттю +item.bottle_nuka.name=Пляшка Ядер-Коли +item.bottle_opener.name=Відкривашка пляшок власного виробництва Hbm +item.bottle_quantum.name=Пляшка Квантової Ядер-Коли +item.bottle_rad.name=Пляшка С~Коли РАД +item.bottle_sparkle.name=Пляшка С~Коли +item.bottled_cloud.name=Хмара у пляшці +item.boy_bullet.name=Снаряд U235 +item.boy_igniter.name=Запальник бомби +item.boy_kit.name=Комплект Малюка +item.boy_propellant.name=Кордитний заряд +item.boy_shielding.name=Нейтронний щит +item.boy_target.name=Субкритична ціль U235 +item.briquette.coal.name=Вугільний брикет +item.briquette.lignite.name=Буровугільний брикет +item.briquette.wood.name=Тирсовий брикет +item.bucket_acid.name=Відро кислоти +item.bucket_mud.name=Відро токсичних відходів +item.bucket_schrabidic_acid.name=Відро шрабідієвої кислоти +item.bucket_sulfuric_acid.name=Відро сірчаної кислоти +item.bucket_toxic.name=Відро стереотипного зеленого слизу +item.burnt_bark.name=Burnt Bark +item.burnt_bark.desc=A piece of bark from an exploded golden oak tree. +item.can_bepis.name=Брепсі +item.can_breen.name=Особистий резерв доктора Бріна +item.can_creature.name=Енергетичний напій 'Істота' +item.can_empty.name=Порожня банка +item.can_key.name=Відкривашка +item.can_luna.name=Чорна Меза Луна - Темна Кола +item.can_mrsugar.name=Безалкогольний напій 'Доктор Цукор' +item.can_mug.name=КУХОЛЬ Кореневого пива +item.can_overcharge.name=Overcharge Delirium XT +item.can_redbomb.name=Енергетичний напій 'Червона бомба' +item.can_smart.name=Енергетичний напі 'Розумник' +item.canister_NITAN.name=NITAN© 100 Octane Super Fuel (LEGACY) +item.canister_biofuel.name=Biofuel Canister (LEGACY) +item.canister_bitumen.name=Bitumen Canister (LEGACY) +item.canister_canola.name=Engine Lubricant (LEGACY) +item.canister_empty.name=Порожня каністра +item.canister_ethanol.name=Ethanol Canister (LEGACY) +item.canister_fracksol.name=Fracking Solution Canister (LEGACY) +item.canister_fuel.name=Diesel Canister (LEGACY) +item.canister_fuel.desc=All hail the spout! +item.canister_full.name=Каністра: +item.canister_gasoline.name=Leaded Gasoline Canister (LEGACY) +item.canister_gasoline.desc=lead is friend$let friend into your blood stream$*cocks gun* do it now. +item.canister_heatingoil.name=Heating Oil Canister (LEGACY) +item.canister_heavyoil.name=Heavy Oil Canister (LEGACY) +item.canister_kerosene.name=Kerosene Canister (LEGACY) +item.canister_lightoil.name=Light Oil Canister (LEGACY) +item.canister_napalm.name=Напалм-B +item.canister_naphtha.name=Naphtha Canister (LEGACY) +item.canister_oil.name=Crude Oil Canister (LEGACY) +item.canister_petroil.name=Petroil Canister (LEGACY) +item.canister_reoil.name=Canister of Reclaimed Industrial Oil (LEGACY) +item.canister_smear.name=Industrial Oil Canister (LEGACY) +item.canned_asbestos.name=Консервований азбест +item.canned_asbestos.desc=СКУШТУЙ азбесту! +item.canned_ass.name=Консервована дупа +item.canned_ass.desc=100% якісне осляче м'ясо!* +item.canned_bark.name=Консервована в'ялена соснова кора +item.canned_bark.desc=Екстра хрусткий! +item.canned_beef.name=Консервована яловичина +item.canned_beef.desc=Кілька століть тому корова померла заради цього. +item.canned_bhole.name=Консервована чорна діра +item.canned_bhole.desc=Сингулярність це ням-ням у моєму тум-тум! +item.canned_cheese.name=Консервований плавлений сир +item.canned_cheese.desc=Це сир? Це гумовий цемент? Хто знає, кому яке діло. +item.canned_chinese.name=Консервована китайська їжа +item.canned_chinese.desc=У Китаї китайську їжу називають просто їжею. +item.canned_diesel.name=Консервований дизель +item.canned_diesel.desc=У мене потроху закінчуються жарти для цього. +item.canned_fist.name=Консервований кулак +item.canned_fist.desc=Йовсер! +item.canned_fried.name=Консервована смажена курка +item.canned_fried.desc=Навіть банка смажена у фритюрі! +item.canned_hotdogs.name=Консервовані хот-доги +item.canned_hotdogs.desc=Не плутати з краскотами. +item.canned_jizz.name=Консервоване молоко жеребця FlimFlam Industries™ +item.canned_jizz.desc=Зачекайте, що- +item.canned_kerosene.name=Консервований гас +item.canned_kerosene.desc=Просто уявіть собі дотепний текст тут. +item.canned_leftovers.name=Залишки консерв +item.canned_leftovers.desc=ти повільний +item.canned_milk.name=Консервоване згущене молоко +item.canned_milk.desc=Молоко 2: Ще твердіше, ніж будь-коли раніше! +item.canned_mystery.name=Консервоване таємниче м'ясо +item.canned_mystery.desc=Що всередині? Тільки один спосіб дізнатися! +item.canned_napalm.name=Консервований напалм +item.canned_napalm.desc=Люблю запах старих мемів вранці! +item.canned_oil.name=Консервоване моторне масло +item.canned_oil.desc=Воно змушує мотор рухатись, то чому б не людей? +item.canned_pashtet.name=Паштет +item.canned_pashtet.desc=услуги перевода недоступны! +item.canned_pizza.name=Консервована піца пепероні +item.canned_pizza.desc=Злочин проти людства. +item.canned_recursion.name=Консервована рекурсія +item.canned_recursion.desc=Консервована рекурсія +item.canned_spam.name=Консервований спам +item.canned_spam.desc=The three-and-a-half-minute sketch is set in the fictional Green Midget Cafe in Bromley.$An argument develops between the waitress, who recites a menu in which nearly$every dish contains Spam, and Mrs. Bun, who does not like Spam. She asks for a$dish without Spam, much to the amazement of her Spam-loving husband. The waitress$responds to this request with disgust. Mr. Bun offers to take her Spam instead,$and asks for a dish containing a lot of Spam and baked beans. The waitress says$no since they are out of baked beans; when Mr. Bun asks for a substitution of Spam,$the waitress again responds with disgust. At several points, a group of Vikings in$the restaurant interrupts conversation by loudly singing about Spam.$The irate waitress orders them to shut up, but they resume singing more loudly.$A Hungarian tourist comes to the counter, trying to order by using a wholly$inaccurate Hungarian/English phrasebook (a reference to a previous sketch).$He is rapidly escorted away by a police constable. The sketch abruptly cuts to a$historian in a television studio talking about the origin of the Vikings in the café.$As he goes on, he begins to increasingly insert the word "Spam" into every$sentence, and the backdrop is raised to reveal the restaurant set behind.$The historian joins the Vikings in their song, and Mr. and Mrs. Bun are lifted by$wires out of the scene while the singing continues. In the original televised performance,$the closing credits begin to scroll with the singing still audible in the background. +item.canned_stew.name=Консервоване "Грибне рагу" +item.canned_stew.desc=... +item.canned_tomato.name=Консервований томатний суп +item.canned_tomato.desc=Хто хоче густої червоної пасти? +item.canned_tube.name=Космічний тюбик з їжею +item.canned_tube.desc=Смачна каша. +item.canned_tuna.name=Консервований тунець +item.canned_tuna.desc=Я не можу сказати, чи це справді тунець, чи сушений цемент. +item.canned_yogurt.name=Консервований йогурт +item.canned_yogurt.desc=Мабуть, зіпсований, але що поробиш. +item.canteen_vodka.name=Стильна фляга +item.cap_fritz.name=Кришка від пляшки Фріц-Коли +item.cap_korl.name=Кришка від пляшки Корлу +item.cap_nuka.name=Кришка від пляшки Ядер-Коли +item.cap_quantum.name=Кришка від пляшки Квантової Ядер-Коли +item.cap_rad.name=Кришка від пляшки С~Коли РАД +item.cap_sparkle.name=Кришка від пляшки С~Коли +item.cap_star.name=Кришка Сансет Сарсапарілли з зіркою +item.cap_sunset.name=Кришка від пляшки Сансет Сарсапарілли +item.cape_ayy.name=Ayy's плащ +item.cape_codered_.name=codered_'s плащ +item.cape_dafnik.name=Dafnik's плащ +item.cape_gasmask.name=Плащ (Протигаз) +item.cape_hbm.name=Hbm's плащ +item.cape_hidden.name=Прихований плащ +item.cape_lpkukin.name=LPkukin's плащ +item.cape_nostalgia.name=DrNostalgia's плащ +item.cape_radiation.name=Плащ (Радіація) +item.cape_schrabidium.name=Плащ (Шрабідій) +item.cape_vertice.name=Lord Vertice's плащ +item.card_aos.name=Туз пік +item.card_qos.name=Дама пік +item.cart.crate.name=Вігонетка з ящиком +item.cart.destroyer.name=Вагонетка для знищення брухту +item.cart.empty.name=Вагонетка +item.cart.powder.name=Вагонетка з порохом +item.cart.semtex.name=Вагонетка з Семтексом +item.casing_357.name=Гільзи .357 Magnum +item.casing_44.name=Гільзи .44 Magnum +item.casing_50.name=Гільзи великого калібру +item.casing_9.name=Гільзи малого калібру +item.casing_bag.name=Сумка для гільз +item.casing_buckshot.name=Гільза картечі +item.casing.small.name=Мала бронзова гільза +item.casing.small_steel.name=Мала сталева гільза +item.casing.large.name=Велика бронзова гільза +item.casing.large_steel.name=Велика сталева гільза +item.casing.shotshell.name=Гільза для набоїв з чорним порохом +item.casing.buckshot.name=Пластикова дробова гільза +item.casing.buckshot_advanced.name=Удосконалена дробова гільза +item.catalyst_clay.name=Глиняний каталізатор +item.catalytic_converter.name=Каталітичний нейтралізатор +item.cbt_device.name=Пристрій тортур пеніса та яєчок +item.cell_anti_schrabidium.name=Пробірка з антишрабідієм +item.cell_antimatter.name=Пробірка з антиматерією +item.cell_balefire.name=Пробірка з газоподібним BF +item.cell_deuterium.name=Пробірка з дейтерієм +item.cell_empty.name=Порожня пробірка +item.cell_puf6.name=Пробірка з гексафторидом плутонію +item.cell_sas3.name=Пробірка з трисульфідом шрабідію +item.cell_tritium.name=Пробірка з трітієм +item.cell_uf6.name=Пробірка з гексафторидом урану +item.centri_stick.name=Центрифуга на паличці +item.centrifuge_element.name=Центрифужний елемент +item.centrifuge_tower.name=Центрифужна вежа +item.chainsaw.name=Бензопила +item.cheese.name=Сир +item.cheese_quesadilla.name=Сирна кесадилья +item.chemical_dye.black.name=Хімічний барвник (Чорний) +item.chemical_dye.blue.name=Хімічний барвник (Синій) +item.chemical_dye.brown.name=Хімічний барвник (Коричневий) +item.chemical_dye.cyan.name=Хімічний барвник (Бірюзовий) +item.chemical_dye.gray.name=Хімічний барвник (Сірий) +item.chemical_dye.green.name=Хімічний барвник (Зелений) +item.chemical_dye.lightblue.name=Хімічний барвник (Блакитний) +item.chemical_dye.lime.name=Хімічний барвник (Світло-зелений) +item.chemical_dye.magenta.name=Хімічний барвник (Пурпуровий) +item.chemical_dye.orange.name=Хімічний барвник (Помаранчевий) +item.chemical_dye.pink.name=Хімічний барвник (Рожевий) +item.chemical_dye.purple.name=Хімічний барвник(Фіолетовий) +item.chemical_dye.red.name=Хімічний барвник (Червоний) +item.chemical_dye.silver.name=Хімічний барвник (Світло-сірий) +item.chemical_dye.white.name=Хімічний барвник (Білий) +item.chemical_dye.yellow.name=Хімічний барвник (Жовтий) +item.chemistry_set.name=Лабораторний посуд +item.chemistry_set_boron.name=Лабораторний посуд (борне скло) +item.chemistry_template.name=Хімічний шаблон: +item.chernobylsign.name=Бойова сокира з Чорнобильського попереджувального знаку +item.chlorine_pinwheel.name=Хлорна вертушка +item.chlorophyte_axe.name=Хлорофітова сокира +item.chlorophyte_pickaxe.name=Хлорофітове кайло +item.chocolate.name=Панцершоколад +item.chocolate.desc=Танковий шоколад? Впевнений, що це просто мет. +item.chocolate_milk.name=Шоколадне молоко +item.chopper.name=Гвинтокрил Мисливець +item.chopper_blades.name=Лопать Гвинтокрила Мисливця +item.chopper_gun.name=Імпульсна гармата +item.chopper_head.name=Кокпіт Гвинтокрила Мисливця +item.chopper_tail.name=Хвіст Гвинтокрила Мисливця +item.chopper_torso.name=Корпус Гвинтокрила Мисливця +item.chopper_wing.name=Крило Гвинтокрила Мисливця +item.chunk_ore.malachite.name=Шматок малахіту +item.chunk_ore.rare.name=Шматок рідкоземельної руди +item.chunk_ore.cryolite.name=Шматок кріоліту +item.cigarette.name=Сигарети торгової марки FFI +item.cinnebar.name=Кіновар +item.circuit.advanced.name=Військова друкована плата +item.circuit.analog.name=Аналогова друкована плата +item.circuit.atomic_clock.name=Атомний годинник +item.circuit.basic.name=Інтегральна друкована плата +item.circuit.bismoid.name=Універсальна друкована плата +item.circuit.capacitor.name=Конденсатор +item.circuit.capacitor_board.name=Конденсаторна плата +item.circuit.capacitor_tantalium.name=Танталовий конденсатор +item.circuit.chip.name=Мікрочіп +item.circuit.chip_bismoid.name=Універсальний інтегральний чіп +item.circuit.chip_quantum.name=Твердотільний квантовий процесор +item.circuit.controller.name=Блок керування +item.circuit.controller_advanced.name=Удосконалений блок керування +item.circuit.controller_chassis.name=Корпус блоку керування +item.circuit.controller_quantum.name=Квантовий комп'ютер +item.circuit.pcb.name=Друкована плата +item.circuit.quantum.name=Квантовий обчислювальний блок +item.circuit.silicon.name=Друкована кремнієва пластина +item.circuit.vacuum_tube.name=Вакуумна трубка +item.circuit_aluminium.name=Базова схема +item.circuit_arsenic.name=Адаптивна схема +item.circuit_arsenic_raw.name=Adaptable Circuit Assembly +item.circuit_bismuth.name=Універсальний чіпсет +item.circuit_bismuth_raw.name=Versatile Chipset Assembly +item.circuit_copper.name=Покращена схема +item.circuit_gold.name=Розігнана схема +item.circuit_raw.name=Basic Circuit Assembly +item.circuit_red_copper.name=Удосконалена схема +item.circuit_schrabidium.name=Високопродуктивна схема +item.circuit_star.name=StarControl Circuit Board +item.circuit_star.desc=На даний момент не використовується, оскільки не має операційної системи. +item.circuit_star_component.card.name=StarControl Extension Card +item.circuit_star_component.chipset.name=StarControl Chipset +item.circuit_star_component.cpu.name=StarControl CPU +item.circuit_star_component.ram.name=StarControl RAM +item.circuit_star_piece.board_blank.name=SC - Printed Circuit Board +item.circuit_star_piece.board_converter.name=SC - Voltage Converter +item.circuit_star_piece.board_transistor.name=SC - Transistors +item.circuit_star_piece.bridge_bios.name=SC- BIOS Chip +item.circuit_star_piece.bridge_bus.name=SC - BUS +item.circuit_star_piece.bridge_chipset.name=SC - Chipset +item.circuit_star_piece.bridge_cmos.name=SC - CMOS RAM +item.circuit_star_piece.bridge_io.name=SC - IO Chip +item.circuit_star_piece.bridge_north.name=SC - North Bridge +item.circuit_star_piece.bridge_south.name=SC - South Bridge +item.circuit_star_piece.card_board.name=SC - Extension Card Board +item.circuit_star_piece.card_processor.name=SC - Extension Card Processor +item.circuit_star_piece.cpu_cache.name=SC - CPU Cache +item.circuit_star_piece.cpu_clock.name=SC - CPU Clock +item.circuit_star_piece.cpu_ext.name=SC - Arsenic Semi Conductor Extension +item.circuit_star_piece.cpu_logic.name=SC - Arithmetic Logic Unit +item.circuit_star_piece.cpu_register.name=SC - CPU Register +item.circuit_star_piece.cpu_socket.name=SC - CPU Socket +item.circuit_star_piece.mem_socket.name=SC - Memory Socket +item.circuit_star_piece.mem_16k_a.name=SC - 16k Memory Stick Slot A +item.circuit_star_piece.mem_16k_b.name=SC - 16k Memory Stick Slot B +item.circuit_star_piece.mem_16k_c.name=SC - 16k Memory Stick Slot C +item.circuit_star_piece.mem_16k_d.name=SC - 16k Memory Stick Slot D +item.circuit_tantalium.name=Конденсаторна плата +item.circuit_tantalium_raw.name=Capacitor Board Assembly +item.circuit_targeting_tier1.name=Військова друкована плата (Tier 1) +item.circuit_targeting_tier2.name=Військова друкована плата (Tier 2) +item.circuit_targeting_tier3.name=Військова друкована плата (Tier 3) +item.circuit_targeting_tier4.name=Військова друкована плата (Tier 4) +item.circuit_targeting_tier5.name=Військова друкована плата (Tier 5) +item.circuit_targeting_tier6.name=Військова друкована плата (Tier 6) +item.cladding_desh.name=Деш обшивка +item.cladding_ghiorsium.name=Ґіорсієва обшивка +item.cladding_iron.name=Залізна обшивка +item.cladding_lead.name=Свинцева обшивка +item.cladding_obsidian.name=Обсидіанова шкіра +item.cladding_paint.name=Свинцева фарба +item.cladding_rubber.name=Гумова обшивка +item.clay_tablet.name=Глиняна табличка +item.clip_bf.name=BF-Shell Double Pack +item.clip_bolt_action.name=Box of 12x74 Slugs +item.clip_cryolator.name=Tank of Cryolator Fuel +item.clip_defabricator.name=Belt with Defabricator Energy Cells +item.clip_emp.name=Small Pack of Energy Cells +item.clip_euthanasia.name=Last Aid Kit +item.clip_fatman.name=Six Pack of Mini Nukes +item.clip_hp.name=Ink Tanks +item.clip_immolator.name=Tank of Immolator Fuel +item.clip_jack.name=Box of Quadruple 12x70 Buckshot Rounds +item.clip_lever_action.name=Box of 12x74 Buckshot Rounds +item.clip_mirv.name=Three-In-One Pack of Mini MIRVs +item.clip_mp.name=Britannia Military Standard Issue Assault Rifle Magazine +item.clip_mp40.name=9mm SMG Magazine +item.clip_osipr.name=AR2 Magazine +item.clip_revolver.name=Box of .357 Rounds +item.clip_revolver_cursed.name=Britannia Military Standard Issue Pistol Magazine +item.clip_revolver_gold.name=Small Coffer of Golden Bullets +item.clip_revolver_iron.name=Box of Iron Rounds +item.clip_revolver_lead.name=Box of Nuclear Bullets +item.clip_revolver_nightmare.name=Bag of Bullets +item.clip_revolver_nightmare2.name=Belt with Laser Buckshot +item.clip_revolver_nopip.name=Box of .44 Rounds +item.clip_revolver_pip.name=Speedloader with Tainted Bullets +item.clip_revolver_schrabidium.name=Schrabidium Ammo Container +item.clip_rpg.name=Rocket Container +item.clip_spark.name=Large Electromagnetic Cartridge +item.clip_stinger.name=Pack of Stinger Rockets +item.clip_uboinik.name=Box of 12x70 Buckshot Rounds +item.clip_uzi.name=32rnd .22 LR Magazine +item.clip_xvl1456.name=Large Isotope Box +item.cmb_axe.name=Сокира зі сталі комбайнів +item.cmb_boots.name=Чоботи зі сталі комбайнів +item.cmb_helmet.name=Шолом зі сталі комбайнів +item.cmb_hoe.name=Мотика зі сталі комбайнів +item.cmb_legs.name=Наголінники зі сталі комбайнів +item.cmb_pickaxe.name=Кайло зі сталі комбайнів +item.cmb_plate.name=Нагрудник зі сталі комбайнів +item.cmb_shovel.name=Лопата зі сталі комбайнів +item.cmb_sword.name=Меч зі сталі комбайнів +item.coal_infernal.name=Пекельне вугілля +item.cobalt_axe.name=Кобальтова сокира +item.cobalt_boots.name=Кобальтові чоботи +item.cobalt_decorated_axe.name=Прикрашена кобальтова сокира +item.cobalt_decorated_hoe.name=Прикрашена кобальтова мотика +item.cobalt_decorated_pickaxe.name=Прикрашене кобальтове кайло +item.cobalt_decorated_shovel.name=Прикрашена кобальтова лопата +item.cobalt_decorated_sword.name=Прикрашений кобальтовий меч +item.cobalt_helmet.name=Кобальтовий шолом +item.cobalt_hoe.name=Кобальтова мотика +item.cobalt_legs.name=Кобальтові наголінники +item.cobalt_pickaxe.name=Кобальтове кайло +item.cobalt_plate.name=Кобальтовий нагрудник +item.cobalt_shovel.name=Кобальтова лопата +item.cobalt_sword.name=Кобальтовий меч +item.coffee.name=Кава +item.coffee_radium.name=Кава з радієм +item.coil_advanced_alloy.name=Надпровідна котушка +item.coil_advanced_torus.name=Надпровідна кільцева котушка +item.coil_copper.name=Мідна котушка +item.coil_copper_torus.name=Кільцева котушка +item.coil_gold.name=Золота котушка +item.coil_gold_torus.name=Золота кільцева котушка +item.coil_magnetized_tungsten.name=4000K високотемпературна надпровідна котушка +item.coil_tungsten.name=Нагрівальна спіраль +item.coin_creeper.name=Монета ядерного кріпера +item.coin_maskman.name=Монета маскмена +item.coin_radiation.name=Монета радіації +item.coin_siege.name=Монета облоги +item.coin_ufo.name=Монета НЛО +item.coin_worm.name=Монета Баллс-О-Трона +item.coke.coal.name=Вугільний кокс +item.coke.lignite.name=Буровугільний кокс +item.coke.petroleum.name=Нафтовий кокс +item.coltan_tool.name=Колтас +item.combine_scrap.name=Металобрухт комбайнів +item.component_emitter.name=Компонент випромінювача +item.component_limiter.name=Компонент стабілізатора +item.containment_box.name=Свинцевий ящик +item.conveyor_wand.regular.name=Конвеєрна стрічка +item.conveyor_wand.express.name=Швидкісна конвеєрна стрічка +item.conveyor_wand.double.name=Двосмугова конвеєрна стрічка +item.conveyor_wand.triple.name=Трисмугова конвеєрна стрічка +item.conveyor_wand.desc=Переміщує предмети, що потрапляють на нього$Оберіть дві точки, щоб створити конвеєр$Клацніть присівши, щоб розмістити вручну$Клацніть викруткою, щоб повернути$Клацніть присівши з викруткою, щоб змінити тип. +item.conveyor_wand.vertical.desc=Здатний приймати форму ліфтів та жолобів для вертикального переміщення предметів +item.cordite.name=Кордит +item.cotton_candy.name=Радіоактивна цукрова вата +item.crackpipe.name=Труба здоров'я +item.crate_caller.name=Замовник доставки +item.crayon.black.name=Чорний олівець +item.crayon.blue.name=Синій олівець +item.crayon.brown.name=Коричневий олівець +item.crayon.cyan.name=Бірюзовий олівець +item.crayon.gray.name=Сірий олівець +item.crayon.green.name=Зелений олівець +item.crayon.lightblue.name=Блакитний олівець +item.crayon.lime.name=Світло-зелениц олівець +item.crayon.magenta.name=Пурпуровий олівець +item.crayon.orange.name=Помаранчевий олівець +item.crayon.pink.name=Рожевий олівець +item.crayon.purple.name=Фіолетовий олівець +item.crayon.red.name=Червоний олівець +item.crayon.silver.name=Світло-сірий олівець +item.crayon.white.name=Білий олівець +item.crayon.yellow.name=Жовтий олівець +item.crowbar.name=Пристрій для відкривання ящиків тип №5 "Лом" +item.crucible.name=Горнило +item.crucible_template.name=Ливарний шаблон: +item.crystal_aluminium.name=Кристал алюмінію +item.crystal_beryllium.name=Кристал берилію +item.crystal_charred.name=Обвуглений кристал +item.crystal_charred.desc=Силікат високої якості, злегка обпалений. +item.crystal_charred.desc.P11=Також справжній ріг. Дивно, правда? +item.crystal_coal.name=Кристал вугілля +item.crystal_cobalt.name=Кристал кобальту +item.crystal_copper.name=Кристал міді +item.crystal_cinnebar.name=Кристал кіноварі +item.crystal_diamond.name=Кристал алмазу +item.crystal_energy.name=Енергетичний кристал +item.crystal_fluorite.name=Кристал флюориту +item.crystal_gold.name=Кристал золота +item.crystal_horn.name=Кристальний ріг +item.crystal_horn.desc=Не справжній ріг. +item.crystal_horn.desc.P11=Справжній ріг. +item.crystal_iron.name=Кристал заліза +item.crystal_lead.name=Кристал свинцю +item.crystal_lapis.name=Кристал лазуриту +item.crystal_lithium.name=Кристал літію +item.crystal_niter.name=Кристал нітрату калію +item.crystal_osmiridium.name=Кристал Осмистого іридію +item.crystal_phosphorus.name=Кристал фосфору +item.crystal_plutonium.name=Кристал плутонію +item.crystal_rare.name=Кристал рідкоземельних елементів +item.crystal_redstone.name=Кристал редстоуну +item.crystal_schrabidium.name=Кристал шрабідію +item.crystal_schraranium.name=Кристал шраранію +item.crystal_starmetal.name=Кристал Зіркового металу +item.crystal_sulfur.name=Кристал сірки +item.crystal_thorium.name=Кристал торію +item.crystal_titanium.name=Кристал титану +item.crystal_trixite.name=Кристал трікситу +item.crystal_tungsten.name=Кристал вольфраму +item.crystal_uranium.name=Кристал урану +item.crystal_xen.name=Штучний кристал Зену +item.crt_display.name= Електронно-променева трубка +item.cube_power.name=Електронієвий куб +item.custom_amat.name=Заряд антиматерії Кастомної бомби +item.custom_dirty.name=Брудний заряд Кастомної бомби +item.custom_fall.name=Скидувальне покращення Кастомної бомби +item.custom_fall.desc=Це те, чого ви так довго чекали!$Скидає бомбу після активації. +item.custom_hydro.name=Водневий заряд Кастомної бомби +item.custom_kit.name=Комплект Кастомної бомби +item.custom_nuke.name=Ядерний заряд Кастомної бомби +item.custom_schrab.name=Шрабідієвий заряд Кастомної бомби +item.custom_tnt.name=Вибуховий заряд Кастомної бомби +item.cyclotron_tower.name=Cyclotron Tower +item.debris_concrete.name=Розбитий бетон +item.debris_element.name=Розбитий паливний елемент ЦИРНОКС +item.debris_exchanger.name=Шматок теплообмінника +item.debris_fuel.name=Шматок паливного стрижня РБМК +item.debris_graphite.name=Шматок гарячого графіту +item.debris_metal.name=Понівечений металевий стрижень +item.debris_shrapnel.name=Обломки підмостків +item.definitelyfood.name=Індивідуальний раціон харчування (ІРХ) +item.defuser.name=Високотехнологічний пристрій для знешкодження бомб +item.defuser_gold.name=Золоті бокорізи +item.demon_core_closed.name=Закрите Ядро-демон +item.demon_core_open.name=Привідкрите Ядро-демон +item.desh_axe.name=Сокрира з робітничого сплаву +item.desh_hoe.name=Мотика з робітничого сплаву +item.desh_pickaxe.name=Кайло з робітничого сплаву +item.desh_shovel.name=Лопата з робітничого сплаву +item.desh_sword.name=Меч з робітничого сплаву +item.designator.name=Цілевказівник малої дальності +item.designator_arty_range.name=Дистанційний навідник артилерії великої дальності +item.designator_manual.name=Ручний цілевказівник +item.designator_range.name=Цілевказівник великої дальності +item.detonator.name=Детонатор +item.detonator_de.name=Вибухівка мерця +item.detonator_deadman.name=Детонатор мерця +item.detonator_laser.name=Лазерний детонатор +item.detonator_multi.name=Мульти детонатор +item.deuterium_filter.name=Фільтр дейтерію +item.diamond_gavel.name=Алмазний молот +item.dieselsuit_boots.name=Дизельні високі підбори +item.dieselsuit_helmet.name=Дизельні наголівні сенсори навколишнього середовища +item.dieselsuit_legs.name=Дизельні сервоприводи для ніг +item.dieselsuit_plate.name=Дизельна кібернетика +item.digamma_diagnostic.name=Діагностик Дігамми +item.disperser_canister.name= Розсіювальна каністра: +item.disperser_canister_empty.name= Розсіювальна каністра +item.dns_boots.name=Чоботи ДНТ Нано костюму +item.dns_legs.name=Наголінники ДНТ Нано костюму +item.dns_helmet.name=Шолом ДНТ Нано костюму +item.dns_plate.name=Нагрудник ДНТ Нано костюму +item.dnt_boots.name=дієнаутронієві чоботи +item.dnt_legs.name=дінейтерієвиі ноги +item.dnt_helmet.name=дінотроніумоувий шолом +item.dnt_plate.name=дінейтромовий нагрудник +item.dnt_sword.name=динуатуремовий меч +item.door_bunker.name=Бункерні двері +item.door_metal.name=Металеві двері +item.door_office.name=Офісні двері +item.door_red.name=Червоні двері +item.dosimeter.name=Дозиметр +item.drax.name=Терра бур +item.drax_mk2.name=Загартований Терра бур +item.drax_mk3.name=Шрабідовий Терра бур +item.drillbit_desh.name=Деш бурильна головка +item.drillbit_desh_diamond.name=Деш бурильна головка (з алмазним покриттям) +item.drillbit_ferro.name=Фероуранова бурильна головка +item.drillbit_ferro_diamond.name=Фероуранова бурильна головка (з алмазним покриттям) +item.drillbit_hss.name=Бурильна головка зі швидкорізальної сталі +item.drillbit_hss_diamond.name=Бурильна головка зі швидкорізальної сталі (з алмазним покриттям) +item.drillbit_steel.name=Сталева бурильна головка +item.drillbit_steel_diamond.name=Сталева бурильна головка (з алмазним покриттям) +item.drillbit_tcalloy.name=Бурильна головка з технецієвої сталі +item.drillbit_tcalloy_diamond.name=Бурильна головка з технецієвої сталі (з алмазним покриттям) +item.drill_titanium.name=Титановий бур +item.drone.patrol.name=Транспортний дрон +item.drone.patrol.desc=Follows a route of waypoints$Tries to load/unload every time it reaches a drone crate$Right click on top of a drone crate to place. +item.drone.patrol_chunkloading.name=Транспортний дрон Прогрузщик чанків +item.drone.patrol_chunkloading.desc=Follows a route of waypoints$Tries to load/unload every time it reaches a drone crate$Right click on top of a drone crate to place.$Loads chunks! +item.drone.patrol_express.name=Швидкісний транспортний дрон +item.drone.patrol_express.desc=Follows a route of waypoints$Tries to load/unload every time it reaches a drone crate$Right click on top of a drone crate to place. +item.drone.patrol_express_chunkloading.name=Швидкісний транспортний дрон Прогрузщик чанків +item.drone.patrol_express_chunkloading.desc=Follows a route of waypoints$Tries to load/unload every time it reaches a drone crate$Right click on top of a drone crate to place.$Loads chunks! +item.drone.request.name=Логістичний дрон +item.drone.request.desc=Used by logistics drone docks to spawn logistics drones$Drones will follow logistics drone waypoints$After completing a request, the drone will return to the dock. +item.drone_linker.name=Лінкер транспортних дронів +item.ducttape.name=Скотч +item.dust.name=Пил +item.dust.desc=Я ненавиджу пил! +item.dust.desc.P11=Ще один звалився замертво! (Another one bites the dust!) +item.dust_tiny.name=Крихітна купка пилу +item.dwarven_pickaxe.name=Кайло дворфів +item.dynosphere_base.name=Blank Dynosphere +item.dynosphere_desh.name=Desh Dynosphere +item.dynosphere_desh_charged.name=Desh Dynosphere (Charged) +item.dynosphere_dineutronium.name=Dineutronium Dynosphere +item.dynosphere_dineutronium_charged.name=Dineutronium Dynosphere (Charged) +item.dynosphere_euphemium.name=Euphemium Dynosphere +item.dynosphere_euphemium_charged.name=Euphemium Dynosphere (Charged) +item.dynosphere_schrabidium.name=Schrabidium Dynosphere +item.dynosphere_schrabidium_charged.name=Schrabidium Dynosphere (Charged) +item.dysfunctional_reactor.name=Нефункціональний ядерний реактор +item.early_explosive_lenses.name=Масив вибухових лінз Першого покоління +item.early_explosive_lenses.desc=Збірка 8 вибухових лінз з алюмінієвим$штовхачем, дюралюмінієвим щитом, та дротяномостовим детонатором. +item.egg_balefire.name=BF яйце +item.egg_balefire.desc=Який птах відкладає радіоактивні яйця? +item.egg_balefire_shard.name=BF осколок +item.egg_glyphid.name=Яйце гліфіду +item.elec_axe.name=Електрична бензопила +item.elec_pickaxe.name=Ударний бур +item.elec_shovel.name=Спіральний бур +item.elec_sword.name=Електрошокер +item.energy_core.name=Імпровізоване енергетичне ядро +item.entanglement_kit.name=Комплект квантовової сплутаності +item.entanglement_kit.desc=Предмет для крафта телепорту.$Дозволяє змінювати виміри за допомогою$сканера ресурсів, покращеного берилієм. +item.envsuit_boots.name=Чоботи захисного костюма М1ТТІ +item.envsuit_helmet.name=Шолом захисного костюма М1ТТІ +item.envsuit_legs.name=Наголінники захисного костюма М1ТТІ +item.envsuit_plate.name=Нагрудник захисного костюма М1ТТІ +item.euphemium_boots.name=Евфемієві чоботи +item.euphemium_capacitor.name=Евфемієвий конденсатор +item.euphemium_capacitor.desc=Дозволяє пасивне розсіювання накопиченої позитивної енергії. +item.euphemium_helmet.name=Евфемієвий шолом +item.euphemium_kit.name=Евфемієвий набір +item.euphemium_legs.name=Евфемієві наголінники +item.euphemium_plate.name=Евфемієвий нагрудник +item.euphemium_stopper.name=Стопор +item.explosive_lenses.name=Масив вибухових лінз +item.explosive_lenses.desc=Збірка 8 пластичних вибухових лінз з тонким$алюмінієвим штовхачем, дюралюмінієвим щитом, та$мініатюрними дротяномостовим детонатором. +item.factory_core_advanced.name=Advanced Factory Energy Cluster +item.factory_core_titanium.name=Basic Factory Energy Cluster +item.fallout.name=Купка радіоактивних опадів +item.fau_boots.name=Фау чоботи +item.fau_helmet.name=Фау шолом +item.fau_legs.name=Фау наголінники +item.fau_plate.name=Фау нагрудник +item.filter_coal.name=Фільтр з активованого вугілля +item.fins_big_steel.name=Великий сталевий хвостовий стабілізатор +item.fins_flat.name=Плоский сталевий кожух +item.fins_quad_titanium.name=Мале титанове оперення +item.fins_small_steel.name=Малий сталевий хвостовий стабілізатор +item.fins_tri_steel.name=Велике сталеве оперення +item.five_htp.name=Таблетки ентераміну +item.five_htp.desc=Прибирає все дігамма опромінення з гравця, та захист від нього на 10 хвилин +item.flame_conspiracy.name=Конспірологічна теорія +item.flame_conspiracy.desc=Сталеві балки не можуть бути розплавлені авіаційним паливом! +item.flame_opinion.name=Власна думка +item.flame_opinion.desc=Ну, мені подобається... +item.flame_politics.name=Політична тема +item.flame_politics.desc=Дональд Дак збудує стіну! +item.flame_pony.name=Малюнок мультяшного поні +item.flame_pony.desc=Жовтий кінь перемагає синього коня, це доведений факт! +item.flask_infusion.shield.name=Настоянка щита +item.fleija_core.name=F.L.E.I.J.A. заряд урану-235 +item.fleija_igniter.name=Імпульсний запальник +item.fleija_kit.name=Комплект F.L.E.I.J.A. +item.fleija_propellant.name=Шрабідієвий заряд +item.fluid_barrel_empty.name=Порожня бочка для рідини +item.fluid_barrel_full.name=Бочка для рідини: +item.fluid_barrel_infinite.name=Нескінченна бочка для рідини +item.fluid_duct.name=Трубопровід: +item.fluid_identifier.name=Ідентифікатор рідини +item.fluid_identifier.info=Універсальний ідентифікатор рідини для: +item.fluid_identifier.usage0=Клацніть правою кнопкою миші по трубопроводу, щоб встановити їхній тип рідини. +item.fluid_identifier.usage1=Клацніть правою кнопкою з шифтом, щоб встановити тип для суміжних +item.fluid_identifier.usage2=трубопроводів в діапазоні 64 блоків. +item.fluid_identifier_multi.name=Мульти ідентифікатор рідини +item.fluid_identifier_multi.info=Універсальний ідентифікатор рідини для: +item.fluid_identifier_multi.info2=Другий тип: +item.fluid_tank_empty.name=Порожній універсальний резервуар для рідини +item.fluid_tank_full.name=Універсальний резервуар для рідини: +item.fluid_tank_lead_empty.name=Порожній резервуар для небезпечних матеріалів +item.fluid_tank_lead_full.name=Резервуар для небезпечних матеріалів: +item.fluorite.name=Флюорит +item.flywheel_beryllium.name=Берилієвий маховик +item.fmn.name=Таблетка флунітразепаму +item.fmn.desc=Прибирає все дігамма опромінення з гравця, до 2,000mDRX +item.folly_bullet.name=12.8cm Starmetal High-Energy Shell +item.folly_bullet_du.name=12.8cm DU-Shell +item.folly_bullet_nuclear.name=12.8cm Nuclear Shell +item.folly_shell.name=Silver Bullet Casing +item.fooditem.name=харчовий продукт +item.fragment_actinium.name=Фрагмент актинію-227 +item.fragment_boron.name=Фрагмент бору +item.fragment_cerium.name=Фрагмент церію +item.fragment_cobalt.name=Фрагмент кобальту +item.fragment_coltan.name=Колтан +item.fragment_lanthanium.name=Фрагмент лантану +item.fragment_meteorite.name=Фрагмент метеорита +item.fragment_neodymium.name=Фрагмент неодиму +item.fragment_niobium.name=Фрагмент ніобію +item.fuel_additive.antiknock.name=Тетраетилсвинцева антидетонувальна присадка +item.fuel_additive.deicer.name=Стекломой +item.fuel_tank_large.name=Великий паливний бак +item.fuel_tank_medium.name=Середній паливний бак +item.fuel_tank_small.name=Малий паливний бак +item.fuse.name=Запобіжник +item.fusion_core.name=Ядерний блок +item.fusion_core_infinite.name=Нескінченний ядерний блок +item.fusion_shield_chlorophyte.name=Хлорофітове покриття термоядерного реактора +item.fusion_shield_desh.name=Деш покриття термоядерного реактора +item.fusion_shield_tungsten.name=Вольфрамове покриття термоядерного реактора +item.fusion_shield_vaporwave.name=V A P O R W A V E покриття термоядерного реактора +item.gadget_core.name=Велике плутонієве ядро +item.gadget_explosive.name=Вибухові лінзи першого покоління +item.gadget_kit.name=Комплект Гаджета +item.gadget_wireing.name=Проводка +item.gas_biogas.name=Biogas Tank +item.gas_empty.name=Порожній газовий балон +item.gas_full.name=Газовий балон: +item.gas_lpg.name=LPG Tank +item.gas_mask.name=Протигаз +item.gas_mask_filter.name=Фільтр протигаза +item.gas_mask_filter_combo.name=Комбінований фільтр протигаза +item.gas_mask_filter_mono.name=Каталітичний масковий фільтр +item.gas_mask_filter_piss.name=Удосконалений саморобний фільтр протигаза +item.gas_mask_filter_rag.name=Саморобний фільтр протигаза +item.gas_mask_m65.name=Протигаз M65-Z +item.gas_mask_mono.name=Напівмаска +item.gas_mask_olde.name=Шкіряний протигаз +item.gas_petroleum.name=Petroleum Gas Tank +item.gas_tester.name=Газовий датчик +item.gear_large.name=Велика шестерня +item.gear_large_steel.name=Велика стальна шестерня +item.geiger_counter.name=Ручний лічильник Гейгера +item.gem_alexandrite.name=Александрит +item.gem_rad.name=Радіоактивний самоцвіт +item.gem_sodalite.name=Содаліт +item.gem_tantalium.name=Полікристал танталу +item.gem_tantalium.desc='Танталій' +item.gem_tantalium.desc.P11=AKA Танталій. +item.gem_volcanic.name=Вулканічний самоцвіт +item.generator_front.name=Generator Front +item.generator_steel.name=Generator Body +item.glitch.name=Глюк +item.glowing_stew.name=Сяюче грибне рагу +item.glyphid_meat.name=М'ясо гліфідів +item.glyphid_meat_grilled.name=Смажене м'ясо гліфідів +item.goggles.name=Захисні окуляри +item.grenade_aschrab.name=Метальна пробірка з антишрабідієм +item.grenade_black_hole.name=Граната з чорною дірою +item.grenade_breach.name=Пробійна граната +item.grenade_burst.name=Копальна граната +item.grenate_cats.name=Grenade of Cats +item.grenade_cloud.name=Банка з їдкими випарами +item.grenade_cluster.name=Касетна бомба +item.grenade_electric.name=Електрична бомба +item.grenade_fire.name=Вогняна осколкова граната +item.grenade_flare.name=Сигнальний флаєр +item.grenade_frag.name=Осколкова граната +item.grenade_gas.name=Газова граната +item.grenade_gascan.name=Метальна паливна каністра +item.grenade_generic.name=Граната +item.grenade_if_bouncy.name=IF - Стрибуча граната +item.grenade_if_brimstone.name=IF -Метальна Сірчана шахта +item.grenade_if_concussion.name=IF - Контузійна граната +item.grenade_if_generic.name=IF - Граната +item.grenade_if_he.name=IF - Фугасна граната +item.grenade_if_hopwire.name=IF - Vortex Hopwire +item.grenade_if_impact.name=IF - Контактна граната +item.grenade_if_incendiary.name=IF - Запалювальна граната +item.grenade_if_mystery.name=IF - M.-граната +item.grenade_if_null.name=IF - Нульова граната +item.grenade_if_spark.name=IF - S.-граната +item.grenade_if_sticky.name=IF - Липка граната +item.grenade_if_toxic.name=IF - Токсична граната +item.grenade_kit.name=Комплект гранат +item.grenade_kyiv.name=The Kyiv Special +item.grenade_lemon.name=Горючий лимон +item.grenade_mirv.name=Осколкова граната MIRV +item.grenade_mk2.name=Граната тип №2 "Амбасадор ананаса" +item.grenade_nuclear.name=Ядерна граната +item.grenade_nuke.name=Бурова граната тип №6 +item.grenade_pink_cloud.name=Банка рожевої хмари +item.grenade_plasma.name=Плазмова граната +item.grenade_poison.name=Отруйна граната +item.grenade_pulse.name=Імпульсна граната +item.grenade_schrabidium.name=Шрабідієва граната +item.grenade_shrapnel.name=Шрапнельна граната +item.grenade_smart.name=Розумна граната +item.grenade_strong.name=Покращена граната +item.grenade_tau.name=Тау граната +item.grenade_zomg.name=Негативно енергетична пара анігіляційна граната +item.glyphid_gland.name= Залоза +item.glyphid_gland_empty.name= Гліфідова рідинна залоза +item.gun_aberrator.name=Абератор +item.gun_aberrator_eott.name=Очі Бурі +item.gun_am180.name=Пістолет-кулемет калібру .22 +item.gun_am180_silenced.name=Пістолет-кулемет калібру .22 з глушником +item.gun_amat.name=Антиматерієва гвинтівка +item.gun_amat_penance.name=Покаяння +item.gun_amat_subtlety.name=Витонченість +item.gun_autoshotgun.name=Автоматичний дробовик +item.gun_autoshotgun_sexy.name=Сексі +item.gun_autoshotgun_shredder.name=Шредер +item.gun_b92.name=§9B92 Енергетичний пістолет§r +item.gun_b92_ammo.name=§9B92 Енергетичний елемент§r +item.gun_bolter.name=Болтер +item.gun_carbine.name=Карабін +item.gun_charge_thrower.name=Зарядомет +item.gun_chemthrower.name=Хімомет +item.gun_coilgun.name=Гармата Гаусса +item.gun_congolake.name=Конго Лейк +item.gun_cryocannon.name=Кріо гармата +item.gun_cryolator_ammo.name=Кріо заряд +item.gun_detonator.name=Лазерний детонатор +item.gun_double_barrel.name=Стара класика +item.gun_double_barrel_sacred_dragon.name=Священний Дракон +item.gun_fatman.name=Товстун +item.gun_fireext.name=Вогнегасник +item.gun_flamer.name=Вогнемет +item.gun_flamer_daybreaker.name=Дейбрейкер +item.gun_flamer_topaz.name=Пан Топаз +item.gun_flaregun.name=Сигнальний пістолет +item.gun_folly.name=Безглуздя +item.gun_g3.name=Штурмова гвинтівка +item.gun_g3_a3.name=G3A3 +item.gun_g3_infiltrator.name=Інфільтратор +item.gun_g3_zebra.name=Зеброва гвинтівка +item.gun_greasegun.name=Маслянка +item.gun_greasegun_m3.name=M3 +item.gun_hangman.name=Кат +item.gun_heavy_revolver.name=Важкий револьвер +item.gun_heavy_revolver_lilmac.name=Маленький Макінтош +item.gun_heavy_revolver_protege.name=Протеже +item.gun_heavy_revolver_scoped.name=Магнум калібру .44 з прицілом +item.gun_henry.name=Гвинтівка важільної дії +item.gun_henry_lincoln.name=Гвинтівка Лінкольна +item.gun_kit_1.name=Збройова олива +item.gun_kit_2.name=Ремонтний комплект зброї +item.gun_lag.name=Комічно довгий пістолет +item.gun_laser_pistol.name=Лазерний пістолет +item.gun_laser_pistol_morning_glory.name=Ранкове сяйво +item.gun_laser_pistol_pew_pew.name=Піу піу +item.gun_lasrifle.name=Лазерна гвинтівка +item.gun_liberator.name=Визволитель +item.gun_light_revolver.name=Револьвер з переламним затвором +item.gun_light_revolver_atlas.name=Атлас +item.gun_light_revolver_dani.name=День і ніч +item.gun_m2.name=Ma Deuce +item.gun_maresleg.name=Дробовик важільної дії +item.gun_maresleg_akimbo.name=Дробовики важільної дії +item.gun_maresleg_broken.name=Зламаний +item.gun_maresleg_short.name=Кобиляча нога +item.gun_mas36.name=Південна зірка +item.gun_minigun.name=Мініган +item.gun_minigun_dual.name=Подвійні мінігани +item.gun_minigun_lacunae.name=Lacunae +item.gun_missile_launcher.name=Ракетна пускова установка +item.gun_pepperbox.name=Перечниця +item.gun_panzerschreck.name=Панцершрек +item.gun_quadro.name=Четверна ракетна пускова установка +item.gun_spas12.name=SPAS-12 +item.gun_stg77.name=StG 77 +item.gun_stinger.name=FIM-92 Стінгер +item.gun_tau.name=Тау гармата +item.gun_tesla_cannon.name=Гармата "Тесла" +item.gun_uzi.name=Узі +item.gun_uzi_richter.name=Ріхтер +item.gun_uzi_akimbo.name=Дві Узі +item.hand_drill.name=Ручне свердло +item.hand_drill_desh.name=Ручне деш свердло +item.hazmat_boots.name=Захисні черевики +item.hazmat_boots_grey.name=Високоякісні захисні черевики +item.hazmat_boots_red.name=Удосконалені захисні черевики +item.hazmat_cloth.name=Захисна тканина +item.hazmat_cloth_grey.name=Захисна тканина з свинцевим покриттям +item.hazmat_cloth_red.name=Удосконалена захисна тканина +item.hazmat_grey_kit.name=Високоякісний захисний комплект +item.hazmat_helmet.name=Захисна шапка +item.hazmat_helmet_grey.name=Високоякісна захисна шапка +item.hazmat_helmet_red.name=Удосконалена захисна шапка +item.hazmat_kit.name=Захисний комплект +item.hazmat_legs.name=Захисні штанці +item.hazmat_legs_grey.name=Високоякісні захисні штанці +item.hazmat_legs_red.name=Удосконалені захисні штанці +item.hazmat_paa_boots.name=Чоботи бойового захисного костюма PaA +item.hazmat_paa_helmet.name=Шолом бойового захисного костюма PaA +item.hazmat_paa_legs.name=Наголінники бойового захисного костюма PaA +item.hazmat_paa_plate.name=Нагрудник бойового захисного костюма PaA +item.hazmat_plate.name=Захисна куртка +item.hazmat_plate_grey.name=Високоякісна захисна куртка +item.hazmat_plate_red.name=Удосконалена захисна куртка +item.hazmat_red_kit.name=Удосконалений захисний комплект +item.heart_booster.name=Серце підсилювач +item.heart_container.name=Ціле серце +item.heart_fab.name=Серце темряви +item.heart_piece.name=Частинка серця +item.heavy_component.name=Важкий компонент: %s +item.hev_battery.name=Батарея костюма +item.hev_boots.name=Чоботи H.E.V. тип №4 +item.hev_plate.name=Нагрудник H.E.V. тип №4 +item.hev_helmet.name=Шолом H.E.V. тип №4 +item.hev_legs.name=Наголінники H.E.V. тип №4 +item.holotape_damaged.name=Пошкоджений голодиск +item.holotape_image.name=Голодиск +item.horseshoe_magnet.name=Магніт підкова +item.hull_big_aluminium.name=Big Aluminium Shell +item.hull_big_steel.name=Big Steel Shell +item.hull_big_titanium.name=Big Titanium Shell +item.hull_small_aluminium.name=Small Aluminium Shell +item.hull_small_aluminium.desc=Can be inserted into drilled graphite +item.hull_small_steel.name=Small Steel Shell +item.icf_pellet.name=Паливна гранула ICF +item.icf_pellet_depleted.name=Збіднена паливна гранула ICF +item.icf_pellet_empty.name=Порожня паливна гранула ICF +item.igniter.name=Запальник +item.igniter.desc=(Використовується клацанням правою кнопкою миші на Прототипі)$Це зелена металева ручка з$яскраво-червоною кнопкою та маленькою кришкою.$Aнизу вигравірувані ініціали N.E. Ким би не був N.E., він мав$чудовий смак у відтінках зеленого. +item.industrial_magnet.name=Промисловий магніт +item.inf_antimatter.name=Infinite Antimatter Tank +item.inf_antischrabidium.name=Infinite Antischrabidium Tank +item.inf_coolant.name=Infinite Coolant Tank +item.inf_deuterium.name=Infinite Deuterium Tank +item.inf_diesel.name=Infinite Diesel Tank +item.inf_sulfur.name=Infinite Sulfur Tank +item.inf_tritium.name=Infinite Tritium Tank +item.inf_water.name=Нескінченний резервуар для води +item.inf_water_mk2.name=Нескінченний резервуар для води тип №2 +item.ingot_actinium.name=Зливок актинію-227 +item.ingot_advanced_alloy.name=Зливок удосконаленого сплаву +item.ingot_aluminium.name=Алюмінієвий зливок +item.ingot_am_mix.name=Зливок реакторного америцію +item.ingot_am241.name=Зливок америцію-241 +item.ingot_am242.name=Зливок америцію-242 +item.ingot_americium_fuel.name=Зливок америцієвого палива +item.ingot_arsenic.name=Зливок миш'яку +item.ingot_arsenic_bronze.name=Зливок миш'якової бронзи +item.ingot_asbestos.name=Лист азбесту +item.ingot_asbestos.desc=§o"Сповнений життям, невпевненністю в собі та азбестом. Ця атмосфера витає в повітрі."§r +item.ingot_au198.name=Зливок золота-198 +item.ingot_australium.name=Австралієвий зливок +item.ingot_bakelite.name=Брусок карболіту +item.ingot_beryllium.name=Берилієвий зливок +item.ingot_biorubber.name=Брусок латексу +item.ingot_bismuth.name=Вісмутовий зливок +item.ingot_bismuth_bronze.name=Зливок вісмутової бронзи +item.ingot_boron.name=Борний зливок +item.ingot_bscco.name=Зливок вісмут стронцій кальцій мідь оксиду (BSCCO) +item.ingot_c4.name=Брусок C-4 +item.ingot_cadmium.name=Кадмієвий зливок +item.ingot_calcium.name=Кальцієвий зливок +item.ingot_cdalloy.name=Зливок кадмієвої сталі +item.ingot_cft.name=Кристалічний фулерит +item.ingot_chainsteel.name=Важка ланцюгова сталь +item.ingot_co60.name=Зливок кобальту-60 +item.ingot_cobalt.name=Кобальтовий зливок +item.ingot_combine_steel.name=Зливок сталі комбайнів +item.ingot_combine_steel.desc=*вставити референс на Гражданскую Оборону тут* +item.ingot_copper.name=Зливок промислової міді +item.ingot_daffergon.name=Daffergon Ingot +item.ingot_desh.name=Зливок деш +item.ingot_dineutronium.name=Динейтронієвий зливок +item.ingot_dura_steel.name=Зливок швидкорізальної сталі +item.ingot_electronium.name=Електронієвий зливок +item.ingot_euphemium.name=Евфемієвий зливок +item.ingot_euphemium.desc=Дуже особливий і водночас дивний елемент. +item.ingot_ferrouranium.name=Фероурановий зливок +item.ingot_fiberglass.name=Лист склопластику +item.ingot_fiberglass.desc=Багатий на клітковину, багатий на скло. Все, що потрібно організму. +item.ingot_firebrick.name=Вогнетривка цегла +item.ingot_gh336.name=Зливок Ґіорсію-336 +item.ingot_gh336.desc=Колега Сіборгіума. +item.ingot_graphite.name=Графітовий зливок +item.ingot_gunmetal.name=Зливок гарматної бронзи +item.ingot_hes.name=Зливок високозбагаченого шрабідієвого палива +item.ingot_lanthanium.name=Напівстабільний лантановий зливок +item.ingot_lanthanium.desc='Лантаній' +item.ingot_lanthanium.desc.P11=Насправді лантаній, але як би там не було. +item.ingot_lead.name=Свинцевий зливок +item.ingot_les.name=Зливок низькозбагаченого шрабідієвого палива +item.ingot_magnetized_tungsten.name=Намагнічений вольфрамовий зливок +item.ingot_metal.name=Металевий зливок +item.ingot_metal.bar.name=Металевий брусок +item.ingot_metal.beacon.name=Radio Homing Beacon +item.ingot_metal.casing.name=Металева гільза +item.ingot_metal.clockwork.name=Clockwork +item.ingot_metal.counter.name=Counter +item.ingot_metal.detector.name=Detector +item.ingot_metal.ingot.name=Metal Ingot +item.ingot_metal.key.name=Metal Key +item.ingot_meteorite.name=Метеоритний зливок +item.ingot_meteorite_forged.name=Кований метеоритний зливок +item.ingot_mox_fuel.name=Зливок МОКС-палива +item.ingot_mud.name=Брикет токсичних відходів +item.ingot_neptunium.name=Нептунієвий зливок +item.ingot_neptunium.desc=Це мій улюблений! +item.ingot_neptunium.desc.P11=Буу, страшно! +item.ingot_neptunium_fuel.name=Зливок нептунієвого палива +item.ingot_niobium.name=Ніобієвий зливок +item.ingot_osmiridium.name=Зливок осмистого іридію +item.ingot_pb209.name=Зливок свинцю-209 +item.ingot_pc.name=Брусок полікарбонату +item.ingot_pet.name=Aluminium-Metallized PET Bar +item.ingot_phosphorus.name=Брусок білого фосфору +item.ingot_plutonium.name=Плутонієвий зливок +item.ingot_plutonium_fuel.name=Зливок плутонієвого палива +item.ingot_polonium.name=Зливок полонію-210 +item.ingot_polymer.name=Брусок полімеру +item.ingot_pu_mix.name=Зливок реакторного плутонію +item.ingot_pu238.name=Зливок плутонію-238 +item.ingot_pu239.name=Зливок плутонію-239 +item.ingot_pu240.name=Зливок плутонію-240 +item.ingot_pu241.name=Зливок плутонію-241 +item.ingot_pvc.name=Брусок полівінілхлориду +item.ingot_ra226.name=Зливок радію-226 +item.ingot_raw.name=Зливок %s +item.ingot_red_copper.name=Зливок червоної міді +item.ingot_reiium.name=Reiium Ingot +item.ingot_rubber.name=Брусок гуми +item.ingot_saturnite.name=Сатурнітовий зливок +item.ingot_schrabidate.name=Ферошрабідатовий зливок +item.ingot_schrabidium.name=Шрабідієвий зливок +item.ingot_schrabidium_fuel.name=Зливок шрабідієвого палива +item.ingot_schraranium.name=Шраранієвий зливок +item.ingot_schraranium.desc=Виготовлено з урану в шрабідієвому трансмутаторі +item.ingot_semtex.name=Брусок Семтексу +item.ingot_silicon.name=Кремнієва буля +item.ingot_smore.name=Зливок Смору +item.ingot_solinium.name=Солінієвий зливок +item.ingot_sr90.name=Зливок стронцію-90 +item.ingot_starmetal.name=§9Зливок зіркового металу§r +item.ingot_steel.name=Сталевий зливок +item.ingot_steel_dusted.name=Запилений сталевий зливок +item.ingot_tantalium.name=Танталовий зливок +item.ingot_tantalium.desc='Танталій' +item.ingot_tantalium.desc.P11=AKA Танталій. +item.ingot_tcalloy.name=Зливок технецієвої сталі +item.ingot_technetium.name=Зливок технецію-99 +item.ingot_th232.name=Зливок торію-232 +item.ingot_thorium_fuel.name=Зливок торієвого палива +item.ingot_titanium.name=Титановий зливок +item.ingot_tungsten.name=Вольфрамовий зливок +item.ingot_u233.name=Зливок урану-233 +item.ingot_u235.name=Зливок урану-235 +item.ingot_u238.name=Зливок урану-238 +item.ingot_u238m2.name=Зливок метастабільного урану-238М2 +item.ingot_unobtainium.name=Unobtainium Ingot +item.ingot_uranium.name=Урановий зливок +item.ingot_uranium_fuel.name=Зливок уранового палива +item.ingot_verticium.name=Verticium Ingot +item.ingot_weaponsteel.name=Зливок збройової сталі +item.ingot_weidanium.name=Weidanium Ingot +item.ingot_zirconium.name=Цирконієвий зливок +item.injector_5htp.name=Шприц-ручка 5-гідрокситриптофану +item.injector_knife.name=Шприц-ручка 8-дюймового леза +item.ink.name=林 чорнила +item.insert_doxium.name=Вставка доксію легована астольфієм +item.insert_du.name=Вставка збідненого урану +item.insert_era.name=Вставка Контакту-1 +item.insert_esapi.name=Удосконалена протикульна броневставка +item.insert_ghiorsium.name=Ґіорсієва вставка +item.insert_kevlar.name=Кевларова вставка +item.insert_sapi.name=Протикульна броневставка +item.insert_polonium.name=Полонієва вставка +item.insert_steel.name=Важка сталева вставка +item.insert_xsapi.name=Твердосплавна протикульна броневставка +item.insert_yharonite.name=Яронітова вставка +item.item_secret.aberrator.name=Частина Абератора +item.item_secret.canister.name=Композит SB-26 +item.item_secret.controller.name=Пропрієтарний блок керування +item.item_secret.folly.name=Частина Безглуздя +item.item_secret.selenium_steel.name=Селенова сталь +item.iv_blood.name=Мішок консервованої донорської крові +item.iv_empty.name=Мішок для внутрішньовенного введення +item.iv_xp.name=Крапельниця досвіду +item.iv_xp_empty.name=Порожня крапельниця досвіду +item.jackt.name=До біса стильна балістична куртка +item.jackt2.name=До біса стильна балістична куртка 2: Токійський дрифт +item.jetpack_boost.name=BF ранець +item.jetpack_break.name=Реактивний ранець будівельника +item.jetpack_fly.name=Реактивний ранець +item.jetpack_tank.name=Запасний паливний бак для реактивного ранця +item.jetpack_vector.name=Векторний реактивний ранець +item.journal_bj.name=Облитий віскі нотатник +item.journal_pip.name=Щоденник виживальника +item.journal_silver.name=Замітки підрядника +item.key.name=Ключ +item.key_fake.name=Підроблений ключ +item.key_kit.name=Комплект для імітації ключів +item.key_red.name=Червоний ключ +item.key_red.desc=Дослідіть іншу сторону. +item.key_red.desc.P11=§4е§r +item.key_red_cracked.name=Зламаний ключ +item.key_red_cracked.desc=??? +item.key_red.key_red_cracked.P11=§4???§r +item.laser_crystal_bismuth.desc=Вісмуто-самарієво-ураново-торієва кристалічна матриця +item.laser_crystal_bismuth.name=BiSmUTh лазерний кристал +item.laser_crystal_cmb.desc=Антишрабідій скований в решітці зі комбайноферошрабідатового сплаву +item.laser_crystal_cmb.name=Комбайноферошрабідатовий антиматерієвий лазерний кристал +item.laser_crystal_co2.desc=Вуглекислий газ упакований в кристалічний деш +item.laser_crystal_co2.name=CO2-деш лазерний кристал +item.laser_crystal_digamma.name=Дігамма лазерний кристал +item.laser_crystal_dnt.desc=Суперкристал динейтронієвого спарк ферміону +item.laser_crystal_dnt.name=Спарк лазерний кристал +item.launch_code.name=Код запуску судного дня +item.launch_code_piece.name=Частина коду запуску судного дня +item.launch_key.name=Ключ запуску судного дня +item.lead_gavel.name=Свинцевий молот +item.lemon.name="Лимон" +item.letter.name=Швидкісна пошта +item.levitation_unit.name=Гравітаційний маніпулятор +item.lignite.name=Буре вугілля +item.limiter.name=Generator Limiter +item.linker.name=Телелінкер +item.liquidator_boots.name=Черевики ліквідатора +item.liquidator_helmet.name=Шапка ліквідатора +item.liquidator_legs.name=Штанці ліквідатора +item.liquidator_plate.name=Куртка ліквідатора +item.lithium.name=Літієвий куб +item.lodestone.name=Магніт +item.loop_stew.name=Сніданок айтішніка +item.loops.name=Lööps +item.loot_10.name=Ящик з ракетою 10 розміру +item.loot_15.name=Ящик з ракетою 15 розміру +item.loot_misc.name=Ящик з будь-якою ракетою +item.magnet_circular.name=Плоский магніт +item.magnet_dee.name=Dee Magnets +item.magnetron.name=Магнетрон +item.man_core.name=Плутонієве ядро +item.man_explosive.name=Вибухові лінзи +item.man_igniter.name=Блок детонатор +item.man_kit.name=Комплект Товстуна +item.marshmallow.name=Зефір на паличці +item.mask_of_infamy.name=Маска ганьби +item.mask_piss.name=Траншейна пов'язка +item.mask_rag.name=Імпровізована захисна пов'язка +item.matchstick.name=Сірник +item.mech_key.name=Великий срібний ключ +item.mech_key.desc=Він пульсує з потужністю. +item.mechanism_launcher_1.name=Launcher Mechanism +item.mechanism_launcher_2.name=Advanced Launcher Mechanism +item.mechanism_revolver_1.name=Revolver Mechanism +item.mechanism_revolver_2.name=Advanced Revolver Mechanism +item.mechanism_rifle_1.name=Rifle Mechanism +item.mechanism_rifle_2.name=Advanced Rifle Mechanism +item.mechanism_special.name=High-Tech Weapon Mechanism +item.med_bag.name=Аптечка першої допомоги +item.med_ipecac.name=Сироп іпекаку +item.med_ptsd.name=Ліки від ПТСР +item.med_schiziphrenia.name=Ліки від шизофренії +item.medal_liquidator.name=Відзнака "За участь у ліквідації наслідків аварії на АЕС" +item.meltdown_tool.name=Аплікатор миттєвого розплавлення Дятлова +item.memespoon.name=§eМагазинний садівник (Маркет Гарденер) +item.memory.name=item.null.name +item.mese_gavel.name=Месе молот +item.mese_axe.name=Месе сокира +item.mese_pickaxe.name=Месе кайло +item.meteor_charm.name=Метеоровий оберіг +item.meteor_remote.name=Метеоритний пульт +item.meteorite_sword.name=Метеоритний меч +item.meteorite_sword_seared.name=Метеоритний меч (Обпалений) +item.meteorite_sword_reforged.name=Метеоритний меч (Перекований) +item.meteorite_sword_hardened.name=Метеоритний меч (Загартований +item.meteorite_sword_alloyed.name=Метеоритний меч (Легований) +item.meteorite_sword_machined.name=Метеоритний меч (Механічно оброблений) +item.meteorite_sword_treated.name=Метеоритний меч (Оброблений) +item.meteorite_sword_etched.name=Метеоритний меч (Гравірований) +item.meteorite_sword_bred.name=Метеоритний меч (Розмножений) +item.meteorite_sword_irradiated.name=Метеоритний меч (Опромінений) +item.meteorite_sword_fused.name=Метеоритний меч (Зплавлений) +item.meteorite_sword_baleful.name=Метеоритний меч (Зловісний) +item.mike_cooling_unit.name=Охолоджувальний блок дейтерію +item.mike_core.name=Уранове покриття дейтерієвого баку +item.mike_deut.name=Дейтерієвий бак +item.mike_kit.name=Комплект Айві Майку +item.mirror_tool.name=Інструмент для регулювання дзеркал +item.mirror_tool.linked=Положення дзеркала встановлено! +item.mirror_tool.desc=Клацніть правою кнопкою миші по бойлеру, щоб запам'ятати його положення.$Клацніть по дзеркалах, щоб повернути їх до бойлера. +item.missile_anti_ballistic.name=Протибалістична ракета +item.missile_assembly.name=Збірка малої ракети +item.missile_bhole.name=ракета з чорною дірою +item.missile_burst.name=Запасна ракета +item.missile_buster.name=Бетонобійно-фугасна ракета +item.missile_buster_strong.name=Покращена бетонобійно-фугасна ракета +item.missile_carrier.name=HTR-01 Carrier Rocket +item.missile_cluster.name=Касетна ракета +item.missile_cluster_strong.name=Потужна касетна ракета +item.missile_custom.name=Кастомна ракета +item.missile_decoy.name=Ракета-приманка +item.missile_doomsday.name=Ракета Судного дня +item.missile_doomsday_rusted.name=Пошкоджена ракета Судного дня +item.missile_drill.name=Бункер крекер +item.missile_emp.name=Електромагнітна імпульсна ракета +item.missile_emp_strong.name=Потужна електромагнітна імпульсна ракета +item.missile_endo.name=Ендотермічна ракета +item.missile_exo.name=Екзотермічна ракета +item.missile_generic.name=V-2 +item.missile_incendiary.name=Запалювальна ракета +item.missile_incendiary_strong.name=Потужна запалювальна ракета +item.missile_inferno.name=Ракета "Інферно" тип №2 +item.missile_kit.name=Комплект ракет +item.missile_micro.name=Мікроядерна ракета +item.missile_nuclear.name=Ядерна ракета +item.missile_nuclear_cluster.name=Термоядерна ракета +item.missile_rain.name=Бомбовий дощ +item.missile_schrabidium.name=Шрабідієва ракета +item.missile_shuttle.name=Космічний корабель "Надійний Робін" +item.missile_soyuz.name=Ракета-носій "Союз" +item.missile_soyuz_lander.name=Орбітальний модуль +item.missile_soyuz_lander.desc=Також є жахливим посадковим модулем! +item.missile_stealth.name=Ракета-невидимка +item.missile_strong.name=Потужна фугасна ракета +item.missile_taint.name=Ракета з біологічною зброєю +item.missile_volcano.name=Тектонічна ракета +item.missile_volcano.desc=Використовуючи силу ядерного вибуху, ми можемо викликати вулкан! +item.mold_base.name=Заготовка ливарної формочки +item.mold.name=Ливарна формочка +item.morning_glory.name=Ранкове сяйво +item.motor.name=Мотор +item.motor_bismuth.name=Вісмутовий мотор +item.motor_desh.name=Деш мотор +item.mp_c_1.name=Схема наведення ракет 1-го рівня +item.mp_c_2.name=Схема наведення ракет 2-го рівня +item.mp_c_3.name=Схема наведення ракет 3-го рівня +item.mp_c_4.name=Схема наведення ракет 4-го рівня +item.mp_c_5.name=Схема наведення ракет 5-го рівня +item.mp_fuselage_10_15_balefire.name=BF фюзеляж 10/15 розміру +item.mp_fuselage_10_15_hydrogen.name=Водневий фюзеляж 10/15 розміру +item.mp_fuselage_10_15_kerosene.name=Гасовий фюзеляж 10/15 розміру +item.mp_fuselage_10_15_solid.name=Твердопаливний фюзеляж 10/15 розміру +item.mp_fuselage_10_kerosene.name=Гасовий фюзеляж 10 розміру +item.mp_fuselage_10_kerosene_camo.name=Гасовий фюзеляж 10 розміру +item.mp_fuselage_10_kerosene_desert.name=Гасовий фюзеляж 10 розміру +item.mp_fuselage_10_kerosene_flames.name=Гасовий фюзеляж 10 розміру +item.mp_fuselage_10_kerosene_insulation.name=Гасовий фюзеляж 10 розміру +item.mp_fuselage_10_kerosene_metal.name=Гасовий фюзеляж 10 розміру +item.mp_fuselage_10_kerosene_sky.name=Гасовий фюзеляж 10 розміру +item.mp_fuselage_10_kerosene_sleek.name=Гасовий фюзеляж 10 розміру +item.mp_fuselage_10_kerosene_taint.name=Гасовий фюзеляж 10 розміру +item.mp_fuselage_10_long_kerosene.name=Довгий гасовий фюзеляж 10 розміру +item.mp_fuselage_10_long_kerosene_camo.name=Довгий гасовий фюзеляж 10 розміру +item.mp_fuselage_10_long_kerosene_dash.name=Довгий гасовий фюзеляж 10 розміру +item.mp_fuselage_10_long_kerosene_desert.name=Довгий гасовий фюзеляж 10 розміру +item.mp_fuselage_10_long_kerosene_flames.name=Довгий гасовий фюзеляж 10 розміру +item.mp_fuselage_10_long_kerosene_insulation.name=Довгий гасовий фюзеляж 10 розміру +item.mp_fuselage_10_long_kerosene_metal.name=Довгий гасовий фюзеляж 10 розміру +item.mp_fuselage_10_long_kerosene_sky.name=Довгий гасовий фюзеляж 10 розміру +item.mp_fuselage_10_long_kerosene_sleek.name=Довгий гасовий фюзеляж 10 розміру +item.mp_fuselage_10_long_kerosene_taint.name=Довгий гасовий фюзеляж 10 розміру +item.mp_fuselage_10_long_kerosene_vap.name=Довгий гасовий фюзеляж 10 розміру +item.mp_fuselage_10_long_solid.name=Довгий твердопаливний фюзеляж 10 розміру +item.mp_fuselage_10_long_solid_bullet.name=Довгий твердопаливний фюзеляж 10 розміру +item.mp_fuselage_10_long_solid_flames.name=Довгий твердопаливний фюзеляж 10 розміру +item.mp_fuselage_10_long_solid_insulation.name=Довгий твердопаливний фюзеляж 10 розміру +item.mp_fuselage_10_long_solid_silvermoonlight.name=Довгий твердопаливний фюзеляж 10 розміру +item.mp_fuselage_10_long_solid_sleek.name=Довгий твердопаливний фюзеляж 10 розміру +item.mp_fuselage_10_long_solid_soviet_glory.name=Довгий твердопаливний фюзеляж 10 розміру +item.mp_fuselage_10_solid.name=Твердопаливний фюзеляж 10 розміру +item.mp_fuselage_10_solid_battery.name=Твердопаливний фюзеляж 10 розміру +item.mp_fuselage_10_solid_cathedral.name=Твердопаливний фюзеляж 10 розміру +item.mp_fuselage_10_solid_duracell.name=Твердопаливний фюзеляж 10 розміру +item.mp_fuselage_10_solid_flames.name=Твердопаливний фюзеляж 10 розміру +item.mp_fuselage_10_solid_insulation.name=Твердопаливний фюзеляж 10 розміру +item.mp_fuselage_10_solid_moonlit.name=Твердопаливний фюзеляж 10 розміру +item.mp_fuselage_10_solid_sleek.name=Твердопаливний фюзеляж 10 розміру +item.mp_fuselage_10_solid_soviet_glory.name=Твердопаливний фюзеляж 10 розміру +item.mp_fuselage_10_xenon.name=Ксеноновий фюзеляж 10 розміру +item.mp_fuselage_10_xenon_bhole.name=Ксеноновий фюзеляж 10 розміру +item.mp_fuselage_15_20_kerosene.name=Гасовий фюзеляж 15/20 розміру +item.mp_fuselage_15_20_kerosene_magnusson.name=Гасовий фюзеляж 15/20 розміру +item.mp_fuselage_15_20_solid.name=Твердопаливний фюзеляж 15/20 розміру +item.mp_fuselage_15_balefire.name=BF фюзеляж 15 розміру +item.mp_fuselage_15_hydrogen.name=Водневий фюзеляж 15 розміру +item.mp_fuselage_15_hydrogen_cathedral.name=Водневий фюзеляж 15 розміру +item.mp_fuselage_15_kerosene.name=Гасовий фюзеляж 15 розміру +item.mp_fuselage_15_kerosene_blackjack.name=Гасовий фюзеляж 15 розміру +item.mp_fuselage_15_kerosene_camo.name=Гасовий фюзеляж 15 розміру +item.mp_fuselage_15_kerosene_decorated.name=Гасовий фюзеляж 15 розміру +item.mp_fuselage_15_kerosene_desert.name=Гасовий фюзеляж 15 розміру +item.mp_fuselage_15_kerosene_insulation.name=Гасовий фюзеляж 15 розміру +item.mp_fuselage_15_kerosene_lambda.name=Гасовий фюзеляж 15 розміру +item.mp_fuselage_15_kerosene_metal.name=Гасовий фюзеляж 15 розміру +item.mp_fuselage_15_kerosene_minuteman.name=Гасовий фюзеляж 15 розміру +item.mp_fuselage_15_kerosene_pip.name=Гасовий фюзеляж 15 розміру +item.mp_fuselage_15_kerosene_polite.name=Гасовий фюзеляж 15 розміру +item.mp_fuselage_15_kerosene_sky.name=Гасовий фюзеляж 15 розміру +item.mp_fuselage_15_kerosene_steampunk.name=Гасовий фюзеляж 15 розміру +item.mp_fuselage_15_kerosene_taint.name=Гасовий фюзеляж 15 розміру +item.mp_fuselage_15_kerosene_yuck.name=Гасовий фюзеляж 15 розміру +item.mp_fuselage_15_solid.name=Твердопаливний фюзеляж 15 розміру +item.mp_fuselage_15_solid_desh.name=Твердопаливний фюзеляж 15 розміру +item.mp_fuselage_15_solid_faust.name=Твердопаливний фюзеляж 15 розміру +item.mp_fuselage_15_solid_insulation.name=Твердопаливний фюзеляж 15 розміру +item.mp_fuselage_15_solid_mimi.name=Твердопаливне тіло Мімі-чан 15 розміру +item.mp_fuselage_15_solid_panorama.name=Твердопаливний фюзеляж 15 розміру +item.mp_fuselage_15_solid_roses.name=Твердопаливний фюзеляж 15 розміру +item.mp_fuselage_15_solid_silvermoonlight.name=Твердопаливний фюзеляж 15 розміру +item.mp_fuselage_15_solid_snowy.name=Твердопаливний фюзеляж 15 розміру +item.mp_fuselage_15_solid_soviet_glory.name=Твердопаливний фюзеляж 15 розміру +item.mp_fuselage_15_solid_soviet_stank.name=Твердопаливний фюзеляж 15 розміру +item.mp_stability_10_cruise.name=Круїзні стабілізатори 10 розміру +item.mp_stability_10_flat.name=Плоскі стабілізатори 10 розміру +item.mp_stability_10_space.name=Космічні стабілізатори 10 розміру +item.mp_stability_15_flat.name=Плоскі стабілізатори 15 розміру +item.mp_stability_15_soyuz.name=Гострі стабілізатори 15 розміру +item.mp_stability_15_thin.name=Тонкі стабілізатори 15 розміру +item.mp_thruster_10_kerosene.name=Рідкопаливний двигун 10 розміру +item.mp_thruster_10_solid.name=Твердопаливний двигун 10 розміру +item.mp_thruster_10_xenon.name=Іонний двигун 10 розміру +item.mp_thruster_15_balefire.name=BF двигун з ядерним підігрівачем 15 розміру +item.mp_thruster_15_balefire_large.name=BF двигун з ядерним підігрівачем 15 розміру (Насадка для важких умов експлуатації) +item.mp_thruster_15_balefire_large_rad.name=BF двигун з ядерним підігрівачем 15 розміру (Насадка для важких умов експлуатації) +item.mp_thruster_15_balefire_short.name=BF двигун з ядерним підігрівачем 15 розміру (Укорочений) +item.mp_thruster_15_hydrogen.name=Водневий двигун 15 розміру +item.mp_thruster_15_hydrogen_dual.name=Водневий здвоєний двигун 15 розміру +item.mp_thruster_15_kerosene.name=Рідкопаливний двигун 15 розміру +item.mp_thruster_15_kerosene_dual.name=Рідкопаливний здвоєний двигун 15 розміру +item.mp_thruster_15_kerosene_triple.name=Рідкопаливний зтроєний двигун 15 розміру +item.mp_thruster_15_solid.name=Твердопаливний двигун 15 розміру +item.mp_thruster_15_solid_hexdecuple.name=Твердопаливний шістнадцятикратний двигун 15 розміру +item.mp_thruster_20_kerosene.name=Рідкопаливний двигун 20 розміру +item.mp_thruster_20_kerosene_dual.name=Рідкопаливний здвоєний двигун 20 розміру +item.mp_thruster_20_kerosene_triple.name=Рідкопаливний зтроєний двигун 20 розміру +item.mp_thruster_20_solid.name=Твердопаливний двигун 20 розміру +item.mp_thruster_20_solid_multi.name=Твердопаливний 30-кратний двигун 20 розміру +item.mp_thruster_20_solid_multier.name=Твердопаливний 47-кратний двигун 20 розміру +item.mp_warhead_10_buster.name=Бетонобійна боєголовка 10 розміру +item.mp_warhead_10_cloud.name=Боєголовка з рожевою хмарою 10 розміру +item.mp_warhead_10_he.name=Фугасна боєголовка 10 розміру +item.mp_warhead_10_incendiary.name=Запалювальна боєголовка 10 розміру +item.mp_warhead_10_nuclear.name=Мікроядерна боєголовка 10 розміру +item.mp_warhead_10_nuclear_large.name=Ядерна боєголовка 10 розміру +item.mp_warhead_10_taint.name=Боєголовка з порчею 10 розміру +item.mp_warhead_15_balefire.name=BF боєголовка 15 розміру +item.mp_warhead_15_boxcar.name=Вантажний вагон 15 розміру? +item.mp_warhead_15_he.name=Фугасна боєголовка 15 розміру +item.mp_warhead_15_incendiary.name=Запалювальна боєголовка 15 розміру +item.mp_warhead_15_n2.name=N² Міна 15 розміру +item.mp_warhead_15_nuclear.name=Ядерна боєголовка 15 розміру +item.mp_warhead_15_nuclear_mimi.name=Голова Мімі-чан 15 розміру +item.mp_warhead_15_nuclear_shark.name=Ядерна боєголовка 15 розміру +item.mp_warhead_15_turbine.name=Реактивний двигун 15 розміру +item.mucho_mango.name=Живчік +item.multi_kit.name=Комплект багатолільової бомби +item.multitool_beam.name=Силова рукавичка (Підпалювач) +item.multitool_decon.name=Силова рукавичка (Спеціальний обробник) +item.multitool_dig.name=Силова рукавичка (Риючий кіготь) +item.multitool_ext.name=Силова рукавичка (Екстрактор руди) +item.multitool_hit.name=Силова рукавичка (Кулак) +item.multitool_joule.name=Силова рукавичка (Гігаджоуль) +item.multitool_mega.name=Силова рукавичка (Супер удар) +item.multitool_miner.name=Силова рукавичка (Гірничий лазер) +item.multitool_silk.name=Силова рукавичка (Кіготь шовкового дотику) +item.multitool_sky.name=Силова рукавичка (Громовержець) +item.mysteryshovel.name=Крихка лопата +item.n2_charge.name=Великий вибуховий заряд +item.neutrino_lens.name=Нейтрино лінза +item.neutron_reflector.name=Відбивач нейтронів +item.night_vision.name=Окуляри нічного бачення +item.night_vision.description.item=Надає нічне бачення (потрібен повний комплект електроброні) +item.night_vision.description.in_armor=%s (надає нічне бачення) +item.niter.name=Нітрат калію +item.nitra.name=Нітра +item.nitra_small.name=Крихітна купка Нітри +item.no9.name=Шахтарський шолом +item.nossy_hat.name=Чудовий капелюх +item.nothing.name=Нічого +item.nuclear_waste.name=Ядерні відходи +item.nuclear_waste_pearl.name=Перлина ядерних відходів +item.nuclear_waste_tiny.name=Крихітна купка ядерних відходів +item.nuclear_waste_long.name=Довгоживучі ядерні відходи +item.nuclear_waste_long_tiny.name=Крихітна купка довгоживучих ядерних відходів +item.nuclear_waste_long_depleted.name=Розкладені довгоживучі ядерні відходи +item.nuclear_waste_long_depleted_tiny.name=Крихітна купка розкладених довгоживучих ядерних відходів +item.nuclear_waste_short.name=Короткоживучі ядерні відходи +item.nuclear_waste_short_tiny.name=Крихітна купка короткоживучих ядерних відходів +item.nuclear_waste_short_depleted.name=Розкладені короткоживучі ядерні відходи +item.nuclear_waste_short_depleted_tiny.name=Крихітна купка розкладених короткоживучих ядерних відходів +item.nuclear_waste_vitrified.name=Заскловані ядерні відходи +item.nuclear_waste_vitrified_tiny.name=Крихітна купа засклованих ядерних відходів +item.nugget.name=Курячий Нагетс +item.nugget_actinium.name=Самородок актинію-227 +item.nugget_am_mix.name=Самородок реакторного америцію +item.nugget_am241.name=Самородок америцію-241 +item.nugget_am242.name=Самородок америцію-242 +item.nugget_americium_fuel.name=Самородок америцієвого палива +item.nugget_arsenic.name=Самородок миш'яку +item.nugget_au198.name=Самородок золота-198 +item.nugget_australium.name=Австралієвий самородок +item.nugget_australium_greater.name=Самородок високозбагаченого австралію +item.nugget_australium_lesser.name=Самородок низькозбагаченого австралію +item.nugget_beryllium.name=Берилієвий самородок +item.nugget_bismuth.name=Вісмутовий самородок +item.nugget_co60.name=Самородок кобальту-60 +item.nugget_cobalt.name=Кобальтовий самородок +item.nugget_daffergon.name=Daffergon Nugget +item.nugget_desh.name=Самородок деш +item.nugget_dineutronium.name=Динейтронієвий самородок +item.nugget_euphemium.name=Евфемієвий самородок +item.nugget_euphemium.desc=Невеликий шматочок рожевого металу.$Його властивості досі невідомі,$ПОВОДЬСЯ З НИМ обережно. +item.nugget_gh336.name=Самородок Ґіорсію-336 +item.nugget_gh336.desc=Колега Сіборгіума. +item.nugget_hes.name=Самородок високозбагаченого шрабідієвого палива +item.nugget_lead.name=Свинцевий самородок +item.nugget_les.name=Самородок низькозбагаченого шрабідієвого палива +item.nugget_mercury_tiny.name=Крихітна крапля ртуті +item.nugget_mercury.name=Крапля ртуті +item.nugget_mox_fuel.name=Самородок МОКС-палива +item.nugget_mox_fuel.desc=Моксі каже: §lУХИЛЕННЯ ВІД СПЛАТИ ПОДАТКІВ.§r +item.nugget_neptunium.name=Нептунієвий самородок +item.nugget_neptunium_fuel.name=Самородок нептунієвого палива +item.nugget_niobium.name=Ніобієвий самородок +item.nugget_osmiridium.name=Самородок осмистого іридію +item.nugget_pb209.name=Самородок свинцю-209 +item.nugget_plutonium.name=Плутонієвий самородок +item.nugget_plutonium_fuel.name=Самородок плутонієвого палива +item.nugget_polonium.name=Самородок полонію-210 +item.nugget_pu_mix.name=Самородок реакторного плутонію +item.nugget_pu238.name=Самородок плутонію-238 +item.nugget_pu239.name=Самородок плутонію-239 +item.nugget_pu240.name=Самородок плутонію-240 +item.nugget_pu241.name=Самородок плутонію-241 +item.nugget_ra226.name=Самородок радію-226 +item.nugget_reiium.name=Reiium Nugget +item.nugget_schrabidium.name=Шрабідієвий самородок +item.nugget_schrabidium_fuel.name=Самородок шрабідієвого палива +item.nugget_silicon.name=Кремнієвий самородок +item.nugget_solinium.name=Солінієвий самородок +item.nugget_sr90.name=Самородок стронцію-90 +item.nugget_tantalium.name=Танталовий самородок +item.nugget_tantalium.desc='Танталій' +item.nugget_tantalium.desc.P11=AKA Танталій. +item.nugget_technetium.name=Самородок технецію-99 +item.nugget_th232.name=Самородок торію-232 +item.nugget_thorium_fuel.name=Самородок торієвого палива +item.nugget_u233.name=Самородок урану-233 +item.nugget_u235.name=Самородок урану-235 +item.nugget_u238.name=Самородок урану-238 +item.nugget_unobtainium.name=Unobtainium Nugget +item.nugget_uranium.name=Урановий самородок +item.nugget_uranium_fuel.name=Самородок уранового палива +item.nugget_verticium.name=Verticium Nugget +item.nugget_weidanium.name=Weidanium Nugget +item.nugget_zirconium.name=Цирконієвий осколок +item.nuke_advanced_kit.name=Розширений комплект атомних досліджень +item.nuke_commercially_kit.name=Комплект атомних досліджень для комерційного використання +item.nuke_electric_kit.name=Комплект інженера-електрика +item.nuke_starter_kit.name=Стартовий комплект атомних досліджень +item.oil_canola.name=Raw Canola Oil +item.oil_detector.name=Детектор нафтових родовищ +item.oil_detector.desc1=Клацніть правою кнопкою миші, щоб просканувати на наявність нафти. +item.oil_detector.desc2=Детектор виявляє лише великі відкладення. +item.oil_detector.bullseye=Нафтове родовище прямо під вами! +item.oil_detector.detected=Поруч виявлено нафту. +item.oil_detector.noOil=Нафти не виявлено. +item.oil_tar.coal.name=Вугільний дьоготь +item.oil_tar.crude.name=Нафтовий дьоготь +item.oil_tar.crack.name=Дьоготь з крекінгової нафти +item.oil_tar.paraffin.name=Парафіновий віск +item.oil_tar.wax.name=Хлорований парафін +item.oil_tar.wood.name=Деревний дьоготь +item.ore.asbestos=Азбестова +item.ore.borax=Бура +item.ore.chlorocalcite=Хлорокальцитова +item.ore.copper=Мідна +item.ore.fluorite=Флюоритова +item.ore.gold=Золота +item.ore.hematite=Гематитова +item.ore.iron=Залізна +item.ore.malachite=Малахітова +item.ore.neodymium=Неодимова +item.ore.niobium=Ніобієва +item.ore.titanium=Титанова +item.ore.tungsten=Вольфрамова +item.ore.thorium232=Торієва +item.ore.uranium=Уранова +item.ore_bedrock.name=%s корінна руда +item.ore_byproduct.b_aluminium.name=Кристалічний алюмінієвий фрагмент +item.ore_byproduct.b_bismuth.name=Кристалічний вісмутовий фрагмент +item.ore_byproduct.b_calcium.name=Кристалічний кальцієвий фрагмент +item.ore_byproduct.b_copper.name=Кристалічний мідний фрагмент +item.ore_byproduct.b_iron.name=Кристалічний залізний фрагмент +item.ore_byproduct.b_lead.name=Кристалічний свинцевий фрагмент +item.ore_byproduct.b_lithium.name=Кристалічний літієвий фрагмент +item.ore_byproduct.b_polonium.name=Кристалічний полонієвий фрагмент +item.ore_byproduct.b_radium.name=Кристалічний радієвий фрагмент +item.ore_byproduct.b_silicon.name=Кристалічний кремнієвий фрагмент +item.ore_byproduct.b_sulfur.name=Кристалічний сірчаний фрагмент +item.ore_byproduct.b_technetium.name=Кристалічний технецієвий фрагмент +item.ore_byproduct.b_titanium.name=Кристалічний титановий фрагмент +item.ore_byproduct.b_uranium.name=Кристалічний урановий фрагмент +item.ore_centrifuged.name=Центрифугована %s руда +item.ore_cleaned.name=Очищена %s руда +item.ore_deepcleaned.name=Глибоко очищена %s руда +item.ore_density_scanner.name=Сканер щільності корінної руди +item.ore_density_scanner.excellent=Відмінна +item.ore_density_scanner.high=Висока +item.ore_density_scanner.low=Низька +item.ore_density_scanner.moderate=Помірна +item.ore_density_scanner.poor=Бідна +item.ore_density_scanner.veryhigh=Дуже висока +item.ore_density_scanner.verypoor=Дуже бідна +item.ore_enriched.name=Збагачена %s руда +item.ore_nitrated.name=Нітрована %s руда +item.ore_nitrocrystalline.name=Нітрокристалічна %s руда +item.ore_purified.name=Очищена сірчаною кислотою %s руда +item.ore_radcleaned.name=Очищена радіацією %s руда +item.ore_seared.name=Обпалена %s руда +item.ore_separated.name=Відокремлена %s руда +item.overfuse.name=Викрутка сингулярності +item.overfuse.desc=Say what? +item.oxy_mask.name=Киснева маска +item.pa_coil.bscco.name=Велика вісмут стронцій кальцій мідь оксидова (BSCCO) котушка +item.pa_coil.chlorophyte.name=Велика хлорофітова котушка +item.pa_coil.gold.name=Велика золота котушка +item.pa_coil.niobium.name=Велика ніобієво-титанова котушка +item.paa_boots.name="старі добрі черевики" PaA +item.paa_legs.name=Посилення ніг PaA +item.paa_plate.name=Захисна пластина для грудей PaA +item.padlock.name=Замок +item.padlock_reinforced.name=Посилений замок +item.padlock_rusty.name=Іржавий замок +item.padlock_unbreakable.name=Незламний замок +item.pads_rubber.name=Гумові устілки +item.pads_slime.name=Слизові устілки +item.pads_static.name=Статичні устілки +item.page_of_.page1.name=Сторінка 1 +item.page_of_.page2.name=Сторінка 2 +item.page_of_.page3.name=Сторінка 3 +item.page_of_.page4.name=Сторінка 4 +item.page_of_.page5.name=Сторінка 5 +item.page_of_.page6.name=Сторінка 6 +item.page_of_.page7.name=Сторінка 7 +item.page_of_.page8.name=Сторінка 8 +item.pancake.name=Млинець з металобрухту, цвяхів та пилу дорогоцінного каміння +item.part_barrel_heavy.name=Важкий ствол %s +item.part_barrel_light.name=Легкий ствол %s +item.part_beryllium.name=Коробка з берилієвим пилом +item.part_carbon.name=Коробка з вугільним пилом +item.part_copper.name=Коробка з мідним пилом +item.part_generic.glass_polarized.name=Поляризована лінза +item.part_generic.hde.name=Елемент для важких умов експлуатації +item.part_generic.lde.name=Елемент низької щільності +item.part_generic.piston_electric.name=Електричний поршень +item.part_generic.piston_hydraulic.name=Гідравлічний поршень +item.part_generic.piston_pneumatic.name=Пневматичний поршень +item.part_grip.name=Рукоятка %s +item.part_lithium.name=Коробка з літієвим пилом +item.part_mechanism.name=Механізм %s +item.part_plutonium.name=Коробка з плутонієвим пилом +item.part_receiver_heavy.name=Важкий ресивер %s +item.part_receiver_light.name=Легкий ресивер %s +item.part_stock.name=Приклад %s +item.particle_aelectron.name=Капсула з позитронами +item.particle_amat.name=Капсула з антиматерією +item.particle_aproton.name=Капсула з антипротонами +item.particle_aschrab.name=Капсула з антишрабідієм +item.particle_copper.name=Капсула з іонами міді +item.particle_dark.name=Капсула з темною матерією +item.particle_digamma.name=§cЧастинка Дігамма§r +item.particle_empty.name=Порожня капсула для частинок +item.particle_higgs.name=Капсула з бозоном Хіггса +item.particle_hydrogen.name=Капсула з іонами водню +item.particle_lead.name=Капсула з іонами свинцю +item.particle_lutece.name=Капсула з Квазічастинкою Лютес +item.particle_muon.name=Капсула з мюоном +item.particle_sparkticle.name=Капсула з спаркчастинкою +item.particle_strange.name=Капсула з дивним кварком +item.particle_tachyon.name=Капсула з тахіоном +item.parts_legendary.name=Легендарні деталі +item.peas.name=Горох +item.pedestal_steel.name=Сталевий п'єдестал +item.pellet_advanced.name=Advanced Watz Performance Improver +item.pellet_antimatter.name=Касета антиматерії +item.pellet_beryllium.name=Beryllium Moderator Pellet +item.pellet_buckshot.name=Свинцева шрапнель +item.pellet_canister.name=Canister Shot +item.pellet_charged.name=Іонізовані частинки +item.pellet_chlorophyte.name=Chlorophyte Rounds +item.pellet_claws.name=Sharp Metal Claws +item.pellet_cluster.name=Вибухова шрапнель +item.pellet_cluster.desc=Використовується в багатоцільових бомбах:$Додає екстра вибух! +item.pellet_coal.name=Dense Coal Cluster +item.pellet_coolant.name=Coolant Cluster +item.pellet_flechette.name=Флешети +item.pellet_gas.name=Балончик з отруйним газом +item.pellet_gas.desc=Використовується в багатоцільових бомбах: $*кхе-кхе* Допоможіть, будь ласка! +item.pellet_hes.name=Ватцз гранула високозбагаченого шрабідіуму +item.pellet_lead.name=Lead Reflector Pellet +item.pellet_les.name=Ватцз гранула низькозбагаченого шрабідіуму +item.pellet_mercury.name=Mercury Rounds +item.pellet_mes.name=Шрабідієва Ватцз гранула +item.pellet_meteorite.name=Meteorite Rounds +item.pellet_neptunium.name=Нептунієва Ватцз гранула +item.pellet_rtg.name=РІТЕГ гранула плутонію-238 +item.pellet_rtg.desc=Паливна гранула РІТЕГ для нескінченної енергії! (майже) +item.pellet_rtg_actinium.name=РІТЕГ гранула актинію-227 +item.pellet_rtg_actinium.desc=Сяйво блакитного світла та бета-променів. +item.pellet_rtg_americium.name=РІТЕГ гранула америцію-241 +item.pellet_rtg_americium.desc=Рідкісний та надійний, старий добрий америцій! +item.pellet_rtg_berkelium.name=Berkelium RTG Pellet +item.pellet_rtg_berkelium.desc= +item.pellet_rtg_cobalt.name=РІТЕГ гранула кобальту-60 +item.pellet_rtg_cobalt.desc=Не найкращий як РІТЕГ, але чудовий для гамма-випромінювання! +item.pellet_rtg_depleted.bismuth.name=Розкладена вісмутова РІТЕГ гранула +item.pellet_rtg_depleted.lead.name=Розкладена свинцева РІТЕГ гранула +item.pellet_rtg_depleted.neptunium.name=Розкладена нептунієва РІТЕГ гранула +item.pellet_rtg_depleted.mercury.name=Розкладена ртутна РІТЕГ гранула +item.pellet_rtg_depleted.nickel.name=Розкладена нікелева РІТЕГ гранула +item.pellet_rtg_depleted.zirconium.name=Розкладена цирконієва РІТЕГ гранула +item.pellet_rtg_lead.name=РІТЕГ гранула свинцю-209 +item.pellet_rtg_lead.desc=Вплив призведе до негайної смерті. +item.pellet_rtg_gold.name=РІТЕГ гранула золота-198 +item.pellet_rtg_gold.desc=Виготовлений з рідкісного, дуже нестабільного ізотопу золота. +item.pellet_rtg_polonium.name=РІТЕГ гранула полонію-210 +item.pellet_rtg_polonium.desc=Потужніша РІТЕГ гранула, виготовлена з найкращого полонію! +item.pellet_rtg_strontium.name=РІТЕГ гранула стронцію-90 +item.pellet_rtg_strontium.desc=Відомий у штаті Каліфорнія... +item.pellet_rtg_radium.name=РІТЕГ гранула радію-226 +item.pellet_rtg_radium.desc=Чудові стартові гранули, виготовлені з повністю натурального радію! +item.pellet_rtg_weak.name=Слабка уранова РІТЕГ гранула +item.pellet_rtg_weak.desc=Дешевші та слабкі гранули, тепер з більшою кількістю урану-238! +item.pellet_schrabidium.name=Pure Schrabidium Watz Pellet +item.photo_panel.name=Фотоелектрична панель +item.pile_rod_boron.name=Регулюючий стрижень Чиказької дровітні +item.pile_rod_boron.desc=§9[Поглинач нейтронів]$§eКлацніть для перемикання +item.pile_rod_detector.name=Регулюючий та детекторний стрижень Чиказької дровітні +item.pile_rod_detector.desc=§9[Детектор/поглинач нейтронів]$§eВикористовуйте бокорізидля збільшення/зменшення нейтронного ліміту$§eВикористовуйте викрутку без шифта, щоб перевірити потік +item.pile_rod_lithium.name=Літієвий елемент Чиказької дровітні +item.pile_rod_lithium.desc=§a[Розмножуване паливо]$§eВикористовуйте ручне свердло, щоб перевірити ядро +item.pile_rod_plutonium.name=Плутонієвий стрижень Чиказької дровітні +item.pile_rod_plutonium.desc=§d[Джерело нейтронів] +item.pile_rod_pu239.name=Урановий стрижень, вироблений у Чиказькій дровітні +item.pile_rod_pu239.desc=§a[Реакційне паливо]$§eБагатий на плутоній-239. +item.pile_rod_source.name=Радій-226 берилієве джерело нейтронів Чиказької дровітні +item.pile_rod_source.desc=§d[Джерело нейтронів] +item.pile_rod_uranium.name=Урановий стрижень Чиказької дровітні +item.pile_rod_uranium.desc=§a[Реакційне паливо]$§eВикористовуйте ручне свердло щоб перевірити комірку +item.pill_iodine.name=Таблетка йоду +item.pill_iodine.desc=Усуває негативні ефекти +item.pill_herbal.name=Трав'яна паста +item.pill_herbal.desc=Ефективне лікування захворювань легень та легкого радіаційного отруєння.$CМає побічні ефекти +item.pill_red.name=Червона пігулка +item.pin.name=Шпилька +item.pin.desc=Стандартний рівень успішності злому звичайного замка становить ~10%%. +item.pipentm.name=Труба %s +item.pipes_steel.name=Сталеві труби +item.pipes_steel.desc=Uncrafting was omitted due to tax evasion. +item.piston_selenium.name=Поршень двигуна внутрішнього згоряння +item.piston_set_desh.name=Комплект поршнів з деш +item.piston_set_dura.name=Комплект поршнів з швидкорізальної сталі +item.piston_set_starmetal.name=Комплект поршнів з зіркового металу +item.piston_set_steel.name=Комплект поршнів зі сталі +item.plan_c.name=План С +item.plan_c.desc=Смертельний +item.plant_item.mustardwillow.name=Листя гірчичної верби +item.plant_item.rope.name=Мотузка +item.plant_item.tobacco.name=Тютюн +item.plastic_bag.name=Пластиковий пакет +item.plate_advanced_alloy.name=Пластина з удосконаленого сплаву +item.plate_aluminium.name=Алюмінієва пластина +item.plate_armor_ajr.name=Залізна кована обшивка броні +item.plate_armor_dnt.name=ДНТ обшивка броні +item.plate_armor_fau.name=Фау обшивка броні +item.plate_armor_hev.name=Динамічна обшивка броні +item.plate_armor_lunar.name=Місячна обшивка +item.plate_armor_titanium.name=Титанова обшивка броні +item.plate_bismuth.name=Вісмутова комбінована пластина +item.plate_bismuth.desc=Хлопці, це алхімічний символ вісмуту, клянусь. +item.plate_cast.name=Лита пластина %s +item.plate_combine_steel.name=Пластина зі сталі комбайнів +item.plate_copper.name=Мідна пластина +item.plate_dalekanium.name=Злий метал +item.plate_desh.name=Деш комбінована пластина +item.plate_dineutronium.name=Динейтронієва комбінована пластина +item.plate_dura_steel.name=Пластина зі швидкорізальної сталі +item.plate_euphemium.name=Евфемієва комбінована пластина +item.plate_fuel_mox.name=МОКС-паливна пластина +item.plate_fuel_pu238be.name=Плутоній-238 берилієва паливна пластина +item.plate_fuel_pu239.name=Паливна пластина високозбагаченого плутонію-239 +item.plate_fuel_ra226be.name=Радій-226 берилієва паливна пластина +item.plate_fuel_sa326.name=Паливна пластина високозбагаченого шрабідію-326 +item.plate_fuel_u233.name=Паливна пластина високозбагаченого урану-233 +item.plate_fuel_u235.name=Паливна пластина високозбагаченого урану-235 +item.plate_gold.name=Золота пластина +item.plate_gunmetal.name=Пластина з гарматної бронзи +item.plate_iron.name=Залізна пластина +item.plate_kevlar.name=Кевларова пластина +item.plate_lead.name=Свинцева пластина +item.plate_mixed.name=Комбінована пластина +item.plate_paa.name=Пластина зі сплаву PaA +item.plate_polymer.name=Ізолятор +item.plate_saturnite.name=Сатурнітова пластина +item.plate_schrabidium.name=Шрабідієва пластина +item.plate_steel.name=Стальна пластина +item.plate_titanium.name=Титанова пластина +item.plate_weaponsteel.name=Пластина зі збройової сталі +item.plate_welded.name=Зварена пластина %s +item.polaroid.name=Полароїд +item.pollution_detector.name=Детектор забруднення +item.powder_actinium.name=Порошок актинію +item.powder_actinium_tiny.name=Крихітна купка актинієвого порошка +item.powder_advanced_alloy.name=Порошок удосконаленого сплаву +item.powder_aluminium.name=Алюмінієвий порошок +item.powder_asbestos.name=Азбестовий порошок +item.powder_asbestos.desc=§o"Нюхххххххх- МХХХХХХМХХХХХХХХ"§r +item.powder_ash.coal.name=Вугільна зола +item.powder_ash.fly.name=Летюча зола +item.powder_ash.fullerene.name=Фулерен +item.powder_ash.misc.name=Попіл +item.powder_ash.soot.name=Дрібна сажа +item.powder_ash.wood.name=Деревна зола +item.powder_astatine.name=Астатовий порошок +item.powder_at209.name=Порошок астату-209 +item.powder_au198.name=Порошок золота-198 +item.powder_australium.name=Австралієвий порошок +item.powder_bakelite.name=Карболітовий порошок +item.powder_balefire.name=Термоядерний попіл +item.powder_beryllium.name=Берилієвий порошок +item.powder_bismuth.name=Вісмутовий порошок +item.powder_borax.name=Бура +item.powder_boron.name=Борний порошок +item.powder_boron_tiny.name=Крихітна купка борного порошку +item.powder_bromine.name=Бромний порошок +item.powder_cadmium.name=Кадмієвий порошок +item.powder_caesium.name=Порошок цезію +item.powder_calcium.name=Кальцієвий порошок +item.powder_cement.name=Цемент +item.powder_cerium.name=Церієвий порошок +item.powder_cerium_tiny.name=Крихітна купка порошку церію +item.powder_chlorocalcite.name=Хлорокальцит +item.powder_chlorophyte.name=Хлорофітовий порошок +item.powder_cloud.name=Cloud Residue +item.powder_co60.name=Порошок кобальту-60 +item.powder_coal.name=Вугільний порошок +item.powder_coal_tiny.name=Крихітна купка вугільного порошку +item.powder_cobalt.name=Кобальтовий порошок +item.powder_cobalt_tiny.name=Крихітна купка кобальтового порошку +item.powder_coltan.name=Очищений танталіт +item.powder_coltan_ore.name=Подрібнений колтан +item.powder_combine_steel.name=Порошок сталі комбайнів +item.powder_copper.name=Мідний порошок +item.powder_cs137.name=Порошок цезію-137 +item.powder_cs137_tiny.name=Крихітна купа порошку цезію-137 +item.powder_daffergon.name=Daffergon Powder +item.powder_desh.name=Деш порошок +item.powder_desh_mix.name=Деш суміш +item.powder_desh_ready.name=DeshReady™ суміш +item.powder_diamond.name=Алмазний порошок +item.powder_dineutronium.name=Динейтронієвий порошок +item.powder_dura_steel.name=Порошок швидкорізальної сталі +item.powder_emerald.name=Смарагдовий порошок +item.powder_euphemium.name=Евфемієвий порошок +item.powder_euphemium.desc=Подрібнений рожевий.$На смак як полуниця. +item.powder_fertilizer.name=Промислове добриво +item.powder_fire.name=Червоний фосфор +item.powder_fire.desc=Використовується в багатоцільових бомбах:$Запалювальні бомби — це весело! +item.powder_flux.name=Флюс +item.powder_gold.name=Золотий порошок +item.powder_i131.name=Порошок йоду-131 +item.powder_i131_tiny.name=Крихітна купка порошку йоду-131 +item.powder_ice.name=Кріопорошок +item.powder_impure_osmiridium.name=Порошок осмистого іридію +item.powder_iodine.name=Йодний порошок +item.powder_iron.name=Залізний порошок +item.powder_lanthanium.name=Лантановий порошок +item.powder_lanthanium_tiny.name=Крихітна купка лантанового порошку +item.powder_lapis.name=Лазуритовий порошок +item.powder_lead.name=Свинцевий порошок +item.powder_lignite.name=Порошок бурого вугілля +item.powder_limestone.name=Вапняковий порошок +item.powder_lithium.name=Літієвий порошок +item.powder_lithium_tiny.name=Крихітна купка літієвого порошку +item.powder_magic.name=Подрібнене зачарування +item.powder_magnetized_tungsten.name=Намагнічений вольфрамовий порошок +item.powder_meteorite.name=Метеоритний порошок +item.powder_meteorite_tiny.name=Крихітна купка метеоритного порошку +item.powder_molysite.name=Трихлорид заліза +item.powder_neodymium.name=Неодимовий порошок +item.powder_neodymium_tiny.name=Крихітна купка неодимового порошку +item.powder_neptunium.name=Нептунієвий порошок +item.powder_niobium.name=Ніобієвий порошок +item.powder_niobium_tiny.name=Крихітна купка ніобієвого порошку +item.powder_nitan_mix.name=Нітанієва суміш +item.powder_paleogenite.name=Палеогенітовий порошок +item.powder_paleogenite_tiny.name=Крихітна купка палеогенітового порошку +item.powder_plutonium.name=Плутонієвий порошок +item.powder_poison.name=Отруйний порошок +item.powder_poison.desc=Використовується в багатоцільових бомбах:$Попередження: Отрута! +item.powder_polonium.name=Порошок полонію-210 +item.powder_polymer.name=Мікропластик +item.powder_power.name=Енергетичний порошок +item.powder_quartz.name=Кварцовий порошок +item.powder_ra226.name=Порошок радію-226 +item.powder_red_copper.name=Порошок червоної міді +item.powder_reiium.name=Reiium Powder +item.powder_sawdust.name=Тирса +item.powder_schrabidate.name=Ферошрабідатовий порошок +item.powder_schrabidium.name=Шрабідієвий порошок +item.powder_semtex_mix.name=Суміш Семтексу +item.powder_sodium.name=Натрій +item.powder_spark_mix.name=Спарк суміш +item.powder_sr90.name=Порошок стронцію-90 +item.powder_sr90_tiny.name=Крихітна купка порошку стронцію-90 +item.powder_steel.name=Сталевий порошок +item.powder_steel_tiny.name=Крихітна купка сталевого порошку +item.powder_strontium.name=Стронцієвий порошок +item.powder_tantalium.name=Танталовий порошок +item.powder_tantalium.desc='Танталій' +item.powder_tantalium.desc.P11=AKA Танталій. +item.powder_tcalloy.name=Порошок технеціієвої сталі +item.powder_tektite.name=Тектитовий порошок +item.powder_tennessine.name=Теннессиновий порошок +item.powder_thermite.name=Терміт +item.powder_thorium.name=Торієвий порошок +item.powder_titanium.name=Титановий порошок +item.powder_tungsten.name=Вольфрамовий порошок +item.powder_unobtainium.name=Unobtainium Powder +item.powder_uranium.name=Урановий порошок +item.powder_verticium.name=Verticium Powder +item.powder_weidanium.name=Weidanium Powder +item.powder_xe135.name=Порошок ксенону-135 +item.powder_xe135_tiny.name=Крихітна купка порошку ксенону-135 +item.powder_yellowcake.name=Єлоукейк +item.powder_zirconium.name=Цирконієвий порошок +item.power_net_tool.name=Інструмент аналізу кабельної мережі +item.pipette.name=Піпетка +item.pipette_boron.name=Борна піпетка +item.pipette_laboratory.name=Піпетка лабораторного класу +item.primer_357.name=.357 Magnum Primer (x24) +item.primer_44.name=.44 Magnum Primer (x24) +item.primer_50.name=Large Caliber Primer (x12) +item.primer_9.name=Small Caliber Primer (x32) +item.primer_buckshot.name=Buckshot Primer (x12) +item.protection_charm.name=Оберіг захисту +item.prototype_kit.name=Комплект Прототипу +item.pudding.name=Пудинг +item.pwr_fuel.bfb_am_mix.name=Стрижень ВВЕР вісмутового швидкого розмножувача реакторного америцію +item.pwr_fuel.bfb_pu241.name=Стрижень ВВЕР вісмутового швидкого розмножувача плутонію-241 +item.pwr_fuel.hea242.name=Паливний стрижень ВВЕР високозбагаченого америцію-242 +item.pwr_fuel.hen237.name=Паливний стрижень ВВЕР високозбагаченого нептунію-237 +item.pwr_fuel.hep239.name=Паливний стрижень ВВЕР високозбагаченого плутонію-239 +item.pwr_fuel.hep241.name=Паливний стрижень ВВЕР високозбагаченого плутонію-241 +item.pwr_fuel.hes326.name=Паливний стрижень ВВЕР високозбагаченого шрабідію-326 +item.pwr_fuel.hes327.name=Паливний стрижень ВВЕР високозбагаченого солінію-327 +item.pwr_fuel.heu233.name=Паливний стрижень ВВЕР високозбагаченого урану-233 +item.pwr_fuel.heu235.name=Паливний стрижень ВВЕР високозбагаченого урану-235 +item.pwr_fuel.mea.name=Паливний стрижень ВВЕР середньозбагаченого америцію +item.pwr_fuel.men.name=Паливний стрижень ВВЕР середньозбагаченого нептунію +item.pwr_fuel.mep.name=Паливний стрижень ВВЕР середньозбагаченого плутонію +item.pwr_fuel.meu.name=Паливний стрижень ВВЕР середньозбагаченого урану +item.pwr_fuel.mox.name=Паливний стрижень ВВЕР МОКС-палива +item.pwr_fuel_depleted.bfb_am_mix.name= Збіднений стрижень ВВЕР вісмутового швидкого розмножувача реакторного америцію +item.pwr_fuel_depleted.bfb_pu241.name=Збіднений стрижень ВВЕР вісмутового швидкого розмножувача плутонію-241 +item.pwr_fuel_depleted.hea242.name=Збіднений стрижень ВВЕР високозбагаченого америцію-242 +item.pwr_fuel_depleted.hen237.name=Збіднений стрижень ВВЕР високозбагаченого нептунію-237 +item.pwr_fuel_depleted.hep239.name=Збіднений стрижень ВВЕР високозбагаченого плутонію-239 +item.pwr_fuel_depleted.hep241.name=Збіднений стрижень ВВЕР високозбагаченого плутонію-241 +item.pwr_fuel_depleted.hes326.name=Збіднений стрижень ВВЕР високозбагаченого шрабідію-326 +item.pwr_fuel_depleted.hes327.name=Збіднений стрижень ВВЕР високозбагаченого солінію-327 +item.pwr_fuel_depleted.heu233.name=Збіднений стрижень ВВЕР високозбагаченого урану-233 +item.pwr_fuel_depleted.heu235.name=Збіднений стрижень ВВЕР високозбагаченого урану-235 +item.pwr_fuel_depleted.mea.name=Збіднений стрижень ВВЕР середньозбагаченого америцію +item.pwr_fuel_depleted.men.name=Збіднений стрижень ВВЕР середньозбагаченого нептунію +item.pwr_fuel_depleted.mep.name=Збіднений стрижень ВВЕР середньозбагаченого плутонію +item.pwr_fuel_depleted.meu.name=Збіднений стрижень ВВЕР середньозбагаченого урану +item.pwr_fuel_depleted.mox.name=Збіднений стрижень ВВЕР МОКС-палива +item.pwr_fuel_hot.bfb_am_mix.name=Гарячий стрижень ВВЕР вісмутового швидкого розмножувача реакторного америцію +item.pwr_fuel_hot.bfb_pu241.name=Гарячий стрижень ВВЕР вісмутового швидкого розмножувача плутонію-241 +item.pwr_fuel_hot.hea242.name= Гарячий паливний стрижень ВВЕР високозбагаченого америцію-242 +item.pwr_fuel_hot.hen237.name=Гарячий паливний стрижень ВВЕР високозбагаченого нептунію-237 +item.pwr_fuel_hot.hep239.name=Гарячий паливний стрижень ВВЕР високозбагаченого плутонію-239 +item.pwr_fuel_hot.hep241.name=Гарячий паливний стрижень ВВЕР високозбагаченого плутонію-241 +item.pwr_fuel_hot.hes326.name=Гарячий паливний стрижень ВВЕР високозбагаченого шрабідію-326 +item.pwr_fuel_hot.hes327.name=Гарячий паливний стрижень ВВЕР високозбагаченого солінію-327 +item.pwr_fuel_hot.heu233.name=Гарячий паливний стрижень ВВЕР високозбагаченого урану-233 +item.pwr_fuel_hot.heu235.name=Гарячий паливний стрижень ВВЕР високозбагаченого урану-235 +item.pwr_fuel_hot.mea.name=Гарячий паливний стрижень ВВЕР середньозбагаченого америцію +item.pwr_fuel_hot.men.name=Гарячий паливний стрижень ВВЕР середньозбагаченого нептунію +item.pwr_fuel_hot.mep.name=Гарячий паливний стрижень ВВЕР середньозбагаченого плутонію +item.pwr_fuel_hot.meu.name=Гарячий паливний стрижень ВВЕР середньозбагаченого урану +item.pwr_fuel_hot.mox.name=Гарячий паливний стрижень ВВЕР МОКС-палива +item.quartz_plutonium.name=Плутонічний кварц +item.radar_linker.name=Радарний лінкер +item.radaway.name=Антирадин +item.radaway_flush.name=Елітний Антирадин +item.radaway_strong.name=Потужний Антирадин +item.radx.name=Рад-X +item.radx.desc=Збільшує стійкість до радіації на 0.2 (37%%) протягом 3 хвилин +item.rag.name=Тканина +item.rag_damp.name=Волога тканина +item.rag_piss.name=Просочена сечею ганчірка +item.rbmk_fuel_balefire.name=Паливний стрижень РБМК BF +item.rbmk_fuel_balefire_gold.name=Паливний стрижень РБМК флешголду +item.rbmk_fuel_drx.name=§cПаливний стрижень РБМК Дігамма§r +item.rbmk_fuel_empty.name=Порожній паливний стрижень РБМК +item.rbmk_fuel_flashlead.name=Паливний стрижень РБМК флешліду +item.rbmk_fuel_hea241.name=Паливний стрижень РБМК високозбагаченого америцію-241 +item.rbmk_fuel_hea242.name=Паливний стрижень РБМК високозбагаченого америцію-242 +item.rbmk_fuel_heaus.name=Паливний стрижень РБМК високозбагаченого австралію +item.rbmk_fuel_hen.name=Паливний стрижень РБМК високозбагаченого нептунію-237 +item.rbmk_fuel_hes.name=Паливний стрижень РБМК високозбагаченого шрабідію-326 +item.rbmk_fuel_hep.name=Паливний стрижень РБМК високозбагаченого плутонію-239 +item.rbmk_fuel_hep241.name=Паливний стрижень РБМК високозбагаченого плутонію-241 +item.rbmk_fuel_heu233.name=Паливний стрижень РБМК високозбагаченого урану-233 +item.rbmk_fuel_heu235.name=Паливний стрижень РБМК високозбагаченого урану-235 +item.rbmk_fuel_lea.name=Паливний стрижень РБМК низькозбагаченого америцію +item.rbmk_fuel_leaus.name=Паливний стрижень РБМК низькозбагаченого австралію +item.rbmk_fuel_lep.name=Паливний стрижень РБМК низькозбагаченого плутонію-239 +item.rbmk_fuel_les.name=Паливний стрижень РБМК низькозбагаченого шрабідію-326 +item.rbmk_fuel_mea.name=Паливний стрижень РБМК середньозбагаченого америцію-242 +item.rbmk_fuel_men.name=Паливний стрижень РБМК середньозбагаченого нептунію-237 +item.rbmk_fuel_mep.name=Паливний стрижень РБМК середньозбагаченого плутонію-239 +item.rbmk_fuel_mes.name=Паливний стрижень РБМК середньозбагаченого шрабідію-326 +item.rbmk_fuel_meu.name=Паливний стрижень РБМК середньозбагаченого урану-235 +item.rbmk_fuel_mox.name=Паливний стрижень РБМК МОКС-палива +item.rbmk_fuel_po210be.name=Полоній-210 берилієве джерело нейтронів РБМК +item.rbmk_fuel_pu238be.name=Плутоній-238 берилієве джерело нейтронів РБМК +item.rbmk_fuel_ra226be.name=Радій-226 берилієве джерело нейтронів РБМК +item.rbmk_fuel_thmeu.name=Паливний стрижень РБМК торію з урановим джерелом нейтронів +item.rbmk_fuel_ueu.name=Паливний стрижень РБМК незбагаченого урану +item.rbmk_fuel_zfb_am_mix.name=Стрижень РБМК цирконієвого швидкого розмножувача реакторного америцію +item.rbmk_fuel_zfb_bismuth.name=Стрижень РБМК цирконієвого швидкого розмножувача вісмута +item.rbmk_fuel_zfb_pu241.name=Стрижень РБМК цирконієвого швидкого розмножувача плутонію-241 +item.rbmk_lid.name=Покриваюча панель РБМК +item.rbmk_lid_glass.name=Скляна покриваюча панель РБМК +item.rbmk_pellet_balefire.name=Паливна гранула BF +item.rbmk_pellet_balefire_gold.name=Паливна гранула флешголду +item.rbmk_pellet_drx.name=§cПаливна гранула Дігамма§r +item.rbmk_pellet_flashlead.name=Паливна гранула флешліду +item.rbmk_pellet_hea241.name=Паливна гранула високозбагаченого америцію-241 +item.rbmk_pellet_hea242.name=Паливна гранулависокозбагаченого америцію-242 +item.rbmk_pellet_heaus.name=Паливна гранула високозбагаченого австралію +item.rbmk_pellet_hen.name=Паливна гранула високозбагаченого нептунію-237 +item.rbmk_pellet_hep239.name=Паливна гранула високозбагаченого плутонію-239 +item.rbmk_pellet_hep241.name=Паливна гранула високозбагаченого плутонію-241 +item.rbmk_pellet_heu233.name=Паливна гранула високозбагаченого урану-233 +item.rbmk_pellet_heu235.name=Паливна гранула високозбагаченого урану-235 +item.rbmk_pellet_hes.name=Паливна гранула високозбагаченого шрабідію-326 +item.rbmk_pellet_lea.name=Паливна гранула низькозбагаченого америцію +item.rbmk_pellet_leaus.name=Паливна гранула низькозбагаченого австралію +item.rbmk_pellet_lep.name=Паливна гранула низькозбагаченого плутонію-239 +item.rbmk_pellet_les.name=Паливна гранула низькозбагаченого шрабідію-326 +item.rbmk_pellet_mea.name=Паливна гранула середньозбагаченого америцію-242 +item.rbmk_pellet_men.name=Паливна гранула середньозбагаченого нептунію-237 +item.rbmk_pellet_mep.name=Паливна гранула середньозбагаченого плутонію-239 +item.rbmk_pellet_mes.name=Паливна гранула середньозбагаченого шрабідію-326 +item.rbmk_pellet_meu.name=Паливна гранула середньозбагаченого урану-235 +item.rbmk_pellet_mox.name=Гранула МОКС-палива +item.rbmk_pellet_po210be.name=Гранула полоній-210 берилієвого джерела нейтронів +item.rbmk_pellet_pu238be.name=Гранула плутоній-238 берилієвого джерела нейтронів +item.rbmk_pellet_ra226be.name=Гранула радій-226 берилієвого джерела нейтронів +item.rbmk_pellet_thmeu.name=Паливна гранула торію з урановим джерелом нейтронів +item.rbmk_pellet_ueu.name=Паливна гранула незбагаченого урану +item.rbmk_pellet_zfb_am_mix.name=Гранула цирконієвого швидкого розмножувача реакторного америцію +item.rbmk_pellet_zfb_bismuth.name=Гранула цирконієвого швидкого розмножувача вісмута +item.rbmk_pellet_zfb_pu241.name=Гранула цирконієвого швидкого розмножувача плутонію-241 +item.rbmk_tool.name=ЛІнкер консолі РБМК +item.rbmk_tool.desc=Клацніть правою кнопкою миші з шифтом на РБМК, щоб зберегти позицію,$клацніть правою кнопкою миші з шифтом на консоль для підключення! +item.rbmk_tool.linked=Позиція встановлена! +item.rbmk_tool.set=РБМК підключено! +item.reacher.name=Вольфрамовий ухват +item.reactor_core.name=Активна зона реактора розмножувача +item.reactor_sensor.name=Дистанційний датчик реактора +item.record.glass.desc=? ? ? +item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core +item.record.ss.desc=Valve - Sector Sweep +item.record.vc.desc=Valve - Vortal Combat +item.redcoil_capacitor.name=Червонокатушковий конденсатор +item.redstone_depleted.name=Desaturated Redstone Dust +item.redstone_sword.name=Редстоун меч +item.reer_graar.name=The Reer Graar +item.remote.name=Зламаний пульт дистанційного керування +item.ring_pull.name=Відкривашка +item.ring_starmetal.name=§9Кільце з зіркового металу§r +item.robes_boots.name=Польові черевики +item.robes_helmet.name=Повсякденний капюшон +item.robes_legs.name=Повсякденні штани +item.robes_plate.name=Повсякденний светр +item.rocket_fuel.name=Тверде паливо (ракетне) +item.rod_empty.name=Порожній стрижень +item.rod.lithium.name=Літієвий стрижень +item.rod.tritium.name=Тритієвий стрижень +item.rod.co.name=Кобальтовий стрижень +item.rod.co60.name=Стрижень кобальту-60 +item.rod.ra226.name=Стрижень радію-226 +item.rod.ac227.name=Стрижень актинію-227 +item.rod.th232.name=Стрижень торію-232 +item.rod.thf.name=Стрижень торієвого палива +item.rod.u235.name=Стрижень урану-235 +item.rod.np237.name=Стрижень нептунію-237 +item.rod.u238.name=Стрижень урану-238 +item.rod.pu238.name=Стрижень плутонію-238 +item.rod.pu239.name=Стрижень плутонію-239 +item.rod.rgp.name=Стрижень реакторного плутонію +item.rod.waste.name=Стрижень ядерних відходів +item.rod.lead.name=Свинцевий стрижень +item.rod.uranium.name=Урановий стрижень +item.rod_dual_empty.name=Порожній подвійний стрижень +item.rod_dual.lithium.name=Літієвий подвійний стержень +item.rod_dual.tritium.name=Тритієвий подвійний стержень +item.rod_dual.co.name=Кобальтовий подвійний стержень +item.rod_dual.co60.name=Подвійний стрижень кобальту-60 +item.rod_dual.ra226.name=Подвійний стрижень радію-226 +item.rod_dual.ac227.name=Подвійний стрижень актинію-227 +item.rod_dual.th232.name=Подвійний стрижень торію-232 +item.rod_dual.thf.name=Подвійний стрижень торієвого палива +item.rod_dual.u235.name=Подвійний стрижень урану-235 +item.rod_dual.np237.name=Подвійний стрижень нептунію-237 +item.rod_dual.u238.name=Подвійний стриженьь урану-238 +item.rod_dual.pu238.name=Подвійний стрижень плутонію-238 +item.rod_dual.pu239.name=Подвійний стрижень плутонію-239 +item.rod_dual.rgp.name=Подвійний стрижень реакторного плутонію +item.rod_dual.waste.name=Подвійний стрижень ядерних відходів +item.rod_dual.lead.name=Свинцевий подвійний стержень +item.rod_dual.uranium.name=Урановий подвійний стержень +item.rod_quad_empty.name=Порожній четверний стрижень +item.rod_quad.lithium.name=Літієвий четверний стрижень +item.rod_quad.tritium.name=Тритієвий четверний стрижень +item.rod_quad.co.name=Кобальтовий четверний стрижень +item.rod_quad.co60.name=Четверний стрижень кобальту-60 +item.rod_quad.ra226.name=Четверний стрижень радію-226 +item.rod_quad.ac227.name=Четверний стрижень актинію-227 +item.rod_quad.th232.name=Четверний стрижень торію-232 +item.rod_quad.thf.name=Четверний стрижень торієвого палива +item.rod_quad.u235.name=Четверний стрижень урану-235 +item.rod_quad.np237.name=Четверний стрижень нептунію-237 +item.rod_quad.u238.name=Четверний стрижень урану-238 +item.rod_quad.pu238.name=Четверний стрижень плутонію-238 +item.rod_quad.pu239.name=Четверний стрижень плутонію-239 +item.rod_quad.rgp.name=Четверний стрижень реакторного плутонію +item.rod_quad.waste.name=Четверний стрижень ядерних відходів +item.rod_quad.lead.name=Свинцевий четверний стрижень +item.rod_quad.uranium.name=Урановий четверний стрижень +item.rod_australium.name=Australium Rod +item.rod_balefire.name=Balefire Rod +item.rod_balefire_blazing.name=Blazing Balefire Rod +item.rod_coolant.name=Coolant Cell +item.rod_daffergon.name=Daffergon Rod +item.rod_dual_balefire.name=Balefire Dual Rod +item.rod_dual_balefire_blazing.name=Blazing Balefire Dual Rod +item.rod_dual_coolant.name=Dual Coolant Cell +item.rod_dual_lead.name=Lead Dual Rod +item.rod_dual_lithium.name=Dual Lithium Rod +item.rod_dual_mox_fuel.name=MOX Dual Fuel Rod +item.rod_dual_mox_fuel_depleted.name=Depleted MOX Dual Fuel Rod +item.rod_dual_neptunium.name=Neptunium Dual Rod +item.rod_dual_plutonium.name=Plutonium Dual Rod +item.rod_dual_plutonium_fuel.name=Plutonium Dual Fuel Rod +item.rod_dual_plutonium_fuel_depleted.name=Depleted Plutonium Dual Fuel Rod +item.rod_dual_polonium.name=Polonium-210 Dual Rod +item.rod_dual_pu238.name=Plutonium-238 Dual Rod +item.rod_dual_pu239.name=Plutonium-239 Dual Rod +item.rod_dual_pu240.name=Plutonium-240 Dual Rod +item.rod_dual_schrabidium.name=Schrabidium-326 Dual Rod +item.rod_dual_schrabidium_fuel.name=Schrabidium Dual Fuel Rod +item.rod_dual_schrabidium_fuel_depleted.name=Depleted Schrabidium Dual Fuel Rod +item.rod_dual_solinium.name=Schrabidium-327 Dual Rod +item.rod_dual_th232.name=Thorium-232 Dual Rod +item.rod_dual_thorium_fuel.name=Thorium Dual Fuel Rod +item.rod_dual_thorium_fuel_depleted.name=Depleted Thorium Dual Fuel Rod +item.rod_dual_tritium.name=Dual Tritium Cell +item.rod_dual_u233.name=Uranium-233 Dual Rod +item.rod_dual_u235.name=Uranium-235 Dual Rod +item.rod_dual_u238.name=Uranium-238 Dual Rod +item.rod_dual_uranium.name=Uranium Dual Rod +item.rod_dual_uranium_fuel.name=Uranium Dual Fuel Rod +item.rod_dual_uranium_fuel_depleted.name=Depleted Uranium Dual Fuel Rod +item.rod_dual_waste.name=Nuclear Waste Dual Rod +item.rod_dual_water.name=Dual Water Cell +item.rod_euphemium.name=Euphemium Rod +item.rod_lead.name=Lead Rod +item.rod_lithium.name=Lithium Rod +item.rod_mox_fuel.name=MOX Fuel Rod +item.rod_mox_fuel_depleted.name=Depleted MOX Fuel Rod +item.rod_neptunium.name=Neptunium Rod +item.rod_of_discord.name=Жезл розбрату +item.rod_plutonium.name=Plutonium Rod +item.rod_plutonium_fuel.name=Plutonium Fuel Rod +item.rod_plutonium_fuel_depleted.name=Depleted Plutonium Fuel Rod +item.rod_polonium.name=Polonium-210 Rod +item.rod_pu238.name=Plutonium-238 Rod +item.rod_pu239.name=Plutonium-239 Rod +item.rod_pu240.name=Plutonium-240 Rod +item.rod_quad_balefire.name=Balefire Quad Rod +item.rod_quad_balefire_blazing.name=Blazing Balefire Quad Rod +item.rod_quad_coolant.name=Quad Coolant Cell +item.rod_quad_euphemium.name=Burned Out Quad Schrabidium Rod +item.rod_quad_lead.name=Lead Quad Rod +item.rod_quad_lithium.name=Quad Lithium Rod +item.rod_quad_mox_fuel.name=MOX Quad Fuel Rod +item.rod_quad_mox_fuel_depleted.name=Depleted MOX Quad Fuel Rod +item.rod_quad_neptunium.name=Neptunium Quad Rod +item.rod_quad_plutonium.name=Plutonium Quad Rod +item.rod_quad_plutonium_fuel.name=Plutonium Quad Fuel Rod +item.rod_quad_plutonium_fuel_depleted.name=Depleted Plutonium Quad Fuel Rod +item.rod_quad_polonium.name=Polonium-210 Quad Rod +item.rod_quad_pu238.name=Plutonium-238 Quad Rod +item.rod_quad_pu239.name=Plutonium-239 Quad Rod +item.rod_quad_pu240.name=Plutonium-240 Quad Rod +item.rod_quad_schrabidium.name=Schrabidium-326 Quad Rod +item.rod_quad_schrabidium_fuel.name=Schrabidium Quad Fuel Rod +item.rod_quad_schrabidium_fuel_depleted.name=Depleted Schrabidium Quad Fuel Rod +item.rod_quad_solinium.name=Schrabidium-327 Quad Rod +item.rod_quad_th232.name=Thorium-232 Quad Rod +item.rod_quad_thorium_fuel.name=Thorium Quad Fuel Rod +item.rod_quad_thorium_fuel_depleted.name=Depleted Thorium Quad Fuel Rod +item.rod_quad_tritium.name=Quad Tritium Cell +item.rod_quad_u233.name=Uranium-233 Quad Rod +item.rod_quad_u235.name=Uranium-235 Quad Rod +item.rod_quad_u238.name=Uranium-238 Quad Rod +item.rod_quad_uranium.name=Uranium Quad Rod +item.rod_quad_uranium_fuel.name=Uranium Quad Fuel Rod +item.rod_quad_uranium_fuel_depleted.name=Depleted Uranium Quad Fuel Rod +item.rod_quad_waste.name=Nuclear Waste Quad Rod +item.rod_quad_water.name=Quad Water Cell +item.rod_reiium.name=Reiium Rod +item.rod_schrabidium.name=Schrabidium-326 Rod +item.rod_schrabidium_fuel.name=Schrabidium Fuel Rod +item.rod_schrabidium_fuel_depleted.name=Depleted Schrabidium Fuel Rod +item.rod_solinium.name=Schrabidium-327 Rod +item.rod_th232.name=Thorium-232 Rod +item.rod_thorium_fuel.name=Thorium Fuel Rod +item.rod_thorium_fuel_depleted.name=Depleted Thorium Fuel Rod +item.rod_tritium.name=Tritium Cell +item.rod_u233.name=Uranium-233 Rod +item.rod_u235.name=Uranium-235 Rod +item.rod_u238.name=Uranium-238 Rod +item.rod_unobtainium.name=Unobtainium Rod +item.rod_uranium.name=Uranium Rod +item.rod_uranium_fuel.name=Uranium Fuel Rod +item.rod_uranium_fuel_depleted.name=Depleted Uranium Fuel Rod +item.rod_verticium.name=Verticium Rod +item.rod_waste.name=Nuclear Waste Rod +item.rod_water.name=Water Cell +item.rod_weidanium.name=Weidanium Rod +item.rod_zirnox_empty.name=Порожній стрижень ЦИРНОКС +item.rod_zirnox_natural_uranium_fuel.name=Паливний стрижень ЦИРНОКС природного урану +item.rod_zirnox_uranium_fuel.name=Паливний стрижень ЦИРНОКС уранового палива +item.rod_zirnox_th232.name=Стрижень ЦИРНОКС торію-232 +item.rod_zirnox_thorium_fuel.name=Паливний стрижень ЦИРНОКС торієвого палива +item.rod_zirnox_mox_fuel.name=Паливний стрижень ЦИРНОКС МОКС-палива +item.rod_zirnox_plutonium_fuel.name=Паливний стрижень ЦИРНОКС плутонієвого палива +item.rod_zirnox_u233_fuel.name=Паливний стрижень ЦИРНОКС урану-233 +item.rod_zirnox_u235_fuel.name=Паливний стрижень ЦИРНОКС урану-235 +item.rod_zirnox_les_fuel.name=Паливний стрижень ЦИРНОКС низькозбагаченого шрабідію +item.rod_zirnox_lithium.name=Стрижень ЦИРНОКС літію +item.rod_zirnox_tritium.name=Стрижень ЦИРНОКС тритію +item.rod_zirnox_zfb_mox.name=Паливний стрижень ЦИРНОКС цирконієвого швидкого розмножувача МОКС-палива +item.rod_zirnox_natural_uranium_fuel_depleted.name=Збіднений стрижень ЦИРНОКС природного урану +item.rod_zirnox_uranium_fuel_depleted.name=Збіднений стрижень ЦИРНОКС уранового палива +item.rod_zirnox_thorium_fuel_depleted.name=Збіднений стрижень ЦИРНОКС торієвого палива +item.rod_zirnox_mox_fuel_depleted.name=Збіднений стрижень ЦИРНОКС МОКС-палива +item.rod_zirnox_plutonium_fuel_depleted.name=Збіднений стрижень ЦИРНОКС плутонієвого палива +item.rod_zirnox_u233_fuel_depleted.name=Збіднений стрижень ЦИРНОКС урану-233 +item.rod_zirnox_u235_fuel_depleted.name=Збіднений стрижень ЦИРНОКС урану-235 +item.rod_zirnox_les_fuel_depleted.name=Збіднений стрижень ЦИРНОКС низькозбагаченого шрабідію +item.rod_zirnox_zfb_mox_depleted.name=Збіднений стрижень ЦИРНОКС цирконієвого швидкого розмножувача МОКС-палива +item.rotor_steel.name=Великий сталевий ротор +item.rpa_boots.name=Чоботи силової броні Залишеньців +item.rpa_helmet.name=Шолом силової броні Залишеньців +item.rpa_legs.name=Наголінники силової броні Залишеньців +item.rpa_plate.name=Нагрудник силової броні Залишеньців +item.rtg_unit.name=РІТЕГ елемент +item.rubber_gloves.name=Thick Rubber Gloves +item.rune_blank.name=Порожня каталітична матриця +item.rune_dagaz.name=Збалансована каталітична матриця +item.rune_hagalaz.name=Груба каталітична матриця +item.rune_isa.name=Прохолоджуюча каталітична матриця +item.rune_jera.name=Мультиплікативна каталітична матриця +item.rune_thurisaz.name=Адитивна каталітична матриця +item.safety_fuse.name=Запал +item.sat_base.name=Супутникова основа +item.sat_chip.name=Супутниковий ID-чіп +item.sat_coord.name=Цілевказівник супутника +item.sat_designator.name=Лазерний цілевказівник супутника +item.sat_relay.name=Супутниковий радарний передачик +item.sat_foeq.name=PEAF - Mk.I FOEQ Duna з експериментальним ядерним двигуном +item.sat_gerald.name=Геральд, Будівельний Андроїд +item.sat_head_laser.name=Промінь смерті +item.sat_head_mapper.name=Оптична камера з високим коефіцієнтом посилення +item.sat_head_radar.name=Радарна тарілка +item.sat_head_resonator.name=Ксенієвий резонатор +item.sat_head_scanner.name=Геодезичний сканер M700 +item.sat_interface.name=Інтерфейс керування супутниками +item.sat_laser.name=Орбітальний промінь смерті +item.sat_lunar_miner.name=Місячний гірничодобувний корабель +item.sat_mapper.name=Супутник картографування поверхні +item.sat_miner.name=Корабель для видобутку астероїдів +item.sat_radar.name=Супутник радіолокаційного дослідження +item.sat_resonator.name=Супутник ксенієвий резонатор +item.sat_scanner.name=Супутник з модулем глибинного сканування ресурсів +item.sawblade.name=Лезо пилорами +item.schnitzel_vegan.name=Веганський шніцель +item.schrabidium_axe.name=Шрабідієва сокира +item.schrabidium_boots.name=Шрабідієві чоботи +item.schrabidium_hammer.name=Шрабідієвий молот +item.schrabidium_helmet.name=Шрабідієвий шолом +item.schrabidium_hoe.name=Шрабідієва мотика +item.schrabidium_legs.name=Шрабідієві наголінники +item.schrabidium_pickaxe.name=Шрабідієве кайло +item.schrabidium_plate.name=Шрабідієвий нагрудник +item.schrabidium_shovel.name=Шрабідієва лопата +item.schrabidium_sword.name=Шрабідієвий меч +item.scrap.name=Брухт +item.scrap_nuclear.name=Радіоактивне сміття +item.scrap_oil.name=Нафтові відходи +item.scrap_plastic.name=Подрібнений пластик +item.scraps.name=Ливарний шлак +item.screwdriver.name=Викрутка +item.screwdriver.desc=Можна використовувати замість запобіжника... +item.screwdriver_desh.name=Деш викрутка +item.scrumpy.name=Пляшка Скрампі +item.security_boots.name=Черевики охоронця +item.security_helmet.name=Шолом охоронця +item.security_legs.name=Штани охоронця +item.security_plate.name=Куртка охоронця +item.seg_10.name=Розмір 10 з'єднувач +item.seg_15.name=Розмір 15 з'єднувач +item.seg_20.name=Розмір 20 з'єднувач +item.serum.name=Сироватка +item.servo_set.name=Комплект сервоприводів +item.servo_set_desh.name=Деш комплект сервоприводів +item.settings_tool.name=Інструмент налаштування +item.shackles.name=Кайдани +item.shellntm.name=Оболонка %s +item.shimmer_axe.name=Чудова сокира +item.shimmer_axe_head.name=Важка головка сокири +item.shimmer_handle.name=Посилена полімерна ручка +item.shimmer_head.name=Важка головка молота +item.shimmer_sledge.name=Чудова кувалда +item.singularity.name=Сингулярність +item.singularity_counter_resonant.name=Скована контррезонансна сингулярність +item.singularity_micro.name=Мікросингулярність +item.singularity_spark.name=Спарк сингулярність +item.singularity_super_heated.name=Перегріта резонуюча сингулярність +item.siox.name=Ліки від раку SiOX +item.siox.desc=Позбавляє від мезотеліоми силою азбесту! +item.siphon.name=Сифон +item.siren_track.name=Трек сирени +item.sliding_blast_door_skin.0.name=Скін розсувних захисних дверей: Стандартний +item.sliding_blast_door_skin.1.name=Скін розсувних захисних дверей: Варіант 1 +item.sliding_blast_door_skin.2.name=Скін розсувних захисних дверей: Варіант 2 +item.smashing_hammer.name=Нищівний молот +item.solid_fuel.name=Тверде паливо +item.solid_fuel_bf.name=Тверде паливо (BF) +item.solid_fuel_presto.name=Пресоване тверде паливо +item.solid_fuel_presto_bf.name=Пресоване тверде паливо (BF) +item.solid_fuel_presto_triplet.name=Потужне пресоване тверде паливо +item.solid_fuel_presto_triplet_bf.name=Потужне пресоване тверде паливо (BF) +item.solinium_core.name=Напівстабільне солінієве ядро +item.solinium_igniter.name=Солінієвий імпульсний запальник +item.solinium_kit.name=Комплект Солінію +item.solinium_propellant.name=Солінієвий стискаючий заряд +item.sopsign.name=Бойова сокира зі знаку СОП +item.spawn_duck.name=Золоте яйце +item.spawn_ufo.name=Марсіанський корабель вторгнення +item.spawn_worm.name=Баллс-О-Трон Прайм +item.sphere_steel.name=Сталева сфера +item.spider_milk.name=Пляшка павукового молока +item.spongebob_macaroni.name=Макарони Губка Боб +item.stamp_357.name=.357 Magnum штамп +item.stamp_44.name=.44 Magnum штамп +item.stamp_50.name=Штамп великого калібру +item.stamp_9.name=Штамп малого калібру +item.stamp_book.printing1.name=Друкарський штамп (Сторінка 1) +item.stamp_book.printing2.name=Друкарський штамп (Сторінка 2) +item.stamp_book.printing3.name=Друкарський штамп (Сторінка 3) +item.stamp_book.printing4.name=Друкарський штамп (Сторінка 4) +item.stamp_book.printing5.name=Друкарський штамп (Сторінка 5) +item.stamp_book.printing6.name=Друкарський штамп (Сторінка 6) +item.stamp_book.printing7.name=Друкарський штамп (Сторінка 7) +item.stamp_book.printing8.name=Друкарський штамп (Сторінка 8) +item.stamp_desh_circuit.name=Штамп схеми (Деш) +item.stamp_desh_flat.name=Плоский штамп (Деш) +item.stamp_desh_plate.name=Штамп пластини (Деш) +item.stamp_desh_wire.name=Штамп дроту (Деш) +item.stamp_desh_357.name=.357 Magnum штамп (Деш) +item.stamp_desh_44.name=.44 Magnum штамп (Деш) +item.stamp_desh_50.name=Штамп великого калібру (Деш) +item.stamp_desh_9.name=Штамп малого калібру (Деш) +item.stamp_iron_circuit.name=Штамп схеми (Залізо) +item.stamp_iron_flat.name=Плоский штамп (Залізо) +item.stamp_iron_plate.name=Штамп пластини (Залізо) +item.stamp_iron_wire.name=Штамп дроту (Залізо) +item.stamp_obsidian_circuit.name=Штамп схеми (Обсидіан) +item.stamp_obsidian_flat.name=Плоский штамп (Обсидіан) +item.stamp_obsidian_plate.name=Штамп пластини (Обсидіан) +item.stamp_obsidian_wire.name=Штамп дроту (Обсидіан) +item.stamp_steel_circuit.name=Штамп схеми (Сталь) +item.stamp_steel_flat.name=Плоский штамп (Сталь) +item.stamp_steel_plate.name=Штамп пластини (Сталь) +item.stamp_steel_wire.name=Штамп дроту (Сталь) +item.stamp_stone_circuit.name=Штамп схеми (Камінь) +item.stamp_stone_flat.name=Плоский штамп (Камінь) +item.stamp_stone_plate.name=Штамп пластини (Камінь) +item.stamp_stone_wire.name=Штамп дроту (Камінь) +item.stamp_titanium_circuit.name=Штамп схеми (Титан) +item.stamp_titanium_flat.name=Плоский штамп (Титан) +item.stamp_titanium_plate.name=Штамп пластини (Титан) +item.stamp_titanium_wire.name=Штамп дроту (Титан) +item.starmetal_axe.name=Сокира з зіркового металу +item.starmetal_boots.name=Чоботи з зіркового металу +item.starmetal_helmet.name=Шолом з зіркового металу +item.starmetal_hoe.name=Мотика з зіркового металу +item.starmetal_legs.name=Наголінники з зіркового металу +item.starmetal_pickaxe.name=Кайло з зіркового металу +item.starmetal_plate.name=Нагрудник з зіркового металу +item.starmetal_shovel.name=Лопата з зіркового металу +item.starmetal_sword.name=Меч з зіркового металу +item.static_sandwich.name=Сендвіч, прикрашений телевізійним шумом +item.stealth_boy.name=Стелс-бой +item.steamsuit_boots.name=Чоботи парового костюма +item.steamsuit_helmet.name=Шолом-респіратор парового костюма +item.steamsuit_legs.name=Наголінники парового костюма +item.steamsuit_plate.name=Нагрудник парового костюма +item.steel_axe.name=Сталева сокира +item.steel_boots.name=Сталеві черевики +item.steel_helmet.name=Сталевий шолом +item.steel_hoe.name=Сталева мотика +item.steel_legs.name=Сталеві наголінники +item.steel_pickaxe.name=Сталеве кайло +item.steel_plate.name=Сталевий нагрудник +item.steel_shovel.name=Сталева лопата +item.steel_sword.name=Сталевий меч +item.stick_c4.name=Шашка C-4 +item.stick_dynamite.name=Шашка динаміту +item.stick_dynamite_fishing.name=Шашка рибальського динаміту +item.stick_semtex.name=Шашка Семтексу +item.stick_tnt.name=Шашка тринітротолуолу (TNT) +item.stopsign.name=Бойова сокира зі знаку СТОП +item.sulfur.name=Сірка +item.survey_scanner.name=Дослідницький сканер +item.syringe_antidote.name=Антидот +item.syringe_awesome.name=ЧУДОВО +item.syringe_empty.name=Порожній шприц +item.syringe_metal_empty.name=Металевий шприц +item.syringe_metal_medx.name=Мед-X +item.syringe_metal_psycho.name=Психо +item.syringe_metal_stimpak.name=Стимулятор +item.syringe_metal_super.name=Суперстимулятор +item.syringe_mkunicorn.name=MKUNICORN +item.syringe_poison.name=Отруйна ін'єкція +item.syringe_taint.name=Ін'єкція водянистої порчі +item.t45_boots.name=Чоботи силової броні T-45 +item.t45_helmet.name=Шолом силової броні T-45 +item.t45_kit.name=Комплект силової броні T-45 +item.t45_legs.name=Наголінники силової броні T-45 +item.t45_plate.name=Нагрудник силової броні T-45 +item.tank_steel.name=Сталевий бак +item.taurun_boots.name=Таурун чоботи +item.taurun_helmet.name=Таурун шолом +item.taurun_legs.name=Таурун наголінники +item.taurun_plate.name=Таурун нагрудник +item.telepad.name=Telepad +item.tem_flakes.name=Пластівці Тем +item.template_folder.name=Папка шаблонів машин +item.template_folder.desc=Шаблони машин: папір + барвник$Ідентифікатор рідини: залізна пластина + барвник$Штампи пресу: плоский штамп$Трек сирениs: ізолятор + сталева пластина +item.test_nuke_igniter.name=Запальник +item.test_nuke_propellant.name=Кордитний заряд +item.test_nuke_tier1_bullet.name=Снаряд U235 (Tier 1) +item.test_nuke_tier1_shielding.name=Відбивач нейтронів (Tier 1) +item.test_nuke_tier1_target.name=Субкритична ціль U235 (Tier 1) +item.test_nuke_tier2_bullet.name=MOX Projectile (Tier 2) +item.test_nuke_tier2_shielding.name=Neutron Reflector (Tier 2) +item.test_nuke_tier2_target.name=Subcritical MOX Target (Tier 2) +item.thermo_element.name=Термоелектричний елемент +item.thermo_unit_empty.name=Thermic Distribution Unit +item.thermo_unit_endo.name=Coldness Distribution Unit +item.thermo_unit_exo.name=Heat Distribution Unit +item.thruster_large.name=Великий ракетний двигун +item.thruster_medium.name=Середній ракетний двигун +item.thruster_nuclear.name=Ядерний ракетний двигун LV-N +item.thruster_small.name=Малий ракетний двигун +item.titanium_axe.name=Титанова сокира +item.titanium_boots.name=Титанові чоботи +item.titanium_filter.name=Титановий фільтр +item.titanium_helmet.name=Титановий шолом +item.titanium_hoe.name=Титанова мотика +item.titanium_legs.name=Титанові наголінники +item.titanium_pickaxe.name=Титанове кайло +item.titanium_plate.name=Титановий нагрудник +item.titanium_shovel.name=Титанова лопата +item.titanium_sword.name=Титановий меч +item.toolbox.name=Ящик для інструментів +item.toolbox_legacy.name=Ящик для інструментів (LEGACY) +item.toothpicks.name=Зубочистки +item.train.cargo_tram.name=Електричний трамвай з плоскою платформою +item.trenchmaster_boots.name=Чоботи траншейного майстра +item.trenchmaster_helmet.name=Шолом траншейного майстра +item.trenchmaster_legs.name=Наголінники траншейного майстра +item.trenchmaster_plate.name=Нагрудник траншейного майстра +item.trinitite.name=Тринітит +item.tritium_deuterium_cake.name=Тритій-дейтерієвий пиріг +item.tritium_deuterium_cake.desc=Не справжній пиріг, але чудове$універсальне термоядерне паливо! +item.tsar_core.name=Ядро Цар-бомби +item.tsar_kit.name=Комплект Цар-бомби +item.turbine_titanium.name=Титанова парова турбіна +item.turbine_tungsten.name=Посилена турбіна турбовентилятора +item.turret_biometry.name=Turret Telemetry Card +item.turret_cheapo_ammo.name=6x24 Cheapo Turret Ammunition +item.turret_chip.name=ШІ-чіп турелі +item.turret_control.name=Turret Controller +item.turret_cwis_ammo.name=CIWS 20mm Ammo Drum +item.turret_flamer_ammo.name=Flamer Turret Fuel Tanks +item.turret_heavy_ammo.name=Heavy MG Turret Ammunition +item.turret_light_ammo.name=Light MG Turret Ammo Box +item.turret_rocket_ammo.name=Rocket Turret 2x4 Ammunition +item.turret_spitfire_ammo.name=AA-Shell +item.turret_tau_ammo.name=Tau Turret Uranium Ammo +item.twinkie.name=Твінкі +item.ullapool_caber.name=Алапульська колода +item.undefined.name=Невизначено +item.upgrade_5g.name=Покращення "Випромінювач 5G радіації" +item.upgrade_afterburn_1.name=Покращення "Форсаж" тип №1 +item.upgrade_afterburn_2.name=Покращення "Форсаж" тип №2 +item.upgrade_afterburn_3.name=Покращення "Форсаж" тип №3 +item.upgrade_centrifuge.name=Покращення "Центрифуга" +item.upgrade_crystallizer.name=Покращення "Кристалізатор" +item.upgrade_effect_1.name=Покращення "Ефективність" тип №1 +item.upgrade_effect_2.name=Покращення "Ефективність" тип №2 +item.upgrade_effect_3.name=Покращення "Ефективність" тип №3 +item.upgrade_ejector_1.name=Покращення витягувача "Швидкість" тип №1 +item.upgrade_ejector_2.name=Покращення витягувача "Швидкість" тип №2 +item.upgrade_ejector_3.name=Покращення витягувача "Швидкість" тип №3 +item.upgrade_fortune_1.name=Покращення "Вдача" тип №1 +item.upgrade_fortune_2.name=Покращення "Вдача" тип №2 +item.upgrade_fortune_3.name=Покращення "Вдача" тип №3 +item.upgrade_gc_speed.name=Покращення "Розгін газової центрифуги" +item.upgrade_health.name=Покращення випромінювача "Захист" +item.upgrade_muffler.name=Глушник +item.upgrade_nullifier.name=Покращення "Знищувач сміття" +item.upgrade_overdrive_1.name=Покращення "Перевантаження" тип №1 +item.upgrade_overdrive_2.name=Покращення "Перевантаження" тип №2 +item.upgrade_overdrive_3.name=Покращення "Перевантаження" тип №3 +item.upgrade_power_1.name=Покращення "Енергозбереження" тип №1 +item.upgrade_power_2.name=Покращення "Енергозбереження" тип №2 +item.upgrade_power_3.name=Покращення "Енергозбереження" тип №3 +item.upgrade_radius.name=Покращення випромінювача "Радіус" +item.upgrade_screm.name=Покращення "Кричущий вчений" +item.upgrade_shredder.name=Покращення "Подрібнювач" +item.upgrade_smelter.name=Покращення "Переплавка" +item.upgrade_speed_1.name=Покращення "Швидкість" тип №1 +item.upgrade_speed_2.name=Покращення "Швидкість" тип №2 +item.upgrade_speed_3.name=Покращення "Швидкість" тип №3 +item.upgrade_stack_1.name=Покращення витягувача "Стек" тип №1 +item.upgrade_stack_2.name=Покращення витягувача "Стек" тип №2 +item.upgrade_stack_3.name=Покращення витягувача "Стек" тип №3 +item.upgrade_template.name=Шаблон покращення машини +item.volcanic_axe.name=Розплавлена ​​сокира +item.volcanic_pickaxe.name=Розплавлене кайло +item.wand_d.name=Налагоджувальна паличка +item.wand_k.name=Будівельна паличка +item.wand_s.name=Структурна паличка +item.structure_custommachine.name=Custom Machine Structure Output Wand +item.warhead_buster_large.name=Велика бетонобійно-фугасна боєголовка +item.warhead_buster_medium.name=Середня бетонобійно-фугасна боєголовка +item.warhead_buster_small.name=Мала бетонобійно-фугасна боєголовка +item.warhead_cluster_large.name=Велика касетна боєголовка +item.warhead_cluster_medium.name=Середня кластерна боєголовка +item.warhead_cluster_small.name=Мала касетна боєголовка +item.warhead_generic_large.name=Велика боєголовка +item.warhead_generic_medium.name=Середня боєголовка +item.warhead_generic_small.name=Мала боєголовка +item.warhead_incendiary_large.name=Велика запальбвальна боєголовка +item.warhead_incendiary_medium.name=Середня запальбвальна боєголовка +item.warhead_incendiary_small.name=Мала запальбвальна боєголовка +item.warhead_mirv.name=Термоядерна боєголовка +item.warhead_mirvlet.name=MIRV +item.warhead_nuclear.name=Ядерна боєголовка +item.warhead_thermo_endo.name=Ендотермічна боєголовка +item.warhead_thermo_exo.name=Екзотермічна боєголовка +item.warhead_volcano.name=Тектонічна боєголовка +item.waste_mox.name=Збіднене МОКС-паливо +item.waste_natural_uranium.name=Збіднене природне уранове паливо +item.waste_plate_mox.name=Збіднена МОКС-паливна пластина +item.waste_plate_pu238be.name=Збіднена плутоній-238 берилієва пластина +item.waste_plate_pu239.name=Збіднена паливна пластина високозбагаченого плутонію-239 +item.waste_plate_ra226be.name=Збіднена радій-226 берилієва пластина +item.waste_plate_sa326.name=Збіднена паливна пластина високозбагаченого шрабідію-326 +item.waste_plate_u233.name=Збіднена паливна пластина високозбагаченого урану-233 +item.waste_plate_u235.name=Збіднена паливна пластина високозбагаченого урану-235 +item.waste_plutonium.name=Збіднене плутонієве паливо +item.waste_schrabidium.name=Збіднене шрабідієве паливо +item.waste_thorium.name=Збіднене торієве паливо +item.waste_u235.name=Збіднене паливо урану-235 +item.waste_u233.name=Збіднене паливо урану-233 +item.waste_uranium.name=Збіднене уранове паливо +item.waste_zfb_mox.name=Збіднений цирконієвий швидкий розмножувач МОКС-палива +item.watch.name=Зламаний кишеньковий годинник +item.watch.desc=Маленький синій кишеньковий годинник.$На його склі є кілька тріщин,$і бракує деяких осколків.$Він перестав цокати о 2:34. +item.watz_pellet.boron.name=Борна поглинаюча гранула +item.watz_pellet.du.name=Поглинаюча гранула зі збідненого урану +item.watz_pellet.hes.name=Ватцз гранула високозбагаченого шрабідію +item.watz_pellet.lead.name=Свинцева поглинаюча гранула +item.watz_pellet.les.name=Ватцз гранула низькозбагаченого шрабідію +item.watz_pellet.mes.name=Ватцз гранула середньозбагаченого шрабідію +item.watz_pellet.mep.name=Ватцз гранула середньозбагаченого плутонію +item.watz_pellet.meu.name=Ватцз гранула середньозбагаченого урану +item.watz_pellet.nqd.name=Enriched Naquadah Watz Pellet +item.watz_pellet.nqr.name=Naquadria Watz Pellet +item.watz_pellet.hen.name=Ватцз гранула високозбагаченого нептунію +item.watz_pellet.schrabidium.name=Ватцз гранула шрабідію +item.watz_pellet_depleted.boron.name=Борна поглинаюча гранула (Збіднена) +item.watz_pellet_depleted.du.name=Поглинаюча гранула зі збідненого урану (Збіднена) +item.watz_pellet_depleted.hes.name=Ватцз гранула високозбагаченого шрабідію (Збіднена) +item.watz_pellet_depleted.lead.name=Свинцева поглинаюча гранула (Збіднена) +item.watz_pellet_depleted.les.name=Ватцз гранула низькозбагаченого шрабідію (Збіднена) +item.watz_pellet_depleted.mes.name=Ватцз гранула середньозбагаченого шрабідію (Збіднена) +item.watz_pellet_depleted.mep.name=Ватцз гранула середньозбагаченого плутонію (Збіднена) +item.watz_pellet_depleted.meu.name=Ватцз гранула середньозбагаченого урану (Збіднена) +item.watz_pellet_depleted.nqd.name=Enriched Naquadah Watz Pellet (Depleted) +item.watz_pellet_depleted.nqr.name=Naquadria Watz Pellet (Depleted) +item.watz_pellet_depleted.hen.name=Ватцз гранула високозбагаченого нептунію (Збіднена) +item.watz_pellet_depleted.schrabidium.name=Ватцз гранула шрабідію (Збіднена) +item.wd40.name=VT-40 +item.weapon_bat.name=Стандарт Річарда +item.weapon_bat_nail.name=Кліше +item.weapon_golf_club.name=Клуб російських мафіозі +item.weapon_mod_caliber.bmg50.name=.50 BMG Комплект для переобладнання +item.weapon_mod_caliber.m357.name=.357 Magnum Комплект для переобладнання +item.weapon_mod_caliber.m44.name=.44 Magnum Комплект для переобладнання +item.weapon_mod_caliber.p22.name=.22 LR Комплект для переобладнання +item.weapon_mod_caliber.p45.name=.45 Комплект для переобладнання +item.weapon_mod_caliber.p9.name=9mm Комплект для переобладнання +item.weapon_mod_caliber.r556.name=5.56mm Комплект для переобладнання +item.weapon_mod_caliber.r762.name=7.62mm Комплект для переобладнання +item.weapon_mod_generic.bigmt_damage.name=Оптимізований сатурнітовий ресивер +item.weapon_mod_generic.bigmt_dura.name=Високоміцні сатурнітові деталі +item.weapon_mod_generic.bronze_damage.name=Оптимізований бронзовий ресивер +item.weapon_mod_generic.bronze_dura.name=Високоміцні бронзові деталі +item.weapon_mod_generic.desh_damage.name=Оптимізований деш ресивер +item.weapon_mod_generic.desh_dura.name=Високоміцні деш деталі +item.weapon_mod_generic.dura_damage.name=Оптимізований ресивер зі швидкорізальної сталі +item.weapon_mod_generic.dura_dura.name=Високоміцні деталізі швидкорізальної сталі +item.weapon_mod_generic.ferro_damage.name=Оптимізований фероурановий ресивер +item.weapon_mod_generic.ferro_dura.name=Високоміцні фероуранові деталі +item.weapon_mod_generic.iron_damage.name=Оптимізований залізний ресивер +item.weapon_mod_generic.iron_dura.name=Високоміцні залізні деталі +item.weapon_mod_generic.steel_damage.name=Оптимізований сталевий ресивер +item.weapon_mod_generic.steel_dura.name=Високоміцні сталеві деталі +item.weapon_mod_generic.tcalloy_damage.name=Оптимізований ресивер зі стійкого сплаву +item.weapon_mod_generic.tcalloy_dura.name=Високоміцні деталі зі стійкого сплаву +item.weapon_mod_generic.wsteel_damage.name=Оптимізований ресивер зі збройової сталі +item.weapon_mod_generic.wsteel_dura.name=Високоміцні деталі зі збройової сталі +item.weapon_mod_special.bayonet.name=Багнет +item.weapon_mod_special.choke.name=Чок +item.weapon_mod_special.furniture_black.name=Полімерне обладнання (Чорне) +item.weapon_mod_special.furniture_green.name=Полімерне обладнання (Зелене) +item.weapon_mod_special.greasegun.name=Комплект модернізації Маслянки +item.weapon_mod_special.las_auto.name=Автоматичний ресивер лазерної гвинтівки +item.weapon_mod_special.las_capacitor.name=Розширений конденсатор лазерної гвинтівки +item.weapon_mod_special.las_shotgun.name=Розділювач променя лазерної гвинтівки +item.weapon_mod_special.saw.name=Ножівка +item.weapon_mod_special.scope.name=Приціл +item.weapon_mod_special.silencer.name=Глушник +item.weapon_mod_special.skin_saturnite.name=Сатурнітовий корпус +item.weapon_mod_special.slowdown.name=Зубчаста передача +item.weapon_mod_special.speedloader.name=Швидкий заряджувач +item.weapon_mod_special.speedup.name=Допоміжний електричний двигун +item.weapon_mod_special.stack_mag.name=Подвійний магазин +item.weapon_mod_test.damage.name=DAMAGE UPGRADE +item.weapon_mod_test.firerate.name=FIRE RATE UPGRADE +item.weapon_mod_test.multi.name=MULTI SHOT UPGRADE +item.weapon_mod_test.override_2_5.name=DAMAGE OVERRIDE (2.5) +item.weapon_mod_test.override_5.name=DAMAGE OVERRIDE (5) +item.weapon_mod_test.override_7_5.name=DAMAGE OVERRIDE (7.5) +item.weapon_mod_test.override_10.name=DAMAGE OVERRIDE (10) +item.weapon_mod_test.override_12_5.name=DAMAGE OVERRIDE (12.5) +item.weapon_mod_test.override_15.name=DAMAGE OVERRIDE (15) +item.weapon_mod_test.override_20.name=DAMAGE OVERRIDE (20) +item.weapon_pipe_lead.name=Ручне керування +item.weapon_pipe_rusty.name=Коректор поведінки +item.weapon_saw.name=Вбивство за сприяння лікаря +item.weaponized_starblaster_cell.name=§cЕнергетичний елемент Зоряного бластера§r +item.wild_p.name=Сухий віскі "Вайлд Пегас" +item.wings_limp.name=Мляві крила +item.wings_murk.name=Похмурі крила +item.wire_advanced_alloy.name=Надпровідник +item.wire_aluminium.name=Алюмінієвий дріт +item.wire_copper.name=Мідний дріт +item.wire_dense.name=Щільний дріт %s +item.wire_fine.name=Дріт %s +item.wire_gold.name=Золотий дріт +item.wire_magnetized_tungsten.name=4000K високотемпературний надпровідник +item.wire_red_copper.name=Червономідний дріт +item.wire_schrabidium.name=Шрабідієвий дріт +item.wire_tungsten.name=Вольфрамовий дріт +item.wiring_red_copper.name=Кабельна котушка +item.wood_gavel.name=Дерев'яний молоток +item.wrench.name=Трубний ключ +item.wrench_archineer.name=Гайковий ключ арчінера +item.wrench_flipped.name=Лезо на гайковому ключі +item.xanax.name=Ксанакс препарат від дігамми +item.xanax.desc=Прибирає 500mDRX дігамма опромінення +item.zirconium_legs.name=Цирконієві штани + +itemGroup.tabBlocks=NTM Руди та блоки +itemGroup.tabConsumable=NTM Витратні матеріали та спорядження +itemGroup.tabControl=NTM Елементи машин та паливо +itemGroup.tabMachine=NTM Машини +itemGroup.tabMissile=NTM Ракети та супутники +itemGroup.tabNuke=NTM Бомби +itemGroup.tabParts=NTM Ресурси та запчастини +itemGroup.tabTemplate=NTM Шаблони +itemGroup.tabTest=Nuclear Tech Mod Test Tab +itemGroup.tabWeapon=NTM Зброя та турелі + +pa.idle=Очікування +pa.idle.descОчікування +pa.running=Запущений +pa.running.desc=Запущений +pa.success=Завершено +pa.success.desc=Завершено +pa.pause_unloaded=Призупинений +pa.pause_unloaded.desc=Частинка потрапила до$вивантаженого чанка. Операцію призупинено$доки не будуть завантажені$як частинка, так і джерело частинок. +pa.crash_defocus=Розфокусування! +pa.crash_defocus.desc=Частинка втратила фокус.$Переконайтеся, що прискорювач має достатню кількість квадрупольних магнітів. +pa.crash_derail=Схід з рейок! +pa.crash_derail.desc=Частинка покинула прискорювач.$Переконайтеся, що всі деталі на місці,$і що диполі налаштовані правильно. +pa.crash_cannot_enter=Відмовлено! +pa.crash_cannot_enter.desc=Частинка намагалася потрапити$в деталь прискорювача, але не змогла.$Переконайтеся, що всі деталі орієнтовані правильно. +pa.crash_nocool=Відсутнє охолодження! +pa.crash_nocool.desc=Частинка потрапила в неохолоджувану$деталь прискорювача. Переконайтеся, що всі охолоджувані$деталі з'єднані та заповнені$холодним перфторметилом. +pa.crash_nopower=Відсутнє живлення! +pa.crash_nopower.desc=Частинка потрапила в знеструмлену$деталь прискорювача. Переконайтеся, що всі деталі$отримують живлення, і що джерело$живлення достатнє. +pa.crash_nocoil=Відсутні катушки! +pa.crash_nocoil.desc=Частинка потрапила в диполь$або квадруполь, у якому відсутні котушки.$Встановіть котушки, щоб ця деталь працювала. +pa.crash_overspeed=Перевищення швидкості! +pa.crash_overspeed.desc=Частинка увійшла в диполь$або квадруполь, а її швидкість перевищила$номінальну потужність котушки. Встановіть котушки$вищого рівня або налаштуйте диполі$так, щоб вони швидше залишали кільце прискорювача. +pa.crash_norecipe=Відсутній рецепт! +pa.crash_norecipe.desc=Частинка потрапила до детектора$з недійсним набором вхідних даних.$Переконайтеся, що вхідні дані джерела частинок$відповідають дійсному рецепту. +pa.crash_underspeed=Недостатня швидкість! +pa.crash_underspeed.desc=Частинка потрапила в детектор$з недостатньою швидкістю для$виконання поточного рецепту. Переконайтеся, що$прискорювач налаштовано$правильно для цього рецепту. + +potion.hbm_bang=! ! ! +potion.hbm_death=Астольфізація +potion.hbm_lead=Отруєння свинцем +potion.hbm_mutation=Отруєнне порчею сердце +potion.hbm_phosphorus=Фосфорні опіки +potion.hbm_potionsickness=Слабкість після ліків +potion.hbm_radaway=Антирадін +potion.hbm_radiation=Опромінення +potion.hbm_radx=Рад-X +potion.hbm_stability=Стабільність +potion.hbm_taint=Отруєння порчею +potion.hbm_telekinesis=! ! ! + +radar.clearMap=Очистити карту +radar.detectMissiles=Виявляти ракети +radar.detectPlayers=Виявляти гравців +radar.detectShells=Виявляти снаряди +radar.redMode=Редстоун режим$Ввімк: Вихідний редстоун сигнал залежить від дальності$Вимк: Вихідний редстоун сигнал залежить від рівня +radar.showMap=Відобразити карту +radar.smartMode=Розумний режим$Вихідний редстоун сигнал ігнорує висхідні ракети +radar.toggleGui=Переключити режим + +radar.target.abm=Протибалістична ракета +radar.target.custom10=Ракета 10-го розміру +radar.target.custom1015=Ракета 10/15 розміру +radar.target.custom15=Ракета 15-го розміру +radar.target.custom1520=Ракета 15/20 розміру +radar.target.custom20=Ракета 20-го розміру +radar.target.doomsday=Ракета Судного дня +radar.target.shuttle=Космічний корабель "Надійний Робін" +radar.target.tier0=Ракета 0-го рівня +radar.target.tier1=Ракета 1-го рівня +radar.target.tier2=Ракета 2-го рівня +radar.target.tier3=Ракета 3-го рівня +radar.target.tier4=Ракета 4-го рівня + +rbmk.heat=Температура каналу: %s +rbmk.boiler.water=Вода: %s / %s +rbmk.boiler.steam=Пара: %s / %s +rbmk.boiler.type=Стиснення: %s +rbmk.console.assign=Призначити обрані канали до екрану #%s +rbmk.console.none=Вимк. +rbmk.console.col_temp=Середня температура каналів +rbmk.console.rod_extraction=Середній вихід керуючих стрижнів +rbmk.console.fuel_depletion=Середнє збіднення палива +rbmk.console.fuel_poison=Середнє ксенонове отруєння +rbmk.console.fuel_temp=Середня температура палива +rbmk.control.level=%s +rbmk.control.red=§cЧервона група +rbmk.control.yellow=§eЖовта група +rbmk.control.green=§aЗелена група +rbmk.control.blue=§1Синя група +rbmk.control.purple=§5Фіолетова група +rbmk.moderated=Сповільнено +rbmk.rod.depletion=Збіднення: %s +rbmk.rod.xenon=Ксенонове отруєння: %s +rbmk.rod.coreTemp=Температура стрижня: %s +rbmk.rod.skinTemp=Температура оболонки стрижня: %s / %s +rbmk.screen.core=Ядро: %s +rbmk.screen.depletion=Збідн: %s +rbmk.screen.rod=Контроль: %s +rbmk.screen.temp=Темп: %s +rbmk.screen.xenon=Ксенон: %s + +shape.barrelHeavy=Важкий ствол +shape.barrelLight=Легкий ствол +shape.billet=Заготовка +shape.blade=Лопать +shape.blades=Леза подрібнювача +shape.block=Блок +shape.c9=Гільза малого калібру +shape.c50=Гільза великого калібру +shape.dust=Порошок +shape.dusttiny=Купка пилу +shape.grip=Рукоятка +shape.gunMechanism=Механізм +shape.hull_big=Велика оболонка +shape.hull_small=Мала оболонка +shape.ingot=Зливок +shape.nugget=Самородок +shape.quantum=Квант +shape.quart=Четвертина блоку +shape.receiverHeavy=Важкий ресивер +shape.receiverLight=Легкий ресивер +shape.ntmpipe=Труба +shape.plate=Пластина +shape.plateTriple=Лита пластина +shape.shell=Оболонка +shape.stamp=Штамп пресу +shape.stock=Приклад +shape.wireFine=Дроти +shape.wireDense=Щільний дріт +shape.wiresDense=Щільні дроти + +soundCategory.ntmMachines=NTM Machines + +stat.ntmBullets=Випущено набоїв +stat.ntmLegendary=Створено легендарних предметів +stat.ntmMines=Підривів на мінах + +tile.absorber.name=Поглинач радіації +tile.absorber_green.name=Удосконалений поглинач радіації +tile.absorber_pink.name=Елітний поглинач радіації +tile.absorber_red.name=Покращений поглинач радіації +tile.acid_block.name=Кислота +tile.ams_base.name=AMS Base (Deco) +tile.ams_emitter.name=AMS Emitter (Deco) +tile.ams_limiter.name=AMS Stabilizer (Deco) +tile.ancient_scrap.name=Стародавній металобрухт +tile.anvil_arsenic_bronze.name=Ковадло з миш'якової бронзи +tile.anvil_bismuth.name=Вісмутове ковадло +tile.anvil_bismuth_bronze.name=Ковадло з вісмутової бронзи +tile.anvil_desh.name=Деш ковадло +tile.anvil_dnt.name=Динейтронієве ковадло +tile.anvil_ferrouranium.name=Фероуранове ковадло +tile.anvil_iron.name=Залізне ковадло +tile.anvil_lead.name=Свинцеве ковадло +tile.anvil_meteorite.name=Метеоритне ковадло +tile.anvil_murky.name=Похмуре ковадло +tile.anvil_osmiridium.name=Ковадло з ссмистого іридію +tile.anvil_saturnite.name=Сатурнітове ковадло +tile.anvil_schrabidate.name=Ферошрабідатове ковадло +tile.anvil_starmetal.name=Ковадло з зіркового металу +tile.anvil_steel.name=Сталеве ковадло +tile.ash_digamma.name=Попіл +tile.asphalt.name=Асфальт +tile.asphalt_stairs.name=Асфальтові сходи +tile.asphalt_light.name=Світлоасфальт +tile.barbed_wire.name=Колючий дріт +tile.barbed_wire_acid.name=Їдкий колючий дріт +tile.barbed_wire_fire.name=Підпалюючий колючий дріт +tile.barbed_wire_poison.name=Отруєний колючий дріт +tile.barbed_wire_ultradeath.name=Радіоактивний колючий дріт +tile.barbed_wire_wither.name=Висушуючий колючий дріт +tile.barrel_antimatter.name=Магнітний контейнер для антиматерії +tile.barrel_corroded.name=Проржавіла бочка +tile.barrel_iron.name=Залізна бочка +tile.barrel_plastic.name=Безпечна бочка™ +tile.barrel_steel.name=Сталева бочка +tile.barrel_tcalloy.name=Бочка з технецієвої сталі +tile.barricade.name=Мішки з піском +tile.basalt.name=Базальт +tile.basalt_brick.name=Базальтова цегла +tile.basalt_polished.name=Полірований базальт +tile.basalt_smooth.name=Гладкий базальт +tile.basalt_tiles.name=Базальтові кахлі +tile.blast_door.name=Розсувні захисні двері +tile.block_actinium.name=Блок актинію +tile.block_advanced_alloy.name=Блок удосконаленого сплаву +tile.block_aluminium.name=Блок алюмінію +tile.block_asbestos.name=Блок азбесту +tile.block_australium.name=Блок австралію +tile.block_bakelite.name=Блок карболіту +tile.block_beryllium.name=Блок берилію +tile.block_bismuth.name=Блок вісмуту +tile.block_boron.name=Блок бору +tile.block_c4.name=Блок C-4 +tile.block_cadmium.name=Блок кадмію +tile.block_cap_fritz.name=Блок кришок від пляшок Фріц-Коли +tile.block_cap_korl.name=Блок кришок від пляшок Корлу +tile.block_cap_nuka.name=Блок кришок від пляшок Ядер-Коли +tile.block_cap_quantum.name=Блок кришок від пляшок Квантової Ядер-Коли +tile.block_cap_rad.name=Блок кришок від пляшок С~Коли РАД +tile.block_cap_sparkle.name=Блок кришок від пляшок С~Коли +tile.block_cap_star.name=Block of Sunset Sarsaparilla Star Caps +tile.block_cap_sunset.name=Block of Sunset Sarsaparilla Bottle Caps +tile.block_cdalloy.name=Блок кадмієвої сталі +tile.block_cobalt.name=Блок кобальту +tile.block_coke.coal.name=Блок вугільного коксу +tile.block_coke.lignite.name=Блок буровугільного коксу +tile.block_coke.petroleum.name=Блок нафтового коксу +tile.block_coltan.name=Блок колтану +tile.block_combine_steel.name=Блок сталі комбайнів +tile.block_copper.name=Блок міді +tile.block_corium.name=Коріум +tile.block_corium_cobble.name=Ядряк xd +tile.block_daffergon.name=Block of Daffergon +tile.block_desh.name=Посилений блок деш +tile.block_dineutronium.name=Блок динейтронію +tile.block_dura_steel.name=Посилений блок швидкорізальної сталі +tile.block_electrical_scrap.name=Блок зламаної електротехніки +tile.block_euphemium.name=Блок евфемію +tile.block_euphemium_cluster.name=Кластер шрабідію, витравленого евфемієм +tile.block_fallout.name=Блок радіоактивних опадів +tile.block_fiberglass.name=Рулон склопластику +tile.block_fluorite.name=Блок флюориту +tile.block_foam.name=Піна +tile.block_insulator.name=Рулон ізолятора +tile.block_graphite.name=Блок графіту +tile.block_graphite_detector.name=Нейтронний детектор дровітні +tile.block_graphite_drilled.name=Просвердлений графіт +tile.block_graphite_fuel.name=Паливо дровітні +tile.block_graphite_lithium.name=ЛІтієвий елемент дровітні +tile.block_graphite_plutonium.name=Паливо дровітні (готове) +tile.block_graphite_rod.name=Регулюючий стрижень дровітні +tile.block_graphite_source.name=Джерело нейтронів дровітні +tile.block_graphite_tritium.name=ЛІтієвий елемент дровітні (готовий) +tile.block_lead.name=Блок свинцю +tile.block_lanthanium.name=Блок лантану +tile.block_lithium.name=Блок літію +tile.block_magnetized_tungsten.name=Блок намагніченого вольфраму +tile.block_meteor.name=Метеоритний блок +tile.block_meteor_broken.name=Розбитий метеоритний блок +tile.block_meteor_cobble.name=Метеоритний кругляк +tile.block_meteor_molten.name=Гарячий метеоритний кругляк +tile.block_meteor_treasure.name=Блок метеоритних скарбів +tile.block_mox_fuel.name=Блок МОКС-палива +tile.block_neptunium.name=Блок нептунію +tile.block_niter.name=Блок нітрату калію +tile.block_niter_reinforced.name=Reinforced Block of Niter +tile.block_niobium.name=Блок ніобію +tile.block_plutonium.name=Блок плутонію +tile.block_plutonium_fuel.name=Блок плутонієвого палива +tile.block_polonium.name=Блок плутонію-210 +tile.block_polymer.name=Блок полімеру +tile.block_pu_mix.name=Блок реакторного плутонію +tile.block_pu238.name=Блок плутонію-238 +tile.block_pu239.name=Блок плутонію-239 +tile.block_pu240.name=Блок плутонію-240 +tile.block_ra226.name=Блок радію-226 +tile.block_red_copper.name=Блок червоної міді +tile.block_red_phosphorus.name=Блок червоного фосфору +tile.block_reiium.name=Block of Reiium +tile.block_rubber.name=Блок гуми +tile.block_schrabidate.name=Блок ферошрабідату +tile.block_schrabidium.name=Блок шрабідію +tile.block_schrabidium_cluster.name=Кластер шрабідію +tile.block_schrabidium_fuel.name=Блок шрабідієвого палива +tile.block_schraranium.name=Блок шраранію +tile.block_scrap.name=Блок брухту +tile.block_semtex.name=Блок Семтексу +tile.block_slag.name=Блок шлаку +tile.block_smore.name=Блок Смору +tile.block_solinium.name=Блок солінію +tile.block_starmetal.name=§9Блок зіркового металу§r +tile.block_steel.name=Блок сталі +tile.block_sulfur.name=Блок сірки +tile.block_tantalium.name=Блок танталу +tile.block_tcalloy.name=Блок технецієвої сталі +tile.block_thorium.name=Блок торію-232 +tile.block_thorium_fuel.name=Блок торієвого палива +tile.block_titanium.name=Блок титану +tile.block_trinitite.name=Блок тринітиту +tile.block_tritium.name=Блок трітієвих пробірок +tile.block_tungsten.name=Блок вольфраму +tile.block_u233.name=Блок урану-233 +tile.block_u235.name=Блок урану-235 +tile.block_u238.name=Блок урану-238 +tile.block_unobtainium.name=Block of Unobtainium +tile.block_uranium.name=Блок урану +tile.block_uranium_fuel.name=Блок уранового палива +tile.block_verticium.name=Block of Verticium +tile.block_waste.name=Блок ядерних відходів +tile.block_waste_painted.name=Пофарбований блок ядерних відходів +tile.block_waste_vitrified.name=Засклований блок ядерних відходів +tile.block_weidanium.name=Block of Weidanium +tile.block_white_phosphorus.name=Блок білого фосфору +tile.block_yellowcake.name=Блок Єлоукейку +tile.block_zirconium.name=Блок цирконію +tile.boat.name=Човен +tile.bobblehead.name=Хитайголова +tile.bomb_multi.name=Багатоцільова бомба +tile.bomber.name=Crashed Bomber +tile.book_guide.name=Hbm's Nuclear Tech Mod Manual [LEGACY] +tile.boxcar.name=Вантажний вагон +tile.brick_asbestos.name=Азбестова цегла +tile.brick_asbestos_stairs.name=Сходи з азбестової цегли +tile.brick_compound.name=Комбінована сітка +tile.brick_compound_stairs.name=Сходи з комбінованої сітки +tile.brick_concrete.name=Бетонна цегла +tile.brick_concrete_stairs.name=Сходи з бетонної цегли +tile.brick_concrete_broken.name=Розбита бетонна цегла +tile.brick_concrete_broken_stairs.name=Сходи з розбитої бетонної цегли +tile.brick_concrete_cracked.name=Тріснута бетонна цегла +tile.brick_concrete_cracked_stairs.name=Сходи з тріснутої бетонної цегли +tile.brick_concrete_marked.name=Пописана бетонна цегла +tile.brick_concrete_mossy.name=Бетонна цегла з мохом +tile.brick_concrete_mossy_stairs.name=Сходи з моховитої бетонної цегли +tile.brick_ducrete.name=Уранобетонна цегла +tile.brick_ducrete_stairs.name=Сходи з уранобетонної цегли +tile.brick_dungeon.name=Berzelianite Bricks +tile.brick_dungeon_circle.name=Berzelianite Cirlce +tile.brick_dungeon_flat.name=Berzelianite Block +tile.brick_dungeon_tile.name=Berzelianite Tile +tile.brick_fire.name=Вогнетривка цегла +tile.brick_fire_stairs.name=Сходи з вогнетривкої цегли +tile.brick_jungle.name=Енаргітова цегла +tile.brick_jungle_circle.name=Коло Механіста +tile.brick_jungle_cracked.name=Тріснута енаргітова цегла +tile.brick_jungle_fragile.name=Крихка енаргітова цегла +tile.brick_jungle_glyph.name=Енаргітова цегла з гліфом +tile.brick_jungle_lava.name=Магматична енаргітова цегла +tile.brick_jungle_mystic.name=Таємнича енаргітова цегла +tile.brick_jungle_ooze.name=Радіоактивна енаргітова цегла +tile.brick_jungle_trap.name=Енаргітова цегла з пасткою +tile.brick_light.name=Світла цегла +tile.brick_light_stairs.name=Сходи зі світлої цегли +tile.brick_obsidian.name=Обсидіанова цегла +tile.brick_obsidian_stairs.name=Сходи з обсидіанової цегли +tile.brick_red.name=Цегла червоної кімнати +tile.brick_slab.brick_asbestos.name=Плита з азбестової цегли +tile.brick_slab.brick_compound.name=Плита з комбінованої сітки +tile.brick_slab.brick_fire.name=Плита з вогнетривкої цегли +tile.brick_slab.brick_light.name=Плита зі світлої цегли +tile.brick_slab.brick_obsidian.name=Плита з обсидіанової цегли +tile.brick_slab.reinforced_brick.name=Плита з армованого каменю +tile.brick_slab.reinforced_stone.name=Плита з щільного каменю +tile.broadcaster_pc.name=Пошкоджене радіо +tile.burning_earth.name=Випалена трава +tile.c4.name=C-4 +tile.cable_detector.name=Редстоун перемикач живлення +tile.cable_diode.name=Червономідний діод +tile.cable_switch.name=Перемикач живлення +tile.capacitor_bus.name=Конденсаторна шина +tile.capacitor_bus.desc=Вихідний блок для конденсаторів$Можна з'єднати у пряму лінію +tile.capacitor_copper.name=Мідний конденсатор +tile.capacitor_gold.name=Золотий конденсатор +tile.capacitor_niobium.name=Ніобієвий конденсатор +tile.capacitor_schrabidate.name=Шрабідатовий конденсатор +tile.capacitor_tantalium.name=Танталовий конденсатор +tile.capacitor.desc=Вхід: Згори$Вихід: знизу, через конденсаторну шину +tile.charge_c4.name=Заряд С-4 +tile.charge_dynamite.name=Бомба уповільненої дії +tile.charge_miner.name=Шахтарський заряд уповільненої дії +tile.charge_semtex.name=Семтекс заряд уповільненої дії +tile.charger.name=Зарядна станція +tile.cheater_virus.name=Gelid Euphemium +tile.cheater_virus_seed.name=Unstable Euphemium Schrabide Block +tile.chimney_brick.name=Димова труба +tile.chimney_brick.desc=Підключається до забруднюючих машин$ за допомогою вихлопних труб$Зменшує викиди забруднюючих речовин на 75%% +tile.chimney_industrial.name=Промислова димова труба +tile.chimney_industrial.desc=Підключається до забруднюючих машин$ за допомогою вихлопних труб$Зменшує викиди забруднюючих речовин на 90%% +tile.chlorine_gas.name=Хлорний газ +tile.cluster_aluminium.name=Кластер алюмінієвої руди +tile.cluster_copper.name=Кластер мідної руди +tile.cluster_depth_iron.name=Глибинний кластер залізної руди +tile.cluster_depth_titanium.name=Глибинний кластер титанової руди +tile.cluster_depth_tungsten.name=Глибинний кластер вольфрамової руди +tile.cluster_iron.name=Кластер залізної руди +tile.cluster_titanium.name=Кластер титанової руди +tile.custom_machine_anchor.name=Якір позиціонування конструкції кастомної машини +tile.cm_block.alloy.name=Корпус машини з удосконаленого сплаву (CM) +tile.cm_block.desh.name=Деш корпус машини (CM) +tile.cm_block.steel.name=Сталевий корпус машини (CM) +tile.cm_block.tcalloy.name=Корпус машини з технецієвої сталі (CM) +tile.cm_circuit.aluminium.name=Блок схема 1 рівня (CM) +tile.cm_circuit.copper.name=Блок схема 2 рівня (CM) +tile.cm_circuit.gold.name=Блок схема 4 рівня (CM) +tile.cm_circuit.red_copper.name=Блок схема 3 рівня (CM) +tile.cm_circuit.schrabidium.name=Блок схема 5 рівня (CM) +tile.cm_engine.bismuth.name=Вісмутовий моторний блок (CM) +tile.cm_engine.desh.name=Деш моторний блок (CM) +tile.cm_engine.standard.name=Моторний блок (CM) +tile.cm_flux.name=Приймач потоку нейтронів (CM) +tile.cm_heat.name=Теплоприймач (CM) +tile.cm_port.alloy.name=Порт з удосконаленого сплаву (CM) +tile.cm_port.desh.name=Деш порт (CM) +tile.cm_port.steel.name=Сталевий порт (CM) +tile.cm_port.tcalloy.name=Порт з технецієвої сталі (CM) +tile.cm_sheet.alloy.name=Лист з удосконаленого сплаву (CM) +tile.cm_sheet.desh.name=Деш лист (CM) +tile.cm_sheet.steel.name=Сталевий лист (CM) +tile.cm_sheet.tcalloy.name=Лист з технецієвої сталі (CM) +tile.cm_tank.alloy.name=Бак з удосконаленого сплаву (CM) +tile.cm_tank.desh.name=Деш бак (CM) +tile.cm_tank.steel.name=Сталевий бак (CM) +tile.cm_tank.tcalloy.name=Бак з технецієвої сталі (CM) +tile.cmb_brick.name=Плитка зі сталі комбайнів +tile.cmb_brick_reinforced.name=Армована цегла комбайнів +tile.compact_launcher.name=Компактний стартовий майданчик +tile.concrete.name=Бетонна плитка +tile.concrete_asbestos.name=Азбестобетон +tile.concrete_asbestos_stairs.name=Сходи з азбестобетону +tile.concrete_brick_slab.brick_concrete.name=Плита з бетонної цегли +tile.concrete_brick_slab.brick_concrete_broken.name=Плита з розбитої бетонної цегли +tile.concrete_brick_slab.brick_concrete_cracked.name=Плита з тріснутої бетонної цегли +tile.concrete_brick_slab.brick_concrete_mossy.name=Плита з моховитої бетонної цегли +tile.concrete_brick_slab.brick_ducrete.name=Плита з уранобетонової цегли +tile.concrete_colored.black.name=Чорний бетон +tile.concrete_colored.blue.name=Синій бетон +tile.concrete_colored.brown.name=Коричневий бетон +tile.concrete_colored.cyan.name=Бірюзовий бетон +tile.concrete_colored.gray.name=Сірий бетон +tile.concrete_colored.green.name=Зелений бетон +tile.concrete_colored.lightBlue.name=Блакитний бетон +tile.concrete_colored.lime.name=Світло-зелений бетон +tile.concrete_colored.magenta.name=Пурпуровий бетон +tile.concrete_colored.orange.name=Помаранчевий бетон +tile.concrete_colored.pink.name=Рожевий бетон +tile.concrete_colored.purple.name=Фіолетовий бетон +tile.concrete_colored.red.name=Червоний бетон +tile.concrete_colored.silver.name=Світло-сірий бетон +tile.concrete_colored.white.name=Білий бетон +tile.concrete_colored.yellow.name=Жовтий бетон +tile.concrete_colored_ext.bronze.name=Бетон "Вибір будівельника" - Бронзове покриття +tile.concrete_colored_ext.hazard.name=Бетон "Вибір будівельника" - Смуги небезпеки +tile.concrete_colored_ext.indigo.name=Бетон "Вибір будівельника" - Глибокий індиго +tile.concrete_colored_ext.machine.name=Бетон "Вибір будівельника" - Промисловий відтінок +tile.concrete_colored_ext.machine_stripe.name=Бетон "Вибір будівельника" - Промислова смуга +tile.concrete_colored_ext.pink.name=Бетон "Вибір будівельника" - Мужній рожевий +tile.concrete_colored_ext.purple.name=Бетон "Вибір будівельника" - Таємничий фіолетовий +tile.concrete_colored_ext.sand.name=Бетон "Вибір будівельника" - Буря в пустелі +tile.concrete_pillar.name=Армована залізобетонна колона +tile.concrete_slab.asphalt.name=Плита з асфальту +tile.concrete_slab.concrete.name=Плита з бетонної плитки +tile.concrete_slab.concrete_asbestos.name=Плита з азбестобетону +tile.concrete_slab.concrete_smooth.name=Плита з бетону +tile.concrete_slab.ducrete.name=Плита з уранобетонної плитки +tile.concrete_slab.ducrete_smooth.name=Плита з уранобетону +tile.concrete_smooth.name=Бетон +tile.concrete_smooth_stairs.name=Сходи з бетону +tile.concrete_stairs.name=Сходи з бетонної плитки +tile.concrete_super.name=Убербетон +tile.concrete_super_broken.name=Запліснявілі уламки +tile.conveyor.name=Conveyor Belt +tile.conveyor.desc=Moves items dropped on it$Can be rotated clockwise with a screwdriver$Shift-click with screwdriver to bend +tile.conveyor_chute.name=Conveyor Chute +tile.conveyor_chute.desc=Moves items down$The bottom-most chute will act like a regular conveyor belt +tile.conveyor_double.name=Double-Lane Conveyor Belt +tile.conveyor_double.desc=Moves items dropped on it$Can be rotated clockwise with a screwdriver$Shift-click with screwdriver to bend +tile.conveyor_express.name=Express Conveyor Belt +tile.conveyor_express.desc=Moves items dropped on it very fast$Can be rotated clockwise with a screwdriver$Shift-click with screwdriver to bend +tile.conveyor_lift.name=Conveyor Chain Lift +tile.conveyor_lift.desc=Moves items up$Requires at least two blocks on top of each other to work properly +tile.conveyor_triple.name=Triple-Lane Conveyor Belt +tile.conveyor_triple.desc=Moves items dropped on it$Can be rotated clockwise with a screwdriver$Shift-click with screwdriver to bend +tile.corium_block.name=Коріум +tile.crane_boxer.name=Конвеєрний пакувальник +tile.crane_boxer.desc=Пакує налаштовану кількість стаків у коробки та розміщує їх на конвеєрних стрічках$Клацніть правою кнопкою миші за допомогою викрутки, щоб встановити сторону введення$Клацніть з шифтом за допомогою викрутки, щоб встановити сторону виведення$Клацніть двічі, щоб встановити протилежну сторону +tile.crane_extractor.name=Конвеєрний витягувач +tile.crane_extractor.desc=Бере предмети з контейнеру та розміщує їх на конвеєрних стрічках$Має до 9 слотів для фільтрів з чорним та білим списками$Клацніть правою кнопкою миші за допомогою викрутки, щоб встановити сторону виведення$Клацніть з шифтом за допомогою викрутки, щоб встановити сторону введення$Клацніть двічі, щоб встановити протилежну сторону +tile.crane_grabber.name=Конвеєрний збирач +tile.crane_grabber.desc=Збирає предмети з конвеєрів що проходять та розміщує їх у контейнер$Буде брати предмети лише з найближчої стрічки$Має до 9 слотів для фільтрів з чорним та білим списками$Клацніть правою кнопкою миші за допомогою викрутки, щоб встановити сторону введення$Клацніть з шифтом за допомогою викрутки, щоб встановити сторону виведення$Клацніть двічі, щоб встановити протилежну сторону +tile.crane_inserter.name=Конвеєрний вставник +tile.crane_inserter.desc=Приймає предмети з конвеєру та розміщує їх у контейнеру$Клацніть правою кнопкою миші за допомогою викрутки, щоб встановити сторону введення$Клацніть з шифтом за допомогою викрутки, щоб встановити сторону виведення$Клацніть двічі, щоб встановити протилежну сторону +tile.crane_partitioner.name=Розділювач входу окислювача +tile.crane_partitioner.desc=Receives and stores up to nine Ore Acidizer inputs$and releases them if they match the required input size.$Invalid items are also saved, and need to be extracted from the side. $ я не їбу що це +tile.crane_router.name=Конвеєрний сортувальник +tile.crane_router.desc=Сортує предмети на основі визначених критеріїв$Сторони можна визначити як чорний список, білий список або все інше$Сторона з усім іншим обирається лише тоді коли нема збігів у фільтрах +tile.crane_splitter.name=Конвеєрний роздільник +tile.crane_splitter.desc=Розділяє предмети та рівномірно складає їх на дві конвеєрні стрічки$Є конвеєрною стрічкою, тому може безпосередньо з'єднуватись з вставником або сортувальником$Співвідношення можна налаштувати за допомогою викрутки +tile.crane_unboxer.name=Конвеєрний розпакувальник +tile.crane_unboxer.desc=Приймає коробки та витягує їх вміст$Клацніть правою кнопкою миші за допомогою викрутки, щоб встановити сторону виведення$Клацніть з шифтом за допомогою викрутки, щоб встановити сторону введення$Клацніть двічі, щоб встановити протилежну сторону +tile.crashed_bomb.name=Невибухнувша бомба +tile.crate.name=Ящик з припасами +tile.crate_ammo.name=Ящик з зоряного металу +tile.crate_can.name=Ящик з консервами +tile.crate_desh.name=Деш ящик +tile.crate_iron.name=Залізний ящик +tile.crate_jungle.name=Енаргітовий ящик +tile.crate_lead.name=Ящик з небезпечними матеріалами +tile.crate_metal.name=Ящик з механізмами +tile.crate_red.name=Червоний ящик +tile.crate_steel.name=Сталевий ящик +tile.crate_supply.name=Ящик з припасами +tile.crate_template.name=Ящик з шаблонами +tile.crate_tungsten.name=Вольфрамовий ящик +tile.crate_weapon.name=Ящик зі зброєю +tile.crystal_hardened.name=Загартований темний кристал +tile.crystal_pulsar.name=Пульсуючий кристал +tile.crystal_virus.name=Темний кристал +tile.deco_aluminium.name=Алюмінієвий декоративний блок +tile.deco_asbestos.name=Азбестоцементний шифер +tile.deco_beryllium.name=Берилієвий декоративний блок +tile.deco_computer.ibm_300pl.name=Персональний комп'ютер IBM PC 300PL +tile.deco_crt.name=Старий ЕПТ екран +tile.deco_emitter.name=Декоративний випромінювач світла +tile.deco_lead.name=Свинцевий декоративний блок +tile.deco_loot.name=Купа скарбів +tile.deco_rbmk.name=Декоративний блок РБМК +tile.deco_rbmk_smooth.name=Гладкий декоративний блок РБМК +tile.deco_red_copper.name=Червономідний декоративний блок +tile.deco_pipe.name=Сталева труба +tile.deco_pipe_rusted.name=Іржава сталева труба +tile.deco_pipe_green.name=Зелена сталева труба +tile.deco_pipe_green_rusted.name=Іржава зелена сталева труба +tile.deco_pipe_red.name=Червона сталева труба +tile.deco_pipe_marked.name=Газова труба +tile.deco_pipe_framed.name=Сталева труба (Каркасна) +tile.deco_pipe_framed_rusted.name=Іржава сталева труба (Каркасна) +tile.deco_pipe_framed_green.name=Зелена сталева труба (Каркасна) +tile.deco_pipe_framed_green_rusted.name=Іржава зелена сталева труба (Каркасна) +tile.deco_pipe_framed_red.name=Червона сталева труба (Каркасна) +tile.deco_pipe_framed_marked.name=Газова труба (Каркасна) +tile.deco_pipe_quad.name=Сталеві труби +tile.deco_pipe_quad_rusted.name=Іржаві сталеві труби +tile.deco_pipe_quad_green.name=Зелені сталеві труби +tile.deco_pipe_quad_green_rusted.name=Іржаві зелені сталеві труби +tile.deco_pipe_quad_red.name=Червоні сталеві труби +tile.deco_pipe_quad_marked.name=Газові труби +tile.deco_pipe_rim.name=Сталева труба (Обрамлена) +tile.deco_pipe_rim_rusted.name=Іржава сталева труба (Обрамлена) +tile.deco_pipe_rim_green.name=Зелена сталева труба (Обрамлена) +tile.deco_pipe_rim_green_rusted.name=Іржава зелена сталева труба (Обрамлена) +tile.deco_pipe_rim_red.name=Червона сталева труба (Обрамлена) +tile.deco_pipe_rim_marked.name=Газова труба (Обрамлена) +tile.deco_steel.name=Сталевий декоративний блок +tile.deco_rusty_steel.name=Іржавий сталевий декоративний блок +tile.deco_titanium.name=Титановий декоративний блок +tile.deco_toaster.name=Зламаний тостер +tile.deco_tungsten.name=Вольфрамовий декоративний блок +tile.decon.name=Знезаражувач гравця +tile.depth_brick.name=Глибинна цегла +tile.depth_dnt.name=Посилена динейтронієм глибинна цегла +tile.depth_nether_brick.name=Пекельна глибинна цегла +tile.depth_nether_tiles.name=Пекельна глибинна плитка +tile.depth_tiles.name=Глибинна плитка +tile.det_charge.name=Вибуховий заряд +tile.det_cord.name=Детонуючий шнур +tile.det_miner.name=Шахтарський заряд +tile.det_nuke.name=Ядерний заряд +tile.dfc_core.name=Ядро реактору темного синтезу +tile.dfc_emitter.name=Випромінювач реактору темного синтезу +tile.dfc_injector.name=Паливний інжектор реактору темного синтезу +tile.dfc_receiver.name=Приймач реактору темного синтезу +tile.dfc_stabilizer.name=Стабілізатор реактору темного синтезу +tile.dirt_dead.name=Мертвий ґрунт +tile.dirt_oily.name=Нафтовий ґрунт +tile.drill_pipe.name=Бурильна труба +tile.drone_crate.name=Ящик для транспортних дронів +tile.drone_crate.desc=Пункт завантаження та розвантаження транспортних дронів.$Діє як маршрутна точка, має бути пов’язана з лінкером дронів.$Дрони повинні підлітати під великим кутом, інакше вони застрягнуть. +tile.drone_crate_provider.name=Ящик логістичний постачальник +tile.drone_crate_provider.desc=Пропонує предмети логістичній мережі.$Логістичні дрони намагатимуться переміщувати предмети від постачальників до ящиків замовників. +tile.drone_crate_requester.name=Ящик логічстичний замовник +tile.drone_crate_requester.desc=Запитує предмети з логістичної мережі.$Предмети, додані до фільтра, будуть замовлені, якщо їх немає в інвентарі. +tile.drone_dock.name=Док логістичних дронів +tile.drone_dock.desc=Точка появи логістичних дронів.$Може виявляти лише постачальників та запитувачів у радіусі 5 чанків.$Дрони відстежуватимуть лише до 10 маршрутних точок за з'єднання. +tile.drone_waypoint.name=Точка маршруту транспортних дронів +tile.drone_waypoint.desc=Точка маршруту для транспортних дронів$Використовуйте лінкер транспортних дронів, щоб встановити шлях$Клацніть кожну маршрутну точку та ящик послідовно, щоб створити шлях,$потім клацніть з шифтом, щоб очистити збережену позицію$Клацніть правою кнопкою миші або з шифтом по маршрутній точці, щоб змінити її зміщення +tile.drone_waypoint_request.name=Точка маршруту логістичних дронів +tile.door_bunker.name=Бункерні двері +tile.door_metal.name=Металеві двері +tile.door_office.name=Офісні двері +tile.door_red.name=Червоні двері +tile.ducrete.name=Уранобетонна плитка +tile.ducrete_stairs.name=Сходи з уранобетонної плитки +tile.ducrete_smooth.name=Уранобетон +tile.ducrete_smooth_stairs.name=Сходи з уранобетону +tile.dummy_block.name=Dummy Block +tile.dummy_port.name=Dummy Block (Electricity Port) +tile.dungeon_chain.name=Металевий ланцюг +tile.dynamite.name=Динаміт +tile.emp_bomb.name=Пристрій електромагнітного іпульсу +tile.factory_advanced_conductor.name=Advanced Factory Electricity Port +tile.factory_advanced_core.name=Advanced Factory Core Component +tile.factory_advanced_furnace.name=Advanced Factory Access Hatch +tile.factory_advanced_hull.name=Заводський блок +tile.factory_titanium_conductor.name=Basic Factory Electricity Port +tile.factory_titanium_core.name=Basic Factory Core Component +tile.factory_titanium_furnace.name=Basic Factory Access Hatch +tile.factory_titanium_hull.name=Заводський блок +tile.fallout.name=Радіоактивні опади +tile.fan.name=Вентилятор +tile.fan.desc=Активується за допомогою редстоуну$Піднімає об'єкти на 10 блоків$Клацніть правою кнопкою миші викруткою, щоб перевернути$ПКМ ручним свердлом, щоб переключити режим +tile.fan.falloffOn=Сила вентилятора зменшується з відстанню +tile.fan.falloffOff=Постійна сила вентилятора +tile.fence_metal.name=Огорожа рабиця +tile.fence_metal_post.name=Огорожа рабиця стовп +tile.field_disturber.name=Заглушник високоенергетичного поля +tile.filing_cabinet.green.name=Запилена картотечна шафа +tile.filing_cabinet.steel.name=Сталева картотечна шафа +tile.fire_digamma.name=Затяжна Дігамма +tile.fire_door.name=Протипожежні двері +tile.fireworks.name=Батарея феєрверків +tile.fireworks.charges=Завантажено зарядів: %s +tile.fireworks.message=Повідомлення: %s +tile.fireworks.color=Колір: %s +tile.fissure_bomb.name=Бомба фісура +tile.flame_war.name=Полум'яна війна в коробці +tile.float_bomb.name=Левітаційна бомба +tile.floodlight.name=Потужний прожектор +tile.fluid_duct.name=Універсальний рідинний трубопровід (Застаріло) +tile.fluid_duct_box.name=Універсальний рідинний трубопровід (Boxduct) +tile.fluid_duct_exhaust.name=Вихлопна труба +tile.fluid_duct_paintable_block_exhaust.name=Вихлопна труба з покриттям +tile.fluid_duct_gauge.name=Вимірювальна труба +tile.fluid_duct_gauge.desc=Труба, що показує, скільки рідини$переміщується в мережі за один тік.$Розділені мережі, з'єднані бочками$або цистернами, вважаються однією спільною мережею. +tile.fluid_duct_neo.name=Універсальний рідинний трубопровід +tile.fluid_duct_paintable.name=Універсальний рідинний трубопровід з покриттям +tile.fluid_duct_solid.name=Універсальний рідинний трубопровід з покриттям (Застаріло) +tile.fluid_pump.name=Насос регулювання потоку +tile.fluid_switch.name=Редстоун рідинний клапан +tile.fluid_valve.name=Рідинний клапан +tile.foam_layer.name=Шар піни +tile.foundry_basin.name=Ливарний басейн +tile.foundry_channel.name=Ливарний канал +tile.foundry_tank.name=Ливарний зберігальний басейн +tile.foundry_mold.name=Малий ливарний басейн +tile.foundry_outlet.name=Ливарний вихід +tile.foundry_slagtap.name=Ливарний вихід для шлаку +tile.fraction_spacer.name=Розділювач ректифікаційної колони +tile.frozen_dirt.name=Замерзлий ґрунт +tile.frozen_grass.name=Замерзла трава +tile.frozen_log.name=Замерзле дерево +tile.frozen_planks.name=Замерзлі дошки +tile.machine_furnace_brick_off.name=Цегляна піч +tile.machine_furnace_brick_on.name=Цегляна піч +tile.furnace_combination.name=Коксова піч +tile.furnace_combination.desc=Велика піч, яка може виробляти деревне вугілля та вугільний кокс.$Виробляє рідкі побічні продукти.$Швидкість теплопередачі: ΔT*0.25 TU/t +tile.furnace_iron.name=Залізна піч +tile.furnace_iron.desc=Більша та ефективніша піч,$не витрачає паливо, коли не працює. +tile.furnace_steel.name=Сталева піч +tile.furnace_steel.desc=Дуже велика піч, яка може давати бонусні предмети$під час плавлення руд. Потрібне зовнішнє джерело тепла.$Швидкість теплопередачі: ΔT*0.05 TU/t$(Δ означає різницю, а T означає температуру) +tile.fusion_center.name=Центральний магнітний елемент +tile.fusion_conductor.name=Надпровідний магніт +tile.fusion_conductor_welded.name=Надпровідний магніт (Зварений) +tile.fusion_core.name=Управління термоядерним реактором +tile.fusion_hatch.name=Декоративний люк +tile.fusion_heater.name=Компонент нагрівача плазми +tile.fusion_motor.name=Елемент магнітного двигуна +tile.fwatz_computer.name=Fusionary Watz Reactor Calculation Matrix +tile.fwatz_conductor.name=4000K Superconducting Magnet +tile.fwatz_cooler.name=Regenerative Coolant Fluid Tank Shell +tile.fwatz_core.name=Fusionary Watz Reactor Control +tile.fwatz_hatch.name=Fusionary Watz Plant Access Hatch +tile.fwatz_plasma.name=Destabilized Antischrabidium Plasma +tile.fwatz_scaffold.name=Fusionary Watz Plant Structural Support +tile.fwatz_tank.name=Regenerative Coolant Fluid Tank +tile.gas_asbestos.name=Частинки азбесту в повітрі +tile.gas_coal.name=Вугільний пил в повітрі +tile.gas_duct.name=Газова труба +tile.gas_duct_solid.name=Газова труба з покриттям +tile.gas_explosive.name=Вибухонебезпечний газ +tile.gas_flammable.name=Легкозаймистий газ +tile.gas_meltdown.name=Розплавляючий газ +tile.gas_monoxide.name=Чадний газ +tile.gas_radon.name=Радон +tile.gas_radon_dense.name=Щільний радон +tile.gas_radon_tomb.name=Могильний газ +tile.geiger.name=Лічильник Гейгера +tile.glass_ash.name=Попелясте скло +tile.glass_boron.name=Борне скло +tile.glass_lead.name=Свинцеве скло +tile.glass_polarized.name=Поляризоване скло +tile.glass_polonium.name=Полонієве скло +tile.glass_quartz.name=Кварцове скло +tile.glass_trinitite.name=Тринітитове скло +tile.glass_uranium.name=Уранове скло +tile.glyphid_base.name=Блок вулика гліфідів +tile.glyphid_spawner.name=Спавнер вулика гліфідів +tile.gneiss_brick.name=Сланцева цегла +tile.gneiss_chiseled.name=Точений сланець +tile.gneiss_tile.name=Сланцева плитка +tile.gravel_diamond.name=Алмазний гравій +tile.gravel_obsidian.name=Подрібнений обсидіан +tile.hadron_access.name=Термінал доступу до прискорювача частинок +tile.hadron_analysis.name=Стінка камери аналізу прискорювача частинок +tile.hadron_analysis_glass.name=Вікно камери аналізу прискорювача частинок +tile.hadron_coil_alloy.name=Щільна надпровідна котушка +tile.hadron_coil_chlorophyte.name=Щільна хлорофітова котушка +tile.hadron_coil_gold.name=Щільна золота котушка +tile.hadron_coil_magtung.name=Щільна 4000K надпровідна котушка +tile.hadron_coil_mese.name=Щільна месе котушка +tile.hadron_coil_neodymium.name=Щільна неодимова котушка +tile.hadron_coil_schrabidate.name=Щільна шрабідатова котушка +tile.hadron_coil_schrabidium.name=Щільна шрабідієва котушка +tile.hadron_coil_starmetal.name=Щільна котушка з зіркового металу +tile.hadron_core.name=Particle Accelerator Core Component +tile.hadron_diode.name=Schottky Particle Diode +tile.hadron_plating.name=Particle Accelerator Plating +tile.hadron_plating_black.name=Particle Accelerator Plating (Black) +tile.hadron_plating_blue.name=Particle Accelerator Plating (Blue) +tile.hadron_plating_glass.name=Particle Accelerator Plating (Window) +tile.hadron_plating_striped.name=Particle Accelerator Plating (Cool Hazard Stripes) +tile.hadron_plating_voltz.name=Particle Accelerator Plating (VOLTZ) +tile.hadron_plating_yellow.name=Particle Accelerator Plating (YelloDye) +tile.hadron_power.name=Particle Accelerator Power Plug (1MHE) +tile.hadron_power_10m.name=Particle Accelerator Power Plug (10MHE) +tile.hadron_power_100m.name=Particle Accelerator Power Plug (100MHE) +tile.hadron_power_1g.name=Particle Accelerator Power Plug (1GHE) +tile.hadron_power_10g.name=Particle Accelerator Power Plug (10GHE) +tile.hazmat.name=Hazmat Cloth Block +tile.heater_electric.name=Електричний нагрівач +tile.heater_electric.desc=Використовує енергію для виробництва тепла.$Приймає тепло знизу з ефективністю 85%%.$Можна налаштувати за допомогою викрутки. +tile.heater_firebox.name=Нагрівальна топка +tile.heater_firebox.desc=Спалює тверде паливо для отримання тепла. +tile.heater_heatex.name=Теплообмінний нагрівач +tile.heater_heatex.desc=Виробляє тепло з гарячих рідин. +tile.heater_oilburner.name=Спалювач рідини +tile.heater_oilburner.desc=Спалює рідини для отримання тепла.$Можна налаштувати за допомогою викрутки. +tile.heater_oven.name=Нагрівальна піч +tile.heater_oven.desc=Спалює тверде паливо для отримання тепла.$Приймає тепло знизу з ефективністю 50%%. +tile.hev_battery.name=Батарея костюма +tile.machine_hydrotreater.name=Гідроочисник +tile.impact_dirt.name=Випалений ґрунт +tile.icf.name=Термоядерний реактор з інерційним утриманням плазми (ICF) +tile.icf_block.name=Лазер ICF +tile.icf_component.name=Стабілізуючий елемент ICF +tile.icf_component.structure.name=Корпус ICF +tile.icf_component.structure_bolted.name=Корпус ICF (Заклепаний) +tile.icf_component.vessel.name=Стіна захисної оболонки ICF +tile.icf_component.vessel_welded.name=Стіна захисної оболонки ICF (Зварена) +tile.icf_controller.name=Контролер лазера ICF +tile.icf_laser_component.capacitor.name=Конденсатор лазера ICF +tile.icf_laser_component.casing.name=Корпус лазера ICF +tile.icf_laser_component.cell.name=Комірка лазера ICF +tile.icf_laser_component.emitter.name=Труба випромінювача лазера ICF +tile.icf_laser_component.port.name=Порт лазера ICF +tile.icf_laser_component.turbo.name=Турбопідсилювач лазера ICF +tile.iter.name=Термоядерний реактор +tile.ladder_aluminium.name=Алюмінієва драбина +tile.ladder_cobalt.name=Кобальтова драбина +tile.ladder_copper.name=Мадна драбина +tile.ladder_gold.name=Золота драбина +tile.ladder_iron.name=Залізна драбина +tile.ladder_lead.name=Свинцева драбина +tile.ladder_steel.name=Сталева драбина +tile.ladder_sturdy.name=Міцна дерев'яна драбина +tile.ladder_titanium.name=Титанова драбина +tile.ladder_tungsten.name=Вольфрамова драбина +tile.trapdoor_steel.name=Сталевий люк +tile.lamp_demon.name=Ядро-демон лампа +tile.lamp_tritium_blue_off.name=Синя тритієва лампа +tile.lamp_tritium_blue_on.name=Синя тритієва лампа +tile.lamp_tritium_green_off.name=Зелена тритієва лампа +tile.lamp_tritium_green_on.name=Зелена тритієва лампа +tile.lantern.name=Ліхтар +tile.lantern_behemoth.name=Старий ліхтар +tile.launch_pad.name=Бункерний стартовий майданчик +tile.launch_pad_large.name=Стартовий майданчик +tile.launch_pad_rusted.name=Старий стартовий майданчик +tile.launch_table.name=Великий стартовий майданчик +tile.leaves_layer.name=Опале листя +tile.lightstone.unrefined.name=Необроблений світлий камінь +tile.lightstone.tile.name=Світлокам'яна плитка +tile.lightstone.bricks.name=Світлокам'яна цегла +tile.lightstone.bricks_chiseled.name=Точена світлокам'яна цегла +tile.lightstone.chiseled.name=Точений світлий камінь +tile.lightstone_tile_stairs.name=Сходи з світлокам'яної плитки +tile.lightstone_bricks_stairs.name=Сходи з світлокам'яної цегли +tile.lox_barrel.name=Бочка рідкого кисню +tile.machine_amgen.name=Ambience Radiation Generator +tile.machine_ammo_press.name=Прес для боєприпасів +tile.machine_arc_furnace.name=Електрична дугова піч +tile.machine_arc_furnace_off.name=Дугова піч +tile.machine_arc_furnace_on.name=Дугова піч +tile.machine_arc_welder.name=Дуговий зварювальник +tile.machine_armor_table.name=Стіл модифікації броні +tile.machine_ashpit.name=Зольник +tile.machine_ashpit.desc=Збирає попіл з топок та нагрівальних печей +tile.machine_assembler.name=Збиральна машина +tile.machine_assemfac.name=Збиральна фабрика +tile.machine_autocrafter.name=Автоматичний верстак +tile.machine_autosaw.name=Автоматична пила +tile.machine_autosaw.desc=Вирубує рослини поруч, заново висажує дерева$Приймає:$-Деревну смолу$-Етанол$-Риб'ячий жир$-Важку нафту +tile.machine_autosaw.suspended=Припинено +tile.machine_bat9000.name=Big-Ass цистерна 9000 +tile.machine_battery.name=Блок накопичувач енергії +tile.machine_battery_potato.name=Блок картопляних батарейок +tile.machine_boiler.name=Бойлер +tile.machine_boiler.desc=Великий бойлер, який може кип'ятити воду або нагрівати нафту.$Потрібне зовнішнє джерело тепла.$Швидкість теплопередачі: ΔT*0.01 TU/t +tile.machine_boiler_electric_off.name=Electric Oil Heater +tile.machine_boiler_electric_on.name=Electric Oil Heater +tile.machine_boiler_off.name=Старий бойлер +tile.machine_catalytic_cracker.name=Вежа каталітичного крекінгу +tile.machine_catalytic_reformer.name=Каталітичний риформер +tile.machine_centrifuge.name=Центрифуга +tile.machine_chemfac.name=Хімічна фабрика (Застаріла) +tile.machine_chemical_factory.name=Хімічна фабрика +tile.machine_chemical_factory.desc=Четверний хімічний завод.$Рецепти обробляються вдвічі швидше,$але потребують вдвічі більше енергії.$Потрібно охолодження водою,$виробляє пару низького тиску. +tile.machine_chemical_plant.name=Хімічний завод +tile.machine_chemplant.name=Хімічний завод (Застарілий) +tile.machine_chungus.name=Парова турбіна "Левіафан" +tile.machine_chungus.desc=Ефективність: 85%% +tile.machine_coal_off.name=Combustion Generator +tile.machine_coal_on.name=Combustion Generator +tile.machine_coker.name=Коксова установка +tile.machine_coker.desc=Коксує нафту, створюючи рідкі побічні продукти.$Потрібне зовнішнє джерело тепла.$Швидкість теплопередачі: ΔT*0.025 TU/t +tile.machine_combine_factory.name=CMB Steel Furnace +tile.machine_combustion_engine.name=Промисловий двигун внутрішнього згоряння +tile.machine_compressor.name=Компресор +tile.machine_compressor_compact.name=Компактний компресор +tile.machine_condenser.name=Конденсатор пару +tile.machine_condenser_powered.name=Потужний конденсатор пару +tile.machine_controller.name=Блок дистанційного керування реактором +tile.machine_converter_he_rf.name=HE to RF конвертер +tile.machine_converter_rf_he.name=RF to HE конвертер +tile.machine_conveyor_press.name=Конвеєрний прес +tile.machine_conveyor_press.desc=Конвеєр рухається зліва направо$Клацніть правою кнопкою миші штампом щоб встановити його$Використовуйте викрутку, щоб вилучити штамп +tile.machine_crucible.name=Ливарня +tile.machine_crystallizer.name=Рудний окислювач +tile.machine_cyclotron.name=Циклотрон +tile.machine_detector.name=Детектор живлення +tile.machine_deuterium_extractor.name=Екстрактор дейтерію +tile.machine_deuterium_tower.name=Вежа видобутку дейтерію +tile.machine_diesel.name=Дизельний генератор +tile.machine_difurnace_extension.name=Розширення доменної печі +tile.machine_difurnace_off.name=Доменна піч +tile.machine_difurnace_on.name=Доменна піч +tile.machine_difurnace_rtg_off.name=Ядерна доменна піч +tile.machine_difurnace_rtg_on.name=Ядерна доменна піч +tile.machine_dineutronium_battery.name=Спарк блок накопичувач енергії +tile.machine_drain.name=Стічна труба +tile.machine_drill.name=Автоматичний гірничий бур +tile.machine_electric_furnace_off.name=Електрична піч +tile.machine_electric_furnace_on.name=Електрична піч +tile.machine_electrolyser.name=Електролізер +tile.machine_epress.name=Електричний прес +tile.machine_excavator.name=Великий гірничий бур +tile.machine_exposure_chamber.name=Камера опромінювання частинками +tile.machine_fel.name=Лазер на вільних електронах (FEL) +tile.machine_fensu.name=FEnSU +tile.machine_flare.name=Факельна лінія +tile.machine_fluidtank.name=Цистерна +tile.machine_forcefield.name=Випромінювач силового поля +tile.machine_fraction_tower.name=Ректифікаційна колона +tile.machine_fracking_tower.name=Вежа гідророзриву пласта +tile.machine_funnel.name=Комбінаторна воронки +tile.machine_funnel.desc=Автоматично стискає предмети в сітці крафту 2x2 або 3x3$Вгорі: Вхід$Внизу: Вихід$Бічна сторона: Вихід для очищення інгредієнтів +tile.machine_gascent.name=Газова центрифуга +tile.machine_generator.name=Nuclear Reactor (Old) +tile.machine_geo.name=Geothermal Electric Generator +tile.machine_hephaestus.name=Геотермальний теплообмінник +tile.machine_icf_press.name=Виробник паливних гранул ICF +tile.machine_icf_press.desc=Заповнює паливні гранули ICF$Лівий паливний отвір встановлюється зверху/знизу, правий - з боків$Мюони та гранули можуть подаватися з будь-якого боку +tile.machine_industrial_boiler.name=Промисловий бойлер +tile.machine_industrial_boiler.desc=Великий бойлер, який може кип'ятити воду або нагрівати нафту.$Потрібне зовнішнє джерело тепла.$Швидкість теплопередачі: ΔT*0.01 TU/t$Не може вибухнути +tile.machine_industrial_generator.name=Industrial Generator +tile.machine_intake.name=Забірник повітря +tile.machine_keyforge.name=Сліл замочника +tile.machine_large_turbine.name=Промислова парова турбіна +tile.machine_large_turbine.desc=Ефективність: 100%% +tile.machine_liquefactor.name=Промисловий скраплювач +tile.machine_liquefactor.desc=Потужна універсальна машина для перетворення предметів на рідини.$Поставляється з універсальними каталітичними компонентами, нагрівальними елементами$та вбудованим гідратором для нафтохімічного зрідження. +tile.machine_lithium_battery.name=Літій-іонний блок накопичувач енергії +tile.machine_microwave.name=Мікрохвильова піч +tile.machine_mining_laser.name=Шахтарський лазер +tile.machine_minirtg.name=Радіоізотопна комірка +tile.machine_missile_assembly.name=Станція збірки ракет +tile.machine_mixer.name=Промисловий змішувач +tile.machine_nuke_furnace_off.name=Ядерна піч +tile.machine_nuke_furnace_on.name=Ядерна піч +tile.machine_orbus.name=Важка магнітна цистерна +tile.machine_ore_slopper.name=Переробник корінної руди +tile.machine_powerrtg.name=Полоній-теннессинова ізотопна комірка +tile.machine_press.name=Твердопаливний прес +tile.machine_puf6_tank.name=Цистерна гексафториду плутонію +tile.machine_pumpjack.name=Верстат-гойдалка +tile.machine_pyrooven.name=Піролізна піч +tile.machine_radar.name=Радар +tile.machine_radar_large.name=Великий радар +tile.machine_radgen.name=Радіаційний двигун +tile.machine_radiolysis.name=РІТЕГ та радіолізна камера +tile.machine_reactor.name=Реактор розмножувач +tile.machine_reactor_small.name=Дослідницький реактор +tile.machine_refinery.name=Нафтопереробний завод +tile.machine_reix_mainframe.name=Rei-X Mainframe (WIP) +tile.machine_rotary_furnace.name=Роторна піч +tile.machine_rtg_blue.name=Convection Generator +tile.machine_rtg_cyan.name=Schrabidium Decay Generator (WIP) +tile.machine_rtg_furnace_off.name=РІТЕГ піч +tile.machine_rtg_furnace_on.name=РІТЕГ піч +tile.machine_rtg_green.name=Verticium Wealth Generator +tile.machine_rtg_grey.name=РІТЕГ +tile.machine_rtg_orange.name=Strong RT Generator +tile.machine_rtg_purple.name=Antimatter Annihilation Generator +tile.machine_rtg_red.name=Fulmination Generator +tile.machine_rtg_yellow.name=Australium Superfuel Reactor +tile.machine_satlinker.name=Супутниковий ID менеджер +tile.machine_sawmill.name=Лісопилка Стірлінга +tile.machine_sawmill.desc=Потрібне зовнішнє джерело тепла.$Швидкість теплопередачі: T*0.1 TU/t$Мінімальне споживання: 100 TU/t, Максимальне споживання: 300 TU/t +tile.machine_schrabidium_battery.name=Шрабідієвий блок накопичувач енергії +tile.machine_schrabidium_transmutator.name=Пристрій для трансмутації шрабідію +tile.machine_selenium.name=Radial Performance Engine +tile.machine_shredder.name=Подрібнювач +tile.machine_silex.name=Камера лазерного розділення ізотопів (SILEX) +tile.machine_siren.name=Сирена +tile.machine_solar_boiler.name=Бойлер сонячної вежі +tile.machine_soldering_station.name=Паяльна станція +tile.machine_solidifier.name=Промисловий затверджувач +tile.machine_solidifier.desc=Універсальна машина, оснащена системами охолодження та іншими$універсальними інструментами для перетворення рідин у тверді речовини за допомогою$різних процесів, таких як заморожування та нафтохімічна полімеризація. +tile.machine_spp_bottom.name=ZPE Potential Generator (Bottom) +tile.machine_spp_top.name=ZPE Potential Generator (Top) +tile.machine_steam_engine.name=Паровий двигун +tile.machine_steam_engine.desc=Ефективність: 85%% +tile.machine_stirling.name=Двигун Стірлінга +tile.machine_stirling.desc=Перетворює тепло на енергію. Потрібне зовнішнє джерело тепла.$Швидкість теплопередачі: T*0.1 TU/t$Максимальне споживання: 300 TU/t$Ефективність: 50%% +tile.machine_stirling_creative.name=Творчій двигун Стірлінга +tile.machine_stirling_creative.desc=Перетворює тепло на енергію. Потрібне зовнішнє джерело тепла.$Швидкість теплопередачі: T*0.1 TU/t$Нескінченне споживання/t$Ефективність: 100%% +tile.machine_stirling_steel.name=Важкий двигун Стірлінга +tile.machine_stirling_steel.desc=Перетворює тепло на енергію.. Потрібне зовнішнє джерело тепла.$Використовує набагато важчу шестерню для підтримки вищих температур.$Швидкість теплопередачі: T*0.1 TU/t$Максимальне споживання: 1500 TU/t$Ефективність: 50%% +tile.machine_storage_drum.name=Бочка для захоронення ядерних відходів +tile.machine_strand_caster.name=Установка безперервного лиття +tile.machine_telelinker.name=Turret Telemetry Linker +tile.machine_teleporter.name=Телепорт +tile.machine_tower_large.name=Градирня +tile.machine_tower_small.name=Допоміжна градирня +tile.machine_transformer.name=10k-20Hz трансформатор +tile.machine_transformer_20.name=10k-1Hz трансформатор +tile.machine_transformer_dnt.name=DNT-20Hz трансформатор +tile.machine_transformer_dnt_20.name=DNT-1Hz трансформатор +tile.machine_turbine.name=Парова турбіна +tile.machine_turbine.desc=Ефективність: 85%% +tile.machine_turbinegas.name=Газова турбіна комбіноваого циклу +tile.machine_turbofan.name=Турбовентилятор +tile.machine_uf6_tank.name=Цистерна гексафториду урану +tile.machine_vacuum_distill.name=Вакуумний нафтопереробний завод +tile.machine_waste_drum.name=Контейнер охолодження відпрацьованого палива +tile.machine_weapon_table.name=Стіл модифікації зброї +tile.machine_wood_burner.name=Дров'яна піч +tile.machine_wood_burner.desc=Генерує 100HE/t при спалюванні предметів$Збирає попіл$Може спалювати рідини з ефективністю 50%% зі швидкістю 40mB/s +tile.machine_well.name=Нафтова вежа +tile.machine_zirnox.name=Ядерний реактор ЦИРНОКС +tile.marker_structure.name=Multiblock Structure Marker +tile.mass_storage.name=Масивне сховище +tile.meteor_battery.name=Генератор статичної електрики з зіркового металу +tile.meteor_brick.name=Метеоритна цегла +tile.meteor_brick_chiseled.name=Точена метеоритна цегла +tile.meteor_brick_cracked.name=Тріснута метеоритна цегла +tile.meteor_brick_mossy.name=Метеоритна цегла з мохом +tile.meteor_pillar.name=Метеоритна колона +tile.meteor_polished.name=Полірований метеоритний блок +tile.meteor_spawner.name=Збірник Кіберкрабів +tile.mine_ap.name=Протипіхотна міна +tile.mine_fat.name=Міна товстун +tile.mine_naval.name=Морська міна +tile.mine_he.name=Протитанкова міна +tile.mine_shrap.name=Шрапнельна міна +tile.moon_turf.name=Місячний ґрунт +tile.mud_block.name=Токсичні відходи +tile.muffler.name=Muffler +tile.mush.name=Сяючий гриб +tile.ntm_dirt.name=Ґрунт +tile.nuke_boy.name=Малюк +tile.nuke_custom.name=Кастомна бомба +tile.nuke_fleija.name=F.L.E.I.J.A. +tile.nuke_fstbmb.name=BF бомба +tile.nuke_gadget.name=Гаджет +tile.nuke_man.name=Товстун +tile.nuke_mike.name=Айві Майк +tile.nuke_n2.name=N² Міна +tile.nuke_n45.name=N45 Naval Mine +tile.nuke_prototype.name=Прототип +tile.nuke_solinium.name=Солінієвий стерилізатор +tile.nuke_tsar.name=Цар-бомба +tile.oil_duct.name=Oil Pipe +tile.oil_duct_solid.name=Coated Oil Pipe +tile.oil_pipe.name=Труба для видобутку сирої нафти +tile.oil_spill.name=Розлив нафти +tile.ore_alexandrite.name=Александритова руда +tile.ore_aluminium.name=Алюмінієва руда +tile.ore_asbestos.name=Азбестова руда +tile.ore_australium.name=Австралієва руда +tile.ore_basalt_asbestos.name=Багатий азбестом базальт +tile.ore_basalt_fluorite.name=Багатий флюоритом базальт +tile.ore_basalt_gem.name=Багатий на самоцвіти базальт +tile.ore_basalt_molysite.name=Багатий на трихлорид заліза базальт +tile.ore_basalt_sulfur.name=Багатий сіркою базальт +tile.ore_bedrock.name=Корінна руда +tile.ore_bedrock_coltan.name=Корінна колтанова руда +tile.ore_bedrock_oil.name=Корінне нафтове родовище +tile.ore_beryllium.name=Берилієва руда +tile.ore_cinnebar.name=Кіноварна руда +tile.ore_coal_oil.name=Масляниста вугільна руда +tile.ore_coal_oil_burning.name=Палаюча масляниста вугільна руда +tile.ore_cobalt.name=Кобальтова руда +tile.ore_coltan.name=Колтанова руда +tile.ore_copper.name=Мідна руда +tile.ore_daffergon.name=Dellite +tile.ore_depth_borax.name=Глибинна бурова руда +tile.ore_depth_cinnebar.name=Глибинна кіноварна руда +tile.ore_depth_nether_neodymium.name=Пекельна глибинна неодимова руда +tile.ore_depth_zirconium.name=Глибинна цирконієва руда +tile.ore_fluorite.name=Флюоритова руда +tile.ore_gneiss_asbestos.name=Сланцева азбестова руда +tile.ore_gneiss_copper.name=Сланцева мідна руда +tile.ore_gneiss_gas.name=Сланцевий газ +tile.ore_gneiss_gold.name=Сланцева золота руда +tile.ore_gneiss_iron.name=Сланцева залізна руда +tile.ore_gneiss_lithium.name=Сланцева літієва руда +tile.ore_gneiss_rare.name=Сланцева рідкоземельна руда +tile.ore_gneiss_schrabidium.name=Сланцева шрабідієва руда +tile.ore_gneiss_uranium.name=Сланцева уранова руда +tile.ore_gneiss_uranium_scorched.name=Випалена сланцева уранова руда +tile.ore_lead.name=Свинцева руда +tile.ore_lignite.name=Буровугільна руда +tile.ore_meteor.aluminium.name=Метеоритна алюмінієва руда +tile.ore_meteor.cobalt.name=Метеоритна кобальтова руда +tile.ore_meteor.copper.name=Метеоритна мідна руда +tile.ore_meteor.iron.name=Метеоритна залізна руда +tile.ore_meteor.rareearth.name=Метеоритна рідкоземельна руда +tile.ore_meteor_aluminium.name=Метеоритна алюмінієва руда +tile.ore_meteor_copper.name=Метеоритна мідна руда +tile.ore_meteor_lead.name=Метеоритна свинцева руда +tile.ore_meteor_lithium.name=Метеоритна літієва руда +tile.ore_meteor_starmetal.name=Метеоритна руда зіркового металу +tile.ore_meteor_sulfur.name=Метеоритна сірчана руда +tile.ore_meteor_thorium.name=Метеоритна торієва руда +tile.ore_meteor_titanium.name=Метеоритна титанова руда +tile.ore_meteor_tungsten.name=Метеоритна вольфрамова руда +tile.ore_meteor_uranium.name=Метеоритна уранова руда +tile.ore_nether_coal.name=Палаюча пекельна вугільна руда +tile.ore_nether_cobalt.name=Пекельна кобальтова руда +tile.ore_nether_fire.name=Пекельна фосфорна руда +tile.ore_nether_plutonium.name=Пекельна плутонієва руда +tile.ore_nether_schrabidium.name=Пекельна шрабідієва руда +tile.ore_nether_smoldering.name=Тліючий пекельний камінь +tile.ore_nether_sulfur.name=Пекельна сірчана руда +tile.ore_nether_tungsten.name=Пекельна вольфрамова руда +tile.ore_nether_uranium.name=Пекельна уранова руда +tile.ore_nether_uranium_scorched.name=Випалена пекельна уранова руда +tile.ore_niter.name=Руда нітрату калію +tile.ore_oil.name=Нафтове родовище +tile.ore_oil_empty.name=Порожнє нафтове родовище +tile.ore_oil_sand.name=Бітумінозний пісок +tile.ore_random.name=%s руда +tile.ore_rare.name=Рідкоземельна руда +tile.ore_reiium.name=Reiite +tile.ore_schrabidium.name=Шрабідієва руда +tile.ore_sellafield_diamond.name=Селлафітова алмазна руда +tile.ore_sellafield_emerald.name=Селлафітова смарагдова руда +tile.ore_sellafield_radgem.name=Селлафітова руда радіоактивного самоцвіту +tile.ore_sellafield_schrabidium.name=Селлафітова шрабідієва руда +tile.ore_sellafield_uranium_scorched.name=Випалена селлафітова уранова руда +tile.ore_sulfur.name=Сірчана руда +tile.ore_tektite_osmiridium.name=Просочений осмистим іридієм тектит +tile.ore_thorium.name=Торієва руда +tile.ore_tikite.name=Тріксит +tile.ore_titanium.name=Титанова руда +tile.ore_tungsten.name=Вольфрамова руда +tile.ore_unobtainium.name=Brightblende Ore +tile.ore_uranium.name=Уранова руда +tile.ore_uranium_scorched.name=Випалена уранова руда +tile.ore_verticium.name=Dollar Green Mineral +tile.ore_volcano.name=Геотермальне джерело +tile.ore_weidanium.name=Weidite +tile.pa_beamline.name=Лінія пучка +tile.pa_beamline.desc=Додаткова частина, з’єднує різні частини прискорювача.$Також дозволяє недорого збільшити розмір кільця,$щоб задовольнити вимоги дипольної котушки щодо розміру. +tile.pa_detector.name=Детектор частинок +tile.pa_detector.desc=Потрібне охолодження!$Приймає частинки та виконує рецепт.$Рецепти можуть потребувати контейнерів (капсул для частинок).$Для прийняття частинки потрібне нульове розфокусуваня. +tile.pa_dipole.name=Дипольні магніти +tile.pa_dipole.desc=Потрібне охолодження!$Перенаправляє частинки на основі магнітного поля.$Має виходи для нижче порогу,$вище порогу та вище порогу$із застосуванням редстоуну.$Для роботи потрібні великі котушки. +tile.pa_quadrupole.name=Квадрупольна лінза +tile.pa_quadrupole.desc=Потрібне охолодження!$Зменшує розфокусування частинок на 100 одиниць.$Для роботи потрібні великі котушки. +tile.pa_rfc.name=Радіочастотний резонатор +tile.pa_rfc.desc=Потрібне охолодження!$Прискорює частинки на 100 одиниць,$та додає 100 одиниць розфокусування.$Частинка розіб’ється, коли досягне 1000 одиниць розфокусування. +tile.pa_source.name=Джерело частинок +tile.pa_source.desc=Потрібне охолодження!$Використовує два предмети для створення частинки. +tile.part_emitter.name=Декоративний випромінювач частинок +tile.pedestal.name=П'єдестал +tile.pink_barrel.name=Бочка з гасом +tile.pink_log.name=Pink Log +tile.pink_planks.name=Pink Wood Planks +tile.pink_slab.name=Pink Wood Slab +tile.pink_stairs.name=Pink Wood Stairs +tile.piston_inserter.name=Вставник +tile.piston_inserter.desc=Приймає один предмет автоматично$Використовуючи редстоун, вставляє предмет у просвердлений графіт$Усі предмети в ланцюжку просвердленого графіту будуть проштовхнуті на один блок$Потрібен один блок повітря між графітом +tile.plant_dead.name=Мертва рослина +tile.plant_flower.cd0.name=Гірчична верба +tile.plant_flower.cd1.name=Гірчична верба +tile.plant_flower.foxglove.name=Наперстянка +tile.plant_flower.nightshade.name=Беладона +tile.plant_flower.tobacco.name=Тютюн +tile.plant_flower.weed.name=Конопля +tile.plant_reeds.name=Очерет +tile.plant_tall.cd2.name=Гірчична верба +tile.plant_tall.cd3.name=Гірчична верба +tile.plant_tall.cd4.name=Гірчична верба (Зріла) +tile.plant_tall.weed.name=Конопля +tile.plasma.name=Плазма +tile.plasma_heater.name=Нагрівач плазми +tile.plushie.name=%s плюшка +tile.pneumatic_tube.name=Пневматична труба +tile.pneumatic_tube.desc=Надсилає предмети за допомогою стисненого повітря.$Клацніть правою кнопкою миші викруткою, щоб перемкнути вхід.$Клацніть правою кнопкою миші з шифтом та викруткою, щоб перемкнути вихід.$Входи можна налаштувати та підключити до стисненого повітря.$Надсилає один стак чотири рази на секунду. +tile.pole_satellite_receiver.name=Супутникова тарілка +tile.pole_top.name=Верхівка антени +tile.press_preheater.name=Burner Press Preheater +tile.pribris.name=Уламки РБМК +tile.pribris_burning.name=Палаючі уламки РБМК +tile.pribris_digamma.name=Почорнілі уламки РБМК +tile.pribris_radiating.name=Тліючі уламки РБМК +tile.pump_electric.name=Електричний насос ґрунтових вод +tile.pump_electric.desc=Використовує електроенергію для відкачування ґрунтових вод$Генерує до 10,000mB/t$Повинен бути розміщений нижче Y:70 +tile.pump_steam.name=Паровий насос ґрунтових вод +tile.pump_steam.desc=Використовує пару для відкачування ґрунтових вод$Генерує до 1,000mB/t$Повинен бути розміщений нижче Y:70 +tile.pwr_block.name=ВВЕР +tile.pwr_casing.name=Корпус реактора ВВЕР +tile.pwr_casing.desc=Потрібно покрити всі внутрішні частини реактора для формування$Розміщення: Корпус +tile.pwr_channel.name=Канал теплоносія ВВЕР +tile.pwr_channel.desc=Використовує тепло корпусу для нагрівання охолоджувальної рідини$Розміщення: Будь-яке +tile.pwr_control.name=Регулюючий стрижень ВВЕР +tile.pwr_control.desc=Дозволяє керувати паливними стрижнями$Розміщення: Сіткою, між паливними стрижнями +tile.pwr_controller.name=Контролер ВВЕР +tile.pwr_controller.desc=Термінал доступу ВВЕР$Розміщення: Корпус, лише один на реактор. Клацніть правою кнопкою миші, щоб зібрати реактор. +tile.pwr_fuel.name=Паливний стрижень ВВЕР +tile.pwr_fuel.desc=Збільшує ємність палива ВВЕР$Розміщення: Сіткою, для підвищення реактивності. +tile.pwr_heatex.name=Теплообмінник ВВЕР +tile.pwr_heatex.desc=Переносить тепло ядра до корпусу$Розміщення: Будь-яке +tile.pwr_heatsink.name=Радіатор ВВЕР +tile.pwr_heatsink.desc=Збільшує теплоємність ядра на 5%%$Зробить канали теплоносія та теплообмінники трохи менш ефективними$Розміщення: Будь-яке +tile.pwr_neutron_source.name=Джерело нейтронів ВВЕР +tile.pwr_neutron_source.desc=Додає 20 одиниць потіку до ядра$Розміщення: Будь-яке$Потік досягає паливних стрижнів лише якщо між ними нічого немає +tile.pwr_port.name=Порт доступу ВВЕР +tile.pwr_port.desc=Ввод-вивід рідин та предметів$Розміщення: Корпус +tile.pwr_reflector.name=Відбивач нейтронів ВВЕР +tile.pwr_reflector.desc=Відбиває нейтрони назад до паливних стрижнів$Розміщення: Сіткою, для підвищення реактивності.$Може бути обшивкою +tile.rad_lava_block.name=Вулканічна лава +tile.radar_screen.name=Екран радара +tile.radio_telex.name=Телекс +tile.radio_torch_controller.name=Редстоун-радіо контролер +tile.radio_torch_controller.desc=Може приймати командні сигнали та$передавати їх на підключену машину +tile.radio_torch_counter.name=Редстоун-радіо лічильник предметів +tile.radio_torch_counter.desc=Розміщується на плоских поверхнях або блоках, сумісних із компаратором$Базує сигнал на кількості відповідних предметів +tile.radio_torch_logic.name=Редстоун-радіо логічний приймач +tile.radio_torch_logic.desc=Розміщується на плоских поверхнях або блоках, сумісних із компаратором$Зіставляє сигнали редстоуну з умовами, оціненими у встановленому порядку$Числові або рядкові вхідні дані порівнюються з константою +tile.radio_torch_reader.name=Редстоун-радіо зчитувач +tile.radio_torch_reader.desc=Зчитує значення з підключених блоків,$а потім надсилає їх через вказану частоту +tile.radio_torch_receiver.name=Редстоун-радіо приймач +tile.radio_torch_receiver.desc=Розміщується на плоских поверхнях або блоках, сумісних із компаратором +tile.radio_torch_sender.name=Редстоун-радіо передавач +tile.radio_torch_sender.desc=Розміщується на плоских поверхнях або блоках, сумісних із компаратором$Зчитує сигнали редстоуна або вхід компаратора +tile.radiobox.name=Коробка боротьби з шкідниками Розенберга +tile.radiorec.name=FM-радіо +tile.rail_booster.name=Швидкісні прискорювальні рейки +tile.rail_highspeed.name=Швидкісні рейки +tile.rail_large_buffer.name=Стандартний вловлювальний тупик (5м) +tile.rail_large_curve.name=Стандартна крива залізнична колія (5м) +tile.rail_large_curve_7.name=Стандартна крива залізнична колія (7м) +tile.rail_large_curve_9.name=Стандартна крива залізнична колія (9м) +tile.rail_large_ramp.name=Стандартний підом залізничної колії (5м) +tile.rail_large_straight.name=Стандартна залізнична колія (5м) +tile.rail_large_straight_short.name=Стандартна залізнична колія (1м) +tile.rail_large_switch.name=Стандартний залізничний стрілочний перевід (15м, Left) +tile.rail_large_switch_flipped.name=Стандартний залізничний стрілочний перевід (15м, Right) +tile.rail_narrow.name=Вузькоколійні рейки +tile.rail_wood.name=Дерев'яні рейки +tile.rbmk_absorber.name=Борний поглинач нейтронів РБМК +tile.rbmk_blank.name=Структурна колона РБМК +tile.rbmk_boiler.name=Паровий канал РБМК +tile.rbmk_console.name=Консоль РБМК +tile.rbmk_cooler.name=Охолоджувач РБМК +tile.rbmk_control.name=Регулюючий стрижень РБМК +tile.rbmk_control_auto.name=Автоматичний регулюючий стрижень РБМК +tile.rbmk_control_mod.name=Сповільнюючий регулюючий стрижень РБМК +tile.rbmk_crane_console.name=Консоль крана РБМК +tile.rbmk_heater.name=Нагрівач рідини РБМК +tile.rbmk_heatex.name=RBMK Heat Exchanger +tile.rbmk_loader.name=Паровий конектор РБМК +tile.rbmk_loader.desc=Дозволяє мати підключення для води та пари в нижній частині реакторів РБМК$Розмістіть одну водопровідну трубу під колоною РБМК, потім з'єднувач,$а потім підключіть паропровід до з'єднувача. +tile.rbmk_moderator.name=Графітовий сповільнювач РБМК +tile.rbmk_outgasser.name=Канал опромінення РБМК +tile.rbmk_reflector.name=Карбід вольфрамовий відбивач нейтронів РБМК +tile.rbmk_rod.name=Паливний стрижень РБМК +tile.rbmk_rod_mod.name=Сповільнюючий паливний стрижень РБМК +tile.rbmk_rod_reasim.name=Паливний стрижень РБМК (РеаСім) +tile.rbmk_rod_reasim_mod.name=Сповільнюючий паливний стрижень РБМК (РеаСім) +tile.rbmk_steam_inlet.name=РеаСім вхід води РБМК +tile.rbmk_steam_inlet.desc=Вводить воду в колони РБМК, якщо бойлери РеаСім увімкнені$З'єднується з колонами РБМК збоку +tile.rbmk_steam_outlet.name=РеаСім вихід пари РБМК +tile.rbmk_steam_outlet.desc=Виводить пару з колон РБМК, якщо бойлери РеаСім увімкнені$З'єднується з колонами РБМК збоку +tile.rbmk_storage.name=Колона зберігання РБМК +tile.reactor_computer.name=Reactor Control +tile.reactor_conductor.name=Reactor Boiler +tile.reactor_control.name=Control Rods +tile.reactor_ejector.name=Reactor Waste Ejector +tile.reactor_element.name=Reactor Chamber +tile.reactor_hatch.name=Reactor Access Hatch +tile.reactor_inserter.name=Reactor Fuel Inserter +tile.red_barrel.name=Вибухова бочка +tile.red_cable.name=Червономідний кабель +tile.red_cable_classic.name=Червономідний кабель (Класичний) +tile.red_cable_gauge.name=Датчик потужності +tile.red_cable_gauge.desc=Кабель, який показує, скільки енергії$переміщується в мережі за один тік.$Розділені мережі, з’єднані блоками$накопичення енергії, вважаються однією спільною мережею. +tile.red_cable_paintable.name=Червономідний кабель, який можна фарбувати +tile.red_connector.name=Конектор електропередач +tile.red_pylon.name=Опора лінії електропередач +tile.red_pylon_large.name=Велика опора лінії електропередач +tile.red_pylon_medium_steel.name=Середня сталева опора лінії електропередач +tile.red_pylon_medium_steel_transformer.name=Середня сталева опора лінії електропередач з трансформатором +tile.red_pylon_medium_wood.name=Середня дерев'яна опора лінії електропередач +tile.red_pylon_medium_wood_transformer.name=Середня дерев'яна опора лінії електропередач з трансформатором +tile.red_wire_coated.name=Покритий червономідний кабель +tile.refueler.name=Заправна станція +tile.reinforced_brick.name=Армований камінь +tile.reinforced_brick_stairs.name=Сходи з армованого каменю +tile.reinforced_ducrete.name=Армований уранобетон +tile.reinforced_glass.name=Армоване скло +tile.reinforced_glass_pane.name=Армована скляна панель +tile.reinforced_lamp_off.name=Армована лампа +tile.reinforced_lamp_on.name=Армована лампа +tile.reinforced_light.name=Армований світлокамінь +tile.reinforced_sand.name=Армований пісковик +tile.reinforced_stone.name=Щільний камінь +tile.reinforced_stone_stairs.name=Сходи з щільного каменю +tile.reinforced_laminate.name=Багатошарове скло +tile.reinforced_laminate_pane.name=Багатошарова скляна панель +tile.rejuvinator.name=Rejuvination Device +tile.residue.name=Cloud Residue +tile.safe.name=Сейф +tile.sand_boron.name=Борний пісок +tile.sand_boron_layer.name=Шар борного піску +tile.sand_dirty.name=Нафтовий пісок +tile.sand_dirty_red.name=Червоний нафтовий пісок +tile.sand_gold.name=Золотий пісок +tile.sand_gold198.name=Пісок золота-198 +tile.sand_lead.name=Свинцевий пісок +tile.sand_polonium.name=Полонієвий пісок +tile.sand_quartz.name=Кварцовий пісок +tile.sand_uranium.name=Урановий пісок +tile.sandbags.name=Мішки з піском +tile.sat_dock.name=Вантажний посадковий майданчик +tile.sat_foeq.name=PEAF - Mk.I FOEQ Duna Probe з експериментальним ядерним двигуном (Декоративний блок) +tile.sat_laser.name=Орбітальний промінь смерті (Декоративний блок) +tile.sat_mapper.name=Супутник картографування поверхні (Декоративний блок) +tile.sat_radar.name=Супутник радіолокаційного дослідження (Декоративний блок) +tile.sat_resonator.name=Супутник ксенієвий резонатор (Декоративний блок) +tile.sat_scanner.name=Супутник з модулем глибинного сканування ресурсів (Декоративний блок) +tile.schrabidic_block.name=Шрабідієва кислота +tile.seal_controller.name=Відкривач люка пускової шахти +tile.seal_frame.name=Рама люка пускової шахти +tile.seal_hatch.name=Люк пускової шахти +tile.sellafield.0.name=Селлафіт +tile.sellafield.1.name=Гарячий селлафіт +tile.sellafield.2.name=Киплячий селлафіт +tile.sellafield.3.name=Палаючий селлафіт +tile.sellafield.4.name=Пекельний селлафіт +tile.sellafield.5.name=Селлафіт-коріум +tile.sellafield_bedrock.name=Корінний селлафіт +tile.sellafield_slaked.name=Погашений селлафіт +tile.semtex.name=Семтекс +tile.silo_hatch.name=Люк пускової шахти +tile.silo_hatch_large.name=Великий люк пускової шахти +tile.skeleton_holder.name=О, це мертвий хлопець +tile.sliding_blast_door.name=Розсувні захисні двері +tile.solar_mirror.name=Дзеркало геліостату +tile.soyuz_capsule.name=Вантажна посадкова капсула +tile.soyuz_launcher.name=Стартова площадка "Союза" +tile.spikes.name=Шипи +tile.snowglobe.name=Снігова куля +tile.spotlight_incandescent.name=Лампа в клітці +tile.spotlight_fluoro.name=Флуоресцентна лампа +tile.spotlight_halogen.name=Галогенний прожектор +tile.stalactite.asbestos.name=Азбестовий сталактит +tile.stalactite.sulfur.name=Сірчаний сталактит +tile.stalagmite.asbestos.name=Азбестовий сталагміт +tile.stalagmite.sulfur.name=Сірчаний сталагміт +tile.steel_beam.name=Сталева балка +tile.steel_corner.name=Сталевий стіновий кут +tile.steel_grate.name=Сталева решітка +tile.steel_grate_wide.name=Предметна решітка +tile.steel_grate_wide.desc=Дозволяє випасти предметам та досвіду +tile.steel_poles.name=Сталевий стовп +tile.steel_roof.name=Плоский сталевий дах +tile.steel_scaffold.name=Сталеві риштування +tile.steel_wall.name=Сталева стіна +tile.stone_cracked.name=Тріснутий камінь +tile.stone_depth.name=Глибинний камінь +tile.stone_depth_nether.name=Пекельний глибинний камінь +tile.stone_gneiss.name=Графітовий сланець +tile.stone_keyhole.name=Дивний камінь +tile.stone_keyhole_meta.name=Дивна цегла червоної кімнати +tile.stone_porous.name=Пористий камінь +tile.stone_resource.asbestos.name=Хризотил +tile.stone_resource.bauxite.name=Боксит +tile.stone_resource.hematite.name=Гематит +tile.stone_resource.limestone.name=Вапняк +tile.stone_resource.malachite.name=Малахіт +tile.stone_resource.sulfur.name=Сірчаний камінь +tile.stones_slab.lightstone.1.name=Плита зі світлокам'яної плитки +tile.stones_slab.lightstone.2.name=Плита зі світлокам'яної цегли +tile.struct_icf_core.name=Основний компонент термоядерного реактора з інерційним утриманням плазми +tile.struct_iter_core.name=Основний компонент термоядерного реактора +tile.struct_launcher.name=Компонентний блок стартового майданчика +tile.struct_launcher_core.name=Основний компонент компактного стартового майданчика +tile.struct_launcher_core_large.name=Основний компонент великого стартового майданчика +tile.struct_plasma_core.name=Основний компонент нагрівача плазми +tile.struct_scaffold.name=Блок риштування стартового майданчика +tile.struct_soyuz_core.name=Основний компонент стартової площадки "Союза" +tile.struct_watz_core.name=Основний компонент Ватцз електростанції +tile.substation.name=Підстанція +tile.sulfuric_acid_block.name=Сірчана кислота +tile.taint.name=Порча +tile.taint_barrel.name=Бочка з залишками IMP +tile.tape_recorder.name=Магнітофон +tile.tektite.name=Тектит +tile.teleanchor.name=Якір телепортації +tile.tesla.name=Котушка Тесли +tile.test_nuke.name=Test Nuke +tile.therm_endo.name=Ендотермічна бомба +tile.therm_exo.name=Екзотермічна бомба +tile.tile_lab.name=Лабораторна плитка +tile.tile_lab_broken.name=Розбита лабораторна плитка +tile.tile_lab_cracked.name=Тріснута лабораторна плитка +tile.tnt_ntm.name=Справжній TNT +tile.toxic_block.name=Стереотипний зелений слиз +tile.transition_seal.name=Транзитний люк +tile.turret_arty.name=Артилерійська турель "Грег" +tile.turret_cheapo.name=Cheapo Gatling Sentry +tile.turret_chekhov.name=Великокаліберна кулеметна турель "Косторіз" +tile.turret_cwis.name=Phalanx Mk-15 CIWS +tile.turret_flamer.name=Flamethrower Turret +tile.turret_friendly.name=Автоматична турель "Містер Дружній" +tile.turret_fritz.name=Важка вогнеметна турель "Фріц" +tile.turret_heavy.name=Heavy Machine Gun Turret +tile.turret_himars.name=Реактивна артилерійська турель "Генрі" +tile.turret_howard.name=Здвоєний автоматичний ЗАК Голкіпер "Говард" +tile.turret_howard_damaged.name=Здвоєний автоматичний ЗАК Голкіпер "Мафусаїл" +tile.turret_jeremy.name=Автоматична гармата "Джеремі" +tile.turret_light.name=Light Machine Gun Turret +tile.turret_maxwell.name=Високоенергетична МАЗЕР турель "Максвелл" +tile.turret_rocket.name=Rocket Turret +tile.turret_richard.name=РСЗВ турель "Річард" +tile.turret_spitfire.name=Turret I have no name for right now [WIP] +tile.turret_sentry.name=Вартова турель "Браун" +tile.turret_sentry_damaged.name=Вартова турель "Едвін" +tile.turret_tau.name=Tauon Turret +tile.turret_tauon.name=Прототипна турель XVL1456 "Тауон" +tile.vacuum.name=Вакуум +tile.vault_door.name=Двері сховища Волт-Тек +tile.vent_chlorine.name=Випускач хлору +tile.vent_chlorine_seal.name=Хлорний ущильнювач +tile.vent_cloud.name=Випускач хмари +tile.vent_pink_cloud.name=Випускач рожевої хмари +tile.vine_phosphor.large.name=Phosphor Vines +tile.vinyl_tile.large.name=Велика вінілова плитка +tile.vinyl_tile.small.name=Маленькі вінілові плитки +tile.vitrified_barrel.name=Бочка засклованих ядерних відходів +tile.volcanic_lava_block.name=Вулканічна лава +tile.volcano_core.name=Вулканічне ядро +tile.volcano_rad_core.name=Радіоактивне вулканічне ядро +tile.wand_air.name=Structure Wand Block (Air) +tile.wand_loot.name=Structure Wand Block (Lootable) +tile.wand_jigsaw.name=Structure Wand Block (Jigsaw) +tile.waste_earth.name=Мертва трава +tile.waste_leaves.name=Мертве листя +tile.waste_log.name=Обвуглене дерево +tile.waste_mycelium.name=Сяючий міцелій +tile.waste_planks.name=Обвуглені дерев'яні дошки +tile.waste_trinitite.name=Тринітитова руда +tile.waste_trinitite_red.name=Червона тринітитова руда +tile.watz.name=Ватцз електростанція +tile.watz_conductor.name=Watz Electricity Port +tile.watz_control.name=Reinforced Control Rods +tile.watz_cooler.name=Суперохолоджувач Ватцз реактора +tile.watz_core.name=Watz Reactor Control +tile.watz_element.name=Реакційна камера Ватцз +tile.watz_end.name=Стабілізаційний елемент Ватцз реактора +tile.watz_end_bolted.name=Стабілізаційний елемент Ватцз реактора (Заклепаний) +tile.watz_hatch.name=Watz Reactor Access Hatch +tile.watz_pump.name=Нагнітаючий насос Ватцз +tile.wood_barrier.name=Дерев'яний бар'єр +tile.wood_structure.ceiling.name=Дерев'яна стеля +tile.wood_structure.roof.name=Дерев'яний дах +tile.wood_structure.scaffold.name=Дерев'яні риштування +tile.yellow_barrel.name=Радіоактивна бочка +tile.zirnox_destroyed.name=Знищений ЦИРНОКС + +tile.large_vehicle_door.name=Великі двері для транспортного засобу +tile.water_door.name=Герметичні двері +tile.qe_containment.name=QE Стримуючі двері +tile.qe_sliding_door.name=QE Розсувні двері +tile.round_airlock_door.name=Круглі двері гідрошлюзу +tile.secure_access_door.name=Двері доступу персоналу +tile.sliding_seal_door.name=Розсувні герметичні двері + +trait.asbestos=Азбест +trait.blinding=Засліплення +trait.coal=Вугільний пил +trait.digamma=Дігамма-випромінення +trait.drop=Небезпечно викидувати +trait.explosive=Вогненебезпечно / Вибухонебезпечно +trait.furnace=Дає %s операцій в ядерній пічі +trait.heat=Забезпечує %s тепла +trait.hlParticle=Період напіврозпаду частинки: %s +trait.hlPlayer=Період напіврозпаду гравця: %s +trait.hot=Пірофорний / Гарячий +trait.hydro=Гідрореактивний +trait.radioactive=Радіоактивний +trait.radResistance=Стійкість до випромінінення: %s + +trait.rbmk.coreTemp=Температура стрижня: %s +trait.rbmk.depletion=Збіднення: %s +trait.rbmk.diffusion=Розсіювання: %s +trait.rbmk.fluxFunc=Функція потоку: %s +trait.rbmk.funcType=Тип функції: %s +trait.rbmk.heat=Тепло на потік: %s +trait.rbmk.melt=Температура плавлення: %s +trait.rbmk.neutron.any=Всі нейтрони +trait.rbmk.neutron.fast=Швидкі нейтрони +trait.rbmk.neutron.slow=Повільні нейтрони +trait.rbmk.skinTemp=Температура оболонки: %s +trait.rbmk.source=Самозаймається +trait.rbmk.splitsInto=Розпадається на: %s +trait.rbmk.splitsWith=Розпадається від: %s +trait.rbmk.xenon=Ксенонове отруєння: %s +trait.rbmk.xenonBurn=Функція вигорання ксенону: %s +trait.rbmk.xenonGen=Функція накопичення ксенону: %s + +trait.rbmx.coreTemp=Ентропія стрижня: %s +trait.rbmx.depletion=Хрусткість: %s +trait.rbmx.diffusion=Потік: %s +trait.rbmx.fluxFunc=Функція приреченості: %s +trait.rbmx.funcType=Специфікація функції: %s +trait.rbmx.heat=Скоринка на тік на повну потужність: %s +trait.rbmx.melt=Глибина розчавлення: %s +trait.rbmk.neutron.any.x=Усі неевклідові форми +trait.rbmk.neutron.fast.x=Еліптичні неевклідні форми +trait.rbmk.neutron.slow.x=Гіперболічні неевклідні форми +trait.rbmx.skinTemp=Ентропія оболонки: %s +trait.rbmx.source=Самоспалюється +trait.rbmx.splitsInto=Відправляється до: %s +trait.rbmx.splitsWith=Прибуває з: %s +trait.rbmx.xenon=Свинцеве отруєння: %s +trait.rbmx.xenonBurn=Функція руйнування свинцю: %s +trait.rbmx.xenonGen=Функція створення свинцю: %s + +trait.tile.cluster=Випадає лише тоді, коли зламав гравець +trait.tile.depth=Можна зламати тільки вибухом + +tool.ability.centrifuge=Автоцентрифуга +tool.ability.crystallizer=Автокристалізатор +tool.ability.explosion=Вибух +tool.ability.hammer=Зона дії +tool.ability.hammer_flat=Плоска зона дії +tool.ability.luck=Вдача +tool.ability.mercury=Ртутний дотик +tool.ability.midas=Дотик Мідаса +tool.ability.recursion=Жилковий майнер +tool.ability.shredder=Автоподрібнювач +tool.ability.silktouch=Шовковий дотик +tool.ability.smelter=Автопереплавка + +turret.animals=Цілитись по нейтральним: %s +turret.arty.artillery=§eАртилерійський режим$Мін радіус: 250m$Макс радіус: 3,000m +turret.arty.cannon=§eГарматний режим$Мін радіу: 32m$Макс радіус: 250m +turret.arty.manual=§eРучний режим$Range: 3,000m +turret.machines=Цілитись по машинам: %s +turret.mobs=Цілитись по мобам: %s +turret.none=None +turret.off=ВИМК +turret.on=ВВІМК +turret.players=Цілитись по гравцям: %s + +upgrade.acid=Необхідна кислота %s +upgrade.burn=Burn %smb/t for %sHE +upgrade.consumption=Споживання %s +upgrade.coolantConsumption=Витрата охолоджувальної рідини %s +upgrade.delay=Час роботи %s +upgrade.efficiency=Ефективність %s +upgrade.fortune=Вдача %s +upgrade.overheatChance=Ймовірність перегріву %s +upgrade.productivity=Продуктивність %s +upgrade.range=Радіус %s +upgrade.speed=Швидкість роботи %s + +upgrade.gui.title=§lДопустимі покращення:§r +upgrade.gui.afterburner= * §dФорсаж§r: Складається до %s рівнів +upgrade.gui.effectiveness= * §aЕфективність§r: Складається до %s рівнів +upgrade.gui.overdrive= * §7Перевантаження§r: Складається до %s рівнів +upgrade.gui.power= * §9Енергозбереження§r: Складається до %s рівнів +upgrade.gui.speed= * §4Швидкість§r: Складається до %s рівнів + +wavelengths.name.ir=Інфрачервоний +wavelengths.name.visible=Видиме світло +wavelengths.name.uv=Ультрафіолет +wavelengths.name.gamma=Гамма +wavelengths.name.drx=Дігамма +wavelengths.waveRange.ir=780нм-1мм +wavelengths.waveRange.visible=400нм-780нм +wavelengths.waveRange.uv=100нм-400нм +wavelengths.waveRange.gamma=<100пм +wavelengths.waveRange.drx=1916169 планківської довжини + +weapon.ability.beheader=Обезголовлювач +weapon.ability.bobble=Вдача колекціонера +# Should rhyme with the translation for "chainsaw" +weapon.ability.chainsaw=Болепила +weapon.ability.fire=Горіння +weapon.ability.radiation=Радіоактивне лезо +weapon.ability.phosphorus=Фосфорний дотик +weapon.ability.stun=Приголомшення +weapon.ability.vampire=Вампір +weapon.elecGun.modeChange=Режим стрільби змінено на: +weapon.elecGun.glass_cannon.radio=Радіохвилі +weapon.elecGun.glass_cannon.micro=Мікрохвилі +weapon.elecGun.glass_cannon.ir=Інфрачервоне світло +weapon.elecGun.glass_cannon.visible=Видиме світло +weapon.elecGun.glass_cannon.uv=Ультрафіолет +weapon.elecGun.glass_cannon.xray=Ренген +weapon.elecGun.glass_cannon.gamma=Гамма промінь + +desc.gui.upgrade=§lДопустимі покращення:§r +desc.gui.upgrade.afterburner= * §dФорсаж§r: Складається до 3 рівнів +desc.gui.upgrade.effectiveness= * §aЕфективність§r: Складається до 3 рівнів +desc.gui.upgrade.overdrive= * §7Перевантаження§r: Складається до 3 рівнів +desc.gui.upgrade.power= * §1Енергозбереження§r: Складається до 3 рівнів +desc.gui.upgrade.speed= * §4Швидкість§r: Складається до 3 рівнів \ No newline at end of file diff --git a/src/main/resources/assets/hbm/lang/zh_CN.lang b/src/main/resources/assets/hbm/lang/zh_CN.lang index 055b7077e..2fa299904 100644 --- a/src/main/resources/assets/hbm/lang/zh_CN.lang +++ b/src/main/resources/assets/hbm/lang/zh_CN.lang @@ -1,6053 +1,6099 @@ -achievement.acidizer.desc=噢,我的皮肤 -achievement.acidizer=酸 -achievement.assembly.desc=等等,已经凌晨1点了? -achievement.assembly=这家工厂正在成长 -achievement.FOEQ.desc=向火星传送信号!...其实我是说Duna -achievement.FOEQ=飞马座运载火箭和发射架 -achievement.breeding.desc=谢谢你们,上帝保佑你们,上帝保佑美利坚合众国。 -achievement.breeding=反话 -achievement.bismuth.desc=还记得那时候有人为这个抱怨了一个月吗?我还记得。 -achievement.bismuth=铋 -achievement.blastFurnace.desc=他们为制造探险者1号去打捞了一艘沉没的无畏舰。 -achievement.blastFurnace=煤和铁 -achievement.bossCreeper.desc=核爆爬行者? 那是个什么玩意?! -achievement.bossCreeper=四条腿的行走核弹 -achievement.bossMaskman.desc=大男孩邦克 -achievement.bossMaskman=6个月的强制服务,我只得到一件糟糕的T恤 -achievement.bossMeltdown.desc=比伟大更可怕,但我会竭尽所能 -achievement.bossMeltdown=3.6伦琴 -achievement.bossWorm.desc=“绝学法杖”。什么鬼啊。你自己看看吧。 -achievement.bossWorm=拆掉机械蠕虫 -achievement.bossUFO.desc=哟,那是啥东西?一艘正接近我们工事的巨大飞船? -achievement.bossUFO=呀哈哈哈,笑死我了 -achievement.burnerPress.desc=压力压在你我身上 -achievement.burnerPress=压力之下 -achievement.c20_5.desc=??? -achievement.c20_5=第[二十点五]章 -achievement.c44.desc=镀锌!我是说,锌! -achievement.c44=第四十四章 -achievement.centrifuge.desc=离心力是真的 别@我 -achievement.centrifuge=向心力 -achievement.chemplant.desc=现在你在考虑化学物质! -achievement.chemplant=这家工厂正在成长 Pt.2 -achievement.chicagoPile.desc=“当地人怎么样?” / “非常友好。” -achievement.chicagoPile=领航员在新大陆着陆 -achievement.concrete.desc=布尔什维克的最爱。 -achievement.concrete=老当益壮 -achievement.desh.desc=“来吧,你们这群人。有地方可去!” -achievement.desh=勒威耶 -achievement.digammaFeel.desc=我的眼睛在流血 -achievement.digammaFeel=废水侵袭的废土世界 -achievement.digammaKauaiMoho.desc=一切都糟透了,这里有些热巧克力 -achievement.digammaKauaiMoho=唱吧,为我唱出奥亚吸蜜鸟的歌声吧 -achievement.digammaKnow.desc=关于这个世界 -achievement.digammaKnow=知晓的恐惧 -achievement.digammaSee.desc=里面有点黑,带个手电筒。 -achievement.digammaSee=踏入深渊 -achievement.digammaUpOnTop.desc=仰慕我的儿子,他是我的克隆人. -achievement.digammaUpOnTop=仰慕我,仰慕我的家 -achievement.fiend.desc=卑鄙 -achievement.fiend2.desc=更卑鄙 -achievement.fiend2=残忍2:更残忍 -achievement.fiend=残忍 -achievement.freytag.desc=英勇的救生员 -achievement.freytag=弗赖塔格 -achievement.fusion.desc=氘核、氚核与能量的舞蹈。 -achievement.fusion=聚合 -achievement.gasCent.desc=未浓缩铀讨厌他! -achievement.gasCent=齐佩式离心 -achievement.goFish.desc=航海十字架 -achievement.goFish=去钓鱼 -achievement.hidden.desc=使用一节坠落的车厢杀死一只污染苦力怕 -achievement.hidden=隐藏目录 -achievement.horizonsBonus.desc=说实话,你到底怎么了 -achievement.horizonsBonus=地平线! -achievement.horizonsEnd.desc=送他回家 -achievement.horizonsEnd=地平线。 -achievement.horizonsStart.desc=将一个小伙子送上月球 -achievement.horizonsStart=地平线? -achievement.impossible.desc=你不可能取得该成就 -achievement.impossible=字面上的不可能 -achievement.inferno.desc=“把它变成灰烬!这还不够!投更多的炸弹!” -achievement.inferno=食人行动 -achievement.manhattan.desc=1945年8月6日 8:15 -achievement.manhattan=曼哈顿计划 -achievement.meltdown.desc=你走了这么远,怎么能把事情搞砸? -achievement.meltdown=快速非计划拆卸 -achievement.no9.desc=“我希望我开采的铅能被用在你的油漆里” -achievement.no9=旧数字9 -achievement.omega12.desc=解决在这个可怜的星球上继续生存的问题 -achievement.omega12=欧米伽-12粒子加速器 -achievement.polymer.desc=美味、美味的微塑料。 -achievement.polymer=特氟隆 -achievement.potato.desc=你居然捅我!你怎—喔哦哦哦哦哦! -achievement.potato=流氓AI -achievement.radDeath.desc=居里夫人开创了放射性理论、放射性治疗和放射性死亡。 -achievement.radDeath=噢, 辐射! -achievement.radium.desc=你 因 为 往 我 的 咖 啡 里 倒 镭 而 被 解 雇 了 ! -achievement.radium=不可思议先生 -achievement.radPoison.desc=受辐射中毒的影响 -achievement.radPoison=呀, 辐射! -achievement.RBMKBoom.desc=谎言的代价是什么? -achievement.RBMKBoom=是15000伦琴辐射 -achievement.RBMK.desc=他有妄想症,带他去医务室。 -achievement.RBMK=3.6伦琴? -achievement.redBalloons.desc=“这就是我们一直在等待的。就是这样,孩子们,这就是战争。” -achievement.redBalloons=99个红气球 -achievement.redRoom.desc=? -achievement.redRoom=另一边 -achievement.sacrifice.desc=直面火海并存活 -achievement.sacrifice=牺牲 -achievement.schrab.desc=不管怎样,我不会看太久。 -achievement.schrab=稳定岛 -achievement.selenium.desc=耶! -achievement.selenium=XVIII 月亮女神 -achievement.SILEX.desc=我保证这比听起来更酷。 -achievement.SILEX=激光激发法分离同位素 -achievement.slimeball.desc=粘液球 -achievement.slimeball=我应该把蛋蛋浸在硫酸里。 -achievement.stratum.desc=快刹车,Mitts! -achievement.stratum=岩层 -achievement.someWounds.desc=准备好 -achievement.someWounds=有些伤口永远无法愈合 -achievement.soyuz.desc=变得松脆 -achievement.soyuz=土豆烹饪 -achievement.space.desc=屡试屡败,浪费了价值9000万美元的资金 -achievement.space=最后的边疆——呃,算了吧 -achievement.sulfuric.desc=硫酸 -achievement.sulfuric=我不应该把蛋蛋浸在硫酸里的。 -achievement.tantalum.desc=一个难以捉摸但却永远需要的元素。 -achievement.tantalum=钽 -achievement.tasteofblood.desc=这不是任何测试的一部分 -achievement.tasteofblood=血的味道 -achievement.technetium.desc=它是药用的,它是药用的! -achievement.technetium=大个子,猪人 -achievement.watzBoom.desc=下次记得把毒泥浆容器清空 -achievement.watzBoom=令人厌恶 -achievement.watz.desc=可能包括Fólkvangr弗尔克范格场 -achievement.watz=126号元素的力量 -achievement.witchtaunter.desc=那些古怪的生物对你毫无兴趣! -achievement.witchtaunter=巫婆陶恩特 -achievement.ZIRNOXBoom.desc=生气了吗? -achievement.ZIRNOXBoom=CIRNOX - -analyze.basic1=========NTM组件======== -analyze.basic2=更多信息请参阅Wiki。 -analyze.basic3=========附加信息======== -analyze.dummy=类型:Dummy Block -analyze.error=此方块的兼容性未正确设定。请将此问题作为Bug反馈! -analyze.name=名称:%s -analyze.noInfo=无附加信息。 - -armor.blastProtection=修正 %s 的爆炸伤害 -armor.cap=伤害上限 %s -armor.damageModifier=修正 %s 对 %s 的伤害 -armor.dash=给予 %s 次冲刺 -armor.electricJetpack=离子喷射背包 -armor.explosionImmune=免疫除爆炸伤害外的一切伤害 -armor.fasterReload=快速装填 -armor.fastFall=快速降落 -armor.fireproof=防火 -armor.fullSetBonus=全套效果: -armor.geigerHUD=盖革计数器HUD -armor.geigerSound=盖革计数器警报 -armor.glider=滑翔 -armor.gravity=重力修正 %s -armor.hardLanding=硬着陆 -armor.ignoreLimit=防御值不受防御上限的影响 -armor.modifier=伤害修正 %s -armor.moreAmmo=更多弹药 -armor.nullDamage=免疫 %s 伤害 -armor.projectileProtection=免疫 %s 的弹射物伤害 -armor.rocketBoots=火箭靴 -armor.sprintBoost=冲刺辅助加速 -armor.stepSize=步长:%s -armor.thermal=热成像 -armor.threshold=伤害阈值 %s -armor.vats=敌对生物HUD -armor.yield=抵御低于%s的伤害 - -armorMod.all=所有 -armorMod.applicableTo=适用于: -armorMod.boots=靴子 -armorMod.chestplates=胸甲 -armorMod.helmets=头盔 -armorMod.insertHere=插入装甲以改装。。。 -armorMod.leggings=护腿 -armorMod.type.boots=靴子 -armorMod.type.chestplate=胸甲 -armorMod.type.cladding=覆层 -armorMod.type.helmet=头盔 -armorMod.type.insert=插板 -armorMod.type.leggings=护腿 -armorMod.type.servo=伺服电机 -armorMod.type.special=特殊 - -battery.mode.buffer=输入/输出模式 -battery.mode.input=输入模式 -battery.mode.off=关闭 -battery.mode.output=输出模式 -battery.priority.high=充电优先级:高 -battery.priority.high.desc=总是需要优先装满的紧急缓冲区 -battery.priority.low=充电优先级:低 -battery.priority.low.desc=在大多数情况下,需要在不影响机器性能的情况下$存储剩余的能量 -battery.priority.normal=充电优先级:正常 -battery.priority.normal.desc=较小的电网,其优先级无关紧要 -battery.priority.recommended=推荐用于: -battery.redstone.off=红石 关 -battery.redstone.on=红石 开 - -bomb.detonated=成功引爆! -bomb.incompatible=设备无法触发! -bomb.launched=发射成功! -bomb.missingComponent=组件丢失! -bomb.nobomb=链接位置不兼容或已断开! -bomb.triggered=触发成功! - -book.test.cover=停车坐爱枫林晚 -book.test.page1=测试页面1 - -book.error.cover=粒子对撞机:$故障排除 -book.error.title1=错误 0x01 [能量不足] -book.error.page1=§l错误类型:§r "错误_能量不足" §l描述:§r 粒子到达了能量不足的部分。 §l修复方式:§r 用更高级的电源接口替换粒子成功通过的 其中一个电源接口,或者在粒子终止的段之前额外添加多一个电源接口。 -book.error.title2=错误 0x02 [无法分析] -book.error.page2=§l错误类型:§r "错误_无法分析" §l描述:§r 尽管没有通过分析室,但粒子已经到达核心。 §l修复方式:§r 确保加速器有一个分析室,并再次检查工作模式(线性/环形)。 -book.error.title3=错误 0x03 [通道阻塞] -book.error.page3=§l错误类型:§r "错误_通道阻塞" §l描述:§r 粒子与对撞机通道内的方块碰撞。 §l修复方式:§r 确保粒子对撞机内部没有任何障碍物, 粒子二极管和核心块除外。 -book.error.title4=错误 0x04 [缺少线圈] -book.error.page4=§l错误类型:§r "错误_缺少线圈" §l描述:§r 粒子通过了缺少一个或多个线圈的段。 §l修复方式:§r 移除冲突区域的对撞机镀层,并检查线圈结构是否完整。 这种错误也会发生在没有二极管的T型交叉口上。 -book.error.title5=错误 0x05 [错误区段] -book.error.page5=§l错误类型:§r "错误_错误区段" §l描述:§r 粒子通过了一个结构不正确的段(但既没有被阻塞也没有缺少线圈)。 §l修复方式:§r 确保有问题的部分都有镀层包裹,没有线圈暴露。 -book.error.title6=错误 0x06 [分析室过长] -book.error.page6=§l错误类型:§r "错误_分析室过长" §l描述:§r 粒子已通过三个以上所需的有效分析室段。 §l修复方式:§r 确保环形加速器的分析室长度正好为3个方块, 直线加速器的分析室长度至少为2个方块。 还要检查粒子是否未通过分支或 环形加速器中的多个分析室。 -book.error.title7=错误 0x07 [分析室过短] -book.error.page7=§l错误类型:§r "错误_分析室过短" §l描述:§r 粒子已离开分析室,尽管不符合长度要求。 §l修复方式:§r 确保环形加速器上的分析室正好有3个方块长。 有效的分析段没有线圈,镀层完全由分析室壁/窗组成。 带有线圈的分析室被视为规则段。 -book.error.title8=错误 0x08 [二极管方向错误] -book.error.page8=§l错误类型:§r "错误_二极管方向错误" §l描述:§r 该粒子与肖特基粒子二极管的非输入侧碰撞。§l修复方式:§r 检查二极管的配置是否正确。 粒子只能从带有绿色向内箭头的侧面进入二极管。 -book.error.title9=错误 0x09 [多处分支] -book.error.page9=§l错误类型:§r "错误_多处分支" §l描述:§r 粒子到达具有多个出口的转弯处。§l修复方式:§r 如果你的对撞机是正常的,检查所有需要的线圈是否都存在(即线圈中没有缺漏)。如果转弯处打算进行分支,则需要正确放置的肖特基粒子二极管。 - -book.rbmk.cover=$我的第一个$RBMK石墨式反应堆:$建造一个$反应堆$的基础知识 -book.rbmk.title1=介绍 -book.rbmk.page1=§lRBMK石墨式反应堆§r是一个完全模块化的核反应堆. 与大多数其他反应堆不同的是, 该反应堆没有"多方块结构核心"和尺寸上的限制, 而反应堆的性能和效率仅取决于你是如何建造它的, 以及各个组件如何相互作用. -book.rbmk.title2=热量 -book.rbmk.page2=当反应堆运行时, 它将会产生 §l热量§r. 热量会在各个组件之间扩散, 并在这个过程中会慢慢减少. 我们的目标是在不让反应堆熔化的情况下 产生尽可能多的热量, 并将热量传递到蒸汽管道中, 从而冷却反应堆并产生蒸汽. -book.rbmk.title3=燃料棒 -book.rbmk.page3=反应堆中的 §l燃料棒§r 将捕获周围的中子, 使棒内的燃料发生核反应, 并在此过程中释放中子. 中子会向四个方向释放, 最大释放范围为5格. 释放中子量的多少取决于所用的核燃料. -book.rbmk.title4=控制棒 -book.rbmk.page4=反应堆中的 §l控制棒§r 将减少中子通过它的数量. 完全插入时, 它会阻挡所有中子; 当插入一半时, 它只会阻挡一半中子. 控制棒用于调节反应堆的活跃状态和使其关闭. -book.rbmk.title5=控制棒 - 使用 -book.rbmk.title5.scale=0.9 -book.rbmk.page5=当前控制棒插入的程度将显示在GUI的中心. 边的彩色按钮将把控制棒添加到不同的颜色组中, 这对于在 §lRBMK石墨式反应堆§r 控制台上快速选择屏幕上不同区域的控制棒非常有用. 右侧的按钮允许您以每次25%的增量手动插入. -book.rbmk.title6=自动控制棒 -book.rbmk.page6=§L自动控制棒§r 与常规控制棒几乎相同, 但它们不能手动调整, 而是根据当前温度来调整控制棒插入的程度. 使用哪种功能, 在多少的温度插入多少的深度必须被事先设定好. -book.rbmk.title7=蒸汽管道 -book.rbmk.page7=反应堆中的 §l蒸汽管道§r 是唯一能有效降低反应堆热水平的组件. 如果一个蒸汽管道组件的沸点高于其设定的蒸汽类型的沸点, 那么它将试图消耗尽可能多的水 并产生尽可能多的蒸汽来冷却到沸点以下. -book.rbmk.title8=碳化钨中子反射器 -book.rbmk.page8=反应堆中的 §l碳化钨中子反射器§r 将阻止中子的通过, 相反,中子将被反射回它们来自的燃料棒上. 这对于使用中子是有用的, 否则这些中子一旦离开反应堆就会被浪费掉. -book.rbmk.title9=硼中子吸收器 -book.rbmk.page9=§l硼中子吸收器§r 只是阻挡中子. 被吸收的中子不会产生热量,会被有效地吸收. 这有助于防止燃料棒发生过度反应从而超出临界值. -book.rbmk.title10=石墨慢化剂 -book.rbmk.page10=§l石墨慢化剂§r 把穿过它的快中子转换成慢中子. 大多数核燃料反应释放出快中子, 而引起裂变需要慢中子, 所以强烈建议使用慢化剂. -book.rbmk.title11=结构柱 -book.rbmk.page11=§l结构柱§r 对中子没有任何影响也没有任何特殊用途. 建议在没有其他合适组件的情况下用结构柱填充反应堆, 因为结构柱能够传热. -book.rbmk.title12=控制台 -book.rbmk.page12=§lRBMK石墨式反应堆控制台§r 允许你远程控制反应堆. 使用 §lRBMK石墨式反应堆连接装置记录反应堆§r 然后潜行右击控制台就能把反应堆和控制台连接起来. 一个控制台只能控制15x15个组件, 对于大型反应堆可以使用多个控制台. -book.rbmk.title13=控制台的使用 -book.rbmk.page13=单击屏幕上的组件将选择或取消选择它们. 使用彩色按钮,可以快速选择该颜色组中的所有控制棒. 按钮“A”将选择所有控制棒, “X”将取消选择所有控制棒. -book.rbmk.page14=在绿色框中输入一个介于0和100之间的数字, 然后按下旁边的按钮, 将所有选定的控制棒拔出程度设置到该位置. 按钮“AZ-5”将使所有控制棒完全插入. -book.rbmk.title15=核燃料 -book.rbmk.page15= §l核燃料§r 的反应取决于许多因素. 主要是 §l核燃料强度§r, §l氙中毒程度§r 和接收到的 §l中子数量§r. 氙元素会在核燃料的中子含量较低时积聚起来, 并在正常运行时燃烧殆尽. 中子的效率取决于其类型, 大多数核燃料 §l用慢中子轰击来裂变效果最好§r. -book.rbmk.title16=熔毁 -book.rbmk.page16=§4§l尽量避免发生, 你不会想让这样一场核灾难发生在你的存档或服务器里的. - -book.starter.cover=重建$社会的实业家$指南 -book.starter.title1=介绍 -book.starter.page1=如果你正在读这篇文章,很可能社会已经因这样或 那样的方式完全崩溃了。政府、国家和权威是过去的概念, 以及文明生活的所有便利设施。因此,本指南将 告诉您如何通过重新创造过去的行业和技术 来改善自己的生活,从而改变这种状况。 -book.starter.title2=煤和芥子气 -book.starter.page2=虽然无法预测世界末日后的实际状态, 但目前形式的战争和工业不太可能没有结束。 为了保护自己的肺部,一种有效且廉价的方法是 在§L布§r上小便,制作一个§L防毒面具§r, 以使你免受煤尘或芥子气的伤害. -book.starter.title3=铁砧和锻压机 -book.starter.page3=开始工业振兴的精髓是§l砧§r和§l火力锻压机§r. 铁砧将允许您手动组合早期机械,如组装机, 而火力锻压机将允许您制作 无法用铁砧制作的板材、电线和电路. -book.starter.title4=模板 -book.starter.page4=为了将金属冲压成有用的 形状、组装机械和执行 化学反应,您需要创建 一个§L机器模板文件夹§r, 以创建右侧显示的 各种锻模以及配方。 -book.starter.title5=废墟探索 -book.starter.page5=根据最初的世界末日事件对世界现有结构的影响程度, 有可能直接从中抢救出许多有用的材料和机器。 钢铁等金属合金、电路等部件,甚至核电站的 裂变材料都可能在等着你。 然而,要小心某些废墟,因为那里可能潜伏着过度的危险, 就像草丛中的蛇一样; 等待着用辐射、陷阱或无法形容的恐怖袭击你... -book.starter.title6=早期机械 -book.starter.page6a=您应首先制造的两台机器是§l高炉§r和§l装配机§r. 前者允许您制造合金,如§L钢§r、§l工业级铜§r和§l高级合金§r; 你需要将这些金属用于机器的机身、 电路的布线、高级电磁铁等. -book.starter.page6b=装配机将用于制造本指南中描述的几乎所有其他机器. 您需要一个电源,如§L火力§r§L发电机§r或§L太阳能锅炉§r. -book.starter.page7a=§l粉碎机§r以及一对粉碎机刀片将会非常有用, 能将大多数矿石粉碎成可熔炼的粉末,使其产量提高一倍. 这些粉末对于开始为各种机器制作电路也至关重要, 例如§l增强电路§r和§l超频电路§r。 -book.starter.page7b=使用您的新机器,您可以制造§L化工厂§r, 用于合成更好的电路、混凝土或进行石化产品加工等。 -book.starter.title8=黑金 -book.starter.page8a=使用§l石油§l储层§r§l探测仪§r, 您可以通过测量一个区域 来发现地下的油岩以 放置§l石油钻机§r或 §l钻油塔§r来开采 记住,石油储备会随着时间 的推移而耗尽 -book.starter.page8b=在§l炼油厂§r中提炼和分离石油 成分之前,你必须在§l锅炉§r中将 石油加热至300°C. -book.starter.title9=石油化工产品 -book.starter.page9=使用§l化工厂§r, §l分馏§r§l塔§r和§l催化裂化§r§l塔§r, 你可以将分离出的油转化为各种有用的产品. §l催化裂化§r§l塔§r, 可以将分离出的油转化为各种有用的产品。 例如:§l聚合物§r或§l电木§r, 耐用又柔性的塑料; §lDesh§r, 一种非常耐用和耐热的稀土金属合金; §l固体燃料§r, 可燃烧获取能量; 甚至是§l液体燃料§r, 比如§l汽油§r, §l柴油§r, §l煤油§r等等。 -book.starter.title10=先进的机械 -book.starter.page10=通过一套成熟的石油加工系统,您可以制造§l离心机§r, 这将使矿石的产量增加三倍; §l矿物§l结晶机§r将 矿石结晶后,产量将进一步提高; 以及§lSILEX同位素激光分离室+§lFEL§r, 这两个现代工程的奇迹可以轻松地分离材料的同位素. 你需要更多的能量来驱动这些; 可通过§l柴油发电机§r,§l工业发电机§r, 甚至核反应堆等来源获取更多的能量。 -book.starter.title11=特殊地层 -book.starter.page11=在你行走的地面之下,有几个 自然形成的§l岩层§r,或者说特殊的 矿层和岩层。 §l片岩地层§r是蓝色的含锂层, 其中有铀、铁、铜、石棉和其他矿石 可供你使用。 §l深层岩石§r含有大量稀有矿物, 如§l锆§r、§l硼§r和§l朱砂§r等, 但你需要炸药才能采集 -book.starter.title12=辐射 -book.starter.page12a=本书其余部分将讨论与辐射有关的问题。 为了您和他人的安全,我将提供一些建议以说明如何缓解和处理暴露于此的风险。 -book.starter.page12b=充分暴露在辐射中会导致身体伤害. 第一步是预防; 一定要限制接触,并穿戴防护装备,如§l防辐射套装§r, 或在衣服或盔甲上加装§l防辐射覆层/涂料§r; 你也可以服用§lRad-X防辐射药§r来限制你的辐射量. 多亏了现代医学,第二步可以在必要时移除; 例如,§l玩家§l去污器§r将缓慢减少身体吸收的辐射. §l消辐宁§r还可以用作暴露后预防,快速有效地逆转 电离辐射对身体造成的损害。 -book.starter.title13=铀浓缩 -book.starter.page13=核反应堆的燃料有几个简单的选择; 例如,§l天然铀§r或§l钍燃料§r。 然而, 如果你寻找更强力的东西,你可以设置两台§l气体离心机§r 的浓缩级联,用剩余的§l铀-238§r生产§l铀燃料§r. 你必须将天然铀转化为§l黄饼§r,然后是§l六氟化§l铀§r. -book.starter.title14=芝加哥反应堆 -book.starter.page14=或者,您可以使用§l芝加哥反应堆§r从天然铀中增殖出 §l反应堆级钚§r,这是一种更强大的燃料. 通过堆叠石墨块并在其中钻孔,您可以将燃料棒插入钚 和中子源棒,例如§l镭226-铍中子源§r,以开始反应. 确保测试你的设计;为防止过热, 可能需要隔开或限制石墨块的数量。 -book.starter.title15=ZIRNOX锆诺克斯 -book.starter.page15=最终,你可以制造你的第一个§o真正§r的能源来源: §lZIRNOX§r核反应堆. 与其他能量源相比,核反应堆需要更多的准备; 首先,你需要有一个强悍的水源,比如§l重型§l无限水罐§r. 要从反应堆堆芯中排出热量并将水煮沸成蒸汽, 你需要足够的§l二氧化碳§r. 你只需要足够的压力, 不要让压力§o太§r大! 你还需要三个蒸汽涡轮机来利用产生的蒸汽来制造能量; §l蒸汽§l轮机§r或§l大型工业§l汽轮机§r将是最佳的. 最后,需要一个§l冷凝器§r或§l冷却塔§r来将残余蒸汽冷凝成水, 在这个冷却回路中可以将其排空或回收。 -book.starter.title16=结论 -book.starter.page16=如果你已经走到了这一步,你已经走在重建文明大道上了. 你已经成功地用核能, 石油化工等重新制造了世界末日前的那些先进机器. 我不知道你将如何利用这些新发现的科技, 但我个人希望你利用这些优势是为了自己和他人的利益 - 或者至少是为了自卫. 再见! -book.starter.title18=关于作者 -book.starter.page18=v?r只是一个被困在"传声头像"的§o《一生一次》§r中的 灰色虚空中太久的人. 有一次, 他发现了一扇工作室的门, 但令他沮丧的是, 他发现那是一个纸板剪出来的 - -#book.rbmk.cover=HOW 2 RBMK:$The Basics$of Reactor$Construction -#book.rbmk.title1=Introduction -#book.rbmk.page1=The §lRBMK§r is a fully modular nuclear reactor. Unlike most other reactors, there is no "core", and no size limitations, rather, the behavior and efficiency of the reactor comes from how it is built and how the different pieces interact with each other. -#book.rbmk.title2=Heat -#book.rbmk.page2=As the reactor operates, it will generate §lheat§r. Heat will spread between parts, slowly decreasing in the process. The goal is to produce as much heat as possible without melting the reactor, and to move that heat to a §lsteam channel§r which cools the reactor and produces steam. -#book.rbmk.title3=Fuel Rod -#book.rbmk.page3=The §lfuel rod§r will capture neutron flux, causing the fuel inside the fuel rod to react, giving off neutrons in the process. Neutrons are released in all four cardinal directions with a maximum range of 5 blocks. The amount of neutrons released depends on the §lfuel§r used. -#book.rbmk.title4=Control Rod -#book.rbmk.page4=The §lcontrol rod§r will decrease the amount of neutrons passing though it. Fully inserted, it will block all neutrons, at half insertion, it will only block half. Control rods are used to regulate the reactor's activity and to turn it off. -#book.rbmk.title5=Control Rod - Usage -#book.rbmk.page5=The center of the GUI will display the current rod insertion. The colored buttons on the left will add a control rod to a color group, which is useful to quickly select grouped rods from the §lRBMK console§r. The buttons on the right allow for manual insertion in increments of 25%%. -#book.rbmk.title6=Automatic Control Rod -#book.rbmk.page6=§lAutomatic control rods§r function nearly identical to regular control rods, but they cannot be configured manually, instead they will adjust the rod position based on the current temperature. What function to use and how deep to insert at what temperature has to be defined first. -#book.rbmk.title7=Steam Channel -#book.rbmk.page7=The §lsteam channel§r is the only part that will actively reduce the reactor's heat level. If the component's temperature exceeds the boiling point of the set steam type, it will try to consume as much water and produce as much steam as needed to cool back below the boiling point. -#book.rbmk.title8=Neutron Reflector -#book.rbmk.page8=The §lneutron reflector§r will block neutrons from passing it, instead the neutrons will be reflected back at the fuel rod they came from. This is useful for utilizing neutrons that would otherwise be wasted by simply exiting the reactor. -#book.rbmk.title9=Neutron Absorber -#book.rbmk.page9=The §lneutron absorber§r will simply block neutrons. Neutrons absorbed will not generate heat and be effectively voided. This is useful to prevent fuel rods from reacting that would otherwise be in range. -#book.rbmk.title10=Graphite Moderator -#book.rbmk.page10=The §lgraphite moderator§r will convert fast neutrons passing through it into slow neutrons. Most fuels fission into fast neutrons while needing slow neutrons to split, so using moderators is strongly recommended. -#book.rbmk.title11=Structural Column -#book.rbmk.page11=The §lstructural column§r will not interfere with neutrons, nor does it have special uses. It is recommended to fill the reactor with structural columns where no other parts will be, because structural columns are capable of transporting heat. -#book.rbmk.title12=Console -#book.rbmk.page12=The §lRBMK console§r lets you control the reactor from afar. Using the §lRBMK§r §lconsole linking device§r on an RBMK part and then the console will link the reactor to the console. The console can only manage 15x15 parts, for larger reactors you might want to use multiple consoles. -#book.rbmk.title13=Console Usage -#book.rbmk.page13=Clicking on the parts will select and deselect them. Using the colored buttons, you can quickly select all control rods of that color group. Button 'A' will select all control rods, 'X' will deselect all. -#book.rbmk.page14=Entering a number 0-100 in the green box and then hitting the button next to it will set all selected control rods to this position. Button 'AZ-5' will cause all control rods to fully insert. -#book.rbmk.title15=Fuel -#book.rbmk.page15=The §lfuel§r's reactivity is based on multiple factors. The main ones are the §lenrichment§r, §lxenon poison§r and the amount of incoming §lneutrons§r. Xenon builds up when the fuel receives few neutrons and burns away during normal operation. The effectivity of neutrons depends on the type, most fuels §lsplit best with slow neutrons§r. -#book.rbmk.title16=Meltdown -#book.rbmk.page16=§4§lAvoid. - -book_lore.author=%s 著 -book_lore.test.name=测试 -book_lore.test.author=那个家伙 -book_lore.test.page.0=>哈喽 在我开始之前 我得先澄清一下 我不是同性恋 >做我 >今天晚上 >六点 >趁爸妈出去几天 我和铁哥们去外面玩 >我们成了铁哥们已经有一年了 >喝了点酒 打了很多游戏 还点了个披萨 >我们玩得正高兴 >晚上 在一个什么时候 大概九点吧 他讲了个很好笑的笑话 我记不清了 但是我记着 那笑话让我俩笑疯了 >没来得及细想 我拿手捋了捋他的头发 黑色的微卷的头发 还说他真有意思 >他脸红了 >我意识到自己慌了 >我们有点太亲密了 >突然他亲了我 不知道为什么 我亲回去了 >我们做爱了 >抱在一起睡着了 >半夜我醒了 发现他脑袋贴着我的胸和脖子 >这种感觉很奇妙 但我真的不是同性恋 -book_lore.test.page.1=我打这些字的时候他正在我 怀里睡觉。我怎么就这样让 我哥们失望了?我不想变成 [数据删除] /b/ -book_lore.test.page.2=3 -book_lore.test.page.3=4 -book_lore.test.page.4=5 - -book_lore.book_iodine.name=笔记 -book_lore.book_iodine.author=戴夫 -book_lore.book_iodine.page.0=说起来你肯定不信:“风向 标”那老家伙在离开两个月 之后又重新出现了。而且更 惊人的是,他打算把那伙人 在峡谷里干的秘密勾当泄露 出去。 -book_lore.book_iodine.page.1=搞研发的那群白痴们偶然发 现了一种化合物:大部分是 无机的,很像自然界中的 毒素。但是注意:被这种毒素 杀死的细胞会产生更多的同 种毒素,并将其释放到皮肤 外面,这就产生了传染性极 强的气溶胶。 -book_lore.book_iodine.page.2=这东西像病毒但又不是病毒。 这种物质非常奇怪,你在家 随便找一个瓶子就能混合 出来,但是必须要搞对顺序。 博士告诉我,第一种原料是 粉末状碘晶体,放在 第%d格。 - -book_lore.book_phosphorous.name=笔记 -book_lore.book_phosphorous.author=戴夫 -book_lore.book_phosphorous.page.0=哈喽,又是我。你应该看到 我的上一篇备忘录了吧。 博士对我写备忘录这件事有 点生气,所以我得快点写完。 那群搞研发的傻帽又开始一 个劲地抱怨,估计还是什 么钱的事。 -book_lore.book_phosphorous.page.1=对了,“风向标”博士发现了 第二种原料是红磷,应该 放在第%d格。 - -book_lore.book_dust.name=笔记 -book_lore.book_dust.author=戴夫 -book_lore.book_dust.page.0=博士发现搞研发的那群呆子 还留了个样品之后气得要命, 大喊大叫了一通“总体过失” 和“世界末日”什么的。 我告诉他先冷静一下, -book_lore.book_dust.page.1=太激动对血压不好,而且他 本身就没有那么多血。那群 呆子里面的一个在上周的通 报里说漏了嘴。他们管他们 调出来的那玩意儿叫“MKU” ——管他是什么意思,而且 那玩意儿里面还有家里的 绒毛。 -book_lore.book_dust.page.2=你肯定不信,那群呆子最危 险的发明之一里面还有灰尘 ——奇怪的是,他们甚至提到 这东西应该放在第%d格。 - -book_lore.book_mercury.name=笔记 -book_lore.book_mercury.author=戴夫 -book_lore.book_mercury.page.0=就是这么回事。不算吐血的 部分,毒理学报告很大程度 上呈现了汞中毒的特征。 为什么?因为那堆混合物里 也含有水银! -book_lore.book_mercury.page.1=我很好奇,这东西被细胞复 制的时候,复制出来的物质 是从哪来的? 扯远了。水银应该放到 第%d格。 - -book_lore.book_flower.name=笔记 -book_lore.book_flower.author=戴夫 -book_lore.book_flower.page.0=还记得我在第一篇备忘录里 提到了“这东西大部分是无 机的”吗?你猜怎么着, 老“风向标”跟我分享了第 四样原料:一种花,学名叫 “ipomoea nil”。是牵牛花! -book_lore.book_flower.page.1=可能是由于牵牛花较低的硫 含量,用别的花都不行。 牵牛花应该放在第%d格。 - -book_lore.book_syringe.name=笔记 -book_lore.book_syringe.author=戴夫 -book_lore.book_syringe.page.0=对我第五篇备忘录的一点 补充:很显然你应该找个容 器把这些MKU装进去。搞 研发的那帮疯子用的是从医 疗机构弄到的普通金属注射 器——我推测还有不少多余 的。他们弄了几千个,然后 扔的到处都是。 -book_lore.book_syringe.page.1=金属注射器 应该放在第%d格。 - -book_lore.resignation_note.name=辞职信 -book_lore.resignation_note.author=科斯马 -book_lore.resignation_note.page.0=管理层昨天又对我们的部门 进行裁员了。那群白痴要怪 只能怪他们自己,我都不知 道他们在那场惨败后还在期 待什么。到底是谁他妈泄露 了那种程度的信息? -book_lore.resignation_note.page.1=我们损失了几百万,而且现 在失业的还是爷。老子希望 你们这帮混蛋最后能从你们 的一堆问题中学到点教训然 后给爷滚去自闭。 -book_lore.resignation_note.page.2=我周五不回来了。 记得把工资发我。 - -book_lore.memo_stocks.name=公司内部备忘录 -book_lore.memo_stocks.page.0=投资人相关 - $ $ 上季度报告提供的数字中已 经出现了明显差异。财政部 门即使做出一些调整也是相 当谨慎的,因此无需担心。 - -book_lore.memo_schrab_gsa.name=内部备忘录 -book_lore.memo_schrab_gsa.page.0=合同管理记录 - $ $ 法务部在与DLA的谈判中 取得了突破。他们批准了 450亿的联邦采购服务 总署投资资金用于异变金属 的采购与研究。 -book_lore.memo_schrab_gsa.page.1=就目前的预期,相关事项能 够带来至少40%%的利润, 以及获得未来合同的更大可 能。由于此事件的保密性质, 所有财政证据都将保持机密。 - -book_lore.memo_schrab_rd.name=内部备忘录 -book_lore.memo_schrab_rd.page.0=研发 - $ $ 目前我们生产异变金属的 主要方法是使用新型粒子加 速器。然而,与产出量相比, 能源成本高得惊人。 -book_lore.memo_schrab_rd.page.1=然而,施拉鲍尔博士发现了 一种全新的相互作用—— 暂称为“奇异轻子振荡”—— 该作用可以显著降低生产 成本。通过一个目前未被完 全理解的的过程,提供的电子 被一种奇特的“魔力”转化 为极高能量的光子。 -book_lore.memo_schrab_rd.page.2=这是许多已明确的粒子转换 定律的极端例外。但初步实 验证明,这些质子先转变为 上下夸克,最终形成了异变 金属。 -book_lore.memo_schrab_rd.page.3=奇怪的是,原型机中需要钨与 少量异变金属形成的合金。 另外,原型机中也需要一个 特殊的电容器,用于消除多 余的正电荷。 - -book_lore.memo_schrab_nuke.name=研究报告 -book_lore.memo_schrab_nuke.author=施拉鲍尔博士 -book_lore.memo_schrab_nuke.page.0=最近的研究将我们引至了核 爆对材料的影响。多亏了外 界的拨款,我们“意外地” 测试了我们的铀定向合成异 变金属理论。 -book_lore.memo_schrab_nuke.page.1=而此前我们只在回旋加速器 中制作出异变金属。然而, 我们在埃弗韦彭的地下实验 室的铀矿石中发现了微量的 异变金属,附近所有的纯 金属铀则都发生了裂变。 -book_lore.memo_schrab_nuke.page.2=既然如此,那么使用浓缩到 临界质量附近的铀矿石,或 者是含有大量可裂变核废料 的脏弹,都有可能在理论上 创造足以人工收集的量的 异变金属。 - -book_lore.bf_bomb_1.name=私人笔记 -book_lore.bf_bomb_1.author=M. 波特 -book_lore.bf_bomb_1.page.0=虽然过了很久,但我的工作 调动申请终于批下来了。那 些刚升级的毕业生已经够难 对付了,更别提上边那些人 ——他们一点专业素质 都没有。 $ 换工作地点也不全是好事—— 现在这个实验室拒绝提供进 一步的细节,而且我已经被 另外一个魔法般的新发现 搞得够乱了。 -book_lore.bf_bomb_1.page.1=就是这样。那些学生们各有 各的疑惑 (想想他们多有 精神就知道这有多让人奇怪), 而我唯一的……同事 (竞争 对手?) 只是在做发小册 子的工作。这些事之间的联 系绝对比我想的要复杂。他 的笔记很打击人: -book_lore.bf_bomb_1.page.2=“又有一种奇异物质被偶然 发现;这种物质被指明是反 物质和一种边缘同位素的复 合物。小册子上说它叫‘旋素’ ——鬼知道这名字什么意思, 然后就没了。 -book_lore.bf_bomb_1.page.3=“怪不得他们想找个理论物 理学家,还不是因为他们连 这东西是什么都不知道。但 另一方面,基本上随便什么 工作都比我的旧职位强, 所以我也别抱怨这上面基本 什么都没有了。” - -book_lore.bf_bomb_2.name=私人笔记 -book_lore.bf_bomb_2.author=M. 波特 -book_lore.bf_bomb_2.page.0=即使那本小册子上缺少大量 信息,我还是希望他们知道 的比我更多一点。但是他们 也不知道别的了。其他年长 一些的研究员都对这种物质 有一种盲目的信念:他们的 命题都是完全合理的。 我压根无话可说! -book_lore.bf_bomb_2.page.1=而且我甚至没法责备他们。 “旋素”没个屁的合理性! 这东西和我见过的其他物质 完全不一样。它的外表令人 毛骨悚然:它的颜色不停变 换着,霓虹绿色的表面上弥 漫着颜色略深的线条。 -book_lore.bf_bomb_2.page.2=更糟的是这东西还是个能量 源。我们样品的存在本身 就是对“ALARA”规则的 违背:当样本到达实验室时, 我们都撤离了实验室,唯一 一个够勇敢的人 (叫“梅菲因博士”) 也只穿着A级防护服移动了 样品20米。 -book_lore.bf_bomb_2.page.3=实验上的数据也没有好多少。 这东西辐射的能量非常强, 强到好像热力学第一定律都 要被打破一样;在这东西附 近的任何地方待着——甚至隔 着一米厚的铅——都十分恐怖。 我们做了光谱学方面的推断 就冲出了实验室,但什么新 发现都没有。 -book_lore.bf_bomb_2.page.4=但在这些事之后,科研团队 里的那群白痴竟然一点都没 有动摇!在那么些“讨论” 的时候干坐着够难受了; 一个带头人还胡乱说对这项 试验的禁令会被取消,也就 是说接下来几周我们可以逃 脱这些烂摊子来好好造炸弹。 -book_lore.bf_bomb_2.page.5=他们心里到底觉得谁会来干 这件事?麻烦得要命。最后, 一个理智的助手 (叫安德鲁) 给这种物质起了个外号叫 “野火”——因为和这东西比 起来,在火葬堆上被活活烧 死的痛苦都不算什么。 - -book_lore.bf_bomb_3.name=私人笔记 -book_lore.bf_bomb_3.author=M. 波特 -book_lore.bf_bomb_3.page.0=我和我的团队取得了一些突 破。谈一下我的“分离” ——我把自己从那些更“虔诚” 的人里面分离出来之后,在 那工作变得好受多了。虽然 我们仍然对野火的具体性质 不甚了解 (因为研究一个 会毁了设备的东西非常难) , -book_lore.bf_bomb_3.page.1=但对野火与其他物质相互作 用的研究取得了丰硕成果。 值得注意的是,野火会与其 他物质形成“气态”;所有人 里面,只有安德鲁提醒我: 那其实是悬浮在稀有气体中 的微小野火粒子形成的胶体, -book_lore.bf_bomb_3.page.2=每个野火粒子都被带正电的 “气体泡”包裹着,这样这些 粒子就不会沉降。谁能想到 这东西的致命伽马辐射会有 好处?反正不是我。 -book_lore.bf_bomb_3.page.3=我尽量不去想他们是怎么把 样品转化成微粒的,但我并 不能把这些气态野火的实用 性一笔带过——气态野火使得 对野火的研究更加安全了。 $ 说到安全,带头人 (冷酷无情事不关己地) 做了一项差点让他掉脑袋的 发现。 -book_lore.bf_bomb_3.page.4=他决定把自己“弄脏”: 让一单元量的野火胶体和极 其昂贵的反物质直接反应。 产生的爆炸把它们所在的桌 子化成了一块被大量辐照过 的废渣,并在桌面上刻出了 一个几乎完美的半球, -book_lore.bf_bomb_3.page.5=还让领头人的脑袋吸收了足 以引起急性放射综合征的辐 射。我觉得我们现在知道了 怎么引爆野火, 但是某些人…… - -book_lore.bf_bomb_4.name=私人笔记 -book_lore.bf_bomb_4.author=M. 波特 -book_lore.bf_bomb_4.page.0=我没办法逃脱我的旧工作。 现在这种死气沉沉的动荡 时代,只有这个地方在招人 了;但我不会再回我那个坑 里了。 $ 他们只是在诱惑我,因为我 需要出去,需要挣快钱。 还记得我们一周前退出的空 中试验协定吗? -book_lore.bf_bomb_4.page.1=那些掌管我们实验室的烂人 终于做对了一次。谴责与我 们将野火武器化需要的一大 批科学家一同到来。这里缺 少的批判性思维真是令人费 解——安德鲁甚至在第一份 该死的野火炸弹设计开始草 拟的那一刻突然不干了。 -book_lore.bf_bomb_4.page.2=那个梅菲因看上去打小算盘 打得很高兴,难道他搬野火 样品的时候脑子坏掉了? ——他还提出了使用固化的野 火以及高压电池的傻逼设计。 -book_lore.bf_bomb_4.page.3=很显然,这种形式的物质输 出的能量和激活途径或者别 的什么玩意和传统核弹比, 就像钚跟铀在传统核弹里面 比一样;但最终的结果是初 始的震荡引发了爆炸。 这倒是挺有意思。 -book_lore.bf_bomb_4.page.4=他们这些人都把注意力集中 在了激活上,而完全忽略了 具体机制——因为他们连点头 绪都摸不着!现在看来或许 就是魔法,然而那些人还在 尝试参透整个过程——也只是 为了制造更多战争用的武器 而已。 - -book_lore.bf_bomb_5.name=私人笔记 -book_lore.bf_bomb_5.author=M. 波特 -book_lore.bf_bomb_5.page.0=就算过了很多天,我…… 还是理解不了这些。整个科 研团队对安全的轻率,似乎 让整个事情成了必然结局。 $ $ 梅菲因·M.S.博士,已经 离开了,或许已经离开这个 世界了。悲剧,就在我的眼皮 底下,就在他们的试验仓里, 发生了。 -book_lore.bf_bomb_5.page.1=那时候我们刚刚得到另外一 批野火纯品,而且他已经修 好了用来测试他的提案的电 子设备和能量源。我不知道 到底是什么导致的 (开机了吗?还是开始得 太早了?) ,但是悲剧貌似 已经痛苦地、缓慢地开始了。 -book_lore.bf_bomb_5.page.2=野火的绿色光芒逐渐吞噬了 桌子,吞噬了电池,吞噬了站 在一米之外的梅菲因博士, 甚至桌子都被降解成了地板 上一滩滚烫的金属,但梅菲 因还没有燃烧。我不知道他 从自己的眼里看到了什么…… $ $ 或许,恐惧,或者敬畏笼罩了 梅菲因最后的生存时间? -book_lore.bf_bomb_5.page.3=不管我们的“奇迹”物质是 什么,它都不在乎。突然间, 一束炽热的闪光出现,闪光 过后,梅菲因就消失了。他蒸 发了?被烧化了?还是湮灭 了?见鬼去吧,我没法知道 了! -book_lore.bf_bomb_5.page.4=领头人让我感觉很恶心。 “我们本来能更小心”“本来 能一直监控着”,还有其他 管它是什么的提高士气的污 物从他嘴里呕出来。这家伙 永远都不会明白“玩火自焚”! -book_lore.bf_bomb_5.page.5=我不嫌辞职麻烦,就立马卷 了铺盖,向山里跑去。但后 果并没有那么严重;考虑到 那边缺少电话,而且看到从 我的 (前) 工作地点升起 的蘑菇云,他们应该不是被 炸飞了,就是上了最高等级 的军事法庭了。 -book_lore.bf_bomb_5.page.6=在“死体解剖”和“活体解剖” 之间,我们必须要做出选择; 有一个选项已经在他们身上 明明白白地失败了。他们 想解剖多少金属或者原子就 能解剖多少;但是批判现实、 解剖现实这件事,只能在更 多的梅菲因身上走向终结。 谁知道呢! -book_lore.bf_bomb_5.page.7=到最后,政府还是想把这堆 烂摊子拿来研发炸弹。或许, 我们还会看到更多的战争, 看到更多的人被迫接受比死 亡更惨的命运。 他们不可能永远都藏着掖着。 -book_lore.bf_bomb_5.page.8=我不在乎了。再也不在乎了。 老天爷啊,让我回到真正的 科学之中吧! $ $ 该死,Mae,找找你自己…… - -book_lore.beacon.name=信号信标说明书 -book_lore.beacon.author=Flim Flam工业 -book_lore.beacon.page.0=感谢您购买Mk.2照明信号信标 (版本1.3)! 这本小册子将简要介绍信标 的操作及其内部工作原理。 -book_lore.beacon.page.1=第1章:构成 $ 每个单元由四个主要部分 组成:控制电路、灯笼、雾号 和容纳其他部分的外壳。 有关主电路的详细说明,请 参考外壳维护盖内部的 电路图。 -book_lore.beacon.page.2=灯笼由聚碳酸酯外壳组成, 外壳内有一个标准200mm 的双色250瓦卤素灯泡, 替换用灯泡可以从我们的 商店订购。 -book_lore.beacon.page.3=不建议使用第三方灯泡,因为 我们无法确保安全操作。外壳 由专门的镀锌不锈钢制成, 具有耐用性。 -book_lore.beacon.page.4=第2章:灯笼 $ 灯笼的主要用途是在恶劣的 天气条件下提供照明以便 维护,同时指示信标的状态。 如果开机自检 (POST) 失败,灯将 -book_lore.beacon.page.5=亮起红色,否则就会亮起 绿色。请注意,颜色可能因 替换用灯泡的不同而有所 不同。 -book_lore.beacon.page.6=第3章:雾号 $ 雾号是信标的主要通信设备。 该信标被设计用于点对点 (P2P) 通信以及 消息广播。 -book_lore.beacon.page.7=第4章:P2P通信 $ 有关通信的详细信息,请参阅 通信手册。建立P2P连接的 简要介绍如下:首先,信标 必须给出“开始连接”信号, -book_lore.beacon.page.8=该信号是单一的长音。所有 可用的对等端也应使用一个 长音进行响应 (由接近度指定的顺序,以及 手册“响应连接”一节中 概述的通信指南) -book_lore.beacon.page.9=一旦所需对等端做出响应, 则给出“接受连接”信号, 即两个长音,然后对等端也 将用两个长音调进行响应。 之后的所有通信都必须使用 预先协商的信号来进行, -book_lore.beacon.page.10=最常用的是FAR-5M标准。 如果没有协商标准,通信将 立即结束,起到“ping” 的作用。如果通信继续, 可以使用另一个长单音 “结束连接”来结束连接。 -book_lore.beacon.page.11=第5章:保修 $ [页面故意留空] - -cannery.f1=[按F1键获取帮助] - -cannery.centrifuge=气体离心机 -cannery.centrifuge.0=气体离心机可以使用通用流体管道传输流体。 -cannery.centrifuge.1=大多数配方需要多台离心机。中间产品不能通过管道运输。 -cannery.centrifuge.2=该侧用作将中间产品输出到相邻离心机的连接口。 -cannery.centrifuge.3=六氟化铀只需两台离心机即可加工,但这将只产出铀燃料和铀-238。 -cannery.centrifuge.4=将其完全加工成铀-235和铀-238总共需要四台离心机。 -cannery.centrifuge.5=一些配方还需要离心机超频升级。 - -cannery.crucible=坩埚 -cannery.crucible.0=坩埚用于熔炼矿石、铸锭或其他金属物品以进行合金化,并将其铸造成不同形状。 -cannery.crucible.1=它需要一个外部热源连接到底部,例如燃烧室。 -cannery.crucible.2=一旦加热,坩埚可以以两种方式运行,有或没有配方模板。 -cannery.crucible.3=坩埚有两个材料储存缓冲区: -cannery.crucible.4=左边的缓冲区用于缓存§a副产品§r,所有没有配方模板的熔炼材料都将缓存在这里。 -cannery.crucible.5=如果有熔炼配方,与配方不匹配的材料也将存储在这里。 -cannery.crucible.6=该缓冲区中的材料不会相互反应,只能从绿色出口输出用于铸造。 -cannery.crucible.7=右侧的缓冲区用于放入§c配方§r,如果安装了一个配方,并且该特定材料与该配方相关,则它将储存在此处。 -cannery.crucible.8=这些材料将慢慢结合成输出材料,从红色出口自动输出。 -cannery.crucible.9=请注意,只有这个缓冲区处理配方。如果更换模板,副产品缓冲区中的材料不会结合,也不会转移到配方缓冲区。 -cannery.crucible.10=如果目标有效,例如铸造通道或模具,出口将自动输出材料。 -cannery.crucible.11=与所有铸造块一样,可以使用铲子从坩埚中移除所有材料。 - -cannery.fensu=FEnSU -cannery.fensu.0=FEnSU能够存储超过9EHE(即9后18个零)的荒谬能量。 -cannery.fensu.1=只有在其底部有一个电线接口。 -cannery.fensu.2=这也是FEnSU唯一可以接收红石信号的地方。 - -cannery.firebox=燃烧室 -cannery.firebox.0=燃烧室通过燃烧可燃物品产生热量。 -cannery.firebox.1=它可以燃烧任何可燃物品,但更高质量的燃料如煤、焦炭和固体燃料燃烧时间更长,温度更高。 -cannery.firebox.2=燃烧室顶部的铜触点可以传导热量。底部具有相同触点的机器可以通过放置在燃烧室顶部来接收热量。 -cannery.firebox.3=如果热量没有用完,且热量缓冲器变满,燃烧室将暂停运行,以防止燃料浪费。 -cannery.firebox.4=一种这样的机器是斯特林发电机,它将热量直接转化为能量。 - -cannery.foundryChannel=铸造通道 -cannery.foundryChannel.0=铸造通道用于将熔融材料从坩埚或储罐输送到模具中。 -cannery.foundryChannel.1=通道可以通过从顶部(通过出口或直接连接坩埚)或从其他通道的侧面倾倒来接收材料。 -cannery.foundryChannel.2=运输材料时,渠道将优先考虑出口和浅铸造池等方块。 -cannery.foundryChannel.3=当无法供应出口或模具时,材料将流入相邻通道。 -cannery.foundryChannel.4=剩余材料可以用铲子清除。 - -cannery.silex=FEL & SILEX -cannery.silex.0=自由电子激光器(FEL)利用能量和激光晶体产生强大的激光束。 -cannery.silex.1=小心,因为激光会烧毁或熔化较脆弱的方块… -cannery.silex.2=…但不是防爆的。 -cannery.silex.3=FEL用于为激光同位素分离室(SILEX)提供能量。FEL和SILEX必须至少相隔两个方块。 -cannery.silex.4=激光必须通过SILEX的玻璃开口进入。在错误的方向上入射可能会摧毁它。 -cannery.silex.5=侧面的开口可以使流体管道连接至SILEX上。 -cannery.silex.6=除了侧面的两个连接口之外,底部还有第三个隐藏连接口,可以从中抽取产品。 -cannery.silex.7=每个配方都需要特定的激光类型。使用比所需类型更强的激光将更快地处理项目。 -cannery.silex.8=一台FEL最多可以为5台SILEX供能。每个SILEX之间必须间隔一个方块。 - -cannery.stirling=斯特林发电机 -cannery.stirling.0=斯特林发电机使用来自外部的热能来产生能量。 -cannery.stirling.1=它需要放置在发热机器的顶部,如燃烧室。 -cannery.stirling.2=然而,它可以利用的热量有限,过旋转可能导致灾难性故障。 -cannery.stirling.3=升级版可以在不损坏的情况下承受更多热量。 - -cannery.willow=芥子柳 -cannery.willow.0=芥子柳是一种可以富集镉金属的植物。 -cannery.willow.1=芥子柳可以种植在泥土、草地上,甚至是泥渣或油泥上,但它们需要水才能生长。 -cannery.willow.2=芥子柳可以用骨粉或工业肥料催熟。它们不需要光就可以生长。 -cannery.willow.3=在第二阶段的生长之后,它们将需要在上方有至少一个方块的空间才能进一步生长。 -cannery.willow.4=在生长的第四阶段之后,它们需要下面有泥渣或油泥。 -cannery.willow.5=这可以通过在泥渣或油泥上手动种植芥子柳来实现,也可以通过在附近设置一个不断污染地面的水力压裂塔来实现。 -cannery.willow.6=到达最后阶段后,芥子柳将清除地面上的污染物,使泥渣或油泥恢复为正常的泥土。 -cannery.willow.7=现在芥子柳的叶子可以收割了。打破顶部的块状物会掉落一株3-6片叶子的小芥子柳,并保持植物底部的完整。 -cannery.willow.8=很快,这种植物就会重新开始生长,如果泥土被油泥取代,就会长出更多的叶子。叶子可以用酸化机加工成镉粉。 -cannery.willow.9=使用自动锯可以自动收割柳叶,它只会打碎准备收割的植物。 - -cannery.hadron=粒子加速器 -cannery.hadron.0=粒子加速器包含3个主要部分: 核心,粒子分析室以及一系列的超导线圈。 -cannery.hadron.1=画面上的方块为粒子加速器核心组件,会以相对论的速度沿线圈向粒子分析室发射粒子。 -cannery.hadron.2=粒子会从此面发射; -cannery.hadron.3=在环形加速器中,会回到此面。 -cannery.hadron.4=每个线圈区段由8个致密线圈构成,中间留空(或放置粒子加速器核心)。 -cannery.hadron.5=线圈区段本身也必须被粒子加速器镀层包裹。 -cannery.hadron.6=加速器中还需要添加一个或多个粒子加速器接入终端,以与核心组件交互。 -cannery.hadron.7=核心组件也需要电力运行,因此需要在边缘添加电源接口。 -cannery.hadron.8=粒子加速器需要足够的电源接口来供给至少10kHE每单位线圈强度的能量。 -cannery.hadron.9=注意:环绕核心组件的线圈区段不参与线圈强度计算, -cannery.hadron.10=而且完全的直线粒子加速器不需要此区段。 -cannery.hadron.11=环形加速器中,需要如下的转角结构来改变粒子的方向: -cannery.hadron.12=外侧转角的线圈可以被完全去除。 -cannery.hadron.13=粒子加速器的最终部分是粒子分析室,这是一个由分析室方块包围的3x3x3空间。 -cannery.hadron.14=搭建完成的粒子加速器的外观应该类似下面这样: - -cannery.hadron.math.0=致密钕线圈强度:50 -cannery.hadron.math.1=50 x 8 x 10KHE = 400 x 10KHE = 4MHE -cannery.hadron.math.2=致密星辉线圈强度:1,000 -cannery.hadron.math.3=1,000 x 8 x 10KHE = 8,000 x 10KHE = 80MHE - -cannery.schottky=肖基特二极管 -cannery.schottky.0=画面上的方块为肖基特二极管。此方块可用于更复杂的粒子加速器设计,也可用于节省电能。 -cannery.schottky.1=默认状态下,二极管会阻挡所有粒子,需要使用螺丝刀进行配置。 -cannery.schottky.2=此面会接受进入的粒子, -cannery.schottky.3=而此面会将进入的粒子发射出去。 -cannery.schottky.4=现在图中的二极管含有两个出口,会表现出“量子”行为:在每个出口创造一个“虚拟粒子”。 -cannery.schottky.5=一旦所有的“虚拟粒子”都达到了分析室,粒子加速器就会选择动量需求最低的配方执行。 -cannery.schottky.6=被选中的粒子会经历“波函数坍缩”,变成真实的粒子,并且加速器只会消耗“坍缩”的虚拟粒子需求的能量。 -cannery.schottky.7=如果某一个虚拟粒子进入了结构不正确的区段,所有的虚拟粒子都会被销毁,而且坍缩的将是出错的粒子而非其他到达分析室的粒子。 -cannery.schottky.8=注意:同一个虚拟粒子只会经过同一个二极管的同一出口一次。虚拟粒子不会进入死循环,但仍然可以进入另一个二极管。 -cannery.schottky.9=肖基特二极管周围应具有合适的结构,使得粒子在每个交叉点处都有路可走。 - -chem.ARSENIC=砷提取 -chem.ASPHALT=沥青生产 -chem.BAKELITE=电木生产 -chem.BALEFIRE=野火火箭燃料混合 -chem.BP_BIOFUEL=生物燃料酯化 -chem.BP_BIOGAS=沼气生产 -chem.C4=C-4合成 -chem.CC_CENTRIFUGE=氯方解石分离 -chem.CC_ELECTROLYSIS=氯化钙电解 -chem.CC_HEATING=高级煤液化 -chem.CC_HEAVY=初级煤液化 -chem.CC_I=强化煤液化 -chem.CC_NAPHTHA=煤液化石脑油 -chem.CC_OIL=煤液化 -chem.CIRCUIT_4=超频电路生产 -chem.CIRCUIT_5=高性能电路生产 -chem.CO2=二氧化碳生产 -chem.COALGAS_LEADED=含铅煤汽油混合 -chem.COLTAN_CLEANING=钶钽铁矿提纯 -chem.COLTAN_CRYSTAL=钽结晶 -chem.COLTAN_PAIN=Pn(III)钽铁溶液生产 -chem.CONCRETE=混凝土生产 -chem.CONCRETE_ASBESTOS=石棉夹层混凝土生产 -chem.COOLANT=冷却液混合 -chem.CORDITE=无烟火药生产 -chem.CRYOGEL=冷凝胶混合 -chem.DESH=Desh生产 -chem.DEUTERIUM=氘萃取 -chem.DUCRETE=贫铀混凝土生产 -chem.DYN_DNT=双聚中子态素合成 -chem.DYN_EUPH=Ep合成 -chem.DYN_SCHRAB=Sa326合成 -chem.DYNAMITE=炸药合成 -chem.ELECTROLYSIS=低温电解水 -chem.EPEARL=末影珍珠合成 -chem.ETHANOL=乙醇生产 -chem.FC_BITUMEN=沥青裂化 -chem.FC_DIESEL_KEROSENE=柴油裂化 -chem.FC_GAS_PETROLEUM=天然气裂化 -chem.FC_I_NAPHTHA=工业油裂化 -chem.FC_KEROSENE_PETROLEUM=煤油裂化 -chem.FP_HEAVYOIL=重油加工 -chem.FP_LIGHTOIL=轻油加工 -chem.FP_NAPHTHA=石脑油加工 -chem.FP_SMEAR=工业油加工 -chem.FR_PETROIL=汽油混合 -chem.FR_REOIL=原油再加工 -chem.FRACKSOL=压裂液生产 -chem.GASOLINE=含铅汽油生产 -chem.GASOLINE_LEADED=含铅汽油混合 -chem.HEAVY_ELECTROLYSIS=低温电解重水 -chem.HELIUM3=使用月球草皮提取氦-3 -chem.KEVLAR=凯夫拉生产 -chem.LAMINATE=强化夹层玻璃生产 -chem.LPG=石油天然气液化 -chem.LUBRICANT=润滑剂混合 -chem.MEAT_PROCESSING=异虫肉矿物提取 -chem.METH=甲基苯丙胺合成 -chem.NITAN=NITAN牌超级燃料混合 -chem.NITRIC_ACID=硝酸生产 -chem.OIL_SAND=沥青砂提取 -chem.OSMIRIDIUM_DEATH=锇酸溶液生产 -chem.PC=聚碳酸酯合成 -chem.PC_ELECTROLYSIS=氯化钾电解 -chem.PEROXIDE=过氧化氢生产 -chem.PET=PET合成 -chem.PETROIL_LEADED=含铅石油混合 -chem.POLYMER=聚合物合成 -chem.PUF6=六氟化钚生产 -chem.PVC=聚氯乙烯合成 -chem.RUBBER=橡胶生产 -chem.SAS3=三硫化Sa生产 -chem.SATURN=土星锭生产 -chem.SCHRABIDATE=Sa酸铁生产 -chem.SCHRABIDIC=Sa酸合成 -chem.SF_BIOFUEL=生物燃料固化 -chem.SF_BIOGAS=沼气固化 -chem.SF_DIESEL=柴油凝固 -chem.SF_GAS=天然气固化 -chem.SF_HEATINGOIL=燃油固化 -chem.SF_HEAVYOIL=重油固化 -chem.SF_KEROSENE=煤油固化 -chem.SF_LIGHTOIL=轻油固化 -chem.SF_LUBRICANT=润滑剂固化 -chem.SF_NAPHTHA=石脑油固化 -chem.SF_OIL=原油固化 -chem.SF_PETROIL=石油固化 -chem.SF_PETROLEUM=石油气固化 -chem.SF_RECLAIMED=再生油固化 -chem.SF_SMEAR=工业油固化 -chem.SHELL_CHLORINE=16英寸氯气炮弹生产 -chem.SHELL_MUSTARD=16英寸芥子气炮弹生产 -chem.SHELL_PHOSGENE=16英寸光气炮弹生产 -chem.SOLID_FUEL=固体火箭燃料生产 -chem.SOLVENT=有机溶剂混合 -chem.STEAM=烧水 -chem.SULFURIC_ACID=硫酸生产 -chem.TATB=TATB合成 -chem.TEL=四乙基铅混合 -chem.TEST=测试 -chem.THORIUM_SALT=钍盐富集 -chem.TNT=TNT合成 -chem.UF6=六氟化铀生产 -chem.VIT_GAS=气态核废料玻璃化 -chem.VIT_LIQUID=液态核废料玻璃化 -chem.XENON=林德循环制氙 -chem.XENON_OXY=增强林德循环制氙 -chem.YELLOWCAKE=黄饼生产 - -commands.satellite.no_satellite=未找到使用此频率的卫星! -commands.satellite.not_a_satellite=持有的物品不是卫星! -commands.satellite.satellite_descended=卫星成功降落。 -commands.satellite.satellite_orbited=卫星发射。 -commands.satellite.should_be_run_as_player=此命令应该由玩家运行! - -container.amsBase=AMS基座(装饰) -container.amsEmitter=AMS发射极(装饰) -container.amsLimiter=AMS稳能器(装饰) -container.anvil=%s级砧 -container.arcFurnace=电弧炉 -container.armorTable=装甲改装台 -container.ashpit=储灰槽 -container.assembler=装配机 -container.autocrafter=自动工作台 -container.barrel=桶 -container.bat9000=巨尻-9000 储罐 -container.battery=储能 -container.bombMulti=多用途炸弹 -container.catalyticReformer=催化重整器 -container.centrifuge=离心机 -container.chemplant=化工厂 -container.compactLauncher=紧凑型发射台 -container.craneBoxer=输送带打包机 -container.craneExtractor=输送带提取器 -container.craneGrabber=输送带抓斗 -container.craneInserter=输送带导入器 -container.craneRouter=传送路由器 -container.craneUnboxer=输送带解包机 -container.crateDesh=Desh箱 -container.crateIron=铁箱 -container.crateSteel=钢箱 -container.crateTemplate=模板箱 -container.crateTungsten=钨箱 -container.crystallizer=矿物酸化器 -container.cyclotron=回旋加速器 -container.dfcCore=暗核聚变堆核心 -container.dfcEmitter=DFC发射器 -container.dfcInjector=DFC燃料喷射器 -container.dfcReceiver=DFC接收器 -container.dfcStabilizer=DFC稳定器 -container.diFurnace=高炉 -container.diFurnaceRTG=核高炉 -container.droneCrate=运输无人机坞 -container.droneDock=物流无人机坞 -container.droneProvider=供应箱 -container.droneRequester=请求箱 -container.electricFurnace=电炉 -container.epress=电动锻压机 -container.exposureChamber=曝光室 -container.factoryAdvanced=高级工厂 -container.factoryTitanium=工厂 -container.fluidtank=储罐 -container.fileCabinet=文件柜 -container.forceField=力场发生器 -container.frackingTower=水力压裂塔 -container.furnaceBrick=砖砌炉 -container.furnaceCombination=复式炼焦炉 -container.furnaceIron=铁炉 -container.furnaceSteel=钢炉 -container.fusionMultiblock=大型聚变反应堆 -container.fusionaryWatzPlant=Watz聚变反应堆 -container.gasCentrifuge=气体离心机 -container.gasFlare=高架火炬 -container.generator=研究型反应堆 -container.hadron=粒子加速器 -container.heaterFirebox=燃烧室 -container.heaterHeatex=热交换器 -container.heaterOilburner=流体燃烧器 -container.heaterOven=加热炉 -container.hydrotreater=加氢装置 -container.iGenerator=工业发电机 -container.keyForge=锁匠桌 -container.launchPad=导弹发射台 -container.launchPadRusted=导弹发射台 -container.launchTable=大型发射台 -container.leadBox=安全盒 -container.machineArcWelder=电弧焊机 -container.machineArcFurnaceLarge=电弧炉 -container.machineBoiler=锅炉 -container.machineCMB=CMB炼钢炉 -container.machineCoal=火力发电机 -container.machineCoker=焦化装置 -container.machineCompressor=压缩机 -container.machineCrucible=坩埚 -container.machineDiesel=柴油发电机 -container.machineElectricBoiler=电锅炉 -container.machineElectrolyser=电解机 -container.machineFEL=FEL -container.machineFunnel=组合漏斗 -container.machineICF=ICF反应堆 -container.machineICFPress=ICF燃料靶丸制造器 -container.machineITER=聚变反应堆 -container.machineLargeTurbine=工业汽轮机 -container.machineLiquefactor=液化机 -container.machineMixer=工业搅拌机 -container.machineOreSlopper=B.O.P. -container.machineRefinery=炼油厂 -container.machineSelenium=星型发动机 -container.machineShredder=粉碎机 -container.machineSILEX=激光同位素分离室 -container.machineSolderingStation=焊接台 -container.machineSolidifier=固化机 -container.machineStrandCaster=连续铸造机 -container.machineTurbine=汽轮机 -container.machineTurbofan=涡扇发动机 -container.machine_schrabidium_transmutator=Sa326嬗变装置 -container.machineWoodBurner=火力发电机 -container.massStorage=存储 -container.microwave=微波炉 -container.miningDrill=自动采矿钻机 -container.miningLaser=采矿激光 -container.missileAssembly=导弹装配台 -container.nukeBoy=小男孩 -container.nukeCustom=自定义核弹 -container.nukeFleija=F.L.E.I.J.A. -container.nukeFstbmb=野火炸弹 -container.nukeFurnace=核熔炉 -container.nukeGadget=小玩意 -container.nukeMan=胖子 -container.nukeMike=常春藤迈克 -container.nukeN2=N2炸弹 -container.nukeN45=N45水雷 -container.nukePrototype=原型 -container.nukeSolinium=蔚蓝洗礼 -container.nukeTsar=沙皇炸弹 -container.oilWell=钻油塔 -container.orbus=重型反物质储罐 -container.plasmaHeater=等离子加热器 -container.press=火力锻压机 -container.puf6_tank=六氟化钚储罐 -container.pumpjack=石油钻机 -container.radGen=辐射能量发电机 -container.radar=雷达 -container.radiobox=FM发射机 -container.radiolysis=RTG辐射裂解室 -container.radiorec=FM收音机 -container.rbmkBoiler=RBMK石墨式反应堆蒸汽管道 -container.rbmkControl=RBMK石墨式反应堆控制棒 -container.rbmkControlAuto=RBMK石墨式反应堆自动控制棒 -container.rbmkHeater=RBMK流体加热器 -container.rbmkOutgasser=RBMK石墨式反应堆辐照通道 -container.rbmkReaSim=RBMK石墨式反应堆燃料棒 (ReaSim) -container.rbmkRod=RBMK石墨式反应堆燃料棒 -container.rbmkStorage=RBMK 燃料存储棒 -container.reactorBreeding=增殖反应堆 -container.reactorControl=反应堆遥控模块 -container.reactorLarge=大型核反应堆 -container.reactorResearch=研究型反应堆 -container.reix=Rei-X主机 -container.rtg=放射性同位素发电机 -container.rtgFurnace=放射性同位素热力炉[RTG] -container.rttyCounter=无线红石物品计数器 -container.rttyLogic=无线红石逻辑接收器 -container.rttyReceiver=无线红石信号接收器 -container.rttySender=无线红石信号发射器 -container.safe=保险箱 -container.satDock=卸货平台 -container.satLinker=卫星ID管理 -container.siren=警报器 -container.soyuzCapsule=货物着陆舱 -container.soyuzLauncher=联盟号发射平台 -container.storageDrum=核废料处理桶 -container.teleLinker=炮塔ID管理 -container.teleporter=传送机 -container.trainTram=平板载货电车 -container.turbinegas=联合循环燃气轮机 -container.turretArty=重炮炮塔“格雷格” -container.turretChekhov=重机枪炮塔“契诃夫的枪” -container.turretFriendly=轻机枪炮塔“友好先生” -container.turretFritz=重型火焰喷射器炮塔“弗里茨” -container.turretHIMARS=火箭炮塔“亨利” -container.turretHoward=双联守门员近防系统“霍华德” -container.turretJeremy=重炮炮塔“杰里米” -container.turretMaxwell=高能微波炮塔”麦克斯韦” -container.turretRichard= 火箭炮塔“理查德” -container.turretSentry=哨兵炮塔“布朗” -container.turretTauon=陶子发射器炮塔“陶恩” -container.uf6_tank=六氟化铀储罐 -container.vacuumDistill=真空炼油厂 -container.wasteDrum=乏燃料池 -container.watzPowerplant=Watz发电厂 -container.zirnox=锆诺克斯核反应堆 - -crucible.aa=高级合金生产 -crucible.abronze=砷青铜生产 -crucible.bbronze=铋青铜生产 -crucible.bscco=BSCCO生产 -crucible.cdalloy=镉钢生产 -crucible.cmb=CMB钢生产 -crucible.ferro=铀铁合金生产 -crucible.hematite=赤铁矿炼铁 -crucible.hss=高速钢生产 -crucible.malachite=孔雀石炼铜 -crucible.magtung=磁化钨生产 -crucible.redcopper=紫铜生产 -crucible.steel=钢铁生产 -crucible.steelMeteoric=陨铁炼钢 -crucible.steelPig=生铁炼钢 -crucible.steelWrought=锻铁炼钢 -crucible.tcalloy=锝钢合金生产 - -death.attack.acid=%1$s 掉进了酸里 -death.attack.acidPlayer=%1$s 被 %2$s 溶解 -death.attack.ams=%1$s 沐浴在尚未被人类科学命名的致命粒子中 -death.attack.amsCore=%1$s 在奇点之火中蒸发 -death.attack.asbestos=%1$s现在有权获得经济补偿 -death.attack.bang=%1$s 被炸成小块碎片 -death.attack.blackhole=%1$s 粉身碎骨 -death.attack.blacklung=%1$s 死于尘肺病 -death.attack.blender=%1$s 被切成小块 -death.attack.boat=%1$s 被船撞了 -death.attack.boil=%1$s被%2$s活活煮沸 -death.attack.boxcar=%1$s 被一节坠落的车厢撞死了...好吧 -death.attack.broadcast=%1$s 的大脑融化了 -death.attack.building=%1$s 被从天而降的建筑砸中了 -death.attack.cheater=%1$s 的肠子变成了燕麦(???) -death.attack.chopperBullet=%1$s 被 %2$s 屠杀 -death.attack.cloud=%1$s 像冰棒一样在太阳下融化 -death.attack.cmb=%1$s 被 %2$s 搞得嘶嘶作响 -death.attack.digamma=%1$s 踏入深渊 -death.attack.electricity=%1$s 被电死 -death.attack.electrified=%1$s 被 %2$s 电死 -death.attack.euthanized=%1$s 被 %2$s 安乐死 -death.attack.euthanizedSelf2=%1$s 获得了达尔文奖 -death.attack.euthanizedSelf=%1$s 把自己安乐死了,可真傻 -death.attack.exhaust=%1$s 被火箭烤成了羊肉串 -death.attack.flamethrower=%1$s 被 %2$s 火化 -death.attack.flamethrower.item=%1$s 被 %2$s 使用 %3$s 火化 -death.attack.ice=%1$s 被 %2$s 做成了冰棒 -death.attack.laser=%1$s 被 %2$s 变成了灰烬 -death.attack.laser.item=%1$s 被 %2$s 使用 %3$s 变成灰烬 -death.attack.lead=%1$s 死于铅中毒 -death.attack.lunar=%1$s 忘记了给重要器官充电 -death.attack.meteorite=%1$s 被来自外太空的陨石击中 -death.attack.microwave=%1s 因微波辐射爆炸 -death.attack.mku=%1$s 死于不明原因 -death.attack.monoxide=%1$s忘了换一氧化碳探测器的电池 -death.attack.mudPoisoning=%1$s 死于毒泥浆中 -death.attack.nuclearBlast=%1$s 被核爆炸飞 -death.attack.overdose=%1$s 上瘾并窒息 -death.attack.pc=%1$s 在粉红色的云中变成了一个水坑 -death.attack.plasma=%1$s 被 %2$s 烧死 -death.attack.radiation=%1$s 死于辐射 -death.attack.revolverBullet=%1$s 被 %2$s 用 %3$s 击中头部 -death.attack.revolverBullet.item=%1$s 被 %2$s 使用 %3$s 爆头 -death.attack.rubble=%1$s 被碎片压扁了 -death.attack.shrapnel=%1$s 被榴弹碎片炸得千疮百孔 -death.attack.spikes=%1$s被刺穿了 -death.attack.subAtomic1=%1$s 的原子已被 %2$s 销毁. -death.attack.subAtomic2=%1$s 因为被 %2$s 篡改了实际速度,导致QPU没有对准 -death.attack.subAtomic3=由于 %2$s,1$s 的偏差下降到1%以下 -death.attack.subAtomic4=%1$s 因为 %2$s 被零除了 -death.attack.subAtomic5=%1$s 因为 %2$s 无效了 -death.attack.suicide=%1$s 打爆了自己的头 -death.attack.taint=%1$s 死于恶性肿瘤 -death.attack.tau=%1$s 被 %2$s 用带负电荷的陶子射穿 -death.attack.tauBlast=%1$s 对XVL1456充能时间过长,被炸成碎片 -death.attack.teleporter=%1$s 被传送到虚空 - -desc.gui.assembler.warning=§c错误:§r此机器需要装配机模板! -desc.gui.chemplant.warning=§c错误:§r此机器需要化工厂模板! -desc.gui.gasCent.enrichment=§2浓缩§r$浓缩铀需要串联$两个离心机串联将离心出$铀燃料,四个离心机串联$将完全分离出铀235。 -desc.gui.gasCent.output=§6流体输送§r$流体可通过输出端口输送至另一台离心机$进行进一步处理。 -desc.gui.nukeBoy.desc=§1需要:§r$ * 中子屏蔽罩$ * 铀-235弹头$ * 次临界铀-235标靶$ * 炸药$ * 点火器 -desc.gui.nukeGadget.desc=§1需要:§r$ * 4个 初代$ 炸药透镜阵列$ * 钚核心$ * 线路 -desc.gui.nukeMan.desc=§1需要:§r$ * 4个 初代$ 炸药透镜阵列$ * 钚核心$ * 点火器 -desc.gui.nukeMike.desc=§1需要:§r$ * 4个 炸药透镜阵列$ * 钚核心$ * 氘冷却装置$ * 铀涂层氘罐 * 氘罐 -desc.gui.nukeTsar.desc=§1需要:§r$ * 4个 炸药透镜阵列$ * 钚核心$§9可选:§r$ * 沙皇炸弹核心 -desc.gui.rttyLogic.cond0=信号§6小于§r常量 -desc.gui.rttyLogic.cond1=信号§6小于等于§r常量 -desc.gui.rttyLogic.cond2=信号§6大于等于§r常量 -desc.gui.rttyLogic.cond3=信号§6大于§r常量 -desc.gui.rttyLogic.cond4=信号§6等于§r常量 -desc.gui.rttyLogic.cond5=信号§6不等于§r常量 -desc.gui.rttyLogic.cond6=信号与字符串§6匹配§r -desc.gui.rttyLogic.cond7=信号与字符串§6不匹配§r -desc.gui.rttyLogic.cond8=信号§6包含§r字符串 -desc.gui.rttyLogic.cond9=信号§6不包含§r字符串 -desc.gui.radiolysis.desc=§9说明§r$该RTG比其他RTG更高效,$并且配备了一个用于$裂解和灭菌的辐解室。 -desc.gui.rtgBFurnace.desc=处理裂解配方至少需要15热量,$热量越高,运行速度越快$超过最高处理速度的热量不起作用$短寿命靶丸可能会衰变 -desc.gui.rtg.heat=§e当前热等级:%s -desc.gui.rtg.pellets=接受的靶丸: -desc.gui.rtg.pelletHeat=%s (%s 热量) -desc.gui.rtg.pelletPower=%s (%s HE/刻) -desc.gui.template=§9模板§r$模板可由$机器模板文件夹制作。 -desc.gui.turbinegas.automode=§2自动涡轮机节流模式§r$通过单击“AUTO”按钮,涡轮机$将根据网络所需的功率自动调整发电量$ -desc.gui.turbinegas.fuels=§6可接受的燃料:§r -desc.gui.turbinegas.warning=§c燃油或润滑油液位低!§r -desc.gui.upgrade=§l可接受的升级:§r -desc.gui.upgrade.afterburner=*§d加力燃烧§r:堆叠至3级 -desc.gui.upgrade.effectiveness=*§a效率§r:堆叠至3级 -desc.gui.upgrade.overdrive=*§7超速§r:堆叠至3级 -desc.gui.upgrade.power=*§1节能§r:堆叠至3级 -desc.gui.upgrade.speed=*§4速度§r:堆叠至3级 -desc.gui.zirnox.coolant=§3冷却剂§r$CO2将热量从堆芯转移到水中$这会令它变成成超热蒸汽$冷却和蒸汽生产的效率取决于压力。 -desc.gui.zirnox.pressure=§6压力§r$排放二氧化碳可以降低压力$然而,压力过低,冷却效率和蒸汽产量将降低$小心熔毁! -desc.gui.zirnox.warning1=§c错误:§r反应堆正常运行需要水! -desc.gui.zirnox.warning2=§c错误:§r二氧化碳是反应堆正常运行所必需的! - -desc.item.ammo.con_accuracy2=- 精度大幅降低 -desc.item.ammo.con_damage=- 伤害大幅降低 -desc.item.ammo.con_heavy_wear=- 大幅增加磨损 -desc.item.ammo.con_ling_fire=- 没有火焰 -desc.item.ammo.con_nn=- 甚至没有核爆 -desc.item.ammo.con_no_damage=- 没有伤害 -desc.item.ammo.con_no_explode1=- 非爆炸性 -desc.item.ammo.con_no_explode2=- 不破坏方块 -desc.item.ammo.con_no_explode3=- 无破片伤害 -desc.item.ammo.con_no_fire=- 不能引起燃烧 -desc.item.ammo.con_no_mirv=- 不建议在原始MIRV上使用 -desc.item.ammo.con_no_projectile=- 无抛射物 -desc.item.ammo.con_penetration=- 无穿透能力 -desc.item.ammo.con_radius=- 减小爆炸半径 -desc.item.ammo.con_range2=- 大幅降低射程 -desc.item.ammo.con_sing_projectile=- 单个弹头 -desc.item.ammo.con_speed=- 弹丸速度降低 -desc.item.ammo.con_super_wear=- 磨损严重增加 -desc.item.ammo.con_wear=- 加剧磨损 -desc.item.ammo.neu_40mm=* 这是一枚40毫米的榴弹,我们把它挤到枪管里! -desc.item.ammo.neu_blank=* 这是空包弹 -desc.item.ammo.neu_boat=* 船 -desc.item.ammo.neu_boxcar=* 车厢 -desc.item.ammo.neu_building=* 建筑物 -desc.item.ammo.neu_chlorophyte=* 叶绿 -desc.item.ammo.neu_eraser=* 用于消除重大错误 -desc.item.ammo.neu_fun=* 全家其乐无穷! -desc.item.ammo.neu_heavy_metal=* 重金属 -desc.item.ammo.neu_homing=* 追踪 -desc.item.ammo.neu_jolt=* 震荡 -desc.item.ammo.neu_leadburster=* 附着在表面并喷射子弹 -desc.item.ammo.neu_less_bouncy=* 弹性更小 -desc.item.ammo.neu_maskman_flechette=* 曳光弹,同时引发一场贫铀飞镖弹风暴 -desc.item.ammo.neu_maskman_meteorite=* 高伤害,同时召唤小陨石 -desc.item.ammo.neu_more_bouncy=* 额外弹性 -desc.item.ammo.neu_no_bounce=* 没有弹性 -desc.item.ammo.neu_no_con=* 没有缺点 -desc.item.ammo.neu_starmetal=* 星辉金属 -desc.item.ammo.neu_tracer=* 示踪剂 -desc.item.ammo.neu_uhh=* Uhhh -desc.item.ammo.neu_warcrime1=* 从技术上来讲触犯了战争罪 -desc.item.ammo.neu_warcrime2=* 一发触犯两条战争罪! -desc.item.ammo.pro_accurate1=+ 提升精度 -desc.item.ammo.pro_accurate2=+ 近乎完美的精度 -desc.item.ammo.pro_balefire=+ 野火 -desc.item.ammo.pro_bomb_count=+ 炸弹数量增加 -desc.item.ammo.pro_caustic=+ 腐蚀性 -desc.item.ammo.pro_chainsaw=+ 电锯 -desc.item.ammo.pro_chlorine=+ 氯气 -desc.item.ammo.pro_damage=+ 提升伤害 -desc.item.ammo.pro_damage_slight=+ 高于平均伤害 -desc.item.ammo.pro_emp=+ EMP -desc.item.ammo.pro_explosive=+ 爆炸 -desc.item.ammo.pro_fallout=+ 辐射尘 -desc.item.ammo.pro_fit_357=+ 适用于所有.357枪械 -desc.item.ammo.pro_flames=+ 火焰喷射量增加 -desc.item.ammo.pro_gravity=+ 下坠降低 -desc.item.ammo.pro_heavy_damage=+ 大幅增加伤害 -desc.item.ammo.pro_incendiary=+ 能引起燃烧 -desc.item.ammo.pro_lunatic=+ 疯子 -desc.item.ammo.pro_marauder=+ 立即消除烦人的和不平衡的敌人 -desc.item.ammo.pro_mining=+ 爆炸使所有方块掉落 -desc.item.ammo.pro_no_gravity=+ 不受重力影响 -desc.item.ammo.pro_nuclear=+ 核爆 -desc.item.ammo.pro_penetration=+ 穿透 -desc.item.ammo.pro_percussion=+ 冲击波 -desc.item.ammo.pro_phosphorus=+ 可致磷烧伤 -desc.item.ammo.pro_phosphorus_splash=+ 磷飞溅 -desc.item.ammo.pro_poison_gas=+ 毒物飞溅 -desc.item.ammo.pro_radius=+ 增加爆炸半径 -desc.item.ammo.pro_radius_high=+ 大幅增加爆炸半径 -desc.item.ammo.pro_range=+ 增加射程 -desc.item.ammo.pro_rocket=+ 火箭 -desc.item.ammo.pro_rocket_propelled=+ 火箭推进 -desc.item.ammo.pro_shrapnel=+ 破片 -desc.item.ammo.pro_speed=+ 提高弹头飞行速度 -desc.item.ammo.pro_stunning=+ 眩晕 -desc.item.ammo.pro_toxic=+ 剧毒 -desc.item.ammo.pro_wear=+ 减少磨损 -desc.item.ammo.pro_withering=+ 凋零 -desc.item.armorMod.display=显示已安装的装甲模块 -desc.item.battery.charge=储能: %s / %sHE -desc.item.battery.chargePerc=储能: %s%% -desc.item.battery.chargeRate=充电效率: %sHE/刻 -desc.item.battery.dischargeRate=放电效率: %sHE/刻 -desc.item.durability=耐久: %s -desc.item.grenade.fuse=引信: %s -desc.item.grenade.fuseImpact=碰炸 -desc.item.grenade.fuseInstant=瞬发 -desc.item.gun.ammo=弹药 %s -desc.item.gun.ammoBelt=从背包中使用 -desc.item.gun.ammoEnergy=能耗; %sHE 每发 -desc.item.gun.ammoEnergyAlt=%sHE 每发 -desc.item.gun.ammoMag=%s / %s -desc.item.gun.ammoType=弹药类型: %s -desc.item.gun.ammoTypeAlt=辅助弹药: %s -desc.item.gun.damage=伤害: %s - %s -desc.item.gun.damageAlt=伤害: %s -desc.item.gun.lore=查看深入的知识 -desc.item.gun.loreFunc=查看深入功能 -desc.item.gun.manufacturer=制造商: %s -desc.item.gun.name=名称: %s -desc.item.gun.pellets=弹丸数:%s-%s -desc.item.gun.penetration=装甲穿透值: %s -desc.item.kitArmor=装甲将被新的装备取代。 -desc.item.kitHaz=装甲将被防护服取代。 -desc.item.kitPack=真便宜! -desc.item.kitPool=请在打开前清空背包库存! -desc.item.pileRod=§e使用钻孔石墨插入$§E使用螺丝刀拔出$ -desc.item.pipette.corrosive=可处理腐蚀性液体。 -desc.item.pipette.laboratory=现在精度提高了50倍! -desc.item.pipette.noCorrosive=§e无法处理腐蚀性液体。 -desc.item.pipette.noEmpty=§e移液管未排空 -desc.item.rtgDecay=衰变为:%s -desc.item.rtgHeat=功率级别:%s -desc.item.storage.capacity=容量 %s%%s -desc.item.storage.proscons=查看利弊列表 -desc.misc.357=.357 马格南 -desc.misc.556=.223 雷明顿 -desc.misc.762=.308 温彻斯特 -desc.misc.func=§n-- 作用 -- -desc.misc.lanthanum="镧" -desc.misc.lctrl=§8按住 <§e§o左CTRL§8§o> %s -desc.misc.lore=§n-- 知识 -- -desc.misc.lshift=§8按住 <§e§o左SHIFT§8§o> %s -desc.misc.luna=§o20x155mm Lunatic -desc.misc.meltPoint=熔点: §c%s -desc.misc.noPos=未设置位置! -desc.misc.pos=将位置设置为:%s,%s,%s -desc.misc.posSet=位置已设置! -desc.item.wasteCooling=在乏燃料池中冷却 -desc.item.zirnoxBreedingRod=§2[ZIRNOX增殖棒]$§e放在燃料棒旁边增殖$§e持续 %d 刻 -desc.item.zirnoxRod=§a[ZIRNOX燃料棒]$§e每刻产生 %1$d 热量$§e持续 %2$d 刻 - -digamma.playerDigamma=玩家F-迪伽马辐照水平: -digamma.playerHealth=玩家所受F-迪伽马辐照影响: -digamma.playerRes=玩家F-迪伽马防护水平: -digamma.title=玩家F-迪伽马辐射自检器 - -entity.entity_cyber_crab.name=赛博螃蟹 -entity.entity_elder_one.name=上古鸭神 -entity.entity_fucc_a_ducc.name=鸭子 -entity.entity_glyphid.name=异虫 -entity.entity_glyphid_behemoth.name=巨兽异虫 -entity.entity_glyphid_blaster.name=爆破异虫 -entity.entity_glyphid_bombardier.name=投弹手异虫 -entity.entity_glyphid_brawler.name=狂战士异虫 -entity.entity_glyphid_brenda.name=布伦达 -entity.entity_glyphid_digger.name=掘地异虫 -entity.entity_glyphid_nuclear.name=大个子强森 -entity.entity_glyphid_scout.name=侦察异虫 -entity.entity_ntm_fbi.name=FBI探员 -entity.entity_ntm_fbi_drone.name=FBI无人机 -entity.entity_ntm_radiation_blaze.name=核融元素 -entity.hbm.entity_ntm_ufo.name=火星入侵者飞船 -entity.entity_mob_hunter_chopper.name=猎人直升机 -entity.entity_mob_mask_man.name=面具人 -entity.entity_mob_gold_creeper.name=黄金爬行者 -entity.entity_mob_nuclear_creeper.name=核爆爬行者 -entity.entity_mob_phosgene_creeper.name=光气爬行者 -entity.entity_mob_tainted_creeper.name=污染爬行者 -entity.entity_mob_volatile_creeper.name=不稳定爬行者 -entity.entity_parasite_maggot.name=寄生虫 -entity.entity_pigeon.name=鸽子 -entity.entity_plastic_bag.name=塑料袋 -entity.entity_taint_crab.name=污染螃蟹 -entity.entity_tesla_crab.name=磁暴螃蟹 -entity.hbm.entity_balls_o_tron.name=机械蠕虫 -entity.hbm.entity_balls_o_tron_seg.name=机械蠕虫 -entity.hbm.entity_bullet.name=子弹 -entity.hbm.entity_rocket.name=火箭弹 -entity.hbm.entity_schrabnel.name=Schrabnel - -excavator.crusher=粉碎开关 -excavator.drill=挖掘开关 -excavator.silktouch=精准采集开关 -excavator.veinminer=连锁挖矿开关 -excavator.walling=填充开关 - -flare.ignition=点火装置 -flare.valve=流量阀 - -fluid.acid_fluid=酸 -fluid.corium_fluid=堆芯熔融物 -fluid.mud_fluid=毒泥 -fluid.rad_lava_fluid=放射性火山熔岩 -fluid.schrabidic_fluid=Sa酸 -fluid.toxic_fluid=绿色软泥 -fluid.volcanic_lava_fluid=火山熔岩 - -foundry.filter=筛选器:%s -foundry.inverted=红石信号反转 -foundry.invertFilter=过滤器反转 -foundry.noCast=未安装模具! - -geiger.chunkRad=当前区块辐射: -geiger.envRad=环境总辐射量: -geiger.playerRad=玩家辐射: -geiger.playerRes=辐射抗性: -geiger.title=盖革计数器 -geiger.title.dosimeter=剂量计 - -gun.make.ARMALITE=阿玛莱特公司 -gun.make.AUTO_ORDINANCE=美国自动武器公司 -gun.make.BAE=英国宇航系统公司 -gun.make.BENELLI=伯奈利武器公司 -gun.make.BLACK_MESA=黑山研究所 -gun.make.CERIX=赛里克斯·马格努斯锻造世界 -gun.make.COLT=柯尔特制造公司 -gun.make.COMBINE=世界工会 -gun.make.CUBE=Cube 2: Sauerbraten -gun.make.DRG=深岩银河 -gun.make.ENZINGER=Enzinger工会 -gun.make.EQUESTRIA=小马国导弹系统 -gun.make.FLIMFLAM=FlimFlam“欺骗”工业 -gun.make.F_STRONG=史特朗堡 -gun.make.GLORIA=GLORIA公司 -gun.make.HASBRO=孩之宝 -gun.make.H_AND_K=黑克勒和科赫武器公司 -gun.make.H_AND_R=哈林顿-理查森武器公司 -gun.make.IF=蹄铁军工 -gun.make.IMI=以色列军事工业 -gun.make.IMI_BIGMT=以色列军事工业公司/大型MT -gun.make.LANGFORD=朗福德研究实验室 -gun.make.LUNA=月球防御公司 -gun.make.MAGNUM_R_IMI=马格南研究公司 / 以色列军事工业公司 -gun.make.MANN=Open Mann公司 -gun.make.MAXIM=海勒姆·马克沁 -gun.make.METRO=地铁枪手 -gun.make.MWT=MWT原型实验室 -gun.make.NAWS=Kayarm Industries -gun.make.ERFURT=埃尔福特机械制造厂 -gun.make.NONE=- -gun.make.RAYTHEON=导弹系统公司 -gun.make.REMINGTON=雷明登武器公司 -gun.make.ROCKWELL=罗克韦尔国际公司 -gun.make.ROCKWELL_U=罗克韦尔国际公司? -gun.make.RYAN=莱恩工业 -gun.make.SAAB=萨博博福斯动力公司 -gun.make.SACO=萨科防卫军械 -gun.make.TULSKY=图拉武器厂 -gun.make.UAC=联合宇宙航空公司 -gun.make.UNKNOWN=??? -gun.make.WESTTEK=WestTek研究设施 -gun.make.WGW=威廉·古斯特洛夫·维尔克 -gun.make.WINCHESTER=温彻斯特速射武器公司 -gun.make.WINCHESTER_BIGMT=温彻斯特速射武器公司/大型MT - -gun.name.ar15_50=AR-15 .50BMG型 -gun.name.baeAR=英国制式突击步枪 -gun.name.bel=野火蛋发射器 -gun.name.benelli=伯奈利M4 Super 90霰弹枪 -gun.name.benelliDrum=伯奈利M4 Super 90霰弹枪 (泵动供弹改进型) -gun.name.bio=RI No. 2 Mark 1 -gun.name.bolter=Manticora Pattern爆弹枪 -gun.name.congoLake=刚果湖水泵动榴弹发射器 -gun.name.cPython=柯尔特蟒蛇 -gun.name.cz53=CZ53 单兵转轮机枪 -gun.name.cz57=CZ57 复仇者机枪 -gun.name.dart=针枪 -gun.name.deagle=以色列军事工业公司沙漠之鹰 -gun.name.emp=EMP投射器 -gun.name.extinguisher=PROTEX灭火器6kg -gun.name.ffiV=FFI Viper -gun.name.ffiVInox=FFI Viper Inox -gun.name.ffiVLead=FFI Viper Lead -gun.name.ffiVN1=FFI Viper N1 -gun.name.ffiVN2=FFI Viper N2 -gun.name.ffiVUltra=FFI Viper Ultra -gun.name.ffivBling=FFI Viper Bling -gun.name.ffivSatur=FFI Viper D-25A -gun.name.g36=HK G36突击步枪 -gun.name.gPistol=HK69A1 手持单发榴弹发射器 -gun.name.gustav=卡尔·古斯塔夫M1无后坐力炮 -gun.name.ifHorseshoe=IF-18 蹄铁 -gun.name.ifPit=IF-18 蹄铁 Bottomless Pit -gun.name.ifScope=IF-18 蹄铁 Scoped -gun.name.ifStorm=IF-18 蹄铁 银色风暴 -gun.name.ifVanity=IF-18 蹄铁 Vanity -gun.name.karl=M1 卡尔·古斯塔夫 -gun.name.ks23=KS-23霰弹枪 -gun.name.lacunae=Auntie Lacunae -gun.name.lasetDet=霍普维尔激光雷管 -gun.name.lunaAR=1986 Bishamonten式突击步枪 -gun.name.lunaGun=1978 Rāhula type Standard Issue Sidearm (Revision 2) -gun.name.lunaHLR=1944嫦娥式轻机枪 -gun.name.lunaShotty=1978年关羽式散弹枪(第1次修订) -gun.name.lunaSMG=1956 ānanda type Submachine Gun -gun.name.lunaSniper=1915后羿式反器材步枪 -gun.name.lunaTWR=时间扭曲步枪 -gun.name.m2=M2式勃朗宁大口径重机枪 -gun.name.m42=M-42战术核弹发射器 -gun.name.m42MIRV=M-42实验MIRV -gun.name.m60=7.62毫米口径M60机枪 -gun.name.maxim=马克沁机枪 -gun.name.maximDouble=双重马克沁机枪 -gun.name.mg3=MG-42通用机枪 -gun.name.mp40=MP40冲锋枪 -gun.name.nerf=某些无良记者眼中的大规模杀伤性武器 -gun.name.osipr=守望标准型脉冲步枪 -gun.name.panz=反坦克火箭来复枪 54 -gun.name.quadro=OpenQuadro便携式导弹发射器 -gun.name.remington870=雷明顿870 -gun.name.revolverCursed=不列颠标准问题电动手枪 -gun.name.sauer=绍尔猎枪 -gun.name.spas12=弗兰基SPAS-12式12号霰弹枪 -gun.name.spiw=H&R SPIW -gun.name.stinger=FIM-92毒刺便携式防空系统 -gun.name.stingerOneSky=The One Sky 毒刺便携式防空系统 -gun.name.supershotty=双管战斗霰弹枪 -gun.name.tau=XVL1456 陶子加农炮 -gun.name.tommy9=M1A1冲锋枪9毫米型 -gun.name.tommy=M1A1冲锋枪 -gun.name.topaz=重型火焰燃烧器 -gun.name.uacCarbine=UAC-41卡宾枪 -gun.name.uacDeagle=UAC-H54“火星猛禽”大容量手枪 -gun.name.uacDMR=UAC-30 精确射手步枪 -gun.name.uacLMG=UAC-49轻机枪 -gun.name.uacPistol=UAC-B950 .45 标准型手枪 -gun.name.uacSMG=UAC-17小型冲锋枪 -gun.name.uboinik=Uboinik转轮霰弹枪 -gun.name.uzi=IMI Uzi -gun.name.uziSatur=IMI Uzi D-25A -gun.name.win1887=温彻斯特M1887杠杆式连发霰弹枪 -gun.name.win1887Inox=温彻斯特M1887杠杆式连发霰弹枪 Inox -gun.name.win20Inox=温彻斯特20型Inox -gun.name.win20Poly=温彻斯特20型聚合物 -gun.name.win20Satur=温彻斯特20型 D-25A -gun.name.zomg=EMC101棱镜负能量炮 - -hadron.analysis=正在分析... -hadron.buttonOn=分析室启动(如果存在) -hadron.buttonOff=分析室关闭 -hadron.error_generic=错误! -hadron.error_no_charge=错误 0x01 [能量不足] -hadron.error_no_analysis=错误 0x02 [无法分析] -hadron.error_obstructed_channel=错误 0x03 [通道阻塞] -hadron.error_expected_coil=错误 0x04 [缺少线圈] -hadron.error_malformed_segment=错误 0x05 [错误区段] -hadron.error_analysis_too_long=错误 0x06 [分析室过长] -hadron.error_analysis_too_short=错误 0x06 [分析室过长] -hadron.error_diode_collision=错误 0x08 [二极管方向错误] -hadron.error_branching_turn=错误 0x09 [多处分支] -hadron.hopper0=§e正常模式:$将使用所有物品 -hadron.hopper1=§e料斗模式:$将始终保留一个物品 -hadron.hopper2=§e单物品模式:$每个槽位只接受一个物品 -hadron.idle=空闲 -hadron.modeCircular=§e环形加速器模式:$磁铁必须环绕核心$解锁更多配方 -hadron.modeLine=§e直线加速器模式:$加速器末端有分析室$更少的配方 -hadron.noresult=无结果 -hadron.noresult_too_slow=动量不足! -hadron.noresult_wrong_ingredient=无效配方! -hadron.noresult_wrong_mode=错误模式! -hadron.progress=正在进行中... -hadron.stats=上一次结果: -hadron.stats_coord=错误位置:%s/%s/%s -hadron.stats_momentum=动量: %s -hadron.success=已完成! - -hazard.prot=防止危险: -hazard.noprot=不能防止: -hazard.bacteria=细菌/气溶胶 -hazard.corrosive=腐蚀性烟雾 -hazard.gasChlorine=化学气体 -hazard.gasInert=惰性气体/沥青 -hazard.gasMonoxide=一氧化碳 -hazard.light=亮光 -hazard.nerveAgent=神经毒剂 -hazard.neverProtects=无法防护: -hazard.particleCoarse=空气微粒 -hazard.particleFine=微粒 -hazard.sand=眼睛刺激物 - -hbm.key=HBM的核科技mod 热键 -hbm.key.calculator=计算器 -hbm.key.craneLoad=装卸起重机 -hbm.key.craneMoveDown=向后移动起重机 -hbm.key.craneMoveLeft=向左移动起重机 -hbm.key.craneMoveRight=向右移动起重机 -hbm.key.craneMoveUp=向前移动起重机 -hbm.key.dash=冲刺 (在config中解绑) -hbm.key.toggleBack=开关 喷气背包 -hbm.key.toggleHUD=开关 HUD -hbm.key.reload=装弹 - -hbmfluid.amat=反物质 -hbmfluid.aromatics=芳香烃 -hbmfluid.aschrab=反Sa326 -hbmfluid.balefire=野火火箭燃料 -hbmfluid.biofuel=生物燃料 -hbmfluid.biogas=沼气 -hbmfluid.bitumen=沥青 -hbmfluid.blood=血 -hbmfluid.blood_hot=热的血 -hbmfluid.calcium_chloride=氯化钙溶液 -hbmfluid.calcium_solution=钙溶液 -hbmfluid.carbondioxide=二氧化碳 -hbmfluid.chlorine=氯气 -hbmfluid.chlorocalcite_cleaned=纯净氯方解石溶液 -hbmfluid.chlorocalcite_mix=混合氯方解石溶液 -hbmfluid.chlorocalcite_solution=氯方解石溶液 -hbmfluid.cholesterol=胆固醇溶液 -hbmfluid.coalcreosote=煤焦杂酚油 -hbmfluid.coalgas=煤汽油 -hbmfluid.coalgas_leaded=含铅煤汽油 -hbmfluid.coaloil=煤液化油 -hbmfluid.colloid=胶体 -hbmfluid.coolant=冷却液 -hbmfluid.coolant_hot=热冷却液 -hbmfluid.crackoil=裂化油 -hbmfluid.crackoil_ds=脱硫裂化油 -hbmfluid.cryogel=冷凝胶 -hbmfluid.death=锇酸溶液 -hbmfluid.deuterium=氘 -hbmfluid.diesel=柴油 -hbmfluid.diesel_crack=裂化柴油 -hbmfluid.diesel_crack_reform=高辛烷值裂化柴油 -hbmfluid.diesel_reform=高辛烷值柴油 -hbmfluid.egg=蛋溶解液 -hbmfluid.estradiol=雌二醇溶液 -hbmfluid.ethanol=乙醇 -hbmfluid.enderjuice=末影果汁 -hbmfluid.fishoil=鱼油 -hbmfluid.fracksol=压裂液 -hbmfluid.fullerene=富勒烯溶液 -hbmfluid.gas=天然气 -hbmfluid.gas_coker=焦化气 -hbmfluid.gasoline=含铅汽油基油 -hbmfluid.gasoline_leaded=含铅汽油 -hbmfluid.heatingoil=燃油 -hbmfluid.heatingoil_vacuum=重质燃油 -hbmfluid.heavyoil=重油 -hbmfluid.heavyoil_vacuum=减压重油 -hbmfluid.heavywater=重水 -hbmfluid.heavywater_hot=高温重水 -hbmfluid.helium3=氦-3 -hbmfluid.helium4=氦-4 -hbmfluid.hotcrackoil=热裂化油 -hbmfluid.hotcrackoil_ds=热的脱硫裂化油 -hbmfluid.hotoil=热原油 -hbmfluid.hotoil_ds=热的脱硫原油 -hbmfluid.hotsteam=热蒸汽 -hbmfluid.hydrogen=液氢 -hbmfluid.iongel=离子凝胶 -hbmfluid.kerosene=煤油 -hbmfluid.kerosene_reform=喷气燃料 -hbmfluid.lava=岩浆 -hbmfluid.lightoil=轻油 -hbmfluid.lightoil_crack=裂化轻油 -hbmfluid.lightoil_ds=脱硫轻油 -hbmfluid.lightoil_vacuum=减压轻油 -hbmfluid.lpg=液化石油气 -hbmfluid.lubricant=润滑油 -hbmfluid.mercury=水银 -hbmfluid.mug=Mug牌树根饮料 -hbmfluid.mug_hot=热的Mug牌树根饮料 -hbmfluid.mustardgas=芥子气 -hbmfluid.naphtha=石脑油 -hbmfluid.naphtha_coker=焦化石脑油 -hbmfluid.naphtha_crack=裂化石脑油 -hbmfluid.naphtha_ds=脱硫石脑油 -hbmfluid.nitan=NITAN牌100号超级燃料 -hbmfluid.nitric_acid=硝酸 -hbmfluid.nitroglycerin=硝酸甘油 -hbmfluid.none=无 -hbmfluid.oil=原油 -hbmfluid.oil_coker=焦化油 -hbmfluid.oil_ds=脱硫原油 -hbmfluid.oxygen=液氧 -hbmfluid.oxyhydrogen=氢氧混合气 -hbmfluid.pain=Pn(III) 钽铁溶液 -hbmfluid.peroxide=过氧化氢 -hbmfluid.petroil=汽油 -hbmfluid.petroil_leaded=含铅石油 -hbmfluid.petroleum=石油气 -hbmfluid.phosgene=光气 -hbmfluid.pheromone=异虫信息素 -hbmfluid.pheromone_m=增强异虫信息素 -hbmfluid.plasma_bf=野火等离子体 -hbmfluid.plasma_dh3=氘-氦3 等离子体 -hbmfluid.plasma_dt=氘-氚等离子体 -hbmfluid.plasma_hd=氢-氘等离子体 -hbmfluid.plasma_ht=氢-氚等离子体 -hbmfluid.plasma_xm=液氧-氦-4等离子体 -hbmfluid.potassium_chloride=氯化钾溶液 -hbmfluid.puf6=六氟化钚 -hbmfluid.radiosolvent=高性能溶剂 -hbmfluid.reclaimed=再生油 -hbmfluid.redmud=红色泥浆 -hbmfluid.reformate=重整油 -hbmfluid.reformgas=重整气 -hbmfluid.salient=绿色液体 -hbmfluid.sas3=三硫化Sa -hbmfluid.schrabidic=Sa酸 -hbmfluid.seedslurry=播种浆料 -hbmfluid.slop=洗矿废水 -hbmfluid.smear=工业油 -hbmfluid.smoke=烟雾 -hbmfluid.smoke_leaded=含铅烟雾 -hbmfluid.smoke_poison=有毒烟雾 -hbmfluid.sodium=液态钠 -hbmfluid.sodium_hot=高温液态钠 -hbmfluid.solvent=有机溶剂 -hbmfluid.sourgas=高硫天然气 -hbmfluid.spentsteam=低压蒸汽 -hbmfluid.steam=蒸汽 -hbmfluid.stellar_flux=星流浆 -hbmfluid.sulfuric_acid=硫酸 -hbmfluid.sunfloweroil=葵花籽油 -hbmfluid.superhotsteam=超热蒸汽 -hbmfluid.syngas=合成气 -hbmfluid.thorium_salt=液态钍盐 -hbmfluid.thorium_salt_depleted=贫化液态钍盐 -hbmfluid.thorium_salt_hot=高温液态钍盐 -hbmfluid.tritium=氚 -hbmfluid.uf6=六氟化铀 -hbmfluid.ultrahotsteam=超浓密蒸汽 -hbmfluid.unsaturateds=不饱和烃 -hbmfluid.vitriol=硫酸盐 -hbmfluid.wastefluid=液态核废料 -hbmfluid.wastegas=气态核废料 -hbmfluid.water=水 -hbmfluid.watz=毒泥浆 -hbmfluid.woodoil=木油 -hbmfluid.xenon=氙气 -hbmfluid.xpjuice=经验汁 -hbmfluid.xylene=轻质芳烃(BTX) - -hbmpseudofluid.none=空 -hbmpseudofluid.heuf6=高浓缩六氟化铀 -hbmpseudofluid.meuf6=中浓缩六氟化铀 -hbmpseudofluid.leuf6=低浓缩六氟化铀 -hbmpseudofluid.nuf6=天然浓度六氟化铀 -hbmpseudofluid.pf6=六氟化钚 -hbmpseudofluid.mud_heavy=毒泥浆重馏分 -hbmpseudofluid.mud=毒泥浆气态物 - -hbmmat.actinium227=锕-227 -hbmmat.advancedalloy=高级合金 -hbmmat.aluminum=铝 -hbmmat.americiumrg=反应堆级镅 -hbmmat.americium241=镅-241 -hbmmat.americium242=镅-242 -hbmmat.arsenic=砷 -hbmmat.arsenicbronze=砷青铜 -hbmmat.asbestos=石棉 -hbmmat.bakelite=电木 -hbmmat.beryllium=铍 -hbmmat.bismuth=铋 -hbmmat.bismuthbronze=铋青铜 -hbmmat.borax=硼砂 -hbmmat.boron=硼 -hbmmat.bscco=BSCCO -hbmmat.cadmium=镉 -hbmmat.calcium=钙 -hbmmat.carbon=碳 -hbmmat.cdalloy=镉钢 -hbmmat.chlorocalcite=氯方解石 -hbmmat.cinnabar=朱砂 -hbmmat.cmbsteel=CMB钢 -hbmmat.coal=煤 -hbmmat.coalcoke=焦煤 -hbmmat.cobalt=钴 -hbmmat.cobalt60=钴-60 -hbmmat.coltan=钶钽铁矿 -hbmmat.copper=铜 -hbmmat.desh=Desh -hbmmat.diamond=钻石 -hbmmat.dineutronium=双聚中子态素 -hbmmat.durasteel=高速钢 -hbmmat.emerald=绿宝石 -hbmmat.euphemium=Ep -hbmmat.ferrouranium=铀铁合金 -hbmmat.fiberglass=玻璃纤维 -hbmmat.fluorite=氟石 -hbmmat.flux=助熔剂 -hbmmat.ghiorsium336=Gh-336 -hbmmat.gold=金 -hbmmat.gold198=金-198 -hbmmat.graphene=石墨烯 -hbmmat.graphite=石墨 -hbmmat.hematite=赤铁矿 -hbmmat.iron=铁 -hbmmat.lanthanum=镧 -hbmmat.lapis=青金石 -hbmmat.lead=铅 -hbmmat.lead209=铅-209 -hbmmat.lignitecoke=褐煤焦煤 -hbmmat.lignite=褐煤 -hbmmat.lithium=锂 -hbmmat.magnetizedtungsten=磁化钨 -hbmmat.malachite=孔雀石 -hbmmat.meteoriciron=陨铁 -hbmmat.mingrade=紫铜 -hbmmat.molysite=氯化铁 -hbmmat.neodymium=钕 -hbmmat.neptunium237=镎-237 -hbmmat.niobium=铌 -hbmmat.obsidian=黑曜石 -hbmmat.osmiridium=铱锇合金 -hbmmat.petcoke=石油焦炭 -hbmmat.pigiron=生铁 -hbmmat.plutonium=钚 -hbmmat.plutonium238=钚-238 -hbmmat.plutonium239=钚-239 -hbmmat.plutonium240=钚-240 -hbmmat.plutonium241=钚-241 -hbmmat.plutoniumrg=反应堆级钚 -hbmmat.polonium210=钋-210 -hbmmat.polymer=聚合物 -hbmmat.radium226=镭-226 -hbmmat.rareearth=稀土 -hbmmat.redphosphorus=红磷 -hbmmat.redstone=红石 -hbmmat.rubber=橡胶 -hbmmat.saltpeter=硝石 -hbmmat.saturnite=土星 -hbmmat.schrabidate=Sa酸铁 -hbmmat.schrabidium=Sa326 -hbmmat.schraranium=低丰度Sa326 -hbmmat.silicon=硅 -hbmmat.slag=炉渣 -hbmmat.sodalite=方钠石 -hbmmat.sodium=钠 -hbmmat.solinium=Sa327 -hbmmat.starmetal=星辉 -hbmmat.steel=钢 -hbmmat.stone=石头 -hbmmat.strontium=锶 -hbmmat.sulfur=硫 -hbmmat.tantalum=钽 -hbmmat.tcalloy=锝钢 -hbmmat.technetium99=锝-99 -hbmmat.titanium=钛 -hbmmat.thorium232=钍-232 -hbmmat.tungsten=钨 -hbmmat.uranium=铀 -hbmmat.uranium233=铀-233 -hbmmat.uranium235=铀-235 -hbmmat.uranium238=铀-238 -hbmmat.watzmud=毒泥浆 -hbmmat.whitephosphorus=白磷 -hbmmat.workersalloy=Desh -hbmmat.wroughtiron=锻铁 -hbmmat.zirconium=锆 - -matshape.block=%s 块 -matshape.blocks=%s 块 -matshape.ingot=%s 锭 -matshape.ingots=%s 锭 -matshape.nugget=%s 粒 -matshape.nuggets=%s 粒 -matshape.quantum=%s 量子 -matshape.quanta=%s 量子 - -icffuel.beryllium=铍 -icffuel.boron=硼 -icffuel.carbon=碳 -icffuel.calcium=钙 -icffuel.chlorine=氯 -icffuel.deuterium=氘 -icffuel.helium3=氦-3 -icffuel.helium4=氦-4 -icffuel.hydrogen=氢 -icffuel.lithium=锂 -icffuel.oxygen=氧 -icffuel.sodium=钠 -icffuel.tritium=氚 - -info.asbestos=我感觉我的肺在燃烧。 -info.coaldust=在这里很难呼吸。 -info.coil=线圈强度 -info.templatefolder=需要使用%s创建 -info.template_in=输入: -info.template_in_p=输入: -info.template_out=输出: -info.template_out_p=输出: -info.template_seconds=秒 -info.template_time=生产耗时: - -item.acetylene_torch.name=乙炔焊罐 -item.ajr_boots.name=AJR 动力装甲靴子 -item.ajr_helmet.name=AJR 动力装甲头盔 -item.ajr_legs.name=AJR 动力装甲护腿 -item.ajr_plate.name=AJR 动力装甲胸甲 -item.ajro_boots.name=AJR动力装甲靴子 -item.ajro_helmet.name=AJR 动力装甲头盔 -item.ajro_legs.name=AJR 动力装甲护腿 -item.ajro_plate.name=AJR 动力装甲胸甲 -item.alloy_axe.name=高级合金斧 -item.alloy_boots.name=高级合金靴子 -item.alloy_helmet.name=高级合金头盔 -item.alloy_hoe.name=高级合金锄 -item.alloy_legs.name=高级合金护腿 -item.alloy_pickaxe.name=高级合金镐 -item.alloy_plate.name=高级合金胸甲 -item.alloy_shovel.name=高级合金锹 -item.alloy_sword.name=高级合金剑 -item.ammo_12gauge.name=12号鹿弹 -item.ammo_12gauge_du.name=12号鹿弹[铀涂层] -item.ammo_12gauge_incendiary.name=12号鹿弹[燃烧] -item.ammo_12gauge_marauder.name=12号战术反掠夺鹿弹 -item.ammo_12gauge_percussion.name=12号冲击火药帽 -item.ammo_12gauge_shrapnel.name=12号鹿弹[榴霰弹] -item.ammo_12gauge_sleek.name=12号鹿弹[IF-R&D] -item.ammo_20gauge.name=20号鹿弹 -item.ammo_20gauge_caustic.name=20号鹿弹[腐蚀] -item.ammo_20gauge_explosive.name=20号鹿弹[高爆] -item.ammo_20gauge_flechette.name=20号箭霰弹 -item.ammo_20gauge_incendiary.name=20号鹿弹[燃烧] -item.ammo_20gauge_shock.name=20号鹿弹[震荡] -item.ammo_20gauge_shrapnel.name=20号鹿弹[榴霰弹] -item.ammo_20gauge_sleek.name=20号鹿弹[IF-R&D] -item.ammo_20gauge_slug.name=20号独头弹 -item.ammo_20gauge_wither.name=20号鹿弹[凋零] -item.ammo_22lr.name=.22LR子弹 -item.ammo_22lr_ap.name=.22LR子弹[AP] -item.ammo_22lr_chlorophyte.name=.22LR子弹[叶绿] -item.ammo_357_desh.name=.357马格南Desh子弹 -item.ammo_44.name=.44马格南子弹 -item.ammo_44_ap.name=.44马格南子弹[AP] -item.ammo_44_bj.name=.44马格南子弹[船] -item.ammo_44_chlorophyte.name=.44马格南子弹[叶绿] -item.ammo_44_du.name=.44马格南子弹[贫铀] -item.ammo_44_phosphorus.name=.44马格南子弹[白磷] -item.ammo_44_pip.name=.44马格南子弹[车厢] -item.ammo_44_rocket.name=.44马格南火箭 -item.ammo_44_silver.name=.44马格南子弹[建筑] -item.ammo_44_star.name=.44马格南子弹[星辉] -item.ammo_45.name=.45 ACP 子弹 -item.ammo_45_ap.name=.45 ACP 子弹[AP] -item.ammo_45_du.name=.45 ACP 子弹[贫铀] -item.ammo_4gauge.name=四号鹿弹 -item.ammo_4gauge_balefire.name=23mm野火榴弹 -item.ammo_4gauge_canister.name=23mm 火箭弹[榴霰弹] -item.ammo_4gauge_claw.name=4号爪弹 -item.ammo_4gauge_explosive.name=23mm榴弹 -item.ammo_4gauge_flechette.name=4号箭霰弹 -item.ammo_4gauge_flechette_phosphorus.name=4号箭霰弹[白磷] -item.ammo_4gauge_kampf.name=23mm火箭弹 -item.ammo_4gauge_semtex.name=23mm采矿弹药 -item.ammo_4gauge_sleek.name=4号鹿弹[IF-R&D] -item.ammo_4gauge_slug.name=四号实心独头弹 -item.ammo_4gauge_titan.name=4号Quacker鹿弹 -item.ammo_4gauge_vampire.name=4号木签弹 -item.ammo_4gauge_void.name=4号电离粒子弹 -item.ammo_50ae.name=.50AE子弹 -item.ammo_50ae_ap.name=.50AE子弹[AP] -item.ammo_50ae_chlorophyte.name=.50AE子弹[叶绿] -item.ammo_50ae_du.name=.50AE子弹[贫铀] -item.ammo_50ae_star.name=.50AE子弹[星辉] -item.ammo_50bmg.name=.50BMG子弹 -item.ammo_50bmg_ap.name=.50BMG子弹[AP] -item.ammo_50bmg_chlorophyte.name=.50BMG子弹[叶绿] -item.ammo_50bmg_du.name=.50BMG子弹[贫铀] -item.ammo_50bmg_explosive.name=.50BMG子弹[高爆] -item.ammo_50bmg_flechette.name=.50 BMG镖形弹 -item.ammo_50bmg_flechette_am.name=.50 BMG镖形弹[含镅] -item.ammo_50bmg_flechette_po.name=.50 BMG镖形弹[含钋] -item.ammo_50bmg_incendiary.name=.50BMG子弹[燃烧] -item.ammo_50bmg_phosphorus.name=.50BMG子弹[白磷] -item.ammo_50bmg_sleek.name=.50BMG子弹[IF-R&D] -item.ammo_50bmg_star.name=.50BMG子弹[星辉] -item.ammo_556.name=5.56mm子弹 -item.ammo_556_ap.name=5.56mm子弹[AP] -item.ammo_556_chlorophyte.name=5.56mm子弹[叶绿] -item.ammo_556_du.name=5.56mm子弹[贫铀] -item.ammo_556_flechette.name=5.56mm弗莱彻子弹 -item.ammo_556_flechette_chlorophyte.name=5.56mm弗莱彻子弹[叶绿] -item.ammo_556_flechette_du.name=5.56mm弗莱彻子弹 [贫铀穿甲] -item.ammo_556_flechette_incendiary.name=5.56mm弗莱彻子弹 [燃烧] -item.ammo_556_flechette_phosphorus.name=5.56mm弗莱彻子弹 [白磷穿甲] -item.ammo_556_flechette_sleek.name=5.56mm弗莱彻子弹[IF-R&D] -item.ammo_556_k.name=5.56mm空包弹 -item.ammo_556_phosphorus.name=5.56mm子弹[白磷] -item.ammo_556_sleek.name=5.56mm子弹[IF-R&D] -item.ammo_556_star.name=5.56mm子弹 [星辉] -item.ammo_556_tracer.name=5.56mm 子弹[曳光弹] -item.ammo_5mm.name=5mm子弹 -item.ammo_5mm_chlorophyte.name=5mm子弹[叶绿] -item.ammo_5mm_du.name=5mm子弹[贫铀] -item.ammo_5mm_explosive.name=5mm子弹[高爆] -item.ammo_5mm_star.name=5mm子弹[星辉] -item.ammo_75bolt.name=.75弹匣(30发) -item.ammo_75bolt_incendiary.name=.75燃烧弹匣(30发) -item.ammo_75bolt_he.name=.75高爆弹匣(30发) -item.ammo_762.name=7.62mm 子弹 -item.ammo_762_ap.name=7.62mm 子弹[AP] -item.ammo_762_du.name=7.62mm 子弹[贫铀] -item.ammo_762_k.name=7.62mm 空包弹 -item.ammo_762_phosphorus.name=7.62mm 子弹[白磷] -item.ammo_762_tracer.name=7.62mm 子弹[曳光] -item.ammo_9mm.name=9mm子弹 -item.ammo_9mm_ap.name=9mm子弹[AP] -item.ammo_9mm_chlorophyte.name=9mm子弹[叶绿] -item.ammo_9mm_du.name=9mm子弹[贫铀] -item.ammo_9mm_rocket.name=9mm火箭弹 -item.ammo_arty.name=16英寸炮弹 -item.ammo_arty_cargo.name=16英寸快递炮弹 -item.ammo_arty_chlorine.name=16英寸氯气炮弹 -item.ammo_arty_classic.name=16英寸炮弹 (特制) -item.ammo_arty_he.name=16英寸高爆炮弹 -item.ammo_arty_mini_nuke.name=16英寸微型核炮弹 -item.ammo_arty_mini_nuke_multi.name=16英寸多弹头微型核炮弹 -item.ammo_arty_mustard_gas.name=16英寸芥子气炮弹 -item.ammo_arty_nuke.name=16英寸核炮弹 -item.ammo_arty_phosgene.name=16英寸光气炮弹 -item.ammo_arty_phosphorus.name=16英寸磷炮弹 -item.ammo_arty_phosphorus_multi.name=16英寸多弹头磷炮弹 -item.ammo_cell.name=能量单元 -item.ammo_coilgun.name=钨制线圈枪子弹 -item.ammo_coilgun_du.name=铀铁合金制线圈枪子弹 -item.ammo_coilgun_rubber.name=橡胶制线圈枪子弹 -item.ammo_container.name=万能弹药盒 -item.ammo_dart.name=塑料镖[凋零] -item.ammo_dart_nerf.name=NERF 飞镖 -item.ammo_dart_nuclear.name=塑料镖[定时炸药] -item.ammo_dgk.name=双联守门员近防系统200发弹药 -item.ammo_fireext.name=灭火器 水罐 -item.ammo_fireext_foam.name=灭火器 泡沫罐 -item.ammo_fireext_sand.name=灭火器 硼沙罐 -item.ammo_folly.name=银弹 -item.ammo_folly_du.name=银弹[贫铀, 不爆炸] -item.ammo_folly_nuclear.name=银弹[核子] -item.ammo_fuel.name=柴油罐 -item.ammo_fuel_gas.name=毒气罐 -item.ammo_fuel_napalm.name=凝固汽油罐 -item.ammo_fuel_phosphorus.name=白磷罐 -item.ammo_fuel_vaporizer.name=汽化罐 -item.ammo_grenade.name=40mm榴弹 -item.ammo_grenade_concussion.name=40mm榴弹[震荡] -item.ammo_grenade_finned.name=40mm榴弹[尾翼稳定] -item.ammo_grenade_he.name=40mm榴弹[HE] -item.ammo_grenade_incendiary.name=40mm榴弹[燃烧] -item.ammo_grenade_kampf.name=40mm战术榴弹 -item.ammo_grenade_leadburster.name=40mm 开路先锋 -item.ammo_grenade_nuclear.name=40mm榴弹[核子] -item.ammo_grenade_phosphorus.name=40mm榴弹[白磷] -item.ammo_grenade_sleek.name=40mm榴弹[IF-R&D] -item.ammo_grenade_toxic.name=40mm榴弹[化学] -item.ammo_grenade_tracer.name=40mm训练榴弹 -item.ammo_himars_standard.name=M28制导火箭炮系统火箭弹舱 -item.ammo_himars_standard_he.name=227毫米制导火箭炮系统火箭吊舱(HE) -item.ammo_himars_standard_lava.name=227毫米制导火箭炮系统火箭吊舱(熔岩) -item.ammo_himars_standard_mini_nuke.name=227毫米制导火箭炮系统火箭吊舱(迷你核弹) -item.ammo_himars_standard_tb.name=227毫米制导火箭炮系统火箭吊舱(温压弹) -item.ammo_himars_standard_wp.name=227毫米制导火箭炮系统火箭吊舱(白磷) -item.ammo_himars_single.name=M39A1制导火箭炮系统火箭弹舱 -item.ammo_himars_single_tb.name=610毫米制导火炮火箭吊舱(温压弹) -item.ammo_luna.name=Lunatic狙击弹 -item.ammo_luna_explosive.name=Lunatic狙击爆炸弹 -item.ammo_luna_incendiary.name=Lunatic狙击燃烧弹 -item.ammo_mirv.name=迷你MIRV -item.ammo_mirv_high.name=迷你MIRV (高当量) -item.ammo_mirv_low.name=迷你MIRV (低当量) -item.ammo_mirv_safe.name=迷你MIRV (安全) -item.ammo_mirv_special.name=迷你MIRV -item.ammo_nuke.name=迷你核弹 -item.ammo_nuke_barrel.name=小型核废料桶 -item.ammo_nuke_high.name=迷你核弹 (高当量) -item.ammo_nuke_low.name=迷你核弹 (低当量) -item.ammo_nuke_pumpkin.name=南瓜炸弹 -item.ammo_nuke_safe.name=迷你核弹 (安全) -item.ammo_nuke_tots.name=迷你核弹 (幼体) -item.ammo_rocket.name=84mm火箭弹 -item.ammo_rocket_canister.name=84mm 火箭弹[榴霰弹] -item.ammo_rocket_digamma.name=§4归 零§r -item.ammo_rocket_emp.name=84mm火箭弹[EMP] -item.ammo_rocket_glare.name=84mm火箭弹[红光] -item.ammo_rocket_he.name=84mm火箭弹[HE] -item.ammo_rocket_incendiary.name=84mm火箭弹[燃烧] -item.ammo_rocket_nuclear.name=84mm火箭弹[核子] -item.ammo_rocket_phosphorus.name=84mm火箭弹[白磷] -item.ammo_rocket_rpc.name=84mm火箭弹[飞行电锯] -item.ammo_rocket_shrapnel.name=84mm火箭弹[破片] -item.ammo_rocket_sleek.name=84mm火箭弹[IF-R&D] -item.ammo_rocket_toxic.name=84mm火箭弹[化学] -item.ammo_shell.name=240mm炮弹 -item.ammo_shell_apfsds_du.name=240mm 贫铀尾翼稳定脱壳穿甲弹 -item.ammo_shell_apfsds_t.name=240mm 钨心尾翼稳定脱壳穿甲弹 -item.ammo_shell_explosive.name=240mm 高爆炮弹 -item.ammo_shell_w9.name=240mm W9核子炮弹 -item.ammo_stinger_rocket.name=毒刺导弹 -item.ammo_stinger_rocket_he.name=毒刺导弹[高爆] -item.ammo_stinger_rocket_incendiary.name=毒刺导弹[燃烧] -item.ammo_stinger_rocket_nuclear.name=毒刺导弹[Привет] -item.ammo_stinger_rocket_bones.name=毒刺导弹[寻骨] -item.ams_catalyst_aluminium.name=铝反应催化剂 -item.ams_catalyst_beryllium.name=铍反应催化剂 -item.ams_catalyst_blank.name=空白反应催化剂 -item.ams_catalyst_caesium.name=铯反应催化剂 -item.ams_catalyst_cerium.name=铈反应催化剂 -item.ams_catalyst_cobalt.name=钴反应催化剂 -item.ams_catalyst_copper.name=铜反应催化剂 -item.ams_catalyst_dineutronium.name=双聚中子态素反应催化剂 -item.ams_catalyst_euphemium.name=Ep反应催化剂 -item.ams_catalyst_iron.name=铁反应催化剂 -item.ams_catalyst_lithium.name=锂反应催化剂 -item.ams_catalyst_niobium.name=铌反应催化剂 -item.ams_catalyst_schrabidium.name=Sa326反应催化剂 -item.ams_catalyst_strontium.name=锶反应催化剂 -item.ams_catalyst_thorium.name=钍反应催化剂 -item.ams_catalyst_tungsten.name=钨反应催化剂 -item.ams_core_eyeofharmony.name=和谐之眼[AMS/DFC核心] -item.ams_core_sing.name=活跃奇点[AMS/DFC核心] -item.ams_core_thingy.name=Thingy[AMS/DFC核心] -item.ams_core_wormhole.name=微型虫洞[AMS/DFC核心] -item.ams_focus_blank.name=空白稳定器焦点 -item.ams_focus_booster.name=增压型稳定器焦点 -item.ams_focus_booster.desc=较弱的约束场和核心能量注入:$更多的热量产生,更多的能量。 -item.ams_focus_limiter.name=限制稳定器焦点 -item.ams_focus_limiter.desc=限制领域的最高性能:$标准冷却,无能源加成。 -item.ams_lens.name=稳定透镜 -item.ams_muzzle.name=激活射线发射极 -item.ams_muzzle.desc=...它可以发出一束能量束。 -item.analysis_tool.name=分析工具 -item.analyzer.name=分析仪 -item.anchor_remote.name=召回设备 -item.antiknock.name=四乙基铅抗爆剂 -item.apple_euphemium.name=Ep苹果 -item.apple_lead.name=铅苹果 -item.apple_schrabidium.name=Sa326苹果 -item.arc_electrode.name=石墨电极 -item.arc_electrode.desh.name=Desh电极 -item.arc_electrode.graphite.name=石墨电极 -item.arc_electrode.lanthanium.name=镧电极 -item.arc_electrode.saturnite.name=土星电极 -item.arc_electrode_burnt.name=熔化电极 -item.arc_electrode_burnt.desh.name=熔化Desh电极 -item.arc_electrode_burnt.graphite.name=熔化石墨电极 -item.arc_electrode_burnt.lanthanium.name=熔化镧电极 -item.arc_electrode_burnt.saturnite.name=熔化土星电极 -item.arc_electrode_desh.name=Desh电极 -item.armor_polish.name=亮甲牌装甲抛光剂 -item.asbestos_boots.name=防火靴 -item.asbestos_cloth.name=防火布 -item.asbestos_helmet.name=防火头盔 -item.asbestos_legs.name=防火护腿 -item.asbestos_plate.name=防火胸甲 -item.ashglasses.name=防灰烬护目镜 -item.assembly_45.name=.45 ACP子弹[待装配] -item.assembly_556.name=5.56mm子弹[待装配] -item.assembly_762.name=7.62mm子弹[待装配] -item.assembly_actionexpress.name=.50 AE子弹[待装配] -item.assembly_calamity.name=.50 BMG子弹[待装配] -item.assembly_desh.name=Desh子弹[待装配] -item.assembly_gold.name=金子弹[待装配] -item.assembly_iron.name=铁子弹[待装配] -item.assembly_lacunae.name=.5mm子弹[待装配] -item.assembly_lead.name=玻璃子弹[待装配] -item.assembly_luna.name=Lunatic狙击子弹[待装配] -item.assembly_nightmare.name=钨子弹[待装配] -item.assembly_nopip.name=.44马格南[待装配] -item.assembly_nuke.name=迷你核弹外壳 -item.assembly_pip.name=污染子弹[待装配] -item.assembly_schrabidium.name=Sa326子弹[待装配] -item.assembly_smg.name=9mm子弹[待装配] -item.assembly_steel.name=铅子弹[待装配] -item.assembly_template.name=装配机模板: -item.assembly_uzi.name=.22 LR子弹[待装配] -item.attachment_mask.name=附加型防毒面具 -item.attachment_mask_mono.name=可接入式半面罩防毒面具 -item.australium_iii.name=MkIII寿命延长剂 -item.australium_iv.name=MkIV寿命延长剂 -item.australium_v.name=MkV寿命延长剂 -item.back_tesla.name=背负式特斯拉线圈 -item.balefire_and_ham.name=火腿野火蛋 -item.balefire_and_steel.name=野火打火石 -item.balefire_scrambled.name=炒野火蛋 -item.ball_dynamite.name=硝糖炸药 -item.ball_fireclay.name=耐火粘土 -item.ball_resin.name=乳胶 -item.ball_tatb.name=三氨基三硝基苯(TATB) -item.ball_tnt.name=TNT炸药 -item.ballistic_gauntlet.name=冲击拳套 -item.ballistite.name=混合无烟火药 -item.bandaid.name=邦迪创可贴 -item.bathwater.name=有毒肥皂水 -item.bathwater_mk2.name=有毒肥皂水(马香味) -item.battery_advanced.name=高级电池 -item.battery_advanced_cell.name=高级电池组 -item.battery_advanced_cell_12.name=十二联高级电池组 -item.battery_advanced_cell_4.name=四联高级电池组 -item.battery_creative.name=无限电池 -item.battery_generic.name=电池 -item.battery_lithium.name=锂电池 -item.battery_lithium_cell.name=锂电池组 -item.battery_lithium_cell_3.name=三联锂电池组 -item.battery_lithium_cell_6.name=六联锂电池组 -item.battery_potato.name=马铃薯电池 -item.battery_potatos.name=马铃薯OS -item.battery_red_cell.name=红石电池组 -item.battery_red_cell_24.name=二十四联红石电池组 -item.battery_red_cell_6.name=六联红石电池组 -item.battery_sc_americium.name=自充电 镅-241电池 -item.battery_sc_gold.name=自充电 金-198电池 -item.battery_sc_lead.name=自充电 铅-209电池 -item.battery_sc_plutonium.name=自充电 钚-238电池 -item.battery_sc_polonium.name=自充电 钋-210电池 -item.battery_sc_technetium.name=自充电 锝-98电池 -item.battery_sc_uranium.name=自充电 铀-238电池 -item.battery_schrabidium.name=Sa326电池 -item.battery_schrabidium_cell.name=Sa326电池组 -item.battery_schrabidium_cell_2.name=双联Sa326电池组 -item.battery_schrabidium_cell_4.name=四联Sa326电池组 -item.battery_spark.name=Spark电池 -item.battery_spark_cell_100.name=Spark神秘储能电池组 -item.battery_spark_cell_1000.name=Spark神秘物质能量空间 -item.battery_spark_cell_10000.name=Spark时空晶体 -item.battery_spark_cell_25.name=Spark神秘汽车电池 -item.battery_spark_cell_2500.name=Spark神秘迪拉克之海 -item.battery_spark_cell_6.name=Spark电池组 -item.battery_spark_cell_power.name=Spark反物理储能装置 -item.battery_steam.name=蒸汽动力储能罐 -item.battery_steam_large.name=大型蒸汽动力储能罐 -item.battery_su.name=SU-电池 -item.battery_su_l.name=大型SU-电池 -item.battery_trixite.name=杂牌Spark电池 -item.bdcl.name=BDCL -item.bedrock_ore.grade.base.name=%s基岩矿石 -item.bedrock_ore.grade.base_roasted.name=焙烧%s基岩矿石 -item.bedrock_ore.grade.base_washed.name=洗净%s基岩矿石 -item.bedrock_ore.grade.primary.name=%s基岩矿石主产物 -item.bedrock_ore.grade.primary_roasted.name=焙烧%s基岩矿石主产物 -item.bedrock_ore.grade.primary_sulfuric.name=酸浸%s基岩矿石主产物 -item.bedrock_ore.grade.primary_nosulfuric.name=离心酸浸%s基岩矿石主产物 -item.bedrock_ore.grade.primary_solvent.name=溶解%s基岩矿石主产物 -item.bedrock_ore.grade.primary_nosolvent.name=离心溶解%s基岩矿石主产物 -item.bedrock_ore.grade.primary_rad.name=清洁%s基岩矿石主产物 -item.bedrock_ore.grade.primary_norad.name=离心清洁%s基岩矿石主产物 -item.bedrock_ore.grade.primary_first.name=高重量%s基岩矿石主产物 -item.bedrock_ore.grade.primary_second.name=低重量%s基岩矿石主产物 -item.bedrock_ore.grade.crumbs.name=%s基岩矿石矿渣 -item.bedrock_ore.grade.sulfuric_byproduct.name=酸浸%s基岩矿石副产物 -item.bedrock_ore.grade.sulfuric_roasted.name=焙烧酸浸%s基岩矿石副产物 -item.bedrock_ore.grade.sulfuric_arc.name=灼热酸浸%s基岩矿石副产物 -item.bedrock_ore.grade.sulfuric_washed.name=洗净酸浸%s基岩矿石副产物 -item.bedrock_ore.grade.solvent_byproduct.name=溶解%s基岩矿石副产物 -item.bedrock_ore.grade.solvent_roasted.name=焙烧溶解%s基岩矿石副产物 -item.bedrock_ore.grade.solvent_arc.name=灼热溶解%s基岩矿石副产物 -item.bedrock_ore.grade.solvent_washed.name=洗净溶解%s基岩矿石副产物 -item.bedrock_ore.grade.rad_byproduct.name=清洁%s基岩矿石副产物 -item.bedrock_ore.grade.rad_roasted.name=焙烧清洁%s基岩矿石副产物 -item.bedrock_ore.grade.rad_arc.name=灼热清洁%s基岩矿石副产物 -item.bedrock_ore.grade.rad_washed.name=洗净清洁%s基岩矿石副产物 -item.bedrock_ore.trait.arc=§6电弧炉煅烧 -item.bedrock_ore.trait.centrifuged=§9离心处理 -item.bedrock_ore.trait.rad=§a高性能溶剂处理 -item.bedrock_ore.trait.roasted=§e复式炼焦炉焙烧 -item.bedrock_ore.trait.solvent=§f有机溶剂处理 -item.bedrock_ore.trait.sulfuric=§6硫酸处理 -item.bedrock_ore.trait.washed=§b水洗 -item.bedrock_ore.type.actinide.name=锕系元素 -item.bedrock_ore.type.crystal.name=晶体 -item.bedrock_ore.type.heavy.name=重金属 -item.bedrock_ore.type.light.name=轻金属 -item.bedrock_ore.type.nonmetal.name=非金属 -item.bedrock_ore.type.rare.name=稀土 -item.bedrock_ore_base.name=基岩矿石原矿 -item.bedrock_ore_fragment.name=%s基岩矿石碎片 -item.beta.name=Beta测试版功能 -item.big_sword.name=大剑 -item.billet_actinium.name=锕-227坯料 -item.billet_am_mix.name=反应堆级镅坯料 -item.billet_am241.name=镅-241坯料 -item.billet_am242.name=镅-242坯料 -item.billet_americium_fuel.name=镅燃料坯料 -item.billet_au198.name=金-198坯料 -item.billet_australium.name=奥斯坯料 -item.billet_australium_greater.name=富集奥斯坯料 -item.billet_australium_lesser.name=贫化奥斯坯料 -item.billet_balefire_gold.name=激活态金-198坯料 -item.billet_beryllium.name=铍坯料 -item.billet_bismuth.name=铋坯料 -item.billet_co60.name=钴-60坯料 -item.billet_cobalt.name=钴坯料 -item.billet_flashlead.name=闪光铅坯料 -item.billet_flashlead.desc=晶格衰变,引起反物质湮灭反应,导致π介子释放,衰变为μ子,催化原子核融合,产生新的元素$请尽量跟上。 -item.billet_gh336.name=Gh336坯料 -item.billet_gh336.desc=钅喜的同事 -item.billet_hes.name=高浓缩度Sa326燃料坯料 -item.billet_les.name=低浓缩度Sa326燃料坯料 -item.billet_mox_fuel.name=MOX燃料坯料 -item.billet_mox_fuel.desc=口袋摩西! -item.billet_neptunium.name=镎坯料 -item.billet_neptunium_fuel.name=镎核燃料坯料 -item.billet_nuclear_waste.name=核废料坯料 -item.billet_pb209.name=铅-209坯料 -item.billet_po210be.name=钋210-铍坯料 -item.billet_polonium.name=钋坯料 -item.billet_pu_mix.name=反应堆级钚坯料 -item.billet_pu238.name=钚-238坯料 -item.billet_pu238be.name=钚238-铍坯料 -item.billet_pu239.name=钚-239坯料 -item.billet_pu240.name=钚-240坯料 -item.billet_pu241.name=钚-241坯料 -item.billet_plutonium.name=钚坯料 -item.billet_plutonium_fuel.name=钚燃料坯料 -item.billet_ra226.name=镭-226坯料 -item.billet_ra226be.name=镭226-铍坯料 -item.billet_schrabidium.name=Sa326坯料 -item.billet_schrabidium_fuel.name= Sa326燃料坯料 -item.billet_silicon.name=硅晶圆 -item.billet_solinium.name=Sa327坯料 -item.billet_sr90.name=锶-90坯料 -item.billet_technetium.name=锝-99坯料 -item.billet_th232.name=钍-232坯料 -item.billet_thorium_fuel.name=钍燃料坯料 -item.billet_u233.name=铀-233坯料 -item.billet_u235.name=铀-235坯料 -item.billet_u238.name=铀-238坯料 -item.billet_uranium.name=铀坯料 -item.billet_uranium_fuel.name=铀燃料坯料 -item.billet_yharonite.name=犽戎龙素坯料 -item.billet_zfb_am_mix.name=反应堆级镅 ZFB坯料 -item.billet_zfb_bismuth.name=铋 ZFB坯料 -item.billet_zfb_pu241.name=钚-241 ZFB坯料 -item.billet_zirconium.name=锆坯料 -item.bio_wafer.name=海藻晶片 -item.biomass.name=生物质 -item.biomass_compressed.name=压缩生物质 -item.bismuth_boots.name=铋凉鞋 -item.bismuth_helmet.name=铋头饰 -item.bismuth_legs.name=铋护膝 -item.bismuth_axe.name=铋斧 -item.bismuth_pickaxe.name=铋镐 -item.bismuth_plate.name=铋质护肩、项链和腰带 -item.bismuth_tool.name=磁力提取器 -item.bj_boots.name=§4月神§r钉靴 -item.bj_helmet.name=热传感器眼罩 -item.bj_legs.name=§4月神§r护腿 -item.bj_plate.name=§4月神§r胸甲 -item.bj_plate_jetpack.name=§4月神§r胸甲 (带翼) -item.black_diamond.name=黑色钻石 -item.black_hole.name=微型黑洞 -item.blade_meteorite.name=陨石刀 -item.blade_titanium.name=钛扇片 -item.blade_tungsten.name=钨强化扇片 -item.blades_advanced_alloy.name=高级合金刀片 -item.blades_desh.name=Desh制刀片 -item.blades_steel.name=钢制刀片 -item.blades_titanium.name=钛制刀片 -item.blowtorch.name=喷灯 -item.board_copper.name=铜片 -item.boat_rubber.name=橡胶船 -item.bobmazon_hidden.name=隐藏目录 -item.bobmazon_machines.name=Bobmazon: 方块和机器 -item.bobmazon_materials.name=Bobmazon: 材料 -item.bobmazon_tools.name=Bobmazon: 工具 -item.bobmazon_weapons.name=Bobmazon: 武器和爆炸物 -item.boltntm.name=%s螺栓 -item.bolt_compound.name=加强涡轮机轴 -item.bolt_dura_steel.name=高速钢螺栓 -item.bolt_tungsten.name=钨螺栓 -item.bolt_spike.name=铁路道钉 -item.bolt_spike.desc=不知何故,散发着威胁的气息 -item.boltgun.name=气动射钉枪 -item.bomb_caller.name=空袭指示器 -item.bomb_waffle.name=大规模杀伤性华夫饼 -item.book_guide.name=HBM指导书 -item.book_of_.name=车厢书 -item.book_lemegeton.name=所罗门之钥 -item.book_secret.name=3-596-50802-9 -item.bottle2_empty.name=空瓶 -item.bottle2_fritz.name=弗里茨可乐 -item.bottle2_fritz_special.name=第一弗里茨可乐 -item.bottle2_korl.name=Korl -item.bottle2_korl_special.name=第一Korl -item.bottle2_sunset.name=夕阳沙士 -item.bottle_cherry.name=樱桃味核子可乐 -item.bottle_empty.name=空可乐瓶 -item.bottle_mercury.name=一瓶水银 -item.bottle_nuka.name=核子可乐 -item.bottle_opener.name=Hbm自制开瓶器 -item.bottle_quantum.name=量子核子可乐 -item.bottle_rad.name=辐射S~核子可乐 -item.bottle_sparkle.name=S~核子可乐 -item.bottled_cloud.name=瓶中云 -item.boy_bullet.name=铀-235弹头 -item.boy_igniter.name=点火器 -item.boy_kit.name=小男孩 套件 -item.boy_propellant.name=炸药 -item.boy_shielding.name=中子屏蔽罩 -item.boy_target.name=次临界铀-235标靶 -item.briquette.coal.name=煤球 -item.briquette.lignite.name=褐煤煤球 -item.briquette.wood.name=木屑球 -item.bucket_acid.name=一桶酸 -item.bucket_mud.name=一桶毒泥 -item.bucket_schrabidic_acid.name=一桶Sa酸 -item.bucket_sulfuric_acid.name=一桶硫酸 -item.bucket_toxic.name=一桶绿色软泥 -item.burnt_bark.name=烧焦树皮 -item.burnt_bark.desc=爆炸的金橡树的树皮。 -item.can_bepis.name=白事 -item.can_breen.name=布雷恩博士的私人珍藏 -item.can_creature.name='生物'能量饮料 -item.can_empty.name=空罐 -item.can_key.name=罐头拉环 -item.can_luna.name=黑梅萨露娜-黑可乐 -item.can_mrsugar.name='糖博士'软饮料 -item.can_mug.name=MUG牌树根啤酒 -item.can_overcharge.name=超频DeliriumXT -item.can_redbomb.name='红色炸弹'能量饮料 -item.can_smart.name="智慧"能量饮料 -item.canister_NITAN.name=桶装NITAN 100号超级燃料 -item.canister_biofuel.name=桶装生物燃料 -item.canister_bitumen.name=桶装沥青 -item.canister_canola.name=桶装润滑油 -item.canister_empty.name=空油桶 -item.canister_ethanol.name=桶装乙醇 -item.canister_fracksol.name=桶装压裂液 -item.canister_fuel.name=桶装柴油 -item.canister_fuel.desc=大家欢呼吧! -item.canister_full.name=油桶: -item.canister_gasoline.name=桶装含铅汽油 -item.canister_gasoline.desc=铅就是朋友$让朋友进入你的血液$*上膛声*现在就做 -item.canister_heatingoil.name=桶装燃油 -item.canister_heavyoil.name=桶装重油 -item.canister_kerosene.name=桶装煤油 -item.canister_lightoil.name=桶装轻油 -item.canister_napalm.name=桶装凝固汽油B -item.canister_naphtha.name=桶装石脑油 -item.canister_oil.name=桶装原油 -item.canister_petroil.name=桶装汽油 -item.canister_reoil.name=桶装再生油 -item.canister_smear.name=桶装工业油 -item.canned_asbestos.name=石棉罐头 -item.canned_asbestos.desc=尝尝石棉肺! -item.canned_ass.name=驴罐头 -item.canned_ass.desc=100%优质驴肉!* -item.canned_bark.name=松树皮罐头 -item.canned_bark.desc=更加的“松”脆! -item.canned_beef.name=牛肉罐头 -item.canned_beef.desc=几个世纪前,一头牛为此而死。 -item.canned_bhole.name=黑洞罐头 -item.canned_bhole.desc=奇点是我肚肚里的美味! -item.canned_cheese.name=融化奶酪罐头 -item.canned_cheese.desc=是奶酪吗?是橡胶水泥吗?谁知道,谁在乎。 -item.canned_chinese.name=中餐罐头 -item.canned_chinese.desc=在中国,中餐被称为饭。 -item.canned_diesel.name=柴油罐头 -item.canned_diesel.desc=我渐渐地就抖不出包袱了 -item.canned_fist.name=拳头罐头 -item.canned_fist.desc=给你一拳! -item.canned_fried.name=炸鸡罐头 -item.canned_fried.desc=甚至罐头都是油炸的! -item.canned_hotdogs.name=热狗罐头 -item.canned_hotdogs.desc=不要与冷猫混淆。 -item.canned_jizz.name=FlimFlam工业牌?马奶罐头 -item.canned_jizz.desc=等等什么—— -item.canned_kerosene.name=煤油罐头 -item.canned_kerosene.desc=想象一下这句俏皮的台词。 -item.canned_leftovers.name=剩菜罐头 -item.canned_leftovers.desc=你来的太迟了 -item.canned_milk.name=罐装炼乳 -item.canned_milk.desc=牛奶2:比以往任何时候都更固体! -item.canned_mystery.name=神秘肉类罐头 -item.canned_mystery.desc=里面是什么?只有一种方法可以找到! -item.canned_napalm.name=凝固汽油罐头 -item.canned_napalm.desc=我喜欢早上闻着老梗的味道! -item.canned_oil.name=机油罐头 -item.canned_oil.desc=它既然能让发动机运转的更流畅,那为什么不能用在人类身上? -item.canned_pashtet.name=牛排罐头 -item.canned_pashtet.desc=翻译服务不可用блядь! -item.canned_pizza.name=意大利香肠比萨罐头 -item.canned_pizza.desc=反人类罪 -item.canned_recursion.name=循环罐头 -item.canned_recursion.desc=封闭递归 -item.canned_spam.name=SPAM斯帕姆午餐肉 -item.canned_spam.desc=这段三分半钟的幽默剧是以布朗利虚构的绿侏儒咖啡馆为背景。$一位女服务生与不喜欢吃午餐肉的本太太之间发生了争执,$女服务生背诵了一份几乎每道菜都含有午餐肉的菜单。$本太太要了一道没有午餐肉的菜,这让她爱吃午餐肉的丈夫大吃一惊。$女服务员也对这个要求很反感。本先生提出要替换她的午餐肉,并要了一道含有大量午餐肉和烤豆的菜。$服务员拒绝了,因为烤豆子已经吃完了;当本先生要求替换午餐肉时,女服务员再次表示厌恶。$有几次,餐厅里的一群维京人高声歌唱午餐肉,打断了谈话。$那个愤怒的女服务员命令他们闭嘴,但他们依旧大声唱歌。$这时一名匈牙利游客来到柜台,试图用一本完全不准确的匈牙利语/英语手册(参考之前的小品)点菜。$紧接着这名匈牙利游客就被一名警察迅速护送离开。$然后这段幽默剧突然切换镜头,一位历史学家在电视演播室谈论维京人在咖啡馆的起源。$他继续说,并开始越来越多地在每一句话中插入“午餐肉”一词。$然后背景被抬高,露出背后的餐厅场景。$那个历史学家加入了维京人的歌曲,本夫妇通过电线离开现场,而歌声还在继续。$在最初的电视表演中,结尾的字幕开始滚动,背景中仍然可以听到歌声。 -item.canned_stew.name=蘑菇煲罐头 -item.canned_stew.desc=... -item.canned_tomato.name=番茄汤罐头 -item.canned_tomato.desc=谁要浓浓的红糊糊? -item.canned_tube.name=宇航员食品管 -item.canned_tube.desc=美味的蘑菇。 -item.canned_tuna.name=金枪鱼罐头 -item.canned_tuna.desc=我不知道那是金枪鱼还是干水泥。 -item.canned_yogurt.name=酸奶罐头 -item.canned_yogurt.desc=可能坏掉了,但管它呢 -item.canteen_13.name=Vault13水壶 -item.canteen_fab.name=极品伏特加 -item.canteen_vodka.name=伏特加 -item.cap_fritz.name=弗里茨瓶盖 -item.cap_korl.name=Korl瓶盖 -item.cap_nuka.name=核子可乐瓶盖 -item.cap_quantum.name=樱桃味核子可乐瓶盖 -item.cap_rad.name=辐射S~核子可乐瓶盖 -item.cap_sparkle.name=S~核子可乐瓶盖 -item.cap_star.name=夕阳沙士星星瓶盖 -item.cap_sunset.name=夕阳沙士瓶盖 -item.cape_ayy.name=Ayy披风 -item.cape_codered_.name=codered_披风 -item.cape_dafnik.name=Dafnik披风 -item.cape_gasmask.name=披风[防毒面具] -item.cape_hbm.name=Hbm披风 -item.cape_hidden.name=隐藏斗篷 -item.cape_lpkukin.name=LPkukin披风 -item.cape_nostalgia.name=DrNostalgia披风 -item.cape_radiation.name=披风[辐射] -item.cape_schrabidium.name=披风[Sa326] -item.cape_vertice.name=Lord Vertice披风 -item.card_aos.name=黑桃A -item.card_qos.name=黑桃皇后 -item.cart.crate.name=板条箱运输车 -item.cart.destroyer.name=废品销毁车 -item.cart.empty.name=钢箱矿车 -item.casing_357.name=.357马格南弹壳[x16] -item.casing_44.name=.44马格南弹壳[x16] -item.casing_50.name=大口径弹壳[x8] -item.casing_9.name=小口径弹壳[x24] -item.casing_buckshot.name=鹿弹弹壳[x8] -item.catalyst_clay.name=黏土催化剂 -item.catalytic_converter.name=催化转化器 -item.cbt_device.name=CBT装置 -item.cell_anti_schrabidium.name=反Sa326单元 -item.cell_antimatter.name=反物质单元 -item.cell_balefire.name=气态野火单元 -item.cell_deuterium.name=氘单元 -item.cell_empty.name=空单元 -item.cell_puf6.name=六氟化钚单元 -item.cell_sas3.name=三硫化Sa单元 -item.cell_tritium.name=氚单元 -item.cell_uf6.name=六氟化铀单元 -item.centri_stick.name=便携离心机 -item.centrifuge_element.name=离心元件 -item.centrifuge_tower.name=离心塔 -item.chainsaw.name=链锯 -item.cheese.name=奶酪 -item.cheese_quesadilla.name=奶酪油炸玉米粉饼 -item.chemical_dye.black.name=化学染料(黑色) -item.chemical_dye.blue.name=化学染料(蓝色) -item.chemical_dye.brown.name=化学染料(棕色) -item.chemical_dye.cyan.name=化学染料(青色) -item.chemical_dye.gray.name=化学染料(灰色) -item.chemical_dye.green.name=化学染料(绿色) -item.chemical_dye.lightblue.name=化学染料(浅蓝色) -item.chemical_dye.lime.name=化学染料(石灰) -item.chemical_dye.magenta.name=化学染料(品红色) -item.chemical_dye.orange.name=化学染料(橙色) -item.chemical_dye.pink.name=化学染料(粉色) -item.chemical_dye.purple.name=化学染料(紫色) -item.chemical_dye.red.name=化学染料(红色) -item.chemical_dye.silver.name=化学染料(浅灰色) -item.chemical_dye.white.name=化学染料(白色) -item.chemical_dye.yellow.name=化学染料(黄色) -item.chemistry_set.name=实验室玻璃器皿 -item.chemistry_set_boron.name=实验室玻璃器皿(硼玻璃) -item.chemistry_template.name=化工厂模板: -item.chernobylsign.name=辐射警告标志战斧 -item.chlorine_pinwheel.name=氯气转轮 -item.chlorophyte_axe.name=叶绿斧 -item.chlorophyte_pickaxe.name=叶绿镐 -item.chocolate.name=“我是-镭牌”巧克力 -item.chocolate.desc=镭巧克力?我很确定这是冰毒。 -item.chocolate_milk.name=巧克力牛奶 -item.chopper.name=猎人直升机 -item.chopper_blades.name=猎人直升机旋翼 -item.chopper_gun.name=猎人直升机机枪 -item.chopper_head.name=猎人直升机驾驶舱 -item.chopper_tail.name=猎人直升机尾部 -item.chopper_torso.name=猎人直升机主体 -item.chopper_wing.name=猎人直升机翼片 -item.chunk_ore.rare.name=稀土矿石块 -item.cigarette.name=FFI牌香烟 -item.cinnebar.name=朱砂 -item.circuit.advanced.name=军用级电路板 -item.circuit.analog.name=模拟电路板 -item.circuit.atomic_clock.name=原子钟 -item.circuit.basic.name=集成电路板 -item.circuit.bismoid.name=多功能电路板 -item.circuit.capacitor.name=电容器 -item.circuit.capacitor_board.name=电容板 -item.circuit.capacitor_tantalium.name=钽电容器 -item.circuit.chip.name=微芯片 -item.circuit.chip_bismoid.name=多功能集成电路 -item.circuit.chip_quantum.name=固态量子处理器 -item.circuit.controller.name=控制单元 -item.circuit.controller_advanced.name=高级控制单元 -item.circuit.controller_chassis.name=控制单元外壳 -item.circuit.controller_quantum.name=量子计算机 -item.circuit.pcb.name=印刷电路板 -item.circuit.quantum.name=量子处理单元 -item.circuit.silicon.name=压印硅晶圆 -item.circuit.vacuum_tube.name=真空管 -item.circuit_aluminium.name=基础电路 -item.circuit_arsenic.name=自适应电路 -item.circuit_arsenic_raw.name=自适应电路组件 -item.circuit_bismuth.name=多功能芯片组 -item.circuit_bismuth_raw.name=多功能芯片组组件 -item.circuit_copper.name=增强电路 -item.circuit_gold.name=超频电路 -item.circuit_raw.name=基本电路组件 -item.circuit_red_copper.name=高级电路 -item.circuit_schrabidium.name=高性能电路 -item.circuit_star.name=星控制 电路板 -item.circuit_star.desc=目前未使用,因为它缺少操作系统。 -item.circuit_star_component.card.name=星控制 扩展卡 -item.circuit_star_component.chipset.name=星控制 芯片组 -item.circuit_star_component.cpu.name=星控制 CPU -item.circuit_star_component.ram.name=星控制 RAM -item.circuit_star_piece.board_blank.name=SC-印刷电路板 -item.circuit_star_piece.board_converter.name=SC-电压转换器 -item.circuit_star_piece.board_transistor.name=SC-晶体管 -item.circuit_star_piece.bridge_bios.name=SC-BIOS芯片 -item.circuit_star_piece.bridge_bus.name=SC-总线 -item.circuit_star_piece.bridge_chipset.name=SC-芯片组 -item.circuit_star_piece.bridge_cmos.name=SC-CMOS存储器 -item.circuit_star_piece.bridge_io.name=SC-IO芯片 -item.circuit_star_piece.bridge_north.name=SC-北桥 -item.circuit_star_piece.bridge_south.name=SC-南桥 -item.circuit_star_piece.card_board.name=SC-扩展卡底板 -item.circuit_star_piece.card_processor.name=SC-扩展卡处理器 -item.circuit_star_piece.cpu_cache.name=SC-CPU缓存 -item.circuit_star_piece.cpu_clock.name=SC-CPU时钟 -item.circuit_star_piece.cpu_ext.name=SC-砷半导体外延片 -item.circuit_star_piece.cpu_logic.name=SC-算术逻辑单元 -item.circuit_star_piece.cpu_register.name=SC-CPU寄存器 -item.circuit_star_piece.cpu_socket.name=SC-CPU插槽 -item.circuit_star_piece.mem_socket.name=SC-存储插座 -item.circuit_star_piece.mem_16k_a.name=SC-16k内存条插槽 A -item.circuit_star_piece.mem_16k_b.name=SC-16k内存条插槽 B -item.circuit_star_piece.mem_16k_c.name=SC-16k内存条插槽 C -item.circuit_star_piece.mem_16k_d.name=SC-16k内存条插槽 D -item.circuit_tantalium.name=电容板 -item.circuit_tantalium_raw.name=电容板组件 -item.circuit_targeting_tier1.name=军用级电路板[1级] -item.circuit_targeting_tier2.name=军用级电路板[2级] -item.circuit_targeting_tier3.name=军用级电路板[3级] -item.circuit_targeting_tier4.name=军用级电路板[4级] -item.circuit_targeting_tier5.name=军用级电路板[5级] -item.circuit_targeting_tier6.name=军用级电路板[6级] -item.cladding_desh.name=Desh覆层 -item.cladding_ghiorsium.name=Gh336覆层 -item.cladding_iron.name=铁覆层 -item.cladding_lead.name=铅覆层 -item.cladding_obsidian.name=黑曜石覆层 -item.cladding_paint.name=铅涂料 -item.cladding_rubber.name=橡胶覆层 -item.clip_bf.name=两包野火子弹 -item.clip_bolt_action.name=盒装12x74独头弹 -item.clip_cryolator.name=急冻单元箱 -item.clip_defabricator.name=毁灭者能量电池弹药带 -item.clip_emp.name=小包能量电池 -item.clip_euthanasia.name=最后的医疗箱 -item.clip_fatman.name=六个核弹 -item.clip_hp.name=墨水缸 -item.clip_immolator.name=焚烧者燃料箱 -item.clip_jack.name=盒装四联12x70鹿弹 -item.clip_lever_action.name=盒装12x74鹿弹 -item.clip_mirv.name=三合一微型MIRV包 -item.clip_mp.name=小型无发射药机枪子弹盒 -item.clip_mp40.name=9mm冲锋枪子弹盒 -item.clip_osipr.name=AR2 弹盒 -item.clip_revolver.name=盒装.357马格南 -item.clip_revolver_cursed.name=钢子弹弹匣 -item.clip_revolver_gold.name=小盒金子弹 -item.clip_revolver_iron.name=盒装铁子弹 -item.clip_revolver_lead.name=盒装核子弹 -item.clip_revolver_nightmare.name=子弹袋 -item.clip_revolver_nightmare2.name=激光弹药带 -item.clip_revolver_nopip.name=盒装.44子弹 -item.clip_revolver_pip.name=左轮快速装弹器 -item.clip_revolver_schrabidium.name=Sa326弹药盒 -item.clip_rpg.name=火箭弹箱 -item.clip_spark.name=大型电磁子弹 -item.clip_stinger.name=包装毒刺导弹 -item.clip_uboinik.name=盒装12x70鹿弹 -item.clip_uzi.name=32发装.22LR子弹盒 -item.clip_xvl1456.name=大型同位素盒 -item.cmb_axe.name=CMB钢斧 -item.cmb_boots.name=CMB钢靴子 -item.cmb_helmet.name=CMB钢头盔 -item.cmb_hoe.name=CMB钢锄 -item.cmb_legs.name=CMB钢护腿 -item.cmb_pickaxe.name=CMB钢镐 -item.cmb_plate.name=CMB钢胸甲 -item.cmb_shovel.name=CMB钢锹 -item.cmb_sword.name=CMB钢剑 -item.coal_infernal.name=地狱煤炭 -item.cobalt_axe.name=钴斧 -item.cobalt_boots.name=钴靴子 -item.cobalt_decorated_axe.name=镶嵌钴斧 -item.cobalt_decorated_hoe.name=镶嵌钴锄 -item.cobalt_decorated_pickaxe.name=镶嵌钴镐 -item.cobalt_decorated_shovel.name=镶嵌钴锹 -item.cobalt_decorated_sword.name=镶嵌钴剑 -item.cobalt_helmet.name=钴头盔 -item.cobalt_hoe.name=钴锄 -item.cobalt_legs.name=钴护腿 -item.cobalt_pickaxe.name=钴镐 -item.cobalt_plate.name=钴胸甲 -item.cobalt_shovel.name=钴锹 -item.cobalt_sword.name=钴剑 -item.coffee.name=咖啡 -item.coffee_radium.name=加镭咖啡 -item.coil_advanced_alloy.name=超导线圈 -item.coil_advanced_torus.name=超导环形线圈 -item.coil_copper.name=紫铜线圈 -item.coil_copper_torus.name=紫铜环形线圈 -item.coil_gold.name=金线圈 -item.coil_gold_torus.name=金环形线圈 -item.coil_magnetized_tungsten.name=4000K高温超导线圈 -item.coil_tungsten.name=加热线圈 -item.coin_creeper.name=核爆爬行者硬币 -item.coin_maskman.name=面具硬币 -item.coin_radiation.name=辐射硬币 -item.coin_siege.name=围城硬币 -item.coin_ufo.name=UFO硬币 -item.coin_worm.name=机械蠕虫硬币 -item.coke.coal.name=煤焦炭 -item.coke.lignite.name=褐煤焦炭 -item.coke.petroleum.name=石油焦炭 -item.coltan_tool.name=钶钽铁矿指针 -item.combine_scrap.name=CMB钢废料 -item.component_emitter.name=发射器组件 -item.component_limiter.name=稳定器组件 -item.containment_box.name=安全盒 -item.cordite.name=无烟线状火药 -item.cotton_candy.name=放射性棉花糖 -item.crackpipe.name=健康烟壶 -item.crate_caller.name=空投召唤器 -item.crayon.black.name=黑色蜡笔 -item.crayon.blue.name=蓝色蜡笔 -item.crayon.brown.name=棕色蜡笔 -item.crayon.cyan.name=青色蜡笔 -item.crayon.gray.name=灰色蜡笔 -item.crayon.green.name=绿色蜡笔 -item.crayon.lightblue.name=浅蓝色蜡笔 -item.crayon.lime.name=青色蜡笔 -item.crayon.magenta.name=品红蜡笔 -item.crayon.orange.name=橙色蜡笔 -item.crayon.pink.name=粉红蜡笔 -item.crayon.purple.name=紫色蜡笔 -item.crayon.red.name=红色蜡笔 -item.crayon.silver.name=浅灰色蜡笔 -item.crayon.white.name=白色蜡笔 -item.crayon.yellow.name=黄色蜡笔 -item.crowbar.name=Mk.V开箱装置"物理学圣剑" -item.crucible.name=裁决剑 -item.crucible_template.name=坩埚模板 -item.crystal_aluminium.name=铝晶体 -item.crystal_beryllium.name=铍晶体 -item.crystal_charred.name=烧焦的水晶 -item.crystal_charred.desc=优质硅酸盐,轻微灼烧。 -item.crystal_charred.desc.P11=也是一个真正的号角。奇怪吧? -item.crystal_coal.name=煤晶体 -item.crystal_cobalt.name=钴晶体 -item.crystal_copper.name=铜晶体 -item.crystal_cinnebar.name=朱砂晶体 -item.crystal_diamond.name=钻石晶体 -item.crystal_energy.name=能量晶体 -item.crystal_fluorite.name=氟晶体 -item.crystal_gold.name=金晶体 -item.crystal_horn.name=水晶角 -item.crystal_horn.desc=不是真正的号角。 -item.crystal_horn.desc.P11=真正的号角。 -item.crystal_iron.name=铁晶体 -item.crystal_lead.name=铅晶体 -item.crystal_lapis.name=青金石晶体 -item.crystal_lithium.name=锂晶体 -item.crystal_niter.name=硝石晶体 -item.crystal_osmiridium.name=铱锇晶体 -item.crystal_phosphorus.name=磷晶体 -item.crystal_plutonium.name=钚晶体 -item.crystal_rare.name=稀土晶体 -item.crystal_redstone.name=红石晶体 -item.crystal_schrabidium.name=Sa326晶体 -item.crystal_schraranium.name=低丰度Sa326晶体 -item.crystal_starmetal.name=星辉晶体 -item.crystal_sulfur.name=硫晶体 -item.crystal_thorium.name=钍晶体 -item.crystal_titanium.name=钛晶体 -item.crystal_trixite.name=赛瑞克晶体 -item.crystal_tungsten.name=钨晶体 -item.crystal_uranium.name=铀晶体 -item.crystal_xen.name=人造X晶体 -item.crt_display.name=阴极射线管 -item.cube_power.name=电子块 -item.custom_amat.name=自定义核弹-反物质棒 -item.custom_dirty.name=自定义核弹-核废料棒 -item.custom_fall.name=自定义核弹-掉落升级 -item.custom_fall.desc=这就是你一一一直在等待的$使炸弹在激活时下落 -item.custom_hydro.name=自定义核弹-氢棒 -item.custom_kit.name=自定义核弹 套件 -item.custom_nuke.name=自定义核弹-铀棒 -item.custom_schrab.name=自定义核弹-Sa326棒 -item.custom_tnt.name=自定义核弹-炸药 -item.cyclotron_tower.name=回旋加速器塔 -item.debris_concrete.name=碎混凝土 -item.debris_element.name=断裂的锆诺克斯燃料元件 -item.debris_exchanger.name=换热器片 -item.debris_fuel.name=RBMK石墨式反应堆燃料块 -item.debris_graphite.name=热石墨块 -item.debris_metal.name=断裂金属棒 -item.debris_shrapnel.name=走道碎片 -item.definitelyfood.name=完全不脏牌军粮 -item.defuser.name=高科技拆弹装置 -item.defuser_gold.name=黄金剪线钳 -item.demon_core_closed.name=封闭的恶魔核心 -item.demon_core_open.name=打开的恶魔核心 -item.desh_axe.name=工人合金斧 -item.desh_hoe.name=工人合金锄 -item.desh_pickaxe.name=工人合金镐 -item.desh_shovel.name=工人合金锹 -item.desh_sword.name=工人合金剑 -item.designator.name=短程目标指示器 -item.designator_arty_range.name=远程火炮遥控器 -item.designator_manual.name=手动目标指示器 -item.designator_range.name=远程目标指示器 -item.detonator.name=起爆器 -item.detonator_de.name=死亡炸弹 -item.detonator_deadman.name=死亡雷管 -item.detonator_laser.name=激光起爆器 -item.detonator_multi.name=多发起爆器 -item.deuterium_filter.name=氘过滤器 -item.diamond_gavel.name=钻石槌 -item.dieselsuit_boots.name=柴油动力高跟鞋 -item.dieselsuit_helmet.name=柴油动力头戴式环境传感器 -item.dieselsuit_legs.name=柴油动力腿部伺服系统 -item.dieselsuit_plate.name=柴油动力控制器 -item.digamma_diagnostic.name=玩家F-迪伽马辐射自检器 -item.disperser_canister.name=流体雾化手雷: -item.disperser_canister_empty.name=流体雾化手雷 -item.dns_boots.name=DNT双聚中子态素高科技全环境作战服靴子 -item.dns_legs.name=DNT双聚中子态素高科技全环境作战服护腿 -item.dns_helmet.name=DNT双聚中子态素高科技全环境作战服头盔 -item.dns_plate.name=DNT双聚中子态素高科技全环境作战服胸甲 -item.dnt_boots.name=双聚态中子素 靴子 -item.dnt_legs.name=双聚态中子素 护腿 -item.dnt_helmet.name=双聚态中子素 头盔 -item.dnt_plate.name=双聚态中子素 胸甲 -item.door_bunker.name=仓门 -item.door_metal.name=金属门 -item.door_office.name=办公室门 -item.door_red.name=红门 -item.dosimeter.name=剂量计 -item.drax.name=采掘钻 -item.drax_mk2.name=强化型采掘钻 -item.drax_mk3.name=Sa326采掘钻 -item.drillbit_desh.name=Desh钻头 -item.drillbit_desh_diamond.name=Desh钻头(镶钻) -item.drillbit_ferro.name=铀铁合金钻头 -item.drillbit_ferro_diamond.name=铀铁合金钻头(镶钻) -item.drillbit_hss.name=高速钢钻头 -item.drillbit_hss_diamond.name=高速钢钻头(镶钻) -item.drillbit_steel.name=钢钻头 -item.drillbit_steel_diamond.name=钢钻头(镶钻) -item.drillbit_tcalloy.name=锝钢钻头 -item.drillbit_tcalloy_diamond.name=锝钢钻头(镶钻) -item.drill_titanium.name=钛钻头 -item.drone.patrol.name=运输无人机 -item.drone.patrol.desc=跟随航路点运动$到达运输无人机坞时会尝试装货/卸货$右键单击运输无人机坞顶面放置 -item.drone.patrol_chunkloading.name=区块加载无人机 -item.drone.patrol_chunkloading.desc=跟随航路点运动$到达运输无人机坞时会尝试装货/卸货$右键单击运输无人机坞顶面放置$加载区块 -item.drone.patrol_express.name=快速无人机 -item.drone.patrol_express.desc=跟随航路点运动$到达运输无人机坞时会尝试装货/卸货$右键单击运输无人机坞顶面放置 -item.drone.patrol_express_chunkloading.name=区块加载快速无人机 -item.drone.patrol_express_chunkloading.desc=跟随航路点运动$到达运输无人机坞时会尝试装货/卸货$右键单击运输无人机坞顶面放置$加载区块 -item.drone.request.name=物流无人机 -item.drone.request.desc=用于使物流无人机坞生成物流无人机$生成的物流无人机会跟随物流无人机航路点$完成一次物流任务后会回到无人机坞 -item.drone_linker.name=运输无人机链接器 -item.ducttape.name=胶带 -item.dust.name=灰尘 -item.dust.desc=我讨厌灰尘! -item.dust.desc.P11=又一小撮灰尘! -item.dust_tiny.name=一小撮灰尘 -item.dwarven_pickaxe.name=矮人镐 -item.dynosphere_base.name=空白动力球 -item.dynosphere_desh.name=Desh动力球 -item.dynosphere_desh_charged.name=Desh动力球[带电] -item.dynosphere_dineutronium.name=双聚中子态素动力球 -item.dynosphere_dineutronium_charged.name=双聚中子态素动力球[带电] -item.dynosphere_euphemium.name=Ep动力球 -item.dynosphere_euphemium_charged.name=Ep动力球[带电] -item.dynosphere_schrabidium.name=Sa326动力球 -item.dynosphere_schrabidium_charged.name=Sa326动力球[带电] -item.dysfunctional_reactor.name=失控反应堆 -item.early_explosive_lenses.name=初代炸药透镜阵列 -item.early_explosive_lenses.desc=8个炸药透镜的组装,带有铝合金推进器、硬铝外壳和桥丝雷管。 -item.egg_balefire.name=野火蛋 -item.egg_balefire.desc=什么样的鸟儿才会下带有放射性的蛋? -item.egg_balefire_shard.name=野火蛋碎片 -item.egg_glyphid.name=异虫蛋 -item.elec_axe.name=电锯 -item.elec_pickaxe.name=冲击钻 -item.elec_shovel.name=螺旋钻 -item.elec_sword.name=电棍 -item.energy_core.name=临时能源核心 -item.entanglement_kit.name=纠缠部件 -item.entanglement_kit.desc=传送机制作零件$通过$铍增强型资源扫描仪实现尺寸转换。 -item.envsuit_boots.name=M1TTY环境套装靴子 -item.envsuit_helmet.name=M1TTY环境套装头盔 -item.envsuit_legs.name=M1TTY环境套装护腿 -item.envsuit_plate.name=M1TTY环境套装胸甲 -item.euphemium_boots.name=Ep靴子 -item.euphemium_capacitor.name=Ep电容 -item.euphemium_capacitor.desc=允许被动分散累积的正能量。 -item.euphemium_helmet.name=Ep头盔 -item.euphemium_kit.name=Ep工具箱 -item.euphemium_legs.name=Ep护腿 -item.euphemium_plate.name=Ep胸甲 -item.euphemium_stopper.name=Ep-阻滞者 -item.explosive_lenses.name=炸药透镜阵列 -item.explosive_lenses.desc=8个PBX炸药组装的阵列,带有一个薄的$铝推进器、硬铝外壳和$小型桥丝雷管。 -item.fabsols_vodka.name=Fabsol伏特加 -item.factory_core_advanced.name=高级工厂能源组件 -item.factory_core_titanium.name=工厂能源组件 -item.fallout.name=一堆辐射尘 -item.fau_boots.name=Fau靴子 -item.fau_helmet.name=Fau头盔 -item.fau_legs.name=Fau护腿 -item.fau_plate.name=Fau胸甲 -item.filter_coal.name=活性炭过滤器 -item.fins_big_steel.name=大型钢栅格翼 -item.fins_flat.name=扁钢外壳 -item.fins_quad_titanium.name=小型钛翼 -item.fins_small_steel.name=小型钢栅格翼 -item.fins_tri_steel.name=大型钢翼 -item.five_htp.name=5-羟色胺药丸 -item.five_htp.desc=移除所有迪伽马辐射,并获得10分钟稳定效果 -item.flame_conspiracy.name=阴谋论 -item.flame_conspiracy.desc=钢梁不能熔化喷气燃料! -item.flame_opinion.name=个人观点 -item.flame_opinion.desc=呃,我喜欢... -item.flame_politics.name=政治话题 -item.flame_politics.desc=唐老鸭将会修建一堵墙! -item.flame_pony.name=卡通小马画 -item.flame_pony.desc=黄马胜于蓝马,这是不争的事实! -item.flask_infusion.shield.name=护盾药水 -item.fleija_core.name=F.L.E.I.J.A.铀-235装药 -item.fleija_igniter.name=脉冲点火器 -item.fleija_kit.name=F.L.E.I.J.A. 套件 -item.fleija_propellant.name=Sa326炸药 -item.fluid_barrel_empty.name=空流体桶 -item.fluid_barrel_full.name=流体桶: -item.fluid_barrel_infinite.name=无限流体桶 -item.fluid_duct.name=流体管道: -item.fluid_identifier.name=流体识别码 -item.fluid_identifier.info=流体标识码用于: -item.fluid_identifier.usage0=在流体管道上单击右键,为该管道指定运输的流体。 -item.fluid_identifier.usage1=按住Shift键并流体管道上单击右键以指定相邻管道 -item.fluid_identifier.usage2=最大范围为64格管道。 -item.fluid_identifier_multi.name=多类型流体识别码 -item.fluid_identifier_multi.info=通用流体识别码: -item.fluid_identifier_multi.info2=次要类型: -item.fluid_tank_empty.name=空通用流体罐 -item.fluid_tank_full.name=通用流体罐: -item.fluid_tank_lead_empty.name=空危险品罐 -item.fluid_tank_lead_full.name=危险品罐: -item.fluorite.name=氟石粉 -item.flywheel_beryllium.name=铍制飞轮 -item.fmn.name=氟硝西泮片 -item.fmn.desc=移除2000mDRX以上的所有迪伽马辐射 -item.folly_bullet.name=128mm星辉弹头 -item.folly_bullet_du.name=128mm贫铀弹头 -item.folly_bullet_nuclear.name=128mm核弹头 -item.folly_shell.name=银弹壳 -item.fooditem.name=食物 -item.fragment_actinium.name=锕碎片 -item.fragment_boron.name=硼碎片 -item.fragment_cerium.name=铈碎片 -item.fragment_cobalt.name=钴碎片 -item.fragment_coltan.name=钶钽铁矿碎片 -item.fragment_lanthanium.name=镧碎片 -item.fragment_meteorite.name=陨石碎片 -item.fragment_neodymium.name=钕碎片 -item.fragment_niobium.name=铌碎片 -item.fuel_additive.antiknock.name=四乙基铅抗爆剂 -item.fuel_additive.deicer.name=除冰剂 -item.fuel_tank_large.name=大型燃料罐 -item.fuel_tank_medium.name=中型燃料罐 -item.fuel_tank_small.name=小型燃料罐 -item.fuse.name=保险丝 -item.fusion_core.name=聚变能源核心 -item.fusion_core_infinite.name=无限能源核心 -item.fusion_shield_chlorophyte.name=叶绿金属聚变反应堆覆层 -item.fusion_shield_desh.name=Desh聚变反应堆覆层 -item.fusion_shield_tungsten.name=钨聚变反应堆覆层 -item.fusion_shield_vaporwave.name=蒸汽波反应堆覆层 -item.gadget_core.name=钚核心 -item.gadget_explosive.name=炸药 -item.gadget_kit.name=小玩意 套件 -item.gadget_wireing.name=线路 -item.gas_biogas.name=沼气罐 -item.gas_empty.name=空气罐 -item.gas_full.name=气体罐: -item.gas_lpg.name=液化石油气罐 -item.gas_mask.name=防毒面具 -item.gas_mask_filter.name=防毒面具过滤器 -item.gas_mask_filter_combo.name=防毒面具组合式过滤器 -item.gas_mask_filter_mono.name=催化性面罩过滤器 -item.gas_mask_filter_piss.name=先进的简易防毒面具过滤器 -item.gas_mask_filter_rag.name=临时防毒面具过滤器 -item.gas_mask_m65.name=M65-Z防毒面具 -item.gas_mask_mono.name=半面罩防毒面具 -item.gas_mask_olde.name=皮革防毒面具 -item.gas_petroleum.name=石油气罐 -item.gas_tester.name=气体传感器 -item.gear_large.name=大型齿轮 -item.gear_large_steel.name=大型钢齿轮 -item.geiger_counter.name=手持盖革计数器 -item.gem_alexandrite.name=亚历山大变石 -item.gem_rad.name=放射性宝石 -item.gem_sodalite.name=方钠石 -item.gem_tantalium.name=钽晶体 -item.gem_tantalium.desc=“钽” -item.gem_tantalium.desc.P11=又名钽。 -item.gem_volcanic.name=火山宝石 -item.generator_front.name=发电机前部 -item.generator_steel.name=发电机主体 -item.glitch.name=故障 -item.glowing_stew.name=发光真菌煲 -item.glyphid_meat.name=异虫肉 -item.glyphid_meat_grilled.name=熟异虫肉 -item.glyphid_gland.name=囊腺 -item.glyphid_gland_empty.name=异虫腺体 -item.goggles.name=护目镜 -item.grenade_aschrab.name=可抛反Sa326 -item.grenade_black_hole.name=黑洞手榴弹 -item.grenade_breach.name=破甲手榴弹 -item.grenade_burst.name=挖掘手榴弹 -item.grenate_cats.name=猫猫手榴弹 -item.grenade_cloud.name=一罐云 -item.grenade_cluster.name=集束手榴弹 -item.grenade_electric.name=闪电炸弹 -item.grenade_fire.name=燃烧破片手榴弹 -item.grenade_flare.name=信号弹 -item.grenade_frag.name=破片手榴弹 -item.grenade_gas.name=毒气手榴弹 -item.grenade_gascan.name=可抛油桶 -item.grenade_generic.name=手榴弹 -item.grenade_if_bouncy.name=IF-弹性手榴弹 -item.grenade_if_brimstone.name=IF-可抛硫磺矿 -item.grenade_if_concussion.name=IF-震荡手榴弹 -item.grenade_if_generic.name=IF-手榴弹 -item.grenade_if_he.name=IF-HE手榴弹 -item.grenade_if_hopwire.name=IF-旋涡热线 -item.grenade_if_impact.name=IF-冲击手榴弹 -item.grenade_if_incendiary.name=IF-燃烧手榴弹 -item.grenade_if_mystery.name=IF-M-手榴弹 -item.grenade_if_null.name=IF-清除手榴弹 -item.grenade_if_spark.name=IF-S-手榴弹 -item.grenade_if_sticky.name=IF-粘性手榴弹 -item.grenade_if_toxic.name=IF-毒物手榴弹 -item.grenade_kit.name=手榴弹 套件 -item.grenade_kyiv.name=基辅特供 -item.grenade_lemon.name=可燃柠檬 -item.grenade_mirv.name=MIRV型破片手榴弹 -item.grenade_mk2.name=Mk2手榴弹“菠萝大使” -item.grenade_nuclear.name=核子手榴弹 -item.grenade_nuke.name=MkVI钻地手榴弹 -item.grenade_pink_cloud.name=一罐粉雾 -item.grenade_plasma.name=等离子手榴弹 -item.grenade_poison.name=剧毒手榴弹 -item.grenade_pulse.name=脉冲手榴弹 -item.grenade_schrabidium.name=Sa326手榴弹 -item.grenade_shrapnel.name=榴霰弹手榴弹 -item.grenade_smart.name=智能手榴弹 -item.grenade_strong.name=增强型手榴弹 -item.grenade_tau.name=陶子手榴弹 -item.grenade_zomg.name=负能量湮灭手榴弹 -item.gun_ar15.name=阿玛莱特AR15式5.56mm自动步枪 -item.gun_avenger.name=CZ57复仇者机枪 -item.gun_b92.name=§9B92能量手枪§r -item.gun_b92_ammo.name=§9B92能量单元§r -item.gun_b93.name=§cB93能量手枪§r -item.gun_benelli.name=伯奈利自动霰弹枪(Drum Mod) -item.gun_bf.name=BEL -item.gun_bf_ammo.name=Mk.V小型AMAT-炮弹 –野火型 -item.gun_bio_revolver.name=Atlas -item.gun_bolt_action.name=栓动式霰弹枪[原版] -item.gun_bolt_action_ammo.name=12x74 独头弹 -item.gun_bolt_action_green.name=栓动式霰弹枪[绿色] -item.gun_bolt_action_saturnite.name=土星来复枪 -item.gun_bolter.name=爆弹枪 -item.gun_bolter_digamma.name=迪伽马爆弹枪 -item.gun_calamity.name=希特勒的电锯 -item.gun_calamity_ammo.name=.50BMG子弹 -item.gun_calamity_dual.name=马鞍枪 -item.gun_chemthrower.name=化学喷射器 -item.gun_coilgun.name=线圈枪 -item.gun_congolake.name=刚果湖 -item.gun_cryocannon.name=低温炮 -item.gun_cryolator.name=冻结者 -item.gun_cryolator_ammo.name=急冻单元 -item.gun_dampfmaschine.name=绝对不是开玩笑的武器 -item.gun_darter.name=飞镖枪 -item.gun_deagle.name=大手枪 -item.gun_defabricator.name=毁灭者 -item.gun_defabricator_ammo.name=毁灭者能量电池 -item.gun_detonator.name=激光引爆器 -item.gun_emp.name=EMP射线 -item.gun_emp_ammo.name=能量电池 -item.gun_euthanasia.name=安乐死 -item.gun_euthanasia_ammo.name=注射器 -item.gun_fatman.name=M42核弹发射器 "胖子" -item.gun_fatman_ammo.name=迷你核弹 -item.gun_fireext.name=灭火器 -item.gun_flamer.name="黄玉先生"喷射器 -item.gun_flechette.name=弗莱彻突击步枪 -item.gun_folly.name=Digamma原型"愚蠢" -item.gun_glass_cannon.name=玻璃大炮 -item.gun_hk69.name=榴弹手枪 -item.gun_hp.name=HPP射线炮 -item.gun_hp_ammo.name=墨盒 -item.gun_immolator.name=焚烧者 -item.gun_immolator_ammo.name=焚烧者燃料 -item.gun_jack.name=汽锤 -item.gun_jack_ammo.name=四联散弹子弹 -item.gun_karl.name=卡尔-古斯塔夫M3式84mm火箭筒 -item.gun_kit_1.name=枪械润滑油 -item.gun_kit_2.name=枪械修理包 -item.gun_ks23.name=KS-23霰弹枪 -item.gun_lacunae.name=CZ33亚巴顿 -item.gun_lacunae_ammo.name=5mm子弹 -item.gun_lever_action.name=马腿杠杆式霰弹枪[原版] -item.gun_lever_action_ammo.name=12x74 鹿弹 -item.gun_lever_action_dark.name=马腿杠杆式霰弹枪[黑暗] -item.gun_lever_action_sonata.name=自杀霰弹 -item.gun_lever_action_sonata_2.name=§cSonata的麦克风§r -item.gun_lunatic_marksman.name=Lunatic狙击步枪 -item.gun_m2.name=勃朗宁M2HB型重机枪 -item.gun_minigun.name=CZ53机枪 -item.gun_mirv.name=M42核弹发射器 "试验型MIRV" -item.gun_mirv_ammo.name=八倍MIRV -item.gun_moist_nugget.name=莫辛纳甘[迫真] -item.gun_mp.name=和平主义的机枪 -item.gun_mp40.name=MP40冲锋枪 -item.gun_mp40_ammo.name=冲锋枪子弹 -item.gun_pm_ammo.name=小型无发射药机枪子弹 -item.gun_mymy.name=Nietes软弹枪 -item.gun_osipr.name=标准型脉冲机枪 -item.gun_osipr_ammo.name=暗能量脉冲弹 -item.gun_osipr_ammo2.name=融合球 -item.gun_panzerschreck.name=战车噩梦 -item.gun_proto.name=M42核弹发射器 "原始MIRV" -item.gun_quadro.name=四喜丸子 -item.gun_remington.name=バイデン ブラスト [拜登冲击波] -item.gun_revolver.name=强化左轮手枪 -item.gun_revolver_ammo.name=铅左轮子弹 -item.gun_revolver_blackjack.name=黑杰克五发装左轮枪 -item.gun_revolver_cursed.name=诅咒手枪 -item.gun_revolver_cursed_ammo.name=钢左轮子弹 -item.gun_revolver_gold.name=黄金左轮手枪 -item.gun_revolver_gold_ammo.name=金左轮子弹 -item.gun_revolver_inverted.name=自杀左轮手枪 -item.gun_revolver_iron.name=简易左轮手枪 -item.gun_revolver_iron_ammo.name=铁左轮子弹 -item.gun_revolver_lead.name=核子左轮手枪 -item.gun_revolver_lead_ammo.name=玻璃左轮子弹 -item.gun_revolver_nightmare.name=梦魇左轮手枪[原版] -item.gun_revolver_nightmare2.name=梦魇左轮手枪[黑暗] -item.gun_revolver_nightmare2_ammo.name=激光子弹 -item.gun_revolver_nightmare_ammo.name=噩梦子弹 -item.gun_revolver_nopip.name=Novac -item.gun_revolver_nopip_ammo.name=.44马格南子弹 -item.gun_revolver_pip.name=小麦金塔 -item.gun_revolver_pip_ammo.name=污染子弹 -item.gun_revolver_red.name=红钥匙左轮手枪 -item.gun_revolver_saturnite.name=土星手枪 -item.gun_revolver_schrabidium.name=Sa326左轮手枪 -item.gun_revolver_schrabidium_ammo.name=Sa326左轮子弹 -item.gun_revolver_silver.name=银质左轮手枪 -item.gun_rpg.name=卡尔-古斯塔夫M4无后座力炮 -item.gun_rpg_ammo.name=火箭弹 -item.gun_sauer.name=斯坦-索尔的猎枪 -item.gun_skystinger.name=毒刺-The One Sky -item.gun_spark.name=Spark Plug -item.gun_spark_ammo.name=电磁弹 -item.gun_spas12.name=SPAS-12霰弹枪 -item.gun_stinger.name=FIM-92毒刺导弹 -item.gun_stinger_ammo.name=毒刺导弹 -item.gun_super_shotgun.name="超级"猎枪 -item.gun_super_shotgun.desc=超级烂! -item.gun_supershotgun.name=超级猎枪 -item.gun_thompson.name=汤姆森冲锋枪 -item.gun_uac_pistol.name=UAC .45手枪 -item.gun_uboinik.name=Uboinik -item.gun_uboinik_ammo.name=12x70 鹿弹 -item.gun_uzi.name=Uzi冲锋枪 -item.gun_uzi_ammo.name=.22LR子弹 -item.gun_uzi_saturnite.name=土星Uzi冲锋枪 -item.gun_uzi_saturnite_silencer.name=带消音器的土星Uzi冲锋枪 -item.gun_uzi_silencer.name=带消音器的Uzi冲锋枪 -item.gun_xvl1456.name=XVL1456陶子加农炮原型机 -item.gun_xvl1456_ammo.name=贫化铀235子弹 -item.gun_zomg.name=奇点能湮灭射线“ZOMG炮” -item.hand_drill.name=手钻 -item.hand_drill_desh.name=Desh手钻 -item.hazmat_boots.name=防辐射靴 -item.hazmat_boots_grey.name=高性能防辐射靴 -item.hazmat_boots_red.name=高级防辐射靴 -item.hazmat_cloth.name=防辐射布 -item.hazmat_cloth_grey.name=铅防辐射布 -item.hazmat_cloth_red.name=高级防辐射布 -item.hazmat_grey_kit.name=高性能防护套装 -item.hazmat_helmet.name=防辐射头盔 -item.hazmat_helmet_grey.name=高性能防辐射头盔 -item.hazmat_helmet_red.name=高级防辐射头盔 -item.hazmat_kit.name=防护套装 -item.hazmat_legs.name=防辐射护腿 -item.hazmat_legs_grey.name=高性能防辐射护腿 -item.hazmat_legs_red.name=高级防辐射护腿 -item.hazmat_paa_boots.name=PaA战斗防辐射套装 靴子 -item.hazmat_paa_helmet.name=PaA战斗防辐射套装 头盔 -item.hazmat_paa_legs.name=PaA战斗防辐射套装 护腿 -item.hazmat_paa_plate.name=PaA战斗防辐射套装 胸甲 -item.hazmat_plate.name=防辐射胸甲 -item.hazmat_plate_grey.name=高性能防辐射胸甲 -item.hazmat_plate_red.name=高级防辐射胸甲 -item.hazmat_red_kit.name=高级防护套装 -item.heart_booster.name=心之增强器 -item.heart_container.name=心之容器 -item.heart_fab.name=心脏抗原结合器 -item.heart_piece.name=心之碎片 -item.heavy_component.name=重型%s组件 -item.hev_battery.name=套装电池 -item.hev_boots.name=HEV Mk.IV 靴子 -item.hev_plate.name=HEV Mk.IV 胸甲 -item.hev_helmet.name=HEV Mk.IV 头盔 -item.hev_legs.name=HEV Mk.IV 护腿 -item.holotape_damaged.name=损坏的全息卡带 -item.holotape_image.name=全息卡带 -item.horseshoe_magnet.name=马蹄形磁铁 -item.hull_big_aluminium.name=大型铝壳 -item.hull_big_steel.name=大型钢壳 -item.hull_big_titanium.name=大型钛壳 -item.hull_small_aluminium.name=小型铝壳 -item.hull_small_aluminium.desc=可插入钻孔石墨中 -item.hull_small_steel.name=小型钢壳 -item.icf_pellet.name=ICF燃料靶丸 -item.icf_pellet_depleted.name=枯竭ICF燃料靶丸 -item.icf_pellet_empty.name=空ICF燃料靶丸 -item.igniter.name=点火器 -item.igniter.desc=(鼠标右键点击原型)$这是一个绿色金属手柄,带有$亮红色按钮和一个小盖子$在底部,缩写N.E.刻着美元。不管N.E.是谁,他对绿色的色调很有品味。 -item.industrial_magnet.name=工业磁铁 -item.inf_antimatter.name=无限反物质罐 -item.inf_antischrabidium.name=无限反Sa326罐 -item.inf_coolant.name=无限冷却液罐 -item.inf_deuterium.name=无限氘罐 -item.inf_diesel.name=无限柴油罐 -item.inf_sulfur.name=无限硫磺罐 -item.inf_tritium.name=无限氚罐 -item.inf_water.name=无限水罐 -item.inf_water_mk2.name=重型无限水罐 -item.ingot_actinium.name=半稳定锕锭 -item.ingot_advanced_alloy.name=高级合金锭 -item.ingot_aluminium.name=铝锭 -item.ingot_am_mix.name=反应堆级镅锭 -item.ingot_am241.name=镅-241锭 -item.ingot_am242.name=镅-242锭 -item.ingot_americium_fuel.name=镅燃料锭 -item.ingot_arsenic.name=砷锭 -item.ingot_arsenic_bronze.name=砷青铜锭 -item.ingot_asbestos.name=石棉板 -item.ingot_asbestos.desc=§o\“充满了生命、自我怀疑和石棉。这是空气带来的。\”§r -item.ingot_au198.name=金-198锭 -item.ingot_australium.name=奥斯锭 -item.ingot_bakelite.name=电木锭 -item.ingot_beryllium.name=铍锭 -item.ingot_biorubber.name=乳胶锭 -item.ingot_bismuth.name=铋锭 -item.ingot_bismuth_bronze.name=铋青铜锭 -item.ingot_boron.name=硼锭 -item.ingot_bscco.name=BSCCO锭 -item.ingot_c4.name=一块C-4 -item.ingot_cadmium.name=镉锭 -item.ingot_calcium.name=钙锭 -item.ingot_cdalloy.name=镉钢锭 -item.ingot_cft.name=晶化富勒烯 -item.ingot_chainsteel.name=重链钢 -item.ingot_co60.name=钴-60锭 -item.ingot_cobalt.name=钴锭 -item.ingot_combine_steel.name=CMB钢锭 -item.ingot_combine_steel.desc=*在此处插入民事保护参考* -item.ingot_copper.name=工业级铜锭 -item.ingot_daffergon.name=达夫贡锭 -item.ingot_desh.name=Desh锭 -item.ingot_dineutronium.name=双聚中子态素锭 -item.ingot_dura_steel.name=高速钢锭 -item.ingot_electronium.name=电素锭 -item.ingot_euphemium.name=Ep锭 -item.ingot_euphemium.desc=一个非常特殊但又奇怪的元素。 -item.ingot_ferrouranium.name=铀铁合金锭 -item.ingot_fiberglass.name=玻璃纤维 -item.ingot_fiberglass.desc=纤维含量高,玻璃含量高。身体需要的一切。 -item.ingot_firebrick.name=耐火砖 -item.ingot_gh336.name=Gh336锭 -item.ingot_gh336.desc=钅喜的同事。 -item.ingot_graphite.name=石墨锭 -item.ingot_hes.name=高浓度Sa326燃料锭 -item.ingot_lanthanium.name=半稳定镧锭 -item.ingot_lanthanium.desc=“镧” -item.ingot_lanthanium.desc.P11=实际上就是镧,无论怎么说。 -item.ingot_lead.name=铅锭 -item.ingot_les.name=低浓度Sa326燃料锭 -item.ingot_magnetized_tungsten.name=磁化钨锭 -item.ingot_meteorite.name=陨石锭 -item.ingot_meteorite_forged.name=锻造陨石锭 -item.ingot_mox_fuel.name=MOX燃料锭 -item.ingot_mud.name=固化毒泥浆砖 -item.ingot_neptunium.name=镎锭 -item.ingot_neptunium.desc=那是我最喜欢的! -item.ingot_neptunium.desc.P11=哇,吓人! -item.ingot_neptunium_fuel.name=镎燃料锭 -item.ingot_niobium.name=铌锭 -item.ingot_osmiridium.name=铱锇锭 -item.ingot_pb209.name=铅-209锭 -item.ingot_pc.name=硬质塑料锭 -item.ingot_pet.name=铝金属化PET锭 -item.ingot_phosphorus.name=白磷锭 -item.ingot_plutonium.name=钚锭 -item.ingot_plutonium_fuel.name=钚燃料锭 -item.ingot_polonium.name=钋锭 -item.ingot_polymer.name=聚合物锭 -item.ingot_pu_mix.name=反应堆级钚锭 -item.ingot_pu238.name=钚-238锭 -item.ingot_pu239.name=钚-239锭 -item.ingot_pu240.name=钚-240锭 -item.ingot_pu241.name=钚-241锭 -item.ingot_pvc.name=聚氯乙烯锭(PVC) -item.ingot_ra226.name=镭-226锭 -item.ingot_red_copper.name=紫铜锭 -item.ingot_reiium.name=雷恩锭 -item.ingot_rubber.name=橡胶锭 -item.ingot_saturnite.name=土星锭 -item.ingot_schrabidate.name=Sa酸铁锭 -item.ingot_schrabidium.name=Sa326锭 -item.ingot_schrabidium_fuel.name=Sa326燃料锭 -item.ingot_schraranium.name=低丰度Sa326锭 -item.ingot_schraranium.desc=在Sa326嬗变器中由铀制成 -item.ingot_semtex.name=塞姆汀塑胶炸药块 -item.ingot_silicon.name=硅晶 -item.ingot_smore.name=S'more 锭 -item.ingot_solinium.name=Sa327锭 -item.ingot_sr90.name=锶-90锭 -item.ingot_starmetal.name=§9星辉锭§r -item.ingot_steel.name=钢锭 -item.ingot_steel_dusted.name=粉末钢锭 -item.ingot_tantalium.name=钽锭 -item.ingot_tantalium.desc=“钽” -item.ingot_tantalium.desc.P11=又名钽。 -item.ingot_tcalloy.name=锝-钢合金锭 -item.ingot_technetium.name=锝-99锭 -item.ingot_th232.name=钍-232锭 -item.ingot_thorium_fuel.name=钍燃料锭 -item.ingot_titanium.name=钛锭 -item.ingot_tungsten.name=钨锭 -item.ingot_u233.name=铀-233锭 -item.ingot_u235.name=铀-235锭 -item.ingot_u238.name=铀-238锭 -item.ingot_u238m2.name=亚稳铀238-2锭 -item.ingot_unobtainium.name=难得素锭 -item.ingot_uranium.name=铀锭 -item.ingot_uranium_fuel.name=铀燃料锭 -item.ingot_verticium.name=韦德赛锭 -item.ingot_weidanium.name=魏丹锭 -item.ingot_zirconium.name=锆块 -item.injector_5htp.name=5-HTP自动药物注射器 -item.injector_knife.name=8英寸刀片自动药物注射器 -item.ink.name=林 墨水 -item.insert_doxium.name=掺砷Doxium插板 -item.insert_du.name=贫铀插板 -item.insert_era.name=反应装甲插板 -item.insert_esapi.name=ESAPI插板 -item.insert_ghiorsium.name=Gh插板 -item.insert_kevlar.name=凯夫拉插板 -item.insert_sapi.name=SAPI插板 -item.insert_polonium.name=钋插板 -item.insert_steel.name=重型钢插板 -item.insert_xsapi.name=XSAPI插板 -item.insert_yharonite.name=犽戎龙素插板 -item.item_secret.canister.name=SB-26成分 -item.item_secret.controller.name=专用控制单元 -item.iv_blood.name=血袋 -item.iv_empty.name=静脉输液袋 -item.iv_xp.name=经验包 -item.iv_xp_empty.name=空的经验包 -item.jackt.name=时尚防弹夹克 -item.jackt2.name=时尚防弹夹克2:东京漂移 -item.jetpack_boost.name=弹跳背包 -item.jetpack_break.name=缓降背包 -item.jetpack_fly.name=喷气背包 -item.jetpack_tank.name=喷气背包备用燃料罐 -item.jetpack_vector.name=矢量喷气背包 -item.journal_bj.name=被威士忌浸透的笔记本 -item.journal_pip.name=生存主义者日记 -item.journal_silver.name=承包商注释 -item.key.name=钥匙 -item.key_fake.name=伪造钥匙 -item.key_kit.name=钥匙仿制套件 -item.key_red.name=红色钥匙 -item.key_red.desc=探索另一边。 -item.key_red.desc.P11=§4e§r -item.key_red_cracked.name=破碎的钥匙 -item.key_red_cracked.desc=??? -item.key_red.key_red_cracked.P11=§4???§r -item.kit_toolbox.name=工具箱 -item.kit_toolbox_empty.name=空工具箱 -item.laser_crystal_bismuth.desc=铋-钐-铀-钍晶体基质 -item.laser_crystal_bismuth.name=铋-钐-铀-钍激光晶体 -item.laser_crystal_cmb.desc=反Sa326被镶嵌在CMB-Sa326合金晶格 -item.laser_crystal_cmb.name=CMB-Sa326反物质激光晶体 -item.laser_crystal_co2.desc=二氧化碳被包裹在结晶的Desh中 -item.laser_crystal_co2.name=CO2-Desh激光晶体 -item.laser_crystal_digamma.name=Digamma迪伽马激光晶体 -item.laser_crystal_dnt.desc=双聚态中子-Spark费米子超晶体 -item.laser_crystal_dnt.name=Spark激光晶体 -item.launch_code.name=发射井发射代码 -item.launch_code_piece.name=发射井发射代码碎片 -item.launch_key.name=发射井发射钥匙 -item.lead_gavel.name=铅槌 -item.lemon.name="柠檬" -item.letter.name=快捷邮件 -item.levitation_unit.name=重力控制器 -item.lignite.name=褐煤 -item.limiter.name=发电机限制器 -item.linker.name=链接器 -item.liquidator_boots.name=核废土清道夫套装靴子 -item.liquidator_helmet.name=核废土清道夫套装头盔 -item.liquidator_legs.name=核废土清道夫套装护腿 -item.liquidator_plate.name=核废土清道夫套装胸甲 -item.lithium.name=锂锭 -item.lodestone.name=磁石 -item.loop_stew.name=程序猿专属早餐 -item.loops.name=五彩麦圈 -item.loot_10.name=10号导弹战利箱 -item.loot_15.name=15号导弹战利箱 -item.loot_misc.name=普通导弹战利箱 -item.magnet_circular.name=扁磁铁 -item.magnet_dee.name=D型磁铁 -item.magnetron.name=磁控管 -item.man_core.name=钚核心 -item.man_explosive.name=炸药 -item.man_igniter.name=点火器 -item.man_kit.name=胖子 套件 -item.marshmallow.name=穿在木棍上的棉花糖 -item.mask_of_infamy.name=耻辱面具 -item.mask_piss.name=战壕面具 -item.mask_rag.name=粗糙防护面罩 -item.matchstick.name=火柴 -item.mech_key.name=大号银钥匙 -item.mech_key.desc=它充满力量。 -item.mechanism_launcher_1.name=发射机构 -item.mechanism_launcher_2.name=先进发射机构 -item.mechanism_revolver_1.name=转轮机构 -item.mechanism_revolver_2.name=先进转轮机构 -item.mechanism_rifle_1.name=步枪机构 -item.mechanism_rifle_2.name=先进步枪机构 -item.mechanism_special.name=高科技武器机构 -item.med_bag.name=医疗包 -item.med_ipecac.name=吐根酊催吐剂 -item.med_ptsd.name=PTSD治疗药物 -item.med_schiziphrenia.name=抗精神分裂症药物 -item.medal_liquidator.name=核废土清道夫勋章 -item.meltdown_tool.name=达洛夫快速熔毁装置 -item.memespoon.name=§ee花园园丁 -item.memory.name=item.null.name -item.mese_gavel.name=Mese槌 -item.mese_axe.name=Mese斧 -item.mese_pickaxe.name=Mese镐 -item.meteor_charm.name=陨石项链 -item.meteor_remote.name=陨石召唤器 -item.meteorite_sword.name=陨石剑 -item.meteorite_sword_seared.name=陨石剑(烧焦) -item.meteorite_sword_reforged.name=陨石剑(重铸) -item.meteorite_sword_hardened.name=陨石剑(硬化) -item.meteorite_sword_alloyed.name=陨石剑(合金) -item.meteorite_sword_machined.name=陨石剑(机械加工) -item.meteorite_sword_treated.name=陨石剑(精制) -item.meteorite_sword_etched.name=陨石剑(刻蚀) -item.meteorite_sword_bred.name=陨石剑(增殖) -item.meteorite_sword_irradiated.name=陨石剑(辐照) -item.meteorite_sword_fused.name=陨石剑(熔融) -item.meteorite_sword_baleful.name=陨石剑(凶恶) -item.mike_cooling_unit.name=氘冷却装置 -item.mike_core.name=铀涂层氘罐 -item.mike_deut.name=氘罐 -item.mike_kit.name=常春藤麦克 套件 -item.mirror_tool.name=定日镜调整工具 -item.mirror_tool.linked=设置对齐位置! -item.mirror_tool.desc=右键单击“太阳能锅炉”以记忆位置 $再单击“定日镜”可将其转向太阳能锅炉 -item.missile_anti_ballistic.name=反弹道导弹 -item.missile_assembly.name=小型导弹[待装配] -item.missile_bhole.name=黑洞导弹 -item.missile_burst.name=洲际导弹 -item.missile_buster.name=掩体破坏弹 -item.missile_buster_strong.name=强化型掩体破坏弹 -item.missile_carrier.name=HTR-01运载火箭 -item.missile_cluster.name=集束导弹 -item.missile_cluster_strong.name=强化型集束导弹 -item.missile_custom.name=定制导弹 -item.missile_decoy.name=诱饵弹 -item.missile_doomsday.name=末日导弹 -item.missile_doomsday_rusted.name=损坏的末日导弹 -item.missile_drill.name=掩体裂解者 -item.missile_emp.name=EMP导弹 -item.missile_emp_strong.name=强化型EMP导弹 -item.missile_endo.name=吸热导弹 -item.missile_exo.name=放热导弹 -item.missile_generic.name=高爆导弹 -item.missile_incendiary.name=燃烧导弹 -item.missile_incendiary_strong.name=强化型燃烧导弹 -item.missile_inferno.name=Mk.II G.R.N.地狱导弹 -item.missile_kit.name=导弹工具箱 -item.missile_micro.name=战术核导弹 -item.missile_nuclear.name=核导弹 -item.missile_nuclear_cluster.name=热核导弹 -item.missile_rain.name=炸弹雨 -item.missile_schrabidium.name=Sa326导弹 -item.missile_shuttle.name=万金罗宾航天飞机 -item.missile_skin_camo.name=导弹外壳:迷彩 -item.missile_skin_color.desc=我再也找不到我的导弹了! -item.missile_skin_desert.name=导弹外壳:沙漠迷彩 -item.missile_skin_desert.desc=看起来像沙子,尝起来像金属。 -item.missile_skin_flames.name=导弹外壳:火焰 -item.missile_skin_flames.desc=不同凡响的! -item.missile_skin_manly_pink.name=导弹外壳:猛男粉 -item.missile_skin_manly_pink.desc=粉色,最有男子气概的颜色。 -item.missile_skin_metal.name=导弹外壳:全金属外壳 -item.missile_skin_metal.desc=金属板和金属螺栓,用金属加固。 -item.missile_skin_orange_insulation.name=导弹外壳:橙色绝缘 -item.missile_skin_orange_insulation.desc=不是橙汁瓶$不要试图喝里面的东西。 -item.missile_skin_sleek.name=导弹外壳:IF-R&D -item.missile_skin_sleek.desc=V字形很酷! -item.missile_skin_soviet_glory.name=导弹外壳:苏联荣耀 -item.missile_skin_soviet_glory.desc=услуга перевода недоступна -item.missile_skin_soviet_stank.name=导弹外壳:苏维埃不朽 -item.missile_skin_soviet_stank.desc=这个真的很有60年代的味道。 -item.missile_soyuz.name=联盟-FG运载火箭 -item.missile_soyuz_lander.name=联盟号轨道舱 -item.missile_soyuz_lander.desc=劣质着陆器! -item.missile_stealth.name=隐身导弹 -item.missile_strong.name=强化型高爆导弹 -item.missile_taint.name=污染导弹 -item.missile_volcano.name=构造导弹 -item.missile_volcano.desc=利用核爆的威力,我们可以召唤一座火山! -item.mold_base.name=毛坯铸造模具 -item.mold.name=铸造模具 -item.morning_glory.name=牵牛花 -item.motor.name=马达 -item.motor_bismuth.name=铋马达 -item.motor_desh.name=Desh马达 -item.mp_c_1.name=1级导弹制导芯片 -item.mp_c_2.name=2级导弹制导芯片 -item.mp_c_3.name=3级导弹制导芯片 -item.mp_c_4.name=4级导弹制导芯片 -item.mp_c_5.name=5级导弹制导芯片 -item.mp_fuselage_10_15_balefire.name=10/15号弹体[野火燃料] -item.mp_fuselage_10_15_hydrogen.name=10/15号弹体[液氢] -item.mp_fuselage_10_15_kerosene.name=10/15号弹体[煤油] -item.mp_fuselage_10_15_solid.name=10/15号弹体[固体燃料] -item.mp_fuselage_10_kerosene.name=10号弹体[煤油] -item.mp_fuselage_10_kerosene_camo.name=10号弹体[煤油] -item.mp_fuselage_10_kerosene_desert.name=10号弹体[煤油] -item.mp_fuselage_10_kerosene_flames.name=10号弹体[煤油] -item.mp_fuselage_10_kerosene_insulation.name=10号弹体[煤油] -item.mp_fuselage_10_kerosene_metal.name=10号弹体[煤油] -item.mp_fuselage_10_kerosene_sky.name=10号弹体[煤油] -item.mp_fuselage_10_kerosene_sleek.name=10号弹体[煤油] -item.mp_fuselage_10_kerosene_taint.name=10号弹体[煤油] -item.mp_fuselage_10_long_kerosene.name=10号长弹体[煤油] -item.mp_fuselage_10_long_kerosene_camo.name=10号长弹体[煤油] -item.mp_fuselage_10_long_kerosene_dash.name=10号长弹体[煤油] -item.mp_fuselage_10_long_kerosene_desert.name=10号长弹体[煤油] -item.mp_fuselage_10_long_kerosene_flames.name=10号长弹体[煤油] -item.mp_fuselage_10_long_kerosene_insulation.name=10号长弹体[煤油] -item.mp_fuselage_10_long_kerosene_metal.name=10号长弹体[煤油] -item.mp_fuselage_10_long_kerosene_sky.name=10号长弹体[煤油] -item.mp_fuselage_10_long_kerosene_sleek.name=10号长弹体[煤油] -item.mp_fuselage_10_long_kerosene_taint.name=10号长弹体[煤油] -item.mp_fuselage_10_long_kerosene_vap.name=10号长弹体[煤油] -item.mp_fuselage_10_long_solid.name=10号长弹体[固体燃料] -item.mp_fuselage_10_long_solid_bullet.name=10号长弹体[固体燃料] -item.mp_fuselage_10_long_solid_flames.name=10号长弹体[固体燃料] -item.mp_fuselage_10_long_solid_insulation.name=10号长弹体[固体燃料] -item.mp_fuselage_10_long_solid_silvermoonlight.name=10号长弹体[固体燃料] -item.mp_fuselage_10_long_solid_sleek.name=10号长弹体[固体燃料] -item.mp_fuselage_10_long_solid_soviet_glory.name=10号长弹体[固体燃料] -item.mp_fuselage_10_solid.name=10号弹体[固体燃料] -item.mp_fuselage_10_solid_battery.name=10号弹体[固体燃料] -item.mp_fuselage_10_solid_cathedral.name=10号弹体[固体燃料] -item.mp_fuselage_10_solid_duracell.name=10号弹体[固体燃料] -item.mp_fuselage_10_solid_flames.name=10号弹体[固体燃料] -item.mp_fuselage_10_solid_insulation.name=10号弹体[固体燃料] -item.mp_fuselage_10_solid_moonlit.name=10号弹体[固体燃料] -item.mp_fuselage_10_solid_sleek.name=10号弹体[固体燃料] -item.mp_fuselage_10_solid_soviet_glory.name=10号弹体[固体燃料] -item.mp_fuselage_10_xenon.name=10号弹体[氙] -item.mp_fuselage_10_xenon_bhole.name=10号弹体[氙] -item.mp_fuselage_15_20_kerosene.name=15/20号弹体[煤油] -item.mp_fuselage_15_20_kerosene_magnusson.name=15/20号弹体[煤油] -item.mp_fuselage_15_20_solid.name=15/20号弹体[固体燃料] -item.mp_fuselage_15_balefire.name=15号弹体[野火燃料] -item.mp_fuselage_15_hydrogen.name=15号弹体[液氢] -item.mp_fuselage_15_hydrogen_cathedral.name=15号弹体[液氢] -item.mp_fuselage_15_kerosene.name=15号弹体[煤油] -item.mp_fuselage_15_kerosene_blackjack.name=15号弹体[煤油] -item.mp_fuselage_15_kerosene_camo.name=15号弹体[煤油] -item.mp_fuselage_15_kerosene_decorated.name=15号弹体[煤油] -item.mp_fuselage_15_kerosene_desert.name=15号弹体[煤油] -item.mp_fuselage_15_kerosene_insulation.name=15号弹体[煤油] -item.mp_fuselage_15_kerosene_lambda.name=15号弹体[煤油] -item.mp_fuselage_15_kerosene_metal.name=15号弹体[煤油] -item.mp_fuselage_15_kerosene_minuteman.name=15号弹体[煤油] -item.mp_fuselage_15_kerosene_pip.name=15号弹体[煤油] -item.mp_fuselage_15_kerosene_polite.name=15号弹体[煤油] -item.mp_fuselage_15_kerosene_sky.name=15号弹体[煤油] -item.mp_fuselage_15_kerosene_steampunk.name=15号弹体[煤油] -item.mp_fuselage_15_kerosene_taint.name=15号弹体[煤油] -item.mp_fuselage_15_kerosene_yuck.name=15号弹体[煤油] -item.mp_fuselage_15_solid.name=15号弹体[固体燃料] -item.mp_fuselage_15_solid_desh.name=15号弹体[固体燃料] -item.mp_fuselage_15_solid_faust.name=15号弹体[固体燃料] -item.mp_fuselage_15_solid_insulation.name=15号弹体[固体燃料] -item.mp_fuselage_15_solid_mimi.name=15号弹体[固体燃料] -item.mp_fuselage_15_solid_panorama.name=15号弹体[固体燃料] -item.mp_fuselage_15_solid_roses.name=15号弹体[固体燃料] -item.mp_fuselage_15_solid_silvermoonlight.name=15号弹体[固体燃料] -item.mp_fuselage_15_solid_snowy.name=15号弹体[固体燃料] -item.mp_fuselage_15_solid_soviet_glory.name=15号弹体[固体燃料] -item.mp_fuselage_15_solid_soviet_stank.name=15号弹体[固体燃料] -item.mp_stability_10_cruise.name=10号巡航翼 -item.mp_stability_10_flat.name=10号水平翼 -item.mp_stability_10_space.name=10号航天翼 -item.mp_stability_15_flat.name=15号水平翼 -item.mp_stability_15_soyuz.name=15号尖翼 -item.mp_stability_15_thin.name=15号薄翼 -item.mp_thruster_10_kerosene.name=10号液体燃料推进器 -item.mp_thruster_10_solid.name=10号固体燃料推进器 -item.mp_thruster_10_xenon.name=10号离子推进器 -item.mp_thruster_15_balefire.name=15号带核预热器的野火燃料推进器 -item.mp_thruster_15_balefire_large.name=15号带核预热器的野火燃料推进器[重型喷管] -item.mp_thruster_15_balefire_large_rad.name=15号带核预热器的野火燃料推进器[重型喷管-稀有] -item.mp_thruster_15_balefire_short.name=15号带核预热器的野火燃料推进器[缩短版] -item.mp_thruster_15_hydrogen.name=15号液氢推进器 -item.mp_thruster_15_hydrogen_dual.name=15号双喷管氢推进器 -item.mp_thruster_15_kerosene.name=15号液体燃料推进器 -item.mp_thruster_15_kerosene_dual.name=15号双喷管液体燃料推进器 -item.mp_thruster_15_kerosene_triple.name=15号三喷管液体燃料推进器 -item.mp_thruster_15_solid.name=15号固体燃料推进器 -item.mp_thruster_15_solid_hexdecuple.name=15号十六喷管固体燃料推进器 -item.mp_thruster_20_kerosene.name=20号液体燃料推进器 -item.mp_thruster_20_kerosene_dual.name=20号液体燃料推进器 -item.mp_thruster_20_kerosene_triple.name=20号液体燃料推进器 -item.mp_thruster_20_solid.name=20号固体燃料推进器 -item.mp_thruster_20_solid_multi.name=20号三十喷管固体燃料推进器 -item.mp_thruster_20_solid_multier.name=20号四十七喷管固体燃料推进器 -item.mp_warhead_10_buster.name=10号掩体破坏弹头 -item.mp_warhead_10_cloud.name=10号粉雾弹头 -item.mp_warhead_10_he.name=10号HE弹头 -item.mp_warhead_10_incendiary.name=10号燃烧弹头 -item.mp_warhead_10_nuclear.name=10号微型核弹头 -item.mp_warhead_10_nuclear_large.name=10号核弹头 -item.mp_warhead_10_taint.name=10号污染弹头 -item.mp_warhead_15_balefire.name=15号野火弹头 -item.mp_warhead_15_boxcar.name=15号 车厢? -item.mp_warhead_15_he.name=15号HE弹头 -item.mp_warhead_15_incendiary.name=15号燃烧弹头 -item.mp_warhead_15_n2.name=15号N2炸弹 -item.mp_warhead_15_nuclear.name=15号核弹头 -item.mp_warhead_15_nuclear_mimi.name=15号核弹头 -item.mp_warhead_15_nuclear_shark.name=15号核弹头 -item.mp_warhead_15_turbine.name=15号喷气发动机弹头 -item.mucho_mango.name=亚利桑那芒果味饮料 -item.multi_kit.name=多用途炸弹 套件 -item.multitool_beam.name=动力拳套[热射线] -item.multitool_decon.name=动力拳套[净化] -item.multitool_dig.name=动力拳套[挖掘] -item.multitool_ext.name=动力拳套[矿物提取] -item.multitool_hit.name=动力拳套[攻击] -item.multitool_joule.name=动力拳套[千兆焦耳] -item.multitool_mega.name=动力拳套[超级重拳] -item.multitool_miner.name=动力拳套[采矿激光] -item.multitool_silk.name=动力拳套[精准采集] -item.multitool_sky.name=动力拳套[划破天际] -item.mysteryshovel.name=易碎锹 -item.n2_charge.name=大型炸药 -item.neutrino_lens.name=中微子透镜 -item.neutron_reflector.name=中子反射板 -item.night_vision.name=夜视眼镜 -item.night_vision.description.item=提供夜视功能(需要全套电动设备) -item.night_vision.description.in_armor=%s(允许夜视) -item.niter.name=硝石粉 -item.nitra.name=Nitra -item.nitra_small.name=小撮Nitra -item.no9.name=矿工头盔 -item.nossy_hat.name=华丽的帽子 -item.nothing.name=没有东西 -item.nuclear_waste.name=核废料 -item.nuclear_waste_pearl.name=放射性珍珠 -item.nuclear_waste_tiny.name=小撮核废料 -item.nuclear_waste_long.name=长半衰期核废料 -item.nuclear_waste_long_tiny.name=小撮长半衰期核废料 -item.nuclear_waste_long_depleted.name=腐化的长半衰期核废料 -item.nuclear_waste_long_depleted_tiny.name=小撮腐化的长半衰期核废料 -item.nuclear_waste_short.name=短半衰期核废料 -item.nuclear_waste_short_tiny.name=小撮短半衰期核废料 -item.nuclear_waste_short_depleted.name=腐化的短半衰期核废料 -item.nuclear_waste_short_depleted_tiny.name=小撮腐化的短半衰期核废料 -item.nuclear_waste_vitrified.name=玻璃化核废料 -item.nuclear_waste_vitrified_tiny.name=小撮玻璃化核废料 -item.nugget.name=鸡块 -item.nugget_actinium.name=锕-227粒 -item.nugget_am_mix.name=反应堆级镅粒 -item.nugget_am241.name=镅-241粒 -item.nugget_am242.name=镅-242粒 -item.nugget_americium_fuel.name=镅燃料粒 -item.nugget_arsenic.name=砷粒 -item.nugget_au198.name=金-198粒 -item.nugget_australium.name=奥斯粒 -item.nugget_australium_greater.name=富集奥斯粒 -item.nugget_australium_lesser.name=贫化奥斯粒 -item.nugget_beryllium.name=铍粒 -item.nugget_bismuth.name=铋粒 -item.nugget_co60.name=钴-60粒 -item.nugget_cobalt.name=钴粒 -item.nugget_daffergon.name=达夫贡粒 -item.nugget_desh.name=Desh粒 -item.nugget_dineutronium.name=双聚中子态素粒 -item.nugget_euphemium.name=Ep粒 -item.nugget_euphemium.desc=一小块粉红色的金属$它的属性仍然未知,请小心处理。 -item.nugget_gh336.name=Gh336粒 -item.nugget_gh336.desc=钅喜的同事。 -item.nugget_hes.name=高浓度Sa326燃料粒 -item.nugget_lead.name=铅粒 -item.nugget_les.name=低浓度Sa326燃料粒 -item.nugget_mercury_tiny.name=一小滴水银 -item.nugget_mercury.name=一滴水银 -item.nugget_mox_fuel.name=MOX燃料粒 -item.nugget_mox_fuel.desc=摩西说:§l逃税。§r -item.nugget_neptunium.name=镎粒 -item.nugget_neptunium_fuel.name=镎燃料粒 -item.nugget_niobium.name=铌粒 -item.nugget_osmiridium.name=铱锇粒 -item.nugget_pb209.name=铅-209粒 -item.nugget_plutonium.name=钚粒 -item.nugget_plutonium_fuel.name=钚燃料粒 -item.nugget_polonium.name=钋粒 -item.nugget_pu_mix.name=反应堆级钚粒 -item.nugget_pu238.name=钚-238粒 -item.nugget_pu239.name=钚-239粒 -item.nugget_pu240.name=钚-240粒 -item.nugget_pu241.name=钚-241粒 -item.nugget_ra226.name=镭-226粒 -item.nugget_reiium.name=雷恩粒 -item.nugget_schrabidium.name=Sa326粒 -item.nugget_schrabidium_fuel.name=Sa326燃料粒 -item.nugget_silicon.name=硅粒 -item.nugget_solinium.name=Sa327粒 -item.nugget_sr90.name=锶-90粒 -item.nugget_tantalium.name=钽粒 -item.nugget_tantalium.desc=“钽” -item.nugget_tantalium.desc.P11=又名钽。 -item.nugget_technetium.name=锝-99粒 -item.nugget_th232.name=钍232粒 -item.nugget_thorium_fuel.name=钍燃料粒 -item.nugget_u233.name=铀-233粒 -item.nugget_u235.name=铀-235粒 -item.nugget_u238.name=铀-238粒 -item.nugget_unobtainium.name=难得素粒 -item.nugget_uranium.name=铀粒 -item.nugget_uranium_fuel.name=铀燃料粒 -item.nugget_verticium.name=韦德赛粒 -item.nugget_weidanium.name=魏丹粒 -item.nugget_zirconium.name=锆碎片 -item.nuke_advanced_kit.name=原子学高级工具箱 -item.nuke_commercially_kit.name=商用原子学工具箱 -item.nuke_electric_kit.name=电子工程师工具箱 -item.nuke_starter_kit.name=原子学入门工具箱 -item.oil_canola.name=菜籽油 -item.oil_detector.name=石油探测仪 -item.oil_detector.desc1=单击右键扫描地下是否存在油田 -item.oil_detector.desc2=探测仪只会发现大片油田 -item.oil_detector.bullseye=正下方发现油田! -item.oil_detector.detected=附近存在油田 -item.oil_detector.noOil=未发现油田 -item.oil_tar.coal.name=煤焦油 -item.oil_tar.crude.name=焦油 -item.oil_tar.crack.name=裂化焦油 -item.oil_tar.paraffin.name=石蜡 -item.oil_tar.wax.name=氯化石蜡 -item.oil_tar.wood.name=木馏油 -item.ore.asbestos=石棉 -item.ore.borax=硼砂 -item.ore.chlorocalcite=氯方解石 -item.ore.copper=铜 -item.ore.fluorite=氟石 -item.ore.gold=金 -item.ore.hematite=赤铁矿 -item.ore.iron=铁 -item.ore.malachite=孔雀石 -item.ore.neodymium=钕 -item.ore.niobium=铌 -item.ore.titanium=钛 -item.ore.tungsten=钨 -item.ore.thorium232=钍 -item.ore.uranium=铀 -item.ore_bedrock.name=基岩%s矿 -item.ore_byproduct.b_aluminium.name=铝晶体碎片 -item.ore_byproduct.b_bismuth.name=铋晶体碎片 -item.ore_byproduct.b_calcium.name=钙晶体碎片 -item.ore_byproduct.b_copper.name=铜晶体碎片 -item.ore_byproduct.b_iron.name=铁晶体碎片 -item.ore_byproduct.b_lead.name=铅晶体碎片 -item.ore_byproduct.b_lithium.name=锂晶体碎片 -item.ore_byproduct.b_polonium.name=钋晶体碎片 -item.ore_byproduct.b_radium.name=镭晶体碎片 -item.ore_byproduct.b_silicon.name=硅晶体碎片 -item.ore_byproduct.b_sulfur.name=硫晶体碎片 -item.ore_byproduct.b_technetium.name=锝晶体碎片 -item.ore_byproduct.b_titanium.name=钛晶体碎片 -item.ore_byproduct.b_uranium.name=铀晶体碎片 -item.ore_centrifuged.name=离心%s矿 -item.ore_cleaned.name=清洁%s矿 -item.ore_deepcleaned.name=深清洁%s矿 -item.ore_density_scanner.name=基岩矿石丰度扫描仪 -item.ore_enriched.name=富集%s矿 -item.ore_nitrated.name=硝化%s矿 -item.ore_nitrocrystalline.name=亚硝基结晶%s矿 -item.ore_purified.name=净化%s矿 -item.ore_radcleaned.name=经辐射清洁的%s矿 -item.ore_seared.name=灼热的%s矿 -item.ore_separated.name=分离的%s矿 -item.overfuse.name=奇异螺丝刀 -item.overfuse.desc=说啥? -item.oxy_mask.name=氧气面罩 -item.paa_boots.name=PaA "好鞋" -item.paa_legs.name=PaA加固护腿 -item.paa_plate.name=PaA加固护胸 -item.padlock.name=挂锁 -item.padlock_reinforced.name=加强挂锁 -item.padlock_rusty.name=生锈的挂锁 -item.padlock_unbreakable.name=牢不可破的挂锁 -item.pads_rubber.name=橡胶垫 -item.pads_slime.name=粘液垫 -item.pads_static.name=静电垫 -item.page_of_.page1.name=书页之一 -item.page_of_.page2.name=书页之二 -item.page_of_.page3.name=书页之三 -item.page_of_.page4.name=书页之四 -item.page_of_.page5.name=书页之五 -item.page_of_.page6.name=书页之六 -item.page_of_.page7.name=书页之七 -item.page_of_.page8.name=书页之八 -item.pancake.name=用废金属、螺栓和宝石粉做成的薄饼 -item.part_beryllium.name=铍粉盒 -item.part_carbon.name=碳粉盒 -item.part_copper.name=铜粉盒 -item.part_generic.hde.name=重型元件 -item.part_generic.lde.name=低密度元件 -item.part_generic.piston_electric.name=电动活塞 -item.part_generic.piston_hydraulic.name=液压活塞 -item.part_generic.piston_pneumatic.name=气动活塞 -item.part_lithium.name=锂粉盒 -item.part_plutonium.name=钚粉盒 -item.particle_aelectron.name=正电子胶囊 -item.particle_amat.name=反物质胶囊 -item.particle_aproton.name=反质子胶囊 -item.particle_aschrab.name=反Sa326胶囊 -item.particle_copper.name=铜离子胶囊 -item.particle_dark.name=暗物质胶囊 -item.particle_digamma.name=§c迪伽马粒子胶囊§r -item.particle_empty.name=空粒子胶囊 -item.particle_higgs.name=希格斯玻色子胶囊 -item.particle_hydrogen.name=氢离子胶囊 -item.particle_lead.name=铅离子胶囊 -item.particle_lutece.name=Lutece镥准粒子胶囊 -item.particle_muon.name=μ子胶囊 -item.particle_sparkticle.name=Spark粒子胶囊 -item.particle_strange.name=奇异夸克胶囊 -item.particle_tachyon.name=超光速粒子密封胶囊 -item.parts_legendary.name=传奇零件 -item.peas.name=豌豆 -item.pedestal_steel.name=钢底座 -item.pellet_advanced.name=高级Watz性能增强剂 -item.pellet_antimatter.name=反物质团 -item.pellet_beryllium.name=铍慢化靶丸 -item.pellet_buckshot.name=铅弹丸 -item.pellet_canister.name=榴霰弹弹丸 -item.pellet_charged.name=电离粒子 -item.pellet_chlorophyte.name=叶绿弹丸 -item.pellet_claws.name=金属利爪 -item.pellet_cluster.name=爆炸弹丸 -item.pellet_cluster.desc=用于多用途炸弹:$增加了一些额外的爆炸力! -item.pellet_coal.name=致密煤 -item.pellet_coolant.name=冷却液组 -item.pellet_flechette.name=箭霰弹 -item.pellet_gas.name=毒气筒 -item.pellet_gas.desc=用于多用途炸弹:$*咳嗽*请停止! -item.pellet_hes.name=HES Watz靶丸 -item.pellet_lead.name=铅反射靶丸 -item.pellet_les.name=LES Watz靶丸 -item.pellet_mercury.name=水银弹丸 -item.pellet_mes.name=MES Watz靶丸 -item.pellet_meteorite.name=陨石弹丸 -item.pellet_neptunium.name=镎Watz靶丸 -item.pellet_rtg.name=钚238放射性同位素燃料靶丸 -item.pellet_rtg.desc=无限能量的RTG靶丸!(差不多) -item.pellet_rtg_actinium.name=锕放射性同位素燃料靶丸 -item.pellet_rtg_actinium.desc= -item.pellet_rtg_americium.name=镅-241放射性同位素燃料靶丸 -item.pellet_rtg_americium.desc=稀有可靠,好的老镅! -item.pellet_rtg_berkelium.name=锫放射性同位素燃料靶丸 -item.pellet_rtg_berkelium.desc= -item.pellet_rtg_cobalt.name=钴-60放射性同位素燃料靶丸 -item.pellet_rtg_cobalt.desc=不是最好的RTG,但对伽马辐射很好! -item.pellet_rtg_depleted.bismuth.name=枯竭铋放射性同位素燃料靶丸 -item.pellet_rtg_depleted.lead.name=枯竭铅放射性同位素燃料靶丸 -item.pellet_rtg_depleted.neptunium.name=枯竭镎放射性同位素燃料靶丸 -item.pellet_rtg_depleted.mercury.name=枯竭汞放射性同位素燃料靶丸 -item.pellet_rtg_depleted.nickel.name=枯竭镍放射性同位素燃料靶丸 -item.pellet_rtg_depleted.zirconium.name=枯竭锆放射性同位素燃料靶丸 -item.pellet_rtg_lead.name=铅-209 放射性同位素燃料靶丸 -item.pellet_rtg_lead.desc=接触会导致立即死亡。 -item.pellet_rtg_gold.name=金-198放射性同位素燃料靶丸 -item.pellet_rtg_gold.desc=由稀有的、高度不稳定的金同位素制成。 -item.pellet_rtg_polonium.name=钋210放射性同位素燃料靶丸 -item.pellet_rtg_polonium.desc=更多粉末状RTG靶丸,由最好的钋制成! -item.pellet_rtg_strontium.name=锶-90放射性同位素燃料靶丸 -item.pellet_rtg_strontium.desc= -item.pellet_rtg_radium.name=镭-226放射性同位素燃料靶丸 -item.pellet_rtg_radium.desc=伟大的启动靶丸,来自全天然镭! -item.pellet_rtg_weak.name=贫铀放射性同位素燃料靶丸 -item.pellet_rtg_weak.desc=更便宜更弱的靶丸,含有更多的铀238! -item.pellet_schrabidium.name=纯Sa326Watz靶丸 -item.photo_panel.name=光伏板 -item.pile_rod_boron.name=芝加哥反应堆 控制棒 -item.pile_rod_boron.desc=§9[中子吸收器]$§E单击以切换 -item.pile_rod_detector.name=芝加哥反应堆控制/探测棒 -item.pile_rod_detector.desc=§9[中子探测器/吸收器]$§e使用拆弹器增加/减少中子通量限值$§e使用螺丝刀检查中子通量 -item.pile_rod_lithium.name=芝加哥反应堆锂燃料棒 -item.pile_rod_lithium.desc=§a[可增殖燃料棒]$§e使用手钻检查棒芯 -item.pile_rod_plutonium.name=芝加哥反应堆 钚棒 -item.pile_rod_plutonium.desc=§d[中子源棒] -item.pile_rod_pu239.name=芝加哥反应堆增殖铀棒 -item.pile_rod_pu239.desc=§a[可反应核燃料]$§e富含钚-239 -item.pile_rod_source.name=芝加哥反应堆 镭226-铍中子源 -item.pile_rod_source.desc=§d[中子源棒] -item.pile_rod_uranium.name=芝加哥反应堆 铀棒 -item.pile_rod_uranium.desc=§a[可反应核燃料]$§e使用手钻取堆芯样本 -item.pill_iodine.name=碘丸 -item.pill_iodine.desc=消除负面buff -item.pill_herbal.name=草药膏 -item.pill_herbal.desc=有效治疗肺部疾病和轻度辐射中毒$有副作用 -item.pill_red.name=红色药丸 -item.pin.name=发夹 -item.pin.desc=撬开标准锁的成功率约为10%。 -item.pipentm.name=%s管 -item.pipes_steel.name=钢管 -item.pipes_steel.desc=为了避免合成冲突,所以造价如此高昂 -item.pipette.name=移液管 -item.pipette_boron.name=硼玻璃移液管 -item.pipette_laboratory.name=移液器 -item.piston_selenium.name=星型发动机活塞 -item.piston_set_desh.name=Desh活塞组 -item.piston_set_dura.name=高速钢活塞组 -item.piston_set_starmetal.name=星辉活塞组 -item.piston_set_steel.name=钢活塞组 -item.plan_c.name=C计划 -item.plan_c.desc=致死 -item.plant_item.mustardwillow.name=芥子柳叶 -item.plant_item.rope.name=麻绳 -item.plant_item.tobacco.name=烟叶 -item.plastic_bag.name=塑料袋 -item.plate_advanced_alloy.name=高级合金板 -item.plate_aluminium.name=铝板 -item.plate_armor_ajr.name=铁皮装甲板 -item.plate_armor_dnt.name=DNT装甲板 -item.plate_armor_fau.name=Fau装甲板 -item.plate_armor_hev.name=反应装甲板 -item.plate_armor_lunar.name=月球镀层 -item.plate_armor_titanium.name=钛装甲板 -item.plate_bismuth.name=铋复合板 -item.plate_bismuth.desc=伙计们,这是铋的炼金术符号,我发誓。 -item.plate_cast.name=铸造%s板 -item.plate_combine_steel.name=CMB钢板 -item.plate_copper.name=铜板 -item.plate_dalekanium.name=愤怒的金属 -item.plate_desh.name=Desh复合板 -item.plate_dineutronium.name=双聚中子态素复合板 -item.plate_dura_steel.name=高速钢板 -item.plate_euphemium.name=Ep复合板 -item.plate_fuel_mox.name=MOX 板状燃料 -item.plate_fuel_pu238be.name=钚238-铍 板状燃料 -item.plate_fuel_pu239.name=高浓度钚-239 板状燃料 -item.plate_fuel_ra226be.name=镭226-铍 板状燃料 -item.plate_fuel_sa326.name=高浓度Sa326 板状燃料 -item.plate_fuel_u233.name=高浓度铀-233 板状燃料 -item.plate_fuel_u235.name=高浓度铀-235 板状燃料 -item.plate_gold.name=金板 -item.plate_iron.name=铁板 -item.plate_kevlar.name=凯夫拉陶瓷复合材料 -item.plate_lead.name=铅板 -item.plate_mixed.name=合金板 -item.plate_paa.name=PaA合金板 -item.plate_polymer.name=绝缘体 -item.plate_saturnite.name=土星板 -item.plate_schrabidium.name=Sa326板 -item.plate_steel.name=钢板 -item.plate_titanium.name=钛板 -item.plate_welded.name=焊接%s板 -item.polaroid.name=偏光片 -item.pollution_detector.name=污染探测器 -item.powder_actinium.name=锕粉 -item.powder_actinium_tiny.name=小撮锕粉 -item.powder_advanced_alloy.name=高级合金粉 -item.powder_aluminium.name=铝粉 -item.powder_asbestos.name=石棉粉 -item.powder_asbestos.desc=§o\"Sniffffffff- MHHHHHHMHHHHHHHHH\"§r -item.powder_ash.coal.name=煤灰 -item.powder_ash.fly.name=飞尘 -item.powder_ash.fullerene.name=富勒烯 -item.powder_ash.misc.name=灰尘 -item.powder_ash.soot.name=细烟灰 -item.powder_ash.wood.name=木灰 -item.powder_astatine.name=砹粉 -item.powder_at209.name=砹-209粉 -item.powder_au198.name=金-198粉 -item.powder_australium.name=奥斯粉 -item.powder_bakelite.name=电木粉 -item.powder_balefire.name=热核灰烬 -item.powder_beryllium.name=铍粉 -item.powder_bismuth.name=铋粉 -item.powder_borax.name=硼砂 -item.powder_boron.name=硼粉 -item.powder_boron_tiny.name=小撮硼粉 -item.powder_bromine.name=溴粉 -item.powder_cadmium.name=镉粉 -item.powder_caesium.name=铯粉 -item.powder_calcium.name=钙粉 -item.powder_cement.name=水泥 -item.powder_cerium.name=铈粉 -item.powder_cerium_tiny.name=小撮铈粉 -item.powder_chlorocalcite.name=氯方解石 -item.powder_chlorophyte.name=叶绿粉 -item.powder_cloud.name=云粉末 -item.powder_co60.name=钴-60粉 -item.powder_coal.name=煤粉 -item.powder_coal_tiny.name=小撮煤粉 -item.powder_cobalt.name=钴粉 -item.powder_cobalt_tiny.name=小撮钴粉 -item.powder_coltan.name=纯钽铁矿 -item.powder_coltan_ore.name=粉碎的钶钽铁矿石 -item.powder_combine_steel.name=CMB钢粉 -item.powder_copper.name=铜粉 -item.powder_cs137.name=铯-137粉 -item.powder_cs137_tiny.name=小撮铯-137粉 -item.powder_daffergon.name=达夫贡粉 -item.powder_desh.name=Desh粉 -item.powder_desh_mix.name=Desh混合物 -item.powder_desh_ready.name=DeshReady混合物 -item.powder_diamond.name=钻石粉 -item.powder_dineutronium.name=双聚中子态素粉 -item.powder_dura_steel.name=高速钢粉 -item.powder_emerald.name=绿宝石粉 -item.powder_euphemium.name=Ep粉 -item.powder_euphemium.desc=粉红色$尝起来像草莓。 -item.powder_fertilizer.name=工业肥料 -item.powder_fire.name=红磷粉 -item.powder_fire.desc=用于多用途炸弹:燃烧弹很有趣! -item.powder_flux.name=助熔剂 -item.powder_gold.name=金粉 -item.powder_i131.name=碘-131粉 -item.powder_i131_tiny.name=小撮碘-131粉 -item.powder_ice.name=冷冻粉 -item.powder_impure_osmiridium.name=不纯铱锇粉 -item.powder_iodine.name=碘粉 -item.powder_iron.name=铁粉 -item.powder_lanthanium.name=镧粉 -item.powder_lanthanium_tiny.name=小撮镧粉 -item.powder_lapis.name=青金石粉 -item.powder_lead.name=铅粉 -item.powder_lignite.name=褐煤粉 -item.powder_limestone.name=石灰石粉 -item.powder_lithium.name=锂粉 -item.powder_lithium_tiny.name=小撮锂粉 -item.powder_magic.name=粉碎的魔法 -item.powder_magnetized_tungsten.name=磁化钨粉 -item.powder_meteorite.name=陨石粉 -item.powder_meteorite_tiny.name=小撮陨石粉 -item.powder_molysite.name=氯化铁 -item.powder_neodymium.name=钕粉 -item.powder_neodymium_tiny.name=小撮钕粉 -item.powder_neptunium.name=镎粉 -item.powder_niobium.name=铌粉 -item.powder_niobium_tiny.name=小撮铌粉 -item.powder_nitan_mix.name=Nitan混合物 -item.powder_paleogenite.name=古近纪岩石粉末 -item.powder_paleogenite_tiny.name=小撮古近纪岩石粉末 -item.powder_plutonium.name=钚粉 -item.powder_poison.name=剧毒粉 -item.powder_poison.desc=用于多用途炸弹:警告:有毒! -item.powder_polonium.name=钋粉 -item.powder_polymer.name=聚合物粉 -item.powder_power.name=能量粉 -item.powder_quartz.name=石英粉 -item.powder_ra226.name=镭-226粉 -item.powder_red_copper.name=紫铜粉 -item.powder_reiium.name=雷恩粉 -item.powder_sawdust.name=锯末 -item.powder_schrabidate.name=Sa酸铁粉 -item.powder_schrabidium.name=Sa326粉 -item.powder_semtex_mix.name=塞姆汀塑胶炸药混合物 -item.powder_sodium.name=钠 -item.powder_spark_mix.name=Spark闪闪奥术混合物 -item.powder_sr90.name=锶-90粉 -item.powder_sr90_tiny.name=小撮锶-90粉末 -item.powder_steel.name=钢粉 -item.powder_steel_tiny.name=小撮钢粉 -item.powder_strontium.name=锶粉 -item.powder_tantalium.name=钽粉 -item.powder_tantalium.desc=“钽” -item.powder_tantalium.desc.P11=又名钽。 -item.powder_tcalloy.name=锝-钢粉 -item.powder_tektite.name=熔融石粉 -item.powder_tennessine.name=Ts粉 -item.powder_thermite.name=铝热剂 -item.powder_thorium.name=钍粉 -item.powder_titanium.name=钛粉 -item.powder_tungsten.name=钨粉 -item.powder_unobtainium.name=难得素粉 -item.powder_uranium.name=铀粉 -item.powder_verticium.name=韦德赛粉 -item.powder_weidanium.name=魏丹粉 -item.powder_xe135.name=氙-135粉 -item.powder_xe135_tiny.name=小撮氙-135粉 -item.powder_yellowcake.name=黄饼 -item.powder_zirconium.name=锆粉 -item.power_net_tool.name=电缆网络分析工具 -item.primer_357.name=.357马格南底火[x24] -item.primer_44.name=.44马格南底火[x24] -item.primer_50.name=大口径底火[x12] -item.primer_9.name=小口径底火[x32] -item.primer_buckshot.name=鹿弹底火[x12] -item.protection_charm.name=守护项链 -item.prototype_kit.name=原型 套件 -item.pudding.name=布丁 -item.pwr_fuel.bfb_am_mix.name=燃料级镅压水堆BFB燃料棒 -item.pwr_fuel.bfb_pu241.name=钚-241压水堆BFB棒 -item.pwr_fuel.hea242.name=HEA-242 高浓缩度镅-242压水堆燃料棒 -item.pwr_fuel.hen237.name=HEN-237 高浓缩度镎-237压水堆燃料棒 -item.pwr_fuel.hep239.name=HEP-239 高浓缩度钚-239压水堆燃料棒 -item.pwr_fuel.hep241.name=HEP-241 高浓缩度钚-241压水堆燃料棒 -item.pwr_fuel.hes326.name=HES-326 高浓缩度Sa326压水堆燃料棒 -item.pwr_fuel.hes327.name=HES-327 高浓缩度Sa327压水堆燃料棒 -item.pwr_fuel.heu233.name=HEU-233 高浓缩度铀-233压水堆燃料棒 -item.pwr_fuel.heu235.name=HEU-235 高浓缩度铀-235压水堆燃料棒 -item.pwr_fuel.mea.name=MEA 中浓缩度镅压水堆燃料棒 -item.pwr_fuel.men.name=MEN 中浓缩度镎压水堆燃料棒 -item.pwr_fuel.mep.name=MEP 中浓缩度钚压水堆燃料棒 -item.pwr_fuel.meu.name=MEU 中浓缩度铀压水堆燃料棒 -item.pwr_fuel.mox.name=MOX 压水堆燃料棒 -item.pwr_fuel_depleted.bfb_am_mix.name=枯竭燃料级镅压水堆BFB燃料棒 -item.pwr_fuel_depleted.bfb_pu241.name=枯竭钚-241压水堆BFB棒 -item.pwr_fuel_depleted.hea242.name=枯竭 HEA-242 高浓缩度镅-242压水堆燃料棒 -item.pwr_fuel_depleted.hen237.name=枯竭 HEN-237 高浓缩度镎-237压水堆燃料棒 -item.pwr_fuel_depleted.hep239.name=枯竭 HEP-239 高浓缩度钚-239压水堆燃料棒 -item.pwr_fuel_depleted.hep241.name=枯竭 HEP-241 高浓缩度钚-241压水堆燃料棒 -item.pwr_fuel_depleted.hes326.name=枯竭 HES-326 高浓缩度Sa326压水堆燃料棒 -item.pwr_fuel_depleted.hes327.name=枯竭 HES-327 高浓缩度Sa327压水堆燃料棒 -item.pwr_fuel_depleted.heu233.name=枯竭 HEU-233 高浓缩度铀-233压水堆燃料棒 -item.pwr_fuel_depleted.heu235.name=枯竭 HEU-235 高浓缩度铀-235压水堆燃料棒 -item.pwr_fuel_depleted.mea.name=枯竭 MEA 中浓缩度镅压水堆燃料棒 -item.pwr_fuel_depleted.men.name=枯竭 MEN 中浓缩度镎压水堆燃料棒 -item.pwr_fuel_depleted.mep.name=枯竭 MEP 中浓缩度钚压水堆燃料棒 -item.pwr_fuel_depleted.meu.name=枯竭 MEU 中浓缩度铀压水堆燃料棒 -item.pwr_fuel_depleted.mox.name=枯竭 MOX 压水堆燃料棒 -item.pwr_fuel_hot.bfb_am_mix.name=高温 燃料级镅压水堆BFB燃料棒 -item.pwr_fuel_hot.bfb_pu241.name=高温 钚-241压水堆BFB棒 -item.pwr_fuel_hot.hea242.name=高温 HEA-242 高浓缩度镅-242压水堆燃料棒 -item.pwr_fuel_hot.hen237.name=高温 HEN-237 高浓缩度镎-237压水堆燃料棒 -item.pwr_fuel_hot.hep239.name=高温 HEP-239 高浓缩度钚-239压水堆燃料棒 -item.pwr_fuel_hot.hep241.name=高温 HEP-241 高浓缩度钚-241压水堆燃料棒 -item.pwr_fuel_hot.hes326.name=高温 HES-326 高浓缩度Sa326压水堆燃料棒 -item.pwr_fuel_hot.hes327.name=高温 HES-327 高浓缩度Sa327压水堆燃料棒 -item.pwr_fuel_hot.heu233.name=高温 HEU-233 高浓缩度铀-233压水堆燃料棒 -item.pwr_fuel_hot.heu235.name=高温 HEU-235 高浓缩度铀-235压水堆燃料棒 -item.pwr_fuel_hot.mea.name=高温 MEA 中浓缩度镅压水堆燃料棒 -item.pwr_fuel_hot.men.name=高温 MEN 中浓缩度镎压水堆燃料棒 -item.pwr_fuel_hot.mep.name=高温 MEP 中浓缩度钚压水堆燃料棒 -item.pwr_fuel_hot.meu.name=高温 MEU 中浓缩度铀压水堆燃料棒 -item.pwr_fuel_hot.mox.name=高温 MOX压水堆燃料棒 -item.quartz_plutonium.name=深成石英 -item.radar_linker.name=雷达连接器 -item.radaway.name=消辐宁 -item.radaway_flush.name=超级消辐宁 -item.radaway_strong.name=强效消辐宁 -item.radx.name=防辐射药 -item.radx.desc=在3分钟内增加0.2(37%)的抗辐射能力 -item.rag.name=布 -item.rag_damp.name=湿布 -item.rag_piss.name=沾有尿的布 -item.rbmk_fuel_balefire.name=RBMK反应堆野火燃料棒 -item.rbmk_fuel_balefire_gold.name=RBMK反应堆激活态金-198燃料棒 -item.rbmk_fuel_drx.name=§cRBMK反应堆F迪伽马粒子燃料棒§r -item.rbmk_fuel_empty.name=空 RBMK反应堆燃料棒 -item.rbmk_fuel_flashlead.name=RBMK反应堆闪光铅燃料棒 -item.rbmk_fuel_hea241.name=HEA-241 RBMK反应堆高浓缩度镅-241燃料棒 -item.rbmk_fuel_hea242.name=HEA-242 RBMK反应堆高浓缩度镅-242燃料棒 -item.rbmk_fuel_heaus.name=HEAus RBMK反应堆高浓缩度奥斯燃料棒 -item.rbmk_fuel_hen.name=HEN RBMK反应堆高浓缩度镎燃料棒 -item.rbmk_fuel_hes.name=HES RBMK反应堆高浓缩度Sa326燃料棒 -item.rbmk_fuel_hep.name=HEP-239 RBMK反应堆高浓缩度钚-239燃料棒 -item.rbmk_fuel_hep241.name=HEP-241 RBMK反应堆高浓缩度钚-241燃料棒 -item.rbmk_fuel_heu233.name=HEU-233 RBMK反应堆高浓缩度铀-233燃料棒 -item.rbmk_fuel_heu235.name=HEU-235 RBMK反应堆高浓缩度铀-235燃料棒 -item.rbmk_fuel_lea.name=LEA RBMK反应堆低浓缩度镅-242燃料棒 -item.rbmk_fuel_leaus.name=LEAus RBMK反应堆低浓缩度奥斯燃料棒 -item.rbmk_fuel_lep.name=LEP RBMK反应堆低浓缩度钚-239燃料棒 -item.rbmk_fuel_les.name=LES RBMK反应堆低浓缩度Sa326燃料棒 -item.rbmk_fuel_mea.name=MEA RBMK反应堆中浓缩度镅-242燃料棒 -item.rbmk_fuel_men.name=MEN RBMK反应堆中浓缩度镎-237燃料棒 -item.rbmk_fuel_mep.name=MEP RBMK反应堆中浓缩度钚-239燃料棒 -item.rbmk_fuel_mes.name=MES RBMK中浓缩度Sa326燃料棒 -item.rbmk_fuel_meu.name=MEU RBMK中浓缩度铀-235燃料棒 -item.rbmk_fuel_mox.name=MOX RBMK反应堆燃料棒 -item.rbmk_fuel_po210be.name=钋210-铍 RBMK反应堆中子源 -item.rbmk_fuel_pu238be.name=钚238-铍 RBMK反应堆中子源 -item.rbmk_fuel_ra226be.name=镭226-铍 RBMK反应堆中子源 -item.rbmk_fuel_thmeu.name=ThMEU RBMK反应堆中浓缩度铀-233导向钍燃料棒 -item.rbmk_fuel_ueu.name=NU RBMK反应堆未浓缩铀燃料棒 -item.rbmk_fuel_zfb_am_mix.name=ZFB 燃料级镅RBMK反应堆燃料棒 -item.rbmk_fuel_zfb_bismuth.name=ZFB 铋RBMK反应堆燃料棒 -item.rbmk_fuel_zfb_pu241.name=ZFB 钚-241RBMK反应堆燃料棒 -item.rbmk_lid.name=RBMK反应堆覆盖层 -item.rbmk_lid_glass.name=RBMK反应堆玻璃覆盖层 -item.rbmk_pellet_balefire.name=野火燃料芯块 -item.rbmk_pellet_balefire_gold.name=激活态金-198燃料芯块 -item.rbmk_pellet_drx.name=§cF迪伽马粒子燃料芯块§r -item.rbmk_pellet_flashlead.name=闪光铅燃料芯块 -item.rbmk_pellet_hea241.name=HEA-241 高浓缩度镅-241料芯块 -item.rbmk_pellet_hea242.name=HEA-242 高浓缩度镅-242燃料芯块 -item.rbmk_pellet_heaus.name=HEAus 高浓缩度奥斯燃料芯块 -item.rbmk_pellet_hen.name=HEN 高浓缩度镎燃料芯块 -item.rbmk_pellet_hep239.name=HEP-239 高浓缩度钚-239燃料芯块 -item.rbmk_pellet_hep241.name=HEP-241 高浓缩度钚-241燃料芯块 -item.rbmk_pellet_heu233.name=HEU-233 高浓缩度铀-233燃料芯块 -item.rbmk_pellet_heu235.name=HEU-235 高浓缩度铀-235燃料芯块 -item.rbmk_pellet_hes.name=HES 高浓缩度Sa-326燃料芯块 -item.rbmk_pellet_lea.name=LEA 低浓缩度镅-242燃料芯块 -item.rbmk_pellet_leaus.name=LEAus 低浓缩度奥斯燃料芯块 -item.rbmk_pellet_lep.name=LEP 低浓缩度钚-239燃料芯块 -item.rbmk_pellet_les.name=LES 低浓缩度Sa-326燃料芯块 -item.rbmk_pellet_mea.name=MEA 中浓缩度镅-242燃料芯块 -item.rbmk_pellet_men.name=MEN 中浓缩度镎-237燃料芯块 -item.rbmk_pellet_mep.name=MEP 中浓缩度钚-239燃料芯块 -item.rbmk_pellet_mes.name=MES 中浓缩度Sa-326燃料芯块 -item.rbmk_pellet_meu.name=MEU 中浓缩度铀-235燃料芯块 -item.rbmk_pellet_mox.name=MOX燃料芯块 -item.rbmk_pellet_po210be.name=钋210-铍 中子源芯块 -item.rbmk_pellet_pu238be.name=钚238-铍 中子源芯块 -item.rbmk_pellet_ra226be.name=镭226-铍 中子源芯块 -item.rbmk_pellet_thmeu.name=ThMEU 浓缩度铀-235导向钍燃料芯块 -item.rbmk_pellet_ueu.name=未浓缩铀燃料芯块 -item.rbmk_pellet_zfb_am_mix.name=ZFB 燃料级镅燃料芯块 -item.rbmk_pellet_zfb_bismuth.name=ZFB 铋燃料芯块 -item.rbmk_pellet_zfb_pu241.name=ZFB 钚-241燃料芯块 -item.rbmk_tool.name=RBMK石墨式反应堆控制台连接装置 -item.rbmk_tool.desc=按住Shift右击RBMK石墨式反应堆保存其坐标,$按住Shift右击控制台以连接反应堆! -item.rbmk_tool.linked=反应堆坐标已记录! -item.rbmk_tool.set=反应堆已连接! -item.reacher.name=钨长臂夹 -item.reactor_core.name=增殖反应堆核心 -item.reactor_sensor.name=反应堆遥感器 -item.record.glass.desc=? ? ? -item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core -item.record.ss.desc=Valve - Sector Sweep -item.record.vc.desc=Valve - Vortal Combat -item.redcoil_capacitor.name=红圈电容器 -item.redstone_depleted.name=不饱和红石粉 -item.redstone_sword.name=红石剑 -item.reer_graar.name=The Reer Graar -item.remote.name=损坏的遥控器 -item.ring_pull.name=拉环 -item.ring_starmetal.name=§9星辉拉环§r -item.robes_boots.name=战地靴 -item.robes_helmet.name=休闲兜帽 -item.robes_legs.name=休闲裤 -item.robes_plate.name=休闲毛衣 -item.rocket_fuel.name=固体燃料[火箭推进剂] -item.rod_empty.name=空燃料棒 -item.rod.lithium.name=锂棒 -item.rod.tritium.name=氚棒 -item.rod.co.name=钴棒 -item.rod.co60.name=钴-60棒 -item.rod.ra226.name=镭-226棒 -item.rod.ac227.name=锕-227棒 -item.rod.th232.name=钍-232棒 -item.rod.thf.name=钍燃料棒 -item.rod.u235.name=铀-235棒 -item.rod.np237.name=镎-237棒 -item.rod.u238.name=铀-238棒 -item.rod.pu238.name=钚-238棒 -item.rod.pu239.name=钚-239棒 -item.rod.rgp.name=反应堆级钚棒 -item.rod.waste.name=核废料棒 -item.rod.lead.name=铅棒 -item.rod.uranium.name=铀棒 -item.rod_dual_empty.name=空双联燃料棒 -item.rod_dual.lithium.name=双联锂棒 -item.rod_dual.tritium.name=双联氚棒 -item.rod_dual.co.name=双联钴棒 -item.rod_dual.co60.name=双联钴-60棒 -item.rod_dual.ra226.name=双联镭-226棒 -item.rod_dual.ac227.name=双联锕-227棒 -item.rod_dual.th232.name=双联钍-232棒 -item.rod_dual.thf.name=双联钍燃料棒 -item.rod_dual.u235.name=双联铀-235棒 -item.rod_dual.np237.name=双联镎-237棒 -item.rod_dual.u238.name=双联铀-238棒 -item.rod_dual.pu238.name=双联钚-238棒 -item.rod_dual.pu239.name=双联钚-239棒 -item.rod_dual.rgp.name=双联反应堆级钚棒 -item.rod_dual.waste.name=双联核废料棒 -item.rod_dual.lead.name=双联铅棒 -item.rod_dual.uranium.name=双联铀棒 -item.rod_quad_empty.name=空四联燃料棒 -item.rod_quad.lithium.name=四联锂棒 -item.rod_quad.tritium.name=四联氚棒 -item.rod_quad.co.name=四联钴棒 -item.rod_quad.co60.name=四联钴-60棒 -item.rod_quad.ra226.name=四联镭-226棒 -item.rod_quad.ac227.name=四联锕-227棒 -item.rod_quad.th232.name=四联钍-232棒 -item.rod_quad.thf.name=四联钍燃料棒 -item.rod_quad.u235.name=四联铀-235棒 -item.rod_quad.np237.name=四联镎-237棒 -item.rod_quad.u238.name=四联铀-238棒 -item.rod_quad.pu238.name=四联钚-238棒 -item.rod_quad.pu239.name=四联钚-239棒 -item.rod_quad.rgp.name=四联反应堆级钚棒 -item.rod_quad.waste.name=四联核废料棒 -item.rod_quad.lead.name=四联铅棒 -item.rod_quad.uranium.name=四联铀棒 -item.rod_australium.name=奥斯棒 -item.rod_balefire.name=野火燃料棒 -item.rod_balefire_blazing.name=炽热的野火燃料棒 -item.rod_coolant.name=燃料棒[冷却液] -item.rod_daffergon.name=达夫贡棒 -item.rod_dual_balefire.name=双联野火燃料棒 -item.rod_dual_balefire_blazing.name=炽热的双联野火燃料棒 -item.rod_dual_coolant.name=双联燃料棒[冷却液] -item.rod_dual_lead.name=双联铅棒 -item.rod_dual_lithium.name=双联锂棒 -item.rod_dual_mox_fuel.name=核反应堆 双联MOX燃料棒 -item.rod_dual_mox_fuel_depleted.name=核反应堆 枯竭MOX燃料棒 -item.rod_dual_neptunium.name=双联镎燃料棒 -item.rod_dual_plutonium.name=双联钚棒 -item.rod_dual_plutonium_fuel.name=核反应堆 双联钚燃料棒 -item.rod_dual_plutonium_fuel_depleted.name=核反应堆 双联枯竭钚燃料棒 -item.rod_dual_polonium.name=双联钋棒 -item.rod_dual_pu238.name=双联钚-238燃料棒 -item.rod_dual_pu239.name=双联钚-239燃料棒 -item.rod_dual_pu240.name=双联钚-240燃料棒 -item.rod_dual_schrabidium.name=双联Sa326燃料棒 -item.rod_dual_schrabidium_fuel.name=核反应堆 双联Sa326燃料棒 -item.rod_dual_schrabidium_fuel_depleted.name=双联枯竭Sa326燃料棒 -item.rod_dual_solinium.name=双联Sa327燃料棒 -item.rod_dual_th232.name=双联钍-232燃料棒 -item.rod_dual_thorium_fuel.name=双联钍燃料棒 -item.rod_dual_thorium_fuel_depleted.name=双联枯竭钍燃料棒 -item.rod_dual_tritium.name=双联氚燃料棒 -item.rod_dual_u233.name=双联铀-233燃料棒 -item.rod_dual_u235.name=双联铀-235燃料棒 -item.rod_dual_u238.name=双联铀-238燃料棒 -item.rod_dual_uranium.name=双联铀棒 -item.rod_dual_uranium_fuel.name=核反应堆 双联铀燃料棒 -item.rod_dual_uranium_fuel_depleted.name=核反应堆 双联枯竭铀燃料棒 -item.rod_dual_waste.name=双联核废料棒 -item.rod_dual_water.name=双联燃料棒[水] -item.rod_euphemium.name=Ep棒 -item.rod_lead.name=铅棒 -item.rod_lithium.name=锂棒 -item.rod_mox_fuel.name=核反应堆 MOX燃料棒 -item.rod_mox_fuel_depleted.name=核反应堆 枯竭MOX燃料棒 -item.rod_neptunium.name=镎燃料棒 -item.rod_of_discord.name=混沌传送杖 -item.rod_plutonium.name=钚棒 -item.rod_plutonium_fuel.name=核反应堆 钚燃料棒 -item.rod_plutonium_fuel_depleted.name=核反应堆 枯竭钚燃料棒 -item.rod_polonium.name=钋棒 -item.rod_pu238.name=钚-238燃料棒 -item.rod_pu239.name=钚-239燃料棒 -item.rod_pu240.name=钚-240燃料棒 -item.rod_quad_balefire.name=四联野火燃料棒 -item.rod_quad_balefire_blazing.name=炽热的四联野火燃料棒 -item.rod_quad_coolant.name=四联燃料棒[冷却液] -item.rod_quad_euphemium.name=枯竭的四联Sa326燃料棒 -item.rod_quad_lead.name=四联铅棒 -item.rod_quad_lithium.name=四联锂棒 -item.rod_quad_mox_fuel.name=核反应堆 四联MOX燃料棒 -item.rod_quad_mox_fuel_depleted.name=核反应堆 枯竭MOX燃料棒 -item.rod_quad_neptunium.name=四联镎燃料棒 -item.rod_quad_plutonium.name=四联钚棒 -item.rod_quad_plutonium_fuel.name=四联钚燃料棒 -item.rod_quad_plutonium_fuel_depleted.name=四联枯竭钚燃料棒 -item.rod_quad_polonium.name=四联钋棒 -item.rod_quad_pu238.name=四联钚-238燃料棒 -item.rod_quad_pu239.name=四联钚-239燃料棒 -item.rod_quad_pu240.name=四联钚-240燃料棒 -item.rod_quad_schrabidium.name=四联Sa326燃料棒 -item.rod_quad_schrabidium_fuel.name=核反应堆 四联Sa326燃料棒 -item.rod_quad_schrabidium_fuel_depleted.name=核反应堆 四联枯竭Sa326燃料棒 -item.rod_quad_solinium.name=四联Sa327燃料棒 -item.rod_quad_th232.name=四联钍-232燃料棒 -item.rod_quad_thorium_fuel.name=核反应堆 四联钍燃料棒 -item.rod_quad_thorium_fuel_depleted.name=四联枯竭钍燃料棒 -item.rod_quad_tritium.name=四联氚燃料棒 -item.rod_quad_u233.name=四联铀-233燃料棒 -item.rod_quad_u235.name=四联铀-235燃料棒 -item.rod_quad_u238.name=四联铀-238燃料棒 -item.rod_quad_uranium.name=四联铀棒 -item.rod_quad_uranium_fuel.name=核反应堆 四联铀燃料棒 -item.rod_quad_uranium_fuel_depleted.name=四联枯竭铀燃料棒 -item.rod_quad_waste.name=四联核废料棒 -item.rod_quad_water.name=四联燃料棒[水] -item.rod_reiium.name=雷恩棒 -item.rod_schrabidium.name=Sa326燃料棒 -item.rod_schrabidium_fuel.name=Sa326燃料棒 -item.rod_schrabidium_fuel_depleted.name=核反应堆 枯竭Sa326燃料棒 -item.rod_solinium.name=Sa327燃料棒 -item.rod_th232.name=钍-232燃料棒 -item.rod_thorium_fuel.name=钍燃料棒 -item.rod_thorium_fuel_depleted.name=核反应堆 枯竭钍燃料棒 -item.rod_tritium.name=氚燃料棒 -item.rod_u233.name=铀-233燃料棒 -item.rod_u235.name=铀-235燃料棒 -item.rod_u238.name=铀-238燃料棒 -item.rod_unobtainium.name=难得素棒 -item.rod_uranium.name=铀棒 -item.rod_uranium_fuel.name=核反应堆 铀燃料棒 -item.rod_uranium_fuel_depleted.name=核反应堆 枯竭铀燃料棒 -item.rod_verticium.name=韦德赛棒 -item.rod_waste.name=核废料棒 -item.rod_water.name=燃料棒[水] -item.rod_weidanium.name=魏丹棒 -item.rod_zirnox_empty.name=空锆诺克斯燃料棒 -item.rod_zirnox_natural_uranium_fuel.name=锆诺克斯 天然铀燃料棒 -item.rod_zirnox_uranium_fuel.name=锆诺克斯 铀燃料棒 -item.rod_zirnox_th232.name=锆诺克斯 钍-232燃料棒 -item.rod_zirnox_thorium_fuel.name=锆诺克斯 钍燃料棒 -item.rod_zirnox_mox_fuel.name=锆诺克斯 MOX燃料棒 -item.rod_zirnox_plutonium_fuel.name=锆诺克斯 钚燃料棒 -item.rod_zirnox_u233_fuel.name=锆诺克斯 铀-233燃料棒 -item.rod_zirnox_u235_fuel.name=锆诺克斯 铀-235燃料棒 -item.rod_zirnox_les_fuel.name=锆诺克斯 LES低浓度Sa326燃料棒 -item.rod_zirnox_lithium.name=锆诺克斯 锂燃料棒 -item.rod_zirnox_tritium.name=锆诺克斯 氚燃料棒 -item.rod_zirnox_zfb_mox.name=锆诺克斯 ZFB MOX燃料棒 -item.rod_zirnox_natural_uranium_fuel_depleted.name=锆诺克斯 枯竭天然铀燃料棒 -item.rod_zirnox_uranium_fuel_depleted.name=锆诺克斯 枯竭铀燃料棒 -item.rod_zirnox_thorium_fuel_depleted.name=锆诺克斯 枯竭钍燃料棒 -item.rod_zirnox_mox_fuel_depleted.name=锆诺克斯 枯竭MOX燃料棒 -item.rod_zirnox_plutonium_fuel_depleted.name=锆诺克斯 枯竭钚燃料棒 -item.rod_zirnox_u233_fuel_depleted.name=锆诺克斯 枯竭铀-233燃料棒 -item.rod_zirnox_u235_fuel_depleted.name=锆诺克斯 枯竭铀-235燃料棒 -item.rod_zirnox_les_fuel_depleted.name=锆诺克斯 枯竭LES低浓度Sa326燃料棒 -item.rod_zirnox_zfb_mox_depleted.name=锆诺克斯 ZFB 枯竭MOX燃料棒 -item.rotor_steel.name=大型钢转子 -item.rpa_boots.name=动力装甲 靴子 -item.rpa_helmet.name=动力装甲 头盔 -item.rpa_legs.name=动力护甲 护腿 -item.rpa_plate.name=动力装甲 胸甲 -item.rtg_unit.name=放射性同位素单元 -item.rubber_gloves.name=厚橡胶手套 -item.rune_blank.name=空白催化剂基质 -item.rune_dagaz.name=平衡催化剂基质 -item.rune_hagalaz.name=粗催化剂基质 -item.rune_isa.name=冷却催化剂基质 -item.rune_jera.name=增殖催化剂基质 -item.rune_thurisaz.name=添加剂催化剂基质 -item.safety_fuse.name=安全保险丝 -item.sat_base.name=卫星基座 -item.sat_chip.name=卫星ID芯片 -item.sat_coord.name=卫星指示器 -item.sat_designator.name=卫星激光指示器 -item.sat_relay.name=卫星雷达中继器 -item.sat_foeq.name=实验型核能PEAF-Mk.I FOEQ Duna探测器 -item.sat_gerald.name=Gerald建筑机器人 -item.sat_head_laser.name=死光发射器 -item.sat_head_mapper.name=高增益光学摄像头 -item.sat_head_radar.name=雷达天线 -item.sat_head_resonator.name=Xenium共振器 -item.sat_head_scanner.name=M700测量扫描仪 -item.sat_interface.name=卫星操作接口 -item.sat_laser.name=轨道死光炮 -item.sat_lunar_miner.name=月球采矿飞船 -item.sat_mapper.name=地表测绘卫星 -item.sat_miner.name=小行星采矿飞船 -item.sat_radar.name=雷达探测卫星 -item.sat_resonator.name=X晶体共振卫星 -item.sat_scanner.name=绘测和资源探测卫星 -item.sawblade.name=锯片 -item.schnitzel_vegan.name=“素”肉排 -item.schrabidium_axe.name=Sa326斧 -item.schrabidium_boots.name=Sa326靴子 -item.schrabidium_hammer.name=Sa326锤 -item.schrabidium_helmet.name=Sa326头盔 -item.schrabidium_hoe.name=Sa326锄 -item.schrabidium_legs.name=Sa326护腿 -item.schrabidium_pickaxe.name=Sa326镐 -item.schrabidium_plate.name=Sa326胸甲 -item.schrabidium_shovel.name=Sa326锹 -item.schrabidium_sword.name=Sa326剑 -item.scrap.name=废料 -item.scrap_nuclear.name=放射性废料 -item.scrap_oil.name=油性废料 -item.scrap_plastic.name=塑料废料 -item.scraps.name=铸造废料 -item.screwdriver.name=螺丝刀 -item.screwdriver.desc=可以用来代替保险丝…… -item.screwdriver_desh.name=Desh螺丝刀 -item.scrumpy.name=一瓶烈性苹果酒 -item.security_boots.name=防护靴子 -item.security_helmet.name=防护头盔 -item.security_legs.name=防护裤 -item.security_plate.name=防护胸甲 -item.seg_10.name=10号连接器 -item.seg_15.name=15号连接器 -item.seg_20.name=20号连接器 -item.serum.name=血清 -item.servo_set.name=伺服装置 -item.servo_set_desh.name=Desh伺服装置 -item.shackles.name=枷锁 -item.shellntm.name=%s壳 -item.shimmer_axe.name=闪耀斧 -item.shimmer_axe_head.name=重型斧头 -item.shimmer_handle.name=强化聚合物手柄 -item.shimmer_head.name=重型锤头 -item.shimmer_sledge.name=闪耀锤 -item.singularity.name=奇点 -item.singularity_counter_resonant.name=可控反振谐奇点 -item.singularity_micro.name=微型奇点 -item.singularity_spark.name=Spark奇点 -item.singularity_super_heated.name=超热共振奇点 -item.siox.name=SiOX抗癌药物 -item.siox.desc=使用石棉的力量逆转间皮瘤! -item.siphon.name=虹吸管 -item.siren_track.name=警报声轨 -item.sliding_blast_door_skin.0.name=滑动防爆门 皮肤:默认 -item.sliding_blast_door_skin.1.name=滑动防爆门 皮肤:变型1 -item.sliding_blast_door_skin.2.name=滑动防爆门 皮肤:变型2 -item.smashing_hammer.name=粉碎锤 -item.solid_fuel.name=固体燃料 -item.solid_fuel_bf.name=固体燃料(野火) -item.solid_fuel_presto.name=Presto固体燃料 -item.solid_fuel_presto_bf.name=Presto固体燃料(野火) -item.solid_fuel_presto_triplet.name=增强型Presto固体燃料 -item.solid_fuel_presto_triplet_bf.name=增强型Presto固体燃料(野火) -item.solinium_core.name=半稳定Sa327核心 -item.solinium_igniter.name=Sa327脉冲点火器 -item.solinium_kit.name=蔚蓝洗礼套件 -item.solinium_propellant.name=Sa327压缩装药 -item.sopsign.name=Sop标志战斧 -item.spawn_duck.name=金蛋 -item.spawn_ufo.name=火星入侵者飞船 -item.spawn_worm.name=机械蠕虫 -item.sphere_steel.name=钢球 -item.spider_milk.name=一瓶蜘蛛奶 -item.spongebob_macaroni.name=海绵宝宝通心粉 -item.stamp_357.name=.357马格南锻模 -item.stamp_44.name=.44马格南锻模 -item.stamp_50.name=大口径弹壳锻模 -item.stamp_9.name=小口径弹壳锻模 -item.stamp_book.printing1.name=书页锻模之一 -item.stamp_book.printing2.name=书页锻模之二 -item.stamp_book.printing3.name=书页锻模之三 -item.stamp_book.printing4.name=书页锻模之四 -item.stamp_book.printing5.name=书页锻模之五 -item.stamp_book.printing6.name=书页锻模之六 -item.stamp_book.printing7.name=书页锻模之七 -item.stamp_book.printing8.name=书页锻模之八 -item.stamp_desh_circuit.name=Desh电路板锻模 -item.stamp_desh_flat.name=Desh锻模 -item.stamp_desh_plate.name=Desh板锻模 -item.stamp_desh_wire.name=Desh电线锻模 -item.stamp_desh_357.name=.357马格南锻模 (Desh) -item.stamp_desh_44.name=.44马格南锻模 (Desh) -item.stamp_desh_50.name=大口径弹壳锻模(Desh) -item.stamp_desh_9.name=小口径弹壳锻模(Desh) -item.stamp_iron_circuit.name=铁质电路板锻模 -item.stamp_iron_flat.name=铁质锻模 -item.stamp_iron_plate.name=铁质板锻模 -item.stamp_iron_wire.name=铁质电线锻模 -item.stamp_obsidian_circuit.name=黑曜石电路板锻模 -item.stamp_obsidian_flat.name=黑曜石锻模 -item.stamp_obsidian_plate.name=黑曜石板锻模 -item.stamp_obsidian_wire.name=黑曜石电线锻模 -item.stamp_steel_circuit.name=钢质电路板锻模 -item.stamp_steel_flat.name=钢质锻模 -item.stamp_steel_plate.name=钢质板锻模 -item.stamp_steel_wire.name=钢质电线锻模 -item.stamp_stone_circuit.name=石质电路板锻模 -item.stamp_stone_flat.name=石质锻模 -item.stamp_stone_plate.name=石质板锻模 -item.stamp_stone_wire.name=石质电线锻模 -item.stamp_titanium_circuit.name=钛质电路板锻模 -item.stamp_titanium_flat.name=钛质锻模 -item.stamp_titanium_plate.name=钛质板锻模 -item.stamp_titanium_wire.name=钛质电线锻模 -item.starmetal_axe.name=星辉斧 -item.starmetal_boots.name=星辉靴子 -item.starmetal_helmet.name=星辉头盔 -item.starmetal_hoe.name=星辉锄 -item.starmetal_legs.name=星辉护腿 -item.starmetal_pickaxe.name=星辉镐 -item.starmetal_plate.name=星辉胸甲 -item.starmetal_shovel.name=星辉锹 -item.starmetal_sword.name=星辉剑 -item.static_sandwich.name=TV三明治 -item.stealth_boy.name=隐形小子 -item.steamsuit_boots.name=蒸汽动力靴子 -item.steamsuit_helmet.name=蒸汽动力呼吸器头盔 -item.steamsuit_legs.name=蒸汽动力护腿 -item.steamsuit_plate.name=蒸汽动力胸甲 -item.steel_axe.name=钢斧 -item.steel_boots.name=钢靴子 -item.steel_helmet.name=钢头盔 -item.steel_hoe.name=钢锄 -item.steel_legs.name=钢护腿 -item.steel_pickaxe.name=钢镐 -item.steel_plate.name=钢胸甲 -item.steel_shovel.name=钢锹 -item.steel_sword.name=钢剑 -item.stick_c4.name=C-4炸药棒 -item.stick_dynamite.name=炸药棒 -item.stick_dynamite_fishing.name=捕鱼炸药棒 -item.stick_semtex.name=塞姆汀塑胶炸药棒 -item.stick_tnt.name=TNT棒 -item.stopsign.name=停车标志战斧 -item.sulfur.name=硫粉 -item.survey_scanner.name=勘测扫描仪 -item.syringe_antidote.name=解毒剂 -item.syringe_awesome.name=米青采彡 -item.syringe_empty.name=空注射器 -item.syringe_metal_empty.name=金属注射器 -item.syringe_metal_medx.name=Med-X抗痛宁 -item.syringe_metal_psycho.name=Psycho"捷特" -item.syringe_metal_stimpak.name=治疗针 -item.syringe_metal_super.name=超级治疗针 -item.syringe_mkunicorn.name=独角兽 -item.syringe_poison.name=毒针 -item.syringe_taint.name=污染水注射液 -item.t45_boots.name=T45动力装甲 靴子 -item.t45_helmet.name=T45动力装甲 头盔 -item.t45_kit.name=T45动力装甲套装 -item.t45_legs.name=T45动力装甲 护腿 -item.t45_plate.name=T45动力装甲 胸甲 -item.tank_steel.name=钢罐 -item.tank_waste_0.name=泥浆容器 -item.tank_waste_1.name=泥浆容器 -item.tank_waste_2.name=泥浆容器 -item.tank_waste_3.name=泥浆容器 -item.tank_waste_4.name=泥浆容器 -item.tank_waste_5.name=泥浆容器 -item.tank_waste_6.name=泥浆容器 -item.tank_waste_7.name=泥浆容器 -item.tank_waste_8.name=泥浆容器 -item.telepad.name=传送部件 -item.tem_flakes.name=Tem薄片 -item.template_folder.name=机器模板文件夹 -item.template_folder.desc=机器模板:纸张+染料$流体识别码:铁板+染料$锻模:空白锻模 $警报声轨:绝缘体+钢板 -item.test_nuke_igniter.name=点火器 -item.test_nuke_propellant.name=推进剂 -item.test_nuke_tier1_bullet.name=铀235弹头[1级] -item.test_nuke_tier1_shielding.name=中子反射器[1级] -item.test_nuke_tier1_target.name=次临界铀235靶丸[1级] -item.test_nuke_tier2_bullet.name=MOX弹头[2级] -item.test_nuke_tier2_shielding.name=中子反射器[2级] -item.test_nuke_tier2_target.name=次临界MOX靶丸[2级] -item.thermo_element.name=热电元件 -item.thermo_unit_empty.name=热量分配装置 -item.thermo_unit_endo.name=吸热装置 -item.thermo_unit_exo.name=放热装置 -item.thruster_large.name=大型推进器 -item.thruster_medium.name=中型推进器 -item.thruster_nuclear.name=LV-N核能火箭发动机 -item.thruster_small.name=小型推进器 -item.titanium_axe.name=钛斧 -item.titanium_boots.name=钛靴子 -item.titanium_filter.name=钛过滤器 -item.titanium_helmet.name=钛头盔 -item.titanium_hoe.name=钛锄 -item.titanium_legs.name=钛护腿 -item.titanium_pickaxe.name=钛镐 -item.titanium_plate.name=钛胸甲 -item.titanium_shovel.name=钛锹 -item.titanium_sword.name=钛剑 -item.toothpicks.name=牙签 -item.train.cargo_tram.name=平板载货电车 -item.trenchmaster_boots.name=Trenchmaster的靴子 -item.trenchmaster_helmet.name=Trenchmaster的头盔 -item.trenchmaster_legs.name=Trenchmaster的护腿 -item.trenchmaster_plate.name=Trenchmaster的胸甲 -item.trinitite.name=玻璃石 -item.tritium_deuterium_cake.name=氚氘饼 -item.tritium_deuterium_cake.desc=不是真正的蛋糕,而是很棒的$聚变燃料! -item.tsar_core.name=沙皇炸弹核心 -item.tsar_kit.name=沙皇炸弹 套件 -item.turbine_titanium.name=钛汽轮转子 -item.turbine_tungsten.name=强化汽轮转子 -item.turret_biometry.name=炮塔遥测卡 -item.turret_cheapo_ammo.name=6x24奇普机枪炮台弹药 -item.turret_chip.name=炮塔AI芯片 -item.turret_control.name=炮塔控制器 -item.turret_cwis_ammo.name=近防系统20mm弹药筒 -item.turret_flamer_ammo.name=火焰炮塔燃料箱 -item.turret_heavy_ammo.name=重型机枪炮塔弹药箱 -item.turret_light_ammo.name=轻型机枪炮塔弹药箱 -item.turret_rocket_ammo.name=火箭炮塔弹药 -item.turret_spitfire_ammo.name=防空炮弹 -item.turret_tau_ammo.name=陶子炮塔铀弹药 -item.twinkie.name=小蛋糕 -item.ullapool_caber.name=阿勒浦长木杆 -item.undefined.name=形态未定义物质 -item.upgrade_5g.name=5G辐射发射器升级 -item.upgrade_afterburn_1.name=一级粉色机器升级 -item.upgrade_afterburn_2.name=二级粉色机器升级 -item.upgrade_afterburn_3.name=三级粉色机器升级 -item.upgrade_centrifuge.name=采矿激光升级-自动离心 -item.upgrade_crystallizer.name=采矿激光升级-自动结晶 -item.upgrade_effect_1.name=一级绿色机器升级 -item.upgrade_effect_2.name=二级绿色机器升级 -item.upgrade_effect_3.name=三级绿色机器升级 -item.upgrade_ejector_1.name=一级弹射速度升级 -item.upgrade_ejector_2.name=二级弹射速度升级 -item.upgrade_ejector_3.name=三级弹射速度升级 -item.upgrade_fortune_1.name=一级紫色机器升级 -item.upgrade_fortune_2.name=二级紫色机器升级 -item.upgrade_fortune_3.name=三级紫色机器升级 -item.upgrade_gc_speed.name=气体离心机超频升级 -item.upgrade_health.name=粉色力场发生器升级 -item.upgrade_muffler.name=消音器 -item.upgrade_nullifier.name=采矿激光升级-自动销毁 -item.upgrade_overdrive_1.name=一级超速传动机器升级 -item.upgrade_overdrive_2.name=二级超速传动机器升级 -item.upgrade_overdrive_3.name=三级超速传动机器升级 -item.upgrade_power_1.name=一级蓝色机器升级 -item.upgrade_power_2.name=二级蓝色机器升级 -item.upgrade_power_3.name=三级蓝色机器升级 -item.upgrade_radius.name=青色力场发生器升级 -item.upgrade_screm.name=采矿激光升级-目 力 科 学 家 -item.upgrade_shredder.name=采矿激光升级-自动粉碎 -item.upgrade_smelter.name=采矿激光升级-自动熔炼 -item.upgrade_speed_1.name=一级红色机器升级 -item.upgrade_speed_2.name=二级红色机器升级 -item.upgrade_speed_3.name=三级红色机器升级 -item.upgrade_stack_1.name=一级堆叠弹出升级 -item.upgrade_stack_2.name=二级堆叠弹出升级 -item.upgrade_stack_3.name=三级堆叠弹出升级 -item.upgrade_template.name=机器升级模板 -item.volcanic_pickaxe.name=熔岩镐 -item.volcanic_axe.name=熔岩斧 -item.wand_d.name=调试魔杖 -item.wand_k.name=建筑魔杖 -item.wand_s.name=结构魔杖 -item.structure_custommachine.name=自定义机器结构输出杖 -item.warhead_buster_large.name=大型掩体破坏弹头 -item.warhead_buster_medium.name=中型掩体破坏弹头 -item.warhead_buster_small.name=小型掩体破坏弹头 -item.warhead_cluster_large.name=大型集束弹头 -item.warhead_cluster_medium.name=中型集束弹头 -item.warhead_cluster_small.name=小型集束弹头 -item.warhead_generic_large.name=大型弹头 -item.warhead_generic_medium.name=中型弹头 -item.warhead_generic_small.name=小型弹头 -item.warhead_incendiary_large.name=大型燃烧弹头 -item.warhead_incendiary_medium.name=中型燃烧弹头 -item.warhead_incendiary_small.name=小型燃烧弹头 -item.warhead_mirv.name=热核弹头 -item.warhead_mirvlet.name=MIRV -item.warhead_nuclear.name=核弹头 -item.warhead_thermo_endo.name=吸热弹头 -item.warhead_thermo_exo.name=放热弹头 -item.warhead_volcano.name=构造弹头 -item.waste_mox.name=枯竭MOX燃料 -item.waste_natural_uranium.name=枯竭天然铀燃料 -item.waste_plate_mox.name=枯竭MOX 板状燃料 -item.waste_plate_pu238be.name=枯竭钚238-铍 板状燃料 -item.waste_plate_pu239.name=枯竭高浓度钚-239 板状燃料 -item.waste_plate_ra226be.name=枯竭镭226-铍 板状燃料 -item.waste_plate_sa326.name=枯竭高浓度Sa326 板状燃料 -item.waste_plate_u233.name=枯竭高浓度铀-233 板状燃料 -item.waste_plate_u235.name=枯竭高浓度铀-235 板状燃料 -item.waste_plutonium.name=枯竭钚燃料 -item.waste_schrabidium.name=枯竭Sa326燃料 -item.waste_thorium.name=枯竭钍燃料 -item.waste_u235.name=枯竭铀-235燃料 -item.waste_u233.name=枯竭铀-233燃料 -item.waste_uranium.name=枯竭铀燃料 -item.waste_zfb_mox.name=枯竭的ZFB MOX燃料 -item.watch.name=破旧怀表 -item.watch.desc=一块蓝色的小怀表$玻璃上有一些裂缝,还有一些碎片不见了$指针定格在了2点34分。 -item.watz_pellet.boron.name=硼吸收靶丸 -item.watz_pellet.du.name=贫铀吸收靶丸 -item.watz_pellet.hes.name=HES Watz靶丸 -item.watz_pellet.lead.name=铅吸收靶丸 -item.watz_pellet.les.name=LES Watz靶丸 -item.watz_pellet.mes.name=MES Watz靶丸 -item.watz_pellet.mep.name=MEP Watz靶丸 -item.watz_pellet.meu.name=MEU Watz靶丸 -item.watz_pellet.nqd.name=浓缩硅岩金属 Watz靶丸 -item.watz_pellet.nqr.name=硅岩金属化合物 Watz靶丸 -item.watz_pellet.hen.name=HEN Watz靶丸 -item.watz_pellet.schrabidium.name=Sa326 Watz靶丸 -item.watz_pellet_depleted.boron.name=硼吸收靶丸(枯竭) -item.watz_pellet_depleted.du.name=贫铀吸收靶丸(枯竭) -item.watz_pellet_depleted.hes.name=HES Watz靶丸(枯竭) -item.watz_pellet_depleted.lead.name=铅吸收靶丸(枯竭) -item.watz_pellet_depleted.les.name=LES Watz靶丸(枯竭) -item.watz_pellet_depleted.mes.name=MES Watz靶丸(枯竭) -item.watz_pellet_depleted.mep.name=MEP Watz靶丸(枯竭) -item.watz_pellet_depleted.meu.name=MEU Watz靶丸(枯竭) -item.watz_pellet_depleted.nqd.name=浓缩硅岩金属 Watz靶丸(枯竭) -item.watz_pellet_depleted.nqr.name=硅岩金属化合物 Watz靶丸(枯竭) -item.watz_pellet_depleted.hen.name=HEN Watz靶丸(枯竭) -item.watz_pellet_depleted.schrabidium.name=Sa326 Watz靶丸(枯竭) -item.weapon_bat.name=板球棒 -item.weapon_bat_nail.name=板上钉钉 -item.weapon_golf_club.name=黑手党快乐杆 -item.weapon_pipe_lead.name=手动覆盖控制 -item.weapon_pipe_rusty.name=姿态调节器 -item.weapon_saw.name=肢解骨锯 -item.weaponized_starblaster_cell.name=§c星际爆能电池§r -item.wd40.name=VT-40 -item.wild_p.name=野生珀伽索斯干威士忌 -item.wings_limp.name=无力之翼 -item.wings_murk.name=暗黑之翼 -item.wire_advanced_alloy.name=超导体 -item.wire_aluminium.name=铝线 -item.wire_copper.name=铜线 -item.wire_dense.name=致密%s线 -item.wire_fine.name=%s线 -item.wire_gold.name=金线 -item.wire_magnetized_tungsten.name=4000K高温超导体 -item.wire_red_copper.name=紫铜线 -item.wire_schrabidium.name=Sa326线 -item.wire_tungsten.name=钨线 -item.wiring_red_copper.name=电缆卷 -item.wood_gavel.name=木槌 -item.wrench.name=管道扳手 -item.wrench_archineer.name=Archineer扳手 -item.wrench_flipped.name=刺刀扳手 -item.xanax.name=NAXA 抗迪伽马药物 -item.xanax.desc=移除500mDRX迪伽马辐射 -item.zirconium_legs.name=锆质护腿 - -itemGroup.tabBlocks=HBM 矿石和方块 -itemGroup.tabConsumable=HBM 食物和装备 -itemGroup.tabControl=HBM 机器项目和燃料 -itemGroup.tabMachine=HBM 机器 -itemGroup.tabMissile=HBM 导弹和卫星 -itemGroup.tabNuke=HBM 炸弹 -itemGroup.tabParts=HBM 资源和零件 -itemGroup.tabTemplate=HBM 模板 -itemGroup.tabTest=HBM的核科技mod测试项[S166、Bismarck、Nukesteve、牛牛联合汉化] -itemGroup.tabWeapon=HBM 武器和炮塔 - -potion.hbm_bang=! ! ! -potion.hbm_death=重度突变 -potion.hbm_lead=铅中毒 -potion.hbm_mutation=变异 -potion.hbm_phosphorus=磷烧伤 -potion.hbm_potionsickness=药水病 -potion.hbm_radaway=消辐宁 -potion.hbm_radiation=辐射 -potion.hbm_radx=抗辐射 -potion.hbm_stability=稳定 -potion.hbm_taint=污染 -potion.hbm_telekinesis=! ! ! - -radar.clearMap=清空地图 -radar.detectMissiles=探测导弹 -radar.detectPlayers=探测玩家 -radar.detectShells=探测炮弹 -radar.redMode=红石控制模式$开启: 基于导弹距离输出红石信号$关闭: 基于导弹级别输出红石信号 -radar.showMap=显示地图 -radar.smartMode=智能模式$有红石信号时忽略上升段的导弹 -radar.toggleGui=切换视图 - -radar.target.abm=反弹道导弹 -radar.target.custom10=10号定制导弹 -radar.target.custom1015=10/15号定制导弹 -radar.target.custom15=15号定制导弹 -radar.target.custom1520=15/20号定制导弹 -radar.target.custom20=20号定制导弹 -radar.target.doomsday=末日导弹 -radar.target.shuttle=万金罗宾航天飞机 -radar.target.tier0=0级导弹 -radar.target.tier1=1级导弹 -radar.target.tier2=2级导弹 -radar.target.tier3=3级导弹 -radar.target.tier4=4级导弹 - -rbmk.heat=柱体温度: %s -rbmk.boiler.water=供水速率: %s / %s -rbmk.boiler.steam=蒸汽产生速率: %s / %s -rbmk.boiler.type=蒸汽压缩等级: %s -rbmk.console.assign=将选定列分配给屏幕#%s -rbmk.console.none=Off -rbmk.console.col_temp=监测平均柱温 -rbmk.console.rod_extraction=监控平均控制棒抽出量 -rbmk.console.fuel_depletion=监测平均燃料消耗 -rbmk.console.fuel_poison=监测平均氙中毒程度 -rbmk.console.fuel_temp=监测平均燃料温度 -rbmk.control.level=%s -rbmk.control.red=§c红色组 -rbmk.control.yellow=§e黄色组 -rbmk.control.green=§a绿色组 -rbmk.control.blue=§1蓝色组 -rbmk.control.purple=§5紫色组 -rbmk.moderated=慢化剂 -rbmk.rod.depletion=燃料消耗: %s -rbmk.rod.xenon=氙元素堆积程度: %s -rbmk.rod.coreTemp=核心温度: %s -rbmk.rod.skinTemp=表面温度: %s / %s -rbmk.screen.core=核心:%s -rbmk.screen.depletion=消耗: %s -rbmk.screen.rod=控制:%s -rbmk.screen.temp=温度:%s -rbmk.screen.xenon=氙:%s - -shape.billet=坯料 -shape.blade=扇片 -shape.blades=粉碎机刀片 -shape.block=块 -shape.dust=粉末 -shape.dusttiny=小撮粉末 -shape.hull_big=大型外壳 -shape.hull_small=小型外壳 -shape.ingot=锭 -shape.nugget=粒 -shape.quantum=量子 -shape.quart=四分之一块 -shape.ntmpipe=管 -shape.plate=板 -shape.plateTriple=铸造板 -shape.shell=外壳 -shape.stamp=锻模 -shape.wireFine=线 -shape.wireDense=致密线 -shape.wiresDense=致密线 - -soundCategory.ntmMachines=NTM机器 - -tile.absorber.name=辐射吸收器 -tile.absorber_green.name=高级辐射吸收器 -tile.absorber_pink.name=精英辐射吸收器 -tile.absorber_red.name=增强型辐射吸收器 -tile.acid_block.name=酸 -tile.ams_base.name=AMS基座 [开发中] -tile.ams_emitter.name=AMS发射极 [开发中] -tile.ams_limiter.name=AMS稳能器 [开发中] -tile.ancient_scrap.name=古代废金属 -tile.anvil_arsenic_bronze.name=砷青铜砧 -tile.anvil_bismuth.name=铋砧 -tile.anvil_bismuth_bronze.name=铋青铜砧 -tile.anvil_desh.name=Desh砧 -tile.anvil_dnt.name=双聚中子态素砧 -tile.anvil_ferrouranium.name=铀铁合金砧 -tile.anvil_iron.name=铁砧 -tile.anvil_lead.name=铅砧 -tile.anvil_meteorite.name=陨石砧 -tile.anvil_murky.name=暗黑砧 -tile.anvil_osmiridium.name=铱锇合金砧 -tile.anvil_saturnite.name=土星砧 -tile.anvil_schrabidate.name=Sa酸铁砧 -tile.anvil_starmetal.name=星辉金属砧 -tile.anvil_steel.name=钢砧 -tile.ash_digamma.name=灰烬 -tile.asphalt.name=沥青 -tile.asphalt_stairs.name=沥青楼梯 -tile.asphalt_light.name=发光沥青 -tile.barbed_wire.name=带刺铁丝网 -tile.barbed_wire_acid.name=腐蚀铁丝网 -tile.barbed_wire_fire.name=烈焰铁丝网 -tile.barbed_wire_poison.name=剧毒铁丝网 -tile.barbed_wire_ultradeath.name=辐射铁丝网 -tile.barbed_wire_wither.name=凋零铁丝网 -tile.barrel_antimatter.name=磁约束反物质容器 -tile.barrel_corroded.name=被腐蚀的桶 -tile.barrel_iron.name=铁桶 -tile.barrel_plastic.name=安全桶 -tile.barrel_steel.name=钢桶 -tile.barrel_tcalloy.name=锝-钢合金桶 -tile.barricade.name=沙袋 -tile.basalt.name=玄武岩 -tile.basalt_brick.name=玄武岩砖 -tile.basalt_polished.name=抛光玄武岩 -tile.basalt_smooth.name=平滑玄武岩 -tile.basalt_tiles.name=玄武岩砖 -tile.blast_door.name=防爆闸门 -tile.block_actinium.name=锕块 -tile.block_advanced_alloy.name=高级合金块 -tile.block_aluminium.name=铝块 -tile.block_asbestos.name=石棉块 -tile.block_australium.name=奥斯块 -tile.block_bakelite.name=电木块 -tile.block_beryllium.name=铍块 -tile.block_bismuth.name=铋块 -tile.block_boron.name=硼块 -tile.block_c4.name=C-4块 -tile.block_cadmium.name=镉块 -tile.block_cap_fritz.name=弗里茨瓶盖方块 -tile.block_cap_korl.name=Korl瓶盖方块 -tile.block_cap_nuka.name=核子可乐瓶盖方块 -tile.block_cap_quantum.name=樱桃味核子可乐瓶盖方块 -tile.block_cap_rad.name=辐射 S~核子可乐瓶盖方块 -tile.block_cap_sparkle.name=核子可乐瓶盖方块 -tile.block_cap_star.name=夕阳沙士星星瓶盖方块 -tile.block_cap_sunset.name=夕阳沙士瓶盖方块 -tile.block_cdalloy.name=镉钢块 -tile.block_cobalt.name=钴块 -tile.block_coke.coal.name=煤焦炭块 -tile.block_coke.lignite.name=褐煤焦炭块 -tile.block_coke.petroleum.name=石油焦炭块 -tile.block_coltan.name=钶钽铁矿块 -tile.block_combine_steel.name=CMB钢块 -tile.block_copper.name=铜块 -tile.block_corium.name=熔融堆芯冷凝物 -tile.block_corium_cobble.name= 熔融物凝固石 -tile.block_daffergon.name=达夫贡块 -tile.block_desh.name=Desh块 -tile.block_dineutronium.name=双聚中子态素块 -tile.block_dura_steel.name=强化高速钢块 -tile.block_electrical_scrap.name=电子废料块 -tile.block_euphemium.name=Ep块 -tile.block_euphemium_cluster.name=Ep刻蚀Sa326团 -tile.block_fallout.name=辐射尘块 -tile.block_fiberglass.name=玻璃纤维卷 -tile.block_fluorite.name=氟石块 -tile.block_foam.name=泡沫 -tile.block_insulator.name=绝缘卷 -tile.block_graphite.name=石墨块 -tile.block_graphite_detector.name=反应堆中子探测棒 -tile.block_graphite_drilled.name=钻孔石墨 -tile.block_graphite_fuel.name=反应堆燃料 -tile.block_graphite_lithium.name=反应堆锂燃料 -tile.block_graphite_plutonium.name=反应堆燃料(增殖) -tile.block_graphite_rod.name=反应堆控制棒 -tile.block_graphite_source.name=反应堆中子源 -tile.block_graphite_tritium.name=反应堆锂燃料(增殖) -tile.block_lead.name=铅块 -tile.block_lanthanium.name=镧块 -tile.block_lithium.name=锂块 -tile.block_magnetized_tungsten.name=磁化钨块 -tile.block_meteor.name=陨石块 -tile.block_meteor_broken.name=破碎的陨石块 -tile.block_meteor_cobble.name=陨石 -tile.block_meteor_molten.name=高温陨石 -tile.block_meteor_treasure.name=宝藏陨石块 -tile.block_mox_fuel.name=MOX燃料块 -tile.block_neptunium.name=镎块 -tile.block_niter.name=硝石块 -tile.block_niter_reinforced.name=硝石加固块 -tile.block_niobium.name=铌块 -tile.block_plutonium.name=钚块 -tile.block_plutonium_fuel.name=钚燃料块 -tile.block_polonium.name=钋块 -tile.block_polymer.name=聚合物块 -tile.block_pu_mix.name=反应堆级钚块 -tile.block_pu238.name=钚-238块 -tile.block_pu239.name=钚-239块 -tile.block_pu240.name=钚-240块 -tile.block_ra226.name=镭-226块 -tile.block_red_copper.name=紫铜块 -tile.block_red_phosphorus.name=红磷块 -tile.block_reiium.name=雷恩块 -tile.block_rubber.name=橡胶块 -tile.block_schrabidate.name=Sa酸铁块 -tile.block_schrabidium.name=Sa326块 -tile.block_schrabidium_cluster.name=Sa326团 -tile.block_schrabidium_fuel.name=Sa326燃料块 -tile.block_schraranium.name=低丰度Sa326块 -tile.block_scrap.name=废品块 -tile.block_semtex.name=塞姆汀块 -tile.block_slag.name=矿渣块 -tile.block_smore.name=S'more块 -tile.block_solinium.name=Sa327块 -tile.block_starmetal.name=星辉块 -tile.block_steel.name=钢块 -tile.block_sulfur.name=硫磺块 -tile.block_tantalium.name=钽块 -tile.block_tcalloy.name=锝钢块 -tile.block_thorium.name=钍块 -tile.block_thorium_fuel.name=钍燃料块 -tile.block_titanium.name=钛块 -tile.block_trinitite.name=玻璃石块 -tile.block_tritium.name=氚单元块 -tile.block_tungsten.name=钨块 -tile.block_u233.name=铀-233块 -tile.block_u235.name=铀-235块 -tile.block_u238.name=铀-238块 -tile.block_unobtainium.name=难得素块 -tile.block_uranium.name=铀块 -tile.block_uranium_fuel.name=铀燃料块 -tile.block_verticium.name=韦德赛块 -tile.block_waste.name=核废料块 -tile.block_waste_painted.name=带标志的核废料块 -tile.block_waste_vitrified.name=玻璃化核废料块 -tile.block_weidanium.name=魏丹块 -tile.block_white_phosphorus.name=白磷块 -tile.block_yellowcake.name=黄饼块 -tile.block_zirconium.name=锆块 -tile.boat.name=船 -tile.bobblehead.name=Bob的魔法娃娃 -tile.bomb_multi.name=多功能炸弹 -tile.bomber.name=坠毁轰炸机 -tile.book_guide.name=HBM的核科技mod手册[遗留] -tile.boxcar.name=车厢 -tile.brick_asbestos.name=石棉砖块 -tile.brick_asbestos_stairs.name=石棉砖楼梯 -tile.brick_compound.name=复合网格砖块 -tile.brick_compound_stairs.name=复合网格砖楼梯 -tile.brick_concrete.name=混凝土砖块 -tile.brick_concrete_stairs.name=混凝土砖楼梯 -tile.brick_concrete_broken.name=破碎混凝土砖块 -tile.brick_concrete_broken_stairs.name=破碎混凝土砖楼梯 -tile.brick_concrete_cracked.name=开裂混凝土砖块 -tile.brick_concrete_cracked_stairs.name=开裂混凝土砖楼梯 -tile.brick_concrete_marked.name=标记混凝土砖 -tile.brick_concrete_mossy.name=苔混凝土砖块 -tile.brick_concrete_mossy_stairs.name=苔混凝土砖楼梯 -tile.brick_ducrete.name=高密度贫铀混凝土砖块 -tile.brick_ducrete_stairs.name=高密度贫铀混凝土砖楼梯 -tile.brick_dungeon.name=硒铜砖 -tile.brick_dungeon_circle.name=圆环硒铜块 -tile.brick_dungeon_flat.name=硒铜块 -tile.brick_dungeon_tile.name=硒铜瓦 -tile.brick_fire.name=耐火砖块 -tile.brick_fire_stairs.name=耐火砖楼梯 -tile.brick_jungle.name=硫砷钢砖块 -tile.brick_jungle_circle.name=机械师之环 -tile.brick_jungle_cracked.name=开裂硫砷钢砖块 -tile.brick_jungle_fragile.name=粉碎硫砷钢砖块 -tile.brick_jungle_glyph.name=硫砷钢石雕砖块 -tile.brick_jungle_lava.name=岩浆硫砷钢砖块 -tile.brick_jungle_mystic.name=奥术硫砷钢砖块 -tile.brick_jungle_ooze.name=放射硫砷钢砖块 -tile.brick_jungle_trap.name=陷阱硫砷钢砖块 -tile.brick_light.name=轻质砖块 -tile.brick_light_stairs.name=轻质砖楼梯 -tile.brick_obsidian.name=黑曜石砖块 -tile.brick_obsidian_stairs.name=黑曜石砖楼梯 -tile.brick_red.name=红房间砖块 -tile.brick_slab.brick_asbestos.name=石棉砖台阶 -tile.brick_slab.brick_compound.name=复合网格砖台阶 -tile.brick_slab.brick_fire.name=耐火砖台阶 -tile.brick_slab.brick_light.name=轻质砖台阶 -tile.brick_slab.brick_obsidian.name=黑曜石砖台阶 -tile.brick_slab.reinforced_brick.name=强化石头台阶 -tile.brick_slab.reinforced_stone.name=致密石头台阶 -tile.broadcaster_pc.name=腐败广播 -tile.burning_earth.name=燃烧草地 -tile.c4.name=C-4 -tile.cable_detector.name=红石电源开关 -tile.cable_diode.name=紫铜二极管 -tile.cable_switch.name=电源开关 -tile.capacitor_bus.name=电容总线 -tile.capacitor_bus.desc=电容器的输出方块$可以连成一条直线 -tile.capacitor_copper.name=铜电容 -tile.capacitor_gold.name=金电容 -tile.capacitor_niobium.name=铌电容 -tile.capacitor_schrabidate.name=Sa酸铁电容 -tile.capacitor_tantalium.name=钽电容 -tile.capacitor.desc=输入:顶部$输出:底部,通过电容总线 -tile.charge_c4.name=炸药包 -tile.charge_dynamite.name=定时炸弹 -tile.charge_miner.name=定时采矿炸药 -tile.charge_semtex.name=塞姆汀采矿炸药 -tile.charger.name=充电站 -tile.cheater_virus.name=冻结Ep -tile.cheater_virus_seed.name=不稳定Ep Schrabide块 -tile.chimney_brick.name=烟囱 -tile.chimney_brick.desc=使用排气管连接污染机器$减少75%的污染排放 -tile.chimney_industrial.name=工业烟囱 -tile.chimney_industrial.desc=使用排气管连接污染机器$减少90%的污染排放 -tile.chlorine_gas.name=氯气 -tile.cluster_aluminium.name=铝矿簇 -tile.cluster_copper.name=铜矿簇 -tile.cluster_depth_iron.name=深层铁矿簇 -tile.cluster_depth_titanium.name=深层钛矿簇 -tile.cluster_depth_tungsten.name=深层钨矿簇 -tile.cluster_iron.name=铁矿簇 -tile.cluster_titanium.name=钛矿簇 -tile.custom_machine_anchor.name=自定义机器结构定位锚 -tile.cm_block.alloy.name=高级合金机器外壳 -tile.cm_block.desh.name=Desh机器外壳 -tile.cm_block.steel.name=钢制机器外壳 -tile.cm_block.tcalloy.name=锝钢机器外壳 -tile.cm_circuit.aluminium.name=一级电路块 -tile.cm_circuit.copper.name=二级电路块 -tile.cm_circuit.gold.name=四级电路块 -tile.cm_circuit.red_copper.name=三级电路块 -tile.cm_circuit.schrabidium.name=五级电路块 -tile.cm_engine.bismuth.name=铋电机组 -tile.cm_engine.desh.name=Desh电机组 -tile.cm_engine.standard.name=电机组 -tile.cm_flux.name=中子接收器 -tile.cm_heat.name=热量接收器 -tile.cm_port.alloy.name=高级合金端口 -tile.cm_port.desh.name=Desh端口 -tile.cm_port.steel.name=钢制端口 -tile.cm_port.tcalloy.name=锝钢端口 -tile.cm_sheet.alloy.name=高级合金建筑板 -tile.cm_sheet.desh.name=Desh建筑板 -tile.cm_sheet.steel.name=钢建筑板 -tile.cm_sheet.tcalloy.name=锝钢建筑板 -tile.cm_tank.alloy.name=高级合金储罐 -tile.cm_tank.desh.name=Desh储罐 -tile.cm_tank.steel.name=钢制储罐 -tile.cm_tank.tcalloy.name=锝钢储罐 -tile.cmb_brick.name=CMB钢瓦块 -tile.cmb_brick_reinforced.name=加固CMB钢砖块 -tile.compact_launcher.name=紧凑型发射台 -tile.concrete.name=混凝土瓦块 -tile.concrete_asbestos.name=石棉混凝土 -tile.concrete_asbestos_stairs.name=石棉混凝土楼梯 -tile.concrete_brick_slab.brick_concrete.name=混凝土砖台阶 -tile.concrete_brick_slab.brick_concrete_broken.name=破碎混凝土砖台阶 -tile.concrete_brick_slab.brick_concrete_cracked.name=开裂混凝土砖台阶 -tile.concrete_brick_slab.brick_concrete_mossy.name=苔混凝土砖台阶 -tile.concrete_brick_slab.brick_ducrete.name=高密度贫铀混凝土砖台阶 -tile.concrete_colored.black.name=黑色混凝土 -tile.concrete_colored.blue.name=蓝色混凝土 -tile.concrete_colored.brown.name=棕色混凝土 -tile.concrete_colored.cyan.name=青色混凝土 -tile.concrete_colored.gray.name=灰色混凝土 -tile.concrete_colored.green.name=绿色混凝土 -tile.concrete_colored.lightBlue.name=淡蓝色混凝土 -tile.concrete_colored.lime.name=黄绿色混凝土 -tile.concrete_colored.magenta.name=品红色混凝土 -tile.concrete_colored.orange.name=橙色混凝土 -tile.concrete_colored.pink.name=粉色混凝土 -tile.concrete_colored.purple.name=紫色混凝土 -tile.concrete_colored.red.name=红色混凝土 -tile.concrete_colored.silver.name=淡灰色混凝土 -tile.concrete_colored.white.name=白色混凝土 -tile.concrete_colored.yellow.name=黄色混凝土 -tile.concrete_colored_ext.bronze.name=建筑工指定混凝土-青铜板材 -tile.concrete_colored_ext.hazard.name=建筑工指定混凝土-危险地带 -tile.concrete_colored_ext.indigo.name=建筑工指定混凝土-深靛蓝 -tile.concrete_colored_ext.machine.name=建筑工指定混凝土-工业风 -tile.concrete_colored_ext.machine_stripe.name=建筑工指定混凝土-工业条纹 -tile.concrete_colored_ext.pink.name=建筑工指定混凝土-猛男粉 -tile.concrete_colored_ext.purple.name=建筑工指定混凝土-神秘紫 -tile.concrete_colored_ext.sand.name=建筑工指定混凝土-沙漠风暴 -tile.concrete_pillar.name=钢筋混凝土柱 -tile.concrete_slab.asphalt.name=沥青台阶 -tile.concrete_slab.concrete.name=混凝土瓦块台阶 -tile.concrete_slab.concrete_asbestos.name=石棉混凝土台阶 -tile.concrete_slab.concrete_smooth.name=混凝土台阶 -tile.concrete_slab.ducrete.name=高密度贫铀混凝土瓷砖台阶 -tile.concrete_slab.ducrete_smooth.name=高密度贫铀混凝土台阶 -tile.concrete_smooth.name=混凝土 -tile.concrete_smooth_stairs.name=混凝土楼梯 -tile.concrete_stairs.name=混凝土瓦块楼梯 -tile.concrete_super.name=über混凝土 -tile.concrete_super_broken.name=发霉的碎片 -tile.conveyor.name=输送带 -tile.conveyor.desc=移动掉在上面的物品$可以用螺丝刀顺时针旋转$用螺丝刀按住Shift键单击以转弯 -tile.conveyor_chute.name=输送带滑槽 -tile.conveyor_chute.desc=向下移动物品$最底部的滑槽将起到普通传送带的作用 -tile.conveyor_double.name=双轨道输送带 -tile.conveyor_double.desc=移动掉在上面的物品$可以用螺丝刀顺时针旋转$用螺丝刀按住Shift键单击以转弯 -tile.conveyor_express.name=快速输送带 -tile.conveyor_express.desc=快速移动掉在上面的物品$可以用螺丝刀顺时针旋转$用螺丝刀按Shift键转弯 -tile.conveyor_lift.name=垂直输送带 -tile.conveyor_lift.desc=向上移动物品$至少需要两个块才能正常工作 -tile.conveyor_triple.name=三轨道输送带 -tile.conveyor_triple.desc=移动掉在上面的物品$可以用螺丝刀顺时针旋转$用螺丝刀按住Shift键单击以转弯 -tile.corium_block.name=堆芯熔融物 -tile.crane_boxer.name=输送带打包机 -tile.crane_boxer.desc=将可配置数量的堆叠装载到沿着传送带移动的箱子中$用螺丝刀右键单击以设置输入侧$用螺丝起子平移单击以设置输出侧$单击两次以设置相反侧 -tile.crane_extractor.name=输送带提取器 -tile.crane_extractor.desc=从库存中取出物品并将其放置在传送带上$最多有9个带黑白名单的过滤器插槽$用螺丝刀右键单击以设置输出侧$手持螺丝刀按住Shift单击以设置输入侧$单击两次以设置相反侧 -tile.crane_grabber.name=输送带抓斗 -tile.crane_grabber.desc=从经过的输送带中取出物品并将其放入容器$将只从最近的通道中取出物品$最多有9个带黑白名单的过滤槽$用螺丝刀右键单击以设置输入侧$用螺丝起子平移单击以设置输出侧$单击两次以设置对侧 -tile.crane_inserter.name=输送带导入器 -tile.crane_partitioner.name=酸化器输入分隔器 -tile.crane_partitioner.desc=接受并存储至多9种输入矿物酸化器的物品$并在物品数量达到配方要求时将其输出$无配方物品也会被存储,需要从侧面导出 -tile.crane_inserter.desc=接受输送带上的物品并将其放入容器中$用螺丝刀右键单击以设置输入侧$用螺丝刀单击以设置输出侧$单击两次以设置相反侧 -tile.crane_router.name=输送带分拣机 -tile.crane_router.desc=根据定义的条件对项目排序$侧面可以定义为黑名单、白名单或通配符$只有在没有其他筛选器匹配的情况下才选择通配符侧面 -tile.crane_splitter.name=输送带分离器 -tile.crane_splitter.desc=将物品分开并均匀堆放在两条传送带上$其本身就是一条传送带,因此它可以直接输入到插入器或分拣器中 -tile.crane_unboxer.name=输送带解包机 -tile.crane_unboxer.desc=接收打包好的物品并解包$用螺丝刀右键单击以设置输出侧$手持螺丝刀按住Shift单击以设置输入侧$单击两次以设置相反侧 -tile.crashed_bomb.name=哑弹 -tile.crate.name=补给箱 -tile.crate_ammo.name=星辉补给箱 -tile.crate_can.name=罐头补给箱 -tile.crate_desh.name=Desh板条箱 -tile.crate_iron.name=铁箱 -tile.crate_jungle.name=硫砷钢箱 -tile.crate_lead.name=危险品补给箱 -tile.crate_metal.name=机器补给箱 -tile.crate_red.name=红色补给箱 -tile.crate_steel.name=钢箱 -tile.crate_template.name=模板箱 -tile.crate_tungsten.name=钨箱 -tile.crate_weapon.name=武器补给箱 -tile.crystal_hardened.name=硬化黑水晶 -tile.crystal_pulsar.name=脉动水晶 -tile.crystal_virus.name=黑水晶 -tile.deco_aluminium.name=铝装饰块 -tile.deco_asbestos.name=石棉瓦 -tile.deco_beryllium.name=铍装饰块 -tile.deco_computer.ibm_300pl.name=IBM个人电脑300PL -tile.deco_emitter.name=装饰性发光体 -tile.deco_crt.name=老CRT显示屏 -tile.deco_lead.name=铅装饰块 -tile.deco_rbmk.name=RBMK装饰块 -tile.deco_rbmk_smooth.name=平滑RBMK装饰块 -tile.deco_red_copper.name=紫铜装饰块 -tile.deco_pipe.name=钢制管道 -tile.deco_pipe_rusted.name=生锈的钢制管道 -tile.deco_pipe_green.name=绿色钢制管道 -tile.deco_pipe_green_rusted.name=生锈的绿色钢制管道 -tile.deco_pipe_red.name=红色钢制管道 -tile.deco_pipe_marked.name=气体管道 -tile.deco_pipe_framed.name=钢制管道 (镶框) -tile.deco_pipe_framed_rusted.name=生锈的钢制管道 (镶框) -tile.deco_pipe_framed_green.name=绿色钢制管道 (镶框) -tile.deco_pipe_framed_green_rusted.name=生锈的绿色钢制管道 (镶框) -tile.deco_pipe_framed_red.name=红色钢制管道 (镶框) -tile.deco_pipe_framed_marked.name=气体管道 (镶框) -tile.deco_pipe_quad.name=钢制管道束 -tile.deco_pipe_quad_rusted.name=生锈的钢制管道束 -tile.deco_pipe_quad_green.name=绿色钢制管道束 -tile.deco_pipe_quad_green_rusted.name=生锈的绿色钢制管道束 -tile.deco_pipe_quad_red.name=红色钢制管道束 -tile.deco_pipe_quad_marked.name=气体管道束 -tile.deco_pipe_rim.name=钢制管道 (镶边) -tile.deco_pipe_rim_rusted.name=生锈的钢制管道 (镶边) -tile.deco_pipe_rim_green.name=绿色钢制管道 (镶边) -tile.deco_pipe_rim_green_rusted.name=生锈的绿色钢制管道 (镶边) -tile.deco_pipe_rim_red.name=红色钢制管道 (镶边) -tile.deco_pipe_rim_marked.name=气体管道 (镶边) -tile.deco_steel.name=钢装饰块 -tile.deco_titanium.name=钛装饰块 -tile.deco_toaster.name=坏掉的烤面包机 -tile.deco_tungsten.name=钨装饰块 -tile.decon.name=玩家去污器 -tile.depth_brick.name=深层岩石砖 -tile.depth_dnt.name=DNT加固深层岩石砖 -tile.depth_nether_brick.name=下界深层岩石砖 -tile.depth_nether_tiles.name=下界深层岩石瓷砖 -tile.depth_tiles.name=深层岩石瓷砖 -tile.det_charge.name=炸药 -tile.det_cord.name=炸药引信 -tile.det_miner.name=采矿炸药 -tile.det_nuke.name=核炸药 -tile.dfc_core.name=暗核聚变堆核心 -tile.dfc_emitter.name=DFC发射器 -tile.dfc_injector.name=DFC燃料喷射器 -tile.dfc_receiver.name=DFC接收器 -tile.dfc_stabilizer.name=DFC稳定器 -tile.dirt_dead.name=泥渣 -tile.dirt_oily.name=油泥 -tile.drill_pipe.name=钻杆 -tile.drone_crate.name=运输无人机坞 -tile.drone_crate.desc=运输无人机的装货点和卸货点$也作为航路点使用, 需要使用运输无人机链接器与其他航路点链接$无人机必须从较高角度接近此方块,否则会被卡住 -tile.drone_crate_provider.name=物流供应箱 -tile.drone_crate_provider.desc=向物流网络提供物品$物流无人机会尝试将物品从物流供应箱移至物流请求箱 -tile.drone_crate_requester.name=物流请求箱 -tile.drone_crate_requester.desc=从物流网络请求物品$若物品栏内没有标记的物品,则会请求该物品 -tile.drone_dock.name=物流无人机坞 -tile.drone_dock.desc=物流无人机的生成点$只能检测5区块半径内的物流供应箱和物流请求箱$每个连接中物流无人机最多跟随10个路径点 -tile.drone_waypoint.name=运输无人机航路点 -tile.drone_waypoint.desc=运输无人机的航路点$使用运输无人机链接器设置路径$按顺序单击每个航路点和坞即可创建路径$Shift+右键单击以清除保存的位置$右键单击或Shift+右键单击航路点以更改航路点的高度偏移 -tile.drone_waypoint_request.name=物流无人机航路点 -tile.door_bunker.name=仓门 -tile.door_metal.name=金属门 -tile.door_office.name=办公室门 -tile.door_red.name=红门 -tile.ducrete.name=高密度贫铀混凝土瓷砖 -tile.ducrete_stairs.name=高密度贫铀混凝土瓷砖楼梯 -tile.ducrete_smooth.name=高密度贫铀混凝土 -tile.ducrete_smooth_stairs.name=高密度贫铀混凝土楼梯 -tile.dummy_block.name=虚拟方块 -tile.dummy_port.name=虚拟方块[电力接口] -tile.dungeon_chain.name=金属链 -tile.dynamite.name=炸药 -tile.emp_bomb.name=EMP炸弹 -tile.factory_advanced_conductor.name=高级工厂电力端口 -tile.factory_advanced_core.name=高级工厂核心组件 -tile.factory_advanced_furnace.name=高级工厂端口 -tile.factory_advanced_hull.name=高级工厂外壳 -tile.factory_titanium_conductor.name=工厂电力端口 -tile.factory_titanium_core.name=工厂核心组件 -tile.factory_titanium_furnace.name=工厂端口 -tile.factory_titanium_hull.name=工厂外壳 -tile.fallout.name=辐射尘 -tile.fan.name=风扇 -tile.fan.desc=使用红石激活$将实体推至最多10个方块外$用螺丝刀右键点击即可翻转 -tile.fence_metal.name=铁丝网围栏 -tile.fence_metal_post.name=铁丝网围栏立柱 -tile.field_disturber.name=高能场干扰机 -tile.filing_cabinet.green.name=蒙尘的文件柜 -tile.filing_cabinet.steel.name=钢制文件柜 -tile.fire_digamma.name=挥之不去的迪伽马之火 -tile.fire_door.name=防火门 -tile.fireworks.name=烟花箱 -tile.fireworks.charges=已充能: %s -tile.fireworks.message=信息: %s -tile.fireworks.color=颜色: %s -tile.fissure_bomb.name=裂缝炸弹 -tile.flame_war.name=盒中论战 -tile.float_bomb.name=悬浮炸弹 -tile.floodlight.name=电力泛光灯 -tile.fluid_duct.name=通用流体管道 -tile.fluid_duct_box.name=通用流体管道(方形) -tile.fluid_duct_exhaust.name=排气管 -tile.fluid_duct_gauge.name=流量计管 -tile.fluid_duct_gauge.desc=显示每个游戏刻在管网有多少流体移动的管道$由桶或罐连接的分离网络被视为一个共享网络。 -tile.fluid_duct_neo.name=通用流体管道 -tile.fluid_duct_paintable.name=可喷漆涂层通用流体导管 -tile.fluid_duct_solid.name=带涂层的通用流体导管 -tile.fluid_switch.name=红石流体阀 -tile.fluid_valve.name=流体阀 -tile.foam_layer.name=泡沫层 -tile.foundry_basin.name=铸造盘 -tile.foundry_channel.name=铸造浇道 -tile.foundry_tank.name=铸造池 -tile.foundry_mold.name=浅铸造池 -tile.foundry_outlet.name=浇筑出口 -tile.foundry_slagtap.name=炉渣出口 -tile.fraction_spacer.name=分馏塔分隔器 -tile.frozen_dirt.name=冰冻土 -tile.frozen_grass.name=冰冻草 -tile.frozen_log.name=冰冻原木 -tile.frozen_planks.name=冰冻木板 -tile.machine_furnace_brick_off.name=砖砌炉 -tile.machine_furnace_brick_on.name=砖砌炉 -tile.furnace_combination.name=复式炼焦炉 -tile.furnace_combination.desc=一种可以生产木炭和煤焦炭的大熔炉$产生流体副产品$传热速率:ΔT*0.25 TU/T -tile.furnace_iron.name=铁炉 -tile.furnace_iron.desc=更大、效率更高的炉子,在闲置时不会浪费燃料。 -tile.furnace_steel.name=钢炉 -tile.furnace_steel.desc=非常大的熔炉,冶炼矿石时可提供加成。$需要外部热源$传热率:ΔT*0.05tu/T$(Δ表示差值,T表示温度) -tile.fusion_center.name=中心磁铁 -tile.fusion_conductor.name=超导磁体 -tile.fusion_conductor_welded.name=超导磁体(焊接) -tile.fusion_core.name=聚变反应堆控制器 -tile.fusion_hatch.name=聚变反应堆端口 -tile.fusion_heater.name=等离子加热器 -tile.fusion_motor.name=磁体马达 -tile.fwatz_computer.name=Watz聚变反应堆计算矩阵 -tile.fwatz_conductor.name=4000K超导磁体 -tile.fwatz_cooler.name=冷却液罐壳 -tile.fwatz_core.name=Watz聚变反应堆控制器 -tile.fwatz_hatch.name=Watz聚变反应堆端口 -tile.fwatz_plasma.name=不稳定反Sa326等离子体 -tile.fwatz_scaffold.name=Watz聚变反应堆结构支架 -tile.fwatz_tank.name=冷却液罐 -tile.gas_asbestos.name=石棉粉尘 -tile.gas_coal.name=空气中的煤尘 -tile.gas_duct.name=输气管道 -tile.gas_duct_solid.name=密封输气管 -tile.gas_explosive.name=爆炸性气体 -tile.gas_flammable.name=可燃气体 -tile.gas_meltdown.name=熔毁气体 -tile.gas_monoxide.name=一氧化碳 -tile.gas_radon.name=氡气 -tile.gas_radon_dense.name=高浓度氡气 -tile.gas_radon_tomb.name=古墓气体 -tile.geiger.name=盖革计数器 -tile.glass_ash.name=灰烬玻璃 -tile.glass_boron.name=硼玻璃 -tile.glass_lead.name=铅玻璃 -tile.glass_polonium.name=钋玻璃 -tile.glass_quartz.name=石英玻璃 -tile.glass_trinitite.name=核融玻璃 -tile.glass_uranium.name=铀玻璃 -tile.glyphid_base.name=异虫蜂巢块 -tile.glyphid_spawner.name=异虫蜂巢繁殖方块 -tile.gneiss_brick.name=页岩砖 -tile.gneiss_chiseled.name=錾制页岩砖 -tile.gneiss_tile.name=页岩瓷砖 -tile.gravel_diamond.name=钻石砂砾 -tile.gravel_obsidian.name=碎黑曜石 -tile.hadron_access.name=粒子加速器接入终端 -tile.hadron_analysis.name=粒子加速器分析室壁 -tile.hadron_analysis_glass.name=粒子加速器分析室窗口 -tile.hadron_coil_alloy.name=致密超导线圈 -tile.hadron_coil_chlorophyte.name=致密叶绿线圈 -tile.hadron_coil_gold.name=致密金线圈 -tile.hadron_coil_magtung.name=致密4000K超导线圈 -tile.hadron_coil_mese.name=致密Mese线圈 -tile.hadron_coil_neodymium.name=致密钕线圈 -tile.hadron_coil_schrabidate.name=致密Sa酸铁线圈 -tile.hadron_coil_schrabidium.name=致密Sa326线圈 -tile.hadron_coil_starmetal.name=致密星辉线圈 -tile.hadron_cooler.name=粒子加速器冷却装置 -tile.hadron_cooler.desc=冷却功率:10$过冷阈值:10$冷却加成:+10%%$过冷惩罚:-25%% -tile.hadron_cooler_mk2.name=粒子加速器冷却装置-回文特制 -tile.hadron_cooler_mk2.desc=冷却功率:5$效率功能:2-(冷却-15)²/225$最高惩罚:-90%% -tile.hadron_core.name=粒子加速器核心组件 -tile.hadron_diode.name=肖基特二极管 -tile.hadron_plating.name=粒子加速器镀层 -tile.hadron_plating_black.name=粒子加速器镀层 (黑) -tile.hadron_plating_blue.name=粒子加速器镀层 (蓝) -tile.hadron_plating_glass.name=粒子加速器镀层 (窗口) -tile.hadron_plating_striped.name=粒子加速器镀层(低温危险) -tile.hadron_plating_voltz.name=粒子加速器镀层 (VOLTZ) -tile.hadron_plating_yellow.name=粒子加速器镀层(Yello染料) -tile.hadron_power.name=粒子加速器电源接口 -tile.hadron_power_10m.name=粒子加速器电源接口(10MHE) -tile.hadron_power_100m.name=粒子加速器电源接口(100MHE) -tile.hadron_power_1g.name=粒子加速器电源接口(1GHE) -tile.hadron_power_10g.name=粒子加速器电源接口(10GHE) -tile.hazmat.name=防辐射布块 -tile.heater_electric.name=电加热器 -tile.heater_electric.desc=利用电能产生热量$以85%的效率接受来自底部的热量$可使用螺丝刀进行配置。 -tile.heater_firebox.name=燃烧室 -tile.heater_firebox.desc=燃烧固体燃料以产生热量。 -tile.heater_heatex.name=换热加热器 -tile.heater_heatex.desc=从热流体中产生热量。 -tile.heater_oilburner.name=流体燃烧器 -tile.heater_oilburner.desc=燃烧可燃液体产生热量。 -tile.heater_oven.name=加热炉 -tile.heater_oven.desc=燃烧固体燃料以产生热量$以50%的效率接受来自底部的热量。 -tile.hev_battery.name=盔甲电池 -tile.impact_dirt.name=烧焦的泥土 -tile.icf.name=惯性约束聚变反应堆(ICF) -tile.icf_block.name=ICF激光器 -tile.icf_component.name=ICF稳定元件 -tile.icf_component.structure.name=ICF外壳 -tile.icf_component.structure_bolted.name=ICF外壳(铆接) -tile.icf_component.vessel.name=ICF密封容器壁 -tile.icf_component.vessel_welded.name=ICF密封容器壁(焊接) -tile.icf_controller.name=ICF激光器控制器 -tile.icf_laser_component.capacitor.name=ICF激光器电容 -tile.icf_laser_component.casing.name=ICF激光器外壳 -tile.icf_laser_component.cell.name=ICF激光器单元 -tile.icf_laser_component.emitter.name=ICF激光器闪光管 -tile.icf_laser_component.port.name=ICF激光器端口 -tile.icf_laser_component.turbo.name=ICF激光器涡轮增压器 -tile.iter.name=聚变反应堆 -tile.ladder_aluminium.name=铝制梯子 -tile.ladder_cobalt.name=钴制梯子 -tile.ladder_copper.name=铜制梯子 -tile.ladder_gold.name=金制梯子 -tile.ladder_iron.name=铁制梯子 -tile.ladder_lead.name=铅制梯子 -tile.ladder_steel.name=钢制梯子 -tile.ladder_sturdy.name=坚固木头制梯子 -tile.ladder_titanium.name=钛制梯子 -tile.ladder_tungsten.name=钨制梯子 -tile.lamp_demon.name=恶魔核心灯 -tile.lamp_tritium_blue_off.name=蓝色氚灯 -tile.lamp_tritium_blue_on.name=蓝色氚灯 -tile.lamp_tritium_green_off.name=绿色氚灯 -tile.lamp_tritium_green_on.name=绿色氚灯 -tile.lantern.name=路灯 -tile.lantern_behemoth.name=旧路灯 -tile.launch_pad.name=导弹发射台 -tile.launch_pad_large.name=发射台 -tile.launch_table.name=大型发射台 -tile.launch_pad_rusted.name=锈迹斑斑的发射台 -tile.leaves_layer.name=落叶 -tile.lox_barrel.name=液氧桶 -tile.machine_amgen.name=环境辐射发电机 -tile.machine_arc_furnace.name=大型电弧炉 -tile.machine_arc_furnace_off.name=电弧炉 -tile.machine_arc_furnace_on.name=电弧炉 -tile.machine_arc_welder.name=电弧焊机 -tile.machine_armor_table.name=装甲改装台 -tile.machine_ashpit.name=储灰槽 -tile.machine_ashpit.desc=收集来自燃烧室和加热炉的灰烬 -tile.machine_assembler.name=装配机 -tile.machine_assemfac.name=装配厂 -tile.machine_autocrafter.name=自动工作台 -tile.machine_autosaw.name=自动嗡嗡锯 -tile.machine_autosaw.desc=砍伐附近的植物,重新种植树木$接受:$-木油$-乙醇$-鱼油$-重油 -tile.machine_bat9000.name=巨尻-9000 储罐 -tile.machine_battery.name=蓄电池 -tile.machine_battery_potato.name=马铃薯电池组 -tile.machine_boiler.name=大型锅炉 -tile.machine_boiler.desc=可以烧水或加热油的大型锅炉$需要外部热源$传热速率:ΔT*0.01 TU/T -tile.machine_boiler_electric_off.name=电锅炉 -tile.machine_boiler_electric_on.name=电锅炉 -tile.machine_boiler_off.name=锅炉 -tile.machine_boiler_on.name=锅炉 -tile.machine_catalytic_cracker.name=催化裂化塔 -tile.machine_catalytic_reformer.name=催化重整器 -tile.machine_centrifuge.name=离心机 -tile.machine_chemfac.name=大型化工厂 -tile.machine_chemplant.name=化工厂 -tile.machine_chungus.name=“利维坦”巨型汽轮机 -tile.machine_chungus.desc=效率: 85%% -tile.machine_coal_off.name=火力发电机 -tile.machine_coal_on.name=火力发电机 -tile.machine_coker.name=焦化装置 -tile.machine_coker.desc=炼焦,并产生各类流体副产品$需要外部热源$传热速率:ΔT*0.025 TU/T -tile.machine_combine_factory.name=CMB炼钢炉 -tile.machine_combustion_engine.name=工业内燃机 -tile.machine_compressor.name=压缩机 -tile.machine_condenser.name=蒸汽冷凝器 -tile.machine_condenser_powered.name=大功率蒸汽冷凝器 -tile.machine_controller.name=反应堆遥控模块 -tile.machine_converter_he_rf.name=HE→RF转换器 -tile.machine_converter_rf_he.name=RF→HE转换器 -tile.machine_conveyor_press.name=输送带锻压机 -tile.machine_conveyor_press.desc=传送带从左向右移动$手持锻模右键单击以安装$使用螺丝刀移除锻模 -tile.machine_crucible.name=坩埚 -tile.machine_crystallizer.name=矿物酸化器 -tile.machine_cyclotron.name=回旋加速器 -tile.machine_detector.name=功率检测器 -tile.machine_deuterium_extractor.name=氘提取器 -tile.machine_deuterium_tower.name=氘萃取塔 -tile.machine_diesel.name=柴油发电机 -tile.machine_difurnace_extension.name=高炉烟道 -tile.machine_difurnace_off.name=高炉 -tile.machine_difurnace_on.name=高炉 -tile.machine_difurnace_rtg_off.name=核高炉 -tile.machine_difurnace_rtg_on.name=核高炉 -tile.machine_dineutronium_battery.name=Spark蓄电池 -tile.machine_drain.name=排液管 -tile.machine_drill.name=自动采矿钻机 -tile.machine_electric_furnace_off.name=电炉 -tile.machine_electric_furnace_on.name=电炉 -tile.machine_electrolyser.name=电解机 -tile.machine_epress.name=电动锻压机 -tile.machine_excavator.name=大型采矿钻机 -tile.machine_exposure_chamber.name=曝光室 -tile.machine_fel.name=FEL自由电子激光器 -tile.machine_fensu.name=FEnSU飞轮储能系统 -tile.machine_flare.name=高架火炬 -tile.machine_fluidtank.name=储罐 -tile.machine_forcefield.name=力场发生器 -tile.machine_fraction_tower.name=分馏塔 -tile.machine_fracking_tower.name=水力压裂塔 -tile.machine_funnel.name=组合漏斗 -tile.machine_funnel.desc=自动在2x2或3x3的合成格中压缩内部物品$顶面:输入$底面:输出$侧面:输出内部原料 -tile.machine_gascent.name=气体离心机 -tile.machine_generator.name=核反应堆[旧] -tile.machine_geo.name=地热发电机 -tile.machine_hephaestus.name=地热换热器 -tile.machine_hydrotreater.name=加氢装置 -tile.machine_icf_press.name=ICF燃料靶丸制造器 -tile.machine_icf_press.desc=用于装填ICF靶丸$左侧燃料槽接收顶面/底面输入,右侧燃料槽接收侧面输入$μ子胶囊和空靶丸可从任意面输入 -tile.machine_industrial_boiler.name=工业锅炉 -tile.machine_industrial_boiler.desc=可以烧水或加热油的大型锅炉$需要外部热源$传热率:ΔT*0.01 TU/T$不会爆炸 -tile.machine_industrial_generator.name=工业发电机 -tile.machine_keyforge.name=锁匠桌 -tile.machine_large_turbine.name=工业汽轮机 -tile.machine_large_turbine.desc=效率: 100%% -tile.machine_liquefactor.name=工业液化机 -tile.machine_liquefactor.desc=强大的通用机器,可将物品转化为液体$配有多功能催化组件、加热元件和用于石化液化的内置水合器。 -tile.machine_lithium_battery.name=锂蓄电池 -tile.machine_microwave.name=微波炉 -tile.machine_mining_laser.name=采矿激光 -tile.machine_minirtg.name=放射性同位素电池 -tile.machine_missile_assembly.name=导弹装配台 -tile.machine_mixer.name=工业搅拌机 -tile.machine_nuke_furnace_off.name=核熔炉 -tile.machine_nuke_furnace_on.name=核熔炉 -tile.machine_orbus.name=重型磁约束储罐 -tile.machine_ore_slopper.name=基岩矿石处理机 -tile.machine_powerrtg.name=PT同位素电池 -tile.machine_press.name=火力锻压机 -tile.machine_puf6_tank.name=六氟化钚储罐 -tile.machine_pumpjack.name=石油钻机 -tile.machine_radar.name=雷达 -tile.machine_radar_large.name=大型雷达 -tile.machine_radgen.name=辐射能量发电机 -tile.machine_radiolysis.name=放射性同位素热电机和辐射裂解室 -tile.machine_reactor.name=增殖反应堆 -tile.machine_reactor_small.name=研究型反应堆 -tile.machine_refinery.name=炼油厂 -tile.machine_reix_mainframe.name=Rei-X主机[开发中] -tile.machine_rtg_blue.name=对流发电机 -tile.machine_rtg_cyan.name=Sa326衰变发电机 [开发中] -tile.machine_rtg_furnace_off.name=放射性同位素热力炉[RTG] -tile.machine_rtg_furnace_on.name=放射性同位素热力炉[RTG] -tile.machine_rtg_green.name=韦德赛富集发电机 -tile.machine_rtg_grey.name=放射性同位素发电机 -tile.machine_rtg_orange.name=强RT发电机 -tile.machine_rtg_purple.name=反物质湮灭发发电机 -tile.machine_rtg_red.name=离子发生器 -tile.machine_rtg_yellow.name=奥斯超级燃料反应堆 -tile.machine_satlinker.name=卫星ID管理器 -tile.machine_sawmill.name=斯特林锯木机 -tile.machine_sawmill.desc=需要外部热源$传热速率:T*0.1 TU/T$最小进气量:100 TU/T,最大进气量:300 TU/T -tile.machine_schrabidium_battery.name=Sa326蓄电池 -tile.machine_schrabidium_transmutator.name=Sa326嬗变装置 -tile.machine_selenium.name=星型发动机 -tile.machine_shredder.name=粉碎机 -tile.machine_silex.name=SILEX激光同位素分离室 -tile.machine_siren.name=警报器 -tile.machine_solar_boiler.name=太阳能锅炉 -tile.machine_soldering_station.name=焊接台 -tile.machine_solidifier.name=工业固化机 -tile.machine_solidifier.desc=配备冷却系统和其他多功能工具的通用机器,用于使用冷冻和石化聚合等多种工艺将流体转化为固体。 -tile.machine_spp_bottom.name=ZPE电位发生器 [底部] -tile.machine_spp_top.name=ZPE电位发生器 [顶部] -tile.machine_steam_engine.name=蒸汽机 -tile.machine_steam_engine.desc=效率:85% -tile.machine_stirling.name=斯特林发电机 -tile.machine_stirling.desc=它将热量转化为能量。需要外部热源$传热率:T*0.1 TU/T$最大进气量:300 TU/T$效率:50% -tile.machine_stirling_creative.name=创造斯特林发动机 -tile.machine_stirling_creative.desc=将热量转化为能量。需要外部热源$传热率:T*0.1 TU/T$无限吸热/T$效率:100% -tile.machine_stirling_steel.name=重型斯特林发电机 -tile.machine_stirling_steel.desc=它将热量转化为能量。需要外部热源$使用更重的齿轮来支持更高的温度$传热率:T*0.1 TU/T$最大进气量:1500 TU/T$效率:50% -tile.machine_storage_drum.name=核废料处理桶 -tile.machine_strand_caster.name=连续铸造机 -tile.machine_telelinker.name=炮塔ID管理器 -tile.machine_teleporter.name=传送机 -tile.machine_tower_large.name=冷却塔 -tile.machine_tower_small.name=辅助冷却塔 -tile.machine_transformer.name=10k-20Hz变频器 -tile.machine_transformer_20.name=10k-1Hz变频器 -tile.machine_transformer_dnt.name=DNT-20Hz变频器 -tile.machine_transformer_dnt_20.name=DNT-1Hz变频器 -tile.machine_turbine.name=汽轮机 -tile.machine_turbine.desc=效率: 85%% -tile.machine_turbinegas.name=联合循环燃气轮机 -tile.machine_turbofan.name=涡扇发动机 -tile.machine_uf6_tank.name=六氟化铀储罐 -tile.machine_vacuum_distill.name=真空炼油厂 -tile.machine_waste_drum.name=乏燃料池 -tile.machine_well.name=钻油塔 -tile.machine_wood_burner.name=火力发电机 -tile.machine_wood_burner.desc=燃烧物品时100HE/t,同时$收集灰烬$可以以40mb/s的速度燃烧流体,效率为50%% -tile.machine_zirnox.name=锆诺克斯核反应堆 -tile.marker_structure.name=多方块结构信标 -tile.mass_storage.name=大规模存储单元 -tile.meteor_battery.name=星辉静电发生器 -tile.meteor_brick.name=陨石砖 -tile.meteor_brick_chiseled.name=錾制陨石砖 -tile.meteor_brick_cracked.name=裂纹陨石砖 -tile.meteor_brick_mossy.name=苔藓陨石砖 -tile.meteor_pillar.name=竖纹陨石砖 -tile.meteor_polished.name=平滑陨石块 -tile.meteor_spawner.name=赛博螃蟹组装机 -tile.mine_ap.name=反步兵地雷 -tile.mine_fat.name=核地雷 -tile.mine_he.name=反坦克地雷 -tile.mine_shrap.name=破片地雷 -tile.moon_turf.name=月壤 -tile.mud_block.name=毒泥 -tile.muffler.name=消声器 -tile.mush.name=发光真菌 -tile.ntm_dirt.name=泥土 -tile.nuke_boy.name=小男孩 -tile.nuke_custom.name=自定义核弹 -tile.nuke_fleija.name=F.L.E.I.J.A. -tile.nuke_fstbmb.name=野火炸弹 -tile.nuke_gadget.name=小玩意 -tile.nuke_man.name=胖子 -tile.nuke_mike.name=常春藤迈克 -tile.nuke_n2.name=N2炸弹 -tile.nuke_n45.name=N45水雷 -tile.nuke_prototype.name=原型 -tile.nuke_solinium.name=蔚蓝洗礼 -tile.nuke_tsar.name=沙皇炸弹 -tile.oil_duct.name=输油管 -tile.oil_duct_solid.name=粗输油管 -tile.oil_pipe.name=原油抽取管 -tile.oil_spill.name=泄漏的原油 -tile.ore_alexandrite.name=亚历山大变石矿 -tile.ore_aluminium.name=铝矿石 -tile.ore_asbestos.name=石棉矿 -tile.ore_australium.name=奥斯矿石 -tile.ore_basalt_asbestos.name=富含石棉的玄武岩 -tile.ore_basalt_fluorite.name=富含氟石的玄武岩 -tile.ore_basalt_gem.name=富含宝石的玄武岩 -tile.ore_basalt_molysite.name=富含氯化铁的玄武岩 -tile.ore_basalt_sulfur.name=富含硫的玄武岩 -tile.ore_bedrock.name=基岩矿石 -tile.ore_bedrock_coltan.name=基岩钶钽铁矿 -tile.ore_bedrock_oil.name=基岩油层 -tile.ore_beryllium.name=铍矿石 -tile.ore_cinnebar.name=朱砂矿石 -tile.ore_coal_oil.name=含油煤矿石 -tile.ore_coal_oil_burning.name=燃烧的含油煤矿石 -tile.ore_cobalt.name=钴矿石 -tile.ore_coltan.name=钶钽铁矿 -tile.ore_copper.name=铜矿石 -tile.ore_daffergon.name=达夫贡矿石 -tile.ore_depth_borax.name=深层硼砂矿 -tile.ore_depth_cinnebar.name=深层朱砂矿石 -tile.ore_depth_nether_neodymium.name=深层钕矿石 -tile.ore_depth_zirconium.name=深层锆矿石 -tile.ore_fluorite.name=氟石矿石 -tile.ore_gneiss_asbestos.name=石棉矿页岩 -tile.ore_gneiss_copper.name=铜矿页岩 -tile.ore_gneiss_gas.name=气页岩 -tile.ore_gneiss_gold.name=金矿页岩 -tile.ore_gneiss_iron.name=铁矿页岩 -tile.ore_gneiss_lithium.name=锂矿页岩 -tile.ore_gneiss_rare.name=稀土矿页岩 -tile.ore_gneiss_schrabidium.name=Sa326矿页岩 -tile.ore_gneiss_uranium.name=铀矿页岩 -tile.ore_gneiss_uranium_scorched.name=烧焦的铀矿页岩 -tile.ore_lead.name=铅矿石 -tile.ore_lignite.name=褐煤矿石 -tile.ore_meteor.aluminium.name=铝矿陨石 -tile.ore_meteor.cobalt.name=钴矿陨石 -tile.ore_meteor.copper.name=铜矿陨石 -tile.ore_meteor.iron.name=铁矿陨石 -tile.ore_meteor.rareearth.name=稀土矿陨石 -tile.ore_meteor_aluminium.name=铝矿陨石 -tile.ore_meteor_copper.name=铜矿陨石 -tile.ore_meteor_lead.name=铅矿陨石 -tile.ore_meteor_lithium.name=锂矿陨石 -tile.ore_meteor_starmetal.name=星辉矿陨石 -tile.ore_meteor_sulfur.name=硫磺矿陨石 -tile.ore_meteor_thorium.name=钍矿陨石 -tile.ore_meteor_titanium.name=钛矿陨石 -tile.ore_meteor_tungsten.name=钨矿陨石 -tile.ore_meteor_uranium.name=铀矿陨石 -tile.ore_nether_coal.name=燃烧下界煤矿 -tile.ore_nether_cobalt.name=下界钴矿石 -tile.ore_nether_fire.name=磷矿石 -tile.ore_nether_plutonium.name=下界钚矿石 -tile.ore_nether_schrabidium.name=下界Sa326矿石 -tile.ore_nether_smoldering.name=阴燃下界岩 -tile.ore_nether_sulfur.name=下界硫磺矿石 -tile.ore_nether_tungsten.name=下界钨矿石 -tile.ore_nether_uranium.name=下界铀矿石 -tile.ore_nether_uranium_scorched.name=烧焦的下界铀矿石 -tile.ore_niter.name=硝石矿石 -tile.ore_oil.name=油岩 -tile.ore_oil_empty.name=空油岩 -tile.ore_oil_sand.name=沥青砂 -tile.ore_random.name=%s 矿 -tile.ore_rare.name=稀土矿石 -tile.ore_reiium.name=雷恩矿石 -tile.ore_schrabidium.name=Sa326矿石 -tile.ore_sellafield_diamond.name=放射性熔融钻石矿 -tile.ore_sellafield_emerald.name=放射性熔融绿宝石矿 -tile.ore_sellafield_radgem.name=富含宝石的放射性熔融物 -tile.ore_sellafield_schrabidium.name=放射性熔融Sa326矿石 -tile.ore_sellafield_uranium_scorched.name=放射性熔融烧焦铀矿 -tile.ore_sulfur.name=硫磺矿石 -tile.ore_tektite_osmiridium.name=渗锇熔融石 -tile.ore_thorium.name=钍矿石 -tile.ore_tikite.name=赛瑞克矿石 -tile.ore_titanium.name=钛矿石 -tile.ore_tungsten.name=钨矿石 -tile.ore_unobtainium.name=难得素矿石 -tile.ore_uranium.name=铀矿石 -tile.ore_uranium_scorched.name=烧焦的铀矿石 -tile.ore_verticium.name=韦德赛矿石 -tile.ore_volcano.name=地热裂缝 -tile.ore_weidanium.name=魏丹矿石 -tile.part_emitter.name=装饰性粒子发射器 -tile.pedestal.name=物品基座 -tile.pink_barrel.name=煤油桶 -tile.pink_log.name=粉色原木 -tile.pink_planks.name=粉色木板 -tile.pink_slab.name=粉色木半砖 -tile.pink_stairs.name=粉色木台阶 -tile.piston_inserter.name=插入器 -tile.piston_inserter.desc=可以使用自动化接收一件物品$使用红石,它会将物品插入钻孔石墨中$钻孔石墨的物品都会被推出一格$插入器与钻孔石墨之间需要有一格空气 -tile.plant_dead.name=死亡植物 -tile.plant_flower.cd0.name=芥子柳 -tile.plant_flower.cd1.name=芥子柳 -tile.plant_flower.foxglove.name=毛地黄 -tile.plant_flower.nightshade.name=颠茄 -tile.plant_flower.tobacco.name=烟草 -tile.plant_flower.weed.name=大麻 -tile.plant_reeds.name=芦苇 -tile.plant_tall.cd2.name=芥子柳 -tile.plant_tall.cd3.name=芥子柳 -tile.plant_tall.cd4.name=芥子柳(成熟) -tile.plant_tall.weed.name=大麻 -tile.plasma.name=等离子 -tile.plasma_heater.name=等离子加热器 -tile.plushie.name=%s布娃娃 -tile.pole_satellite_receiver.name=卫星天线 -tile.pole_top.name=天线顶部 -tile.press_preheater.name=锻压机压力预热器 -tile.pribris.name=RBMK石墨式反应堆残骸 -tile.pribris_burning.name=燃烧的RBMK反应堆残骸 -tile.pribris_digamma.name=发黑的RBMK反应堆残骸 -tile.pribris_radiating.name=阴燃的RBMK反应堆残骸 -tile.pump_electric.name=电动地下水泵 -tile.pump_electric.desc=用电力抽取地下水$产水量高达10000mB/t$需要放置在Y:70以下 -tile.pump_steam.name=蒸汽动力地下水泵 -tile.pump_steam.desc=使用蒸汽抽取地下水$产水量高达1000mB/t$需要放置在Y:70以下 -tile.pwr_block.name=PWR压水反应堆 -tile.pwr_casing.name=PWR压力容器 -tile.pwr_casing.desc=需要覆盖反应堆的所有内部零件以形成$位置:外壳 -tile.pwr_channel.name=PWR冷却剂通道 -tile.pwr_channel.desc=传导热量以加热冷却剂$位置:任意 -tile.pwr_control.name=PWR控制棒 -tile.pwr_control.desc=允许控制连接的燃料棒$放置:各燃料棒连线网格之间 -tile.pwr_controller.name=PWR控制器 -tile.pwr_controller.desc=PWR的接入终端$位置:外壳,每个反应堆只要一个$右键单击以组装反应堆 -tile.pwr_fuel.name=PWR燃料棒 -tile.pwr_fuel.desc=增加压水堆燃料容量$位置:网格,用于增加反应效率 -tile.pwr_heatex.name=PWR换热器 -tile.pwr_heatex.desc=将核心热量转移到外壳$位置:任意 -tile.pwr_heatsink.name=PWR热容器 -tile.pwr_heatsink.desc=增加5%%的核心热容$略微降低冷却剂通道和换热器的效率$位置:任意 -tile.pwr_neutron_source.name=PWR中子源 -tile.pwr_neutron_source.desc=向堆芯添加20个中子通量$位置:任意$中子通量只有在连接打开时才能到达燃料棒 -tile.pwr_port.name=PWR接入端口 -tile.pwr_port.desc=允许物品和液体交换$位置:组件 -tile.pwr_reflector.name=PWR中子反射器 -tile.pwr_reflector.desc=将中子通量反射回燃料棒$位置:网格,用于增加反应速率$可作为外壳材料 -tile.rad_lava_block.name=放射性火山熔岩 -tile.radar_screen.name=雷达显示屏 -tile.radio_telex.name=电报机 -tile.radio_torch_counter.name=无线红石物品计数器 -tile.radio_torch_counter.desc=可在平坦表面或与比较器兼容的方块上放置$根据匹配物品的数量发出信号 -tile.radio_torch_logic.name=无线红石逻辑接收器 -tile.radio_torch_logic.desc=可在平坦表面或与比较器兼容的方块上放置$将红石信号与条件一一对应,并按照设定的顺序检测$输入的数值或字符串会与常量进行比较 -tile.radio_torch_receiver.name=无线红石信号接收器 -tile.radio_torch_receiver.desc=可在平坦表面或与比较器兼容的方块上放置 -tile.radio_torch_sender.name=无线红石信号发射器 -tile.radio_torch_sender.desc=可在平坦表面或比较器兼容的方块上放置$读取红石信号或比较器输入 -tile.radiobox.name=无线怪物清除箱 -tile.radiorec.name=坏掉的收音机 -tile.rail_booster.name=高速动力轨道 -tile.rail_highspeed.name=高速轨道 -tile.rail_large_buffer.name=标准轨距缓冲停止轨道(5m) -tile.rail_large_curve.name=标准轨距弯曲轨道(5m) -tile.rail_large_curve_7.name=标准轨距弯曲轨道(7m) -tile.rail_large_curve_9.name=标准轨距弯曲轨道(9m) -tile.rail_large_ramp.name=标准轨距坡道铁轨(5m) -tile.rail_large_straight.name=标准轨距铁轨(5m) -tile.rail_large_straight_short.name=标准轨距铁轨(1m) -tile.rail_large_switch.name=标准轨距铁路道岔(15m 左转) -tile.rail_large_switch_flipped.name=标准轨距铁路道岔(15m 右转) -tile.rail_narrow.name=窄轨距轨道 -tile.rail_wood.name=木制轨道 -tile.rbmk_absorber.name=RBMK反应堆硼中子吸收器 -tile.rbmk_blank.name=RBMK反应堆结构柱 -tile.rbmk_boiler.name=RBMK反应堆蒸汽管道 -tile.rbmk_console.name=RBMK石墨式反应堆控制台 -tile.rbmk_cooler.name=RBMK冷却器 -tile.rbmk_control.name=RBMK反应堆控制棒 -tile.rbmk_control_auto.name=RBMK反应堆自动控制棒 -tile.rbmk_control_mod.name= RBMK反应堆慢化控制棒 -tile.rbmk_crane_console.name=RBMK起重机控制台 -tile.rbmk_heater.name=RBMK流体加热器 -tile.rbmk_heatex.name=RBMK换热器 -tile.rbmk_loader.name=RBMK反应堆蒸汽导出器 -tile.rbmk_loader.desc=让RBMK反应堆在底部同时拥有水接口和蒸汽接口$在RBMK蒸汽管道下方放置水管道,再在下面放置蒸汽导出器$最后将管道连接至蒸汽导出器即可 -tile.rbmk_moderator.name=RBMK反应堆石墨慢化剂 -tile.rbmk_outgasser.name=RBMK反应堆辐照通道 -tile.rbmk_reflector.name=RBMK反应堆碳化钨中子反射器 -tile.rbmk_rod.name=RBMK反应堆燃料棒 -tile.rbmk_rod_mod.name= RBMK反应堆慢化燃料棒 -tile.rbmk_rod_reasim.name= RBMK反应堆燃料棒(ReaSim) -tile.rbmk_rod_reasim_mod.name= RBMK反应堆慢化燃料棒(ReaSim) -tile.rbmk_steam_inlet.name=RBMK ReaSim进水口 -tile.rbmk_steam_inlet.desc=当启用ReaSim锅炉时向反应堆内输入水$从侧面连接至反应堆结构 -tile.rbmk_steam_outlet.name=RBMK ReaSim蒸汽出口 -tile.rbmk_steam_outlet.desc=当启用ReaSim锅炉时从反应堆内输出超热蒸汽$从侧面连接至反应堆结构 -tile.rbmk_storage.name=RBMK燃料棒存储棒 -tile.reactor_computer.name=反应堆控制器 -tile.reactor_conductor.name=反应堆锅炉 -tile.reactor_control.name=控制棒 -tile.reactor_ejector.name=反应堆废料排出器 -tile.reactor_element.name=反应堆室 -tile.reactor_hatch.name=反应堆端口 -tile.reactor_inserter.name=反应堆燃料插入器 -tile.red_barrel.name=炸药桶 -tile.red_cable.name=紫铜电线 -tile.red_cable_classic.name=紫铜电缆(经典型) -tile.red_cable_gauge.name=功率计 -tile.red_cable_gauge.desc=显示每刻在网络中流动的电力$的电缆$由储能方块连接的拆分网络被视为一个共享网络。 -tile.red_cable_paintable.name=可涂漆紫铜线 -tile.red_connector.name=电力连接器 -tile.red_pylon.name=电线杆 -tile.red_pylon_large.name=大型输电塔 -tile.red_pylon_medium_steel.name=中型钢制电线杆 -tile.red_pylon_medium_steel_transformer.name=中型钢制电线杆(带变压器) -tile.red_pylon_medium_wood.name=中型木制电线杆 -tile.red_pylon_medium_wood_transformer.name=中型木制电线杆(带变压器) -tile.red_wire_coated.name=密封紫铜电缆 -tile.reinforced_brick.name=强化石头 -tile.reinforced_brick_stairs.name=强化石头楼梯 -tile.reinforced_ducrete.name=加固高密度贫铀混凝土 -tile.reinforced_glass.name=强化玻璃 -tile.reinforced_glass_pane.name=强化玻璃窗 -tile.reinforced_lamp_off.name=强化红石灯 -tile.reinforced_lamp_on.name=强化红石灯 -tile.reinforced_light.name=强化萤石 -tile.reinforced_sand.name=强化砂石 -tile.reinforced_stone.name=致密石头 -tile.reinforced_stone_stairs.name=致密石头楼梯 -tile.reinforced_laminate.name=强化夹层玻璃 -tile.reinforced_laminate_pane.name=强化夹层隔板 -tile.rejuvinator.name=再生装置 -tile.residue.name=云残留 -tile.safe.name=保险箱 -tile.sand_boron.name=硼沙 -tile.sand_boron_layer.name=硼沙层 -tile.sand_dirty.name=油砂 -tile.sand_dirty_red.name=红色油砂 -tile.sand_gold.name=金沙 -tile.sand_gold198.name=金-198沙 -tile.sand_lead.name=铅沙 -tile.sand_polonium.name=钋沙 -tile.sand_quartz.name=石英沙 -tile.sand_uranium.name=铀沙 -tile.sat_dock.name=卸货平台 -tile.sat_foeq.name=实验型核能PEAF-Mk.I FOEQ Duna探测器[装饰块] -tile.sat_laser.name=轨道死光炮[装饰块] -tile.sat_mapper.name=地表测绘卫星[装饰块] -tile.sat_radar.name=雷达探测卫星[装饰块] -tile.sat_resonator.name=X晶体共振卫星[装饰块] -tile.sat_scanner.name=绘测和资源探测卫星[装饰块] -tile.schrabidic_block.name=Sa酸 -tile.seal_controller.name=发射井舱门开关 -tile.seal_frame.name=发射井舱门框架 -tile.seal_hatch.name=发射井舱门 -tile.sellafield.0.name=放射性熔融凝固物 -tile.sellafield.1.name=高温放射性熔融凝固物 -tile.sellafield.2.name=沸腾的放射性熔融凝固物 -tile.sellafield.3.name=灼热的放射性熔融凝固物 -tile.sellafield.4.name=地狱般的放射性熔融凝固物 -tile.sellafield.5.name=放射性熔融凝固物核心 -tile.sellafield_slaked.name=消沉的放射性熔融凝固物 -tile.semtex.name=塞姆汀塑胶炸药 -tile.silo_hatch.name=发射井舱门 -tile.silo_hatch_large.name=大型发射井舱门 -tile.sliding_blast_door.name=滑动防爆门 -tile.solar_mirror.name=定日镜 -tile.soyuz_capsule.name=货物着陆舱 -tile.soyuz_launcher.name=联盟号发射平台 -tile.spikes.name=地刺 -tile.snowglobe.name=雪景球 -tile.spotlight_incandescent.name=罩灯 -tile.spotlight_fluoro.name=荧光灯 -tile.spotlight_halogen.name=卤素泛光灯 -tile.stalactite.asbestos.name=石棉钟乳石 -tile.stalactite.sulfur.name=含硫钟乳石 -tile.stalagmite.asbestos.name=石棉石笋 -tile.stalagmite.sulfur.name=含硫石笋 -tile.steel_beam.name=钢梁 -tile.steel_corner.name=钢墙角 -tile.steel_grate.name=钢格栅 -tile.steel_grate_wide.name=物品格栅 -tile.steel_grate_wide.desc=只会让物品和经验球掉落下去 -tile.steel_poles.name=钢杆 -tile.steel_roof.name=钢天花顶 -tile.steel_scaffold.name=钢脚手架 -tile.steel_wall.name=钢墙 -tile.stone_cracked.name=破碎的石头 -tile.stone_depth.name=深层岩石 -tile.stone_depth_nether.name=下界深层岩石 -tile.stone_keyhole.name=奇怪的石头 -tile.stone_gneiss.name=石墨页岩 -tile.stone_porous.name=多孔石 -tile.stone_resource.asbestos.name=温石棉 -tile.stone_resource.bauxite.name=铝土矿 -tile.stone_resource.hematite.name=赤铁矿 -tile.stone_resource.limestone.name=石灰石 -tile.stone_resource.malachite.name=孔雀石 -tile.stone_resource.sulfur.name=硫磺石 -tile.struct_icf_core.name=ICF反应堆核心组件 -tile.struct_iter_core.name=聚变反应堆核心组件 -tile.struct_launcher.name=发射台部件 -tile.struct_launcher_core.name=紧凑型发射台核心组件 -tile.struct_launcher_core_large.name=发射台核心组件 -tile.struct_plasma_core.name=等离子加热器核心组件 -tile.struct_scaffold.name=发射台骨架 -tile.struct_soyuz_core.name=联盟号发射器核心组件 -tile.struct_watz_core.name=Watz发电厂核心组件 -tile.substation.name=变电站 -tile.sulfuric_acid_block.name=硫酸 -tile.taint.name=腐质 -tile.taint_barrel.name=IMP残渣桶 -tile.tape_recorder.name=录音机 -tile.tektite.name=熔融石 -tile.teleanchor.name=传送锚 -tile.tesla.name=特斯拉线圈 -tile.test_nuke.name=测试核弹 -tile.therm_endo.name=吸热炸弹 -tile.therm_exo.name=放热炸弹 -tile.tile_lab.name=实验室瓷砖 -tile.tile_lab_broken.name=破损实验室瓷砖 -tile.tile_lab_cracked.name=开裂实验室瓷砖 -tile.tnt_ntm.name=货真价实的TNT -tile.toxic_block.name=绿色软泥 -tile.transition_seal.name=巨型安全门 -tile.turret_arty.name=重炮炮塔“格雷格” -tile.turret_cheapo.name=奇普-加特林哨兵 -tile.turret_chekhov.name=重机枪炮塔“契诃夫的枪” -tile.turret_cwis.name=Mk-15“密集阵”近防系统 -tile.turret_flamer.name=喷火炮塔 -tile.turret_friendly.name=轻机枪炮塔“友好先生” -tile.turret_fritz.name=重型火焰喷射器炮塔“弗里茨” -tile.turret_heavy.name=重型机枪炮塔 -tile.turret_himars.name=火箭炮塔“亨利” -tile.turret_howard.name=双联守门员近防系统“霍华德” -tile.turret_howard_damaged.name=CIWS双联守门员近防系统 "玛士撒拉" -tile.turret_jeremy.name=重炮炮塔“杰里米” -tile.turret_light.name=轻型机枪炮塔 -tile.turret_maxwell.name=高能微波炮塔 "麦克斯韦" -tile.turret_rocket.name=火箭炮塔 -tile.turret_richard.name=火箭炮塔“理查德” -tile.turret_spitfire.name=目前没有名字[开发中] -tile.turret_sentry.name=哨兵炮塔“布朗” -tile.turret_sentry_damaged.name=哨兵炮塔"埃德温" -tile.turret_tau.name=陶子炮塔 -tile.turret_tauon.name=XVL1456原型陶子发射器炮塔"陶恩" -tile.vacuum.name=真空 -tile.vault_door.name=避难所防爆门 -tile.vent_chlorine.name=氯气排气口 -tile.vent_chlorine_seal.name=氯气容器 -tile.vent_cloud.name=云排气口 -tile.vent_pink_cloud.name=粉雾排气口 -tile.vinyl_tile.large.name=大型乙烯基瓷砖 -tile.vinyl_tile.small.name=小型乙烯基瓷砖 -tile.vitrified_barrel.name=玻璃化核废料桶 -tile.volcanic_lava_block.name=火山熔岩 -tile.volcano_core.name=火山核心 -tile.volcano_rad_core.name=放射性火山核心 -tile.waste_earth.name=死亡草地 -tile.waste_leaves.name=枯叶 -tile.waste_log.name=烧焦原木 -tile.waste_mycelium.name=发光菌丝 -tile.waste_planks.name=烧焦木板 -tile.waste_trinitite.name=核融玻璃矿石 -tile.waste_trinitite_red.name=红色核融玻璃矿石 -tile.watz.name=Watz发电厂 -tile.watz_conductor.name=Watz电力端口 -tile.watz_control.name=加强控制棒 -tile.watz_cooler.name=Watz反应堆高效冷却器 -tile.watz_core.name=Watz反应堆控制器 -tile.watz_element.name=Watz反应室 -tile.watz_end.name=Watz反应堆稳定元件 -tile.watz_end_bolted.name=Watz反应堆稳定元件(铆接) -tile.watz_hatch.name=Watz反应堆端口 -tile.watz_pump.name=Watz压力泵 -tile.yellow_barrel.name=核废料桶 -tile.zirnox_destroyed.name=损毁的ZIRNOX - -tile.large_vehicle_door.name=大型机械门 -tile.water_door.name=水闸门 -tile.qe_containment.name=QE安全门 -tile.qe_sliding_door.name=QE滑动门 -tile.round_airlock_door.name=圆形气闸门 -tile.secure_access_door.name=安全检修门 -tile.sliding_seal_door.name=滑动密封门 - -trait.asbestos=石棉 -trait.blinding=致盲 -trait.coal=煤尘 -trait.digamma=迪伽马辐射 -trait.drop=掉落物危险 -trait.explosive=高度易燃/易爆 -trait.furnace=可在核熔炉中工作 %s 次 -trait.heat=提供 %s 热量 -trait.hlParticle=粒子半衰期: %s -trait.hlPlayer=玩家半衰期: %s -trait.hot=自燃/高温 -trait.hydro=与水反应 -trait.radioactive=放射性 -trait.radResistance=辐射抗性: %s - -trait.rbmk.coreTemp=核心温度: %s -trait.rbmk.depletion=燃料消耗: %s -trait.rbmk.diffusion=扩散度: %s -trait.rbmk.fluxFunc=中子放射函数: %s -trait.rbmk.funcType=中子放射函数类型: %s -trait.rbmk.heat=每接受一个中子产生的热量: %s -trait.rbmk.melt=熔点: %s -trait.rbmk.neutron.any=所有中子 -trait.rbmk.neutron.fast=快中子 -trait.rbmk.neutron.slow=慢中子 -trait.rbmk.skinTemp=表面温度: %s -trait.rbmk.source=自燃 -trait.rbmk.splitsInto=裂变后释放出: %s -trait.rbmk.splitsWith=裂变需要: %s -trait.rbmk.xenon=氙元素堆积程度: %s -trait.rbmk.xenonBurn=氙元素燃烧函数: %s -trait.rbmk.xenonGen=氙元素产生函数: %s - -trait.rbmx.coreTemp=核心熵: %s -trait.rbmx.depletion=衰变: %s -trait.rbmx.diffusion=能量潮涌: %s -trait.rbmx.fluxFunc=F迪伽马粒子放射函数: %s -trait.rbmx.funcType=F迪伽马粒子放射函数类型: %s -trait.rbmx.heat=满功率下每刻产生的热量: %s -trait.rbmx.melt=崩溃深度: %s -trait.rbmk.neutron.any.x=所有非欧几里德形时空平面 -trait.rbmk.neutron.fast.x=椭圆非欧几里德形时空平面 -trait.rbmk.neutron.slow.x=双曲非欧几里德形时空平面 -trait.rbmx.skinTemp=表面熵: %s -trait.rbmx.source=自燃 -trait.rbmx.splitsInto=释放: %s -trait.rbmx.splitsWith=接受: %s -trait.rbmx.xenon=铅元素堆积程度: %s -trait.rbmx.xenonBurn=铅元素寂灭函数: %s -trait.rbmx.xenonGen=铅元素产生函数: %s - -trait.tile.cluster=只有在被玩家破坏时才会掉落 -trait.tile.depth=只能被爆炸破坏 - -tool.ability.centrifuge=自动离心 -tool.ability.crystallizer=自动结晶 -tool.ability.explosion=爆破 -tool.ability.hammer=范围挖掘 -tool.ability.luck=时运 -tool.ability.mercury=水银提取 -tool.ability.midas=点石成金 -tool.ability.recursion=连锁挖矿 -tool.ability.shredder=自动粉碎 -tool.ability.silktouch=精准采集 -tool.ability.smelter=自动熔炼 - -turret.animals=被动目标:%s -turret.arty.artillery=§e火炮模式$最低射程: 250m$最大射程: 3,000m -turret.arty.cannon=§e炮塔模式$最低射程: 32m$射程: 250m -turret.arty.manual=§e手动模式$射程: 3,000m -turret.machines=以机械为目标: %s -turret.mobs=以怪物为目标: %s -turret.none=无 -turret.off=关 -turret.on=开 -turret.players=以玩家为目标:%s - -upgrade.acid=流体需求量 %s -upgrade.burn=燃烧内部天然气 %smB/t,产能 %sHE/t -upgrade.consumption=消耗 %s -upgrade.coolantConsumption=冷却剂消耗 %s -upgrade.delay=工作时间 %s -upgrade.efficiency=效率 %s -upgrade.fortune=时运 %s -upgrade.overheatChance=过热几率 %s -upgrade.range=范围 %s - -upgrade.gui.title=§l接受的升级:§r -upgrade.gui.afterburner= * §d加力燃烧§r:叠加至%s级 -upgrade.gui.effectiveness= * §a效率§r:叠加至%s级 -upgrade.gui.overdrive= * §7超速传动§r:叠加至%s级 -upgrade.gui.power= * §9节能§r:叠加至%s级 -upgrade.gui.speed= * §4速度§r:叠加至%s级 - -wavelengths.name.ir=红外线 -wavelengths.name.visible=可见光 -wavelengths.name.uv=紫外线 -wavelengths.name.gamma=伽马射线 -wavelengths.name.drx=迪伽玛 -wavelengths.waveRange.ir=780nm-1mm -wavelengths.waveRange.visible=400nm-780nm -wavelengths.waveRange.uv=100nm-400nm -wavelengths.waveRange.gamma=<100pm -wavelengths.waveRange.drx=1916169普朗克长度 - -weapon.ability.beheader=斩首 -weapon.ability.bobble=收藏家之运 -# Should rhyme with the translation for "chainsaw" -weapon.ability.chainsaw=痛苦面"锯" -weapon.ability.fire=燃烧 -weapon.ability.radiation=辐射 -weapon.ability.phosphorus=白磷刀刃 -weapon.ability.stun=震撼 -weapon.ability.vampire=吸血 -weapon.elecGun.modeChange=开火模式更改为: -weapon.elecGun.glass_cannon.radio=无线电波 -weapon.elecGun.glass_cannon.micro=微波 -weapon.elecGun.glass_cannon.ir=红外线 -weapon.elecGun.glass_cannon.visible=可见光 -weapon.elecGun.glass_cannon.uv=紫外线 -weapon.elecGun.glass_cannon.xray=X射线 -weapon.elecGun.glass_cannon.gamma=伽马射线 - -#Stuffs that Bob doesn't provide translation for -item.gun_vortex.name=涡流 -tile.crystal_power.name=能量水晶 -tile.crystal_energy.name=能量水晶 -tile.crystal_robust.name=坚固的水晶 -tile.crystal_trixite.name=赛瑞克水晶 \ No newline at end of file +achievement.acidizer.desc=噢,我的皮肤 +achievement.acidizer=酸 +achievement.assembly.desc=等等,已经凌晨1点了? +achievement.assembly=这家工厂正在成长 +achievement.FOEQ.desc=向火星传送信号!...其实我是说Duna +achievement.FOEQ=飞马座运载火箭和发射架 +achievement.breeding.desc=谢谢你们,上帝保佑你们,上帝保佑美利坚合众国。 +achievement.breeding=反话 +achievement.bismuth.desc=还记得那时候有人为这个抱怨了一个月吗?我还记得。 +achievement.bismuth=铋 +achievement.blastFurnace.desc=他们为制造探险者1号去打捞了一艘沉没的无畏舰。 +achievement.blastFurnace=煤和铁 +achievement.bossCreeper.desc=核爆爬行者? 那是个什么玩意?! +achievement.bossCreeper=四条腿的行走核弹 +achievement.bossMaskman.desc=淦飞那个大男孩 +achievement.bossMaskman=6个月的强制服务,我只得到一件糟糕的T恤 +achievement.bossMeltdown.desc=比伟大更可怕,但我会竭尽所能 +achievement.bossMeltdown=3.6伦琴 +achievement.bossWorm.desc=只是一条金属小蚯蚓罢了。 +achievement.bossWorm=拆掉机械蠕虫 +achievement.bossUFO.desc=哟,那是啥东西?一艘正接近我们工事的巨大飞船? +achievement.bossUFO=呀哈哈哈,笑死我了 +achievement.burnerPress.desc=压力压在你我身上 +achievement.burnerPress=压力之下 +achievement.c20_5.desc=??? +achievement.c20_5=第[二十点五]章 +achievement.c44.desc=镀锌!我是说,锌! +achievement.c44=第四十四章 +achievement.centrifuge.desc=离心力是真的 别@我 +achievement.centrifuge=向心力 +achievement.chemplant.desc=现在你在考虑化学物质! +achievement.chemplant=这家工厂正在成长 Pt.2 +achievement.chicagoPile.desc=“当地人怎么样?” / “非常友好。” +achievement.chicagoPile=领航员在新大陆着陆 +achievement.concrete.desc=布尔什维克的最爱。 +achievement.concrete=可靠的老伙计 +achievement.desh.desc=“来吧,你们这群人。有地方可去!” +achievement.desh=勒威耶 +achievement.digammaFeel.desc=我的眼睛在流血 +achievement.digammaFeel=废水侵袭的废土世界 +achievement.digammaKauaiMoho.desc=一切都糟透了,这里有些热巧克力 +achievement.digammaKauaiMoho=唱吧,为我唱出奥亚吸蜜鸟的歌声吧 +achievement.digammaKnow.desc=关于这个世界 +achievement.digammaKnow=知晓的恐惧 +achievement.digammaSee.desc=里面有点黑,带个手电筒。 +achievement.digammaSee=踏入深渊 +achievement.digammaUpOnTop.desc=仰慕我的儿子,他是我的克隆人. +achievement.digammaUpOnTop=仰慕我,仰慕我的家 +achievement.fiend.desc=卑鄙 +achievement.fiend2.desc=更卑鄙 +achievement.fiend2=残忍2:更残忍 +achievement.fiend=残忍 +achievement.freytag.desc=英勇的救生员 +achievement.freytag=弗赖塔格 +achievement.fusion.desc=氘核、氚核与能量的舞蹈。 +achievement.fusion=聚合 +achievement.gasCent.desc=未浓缩铀讨厌他! +achievement.gasCent=齐佩式离心 +achievement.goFish.desc=把鱼钉在十字架上 +achievement.goFish=去钓鱼 +achievement.hidden.desc=使用一节坠落的车厢杀死一只污染苦力怕 +achievement.hidden=隐藏目录 +achievement.horizonsBonus.desc=说实话,你到底怎么了 +achievement.horizonsBonus=地平线! +achievement.horizonsEnd.desc=送他回家 +achievement.horizonsEnd=地平线。 +achievement.horizonsStart.desc=将一个小伙子送上月球 +achievement.horizonsStart=地平线? +achievement.impossible.desc=你不可能取得该成就 +achievement.impossible=字面上的不可能 +achievement.inferno.desc=“把它变成灰烬!这还不够!投更多的炸弹!” +achievement.inferno=食人行动 +achievement.manhattan.desc=1945年8月6日 8:15 +achievement.manhattan=曼哈顿计划 +achievement.meltdown.desc=你走了这么远,怎么能把事情搞砸? +achievement.meltdown=快速非计划拆卸 +achievement.no9.desc=“我希望我开采的铅能被用在你的油漆里” +achievement.no9=旧数字9 +achievement.omega12.desc=解决在这个可怜的星球上继续生存的问题 +achievement.omega12=欧米伽-12粒子加速器 +achievement.polymer.desc=美味、美味的微塑料。 +achievement.polymer=特氟隆 +achievement.potato.desc=你居然捅我!你怎—喔哦哦哦哦哦! +achievement.potato=流氓AI +achievement.radDeath.desc=居里夫人开创了放射性理论、放射性治疗和放射性死亡。 +achievement.radDeath=噢, 辐射! +achievement.radium.desc=你 因 为 往 我 的 咖 啡 里 倒 镭 而 被 解 雇 了 ! +achievement.radium=不可思议先生 +achievement.radPoison.desc=受辐射中毒的影响 +achievement.radPoison=呀, 辐射! +achievement.RBMKBoom.desc=谎言的代价是什么? +achievement.RBMKBoom=是15000伦琴辐射 +achievement.RBMK.desc=他有妄想症,带他去医务室。 +achievement.RBMK=3.6伦琴? +achievement.redBalloons.desc=“这就是我们一直在等待的。就是这样,孩子们,这就是战争。” +achievement.redBalloons=99个红气球 +achievement.redRoom.desc=? +achievement.redRoom=另一边 +achievement.sacrifice.desc=直面火海并存活 +achievement.sacrifice=牺牲 +achievement.schrab.desc=不管怎样,我不会看太久。 +achievement.schrab=稳定岛 +achievement.selenium.desc=耶! +achievement.selenium=XVIII 月亮女神 +achievement.SILEX.desc=我保证这比听起来更酷。 +achievement.SILEX=激光激发法分离同位素 +achievement.slimeball.desc=粘液球 +achievement.slimeball=我应该把蛋蛋浸在硫酸里。 +achievement.stratum.desc=快刹车,Mitts! +achievement.stratum=岩层 +achievement.someWounds.desc=准备好 +achievement.someWounds=有些伤口永远无法愈合 +achievement.soyuz.desc=变得松脆 +achievement.soyuz=土豆烹饪 +achievement.space.desc=屡试屡败,浪费了价值9000万美元的资金 +achievement.space=最后的边疆——呃,算了吧 +achievement.sulfuric.desc=硫酸 +achievement.sulfuric=我不应该把蛋蛋浸在硫酸里的。 +achievement.tantalum.desc=一个难以捉摸但却永远需要的元素。 +achievement.tantalum=钽 +achievement.tasteofblood.desc=这不是任何测试的一部分 +achievement.tasteofblood=血的味道 +achievement.technetium.desc=它是药用的,它是药用的! +achievement.technetium=大个子,猪人 +achievement.watzBoom.desc=下次记得把毒泥浆容器清空 +achievement.watzBoom=令人厌恶 +achievement.watz.desc=可能包括Fólkvangr弗尔克范格场 +achievement.watz=126号元素的力量 +achievement.witchtaunter.desc=那些古怪的生物对你毫无兴趣! +achievement.witchtaunter=巫婆陶恩特 +achievement.ZIRNOXBoom.desc=生气了吗? +achievement.ZIRNOXBoom=CIRNOX +analyze.basic1=========NTM组件======== +analyze.basic2=更多信息请参阅Wiki。 +analyze.basic3=========附加信息======== +analyze.dummy=类型:Dummy Block +analyze.error=此方块的兼容性未正确设定。请将此问题作为Bug反馈! +analyze.name=名称:%s +analyze.noInfo=无附加信息。 +armor.blastProtection=修正 %s 的爆炸伤害 +armor.cap=伤害上限 %s +armor.damageModifier=修正 %s 对 %s 的伤害 +armor.dash=给予 %s 次冲刺 +armor.electricJetpack=离子喷射背包 +armor.explosionImmune=免疫除爆炸伤害外的一切伤害 +armor.fasterReload=快速装填 +armor.fastFall=快速降落 +armor.fireproof=防火 +armor.fullSetBonus=全套效果: +armor.geigerHUD=盖革计数器HUD +armor.geigerSound=盖革计数器警报 +armor.glider=滑翔 +armor.gravity=重力修正 %s +armor.hardLanding=硬着陆 +armor.ignoreLimit=防御值不受防御上限的影响 +armor.modifier=伤害修正 %s +armor.moreAmmo=更多弹药 +armor.nullDamage=免疫 %s 伤害 +armor.projectileProtection=免疫 %s 的弹射物伤害 +armor.rocketBoots=火箭靴 +armor.sprintBoost=冲刺辅助加速 +armor.stepSize=步长:%s +armor.thermal=热成像 +armor.threshold=伤害阈值 %s +armor.vats=敌对生物HUD +armor.yield=抵御低于%s的伤害 +armorMod.all=所有 +armorMod.applicableTo=适用于: +armorMod.boots=靴子 +armorMod.chestplates=胸甲 +armorMod.helmets=头盔 +armorMod.insertHere=插入装甲以改装。。。 +armorMod.leggings=护腿 +armorMod.type.battery=电池 +armorMod.type.boots=靴子 +armorMod.type.chestplate=胸甲 +armorMod.type.cladding=覆层 +armorMod.type.helmet=头盔 +armorMod.type.insert=插板 +armorMod.type.leggings=护腿 +armorMod.type.servo=伺服电机 +armorMod.type.special=特殊 +battery.mode.buffer=输入/输出模式 +battery.mode.input=输入模式 +battery.mode.off=关闭 +battery.mode.output=输出模式 +battery.priority.high=充电优先级:高 +battery.priority.high.desc=总是需要优先装满的紧急缓冲区 +battery.priority.low=充电优先级:低 +battery.priority.low.desc=在大多数情况下,需要在不影响机器性能的情况下$存储剩余的能量 +battery.priority.normal=充电优先级:正常 +battery.priority.normal.desc=较小的电网,其优先级无关紧要 +battery.priority.recommended=推荐用于: +battery.redstone.off=红石 关 +battery.redstone.on=红石 开 +bomb.detonated=成功引爆! +bomb.incompatible=设备无法触发! +bomb.launched=发射成功! +bomb.missingComponent=组件丢失! +bomb.nobomb=链接位置不兼容或已断开! +bomb.triggered=触发成功! +book.test.cover=停车坐爱枫林晚 +book.test.page1=测试页面1 +book.error.cover=粒子对撞机:$故障排除 +book.error.title1=错误 0x01 [能量不足] +book.error.page1=§l错误类型:§r “错误_能量不足” §l描述:§r 粒子到达了能量不足的部分。 §l修复方式:§r 用更高级的电源接口替换粒子成功通过的 其中一个电源接口,或者在粒子终止的段之前额外添加多一个电源接口。 +book.error.title2=错误 0x02 [无法分析] +book.error.page2=§l错误类型:§r “错误_无法分析” §l描述:§r 尽管没有通过分析室,但粒子已经到达核心。 §l修复方式:§r 确保加速器有一个分析室,并再次检查工作模式(线性/环形)。 +book.error.title3=错误 0x03 [通道阻塞] +book.error.page3=§l错误类型:§r “错误_通道阻塞” §l描述:§r 粒子与对撞机通道内的方块碰撞。 §l修复方式:§r 确保粒子对撞机内部没有任何障碍物, 粒子二极管和核心块除外。 +book.error.title4=错误 0x04 [缺少线圈] +book.error.page4=§l错误类型:§r “错误_缺少线圈” §l描述:§r 粒子通过了缺少一个或多个线圈的段。 §l修复方式:§r 移除冲突区域的对撞机镀层,并检查线圈结构是否完整。 这种错误也会发生在没有二极管的T型交叉口上。 +book.error.title5=错误 0x05 [错误区段] +book.error.page5=§l错误类型:§r “错误_错误区段” §l描述:§r 粒子通过了一个结构不正确的段(但既没有被阻塞也没有缺少线圈)。 §l修复方式:§r 确保有问题的部分都有镀层包裹,没有线圈暴露。 +book.error.title6=错误 0x06 [分析室过长] +book.error.page6=§l错误类型:§r “错误_分析室过长” §l描述:§r 粒子已通过三个以上所需的有效分析室段。 §l修复方式:§r 确保环形加速器的分析室长度正好为3个方块, 直线加速器的分析室长度至少为2个方块。 还要检查粒子是否未通过分支或 环形加速器中的多个分析室。 +book.error.title7=错误 0x07 [分析室过短] +book.error.page7=§l错误类型:§r “错误_分析室过短” §l描述:§r 粒子已离开分析室,尽管不符合长度要求。 §l修复方式:§r 确保环形加速器上的分析室正好有3个方块长。 有效的分析段没有线圈,镀层完全由分析室壁/窗组成。 带有线圈的分析室被视为规则段。 +book.error.title8=错误 0x08 [二极管方向错误] +book.error.page8=§l错误类型:§r “错误_二极管方向错误” §l描述:§r 该粒子与肖特基粒子二极管的非输入侧碰撞。§l修复方式:§r 检查二极管的配置是否正确。 粒子只能从带有绿色向内箭头的侧面进入二极管。 +book.error.title9=错误 0x09 [多处分支] +book.error.page9=§l错误类型:§r “错误_多处分支” §l描述:§r 粒子到达具有多个出口的转弯处。§l修复方式:§r 如果你的对撞机是正常的,检查所有需要的线圈是否都存在(即线圈中没有缺漏)。如果转弯处打算进行分支,则需要正确放置的肖特基粒子二极管。 +book.rbmk.cover=$我的第一个$RBMK石墨式反应堆:$建造一个$反应堆$的基础知识 +book.rbmk.title1=介绍 +book.rbmk.page1=§lRBMK石墨式反应堆§r是一个完全模块化的核反应堆. 与大多数其他反应堆不同的是, 该反应堆没有“多方块结构核心”和尺寸上的限制, 而反应堆的性能和效率仅取决于你是如何建造它的, 以及各个组件如何相互作用. +book.rbmk.title2=热量 +book.rbmk.page2=当反应堆运行时, 它将会产生 §l热量§r. 热量会在各个组件之间扩散, 并在这个过程中会慢慢减少. 我们的目标是在不让反应堆熔化的情况下 产生尽可能多的热量, 并将热量传递到蒸汽管道中, 从而冷却反应堆并产生蒸汽. +book.rbmk.title3=燃料棒 +book.rbmk.page3=反应堆中的 §l燃料棒§r 将捕获周围的中子, 使棒内的燃料发生核反应, 并在此过程中释放中子. 中子会向四个方向释放, 最大释放范围为5格. 释放中子量的多少取决于所用的核燃料. +book.rbmk.title4=控制棒 +book.rbmk.page4=反应堆中的 §l控制棒§r 将减少中子通过它的数量. 完全插入时, 它会阻挡所有中子; 当插入一半时, 它只会阻挡一半中子. 控制棒用于调节反应堆的活跃状态和使其关闭. +book.rbmk.title5=控制棒 - 使用 +book.rbmk.title5.scale=0.9 +book.rbmk.page5=当前控制棒插入的程度将显示在GUI的中心. 边的彩色按钮将把控制棒添加到不同的颜色组中, 这对于在 §lRBMK石墨式反应堆§r 控制台上快速选择屏幕上不同区域的控制棒非常有用. 右侧的按钮允许您以每次25%的增量手动插入. +book.rbmk.title6=自动控制棒 +book.rbmk.page6=§L自动控制棒§r 与常规控制棒几乎相同, 但它们不能手动调整, 而是根据当前温度来调整控制棒插入的程度. 使用哪种功能, 在多少的温度插入多少的深度必须被事先设定好. +book.rbmk.title7=蒸汽管道 +book.rbmk.page7=反应堆中的 §l蒸汽管道§r 是唯一能有效降低反应堆热水平的组件. 如果一个蒸汽管道组件的沸点高于其设定的蒸汽类型的沸点, 那么它将试图消耗尽可能多的水 并产生尽可能多的蒸汽来冷却到沸点以下. +book.rbmk.title8=碳化钨中子反射器 +book.rbmk.page8=反应堆中的 §l碳化钨中子反射器§r 将阻止中子的通过, 相反,中子将被反射回它们来自的燃料棒上. 这对于使用中子是有用的, 否则这些中子一旦离开反应堆就会被浪费掉. +book.rbmk.title9=硼中子吸收器 +book.rbmk.page9=§l硼中子吸收器§r 只是阻挡中子. 被吸收的中子不会产生热量,会被有效地吸收. 这有助于防止燃料棒发生过度反应从而超出临界值. +book.rbmk.title10=石墨慢化剂 +book.rbmk.page10=§l石墨慢化剂§r 把穿过它的快中子转换成慢中子. 大多数核燃料反应释放出快中子, 而引起裂变需要慢中子, 所以强烈建议使用慢化剂. +book.rbmk.title11=结构柱 +book.rbmk.page11=§l结构柱§r 对中子没有任何影响也没有任何特殊用途. 建议在没有其他合适组件的情况下用结构柱填充反应堆, 因为结构柱能够传热. +book.rbmk.title12=控制台 +book.rbmk.page12=§lRBMK石墨式反应堆控制台§r 允许你远程控制反应堆. 使用 §lRBMK石墨式反应堆连接装置记录反应堆§r 然后潜行右击控制台就能把反应堆和控制台连接起来. 一个控制台只能控制15x15个组件, 对于大型反应堆可以使用多个控制台. +book.rbmk.title13=控制台的使用 +book.rbmk.page13=单击屏幕上的组件将选择或取消选择它们. 使用彩色按钮,可以快速选择该颜色组中的所有控制棒. 按钮“A”将选择所有控制棒, “X”将取消选择所有控制棒. +book.rbmk.page14=在绿色框中输入一个介于0和100之间的数字, 然后按下旁边的按钮, 将所有选定的控制棒拔出程度设置到该位置. 按钮“AZ-5”将使所有控制棒完全插入. +book.rbmk.title15=核燃料 +book.rbmk.page15=§l核燃料§r 的反应取决于许多因素. 主要是 §l核燃料强度§r, §l氙中毒程度§r 和接收到的 §l中子数量§r. 氙元素会在核燃料的中子含量较低时积聚起来, 并在正常运行时燃烧殆尽. 中子的效率取决于其类型, 大多数核燃料 §l用慢中子轰击来裂变效果最好§r. +book.rbmk.title16=熔毁 +book.rbmk.page16=§4§l尽量避免发生, 你不会想让这样一场核灾难发生在你的存档或服务器里的. +book.starter.cover=重建$社会的实业家$指南 +book.starter.title1=介绍 +book.starter.page1=如果你正在读这篇文章,很可能社会已经因这样或 那样的方式完全崩溃了。政府、国家和权威是过去的概念, 以及文明生活的所有便利设施。因此,本指南将 告诉您如何通过重新创造过去的行业和技术 来改善自己的生活,从而改变这种状况。 +book.starter.title2=煤和芥子气 +book.starter.page2=虽然无法预测世界末日后的实际状态, 但目前形式的战争和工业不太可能没有结束。 为了保护自己的肺部,一种有效且廉价的方法是 在§L布§r上小便,制作一个§L防毒面具§r, 以使你免受煤尘或芥子气的伤害. +book.starter.title3=铁砧和锻压机 +book.starter.page3=开始工业振兴的精髓是§l砧§r和§l火力锻压机§r. 铁砧将允许您手动组合早期机械,如组装机, 而火力锻压机将允许您制作 无法用铁砧制作的板材、电线和电路. +book.starter.title4=模板 +book.starter.page4=为了将金属冲压成有用的 形状、组装机械和执行 化学反应,您需要创建 一个§L机器模板文件夹§r, 以创建右侧显示的 各种锻模以及配方。 +book.starter.title5=废墟探索 +book.starter.page5=根据最初的世界末日事件对世界现有结构的影响程度, 有可能直接从中抢救出许多有用的材料和机器。 钢铁等金属合金、电路等部件,甚至核电站的 裂变材料都可能在等着你。 然而,要小心某些废墟,因为那里可能潜伏着过度的危险, 就像草丛中的蛇一样; 等待着用辐射、陷阱或无法形容的恐怖袭击你... +book.starter.title6=早期机械 +book.starter.page6a=您应首先制造的两台机器是§l高炉§r和§l装配机§r. 前者允许您制造合金,如§L钢§r、§l工业级铜§r和§l高级合金§r; 你需要将这些金属用于机器的机身、 电路的布线、高级电磁铁等. +book.starter.page6b=装配机将用于制造本指南中描述的几乎所有其他机器. 您需要一个电源,如§L火力§r§L发电机§r或§L太阳能锅炉§r. +book.starter.page7a=§l粉碎机§r以及一对粉碎机刀片将会非常有用, 能将大多数矿石粉碎成可熔炼的粉末,使其产量提高一倍. 这些粉末对于开始为各种机器制作电路也至关重要, 例如§l增强电路§r和§l超频电路§r。 +book.starter.page7b=使用您的新机器,您可以制造§L化工厂§r, 用于合成更好的电路、混凝土或进行石化产品加工等。 +book.starter.title8=黑金 +book.starter.page8a=使用§l石油§l储层§r§l探测仪§r, 您可以通过测量一个区域 来发现地下的油岩以 放置§l石油钻机§r或 §l钻油塔§r来开采 记住,石油储备会随着时间 的推移而耗尽 +book.starter.page8b=在§l炼油厂§r中提炼和分离石油 成分之前,你必须在§l锅炉§r中将 石油加热至300°C. +book.starter.title9=石油化工产品 +book.starter.page9=使用§l化工厂§r, §l分馏§r§l塔§r和§l催化裂化§r§l塔§r, 你可以将分离出的油转化为各种有用的产品. §l催化裂化§r§l塔§r, 可以将分离出的油转化为各种有用的产品。 例如:§l聚合物§r或§l电木§r, 耐用又柔性的塑料; §lDesh§r, 一种非常耐用和耐热的稀土金属合金; §l固体燃料§r, 可燃烧获取能量; 甚至是§l液体燃料§r, 比如§l汽油§r, §l柴油§r, §l煤油§r等等。 +book.starter.title10=先进的机械 +book.starter.page10=通过一套成熟的石油加工系统,您可以制造§l离心机§r, 这将使矿石的产量增加三倍; §l矿物§l结晶机§r将 矿石结晶后,产量将进一步提高; 以及§lSILEX同位素激光分离室+§lFEL§r, 这两个现代工程的奇迹可以轻松地分离材料的同位素. 你需要更多的能量来驱动这些; 可通过§l柴油发电机§r,§l工业发电机§r, 甚至核反应堆等来源获取更多的能量。 +book.starter.title11=特殊地层 +book.starter.page11=在你行走的地面之下,有几个 自然形成的§l岩层§r,或者说特殊的 矿层和岩层。 §l片岩地层§r是蓝色的含锂层, 其中有铀、铁、铜、石棉和其他矿石 可供你使用。 §l深层岩石§r含有大量稀有矿物, 如§l锆§r、§l硼§r和§l朱砂§r等, 但你需要炸药才能采集 +book.starter.title12=辐射 +book.starter.page12a=本书其余部分将讨论与辐射有关的问题。 为了您和他人的安全,我将提供一些建议以说明如何缓解和处理暴露于此的风险。 +book.starter.page12b=充分暴露在辐射中会导致身体伤害. 第一步是预防; 一定要限制接触,并穿戴防护装备,如§l防辐射套装§r, 或在衣服或盔甲上加装§l防辐射覆层/涂料§r; 你也可以服用§lRad-X防辐射药§r来限制你的辐射量. 多亏了现代医学,第二步可以在必要时移除; 例如,§l玩家§l去污器§r将缓慢减少身体吸收的辐射. §l消辐宁§r还可以用作暴露后预防,快速有效地逆转 电离辐射对身体造成的损害。 +book.starter.title13=铀浓缩 +book.starter.page13=核反应堆的燃料有几个简单的选择; 例如,§l天然铀§r或§l钍燃料§r。 然而, 如果你寻找更强力的东西,你可以设置两台§l气体离心机§r 的浓缩级联,用剩余的§l铀-238§r生产§l铀燃料§r. 你必须将天然铀转化为§l黄饼§r,然后是§l六氟化§l铀§r. +book.starter.title14=芝加哥反应堆 +book.starter.page14=或者,您可以使用§l芝加哥反应堆§r从天然铀中增殖出 §l反应堆级钚§r,这是一种更强大的燃料. 通过堆叠石墨块并在其中钻孔,您可以将燃料棒插入钚 和中子源棒,例如§l镭226-铍中子源§r,以开始反应. 确保测试你的设计;为防止过热, 可能需要隔开或限制石墨块的数量。 +book.starter.title15=ZIRNOX锆诺克斯 +book.starter.page15=最终,你可以制造你的第一个§o真正§r的能源来源: §lZIRNOX§r核反应堆. 与其他能量源相比,核反应堆需要更多的准备; 首先,你需要有一个强悍的水源,比如§l重型§l无限水罐§r. 要从反应堆堆芯中排出热量并将水煮沸成蒸汽, 你需要足够的§l二氧化碳§r. 你只需要足够的压力, 不要让压力§o太§r大! 你还需要三个蒸汽涡轮机来利用产生的蒸汽来制造能量; §l蒸汽§l轮机§r或§l大型工业§l汽轮机§r将是最佳的. 最后,需要一个§l冷凝器§r或§l冷却塔§r来将残余蒸汽冷凝成水, 在这个冷却回路中可以将其排空或回收。 +book.starter.title16=结论 +book.starter.page16=如果你已经走到了这一步,你已经走在重建文明大道上了. 你已经成功地用核能, 石油化工等重新制造了世界末日前的那些先进机器. 我不知道你将如何利用这些新发现的科技, 但我个人希望你利用这些优势是为了自己和他人的利益 - 或者至少是为了自卫. 再见! +book.starter.title18=关于作者 +book.starter.page18=v?r只是一个被困在“传声头像”的§o《一生一次》§r中的 灰色虚空中太久的人. 有一次, 他发现了一扇工作室的门, 但令他沮丧的是, 他发现那是一个纸板剪出来的 +book_lore.author=%s 著 +book_lore.test.name=测试 +book_lore.test.author=那个家伙 +book_lore.test.page.0=>哈喽 在我开始之前 我得先澄清一下 我不是同性恋 >做我 >今天晚上 >六点 >趁爸妈出去几天 我和铁哥们去外面玩 >我们成了铁哥们已经有一年了 >喝了点酒 打了很多游戏 还点了个披萨 >我们玩得正高兴 >晚上 在一个什么时候 大概九点吧 他讲了个很好笑的笑话 我记不清了 但是我记着 那笑话让我俩笑疯了 >没来得及细想 我拿手捋了捋他的头发 黑色的微卷的头发 还说他真有意思 >他脸红了 >我意识到自己慌了 >我们有点太亲密了 >突然他亲了我 不知道为什么 我亲回去了 >我们做爱了 >抱在一起睡着了 >半夜我醒了 发现他脑袋贴着我的胸和脖子 >这种感觉很奇妙 但我真的不是同性恋 +book_lore.test.page.1=我打这些字的时候他正在我 怀里睡觉。我怎么就这样让 我哥们失望了?我不想变成 [数据删除] /b/ +book_lore.test.page.2=3 +book_lore.test.page.3=4 +book_lore.test.page.4=5 +book_lore.book_iodine.name=笔记 +book_lore.book_iodine.author=戴夫 +book_lore.book_iodine.page.0=说起来你肯定不信:“风向 标”那老家伙在离开两个月 之后又重新出现了。而且更 惊人的是,他打算把那伙人 在峡谷里干的秘密勾当泄露 出去。 +book_lore.book_iodine.page.1=搞研发的那群白痴们偶然发 现了一种化合物:大部分是 无机的,很像自然界中的 毒素。但是注意:被这种毒素 杀死的细胞会产生更多的同 种毒素,并将其释放到皮肤 外面,这就产生了传染性极 强的气溶胶。 +book_lore.book_iodine.page.2=这东西像病毒但又不是病毒。 这种物质非常奇怪,你在家 随便找一个瓶子就能混合 出来,但是必须要搞对顺序。 博士告诉我,第一种原料是 粉末状碘晶体,放在 第%d格。 +book_lore.book_phosphorous.name=笔记 +book_lore.book_phosphorous.author=戴夫 +book_lore.book_phosphorous.page.0=哈喽,又是我。你应该看到 我的上一篇备忘录了吧。 博士对我写备忘录这件事有 点生气,所以我得快点写完。 那群搞研发的傻帽又开始一 个劲地抱怨,估计还是什 么钱的事。 +book_lore.book_phosphorous.page.1=对了,“风向标”博士发现了 第二种原料是红磷,应该 放在第%d格。 +book_lore.book_dust.name=笔记 +book_lore.book_dust.author=戴夫 +book_lore.book_dust.page.0=博士发现搞研发的那群呆子 还留了个样品之后气得要命, 大喊大叫了一通“总体过失” 和“世界末日”什么的。 我告诉他先冷静一下, +book_lore.book_dust.page.1=太激动对血压不好,而且他 本身就没有那么多血。那群 呆子里面的一个在上周的通 报里说漏了嘴。他们管他们 调出来的那玩意儿叫“MKU” ——管他是什么意思,而且 那玩意儿里面还有家里的 绒毛。 +book_lore.book_dust.page.2=你肯定不信,那群呆子最危 险的发明之一里面还有灰尘 ——奇怪的是,他们甚至提到 这东西应该放在第%d格。 +book_lore.book_mercury.name=笔记 +book_lore.book_mercury.author=戴夫 +book_lore.book_mercury.page.0=就是这么回事。不算吐血的 部分,毒理学报告很大程度 上呈现了汞中毒的特征。 为什么?因为那堆混合物里 也含有水银! +book_lore.book_mercury.page.1=我很好奇,这东西被细胞复 制的时候,复制出来的物质 是从哪来的? 扯远了。水银应该放到 第%d格。 +book_lore.book_flower.name=笔记 +book_lore.book_flower.author=戴夫 +book_lore.book_flower.page.0=还记得我在第一篇备忘录里 提到了“这东西大部分是无 机的”吗?你猜怎么着, 老“风向标”跟我分享了第 四样原料:一种花,学名叫 “ipomoea nil”。是牵牛花! +book_lore.book_flower.page.1=可能是由于牵牛花较低的硫 含量,用别的花都不行。 牵牛花应该放在第%d格。 +book_lore.book_syringe.name=笔记 +book_lore.book_syringe.author=戴夫 +book_lore.book_syringe.page.0=对我第五篇备忘录的一点 补充:很显然你应该找个容 器把这些MKU装进去。搞 研发的那帮疯子用的是从医 疗机构弄到的普通金属注射 器——我推测还有不少多余 的。他们弄了几千个,然后 扔的到处都是。 +book_lore.book_syringe.page.1=金属注射器 应该放在第%d格。 +book_lore.resignation_note.name=辞职信 +book_lore.resignation_note.author=科斯马 +book_lore.resignation_note.page.0=管理层昨天又对我们的部门 进行裁员了。那群白痴要怪 只能怪他们自己,我都不知 道他们在那场惨败后还在期 待什么。到底是谁他妈泄露 了那种程度的信息? +book_lore.resignation_note.page.1=我们损失了几百万,而且现 在失业的还是爷。老子希望 你们这帮混蛋最后能从你们 的一堆问题中学到点教训然 后给爷滚去自闭。 +book_lore.resignation_note.page.2=我周五不回来了。 记得把工资发我。 +book_lore.memo_stocks.name=公司内部备忘录 +book_lore.memo_stocks.page.0=投资人相关 - $ $ 上季度报告提供的数字中已 经出现了明显差异。财政部 门即使做出一些调整也是相 当谨慎的,因此无需担心。 +book_lore.memo_schrab_gsa.name=内部备忘录 +book_lore.memo_schrab_gsa.page.0=合同管理记录 - $ $ 法务部在与DLA的谈判中 取得了突破。他们批准了 450亿的联邦采购服务 总署投资资金用于异变金属 的采购与研究。 +book_lore.memo_schrab_gsa.page.1=就目前的预期,相关事项能 够带来至少40%%的利润, 以及获得未来合同的更大可 能。由于此事件的保密性质, 所有财政证据都将保持机密。 +book_lore.memo_schrab_rd.name=内部备忘录 +book_lore.memo_schrab_rd.page.0=研发 - $ $ 目前我们生产异变金属的 主要方法是使用新型粒子加 速器。然而,与产出量相比, 能源成本高得惊人。 +book_lore.memo_schrab_rd.page.1=然而,施拉鲍尔博士发现了 一种全新的相互作用—— 暂称为“奇异轻子振荡”—— 该作用可以显著降低生产 成本。通过一个目前未被完 全理解的的过程,提供的电子 被一种奇特的“魔力”转化 为极高能量的光子。 +book_lore.memo_schrab_rd.page.2=这是许多已明确的粒子转换 定律的极端例外。但初步实 验证明,这些质子先转变为 上下夸克,最终形成了异变 金属。 +book_lore.memo_schrab_rd.page.3=奇怪的是,原型机中需要钨与 少量异变金属形成的合金。 另外,原型机中也需要一个 特殊的电容器,用于消除多 余的正电荷。 +book_lore.memo_schrab_nuke.name=研究报告 +book_lore.memo_schrab_nuke.author=施拉鲍尔博士 +book_lore.memo_schrab_nuke.page.0=最近的研究将我们引至了核 爆对材料的影响。多亏了外 界的拨款,我们“意外地” 测试了我们的铀定向合成异 变金属理论。 +book_lore.memo_schrab_nuke.page.1=而此前我们只在回旋加速器 中制作出异变金属。然而, 我们在埃弗韦彭的地下实验 室的铀矿石中发现了微量的 异变金属,附近所有的纯 金属铀则都发生了裂变。 +book_lore.memo_schrab_nuke.page.2=既然如此,那么使用浓缩到 临界质量附近的铀矿石,或 者是含有大量可裂变核废料 的脏弹,都有可能在理论上 创造足以人工收集的量的 异变金属。 +book_lore.bf_bomb_1.name=私人笔记 +book_lore.bf_bomb_1.author=M. 波特 +book_lore.bf_bomb_1.page.0=虽然过了很久,但我的工作 调动申请终于批下来了。那 些刚升级的毕业生已经够难 对付了,更别提上边那些人 ——他们一点专业素质 都没有。 $ 换工作地点也不全是好事—— 现在这个实验室拒绝提供进 一步的细节,而且我已经被 另外一个魔法般的新发现 搞得够乱了。 +book_lore.bf_bomb_1.page.1=就是这样。那些学生们各有 各的疑惑 (想想他们多有 精神就知道这有多让人奇怪), 而我唯一的……同事 (竞争 对手?) 只是在做发小册 子的工作。这些事之间的联 系绝对比我想的要复杂。他 的笔记很打击人: +book_lore.bf_bomb_1.page.2=“又有一种奇异物质被偶然 发现;这种物质被指明是反 物质和一种边缘同位素的复 合物。小册子上说它叫‘旋素’ ——鬼知道这名字什么意思, 然后就没了。 +book_lore.bf_bomb_1.page.3=“怪不得他们想找个理论物 理学家,还不是因为他们连 这东西是什么都不知道。但 另一方面,基本上随便什么 工作都比我的旧职位强, 所以我也别抱怨这上面基本 什么都没有了。” +book_lore.bf_bomb_2.name=私人笔记 +book_lore.bf_bomb_2.author=M. 波特 +book_lore.bf_bomb_2.page.0=即使那本小册子上缺少大量 信息,我还是希望他们知道 的比我更多一点。但是他们 也不知道别的了。其他年长 一些的研究员都对这种物质 有一种盲目的信念:他们的 命题都是完全合理的。 我压根无话可说! +book_lore.bf_bomb_2.page.1=而且我甚至没法责备他们。 “旋素”没个屁的合理性! 这东西和我见过的其他物质 完全不一样。它的外表令人 毛骨悚然:它的颜色不停变 换着,霓虹绿色的表面上弥 漫着颜色略深的线条。 +book_lore.bf_bomb_2.page.2=更糟的是这东西还是个能量 源。我们样品的存在本身 就是对“ALARA”规则的 违背:当样本到达实验室时, 我们都撤离了实验室,唯一 一个够勇敢的人 (叫“梅菲因博士”) 也只穿着A级防护服移动了 样品20米。 +book_lore.bf_bomb_2.page.3=实验上的数据也没有好多少。 这东西辐射的能量非常强, 强到好像热力学第一定律都 要被打破一样;在这东西附 近的任何地方待着——甚至隔 着一米厚的铅——都十分恐怖。 我们做了光谱学方面的推断 就冲出了实验室,但什么新 发现都没有。 +book_lore.bf_bomb_2.page.4=但在这些事之后,科研团队 里的那群白痴竟然一点都没 有动摇!在那么些“讨论” 的时候干坐着够难受了; 一个带头人还胡乱说对这项 试验的禁令会被取消,也就 是说接下来几周我们可以逃 脱这些烂摊子来好好造炸弹。 +book_lore.bf_bomb_2.page.5=他们心里到底觉得谁会来干 这件事?麻烦得要命。最后, 一个理智的助手 (叫安德鲁) 给这种物质起了个外号叫 “野火”——因为和这东西比 起来,在火葬堆上被活活烧 死的痛苦都不算什么。 +book_lore.bf_bomb_3.name=私人笔记 +book_lore.bf_bomb_3.author=M. 波特 +book_lore.bf_bomb_3.page.0=我和我的团队取得了一些突 破。谈一下我的“分离” ——我把自己从那些更“虔诚” 的人里面分离出来之后,在 那工作变得好受多了。虽然 我们仍然对野火的具体性质 不甚了解 (因为研究一个 会毁了设备的东西非常难) , +book_lore.bf_bomb_3.page.1=但对野火与其他物质相互作 用的研究取得了丰硕成果。 值得注意的是,野火会与其 他物质形成“气态”;所有人 里面,只有安德鲁提醒我: 那其实是悬浮在稀有气体中 的微小野火粒子形成的胶体, +book_lore.bf_bomb_3.page.2=每个野火粒子都被带正电的 “气体泡”包裹着,这样这些 粒子就不会沉降。谁能想到 这东西的致命伽马辐射会有 好处?反正不是我。 +book_lore.bf_bomb_3.page.3=我尽量不去想他们是怎么把 样品转化成微粒的,但我并 不能把这些气态野火的实用 性一笔带过——气态野火使得 对野火的研究更加安全了。 $ 说到安全,带头人 (冷酷无情事不关己地) 做了一项差点让他掉脑袋的 发现。 +book_lore.bf_bomb_3.page.4=他决定把自己“弄脏”: 让一单元量的野火胶体和极 其昂贵的反物质直接反应。 产生的爆炸把它们所在的桌 子化成了一块被大量辐照过 的废渣,并在桌面上刻出了 一个几乎完美的半球, +book_lore.bf_bomb_3.page.5=还让领头人的脑袋吸收了足 以引起急性放射综合征的辐 射。我觉得我们现在知道了 怎么引爆野火, 但是某些人…… +book_lore.bf_bomb_4.name=私人笔记 +book_lore.bf_bomb_4.author=M. 波特 +book_lore.bf_bomb_4.page.0=我没办法逃脱我的旧工作。 现在这种死气沉沉的动荡 时代,只有这个地方在招人 了;但我不会再回我那个坑 里了。 $ 他们只是在诱惑我,因为我 需要出去,需要挣快钱。 还记得我们一周前退出的空 中试验协定吗? +book_lore.bf_bomb_4.page.1=那些掌管我们实验室的烂人 终于做对了一次。谴责与我 们将野火武器化需要的一大 批科学家一同到来。这里缺 少的批判性思维真是令人费 解——安德鲁甚至在第一份 该死的野火炸弹设计开始草 拟的那一刻突然不干了。 +book_lore.bf_bomb_4.page.2=那个梅菲因看上去打小算盘 打得很高兴,难道他搬野火 样品的时候脑子坏掉了? ——他还提出了使用固化的野 火以及高压电池的傻逼设计。 +book_lore.bf_bomb_4.page.3=很显然,这种形式的物质输 出的能量和激活途径或者别 的什么玩意和传统核弹比, 就像钚跟铀在传统核弹里面 比一样;但最终的结果是初 始的震荡引发了爆炸。 这倒是挺有意思。 +book_lore.bf_bomb_4.page.4=他们这些人都把注意力集中 在了激活上,而完全忽略了 具体机制——因为他们连点头 绪都摸不着!现在看来或许 就是魔法,然而那些人还在 尝试参透整个过程——也只是 为了制造更多战争用的武器 而已。 +book_lore.bf_bomb_5.name=私人笔记 +book_lore.bf_bomb_5.author=M. 波特 +book_lore.bf_bomb_5.page.0=就算过了很多天,我…… 还是理解不了这些。整个科 研团队对安全的轻率,似乎 让整个事情成了必然结局。 $ $ 梅菲因·M.S.博士,已经 离开了,或许已经离开这个 世界了。悲剧,就在我的眼皮 底下,就在他们的试验仓里, 发生了。 +book_lore.bf_bomb_5.page.1=那时候我们刚刚得到另外一 批野火纯品,而且他已经修 好了用来测试他的提案的电 子设备和能量源。我不知道 到底是什么导致的 (开机了吗?还是开始得 太早了?) ,但是悲剧貌似 已经痛苦地、缓慢地开始了。 +book_lore.bf_bomb_5.page.2=野火的绿色光芒逐渐吞噬了 桌子,吞噬了电池,吞噬了站 在一米之外的梅菲因博士, 甚至桌子都被降解成了地板 上一滩滚烫的金属,但梅菲 因还没有燃烧。我不知道他 从自己的眼里看到了什么…… $ $ 或许,恐惧,或者敬畏笼罩了 梅菲因最后的生存时间? +book_lore.bf_bomb_5.page.3=不管我们的“奇迹”物质是 什么,它都不在乎。突然间, 一束炽热的闪光出现,闪光 过后,梅菲因就消失了。他蒸 发了?被烧化了?还是湮灭 了?见鬼去吧,我没法知道 了! +book_lore.bf_bomb_5.page.4=领头人让我感觉很恶心。 “我们本来能更小心”“本来 能一直监控着”,还有其他 管它是什么的提高士气的污 物从他嘴里呕出来。这家伙 永远都不会明白“玩火自焚”! +book_lore.bf_bomb_5.page.5=我不嫌辞职麻烦,就立马卷 了铺盖,向山里跑去。但后 果并没有那么严重;考虑到 那边缺少电话,而且看到从 我的 (前) 工作地点升起 的蘑菇云,他们应该不是被 炸飞了,就是上了最高等级 的军事法庭了。 +book_lore.bf_bomb_5.page.6=在“死体解剖”和“活体解剖” 之间,我们必须要做出选择; 有一个选项已经在他们身上 明明白白地失败了。他们 想解剖多少金属或者原子就 能解剖多少;但是批判现实、 解剖现实这件事,只能在更 多的梅菲因身上走向终结。 谁知道呢! +book_lore.bf_bomb_5.page.7=到最后,政府还是想把这堆 烂摊子拿来研发炸弹。或许, 我们还会看到更多的战争, 看到更多的人被迫接受比死 亡更惨的命运。 他们不可能永远都藏着掖着。 +book_lore.bf_bomb_5.page.8=我不在乎了。再也不在乎了。 老天爷啊,让我回到真正的 科学之中吧! $ $ 该死,Mae,找找你自己…… +book_lore.beacon.name=信号信标说明书 +book_lore.beacon.author=Flim Flam工业 +book_lore.beacon.page.0=感谢您购买Mk.2照明信号信标 (版本1.3)! 这本小册子将简要介绍信标 的操作及其内部工作原理。 +book_lore.beacon.page.1=第1章:构成 $ 每个单元由四个主要部分 组成:控制电路、灯笼、雾号 和容纳其他部分的外壳。 有关主电路的详细说明,请 参考外壳维护盖内部的 电路图。 +book_lore.beacon.page.2=灯笼由聚碳酸酯外壳组成, 外壳内有一个标准200mm 的双色250瓦卤素灯泡, 替换用灯泡可以从我们的 商店订购。 +book_lore.beacon.page.3=不建议使用第三方灯泡,因为 我们无法确保安全操作。外壳 由专门的镀锌不锈钢制成, 具有耐用性。 +book_lore.beacon.page.4=第2章:灯笼 $ 灯笼的主要用途是在恶劣的 天气条件下提供照明以便 维护,同时指示信标的状态。 如果开机自检 (POST) 失败,灯将 +book_lore.beacon.page.5=亮起红色,否则就会亮起 绿色。请注意,颜色可能因 替换用灯泡的不同而有所 不同。 +book_lore.beacon.page.6=第3章:雾号 $ 雾号是信标的主要通信设备。 该信标被设计用于点对点 (P2P) 通信以及 消息广播。 +book_lore.beacon.page.7=第4章:P2P通信 $ 有关通信的详细信息,请参阅 通信手册。建立P2P连接的 简要介绍如下:首先,信标 必须给出“开始连接”信号, +book_lore.beacon.page.8=该信号是单一的长音。所有 可用的对等端也应使用一个 长音进行响应 (由接近度指定的顺序,以及 手册“响应连接”一节中 概述的通信指南) +book_lore.beacon.page.9=一旦所需对等端做出响应, 则给出“接受连接”信号, 即两个长音,然后对等端也 将用两个长音调进行响应。 之后的所有通信都必须使用 预先协商的信号来进行, +book_lore.beacon.page.10=最常用的是FAR-5M标准。 如果没有协商标准,通信将 立即结束,起到“ping” 的作用。如果通信继续, 可以使用另一个长单音 “结束连接”来结束连接。 +book_lore.beacon.page.11=第5章:保修 $ [页面故意留空] +cannery.f1=[按F1键获取帮助] +cannery.centrifuge=气体离心机 +cannery.centrifuge.0=气体离心机可以使用通用流体管道传输流体。 +cannery.centrifuge.1=大多数配方需要多台离心机。中间产品不能通过管道运输。 +cannery.centrifuge.2=该侧用作将中间产品输出到相邻离心机的连接口。 +cannery.centrifuge.3=六氟化铀只需两台离心机即可加工,但这将只产出铀燃料和铀-238。 +cannery.centrifuge.4=将其完全加工成铀-235和铀-238总共需要四台离心机。 +cannery.centrifuge.5=一些配方还需要离心机超频升级。 +cannery.crucible=坩埚 +cannery.crucible.0=坩埚用于熔炼矿石、铸锭或其他金属物品以进行合金化,并将其铸造成不同形状。 +cannery.crucible.1=它需要一个外部热源连接到底部,例如燃烧室。 +cannery.crucible.2=一旦加热,坩埚可以以两种方式运行,有或没有配方模板。 +cannery.crucible.3=坩埚有两个材料储存缓冲区: +cannery.crucible.4=左边的缓冲区用于缓存§a副产品§r,所有没有配方模板的熔炼材料都将缓存在这里。 +cannery.crucible.5=如果有熔炼配方,与配方不匹配的材料也将存储在这里。 +cannery.crucible.6=该缓冲区中的材料不会相互反应,只能从绿色出口输出用于铸造。 +cannery.crucible.7=右侧的缓冲区用于放入§c配方§r,如果安装了一个配方,并且该特定材料与该配方相关,则它将储存在此处。 +cannery.crucible.8=这些材料将慢慢结合成输出材料,从红色出口自动输出。 +cannery.crucible.9=请注意,只有这个缓冲区处理配方。如果更换模板,副产品缓冲区中的材料不会结合,也不会转移到配方缓冲区。 +cannery.crucible.10=如果目标有效,例如铸造通道或模具,出口将自动输出材料。 +cannery.crucible.11=与所有铸造块一样,可以使用铲子从坩埚中移除所有材料。 +cannery.fensu=FEnSU +cannery.fensu.0=FEnSU能够存储超过9EHE(即9后18个零)的荒谬能量。 +cannery.fensu.1=只有在其底部有一个电线接口。 +cannery.fensu.2=这也是FEnSU唯一可以接收红石信号的地方。 +cannery.firebox=燃烧室 +cannery.firebox.0=燃烧室通过燃烧可燃物品产生热量。 +cannery.firebox.1=它可以燃烧任何可燃物品,但更高质量的燃料如煤、焦炭和固体燃料燃烧时间更长,温度更高。 +cannery.firebox.2=燃烧室顶部的铜触点可以传导热量。底部具有相同触点的机器可以通过放置在燃烧室顶部来接收热量。 +cannery.firebox.3=如果热量没有用完,且热量缓冲器变满,燃烧室将暂停运行,以防止燃料浪费。 +cannery.firebox.4=一种这样的机器是斯特林发电机,它将热量直接转化为能量。 +cannery.foundryChannel=铸造通道 +cannery.foundryChannel.0=铸造通道用于将熔融材料从坩埚或储罐输送到模具中。 +cannery.foundryChannel.1=通道可以通过从顶部(通过出口或直接连接坩埚)或从其他通道的侧面倾倒来接收材料。 +cannery.foundryChannel.2=运输材料时,渠道将优先考虑出口和浅铸造池等方块。 +cannery.foundryChannel.3=当无法供应出口或模具时,材料将流入相邻通道。 +cannery.foundryChannel.4=剩余材料可以用铲子清除。 +cannery.silex=FEL 与 SILEX +cannery.silex.0=自由电子激光器(FEL)利用能量和激光晶体产生强大的激光束。 +cannery.silex.1=小心,因为激光会烧毁或熔化较脆弱的方块… +cannery.silex.2=…但不是防爆的。 +cannery.silex.3=FEL用于为激光同位素分离室(SILEX)提供能量。FEL和SILEX必须至少相隔两个方块。 +cannery.silex.4=激光必须通过SILEX的玻璃开口进入。在错误的方向上入射可能会摧毁它。 +cannery.silex.5=侧面的开口可以使流体管道连接至SILEX上。 +cannery.silex.6=除了侧面的两个连接口之外,底部还有第三个隐藏连接口,可以从中抽取产品。 +cannery.silex.7=每个配方都需要特定的激光类型。使用比所需类型更强的激光将更快地处理项目。 +cannery.silex.8=一台FEL最多可以为5台SILEX供能。每个SILEX之间必须间隔一个方块。 +cannery.stirling=斯特林发电机 +cannery.stirling.0=斯特林发电机使用来自外部的热能来产生能量。 +cannery.stirling.1=它需要放置在发热机器的顶部,如燃烧室。 +cannery.stirling.2=然而,它可以利用的热量有限,过旋转可能导致灾难性故障。 +cannery.stirling.3=升级版可以在不损坏的情况下承受更多热量。 +cannery.willow=芥子柳 +cannery.willow.0=芥子柳是一种可以富集镉金属的植物。 +cannery.willow.1=芥子柳可以种植在泥土、草地上,甚至是泥渣或油泥上,但它们需要水才能生长。 +cannery.willow.2=芥子柳可以用骨粉或工业肥料催熟。它们不需要光就可以生长。 +cannery.willow.3=在第二阶段的生长之后,它们将需要在上方有至少一个方块的空间才能进一步生长。 +cannery.willow.4=在生长的第四阶段之后,它们需要下面有泥渣或油泥。 +cannery.willow.5=这可以通过在泥渣或油泥上手动种植芥子柳来实现,也可以通过在附近设置一个不断污染地面的水力压裂塔来实现。 +cannery.willow.6=到达最后阶段后,芥子柳将清除地面上的污染物,使泥渣或油泥恢复为正常的泥土。 +cannery.willow.7=现在芥子柳的叶子可以收割了。打破顶部的块状物会掉落一株3-6片叶子的小芥子柳,并保持植物底部的完整。 +cannery.willow.8=很快,这种植物就会重新开始生长,如果泥土被油泥取代,就会长出更多的叶子。叶子可以用酸化机加工成镉粉。 +cannery.willow.9=使用自动锯可以自动收割柳叶,它只会打碎准备收割的植物。 +cannery.hadron=粒子加速器 +cannery.hadron.0=粒子加速器包含3个主要部分: 核心,粒子分析室以及一系列的超导线圈。 +cannery.hadron.1=画面上的方块为粒子加速器核心组件,会以相对论的速度沿线圈向粒子分析室发射粒子。 +cannery.hadron.2=粒子会从此面发射; +cannery.hadron.3=在环形加速器中,会回到此面。 +cannery.hadron.4=每个线圈区段由8个致密线圈构成,中间留空(或放置粒子加速器核心)。 +cannery.hadron.5=线圈区段本身也必须被粒子加速器镀层包裹。 +cannery.hadron.6=加速器中还需要添加一个或多个粒子加速器接入终端,以与核心组件交互。 +cannery.hadron.7=核心组件也需要电力运行,因此需要在边缘添加电源接口。 +cannery.hadron.8=粒子加速器需要足够的电源接口来供给至少10kHE每单位线圈强度的能量。 +cannery.hadron.9=注意:环绕核心组件的线圈区段不参与线圈强度计算, +cannery.hadron.10=而且完全的直线粒子加速器不需要此区段。 +cannery.hadron.11=环形加速器中,需要如下的转角结构来改变粒子的方向: +cannery.hadron.12=外侧转角的线圈可以被完全去除。 +cannery.hadron.13=粒子加速器的最终部分是粒子分析室,这是一个由分析室方块包围的3x3x3空间。 +cannery.hadron.14=搭建完成的粒子加速器的外观应该类似下面这样: +cannery.hadron.math.0=致密钕线圈强度:50 +cannery.hadron.math.1=50 x 8 x 10KHE = 400 x 10KHE = 4MHE +cannery.hadron.math.2=致密星辉线圈强度:1,000 +cannery.hadron.math.3=1,000 x 8 x 10KHE = 8,000 x 10KHE = 80MHE +cannery.schottky=肖基特二极管 +cannery.schottky.0=画面上的方块为肖基特二极管。此方块可用于更复杂的粒子加速器设计,也可用于节省电能。 +cannery.schottky.1=默认状态下,二极管会阻挡所有粒子,需要使用螺丝刀进行配置。 +cannery.schottky.2=此面会接受进入的粒子, +cannery.schottky.3=而此面会将进入的粒子发射出去。 +cannery.schottky.4=现在图中的二极管含有两个出口,会表现出“量子”行为:在每个出口创造一个“虚拟粒子”。 +cannery.schottky.5=一旦所有的“虚拟粒子”都达到了分析室,粒子加速器就会选择动量需求最低的配方执行。 +cannery.schottky.6=被选中的粒子会经历“波函数坍缩”,变成真实的粒子,并且加速器只会消耗“坍缩”的虚拟粒子需求的能量。 +cannery.schottky.7=如果某一个虚拟粒子进入了结构不正确的区段,所有的虚拟粒子都会被销毁,而且坍缩的将是出错的粒子而非其他到达分析室的粒子。 +cannery.schottky.8=注意:同一个虚拟粒子只会经过同一个二极管的同一出口一次。虚拟粒子不会进入死循环,但仍然可以进入另一个二极管。 +cannery.schottky.9=肖基特二极管周围应具有合适的结构,使得粒子在每个交叉点处都有路可走。 +chem.ARSENIC=砷提取 +chem.ASPHALT=沥青生产 +chem.BAKELITE=电木生产 +chem.BALEFIRE=野火火箭燃料混合 +chem.BP_BIOFUEL=生物燃料酯化 +chem.BP_BIOGAS=沼气生产 +chem.C4=C-4合成 +chem.CC_CENTRIFUGE=氯方解石分离 +chem.CC_ELECTROLYSIS=氯化钙电解 +chem.CC_HEATING=高级煤液化 +chem.CC_HEAVY=初级煤液化 +chem.CC_I=强化煤液化 +chem.CC_NAPHTHA=煤液化石脑油 +chem.CC_OIL=煤液化 +chem.CIRCUIT_4=超频电路生产 +chem.CIRCUIT_5=高性能电路生产 +chem.CO2=二氧化碳生产 +chem.COALGAS_LEADED=含铅煤汽油混合 +chem.COLTAN_CLEANING=钶钽铁矿提纯 +chem.COLTAN_CRYSTAL=钽结晶 +chem.COLTAN_PAIN=Pn(III)钽铁溶液生产 +chem.CONCRETE=混凝土生产 +chem.CONCRETE_ASBESTOS=石棉夹层混凝土生产 +chem.COOLANT=冷却液混合 +chem.CORDITE=无烟火药生产 +chem.CRYOGEL=冷凝胶混合 +chem.DESH=Desh生产 +chem.DEUTERIUM=氘萃取 +chem.DUCRETE=贫铀混凝土生产 +chem.DYN_DNT=双聚中子态素合成 +chem.DYN_EUPH=Ep合成 +chem.DYN_SCHRAB=Sa326合成 +chem.DYNAMITE=炸药合成 +chem.ELECTROLYSIS=低温电解水 +chem.EPEARL=末影珍珠合成 +chem.ETHANOL=乙醇生产 +chem.FC_BITUMEN=沥青裂化 +chem.FC_DIESEL_KEROSENE=柴油裂化 +chem.FC_GAS_PETROLEUM=天然气裂化 +chem.FC_I_NAPHTHA=工业油裂化 +chem.FC_KEROSENE_PETROLEUM=煤油裂化 +chem.FP_HEAVYOIL=重油加工 +chem.FP_LIGHTOIL=轻油加工 +chem.FP_NAPHTHA=石脑油加工 +chem.FP_SMEAR=工业油加工 +chem.FR_PETROIL=汽油混合 +chem.FR_REOIL=原油再加工 +chem.FRACKSOL=压裂液生产 +chem.GASOLINE=含铅汽油生产 +chem.GASOLINE_LEADED=含铅汽油混合 +chem.HEAVY_ELECTROLYSIS=低温电解重水 +chem.HELIUM3=使用月球草皮提取氦-3 +chem.KEVLAR=凯夫拉生产 +chem.LAMINATE=强化夹层玻璃生产 +chem.LPG=石油天然气液化 +chem.LUBRICANT=润滑剂混合 +chem.METH=甲基苯丙胺合成 +chem.MEAT_PROCESSING=异虫肉矿物提取 +chem.NITAN=NITAN牌超级燃料混合 +chem.NITRIC_ACID=硝酸生产 +chem.OIL_SAND=沥青砂提取 +chem.OSMIRIDIUM_DEATH=锇酸溶液生产 +chem.PC=聚碳酸酯合成 +chem.PC_ELECTROLYSIS=氯化钾电解 +chem.PEROXIDE=过氧化氢生产 +chem.PET=PET合成 +chem.PETROIL_LEADED=含铅石油混合 +chem.POLYMER=聚合物合成 +chem.PUF6=六氟化钚生产 +chem.PVC=聚氯乙烯合成 +chem.RUBBER=橡胶生产 +chem.SAS3=三硫化Sa生产 +chem.SATURN=土星锭生产 +chem.SCHRABIDATE=Sa酸铁生产 +chem.SCHRABIDIC=Sa酸合成 +chem.SF_BIOFUEL=生物燃料固化 +chem.SF_BIOGAS=沼气固化 +chem.SF_DIESEL=柴油凝固 +chem.SF_GAS=天然气固化 +chem.SF_HEATINGOIL=燃油固化 +chem.SF_HEAVYOIL=重油固化 +chem.SF_KEROSENE=煤油固化 +chem.SF_LIGHTOIL=轻油固化 +chem.SF_LUBRICANT=润滑剂固化 +chem.SF_NAPHTHA=石脑油固化 +chem.SF_OIL=原油固化 +chem.SF_PETROIL=石油固化 +chem.SF_PETROLEUM=石油气固化 +chem.SF_RECLAIMED=再生油固化 +chem.SF_SMEAR=工业油固化 +chem.SHELL_CHLORINE=16英寸氯气炮弹生产 +chem.SHELL_MUSTARD=16英寸芥子气炮弹生产 +chem.SHELL_PHOSGENE=16英寸光气炮弹生产 +chem.SOLID_FUEL=固体火箭燃料生产 +chem.SOLVENT=有机溶剂混合 +chem.STEAM=烧水 +chem.SULFURIC_ACID=硫酸生产 +chem.TATB=TATB合成 +chem.TEL=四乙基铅混合 +chem.TEST=测试 +chem.THORIUM_SALT=钍盐富集 +chem.TNT=TNT合成 +chem.UF6=六氟化铀生产 +chem.VIT_GAS=气态核废料玻璃化 +chem.VIT_LIQUID=液态核废料玻璃化 +chem.XENON=林德循环制氙 +chem.XENON_OXY=增强林德循环制氙 +chem.YELLOWCAKE=黄饼生产 +commands.satellite.no_active_satellites=没有工作中的卫星! +commands.satellite.no_satellite=未找到使用此频率的卫星! +commands.satellite.not_a_satellite=持有的物品不是卫星! +commands.satellite.satellite_descended=卫星成功降落。 +commands.satellite.satellite_orbited=卫星发射。 +commands.satellite.should_be_run_as_player=此命令应该由玩家运行! +container.amsBase=AMS基座(装饰) +container.amsEmitter=AMS发射极(装饰) +container.amsLimiter=AMS稳能器(装饰) +container.anvil=%s级砧 +container.arcFurnace=电弧炉 +container.armorTable=装甲改装台 +container.ashpit=储灰槽 +container.assembler=装配机 +container.autocrafter=自动工作台 +container.barrel=桶 +container.bat9000=巨尻-9000 储罐 +container.battery=储能 +container.bombMulti=多用途炸弹 +container.casingBag=弹壳包 +container.catalyticReformer=催化重整器 +container.centrifuge=离心机 +container.chemplant=化工厂 +container.compactLauncher=紧凑型发射台 +container.craneBoxer=输送带打包机 +container.craneExtractor=输送带提取器 +container.craneGrabber=输送带抓斗 +container.craneInserter=输送带导入器 +container.craneRouter=传送路由器 +container.craneUnboxer=输送带解包机 +container.crateDesh=Desh箱 +container.crateIron=铁箱 +container.crateSteel=钢箱 +container.crateTemplate=模板箱 +container.crateTungsten=钨箱 +container.crystallizer=矿物酸化器 +container.cyclotron=回旋加速器 +container.dfcCore=暗核聚变堆核心 +container.dfcEmitter=DFC发射器 +container.dfcInjector=DFC燃料喷射器 +container.dfcReceiver=DFC接收器 +container.dfcStabilizer=DFC稳定器 +container.diFurnace=高炉 +container.diFurnaceRTG=核高炉 +container.droneCrate=运输无人机坞 +container.droneDock=物流无人机坞 +container.droneProvider=供应箱 +container.droneRequester=请求箱 +container.electricFurnace=电炉 +container.epress=电动锻压机 +container.exposureChamber=辐照舱 +container.factoryAdvanced=高级工厂 +container.factoryTitanium=工厂 +container.fluidtank=储罐 +container.fileCabinet=文件柜 +container.forceField=力场发生器 +container.frackingTower=水力压裂塔 +container.furnaceBrick=砖砌炉 +container.furnaceCombination=复式炼焦炉 +container.furnaceIron=铁炉 +container.furnaceSteel=钢炉 +container.fusionMultiblock=大型聚变反应堆 +container.fusionaryWatzPlant=Watz聚变反应堆 +container.gasCentrifuge=气体离心机 +container.gasFlare=高架火炬 +container.generator=研究型反应堆 +container.hadron=粒子加速器 +container.heaterFirebox=燃烧室 +container.heaterHeatex=热交换器 +container.heaterOilburner=流体燃烧器 +container.heaterOven=加热炉 +container.hydrotreater=加氢装置 +container.iGenerator=工业发电机 +container.keyForge=锁匠桌 +container.launchPad=导弹发射台 +container.launchPadRusted=导弹发射台 +container.launchTable=大型发射台 +container.leadBox=安全盒 +container.machineAmmoPress=压弹机 +container.machineArcWelder=电弧焊机 +container.machineArcFurnaceLarge=电弧炉 +container.machineBoiler=锅炉 +container.machineCMB=CMB炼钢炉 +container.machineCoal=火力发电机 +container.machineCoker=焦化装置 +container.machineCompressor=压缩机 +container.machineCrucible=坩埚 +container.machineDiesel=柴油发电机 +container.machineElectricBoiler=电锅炉 +container.machineElectrolyser=电解机 +container.machineFEL=FEL +container.machineFunnel=组合漏斗 +container.machineICF=ICF反应堆 +container.machineICFPress=ICF燃料靶丸制造器 +container.machineITER=聚变反应堆 +container.machineLargeTurbine=工业汽轮机 +container.machineLiquefactor=液化机 +container.machineMixer=工业搅拌机 +container.machineOreSlopper=B.O.P. +container.machinePyroOven=热解炉 +container.machineRefinery=炼油厂 +container.machineRotaryFurnace=回转炉 +container.machineSelenium=星型发动机 +container.machineShredder=粉碎机 +container.machineSILEX=激光同位素分离室 +container.machineSolderingStation=焊接台 +container.machineSolidifier=固化机 +container.machineStrandCaster=连续铸造机 +container.machineTurbine=汽轮机 +container.machineTurbofan=涡扇发动机 +container.machineWoodBurner=火力发电机 +container.machine_schrabidium_transmutator=Sa326嬗变装置 +container.massStorage=存储 +container.microwave=微波炉 +container.miningDrill=自动采矿钻机 +container.miningLaser=采矿激光 +container.missileAssembly=导弹装配台 +container.nukeBoy=小男孩 +container.nukeCustom=自定义核弹 +container.nukeFleija=F.L.E.I.J.A. +container.nukeFstbmb=野火炸弹 +container.nukeFurnace=核熔炉 +container.nukeGadget=小玩意 +container.nukeMan=胖子 +container.nukeMike=常春藤迈克 +container.nukeN2=N2炸弹 +container.nukeN45=N45水雷 +container.nukePrototype=原型 +container.nukeSolinium=蔚蓝洗礼 +container.nukeTsar=沙皇炸弹 +container.oilWell=钻油塔 +container.orbus=重型反物质储罐 +container.plasmaHeater=等离子加热器 +container.press=火力锻压机 +container.puf6_tank=六氟化钚储罐 +container.pumpjack=石油钻机 +container.radGen=辐射能量发电机 +container.radar=雷达 +container.radiobox=FM发射机 +container.radiolysis=RTG辐射裂解室 +container.radiorec=FM收音机 +container.rbmkBoiler=RBMK石墨式反应堆蒸汽管道 +container.rbmkControl=RBMK石墨式反应堆控制棒 +container.rbmkControlAuto=RBMK石墨式反应堆自动控制棒 +container.rbmkHeater=RBMK流体加热器 +container.rbmkOutgasser=RBMK石墨式反应堆辐照通道 +container.rbmkReaSim=RBMK石墨式反应堆燃料棒 (ReaSim) +container.rbmkRod=RBMK石墨式反应堆燃料棒 +container.rbmkStorage=RBMK 燃料存储棒 +container.reactorBreeding=增殖反应堆 +container.reactorControl=反应堆遥控模块 +container.reactorLarge=大型核反应堆 +container.reactorResearch=研究型反应堆 +container.reix=Rei-X主机 +container.rtg=放射性同位素发电机 +container.rtgFurnace=放射性同位素热力炉[RTG] +container.rttyCounter=无线红石物品计数器 +container.rttyLogic=无线红石逻辑接收器 +container.rttyReceiver=无线红石信号接收器 +container.rttySender=无线红石信号发射器 +container.safe=保险箱 +container.satDock=卸货平台 +container.satLinker=卫星ID管理 +container.siren=警报器 +container.soyuzCapsule=货物着陆舱 +container.soyuzLauncher=联盟号发射平台 +container.storageDrum=核废料处理桶 +container.teleLinker=炮塔ID管理 +container.teleporter=传送机 +container.trainTram=平板载货电车 +container.turbinegas=联合循环燃气轮机 +container.turretArty=重炮炮塔“格雷格” +container.turretChekhov=重机枪炮塔“契诃夫的枪” +container.turretFriendly=轻机枪炮塔“友好先生” +container.turretFritz=重型火焰喷射器炮塔“弗里茨” +container.turretHIMARS=火箭炮塔“亨利” +container.turretHoward=双联守门员近防系统“霍华德” +container.turretJeremy=重炮炮塔“杰里米” +container.turretMaxwell=高能微波炮塔”麦克斯韦” +container.turretRichard=火箭炮塔“理查德” +container.turretSentry=哨兵炮塔“布朗” +container.turretTauon=陶子发射器炮塔“陶恩” +container.uf6_tank=六氟化铀储罐 +container.vacuumDistill=真空炼油厂 +container.wasteDrum=乏燃料池 +container.watzPowerplant=Watz发电厂 +container.zirnox=锆诺克斯核反应堆 +copytool.filter=过滤器 +copytool.invertRedstone=红石信号反转 +copytool.invertFilter=过滤器反转 +copytool.orientation=方向 +copytool.pattern0=红色面 +copytool.pattern1=橙色面 +copytool.pattern2=黄色面 +copytool.pattern3=绿色面 +copytool.pattern4=蓝色面 +copytool.pattern5=紫色面 +crucible.aa=高级合金生产 +crucible.abronze=砷青铜生产 +crucible.bbronze=铋青铜生产 +crucible.bscco=BSCCO超导体生产 +crucible.cdalloy=镉钢生产 +crucible.cmb=CMB钢生产 +crucible.ferro=铀铁合金生产 +crucible.hematite=赤铁矿炼铁 +crucible.hss=高速钢生产 +crucible.malachite=孔雀石炼铜 +crucible.magtung=磁化钨生产 +crucible.redcopper=紫铜生产 +crucible.steel=钢铁生产 +crucible.steelMeteoric=陨铁炼钢 +crucible.steelPig=生铁炼钢 +crucible.steelWrought=锻铁炼钢 +crucible.tcalloy=锝钢合金生产 +damage.inset=成套装备时的获得的伤害减免: +damage.item=装备时获得的伤害减免: +damage.category.EXPL=爆炸 +damage.category.FIRE=火焰 +damage.category.PROJ=投射物 +damage.exact.drown=溺水 +damage.exact.fall=摔落 +damage.exact.LASER=激光 +damage.exact.onFire=灼烧伤害 +damage.other=其他 +death.attack.acid=%1$s 掉进了酸里 +death.attack.acidPlayer=%1$s 被 %2$s 溶解 +death.attack.ams=%1$s 沐浴在尚未被人类科学命名的致命粒子中 +death.attack.amsCore=%1$s 在奇点之火中蒸发 +death.attack.asbestos=%1$s现在有权获得经济补偿 +death.attack.bang=%1$s 被炸成小块碎片 +death.attack.blackhole=%1$s 粉身碎骨 +death.attack.blacklung=%1$s 死于尘肺病 +death.attack.blender=%1$s 被切成小块 +death.attack.boat=%1$s 被船撞了 +death.attack.boil=%1$s被%2$s活活煮沸 +death.attack.boxcar=%1$s 被一节坠落的车厢撞死了...好吧 +death.attack.broadcast=%1$s 的大脑融化了 +death.attack.building=%1$s 被从天而降的建筑砸中了 +death.attack.cheater=%1$s 的肠子变成了燕麦(???) +death.attack.chopperBullet=%1$s 被 %2$s 屠杀 +death.attack.cloud=%1$s 像冰棒一样在太阳下融化 +death.attack.cmb=%1$s 被 %2$s 搞得嘶嘶作响 +death.attack.digamma=%1$s 踏入深渊 +death.attack.electricity=%1$s 被电死 +death.attack.electrified=%1$s 被 %2$s 电死 +death.attack.euthanized=%1$s 被 %2$s 安乐死 +death.attack.euthanizedSelf2=%1$s 获得了达尔文奖 +death.attack.euthanizedSelf=%1$s 把自己安乐死了,可真傻 +death.attack.exhaust=%1$s 被火箭烤成了羊肉串 +death.attack.flamethrower=%1$s 被 %2$s 火化 +death.attack.flamethrower.item=%1$s 被 %2$s 使用 %3$s 火化 +death.attack.ice=%1$s 被 %2$s 做成了冰棒 +death.attack.laser=%1$s 被 %2$s 变成了灰烬 +death.attack.laser.item=%1$s 被 %2$s 使用 %3$s 变成灰烬 +death.attack.lead=%1$s 死于铅中毒 +death.attack.lunar=%1$s 忘记了给重要器官充电 +death.attack.meteorite=%1$s 被来自外太空的陨石击中 +death.attack.microwave=%1s 因微波辐射爆炸 +death.attack.mku=%1$s 死于不明原因 +death.attack.monoxide=%1$s忘了换一氧化碳探测器的电池 +death.attack.mudPoisoning=%1$s 死于毒泥浆中 +death.attack.nuclearBlast=%1$s 被核爆炸飞 +death.attack.overdose=%1$s 上瘾并窒息 +death.attack.pc=%1$s 在粉红色的云中变成了一个水坑 +death.attack.plasma=%1$s 被 %2$s 烧死 +death.attack.radiation=%1$s 死于辐射 +death.attack.revolverBullet=%1$s 被 %2$s 用 %3$s 击中头部 +death.attack.revolverBullet.item=%1$s 被 %2$s 使用 %3$s 爆头 +death.attack.rubble=%1$s 被碎片压扁了 +death.attack.shrapnel=%1$s 被榴弹碎片炸得千疮百孔 +death.attack.spikes=%1$s被刺穿了 +death.attack.subAtomic1=%1$s 的原子已被 %2$s 销毁. +death.attack.subAtomic2=%1$s 因为被 %2$s 篡改了实际速度,导致QPU没有对准 +death.attack.subAtomic3=由于 %2$s,1$s 的偏差下降到1%以下 +death.attack.subAtomic4=%1$s 因为 %2$s 被零除了 +death.attack.subAtomic5=%1$s 因为 %2$s 无效了 +death.attack.suicide=%1$s 打爆了自己的头 +death.attack.taint=%1$s 死于恶性肿瘤 +death.attack.tau=%1$s 被 %2$s 用带负电荷的陶子射穿 +death.attack.tauBlast=%1$s 对XVL1456充能时间过长,被炸成碎片 +death.attack.teleporter=%1$s 被传送到虚空 +death.sedna.electric=%1$s 被电成焦炭了 +death.sedna.electric.attacker=%1$s 被 %2$s 电成焦炭了 +death.sedna.explosive=%1$s 被炸飞了 +death.sedna.explosive.attacker=%1$s 被 %2$s 炸飞了 +death.sedna.fire=%1$s 被送到人生终点站了 +death.sedna.fire.attacker=%1$s 被 %2$s 送到人生终点站了 +death.sedna.laser=%1$s 被激光烧成了灰烬 +death.sedna.laser.attacker=%1$s 被 %2$s 用激光烧成了灰烬 +death.sedna.microwave=%1$s 变成了鸡蛋在微波炉里面的样子 +death.sedna.microwave.attacker=%1$s 被 %2$s 变成了鸡蛋在微波炉里面的样子 +death.sedna.subatomic=%1$s 被分解成基本微粒 +death.sedna.subatomic.attacker=%1$s 被 %2$s 分解成基本微粒 +death.sedna.other=%1$s 被杀死了 +death.sedna.other.attacker=%1$s 被 %2$s 杀死了 +death.sedna.physical=%1$s被射杀了 +death.sedna.physical.attacker=%1$s 被 %2$s 射杀了 +desc.gui.assembler.warning=§c错误:§r此机器需要装配机模板! +desc.gui.chemplant.warning=§c错误:§r此机器需要化工厂模板! +desc.gui.gasCent.enrichment=§2浓缩§r$浓缩铀需要串联$两个离心机串联将离心出$铀燃料,四个离心机串联$将完全分离出铀235。 +desc.gui.gasCent.output=§6流体输送§r$流体可通过输出端口输送至另一台离心机$进行进一步处理。 +desc.gui.nukeBoy.desc=§1需要:§r$ * 中子屏蔽罩$ * 铀-235弹头$ * 次临界铀-235标靶$ * 炸药$ * 点火器 +desc.gui.nukeGadget.desc=§1需要:§r$ * 4个 初代$ 炸药透镜阵列$ * 钚核心$ * 线路 +desc.gui.nukeMan.desc=§1需要:§r$ * 4个 初代$ 炸药透镜阵列$ * 钚核心$ * 点火器 +desc.gui.nukeMike.desc=§1需要:§r$ * 4个 炸药透镜阵列$ * 钚核心$ * 氘冷却装置$ * 铀涂层氘罐 * 氘罐 +desc.gui.nukeTsar.desc=§1需要:§r$ * 4个 炸药透镜阵列$ * 钚核心$§9可选:§r$ * 沙皇炸弹核心 +desc.gui.rttyLogic.cond0=信号§6小于§r常量 +desc.gui.rttyLogic.cond1=信号§6小于等于§r常量 +desc.gui.rttyLogic.cond2=信号§6大于等于§r常量 +desc.gui.rttyLogic.cond3=信号§6大于§r常量 +desc.gui.rttyLogic.cond4=信号§6等于§r常量 +desc.gui.rttyLogic.cond5=信号§6不等于§r常量 +desc.gui.rttyLogic.cond6=信号与字符串§6匹配§r +desc.gui.rttyLogic.cond7=信号与字符串§6不匹配§r +desc.gui.rttyLogic.cond8=信号§6包含§r字符串 +desc.gui.rttyLogic.cond9=信号§6不包含§r字符串 +desc.gui.radiolysis.desc=§9说明§r$该RTG比其他RTG更高效,$并且配备了一个用于$裂解和灭菌的辐解室。 +desc.gui.rtgBFurnace.desc=处理配方至少需要15热量,$热量越高,运行速度越快$超过最高处理速度的热量不起作用$短寿命靶丸可能会衰变 +desc.gui.rtg.heat=§e当前热等级:%s +desc.gui.rtg.pellets=接受的靶丸: +desc.gui.rtg.pelletHeat=%s (%s 热量) +desc.gui.rtg.pelletPower=%s (%s HE/刻) +desc.gui.template=§9模板§r$模板可由$机器模板文件夹制作。 +desc.gui.turbinegas.automode=§2自动涡轮机节流模式§r$通过单击“AUTO”按钮,涡轮机$将根据网络所需的功率自动调整发电量$ +desc.gui.turbinegas.fuels=§6可接受的燃料:§r +desc.gui.turbinegas.warning=§c燃油或润滑油液位低!§r +desc.gui.zirnox.coolant=§3冷却剂§r$CO2将热量从堆芯转移到水中$这会令它变成成超热蒸汽$冷却和蒸汽生产的效率取决于压力。 +desc.gui.zirnox.pressure=§6压力§r$排放二氧化碳可以降低压力$然而,压力过低,冷却效率和蒸汽产量将降低$小心熔毁! +desc.gui.zirnox.warning1=§c错误:§r反应堆正常运行需要水! +desc.gui.zirnox.warning2=§c错误:§r二氧化碳是反应堆正常运行所必需的! +desc.item.ammo.con_accuracy2=- 精度大幅降低 +desc.item.ammo.con_damage=- 伤害大幅降低 +desc.item.ammo.con_heavy_wear=- 大幅增加磨损 +desc.item.ammo.con_ling_fire=- 没有火焰 +desc.item.ammo.con_nn=- 甚至没有核爆 +desc.item.ammo.con_no_damage=- 没有伤害 +desc.item.ammo.con_no_explode1=- 非爆炸性 +desc.item.ammo.con_no_explode2=- 不破坏方块 +desc.item.ammo.con_no_explode3=- 无破片伤害 +desc.item.ammo.con_no_fire=- 不能引起燃烧 +desc.item.ammo.con_no_mirv=- 不建议在原始MIRV上使用 +desc.item.ammo.con_no_projectile=- 无抛射物 +desc.item.ammo.con_penetration=- 无穿透能力 +desc.item.ammo.con_radius=- 减小爆炸半径 +desc.item.ammo.con_range2=- 大幅降低射程 +desc.item.ammo.con_sing_projectile=- 单个弹头 +desc.item.ammo.con_speed=- 弹丸速度降低 +desc.item.ammo.con_super_wear=- 磨损严重增加 +desc.item.ammo.con_wear=- 加剧磨损 +desc.item.ammo.neu_40mm=* 这是一枚40毫米的榴弹,我们把它挤到枪管里! +desc.item.ammo.neu_blank=* 这是空包弹 +desc.item.ammo.neu_boat=* 船 +desc.item.ammo.neu_boxcar=* 车厢 +desc.item.ammo.neu_building=* 建筑物 +desc.item.ammo.neu_chlorophyte=* 叶绿 +desc.item.ammo.neu_eraser=* 用于消除重大错误 +desc.item.ammo.neu_fun=* 全家其乐无穷! +desc.item.ammo.neu_heavy_metal=* 重金属 +desc.item.ammo.neu_homing=* 追踪 +desc.item.ammo.neu_jolt=* 震荡 +desc.item.ammo.neu_leadburster=* 附着在表面并喷射子弹 +desc.item.ammo.neu_less_bouncy=* 弹性更小 +desc.item.ammo.neu_maskman_flechette=* 曳光弹,同时引发一场贫铀飞镖弹风暴 +desc.item.ammo.neu_maskman_meteorite=* 高伤害,同时召唤小陨石 +desc.item.ammo.neu_more_bouncy=* 额外弹性 +desc.item.ammo.neu_no_bounce=* 没有弹性 +desc.item.ammo.neu_no_con=* 没有缺点 +desc.item.ammo.neu_starmetal=* 星辉金属 +desc.item.ammo.neu_tracer=* 示踪剂 +desc.item.ammo.neu_uhh=*呃..... +desc.item.ammo.neu_warcrime1=* 从技术上来讲触犯了战争罪 +desc.item.ammo.neu_warcrime2=* 一发触犯两条战争罪! +desc.item.ammo.pro_accurate1=+ 提升精度 +desc.item.ammo.pro_accurate2=+ 近乎完美的精度 +desc.item.ammo.pro_balefire=+ 野火 +desc.item.ammo.pro_bomb_count=+ 炸弹数量增加 +desc.item.ammo.pro_caustic=+ 腐蚀性 +desc.item.ammo.pro_chainsaw=+ 电锯 +desc.item.ammo.pro_chlorine=+ 氯气 +desc.item.ammo.pro_damage=+ 提升伤害 +desc.item.ammo.pro_damage_slight=+ 高于平均伤害 +desc.item.ammo.pro_emp=+ 电磁脉冲 +desc.item.ammo.pro_explosive=+ 爆炸 +desc.item.ammo.pro_fallout=+ 辐射尘 +desc.item.ammo.pro_fit_357=+ 适用于所有.357枪械 +desc.item.ammo.pro_flames=+ 火焰喷射量增加 +desc.item.ammo.pro_gravity=+ 下坠降低 +desc.item.ammo.pro_heavy_damage=+ 大幅增加伤害 +desc.item.ammo.pro_incendiary=+ 能引起燃烧 +desc.item.ammo.pro_lunatic=+ 疯子 +desc.item.ammo.pro_marauder=+ 立即消除烦人的和不平衡的敌人 +desc.item.ammo.pro_mining=+ 爆炸使所有方块掉落 +desc.item.ammo.pro_no_gravity=+ 不受重力影响 +desc.item.ammo.pro_nuclear=+ 核爆 +desc.item.ammo.pro_penetration=+ 穿透 +desc.item.ammo.pro_percussion=+ 冲击波 +desc.item.ammo.pro_phosphorus=+ 可致磷烧伤 +desc.item.ammo.pro_phosphorus_splash=+ 磷飞溅 +desc.item.ammo.pro_poison_gas=+ 毒物飞溅 +desc.item.ammo.pro_radius=+ 增加爆炸半径 +desc.item.ammo.pro_radius_high=+ 大幅增加爆炸半径 +desc.item.ammo.pro_range=+ 增加射程 +desc.item.ammo.pro_rocket=+ 火箭 +desc.item.ammo.pro_rocket_propelled=+ 火箭推进 +desc.item.ammo.pro_shrapnel=+ 破片 +desc.item.ammo.pro_speed=+ 提高弹头飞行速度 +desc.item.ammo.pro_stunning=+ 眩晕 +desc.item.ammo.pro_toxic=+ 剧毒 +desc.item.ammo.pro_wear=+ 减少磨损 +desc.item.ammo.pro_withering=+ 凋零 +desc.item.armorMod.display=显示已安装的装甲模块 +desc.item.battery.charge=储能: %s / %sHE +desc.item.battery.chargePerc=储能: %s%% +desc.item.battery.chargeRate=充电效率: %sHE/刻 +desc.item.battery.dischargeRate=放电效率: %sHE/刻 +desc.item.durability=耐久: %s +desc.item.grenade.fuse=引信: %s +desc.item.grenade.fuseImpact=碰炸 +desc.item.grenade.fuseInstant=瞬发 +desc.item.gun.ammo=弹药 %s +desc.item.gun.ammoBelt=从背包中使用 +desc.item.gun.ammoEnergy=能耗; %sHE 每发 +desc.item.gun.ammoEnergyAlt=%sHE 每发 +desc.item.gun.ammoMag=%s / %s +desc.item.gun.ammoType=弹药类型: %s +desc.item.gun.ammoTypeAlt=辅助弹药: %s +desc.item.gun.damage=伤害: %s - %s +desc.item.gun.damageAlt=伤害: %s +desc.item.gun.lore=查看深入的知识 +desc.item.gun.loreFunc=查看深入功能 +desc.item.gun.manufacturer=制造商: %s +desc.item.gun.name=名称: %s +desc.item.gun.pellets=弹丸数:%s-%s +desc.item.gun.penetration=装甲穿透值: %s +desc.item.kitArmor=装甲将被新的装备取代。 +desc.item.kitHaz=装甲将被防护服取代。 +desc.item.kitPack=真便宜! +desc.item.kitPool=请在打开前清空背包库存! +desc.item.pileRod=§e使用钻孔石墨插入$§E使用螺丝刀拔出$ +desc.item.pipette.corrosive=可处理腐蚀性液体。 +desc.item.pipette.laboratory=现在精度提高了50倍! +desc.item.pipette.noCorrosive=§e无法处理腐蚀性液体。 +desc.item.pipette.noEmpty=§e移液管未排空 +desc.item.rtgDecay=衰变为:%s +desc.item.rtgHeat=功率级别:%s +desc.item.storage.capacity=容量 %s%%s +desc.item.storage.proscons=查看利弊列表 +desc.misc.357=.357 马格南 +desc.misc.556=.223 雷明顿 +desc.misc.762=.308 温彻斯特 +desc.misc.func=§n-- 作用 -- +desc.misc.lanthanum=“镧” +desc.misc.lctrl=§8按住 <§e§o左CTRL§8§o> %s +desc.misc.lore=§n-- 知识 -- +desc.misc.lshift=§8按住 <§e§o左SHIFT§8§o> %s +desc.misc.luna=§o20x155mm Lunatic +desc.misc.meltPoint=熔点: §c%s +desc.misc.noPos=未设置位置! +desc.misc.pos=将位置设置为:%s,%s,%s +desc.misc.posSet=位置已设置! +desc.item.wasteCooling=在乏燃料池中冷却 +desc.item.zirnoxBreedingRod=§2[ZIRNOX增殖棒]$§e放在燃料棒旁边增殖$§e持续 %d 刻 +desc.item.zirnoxRod=§a[ZIRNOX燃料棒]$§e每刻产生 %1$d 热量$§e持续 %2$d 刻 +digamma.playerDigamma=玩家F-迪伽马辐照水平: +digamma.playerHealth=玩家所受F-迪伽马辐照影响: +digamma.playerRes=玩家F-迪伽马防护水平: +digamma.title=玩家F-迪伽马辐射自检器 +entity.entity_cyber_crab.name=赛博螃蟹 +entity.entity_elder_one.name=上古鸭神 +entity.entity_fucc_a_ducc.name=鸭子 +entity.entity_glyphid.name=异虫 +entity.entity_glyphid_behemoth.name=巨兽异虫 +entity.entity_glyphid_blaster.name=爆破异虫 +entity.entity_glyphid_bombardier.name=投弹手异虫 +entity.entity_glyphid_brawler.name=狂战士异虫 +entity.entity_glyphid_brenda.name=布伦达 +entity.entity_glyphid_digger.name=掘地异虫 +entity.entity_glyphid_nuclear.name=大个子强森 +entity.entity_glyphid_scout.name=侦察异虫 +entity.entity_ntm_fbi.name=FBI探员 +entity.entity_ntm_fbi_drone.name=FBI无人机 +entity.entity_ntm_radiation_blaze.name=核融元素 +entity.hbm.entity_ntm_ufo.name=火星入侵者飞船 +entity.entity_mob_hunter_chopper.name=猎人直升机 +entity.entity_mob_mask_man.name=面具人 +entity.entity_mob_gold_creeper.name=黄金爬行者 +entity.entity_mob_nuclear_creeper.name=核爆爬行者 +entity.entity_mob_phosgene_creeper.name=光气爬行者 +entity.entity_mob_tainted_creeper.name=污染爬行者 +entity.entity_mob_volatile_creeper.name=不稳定爬行者 +entity.entity_parasite_maggot.name=寄生虫 +entity.entity_pigeon.name=鸽子 +entity.entity_plastic_bag.name=塑料袋 +entity.entity_taint_crab.name=污染螃蟹 +entity.entity_tesla_crab.name=磁暴螃蟹 +entity.hbm.entity_balls_o_tron.name=机械蠕虫 +entity.hbm.entity_balls_o_tron_seg.name=机械蠕虫 +entity.hbm.entity_bullet.name=子弹 +entity.hbm.entity_rocket.name=火箭弹 +entity.hbm.entity_schrabnel.name= +excavator.crusher=粉碎开关 +excavator.drill=挖掘开关 +excavator.silktouch=精准采集开关 +excavator.veinminer=连锁挖矿开关 +excavator.walling=填充开关 +flare.ignition=点火装置 +flare.valve=流量阀 +fluid.acid_fluid=酸 +fluid.corium_fluid=堆芯熔融物 +fluid.mud_fluid=毒泥 +fluid.rad_lava_fluid=放射性火山熔岩 +fluid.schrabidic_fluid=Sa酸 +fluid.toxic_fluid=绿色软泥 +fluid.volcanic_lava_fluid=火山熔岩 +foundry.filter=筛选器:%s +foundry.inverted=红石信号反转 +foundry.invertFilter=过滤器反转 +foundry.noCast=未安装模具! +geiger.chunkRad=当前区块辐射: +geiger.envRad=环境总辐射量: +geiger.playerRad=玩家辐射: +geiger.playerRes=辐射抗性: +geiger.title=盖革计数器 +geiger.title.dosimeter=剂量计 +gun.make.ARMALITE=阿玛莱特公司 +gun.make.AUTO_ORDINANCE=美国自动武器公司 +gun.make.BAE=英国宇航系统公司 +gun.make.BENELLI=伯奈利武器公司 +gun.make.BLACK_MESA=黑山研究所 +gun.make.CERIX=赛里克斯·马格努斯锻造世界 +gun.make.COLT=柯尔特制造公司 +gun.make.COMBINE=世界工会 +gun.make.CUBE=Cube 2: Sauerbraten +gun.make.DRG=深岩银河 +gun.make.ENZINGER=Enzinger工会 +gun.make.EQUESTRIA=小马国导弹系统 +gun.make.FLIMFLAM=FlimFlam“欺骗”工业 +gun.make.F_STRONG=史特朗堡 +gun.make.GLORIA=GLORIA公司 +gun.make.HASBRO=孩之宝 +gun.make.H_AND_K=黑克勒和科赫武器公司 +gun.make.H_AND_R=哈林顿-理查森武器公司 +gun.make.IF=蹄铁军工 +gun.make.IMI=以色列军事工业 +gun.make.IMI_BIGMT=以色列军事工业公司/大型MT +gun.make.LANGFORD=朗福德研究实验室 +gun.make.LUNA=月球防御公司 +gun.make.MAGNUM_R_IMI=马格南研究公司 / 以色列军事工业公司 +gun.make.MANN=Open Mann公司 +gun.make.MAXIM=海勒姆·马克沁 +gun.make.METRO=地铁枪手 +gun.make.MWT=MWT原型实验室 +gun.make.NAWS=卡亚姆工业 +gun.make.ERFURT=埃尔福特机械制造厂 +gun.make.NONE=- +gun.make.RAYTHEON=导弹系统公司 +gun.make.REMINGTON=雷明登武器公司 +gun.make.ROCKWELL=罗克韦尔国际公司 +gun.make.ROCKWELL_U=罗克韦尔国际公司? +gun.make.RYAN=莱恩工业 +gun.make.SAAB=萨博博福斯动力公司 +gun.make.SACO=萨科防卫军械 +gun.make.TULSKY=图拉武器厂 +gun.make.UAC=联合宇宙航空公司 +gun.make.UNKNOWN=??? +gun.make.WESTTEK=WestTek研究设施 +gun.make.WGW=威廉·古斯特洛夫·维尔克 +gun.make.WINCHESTER=温彻斯特速射武器公司 +gun.make.WINCHESTER_BIGMT=温彻斯特速射武器公司/大型MT +gun.name.ar15_50=AR-15 .50BMG型 +gun.name.baeAR=英国制式突击步枪 +gun.name.bel=野火蛋发射器 +gun.name.benelli=伯奈利M4 Super 90霰弹枪 +gun.name.benelliDrum=伯奈利M4 Super 90霰弹枪 (泵动供弹改进型) +gun.name.bio=RI No. 2 Mark 1 +gun.name.bolter=Manticora Pattern爆弹枪 +gun.name.congoLake=刚果湖水泵动榴弹发射器 +gun.name.cPython=柯尔特蟒蛇 +gun.name.cz53=CZ53 单兵转轮机枪 +gun.name.cz57=CZ57 复仇者机枪 +gun.name.dart=针枪 +gun.name.deagle=以色列军事工业公司沙漠之鹰 +gun.name.emp=EMP投射器 +gun.name.extinguisher=PROTEX灭火器6kg +gun.name.ffiV=FFI毒蛇 +gun.name.ffiVInox=FFI毒蛇 - Inox +gun.name.ffiVLead=FFI毒蛇 - 铅皮 +gun.name.ffiVN1=FFI毒蛇 - N1 +gun.name.ffiVN2=FFI毒蛇 - N2 +gun.name.ffiVUltra=FFI毒蛇 - 超能 +gun.name.ffivBling=FFI毒蛇 - 闪耀 +gun.name.ffivSatur=FFI毒蛇 - D-25A +gun.name.g36=HK G36突击步枪 +gun.name.gPistol=HK69A1 手持单发榴弹发射器 +gun.name.gustav=卡尔·古斯塔夫M1无后坐力炮 +gun.name.ifHorseshoe=IF-18 蹄铁 +gun.name.ifPit=IF-18 蹄铁 Bottomless Pit +gun.name.ifScope=IF-18 蹄铁 Scoped +gun.name.ifStorm=IF-18 蹄铁 银色风暴 +gun.name.ifVanity=IF-18 蹄铁 Vanity +gun.name.karl=M1 卡尔·古斯塔夫 +gun.name.ks23=KS-23霰弹枪 +gun.name.lacunae=“阙漏”之母 +gun.name.lasetDet=霍普维尔激光雷管 +gun.name.lunaAR=1986 Bishamonten式突击步枪 +gun.name.lunaGun=1978年罗睺罗式统一装备随身枪(第2版) +gun.name.lunaHLR=1944嫦娥式轻机枪 +gun.name.lunaShotty=1978年关羽式散弹枪(第1版) +gun.name.lunaSMG=1956 ānanda type Submachine Gun +gun.name.lunaSniper=1915后羿式反器材步枪 +gun.name.lunaTWR=时间扭曲步枪 +gun.name.m2=M2式勃朗宁大口径重机枪 +gun.name.m42=M-42战术核弹发射器 +gun.name.m42MIRV=M-42实验MIRV +gun.name.m60=7.62毫米口径M60机枪 +gun.name.maxim=马克沁机枪 +gun.name.maximDouble=双重马克沁机枪 +gun.name.mg3=MG-42通用机枪 +gun.name.mp40=MP40冲锋枪 +gun.name.nerf=某些无良记者眼中的大规模杀伤性武器 +gun.name.osipr=守望标准型脉冲步枪 +gun.name.panz=反坦克火箭来复枪 54 +gun.name.quadro=OpenQuadro便携式导弹发射器 +gun.name.remington870=雷明顿870 +gun.name.revolverCursed=不列颠标准问题电动手枪 +gun.name.sauer=绍尔猎枪 +gun.name.spas12=弗兰基SPAS-12式12号霰弹枪 +gun.name.spiw=H&R SPIW +gun.name.stinger=FIM-92毒刺便携式防空系统 +gun.name.stingerOneSky=The One Sky 毒刺便携式防空系统 +gun.name.supershotty=双管战斗霰弹枪 +gun.name.tau=XVL1456 陶子加农炮 +gun.name.tommy9=M1A1冲锋枪9毫米型 +gun.name.tommy=M1A1冲锋枪 +gun.name.topaz=重型火焰燃烧器 +gun.name.uacCarbine=UAC-41卡宾枪 +gun.name.uacDeagle=UAC-H54“火星猛禽”大容量手枪 +gun.name.uacDMR=UAC-30 精确射手步枪 +gun.name.uacLMG=UAC-49轻机枪 +gun.name.uacPistol=UAC-B950 .45 标准型手枪 +gun.name.uacSMG=UAC-17小型冲锋枪 +gun.name.uboinik=Uboinik转轮霰弹枪 +gun.name.uzi=IMI Uzi +gun.name.uziSatur=IMI Uzi D-25A +gun.name.win1887=温彻斯特M1887杠杆式连发霰弹枪 +gun.name.win1887Inox=温彻斯特M1887杠杆式连发霰弹枪 Inox +gun.name.win20Inox=温彻斯特20型Inox +gun.name.win20Poly=温彻斯特20型聚合物 +gun.name.win20Satur=温彻斯特20型 D-25A +gun.name.zomg=EMC101棱镜负能量炮 +hadron.analysis=正在分析... +hadron.buttonOn=分析室启动(如果存在) +hadron.buttonOff=分析室关闭 +hadron.error_generic=错误! +hadron.error_no_charge=错误 0x01 [能量不足] +hadron.error_no_analysis=错误 0x02 [无法分析] +hadron.error_obstructed_channel=错误 0x03 [通道阻塞] +hadron.error_expected_coil=错误 0x04 [缺少线圈] +hadron.error_malformed_segment=错误 0x05 [错误区段] +hadron.error_analysis_too_long=错误 0x06 [分析室过长] +hadron.error_analysis_too_short=错误 0x06 [分析室过长] +hadron.error_diode_collision=错误 0x08 [二极管方向错误] +hadron.error_branching_turn=错误 0x09 [多处分支] +hadron.hopper0=§e正常模式:$将使用所有物品 +hadron.hopper1=§e料斗模式:$将始终保留一个物品 +hadron.hopper2=§e单物品模式:$每个槽位只接受一个物品 +hadron.idle=空闲 +hadron.modeCircular=§e环形加速器模式:$磁铁必须环绕核心$解锁更多配方 +hadron.modeLine=§e直线加速器模式:$加速器末端有分析室$更少的配方 +hadron.noresult=无结果 +hadron.noresult_too_slow=动量不足! +hadron.noresult_wrong_ingredient=无效配方! +hadron.noresult_wrong_mode=错误模式! +hadron.progress=正在进行中... +hadron.stats=上一次结果: +hadron.stats_coord=错误位置:%s/%s/%s +hadron.stats_momentum=动量: %s +hadron.success=已完成! +hazard.prot=防止危险: +hazard.noprot=不能防止: +hazard.bacteria=细菌/气溶胶 +hazard.corrosive=腐蚀性烟雾 +hazard.gasChlorine=化学气体 +hazard.gasInert=惰性气体/沥青 +hazard.gasMonoxide=一氧化碳 +hazard.light=亮光 +hazard.nerveAgent=神经毒剂 +hazard.neverProtects=无法防护: +hazard.particleCoarse=空气微粒 +hazard.particleFine=微粒 +hazard.sand=眼睛刺激物 +hbm.key=HBM的核科技mod 热键 +hbm.key.calculator=计算器 +hbm.key.copyToolAlt=设定工具 - 切换粘贴内容 +hbm.key.copyToolCtrl=设定工具 - 粘贴至相连管道 +hbm.key.craneLoad=装卸起重机 +hbm.key.craneMoveDown=向后移动起重机 +hbm.key.craneMoveLeft=向左移动起重机 +hbm.key.craneMoveRight=向右移动起重机 +hbm.key.craneMoveUp=向前移动起重机 +hbm.key.dash=冲刺 (在config中解绑) +hbm.key.gunPrimary=主手开火 +hbm.key.gunSecondary=副手开火 +hbm.key.gunTertitary=枪械瞄准镜 +hbm.key.toggleBack=开关 喷气背包 +hbm.key.toggleHUD=开关 HUD +hbm.key.trainInv=火车物品栏 +hbm.key.reload=装弹 +hbmfluid.amat=反物质 +hbmfluid.aromatics=芳香烃 +hbmfluid.aschrab=反Sa326 +hbmfluid.balefire=野火火箭燃料 +hbmfluid.biofuel=生物燃料 +hbmfluid.biogas=沼气 +hbmfluid.bitumen=沥青 +hbmfluid.blood=血 +hbmfluid.blood_hot=热的血 +hbmfluid.calcium_chloride=氯化钙溶液 +hbmfluid.calcium_solution=钙溶液 +hbmfluid.carbondioxide=二氧化碳 +hbmfluid.chlorine=氯气 +hbmfluid.chlorocalcite_cleaned=纯净氯方解石溶液 +hbmfluid.chlorocalcite_mix=混合氯方解石溶液 +hbmfluid.chlorocalcite_solution=氯方解石溶液 +hbmfluid.cholesterol=胆固醇溶液 +hbmfluid.coalcreosote=煤焦杂酚油 +hbmfluid.coalgas=煤汽油 +hbmfluid.coalgas_leaded=含铅煤汽油 +hbmfluid.coaloil=煤液化油 +hbmfluid.colloid=胶体 +hbmfluid.coolant=冷却液 +hbmfluid.coolant_hot=热冷却液 +hbmfluid.crackoil=裂化油 +hbmfluid.crackoil_ds=脱硫裂化油 +hbmfluid.cryogel=冷凝胶 +hbmfluid.death=锇酸溶液 +hbmfluid.deuterium=氘 +hbmfluid.diesel=柴油 +hbmfluid.diesel_crack=裂化柴油 +hbmfluid.diesel_crack_reform=高十六烷值裂化柴油 +hbmfluid.diesel_reform=高十六烷值柴油 +hbmfluid.egg=蛋溶解液 +hbmfluid.estradiol=雌二醇溶液 +hbmfluid.ethanol=乙醇 +hbmfluid.enderjuice=末影果汁 +hbmfluid.fishoil=鱼油 +hbmfluid.fracksol=压裂液 +hbmfluid.fullerene=富勒烯溶液 +hbmfluid.gas=天然气 +hbmfluid.gas_coker=焦化气 +hbmfluid.gasoline=含铅汽油基油 +hbmfluid.gasoline_leaded=含铅汽油 +hbmfluid.heatingoil=燃油 +hbmfluid.heatingoil_vacuum=重质燃油 +hbmfluid.heavyoil=重油 +hbmfluid.heavyoil_vacuum=减压重油 +hbmfluid.heavywater=重水 +hbmfluid.heavywater_hot=高温重水 +hbmfluid.helium3=氦-3 +hbmfluid.helium4=氦-4 +hbmfluid.hotcrackoil=热裂化油 +hbmfluid.hotcrackoil_ds=热的脱硫裂化油 +hbmfluid.hotoil=热原油 +hbmfluid.hotoil_ds=热的脱硫原油 +hbmfluid.hotsteam=热蒸汽 +hbmfluid.hydrogen=液氢 +hbmfluid.iongel=离子凝胶 +hbmfluid.kerosene=煤油 +hbmfluid.kerosene_reform=喷气燃料 +hbmfluid.lava=岩浆 +hbmfluid.lead=液态铅 +hbmfluid.lead_hot=高温液态铅 +hbmfluid.lightoil=轻油 +hbmfluid.lightoil_crack=裂化轻油 +hbmfluid.lightoil_ds=脱硫轻油 +hbmfluid.lightoil_vacuum=减压轻油 +hbmfluid.lpg=液化石油气 +hbmfluid.lubricant=润滑油 +hbmfluid.mercury=水银 +hbmfluid.mug=Mug牌树根饮料 +hbmfluid.mug_hot=热的Mug牌树根饮料 +hbmfluid.mustardgas=芥子气 +hbmfluid.naphtha=石脑油 +hbmfluid.naphtha_coker=焦化石脑油 +hbmfluid.naphtha_crack=裂化石脑油 +hbmfluid.naphtha_ds=脱硫石脑油 +hbmfluid.nitan=NITAN牌100号超级燃料 +hbmfluid.nitric_acid=硝酸 +hbmfluid.nitroglycerin=硝酸甘油 +hbmfluid.none=无 +hbmfluid.oil=原油 +hbmfluid.oil_coker=焦化油 +hbmfluid.oil_ds=脱硫原油 +hbmfluid.oxygen=液氧 +hbmfluid.oxyhydrogen=氢氧混合气 +hbmfluid.pain=Pn(III) 钽铁溶液 +hbmfluid.perfluoromethyl=四氟甲烷 +hbmfluid.perfluoromethyl_cold=冷四氟甲烷 +hbmfluid.perfluoromethyl_hot=热四氟甲烷 +hbmfluid.peroxide=过氧化氢 +hbmfluid.petroil=汽油 +hbmfluid.petroil_leaded=含铅石油 +hbmfluid.petroleum=石油气 +hbmfluid.pheromone=异虫信息素 +hbmfluid.pheromone_m=增强异虫信息素 +hbmfluid.phosgene=光气 +hbmfluid.plasma_bf=野火等离子体 +hbmfluid.plasma_dh3=氘-氦3 等离子体 +hbmfluid.plasma_dt=氘-氚等离子体 +hbmfluid.plasma_hd=氢-氘等离子体 +hbmfluid.plasma_ht=氢-氚等离子体 +hbmfluid.plasma_xm=液氧-氦-4等离子体 +hbmfluid.potassium_chloride=氯化钾溶液 +hbmfluid.puf6=六氟化钚 +hbmfluid.radiosolvent=高性能溶剂 +hbmfluid.reclaimed=再生油 +hbmfluid.redmud=红色泥浆 +hbmfluid.reformate=重整油 +hbmfluid.reformgas=重整气 +hbmfluid.salient=绿色液体 +hbmfluid.sas3=三硫化Sa +hbmfluid.schrabidic=Sa酸 +hbmfluid.seedslurry=播种浆料 +hbmfluid.slop=洗矿废水 +hbmfluid.smear=工业油 +hbmfluid.smoke=烟雾 +hbmfluid.smoke_leaded=含铅烟雾 +hbmfluid.smoke_poison=有毒烟雾 +hbmfluid.sodium=液态钠 +hbmfluid.sodium_hot=高温液态钠 +hbmfluid.solvent=有机溶剂 +hbmfluid.sourgas=高硫天然气 +hbmfluid.spentsteam=低压蒸汽 +hbmfluid.steam=蒸汽 +hbmfluid.stellar_flux=星流浆 +hbmfluid.sulfuric_acid=硫酸 +hbmfluid.sunfloweroil=葵花籽油 +hbmfluid.superhotsteam=超热蒸汽 +hbmfluid.syngas=合成气 +hbmfluid.thorium_salt=液态钍盐 +hbmfluid.thorium_salt_depleted=贫化液态钍盐 +hbmfluid.thorium_salt_hot=高温液态钍盐 +hbmfluid.tritium=氚 +hbmfluid.uf6=六氟化铀 +hbmfluid.ultrahotsteam=超浓密蒸汽 +hbmfluid.unsaturateds=不饱和烃 +hbmfluid.vitriol=硫酸盐溶液 +hbmfluid.wastefluid=液态核废料 +hbmfluid.wastegas=气态核废料 +hbmfluid.water=水 +hbmfluid.watz=毒泥浆 +hbmfluid.woodoil=木油 +hbmfluid.xenon=氙气 +hbmfluid.xpjuice=经验汁 +hbmfluid.xylene=轻质芳烃(BTX) +hbmpseudofluid.none=空 +hbmpseudofluid.heuf6=高浓缩六氟化铀 +hbmpseudofluid.meuf6=中浓缩六氟化铀 +hbmpseudofluid.leuf6=低浓缩六氟化铀 +hbmpseudofluid.nuf6=天然浓度六氟化铀 +hbmpseudofluid.pf6=六氟化钚 +hbmpseudofluid.mud_heavy=毒泥浆重馏分 +hbmpseudofluid.mud=毒泥浆气态物 +hbmmat.actinium227=锕-227 +hbmmat.advancedalloy=高级合金 +hbmmat.aluminum=铝 +hbmmat.americiumrg=反应堆级镅 +hbmmat.americium241=镅-241 +hbmmat.americium242=镅-242 +hbmmat.arsenic=砷 +hbmmat.arsenicbronze=砷青铜 +hbmmat.asbestos=石棉 +hbmmat.bakelite=电木 +hbmmat.beryllium=铍 +hbmmat.bismuth=铋 +hbmmat.bismuthbronze=铋青铜 +hbmmat.bone=象牙 +hbmmat.borax=硼砂 +hbmmat.boron=硼 +hbmmat.bscco=BSCCO超导体 +hbmmat.cadmium=镉 +hbmmat.calcium=钙 +hbmmat.carbon=碳 +hbmmat.cdalloy=镉钢 +hbmmat.chlorocalcite=氯方解石 +hbmmat.cinnabar=朱砂 +hbmmat.cmbsteel=CMB钢 +hbmmat.coal=煤 +hbmmat.coalcoke=焦煤 +hbmmat.cobalt=钴 +hbmmat.cobalt60=钴-60 +hbmmat.coltan=钶钽铁矿 +hbmmat.copper=铜 +hbmmat.desh=Desh +hbmmat.diamond=钻石 +hbmmat.dineutronium=双聚中子态素 +hbmmat.durasteel=高速钢 +hbmmat.emerald=绿宝石 +hbmmat.euphemium=Ep +hbmmat.ferrouranium=铀铁合金 +hbmmat.fiberglass=玻璃纤维 +hbmmat.fluorite=氟石 +hbmmat.flux=助熔剂 +hbmmat.ghiorsium336=Gh-336 +hbmmat.gold=金 +hbmmat.gold198=金-198 +hbmmat.graphene=石墨烯 +hbmmat.graphite=石墨 +hbmmat.gunmetal=炮铜 +hbmmat.hematite=赤铁矿 +hbmmat.iron=铁 +hbmmat.lanthanum=镧 +hbmmat.lapis=青金石 +hbmmat.lead=铅 +hbmmat.lead209=铅-209 +hbmmat.lignitecoke=褐煤焦煤 +hbmmat.lignite=褐煤 +hbmmat.lithium=锂 +hbmmat.magnetizedtungsten=磁化钨 +hbmmat.malachite=孔雀石 +hbmmat.meteoriciron=陨铁 +hbmmat.mingrade=紫铜 +hbmmat.molysite=氯化铁 +hbmmat.neodymium=钕 +hbmmat.neptunium237=镎-237 +hbmmat.niobium=铌 +hbmmat.obsidian=黑曜石 +hbmmat.osmiridium=铱锇合金 +hbmmat.petcoke=石油焦炭 +hbmmat.pigiron=生铁 +hbmmat.plutonium=钚 +hbmmat.plutonium238=钚-238 +hbmmat.plutonium239=钚-239 +hbmmat.plutonium240=钚-240 +hbmmat.plutonium241=钚-241 +hbmmat.plutoniumrg=反应堆级钚 +hbmmat.polonium210=钋-210 +hbmmat.polycarbonate=硬塑料 +hbmmat.polymer=聚合物 +hbmmat.pvc=PVC +hbmmat.radium226=镭-226 +hbmmat.rareearth=稀土 +hbmmat.redphosphorus=红磷 +hbmmat.redstone=红石 +hbmmat.rubber=橡胶 +hbmmat.saltpeter=硝石 +hbmmat.saturnite=土星 +hbmmat.schrabidate=Sa酸铁 +hbmmat.schrabidium=Sa326 +hbmmat.schraranium=低丰度Sa326 +hbmmat.silicon=硅 +hbmmat.slag=炉渣 +hbmmat.sodalite=方钠石 +hbmmat.sodium=钠 +hbmmat.solinium=Sa327 +hbmmat.starmetal=星辉 +hbmmat.steel=钢 +hbmmat.stone=石头 +hbmmat.strontium=锶 +hbmmat.sulfur=硫 +hbmmat.tantalum=钽 +hbmmat.tcalloy=锝钢 +hbmmat.technetium99=锝-99 +hbmmat.titanium=钛 +hbmmat.thorium232=钍-232 +hbmmat.tungsten=钨 +hbmmat.uranium=铀 +hbmmat.uranium233=铀-233 +hbmmat.uranium235=铀-235 +hbmmat.uranium238=铀-238 +hbmmat.watzmud=毒泥浆 +hbmmat.weaponsteel=武器级钢 +hbmmat.whitephosphorus=白磷 +hbmmat.wood=木头 +hbmmat.workersalloy=Desh +hbmmat.wroughtiron=锻铁 +hbmmat.zirconium=锆 +matshape.block=%s 块 +matshape.blocks=%s 块 +matshape.ingot=%s 锭 +matshape.ingots=%s 锭 +matshape.nugget=%s 粒 +matshape.nuggets=%s 粒 +matshape.quantum=%s 量子 +matshape.quanta=%s 量子 +icffuel.beryllium=铍 +icffuel.boron=硼 +icffuel.carbon=碳 +icffuel.calcium=钙 +icffuel.chlorine=氯 +icffuel.deuterium=氘 +icffuel.helium3=氦-3 +icffuel.helium4=氦-4 +icffuel.hydrogen=氢 +icffuel.lithium=锂 +icffuel.oxygen=氧 +icffuel.sodium=钠 +icffuel.tritium=氚 +info.asbestos=我感觉我的肺在燃烧。 +info.coaldust=在这里很难呼吸。 +info.coil=线圈强度 +info.templatefolder=需要使用%s创建 +info.template_in=输入: +info.template_in_p=输入: +info.template_out=输出: +info.template_out_p=输出: +info.template_seconds=秒 +info.template_time=生产耗时: +item.acetylene_torch.name=乙炔焊罐 +item.ajr_boots.name=AJR 动力装甲靴子 +item.ajr_helmet.name=AJR 动力装甲头盔 +item.ajr_legs.name=AJR 动力装甲护腿 +item.ajr_plate.name=AJR 动力装甲胸甲 +item.ajro_boots.name=AJR动力装甲靴子 +item.ajro_helmet.name=AJR 动力装甲头盔 +item.ajro_legs.name=AJR 动力装甲护腿 +item.ajro_plate.name=AJR 动力装甲胸甲 +item.alloy_axe.name=高级合金斧 +item.alloy_boots.name=高级合金靴子 +item.alloy_helmet.name=高级合金头盔 +item.alloy_hoe.name=高级合金锄 +item.alloy_legs.name=高级合金护腿 +item.alloy_pickaxe.name=高级合金镐 +item.alloy_plate.name=高级合金胸甲 +item.alloy_shovel.name=高级合金锹 +item.alloy_sword.name=高级合金剑 +item.ammo_arty.name=16英寸炮弹 +item.ammo_arty_cargo.name=16英寸快递炮弹 +item.ammo_arty_chlorine.name=16英寸氯气炮弹 +item.ammo_arty_classic.name=16英寸炮弹 (特制) +item.ammo_arty_he.name=16英寸高爆炮弹 +item.ammo_arty_mini_nuke.name=16英寸微型核炮弹 +item.ammo_arty_mini_nuke_multi.name=16英寸多弹头微型核炮弹 +item.ammo_arty_mustard_gas.name=16英寸芥子气炮弹 +item.ammo_arty_nuke.name=16英寸核炮弹 +item.ammo_arty_phosgene.name=16英寸光气炮弹 +item.ammo_arty_phosphorus.name=16英寸磷炮弹 +item.ammo_arty_phosphorus_multi.name=16英寸多弹头磷炮弹 +item.ammo_container.name=万能弹药盒 +item.ammo_dgk.name=双联守门员近防系统200发弹药 +item.ammo_fireext.name=灭火器 水罐 +item.ammo_fireext_foam.name=灭火器 泡沫罐 +item.ammo_fireext_sand.name=灭火器 硼沙罐 +item.ammo_himars_standard.name=M28制导火箭炮系统火箭弹舱 +item.ammo_himars_standard_he.name=227毫米制导火箭炮系统火箭吊舱(HE) +item.ammo_himars_standard_lava.name=227毫米制导火箭炮系统火箭吊舱(熔岩) +item.ammo_himars_standard_mini_nuke.name=227毫米制导火箭炮系统火箭吊舱(迷你核弹) +item.ammo_himars_standard_tb.name=227毫米制导火箭炮系统火箭吊舱(温压弹) +item.ammo_himars_standard_wp.name=227毫米制导火箭炮系统火箭吊舱(白磷) +item.ammo_himars_single.name=M39A1制导火箭炮系统火箭弹舱 +item.ammo_himars_single_tb.name=610毫米制导火炮火箭吊舱(温压弹) +item.ammo_shell.name=240mm炮弹 +item.ammo_shell_apfsds_du.name=240mm 贫铀尾翼稳定脱壳穿甲弹 +item.ammo_shell_apfsds_t.name=240mm 钨心尾翼稳定脱壳穿甲弹 +item.ammo_shell_explosive.name=240mm 高爆炮弹 +item.ammo_shell_w9.name=240mm W9核子炮弹 +item.ammo_secret.bmg50_equestrian.name=.50BMG子弹[破坏者] +item.ammo_secret.folly_nuke.name=银弹[核子] +item.ammo_secret.folly_sm.name=银弹 +item.ammo_secret.g12_equestrian.name=12号鹿弹[铁路道钉] +item.ammo_secret.m44_equestrian.name=.44马格南[爆头器] +item.ammo_standard.b75.name=.75“螺栓” +item.ammo_standard.b75_exp.name=.75“螺栓”(高爆) +item.ammo_standard.b75_inc.name=.75“螺栓”(燃烧) +item.ammo_standard.bmg50_ap.name=.50BMG子弹(穿甲弹) +item.ammo_standard.bmg50_du.name=.50BMG子弹(贫铀弹) +item.ammo_standard.bmg50_fmj.name=.50BMG子弹(金属被甲弹) +item.ammo_standard.bmg50_jhp.name=.50BMG子弹(被甲空尖弹) +item.ammo_standard.bmg50_sp.name=.50BMG子弹(普通弹) +item.ammo_standard.capacitor.name=电容器 +item.ammo_standard.capacitor_ir.name=电容器(低波长) +item.ammo_standard.capacitor_overcharge.name=电容器(过载) +item.ammo_standard.coil_ferrouranium.name=铀铁合金制线圈枪子弹 +item.ammo_standard.coil_tungsten.name=钨制线圈枪子弹 +item.ammo_standard.flame_balefire.name=野火燃料罐 +item.ammo_standard.flame_diesel.name=柴油罐 +item.ammo_standard.flame_gas.name=天然气罐 +item.ammo_standard.flame_napalm.name=凝固汽油罐 +item.ammo_standard.g10.name=十号鹿弹 +item.ammo_standard.g10_du.name=十号贫铀鹿弹 +item.ammo_standard.g10_shrapnel.name=十号霰弹(易跳弹) +item.ammo_standard.g10_slug.name=10号独头弹 +item.ammo_standard.g12.name=12号鹿弹 +item.ammo_standard.g12_anthrax.name=12号炭疽弹 +item.ammo_standard.g12_bp.name=12号黑火药鹿弹 +item.ammo_standard.g12_bp_magnum.name=12号黑火药马格南鹿弹 +item.ammo_standard.g12_bp_slug.name=12号黑火药独头弹 +item.ammo_standard.g12_explosive.name=12号爆炸独头弹 +item.ammo_standard.g12_flechette.name=12号箭形弹 +item.ammo_standard.g12_magnum.name=12号马格南鹿弹 +item.ammo_standard.g12_phosphorus.name=12号白磷鹿弹 +item.ammo_standard.g12_slug.name=12号独头弹 +item.ammo_standard.g26_flare.name=26mm信号弹 +item.ammo_standard.g26_flare_supply.name=26mm信号弹(支援空投) +item.ammo_standard.g26_flare_weapon.name=26mm信号弹(武器空投) +item.ammo_standard.g40_demo.name=40mm破坏者榴弹 +item.ammo_standard.g40_he.name=40mm高爆榴弹 +item.ammo_standard.g40_heat.name=40mm聚能装药榴弹 +item.ammo_standard.g40_inc.name=40mm燃烧榴弹 +item.ammo_standard.g40_phosphorus.name=40mm白磷榴弹 +item.ammo_standard.m357_ap.name=.357马格南子弹(穿甲弹) +item.ammo_standard.m357_bp.name=.357马格南子弹(黑火药装药) +item.ammo_standard.m357_express.name=.357马格南子弹(额外装药FMJ) +item.ammo_standard.m357_fmj.name=.357马格南子弹(全金属被甲弹) +item.ammo_standard.m357_jhp.name=.357马格南子弹(被甲空尖弹) +item.ammo_standard.m357_sp.name=.357马格南子弹(普通弹) +item.ammo_standard.m44_ap.name=.44马格南子弹(穿甲弹) +item.ammo_standard.m44_bp.name=.44马格南子弹(黑火药装药) +item.ammo_standard.m44_express.name=.44马格南子弹(额外装药FMJ) +item.ammo_standard.m44_fmj.name=.44马格南子弹(全金属被甲弹) +item.ammo_standard.m44_jhp.name=.44马格南子弹(被甲空尖弹) +item.ammo_standard.m44_sp.name=.44马格南子弹(普通弹) +item.ammo_standard.nuke_demo.name=迷你核弹(破坏方块) +item.ammo_standard.nuke_high.name=迷你核弹(高装药) +item.ammo_standard.nuke_hive.name=火箭巢 +item.ammo_standard.nuke_standard.name=迷你核弹 +item.ammo_standard.nuke_tots.name=迷你核弹(幼体) +item.ammo_standard.p22_ap.name=.22LR子弹(穿甲弹) +item.ammo_standard.p22_fmj.name=.22LR子弹(全金属被甲弹) +item.ammo_standard.p22_jhp.name=.22LR子弹(被甲空尖弹) +item.ammo_standard.p22_sp.name=.22LR子弹(普通弹) +item.ammo_standard.p9_ap.name=9mm子弹(穿甲弹) +item.ammo_standard.p9_fmj.name=9mm子弹(全金属被甲弹) +item.ammo_standard.p9_jhp.name=9mm子弹(被甲空尖弹) +item.ammo_standard.p9_sp.name=.9mm子弹(普通弹) +item.ammo_standard.r556_ap.name=5.56mm子弹(穿甲弹) +item.ammo_standard.r556_fmj.name=5.56mm子弹(全金属被甲弹) +item.ammo_standard.r556_jhp.name=5.56mm子弹(被甲空尖弹) +item.ammo_standard.r556_sp.name=5.56mm子弹(普通弹) +item.ammo_standard.r762_ap.name=7.62mm子弹(穿甲弹) +item.ammo_standard.r762_du.name=7.62mm子弹(贫铀弹) +item.ammo_standard.r762_fmj.name=7.62mm子弹(全金属被甲弹) +item.ammo_standard.r762_jhp.name=7.62mm子弹(被甲空尖弹) +item.ammo_standard.r762_sp.name=7.62mm子弹(普通弹) +item.ammo_standard.rocket_demo.name=破坏者火箭弹 +item.ammo_standard.rocket_he.name=高爆火箭弹 +item.ammo_standard.rocket_heat.name=聚能装药火箭弹 +item.ammo_standard.rocket_inc.name=燃烧火箭弹 +item.ammo_standard.rocket_phosphorus.name=白磷火箭弹 +item.ammo_standard.stone.name=圆石和黑火药 +item.ammo_standard.stone_ap.name=燧石和黑火药 +item.ammo_standard.stone_iron.name=铁球和黑火药 +item.ammo_standard.stone_shot.name=霰弹和黑火药 +item.ammo_standard.tau_uranium.name=贫化铀235子弹 +item.ams_catalyst_aluminium.name=铝反应催化剂 +item.ams_catalyst_beryllium.name=铍反应催化剂 +item.ams_catalyst_blank.name=空白反应催化剂 +item.ams_catalyst_caesium.name=铯反应催化剂 +item.ams_catalyst_cerium.name=铈反应催化剂 +item.ams_catalyst_cobalt.name=钴反应催化剂 +item.ams_catalyst_copper.name=铜反应催化剂 +item.ams_catalyst_dineutronium.name=双聚中子态素反应催化剂 +item.ams_catalyst_euphemium.name=Ep反应催化剂 +item.ams_catalyst_iron.name=铁反应催化剂 +item.ams_catalyst_lithium.name=锂反应催化剂 +item.ams_catalyst_niobium.name=铌反应催化剂 +item.ams_catalyst_schrabidium.name=Sa326反应催化剂 +item.ams_catalyst_strontium.name=锶反应催化剂 +item.ams_catalyst_thorium.name=钍反应催化剂 +item.ams_catalyst_tungsten.name=钨反应催化剂 +item.ams_core_eyeofharmony.name=和谐之眼[AMS/DFC核心] +item.ams_core_sing.name=活跃奇点[AMS/DFC核心] +item.ams_core_thingy.name=Thingy[AMS/DFC核心] +item.ams_core_wormhole.name=微型虫洞[AMS/DFC核心] +item.ams_focus_blank.name=空白稳定器焦点 +item.ams_focus_booster.name=增压型稳定器焦点 +item.ams_focus_booster.desc=较弱的约束场和核心能量注入:$更多的热量产生,更多的能量。 +item.ams_focus_limiter.name=限制稳定器焦点 +item.ams_focus_limiter.desc=限制领域的最高性能:$标准冷却,无能源加成。 +item.ams_lens.name=稳定透镜 +item.ams_muzzle.name=激活射线发射极 +item.ams_muzzle.desc=...它可以发出一束能量束。 +item.analysis_tool.name=分析工具 +item.analyzer.name=分析仪 +item.anchor_remote.name=召回设备 +item.apple_euphemium.name=Ep苹果 +item.apple_lead.name=铅苹果 +item.apple_schrabidium.name=Sa326苹果 +item.arc_electrode.name=石墨电极 +item.arc_electrode.desh.name=Desh电极 +item.arc_electrode.graphite.name=石墨电极 +item.arc_electrode.lanthanium.name=镧电极 +item.arc_electrode.saturnite.name=土星电极 +item.arc_electrode_burnt.name=熔化电极 +item.arc_electrode_burnt.desh.name=熔化Desh电极 +item.arc_electrode_burnt.graphite.name=熔化石墨电极 +item.arc_electrode_burnt.lanthanium.name=熔化镧电极 +item.arc_electrode_burnt.saturnite.name=熔化土星电极 +item.arc_electrode_desh.name=Desh电极 +item.armor_battery.name=动力装甲电池组 +item.armor_battery_mk2.name=动力装甲电池组 Mk2 +item.armor_battery_mk3.name=动力装甲电池组 Mk3 +item.armor_polish.name=亮甲牌装甲抛光剂 +item.asbestos_boots.name=防火靴 +item.asbestos_cloth.name=防火布 +item.asbestos_helmet.name=防火头盔 +item.asbestos_legs.name=防火护腿 +item.asbestos_plate.name=防火胸甲 +item.ashglasses.name=防灰烬护目镜 +item.assembly_45.name=.45 ACP子弹[待装配] +item.assembly_556.name=5.56mm子弹[待装配] +item.assembly_762.name=7.62mm子弹[待装配] +item.assembly_actionexpress.name=.50 AE子弹[待装配] +item.assembly_calamity.name=.50 BMG子弹[待装配] +item.assembly_desh.name=Desh子弹[待装配] +item.assembly_gold.name=金子弹[待装配] +item.assembly_iron.name=铁子弹[待装配] +item.assembly_lacunae.name=.5mm子弹[待装配] +item.assembly_lead.name=玻璃子弹[待装配] +item.assembly_luna.name=Lunatic狙击子弹[待装配] +item.assembly_nightmare.name=钨子弹[待装配] +item.assembly_nopip.name=.44马格南[待装配] +item.assembly_nuke.name=迷你核弹外壳 +item.assembly_pip.name=污染子弹[待装配] +item.assembly_schrabidium.name=Sa326子弹[待装配] +item.assembly_smg.name=9mm子弹[待装配] +item.assembly_steel.name=铅子弹[待装配] +item.assembly_template.name=装配机模板: +item.assembly_uzi.name=.22 LR子弹[待装配] +item.attachment_mask.name=附加型防毒面具 +item.attachment_mask_mono.name=可接入式半面罩防毒面具 +item.australium_iii.name=MkIII寿命延长剂 +item.australium_iv.name=MkIV寿命延长剂 +item.australium_v.name=MkV寿命延长剂 +item.back_tesla.name=背负式特斯拉线圈 +item.balefire_and_ham.name=火腿野火蛋 +item.balefire_and_steel.name=野火打火石 +item.balefire_scrambled.name=炒野火蛋 +item.ball_dynamite.name=硝糖炸药 +item.ball_fireclay.name=耐火粘土 +item.ball_resin.name=乳胶 +item.ball_tatb.name=三氨基三硝基苯(TATB) +item.ball_tnt.name=TNT炸药 +item.ballistic_gauntlet.name=冲击拳套 +item.ballistite.name=混合无烟火药 +item.bandaid.name=邦迪创可贴 +item.bathwater.name=有毒肥皂水 +item.bathwater_mk2.name=有毒肥皂水(马香味) +item.battery_advanced.name=高级电池 +item.battery_advanced_cell.name=高级电池组 +item.battery_advanced_cell_12.name=十二联高级电池组 +item.battery_advanced_cell_4.name=四联高级电池组 +item.battery_creative.name=无限电池 +item.battery_generic.name=电池 +item.battery_lithium.name=锂电池 +item.battery_lithium_cell.name=锂电池组 +item.battery_lithium_cell_3.name=三联锂电池组 +item.battery_lithium_cell_6.name=六联锂电池组 +item.battery_potato.name=马铃薯电池 +item.battery_potatos.name=马铃薯OS +item.battery_red_cell.name=红石电池组 +item.battery_red_cell_24.name=二十四联红石电池组 +item.battery_red_cell_6.name=六联红石电池组 +item.battery_sc_americium.name=自充电 镅-241电池 +item.battery_sc_gold.name=自充电 金-198电池 +item.battery_sc_lead.name=自充电 铅-209电池 +item.battery_sc_plutonium.name=自充电 钚-238电池 +item.battery_sc_polonium.name=自充电 钋-210电池 +item.battery_sc_technetium.name=自充电 锝-98电池 +item.battery_sc_uranium.name=自充电 铀-238电池 +item.battery_schrabidium.name=Sa326电池 +item.battery_schrabidium_cell.name=Sa326电池组 +item.battery_schrabidium_cell_2.name=双联Sa326电池组 +item.battery_schrabidium_cell_4.name=四联Sa326电池组 +item.battery_spark.name=Spark电池 +item.battery_spark_cell_100.name=Spark神秘储能电池组 +item.battery_spark_cell_1000.name=Spark神秘物质能量空间 +item.battery_spark_cell_10000.name=Spark时空晶体 +item.battery_spark_cell_25.name=Spark神秘汽车电池 +item.battery_spark_cell_2500.name=Spark神秘迪拉克之海 +item.battery_spark_cell_6.name=Spark电池组 +item.battery_spark_cell_power.name=Spark反物理储能装置 +item.battery_steam.name=蒸汽动力储能罐 +item.battery_steam_large.name=大型蒸汽动力储能罐 +item.battery_su.name=SU-电池 +item.battery_su_l.name=大型SU-电池 +item.battery_trixite.name=杂牌Spark电池 +item.bdcl.name=BDCL +item.bedrock_ore.grade.base.name=%s基岩矿石 +item.bedrock_ore.grade.base_roasted.name=焙烧%s基岩矿石 +item.bedrock_ore.grade.base_washed.name=洗净%s基岩矿石 +item.bedrock_ore.grade.primary.name=%s基岩矿石主产物 +item.bedrock_ore.grade.primary_roasted.name=焙烧%s基岩矿石主产物 +item.bedrock_ore.grade.primary_sulfuric.name=酸浸%s基岩矿石主产物 +item.bedrock_ore.grade.primary_nosulfuric.name=离心酸浸%s基岩矿石主产物 +item.bedrock_ore.grade.primary_solvent.name=溶解%s基岩矿石主产物 +item.bedrock_ore.grade.primary_nosolvent.name=离心溶解%s基岩矿石主产物 +item.bedrock_ore.grade.primary_rad.name=清洁%s基岩矿石主产物 +item.bedrock_ore.grade.primary_norad.name=离心清洁%s基岩矿石主产物 +item.bedrock_ore.grade.primary_first.name=高重量%s基岩矿石主产物 +item.bedrock_ore.grade.primary_second.name=低重量%s基岩矿石主产物 +item.bedrock_ore.grade.crumbs.name=%s基岩矿石矿渣 +item.bedrock_ore.grade.sulfuric_byproduct.name=酸浸%s基岩矿石副产物 +item.bedrock_ore.grade.sulfuric_roasted.name=焙烧酸浸%s基岩矿石副产物 +item.bedrock_ore.grade.sulfuric_arc.name=灼热酸浸%s基岩矿石副产物 +item.bedrock_ore.grade.sulfuric_washed.name=洗净酸浸%s基岩矿石副产物 +item.bedrock_ore.grade.solvent_byproduct.name=溶解%s基岩矿石副产物 +item.bedrock_ore.grade.solvent_roasted.name=焙烧溶解%s基岩矿石副产物 +item.bedrock_ore.grade.solvent_arc.name=灼热溶解%s基岩矿石副产物 +item.bedrock_ore.grade.solvent_washed.name=洗净溶解%s基岩矿石副产物 +item.bedrock_ore.grade.rad_byproduct.name=清洁%s基岩矿石副产物 +item.bedrock_ore.grade.rad_roasted.name=焙烧清洁%s基岩矿石副产物 +item.bedrock_ore.grade.rad_arc.name=灼热清洁%s基岩矿石副产物 +item.bedrock_ore.grade.rad_washed.name=洗净清洁%s基岩矿石副产物 +item.bedrock_ore.trait.arc=§6电弧炉煅烧 +item.bedrock_ore.trait.centrifuged=§9离心处理 +item.bedrock_ore.trait.rad=§a高性能溶剂处理 +item.bedrock_ore.trait.roasted=§e复式炼焦炉焙烧 +item.bedrock_ore.trait.solvent=§f有机溶剂处理 +item.bedrock_ore.trait.sulfuric=§6硫酸处理 +item.bedrock_ore.trait.washed=§b水洗 +item.bedrock_ore.type.actinide.name=锕系元素 +item.bedrock_ore.type.crystal.name=晶体 +item.bedrock_ore.type.heavy.name=重金属 +item.bedrock_ore.type.light.name=轻金属 +item.bedrock_ore.type.nonmetal.name=非金属 +item.bedrock_ore.type.rare.name=稀土 +item.bedrock_ore_base.name=基岩矿石原矿 +item.bedrock_ore_fragment.name=%s基岩矿石碎片 +item.beta.name=Beta测试版功能 +item.big_sword.name=大剑 +item.billet_actinium.name=锕-227坯料 +item.billet_am_mix.name=反应堆级镅坯料 +item.billet_am241.name=镅-241坯料 +item.billet_am242.name=镅-242坯料 +item.billet_americium_fuel.name=镅燃料坯料 +item.billet_au198.name=金-198坯料 +item.billet_australium.name=奥斯坯料 +item.billet_australium_greater.name=富集奥斯坯料 +item.billet_australium_lesser.name=贫化奥斯坯料 +item.billet_balefire_gold.name=激活态金-198坯料 +item.billet_beryllium.name=铍坯料 +item.billet_bismuth.name=铋坯料 +item.billet_co60.name=钴-60坯料 +item.billet_cobalt.name=钴坯料 +item.billet_flashlead.name=闪光铅坯料 +item.billet_flashlead.desc=晶格衰变,引起反物质湮灭反应,导致π介子释放,衰变为μ子,催化原子核融合,产生新的元素$请尽量跟上。 +item.billet_gh336.name=Gh336坯料 +item.billet_gh336.desc=钅喜的同事 +item.billet_hes.name=高浓缩度Sa326燃料坯料 +item.billet_les.name=低浓缩度Sa326燃料坯料 +item.billet_mox_fuel.name=MOX燃料坯料 +item.billet_mox_fuel.desc=口袋摩西! +item.billet_neptunium.name=镎坯料 +item.billet_neptunium_fuel.name=镎核燃料坯料 +item.billet_nuclear_waste.name=核废料坯料 +item.billet_pb209.name=铅-209坯料 +item.billet_po210be.name=钋210-铍坯料 +item.billet_polonium.name=钋坯料 +item.billet_pu_mix.name=反应堆级钚坯料 +item.billet_pu238.name=钚-238坯料 +item.billet_pu238be.name=钚238-铍坯料 +item.billet_pu239.name=钚-239坯料 +item.billet_pu240.name=钚-240坯料 +item.billet_pu241.name=钚-241坯料 +item.billet_plutonium.name=钚坯料 +item.billet_plutonium_fuel.name=钚燃料坯料 +item.billet_ra226.name=镭-226坯料 +item.billet_ra226be.name=镭226-铍坯料 +item.billet_schrabidium.name=Sa326坯料 +item.billet_schrabidium_fuel.name=Sa326燃料坯料 +item.billet_silicon.name=硅晶圆 +item.billet_solinium.name=Sa327坯料 +item.billet_sr90.name=锶-90坯料 +item.billet_technetium.name=锝-99坯料 +item.billet_th232.name=钍-232坯料 +item.billet_thorium_fuel.name=钍燃料坯料 +item.billet_u233.name=铀-233坯料 +item.billet_u235.name=铀-235坯料 +item.billet_u238.name=铀-238坯料 +item.billet_uranium.name=铀坯料 +item.billet_uranium_fuel.name=铀燃料坯料 +item.billet_yharonite.name=犽戎龙素坯料 +item.billet_zfb_am_mix.name=反应堆级镅 ZFB坯料 +item.billet_zfb_bismuth.name=铋 ZFB坯料 +item.billet_zfb_pu241.name=钚-241 ZFB坯料 +item.billet_zirconium.name=锆坯料 +item.bio_wafer.name=海藻晶片 +item.biomass.name=生物质 +item.biomass_compressed.name=压缩生物质 +item.bismuth_boots.name=铋凉鞋 +item.bismuth_helmet.name=铋头饰 +item.bismuth_legs.name=铋护膝 +item.bismuth_axe.name=铋斧 +item.bismuth_pickaxe.name=铋镐 +item.bismuth_plate.name=铋质护肩、项链和腰带 +item.bismuth_tool.name=磁力提取器 +item.bj_boots.name=§4月神§r钉靴 +item.bj_helmet.name=热传感器眼罩 +item.bj_legs.name=§4月神§r护腿 +item.bj_plate.name=§4月神§r胸甲 +item.bj_plate_jetpack.name=§4月神§r胸甲 (带翼) +item.black_diamond.name=黑色钻石 +item.black_hole.name=微型黑洞 +item.blade_meteorite.name=陨石刀 +item.blade_titanium.name=钛扇片 +item.blade_tungsten.name=钨强化扇片 +item.blades_advanced_alloy.name=高级合金刀片 +item.blades_desh.name=Desh制刀片 +item.blades_steel.name=钢制刀片 +item.blades_titanium.name=钛制刀片 +item.blowtorch.name=喷灯 +item.board_copper.name=铜片 +item.boat_rubber.name=橡胶船 +item.bobmazon_hidden.name=隐藏目录 +item.bobmazon_machines.name=Bobmazon: 方块和机器 +item.bobmazon_materials.name=Bobmazon: 材料 +item.bobmazon_tools.name=Bobmazon: 工具 +item.bobmazon_weapons.name=Bobmazon: 武器和爆炸物 +item.boltntm.name=%s螺栓 +item.bolt_compound.name=加强涡轮机轴 +item.bolt_spike.name=铁路道钉 +item.bolt_spike.desc=不知何故,散发着威胁的气息 +item.boltgun.name=气动射钉枪 +item.bomb_caller.name=空袭指示器 +item.bomb_waffle.name=大规模杀伤性华夫饼 +item.book_guide.name=HBM指导书 +item.book_of_.name=车厢书 +item.book_lemegeton.name=所罗门之钥 +item.book_secret.name=3-596-50802-9 +item.bottle2_empty.name=空瓶 +item.bottle2_fritz.name=弗里茨可乐 +item.bottle2_fritz_special.name=第一弗里茨可乐 +item.bottle2_korl.name=Korl +item.bottle2_korl_special.name=第一Korl +item.bottle2_sunset.name=夕阳沙士 +item.bottle_cherry.name=樱桃味核子可乐 +item.bottle_empty.name=空可乐瓶 +item.bottle_mercury.name=一瓶水银 +item.bottle_nuka.name=核子可乐 +item.bottle_opener.name=Hbm自制开瓶器 +item.bottle_quantum.name=量子核子可乐 +item.bottle_rad.name=辐射S~核子可乐 +item.bottle_sparkle.name=S~核子可乐 +item.bottled_cloud.name=瓶中云 +item.boy_bullet.name=铀-235弹头 +item.boy_igniter.name=点火器 +item.boy_kit.name=小男孩 套件 +item.boy_propellant.name=炸药 +item.boy_shielding.name=中子屏蔽罩 +item.boy_target.name=次临界铀-235标靶 +item.briquette.coal.name=煤球 +item.briquette.lignite.name=褐煤煤球 +item.briquette.wood.name=木屑球 +item.bucket_acid.name=一桶酸 +item.bucket_mud.name=一桶毒泥 +item.bucket_schrabidic_acid.name=一桶Sa酸 +item.bucket_sulfuric_acid.name=一桶硫酸 +item.bucket_toxic.name=一桶绿色软泥 +item.burnt_bark.name=烧焦树皮 +item.burnt_bark.desc=爆炸的金橡树的树皮。 +item.can_bepis.name=白事 +item.can_breen.name=布林博士的私人珍藏 +item.can_creature.name='生物'能量饮料 +item.can_empty.name=空罐 +item.can_key.name=罐头拉环 +item.can_luna.name=黑梅萨露娜-黑可乐 +item.can_mrsugar.name='糖博士'软饮料 +item.can_mug.name=MUG牌树根啤酒 +item.can_overcharge.name=超频DeliriumXT +item.can_redbomb.name='红色炸弹'能量饮料 +item.can_smart.name=“智慧”能量饮料 +item.canister_NITAN.name=桶装NITAN 100号超级燃料 +item.canister_biofuel.name=桶装生物燃料 +item.canister_bitumen.name=桶装沥青 +item.canister_canola.name=桶装润滑油 +item.canister_empty.name=空油桶 +item.canister_ethanol.name=桶装乙醇 +item.canister_fracksol.name=桶装压裂液 +item.canister_fuel.name=桶装柴油 +item.canister_fuel.desc=大家欢呼吧! +item.canister_full.name=油桶: +item.canister_gasoline.name=桶装含铅汽油 +item.canister_gasoline.desc=铅就是朋友$让朋友进入你的血液$*上膛声*现在就做 +item.canister_heatingoil.name=桶装燃油 +item.canister_heavyoil.name=桶装重油 +item.canister_kerosene.name=桶装煤油 +item.canister_lightoil.name=桶装轻油 +item.canister_napalm.name=桶装凝固汽油B +item.canister_naphtha.name=桶装石脑油 +item.canister_oil.name=桶装原油 +item.canister_petroil.name=桶装汽油 +item.canister_reoil.name=桶装再生油 +item.canister_smear.name=桶装工业油 +item.canned_asbestos.name=石棉罐头 +item.canned_asbestos.desc=尝尝石棉肺! +item.canned_ass.name=驴罐头 +item.canned_ass.desc=100%优质驴肉!* +item.canned_bark.name=松树皮罐头 +item.canned_bark.desc=更加的“松”脆! +item.canned_beef.name=牛肉罐头 +item.canned_beef.desc=几个世纪前,一头牛为此而死。 +item.canned_bhole.name=黑洞罐头 +item.canned_bhole.desc=奇点是我肚肚里的美味! +item.canned_cheese.name=融化奶酪罐头 +item.canned_cheese.desc=是奶酪吗?是橡胶水泥吗?谁知道,谁在乎。 +item.canned_chinese.name=中餐罐头 +item.canned_chinese.desc=在中国,中餐被称为饭。 +item.canned_diesel.name=柴油罐头 +item.canned_diesel.desc=我渐渐地就抖不出包袱了 +item.canned_fist.name=拳头罐头 +item.canned_fist.desc=给你一拳! +item.canned_fried.name=炸鸡罐头 +item.canned_fried.desc=甚至罐头都是油炸的! +item.canned_hotdogs.name=热狗罐头 +item.canned_hotdogs.desc=不要与冷猫混淆。 +item.canned_jizz.name=FlimFlam工业牌?马奶罐头 +item.canned_jizz.desc=等等什么—— +item.canned_kerosene.name=煤油罐头 +item.canned_kerosene.desc=想象一下这句俏皮的台词。 +item.canned_leftovers.name=剩菜罐头 +item.canned_leftovers.desc=你来的太迟了 +item.canned_milk.name=罐装炼乳 +item.canned_milk.desc=牛奶2:比以往任何时候都更固体! +item.canned_mystery.name=神秘肉类罐头 +item.canned_mystery.desc=里面是什么?只有一种方法可以找到! +item.canned_napalm.name=凝固汽油罐头 +item.canned_napalm.desc=我喜欢早上闻着老梗的味道! +item.canned_oil.name=机油罐头 +item.canned_oil.desc=它既然能让发动机运转的更流畅,那为什么不能用在人类身上? +item.canned_pashtet.name=牛排罐头 +item.canned_pashtet.desc=翻译服务不可用блядь! +item.canned_pizza.name=意大利香肠比萨罐头 +item.canned_pizza.desc=反人类罪 +item.canned_recursion.name=循环罐头 +item.canned_recursion.desc=封闭递归 +item.canned_spam.name=SPAM斯帕姆午餐肉 +item.canned_spam.desc=这段三分半钟的幽默剧是以布朗利虚构的绿侏儒咖啡馆为背景。$一位女服务生与不喜欢吃午餐肉的本太太之间发生了争执,$女服务生背诵了一份几乎每道菜都含有午餐肉的菜单。$本太太要了一道没有午餐肉的菜,这让她爱吃午餐肉的丈夫大吃一惊。$女服务员也对这个要求很反感。本先生提出要替换她的午餐肉,并要了一道含有大量午餐肉和烤豆的菜。$服务员拒绝了,因为烤豆子已经吃完了;当本先生要求替换午餐肉时,女服务员再次表示厌恶。$有几次,餐厅里的一群维京人高声歌唱午餐肉,打断了谈话。$那个愤怒的女服务员命令他们闭嘴,但他们依旧大声唱歌。$这时一名匈牙利游客来到柜台,试图用一本完全不准确的匈牙利语/英语手册(参考之前的小品)点菜。$紧接着这名匈牙利游客就被一名警察迅速护送离开。$然后这段幽默剧突然切换镜头,一位历史学家在电视演播室谈论维京人在咖啡馆的起源。$他继续说,并开始越来越多地在每一句话中插入“午餐肉”一词。$然后背景被抬高,露出背后的餐厅场景。$那个历史学家加入了维京人的歌曲,本夫妇通过电线离开现场,而歌声还在继续。$在最初的电视表演中,结尾的字幕开始滚动,背景中仍然可以听到歌声。 +item.canned_stew.name=蘑菇煲罐头 +item.canned_stew.desc=... +item.canned_tomato.name=番茄汤罐头 +item.canned_tomato.desc=谁要浓浓的红糊糊? +item.canned_tube.name=宇航员食品管 +item.canned_tube.desc=美味的蘑菇。 +item.canned_tuna.name=金枪鱼罐头 +item.canned_tuna.desc=我不知道那是金枪鱼还是干水泥。 +item.canned_yogurt.name=酸奶罐头 +item.canned_yogurt.desc=可能坏掉了,但管它呢 +item.canteen_vodka.name=伏特加 +item.cap_fritz.name=弗里茨瓶盖 +item.cap_korl.name=Korl瓶盖 +item.cap_nuka.name=核子可乐瓶盖 +item.cap_quantum.name=樱桃味核子可乐瓶盖 +item.cap_rad.name=辐射S~核子可乐瓶盖 +item.cap_sparkle.name=S~核子可乐瓶盖 +item.cap_star.name=夕阳沙士星星瓶盖 +item.cap_sunset.name=夕阳沙士瓶盖 +item.cape_ayy.name=Ayy披风 +item.cape_codered_.name=codered_披风 +item.cape_dafnik.name=Dafnik披风 +item.cape_gasmask.name=披风[防毒面具] +item.cape_hbm.name=Hbm披风 +item.cape_hidden.name=隐藏斗篷 +item.cape_lpkukin.name=LPkukin披风 +item.cape_nostalgia.name=DrNostalgia披风 +item.cape_radiation.name=披风[辐射] +item.cape_schrabidium.name=披风[Sa326] +item.cape_vertice.name=Lord Vertice披风 +item.card_aos.name=黑桃A +item.card_qos.name=黑桃皇后 +item.cart.crate.name=板条箱运输车 +item.cart.destroyer.name=废品销毁车 +item.cart.empty.name=钢箱矿车 +item.cart.powder.name=装满火药的矿车 +item.cart.semtex.name=装满塞姆汀炸药的矿车 +item.casing_357.name=.357马格南弹壳[x16] +item.casing_44.name=.44马格南弹壳[x16] +item.casing_50.name=大口径弹壳[x8] +item.casing_9.name=小口径弹壳[x24] +item.casing_bag.name=弹壳包 +item.casing_buckshot.name=霰弹弹壳 +item.casing.small.name=小口径铜弹壳 +item.casing.small_steel.name=小口径钢弹壳 +item.casing.large.name=大口径铜弹壳 +item.casing.large_steel.name=大口径钢弹壳 +item.casing.shotshell.name=黑火药霰弹弹壳 +item.casing.buckshot.name=塑料霰弹弹壳 +item.casing.buckshot_advanced.name=高级霰弹弹壳 +item.catalyst_clay.name=黏土催化剂 +item.catalytic_converter.name=催化转化器 +item.cbt_device.name=CBT装置 +item.cell_anti_schrabidium.name=反Sa326单元 +item.cell_antimatter.name=反物质单元 +item.cell_balefire.name=气态野火单元 +item.cell_deuterium.name=氘单元 +item.cell_empty.name=空单元 +item.cell_puf6.name=六氟化钚单元 +item.cell_sas3.name=三硫化Sa单元 +item.cell_tritium.name=氚单元 +item.cell_uf6.name=六氟化铀单元 +item.centri_stick.name=便携离心机 +item.centrifuge_element.name=离心元件 +item.centrifuge_tower.name=离心塔 +item.chainsaw.name=链锯 +item.cheese.name=奶酪 +item.cheese_quesadilla.name=奶酪油炸玉米粉饼 +item.chemical_dye.black.name=化学染料(黑色) +item.chemical_dye.blue.name=化学染料(蓝色) +item.chemical_dye.brown.name=化学染料(棕色) +item.chemical_dye.cyan.name=化学染料(青色) +item.chemical_dye.gray.name=化学染料(灰色) +item.chemical_dye.green.name=化学染料(绿色) +item.chemical_dye.lightblue.name=化学染料(浅蓝色) +item.chemical_dye.lime.name=化学染料(石灰) +item.chemical_dye.magenta.name=化学染料(品红色) +item.chemical_dye.orange.name=化学染料(橙色) +item.chemical_dye.pink.name=化学染料(粉色) +item.chemical_dye.purple.name=化学染料(紫色) +item.chemical_dye.red.name=化学染料(红色) +item.chemical_dye.silver.name=化学染料(浅灰色) +item.chemical_dye.white.name=化学染料(白色) +item.chemical_dye.yellow.name=化学染料(黄色) +item.chemistry_set.name=实验室玻璃器皿 +item.chemistry_set_boron.name=实验室玻璃器皿(硼玻璃) +item.chemistry_template.name=化工厂模板: +item.chernobylsign.name=辐射警告标志战斧 +item.chlorine_pinwheel.name=氯气转轮 +item.chlorophyte_axe.name=叶绿斧 +item.chlorophyte_pickaxe.name=叶绿镐 +item.chocolate.name=“我是-镭牌”巧克力 +item.chocolate.desc=镭巧克力?我很确定这是冰毒。 +item.chocolate_milk.name=巧克力牛奶 +item.chopper.name=猎人直升机 +item.chopper_blades.name=猎人直升机旋翼 +item.chopper_gun.name=猎人直升机机枪 +item.chopper_head.name=猎人直升机驾驶舱 +item.chopper_tail.name=猎人直升机尾部 +item.chopper_torso.name=猎人直升机主体 +item.chopper_wing.name=猎人直升机翼片 +item.chunk_ore.malachite.name=孔雀石块 +item.chunk_ore.rare.name=稀土矿石块 +item.cigarette.name=FFI牌香烟 +item.cinnebar.name=朱砂 +item.circuit.advanced.name=军用级电路板 +item.circuit.analog.name=模拟电路板 +item.circuit.atomic_clock.name=原子钟 +item.circuit.basic.name=集成电路板 +item.circuit.bismoid.name=多功能电路板 +item.circuit.capacitor.name=电容器 +item.circuit.capacitor_board.name=电容板 +item.circuit.capacitor_tantalium.name=钽电容器 +item.circuit.chip.name=微芯片 +item.circuit.chip_bismoid.name=多功能集成电路 +item.circuit.chip_quantum.name=固态量子处理器 +item.circuit.controller.name=控制单元 +item.circuit.controller_advanced.name=高级控制单元 +item.circuit.controller_chassis.name=控制单元外壳 +item.circuit.controller_quantum.name=量子计算机 +item.circuit.pcb.name=印刷电路板 +item.circuit.quantum.name=量子处理单元 +item.circuit.silicon.name=压印硅晶圆 +item.circuit.vacuum_tube.name=真空管 +item.circuit_aluminium.name=基础电路 +item.circuit_arsenic.name=自适应电路 +item.circuit_arsenic_raw.name=自适应电路组件 +item.circuit_bismuth.name=多功能芯片组 +item.circuit_bismuth_raw.name=多功能芯片组组件 +item.circuit_copper.name=增强电路 +item.circuit_gold.name=超频电路 +item.circuit_raw.name=基本电路组件 +item.circuit_red_copper.name=高级电路 +item.circuit_schrabidium.name=高性能电路 +item.circuit_star.name=星控制 电路板 +item.circuit_star.desc=目前未使用,因为它缺少操作系统。 +item.circuit_star_component.card.name=星控制 扩展卡 +item.circuit_star_component.chipset.name=星控制 芯片组 +item.circuit_star_component.cpu.name=星控制 CPU +item.circuit_star_component.ram.name=星控制 RAM +item.circuit_star_piece.board_blank.name=SC-印刷电路板 +item.circuit_star_piece.board_converter.name=SC-电压转换器 +item.circuit_star_piece.board_transistor.name=SC-晶体管 +item.circuit_star_piece.bridge_bios.name=SC-BIOS芯片 +item.circuit_star_piece.bridge_bus.name=SC-总线 +item.circuit_star_piece.bridge_chipset.name=SC-芯片组 +item.circuit_star_piece.bridge_cmos.name=SC-CMOS存储器 +item.circuit_star_piece.bridge_io.name=SC-IO芯片 +item.circuit_star_piece.bridge_north.name=SC-北桥 +item.circuit_star_piece.bridge_south.name=SC-南桥 +item.circuit_star_piece.card_board.name=SC-扩展卡底板 +item.circuit_star_piece.card_processor.name=SC-扩展卡处理器 +item.circuit_star_piece.cpu_cache.name=SC-CPU缓存 +item.circuit_star_piece.cpu_clock.name=SC-CPU时钟 +item.circuit_star_piece.cpu_ext.name=SC-砷半导体外延片 +item.circuit_star_piece.cpu_logic.name=SC-算术逻辑单元 +item.circuit_star_piece.cpu_register.name=SC-CPU寄存器 +item.circuit_star_piece.cpu_socket.name=SC-CPU插槽 +item.circuit_star_piece.mem_socket.name=SC-存储插座 +item.circuit_star_piece.mem_16k_a.name=SC-16k内存条插槽 A +item.circuit_star_piece.mem_16k_b.name=SC-16k内存条插槽 B +item.circuit_star_piece.mem_16k_c.name=SC-16k内存条插槽 C +item.circuit_star_piece.mem_16k_d.name=SC-16k内存条插槽 D +item.circuit_tantalium.name=电容板 +item.circuit_tantalium_raw.name=电容板组件 +item.circuit_targeting_tier1.name=军用级电路板[1级] +item.circuit_targeting_tier2.name=军用级电路板[2级] +item.circuit_targeting_tier3.name=军用级电路板[3级] +item.circuit_targeting_tier4.name=军用级电路板[4级] +item.circuit_targeting_tier5.name=军用级电路板[5级] +item.circuit_targeting_tier6.name=军用级电路板[6级] +item.cladding_desh.name=Desh覆层 +item.cladding_ghiorsium.name=Gh336覆层 +item.cladding_iron.name=铁覆层 +item.cladding_lead.name=铅覆层 +item.cladding_obsidian.name=黑曜石覆层 +item.cladding_paint.name=铅涂料 +item.cladding_rubber.name=橡胶覆层 +item.clay_tablet.name=泥板 +item.clip_bf.name=两包野火子弹 +item.clip_bolt_action.name=盒装12x74独头弹 +item.clip_cryolator.name=急冻单元箱 +item.clip_defabricator.name=毁灭者能量电池弹药带 +item.clip_emp.name=小包能量电池 +item.clip_euthanasia.name=最后的医疗箱 +item.clip_fatman.name=六个核弹 +item.clip_hp.name=墨水缸 +item.clip_immolator.name=焚烧者燃料箱 +item.clip_jack.name=盒装四联12x70鹿弹 +item.clip_lever_action.name=盒装12x74鹿弹 +item.clip_mirv.name=三合一微型MIRV包 +item.clip_mp.name=小型无发射药机枪子弹盒 +item.clip_mp40.name=9mm冲锋枪子弹盒 +item.clip_osipr.name=AR2 弹盒 +item.clip_revolver.name=盒装.357马格南 +item.clip_revolver_cursed.name=钢子弹弹匣 +item.clip_revolver_gold.name=小盒金子弹 +item.clip_revolver_iron.name=盒装铁子弹 +item.clip_revolver_lead.name=盒装核子弹 +item.clip_revolver_nightmare.name=子弹袋 +item.clip_revolver_nightmare2.name=激光弹药带 +item.clip_revolver_nopip.name=盒装.44子弹 +item.clip_revolver_pip.name=左轮快速装弹器 +item.clip_revolver_schrabidium.name=Sa326弹药盒 +item.clip_rpg.name=火箭弹箱 +item.clip_spark.name=大型电磁子弹 +item.clip_stinger.name=包装毒刺导弹 +item.clip_uboinik.name=盒装12x70鹿弹 +item.clip_uzi.name=32发装.22LR子弹盒 +item.clip_xvl1456.name=大型同位素盒 +item.cmb_axe.name=CMB钢斧 +item.cmb_boots.name=CMB钢靴子 +item.cmb_helmet.name=CMB钢头盔 +item.cmb_hoe.name=CMB钢锄 +item.cmb_legs.name=CMB钢护腿 +item.cmb_pickaxe.name=CMB钢镐 +item.cmb_plate.name=CMB钢胸甲 +item.cmb_shovel.name=CMB钢锹 +item.cmb_sword.name=CMB钢剑 +item.coal_infernal.name=地狱煤炭 +item.cobalt_axe.name=钴斧 +item.cobalt_boots.name=钴靴子 +item.cobalt_decorated_axe.name=镶嵌钴斧 +item.cobalt_decorated_hoe.name=镶嵌钴锄 +item.cobalt_decorated_pickaxe.name=镶嵌钴镐 +item.cobalt_decorated_shovel.name=镶嵌钴锹 +item.cobalt_decorated_sword.name=镶嵌钴剑 +item.cobalt_helmet.name=钴头盔 +item.cobalt_hoe.name=钴锄 +item.cobalt_legs.name=钴护腿 +item.cobalt_pickaxe.name=钴镐 +item.cobalt_plate.name=钴胸甲 +item.cobalt_shovel.name=钴锹 +item.cobalt_sword.name=钴剑 +item.coffee.name=咖啡 +item.coffee_radium.name=加镭咖啡 +item.coil_advanced_alloy.name=超导线圈 +item.coil_advanced_torus.name=超导环形线圈 +item.coil_copper.name=紫铜线圈 +item.coil_copper_torus.name=紫铜环形线圈 +item.coil_gold.name=金线圈 +item.coil_gold_torus.name=金环形线圈 +item.coil_magnetized_tungsten.name=4000K高温超导线圈 +item.coil_tungsten.name=加热线圈 +item.coin_creeper.name=核爆爬行者硬币 +item.coin_maskman.name=面具硬币 +item.coin_radiation.name=辐射硬币 +item.coin_siege.name=围城硬币 +item.coin_ufo.name=UFO硬币 +item.coin_worm.name=机械蠕虫硬币 +item.coke.coal.name=煤焦炭 +item.coke.lignite.name=褐煤焦炭 +item.coke.petroleum.name=石油焦炭 +item.coltan_tool.name=钶钽铁矿指针 +item.combine_scrap.name=CMB钢废料 +item.component_emitter.name=发射器组件 +item.component_limiter.name=稳定器组件 +item.containment_box.name=安全盒 +item.cordite.name=无烟线状火药 +item.cotton_candy.name=放射性棉花糖 +item.crackpipe.name=健康烟壶 +item.crate_caller.name=空投召唤器 +item.crayon.black.name=黑色蜡笔 +item.crayon.blue.name=蓝色蜡笔 +item.crayon.brown.name=棕色蜡笔 +item.crayon.cyan.name=青色蜡笔 +item.crayon.gray.name=灰色蜡笔 +item.crayon.green.name=绿色蜡笔 +item.crayon.lightblue.name=浅蓝色蜡笔 +item.crayon.lime.name=青色蜡笔 +item.crayon.magenta.name=品红蜡笔 +item.crayon.orange.name=橙色蜡笔 +item.crayon.pink.name=粉红蜡笔 +item.crayon.purple.name=紫色蜡笔 +item.crayon.red.name=红色蜡笔 +item.crayon.silver.name=浅灰色蜡笔 +item.crayon.white.name=白色蜡笔 +item.crayon.yellow.name=黄色蜡笔 +item.crowbar.name=Mk.V开箱装置“物理学圣剑” +item.crucible.name=裁决剑 +item.crucible_template.name=坩埚模板 +item.crystal_aluminium.name=铝晶体 +item.crystal_beryllium.name=铍晶体 +item.crystal_charred.name=烧焦的水晶 +item.crystal_charred.desc=优质硅酸盐,轻微灼烧。 +item.crystal_charred.desc.P11=也是一个真正的号角。奇怪吧? +item.crystal_coal.name=煤晶体 +item.crystal_cobalt.name=钴晶体 +item.crystal_copper.name=铜晶体 +item.crystal_cinnebar.name=朱砂晶体 +item.crystal_diamond.name=钻石晶体 +item.crystal_energy.name=能量晶体 +item.crystal_fluorite.name=氟晶体 +item.crystal_gold.name=金晶体 +item.crystal_horn.name=水晶角 +item.crystal_horn.desc=不是真正的号角。 +item.crystal_horn.desc.P11=真正的号角。 +item.crystal_iron.name=铁晶体 +item.crystal_lead.name=铅晶体 +item.crystal_lapis.name=青金石晶体 +item.crystal_lithium.name=锂晶体 +item.crystal_niter.name=硝石晶体 +item.crystal_osmiridium.name=铱锇晶体 +item.crystal_phosphorus.name=磷晶体 +item.crystal_plutonium.name=钚晶体 +item.crystal_rare.name=稀土晶体 +item.crystal_redstone.name=红石晶体 +item.crystal_schrabidium.name=Sa326晶体 +item.crystal_schraranium.name=低丰度Sa326晶体 +item.crystal_starmetal.name=星辉晶体 +item.crystal_sulfur.name=硫晶体 +item.crystal_thorium.name=钍晶体 +item.crystal_titanium.name=钛晶体 +item.crystal_trixite.name=赛瑞克晶体 +item.crystal_tungsten.name=钨晶体 +item.crystal_uranium.name=铀晶体 +item.crystal_xen.name=人造X晶体 +item.crt_display.name=阴极射线管 +item.cube_power.name=电子块 +item.custom_amat.name=自定义核弹-反物质棒 +item.custom_dirty.name=自定义核弹-核废料棒 +item.custom_fall.name=自定义核弹-掉落升级 +item.custom_fall.desc=这就是你一一一直在等待的$使炸弹在激活时下落 +item.custom_hydro.name=自定义核弹-氢棒 +item.custom_kit.name=自定义核弹 套件 +item.custom_nuke.name=自定义核弹-铀棒 +item.custom_schrab.name=自定义核弹-Sa326棒 +item.custom_tnt.name=自定义核弹-炸药 +item.cyclotron_tower.name=回旋加速器塔 +item.debris_concrete.name=碎混凝土 +item.debris_element.name=断裂的锆诺克斯燃料元件 +item.debris_exchanger.name=换热器片 +item.debris_fuel.name=RBMK石墨式反应堆燃料块 +item.debris_graphite.name=热石墨块 +item.debris_metal.name=断裂金属棒 +item.debris_shrapnel.name=走道碎片 +item.definitelyfood.name=完全不脏牌军粮 +item.defuser.name=高科技拆弹装置 +item.defuser_gold.name=黄金剪线钳 +item.demon_core_closed.name=封闭的恶魔核心 +item.demon_core_open.name=打开的恶魔核心 +item.desh_axe.name=工人合金斧 +item.desh_hoe.name=工人合金锄 +item.desh_pickaxe.name=工人合金镐 +item.desh_shovel.name=工人合金锹 +item.desh_sword.name=工人合金剑 +item.designator.name=短程目标指示器 +item.designator_arty_range.name=远程火炮遥控器 +item.designator_manual.name=手动目标指示器 +item.designator_range.name=远程目标指示器 +item.detonator.name=起爆器 +item.detonator_de.name=死亡炸弹 +item.detonator_deadman.name=死亡雷管 +item.detonator_laser.name=激光起爆器 +item.detonator_multi.name=多发起爆器 +item.deuterium_filter.name=氘过滤器 +item.diamond_gavel.name=钻石槌 +item.dieselsuit_boots.name=柴油动力高跟鞋 +item.dieselsuit_helmet.name=柴油动力头戴式环境传感器 +item.dieselsuit_legs.name=柴油动力腿部伺服系统 +item.dieselsuit_plate.name=柴油动力控制器 +item.digamma_diagnostic.name=玩家F-迪伽马辐射自检器 +item.disperser_canister.name=流体雾化手雷: +item.disperser_canister_empty.name=流体雾化手雷 +item.dns_boots.name=DNT双聚中子态素高科技全环境作战服靴子 +item.dns_legs.name=DNT双聚中子态素高科技全环境作战服护腿 +item.dns_helmet.name=DNT双聚中子态素高科技全环境作战服头盔 +item.dns_plate.name=DNT双聚中子态素高科技全环境作战服胸甲 +item.dnt_boots.name=双聚态中子素 靴子 +item.dnt_legs.name=双聚态中子素 护腿 +item.dnt_helmet.name=双聚态中子素 头盔 +item.dnt_plate.name=双聚态中子素 胸甲 +item.dnt_sword.name=DNT剑 +item.door_bunker.name=仓门 +item.door_metal.name=金属门 +item.door_office.name=办公室门 +item.door_red.name=红门 +item.dosimeter.name=剂量计 +item.drax.name=采掘钻 +item.drax_mk2.name=强化型采掘钻 +item.drax_mk3.name=Sa326采掘钻 +item.drillbit_desh.name=Desh钻头 +item.drillbit_desh_diamond.name=Desh钻头(镶钻) +item.drillbit_ferro.name=铀铁合金钻头 +item.drillbit_ferro_diamond.name=铀铁合金钻头(镶钻) +item.drillbit_hss.name=高速钢钻头 +item.drillbit_hss_diamond.name=高速钢钻头(镶钻) +item.drillbit_steel.name=钢钻头 +item.drillbit_steel_diamond.name=钢钻头(镶钻) +item.drillbit_tcalloy.name=锝钢钻头 +item.drillbit_tcalloy_diamond.name=锝钢钻头(镶钻) +item.drill_titanium.name=钛钻头 +item.drone.patrol.name=运输无人机 +item.drone.patrol.desc=跟随航路点运动$到达运输无人机坞时会尝试装货/卸货$右键单击运输无人机坞顶面放置 +item.drone.patrol_chunkloading.name=区块加载无人机 +item.drone.patrol_chunkloading.desc=跟随航路点运动$到达运输无人机坞时会尝试装货/卸货$右键单击运输无人机坞顶面放置$加载区块 +item.drone.patrol_express.name=快速无人机 +item.drone.patrol_express.desc=跟随航路点运动$到达运输无人机坞时会尝试装货/卸货$右键单击运输无人机坞顶面放置 +item.drone.patrol_express_chunkloading.name=区块加载快速无人机 +item.drone.patrol_express_chunkloading.desc=跟随航路点运动$到达运输无人机坞时会尝试装货/卸货$右键单击运输无人机坞顶面放置$加载区块 +item.drone.request.name=物流无人机 +item.drone.request.desc=用于使物流无人机坞生成物流无人机$生成的物流无人机会跟随物流无人机航路点$完成一次物流任务后会回到无人机坞 +item.drone_linker.name=运输无人机链接器 +item.ducttape.name=胶带 +item.dust.name=灰尘 +item.dust.desc=我讨厌灰尘! +item.dust.desc.P11=又一小撮灰尘! +item.dust_tiny.name=一小撮灰尘 +item.dwarven_pickaxe.name=矮人镐 +item.dynosphere_base.name=空白动力球 +item.dynosphere_desh.name=Desh动力球 +item.dynosphere_desh_charged.name=Desh动力球[带电] +item.dynosphere_dineutronium.name=双聚中子态素动力球 +item.dynosphere_dineutronium_charged.name=双聚中子态素动力球[带电] +item.dynosphere_euphemium.name=Ep动力球 +item.dynosphere_euphemium_charged.name=Ep动力球[带电] +item.dynosphere_schrabidium.name=Sa326动力球 +item.dynosphere_schrabidium_charged.name=Sa326动力球[带电] +item.dysfunctional_reactor.name=失控反应堆 +item.early_explosive_lenses.name=初代炸药透镜阵列 +item.early_explosive_lenses.desc=8个炸药透镜的组装,带有铝合金推进器、硬铝外壳和桥丝雷管。 +item.egg_balefire.name=野火蛋 +item.egg_balefire.desc=什么样的鸟儿才会下带有放射性的蛋? +item.egg_balefire_shard.name=野火蛋碎片 +item.egg_glyphid.name=异虫蛋 +item.elec_axe.name=电锯 +item.elec_pickaxe.name=冲击钻 +item.elec_shovel.name=螺旋钻 +item.elec_sword.name=电棍 +item.energy_core.name=临时能源核心 +item.entanglement_kit.name=纠缠部件 +item.entanglement_kit.desc=传送机制作零件$通过$铍增强型资源扫描仪实现尺寸转换。 +item.envsuit_boots.name=M1TTY环境套装靴子 +item.envsuit_helmet.name=M1TTY环境套装头盔 +item.envsuit_legs.name=M1TTY环境套装护腿 +item.envsuit_plate.name=M1TTY环境套装胸甲 +item.euphemium_boots.name=Ep靴子 +item.euphemium_capacitor.name=Ep电容 +item.euphemium_capacitor.desc=允许被动分散累积的正能量。 +item.euphemium_helmet.name=Ep头盔 +item.euphemium_kit.name=Ep工具箱 +item.euphemium_legs.name=Ep护腿 +item.euphemium_plate.name=Ep胸甲 +item.euphemium_stopper.name=Ep-阻滞者 +item.explosive_lenses.name=炸药透镜阵列 +item.explosive_lenses.desc=8个PBX炸药组装的阵列,带有一个薄的$铝推进器、硬铝外壳和$小型桥丝雷管。 +item.factory_core_advanced.name=高级工厂能源组件 +item.factory_core_titanium.name=工厂能源组件 +item.fallout.name=一堆辐射尘 +item.fau_boots.name=Fau靴子 +item.fau_helmet.name=Fau头盔 +item.fau_legs.name=Fau护腿 +item.fau_plate.name=Fau胸甲 +item.filter_coal.name=活性炭过滤器 +item.fins_big_steel.name=大型钢栅格翼 +item.fins_flat.name=扁钢外壳 +item.fins_quad_titanium.name=小型钛翼 +item.fins_small_steel.name=小型钢栅格翼 +item.fins_tri_steel.name=大型钢翼 +item.five_htp.name=5-羟色胺药丸 +item.five_htp.desc=移除所有迪伽马辐射,并获得10分钟稳定效果 +item.flame_conspiracy.name=阴谋论 +item.flame_conspiracy.desc=钢梁不能熔化喷气燃料! +item.flame_opinion.name=个人观点 +item.flame_opinion.desc=呃,我喜欢... +item.flame_politics.name=政治话题 +item.flame_politics.desc=唐老鸭将会修建一堵墙! +item.flame_pony.name=卡通小马画 +item.flame_pony.desc=黄马胜于蓝马,这是不争的事实! +item.flask_infusion.shield.name=护盾药水 +item.fleija_core.name=F.L.E.I.J.A.铀-235装药 +item.fleija_igniter.name=脉冲点火器 +item.fleija_kit.name=F.L.E.I.J.A. 套件 +item.fleija_propellant.name=Sa326炸药 +item.fluid_barrel_empty.name=空流体桶 +item.fluid_barrel_full.name=流体桶: +item.fluid_barrel_infinite.name=无限流体桶 +item.fluid_duct.name=流体管道: +item.fluid_identifier.name=流体识别码 +item.fluid_identifier.info=流体标识码用于: +item.fluid_identifier.usage0=在流体管道上单击右键,为该管道指定运输的流体。 +item.fluid_identifier.usage1=按住Shift键并流体管道上单击右键以指定相邻管道 +item.fluid_identifier.usage2=最大范围为64格管道。 +item.fluid_identifier_multi.name=多类型流体识别码 +item.fluid_identifier_multi.info=通用流体识别码: +item.fluid_identifier_multi.info2=次要类型: +item.fluid_tank_empty.name=空通用流体罐 +item.fluid_tank_full.name=通用流体罐: +item.fluid_tank_lead_empty.name=空危险品罐 +item.fluid_tank_lead_full.name=危险品罐: +item.fluorite.name=氟石粉 +item.flywheel_beryllium.name=铍制飞轮 +item.fmn.name=氟硝西泮片 +item.fmn.desc=移除2000mDRX以上的所有迪伽马辐射 +item.folly_bullet.name=128mm星辉弹头 +item.folly_bullet_du.name=128mm贫铀弹头 +item.folly_bullet_nuclear.name=128mm核弹头 +item.folly_shell.name=银弹壳 +item.fooditem.name=食物 +item.fragment_actinium.name=锕碎片 +item.fragment_boron.name=硼碎片 +item.fragment_cerium.name=铈碎片 +item.fragment_cobalt.name=钴碎片 +item.fragment_coltan.name=钶钽铁矿碎片 +item.fragment_lanthanium.name=镧碎片 +item.fragment_meteorite.name=陨石碎片 +item.fragment_neodymium.name=钕碎片 +item.fragment_niobium.name=铌碎片 +item.fuel_additive.antiknock.name=四乙基铅抗爆剂 +item.fuel_additive.deicer.name=除冰剂 +item.fuel_tank_large.name=大型燃料罐 +item.fuel_tank_medium.name=中型燃料罐 +item.fuel_tank_small.name=小型燃料罐 +item.fuse.name=保险丝 +item.fusion_core.name=聚变能源核心 +item.fusion_core_infinite.name=无限能源核心 +item.fusion_shield_chlorophyte.name=叶绿金属聚变反应堆覆层 +item.fusion_shield_desh.name=Desh聚变反应堆覆层 +item.fusion_shield_tungsten.name=钨聚变反应堆覆层 +item.fusion_shield_vaporwave.name=蒸汽波反应堆覆层 +item.gadget_core.name=钚核心 +item.gadget_explosive.name=炸药 +item.gadget_kit.name=小玩意 套件 +item.gadget_wireing.name=线路 +item.gas_biogas.name=沼气罐 +item.gas_empty.name=空气罐 +item.gas_full.name=气体罐: +item.gas_lpg.name=液化石油气罐 +item.gas_mask.name=防毒面具 +item.gas_mask_filter.name=防毒面具过滤器 +item.gas_mask_filter_combo.name=防毒面具组合式过滤器 +item.gas_mask_filter_mono.name=催化性面罩过滤器 +item.gas_mask_filter_piss.name=先进的简易防毒面具过滤器 +item.gas_mask_filter_rag.name=临时防毒面具过滤器 +item.gas_mask_m65.name=M65-Z防毒面具 +item.gas_mask_mono.name=半面罩防毒面具 +item.gas_mask_olde.name=皮革防毒面具 +item.gas_petroleum.name=石油气罐 +item.gas_tester.name=气体传感器 +item.gear_large.name=大型齿轮 +item.gear_large_steel.name=大型钢齿轮 +item.geiger_counter.name=手持盖革计数器 +item.gem_alexandrite.name=亚历山大变石 +item.gem_rad.name=放射性宝石 +item.gem_sodalite.name=方钠石 +item.gem_tantalium.name=钽晶体 +item.gem_tantalium.desc=“钽” +item.gem_tantalium.desc.P11=英文既可拼作“Tantalum”,也可拼作“Tantalium”。 +item.gem_volcanic.name=火山宝石 +item.generator_front.name=发电机前部 +item.generator_steel.name=发电机主体 +item.glitch.name=故障 +item.glowing_stew.name=发光真菌煲 +item.glyphid_meat.name=异虫肉 +item.glyphid_meat_grilled.name=熟异虫肉 +item.goggles.name=护目镜 +item.grenade_aschrab.name=可抛反Sa326 +item.grenade_black_hole.name=黑洞手榴弹 +item.grenade_breach.name=破甲手榴弹 +item.grenade_burst.name=挖掘手榴弹 +item.grenate_cats.name=猫猫手榴弹 +item.grenade_cloud.name=一罐云 +item.grenade_cluster.name=集束手榴弹 +item.grenade_electric.name=闪电炸弹 +item.grenade_fire.name=燃烧破片手榴弹 +item.grenade_flare.name=信号弹 +item.grenade_frag.name=破片手榴弹 +item.grenade_gas.name=毒气手榴弹 +item.grenade_gascan.name=可抛油桶 +item.grenade_generic.name=手榴弹 +item.grenade_if_bouncy.name=IF-弹性手榴弹 +item.grenade_if_brimstone.name=IF-可抛硫磺矿 +item.grenade_if_concussion.name=IF-震荡手榴弹 +item.grenade_if_generic.name=IF-手榴弹 +item.grenade_if_he.name=IF-HE手榴弹 +item.grenade_if_hopwire.name=IF-旋涡热线 +item.grenade_if_impact.name=IF-冲击手榴弹 +item.grenade_if_incendiary.name=IF-燃烧手榴弹 +item.grenade_if_mystery.name=IF-M-手榴弹 +item.grenade_if_null.name=IF-清除手榴弹 +item.grenade_if_spark.name=IF-S-手榴弹 +item.grenade_if_sticky.name=IF-粘性手榴弹 +item.grenade_if_toxic.name=IF-毒物手榴弹 +item.grenade_kit.name=手榴弹 套件 +item.grenade_kyiv.name=基辅特供 +item.grenade_lemon.name=可燃柠檬 +item.grenade_mirv.name=MIRV型破片手榴弹 +item.grenade_mk2.name=Mk2手榴弹“菠萝大使” +item.grenade_nuclear.name=核子手榴弹 +item.grenade_nuke.name=MkVI钻地手榴弹 +item.grenade_pink_cloud.name=一罐粉雾 +item.grenade_plasma.name=等离子手榴弹 +item.grenade_poison.name=剧毒手榴弹 +item.grenade_pulse.name=脉冲手榴弹 +item.grenade_schrabidium.name=Sa326手榴弹 +item.grenade_shrapnel.name=榴霰弹手榴弹 +item.grenade_smart.name=智能手榴弹 +item.grenade_strong.name=增强型手榴弹 +item.grenade_tau.name=陶子手榴弹 +item.grenade_zomg.name=负能量湮灭手榴弹 +item.glyphid_gland.name=囊腺 +item.glyphid_gland_empty.name=异虫腺体 +item.gun_am180.name=.22口径冲锋枪 +item.gun_autoshotgun.name=自动霰弹枪 +item.gun_autoshotgun_sexy.name=Sexy +item.gun_autoshotgun_shredder.name=粉碎者 +item.gun_b92.name=§9B92能量手枪§r +item.gun_b92_ammo.name=§9B92能量单元§r +item.gun_bolter.name=爆弹枪 +item.gun_carbine.name=卡宾枪 +item.gun_chemthrower.name=化学喷射器 +item.gun_coilgun.name=线圈枪 +item.gun_congolake.name=刚果湖 +item.gun_cryocannon.name=低温炮 +item.gun_cryolator_ammo.name=急冻单元 +item.gun_detonator.name=激光引爆器 +item.gun_double_barrel.name=旧日经典 +item.gun_double_barrel_sacred_dragon.name=圣龙 +item.gun_fatman.name=M42核弹发射器 “胖子” +item.gun_fireext.name=灭火器 +item.gun_flamer.name=火焰喷射器 +item.gun_flamer_daybreaker.name=破晓之时 +item.gun_flamer_topaz.name=“黄玉先生”喷射器 +item.gun_flaregun.name=信号枪 +item.gun_folly.name=Digamma原型“愚蠢” +item.gun_g3.name=突击步枪 +item.gun_greasegun.name=M3黄油枪 +item.gun_hangman.name=刽子手 +item.gun_heavy_revolver.name=重型转轮手枪 +item.gun_heavy_revolver_lilmac.name=小麦金塔 +item.gun_heavy_revolver_protege.name=门徒 +item.gun_henry.name=杠杆式步枪 +item.gun_kit_1.name=枪械润滑油 +item.gun_kit_2.name=枪械修理包 +item.gun_lag.name=滑稽的长手枪 +item.gun_lasrifle.name=激光步枪 +item.gun_liberator.name=救星 +item.gun_light_revolver.name=中折式转轮手枪 +item.gun_light_revolver_atlas.name=Atlas +item.gun_light_revolver_dani.name=日与夜 +item.gun_m2.name=勃朗宁M2HB型重机枪 +item.gun_maresleg.name=杠杆式霰弹枪 +item.gun_maresleg_akimbo.name=双持杠杆式霰弹枪 +item.gun_maresleg_broken.name=支离破碎 +item.gun_minigun.name=CZ53机枪 +item.gun_minigun_lacunae.name=空白 +item.gun_missile_launcher.name=导弹发射器 +item.gun_pepperbox.name=胡椒瓶手枪 +item.gun_panzerschreck.name=战车噩梦 +item.gun_quadro.name=四喜丸子 +item.gun_spas12.name=SPAS-12霰弹枪 +item.gun_stg77.name=StG 77 +item.gun_stinger.name=FIM-92毒刺导弹 +item.gun_tau.name=τ子炮 +item.gun_tesla_cannon.name=特斯拉炮 +item.gun_uzi.name=Uzi冲锋枪 +item.gun_uzi_akimbo.name=双持乌兹冲锋枪 +item.hand_drill.name=手钻 +item.hand_drill_desh.name=Desh手钻 +item.hazmat_boots.name=防辐射靴 +item.hazmat_boots_grey.name=高性能防辐射靴 +item.hazmat_boots_red.name=高级防辐射靴 +item.hazmat_cloth.name=防辐射布 +item.hazmat_cloth_grey.name=铅防辐射布 +item.hazmat_cloth_red.name=高级防辐射布 +item.hazmat_grey_kit.name=高性能防护套装 +item.hazmat_helmet.name=防辐射头盔 +item.hazmat_helmet_grey.name=高性能防辐射头盔 +item.hazmat_helmet_red.name=高级防辐射头盔 +item.hazmat_kit.name=防护套装 +item.hazmat_legs.name=防辐射护腿 +item.hazmat_legs_grey.name=高性能防辐射护腿 +item.hazmat_legs_red.name=高级防辐射护腿 +item.hazmat_paa_boots.name=PaA战斗防辐射套装 靴子 +item.hazmat_paa_helmet.name=PaA战斗防辐射套装 头盔 +item.hazmat_paa_legs.name=PaA战斗防辐射套装 护腿 +item.hazmat_paa_plate.name=PaA战斗防辐射套装 胸甲 +item.hazmat_plate.name=防辐射胸甲 +item.hazmat_plate_grey.name=高性能防辐射胸甲 +item.hazmat_plate_red.name=高级防辐射胸甲 +item.hazmat_red_kit.name=高级防护套装 +item.heart_booster.name=心之增强器 +item.heart_container.name=心之容器 +item.heart_fab.name=黑暗之心 +item.heart_piece.name=心之碎片 +item.heavy_component.name=重型%s组件 +item.hev_battery.name=套装电池 +item.hev_boots.name=HEV Mk.IV 靴子 +item.hev_plate.name=HEV Mk.IV 胸甲 +item.hev_helmet.name=HEV Mk.IV 头盔 +item.hev_legs.name=HEV Mk.IV 护腿 +item.holotape_damaged.name=损坏的全息卡带 +item.holotape_image.name=全息卡带 +item.horseshoe_magnet.name=马蹄形磁铁 +item.hull_big_aluminium.name=大型铝壳 +item.hull_big_steel.name=大型钢壳 +item.hull_big_titanium.name=大型钛壳 +item.hull_small_aluminium.name=小型铝壳 +item.hull_small_aluminium.desc=可插入钻孔石墨中 +item.hull_small_steel.name=小型钢壳 +item.icf_pellet.name=ICF燃料靶丸 +item.icf_pellet_depleted.name=枯竭ICF燃料靶丸 +item.icf_pellet_empty.name=空ICF燃料靶丸 +item.igniter.name=点火器 +item.igniter.desc=(鼠标右键点击原型)$这是一个绿色金属手柄,带有$亮红色按钮和一个小盖子$在底部,缩写N.E.刻着美元。不管N.E.是谁,他对绿色的色调很有品味。 +item.industrial_magnet.name=工业磁铁 +item.inf_antimatter.name=无限反物质罐 +item.inf_antischrabidium.name=无限反Sa326罐 +item.inf_coolant.name=无限冷却液罐 +item.inf_deuterium.name=无限氘罐 +item.inf_diesel.name=无限柴油罐 +item.inf_sulfur.name=无限硫磺罐 +item.inf_tritium.name=无限氚罐 +item.inf_water.name=无限水罐 +item.inf_water_mk2.name=大型无限水罐 +item.ingot_actinium.name=半稳定锕锭 +item.ingot_advanced_alloy.name=高级合金锭 +item.ingot_aluminium.name=铝锭 +item.ingot_am_mix.name=反应堆级镅锭 +item.ingot_am241.name=镅-241锭 +item.ingot_am242.name=镅-242锭 +item.ingot_americium_fuel.name=镅燃料锭 +item.ingot_arsenic.name=砷锭 +item.ingot_arsenic_bronze.name=砷青铜锭 +item.ingot_asbestos.name=石棉板 +item.ingot_asbestos.desc=§o\\“充满了生命、自我怀疑和石棉。这是空气带来的。\\”§r +item.ingot_au198.name=金-198锭 +item.ingot_australium.name=奥斯锭 +item.ingot_bakelite.name=电木锭 +item.ingot_beryllium.name=铍锭 +item.ingot_biorubber.name=乳胶锭 +item.ingot_bismuth.name=铋锭 +item.ingot_bismuth_bronze.name=铋青铜锭 +item.ingot_boron.name=硼锭 +item.ingot_bscco.name=BSCCO超导体锭 +item.ingot_c4.name=一块C-4 +item.ingot_cadmium.name=镉锭 +item.ingot_calcium.name=钙锭 +item.ingot_cdalloy.name=镉钢锭 +item.ingot_cft.name=晶化富勒烯 +item.ingot_chainsteel.name=重链钢 +item.ingot_co60.name=钴-60锭 +item.ingot_cobalt.name=钴锭 +item.ingot_combine_steel.name=CMB钢锭 +item.ingot_combine_steel.desc=*在此处插入民事保护参考* +item.ingot_copper.name=工业级铜锭 +item.ingot_daffergon.name=达夫贡锭 +item.ingot_desh.name=Desh锭 +item.ingot_dineutronium.name=双聚中子态素锭 +item.ingot_dura_steel.name=高速钢锭 +item.ingot_electronium.name=电素锭 +item.ingot_euphemium.name=Ep锭 +item.ingot_euphemium.desc=一个非常特殊但又奇怪的元素。 +item.ingot_ferrouranium.name=铀铁合金锭 +item.ingot_fiberglass.name=玻璃纤维 +item.ingot_fiberglass.desc=纤维含量高,玻璃含量高。身体需要的一切。 +item.ingot_firebrick.name=耐火砖 +item.ingot_gh336.name=Gh336锭 +item.ingot_gh336.desc=钅喜的同事。 +item.ingot_graphite.name=石墨锭 +item.ingot_gunmetal.name=炮铜锭 +item.ingot_hes.name=高浓度Sa326燃料锭 +item.ingot_lanthanium.name=半稳定镧锭 +item.ingot_lanthanium.desc=“镧” +item.ingot_lanthanium.desc.P11=实际上就是镧,无论怎么说。 +item.ingot_lead.name=铅锭 +item.ingot_les.name=低浓度Sa326燃料锭 +item.ingot_magnetized_tungsten.name=磁化钨锭 +item.ingot_meteorite.name=陨石锭 +item.ingot_meteorite_forged.name=锻造陨石锭 +item.ingot_mox_fuel.name=MOX燃料锭 +item.ingot_mud.name=固化毒泥浆砖 +item.ingot_neptunium.name=镎锭 +item.ingot_neptunium.desc=那是我最喜欢的! +item.ingot_neptunium.desc.P11=哇,吓人! +item.ingot_neptunium_fuel.name=镎燃料锭 +item.ingot_niobium.name=铌锭 +item.ingot_osmiridium.name=铱锇锭 +item.ingot_pb209.name=铅-209锭 +item.ingot_pc.name=硬质塑料锭 +item.ingot_pet.name=铝金属化PET锭 +item.ingot_phosphorus.name=白磷锭 +item.ingot_plutonium.name=钚锭 +item.ingot_plutonium_fuel.name=钚燃料锭 +item.ingot_polonium.name=钋锭 +item.ingot_polymer.name=聚合物锭 +item.ingot_pu_mix.name=反应堆级钚锭 +item.ingot_pu238.name=钚-238锭 +item.ingot_pu239.name=钚-239锭 +item.ingot_pu240.name=钚-240锭 +item.ingot_pu241.name=钚-241锭 +item.ingot_pvc.name=聚氯乙烯锭(PVC) +item.ingot_ra226.name=镭-226锭 +item.ingot_raw.name=%s锭 +item.ingot_red_copper.name=紫铜锭 +item.ingot_reiium.name=雷恩锭 +item.ingot_rubber.name=橡胶锭 +item.ingot_saturnite.name=土星锭 +item.ingot_schrabidate.name=Sa酸铁锭 +item.ingot_schrabidium.name=Sa326锭 +item.ingot_schrabidium_fuel.name=Sa326燃料锭 +item.ingot_schraranium.name=低丰度Sa326锭 +item.ingot_schraranium.desc=在Sa326嬗变器中由铀制成 +item.ingot_semtex.name=塞姆汀塑胶炸药块 +item.ingot_silicon.name=硅晶 +item.ingot_smore.name=S'more 锭 +item.ingot_solinium.name=Sa327锭 +item.ingot_sr90.name=锶-90锭 +item.ingot_starmetal.name=§9星辉锭§r +item.ingot_steel.name=钢锭 +item.ingot_steel_dusted.name=粉末钢锭 +item.ingot_tantalium.name=钽锭 +item.ingot_tantalium.desc=“钽” +item.ingot_tantalium.desc.P11=英文既可拼作“Tantalum”,也可拼作“Tantalium”。 +item.ingot_tcalloy.name=锝-钢合金锭 +item.ingot_technetium.name=锝-99锭 +item.ingot_th232.name=钍-232锭 +item.ingot_thorium_fuel.name=钍燃料锭 +item.ingot_titanium.name=钛锭 +item.ingot_tungsten.name=钨锭 +item.ingot_u233.name=铀-233锭 +item.ingot_u235.name=铀-235锭 +item.ingot_u238.name=铀-238锭 +item.ingot_u238m2.name=亚稳铀238-2锭 +item.ingot_unobtainium.name=难得素锭 +item.ingot_uranium.name=铀锭 +item.ingot_uranium_fuel.name=铀燃料锭 +item.ingot_verticium.name=韦德赛锭 +item.ingot_weaponsteel.name=武器级钢锭 +item.ingot_weidanium.name=魏丹锭 +item.ingot_zirconium.name=锆块 +item.injector_5htp.name=5-HTP自动药物注射器 +item.injector_knife.name=8英寸刀片自动药物注射器 +item.ink.name=林 墨水 +item.insert_doxium.name=掺砷Doxium插板 +item.insert_du.name=贫铀插板 +item.insert_era.name=反应装甲插板 +item.insert_esapi.name=ESAPI插板 +item.insert_ghiorsium.name=Gh插板 +item.insert_kevlar.name=凯夫拉插板 +item.insert_sapi.name=SAPI插板 +item.insert_polonium.name=钋插板 +item.insert_steel.name=重型钢插板 +item.insert_xsapi.name=XSAPI插板 +item.insert_yharonite.name=犽戎龙素插板 +item.item_secret.canister.name=SB-26成分 +item.item_secret.controller.name=专用控制单元 +item.item_secret.selenium_steel.name=硒钢 +item.iv_blood.name=血袋 +item.iv_empty.name=静脉输液袋 +item.iv_xp.name=经验包 +item.iv_xp_empty.name=空的经验包 +item.jackt.name=时尚防弹夹克 +item.jackt2.name=时尚防弹夹克2:东京漂移 +item.jetpack_boost.name=弹跳背包 +item.jetpack_break.name=缓降背包 +item.jetpack_fly.name=喷气背包 +item.jetpack_tank.name=喷气背包备用燃料罐 +item.jetpack_vector.name=矢量喷气背包 +item.journal_bj.name=被威士忌浸透的笔记本 +item.journal_pip.name=生存主义者日记 +item.journal_silver.name=承包商注释 +item.key.name=钥匙 +item.key_fake.name=伪造钥匙 +item.key_kit.name=钥匙仿制套件 +item.key_red.name=红色钥匙 +item.key_red.desc=探索另一边。 +item.key_red.desc.P11=§4e§r +item.key_red_cracked.name=破碎的钥匙 +item.key_red_cracked.desc=??? +item.key_red.key_red_cracked.P11=§4???§r +item.laser_crystal_bismuth.desc=铋-钐-铀-钍晶体基质 +item.laser_crystal_bismuth.name=铋-钐-铀-钍激光晶体 +item.laser_crystal_cmb.desc=反Sa326被镶嵌在CMB-Sa326合金晶格 +item.laser_crystal_cmb.name=CMB-Sa326反物质激光晶体 +item.laser_crystal_co2.desc=二氧化碳被包裹在结晶的Desh中 +item.laser_crystal_co2.name=CO2-Desh激光晶体 +item.laser_crystal_digamma.name=Digamma迪伽马激光晶体 +item.laser_crystal_dnt.desc=双聚态中子-Spark费米子超晶体 +item.laser_crystal_dnt.name=Spark激光晶体 +item.launch_code.name=发射井发射代码 +item.launch_code_piece.name=发射井发射代码碎片 +item.launch_key.name=发射井发射钥匙 +item.lead_gavel.name=铅槌 +item.lemon.name=“柠檬” +item.letter.name=快捷邮件 +item.levitation_unit.name=重力控制器 +item.lignite.name=褐煤 +item.limiter.name=发电机限制器 +item.linker.name=链接器 +item.liquidator_boots.name=核废土清道夫套装靴子 +item.liquidator_helmet.name=核废土清道夫套装头盔 +item.liquidator_legs.name=核废土清道夫套装护腿 +item.liquidator_plate.name=核废土清道夫套装胸甲 +item.lithium.name=锂锭 +item.lodestone.name=磁石 +item.loop_stew.name=程序猿专属早餐 +item.loops.name=五彩麦圈 +item.loot_10.name=10号导弹战利箱 +item.loot_15.name=15号导弹战利箱 +item.loot_misc.name=普通导弹战利箱 +item.magnet_circular.name=扁磁铁 +item.magnet_dee.name=D型磁铁 +item.magnetron.name=磁控管 +item.man_core.name=钚核心 +item.man_explosive.name=炸药 +item.man_igniter.name=点火器 +item.man_kit.name=胖子 套件 +item.marshmallow.name=穿在木棍上的棉花糖 +item.mask_of_infamy.name=耻辱面具 +item.mask_piss.name=战壕面具 +item.mask_rag.name=粗糙防护面罩 +item.matchstick.name=火柴 +item.mech_key.name=大号银钥匙 +item.mech_key.desc=它充满力量。 +item.mechanism_launcher_1.name=发射机构 +item.mechanism_launcher_2.name=先进发射机构 +item.mechanism_revolver_1.name=转轮机构 +item.mechanism_revolver_2.name=先进转轮机构 +item.mechanism_rifle_1.name=步枪机构 +item.mechanism_rifle_2.name=先进步枪机构 +item.mechanism_special.name=高科技武器机构 +item.med_bag.name=医疗包 +item.med_ipecac.name=吐根酊催吐剂 +item.med_ptsd.name=PTSD治疗药物 +item.med_schiziphrenia.name=抗精神分裂症药物 +item.medal_liquidator.name=核废土清道夫勋章 +item.meltdown_tool.name=达洛夫快速熔毁装置 +item.memespoon.name=§ee花园园丁 +item.memory.name=item.null.name +item.mese_gavel.name=Mese槌 +item.mese_axe.name=Mese斧 +item.mese_pickaxe.name=Mese镐 +item.meteor_charm.name=陨石项链 +item.meteor_remote.name=陨石召唤器 +item.meteorite_sword.name=陨石剑 +item.meteorite_sword_seared.name=陨石剑(烧焦) +item.meteorite_sword_reforged.name=陨石剑(重铸) +item.meteorite_sword_hardened.name=陨石剑(硬化) +item.meteorite_sword_alloyed.name=陨石剑(合金) +item.meteorite_sword_machined.name=陨石剑(机械加工) +item.meteorite_sword_treated.name=陨石剑(精制) +item.meteorite_sword_etched.name=陨石剑(刻蚀) +item.meteorite_sword_bred.name=陨石剑(增殖) +item.meteorite_sword_irradiated.name=陨石剑(辐照) +item.meteorite_sword_fused.name=陨石剑(熔融) +item.meteorite_sword_baleful.name=陨石剑(凶恶) +item.mike_cooling_unit.name=氘冷却装置 +item.mike_core.name=铀涂层氘罐 +item.mike_deut.name=氘罐 +item.mike_kit.name=常春藤麦克 套件 +item.mirror_tool.name=定日镜调整工具 +item.mirror_tool.linked=设置对齐位置! +item.mirror_tool.desc=右键单击“太阳能锅炉”以记忆位置 $再单击“定日镜”可将其转向太阳能锅炉 +item.missile_anti_ballistic.name=反弹道导弹 +item.missile_assembly.name=小型导弹[待装配] +item.missile_bhole.name=黑洞导弹 +item.missile_burst.name=洲际导弹 +item.missile_buster.name=掩体破坏弹 +item.missile_buster_strong.name=强化型掩体破坏弹 +item.missile_carrier.name=HTR-01运载火箭 +item.missile_cluster.name=集束导弹 +item.missile_cluster_strong.name=强化型集束导弹 +item.missile_custom.name=定制导弹 +item.missile_decoy.name=诱饵弹 +item.missile_doomsday.name=末日导弹 +item.missile_doomsday_rusted.name=损坏的末日导弹 +item.missile_drill.name=掩体裂解者 +item.missile_emp.name=EMP导弹 +item.missile_emp_strong.name=强化型EMP导弹 +item.missile_endo.name=吸热导弹 +item.missile_exo.name=放热导弹 +item.missile_generic.name=高爆导弹 +item.missile_incendiary.name=燃烧导弹 +item.missile_incendiary_strong.name=强化型燃烧导弹 +item.missile_inferno.name=Mk.II G.R.N.地狱导弹 +item.missile_kit.name=导弹工具箱 +item.missile_micro.name=战术核导弹 +item.missile_nuclear.name=核导弹 +item.missile_nuclear_cluster.name=热核导弹 +item.missile_rain.name=炸弹雨 +item.missile_schrabidium.name=Sa326导弹 +item.missile_shuttle.name=万金罗宾航天飞机 +item.missile_soyuz.name=联盟-FG运载火箭 +item.missile_soyuz_lander.name=联盟号轨道舱 +item.missile_soyuz_lander.desc=劣质着陆器! +item.missile_stealth.name=隐身导弹 +item.missile_strong.name=强化型高爆导弹 +item.missile_taint.name=污染导弹 +item.missile_volcano.name=构造导弹 +item.missile_volcano.desc=利用核爆的威力,我们可以召唤一座火山! +item.mold_base.name=毛坯铸造模具 +item.mold.name=铸造模具 +item.morning_glory.name=牵牛花 +item.motor.name=马达 +item.motor_bismuth.name=铋马达 +item.motor_desh.name=Desh马达 +item.mp_c_1.name=1级导弹制导芯片 +item.mp_c_2.name=2级导弹制导芯片 +item.mp_c_3.name=3级导弹制导芯片 +item.mp_c_4.name=4级导弹制导芯片 +item.mp_c_5.name=5级导弹制导芯片 +item.mp_fuselage_10_15_balefire.name=10/15号弹体[野火燃料] +item.mp_fuselage_10_15_hydrogen.name=10/15号弹体[液氢] +item.mp_fuselage_10_15_kerosene.name=10/15号弹体[煤油] +item.mp_fuselage_10_15_solid.name=10/15号弹体[固体燃料] +item.mp_fuselage_10_kerosene.name=10号弹体[煤油] +item.mp_fuselage_10_kerosene_camo.name=10号弹体[煤油] +item.mp_fuselage_10_kerosene_desert.name=10号弹体[煤油] +item.mp_fuselage_10_kerosene_flames.name=10号弹体[煤油] +item.mp_fuselage_10_kerosene_insulation.name=10号弹体[煤油] +item.mp_fuselage_10_kerosene_metal.name=10号弹体[煤油] +item.mp_fuselage_10_kerosene_sky.name=10号弹体[煤油] +item.mp_fuselage_10_kerosene_sleek.name=10号弹体[煤油] +item.mp_fuselage_10_kerosene_taint.name=10号弹体[煤油] +item.mp_fuselage_10_long_kerosene.name=10号长弹体[煤油] +item.mp_fuselage_10_long_kerosene_camo.name=10号长弹体[煤油] +item.mp_fuselage_10_long_kerosene_dash.name=10号长弹体[煤油] +item.mp_fuselage_10_long_kerosene_desert.name=10号长弹体[煤油] +item.mp_fuselage_10_long_kerosene_flames.name=10号长弹体[煤油] +item.mp_fuselage_10_long_kerosene_insulation.name=10号长弹体[煤油] +item.mp_fuselage_10_long_kerosene_metal.name=10号长弹体[煤油] +item.mp_fuselage_10_long_kerosene_sky.name=10号长弹体[煤油] +item.mp_fuselage_10_long_kerosene_sleek.name=10号长弹体[煤油] +item.mp_fuselage_10_long_kerosene_taint.name=10号长弹体[煤油] +item.mp_fuselage_10_long_kerosene_vap.name=10号长弹体[煤油] +item.mp_fuselage_10_long_solid.name=10号长弹体[固体燃料] +item.mp_fuselage_10_long_solid_bullet.name=10号长弹体[固体燃料] +item.mp_fuselage_10_long_solid_flames.name=10号长弹体[固体燃料] +item.mp_fuselage_10_long_solid_insulation.name=10号长弹体[固体燃料] +item.mp_fuselage_10_long_solid_silvermoonlight.name=10号长弹体[固体燃料] +item.mp_fuselage_10_long_solid_sleek.name=10号长弹体[固体燃料] +item.mp_fuselage_10_long_solid_soviet_glory.name=10号长弹体[固体燃料] +item.mp_fuselage_10_solid.name=10号弹体[固体燃料] +item.mp_fuselage_10_solid_battery.name=10号弹体[固体燃料] +item.mp_fuselage_10_solid_cathedral.name=10号弹体[固体燃料] +item.mp_fuselage_10_solid_duracell.name=10号弹体[固体燃料] +item.mp_fuselage_10_solid_flames.name=10号弹体[固体燃料] +item.mp_fuselage_10_solid_insulation.name=10号弹体[固体燃料] +item.mp_fuselage_10_solid_moonlit.name=10号弹体[固体燃料] +item.mp_fuselage_10_solid_sleek.name=10号弹体[固体燃料] +item.mp_fuselage_10_solid_soviet_glory.name=10号弹体[固体燃料] +item.mp_fuselage_10_xenon.name=10号弹体[氙] +item.mp_fuselage_10_xenon_bhole.name=10号弹体[氙] +item.mp_fuselage_15_20_kerosene.name=15/20号弹体[煤油] +item.mp_fuselage_15_20_kerosene_magnusson.name=15/20号弹体[煤油] +item.mp_fuselage_15_20_solid.name=15/20号弹体[固体燃料] +item.mp_fuselage_15_balefire.name=15号弹体[野火燃料] +item.mp_fuselage_15_hydrogen.name=15号弹体[液氢] +item.mp_fuselage_15_hydrogen_cathedral.name=15号弹体[液氢] +item.mp_fuselage_15_kerosene.name=15号弹体[煤油] +item.mp_fuselage_15_kerosene_blackjack.name=15号弹体[煤油] +item.mp_fuselage_15_kerosene_camo.name=15号弹体[煤油] +item.mp_fuselage_15_kerosene_decorated.name=15号弹体[煤油] +item.mp_fuselage_15_kerosene_desert.name=15号弹体[煤油] +item.mp_fuselage_15_kerosene_insulation.name=15号弹体[煤油] +item.mp_fuselage_15_kerosene_lambda.name=15号弹体[煤油] +item.mp_fuselage_15_kerosene_metal.name=15号弹体[煤油] +item.mp_fuselage_15_kerosene_minuteman.name=15号弹体[煤油] +item.mp_fuselage_15_kerosene_pip.name=15号弹体[煤油] +item.mp_fuselage_15_kerosene_polite.name=15号弹体[煤油] +item.mp_fuselage_15_kerosene_sky.name=15号弹体[煤油] +item.mp_fuselage_15_kerosene_steampunk.name=15号弹体[煤油] +item.mp_fuselage_15_kerosene_taint.name=15号弹体[煤油] +item.mp_fuselage_15_kerosene_yuck.name=15号弹体[煤油] +item.mp_fuselage_15_solid.name=15号弹体[固体燃料] +item.mp_fuselage_15_solid_desh.name=15号弹体[固体燃料] +item.mp_fuselage_15_solid_faust.name=15号弹体[固体燃料] +item.mp_fuselage_15_solid_insulation.name=15号弹体[固体燃料] +item.mp_fuselage_15_solid_mimi.name=15号弹体[固体燃料] +item.mp_fuselage_15_solid_panorama.name=15号弹体[固体燃料] +item.mp_fuselage_15_solid_roses.name=15号弹体[固体燃料] +item.mp_fuselage_15_solid_silvermoonlight.name=15号弹体[固体燃料] +item.mp_fuselage_15_solid_snowy.name=15号弹体[固体燃料] +item.mp_fuselage_15_solid_soviet_glory.name=15号弹体[固体燃料] +item.mp_fuselage_15_solid_soviet_stank.name=15号弹体[固体燃料] +item.mp_stability_10_cruise.name=10号巡航翼 +item.mp_stability_10_flat.name=10号水平翼 +item.mp_stability_10_space.name=10号航天翼 +item.mp_stability_15_flat.name=15号水平翼 +item.mp_stability_15_soyuz.name=15号尖翼 +item.mp_stability_15_thin.name=15号薄翼 +item.mp_thruster_10_kerosene.name=10号液体燃料推进器 +item.mp_thruster_10_solid.name=10号固体燃料推进器 +item.mp_thruster_10_xenon.name=10号离子推进器 +item.mp_thruster_15_balefire.name=15号带核预热器的野火燃料推进器 +item.mp_thruster_15_balefire_large.name=15号带核预热器的野火燃料推进器[重型喷管] +item.mp_thruster_15_balefire_large_rad.name=15号带核预热器的野火燃料推进器[重型喷管-稀有] +item.mp_thruster_15_balefire_short.name=15号带核预热器的野火燃料推进器[缩短版] +item.mp_thruster_15_hydrogen.name=15号液氢推进器 +item.mp_thruster_15_hydrogen_dual.name=15号双喷管氢推进器 +item.mp_thruster_15_kerosene.name=15号液体燃料推进器 +item.mp_thruster_15_kerosene_dual.name=15号双喷管液体燃料推进器 +item.mp_thruster_15_kerosene_triple.name=15号三喷管液体燃料推进器 +item.mp_thruster_15_solid.name=15号固体燃料推进器 +item.mp_thruster_15_solid_hexdecuple.name=15号十六喷管固体燃料推进器 +item.mp_thruster_20_kerosene.name=20号液体燃料推进器 +item.mp_thruster_20_kerosene_dual.name=20号液体燃料推进器 +item.mp_thruster_20_kerosene_triple.name=20号液体燃料推进器 +item.mp_thruster_20_solid.name=20号固体燃料推进器 +item.mp_thruster_20_solid_multi.name=20号三十喷管固体燃料推进器 +item.mp_thruster_20_solid_multier.name=20号四十七喷管固体燃料推进器 +item.mp_warhead_10_buster.name=10号掩体破坏弹头 +item.mp_warhead_10_cloud.name=10号粉雾弹头 +item.mp_warhead_10_he.name=10号HE弹头 +item.mp_warhead_10_incendiary.name=10号燃烧弹头 +item.mp_warhead_10_nuclear.name=10号微型核弹头 +item.mp_warhead_10_nuclear_large.name=10号核弹头 +item.mp_warhead_10_taint.name=10号污染弹头 +item.mp_warhead_15_balefire.name=15号野火弹头 +item.mp_warhead_15_boxcar.name=15号 车厢? +item.mp_warhead_15_he.name=15号HE弹头 +item.mp_warhead_15_incendiary.name=15号燃烧弹头 +item.mp_warhead_15_n2.name=15号N2炸弹 +item.mp_warhead_15_nuclear.name=15号核弹头 +item.mp_warhead_15_nuclear_mimi.name=15号核弹头 +item.mp_warhead_15_nuclear_shark.name=15号核弹头 +item.mp_warhead_15_turbine.name=15号喷气发动机弹头 +item.mucho_mango.name=亚利桑那芒果味饮料 +item.multi_kit.name=多用途炸弹 套件 +item.multitool_beam.name=动力拳套[热射线] +item.multitool_decon.name=动力拳套[净化] +item.multitool_dig.name=动力拳套[挖掘] +item.multitool_ext.name=动力拳套[矿物提取] +item.multitool_hit.name=动力拳套[攻击] +item.multitool_joule.name=动力拳套[千兆焦耳] +item.multitool_mega.name=动力拳套[超级重拳] +item.multitool_miner.name=动力拳套[采矿激光] +item.multitool_silk.name=动力拳套[精准采集] +item.multitool_sky.name=动力拳套[划破天际] +item.mysteryshovel.name=易碎锹 +item.n2_charge.name=大型炸药 +item.neutrino_lens.name=中微子透镜 +item.neutron_reflector.name=中子反射板 +item.night_vision.name=夜视眼镜 +item.night_vision.description.item=提供夜视功能(需要全套电动设备) +item.night_vision.description.in_armor=%s(允许夜视) +item.niter.name=硝石粉 +item.nitra.name=Nitra +item.nitra_small.name=小撮Nitra +item.no9.name=矿工头盔 +item.nossy_hat.name=华丽的帽子 +item.nothing.name=没有东西 +item.nuclear_waste.name=核废料 +item.nuclear_waste_pearl.name=放射性珍珠 +item.nuclear_waste_tiny.name=小撮核废料 +item.nuclear_waste_long.name=长半衰期核废料 +item.nuclear_waste_long_tiny.name=小撮长半衰期核废料 +item.nuclear_waste_long_depleted.name=腐化的长半衰期核废料 +item.nuclear_waste_long_depleted_tiny.name=小撮腐化的长半衰期核废料 +item.nuclear_waste_short.name=短半衰期核废料 +item.nuclear_waste_short_tiny.name=小撮短半衰期核废料 +item.nuclear_waste_short_depleted.name=腐化的短半衰期核废料 +item.nuclear_waste_short_depleted_tiny.name=小撮腐化的短半衰期核废料 +item.nuclear_waste_vitrified.name=玻璃化核废料 +item.nuclear_waste_vitrified_tiny.name=小撮玻璃化核废料 +item.nugget.name=鸡块 +item.nugget_actinium.name=锕-227粒 +item.nugget_am_mix.name=反应堆级镅粒 +item.nugget_am241.name=镅-241粒 +item.nugget_am242.name=镅-242粒 +item.nugget_americium_fuel.name=镅燃料粒 +item.nugget_arsenic.name=砷粒 +item.nugget_au198.name=金-198粒 +item.nugget_australium.name=奥斯粒 +item.nugget_australium_greater.name=富集奥斯粒 +item.nugget_australium_lesser.name=贫化奥斯粒 +item.nugget_beryllium.name=铍粒 +item.nugget_bismuth.name=铋粒 +item.nugget_co60.name=钴-60粒 +item.nugget_cobalt.name=钴粒 +item.nugget_daffergon.name=达夫贡粒 +item.nugget_desh.name=Desh粒 +item.nugget_dineutronium.name=双聚中子态素粒 +item.nugget_euphemium.name=Ep粒 +item.nugget_euphemium.desc=一小块粉红色的金属$它的属性仍然未知,请小心处理。 +item.nugget_gh336.name=Gh336粒 +item.nugget_gh336.desc=钅喜的同事。 +item.nugget_hes.name=高浓度Sa326燃料粒 +item.nugget_lead.name=铅粒 +item.nugget_les.name=低浓度Sa326燃料粒 +item.nugget_mercury_tiny.name=一小滴水银 +item.nugget_mercury.name=一滴水银 +item.nugget_mox_fuel.name=MOX燃料粒 +item.nugget_mox_fuel.desc=摩西说:§l逃税。§r +item.nugget_neptunium.name=镎粒 +item.nugget_neptunium_fuel.name=镎燃料粒 +item.nugget_niobium.name=铌粒 +item.nugget_osmiridium.name=铱锇粒 +item.nugget_pb209.name=铅-209粒 +item.nugget_plutonium.name=钚粒 +item.nugget_plutonium_fuel.name=钚燃料粒 +item.nugget_polonium.name=钋粒 +item.nugget_pu_mix.name=反应堆级钚粒 +item.nugget_pu238.name=钚-238粒 +item.nugget_pu239.name=钚-239粒 +item.nugget_pu240.name=钚-240粒 +item.nugget_pu241.name=钚-241粒 +item.nugget_ra226.name=镭-226粒 +item.nugget_reiium.name=雷恩粒 +item.nugget_schrabidium.name=Sa326粒 +item.nugget_schrabidium_fuel.name=Sa326燃料粒 +item.nugget_silicon.name=硅粒 +item.nugget_solinium.name=Sa327粒 +item.nugget_sr90.name=锶-90粒 +item.nugget_tantalium.name=钽粒 +item.nugget_tantalium.desc=“钽” +item.nugget_tantalium.desc.P11=英文既可拼作“Tantalum”,也可拼作“Tantalium”。 +item.nugget_technetium.name=锝-99粒 +item.nugget_th232.name=钍232粒 +item.nugget_thorium_fuel.name=钍燃料粒 +item.nugget_u233.name=铀-233粒 +item.nugget_u235.name=铀-235粒 +item.nugget_u238.name=铀-238粒 +item.nugget_unobtainium.name=难得素粒 +item.nugget_uranium.name=铀粒 +item.nugget_uranium_fuel.name=铀燃料粒 +item.nugget_verticium.name=韦德赛粒 +item.nugget_weidanium.name=魏丹粒 +item.nugget_zirconium.name=锆碎片 +item.nuke_advanced_kit.name=原子学高级工具箱 +item.nuke_commercially_kit.name=商用原子学工具箱 +item.nuke_electric_kit.name=电子工程师工具箱 +item.nuke_starter_kit.name=原子学入门工具箱 +item.oil_canola.name=菜籽油 +item.oil_detector.name=石油探测仪 +item.oil_detector.desc1=单击右键扫描地下是否存在油田 +item.oil_detector.desc2=探测仪只会发现大片油田 +item.oil_detector.bullseye=正下方发现油田! +item.oil_detector.detected=附近存在油田 +item.oil_detector.noOil=未发现油田 +item.oil_tar.coal.name=煤焦油 +item.oil_tar.crude.name=焦油 +item.oil_tar.crack.name=裂化焦油 +item.oil_tar.paraffin.name=石蜡 +item.oil_tar.wax.name=氯化石蜡 +item.oil_tar.wood.name=木馏油 +item.ore.asbestos=石棉 +item.ore.borax=硼砂 +item.ore.chlorocalcite=氯方解石 +item.ore.copper=铜 +item.ore.fluorite=氟石 +item.ore.gold=金 +item.ore.hematite=赤铁矿 +item.ore.iron=铁 +item.ore.malachite=孔雀石 +item.ore.neodymium=钕 +item.ore.niobium=铌 +item.ore.titanium=钛 +item.ore.tungsten=钨 +item.ore.thorium232=钍 +item.ore.uranium=铀 +item.ore_bedrock.name=基岩%s矿 +item.ore_byproduct.b_aluminium.name=铝晶体碎片 +item.ore_byproduct.b_bismuth.name=铋晶体碎片 +item.ore_byproduct.b_calcium.name=钙晶体碎片 +item.ore_byproduct.b_copper.name=铜晶体碎片 +item.ore_byproduct.b_iron.name=铁晶体碎片 +item.ore_byproduct.b_lead.name=铅晶体碎片 +item.ore_byproduct.b_lithium.name=锂晶体碎片 +item.ore_byproduct.b_polonium.name=钋晶体碎片 +item.ore_byproduct.b_radium.name=镭晶体碎片 +item.ore_byproduct.b_silicon.name=硅晶体碎片 +item.ore_byproduct.b_sulfur.name=硫晶体碎片 +item.ore_byproduct.b_technetium.name=锝晶体碎片 +item.ore_byproduct.b_titanium.name=钛晶体碎片 +item.ore_byproduct.b_uranium.name=铀晶体碎片 +item.ore_centrifuged.name=离心%s矿 +item.ore_cleaned.name=清洁%s矿 +item.ore_deepcleaned.name=深清洁%s矿 +item.ore_density_scanner.name=基岩矿石丰度扫描仪 +item.ore_density_scanner.excellent=极多 +item.ore_density_scanner.high=较多 +item.ore_density_scanner.low=较少 +item.ore_density_scanner.moderate=中等 +item.ore_density_scanner.poor=少 +item.ore_density_scanner.veryhigh=多 +item.ore_density_scanner.verypoor=极少 +item.ore_enriched.name=富集%s矿 +item.ore_nitrated.name=硝化%s矿 +item.ore_nitrocrystalline.name=亚硝基结晶%s矿 +item.ore_purified.name=净化%s矿 +item.ore_radcleaned.name=经辐射清洁的%s矿 +item.ore_seared.name=灼热的%s矿 +item.ore_separated.name=分离的%s矿 +item.overfuse.name=奇异螺丝刀 +item.overfuse.desc=说啥? +item.oxy_mask.name=氧气面罩 +item.pa_coil.bscco.name=大型BSCCO超导线圈 +item.pa_coil.gold.name=大型金线圈 +item.pa_coil.niobium.name=大型铌钛合金线圈 +item.paa_boots.name=PaA “好鞋” +item.paa_legs.name=PaA加固护腿 +item.paa_plate.name=PaA加固护胸 +item.padlock.name=挂锁 +item.padlock_reinforced.name=加强挂锁 +item.padlock_rusty.name=生锈的挂锁 +item.padlock_unbreakable.name=牢不可破的挂锁 +item.pads_rubber.name=橡胶垫 +item.pads_slime.name=粘液垫 +item.pads_static.name=静电垫 +item.page_of_.page1.name=书页之一 +item.page_of_.page2.name=书页之二 +item.page_of_.page3.name=书页之三 +item.page_of_.page4.name=书页之四 +item.page_of_.page5.name=书页之五 +item.page_of_.page6.name=书页之六 +item.page_of_.page7.name=书页之七 +item.page_of_.page8.name=书页之八 +item.pancake.name=用废金属、螺栓和宝石粉做成的薄饼 +item.part_barrel_heavy.name=重型%s枪管 +item.part_barrel_light.name=轻型%s枪管 +item.part_beryllium.name=铍粉盒 +item.part_carbon.name=碳粉盒 +item.part_copper.name=铜粉盒 +item.part_generic.hde.name=重型元件 +item.part_generic.lde.name=低密度元件 +item.part_generic.piston_electric.name=电动活塞 +item.part_generic.piston_hydraulic.name=液压活塞 +item.part_generic.piston_pneumatic.name=气动活塞 +item.part_grip.name=%s握把 +item.part_lithium.name=锂粉盒 +item.part_mechanism.name=%s机构 +item.part_plutonium.name=钚粉盒 +item.part_receiver_heavy.name=重型%s机匣 +item.part_receiver_light.name=轻型%s机匣 +item.part_stock.name=%s枪托 +item.particle_aelectron.name=正电子胶囊 +item.particle_amat.name=反物质胶囊 +item.particle_aproton.name=反质子胶囊 +item.particle_aschrab.name=反Sa326胶囊 +item.particle_copper.name=铜离子胶囊 +item.particle_dark.name=暗物质胶囊 +item.particle_digamma.name=§c迪伽马粒子胶囊§r +item.particle_empty.name=空粒子胶囊 +item.particle_higgs.name=希格斯玻色子胶囊 +item.particle_hydrogen.name=氢离子胶囊 +item.particle_lead.name=铅离子胶囊 +item.particle_lutece.name=Lutece镥准粒子胶囊 +item.particle_muon.name=μ子胶囊 +item.particle_sparkticle.name=Spark粒子胶囊 +item.particle_strange.name=奇异夸克胶囊 +item.particle_tachyon.name=超光速粒子密封胶囊 +item.parts_legendary.name=传奇零件 +item.peas.name=豌豆 +item.pedestal_steel.name=钢底座 +item.pellet_advanced.name=高级Watz性能增强剂 +item.pellet_antimatter.name=反物质团 +item.pellet_beryllium.name=铍慢化靶丸 +item.pellet_buckshot.name=铅弹丸 +item.pellet_canister.name=榴霰弹弹丸 +item.pellet_charged.name=电离粒子 +item.pellet_chlorophyte.name=叶绿弹丸 +item.pellet_claws.name=金属利爪 +item.pellet_cluster.name=爆炸弹丸 +item.pellet_cluster.desc=用于多用途炸弹:$增加了一些额外的爆炸力! +item.pellet_coal.name=致密煤 +item.pellet_coolant.name=冷却液组 +item.pellet_flechette.name=箭霰弹 +item.pellet_gas.name=毒气筒 +item.pellet_gas.desc=用于多用途炸弹:$*咳嗽*请停止! +item.pellet_hes.name=HES Watz靶丸 +item.pellet_lead.name=铅反射靶丸 +item.pellet_les.name=LES Watz靶丸 +item.pellet_mercury.name=水银弹丸 +item.pellet_mes.name=MES Watz靶丸 +item.pellet_meteorite.name=陨石弹丸 +item.pellet_neptunium.name=镎Watz靶丸 +item.pellet_rtg.name=钚238放射性同位素燃料靶丸 +item.pellet_rtg.desc=无限能量的RTG靶丸!(差不多) +item.pellet_rtg_actinium.name=锕-227放射性同位素燃料靶丸 +item.pellet_rtg_actinium.desc=充满了高能电子的蓝色光辉 +item.pellet_rtg_americium.name=镅-241放射性同位素燃料靶丸 +item.pellet_rtg_americium.desc=稀有可靠,好的老镅! +item.pellet_rtg_berkelium.name=锫放射性同位素燃料靶丸 +item.pellet_rtg_berkelium.desc= +item.pellet_rtg_cobalt.name=钴-60放射性同位素燃料靶丸 +item.pellet_rtg_cobalt.desc=不是最好的RTG,但对伽马辐射很好! +item.pellet_rtg_depleted.bismuth.name=枯竭铋放射性同位素燃料靶丸 +item.pellet_rtg_depleted.lead.name=枯竭铅放射性同位素燃料靶丸 +item.pellet_rtg_depleted.neptunium.name=枯竭镎放射性同位素燃料靶丸 +item.pellet_rtg_depleted.mercury.name=枯竭汞放射性同位素燃料靶丸 +item.pellet_rtg_depleted.nickel.name=枯竭镍放射性同位素燃料靶丸 +item.pellet_rtg_depleted.zirconium.name=枯竭锆放射性同位素燃料靶丸 +item.pellet_rtg_lead.name=铅-209 放射性同位素燃料靶丸 +item.pellet_rtg_lead.desc=接触会导致立即死亡。 +item.pellet_rtg_gold.name=金-198放射性同位素燃料靶丸 +item.pellet_rtg_gold.desc=由稀有的、高度不稳定的金同位素制成。 +item.pellet_rtg_polonium.name=钋210放射性同位素燃料靶丸 +item.pellet_rtg_polonium.desc=更多粉末状RTG靶丸,由最好的钋制成! +item.pellet_rtg_strontium.name=锶-90放射性同位素燃料靶丸 +item.pellet_rtg_strontium.desc=被加利福尼亚洲所熟知... +item.pellet_rtg_radium.name=镭-226放射性同位素燃料靶丸 +item.pellet_rtg_radium.desc=伟大的启动靶丸,来自全天然镭! +item.pellet_rtg_weak.name=贫铀放射性同位素燃料靶丸 +item.pellet_rtg_weak.desc=更便宜更弱的靶丸,含有更多的铀238! +item.pellet_schrabidium.name=纯Sa326Watz靶丸 +item.photo_panel.name=光伏板 +item.pile_rod_boron.name=芝加哥反应堆 控制棒 +item.pile_rod_boron.desc=§9[中子吸收器]$§E单击以切换 +item.pile_rod_detector.name=芝加哥反应堆控制/探测棒 +item.pile_rod_detector.desc=§9[中子探测器/吸收器]$§e使用拆弹器增加/减少中子通量限值$§e使用螺丝刀检查中子通量 +item.pile_rod_lithium.name=芝加哥反应堆锂燃料棒 +item.pile_rod_lithium.desc=§a[可增殖燃料棒]$§e使用手钻检查棒芯 +item.pile_rod_plutonium.name=芝加哥反应堆 钚棒 +item.pile_rod_plutonium.desc=§d[中子源棒] +item.pile_rod_pu239.name=芝加哥反应堆增殖铀棒 +item.pile_rod_pu239.desc=§a[可反应核燃料]$§e富含钚-239 +item.pile_rod_source.name=芝加哥反应堆 镭226-铍中子源 +item.pile_rod_source.desc=§d[中子源棒] +item.pile_rod_uranium.name=芝加哥反应堆 铀棒 +item.pile_rod_uranium.desc=§a[可反应核燃料]$§e使用手钻取堆芯样本 +item.pill_iodine.name=碘丸 +item.pill_iodine.desc=消除负面buff +item.pill_herbal.name=草药膏 +item.pill_herbal.desc=有效治疗肺部疾病和轻度辐射中毒$有副作用 +item.pill_red.name=红色药丸 +item.pin.name=发夹 +item.pin.desc=撬开标准锁的成功率约为10%。 +item.pipentm.name=%s管 +item.pipes_steel.name=钢管 +item.pipes_steel.desc=为了避免合成冲突,所以造价如此高昂 +item.piston_selenium.name=星型发动机活塞 +item.piston_set_desh.name=Desh活塞组 +item.piston_set_dura.name=高速钢活塞组 +item.piston_set_starmetal.name=星辉活塞组 +item.piston_set_steel.name=钢活塞组 +item.plan_c.name=C计划 +item.plan_c.desc=致死 +item.plant_item.mustardwillow.name=芥子柳叶 +item.plant_item.rope.name=麻绳 +item.plant_item.tobacco.name=烟叶 +item.plastic_bag.name=塑料袋 +item.plate_advanced_alloy.name=高级合金板 +item.plate_aluminium.name=铝板 +item.plate_armor_ajr.name=铁皮装甲板 +item.plate_armor_dnt.name=DNT装甲板 +item.plate_armor_fau.name=Fau装甲板 +item.plate_armor_hev.name=反应装甲板 +item.plate_armor_lunar.name=月球镀层 +item.plate_armor_titanium.name=钛装甲板 +item.plate_bismuth.name=铋复合板 +item.plate_bismuth.desc=伙计们,这是铋的炼金术符号,我发誓。 +item.plate_cast.name=铸造%s板 +item.plate_combine_steel.name=CMB钢板 +item.plate_copper.name=铜板 +item.plate_dalekanium.name=愤怒的金属 +item.plate_desh.name=Desh复合板 +item.plate_dineutronium.name=双聚中子态素复合板 +item.plate_dura_steel.name=高速钢板 +item.plate_euphemium.name=Ep复合板 +item.plate_fuel_mox.name=MOX 板状燃料 +item.plate_fuel_pu238be.name=钚238-铍 板状燃料 +item.plate_fuel_pu239.name=高浓度钚-239 板状燃料 +item.plate_fuel_ra226be.name=镭226-铍 板状燃料 +item.plate_fuel_sa326.name=高浓度Sa326 板状燃料 +item.plate_fuel_u233.name=高浓度铀-233 板状燃料 +item.plate_fuel_u235.name=高浓度铀-235 板状燃料 +item.plate_gold.name=金板 +item.plate_gunmetal.name=炮铜板 +item.plate_iron.name=铁板 +item.plate_kevlar.name=凯夫拉板材 +item.plate_lead.name=铅板 +item.plate_mixed.name=合金板 +item.plate_paa.name=PaA合金板 +item.plate_polymer.name=绝缘体 +item.plate_saturnite.name=土星板 +item.plate_schrabidium.name=Sa326板 +item.plate_steel.name=钢板 +item.plate_titanium.name=钛板 +item.plate_weaponsteel.name=武器级钢板 +item.plate_welded.name=焊接%s板 +item.polaroid.name=偏光片 +item.pollution_detector.name=污染探测器 +item.powder_actinium.name=锕粉 +item.powder_actinium_tiny.name=小撮锕粉 +item.powder_advanced_alloy.name=高级合金粉 +item.powder_aluminium.name=铝粉 +item.powder_asbestos.name=石棉粉 +item.powder_asbestos.desc=§o\\“暴 风 吸 入-- 太 t m 香 了\\”§r +item.powder_ash.coal.name=煤灰 +item.powder_ash.fly.name=飞尘 +item.powder_ash.fullerene.name=富勒烯 +item.powder_ash.misc.name=灰尘 +item.powder_ash.soot.name=细烟灰 +item.powder_ash.wood.name=木灰 +item.powder_astatine.name=砹粉 +item.powder_at209.name=砹-209粉 +item.powder_au198.name=金-198粉 +item.powder_australium.name=奥斯粉 +item.powder_bakelite.name=电木粉 +item.powder_balefire.name=热核灰烬 +item.powder_beryllium.name=铍粉 +item.powder_bismuth.name=铋粉 +item.powder_borax.name=硼砂 +item.powder_boron.name=硼粉 +item.powder_boron_tiny.name=小撮硼粉 +item.powder_bromine.name=溴粉 +item.powder_cadmium.name=镉粉 +item.powder_caesium.name=铯粉 +item.powder_calcium.name=钙粉 +item.powder_cement.name=水泥 +item.powder_cerium.name=铈粉 +item.powder_cerium_tiny.name=小撮铈粉 +item.powder_chlorocalcite.name=氯方解石 +item.powder_chlorophyte.name=叶绿粉 +item.powder_cloud.name=云粉末 +item.powder_co60.name=钴-60粉 +item.powder_coal.name=煤粉 +item.powder_coal_tiny.name=小撮煤粉 +item.powder_cobalt.name=钴粉 +item.powder_cobalt_tiny.name=小撮钴粉 +item.powder_coltan.name=纯钽铁矿 +item.powder_coltan_ore.name=粉碎的钶钽铁矿石 +item.powder_combine_steel.name=CMB钢粉 +item.powder_copper.name=铜粉 +item.powder_cs137.name=铯-137粉 +item.powder_cs137_tiny.name=小撮铯-137粉 +item.powder_daffergon.name=达夫贡粉 +item.powder_desh.name=Desh粉 +item.powder_desh_mix.name=Desh混合物 +item.powder_desh_ready.name=DeshReady混合物 +item.powder_diamond.name=钻石粉 +item.powder_dineutronium.name=双聚中子态素粉 +item.powder_dura_steel.name=高速钢粉 +item.powder_emerald.name=绿宝石粉 +item.powder_euphemium.name=Ep粉 +item.powder_euphemium.desc=粉红色$尝起来像草莓。 +item.powder_fertilizer.name=工业肥料 +item.powder_fire.name=红磷粉 +item.powder_fire.desc=用于多用途炸弹:燃烧弹很有趣! +item.powder_flux.name=助熔剂 +item.powder_gold.name=金粉 +item.powder_i131.name=碘-131粉 +item.powder_i131_tiny.name=小撮碘-131粉 +item.powder_ice.name=冷冻粉 +item.powder_impure_osmiridium.name=不纯铱锇粉 +item.powder_iodine.name=碘粉 +item.powder_iron.name=铁粉 +item.powder_lanthanium.name=镧粉 +item.powder_lanthanium_tiny.name=小撮镧粉 +item.powder_lapis.name=青金石粉 +item.powder_lead.name=铅粉 +item.powder_lignite.name=褐煤粉 +item.powder_limestone.name=石灰石粉 +item.powder_lithium.name=锂粉 +item.powder_lithium_tiny.name=小撮锂粉 +item.powder_magic.name=粉碎的魔法 +item.powder_magnetized_tungsten.name=磁化钨粉 +item.powder_meteorite.name=陨石粉 +item.powder_meteorite_tiny.name=小撮陨石粉 +item.powder_molysite.name=氯化铁 +item.powder_neodymium.name=钕粉 +item.powder_neodymium_tiny.name=小撮钕粉 +item.powder_neptunium.name=镎粉 +item.powder_niobium.name=铌粉 +item.powder_niobium_tiny.name=小撮铌粉 +item.powder_nitan_mix.name=Nitan混合物 +item.powder_paleogenite.name=古近纪岩石粉末 +item.powder_paleogenite_tiny.name=小撮古近纪岩石粉末 +item.powder_plutonium.name=钚粉 +item.powder_poison.name=剧毒粉 +item.powder_poison.desc=用于多用途炸弹:警告:有毒! +item.powder_polonium.name=钋粉 +item.powder_polymer.name=聚合物粉 +item.powder_power.name=能量粉 +item.powder_quartz.name=石英粉 +item.powder_ra226.name=镭-226粉 +item.powder_red_copper.name=紫铜粉 +item.powder_reiium.name=雷恩粉 +item.powder_sawdust.name=锯末 +item.powder_schrabidate.name=Sa酸铁粉 +item.powder_schrabidium.name=Sa326粉 +item.powder_semtex_mix.name=塞姆汀塑胶炸药混合物 +item.powder_sodium.name=钠 +item.powder_spark_mix.name=Spark闪闪奥术混合物 +item.powder_sr90.name=锶-90粉 +item.powder_sr90_tiny.name=小撮锶-90粉末 +item.powder_steel.name=钢粉 +item.powder_steel_tiny.name=小撮钢粉 +item.powder_strontium.name=锶粉 +item.powder_tantalium.name=钽粉 +item.powder_tantalium.desc=“钽” +item.powder_tantalium.desc.P11=英文既可拼作“Tantalum”,也可拼作“Tantalium”。 +item.powder_tcalloy.name=锝-钢粉 +item.powder_tektite.name=熔融石粉 +item.powder_tennessine.name=Ts粉 +item.powder_thermite.name=铝热剂 +item.powder_thorium.name=钍粉 +item.powder_titanium.name=钛粉 +item.powder_tungsten.name=钨粉 +item.powder_unobtainium.name=难得素粉 +item.powder_uranium.name=铀粉 +item.powder_verticium.name=韦德赛粉 +item.powder_weidanium.name=魏丹粉 +item.powder_xe135.name=氙-135粉 +item.powder_xe135_tiny.name=小撮氙-135粉 +item.powder_yellowcake.name=黄饼 +item.powder_zirconium.name=锆粉 +item.power_net_tool.name=电缆网络分析工具 +item.pipette.name=移液管 +item.pipette_boron.name=硼玻璃移液管 +item.pipette_laboratory.name=移液器 +item.primer_357.name=.357马格南底火[x24] +item.primer_44.name=.44马格南底火[x24] +item.primer_50.name=大口径底火[x12] +item.primer_9.name=小口径底火[x32] +item.primer_buckshot.name=鹿弹底火[x12] +item.protection_charm.name=守护项链 +item.prototype_kit.name=原型 套件 +item.pudding.name=布丁 +item.pwr_fuel.bfb_am_mix.name=燃料级镅压水堆BFB燃料棒 +item.pwr_fuel.bfb_pu241.name=钚-241压水堆BFB棒 +item.pwr_fuel.hea242.name=HEA-242 高浓缩度镅-242压水堆燃料棒 +item.pwr_fuel.hen237.name=HEN-237 高浓缩度镎-237压水堆燃料棒 +item.pwr_fuel.hep239.name=HEP-239 高浓缩度钚-239压水堆燃料棒 +item.pwr_fuel.hep241.name=HEP-241 高浓缩度钚-241压水堆燃料棒 +item.pwr_fuel.hes326.name=HES-326 高浓缩度Sa326压水堆燃料棒 +item.pwr_fuel.hes327.name=HES-327 高浓缩度Sa327压水堆燃料棒 +item.pwr_fuel.heu233.name=HEU-233 高浓缩度铀-233压水堆燃料棒 +item.pwr_fuel.heu235.name=HEU-235 高浓缩度铀-235压水堆燃料棒 +item.pwr_fuel.mea.name=MEA 中浓缩度镅压水堆燃料棒 +item.pwr_fuel.men.name=MEN 中浓缩度镎压水堆燃料棒 +item.pwr_fuel.mep.name=MEP 中浓缩度钚压水堆燃料棒 +item.pwr_fuel.meu.name=MEU 中浓缩度铀压水堆燃料棒 +item.pwr_fuel.mox.name=MOX 压水堆燃料棒 +item.pwr_fuel_depleted.bfb_am_mix.name=枯竭燃料级镅压水堆BFB燃料棒 +item.pwr_fuel_depleted.bfb_pu241.name=枯竭钚-241压水堆BFB棒 +item.pwr_fuel_depleted.hea242.name=枯竭 HEA-242 高浓缩度镅-242压水堆燃料棒 +item.pwr_fuel_depleted.hen237.name=枯竭 HEN-237 高浓缩度镎-237压水堆燃料棒 +item.pwr_fuel_depleted.hep239.name=枯竭 HEP-239 高浓缩度钚-239压水堆燃料棒 +item.pwr_fuel_depleted.hep241.name=枯竭 HEP-241 高浓缩度钚-241压水堆燃料棒 +item.pwr_fuel_depleted.hes326.name=枯竭 HES-326 高浓缩度Sa326压水堆燃料棒 +item.pwr_fuel_depleted.hes327.name=枯竭 HES-327 高浓缩度Sa327压水堆燃料棒 +item.pwr_fuel_depleted.heu233.name=枯竭 HEU-233 高浓缩度铀-233压水堆燃料棒 +item.pwr_fuel_depleted.heu235.name=枯竭 HEU-235 高浓缩度铀-235压水堆燃料棒 +item.pwr_fuel_depleted.mea.name=枯竭 MEA 中浓缩度镅压水堆燃料棒 +item.pwr_fuel_depleted.men.name=枯竭 MEN 中浓缩度镎压水堆燃料棒 +item.pwr_fuel_depleted.mep.name=枯竭 MEP 中浓缩度钚压水堆燃料棒 +item.pwr_fuel_depleted.meu.name=枯竭 MEU 中浓缩度铀压水堆燃料棒 +item.pwr_fuel_depleted.mox.name=枯竭 MOX 压水堆燃料棒 +item.pwr_fuel_hot.bfb_am_mix.name=高温 燃料级镅压水堆BFB燃料棒 +item.pwr_fuel_hot.bfb_pu241.name=高温 钚-241压水堆BFB棒 +item.pwr_fuel_hot.hea242.name=高温 HEA-242 高浓缩度镅-242压水堆燃料棒 +item.pwr_fuel_hot.hen237.name=高温 HEN-237 高浓缩度镎-237压水堆燃料棒 +item.pwr_fuel_hot.hep239.name=高温 HEP-239 高浓缩度钚-239压水堆燃料棒 +item.pwr_fuel_hot.hep241.name=高温 HEP-241 高浓缩度钚-241压水堆燃料棒 +item.pwr_fuel_hot.hes326.name=高温 HES-326 高浓缩度Sa326压水堆燃料棒 +item.pwr_fuel_hot.hes327.name=高温 HES-327 高浓缩度Sa327压水堆燃料棒 +item.pwr_fuel_hot.heu233.name=高温 HEU-233 高浓缩度铀-233压水堆燃料棒 +item.pwr_fuel_hot.heu235.name=高温 HEU-235 高浓缩度铀-235压水堆燃料棒 +item.pwr_fuel_hot.mea.name=高温 MEA 中浓缩度镅压水堆燃料棒 +item.pwr_fuel_hot.men.name=高温 MEN 中浓缩度镎压水堆燃料棒 +item.pwr_fuel_hot.mep.name=高温 MEP 中浓缩度钚压水堆燃料棒 +item.pwr_fuel_hot.meu.name=高温 MEU 中浓缩度铀压水堆燃料棒 +item.pwr_fuel_hot.mox.name=高温 MOX压水堆燃料棒 +item.quartz_plutonium.name=深成石英 +item.radar_linker.name=雷达连接器 +item.radaway.name=消辐宁 +item.radaway_flush.name=超级消辐宁 +item.radaway_strong.name=强效消辐宁 +item.radx.name=防辐射药 +item.radx.desc=在3分钟内增加0.2(37%)的抗辐射能力 +item.rag.name=布 +item.rag_damp.name=湿布 +item.rag_piss.name=沾有尿的布 +item.rbmk_fuel_balefire.name=RBMK反应堆野火燃料棒 +item.rbmk_fuel_balefire_gold.name=RBMK反应堆激活态金-198燃料棒 +item.rbmk_fuel_drx.name=§cRBMK反应堆F迪伽马粒子燃料棒§r +item.rbmk_fuel_empty.name=空 RBMK反应堆燃料棒 +item.rbmk_fuel_flashlead.name=RBMK反应堆闪光铅燃料棒 +item.rbmk_fuel_hea241.name=HEA-241 RBMK反应堆高浓缩度镅-241燃料棒 +item.rbmk_fuel_hea242.name=HEA-242 RBMK反应堆高浓缩度镅-242燃料棒 +item.rbmk_fuel_heaus.name=HEAus RBMK反应堆高浓缩度奥斯燃料棒 +item.rbmk_fuel_hen.name=HEN RBMK反应堆高浓缩度镎燃料棒 +item.rbmk_fuel_hes.name=HES RBMK反应堆高浓缩度Sa326燃料棒 +item.rbmk_fuel_hep.name=HEP-239 RBMK反应堆高浓缩度钚-239燃料棒 +item.rbmk_fuel_hep241.name=HEP-241 RBMK反应堆高浓缩度钚-241燃料棒 +item.rbmk_fuel_heu233.name=HEU-233 RBMK反应堆高浓缩度铀-233燃料棒 +item.rbmk_fuel_heu235.name=HEU-235 RBMK反应堆高浓缩度铀-235燃料棒 +item.rbmk_fuel_lea.name=LEA RBMK反应堆低浓缩度镅-242燃料棒 +item.rbmk_fuel_leaus.name=LEAus RBMK反应堆低浓缩度奥斯燃料棒 +item.rbmk_fuel_lep.name=LEP RBMK反应堆低浓缩度钚-239燃料棒 +item.rbmk_fuel_les.name=LES RBMK反应堆低浓缩度Sa326燃料棒 +item.rbmk_fuel_mea.name=MEA RBMK反应堆中浓缩度镅-242燃料棒 +item.rbmk_fuel_men.name=MEN RBMK反应堆中浓缩度镎-237燃料棒 +item.rbmk_fuel_mep.name=MEP RBMK反应堆中浓缩度钚-239燃料棒 +item.rbmk_fuel_mes.name=MES RBMK中浓缩度Sa326燃料棒 +item.rbmk_fuel_meu.name=MEU RBMK中浓缩度铀-235燃料棒 +item.rbmk_fuel_mox.name=MOX RBMK反应堆燃料棒 +item.rbmk_fuel_po210be.name=钋210-铍 RBMK反应堆中子源 +item.rbmk_fuel_pu238be.name=钚238-铍 RBMK反应堆中子源 +item.rbmk_fuel_ra226be.name=镭226-铍 RBMK反应堆中子源 +item.rbmk_fuel_thmeu.name=ThMEU RBMK反应堆中浓缩度铀-233导向钍燃料棒 +item.rbmk_fuel_ueu.name=NU RBMK反应堆未浓缩铀燃料棒 +item.rbmk_fuel_zfb_am_mix.name=ZFB 燃料级镅RBMK反应堆燃料棒 +item.rbmk_fuel_zfb_bismuth.name=ZFB 铋RBMK反应堆燃料棒 +item.rbmk_fuel_zfb_pu241.name=ZFB 钚-241RBMK反应堆燃料棒 +item.rbmk_lid.name=RBMK反应堆覆盖层 +item.rbmk_lid_glass.name=RBMK反应堆玻璃覆盖层 +item.rbmk_pellet_balefire.name=野火燃料芯块 +item.rbmk_pellet_balefire_gold.name=激活态金-198燃料芯块 +item.rbmk_pellet_drx.name=§cF迪伽马粒子燃料芯块§r +item.rbmk_pellet_flashlead.name=闪光铅燃料芯块 +item.rbmk_pellet_hea241.name=HEA-241 高浓缩度镅-241料芯块 +item.rbmk_pellet_hea242.name=HEA-242 高浓缩度镅-242燃料芯块 +item.rbmk_pellet_heaus.name=HEAus 高浓缩度奥斯燃料芯块 +item.rbmk_pellet_hen.name=HEN 高浓缩度镎燃料芯块 +item.rbmk_pellet_hep239.name=HEP-239 高浓缩度钚-239燃料芯块 +item.rbmk_pellet_hep241.name=HEP-241 高浓缩度钚-241燃料芯块 +item.rbmk_pellet_heu233.name=HEU-233 高浓缩度铀-233燃料芯块 +item.rbmk_pellet_heu235.name=HEU-235 高浓缩度铀-235燃料芯块 +item.rbmk_pellet_hes.name=HES 高浓缩度Sa-326燃料芯块 +item.rbmk_pellet_lea.name=LEA 低浓缩度镅-242燃料芯块 +item.rbmk_pellet_leaus.name=LEAus 低浓缩度奥斯燃料芯块 +item.rbmk_pellet_lep.name=LEP 低浓缩度钚-239燃料芯块 +item.rbmk_pellet_les.name=LES 低浓缩度Sa-326燃料芯块 +item.rbmk_pellet_mea.name=MEA 中浓缩度镅-242燃料芯块 +item.rbmk_pellet_men.name=MEN 中浓缩度镎-237燃料芯块 +item.rbmk_pellet_mep.name=MEP 中浓缩度钚-239燃料芯块 +item.rbmk_pellet_mes.name=MES 中浓缩度Sa-326燃料芯块 +item.rbmk_pellet_meu.name=MEU 中浓缩度铀-235燃料芯块 +item.rbmk_pellet_mox.name=MOX燃料芯块 +item.rbmk_pellet_po210be.name=钋210-铍 中子源芯块 +item.rbmk_pellet_pu238be.name=钚238-铍 中子源芯块 +item.rbmk_pellet_ra226be.name=镭226-铍 中子源芯块 +item.rbmk_pellet_thmeu.name=ThMEU 浓缩度铀-235导向钍燃料芯块 +item.rbmk_pellet_ueu.name=未浓缩铀燃料芯块 +item.rbmk_pellet_zfb_am_mix.name=ZFB 燃料级镅燃料芯块 +item.rbmk_pellet_zfb_bismuth.name=ZFB 铋燃料芯块 +item.rbmk_pellet_zfb_pu241.name=ZFB 钚-241燃料芯块 +item.rbmk_tool.name=RBMK石墨式反应堆控制台连接装置 +item.rbmk_tool.desc=按住Shift右击RBMK石墨式反应堆保存其坐标,$按住Shift右击控制台以连接反应堆! +item.rbmk_tool.linked=反应堆坐标已记录! +item.rbmk_tool.set=反应堆已连接! +item.reacher.name=钨长臂夹 +item.reactor_core.name=增殖反应堆核心 +item.reactor_sensor.name=反应堆遥感器 +item.record.glass.desc=? ? ? +item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core +item.record.ss.desc=Valve - Sector Sweep +item.record.vc.desc=Valve - Vortal Combat +item.redcoil_capacitor.name=红圈电容器 +item.redstone_depleted.name=不饱和红石粉 +item.redstone_sword.name=红石剑 +item.reer_graar.name=The Reer Graar +item.remote.name=损坏的遥控器 +item.ring_pull.name=拉环 +item.ring_starmetal.name=§9星辉拉环§r +item.robes_boots.name=战地靴 +item.robes_helmet.name=休闲兜帽 +item.robes_legs.name=休闲裤 +item.robes_plate.name=休闲毛衣 +item.rocket_fuel.name=固体燃料[火箭推进剂] +item.rod_empty.name=空燃料棒 +item.rod.lithium.name=锂棒 +item.rod.tritium.name=氚棒 +item.rod.co.name=钴棒 +item.rod.co60.name=钴-60棒 +item.rod.ra226.name=镭-226棒 +item.rod.ac227.name=锕-227棒 +item.rod.th232.name=钍-232棒 +item.rod.thf.name=钍燃料棒 +item.rod.u235.name=铀-235棒 +item.rod.np237.name=镎-237棒 +item.rod.u238.name=铀-238棒 +item.rod.pu238.name=钚-238棒 +item.rod.pu239.name=钚-239棒 +item.rod.rgp.name=反应堆级钚棒 +item.rod.waste.name=核废料棒 +item.rod.lead.name=铅棒 +item.rod.uranium.name=铀棒 +item.rod_dual_empty.name=空双联燃料棒 +item.rod_dual.lithium.name=双联锂棒 +item.rod_dual.tritium.name=双联氚棒 +item.rod_dual.co.name=双联钴棒 +item.rod_dual.co60.name=双联钴-60棒 +item.rod_dual.ra226.name=双联镭-226棒 +item.rod_dual.ac227.name=双联锕-227棒 +item.rod_dual.th232.name=双联钍-232棒 +item.rod_dual.thf.name=双联钍燃料棒 +item.rod_dual.u235.name=双联铀-235棒 +item.rod_dual.np237.name=双联镎-237棒 +item.rod_dual.u238.name=双联铀-238棒 +item.rod_dual.pu238.name=双联钚-238棒 +item.rod_dual.pu239.name=双联钚-239棒 +item.rod_dual.rgp.name=双联反应堆级钚棒 +item.rod_dual.waste.name=双联核废料棒 +item.rod_dual.lead.name=双联铅棒 +item.rod_dual.uranium.name=双联铀棒 +item.rod_quad_empty.name=空四联燃料棒 +item.rod_quad.lithium.name=四联锂棒 +item.rod_quad.tritium.name=四联氚棒 +item.rod_quad.co.name=四联钴棒 +item.rod_quad.co60.name=四联钴-60棒 +item.rod_quad.ra226.name=四联镭-226棒 +item.rod_quad.ac227.name=四联锕-227棒 +item.rod_quad.th232.name=四联钍-232棒 +item.rod_quad.thf.name=四联钍燃料棒 +item.rod_quad.u235.name=四联铀-235棒 +item.rod_quad.np237.name=四联镎-237棒 +item.rod_quad.u238.name=四联铀-238棒 +item.rod_quad.pu238.name=四联钚-238棒 +item.rod_quad.pu239.name=四联钚-239棒 +item.rod_quad.rgp.name=四联反应堆级钚棒 +item.rod_quad.waste.name=四联核废料棒 +item.rod_quad.lead.name=四联铅棒 +item.rod_quad.uranium.name=四联铀棒 +item.rod_australium.name=奥斯棒 +item.rod_balefire.name=野火燃料棒 +item.rod_balefire_blazing.name=炽热的野火燃料棒 +item.rod_coolant.name=燃料棒[冷却液] +item.rod_daffergon.name=达夫贡棒 +item.rod_dual_balefire.name=双联野火燃料棒 +item.rod_dual_balefire_blazing.name=炽热的双联野火燃料棒 +item.rod_dual_coolant.name=双联燃料棒[冷却液] +item.rod_dual_lead.name=双联铅棒 +item.rod_dual_lithium.name=双联锂棒 +item.rod_dual_mox_fuel.name=核反应堆 双联MOX燃料棒 +item.rod_dual_mox_fuel_depleted.name=核反应堆 枯竭MOX燃料棒 +item.rod_dual_neptunium.name=双联镎燃料棒 +item.rod_dual_plutonium.name=双联钚棒 +item.rod_dual_plutonium_fuel.name=核反应堆 双联钚燃料棒 +item.rod_dual_plutonium_fuel_depleted.name=核反应堆 双联枯竭钚燃料棒 +item.rod_dual_polonium.name=双联钋棒 +item.rod_dual_pu238.name=双联钚-238燃料棒 +item.rod_dual_pu239.name=双联钚-239燃料棒 +item.rod_dual_pu240.name=双联钚-240燃料棒 +item.rod_dual_schrabidium.name=双联Sa326燃料棒 +item.rod_dual_schrabidium_fuel.name=核反应堆 双联Sa326燃料棒 +item.rod_dual_schrabidium_fuel_depleted.name=双联枯竭Sa326燃料棒 +item.rod_dual_solinium.name=双联Sa327燃料棒 +item.rod_dual_th232.name=双联钍-232燃料棒 +item.rod_dual_thorium_fuel.name=双联钍燃料棒 +item.rod_dual_thorium_fuel_depleted.name=双联枯竭钍燃料棒 +item.rod_dual_tritium.name=双联氚燃料棒 +item.rod_dual_u233.name=双联铀-233燃料棒 +item.rod_dual_u235.name=双联铀-235燃料棒 +item.rod_dual_u238.name=双联铀-238燃料棒 +item.rod_dual_uranium.name=双联铀棒 +item.rod_dual_uranium_fuel.name=核反应堆 双联铀燃料棒 +item.rod_dual_uranium_fuel_depleted.name=核反应堆 双联枯竭铀燃料棒 +item.rod_dual_waste.name=双联核废料棒 +item.rod_dual_water.name=双联燃料棒[水] +item.rod_euphemium.name=Ep棒 +item.rod_lead.name=铅棒 +item.rod_lithium.name=锂棒 +item.rod_mox_fuel.name=核反应堆 MOX燃料棒 +item.rod_mox_fuel_depleted.name=核反应堆 枯竭MOX燃料棒 +item.rod_neptunium.name=镎燃料棒 +item.rod_of_discord.name=混沌传送杖 +item.rod_plutonium.name=钚棒 +item.rod_plutonium_fuel.name=核反应堆 钚燃料棒 +item.rod_plutonium_fuel_depleted.name=核反应堆 枯竭钚燃料棒 +item.rod_polonium.name=钋棒 +item.rod_pu238.name=钚-238燃料棒 +item.rod_pu239.name=钚-239燃料棒 +item.rod_pu240.name=钚-240燃料棒 +item.rod_quad_balefire.name=四联野火燃料棒 +item.rod_quad_balefire_blazing.name=炽热的四联野火燃料棒 +item.rod_quad_coolant.name=四联燃料棒[冷却液] +item.rod_quad_euphemium.name=枯竭的四联Sa326燃料棒 +item.rod_quad_lead.name=四联铅棒 +item.rod_quad_lithium.name=四联锂棒 +item.rod_quad_mox_fuel.name=核反应堆 四联MOX燃料棒 +item.rod_quad_mox_fuel_depleted.name=核反应堆 枯竭MOX燃料棒 +item.rod_quad_neptunium.name=四联镎燃料棒 +item.rod_quad_plutonium.name=四联钚棒 +item.rod_quad_plutonium_fuel.name=四联钚燃料棒 +item.rod_quad_plutonium_fuel_depleted.name=四联枯竭钚燃料棒 +item.rod_quad_polonium.name=四联钋棒 +item.rod_quad_pu238.name=四联钚-238燃料棒 +item.rod_quad_pu239.name=四联钚-239燃料棒 +item.rod_quad_pu240.name=四联钚-240燃料棒 +item.rod_quad_schrabidium.name=四联Sa326燃料棒 +item.rod_quad_schrabidium_fuel.name=核反应堆 四联Sa326燃料棒 +item.rod_quad_schrabidium_fuel_depleted.name=核反应堆 四联枯竭Sa326燃料棒 +item.rod_quad_solinium.name=四联Sa327燃料棒 +item.rod_quad_th232.name=四联钍-232燃料棒 +item.rod_quad_thorium_fuel.name=核反应堆 四联钍燃料棒 +item.rod_quad_thorium_fuel_depleted.name=四联枯竭钍燃料棒 +item.rod_quad_tritium.name=四联氚燃料棒 +item.rod_quad_u233.name=四联铀-233燃料棒 +item.rod_quad_u235.name=四联铀-235燃料棒 +item.rod_quad_u238.name=四联铀-238燃料棒 +item.rod_quad_uranium.name=四联铀棒 +item.rod_quad_uranium_fuel.name=核反应堆 四联铀燃料棒 +item.rod_quad_uranium_fuel_depleted.name=四联枯竭铀燃料棒 +item.rod_quad_waste.name=四联核废料棒 +item.rod_quad_water.name=四联燃料棒[水] +item.rod_reiium.name=雷恩棒 +item.rod_schrabidium.name=Sa326燃料棒 +item.rod_schrabidium_fuel.name=Sa326燃料棒 +item.rod_schrabidium_fuel_depleted.name=核反应堆 枯竭Sa326燃料棒 +item.rod_solinium.name=Sa327燃料棒 +item.rod_th232.name=钍-232燃料棒 +item.rod_thorium_fuel.name=钍燃料棒 +item.rod_thorium_fuel_depleted.name=核反应堆 枯竭钍燃料棒 +item.rod_tritium.name=氚燃料棒 +item.rod_u233.name=铀-233燃料棒 +item.rod_u235.name=铀-235燃料棒 +item.rod_u238.name=铀-238燃料棒 +item.rod_unobtainium.name=难得素棒 +item.rod_uranium.name=铀棒 +item.rod_uranium_fuel.name=核反应堆 铀燃料棒 +item.rod_uranium_fuel_depleted.name=核反应堆 枯竭铀燃料棒 +item.rod_verticium.name=韦德赛棒 +item.rod_waste.name=核废料棒 +item.rod_water.name=燃料棒[水] +item.rod_weidanium.name=魏丹棒 +item.rod_zirnox_empty.name=空锆诺克斯燃料棒 +item.rod_zirnox_natural_uranium_fuel.name=锆诺克斯 天然铀燃料棒 +item.rod_zirnox_uranium_fuel.name=锆诺克斯 铀燃料棒 +item.rod_zirnox_th232.name=锆诺克斯 钍-232燃料棒 +item.rod_zirnox_thorium_fuel.name=锆诺克斯 钍燃料棒 +item.rod_zirnox_mox_fuel.name=锆诺克斯 MOX燃料棒 +item.rod_zirnox_plutonium_fuel.name=锆诺克斯 钚燃料棒 +item.rod_zirnox_u233_fuel.name=锆诺克斯 铀-233燃料棒 +item.rod_zirnox_u235_fuel.name=锆诺克斯 铀-235燃料棒 +item.rod_zirnox_les_fuel.name=锆诺克斯 LES低浓度Sa326燃料棒 +item.rod_zirnox_lithium.name=锆诺克斯 锂燃料棒 +item.rod_zirnox_tritium.name=锆诺克斯 氚燃料棒 +item.rod_zirnox_zfb_mox.name=锆诺克斯 ZFB MOX燃料棒 +item.rod_zirnox_natural_uranium_fuel_depleted.name=锆诺克斯 枯竭天然铀燃料棒 +item.rod_zirnox_uranium_fuel_depleted.name=锆诺克斯 枯竭铀燃料棒 +item.rod_zirnox_thorium_fuel_depleted.name=锆诺克斯 枯竭钍燃料棒 +item.rod_zirnox_mox_fuel_depleted.name=锆诺克斯 枯竭MOX燃料棒 +item.rod_zirnox_plutonium_fuel_depleted.name=锆诺克斯 枯竭钚燃料棒 +item.rod_zirnox_u233_fuel_depleted.name=锆诺克斯 枯竭铀-233燃料棒 +item.rod_zirnox_u235_fuel_depleted.name=锆诺克斯 枯竭铀-235燃料棒 +item.rod_zirnox_les_fuel_depleted.name=锆诺克斯 枯竭LES低浓度Sa326燃料棒 +item.rod_zirnox_zfb_mox_depleted.name=锆诺克斯 ZFB 枯竭MOX燃料棒 +item.rotor_steel.name=大型钢转子 +item.rpa_boots.name=动力装甲 靴子 +item.rpa_helmet.name=动力装甲 头盔 +item.rpa_legs.name=动力护甲 护腿 +item.rpa_plate.name=动力装甲 胸甲 +item.rtg_unit.name=放射性同位素单元 +item.rubber_gloves.name=厚橡胶手套 +item.rune_blank.name=空白催化剂基质 +item.rune_dagaz.name=平衡催化剂基质 +item.rune_hagalaz.name=粗催化剂基质 +item.rune_isa.name=冷却催化剂基质 +item.rune_jera.name=增殖催化剂基质 +item.rune_thurisaz.name=添加剂催化剂基质 +item.safety_fuse.name=安全保险丝 +item.sat_base.name=卫星基座 +item.sat_chip.name=卫星ID芯片 +item.sat_coord.name=卫星指示器 +item.sat_designator.name=卫星激光指示器 +item.sat_relay.name=卫星雷达中继器 +item.sat_foeq.name=实验型核能PEAF-Mk.I FOEQ Duna探测器 +item.sat_gerald.name=Gerald建筑机器人 +item.sat_head_laser.name=死光发射器 +item.sat_head_mapper.name=高增益光学摄像头 +item.sat_head_radar.name=雷达天线 +item.sat_head_resonator.name=Xenium共振器 +item.sat_head_scanner.name=M700测量扫描仪 +item.sat_interface.name=卫星操作接口 +item.sat_laser.name=轨道死光炮 +item.sat_lunar_miner.name=月球采矿飞船 +item.sat_mapper.name=地表测绘卫星 +item.sat_miner.name=小行星采矿飞船 +item.sat_radar.name=雷达探测卫星 +item.sat_resonator.name=X晶体共振卫星 +item.sat_scanner.name=绘测和资源探测卫星 +item.sawblade.name=锯片 +item.schnitzel_vegan.name=“素”肉排 +item.schrabidium_axe.name=Sa326斧 +item.schrabidium_boots.name=Sa326靴子 +item.schrabidium_hammer.name=Sa326锤 +item.schrabidium_helmet.name=Sa326头盔 +item.schrabidium_hoe.name=Sa326锄 +item.schrabidium_legs.name=Sa326护腿 +item.schrabidium_pickaxe.name=Sa326镐 +item.schrabidium_plate.name=Sa326胸甲 +item.schrabidium_shovel.name=Sa326锹 +item.schrabidium_sword.name=Sa326剑 +item.scrap.name=废料 +item.scrap_nuclear.name=放射性废料 +item.scrap_oil.name=油性废料 +item.scrap_plastic.name=塑料废料 +item.scraps.name=铸造废料 +item.screwdriver.name=螺丝刀 +item.screwdriver.desc=可以用来代替保险丝…… +item.screwdriver_desh.name=Desh螺丝刀 +item.scrumpy.name=一瓶烈性苹果酒 +item.security_boots.name=防护靴子 +item.security_helmet.name=防护头盔 +item.security_legs.name=防护裤 +item.security_plate.name=防护胸甲 +item.seg_10.name=10号连接器 +item.seg_15.name=15号连接器 +item.seg_20.name=20号连接器 +item.serum.name=血清 +item.servo_set.name=伺服装置 +item.servo_set_desh.name=Desh伺服装置 +item.settings_tool.name=设定工具 +item.shackles.name=枷锁 +item.shellntm.name=%s壳 +item.shimmer_axe.name=闪耀斧 +item.shimmer_axe_head.name=重型斧头 +item.shimmer_handle.name=强化聚合物手柄 +item.shimmer_head.name=重型锤头 +item.shimmer_sledge.name=闪耀锤 +item.singularity.name=奇点 +item.singularity_counter_resonant.name=可控反振谐奇点 +item.singularity_micro.name=微型奇点 +item.singularity_spark.name=Spark奇点 +item.singularity_super_heated.name=超热共振奇点 +item.siox.name=SiOX抗癌药物 +item.siox.desc=使用石棉的力量逆转间皮瘤! +item.siphon.name=虹吸管 +item.siren_track.name=警报声轨 +item.sliding_blast_door_skin.0.name=滑动防爆门 皮肤:默认 +item.sliding_blast_door_skin.1.name=滑动防爆门 皮肤:变型1 +item.sliding_blast_door_skin.2.name=滑动防爆门 皮肤:变型2 +item.smashing_hammer.name=粉碎锤 +item.solid_fuel.name=固体燃料 +item.solid_fuel_bf.name=固体燃料(野火) +item.solid_fuel_presto.name=Presto固体燃料 +item.solid_fuel_presto_bf.name=Presto固体燃料(野火) +item.solid_fuel_presto_triplet.name=增强型Presto固体燃料 +item.solid_fuel_presto_triplet_bf.name=增强型Presto固体燃料(野火) +item.solinium_core.name=半稳定Sa327核心 +item.solinium_igniter.name=Sa327脉冲点火器 +item.solinium_kit.name=蔚蓝洗礼套件 +item.solinium_propellant.name=Sa327压缩装药 +item.sopsign.name=Sop标志战斧 +item.spawn_duck.name=金蛋 +item.spawn_ufo.name=火星入侵者飞船 +item.spawn_worm.name=机械蠕虫 +item.sphere_steel.name=钢球 +item.spider_milk.name=一瓶蜘蛛奶 +item.spongebob_macaroni.name=海绵宝宝通心粉 +item.stamp_357.name=.357马格南锻模 +item.stamp_44.name=.44马格南锻模 +item.stamp_50.name=大口径弹壳锻模 +item.stamp_9.name=小口径弹壳锻模 +item.stamp_book.printing1.name=书页锻模之一 +item.stamp_book.printing2.name=书页锻模之二 +item.stamp_book.printing3.name=书页锻模之三 +item.stamp_book.printing4.name=书页锻模之四 +item.stamp_book.printing5.name=书页锻模之五 +item.stamp_book.printing6.name=书页锻模之六 +item.stamp_book.printing7.name=书页锻模之七 +item.stamp_book.printing8.name=书页锻模之八 +item.stamp_desh_circuit.name=Desh电路板锻模 +item.stamp_desh_flat.name=Desh锻模 +item.stamp_desh_plate.name=Desh板锻模 +item.stamp_desh_wire.name=Desh电线锻模 +item.stamp_desh_357.name=.357马格南锻模 (Desh) +item.stamp_desh_44.name=.44马格南锻模 (Desh) +item.stamp_desh_50.name=大口径弹壳锻模(Desh) +item.stamp_desh_9.name=小口径弹壳锻模(Desh) +item.stamp_iron_circuit.name=铁质电路板锻模 +item.stamp_iron_flat.name=铁质锻模 +item.stamp_iron_plate.name=铁质板锻模 +item.stamp_iron_wire.name=铁质电线锻模 +item.stamp_obsidian_circuit.name=黑曜石电路板锻模 +item.stamp_obsidian_flat.name=黑曜石锻模 +item.stamp_obsidian_plate.name=黑曜石板锻模 +item.stamp_obsidian_wire.name=黑曜石电线锻模 +item.stamp_steel_circuit.name=钢质电路板锻模 +item.stamp_steel_flat.name=钢质锻模 +item.stamp_steel_plate.name=钢质板锻模 +item.stamp_steel_wire.name=钢质电线锻模 +item.stamp_stone_circuit.name=石质电路板锻模 +item.stamp_stone_flat.name=石质锻模 +item.stamp_stone_plate.name=石质板锻模 +item.stamp_stone_wire.name=石质电线锻模 +item.stamp_titanium_circuit.name=钛质电路板锻模 +item.stamp_titanium_flat.name=钛质锻模 +item.stamp_titanium_plate.name=钛质板锻模 +item.stamp_titanium_wire.name=钛质电线锻模 +item.starmetal_axe.name=星辉斧 +item.starmetal_boots.name=星辉靴子 +item.starmetal_helmet.name=星辉头盔 +item.starmetal_hoe.name=星辉锄 +item.starmetal_legs.name=星辉护腿 +item.starmetal_pickaxe.name=星辉镐 +item.starmetal_plate.name=星辉胸甲 +item.starmetal_shovel.name=星辉锹 +item.starmetal_sword.name=星辉剑 +item.static_sandwich.name=TV三明治 +item.stealth_boy.name=隐形小子 +item.steamsuit_boots.name=蒸汽动力靴子 +item.steamsuit_helmet.name=蒸汽动力呼吸器头盔 +item.steamsuit_legs.name=蒸汽动力护腿 +item.steamsuit_plate.name=蒸汽动力胸甲 +item.steel_axe.name=钢斧 +item.steel_boots.name=钢靴子 +item.steel_helmet.name=钢头盔 +item.steel_hoe.name=钢锄 +item.steel_legs.name=钢护腿 +item.steel_pickaxe.name=钢镐 +item.steel_plate.name=钢胸甲 +item.steel_shovel.name=钢锹 +item.steel_sword.name=钢剑 +item.stick_c4.name=C-4炸药棒 +item.stick_dynamite.name=炸药棒 +item.stick_dynamite_fishing.name=捕鱼炸药棒 +item.stick_semtex.name=塞姆汀塑胶炸药棒 +item.stick_tnt.name=TNT棒 +item.stopsign.name=停车标志战斧 +item.sulfur.name=硫粉 +item.survey_scanner.name=勘测扫描仪 +item.syringe_antidote.name=解毒剂 +item.syringe_awesome.name=米青采彡 +item.syringe_empty.name=空注射器 +item.syringe_metal_empty.name=金属注射器 +item.syringe_metal_medx.name=Med-X抗痛宁 +item.syringe_metal_psycho.name=Psycho“捷特” +item.syringe_metal_stimpak.name=治疗针 +item.syringe_metal_super.name=超级治疗针 +item.syringe_mkunicorn.name=独角兽 +item.syringe_poison.name=毒针 +item.syringe_taint.name=污染水注射液 +item.t45_boots.name=T45动力装甲 靴子 +item.t45_helmet.name=T45动力装甲 头盔 +item.t45_kit.name=T45动力装甲套装 +item.t45_legs.name=T45动力装甲 护腿 +item.t45_plate.name=T45动力装甲 胸甲 +item.tank_steel.name=钢罐 +item.telepad.name=传送部件 +item.tem_flakes.name=Tem薄片 +item.template_folder.name=机器模板文件夹 +item.template_folder.desc=机器模板:纸张+染料$流体识别码:铁板+染料$锻模:空白锻模 $警报声轨:绝缘体+钢板 +item.test_nuke_igniter.name=点火器 +item.test_nuke_propellant.name=推进剂 +item.test_nuke_tier1_bullet.name=铀235弹头[1级] +item.test_nuke_tier1_shielding.name=中子反射器[1级] +item.test_nuke_tier1_target.name=次临界铀235靶丸[1级] +item.test_nuke_tier2_bullet.name=MOX弹头[2级] +item.test_nuke_tier2_shielding.name=中子反射器[2级] +item.test_nuke_tier2_target.name=次临界MOX靶丸[2级] +item.thermo_element.name=热电元件 +item.thermo_unit_empty.name=热量分配装置 +item.thermo_unit_endo.name=吸热装置 +item.thermo_unit_exo.name=放热装置 +item.thruster_large.name=大型推进器 +item.thruster_medium.name=中型推进器 +item.thruster_nuclear.name=LV-N核能火箭发动机 +item.thruster_small.name=小型推进器 +item.titanium_axe.name=钛斧 +item.titanium_boots.name=钛靴子 +item.titanium_filter.name=钛过滤器 +item.titanium_helmet.name=钛头盔 +item.titanium_hoe.name=钛锄 +item.titanium_legs.name=钛护腿 +item.titanium_pickaxe.name=钛镐 +item.titanium_plate.name=钛胸甲 +item.titanium_shovel.name=钛锹 +item.titanium_sword.name=钛剑 +item.toothpicks.name=牙签 +item.train.cargo_tram.name=平板载货电车 +item.trenchmaster_boots.name=战壕王者的靴子 +item.trenchmaster_helmet.name=战壕王者的头盔 +item.trenchmaster_legs.name=战壕王者的护腿 +item.trenchmaster_plate.name=战壕王者的胸甲 +item.trinitite.name=玻璃石 +item.tritium_deuterium_cake.name=氚氘饼 +item.tritium_deuterium_cake.desc=不是真正的蛋糕,而是很棒的$聚变燃料! +item.tsar_core.name=沙皇炸弹核心 +item.tsar_kit.name=沙皇炸弹 套件 +item.turbine_titanium.name=钛汽轮转子 +item.turbine_tungsten.name=强化汽轮转子 +item.turret_biometry.name=炮塔遥测卡 +item.turret_cheapo_ammo.name=6x24奇普机枪炮台弹药 +item.turret_chip.name=炮塔AI芯片 +item.turret_control.name=炮塔控制器 +item.turret_cwis_ammo.name=近防系统20mm弹药筒 +item.turret_flamer_ammo.name=火焰炮塔燃料箱 +item.turret_heavy_ammo.name=重型机枪炮塔弹药箱 +item.turret_light_ammo.name=轻型机枪炮塔弹药箱 +item.turret_rocket_ammo.name=火箭炮塔弹药 +item.turret_spitfire_ammo.name=防空炮弹 +item.turret_tau_ammo.name=陶子炮塔铀弹药 +item.twinkie.name=小蛋糕 +item.ullapool_caber.name=阿勒浦长木杆 +item.undefined.name=形态未定义物质 +item.upgrade_5g.name=5G辐射发射器升级 +item.upgrade_afterburn_1.name=一级粉色机器升级 +item.upgrade_afterburn_2.name=二级粉色机器升级 +item.upgrade_afterburn_3.name=三级粉色机器升级 +item.upgrade_centrifuge.name=采矿激光升级-自动离心 +item.upgrade_crystallizer.name=采矿激光升级-自动结晶 +item.upgrade_effect_1.name=一级绿色机器升级 +item.upgrade_effect_2.name=二级绿色机器升级 +item.upgrade_effect_3.name=三级绿色机器升级 +item.upgrade_ejector_1.name=一级弹射速度升级 +item.upgrade_ejector_2.name=二级弹射速度升级 +item.upgrade_ejector_3.name=三级弹射速度升级 +item.upgrade_fortune_1.name=一级紫色机器升级 +item.upgrade_fortune_2.name=二级紫色机器升级 +item.upgrade_fortune_3.name=三级紫色机器升级 +item.upgrade_gc_speed.name=气体离心机超频升级 +item.upgrade_health.name=粉色力场发生器升级 +item.upgrade_muffler.name=消音器 +item.upgrade_nullifier.name=采矿激光升级-自动销毁 +item.upgrade_overdrive_1.name=一级超速传动机器升级 +item.upgrade_overdrive_2.name=二级超速传动机器升级 +item.upgrade_overdrive_3.name=三级超速传动机器升级 +item.upgrade_power_1.name=一级蓝色机器升级 +item.upgrade_power_2.name=二级蓝色机器升级 +item.upgrade_power_3.name=三级蓝色机器升级 +item.upgrade_radius.name=青色力场发生器升级 +item.upgrade_screm.name=采矿激光升级-目 力 科 学 家 +item.upgrade_shredder.name=采矿激光升级-自动粉碎 +item.upgrade_smelter.name=采矿激光升级-自动熔炼 +item.upgrade_speed_1.name=一级红色机器升级 +item.upgrade_speed_2.name=二级红色机器升级 +item.upgrade_speed_3.name=三级红色机器升级 +item.upgrade_stack_1.name=一级堆叠弹出升级 +item.upgrade_stack_2.name=二级堆叠弹出升级 +item.upgrade_stack_3.name=三级堆叠弹出升级 +item.upgrade_template.name=机器升级模板 +item.volcanic_axe.name=熔岩斧 +item.volcanic_pickaxe.name=熔岩镐 +item.wand_d.name=调试魔杖 +item.wand_k.name=建筑魔杖 +item.wand_s.name=结构魔杖 +item.structure_custommachine.name=自定义机器结构输出杖 +item.warhead_buster_large.name=大型掩体破坏弹头 +item.warhead_buster_medium.name=中型掩体破坏弹头 +item.warhead_buster_small.name=小型掩体破坏弹头 +item.warhead_cluster_large.name=大型集束弹头 +item.warhead_cluster_medium.name=中型集束弹头 +item.warhead_cluster_small.name=小型集束弹头 +item.warhead_generic_large.name=大型弹头 +item.warhead_generic_medium.name=中型弹头 +item.warhead_generic_small.name=小型弹头 +item.warhead_incendiary_large.name=大型燃烧弹头 +item.warhead_incendiary_medium.name=中型燃烧弹头 +item.warhead_incendiary_small.name=小型燃烧弹头 +item.warhead_mirv.name=热核弹头 +item.warhead_mirvlet.name=MIRV弹头 +item.warhead_nuclear.name=核弹头 +item.warhead_thermo_endo.name=吸热弹头 +item.warhead_thermo_exo.name=放热弹头 +item.warhead_volcano.name=构造弹头 +item.waste_mox.name=枯竭MOX燃料 +item.waste_natural_uranium.name=枯竭天然铀燃料 +item.waste_plate_mox.name=枯竭MOX 板状燃料 +item.waste_plate_pu238be.name=枯竭钚238-铍 板状燃料 +item.waste_plate_pu239.name=枯竭高浓度钚-239 板状燃料 +item.waste_plate_ra226be.name=枯竭镭226-铍 板状燃料 +item.waste_plate_sa326.name=枯竭高浓度Sa326 板状燃料 +item.waste_plate_u233.name=枯竭高浓度铀-233 板状燃料 +item.waste_plate_u235.name=枯竭高浓度铀-235 板状燃料 +item.waste_plutonium.name=枯竭钚燃料 +item.waste_schrabidium.name=枯竭Sa326燃料 +item.waste_thorium.name=枯竭钍燃料 +item.waste_u235.name=枯竭铀-235燃料 +item.waste_u233.name=枯竭铀-233燃料 +item.waste_uranium.name=枯竭铀燃料 +item.waste_zfb_mox.name=枯竭的ZFB MOX燃料 +item.watch.name=破旧怀表 +item.watch.desc=一块蓝色的小怀表$玻璃上有一些裂缝,还有一些碎片不见了$指针定格在了2点34分。 +item.watz_pellet.boron.name=硼吸收靶丸 +item.watz_pellet.du.name=贫铀吸收靶丸 +item.watz_pellet.hes.name=HES Watz靶丸 +item.watz_pellet.lead.name=铅吸收靶丸 +item.watz_pellet.les.name=LES Watz靶丸 +item.watz_pellet.mes.name=MES Watz靶丸 +item.watz_pellet.mep.name=MEP Watz靶丸 +item.watz_pellet.meu.name=MEU Watz靶丸 +item.watz_pellet.nqd.name=浓缩硅岩金属 Watz靶丸 +item.watz_pellet.nqr.name=硅岩金属化合物 Watz靶丸 +item.watz_pellet.hen.name=HEN Watz靶丸 +item.watz_pellet.schrabidium.name=Sa326 Watz靶丸 +item.watz_pellet_depleted.boron.name=硼吸收靶丸(枯竭) +item.watz_pellet_depleted.du.name=贫铀吸收靶丸(枯竭) +item.watz_pellet_depleted.hes.name=HES Watz靶丸(枯竭) +item.watz_pellet_depleted.lead.name=铅吸收靶丸(枯竭) +item.watz_pellet_depleted.les.name=LES Watz靶丸(枯竭) +item.watz_pellet_depleted.mes.name=MES Watz靶丸(枯竭) +item.watz_pellet_depleted.mep.name=MEP Watz靶丸(枯竭) +item.watz_pellet_depleted.meu.name=MEU Watz靶丸(枯竭) +item.watz_pellet_depleted.nqd.name=浓缩硅岩金属 Watz靶丸(枯竭) +item.watz_pellet_depleted.nqr.name=硅岩金属化合物 Watz靶丸(枯竭) +item.watz_pellet_depleted.hen.name=HEN Watz靶丸(枯竭) +item.watz_pellet_depleted.schrabidium.name=Sa326 Watz靶丸(枯竭) +item.weapon_bat.name=板球棒 +item.weapon_bat_nail.name=板上钉钉 +item.weapon_golf_club.name=黑手党快乐杆 +item.weapon_pipe_lead.name=手动覆盖控制 +item.weapon_pipe_rusty.name=姿态调节器 +item.weapon_saw.name=肢解骨锯 +item.weaponized_starblaster_cell.name=§c星际爆能电池§r +item.wd40.name=VT-40 +item.wild_p.name=野生珀伽索斯干威士忌 +item.wings_limp.name=无力之翼 +item.wings_murk.name=暗黑之翼 +item.wire_advanced_alloy.name=超导体 +item.wire_aluminium.name=铝线 +item.wire_copper.name=铜线 +item.wire_dense.name=致密%s线 +item.wire_fine.name=%s线 +item.wire_gold.name=金线 +item.wire_magnetized_tungsten.name=4000K高温超导体 +item.wire_red_copper.name=紫铜线 +item.wire_schrabidium.name=Sa326线 +item.wire_tungsten.name=钨线 +item.wiring_red_copper.name=电缆卷 +item.wood_gavel.name=木槌 +item.wrench.name=管道扳手 +item.wrench_archineer.name=Archineer扳手 +item.wrench_flipped.name=刺刀扳手 +item.xanax.name=NAXA 抗迪伽马药物 +item.xanax.desc=移除500mDRX迪伽马辐射 +item.zirconium_legs.name=锆质护腿 +itemGroup.tabBlocks=HBM 矿石和方块 +itemGroup.tabConsumable=HBM 食物和装备 +itemGroup.tabControl=HBM 机器项目和燃料 +itemGroup.tabMachine=HBM 机器 +itemGroup.tabMissile=HBM 导弹和卫星 +itemGroup.tabNuke=HBM 炸弹 +itemGroup.tabParts=HBM 资源和零件 +itemGroup.tabTemplate=HBM 模板 +itemGroup.tabTest=HBM的核科技mod测试项[S166、Bismarck、Nukesteve、牛牛联合汉化] +itemGroup.tabWeapon=HBM 武器和炮塔 +pa.idle=空闲 +pa.running=正在运行 +pa.success=成功 +pa.pause_unloaded=暂停运行 +pa.crash_defocus=粒子失焦! +pa.crash_derail=粒子脱离轨道! +pa.crash_cannot_enter=粒子被阻挡! +pa.crash_nocool=缺少冷却! +pa.crash_nopower=缺少能量! +pa.crash_nocoil=缺少线圈! +pa.crash_overspeed=粒子速度过快! +potion.hbm_bang=! ! ! +potion.hbm_death=重度突变 +potion.hbm_lead=铅中毒 +potion.hbm_mutation=变异 +potion.hbm_phosphorus=磷烧伤 +potion.hbm_potionsickness=药水病 +potion.hbm_radaway=消辐宁 +potion.hbm_radiation=辐射 +potion.hbm_radx=抗辐射 +potion.hbm_stability=稳定 +potion.hbm_taint=污染 +potion.hbm_telekinesis=隔地促动 +radar.clearMap=清空地图 +radar.detectMissiles=探测导弹 +radar.detectPlayers=探测玩家 +radar.detectShells=探测炮弹 +radar.redMode=红石控制模式$开启: 基于导弹距离输出红石信号$关闭: 基于导弹级别输出红石信号 +radar.showMap=显示地图 +radar.smartMode=智能模式$有红石信号时忽略上升段的导弹 +radar.toggleGui=切换视图 +radar.target.abm=反弹道导弹 +radar.target.custom10=10号定制导弹 +radar.target.custom1015=10/15号定制导弹 +radar.target.custom15=15号定制导弹 +radar.target.custom1520=15/20号定制导弹 +radar.target.custom20=20号定制导弹 +radar.target.doomsday=末日导弹 +radar.target.shuttle=万金罗宾航天飞机 +radar.target.tier0=0级导弹 +radar.target.tier1=1级导弹 +radar.target.tier2=2级导弹 +radar.target.tier3=3级导弹 +radar.target.tier4=4级导弹 +rbmk.heat=柱体温度: %s +rbmk.boiler.water=供水速率: %s / %s +rbmk.boiler.steam=蒸汽产生速率: %s / %s +rbmk.boiler.type=蒸汽压缩等级: %s +rbmk.console.assign=将选定列分配给屏幕 +rbmk.console.none=关 +rbmk.console.col_temp=监测平均柱温 +rbmk.console.rod_extraction=监控平均控制棒抽出量 +rbmk.console.fuel_depletion=监测平均燃料消耗 +rbmk.console.fuel_poison=监测平均氙中毒程度 +rbmk.console.fuel_temp=监测平均燃料温度 +rbmk.control.level=%s +rbmk.control.red=§c红色组 +rbmk.control.yellow=§e黄色组 +rbmk.control.green=§a绿色组 +rbmk.control.blue=§1蓝色组 +rbmk.control.purple=§5紫色组 +rbmk.moderated=慢化剂 +rbmk.rod.depletion=燃料消耗: %s +rbmk.rod.xenon=氙元素堆积程度: %s +rbmk.rod.coreTemp=核心温度: %s +rbmk.rod.skinTemp=表面温度: %s / %s +rbmk.screen.core=核心:%s +rbmk.screen.depletion=消耗: %s +rbmk.screen.rod=控制:%s +rbmk.screen.temp=温度:%s +rbmk.screen.xenon=氙:%s +shape.barrelHeavy=重型枪管 +shape.barrelLight=轻型枪管 +shape.billet=坯料 +shape.blade=扇片 +shape.blades=粉碎机刀片 +shape.block=块 +shape.c9=小口径弹壳 +shape.c50=大口径弹壳 +shape.dust=粉末 +shape.dusttiny=小撮粉末 +shape.grip=握把 +shape.gunMechanism=机构 +shape.hull_big=大型外壳 +shape.hull_small=小型外壳 +shape.ingot=锭 +shape.nugget=粒 +shape.quantum=量子 +shape.quart=四分之一块 +shape.receiverHeavy=重型机匣 +shape.receiverLight=轻型机匣 +shape.ntmpipe=管 +shape.plate=板 +shape.plateTriple=铸造板 +shape.shell=外壳 +shape.stamp=锻模 +shape.stock=枪托 +shape.wireFine=线 +shape.wireDense=致密线 +shape.wiresDense=致密线 +soundCategory.ntmMachines=NTM机器 +tile.absorber.name=辐射吸收器 +tile.absorber_green.name=高级辐射吸收器 +tile.absorber_pink.name=精英辐射吸收器 +tile.absorber_red.name=增强型辐射吸收器 +tile.acid_block.name=酸 +tile.ams_base.name=AMS基座 [开发中] +tile.ams_emitter.name=AMS发射极 [开发中] +tile.ams_limiter.name=AMS稳能器 [开发中] +tile.ancient_scrap.name=古代废金属 +tile.anvil_arsenic_bronze.name=砷青铜砧 +tile.anvil_bismuth.name=铋砧 +tile.anvil_bismuth_bronze.name=铋青铜砧 +tile.anvil_desh.name=Desh砧 +tile.anvil_dnt.name=双聚中子态素砧 +tile.anvil_ferrouranium.name=铀铁合金砧 +tile.anvil_iron.name=铁砧 +tile.anvil_lead.name=铅砧 +tile.anvil_meteorite.name=陨石砧 +tile.anvil_murky.name=暗黑砧 +tile.anvil_osmiridium.name=铱锇合金砧 +tile.anvil_saturnite.name=土星砧 +tile.anvil_schrabidate.name=Sa酸铁砧 +tile.anvil_starmetal.name=星辉金属砧 +tile.anvil_steel.name=钢砧 +tile.ash_digamma.name=灰烬 +tile.asphalt.name=沥青 +tile.asphalt_stairs.name=沥青楼梯 +tile.asphalt_light.name=发光沥青 +tile.barbed_wire.name=带刺铁丝网 +tile.barbed_wire_acid.name=腐蚀铁丝网 +tile.barbed_wire_fire.name=烈焰铁丝网 +tile.barbed_wire_poison.name=剧毒铁丝网 +tile.barbed_wire_ultradeath.name=辐射铁丝网 +tile.barbed_wire_wither.name=凋零铁丝网 +tile.barrel_antimatter.name=磁约束反物质容器 +tile.barrel_corroded.name=被腐蚀的桶 +tile.barrel_iron.name=铁桶 +tile.barrel_plastic.name=安全桶 +tile.barrel_steel.name=钢桶 +tile.barrel_tcalloy.name=锝-钢合金桶 +tile.barricade.name=沙袋 +tile.basalt.name=玄武岩 +tile.basalt_brick.name=玄武岩砖 +tile.basalt_polished.name=抛光玄武岩 +tile.basalt_smooth.name=平滑玄武岩 +tile.basalt_tiles.name=玄武岩砖 +tile.blast_door.name=防爆闸门 +tile.block_actinium.name=锕块 +tile.block_advanced_alloy.name=高级合金块 +tile.block_aluminium.name=铝块 +tile.block_asbestos.name=石棉块 +tile.block_australium.name=奥斯块 +tile.block_bakelite.name=电木块 +tile.block_beryllium.name=铍块 +tile.block_bismuth.name=铋块 +tile.block_boron.name=硼块 +tile.block_c4.name=C-4块 +tile.block_cadmium.name=镉块 +tile.block_cap_fritz.name=弗里茨瓶盖方块 +tile.block_cap_korl.name=Korl瓶盖方块 +tile.block_cap_nuka.name=核子可乐瓶盖方块 +tile.block_cap_quantum.name=樱桃味核子可乐瓶盖方块 +tile.block_cap_rad.name=辐射 S~核子可乐瓶盖方块 +tile.block_cap_sparkle.name=核子可乐瓶盖方块 +tile.block_cap_star.name=夕阳沙士星星瓶盖方块 +tile.block_cap_sunset.name=夕阳沙士瓶盖方块 +tile.block_cdalloy.name=镉钢块 +tile.block_cobalt.name=钴块 +tile.block_coke.coal.name=煤焦炭块 +tile.block_coke.lignite.name=褐煤焦炭块 +tile.block_coke.petroleum.name=石油焦炭块 +tile.block_coltan.name=钶钽铁矿块 +tile.block_combine_steel.name=CMB钢块 +tile.block_copper.name=铜块 +tile.block_corium.name=熔融堆芯冷凝物 +tile.block_corium_cobble.name=熔融物凝固石 +tile.block_daffergon.name=达夫贡块 +tile.block_desh.name=Desh块 +tile.block_dineutronium.name=双聚中子态素块 +tile.block_dura_steel.name=强化高速钢块 +tile.block_electrical_scrap.name=电子废料块 +tile.block_euphemium.name=Ep块 +tile.block_euphemium_cluster.name=Ep刻蚀Sa326团 +tile.block_fallout.name=辐射尘块 +tile.block_fiberglass.name=玻璃纤维卷 +tile.block_fluorite.name=氟石块 +tile.block_foam.name=泡沫 +tile.block_insulator.name=绝缘卷 +tile.block_graphite.name=石墨块 +tile.block_graphite_detector.name=反应堆中子探测棒 +tile.block_graphite_drilled.name=钻孔石墨 +tile.block_graphite_fuel.name=反应堆燃料 +tile.block_graphite_lithium.name=反应堆锂燃料 +tile.block_graphite_plutonium.name=反应堆燃料(增殖) +tile.block_graphite_rod.name=反应堆控制棒 +tile.block_graphite_source.name=反应堆中子源 +tile.block_graphite_tritium.name=反应堆锂燃料(增殖) +tile.block_lead.name=铅块 +tile.block_lanthanium.name=镧块 +tile.block_lithium.name=锂块 +tile.block_magnetized_tungsten.name=磁化钨块 +tile.block_meteor.name=陨石块 +tile.block_meteor_broken.name=破碎的陨石块 +tile.block_meteor_cobble.name=陨石 +tile.block_meteor_molten.name=高温陨石 +tile.block_meteor_treasure.name=宝藏陨石块 +tile.block_mox_fuel.name=MOX燃料块 +tile.block_neptunium.name=镎块 +tile.block_niter.name=硝石块 +tile.block_niter_reinforced.name=硝石加固块 +tile.block_niobium.name=铌块 +tile.block_plutonium.name=钚块 +tile.block_plutonium_fuel.name=钚燃料块 +tile.block_polonium.name=钋块 +tile.block_polymer.name=聚合物块 +tile.block_pu_mix.name=反应堆级钚块 +tile.block_pu238.name=钚-238块 +tile.block_pu239.name=钚-239块 +tile.block_pu240.name=钚-240块 +tile.block_ra226.name=镭-226块 +tile.block_red_copper.name=紫铜块 +tile.block_red_phosphorus.name=红磷块 +tile.block_reiium.name=雷恩块 +tile.block_rubber.name=橡胶块 +tile.block_schrabidate.name=Sa酸铁块 +tile.block_schrabidium.name=Sa326块 +tile.block_schrabidium_cluster.name=Sa326团 +tile.block_schrabidium_fuel.name=Sa326燃料块 +tile.block_schraranium.name=低丰度Sa326块 +tile.block_scrap.name=废品块 +tile.block_semtex.name=塞姆汀块 +tile.block_slag.name=矿渣块 +tile.block_smore.name=S'more块 +tile.block_solinium.name=Sa327块 +tile.block_starmetal.name=星辉块 +tile.block_steel.name=钢块 +tile.block_sulfur.name=硫磺块 +tile.block_tantalium.name=钽块 +tile.block_tcalloy.name=锝钢块 +tile.block_thorium.name=钍块 +tile.block_thorium_fuel.name=钍燃料块 +tile.block_titanium.name=钛块 +tile.block_trinitite.name=玻璃石块 +tile.block_tritium.name=氚单元块 +tile.block_tungsten.name=钨块 +tile.block_u233.name=铀-233块 +tile.block_u235.name=铀-235块 +tile.block_u238.name=铀-238块 +tile.block_unobtainium.name=难得素块 +tile.block_uranium.name=铀块 +tile.block_uranium_fuel.name=铀燃料块 +tile.block_verticium.name=韦德赛块 +tile.block_waste.name=核废料块 +tile.block_waste_painted.name=带标志的核废料块 +tile.block_waste_vitrified.name=玻璃化核废料块 +tile.block_weidanium.name=魏丹块 +tile.block_white_phosphorus.name=白磷块 +tile.block_yellowcake.name=黄饼块 +tile.block_zirconium.name=锆块 +tile.boat.name=船 +tile.bobblehead.name=Bob的魔法娃娃 +tile.bomb_multi.name=多功能炸弹 +tile.bomber.name=坠毁轰炸机 +tile.book_guide.name=HBM的核科技mod手册[遗留] +tile.boxcar.name=车厢 +tile.brick_asbestos.name=石棉砖块 +tile.brick_asbestos_stairs.name=石棉砖楼梯 +tile.brick_compound.name=复合网格砖块 +tile.brick_compound_stairs.name=复合网格砖楼梯 +tile.brick_concrete.name=混凝土砖块 +tile.brick_concrete_stairs.name=混凝土砖楼梯 +tile.brick_concrete_broken.name=破碎混凝土砖块 +tile.brick_concrete_broken_stairs.name=破碎混凝土砖楼梯 +tile.brick_concrete_cracked.name=开裂混凝土砖块 +tile.brick_concrete_cracked_stairs.name=开裂混凝土砖楼梯 +tile.brick_concrete_marked.name=标记混凝土砖 +tile.brick_concrete_mossy.name=苔混凝土砖块 +tile.brick_concrete_mossy_stairs.name=苔混凝土砖楼梯 +tile.brick_ducrete.name=高密度贫铀混凝土砖块 +tile.brick_ducrete_stairs.name=高密度贫铀混凝土砖楼梯 +tile.brick_dungeon.name=硒铜砖 +tile.brick_dungeon_circle.name=圆环硒铜块 +tile.brick_dungeon_flat.name=硒铜块 +tile.brick_dungeon_tile.name=硒铜瓦 +tile.brick_fire.name=耐火砖块 +tile.brick_fire_stairs.name=耐火砖楼梯 +tile.brick_jungle.name=硫砷钢砖块 +tile.brick_jungle_circle.name=机械师之环 +tile.brick_jungle_cracked.name=开裂硫砷钢砖块 +tile.brick_jungle_fragile.name=粉碎硫砷钢砖块 +tile.brick_jungle_glyph.name=硫砷钢石雕砖块 +tile.brick_jungle_lava.name=岩浆硫砷钢砖块 +tile.brick_jungle_mystic.name=奥术硫砷钢砖块 +tile.brick_jungle_ooze.name=放射硫砷钢砖块 +tile.brick_jungle_trap.name=陷阱硫砷钢砖块 +tile.brick_light.name=轻质砖块 +tile.brick_light_stairs.name=轻质砖楼梯 +tile.brick_obsidian.name=黑曜石砖块 +tile.brick_obsidian_stairs.name=黑曜石砖楼梯 +tile.brick_red.name=红房间砖块 +tile.brick_slab.brick_asbestos.name=石棉砖台阶 +tile.brick_slab.brick_compound.name=复合网格砖台阶 +tile.brick_slab.brick_fire.name=耐火砖台阶 +tile.brick_slab.brick_light.name=轻质砖台阶 +tile.brick_slab.brick_obsidian.name=黑曜石砖台阶 +tile.brick_slab.reinforced_brick.name=强化石头台阶 +tile.brick_slab.reinforced_stone.name=致密石头台阶 +tile.broadcaster_pc.name=腐败广播 +tile.burning_earth.name=燃烧草地 +tile.c4.name=C-4 +tile.cable_detector.name=红石电源开关 +tile.cable_diode.name=紫铜二极管 +tile.cable_switch.name=电源开关 +tile.capacitor_bus.name=电容总线 +tile.capacitor_bus.desc=电容器的输出方块$可以连成一条直线 +tile.capacitor_copper.name=铜电容 +tile.capacitor_gold.name=金电容 +tile.capacitor_niobium.name=铌电容 +tile.capacitor_schrabidate.name=Sa酸铁电容 +tile.capacitor_tantalium.name=钽电容 +tile.capacitor.desc=输入:顶部$输出:底部,通过电容总线 +tile.charge_c4.name=炸药包 +tile.charge_dynamite.name=定时炸弹 +tile.charge_miner.name=定时采矿炸药 +tile.charge_semtex.name=塞姆汀采矿炸药 +tile.charger.name=充电站 +tile.cheater_virus.name=冻结Ep +tile.cheater_virus_seed.name=不稳定Ep Schrabide块 +tile.chimney_brick.name=烟囱 +tile.chimney_brick.desc=使用排气管连接污染机器$减少75%的污染排放 +tile.chimney_industrial.name=工业烟囱 +tile.chimney_industrial.desc=使用排气管连接污染机器$减少90%的污染排放 +tile.chlorine_gas.name=氯气 +tile.cluster_aluminium.name=铝矿簇 +tile.cluster_copper.name=铜矿簇 +tile.cluster_depth_iron.name=深层铁矿簇 +tile.cluster_depth_titanium.name=深层钛矿簇 +tile.cluster_depth_tungsten.name=深层钨矿簇 +tile.cluster_iron.name=铁矿簇 +tile.cluster_titanium.name=钛矿簇 +tile.custom_machine_anchor.name=自定义机器结构定位锚 +tile.cm_block.alloy.name=高级合金机器外壳 +tile.cm_block.desh.name=Desh机器外壳 +tile.cm_block.steel.name=钢制机器外壳 +tile.cm_block.tcalloy.name=锝钢机器外壳 +tile.cm_circuit.aluminium.name=一级电路块 +tile.cm_circuit.copper.name=二级电路块 +tile.cm_circuit.gold.name=四级电路块 +tile.cm_circuit.red_copper.name=三级电路块 +tile.cm_circuit.schrabidium.name=五级电路块 +tile.cm_engine.bismuth.name=铋电机组 +tile.cm_engine.desh.name=Desh电机组 +tile.cm_engine.standard.name=电机组 +tile.cm_flux.name=中子接收器 +tile.cm_heat.name=热量接收器 +tile.cm_port.alloy.name=高级合金端口 +tile.cm_port.desh.name=Desh端口 +tile.cm_port.steel.name=钢制端口 +tile.cm_port.tcalloy.name=锝钢端口 +tile.cm_sheet.alloy.name=高级合金建筑板 +tile.cm_sheet.desh.name=Desh建筑板 +tile.cm_sheet.steel.name=钢建筑板 +tile.cm_sheet.tcalloy.name=锝钢建筑板 +tile.cm_tank.alloy.name=高级合金储罐 +tile.cm_tank.desh.name=Desh储罐 +tile.cm_tank.steel.name=钢制储罐 +tile.cm_tank.tcalloy.name=锝钢储罐 +tile.cmb_brick.name=CMB钢瓦块 +tile.cmb_brick_reinforced.name=加固CMB钢砖块 +tile.compact_launcher.name=紧凑型发射台 +tile.concrete.name=混凝土瓦块 +tile.concrete_asbestos.name=石棉混凝土 +tile.concrete_asbestos_stairs.name=石棉混凝土楼梯 +tile.concrete_brick_slab.brick_concrete.name=混凝土砖台阶 +tile.concrete_brick_slab.brick_concrete_broken.name=破碎混凝土砖台阶 +tile.concrete_brick_slab.brick_concrete_cracked.name=开裂混凝土砖台阶 +tile.concrete_brick_slab.brick_concrete_mossy.name=苔混凝土砖台阶 +tile.concrete_brick_slab.brick_ducrete.name=高密度贫铀混凝土砖台阶 +tile.concrete_colored.black.name=黑色混凝土 +tile.concrete_colored.blue.name=蓝色混凝土 +tile.concrete_colored.brown.name=棕色混凝土 +tile.concrete_colored.cyan.name=青色混凝土 +tile.concrete_colored.gray.name=灰色混凝土 +tile.concrete_colored.green.name=绿色混凝土 +tile.concrete_colored.lightBlue.name=淡蓝色混凝土 +tile.concrete_colored.lime.name=黄绿色混凝土 +tile.concrete_colored.magenta.name=品红色混凝土 +tile.concrete_colored.orange.name=橙色混凝土 +tile.concrete_colored.pink.name=粉色混凝土 +tile.concrete_colored.purple.name=紫色混凝土 +tile.concrete_colored.red.name=红色混凝土 +tile.concrete_colored.silver.name=淡灰色混凝土 +tile.concrete_colored.white.name=白色混凝土 +tile.concrete_colored.yellow.name=黄色混凝土 +tile.concrete_colored_ext.bronze.name=建筑工指定混凝土-青铜板材 +tile.concrete_colored_ext.hazard.name=建筑工指定混凝土-危险地带 +tile.concrete_colored_ext.indigo.name=建筑工指定混凝土-深靛蓝 +tile.concrete_colored_ext.machine.name=建筑工指定混凝土-工业风 +tile.concrete_colored_ext.machine_stripe.name=建筑工指定混凝土-工业条纹 +tile.concrete_colored_ext.pink.name=建筑工指定混凝土-猛男粉 +tile.concrete_colored_ext.purple.name=建筑工指定混凝土-神秘紫 +tile.concrete_colored_ext.sand.name=建筑工指定混凝土-沙漠风暴 +tile.concrete_pillar.name=钢筋混凝土柱 +tile.concrete_slab.asphalt.name=沥青台阶 +tile.concrete_slab.concrete.name=混凝土瓦块台阶 +tile.concrete_slab.concrete_asbestos.name=石棉混凝土台阶 +tile.concrete_slab.concrete_smooth.name=混凝土台阶 +tile.concrete_slab.ducrete.name=高密度贫铀混凝土瓷砖台阶 +tile.concrete_slab.ducrete_smooth.name=高密度贫铀混凝土台阶 +tile.concrete_smooth.name=混凝土 +tile.concrete_smooth_stairs.name=混凝土楼梯 +tile.concrete_stairs.name=混凝土瓦块楼梯 +tile.concrete_super.name=über混凝土 +tile.concrete_super_broken.name=发霉的Über混凝土残骸 +tile.conveyor.name=输送带 +tile.conveyor.desc=移动掉在上面的物品$可以用螺丝刀顺时针旋转$用螺丝刀按住Shift键单击以转弯 +tile.conveyor_chute.name=输送带滑槽 +tile.conveyor_chute.desc=向下移动物品$最底部的滑槽将起到普通传送带的作用 +tile.conveyor_double.name=双轨道输送带 +tile.conveyor_double.desc=移动掉在上面的物品$可以用螺丝刀顺时针旋转$用螺丝刀按住Shift键单击以转弯 +tile.conveyor_express.name=快速输送带 +tile.conveyor_express.desc=快速移动掉在上面的物品$可以用螺丝刀顺时针旋转$用螺丝刀按Shift键转弯 +tile.conveyor_lift.name=垂直输送带 +tile.conveyor_lift.desc=向上移动物品$至少需要两个块才能正常工作 +tile.conveyor_triple.name=三轨道输送带 +tile.conveyor_triple.desc=移动掉在上面的物品$可以用螺丝刀顺时针旋转$用螺丝刀按住Shift键单击以转弯 +tile.corium_block.name=堆芯熔融物 +tile.crane_boxer.name=输送带打包机 +tile.crane_boxer.desc=将可配置数量的堆叠装载到沿着传送带移动的箱子中$用螺丝刀右键单击以设置输入侧$用螺丝起子平移单击以设置输出侧$单击两次以设置相反侧 +tile.crane_extractor.name=输送带提取器 +tile.crane_extractor.desc=从库存中取出物品并将其放置在传送带上$最多有9个带黑白名单的过滤器插槽$用螺丝刀右键单击以设置输出侧$手持螺丝刀按住Shift单击以设置输入侧$单击两次以设置相反侧 +tile.crane_grabber.name=输送带抓斗 +tile.crane_grabber.desc=从经过的输送带中取出物品并将其放入容器$将只从最近的通道中取出物品$最多有9个带黑白名单的过滤槽$用螺丝刀右键单击以设置输入侧$用螺丝起子平移单击以设置输出侧$单击两次以设置对侧 +tile.crane_inserter.name=输送带导入器 +tile.crane_inserter.desc=接受输送带上的物品并将其放入容器中$用螺丝刀右键单击以设置输入侧$用螺丝刀单击以设置输出侧$单击两次以设置相反侧 +tile.crane_partitioner.name=酸化器输入分隔器 +tile.crane_partitioner.desc=接受并存储至多9种输入矿物酸化器的物品$并在物品数量达到配方要求时将其输出$无配方物品也会被存储,需要从侧面导出 +tile.crane_router.name=输送带分拣机 +tile.crane_router.desc=根据定义的条件对项目排序$侧面可以定义为黑名单、白名单或通配符$只有在没有其他筛选器匹配的情况下才选择通配符侧面 +tile.crane_splitter.name=输送带分离器 +tile.crane_splitter.desc=将物品分开并均匀堆放在两条传送带上$其本身就是一条传送带,因此它可以直接输入到插入器或分拣器中$Ratio也可以用螺丝刀配置。 +tile.crane_unboxer.name=输送带解包机 +tile.crane_unboxer.desc=接收打包好的物品并解包$用螺丝刀右键单击以设置输出侧$手持螺丝刀按住Shift单击以设置输入侧$单击两次以设置相反侧 +tile.crashed_bomb.name=哑弹 +tile.crate.name=补给箱 +tile.crate_ammo.name=星辉补给箱 +tile.crate_can.name=罐头补给箱 +tile.crate_desh.name=Desh板条箱 +tile.crate_iron.name=铁箱 +tile.crate_jungle.name=硫砷钢箱 +tile.crate_lead.name=危险品补给箱 +tile.crate_metal.name=机器补给箱 +tile.crate_red.name=红色补给箱 +tile.crate_steel.name=钢箱 +tile.crate_template.name=模板箱 +tile.crate_tungsten.name=钨箱 +tile.crate_weapon.name=武器补给箱 +tile.crystal_hardened.name=硬化黑水晶 +tile.crystal_pulsar.name=脉动水晶 +tile.crystal_virus.name=黑水晶 +tile.deco_aluminium.name=铝装饰块 +tile.deco_asbestos.name=石棉瓦 +tile.deco_beryllium.name=铍装饰块 +tile.deco_computer.ibm_300pl.name=IBM个人电脑300PL +tile.deco_crt.name=老CRT显示屏 +tile.deco_emitter.name=装饰性发光体 +tile.deco_lead.name=铅装饰块 +tile.deco_rbmk.name=RBMK装饰块 +tile.deco_rbmk_smooth.name=平滑RBMK装饰块 +tile.deco_red_copper.name=紫铜装饰块 +tile.deco_pipe.name=钢制管道 +tile.deco_pipe_rusted.name=生锈的钢制管道 +tile.deco_pipe_green.name=绿色钢制管道 +tile.deco_pipe_green_rusted.name=生锈的绿色钢制管道 +tile.deco_pipe_red.name=红色钢制管道 +tile.deco_pipe_marked.name=气体管道 +tile.deco_pipe_framed.name=钢制管道 (镶框) +tile.deco_pipe_framed_rusted.name=生锈的钢制管道 (镶框) +tile.deco_pipe_framed_green.name=绿色钢制管道 (镶框) +tile.deco_pipe_framed_green_rusted.name=生锈的绿色钢制管道 (镶框) +tile.deco_pipe_framed_red.name=红色钢制管道 (镶框) +tile.deco_pipe_framed_marked.name=气体管道 (镶框) +tile.deco_pipe_quad.name=钢制管道束 +tile.deco_pipe_quad_rusted.name=生锈的钢制管道束 +tile.deco_pipe_quad_green.name=绿色钢制管道束 +tile.deco_pipe_quad_green_rusted.name=生锈的绿色钢制管道束 +tile.deco_pipe_quad_red.name=红色钢制管道束 +tile.deco_pipe_quad_marked.name=气体管道束 +tile.deco_pipe_rim.name=钢制管道 (镶边) +tile.deco_pipe_rim_rusted.name=生锈的钢制管道 (镶边) +tile.deco_pipe_rim_green.name=绿色钢制管道 (镶边) +tile.deco_pipe_rim_green_rusted.name=生锈的绿色钢制管道 (镶边) +tile.deco_pipe_rim_red.name=红色钢制管道 (镶边) +tile.deco_pipe_rim_marked.name=气体管道 (镶边) +tile.deco_steel.name=钢装饰块 +tile.deco_titanium.name=钛装饰块 +tile.deco_toaster.name=坏掉的烤面包机 +tile.deco_tungsten.name=钨装饰块 +tile.decon.name=玩家去污器 +tile.depth_brick.name=深层岩石砖 +tile.depth_dnt.name=DNT加固深层岩石砖 +tile.depth_nether_brick.name=下界深层岩石砖 +tile.depth_nether_tiles.name=下界深层岩石瓷砖 +tile.depth_tiles.name=深层岩石瓷砖 +tile.det_charge.name=炸药 +tile.det_cord.name=炸药引信 +tile.det_miner.name=采矿炸药 +tile.det_nuke.name=核炸药 +tile.dfc_core.name=暗核聚变堆核心 +tile.dfc_emitter.name=DFC发射器 +tile.dfc_injector.name=DFC燃料喷射器 +tile.dfc_receiver.name=DFC接收器 +tile.dfc_stabilizer.name=DFC稳定器 +tile.dirt_dead.name=泥渣 +tile.dirt_oily.name=油泥 +tile.drill_pipe.name=钻杆 +tile.drone_crate.name=运输无人机坞 +tile.drone_crate.desc=运输无人机的装货点和卸货点$也作为航路点使用, 需要使用运输无人机链接器与其他航路点链接$无人机必须从较高角度接近此方块,否则会被卡住 +tile.drone_crate_provider.name=物流供应箱 +tile.drone_crate_provider.desc=向物流网络提供物品$物流无人机会尝试将物品从物流供应箱移至物流请求箱 +tile.drone_crate_requester.name=物流请求箱 +tile.drone_crate_requester.desc=从物流网络请求物品$若物品栏内没有标记的物品,则会请求该物品 +tile.drone_dock.name=物流无人机坞 +tile.drone_dock.desc=物流无人机的生成点$只能检测5区块半径内的物流供应箱和物流请求箱$每个连接中物流无人机最多跟随10个路径点 +tile.drone_waypoint.name=运输无人机航路点 +tile.drone_waypoint.desc=运输无人机的航路点$使用运输无人机链接器设置路径$按顺序单击每个航路点和坞即可创建路径$Shift+右键单击以清除保存的位置$右键单击或Shift+右键单击航路点以更改航路点的高度偏移 +tile.drone_waypoint_request.name=物流无人机航路点 +tile.door_bunker.name=仓门 +tile.door_metal.name=金属门 +tile.door_office.name=办公室门 +tile.door_red.name=红门 +tile.ducrete.name=高密度贫铀混凝土瓷砖 +tile.ducrete_stairs.name=高密度贫铀混凝土瓷砖楼梯 +tile.ducrete_smooth.name=高密度贫铀混凝土 +tile.ducrete_smooth_stairs.name=高密度贫铀混凝土楼梯 +tile.dummy_block.name=虚拟方块 +tile.dummy_port.name=虚拟方块[电力接口] +tile.dungeon_chain.name=金属链 +tile.dynamite.name=炸药 +tile.emp_bomb.name=EMP炸弹 +tile.factory_advanced_conductor.name=高级工厂电力端口 +tile.factory_advanced_core.name=高级工厂核心组件 +tile.factory_advanced_furnace.name=高级工厂端口 +tile.factory_advanced_hull.name=高级工厂外壳 +tile.factory_titanium_conductor.name=工厂电力端口 +tile.factory_titanium_core.name=工厂核心组件 +tile.factory_titanium_furnace.name=工厂端口 +tile.factory_titanium_hull.name=工厂外壳 +tile.fallout.name=辐射尘 +tile.fan.name=风扇 +tile.fan.desc=使用红石激活$将实体推至最多10个方块外$用螺丝刀右键点击即可切换模式 +tile.fence_metal.name=铁丝网围栏 +tile.fence_metal_post.name=铁丝网围栏立柱 +tile.field_disturber.name=高能场干扰机 +tile.filing_cabinet.green.name=蒙尘的文件柜 +tile.filing_cabinet.steel.name=钢制文件柜 +tile.fire_digamma.name=挥之不去的迪伽马之火 +tile.fire_door.name=防火门 +tile.fireworks.name=烟花箱 +tile.fireworks.charges=已充能: %s +tile.fireworks.message=信息: %s +tile.fireworks.color=颜色: %s +tile.fissure_bomb.name=裂缝炸弹 +tile.flame_war.name=盒中论战 +tile.float_bomb.name=悬浮炸弹 +tile.floodlight.name=电力泛光灯 +tile.fluid_duct.name=通用流体管道 +tile.fluid_duct_box.name=通用流体管道(方形) +tile.fluid_duct_exhaust.name=排气管 +tile.fluid_duct_gauge.name=流量计管 +tile.fluid_duct_gauge.desc=显示每个游戏刻在管网有多少流体移动的管道$由桶或罐连接的分离网络被视为一个共享网络。 +tile.fluid_duct_neo.name=通用流体管道 +tile.fluid_duct_paintable.name=可喷漆涂层通用流体导管 +tile.fluid_duct_solid.name=带涂层的通用流体导管 +tile.fluid_switch.name=红石流体阀 +tile.fluid_valve.name=流体阀 +tile.foam_layer.name=泡沫层 +tile.foundry_basin.name=铸造盘 +tile.foundry_channel.name=铸造浇道 +tile.foundry_tank.name=铸造池 +tile.foundry_mold.name=浅铸造池 +tile.foundry_outlet.name=浇筑出口 +tile.foundry_slagtap.name=炉渣出口 +tile.fraction_spacer.name=分馏塔分隔器 +tile.frozen_dirt.name=冰冻土 +tile.frozen_grass.name=冰冻草 +tile.frozen_log.name=冰冻原木 +tile.frozen_planks.name=冰冻木板 +tile.machine_furnace_brick_off.name=砖砌炉 +tile.machine_furnace_brick_on.name=砖砌炉 +tile.furnace_combination.name=复式炼焦炉 +tile.furnace_combination.desc=一种可以生产木炭和煤焦炭的大熔炉$产生流体副产品$传热速率:ΔT*0.25 TU/T +tile.furnace_iron.name=铁炉 +tile.furnace_iron.desc=更大、效率更高的炉子,在闲置时不会浪费燃料。 +tile.furnace_steel.name=钢炉 +tile.furnace_steel.desc=非常大的熔炉,冶炼矿石时可提供加成。$需要外部热源$传热率:ΔT*0.05tu/T$(Δ表示差值,T表示温度) +tile.fusion_center.name=中心磁铁 +tile.fusion_conductor.name=超导磁体 +tile.fusion_conductor_welded.name=超导磁体(焊接) +tile.fusion_core.name=聚变反应堆控制器 +tile.fusion_hatch.name=聚变反应堆端口 +tile.fusion_heater.name=等离子加热器 +tile.fusion_motor.name=磁体马达 +tile.fwatz_computer.name=Watz聚变反应堆计算矩阵 +tile.fwatz_conductor.name=4000K超导磁体 +tile.fwatz_cooler.name=冷却液罐壳 +tile.fwatz_core.name=Watz聚变反应堆控制器 +tile.fwatz_hatch.name=Watz聚变反应堆端口 +tile.fwatz_plasma.name=不稳定反Sa326等离子体 +tile.fwatz_scaffold.name=Watz聚变反应堆结构支架 +tile.fwatz_tank.name=冷却液罐 +tile.gas_asbestos.name=石棉粉尘 +tile.gas_coal.name=空气中的煤尘 +tile.gas_duct.name=输气管道 +tile.gas_duct_solid.name=密封输气管 +tile.gas_explosive.name=爆炸性气体 +tile.gas_flammable.name=可燃气体 +tile.gas_meltdown.name=熔毁气体 +tile.gas_monoxide.name=一氧化碳 +tile.gas_radon.name=氡气 +tile.gas_radon_dense.name=高浓度氡气 +tile.gas_radon_tomb.name=古墓气体 +tile.geiger.name=盖革计数器 +tile.glass_ash.name=灰烬玻璃 +tile.glass_boron.name=硼玻璃 +tile.glass_lead.name=铅玻璃 +tile.glass_polonium.name=钋玻璃 +tile.glass_quartz.name=石英玻璃 +tile.glass_trinitite.name=核融玻璃 +tile.glass_uranium.name=铀玻璃 +tile.glyphid_base.name=异虫蜂巢块 +tile.glyphid_spawner.name=异虫蜂巢繁殖方块 +tile.gneiss_brick.name=页岩砖 +tile.gneiss_chiseled.name=錾制页岩砖 +tile.gneiss_tile.name=页岩瓷砖 +tile.gravel_diamond.name=钻石砂砾 +tile.gravel_obsidian.name=碎黑曜石 +tile.hadron_access.name=粒子加速器接入终端 +tile.hadron_analysis.name=粒子加速器分析室壁 +tile.hadron_analysis_glass.name=粒子加速器分析室窗口 +tile.hadron_coil_alloy.name=致密超导线圈 +tile.hadron_coil_chlorophyte.name=致密叶绿线圈 +tile.hadron_coil_gold.name=致密金线圈 +tile.hadron_coil_magtung.name=致密4000K超导线圈 +tile.hadron_coil_mese.name=致密Mese线圈 +tile.hadron_coil_neodymium.name=致密钕线圈 +tile.hadron_coil_schrabidate.name=致密Sa酸铁线圈 +tile.hadron_coil_schrabidium.name=致密Sa326线圈 +tile.hadron_coil_starmetal.name=致密星辉线圈 +tile.hadron_core.name=粒子加速器核心组件 +tile.hadron_diode.name=肖基特二极管 +tile.hadron_plating.name=粒子加速器镀层 +tile.hadron_plating_black.name=粒子加速器镀层 (黑) +tile.hadron_plating_blue.name=粒子加速器镀层 (蓝) +tile.hadron_plating_glass.name=粒子加速器镀层 (窗口) +tile.hadron_plating_striped.name=粒子加速器镀层(低温危险) +tile.hadron_plating_voltz.name=粒子加速器镀层 (VOLTZ) +tile.hadron_plating_yellow.name=粒子加速器镀层(Yello染料) +tile.hadron_power.name=粒子加速器电源接口 +tile.hadron_power_10m.name=粒子加速器电源接口(10MHE) +tile.hadron_power_100m.name=粒子加速器电源接口(100MHE) +tile.hadron_power_1g.name=粒子加速器电源接口(1GHE) +tile.hadron_power_10g.name=粒子加速器电源接口(10GHE) +tile.hazmat.name=防辐射布块 +tile.heater_electric.name=电加热器 +tile.heater_electric.desc=利用电能产生热量$以85%的效率接受来自底部的热量$可使用螺丝刀进行配置。 +tile.heater_firebox.name=燃烧室 +tile.heater_firebox.desc=燃烧固体燃料以产生热量。 +tile.heater_heatex.name=换热加热器 +tile.heater_heatex.desc=从热流体中产生热量。 +tile.heater_oilburner.name=流体燃烧器 +tile.heater_oilburner.desc=燃烧可燃液体产生热量。 +tile.heater_oven.name=加热炉 +tile.heater_oven.desc=燃烧固体燃料以产生热量$以50%的效率接受来自底部的热量。 +tile.hev_battery.name=盔甲电池 +tile.machine_hydrotreater.name=加氢装置 +tile.impact_dirt.name=烧焦的泥土 +tile.icf.name=惯性约束聚变反应堆(ICF) +tile.icf_block.name=ICF激光器 +tile.icf_component.name=ICF稳定元件 +tile.icf_component.structure.name=ICF外壳 +tile.icf_component.structure_bolted.name=ICF外壳(铆接) +tile.icf_component.vessel.name=ICF密封容器壁 +tile.icf_component.vessel_welded.name=ICF密封容器壁(焊接) +tile.icf_controller.name=ICF激光器控制器 +tile.icf_laser_component.capacitor.name=ICF激光器电容 +tile.icf_laser_component.casing.name=ICF激光器外壳 +tile.icf_laser_component.cell.name=ICF激光器单元 +tile.icf_laser_component.emitter.name=ICF激光器闪光管 +tile.icf_laser_component.port.name=ICF激光器端口 +tile.icf_laser_component.turbo.name=ICF激光器涡轮增压器 +tile.iter.name=聚变反应堆 +tile.ladder_aluminium.name=铝制梯子 +tile.ladder_cobalt.name=钴制梯子 +tile.ladder_copper.name=铜制梯子 +tile.ladder_gold.name=金制梯子 +tile.ladder_iron.name=铁制梯子 +tile.ladder_lead.name=铅制梯子 +tile.ladder_steel.name=钢制梯子 +tile.ladder_sturdy.name=坚固木头制梯子 +tile.ladder_titanium.name=钛制梯子 +tile.ladder_tungsten.name=钨制梯子 +tile.lamp_demon.name=恶魔核心灯 +tile.lamp_tritium_blue_off.name=蓝色氚灯 +tile.lamp_tritium_blue_on.name=蓝色氚灯 +tile.lamp_tritium_green_off.name=绿色氚灯 +tile.lamp_tritium_green_on.name=绿色氚灯 +tile.lantern.name=路灯 +tile.lantern_behemoth.name=旧路灯 +tile.launch_pad.name=导弹发射台 +tile.launch_pad_large.name=发射台 +tile.launch_pad_rusted.name=锈迹斑斑的发射台 +tile.launch_table.name=大型发射台 +tile.leaves_layer.name=落叶 +tile.lox_barrel.name=液氧桶 +tile.machine_amgen.name=环境辐射发电机 +tile.machine_ammo_press.name=压弹机 +tile.machine_arc_furnace.name=大型电弧炉 +tile.machine_arc_furnace_off.name=电弧炉 +tile.machine_arc_furnace_on.name=电弧炉 +tile.machine_arc_welder.name=电弧焊机 +tile.machine_armor_table.name=装甲改装台 +tile.machine_ashpit.name=储灰槽 +tile.machine_ashpit.desc=收集来自燃烧室和加热炉的灰烬 +tile.machine_assembler.name=装配机 +tile.machine_assemfac.name=装配厂 +tile.machine_autocrafter.name=自动工作台 +tile.machine_autosaw.name=自动嗡嗡锯 +tile.machine_autosaw.desc=砍伐附近的植物,重新种植树木$接受:$-木油$-乙醇$-鱼油$-重油 +tile.machine_bat9000.name=巨尻-9000 储罐 +tile.machine_battery.name=蓄电池 +tile.machine_battery_potato.name=马铃薯电池组 +tile.machine_boiler.name=大型锅炉 +tile.machine_boiler.desc=可以烧水或加热油的大型锅炉$需要外部热源$传热速率:ΔT*0.01 TU/T +tile.machine_boiler_electric_off.name=电锅炉 +tile.machine_boiler_electric_on.name=电锅炉 +tile.machine_boiler_off.name=锅炉 +tile.machine_catalytic_cracker.name=催化裂化塔 +tile.machine_catalytic_reformer.name=催化重整器 +tile.machine_centrifuge.name=离心机 +tile.machine_chemfac.name=大型化工厂(遗留) +tile.machine_chemplant.name=化工厂(遗留) +tile.machine_chungus.name=“利维坦”巨型汽轮机 +tile.machine_chungus.desc=效率: 85%% +tile.machine_coal_off.name=火力发电机 +tile.machine_coal_on.name=火力发电机 +tile.machine_coker.name=焦化装置 +tile.machine_coker.desc=炼焦,并产生各类流体副产品$需要外部热源$传热速率:ΔT*0.025 TU/T +tile.machine_combine_factory.name=CMB炼钢炉 +tile.machine_combustion_engine.name=工业内燃机 +tile.machine_compressor.name=压缩机 +tile.machine_condenser.name=蒸汽冷凝器 +tile.machine_condenser_powered.name=大功率蒸汽冷凝器 +tile.machine_controller.name=反应堆遥控模块 +tile.machine_converter_he_rf.name=HE→RF转换器 +tile.machine_converter_rf_he.name=RF→HE转换器 +tile.machine_conveyor_press.name=输送带锻压机 +tile.machine_conveyor_press.desc=传送带从左向右移动$手持锻模右键单击以安装$使用螺丝刀移除锻模 +tile.machine_crucible.name=坩埚 +tile.machine_crystallizer.name=矿物酸化器 +tile.machine_cyclotron.name=回旋加速器 +tile.machine_detector.name=功率检测器 +tile.machine_deuterium_extractor.name=氘提取器 +tile.machine_deuterium_tower.name=氘萃取塔 +tile.machine_diesel.name=柴油发电机 +tile.machine_difurnace_extension.name=高炉烟道 +tile.machine_difurnace_off.name=高炉 +tile.machine_difurnace_on.name=高炉 +tile.machine_difurnace_rtg_off.name=核高炉 +tile.machine_difurnace_rtg_on.name=核高炉 +tile.machine_dineutronium_battery.name=Spark蓄电池 +tile.machine_drain.name=排液管 +tile.machine_drill.name=自动采矿钻机 +tile.machine_electric_furnace_off.name=电炉 +tile.machine_electric_furnace_on.name=电炉 +tile.machine_electrolyser.name=电解机 +tile.machine_epress.name=电动锻压机 +tile.machine_excavator.name=大型采矿钻机 +tile.machine_exposure_chamber.name=辐照舱 +tile.machine_fel.name=FEL自由电子激光器 +tile.machine_fensu.name=FEnSU飞轮储能系统 +tile.machine_flare.name=高架火炬 +tile.machine_fluidtank.name=储罐 +tile.machine_forcefield.name=力场发生器 +tile.machine_fraction_tower.name=分馏塔 +tile.machine_fracking_tower.name=水力压裂塔 +tile.machine_funnel.name=组合漏斗 +tile.machine_funnel.desc=自动在2x2或3x3的合成格中压缩内部物品$顶面:输入$底面:输出$侧面:输出内部原料 +tile.machine_gascent.name=气体离心机 +tile.machine_generator.name=核反应堆[旧] +tile.machine_geo.name=地热发电机 +tile.machine_hephaestus.name=地热换热器 +tile.machine_icf_press.name=ICF燃料靶丸制造器 +tile.machine_icf_press.desc=用于装填ICF靶丸$左侧燃料槽接收顶面/底面输入,右侧燃料槽接收侧面输入$μ子胶囊和空靶丸可从任意面输入 +tile.machine_industrial_boiler.name=工业锅炉 +tile.machine_industrial_boiler.desc=可以烧水或加热油的大型锅炉$需要外部热源$传热率:ΔT*0.01 TU/T$不会爆炸 +tile.machine_industrial_generator.name=工业发电机 +tile.machine_keyforge.name=锁匠桌 +tile.machine_large_turbine.name=工业汽轮机 +tile.machine_large_turbine.desc=效率: 100%% +tile.machine_liquefactor.name=工业液化机 +tile.machine_liquefactor.desc=强大的通用机器,可将物品转化为液体$配有多功能催化组件、加热元件和用于石化液化的内置水合器。 +tile.machine_lithium_battery.name=锂蓄电池 +tile.machine_microwave.name=微波炉 +tile.machine_mining_laser.name=采矿激光 +tile.machine_minirtg.name=放射性同位素电池 +tile.machine_missile_assembly.name=导弹装配台 +tile.machine_mixer.name=工业搅拌机 +tile.machine_nuke_furnace_off.name=核熔炉 +tile.machine_nuke_furnace_on.name=核熔炉 +tile.machine_orbus.name=重型磁约束储罐 +tile.machine_ore_slopper.name=基岩矿石处理机 +tile.machine_powerrtg.name=PT同位素电池 +tile.machine_press.name=火力锻压机 +tile.machine_puf6_tank.name=六氟化钚储罐 +tile.machine_pumpjack.name=石油钻机 +tile.machine_pyrooven.name=热解炉 +tile.machine_radar.name=雷达 +tile.machine_radar_large.name=大型雷达 +tile.machine_radgen.name=辐射能量发电机 +tile.machine_radiolysis.name=放射性同位素热电机和辐射裂解室 +tile.machine_reactor.name=增殖反应堆 +tile.machine_reactor_small.name=研究型反应堆 +tile.machine_refinery.name=炼油厂 +tile.machine_reix_mainframe.name=Rei-X主机[开发中] +tile.machine_rotary_furnace.name=回转炉 +tile.machine_rtg_blue.name=对流发电机 +tile.machine_rtg_cyan.name=Sa326衰变发电机 [开发中] +tile.machine_rtg_furnace_off.name=放射性同位素热力炉[RTG] +tile.machine_rtg_furnace_on.name=放射性同位素热力炉[RTG] +tile.machine_rtg_green.name=韦德赛富集发电机 +tile.machine_rtg_grey.name=放射性同位素发电机 +tile.machine_rtg_orange.name=强RT发电机 +tile.machine_rtg_purple.name=反物质湮灭发发电机 +tile.machine_rtg_red.name=离子发生器 +tile.machine_rtg_yellow.name=奥斯超级燃料反应堆 +tile.machine_satlinker.name=卫星ID管理器 +tile.machine_sawmill.name=斯特林锯木机 +tile.machine_sawmill.desc=需要外部热源$传热速率:T*0.1 TU/T$最小进气量:100 TU/T,最大进气量:300 TU/T +tile.machine_schrabidium_battery.name=Sa326蓄电池 +tile.machine_schrabidium_transmutator.name=Sa326嬗变装置 +tile.machine_selenium.name=星型发动机 +tile.machine_shredder.name=粉碎机 +tile.machine_silex.name=SILEX激光同位素分离室 +tile.machine_siren.name=警报器 +tile.machine_solar_boiler.name=太阳能锅炉 +tile.machine_soldering_station.name=焊接台 +tile.machine_solidifier.name=工业固化机 +tile.machine_solidifier.desc=配备冷却系统和其他多功能工具的通用机器,用于使用冷冻和石化聚合等多种工艺将流体转化为固体。 +tile.machine_spp_bottom.name=ZPE电位发生器 [底部] +tile.machine_spp_top.name=ZPE电位发生器 [顶部] +tile.machine_steam_engine.name=蒸汽机 +tile.machine_steam_engine.desc=效率:85% +tile.machine_stirling.name=斯特林发电机 +tile.machine_stirling.desc=它将热量转化为能量。需要外部热源$传热率:T*0.1 TU/T$最大进气量:300 TU/T$效率:50% +tile.machine_stirling_creative.name=创造斯特林发动机 +tile.machine_stirling_creative.desc=将热量转化为能量。需要外部热源$传热率:T*0.1 TU/T$无限吸热/T$效率:100% +tile.machine_stirling_steel.name=重型斯特林发电机 +tile.machine_stirling_steel.desc=它将热量转化为能量。需要外部热源$使用更重的齿轮来支持更高的温度$传热率:T*0.1 TU/T$最大进气量:1500 TU/T$效率:50% +tile.machine_storage_drum.name=核废料处理桶 +tile.machine_strand_caster.name=连续铸造机 +tile.machine_telelinker.name=炮塔ID管理器 +tile.machine_teleporter.name=传送机 +tile.machine_tower_large.name=冷却塔 +tile.machine_tower_small.name=辅助冷却塔 +tile.machine_transformer.name=10k-20Hz变频器 +tile.machine_transformer_20.name=10k-1Hz变频器 +tile.machine_transformer_dnt.name=DNT-20Hz变频器 +tile.machine_transformer_dnt_20.name=DNT-1Hz变频器 +tile.machine_turbine.name=汽轮机 +tile.machine_turbine.desc=效率: 85%% +tile.machine_turbinegas.name=联合循环燃气轮机 +tile.machine_turbofan.name=涡扇发动机 +tile.machine_uf6_tank.name=六氟化铀储罐 +tile.machine_vacuum_distill.name=真空炼油厂 +tile.machine_waste_drum.name=乏燃料池 +tile.machine_wood_burner.name=火力发电机 +tile.machine_wood_burner.desc=燃烧物品时100HE/t,同时$收集灰烬$可以以40mb/s的速度燃烧流体,效率为50%% +tile.machine_well.name=钻油塔 +tile.machine_zirnox.name=锆诺克斯核反应堆 +tile.marker_structure.name=多方块结构信标 +tile.mass_storage.name=大规模存储单元 +tile.meteor_battery.name=星辉静电发生器 +tile.meteor_brick.name=陨石砖 +tile.meteor_brick_chiseled.name=錾制陨石砖 +tile.meteor_brick_cracked.name=裂纹陨石砖 +tile.meteor_brick_mossy.name=苔藓陨石砖 +tile.meteor_pillar.name=竖纹陨石砖 +tile.meteor_polished.name=平滑陨石块 +tile.meteor_spawner.name=赛博螃蟹组装机 +tile.mine_ap.name=反步兵地雷 +tile.mine_fat.name=核地雷 +tile.mine_he.name=反坦克地雷 +tile.mine_shrap.name=破片地雷 +tile.moon_turf.name=月壤 +tile.mud_block.name=毒泥 +tile.muffler.name=消声器 +tile.mush.name=发光真菌 +tile.ntm_dirt.name=泥土 +tile.nuke_boy.name=小男孩 +tile.nuke_custom.name=自定义核弹 +tile.nuke_fleija.name=F.L.E.I.J.A. +tile.nuke_fstbmb.name=野火炸弹 +tile.nuke_gadget.name=小玩意 +tile.nuke_man.name=胖子 +tile.nuke_mike.name=常春藤迈克 +tile.nuke_n2.name=N2炸弹 +tile.nuke_n45.name=N45水雷 +tile.nuke_prototype.name=原型 +tile.nuke_solinium.name=蔚蓝洗礼 +tile.nuke_tsar.name=沙皇炸弹 +tile.oil_duct.name=输油管 +tile.oil_duct_solid.name=粗输油管 +tile.oil_pipe.name=原油抽取管 +tile.oil_spill.name=泄漏的原油 +tile.ore_alexandrite.name=亚历山大变石矿 +tile.ore_aluminium.name=铝矿石 +tile.ore_asbestos.name=石棉矿 +tile.ore_australium.name=奥斯矿石 +tile.ore_basalt_asbestos.name=富含石棉的玄武岩 +tile.ore_basalt_fluorite.name=富含氟石的玄武岩 +tile.ore_basalt_gem.name=富含宝石的玄武岩 +tile.ore_basalt_molysite.name=富含氯化铁的玄武岩 +tile.ore_basalt_sulfur.name=富含硫的玄武岩 +tile.ore_bedrock.name=基岩矿石 +tile.ore_bedrock_coltan.name=基岩钶钽铁矿 +tile.ore_bedrock_oil.name=基岩油层 +tile.ore_beryllium.name=铍矿石 +tile.ore_cinnebar.name=朱砂矿石 +tile.ore_coal_oil.name=含油煤矿石 +tile.ore_coal_oil_burning.name=燃烧的含油煤矿石 +tile.ore_cobalt.name=钴矿石 +tile.ore_coltan.name=钶钽铁矿 +tile.ore_copper.name=铜矿石 +tile.ore_daffergon.name=达夫贡矿石 +tile.ore_depth_borax.name=深层硼砂矿 +tile.ore_depth_cinnebar.name=深层朱砂矿石 +tile.ore_depth_nether_neodymium.name=深层钕矿石 +tile.ore_depth_zirconium.name=深层锆矿石 +tile.ore_fluorite.name=氟石矿石 +tile.ore_gneiss_asbestos.name=石棉矿页岩 +tile.ore_gneiss_copper.name=铜矿页岩 +tile.ore_gneiss_gas.name=气页岩 +tile.ore_gneiss_gold.name=金矿页岩 +tile.ore_gneiss_iron.name=铁矿页岩 +tile.ore_gneiss_lithium.name=锂矿页岩 +tile.ore_gneiss_rare.name=稀土矿页岩 +tile.ore_gneiss_schrabidium.name=Sa326矿页岩 +tile.ore_gneiss_uranium.name=铀矿页岩 +tile.ore_gneiss_uranium_scorched.name=烧焦的铀矿页岩 +tile.ore_lead.name=铅矿石 +tile.ore_lignite.name=褐煤矿石 +tile.ore_meteor.aluminium.name=铝矿陨石 +tile.ore_meteor.cobalt.name=钴矿陨石 +tile.ore_meteor.copper.name=铜矿陨石 +tile.ore_meteor.iron.name=铁矿陨石 +tile.ore_meteor.rareearth.name=稀土矿陨石 +tile.ore_meteor_aluminium.name=铝矿陨石 +tile.ore_meteor_copper.name=铜矿陨石 +tile.ore_meteor_lead.name=铅矿陨石 +tile.ore_meteor_lithium.name=锂矿陨石 +tile.ore_meteor_starmetal.name=星辉矿陨石 +tile.ore_meteor_sulfur.name=硫磺矿陨石 +tile.ore_meteor_thorium.name=钍矿陨石 +tile.ore_meteor_titanium.name=钛矿陨石 +tile.ore_meteor_tungsten.name=钨矿陨石 +tile.ore_meteor_uranium.name=铀矿陨石 +tile.ore_nether_coal.name=燃烧下界煤矿 +tile.ore_nether_cobalt.name=下界钴矿石 +tile.ore_nether_fire.name=磷矿石 +tile.ore_nether_plutonium.name=下界钚矿石 +tile.ore_nether_schrabidium.name=下界Sa326矿石 +tile.ore_nether_smoldering.name=阴燃下界岩 +tile.ore_nether_sulfur.name=下界硫磺矿石 +tile.ore_nether_tungsten.name=下界钨矿石 +tile.ore_nether_uranium.name=下界铀矿石 +tile.ore_nether_uranium_scorched.name=烧焦的下界铀矿石 +tile.ore_niter.name=硝石矿石 +tile.ore_oil.name=油岩 +tile.ore_oil_empty.name=空油岩 +tile.ore_oil_sand.name=沥青砂 +tile.ore_random.name=%s 矿 +tile.ore_rare.name=稀土矿石 +tile.ore_reiium.name=雷恩矿石 +tile.ore_schrabidium.name=Sa326矿石 +tile.ore_sellafield_diamond.name=放射性熔融钻石矿 +tile.ore_sellafield_emerald.name=放射性熔融绿宝石矿 +tile.ore_sellafield_radgem.name=富含宝石的放射性熔融物 +tile.ore_sellafield_schrabidium.name=放射性熔融Sa326矿石 +tile.ore_sellafield_uranium_scorched.name=放射性熔融烧焦铀矿 +tile.ore_sulfur.name=硫磺矿石 +tile.ore_tektite_osmiridium.name=渗锇熔融石 +tile.ore_thorium.name=钍矿石 +tile.ore_tikite.name=赛瑞克矿石 +tile.ore_titanium.name=钛矿石 +tile.ore_tungsten.name=钨矿石 +tile.ore_unobtainium.name=难得素矿石 +tile.ore_uranium.name=铀矿石 +tile.ore_uranium_scorched.name=烧焦的铀矿石 +tile.ore_verticium.name=韦德赛矿石 +tile.ore_volcano.name=地热裂缝 +tile.ore_weidanium.name=魏丹矿石 +tile.pa_beamline.name=束流管 +tile.pa_detector.name=粒子探测器 +tile.pa_dipole.name=双极磁铁 +tile.pa_quadrupole.name=四极磁铁 +tile.pa_rfc.name=射频腔 +tile.pa_source.name=粒子源 +tile.part_emitter.name=装饰性粒子发射器 +tile.pedestal.name=物品基座 +tile.pink_barrel.name=煤油桶 +tile.pink_log.name=粉色原木 +tile.pink_planks.name=粉色木板 +tile.pink_slab.name=粉色木半砖 +tile.pink_stairs.name=粉色木台阶 +tile.piston_inserter.name=插入器 +tile.piston_inserter.desc=可以使用自动化接收一件物品$使用红石,它会将物品插入钻孔石墨中$钻孔石墨的物品都会被推出一格$插入器与钻孔石墨之间需要有一格空气 +tile.plant_dead.name=死亡植物 +tile.plant_flower.cd0.name=芥子柳 +tile.plant_flower.cd1.name=芥子柳 +tile.plant_flower.foxglove.name=毛地黄 +tile.plant_flower.nightshade.name=颠茄 +tile.plant_flower.tobacco.name=烟草 +tile.plant_flower.weed.name=大麻 +tile.plant_reeds.name=芦苇 +tile.plant_tall.cd2.name=芥子柳 +tile.plant_tall.cd3.name=芥子柳 +tile.plant_tall.cd4.name=芥子柳(成熟) +tile.plant_tall.weed.name=大麻 +tile.plasma.name=等离子 +tile.plasma_heater.name=等离子加热器 +tile.plushie.name=%s布娃娃 +tile.pole_satellite_receiver.name=卫星天线 +tile.pole_top.name=天线顶部 +tile.press_preheater.name=锻压机压力预热器 +tile.pribris.name=RBMK石墨式反应堆残骸 +tile.pribris_burning.name=燃烧的RBMK反应堆残骸 +tile.pribris_digamma.name=发黑的RBMK反应堆残骸 +tile.pribris_radiating.name=阴燃的RBMK反应堆残骸 +tile.pump_electric.name=电动地下水泵 +tile.pump_electric.desc=用电力抽取地下水$产水量高达10000mB/t$需要放置在Y:70以下 +tile.pump_steam.name=蒸汽动力地下水泵 +tile.pump_steam.desc=使用蒸汽抽取地下水$产水量高达1000mB/t$需要放置在Y:70以下 +tile.pwr_block.name=PWR压水反应堆 +tile.pwr_casing.name=PWR压力容器 +tile.pwr_casing.desc=需要覆盖反应堆的所有内部零件以形成$位置:外壳 +tile.pwr_channel.name=PWR冷却剂通道 +tile.pwr_channel.desc=传导热量以加热冷却剂$位置:任意 +tile.pwr_control.name=PWR控制棒 +tile.pwr_control.desc=允许控制连接的燃料棒$放置:各燃料棒连线网格之间 +tile.pwr_controller.name=PWR控制器 +tile.pwr_controller.desc=PWR的接入终端$位置:外壳,每个反应堆只要一个$右键单击以组装反应堆 +tile.pwr_fuel.name=PWR燃料棒 +tile.pwr_fuel.desc=增加压水堆燃料容量$位置:网格,用于增加反应效率 +tile.pwr_heatex.name=PWR换热器 +tile.pwr_heatex.desc=将核心热量转移到外壳$位置:任意 +tile.pwr_heatsink.name=PWR热容器 +tile.pwr_heatsink.desc=增加5%%的核心热容$略微降低冷却剂通道和换热器的效率$位置:任意 +tile.pwr_neutron_source.name=PWR中子源 +tile.pwr_neutron_source.desc=向堆芯添加20个中子通量$位置:任意$中子通量只有在连接打开时才能到达燃料棒 +tile.pwr_port.name=PWR接入端口 +tile.pwr_port.desc=允许物品和液体交换$位置:组件 +tile.pwr_reflector.name=PWR中子反射器 +tile.pwr_reflector.desc=将中子通量反射回燃料棒$位置:网格,用于增加反应速率$可作为外壳材料 +tile.rad_lava_block.name=放射性火山熔岩 +tile.radar_screen.name=雷达显示屏 +tile.radio_telex.name=电报机 +tile.radio_torch_counter.name=无线红石物品计数器 +tile.radio_torch_counter.desc=可在平坦表面或与比较器兼容的方块上放置$根据匹配物品的数量发出信号 +tile.radio_torch_logic.name=无线红石逻辑接收器 +tile.radio_torch_logic.desc=可在平坦表面或与比较器兼容的方块上放置$将红石信号与条件一一对应,并按照设定的顺序检测$输入的数值或字符串会与常量进行比较 +tile.radio_torch_receiver.name=无线红石信号接收器 +tile.radio_torch_receiver.desc=可在平坦表面或与比较器兼容的方块上放置 +tile.radio_torch_sender.name=无线红石信号发射器 +tile.radio_torch_sender.desc=可在平坦表面或比较器兼容的方块上放置$读取红石信号或比较器输入 +tile.radiobox.name=无线怪物清除箱 +tile.radiorec.name=坏掉的收音机 +tile.rail_booster.name=高速动力轨道 +tile.rail_highspeed.name=高速轨道 +tile.rail_large_buffer.name=标准轨距缓冲停止轨道(5m) +tile.rail_large_curve.name=标准轨距弯曲轨道(5m) +tile.rail_large_curve_7.name=标准轨距弯曲轨道(7m) +tile.rail_large_curve_9.name=标准轨距弯曲轨道(9m) +tile.rail_large_ramp.name=标准轨距坡道铁轨(5m) +tile.rail_large_straight.name=标准轨距铁轨(5m) +tile.rail_large_straight_short.name=标准轨距铁轨(1m) +tile.rail_large_switch.name=标准轨距铁路道岔(15m 左转) +tile.rail_large_switch_flipped.name=标准轨距铁路道岔(15m 右转) +tile.rail_narrow.name=窄轨距轨道 +tile.rail_wood.name=木制轨道 +tile.rbmk_absorber.name=RBMK反应堆硼中子吸收器 +tile.rbmk_blank.name=RBMK反应堆结构柱 +tile.rbmk_boiler.name=RBMK反应堆蒸汽管道 +tile.rbmk_console.name=RBMK石墨式反应堆控制台 +tile.rbmk_cooler.name=RBMK冷却器 +tile.rbmk_control.name=RBMK反应堆控制棒 +tile.rbmk_control_auto.name=RBMK反应堆自动控制棒 +tile.rbmk_control_mod.name=RBMK反应堆慢化控制棒 +tile.rbmk_crane_console.name=RBMK起重机控制台 +tile.rbmk_heater.name=RBMK流体加热器 +tile.rbmk_heatex.name=RBMK换热器 +tile.rbmk_loader.name=RBMK反应堆蒸汽导出器 +tile.rbmk_loader.desc=让RBMK反应堆在底部同时拥有水接口和蒸汽接口$在RBMK蒸汽管道下方放置水管道,再在下面放置蒸汽导出器$最后将管道连接至蒸汽导出器即可 +tile.rbmk_moderator.name=RBMK反应堆石墨慢化剂 +tile.rbmk_outgasser.name=RBMK反应堆辐照通道 +tile.rbmk_reflector.name=RBMK反应堆碳化钨中子反射器 +tile.rbmk_rod.name=RBMK反应堆燃料棒 +tile.rbmk_rod_mod.name=RBMK反应堆慢化燃料棒 +tile.rbmk_rod_reasim.name=RBMK反应堆燃料棒(ReaSim) +tile.rbmk_rod_reasim_mod.name=RBMK反应堆慢化燃料棒(ReaSim) +tile.rbmk_steam_inlet.name=RBMK ReaSim进水口 +tile.rbmk_steam_inlet.desc=当启用ReaSim锅炉时向反应堆内输入水$从侧面连接至反应堆结构 +tile.rbmk_steam_outlet.name=RBMK ReaSim蒸汽出口 +tile.rbmk_steam_outlet.desc=当启用ReaSim锅炉时从反应堆内输出超热蒸汽$从侧面连接至反应堆结构 +tile.rbmk_storage.name=RBMK燃料棒存储棒 +tile.reactor_computer.name=反应堆控制器 +tile.reactor_conductor.name=反应堆锅炉 +tile.reactor_control.name=控制棒 +tile.reactor_ejector.name=反应堆废料排出器 +tile.reactor_element.name=反应堆室 +tile.reactor_hatch.name=反应堆端口 +tile.reactor_inserter.name=反应堆燃料插入器 +tile.red_barrel.name=炸药桶 +tile.red_cable.name=紫铜电线 +tile.red_cable_classic.name=紫铜电缆(经典型) +tile.red_cable_gauge.name=功率计 +tile.red_cable_gauge.desc=显示每刻在网络中流动的电力$的电缆$由储能方块连接的拆分网络被视为一个共享网络。 +tile.red_cable_paintable.name=可涂漆紫铜线 +tile.red_connector.name=电力连接器 +tile.red_pylon.name=电线杆 +tile.red_pylon_large.name=大型输电塔 +tile.red_pylon_medium_steel.name=中型钢制电线杆 +tile.red_pylon_medium_steel_transformer.name=中型钢制电线杆(带变压器) +tile.red_pylon_medium_wood.name=中型木制电线杆 +tile.red_pylon_medium_wood_transformer.name=中型木制电线杆(带变压器) +tile.red_wire_coated.name=密封紫铜电缆 +tile.reinforced_brick.name=强化石头 +tile.reinforced_brick_stairs.name=强化石头楼梯 +tile.reinforced_ducrete.name=加固高密度贫铀混凝土 +tile.reinforced_glass.name=强化玻璃 +tile.reinforced_glass_pane.name=强化玻璃窗 +tile.reinforced_lamp_off.name=强化红石灯 +tile.reinforced_lamp_on.name=强化红石灯 +tile.reinforced_light.name=强化萤石 +tile.reinforced_sand.name=强化砂石 +tile.reinforced_stone.name=致密石头 +tile.reinforced_stone_stairs.name=致密石头楼梯 +tile.reinforced_laminate.name=强化夹层玻璃 +tile.reinforced_laminate_pane.name=强化夹层隔板 +tile.rejuvinator.name=再生装置 +tile.residue.name=云残留 +tile.safe.name=保险箱 +tile.sand_boron.name=硼沙 +tile.sand_boron_layer.name=硼沙层 +tile.sand_dirty.name=油砂 +tile.sand_dirty_red.name=红色油砂 +tile.sand_gold.name=金沙 +tile.sand_gold198.name=金-198沙 +tile.sand_lead.name=铅沙 +tile.sand_polonium.name=钋沙 +tile.sand_quartz.name=石英沙 +tile.sand_uranium.name=铀沙 +tile.sat_dock.name=卸货平台 +tile.sat_foeq.name=实验型核能PEAF-Mk.I FOEQ Duna探测器[装饰块] +tile.sat_laser.name=轨道死光炮[装饰块] +tile.sat_mapper.name=地表测绘卫星[装饰块] +tile.sat_radar.name=雷达探测卫星[装饰块] +tile.sat_resonator.name=X晶体共振卫星[装饰块] +tile.sat_scanner.name=绘测和资源探测卫星[装饰块] +tile.schrabidic_block.name=Sa酸 +tile.seal_controller.name=发射井舱门开关 +tile.seal_frame.name=发射井舱门框架 +tile.seal_hatch.name=发射井舱门 +tile.sellafield.0.name=放射性熔融凝固物 +tile.sellafield.1.name=高温放射性熔融凝固物 +tile.sellafield.2.name=沸腾的放射性熔融凝固物 +tile.sellafield.3.name=灼热的放射性熔融凝固物 +tile.sellafield.4.name=地狱般的放射性熔融凝固物 +tile.sellafield.5.name=放射性熔融凝固物核心 +tile.sellafield_bedrock.name=放射性熔融凝固基岩 +tile.sellafield_slaked.name=消沉的放射性熔融凝固物 +tile.semtex.name=塞姆汀塑胶炸药 +tile.silo_hatch.name=发射井舱门 +tile.silo_hatch_large.name=大型发射井舱门 +tile.sliding_blast_door.name=滑动防爆门 +tile.solar_mirror.name=定日镜 +tile.soyuz_capsule.name=货物着陆舱 +tile.soyuz_launcher.name=联盟号发射平台 +tile.spikes.name=地刺 +tile.snowglobe.name=雪景球 +tile.spotlight_incandescent.name=罩灯 +tile.spotlight_fluoro.name=荧光灯 +tile.spotlight_halogen.name=卤素泛光灯 +tile.stalactite.asbestos.name=石棉钟乳石 +tile.stalactite.sulfur.name=含硫钟乳石 +tile.stalagmite.asbestos.name=石棉石笋 +tile.stalagmite.sulfur.name=含硫石笋 +tile.steel_beam.name=钢梁 +tile.steel_corner.name=钢墙角 +tile.steel_grate.name=钢格栅 +tile.steel_grate_wide.name=物品格栅 +tile.steel_grate_wide.desc=只会让物品和经验球掉落下去 +tile.steel_poles.name=钢杆 +tile.steel_roof.name=钢天花顶 +tile.steel_scaffold.name=钢脚手架 +tile.steel_wall.name=钢墙 +tile.stone_cracked.name=破碎的石头 +tile.stone_depth.name=深层岩石 +tile.stone_depth_nether.name=下界深层岩石 +tile.stone_gneiss.name=石墨页岩 +tile.stone_keyhole.name=奇怪的石头 +tile.stone_keyhole_meta.name=奇怪的红房间砖块 +tile.stone_porous.name=多孔石 +tile.stone_resource.asbestos.name=温石棉 +tile.stone_resource.bauxite.name=铝土矿 +tile.stone_resource.hematite.name=赤铁矿 +tile.stone_resource.limestone.name=石灰石 +tile.stone_resource.malachite.name=孔雀石 +tile.stone_resource.sulfur.name=硫磺石 +tile.struct_icf_core.name=ICF反应堆核心组件 +tile.struct_iter_core.name=聚变反应堆核心组件 +tile.struct_launcher.name=发射台部件 +tile.struct_launcher_core.name=紧凑型发射台核心组件 +tile.struct_launcher_core_large.name=发射台核心组件 +tile.struct_plasma_core.name=等离子加热器核心组件 +tile.struct_scaffold.name=发射台骨架 +tile.struct_soyuz_core.name=联盟号发射器核心组件 +tile.struct_watz_core.name=Watz发电厂核心组件 +tile.substation.name=变电站 +tile.sulfuric_acid_block.name=硫酸 +tile.taint.name=腐质 +tile.taint_barrel.name=IMP残渣桶 +tile.tape_recorder.name=录音机 +tile.tektite.name=熔融石 +tile.teleanchor.name=传送锚 +tile.tesla.name=特斯拉线圈 +tile.test_nuke.name=测试核弹 +tile.therm_endo.name=吸热炸弹 +tile.therm_exo.name=放热炸弹 +tile.tile_lab.name=实验室瓷砖 +tile.tile_lab_broken.name=破损实验室瓷砖 +tile.tile_lab_cracked.name=开裂实验室瓷砖 +tile.tnt_ntm.name=货真价实的TNT +tile.toxic_block.name=绿色软泥 +tile.transition_seal.name=巨型安全门 +tile.turret_arty.name=重炮炮塔“格雷格” +tile.turret_cheapo.name=奇普-加特林哨兵 +tile.turret_chekhov.name=重机枪炮塔“契诃夫的枪” +tile.turret_cwis.name=Mk-15“密集阵”近防系统 +tile.turret_flamer.name=喷火炮塔 +tile.turret_friendly.name=轻机枪炮塔“友好先生” +tile.turret_fritz.name=重型火焰喷射器炮塔“弗里茨” +tile.turret_heavy.name=重型机枪炮塔 +tile.turret_himars.name=火箭炮塔“亨利” +tile.turret_howard.name=双联守门员近防系统“霍华德” +tile.turret_howard_damaged.name=CIWS双联守门员近防系统 “玛士撒拉” +tile.turret_jeremy.name=重炮炮塔“杰里米” +tile.turret_light.name=轻型机枪炮塔 +tile.turret_maxwell.name=高能微波炮塔 “麦克斯韦” +tile.turret_rocket.name=火箭炮塔 +tile.turret_richard.name=火箭炮塔“理查德” +tile.turret_spitfire.name=目前没有名字[开发中] +tile.turret_sentry.name=哨兵炮塔“布朗” +tile.turret_sentry_damaged.name=哨兵炮塔“埃德温” +tile.turret_tau.name=陶子炮塔 +tile.turret_tauon.name=XVL1456原型陶子发射器炮塔“陶恩” +tile.vacuum.name=真空 +tile.vault_door.name=避难所防爆门 +tile.vent_chlorine.name=氯气排气口 +tile.vent_chlorine_seal.name=氯气容器 +tile.vent_cloud.name=云排气口 +tile.vent_pink_cloud.name=粉雾排气口 +tile.vinyl_tile.large.name=大型乙烯基瓷砖 +tile.vinyl_tile.small.name=小型乙烯基瓷砖 +tile.vitrified_barrel.name=玻璃化核废料桶 +tile.volcanic_lava_block.name=火山熔岩 +tile.volcano_core.name=火山核心 +tile.volcano_rad_core.name=放射性火山核心 +tile.waste_earth.name=死亡草地 +tile.waste_leaves.name=枯叶 +tile.waste_log.name=烧焦原木 +tile.waste_mycelium.name=发光菌丝 +tile.waste_planks.name=烧焦木板 +tile.waste_trinitite.name=核融玻璃矿石 +tile.waste_trinitite_red.name=红色核融玻璃矿石 +tile.watz.name=Watz发电厂 +tile.watz_conductor.name=Watz电力端口 +tile.watz_control.name=加强控制棒 +tile.watz_cooler.name=Watz反应堆高效冷却器 +tile.watz_core.name=Watz反应堆控制器 +tile.watz_element.name=Watz反应室 +tile.watz_end.name=Watz反应堆稳定元件 +tile.watz_end_bolted.name=Watz反应堆稳定元件(铆接) +tile.watz_hatch.name=Watz反应堆端口 +tile.watz_pump.name=Watz压力泵 +tile.yellow_barrel.name=核废料桶 +tile.zirnox_destroyed.name=损毁的ZIRNOX +tile.large_vehicle_door.name=大型机械门 +tile.water_door.name=水闸门 +tile.qe_containment.name=QE安全门 +tile.qe_sliding_door.name=QE滑动门 +tile.round_airlock_door.name=圆形气闸门 +tile.secure_access_door.name=安全检修门 +tile.sliding_seal_door.name=滑动密封门 +trait.asbestos=石棉 +trait.blinding=致盲 +trait.coal=煤尘 +trait.digamma=迪伽马辐射 +trait.drop=掉落物危险 +trait.explosive=高度易燃/易爆 +trait.furnace=可在核熔炉中工作 %s 次 +trait.heat=提供 %s 热量 +trait.hlParticle=粒子半衰期: %s +trait.hlPlayer=玩家半衰期: %s +trait.hot=自燃/高温 +trait.hydro=与水反应 +trait.radioactive=放射性 +trait.radResistance=辐射抗性: %s +trait.rbmk.coreTemp=核心温度: %s +trait.rbmk.depletion=燃料消耗: %s +trait.rbmk.diffusion=扩散度: %s +trait.rbmk.fluxFunc=中子放射函数: %s +trait.rbmk.funcType=中子放射函数类型: %s +trait.rbmk.heat=每接受一个中子产生的热量: %s +trait.rbmk.melt=熔点: %s +trait.rbmk.neutron.any=所有中子 +trait.rbmk.neutron.fast=快中子 +trait.rbmk.neutron.slow=慢中子 +trait.rbmk.skinTemp=表面温度: %s +trait.rbmk.source=自燃 +trait.rbmk.splitsInto=裂变后释放出: %s +trait.rbmk.splitsWith=裂变需要: %s +trait.rbmk.xenon=氙元素堆积程度: %s +trait.rbmk.xenonBurn=氙元素燃烧函数: %s +trait.rbmk.xenonGen=氙元素产生函数: %s +trait.rbmx.coreTemp=核心熵: %s +trait.rbmx.depletion=衰变: %s +trait.rbmx.diffusion=能量潮涌: %s +trait.rbmx.fluxFunc=F迪伽马粒子放射函数: %s +trait.rbmx.funcType=F迪伽马粒子放射函数类型: %s +trait.rbmx.heat=满功率下每刻产生的热量: %s +trait.rbmx.melt=崩溃深度: %s +trait.rbmk.neutron.any.x=所有非欧几里德形时空平面 +trait.rbmk.neutron.fast.x=椭圆非欧几里德形时空平面 +trait.rbmk.neutron.slow.x=双曲非欧几里德形时空平面 +trait.rbmx.skinTemp=表面熵: %s +trait.rbmx.source=自燃 +trait.rbmx.splitsInto=释放: %s +trait.rbmx.splitsWith=接受: %s +trait.rbmx.xenon=铅元素堆积程度: %s +trait.rbmx.xenonBurn=铅元素寂灭函数: %s +trait.rbmx.xenonGen=铅元素产生函数: %s +trait.tile.cluster=只有在被玩家破坏时才会掉落 +trait.tile.depth=只能被爆炸破坏 +tool.ability.centrifuge=自动离心 +tool.ability.crystallizer=自动结晶 +tool.ability.explosion=爆破 +tool.ability.hammer=范围挖掘 +tool.ability.luck=时运 +tool.ability.mercury=水银提取 +tool.ability.midas=点石成金 +tool.ability.recursion=连锁挖矿 +tool.ability.shredder=自动粉碎 +tool.ability.silktouch=精准采集 +tool.ability.smelter=自动熔炼 +turret.animals=被动目标:%s +turret.arty.artillery=§e火炮模式$最低射程: 250m$最大射程: 3,000m +turret.arty.cannon=§e炮塔模式$最低射程: 32m$射程: 250m +turret.arty.manual=§e手动模式$射程: 3,000m +turret.machines=以机械为目标: %s +turret.mobs=以怪物为目标: %s +turret.none=无 +turret.off=关 +turret.on=开 +turret.players=以玩家为目标:%s +upgrade.acid=流体需求量 %s +upgrade.burn=燃烧内部天然气 %smB/t,产能 %sHE/t +upgrade.consumption=消耗 %s +upgrade.coolantConsumption=冷却剂消耗 %s +upgrade.delay=工作时间 %s +upgrade.efficiency=效率 %s +upgrade.fortune=时运 %s +upgrade.overheatChance=过热几率 %s +upgrade.range=范围 %s +upgrade.gui.title=§l接受的升级:§r +upgrade.gui.afterburner=* §d加力燃烧§r:叠加至%s级 +upgrade.gui.effectiveness=* §a效率§r:叠加至%s级 +upgrade.gui.overdrive=* §7超速传动§r:叠加至%s级 +upgrade.gui.power=* §9节能§r:叠加至%s级 +upgrade.gui.speed=* §4速度§r:叠加至%s级 +wavelengths.name.ir=红外线 +wavelengths.name.visible=可见光 +wavelengths.name.uv=紫外线 +wavelengths.name.gamma=伽马射线 +wavelengths.name.drx=迪伽玛 +wavelengths.waveRange.ir=780nm-1mm +wavelengths.waveRange.visible=400nm-780nm +wavelengths.waveRange.uv=100nm-400nm +wavelengths.waveRange.gamma=<100pm +wavelengths.waveRange.drx=1916169普朗克长度 +weapon.ability.beheader=斩首 +weapon.ability.bobble=收藏家之运 +weapon.ability.chainsaw=痛苦面“锯” +weapon.ability.fire=燃烧 +weapon.ability.radiation=辐射 +weapon.ability.phosphorus=白磷刀刃 +weapon.ability.stun=震撼 +weapon.ability.vampire=吸血 +weapon.elecGun.modeChange=开火模式更改为: +weapon.elecGun.glass_cannon.radio=无线电波 +weapon.elecGun.glass_cannon.micro=微波 +weapon.elecGun.glass_cannon.ir=红外线 +weapon.elecGun.glass_cannon.visible=可见光 +weapon.elecGun.glass_cannon.uv=紫外线 +weapon.elecGun.glass_cannon.xray=X射线 +weapon.elecGun.glass_cannon.gamma=伽马射线 +desc.gui.upgrade=§l可接受的升级:§r +desc.gui.upgrade.afterburner=*§d加力燃烧§r:堆叠至3级 +desc.gui.upgrade.effectiveness=*§a效率§r:堆叠至3级 +desc.gui.upgrade.overdrive=*§7超速§r:堆叠至3级 +desc.gui.upgrade.power=*§1节能§r:堆叠至3级 +desc.gui.upgrade.speed=*§4速度§r:堆叠至3级 +container.paDetector=粒子探测器 +container.paDipole=双极磁铁 +container.paQuadrupole=四极磁铁 +container.paSource=粒子源 +hbmfluid.alumina=氧化铝溶液 +hbmfluid.bauxite_solution=铝土矿溶液 +hbmfluid.lye=碱液 +hbmfluid.sodium_aluminate=偏铝酸钠溶液 +hbmmat.bauxite=铝土矿 +hbmmat.cryolite=冰晶石 +item.chunk_ore.cryolite.name=冰晶石块 +item.pa_coil.chlorophyte.name=大型叶绿线圈 +pa.idle.desc=空闲 +pa.running.desc=正在运行 +pa.success.desc=成功 +pa.pause_unloaded.desc=粒子进入了未加载的区块。$在粒子与粒子源均被加载前,运行将暂停。 +pa.crash_defocus.desc=粒子失焦。$请确保加速器含有足够数量的四极磁铁。 +pa.crash_derail.desc=粒子离开加速器。$请确保加速器未缺失部件,$且所有双极磁铁均正确配置。 +pa.crash_cannot_enter.desc=粒子尝试进入加速器某部件时失败。$请确保所有部件朝向正确。 +pa.crash_nocool.desc=粒子进入了未冷却的加速器部件。$请确保所有需冷却的部件正常连接,且内部含有冷四氟甲烷。 +pa.crash_nopower.desc=粒子进入了未供能的加速器部件。$请确保所有部件均接受供电且供电充足。 +pa.crash_nocoil.desc=粒子进入了缺少线圈的双极磁铁或四极磁铁。$请安装线圈,以使上述部件正常工作。 +pa.crash_overspeed.desc=粒子进入某双极磁铁或四极磁铁时,$其速度超出了内部线圈接受的最大速度。$请安装更高等级的线圈,$或调整双极磁铁设定以使粒子提前离开加速区域。 +tile.pa_beamline.desc=可选部件,用于连接不同加速器部件$也可用于低成本地扩大粒子加速器尺寸,以达到双极磁铁的尺寸需求 +tile.pa_detector.desc=需要冷却!$接收粒子并进行配方$配方可能需要容器(粒子胶囊)$粒子的失焦程度需要为0才能被接收 +tile.pa_dipole.desc=需要冷却!$根据粒子动量使其转向$具有“低于阈值”、“高于阈值”、$“高于阈值且收到红石信号”三种设置$需要大型线圈才能工作 +tile.pa_quadrupole.desc=需要冷却!$使粒子失焦程度减少100$需要大型线圈才能工作 +tile.pa_rfc.desc=需要冷却!$使粒子动量增加100,并使粒子失焦程度增加100$粒子失焦程度到达1000时会坍毁 +tile.pa_source.desc=需要冷却!$使用两个物品来创造一个粒子 +item.ammo_secret.p35_800.name=.35-800 V9 +item.bobmazon.name=鲍马逊 +item.gun_aberrator.name=离散者 +item.gun_aberrator_eott.name=暴风之眼 +pa.crash_norecipe=没有配方! +pa.crash_norecipe.desc=粒子进入了检测器,但输入的粒子不与任何配方匹配。$请确保向粒子源输入的粒子符合正确的配方。 +pa.crash_underspeed=粒子速度过低! +pa.crash_underspeed.desc=粒子进入了检测器,但其速度不足以进行此配方。$请确保加速器已为该配方正确配置。 +tile.deco_loot.name=战利品堆 +tile.refueler.name=燃料装填站 +tile.wand_air.name=结构魔杖方块(空气) +tile.wand_loot.name=结构魔杖方块(战利品) +tile.wand_jigsaw.name=结构魔杖方块(拼图) +container.toolBox=工具箱 +container.weaponsTable=武器改装台 +item.ammo_standard.bmg50_he.name=.50BMG子弹 (高爆弹药) +item.ammo_standard.g10_explosive.name=十号爆炸霰弹 +item.ammo_standard.p45_ap.name=.45口径子弹(穿甲弹) +item.ammo_standard.p45_du.name=.45口径子弹(贫铀弹) +item.ammo_standard.p45_fmj.name=.45口径子弹(金属被甲弹) +item.ammo_standard.p45_jhp.name=.45口径子弹(被甲空尖弹) +item.ammo_standard.p45_sp.name=.45口径子弹(普通弹) +item.ammo_standard.r762_he.name=7.62mm子弹(高爆弹药) +item.conveyor_wand.regular.name=输送带 +item.conveyor_wand.express.name=快速输送带 +item.conveyor_wand.double.name=双轨道输送带 +item.conveyor_wand.triple.name=三轨道输送带 +item.conveyor_wand.desc=运送掉落在上面的物品$右键单击任意两点创建传送带$蹲下单击右键单独放置传送带$使用螺丝刀可以改变方向$蹲下右键单击可以改变类型 +item.conveyor_wand.vertical.desc=能放置垂直输送带或者滑槽来垂直输送物品 +item.gun_g3_a3.name=G3A3 +item.gun_g3_infiltrator.name=渗透者 +item.gun_greasegun_m3.name=M3 +item.gun_heavy_revolver_scoped.name=带有准镜的.44马格南转轮手枪 +item.gun_henry_lincoln.name=林肯的中继器 +item.gun_maresleg_short.name=马腿 +item.gun_mas36.name=南方之星 +item.gun_uzi_richter.name=里氏 +item.item_secret.aberrator.name=畸变部件 +item.toolbox.name=工具箱 +item.toolbox_legacy.name=工具箱(遗留) +item.weapon_mod_caliber.bmg50.name=.50BMG改装套件 +item.weapon_mod_caliber.m357.name=.357马格南改装套件 +item.weapon_mod_caliber.m44.name=.44马格南改装套件 +item.weapon_mod_caliber.p22.name=.22LR改装套件 +item.weapon_mod_caliber.p45.name=.45口径改装套件 +item.weapon_mod_caliber.p9.name=9毫米口径改装套件 +item.weapon_mod_caliber.r556.name=5.56mm改装套件 +item.weapon_mod_caliber.r762.name=7.62改装套件 +item.weapon_mod_generic.bigmt_damage.name=土星弹道优化器 +item.weapon_mod_generic.bigmt_dura.name=高耐用性土星部件 +item.weapon_mod_generic.bronze_damage.name=青铜弹道优化器 +item.weapon_mod_generic.bronze_dura.name=高耐用性青铜部件 +item.weapon_mod_generic.desh_damage.name=Desh弹道优化器 +item.weapon_mod_generic.desh_dura.name=高耐用性Desh部件 +item.weapon_mod_generic.dura_damage.name=高速钢弹道优化器 +item.weapon_mod_generic.dura_dura.name=高耐用性高速钢部件 +item.weapon_mod_generic.ferro_damage.name=铀铁合金弹道优化器 +item.weapon_mod_generic.ferro_dura.name=高耐用性铀铁合金部件 +item.weapon_mod_generic.iron_damage.name=铁制弹道优化器 +item.weapon_mod_generic.iron_dura.name=高耐用性铁制部件 +item.weapon_mod_generic.steel_damage.name=钢制弹道优化器 +item.weapon_mod_generic.steel_dura.name=高耐用性钢制部件 +item.weapon_mod_generic.tcalloy_damage.name=耐高温合金弹道优化 +item.weapon_mod_generic.tcalloy_dura.name=高耐用性耐高温合金部件 +item.weapon_mod_generic.wsteel_damage.name=武器级钢弹道优化器 +item.weapon_mod_generic.wsteel_dura.name=高耐用性武器级钢部件 +item.weapon_mod_special.bayonet.name=刺刀 +item.weapon_mod_special.choke.name=收束器 +item.weapon_mod_special.furniture_black.name=聚合物部件(黑色) +item.weapon_mod_special.furniture_green.name=聚合物部件(绿色) +item.weapon_mod_special.greasegun.name=M3黄油枪现代化改装套件 +item.weapon_mod_special.las_auto.name=激光步枪自动机构 +item.weapon_mod_special.las_capacitor.name=激光步枪额外电容器 +item.weapon_mod_special.las_shotgun.name=激光步枪光束散射器 +item.weapon_mod_special.saw.name=钢锯 +item.weapon_mod_special.scope.name=瞄准镜 +item.weapon_mod_special.silencer.name=消音器 +item.weapon_mod_special.skin_saturnite.name=土星外壳 +item.weapon_mod_special.slowdown.name=减速齿轮组 +item.weapon_mod_special.speedloader.name=快速装填器 +item.weapon_mod_special.speedup.name=辅助电动机 +item.weapon_mod_special.stack_mag.name=并联弹匣 +item.weapon_mod_test.damage.name=伤害升级 +item.weapon_mod_test.firerate.name=射速升级 +item.weapon_mod_test.multi.name=多重射击升级 +item.weapon_mod_test.override_2_5.name=伤害覆盖(2.5) +item.weapon_mod_test.override_5.name=伤害覆盖(5) +item.weapon_mod_test.override_7_5.name=伤害覆盖(7.5) +item.weapon_mod_test.override_10.name=伤害覆盖(10) +item.weapon_mod_test.override_12_5.name=伤害覆盖(12.5) +item.weapon_mod_test.override_15.name=伤害覆盖(15) +item.weapon_mod_test.override_20.name=伤害覆盖(20) +stat.ntmBullets=Rounds Fired +stat.ntmLegendary=Legendary Items Created +stat.ntmMines=Mines Stepped on +tile.deco_rusty_steel.name=锈蚀的钢装饰块 +tile.lightstone.unrefined.name=天然淡色石 +tile.lightstone.tile.name=淡色石瓷砖 +tile.lightstone.bricks.name=淡色石砖 +tile.lightstone.bricks_chiseled.name=錾制淡色石砖 +tile.lightstone.chiseled.name=錾制淡色石 +tile.lightstone_tile_stairs.name=淡色石瓷砖楼梯 +tile.lightstone_bricks_stairs.name=淡色石砖楼梯 +tile.machine_weapon_table.name=武器改装台 +tile.mine_naval.name=水雷 +tile.skeleton_holder.name=哦,那家伙已经死了 +tile.stones_slab.lightstone.1.name=淡色石瓷砖台阶 +tile.stones_slab.lightstone.2.name=淡色石砖块台阶 +upgrade.productivity=生产率 %s +container.pneumoTube=气动物流管道 +hbmfluid.air=压缩空气 +tile.machine_compressor_compact.name=紧凑型压缩机 +tile.machine_intake.name=进气口 +tile.pneumatic_tube.name=气动物流管道 +tile.pneumatic_tube.desc=使用压缩空气来运输物品$使用螺丝刀右键切换为输入$潜行右键则切换为输出$可以配置输入类型并连接到压缩空气$每秒最多发送4组物品 +item.gun_am180_silenced.name=消音.22口径冲锋枪 +item.taurun_boots.name="陶跑"靴子 +item.taurun_helmet.name="陶跑"头盔 +item.taurun_legs.name="陶跑"护腿 +item.taurun_plate.name="陶跑"胸甲 +tile.crate_supply.name=补给箱 +item.gun_laser_pistol.name=激光手枪 +item.gun_laser_pistol_morning_glory.name=牵牛花 +item.gun_laser_pistol_pew_pew.name=散射 +item.ingot_metal.name=金属锭 +item.ingot_metal.bar.name=金属棒 +item.ingot_metal.beacon.name=无线电导航信标 +item.ingot_metal.casing.name=金属外壳 +item.ingot_metal.clockwork.name=发条 +item.ingot_metal.counter.name=计数器 +item.ingot_metal.detector.name=检测器 +item.ingot_metal.ingot.name=金属锭 +item.ingot_metal.key.name=金属钥匙 +item.item_secret.folly.name=“愚蠢”部件 +container.ammoBag=弹药袋 +item.ammo_bag.name=弹药袋 +item.ammo_bag_infinite.name=无限弹药袋 +item.gun_g3_zebra.name=斑马步枪 +container.rttyController=无线红石信号控制器 +container.rttyReader=无线红石信号控制器 +tile.radio_torch_controller.name=无线红石信号控制器 +tile.radio_torch_controller.desc=可以接收信号并将信号传送到与其连接的机器 +tile.radio_torch_reader.name=无线红石信号控制器 +tile.radio_torch_reader.desc=从被连接的块读取数值并以指定的频率发送 +item.ammo_standard.ct_hook.name=抓钩 +item.ammo_standard.ct_mortar.name=炸药包 +item.ammo_standard.ct_mortar_charge.name=重型炸药包 +item.gun_charge_thrower.name=炸药投掷器 +tile.sandbags.name=沙袋 +tile.wood_barrier.name=木制围栏 +item.ammo_standard.nuke_balefire.name=迷你野火炸弹 +item.gun_minigun_dual.name=双联转管机枪 +tile.wood_structure.ceiling.name=木质顶棚 +tile.wood_structure.roof.name=木质地板 +tile.wood_structure.scaffold.name=木质脚手架 +item.gun_amat.name=反器材步枪 +tile.fluid_pump.name=流量控制泵 +tile.vine_phosphor.large.name=磷藤蔓 +item.ammo_secret.bmg50_black.name=.50BMG旁道者弹药 +item.ammo_standard.bmg50_sm.name=.50BMG子弹(星辉) +item.gun_amat_penance.name=忏悔 +item.gun_amat_subtlety.name=明敏 +chem.hydrogen=煤炭提取氢 +chem.hydrogencoke=焦炭提取氢 +chem.oxygen=压缩空气分馏生产液氧 +chem.xenon=林德循环制氙 +chem.xenonoxy=增强林德循环制氙 +chem.helium3=月壤提取氦-3 +chem.ethanol=乙醇生产 +chem.biogas=沼气生产 +chem.biofuel=生物燃料酯化 +chem.reoil=再生油生产 +chem.gasoline=含铅汽油基油生产 +chem.tarsand=沥青砂提取沥青 +chem.meatprocessing=异虫肉处理 +chem.birkeland=伯克兰-艾德法制硝酸 +container.machineChemicalPlant=化工厂 +damage.category.EN=能量 +item.part_generic.glass_polarized.name=偏光镜片 +tile.fan.falloffOn=风扇功率随距离增加而减小 +tile.fan.falloffOff=稳定的风扇功率 +tile.glass_polarized.name=偏光玻璃 +tile.machine_autosaw.suspended=暂停 +tile.machine_chemical_plant.name=化工厂 +hbm.key.ability=循环工具能力 +hbm.key.abilityAlt=配置工具能力 +hbm.key.toggleMagnet=开关磁铁 +upgrade.speed=工作速度 %s +container.machineChemicalFactory=大型化工厂 +item.rangefinder.name=测距仪 +tile.fluid_duct_paintable_block_exhaust.name=可涂漆排气管 +tile.machine_chemical_factory.name=大型化工厂 +tile.machine_chemical_factory.desc=可处理四个配方的化工厂。$配方处理速度更快。$但也需要消耗更多电量。$需要水来运行。$会产生低压蒸汽。 +tool.ability.hammer_flat=平整表面 diff --git a/src/main/resources/assets/hbm/manual/demo.json b/src/main/resources/assets/hbm/manual/demo.json new file mode 100644 index 000000000..f21a54d12 --- /dev/null +++ b/src/main/resources/assets/hbm/manual/demo.json @@ -0,0 +1,7 @@ +{ + "name": "DEMO", + "icon": ["hbm:item.gun_light_revolver", 1, 0], + "content": { + "en_US": "This is a test page that links to [[Demo|DEMO]].\n\nFormat line break" + } +} diff --git a/src/main/resources/assets/hbm/models/BalefireCrashed.obj b/src/main/resources/assets/hbm/models/BalefireCrashed.obj deleted file mode 100644 index 02deea2e4..000000000 --- a/src/main/resources/assets/hbm/models/BalefireCrashed.obj +++ /dev/null @@ -1,690 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'BalefireCrashed.blend' -# www.blender.org -o Sphere -v -0.192358 1.600254 -1.342660 -v -0.385711 1.581224 -1.324975 -v -0.515121 2.447250 -1.807938 -v 0.002518 -3.248903 2.055765 -v 0.082170 -3.153232 2.205975 -v -0.260442 -2.766209 2.233894 -v 0.147114 2.008001 -0.702470 -v 0.215449 1.926895 -0.866215 -v 0.086039 2.792921 -1.349178 -v -0.592517 -2.498903 1.766917 -v -0.398402 -2.931915 1.973723 -v 0.223221 -3.072126 2.313615 -v -0.016133 -2.625729 2.420332 -v 0.209324 1.831224 -1.036127 -v 0.129673 1.735553 -1.186336 -v 0.000262 2.601579 -1.669299 -v -0.433214 -2.307561 2.067336 -v -0.354920 2.062194 -0.470774 -v -0.484330 2.928220 -0.953737 -v -0.665308 2.874027 -1.002420 -v 0.017704 2.874027 -1.185433 -v -0.114686 2.928220 -1.052783 -v 0.297331 -2.531864 2.504655 -v 0.210847 -2.036963 2.379984 -v 0.079914 2.697250 -1.519089 -v 0.404200 -3.017933 2.362299 -v -0.535898 2.008001 -0.519458 -v -0.806360 2.792921 -1.110060 -v 0.632228 -2.498903 2.474023 -v 0.597553 -1.998903 2.344614 -v -0.161567 2.081224 -0.488459 -v 0.014724 2.062194 -0.569820 -v 0.597553 -2.998903 2.344614 -v -0.290977 2.947250 -0.971422 -v 0.937573 -2.531864 2.333102 -v -0.756601 1.831224 -0.777308 -v -0.676950 1.926895 -0.627098 -v 0.773844 -3.017933 2.263253 -v -0.762726 1.735553 -0.947218 -v -0.892136 2.601579 -1.430181 -v -0.823802 2.520473 -1.593927 -v 1.166879 -2.625729 2.103345 -v 1.214915 -2.145350 1.916591 -v -0.694392 1.654447 -1.110963 -v -0.691412 2.466280 -1.726577 -v 0.906234 -3.072126 2.130603 -v 1.285238 -2.766209 1.819730 -v -0.886012 2.697250 -1.260270 -v 0.974568 -3.153232 1.966858 -v -0.011379 1.654447 -1.293977 -v -0.321768 2.466280 -1.825623 -v 0.968443 -3.248903 1.796946 -v 1.274630 -2.931916 1.525435 -v 0.662393 0.773857 -0.982993 -v 1.339334 -2.498903 1.249279 -v -0.720955 0.503259 -1.097548 -v -0.562002 1.600254 -1.243614 -v 0.888792 -3.344573 1.646737 -v -0.950852 1.156541 0.135484 -v 1.136669 -3.097622 1.265264 -v 1.180032 -2.690245 0.948859 -v 0.432497 1.427138 0.250040 -v 0.697277 1.318752 -0.015261 -v 0.747740 -3.425679 1.539097 -v 0.892360 -3.238102 1.078826 -v -0.668748 1.318752 0.350765 -v 0.897927 -2.852456 0.733579 -v 0.380289 0.611645 -1.198273 -v 0.566762 -3.479873 1.490413 -v 0.578896 -3.331967 0.994504 -v -0.985735 0.611646 -0.832247 -v -0.306791 1.427138 0.448132 -v 0.373409 -3.498903 1.508098 -v 0.243999 -3.364928 1.025135 -v 0.833946 1.156540 -0.342751 -v 0.535970 -2.960843 0.636212 -v 0.197118 -3.479872 1.589459 -v 0.018332 0.503259 -1.295640 -v 0.149265 -2.998903 0.671582 -v -0.061346 -3.331967 1.166056 -v -1.122404 0.773857 -0.504757 -v 0.079915 1.465199 0.412762 -v -0.203317 -2.960842 0.834304 -v -0.290652 -3.238101 1.395814 -v 0.821696 0.965199 -0.682573 -v 0.064728 -3.425679 1.722109 -v -0.368373 0.465199 -1.260270 -v -0.409011 -3.097622 1.679429 -v -0.604766 -2.690244 1.427095 -v -1.110155 0.965199 -0.164935 -v -0.003607 -3.344573 1.885854 -v 0.502818 -3.364928 1.991061 -v 0.950135 -2.036963 2.181892 -v -0.151110 -2.145349 2.282616 -v 1.351584 -2.307561 1.589101 -v -0.468097 -2.852456 1.099605 -v -0.140790 2.520473 -1.776940 -v 0.304880 2.200599 -2.418174 -v -1.530379 2.200599 -1.926418 -v -1.407440 1.377875 -1.467603 -v -0.981567 2.327875 0.121777 -v -1.015420 2.331225 0.188618 -v 0.916431 2.331225 -0.329019 -v 0.853692 2.327875 -0.369979 -v 0.730753 3.150599 -0.828793 -v -1.104505 3.150599 -0.337037 -v 0.468144 1.331224 -2.002052 -v 0.338734 2.197250 -2.485015 -v -1.463708 1.331224 -1.484414 -v -1.593117 2.197250 -1.967377 -v 0.427819 1.377875 -1.959360 -v -1.144830 3.197250 -0.294344 -v 0.787022 3.197250 -0.811982 -v 0.640756 1.852875 -1.164669 -v 0.517817 2.675599 -1.623483 -v -1.317442 2.675599 -1.131727 -v -1.194503 1.852875 -0.672913 -v -0.612749 2.200599 -2.172296 -v -0.489810 1.377875 -1.713482 -v -0.186876 3.150599 -0.582915 -v -0.063937 2.327875 -0.124101 -v 1.214915 -2.145350 1.916591 -v 0.432497 1.427138 0.250040 -v 0.697277 1.318752 -0.015261 -v 0.950135 -2.036963 2.181892 -vt 0.519290 0.058179 -vt 0.519290 0.044033 -vt 0.591799 0.044033 -vt 0.073830 0.171353 -vt 0.073830 0.157208 -vt 0.111004 0.152030 -vt 0.519289 0.199636 -vt 0.519289 0.185490 -vt 0.591797 0.185490 -vt 0.148490 0.178426 -vt 0.111004 0.176531 -vt 0.073830 0.143062 -vt 0.073830 0.128916 -vt 0.111004 0.123738 -vt 0.519290 0.143053 -vt 0.519290 0.128907 -vt 0.591799 0.128907 -vt 0.148490 0.150135 -vt 0.111004 0.148240 -vt 0.519281 0.100625 -vt 0.591789 0.100625 -vt 0.591789 0.114770 -vt 0.519269 0.270370 -vt 0.591778 0.270370 -vt 0.591778 0.284515 -vt 0.111004 0.119948 -vt 0.111004 0.095447 -vt 0.148490 0.093552 -vt 0.519289 0.157199 -vt 0.591798 0.157199 -vt 0.591798 0.171345 -vt 0.073830 0.114771 -vt 0.073830 0.100625 -vt 0.591790 0.143062 -vt 0.111004 0.091657 -vt 0.111004 0.067156 -vt 0.148490 0.065261 -vt 0.073830 0.086479 -vt 0.073830 0.072333 -vt 0.519280 0.086479 -vt 0.519280 0.072334 -vt 0.591788 0.072334 -vt 0.111004 0.063365 -vt 0.111004 0.038864 -vt 0.519282 0.171354 -vt 0.073830 0.058188 -vt 0.073830 0.044042 -vt 0.519281 0.213791 -vt 0.591790 0.213791 -vt 0.591790 0.227937 -vt 0.110996 0.289698 -vt 0.110996 0.265197 -vt 0.148481 0.263302 -vt 0.519280 0.242082 -vt 0.591788 0.242082 -vt 0.591788 0.256228 -vt 0.073822 0.284520 -vt 0.073822 0.270375 -vt 0.148498 0.206708 -vt 0.111013 0.204813 -vt 0.111013 0.180312 -vt 0.591790 0.199645 -vt 0.073839 0.199635 -vt 0.073839 0.185490 -vt 0.867947 0.185572 -vt 0.852531 0.208643 -vt 0.802245 0.198641 -vt 0.073838 0.171344 -vt 0.438531 0.121834 -vt 0.438523 0.263301 -vt 0.519281 0.284519 -vt 0.438523 0.150135 -vt 0.148498 0.121834 -vt 0.438511 0.291588 -vt 0.148498 0.093543 -vt 0.438531 0.093543 -vt 0.111013 0.067147 -vt 0.438523 0.235009 -vt 0.111013 0.091648 -vt 0.438523 0.093552 -vt 0.519281 0.114770 -vt 0.438531 0.206709 -vt 0.438531 0.178417 -vt 0.438531 0.065252 -vt 0.148489 0.291592 -vt 0.519281 0.227937 -vt 0.111004 0.261405 -vt 0.111004 0.236904 -vt 0.519289 0.171345 -vt 0.073830 0.256227 -vt 0.073830 0.242082 -vt 0.438531 0.036960 -vt 0.111004 0.233114 -vt 0.111004 0.208613 -vt 0.073830 0.227936 -vt 0.073830 0.213790 -vt 0.036969 0.164280 -vt 0.036969 0.135989 -vt 0.036969 0.107698 -vt 0.036969 0.079406 -vt 0.036970 0.051115 -vt 0.148490 0.036969 -vt 0.036961 0.277447 -vt 0.036978 0.192562 -vt 0.036969 0.249154 -vt 0.036969 0.220863 -vt 0.148490 0.235009 -vt 0.192327 0.347853 -vt 0.192327 0.485619 -vt 0.123444 0.485619 -vt 0.699469 0.172501 -vt 0.699469 0.034735 -vt 0.768352 0.034735 -vt 0.443577 0.396280 -vt 0.584968 0.400334 -vt 0.439951 0.400334 -vt 0.581343 0.396280 -vt 0.443577 0.327397 -vt 0.581343 0.327397 -vt 0.319721 0.480769 -vt 0.319721 0.335752 -vt 0.392229 0.335752 -vt 0.695415 0.176127 -vt 0.622907 0.031110 -vt 0.695416 0.031110 -vt 0.903489 0.115635 -vt 0.964650 0.186331 -vt 0.903489 0.188144 -vt 0.866342 0.040735 -vt 0.866342 0.109618 -vt 0.805181 0.111431 -vt 0.712656 0.540579 -vt 0.651495 0.469883 -vt 0.712656 0.468071 -vt 0.781166 0.340069 -vt 0.781166 0.271186 -vt 0.842327 0.269373 -vt 0.622907 0.176127 -vt 0.618854 0.172502 -vt 0.443577 0.476895 -vt 0.439951 0.472842 -vt 0.584968 0.472842 -vt 0.396282 0.477144 -vt 0.392229 0.480769 -vt 0.315668 0.339377 -vt 0.315667 0.477144 -vt 0.246785 0.339377 -vt 0.876104 0.584646 -vt 0.877917 0.552017 -vt 0.946800 0.552017 -vt 0.558888 0.554541 -vt 0.490005 0.554541 -vt 0.488192 0.521912 -vt 0.971580 0.044744 -vt 0.900884 0.077373 -vt 0.902697 0.044744 -vt 0.927650 0.489798 -vt 0.925837 0.522427 -vt 0.856954 0.522427 -vt 0.835610 0.458829 -vt 0.933025 0.389946 -vt 0.933025 0.458829 -vt 0.724805 0.327967 -vt 0.724805 0.425382 -vt 0.655922 0.425382 -vt 0.636432 0.274081 -vt 0.636432 0.205198 -vt 0.733848 0.205198 -vt 0.957268 0.244504 -vt 0.957268 0.341919 -vt 0.888385 0.341919 -vt 0.042829 0.347853 -vt 0.046882 0.344228 -vt 0.046882 0.489245 -vt 0.119390 0.344228 -vt 0.119390 0.489245 -vt 0.591799 0.058179 -vt 0.591788 0.086479 -vt 0.591790 0.171354 -vt 0.519280 0.256228 -vt 0.796832 0.185572 -vt 0.796832 0.171427 -vt 0.802245 0.158358 -vt 0.812247 0.148355 -vt 0.825316 0.142942 -vt 0.839462 0.142942 -vt 0.852531 0.148355 -vt 0.862533 0.158357 -vt 0.867947 0.171426 -vt 0.862534 0.198641 -vt 0.839462 0.214057 -vt 0.825317 0.214057 -vt 0.812248 0.208644 -vt 0.123444 0.347853 -vt 0.768352 0.172501 -vt 0.964650 0.117448 -vt 0.805181 0.038922 -vt 0.651495 0.538767 -vt 0.842327 0.341882 -vt 0.618854 0.034735 -vt 0.581343 0.476896 -vt 0.396282 0.339378 -vt 0.246784 0.477143 -vt 0.948613 0.584646 -vt 0.560701 0.521912 -vt 0.973392 0.077373 -vt 0.855141 0.489798 -vt 0.835610 0.389946 -vt 0.655922 0.327967 -vt 0.733848 0.274081 -vt 0.888385 0.244504 -vt 0.042829 0.485620 -vt 0.021699 0.793428 -vt 0.021698 0.699267 -vt 0.986999 0.699267 -vt 0.986999 0.793427 -vn -0.031400 -0.490400 -0.870900 -vn -0.554500 -0.536800 0.635900 -vn 0.927700 0.277800 0.249500 -vn -0.841100 -0.125800 0.526100 -vn -0.393900 -0.408100 0.823600 -vn 0.903600 -0.097500 -0.417000 -vn -0.623400 0.048500 0.780400 -vn -0.350300 0.415700 0.839300 -vn 0.723000 0.415700 0.551700 -vn -0.305900 0.182000 0.934500 -vn 0.991100 0.097500 -0.090700 -vn -0.159500 -0.309600 0.937400 -vn -0.678600 0.277800 0.679900 -vn 0.063300 0.254200 0.965100 -vn 0.408300 0.490400 0.770000 -vn 0.113000 -0.256300 0.960000 -vn 0.031400 0.490400 0.870900 -vn 0.427800 0.254200 0.867400 -vn -0.903600 0.097500 0.417000 -vn 0.382100 -0.256300 0.887900 -vn -0.927700 -0.277800 -0.249500 -vn 0.732200 0.182000 0.656400 -vn -0.723000 -0.415700 -0.551700 -vn 0.606800 -0.309600 0.732100 -vn 0.930100 0.048500 0.364100 -vn -0.991100 -0.097500 0.090600 -vn 0.752900 -0.408100 0.516300 -vn 0.350300 -0.415700 -0.839300 -vn -0.129400 0.866000 -0.483000 -vn 0.798200 -0.536800 0.273500 -vn 0.754400 0.293700 -0.587100 -vn 0.991400 -0.125800 0.035100 -vn -0.423600 -0.059000 -0.903900 -vn 0.735700 -0.676000 0.040400 -vn -0.868300 0.468900 0.161800 -vn 0.906900 -0.314500 -0.280600 -vn 0.592200 0.754600 0.282700 -vn 0.575100 -0.804700 -0.147300 -vn -0.666300 0.630700 0.397800 -vn 0.689200 -0.488800 -0.534900 -vn 0.552300 0.131900 -0.823100 -vn 0.340700 -0.903200 -0.261000 -vn -0.706100 0.008000 -0.708000 -vn 0.371700 -0.622200 -0.689000 -vn -0.371500 0.754600 0.540900 -vn 0.068200 -0.956500 -0.283600 -vn 0.775900 0.630700 0.011400 -vn 0.002500 -0.694400 -0.719600 -vn -0.200900 -0.956500 -0.211500 -vn 0.257500 0.008000 -0.966200 -vn -0.362000 -0.694400 -0.621900 -vn -0.889900 0.131900 -0.436700 -vn -0.028800 0.821600 0.569300 -vn -0.666400 -0.622200 -0.410900 -vn 0.832900 0.468900 -0.294000 -vn -0.425600 -0.903200 -0.055700 -vn -0.085200 -0.059000 -0.994600 -vn -0.864300 -0.488800 -0.118600 -vn -0.946800 0.293700 -0.131300 -vn -0.571700 -0.804700 0.160000 -vn -0.408300 -0.490400 -0.769900 -vn -0.113300 -0.809700 0.575800 -vn -0.054000 -0.762200 0.645100 -vn 0.032500 -0.725800 0.687100 -vn 0.133100 -0.706200 0.695400 -vn 0.232400 -0.706200 0.668800 -vn 0.408300 0.490400 0.769900 -vn 0.315400 -0.725800 0.611300 -vn 0.369300 -0.762200 0.531700 -vn 0.386000 -0.809700 0.442000 -vn 0.363000 -0.861100 0.356000 -vn 0.303700 -0.908600 0.286700 -vn 0.217100 -0.945000 0.244700 -vn 0.116600 -0.964600 0.236400 -vn 0.017200 -0.964600 0.263000 -vn 0.678600 -0.277800 -0.679900 -vn -0.065700 -0.945000 0.320500 -vn -0.119600 -0.908600 0.400100 -vn -0.925700 -0.314500 0.210400 -vn -0.136400 -0.861100 0.489800 -vn 0.309600 0.821600 0.478700 -vn -0.617000 -0.676000 0.402900 -vn 0.224100 0.500000 0.836500 -vn 0.965900 -0.000000 -0.258800 -vn 0.015500 -0.998200 0.057900 -vn -0.224100 -0.500000 -0.836500 -vn -0.965900 0.000000 0.258800 -vn -0.524500 0.353600 0.774500 -vn 0.841500 0.353600 0.408500 -vn 0.316200 0.774600 -0.547700 -vn -0.216000 0.551000 -0.806100 -vn -0.547700 0.774600 -0.316200 -vn -0.316200 -0.774600 0.547700 -vn -0.015500 0.998200 -0.057900 -vn 0.216000 -0.551000 0.806100 -vn 0.547700 -0.774600 0.316200 -vn -0.991100 -0.097500 0.090700 -vn -0.129400 0.866000 -0.482900 -vn -0.408300 -0.490400 -0.770000 -s off -f 1/1/1 2/2/1 3/3/1 -f 4/4/2 5/5/2 6/6/2 -f 7/7/3 8/8/3 9/9/3 -f 10/10/4 11/11/4 6/6/4 -f 5/12/5 12/13/5 13/14/5 -f 14/15/6 15/16/6 16/17/6 -f 17/18/7 6/19/7 13/14/7 -f 18/20/8 19/21/8 20/22/8 -f 7/23/9 21/24/9 22/25/9 -f 13/26/10 23/27/10 24/28/10 -f 14/29/11 25/30/11 9/31/11 -f 12/32/12 26/33/12 23/27/12 -f 27/16/13 20/17/13 28/34/13 -f 23/35/14 29/36/14 30/37/14 -f 31/1/15 32/2/15 22/3/15 -f 23/35/16 26/38/16 33/39/16 -f 18/40/17 31/41/17 34/42/17 -f 30/37/18 29/43/18 35/44/18 -f 36/45/19 37/29/19 28/30/19 -f 33/46/20 38/47/20 35/44/20 -f 39/48/21 40/49/21 41/50/21 -f 35/51/22 42/52/22 43/53/22 -f 44/54/23 41/55/23 45/56/23 -f 38/57/24 46/58/24 42/52/24 -f 43/59/25 42/60/25 47/61/25 -f 36/8/26 48/9/26 40/62/26 -f 42/60/27 46/63/27 49/64/27 -f 50/40/28 1/41/28 51/42/28 -f 16/65/29 51/66/29 40/67/29 -f 49/68/30 52/5/30 53/6/30 -f 54/69/31 15/16/31 14/15/31 -f 47/11/32 53/6/32 55/18/32 -f 56/70/33 57/23/33 2/71/33 -f 53/19/34 52/12/34 58/13/34 -f 59/72/35 37/29/35 36/45/35 -f 53/19/36 60/14/36 61/73/36 -f 62/74/37 63/70/37 7/23/37 -f 58/32/38 64/33/38 65/27/38 -f 66/69/39 27/16/39 37/15/39 -f 60/26/40 65/27/40 67/75/40 -f 54/69/41 68/76/41 50/20/41 -f 64/38/42 69/39/42 70/77/42 -f 56/70/43 71/78/43 44/54/43 -f 67/75/44 65/79/44 70/77/44 -f 72/80/45 18/20/45 27/81/45 -f 69/46/46 73/47/46 74/44/46 -f 63/82/47 75/83/47 8/8/47 -f 76/37/48 70/43/48 74/44/48 -f 74/51/49 73/57/49 77/58/49 -f 78/84/50 1/41/50 50/40/50 -f 79/85/51 74/51/51 80/52/51 -f 81/82/52 39/48/52 44/86/52 -f 82/84/53 31/41/53 18/40/53 -f 83/53/54 80/87/54 84/88/54 -f 85/72/55 14/29/55 8/89/55 -f 77/90/56 86/91/56 84/88/56 -f 78/84/57 87/92/57 2/2/57 -f 84/93/58 88/94/58 89/59/58 -f 90/83/59 36/8/59 39/7/59 -f 86/95/60 91/96/60 88/94/60 -f 57/23/61 45/24/61 3/25/61 -f 4/4/62 92/97/62 5/5/62 -f 5/12/63 92/98/63 12/13/63 -f 10/10/19 17/18/19 59/72/19 -f 12/32/64 92/99/64 26/33/64 -f 61/73/6 54/69/6 85/72/6 -f 26/38/65 92/100/65 33/39/65 -f 55/18/11 85/72/11 75/83/11 -f 33/46/66 92/101/66 38/47/66 -f 93/102/67 62/92/67 82/84/67 -f 38/57/68 92/103/68 46/58/68 -f 30/37/17 82/84/17 72/80/17 -f 46/63/69 92/104/69 49/64/69 -f 79/102/1 87/92/1 78/84/1 -f 49/68/70 92/97/70 52/5/70 -f 94/73/13 66/69/13 59/72/13 -f 76/37/28 78/84/28 68/76/28 -f 52/12/71 92/98/71 58/13/71 -f 94/73/8 24/28/8 72/80/8 -f 58/32/72 92/99/72 64/33/72 -f 95/10/3 75/83/3 63/82/3 -f 64/38/73 92/100/73 69/39/73 -f 69/46/74 92/101/74 73/47/74 -f 89/59/21 81/82/21 71/78/21 -f 73/57/75 92/103/75 77/58/75 -f 67/75/76 68/76/76 54/69/76 -f 77/90/77 92/105/77 86/91/77 -f 79/85/61 83/53/61 56/70/61 -f 86/95/78 92/106/78 91/96/78 -f 83/53/23 96/107/23 71/78/23 -f 89/59/79 88/60/79 11/61/79 -f 91/63/80 92/104/80 4/64/80 -f 62/92/81 32/2/81 31/1/81 -f 10/10/26 90/83/26 81/82/26 -f 91/63/82 4/64/82 11/61/82 -f 50/20/76 97/21/76 16/22/76 -f 98/108/83 99/109/83 100/110/83 -f 101/111/84 100/112/84 99/113/84 -f 101/114/85 103/115/85 102/116/85 -f 104/117/86 106/118/86 105/119/86 -f 103/120/84 107/121/84 108/122/84 -f 102/123/87 110/124/87 109/125/87 -f 7/126/88 105/127/88 21/128/88 -f 106/129/89 101/130/89 27/131/89 -f 41/132/88 100/133/88 44/134/88 -f 111/135/89 98/136/89 97/137/89 -f 110/124/90 112/138/90 106/139/90 -f 106/140/91 112/141/91 113/142/91 -f 105/143/92 113/144/92 108/122/92 -f 103/120/93 111/145/93 107/121/93 -f 103/115/83 113/142/83 112/141/83 -f 104/146/87 98/147/87 111/145/87 -f 14/148/83 114/149/83 115/150/83 -f 116/151/83 117/152/83 36/153/83 -f 118/154/84 2/155/84 119/156/84 -f 34/157/84 120/158/84 121/159/84 -f 116/160/88 121/161/88 120/162/88 -f 115/163/89 120/164/89 121/165/89 -f 118/166/88 119/167/88 114/168/88 -f 118/169/89 116/170/89 117/171/89 -f 98/172/94 108/173/94 110/174/94 -f 107/175/95 100/110/95 109/176/95 -f 108/173/86 109/176/86 110/174/86 -f 100/112/96 102/123/96 109/125/96 -f 51/177/1 1/1/1 3/3/1 -f 11/11/2 4/4/2 6/6/2 -f 21/62/3 7/7/3 9/9/3 -f 17/18/4 10/10/4 6/6/4 -f 6/19/5 5/12/5 13/14/5 -f 25/34/6 14/15/6 16/17/6 -f 94/73/7 17/18/7 13/14/7 -f 27/81/8 18/20/8 20/22/8 -f 32/71/9 7/23/9 22/25/9 -f 94/73/10 13/26/10 24/28/10 -f 8/89/11 14/29/11 9/31/11 -f 13/26/12 12/32/12 23/27/12 -f 37/15/13 27/16/13 28/34/13 -f 24/28/14 23/35/14 30/37/14 -f 34/177/15 31/1/15 22/3/15 -f 29/36/16 23/35/16 33/39/16 -f 19/178/17 18/40/17 34/42/17 -f 93/102/18 30/37/18 35/44/18 -f 48/179/19 36/45/19 28/30/19 -f 29/43/20 33/46/20 35/44/20 -f 44/86/21 39/48/21 41/50/21 -f 93/85/22 35/51/22 43/53/22 -f 57/180/23 44/54/23 45/56/23 -f 35/51/24 38/57/24 42/52/24 -f 95/10/25 43/59/25 47/61/25 -f 39/7/97 36/8/97 40/62/97 -f 47/61/27 42/60/27 49/64/27 -f 97/178/28 50/40/28 51/42/28 -f 40/67/29 48/181/29 28/182/29 -f 28/182/29 20/183/29 40/67/29 -f 19/184/29 34/185/29 22/186/29 -f 22/186/29 21/187/29 9/188/29 -f 9/188/29 25/189/29 16/65/29 -f 16/65/98 97/190/98 51/66/98 -f 51/66/29 3/191/29 45/192/29 -f 45/192/29 41/193/29 40/67/29 -f 40/67/29 20/183/29 19/184/29 -f 19/184/29 22/186/29 40/67/29 -f 9/188/29 16/65/29 40/67/29 -f 51/66/29 45/192/29 40/67/29 -f 40/67/29 22/186/29 9/188/29 -f 47/11/30 49/68/30 53/6/30 -f 85/72/31 54/69/31 14/15/31 -f 95/10/32 47/11/32 55/18/32 -f 87/74/33 56/70/33 2/71/33 -f 60/14/34 53/19/34 58/13/34 -f 90/83/35 59/72/35 36/45/35 -f 55/18/36 53/19/36 61/73/36 -f 32/71/37 62/74/37 7/23/37 -f 60/26/38 58/32/38 65/27/38 -f 59/72/39 66/69/39 37/15/39 -f 61/73/40 60/26/40 67/75/40 -f 15/81/41 54/69/41 50/20/41 -f 65/79/42 64/38/42 70/77/42 -f 57/180/43 56/70/43 44/54/43 -f 76/37/44 67/75/44 70/77/44 -f 66/69/45 72/80/45 27/81/45 -f 70/43/46 69/46/46 74/44/46 -f 7/7/47 63/82/47 8/8/47 -f 79/102/48 76/37/48 74/44/48 -f 80/52/49 74/51/49 77/58/49 -f 68/76/50 78/84/50 50/40/50 -f 83/53/51 79/85/51 80/52/51 -f 71/78/52 81/82/52 44/86/52 -f 72/80/53 82/84/53 18/40/53 -f 96/107/54 83/53/54 84/88/54 -f 75/83/55 85/72/55 8/89/55 -f 80/87/56 77/90/56 84/88/56 -f 1/1/57 78/84/57 2/2/57 -f 96/107/58 84/93/58 89/59/58 -f 81/82/59 90/83/59 39/7/59 -f 84/93/60 86/95/60 88/94/60 -f 2/71/99 57/23/99 3/25/99 -f 90/83/19 10/10/19 59/72/19 -f 55/18/6 61/73/6 85/72/6 -f 95/10/11 55/18/11 75/83/11 -f 30/37/67 93/102/67 82/84/67 -f 24/28/17 30/37/17 72/80/17 -f 76/37/1 79/102/1 78/84/1 -f 17/18/13 94/73/13 59/72/13 -f 67/75/28 76/37/28 68/76/28 -f 66/69/8 94/73/8 72/80/8 -f 43/59/3 95/10/3 63/82/3 -f 96/107/21 89/59/21 71/78/21 -f 61/73/76 67/75/76 54/69/76 -f 87/74/61 79/85/61 56/70/61 -f 56/70/23 83/53/23 71/78/23 -f 10/10/79 89/59/79 11/61/79 -f 82/84/81 62/92/81 31/1/81 -f 89/59/26 10/10/26 81/82/26 -f 88/60/82 91/63/82 11/61/82 -f 15/81/76 50/20/76 16/22/76 -f 111/194/83 98/108/83 100/110/83 -f 106/195/84 101/111/84 99/113/84 -f 104/117/85 103/115/85 101/114/85 -f 101/114/86 106/118/86 104/117/86 -f 113/144/84 103/120/84 108/122/84 -f 112/138/87 110/124/87 102/123/87 -f 104/196/88 105/127/88 7/126/88 -f 20/197/89 106/129/89 27/131/89 -f 99/198/88 100/133/88 41/132/88 -f 50/199/89 111/135/89 97/137/89 -f 99/200/90 110/124/90 106/139/90 -f 105/201/91 106/140/91 113/142/91 -f 98/202/92 105/143/92 108/122/92 -f 104/146/93 111/145/93 103/120/93 -f 102/116/83 103/115/83 112/141/83 -f 105/203/87 98/147/87 104/146/87 -f 25/204/83 14/148/83 115/150/83 -f 48/205/83 116/151/83 36/153/83 -f 3/206/84 2/155/84 118/154/84 -f 31/207/84 34/157/84 121/159/84 -f 117/208/88 121/161/88 116/160/88 -f 114/209/89 115/163/89 121/165/89 -f 115/210/88 118/166/88 114/168/88 -f 119/211/89 118/169/89 117/171/89 -f 99/212/94 98/172/94 110/174/94 -f 111/194/95 100/110/95 107/175/95 -f 107/175/86 109/176/86 108/173/86 -f 101/111/96 102/123/96 100/112/96 -f 125/213/9 122/214/9 124/215/9 -f 123/216/9 125/213/9 124/215/9 diff --git a/src/main/resources/assets/hbm/models/Fleija.obj b/src/main/resources/assets/hbm/models/Fleija.obj deleted file mode 100644 index 443bfc66c..000000000 --- a/src/main/resources/assets/hbm/models/Fleija.obj +++ /dev/null @@ -1,1664 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'FREIJA.blend' -# www.blender.org -o Cylinder -v 0.000000 0.650000 -0.500000 -v 0.000000 0.650000 0.500000 -v 0.095671 0.630970 -0.500000 -v 0.095671 0.630969 0.500000 -v 0.176777 0.576777 -0.500000 -v 0.176777 0.576776 0.500000 -v 0.230970 0.495671 -0.500000 -v 0.230970 0.495670 0.500000 -v 0.250000 0.400000 -0.500000 -v 0.250000 0.400000 0.500000 -v 0.230970 0.304330 -0.500000 -v 0.230970 0.304329 0.500000 -v 0.176777 0.223224 -0.500000 -v 0.176777 0.223223 0.500000 -v 0.095671 0.169031 -0.500000 -v 0.095671 0.169030 0.500000 -v 0.000000 0.150000 -0.500000 -v 0.000000 0.150000 0.500000 -v -0.095671 0.169031 -0.500000 -v -0.095671 0.169030 0.500000 -v -0.176777 0.223224 -0.500000 -v -0.176777 0.223223 0.500000 -v -0.230970 0.304330 -0.500000 -v -0.230970 0.304329 0.500000 -v -0.250000 0.400000 -0.500000 -v -0.250000 0.400000 0.500000 -v -0.230970 0.495671 -0.500000 -v -0.230970 0.495670 0.500000 -v -0.176777 0.576777 -0.500000 -v -0.176777 0.576776 0.500000 -v -0.095671 0.630970 -0.500000 -v -0.095671 0.630970 0.500000 -v -0.000000 0.500000 0.750000 -v -0.038268 0.492388 0.750000 -v -0.070711 0.470711 0.750000 -v -0.092388 0.438268 0.750000 -v -0.100000 0.400000 0.750000 -v -0.092388 0.361732 0.750000 -v -0.070711 0.329289 0.750000 -v -0.038268 0.307612 0.750000 -v -0.000000 0.300000 0.750000 -v 0.038268 0.307612 0.750000 -v 0.070711 0.329289 0.750000 -v 0.092388 0.361732 0.750000 -v 0.100000 0.400000 0.750000 -v 0.092388 0.438268 0.750000 -v 0.070711 0.470711 0.750000 -v 0.038268 0.492388 0.750000 -v -0.000000 0.525000 0.750000 -v -0.047835 0.515485 0.750000 -v -0.088388 0.488388 0.750000 -v -0.115485 0.447835 0.750000 -v -0.125000 0.400000 0.750000 -v -0.115485 0.352165 0.750000 -v -0.088388 0.311612 0.750000 -v -0.047835 0.284515 0.750000 -v -0.000000 0.275000 0.750000 -v 0.047835 0.284515 0.750000 -v 0.088388 0.311612 0.750000 -v 0.115485 0.352165 0.750000 -v 0.125000 0.400000 0.750000 -v 0.115485 0.447835 0.750000 -v 0.088388 0.488388 0.750000 -v 0.047835 0.515485 0.750000 -v -0.000000 0.525000 1.000000 -v -0.047835 0.515485 1.000000 -v -0.088388 0.488388 1.000000 -v -0.115485 0.447835 1.000000 -v -0.125000 0.400000 1.000000 -v -0.115485 0.352165 1.000000 -v -0.088388 0.311612 1.000000 -v -0.047835 0.284515 1.000000 -v -0.000000 0.275000 1.000000 -v 0.047835 0.284515 1.000000 -v 0.088388 0.311612 1.000000 -v 0.115485 0.352165 1.000000 -v 0.125000 0.400000 1.000000 -v 0.115485 0.447835 1.000000 -v 0.088388 0.488388 1.000000 -v 0.047835 0.515485 1.000000 -v 0.000000 0.450000 1.100000 -v -0.019134 0.446194 1.100000 -v -0.035355 0.435355 1.100000 -v -0.046194 0.419134 1.100000 -v -0.050000 0.400000 1.100000 -v -0.046194 0.380866 1.100000 -v -0.035355 0.364645 1.100000 -v -0.019134 0.353806 1.100000 -v -0.000000 0.350000 1.100000 -v 0.019134 0.353806 1.100000 -v 0.035355 0.364645 1.100000 -v 0.046194 0.380866 1.100000 -v 0.050000 0.400000 1.100000 -v 0.046194 0.419134 1.100000 -v 0.035355 0.435355 1.100000 -v 0.019134 0.446194 1.100000 -v 0.000000 0.500000 -0.750000 -v -0.038268 0.492388 -0.750000 -v -0.070711 0.470711 -0.750000 -v -0.092388 0.438268 -0.750000 -v -0.100000 0.400000 -0.750000 -v -0.092388 0.361732 -0.750000 -v -0.070711 0.329289 -0.750000 -v -0.038268 0.307612 -0.750000 -v -0.000000 0.300000 -0.750000 -v 0.038268 0.307612 -0.750000 -v 0.070711 0.329289 -0.750000 -v 0.092388 0.361732 -0.750000 -v 0.100000 0.400000 -0.750000 -v 0.092388 0.438268 -0.750000 -v 0.070711 0.470711 -0.750000 -v 0.038268 0.492388 -0.750000 -v 0.000000 0.525000 -0.750000 -v -0.047835 0.515485 -0.750000 -v -0.088388 0.488388 -0.750000 -v -0.115485 0.447835 -0.750000 -v -0.125000 0.400000 -0.750000 -v -0.115485 0.352165 -0.750000 -v -0.088388 0.311612 -0.750000 -v -0.047835 0.284515 -0.750000 -v -0.000000 0.275000 -0.750000 -v 0.047835 0.284515 -0.750000 -v 0.088388 0.311612 -0.750000 -v 0.115485 0.352165 -0.750000 -v 0.125000 0.400000 -0.750000 -v 0.115485 0.447835 -0.750000 -v 0.088388 0.488388 -0.750000 -v 0.047835 0.515485 -0.750000 -v 0.000000 0.525000 -1.000000 -v -0.047835 0.515485 -1.000000 -v -0.088388 0.488388 -1.000000 -v -0.115485 0.447835 -1.000000 -v -0.125000 0.400000 -1.000000 -v -0.115485 0.352165 -1.000000 -v -0.088388 0.311612 -1.000000 -v -0.047835 0.284515 -1.000000 -v -0.000000 0.275000 -1.000000 -v 0.047835 0.284515 -1.000000 -v 0.088388 0.311612 -1.000000 -v 0.115485 0.352165 -1.000000 -v 0.125000 0.400000 -1.000000 -v 0.115485 0.447835 -1.000000 -v 0.088388 0.488388 -1.000000 -v 0.047835 0.515485 -1.000000 -v 0.000000 0.450000 -1.100000 -v -0.019134 0.446194 -1.100000 -v -0.035355 0.435355 -1.100000 -v -0.046194 0.419134 -1.100000 -v -0.050000 0.400000 -1.100000 -v -0.046194 0.380866 -1.100000 -v -0.035355 0.364645 -1.100000 -v -0.019134 0.353806 -1.100000 -v -0.000000 0.350000 -1.100000 -v 0.019134 0.353806 -1.100000 -v 0.035355 0.364645 -1.100000 -v 0.046194 0.380866 -1.100000 -v 0.050000 0.400000 -1.100000 -v 0.046194 0.419134 -1.100000 -v 0.035355 0.435355 -1.100000 -v 0.019134 0.446194 -1.100000 -v 0.000000 0.650000 0.450000 -v -0.095671 0.630970 0.450000 -v -0.176777 0.576777 0.450000 -v -0.230970 0.495671 0.450000 -v -0.250000 0.400000 0.450000 -v -0.230970 0.304329 0.450000 -v -0.176777 0.223223 0.450000 -v -0.095671 0.169030 0.450000 -v -0.000000 0.150000 0.450000 -v 0.095671 0.169030 0.450000 -v 0.176777 0.223223 0.450000 -v 0.230970 0.304329 0.450000 -v 0.250000 0.400000 0.450000 -v 0.230970 0.495671 0.450000 -v 0.176777 0.576777 0.450000 -v 0.095671 0.630970 0.450000 -v 0.000000 0.650000 0.400000 -v -0.095671 0.630970 0.400000 -v -0.176777 0.576777 0.400000 -v -0.230970 0.495671 0.400000 -v -0.250000 0.400000 0.400000 -v -0.230970 0.304329 0.400000 -v -0.176777 0.223223 0.400000 -v -0.095671 0.169030 0.400000 -v -0.000000 0.150000 0.400000 -v 0.095671 0.169030 0.400000 -v 0.176777 0.223223 0.400000 -v 0.230970 0.304329 0.400000 -v 0.250000 0.400000 0.400000 -v 0.230970 0.495671 0.400000 -v 0.176777 0.576777 0.400000 -v 0.095671 0.630970 0.400000 -v 0.000000 0.650000 -0.400000 -v -0.095671 0.630970 -0.400000 -v -0.176777 0.576777 -0.400000 -v -0.230970 0.495671 -0.400000 -v -0.250000 0.400000 -0.400000 -v -0.230970 0.304329 -0.400000 -v -0.176777 0.223223 -0.400000 -v -0.095671 0.169030 -0.400000 -v -0.000000 0.150000 -0.400000 -v 0.095671 0.169030 -0.400000 -v 0.176777 0.223223 -0.400000 -v 0.230970 0.304329 -0.400000 -v 0.250000 0.400000 -0.400000 -v 0.230970 0.495671 -0.400000 -v 0.176777 0.576777 -0.400000 -v 0.095671 0.630970 -0.400000 -v 0.000000 0.650000 -0.450000 -v -0.095671 0.630970 -0.450000 -v -0.176777 0.576777 -0.450000 -v -0.230970 0.495671 -0.450000 -v -0.250000 0.400000 -0.450000 -v -0.230970 0.304329 -0.450000 -v -0.176777 0.223223 -0.450000 -v -0.095671 0.169030 -0.450000 -v -0.000000 0.150000 -0.450000 -v 0.095671 0.169030 -0.450000 -v 0.176777 0.223223 -0.450000 -v 0.230970 0.304329 -0.450000 -v 0.250000 0.400000 -0.450000 -v 0.230970 0.495671 -0.450000 -v 0.176777 0.576777 -0.450000 -v 0.095671 0.630970 -0.450000 -v 0.000000 0.670000 -0.450000 -v -0.103325 0.649447 -0.450000 -v -0.190919 0.590919 -0.450000 -v -0.249447 0.503325 -0.450000 -v -0.270000 0.400000 -0.450000 -v -0.249447 0.296675 -0.450000 -v -0.190919 0.209081 -0.450000 -v -0.103325 0.150553 -0.450000 -v -0.000000 0.130000 -0.450000 -v 0.103324 0.150552 -0.450000 -v 0.190919 0.209081 -0.450000 -v 0.249447 0.296675 -0.450000 -v 0.270000 0.400000 -0.450000 -v 0.249447 0.503325 -0.450000 -v 0.190919 0.590919 -0.450000 -v 0.103324 0.649448 -0.450000 -v 0.000000 0.670000 -0.400000 -v -0.103325 0.649448 -0.400000 -v -0.190919 0.590919 -0.400000 -v -0.249447 0.503325 -0.400000 -v -0.270000 0.400000 -0.400000 -v -0.249447 0.296675 -0.400000 -v -0.190919 0.209081 -0.400000 -v -0.103325 0.150553 -0.400000 -v -0.000000 0.130000 -0.400000 -v 0.103324 0.150552 -0.400000 -v 0.190919 0.209081 -0.400000 -v 0.249447 0.296675 -0.400000 -v 0.270000 0.400000 -0.400000 -v 0.249447 0.503325 -0.400000 -v 0.190919 0.590919 -0.400000 -v 0.103324 0.649448 -0.400000 -v 0.000000 0.670000 0.400000 -v -0.103325 0.649447 0.400000 -v -0.190919 0.590919 0.400000 -v -0.249447 0.503325 0.400000 -v -0.270000 0.400000 0.400000 -v -0.249447 0.296675 0.400000 -v -0.190919 0.209081 0.400000 -v -0.103325 0.150553 0.400000 -v -0.000000 0.130000 0.400000 -v 0.103324 0.150552 0.400000 -v 0.190919 0.209081 0.400000 -v 0.249447 0.296675 0.400000 -v 0.270000 0.400000 0.400000 -v 0.249447 0.503325 0.400000 -v 0.190919 0.590919 0.400000 -v 0.103324 0.649448 0.400000 -v 0.000000 0.670000 0.450000 -v -0.103325 0.649447 0.450000 -v -0.190919 0.590919 0.450000 -v -0.249447 0.503325 0.450000 -v -0.270000 0.400000 0.450000 -v -0.249447 0.296675 0.450000 -v -0.190919 0.209081 0.450000 -v -0.103325 0.150553 0.450000 -v -0.000000 0.130000 0.450000 -v 0.103324 0.150552 0.450000 -v 0.190919 0.209081 0.450000 -v 0.249447 0.296675 0.450000 -v 0.270000 0.400000 0.450000 -v 0.249447 0.503325 0.450000 -v 0.190919 0.590919 0.450000 -v 0.103324 0.649448 0.450000 -v -0.350000 0.400000 -0.650000 -v 0.350000 0.400000 -0.650000 -v -0.350000 0.400000 -0.850000 -v 0.350000 0.400000 -0.850000 -v -0.350000 0.400000 -0.650000 -v 0.350000 0.400000 -0.650000 -v -0.350000 0.400000 -0.850000 -v 0.350000 0.400000 -0.850000 -v 0.000000 0.750000 -0.650000 -v -0.000000 0.050000 -0.650000 -v 0.000000 0.750000 -0.850000 -v -0.000000 0.050000 -0.850000 -v 0.000000 0.750000 -0.650000 -v -0.000000 0.050000 -0.650000 -v 0.000000 0.750000 -0.850000 -v -0.000000 0.050000 -0.850000 -v 0.200000 0.000000 0.450000 -v 0.300000 0.000000 0.450000 -v 0.200000 0.000000 0.400000 -v 0.300000 0.000000 0.400000 -v -0.300000 0.000000 0.450000 -v -0.200000 0.000000 0.450000 -v -0.300000 0.000000 0.400000 -v -0.200000 0.000000 0.400000 -v 0.200000 0.000000 -0.400000 -v 0.300000 0.000000 -0.400000 -v 0.200000 0.000000 -0.450000 -v 0.300000 0.000000 -0.450000 -v -0.300000 0.000000 -0.400000 -v -0.200000 0.000000 -0.400000 -v -0.300000 0.000000 -0.450000 -v -0.200000 0.000000 -0.450000 -vt 0.744140 0.501822 -vt 0.751380 0.500382 -vt 0.751380 0.514783 -vt 0.251645 0.385555 -vt 0.260286 0.299905 -vt 0.271807 0.299905 -vt 0.280447 0.385555 -vt 0.289088 0.299905 -vt 0.300609 0.299905 -vt 0.309249 0.385555 -vt 0.317890 0.299905 -vt 0.329410 0.299905 -vt 0.338051 0.385555 -vt 0.346691 0.299905 -vt 0.358212 0.299905 -vt 0.366854 0.385555 -vt 0.375494 0.299905 -vt 0.387014 0.299905 -vt 0.395656 0.385555 -vt 0.404296 0.299905 -vt 0.415817 0.299905 -vt 0.424458 0.385555 -vt 0.433098 0.299905 -vt 0.444619 0.299905 -vt 0.453259 0.385555 -vt 0.461900 0.299905 -vt 0.473421 0.299905 -vt 0.050031 0.385554 -vt 0.021229 0.385553 -vt 0.029871 0.299903 -vt 0.078833 0.385554 -vt 0.058673 0.299904 -vt 0.107635 0.385554 -vt 0.087475 0.299904 -vt 0.136437 0.385554 -vt 0.116277 0.299904 -vt 0.165240 0.385555 -vt 0.145079 0.299904 -vt 0.194042 0.385555 -vt 0.173881 0.299905 -vt 0.222844 0.385555 -vt 0.202683 0.299905 -vt 0.231485 0.299905 -vt 0.243005 0.299905 -vt 0.744140 0.527744 -vt 0.744140 0.516223 -vt 0.744141 0.542145 -vt 0.744140 0.530624 -vt 0.751380 0.529184 -vt 0.744141 0.545025 -vt 0.751380 0.543585 -vt 0.751380 0.557986 -vt 0.744141 0.570947 -vt 0.744141 0.559426 -vt 0.744141 0.585348 -vt 0.744141 0.573827 -vt 0.751380 0.572387 -vt 0.744140 0.588228 -vt 0.751380 0.586788 -vt 0.751380 0.601189 -vt 0.744140 0.602629 -vt 0.751380 0.615590 -vt 0.744140 0.617030 -vt 0.751380 0.629991 -vt 0.744140 0.642952 -vt 0.744140 0.631431 -vt 0.744140 0.645832 -vt 0.751380 0.644392 -vt 0.751380 0.658793 -vt 0.744140 0.660233 -vt 0.751380 0.673194 -vt 0.744140 0.444218 -vt 0.751380 0.442778 -vt 0.751380 0.457179 -vt 0.744140 0.470140 -vt 0.744140 0.458619 -vt 0.744140 0.484541 -vt 0.744140 0.473020 -vt 0.751380 0.471580 -vt 0.744140 0.487421 -vt 0.751380 0.485981 -vt 0.825197 0.557986 -vt 0.825197 0.543585 -vt 0.825197 0.572387 -vt 0.825197 0.586788 -vt 0.825197 0.601189 -vt 0.825197 0.615590 -vt 0.825197 0.629991 -vt 0.825197 0.644392 -vt 0.825197 0.658793 -vt 0.825197 0.673194 -vt 0.825197 0.442778 -vt 0.825197 0.529184 -vt 0.825197 0.514783 -vt 0.825197 0.500382 -vt 0.825197 0.485981 -vt 0.825197 0.471580 -vt 0.825197 0.457179 -vt 0.595939 0.694666 -vt 0.613299 0.683066 -vt 0.624898 0.700426 -vt 0.861852 0.591108 -vt 0.861852 0.596868 -vt 0.861852 0.576707 -vt 0.861852 0.582467 -vt 0.861852 0.562306 -vt 0.861852 0.568066 -vt 0.861852 0.547905 -vt 0.861852 0.533504 -vt 0.861852 0.519103 -vt 0.861852 0.504702 -vt 0.861852 0.510462 -vt 0.861852 0.490301 -vt 0.861852 0.496061 -vt 0.861852 0.475900 -vt 0.861852 0.461499 -vt 0.861852 0.467259 -vt 0.861852 0.447098 -vt 0.861852 0.663113 -vt 0.861852 0.668873 -vt 0.861852 0.648712 -vt 0.861852 0.654472 -vt 0.861852 0.634311 -vt 0.861852 0.640071 -vt 0.861852 0.619910 -vt 0.861852 0.625670 -vt 0.861852 0.605509 -vt 0.861852 0.611269 -vt 0.289088 0.442778 -vt 0.300609 0.442778 -vt 0.309249 0.528428 -vt 0.260286 0.442778 -vt 0.271807 0.442778 -vt 0.280447 0.528428 -vt 0.231484 0.442778 -vt 0.243005 0.442778 -vt 0.251645 0.528428 -vt 0.194041 0.528428 -vt 0.202681 0.442778 -vt 0.214202 0.442778 -vt 0.165239 0.528428 -vt 0.173879 0.442778 -vt 0.185400 0.442778 -vt 0.136437 0.528428 -vt 0.145077 0.442778 -vt 0.156598 0.442778 -vt 0.107635 0.528429 -vt 0.116275 0.442779 -vt 0.127796 0.442778 -vt 0.078833 0.528429 -vt 0.087473 0.442779 -vt 0.098994 0.442779 -vt 0.050031 0.528429 -vt 0.058671 0.442779 -vt 0.070192 0.442779 -vt 0.021229 0.528429 -vt 0.029870 0.442779 -vt 0.041391 0.442779 -vt 0.453259 0.528429 -vt 0.461900 0.442779 -vt 0.473421 0.442779 -vt 0.433098 0.442779 -vt 0.444619 0.442779 -vt 0.404297 0.442778 -vt 0.415817 0.442779 -vt 0.424457 0.528429 -vt 0.375495 0.442778 -vt 0.387016 0.442778 -vt 0.395655 0.528428 -vt 0.346693 0.442778 -vt 0.358214 0.442778 -vt 0.366853 0.528428 -vt 0.317891 0.442778 -vt 0.329411 0.442778 -vt 0.338051 0.528428 -vt 0.639729 0.371990 -vt 0.654130 0.371990 -vt 0.652690 0.379230 -vt 0.668531 0.371990 -vt 0.667091 0.379230 -vt 0.682932 0.371990 -vt 0.681492 0.379230 -vt 0.684372 0.379230 -vt 0.697333 0.371990 -vt 0.711734 0.371990 -vt 0.710294 0.379230 -vt 0.713174 0.379230 -vt 0.726135 0.371990 -vt 0.740536 0.371990 -vt 0.739096 0.379230 -vt 0.754937 0.371990 -vt 0.753497 0.379230 -vt 0.524521 0.371990 -vt 0.538922 0.371990 -vt 0.537482 0.379230 -vt 0.553323 0.371990 -vt 0.551883 0.379230 -vt 0.567724 0.371990 -vt 0.566284 0.379230 -vt 0.569164 0.379230 -vt 0.582125 0.371990 -vt 0.583565 0.379230 -vt 0.596526 0.371990 -vt 0.610927 0.371990 -vt 0.609487 0.379230 -vt 0.625328 0.371990 -vt 0.623888 0.379230 -vt 0.626768 0.379230 -vt 0.625328 0.298173 -vt 0.639729 0.298173 -vt 0.610927 0.298173 -vt 0.596526 0.298173 -vt 0.582125 0.298173 -vt 0.654130 0.298173 -vt 0.668531 0.298173 -vt 0.682932 0.298173 -vt 0.697333 0.298173 -vt 0.711734 0.298173 -vt 0.726135 0.298173 -vt 0.740536 0.298173 -vt 0.567724 0.298173 -vt 0.553323 0.298173 -vt 0.538922 0.298173 -vt 0.524521 0.298173 -vt 0.754937 0.298173 -vt 0.615247 0.261518 -vt 0.621008 0.261518 -vt 0.629648 0.261518 -vt 0.635409 0.261518 -vt 0.644049 0.261518 -vt 0.649810 0.261518 -vt 0.658450 0.261518 -vt 0.664211 0.261518 -vt 0.672851 0.261518 -vt 0.678612 0.261518 -vt 0.687252 0.261518 -vt 0.693013 0.261518 -vt 0.701653 0.261518 -vt 0.707414 0.261518 -vt 0.716054 0.261518 -vt 0.721815 0.261519 -vt 0.730455 0.261518 -vt 0.736216 0.261518 -vt 0.744856 0.261519 -vt 0.750617 0.261519 -vt 0.528841 0.261518 -vt 0.534601 0.261518 -vt 0.543242 0.261518 -vt 0.549002 0.261518 -vt 0.600846 0.261518 -vt 0.606606 0.261518 -vt 0.586445 0.261518 -vt 0.592206 0.261518 -vt 0.572044 0.261518 -vt 0.577804 0.261518 -vt 0.557643 0.261518 -vt 0.563403 0.261518 -vt 0.536120 0.712026 -vt 0.524520 0.694666 -vt 0.541880 0.683066 -vt 0.338051 0.400319 -vt 0.309249 0.400319 -vt 0.165239 0.021230 -vt 0.194041 0.021230 -vt 0.194041 0.257444 -vt 0.194041 0.543191 -vt 0.222843 0.528428 -vt 0.222843 0.543191 -vt 0.251645 0.543191 -vt 0.280447 0.543191 -vt 0.309249 0.543191 -vt 0.338051 0.543191 -vt 0.366853 0.543192 -vt 0.395655 0.543192 -vt 0.424457 0.543192 -vt 0.453259 0.543192 -vt 0.482061 0.528429 -vt 0.482061 0.543192 -vt 0.050031 0.543193 -vt 0.165240 0.543192 -vt 0.136437 0.543192 -vt 0.107635 0.543192 -vt 0.078833 0.543192 -vt 0.560905 0.048755 -vt 0.556729 0.044580 -vt 0.582593 0.027298 -vt 0.222843 0.021230 -vt 0.222844 0.257444 -vt 0.251645 0.021230 -vt 0.251645 0.257444 -vt 0.280447 0.021230 -vt 0.280447 0.257444 -vt 0.309249 0.021230 -vt 0.309249 0.257444 -vt 0.338051 0.021230 -vt 0.338052 0.257444 -vt 0.280447 0.400319 -vt 0.251645 0.400319 -vt 0.222843 0.400319 -vt 0.194041 0.400318 -vt 0.165239 0.400318 -vt 0.136437 0.400318 -vt 0.107635 0.400317 -vt 0.078833 0.400317 -vt 0.050031 0.400317 -vt 0.021229 0.400317 -vt 0.366853 0.400318 -vt 0.395655 0.400318 -vt 0.424457 0.400318 -vt 0.453259 0.400318 -vt 0.482061 0.385555 -vt 0.482061 0.400318 -vt 0.136437 0.257444 -vt 0.136437 0.021230 -vt 0.107635 0.257444 -vt 0.107635 0.021230 -vt 0.078833 0.257444 -vt 0.078833 0.021230 -vt 0.050032 0.257444 -vt 0.050031 0.021230 -vt 0.021230 0.257444 -vt 0.021229 0.021230 -vt 0.453259 0.021230 -vt 0.482062 0.021229 -vt 0.482062 0.257444 -vt 0.424457 0.021230 -vt 0.453260 0.257444 -vt 0.395655 0.021230 -vt 0.424458 0.257444 -vt 0.366853 0.021230 -vt 0.395656 0.257444 -vt 0.366854 0.257444 -vt 0.584853 0.032754 -vt 0.613101 0.021229 -vt 0.643610 0.027298 -vt 0.641350 0.032754 -vt 0.669473 0.044580 -vt 0.665298 0.048755 -vt 0.686755 0.070443 -vt 0.681299 0.072703 -vt 0.692824 0.100952 -vt 0.686918 0.100952 -vt 0.686755 0.131460 -vt 0.681299 0.129201 -vt 0.669473 0.157324 -vt 0.665298 0.153148 -vt 0.643610 0.174606 -vt 0.613101 0.180674 -vt 0.613101 0.174769 -vt 0.582593 0.174606 -vt 0.584853 0.169150 -vt 0.556729 0.157324 -vt 0.560905 0.153149 -vt 0.539447 0.131460 -vt 0.544903 0.129201 -vt 0.539447 0.070443 -vt 0.533379 0.100952 -vt 0.544903 0.072703 -vt 0.481366 0.805272 -vt 0.512472 0.805272 -vt 0.512472 0.820035 -vt 0.543579 0.805272 -vt 0.543579 0.820035 -vt 0.574685 0.805272 -vt 0.574685 0.820035 -vt 0.167585 0.606034 -vt 0.169845 0.600578 -vt 0.195709 0.617860 -vt 0.139337 0.600415 -vt 0.139337 0.594509 -vt 0.111088 0.606034 -vt 0.108828 0.600578 -vt 0.450260 0.805272 -vt 0.481366 0.820035 -vt 0.450260 0.820035 -vt 0.419154 0.820035 -vt 0.419154 0.805272 -vt 0.388048 0.820035 -vt 0.388048 0.805272 -vt 0.356942 0.820035 -vt 0.356942 0.805272 -vt 0.325835 0.820035 -vt 0.325835 0.805272 -vt 0.294729 0.820035 -vt 0.294729 0.805272 -vt 0.263623 0.820035 -vt 0.663546 0.805272 -vt 0.083442 0.805272 -vt 0.083442 0.820035 -vt 0.052336 0.820035 -vt 0.052336 0.805272 -vt 0.021229 0.820035 -vt 0.785972 0.805272 -vt 0.817079 0.805271 -vt 0.817079 0.820035 -vt 0.754866 0.805272 -vt 0.785972 0.820035 -vt 0.754866 0.820035 -vt 0.693073 0.820035 -vt 0.693073 0.805272 -vt 0.087140 0.622035 -vt 0.082964 0.617860 -vt 0.071139 0.645983 -vt 0.065683 0.643724 -vt 0.065520 0.674232 -vt 0.059614 0.674232 -vt 0.071139 0.702481 -vt 0.065683 0.704740 -vt 0.087140 0.726429 -vt 0.082965 0.730604 -vt 0.111088 0.742430 -vt 0.108828 0.747886 -vt 0.139337 0.748049 -vt 0.139337 0.753954 -vt 0.167586 0.742430 -vt 0.169845 0.747886 -vt 0.191534 0.726428 -vt 0.195709 0.730604 -vt 0.207535 0.702480 -vt 0.212991 0.704740 -vt 0.213154 0.674232 -vt 0.219059 0.674232 -vt 0.207535 0.645983 -vt 0.212991 0.643723 -vt 0.191533 0.622035 -vt 0.431822 0.622035 -vt 0.435998 0.617860 -vt 0.453280 0.643723 -vt 0.388048 0.877258 -vt 0.356942 0.877258 -vt 0.356942 0.862494 -vt 0.643609 0.448846 -vt 0.669473 0.466128 -vt 0.665297 0.470304 -vt 0.407874 0.606034 -vt 0.410134 0.600578 -vt 0.379625 0.600415 -vt 0.379625 0.594509 -vt 0.325836 0.877258 -vt 0.325836 0.862494 -vt 0.294730 0.877258 -vt 0.294730 0.862494 -vt 0.351377 0.606034 -vt 0.349117 0.600578 -vt 0.263624 0.877258 -vt 0.263624 0.862494 -vt 0.701682 0.219059 -vt 0.327429 0.622035 -vt 0.323253 0.617860 -vt 0.311428 0.645983 -vt 0.305972 0.643723 -vt 0.083442 0.877258 -vt 0.052336 0.877258 -vt 0.052336 0.862494 -vt 0.021229 0.877258 -vt 0.021229 0.862494 -vt 0.785973 0.877258 -vt 0.785973 0.862494 -vt 0.817079 0.862494 -vt 0.754867 0.877258 -vt 0.754867 0.862494 -vt 0.543579 0.877258 -vt 0.543579 0.862494 -vt 0.574686 0.862494 -vt 0.512473 0.877258 -vt 0.512473 0.862494 -vt 0.481367 0.877258 -vt 0.481367 0.862494 -vt 0.450261 0.877258 -vt 0.450261 0.862494 -vt 0.419155 0.877258 -vt 0.419155 0.862494 -vt 0.388048 0.862494 -vt 0.447824 0.645983 -vt 0.459348 0.674232 -vt 0.453443 0.674232 -vt 0.453280 0.704740 -vt 0.447824 0.702480 -vt 0.435998 0.730604 -vt 0.407874 0.742430 -vt 0.431822 0.726429 -vt 0.410134 0.747886 -vt 0.379626 0.753954 -vt 0.351377 0.742430 -vt 0.379626 0.748049 -vt 0.349117 0.747886 -vt 0.323253 0.730604 -vt 0.327429 0.726429 -vt 0.305972 0.704740 -vt 0.305809 0.674232 -vt 0.311428 0.702480 -vt 0.299903 0.674232 -vt 0.686755 0.491992 -vt 0.681299 0.494252 -vt 0.692823 0.522500 -vt 0.686918 0.522500 -vt 0.686755 0.553009 -vt 0.681299 0.550749 -vt 0.669473 0.578872 -vt 0.665298 0.574697 -vt 0.643609 0.596154 -vt 0.613101 0.602223 -vt 0.613101 0.596317 -vt 0.582592 0.596154 -vt 0.584852 0.590698 -vt 0.556729 0.578872 -vt 0.560904 0.574697 -vt 0.539447 0.553009 -vt 0.544903 0.550749 -vt 0.533378 0.522500 -vt 0.539447 0.491992 -vt 0.544903 0.494252 -vt 0.556729 0.466128 -vt 0.560904 0.470304 -vt 0.582592 0.448846 -vt 0.584852 0.454302 -vt 0.613101 0.442778 -vt 0.613101 0.448683 -vt 0.641349 0.454302 -vt 0.227917 0.919717 -vt 0.227917 0.978770 -vt 0.021229 0.978770 -vt 0.270376 0.919717 -vt 0.477064 0.919717 -vt 0.477064 0.978770 -vt 0.950828 0.080283 -vt 0.744141 0.080283 -vt 0.744141 0.021230 -vt 0.950828 0.122742 -vt 0.950828 0.181796 -vt 0.744141 0.181796 -vt 0.145235 0.805272 -vt 0.174761 0.805272 -vt 0.174761 0.820035 -vt 0.693074 0.877258 -vt 0.663547 0.877258 -vt 0.663547 0.862494 -vt 0.174762 0.877258 -vt 0.145235 0.877258 -vt 0.145235 0.862494 -vt 0.021230 0.615178 -vt 0.021229 0.585652 -vt 0.083442 0.862494 -vt 0.701681 0.640607 -vt 0.174762 0.862494 -vt 0.261518 0.615178 -vt 0.261518 0.585652 -vt 0.261518 0.762812 -vt 0.554047 0.640608 -vt 0.524520 0.640608 -vt 0.145235 0.820035 -vt 0.021230 0.762812 -vt 0.554048 0.219059 -vt 0.524521 0.219059 -vt 0.744140 0.513343 -vt 0.041391 0.299903 -vt 0.070194 0.299904 -vt 0.098996 0.299904 -vt 0.127798 0.299904 -vt 0.156600 0.299905 -vt 0.185402 0.299905 -vt 0.214204 0.299905 -vt 0.744141 0.556546 -vt 0.744141 0.599749 -vt 0.744140 0.614150 -vt 0.744140 0.628551 -vt 0.744140 0.657353 -vt 0.744140 0.671754 -vt 0.744140 0.455739 -vt 0.744140 0.498942 -vt 0.622694 0.705748 -vt 0.618621 0.709822 -vt 0.613299 0.712026 -vt 0.607538 0.712026 -vt 0.602216 0.709822 -vt 0.598143 0.705748 -vt 0.595939 0.700426 -vt 0.598143 0.689344 -vt 0.602216 0.685271 -vt 0.607538 0.683066 -vt 0.618621 0.685271 -vt 0.622694 0.689344 -vt 0.624898 0.694666 -vt 0.861852 0.553665 -vt 0.861852 0.539264 -vt 0.861852 0.524863 -vt 0.861852 0.481660 -vt 0.861852 0.452858 -vt 0.641169 0.379230 -vt 0.655570 0.379230 -vt 0.669971 0.379230 -vt 0.695893 0.379230 -vt 0.698773 0.379230 -vt 0.724695 0.379230 -vt 0.727575 0.379230 -vt 0.741976 0.379230 -vt 0.525961 0.379230 -vt 0.540362 0.379230 -vt 0.554763 0.379230 -vt 0.580685 0.379230 -vt 0.595086 0.379230 -vt 0.597966 0.379230 -vt 0.612367 0.379230 -vt 0.638289 0.379230 -vt 0.547202 0.685271 -vt 0.551275 0.689344 -vt 0.553480 0.694666 -vt 0.553480 0.700426 -vt 0.551275 0.705748 -vt 0.547202 0.709822 -vt 0.541880 0.712026 -vt 0.530798 0.709822 -vt 0.526725 0.705748 -vt 0.524520 0.700426 -vt 0.526725 0.689344 -vt 0.530798 0.685271 -vt 0.536120 0.683066 -vt 0.165239 0.257444 -vt 0.021229 0.543193 -vt 0.613101 0.027135 -vt 0.641350 0.169150 -vt 0.539284 0.100952 -vt 0.263623 0.805272 -vt 0.663546 0.820035 -vt 0.021229 0.805272 -vt 0.672155 0.219059 -vt 0.817079 0.877258 -vt 0.574686 0.877258 -vt 0.641349 0.590698 -vt 0.539284 0.522500 -vt 0.021229 0.919717 -vt 0.270376 0.978770 -vt 0.950828 0.021229 -vt 0.744141 0.122742 -vt 0.693074 0.862494 -vt 0.672155 0.640607 -vt 0.261518 0.733286 -vt 0.021229 0.733286 -vn 0.000000 0.000000 -1.000000 -vn 0.168100 0.845300 0.507200 -vn 0.478800 0.716600 0.507200 -vn 0.716600 0.478800 0.507200 -vn 0.845300 0.168100 0.507200 -vn 0.845300 -0.168100 0.507200 -vn 0.716600 -0.478800 0.507200 -vn 0.478800 -0.716600 0.507200 -vn 0.168100 -0.845300 0.507200 -vn -0.168100 -0.845300 0.507200 -vn -0.478800 -0.716600 0.507200 -vn -0.716600 -0.478800 0.507200 -vn -0.845300 -0.168100 0.507200 -vn -0.845300 0.168100 0.507200 -vn -0.716600 0.478800 0.507200 -vn -0.478800 0.716600 0.507200 -vn -0.168100 0.845300 0.507200 -vn 0.195100 0.980800 0.000000 -vn -0.195100 0.980800 0.000000 -vn 0.555600 0.831500 0.000000 -vn 0.831500 0.555600 0.000000 -vn 0.980800 0.195100 0.000000 -vn 0.980800 -0.195100 0.000000 -vn 0.831500 -0.555600 0.000000 -vn 0.555600 -0.831500 0.000000 -vn 0.195100 -0.980800 0.000000 -vn -0.195100 -0.980800 0.000000 -vn -0.555600 0.831500 0.000000 -vn -0.831500 0.555600 0.000000 -vn -0.980800 0.195100 0.000000 -vn -0.980800 -0.195100 0.000000 -vn -0.831500 -0.555600 0.000000 -vn -0.555600 -0.831500 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.669800 0.447500 0.592500 -vn 0.447500 0.669800 0.592500 -vn 0.157200 0.790100 0.592500 -vn -0.157200 0.790100 0.592500 -vn -0.447500 0.669800 0.592500 -vn -0.669800 0.447500 0.592500 -vn -0.790100 0.157200 0.592500 -vn -0.790100 -0.157200 0.592500 -vn -0.669800 -0.447500 0.592500 -vn -0.447500 -0.669800 0.592500 -vn -0.157200 -0.790100 0.592500 -vn 0.157200 -0.790100 0.592500 -vn 0.447500 -0.669800 0.592500 -vn 0.669800 -0.447500 0.592500 -vn 0.790100 -0.157200 0.592500 -vn 0.790100 0.157200 0.592500 -vn -0.478800 0.716600 -0.507200 -vn -0.168100 0.845300 -0.507200 -vn 0.168100 0.845300 -0.507200 -vn 0.478800 0.716600 -0.507200 -vn 0.716600 0.478800 -0.507200 -vn 0.845300 0.168100 -0.507200 -vn 0.845300 -0.168100 -0.507200 -vn 0.716600 -0.478800 -0.507200 -vn 0.478800 -0.716600 -0.507200 -vn 0.168100 -0.845300 -0.507200 -vn -0.168100 -0.845300 -0.507200 -vn -0.478800 -0.716600 -0.507200 -vn -0.716600 -0.478800 -0.507200 -vn -0.845300 -0.168100 -0.507200 -vn -0.845300 0.168100 -0.507200 -vn -0.716600 0.478800 -0.507200 -vn 0.447500 0.669800 -0.592500 -vn 0.157200 0.790100 -0.592500 -vn -0.157200 0.790100 -0.592500 -vn -0.447500 0.669800 -0.592500 -vn -0.669800 0.447500 -0.592500 -vn -0.790100 0.157200 -0.592500 -vn -0.790100 -0.157200 -0.592500 -vn -0.669800 -0.447500 -0.592500 -vn -0.447500 -0.669800 -0.592500 -vn -0.157200 -0.790100 -0.592500 -vn 0.157200 -0.790100 -0.592500 -vn 0.447500 -0.669800 -0.592500 -vn 0.669800 0.447500 -0.592500 -vn 0.790100 0.157200 -0.592500 -vn 0.790100 -0.157200 -0.592500 -vn 0.669800 -0.447500 -0.592500 -vn -0.985800 0.168000 0.000000 -vn 0.999100 -0.043400 0.000000 -vn 0.000000 1.000000 0.000000 -vn 0.000000 -1.000000 0.000000 -vn 1.000000 -0.000000 0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.999100 -0.043400 0.000000 -vn 0.985800 0.168000 0.000000 -s off -f 37/1/1 53/2/1 52/3/1 -f 2/4/2 33/5/2 48/6/2 -f 4/7/3 48/8/3 47/9/3 -f 6/10/4 47/11/4 46/12/4 -f 8/13/5 46/14/5 45/15/5 -f 10/16/6 45/17/6 44/18/6 -f 12/19/7 44/20/7 43/21/7 -f 14/22/8 43/23/8 42/24/8 -f 16/25/9 42/26/9 41/27/9 -f 20/28/10 18/29/10 41/30/10 -f 22/31/11 20/28/11 40/32/11 -f 24/33/12 22/31/12 39/34/12 -f 26/35/13 24/33/13 38/36/13 -f 28/37/14 26/35/14 37/38/14 -f 30/39/15 28/37/15 36/40/15 -f 32/41/16 30/39/16 35/42/16 -f 32/41/17 34/43/17 33/44/17 -f 35/45/1 36/46/1 52/3/1 -f 34/47/1 35/48/1 51/49/1 -f 34/50/1 50/51/1 49/52/1 -f 48/53/1 33/54/1 49/52/1 -f 47/55/1 48/56/1 64/57/1 -f 47/58/1 63/59/1 62/60/1 -f 46/61/1 62/60/1 61/62/1 -f 45/63/1 61/62/1 60/64/1 -f 43/65/1 44/66/1 60/64/1 -f 43/67/1 59/68/1 58/69/1 -f 42/70/1 58/69/1 57/71/1 -f 41/72/1 57/73/1 56/74/1 -f 39/75/1 40/76/1 56/74/1 -f 38/77/1 39/78/1 55/79/1 -f 38/80/1 54/81/1 53/2/1 -f 64/57/18 49/52/18 65/82/18 -f 50/51/19 66/83/19 65/82/19 -f 64/57/20 80/84/20 79/85/20 -f 63/59/21 79/85/21 78/86/21 -f 62/60/22 78/86/22 77/87/22 -f 60/64/23 61/62/23 77/87/23 -f 60/64/24 76/88/24 75/89/24 -f 58/69/25 59/68/25 75/89/25 -f 58/69/26 74/90/26 73/91/26 -f 56/74/27 57/73/27 73/92/27 -f 50/51/28 51/49/28 67/93/28 -f 51/49/29 52/3/29 68/94/29 -f 52/3/30 53/2/30 69/95/30 -f 54/81/31 70/96/31 69/95/31 -f 54/81/32 55/79/32 71/97/32 -f 56/74/33 72/98/33 71/97/33 -f 89/99/34 93/100/34 81/101/34 -f 79/85/35 95/102/35 94/103/35 -f 80/84/36 96/104/36 95/105/36 -f 65/82/37 81/106/37 96/107/37 -f 65/82/38 66/83/38 82/108/38 -f 66/83/39 67/93/39 83/109/39 -f 67/93/40 68/94/40 84/110/40 -f 69/95/41 85/111/41 84/112/41 -f 70/96/42 86/113/42 85/114/42 -f 70/96/43 71/97/43 87/115/43 -f 72/98/44 88/116/44 87/117/44 -f 72/98/45 73/92/45 89/118/45 -f 74/90/46 90/119/46 89/120/46 -f 75/89/47 91/121/47 90/122/47 -f 76/88/48 92/123/48 91/124/48 -f 77/87/49 93/125/49 92/126/49 -f 78/86/50 94/127/50 93/128/50 -f 98/129/51 99/130/51 29/131/51 -f 97/132/52 98/133/52 31/134/52 -f 112/135/53 97/136/53 1/137/53 -f 5/138/54 111/139/54 112/140/54 -f 7/141/55 110/142/55 111/143/55 -f 9/144/56 109/145/56 110/146/56 -f 11/147/57 108/148/57 109/149/57 -f 13/150/58 107/151/58 108/152/58 -f 15/153/59 106/154/59 107/155/59 -f 17/156/60 105/157/60 106/158/60 -f 19/159/61 104/160/61 105/161/61 -f 103/162/62 104/163/62 19/159/62 -f 102/164/63 103/165/63 21/166/63 -f 101/167/64 102/168/64 23/169/64 -f 100/170/65 101/171/65 25/172/65 -f 99/173/66 100/174/66 27/175/66 -f 113/176/34 114/177/34 98/178/34 -f 114/177/34 115/179/34 99/180/34 -f 115/179/34 116/181/34 100/182/34 -f 100/183/34 116/181/34 117/184/34 -f 117/184/34 118/185/34 102/186/34 -f 102/187/34 118/185/34 119/188/34 -f 119/188/34 120/189/34 104/190/34 -f 120/189/34 121/191/34 105/192/34 -f 121/193/34 122/194/34 106/195/34 -f 122/194/34 123/196/34 107/197/34 -f 123/196/34 124/198/34 108/199/34 -f 108/200/34 124/198/34 125/201/34 -f 109/202/34 125/201/34 126/203/34 -f 126/203/34 127/204/34 111/205/34 -f 127/204/34 128/206/34 112/207/34 -f 112/208/34 128/206/34 113/176/34 -f 144/209/18 129/210/18 113/176/18 -f 127/204/20 143/211/20 144/209/20 -f 126/203/21 142/212/21 143/211/21 -f 125/201/22 141/213/22 142/212/22 -f 129/210/19 130/214/19 114/177/19 -f 130/214/28 131/215/28 115/179/28 -f 131/215/29 132/216/29 116/181/29 -f 132/216/30 133/217/30 117/184/30 -f 133/217/31 134/218/31 118/185/31 -f 134/218/32 135/219/32 119/188/32 -f 135/219/33 136/220/33 120/189/33 -f 140/221/23 141/213/23 125/201/23 -f 123/196/24 139/222/24 140/221/24 -f 138/223/25 139/222/25 123/196/25 -f 121/193/26 137/224/26 138/223/26 -f 136/220/27 137/225/27 121/191/27 -f 159/226/67 160/227/67 144/209/67 -f 160/228/68 145/229/68 129/210/68 -f 129/210/69 145/230/69 146/231/69 -f 130/214/70 146/232/70 147/233/70 -f 147/234/71 148/235/71 132/216/71 -f 148/236/72 149/237/72 133/217/72 -f 149/238/73 150/239/73 134/218/73 -f 134/218/74 150/240/74 151/241/74 -f 135/219/75 151/242/75 152/243/75 -f 152/244/76 153/245/76 137/225/76 -f 153/246/77 154/247/77 138/223/77 -f 154/248/78 155/249/78 139/222/78 -f 142/212/79 158/250/79 159/251/79 -f 157/252/80 158/253/80 142/212/80 -f 156/254/81 157/255/81 141/213/81 -f 139/222/82 155/256/82 156/257/82 -f 155/258/1 151/259/1 147/260/1 -f 174/261/21 175/262/21 6/10/21 -f 206/263/21 207/264/21 191/265/21 -f 7/141/21 5/138/21 223/266/21 -f 5/138/20 3/267/20 224/268/20 -f 3/267/18 1/137/18 209/269/18 -f 31/134/19 210/270/19 209/269/19 -f 29/131/28 211/271/28 210/270/28 -f 27/175/29 212/272/29 211/271/29 -f 25/172/30 213/273/30 212/272/30 -f 23/169/31 214/274/31 213/273/31 -f 21/166/32 215/275/32 214/274/32 -f 19/159/33 216/276/33 215/275/33 -f 17/277/27 217/278/27 216/276/27 -f 17/156/26 15/153/26 218/279/26 -f 9/144/22 7/141/22 222/280/22 -f 11/147/23 9/144/23 221/281/23 -f 13/150/24 11/147/24 220/282/24 -f 15/153/25 13/150/25 219/283/25 -f 175/284/34 287/285/34 288/286/34 -f 207/264/20 208/287/20 192/288/20 -f 208/287/18 193/289/18 177/290/18 -f 193/289/19 194/291/19 178/292/19 -f 194/291/28 195/293/28 179/294/28 -f 195/293/29 196/295/29 180/296/29 -f 175/262/20 176/297/20 4/7/20 -f 176/297/18 161/298/18 2/4/18 -f 161/298/19 162/299/19 32/41/19 -f 32/41/28 162/299/28 163/300/28 -f 30/39/29 163/300/29 164/301/29 -f 28/37/30 164/301/30 165/302/30 -f 26/35/31 165/302/31 166/303/31 -f 24/33/32 166/303/32 167/304/32 -f 22/31/33 167/304/33 168/305/33 -f 20/28/27 168/305/27 169/306/27 -f 173/307/22 174/261/22 8/13/22 -f 172/308/23 173/307/23 10/16/23 -f 171/309/24 172/308/24 12/19/24 -f 170/310/25 171/309/25 14/22/25 -f 18/311/26 169/312/26 170/310/26 -f 189/313/22 205/314/22 206/263/22 -f 188/315/23 204/316/23 205/314/23 -f 187/317/24 203/318/24 204/316/24 -f 186/319/25 202/320/25 203/318/25 -f 185/321/26 201/322/26 202/320/26 -f 200/323/27 201/324/27 185/325/27 -f 199/326/33 200/323/33 184/327/33 -f 198/328/32 199/326/32 183/329/32 -f 197/330/31 198/328/31 182/331/31 -f 196/295/30 197/330/30 181/332/30 -f 176/333/34 288/286/34 273/334/34 -f 273/334/34 274/335/34 162/336/34 -f 274/335/34 275/337/34 163/338/34 -f 275/337/34 276/339/34 164/340/34 -f 276/339/34 277/341/34 165/342/34 -f 277/341/34 278/343/34 166/344/34 -f 278/343/34 279/345/34 167/346/34 -f 167/346/34 279/345/34 280/347/34 -f 280/347/34 281/348/34 169/349/34 -f 281/348/34 282/350/34 170/351/34 -f 282/350/34 283/352/34 171/353/34 -f 283/352/34 284/354/34 172/355/34 -f 286/356/34 287/285/34 175/284/34 -f 285/357/34 286/356/34 174/358/34 -f 172/355/34 284/354/34 285/357/34 -f 259/359/29 260/360/29 276/361/29 -f 260/360/30 261/362/30 277/363/30 -f 261/362/31 262/364/31 278/365/31 -f 180/366/1 260/367/1 259/368/1 -f 181/369/1 261/370/1 260/367/1 -f 182/371/1 262/372/1 261/370/1 -f 258/373/28 259/359/28 275/374/28 -f 258/373/19 274/375/19 273/376/19 -f 257/377/18 273/376/18 288/378/18 -f 272/379/20 288/378/20 287/380/20 -f 271/381/21 287/380/21 286/382/21 -f 270/383/22 286/382/22 285/384/22 -f 269/385/23 285/384/23 284/386/23 -f 278/365/83 262/364/83 311/387/83 -f 267/388/25 283/389/25 282/390/25 -f 266/391/26 282/390/26 281/392/26 -f 264/393/27 265/394/27 281/395/27 -f 263/396/33 264/393/33 280/397/33 -f 279/398/84 310/399/84 312/400/84 -f 183/401/1 263/402/1 262/372/1 -f 183/401/1 184/403/1 264/404/1 -f 185/405/1 265/406/1 264/404/1 -f 185/405/1 186/407/1 266/408/1 -f 187/409/1 267/410/1 266/408/1 -f 188/411/1 268/412/1 267/410/1 -f 188/411/1 189/413/1 269/414/1 -f 190/415/1 270/416/1 269/414/1 -f 190/415/1 191/417/1 271/418/1 -f 192/419/1 272/420/1 271/418/1 -f 192/419/1 177/421/1 257/422/1 -f 178/423/1 258/424/1 257/422/1 -f 179/425/1 259/368/1 258/424/1 -f 211/426/1 227/427/1 226/428/1 -f 226/429/28 227/430/28 243/431/28 -f 242/432/34 243/433/34 195/434/34 -f 212/435/1 228/436/1 227/427/1 -f 213/437/1 229/438/1 228/436/1 -f 227/430/29 228/439/29 244/440/29 -f 228/439/30 229/441/30 245/442/30 -f 214/443/1 230/444/1 229/438/1 -f 229/441/31 230/445/31 246/446/31 -f 279/345/34 278/343/34 309/447/34 -f 215/448/1 231/449/1 230/444/1 -f 215/448/1 216/450/1 232/451/1 -f 231/452/33 232/453/33 248/454/33 -f 232/453/27 233/455/27 249/456/27 -f 234/457/26 250/458/26 249/459/26 -f 235/460/25 251/461/25 250/458/25 -f 237/462/23 253/463/23 252/464/23 -f 238/465/22 254/466/22 253/463/22 -f 239/467/21 255/468/21 254/466/21 -f 240/469/20 256/470/20 255/468/20 -f 225/471/18 241/472/18 256/470/18 -f 226/429/19 242/473/19 241/472/19 -f 210/474/1 226/428/1 225/475/1 -f 209/476/1 225/475/1 240/477/1 -f 224/478/1 240/477/1 239/479/1 -f 222/480/1 223/481/1 239/479/1 -f 222/480/1 238/482/1 237/483/1 -f 220/484/1 221/485/1 237/483/1 -f 220/484/1 236/486/1 235/487/1 -f 219/488/1 235/487/1 234/489/1 -f 217/490/1 218/491/1 234/489/1 -f 217/490/1 233/492/1 232/451/1 -f 243/433/34 244/493/34 196/494/34 -f 244/493/34 245/495/34 197/496/34 -f 245/495/34 246/497/34 198/498/34 -f 246/497/34 247/499/34 199/500/34 -f 199/500/34 247/499/34 248/501/34 -f 248/501/34 249/502/34 201/503/34 -f 249/502/34 250/504/34 202/505/34 -f 250/504/34 251/506/34 203/507/34 -f 251/506/34 252/508/34 204/509/34 -f 204/509/34 252/508/34 253/510/34 -f 253/510/34 254/511/34 206/512/34 -f 254/511/34 255/513/34 207/514/34 -f 255/513/34 256/515/34 208/516/34 -f 256/515/34 241/517/34 193/518/34 -f 241/517/34 242/432/34 194/519/34 -f 290/520/85 292/521/85 291/522/85 -f 295/523/86 296/524/86 294/525/86 -f 297/526/87 298/527/87 300/528/87 -f 301/529/88 303/530/88 304/531/88 -f 307/532/86 308/533/86 306/534/86 -f 311/387/86 312/400/86 310/399/86 -f 315/535/86 316/536/86 314/537/86 -f 319/538/86 320/539/86 318/540/86 -f 263/402/1 312/541/1 311/542/1 -f 247/543/84 318/540/84 320/539/84 -f 247/499/34 246/497/34 317/544/34 -f 230/445/83 319/538/83 317/545/83 -f 231/449/1 320/546/1 319/547/1 -f 251/461/89 235/460/89 315/535/89 -f 235/487/1 236/486/1 316/548/1 -f 251/506/34 313/549/34 314/550/34 -f 252/464/90 314/537/90 316/536/90 -f 267/388/89 307/532/89 305/551/89 -f 267/410/1 268/412/1 308/552/1 -f 284/386/90 306/534/90 308/533/90 -f 283/352/34 305/553/34 306/554/34 -f 36/555/1 37/1/1 52/3/1 -f 4/7/2 2/4/2 48/6/2 -f 6/10/3 4/7/3 47/9/3 -f 8/13/4 6/10/4 46/12/4 -f 10/16/5 8/13/5 45/15/5 -f 12/19/6 10/16/6 44/18/6 -f 14/22/7 12/19/7 43/21/7 -f 16/25/8 14/22/8 42/24/8 -f 18/311/9 16/25/9 41/27/9 -f 40/556/10 20/28/10 41/30/10 -f 39/557/11 22/31/11 40/32/11 -f 38/558/12 24/33/12 39/34/12 -f 37/559/13 26/35/13 38/36/13 -f 36/560/14 28/37/14 37/38/14 -f 35/561/15 30/39/15 36/40/15 -f 34/562/16 32/41/16 35/42/16 -f 2/4/17 32/41/17 33/44/17 -f 51/49/1 35/45/1 52/3/1 -f 50/51/1 34/47/1 51/49/1 -f 33/563/1 34/50/1 49/52/1 -f 64/57/1 48/53/1 49/52/1 -f 63/59/1 47/55/1 64/57/1 -f 46/564/1 47/58/1 62/60/1 -f 45/565/1 46/61/1 61/62/1 -f 44/566/1 45/63/1 60/64/1 -f 59/68/1 43/65/1 60/64/1 -f 42/567/1 43/67/1 58/69/1 -f 41/568/1 42/70/1 57/71/1 -f 40/569/1 41/72/1 56/74/1 -f 55/79/1 39/75/1 56/74/1 -f 54/81/1 38/77/1 55/79/1 -f 37/570/1 38/80/1 53/2/1 -f 80/84/18 64/57/18 65/82/18 -f 49/52/19 50/51/19 65/82/19 -f 63/59/20 64/57/20 79/85/20 -f 62/60/21 63/59/21 78/86/21 -f 61/62/22 62/60/22 77/87/22 -f 76/88/23 60/64/23 77/87/23 -f 59/68/24 60/64/24 75/89/24 -f 74/90/25 58/69/25 75/89/25 -f 57/71/26 58/69/26 73/91/26 -f 72/98/27 56/74/27 73/92/27 -f 66/83/28 50/51/28 67/93/28 -f 67/93/29 51/49/29 68/94/29 -f 68/94/30 52/3/30 69/95/30 -f 53/2/31 54/81/31 69/95/31 -f 70/96/32 54/81/32 71/97/32 -f 55/79/33 56/74/33 71/97/33 -f 81/101/34 82/571/34 83/572/34 -f 83/572/34 84/573/34 81/101/34 -f 85/574/34 86/575/34 87/576/34 -f 87/576/34 88/577/34 89/99/34 -f 89/99/34 90/578/34 91/579/34 -f 91/579/34 92/580/34 89/99/34 -f 93/100/34 94/581/34 81/101/34 -f 95/582/34 96/583/34 81/101/34 -f 81/101/34 84/573/34 85/574/34 -f 85/574/34 87/576/34 81/101/34 -f 89/99/34 92/580/34 93/100/34 -f 94/581/34 95/582/34 81/101/34 -f 81/101/34 87/576/34 89/99/34 -f 78/86/35 79/85/35 94/103/35 -f 79/85/36 80/84/36 95/105/36 -f 80/84/37 65/82/37 96/107/37 -f 81/584/38 65/82/38 82/108/38 -f 82/585/39 66/83/39 83/109/39 -f 83/586/40 67/93/40 84/110/40 -f 68/94/41 69/95/41 84/112/41 -f 69/95/42 70/96/42 85/114/42 -f 86/587/43 70/96/43 87/115/43 -f 71/97/44 72/98/44 87/117/44 -f 88/588/45 72/98/45 89/118/45 -f 73/91/46 74/90/46 89/120/46 -f 74/90/47 75/89/47 90/122/47 -f 75/89/48 76/88/48 91/124/48 -f 76/88/49 77/87/49 92/126/49 -f 77/87/50 78/86/50 93/128/50 -f 31/134/51 98/129/51 29/131/51 -f 1/137/52 97/132/52 31/134/52 -f 3/267/53 112/135/53 1/137/53 -f 3/267/54 5/138/54 112/140/54 -f 5/138/55 7/141/55 111/143/55 -f 7/141/56 9/144/56 110/146/56 -f 9/144/57 11/147/57 109/149/57 -f 11/147/58 13/150/58 108/152/58 -f 13/150/59 15/153/59 107/155/59 -f 15/153/60 17/156/60 106/158/60 -f 17/277/61 19/159/61 105/161/61 -f 21/166/62 103/162/62 19/159/62 -f 23/169/63 102/164/63 21/166/63 -f 25/172/64 101/167/64 23/169/64 -f 27/175/65 100/170/65 25/172/65 -f 29/131/66 99/173/66 27/175/66 -f 97/589/34 113/176/34 98/178/34 -f 98/590/34 114/177/34 99/180/34 -f 99/591/34 115/179/34 100/182/34 -f 101/592/34 100/183/34 117/184/34 -f 101/593/34 117/184/34 102/186/34 -f 103/594/34 102/187/34 119/188/34 -f 103/595/34 119/188/34 104/190/34 -f 104/596/34 120/189/34 105/192/34 -f 105/597/34 121/193/34 106/195/34 -f 106/598/34 122/194/34 107/197/34 -f 107/599/34 123/196/34 108/199/34 -f 109/600/34 108/200/34 125/201/34 -f 110/601/34 109/202/34 126/203/34 -f 110/602/34 126/203/34 111/205/34 -f 111/603/34 127/204/34 112/207/34 -f 97/604/34 112/208/34 113/176/34 -f 128/206/18 144/209/18 113/176/18 -f 128/206/20 127/204/20 144/209/20 -f 127/204/21 126/203/21 143/211/21 -f 126/203/22 125/201/22 142/212/22 -f 113/176/19 129/210/19 114/177/19 -f 114/177/28 130/214/28 115/179/28 -f 115/179/29 131/215/29 116/181/29 -f 116/181/30 132/216/30 117/184/30 -f 117/184/31 133/217/31 118/185/31 -f 118/185/32 134/218/32 119/188/32 -f 119/188/33 135/219/33 120/189/33 -f 124/198/23 140/221/23 125/201/23 -f 124/198/24 123/196/24 140/221/24 -f 122/194/25 138/223/25 123/196/25 -f 122/194/26 121/193/26 138/223/26 -f 120/189/27 136/220/27 121/191/27 -f 143/211/67 159/226/67 144/209/67 -f 144/209/68 160/228/68 129/210/68 -f 130/214/69 129/210/69 146/231/69 -f 131/215/70 130/214/70 147/233/70 -f 131/215/71 147/234/71 132/216/71 -f 132/216/72 148/236/72 133/217/72 -f 133/217/73 149/238/73 134/218/73 -f 135/219/74 134/218/74 151/241/74 -f 136/220/75 135/219/75 152/243/75 -f 136/220/76 152/244/76 137/225/76 -f 137/224/77 153/246/77 138/223/77 -f 138/223/78 154/248/78 139/222/78 -f 143/211/79 142/212/79 159/251/79 -f 141/213/80 157/252/80 142/212/80 -f 140/221/81 156/254/81 141/213/81 -f 140/221/82 139/222/82 156/257/82 -f 147/260/1 146/605/1 145/606/1 -f 145/606/1 160/607/1 159/608/1 -f 159/608/1 158/609/1 157/610/1 -f 157/610/1 156/611/1 159/608/1 -f 155/258/1 154/612/1 151/259/1 -f 153/613/1 152/614/1 151/259/1 -f 151/259/1 150/615/1 149/616/1 -f 149/616/1 148/617/1 151/259/1 -f 147/260/1 145/606/1 155/258/1 -f 159/608/1 156/611/1 155/258/1 -f 154/612/1 153/613/1 151/259/1 -f 151/259/1 148/617/1 147/260/1 -f 145/606/1 159/608/1 155/258/1 -f 8/13/21 174/261/21 6/10/21 -f 190/618/21 206/263/21 191/265/21 -f 222/280/21 7/141/21 223/266/21 -f 223/266/20 5/138/20 224/268/20 -f 224/268/18 3/267/18 209/269/18 -f 1/137/19 31/134/19 209/269/19 -f 31/134/28 29/131/28 210/270/28 -f 29/131/29 27/175/29 211/271/29 -f 27/175/30 25/172/30 212/272/30 -f 25/172/31 23/169/31 213/273/31 -f 23/169/32 21/166/32 214/274/32 -f 21/166/33 19/159/33 215/275/33 -f 19/159/27 17/277/27 216/276/27 -f 217/619/26 17/156/26 218/279/26 -f 221/281/22 9/144/22 222/280/22 -f 220/282/23 11/147/23 221/281/23 -f 219/283/24 13/150/24 220/282/24 -f 218/279/25 15/153/25 219/283/25 -f 176/333/34 175/284/34 288/286/34 -f 191/265/20 207/264/20 192/288/20 -f 192/288/18 208/287/18 177/290/18 -f 177/290/19 193/289/19 178/292/19 -f 178/292/28 194/291/28 179/294/28 -f 179/294/29 195/293/29 180/296/29 -f 6/10/20 175/262/20 4/7/20 -f 4/7/18 176/297/18 2/4/18 -f 2/4/19 161/298/19 32/41/19 -f 30/39/28 32/41/28 163/300/28 -f 28/37/29 30/39/29 164/301/29 -f 26/35/30 28/37/30 165/302/30 -f 24/33/31 26/35/31 166/303/31 -f 22/31/32 24/33/32 167/304/32 -f 20/28/33 22/31/33 168/305/33 -f 18/29/27 20/28/27 169/306/27 -f 10/16/22 173/307/22 8/13/22 -f 12/19/23 172/308/23 10/16/23 -f 14/22/24 171/309/24 12/19/24 -f 16/25/25 170/310/25 14/22/25 -f 16/25/26 18/311/26 170/310/26 -f 190/618/22 189/313/22 206/263/22 -f 189/313/23 188/315/23 205/314/23 -f 188/315/24 187/317/24 204/316/24 -f 187/317/25 186/319/25 203/318/25 -f 186/319/26 185/321/26 202/320/26 -f 184/327/27 200/323/27 185/325/27 -f 183/329/33 199/326/33 184/327/33 -f 182/331/32 198/328/32 183/329/32 -f 181/332/31 197/330/31 182/331/31 -f 180/296/30 196/295/30 181/332/30 -f 161/620/34 176/333/34 273/334/34 -f 161/620/34 273/334/34 162/336/34 -f 162/336/34 274/335/34 163/338/34 -f 163/338/34 275/337/34 164/340/34 -f 164/340/34 276/339/34 165/342/34 -f 165/342/34 277/341/34 166/344/34 -f 166/344/34 278/343/34 167/346/34 -f 168/621/34 167/346/34 280/347/34 -f 168/621/34 280/347/34 169/349/34 -f 169/349/34 281/348/34 170/351/34 -f 170/351/34 282/350/34 171/353/34 -f 171/353/34 283/352/34 172/355/34 -f 174/358/34 286/356/34 175/284/34 -f 173/622/34 285/357/34 174/358/34 -f 173/622/34 172/355/34 285/357/34 -f 275/374/29 259/359/29 276/361/29 -f 276/361/30 260/360/30 277/363/30 -f 277/363/31 261/362/31 278/365/31 -f 179/425/1 180/366/1 259/368/1 -f 180/366/1 181/369/1 260/367/1 -f 181/369/1 182/371/1 261/370/1 -f 274/375/28 258/373/28 275/374/28 -f 257/377/19 258/373/19 273/376/19 -f 272/379/18 257/377/18 288/378/18 -f 271/381/20 272/379/20 287/380/20 -f 270/383/21 271/381/21 286/382/21 -f 269/385/22 270/383/22 285/384/22 -f 268/623/23 269/385/23 284/386/23 -f 309/624/83 278/365/83 311/387/83 -f 266/391/25 267/388/25 282/390/25 -f 265/625/26 266/391/26 281/392/26 -f 280/397/27 264/393/27 281/395/27 -f 279/398/33 263/396/33 280/397/33 -f 263/396/84 279/398/84 312/400/84 -f 182/371/1 183/401/1 262/372/1 -f 263/402/1 183/401/1 264/404/1 -f 184/403/1 185/405/1 264/404/1 -f 265/406/1 185/405/1 266/408/1 -f 186/407/1 187/409/1 266/408/1 -f 187/409/1 188/411/1 267/410/1 -f 268/412/1 188/411/1 269/414/1 -f 189/413/1 190/415/1 269/414/1 -f 270/416/1 190/415/1 271/418/1 -f 191/417/1 192/419/1 271/418/1 -f 272/420/1 192/419/1 257/422/1 -f 177/421/1 178/423/1 257/422/1 -f 178/423/1 179/425/1 258/424/1 -f 210/474/1 211/426/1 226/428/1 -f 242/473/28 226/429/28 243/431/28 -f 194/519/34 242/432/34 195/434/34 -f 211/426/1 212/435/1 227/427/1 -f 212/435/1 213/437/1 228/436/1 -f 243/431/29 227/430/29 244/440/29 -f 244/440/30 228/439/30 245/442/30 -f 213/437/1 214/443/1 229/438/1 -f 245/442/31 229/441/31 246/446/31 -f 310/626/34 279/345/34 309/447/34 -f 214/443/1 215/448/1 230/444/1 -f 231/449/1 215/448/1 232/451/1 -f 247/543/33 231/452/33 248/454/33 -f 248/454/27 232/453/27 249/456/27 -f 233/627/26 234/457/26 249/459/26 -f 234/457/25 235/460/25 250/458/25 -f 236/628/23 237/462/23 252/464/23 -f 237/462/22 238/465/22 253/463/22 -f 238/465/21 239/467/21 254/466/21 -f 239/467/20 240/469/20 255/468/20 -f 240/469/18 225/471/18 256/470/18 -f 225/471/19 226/429/19 241/472/19 -f 209/476/1 210/474/1 225/475/1 -f 224/478/1 209/476/1 240/477/1 -f 223/481/1 224/478/1 239/479/1 -f 238/482/1 222/480/1 239/479/1 -f 221/485/1 222/480/1 237/483/1 -f 236/486/1 220/484/1 237/483/1 -f 219/488/1 220/484/1 235/487/1 -f 218/491/1 219/488/1 234/489/1 -f 233/492/1 217/490/1 234/489/1 -f 216/450/1 217/490/1 232/451/1 -f 195/434/34 243/433/34 196/494/34 -f 196/494/34 244/493/34 197/496/34 -f 197/496/34 245/495/34 198/498/34 -f 198/498/34 246/497/34 199/500/34 -f 200/629/34 199/500/34 248/501/34 -f 200/629/34 248/501/34 201/503/34 -f 201/503/34 249/502/34 202/505/34 -f 202/505/34 250/504/34 203/507/34 -f 203/507/34 251/506/34 204/509/34 -f 205/630/34 204/509/34 253/510/34 -f 205/630/34 253/510/34 206/512/34 -f 206/512/34 254/511/34 207/514/34 -f 207/514/34 255/513/34 208/516/34 -f 208/516/34 256/515/34 193/518/34 -f 193/518/34 241/517/34 194/519/34 -f 289/631/85 290/520/85 291/522/85 -f 293/632/86 295/523/86 294/525/86 -f 299/633/87 297/526/87 300/528/87 -f 302/634/88 301/529/88 304/531/88 -f 305/551/86 307/532/86 306/534/86 -f 309/624/86 311/387/86 310/399/86 -f 313/635/86 315/535/86 314/537/86 -f 317/545/86 319/538/86 318/540/86 -f 262/372/1 263/402/1 311/542/1 -f 231/452/84 247/543/84 320/539/84 -f 318/636/34 247/499/34 317/544/34 -f 246/446/83 230/445/83 317/545/83 -f 230/444/1 231/449/1 319/547/1 -f 313/635/89 251/461/89 315/535/89 -f 315/637/1 235/487/1 316/548/1 -f 252/508/34 251/506/34 314/550/34 -f 236/628/90 252/464/90 316/536/90 -f 283/389/89 267/388/89 305/551/89 -f 307/638/1 267/410/1 308/552/1 -f 268/623/90 284/386/90 308/533/90 -f 284/354/34 283/352/34 306/554/34 diff --git a/src/main/resources/assets/hbm/models/Mirv.obj b/src/main/resources/assets/hbm/models/Mirv.obj deleted file mode 100644 index 9d4cf4736..000000000 --- a/src/main/resources/assets/hbm/models/Mirv.obj +++ /dev/null @@ -1,132 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: '' -# www.blender.org -o Cone -v 0.000000 0.000000 -0.250000 -v 0.095671 0.000000 -0.230970 -v 0.176777 0.000000 -0.176777 -v 0.230970 0.000000 -0.095671 -v 0.250000 0.000000 0.000000 -v 0.000000 1.000000 0.000000 -v 0.230970 0.000000 0.095671 -v 0.176777 0.000000 0.176777 -v 0.095671 0.000000 0.230970 -v 0.000000 0.000000 0.250000 -v -0.095671 0.000000 0.230970 -v -0.176777 0.000000 0.176777 -v -0.230970 0.000000 0.095671 -v -0.250000 0.000000 -0.000000 -v -0.230970 0.000000 -0.095671 -v -0.176777 0.000000 -0.176777 -v -0.095671 0.000000 -0.230970 -vt 0.604260 0.026082 -vt 0.604260 0.474169 -vt 0.562802 0.028089 -vt 0.377812 0.973917 -vt 0.398565 0.526333 -vt 0.419317 0.973918 -vt 0.419224 0.026082 -vt 0.419224 0.474169 -vt 0.377766 0.028089 -vt 0.025530 0.739009 -vt 0.046282 0.291425 -vt 0.067035 0.739009 -vt 0.470284 0.472162 -vt 0.511742 0.026082 -vt 0.511742 0.474169 -vt 0.118094 0.739009 -vt 0.138846 0.291425 -vt 0.159599 0.739009 -vt 0.840401 0.973416 -vt 0.861154 0.525831 -vt 0.881906 0.973416 -vt 0.747837 0.973416 -vt 0.768589 0.525831 -vt 0.789342 0.973416 -vt 0.285248 0.472162 -vt 0.326707 0.026082 -vt 0.326707 0.474169 -vt 0.747837 0.473667 -vt 0.768589 0.026082 -vt 0.789342 0.473667 -vt 0.655319 0.472162 -vt 0.696778 0.026082 -vt 0.696778 0.474169 -vt 0.285248 0.973918 -vt 0.306001 0.526333 -vt 0.326753 0.973918 -vt 0.562941 0.973918 -vt 0.583693 0.526333 -vt 0.604446 0.973918 -vt 0.840401 0.473667 -vt 0.861154 0.026082 -vt 0.881906 0.473667 -vt 0.932966 0.473667 -vt 0.953718 0.026082 -vt 0.974470 0.473667 -vt 0.470377 0.973918 -vt 0.491129 0.526333 -vt 0.511882 0.973918 -vt 0.218306 0.072293 -vt 0.188957 0.223033 -vt 0.070761 0.042310 -vt 0.041413 0.193049 -vt 0.025530 0.153873 -vt 0.025530 0.111469 -vt 0.041413 0.072293 -vt 0.109107 0.026082 -vt 0.150612 0.026082 -vt 0.188957 0.042310 -vt 0.234189 0.111469 -vt 0.234189 0.153873 -vt 0.218306 0.193049 -vt 0.150612 0.239260 -vt 0.109107 0.239260 -vt 0.070761 0.223032 -vn -0.539600 0.238100 -0.807500 -vn 0.189500 0.238100 -0.952600 -vn -0.807500 0.238100 -0.539600 -vn -0.952600 0.238100 -0.189500 -vn -0.952600 0.238100 0.189500 -vn -0.807500 0.238100 0.539600 -vn -0.539600 0.238100 0.807500 -vn -0.189500 0.238100 0.952600 -vn 0.189500 0.238100 0.952600 -vn 0.539600 0.238100 0.807500 -vn 0.807500 0.238100 0.539600 -vn 0.952600 0.238100 0.189500 -vn 0.952600 0.238100 -0.189500 -vn 0.807500 0.238100 -0.539600 -vn -0.189500 0.238100 -0.952600 -vn 0.539600 0.238100 -0.807500 -vn 0.000000 -1.000000 0.000000 -s off -f 16/1/1 6/2/1 17/3/1 -f 1/4/2 6/5/2 2/6/2 -f 15/7/3 6/8/3 16/9/3 -f 14/10/4 6/11/4 15/12/4 -f 13/13/5 6/14/5 14/15/5 -f 12/16/6 6/17/6 13/18/6 -f 11/19/7 6/20/7 12/21/7 -f 10/22/8 6/23/8 11/24/8 -f 9/25/9 6/26/9 10/27/9 -f 8/28/10 6/29/10 9/30/10 -f 7/31/11 6/32/11 8/33/11 -f 5/34/12 6/35/12 7/36/12 -f 4/37/13 6/38/13 5/39/13 -f 3/40/14 6/41/14 4/42/14 -f 17/43/15 6/44/15 1/45/15 -f 2/46/16 6/47/16 3/48/16 -f 9/49/17 13/50/17 4/51/17 -f 17/52/17 1/53/17 2/54/17 -f 2/54/17 3/55/17 17/52/17 -f 4/51/17 5/56/17 7/57/17 -f 7/57/17 8/58/17 4/51/17 -f 9/49/17 10/59/17 13/50/17 -f 11/60/17 12/61/17 13/50/17 -f 13/50/17 14/62/17 15/63/17 -f 15/63/17 16/64/17 17/52/17 -f 17/52/17 3/55/17 4/51/17 -f 4/51/17 8/58/17 9/49/17 -f 10/59/17 11/60/17 13/50/17 -f 13/50/17 15/63/17 17/52/17 -f 17/52/17 4/51/17 13/50/17 diff --git a/src/main/resources/assets/hbm/models/Prototype.obj b/src/main/resources/assets/hbm/models/Prototype.obj deleted file mode 100644 index ca2890b6c..000000000 --- a/src/main/resources/assets/hbm/models/Prototype.obj +++ /dev/null @@ -1,1940 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'prototype.blend' -# www.blender.org -o Cylinder -v -0.000000 1.150000 -0.099999 -v -0.000000 1.150000 0.100001 -v 0.229610 1.104328 -0.100000 -v 0.229610 1.104328 0.100000 -v 0.424264 0.974264 -0.100000 -v 0.424264 0.974264 0.100000 -v 0.554328 0.779610 -0.100000 -v 0.554328 0.779610 0.100000 -v 0.600000 0.550000 -0.100000 -v 0.600000 0.550000 0.100000 -v 0.554328 0.320390 -0.100000 -v 0.554328 0.320390 0.100000 -v 0.424264 0.125736 -0.100000 -v 0.424264 0.125736 0.100000 -v 0.229610 -0.004328 -0.100000 -v 0.229610 -0.004328 0.100000 -v 0.000000 -0.050000 -0.100001 -v 0.000000 -0.050000 0.099999 -v -0.229610 -0.004328 -0.100000 -v -0.229610 -0.004328 0.100000 -v -0.424264 0.125736 -0.100000 -v -0.424264 0.125736 0.100000 -v -0.554328 0.320390 -0.100000 -v -0.554328 0.320390 0.100000 -v -0.600000 0.550000 -0.100000 -v -0.600000 0.550000 0.100000 -v -0.554328 0.779610 -0.100000 -v -0.554328 0.779610 0.100000 -v -0.424264 0.974264 -0.100000 -v -0.424264 0.974264 0.100000 -v -0.229610 1.104328 -0.100000 -v -0.229610 1.104328 0.100000 -v 0.191342 1.011940 0.100000 -v 0.000000 1.050000 0.100000 -v -0.191341 1.011940 0.100000 -v -0.353553 0.903553 0.100000 -v -0.461940 0.741342 0.100000 -v -0.500000 0.550000 0.100000 -v -0.461940 0.358658 0.100000 -v -0.353553 0.196446 0.100000 -v -0.191342 0.088060 0.100000 -v 0.000000 0.050000 0.100000 -v 0.191342 0.088060 0.100000 -v 0.353553 0.196447 0.100000 -v 0.461940 0.358658 0.100000 -v 0.500000 0.550000 0.100000 -v 0.461940 0.741342 0.100000 -v 0.353553 0.903553 0.100000 -v 0.000000 1.050000 -0.100000 -v 0.191342 1.011940 -0.100000 -v 0.353553 0.903553 -0.100000 -v 0.461940 0.741342 -0.100000 -v 0.500000 0.550000 -0.100000 -v 0.461940 0.358658 -0.100000 -v 0.353553 0.196447 -0.100000 -v 0.191342 0.088060 -0.100000 -v 0.000000 0.050000 -0.100000 -v -0.191342 0.088060 -0.100000 -v -0.353553 0.196447 -0.100000 -v -0.461940 0.358658 -0.100000 -v -0.500000 0.550000 -0.100000 -v -0.461940 0.741342 -0.100000 -v -0.353553 0.903554 -0.100000 -v -0.191341 1.011940 -0.100000 -v 0.191342 1.011938 2.300000 -v -0.000000 1.049998 2.300000 -v -0.191341 1.011938 2.300000 -v -0.353553 0.903551 2.300000 -v -0.461940 0.741340 2.300000 -v -0.500000 0.549998 2.300000 -v -0.461940 0.358656 2.300000 -v -0.353553 0.196444 2.300000 -v -0.191342 0.088058 2.299999 -v 0.000000 0.049998 2.299999 -v 0.191342 0.088058 2.299999 -v 0.353553 0.196445 2.300000 -v 0.461940 0.358656 2.300000 -v 0.500000 0.549998 2.300000 -v 0.461940 0.741340 2.300000 -v 0.353553 0.903551 2.300000 -v -0.000000 1.050002 -2.300000 -v 0.191342 1.011942 -2.300000 -v 0.353553 0.903555 -2.300000 -v 0.461940 0.741344 -2.300000 -v 0.500000 0.550002 -2.300000 -v 0.461940 0.358660 -2.300000 -v 0.353553 0.196449 -2.300000 -v 0.191342 0.088062 -2.300001 -v 0.000000 0.050002 -2.300001 -v -0.191342 0.088062 -2.300001 -v -0.353553 0.196449 -2.300000 -v -0.461940 0.358660 -2.300000 -v -0.500000 0.550002 -2.300000 -v -0.461940 0.741344 -2.300000 -v -0.353553 0.903556 -2.300000 -v -0.191341 1.011942 -2.300000 -v 0.191342 1.011938 2.500000 -v -0.000000 1.049998 2.500000 -v -0.191342 1.011938 2.500000 -v -0.353553 0.903551 2.500000 -v -0.461940 0.741340 2.500000 -v -0.500000 0.549998 2.500000 -v -0.461940 0.358656 2.500000 -v -0.353553 0.196444 2.500000 -v -0.191342 0.088058 2.500000 -v 0.000000 0.049998 2.500000 -v 0.191342 0.088058 2.500000 -v 0.353553 0.196444 2.500000 -v 0.461940 0.358656 2.500000 -v 0.500000 0.549998 2.500000 -v 0.461940 0.741340 2.500000 -v 0.353553 0.903551 2.500000 -v -0.000000 1.050002 -2.500000 -v 0.191342 1.011942 -2.500000 -v 0.353553 0.903556 -2.500000 -v 0.461940 0.741344 -2.500000 -v 0.500000 0.550002 -2.500000 -v 0.461940 0.358660 -2.500000 -v 0.353553 0.196449 -2.500000 -v 0.191342 0.088062 -2.500001 -v 0.000000 0.050002 -2.500001 -v -0.191342 0.088062 -2.500001 -v -0.353553 0.196449 -2.500000 -v -0.461940 0.358660 -2.500000 -v -0.500000 0.550002 -2.500000 -v -0.461940 0.741344 -2.500000 -v -0.353553 0.903556 -2.500000 -v -0.191341 1.011942 -2.500000 -v 0.095671 0.780967 2.800000 -v -0.000000 0.799998 2.800000 -v -0.095671 0.780967 2.800000 -v -0.176777 0.726774 2.800000 -v -0.230970 0.645668 2.800000 -v -0.250000 0.549998 2.800000 -v -0.230970 0.454327 2.800000 -v -0.176777 0.373221 2.800000 -v -0.095671 0.319028 2.799999 -v -0.000000 0.299998 2.799999 -v 0.095671 0.319028 2.799999 -v 0.176777 0.373221 2.800000 -v 0.230970 0.454327 2.800000 -v 0.250000 0.549998 2.800000 -v 0.230970 0.645668 2.800000 -v 0.176777 0.726774 2.800000 -v -0.000000 0.800002 -2.800000 -v 0.095671 0.780972 -2.800000 -v 0.176777 0.726779 -2.800000 -v 0.230970 0.645673 -2.799999 -v 0.250000 0.550002 -2.800000 -v 0.230970 0.454332 -2.800000 -v 0.176777 0.373226 -2.800000 -v 0.095671 0.319033 -2.800000 -v 0.000000 0.300002 -2.800000 -v -0.095671 0.319033 -2.800000 -v -0.176777 0.373226 -2.800000 -v -0.230970 0.454332 -2.800000 -v -0.250000 0.550002 -2.800000 -v -0.230970 0.645673 -2.799999 -v -0.176777 0.726779 -2.800000 -v -0.095671 0.780972 -2.800000 -v 0.076537 0.734773 3.500000 -v 0.000000 0.749997 3.500000 -v -0.076536 0.734773 3.500000 -v -0.141421 0.691418 3.500000 -v -0.184776 0.626534 3.500000 -v -0.200000 0.549997 3.500000 -v -0.184776 0.473460 3.500000 -v -0.141421 0.408576 3.500000 -v -0.076536 0.365221 3.500000 -v 0.000000 0.349997 3.500000 -v 0.076537 0.365221 3.500000 -v 0.141422 0.408576 3.500000 -v 0.184776 0.473460 3.500000 -v 0.200000 0.549997 3.500000 -v 0.184776 0.626534 3.500000 -v 0.141422 0.691418 3.500000 -v 0.000000 0.750003 -3.500000 -v 0.076537 0.734779 -3.500000 -v 0.141422 0.691424 -3.500000 -v 0.184776 0.626540 -3.500000 -v 0.200000 0.550003 -3.500000 -v 0.184776 0.473466 -3.500000 -v 0.141422 0.408582 -3.500000 -v 0.076537 0.365227 -3.500000 -v 0.000000 0.350003 -3.500000 -v -0.076536 0.365227 -3.500000 -v -0.141421 0.408582 -3.500000 -v -0.184776 0.473466 -3.500000 -v -0.200000 0.550003 -3.500000 -v -0.184776 0.626540 -3.500000 -v -0.141421 0.691425 -3.500000 -v -0.076536 0.734779 -3.500000 -v 0.057403 0.688579 3.600000 -v 0.000000 0.699997 3.600000 -v -0.057402 0.688579 3.600000 -v -0.106066 0.656063 3.600000 -v -0.138582 0.607399 3.599999 -v -0.150000 0.549997 3.599999 -v -0.138582 0.492594 3.599999 -v -0.106066 0.443931 3.599999 -v -0.057402 0.411415 3.599999 -v 0.000000 0.399997 3.599999 -v 0.057403 0.411415 3.599999 -v 0.106066 0.443931 3.599999 -v 0.138582 0.492594 3.599999 -v 0.150000 0.549997 3.599999 -v 0.138582 0.607399 3.599999 -v 0.106066 0.656063 3.600000 -v 0.000000 0.700003 -3.599999 -v 0.057403 0.688585 -3.599999 -v 0.106066 0.656069 -3.599999 -v 0.138582 0.607406 -3.599999 -v 0.150000 0.550003 -3.600000 -v 0.138582 0.492601 -3.600000 -v 0.106066 0.443937 -3.600000 -v 0.057403 0.411421 -3.600000 -v 0.000000 0.400003 -3.600000 -v -0.057402 0.411421 -3.600000 -v -0.106066 0.443937 -3.600000 -v -0.138582 0.492601 -3.600000 -v -0.150000 0.550003 -3.600000 -v -0.138582 0.607406 -3.599999 -v -0.106066 0.656069 -3.599999 -v -0.057402 0.688585 -3.599999 -v 0.023918 0.607739 3.599999 -v 0.000000 0.612497 3.599999 -v -0.023917 0.607739 3.599999 -v -0.044194 0.594191 3.599999 -v -0.057742 0.573915 3.599999 -v -0.062500 0.549997 3.599999 -v -0.057742 0.526079 3.599999 -v -0.044194 0.505803 3.599999 -v -0.023917 0.492254 3.599999 -v 0.000000 0.487497 3.599999 -v 0.023918 0.492254 3.599999 -v 0.044194 0.505803 3.599999 -v 0.057743 0.526079 3.599999 -v 0.062500 0.549997 3.599999 -v 0.057743 0.573915 3.599999 -v 0.044194 0.594191 3.599999 -v 0.000000 0.612503 -3.599999 -v 0.023918 0.607746 -3.599999 -v 0.044195 0.594197 -3.599999 -v 0.057743 0.573921 -3.599999 -v 0.062500 0.550003 -3.599999 -v 0.057743 0.526085 -3.599999 -v 0.044195 0.505809 -3.599999 -v 0.023918 0.492261 -3.599999 -v 0.000000 0.487503 -3.599999 -v -0.023917 0.492261 -3.599999 -v -0.044194 0.505809 -3.599999 -v -0.057742 0.526085 -3.599999 -v -0.062500 0.550003 -3.599999 -v -0.057742 0.573921 -3.599999 -v -0.044194 0.594197 -3.599999 -v -0.023917 0.607746 -3.599999 -v 0.000000 0.549996 4.200000 -v 0.000000 0.549996 4.200000 -v 0.000000 0.549996 4.200000 -v 0.000000 0.549996 4.200000 -v 0.000000 0.549996 4.200000 -v 0.000000 0.549996 4.200000 -v 0.000000 0.549996 4.200000 -v 0.000000 0.549996 4.200000 -v 0.000000 0.549996 4.200000 -v 0.000000 0.549996 4.200000 -v 0.000000 0.549996 4.200000 -v 0.000000 0.549996 4.200000 -v 0.000000 0.549996 4.200000 -v 0.000000 0.549996 4.200000 -v 0.000000 0.549996 4.200000 -v 0.000000 0.549996 4.200000 -v 0.000000 0.550004 -4.200000 -v 0.000000 0.550004 -4.200000 -v 0.000000 0.550004 -4.200000 -v 0.000000 0.550004 -4.200000 -v 0.000000 0.550004 -4.200000 -v 0.000000 0.550004 -4.200000 -v 0.000000 0.550004 -4.200000 -v 0.000000 0.550004 -4.200000 -v 0.000000 0.550004 -4.200000 -v 0.000000 0.550004 -4.200000 -v 0.000000 0.550004 -4.200000 -v 0.000000 0.550004 -4.200000 -v 0.000000 0.550004 -4.200000 -v 0.000000 0.550004 -4.200000 -v 0.000000 0.550004 -4.200000 -v 0.000000 0.550004 -4.200000 -v 0.500000 -0.049998 -2.300001 -v 0.500000 -0.050002 2.299999 -v -0.500000 -0.049998 -2.300001 -v 0.500000 -0.049998 -2.500001 -v -0.500000 -0.050002 2.299999 -v -0.500000 -0.049998 -2.500001 -v -0.500000 -0.050002 2.500000 -v 0.500000 -0.050002 2.500000 -v 0.000000 0.730000 -3.474999 -v 0.000000 0.730000 3.475001 -v 0.068883 0.716299 -3.474999 -v 0.068883 0.716298 3.475001 -v 0.127279 0.677280 -3.474998 -v 0.127279 0.677279 3.475001 -v 0.166298 0.618883 -3.474999 -v 0.166298 0.618883 3.475000 -v 0.180000 0.550000 -3.474999 -v 0.180000 0.550000 3.475000 -v 0.166298 0.481117 -3.475000 -v 0.166298 0.481117 3.474999 -v 0.127279 0.422721 -3.475001 -v 0.127279 0.422720 3.474999 -v 0.068883 0.383702 -3.475001 -v 0.068883 0.383701 3.474999 -v 0.000000 0.370000 -3.475000 -v 0.000000 0.370000 3.474999 -v -0.068883 0.383702 -3.475001 -v -0.068883 0.383701 3.474999 -v -0.127279 0.422721 -3.475001 -v -0.127279 0.422720 3.474999 -v -0.166298 0.481117 -3.475000 -v -0.166298 0.481117 3.474999 -v -0.180000 0.550000 -3.475000 -v -0.180000 0.550000 3.475000 -v -0.166298 0.618883 -3.474999 -v -0.166298 0.618883 3.475000 -v -0.127279 0.677280 -3.474999 -v -0.127279 0.677279 3.475001 -v -0.068883 0.716299 -3.474999 -v -0.068883 0.716298 3.475001 -v 0.078450 0.739398 -3.430000 -v 0.000000 0.755003 -3.430000 -v 0.144957 0.694960 -3.430000 -v 0.189396 0.628453 -3.430000 -v 0.205000 0.550003 -3.430000 -v 0.189396 0.471553 -3.430000 -v 0.144957 0.405046 -3.430000 -v 0.078450 0.360608 -3.430000 -v 0.000000 0.345003 -3.430000 -v -0.078450 0.360608 -3.430000 -v -0.144956 0.405046 -3.430000 -v -0.189395 0.471553 -3.430000 -v -0.205000 0.550003 -3.430000 -v -0.189395 0.628453 -3.430000 -v -0.144956 0.694960 -3.430000 -v -0.078450 0.739398 -3.430000 -v 0.000000 0.793253 -2.894500 -v 0.093088 0.774736 -2.894500 -v 0.172004 0.722006 -2.894500 -v 0.224734 0.643090 -2.894500 -v 0.243250 0.550003 -2.894500 -v 0.224734 0.456915 -2.894500 -v 0.172004 0.377999 -2.894500 -v 0.093088 0.325269 -2.894500 -v 0.000000 0.306753 -2.894500 -v -0.093088 0.325269 -2.894500 -v -0.172004 0.377999 -2.894500 -v -0.224734 0.456915 -2.894500 -v -0.243250 0.550003 -2.894500 -v -0.224734 0.643090 -2.894500 -v -0.172004 0.722006 -2.894500 -v -0.093088 0.774736 -2.894500 -v 0.000000 0.754997 3.430000 -v 0.078450 0.739392 3.430000 -v -0.078450 0.739392 3.430000 -v -0.144957 0.694954 3.430000 -v -0.189395 0.628447 3.430000 -v -0.205000 0.549997 3.430000 -v -0.189395 0.471547 3.430000 -v -0.144957 0.405040 3.430000 -v -0.078450 0.360602 3.430000 -v 0.000000 0.344997 3.430000 -v 0.078450 0.360602 3.430000 -v 0.144957 0.405040 3.430000 -v 0.189396 0.471547 3.430000 -v 0.205000 0.549997 3.430000 -v 0.189396 0.628447 3.430000 -v 0.144957 0.694954 3.430000 -v 0.093088 0.774731 2.894500 -v -0.000000 0.793247 2.894500 -v -0.093088 0.774731 2.894500 -v -0.172004 0.722001 2.894500 -v -0.224734 0.643085 2.894500 -v -0.243250 0.549997 2.894500 -v -0.224734 0.456910 2.894500 -v -0.172004 0.377994 2.894500 -v -0.093088 0.325264 2.894500 -v 0.000000 0.306747 2.894500 -v 0.093088 0.325264 2.894500 -v 0.172004 0.377994 2.894500 -v 0.224734 0.456910 2.894500 -v 0.243250 0.549997 2.894500 -v 0.224734 0.643085 2.894500 -v 0.172004 0.722001 2.894500 -vt 0.492092 0.799446 -vt 0.521787 0.799446 -vt 0.521787 0.824815 -vt 0.551483 0.799446 -vt 0.551483 0.824815 -vt 0.581178 0.799446 -vt 0.581178 0.824815 -vt 0.610874 0.799446 -vt 0.640569 0.799446 -vt 0.640569 0.824815 -vt 0.670265 0.799446 -vt 0.670264 0.824815 -vt 0.699960 0.799446 -vt 0.699960 0.824815 -vt 0.729655 0.799446 -vt 0.729655 0.824815 -vt 0.254528 0.799446 -vt 0.284223 0.799446 -vt 0.284223 0.824815 -vt 0.313919 0.799446 -vt 0.313919 0.824815 -vt 0.343614 0.799446 -vt 0.343614 0.824815 -vt 0.373310 0.799446 -vt 0.403005 0.799446 -vt 0.403005 0.824815 -vt 0.432701 0.799446 -vt 0.432701 0.824815 -vt 0.452498 0.742202 -vt 0.427752 0.742202 -vt 0.427751 0.463144 -vt 0.462396 0.799446 -vt 0.492092 0.824815 -vt 0.462396 0.824815 -vt 0.556464 0.952230 -vt 0.556464 0.977599 -vt 0.531718 0.977599 -vt 0.494566 0.787005 -vt 0.519313 0.787005 -vt 0.464871 0.787005 -vt 0.489617 0.787005 -vt 0.435175 0.787005 -vt 0.459922 0.787005 -vt 0.405480 0.787005 -vt 0.430226 0.787005 -vt 0.375784 0.787005 -vt 0.400531 0.787005 -vt 0.346089 0.787005 -vt 0.370835 0.787005 -vt 0.316393 0.787005 -vt 0.341140 0.787005 -vt 0.286698 0.787005 -vt 0.311444 0.787005 -vt 0.257002 0.787005 -vt 0.281749 0.787005 -vt 0.702435 0.787005 -vt 0.727181 0.787006 -vt 0.672739 0.787005 -vt 0.697485 0.787005 -vt 0.643044 0.787005 -vt 0.667790 0.787005 -vt 0.613348 0.787005 -vt 0.638094 0.787005 -vt 0.583653 0.787005 -vt 0.608399 0.787005 -vt 0.553957 0.787005 -vt 0.578704 0.787005 -vt 0.524262 0.787005 -vt 0.549008 0.787005 -vt 0.519312 0.837256 -vt 0.494566 0.837256 -vt 0.549008 0.837256 -vt 0.524262 0.837256 -vt 0.578703 0.837256 -vt 0.553957 0.837256 -vt 0.608399 0.837256 -vt 0.583653 0.837256 -vt 0.638094 0.837256 -vt 0.613348 0.837256 -vt 0.667790 0.837256 -vt 0.643044 0.837256 -vt 0.697485 0.837256 -vt 0.672739 0.837256 -vt 0.727181 0.837256 -vt 0.702435 0.837256 -vt 0.281749 0.837255 -vt 0.257002 0.837255 -vt 0.254528 0.824815 -vt 0.311444 0.837255 -vt 0.286698 0.837255 -vt 0.341140 0.837256 -vt 0.316393 0.837255 -vt 0.373310 0.824815 -vt 0.370835 0.837256 -vt 0.346089 0.837256 -vt 0.400531 0.837256 -vt 0.375784 0.837256 -vt 0.430226 0.837256 -vt 0.405480 0.837256 -vt 0.459922 0.837256 -vt 0.435175 0.837256 -vt 0.489617 0.837256 -vt 0.464871 0.837256 -vt 0.477244 0.742202 -vt 0.452498 0.463143 -vt 0.501990 0.742202 -vt 0.477244 0.463143 -vt 0.526736 0.463144 -vt 0.526736 0.742202 -vt 0.551483 0.463144 -vt 0.551483 0.742202 -vt 0.576229 0.742202 -vt 0.600975 0.463144 -vt 0.600975 0.742202 -vt 0.625721 0.742202 -vt 0.650468 0.742202 -vt 0.625721 0.463144 -vt 0.279274 0.742202 -vt 0.254528 0.742202 -vt 0.254528 0.463144 -vt 0.304020 0.742202 -vt 0.279274 0.463144 -vt 0.328767 0.742202 -vt 0.304020 0.463144 -vt 0.353513 0.742202 -vt 0.328766 0.463144 -vt 0.378259 0.742202 -vt 0.353513 0.463144 -vt 0.403005 0.742202 -vt 0.378259 0.463144 -vt 0.403005 0.463144 -vt 0.254528 0.245117 -vt 0.254528 0.220371 -vt 0.533587 0.220371 -vt 0.533587 0.269864 -vt 0.254528 0.269863 -vt 0.254528 0.294610 -vt 0.254528 0.319356 -vt 0.533587 0.294610 -vt 0.254528 0.344102 -vt 0.533587 0.319356 -vt 0.254528 0.368848 -vt 0.533587 0.344102 -vt 0.254528 0.393595 -vt 0.533587 0.368849 -vt 0.254528 0.418341 -vt 0.533587 0.393595 -vt 0.533587 0.047147 -vt 0.254528 0.047147 -vt 0.254528 0.022401 -vt 0.254528 0.071894 -vt 0.533587 0.096640 -vt 0.254528 0.096640 -vt 0.254528 0.121386 -vt 0.254528 0.146132 -vt 0.533587 0.121386 -vt 0.254528 0.170879 -vt 0.533587 0.146132 -vt 0.254528 0.195625 -vt 0.533587 0.170879 -vt 0.581211 0.952230 -vt 0.581211 0.977599 -vt 0.605957 0.977599 -vt 0.630703 0.952230 -vt 0.630703 0.977599 -vt 0.655449 0.977599 -vt 0.821007 0.098508 -vt 0.821007 0.022401 -vt 0.825835 0.074237 -vt 0.695270 0.705608 -vt 0.758693 0.692923 -vt 0.822115 0.705608 -vt 0.734422 0.688095 -vt 0.713846 0.674347 -vt 0.700098 0.653771 -vt 0.695270 0.629501 -vt 0.457480 0.977599 -vt 0.381373 0.977599 -vt 0.381373 0.952230 -vt 0.482226 0.952230 -vt 0.482226 0.977599 -vt 0.506972 0.977599 -vt 0.531718 0.952230 -vt 0.454366 0.907427 -vt 0.429620 0.907427 -vt 0.429620 0.882058 -vt 0.479112 0.882058 -vt 0.479112 0.907427 -vt 0.503858 0.907427 -vt 0.528605 0.882058 -vt 0.528605 0.907427 -vt 0.882962 0.249826 -vt 0.858692 0.254654 -vt 0.819540 0.237142 -vt 0.891188 0.751518 -vt 0.943024 0.756346 -vt 0.866917 0.756346 -vt 0.925512 0.668652 -vt 0.943024 0.629501 -vt 0.930340 0.692923 -vt 0.911764 0.648077 -vt 0.891188 0.634328 -vt 0.866917 0.629501 -vt 0.604711 0.907427 -vt 0.604712 0.882058 -vt 0.731556 0.882058 -vt 0.330635 0.882059 -vt 0.330635 0.907427 -vt 0.254528 0.907427 -vt 0.355381 0.907427 -vt 0.380127 0.882058 -vt 0.380127 0.907427 -vt 0.404873 0.907427 -vt 0.123985 0.807563 -vt 0.119529 0.797773 -vt 0.160378 0.771535 -vt 0.124345 0.818284 -vt 0.171693 0.799004 -vt 0.120556 0.828292 -vt 0.171596 0.828676 -vt 0.139109 0.876792 -vt 0.113207 0.836045 -vt 0.103388 0.840328 -vt 0.092583 0.840466 -vt 0.111793 0.887963 -vt 0.054992 0.876764 -vt 0.082447 0.836877 -vt 0.033952 0.855940 -vt 0.074549 0.829651 -vt 0.070085 0.819933 -vt 0.069728 0.809232 -vt 0.022492 0.828614 -vt 0.033709 0.771511 -vt 0.073532 0.799194 -vt 0.080915 0.791363 -vt 0.090753 0.786942 -vt 0.054695 0.750483 -vt 0.111900 0.739095 -vt 0.101546 0.786608 -vt 0.111651 0.790413 -vt 0.139376 0.750489 -vt 0.706324 0.080556 -vt 0.695471 0.074614 -vt 0.713644 0.028534 -vt 0.715366 0.089002 -vt 0.735351 0.040417 -vt 0.722033 0.099425 -vt 0.753435 0.057309 -vt 0.774520 0.101657 -vt 0.725908 0.111176 -vt 0.776205 0.126346 -vt 0.726751 0.123520 -vt 0.724508 0.135688 -vt 0.761341 0.173147 -vt 0.719319 0.146921 -vt 0.711508 0.156517 -vt 0.628686 0.111176 -vt 0.627843 0.123520 -vt 0.578389 0.126346 -vt 0.587825 0.078156 -vt 0.632561 0.099425 -vt 0.601159 0.057309 -vt 0.639228 0.089002 -vt 0.648270 0.080556 -vt 0.659123 0.074614 -vt 0.619243 0.040417 -vt 0.664924 0.022401 -vt 0.671110 0.071548 -vt 0.683483 0.071548 -vt 0.689670 0.022401 -vt 0.793444 0.552161 -vt 0.783547 0.552299 -vt 0.783299 0.543401 -vt 0.803342 0.552299 -vt 0.793444 0.543260 -vt 0.813232 0.552712 -vt 0.803589 0.543401 -vt 0.823106 0.553399 -vt 0.813726 0.543824 -vt 0.735822 0.403499 -vt 0.744723 0.403623 -vt 0.744723 0.413521 -vt 0.578389 0.403499 -vt 0.587290 0.403623 -vt 0.587290 0.413521 -vt 0.854040 0.548325 -vt 0.852562 0.557103 -vt 0.842779 0.555596 -vt 0.862300 0.558882 -vt 0.871984 0.560931 -vt 0.864021 0.550148 -vt 0.722868 0.550148 -vt 0.724589 0.558882 -vt 0.714905 0.560931 -vt 0.732849 0.548325 -vt 0.734327 0.557103 -vt 0.744109 0.555596 -vt 0.885978 0.152212 -vt 0.876079 0.152211 -vt 0.875955 0.143311 -vt 0.821991 0.878918 -vt 0.812093 0.878918 -vt 0.811969 0.870017 -vt 0.773162 0.543823 -vt 0.773657 0.552711 -vt 0.763782 0.553399 -vt 0.666418 0.278440 -vt 0.666666 0.269542 -vt 0.676563 0.269679 -vt 0.656776 0.269129 -vt 0.646901 0.268441 -vt 0.656281 0.278017 -vt 0.819540 0.391966 -vt 0.819663 0.383065 -vt 0.829562 0.383065 -vt 0.874612 0.383065 -vt 0.884510 0.383065 -vt 0.884634 0.391966 -vt 0.617445 0.264737 -vt 0.627228 0.266245 -vt 0.625995 0.275061 -vt 0.605987 0.271692 -vt 0.607708 0.262958 -vt 0.596061 0.269592 -vt 0.598024 0.260909 -vt 0.745418 0.262958 -vt 0.755102 0.260909 -vt 0.757066 0.269592 -vt 0.735681 0.264737 -vt 0.747140 0.271692 -vt 0.727131 0.275060 -vt 0.725898 0.266245 -vt 0.821007 0.177225 -vt 0.821131 0.168324 -vt 0.831029 0.168324 -vt 0.682119 0.413521 -vt 0.682119 0.403623 -vt 0.691020 0.403499 -vt 0.696846 0.278017 -vt 0.696351 0.269129 -vt 0.706226 0.268441 -vt 0.686708 0.278440 -vt 0.686461 0.269541 -vt 0.676563 0.278581 -vt 0.890751 0.801148 -vt 0.889244 0.875682 -vt 0.887942 0.875737 -vt 0.792403 0.566305 -vt 0.784980 0.566408 -vt 0.801908 0.566408 -vt 0.794485 0.566305 -vt 0.811407 0.566775 -vt 0.803989 0.566466 -vt 0.820891 0.567407 -vt 0.813485 0.566891 -vt 0.758851 0.404860 -vt 0.758851 0.412284 -vt 0.601418 0.404860 -vt 0.601418 0.412284 -vt 0.849188 0.570877 -vt 0.841850 0.569747 -vt 0.858544 0.572557 -vt 0.851241 0.571223 -vt 0.867849 0.574496 -vt 0.860586 0.572960 -vt 0.726303 0.572960 -vt 0.719040 0.574497 -vt 0.735648 0.571223 -vt 0.728345 0.572557 -vt 0.745038 0.569747 -vt 0.737701 0.570877 -vt 0.884740 0.166339 -vt 0.877316 0.166339 -vt 0.820754 0.893046 -vt 0.813330 0.893046 -vt 0.773404 0.566891 -vt 0.765998 0.567406 -vt 0.782899 0.566466 -vt 0.775482 0.566775 -vt 0.911868 0.920544 -vt 0.668099 0.255433 -vt 0.675522 0.255536 -vt 0.658601 0.255065 -vt 0.666018 0.255375 -vt 0.649117 0.254434 -vt 0.656523 0.254949 -vt 0.820901 0.368937 -vt 0.828325 0.368937 -vt 0.875849 0.368937 -vt 0.883273 0.368937 -vt 0.620820 0.250963 -vt 0.628157 0.252093 -vt 0.611464 0.249283 -vt 0.618767 0.250617 -vt 0.602159 0.247344 -vt 0.609422 0.248880 -vt 0.743704 0.248880 -vt 0.750968 0.247344 -vt 0.734359 0.250617 -vt 0.741662 0.249283 -vt 0.724969 0.252093 -vt 0.732306 0.250963 -vt 0.822368 0.154196 -vt 0.829792 0.154196 -vt 0.667991 0.412284 -vt 0.667991 0.404860 -vt 0.696604 0.254949 -vt 0.704010 0.254434 -vt 0.687108 0.255374 -vt 0.694525 0.255065 -vt 0.677604 0.255536 -vt 0.685027 0.255432 -vt 0.790390 0.577220 -vt 0.787297 0.577263 -vt 0.799592 0.577263 -vt 0.796499 0.577220 -vt 0.808789 0.577561 -vt 0.805699 0.577432 -vt 0.817975 0.578116 -vt 0.814889 0.577901 -vt 0.769736 0.407026 -vt 0.769736 0.410119 -vt 0.612303 0.407026 -vt 0.612303 0.410119 -vt 0.845390 0.581306 -vt 0.842333 0.580835 -vt 0.854457 0.582876 -vt 0.851414 0.582321 -vt 0.863477 0.584698 -vt 0.860451 0.584058 -vt 0.726438 0.584058 -vt 0.723412 0.584698 -vt 0.735475 0.582321 -vt 0.732432 0.582877 -vt 0.744556 0.580835 -vt 0.741499 0.581306 -vt 0.882575 0.177225 -vt 0.879482 0.177225 -vt 0.818589 0.903931 -vt 0.815495 0.903931 -vt 0.771999 0.577900 -vt 0.768914 0.578115 -vt 0.781190 0.577432 -vt 0.778099 0.577561 -vt 0.670416 0.244578 -vt 0.673509 0.244621 -vt 0.661218 0.244279 -vt 0.664309 0.244408 -vt 0.652033 0.243725 -vt 0.655118 0.243940 -vt 0.823066 0.358051 -vt 0.826159 0.358051 -vt 0.878014 0.358051 -vt 0.881108 0.358051 -vt 0.624618 0.240534 -vt 0.627675 0.241005 -vt 0.615550 0.238964 -vt 0.618593 0.239520 -vt 0.606530 0.237142 -vt 0.609557 0.237782 -vt 0.743570 0.237782 -vt 0.746596 0.237142 -vt 0.734533 0.239520 -vt 0.737576 0.238964 -vt 0.725451 0.241005 -vt 0.728508 0.240534 -vt 0.824533 0.143311 -vt 0.827627 0.143311 -vt 0.657106 0.410119 -vt 0.657106 0.407026 -vt 0.698008 0.243939 -vt 0.701094 0.243725 -vt 0.688818 0.244408 -vt 0.691908 0.244279 -vt 0.679618 0.244621 -vt 0.682711 0.244578 -vt 0.902736 0.802310 -vt 0.905694 0.802863 -vt 0.890550 0.875741 -vt 0.908627 0.803534 -vt 0.911530 0.804324 -vt 0.914400 0.805230 -vt 0.896766 0.801513 -vt 0.899758 0.801878 -vt 0.893762 0.801270 -vt 0.866917 0.804172 -vt 0.869827 0.803381 -vt 0.872766 0.802708 -vt 0.875730 0.802154 -vt 0.878714 0.801721 -vt 0.881713 0.801408 -vt 0.884723 0.801217 -vt 0.887737 0.801148 -vt 0.866917 0.920545 -vt 0.780461 0.822722 -vt 0.798567 0.750410 -vt 0.799836 0.750697 -vt 0.777553 0.821931 -vt 0.774680 0.821023 -vt 0.822115 0.821932 -vt 0.819208 0.822723 -vt 0.801109 0.750432 -vt 0.816272 0.823395 -vt 0.786350 0.824000 -vt 0.783399 0.823395 -vt 0.789324 0.824485 -vt 0.792315 0.824849 -vt 0.795318 0.825093 -vt 0.798328 0.825215 -vt 0.813320 0.824000 -vt 0.801341 0.825215 -vt 0.804352 0.825093 -vt 0.807355 0.824850 -vt 0.810346 0.824485 -vt 0.838116 0.268402 -vt 0.911764 0.737769 -vt 0.824368 0.288978 -vt 0.925512 0.717194 -vt 0.819540 0.313249 -vt 0.946385 0.313249 -vt 0.941557 0.288978 -vt 0.946385 0.237142 -vt 0.927809 0.268402 -vt 0.907233 0.254654 -vt 0.929276 0.053662 -vt 0.908700 0.039913 -vt 0.947852 0.022401 -vt 0.943024 0.074237 -vt 0.947852 0.098508 -vt 0.655449 0.952230 -vt 0.731556 0.952230 -vt 0.860159 0.039913 -vt 0.839583 0.053662 -vt 0.884430 0.035086 -vt 0.254528 0.977599 -vt 0.254528 0.952230 -vt 0.822115 0.629501 -vt 0.817287 0.653771 -vt 0.803539 0.674347 -vt 0.782963 0.688095 -vt 0.116063 0.693750 -vt 0.104355 0.693818 -vt 0.104355 0.023013 -vt 0.092648 0.693886 -vt 0.092648 0.023081 -vt 0.080940 0.693953 -vt 0.080940 0.023149 -vt 0.069232 0.694021 -vt 0.069232 0.023217 -vt 0.057524 0.694089 -vt 0.045817 0.694157 -vt 0.045817 0.023352 -vt 0.034109 0.694225 -vt 0.022401 0.694293 -vt 0.022401 0.023488 -vt 0.209725 0.693206 -vt 0.198018 0.693274 -vt 0.198017 0.022469 -vt 0.186310 0.693342 -vt 0.186310 0.022537 -vt 0.174602 0.693410 -vt 0.174602 0.022605 -vt 0.162894 0.693478 -vt 0.162894 0.022673 -vt 0.151186 0.693546 -vt 0.151186 0.022741 -vt 0.139479 0.693614 -vt 0.139479 0.022809 -vt 0.127771 0.693682 -vt 0.116063 0.022945 -vt 0.127771 0.022877 -vt 0.664525 0.346512 -vt 0.646160 0.277312 -vt 0.652497 0.346010 -vt 0.615967 0.273515 -vt 0.616560 0.342503 -vt 0.592818 0.338505 -vt 0.772087 0.336013 -vt 0.737159 0.273515 -vt 0.760308 0.338505 -vt 0.736567 0.342502 -vt 0.700630 0.346010 -vt 0.706967 0.277312 -vt 0.688601 0.346512 -vt 0.676563 0.346679 -vt 0.664191 0.358525 -vt 0.640487 0.345174 -vt 0.651829 0.358009 -vt 0.627171 0.355948 -vt 0.628505 0.344005 -vt 0.604661 0.340669 -vt 0.614895 0.354404 -vt 0.590494 0.350296 -vt 0.581040 0.336013 -vt 0.774737 0.347734 -vt 0.748465 0.340669 -vt 0.762632 0.350296 -vt 0.738232 0.354404 -vt 0.725956 0.355948 -vt 0.724622 0.344005 -vt 0.712640 0.345174 -vt 0.701298 0.358009 -vt 0.688935 0.358525 -vt 0.676563 0.358697 -vt 0.781406 0.475328 -vt 0.793444 0.475161 -vt 0.805482 0.475328 -vt 0.823848 0.544528 -vt 0.817511 0.475830 -vt 0.865346 0.481171 -vt 0.844013 0.546780 -vt 0.873947 0.552248 -vt 0.877189 0.483335 -vt 0.709699 0.483335 -vt 0.712942 0.552249 -vt 0.721542 0.481172 -vt 0.742876 0.546780 -vt 0.763041 0.544528 -vt 0.757368 0.476666 -vt 0.769378 0.475830 -vt 0.781072 0.463316 -vt 0.793444 0.463143 -vt 0.818178 0.463831 -vt 0.830522 0.464690 -vt 0.829521 0.476666 -vt 0.841503 0.477836 -vt 0.855113 0.467436 -vt 0.853448 0.479338 -vt 0.867342 0.469321 -vt 0.891618 0.474105 -vt 0.888968 0.485827 -vt 0.707375 0.471545 -vt 0.697921 0.485827 -vt 0.719547 0.469321 -vt 0.733441 0.479338 -vt 0.745386 0.477836 -vt 0.731776 0.467436 -vt 0.756367 0.464691 -vt 0.768710 0.463831 -vt 0.610874 0.824815 -vt 0.501990 0.463144 -vt 0.576229 0.463144 -vt 0.650468 0.463144 -vt 0.533587 0.245117 -vt 0.533587 0.418341 -vt 0.533587 0.022401 -vt 0.533587 0.071894 -vt 0.533587 0.195625 -vt 0.605957 0.952230 -vt 0.457480 0.952230 -vt 0.506972 0.952230 -vt 0.454366 0.882058 -vt 0.503858 0.882058 -vt 0.731557 0.907427 -vt 0.254528 0.882059 -vt 0.355381 0.882058 -vt 0.404873 0.882058 -vt 0.160132 0.855993 -vt 0.082343 0.887953 -vt 0.022401 0.798956 -vt 0.082158 0.739095 -vt 0.766769 0.078156 -vt 0.771719 0.150682 -vt 0.745720 0.192340 -vt 0.580074 0.101657 -vt 0.640950 0.028534 -vt 0.735822 0.413645 -vt 0.578389 0.413645 -vt 0.886101 0.143311 -vt 0.822115 0.870017 -vt 0.829686 0.391966 -vt 0.874488 0.391966 -vt 0.831153 0.177225 -vt 0.691020 0.413645 -vt 0.911794 0.920544 -vt 0.866992 0.920545 -vt 0.731556 0.977599 -vt 0.057524 0.023284 -vt 0.034109 0.023420 -vt 0.209725 0.022401 -vt 0.639486 0.357150 -vt 0.602666 0.352519 -vt 0.578389 0.347735 -vt 0.750461 0.352519 -vt 0.713641 0.357150 -vt 0.805816 0.463315 -vt 0.842836 0.465892 -vt 0.879513 0.471544 -vt 0.695270 0.474106 -vt 0.744052 0.465893 -vn 0.195100 0.980800 0.000000 -vn 0.555600 0.831500 0.000000 -vn 0.831500 0.555600 0.000000 -vn 0.980800 0.195100 0.000000 -vn 0.980800 -0.195100 -0.000000 -vn 0.831500 -0.555600 -0.000000 -vn 0.555600 -0.831500 -0.000000 -vn 0.195100 -0.980800 -0.000000 -vn -0.195100 -0.980800 -0.000000 -vn -0.555600 -0.831500 -0.000000 -vn -0.831500 -0.555600 -0.000000 -vn -0.980800 -0.195100 -0.000000 -vn -0.980800 0.195100 0.000000 -vn -0.831500 0.555600 0.000000 -vn -0.195100 0.980800 0.000000 -vn -0.555600 0.831500 0.000000 -vn -0.000000 -0.000000 1.000000 -vn 0.000000 0.000000 -1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -1.000000 -0.000000 -vn -1.000000 0.000000 0.000000 -vn 0.151100 0.759400 0.632800 -vn -0.151100 0.759400 0.632800 -vn -0.430200 0.643800 0.632800 -vn -0.643800 0.430200 0.632800 -vn -0.759400 0.151100 0.632800 -vn -0.759400 -0.151100 0.632800 -vn -0.643800 -0.430200 0.632800 -vn -0.430200 -0.643800 0.632800 -vn -0.151100 -0.759400 0.632800 -vn 0.151100 -0.759400 0.632800 -vn 0.430200 -0.643800 0.632800 -vn 0.643800 -0.430200 0.632800 -vn 0.759400 -0.151100 0.632800 -vn 0.759400 0.151100 0.632800 -vn 0.643800 0.430200 0.632800 -vn 0.430200 0.643800 0.632800 -vn 0.151100 0.759400 -0.632800 -vn 0.430200 0.643800 -0.632800 -vn 0.643800 0.430200 -0.632800 -vn 0.759400 0.151100 -0.632800 -vn 0.759400 -0.151100 -0.632800 -vn 0.643800 -0.430200 -0.632800 -vn 0.430200 -0.643800 -0.632800 -vn 0.151100 -0.759400 -0.632800 -vn -0.151100 -0.759400 -0.632800 -vn -0.430200 -0.643800 -0.632800 -vn -0.643800 -0.430200 -0.632800 -vn -0.759400 -0.151100 -0.632800 -vn -0.759400 0.151100 -0.632800 -vn -0.643800 0.430200 -0.632800 -vn -0.430200 0.643800 -0.632800 -vn -0.151100 0.759400 -0.632800 -vn 0.194600 0.978400 0.069900 -vn -0.194600 0.978400 0.069900 -vn -0.554200 0.829400 0.069900 -vn -0.829400 0.554200 0.069900 -vn -0.978400 0.194600 0.069900 -vn -0.978400 -0.194600 0.069900 -vn -0.829400 -0.554200 0.069900 -vn -0.554200 -0.829400 0.069900 -vn -0.194600 -0.978400 0.069900 -vn 0.194600 -0.978400 0.069900 -vn 0.554200 -0.829400 0.069900 -vn 0.829400 -0.554200 0.069900 -vn 0.978400 -0.194600 0.069900 -vn 0.978400 0.194600 0.069900 -vn 0.829400 0.554200 0.069900 -vn 0.554200 0.829400 0.069900 -vn 0.194600 0.978400 -0.069900 -vn 0.554200 0.829400 -0.069900 -vn 0.829400 0.554200 -0.069900 -vn 0.978400 0.194600 -0.069900 -vn 0.978400 -0.194600 -0.069900 -vn 0.829400 -0.554200 -0.069900 -vn 0.554200 -0.829400 -0.069900 -vn 0.194600 -0.978400 -0.069900 -vn -0.194600 -0.978400 -0.069900 -vn -0.554200 -0.829400 -0.069900 -vn -0.829400 -0.554200 -0.069900 -vn -0.978400 -0.194600 -0.069900 -vn -0.978400 0.194600 -0.069900 -vn -0.829400 0.554200 -0.069900 -vn -0.554200 0.829400 -0.069900 -vn -0.194600 0.978400 -0.069900 -vn 0.000000 -0.994600 -0.103600 -vn 0.175200 0.880600 0.440300 -vn -0.175200 0.880600 0.440300 -vn -0.498800 0.746500 0.440300 -vn -0.746500 0.498800 0.440300 -vn -0.880600 0.175200 0.440300 -vn -0.880600 -0.175200 0.440300 -vn -0.746500 -0.498800 0.440300 -vn -0.498800 -0.746500 0.440300 -vn -0.175200 -0.880600 0.440300 -vn 0.175200 -0.880600 0.440300 -vn 0.498800 -0.746500 0.440300 -vn 0.746500 -0.498800 0.440300 -vn 0.880600 -0.175200 0.440300 -vn 0.880600 0.175200 0.440300 -vn 0.746500 0.498800 0.440300 -vn 0.498800 0.746500 0.440300 -vn 0.175200 0.880600 -0.440300 -vn 0.498800 0.746500 -0.440300 -vn 0.746500 0.498800 -0.440300 -vn 0.880600 0.175200 -0.440300 -vn 0.880600 -0.175200 -0.440300 -vn 0.746500 -0.498800 -0.440300 -vn 0.498800 -0.746500 -0.440300 -vn 0.175200 -0.880600 -0.440300 -vn -0.175200 -0.880600 -0.440300 -vn -0.498800 -0.746500 -0.440300 -vn -0.746500 -0.498800 -0.440300 -vn -0.880600 -0.175200 -0.440300 -vn -0.880600 0.175200 -0.440300 -vn -0.746500 0.498800 -0.440300 -vn -0.498800 0.746500 -0.440300 -vn -0.175200 0.880600 -0.440300 -vn -0.975700 -0.194100 0.101600 -vn -0.827200 -0.552700 0.101600 -vn -0.552700 -0.827200 0.101600 -vn -0.194100 -0.975700 0.101600 -vn -0.827200 0.552700 0.101600 -vn -0.552700 0.827200 0.101600 -vn 0.194100 -0.975700 0.101600 -vn 0.552700 -0.827200 0.101600 -vn 0.827200 -0.552700 0.101600 -vn 0.975700 -0.194100 0.101600 -vn 0.975700 0.194100 0.101600 -vn 0.827200 0.552700 0.101600 -vn 0.552700 0.827200 0.101600 -vn -0.194100 0.975700 0.101600 -vn 0.552700 -0.827200 -0.101600 -vn 0.194100 -0.975700 -0.101600 -vn -0.194100 -0.975700 -0.101600 -vn -0.552700 -0.827200 -0.101600 -vn 0.975700 -0.194100 -0.101600 -vn 0.975700 0.194100 -0.101600 -vn 0.827200 0.552700 -0.101600 -vn 0.552700 0.827200 -0.101600 -vn 0.194100 0.975700 -0.101600 -vn -0.194100 0.975700 -0.101600 -vn -0.552700 0.827200 -0.101600 -vn -0.827200 0.552700 -0.101600 -vn -0.975700 0.194100 -0.101600 -vn -0.975700 -0.194100 -0.101600 -vn 0.194100 0.975700 0.101600 -vn 0.827200 -0.552700 -0.101600 -vn -0.827200 -0.552700 -0.101600 -vn -0.975700 0.194100 0.101600 -s off -f 2/1/1 4/2/1 3/3/1 -f 4/2/2 6/4/2 5/5/2 -f 6/4/3 8/6/3 7/7/3 -f 7/7/4 8/6/4 10/8/4 -f 10/8/5 12/9/5 11/10/5 -f 12/9/6 14/11/6 13/12/6 -f 14/11/7 16/13/7 15/14/7 -f 16/13/8 18/15/8 17/16/8 -f 18/17/9 20/18/9 19/19/9 -f 20/18/10 22/20/10 21/21/10 -f 21/21/11 22/20/11 24/22/11 -f 23/23/12 24/22/12 26/24/12 -f 26/24/13 28/25/13 27/26/13 -f 28/25/14 30/27/14 29/28/14 -f 66/29/1 65/30/1 33/31/1 -f 32/32/15 2/1/15 1/33/15 -f 30/27/16 32/32/16 31/34/16 -f 66/35/1 98/36/1 97/37/1 -f 2/1/17 34/38/17 33/39/17 -f 35/40/17 34/41/17 2/1/17 -f 30/27/17 36/42/17 35/43/17 -f 37/44/17 36/45/17 30/27/17 -f 26/24/17 38/46/17 37/47/17 -f 39/48/17 38/49/17 26/24/17 -f 40/50/17 39/51/17 24/22/17 -f 41/52/17 40/53/17 22/20/17 -f 18/17/17 42/54/17 41/55/17 -f 43/56/17 42/57/17 18/15/17 -f 44/58/17 43/59/17 16/13/17 -f 45/60/17 44/61/17 14/11/17 -f 46/62/17 45/63/17 12/9/17 -f 8/6/17 47/64/17 46/65/17 -f 48/66/17 47/67/17 8/6/17 -f 33/68/17 48/69/17 6/4/17 -f 3/3/18 50/70/18 49/71/18 -f 51/72/18 50/73/18 3/3/18 -f 52/74/18 51/75/18 5/5/18 -f 53/76/18 52/77/18 7/7/18 -f 11/10/18 54/78/18 53/79/18 -f 55/80/18 54/81/18 11/10/18 -f 56/82/18 55/83/18 13/12/18 -f 57/84/18 56/85/18 15/14/18 -f 58/86/18 57/87/18 17/88/18 -f 59/89/18 58/90/18 19/19/18 -f 60/91/18 59/92/18 21/21/18 -f 25/93/18 61/94/18 60/95/18 -f 62/96/18 61/97/18 25/93/18 -f 63/98/18 62/99/18 27/26/18 -f 64/100/18 63/101/18 29/28/18 -f 1/33/18 49/102/18 64/103/18 -f 67/104/15 66/29/15 34/105/15 -f 68/106/16 67/104/16 35/107/16 -f 37/108/14 69/109/14 68/106/14 -f 38/110/13 70/111/13 69/109/13 -f 71/112/12 70/111/12 38/110/12 -f 40/113/11 72/114/11 71/112/11 -f 73/115/10 72/114/10 40/113/10 -f 74/116/9 73/115/9 41/117/9 -f 75/118/8 74/119/8 42/120/8 -f 76/121/7 75/118/7 43/122/7 -f 77/123/6 76/121/6 44/124/6 -f 78/125/5 77/123/5 45/126/5 -f 79/127/4 78/125/4 46/128/4 -f 80/129/3 79/127/3 47/130/3 -f 65/30/2 80/129/2 48/131/2 -f 82/132/1 81/133/1 49/134/1 -f 51/135/2 83/136/2 82/132/2 -f 84/137/3 83/136/3 51/135/3 -f 85/138/4 84/137/4 52/139/4 -f 86/140/5 85/138/5 53/141/5 -f 87/142/6 86/140/6 54/143/6 -f 88/144/7 87/142/7 55/145/7 -f 89/146/8 88/144/8 56/147/8 -f 58/148/9 90/149/9 89/150/9 -f 91/151/10 90/149/10 58/148/10 -f 60/152/11 92/153/11 91/151/11 -f 93/154/12 92/153/12 60/152/12 -f 94/155/13 93/154/13 61/156/13 -f 95/157/14 94/155/14 62/158/14 -f 96/159/16 95/157/16 63/160/16 -f 49/134/15 81/133/15 96/159/15 -f 67/161/15 99/162/15 98/36/15 -f 100/163/16 99/162/16 67/161/16 -f 69/164/14 101/165/14 100/163/14 -f 102/166/13 101/165/13 69/164/13 -f 102/167/17 295/168/17 103/169/17 -f 293/170/18 74/171/18 290/172/18 -f 73/173/18 74/171/18 293/170/18 -f 72/174/18 73/173/18 293/170/18 -f 71/175/18 72/174/18 293/170/18 -f 70/176/18 71/175/18 293/170/18 -f 110/177/19 296/178/19 290/179/19 -f 79/180/4 111/181/4 110/177/4 -f 112/182/3 111/181/3 79/180/3 -f 65/183/2 97/37/2 112/182/2 -f 114/184/1 113/185/1 81/186/1 -f 83/187/2 115/188/2 114/184/2 -f 116/189/3 115/188/3 83/187/3 -f 85/190/4 117/191/4 116/189/4 -f 89/192/17 90/193/17 291/194/17 -f 124/195/18 294/196/18 125/197/18 -f 120/198/18 292/199/18 121/200/18 -f 119/201/18 292/199/18 120/198/18 -f 118/202/18 292/199/18 119/201/18 -f 117/203/18 292/199/18 118/202/18 -f 292/204/20 289/205/20 291/206/20 -f 93/207/21 125/208/21 294/209/21 -f 126/210/13 125/208/13 93/207/13 -f 95/211/14 127/212/14 126/210/14 -f 128/213/16 127/212/16 95/211/16 -f 81/186/15 113/185/15 128/213/15 -f 130/214/22 129/215/22 97/216/22 -f 131/217/23 130/214/23 98/218/23 -f 132/219/24 131/217/24 99/220/24 -f 101/221/25 133/222/25 132/219/25 -f 134/223/26 133/222/26 101/221/26 -f 135/224/27 134/223/27 102/225/27 -f 104/226/28 136/227/28 135/224/28 -f 105/228/29 137/229/29 136/227/29 -f 138/230/30 137/229/30 105/228/30 -f 139/231/31 138/230/31 106/232/31 -f 108/233/32 140/234/32 139/231/32 -f 141/235/33 140/234/33 108/233/33 -f 142/236/34 141/235/34 109/237/34 -f 111/238/35 143/239/35 142/236/35 -f 144/240/36 143/239/36 111/238/36 -f 129/215/37 144/240/37 112/241/37 -f 146/242/38 145/243/38 113/244/38 -f 147/245/39 146/242/39 114/246/39 -f 148/247/40 147/245/40 115/248/40 -f 117/249/41 149/250/41 148/247/41 -f 118/251/42 150/252/42 149/250/42 -f 151/253/43 150/252/43 118/251/43 -f 120/254/44 152/255/44 151/253/44 -f 153/256/45 152/255/45 120/254/45 -f 154/257/46 153/258/46 121/259/46 -f 123/260/47 155/261/47 154/257/47 -f 124/262/48 156/263/48 155/261/48 -f 157/264/49 156/263/49 124/262/49 -f 158/265/50 157/264/50 125/266/50 -f 127/267/51 159/268/51 158/265/51 -f 160/269/52 159/268/52 127/267/52 -f 145/243/53 160/269/53 128/270/53 -f 162/271/54 161/272/54 362/273/54 -f 163/274/55 162/271/55 361/275/55 -f 164/276/56 163/274/56 363/277/56 -f 165/278/57 164/276/57 364/279/57 -f 366/280/58 166/281/58 165/282/58 -f 367/283/59 167/284/59 166/285/59 -f 368/286/60 168/287/60 167/288/60 -f 169/289/61 168/287/61 368/286/61 -f 170/290/62 169/289/62 369/291/62 -f 371/292/63 171/293/63 170/294/63 -f 372/295/64 172/296/64 171/293/64 -f 173/297/65 172/296/65 372/295/65 -f 174/298/66 173/299/66 373/300/66 -f 175/301/67 174/302/67 374/303/67 -f 376/304/68 176/305/68 175/306/68 -f 161/272/69 176/305/69 376/304/69 -f 329/307/70 178/308/70 177/309/70 -f 179/310/71 178/308/71 329/307/71 -f 180/311/72 179/310/72 331/312/72 -f 333/313/73 181/314/73 180/315/73 -f 182/316/74 181/317/74 333/318/74 -f 183/319/75 182/320/75 334/321/75 -f 336/322/76 184/323/76 183/319/76 -f 337/324/77 185/325/77 184/323/77 -f 186/326/78 185/327/78 337/328/78 -f 187/329/79 186/326/79 338/330/79 -f 340/331/80 188/332/80 187/329/80 -f 341/333/81 189/334/81 188/335/81 -f 190/336/82 189/337/82 341/338/82 -f 343/339/83 191/340/83 190/341/83 -f 344/342/84 192/343/84 191/340/84 -f 330/344/85 177/309/85 192/343/85 -f 226/345/86 258/346/86 257/347/86 -f 194/348/87 193/349/87 161/272/87 -f 195/350/88 194/351/88 162/271/88 -f 164/276/89 196/352/89 195/353/89 -f 197/354/90 196/355/90 164/276/90 -f 166/281/91 198/356/91 197/357/91 -f 167/284/92 199/358/92 198/359/92 -f 168/287/93 200/360/93 199/361/93 -f 169/289/94 201/362/94 200/363/94 -f 202/364/95 201/365/95 169/289/95 -f 171/293/96 203/366/96 202/367/96 -f 204/368/97 203/369/97 171/293/97 -f 205/370/98 204/371/98 172/296/98 -f 206/372/99 205/373/99 173/299/99 -f 207/374/100 206/375/100 174/302/100 -f 176/305/101 208/376/101 207/377/101 -f 193/378/102 208/379/102 176/305/102 -f 259/380/17 267/380/17 268/380/17 -f 210/381/103 209/382/103 177/309/103 -f 211/383/104 210/384/104 178/308/104 -f 212/385/105 211/386/105 179/310/105 -f 181/314/106 213/387/106 212/388/106 -f 214/389/107 213/390/107 181/317/107 -f 215/391/108 214/392/108 182/320/108 -f 216/393/109 215/394/109 183/319/109 -f 185/325/110 217/395/110 216/396/110 -f 218/397/111 217/398/111 185/327/111 -f 187/329/112 219/399/112 218/400/112 -f 188/332/113 220/401/113 219/402/113 -f 189/334/114 221/403/114 220/404/114 -f 222/405/115 221/406/115 189/337/115 -f 191/340/116 223/407/116 222/408/116 -f 192/343/117 224/409/117 223/410/117 -f 209/411/118 224/412/118 192/343/118 -f 194/348/17 226/413/17 225/414/17 -f 227/415/17 226/416/17 194/351/17 -f 196/352/17 228/417/17 227/418/17 -f 229/419/17 228/420/17 196/355/17 -f 230/421/17 229/422/17 197/357/17 -f 199/358/17 231/423/17 230/424/17 -f 232/425/17 231/426/17 199/361/17 -f 201/362/17 233/427/17 232/428/17 -f 234/429/17 233/430/17 201/365/17 -f 235/431/17 234/432/17 202/367/17 -f 236/433/17 235/434/17 203/369/17 -f 205/370/17 237/435/17 236/436/17 -f 206/372/17 238/437/17 237/438/17 -f 207/374/17 239/439/17 238/440/17 -f 240/441/17 239/442/17 207/377/17 -f 225/443/17 240/444/17 208/379/17 -f 242/445/18 241/446/18 209/382/18 -f 211/383/18 243/447/18 242/448/18 -f 244/449/18 243/450/18 211/386/18 -f 213/387/18 245/451/18 244/452/18 -f 246/453/18 245/454/18 213/390/18 -f 215/391/18 247/455/18 246/456/18 -f 248/457/18 247/458/18 215/394/18 -f 249/459/18 248/460/18 216/396/18 -f 218/397/18 250/461/18 249/462/18 -f 251/463/18 250/464/18 218/400/18 -f 252/465/18 251/466/18 219/402/18 -f 253/467/18 252/468/18 220/404/18 -f 254/469/18 253/470/18 221/406/18 -f 223/407/18 255/471/18 254/472/18 -f 256/473/18 255/474/18 223/410/18 -f 241/475/18 256/476/18 224/412/18 -f 230/477/119 231/478/119 257/479/119 -f 231/478/120 232/480/120 257/479/120 -f 232/480/121 233/481/121 257/479/121 -f 233/481/122 234/482/122 257/479/122 -f 228/483/123 229/484/123 258/346/123 -f 227/485/124 228/483/124 258/346/124 -f 234/486/125 235/487/125 257/347/125 -f 235/487/126 236/488/126 257/347/126 -f 236/488/127 237/489/127 257/347/127 -f 237/489/128 238/490/128 257/347/128 -f 238/490/129 239/491/129 257/347/129 -f 239/491/130 240/492/130 257/347/130 -f 225/493/131 257/347/131 240/492/131 -f 226/345/132 227/485/132 258/346/132 -f 273/494/17 274/494/17 282/494/17 -f 247/495/17 283/496/17 284/497/17 -f 247/495/133 248/498/133 283/496/133 -f 248/498/134 249/499/134 283/496/134 -f 249/500/135 250/501/135 283/502/135 -f 250/501/136 251/503/136 283/502/136 -f 245/504/137 246/505/137 284/497/137 -f 244/506/138 245/504/138 284/497/138 -f 243/507/139 244/506/139 284/497/139 -f 242/508/140 243/507/140 284/497/140 -f 241/509/141 242/508/141 284/497/141 -f 252/510/17 284/497/17 283/502/17 -f 256/511/142 241/509/142 284/497/142 -f 255/512/143 256/511/143 284/497/143 -f 254/513/144 255/512/144 284/497/144 -f 253/514/145 254/513/145 284/497/145 -f 252/510/146 253/514/146 284/497/146 -f 230/477/18 257/479/18 258/346/18 -f 292/199/18 294/196/18 121/200/18 -f 90/193/17 91/515/17 291/194/17 -f 123/516/18 294/196/18 124/195/18 -f 85/190/19 289/205/19 292/204/19 -f 91/515/17 92/517/17 291/194/17 -f 121/200/18 294/196/18 122/518/18 -f 93/519/17 291/194/17 92/517/17 -f 122/518/18 294/196/18 123/516/18 -f 85/520/17 86/521/17 289/522/17 -f 86/521/17 87/523/17 289/522/17 -f 87/523/17 88/524/17 289/522/17 -f 88/524/17 89/192/17 289/522/17 -f 289/522/17 89/192/17 291/194/17 -f 108/525/17 107/526/17 296/527/17 -f 109/528/17 108/525/17 296/527/17 -f 109/528/17 296/527/17 110/529/17 -f 102/166/21 70/530/21 293/531/21 -f 105/532/17 104/533/17 295/168/17 -f 106/534/17 105/532/17 295/168/17 -f 295/535/20 293/536/20 290/179/20 -f 104/533/17 103/169/17 295/168/17 -f 107/526/17 106/534/17 296/527/17 -f 295/168/17 296/527/17 106/534/17 -f 78/537/18 290/172/18 77/538/18 -f 77/538/18 290/172/18 76/539/18 -f 76/539/18 290/172/18 75/540/18 -f 75/540/18 290/172/18 74/171/18 -f 298/541/1 300/542/1 299/543/1 -f 300/542/2 302/544/2 301/545/2 -f 301/545/3 302/544/3 304/546/3 -f 303/547/4 304/546/4 306/548/4 -f 305/549/5 306/548/5 308/550/5 -f 308/550/6 310/551/6 309/552/6 -f 309/552/7 310/551/7 312/553/7 -f 312/553/8 314/554/8 313/555/8 -f 314/556/9 316/557/9 315/558/9 -f 316/557/10 318/559/10 317/560/10 -f 318/559/11 320/561/11 319/562/11 -f 320/561/12 322/563/12 321/564/12 -f 322/563/13 324/565/13 323/566/13 -f 324/565/14 326/567/14 325/568/14 -f 328/569/15 298/541/15 297/570/15 -f 326/567/16 328/569/16 327/571/16 -f 346/572/70 329/307/70 330/344/70 -f 331/312/71 329/307/71 346/572/71 -f 332/573/72 331/312/72 347/574/72 -f 335/575/75 334/321/75 350/576/75 -f 352/577/76 336/322/76 335/575/76 -f 337/324/77 336/322/77 352/577/77 -f 338/330/78 337/328/78 353/578/78 -f 339/579/79 338/330/79 354/580/79 -f 356/581/80 340/331/80 339/579/80 -f 359/582/83 343/339/83 342/583/83 -f 360/584/84 344/342/84 343/339/84 -f 345/585/85 330/344/85 344/342/85 -f 146/586/70 346/572/70 345/585/70 -f 347/574/71 346/572/71 146/586/71 -f 348/587/72 347/574/72 147/588/72 -f 149/589/73 349/590/73 348/587/73 -f 350/576/74 349/590/74 149/589/74 -f 351/591/75 350/576/75 150/592/75 -f 152/593/76 352/577/76 351/591/76 -f 353/594/77 352/577/77 152/593/77 -f 354/580/78 353/578/78 153/595/78 -f 355/596/79 354/580/79 154/597/79 -f 156/598/80 356/581/80 355/596/80 -f 157/599/81 357/600/81 356/581/81 -f 358/601/82 357/600/82 157/599/82 -f 159/602/83 359/582/83 358/601/83 -f 160/603/84 360/584/84 359/582/84 -f 145/604/85 345/585/85 360/584/85 -f 361/275/54 362/273/54 377/605/54 -f 363/277/55 361/275/55 378/606/55 -f 364/279/56 363/277/56 379/607/56 -f 365/608/57 364/279/57 380/609/57 -f 384/610/60 368/286/60 367/611/60 -f 369/291/61 368/286/61 384/610/61 -f 370/612/62 369/291/62 385/613/62 -f 387/614/63 371/292/63 370/615/63 -f 388/616/64 372/295/64 371/292/64 -f 373/617/65 372/295/65 388/616/65 -f 376/304/68 375/618/68 391/619/68 -f 362/273/69 376/304/69 392/620/69 -f 378/606/54 377/605/54 129/621/54 -f 379/607/55 378/606/55 130/622/55 -f 132/623/56 380/609/56 379/607/56 -f 133/624/57 381/625/57 380/609/57 -f 382/626/58 381/625/58 133/624/58 -f 135/627/59 383/628/59 382/626/59 -f 136/629/60 384/610/60 383/628/60 -f 385/613/61 384/610/61 136/629/61 -f 138/630/62 386/631/62 385/613/62 -f 139/632/63 387/614/63 386/633/63 -f 140/634/64 388/616/64 387/614/64 -f 389/635/65 388/616/65 140/634/65 -f 390/636/66 389/635/66 141/637/66 -f 143/638/67 391/619/67 390/636/67 -f 392/620/68 391/619/68 143/638/68 -f 377/605/69 392/620/69 144/639/69 -f 1/33/1 2/1/1 3/3/1 -f 3/3/2 4/2/2 5/5/2 -f 5/5/3 6/4/3 7/7/3 -f 9/640/4 7/7/4 10/8/4 -f 9/640/5 10/8/5 11/10/5 -f 11/10/6 12/9/6 13/12/6 -f 13/12/7 14/11/7 15/14/7 -f 15/14/8 16/13/8 17/16/8 -f 17/88/9 18/17/9 19/19/9 -f 19/19/10 20/18/10 21/21/10 -f 23/23/11 21/21/11 24/22/11 -f 25/93/12 23/23/12 26/24/12 -f 25/93/13 26/24/13 27/26/13 -f 27/26/14 28/25/14 29/28/14 -f 34/105/1 66/29/1 33/31/1 -f 31/34/15 32/32/15 1/33/15 -f 29/28/16 30/27/16 31/34/16 -f 65/183/1 66/35/1 97/37/1 -f 4/2/17 2/1/17 33/39/17 -f 32/32/17 35/40/17 2/1/17 -f 32/32/17 30/27/17 35/43/17 -f 28/25/17 37/44/17 30/27/17 -f 28/25/17 26/24/17 37/47/17 -f 24/22/17 39/48/17 26/24/17 -f 22/20/17 40/50/17 24/22/17 -f 20/18/17 41/52/17 22/20/17 -f 20/18/17 18/17/17 41/55/17 -f 16/13/17 43/56/17 18/15/17 -f 14/11/17 44/58/17 16/13/17 -f 12/9/17 45/60/17 14/11/17 -f 10/8/17 46/62/17 12/9/17 -f 10/8/17 8/6/17 46/65/17 -f 6/4/17 48/66/17 8/6/17 -f 4/2/17 33/68/17 6/4/17 -f 1/33/18 3/3/18 49/71/18 -f 5/5/18 51/72/18 3/3/18 -f 7/7/18 52/74/18 5/5/18 -f 9/640/18 53/76/18 7/7/18 -f 9/640/18 11/10/18 53/79/18 -f 13/12/18 55/80/18 11/10/18 -f 15/14/18 56/82/18 13/12/18 -f 17/16/18 57/84/18 15/14/18 -f 19/19/18 58/86/18 17/88/18 -f 21/21/18 59/89/18 19/19/18 -f 23/23/18 60/91/18 21/21/18 -f 23/23/18 25/93/18 60/95/18 -f 27/26/18 62/96/18 25/93/18 -f 29/28/18 63/98/18 27/26/18 -f 31/34/18 64/100/18 29/28/18 -f 31/34/18 1/33/18 64/103/18 -f 35/107/15 67/104/15 34/105/15 -f 36/641/16 68/106/16 35/107/16 -f 36/641/14 37/108/14 68/106/14 -f 37/108/13 38/110/13 69/109/13 -f 39/642/12 71/112/12 38/110/12 -f 39/642/11 40/113/11 71/112/11 -f 41/117/10 73/115/10 40/113/10 -f 42/643/9 74/116/9 41/117/9 -f 43/122/8 75/118/8 42/120/8 -f 44/124/7 76/121/7 43/122/7 -f 45/126/6 77/123/6 44/124/6 -f 46/128/5 78/125/5 45/126/5 -f 47/130/4 79/127/4 46/128/4 -f 48/131/3 80/129/3 47/130/3 -f 33/31/2 65/30/2 48/131/2 -f 50/644/1 82/132/1 49/134/1 -f 50/644/2 51/135/2 82/132/2 -f 52/139/3 84/137/3 51/135/3 -f 53/141/4 85/138/4 52/139/4 -f 54/143/5 86/140/5 53/141/5 -f 55/145/6 87/142/6 54/143/6 -f 56/147/7 88/144/7 55/145/7 -f 57/645/8 89/146/8 56/147/8 -f 57/646/9 58/148/9 89/150/9 -f 59/647/10 91/151/10 58/148/10 -f 59/647/11 60/152/11 91/151/11 -f 61/156/12 93/154/12 60/152/12 -f 62/158/13 94/155/13 61/156/13 -f 63/160/14 95/157/14 62/158/14 -f 64/648/16 96/159/16 63/160/16 -f 64/648/15 49/134/15 96/159/15 -f 66/35/15 67/161/15 98/36/15 -f 68/649/16 100/163/16 67/161/16 -f 68/649/14 69/164/14 100/163/14 -f 70/530/13 102/166/13 69/164/13 -f 78/650/19 110/177/19 290/179/19 -f 78/650/4 79/180/4 110/177/4 -f 80/651/3 112/182/3 79/180/3 -f 80/651/2 65/183/2 112/182/2 -f 82/652/1 114/184/1 81/186/1 -f 82/652/2 83/187/2 114/184/2 -f 84/653/3 116/189/3 83/187/3 -f 84/653/4 85/190/4 116/189/4 -f 294/654/20 292/204/20 291/206/20 -f 291/655/21 93/207/21 294/209/21 -f 94/656/13 126/210/13 93/207/13 -f 94/656/14 95/211/14 126/210/14 -f 96/657/16 128/213/16 95/211/16 -f 96/657/15 81/186/15 128/213/15 -f 98/218/22 130/214/22 97/216/22 -f 99/220/23 131/217/23 98/218/23 -f 100/658/24 132/219/24 99/220/24 -f 100/658/25 101/221/25 132/219/25 -f 102/225/26 134/223/26 101/221/26 -f 103/659/27 135/224/27 102/225/27 -f 103/659/28 104/226/28 135/224/28 -f 104/226/29 105/228/29 136/227/29 -f 106/232/30 138/230/30 105/228/30 -f 107/660/31 139/231/31 106/232/31 -f 107/660/32 108/233/32 139/231/32 -f 109/237/33 141/235/33 108/233/33 -f 110/661/34 142/236/34 109/237/34 -f 110/661/35 111/238/35 142/236/35 -f 112/241/36 144/240/36 111/238/36 -f 97/216/37 129/215/37 112/241/37 -f 114/246/38 146/242/38 113/244/38 -f 115/248/39 147/245/39 114/246/39 -f 116/662/40 148/247/40 115/248/40 -f 116/662/41 117/249/41 148/247/41 -f 117/249/42 118/251/42 149/250/42 -f 119/663/43 151/253/43 118/251/43 -f 119/663/44 120/254/44 151/253/44 -f 121/664/45 153/256/45 120/254/45 -f 122/665/46 154/257/46 121/259/46 -f 122/665/47 123/260/47 154/257/47 -f 123/260/48 124/262/48 155/261/48 -f 125/266/49 157/264/49 124/262/49 -f 126/666/50 158/265/50 125/266/50 -f 126/666/51 127/267/51 158/265/51 -f 128/270/52 160/269/52 127/267/52 -f 113/244/53 145/243/53 128/270/53 -f 361/275/54 162/271/54 362/273/54 -f 363/277/55 163/274/55 361/275/55 -f 364/279/56 164/276/56 363/277/56 -f 365/608/57 165/278/57 364/279/57 -f 365/667/58 366/280/58 165/282/58 -f 366/668/59 367/283/59 166/285/59 -f 367/611/60 368/286/60 167/288/60 -f 369/291/61 169/289/61 368/286/61 -f 370/612/62 170/290/62 369/291/62 -f 370/615/63 371/292/63 170/294/63 -f 371/292/64 372/295/64 171/293/64 -f 373/617/65 173/297/65 372/295/65 -f 374/669/66 174/298/66 373/300/66 -f 375/670/67 175/301/67 374/303/67 -f 375/618/68 376/304/68 175/306/68 -f 362/273/69 161/272/69 376/304/69 -f 330/344/70 329/307/70 177/309/70 -f 331/312/71 179/310/71 329/307/71 -f 332/573/72 180/311/72 331/312/72 -f 332/671/73 333/313/73 180/315/73 -f 334/672/74 182/316/74 333/318/74 -f 335/575/75 183/319/75 334/321/75 -f 335/575/76 336/322/76 183/319/76 -f 336/322/77 337/324/77 184/323/77 -f 338/330/78 186/326/78 337/328/78 -f 339/579/79 187/329/79 338/330/79 -f 339/579/80 340/331/80 187/329/80 -f 340/673/81 341/333/81 188/335/81 -f 342/674/82 190/336/82 341/338/82 -f 342/583/83 343/339/83 190/341/83 -f 343/339/84 344/342/84 191/340/84 -f 344/342/85 330/344/85 192/343/85 -f 225/493/147 226/345/147 257/347/147 -f 162/271/87 194/348/87 161/272/87 -f 163/274/88 195/350/88 162/271/88 -f 163/274/89 164/276/89 195/353/89 -f 165/278/90 197/354/90 164/276/90 -f 165/282/91 166/281/91 197/357/91 -f 166/285/92 167/284/92 198/359/92 -f 167/288/93 168/287/93 199/361/93 -f 168/287/94 169/289/94 200/363/94 -f 170/290/95 202/364/95 169/289/95 -f 170/294/96 171/293/96 202/367/96 -f 172/296/97 204/368/97 171/293/97 -f 173/297/98 205/370/98 172/296/98 -f 174/298/99 206/372/99 173/299/99 -f 175/301/100 207/374/100 174/302/100 -f 175/306/101 176/305/101 207/377/101 -f 161/272/102 193/378/102 176/305/102 -f 259/380/17 260/380/17 261/380/17 -f 259/380/17 261/380/17 262/380/17 -f 257/380/17 258/380/17 259/380/17 -f 259/380/17 262/380/17 263/380/17 -f 272/380/17 257/380/17 259/380/17 -f 259/380/17 263/380/17 264/380/17 -f 271/675/17 272/380/17 259/380/17 -f 259/380/17 264/380/17 265/380/17 -f 270/380/17 271/675/17 259/380/17 -f 259/380/17 265/380/17 266/380/17 -f 269/380/17 270/380/17 259/380/17 -f 259/380/17 266/380/17 267/380/17 -f 268/380/17 269/380/17 259/380/17 -f 178/308/103 210/381/103 177/309/103 -f 179/310/104 211/383/104 178/308/104 -f 180/311/105 212/385/105 179/310/105 -f 180/315/106 181/314/106 212/388/106 -f 182/316/107 214/389/107 181/317/107 -f 183/319/108 215/391/108 182/320/108 -f 184/323/109 216/393/109 183/319/109 -f 184/323/110 185/325/110 216/396/110 -f 186/326/111 218/397/111 185/327/111 -f 186/326/112 187/329/112 218/400/112 -f 187/329/113 188/332/113 219/402/113 -f 188/335/114 189/334/114 220/404/114 -f 190/336/115 222/405/115 189/337/115 -f 190/341/116 191/340/116 222/408/116 -f 191/340/117 192/343/117 223/410/117 -f 177/309/118 209/411/118 192/343/118 -f 193/349/17 194/348/17 225/414/17 -f 195/350/17 227/415/17 194/351/17 -f 195/353/17 196/352/17 227/418/17 -f 197/354/17 229/419/17 196/355/17 -f 198/356/17 230/421/17 197/357/17 -f 198/359/17 199/358/17 230/424/17 -f 200/360/17 232/425/17 199/361/17 -f 200/363/17 201/362/17 232/428/17 -f 202/364/17 234/429/17 201/365/17 -f 203/366/17 235/431/17 202/367/17 -f 204/368/17 236/433/17 203/369/17 -f 204/371/17 205/370/17 236/436/17 -f 205/373/17 206/372/17 237/438/17 -f 206/375/17 207/374/17 238/440/17 -f 208/376/17 240/441/17 207/377/17 -f 193/378/17 225/443/17 208/379/17 -f 210/381/18 242/445/18 209/382/18 -f 210/384/18 211/383/18 242/448/18 -f 212/385/18 244/449/18 211/386/18 -f 212/388/18 213/387/18 244/452/18 -f 214/389/18 246/453/18 213/390/18 -f 214/392/18 215/391/18 246/456/18 -f 216/393/18 248/457/18 215/394/18 -f 217/395/18 249/459/18 216/396/18 -f 217/398/18 218/397/18 249/462/18 -f 219/399/18 251/463/18 218/400/18 -f 220/401/18 252/465/18 219/402/18 -f 221/403/18 253/467/18 220/404/18 -f 222/405/18 254/469/18 221/406/18 -f 222/408/18 223/407/18 254/472/18 -f 224/409/18 256/473/18 223/410/18 -f 209/411/18 241/475/18 224/412/18 -f 280/494/17 281/494/17 282/494/17 -f 285/494/17 286/676/17 287/494/17 -f 275/494/17 276/494/17 277/494/17 -f 284/494/17 285/494/17 287/494/17 -f 275/494/17 277/494/17 278/494/17 -f 283/494/17 284/494/17 287/494/17 -f 275/494/17 278/494/17 279/494/17 -f 282/494/17 283/494/17 287/494/17 -f 279/494/17 280/494/17 282/494/17 -f 282/494/17 287/494/17 288/494/17 -f 275/494/17 279/494/17 282/494/17 -f 282/494/17 288/494/17 273/494/17 -f 274/494/17 275/494/17 282/494/17 -f 246/505/148 247/495/148 284/497/148 -f 251/503/149 252/510/149 283/502/149 -f 229/484/150 230/477/150 258/346/150 -f 117/191/19 85/190/19 292/204/19 -f 295/677/21 102/166/21 293/531/21 -f 296/178/20 295/535/20 290/179/20 -f 297/570/1 298/541/1 299/543/1 -f 299/543/2 300/542/2 301/545/2 -f 303/547/3 301/545/3 304/546/3 -f 305/549/4 303/547/4 306/548/4 -f 307/678/5 305/549/5 308/550/5 -f 307/678/6 308/550/6 309/552/6 -f 311/679/7 309/552/7 312/553/7 -f 311/679/8 312/553/8 313/555/8 -f 313/680/9 314/556/9 315/558/9 -f 315/558/10 316/557/10 317/560/10 -f 317/560/11 318/559/11 319/562/11 -f 319/562/12 320/561/12 321/564/12 -f 321/564/13 322/563/13 323/566/13 -f 323/566/14 324/565/14 325/568/14 -f 327/571/15 328/569/15 297/570/15 -f 325/568/16 326/567/16 327/571/16 -f 345/585/70 346/572/70 330/344/70 -f 347/574/71 331/312/71 346/572/71 -f 348/587/72 332/573/72 347/574/72 -f 351/591/75 335/575/75 350/576/75 -f 351/591/76 352/577/76 335/575/76 -f 353/594/77 337/324/77 352/577/77 -f 354/580/78 338/330/78 353/578/78 -f 355/596/79 339/579/79 354/580/79 -f 355/596/80 356/581/80 339/579/80 -f 358/601/83 359/582/83 342/583/83 -f 359/582/84 360/584/84 343/339/84 -f 360/584/85 345/585/85 344/342/85 -f 145/604/70 146/586/70 345/585/70 -f 147/588/71 347/574/71 146/586/71 -f 148/681/72 348/587/72 147/588/72 -f 148/681/73 149/589/73 348/587/73 -f 150/592/74 350/576/74 149/589/74 -f 151/682/75 351/591/75 150/592/75 -f 151/682/76 152/593/76 351/591/76 -f 153/683/77 353/594/77 152/593/77 -f 154/597/78 354/580/78 153/595/78 -f 155/684/79 355/596/79 154/597/79 -f 155/684/80 156/598/80 355/596/80 -f 156/598/81 157/599/81 356/581/81 -f 158/685/82 358/601/82 157/599/82 -f 158/685/83 159/602/83 358/601/83 -f 159/602/84 160/603/84 359/582/84 -f 160/603/85 145/604/85 360/584/85 -f 378/606/54 361/275/54 377/605/54 -f 379/607/55 363/277/55 378/606/55 -f 380/609/56 364/279/56 379/607/56 -f 381/625/57 365/608/57 380/609/57 -f 383/628/60 384/610/60 367/611/60 -f 385/613/61 369/291/61 384/610/61 -f 386/631/62 370/612/62 385/613/62 -f 386/633/63 387/614/63 370/615/63 -f 387/614/64 388/616/64 371/292/64 -f 389/635/65 373/617/65 388/616/65 -f 392/620/68 376/304/68 391/619/68 -f 377/605/69 362/273/69 392/620/69 -f 130/622/54 378/606/54 129/621/54 -f 131/686/55 379/607/55 130/622/55 -f 131/686/56 132/623/56 379/607/56 -f 132/623/57 133/624/57 380/609/57 -f 134/687/58 382/626/58 133/624/58 -f 134/687/59 135/627/59 382/626/59 -f 135/627/60 136/629/60 383/628/60 -f 137/688/61 385/613/61 136/629/61 -f 137/688/62 138/630/62 385/613/62 -f 138/689/63 139/632/63 386/633/63 -f 139/632/64 140/634/64 387/614/64 -f 141/637/65 389/635/65 140/634/65 -f 142/690/66 390/636/66 141/637/66 -f 142/690/67 143/638/67 390/636/67 -f 144/639/68 392/620/68 143/638/68 -f 129/621/69 377/605/69 144/639/69 diff --git a/src/main/resources/assets/hbm/models/RingBig.obj b/src/main/resources/assets/hbm/models/RingBig.obj deleted file mode 100644 index dd4c3b451..000000000 --- a/src/main/resources/assets/hbm/models/RingBig.obj +++ /dev/null @@ -1,806 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'RingBig.blend' -# www.blender.org -o Circle_Circle.001 -v 0.000000 0.000000 -1.000000 -v -0.195090 0.000000 -0.980785 -v -0.382683 0.000000 -0.923880 -v -0.555570 0.000000 -0.831470 -v -0.707107 0.000000 -0.707107 -v -0.831470 0.000000 -0.555570 -v -0.923880 0.000000 -0.382683 -v -0.980785 0.000000 -0.195090 -v -1.000000 0.000000 -0.000000 -v -0.980785 0.000000 0.195090 -v -0.923880 0.000000 0.382683 -v -0.831470 0.000000 0.555570 -v -0.707107 0.000000 0.707107 -v -0.555570 0.000000 0.831470 -v -0.382683 0.000000 0.923880 -v -0.195090 0.000000 0.980785 -v 0.000000 0.000000 1.000000 -v 0.195091 0.000000 0.980785 -v 0.382684 0.000000 0.923879 -v 0.555571 0.000000 0.831469 -v 0.707107 0.000000 0.707106 -v 0.831470 0.000000 0.555570 -v 0.923880 0.000000 0.382683 -v 0.980785 0.000000 0.195089 -v 1.000000 0.000000 -0.000001 -v 0.980785 0.000000 -0.195091 -v 0.923879 0.000000 -0.382684 -v 0.831469 0.000000 -0.555571 -v 0.707106 0.000000 -0.707108 -v 0.555569 0.000000 -0.831470 -v 0.382682 0.000000 -0.923880 -v 0.195089 0.000000 -0.980786 -v -0.000000 0.000000 -0.450000 -v -0.087791 0.000000 -0.441353 -v -0.172208 0.000000 -0.415746 -v -0.250007 0.000000 -0.374161 -v -0.318198 0.000000 -0.318198 -v -0.374161 0.000000 -0.250007 -v -0.415746 0.000000 -0.172208 -v -0.441353 0.000000 -0.087791 -v -0.450000 0.000000 -0.000000 -v -0.441353 0.000000 0.087790 -v -0.415746 0.000000 0.172207 -v -0.374161 0.000000 0.250006 -v -0.318198 0.000000 0.318198 -v -0.250007 0.000000 0.374161 -v -0.172208 0.000000 0.415746 -v -0.087791 0.000000 0.441353 -v 0.000000 0.000000 0.450000 -v 0.087791 0.000000 0.441353 -v 0.172208 0.000000 0.415746 -v 0.250007 0.000000 0.374161 -v 0.318198 0.000000 0.318198 -v 0.374161 0.000000 0.250006 -v 0.415746 0.000000 0.172207 -v 0.441353 0.000000 0.087790 -v 0.450000 0.000000 -0.000001 -v 0.441353 0.000000 -0.087791 -v 0.415746 0.000000 -0.172208 -v 0.374161 0.000000 -0.250007 -v 0.318198 0.000000 -0.318199 -v 0.250006 0.000000 -0.374162 -v 0.172207 0.000000 -0.415746 -v 0.087790 0.000000 -0.441354 -v 0.000000 0.200000 -1.000000 -v -0.195090 0.200000 -0.980785 -v -0.382683 0.200000 -0.923880 -v -0.555570 0.200000 -0.831470 -v -0.707107 0.200000 -0.707107 -v -0.831470 0.200000 -0.555570 -v -0.923880 0.200000 -0.382683 -v -0.980785 0.200000 -0.195090 -v -1.000000 0.200000 -0.000000 -v -0.980785 0.200000 0.195090 -v -0.923880 0.200000 0.382683 -v -0.831470 0.200000 0.555570 -v -0.707107 0.200000 0.707107 -v -0.555570 0.200000 0.831470 -v -0.382683 0.200000 0.923880 -v -0.195090 0.200000 0.980785 -v 0.000000 0.200000 1.000000 -v 0.195091 0.200000 0.980785 -v 0.382684 0.200000 0.923879 -v 0.555571 0.200000 0.831469 -v 0.707107 0.200000 0.707106 -v 0.831470 0.200000 0.555570 -v 0.923880 0.200000 0.382683 -v 0.980785 0.200000 0.195089 -v 1.000000 0.200000 -0.000001 -v 0.980785 0.200000 -0.195091 -v 0.923879 0.200000 -0.382684 -v 0.831469 0.200000 -0.555571 -v 0.707106 0.200000 -0.707108 -v 0.555569 0.200000 -0.831470 -v 0.382682 0.200000 -0.923880 -v 0.195089 0.200000 -0.980786 -v -0.000000 0.200000 -0.450000 -v -0.087791 0.200000 -0.441353 -v -0.172208 0.200000 -0.415746 -v -0.250007 0.200000 -0.374161 -v -0.318198 0.200000 -0.318198 -v -0.374161 0.200000 -0.250007 -v -0.415746 0.200000 -0.172208 -v -0.441353 0.200000 -0.087791 -v -0.450000 0.200000 -0.000000 -v -0.441353 0.200000 0.087790 -v -0.415746 0.200000 0.172207 -v -0.374161 0.200000 0.250006 -v -0.318198 0.200000 0.318198 -v -0.250007 0.200000 0.374161 -v -0.172208 0.200000 0.415746 -v -0.087791 0.200000 0.441353 -v 0.000000 0.200000 0.450000 -v 0.087791 0.200000 0.441353 -v 0.172208 0.200000 0.415746 -v 0.250007 0.200000 0.374161 -v 0.318198 0.200000 0.318198 -v 0.374161 0.200000 0.250006 -v 0.415746 0.200000 0.172207 -v 0.441353 0.200000 0.087790 -v 0.450000 0.200000 -0.000001 -v 0.441353 0.200000 -0.087791 -v 0.415746 0.200000 -0.172208 -v 0.374161 0.200000 -0.250007 -v 0.318198 0.200000 -0.318199 -v 0.250006 0.200000 -0.374162 -v 0.172207 0.200000 -0.415746 -v 0.087790 0.200000 -0.441354 -vt 0.199619 0.056442 -vt 0.150889 0.080345 -vt 0.129815 0.061495 -vt 0.109447 0.110768 -vt 0.076886 0.146541 -vt 0.047590 0.135046 -vt 0.054458 0.186291 -vt 0.022670 0.179212 -vt 0.043024 0.228488 -vt 0.009966 0.226098 -vt 0.043024 0.271512 -vt 0.054458 0.313710 -vt 0.022670 0.320789 -vt 0.076886 0.353459 -vt 0.047590 0.364954 -vt 0.109447 0.389232 -vt 0.083769 0.404702 -vt 0.150889 0.419655 -vt 0.129815 0.438505 -vt 0.199620 0.443558 -vt 0.183960 0.465064 -vt 0.253766 0.460022 -vt 0.244123 0.483358 -vt 0.311248 0.468416 -vt 0.307992 0.492684 -vt 0.369855 0.468416 -vt 0.427337 0.460022 -vt 0.436980 0.483358 -vt 0.481483 0.443558 -vt 0.530213 0.419655 -vt 0.551287 0.438505 -vt 0.571655 0.389232 -vt 0.597334 0.404702 -vt 0.604216 0.353459 -vt 0.633512 0.364954 -vt 0.626644 0.313710 -vt 0.658432 0.320788 -vt 0.638078 0.271512 -vt 0.671137 0.273902 -vt 0.638078 0.228488 -vt 0.671137 0.226098 -vt 0.626644 0.186290 -vt 0.658432 0.179212 -vt 0.604216 0.146541 -vt 0.571655 0.110768 -vt 0.597334 0.095298 -vt 0.530214 0.080345 -vt 0.551287 0.061495 -vt 0.481483 0.056442 -vt 0.497142 0.034936 -vt 0.427337 0.039978 -vt 0.436979 0.016642 -vt 0.369855 0.031584 -vt 0.311247 0.031584 -vt 0.307991 0.007316 -vt 0.253766 0.039978 -vt 0.244123 0.016642 -vt 0.129815 0.561495 -vt 0.150889 0.580345 -vt 0.199619 0.556442 -vt 0.083768 0.595298 -vt 0.109447 0.610768 -vt 0.047590 0.635046 -vt 0.076886 0.646541 -vt 0.022670 0.679212 -vt 0.054458 0.686291 -vt 0.009966 0.726098 -vt 0.043024 0.728488 -vt 0.009966 0.773903 -vt 0.043024 0.771512 -vt 0.022670 0.820789 -vt 0.054458 0.813710 -vt 0.047590 0.864954 -vt 0.076886 0.853459 -vt 0.083769 0.904702 -vt 0.109447 0.889232 -vt 0.129815 0.938505 -vt 0.150889 0.919655 -vt 0.183960 0.965064 -vt 0.199620 0.943558 -vt 0.244123 0.983358 -vt 0.253766 0.960022 -vt 0.307992 0.992684 -vt 0.311248 0.968416 -vt 0.373111 0.992684 -vt 0.369855 0.968416 -vt 0.436980 0.983358 -vt 0.427337 0.960022 -vt 0.497142 0.965064 -vt 0.481483 0.943558 -vt 0.551287 0.938505 -vt 0.530213 0.919655 -vt 0.597334 0.904702 -vt 0.571655 0.889232 -vt 0.633512 0.864954 -vt 0.604216 0.853459 -vt 0.658432 0.820788 -vt 0.626644 0.813710 -vt 0.671137 0.773902 -vt 0.638078 0.771512 -vt 0.671137 0.726098 -vt 0.638078 0.728488 -vt 0.658432 0.679212 -vt 0.626644 0.686290 -vt 0.633512 0.635046 -vt 0.604216 0.646541 -vt 0.597334 0.595298 -vt 0.571655 0.610768 -vt 0.551287 0.561495 -vt 0.530214 0.580345 -vt 0.497142 0.534936 -vt 0.481483 0.556442 -vt 0.436979 0.516642 -vt 0.427337 0.539978 -vt 0.373111 0.507316 -vt 0.369855 0.531584 -vt 0.307991 0.507316 -vt 0.311247 0.531584 -vt 0.244123 0.516642 -vt 0.253766 0.539978 -vt 0.183960 0.534936 -vt 0.691068 0.257060 -vt 0.724286 0.257060 -vt 0.724286 0.304865 -vt 0.830585 0.492173 -vt 0.797367 0.492173 -vt 0.797367 0.444369 -vt 0.777436 0.179993 -vt 0.744217 0.179993 -vt 0.744217 0.132188 -vt 0.724286 0.179993 -vt 0.691068 0.179993 -vt 0.691068 0.132188 -vt 0.724286 0.429737 -vt 0.691068 0.429737 -vt 0.691068 0.381933 -vt 0.883735 0.117556 -vt 0.850517 0.117556 -vt 0.850517 0.069752 -vt 0.724286 0.617046 -vt 0.691068 0.617046 -vt 0.691068 0.569241 -vt 0.830585 0.554610 -vt 0.797367 0.554610 -vt 0.797367 0.506805 -vt 0.883735 0.055120 -vt 0.850517 0.055120 -vt 0.850517 0.007316 -vt 0.830585 0.429737 -vt 0.797367 0.429737 -vt 0.797367 0.381933 -vt 0.691068 0.506805 -vt 0.724286 0.506805 -vt 0.724286 0.554610 -vt 0.830586 0.117557 -vt 0.797367 0.117557 -vt 0.797367 0.069752 -vt 0.777436 0.429737 -vt 0.744217 0.429737 -vt 0.744217 0.381933 -vt 0.777436 0.617046 -vt 0.744217 0.617046 -vt 0.744217 0.569241 -vt 0.744217 0.506805 -vt 0.777436 0.506805 -vt 0.777436 0.554610 -vt 0.830585 0.617046 -vt 0.797367 0.617046 -vt 0.797367 0.569241 -vt 0.777436 0.117557 -vt 0.744217 0.117557 -vt 0.744217 0.069752 -vt 0.724286 0.492174 -vt 0.691068 0.492174 -vt 0.691068 0.444369 -vt 0.724286 0.055120 -vt 0.691068 0.055120 -vt 0.691068 0.007316 -vt 0.724286 0.242429 -vt 0.691068 0.242429 -vt 0.691068 0.194624 -vt 0.744217 0.257060 -vt 0.777436 0.257060 -vt 0.777436 0.304865 -vt 0.830585 0.055120 -vt 0.797367 0.055120 -vt 0.797367 0.007316 -vt 0.830585 0.179993 -vt 0.797367 0.179993 -vt 0.797367 0.132188 -vt 0.830585 0.304865 -vt 0.797367 0.304865 -vt 0.797367 0.257060 -vt 0.744217 0.007316 -vt 0.777436 0.007316 -vt 0.777436 0.055120 -vt 0.777436 0.242429 -vt 0.744217 0.242429 -vt 0.744217 0.194624 -vt 0.777436 0.367301 -vt 0.744217 0.367301 -vt 0.744217 0.319497 -vt 0.724286 0.117557 -vt 0.691068 0.117557 -vt 0.691068 0.069752 -vt 0.830585 0.242429 -vt 0.797367 0.242429 -vt 0.797367 0.194624 -vt 0.744217 0.444369 -vt 0.777436 0.444369 -vt 0.777436 0.492174 -vt 0.797367 0.319497 -vt 0.830585 0.319497 -vt 0.830585 0.367301 -vt 0.724286 0.367301 -vt 0.691068 0.367301 -vt 0.691068 0.319497 -vt 0.956816 0.348179 -vt 0.956816 0.305155 -vt 0.990034 0.305155 -vt 0.990034 0.247499 -vt 0.990034 0.290524 -vt 0.956816 0.290524 -vt 0.936885 0.651089 -vt 0.936885 0.694113 -vt 0.903666 0.694113 -vt 0.990034 0.007316 -vt 0.990034 0.050340 -vt 0.956816 0.050340 -vt 0.883735 0.362811 -vt 0.883735 0.405835 -vt 0.850517 0.405835 -vt 0.903666 0.348179 -vt 0.903666 0.305155 -vt 0.936885 0.305155 -vt 0.936885 0.478122 -vt 0.936885 0.521146 -vt 0.903666 0.521146 -vt 0.956816 0.405835 -vt 0.956816 0.362811 -vt 0.990034 0.362811 -vt 0.883735 0.535778 -vt 0.883735 0.578802 -vt 0.850517 0.578802 -vt 0.850517 0.348179 -vt 0.850517 0.305155 -vt 0.883735 0.305155 -vt 0.850517 0.290524 -vt 0.850517 0.247499 -vt 0.883735 0.247499 -vt 0.903666 0.405835 -vt 0.903666 0.362811 -vt 0.936885 0.362811 -vt 0.850517 0.463491 -vt 0.850517 0.420467 -vt 0.883735 0.420467 -vt 0.883735 0.651089 -vt 0.883735 0.694113 -vt 0.850517 0.694113 -vt 0.903666 0.232868 -vt 0.903666 0.189844 -vt 0.936885 0.189844 -vt 0.903666 0.050340 -vt 0.903666 0.007316 -vt 0.936885 0.007316 -vt 0.903666 0.175212 -vt 0.903666 0.132188 -vt 0.936885 0.132188 -vt 0.850517 0.636458 -vt 0.850517 0.593434 -vt 0.883735 0.593434 -vt 0.850517 0.521146 -vt 0.850517 0.478122 -vt 0.883735 0.478122 -vt 0.691068 0.674702 -vt 0.691068 0.631677 -vt 0.724286 0.631677 -vt 0.990034 0.064971 -vt 0.990034 0.107996 -vt 0.956816 0.107996 -vt 0.883735 0.132188 -vt 0.883735 0.175212 -vt 0.850517 0.175212 -vt 0.903666 0.290524 -vt 0.903666 0.247499 -vt 0.936885 0.247499 -vt 0.903666 0.463491 -vt 0.903666 0.420467 -vt 0.936885 0.420467 -vt 0.903666 0.112776 -vt 0.903666 0.069752 -vt 0.936885 0.069752 -vt 0.850517 0.232868 -vt 0.850517 0.189844 -vt 0.883735 0.189844 -vt 0.744217 0.674701 -vt 0.744217 0.631677 -vt 0.777436 0.631677 -vt 0.903666 0.636458 -vt 0.903666 0.593434 -vt 0.936885 0.593434 -vt 0.830585 0.631677 -vt 0.830586 0.674701 -vt 0.797367 0.674701 -vt 0.903666 0.578802 -vt 0.903666 0.535778 -vt 0.936885 0.535778 -vt 0.956816 0.232868 -vt 0.956816 0.189844 -vt 0.990034 0.189844 -vt 0.990034 0.132188 -vt 0.990034 0.175212 -vt 0.956816 0.175212 -vt 0.183960 0.034936 -vt 0.083768 0.095298 -vt 0.009966 0.273903 -vt 0.373111 0.492684 -vt 0.497142 0.465064 -vt 0.633512 0.135046 -vt 0.373111 0.007316 -vt 0.691068 0.304865 -vt 0.830585 0.444369 -vt 0.777436 0.132188 -vt 0.724286 0.132188 -vt 0.724286 0.381933 -vt 0.883735 0.069752 -vt 0.724286 0.569241 -vt 0.830585 0.506805 -vt 0.883735 0.007316 -vt 0.830585 0.381933 -vt 0.691068 0.554610 -vt 0.830586 0.069752 -vt 0.777436 0.381933 -vt 0.777436 0.569241 -vt 0.744217 0.554610 -vt 0.830585 0.569241 -vt 0.777436 0.069752 -vt 0.724286 0.444369 -vt 0.724286 0.007316 -vt 0.724286 0.194624 -vt 0.744217 0.304865 -vt 0.830585 0.007316 -vt 0.830585 0.132188 -vt 0.830585 0.257060 -vt 0.744217 0.055120 -vt 0.777436 0.194624 -vt 0.777436 0.319497 -vt 0.724286 0.069752 -vt 0.830585 0.194624 -vt 0.744217 0.492174 -vt 0.797367 0.367301 -vt 0.724286 0.319497 -vt 0.990034 0.348179 -vt 0.956816 0.247499 -vt 0.903666 0.651089 -vt 0.956816 0.007316 -vt 0.850517 0.362811 -vt 0.936885 0.348179 -vt 0.903666 0.478122 -vt 0.990034 0.405835 -vt 0.850517 0.535778 -vt 0.883735 0.348179 -vt 0.883735 0.290524 -vt 0.936885 0.405835 -vt 0.883735 0.463491 -vt 0.850517 0.651089 -vt 0.936885 0.232868 -vt 0.936885 0.050340 -vt 0.936885 0.175212 -vt 0.883735 0.636458 -vt 0.883735 0.521146 -vt 0.724286 0.674702 -vt 0.956816 0.064971 -vt 0.850517 0.132188 -vt 0.936885 0.290524 -vt 0.936885 0.463491 -vt 0.936885 0.112776 -vt 0.883735 0.232868 -vt 0.777436 0.674701 -vt 0.936885 0.636458 -vt 0.797367 0.631677 -vt 0.936885 0.578802 -vt 0.990034 0.232868 -vt 0.956816 0.132188 -vn 0.000000 -1.000000 0.000000 -vn -0.000000 1.000000 0.000000 -vn 0.881900 0.000000 -0.471400 -vn 0.773000 0.000000 -0.634400 -vn 0.634400 0.000000 -0.773000 -vn 0.471400 0.000000 -0.881900 -vn 0.290300 0.000000 -0.956900 -vn 0.098000 0.000000 -0.995200 -vn -0.098000 0.000000 -0.995200 -vn -0.290300 0.000000 -0.956900 -vn -0.471400 0.000000 -0.881900 -vn -0.634400 0.000000 -0.773000 -vn -0.773000 0.000000 -0.634400 -vn -0.881900 0.000000 -0.471400 -vn -0.956900 0.000000 -0.290300 -vn -0.995200 0.000000 -0.098000 -vn -0.995200 0.000000 0.098000 -vn -0.956900 0.000000 0.290300 -vn -0.881900 0.000000 0.471400 -vn -0.773000 0.000000 0.634400 -vn -0.634400 0.000000 0.773000 -vn -0.471400 0.000000 0.881900 -vn -0.290300 0.000000 0.956900 -vn -0.098000 0.000000 0.995200 -vn 0.098000 0.000000 0.995200 -vn 0.290300 0.000000 0.956900 -vn 0.471400 0.000000 0.881900 -vn 0.634400 0.000000 0.773000 -vn 0.773000 0.000000 0.634400 -vn 0.881900 0.000000 0.471400 -vn 0.956900 0.000000 0.290300 -vn 0.995200 0.000000 0.098000 -vn 0.995200 0.000000 -0.098000 -vn 0.956900 0.000000 -0.290300 -s off -f 49/1/1 50/2/1 18/3/1 -f 18/3/1 50/2/1 51/4/1 -f 51/4/1 52/5/1 20/6/1 -f 52/5/1 53/7/1 21/8/1 -f 53/7/1 54/9/1 22/10/1 -f 22/10/1 54/9/1 55/11/1 -f 55/11/1 56/12/1 24/13/1 -f 56/12/1 57/14/1 25/15/1 -f 57/14/1 58/16/1 26/17/1 -f 58/16/1 59/18/1 27/19/1 -f 59/18/1 60/20/1 28/21/1 -f 60/20/1 61/22/1 29/23/1 -f 61/22/1 62/24/1 30/25/1 -f 30/25/1 62/24/1 63/26/1 -f 63/26/1 64/27/1 32/28/1 -f 32/28/1 64/27/1 33/29/1 -f 33/29/1 34/30/1 2/31/1 -f 34/30/1 35/32/1 3/33/1 -f 35/32/1 36/34/1 4/35/1 -f 36/34/1 37/36/1 5/37/1 -f 37/36/1 38/38/1 6/39/1 -f 38/38/1 39/40/1 7/41/1 -f 39/40/1 40/42/1 8/43/1 -f 8/43/1 40/42/1 41/44/1 -f 41/44/1 42/45/1 10/46/1 -f 42/45/1 43/47/1 11/48/1 -f 11/48/1 43/47/1 44/49/1 -f 12/50/1 44/49/1 45/51/1 -f 13/52/1 45/51/1 46/53/1 -f 46/53/1 47/54/1 15/55/1 -f 15/55/1 47/54/1 48/56/1 -f 16/57/1 48/56/1 49/1/1 -f 82/58/2 114/59/2 113/60/2 -f 83/61/2 115/62/2 114/59/2 -f 83/61/2 84/63/2 116/64/2 -f 85/65/2 117/66/2 116/64/2 -f 86/67/2 118/68/2 117/66/2 -f 86/67/2 87/69/2 119/70/2 -f 88/71/2 120/72/2 119/70/2 -f 89/73/2 121/74/2 120/72/2 -f 90/75/2 122/76/2 121/74/2 -f 91/77/2 123/78/2 122/76/2 -f 92/79/2 124/80/2 123/78/2 -f 93/81/2 125/82/2 124/80/2 -f 94/83/2 126/84/2 125/82/2 -f 94/83/2 95/85/2 127/86/2 -f 96/87/2 128/88/2 127/86/2 -f 65/89/2 97/90/2 128/88/2 -f 66/91/2 98/92/2 97/90/2 -f 67/93/2 99/94/2 98/92/2 -f 68/95/2 100/96/2 99/94/2 -f 68/95/2 69/97/2 101/98/2 -f 70/99/2 102/100/2 101/98/2 -f 71/101/2 103/102/2 102/100/2 -f 71/101/2 72/103/2 104/104/2 -f 73/105/2 105/106/2 104/104/2 -f 74/107/2 106/108/2 105/106/2 -f 75/109/2 107/110/2 106/108/2 -f 75/109/2 76/111/2 108/112/2 -f 76/111/2 77/113/2 109/114/2 -f 77/113/2 78/115/2 110/116/2 -f 79/117/2 111/118/2 110/116/2 -f 79/117/2 80/119/2 112/120/2 -f 81/121/2 113/60/2 112/120/2 -f 28/122/3 92/123/3 91/124/3 -f 29/125/4 93/126/4 92/127/4 -f 30/128/5 94/129/5 93/130/5 -f 31/131/6 95/132/6 94/133/6 -f 32/134/7 96/135/7 95/136/7 -f 1/137/8 65/138/8 96/139/8 -f 2/140/9 66/141/9 65/142/9 -f 3/143/10 67/144/10 66/145/10 -f 4/146/11 68/147/11 67/148/11 -f 5/149/12 69/150/12 68/151/12 -f 6/152/13 70/153/13 69/154/13 -f 7/155/14 71/156/14 70/157/14 -f 8/158/15 72/159/15 71/160/15 -f 9/161/16 73/162/16 72/163/16 -f 10/164/17 74/165/17 73/166/17 -f 11/167/18 75/168/18 74/169/18 -f 12/170/19 76/171/19 75/172/19 -f 13/173/20 77/174/20 76/175/20 -f 14/176/21 78/177/21 77/178/21 -f 15/179/22 79/180/22 78/181/22 -f 16/182/23 80/183/23 79/184/23 -f 17/185/24 81/186/24 80/187/24 -f 18/188/25 82/189/25 81/190/25 -f 19/191/26 83/192/26 82/193/26 -f 20/194/27 84/195/27 83/196/27 -f 21/197/28 85/198/28 84/199/28 -f 22/200/29 86/201/29 85/202/29 -f 23/203/30 87/204/30 86/205/30 -f 24/206/31 88/207/31 87/208/31 -f 25/209/32 89/210/32 88/211/32 -f 26/212/33 90/213/33 89/214/33 -f 27/215/34 91/216/34 90/217/34 -f 103/218/31 104/219/31 40/220/31 -f 102/221/30 103/222/30 39/223/30 -f 101/224/29 102/225/29 38/226/29 -f 100/227/28 101/228/28 37/229/28 -f 99/230/27 100/231/27 36/232/27 -f 98/233/26 99/234/26 35/235/26 -f 97/236/25 98/237/25 34/238/25 -f 128/239/24 97/240/24 33/241/24 -f 127/242/23 128/243/23 64/244/23 -f 126/245/22 127/246/22 63/247/22 -f 125/248/21 126/249/21 62/250/21 -f 124/251/20 125/252/20 61/253/20 -f 123/254/19 124/255/19 60/256/19 -f 122/257/18 123/258/18 59/259/18 -f 121/260/17 122/261/17 58/262/17 -f 120/263/16 121/264/16 57/265/16 -f 119/266/15 120/267/15 56/268/15 -f 118/269/14 119/270/14 55/271/14 -f 117/272/13 118/273/13 54/274/13 -f 116/275/12 117/276/12 53/277/12 -f 115/278/11 116/279/11 52/280/11 -f 114/281/10 115/282/10 51/283/10 -f 113/284/9 114/285/9 50/286/9 -f 112/287/8 113/288/8 49/289/8 -f 111/290/7 112/291/7 48/292/7 -f 110/293/6 111/294/6 47/295/6 -f 109/296/5 110/297/5 46/298/5 -f 108/299/4 109/300/4 45/301/4 -f 107/302/3 108/303/3 44/304/3 -f 106/305/34 107/306/34 43/307/34 -f 105/308/33 106/309/33 42/310/33 -f 104/311/32 105/312/32 41/313/32 -f 17/314/1 49/1/1 18/3/1 -f 19/315/1 18/3/1 51/4/1 -f 19/315/1 51/4/1 20/6/1 -f 20/6/1 52/5/1 21/8/1 -f 21/8/1 53/7/1 22/10/1 -f 23/316/1 22/10/1 55/11/1 -f 23/316/1 55/11/1 24/13/1 -f 24/13/1 56/12/1 25/15/1 -f 25/15/1 57/14/1 26/17/1 -f 26/17/1 58/16/1 27/19/1 -f 27/19/1 59/18/1 28/21/1 -f 28/21/1 60/20/1 29/23/1 -f 29/23/1 61/22/1 30/25/1 -f 31/317/1 30/25/1 63/26/1 -f 31/317/1 63/26/1 32/28/1 -f 1/318/1 32/28/1 33/29/1 -f 1/318/1 33/29/1 2/31/1 -f 2/31/1 34/30/1 3/33/1 -f 3/33/1 35/32/1 4/35/1 -f 4/35/1 36/34/1 5/37/1 -f 5/37/1 37/36/1 6/39/1 -f 6/39/1 38/38/1 7/41/1 -f 7/41/1 39/40/1 8/43/1 -f 9/319/1 8/43/1 41/44/1 -f 9/319/1 41/44/1 10/46/1 -f 10/46/1 42/45/1 11/48/1 -f 12/50/1 11/48/1 44/49/1 -f 13/52/1 12/50/1 45/51/1 -f 14/320/1 13/52/1 46/53/1 -f 14/320/1 46/53/1 15/55/1 -f 16/57/1 15/55/1 48/56/1 -f 17/314/1 16/57/1 49/1/1 -f 81/121/2 82/58/2 113/60/2 -f 82/58/2 83/61/2 114/59/2 -f 115/62/2 83/61/2 116/64/2 -f 84/63/2 85/65/2 116/64/2 -f 85/65/2 86/67/2 117/66/2 -f 118/68/2 86/67/2 119/70/2 -f 87/69/2 88/71/2 119/70/2 -f 88/71/2 89/73/2 120/72/2 -f 89/73/2 90/75/2 121/74/2 -f 90/75/2 91/77/2 122/76/2 -f 91/77/2 92/79/2 123/78/2 -f 92/79/2 93/81/2 124/80/2 -f 93/81/2 94/83/2 125/82/2 -f 126/84/2 94/83/2 127/86/2 -f 95/85/2 96/87/2 127/86/2 -f 96/87/2 65/89/2 128/88/2 -f 65/89/2 66/91/2 97/90/2 -f 66/91/2 67/93/2 98/92/2 -f 67/93/2 68/95/2 99/94/2 -f 100/96/2 68/95/2 101/98/2 -f 69/97/2 70/99/2 101/98/2 -f 70/99/2 71/101/2 102/100/2 -f 103/102/2 71/101/2 104/104/2 -f 72/103/2 73/105/2 104/104/2 -f 73/105/2 74/107/2 105/106/2 -f 74/107/2 75/109/2 106/108/2 -f 107/110/2 75/109/2 108/112/2 -f 108/112/2 76/111/2 109/114/2 -f 109/114/2 77/113/2 110/116/2 -f 78/115/2 79/117/2 110/116/2 -f 111/118/2 79/117/2 112/120/2 -f 80/119/2 81/121/2 112/120/2 -f 27/321/3 28/122/3 91/124/3 -f 28/322/4 29/125/4 92/127/4 -f 29/323/5 30/128/5 93/130/5 -f 30/324/6 31/131/6 94/133/6 -f 31/325/7 32/134/7 95/136/7 -f 32/326/8 1/137/8 96/139/8 -f 1/327/9 2/140/9 65/142/9 -f 2/328/10 3/143/10 66/145/10 -f 3/329/11 4/146/11 67/148/11 -f 4/330/12 5/149/12 68/151/12 -f 5/331/13 6/152/13 69/154/13 -f 6/332/14 7/155/14 70/157/14 -f 7/333/15 8/158/15 71/160/15 -f 8/334/16 9/161/16 72/163/16 -f 9/335/17 10/164/17 73/166/17 -f 10/336/18 11/167/18 74/169/18 -f 11/337/19 12/170/19 75/172/19 -f 12/338/20 13/173/20 76/175/20 -f 13/339/21 14/176/21 77/178/21 -f 14/340/22 15/179/22 78/181/22 -f 15/341/23 16/182/23 79/184/23 -f 16/342/24 17/185/24 80/187/24 -f 17/343/25 18/188/25 81/190/25 -f 18/344/26 19/191/26 82/193/26 -f 19/345/27 20/194/27 83/196/27 -f 20/346/28 21/197/28 84/199/28 -f 21/347/29 22/200/29 85/202/29 -f 22/348/30 23/203/30 86/205/30 -f 23/349/31 24/206/31 87/208/31 -f 24/350/32 25/209/32 88/211/32 -f 25/351/33 26/212/33 89/214/33 -f 26/352/34 27/215/34 90/217/34 -f 39/353/31 103/218/31 40/220/31 -f 38/354/30 102/221/30 39/223/30 -f 37/355/29 101/224/29 38/226/29 -f 36/356/28 100/227/28 37/229/28 -f 35/357/27 99/230/27 36/232/27 -f 34/358/26 98/233/26 35/235/26 -f 33/359/25 97/236/25 34/238/25 -f 64/360/24 128/239/24 33/241/24 -f 63/361/23 127/242/23 64/244/23 -f 62/362/22 126/245/22 63/247/22 -f 61/363/21 125/248/21 62/250/21 -f 60/364/20 124/251/20 61/253/20 -f 59/365/19 123/254/19 60/256/19 -f 58/366/18 122/257/18 59/259/18 -f 57/367/17 121/260/17 58/262/17 -f 56/368/16 120/263/16 57/265/16 -f 55/369/15 119/266/15 56/268/15 -f 54/370/14 118/269/14 55/271/14 -f 53/371/13 117/272/13 54/274/13 -f 52/372/12 116/275/12 53/277/12 -f 51/373/11 115/278/11 52/280/11 -f 50/374/10 114/281/10 51/283/10 -f 49/375/9 113/284/9 50/286/9 -f 48/376/8 112/287/8 49/289/8 -f 47/377/7 111/290/7 48/292/7 -f 46/378/6 110/293/6 47/295/6 -f 45/379/5 109/296/5 46/298/5 -f 44/380/4 108/299/4 45/301/4 -f 43/381/3 107/302/3 44/304/3 -f 42/382/34 106/305/34 43/307/34 -f 41/383/33 105/308/33 42/310/33 -f 40/384/32 104/311/32 41/313/32 diff --git a/src/main/resources/assets/hbm/models/TestObj.obj b/src/main/resources/assets/hbm/models/TestObj.obj deleted file mode 100644 index a79df2c5a..000000000 --- a/src/main/resources/assets/hbm/models/TestObj.obj +++ /dev/null @@ -1,98 +0,0 @@ -# Blender v2.70 (sub 0) OBJ File: '' -# www.blender.org -o Cube -v 0.500000 0.000000 -0.500000 -v 0.500000 0.000000 0.500000 -v -0.500000 0.000000 0.500000 -v -0.500000 0.000000 -0.500000 -v 0.500000 3.000000 -0.500000 -v 0.500000 3.000000 0.500000 -v -0.500000 3.000000 0.500000 -v -0.500000 3.000000 -0.500000 -v 0.000000 0.750000 -0.250000 -v 0.500000 2.250000 -0.500000 -v 0.500000 2.250000 0.500000 -v 0.500000 0.750000 -0.500000 -v 0.500000 0.750000 0.500000 -v -0.000000 0.750000 0.250000 -v -0.000000 2.250000 0.250000 -v 0.500000 2.250000 0.250000 -v 0.500000 0.750000 0.250000 -v 0.500000 0.750000 -0.250000 -v 0.500000 2.250000 -0.250000 -v 0.000000 2.250000 -0.250000 -vt 0.666667 0.400000 -vt 1.000000 0.400000 -vt 1.000000 0.800000 -vt 1.000000 0.000000 -vt 0.333333 0.400000 -vt 0.333333 0.000000 -vt 0.666667 0.000000 -vt 0.333333 0.500000 -vt 0.083333 0.300000 -vt 0.083333 0.400000 -vt 0.000000 0.400000 -vt 0.250000 0.400000 -vt 0.250000 0.300000 -vt 0.666667 0.800000 -vt 0.833333 0.800000 -vt 0.833333 1.000000 -vt 0.000000 0.800000 -vt 0.166667 0.800000 -vt 0.166667 1.000000 -vt 0.333333 0.800000 -vt 0.250000 0.000000 -vt 0.250000 0.100000 -vt 0.083333 0.100000 -vt 0.500000 0.800000 -vt 0.666667 1.000000 -vt 0.500000 1.000000 -vt 0.000000 0.000000 -vt 0.333333 0.700000 -vt 0.000000 1.000000 -vt 0.083333 0.000000 -vt 0.333333 1.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 0.000000 -vn -1.000000 -0.000000 -0.000000 -vn -0.000000 -0.000000 1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 1.000000 0.000000 0.000001 -s off -f 1/1/1 2/2/1 3/3/1 -f 7/4/2 6/2/2 5/1/2 -f 7/5/3 8/6/3 4/7/3 -f 11/8/4 6/5/4 7/1/4 -f 17/9/5 13/10/5 2/11/5 -f 6/5/5 11/12/5 16/13/5 -f 20/14/5 15/15/5 14/16/5 -f 17/17/6 14/18/6 15/19/6 -f 1/5/6 4/20/6 12/12/6 -f 10/21/5 19/22/5 18/23/5 -f 17/9/5 16/13/5 11/12/5 -f 19/19/4 20/18/4 9/20/4 -f 19/24/1 16/14/1 15/25/1 -f 17/20/2 18/24/2 9/26/2 -f 4/14/1 1/1/1 3/3/1 -f 8/7/2 7/4/2 5/1/2 -f 3/1/3 7/5/3 4/7/3 -f 17/9/5 1/27/5 18/23/5 -f 11/8/4 3/14/4 13/28/4 -f 9/25/5 20/14/5 14/16/5 -f 3/14/4 2/20/4 13/28/4 -f 11/8/4 7/1/4 3/14/4 -f 16/29/6 17/17/6 15/19/6 -f 1/27/5 12/30/5 18/23/5 -f 17/9/5 2/11/5 1/27/5 -f 5/6/7 6/5/7 16/13/7 -f 19/22/5 10/21/5 5/6/5 -f 19/22/5 5/6/5 16/13/5 -f 8/17/6 10/10/6 4/20/6 -f 8/17/6 5/11/6 10/10/6 -f 12/30/5 10/21/5 18/23/5 -f 4/20/6 10/10/6 12/12/6 -f 13/10/5 17/9/5 11/12/5 -f 18/31/4 19/19/4 9/20/4 -f 20/26/1 19/24/1 15/25/1 -f 14/31/2 17/20/2 9/26/2 diff --git a/src/main/resources/assets/hbm/models/armor/taurun.obj b/src/main/resources/assets/hbm/models/armor/taurun.obj new file mode 100644 index 000000000..4590617e3 --- /dev/null +++ b/src/main/resources/assets/hbm/models/armor/taurun.obj @@ -0,0 +1,1871 @@ +# Blender v2.79 (sub 0) OBJ File: 'taurun_scaled.blend' +# www.blender.org +o RightBoot +v -4.625000 24.300001 2.625000 +v 0.625000 24.299999 2.625000 +v -4.625000 24.300001 -2.625000 +v 0.625000 24.299999 -2.625000 +v -3.575000 24.300001 -3.675000 +v -0.425000 24.299999 -3.675000 +v -3.575001 22.200003 -3.675000 +v -0.425001 22.200001 -3.675000 +v -3.575001 21.150002 -2.625000 +v -0.425001 21.150000 -2.625000 +v -4.625000 22.200003 -2.625000 +v 0.624999 22.200001 -2.625000 +v 0.099999 20.100000 -2.100000 +v -4.100001 20.100002 -2.100000 +v 0.099999 20.100000 2.100000 +v -4.100001 20.100002 2.100000 +v -4.625001 20.100002 2.625000 +v 0.624999 20.100000 2.625000 +v -4.625001 20.100002 -2.625000 +v 0.624999 20.100000 -2.625000 +vt 0.000000 0.222222 +vt 0.250000 0.000000 +vt 0.000000 -0.000000 +vt 0.300000 0.044444 +vt 0.500000 0.000000 +vt 0.250000 0.000000 +vt 0.450000 0.133333 +vt 0.450000 0.044444 +vt 0.300000 0.133333 +vt 0.450000 0.177778 +vt 0.525000 0.422222 +vt 0.750000 0.400000 +vt 0.500000 0.400000 +vt 0.500000 0.311111 +vt 0.275000 0.422222 +vt 0.250000 0.400000 +vt 0.500000 0.044444 +vt 0.500000 0.133333 +vt 0.250000 0.133333 +vt 0.250000 0.044444 +vt 0.300000 0.355556 +vt 0.300000 0.177778 +vt 0.775000 0.422222 +vt 1.000000 0.400000 +vt 0.025000 0.422222 +vt 0.000000 0.400000 +vt 0.250000 0.311111 +vt 0.750000 0.222222 +vt 1.000000 0.222222 +vt 0.250000 0.222222 +vt 0.725000 0.422222 +vt 0.500000 0.222222 +vt 0.475000 0.422222 +vt 0.450000 0.355556 +vt 0.975000 0.422222 +vt 0.225000 0.422222 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.0000 -0.7071 -0.7071 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 -0.0000 -0.7071 +vn -0.5774 -0.5774 -0.5773 +vn 0.5773 -0.5773 -0.5774 +vn 1.0000 -0.0000 -0.0000 +vn 0.0000 0.0000 1.0000 +s off +f 2/1/1 3/2/1 1/3/1 +f 6/4/1 3/5/1 4/6/1 +f 6/4/2 7/7/2 5/8/2 +f 8/9/3 9/10/3 7/7/3 +f 14/11/4 17/12/4 19/13/4 +f 11/14/5 19/13/5 17/12/5 +f 13/15/4 19/13/4 20/16/4 +f 3/17/6 7/7/6 11/18/6 +f 12/19/7 6/4/7 4/20/7 +f 9/10/8 11/18/8 7/7/8 +f 20/16/2 19/13/2 10/21/2 +f 8/9/9 12/19/9 10/22/9 +f 16/23/4 18/24/4 17/12/4 +f 15/25/4 20/16/4 18/26/4 +f 18/26/10 12/27/10 2/1/10 +f 1/28/11 18/24/11 2/29/11 +f 2/1/1 4/30/1 3/2/1 +f 6/4/1 5/8/1 3/5/1 +f 6/4/2 8/9/2 7/7/2 +f 8/9/3 10/22/3 9/10/3 +f 14/11/4 16/31/4 17/12/4 +f 17/12/5 1/28/5 11/14/5 +f 1/28/5 3/32/5 11/14/5 +f 13/15/4 14/33/4 19/13/4 +f 3/17/6 5/8/6 7/7/6 +f 12/19/7 8/9/7 6/4/7 +f 19/13/2 11/14/2 9/34/2 +f 10/21/2 12/27/2 20/16/2 +f 19/13/2 9/34/2 10/21/2 +f 16/23/4 15/35/4 18/24/4 +f 15/25/4 13/36/4 20/16/4 +f 20/16/10 12/27/10 18/26/10 +f 12/27/10 4/30/10 2/1/10 +f 1/28/11 17/12/11 18/24/11 +o LeftBoot +v 4.625000 24.299997 2.625000 +v -0.625000 24.299999 2.625000 +v 4.625000 24.299997 -2.625000 +v -0.625000 24.299999 -2.625000 +v 3.575000 24.299997 -3.675000 +v 0.425000 24.299999 -3.675000 +v 3.574999 22.199999 -3.675000 +v 0.425000 22.200001 -3.675000 +v 3.574999 21.149998 -2.625000 +v 0.424999 21.150000 -2.625000 +v 4.625000 22.199999 -2.625000 +v -0.625001 22.200001 -2.625000 +v -0.100001 20.100000 -2.100000 +v 4.099999 20.099998 -2.100000 +v -0.100001 20.100000 2.100000 +v 4.099999 20.099998 2.100000 +v 4.624999 20.099998 2.625000 +v -0.625001 20.100000 2.625000 +v 4.624999 20.099998 -2.625000 +v -0.625001 20.100000 -2.625000 +vt 0.250000 0.000000 +vt 0.000000 0.222222 +vt 0.000000 -0.000000 +vt 0.250000 0.000000 +vt 0.450000 0.044444 +vt 0.300000 0.044444 +vt 0.300000 0.133333 +vt 0.450000 0.133333 +vt 0.300000 0.177778 +vt 0.750000 0.400000 +vt 0.525000 0.422222 +vt 0.500000 0.400000 +vt 0.500000 0.311111 +vt 0.275000 0.422222 +vt 0.250000 0.400000 +vt 0.500000 0.133333 +vt 0.500000 0.044444 +vt 0.250000 0.044444 +vt 0.250000 0.133333 +vt 0.450000 0.177778 +vt 0.450000 0.355556 +vt 1.000000 0.400000 +vt 0.775000 0.422222 +vt 0.025000 0.422222 +vt 0.000000 0.400000 +vt 0.250000 0.311111 +vt 0.750000 0.222222 +vt 1.000000 0.222222 +vt 0.250000 0.222222 +vt 0.500000 0.000000 +vt 0.725000 0.422222 +vt 0.500000 0.222222 +vt 0.475000 0.422222 +vt 0.300000 0.355556 +vt 0.975000 0.422222 +vt 0.225000 0.422222 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.0000 -0.7071 -0.7071 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.7071 -0.0000 -0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.5774 -0.5774 -0.5774 +vn -0.5773 -0.5773 -0.5774 +vn -1.0000 0.0000 0.0000 +vn -0.0000 0.0000 1.0000 +s off +f 23/37/12 22/38/12 21/39/12 +f 24/40/12 25/41/12 26/42/12 +f 25/41/13 28/43/13 26/42/13 +f 27/44/14 30/45/14 28/43/14 +f 37/46/15 34/47/15 39/48/15 +f 37/46/16 39/48/16 31/49/16 +f 39/48/15 33/50/15 40/51/15 +f 31/52/17 25/41/17 23/53/17 +f 24/54/18 28/43/18 32/55/18 +f 29/56/19 27/44/19 31/52/19 +f 40/51/13 29/57/13 39/48/13 +f 28/43/20 30/45/20 32/55/20 +f 38/58/15 36/59/15 37/46/15 +f 40/51/15 35/60/15 38/61/15 +f 22/38/21 32/62/21 38/61/21 +f 38/58/22 21/63/22 22/64/22 +f 23/37/12 24/65/12 22/38/12 +f 24/40/12 23/66/12 25/41/12 +f 25/41/13 27/44/13 28/43/13 +f 27/44/14 29/56/14 30/45/14 +f 37/46/15 36/67/15 34/47/15 +f 23/68/16 21/63/16 31/49/16 +f 21/63/16 37/46/16 31/49/16 +f 39/48/15 34/69/15 33/50/15 +f 31/52/17 27/44/17 25/41/17 +f 24/54/18 26/42/18 28/43/18 +f 40/51/13 32/62/13 30/70/13 +f 29/57/13 31/49/13 39/48/13 +f 40/51/13 30/70/13 29/57/13 +f 38/58/15 35/71/15 36/59/15 +f 40/51/15 33/72/15 35/60/15 +f 24/65/21 32/62/21 22/38/21 +f 32/62/21 40/51/21 38/61/21 +f 38/58/22 37/46/22 21/63/22 +o RightArm +v -3.900008 -0.299998 2.100000 +v -3.900008 -0.299998 -2.100000 +v -8.100008 -0.299997 -2.100000 +v -8.100008 -0.299997 2.100000 +v -3.900005 9.150001 2.100000 +v -8.100005 9.150002 2.100000 +v -8.100005 9.150002 -2.100000 +v -3.900005 9.150001 -2.100000 +vt 0.250000 0.692308 +vt 0.000000 0.000000 +vt 0.000000 0.692308 +vt 0.500000 0.692308 +vt 0.250000 0.000000 +vt 1.000000 0.692308 +vt 0.750000 0.000000 +vt 0.750000 0.692308 +vt 0.500000 0.000000 +vt 0.500000 1.000000 +vt 0.250000 1.000000 +vt 1.000000 0.000000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn -0.0000 -1.0000 0.0000 +s off +f 42/73/23 45/74/23 41/75/23 +f 43/76/24 48/77/24 42/73/24 +f 41/78/25 46/79/25 44/80/25 +f 44/80/26 47/81/26 43/76/26 +f 44/82/27 42/73/27 41/83/27 +f 42/73/23 48/77/23 45/74/23 +f 43/76/24 47/81/24 48/77/24 +f 41/78/25 45/84/25 46/79/25 +f 44/80/26 46/79/26 47/81/26 +f 44/82/27 43/76/27 42/73/27 +o RightLeg +v -4.100004 11.700002 2.100000 +v 0.099996 11.700001 2.100000 +v -4.100004 11.700002 -2.100000 +v 0.099996 11.700001 -2.100000 +v 0.099999 20.100000 -2.100000 +v -4.100001 20.100002 -2.100000 +v 0.099999 20.100000 2.100000 +v -4.100001 20.100002 2.100000 +vt 0.225000 0.955556 +vt 0.025000 0.777778 +vt 0.025000 0.955556 +vt 0.225000 0.422222 +vt 0.025000 0.422222 +vt 0.775000 0.422222 +vt 0.975000 0.777778 +vt 0.975000 0.422222 +vt 0.275000 0.777778 +vt 0.475000 0.422222 +vt 0.275000 0.422222 +vt 0.525000 0.777778 +vt 0.725000 0.422222 +vt 0.525000 0.422222 +vt 0.225000 0.777778 +vt 0.775000 0.777778 +vt 0.475000 0.777778 +vt 0.725000 0.777778 +vn -0.0000 -1.0000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +s off +f 51/85/28 50/86/28 49/87/28 +f 50/86/29 53/88/29 55/89/29 +f 56/90/30 50/91/30 55/92/30 +f 52/93/31 54/94/31 53/95/31 +f 51/96/32 56/97/32 54/98/32 +f 51/85/28 52/99/28 50/86/28 +f 50/86/29 52/99/29 53/88/29 +f 56/90/30 49/100/30 50/91/30 +f 52/93/31 51/101/31 54/94/31 +f 51/96/32 49/102/32 56/97/32 +o LeftLeg +v 4.099996 11.700000 2.100000 +v -0.100004 11.700001 2.100000 +v 4.099996 11.700000 -2.100000 +v -0.100004 11.700001 -2.100000 +v -0.100001 20.100000 -2.100000 +v 4.099999 20.099998 -2.100000 +v -0.100001 20.100000 2.100000 +v 4.099999 20.099998 2.100000 +vt 0.025000 0.777778 +vt 0.225000 0.955556 +vt 0.025000 0.955556 +vt 0.225000 0.422222 +vt 0.025000 0.422222 +vt 0.975000 0.422222 +vt 0.775000 0.777778 +vt 0.775000 0.422222 +vt 0.475000 0.422222 +vt 0.275000 0.777778 +vt 0.275000 0.422222 +vt 0.725000 0.422222 +vt 0.525000 0.777778 +vt 0.525000 0.422222 +vt 0.225000 0.777778 +vt 0.975000 0.777778 +vt 0.475000 0.777778 +vt 0.725000 0.777778 +vn -0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 -0.0000 0.0000 +s off +f 58/103/33 59/104/33 57/105/33 +f 61/106/34 58/103/34 63/107/34 +f 63/108/35 57/109/35 64/110/35 +f 62/111/36 60/112/36 61/113/36 +f 64/114/37 59/115/37 62/116/37 +f 58/103/33 60/117/33 59/104/33 +f 61/106/34 60/117/34 58/103/34 +f 63/108/35 58/118/35 57/109/35 +f 62/111/36 59/119/36 60/112/36 +f 64/114/37 57/120/37 59/115/37 +o LeftArm +v 3.899992 -0.300001 2.100000 +v 3.899992 -0.300001 -2.100000 +v 8.099993 -0.300002 -2.100000 +v 8.099993 -0.300002 2.100000 +v 3.899995 9.149999 2.100000 +v 8.099996 9.149997 2.100000 +v 8.099996 9.149997 -2.100000 +v 3.899995 9.149999 -2.100000 +vt 0.000000 0.000000 +vt 0.250000 0.692308 +vt 0.000000 0.692308 +vt 0.250000 0.000000 +vt 0.500000 0.692308 +vt 0.750000 0.000000 +vt 1.000000 0.692308 +vt 0.750000 0.692308 +vt 0.500000 0.000000 +vt 0.500000 1.000000 +vt 0.250000 1.000000 +vt 1.000000 0.000000 +vn -1.0000 0.0000 0.0000 +vn -0.0000 0.0000 -1.0000 +vn -0.0000 0.0000 1.0000 +vn 1.0000 -0.0000 0.0000 +vn -0.0000 -1.0000 0.0000 +s off +f 69/121/38 66/122/38 65/123/38 +f 72/124/39 67/125/39 66/122/39 +f 70/126/40 65/127/40 68/128/40 +f 71/129/41 68/128/41 67/125/41 +f 66/122/42 68/130/42 65/131/42 +f 69/121/38 72/124/38 66/122/38 +f 72/124/39 71/129/39 67/125/39 +f 70/126/40 69/132/40 65/127/40 +f 71/129/41 70/126/41 68/128/41 +f 66/122/42 67/125/42 68/130/42 +o Helmet +v 5.249990 -8.200003 -4.200000 +v 5.249990 -8.200003 4.200000 +v -4.200010 -8.200000 5.250000 +v 4.199989 -8.200002 5.250000 +v -4.200010 -8.200000 -5.250000 +v 4.199989 -8.200002 -5.250000 +v -5.250010 -8.199999 4.200000 +v -5.250010 -8.199999 -4.200000 +v 5.249990 -6.100002 -4.200000 +v 5.249990 -6.100002 4.200000 +v -4.200009 -6.099999 5.250000 +v 4.199990 -6.100002 5.250000 +v -4.200009 -6.099999 -5.250000 +v 4.199990 -6.100002 -5.250000 +v -5.250010 -6.099998 4.200000 +v -5.250010 -6.099998 -4.200000 +v 7.349990 -5.050002 -4.200000 +v 7.349990 -5.050002 4.200000 +v -4.200009 -5.049998 7.349999 +v 4.199991 -5.050001 7.349999 +v -4.200009 -5.049998 -7.349999 +v 4.199991 -5.050001 -7.349999 +v -7.350008 -5.049997 4.200000 +v -7.350008 -5.049997 -4.200000 +v -3.150011 -10.299998 3.150000 +v -3.150011 -10.299998 -3.150000 +v 3.149989 -10.300000 -3.150000 +v 3.149989 -10.300000 3.150000 +v 4.724989 -8.200003 -3.675000 +v 4.724989 -8.200003 3.675000 +v -3.675010 -8.200000 4.725000 +v 3.674989 -8.200002 4.725000 +v -3.675010 -8.200000 -4.725000 +v 3.674989 -8.200002 -4.725000 +v -4.725010 -8.199999 3.675000 +v -4.725010 -8.199999 -3.675000 +v 4.724992 0.199999 -3.675000 +v 4.724992 0.199999 3.675000 +v -3.675008 0.200002 4.725000 +v 3.674992 0.200000 4.725000 +v -3.675008 0.200002 -4.725000 +v 3.674992 0.200000 -4.725000 +v -4.725008 0.200002 3.675000 +v -4.725008 0.200002 -3.675000 +v -3.675007 1.250001 3.675000 +v -3.675007 1.250001 -3.675000 +v 3.674992 1.249999 -3.675000 +v 3.674992 1.249999 3.675000 +v 1.574991 -2.950001 -4.725000 +v -1.575009 -2.950000 -4.725000 +v 1.574992 0.200000 -4.725000 +v -1.575008 0.200001 -4.725000 +v 1.574992 0.200000 -5.775000 +v 1.574991 -1.900000 -5.775000 +v -1.575008 -1.899999 -5.775000 +v -1.575008 0.200001 -5.775000 +v -2.100010 -5.575000 -4.725000 +v -0.736019 -4.787500 -4.725000 +v -0.736019 -3.212499 -4.725000 +v -2.100008 -2.424999 -4.725000 +v -3.463999 -3.212498 -4.725000 +v -3.463999 -4.787499 -4.725000 +v 2.099990 -5.575001 -4.725000 +v 3.463980 -4.787501 -4.725000 +v 3.463981 -3.212501 -4.725000 +v 2.099991 -2.425000 -4.725000 +v 0.736001 -3.212500 -4.725000 +v 0.736001 -4.787501 -4.725000 +v 2.099990 -5.575001 -5.250000 +v 3.463980 -4.787501 -5.250000 +v 3.463981 -3.212501 -5.250000 +v 2.099991 -2.425000 -5.250000 +v 0.736001 -3.212500 -5.250000 +v 0.736001 -4.787501 -5.250000 +v -2.100010 -5.575000 -5.250000 +v -0.736019 -4.787500 -5.250000 +v -0.736019 -3.212499 -5.250000 +v -2.100008 -2.424999 -5.250000 +v -3.463999 -3.212498 -5.250000 +v -3.463999 -4.787499 -5.250000 +v 1.574993 1.377384 -5.467462 +v 1.049993 1.748615 -5.096232 +v -1.050007 1.748616 -5.096232 +v -1.575007 1.377385 -5.467462 +v 1.049992 -0.478770 -7.323617 +v 1.574992 -0.107537 -6.952385 +v -1.575008 -0.107536 -6.952385 +v -1.050008 -0.478769 -7.323617 +v 1.574993 1.377388 -8.437310 +v 1.049992 1.006157 -8.808541 +v 1.049993 3.233541 -6.581155 +v 1.574993 2.862312 -6.952386 +v -1.575007 2.862313 -6.952386 +v -1.050007 3.233542 -6.581155 +v -1.050007 1.006157 -8.808541 +v -1.575007 1.377388 -8.437310 +v 1.049992 -0.478770 -4.353768 +v 0.524992 -0.107536 -3.982538 +v -0.525008 -0.107536 -3.982538 +v -1.050008 -0.478769 -4.353768 +v 0.524992 -1.592463 -5.467462 +v 1.049992 -1.221232 -5.096231 +v -1.050008 -1.221231 -5.096231 +v -0.525008 -1.592462 -5.467462 +v 1.049992 0.263694 -6.581154 +v 0.524992 -0.107536 -6.952386 +v 0.524993 1.377384 -5.467462 +v 1.049992 1.006153 -5.838693 +v -1.050007 1.006153 -5.838693 +v -0.525007 1.377384 -5.467462 +v -0.525008 -0.107536 -6.952386 +v -1.050008 0.263695 -6.581154 +v 1.443740 -6.625000 -5.355000 +v -1.443760 -6.625000 -5.355000 +v 1.443739 -8.200001 -5.355000 +v -1.443760 -8.200001 -5.355000 +vt 0.280000 0.093023 +vt 0.600000 0.046512 +vt 0.600000 0.093023 +vt 0.280000 0.093023 +vt 0.600000 0.046512 +vt 0.600000 0.093023 +vt 0.280000 0.093023 +vt 0.600000 0.046512 +vt 0.600000 0.093023 +vt 0.280000 0.093023 +vt 0.600000 0.046512 +vt 0.600000 0.093023 +vt 0.720000 0.046512 +vt 0.640000 0.093023 +vt 0.640000 0.046512 +vt 0.720000 0.093023 +vt 0.640000 0.046512 +vt 0.720000 0.046512 +vt 0.640000 0.046512 +vt 0.720000 0.093023 +vt 0.640000 0.093023 +vt 0.640000 0.093023 +vt 0.720000 0.046512 +vt 0.720000 0.093023 +vt 0.640000 0.046512 +vt 0.760000 0.000000 +vt 0.600000 0.000000 +vt 0.720000 0.046512 +vt 0.280000 0.000000 +vt 0.600000 0.000000 +vt 0.280000 0.046512 +vt 0.600000 -0.000000 +vt 0.760000 0.000000 +vt 0.280000 0.046512 +vt 0.600000 -0.000000 +vt 0.760000 0.000000 +vt 0.280000 -0.000000 +vt 0.280000 0.046512 +vt 0.560000 0.162791 +vt 0.320000 0.302326 +vt 0.320000 0.162791 +vt 0.560000 0.162791 +vt 0.320000 0.162791 +vt 0.560000 0.162791 +vt 0.680000 0.162791 +vt 0.680000 0.162791 +vt 0.720000 0.093023 +vt 0.680000 0.162791 +vt 0.640000 0.093023 +vt 0.680000 0.162791 +vt 0.320000 0.372093 +vt 0.280000 0.186047 +vt 0.320000 0.186047 +vt -0.000000 0.372093 +vt 0.280000 0.372093 +vt 0.000000 0.744186 +vt 0.280000 0.558140 +vt 0.280000 0.744186 +vt 0.920000 0.558140 +vt 0.960000 0.744186 +vt 0.920000 0.744186 +vt 0.320000 0.558140 +vt 0.320000 0.744186 +vt 0.640000 0.744186 +vt 0.600000 0.744186 +vt 0.640000 0.558140 +vt -0.000000 -0.000000 +vt 0.280000 0.162791 +vt -0.000000 0.162791 +vt -0.000000 0.186047 +vt 0.920000 0.534884 +vt 0.940000 0.534884 +vt 0.960000 0.558140 +vt 0.000000 0.558140 +vt 0.280000 0.534884 +vt 0.300000 0.162791 +vt 0.320000 0.534884 +vt 0.600000 0.558140 +vt 0.300000 0.534884 +vt 0.620000 0.534884 +vt 0.040000 0.441860 +vt 0.160000 0.395349 +vt 0.160000 0.441860 +vt 0.160000 0.372093 +vt 0.040000 0.395349 +vt 0.040000 0.372093 +vt 0.040000 0.465116 +vt 0.160000 0.465116 +vt -0.000000 0.395349 +vt -0.000000 0.465116 +vt 0.200000 0.395349 +vt 0.280000 0.372093 +vt 0.320000 0.418605 +vt 0.280000 0.418605 +vt 0.400000 0.418605 +vt 0.440000 0.372093 +vt 0.440000 0.418605 +vt 0.220000 0.372093 +vt 0.260000 0.418605 +vt 0.220000 0.418605 +vt 0.660000 0.465116 +vt 0.740000 0.418605 +vt 0.740000 0.465116 +vt 0.440000 0.406977 +vt 0.440000 0.360465 +vt 0.460000 0.348837 +vt 0.360000 0.465116 +vt 0.440000 0.418605 +vt 0.440000 0.465116 +vt 0.460000 0.465116 +vt 0.540000 0.418605 +vt 0.540000 0.465116 +vt 0.560000 0.476744 +vt 0.800000 0.406977 +vt 0.740000 0.395349 +vt 0.800000 0.395349 +vt 0.920000 0.406977 +vt 0.860000 0.395349 +vt 0.920000 0.395349 +vt 0.680000 0.406977 +vt 0.620000 0.395349 +vt 0.680000 0.395349 +vt 0.860000 0.406977 +vt 0.620000 0.406977 +vt 0.560000 0.395349 +vt 0.740000 0.406977 +vt 0.770035 0.411685 +vt 0.829965 0.411685 +vt 0.859930 0.441860 +vt 0.620000 0.406977 +vt 0.560000 0.395349 +vt 0.620000 0.395349 +vt 0.740000 0.406977 +vt 0.680000 0.395349 +vt 0.740000 0.395349 +vt 0.800000 0.406977 +vt 0.800000 0.395349 +vt 0.920000 0.406977 +vt 0.860000 0.395349 +vt 0.920000 0.395349 +vt 0.680000 0.406977 +vt 0.860000 0.406977 +vt 0.770035 0.411685 +vt 0.829965 0.411685 +vt 0.859930 0.441860 +vt 0.460000 0.418605 +vt 0.560000 0.465116 +vt 0.560000 0.418605 +vt 0.640000 0.418605 +vt 0.640000 0.465116 +vt 0.340000 0.418605 +vt 0.360000 0.418605 +vt 0.200000 0.418605 +vt 0.200000 0.372093 +vt 0.380000 0.372093 +vt 0.380000 0.418605 +vt 0.340000 0.418605 +vt 0.320000 0.372093 +vt 0.340000 0.372093 +vt 1.000000 0.302326 +vt 0.560000 0.162791 +vt 1.000000 0.162791 +vt 0.280000 0.046512 +vt 0.760000 0.000000 +vt 0.280000 -0.000000 +vt 0.280000 -0.000000 +vt 0.560000 0.302326 +vt 0.320000 0.162791 +vt 0.560000 0.162791 +vt 0.320000 0.162791 +vt 0.280000 -0.000000 +vt 0.640000 0.534884 +vt 0.000000 0.534884 +vt 0.600000 0.534884 +vt 0.200000 0.465116 +vt 0.400000 0.372093 +vt 0.260000 0.372093 +vt 0.660000 0.418605 +vt 0.540000 0.348837 +vt 0.560000 0.360465 +vt 0.560000 0.406977 +vt 0.560000 0.523256 +vt 0.540000 0.534884 +vt 0.460000 0.534884 +vt 0.440000 0.523256 +vt 0.440000 0.476744 +vt 0.560000 0.406977 +vt 0.829965 0.472036 +vt 0.770035 0.472036 +vt 0.740070 0.441860 +vt 0.560000 0.406977 +vt 0.829965 0.472036 +vt 0.770035 0.472036 +vt 0.740070 0.441860 +vt 0.340000 0.465116 +vt 0.560000 0.302326 +vn -0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 -0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.7071 -0.0000 -0.7071 +vn 0.7071 -0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn -0.4082 -0.8165 -0.4082 +vn -0.4082 -0.8165 0.4082 +vn -0.0000 -0.8944 -0.4472 +vn 0.4472 -0.8944 0.0000 +vn 0.4082 -0.8165 0.4082 +vn -0.4472 -0.8944 0.0000 +vn 0.4082 -0.8165 -0.4082 +vn -0.0000 -0.8944 0.4472 +vn -0.0000 -1.0000 0.0000 +vn -0.0000 -0.7071 -0.7071 +vn 0.7071 -0.7071 0.0000 +vn -0.0000 -0.7071 0.7071 +vn -0.7071 -0.7071 0.0000 +vn -0.4851 -0.7276 0.4851 +vn -0.4851 -0.7276 -0.4851 +vn 0.4851 -0.7276 -0.4851 +vn 0.4851 -0.7276 0.4851 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.7071 -0.7071 +vn -0.7071 0.7071 0.0000 +vn -0.5774 0.5774 -0.5774 +vn 0.7071 0.7071 0.0000 +vn 0.5774 0.5774 -0.5774 +vn 0.0000 0.7071 0.7071 +vn 0.5774 0.5774 0.5774 +vn -0.5774 0.5774 0.5774 +vn -0.5000 -0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.7071 -0.5000 -0.5000 +vn 0.7071 -0.5000 -0.5000 +vn 0.7071 0.5000 0.5000 +vn -0.7071 0.5000 0.5000 +s off +f 76/133/43 83/134/43 75/135/43 +f 77/136/44 86/137/44 78/138/44 +f 73/139/45 82/140/45 74/141/45 +f 79/142/46 88/143/46 80/144/46 +f 81/145/47 78/146/47 86/147/47 +f 76/148/48 82/149/48 84/150/48 +f 83/151/49 79/152/49 75/153/49 +f 80/154/50 85/155/50 77/156/50 +f 88/157/51 93/158/51 85/155/51 +f 91/159/52 87/160/52 83/151/52 +f 86/137/53 93/161/53 94/162/53 +f 81/163/54 90/164/54 82/140/54 +f 82/149/55 92/165/55 84/150/55 +f 87/166/56 96/167/56 88/143/56 +f 86/147/57 89/168/57 81/145/57 +f 92/169/58 83/134/58 84/170/58 +f 99/171/59 97/172/59 98/173/59 +f 99/171/60 77/136/60 78/138/60 +f 100/174/61 73/139/61 74/141/61 +f 75/135/62 100/175/62 76/133/62 +f 98/176/63 79/142/63 80/144/63 +f 79/152/64 97/177/64 75/153/64 +f 80/154/65 77/156/65 98/178/65 +f 73/179/66 99/180/66 78/146/66 +f 74/181/67 76/148/67 100/182/67 +f 101/183/47 114/184/47 109/185/47 +f 105/186/44 114/184/44 106/187/44 +f 101/188/45 110/189/45 102/190/45 +f 116/191/50 105/192/50 108/193/50 +f 102/190/48 112/194/48 104/195/48 +f 107/196/46 116/191/46 108/193/46 +f 112/194/43 103/197/43 104/195/43 +f 103/197/49 115/198/49 107/196/49 +f 117/199/68 119/200/68 118/201/68 +f 113/202/69 119/200/69 114/184/69 +f 115/198/70 118/203/70 116/191/70 +f 116/191/71 118/204/71 113/205/71 +f 109/206/72 120/207/72 110/189/72 +f 109/185/73 114/184/73 119/208/73 +f 120/209/74 111/210/74 112/194/74 +f 110/189/75 120/211/75 112/194/75 +f 115/198/76 111/210/76 117/212/76 +f 127/213/44 125/214/44 126/215/44 +f 123/216/68 128/217/68 124/218/68 +f 122/219/60 126/215/60 121/220/60 +f 124/221/46 127/213/46 122/222/46 +f 123/223/45 126/215/45 125/214/45 +f 183/224/60 173/225/60 176/226/60 +f 170/227/74 182/228/74 171/229/74 +f 181/230/46 175/231/46 172/232/46 +f 154/233/74 166/234/74 155/235/74 +f 168/236/69 165/237/69 166/238/69 +f 156/239/46 168/240/46 159/241/46 +f 160/242/60 162/243/60 157/244/60 +f 160/242/62 157/244/62 158/245/62 +f 146/246/77 135/247/77 140/248/77 +f 144/249/78 139/250/78 138/251/78 +f 142/252/45 137/253/45 136/254/45 +f 145/255/46 140/248/46 139/250/46 +f 143/256/79 138/257/79 137/253/79 +f 141/258/80 136/254/80 135/247/80 +f 145/259/44 144/260/44 143/261/44 +f 149/262/79 132/263/79 131/264/79 +f 147/265/80 130/266/80 129/267/80 +f 152/268/77 129/267/77 134/269/77 +f 150/270/78 133/271/78 132/272/78 +f 148/273/45 131/264/45 130/266/45 +f 151/274/46 134/269/46 133/271/46 +f 151/275/44 150/276/44 149/277/44 +f 159/241/81 167/278/81 160/242/81 +f 158/279/82 162/243/82 161/280/82 +f 164/281/83 154/233/83 153/282/83 +f 156/239/84 166/283/84 165/284/84 +f 153/282/45 161/280/45 164/281/45 +f 175/231/81 183/224/81 176/226/81 +f 181/230/84 171/285/84 182/286/84 +f 180/287/83 170/227/83 169/288/83 +f 174/289/82 178/290/82 177/291/82 +f 174/289/45 180/287/45 169/288/45 +f 187/292/44 186/293/44 185/294/44 +f 76/133/43 84/170/43 83/134/43 +f 77/136/44 85/295/44 86/137/44 +f 73/139/45 81/163/45 82/140/45 +f 79/142/46 87/166/46 88/143/46 +f 81/145/47 73/179/47 78/146/47 +f 76/148/48 74/181/48 82/149/48 +f 83/151/49 87/160/49 79/152/49 +f 80/154/50 88/157/50 85/155/50 +f 88/157/51 96/167/51 93/158/51 +f 91/159/52 95/296/52 87/160/52 +f 86/137/53 85/295/53 93/161/53 +f 81/163/54 89/297/54 90/164/54 +f 82/149/55 90/164/55 92/165/55 +f 87/166/56 95/298/56 96/167/56 +f 86/147/57 94/162/57 89/168/57 +f 92/169/58 91/159/58 83/134/58 +f 99/171/59 100/299/59 97/172/59 +f 99/171/60 98/173/60 77/136/60 +f 100/174/61 99/300/61 73/139/61 +f 75/135/62 97/301/62 100/175/62 +f 98/176/63 97/302/63 79/142/63 +f 101/183/47 106/187/47 114/184/47 +f 105/186/44 113/202/44 114/184/44 +f 101/188/45 109/206/45 110/189/45 +f 116/191/50 113/205/50 105/192/50 +f 102/190/48 110/189/48 112/194/48 +f 107/196/46 115/198/46 116/191/46 +f 112/194/43 111/210/43 103/197/43 +f 103/197/49 111/210/49 115/198/49 +f 117/199/68 120/303/68 119/200/68 +f 113/202/69 118/201/69 119/200/69 +f 115/198/70 117/304/70 118/203/70 +f 109/206/72 119/305/72 120/207/72 +f 120/209/74 117/306/74 111/210/74 +f 127/213/44 128/217/44 125/214/44 +f 123/216/68 125/214/68 128/217/68 +f 122/219/60 127/213/60 126/215/60 +f 124/221/46 128/217/46 127/213/46 +f 123/223/45 121/307/45 126/215/45 +f 183/224/60 178/290/60 173/225/60 +f 170/227/74 179/308/74 182/228/74 +f 181/230/46 184/309/46 175/231/46 +f 154/233/74 163/310/74 166/234/74 +f 166/238/69 163/311/69 162/243/69 +f 163/311/69 164/312/69 162/243/69 +f 164/312/69 161/313/69 162/243/69 +f 162/243/69 167/278/69 166/238/69 +f 167/278/69 168/236/69 166/238/69 +f 156/239/46 165/284/46 168/240/46 +f 160/242/60 167/278/60 162/243/60 +f 158/245/62 153/314/62 154/315/62 +f 154/315/62 155/316/62 158/245/62 +f 155/316/62 156/317/62 158/245/62 +f 156/317/62 159/318/62 158/245/62 +f 159/318/62 160/242/62 158/245/62 +f 146/246/77 141/258/77 135/247/77 +f 144/249/78 145/255/78 139/250/78 +f 142/252/45 143/256/45 137/253/45 +f 145/255/46 146/246/46 140/248/46 +f 143/256/79 144/319/79 138/257/79 +f 141/258/80 142/252/80 136/254/80 +f 143/261/44 142/320/44 145/259/44 +f 142/320/44 141/321/44 145/259/44 +f 141/321/44 146/322/44 145/259/44 +f 149/262/79 150/323/79 132/263/79 +f 147/265/80 148/273/80 130/266/80 +f 152/268/77 147/265/77 129/267/77 +f 150/270/78 151/274/78 133/271/78 +f 148/273/45 149/262/45 131/264/45 +f 151/274/46 152/268/46 134/269/46 +f 149/277/44 148/324/44 151/275/44 +f 148/324/44 147/325/44 151/275/44 +f 147/325/44 152/326/44 151/275/44 +f 159/241/81 168/240/81 167/278/81 +f 158/279/82 157/244/82 162/243/82 +f 164/281/83 163/310/83 154/233/83 +f 156/239/84 155/327/84 166/283/84 +f 153/282/45 158/279/45 161/280/45 +f 175/231/81 184/309/81 183/224/81 +f 181/230/84 172/232/84 171/285/84 +f 180/287/83 179/308/83 170/227/83 +f 174/289/82 173/225/82 178/290/82 +f 174/289/45 177/291/45 180/287/45 +f 187/292/44 188/328/44 186/293/44 +o Chest +v 4.199992 -0.300001 2.100000 +v 4.199992 -0.300001 -2.100000 +v -4.200007 -0.299998 -2.100000 +v -4.200007 -0.299998 2.100000 +v 4.199994 7.994998 -2.100000 +v -4.200005 7.995000 -2.100000 +v 4.199995 10.094998 -2.100000 +v -4.200004 10.095000 -2.100000 +v 4.199995 10.094998 -2.625000 +v 4.199994 7.994998 -2.625000 +v -4.200005 7.995000 -2.625000 +v -4.200004 10.095000 -2.625000 +v 4.199994 7.994998 2.100000 +v -4.200005 7.995000 2.100000 +v 4.199995 10.094998 2.100000 +v -4.200004 10.095000 2.100000 +v 4.199994 7.994998 2.625000 +v -4.200005 7.995000 2.625000 +v 4.199995 10.094998 2.625000 +v -4.200004 10.095000 2.625000 +v -4.725005 7.995000 -2.100000 +v -4.725004 10.095001 -2.100000 +v -4.725005 7.995000 2.100000 +v -4.725004 10.095001 2.100000 +v 4.724995 7.994998 -2.100000 +v 4.724996 10.094997 -2.100000 +v 4.724995 7.994998 2.100000 +v 4.724996 10.094997 2.100000 +v -4.200005 9.150001 2.100000 +v -4.200005 9.150001 -2.100000 +v 4.199995 9.149999 2.100000 +v 4.199995 9.149999 -2.100000 +v -4.200000 22.800001 5.250000 +v 4.200000 22.799997 5.250000 +v 5.249998 17.549997 2.100000 +v 5.249998 17.549997 -2.100000 +v -5.250002 17.550001 2.100000 +v -5.250002 17.550001 -2.100000 +v -0.000005 9.150000 -2.100000 +v -4.200002 15.450001 -3.150000 +v -2.100003 15.450001 -3.150000 +v 4.199997 15.449999 -3.150000 +v 2.099997 15.449999 -3.150000 +v 4.199996 12.299998 2.100000 +v 4.199996 12.299998 -2.100000 +v -4.200004 12.300000 -2.100000 +v -4.200004 12.300000 2.100000 +v 3.149995 11.249999 3.150000 +v -3.150004 11.250001 3.150000 +v 3.149992 0.749999 3.150000 +v -3.150007 0.750001 3.150000 +v 3.149992 0.749999 5.250000 +v -3.150007 0.750001 5.250000 +v 3.149993 2.849999 7.349999 +v 3.149995 11.249999 7.349999 +v -3.150004 11.250001 7.349999 +v -3.150007 2.850001 7.349999 +v 4.199993 4.949999 6.300000 +v 4.199995 10.199999 6.300000 +v 4.199995 10.199999 4.200000 +v 4.199993 4.949999 4.200000 +v 3.149995 11.249999 6.300000 +v 3.149993 4.950000 6.300000 +v 3.149995 11.249999 4.200000 +v 3.149993 4.950000 4.200000 +v 3.937494 4.949999 5.512500 +v 3.412494 4.950000 5.512500 +v 3.937494 4.949999 4.987500 +v 3.412494 4.950000 4.987500 +v 3.412493 3.899998 4.987500 +v 3.937493 3.899998 4.987500 +v 3.412493 3.899998 5.512500 +v 3.937493 3.899998 5.512500 +v 4.199993 3.899998 6.300000 +v 4.199993 3.899998 4.200000 +v 3.149993 3.899999 6.300000 +v 3.149993 3.899999 4.200000 +v 4.199992 1.799998 4.200000 +v 3.674992 1.799998 4.200000 +v 3.674992 1.799998 6.300000 +v 4.199992 1.799998 6.300000 +v 3.674993 3.899998 6.825000 +v 4.199993 3.899998 6.825000 +v 3.674993 2.849999 6.825000 +v 4.199993 2.849999 6.825000 +v 4.199993 3.899998 3.675000 +v 3.674993 3.899998 3.675000 +v 4.199993 2.849999 3.675000 +v 3.674993 2.849999 3.675000 +v -4.200006 4.950002 6.300000 +v -4.200004 10.200001 6.300000 +v -4.200004 10.200001 4.200000 +v -4.200006 4.950002 4.200000 +v -3.150006 4.950002 4.200000 +v -3.150004 11.250001 4.200000 +v -3.150006 4.950002 6.300000 +v -3.150004 11.250001 6.300000 +v -3.412506 4.950002 5.512500 +v -3.937506 4.950002 5.512500 +v -3.412506 4.950002 4.987500 +v -3.937506 4.950002 4.987500 +v -3.412507 1.800000 4.987500 +v -3.412507 1.800000 5.512500 +v -3.937507 1.800001 5.512500 +v -3.937507 1.800001 4.987500 +v -3.150007 2.325002 4.725000 +v -3.150007 2.325002 5.775000 +v -4.200006 2.325002 5.775000 +v -4.200006 2.325002 4.725000 +v -3.150007 3.900001 4.725000 +v -3.150007 3.900001 5.775000 +v -4.200006 3.900001 5.775000 +v -4.200006 3.900001 4.725000 +v -3.412507 2.587501 5.775000 +v -3.937507 2.587501 5.775000 +v -3.412507 3.637502 5.775000 +v -3.937506 3.637502 5.775000 +v -3.412507 3.112500 6.825000 +v -3.937507 3.112500 6.825000 +v -3.412507 3.637502 6.825000 +v -3.937506 3.637502 6.825000 +v -3.412507 3.637502 7.875000 +v -3.937506 3.637502 7.875000 +v -3.412506 4.162501 7.875000 +v -3.937506 4.162502 7.875000 +v -3.412507 2.587501 4.725000 +v -3.937507 2.587501 4.725000 +v -3.412507 3.637502 4.725000 +v -3.937506 3.637502 4.725000 +v -3.412507 3.112500 3.675000 +v -3.937507 3.112500 3.675000 +v -3.412507 3.637502 3.675000 +v -3.937506 3.637502 3.675000 +v -3.412507 3.637502 2.625000 +v -3.937506 3.637502 2.625000 +v -3.412506 4.162501 2.625000 +v -3.937506 4.162502 2.625000 +v 4.199993 0.749999 6.300000 +v -4.200007 0.750001 6.300000 +v 4.199993 2.234923 6.915076 +v -4.200006 2.234926 6.915076 +v 4.199994 2.849999 8.400000 +v -4.200006 2.850002 8.400000 +v 4.199993 2.234923 9.884923 +v -4.200006 2.234926 9.884923 +v 4.199993 0.749999 10.500000 +v -4.200006 0.750001 10.500000 +v 4.199991 -0.734926 9.884923 +v -4.200008 -0.734923 9.884923 +v 4.199991 -1.350000 8.400000 +v -4.200008 -1.349997 8.400000 +v 4.199991 -0.734926 6.915076 +v -4.200008 -0.734923 6.915076 +v 2.099995 10.199999 7.349999 +v -2.100004 10.200001 7.349999 +v 2.099994 6.000000 7.349999 +v -2.100006 6.000000 7.349999 +v 2.099994 6.000000 9.450000 +v 2.099995 10.199999 9.450000 +v -2.100004 10.200001 9.450000 +v -2.100006 6.000000 9.450000 +v 2.957832 11.899478 6.163495 +v 3.412495 11.874217 5.902212 +v 3.412496 11.899478 6.163495 +v 3.412495 8.764097 6.466626 +v 3.185164 11.912108 6.294134 +v 3.185163 8.776729 6.597267 +v 3.185164 11.937369 6.555416 +v 3.185163 8.801990 6.858547 +v 3.412496 11.950000 6.686055 +v 3.412495 8.814620 6.989188 +v 3.639827 11.937369 6.555416 +v 3.639826 8.801990 6.858547 +v 3.639827 11.912108 6.294134 +v 3.639826 8.776729 6.597267 +v 2.957832 11.950000 6.686055 +v 3.412495 11.975261 6.947338 +v 3.867158 11.950000 6.686055 +v 3.867158 11.899478 6.163495 +v 4.094491 12.931973 5.931808 +v 3.412496 12.894082 5.539885 +v 4.094491 13.007758 6.715653 +v 3.412496 13.045648 7.107575 +v 2.730501 13.007758 6.715653 +v 2.730501 12.931973 5.931808 +v 4.094491 13.977101 5.830763 +v 3.412496 13.939210 5.438842 +v 4.094491 14.052884 6.614610 +v 3.412496 14.090775 7.006532 +v 2.730501 14.052884 6.614610 +v 2.730501 13.977101 5.830763 +v 2.957832 12.447959 7.446981 +v 3.412496 12.491173 7.188064 +v 3.412496 12.447959 7.446981 +v 3.412495 9.340938 6.928412 +v 3.185164 12.426353 7.576441 +v 3.185163 9.319330 7.057871 +v 3.185164 12.383138 7.835360 +v 3.185163 9.276116 7.316791 +v 3.412496 12.361531 7.964818 +v 3.412495 9.254509 7.446248 +v 3.639827 12.383138 7.835360 +v 3.639826 9.276116 7.316791 +v 3.639827 12.426353 7.576441 +v 3.639826 9.319330 7.057871 +v 2.957832 12.361531 7.964818 +v 3.412496 12.318316 8.223737 +v 3.867159 12.361531 7.964818 +v 3.867159 12.447959 7.446981 +v 4.094491 13.505240 7.490378 +v 3.412496 13.570062 7.102001 +v 4.094491 13.375598 8.267134 +v 3.412496 13.310778 8.655512 +v 2.730501 13.375598 8.267134 +v 2.730501 13.505240 7.490378 +v 4.094491 14.540915 7.663234 +v 3.412496 14.605736 7.274856 +v 4.094491 14.411272 8.439990 +v 3.412496 14.346450 8.828368 +v 2.730502 14.411272 8.439990 +v 2.730502 14.540915 7.663234 +vt 0.333333 0.400000 +vt 0.481481 0.387500 +vt 0.481481 0.400000 +vt 0.240741 0.387500 +vt 0.092593 0.337500 +vt 0.240741 0.337500 +vt 0.240741 0.325000 +vt 0.092593 0.325000 +vt 0.092593 0.400000 +vt 0.240741 0.400000 +vt 0.092593 0.325000 +vt 0.166667 0.125000 +vt 0.166667 0.325000 +vt 0.203704 0.325000 +vt 0.351852 0.000000 +vt 0.351852 0.325000 +vt 0.481481 0.325000 +vt 0.333333 0.337500 +vt 0.333333 0.325000 +vt 0.481481 0.337500 +vt 0.333333 0.387500 +vt 0.009259 0.400000 +vt 0.083333 0.387500 +vt 0.083333 0.400000 +vt 0.083333 0.325000 +vt 0.009259 0.337500 +vt 0.009259 0.325000 +vt 0.250000 0.400000 +vt 0.324074 0.387500 +vt 0.324074 0.400000 +vt 0.324074 0.325000 +vt 0.250000 0.337500 +vt 0.250000 0.325000 +vt 0.324074 0.337500 +vt 0.083333 0.337500 +vt 0.092593 0.387500 +vt 0.083333 0.400000 +vt 0.083333 0.325000 +vt 0.000000 0.325000 +vt -0.000000 0.337500 +vt 0.009259 0.387500 +vt -0.000000 0.387500 +vt 0.000000 0.400000 +vt 0.324074 0.325000 +vt 0.324074 0.400000 +vt 0.240741 0.325000 +vt 0.250000 0.387500 +vt 0.240741 0.400000 +vt 0.388889 0.325000 +vt 0.462963 0.125000 +vt 0.462963 0.325000 +vt 0.203704 0.000000 +vt 0.388889 0.125000 +vt 0.481481 0.325000 +vt 0.518519 0.175000 +vt 0.555556 0.325000 +vt 0.074074 0.325000 +vt 0.037037 0.175000 +vt 0.074074 0.175000 +vt 0.481481 0.175000 +vt 0.092593 0.125000 +vt 0.296296 0.400000 +vt 0.444444 0.700000 +vt 0.296296 0.700000 +vt 0.222222 0.700000 +vt 0.074074 0.700000 +vt 0.222222 0.400000 +vt 0.000000 0.700000 +vt 0.074074 0.400000 +vt 0.222222 0.800000 +vt 0.555556 0.775000 +vt 0.444444 0.525000 +vt 0.555556 0.525000 +vt 0.629630 0.825000 +vt 0.740741 0.775000 +vt 0.740741 0.825000 +vt 0.740741 0.725000 +vt 0.814815 0.525000 +vt 0.814815 0.775000 +vt 0.740741 0.525000 +vt 0.629630 0.425000 +vt 0.740741 0.425000 +vt 0.629630 0.725000 +vt 0.629630 0.525000 +vt 0.629630 0.775000 +vt 0.592593 0.775000 +vt 0.537037 0.850000 +vt 0.500000 0.900000 +vt 0.500000 0.850000 +vt 0.555556 0.900000 +vt 0.546296 0.875000 +vt 0.555556 0.875000 +vt 0.500000 0.775000 +vt 0.500000 0.825000 +vt 0.490741 0.800000 +vt 0.018519 0.850000 +vt 0.055556 0.875000 +vt 0.018519 0.875000 +vt 0.453704 0.775000 +vt 0.444444 0.800000 +vt 0.444444 0.775000 +vt 0.018519 0.700000 +vt 0.055556 0.725000 +vt 0.018519 0.725000 +vt 0.462963 0.775000 +vt 0.453704 0.800000 +vt 0.074074 0.850000 +vt 0.074074 0.700000 +vt 0.472222 0.800000 +vt 0.462963 0.800000 +vt 0.537037 0.912500 +vt 0.500000 0.912500 +vt 0.481481 0.775000 +vt 0.472222 0.775000 +vt 0.000000 0.850000 +vt 0.000000 0.700000 +vt 0.055556 0.850000 +vt 0.537037 0.825000 +vt 0.537037 0.775000 +vt 0.555556 0.850000 +vt 0.546296 0.850000 +vt 0.546296 0.837500 +vt 0.537037 0.900000 +vt 0.546296 0.800000 +vt 0.546296 0.825000 +vt 0.490741 0.850000 +vt 0.481481 0.875000 +vt 0.481481 0.850000 +vt 0.481481 0.900000 +vt 0.490741 0.875000 +vt 0.490741 0.900000 +vt 0.490741 0.837500 +vt 0.055556 0.725000 +vt 0.018519 0.850000 +vt 0.018519 0.725000 +vt 0.611111 0.887500 +vt 0.629630 0.912500 +vt 0.611111 0.912500 +vt 0.000000 0.850000 +vt 0.000000 0.700000 +vt 0.074074 0.850000 +vt 0.055556 0.850000 +vt 0.055556 0.700000 +vt 0.018519 0.875000 +vt 0.564815 0.850000 +vt 0.574074 0.862500 +vt 0.564815 0.862500 +vt 0.583333 0.775000 +vt 0.574074 0.850000 +vt 0.574074 0.775000 +vt 0.564815 0.775000 +vt 0.555556 0.850000 +vt 0.555556 0.775000 +vt 0.592593 0.775000 +vt 0.583333 0.850000 +vt 0.629630 0.825000 +vt 0.611111 0.850000 +vt 0.611111 0.825000 +vt 0.629630 0.887500 +vt 0.648148 0.850000 +vt 0.666667 0.887500 +vt 0.648148 0.887500 +vt 0.592593 0.850000 +vt 0.592593 0.887500 +vt 0.666667 0.862500 +vt 0.675926 0.837500 +vt 0.675926 0.862500 +vt 0.666667 0.887500 +vt 0.675926 0.887500 +vt 0.694444 0.887500 +vt 0.703704 0.862500 +vt 0.703704 0.887500 +vt 0.685185 0.862500 +vt 0.694444 0.862500 +vt 0.685185 0.887500 +vt 0.675926 0.825000 +vt 0.685185 0.837500 +vt 0.703704 0.837500 +vt 0.694444 0.837500 +vt 0.694444 0.862500 +vt 0.685185 0.837500 +vt 0.694444 0.837500 +vt 0.694444 0.887500 +vt 0.685185 0.862500 +vt 0.703704 0.862500 +vt 0.703704 0.887500 +vt 0.666667 0.887500 +vt 0.675926 0.862500 +vt 0.675926 0.887500 +vt 0.685185 0.887500 +vt 0.675926 0.837500 +vt 0.685185 0.825000 +vt 0.703704 0.837500 +vt 0.666667 0.862500 +vt 0.814815 0.662500 +vt 0.962963 0.700000 +vt 0.814815 0.700000 +vt 0.962963 0.737500 +vt 0.814815 0.737500 +vt 0.962963 0.437500 +vt 0.814815 0.475000 +vt 0.814815 0.437500 +vt 0.962963 0.475000 +vt 0.814815 0.512500 +vt 0.962963 0.512500 +vt 0.814815 0.550000 +vt 0.962963 0.550000 +vt 0.814815 0.587500 +vt 0.937455 0.253064 +vt 0.962963 0.238801 +vt 0.962963 0.336199 +vt 0.962963 0.625000 +vt 0.814815 0.625000 +vt 0.962963 0.662500 +vt 0.937455 0.421935 +vt 0.937455 0.353064 +vt 0.988471 0.353064 +vt 0.814815 0.225000 +vt 0.740741 0.325000 +vt 0.740741 0.225000 +vt 0.740741 0.375000 +vt 0.814815 0.325000 +vt 0.814815 0.375000 +vt 0.814815 0.175000 +vt 0.740741 0.175000 +vt 0.851852 0.325000 +vt 0.851852 0.225000 +vt 0.703704 0.225000 +vt 0.703704 0.325000 +vt 0.425926 0.800000 +vt 0.435185 0.825000 +vt 0.425926 0.825000 +vt 0.398148 0.787500 +vt 0.388889 0.800000 +vt 0.388889 0.787500 +vt 0.398148 0.712500 +vt 0.407407 0.800000 +vt 0.416667 0.825000 +vt 0.407407 0.825000 +vt 0.425926 0.787500 +vt 0.435185 0.800000 +vt 0.407407 0.787500 +vt 0.444444 0.800000 +vt 0.435185 0.787500 +vt 0.407407 0.712500 +vt 0.416667 0.787500 +vt 0.398148 0.850000 +vt 0.398148 0.825000 +vt 0.416667 0.800000 +vt 0.416667 0.712500 +vt 0.397836 0.706250 +vt 0.391360 0.711298 +vt 0.391360 0.701202 +vt 0.388889 0.825000 +vt 0.435185 0.712500 +vt 0.398148 0.800000 +vt 0.444444 0.787500 +vt 0.390314 0.856394 +vt 0.398148 0.850287 +vt 0.405982 0.856394 +vt 0.416667 0.850000 +vt 0.444444 0.825000 +vt 0.435185 0.850000 +vt 0.388889 0.850000 +vt 0.407407 0.850000 +vt 0.425926 0.850000 +vt 0.425926 0.800000 +vt 0.435185 0.825000 +vt 0.425926 0.825000 +vt 0.398148 0.787500 +vt 0.388889 0.800000 +vt 0.388889 0.787500 +vt 0.388889 0.712500 +vt 0.407407 0.800000 +vt 0.416667 0.825000 +vt 0.407407 0.825000 +vt 0.435185 0.787500 +vt 0.425926 0.787500 +vt 0.407407 0.712500 +vt 0.407407 0.787500 +vt 0.444444 0.800000 +vt 0.435185 0.800000 +vt 0.444444 0.787500 +vt 0.416667 0.712500 +vt 0.416667 0.787500 +vt 0.398148 0.850000 +vt 0.398148 0.825000 +vt 0.416667 0.800000 +vt 0.389201 0.706250 +vt 0.391360 0.701202 +vt 0.397836 0.706250 +vt 0.398148 0.800000 +vt 0.388889 0.825000 +vt 0.425926 0.712500 +vt 0.435185 0.712500 +vt 0.393625 0.851924 +vt 0.402671 0.851924 +vt 0.402671 0.873076 +vt 0.416667 0.850000 +vt 0.444444 0.850000 +vt 0.435185 0.850000 +vt 0.388889 0.850000 +vt 0.407407 0.850000 +vt 0.425926 0.850000 +vt 0.490741 0.825000 +vt -0.000000 0.325000 +vt 0.444444 0.400000 +vt 0.000000 0.400000 +vt 0.074074 0.800000 +vt 0.444444 0.775000 +vt 0.777778 0.775000 +vt 0.546296 0.900000 +vt 0.055556 0.700000 +vt 0.481481 0.800000 +vt 0.074074 0.700000 +vt 0.018519 0.700000 +vt 0.055556 0.875000 +vt 0.592593 0.850000 +vt 0.629630 0.850000 +vt 0.666667 0.850000 +vt 0.666667 0.837500 +vt 0.685185 0.825000 +vt 0.675926 0.825000 +vt 0.666667 0.837500 +vt 0.962963 0.587500 +vt 0.988471 0.253064 +vt 0.999037 0.287500 +vt 0.988471 0.321936 +vt 0.937455 0.321936 +vt 0.926890 0.287500 +vt 0.926889 0.387500 +vt 0.962963 0.338801 +vt 0.999036 0.387500 +vt 0.988471 0.421936 +vt 0.962963 0.436199 +vt 0.388889 0.712500 +vt 0.425926 0.712500 +vt 0.395677 0.701202 +vt 0.395677 0.711298 +vt 0.389201 0.706250 +vt 0.444444 0.712500 +vt 0.405982 0.868606 +vt 0.398148 0.874712 +vt 0.390314 0.868606 +vt 0.444444 0.850000 +vt 0.398148 0.712500 +vt 0.444444 0.825000 +vt 0.395677 0.701202 +vt 0.395677 0.711298 +vt 0.391360 0.711298 +vt 0.444444 0.712500 +vt 0.407194 0.862500 +vt 0.393625 0.873076 +vt 0.389102 0.862500 +vn -0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.9923 -0.1240 0.0000 +vn -0.0000 -0.2249 0.9744 +vn 0.0000 0.0000 1.0000 +vn 1.0000 -0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.7071 -0.0000 0.7071 +vn 0.7071 -0.0000 -0.7071 +vn -0.9923 -0.1240 0.0000 +vn 0.8740 -0.1093 0.4734 +vn -0.8740 -0.1093 0.4734 +vn 0.0000 -0.1644 -0.9864 +vn -0.7960 -0.0995 -0.5970 +vn 0.7960 -0.0995 -0.5970 +vn -0.0000 -0.7071 0.7071 +vn 0.0000 -0.4472 0.8944 +vn -0.8729 -0.2182 -0.4364 +vn 0.7071 0.7071 0.0000 +vn -0.9701 -0.2425 0.0000 +vn 0.0000 -0.4472 -0.8944 +vn -0.7071 0.7071 0.0000 +vn 0.0000 -0.8944 0.4472 +vn 0.0000 0.8944 -0.4472 +vn 0.0000 -0.8944 -0.4472 +vn 0.0000 0.8944 0.4472 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 0.9239 0.3827 +vn 0.0000 0.3827 0.9239 +vn -0.0000 -0.3827 0.9239 +vn -0.0000 -0.9239 0.3827 +vn -0.0000 -0.9239 -0.3827 +vn -0.0000 -0.3827 -0.9239 +vn 0.9774 -0.2106 0.0204 +vn -0.0000 -0.9954 0.0962 +vn -0.5000 -0.0833 -0.8620 +vn -0.4887 -0.1292 0.8628 +vn 0.4887 -0.2921 -0.8221 +vn -0.5000 0.0833 0.8620 +vn 0.5000 0.0833 0.8620 +vn -0.4887 -0.2921 -0.8221 +vn 0.4887 -0.1292 0.8628 +vn 0.5000 -0.0833 -0.8620 +vn -0.9774 -0.2106 0.0204 +vn 0.0000 0.9954 -0.0962 +vn 0.9774 -0.2087 -0.0348 +vn -0.0000 -0.9864 -0.1646 +vn -0.5000 0.1426 -0.8542 +vn -0.4887 -0.3481 0.8000 +vn 0.4887 -0.0694 -0.8697 +vn -0.5000 -0.1426 0.8542 +vn 0.5000 -0.1426 0.8542 +vn -0.4887 -0.0694 -0.8697 +vn 0.4887 -0.3481 0.8000 +vn 0.5000 0.1426 -0.8542 +vn -0.9774 -0.2087 -0.0348 +vn 0.0000 0.9864 0.1646 +vn -0.8729 -0.2182 0.4364 +s off +f 201/329/85 206/330/85 202/331/85 +f 198/332/86 200/333/86 197/334/86 +f 195/335/87 200/333/87 196/336/87 +f 194/337/85 198/332/85 193/338/85 +f 220/339/88 223/340/88 219/341/88 +f 219/342/89 221/343/89 217/344/89 +f 204/345/87 207/346/87 203/347/87 +f 208/348/90 205/349/90 207/346/90 +f 202/350/85 209/351/85 194/352/85 +f 196/353/87 212/354/87 204/355/87 +f 193/356/85 215/357/85 201/358/85 +f 203/359/87 214/360/87 195/361/87 +f 215/357/91 214/360/91 216/362/91 +f 209/351/92 212/354/92 210/363/92 +f 209/351/93 200/333/93 199/364/93 +f 194/337/85 209/365/85 199/364/85 +f 196/336/87 200/333/87 210/366/87 +f 204/355/87 212/354/87 208/367/87 +f 208/368/94 211/369/94 206/370/94 +f 202/350/85 206/371/85 211/369/85 +f 203/347/87 207/346/87 216/372/87 +f 215/357/95 207/346/95 205/349/95 +f 201/329/85 215/373/85 205/349/85 +f 195/361/87 214/360/87 197/374/87 +f 197/334/96 213/375/96 198/332/96 +f 193/356/85 198/376/85 213/375/85 +f 217/377/97 226/378/97 218/379/97 +f 219/342/98 223/340/98 222/380/98 +f 217/344/99 221/343/99 225/381/99 +f 218/382/100 229/383/100 227/384/100 +f 220/385/100 231/386/100 230/387/100 +f 218/379/101 226/378/101 228/388/101 +f 220/339/102 230/387/102 224/389/102 +f 232/390/90 192/391/90 189/392/90 +f 190/393/91 232/390/91 189/392/91 +f 191/394/86 233/395/86 190/393/86 +f 192/396/92 234/397/92 191/394/92 +f 189/398/85 191/394/85 190/393/85 +f 238/399/86 237/400/86 236/401/86 +f 238/402/85 241/403/85 239/404/85 +f 245/405/92 237/406/92 239/407/92 +f 244/408/87 236/409/87 237/410/87 +f 244/408/90 242/411/90 243/412/90 +f 240/413/103 245/405/103 241/403/103 +f 242/411/91 240/414/91 238/399/91 +f 262/415/91 266/416/91 263/417/91 +f 268/418/104 273/419/104 272/420/104 +f 267/421/105 265/422/105 277/423/105 +f 249/424/85 251/425/85 253/426/85 +f 256/427/86 258/428/86 257/429/86 +f 252/430/106 247/431/106 248/432/106 +f 254/433/91 259/434/91 256/427/91 +f 251/435/90 247/431/90 250/436/90 +f 254/433/90 260/437/90 261/438/90 +f 266/416/85 268/439/85 267/440/85 +f 257/441/92 260/437/92 255/442/92 +f 248/432/86 253/443/86 252/444/86 +f 246/445/91 248/432/91 247/431/91 +f 264/446/87 263/417/87 265/422/87 +f 265/422/107 268/447/107 264/446/107 +f 270/448/90 273/419/90 271/449/90 +f 262/415/87 270/450/87 271/449/87 +f 262/415/91 273/419/91 269/451/91 +f 264/446/94 272/452/94 270/453/94 +f 274/454/86 277/455/86 275/456/86 +f 267/457/108 276/458/108 266/459/108 +f 263/417/87 275/460/87 265/422/87 +f 263/417/91 276/458/91 274/454/91 +f 280/461/92 278/462/92 279/463/92 +f 296/464/85 294/465/85 295/466/85 +f 279/463/90 284/467/90 285/468/90 +f 280/461/86 282/469/86 281/470/86 +f 279/463/109 283/471/109 280/461/109 +f 281/470/85 284/472/85 278/462/85 +f 292/473/85 290/474/85 291/475/85 +f 288/476/86 293/477/86 289/478/86 +f 287/479/90 291/480/90 286/481/90 +f 289/478/92 292/473/92 287/479/92 +f 286/482/91 290/483/91 288/476/91 +f 298/484/87 300/485/87 299/486/87 +f 300/485/92 297/487/92 296/464/92 +f 298/488/91 295/489/91 294/490/91 +f 297/487/86 298/488/86 294/490/86 +f 299/491/90 296/464/90 295/492/90 +f 308/493/91 310/494/91 306/495/91 +f 304/496/91 306/495/91 302/497/91 +f 305/498/87 308/499/87 304/500/87 +f 305/498/92 307/501/92 309/502/92 +f 302/497/110 307/501/110 303/503/110 +f 312/504/90 311/505/90 310/494/90 +f 309/502/111 312/506/111 308/499/111 +f 309/502/92 311/505/92 313/507/92 +f 306/495/110 311/505/110 307/501/110 +f 320/508/91 322/509/91 324/510/91 +f 316/511/91 318/512/91 320/508/91 +f 316/511/87 321/513/87 317/514/87 +f 317/515/92 319/516/92 315/517/92 +f 315/517/112 318/512/112 314/518/112 +f 323/519/86 324/520/86 322/509/86 +f 320/508/113 325/521/113 321/513/113 +f 321/522/92 323/519/92 319/516/92 +f 318/512/112 323/519/112 322/509/112 +f 326/523/114 329/524/114 328/525/114 +f 328/525/115 331/526/115 330/527/115 +f 331/528/116 332/529/116 330/530/116 +f 333/531/117 334/532/117 332/529/117 +f 335/533/118 336/534/118 334/532/118 +f 337/535/119 338/536/119 336/534/119 +f 333/537/92 331/538/92 339/539/92 +f 338/536/120 341/540/120 340/541/120 +f 340/541/121 327/542/121 326/523/121 +f 340/543/91 328/544/91 332/545/91 +f 348/546/90 346/547/90 347/548/90 +f 344/549/85 349/550/85 345/551/85 +f 343/552/87 347/548/87 342/553/87 +f 345/554/92 348/546/92 343/555/92 +f 342/556/91 346/547/91 344/557/91 +f 366/558/122 368/559/122 370/560/122 +f 354/561/123 351/562/123 352/563/123 +f 352/563/124 355/564/124 354/561/124 +f 364/565/125 371/566/125 372/567/125 +f 360/568/123 367/569/123 366/558/123 +f 355/564/92 356/570/92 354/561/92 +f 351/571/126 368/559/126 367/569/126 +f 362/572/123 351/571/123 367/569/123 +f 357/573/127 358/574/127 356/570/127 +f 372/567/92 379/575/92 373/576/92 +f 360/568/123 365/577/123 358/574/123 +f 359/578/128 360/568/128 358/574/128 +f 353/579/123 361/580/123 357/581/123 +f 351/562/129 373/576/129 369/582/129 +f 360/568/91 363/583/91 362/572/91 +f 366/558/130 371/566/130 365/577/130 +f 354/561/123 364/565/123 350/584/123 +f 363/583/131 352/585/131 362/572/131 +f 356/570/123 365/577/123 364/565/123 +f 364/565/132 373/576/132 350/584/132 +f 377/586/133 376/587/133 374/588/133 +f 370/560/128 377/589/128 371/566/128 +f 369/590/131 374/591/131 368/559/131 +f 369/582/124 379/575/124 375/592/124 +f 371/566/127 378/593/127 372/567/127 +f 370/560/91 374/591/91 376/594/91 +f 396/595/134 398/596/134 400/597/134 +f 384/598/135 381/599/135 382/600/135 +f 383/601/136 384/598/136 382/600/136 +f 394/602/137 401/603/137 402/604/137 +f 392/605/135 396/595/135 390/606/135 +f 384/598/92 387/607/92 386/608/92 +f 381/609/138 398/596/138 397/610/138 +f 382/611/135 397/610/135 392/605/135 +f 386/608/139 389/612/139 388/613/139 +f 402/604/92 409/614/92 403/615/92 +f 390/606/135 395/616/135 388/613/135 +f 389/612/140 390/606/140 388/613/140 +f 389/617/135 387/618/135 383/619/135 +f 380/620/141 399/621/141 381/599/141 +f 391/622/91 392/605/91 390/606/91 +f 395/616/142 400/597/142 401/603/142 +f 384/598/135 394/602/135 380/620/135 +f 393/623/143 382/611/143 392/605/143 +f 386/608/135 395/616/135 394/602/135 +f 380/620/144 402/604/144 403/615/144 +f 406/624/145 404/625/145 409/626/145 +f 400/597/140 407/627/140 401/603/140 +f 398/596/143 405/628/143 404/629/143 +f 399/621/136 409/614/136 405/630/136 +f 401/603/139 408/631/139 402/604/139 +f 398/596/91 406/632/91 400/597/91 +f 272/452/146 264/446/146 268/447/146 +f 277/423/93 265/422/93 275/633/93 +f 201/329/85 205/349/85 206/330/85 +f 198/332/86 199/364/86 200/333/86 +f 195/335/87 197/334/87 200/333/87 +f 194/337/85 199/364/85 198/332/85 +f 220/339/88 224/389/88 223/340/88 +f 219/342/89 222/380/89 221/343/89 +f 204/345/87 208/348/87 207/346/87 +f 208/348/90 206/330/90 205/349/90 +f 202/350/85 211/369/85 209/351/85 +f 196/353/87 210/363/87 212/354/87 +f 193/356/85 213/375/85 215/357/85 +f 203/359/87 216/362/87 214/360/87 +f 215/357/91 213/375/91 214/360/91 +f 209/351/92 211/369/92 212/354/92 +f 209/351/93 210/363/93 200/333/93 +f 208/368/94 212/354/94 211/369/94 +f 215/357/95 216/362/95 207/346/95 +f 197/334/96 214/360/96 213/375/96 +f 217/377/97 225/381/97 226/378/97 +f 218/382/100 228/388/100 229/383/100 +f 220/385/100 227/634/100 231/386/100 +f 232/390/90 235/635/90 192/391/90 +f 190/393/91 233/395/91 232/390/91 +f 191/394/86 234/397/86 233/395/86 +f 192/396/92 235/636/92 234/397/92 +f 189/398/85 192/637/85 191/394/85 +f 238/399/86 239/638/86 237/400/86 +f 238/402/85 240/413/85 241/403/85 +f 239/407/92 241/639/92 245/405/92 +f 245/405/92 244/408/92 237/406/92 +f 244/408/87 243/412/87 236/409/87 +f 244/408/90 245/405/90 242/411/90 +f 240/413/103 242/411/103 245/405/103 +f 238/399/91 236/401/91 242/411/91 +f 236/401/91 243/412/91 242/411/91 +f 262/415/91 269/451/91 266/416/91 +f 268/418/104 269/640/104 273/419/104 +f 249/424/85 246/445/85 251/425/85 +f 256/427/86 259/434/86 258/428/86 +f 252/430/106 250/641/106 247/431/106 +f 254/433/91 261/438/91 259/434/91 +f 251/435/90 246/445/90 247/431/90 +f 254/433/90 255/442/90 260/437/90 +f 266/416/85 269/451/85 268/439/85 +f 257/441/92 258/642/92 260/437/92 +f 248/432/86 249/424/86 253/443/86 +f 246/445/91 249/424/91 248/432/91 +f 264/446/87 262/415/87 263/417/87 +f 265/422/107 267/421/107 268/447/107 +f 270/448/90 272/420/90 273/419/90 +f 262/415/87 264/446/87 270/450/87 +f 262/415/91 271/449/91 273/419/91 +f 274/454/86 276/458/86 277/455/86 +f 267/457/108 277/455/108 276/458/108 +f 263/417/87 274/454/87 275/460/87 +f 263/417/91 266/416/91 276/458/91 +f 280/461/92 281/470/92 278/462/92 +f 296/464/85 297/487/85 294/465/85 +f 279/463/90 278/462/90 284/467/90 +f 280/461/86 283/643/86 282/469/86 +f 279/463/109 285/644/109 283/471/109 +f 281/470/85 282/645/85 284/472/85 +f 292/473/85 293/477/85 290/474/85 +f 288/476/86 290/483/86 293/477/86 +f 287/479/90 292/473/90 291/480/90 +f 289/478/92 293/477/92 292/473/92 +f 286/482/91 291/646/91 290/483/91 +f 298/484/87 301/647/87 300/485/87 +f 300/485/92 301/647/92 297/487/92 +f 298/488/91 299/648/91 295/489/91 +f 297/487/86 301/647/86 298/488/86 +f 299/491/90 300/485/90 296/464/90 +f 308/493/91 312/649/91 310/494/91 +f 304/496/91 308/493/91 306/495/91 +f 305/498/87 309/502/87 308/499/87 +f 305/498/92 303/503/92 307/501/92 +f 302/497/110 306/495/110 307/501/110 +f 312/504/90 313/650/90 311/505/90 +f 309/502/111 313/507/111 312/506/111 +f 309/502/92 307/501/92 311/505/92 +f 306/495/110 310/494/110 311/505/110 +f 320/508/91 318/512/91 322/509/91 +f 316/511/91 314/518/91 318/512/91 +f 316/511/87 320/508/87 321/513/87 +f 317/515/92 321/522/92 319/516/92 +f 315/517/112 319/516/112 318/512/112 +f 323/519/86 325/651/86 324/520/86 +f 320/508/113 324/510/113 325/521/113 +f 321/522/92 325/652/92 323/519/92 +f 318/512/112 319/516/112 323/519/112 +f 326/523/114 327/542/114 329/524/114 +f 328/525/115 329/524/115 331/526/115 +f 331/528/116 333/531/116 332/529/116 +f 333/531/117 335/533/117 334/532/117 +f 335/533/118 337/535/118 336/534/118 +f 337/535/119 339/653/119 338/536/119 +f 331/538/92 329/654/92 339/539/92 +f 329/654/92 327/655/92 339/539/92 +f 327/655/92 341/656/92 339/539/92 +f 339/539/92 337/657/92 335/658/92 +f 335/658/92 333/537/92 339/539/92 +f 338/536/120 339/653/120 341/540/120 +f 340/541/121 341/540/121 327/542/121 +f 340/543/91 326/659/91 328/544/91 +f 328/544/91 330/660/91 332/545/91 +f 332/545/91 334/661/91 336/662/91 +f 336/662/91 338/663/91 332/545/91 +f 338/663/91 340/543/91 332/545/91 +f 348/546/90 349/550/90 346/547/90 +f 344/549/85 346/547/85 349/550/85 +f 343/552/87 348/546/87 347/548/87 +f 345/554/92 349/550/92 348/546/92 +f 342/556/91 347/548/91 346/547/91 +f 366/558/122 367/569/122 368/559/122 +f 354/561/123 350/584/123 351/562/123 +f 352/563/124 353/664/124 355/564/124 +f 364/565/125 365/577/125 371/566/125 +f 360/568/123 362/572/123 367/569/123 +f 355/564/92 357/573/92 356/570/92 +f 351/571/126 369/590/126 368/559/126 +f 362/572/123 352/585/123 351/571/123 +f 357/573/127 359/578/127 358/574/127 +f 372/567/92 378/593/92 379/575/92 +f 360/568/123 366/558/123 365/577/123 +f 359/578/128 361/665/128 360/568/128 +f 357/581/123 355/666/123 353/579/123 +f 353/579/123 363/667/123 361/580/123 +f 361/580/123 359/668/123 357/581/123 +f 351/562/129 350/584/129 373/576/129 +f 360/568/91 361/665/91 363/583/91 +f 366/558/130 370/560/130 371/566/130 +f 354/561/123 356/570/123 364/565/123 +f 363/583/131 353/669/131 352/585/131 +f 356/570/123 358/574/123 365/577/123 +f 364/565/132 372/567/132 373/576/132 +f 374/588/133 375/670/133 377/586/133 +f 375/670/133 379/671/133 377/586/133 +f 379/671/133 378/672/133 377/586/133 +f 370/560/128 376/594/128 377/589/128 +f 369/590/131 375/673/131 374/591/131 +f 369/582/124 373/576/124 379/575/124 +f 371/566/127 377/589/127 378/593/127 +f 370/560/91 368/559/91 374/591/91 +f 396/595/134 397/610/134 398/596/134 +f 384/598/135 380/620/135 381/599/135 +f 383/601/136 385/674/136 384/598/136 +f 394/602/137 395/616/137 401/603/137 +f 392/605/135 397/610/135 396/595/135 +f 384/598/92 385/674/92 387/607/92 +f 381/609/138 399/675/138 398/596/138 +f 382/611/135 381/609/135 397/610/135 +f 386/608/139 387/607/139 389/612/139 +f 402/604/92 408/631/92 409/614/92 +f 390/606/135 396/595/135 395/616/135 +f 389/612/140 391/622/140 390/606/140 +f 387/618/135 385/676/135 383/619/135 +f 383/619/135 393/677/135 391/678/135 +f 391/678/135 389/617/135 383/619/135 +f 380/620/141 403/615/141 399/621/141 +f 391/622/91 393/623/91 392/605/91 +f 395/616/142 396/595/142 400/597/142 +f 384/598/135 386/608/135 394/602/135 +f 393/623/143 383/679/143 382/611/143 +f 386/608/135 388/613/135 395/616/135 +f 380/620/144 394/602/144 402/604/144 +f 404/625/145 405/680/145 409/626/145 +f 409/626/145 408/681/145 407/682/145 +f 407/682/145 406/624/145 409/626/145 +f 400/597/140 406/632/140 407/627/140 +f 398/596/143 399/675/143 405/628/143 +f 399/621/136 403/615/136 409/614/136 +f 401/603/139 407/627/139 408/631/139 +f 398/596/91 404/629/91 406/632/91 diff --git a/src/main/resources/assets/hbm/models/assembler_main.obj b/src/main/resources/assets/hbm/models/assembler_main.obj deleted file mode 100644 index 0f371b213..000000000 --- a/src/main/resources/assets/hbm/models/assembler_main.obj +++ /dev/null @@ -1,1142 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'assembler_main.blend' -# www.blender.org -o Cube_Cube.001 -v -1.500000 0.000000 1.500000 -v -1.500000 0.250000 1.500000 -v -1.500000 0.000000 -1.500000 -v -1.500000 0.250000 -1.500000 -v 1.500000 0.000000 1.500000 -v 1.500000 0.250000 1.500000 -v 1.500000 0.000000 -1.500000 -v 1.500000 0.250000 -1.500000 -v -1.250000 0.500000 1.250000 -v -1.250000 0.500000 -1.250000 -v 1.250000 0.500000 -1.250000 -v 1.250000 0.500000 1.250000 -v 1.250000 1.000000 -1.250000 -v -1.250000 1.000000 -1.250000 -v -1.250000 1.000000 1.250000 -v 1.250000 1.000000 1.250000 -v 1.062500 1.500000 -1.062500 -v 1.062500 1.500000 1.062500 -v 1.000000 0.250000 -0.250000 -v 1.000000 0.750000 -0.250000 -v 1.000000 0.250000 -0.750000 -v 1.000000 0.750000 -0.750000 -v 2.000000 0.000000 0.000000 -v 2.000000 1.000000 0.000000 -v 2.000000 0.000000 -1.000000 -v 2.000000 1.000000 -1.000000 -v 1.500000 1.000000 -1.000000 -v 1.500000 0.000000 -1.000000 -v 1.500000 1.000000 0.000000 -v 1.500000 0.000000 0.000000 -v 2.000000 0.875000 -0.875000 -v 2.000000 0.125000 -0.875000 -v 2.000000 0.875000 -0.125000 -v 2.000000 0.125000 -0.125000 -v 1.500000 0.687500 -0.687500 -v 1.500000 0.312500 -0.687500 -v 1.500000 0.687500 -0.312500 -v 1.500000 0.312500 -0.312500 -v -1.000000 0.250000 0.750000 -v -1.000000 0.750000 0.750000 -v -1.000000 0.250000 0.250000 -v -1.000000 0.750000 0.250000 -v -2.000000 0.000000 1.000000 -v -2.000000 1.000000 1.000000 -v -2.000000 0.000000 0.000000 -v -2.000000 1.000000 0.000000 -v -1.500000 1.000000 0.000000 -v -1.500000 0.000000 0.000000 -v -1.500000 1.000000 1.000000 -v -1.500000 0.000000 1.000000 -v -2.000000 0.875000 0.125000 -v -2.000000 0.125000 0.125000 -v -2.000000 0.875000 0.875000 -v -2.000000 0.125000 0.875000 -v -1.500000 0.687500 0.312500 -v -1.500000 0.312500 0.312500 -v -1.500000 0.687500 0.687500 -v -1.500000 0.312500 0.687500 -v 0.656250 0.343750 -2.000000 -v 0.656250 0.656250 -2.000000 -v 0.343750 0.343750 -1.150000 -v 0.343750 0.656250 -1.150000 -v 0.343750 0.343750 -2.000000 -v 0.343750 0.656250 -2.000000 -v 0.656250 0.343750 -1.150000 -v 0.656250 0.656250 -1.150000 -v 0.328125 0.671875 -1.150000 -v 0.328125 0.328125 -1.150000 -v 0.671875 0.671875 -1.150000 -v 0.671875 0.328125 -1.150000 -v 0.328125 0.671875 -1.000000 -v 0.328125 0.328125 -1.000000 -v 0.671875 0.671875 -1.000000 -v 0.671875 0.328125 -1.000000 -v -0.343750 0.343750 -2.000000 -v -0.343750 0.656250 -2.000000 -v -0.656250 0.343750 -1.150000 -v -0.656250 0.656250 -1.150000 -v -0.656250 0.343750 -2.000000 -v -0.656250 0.656250 -2.000000 -v -0.343750 0.343750 -1.150000 -v -0.343750 0.656250 -1.150000 -v -0.671875 0.671875 -1.150000 -v -0.671875 0.328125 -1.150000 -v -0.328125 0.671875 -1.150000 -v -0.328125 0.328125 -1.150000 -v -0.671875 0.671875 -1.000000 -v -0.671875 0.328125 -1.000000 -v -0.328125 0.671875 -1.000000 -v -0.328125 0.328125 -1.000000 -v -0.343750 0.343750 2.000000 -v -0.343750 0.656250 2.000000 -v -0.656250 0.343750 1.150000 -v -0.656250 0.656250 1.150000 -v -0.656250 0.343750 2.000000 -v -0.656250 0.656250 2.000000 -v -0.343750 0.343750 1.150000 -v -0.343750 0.656250 1.150000 -v -0.671875 0.671875 1.150000 -v -0.671875 0.328125 1.150000 -v -0.328125 0.671875 1.150000 -v -0.328125 0.328125 1.150000 -v -0.671875 0.671875 1.000000 -v -0.671875 0.328125 1.000000 -v -0.328125 0.671875 1.000000 -v -0.328125 0.328125 1.000000 -v 0.656250 0.343750 2.000000 -v 0.656250 0.656250 2.000000 -v 0.343750 0.343750 1.150000 -v 0.343750 0.656250 1.150000 -v 0.343750 0.343750 2.000000 -v 0.343750 0.656250 2.000000 -v 0.656250 0.343750 1.150000 -v 0.656250 0.656250 1.150000 -v 0.328125 0.671875 1.150000 -v 0.328125 0.328125 1.150000 -v 0.671875 0.671875 1.150000 -v 0.671875 0.328125 1.150000 -v 0.328125 0.671875 1.000000 -v 0.328125 0.328125 1.000000 -v 0.671875 0.671875 1.000000 -v 0.671875 0.328125 1.000000 -v -1.062500 1.500000 -1.062500 -v -1.062500 1.500000 1.062500 -v 0.903125 1.500000 0.903125 -v 0.903125 1.500000 -0.903125 -v -0.903125 1.500000 -0.903125 -v -0.903125 1.500000 0.903125 -v 0.903125 1.350000 0.903125 -v 0.903125 1.350000 -0.903125 -v -0.903125 1.350000 -0.903125 -v -0.903125 1.350000 0.903125 -v 0.817113 1.500000 0.903125 -v 0.731101 1.500000 0.903125 -v 0.645089 1.500000 0.903125 -v 0.559078 1.500000 0.903125 -v 0.473066 1.500000 0.903125 -v 0.387054 1.500000 0.903125 -v 0.301042 1.500000 0.903125 -v 0.215030 1.500000 0.903125 -v 0.129018 1.500000 0.903125 -v 0.043006 1.500000 0.903125 -v -0.043006 1.500000 0.903125 -v -0.129018 1.500000 0.903125 -v -0.215030 1.500000 0.903125 -v -0.301042 1.500000 0.903125 -v -0.387054 1.500000 0.903125 -v -0.473065 1.500000 0.903125 -v -0.559077 1.500000 0.903125 -v -0.645089 1.500000 0.903125 -v -0.731101 1.500000 0.903125 -v -0.817113 1.500000 0.903125 -v 0.817113 1.750000 0.903125 -v 0.731101 1.750000 0.903125 -v 0.645089 1.750000 0.903125 -v 0.559078 1.750000 0.903125 -v 0.473066 1.750000 0.903125 -v 0.387054 1.750000 0.903125 -v 0.301042 1.750000 0.903125 -v 0.215030 1.750000 0.903125 -v 0.129018 1.750000 0.903125 -v 0.043006 1.750000 0.903125 -v -0.043006 1.750000 0.903125 -v -0.129018 1.750000 0.903125 -v -0.215030 1.750000 0.903125 -v -0.301042 1.750000 0.903125 -v -0.387054 1.750000 0.903125 -v -0.473065 1.750000 0.903125 -v -0.559077 1.750000 0.903125 -v -0.645089 1.750000 0.903125 -v -0.731101 1.750000 0.903125 -v -0.817113 1.750000 0.903125 -v 0.817113 2.000000 0.653125 -v 0.731101 2.000000 0.653125 -v 0.645089 2.000000 0.653125 -v 0.559078 2.000000 0.653125 -v 0.473066 2.000000 0.653125 -v 0.387054 2.000000 0.653125 -v 0.301042 2.000000 0.653125 -v 0.215030 2.000000 0.653125 -v 0.129018 2.000000 0.653125 -v 0.043006 2.000000 0.653125 -v -0.043006 2.000000 0.653125 -v -0.129018 2.000000 0.653125 -v -0.215030 2.000000 0.653125 -v -0.301042 2.000000 0.653125 -v -0.387054 2.000000 0.653125 -v -0.473065 2.000000 0.653125 -v -0.559077 2.000000 0.653125 -v -0.645089 2.000000 0.653125 -v -0.731101 2.000000 0.653125 -v -0.817113 2.000000 0.653125 -v -0.817113 1.500000 -0.903125 -v -0.731101 1.500000 -0.903125 -v -0.645089 1.500000 -0.903125 -v -0.559078 1.500000 -0.903125 -v -0.473066 1.500000 -0.903125 -v -0.387054 1.500000 -0.903125 -v -0.301042 1.500000 -0.903125 -v -0.215030 1.500000 -0.903125 -v -0.129018 1.500000 -0.903125 -v -0.043006 1.500000 -0.903125 -v 0.043006 1.500000 -0.903125 -v 0.129018 1.500000 -0.903125 -v 0.215030 1.500000 -0.903125 -v 0.301042 1.500000 -0.903125 -v 0.387054 1.500000 -0.903125 -v 0.473065 1.500000 -0.903125 -v 0.559077 1.500000 -0.903125 -v 0.645089 1.500000 -0.903125 -v 0.731101 1.500000 -0.903125 -v 0.817113 1.500000 -0.903125 -v -0.817113 1.750000 -0.903125 -v -0.731101 1.750000 -0.903125 -v -0.645089 1.750000 -0.903125 -v -0.559078 1.750000 -0.903125 -v -0.473066 1.750000 -0.903125 -v -0.387054 1.750000 -0.903125 -v -0.301042 1.750000 -0.903125 -v -0.215030 1.750000 -0.903125 -v -0.129018 1.750000 -0.903125 -v -0.043006 1.750000 -0.903125 -v 0.043006 1.750000 -0.903125 -v 0.129018 1.750000 -0.903125 -v 0.215030 1.750000 -0.903125 -v 0.301042 1.750000 -0.903125 -v 0.387054 1.750000 -0.903125 -v 0.473065 1.750000 -0.903125 -v 0.559077 1.750000 -0.903125 -v 0.645089 1.750000 -0.903125 -v 0.731101 1.750000 -0.903125 -v 0.817113 1.750000 -0.903125 -v -0.817113 2.000000 -0.653125 -v -0.731101 2.000000 -0.653125 -v -0.645089 2.000000 -0.653125 -v -0.559078 2.000000 -0.653125 -v -0.473066 2.000000 -0.653125 -v -0.387054 2.000000 -0.653125 -v -0.301042 2.000000 -0.653125 -v -0.215030 2.000000 -0.653125 -v -0.129018 2.000000 -0.653125 -v -0.043006 2.000000 -0.653125 -v 0.043006 2.000000 -0.653125 -v 0.129018 2.000000 -0.653125 -v 0.215030 2.000000 -0.653125 -v 0.301042 2.000000 -0.653125 -v 0.387054 2.000000 -0.653125 -v 0.473065 2.000000 -0.653125 -v 0.559077 2.000000 -0.653125 -v 0.645089 2.000000 -0.653125 -v 0.731101 2.000000 -0.653125 -v 0.817113 2.000000 -0.653125 -v 1.916667 0.250000 -1.100000 -v 1.916667 0.750000 -1.100000 -v 1.666667 0.500000 -1.100000 -v 1.916667 0.250000 0.100000 -v 1.916667 0.750000 0.100000 -v 1.666667 0.500000 0.100000 -v -1.583333 0.250000 -0.100000 -v -1.583333 0.750000 -0.100000 -v -1.833333 0.500000 -0.100000 -v -1.583333 0.250000 1.100000 -v -1.583333 0.750000 1.100000 -v -1.833333 0.500000 1.100000 -vt 0.576309 0.460125 -vt 0.576309 0.482085 -vt 0.312788 0.482085 -vt 0.281091 0.465560 -vt 0.281091 0.487663 -vt 0.015849 0.487663 -vt 0.312788 0.535743 -vt 0.312788 0.513782 -vt 0.576309 0.513783 -vt 0.311067 0.037952 -vt 0.311067 0.015849 -vt 0.576309 0.015849 -vt 0.015849 0.015849 -vt 0.279369 0.015849 -vt 0.279369 0.279369 -vt 0.334748 0.566799 -vt 0.576309 0.535743 -vt 0.312788 0.460125 -vt 0.334748 0.429069 -vt 0.015849 0.465560 -vt 0.037952 0.434301 -vt 0.576309 0.037952 -vt 0.554205 0.069211 -vt 0.333170 0.069211 -vt 0.037952 0.390094 -vt 0.258987 0.390094 -vt 0.806630 0.015849 -vt 0.894470 0.015849 -vt 0.894470 0.059769 -vt 0.134126 0.756933 -vt 0.123146 0.767913 -vt 0.057265 0.767913 -vt 0.806630 0.445525 -vt 0.806630 0.401605 -vt 0.855734 0.379645 -vt 0.847469 0.740928 -vt 0.891389 0.740929 -vt 0.891389 0.828769 -vt 0.855734 0.228410 -vt 0.806630 0.206450 -vt 0.806630 0.162530 -vt 0.899654 0.228410 -vt 0.855734 0.140570 -vt 0.798365 0.762888 -vt 0.847469 0.828769 -vt 0.855734 0.467485 -vt 0.899654 0.379645 -vt 0.806630 0.059769 -vt 0.872510 0.108873 -vt 0.026829 0.798350 -vt 0.073735 0.814820 -vt 0.073735 0.847760 -vt 0.046285 0.905647 -vt 0.057265 0.894667 -vt 0.123145 0.894667 -vt 0.164562 0.875210 -vt 0.153582 0.864230 -vt 0.153582 0.798350 -vt 0.015849 0.787370 -vt 0.026829 0.864230 -vt 0.106675 0.814820 -vt 0.106675 0.847760 -vt 0.850550 0.587022 -vt 0.806630 0.587022 -vt 0.806630 0.499182 -vt 0.354205 0.854232 -vt 0.420085 0.854232 -vt 0.431065 0.865212 -vt 0.850550 0.260107 -vt 0.899654 0.282067 -vt 0.899654 0.325988 -vt 0.608006 0.899590 -vt 0.608006 0.811750 -vt 0.651926 0.811750 -vt 0.891389 0.643351 -vt 0.891389 0.687271 -vt 0.842285 0.709231 -vt 0.842285 0.621391 -vt 0.798365 0.709231 -vt 0.651926 0.899590 -vt 0.701030 0.833710 -vt 0.806630 0.260107 -vt 0.850550 0.347948 -vt 0.899654 0.565062 -vt 0.850550 0.499182 -vt 0.370675 0.774385 -vt 0.370675 0.807325 -vt 0.323768 0.823795 -vt 0.420085 0.727478 -vt 0.354205 0.727478 -vt 0.343225 0.716498 -vt 0.450521 0.823795 -vt 0.450521 0.757915 -vt 0.461501 0.746935 -vt 0.323768 0.757915 -vt 0.312788 0.834775 -vt 0.403615 0.807325 -vt 0.403615 0.774385 -vt 0.619264 0.360402 -vt 0.672059 0.307606 -vt 0.691469 0.327016 -vt 0.619264 0.254810 -vt 0.617323 0.254810 -vt 0.638674 0.233459 -vt 0.763675 0.254810 -vt 0.710880 0.307606 -vt 0.691469 0.288196 -vt 0.744265 0.379812 -vt 0.638674 0.235400 -vt 0.608006 0.245494 -vt 0.629357 0.224142 -vt 0.763675 0.360402 -vt 0.765616 0.360402 -vt 0.744265 0.381753 -vt 0.744265 0.235400 -vt 0.744265 0.233459 -vt 0.765616 0.254810 -vt 0.638674 0.379812 -vt 0.638674 0.381753 -vt 0.617323 0.360402 -vt 0.774933 0.369719 -vt 0.753582 0.391070 -vt 0.629357 0.391070 -vt 0.608006 0.369718 -vt 0.753582 0.224142 -vt 0.774933 0.245494 -vt 0.763675 0.046517 -vt 0.710880 0.099312 -vt 0.691469 0.079902 -vt 0.763675 0.152108 -vt 0.765616 0.152108 -vt 0.744265 0.173459 -vt 0.619264 0.152108 -vt 0.672059 0.099312 -vt 0.691469 0.118722 -vt 0.638674 0.027106 -vt 0.744265 0.171518 -vt 0.774933 0.161425 -vt 0.753582 0.182776 -vt 0.619264 0.046517 -vt 0.617323 0.046517 -vt 0.638674 0.025165 -vt 0.638674 0.171518 -vt 0.638674 0.173459 -vt 0.617323 0.152108 -vt 0.744265 0.027106 -vt 0.744265 0.025165 -vt 0.765616 0.046517 -vt 0.608006 0.037200 -vt 0.629357 0.015849 -vt 0.753582 0.015849 -vt 0.774933 0.037200 -vt 0.629357 0.182776 -vt 0.608006 0.161425 -vt 0.691469 0.525640 -vt 0.710880 0.506230 -vt 0.763675 0.559026 -vt 0.744265 0.432084 -vt 0.765616 0.453435 -vt 0.763675 0.453435 -vt 0.691469 0.486820 -vt 0.672059 0.506230 -vt 0.619264 0.453435 -vt 0.638674 0.578436 -vt 0.744265 0.434025 -vt 0.753582 0.422767 -vt 0.774933 0.444118 -vt 0.638674 0.580377 -vt 0.617323 0.559026 -vt 0.619264 0.559026 -vt 0.617323 0.453435 -vt 0.638674 0.432084 -vt 0.638674 0.434025 -vt 0.765616 0.559026 -vt 0.744265 0.580377 -vt 0.744265 0.578436 -vt 0.629357 0.589694 -vt 0.608006 0.568343 -vt 0.774933 0.568343 -vt 0.753582 0.589694 -vt 0.608006 0.444118 -vt 0.629357 0.422767 -vt 0.105061 0.608573 -vt 0.105061 0.636023 -vt 0.030397 0.636023 -vt 0.133884 0.712060 -vt 0.103689 0.712060 -vt 0.105061 0.710688 -vt 0.132511 0.636023 -vt 0.132511 0.608573 -vt 0.207176 0.608573 -vt 0.105061 0.533909 -vt 0.132511 0.710688 -vt 0.133884 0.725236 -vt 0.103689 0.725236 -vt 0.103689 0.532536 -vt 0.133884 0.532536 -vt 0.132511 0.533909 -vt 0.208548 0.607201 -vt 0.208548 0.637396 -vt 0.207176 0.636023 -vt 0.029025 0.637396 -vt 0.029025 0.607201 -vt 0.030397 0.608573 -vt 0.103689 0.519360 -vt 0.133884 0.519360 -vt 0.015849 0.637396 -vt 0.015849 0.607201 -vt 0.221724 0.607201 -vt 0.221724 0.637396 -vt 0.554205 0.113418 -vt 0.537628 0.160631 -vt 0.349748 0.160631 -vt 0.333170 0.113418 -vt 0.554349 0.566799 -vt 0.554349 0.610719 -vt 0.334748 0.610719 -vt 0.334748 0.385149 -vt 0.554349 0.385149 -vt 0.493263 0.170323 -vt 0.054530 0.342881 -vt 0.242409 0.342880 -vt 0.351218 0.338242 -vt 0.537879 0.338242 -vt 0.537879 0.657626 -vt 0.351218 0.657626 -vt 0.365217 0.324243 -vt 0.365217 0.311067 -vt 0.523879 0.311066 -vt 0.098895 0.333189 -vt 0.523879 0.324243 -vt 0.523879 0.671625 -vt 0.365217 0.671625 -vt 0.766667 0.780053 -vt 0.608006 0.780053 -vt 0.608006 0.621391 -vt 0.523879 0.684801 -vt 0.365217 0.684801 -vt 0.496673 0.170201 -vt 0.531971 0.176003 -vt 0.364530 0.192445 -vt 0.095484 0.333311 -vt 0.060187 0.327509 -vt 0.227627 0.311066 -vt 0.236623 0.984151 -vt 0.214662 0.984151 -vt 0.214662 0.976596 -vt 0.531841 0.231698 -vt 0.509881 0.231698 -vt 0.509881 0.224142 -vt 0.533562 0.943717 -vt 0.511602 0.943717 -vt 0.511602 0.936161 -vt 0.828780 0.938842 -vt 0.806820 0.938842 -vt 0.806820 0.931287 -vt 0.236623 0.944899 -vt 0.214662 0.944899 -vt 0.214662 0.937344 -vt 0.953501 0.899590 -vt 0.931541 0.899590 -vt 0.931541 0.892035 -vt 0.828780 0.978095 -vt 0.806820 0.978095 -vt 0.806820 0.970539 -vt 0.533562 0.982969 -vt 0.511602 0.982969 -vt 0.511602 0.975414 -vt 0.531841 0.270950 -vt 0.509881 0.270950 -vt 0.509881 0.263395 -vt 0.533562 0.904464 -vt 0.511602 0.904464 -vt 0.511602 0.896909 -vt 0.480545 0.904464 -vt 0.480545 0.896909 -vt 0.478824 0.270950 -vt 0.478824 0.263395 -vt 0.480546 0.982969 -vt 0.480546 0.975414 -vt 0.775764 0.978095 -vt 0.775764 0.970539 -vt 0.900485 0.899590 -vt 0.900485 0.892035 -vt 0.183606 0.944899 -vt 0.183606 0.937344 -vt 0.775764 0.938842 -vt 0.775764 0.931287 -vt 0.480546 0.943717 -vt 0.480546 0.936161 -vt 0.478824 0.231698 -vt 0.478824 0.224142 -vt 0.183606 0.984151 -vt 0.183606 0.976596 -vt 0.037809 0.976596 -vt 0.068865 0.976596 -vt 0.068865 0.984151 -vt 0.333027 0.224143 -vt 0.364083 0.224142 -vt 0.364083 0.231698 -vt 0.312788 0.936161 -vt 0.334748 0.936161 -vt 0.334748 0.943717 -vt 0.311067 0.224143 -vt 0.333027 0.231698 -vt 0.015849 0.976596 -vt 0.037809 0.984151 -vt 0.608006 0.931287 -vt 0.629966 0.931287 -vt 0.629966 0.938842 -vt 0.015849 0.937344 -vt 0.037809 0.937344 -vt 0.037809 0.944899 -vt 0.732727 0.892035 -vt 0.754687 0.892035 -vt 0.754687 0.899590 -vt 0.608006 0.970539 -vt 0.629966 0.970539 -vt 0.629966 0.978095 -vt 0.312788 0.975414 -vt 0.334748 0.975414 -vt 0.334748 0.982969 -vt 0.311067 0.263395 -vt 0.333027 0.263395 -vt 0.333027 0.270950 -vt 0.312788 0.896909 -vt 0.334748 0.896909 -vt 0.334748 0.904464 -vt 0.365804 0.896909 -vt 0.365804 0.904464 -vt 0.364083 0.263395 -vt 0.364083 0.270950 -vt 0.365804 0.975414 -vt 0.365804 0.982969 -vt 0.661022 0.970539 -vt 0.661022 0.978095 -vt 0.785744 0.892035 -vt 0.785744 0.899590 -vt 0.068865 0.937344 -vt 0.068865 0.944899 -vt 0.661022 0.931287 -vt 0.661022 0.938842 -vt 0.365804 0.936161 -vt 0.365804 0.943717 -vt 0.253421 0.638898 -vt 0.253421 0.594978 -vt 0.275381 0.616938 -vt 0.515159 0.760418 -vt 0.493199 0.738458 -vt 0.515159 0.716498 -vt 0.253421 0.714515 -vt 0.253421 0.670595 -vt 0.275381 0.692555 -vt 0.275381 0.563281 -vt 0.253421 0.541320 -vt 0.275381 0.519360 -vt 0.015849 0.279369 -vt 0.554349 0.429069 -vt 0.258987 0.434301 -vt 0.046285 0.756933 -vt 0.899654 0.140570 -vt 0.798364 0.806809 -vt 0.899654 0.467485 -vt 0.828590 0.108873 -vt 0.134125 0.905647 -vt 0.164562 0.787370 -vt 0.015849 0.875210 -vt 0.343224 0.865212 -vt 0.798364 0.621391 -vt 0.701030 0.877630 -vt 0.806630 0.347948 -vt 0.899654 0.521142 -vt 0.431065 0.716498 -vt 0.461502 0.834775 -vt 0.312788 0.746935 -vt 0.363839 0.174722 -vt 0.375834 0.174919 -vt 0.531331 0.168272 -vt 0.527282 0.168652 -vt 0.523273 0.168887 -vt 0.519466 0.169118 -vt 0.515811 0.169319 -vt 0.512310 0.169498 -vt 0.508962 0.169663 -vt 0.505764 0.169815 -vt 0.502713 0.169957 -vt 0.499748 0.170088 -vt 0.489313 0.170468 -vt 0.484693 0.170641 -vt 0.479208 0.170849 -vt 0.472561 0.171104 -vt 0.464263 0.171426 -vt 0.453455 0.171849 -vt 0.438489 0.172437 -vt 0.415776 0.173333 -vt 0.228319 0.328790 -vt 0.216323 0.328593 -vt 0.060826 0.335240 -vt 0.064875 0.334860 -vt 0.068884 0.334625 -vt 0.072692 0.334394 -vt 0.076346 0.334193 -vt 0.079847 0.334014 -vt 0.083195 0.333849 -vt 0.086393 0.333697 -vt 0.089444 0.333555 -vt 0.092409 0.333424 -vt 0.102844 0.333044 -vt 0.107464 0.332871 -vt 0.112949 0.332663 -vt 0.119596 0.332407 -vt 0.127894 0.332085 -vt 0.138702 0.331663 -vt 0.153668 0.331075 -vt 0.176381 0.330179 -vt 0.766667 0.621391 -vt 0.236623 0.976596 -vt 0.531841 0.224142 -vt 0.533562 0.936161 -vt 0.828780 0.931287 -vt 0.236623 0.937344 -vt 0.953501 0.892035 -vt 0.828780 0.970539 -vt 0.533562 0.975414 -vt 0.531841 0.263395 -vt 0.533562 0.896909 -vt 0.312788 0.943717 -vt 0.311067 0.231698 -vt 0.015849 0.984151 -vt 0.608006 0.938842 -vt 0.015849 0.944899 -vt 0.732727 0.899590 -vt 0.608006 0.978095 -vt 0.312788 0.982969 -vt 0.311067 0.270950 -vt 0.312788 0.904464 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.707100 0.707100 0.000000 -vn -0.707100 0.707100 0.000000 -vn 0.000000 0.707100 -0.707100 -vn 0.000000 0.707100 0.707100 -vn -0.447200 0.000000 0.894400 -vn -0.447200 0.894400 0.000000 -vn 0.000000 1.000000 0.000000 -vn -0.447200 -0.894400 0.000000 -vn -0.447200 0.000000 -0.894400 -vn 0.351100 0.000000 -0.936300 -vn 0.351100 0.000000 0.936300 -vn 0.351100 0.936300 0.000000 -vn 0.351100 -0.936300 0.000000 -vn 0.447200 0.000000 0.894400 -vn 0.447200 0.894400 0.000000 -vn 0.447200 -0.894400 0.000000 -vn 0.447200 0.000000 -0.894400 -vn -0.351100 0.000000 -0.936300 -vn -0.351100 0.000000 0.936300 -vn -0.351100 0.936300 0.000000 -vn -0.351100 -0.936300 0.000000 -vn 0.000000 0.351100 0.936300 -vn 0.000000 0.351100 -0.936300 -vn -0.936300 0.351100 0.000000 -vn 0.936300 0.351100 0.000000 -s off -f 4/1/1 3/2/1 1/3/1 -f 8/4/2 7/5/2 3/6/2 -f 6/7/3 5/8/3 7/9/3 -f 2/10/4 1/11/4 5/12/4 -f 3/13/5 7/14/5 5/15/5 -f 12/16/6 6/7/6 8/17/6 -f 4/1/7 2/18/7 9/19/7 -f 8/4/8 4/20/8 10/21/8 -f 6/22/9 12/23/9 9/24/9 -f 10/21/2 14/25/2 13/26/2 -f 26/27/2 25/28/2 28/29/2 -f 25/30/3 32/31/3 34/32/3 -f 20/33/10 19/34/10 30/35/10 -f 28/36/5 25/37/5 23/38/5 -f 27/39/11 22/40/11 20/41/11 -f 26/42/12 27/39/12 29/43/12 -f 21/44/13 28/36/13 30/45/13 -f 29/46/4 30/35/4 23/47/4 -f 27/48/14 28/29/14 21/49/14 -f 34/50/15 38/51/15 37/52/15 -f 24/53/3 33/54/3 31/55/3 -f 26/56/3 31/57/3 32/58/3 -f 23/59/3 34/50/3 33/60/3 -f 37/52/3 38/51/3 36/61/3 -f 31/57/16 35/62/16 36/61/16 -f 32/31/17 36/61/17 38/51/17 -f 33/54/18 37/52/18 35/62/18 -f 48/63/2 45/64/2 46/65/2 -f 54/66/1 52/67/1 45/68/1 -f 50/69/19 39/70/19 40/71/19 -f 43/72/5 45/73/5 48/74/5 -f 40/75/20 42/76/20 47/77/20 -f 49/78/12 47/77/12 46/79/12 -f 50/80/21 48/74/21 41/81/21 -f 43/82/4 50/69/4 49/83/4 -f 41/84/22 48/63/22 47/85/22 -f 57/86/23 58/87/23 54/88/23 -f 51/89/1 53/90/1 44/91/1 -f 52/92/1 51/93/1 46/94/1 -f 53/95/1 54/88/1 43/96/1 -f 56/97/1 58/87/1 57/86/1 -f 56/97/24 55/98/24 51/93/24 -f 58/87/25 56/97/25 52/67/25 -f 55/98/26 57/86/26 53/90/26 -f 65/99/3 59/100/3 60/101/3 -f 65/102/2 70/103/2 68/104/2 -f 62/105/1 64/106/1 63/107/1 -f 66/108/12 60/101/12 64/106/12 -f 61/109/5 63/107/5 59/100/5 -f 60/101/2 59/100/2 63/107/2 -f 70/103/5 74/110/5 72/111/5 -f 62/112/2 67/113/2 69/114/2 -f 61/115/2 68/116/2 67/117/2 -f 66/118/2 69/119/2 70/120/2 -f 67/113/12 71/121/12 73/122/12 -f 69/119/3 73/123/3 74/124/3 -f 68/116/1 72/125/1 71/126/1 -f 81/127/3 75/128/3 76/129/3 -f 81/130/2 86/131/2 84/132/2 -f 78/133/1 80/134/1 79/135/1 -f 82/136/12 76/129/12 80/134/12 -f 77/137/5 79/135/5 75/128/5 -f 76/129/2 75/128/2 79/135/2 -f 86/131/5 90/138/5 88/139/5 -f 78/140/2 83/141/2 85/142/2 -f 77/143/2 84/144/2 83/145/2 -f 82/146/2 85/147/2 86/148/2 -f 83/141/12 87/149/12 89/150/12 -f 85/147/3 89/151/3 90/152/3 -f 84/144/1 88/153/1 87/154/1 -f 92/155/3 91/156/3 97/157/3 -f 100/158/4 102/159/4 97/160/4 -f 95/161/1 96/162/1 94/163/1 -f 96/162/12 92/155/12 98/164/12 -f 91/156/5 95/161/5 93/165/5 -f 95/161/4 91/156/4 92/155/4 -f 104/166/5 106/167/5 102/159/5 -f 101/168/4 99/169/4 94/170/4 -f 99/171/4 100/172/4 93/173/4 -f 102/174/4 101/175/4 98/176/4 -f 105/177/12 103/178/12 99/169/12 -f 106/179/3 105/180/3 101/175/3 -f 103/181/1 104/182/1 100/172/1 -f 108/183/3 107/184/3 113/185/3 -f 116/186/4 118/187/4 113/188/4 -f 111/189/1 112/190/1 110/191/1 -f 112/190/12 108/183/12 114/192/12 -f 107/184/5 111/189/5 109/193/5 -f 111/189/4 107/184/4 108/183/4 -f 120/194/5 122/195/5 118/187/5 -f 117/196/4 115/197/4 110/198/4 -f 115/199/4 116/200/4 109/201/4 -f 118/202/4 117/203/4 114/204/4 -f 121/205/12 119/206/12 115/197/12 -f 122/207/3 121/208/3 117/203/3 -f 119/209/1 120/210/1 116/200/1 -f 16/211/27 18/212/27 124/213/27 -f 12/23/4 16/211/4 15/214/4 -f 11/215/3 13/216/3 16/217/3 -f 9/19/1 15/218/1 14/219/1 -f 18/212/12 143/220/12 124/213/12 -f 14/25/28 123/221/28 17/222/28 -f 15/218/29 124/223/29 123/224/29 -f 13/216/30 17/225/30 18/226/30 -f 128/227/3 132/228/3 131/229/3 -f 123/221/12 203/230/12 17/222/12 -f 124/223/12 128/227/12 127/231/12 -f 17/225/12 126/232/12 125/233/12 -f 130/234/12 131/235/12 132/236/12 -f 126/232/1 130/237/1 129/238/1 -f 142/239/2 129/240/2 132/241/2 -f 202/242/4 131/243/4 130/244/4 -f 193/245/2 213/246/2 214/247/2 -f 195/248/2 215/249/2 216/250/2 -f 197/251/2 217/252/2 218/253/2 -f 199/254/2 219/255/2 220/256/2 -f 201/257/2 221/258/2 222/259/2 -f 203/260/2 223/261/2 224/262/2 -f 205/263/2 225/264/2 226/265/2 -f 207/266/2 227/267/2 228/268/2 -f 209/269/2 229/270/2 230/271/2 -f 211/272/2 231/273/2 232/274/2 -f 231/273/8 251/275/8 252/276/8 -f 229/270/8 249/277/8 250/278/8 -f 227/267/8 247/279/8 248/280/8 -f 225/264/8 245/281/8 246/282/8 -f 223/261/8 243/283/8 244/284/8 -f 221/258/8 241/285/8 242/286/8 -f 219/255/8 239/287/8 240/288/8 -f 217/252/8 237/289/8 238/290/8 -f 215/249/8 235/291/8 236/292/8 -f 213/246/8 233/293/8 234/294/8 -f 171/295/9 191/296/9 192/297/9 -f 169/298/9 189/299/9 190/300/9 -f 147/301/4 167/302/4 168/303/4 -f 149/304/4 169/298/4 170/305/4 -f 151/306/4 171/295/4 172/307/4 -f 145/308/4 165/309/4 166/310/4 -f 143/311/4 163/312/4 164/313/4 -f 141/314/4 161/315/4 162/316/4 -f 139/317/4 159/318/4 160/319/4 -f 137/320/4 157/321/4 158/322/4 -f 135/323/4 155/324/4 156/325/4 -f 133/326/4 153/327/4 154/328/4 -f 153/327/9 173/329/9 174/330/9 -f 155/324/9 175/331/9 176/332/9 -f 157/321/9 177/333/9 178/334/9 -f 159/318/9 179/335/9 180/336/9 -f 161/315/9 181/337/9 182/338/9 -f 163/312/9 183/339/9 184/340/9 -f 165/309/9 185/341/9 186/342/9 -f 167/302/9 187/343/9 188/344/9 -f 252/276/12 251/275/12 174/330/12 -f 250/278/12 249/277/12 176/332/12 -f 248/280/12 247/279/12 178/334/12 -f 246/282/12 245/281/12 180/336/12 -f 244/284/12 243/283/12 182/338/12 -f 242/286/12 241/285/12 184/340/12 -f 234/294/12 233/293/12 192/297/12 -f 236/292/12 235/291/12 190/300/12 -f 238/290/12 237/289/12 188/344/12 -f 240/288/12 239/287/12 186/342/12 -f 254/345/2 253/346/2 255/347/2 -f 257/348/4 258/349/4 256/350/4 -f 260/351/2 259/352/2 261/353/2 -f 263/354/4 264/355/4 262/356/4 -f 2/18/1 4/1/1 1/3/1 -f 4/20/2 8/4/2 3/6/2 -f 8/17/3 6/7/3 7/9/3 -f 6/22/4 2/10/4 5/12/4 -f 1/357/5 3/13/5 5/15/5 -f 11/215/6 12/16/6 8/17/6 -f 10/358/7 4/1/7 9/19/7 -f 11/359/8 8/4/8 10/21/8 -f 2/10/9 6/22/9 9/24/9 -f 11/359/2 10/21/2 13/26/2 -f 27/48/2 26/27/2 28/29/2 -f 23/360/3 25/30/3 34/32/3 -f 29/46/10 20/33/10 30/35/10 -f 30/45/5 28/36/5 23/38/5 -f 29/43/11 27/39/11 20/41/11 -f 24/361/12 26/42/12 29/43/12 -f 19/362/13 21/44/13 30/45/13 -f 24/363/4 29/46/4 23/47/4 -f 22/364/14 27/48/14 21/49/14 -f 33/60/15 34/50/15 37/52/15 -f 26/365/3 24/53/3 31/55/3 -f 25/366/3 26/56/3 32/58/3 -f 24/367/3 23/59/3 33/60/3 -f 35/62/3 37/52/3 36/61/3 -f 32/58/16 31/57/16 36/61/16 -f 34/32/17 32/31/17 38/51/17 -f 31/55/18 33/54/18 35/62/18 -f 47/85/2 48/63/2 46/65/2 -f 43/368/1 54/66/1 45/68/1 -f 49/83/19 50/69/19 40/71/19 -f 50/80/5 43/72/5 48/74/5 -f 49/78/20 40/75/20 47/77/20 -f 44/369/12 49/78/12 46/79/12 -f 39/370/21 50/80/21 41/81/21 -f 44/371/4 43/82/4 49/83/4 -f 42/372/22 41/84/22 47/85/22 -f 53/95/23 57/86/23 54/88/23 -f 46/373/1 51/89/1 44/91/1 -f 45/374/1 52/92/1 46/94/1 -f 44/375/1 53/95/1 43/96/1 -f 55/98/1 56/97/1 57/86/1 -f 52/92/24 56/97/24 51/93/24 -f 54/66/25 58/87/25 52/67/25 -f 51/89/26 55/98/26 53/90/26 -f 66/118/3 65/99/3 60/101/3 -f 61/109/2 65/102/2 68/104/2 -f 61/115/1 62/105/1 63/107/1 -f 62/112/12 66/108/12 64/106/12 -f 65/102/5 61/109/5 59/100/5 -f 64/106/2 60/101/2 63/107/2 -f 68/104/5 70/103/5 72/111/5 -f 66/108/2 62/112/2 69/114/2 -f 62/105/2 61/115/2 67/117/2 -f 65/99/2 66/118/2 70/120/2 -f 69/114/12 67/113/12 73/122/12 -f 70/120/3 69/119/3 74/124/3 -f 67/117/1 68/116/1 71/126/1 -f 82/146/3 81/127/3 76/129/3 -f 77/137/2 81/130/2 84/132/2 -f 77/143/1 78/133/1 79/135/1 -f 78/140/12 82/136/12 80/134/12 -f 81/130/5 77/137/5 75/128/5 -f 80/134/2 76/129/2 79/135/2 -f 84/132/5 86/131/5 88/139/5 -f 82/136/2 78/140/2 85/142/2 -f 78/133/2 77/143/2 83/145/2 -f 81/127/2 82/146/2 86/148/2 -f 85/142/12 83/141/12 89/150/12 -f 86/148/3 85/147/3 90/152/3 -f 83/145/1 84/144/1 87/154/1 -f 98/176/3 92/155/3 97/157/3 -f 93/165/4 100/158/4 97/160/4 -f 93/173/1 95/161/1 94/163/1 -f 94/170/12 96/162/12 98/164/12 -f 97/160/5 91/156/5 93/165/5 -f 96/162/4 95/161/4 92/155/4 -f 100/158/5 104/166/5 102/159/5 -f 98/164/4 101/168/4 94/170/4 -f 94/163/4 99/171/4 93/173/4 -f 97/157/4 102/174/4 98/176/4 -f 101/168/12 105/177/12 99/169/12 -f 102/174/3 106/179/3 101/175/3 -f 99/171/1 103/181/1 100/172/1 -f 114/204/3 108/183/3 113/185/3 -f 109/193/4 116/186/4 113/188/4 -f 109/201/1 111/189/1 110/191/1 -f 110/198/12 112/190/12 114/192/12 -f 113/188/5 107/184/5 109/193/5 -f 112/190/4 111/189/4 108/183/4 -f 116/186/5 120/194/5 118/187/5 -f 114/192/4 117/196/4 110/198/4 -f 110/191/4 115/199/4 109/201/4 -f 113/185/4 118/202/4 114/204/4 -f 117/196/12 121/205/12 115/197/12 -f 118/202/3 122/207/3 117/203/3 -f 115/199/1 119/209/1 116/200/1 -f 15/214/27 16/211/27 124/213/27 -f 9/24/4 12/23/4 15/214/4 -f 12/16/3 11/215/3 16/217/3 -f 10/358/1 9/19/1 14/219/1 -f 128/376/12 124/213/12 152/377/12 -f 18/212/12 125/378/12 133/379/12 -f 133/379/12 134/380/12 18/212/12 -f 135/381/12 136/382/12 18/212/12 -f 137/383/12 138/384/12 18/212/12 -f 139/385/12 140/386/12 18/212/12 -f 141/387/12 142/239/12 18/212/12 -f 143/220/12 144/388/12 124/213/12 -f 145/389/12 146/390/12 124/213/12 -f 147/391/12 148/392/12 124/213/12 -f 149/393/12 150/394/12 124/213/12 -f 151/395/12 152/377/12 124/213/12 -f 18/212/12 134/380/12 135/381/12 -f 151/395/12 124/213/12 150/394/12 -f 148/392/12 149/393/12 124/213/12 -f 144/388/12 145/389/12 124/213/12 -f 140/386/12 141/387/12 18/212/12 -f 136/382/12 137/383/12 18/212/12 -f 147/391/12 124/213/12 146/390/12 -f 18/212/12 138/384/12 139/385/12 -f 142/239/12 143/220/12 18/212/12 -f 13/26/28 14/25/28 17/222/28 -f 14/219/29 15/218/29 123/224/29 -f 16/217/30 13/216/30 18/226/30 -f 127/231/3 128/227/3 131/229/3 -f 126/396/12 17/222/12 212/397/12 -f 123/221/12 127/398/12 193/399/12 -f 193/399/12 194/400/12 123/221/12 -f 195/401/12 196/402/12 123/221/12 -f 197/403/12 198/404/12 123/221/12 -f 199/405/12 200/406/12 123/221/12 -f 201/407/12 202/242/12 123/221/12 -f 203/230/12 204/408/12 17/222/12 -f 205/409/12 206/410/12 17/222/12 -f 207/411/12 208/412/12 17/222/12 -f 209/413/12 210/414/12 17/222/12 -f 211/415/12 212/397/12 17/222/12 -f 123/221/12 194/400/12 195/401/12 -f 211/415/12 17/222/12 210/414/12 -f 208/412/12 209/413/12 17/222/12 -f 204/408/12 205/409/12 17/222/12 -f 200/406/12 201/407/12 123/221/12 -f 196/402/12 197/403/12 123/221/12 -f 207/411/12 17/222/12 206/410/12 -f 123/221/12 198/404/12 199/405/12 -f 202/242/12 203/230/12 123/221/12 -f 123/224/12 124/223/12 127/231/12 -f 18/226/12 17/225/12 125/233/12 -f 129/416/12 130/234/12 132/236/12 -f 125/233/1 126/232/1 129/238/1 -f 132/241/2 128/376/2 152/377/2 -f 152/377/2 151/395/2 132/241/2 -f 150/394/2 149/393/2 132/241/2 -f 148/392/2 147/391/2 132/241/2 -f 146/390/2 145/389/2 132/241/2 -f 144/388/2 143/220/2 132/241/2 -f 142/239/2 141/387/2 129/240/2 -f 140/386/2 139/385/2 129/240/2 -f 138/384/2 137/383/2 129/240/2 -f 136/382/2 135/381/2 129/240/2 -f 134/380/2 133/379/2 129/240/2 -f 125/378/2 129/240/2 133/379/2 -f 132/241/2 151/395/2 150/394/2 -f 149/393/2 148/392/2 132/241/2 -f 145/389/2 144/388/2 132/241/2 -f 141/387/2 140/386/2 129/240/2 -f 137/383/2 136/382/2 129/240/2 -f 134/380/2 129/240/2 135/381/2 -f 132/241/2 147/391/2 146/390/2 -f 143/220/2 142/239/2 132/241/2 -f 138/384/2 129/240/2 139/385/2 -f 130/244/4 126/396/4 212/397/4 -f 212/397/4 211/415/4 130/244/4 -f 210/414/4 209/413/4 130/244/4 -f 208/412/4 207/411/4 130/244/4 -f 206/410/4 205/409/4 130/244/4 -f 204/408/4 203/230/4 130/244/4 -f 202/242/4 201/407/4 131/243/4 -f 200/406/4 199/405/4 131/243/4 -f 198/404/4 197/403/4 131/243/4 -f 196/402/4 195/401/4 131/243/4 -f 194/400/4 193/399/4 131/243/4 -f 127/398/4 131/243/4 193/399/4 -f 130/244/4 211/415/4 210/414/4 -f 209/413/4 208/412/4 130/244/4 -f 205/409/4 204/408/4 130/244/4 -f 201/407/4 200/406/4 131/243/4 -f 197/403/4 196/402/4 131/243/4 -f 194/400/4 131/243/4 195/401/4 -f 130/244/4 207/411/4 206/410/4 -f 203/230/4 202/242/4 130/244/4 -f 198/404/4 131/243/4 199/405/4 -f 194/417/2 193/245/2 214/247/2 -f 196/418/2 195/248/2 216/250/2 -f 198/419/2 197/251/2 218/253/2 -f 200/420/2 199/254/2 220/256/2 -f 202/421/2 201/257/2 222/259/2 -f 204/422/2 203/260/2 224/262/2 -f 206/423/2 205/263/2 226/265/2 -f 208/424/2 207/266/2 228/268/2 -f 210/425/2 209/269/2 230/271/2 -f 212/426/2 211/272/2 232/274/2 -f 232/274/8 231/273/8 252/276/8 -f 230/271/8 229/270/8 250/278/8 -f 228/268/8 227/267/8 248/280/8 -f 226/265/8 225/264/8 246/282/8 -f 224/262/8 223/261/8 244/284/8 -f 222/259/8 221/258/8 242/286/8 -f 220/256/8 219/255/8 240/288/8 -f 218/253/8 217/252/8 238/290/8 -f 216/250/8 215/249/8 236/292/8 -f 214/247/8 213/246/8 234/294/8 -f 172/307/9 171/295/9 192/297/9 -f 170/305/9 169/298/9 190/300/9 -f 148/427/4 147/301/4 168/303/4 -f 150/428/4 149/304/4 170/305/4 -f 152/429/4 151/306/4 172/307/4 -f 146/430/4 145/308/4 166/310/4 -f 144/431/4 143/311/4 164/313/4 -f 142/432/4 141/314/4 162/316/4 -f 140/433/4 139/317/4 160/319/4 -f 138/434/4 137/320/4 158/322/4 -f 136/435/4 135/323/4 156/325/4 -f 134/436/4 133/326/4 154/328/4 -f 154/328/9 153/327/9 174/330/9 -f 156/325/9 155/324/9 176/332/9 -f 158/322/9 157/321/9 178/334/9 -f 160/319/9 159/318/9 180/336/9 -f 162/316/9 161/315/9 182/338/9 -f 164/313/9 163/312/9 184/340/9 -f 166/310/9 165/309/9 186/342/9 -f 168/303/9 167/302/9 188/344/9 -f 173/329/12 252/276/12 174/330/12 -f 175/331/12 250/278/12 176/332/12 -f 177/333/12 248/280/12 178/334/12 -f 179/335/12 246/282/12 180/336/12 -f 181/337/12 244/284/12 182/338/12 -f 183/339/12 242/286/12 184/340/12 -f 191/296/12 234/294/12 192/297/12 -f 189/299/12 236/292/12 190/300/12 -f 187/343/12 238/290/12 188/344/12 -f 185/341/12 240/288/12 186/342/12 diff --git a/src/main/resources/assets/hbm/models/assembler_wheel.obj b/src/main/resources/assets/hbm/models/assembler_wheel.obj deleted file mode 100644 index 526a71b3c..000000000 --- a/src/main/resources/assets/hbm/models/assembler_wheel.obj +++ /dev/null @@ -1,645 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'assembler_wheel.blend' -# www.blender.org -o Cylinder -v 0.000000 1.162500 -0.750000 -v 0.000000 1.537500 -0.750000 -v 0.194114 1.162500 -0.724444 -v 0.194114 1.537500 -0.724444 -v 0.375000 1.162500 -0.649519 -v 0.375000 1.537500 -0.649519 -v 0.530330 1.162500 -0.530330 -v 0.530330 1.537500 -0.530330 -v 0.649519 1.162500 -0.375000 -v 0.649519 1.537500 -0.375000 -v 0.724444 1.162500 -0.194114 -v 0.724444 1.537500 -0.194114 -v 0.750000 1.162500 -0.000000 -v 0.750000 1.537500 -0.000000 -v 0.724444 1.162500 0.194114 -v 0.724444 1.537500 0.194114 -v 0.649519 1.162500 0.375000 -v 0.649519 1.537500 0.375000 -v 0.530330 1.162500 0.530330 -v 0.530330 1.537500 0.530330 -v 0.375000 1.162500 0.649519 -v 0.375000 1.537500 0.649519 -v 0.194115 1.162500 0.724444 -v 0.194115 1.537500 0.724444 -v 0.000000 1.162500 0.750000 -v 0.000000 1.537500 0.750000 -v -0.194114 1.162500 0.724444 -v -0.194114 1.537500 0.724444 -v -0.375000 1.162500 0.649519 -v -0.375000 1.537500 0.649519 -v -0.530330 1.162500 0.530330 -v -0.530330 1.537500 0.530330 -v -0.649519 1.162500 0.375000 -v -0.649519 1.537500 0.375000 -v -0.724444 1.162500 0.194115 -v -0.724444 1.537500 0.194115 -v -0.750000 1.162500 0.000000 -v -0.750000 1.537500 0.000000 -v -0.724444 1.162500 -0.194114 -v -0.724444 1.537500 -0.194114 -v -0.649519 1.162500 -0.375000 -v -0.649519 1.537500 -0.375000 -v -0.530330 1.162500 -0.530330 -v -0.530330 1.537500 -0.530330 -v -0.375000 1.162500 -0.649519 -v -0.375000 1.537500 -0.649519 -v -0.194115 1.162500 -0.724444 -v -0.194115 1.537500 -0.724444 -v 0.000000 1.162500 -0.562500 -v 0.000000 1.537500 -0.562500 -v 0.145586 1.162500 -0.543333 -v 0.145586 1.537500 -0.543333 -v 0.281250 1.162500 -0.487139 -v 0.281250 1.537500 -0.487139 -v 0.397748 1.162500 -0.397748 -v 0.397748 1.537500 -0.397748 -v 0.487139 1.162500 -0.281250 -v 0.487139 1.537500 -0.281250 -v 0.543333 1.162500 -0.145586 -v 0.543333 1.537500 -0.145586 -v 0.562500 1.162500 -0.000000 -v 0.562500 1.537500 -0.000000 -v 0.543333 1.162500 0.145586 -v 0.543333 1.537500 0.145586 -v 0.487139 1.162500 0.281250 -v 0.487139 1.537500 0.281250 -v 0.397748 1.162500 0.397747 -v 0.397748 1.537500 0.397747 -v 0.281250 1.162500 0.487139 -v 0.281250 1.537500 0.487139 -v 0.145586 1.162500 0.543333 -v 0.145586 1.537500 0.543333 -v 0.000000 1.162500 0.562500 -v 0.000000 1.537500 0.562500 -v -0.145585 1.162500 0.543333 -v -0.145585 1.537500 0.543333 -v -0.281250 1.162500 0.487139 -v -0.281250 1.537500 0.487139 -v -0.397747 1.162500 0.397748 -v -0.397747 1.537500 0.397748 -v -0.487139 1.162500 0.281250 -v -0.487139 1.537500 0.281250 -v -0.543333 1.162500 0.145586 -v -0.543333 1.537500 0.145586 -v -0.562500 1.162500 0.000000 -v -0.562500 1.537500 0.000000 -v -0.543333 1.162500 -0.145585 -v -0.543333 1.537500 -0.145585 -v -0.487139 1.162500 -0.281250 -v -0.487139 1.537500 -0.281250 -v -0.397748 1.162500 -0.397747 -v -0.397748 1.537500 -0.397747 -v -0.281250 1.162500 -0.487139 -v -0.281250 1.537500 -0.487139 -v -0.145586 1.162500 -0.543333 -v -0.145586 1.537500 -0.543333 -v 0.000000 1.537500 -0.281250 -v 0.072793 1.537500 -0.271667 -v 0.140625 1.537500 -0.243570 -v 0.198874 1.537500 -0.198874 -v 0.243570 1.537500 -0.140625 -v 0.271667 1.537500 -0.072793 -v 0.281250 1.537500 0.000000 -v 0.271667 1.537500 0.072793 -v 0.243570 1.537500 0.140625 -v 0.198874 1.537500 0.198874 -v 0.140625 1.537500 0.243570 -v 0.072793 1.537500 0.271667 -v 0.000000 1.537500 0.281250 -v -0.072793 1.537500 0.271667 -v -0.140625 1.537500 0.243570 -v -0.198874 1.537500 0.198874 -v -0.243570 1.537500 0.140625 -v -0.271667 1.537500 0.072793 -v -0.281250 1.537500 0.000000 -v -0.271667 1.537500 -0.072793 -v -0.243570 1.537500 -0.140625 -v -0.198874 1.537500 -0.198874 -v -0.140625 1.537500 -0.243569 -v -0.072793 1.537500 -0.271667 -v 0.000000 1.287500 0.281250 -v 0.072793 1.287500 0.271667 -v 0.140625 1.287500 0.243570 -v 0.198874 1.287500 0.198874 -v 0.243570 1.287500 0.140625 -v 0.271667 1.287500 0.072793 -v 0.281250 1.287500 0.000000 -v 0.271667 1.287500 -0.072793 -v 0.243570 1.287500 -0.140625 -v 0.198874 1.287500 -0.198874 -v 0.140625 1.287500 -0.243570 -v 0.072793 1.287500 -0.271667 -v 0.000000 1.287500 -0.281250 -v -0.072793 1.287500 0.271667 -v -0.140625 1.287500 0.243570 -v -0.198874 1.287500 0.198874 -v -0.243570 1.287500 0.140625 -v -0.271667 1.287500 0.072793 -v -0.281250 1.287500 0.000000 -v -0.271667 1.287500 -0.072793 -v -0.243570 1.287500 -0.140625 -v -0.198874 1.287500 -0.198874 -v -0.140625 1.287500 -0.243569 -v -0.072793 1.287500 -0.271667 -vt 0.190885 0.497428 -vt 0.190885 0.622697 -vt 0.128251 0.622697 -vt 0.607699 0.748393 -vt 0.542295 0.748393 -vt 0.542295 0.623125 -vt 0.062848 0.622697 -vt 0.000214 0.622697 -vt 0.000214 0.497429 -vt 0.367975 0.748393 -vt 0.302572 0.748393 -vt 0.302572 0.623125 -vt 0.670333 0.748821 -vt 0.670333 0.874089 -vt 0.607699 0.874089 -vt 0.128251 0.748393 -vt 0.062848 0.748393 -vt 0.062848 0.623125 -vt 0.542296 0.874090 -vt 0.479662 0.874090 -vt 0.479662 0.748821 -vt 0.607699 0.999786 -vt 0.542296 0.999786 -vt 0.542296 0.874518 -vt 0.430609 0.748821 -vt 0.430609 0.874090 -vt 0.367975 0.874090 -vt 0.367975 0.999786 -vt 0.302572 0.999786 -vt 0.302572 0.874518 -vt 0.302572 0.874090 -vt 0.239938 0.874090 -vt 0.239938 0.748821 -vt 0.128251 0.999786 -vt 0.062848 0.999786 -vt 0.062848 0.874518 -vt 0.190886 0.748821 -vt 0.190886 0.874090 -vt 0.128251 0.874089 -vt 0.607699 0.622697 -vt 0.542295 0.622697 -vt 0.542295 0.497428 -vt 0.000214 0.874089 -vt 0.000214 0.748821 -vt 0.062848 0.748821 -vt 0.367975 0.622697 -vt 0.302572 0.622697 -vt 0.302572 0.497428 -vt 0.670333 0.623125 -vt 0.670333 0.748393 -vt 0.062848 0.497429 -vt 0.479661 0.748393 -vt 0.479661 0.623125 -vt 0.542296 0.748821 -vt 0.430609 0.623125 -vt 0.430609 0.748393 -vt 0.302572 0.748821 -vt 0.176700 0.075008 -vt 0.134220 0.099534 -vt 0.096090 0.049843 -vt 0.062848 0.874089 -vt 0.239938 0.748393 -vt 0.049843 0.096090 -vt 0.099534 0.134219 -vt 0.075008 0.176700 -vt 0.719385 0.748393 -vt 0.190885 0.748393 -vt 0.128251 0.623125 -vt 0.000214 0.748393 -vt 0.190885 0.623125 -vt 0.670333 0.999786 -vt 0.607699 0.874518 -vt 0.719385 0.999786 -vt 0.670333 0.874518 -vt 0.479661 0.999786 -vt 0.479661 0.874518 -vt 0.430609 0.999786 -vt 0.430609 0.874518 -vt 0.239938 0.999786 -vt 0.190885 0.999786 -vt 0.190885 0.874518 -vt 0.239938 0.874518 -vt 0.719385 0.622697 -vt 0.670333 0.622697 -vt 0.670333 0.497428 -vt 0.239938 0.622697 -vt 0.239938 0.497428 -vt 0.479661 0.622697 -vt 0.430609 0.622697 -vt 0.430609 0.497428 -vt 0.000214 0.999786 -vt 0.000214 0.874518 -vt 0.719385 0.874089 -vt 0.479661 0.497428 -vt 0.323144 0.191413 -vt 0.397680 0.134219 -vt 0.422206 0.176700 -vt 0.273133 0.062312 -vt 0.224081 0.062312 -vt 0.215906 0.000214 -vt 0.362995 0.099534 -vt 0.320514 0.075008 -vt 0.344483 0.017142 -vt 0.480073 0.152731 -vt 0.434902 0.224081 -vt 0.497000 0.215905 -vt 0.497000 0.281309 -vt 0.397680 0.362995 -vt 0.422206 0.320514 -vt 0.480073 0.344483 -vt 0.362995 0.397680 -vt 0.401124 0.447371 -vt 0.344484 0.480073 -vt 0.224081 0.434902 -vt 0.273133 0.434902 -vt 0.281309 0.497000 -vt 0.134219 0.397680 -vt 0.176700 0.422206 -vt 0.152731 0.480073 -vt 0.017142 0.344483 -vt 0.075008 0.320514 -vt 0.099534 0.362995 -vt 0.062312 0.224081 -vt 0.062312 0.273133 -vt 0.000214 0.281309 -vt 0.305801 0.174071 -vt 0.521955 0.167717 -vt 0.521955 0.084205 -vt 0.546481 0.084205 -vt 0.546481 0.335598 -vt 0.546481 0.252086 -vt 0.571007 0.252086 -vt 0.497428 0.251658 -vt 0.497428 0.168145 -vt 0.521955 0.168145 -vt 0.571007 0.083752 -vt 0.571036 0.000239 -vt 0.595562 0.000248 -vt 0.546481 0.167717 -vt 0.571007 0.084205 -vt 0.521955 0.251658 -vt 0.546481 0.168145 -vt 0.571007 0.335598 -vt 0.595533 0.252086 -vt 0.571007 0.167717 -vt 0.595533 0.084205 -vt 0.595533 0.083760 -vt 0.620088 0.000256 -vt 0.546481 0.251658 -vt 0.571007 0.168145 -vt 0.595533 0.167717 -vt 0.620059 0.084205 -vt 0.595533 0.335598 -vt 0.620059 0.252086 -vt 0.571007 0.251658 -vt 0.595533 0.168145 -vt 0.620059 0.083769 -vt 0.644614 0.000265 -vt 0.620059 0.167717 -vt 0.644585 0.084205 -vt 0.497428 0.083726 -vt 0.497457 0.000214 -vt 0.521983 0.000223 -vt 0.595533 0.251658 -vt 0.620059 0.168145 -vt 0.620059 0.335598 -vt 0.644585 0.252086 -vt 0.497428 0.335598 -vt 0.497428 0.252086 -vt 0.521955 0.252086 -vt 0.620059 0.251658 -vt 0.644585 0.168145 -vt 0.521955 0.083735 -vt 0.546510 0.000231 -vt 0.497428 0.167717 -vt 0.497428 0.084205 -vt 0.521955 0.335598 -vt 0.546481 0.083743 -vt 0.341755 0.236344 -vt 0.335407 0.212654 -vt 0.434902 0.273133 -vt 0.341755 0.260870 -vt 0.335407 0.284561 -vt 0.323144 0.305801 -vt 0.305801 0.323144 -vt 0.284561 0.335407 -vt 0.260870 0.341754 -vt 0.320514 0.422206 -vt 0.236344 0.341754 -vt 0.212654 0.335407 -vt 0.191413 0.323144 -vt 0.174071 0.305801 -vt 0.161808 0.284561 -vt 0.155460 0.260870 -vt 0.155460 0.236344 -vt 0.161808 0.212653 -vt 0.174071 0.191413 -vt 0.191413 0.174071 -vt 0.212654 0.161807 -vt 0.236344 0.155460 -vt 0.260870 0.155460 -vt 0.284561 0.161808 -vt 0.128251 0.497428 -vt 0.607699 0.623125 -vt 0.367975 0.623125 -vt 0.607699 0.748821 -vt 0.367975 0.748821 -vt 0.367975 0.874518 -vt 0.128251 0.874518 -vt 0.128251 0.748821 -vt 0.607699 0.497428 -vt 0.367975 0.497428 -vt 0.152731 0.017142 -vt 0.239938 0.623125 -vt 0.017142 0.152731 -vt 0.719385 0.623125 -vt 0.000214 0.623125 -vt 0.719385 0.874518 -vt 0.719385 0.497428 -vt 0.719385 0.748821 -vt 0.281309 0.000214 -vt 0.401124 0.049843 -vt 0.447371 0.096090 -vt 0.447371 0.401124 -vt 0.215906 0.497000 -vt 0.096090 0.447371 -vt 0.049843 0.401124 -vt 0.000214 0.215905 -vt 0.644585 0.083777 -vt 0.644585 0.167717 -vt 0.644585 0.335598 -vt 0.644585 0.251658 -vn 0.258800 0.000000 0.965900 -vn 0.382700 0.000000 -0.923900 -vn -0.000000 0.000000 -1.000000 -vn 0.793400 0.000000 -0.608800 -vn -0.258800 0.000000 0.965900 -vn 0.991400 0.000000 -0.130500 -vn 0.500000 0.000000 -0.866000 -vn 0.923900 0.000000 0.382700 -vn -0.707100 0.000000 0.707100 -vn 0.608800 0.000000 0.793400 -vn 0.866000 0.000000 -0.500000 -vn 0.130500 0.000000 0.991400 -vn -0.965900 0.000000 0.258800 -vn -0.382700 0.000000 0.923900 -vn 1.000000 0.000000 -0.000000 -vn -0.793400 0.000000 0.608800 -vn -0.965900 0.000000 -0.258800 -vn -0.991400 0.000000 0.130500 -vn 0.866000 0.000000 0.500000 -vn -0.923900 0.000000 -0.382700 -vn -0.707100 0.000000 -0.707100 -vn -0.608800 0.000000 -0.793400 -vn 0.000000 1.000000 -0.000000 -vn -0.130500 0.000000 -0.991400 -vn 0.500000 0.000000 0.866000 -vn 0.130500 0.000000 -0.991400 -vn -0.258800 0.000000 -0.965900 -vn 0.608800 0.000000 -0.793400 -vn 0.000000 0.000000 1.000000 -vn 0.923900 0.000000 -0.382700 -vn 0.258800 0.000000 -0.965900 -vn 0.991400 0.000000 0.130500 -vn -0.500000 0.000000 0.866000 -vn 0.793400 0.000000 0.608800 -vn 0.707100 0.000000 -0.707100 -vn 0.382700 0.000000 0.923900 -vn -0.866000 0.000000 0.500000 -vn -0.130500 0.000000 0.991400 -vn -0.500000 0.000000 -0.866000 -vn -0.608800 0.000000 0.793400 -vn 0.965900 0.000000 -0.258800 -vn -0.923900 0.000000 0.382700 -vn -1.000000 0.000000 0.000000 -vn -0.991400 0.000000 -0.130500 -vn 0.965900 0.000000 0.258800 -vn -0.793400 0.000000 -0.608800 -vn -0.866000 0.000000 -0.500000 -vn 0.707100 0.000000 0.707100 -vn -0.382700 0.000000 -0.923900 -s off -f 83/1/1 84/2/1 36/3/1 -f 4/4/2 6/5/2 5/6/2 -f 38/7/3 86/8/3 85/9/3 -f 8/10/4 10/11/4 9/12/4 -f 87/13/5 88/14/5 40/15/5 -f 12/16/6 14/17/6 13/18/6 -f 42/19/7 90/20/7 89/21/7 -f 16/22/8 18/23/8 17/24/8 -f 91/25/9 92/26/9 44/27/9 -f 20/28/10 22/29/10 21/30/10 -f 46/31/11 94/32/11 93/33/11 -f 24/34/12 26/35/12 25/36/12 -f 95/37/13 96/38/13 48/39/13 -f 28/40/14 30/41/14 29/42/14 -f 50/43/15 49/44/15 1/45/15 -f 32/46/16 34/47/16 33/48/16 -f 51/49/17 52/50/17 4/4/17 -f 36/3/18 38/7/18 37/51/18 -f 6/5/19 54/52/19 53/53/19 -f 40/15/20 42/19/20 41/54/20 -f 55/55/21 56/56/21 8/10/21 -f 44/27/22 46/31/22 45/57/22 -f 80/58/23 82/59/23 34/60/23 -f 48/39/24 2/61/24 1/45/24 -f 9/12/25 10/11/25 58/62/25 -f 36/63/23 84/64/23 86/65/23 -f 50/66/26 52/50/26 51/49/26 -f 60/67/27 12/16/27 11/68/27 -f 54/52/28 56/56/28 55/55/28 -f 13/18/29 14/17/29 62/69/29 -f 58/62/30 60/67/30 59/70/30 -f 64/71/31 16/22/31 15/72/31 -f 62/73/32 64/71/32 63/74/32 -f 18/23/33 66/75/33 65/76/33 -f 66/75/34 68/77/34 67/78/34 -f 67/78/35 68/77/35 20/28/35 -f 70/79/36 72/80/36 71/81/36 -f 22/29/37 70/79/37 69/82/37 -f 74/83/38 76/84/38 75/85/38 -f 34/47/39 82/86/39 81/87/39 -f 78/88/40 80/89/40 79/90/40 -f 71/81/41 72/80/41 24/34/41 -f 82/86/42 84/2/42 83/1/42 -f 26/35/43 74/91/43 73/92/43 -f 86/93/44 88/14/44 87/13/44 -f 75/85/45 76/84/45 28/40/45 -f 90/20/46 92/26/46 91/25/46 -f 30/41/47 78/88/47 77/94/47 -f 79/90/48 80/89/48 32/46/48 -f 94/32/49 96/38/49 95/37/49 -f 107/95/23 70/96/23 68/97/23 -f 76/98/23 78/99/23 30/100/23 -f 72/101/23 74/102/23 26/103/23 -f 20/104/23 68/97/23 70/96/23 -f 66/105/23 18/106/23 16/107/23 -f 60/108/23 62/109/23 14/110/23 -f 58/111/23 10/112/23 8/113/23 -f 52/114/23 54/115/23 6/116/23 -f 96/117/23 50/118/23 2/119/23 -f 44/120/23 92/121/23 94/122/23 -f 88/123/23 90/124/23 42/125/23 -f 108/126/23 72/101/23 70/96/23 -f 116/127/8 140/128/8 141/129/8 -f 105/130/46 125/131/46 124/132/46 -f 109/133/26 121/134/26 134/135/26 -f 100/136/16 130/137/16 129/138/16 -f 117/139/34 141/129/34 142/140/34 -f 110/141/2 134/135/2 135/142/2 -f 106/143/22 124/132/22 123/144/22 -f 118/145/10 142/140/10 143/146/10 -f 101/147/42 129/138/42 128/148/42 -f 111/149/28 135/142/28 136/150/28 -f 119/151/36 143/146/36 144/152/36 -f 107/153/49 123/144/49 122/154/49 -f 112/155/4 136/150/4 137/156/4 -f 102/157/18 128/148/18 127/158/18 -f 120/159/12 144/152/12 133/160/12 -f 97/161/38 133/162/38 132/163/38 -f 113/164/30 137/156/30 138/165/30 -f 108/166/24 122/154/24 121/167/24 -f 103/168/44 127/169/44 126/170/44 -f 114/171/6 138/165/6 139/172/6 -f 98/173/14 132/163/14 131/174/14 -f 115/175/32 139/176/32 140/128/32 -f 104/177/20 126/170/20 125/131/20 -f 99/178/40 131/174/40 130/137/40 -f 105/179/23 106/180/23 68/97/23 -f 64/181/23 104/182/23 105/179/23 -f 103/183/23 104/182/23 64/181/23 -f 102/184/23 103/183/23 62/109/23 -f 101/185/23 102/184/23 60/108/23 -f 100/186/23 101/185/23 58/111/23 -f 99/187/23 100/186/23 56/188/23 -f 52/114/23 98/189/23 99/187/23 -f 97/190/23 98/189/23 52/114/23 -f 120/191/23 97/190/23 50/118/23 -f 119/192/23 120/191/23 96/117/23 -f 118/193/23 119/192/23 94/122/23 -f 117/194/23 118/193/23 92/121/23 -f 116/195/23 117/194/23 90/124/23 -f 115/196/23 116/195/23 88/123/23 -f 84/64/23 114/197/23 115/196/23 -f 82/59/23 113/198/23 114/197/23 -f 112/199/23 113/198/23 82/59/23 -f 78/99/23 111/200/23 112/199/23 -f 110/201/23 111/200/23 78/99/23 -f 74/102/23 109/202/23 110/201/23 -f 108/126/23 109/202/23 74/102/23 -f 35/203/1 83/1/1 36/3/1 -f 3/204/2 4/4/2 5/6/2 -f 37/51/3 38/7/3 85/9/3 -f 7/205/4 8/10/4 9/12/4 -f 39/206/5 87/13/5 40/15/5 -f 11/68/6 12/16/6 13/18/6 -f 41/54/7 42/19/7 89/21/7 -f 15/72/8 16/22/8 17/24/8 -f 43/207/9 91/25/9 44/27/9 -f 19/208/10 20/28/10 21/30/10 -f 45/57/11 46/31/11 93/33/11 -f 23/209/12 24/34/12 25/36/12 -f 47/210/13 95/37/13 48/39/13 -f 27/211/14 28/40/14 29/42/14 -f 2/61/15 50/43/15 1/45/15 -f 31/212/16 32/46/16 33/48/16 -f 3/204/17 51/49/17 4/4/17 -f 35/203/18 36/3/18 37/51/18 -f 5/6/19 6/5/19 53/53/19 -f 39/206/20 40/15/20 41/54/20 -f 7/205/21 55/55/21 8/10/21 -f 43/207/22 44/27/22 45/57/22 -f 32/213/23 80/58/23 34/60/23 -f 47/210/24 48/39/24 1/45/24 -f 57/214/25 9/12/25 58/62/25 -f 38/215/23 36/63/23 86/65/23 -f 49/216/26 50/66/26 51/49/26 -f 59/70/27 60/67/27 11/68/27 -f 53/53/28 54/52/28 55/55/28 -f 61/217/29 13/18/29 62/69/29 -f 57/214/30 58/62/30 59/70/30 -f 63/74/31 64/71/31 15/72/31 -f 61/218/32 62/73/32 63/74/32 -f 17/24/33 18/23/33 65/76/33 -f 65/76/34 66/75/34 67/78/34 -f 19/208/35 67/78/35 20/28/35 -f 69/82/36 70/79/36 71/81/36 -f 21/30/37 22/29/37 69/82/37 -f 73/219/38 74/83/38 75/85/38 -f 33/48/39 34/47/39 81/87/39 -f 77/94/40 78/88/40 79/90/40 -f 23/209/41 71/81/41 24/34/41 -f 81/87/42 82/86/42 83/1/42 -f 25/36/43 26/35/43 73/92/43 -f 85/220/44 86/93/44 87/13/44 -f 27/211/45 75/85/45 28/40/45 -f 89/21/46 90/20/46 91/25/46 -f 29/42/47 30/41/47 77/94/47 -f 31/212/48 79/90/48 32/46/48 -f 93/33/49 94/32/49 95/37/49 -f 106/180/23 107/95/23 68/97/23 -f 28/221/23 76/98/23 30/100/23 -f 24/222/23 72/101/23 26/103/23 -f 22/223/23 20/104/23 70/96/23 -f 64/181/23 66/105/23 16/107/23 -f 12/224/23 60/108/23 14/110/23 -f 56/188/23 58/111/23 8/113/23 -f 4/225/23 52/114/23 6/116/23 -f 48/226/23 96/117/23 2/119/23 -f 46/227/23 44/120/23 94/122/23 -f 40/228/23 88/123/23 42/125/23 -f 107/95/23 108/126/23 70/96/23 -f 117/139/8 116/127/8 141/129/8 -f 106/143/46 105/130/46 124/132/46 -f 110/141/26 109/133/26 134/135/26 -f 101/147/16 100/136/16 129/138/16 -f 118/145/34 117/139/34 142/140/34 -f 111/149/2 110/141/2 135/142/2 -f 107/153/22 106/143/22 123/144/22 -f 119/151/10 118/145/10 143/146/10 -f 102/157/42 101/147/42 128/148/42 -f 112/155/28 111/149/28 136/150/28 -f 120/159/36 119/151/36 144/152/36 -f 108/166/49 107/153/49 122/154/49 -f 113/164/4 112/155/4 137/156/4 -f 103/229/18 102/157/18 127/158/18 -f 97/230/12 120/159/12 133/160/12 -f 98/173/38 97/161/38 132/163/38 -f 114/171/30 113/164/30 138/165/30 -f 109/231/24 108/166/24 121/167/24 -f 104/177/44 103/168/44 126/170/44 -f 115/232/6 114/171/6 139/172/6 -f 99/178/14 98/173/14 131/174/14 -f 116/127/32 115/175/32 140/128/32 -f 105/130/20 104/177/20 125/131/20 -f 100/136/40 99/178/40 130/137/40 -f 66/105/23 105/179/23 68/97/23 -f 66/105/23 64/181/23 105/179/23 -f 62/109/23 103/183/23 64/181/23 -f 60/108/23 102/184/23 62/109/23 -f 58/111/23 101/185/23 60/108/23 -f 56/188/23 100/186/23 58/111/23 -f 54/115/23 99/187/23 56/188/23 -f 54/115/23 52/114/23 99/187/23 -f 50/118/23 97/190/23 52/114/23 -f 96/117/23 120/191/23 50/118/23 -f 94/122/23 119/192/23 96/117/23 -f 92/121/23 118/193/23 94/122/23 -f 90/124/23 117/194/23 92/121/23 -f 88/123/23 116/195/23 90/124/23 -f 86/65/23 115/196/23 88/123/23 -f 86/65/23 84/64/23 115/196/23 -f 84/64/23 82/59/23 114/197/23 -f 80/58/23 112/199/23 82/59/23 -f 80/58/23 78/99/23 112/199/23 -f 76/98/23 110/201/23 78/99/23 -f 76/98/23 74/102/23 110/201/23 -f 72/101/23 108/126/23 74/102/23 diff --git a/src/main/resources/assets/hbm/models/blocks/geiger_counter.obj b/src/main/resources/assets/hbm/models/blocks/geiger_counter.obj new file mode 100644 index 000000000..ed48ab2ee --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/geiger_counter.obj @@ -0,0 +1,724 @@ +# Blender 4.0.2 +# www.blender.org +mtllib geiger_counter.mtl +o Cube.001 +v -0.250000 0.088388 0.062500 +v -0.224112 0.062500 0.062500 +v -0.224112 0.500000 0.062500 +v -0.250000 0.474112 0.062500 +v -0.250000 0.000000 -0.312500 +v -0.312500 0.062500 -0.312500 +v -0.312500 0.500000 -0.312500 +v -0.250000 0.562500 -0.312500 +v 0.411612 0.062500 0.062500 +v 0.437500 0.088388 0.062500 +v 0.437500 0.474112 0.062500 +v 0.411612 0.500000 0.062500 +v 0.500000 0.062500 -0.312500 +v 0.437500 0.000000 -0.312500 +v 0.437500 0.562500 -0.312500 +v 0.500000 0.500000 -0.312500 +v -0.250000 0.000000 0.062500 +v -0.312500 0.062500 0.062500 +v -0.312500 0.500000 0.062500 +v -0.250000 0.562500 0.062500 +v 0.500000 0.062500 0.062500 +v 0.437500 0.000000 0.062500 +v 0.437500 0.562500 0.062500 +v 0.500000 0.500000 0.062500 +v -0.224112 0.062500 0.000000 +v -0.250000 0.088388 0.000000 +v -0.250000 0.474112 0.000000 +v -0.224112 0.500000 0.000000 +v 0.437500 0.088388 0.000000 +v 0.411612 0.062500 0.000000 +v 0.411612 0.500000 0.000000 +v 0.437500 0.474112 0.000000 +v -0.250000 0.000000 -0.312500 +v -0.250000 0.562500 -0.312500 +v 0.437500 0.000000 -0.312500 +v 0.437500 0.562500 -0.312500 +v -0.250000 0.000000 0.062500 +v -0.250000 0.562500 0.062500 +v 0.437500 0.000000 0.062500 +v 0.437500 0.562500 0.062500 +v -0.312500 0.375000 -0.312500 +v 0.500000 0.375000 -0.312500 +v 0.500000 0.375000 -0.500000 +v -0.312500 0.375000 -0.500000 +v -0.312500 0.062500 -0.312500 +v -0.250000 0.000000 -0.312500 +v -0.250000 0.000000 -0.500000 +v -0.312500 0.062500 -0.500000 +v 0.437500 0.000000 -0.312500 +v 0.500000 0.062500 -0.312500 +v 0.500000 0.062500 -0.500000 +v 0.437500 0.000000 -0.500000 +v 0.281250 0.375000 0.000000 +v 0.281250 0.375000 0.062500 +v 0.325444 0.356694 0.000000 +v 0.325444 0.356694 0.062500 +v 0.343750 0.312500 0.000000 +v 0.343750 0.312500 0.062500 +v 0.325444 0.268306 0.000000 +v 0.325444 0.268306 0.062500 +v 0.281250 0.250000 0.000000 +v 0.281250 0.250000 0.062500 +v 0.237056 0.268306 0.000000 +v 0.237056 0.268306 0.062500 +v 0.218750 0.312500 0.000000 +v 0.218750 0.312500 0.062500 +v 0.237056 0.356694 0.000000 +v 0.237056 0.356694 0.062500 +v -0.187500 0.187500 0.031250 +v -0.187500 0.437500 0.031250 +v -0.187500 0.187500 -0.031250 +v -0.187500 0.437500 -0.031250 +v 0.187500 0.187500 0.031250 +v 0.187500 0.437500 0.031250 +v 0.187500 0.187500 -0.031250 +v 0.187500 0.437500 -0.031250 +v -0.125000 0.000000 0.318750 +v -0.125000 0.056250 0.375000 +v -0.125000 0.131250 0.375000 +v -0.125000 0.187500 0.318750 +v -0.125000 0.056250 0.187500 +v -0.125000 0.000000 0.243750 +v -0.125000 0.187500 0.243750 +v -0.125000 0.131250 0.187500 +v 0.375000 0.056250 0.375000 +v 0.375000 0.000000 0.318750 +v 0.375000 0.187500 0.318750 +v 0.375000 0.131250 0.375000 +v 0.375000 0.000000 0.243750 +v 0.375000 0.056250 0.187500 +v 0.375000 0.131250 0.187500 +v 0.375000 0.187500 0.243750 +v -0.125000 0.000000 0.318750 +v -0.125000 0.056250 0.375000 +v -0.125000 0.131250 0.375000 +v -0.125000 0.187500 0.318750 +v -0.125000 0.056250 0.187500 +v -0.125000 0.000000 0.243750 +v -0.125000 0.187500 0.243750 +v -0.125000 0.131250 0.187500 +v 0.375000 0.056250 0.375000 +v 0.375000 0.000000 0.318750 +v 0.375000 0.187500 0.318750 +v 0.375000 0.131250 0.375000 +v 0.375000 0.000000 0.243750 +v 0.375000 0.056250 0.187500 +v 0.375000 0.131250 0.187500 +v 0.375000 0.187500 0.243750 +v -0.187500 0.562500 -0.062500 +v -0.187500 0.562500 -0.125000 +v -0.125000 0.562500 -0.062500 +v -0.125000 0.687500 -0.062500 +v -0.125000 0.562500 -0.125000 +v -0.125000 0.687500 -0.125000 +v 0.312500 0.562500 -0.062500 +v 0.312500 0.687500 -0.062500 +v 0.312500 0.562500 -0.125000 +v 0.312500 0.687500 -0.125000 +v 0.375000 0.562500 -0.062500 +v 0.375000 0.562500 -0.125000 +v -0.187500 0.625000 -0.062500 +v -0.187500 0.625000 -0.125000 +v 0.375000 0.625000 -0.062500 +v 0.375000 0.625000 -0.125000 +v -0.125000 0.625000 -0.062500 +v -0.125000 0.687500 -0.062500 +v -0.125000 0.625000 -0.125000 +v -0.125000 0.687500 -0.125000 +v 0.312500 0.625000 -0.062500 +v 0.312500 0.687500 -0.062500 +v 0.312500 0.625000 -0.125000 +v 0.312500 0.687500 -0.125000 +v -0.406250 0.000000 0.312500 +v -0.406250 0.062500 0.312500 +v -0.406250 0.000000 -0.187500 +v -0.406250 0.062500 -0.187500 +v -0.343750 0.000000 0.312500 +v -0.343750 0.062500 0.312500 +v -0.343750 0.000000 -0.187500 +v -0.343750 0.062500 -0.187500 +v -0.343750 0.000000 0.312500 +v -0.343750 0.062500 0.312500 +v -0.343750 0.000000 0.250000 +v -0.343750 0.062500 0.250000 +v -0.187500 0.000000 0.312500 +v -0.187500 0.062500 0.312500 +v -0.187500 0.000000 0.250000 +v -0.187500 0.062500 0.250000 +v -0.187500 0.000000 0.312500 +v -0.187500 0.125000 0.312500 +v -0.187500 0.000000 0.250000 +v -0.187500 0.125000 0.250000 +v -0.125000 0.000000 0.312500 +v -0.125000 0.125000 0.312500 +v -0.125000 0.000000 0.250000 +v -0.125000 0.125000 0.250000 +v -0.406250 0.000000 -0.187500 +v -0.406250 0.343750 -0.187500 +v -0.406250 0.000000 -0.250000 +v -0.406250 0.343750 -0.250000 +v -0.343750 0.000000 -0.187500 +v -0.343750 0.343750 -0.187500 +v -0.343750 0.000000 -0.250000 +v -0.343750 0.343750 -0.250000 +v 0.117518 0.562744 -0.174255 +v 0.365085 0.562744 -0.139462 +v 0.134915 0.562744 -0.298038 +v 0.382482 0.562744 -0.263245 +v -0.281250 0.375000 -0.218750 +v -0.343750 0.375000 -0.218750 +v -0.281250 0.356694 -0.174556 +v -0.343750 0.356694 -0.174556 +v -0.281250 0.312500 -0.156250 +v -0.343750 0.312500 -0.156250 +v -0.281250 0.268306 -0.174556 +v -0.343750 0.268306 -0.174556 +v -0.281250 0.250000 -0.218750 +v -0.343750 0.250000 -0.218750 +v -0.281250 0.268306 -0.262944 +v -0.343750 0.268306 -0.262944 +v -0.281250 0.312500 -0.281250 +v -0.343750 0.312500 -0.281250 +v -0.281250 0.356694 -0.262944 +v -0.343750 0.356694 -0.262944 +vn 0.7071 0.7071 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.7071 -0.7071 -0.0000 +vn -0.7071 0.7071 -0.0000 +vn 0.7071 -0.7071 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 0.3827 0.9239 +vn -0.0000 -0.3827 0.9239 +vn -0.0000 0.9239 -0.3827 +vn -0.0000 0.9239 0.3827 +vn -0.0000 0.3827 -0.9239 +vn -0.0000 -0.3827 -0.9239 +vn -0.0000 -0.9239 -0.3827 +vn -0.0000 -0.9239 0.3827 +vn -0.0000 0.7071 0.7071 +vn -0.0000 -0.7071 0.7071 +vn -0.0000 -0.7071 -0.7071 +vn -0.0000 0.7071 -0.7071 +vt 0.708278 0.727278 +vt 0.728085 0.738881 +vt 0.708278 0.738881 +vt 0.454545 0.872727 +vt 0.345455 0.745455 +vt 0.454545 0.745455 +vt 0.109091 0.872727 +vt 0.000000 0.745455 +vt 0.109091 0.745455 +vt 0.672711 0.890896 +vt 0.454565 0.872717 +vt 0.472744 0.727287 +vt 0.109091 0.727273 +vt 0.000000 0.727273 +vt 0.000000 0.890909 +vt 0.109091 0.890909 +vt 0.454545 0.727273 +vt 0.345455 0.727273 +vt 0.345455 0.890909 +vt 0.454545 0.890909 +vt 0.127289 0.752995 +vt 0.127289 0.727287 +vt 0.134819 0.745465 +vt 0.134819 0.872717 +vt 0.109111 0.872717 +vt 0.127289 0.865187 +vt 0.319726 0.745465 +vt 0.345435 0.745465 +vt 0.327256 0.752995 +vt 0.327256 0.865187 +vt 0.327256 0.890896 +vt 0.319726 0.872717 +vt 0.327256 0.727287 +vt 0.109111 0.745466 +vt 0.345435 0.872717 +vt 0.127289 0.890896 +vt 0.919727 0.872717 +vt 0.727289 0.865187 +vt 0.734819 0.745465 +vt 0.745460 0.890755 +vt 0.927267 0.872882 +vt 0.927267 0.890755 +vt 0.728085 0.861119 +vt 0.708278 0.861119 +vt 0.945455 0.872722 +vt 0.927273 0.861119 +vt 0.945455 0.861119 +vt 0.728085 0.872722 +vt 0.708278 0.872722 +vt 0.927273 0.738881 +vt 0.945455 0.738881 +vt 0.927267 0.727427 +vt 0.745460 0.745301 +vt 0.745460 0.727427 +vt 0.927273 0.727278 +vt 0.945455 0.727278 +vt 0.127273 1.000000 +vt 0.327273 0.890909 +vt 0.327273 1.000000 +vt 0.327273 0.618182 +vt 0.127273 0.727273 +vt 0.127273 0.618182 +vt 0.290909 0.454545 +vt 0.054545 0.545455 +vt 0.072727 0.436364 +vt 0.272727 0.381818 +vt 0.272727 0.436364 +vt 0.290909 0.545455 +vt 0.054545 0.600000 +vt 0.000000 0.454545 +vt 0.054545 0.454545 +vt 0.345455 0.436364 +vt 0.290909 0.436364 +vt 0.054545 0.436364 +vt 0.000000 0.436364 +vt 0.345455 0.545455 +vt 0.345455 0.454545 +vt 0.672727 0.481818 +vt 0.654545 0.500000 +vt 0.654545 0.481818 +vt 0.672727 0.500000 +vt 0.654545 0.518182 +vt 0.672727 0.518182 +vt 0.654545 0.536364 +vt 0.672727 0.536364 +vt 0.654545 0.554545 +vt 0.672727 0.554545 +vt 0.654545 0.572727 +vt 0.672727 0.572727 +vt 0.654545 0.590909 +vt 0.721947 0.478052 +vt 0.696234 0.478052 +vt 0.696234 0.503765 +vt 0.672727 0.590909 +vt 0.654545 0.609091 +vt 0.672727 0.609091 +vt 0.654545 0.627273 +vt 0.381818 0.527273 +vt 0.363636 0.454545 +vt 0.381818 0.454545 +vt 0.509091 0.527273 +vt 0.490909 0.454545 +vt 0.509091 0.454545 +vt 0.490909 0.527273 +vt 0.490909 0.436364 +vt 0.381818 0.436364 +vt 0.381818 0.545455 +vt 0.490909 0.545455 +vt 0.581818 0.327273 +vt 0.436364 0.309091 +vt 0.581818 0.309091 +vt 0.436364 0.363636 +vt 0.581818 0.345455 +vt 0.581818 0.363636 +vt 0.436364 0.381818 +vt 0.581818 0.400000 +vt 0.436364 0.400000 +vt 0.436364 0.418182 +vt 0.581818 0.418182 +vt 0.581818 0.290909 +vt 0.436364 0.290909 +vt 0.436364 0.345455 +vt 0.581818 0.272727 +vt 0.436364 0.272727 +vt 0.401927 0.345455 +vt 0.363636 0.329200 +vt 0.379891 0.290909 +vt 0.401927 0.418182 +vt 0.363636 0.401927 +vt 0.379891 0.363636 +vt 0.727273 0.709091 +vt 0.709091 0.672727 +vt 0.727273 0.672727 +vt 0.690909 0.690909 +vt 0.672727 0.672727 +vt 0.690909 0.672727 +vt 0.672727 0.690909 +vt 0.654545 0.672727 +vt 0.963636 0.709091 +vt 0.945455 0.672727 +vt 0.963636 0.672727 +vt 0.909091 0.690909 +vt 0.890909 0.672727 +vt 0.909091 0.672727 +vt 0.927273 0.690909 +vt 0.927273 0.672727 +vt 0.672727 0.709091 +vt 0.690909 0.709091 +vt 0.909091 0.709091 +vt 0.927273 0.709091 +vt 0.745455 0.690909 +vt 0.872727 0.709091 +vt 0.745455 0.709091 +vt 0.872727 0.672727 +vt 0.745455 0.654545 +vt 0.872727 0.654545 +vt 0.872727 0.636364 +vt 0.745455 0.636364 +vt 0.872727 0.690909 +vt 0.109091 0.345455 +vt 0.127273 0.200000 +vt 0.127273 0.345455 +vt 0.163636 0.200000 +vt 0.145455 0.345455 +vt 0.145455 0.200000 +vt 0.109091 0.363636 +vt 0.181818 0.200000 +vt 0.163636 0.345455 +vt 0.200000 0.345455 +vt 0.218182 0.300000 +vt 0.218182 0.345455 +vt 0.272727 0.345455 +vt 0.254545 0.300000 +vt 0.272727 0.300000 +vt 0.236364 0.345455 +vt 0.236364 0.300000 +vt 0.309091 0.345455 +vt 0.290909 0.309091 +vt 0.309091 0.309091 +vt 0.309091 0.290909 +vt 0.290909 0.290909 +vt 0.290909 0.363636 +vt 0.290909 0.345455 +vt 0.345455 0.345455 +vt 0.327273 0.309091 +vt 0.345455 0.309091 +vt 0.036364 0.345455 +vt 0.018182 0.245455 +vt 0.036364 0.245455 +vt 0.090909 0.345455 +vt 0.072727 0.245455 +vt 0.090909 0.245455 +vt 0.072727 0.345455 +vt 0.054545 0.245455 +vt 0.054545 0.345455 +vt 0.036364 0.218182 +vt 0.018182 0.236364 +vt 0.018182 0.218182 +vt 0.018182 0.363636 +vt 0.018182 0.345455 +vt 0.636364 0.563636 +vt 0.345455 0.709091 +vt 0.345455 0.563636 +vt 0.763636 0.472727 +vt 0.745454 0.490909 +vt 0.745454 0.472727 +vt 0.763636 0.490909 +vt 0.745454 0.509091 +vt 0.763636 0.509091 +vt 0.745454 0.527273 +vt 0.763636 0.527273 +vt 0.745455 0.545455 +vt 0.763636 0.545455 +vt 0.745455 0.563636 +vt 0.763636 0.563636 +vt 0.745455 0.581818 +vt 0.709090 0.581818 +vt 0.690908 0.600000 +vt 0.709090 0.618182 +vt 0.763636 0.581818 +vt 0.745455 0.600000 +vt 0.763636 0.600000 +vt 0.745455 0.618182 +vt 0.728085 0.727278 +vt 0.345455 0.872727 +vt 0.000000 0.872727 +vt 0.672711 0.727287 +vt 0.690890 0.745465 +vt 0.690890 0.872717 +vt 0.472744 0.890896 +vt 0.454565 0.745465 +vt 0.919727 0.745465 +vt 0.927257 0.752994 +vt 0.927257 0.865187 +vt 0.734819 0.872717 +vt 0.727289 0.752995 +vt 0.745460 0.872882 +vt 0.927273 0.872722 +vt 0.927267 0.745301 +vt 0.127273 0.890909 +vt 0.327273 0.727273 +vt 0.072727 0.381818 +vt 0.290909 0.600000 +vt 0.000000 0.545455 +vt 0.709091 0.509091 +vt 0.721947 0.503765 +vt 0.727273 0.490909 +vt 0.709091 0.472727 +vt 0.690909 0.490909 +vt 0.672727 0.627273 +vt 0.363636 0.527273 +vt 0.436364 0.327273 +vt 0.581818 0.381818 +vt 0.401927 0.290909 +vt 0.418182 0.307164 +vt 0.418182 0.329200 +vt 0.379891 0.345455 +vt 0.363636 0.307164 +vt 0.401927 0.363636 +vt 0.418182 0.379891 +vt 0.418182 0.401927 +vt 0.379891 0.418182 +vt 0.363636 0.379891 +vt 0.709091 0.709091 +vt 0.654545 0.709091 +vt 0.945455 0.709091 +vt 0.890909 0.709091 +vt 0.745455 0.672727 +vt 0.109091 0.200000 +vt 0.127273 0.363636 +vt 0.181818 0.345455 +vt 0.200000 0.300000 +vt 0.254545 0.345455 +vt 0.309091 0.363636 +vt 0.327273 0.345455 +vt 0.036364 0.236364 +vt 0.036364 0.363636 +vt 0.636364 0.709091 +vt 0.721947 0.612856 +vt 0.727272 0.600000 +vt 0.721947 0.587143 +vt 0.696234 0.587143 +vt 0.696234 0.612856 +vt 0.763636 0.618182 +s 1 +usemtl Texture +f 2/1/1 26/2/1 1/3/1 +f 16/4/2 21/5/2 13/6/2 +f 19/7/3 6/8/3 18/9/3 +f 8/10/4 16/11/4 14/12/4 +f 17/13/5 6/8/5 5/14/5 +f 8/15/6 19/7/6 20/16/6 +f 14/17/7 21/5/7 22/18/7 +f 23/19/1 16/4/1 15/20/1 +f 1/21/8 17/22/8 2/23/8 +f 3/24/8 19/25/8 4/26/8 +f 9/27/8 21/28/8 10/29/8 +f 11/30/8 23/31/8 12/32/8 +f 2/23/8 22/33/8 9/27/8 +f 4/26/8 18/34/8 1/21/8 +f 10/29/8 24/35/8 11/30/8 +f 12/32/8 20/36/8 3/24/8 +f 31/37/8 27/38/8 25/39/8 +f 3/40/9 31/41/9 12/42/9 +f 1/3/2 27/43/2 4/44/2 +f 12/45/5 32/46/5 11/47/5 +f 4/44/7 28/48/7 3/49/7 +f 11/47/3 29/50/3 10/51/3 +f 9/52/10 25/53/10 2/54/10 +f 10/51/6 30/55/6 9/56/6 +f 34/57/10 40/58/10 36/59/10 +f 35/60/9 37/61/9 33/62/9 +f 48/63/4 43/64/4 52/65/4 +f 52/65/9 46/66/9 47/67/9 +f 44/68/10 42/69/10 43/64/10 +f 43/64/2 50/70/2 51/71/2 +f 46/72/5 48/63/5 47/73/5 +f 52/74/7 50/70/7 49/75/7 +f 41/76/3 48/63/3 45/77/3 +f 54/78/10 55/79/1 53/80/10 +f 56/81/1 57/82/2 55/79/1 +f 58/83/2 59/84/7 57/82/2 +f 60/85/7 61/86/9 59/84/7 +f 62/87/9 63/88/5 61/86/9 +f 64/89/5 65/90/3 63/88/5 +f 66/91/8 62/92/8 58/93/8 +f 66/94/3 67/95/6 65/90/3 +f 68/96/6 53/97/10 67/95/6 +f 70/98/3 71/99/3 69/100/3 +f 76/101/2 73/102/2 75/103/2 +f 74/104/8 69/100/8 73/102/8 +f 75/105/9 69/100/9 71/106/9 +f 72/107/10 74/104/10 76/108/10 +f 88/109/11 78/110/12 85/111/12 +f 83/112/13 87/113/14 92/114/13 +f 84/115/15 90/116/16 81/117/16 +f 82/118/17 90/116/16 89/119/17 +f 92/114/13 84/115/15 83/112/13 +f 86/120/18 78/110/12 77/121/18 +f 80/122/14 88/109/11 87/113/14 +f 89/123/17 77/121/18 82/124/17 +f 108/125/2 104/126/2 102/127/2 +f 96/128/3 100/129/3 98/130/3 +f 114/131/2 111/132/2 113/133/2 +f 121/134/3 110/135/3 109/136/3 +f 122/137/4 113/138/4 110/135/4 +f 116/139/3 117/140/3 115/141/3 +f 123/142/8 115/143/8 119/144/8 +f 117/140/4 124/145/4 120/146/4 +f 124/145/2 119/144/2 120/146/2 +f 114/147/6 121/134/6 112/148/6 +f 116/149/1 124/145/1 118/150/1 +f 111/132/8 121/134/8 109/136/8 +f 128/151/4 131/152/4 127/153/4 +f 130/154/8 125/155/8 129/156/8 +f 131/157/9 125/155/9 127/158/9 +f 128/151/10 130/154/10 132/159/10 +f 134/160/3 135/161/3 133/162/3 +f 140/163/2 137/164/2 139/165/2 +f 138/162/8 133/166/8 137/160/8 +f 139/167/9 133/168/9 135/163/9 +f 136/165/10 138/162/10 140/161/10 +f 146/169/8 141/170/8 145/171/8 +f 147/172/9 141/173/9 143/174/9 +f 144/170/10 146/175/10 148/171/10 +f 144/173/4 147/175/4 143/176/4 +f 154/177/8 149/178/8 153/179/8 +f 155/180/9 149/178/9 151/181/9 +f 152/177/10 154/182/10 156/183/10 +f 152/184/4 155/185/4 151/186/4 +f 149/185/3 152/177/3 151/179/3 +f 158/187/3 159/188/3 157/189/3 +f 160/190/4 163/191/4 159/192/4 +f 164/193/2 161/194/2 163/191/2 +f 162/195/8 157/189/8 161/194/8 +f 163/196/9 157/197/9 159/198/9 +f 160/187/10 162/199/10 164/200/10 +f 166/201/10 167/202/10 165/203/10 +f 170/204/10 171/205/19 169/206/10 +f 172/207/19 173/208/8 171/205/19 +f 174/209/8 175/210/20 173/208/8 +f 176/211/20 177/212/9 175/210/20 +f 178/213/9 179/214/21 177/212/9 +f 180/215/21 181/216/4 179/214/21 +f 182/217/3 178/218/3 174/219/3 +f 182/220/4 183/221/22 181/216/4 +f 184/222/22 169/223/10 183/221/22 +f 2/1/1 25/224/1 26/2/1 +f 16/4/2 24/225/2 21/5/2 +f 19/7/3 7/226/3 6/8/3 +f 14/12/4 5/227/4 6/228/4 +f 6/228/4 7/229/4 8/10/4 +f 8/10/4 15/230/4 16/11/4 +f 16/11/4 13/231/4 14/12/4 +f 14/12/4 6/228/4 8/10/4 +f 17/13/5 18/9/5 6/8/5 +f 8/15/6 7/226/6 19/7/6 +f 14/17/7 13/6/7 21/5/7 +f 23/19/1 24/225/1 16/4/1 +f 1/21/8 18/34/8 17/22/8 +f 3/24/8 20/36/8 19/25/8 +f 9/27/8 22/33/8 21/28/8 +f 11/30/8 24/35/8 23/31/8 +f 2/23/8 17/22/8 22/33/8 +f 4/26/8 19/25/8 18/34/8 +f 10/29/8 21/28/8 24/35/8 +f 12/32/8 23/31/8 20/36/8 +f 25/39/8 30/232/8 29/233/8 +f 29/233/8 32/234/8 31/37/8 +f 31/37/8 28/235/8 27/38/8 +f 27/38/8 26/236/8 25/39/8 +f 25/39/8 29/233/8 31/37/8 +f 3/40/9 28/237/9 31/41/9 +f 1/3/2 26/2/2 27/43/2 +f 12/45/5 31/238/5 32/46/5 +f 4/44/7 27/43/7 28/48/7 +f 11/47/3 32/46/3 29/50/3 +f 9/52/10 30/239/10 25/53/10 +f 10/51/6 29/50/6 30/55/6 +f 34/57/10 38/240/10 40/58/10 +f 35/60/9 39/241/9 37/61/9 +f 52/65/4 47/67/4 48/63/4 +f 48/63/4 44/68/4 43/64/4 +f 43/64/4 51/71/4 52/65/4 +f 52/65/9 49/242/9 46/66/9 +f 44/68/10 41/243/10 42/69/10 +f 43/64/2 42/244/2 50/70/2 +f 46/72/5 45/77/5 48/63/5 +f 52/74/7 51/71/7 50/70/7 +f 41/76/3 44/68/3 48/63/3 +f 54/78/10 56/81/1 55/79/1 +f 56/81/1 58/83/2 57/82/2 +f 58/83/2 60/85/7 59/84/7 +f 60/85/7 62/87/9 61/86/9 +f 62/87/9 64/89/5 63/88/5 +f 64/89/5 66/94/3 65/90/3 +f 58/93/8 56/245/8 54/246/8 +f 54/246/8 68/247/8 66/91/8 +f 66/91/8 64/248/8 62/92/8 +f 62/92/8 60/249/8 58/93/8 +f 58/93/8 54/246/8 66/91/8 +f 66/94/3 68/96/6 67/95/6 +f 68/96/6 54/250/10 53/97/10 +f 70/98/3 72/251/3 71/99/3 +f 76/101/2 74/104/2 73/102/2 +f 74/104/8 70/98/8 69/100/8 +f 75/105/9 73/102/9 69/100/9 +f 72/107/10 70/98/10 74/104/10 +f 88/109/11 79/252/11 78/110/12 +f 83/112/13 80/122/14 87/113/14 +f 84/115/15 91/253/15 90/116/16 +f 82/118/17 81/117/16 90/116/16 +f 92/114/13 91/253/15 84/115/15 +f 86/120/18 85/111/12 78/110/12 +f 80/122/14 79/252/11 88/109/11 +f 89/123/17 86/120/18 77/121/18 +f 102/127/2 105/254/2 106/255/2 +f 106/255/2 107/256/2 108/125/2 +f 108/125/2 103/257/2 104/126/2 +f 104/126/2 101/258/2 102/127/2 +f 102/127/2 106/255/2 108/125/2 +f 98/130/3 93/259/3 94/260/3 +f 94/260/3 95/261/3 96/128/3 +f 96/128/3 99/262/3 100/129/3 +f 100/129/3 97/263/3 98/130/3 +f 98/130/3 94/260/3 96/128/3 +f 114/131/2 112/264/2 111/132/2 +f 121/134/3 122/137/3 110/135/3 +f 122/137/4 114/265/4 113/138/4 +f 116/139/3 118/266/3 117/140/3 +f 123/142/8 116/267/8 115/143/8 +f 117/140/4 118/266/4 124/145/4 +f 124/145/2 123/142/2 119/144/2 +f 114/147/6 122/137/6 121/134/6 +f 116/149/1 123/142/1 124/145/1 +f 111/132/8 112/264/8 121/134/8 +f 128/151/4 132/159/4 131/152/4 +f 130/154/8 126/268/8 125/155/8 +f 131/157/9 129/156/9 125/155/9 +f 128/151/10 126/268/10 130/154/10 +f 134/160/3 136/269/3 135/161/3 +f 140/163/2 138/168/2 137/164/2 +f 138/162/8 134/270/8 133/166/8 +f 139/167/9 137/271/9 133/168/9 +f 136/165/10 134/164/10 138/162/10 +f 146/169/8 142/272/8 141/170/8 +f 147/172/9 145/273/9 141/173/9 +f 144/170/10 142/176/10 146/175/10 +f 144/173/4 148/273/4 147/175/4 +f 154/177/8 150/183/8 149/178/8 +f 155/180/9 153/179/9 149/178/9 +f 152/177/10 150/274/10 154/182/10 +f 152/184/4 156/275/4 155/185/4 +f 149/185/3 150/275/3 152/177/3 +f 158/187/3 160/200/3 159/188/3 +f 160/190/4 164/193/4 163/191/4 +f 164/193/2 162/195/2 161/194/2 +f 162/195/8 158/187/8 157/189/8 +f 163/196/9 161/276/9 157/197/9 +f 160/187/10 158/277/10 162/199/10 +f 166/201/10 168/278/10 167/202/10 +f 170/204/10 172/207/19 171/205/19 +f 172/207/19 174/209/8 173/208/8 +f 174/209/8 176/211/20 175/210/20 +f 176/211/20 178/213/9 177/212/9 +f 178/213/9 180/215/21 179/214/21 +f 180/215/21 182/220/4 181/216/4 +f 174/219/3 172/279/3 170/280/3 +f 170/280/3 184/281/3 182/217/3 +f 182/217/3 180/282/3 178/218/3 +f 178/218/3 176/283/3 174/219/3 +f 174/219/3 170/280/3 182/217/3 +f 182/220/4 184/222/22 183/221/22 +f 184/222/22 170/284/10 169/223/10 diff --git a/src/main/resources/assets/hbm/models/blocks/puter.obj b/src/main/resources/assets/hbm/models/blocks/puter.obj index c8d5fc5a2..1b7c78f85 100644 --- a/src/main/resources/assets/hbm/models/blocks/puter.obj +++ b/src/main/resources/assets/hbm/models/blocks/puter.obj @@ -1,786 +1,288 @@ -# Blender v2.79 (sub 0) OBJ File: '' +# Blender 4.0.2 # www.blender.org -o Cube.002 -v -0.182506 -0.356313 -0.499021 -v -0.202175 -0.376577 -0.479353 -v -0.202175 -0.356313 -0.479353 -v 0.202175 -0.376577 -0.479353 -v 0.182506 -0.356313 -0.499021 -v 0.202175 -0.356313 -0.479353 -v 0.182506 -0.356313 0.025979 -v -0.182506 -0.376577 0.025979 -v 0.182506 -0.376577 0.025979 -v 0.168634 -0.353125 -0.007583 -v 0.168634 -0.353125 -0.465459 -v -0.168634 -0.353125 -0.007583 -v 0.202175 -0.356313 0.006310 -v -0.202175 -0.356313 0.006310 -v -0.202175 -0.376577 0.006310 -v -0.182475 -0.376637 -0.499021 -v 0.182509 -0.376637 -0.499021 -v 0.202175 -0.376577 0.006310 -v -0.168634 -0.353125 -0.465459 -v -0.182506 -0.356313 0.025979 -v 0.236819 -0.376637 0.112318 -v -0.236819 -0.391892 0.112318 -v 0.236819 -0.391892 0.112318 -v 0.262500 -0.500000 -0.434422 -v 0.262500 -0.500000 -0.000000 -v -0.262500 -0.500000 -0.434422 -v 0.243379 -0.500000 0.123162 -v 0.269772 -0.391892 0.010843 -v 0.243379 -0.391892 0.123162 -v 0.262500 -0.391892 -0.000000 -v -0.236819 -0.376637 0.112318 -v -0.262500 -0.391892 -0.000000 -v -0.262500 -0.500000 -0.000000 -v -0.269772 -0.391892 0.010843 -v 0.242168 -0.500000 -0.499021 -v -0.242168 -0.500000 -0.499021 -v -0.262500 -0.376637 -0.434422 -v -0.242168 -0.376637 -0.499021 -v 0.242168 -0.376637 -0.499021 -v 0.262500 -0.376637 -0.434422 -v 0.236819 -0.500000 0.112318 -v 0.269772 -0.500000 0.010843 -v -0.243379 -0.500000 0.123162 -v -0.236819 -0.500000 0.112318 -v 0.262500 -0.376637 -0.000000 -v -0.243379 -0.391892 0.123162 -v -0.269772 -0.500000 0.010843 -v -0.262500 -0.376637 -0.000000 -vt 0.737500 0.775000 -vt 0.750000 0.787500 -vt 0.737500 0.787500 -vt 0.975000 0.787500 -vt 0.962500 0.775000 -vt 0.975000 0.775000 -vt 0.962500 0.725000 -vt 0.750000 0.712500 -vt 0.962500 0.712500 -vt 0.962500 0.062500 -vt 0.962500 0.350000 -vt 0.750000 0.062500 -vt 0.975000 0.725000 -vt 0.937500 0.400000 -vt 0.925000 0.712500 -vt 0.925000 0.400000 -vt 0.737500 0.787500 -vt 0.962500 0.787500 -vt 0.962500 0.712500 -vt 0.975000 0.400000 -vt 0.975000 0.712500 -vt 0.950000 0.700000 -vt 0.950000 0.412500 -vt 0.750000 0.750000 -vt 0.962500 0.750000 -vt 0.950000 0.412500 -vt 0.962500 0.400000 -vt 0.750000 0.775000 -vt 0.962500 0.750000 -vt 0.750000 0.725000 -vt 0.737500 0.712500 -vt 0.650000 0.075000 -vt 0.362500 0.062500 -vt 0.650000 0.062500 -vt 0.575000 0.475000 -vt 0.700000 0.475000 -vt 0.575000 0.662500 -vt 0.350000 0.162500 -vt 0.412500 0.225000 -vt 0.350000 0.225000 -vt 0.425000 0.225000 -vt 0.425000 0.162500 -vt 0.687500 0.162500 -vt 0.350000 0.150000 -vt 0.425000 0.137500 -vt 0.350000 0.137500 -vt 0.425000 0.075000 -vt 0.412500 0.137500 -vt 0.725000 0.000000 -vt 0.937500 0.000000 -vt 0.975000 0.062500 -vt 0.725000 0.075000 -vt 0.687500 0.150000 -vt 0.725000 0.150000 -vt 0.725000 0.237500 -vt 0.687500 0.237500 -vt 0.750000 0.487500 -vt 0.712500 0.475000 -vt 0.762500 0.487500 -vt 0.537500 0.150000 -vt 0.350000 0.162500 -vt 0.350000 0.150000 -vt 0.762500 0.650000 -vt 0.750000 0.650000 -vt 0.350000 0.225000 -vt 0.425000 0.237500 -vt 0.350000 0.237500 -vt 0.587500 0.162500 -vt 0.537500 0.162500 -vt 0.350000 0.137500 -vt 0.412500 0.075000 -vt 0.350000 0.075000 -vt 0.412500 0.162500 -vt 0.687500 0.075000 -vt 0.587500 0.162500 -vt 0.637500 0.150000 -vt 0.637500 0.162500 -vt 0.712500 0.662500 -vt 0.700000 0.662500 -vt 0.350000 0.062500 -vt 0.662500 0.000000 -vt 0.662500 0.062500 -vt 0.912500 0.412500 -vt 0.862500 0.687500 -vt 0.862500 0.375000 -vt 0.750000 0.775000 -vt 0.750000 0.350000 -vt 0.975000 0.712500 -vt 0.937500 0.712500 -vt 0.737500 0.725000 -vt 0.750000 0.750000 -vt 0.737500 0.775000 -vt 0.950000 0.700000 -vt 0.362500 0.075000 -vt 0.537500 0.650000 -vt 0.537500 0.487500 -vt 0.425000 0.150000 -vt 0.975000 0.000000 -vt 0.662500 0.062500 -vt 0.662500 0.000000 -vt 0.725000 0.162500 -vt 0.587500 0.150000 -vt 0.587500 0.150000 -vt 0.350000 0.000000 -vt 0.862500 0.687500 -vt 0.875000 0.700000 -vt 0.825000 0.700000 -vt 0.812500 0.650000 -vt 0.812500 0.350000 -vt 0.862500 0.375000 -vt 0.925000 0.350000 -vt 0.925000 0.400000 -vt 0.812500 0.350000 -vt 0.812500 0.650000 -vt 0.762500 0.375000 -vt 0.800000 0.700000 -vt 0.762500 0.687500 -vt 0.750000 0.700000 -vt 0.925000 0.712500 -vt 0.925000 0.662500 -vt 0.912500 0.650000 -vn -0.7071 0.0000 -0.7071 -vn 0.7071 0.0000 -0.7071 -vn 0.0000 -0.0000 1.0000 -vn 0.0000 1.0000 0.0000 -vn 0.7071 -0.0000 0.7071 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 0.0000 -vn -0.0946 0.9955 0.0000 -vn 0.0000 0.9955 0.0946 -vn 0.0946 0.9955 0.0000 -vn 0.0000 0.9955 -0.0946 -vn -0.7071 -0.0000 0.7071 -vn 0.0000 -1.0000 -0.0000 -vn 0.9735 0.0000 0.2288 -vn -0.9748 0.0000 0.2229 -vn -0.8305 0.0000 -0.5570 -vn -0.9539 0.0000 -0.3002 -vn 0.9539 0.0000 -0.3002 -vn 0.9748 0.0000 0.2229 -vn -0.9735 0.0000 0.2288 -vn 0.8305 0.0000 -0.5570 -vn 0.0000 1.0000 0.0007 -vn -0.7065 -0.0011 -0.7077 -vn 0.7071 0.0001 -0.7071 -vn -0.0669 0.9955 0.0669 -vn -0.0669 0.9955 -0.0669 -vn 0.0669 0.9955 -0.0669 -vn 0.0669 0.9955 0.0669 -vn 0.0000 1.0000 -0.0031 -vn -0.0013 1.0000 -0.0004 -vn -0.0010 1.0000 0.0000 -vn 0.0010 1.0000 0.0002 -vn 0.0010 1.0000 0.0000 -vn 0.0013 1.0000 -0.0004 -vn -0.0010 1.0000 0.0002 -vn -0.0004 1.0000 0.0004 -vn 0.0004 1.0000 0.0004 -s off -f 1/1/1 2/2/1 3/3/1 -f 4/4/2 5/5/2 6/6/2 -f 7/7/3 8/8/3 9/9/3 -f 10/10/4 11/11/4 12/12/4 -f 9/9/5 13/13/5 7/7/5 -f 14/14/6 2/15/6 15/16/6 -f 16/17/7 5/5/7 17/18/7 -f 6/19/8 18/20/8 4/21/8 -f 19/22/9 14/14/9 12/23/9 -f 12/24/10 7/7/10 10/25/10 -f 6/19/11 10/26/11 13/27/11 -f 1/28/12 11/29/12 5/5/12 -f 20/30/13 15/31/13 8/8/13 -f 21/32/3 22/33/3 23/34/3 -f 24/35/14 25/36/14 26/37/14 -f 27/38/15 28/39/15 29/40/15 -f 30/41/8 25/42/8 24/43/8 -f 31/44/16 32/45/16 22/46/16 -f 33/47/17 34/48/17 32/45/17 -f 16/49/7 17/50/7 35/51/7 -f 36/52/18 37/53/18 38/54/18 -f 24/43/19 39/55/19 40/56/19 -f 41/57/14 42/58/14 27/59/14 -f 22/60/4 29/61/4 23/62/4 -f 41/57/14 43/63/14 44/64/14 -f 23/65/20 45/66/20 21/67/20 -f 22/60/4 34/68/4 46/69/4 -f 46/70/21 47/71/21 43/72/21 -f 30/41/22 42/73/22 25/42/22 -f 26/74/6 32/45/6 37/53/6 -f 23/75/4 28/76/4 30/77/4 -f 44/64/14 47/78/14 33/79/14 -f 46/80/3 27/81/3 29/82/3 -f 9/83/23 31/84/23 21/85/23 -f 1/1/24 16/86/24 2/2/24 -f 4/4/25 17/18/25 5/5/25 -f 7/7/3 20/30/3 8/8/3 -f 19/87/4 12/12/4 11/11/4 -f 9/9/5 18/88/5 13/13/5 -f 14/14/6 3/89/6 2/15/6 -f 16/17/7 1/1/7 5/5/7 -f 6/19/8 13/27/8 18/20/8 -f 12/24/26 14/90/26 20/30/26 -f 19/91/27 1/28/27 3/92/27 -f 11/29/28 6/6/28 5/5/28 -f 10/25/29 7/7/29 13/13/29 -f 19/22/9 3/89/9 14/14/9 -f 12/24/10 20/30/10 7/7/10 -f 6/19/11 11/93/11 10/26/11 -f 1/28/12 19/91/12 11/29/12 -f 20/30/13 14/90/13 15/31/13 -f 21/32/3 31/94/3 22/33/3 -f 25/36/14 41/57/14 44/64/14 -f 44/64/14 33/79/14 25/36/14 -f 33/79/14 26/37/14 25/36/14 -f 26/37/14 36/95/14 35/96/14 -f 35/96/14 24/35/14 26/37/14 -f 27/38/15 42/73/15 28/39/15 -f 24/43/8 40/56/8 30/41/8 -f 40/56/8 45/66/8 30/41/8 -f 31/44/16 48/97/16 32/45/16 -f 33/47/17 47/71/17 34/48/17 -f 17/50/7 39/98/7 35/51/7 -f 35/51/7 36/99/7 16/49/7 -f 36/99/7 38/100/7 16/49/7 -f 36/52/18 26/74/18 37/53/18 -f 24/43/19 35/101/19 39/55/19 -f 41/57/14 25/36/14 42/58/14 -f 22/60/4 46/69/4 29/61/4 -f 41/57/14 27/59/14 43/63/14 -f 23/65/20 30/41/20 45/66/20 -f 22/60/4 32/102/4 34/68/4 -f 46/70/21 34/48/21 47/71/21 -f 30/41/22 28/39/22 42/73/22 -f 33/47/6 32/45/6 26/74/6 -f 32/45/6 48/97/6 37/53/6 -f 23/75/4 29/103/4 28/76/4 -f 44/64/14 43/63/14 47/78/14 -f 46/80/3 43/104/3 27/81/3 -f 2/105/30 16/106/30 38/107/30 -f 38/107/31 37/108/31 2/105/31 -f 37/108/32 48/109/32 15/110/32 -f 21/85/33 45/111/33 18/112/33 -f 45/113/34 40/114/34 18/115/34 -f 40/114/35 39/116/35 4/117/35 -f 39/116/30 17/118/30 4/117/30 -f 37/108/32 15/110/32 2/105/32 -f 48/119/36 31/84/36 15/120/36 -f 40/114/34 4/117/34 18/115/34 -f 8/121/37 15/120/37 31/84/37 -f 21/85/38 18/112/38 9/83/38 -f 9/83/23 8/121/23 31/84/23 -o Cube.001 -v 0.065019 -0.337090 -0.339524 -v 0.077958 -0.358688 -0.229123 -v 0.077958 -0.358688 -0.352438 -v -0.065019 -0.247914 -0.242045 -v -0.065019 -0.337090 -0.339524 -v -0.065019 -0.337090 -0.242037 -v -0.065019 -0.247914 -0.339516 -v -0.074076 -0.234429 -0.233013 -v -0.074076 -0.234429 -0.348548 -v 0.048744 -0.337090 -0.225761 -v -0.061658 -0.358688 -0.212822 -v 0.061658 -0.358688 -0.212822 -v -0.048744 -0.337090 -0.355799 -v 0.061658 -0.358688 -0.368738 -v -0.061658 -0.358688 -0.368738 -v -0.048736 -0.247914 -0.355799 -v 0.048744 -0.337090 -0.355799 -v 0.065019 -0.247914 -0.339516 -v 0.065019 -0.337090 -0.242037 -v 0.048736 -0.247914 -0.225761 -v -0.048744 -0.337090 -0.225761 -v -0.077958 -0.358688 -0.352438 -v 0.057767 -0.234429 -0.364857 -v 0.048736 -0.247914 -0.355799 -v 0.065019 -0.247914 -0.242045 -v 0.074076 -0.234429 -0.348548 -v 0.074076 -0.234429 -0.233013 -v -0.057767 -0.234429 -0.216704 -v -0.048736 -0.247914 -0.225761 -v -0.057767 -0.234429 -0.364857 -v 0.057767 -0.234429 -0.216704 -v -0.077958 -0.358688 -0.229123 -v -0.228515 -0.193409 -0.478319 -v -0.262500 -0.200363 -0.133796 -v -0.262500 -0.159424 -0.478319 -v -0.228515 0.290571 -0.478319 -v -0.262500 0.256505 -0.133796 -v -0.228434 0.290571 -0.133796 -v 0.262500 -0.234429 0.025979 -v 0.228515 -0.193409 -0.478319 -v 0.262500 -0.200363 -0.133796 -v 0.228434 -0.234429 -0.133796 -v 0.262500 -0.159424 -0.478319 -v 0.262500 0.256505 -0.133796 -v -0.262500 -0.234429 0.025979 -v -0.305185 -0.311180 -0.084290 -v -0.228434 -0.234429 -0.133796 -v 0.305185 0.367322 -0.084290 -v 0.228434 0.290571 -0.133796 -v 0.305271 0.367322 0.092896 -v 0.262500 0.290571 0.092896 -v 0.305271 -0.311180 0.092896 -v 0.305185 -0.311180 -0.084290 -v 0.339251 -0.277114 -0.084290 -v -0.305271 0.367322 0.092896 -v -0.305185 0.367322 -0.084290 -v -0.339251 0.333256 -0.084290 -v 0.262500 -0.234429 0.092896 -v -0.339251 0.333342 0.092896 -v -0.339251 -0.277200 0.092896 -v -0.262500 -0.234429 0.092896 -v 0.339251 -0.277200 0.092896 -v 0.339251 0.333342 0.092896 -v -0.339251 -0.277114 -0.084290 -v -0.305271 -0.311180 0.092896 -v 0.339251 0.333256 -0.084290 -v 0.228515 0.290571 -0.478319 -v 0.262500 0.256586 -0.478319 -v -0.241798 0.248016 -0.499021 -v -0.219945 0.269868 -0.499021 -v 0.241798 -0.150854 -0.499021 -v 0.219945 -0.172706 -0.499021 -v 0.241798 0.248016 -0.499021 -v -0.241798 -0.150854 -0.499021 -v -0.262500 0.256586 -0.478319 -v -0.219945 -0.172706 -0.499021 -v -0.262500 0.290571 0.025979 -v -0.262500 0.290571 0.092896 -v 0.262500 0.290571 0.025979 -v 0.219945 0.269868 -0.499021 -vt 0.325000 0.725000 -vt 0.375000 0.737500 -vt 0.325000 0.737500 -vt 0.450000 0.675000 -vt 0.500000 0.725000 -vt 0.450000 0.725000 -vt 0.500000 0.675000 -vt 0.450000 0.662500 -vt 0.500000 0.662500 -vt 0.387500 0.725000 -vt 0.437500 0.737500 -vt 0.387500 0.737500 -vt 0.512500 0.725000 -vt 0.562500 0.737500 -vt 0.512500 0.737500 -vt 0.512500 0.675000 -vt 0.562500 0.725000 -vt 0.325000 0.675000 -vt 0.375000 0.725000 -vt 0.387500 0.675000 -vt 0.437500 0.725000 -vt 0.325000 0.787500 -vt 0.375000 0.800000 -vt 0.387500 0.750000 -vt 0.562500 0.662500 -vt 0.562500 0.675000 -vt 0.375000 0.675000 -vt 0.325000 0.662500 -vt 0.375000 0.662500 -vt 0.437500 0.662500 -vt 0.437500 0.675000 -vt 0.512500 0.737500 -vt 0.575000 0.737500 -vt 0.575000 0.725000 -vt 0.512500 0.662500 -vt 0.575000 0.675000 -vt 0.575000 0.662500 -vt 0.387500 0.662500 -vt 0.450000 0.737500 -vt 0.375000 0.737500 -vt 0.337500 0.737500 -vt 0.325000 0.750000 -vt 0.337500 0.800000 -vt 0.387500 0.787500 -vt 0.387500 0.262500 -vt 0.375000 0.375000 -vt 0.375000 0.262500 -vt 0.187500 0.262500 -vt 0.200000 0.375000 -vt 0.187500 0.375000 -vt 0.062500 0.737500 -vt 0.262500 0.537500 -vt 0.262500 0.737500 -vt 0.562500 0.262500 -vt 0.575000 0.375000 -vt 0.562500 0.375000 -vt 0.600000 0.262500 -vt 0.750000 0.375000 -vt 0.387500 0.412500 -vt 0.387500 0.375000 -vt 0.012500 0.412500 -vt 0.012500 0.375000 -vt 0.012500 0.800000 -vt -0.000000 0.787500 -vt 0.037500 0.762500 -vt 0.562500 0.475000 -vt 0.562500 0.412500 -vt 0.575000 0.412500 -vt 0.187500 0.475000 -vt 0.187500 0.412500 -vt 0.200000 0.412500 -vt 0.750000 0.475000 -vt 0.575000 0.475000 -vt 0.200000 0.475000 -vt 0.375000 0.412500 -vt 0.375000 0.475000 -vt -0.000000 0.487500 -vt 0.012500 0.475000 -vt 0.037500 0.512500 -vt 0.287500 0.762500 -vt 0.325000 0.787500 -vt 0.312500 0.800000 -vt 0.287500 0.512500 -vt 0.312500 0.475000 -vt 0.325000 0.487500 -vt 0.012500 0.475000 -vt -0.000000 0.412500 -vt 0.350000 0.262500 -vt 0.450000 0.312500 -vt 0.450000 0.337500 -vt 0.500000 0.337500 -vt 0.487500 0.350000 -vt 0.012500 0.262500 -vt -0.000000 0.375000 -vt 0.387500 0.475000 -vt -0.000000 0.262500 -vt 0.200000 0.250000 -vt 0.187500 0.250000 -vt 0.575000 0.250000 -vt 0.562500 0.250000 -vt -0.000000 0.250000 -vt 0.375000 0.250000 -vt 0.200000 0.262500 -vt 0.350000 0.250000 -vt 0.750000 0.250000 -vt 0.750000 0.262500 -vt 0.337500 0.475000 -vt 0.325000 0.487500 -vt 0.325000 0.650000 -vt 0.500000 0.312500 -vt 0.487500 0.300000 -vt 0.462500 0.300000 -vt 0.462500 0.350000 -vt 0.062500 0.762500 -vt 0.575000 0.262500 -vt 0.750000 0.412500 -vt 0.287500 0.737500 -vt 0.062500 0.512500 -vt 0.062500 0.537500 -vt 0.037500 0.537500 -vt 0.037500 0.737500 -vt -0.000000 0.475000 -vt 0.012500 0.250000 -vt 0.387500 0.250000 -vt 0.600000 0.250000 -vt 0.337500 0.662500 -vt 0.525000 0.662500 -vt 0.537500 0.650000 -vt 0.537500 0.487500 -vt 0.525000 0.475000 -vt 0.262500 0.762500 -vt 0.287500 0.537500 -vt 0.262500 0.512500 -vn 0.8578 0.5139 0.0000 -vn -1.0000 0.0000 0.0000 -vn -0.8301 -0.5576 0.0000 -vn 0.0000 0.5139 0.8578 -vn 0.0000 0.5139 -0.8578 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 +mtllib puter.mtl +o Cube.003 +v -0.312500 -0.125000 0.062500 +v -0.312500 0.312500 0.062500 +v 0.312500 -0.125000 0.062500 +v -0.375000 -0.187500 0.062500 +v -0.312500 -0.125000 0.000000 +v -0.312500 0.312500 0.000000 +v 0.312500 -0.125000 -0.000000 +v -0.250000 -0.062500 0.062500 +v -0.250000 0.250000 0.062500 +v 0.250000 -0.062500 0.062500 +v 0.250000 0.250000 0.062500 +v 0.312500 0.312500 -0.000000 +v 0.312500 0.312500 0.062500 +v 0.375000 0.375000 0.062500 +v 0.375000 0.375000 -0.312500 +v 0.375000 -0.187500 0.062500 +v -0.375000 0.375000 0.062500 +v -0.375000 0.375000 -0.312500 +v -0.375000 -0.187500 -0.312500 +v -0.312500 0.312500 -0.312500 +v -0.312500 -0.187500 -0.312500 +v 0.312500 0.312500 -0.312500 +v -0.312500 0.250000 -0.500000 +v -0.312500 -0.187500 -0.500000 +v 0.312500 0.250000 -0.500000 +v 0.312500 -0.187500 -0.500000 +v 0.312500 -0.187500 -0.312500 +v 0.375000 -0.187500 -0.312500 +v -0.375000 -0.500000 0.500000 +v -0.375000 -0.500000 0.187500 +v -0.375000 -0.437500 0.500000 +v 0.375000 -0.500000 0.500000 +v 0.375000 -0.500000 0.187500 +v 0.375000 -0.437500 0.500000 +v 0.375000 -0.375000 0.187500 +v -0.375000 -0.375000 0.187500 +v -0.375000 -0.500000 0.125000 +v -0.375000 -0.500000 -0.500000 +v -0.375000 -0.312500 0.125000 +v 0.375000 -0.500000 0.125000 +v 0.375000 -0.500000 -0.500000 +v 0.375000 -0.312500 0.125000 +v 0.375000 -0.312500 -0.500000 +v -0.375000 -0.312500 -0.500000 +v -0.000000 -0.250000 -0.312500 +v 0.108253 -0.250000 -0.250000 +v -0.000000 -0.187500 -0.312500 +v -0.108253 -0.250000 -0.250000 +v -0.108253 -0.250000 -0.125000 +v -0.108253 -0.187500 -0.250000 +v -0.108253 -0.187500 -0.125000 +v -0.000000 -0.187500 -0.062500 +v 0.108253 -0.187500 -0.125000 +v -0.000000 -0.250000 -0.062500 +v 0.108253 -0.250000 -0.125000 +v 0.108253 -0.187500 -0.250000 +v -0.312500 -0.312500 0.062500 +v -0.312500 -0.312500 -0.437500 +v -0.250000 -0.250000 0.000000 +v 0.312500 -0.312500 0.062500 +v 0.312500 -0.312500 -0.437500 +v 0.250000 -0.250000 -0.000000 +v 0.250000 -0.250000 -0.375000 +v -0.250000 -0.250000 -0.375000 +vn -0.0000 -0.0000 1.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.3002 0.3002 0.9054 +vn -0.4082 -0.4082 0.8165 +vn -0.3002 -0.3002 0.9054 +vn 0.4082 -0.4082 0.8165 +vn 0.3002 -0.3002 0.9054 +vn 0.4082 0.4082 0.8165 +vn 0.3002 0.3002 0.9054 +vn -0.4082 0.4082 0.8165 +vn -1.0000 -0.0000 -0.0000 vn -0.0000 -1.0000 -0.0000 -vn 0.0000 -0.5576 -0.8301 -vn 0.8301 -0.5576 0.0000 -vn 0.0000 -0.5576 0.8301 -vn -0.5130 -0.6882 0.5130 -vn -0.5397 0.6461 -0.5397 -vn 0.5397 0.6461 -0.5397 -vn 0.5397 0.6461 0.5397 -vn -0.7071 0.0001 0.7071 -vn -0.5130 -0.6882 -0.5130 -vn 0.5130 -0.6882 -0.5130 -vn 0.5131 -0.6882 0.5130 -vn -0.7071 0.0001 -0.7071 -vn 0.7071 0.0001 -0.7071 -vn 0.7071 0.0001 0.7071 -vn -0.5397 0.6461 0.5397 -vn -0.8578 0.5139 0.0000 -vn 0.5130 -0.6882 0.5130 -vn -0.7046 -0.7046 -0.0837 -vn -0.7071 0.7071 0.0002 -vn 0.7046 -0.7046 -0.0837 -vn 0.0000 -0.5420 -0.8404 -vn 0.0000 0.5420 -0.8404 -vn 0.5420 0.0000 -0.8404 -vn 0.0000 1.0000 0.0000 -vn -0.5420 0.0000 -0.8404 -vn 0.7071 0.7071 -0.0003 -vn -0.7071 0.7071 -0.0003 -vn 0.2934 -0.2934 -0.9098 -vn 0.2934 0.2934 -0.9098 -vn -0.2934 -0.2934 -0.9098 -vn -0.2934 0.2934 -0.9098 -vn -0.7071 -0.7071 -0.0003 -vn 0.7071 -0.7071 -0.0003 -vn 0.7071 0.7071 0.0002 -vn -0.5000 0.5000 -0.7071 -vn 0.5000 -0.5000 -0.7071 -vn 0.5000 0.5000 -0.7070 -vn -0.5000 -0.5000 -0.7070 -vn 0.0000 -0.7071 -0.7071 -vn -0.7071 0.0000 -0.7071 -vn 0.0000 0.7071 -0.7071 -vn 0.7071 0.0000 -0.7071 -vn 0.1414 -0.9798 -0.1414 -vn 0.0000 -0.9404 -0.3400 -vn -0.1414 -0.9798 -0.1414 -vn -0.1623 -0.9798 -0.1166 -vn -0.5000 0.5000 -0.7070 -vn 0.5000 -0.5000 -0.7070 -vn 0.5000 0.5000 -0.7071 -vn -0.5000 -0.5000 -0.7071 -vn 0.1623 -0.9798 -0.1166 -s off -f 49/122/39 50/123/39 51/124/39 -f 52/125/40 53/126/40 54/127/40 -f 55/128/41 56/129/41 57/130/41 -f 58/131/42 59/132/42 60/133/42 -f 61/134/43 62/135/43 63/136/43 -f 64/137/44 65/138/44 61/134/44 -f 66/139/45 67/140/45 49/122/45 -f 68/141/46 69/142/46 58/131/46 -f 70/143/47 62/144/47 50/145/47 -f 64/137/48 71/146/48 72/147/48 -f 73/148/49 74/149/49 75/150/49 -f 68/141/50 76/151/50 77/152/50 -f 56/129/51 77/152/51 76/151/51 -f 61/134/52 70/153/52 53/126/52 -f 51/154/53 65/138/53 49/155/53 -f 60/133/54 67/140/54 58/131/54 -f 77/152/55 54/127/55 69/142/55 -f 55/128/56 78/156/56 64/137/56 -f 66/157/57 71/146/57 74/158/57 -f 73/148/58 79/159/58 68/141/58 -f 61/134/59 55/128/59 64/137/59 -f 49/155/60 72/147/60 66/157/60 -f 58/131/61 73/148/61 68/141/61 -f 59/132/62 54/127/62 80/160/62 -f 54/127/63 70/153/63 80/160/63 -f 49/122/39 67/140/39 50/123/39 -f 52/125/40 55/128/40 53/126/40 -f 55/128/41 52/125/41 56/129/41 -f 58/131/42 69/142/42 59/132/42 -f 61/134/43 65/138/43 62/135/43 -f 64/137/44 72/147/44 65/138/44 -f 66/139/45 73/148/45 67/140/45 -f 68/141/46 77/152/46 69/142/46 -f 50/145/47 60/161/47 59/162/47 -f 59/162/47 80/163/47 70/143/47 -f 70/143/47 63/164/47 62/144/47 -f 62/144/47 51/165/47 50/145/47 -f 50/145/47 59/162/47 70/143/47 -f 64/137/48 78/156/48 71/146/48 -f 73/148/49 66/139/49 74/149/49 -f 68/141/50 79/159/50 76/151/50 -f 56/129/51 52/125/51 77/152/51 -f 61/134/52 63/136/52 70/153/52 -f 51/154/53 62/135/53 65/138/53 -f 60/133/54 50/123/54 67/140/54 -f 77/152/55 52/125/55 54/127/55 -f 55/128/56 57/130/56 78/156/56 -f 66/157/57 72/147/57 71/146/57 -f 73/148/64 75/150/64 79/159/64 -f 61/134/59 53/126/59 55/128/59 -f 49/155/60 65/138/60 72/147/60 -f 58/131/61 67/140/61 73/148/61 -f 59/132/62 69/142/62 54/127/62 -f 54/127/63 53/126/63 70/153/63 -f 81/166/65 82/167/65 83/168/65 -f 84/169/66 85/170/66 86/171/66 -f 125/172/46 87/173/46 127/174/46 -f 88/175/67 89/176/67 90/177/67 -f 91/178/45 92/179/45 89/176/45 -f 90/177/68 94/180/68 95/181/68 -f 86/171/69 96/182/69 97/183/69 -f 111/184/46 98/185/46 99/186/46 -f 100/187/47 94/180/47 101/188/47 -f 92/179/70 102/189/70 89/176/70 -f 103/190/71 96/182/71 104/191/71 -f 82/167/72 105/192/72 85/170/72 -f 102/189/45 111/193/45 110/194/45 -f 107/195/40 112/196/40 108/197/40 -f 103/198/46 107/199/46 126/200/46 -f 106/201/46 100/202/46 110/203/46 -f 109/204/46 108/205/46 113/206/46 -f 98/207/73 114/208/73 96/182/73 -f 104/191/74 107/195/74 103/190/74 -f 85/170/40 83/209/40 82/167/40 -f 95/181/47 57/210/47 56/211/47 -f 75/212/47 90/177/47 79/213/47 -f 101/188/75 89/176/75 102/189/75 -f 84/169/71 97/183/71 115/214/71 -f 97/183/76 114/208/76 92/215/76 -f 112/196/77 95/181/77 94/180/77 -f 86/171/78 105/192/78 104/191/78 -f 113/216/79 112/196/79 94/180/79 -f 101/188/80 110/194/80 100/187/80 -f 97/183/81 116/217/81 115/214/81 -f 117/218/82 84/169/82 118/219/82 -f 119/220/83 88/175/83 120/221/83 -f 121/222/84 115/214/84 116/217/84 -f 122/223/85 81/166/85 83/168/85 -f 81/166/86 120/221/86 88/175/86 -f 123/224/87 122/225/87 83/209/87 -f 115/214/88 118/219/88 84/169/88 -f 91/178/89 121/226/89 116/227/89 -f 124/228/44 122/229/44 117/230/44 -f 99/186/46 103/198/46 126/200/46 -f 74/231/47 90/177/47 75/212/47 -f 71/232/90 88/175/90 74/231/90 -f 81/166/91 71/232/91 78/233/91 -f 57/210/92 81/166/92 78/233/92 -f 76/234/47 95/181/47 56/211/47 -f 79/213/47 95/181/47 76/234/47 -f 127/174/47 126/235/47 125/172/47 -f 81/166/65 95/181/65 82/167/65 -f 84/169/66 123/224/66 85/170/66 -f 88/175/67 91/236/67 89/176/67 -f 91/178/45 116/227/45 92/179/45 -f 90/177/68 101/188/68 94/180/68 -f 86/171/69 104/191/69 96/182/69 -f 100/187/47 113/216/47 94/180/47 -f 92/179/70 114/237/70 102/189/70 -f 103/190/71 98/207/71 96/182/71 -f 82/167/72 112/196/72 105/192/72 -f 87/173/40 99/238/40 127/174/40 -f 126/200/46 108/205/46 109/204/46 -f 109/239/71 87/173/71 93/240/71 -f 100/202/46 109/204/46 113/206/46 -f 109/241/45 125/172/45 126/242/45 -f 106/201/46 111/184/46 99/186/46 -f 102/189/45 114/237/45 111/193/45 -f 107/195/40 105/192/40 112/196/40 -f 98/207/73 111/243/73 114/208/73 -f 104/191/74 105/192/74 107/195/74 -f 85/170/40 123/224/40 83/209/40 -f 95/181/93 81/166/93 57/210/93 -f 101/188/75 90/177/75 89/176/75 -f 84/169/71 86/171/71 97/183/71 -f 97/183/76 96/182/76 114/208/76 -f 112/196/77 82/167/77 95/181/77 -f 86/171/78 85/170/78 105/192/78 -f 113/216/79 108/197/79 112/196/79 -f 101/188/80 102/189/80 110/194/80 -f 97/183/81 92/215/81 116/217/81 -f 117/218/94 123/224/94 84/169/94 -f 119/220/95 91/236/95 88/175/95 -f 121/222/96 128/244/96 115/214/96 -f 122/223/97 124/245/97 81/166/97 -f 81/166/86 124/245/86 120/221/86 -f 123/224/87 117/218/87 122/225/87 -f 115/214/88 128/244/88 118/219/88 -f 91/178/89 119/246/89 121/226/89 -f 117/230/44 118/247/44 124/228/44 -f 118/247/44 128/248/44 124/228/44 -f 128/248/44 121/249/44 119/250/44 -f 119/250/44 120/251/44 128/248/44 -f 120/251/44 124/228/44 128/248/44 -f 74/231/98 88/175/98 90/177/98 -f 81/166/91 88/175/91 71/232/91 -f 79/213/47 90/177/47 95/181/47 -f 125/172/46 93/240/46 87/173/46 -f 99/186/46 98/185/46 103/198/46 -f 127/174/47 99/252/47 126/235/47 -f 87/173/40 106/253/40 99/238/40 -f 126/200/46 107/199/46 108/205/46 -f 109/239/71 106/254/71 87/173/71 -f 100/202/46 106/201/46 109/204/46 -f 109/241/45 93/240/45 125/172/45 -f 106/201/46 110/203/46 111/184/46 -o Cube.001_Cube.005 -v -0.369039 -0.459563 0.479973 -v -0.369039 -0.501855 0.209191 -v -0.369039 -0.501855 0.479973 -v -0.369039 -0.433180 0.209191 -v 0.369039 -0.501855 0.209191 -v 0.369039 -0.459563 0.479973 -v 0.369039 -0.501855 0.479973 -v 0.369039 -0.433180 0.209191 -vt 0.175000 0.175000 -vt -0.000000 0.150000 -vt 0.175000 0.150000 -vt 0.350000 0.225000 -vt 0.175000 0.200000 -vt 0.350000 0.200000 -vt 0.175000 0.225000 -vt -0.000000 0.200000 -vt -0.000000 0.225000 -vt 0.175000 0.225000 -vt 0.350000 0.250000 -vt 0.175000 0.250000 -vt 0.350000 0.150000 -vt 0.175000 0.200000 -vt 0.175000 0.150000 -vt -0.000000 0.150000 -vt 0.350000 0.000000 -vt 0.350000 0.150000 -vt -0.000000 0.200000 -vt 0.175000 0.225000 -vt 0.175000 0.175000 -vt 0.350000 0.225000 -vt 0.350000 0.200000 -vt -0.000000 0.000000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.9953 0.0970 -s off -f 129/255/99 130/256/99 131/257/99 -f 132/258/100 133/259/100 130/260/100 -f 133/261/101 134/262/101 135/263/101 -f 134/264/102 131/265/102 135/266/102 -f 133/267/103 131/268/103 130/269/103 -f 132/270/104 134/271/104 136/272/104 -f 129/255/99 132/273/99 130/256/99 -f 132/258/100 136/274/100 133/259/100 -f 133/261/101 136/275/101 134/262/101 -f 134/264/102 129/276/102 131/265/102 -f 133/267/103 135/277/103 131/268/103 -f 132/270/104 129/278/104 134/271/104 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 0.9487 -0.3162 +vn -0.0000 0.9806 0.1961 +vn 0.8660 -0.0000 -0.5000 +vn -0.8660 -0.0000 -0.5000 +vn -0.8660 -0.0000 0.5000 +vn 0.8660 -0.0000 0.5000 +vn -0.7071 0.7071 -0.0000 +vn -0.0000 0.7071 0.7071 +vn 0.7071 0.7071 -0.0000 +vn -0.0000 0.7071 -0.7071 +vt 0.106061 0.893939 +vt 0.090909 0.772727 +vt 0.106061 0.787879 +vt 0.378788 0.787879 +vt 0.393939 0.893939 +vt 0.378788 0.893939 +vt 0.545455 0.757576 +vt 0.363636 0.772727 +vt 0.363636 0.757576 +vt 0.272727 0.772727 +vt 0.257576 0.787879 +vt 0.121212 0.878788 +vt 0.121212 0.803030 +vt 0.242424 0.803030 +vt 0.257576 0.893939 +vt 0.242424 0.878788 +vt 0.530303 0.893939 +vt 0.515152 0.787879 +vt 0.530303 0.787879 +vt 0.545455 0.909091 +vt 0.363636 0.924242 +vt 0.363636 0.909091 +vt 0.272727 0.909091 +vt 0.090909 0.909091 +vt 0.090909 1.000000 +vt 0.272727 1.000000 +vt 0.000000 0.772727 +vt 0.545455 0.772727 +vt 0.803030 0.848485 +vt 0.757576 0.954545 +vt 0.757576 0.848485 +vt 0.606061 1.000000 +vt 0.757576 1.000000 +vt 0.606061 0.848485 +vt 0.560606 0.848485 +vt 0.606061 0.954545 +vt 0.560606 0.969697 +vt 0.757576 0.803030 +vt 0.606061 0.803030 +vt 0.378788 0.772727 +vt 0.272727 0.681818 +vt 0.090909 0.681818 +vt 0.621212 0.560606 +vt 0.439394 0.636364 +vt 0.439394 0.560606 +vt 0.439394 0.651515 +vt 0.363636 0.636364 +vt 0.621212 0.651515 +vt 0.621212 0.636364 +vt 0.696970 0.636364 +vt 0.439394 0.727273 +vt 0.621212 0.727273 +vt 0.878788 0.666667 +vt 0.878788 0.636364 +vt 0.348485 0.318182 +vt 0.166667 0.469697 +vt 0.166667 0.318182 +vt 0.166667 0.515152 +vt 0.015152 0.469697 +vt 0.348485 0.515152 +vt 0.348485 0.469697 +vt 0.500000 0.515152 +vt 0.500000 0.469697 +vt 0.166667 0.666667 +vt 0.348485 0.666667 +vt 0.681818 0.515152 +vt 0.681818 0.469697 +vt 0.439394 1.000000 +vt 0.409091 0.984848 +vt 0.439394 0.984848 +vt 0.469697 1.000000 +vt 0.469697 0.984848 +vt 0.318182 1.000000 +vt 0.287879 0.984848 +vt 0.318182 0.984848 +vt 0.348485 1.000000 +vt 0.348485 0.984848 +vt 0.378788 1.000000 +vt 0.378788 0.984848 +vt 0.409091 1.000000 +vt 0.015152 0.560606 +vt -0.000000 0.666667 +vt 0.000000 0.545455 +vt 0.136364 0.560606 +vt 0.151515 0.545455 +vt 0.136364 0.651515 +vt 0.151515 0.666667 +vt 0.015152 0.651515 +vt 0.393939 0.787879 +vt 0.515152 0.893939 +vt 0.545455 0.924242 +vt 0.000000 0.909091 +vt 0.530303 0.772727 +vt 0.803030 0.969697 +vt 0.363636 0.666667 +vt 0.696970 0.666667 +vt 0.015152 0.515152 +vt 0.287879 1.000000 +s 1 +usemtl Texture +f 2/1/1 4/2/1 1/3/1 +f 1/4/2 6/5/2 2/6/2 +f 3/7/3 5/8/3 1/9/3 +f 1/3/1 16/10/1 3/11/1 +f 9/12/4 5/3/5 8/13/6 +f 8/13/6 7/11/7 10/14/8 +f 10/14/8 9/12/4 8/13/6 +f 10/14/8 12/15/9 11/16/10 +f 11/16/10 6/1/11 9/12/4 +f 13/17/12 7/18/12 3/19/12 +f 2/20/13 12/21/13 13/22/13 +f 3/11/1 14/23/1 13/15/1 +f 13/15/1 17/24/1 2/1/1 +f 15/22/2 16/10/2 28/8/2 +f 18/25/3 14/23/3 15/26/3 +f 17/24/12 19/27/12 4/2/12 +f 20/17/14 19/28/14 18/20/14 +f 20/17/14 15/22/14 22/6/14 +f 21/29/12 23/30/12 24/31/12 +f 22/32/15 23/30/15 20/33/15 +f 23/30/14 26/34/14 24/31/14 +f 27/35/2 25/36/2 22/37/2 +f 21/38/13 26/34/13 27/39/13 +f 22/6/14 28/8/14 27/40/14 +f 28/41/13 4/2/13 19/42/13 +f 33/43/13 29/44/13 30/45/13 +f 31/46/12 30/47/12 29/44/12 +f 34/48/1 29/44/1 32/49/1 +f 33/50/2 34/48/2 32/49/2 +f 36/51/16 34/48/16 35/52/16 +f 36/53/14 33/50/14 30/54/14 +f 41/55/13 37/56/13 38/57/13 +f 39/58/12 38/59/12 37/56/12 +f 42/60/1 37/56/1 40/61/1 +f 43/62/2 40/61/2 41/63/2 +f 44/64/3 42/60/3 43/65/3 +f 44/66/14 41/63/14 38/67/14 +f 47/68/14 46/69/17 45/70/14 +f 50/71/18 45/70/14 48/72/18 +f 51/73/19 48/74/18 49/75/19 +f 52/76/1 49/75/19 54/77/1 +f 53/78/20 54/77/1 55/79/20 +f 56/80/17 55/79/20 46/69/17 +f 59/81/21 58/82/21 57/83/21 +f 62/84/22 57/83/22 60/85/22 +f 63/86/23 60/85/23 61/87/23 +f 64/88/3 62/84/3 63/86/3 +f 64/88/24 61/87/24 58/82/24 +f 2/1/1 17/24/1 4/2/1 +f 1/4/2 5/89/2 6/5/2 +f 3/7/3 7/28/3 5/8/3 +f 1/3/1 4/2/1 16/10/1 +f 9/12/4 6/1/11 5/3/5 +f 8/13/6 5/3/5 7/11/7 +f 10/14/8 11/16/10 9/12/4 +f 10/14/8 7/11/7 12/15/9 +f 11/16/10 12/15/9 6/1/11 +f 13/17/12 12/90/12 7/18/12 +f 2/20/13 6/91/13 12/21/13 +f 3/11/1 16/10/1 14/23/1 +f 13/15/1 14/23/1 17/24/1 +f 15/22/2 14/23/2 16/10/2 +f 18/25/3 17/24/3 14/23/3 +f 17/24/12 18/92/12 19/27/12 +f 20/17/14 21/93/14 19/28/14 +f 20/17/14 18/20/14 15/22/14 +f 21/29/12 20/94/12 23/30/12 +f 22/32/15 25/36/15 23/30/15 +f 23/30/14 25/36/14 26/34/14 +f 27/35/2 26/34/2 25/36/2 +f 21/38/13 24/31/13 26/34/13 +f 22/6/14 15/22/14 28/8/14 +f 28/41/13 16/10/13 4/2/13 +f 33/43/13 32/49/13 29/44/13 +f 31/46/12 36/95/12 30/47/12 +f 34/48/1 31/46/1 29/44/1 +f 33/50/2 35/96/2 34/48/2 +f 36/51/16 31/46/16 34/48/16 +f 36/53/14 35/96/14 33/50/14 +f 41/55/13 40/61/13 37/56/13 +f 39/58/12 44/97/12 38/59/12 +f 42/60/1 39/58/1 37/56/1 +f 43/62/2 42/60/2 40/61/2 +f 44/64/3 39/58/3 42/60/3 +f 44/66/14 43/62/14 41/63/14 +f 47/68/14 56/80/17 46/69/17 +f 50/71/18 47/68/14 45/70/14 +f 51/73/19 50/98/18 48/74/18 +f 52/76/1 51/73/19 49/75/19 +f 53/78/20 52/76/1 54/77/1 +f 56/80/17 53/78/20 55/79/20 +f 59/81/21 64/88/21 58/82/21 +f 62/84/22 59/81/22 57/83/22 +f 63/86/23 62/84/23 60/85/23 +f 64/88/3 59/81/3 62/84/3 +f 64/88/24 63/86/24 61/87/24 diff --git a/src/main/resources/assets/hbm/models/blocks/refueler.obj b/src/main/resources/assets/hbm/models/blocks/refueler.obj new file mode 100644 index 000000000..25218d14e --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/refueler.obj @@ -0,0 +1,1100 @@ +# Blender 4.0.1 +# www.blender.org +o Fluid +v -0.437500 0.120000 -0.095000 +v -0.437500 0.821132 -0.095000 +v -0.318750 0.120000 -0.063181 +v -0.318750 0.821132 -0.063181 +v -0.231819 0.120000 0.023750 +v -0.231819 0.821132 0.023750 +v -0.200000 0.120000 0.142500 +v -0.200000 0.821132 0.142500 +v -0.231819 0.120000 0.261250 +v -0.231819 0.821132 0.261250 +v -0.318750 0.120000 0.348181 +v -0.318750 0.821132 0.348181 +v -0.437500 0.120000 0.380000 +v -0.437500 0.821132 0.380000 +vn 0.2588 -0.0000 -0.9659 +vn 0.7071 -0.0000 -0.7071 +vn 0.9659 -0.0000 -0.2588 +vn 0.9659 -0.0000 0.2588 +vn 0.7071 -0.0000 0.7071 +vn 0.2588 -0.0000 0.9659 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vt 0.553982 0.742726 +vt 0.546523 0.663764 +vt 0.553982 0.663764 +vt 0.546523 0.742726 +vt 0.539064 0.663764 +vt 0.539064 0.742726 +vt 0.531606 0.663764 +vt 0.531606 0.742726 +vt 0.524147 0.663764 +vt 0.524147 0.742726 +vt 0.516688 0.663764 +vt 0.516688 0.742726 +vt 0.509229 0.663764 +vt 0.509229 0.742726 +s 0 +f 2/1/1 3/2/1 1/3/1 +f 4/4/2 5/5/2 3/2/2 +f 6/6/3 7/7/3 5/5/3 +f 8/8/4 9/9/4 7/7/4 +f 10/10/5 11/11/5 9/9/5 +f 12/12/6 13/13/6 11/11/6 +f 3/2/7 7/7/7 11/11/7 +f 2/1/8 12/12/8 8/8/8 +f 2/1/1 4/4/1 3/2/1 +f 4/4/2 6/6/2 5/5/2 +f 6/6/3 8/8/3 7/7/3 +f 8/8/4 10/10/4 9/9/4 +f 10/10/5 12/12/5 11/11/5 +f 12/12/6 14/14/6 13/13/6 +f 13/13/7 1/3/7 3/2/7 +f 3/2/7 5/5/7 7/7/7 +f 7/7/7 9/9/7 11/11/7 +f 11/11/7 13/13/7 3/2/7 +f 6/6/8 4/4/8 2/1/8 +f 2/1/8 14/14/8 12/12/8 +f 12/12/8 10/10/8 8/8/8 +f 8/8/8 6/6/8 2/1/8 +o Fueler +v -0.437500 0.295000 -0.129375 +v -0.437500 0.495000 -0.129375 +v -0.437500 0.295000 -0.410625 +v -0.437500 0.495000 -0.410625 +v -0.312500 0.295000 -0.129375 +v -0.312500 0.495000 -0.129375 +v -0.312500 0.295000 -0.410625 +v -0.312500 0.495000 -0.410625 +v -0.413151 0.393750 -0.250217 +v -0.312500 0.393750 -0.250217 +v -0.413151 0.358241 -0.235509 +v -0.312500 0.358241 -0.235509 +v -0.413151 0.343533 -0.200000 +v -0.312500 0.343533 -0.200000 +v -0.413151 0.358241 -0.164491 +v -0.312500 0.358241 -0.164491 +v -0.413151 0.393750 -0.149783 +v -0.312500 0.393750 -0.149783 +v -0.413151 0.429259 -0.164491 +v -0.312500 0.429259 -0.164491 +v -0.413151 0.443967 -0.200000 +v -0.312500 0.443967 -0.200000 +v -0.413151 0.429259 -0.235509 +v -0.312500 0.429259 -0.235509 +v -0.413151 0.393750 -0.390217 +v -0.312500 0.393750 -0.390217 +v -0.413151 0.358241 -0.375509 +v -0.312500 0.358241 -0.375509 +v -0.413151 0.343533 -0.340000 +v -0.312500 0.343533 -0.340000 +v -0.413151 0.358241 -0.304491 +v -0.312500 0.358241 -0.304491 +v -0.413151 0.393750 -0.289783 +v -0.312500 0.393750 -0.289783 +v -0.413151 0.429259 -0.304491 +v -0.312500 0.429259 -0.304491 +v -0.413151 0.443967 -0.340000 +v -0.312500 0.443967 -0.340000 +v -0.413151 0.429259 -0.375509 +v -0.312500 0.429259 -0.375509 +v -0.500000 0.000000 0.500000 +v -0.500000 1.000000 0.500000 +v -0.500000 -0.000000 -0.500000 +v -0.500000 1.000000 -0.500000 +v -0.375000 0.062500 0.437500 +v -0.375000 0.937500 0.437500 +v -0.375000 0.062500 -0.437500 +v -0.375000 0.937500 -0.437500 +v -0.437500 0.937500 -0.437500 +v -0.437500 0.062500 -0.437500 +v -0.437500 0.062500 0.437500 +v -0.437500 0.937500 0.437500 +v -0.437500 0.100000 -0.100000 +v -0.437500 0.900000 -0.100000 +v -0.312500 0.100000 -0.066506 +v -0.312500 0.900000 -0.066506 +v -0.220994 0.100000 0.025000 +v -0.220994 0.900000 0.025000 +v -0.187500 0.100000 0.150000 +v -0.187500 0.900000 0.150000 +v -0.220994 0.100000 0.275000 +v -0.220994 0.900000 0.275000 +v -0.312500 0.100000 0.366506 +v -0.312500 0.900000 0.366506 +v -0.437500 0.100000 0.400000 +v -0.437500 0.900000 0.400000 +v -0.437500 0.100000 -0.100000 +v -0.437500 0.900000 -0.100000 +v -0.312500 0.100000 -0.066506 +v -0.312500 0.900000 -0.066506 +v -0.220994 0.100000 0.025000 +v -0.220994 0.900000 0.025000 +v -0.187500 0.100000 0.150000 +v -0.187500 0.900000 0.150000 +v -0.220994 0.100000 0.275000 +v -0.220994 0.900000 0.275000 +v -0.312500 0.100000 0.366506 +v -0.312500 0.900000 0.366506 +v -0.437500 0.100000 0.400000 +v -0.437500 0.900000 0.400000 +v -0.437500 0.695646 -0.233146 +v -0.437500 0.709375 -0.200000 +v -0.437500 0.695646 -0.166854 +v -0.437500 0.662500 -0.153125 +v -0.437500 0.629354 -0.166854 +v -0.437500 0.615625 -0.200000 +v -0.437500 0.629354 -0.233146 +v -0.437500 0.662500 -0.246875 +v -0.433174 0.695362 -0.233146 +v -0.431382 0.708974 -0.200000 +v -0.433174 0.695362 -0.166854 +v -0.437500 0.662500 -0.153125 +v -0.441826 0.629638 -0.166854 +v -0.443618 0.616026 -0.200000 +v -0.441826 0.629638 -0.233146 +v -0.437500 0.662500 -0.246875 +v -0.389677 0.682832 -0.233146 +v -0.382812 0.694722 -0.200000 +v -0.389677 0.682832 -0.166854 +v -0.406250 0.654127 -0.153125 +v -0.422823 0.625422 -0.166854 +v -0.429688 0.613532 -0.200000 +v -0.422823 0.625422 -0.233146 +v -0.406250 0.654127 -0.246875 +v -0.354668 0.647823 -0.233146 +v -0.342778 0.654688 -0.200000 +v -0.354668 0.647823 -0.166854 +v -0.383373 0.631250 -0.153125 +v -0.412078 0.614677 -0.166854 +v -0.423968 0.607813 -0.200000 +v -0.412078 0.614677 -0.233146 +v -0.383373 0.631250 -0.246875 +v -0.342138 0.604326 -0.233146 +v -0.328526 0.606118 -0.200000 +v -0.342138 0.604326 -0.166854 +v -0.375000 0.600000 -0.153125 +v -0.407862 0.595674 -0.166854 +v -0.421474 0.593882 -0.200000 +v -0.407862 0.595674 -0.233146 +v -0.375000 0.600000 -0.246875 +v -0.341854 0.475000 -0.233146 +v -0.328125 0.475000 -0.200000 +v -0.341854 0.475000 -0.166854 +v -0.375000 0.475000 -0.153125 +v -0.408146 0.475000 -0.166854 +v -0.421875 0.475000 -0.200000 +v -0.408146 0.475000 -0.233146 +v -0.375000 0.475000 -0.246875 +v -0.437500 0.695646 -0.306854 +v -0.437500 0.709375 -0.340000 +v -0.437500 0.695646 -0.373146 +v -0.437500 0.662500 -0.386875 +v -0.437500 0.629354 -0.373146 +v -0.437500 0.615625 -0.340000 +v -0.437500 0.629354 -0.306854 +v -0.437500 0.662500 -0.293125 +v -0.433174 0.695362 -0.306854 +v -0.431382 0.708974 -0.340000 +v -0.433174 0.695362 -0.373146 +v -0.437500 0.662500 -0.386875 +v -0.441826 0.629638 -0.373146 +v -0.443618 0.616026 -0.340000 +v -0.441826 0.629638 -0.306854 +v -0.437500 0.662500 -0.293125 +v -0.389677 0.682832 -0.306854 +v -0.382812 0.694722 -0.340000 +v -0.389677 0.682832 -0.373146 +v -0.406250 0.654127 -0.386875 +v -0.422823 0.625422 -0.373146 +v -0.429688 0.613532 -0.340000 +v -0.422823 0.625422 -0.306854 +v -0.406250 0.654127 -0.293125 +v -0.354668 0.647823 -0.306854 +v -0.342778 0.654688 -0.340000 +v -0.354668 0.647823 -0.373146 +v -0.383373 0.631250 -0.386875 +v -0.412078 0.614677 -0.373146 +v -0.423968 0.607813 -0.340000 +v -0.412078 0.614677 -0.306854 +v -0.383373 0.631250 -0.293125 +v -0.342138 0.604326 -0.306854 +v -0.328526 0.606118 -0.340000 +v -0.342138 0.604326 -0.373146 +v -0.375000 0.600000 -0.386875 +v -0.407862 0.595674 -0.373146 +v -0.421474 0.593882 -0.340000 +v -0.407862 0.595674 -0.306854 +v -0.375000 0.600000 -0.293125 +v -0.341854 0.475000 -0.306854 +v -0.328125 0.475000 -0.340000 +v -0.341854 0.475000 -0.373146 +v -0.375000 0.475000 -0.386875 +v -0.408146 0.475000 -0.373146 +v -0.421875 0.475000 -0.340000 +v -0.408146 0.475000 -0.306854 +v -0.375000 0.475000 -0.293125 +v -0.437500 0.092354 -0.233146 +v -0.437500 0.078625 -0.200000 +v -0.437500 0.092354 -0.166854 +v -0.437500 0.125500 -0.153125 +v -0.437500 0.158646 -0.166854 +v -0.437500 0.172375 -0.200000 +v -0.437500 0.158646 -0.233146 +v -0.437500 0.125500 -0.246875 +v -0.433174 0.092638 -0.233146 +v -0.431382 0.079026 -0.200000 +v -0.433174 0.092638 -0.166854 +v -0.437500 0.125500 -0.153125 +v -0.441826 0.158362 -0.166854 +v -0.443618 0.171974 -0.200000 +v -0.441826 0.158362 -0.233146 +v -0.437500 0.125500 -0.246875 +v -0.389677 0.105168 -0.233146 +v -0.382812 0.093278 -0.200000 +v -0.389677 0.105168 -0.166854 +v -0.406250 0.133873 -0.153125 +v -0.422823 0.162578 -0.166854 +v -0.429688 0.174468 -0.200000 +v -0.422823 0.162578 -0.233146 +v -0.406250 0.133873 -0.246875 +v -0.354668 0.140177 -0.233146 +v -0.342778 0.133313 -0.200000 +v -0.354668 0.140177 -0.166854 +v -0.383373 0.156750 -0.153125 +v -0.412078 0.173323 -0.166854 +v -0.423968 0.180188 -0.200000 +v -0.412078 0.173323 -0.233146 +v -0.383373 0.156750 -0.246875 +v -0.342138 0.183674 -0.233146 +v -0.328526 0.181882 -0.200000 +v -0.342138 0.183674 -0.166854 +v -0.375000 0.188000 -0.153125 +v -0.407862 0.192326 -0.166854 +v -0.421474 0.194118 -0.200000 +v -0.407862 0.192326 -0.233146 +v -0.375000 0.188000 -0.246875 +v -0.341854 0.313000 -0.233146 +v -0.328125 0.313000 -0.200000 +v -0.341854 0.313000 -0.166854 +v -0.375000 0.313000 -0.153125 +v -0.408146 0.313000 -0.166854 +v -0.421875 0.313000 -0.200000 +v -0.408146 0.313000 -0.233146 +v -0.375000 0.313000 -0.246875 +v -0.437500 0.092354 -0.306854 +v -0.437500 0.078625 -0.340000 +v -0.437500 0.092354 -0.373146 +v -0.437500 0.125500 -0.386875 +v -0.437500 0.158646 -0.373146 +v -0.437500 0.172375 -0.340000 +v -0.437500 0.158646 -0.306854 +v -0.437500 0.125500 -0.293125 +v -0.433174 0.092638 -0.306854 +v -0.431382 0.079026 -0.340000 +v -0.433174 0.092638 -0.373146 +v -0.437500 0.125500 -0.386875 +v -0.441826 0.158362 -0.373146 +v -0.443618 0.171974 -0.340000 +v -0.441826 0.158362 -0.306854 +v -0.437500 0.125500 -0.293125 +v -0.389677 0.105168 -0.306854 +v -0.382812 0.093278 -0.340000 +v -0.389677 0.105168 -0.373146 +v -0.406250 0.133873 -0.386875 +v -0.422823 0.162578 -0.373146 +v -0.429688 0.174468 -0.340000 +v -0.422823 0.162578 -0.306854 +v -0.406250 0.133873 -0.293125 +v -0.354668 0.140177 -0.306854 +v -0.342778 0.133313 -0.340000 +v -0.354668 0.140177 -0.373146 +v -0.383373 0.156750 -0.386875 +v -0.412078 0.173323 -0.373146 +v -0.423968 0.180188 -0.340000 +v -0.412078 0.173323 -0.306854 +v -0.383373 0.156750 -0.293125 +v -0.342138 0.183674 -0.306854 +v -0.328526 0.181882 -0.340000 +v -0.342138 0.183674 -0.373146 +v -0.375000 0.188000 -0.386875 +v -0.407862 0.192326 -0.373146 +v -0.421474 0.194118 -0.340000 +v -0.407862 0.192326 -0.306854 +v -0.375000 0.188000 -0.293125 +v -0.341854 0.313000 -0.306854 +v -0.328125 0.313000 -0.340000 +v -0.341854 0.313000 -0.373146 +v -0.375000 0.313000 -0.386875 +v -0.408146 0.313000 -0.373146 +v -0.421875 0.313000 -0.340000 +v -0.408146 0.313000 -0.306854 +v -0.375000 0.313000 -0.293125 +v -0.427500 0.925000 -0.145000 +v -0.427500 0.675000 -0.145000 +v -0.427500 0.925000 -0.395000 +v -0.427500 0.675000 -0.395000 +v -0.500000 0.312500 0.187500 +v -0.500000 0.687500 0.187500 +v -0.500000 0.312500 -0.187500 +v -0.500000 0.687500 -0.187500 +v -0.437500 0.312500 0.187500 +v -0.437500 0.687500 0.187500 +v -0.437500 0.312500 -0.187500 +v -0.437500 0.687500 -0.187500 +v -0.447500 0.750000 -0.250000 +v -0.447500 0.250000 -0.250000 +v -0.447500 0.750000 0.250000 +v -0.447500 0.250000 0.250000 +v -0.500000 0.250000 0.250000 +v -0.500000 0.750000 0.250000 +v -0.500000 0.250000 -0.250000 +v -0.500000 0.750000 -0.250000 +v -0.437500 0.250000 0.250000 +v -0.437500 0.750000 0.250000 +v -0.437500 0.250000 -0.250000 +v -0.437500 0.750000 -0.250000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 0.3827 0.9239 +vn -0.0000 0.9239 0.3827 +vn -0.0000 0.9239 -0.3827 +vn -0.0000 0.3827 -0.9239 +vn -0.0000 -0.3827 -0.9239 +vn -0.0000 -0.9239 -0.3827 +vn -0.0000 -0.9239 0.3827 +vn -0.0000 -0.3827 0.9239 +vn 1.0000 -0.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn 0.4472 -0.0000 -0.8944 +vn 0.4472 -0.0000 0.8944 +vn 0.4472 -0.8944 -0.0000 +vn 0.4472 0.8944 -0.0000 +vn 0.2588 -0.0000 -0.9659 +vn 0.7071 -0.0000 -0.7071 +vn 0.9659 -0.0000 -0.2588 +vn 0.9659 -0.0000 0.2588 +vn 0.7071 -0.0000 0.7071 +vn 0.2588 -0.0000 0.9659 +vn -0.0001 1.0000 -0.0000 +vn -0.0000 1.0000 -0.0001 +vn 0.0604 0.9222 -0.3820 +vn 0.0605 0.9222 0.3820 +vn 0.0251 0.3825 0.9236 +vn 0.0251 0.3826 -0.9236 +vn 0.0251 0.3826 0.9236 +vn 0.0998 0.3724 -0.9227 +vn 0.2562 0.8892 -0.3790 +vn 0.2562 0.8892 0.3790 +vn 0.0998 0.3724 0.9227 +vn -0.0832 -0.3748 0.9234 +vn -0.1628 -0.9096 0.3823 +vn -0.1628 -0.9096 -0.3823 +vn -0.0832 -0.3748 -0.9234 +vn 0.2787 0.2787 -0.9191 +vn 0.6565 0.6565 -0.3715 +vn 0.6565 0.6565 0.3715 +vn 0.2787 0.2787 0.9191 +vn -0.2787 -0.2787 0.9191 +vn -0.6565 -0.6565 0.3715 +vn -0.6565 -0.6565 -0.3715 +vn -0.2787 -0.2787 -0.9191 +vn 0.3772 0.1086 -0.9198 +vn 0.8901 0.2612 -0.3734 +vn 0.8901 0.2612 0.3734 +vn 0.3772 0.1086 0.9197 +vn -0.3807 -0.1020 0.9191 +vn -0.9080 -0.2014 0.3674 +vn -0.9080 -0.2014 -0.3674 +vn -0.3807 -0.1020 -0.9191 +vn 0.3854 0.0008 -0.9228 +vn 0.9250 0.0028 -0.3800 +vn 0.9250 0.0028 0.3800 +vn 0.3854 0.0008 0.9228 +vn -0.3855 -0.0000 0.9227 +vn -0.9251 0.0022 0.3798 +vn -0.9251 0.0022 -0.3798 +vn -0.3855 -0.0000 -0.9227 +vn 0.0604 0.9222 0.3820 +vn 0.0605 0.9222 -0.3820 +vn 0.0001 1.0000 -0.0000 +vn -0.0001 1.0000 0.0001 +vn 0.1086 0.3772 0.9197 +vn 0.2612 0.8901 0.3734 +vn -0.2014 -0.9080 0.3674 +vn -0.1020 -0.3807 0.9191 +vn -0.6565 -0.6566 -0.3714 +vn 0.8892 0.2562 -0.3790 +vn 0.3724 0.0998 -0.9227 +vn -0.3748 -0.0832 -0.9234 +vn -0.9096 -0.1628 -0.3823 +vn 0.9239 0.0020 -0.3827 +vn 0.3827 -0.0000 -0.9239 +vn -0.3827 0.0009 -0.9239 +vn -0.9239 0.0031 -0.3827 +vn 0.0251 -0.3826 -0.9236 +vn 0.0604 -0.9222 -0.3820 +vn 0.0605 -0.9222 0.3820 +vn -0.0000 -1.0000 0.0001 +vn 0.0251 -0.3825 -0.9236 +vn 0.1086 -0.3772 -0.9197 +vn 0.2612 -0.8901 -0.3734 +vn 0.2562 -0.8892 0.3790 +vn 0.0998 -0.3724 0.9227 +vn -0.0832 0.3748 0.9234 +vn -0.1628 0.9096 0.3823 +vn -0.2014 0.9080 -0.3674 +vn -0.1020 0.3807 -0.9191 +vn 0.2787 -0.2787 -0.9191 +vn 0.6565 -0.6565 -0.3715 +vn 0.6565 -0.6565 0.3715 +vn 0.2787 -0.2787 0.9191 +vn -0.2787 0.2787 0.9191 +vn -0.6565 0.6565 0.3715 +vn -0.6565 0.6565 -0.3715 +vn -0.2787 0.2787 -0.9191 +vn 0.3772 -0.1086 -0.9198 +vn 0.8901 -0.2612 -0.3734 +vn 0.8892 -0.2562 0.3790 +vn 0.3724 -0.0998 0.9227 +vn -0.3748 0.0832 0.9234 +vn -0.9096 0.1628 0.3823 +vn -0.9080 0.2014 -0.3674 +vn -0.3807 0.1020 -0.9191 +vn 0.3854 -0.0008 -0.9228 +vn 0.9250 -0.0028 -0.3800 +vn 0.9239 -0.0020 0.3827 +vn 0.3827 -0.0000 0.9239 +vn -0.3827 -0.0009 0.9239 +vn -0.9239 -0.0031 0.3827 +vn -0.9251 -0.0022 -0.3798 +vn 0.0604 -0.9222 0.3820 +vn -0.0000 1.0000 0.0001 +vn 0.0003 1.0000 -0.0000 +vn 0.0605 -0.9222 -0.3820 +vn 0.2562 -0.8892 -0.3790 +vn 0.0998 -0.3724 -0.9227 +vn -0.0832 0.3748 -0.9234 +vn -0.1628 0.9096 -0.3823 +vn 0.3772 -0.1086 0.9197 +vn 0.8901 -0.2612 0.3734 +vn -0.9080 0.2014 0.3674 +vn -0.3807 0.1020 0.9191 +vn 0.3854 -0.0008 0.9228 +vn 0.9250 -0.0028 0.3800 +vn -0.9251 -0.0022 0.3798 +vn 0.0602 0.9222 -0.3820 +vn -0.9945 0.1050 0.0001 +vn -0.9945 0.1050 -0.0000 +vn 0.0001 1.0000 -0.0001 +vn 0.1086 0.3772 -0.9197 +vn 0.2612 0.8901 -0.3734 +vn -0.2014 -0.9080 -0.3674 +vn -0.1020 -0.3807 -0.9191 +vn -0.6565 -0.6566 0.3714 +vn 0.8892 0.2562 0.3790 +vn 0.3724 0.0998 0.9227 +vn -0.3748 -0.0832 0.9234 +vn -0.9096 -0.1628 0.3823 +vn 0.9239 0.0020 0.3827 +vn -0.3827 0.0009 0.9239 +vn -0.9239 0.0031 0.3827 +vn 0.0602 0.9222 0.3820 +vn 0.0251 0.3825 -0.9236 +vn 0.0003 1.0000 -0.0001 +vn 0.1086 0.3772 -0.9198 +vn 0.3772 0.1086 -0.9197 +vn 0.0602 -0.9222 -0.3820 +vn 0.0251 -0.3825 0.9236 +vn -0.9923 -0.1240 -0.0000 +vn -0.9923 -0.1240 0.0001 +vn 0.0251 -0.3826 0.9236 +vn 0.2612 -0.8901 0.3734 +vn 0.1086 -0.3772 0.9197 +vn -0.1020 0.3807 0.9191 +vn -0.2014 0.9080 0.3674 +vn 0.3724 -0.0998 -0.9227 +vn 0.8892 -0.2562 -0.3790 +vn -0.9096 0.1628 -0.3823 +vn -0.3748 0.0832 -0.9234 +vn 0.9239 -0.0020 -0.3827 +vn -0.9239 -0.0031 -0.3827 +vn -0.3827 -0.0009 -0.9239 +vn 0.0602 -0.9222 0.3820 +vn 0.1087 -0.3772 0.9197 +vn 0.1086 -0.3772 -0.9198 +vt 0.750000 0.531250 +vt 0.562500 0.593750 +vt 0.562500 0.531250 +vt 0.750000 0.593750 +vt 0.562500 0.656250 +vt 0.656250 0.531250 +vt 0.656250 0.656250 +vt 0.512204 0.569751 +vt 0.557287 0.558480 +vt 0.512204 0.558480 +vt 0.512204 0.581021 +vt 0.557287 0.569751 +vt 0.557287 0.581021 +vt 0.512204 0.592292 +vt 0.512204 0.603563 +vt 0.557287 0.592292 +vt 0.512204 0.614833 +vt 0.557287 0.603563 +vt 0.557287 0.614833 +vt 0.512204 0.626104 +vt 0.518170 0.606754 +vt 0.518170 0.575012 +vt 0.549912 0.575012 +vt 0.674236 0.594454 +vt 0.632365 0.572293 +vt 0.683416 0.572293 +vt 0.632365 0.616616 +vt 0.683416 0.616616 +vt 0.610203 0.625796 +vt 0.750000 0.656250 +vt 0.578862 0.594454 +vt 0.588042 0.616616 +vt 0.736919 0.594454 +vt 0.727739 0.572293 +vt 0.610203 0.563113 +vt 0.500000 1.000000 +vt 0.000000 0.500000 +vt 0.500000 0.500000 +vt 0.500000 -0.000000 +vt 0.031250 0.062500 +vt 0.000000 0.000000 +vt 0.468750 0.031250 +vt 0.468750 0.062500 +vt 0.437500 0.500000 +vt -0.000000 0.062500 +vt 0.437500 0.062500 +vt 0.937500 1.000000 +vt 0.875000 0.562500 +vt 0.937500 0.562500 +vt 0.875000 1.000000 +vt 0.812500 0.562500 +vt 0.812500 1.000000 +vt 0.750000 0.562500 +vt 0.579890 0.704562 +vt 0.659043 0.659099 +vt 0.738196 0.704562 +vt 0.749970 0.750025 +vt 0.704507 0.670872 +vt 0.613580 0.670872 +vt 0.568117 0.750025 +vt 0.812500 0.500000 +vt 0.750000 0.500000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 0.937500 0.500000 +vt 1.000000 0.562500 +vt 0.343750 0.656250 +vt 0.156250 0.687500 +vt 0.156250 0.656250 +vt 0.343750 0.812500 +vt 0.156250 0.843750 +vt 0.156250 0.812500 +vt 0.187500 0.656250 +vt 0.312500 0.843750 +vt 0.312500 0.656250 +vt 0.500000 0.750000 +vt 0.750000 1.000000 +vt 0.500000 0.781250 +vt 0.750000 0.750000 +vt 0.750000 0.968750 +vt 0.500000 0.968750 +vt 0.531250 0.750000 +vt 0.718750 1.000000 +vt 0.718750 0.750000 +vt 0.557287 0.626104 +vt 0.556486 0.590883 +vt 0.549912 0.606754 +vt 0.534041 0.613328 +vt 0.511596 0.590883 +vt 0.534041 0.568438 +vt 0.641545 0.594454 +vt 0.705577 0.625796 +vt 0.588042 0.572293 +vt 0.727739 0.616616 +vt 0.705577 0.563113 +vt 0.000000 1.000000 +vt 0.031250 0.031250 +vt 1.000000 0.000000 +vt 0.343750 0.687500 +vt 0.343750 0.843750 +vt 0.187500 0.843750 +vt 0.750000 0.781250 +vt 0.531250 1.000000 +s 0 +f 18/15/9 21/16/9 17/17/9 +f 20/18/10 15/19/10 19/16/10 +f 21/20/11 15/19/11 17/17/11 +f 18/15/12 20/21/12 22/20/12 +f 25/22/13 24/23/13 23/24/13 +f 27/25/14 26/26/14 25/22/14 +f 29/25/15 28/27/15 27/25/15 +f 31/28/16 30/27/16 29/25/16 +f 33/29/17 32/30/17 31/28/17 +f 35/31/18 34/32/18 33/29/18 +f 37/31/19 36/33/19 35/31/19 +f 23/34/20 38/33/20 37/31/20 +f 33/35/21 29/36/21 25/37/21 +f 41/22/13 40/23/13 39/24/13 +f 43/25/14 42/26/14 41/22/14 +f 45/25/15 44/27/15 43/25/15 +f 47/28/16 46/27/16 45/25/16 +f 49/29/17 48/30/17 47/28/17 +f 51/31/18 50/32/18 49/29/18 +f 53/31/19 52/33/19 51/31/19 +f 39/34/20 54/33/20 53/31/20 +f 49/35/21 45/36/21 41/37/21 +f 24/38/21 50/39/21 38/40/21 +f 46/41/21 24/38/21 26/42/21 +f 44/43/21 26/42/21 19/44/21 +f 40/45/21 42/46/21 21/19/21 +f 32/47/21 34/48/21 20/15/21 +f 20/15/21 38/40/21 52/49/21 +f 56/50/22 57/51/22 55/52/22 +f 58/53/23 61/54/23 57/55/23 +f 60/54/11 63/56/11 62/57/11 +f 60/54/24 55/53/24 59/57/24 +f 61/57/25 55/55/25 57/53/25 +f 58/55/26 60/57/26 62/54/26 +f 63/58/21 65/59/21 64/60/21 +f 62/54/10 64/56/10 61/57/10 +f 59/54/9 66/56/9 60/57/9 +f 61/54/12 65/56/12 59/57/12 +f 68/61/27 69/62/27 67/63/27 +f 70/64/28 71/65/28 69/62/28 +f 72/66/29 73/67/29 71/65/29 +f 74/61/30 75/62/30 73/63/30 +f 76/64/31 77/65/31 75/62/31 +f 78/66/32 79/67/32 77/65/32 +f 69/68/11 73/69/11 77/70/11 +f 68/71/12 78/68/12 74/69/12 +f 93/71/12 89/72/12 85/73/12 +f 86/72/11 90/73/11 94/74/11 +f 95/67/33 110/75/9 102/76/34 +f 104/65/35 95/76/35 96/67/35 +f 105/65/36 96/76/36 97/67/36 +f 98/67/37 105/75/37 97/76/37 +f 107/65/38 98/76/38 99/67/38 +f 108/65/35 99/76/35 100/67/35 +f 102/67/39 109/75/39 101/76/39 +f 103/65/40 118/77/40 110/75/40 +f 104/65/41 111/77/41 103/75/41 +f 113/62/42 104/75/42 105/65/42 +f 114/62/43 105/75/43 106/65/43 +f 115/62/44 106/75/44 107/65/44 +f 116/62/45 107/75/45 108/65/45 +f 109/65/46 116/77/46 108/75/46 +f 110/65/47 117/77/47 109/75/47 +f 111/63/48 126/78/48 118/79/48 +f 120/80/49 111/79/49 112/63/49 +f 121/80/50 112/79/50 113/63/50 +f 122/80/51 113/79/51 114/63/51 +f 123/80/52 114/79/52 115/63/52 +f 116/63/53 123/78/53 115/79/53 +f 125/80/54 116/79/54 117/63/54 +f 126/80/55 117/79/55 118/63/55 +f 127/63/56 126/77/56 119/62/56 +f 128/63/57 119/77/57 120/62/57 +f 121/62/58 128/79/58 120/77/58 +f 122/62/59 129/79/59 121/77/59 +f 123/62/60 130/79/60 122/77/60 +f 124/62/61 131/79/61 123/77/61 +f 133/63/62 124/77/62 125/62/62 +f 134/63/63 125/77/63 126/62/63 +f 135/62/64 134/76/64 127/67/64 +f 136/62/65 127/76/65 128/67/65 +f 129/67/66 136/77/66 128/76/66 +f 130/67/67 137/77/67 129/76/67 +f 131/67/68 138/77/68 130/76/68 +f 132/67/69 139/77/69 131/76/69 +f 141/62/70 132/76/70 133/67/70 +f 142/62/71 133/76/71 134/67/71 +f 100/76/72 109/65/72 108/75/72 +f 143/67/39 158/75/39 151/65/39 +f 143/76/72 152/65/72 144/67/72 +f 144/76/73 153/65/73 145/67/73 +f 146/67/34 153/75/12 154/65/9 +f 147/67/39 154/75/39 155/65/39 +f 147/76/72 156/65/72 148/67/72 +f 150/67/74 157/75/75 158/65/10 +f 151/65/76 166/77/76 159/62/76 +f 152/65/77 159/77/77 160/62/77 +f 152/75/41 161/62/41 153/65/41 +f 153/75/40 162/62/40 154/65/40 +f 154/75/47 163/62/47 155/65/47 +f 155/75/46 164/62/46 156/65/46 +f 157/65/78 164/77/78 165/62/78 +f 158/65/79 165/77/79 166/62/79 +f 159/63/51 174/78/51 167/80/51 +f 159/79/50 168/80/50 160/63/50 +f 160/79/49 169/80/49 161/63/49 +f 161/79/48 170/80/48 162/63/48 +f 162/79/55 171/80/55 163/63/55 +f 164/63/80 171/78/80 172/80/80 +f 164/79/53 173/80/53 165/63/53 +f 165/79/52 174/80/52 166/63/52 +f 174/77/59 175/63/59 167/62/59 +f 167/77/58 176/63/58 168/62/58 +f 169/62/81 176/79/81 177/63/81 +f 170/62/82 177/79/82 178/63/82 +f 171/62/83 178/79/83 179/63/83 +f 172/62/84 179/79/84 180/63/84 +f 172/77/61 181/63/61 173/62/61 +f 173/77/60 182/63/60 174/62/60 +f 182/76/67 183/62/67 175/67/67 +f 175/76/66 184/62/66 176/67/66 +f 177/67/85 184/77/85 185/62/85 +f 178/67/86 185/77/86 186/62/86 +f 179/67/87 186/77/87 187/62/87 +f 180/67/88 187/77/88 188/62/88 +f 180/76/69 189/62/69 181/67/69 +f 181/76/68 190/62/68 182/67/68 +f 157/65/35 148/76/35 156/75/35 +f 191/67/89 206/75/89 199/65/89 +f 191/76/90 200/65/90 192/67/90 +f 192/76/91 201/65/91 193/67/91 +f 194/67/11 201/75/92 202/65/10 +f 194/76/93 203/65/93 195/67/93 +f 196/67/90 203/75/90 204/65/90 +f 198/67/34 205/75/12 206/65/9 +f 199/65/94 214/77/94 207/62/94 +f 200/65/95 207/77/95 208/62/95 +f 200/75/96 209/62/96 201/65/96 +f 201/75/97 210/62/97 202/65/97 +f 202/75/98 211/62/98 203/65/98 +f 203/75/99 212/62/99 204/65/99 +f 205/65/100 212/77/100 213/62/100 +f 206/65/101 213/77/101 214/62/101 +f 214/79/102 215/80/102 207/63/102 +f 207/79/103 216/80/103 208/63/103 +f 208/79/104 217/80/104 209/63/104 +f 210/63/105 217/78/105 218/80/105 +f 211/63/106 218/78/106 219/80/106 +f 211/79/107 220/80/107 212/63/107 +f 213/63/108 220/78/108 221/80/108 +f 213/79/109 222/80/109 214/63/109 +f 222/77/110 223/63/110 215/62/110 +f 215/77/111 224/63/111 216/62/111 +f 217/62/112 224/79/112 225/63/112 +f 218/62/113 225/79/113 226/63/113 +f 219/62/114 226/79/114 227/63/114 +f 220/62/115 227/79/115 228/63/115 +f 220/77/116 229/63/116 221/62/116 +f 221/77/117 230/63/117 222/62/117 +f 230/76/118 231/62/118 223/67/118 +f 223/76/119 232/62/119 224/67/119 +f 225/67/120 232/77/120 233/62/120 +f 226/67/121 233/77/121 234/62/121 +f 227/67/122 234/77/122 235/62/122 +f 228/67/123 235/77/123 236/62/123 +f 228/76/124 237/62/124 229/67/124 +f 229/76/71 238/62/71 230/67/71 +f 205/65/125 196/76/125 204/75/125 +f 239/67/126 254/75/10 246/76/127 +f 248/65/91 239/76/91 240/67/91 +f 249/65/128 240/76/128 241/67/128 +f 242/67/93 249/75/93 241/76/93 +f 243/67/127 250/75/9 242/76/34 +f 252/65/125 243/76/125 244/67/125 +f 246/67/89 253/75/89 245/76/89 +f 247/65/97 262/77/97 254/75/97 +f 248/65/96 255/77/96 247/75/96 +f 257/62/129 248/75/129 249/65/129 +f 258/62/130 249/75/130 250/65/130 +f 259/62/131 250/75/131 251/65/131 +f 260/62/132 251/75/132 252/65/132 +f 253/65/99 260/77/99 252/75/99 +f 254/65/98 261/77/98 253/75/98 +f 263/80/105 262/79/105 255/63/105 +f 256/63/104 263/78/104 255/79/104 +f 265/80/103 256/79/103 257/63/103 +f 266/80/102 257/79/102 258/63/102 +f 259/63/109 266/78/109 258/79/109 +f 268/80/108 259/79/108 260/63/108 +f 261/63/107 268/78/107 260/79/107 +f 270/80/106 261/79/106 262/63/106 +f 271/63/133 270/77/133 263/62/133 +f 272/63/134 263/77/134 264/62/134 +f 265/62/111 272/79/111 264/77/111 +f 266/62/110 273/79/110 265/77/110 +f 267/62/117 274/79/117 266/77/117 +f 268/62/116 275/79/116 267/77/116 +f 277/63/135 268/77/135 269/62/135 +f 278/63/136 269/77/136 270/62/136 +f 279/62/137 278/76/137 271/67/137 +f 280/62/138 271/76/138 272/67/138 +f 273/67/119 280/77/119 272/76/119 +f 274/67/118 281/77/118 273/76/118 +f 275/67/71 282/77/71 274/76/71 +f 276/67/124 283/77/124 275/76/124 +f 285/62/139 276/76/139 277/67/139 +f 286/62/68 277/76/68 278/67/68 +f 244/76/90 253/65/90 252/75/90 +f 288/53/21 289/78/21 287/52/21 +f 294/81/9 297/82/9 293/83/9 +f 296/84/10 291/85/10 295/86/10 +f 297/87/11 291/85/11 293/83/11 +f 294/81/12 296/88/12 298/89/12 +f 299/90/22 302/91/22 301/50/22 +f 309/92/10 306/93/10 305/90/10 +f 303/50/9 308/94/9 307/95/9 +f 303/50/12 309/96/12 305/90/12 +f 308/97/11 306/93/11 310/98/11 +f 18/15/9 22/18/9 21/16/9 +f 20/18/10 16/44/10 15/19/10 +f 21/20/11 19/21/11 15/19/11 +f 18/15/12 16/44/12 20/21/12 +f 25/22/13 26/26/13 24/23/13 +f 27/25/14 28/27/14 26/26/14 +f 29/25/15 30/27/15 28/27/15 +f 31/28/16 32/30/16 30/27/16 +f 33/29/17 34/32/17 32/30/17 +f 35/31/18 36/33/18 34/32/18 +f 37/31/19 38/33/19 36/33/19 +f 23/34/20 24/99/20 38/33/20 +f 25/37/21 23/100/21 37/101/21 +f 37/101/21 35/102/21 33/35/21 +f 33/35/21 31/103/21 29/36/21 +f 29/36/21 27/104/21 25/37/21 +f 25/37/21 37/101/21 33/35/21 +f 41/22/13 42/26/13 40/23/13 +f 43/25/14 44/27/14 42/26/14 +f 45/25/15 46/27/15 44/27/15 +f 47/28/16 48/30/16 46/27/16 +f 49/29/17 50/32/17 48/30/17 +f 51/31/18 52/33/18 50/32/18 +f 53/31/19 54/33/19 52/33/19 +f 39/34/20 40/99/20 54/33/20 +f 41/37/21 39/100/21 53/101/21 +f 53/101/21 51/102/21 49/35/21 +f 49/35/21 47/103/21 45/36/21 +f 45/36/21 43/104/21 41/37/21 +f 41/37/21 53/101/21 49/35/21 +f 24/38/21 48/105/21 50/39/21 +f 46/41/21 48/105/21 24/38/21 +f 19/44/21 21/19/21 44/43/21 +f 44/43/21 46/41/21 26/42/21 +f 26/42/21 28/106/21 19/44/21 +f 22/17/21 52/49/21 54/107/21 +f 22/17/21 54/107/21 40/45/21 +f 42/46/21 44/43/21 21/19/21 +f 21/19/21 22/17/21 40/45/21 +f 19/44/21 28/106/21 30/108/21 +f 19/44/21 30/108/21 32/47/21 +f 34/48/21 36/109/21 20/15/21 +f 20/15/21 19/44/21 32/47/21 +f 52/49/21 22/17/21 20/15/21 +f 20/15/21 36/109/21 38/40/21 +f 38/40/21 50/39/21 52/49/21 +f 56/50/22 58/110/22 57/51/22 +f 58/53/23 62/57/23 61/54/23 +f 60/54/11 66/111/11 63/56/11 +f 60/54/24 56/55/24 55/53/24 +f 61/57/25 59/54/25 55/55/25 +f 58/55/26 56/53/26 60/57/26 +f 63/58/21 66/51/21 65/59/21 +f 62/54/10 63/111/10 64/56/10 +f 59/54/9 65/111/9 66/56/9 +f 61/54/12 64/111/12 65/56/12 +f 68/61/27 70/64/27 69/62/27 +f 70/64/28 72/66/28 71/65/28 +f 72/66/29 74/91/29 73/67/29 +f 74/61/30 76/64/30 75/62/30 +f 76/64/31 78/66/31 77/65/31 +f 78/66/32 80/91/32 79/67/32 +f 79/71/11 67/74/11 69/68/11 +f 69/68/11 71/73/11 73/69/11 +f 73/69/11 75/72/11 77/70/11 +f 77/70/11 79/71/11 69/68/11 +f 72/72/12 70/70/12 68/71/12 +f 68/71/12 80/74/12 78/68/12 +f 78/68/12 76/73/12 74/69/12 +f 74/69/12 72/72/12 68/71/12 +f 83/68/12 81/74/12 93/71/12 +f 93/71/12 91/70/12 89/72/12 +f 89/72/12 87/69/12 85/73/12 +f 85/73/12 83/68/12 93/71/12 +f 82/71/11 84/70/11 86/72/11 +f 86/72/11 88/69/11 90/73/11 +f 90/73/11 92/68/11 94/74/11 +f 94/74/11 82/71/11 86/72/11 +f 95/67/38 103/65/38 110/75/38 +f 104/65/140 103/75/140 95/76/140 +f 105/65/72 104/75/72 96/76/72 +f 98/67/10 106/65/12 105/75/126 +f 107/65/141 106/75/10 98/76/142 +f 108/65/140 107/75/140 99/76/140 +f 102/67/9 110/65/143 109/75/33 +f 103/65/144 111/62/144 118/77/144 +f 104/65/145 112/62/145 111/77/145 +f 113/62/77 112/77/77 104/75/77 +f 114/62/76 113/77/76 105/75/76 +f 115/62/79 114/77/79 106/75/79 +f 116/62/78 115/77/78 107/75/78 +f 109/65/146 117/62/146 116/77/146 +f 110/65/147 118/62/147 117/77/147 +f 111/63/48 119/80/48 126/78/48 +f 120/80/49 119/78/49 111/79/49 +f 121/80/50 120/78/50 112/79/50 +f 122/80/51 121/78/51 113/79/51 +f 123/80/52 122/78/52 114/79/52 +f 116/63/148 124/80/148 123/78/148 +f 125/80/80 124/78/80 116/79/80 +f 126/80/55 125/78/55 117/79/55 +f 127/63/82 134/79/82 126/77/82 +f 128/63/81 127/79/81 119/77/81 +f 121/62/149 129/63/149 128/79/149 +f 122/62/150 130/63/150 129/79/150 +f 123/62/151 131/63/151 130/79/151 +f 124/62/152 132/63/152 131/79/152 +f 133/63/84 132/79/84 124/77/84 +f 134/63/83 133/79/83 125/77/83 +f 135/62/86 142/77/86 134/76/86 +f 136/62/85 135/77/85 127/76/85 +f 129/67/153 137/62/153 136/77/153 +f 130/67/121 138/62/121 137/77/121 +f 131/67/154 139/62/154 138/77/154 +f 132/67/155 140/62/155 139/77/155 +f 141/62/88 140/77/88 132/76/88 +f 142/62/87 141/77/87 133/76/87 +f 100/76/156 101/67/156 109/65/156 +f 143/67/75 150/76/10 158/75/12 +f 143/76/36 151/75/36 152/65/36 +f 144/76/35 152/75/35 153/65/35 +f 146/67/157 145/76/157 153/75/157 +f 147/67/12 146/76/9 154/75/158 +f 147/76/156 155/75/156 156/65/156 +f 150/67/38 149/76/38 157/75/38 +f 151/65/43 158/75/43 166/77/43 +f 152/65/42 151/75/42 159/77/42 +f 152/75/145 160/77/145 161/62/145 +f 153/75/159 161/77/159 162/62/159 +f 154/75/147 162/77/147 163/62/147 +f 155/75/146 163/77/146 164/62/146 +f 157/65/45 156/75/45 164/77/45 +f 158/65/44 157/75/44 165/77/44 +f 159/63/51 166/79/51 174/78/51 +f 159/79/50 167/78/50 168/80/50 +f 160/79/49 168/78/49 169/80/49 +f 161/79/48 169/78/48 170/80/48 +f 162/79/55 170/78/55 171/80/55 +f 164/63/54 163/79/54 171/78/54 +f 164/79/148 172/78/148 173/80/148 +f 165/79/52 173/78/52 174/80/52 +f 174/77/150 182/79/150 175/63/150 +f 167/77/149 175/79/149 176/63/149 +f 169/62/57 168/77/57 176/79/57 +f 170/62/160 169/77/160 177/79/160 +f 171/62/63 170/77/63 178/79/63 +f 172/62/62 171/77/62 179/79/62 +f 172/77/152 180/79/152 181/63/152 +f 173/77/151 181/79/151 182/63/151 +f 182/76/121 190/77/121 183/62/121 +f 175/76/153 183/77/153 184/62/153 +f 177/67/65 176/76/65 184/77/65 +f 178/67/64 177/76/64 185/77/64 +f 179/67/71 178/76/71 186/77/71 +f 180/67/70 179/76/70 187/77/70 +f 180/76/155 188/77/155 189/62/155 +f 181/76/154 189/77/154 190/62/154 +f 157/65/73 149/67/73 148/76/73 +f 191/67/12 198/76/9 206/75/158 +f 191/76/161 199/75/161 200/65/161 +f 192/76/125 200/75/125 201/65/125 +f 194/67/162 193/76/162 201/75/162 +f 194/76/10 202/75/163 203/65/164 +f 196/67/128 195/76/128 203/75/128 +f 198/67/165 197/76/165 205/75/165 +f 199/65/130 206/75/130 214/77/130 +f 200/65/129 199/75/129 207/77/129 +f 200/75/166 208/77/166 209/62/166 +f 201/75/167 209/77/167 210/62/167 +f 202/75/168 210/77/168 211/62/168 +f 203/75/169 211/77/169 212/62/169 +f 205/65/132 204/75/132 212/77/132 +f 206/65/131 205/75/131 213/77/131 +f 214/79/102 222/78/102 215/80/102 +f 207/79/103 215/78/103 216/80/103 +f 208/79/104 216/78/104 217/80/104 +f 210/63/105 209/79/105 217/78/105 +f 211/63/106 210/79/106 218/78/106 +f 211/79/107 219/78/107 220/80/107 +f 213/63/108 212/79/108 220/78/108 +f 213/79/109 221/78/109 222/80/109 +f 222/77/170 230/79/170 223/63/170 +f 215/77/171 223/79/171 224/63/171 +f 217/62/134 216/77/134 224/79/134 +f 218/62/133 217/77/133 225/79/133 +f 219/62/136 218/77/136 226/79/136 +f 220/62/135 219/77/135 227/79/135 +f 220/77/172 228/79/172 229/63/172 +f 221/77/173 229/79/173 230/63/173 +f 230/76/86 238/77/86 231/62/86 +f 223/76/174 231/77/174 232/62/174 +f 225/67/138 224/76/138 232/77/138 +f 226/67/137 225/76/137 233/77/137 +f 227/67/68 226/76/68 234/77/68 +f 228/67/139 227/76/139 235/77/139 +f 228/76/175 236/77/175 237/62/175 +f 229/76/176 237/77/176 238/62/176 +f 205/65/91 197/67/91 196/76/91 +f 239/67/165 247/65/165 254/75/165 +f 248/65/177 247/75/177 239/76/177 +f 249/65/90 248/75/90 240/76/90 +f 242/67/9 250/65/34 249/75/74 +f 243/67/162 251/65/162 250/75/162 +f 252/65/177 251/75/177 243/76/177 +f 246/67/10 254/65/12 253/75/126 +f 247/65/178 255/62/178 262/77/178 +f 248/65/166 256/62/166 255/77/166 +f 257/62/95 256/77/95 248/75/95 +f 258/62/179 257/77/179 249/75/179 +f 259/62/101 258/77/101 250/75/101 +f 260/62/100 259/77/100 251/75/100 +f 253/65/169 261/62/169 260/77/169 +f 254/65/168 262/62/168 261/77/168 +f 263/80/105 270/78/105 262/79/105 +f 256/63/104 264/80/104 263/78/104 +f 265/80/103 264/78/103 256/79/103 +f 266/80/102 265/78/102 257/79/102 +f 259/63/109 267/80/109 266/78/109 +f 268/80/108 267/78/108 259/79/108 +f 261/63/107 269/80/107 268/78/107 +f 270/80/106 269/78/106 261/79/106 +f 271/63/113 278/79/113 270/77/113 +f 272/63/112 271/79/112 263/77/112 +f 265/62/171 273/63/171 272/79/171 +f 266/62/170 274/63/170 273/79/170 +f 267/62/173 275/63/173 274/79/173 +f 268/62/172 276/63/172 275/79/172 +f 277/63/115 276/79/115 268/77/115 +f 278/63/114 277/79/114 269/77/114 +f 279/62/121 286/77/121 278/76/121 +f 280/62/120 279/77/120 271/76/120 +f 273/67/174 281/62/174 280/77/174 +f 274/67/86 282/62/86 281/77/86 +f 275/67/176 283/62/176 282/77/176 +f 276/67/175 284/62/175 283/77/175 +f 285/62/123 284/77/123 276/76/123 +f 286/62/122 285/77/122 277/76/122 +f 244/76/128 245/67/128 253/65/128 +f 288/53/21 290/112/21 289/78/21 +f 294/81/9 298/113/9 297/82/9 +f 296/84/10 292/114/10 291/85/10 +f 297/87/11 295/115/11 291/85/11 +f 294/81/12 292/114/12 296/88/12 +f 299/90/22 300/93/22 302/91/22 +f 309/92/10 310/116/10 306/93/10 +f 303/50/9 304/91/9 308/94/9 +f 303/50/12 307/117/12 309/96/12 +f 308/97/11 304/91/11 306/93/11 diff --git a/src/main/resources/assets/hbm/models/blocks/scaffold.obj b/src/main/resources/assets/hbm/models/blocks/scaffold.obj index 74229560a..f7af91c79 100644 --- a/src/main/resources/assets/hbm/models/blocks/scaffold.obj +++ b/src/main/resources/assets/hbm/models/blocks/scaffold.obj @@ -1,55 +1,50 @@ -# Blender v2.76 (sub 0) OBJ File: 'scaffold.blend' +# Blender 4.4.3 # www.blender.org +mtllib scaffold.mtl o Cube_Cube.001 v -0.375000 0.000000 0.500000 v -0.375000 1.000000 0.500000 -v -0.375000 0.000000 -0.500000 +v -0.375000 -0.000000 -0.500000 v -0.375000 1.000000 -0.500000 v 0.375000 0.000000 0.500000 v 0.375000 1.000000 0.500000 -v 0.375000 0.000000 -0.500000 +v 0.375000 -0.000000 -0.500000 v 0.375000 1.000000 -0.500000 v -0.250000 0.000000 0.500000 v -0.250000 1.000000 0.500000 -v -0.250000 0.000000 -0.500000 +v -0.250000 -0.000000 -0.500000 v -0.250000 1.000000 -0.500000 v 0.250000 0.000000 0.500000 v 0.250000 1.000000 0.500000 -v 0.250000 0.000000 -0.500000 +v 0.250000 -0.000000 -0.500000 v 0.250000 1.000000 -0.500000 v -0.250000 0.000000 0.375000 v -0.250000 1.000000 0.375000 v 0.250000 0.000000 0.375000 v 0.250000 1.000000 0.375000 -v -0.250000 0.000000 -0.375000 +v -0.250000 -0.000000 -0.375000 v -0.250000 1.000000 -0.375000 -v 0.250000 0.000000 -0.375000 +v 0.250000 -0.000000 -0.375000 v 0.250000 1.000000 -0.375000 -v -0.375000 0.000000 -0.375000 +v -0.375000 -0.000000 -0.375000 v -0.375000 1.000000 -0.375000 -v 0.375000 0.000000 -0.375000 +v 0.375000 -0.000000 -0.375000 v 0.375000 1.000000 -0.375000 v -0.375000 0.000000 0.375000 v -0.375000 1.000000 0.375000 v 0.375000 0.000000 0.375000 v 0.375000 1.000000 0.375000 -v -0.250000 0.062500 0.375000 -v -0.250000 0.062500 -0.375000 v -0.375000 0.062500 -0.375000 v -0.375000 0.062500 0.375000 v -0.250000 0.937500 0.375000 -v -0.250000 0.937500 -0.375000 v -0.375000 0.937500 -0.375000 v -0.375000 0.937500 0.375000 -v -0.250000 0.562500 0.000000 -v -0.375000 0.562500 0.000000 -v -0.250000 0.437500 0.000000 -v -0.375000 0.437500 0.000000 -v -0.250000 0.187500 0.375000 -v -0.250000 0.187500 -0.375000 +v -0.250000 0.562500 -0.000000 +v -0.375000 0.562500 -0.000000 +v -0.250000 0.437500 -0.000000 +v -0.375000 0.437500 -0.000000 v -0.375000 0.187500 -0.375000 v -0.375000 0.187500 0.375000 -v -0.250000 0.812500 0.375000 v -0.250000 0.812500 -0.375000 v -0.375000 0.812500 -0.375000 v -0.375000 0.812500 0.375000 @@ -59,45 +54,37 @@ v -0.250000 0.500000 -0.062500 v -0.375000 0.500000 -0.062500 v 0.375000 0.062500 0.375000 v 0.375000 0.062500 -0.375000 -v 0.250000 0.062500 -0.375000 v 0.250000 0.062500 0.375000 v 0.375000 0.937500 0.375000 v 0.375000 0.937500 -0.375000 v 0.250000 0.937500 -0.375000 v 0.250000 0.937500 0.375000 -v 0.375000 0.562500 0.000000 -v 0.250000 0.562500 0.000000 -v 0.375000 0.437500 0.000000 -v 0.250000 0.437500 0.000000 +v 0.375000 0.562500 -0.000000 +v 0.250000 0.562500 -0.000000 +v 0.375000 0.437500 -0.000000 +v 0.250000 0.437500 -0.000000 v 0.375000 0.187500 0.375000 v 0.375000 0.187500 -0.375000 -v 0.250000 0.187500 -0.375000 v 0.250000 0.187500 0.375000 v 0.375000 0.812500 0.375000 v 0.375000 0.812500 -0.375000 -v 0.250000 0.812500 -0.375000 v 0.250000 0.812500 0.375000 v 0.375000 0.500000 0.062500 v 0.250000 0.500000 0.062500 v 0.375000 0.500000 -0.062500 v 0.250000 0.500000 -0.062500 -v 0.250000 0.062500 0.375000 v -0.250000 0.062500 0.375000 v -0.250000 0.062500 0.500000 v 0.250000 0.062500 0.500000 -v 0.250000 0.937500 0.375000 -v -0.250000 0.937500 0.375000 v -0.250000 0.937500 0.500000 v 0.250000 0.937500 0.500000 -v -0.000000 0.562500 0.375000 -v -0.000000 0.562500 0.500000 -v -0.000000 0.437500 0.375000 -v -0.000000 0.437500 0.500000 -v 0.250000 0.187500 0.375000 +v 0.000000 0.562500 0.375000 +v 0.000000 0.562500 0.500000 +v 0.000000 0.437500 0.375000 +v 0.000000 0.437500 0.500000 v -0.250000 0.187500 0.375000 v -0.250000 0.187500 0.500000 v 0.250000 0.187500 0.500000 -v 0.250000 0.812500 0.375000 v -0.250000 0.812500 0.375000 v -0.250000 0.812500 0.500000 v 0.250000 0.812500 0.500000 @@ -112,7 +99,6 @@ v 0.250000 0.062500 -0.375000 v 0.250000 0.937500 -0.500000 v -0.250000 0.937500 -0.500000 v -0.250000 0.937500 -0.375000 -v 0.250000 0.937500 -0.375000 v 0.000000 0.562500 -0.500000 v 0.000000 0.562500 -0.375000 v 0.000000 0.437500 -0.500000 @@ -123,38 +109,59 @@ v -0.250000 0.187500 -0.375000 v 0.250000 0.187500 -0.375000 v 0.250000 0.812500 -0.500000 v -0.250000 0.812500 -0.500000 -v -0.250000 0.812500 -0.375000 v 0.250000 0.812500 -0.375000 v 0.041667 0.500000 -0.500000 v 0.041667 0.500000 -0.375000 v -0.041667 0.500000 -0.500000 v -0.041667 0.500000 -0.375000 -vt 0.875000 0.875000 -vt 0.875000 0.750000 -vt 1.000000 0.750000 +vn -0.0000 1.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.7071 0.7071 +vn -0.0000 -0.7071 -0.7071 +vn -0.0000 0.7071 0.7071 +vn -0.0000 0.7071 -0.7071 +vn 0.1322 -0.0000 0.9912 +vn 0.9992 -0.0000 0.0393 +vn 0.1322 -0.0000 -0.9912 +vn 0.9992 -0.0000 -0.0393 +vn -0.9992 -0.0000 -0.0393 +vn -0.1322 -0.0000 -0.9912 +vn -0.1322 -0.0000 0.9912 +vn -0.9992 -0.0000 0.0393 +vn 0.8321 -0.5547 -0.0000 +vn -0.8321 -0.5547 -0.0000 +vn 0.8321 0.5547 -0.0000 +vn -0.8321 0.5547 -0.0000 +vt 0.875000 0.250000 +vt 0.875000 0.125000 +vt 1.000000 0.125000 +vt 0.125000 0.000000 +vt 0.125000 1.000000 +vt 0.000000 1.000000 vt 1.000000 0.000000 vt 1.000000 1.000000 vt 0.875000 1.000000 -vt 0.250000 0.000000 -vt 0.250000 1.000000 -vt 0.125000 1.000000 vt 0.125027 0.000035 vt 0.000035 0.999965 -vt 0.875000 0.000000 -vt 0.750000 1.000000 vt 1.000000 0.250000 -vt 0.875000 0.250000 -vt 0.875000 0.125000 -vt 0.000035 0.000035 -vt 0.750000 0.000000 +vt 0.875000 0.000000 +vt 0.000000 0.000000 vt 0.000000 0.250000 vt 0.000000 0.125000 vt 0.125000 0.125000 +vt 0.125000 0.250000 vt 0.125000 0.875000 vt -0.000000 0.875000 vt 0.000000 0.750000 -vt 1.000000 0.125000 +vt 0.125000 0.750000 +vt 1.000000 0.750000 vt 1.000000 0.875000 +vt 0.875000 0.875000 +vt 0.875000 0.750000 vt 0.500000 0.250000 vt 0.500000 0.125000 vt 0.437500 0.750000 @@ -177,16 +184,14 @@ vt 0.125000 0.937500 vt 0.125000 0.812500 vt 0.437500 0.500000 vt 0.125000 0.187500 -vt 0.125000 0.750000 -vt 0.125000 0.250000 -vt 0.250000 0.750000 -vt 0.250000 0.875000 vt 0.125000 0.500000 vt 0.000000 0.500000 vt 0.000000 0.541667 vt 0.125000 0.541667 -vt 0.125000 0.458333 vt 0.000000 0.458333 +vt 0.125000 0.458333 +vt 0.125000 0.250000 +vt 0.000000 0.250000 vt 0.541667 0.500000 vt 0.750000 0.812500 vt 0.750000 0.062500 @@ -201,214 +206,202 @@ vt 0.875000 0.541667 vt 1.000000 0.541667 vt 1.000000 0.458333 vt 0.875000 0.458333 +vt 0.000035 0.000035 vt 0.875000 0.937500 vt 0.125000 0.062500 vt 0.750000 0.937500 vt 0.250000 0.062500 -vn 0.000000 1.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 -0.707100 0.707100 -vn 0.000000 -0.707100 -0.707100 -vn 0.000000 0.707100 0.707100 -vn 0.000000 0.707100 -0.707100 -vn 0.832100 -0.554700 0.000000 -vn -0.832100 -0.554700 0.000000 -vn 0.832100 0.554700 0.000000 -vn -0.832100 0.554700 -0.000000 -s off +s 1 +usemtl Material.001 f 26/1/1 22/2/1 12/3/1 f 11/4/2 12/5/2 22/6/2 f 21/7/3 22/8/3 26/9/3 -f 25/10/4 26/9/4 4/11/4 -f 3/12/5 4/6/5 12/13/5 -f 11/14/6 21/15/6 25/16/6 -f 9/17/2 17/10/2 18/9/2 -f 1/10/3 9/7/3 10/8/3 -f 17/18/5 29/12/5 30/6/5 -f 30/6/4 29/12/4 1/4/4 -f 9/19/6 1/20/6 29/21/6 -f 30/22/1 2/23/1 10/24/1 -f 20/8/5 32/9/5 31/10/5 -f 31/10/2 32/9/2 6/11/2 -f 6/6/3 14/13/3 13/18/3 -f 14/5/4 20/6/4 19/12/4 -f 31/22/6 5/23/6 13/24/6 -f 14/19/1 6/20/1 32/21/1 -f 8/5/2 28/6/2 27/12/2 -f 15/7/5 16/8/5 8/9/5 -f 23/10/4 24/9/4 16/11/4 -f 27/12/3 28/6/3 24/13/3 -f 8/25/1 16/14/1 24/15/1 -f 23/2/6 15/3/6 7/26/6 -f 43/27/7 44/28/7 35/16/7 -f 36/21/8 44/28/8 43/27/8 -f 53/29/9 54/30/9 48/22/9 -f 52/21/7 54/31/7 53/32/7 -f 41/33/10 42/34/10 40/22/10 -f 39/1/9 42/34/9 41/33/9 -f 55/35/8 56/36/8 51/16/8 -f 47/1/10 56/37/10 55/38/10 -f 42/39/4 54/40/4 52/41/4 -f 44/42/4 36/43/4 48/44/4 -f 42/39/4 39/45/4 51/46/4 -f 44/42/4 56/47/4 47/48/4 -f 43/42/2 34/43/2 46/44/2 -f 41/39/2 55/40/2 50/41/2 -f 41/39/2 37/45/2 49/46/2 -f 54/40/4 42/39/4 56/47/4 -f 43/42/2 53/47/2 45/48/2 -f 41/39/2 53/47/2 43/42/2 -f 67/34/7 68/33/7 59/2/7 -f 60/49/8 68/33/8 67/34/8 -f 77/31/9 78/32/9 72/50/9 -f 76/49/7 78/51/7 77/52/7 -f 65/28/10 66/27/10 64/50/10 -f 63/15/9 66/27/9 65/28/9 -f 79/37/8 80/38/8 75/2/8 -f 71/15/10 80/35/10 79/36/10 -f 66/39/4 78/40/4 76/41/4 -f 68/42/4 60/43/4 72/44/4 -f 66/39/4 63/45/4 75/46/4 -f 68/42/4 80/47/4 71/48/4 -f 67/42/2 58/43/2 70/44/2 -f 65/39/2 79/40/2 74/41/2 -f 65/39/2 61/45/2 73/46/2 -f 78/40/4 66/39/4 80/47/4 -f 67/42/2 77/47/2 69/48/2 -f 65/39/2 77/47/2 67/42/2 -f 91/53/11 92/54/11 83/19/11 -f 84/24/12 92/54/12 91/53/12 -f 101/55/13 102/56/13 96/49/13 -f 100/24/11 102/55/11 101/56/11 -f 89/53/14 90/54/14 88/19/14 -f 87/24/13 90/54/13 89/53/13 -f 103/19/12 104/50/12 99/57/12 -f 95/58/14 104/19/14 103/50/14 -f 90/39/3 102/59/3 100/60/3 -f 92/42/3 84/61/3 96/62/3 -f 90/39/3 87/63/3 99/64/3 -f 92/42/3 104/65/3 95/66/3 -f 91/42/5 82/61/5 94/62/5 -f 89/39/5 103/59/5 98/60/5 -f 89/39/5 85/63/5 97/64/5 -f 102/59/3 90/39/3 104/65/3 -f 91/42/5 101/65/5 93/66/5 -f 103/59/5 89/39/5 101/65/5 -f 115/67/11 116/68/11 107/15/11 -f 108/2/12 116/68/12 115/67/12 -f 125/69/13 126/70/13 120/3/13 -f 124/2/11 126/69/11 125/70/11 -f 113/67/14 114/68/14 112/15/14 -f 111/2/13 114/68/13 113/67/13 -f 127/15/12 128/14/12 123/71/12 -f 119/72/14 128/15/14 127/14/14 -f 114/39/3 126/59/3 124/60/3 -f 116/42/3 108/61/3 120/62/3 -f 114/39/3 111/63/3 123/64/3 -f 116/42/3 128/65/3 119/66/3 -f 115/42/5 106/61/5 118/62/5 -f 113/39/5 127/59/5 122/60/5 -f 113/39/5 109/63/5 121/64/5 -f 126/59/3 114/39/3 128/65/3 -f 115/42/5 125/65/5 117/66/5 -f 127/59/5 113/39/5 125/65/5 -f 4/26/1 26/1/1 12/3/1 -f 21/12/2 11/4/2 22/6/2 -f 25/10/3 21/7/3 26/9/3 -f 3/17/4 25/10/4 4/11/4 -f 11/18/5 3/12/5 12/13/5 -f 3/25/6 11/14/6 25/16/6 -f 10/11/2 9/17/2 18/9/2 -f 2/9/3 1/10/3 10/8/3 -f 18/13/5 17/18/5 30/6/5 -f 2/5/4 30/6/4 1/4/4 -f 17/50/6 9/19/6 29/21/6 -f 18/49/1 30/22/1 10/24/1 -f 19/7/5 20/8/5 31/10/5 -f 5/17/2 31/10/2 6/11/2 -f 5/12/3 6/6/3 13/18/3 -f 13/4/4 14/5/4 19/12/4 -f 19/49/6 31/22/6 13/24/6 -f 20/50/1 14/19/1 32/21/1 -f 7/4/2 8/5/2 27/12/2 -f 7/10/5 15/7/5 8/9/5 -f 15/17/4 23/10/4 16/11/4 -f 23/18/3 27/12/3 24/13/3 -f 28/16/1 8/25/1 24/15/1 -f 27/1/6 23/2/6 7/26/6 -f 34/15/7 43/27/7 35/16/7 -f 33/50/8 36/21/8 43/27/8 -f 45/49/9 53/29/9 48/22/9 -f 49/50/7 52/21/7 53/32/7 -f 37/49/10 41/33/10 40/22/10 -f 38/2/9 39/1/9 41/33/9 -f 50/15/8 55/35/8 51/16/8 -f 46/2/10 47/1/10 55/38/10 -f 40/73/4 42/39/4 52/41/4 -f 54/40/4 44/42/4 48/44/4 -f 56/47/4 42/39/4 51/46/4 -f 35/74/4 44/42/4 47/48/4 -f 55/40/2 43/42/2 46/44/2 -f 38/73/2 41/39/2 50/41/2 -f 53/47/2 41/39/2 49/46/2 -f 44/42/4 54/40/4 56/47/4 -f 33/74/2 43/42/2 45/48/2 -f 55/40/2 41/39/2 43/42/2 -f 58/1/7 67/34/7 59/2/7 -f 57/22/8 60/49/8 67/34/8 -f 69/21/9 77/31/9 72/50/9 -f 73/22/7 76/49/7 77/52/7 -f 61/21/10 65/28/10 64/50/10 -f 62/16/9 63/15/9 65/28/9 -f 74/1/8 79/37/8 75/2/8 -f 70/16/10 71/15/10 79/36/10 -f 64/73/4 66/39/4 76/41/4 -f 78/40/4 68/42/4 72/44/4 -f 80/47/4 66/39/4 75/46/4 -f 59/74/4 68/42/4 71/48/4 -f 79/40/2 67/42/2 70/44/2 -f 62/73/2 65/39/2 74/41/2 -f 77/47/2 65/39/2 73/46/2 -f 68/42/4 78/40/4 80/47/4 -f 57/74/2 67/42/2 69/48/2 -f 79/40/2 65/39/2 67/42/2 -f 82/50/11 91/53/11 83/19/11 -f 81/49/12 84/24/12 91/53/12 -f 93/24/13 101/55/13 96/49/13 -f 97/49/11 100/24/11 101/56/11 -f 85/50/14 89/53/14 88/19/14 -f 86/49/13 87/24/13 89/53/13 -f 98/58/12 103/19/12 99/57/12 -f 94/57/14 95/58/14 103/50/14 -f 88/75/3 90/39/3 100/60/3 -f 102/59/3 92/42/3 96/62/3 -f 104/65/3 90/39/3 99/64/3 -f 83/76/3 92/42/3 95/66/3 -f 103/59/5 91/42/5 94/62/5 -f 86/75/5 89/39/5 98/60/5 -f 101/65/5 89/39/5 97/64/5 -f 92/42/3 102/59/3 104/65/3 -f 81/76/5 91/42/5 93/66/5 -f 91/42/5 103/59/5 101/65/5 -f 106/14/11 115/67/11 107/15/11 -f 105/3/12 108/2/12 115/67/12 -f 117/2/13 125/69/13 120/3/13 -f 121/3/11 124/2/11 125/70/11 -f 109/14/14 113/67/14 112/15/14 -f 110/3/13 111/2/13 113/67/13 -f 122/72/12 127/15/12 123/71/12 -f 118/71/14 119/72/14 127/14/14 -f 112/75/3 114/39/3 124/60/3 -f 126/59/3 116/42/3 120/62/3 -f 128/65/3 114/39/3 123/64/3 -f 107/76/3 116/42/3 119/66/3 -f 127/59/5 115/42/5 118/62/5 -f 110/75/5 113/39/5 122/60/5 -f 125/65/5 113/39/5 121/64/5 -f 116/42/3 126/59/3 128/65/3 -f 105/76/5 115/42/5 117/66/5 -f 115/42/5 127/59/5 125/65/5 +f 25/10/4 26/5/4 4/11/4 +f 3/7/5 4/8/5 12/9/5 +f 11/12/6 21/1/6 25/2/6 +f 9/13/2 17/7/2 18/8/2 +f 1/14/3 9/4/3 10/5/3 +f 17/14/5 29/4/5 30/5/5 +f 30/9/4 29/13/4 1/7/4 +f 9/15/6 1/16/6 29/17/6 +f 30/18/1 2/15/1 10/16/1 +f 20/8/5 32/9/5 31/13/5 +f 31/10/2 32/5/2 6/11/2 +f 6/8/3 14/9/3 13/13/3 +f 14/5/4 20/6/4 19/14/4 +f 31/19/6 5/20/6 13/21/6 +f 14/20/1 6/21/1 32/22/1 +f 8/8/2 28/9/2 27/13/2 +f 15/4/5 16/5/5 8/6/5 +f 23/7/4 24/8/4 16/9/4 +f 27/4/3 28/5/3 24/6/3 +f 8/23/1 16/24/1 24/25/1 +f 23/26/6 15/23/6 7/24/6 +f 40/27/7 41/28/7 33/2/7 +f 34/17/8 41/28/8 40/27/8 +f 47/29/9 48/30/9 43/19/9 +f 46/17/7 48/31/7 47/32/7 +f 38/33/10 39/34/10 37/19/10 +f 36/25/9 39/34/9 38/33/9 +f 49/35/8 50/36/8 45/2/8 +f 42/25/10 50/37/10 49/38/10 +f 39/39/4 48/40/4 46/41/4 +f 41/42/4 34/43/4 43/44/4 +f 39/39/4 36/45/4 45/46/4 +f 41/42/4 50/47/4 42/48/4 +f 40/42/2 93/43/11 104/44/12 +f 38/39/2 49/40/2 44/41/12 +f 38/39/2 35/45/13 84/46/14 +f 48/40/4 39/39/4 50/47/4 +f 40/42/2 47/47/2 81/48/14 +f 38/39/2 47/47/2 40/42/2 +f 60/34/7 61/33/7 94/26/7 +f 53/22/8 61/33/8 60/34/8 +f 68/31/9 69/32/9 64/18/9 +f 67/22/7 69/29/7 68/30/7 +f 58/28/10 59/27/10 57/18/10 +f 56/1/9 59/27/9 58/28/9 +f 70/37/8 71/38/8 108/26/8 +f 105/1/10 71/35/10 70/36/10 +f 59/39/4 69/40/4 67/41/15 +f 61/42/4 53/43/16 64/44/15 +f 59/39/4 56/45/17 108/46/18 +f 61/42/4 71/47/4 105/48/18 +f 60/42/2 52/43/2 63/44/2 +f 58/39/2 70/40/2 66/41/2 +f 58/39/2 54/45/2 65/46/2 +f 69/40/4 59/39/4 71/47/4 +f 60/42/2 68/47/2 62/48/2 +f 58/39/2 68/47/2 60/42/2 +f 79/49/19 80/50/19 73/15/19 +f 74/21/20 80/50/20 79/49/20 +f 87/51/21 88/52/21 83/22/21 +f 86/21/19 88/51/19 87/52/19 +f 77/49/22 78/50/22 76/15/22 +f 75/21/21 78/50/21 77/49/21 +f 89/53/20 90/54/20 85/55/20 +f 82/56/22 90/53/22 89/54/22 +f 78/39/3 88/57/3 86/58/3 +f 80/42/3 74/59/3 83/60/3 +f 78/39/3 75/61/3 85/62/3 +f 80/42/3 90/63/3 82/64/3 +f 79/42/5 72/59/13 81/60/14 +f 77/39/5 89/57/5 84/58/14 +f 77/39/5 57/61/16 67/62/15 +f 88/57/3 78/39/3 90/63/3 +f 79/42/5 87/63/5 64/64/15 +f 89/57/5 77/39/5 87/63/5 +f 100/65/19 101/66/19 93/1/19 +f 94/26/20 101/66/20 100/65/20 +f 109/67/21 110/68/21 105/23/21 +f 108/26/19 110/67/19 109/68/19 +f 98/65/22 99/66/22 56/1/22 +f 97/26/21 99/66/21 98/65/21 +f 111/1/20 112/12/20 44/69/20 +f 104/70/22 112/1/22 111/12/22 +f 99/39/3 110/57/3 108/58/18 +f 101/42/3 94/59/17 105/60/18 +f 99/39/3 97/61/11 44/62/12 +f 101/42/3 112/63/3 104/64/12 +f 100/42/5 92/59/5 103/60/5 +f 98/39/5 111/57/5 107/58/5 +f 98/39/5 95/61/5 106/62/5 +f 110/57/3 99/39/3 112/63/3 +f 100/42/5 109/63/5 102/64/5 +f 111/57/5 98/39/5 109/63/5 +f 4/12/1 26/1/1 12/3/1 +f 21/14/2 11/4/2 22/6/2 +f 25/13/3 21/7/3 26/9/3 +f 3/71/4 25/10/4 4/11/4 +f 11/13/5 3/7/5 12/9/5 +f 3/3/6 11/12/6 25/2/6 +f 10/9/2 9/13/2 18/8/2 +f 2/6/3 1/14/3 10/5/3 +f 18/6/5 17/14/5 30/5/5 +f 2/8/4 30/9/4 1/7/4 +f 17/18/6 9/15/6 29/17/6 +f 18/17/1 30/18/1 10/16/1 +f 19/7/5 20/8/5 31/13/5 +f 5/71/2 31/10/2 6/11/2 +f 5/7/3 6/8/3 13/13/3 +f 13/4/4 14/5/4 19/14/4 +f 19/22/6 31/19/6 13/21/6 +f 20/19/1 14/20/1 32/22/1 +f 7/7/2 8/8/2 27/13/2 +f 7/14/5 15/4/5 8/6/5 +f 15/13/4 23/7/4 16/9/4 +f 23/14/3 27/4/3 24/6/3 +f 28/26/1 8/23/1 24/25/1 +f 27/25/6 23/26/6 7/24/6 +f 93/1/7 40/27/7 33/2/7 +f 72/18/8 34/17/8 40/27/8 +f 81/22/9 47/29/9 43/19/9 +f 84/18/7 46/17/7 47/32/7 +f 35/22/10 38/33/10 37/19/10 +f 97/26/9 36/25/9 38/33/9 +f 44/1/8 49/35/8 45/2/8 +f 104/26/10 42/25/10 49/38/10 +f 37/72/4 39/39/4 46/41/4 +f 48/40/4 41/42/4 43/44/4 +f 50/47/4 39/39/4 45/46/4 +f 33/73/4 41/42/4 42/48/4 +f 49/40/2 40/42/2 104/44/12 +f 97/72/11 38/39/2 44/41/12 +f 47/47/2 38/39/2 84/46/14 +f 41/42/4 48/40/4 50/47/4 +f 72/73/13 40/42/2 81/48/14 +f 49/40/2 38/39/2 40/42/2 +f 52/25/7 60/34/7 94/26/7 +f 51/19/8 53/22/8 60/34/8 +f 62/17/9 68/31/9 64/18/9 +f 65/19/7 67/22/7 68/30/7 +f 54/17/10 58/28/10 57/18/10 +f 55/2/9 56/1/9 58/28/9 +f 66/25/8 70/37/8 108/26/8 +f 63/2/10 105/1/10 70/36/10 +f 57/72/16 59/39/4 67/41/15 +f 69/40/4 61/42/4 64/44/15 +f 71/47/4 59/39/4 108/46/18 +f 94/73/17 61/42/4 105/48/18 +f 70/40/2 60/42/2 63/44/2 +f 55/72/2 58/39/2 66/41/2 +f 68/47/2 58/39/2 65/46/2 +f 61/42/4 69/40/4 71/47/4 +f 51/73/2 60/42/2 62/48/2 +f 70/40/2 58/39/2 60/42/2 +f 72/18/19 79/49/19 73/15/19 +f 53/22/20 74/21/20 79/49/20 +f 64/21/21 87/51/21 83/22/21 +f 67/22/19 86/21/19 87/52/19 +f 57/18/22 77/49/22 76/15/22 +f 35/22/21 75/21/21 77/49/21 +f 84/56/20 89/53/20 85/55/20 +f 81/55/22 82/56/22 89/54/22 +f 76/74/3 78/39/3 86/58/3 +f 88/57/3 80/42/3 83/60/3 +f 90/63/3 78/39/3 85/62/3 +f 73/75/3 80/42/3 82/64/3 +f 89/57/5 79/42/5 81/60/14 +f 35/74/13 77/39/5 84/58/14 +f 87/63/5 77/39/5 67/62/15 +f 80/42/3 88/57/3 90/63/3 +f 53/75/16 79/42/5 64/64/15 +f 79/42/5 89/57/5 87/63/5 +f 92/12/19 100/65/19 93/1/19 +f 91/23/20 94/26/20 100/65/20 +f 102/26/21 109/67/21 105/23/21 +f 106/23/19 108/26/19 109/68/19 +f 95/12/22 98/65/22 56/1/22 +f 96/23/21 97/26/21 98/65/21 +f 107/70/20 111/1/20 44/69/20 +f 103/69/22 104/70/22 111/12/22 +f 56/74/17 99/39/3 108/58/18 +f 110/57/3 101/42/3 105/60/18 +f 112/63/3 99/39/3 44/62/12 +f 93/75/11 101/42/3 104/64/12 +f 111/57/5 100/42/5 103/60/5 +f 96/74/5 98/39/5 107/58/5 +f 109/63/5 98/39/5 106/62/5 +f 101/42/3 110/57/3 112/63/3 +f 91/75/5 100/42/5 102/64/5 +f 100/42/5 111/57/5 109/63/5 diff --git a/src/main/resources/assets/hbm/models/blocks/skeleton_holder.obj b/src/main/resources/assets/hbm/models/blocks/skeleton_holder.obj new file mode 100644 index 000000000..8b874c6c3 --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/skeleton_holder.obj @@ -0,0 +1,330 @@ +# Blender v2.79 (sub 0) OBJ File: 'skeleton_holder.blend' +# www.blender.org +o Holder1 +v -0.007506 0.185094 0.287769 +v -0.369728 0.834613 0.384826 +v -0.039858 0.185094 0.167028 +v -0.402080 0.834613 0.264085 +v 0.097059 0.247594 0.259751 +v -0.265163 0.897113 0.356808 +v 0.064706 0.247594 0.139010 +v -0.297516 0.897113 0.236067 +v 0.365620 0.000000 -0.258745 +v -0.358824 0.000000 -0.064630 +v 0.333268 0.000000 -0.379485 +v -0.391176 0.000000 -0.185371 +v 0.365620 0.125000 -0.258745 +v -0.358824 0.125000 -0.064630 +v 0.333268 0.125000 -0.379485 +v -0.391176 0.125000 -0.185371 +v -0.491581 1.016218 0.267475 +v -0.205884 1.425794 0.242480 +v -0.535159 1.016218 -0.230622 +v -0.249462 1.425794 -0.255617 +v -0.083563 0.729430 0.231779 +v 0.202134 1.139006 0.206783 +v -0.127141 0.729430 -0.266319 +v 0.158556 1.139006 -0.291314 +v -0.491581 1.016218 0.267475 +v -0.205884 1.425794 0.242480 +v -0.535159 1.016218 -0.230622 +v -0.249462 1.425794 -0.255617 +v -0.083563 0.729430 0.231779 +v 0.202134 1.139006 0.206783 +v -0.127141 0.729430 -0.266319 +v 0.158556 1.139006 -0.291314 +v -0.250476 0.114105 0.250000 +v -0.185109 0.861251 0.250000 +v -0.250476 0.114105 -0.250000 +v -0.185109 0.861251 -0.250000 +v -0.499524 0.135894 0.250000 +v -0.434158 0.883040 0.250000 +v -0.499524 0.135894 -0.250000 +v -0.434158 0.883040 -0.250000 +v -0.250476 0.114105 0.250000 +v -0.185109 0.861251 0.250000 +v -0.250476 0.114105 -0.250000 +v -0.185109 0.861251 -0.250000 +v -0.499524 0.135894 0.250000 +v -0.434158 0.883040 0.250000 +v -0.499524 0.135894 -0.250000 +v -0.434158 0.883040 -0.250000 +v 0.333268 -0.000000 0.379485 +v -0.391176 0.000000 0.185371 +v 0.365620 -0.000000 0.258745 +v -0.358824 0.000000 0.064630 +v 0.333268 0.125000 0.379485 +v -0.391176 0.125000 0.185371 +v 0.365620 0.125000 0.258745 +v -0.358824 0.125000 0.064630 +v -0.039858 0.185094 -0.167028 +v -0.402080 0.834613 -0.264085 +v -0.007506 0.185094 -0.287769 +v -0.369728 0.834613 -0.384826 +v 0.064706 0.247594 -0.139010 +v -0.297516 0.897113 -0.236067 +v 0.097059 0.247594 -0.259751 +v -0.265163 0.897113 -0.356808 +vt 0.125000 0.437500 +vt 0.093750 0.062500 +vt 0.125000 0.062500 +vt 0.093750 0.437500 +vt 0.062500 0.062500 +vt 0.062500 0.437500 +vt 0.031250 0.062500 +vt -0.000000 0.437500 +vt 0.000000 0.062500 +vt 0.062500 0.500000 +vt 0.093750 0.437500 +vt 0.093750 0.500000 +vt 0.062500 0.500000 +vt 0.031250 0.437500 +vt 0.125000 0.062500 +vt 0.093750 0.437500 +vt 0.093750 0.062500 +vt 0.062500 0.062500 +vt 0.062500 0.437500 +vt 0.031250 0.062500 +vt 0.031250 0.437500 +vt 0.000000 0.062500 +vt 0.062500 0.437500 +vt 0.093750 0.500000 +vt 0.062500 0.500000 +vt 0.062500 0.500000 +vt 0.500000 0.500000 +vt 0.375000 0.750000 +vt 0.375000 0.500000 +vt 0.250000 0.500000 +vt 0.250000 0.750000 +vt 0.125000 0.500000 +vt 0.125000 0.750000 +vt -0.000000 0.500000 +vt 0.250000 0.750000 +vt 0.375000 1.000000 +vt 0.250000 1.000000 +vt 0.250000 1.000000 +vt 0.500000 0.500000 +vt 0.375000 0.750000 +vt 0.500000 0.750000 +vt 0.250000 0.500000 +vt 0.375000 0.500000 +vt 0.125000 0.500000 +vt 0.250000 0.750000 +vt -0.000000 0.500000 +vt 0.125000 0.750000 +vt 0.375000 1.000000 +vt 0.250000 0.750000 +vt 0.250000 1.000000 +vt 0.250000 1.000000 +vt 0.312500 0.000000 +vt 0.437500 0.375000 +vt 0.437500 0.000000 +vt 0.500000 0.000000 +vt 0.437500 0.375000 +vt 0.437500 0.000000 +vt 0.625000 0.000000 +vt 0.500000 0.375000 +vt 0.312500 0.000000 +vt 0.250000 0.375000 +vt 0.250000 0.000000 +vt 0.437500 0.500000 +vt 0.562500 0.375000 +vt 0.562500 0.500000 +vt 0.437500 0.500000 +vt 0.312500 0.375000 +vt 0.437500 0.375000 +vt 0.312500 0.000000 +vt 0.437500 0.000000 +vt 0.437500 0.375000 +vt 0.500000 0.000000 +vt 0.437500 0.000000 +vt 0.500000 0.375000 +vt 0.625000 0.000000 +vt 0.250000 0.375000 +vt 0.312500 0.000000 +vt 0.250000 0.000000 +vt 0.562500 0.375000 +vt 0.437500 0.500000 +vt 0.562500 0.500000 +vt 0.437500 0.500000 +vt 0.312500 0.375000 +vt 0.312500 0.500000 +vt 0.125000 0.437500 +vt 0.093750 0.062500 +vt 0.125000 0.062500 +vt 0.093750 0.437500 +vt 0.062500 0.062500 +vt 0.062500 0.437500 +vt 0.031250 0.062500 +vt -0.000000 0.437500 +vt 0.000000 0.062500 +vt 0.062500 0.500000 +vt 0.093750 0.437500 +vt 0.093750 0.500000 +vt 0.062500 0.500000 +vt 0.031250 0.437500 +vt 0.125000 0.437500 +vt 0.093750 0.062500 +vt 0.125000 0.062500 +vt 0.062500 0.437500 +vt 0.062500 0.062500 +vt 0.031250 0.062500 +vt 0.031250 0.437500 +vt 0.000000 0.062500 +vt 0.062500 0.500000 +vt 0.093750 0.437500 +vt 0.093750 0.500000 +vt 0.062500 0.500000 +vt 0.062500 0.437500 +vt 0.031250 0.500000 +vt 0.125000 0.437500 +vt -0.000000 0.437500 +vt 0.093750 0.437500 +vt 0.031250 0.500000 +vt 0.500000 0.750000 +vt -0.000000 0.750000 +vt 0.375000 0.750000 +vt 0.125000 1.000000 +vt -0.000000 0.750000 +vt 0.375000 0.750000 +vt 0.125000 1.000000 +vt 0.312500 0.375000 +vt 0.625000 0.375000 +vt 0.437500 0.375000 +vt 0.312500 0.500000 +vt 0.312500 0.375000 +vt 0.625000 0.375000 +vt 0.437500 0.375000 +vt 0.062500 0.437500 +vt 0.031250 0.500000 +vt 0.093750 0.437500 +vt -0.000000 0.437500 +vt 0.062500 0.437500 +vt 0.031250 0.500000 +vn -0.8365 -0.5000 0.2241 +vn -0.2588 -0.0000 -0.9659 +vn 0.8365 0.5000 -0.2241 +vn 0.2588 0.0000 0.9659 +vn 0.4830 -0.8660 -0.1294 +vn -0.4830 0.8660 0.1294 +vn -0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 -0.0000 +vn 0.9659 0.0000 -0.2588 +vn -0.9659 0.0000 0.2588 +vn -0.8160 0.5736 0.0714 +vn -0.0872 -0.0000 -0.9962 +vn 0.8160 -0.5736 -0.0714 +vn 0.0872 0.0000 0.9962 +vn -0.5714 -0.8192 0.0500 +vn 0.5714 0.8192 -0.0500 +vn 0.9962 -0.0872 0.0000 +vn 0.0000 -0.0000 -1.0000 +vn -0.9962 0.0872 0.0000 +vn -0.0000 0.0000 1.0000 +vn -0.0872 -0.9962 0.0000 +vn 0.0872 0.9962 0.0000 +vn 0.2588 0.0000 -0.9659 +vn -0.2588 0.0000 0.9659 +vn 0.9659 0.0000 0.2588 +vn -0.9659 0.0000 -0.2588 +vn -0.8365 -0.5000 -0.2241 +vn 0.8365 0.5000 0.2241 +vn 0.4830 -0.8660 0.1294 +vn -0.4830 0.8660 -0.1294 +s off +f 2/1/1 3/2/1 1/3/1 +f 4/4/2 7/5/2 3/2/2 +f 8/6/3 5/7/3 7/5/3 +f 5/7/4 2/8/4 1/9/4 +f 3/10/5 5/11/5 1/12/5 +f 4/13/6 6/14/6 8/6/6 +f 9/15/7 12/16/7 11/17/7 +f 12/16/2 15/18/2 11/17/2 +f 16/19/8 13/20/8 15/18/8 +f 14/21/4 9/22/4 13/20/4 +f 15/23/9 9/24/9 11/25/9 +f 12/26/10 14/21/10 16/19/10 +f 17/27/11 20/28/11 19/29/11 +f 20/28/12 23/30/12 19/29/12 +f 24/31/13 21/32/13 23/30/13 +f 22/33/14 17/34/14 21/32/14 +f 23/35/15 17/36/15 19/37/15 +f 20/38/16 22/33/16 24/31/16 +f 25/39/13 28/40/13 26/41/13 +f 31/42/14 28/40/14 27/43/14 +f 29/44/11 32/45/11 31/42/11 +f 25/46/12 30/47/12 29/44/12 +f 25/48/16 31/49/16 27/50/16 +f 30/47/15 28/51/15 32/45/15 +f 35/52/17 34/53/17 33/54/17 +f 39/55/18 36/56/18 35/57/18 +f 37/58/19 40/59/19 39/55/19 +f 33/60/20 38/61/20 37/62/20 +f 33/63/21 39/64/21 35/65/21 +f 40/66/22 34/67/22 36/56/22 +f 42/68/19 43/69/19 41/70/19 +f 44/71/20 47/72/20 43/73/20 +f 48/74/17 45/75/17 47/72/17 +f 46/76/18 41/77/18 45/78/18 +f 47/79/22 41/80/22 43/81/22 +f 48/82/21 42/83/21 46/84/21 +f 50/85/7 51/86/7 49/87/7 +f 52/88/23 55/89/23 51/86/23 +f 56/90/8 53/91/8 55/89/8 +f 53/91/24 50/92/24 49/93/24 +f 51/94/25 53/95/25 49/96/25 +f 52/97/26 54/98/26 56/90/26 +f 58/99/27 59/100/27 57/101/27 +f 59/100/23 64/102/23 63/103/23 +f 64/102/28 61/104/28 63/103/28 +f 62/105/24 57/106/24 61/104/24 +f 59/107/29 61/108/29 57/109/29 +f 60/110/30 62/105/30 64/102/30 +f 2/1/1 4/4/1 3/2/1 +f 4/4/2 8/6/2 7/5/2 +f 8/6/3 6/14/3 5/7/3 +f 5/7/4 6/14/4 2/8/4 +f 3/10/5 7/111/5 5/11/5 +f 4/13/6 2/112/6 6/14/6 +f 9/15/7 10/113/7 12/16/7 +f 12/16/2 16/19/2 15/18/2 +f 16/19/8 14/21/8 13/20/8 +f 14/21/4 10/114/4 9/22/4 +f 15/23/9 13/115/9 9/24/9 +f 12/26/10 10/116/10 14/21/10 +f 17/27/11 18/117/11 20/28/11 +f 20/28/12 24/31/12 23/30/12 +f 24/31/13 22/33/13 21/32/13 +f 22/33/14 18/118/14 17/34/14 +f 23/35/15 21/119/15 17/36/15 +f 20/38/16 18/120/16 22/33/16 +f 25/39/13 27/43/13 28/40/13 +f 31/42/14 32/45/14 28/40/14 +f 29/44/11 30/47/11 32/45/11 +f 25/46/12 26/121/12 30/47/12 +f 25/48/16 29/122/16 31/49/16 +f 30/47/15 26/123/15 28/51/15 +f 35/52/17 36/124/17 34/53/17 +f 39/55/18 40/59/18 36/56/18 +f 37/58/19 38/125/19 40/59/19 +f 33/60/20 34/67/20 38/61/20 +f 33/63/21 37/126/21 39/64/21 +f 40/66/22 38/127/22 34/67/22 +f 42/68/19 44/128/19 43/69/19 +f 44/71/20 48/74/20 47/72/20 +f 48/74/17 46/129/17 45/75/17 +f 46/76/18 42/83/18 41/77/18 +f 47/79/22 45/130/22 41/80/22 +f 48/82/21 44/71/21 42/83/21 +f 50/85/7 52/88/7 51/86/7 +f 52/88/23 56/90/23 55/89/23 +f 56/90/8 54/98/8 53/91/8 +f 53/91/24 54/98/24 50/92/24 +f 51/94/25 55/131/25 53/95/25 +f 52/97/26 50/132/26 54/98/26 +f 58/99/27 60/133/27 59/100/27 +f 59/100/23 60/133/23 64/102/23 +f 64/102/28 62/105/28 61/104/28 +f 62/105/24 58/134/24 57/106/24 +f 59/107/29 63/135/29 61/108/29 +f 60/110/30 58/136/30 62/105/30 diff --git a/src/main/resources/assets/hbm/models/bombletSelena.obj b/src/main/resources/assets/hbm/models/bombletSelena.obj deleted file mode 100644 index 147bad9cc..000000000 --- a/src/main/resources/assets/hbm/models/bombletSelena.obj +++ /dev/null @@ -1,370 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'bombletSelena.blend' -# www.blender.org -o Cylinder -v -0.000000 -0.250000 -0.090313 -v -0.000000 0.250000 -0.031250 -v 0.063861 -0.250000 -0.063861 -v 0.022097 0.250000 -0.022097 -v 0.090312 -0.250000 0.000000 -v 0.031250 0.250000 0.000000 -v 0.063861 -0.250000 0.063861 -v 0.022097 0.250000 0.022097 -v -0.000000 -0.250000 0.090313 -v -0.000000 0.250000 0.031250 -v -0.063861 -0.250000 0.063861 -v -0.022097 0.250000 0.022097 -v -0.090313 -0.250000 -0.000000 -v -0.031250 0.250000 -0.000000 -v -0.063861 -0.250000 -0.063861 -v -0.022097 0.250000 -0.022097 -v -0.000000 0.125000 -0.125000 -v 0.088388 0.125000 -0.088388 -v 0.125000 0.125000 0.000000 -v 0.088388 0.125000 0.088388 -v -0.000000 0.125000 0.125000 -v -0.088388 0.125000 0.088388 -v -0.125000 0.125000 -0.000000 -v -0.088388 0.125000 -0.088388 -v -0.000000 0.190000 -0.093750 -v 0.066291 0.190000 -0.066291 -v 0.093750 0.190000 0.000000 -v 0.066291 0.190000 0.066291 -v -0.000000 0.190000 0.093750 -v -0.066291 0.190000 0.066291 -v -0.093750 0.190000 -0.000000 -v -0.066291 0.190000 -0.066291 -v 0.088388 -0.050000 -0.088388 -v 0.125000 -0.050000 0.000000 -v 0.088388 -0.050000 0.088388 -v -0.000000 -0.050000 0.125000 -v -0.088388 -0.050000 0.088388 -v -0.125000 -0.050000 -0.000000 -v -0.088388 -0.050000 -0.088388 -v -0.000000 -0.050000 -0.125000 -v 0.063861 -0.125000 -0.063861 -v 0.090312 -0.125000 0.000000 -v 0.063861 -0.125000 0.063861 -v -0.000000 -0.125000 0.090313 -v -0.063861 -0.125000 0.063861 -v -0.090313 -0.125000 -0.000000 -v -0.063861 -0.125000 -0.063861 -v -0.000000 -0.125000 -0.090313 -v 0.095791 -0.275000 -0.095791 -v -0.095791 -0.275000 0.095791 -v 0.095791 -0.125000 -0.095791 -v -0.095791 -0.125000 0.095791 -v 0.063861 -0.100000 -0.063861 -v -0.063861 -0.100000 0.063861 -v 0.000000 -0.275000 -0.135469 -v -0.000000 -0.275000 0.135469 -v 0.000000 -0.125000 -0.135469 -v -0.000000 -0.125000 0.135469 -v 0.000000 -0.100000 -0.090313 -v -0.000000 -0.100000 0.090313 -v -0.095791 -0.275000 -0.095791 -v 0.095791 -0.275000 0.095791 -v -0.095791 -0.125000 -0.095791 -v 0.095791 -0.125000 0.095791 -v -0.063861 -0.100000 -0.063861 -v 0.063861 -0.100000 0.063861 -v -0.135469 -0.275000 0.000000 -v 0.135469 -0.275000 -0.000000 -v -0.135469 -0.125000 0.000000 -v 0.135469 -0.125000 -0.000000 -v -0.090312 -0.100000 0.000000 -v 0.090313 -0.100000 -0.000000 -vt 0.200305 0.646222 -vt 0.172274 0.646222 -vt 0.144244 0.548632 -vt 0.088183 0.646222 -vt 0.060153 0.646222 -vt 0.032122 0.548631 -vt 0.873037 0.646223 -vt 0.845006 0.646223 -vt 0.816976 0.548632 -vt 0.788945 0.548632 -vt 0.760915 0.646223 -vt 0.732884 0.646223 -vt 0.648793 0.646223 -vt 0.620762 0.646223 -vt 0.592732 0.548632 -vt 0.536671 0.646223 -vt 0.508640 0.646223 -vt 0.480610 0.548632 -vt 0.037928 0.914221 -vt 0.065958 0.914221 -vt 0.085779 0.962072 -vt 0.340457 0.548632 -vt 0.312427 0.646222 -vt 0.284396 0.646222 -vt 0.424549 0.646223 -vt 0.396518 0.646222 -vt 0.368488 0.548632 -vt 0.018107 0.820726 -vt 0.156396 0.682437 -vt 0.213678 0.739718 -vt 0.466595 0.465278 -vt 0.354473 0.465278 -vt 0.354473 0.260186 -vt 0.242351 0.465278 -vt 0.242351 0.260186 -vt 0.578717 0.465278 -vt 0.466595 0.260186 -vt 0.690839 0.465278 -vt 0.578717 0.260186 -vt 0.802961 0.465278 -vt 0.690839 0.260186 -vt 0.915082 0.465278 -vt 0.802961 0.260186 -vt 0.130229 0.465278 -vt 0.018107 0.465278 -vt 0.018107 0.260186 -vt 0.130229 0.260186 -vt 0.452579 0.548632 -vt 0.256366 0.548632 -vt 0.564701 0.548632 -vt 0.676823 0.548632 -vt 0.704854 0.548632 -vt 0.901067 0.548632 -vt 0.116214 0.548632 -vt 0.228336 0.548632 -vt 0.145786 0.164601 -vt 0.033664 0.164601 -vt 0.899526 0.164602 -vt 0.915082 0.260186 -vt 0.787404 0.164602 -vt 0.675282 0.164602 -vt 0.482152 0.164602 -vt 0.257908 0.164602 -vt 0.451038 0.164602 -vt 0.370030 0.164602 -vt 0.370030 0.018107 -vt 0.338916 0.164602 -vt 0.257908 0.018107 -vt 0.563160 0.164602 -vt 0.482152 0.018107 -vt 0.594274 0.164602 -vt 0.594274 0.018107 -vt 0.706396 0.164602 -vt 0.706396 0.018108 -vt 0.818517 0.164602 -vt 0.818518 0.018108 -vt 0.114672 0.164601 -vt 0.033664 0.018107 -vt 0.226794 0.164602 -vt 0.145786 0.018107 -vt 0.695639 0.858230 -vt 0.695639 0.682437 -vt 0.748560 0.711736 -vt 0.249892 0.858230 -vt 0.249978 0.682437 -vt 0.302884 0.711761 -vt 0.339098 0.711735 -vt 0.392020 0.682437 -vt 0.392020 0.858230 -vt 0.873909 0.858230 -vt 0.873909 0.682437 -vt 0.926830 0.711736 -vt 0.659425 0.858230 -vt 0.606504 0.858230 -vt 0.659425 0.711736 -vt 0.481155 0.858230 -vt 0.428234 0.887529 -vt 0.428234 0.858230 -vt 0.517369 0.858230 -vt 0.517369 0.682437 -vt 0.570290 0.711736 -vt 0.784774 0.858230 -vt 0.784774 0.682437 -vt 0.837695 0.711735 -vt 0.065958 0.981893 -vt 0.037928 0.981893 -vt 0.018107 0.962072 -vt 0.018107 0.934042 -vt 0.085779 0.934042 -vt 0.213678 0.820726 -vt 0.156396 0.878008 -vt 0.075388 0.878008 -vt 0.018107 0.739718 -vt 0.075388 0.682437 -vt 0.451038 0.018107 -vt 0.338916 0.018107 -vt 0.563160 0.018107 -vt 0.675282 0.018107 -vt 0.787404 0.018108 -vt 0.899526 0.018108 -vt 0.114672 0.018107 -vt 0.226794 0.018107 -vt 0.748560 0.858230 -vt 0.748560 0.887529 -vt 0.302813 0.858256 -vt 0.302799 0.887554 -vt 0.339098 0.887529 -vt 0.339098 0.858230 -vt 0.926830 0.858230 -vt 0.926830 0.887529 -vt 0.659425 0.887529 -vt 0.606504 0.682437 -vt 0.428234 0.711736 -vt 0.481155 0.682437 -vt 0.570290 0.858230 -vt 0.570290 0.887529 -vt 0.837695 0.858230 -vt 0.837695 0.887529 -vn 0.275700 0.693400 -0.665700 -vn 0.665700 0.693400 -0.275700 -vn 0.665700 0.693400 0.275700 -vn 0.275700 0.693400 0.665700 -vn -0.275700 0.693400 0.665700 -vn -0.665700 0.693400 0.275700 -vn 0.000000 1.000000 -0.000000 -vn -0.275700 0.693400 -0.665700 -vn -0.665700 0.693400 -0.275700 -vn 0.000000 -1.000000 0.000000 -vn -0.923900 0.000000 -0.382700 -vn -0.382700 0.000000 -0.923900 -vn -0.923900 0.000000 0.382700 -vn -0.382700 0.000000 0.923900 -vn 0.382700 0.000000 0.923900 -vn 0.923900 0.000000 0.382700 -vn 0.923900 0.000000 -0.382700 -vn 0.382700 0.000000 -0.923900 -vn -0.844300 0.405900 -0.349700 -vn -0.349700 0.405900 -0.844300 -vn -0.844300 0.405900 0.349700 -vn -0.349700 0.405900 0.844300 -vn 0.349700 0.405900 0.844300 -vn 0.844300 0.405900 0.349700 -vn 0.844300 0.405900 -0.349700 -vn 0.349700 0.405900 -0.844300 -vn 0.351900 -0.392900 -0.849600 -vn 0.849600 -0.392900 -0.351900 -vn 0.849600 -0.392900 0.351900 -vn 0.351900 -0.392900 0.849600 -vn -0.351900 -0.392900 0.849600 -vn -0.849600 -0.392900 0.351900 -vn -0.351900 -0.392900 -0.849600 -vn -0.849600 -0.392900 -0.351900 -vn -0.707100 0.000000 -0.707100 -vn 0.707100 0.000000 0.707100 -vn 0.707100 0.000000 -0.707100 -vn 1.000000 0.000000 -0.000000 -vn 0.000000 0.000000 1.000000 -vn -0.000000 0.000000 -1.000000 -s off -f 2/1/1 4/2/1 26/3/1 -f 4/4/2 6/5/2 27/6/2 -f 6/7/3 8/8/3 28/9/3 -f 28/10/4 8/11/4 10/12/4 -f 10/13/5 12/14/5 30/15/5 -f 12/16/6 14/17/6 31/18/6 -f 12/19/7 10/20/7 6/21/7 -f 32/22/8 16/23/8 2/24/8 -f 14/25/9 16/26/9 32/27/9 -f 7/28/10 13/29/10 15/30/10 -f 23/31/11 24/32/11 39/33/11 -f 24/32/12 17/34/12 40/35/12 -f 22/36/13 23/31/13 38/37/13 -f 21/38/14 22/36/14 37/39/14 -f 20/40/15 21/38/15 36/41/15 -f 19/42/16 20/40/16 35/43/16 -f 18/44/17 19/45/17 34/46/17 -f 17/34/18 18/44/18 33/47/18 -f 31/48/19 32/27/19 24/32/19 -f 32/22/20 25/49/20 17/34/20 -f 22/36/21 30/50/21 31/18/21 -f 21/38/22 29/51/22 30/15/22 -f 28/10/23 29/52/23 21/38/23 -f 27/53/24 28/9/24 20/40/24 -f 26/54/25 27/6/25 19/45/25 -f 17/34/26 25/55/26 26/3/26 -f 40/35/27 33/47/27 41/56/27 -f 33/47/28 34/46/28 42/57/28 -f 42/58/29 34/59/29 35/43/29 -f 43/60/30 35/43/30 36/41/30 -f 44/61/31 36/41/31 37/39/31 -f 37/39/32 38/37/32 46/62/32 -f 39/33/33 40/35/33 48/63/33 -f 46/64/34 38/37/34 39/33/34 -f 46/64/11 47/65/11 15/66/11 -f 47/67/12 48/63/12 1/68/12 -f 45/69/13 46/62/13 13/70/13 -f 44/61/14 45/71/14 11/72/14 -f 43/60/15 44/73/15 9/74/15 -f 42/58/16 43/75/16 7/76/16 -f 41/77/17 42/57/17 5/78/17 -f 48/79/18 41/56/18 3/80/18 -f 51/81/35 49/82/35 3/83/35 -f 52/84/36 50/85/36 11/86/36 -f 15/87/37 61/88/37 63/89/37 -f 58/90/38 56/91/38 9/92/38 -f 46/93/39 69/94/39 13/95/39 -f 57/96/38 59/97/38 48/98/38 -f 70/99/40 68/100/40 5/101/40 -f 64/102/37 62/103/37 7/104/37 -f 25/55/1 2/1/1 26/3/1 -f 26/54/2 4/4/2 27/6/2 -f 27/53/3 6/7/3 28/9/3 -f 29/52/4 28/10/4 10/12/4 -f 29/51/5 10/13/5 30/15/5 -f 30/50/6 12/16/6 31/18/6 -f 6/21/7 4/105/7 2/106/7 -f 2/106/7 16/107/7 6/21/7 -f 14/108/7 12/19/7 6/21/7 -f 10/20/7 8/109/7 6/21/7 -f 6/21/7 16/107/7 14/108/7 -f 25/49/8 32/22/8 2/24/8 -f 31/48/9 14/25/9 32/27/9 -f 15/30/10 1/110/10 7/28/10 -f 3/111/10 5/112/10 7/28/10 -f 7/28/10 9/113/10 11/114/10 -f 11/114/10 13/29/10 7/28/10 -f 1/110/10 3/111/10 7/28/10 -f 38/37/11 23/31/11 39/33/11 -f 39/33/12 24/32/12 40/35/12 -f 37/39/13 22/36/13 38/37/13 -f 36/41/14 21/38/14 37/39/14 -f 35/43/15 20/40/15 36/41/15 -f 34/59/16 19/42/16 35/43/16 -f 33/47/17 18/44/17 34/46/17 -f 40/35/18 17/34/18 33/47/18 -f 23/31/19 31/48/19 24/32/19 -f 24/32/20 32/22/20 17/34/20 -f 23/31/21 22/36/21 31/18/21 -f 22/36/22 21/38/22 30/15/22 -f 20/40/23 28/10/23 21/38/23 -f 19/42/24 27/53/24 20/40/24 -f 18/44/25 26/54/25 19/45/25 -f 18/44/26 17/34/26 26/3/26 -f 48/79/27 40/35/27 41/56/27 -f 41/77/28 33/47/28 42/57/28 -f 43/75/29 42/58/29 35/43/29 -f 44/73/30 43/60/30 36/41/30 -f 45/71/31 44/61/31 37/39/31 -f 45/69/32 37/39/32 46/62/32 -f 47/67/33 39/33/33 48/63/33 -f 47/65/34 46/64/34 39/33/34 -f 13/115/11 46/64/11 15/66/11 -f 15/116/12 47/67/12 1/68/12 -f 11/117/13 45/69/13 13/70/13 -f 9/118/14 44/61/14 11/72/14 -f 7/119/15 43/60/15 9/74/15 -f 5/120/16 42/58/16 7/76/16 -f 3/121/17 41/77/17 5/78/17 -f 1/122/18 48/79/18 3/80/18 -f 3/83/35 41/123/35 51/81/35 -f 53/124/35 51/81/35 41/123/35 -f 11/86/36 45/125/36 52/84/36 -f 54/126/36 52/84/36 45/125/36 -f 63/89/37 65/127/37 47/128/37 -f 47/128/37 15/87/37 63/89/37 -f 9/92/38 44/129/38 58/90/38 -f 60/130/38 58/90/38 44/129/38 -f 46/93/39 71/131/39 69/94/39 -f 67/132/39 13/95/39 69/94/39 -f 48/98/38 1/133/38 57/96/38 -f 55/134/38 57/96/38 1/133/38 -f 5/101/40 42/135/40 70/99/40 -f 72/136/40 70/99/40 42/135/40 -f 7/104/37 43/137/37 64/102/37 -f 66/138/37 64/102/37 43/137/37 diff --git a/src/main/resources/assets/hbm/models/bombs/Prototype.obj b/src/main/resources/assets/hbm/models/bombs/Prototype.obj new file mode 100644 index 000000000..54f1186bc --- /dev/null +++ b/src/main/resources/assets/hbm/models/bombs/Prototype.obj @@ -0,0 +1,1639 @@ +# Blender 4.0.2 +# www.blender.org +mtllib Prototype.mtl +o Cylinder.001 +v 0.000001 1.000000 2.500000 +v -0.000001 1.000000 -2.500000 +v -0.218749 0.941386 2.500000 +v -0.218751 0.941386 -2.500000 +v -0.378885 0.781250 2.500000 +v -0.378887 0.781250 -2.500000 +v -0.437499 0.562500 2.500000 +v -0.437501 0.562500 -2.500000 +v -0.378885 0.343750 2.500000 +v -0.378887 0.343750 -2.500000 +v -0.218749 0.183614 2.500000 +v -0.218751 0.183614 -2.500000 +v 0.000001 0.125000 2.500000 +v -0.000001 0.125000 -2.500000 +v 0.218751 0.183614 2.500000 +v 0.218749 0.183614 -2.500000 +v 0.378887 0.343750 2.500000 +v 0.378885 0.343750 -2.500000 +v 0.437501 0.562500 2.500000 +v 0.437499 0.562500 -2.500000 +v 0.378887 0.781250 2.500000 +v 0.378885 0.781250 -2.500000 +v 0.218751 0.941386 2.500000 +v 0.218749 0.941386 -2.500000 +v -0.125001 0.779006 -2.812500 +v -0.000001 0.812500 -2.812500 +v -0.216507 0.687500 -2.812500 +v -0.250001 0.562500 -2.812500 +v -0.216507 0.437500 -2.812500 +v -0.125001 0.345994 -2.812500 +v -0.000001 0.312500 -2.812500 +v 0.124999 0.345994 -2.812500 +v 0.216505 0.437500 -2.812500 +v 0.249999 0.562500 -2.812500 +v 0.216505 0.687500 -2.812500 +v 0.124999 0.779006 -2.812500 +v 0.000001 0.812500 2.812500 +v -0.124999 0.779006 2.812500 +v -0.216505 0.687500 2.812500 +v -0.249999 0.562500 2.812500 +v -0.216505 0.437500 2.812500 +v -0.124999 0.345994 2.812500 +v 0.000001 0.312500 2.812500 +v 0.125001 0.345994 2.812500 +v 0.216507 0.437500 2.812500 +v 0.250001 0.562500 2.812500 +v 0.216507 0.687500 2.812500 +v 0.125001 0.779006 2.812500 +v -0.061399 0.668844 -3.500000 +v -0.099888 0.735509 -3.438635 +v -0.000001 0.762273 -3.438635 +v -0.000001 0.685295 -3.500000 +v -0.106345 0.623898 -3.500000 +v -0.173010 0.662387 -3.438635 +v -0.122797 0.562500 -3.500000 +v -0.199774 0.562500 -3.438635 +v -0.106345 0.501102 -3.500000 +v -0.173010 0.462613 -3.438635 +v -0.061399 0.456156 -3.500000 +v -0.099888 0.389491 -3.438635 +v -0.000001 0.439705 -3.500000 +v -0.000001 0.362727 -3.438635 +v 0.061396 0.456156 -3.500000 +v 0.099885 0.389491 -3.438635 +v 0.106342 0.501102 -3.500000 +v 0.173007 0.462613 -3.438635 +v 0.122794 0.562500 -3.500000 +v 0.199772 0.562500 -3.438635 +v 0.106342 0.623897 -3.500000 +v 0.173007 0.662386 -3.438635 +v 0.061396 0.668844 -3.500000 +v 0.099885 0.735508 -3.438635 +v 0.000001 0.685295 3.500000 +v 0.000001 0.762273 3.438635 +v -0.099885 0.735509 3.438635 +v -0.061396 0.668844 3.500000 +v -0.173007 0.662387 3.438635 +v -0.106343 0.623898 3.500000 +v -0.199772 0.562500 3.438635 +v -0.122794 0.562500 3.500000 +v -0.173007 0.462614 3.438635 +v -0.106343 0.501103 3.500000 +v -0.099885 0.389492 3.438635 +v -0.061396 0.456156 3.500000 +v 0.000001 0.362727 3.438635 +v 0.000001 0.439705 3.500000 +v 0.099888 0.389491 3.438635 +v 0.061399 0.456156 3.500000 +v 0.173010 0.462613 3.438635 +v 0.106345 0.501102 3.500000 +v 0.199774 0.562500 3.438635 +v 0.122796 0.562500 3.500000 +v 0.173010 0.662387 3.438635 +v 0.106345 0.623898 3.500000 +v 0.099888 0.735509 3.438635 +v 0.061399 0.668844 3.500000 +v 0.000000 1.000000 0.125000 +v 0.000000 1.000000 -0.125000 +v -0.218750 0.941386 0.125000 +v -0.218750 0.941386 -0.125000 +v -0.378886 0.781250 0.125000 +v -0.378886 0.781250 -0.125000 +v -0.437500 0.562500 0.125000 +v -0.437500 0.562500 -0.125000 +v -0.378886 0.343750 0.125000 +v -0.378886 0.343750 -0.125000 +v -0.218750 0.183614 0.125000 +v -0.218750 0.183614 -0.125000 +v -0.000000 0.125000 0.125000 +v -0.000000 0.125000 -0.125000 +v 0.218750 0.183614 0.125000 +v 0.218750 0.183614 -0.125000 +v 0.378886 0.343750 0.125000 +v 0.378886 0.343750 -0.125000 +v 0.437500 0.562500 0.125000 +v 0.437500 0.562500 -0.125000 +v 0.378886 0.781250 0.125000 +v 0.378886 0.781250 -0.125000 +v 0.218750 0.941386 0.125000 +v 0.218750 0.941386 -0.125000 +v 0.000000 1.062500 0.125000 +v -0.250000 0.995513 0.125000 +v -0.250000 0.995513 -0.125000 +v 0.000000 1.062500 -0.125000 +v -0.433013 0.812500 0.125000 +v -0.433013 0.812500 -0.125000 +v -0.500000 0.562500 0.125000 +v -0.500000 0.562500 -0.125000 +v -0.433013 0.312500 0.125000 +v -0.433013 0.312500 -0.125000 +v -0.250000 0.129487 0.125000 +v -0.250000 0.129487 -0.125000 +v -0.000000 0.062500 0.125000 +v -0.000000 0.062500 -0.125000 +v 0.250000 0.129487 0.125000 +v 0.250000 0.129487 -0.125000 +v 0.433013 0.312500 0.125000 +v 0.433013 0.312500 -0.125000 +v 0.500000 0.562500 0.125000 +v 0.500000 0.562500 -0.125000 +v 0.433013 0.812500 0.125000 +v 0.433013 0.812500 -0.125000 +v 0.250000 0.995513 0.125000 +v 0.250000 0.995513 -0.125000 +v 0.000001 1.000000 2.500000 +v 0.000001 1.000000 2.312500 +v -0.218749 0.941386 2.500000 +v -0.218749 0.941386 2.312500 +v -0.378885 0.781250 2.500000 +v -0.378885 0.781250 2.312500 +v -0.437499 0.562500 2.500000 +v -0.437499 0.562500 2.312500 +v -0.378885 0.343750 2.500000 +v -0.378885 0.343750 2.312500 +v -0.218749 0.183614 2.500000 +v -0.218749 0.183614 2.312500 +v 0.000001 0.125000 2.500000 +v 0.000001 0.125000 2.312500 +v 0.218751 0.183614 2.500000 +v 0.218751 0.183614 2.312500 +v 0.378887 0.343750 2.500000 +v 0.378887 0.343750 2.312500 +v 0.437501 0.562500 2.500000 +v 0.437501 0.562500 2.312500 +v 0.378887 0.781250 2.500000 +v 0.378887 0.781250 2.312500 +v 0.218751 0.941386 2.500000 +v 0.218751 0.941386 2.312500 +v 0.000001 1.062500 2.500000 +v -0.249999 0.995513 2.500000 +v -0.249999 0.995513 2.312500 +v 0.000001 1.062500 2.312500 +v -0.433012 0.812500 2.500000 +v -0.433012 0.812500 2.312500 +v -0.499999 0.562500 2.500000 +v -0.499999 0.562500 2.312500 +v -0.433012 0.312500 2.500000 +v -0.433012 0.312500 2.312500 +v -0.249999 0.129487 2.500000 +v -0.249999 0.129487 2.312500 +v 0.000001 0.062500 2.500000 +v 0.000001 0.062500 2.312500 +v 0.250001 0.129487 2.500000 +v 0.250001 0.129487 2.312500 +v 0.433014 0.312500 2.500000 +v 0.433013 0.312500 2.312500 +v 0.500001 0.562500 2.500000 +v 0.500001 0.562500 2.312500 +v 0.433014 0.812500 2.500000 +v 0.433014 0.812500 2.312500 +v 0.250001 0.995513 2.500000 +v 0.250001 0.995513 2.312500 +v -0.375652 0.054267 -2.343750 +v -0.331457 0.098461 -2.343750 +v -0.375650 0.054267 2.343750 +v -0.331456 0.098461 2.343750 +v -0.508234 0.186850 -2.343750 +v -0.464040 0.231044 -2.343750 +v -0.508232 0.186850 2.343750 +v -0.464038 0.231044 2.343750 +v -0.375651 0.142655 -1.281250 +v -0.243069 0.275238 -1.281250 +v -0.375651 0.142655 -1.156250 +v -0.243069 0.275238 -1.156250 +v -0.419845 0.186850 -1.281250 +v -0.287263 0.319432 -1.281250 +v -0.419845 0.186850 -1.156250 +v -0.287263 0.319432 -1.156250 +v -0.375651 0.142655 -0.062500 +v -0.243068 0.275238 -0.062500 +v -0.375651 0.142655 0.062500 +v -0.243068 0.275238 0.062500 +v -0.419845 0.186850 -0.062500 +v -0.287262 0.319432 -0.062500 +v -0.419845 0.186850 0.062500 +v -0.287262 0.319432 0.062500 +v -0.375650 0.142655 1.156250 +v -0.243068 0.275238 1.156250 +v -0.375650 0.142655 1.281250 +v -0.243068 0.275238 1.281250 +v -0.419844 0.186850 1.156250 +v -0.287262 0.319432 1.156250 +v -0.419844 0.186850 1.281250 +v -0.287262 0.319432 1.281250 +v 0.624999 -0.000000 -2.468750 +v 0.437499 0.500000 -2.468750 +v 0.624999 -0.000000 -2.343750 +v 0.437499 0.500000 -2.343750 +v -0.625001 0.000000 -2.468750 +v -0.437501 0.500000 -2.468750 +v -0.625001 0.000000 -2.343750 +v -0.437501 0.500000 -2.343750 +v -0.000001 1.000000 -2.300000 +v -0.000001 1.000000 -2.487500 +v -0.218751 0.941386 -2.300000 +v -0.218751 0.941386 -2.487500 +v -0.378887 0.781250 -2.300000 +v -0.378887 0.781250 -2.487500 +v -0.437501 0.562500 -2.300000 +v -0.437501 0.562500 -2.487500 +v -0.378887 0.343750 -2.300000 +v -0.378887 0.343750 -2.487500 +v -0.218751 0.183614 -2.300000 +v -0.218751 0.183614 -2.487500 +v -0.000001 0.125000 -2.300000 +v -0.000001 0.125000 -2.487500 +v 0.218749 0.183614 -2.300000 +v 0.218749 0.183614 -2.487500 +v 0.378885 0.343750 -2.300000 +v 0.378885 0.343750 -2.487500 +v 0.437499 0.562500 -2.300000 +v 0.437499 0.562500 -2.487500 +v 0.378885 0.781250 -2.300000 +v 0.378885 0.781250 -2.487500 +v 0.218749 0.941386 -2.300000 +v 0.218749 0.941386 -2.487500 +v -0.000001 1.062500 -2.300000 +v -0.250001 0.995513 -2.300000 +v -0.250001 0.995513 -2.487500 +v -0.000001 1.062500 -2.487500 +v -0.433013 0.812500 -2.300000 +v -0.433014 0.812500 -2.487500 +v -0.500001 0.562500 -2.300000 +v -0.500001 0.562500 -2.487500 +v -0.433014 0.312500 -2.300000 +v -0.433014 0.312500 -2.487500 +v -0.250001 0.129487 -2.300000 +v -0.250001 0.129487 -2.487500 +v -0.000001 0.062500 -2.300000 +v -0.000001 0.062500 -2.487500 +v 0.249999 0.129487 -2.300000 +v 0.249999 0.129487 -2.487500 +v 0.433012 0.312500 -2.300000 +v 0.433012 0.312500 -2.487500 +v 0.499999 0.562500 -2.300000 +v 0.499999 0.562500 -2.487500 +v 0.433012 0.812500 -2.300000 +v 0.433012 0.812500 -2.487500 +v 0.249999 0.995513 -2.300000 +v 0.249999 0.995513 -2.487500 +v 0.625001 -0.000000 2.343750 +v 0.437501 0.500000 2.343750 +v 0.625001 -0.000000 2.468750 +v 0.437501 0.500000 2.468750 +v -0.624999 0.000000 2.343750 +v -0.437499 0.500000 2.343750 +v -0.624999 0.000000 2.468750 +v -0.437499 0.500000 2.468750 +v 0.508232 0.186849 -2.343750 +v 0.464038 0.231044 -2.343750 +v 0.508234 0.186849 2.343750 +v 0.464040 0.231044 2.343750 +v 0.375649 0.054267 -2.343750 +v 0.331455 0.098461 -2.343750 +v 0.375651 0.054267 2.343750 +v 0.331457 0.098461 2.343750 +v 0.419844 0.186849 -1.281250 +v 0.287262 0.319432 -1.281250 +v 0.419844 0.186849 -1.156250 +v 0.287262 0.319432 -1.156250 +v 0.375650 0.142655 -1.281250 +v 0.243067 0.275238 -1.281250 +v 0.375650 0.142655 -1.156250 +v 0.243067 0.275238 -1.156250 +v 0.419845 0.186849 -0.062500 +v 0.287262 0.319432 -0.062500 +v 0.419845 0.186849 0.062500 +v 0.287262 0.319432 0.062500 +v 0.375650 0.142655 -0.062500 +v 0.243068 0.275238 -0.062500 +v 0.375650 0.142655 0.062500 +v 0.243068 0.275238 0.062500 +v 0.419845 0.186849 1.156250 +v 0.287263 0.319432 1.156250 +v 0.419845 0.186849 1.281250 +v 0.287263 0.319432 1.281250 +v 0.375651 0.142655 1.156250 +v 0.243068 0.275238 1.156250 +v 0.375651 0.142655 1.281250 +v 0.243068 0.275238 1.281250 +vn -0.0000 1.0000 -0.0000 +vn -0.5000 0.8660 -0.0000 +vn -0.8660 0.5000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.8660 -0.5000 -0.0000 +vn -0.5000 -0.8660 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn 0.5000 -0.8660 -0.0000 +vn 0.8660 -0.5000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn 0.8660 0.5000 -0.0000 +vn -0.7426 0.4287 -0.5145 +vn -0.8575 -0.0000 -0.5145 +vn 0.5000 0.8660 -0.0000 +vn 0.7426 0.4287 0.5145 +vn 0.8575 -0.0000 0.5145 +vn -0.9968 -0.0000 -0.0800 +vn -0.8633 -0.4984 -0.0800 +vn 0.7426 0.4287 -0.5145 +vn 0.4287 0.7426 -0.5145 +vn -0.4287 0.7426 -0.5145 +vn 0.8575 -0.0000 -0.5145 +vn 0.7426 -0.4287 -0.5145 +vn 0.4287 -0.7426 -0.5145 +vn -0.0000 -0.8575 -0.5145 +vn -0.4287 -0.7426 -0.5145 +vn -0.7426 -0.4287 -0.5145 +vn -0.0000 0.8575 -0.5145 +vn 0.9968 -0.0000 0.0800 +vn 0.8633 -0.4984 0.0800 +vn 0.7426 -0.4287 0.5145 +vn 0.4287 -0.7426 0.5145 +vn -0.0000 -0.8575 0.5145 +vn -0.4287 -0.7426 0.5145 +vn -0.7426 -0.4287 0.5145 +vn -0.8575 -0.0000 0.5145 +vn -0.0000 0.8575 0.5145 +vn 0.4287 0.7426 0.5145 +vn -0.4287 0.7426 0.5145 +vn -0.7426 0.4287 0.5145 +vn -0.4984 0.8633 -0.0800 +vn -0.8633 0.4984 -0.0800 +vn 0.4984 0.8633 -0.0800 +vn 0.8633 0.4984 -0.0800 +vn 0.4984 -0.8633 -0.0800 +vn 0.8633 -0.4984 -0.0800 +vn -0.4984 -0.8633 -0.0800 +vn -0.0000 -0.0000 -1.0000 +vn 0.9968 -0.0000 -0.0800 +vn -0.0000 -0.9968 -0.0800 +vn -0.0000 0.9968 -0.0800 +vn -0.0000 0.9968 0.0800 +vn 0.4984 0.8633 0.0800 +vn -0.4984 -0.8633 0.0800 +vn -0.0000 -0.9968 0.0800 +vn -0.8633 0.4984 0.0800 +vn -0.4984 0.8633 0.0800 +vn -0.9968 -0.0000 0.0800 +vn 0.8633 0.4984 0.0800 +vn 0.4984 -0.8633 0.0800 +vn -0.8633 -0.4984 0.0800 +vn -0.0000 -0.0000 1.0000 +vn -0.3117 0.5398 -0.7819 +vn -0.0000 0.6234 -0.7819 +vn -0.5398 0.3117 -0.7819 +vn -0.6234 -0.0000 -0.7819 +vn -0.5398 -0.3117 -0.7819 +vn -0.3117 -0.5398 -0.7819 +vn -0.0000 -0.6234 -0.7819 +vn 0.3117 -0.5398 -0.7819 +vn 0.5398 -0.3117 -0.7819 +vn 0.6233 -0.0000 -0.7819 +vn 0.6234 -0.0000 -0.7819 +vn 0.5398 0.3117 -0.7819 +vn 0.3117 0.5398 -0.7819 +vn -0.3117 0.5398 0.7819 +vn -0.0000 0.6234 0.7819 +vn -0.5398 0.3117 0.7819 +vn -0.6234 -0.0000 0.7819 +vn -0.5398 -0.3117 0.7819 +vn -0.6233 -0.0000 0.7819 +vn -0.3117 -0.5398 0.7819 +vn -0.0000 -0.6234 0.7819 +vn 0.3117 -0.5398 0.7819 +vn 0.5398 -0.3117 0.7819 +vn 0.6233 -0.0000 0.7819 +vn 0.5398 0.3117 0.7819 +vn 0.6234 -0.0000 0.7819 +vn 0.3117 0.5398 0.7819 +vn 0.7071 -0.7071 -0.0000 +vn -0.7071 0.7071 -0.0000 +vn -0.7071 -0.7071 -0.0000 +vn 0.7071 0.7071 -0.0000 +vn 0.9363 0.3511 -0.0000 +vn -0.9363 0.3511 -0.0000 +vt 0.673611 0.833333 +vt 0.118056 0.861111 +vt 0.118056 0.833333 +vt 0.673611 0.861111 +vt 0.118056 0.888889 +vt 0.673611 0.888889 +vt 0.118056 0.916667 +vt 0.673611 0.916667 +vt 0.118056 0.944444 +vt 0.673611 0.972222 +vt 0.118056 0.972222 +vt 0.118056 1.000000 +vt 0.673611 0.666667 +vt 0.118056 0.694444 +vt 0.118056 0.666667 +vt 0.673611 0.694444 +vt 0.118056 0.722222 +vt 0.673611 0.722222 +vt 0.118056 0.750000 +vt 0.673611 0.750000 +vt 0.118056 0.777778 +vt 0.673611 0.888889 +vt 0.715278 0.910714 +vt 0.673611 0.916667 +vt 0.673611 0.777778 +vt 0.118056 0.805556 +vt 0.673611 0.805556 +vt 0.076389 0.755953 +vt 0.118056 0.750000 +vt 0.715278 0.922619 +vt 0.784722 0.936898 +vt 0.715278 0.938492 +vt 0.673611 0.777778 +vt 0.715278 0.799603 +vt 0.673611 0.861111 +vt 0.715278 0.882937 +vt 0.673611 0.888889 +vt 0.673611 0.750000 +vt 0.715278 0.771825 +vt 0.673611 0.722222 +vt 0.715278 0.744048 +vt 0.673611 0.694444 +vt 0.715278 0.716270 +vt 0.715278 0.688492 +vt 0.673611 0.972222 +vt 0.715278 0.994048 +vt 0.673611 1.000000 +vt 0.673611 0.944445 +vt 0.715278 0.966270 +vt 0.673611 0.972222 +vt 0.673611 0.916667 +vt 0.673611 0.944445 +vt 0.673611 0.805556 +vt 0.715278 0.827381 +vt 0.673611 0.833333 +vt 0.673611 0.833333 +vt 0.715278 0.855159 +vt 0.673611 0.861111 +vt 0.076389 0.744047 +vt 0.006944 0.729769 +vt 0.076389 0.728175 +vt 0.076389 0.728175 +vt 0.118056 0.722222 +vt 0.076389 0.700397 +vt 0.118056 0.694444 +vt 0.076389 0.672619 +vt 0.118056 1.000000 +vt 0.076389 0.978175 +vt 0.118056 0.972222 +vt 0.118056 0.972222 +vt 0.076389 0.950397 +vt 0.118056 0.944445 +vt 0.118056 0.944445 +vt 0.076389 0.922620 +vt 0.118056 0.916667 +vt 0.118056 0.833333 +vt 0.076389 0.811508 +vt 0.118056 0.805556 +vt 0.118056 0.861111 +vt 0.076389 0.839286 +vt 0.118056 0.833333 +vt 0.118056 0.916667 +vt 0.076389 0.894842 +vt 0.118056 0.888889 +vt 0.076389 0.783731 +vt 0.118056 0.777778 +vt 0.118056 0.888889 +vt 0.076389 0.867064 +vt 0.118056 0.861111 +vt 0.715278 0.867064 +vt 0.784722 0.881342 +vt 0.784722 0.785325 +vt 0.784722 0.798009 +vt 0.715278 0.700397 +vt 0.784722 0.714675 +vt 0.715278 0.950397 +vt 0.784722 0.964675 +vt 0.956473 0.958333 +vt 0.944444 0.937500 +vt 0.932416 0.958333 +vt 0.715278 0.728175 +vt 0.784722 0.742453 +vt 0.715278 0.978175 +vt 0.784722 0.992453 +vt 0.715278 0.894841 +vt 0.784722 0.909120 +vt 0.715278 0.811508 +vt 0.784722 0.825786 +vt 0.715278 0.755952 +vt 0.784722 0.770231 +vt 0.715278 0.672619 +vt 0.784722 0.686898 +vt 0.076389 0.827381 +vt 0.006944 0.813102 +vt 0.076389 0.811508 +vt 0.076389 0.978175 +vt 0.006944 0.992453 +vt 0.006944 0.979769 +vt 0.076389 0.882936 +vt 0.006944 0.868658 +vt 0.076389 0.867064 +vt 0.076389 0.910714 +vt 0.006944 0.896435 +vt 0.076389 0.894841 +vt 0.076389 0.771825 +vt 0.006944 0.757547 +vt 0.076389 0.755952 +vt 0.076389 0.688492 +vt 0.006944 0.674213 +vt 0.076389 0.672619 +vt 0.076389 0.938492 +vt 0.006944 0.924213 +vt 0.076389 0.922619 +vt 0.076389 0.799603 +vt 0.006944 0.785324 +vt 0.076389 0.783730 +vt 0.076389 0.716269 +vt 0.006944 0.701991 +vt 0.076389 0.700397 +vt 0.076389 0.966270 +vt 0.006944 0.951991 +vt 0.076389 0.950397 +vt 0.958333 0.986111 +vt 0.937500 0.974083 +vt 0.937500 0.998139 +vt 0.784722 0.853564 +vt 0.791667 0.843324 +vt 0.791667 0.851121 +vt 0.784722 0.868658 +vt 0.791667 0.878898 +vt 0.784722 0.881342 +vt 0.784722 0.896436 +vt 0.791667 0.906676 +vt 0.784722 0.909120 +vt 0.784722 0.936898 +vt 0.791667 0.926657 +vt 0.791667 0.934454 +vt 0.784722 0.964675 +vt 0.791667 0.954435 +vt 0.791667 0.962232 +vt 0.784722 0.979769 +vt 0.791667 0.990010 +vt 0.784722 0.992453 +vt 0.784722 0.686898 +vt 0.791667 0.676657 +vt 0.791667 0.684454 +vt 0.784722 0.701991 +vt 0.791667 0.712232 +vt 0.784722 0.714675 +vt 0.784722 0.729769 +vt 0.791667 0.740009 +vt 0.784722 0.742453 +vt 0.784722 0.757547 +vt 0.791667 0.767787 +vt 0.784722 0.770231 +vt 0.791667 0.795565 +vt 0.784722 0.798009 +vt 0.784722 0.825787 +vt 0.791667 0.815546 +vt 0.791667 0.823343 +vt 0.784722 0.840880 +vt 0.784722 0.853564 +vt 0.006944 0.853564 +vt 0.000000 0.843324 +vt 0.006944 0.840880 +vt 0.006944 0.881342 +vt 0.000000 0.871102 +vt 0.006944 0.868658 +vt 0.006944 0.909120 +vt 0.000000 0.898880 +vt 0.006944 0.896436 +vt 0.006944 0.936898 +vt 0.000000 0.926657 +vt 0.006944 0.924214 +vt 0.006944 0.964675 +vt 0.000000 0.954435 +vt 0.006944 0.951991 +vt 0.006944 0.992453 +vt 0.000000 0.982213 +vt 0.006944 0.979769 +vt 0.006944 0.686898 +vt 0.000000 0.676657 +vt 0.006944 0.674214 +vt 0.006944 0.701991 +vt 0.000000 0.712232 +vt 0.000000 0.704435 +vt 0.006944 0.729769 +vt 0.000000 0.740009 +vt 0.000000 0.732213 +vt 0.006944 0.770231 +vt 0.000000 0.759991 +vt 0.006944 0.757547 +vt 0.006944 0.798009 +vt 0.000000 0.787768 +vt 0.006944 0.785325 +vt 0.006944 0.825787 +vt 0.000000 0.815546 +vt 0.006944 0.813103 +vt 0.076389 0.839286 +vt 0.006944 0.853564 +vt 0.006944 0.840880 +vt 0.805556 0.833333 +vt 0.833333 0.805556 +vt 0.833333 0.833333 +vt 0.805556 0.805556 +vt 0.833333 0.777778 +vt 0.805556 0.777778 +vt 0.833333 0.750000 +vt 0.805556 0.750000 +vt 0.833333 0.722222 +vt 0.805556 0.722222 +vt 0.833333 0.694444 +vt 0.805556 0.694444 +vt 0.833333 0.666667 +vt 0.805556 1.000000 +vt 0.833333 0.972222 +vt 0.833333 1.000000 +vt 0.805556 0.972222 +vt 0.833333 0.944444 +vt 0.805556 0.944444 +vt 0.833333 0.916667 +vt 0.805556 0.916667 +vt 0.833333 0.888889 +vt 0.805556 0.888889 +vt 0.833333 0.861111 +vt 0.805556 0.861111 +vt 0.840278 0.831597 +vt 0.833333 0.805556 +vt 0.840278 0.807292 +vt 0.798611 0.807292 +vt 0.805556 0.833333 +vt 0.798611 0.831597 +vt 0.840278 0.803819 +vt 0.833333 0.777778 +vt 0.840278 0.779514 +vt 0.798611 0.779514 +vt 0.798611 0.803819 +vt 0.840278 0.776042 +vt 0.833333 0.750000 +vt 0.840278 0.751736 +vt 0.798611 0.751736 +vt 0.798611 0.776042 +vt 0.840278 0.748264 +vt 0.833333 0.722222 +vt 0.840278 0.723958 +vt 0.798611 0.723958 +vt 0.798611 0.748264 +vt 0.840278 0.720486 +vt 0.833333 0.694444 +vt 0.840278 0.696181 +vt 0.798611 0.696181 +vt 0.798611 0.720486 +vt 0.840278 0.692708 +vt 0.840278 0.668403 +vt 0.798611 0.668403 +vt 0.798611 0.692708 +vt 0.840278 0.998264 +vt 0.833333 0.972222 +vt 0.840278 0.973958 +vt 0.798611 0.973958 +vt 0.805556 1.000000 +vt 0.798611 0.998264 +vt 0.840278 0.970486 +vt 0.833333 0.944445 +vt 0.840278 0.946181 +vt 0.798611 0.946181 +vt 0.805556 0.972222 +vt 0.798611 0.970486 +vt 0.840278 0.942708 +vt 0.833333 0.916667 +vt 0.840278 0.918403 +vt 0.798611 0.918403 +vt 0.805556 0.944445 +vt 0.798611 0.942708 +vt 0.840278 0.914931 +vt 0.833333 0.888889 +vt 0.840278 0.890625 +vt 0.798611 0.890625 +vt 0.805556 0.916667 +vt 0.798611 0.914931 +vt 0.840278 0.887153 +vt 0.833333 0.861111 +vt 0.840278 0.862847 +vt 0.798611 0.862847 +vt 0.805556 0.888889 +vt 0.798611 0.887153 +vt 0.840278 0.859375 +vt 0.833333 0.833333 +vt 0.840278 0.835070 +vt 0.798611 0.835070 +vt 0.805556 0.861111 +vt 0.798611 0.859375 +vt 0.854167 0.833333 +vt 0.875000 0.805556 +vt 0.875000 0.833333 +vt 0.854167 0.805556 +vt 0.875000 0.777778 +vt 0.854167 0.777778 +vt 0.875000 0.750000 +vt 0.854167 0.750000 +vt 0.875000 0.722222 +vt 0.854167 0.722222 +vt 0.875000 0.694444 +vt 0.854167 0.694444 +vt 0.875000 0.666667 +vt 0.854167 1.000000 +vt 0.875000 0.972222 +vt 0.875000 1.000000 +vt 0.854167 0.972222 +vt 0.875000 0.944444 +vt 0.854167 0.944444 +vt 0.875000 0.916667 +vt 0.854167 0.916667 +vt 0.875000 0.888889 +vt 0.854167 0.888889 +vt 0.875000 0.861111 +vt 0.854167 0.861111 +vt 0.881944 0.831597 +vt 0.875000 0.805556 +vt 0.881944 0.807292 +vt 0.847222 0.807292 +vt 0.854167 0.833333 +vt 0.847222 0.831597 +vt 0.881944 0.779514 +vt 0.875000 0.777778 +vt 0.847222 0.779514 +vt 0.847222 0.803819 +vt 0.881944 0.776042 +vt 0.875000 0.750000 +vt 0.881944 0.751736 +vt 0.847222 0.751736 +vt 0.847222 0.776042 +vt 0.881944 0.748264 +vt 0.875000 0.722222 +vt 0.881944 0.723958 +vt 0.847222 0.723958 +vt 0.847222 0.748264 +vt 0.881944 0.720486 +vt 0.875000 0.694444 +vt 0.881944 0.696181 +vt 0.847222 0.696181 +vt 0.847222 0.720486 +vt 0.881944 0.692708 +vt 0.881944 0.668403 +vt 0.847222 0.668403 +vt 0.847222 0.692708 +vt 0.881944 0.998264 +vt 0.875000 0.972222 +vt 0.881944 0.973958 +vt 0.847222 0.973958 +vt 0.854167 1.000000 +vt 0.847222 0.998264 +vt 0.881944 0.970486 +vt 0.875000 0.944445 +vt 0.881944 0.946181 +vt 0.847222 0.946181 +vt 0.854167 0.972222 +vt 0.847222 0.970486 +vt 0.881944 0.942708 +vt 0.875000 0.916667 +vt 0.881944 0.918403 +vt 0.847222 0.918403 +vt 0.854167 0.944445 +vt 0.847222 0.942708 +vt 0.881944 0.914931 +vt 0.875000 0.888889 +vt 0.881944 0.890625 +vt 0.847222 0.890625 +vt 0.854167 0.916667 +vt 0.847222 0.914931 +vt 0.881944 0.887153 +vt 0.875000 0.861111 +vt 0.881944 0.862847 +vt 0.847222 0.887153 +vt 0.854167 0.861111 +vt 0.854167 0.888889 +vt 0.881944 0.859375 +vt 0.875000 0.833333 +vt 0.881944 0.835070 +vt 0.847222 0.835070 +vt 0.854167 0.861111 +vt 0.847222 0.859375 +vt 0.000000 0.500000 +vt 0.527778 0.506944 +vt 0.000000 0.506944 +vt 0.527778 0.479167 +vt 0.000000 0.472222 +vt 0.527778 0.472222 +vt 0.000000 0.451389 +vt 0.527778 0.451389 +vt 0.527778 0.500000 +vt 0.000000 0.479167 +vt 0.354167 0.659722 +vt 0.340278 0.638889 +vt 0.354167 0.638889 +vt 0.333333 0.659722 +vt 0.333333 0.638889 +vt 0.319444 0.638889 +vt 0.361111 0.659722 +vt 0.361111 0.638889 +vt 0.354167 0.631944 +vt 0.340278 0.611111 +vt 0.354167 0.611111 +vt 0.340278 0.631944 +vt 0.333333 0.611111 +vt 0.319444 0.631944 +vt 0.319444 0.611111 +vt 0.361111 0.631944 +vt 0.361111 0.611111 +vt 0.354167 0.604167 +vt 0.340278 0.583333 +vt 0.354167 0.583333 +vt 0.333333 0.604167 +vt 0.333333 0.583333 +vt 0.319444 0.583333 +vt 0.361111 0.604167 +vt 0.361111 0.583333 +vt 0.013889 0.659722 +vt 0.000000 0.604167 +vt 0.013889 0.604167 +vt 0.284722 0.659722 +vt 0.166667 0.604167 +vt 0.305556 0.604167 +vt 0.166667 0.659722 +vt 0.152778 0.604167 +vt 0.131944 0.659722 +vt 0.152778 0.590278 +vt 0.013889 0.590278 +vt 0.895833 0.833333 +vt 0.916667 0.805556 +vt 0.916667 0.833333 +vt 0.895833 0.805556 +vt 0.916667 0.777778 +vt 0.895833 0.777778 +vt 0.916667 0.750000 +vt 0.895833 0.750000 +vt 0.916667 0.722222 +vt 0.895833 0.722222 +vt 0.916667 0.694444 +vt 0.895833 0.694444 +vt 0.916667 0.666667 +vt 0.895833 1.000000 +vt 0.916667 0.972222 +vt 0.916667 1.000000 +vt 0.895833 0.972222 +vt 0.916667 0.944444 +vt 0.895833 0.944444 +vt 0.916667 0.916667 +vt 0.895833 0.916667 +vt 0.916667 0.888889 +vt 0.895833 0.888889 +vt 0.916667 0.861111 +vt 0.895833 0.861111 +vt 0.923611 0.831597 +vt 0.916667 0.805556 +vt 0.923611 0.807292 +vt 0.888889 0.807292 +vt 0.895833 0.833333 +vt 0.888889 0.831597 +vt 0.923611 0.803819 +vt 0.916667 0.777778 +vt 0.923611 0.779514 +vt 0.888889 0.779514 +vt 0.888889 0.803819 +vt 0.923611 0.776042 +vt 0.916667 0.750000 +vt 0.923611 0.751736 +vt 0.888889 0.751736 +vt 0.888889 0.776042 +vt 0.923611 0.748264 +vt 0.916667 0.722222 +vt 0.923611 0.723958 +vt 0.888889 0.723958 +vt 0.888889 0.748264 +vt 0.923611 0.720486 +vt 0.916667 0.694444 +vt 0.923611 0.696181 +vt 0.888889 0.696181 +vt 0.888889 0.720486 +vt 0.923611 0.692708 +vt 0.923611 0.668403 +vt 0.888889 0.668403 +vt 0.888889 0.692708 +vt 0.923611 0.998264 +vt 0.916667 0.972222 +vt 0.923611 0.973958 +vt 0.888889 0.973958 +vt 0.895833 1.000000 +vt 0.888889 0.998264 +vt 0.923611 0.970486 +vt 0.916667 0.944445 +vt 0.923611 0.946181 +vt 0.888889 0.946181 +vt 0.895833 0.972222 +vt 0.888889 0.970486 +vt 0.923611 0.942708 +vt 0.916667 0.916667 +vt 0.923611 0.918403 +vt 0.888889 0.918403 +vt 0.895833 0.944445 +vt 0.888889 0.942708 +vt 0.923611 0.914931 +vt 0.916667 0.888889 +vt 0.923611 0.890625 +vt 0.888889 0.890625 +vt 0.895833 0.916667 +vt 0.888889 0.914931 +vt 0.923611 0.887153 +vt 0.916667 0.861111 +vt 0.923611 0.862847 +vt 0.888889 0.862847 +vt 0.895833 0.888889 +vt 0.888889 0.887153 +vt 0.923611 0.859375 +vt 0.916667 0.833333 +vt 0.923611 0.835070 +vt 0.888889 0.835070 +vt 0.895833 0.861111 +vt 0.888889 0.859375 +vt 0.013889 0.527778 +vt 0.000000 0.583333 +vt 0.000000 0.527778 +vt 0.284722 0.583333 +vt 0.166667 0.527778 +vt 0.305556 0.527778 +vt 0.166667 0.583333 +vt 0.152778 0.527778 +vt 0.131944 0.583333 +vt 0.152778 0.513889 +vt 0.013889 0.513889 +vt 0.000000 0.437500 +vt 0.527778 0.444444 +vt 0.000000 0.444444 +vt 0.527778 0.416667 +vt 0.000000 0.409722 +vt 0.527778 0.409722 +vt 0.000000 0.388889 +vt 0.527778 0.388889 +vt 0.527778 0.437500 +vt 0.000000 0.416667 +vt 0.402778 0.659722 +vt 0.388889 0.638889 +vt 0.402778 0.638889 +vt 0.388889 0.659722 +vt 0.381944 0.638889 +vt 0.381944 0.659722 +vt 0.368056 0.638889 +vt 0.409722 0.638889 +vt 0.402778 0.631944 +vt 0.388889 0.611111 +vt 0.402778 0.611111 +vt 0.388889 0.631944 +vt 0.381944 0.611111 +vt 0.381944 0.631944 +vt 0.368056 0.611111 +vt 0.409722 0.631944 +vt 0.409722 0.611111 +vt 0.402778 0.604167 +vt 0.388889 0.583333 +vt 0.402778 0.583333 +vt 0.388889 0.604167 +vt 0.381944 0.583333 +vt 0.381944 0.604167 +vt 0.368056 0.583333 +vt 0.409722 0.604167 +vt 0.409722 0.583333 +vt 0.673611 0.944444 +vt 0.673611 1.000000 +vt 0.076389 0.771826 +vt 0.784722 0.924214 +vt 0.715278 0.783730 +vt 0.715278 0.839286 +vt 0.006944 0.742453 +vt 0.076389 0.744048 +vt 0.076389 0.716270 +vt 0.076389 0.688492 +vt 0.076389 0.994048 +vt 0.076389 0.966270 +vt 0.076389 0.938492 +vt 0.076389 0.827381 +vt 0.076389 0.855159 +vt 0.076389 0.910715 +vt 0.076389 0.799603 +vt 0.076389 0.882937 +vt 0.784722 0.951991 +vt 0.937500 0.963417 +vt 0.944444 0.965278 +vt 0.951389 0.963417 +vt 0.958333 0.951389 +vt 0.956473 0.944444 +vt 0.951389 0.939361 +vt 0.937500 0.939361 +vt 0.932416 0.944444 +vt 0.930556 0.951389 +vt 0.784722 0.813103 +vt 0.784722 0.674214 +vt 0.006944 0.825786 +vt 0.076389 0.994047 +vt 0.006944 0.881342 +vt 0.006944 0.909120 +vt 0.006944 0.770231 +vt 0.006944 0.686897 +vt 0.006944 0.936897 +vt 0.006944 0.798008 +vt 0.006944 0.714675 +vt 0.006944 0.964675 +vt 0.944444 1.000000 +vt 0.951389 0.998139 +vt 0.956473 0.993056 +vt 0.956473 0.979167 +vt 0.951389 0.974083 +vt 0.944444 0.972222 +vt 0.932416 0.979167 +vt 0.930556 0.986111 +vt 0.932416 0.993056 +vt 0.791667 0.871102 +vt 0.791667 0.898880 +vt 0.791667 0.982213 +vt 0.791667 0.704435 +vt 0.791667 0.732213 +vt 0.791667 0.759991 +vt 0.791667 0.787768 +vt 0.000000 0.851120 +vt 0.000000 0.878898 +vt 0.000000 0.906676 +vt 0.000000 0.934454 +vt 0.000000 0.962232 +vt 0.000000 0.990009 +vt 0.000000 0.684454 +vt 0.006944 0.714675 +vt 0.006944 0.742453 +vt 0.000000 0.767787 +vt 0.000000 0.795565 +vt 0.000000 0.823343 +vt 0.076389 0.855158 +vt 0.805556 0.666667 +vt 0.833333 0.833333 +vt 0.805556 0.805556 +vt 0.805556 0.777778 +vt 0.805556 0.750000 +vt 0.805556 0.722222 +vt 0.805556 0.694444 +vt 0.833333 1.000000 +vt 0.805556 0.972222 +vt 0.833333 0.972222 +vt 0.805556 0.944445 +vt 0.833333 0.944445 +vt 0.805556 0.916667 +vt 0.833333 0.916667 +vt 0.805556 0.888889 +vt 0.833333 0.888889 +vt 0.805556 0.861111 +vt 0.833333 0.861111 +vt 0.805556 0.833333 +vt 0.854167 0.666667 +vt 0.875000 0.833333 +vt 0.854167 0.805556 +vt 0.881944 0.803819 +vt 0.854167 0.777778 +vt 0.854167 0.750000 +vt 0.854167 0.722222 +vt 0.854167 0.694444 +vt 0.875000 1.000000 +vt 0.854167 0.972222 +vt 0.875000 0.972222 +vt 0.854167 0.944445 +vt 0.875000 0.944445 +vt 0.854167 0.916667 +vt 0.875000 0.916667 +vt 0.854167 0.888889 +vt 0.875000 0.888889 +vt 0.847222 0.862847 +vt 0.875000 0.861111 +vt 0.854167 0.833333 +vt 0.340278 0.659722 +vt 0.319444 0.659722 +vt 0.333333 0.631944 +vt 0.340278 0.604167 +vt 0.319444 0.604167 +vt 0.000000 0.659722 +vt 0.187500 0.659722 +vt 0.152778 0.659722 +vt 0.034722 0.659722 +vt 0.895833 0.666667 +vt 0.916667 0.833333 +vt 0.895833 0.805556 +vt 0.895833 0.777778 +vt 0.895833 0.750000 +vt 0.895833 0.722222 +vt 0.895833 0.694444 +vt 0.916667 1.000000 +vt 0.895833 0.972222 +vt 0.916667 0.972222 +vt 0.895833 0.944445 +vt 0.916667 0.944445 +vt 0.895833 0.916667 +vt 0.916667 0.916667 +vt 0.895833 0.888889 +vt 0.916667 0.888889 +vt 0.895833 0.861111 +vt 0.916667 0.861111 +vt 0.895833 0.833333 +vt 0.013889 0.583333 +vt 0.187500 0.583333 +vt 0.152778 0.583333 +vt 0.034722 0.583333 +vt 0.368056 0.659722 +vt 0.409722 0.659722 +vt 0.368056 0.631944 +vt 0.368056 0.604167 +s 1 +usemtl Texture +f 2/1/1 3/2/2 1/3/1 +f 4/4/2 5/5/3 3/2/2 +f 6/6/3 7/7/4 5/5/3 +f 8/8/4 9/9/5 7/7/4 +f 9/9/5 12/10/6 11/11/6 +f 12/10/6 13/12/7 11/11/6 +f 14/13/7 15/14/8 13/15/7 +f 16/16/8 17/17/9 15/14/8 +f 18/18/9 19/19/10 17/17/9 +f 20/20/10 21/21/11 19/19/10 +f 6/22/12 28/23/13 8/24/13 +f 22/25/11 23/26/14 21/21/11 +f 24/27/14 1/3/1 23/26/14 +f 21/21/15 46/28/16 19/29/16 +f 28/30/17 58/31/18 29/32/18 +f 22/33/19 36/34/20 24/27/20 +f 4/35/21 27/36/12 6/37/12 +f 20/38/22 35/39/19 22/25/19 +f 18/40/23 34/41/22 20/20/22 +f 16/42/24 33/43/23 18/18/23 +f 14/13/25 32/44/24 16/16/24 +f 12/45/26 31/46/25 14/47/25 +f 10/48/27 30/49/26 12/50/26 +f 8/51/13 29/32/27 10/52/27 +f 24/53/20 26/54/28 2/55/28 +f 2/56/28 25/57/21 4/58/21 +f 46/59/29 89/60/30 45/61/30 +f 19/19/16 45/62/31 17/63/31 +f 17/17/31 44/64/32 15/65/32 +f 15/14/32 43/66/33 13/15/33 +f 13/67/33 42/68/34 11/69/34 +f 11/70/34 41/71/35 9/72/35 +f 9/73/35 40/74/36 7/75/36 +f 1/76/37 48/77/38 23/78/38 +f 3/79/39 37/80/37 1/81/37 +f 7/82/36 39/83/40 5/84/40 +f 23/26/38 47/85/15 21/86/15 +f 5/87/40 38/88/39 3/89/39 +f 25/90/41 54/91/42 27/36/42 +f 36/34/43 70/92/44 72/93/43 +f 32/94/45 66/95/46 33/43/46 +f 29/96/18 60/97/47 30/49/47 +f 69/98/48 61/99/48 53/100/48 +f 33/101/46 68/102/49 34/41/49 +f 30/103/47 62/104/50 31/46/50 +f 27/105/42 56/106/17 28/23/17 +f 36/107/43 51/108/51 26/54/51 +f 34/109/49 70/110/44 35/39/44 +f 31/111/50 64/112/45 32/44/45 +f 37/113/52 95/114/53 48/115/53 +f 42/116/54 85/117/55 83/118/54 +f 39/119/56 75/120/57 38/121/57 +f 40/122/58 77/123/56 39/124/56 +f 47/125/59 91/126/29 46/127/29 +f 44/128/60 85/129/55 43/130/55 +f 41/131/61 79/132/58 40/133/58 +f 48/134/53 93/135/59 47/136/59 +f 45/137/30 87/138/60 44/139/60 +f 42/140/54 81/141/61 41/142/61 +f 80/143/62 88/144/62 96/145/62 +f 50/146/63 52/147/64 49/148/63 +f 50/149/63 53/150/65 54/151/65 +f 54/152/65 55/153/66 56/154/66 +f 58/155/67 55/156/66 57/157/67 +f 60/158/68 57/159/67 59/160/68 +f 60/161/68 61/162/69 62/163/69 +f 64/164/70 61/165/69 63/166/70 +f 64/167/70 65/168/71 66/169/71 +f 66/170/71 67/171/72 68/172/73 +f 68/173/73 69/174/74 70/175/74 +f 70/92/74 71/176/75 72/177/75 +f 51/178/64 71/179/75 52/180/64 +f 25/57/41 51/181/51 50/182/41 +f 75/183/76 73/184/77 74/185/77 +f 77/186/78 76/187/76 75/188/76 +f 79/189/79 78/190/78 77/191/78 +f 81/192/80 80/193/81 79/194/79 +f 83/195/82 82/196/80 81/197/80 +f 85/198/83 84/199/82 83/200/82 +f 87/201/84 86/202/83 85/203/83 +f 87/204/84 90/205/85 88/206/84 +f 89/207/85 92/208/86 90/209/85 +f 93/210/87 92/211/86 91/212/88 +f 95/213/89 94/214/87 93/215/87 +f 74/216/77 96/217/89 95/218/89 +f 37/219/52 75/220/57 74/221/52 +f 124/222/1 122/223/2 121/224/1 +f 123/225/2 125/226/3 122/223/2 +f 126/227/3 127/228/4 125/226/3 +f 128/229/4 129/230/5 127/228/4 +f 130/231/5 131/232/6 129/230/5 +f 132/233/6 133/234/7 131/232/6 +f 134/235/7 135/236/8 133/237/7 +f 136/238/8 137/239/9 135/236/8 +f 138/240/9 139/241/10 137/239/9 +f 140/242/10 141/243/11 139/241/10 +f 142/244/11 143/245/14 141/243/11 +f 144/246/14 121/224/1 143/245/14 +f 97/247/62 122/248/62 99/249/62 +f 100/250/48 124/251/48 98/252/48 +f 99/253/62 125/254/62 101/255/62 +f 102/256/48 123/225/48 100/257/48 +f 101/258/62 127/259/62 103/260/62 +f 104/261/48 126/227/48 102/262/48 +f 103/263/62 129/264/62 105/265/62 +f 106/266/48 128/229/48 104/267/48 +f 105/268/62 131/269/62 107/270/62 +f 108/271/48 130/231/48 106/272/48 +f 107/273/62 133/234/62 109/274/62 +f 110/275/48 132/233/48 108/276/48 +f 109/277/62 135/278/62 111/279/62 +f 112/280/48 134/281/48 110/282/48 +f 111/283/62 137/284/62 113/285/62 +f 114/286/48 136/287/48 112/288/48 +f 113/289/62 139/290/62 115/291/62 +f 116/292/48 138/293/48 114/294/48 +f 115/295/62 141/296/62 117/297/62 +f 118/298/48 140/299/48 116/300/48 +f 117/301/62 143/302/62 119/303/62 +f 120/304/48 142/305/48 118/306/48 +f 119/307/62 121/308/62 97/309/62 +f 98/310/48 144/311/48 120/312/48 +f 172/313/1 170/314/2 169/315/1 +f 171/316/2 173/317/3 170/314/2 +f 174/318/3 175/319/4 173/317/3 +f 176/320/4 177/321/5 175/319/4 +f 178/322/5 179/323/6 177/321/5 +f 180/324/6 181/325/7 179/323/6 +f 182/326/7 183/327/8 181/328/7 +f 184/329/8 185/330/9 183/327/8 +f 186/331/9 187/332/10 185/330/9 +f 188/333/10 189/334/11 187/332/10 +f 190/335/11 191/336/14 189/334/11 +f 192/337/14 169/315/1 191/336/14 +f 145/338/62 170/339/62 147/340/62 +f 148/341/48 172/342/48 146/343/48 +f 149/344/62 170/314/62 173/345/62 +f 150/346/48 171/316/48 148/347/48 +f 149/348/62 175/349/62 151/350/62 +f 152/351/48 174/318/48 150/352/48 +f 151/353/62 177/354/62 153/355/62 +f 154/356/48 176/320/48 152/357/48 +f 153/358/62 179/359/62 155/360/62 +f 156/361/48 178/322/48 154/362/48 +f 155/363/62 181/325/62 157/364/62 +f 158/365/48 180/324/48 156/366/48 +f 157/367/62 183/368/62 159/369/62 +f 160/370/48 182/371/48 158/372/48 +f 159/373/62 185/374/62 161/375/62 +f 162/376/48 184/377/48 160/378/48 +f 161/379/62 187/380/62 163/381/62 +f 164/382/48 186/383/48 162/384/48 +f 163/385/62 189/386/62 165/387/62 +f 166/388/48 188/389/48 164/390/48 +f 165/391/62 191/392/62 167/393/62 +f 166/394/48 192/395/48 190/396/48 +f 167/397/62 169/398/62 145/399/62 +f 146/400/48 192/401/48 168/402/48 +f 194/403/90 195/404/90 193/405/90 +f 200/406/91 197/407/91 199/408/91 +f 199/408/92 193/409/92 195/410/92 +f 196/411/93 198/412/93 200/406/93 +f 202/413/90 203/414/90 201/415/90 +f 203/414/62 208/416/62 207/417/62 +f 208/416/91 205/418/91 207/417/91 +f 206/419/48 201/415/48 205/420/48 +f 210/421/90 211/422/90 209/423/90 +f 212/424/62 215/425/62 211/422/62 +f 215/425/91 214/426/91 213/427/91 +f 214/428/48 209/423/48 213/429/48 +f 218/430/90 219/431/90 217/432/90 +f 219/431/62 224/433/62 223/434/62 +f 224/433/91 221/435/91 223/434/91 +f 222/436/48 217/432/48 221/437/48 +f 226/438/94 227/439/94 225/440/94 +f 228/441/62 231/442/62 227/443/62 +f 232/444/95 229/445/95 231/442/95 +f 230/446/48 225/440/48 229/445/48 +f 231/447/7 225/440/7 227/448/7 +f 260/449/1 258/450/2 257/451/1 +f 259/452/2 261/453/3 258/450/2 +f 262/454/3 263/455/4 261/453/3 +f 264/456/4 265/457/5 263/455/4 +f 266/458/5 267/459/6 265/457/5 +f 268/460/6 269/461/7 267/459/6 +f 270/462/7 271/463/8 269/464/7 +f 272/465/8 273/466/9 271/463/8 +f 274/467/9 275/468/10 273/466/9 +f 276/469/10 277/470/11 275/468/10 +f 278/471/11 279/472/14 277/470/11 +f 280/473/14 257/451/1 279/472/14 +f 233/474/62 258/475/62 235/476/62 +f 236/477/48 260/478/48 234/479/48 +f 235/480/62 261/481/62 237/482/62 +f 238/483/48 259/452/48 236/484/48 +f 237/485/62 263/486/62 239/487/62 +f 240/488/48 262/454/48 238/489/48 +f 239/490/62 265/491/62 241/492/62 +f 242/493/48 264/456/48 240/494/48 +f 241/495/62 267/496/62 243/497/62 +f 244/498/48 266/458/48 242/499/48 +f 243/500/62 269/461/62 245/501/62 +f 246/502/48 268/460/48 244/503/48 +f 245/504/62 271/505/62 247/506/62 +f 248/507/48 270/508/48 246/509/48 +f 247/510/62 273/511/62 249/512/62 +f 250/513/48 272/514/48 248/515/48 +f 249/516/62 275/517/62 251/518/62 +f 252/519/48 274/520/48 250/521/48 +f 251/522/62 277/523/62 253/524/62 +f 254/525/48 276/526/48 252/527/48 +f 253/528/62 279/529/62 255/530/62 +f 256/531/48 278/532/48 254/533/48 +f 255/534/62 257/535/62 233/536/62 +f 234/537/48 280/538/48 256/539/48 +f 281/540/94 284/541/94 283/542/94 +f 284/543/62 287/544/62 283/545/62 +f 288/546/95 285/547/95 287/544/95 +f 286/548/48 281/540/48 285/547/48 +f 287/549/7 281/540/7 283/550/7 +f 290/551/93 291/552/93 289/553/93 +f 296/554/92 293/555/92 295/556/92 +f 295/556/90 289/557/90 291/558/90 +f 292/559/91 294/560/91 296/554/91 +f 298/561/93 299/562/93 297/563/93 +f 300/564/62 303/565/62 299/562/62 +f 304/566/92 301/567/92 303/565/92 +f 301/568/48 298/561/48 297/563/48 +f 306/569/93 307/570/93 305/571/93 +f 308/572/62 311/573/62 307/570/62 +f 312/574/92 309/575/92 311/573/92 +f 310/576/48 305/571/48 309/577/48 +f 314/578/93 315/579/93 313/580/93 +f 316/581/62 319/582/62 315/579/62 +f 320/583/92 317/584/92 319/582/92 +f 318/585/48 313/580/48 317/586/48 +f 2/1/1 4/4/2 3/2/2 +f 4/4/2 6/6/3 5/5/3 +f 6/6/3 8/8/4 7/7/4 +f 8/8/4 10/587/5 9/9/5 +f 9/9/5 10/587/5 12/10/6 +f 12/10/6 14/588/7 13/12/7 +f 14/13/7 16/16/8 15/14/8 +f 16/16/8 18/18/9 17/17/9 +f 18/18/9 20/20/10 19/19/10 +f 20/20/10 22/25/11 21/21/11 +f 6/22/12 27/105/12 28/23/13 +f 22/25/11 24/27/14 23/26/14 +f 24/27/14 2/1/1 1/3/1 +f 21/21/15 47/589/15 46/28/16 +f 28/30/17 56/590/17 58/31/18 +f 22/33/19 35/591/19 36/34/20 +f 4/35/21 25/90/21 27/36/12 +f 20/38/22 34/109/22 35/39/19 +f 18/40/23 33/101/23 34/41/22 +f 16/42/24 32/94/24 33/43/23 +f 14/13/25 31/111/25 32/44/24 +f 12/45/26 30/103/26 31/46/25 +f 10/48/27 29/96/27 30/49/26 +f 8/51/13 28/30/13 29/32/27 +f 24/53/20 36/107/20 26/54/28 +f 2/56/28 26/592/28 25/57/21 +f 46/59/29 91/593/29 89/60/30 +f 19/19/16 46/594/16 45/62/31 +f 17/17/31 45/595/31 44/64/32 +f 15/14/32 44/596/32 43/66/33 +f 13/67/33 43/597/33 42/68/34 +f 11/70/34 42/598/34 41/71/35 +f 9/73/35 41/599/35 40/74/36 +f 1/76/37 37/600/37 48/77/38 +f 3/79/39 38/601/39 37/80/37 +f 7/82/36 40/602/36 39/83/40 +f 23/26/38 48/603/38 47/85/15 +f 5/87/40 39/604/40 38/88/39 +f 25/90/41 50/149/41 54/91/42 +f 36/34/43 35/591/44 70/92/44 +f 32/94/45 64/167/45 66/95/46 +f 29/96/18 58/605/18 60/97/47 +f 53/100/48 49/606/48 52/607/48 +f 52/607/48 71/608/48 69/98/48 +f 69/98/48 67/609/48 65/610/48 +f 65/610/48 63/611/48 61/99/48 +f 61/99/48 59/612/48 57/613/48 +f 57/613/48 55/614/48 53/100/48 +f 53/100/48 52/607/48 69/98/48 +f 69/98/48 65/610/48 61/99/48 +f 61/99/48 57/613/48 53/100/48 +f 33/101/46 66/170/46 68/102/49 +f 30/103/47 60/161/47 62/104/50 +f 27/105/42 54/152/42 56/106/17 +f 36/107/43 72/615/43 51/108/51 +f 34/109/49 68/173/49 70/110/44 +f 31/111/50 62/616/50 64/112/45 +f 37/113/52 74/617/52 95/114/53 +f 42/116/54 43/618/55 85/117/55 +f 39/119/56 77/619/56 75/120/57 +f 40/122/58 79/620/58 77/123/56 +f 47/125/59 93/621/59 91/126/29 +f 44/128/60 87/622/60 85/129/55 +f 41/131/61 81/623/61 79/132/58 +f 48/134/53 95/624/53 93/135/59 +f 45/137/30 89/625/30 87/138/60 +f 42/140/54 83/626/54 81/141/61 +f 96/145/62 73/627/62 76/628/62 +f 76/628/62 78/629/62 80/143/62 +f 80/143/62 82/630/62 84/631/62 +f 84/631/62 86/632/62 88/144/62 +f 88/144/62 90/633/62 92/634/62 +f 92/634/62 94/635/62 96/145/62 +f 96/145/62 76/628/62 80/143/62 +f 80/143/62 84/631/62 88/144/62 +f 88/144/62 92/634/62 96/145/62 +f 50/146/63 51/181/64 52/147/64 +f 50/149/63 49/636/63 53/150/65 +f 54/152/65 53/637/65 55/153/66 +f 58/155/67 56/590/66 55/156/66 +f 60/158/68 58/605/67 57/159/67 +f 60/161/68 59/638/68 61/162/69 +f 64/164/70 62/616/69 61/165/69 +f 64/167/70 63/639/70 65/168/71 +f 66/170/71 65/640/71 67/171/72 +f 68/173/73 67/641/72 69/174/74 +f 70/92/74 69/642/74 71/176/75 +f 51/178/64 72/615/75 71/179/75 +f 25/57/41 26/592/51 51/181/51 +f 75/183/76 76/643/76 73/184/77 +f 77/186/78 78/644/78 76/187/76 +f 79/189/79 80/645/81 78/190/78 +f 81/192/80 82/646/80 80/193/81 +f 83/195/82 84/647/82 82/196/80 +f 85/198/83 86/648/83 84/199/82 +f 87/201/84 88/649/84 86/202/83 +f 87/204/84 89/650/85 90/205/85 +f 89/207/85 91/651/88 92/208/86 +f 93/210/87 94/652/87 92/211/86 +f 95/213/89 96/653/89 94/214/87 +f 74/216/77 73/654/77 96/217/89 +f 37/219/52 38/655/57 75/220/57 +f 124/222/1 123/225/2 122/223/2 +f 123/225/2 126/227/3 125/226/3 +f 126/227/3 128/229/4 127/228/4 +f 128/229/4 130/231/5 129/230/5 +f 130/231/5 132/233/6 131/232/6 +f 132/233/6 134/656/7 133/234/7 +f 134/235/7 136/238/8 135/236/8 +f 136/238/8 138/240/9 137/239/9 +f 138/240/9 140/242/10 139/241/10 +f 140/242/10 142/244/11 141/243/11 +f 142/244/11 144/246/14 143/245/14 +f 144/246/14 124/222/1 121/224/1 +f 97/247/62 121/657/62 122/248/62 +f 100/250/48 123/658/48 124/251/48 +f 99/253/62 122/223/62 125/254/62 +f 102/256/48 126/659/48 123/225/48 +f 101/258/62 125/226/62 127/259/62 +f 104/261/48 128/660/48 126/227/48 +f 103/263/62 127/228/62 129/264/62 +f 106/266/48 130/661/48 128/229/48 +f 105/268/62 129/230/62 131/269/62 +f 108/271/48 132/662/48 130/231/48 +f 107/273/62 131/232/62 133/234/62 +f 110/275/48 134/656/48 132/233/48 +f 109/277/62 133/663/62 135/278/62 +f 112/280/48 136/664/48 134/281/48 +f 111/283/62 135/665/62 137/284/62 +f 114/286/48 138/666/48 136/287/48 +f 113/289/62 137/667/62 139/290/62 +f 116/292/48 140/668/48 138/293/48 +f 115/295/62 139/669/62 141/296/62 +f 118/298/48 142/670/48 140/299/48 +f 117/301/62 141/671/62 143/302/62 +f 120/304/48 144/672/48 142/305/48 +f 119/307/62 143/673/62 121/308/62 +f 98/310/48 124/674/48 144/311/48 +f 172/313/1 171/316/2 170/314/2 +f 171/316/2 174/318/3 173/317/3 +f 174/318/3 176/320/4 175/319/4 +f 176/320/4 178/322/5 177/321/5 +f 178/322/5 180/324/6 179/323/6 +f 180/324/6 182/675/7 181/325/7 +f 182/326/7 184/329/8 183/327/8 +f 184/329/8 186/331/9 185/330/9 +f 186/331/9 188/333/10 187/332/10 +f 188/333/10 190/335/11 189/334/11 +f 190/335/11 192/337/14 191/336/14 +f 192/337/14 172/313/1 169/315/1 +f 145/338/62 169/676/62 170/339/62 +f 148/341/48 171/677/48 172/342/48 +f 149/344/62 147/678/62 170/314/62 +f 150/346/48 174/679/48 171/316/48 +f 149/348/62 173/317/62 175/349/62 +f 152/351/48 176/680/48 174/318/48 +f 151/353/62 175/319/62 177/354/62 +f 154/356/48 178/681/48 176/320/48 +f 153/358/62 177/321/62 179/359/62 +f 156/361/48 180/682/48 178/322/48 +f 155/363/62 179/323/62 181/325/62 +f 158/365/48 182/675/48 180/324/48 +f 157/367/62 181/683/62 183/368/62 +f 160/370/48 184/684/48 182/371/48 +f 159/373/62 183/685/62 185/374/62 +f 162/376/48 186/686/48 184/377/48 +f 161/379/62 185/687/62 187/380/62 +f 164/382/48 188/688/48 186/383/48 +f 163/385/62 187/689/62 189/386/62 +f 166/388/48 190/690/48 188/389/48 +f 165/391/62 189/691/62 191/392/62 +f 166/394/48 168/692/48 192/395/48 +f 167/397/62 191/693/62 169/398/62 +f 146/400/48 172/694/48 192/401/48 +f 194/403/90 196/411/90 195/404/90 +f 200/406/91 198/412/91 197/407/91 +f 199/408/92 197/407/92 193/409/92 +f 196/411/93 194/403/93 198/412/93 +f 202/413/90 204/695/90 203/414/90 +f 203/414/62 204/695/62 208/416/62 +f 208/416/91 206/696/91 205/418/91 +f 206/419/48 202/413/48 201/415/48 +f 210/421/90 212/424/90 211/422/90 +f 212/424/62 216/697/62 215/425/62 +f 215/425/91 216/697/91 214/426/91 +f 214/428/48 210/421/48 209/423/48 +f 218/430/90 220/698/90 219/431/90 +f 219/431/62 220/698/62 224/433/62 +f 224/433/91 222/699/91 221/435/91 +f 222/436/48 218/430/48 217/432/48 +f 226/438/94 228/700/94 227/439/94 +f 228/441/62 232/701/62 231/442/62 +f 232/444/95 230/702/95 229/445/95 +f 230/446/48 226/703/48 225/440/48 +f 231/447/7 229/445/7 225/440/7 +f 260/449/1 259/452/2 258/450/2 +f 259/452/2 262/454/3 261/453/3 +f 262/454/3 264/456/4 263/455/4 +f 264/456/4 266/458/5 265/457/5 +f 266/458/5 268/460/6 267/459/6 +f 268/460/6 270/704/7 269/461/7 +f 270/462/7 272/465/8 271/463/8 +f 272/465/8 274/467/9 273/466/9 +f 274/467/9 276/469/10 275/468/10 +f 276/469/10 278/471/11 277/470/11 +f 278/471/11 280/473/14 279/472/14 +f 280/473/14 260/449/1 257/451/1 +f 233/474/62 257/705/62 258/475/62 +f 236/477/48 259/706/48 260/478/48 +f 235/480/62 258/450/62 261/481/62 +f 238/483/48 262/707/48 259/452/48 +f 237/485/62 261/453/62 263/486/62 +f 240/488/48 264/708/48 262/454/48 +f 239/490/62 263/455/62 265/491/62 +f 242/493/48 266/709/48 264/456/48 +f 241/495/62 265/457/62 267/496/62 +f 244/498/48 268/710/48 266/458/48 +f 243/500/62 267/459/62 269/461/62 +f 246/502/48 270/704/48 268/460/48 +f 245/504/62 269/711/62 271/505/62 +f 248/507/48 272/712/48 270/508/48 +f 247/510/62 271/713/62 273/511/62 +f 250/513/48 274/714/48 272/514/48 +f 249/516/62 273/715/62 275/517/62 +f 252/519/48 276/716/48 274/520/48 +f 251/522/62 275/717/62 277/523/62 +f 254/525/48 278/718/48 276/526/48 +f 253/528/62 277/719/62 279/529/62 +f 256/531/48 280/720/48 278/532/48 +f 255/534/62 279/721/62 257/535/62 +f 234/537/48 260/722/48 280/538/48 +f 281/540/94 282/723/94 284/541/94 +f 284/543/62 288/724/62 287/544/62 +f 288/546/95 286/725/95 285/547/95 +f 286/548/48 282/726/48 281/540/48 +f 287/549/7 285/547/7 281/540/7 +f 290/551/93 292/559/93 291/552/93 +f 296/554/92 294/560/92 293/555/92 +f 295/556/90 293/555/90 289/557/90 +f 292/559/91 290/551/91 294/560/91 +f 298/561/93 300/564/93 299/562/93 +f 300/564/62 304/566/62 303/565/62 +f 304/566/92 302/727/92 301/567/92 +f 301/568/48 302/728/48 298/561/48 +f 306/569/93 308/572/93 307/570/93 +f 308/572/62 312/574/62 311/573/62 +f 312/574/92 310/729/92 309/575/92 +f 310/576/48 306/569/48 305/571/48 +f 314/578/93 316/581/93 315/579/93 +f 316/581/62 320/583/62 319/582/62 +f 320/583/92 318/730/92 317/584/92 +f 318/585/48 314/578/48 313/580/48 diff --git a/src/main/resources/assets/hbm/models/bombs/ap_mine.obj b/src/main/resources/assets/hbm/models/bombs/ap_mine.obj new file mode 100644 index 000000000..b9762718c --- /dev/null +++ b/src/main/resources/assets/hbm/models/bombs/ap_mine.obj @@ -0,0 +1,749 @@ +# Blender v2.79 (sub 0) OBJ File: 'ap_mine.blend' +# www.blender.org +o Circle +v 0.000000 0.000000 -0.500000 +v -0.250000 0.000000 -0.433013 +v -0.433013 0.000000 -0.250000 +v -0.500000 0.000000 0.000000 +v -0.433013 0.000000 0.250000 +v -0.250000 0.000000 0.433013 +v -0.000000 0.000000 0.500000 +v 0.250000 0.000000 0.433013 +v 0.433013 0.000000 0.250000 +v 0.500000 0.000000 0.000000 +v 0.433013 0.000000 -0.250000 +v 0.250000 0.000000 -0.433013 +v -0.250000 0.250000 -0.433013 +v 0.000000 0.250000 -0.500000 +v -0.433013 0.250000 -0.250000 +v -0.500000 0.250000 0.000000 +v -0.433013 0.250000 0.250000 +v -0.250000 0.250000 0.433013 +v -0.000000 0.250000 0.500000 +v 0.250000 0.250000 0.433013 +v 0.433013 0.250000 0.250000 +v 0.500000 0.250000 0.000000 +v 0.433013 0.250000 -0.250000 +v 0.250000 0.250000 -0.433013 +v 0.000000 0.250000 -0.312500 +v -0.156250 0.250000 -0.270633 +v -0.270633 0.250000 -0.156250 +v -0.312500 0.250000 0.000000 +v -0.270633 0.250000 0.156250 +v -0.156250 0.250000 0.270633 +v -0.000000 0.250000 0.312500 +v 0.156250 0.250000 0.270633 +v 0.270633 0.250000 0.156250 +v 0.312500 0.250000 0.000000 +v 0.270633 0.250000 -0.156250 +v 0.156250 0.250000 -0.270633 +v 0.000000 0.375000 -0.250000 +v -0.125000 0.375000 -0.216506 +v -0.216506 0.375000 -0.125000 +v -0.250000 0.375000 0.000000 +v -0.216506 0.375000 0.125000 +v -0.125000 0.375000 0.216506 +v -0.000000 0.375000 0.250000 +v 0.125000 0.375000 0.216506 +v 0.216506 0.375000 0.125000 +v 0.250000 0.375000 0.000000 +v 0.216506 0.375000 -0.125000 +v 0.125000 0.375000 -0.216506 +v 0.031250 -0.062500 -0.250000 +v 0.031250 -0.062500 -0.562500 +v -0.031250 -0.062500 -0.250000 +v -0.031250 -0.062500 -0.562500 +v 0.031250 0.312500 -0.250000 +v 0.031250 0.312500 -0.562500 +v -0.031250 0.312500 -0.250000 +v -0.031250 0.312500 -0.562500 +v 0.250000 -0.062500 0.031250 +v 0.562500 -0.062500 0.031250 +v 0.250000 -0.062500 -0.031250 +v 0.562500 -0.062500 -0.031250 +v 0.250000 0.312500 0.031250 +v 0.562500 0.312500 0.031250 +v 0.250000 0.312500 -0.031250 +v 0.562500 0.312500 -0.031250 +v -0.562500 0.312500 0.031250 +v -0.250000 0.312500 0.031250 +v -0.562500 0.312500 -0.031250 +v -0.250000 0.312500 -0.031250 +v -0.562500 -0.062500 0.031250 +v -0.250000 -0.062500 0.031250 +v -0.562500 -0.062500 -0.031250 +v -0.250000 -0.062500 -0.031250 +v 0.031250 0.312500 0.562500 +v 0.031250 0.312500 0.250000 +v -0.031250 0.312500 0.562500 +v -0.031250 0.312500 0.250000 +v 0.031250 -0.062500 0.562500 +v 0.031250 -0.062500 0.250000 +v -0.031250 -0.062500 0.562500 +v -0.031250 -0.062500 0.250000 +v 0.187500 0.000000 -0.324759 +v 0.324760 0.000000 -0.187500 +v 0.375000 0.000000 0.000000 +v 0.324759 0.000000 0.187500 +v 0.187500 0.000000 0.324760 +v -0.000000 0.000000 0.375000 +v -0.187500 0.000000 0.324760 +v -0.324760 0.000000 0.187500 +v -0.375000 0.000000 0.000000 +v -0.324760 0.000000 -0.187500 +v -0.187500 0.000000 -0.324759 +v 0.000000 0.000000 -0.375000 +v 0.187500 -0.125000 -0.324759 +v 0.324760 -0.125000 -0.187500 +v 0.375000 -0.125000 0.000000 +v 0.324759 -0.125000 0.187500 +v 0.187500 -0.125000 0.324760 +v -0.000000 -0.125000 0.375000 +v -0.187500 -0.125000 0.324760 +v -0.324760 -0.125000 0.187500 +v -0.375000 -0.125000 0.000000 +v -0.324760 -0.125000 -0.187500 +v -0.187500 -0.125000 -0.324759 +v 0.000000 -0.125000 -0.375000 +v -0.097937 -0.062500 -0.232131 +v -0.254187 -0.062500 -0.502764 +v -0.152063 -0.062500 -0.200881 +v -0.308313 -0.062500 -0.471514 +v -0.097937 0.312500 -0.232131 +v -0.254187 0.312500 -0.502764 +v -0.152063 0.312500 -0.200881 +v -0.308313 0.312500 -0.471514 +v 0.232131 -0.062500 -0.097937 +v 0.502764 -0.062500 -0.254187 +v 0.200881 -0.062500 -0.152063 +v 0.471514 -0.062500 -0.308313 +v 0.232131 0.312500 -0.097937 +v 0.502764 0.312500 -0.254187 +v 0.200881 0.312500 -0.152063 +v 0.471514 0.312500 -0.308313 +v -0.471514 0.312500 0.308313 +v -0.200881 0.312500 0.152063 +v -0.502764 0.312500 0.254187 +v -0.232131 0.312500 0.097937 +v -0.471514 -0.062500 0.308313 +v -0.200881 -0.062500 0.152063 +v -0.502764 -0.062500 0.254187 +v -0.232131 -0.062500 0.097937 +v 0.308313 0.312500 0.471514 +v 0.152063 0.312500 0.200881 +v 0.254187 0.312500 0.502764 +v 0.097937 0.312500 0.232131 +v 0.308313 -0.062500 0.471514 +v 0.152063 -0.062500 0.200881 +v 0.254187 -0.062500 0.502764 +v 0.097937 -0.062500 0.232131 +v -0.200881 -0.062500 -0.152063 +v -0.471514 -0.062500 -0.308313 +v -0.232131 -0.062500 -0.097937 +v -0.502764 -0.062500 -0.254187 +v -0.200881 0.312500 -0.152063 +v -0.471514 0.312500 -0.308313 +v -0.232131 0.312500 -0.097937 +v -0.502764 0.312500 -0.254187 +v 0.152063 -0.062500 -0.200881 +v 0.308313 -0.062500 -0.471514 +v 0.097937 -0.062500 -0.232131 +v 0.254187 -0.062500 -0.502764 +v 0.152063 0.312500 -0.200881 +v 0.308313 0.312500 -0.471514 +v 0.097937 0.312500 -0.232131 +v 0.254187 0.312500 -0.502764 +v -0.254187 0.312500 0.502764 +v -0.097937 0.312500 0.232131 +v -0.308313 0.312500 0.471514 +v -0.152063 0.312500 0.200881 +v -0.254187 -0.062500 0.502764 +v -0.097937 -0.062500 0.232131 +v -0.308313 -0.062500 0.471514 +v -0.152063 -0.062500 0.200881 +v 0.502764 0.312500 0.254187 +v 0.232131 0.312500 0.097937 +v 0.471514 0.312500 0.308313 +v 0.200881 0.312500 0.152063 +v 0.502764 -0.062500 0.254187 +v 0.232131 -0.062500 0.097937 +v 0.471514 -0.062500 0.308313 +v 0.200881 -0.062500 0.152063 +vt 0.166667 0.080000 +vt 0.250000 0.160000 +vt 0.166667 0.160000 +vt 0.291806 0.541901 +vt 0.374860 0.541901 +vt 0.416387 0.680000 +vt 0.500000 0.320000 +vt 0.562500 0.440000 +vt 0.520833 0.440000 +vt 0.583333 0.320000 +vt 0.645833 0.440000 +vt 0.604167 0.440000 +vt 0.750000 0.320000 +vt 0.687500 0.440000 +vt 0.666667 0.320000 +vt 0.812500 0.440000 +vt 0.770833 0.440000 +vt 0.916667 0.320000 +vt 0.854167 0.440000 +vt 0.833333 0.320000 +vt 1.000000 0.320000 +vt 0.937500 0.440000 +vt 0.083333 0.320000 +vt 0.020833 0.440000 +vt -0.000000 0.320000 +vt 0.166667 0.320000 +vt 0.104167 0.440000 +vt 0.250000 0.320000 +vt 0.187500 0.440000 +vt 0.333333 0.320000 +vt 0.270833 0.440000 +vt 0.395833 0.440000 +vt 0.354167 0.440000 +vt 0.416667 0.320000 +vt 0.479167 0.440000 +vt 0.437500 0.440000 +vt 0.416667 0.520000 +vt 0.520833 0.560000 +vt 0.416667 0.560000 +vt 0.520833 0.800000 +vt 0.416667 0.840000 +vt 0.416667 0.800000 +vt 0.541667 0.560000 +vt 0.645833 0.560000 +vt 0.541667 0.800000 +vt 0.645833 0.560000 +vt 0.541667 0.800000 +vt 0.541667 0.560000 +vt 0.520833 0.560000 +vt 0.416667 0.800000 +vt 0.416667 0.560000 +vt 0.520833 0.800000 +vt 0.416667 0.520000 +vt 0.416667 0.840000 +vt 0.520833 0.560000 +vt 0.416667 0.800000 +vt 0.416667 0.560000 +vt 0.520833 0.520000 +vt 0.541667 0.560000 +vt 0.520833 0.800000 +vt 0.520833 0.560000 +vt 0.416667 0.800000 +vt 0.416667 0.560000 +vt 0.416667 0.840000 +vt 0.645833 0.560000 +vt 0.541667 0.800000 +vt 0.520833 0.520000 +vt 0.541667 0.560000 +vt 0.520833 0.800000 +vt 0.416667 0.840000 +vt 0.645833 0.560000 +vt 0.541667 0.800000 +vt 0.000000 0.080000 +vt 0.083333 0.160000 +vt -0.000000 0.160000 +vt 0.083333 0.080000 +vt 0.916667 0.080000 +vt 1.000000 0.160000 +vt 0.916667 0.160000 +vt 0.833333 0.080000 +vt 0.833333 0.160000 +vt 0.750000 0.160000 +vt 0.812500 0.080000 +vt 0.666667 0.080000 +vt 0.666667 0.160000 +vt 0.583333 0.160000 +vt 0.645833 0.080000 +vt 0.500000 0.160000 +vt 0.562500 0.080000 +vt 0.416667 0.160000 +vt 0.479167 0.080000 +vt 0.333333 0.160000 +vt 0.395833 0.080000 +vt 0.250000 0.080000 +vt 0.187513 0.552110 +vt 0.187513 0.967890 +vt -0.000027 0.760000 +vt 0.416667 0.560000 +vt 0.520833 0.520000 +vt 0.520833 0.560000 +vt 0.416667 0.800000 +vt 0.520833 0.840000 +vt 0.416667 0.840000 +vt 0.541667 0.560000 +vt 0.520833 0.800000 +vt 0.645833 0.560000 +vt 0.541667 0.800000 +vt 0.645833 0.560000 +vt 0.541667 0.800000 +vt 0.541667 0.560000 +vt 0.520833 0.560000 +vt 0.416667 0.800000 +vt 0.416667 0.560000 +vt 0.520833 0.800000 +vt 0.416667 0.520000 +vt 0.416667 0.840000 +vt 0.520833 0.560000 +vt 0.416667 0.800000 +vt 0.416667 0.560000 +vt 0.520833 0.520000 +vt 0.541667 0.560000 +vt 0.520833 0.800000 +vt 0.520833 0.560000 +vt 0.416667 0.800000 +vt 0.416667 0.560000 +vt 0.520833 0.840000 +vt 0.416667 0.840000 +vt 0.645833 0.560000 +vt 0.541667 0.800000 +vt 0.416667 0.520000 +vt 0.541667 0.560000 +vt 0.520833 0.800000 +vt 0.416667 0.840000 +vt 0.645833 0.560000 +vt 0.541667 0.800000 +vt 0.416667 0.560000 +vt 0.520833 0.520000 +vt 0.520833 0.560000 +vt 0.416667 0.800000 +vt 0.520833 0.840000 +vt 0.416667 0.840000 +vt 0.541667 0.560000 +vt 0.520833 0.800000 +vt 0.645833 0.560000 +vt 0.541667 0.800000 +vt 0.645833 0.560000 +vt 0.541667 0.800000 +vt 0.541667 0.560000 +vt 0.520833 0.560000 +vt 0.416667 0.800000 +vt 0.416667 0.560000 +vt 0.520833 0.800000 +vt 0.416667 0.520000 +vt 0.416667 0.840000 +vt 0.520833 0.560000 +vt 0.416667 0.800000 +vt 0.416667 0.560000 +vt 0.520833 0.520000 +vt 0.541667 0.560000 +vt 0.520833 0.800000 +vt 0.520833 0.560000 +vt 0.416667 0.800000 +vt 0.416667 0.560000 +vt 0.520833 0.840000 +vt 0.416667 0.840000 +vt 0.645833 0.560000 +vt 0.541667 0.800000 +vt 0.520833 0.520000 +vt 0.541667 0.560000 +vt 0.520833 0.800000 +vt 0.416667 0.840000 +vt 0.645833 0.560000 +vt 0.541667 0.800000 +vt 0.229167 0.080000 +vt 0.405260 0.759732 +vt 0.374860 0.818099 +vt 0.333333 0.839464 +vt 0.291806 0.818099 +vt 0.261407 0.759732 +vt 0.250279 0.680000 +vt 0.261407 0.600268 +vt 0.333333 0.520537 +vt 0.405260 0.600268 +vt 0.729167 0.440000 +vt 0.895833 0.440000 +vt 0.979167 0.440000 +vt 0.062500 0.440000 +vt 0.145833 0.440000 +vt 0.229167 0.440000 +vt 0.312500 0.440000 +vt 0.520833 0.520000 +vt 0.520833 0.840000 +vt 0.645833 0.800000 +vt 0.645833 0.800000 +vt 0.520833 0.520000 +vt 0.520833 0.840000 +vt 0.416667 0.520000 +vt 0.520833 0.840000 +vt 0.645833 0.800000 +vt 0.416667 0.520000 +vt 0.520833 0.840000 +vt 0.645833 0.800000 +vt 0.062500 0.080000 +vt 0.145833 0.080000 +vt 0.979167 0.080000 +vt 0.895833 0.080000 +vt 0.750000 0.080000 +vt 0.729167 0.080000 +vt 0.583333 0.080000 +vt 0.500000 0.080000 +vt 0.416667 0.080000 +vt 0.333333 0.080000 +vt 0.312500 0.080000 +vt 0.016724 0.639974 +vt 0.062487 0.552109 +vt 0.125000 0.519949 +vt 0.233276 0.639974 +vt 0.250027 0.760000 +vt 0.233276 0.880025 +vt 0.125000 1.000051 +vt 0.062487 0.967890 +vt 0.016724 0.880025 +vt 0.416667 0.520000 +vt 0.645833 0.800000 +vt 0.645833 0.800000 +vt 0.520833 0.520000 +vt 0.520833 0.840000 +vt 0.416667 0.520000 +vt 0.645833 0.800000 +vt 0.520833 0.520000 +vt 0.520833 0.840000 +vt 0.645833 0.800000 +vt 0.416667 0.520000 +vt 0.645833 0.800000 +vt 0.645833 0.800000 +vt 0.520833 0.520000 +vt 0.520833 0.840000 +vt 0.416667 0.520000 +vt 0.645833 0.800000 +vt 0.416667 0.520000 +vt 0.520833 0.840000 +vt 0.645833 0.800000 +vt 0.479167 0.520000 +vt 0.437500 0.520000 +vt 0.520833 0.520000 +vt 0.604167 0.520000 +vt 0.687500 0.520000 +vt 0.770833 0.520000 +vt 0.854167 0.520000 +vt 0.937500 0.520000 +vt 0.020833 0.520000 +vt 0.104167 0.520000 +vt 0.187500 0.520000 +vt 0.270833 0.520000 +vt 0.354167 0.520000 +vt 0.062500 -0.000000 +vt 0.645833 -0.000000 +vt 0.895833 -0.000000 +vt 0.562500 -0.000000 +vt 0.979167 -0.000000 +vt 0.479167 -0.000000 +vt 0.395833 -0.000000 +vt 0.312500 -0.000000 +vt 0.229167 -0.000000 +vt 0.812500 -0.000000 +vt 0.729167 -0.000000 +vt 0.145833 -0.000000 +vt 0.562500 0.520000 +vt 0.645833 0.520000 +vt 0.729167 0.520000 +vt 0.812500 0.520000 +vt 0.895833 0.520000 +vt 0.979167 0.520000 +vt 0.062500 0.520000 +vt 0.145833 0.520000 +vt 0.229167 0.520000 +vt 0.312500 0.520000 +vt 0.395833 0.520000 +vt 0.000000 -0.000000 +vt 0.583333 -0.000000 +vt 0.833333 -0.000000 +vt 0.500000 -0.000000 +vt 0.916667 -0.000000 +vt 0.416667 -0.000000 +vt 0.333333 -0.000000 +vt 0.250000 -0.000000 +vt 0.166667 -0.000000 +vt 0.750000 -0.000000 +vt 0.666667 -0.000000 +vt 0.083333 -0.000000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 -0.0000 +vn 0.0000 0.0000 1.0000 +vn -0.5000 0.0000 -0.8660 +vn -0.8660 0.0000 0.5000 +vn 0.8660 0.0000 -0.5000 +vn 0.5000 0.0000 0.8660 +vn -0.8660 0.0000 -0.5000 +vn -0.5000 0.0000 0.8660 +vn 0.5000 0.0000 -0.8660 +vn 0.8660 0.0000 0.5000 +vn 0.7746 0.4472 0.4472 +vn 0.8944 0.4472 0.0000 +vn 0.7746 0.4472 -0.4472 +vn 0.4472 0.4472 -0.7746 +vn 0.0000 0.4472 -0.8944 +vn -0.4472 0.4472 -0.7746 +vn -0.7746 0.4472 -0.4472 +vn -0.8944 0.4472 0.0000 +vn -0.7746 0.4472 0.4472 +vn -0.4472 0.4472 0.7746 +vn -0.0000 0.4472 0.8944 +vn 0.4472 0.4472 0.7746 +s off +f 87/1/1 7/2/1 6/3/1 +f 45/4/2 47/5/2 37/6/2 +f 22/7/2 35/8/2 34/9/2 +f 23/10/2 36/11/2 35/12/2 +f 14/13/2 36/14/2 24/15/2 +f 14/13/2 26/16/2 25/17/2 +f 15/18/2 26/19/2 13/20/2 +f 16/21/2 27/22/2 15/18/2 +f 17/23/2 28/24/2 16/25/2 +f 18/26/2 29/27/2 17/23/2 +f 19/28/2 30/29/2 18/26/2 +f 20/30/2 31/31/2 19/28/2 +f 20/30/2 33/32/2 32/33/2 +f 21/34/2 34/35/2 33/36/2 +f 51/37/1 50/38/1 49/39/1 +f 54/40/2 55/41/2 53/42/2 +f 52/43/3 54/40/3 50/38/3 +f 51/44/4 56/45/4 52/43/4 +f 50/38/5 53/42/5 49/39/5 +f 59/46/3 64/47/3 60/48/3 +f 58/49/6 61/50/6 57/51/6 +f 60/48/5 62/52/5 58/49/5 +f 59/53/1 58/49/1 57/51/1 +f 62/52/2 63/54/2 61/50/2 +f 71/55/3 68/56/3 72/57/3 +f 72/57/1 69/58/1 71/55/1 +f 69/59/4 67/60/4 71/55/4 +f 79/61/4 76/62/4 80/63/4 +f 67/60/2 66/64/2 68/56/2 +f 70/65/6 65/66/6 69/59/6 +f 80/63/1 77/67/1 79/61/1 +f 77/68/6 75/69/6 79/61/6 +f 75/69/2 74/70/2 76/62/2 +f 78/71/5 73/72/5 77/68/5 +f 89/73/1 5/74/1 4/75/1 +f 88/76/1 6/3/1 5/74/1 +f 90/77/1 4/78/1 3/79/1 +f 91/80/1 3/79/1 2/81/1 +f 1/82/1 91/83/1 2/81/1 +f 81/84/1 1/82/1 12/85/1 +f 11/86/1 81/87/1 12/85/1 +f 10/88/1 82/89/1 11/86/1 +f 9/90/1 83/91/1 10/88/1 +f 8/92/1 84/93/1 9/90/1 +f 86/94/1 8/92/1 7/2/1 +f 96/95/1 100/96/1 104/97/1 +f 105/98/1 108/99/1 106/100/1 +f 109/101/2 112/102/2 111/103/2 +f 108/104/7 110/105/7 106/100/7 +f 107/106/8 112/107/8 108/104/8 +f 106/100/9 109/101/9 105/98/9 +f 115/108/7 120/109/7 116/110/7 +f 114/111/10 117/112/10 113/113/10 +f 116/110/9 118/114/9 114/111/9 +f 115/115/1 114/111/1 113/113/1 +f 118/114/2 119/116/2 117/112/2 +f 127/117/7 124/118/7 128/119/7 +f 128/119/1 125/120/1 127/117/1 +f 125/121/8 123/122/8 127/117/8 +f 135/123/8 132/124/8 136/125/8 +f 124/118/2 121/126/2 122/127/2 +f 126/128/10 121/129/10 125/121/10 +f 134/130/1 135/123/1 136/125/1 +f 133/131/10 131/132/10 135/123/10 +f 131/132/2 130/133/2 132/124/2 +f 134/134/9 129/135/9 133/131/9 +f 137/136/1 140/137/1 138/138/1 +f 141/139/2 144/140/2 143/141/2 +f 140/142/11 142/143/11 138/138/11 +f 139/144/12 144/145/12 140/142/12 +f 138/138/13 141/139/13 137/136/13 +f 147/146/11 152/147/11 148/148/11 +f 146/149/14 149/150/14 145/151/14 +f 148/148/13 150/152/13 146/149/13 +f 147/153/1 146/149/1 145/151/1 +f 150/152/2 151/154/2 149/150/2 +f 159/155/11 156/156/11 160/157/11 +f 160/157/1 157/158/1 159/155/1 +f 157/159/12 155/160/12 159/155/12 +f 167/161/12 164/162/12 168/163/12 +f 156/156/2 153/164/2 154/165/2 +f 158/166/14 153/167/14 157/159/14 +f 168/163/1 165/168/1 167/161/1 +f 165/169/14 163/170/14 167/161/14 +f 163/170/2 162/171/2 164/162/2 +f 166/172/13 161/173/13 165/169/13 +f 87/1/1 86/174/1 7/2/1 +f 37/6/2 38/175/2 39/176/2 +f 39/176/2 40/177/2 41/178/2 +f 41/178/2 42/179/2 43/180/2 +f 43/180/2 44/181/2 45/4/2 +f 45/4/2 46/182/2 47/5/2 +f 47/5/2 48/183/2 37/6/2 +f 37/6/2 39/176/2 41/178/2 +f 41/178/2 43/180/2 37/6/2 +f 43/180/2 45/4/2 37/6/2 +f 22/7/2 23/10/2 35/8/2 +f 23/10/2 24/15/2 36/11/2 +f 14/13/2 25/184/2 36/14/2 +f 14/13/2 13/20/2 26/16/2 +f 15/18/2 27/185/2 26/19/2 +f 16/21/2 28/186/2 27/22/2 +f 17/23/2 29/187/2 28/24/2 +f 18/26/2 30/188/2 29/27/2 +f 19/28/2 31/189/2 30/29/2 +f 20/30/2 32/190/2 31/31/2 +f 20/30/2 21/34/2 33/32/2 +f 21/34/2 22/7/2 34/35/2 +f 51/37/1 52/191/1 50/38/1 +f 54/40/2 56/192/2 55/41/2 +f 52/43/3 56/45/3 54/40/3 +f 51/44/4 55/193/4 56/45/4 +f 50/38/5 54/40/5 53/42/5 +f 59/46/3 63/194/3 64/47/3 +f 58/49/6 62/52/6 61/50/6 +f 60/48/5 64/47/5 62/52/5 +f 59/53/1 60/195/1 58/49/1 +f 62/52/2 64/196/2 63/54/2 +f 71/55/3 67/60/3 68/56/3 +f 72/57/1 70/197/1 69/58/1 +f 69/59/4 65/66/4 67/60/4 +f 79/61/4 75/69/4 76/62/4 +f 67/60/2 65/198/2 66/64/2 +f 70/65/6 66/199/6 65/66/6 +f 80/63/1 78/200/1 77/67/1 +f 77/68/6 73/72/6 75/69/6 +f 75/69/2 73/201/2 74/70/2 +f 78/71/5 74/202/5 73/72/5 +f 89/73/1 88/203/1 5/74/1 +f 88/76/1 87/204/1 6/3/1 +f 90/77/1 89/205/1 4/78/1 +f 91/80/1 90/206/1 3/79/1 +f 1/82/1 92/207/1 91/83/1 +f 81/84/1 92/208/1 1/82/1 +f 11/86/1 82/209/1 81/87/1 +f 10/88/1 83/210/1 82/89/1 +f 9/90/1 84/211/1 83/91/1 +f 8/92/1 85/212/1 84/93/1 +f 86/94/1 85/213/1 8/92/1 +f 104/97/1 93/214/1 94/215/1 +f 94/215/1 95/216/1 96/95/1 +f 96/95/1 97/217/1 100/96/1 +f 97/217/1 98/218/1 100/96/1 +f 98/218/1 99/219/1 100/96/1 +f 100/96/1 101/220/1 102/221/1 +f 102/221/1 103/222/1 104/97/1 +f 104/97/1 94/215/1 96/95/1 +f 100/96/1 102/221/1 104/97/1 +f 105/98/1 107/223/1 108/99/1 +f 109/101/2 110/105/2 112/102/2 +f 108/104/7 112/107/7 110/105/7 +f 107/106/8 111/224/8 112/107/8 +f 106/100/9 110/105/9 109/101/9 +f 115/108/7 119/225/7 120/109/7 +f 114/111/10 118/114/10 117/112/10 +f 116/110/9 120/109/9 118/114/9 +f 115/115/1 116/226/1 114/111/1 +f 118/114/2 120/227/2 119/116/2 +f 127/117/7 123/122/7 124/118/7 +f 128/119/1 126/228/1 125/120/1 +f 125/121/8 121/129/8 123/122/8 +f 135/123/8 131/132/8 132/124/8 +f 124/118/2 123/122/2 121/126/2 +f 126/128/10 122/229/10 121/129/10 +f 134/130/1 133/230/1 135/123/1 +f 133/131/10 129/135/10 131/132/10 +f 131/132/2 129/231/2 130/133/2 +f 134/134/9 130/232/9 129/135/9 +f 137/136/1 139/233/1 140/137/1 +f 141/139/2 142/143/2 144/140/2 +f 140/142/11 144/145/11 142/143/11 +f 139/144/12 143/234/12 144/145/12 +f 138/138/13 142/143/13 141/139/13 +f 147/146/11 151/235/11 152/147/11 +f 146/149/14 150/152/14 149/150/14 +f 148/148/13 152/147/13 150/152/13 +f 147/153/1 148/236/1 146/149/1 +f 150/152/2 152/237/2 151/154/2 +f 159/155/11 155/160/11 156/156/11 +f 160/157/1 158/238/1 157/158/1 +f 157/159/12 153/167/12 155/160/12 +f 167/161/12 163/170/12 164/162/12 +f 156/156/2 155/160/2 153/164/2 +f 158/166/14 154/239/14 153/167/14 +f 168/163/1 166/240/1 165/168/1 +f 165/169/14 161/173/14 163/170/14 +f 163/170/2 161/241/2 162/171/2 +f 166/172/13 162/242/13 161/173/13 +s 1 +f 9/90/14 20/30/10 8/92/10 +f 6/3/12 17/23/8 5/74/8 +f 1/82/3 24/15/13 12/85/13 +f 3/79/11 13/20/7 2/81/7 +f 10/88/5 21/34/14 9/90/14 +f 7/2/6 18/26/12 6/3/12 +f 4/78/4 15/18/11 3/79/11 +f 11/86/9 22/7/5 10/88/5 +f 8/92/10 19/28/6 7/2/6 +f 5/74/8 16/25/4 4/75/4 +f 12/85/13 23/10/9 11/86/9 +f 2/81/7 14/13/3 1/82/3 +f 33/36/15 46/243/16 45/244/15 +f 35/8/17 46/245/16 34/9/16 +f 36/11/18 47/246/17 35/12/17 +f 25/184/19 48/247/18 36/14/18 +f 26/16/20 37/248/19 25/17/19 +f 27/185/21 38/249/20 26/19/20 +f 28/186/22 39/250/21 27/22/21 +f 29/187/23 40/251/22 28/24/22 +f 30/188/24 41/252/23 29/27/23 +f 31/189/25 42/253/24 30/29/24 +f 32/190/26 43/254/25 31/31/25 +f 33/32/15 44/255/26 32/33/26 +f 89/73/4 100/256/8 88/203/8 +f 82/209/9 93/257/13 81/87/13 +f 91/80/7 102/258/11 90/206/11 +f 83/210/5 94/259/9 82/89/9 +f 90/77/11 101/260/4 89/205/4 +f 84/211/14 95/261/5 83/91/5 +f 85/212/10 96/262/14 84/93/14 +f 86/94/6 97/263/10 85/213/10 +f 87/1/12 98/264/6 86/174/6 +f 92/207/3 103/265/7 91/83/7 +f 81/84/13 104/266/3 92/208/3 +f 88/76/8 99/267/12 87/204/12 +f 9/90/14 21/34/14 20/30/10 +f 6/3/12 18/26/12 17/23/8 +f 1/82/3 14/13/3 24/15/13 +f 3/79/11 15/18/11 13/20/7 +f 10/88/5 22/7/5 21/34/14 +f 7/2/6 19/28/6 18/26/12 +f 4/78/4 16/21/4 15/18/11 +f 11/86/9 23/10/9 22/7/5 +f 8/92/10 20/30/10 19/28/6 +f 5/74/8 17/23/8 16/25/4 +f 12/85/13 24/15/13 23/10/9 +f 2/81/7 13/20/7 14/13/3 +f 33/36/15 34/35/16 46/243/16 +f 35/8/17 47/268/17 46/245/16 +f 36/11/18 48/269/18 47/246/17 +f 25/184/19 37/270/19 48/247/18 +f 26/16/20 38/271/20 37/248/19 +f 27/185/21 39/272/21 38/249/20 +f 28/186/22 40/273/22 39/250/21 +f 29/187/23 41/274/23 40/251/22 +f 30/188/24 42/275/24 41/252/23 +f 31/189/25 43/276/25 42/253/24 +f 32/190/26 44/277/26 43/254/25 +f 33/32/15 45/278/15 44/255/26 +f 89/73/4 101/279/4 100/256/8 +f 82/209/9 94/280/9 93/257/13 +f 91/80/7 103/281/7 102/258/11 +f 83/210/5 95/282/5 94/259/9 +f 90/77/11 102/283/11 101/260/4 +f 84/211/14 96/284/14 95/261/5 +f 85/212/10 97/285/10 96/262/14 +f 86/94/6 98/286/6 97/263/10 +f 87/1/12 99/287/12 98/264/6 +f 92/207/3 104/288/3 103/265/7 +f 81/84/13 93/289/13 104/266/3 +f 88/76/8 100/290/8 99/267/12 diff --git a/src/main/resources/assets/hbm/models/bombs/dud_balefire.obj b/src/main/resources/assets/hbm/models/bombs/dud_balefire.obj new file mode 100644 index 000000000..fdb0ad36c --- /dev/null +++ b/src/main/resources/assets/hbm/models/bombs/dud_balefire.obj @@ -0,0 +1,2010 @@ +# Blender v2.79 (sub 7) OBJ File: 'fat fuck.blend' +# www.blender.org +o Cylinder.002_Cylinder.003 +v -0.000001 -0.719113 -2.937500 +v -0.000001 -0.719113 -2.562500 +v -0.334189 -0.636743 -2.937500 +v -0.334189 -0.636743 -2.562500 +v -0.591819 -0.408502 -2.937500 +v -0.591819 -0.408502 -2.562500 +v -0.713870 -0.086679 -2.937500 +v -0.713870 -0.086679 -2.562500 +v -0.672382 0.255002 -2.937500 +v -0.672382 0.255002 -2.562500 +v -0.476860 0.538265 -2.937500 +v -0.476860 0.538265 -2.562500 +v -0.172094 0.698218 -2.937500 +v -0.172094 0.698218 -2.562500 +v 0.172096 0.698217 -2.937500 +v 0.172096 0.698217 -2.562500 +v 0.476861 0.538264 -2.937500 +v 0.476861 0.538264 -2.562500 +v 0.672383 0.255001 -2.937500 +v 0.672383 0.255001 -2.562500 +v 0.713870 -0.086680 -2.937500 +v 0.713870 -0.086680 -2.562500 +v 0.591818 -0.408504 -2.937500 +v 0.591818 -0.408504 -2.562500 +v 0.334188 -0.636744 -2.937500 +v 0.334188 -0.636744 -2.562500 +v -0.000001 -0.783484 -2.937500 +v -0.364104 -0.693740 -2.937500 +v -0.364104 -0.693740 -2.562500 +v -0.000001 -0.783484 -2.562500 +v -0.644795 -0.445069 -2.937500 +v -0.644795 -0.445069 -2.562500 +v -0.777772 -0.094438 -2.937500 +v -0.777772 -0.094438 -2.562500 +v -0.732570 0.277828 -2.937500 +v -0.732570 0.277828 -2.562500 +v -0.519545 0.586447 -2.937500 +v -0.519545 0.586447 -2.562500 +v -0.187499 0.760718 -2.937500 +v -0.187499 0.760718 -2.562500 +v 0.187501 0.760717 -2.937500 +v 0.187501 0.760717 -2.562500 +v 0.519546 0.586446 -2.937500 +v 0.519546 0.586446 -2.562500 +v 0.732570 0.277827 -2.937500 +v 0.732570 0.277827 -2.562500 +v 0.777771 -0.094439 -2.937500 +v 0.777771 -0.094439 -2.562500 +v 0.644794 -0.445070 -2.937500 +v 0.644794 -0.445070 -2.562500 +v 0.364102 -0.693741 -2.937500 +v 0.364102 -0.693741 -2.562500 +v -0.000001 -0.719113 -2.437500 +v -0.000001 -0.719113 -2.062500 +v -0.334189 -0.636743 -2.437500 +v -0.334189 -0.636743 -2.062500 +v -0.591819 -0.408502 -2.437500 +v -0.591819 -0.408502 -2.062500 +v -0.713870 -0.086679 -2.437500 +v -0.713870 -0.086679 -2.062500 +v -0.672382 0.255002 -2.437500 +v -0.672382 0.255002 -2.062500 +v -0.476860 0.538265 -2.437500 +v -0.476860 0.538265 -2.062500 +v -0.172094 0.698218 -2.437500 +v -0.172094 0.698218 -2.062500 +v 0.172096 0.698217 -2.437500 +v 0.172096 0.698217 -2.062500 +v 0.476861 0.538264 -2.437500 +v 0.476861 0.538264 -2.062500 +v 0.672383 0.255001 -2.437500 +v 0.672383 0.255001 -2.062500 +v 0.713870 -0.086680 -2.437500 +v 0.713870 -0.086680 -2.062500 +v 0.591818 -0.408504 -2.437500 +v 0.591818 -0.408504 -2.062500 +v 0.334188 -0.636744 -2.437500 +v 0.334188 -0.636744 -2.062500 +v -0.000001 -0.783484 -2.437500 +v -0.364104 -0.693740 -2.437500 +v -0.364104 -0.693740 -2.062500 +v -0.000001 -0.783484 -2.062500 +v -0.644795 -0.445069 -2.437500 +v -0.644795 -0.445069 -2.062500 +v -0.777772 -0.094438 -2.437500 +v -0.777772 -0.094438 -2.062500 +v -0.732570 0.277828 -2.437500 +v -0.732570 0.277828 -2.062500 +v -0.519545 0.586447 -2.437500 +v -0.519545 0.586447 -2.062500 +v -0.187499 0.760718 -2.437500 +v -0.187499 0.760718 -2.062500 +v 0.187501 0.760717 -2.437500 +v 0.187501 0.760717 -2.062500 +v 0.519546 0.586446 -2.437500 +v 0.519546 0.586446 -2.062500 +v 0.732570 0.277827 -2.437500 +v 0.732570 0.277827 -2.062500 +v 0.777771 -0.094439 -2.437500 +v 0.777771 -0.094439 -2.062500 +v 0.644794 -0.445070 -2.437500 +v 0.644794 -0.445070 -2.062500 +v 0.364102 -0.693741 -2.437500 +v 0.364102 -0.693741 -2.062500 +v -0.044194 -0.000000 3.000000 +v -0.000000 0.044194 3.000000 +v -0.044194 -0.000000 2.937500 +v -0.000000 0.044194 2.937500 +v -0.000000 -0.044194 3.000000 +v 0.044194 -0.000000 3.000000 +v -0.000000 -0.044194 2.937500 +v 0.044194 -0.000000 2.937500 +v 0.062500 0.670956 -0.412514 +v 0.062500 0.609273 -0.402438 +v 0.062500 0.640727 -0.597562 +v 0.062500 0.579044 -0.587485 +v -0.062500 0.670956 -0.412514 +v -0.062500 0.609273 -0.402438 +v -0.062500 0.640727 -0.597562 +v -0.062500 0.579044 -0.587485 +v -0.549815 0.389605 -0.412514 +v -0.496396 0.358763 -0.402438 +v -0.523636 0.374490 -0.597562 +v -0.470217 0.343649 -0.587485 +v -0.612315 0.281351 -0.412514 +v -0.558896 0.250510 -0.402438 +v -0.586136 0.266237 -0.597562 +v -0.532717 0.235396 -0.587485 +v -0.612315 -0.281351 -0.412514 +v -0.558896 -0.250510 -0.402438 +v -0.586136 -0.266237 -0.597562 +v -0.532717 -0.235396 -0.587485 +v -0.549815 -0.389604 -0.412514 +v -0.496396 -0.358763 -0.402438 +v -0.523636 -0.374490 -0.597562 +v -0.470217 -0.343649 -0.587485 +v -0.062500 -0.670956 -0.412514 +v -0.062500 -0.609273 -0.402438 +v -0.062500 -0.640727 -0.597562 +v -0.062500 -0.579045 -0.587485 +v 0.062500 -0.670956 -0.412514 +v 0.062500 -0.609273 -0.402438 +v 0.062500 -0.640727 -0.597562 +v 0.062500 -0.579044 -0.587485 +v 0.549815 -0.389604 -0.412514 +v 0.496396 -0.358763 -0.402438 +v 0.523636 -0.374490 -0.597562 +v 0.470217 -0.343649 -0.587485 +v 0.612315 -0.281351 -0.412514 +v 0.558896 -0.250510 -0.402438 +v 0.586136 -0.266237 -0.597562 +v 0.532717 -0.235396 -0.587485 +v 0.612315 0.281351 -0.412514 +v 0.558896 0.250510 -0.402438 +v 0.586136 0.266237 -0.597562 +v 0.532717 0.235396 -0.587485 +v 0.549815 0.389604 -0.412514 +v 0.496396 0.358763 -0.402438 +v 0.523636 0.374490 -0.597562 +v 0.470217 0.343649 -0.587485 +v -0.000000 -0.297517 -2.812500 +v -0.148759 -0.257657 -2.812500 +v -0.257657 -0.148758 -2.812500 +v -0.297517 0.000000 -2.812500 +v -0.257657 0.148759 -2.812500 +v -0.148759 0.257658 -2.812500 +v 0.000000 0.297517 -2.812500 +v 0.148759 0.257657 -2.812500 +v 0.257658 0.148759 -2.812500 +v 0.297517 0.000000 -2.812500 +v 0.257658 -0.148759 -2.812500 +v 0.148759 -0.257657 -2.812500 +v -0.000000 -0.297517 -2.937500 +v -0.148759 -0.257657 -2.937500 +v -0.257657 -0.148759 -2.937500 +v -0.297517 0.000000 -2.937500 +v -0.257657 0.148759 -2.937500 +v -0.148759 0.257658 -2.937500 +v 0.000000 0.297517 -2.937500 +v 0.148759 0.257657 -2.937500 +v 0.257657 0.148759 -2.937500 +v 0.297517 0.000000 -2.937500 +v 0.257658 -0.148759 -2.937500 +v 0.148759 -0.257657 -2.937500 +v -0.000000 -0.362222 -2.812500 +v -0.181111 -0.313693 -2.812500 +v -0.313693 -0.181111 -2.812500 +v -0.362222 0.000000 -2.812500 +v -0.313693 0.181111 -2.812500 +v -0.181111 0.313694 -2.812500 +v 0.000000 0.362222 -2.812500 +v 0.181111 0.313693 -2.812500 +v 0.313693 0.181111 -2.812500 +v 0.362222 0.000000 -2.812500 +v 0.313694 -0.181111 -2.812500 +v 0.181111 -0.313693 -2.812500 +v -0.000000 -0.362222 -2.937500 +v -0.181111 -0.313693 -2.937500 +v -0.313693 -0.181111 -2.937500 +v -0.362222 0.000000 -2.937500 +v -0.313693 0.181111 -2.937500 +v -0.181111 0.313694 -2.937500 +v 0.000000 0.362222 -2.937500 +v 0.181111 0.313693 -2.937500 +v 0.313693 0.181111 -2.937500 +v 0.362222 0.000000 -2.937500 +v 0.313694 -0.181111 -2.937500 +v 0.181111 -0.313693 -2.937500 +v 0.265165 -0.220971 -1.000000 +v 0.265165 -0.220971 -2.999999 +v 0.618719 -0.574524 -2.999999 +v 0.220971 -0.265165 -1.000000 +v 0.220971 -0.265165 -2.999999 +v 0.574525 -0.618719 -2.999999 +v 0.441942 -0.397748 -1.000000 +v 0.618719 -0.574524 -1.250000 +v 0.574524 -0.618718 -1.250000 +v 0.397748 -0.441942 -1.000000 +v 0.220971 0.265165 -1.000000 +v 0.220971 0.265165 -2.999999 +v 0.574524 0.618719 -2.999999 +v 0.265165 0.220971 -1.000000 +v 0.265165 0.220971 -2.999999 +v 0.618718 0.574524 -2.999999 +v 0.397747 0.441942 -1.000000 +v 0.574524 0.618719 -1.249999 +v 0.618718 0.574524 -1.249999 +v 0.441942 0.397748 -1.000000 +v -0.265165 0.220971 -0.999999 +v -0.265165 0.220971 -2.999999 +v -0.618719 0.574524 -2.999999 +v -0.220971 0.265165 -0.999999 +v -0.220971 0.265165 -2.999999 +v -0.574525 0.618718 -2.999999 +v -0.441942 0.397747 -0.999999 +v -0.618719 0.574524 -1.249999 +v -0.574524 0.618718 -1.249999 +v -0.397748 0.441942 -0.999999 +v -0.220971 -0.265165 -0.999999 +v -0.220971 -0.265165 -2.999999 +v -0.574524 -0.618719 -2.999999 +v -0.265165 -0.220971 -0.999999 +v -0.265165 -0.220971 -2.999999 +v -0.618718 -0.574525 -2.999999 +v -0.397747 -0.441942 -0.999999 +v -0.574524 -0.618719 -1.249999 +v -0.618718 -0.574524 -1.249999 +v -0.441942 -0.397748 -0.999999 +v -0.000001 -0.654743 0.437500 +v -0.000001 -0.654743 0.562500 +v -0.304275 -0.579746 0.437500 +v -0.304275 -0.579746 0.562500 +v -0.538843 -0.371936 0.437500 +v -0.538843 -0.371936 0.562500 +v -0.649969 -0.078920 0.437500 +v -0.649969 -0.078920 0.562500 +v -0.612195 0.232176 0.437500 +v -0.612195 0.232176 0.562500 +v -0.434174 0.490083 0.437500 +v -0.434174 0.490083 0.562500 +v -0.156690 0.635718 0.437500 +v -0.156690 0.635718 0.562500 +v 0.156691 0.635717 0.437500 +v 0.156691 0.635717 0.562500 +v 0.434175 0.490082 0.437500 +v 0.434175 0.490082 0.562500 +v 0.612195 0.232175 0.437500 +v 0.612195 0.232175 0.562500 +v 0.649969 -0.078921 0.437500 +v 0.649969 -0.078921 0.562500 +v 0.538842 -0.371937 0.437500 +v 0.538842 -0.371937 0.562500 +v 0.304273 -0.579747 0.437500 +v 0.304273 -0.579747 0.562500 +v -0.000001 -0.783484 0.437500 +v -0.364104 -0.693740 0.437500 +v -0.364104 -0.693740 0.562500 +v -0.000001 -0.783484 0.562500 +v -0.644795 -0.445069 0.437500 +v -0.644795 -0.445069 0.562500 +v -0.777772 -0.094438 0.437500 +v -0.777772 -0.094438 0.562500 +v -0.732570 0.277828 0.437500 +v -0.732570 0.277828 0.562500 +v -0.519545 0.586447 0.437500 +v -0.519545 0.586447 0.562500 +v -0.187499 0.760718 0.437500 +v -0.187499 0.760718 0.562500 +v 0.187501 0.760717 0.437500 +v 0.187501 0.760717 0.562500 +v 0.519546 0.586446 0.437500 +v 0.519546 0.586446 0.562500 +v 0.732570 0.277827 0.437500 +v 0.732570 0.277827 0.562500 +v 0.777771 -0.094439 0.437500 +v 0.777771 -0.094439 0.562500 +v 0.644794 -0.445070 0.437500 +v 0.644794 -0.445070 0.562500 +v 0.364102 -0.693741 0.437500 +v 0.364102 -0.693741 0.562500 +v -0.000001 -0.654743 1.437500 +v -0.000001 -0.654743 1.562500 +v -0.304275 -0.579746 1.437500 +v -0.304275 -0.579746 1.562500 +v -0.538843 -0.371936 1.437500 +v -0.538843 -0.371936 1.562500 +v -0.649969 -0.078920 1.437500 +v -0.649969 -0.078920 1.562500 +v -0.612195 0.232176 1.437500 +v -0.612195 0.232176 1.562500 +v -0.434174 0.490083 1.437500 +v -0.434174 0.490083 1.562500 +v -0.156690 0.635718 1.437500 +v -0.156690 0.635718 1.562500 +v 0.156691 0.635717 1.437500 +v 0.156691 0.635717 1.562500 +v 0.434175 0.490082 1.437500 +v 0.434175 0.490082 1.562500 +v 0.612195 0.232175 1.437500 +v 0.612195 0.232175 1.562500 +v 0.649969 -0.078921 1.437500 +v 0.649969 -0.078921 1.562500 +v 0.538842 -0.371937 1.437500 +v 0.538842 -0.371937 1.562500 +v 0.304273 -0.579747 1.437500 +v 0.304273 -0.579747 1.562500 +v -0.000001 -0.783484 1.437500 +v -0.364104 -0.693740 1.437500 +v -0.364104 -0.693740 1.562500 +v -0.000001 -0.783484 1.562500 +v -0.644795 -0.445069 1.437500 +v -0.644795 -0.445069 1.562500 +v -0.777772 -0.094438 1.437500 +v -0.777772 -0.094438 1.562500 +v -0.732570 0.277828 1.437500 +v -0.732570 0.277828 1.562500 +v -0.519545 0.586447 1.437500 +v -0.519545 0.586447 1.562500 +v -0.187499 0.760718 1.437500 +v -0.187499 0.760718 1.562500 +v 0.187501 0.760717 1.437500 +v 0.187501 0.760717 1.562500 +v 0.519546 0.586446 1.437500 +v 0.519546 0.586446 1.562500 +v 0.732570 0.277827 1.437500 +v 0.732570 0.277827 1.562500 +v 0.777771 -0.094439 1.437500 +v 0.777771 -0.094439 1.562500 +v 0.644794 -0.445070 1.437500 +v 0.644794 -0.445070 1.562500 +v 0.364102 -0.693741 1.437500 +v 0.364102 -0.693741 1.562500 +v -0.000000 -0.724444 0.000000 +v -0.000000 -0.724444 2.000000 +v -0.362222 -0.627387 0.000000 +v -0.362222 -0.627387 2.000000 +v -0.627387 -0.362222 0.000000 +v -0.627387 -0.362222 2.000000 +v -0.724444 0.000000 0.000000 +v -0.724444 0.000000 2.000000 +v -0.627387 0.362222 0.000000 +v -0.627387 0.362222 2.000000 +v -0.362222 0.627387 0.000000 +v -0.362222 0.627387 2.000000 +v 0.000000 0.724444 0.000000 +v 0.000000 0.724444 2.000000 +v 0.362222 0.627387 0.000000 +v 0.362222 0.627387 2.000000 +v 0.627387 0.362222 0.000000 +v 0.627387 0.362222 2.000000 +v 0.724444 0.000000 0.000000 +v 0.724444 0.000000 2.000000 +v 0.627387 -0.362222 0.000000 +v 0.627387 -0.362222 2.000000 +v 0.362222 -0.627387 0.000000 +v 0.362222 -0.627387 2.000000 +v -0.241481 -0.418258 2.687500 +v -0.000000 -0.482963 2.687500 +v -0.418258 -0.241481 2.687500 +v -0.482962 0.000000 2.687500 +v -0.418258 0.241482 2.687500 +v -0.241481 0.418258 2.687500 +v 0.000000 0.482963 2.687500 +v 0.241481 0.418258 2.687500 +v 0.418258 0.241482 2.687500 +v 0.482963 0.000000 2.687500 +v 0.418258 -0.241481 2.687500 +v 0.241481 -0.418258 2.687500 +v -0.120741 -0.209129 2.875000 +v -0.000000 -0.241481 2.875000 +v -0.209129 -0.120740 2.875000 +v -0.241481 0.000000 2.875000 +v -0.209129 0.120741 2.875000 +v -0.120741 0.209129 2.875000 +v 0.000000 0.241482 2.875000 +v 0.120741 0.209129 2.875000 +v 0.209129 0.120741 2.875000 +v 0.241481 0.000000 2.875000 +v 0.209129 -0.120740 2.875000 +v 0.120741 -0.209129 2.875000 +v -0.060370 -0.104564 2.937500 +v 0.000000 -0.120740 2.937500 +v -0.104564 -0.060370 2.937500 +v -0.120741 0.000000 2.937500 +v -0.104564 0.060371 2.937500 +v -0.060370 0.104565 2.937500 +v 0.000000 0.120741 2.937500 +v 0.060370 0.104565 2.937500 +v 0.104565 0.060371 2.937500 +v 0.120741 0.000000 2.937500 +v 0.104565 -0.060370 2.937500 +v 0.060370 -0.104564 2.937500 +v -0.000000 -0.362222 -2.000000 +v -0.181111 -0.313693 -2.000000 +v -0.313693 -0.181111 -2.000000 +v -0.362222 0.000000 -2.000000 +v -0.313693 0.181111 -2.000000 +v -0.181111 0.313694 -2.000000 +v 0.000000 0.362222 -2.000000 +v 0.181111 0.313693 -2.000000 +v 0.313693 0.181111 -2.000000 +v 0.362222 0.000000 -2.000000 +v 0.313694 -0.181111 -2.000000 +v 0.181111 -0.313693 -2.000000 +v -0.000001 -0.654743 0.562500 +v 0.304273 -0.579747 0.562500 +vt 0.673684 0.087500 +vt 0.678947 0.012500 +vt 0.678947 0.087500 +vt 0.715789 0.087500 +vt 0.710526 0.012500 +vt 0.715789 0.012500 +vt 0.678947 0.162500 +vt 0.673684 0.162500 +vt 0.715789 0.162500 +vt 0.710526 0.087500 +vt 0.678947 0.237500 +vt 0.673684 0.237500 +vt 0.715789 0.237500 +vt 0.710526 0.162500 +vt 0.673684 0.312500 +vt 0.678947 0.312500 +vt 0.715789 0.312500 +vt 0.710526 0.237500 +vt 0.678947 0.387500 +vt 0.673684 0.387500 +vt 0.710526 0.387500 +vt 0.710526 0.312500 +vt 0.678947 0.462500 +vt 0.673684 0.462500 +vt 0.715789 0.462500 +vt 0.715789 0.387500 +vt 0.678947 0.537500 +vt 0.673684 0.537500 +vt 0.710526 0.537500 +vt 0.710526 0.462500 +vt 0.678947 0.612500 +vt 0.673684 0.612500 +vt 0.715789 0.537500 +vt 0.710526 0.612500 +vt 0.678947 0.687500 +vt 0.673684 0.687500 +vt 0.715789 0.687500 +vt 0.715789 0.612500 +vt 0.673684 0.762500 +vt 0.678947 0.762500 +vt 0.715789 0.762500 +vt 0.710526 0.687500 +vt 0.673684 0.837500 +vt 0.678947 0.837500 +vt 0.715789 0.837500 +vt 0.710526 0.762500 +vt 0.678947 0.912500 +vt 0.673684 0.912500 +vt 0.710526 0.912500 +vt 0.710526 0.837500 +vt 0.678947 0.987500 +vt 0.673684 0.987500 +vt 0.715789 0.987500 +vt 0.715789 0.912500 +vt 0.589474 0.087500 +vt 0.594737 0.012500 +vt 0.594737 0.087500 +vt 0.631579 0.087500 +vt 0.626316 0.012500 +vt 0.631579 0.012500 +vt 0.589474 0.162500 +vt 0.594737 0.162500 +vt 0.626316 0.162500 +vt 0.626316 0.087500 +vt 0.589474 0.237500 +vt 0.594737 0.237500 +vt 0.631579 0.237500 +vt 0.631579 0.162500 +vt 0.589474 0.312500 +vt 0.594737 0.312500 +vt 0.631579 0.312500 +vt 0.626316 0.237500 +vt 0.594737 0.387500 +vt 0.589474 0.387500 +vt 0.626316 0.387500 +vt 0.626316 0.312500 +vt 0.594737 0.462500 +vt 0.589474 0.462500 +vt 0.631579 0.462500 +vt 0.631579 0.387500 +vt 0.594737 0.537500 +vt 0.589474 0.537500 +vt 0.626316 0.537500 +vt 0.626316 0.462500 +vt 0.594737 0.612500 +vt 0.589474 0.612500 +vt 0.631579 0.537500 +vt 0.626316 0.612500 +vt 0.594737 0.687500 +vt 0.589474 0.687500 +vt 0.631579 0.687500 +vt 0.631579 0.612500 +vt 0.589474 0.762500 +vt 0.594737 0.762500 +vt 0.626316 0.762500 +vt 0.626316 0.687500 +vt 0.589474 0.837500 +vt 0.594737 0.837500 +vt 0.631579 0.837500 +vt 0.631579 0.762500 +vt 0.594737 0.912500 +vt 0.589474 0.912500 +vt 0.626316 0.912500 +vt 0.626316 0.837500 +vt 0.594737 0.987500 +vt 0.589474 0.987500 +vt 0.631579 0.987500 +vt 0.631579 0.912500 +vt 0.478947 0.812500 +vt 0.473684 0.800000 +vt 0.478947 0.800000 +vt 0.489474 0.812500 +vt 0.484211 0.800000 +vt 0.489474 0.800000 +vt 0.484211 0.812500 +vt 0.484211 0.787500 +vt 0.478947 0.787500 +vt 0.478947 0.825000 +vt 0.484211 0.825000 +vt 0.763158 0.387500 +vt 0.778947 0.375000 +vt 0.778947 0.387500 +vt 0.784211 0.387500 +vt 0.778947 0.412500 +vt 0.778947 0.425000 +vt 0.763158 0.412500 +vt 0.757895 0.412500 +vt 0.763158 0.325000 +vt 0.778947 0.312500 +vt 0.778947 0.325000 +vt 0.784211 0.325000 +vt 0.778947 0.350000 +vt 0.778947 0.362500 +vt 0.763158 0.350000 +vt 0.757895 0.350000 +vt 0.763158 0.262500 +vt 0.778947 0.250000 +vt 0.778947 0.262500 +vt 0.784211 0.262500 +vt 0.778947 0.287500 +vt 0.778947 0.300000 +vt 0.763158 0.287500 +vt 0.757895 0.287500 +vt 0.763158 0.200000 +vt 0.778947 0.187500 +vt 0.778947 0.200000 +vt 0.784211 0.200000 +vt 0.778947 0.225000 +vt 0.778947 0.237500 +vt 0.763158 0.225000 +vt 0.757895 0.225000 +vt 0.763158 0.137500 +vt 0.778947 0.125000 +vt 0.778947 0.137500 +vt 0.784211 0.137500 +vt 0.778947 0.162500 +vt 0.778947 0.175000 +vt 0.763158 0.162500 +vt 0.757895 0.162500 +vt 0.763158 0.450000 +vt 0.778947 0.437500 +vt 0.778947 0.450000 +vt 0.784211 0.450000 +vt 0.778947 0.475000 +vt 0.778947 0.487500 +vt 0.763158 0.475000 +vt 0.757895 0.475000 +vt 0.778947 0.575000 +vt 0.773684 0.537500 +vt 0.778947 0.537500 +vt 0.778947 0.612500 +vt 0.773684 0.575000 +vt 0.773684 0.650000 +vt 0.773684 0.612500 +vt 0.778947 0.687500 +vt 0.778947 0.650000 +vt 0.773684 0.725000 +vt 0.773684 0.687500 +vt 0.778947 0.762500 +vt 0.778947 0.725000 +vt 0.773684 0.800000 +vt 0.773684 0.762500 +vt 0.778947 0.837500 +vt 0.778947 0.800000 +vt 0.778947 0.875000 +vt 0.773684 0.837500 +vt 0.778947 0.912500 +vt 0.773684 0.875000 +vt 0.778947 0.950000 +vt 0.773684 0.912500 +vt 0.778947 0.987500 +vt 0.773684 0.950000 +vt 0.757895 0.575000 +vt 0.763158 0.537500 +vt 0.763158 0.575000 +vt 0.763158 0.612500 +vt 0.757895 0.612500 +vt 0.763158 0.650000 +vt 0.757895 0.650000 +vt 0.757895 0.687500 +vt 0.763158 0.687500 +vt 0.763158 0.725000 +vt 0.757895 0.725000 +vt 0.763158 0.762500 +vt 0.757895 0.762500 +vt 0.763158 0.800000 +vt 0.757895 0.800000 +vt 0.763158 0.837500 +vt 0.757895 0.837500 +vt 0.763158 0.875000 +vt 0.757895 0.875000 +vt 0.763158 0.912500 +vt 0.757895 0.912500 +vt 0.757895 0.950000 +vt 0.763158 0.950000 +vt 0.763158 0.987500 +vt 0.757895 0.987500 +vt 0.947368 0.975000 +vt 0.952632 0.625000 +vt 0.952632 0.975000 +vt 0.905263 0.987500 +vt 0.905263 0.975000 +vt 0.947368 0.625000 +vt 0.900000 0.975000 +vt 0.905263 0.575000 +vt 0.973684 0.575000 +vt 0.994737 0.575000 +vt 0.952632 0.550000 +vt 0.905263 0.562500 +vt 0.926316 0.575000 +vt 0.847368 0.525000 +vt 0.852632 0.175000 +vt 0.852632 0.525000 +vt 0.805263 0.537500 +vt 0.805263 0.525000 +vt 0.847368 0.175000 +vt 0.800000 0.525000 +vt 0.805263 0.125000 +vt 0.873684 0.125000 +vt 0.894737 0.125000 +vt 0.852632 0.100000 +vt 0.805263 0.112500 +vt 0.826316 0.125000 +vt 0.947368 0.525000 +vt 0.952632 0.175000 +vt 0.952632 0.525000 +vt 0.905263 0.525000 +vt 0.947368 0.537500 +vt 0.905263 0.537500 +vt 0.947368 0.175000 +vt 0.900000 0.525000 +vt 0.905263 0.125000 +vt 0.973684 0.125000 +vt 0.994737 0.125000 +vt 0.952632 0.100000 +vt 0.926316 0.112500 +vt 0.905263 0.112500 +vt 0.847368 0.975000 +vt 0.852632 0.625000 +vt 0.852632 0.975000 +vt 0.805263 0.987500 +vt 0.805263 0.975000 +vt 0.847368 0.625000 +vt 0.800000 0.975000 +vt 0.805263 0.575000 +vt 0.873684 0.575000 +vt 0.894737 0.575000 +vt 0.852632 0.550000 +vt 0.826316 0.562500 +vt 0.805263 0.562500 +vt 0.584211 0.981250 +vt 0.573684 0.912500 +vt 0.584211 0.918750 +vt 0.552632 0.918750 +vt 0.563158 0.987500 +vt 0.552632 0.981250 +vt 0.584211 0.906250 +vt 0.573684 0.837500 +vt 0.584211 0.843750 +vt 0.552632 0.906250 +vt 0.563158 0.837500 +vt 0.563158 0.912500 +vt 0.584211 0.831250 +vt 0.573684 0.762500 +vt 0.584211 0.768750 +vt 0.552632 0.768750 +vt 0.552632 0.831250 +vt 0.584211 0.756250 +vt 0.573684 0.687500 +vt 0.584211 0.693750 +vt 0.552632 0.693750 +vt 0.563158 0.762500 +vt 0.552632 0.756250 +vt 0.584211 0.681250 +vt 0.573684 0.612500 +vt 0.584211 0.618750 +vt 0.552632 0.681250 +vt 0.563158 0.612500 +vt 0.563158 0.687500 +vt 0.584211 0.543750 +vt 0.573684 0.537500 +vt 0.552632 0.543750 +vt 0.552632 0.606250 +vt 0.584211 0.531250 +vt 0.573684 0.462500 +vt 0.584211 0.468750 +vt 0.552632 0.468750 +vt 0.563158 0.537500 +vt 0.552632 0.531250 +vt 0.584211 0.456250 +vt 0.573684 0.387500 +vt 0.584211 0.393750 +vt 0.552632 0.393750 +vt 0.563158 0.462500 +vt 0.552632 0.456250 +vt 0.584211 0.381250 +vt 0.573684 0.312500 +vt 0.584211 0.318750 +vt 0.552632 0.318750 +vt 0.563158 0.387500 +vt 0.552632 0.381250 +vt 0.584211 0.306250 +vt 0.573684 0.237500 +vt 0.584211 0.243750 +vt 0.552632 0.306250 +vt 0.563158 0.237500 +vt 0.563158 0.312500 +vt 0.584211 0.231250 +vt 0.573684 0.162500 +vt 0.584211 0.168750 +vt 0.552632 0.168750 +vt 0.552632 0.231250 +vt 0.584211 0.093750 +vt 0.573684 0.087500 +vt 0.552632 0.093750 +vt 0.563158 0.162500 +vt 0.552632 0.156250 +vt 0.584211 0.018750 +vt 0.573684 0.012500 +vt 0.552632 0.018750 +vt 0.563158 0.087500 +vt 0.552632 0.081250 +vt 0.547368 0.981250 +vt 0.536842 0.912500 +vt 0.547368 0.918750 +vt 0.515789 0.918750 +vt 0.526316 0.987500 +vt 0.515789 0.981250 +vt 0.547368 0.906250 +vt 0.536842 0.837500 +vt 0.547368 0.843750 +vt 0.515789 0.906250 +vt 0.526316 0.837500 +vt 0.526316 0.912500 +vt 0.547368 0.831250 +vt 0.536842 0.762500 +vt 0.547368 0.768750 +vt 0.515789 0.768750 +vt 0.515789 0.831250 +vt 0.547368 0.756250 +vt 0.536842 0.687500 +vt 0.547368 0.693750 +vt 0.515789 0.693750 +vt 0.526316 0.762500 +vt 0.515789 0.756250 +vt 0.547368 0.681250 +vt 0.536842 0.612500 +vt 0.547368 0.618750 +vt 0.515789 0.681250 +vt 0.526316 0.612500 +vt 0.526316 0.687500 +vt 0.547368 0.543750 +vt 0.536842 0.537500 +vt 0.515789 0.543750 +vt 0.515789 0.606250 +vt 0.547368 0.531250 +vt 0.536842 0.462500 +vt 0.547368 0.468750 +vt 0.515789 0.468750 +vt 0.526316 0.537500 +vt 0.515789 0.531250 +vt 0.547368 0.456250 +vt 0.536842 0.387500 +vt 0.547368 0.393750 +vt 0.515789 0.393750 +vt 0.526316 0.462500 +vt 0.515789 0.456250 +vt 0.547368 0.381250 +vt 0.536842 0.312500 +vt 0.547368 0.318750 +vt 0.515789 0.318750 +vt 0.526316 0.387500 +vt 0.515789 0.381250 +vt 0.547368 0.306250 +vt 0.536842 0.237500 +vt 0.547368 0.243750 +vt 0.515789 0.306250 +vt 0.526316 0.237500 +vt 0.526316 0.312500 +vt 0.547368 0.231250 +vt 0.536842 0.162500 +vt 0.547368 0.168750 +vt 0.515789 0.168750 +vt 0.515789 0.231250 +vt 0.547368 0.093750 +vt 0.536842 0.087500 +vt 0.515789 0.093750 +vt 0.526316 0.162500 +vt 0.515789 0.156250 +vt 0.547368 0.018750 +vt 0.536842 0.012500 +vt 0.515789 0.018750 +vt 0.526316 0.087500 +vt 0.515789 0.081250 +vt 0.457751 0.823904 +vt 0.449054 0.811677 +vt 0.449164 0.787676 +vt 0.509386 0.912340 +vt 0.463565 0.975124 +vt 0.463582 0.849487 +vt 0.673684 0.012500 +vt 0.710526 0.987500 +vt 0.589474 0.012500 +vt 0.626316 0.987500 +vt 0.473684 0.812500 +vt 0.763158 0.375000 +vt 0.784211 0.412500 +vt 0.763158 0.425000 +vt 0.757895 0.387500 +vt 0.763158 0.312500 +vt 0.784211 0.350000 +vt 0.763158 0.362500 +vt 0.757895 0.325000 +vt 0.763158 0.250000 +vt 0.784211 0.287500 +vt 0.763158 0.300000 +vt 0.757895 0.262500 +vt 0.763158 0.187500 +vt 0.784211 0.225000 +vt 0.763158 0.237500 +vt 0.757895 0.200000 +vt 0.763158 0.125000 +vt 0.784211 0.162500 +vt 0.763158 0.175000 +vt 0.757895 0.137500 +vt 0.763158 0.437500 +vt 0.784211 0.475000 +vt 0.763158 0.487500 +vt 0.757895 0.450000 +vt 0.773684 0.987500 +vt 0.757895 0.537500 +vt 0.947368 0.987500 +vt 0.900000 0.575000 +vt 0.994737 0.975000 +vt 0.947368 0.550000 +vt 0.926316 0.562500 +vt 0.847368 0.537500 +vt 0.800000 0.125000 +vt 0.894737 0.525000 +vt 0.847368 0.100000 +vt 0.826316 0.112500 +vt 0.926316 0.125000 +vt 0.900000 0.125000 +vt 0.994737 0.525000 +vt 0.947368 0.100000 +vt 0.847368 0.987500 +vt 0.826316 0.575000 +vt 0.800000 0.575000 +vt 0.894737 0.975000 +vt 0.847368 0.550000 +vt 0.573684 0.987500 +vt 0.552632 0.843750 +vt 0.552632 0.618750 +vt 0.584211 0.606250 +vt 0.552632 0.243750 +vt 0.584211 0.156250 +vt 0.584211 0.081250 +vt 0.563158 0.012500 +vt 0.536842 0.987500 +vt 0.515789 0.843750 +vt 0.515789 0.618750 +vt 0.547368 0.606250 +vt 0.515789 0.243750 +vt 0.547368 0.156250 +vt 0.547368 0.081250 +vt 0.526316 0.012500 +vt 0.452904 0.778987 +vt 0.457971 0.775902 +vt 0.463009 0.779249 +vt 0.466668 0.788129 +vt 0.467967 0.800165 +vt 0.466558 0.812130 +vt 0.462818 0.820819 +vt 0.452713 0.820557 +vt 0.447756 0.799641 +vt 0.478854 0.839780 +vt 0.494124 0.849510 +vt 0.505299 0.876068 +vt 0.505289 0.948605 +vt 0.494107 0.975147 +vt 0.478835 0.984854 +vt 0.452389 0.948566 +vt 0.448302 0.912294 +vt 0.452399 0.876028 +vt 0.752632 0.012500 +vt 0.721053 0.087500 +vt 0.721053 0.012500 +vt 0.752632 0.162500 +vt 0.752632 0.087500 +vt 0.752632 0.237500 +vt 0.721053 0.162500 +vt 0.752632 0.312500 +vt 0.721053 0.237500 +vt 0.752632 0.387500 +vt 0.721053 0.312500 +vt 0.721053 0.462500 +vt 0.721053 0.387500 +vt 0.752632 0.537500 +vt 0.752632 0.462500 +vt 0.752632 0.612500 +vt 0.721053 0.537500 +vt 0.721053 0.687500 +vt 0.721053 0.612500 +vt 0.752632 0.762500 +vt 0.752632 0.687500 +vt 0.752632 0.837500 +vt 0.721053 0.762500 +vt 0.752632 0.912500 +vt 0.721053 0.837500 +vt 0.752632 0.987500 +vt 0.721053 0.912500 +vt 0.668421 0.012500 +vt 0.636842 0.087500 +vt 0.636842 0.012500 +vt 0.668421 0.162500 +vt 0.668421 0.087500 +vt 0.636842 0.237500 +vt 0.636842 0.162500 +vt 0.668421 0.312500 +vt 0.668421 0.237500 +vt 0.668421 0.387500 +vt 0.636842 0.312500 +vt 0.636842 0.462500 +vt 0.636842 0.387500 +vt 0.668421 0.537500 +vt 0.668421 0.462500 +vt 0.668421 0.612500 +vt 0.636842 0.537500 +vt 0.636842 0.687500 +vt 0.636842 0.612500 +vt 0.668421 0.762500 +vt 0.668421 0.687500 +vt 0.668421 0.837500 +vt 0.636842 0.762500 +vt 0.668421 0.912500 +vt 0.636842 0.837500 +vt 0.668421 0.987500 +vt 0.636842 0.912500 +vt 0.794737 0.950000 +vt 0.784211 0.912500 +vt 0.794737 0.912500 +vt 0.794737 0.987500 +vt 0.784211 0.950000 +vt 0.784211 0.875000 +vt 0.794737 0.875000 +vt 0.784211 0.837500 +vt 0.794737 0.837500 +vt 0.784211 0.800000 +vt 0.794737 0.800000 +vt 0.784211 0.762500 +vt 0.794737 0.762500 +vt 0.784211 0.725000 +vt 0.794737 0.725000 +vt 0.794737 0.687500 +vt 0.784211 0.687500 +vt 0.794737 0.650000 +vt 0.784211 0.650000 +vt 0.794737 0.612500 +vt 0.784211 0.612500 +vt 0.784211 0.575000 +vt 0.794737 0.575000 +vt 0.784211 0.537500 +vt 0.794737 0.537500 +vt 0.105263 0.987500 +vt 0.273684 0.912500 +vt 0.273684 0.987500 +vt 0.105263 0.912500 +vt 0.273684 0.837500 +vt 0.105263 0.837500 +vt 0.273684 0.762500 +vt 0.105263 0.687500 +vt 0.273684 0.687500 +vt 0.273684 0.612500 +vt 0.105263 0.612500 +vt 0.273684 0.537500 +vt 0.105263 0.462500 +vt 0.273684 0.462500 +vt 0.273684 0.387500 +vt 0.105263 0.387500 +vt 0.273684 0.312500 +vt 0.105263 0.312500 +vt 0.273684 0.237500 +vt 0.105263 0.762500 +vt 0.042105 0.700000 +vt 0.105263 0.237500 +vt 0.273684 0.162500 +vt 0.105263 0.162500 +vt 0.273684 0.087500 +vt 0.442105 0.143750 +vt 0.042105 0.600000 +vt 0.015789 0.562500 +vt 0.042105 0.550000 +vt 0.105263 0.087500 +vt 0.042105 0.150000 +vt 0.042105 0.100000 +vt 0.042105 0.925000 +vt 0.042105 0.775000 +vt 0.042105 0.175000 +vt 0.042105 0.850000 +vt 0.042105 0.250000 +vt 0.042105 0.375000 +vt 0.042105 0.325000 +vt 0.042105 0.450000 +vt 0.042105 0.400000 +vt 0.042105 0.525000 +vt 0.042105 0.475000 +vt 0.105263 0.537500 +vt 0.042105 0.625000 +vt 0.015789 0.337500 +vt 0.005263 0.356250 +vt 0.005263 0.343750 +vt 0.015789 0.812500 +vt 0.015789 0.787500 +vt 0.042105 0.300000 +vt 0.015789 0.262500 +vt 0.015789 0.487500 +vt 0.042105 0.750000 +vt 0.015789 0.712500 +vt 0.042105 0.225000 +vt 0.015789 0.187500 +vt 0.042105 0.975000 +vt 0.015789 0.937500 +vt 0.015789 0.412500 +vt 0.042105 0.675000 +vt 0.015789 0.637500 +vt 0.015789 0.112500 +vt 0.015789 0.887500 +vt 0.015789 0.862500 +vt 0.015789 0.362500 +vt 0.015789 0.587500 +vt 0.005263 0.568750 +vt 0.005263 0.806250 +vt 0.005263 0.793750 +vt 0.015789 0.287500 +vt 0.005263 0.268750 +vt 0.005263 0.506250 +vt 0.005263 0.493750 +vt 0.005263 0.731250 +vt 0.005263 0.718750 +vt 0.015789 0.212500 +vt 0.005263 0.193750 +vt 0.015789 0.962500 +vt 0.005263 0.943750 +vt 0.015789 0.437500 +vt 0.005263 0.418750 +vt 0.015789 0.662500 +vt 0.005263 0.643750 +vt 0.015789 0.137500 +vt 0.005263 0.118750 +vt 0.005263 0.881250 +vt 0.005263 0.868750 +vt 0.442105 0.968750 +vt 0.442105 0.818750 +vt 0.442105 0.218750 +vt 0.442105 0.893750 +vt 0.442105 0.293750 +vt 0.442105 0.368750 +vt 0.442105 0.443750 +vt 0.442105 0.518750 +vt 0.442105 0.593750 +vt 0.442105 0.631250 +vt 0.442105 0.668750 +vt 0.442105 0.743750 +vt 0.721053 0.987500 +vt 0.636842 0.987500 +vt 0.784211 0.987500 +vt 0.442105 0.106250 +vt 0.042105 0.825000 +vt 0.042105 0.900000 +vt 0.015789 0.512500 +vt 0.015789 0.737500 +vt 0.005263 0.581250 +vt 0.005263 0.281250 +vt 0.005263 0.206250 +vt 0.005263 0.956250 +vt 0.005263 0.431250 +vt 0.005263 0.656250 +vt 0.005263 0.131250 +vt 0.442105 0.931250 +vt 0.442105 0.781250 +vt 0.442105 0.181250 +vt 0.442105 0.856250 +vt 0.442105 0.256250 +vt 0.442105 0.331250 +vt 0.442105 0.406250 +vt 0.442105 0.481250 +vt 0.442105 0.556250 +vt 0.442105 0.706250 +vn 0.0000 -0.0000 -1.0000 +vn -0.0000 0.0000 1.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn 1.0000 -0.0000 -0.0000 +vn 0.0000 -0.1612 -0.9869 +vn -1.0000 0.0000 -0.0000 +vn 0.0000 0.1612 0.9869 +vn 0.0000 0.9869 -0.1612 +vn 0.5000 0.8660 0.0000 +vn 0.1396 -0.0806 -0.9869 +vn -0.5000 -0.8660 0.0000 +vn -0.1396 0.0806 0.9869 +vn -0.8547 0.4935 -0.1612 +vn -0.5000 0.8660 -0.0000 +vn 0.1396 0.0806 -0.9869 +vn 0.5000 -0.8660 -0.0000 +vn -0.1396 -0.0806 0.9869 +vn -0.8547 -0.4935 -0.1612 +vn 0.0000 0.1612 -0.9869 +vn 0.0000 -0.1612 0.9869 +vn 0.0000 -0.9869 -0.1612 +vn -0.1396 0.0806 -0.9869 +vn 0.1396 -0.0806 0.9869 +vn 0.8547 -0.4935 -0.1612 +vn -0.1396 -0.0806 -0.9869 +vn 0.1396 0.0806 0.9869 +vn 0.8547 0.4935 -0.1612 +vn 0.5000 -0.5000 0.7071 +vn 0.5000 0.5000 0.7071 +vn -0.5000 0.5000 0.7071 +vn -0.5000 -0.5000 0.7071 +vn -0.0000 -1.0000 0.0000 +vn -0.4647 -0.8855 0.0000 +vn -0.8230 -0.5681 0.0000 +vn -0.9927 -0.1205 0.0000 +vn -0.9350 0.3546 0.0000 +vn -0.6631 0.7485 0.0000 +vn -0.2393 0.9709 0.0000 +vn 0.2393 0.9709 0.0000 +vn 0.6631 0.7485 0.0000 +vn 0.9350 0.3546 0.0000 +vn 0.9927 -0.1205 0.0000 +vn 0.8230 -0.5681 0.0000 +vn 0.4647 -0.8855 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.4647 0.8855 0.0000 +vn 0.8230 0.5681 0.0000 +vn 0.9927 0.1205 0.0000 +vn 0.9350 -0.3546 0.0000 +vn 0.6631 -0.7485 0.0000 +vn 0.2393 -0.9709 0.0000 +vn -0.2393 -0.9709 0.0000 +vn -0.6631 -0.7485 0.0000 +vn -0.9350 -0.3546 -0.0000 +vn -0.9927 0.1205 -0.0000 +vn -0.8230 0.5681 0.0000 +vn -0.4647 0.8855 0.0000 +vn 0.8660 0.5000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.8660 0.5000 -0.0000 +vn -0.0000 -0.9865 0.1637 +vn -0.4981 -0.8627 -0.0882 +vn -0.0000 -0.9961 -0.0882 +vn -0.4933 -0.8543 0.1637 +vn -0.8627 -0.4981 -0.0882 +vn -0.8543 -0.4933 0.1637 +vn -0.9961 0.0000 -0.0882 +vn -0.8543 0.4933 0.1637 +vn -0.8627 0.4981 -0.0882 +vn -0.4981 0.8627 -0.0882 +vn -0.4933 0.8543 0.1637 +vn 0.0000 0.9961 -0.0882 +vn 0.4933 0.8543 0.1637 +vn 0.4981 0.8627 -0.0882 +vn 0.8627 0.4981 -0.0882 +vn 0.8543 0.4933 0.1637 +vn 0.9961 0.0000 -0.0882 +vn 0.9865 0.0000 0.1637 +vn 0.8627 -0.4981 -0.0882 +vn -0.9865 0.0000 0.1637 +vn -0.7156 0.4131 0.5633 +vn 0.8543 -0.4933 0.1637 +vn 0.4981 -0.8627 -0.0882 +vn 0.4933 -0.8543 0.1637 +vn 0.4920 -0.8522 -0.1782 +vn -0.4131 0.7156 0.5633 +vn 0.0000 0.5493 0.8356 +vn -0.0000 0.8263 0.5633 +vn 0.4131 -0.7156 0.5633 +vn 0.0000 -0.8263 0.5633 +vn -0.4131 -0.7156 0.5633 +vn -0.8263 0.0000 0.5633 +vn -0.7156 -0.4131 0.5633 +vn 0.7156 -0.4131 0.5633 +vn 0.7156 0.4131 0.5633 +vn 0.8263 0.0000 0.5633 +vn 0.4131 0.7156 0.5633 +vn 0.0000 0.9865 0.1637 +vn 0.5493 0.0000 0.8356 +vn 0.3981 0.2299 0.8881 +vn 0.4597 0.0000 0.8881 +vn -0.4757 -0.2747 0.8356 +vn -0.5493 0.0000 0.8356 +vn 0.4757 -0.2747 0.8356 +vn 0.2747 0.4757 0.8356 +vn -0.4757 0.2747 0.8356 +vn 0.2747 -0.4757 0.8356 +vn -0.2747 -0.4757 0.8356 +vn 0.4757 0.2747 0.8356 +vn -0.2747 0.4757 0.8356 +vn -0.0000 -0.5493 0.8356 +vn 0.0000 0.4597 0.8881 +vn -0.3981 -0.2299 0.8881 +vn -0.4597 0.0000 0.8881 +vn 0.3981 -0.2299 0.8881 +vn 0.2299 0.3981 0.8881 +vn -0.3981 0.2299 0.8881 +vn 0.2299 -0.3981 0.8881 +vn -0.2298 -0.3981 0.8881 +vn -0.2299 0.3981 0.8881 +vn 0.0000 -0.4597 0.8881 +vn -0.0000 -0.9840 -0.1782 +vn -0.8522 -0.4920 -0.1782 +vn 0.8522 -0.4920 -0.1782 +vn -0.4920 -0.8522 -0.1782 +vn 0.9840 0.0000 -0.1782 +vn 0.8522 0.4920 -0.1782 +vn 0.4920 0.8522 -0.1782 +vn 0.0000 0.9840 -0.1782 +vn -0.4920 0.8522 -0.1782 +vn -0.8522 0.4920 -0.1782 +vn -0.9840 0.0000 -0.1782 +usemtl None +s off +f 3/1/1 27/2/1 28/3/1 +f 4/4/2 30/5/2 2/6/2 +f 3/1/1 31/7/1 5/8/1 +f 6/9/2 29/10/2 4/4/2 +f 5/8/1 33/11/1 7/12/1 +f 8/13/2 32/14/2 6/9/2 +f 9/15/1 33/11/1 35/16/1 +f 10/17/2 34/18/2 8/13/2 +f 9/15/1 37/19/1 11/20/1 +f 10/17/2 38/21/2 36/22/2 +f 11/20/1 39/23/1 13/24/1 +f 14/25/2 38/21/2 12/26/2 +f 13/24/1 41/27/1 15/28/1 +f 14/25/2 42/29/2 40/30/2 +f 15/28/1 43/31/1 17/32/1 +f 16/33/2 44/34/2 42/29/2 +f 17/32/1 45/35/1 19/36/1 +f 20/37/2 44/34/2 18/38/2 +f 21/39/1 45/35/1 47/40/1 +f 22/41/2 46/42/2 20/37/2 +f 23/43/1 47/40/1 49/44/1 +f 24/45/2 48/46/2 22/41/2 +f 23/43/1 51/47/1 25/48/1 +f 24/45/2 52/49/2 50/50/2 +f 25/48/1 27/51/1 1/52/1 +f 2/53/2 52/49/2 26/54/2 +f 55/55/1 79/56/1 80/57/1 +f 56/58/2 82/59/2 54/60/2 +f 57/61/1 80/57/1 83/62/1 +f 56/58/2 84/63/2 81/64/2 +f 59/65/1 83/62/1 85/66/1 +f 60/67/2 84/63/2 58/68/2 +f 61/69/1 85/66/1 87/70/1 +f 62/71/2 86/72/2 60/67/2 +f 61/69/1 89/73/1 63/74/1 +f 62/71/2 90/75/2 88/76/2 +f 63/74/1 91/77/1 65/78/1 +f 66/79/2 90/75/2 64/80/2 +f 65/78/1 93/81/1 67/82/1 +f 66/79/2 94/83/2 92/84/2 +f 67/82/1 95/85/1 69/86/1 +f 68/87/2 96/88/2 94/83/2 +f 69/86/1 97/89/1 71/90/1 +f 72/91/2 96/88/2 70/92/2 +f 73/93/1 97/89/1 99/94/1 +f 72/91/2 100/95/2 98/96/2 +f 75/97/1 99/94/1 101/98/1 +f 76/99/2 100/95/2 74/100/2 +f 75/97/1 103/101/1 77/102/1 +f 76/99/2 104/103/2 102/104/2 +f 77/102/1 79/105/1 53/106/1 +f 54/107/2 104/103/2 78/108/2 +f 106/109/3 107/110/3 105/111/3 +f 112/112/4 109/113/4 111/114/4 +f 110/115/2 105/111/2 109/113/2 +f 111/116/5 105/111/5 107/117/5 +f 108/118/6 110/115/6 112/119/6 +f 113/120/7 116/121/7 115/122/7 +f 116/123/8 119/124/8 115/122/8 +f 120/125/9 117/126/9 119/124/9 +f 118/127/10 113/120/10 117/126/10 +f 115/122/11 117/126/11 113/120/11 +f 121/128/12 124/129/12 123/130/12 +f 124/131/13 127/132/13 123/130/13 +f 128/133/14 125/134/14 127/132/14 +f 126/135/15 121/128/15 125/134/15 +f 127/132/16 121/128/16 123/130/16 +f 129/136/17 132/137/17 131/138/17 +f 132/139/18 135/140/18 131/138/18 +f 136/141/19 133/142/19 135/140/19 +f 134/143/20 129/136/20 133/142/20 +f 131/138/21 133/142/21 129/136/21 +f 137/144/9 140/145/9 139/146/9 +f 140/147/22 143/148/22 139/146/22 +f 144/149/7 141/150/7 143/148/7 +f 142/151/23 137/144/23 141/150/23 +f 139/146/24 141/150/24 137/144/24 +f 145/152/14 148/153/14 147/154/14 +f 148/155/25 151/156/25 147/154/25 +f 152/157/12 149/158/12 151/156/12 +f 150/159/26 145/152/26 149/158/26 +f 147/154/27 149/158/27 145/152/27 +f 153/160/19 156/161/19 155/162/19 +f 156/163/28 159/164/28 155/162/28 +f 160/165/17 157/166/17 159/164/17 +f 158/167/29 153/160/29 157/166/29 +f 159/164/30 153/160/30 155/162/30 +f 162/168/2 185/169/2 161/170/2 +f 163/171/2 186/172/2 162/168/2 +f 163/171/2 188/173/2 187/174/2 +f 165/175/2 188/173/2 164/176/2 +f 165/175/2 190/177/2 189/178/2 +f 167/179/2 190/177/2 166/180/2 +f 167/179/2 192/181/2 191/182/2 +f 169/183/2 192/181/2 168/184/2 +f 170/185/2 193/186/2 169/183/2 +f 171/187/2 194/188/2 170/185/2 +f 172/189/2 195/190/2 171/187/2 +f 161/191/2 196/192/2 172/189/2 +f 174/193/1 197/194/1 198/195/1 +f 174/193/1 199/196/1 175/197/1 +f 175/197/1 200/198/1 176/199/1 +f 177/200/1 200/198/1 201/201/1 +f 177/200/1 202/202/1 178/203/1 +f 178/203/1 203/204/1 179/205/1 +f 179/205/1 204/206/1 180/207/1 +f 180/207/1 205/208/1 181/209/1 +f 181/209/1 206/210/1 182/211/1 +f 182/211/1 207/212/1 183/213/1 +f 184/214/1 207/212/1 208/215/1 +f 184/214/1 197/216/1 173/217/1 +f 211/218/4 217/219/4 214/220/4 +f 211/218/1 213/221/1 210/222/1 +f 216/223/6 211/218/6 210/222/6 +f 213/224/3 209/225/3 210/222/3 +f 217/219/5 218/226/5 212/227/5 +f 216/223/31 218/228/31 217/219/31 +f 212/229/2 215/230/2 209/225/2 +f 221/231/6 227/232/6 224/233/6 +f 221/231/1 223/234/1 220/235/1 +f 226/236/3 221/231/3 220/235/3 +f 223/237/5 219/238/5 220/235/5 +f 227/232/4 228/239/4 222/240/4 +f 226/236/32 228/241/32 227/232/32 +f 222/242/2 225/243/2 219/238/2 +f 231/244/3 237/245/3 234/246/3 +f 230/247/1 234/248/1 233/249/1 +f 236/250/5 231/244/5 230/247/5 +f 233/251/4 229/252/4 230/247/4 +f 237/245/6 238/253/6 232/254/6 +f 236/250/33 238/255/33 237/245/33 +f 238/256/2 229/252/2 232/257/2 +f 241/258/5 247/259/5 244/260/5 +f 241/258/1 243/261/1 240/262/1 +f 246/263/4 241/258/4 240/262/4 +f 243/264/6 239/265/6 240/262/6 +f 247/259/3 248/266/3 242/267/3 +f 246/263/34 248/268/34 247/259/34 +f 248/269/2 239/265/2 242/270/2 +f 249/271/1 276/272/1 251/273/1 +f 252/274/2 278/275/2 425/276/2 +f 251/277/1 279/278/1 253/279/1 +f 252/280/2 280/281/2 277/282/2 +f 253/283/1 281/284/1 255/285/1 +f 256/286/2 280/281/2 254/287/2 +f 255/288/1 283/289/1 257/290/1 +f 258/291/2 282/292/2 256/293/2 +f 257/294/1 285/295/1 259/296/1 +f 258/297/2 286/298/2 284/299/2 +f 261/300/1 285/295/1 287/301/1 +f 262/302/2 286/298/2 260/303/2 +f 261/304/1 289/305/1 263/306/1 +f 264/307/2 288/308/2 262/309/2 +f 263/310/1 291/311/1 265/312/1 +f 266/313/2 290/314/2 264/315/2 +f 265/316/1 293/317/1 267/318/1 +f 268/319/2 292/320/2 266/321/2 +f 267/322/1 295/323/1 269/324/1 +f 268/325/2 296/326/2 294/327/2 +f 269/328/1 297/329/1 271/330/1 +f 272/331/2 296/326/2 270/332/2 +f 273/333/1 297/329/1 299/334/1 +f 426/335/2 298/336/2 272/337/2 +f 249/338/1 299/334/1 275/339/1 +f 250/340/2 300/341/2 274/342/2 +f 301/343/1 328/344/1 303/345/1 +f 304/346/2 330/347/2 302/348/2 +f 303/349/1 331/350/1 305/351/1 +f 304/352/2 332/353/2 329/354/2 +f 305/355/1 333/356/1 307/357/1 +f 308/358/2 332/353/2 306/359/2 +f 307/360/1 335/361/1 309/362/1 +f 310/363/2 334/364/2 308/365/2 +f 309/366/1 337/367/1 311/368/1 +f 310/369/2 338/370/2 336/371/2 +f 313/372/1 337/367/1 339/373/1 +f 314/374/2 338/370/2 312/375/2 +f 313/376/1 341/377/1 315/378/1 +f 316/379/2 340/380/2 314/381/2 +f 315/382/1 343/383/1 317/384/1 +f 318/385/2 342/386/2 316/387/2 +f 317/388/1 345/389/1 319/390/1 +f 320/391/2 344/392/2 318/393/2 +f 319/394/1 347/395/1 321/396/1 +f 320/397/2 348/398/2 346/399/2 +f 321/400/1 349/401/1 323/402/1 +f 324/403/2 348/398/2 322/404/2 +f 325/405/1 349/401/1 351/406/1 +f 326/407/2 350/408/2 324/409/2 +f 301/410/1 351/406/1 327/411/1 +f 302/412/2 352/413/2 326/414/2 +f 407/415/2 405/416/2 403/417/2 +f 416/418/1 420/419/1 424/420/1 +f 3/1/1 1/421/1 27/2/1 +f 4/4/2 29/10/2 30/5/2 +f 3/1/1 28/3/1 31/7/1 +f 6/9/2 32/14/2 29/10/2 +f 5/8/1 31/7/1 33/11/1 +f 8/13/2 34/18/2 32/14/2 +f 9/15/1 7/12/1 33/11/1 +f 10/17/2 36/22/2 34/18/2 +f 9/15/1 35/16/1 37/19/1 +f 10/17/2 12/26/2 38/21/2 +f 11/20/1 37/19/1 39/23/1 +f 14/25/2 40/30/2 38/21/2 +f 13/24/1 39/23/1 41/27/1 +f 14/25/2 16/33/2 42/29/2 +f 15/28/1 41/27/1 43/31/1 +f 16/33/2 18/38/2 44/34/2 +f 17/32/1 43/31/1 45/35/1 +f 20/37/2 46/42/2 44/34/2 +f 21/39/1 19/36/1 45/35/1 +f 22/41/2 48/46/2 46/42/2 +f 23/43/1 21/39/1 47/40/1 +f 24/45/2 50/50/2 48/46/2 +f 23/43/1 49/44/1 51/47/1 +f 24/45/2 26/54/2 52/49/2 +f 25/48/1 51/47/1 27/51/1 +f 2/53/2 30/422/2 52/49/2 +f 55/55/1 53/423/1 79/56/1 +f 56/58/2 81/64/2 82/59/2 +f 57/61/1 55/55/1 80/57/1 +f 56/58/2 58/68/2 84/63/2 +f 59/65/1 57/61/1 83/62/1 +f 60/67/2 86/72/2 84/63/2 +f 61/69/1 59/65/1 85/66/1 +f 62/71/2 88/76/2 86/72/2 +f 61/69/1 87/70/1 89/73/1 +f 62/71/2 64/80/2 90/75/2 +f 63/74/1 89/73/1 91/77/1 +f 66/79/2 92/84/2 90/75/2 +f 65/78/1 91/77/1 93/81/1 +f 66/79/2 68/87/2 94/83/2 +f 67/82/1 93/81/1 95/85/1 +f 68/87/2 70/92/2 96/88/2 +f 69/86/1 95/85/1 97/89/1 +f 72/91/2 98/96/2 96/88/2 +f 73/93/1 71/90/1 97/89/1 +f 72/91/2 74/100/2 100/95/2 +f 75/97/1 73/93/1 99/94/1 +f 76/99/2 102/104/2 100/95/2 +f 75/97/1 101/98/1 103/101/1 +f 76/99/2 78/108/2 104/103/2 +f 77/102/1 103/101/1 79/105/1 +f 54/107/2 82/424/2 104/103/2 +f 106/109/3 108/425/3 107/110/3 +f 112/112/4 110/115/4 109/113/4 +f 110/115/2 106/109/2 105/111/2 +f 111/116/5 109/113/5 105/111/5 +f 108/118/6 106/109/6 110/115/6 +f 113/120/7 114/426/7 116/121/7 +f 116/123/8 120/427/8 119/124/8 +f 120/125/9 118/428/9 117/126/9 +f 118/127/10 114/429/10 113/120/10 +f 115/122/11 119/124/11 117/126/11 +f 121/128/12 122/430/12 124/129/12 +f 124/131/13 128/431/13 127/132/13 +f 128/133/14 126/432/14 125/134/14 +f 126/135/15 122/433/15 121/128/15 +f 127/132/16 125/134/16 121/128/16 +f 129/136/17 130/434/17 132/137/17 +f 132/139/18 136/435/18 135/140/18 +f 136/141/19 134/436/19 133/142/19 +f 134/143/20 130/437/20 129/136/20 +f 131/138/21 135/140/21 133/142/21 +f 137/144/9 138/438/9 140/145/9 +f 140/147/22 144/439/22 143/148/22 +f 144/149/7 142/440/7 141/150/7 +f 142/151/23 138/441/23 137/144/23 +f 139/146/24 143/148/24 141/150/24 +f 145/152/14 146/442/14 148/153/14 +f 148/155/25 152/443/25 151/156/25 +f 152/157/12 150/444/12 149/158/12 +f 150/159/26 146/445/26 145/152/26 +f 147/154/27 151/156/27 149/158/27 +f 153/160/19 154/446/19 156/161/19 +f 156/163/28 160/447/28 159/164/28 +f 160/165/17 158/448/17 157/166/17 +f 158/167/29 154/449/29 153/160/29 +f 159/164/30 157/166/30 153/160/30 +f 162/168/2 186/172/2 185/169/2 +f 163/171/2 187/174/2 186/172/2 +f 163/171/2 164/176/2 188/173/2 +f 165/175/2 189/178/2 188/173/2 +f 165/175/2 166/180/2 190/177/2 +f 167/179/2 191/182/2 190/177/2 +f 167/179/2 168/184/2 192/181/2 +f 169/183/2 193/186/2 192/181/2 +f 170/185/2 194/188/2 193/186/2 +f 171/187/2 195/190/2 194/188/2 +f 172/189/2 196/192/2 195/190/2 +f 161/191/2 185/450/2 196/192/2 +f 174/193/1 173/451/1 197/194/1 +f 174/193/1 198/195/1 199/196/1 +f 175/197/1 199/196/1 200/198/1 +f 177/200/1 176/199/1 200/198/1 +f 177/200/1 201/201/1 202/202/1 +f 178/203/1 202/202/1 203/204/1 +f 179/205/1 203/204/1 204/206/1 +f 180/207/1 204/206/1 205/208/1 +f 181/209/1 205/208/1 206/210/1 +f 182/211/1 206/210/1 207/212/1 +f 184/214/1 183/213/1 207/212/1 +f 184/214/1 208/215/1 197/216/1 +f 211/218/4 216/223/4 217/219/4 +f 211/218/1 214/452/1 213/221/1 +f 210/222/6 209/225/6 216/223/6 +f 209/225/6 215/230/6 216/223/6 +f 213/224/3 212/453/3 209/225/3 +f 212/227/5 213/454/5 217/219/5 +f 213/454/5 214/220/5 217/219/5 +f 216/223/31 215/455/31 218/228/31 +f 212/229/2 218/456/2 215/230/2 +f 221/231/6 226/236/6 227/232/6 +f 221/231/1 224/457/1 223/234/1 +f 220/235/3 219/238/3 226/236/3 +f 219/238/3 225/243/3 226/236/3 +f 223/237/5 222/458/5 219/238/5 +f 222/240/4 223/459/4 227/232/4 +f 223/459/4 224/233/4 227/232/4 +f 226/236/32 225/460/32 228/241/32 +f 222/242/2 228/461/2 225/243/2 +f 231/244/3 236/250/3 237/245/3 +f 230/247/1 231/244/1 234/248/1 +f 230/247/5 229/252/5 236/250/5 +f 229/252/5 235/462/5 236/250/5 +f 233/251/4 232/463/4 229/252/4 +f 232/254/6 233/464/6 237/245/6 +f 233/464/6 234/246/6 237/245/6 +f 236/250/33 235/465/33 238/255/33 +f 238/256/2 235/462/2 229/252/2 +f 241/258/5 246/263/5 247/259/5 +f 241/258/1 244/466/1 243/261/1 +f 240/262/4 239/265/4 246/263/4 +f 239/265/4 245/467/4 246/263/4 +f 243/264/6 242/468/6 239/265/6 +f 242/267/3 243/469/3 247/259/3 +f 243/469/3 244/260/3 247/259/3 +f 246/263/34 245/470/34 248/268/34 +f 248/269/2 245/467/2 239/265/2 +f 249/271/1 275/471/1 276/272/1 +f 252/274/2 277/282/2 278/275/2 +f 251/277/1 276/272/1 279/278/1 +f 252/280/2 254/472/2 280/281/2 +f 253/283/1 279/278/1 281/284/1 +f 256/286/2 282/292/2 280/281/2 +f 255/288/1 281/284/1 283/289/1 +f 258/291/2 284/299/2 282/292/2 +f 257/294/1 283/289/1 285/295/1 +f 258/297/2 260/473/2 286/298/2 +f 261/300/1 259/474/1 285/295/1 +f 262/302/2 288/308/2 286/298/2 +f 261/304/1 287/301/1 289/305/1 +f 264/307/2 290/314/2 288/308/2 +f 263/310/1 289/305/1 291/311/1 +f 266/313/2 292/320/2 290/314/2 +f 265/316/1 291/311/1 293/317/1 +f 268/319/2 294/327/2 292/320/2 +f 267/322/1 293/317/1 295/323/1 +f 268/325/2 270/475/2 296/326/2 +f 269/328/1 295/323/1 297/329/1 +f 272/331/2 298/336/2 296/326/2 +f 273/333/1 271/476/1 297/329/1 +f 426/335/2 300/341/2 298/336/2 +f 249/338/1 273/477/1 299/334/1 +f 250/340/2 278/478/2 300/341/2 +f 301/343/1 327/479/1 328/344/1 +f 304/346/2 329/354/2 330/347/2 +f 303/349/1 328/344/1 331/350/1 +f 304/352/2 306/480/2 332/353/2 +f 305/355/1 331/350/1 333/356/1 +f 308/358/2 334/364/2 332/353/2 +f 307/360/1 333/356/1 335/361/1 +f 310/363/2 336/371/2 334/364/2 +f 309/366/1 335/361/1 337/367/1 +f 310/369/2 312/481/2 338/370/2 +f 313/372/1 311/482/1 337/367/1 +f 314/374/2 340/380/2 338/370/2 +f 313/376/1 339/373/1 341/377/1 +f 316/379/2 342/386/2 340/380/2 +f 315/382/1 341/377/1 343/383/1 +f 318/385/2 344/392/2 342/386/2 +f 317/388/1 343/383/1 345/389/1 +f 320/391/2 346/399/2 344/392/2 +f 319/394/1 345/389/1 347/395/1 +f 320/397/2 322/483/2 348/398/2 +f 321/400/1 347/395/1 349/401/1 +f 324/403/2 350/408/2 348/398/2 +f 325/405/1 323/484/1 349/401/1 +f 326/407/2 352/413/2 350/408/2 +f 301/410/1 325/485/1 351/406/1 +f 302/412/2 330/486/2 352/413/2 +f 403/417/2 401/487/2 402/488/2 +f 402/488/2 412/489/2 403/417/2 +f 412/489/2 411/490/2 403/417/2 +f 411/490/2 410/491/2 409/492/2 +f 409/492/2 408/493/2 407/415/2 +f 407/415/2 406/494/2 405/416/2 +f 405/416/2 404/495/2 403/417/2 +f 411/490/2 409/492/2 403/417/2 +f 409/492/2 407/415/2 403/417/2 +f 424/420/1 413/496/1 416/418/1 +f 413/496/1 414/497/1 416/418/1 +f 414/497/1 415/498/1 416/418/1 +f 416/418/1 417/499/1 418/500/1 +f 418/500/1 419/501/1 420/419/1 +f 420/419/1 421/502/1 424/420/1 +f 421/502/1 422/503/1 424/420/1 +f 422/503/1 423/504/1 424/420/1 +f 416/418/1 418/500/1 420/419/1 +s 1 +f 27/2/35 29/10/36 28/3/36 +f 29/10/36 31/7/37 28/3/36 +f 31/7/37 34/18/38 33/11/38 +f 33/11/38 36/22/39 35/16/39 +f 36/22/39 37/19/40 35/16/39 +f 37/19/40 40/30/41 39/23/41 +f 40/30/41 41/27/42 39/23/41 +f 42/29/42 43/31/43 41/27/42 +f 44/34/43 45/35/44 43/31/43 +f 46/42/44 47/40/45 45/35/44 +f 48/46/45 49/44/46 47/40/45 +f 50/50/46 51/47/47 49/44/46 +f 52/49/47 27/51/35 51/47/47 +f 1/505/48 4/506/49 2/507/48 +f 5/508/50 4/506/49 3/509/49 +f 7/510/51 6/511/50 5/508/50 +f 9/512/52 8/513/51 7/510/51 +f 11/514/53 10/515/52 9/512/52 +f 11/514/53 14/516/54 12/517/53 +f 15/518/55 14/516/54 13/519/54 +f 17/520/56 16/521/55 15/518/55 +f 17/520/56 20/522/57 18/523/56 +f 21/524/58 20/522/57 19/525/57 +f 23/526/59 22/527/58 21/524/58 +f 25/528/60 24/529/59 23/526/59 +f 1/530/48 26/531/60 25/528/60 +f 79/56/35 81/64/36 80/57/36 +f 81/64/36 83/62/37 80/57/36 +f 83/62/37 86/72/38 85/66/38 +f 85/66/38 88/76/39 87/70/39 +f 88/76/39 89/73/40 87/70/39 +f 89/73/40 92/84/41 91/77/41 +f 92/84/41 93/81/42 91/77/41 +f 94/83/42 95/85/43 93/81/42 +f 96/88/43 97/89/44 95/85/43 +f 98/96/44 99/94/45 97/89/44 +f 100/95/45 101/98/46 99/94/45 +f 102/104/46 103/101/47 101/98/46 +f 104/103/47 79/105/35 103/101/47 +f 53/532/48 56/533/49 54/534/48 +f 57/535/50 56/533/49 55/536/49 +f 57/535/50 60/537/51 58/538/50 +f 61/539/52 60/537/51 59/540/51 +f 63/541/53 62/542/52 61/539/52 +f 63/541/53 66/543/54 64/544/53 +f 67/545/55 66/543/54 65/546/54 +f 69/547/56 68/548/55 67/545/55 +f 69/547/56 72/549/57 70/550/56 +f 73/551/58 72/549/57 71/552/57 +f 75/553/59 74/554/58 73/551/58 +f 77/555/60 76/556/59 75/553/59 +f 53/557/48 78/558/60 77/555/60 +f 162/559/12 175/560/61 163/561/61 +f 161/562/48 174/563/12 162/559/12 +f 188/173/9 199/196/62 187/174/62 +f 195/190/63 206/210/7 194/188/7 +f 192/181/12 203/204/48 191/182/48 +f 188/173/9 201/201/64 200/198/9 +f 196/192/19 207/212/63 195/190/63 +f 186/172/14 197/194/35 185/169/35 +f 193/186/61 204/206/12 192/181/12 +f 190/177/17 201/201/64 189/178/64 +f 185/450/35 208/215/19 196/192/19 +f 186/172/14 199/196/62 198/195/14 +f 194/188/7 205/208/61 193/186/61 +f 191/182/48 202/202/17 190/177/17 +f 163/561/61 176/564/7 164/565/7 +f 164/565/7 177/566/63 165/567/63 +f 165/567/63 178/568/19 166/569/19 +f 166/569/19 179/570/35 167/571/35 +f 167/571/35 180/572/14 168/573/14 +f 169/574/62 180/572/14 181/575/62 +f 170/576/9 181/575/62 182/577/9 +f 171/578/64 182/577/9 183/579/64 +f 171/578/64 184/580/17 172/581/17 +f 172/581/17 173/582/48 161/583/48 +f 278/275/35 276/272/36 275/471/35 +f 277/282/36 279/278/37 276/272/36 +f 280/281/37 281/284/38 279/278/37 +f 282/292/38 283/289/39 281/284/38 +f 284/299/39 285/295/40 283/289/39 +f 286/298/40 287/301/41 285/295/40 +f 288/308/41 289/305/42 287/301/41 +f 290/314/42 291/311/43 289/305/42 +f 292/320/43 293/317/44 291/311/43 +f 294/327/44 295/323/45 293/317/44 +f 296/326/45 297/329/46 295/323/45 +f 298/336/46 299/334/47 297/329/46 +f 300/341/47 275/339/35 299/334/47 +f 330/347/35 328/344/36 327/479/35 +f 329/354/36 331/350/37 328/344/36 +f 332/353/37 333/356/38 331/350/37 +f 334/364/38 335/361/39 333/356/38 +f 336/371/39 337/367/40 335/361/39 +f 338/370/40 339/373/41 337/367/40 +f 340/380/41 341/377/42 339/373/41 +f 342/386/42 343/383/43 341/377/42 +f 344/392/43 345/389/44 343/383/43 +f 346/399/44 347/395/45 345/389/44 +f 348/398/45 349/401/46 347/395/45 +f 350/408/46 351/406/47 349/401/46 +f 352/413/47 327/411/35 351/406/47 +f 354/584/65 355/585/66 353/586/67 +f 356/587/68 357/588/69 355/585/66 +f 358/589/70 359/590/71 357/588/69 +f 359/590/71 362/591/72 361/592/73 +f 362/591/72 363/593/74 361/592/73 +f 364/594/75 365/595/76 363/593/74 +f 365/595/76 368/596/77 367/597/78 +f 368/596/77 369/598/79 367/597/78 +f 370/599/80 371/600/81 369/598/79 +f 372/601/82 373/602/83 371/600/81 +f 360/603/84 381/604/85 362/591/72 +f 374/605/86 375/606/87 373/602/83 +f 376/607/88 353/608/67 375/606/87 +f 353/608/67 424/609/89 375/606/87 +f 382/610/90 395/611/91 383/612/92 +f 354/613/65 388/614/93 378/615/94 +f 354/584/65 377/616/95 356/587/68 +f 358/589/70 380/617/96 360/603/84 +f 374/605/86 388/618/93 376/607/88 +f 356/587/68 379/619/97 358/589/70 +f 372/601/82 387/620/98 374/605/86 +f 372/601/82 385/621/99 386/622/100 +f 370/599/80 384/623/101 385/624/99 +f 368/596/77 383/625/92 384/626/101 +f 366/627/102 382/610/90 383/612/92 +f 362/591/72 382/628/90 364/594/75 +f 398/629/103 409/630/104 410/631/105 +f 380/617/96 391/632/106 392/633/107 +f 386/634/100 399/635/108 387/620/98 +f 383/625/92 396/636/109 384/626/101 +f 380/637/96 393/638/110 381/604/85 +f 387/639/98 400/640/111 388/618/93 +f 378/641/94 389/642/112 377/616/95 +f 384/623/101 397/643/113 385/624/99 +f 381/644/85 394/645/114 382/628/90 +f 388/614/93 390/646/115 378/615/94 +f 379/619/97 389/647/112 391/648/106 +f 386/622/100 397/649/113 398/629/103 +f 394/650/114 407/651/116 395/611/91 +f 392/633/107 403/652/117 404/653/118 +f 398/654/103 411/655/119 399/635/108 +f 396/636/109 407/656/116 408/657/120 +f 393/638/110 404/658/118 405/659/121 +f 399/660/108 412/661/122 400/640/111 +f 390/662/115 401/663/123 389/642/112 +f 396/664/109 409/665/104 397/643/113 +f 393/666/110 406/667/124 394/645/114 +f 400/668/111 402/669/125 390/646/115 +f 391/648/106 401/670/123 403/671/117 +f 355/585/66 413/672/126 353/586/67 +f 359/590/71 415/673/127 357/588/69 +f 375/606/87 423/674/128 373/602/83 +f 357/588/69 414/675/129 355/585/66 +f 373/602/83 422/676/130 371/600/81 +f 371/600/81 421/677/131 369/598/79 +f 369/598/79 420/678/132 367/597/78 +f 367/597/78 419/679/133 365/595/76 +f 365/595/76 418/680/134 363/593/74 +f 361/592/73 418/681/134 417/682/135 +f 361/592/73 416/683/136 359/590/71 +f 27/2/35 30/5/35 29/10/36 +f 29/10/36 32/14/37 31/7/37 +f 31/7/37 32/14/37 34/18/38 +f 33/11/38 34/18/38 36/22/39 +f 36/22/39 38/21/40 37/19/40 +f 37/19/40 38/21/40 40/30/41 +f 40/30/41 42/29/42 41/27/42 +f 42/29/42 44/34/43 43/31/43 +f 44/34/43 46/42/44 45/35/44 +f 46/42/44 48/46/45 47/40/45 +f 48/46/45 50/50/46 49/44/46 +f 50/50/46 52/49/47 51/47/47 +f 52/49/47 30/422/35 27/51/35 +f 1/505/48 3/509/49 4/506/49 +f 5/508/50 6/511/50 4/506/49 +f 7/510/51 8/513/51 6/511/50 +f 9/512/52 10/515/52 8/513/51 +f 11/514/53 12/517/53 10/515/52 +f 11/514/53 13/519/54 14/516/54 +f 15/518/55 16/521/55 14/516/54 +f 17/520/56 18/523/56 16/521/55 +f 17/520/56 19/525/57 20/522/57 +f 21/524/58 22/527/58 20/522/57 +f 23/526/59 24/529/59 22/527/58 +f 25/528/60 26/531/60 24/529/59 +f 1/530/48 2/684/48 26/531/60 +f 79/56/35 82/59/35 81/64/36 +f 81/64/36 84/63/37 83/62/37 +f 83/62/37 84/63/37 86/72/38 +f 85/66/38 86/72/38 88/76/39 +f 88/76/39 90/75/40 89/73/40 +f 89/73/40 90/75/40 92/84/41 +f 92/84/41 94/83/42 93/81/42 +f 94/83/42 96/88/43 95/85/43 +f 96/88/43 98/96/44 97/89/44 +f 98/96/44 100/95/45 99/94/45 +f 100/95/45 102/104/46 101/98/46 +f 102/104/46 104/103/47 103/101/47 +f 104/103/47 82/424/35 79/105/35 +f 53/532/48 55/536/49 56/533/49 +f 57/535/50 58/538/50 56/533/49 +f 57/535/50 59/540/51 60/537/51 +f 61/539/52 62/542/52 60/537/51 +f 63/541/53 64/544/53 62/542/52 +f 63/541/53 65/546/54 66/543/54 +f 67/545/55 68/548/55 66/543/54 +f 69/547/56 70/550/56 68/548/55 +f 69/547/56 71/552/57 72/549/57 +f 73/551/58 74/554/58 72/549/57 +f 75/553/59 76/556/59 74/554/58 +f 77/555/60 78/558/60 76/556/59 +f 53/557/48 54/685/48 78/558/60 +f 162/559/12 174/563/12 175/560/61 +f 161/562/48 173/686/48 174/563/12 +f 188/173/9 200/198/9 199/196/62 +f 195/190/63 207/212/63 206/210/7 +f 192/181/12 204/206/12 203/204/48 +f 188/173/9 189/178/64 201/201/64 +f 196/192/19 208/215/19 207/212/63 +f 186/172/14 198/195/14 197/194/35 +f 193/186/61 205/208/61 204/206/12 +f 190/177/17 202/202/17 201/201/64 +f 185/450/35 197/216/35 208/215/19 +f 186/172/14 187/174/62 199/196/62 +f 194/188/7 206/210/7 205/208/61 +f 191/182/48 203/204/48 202/202/17 +f 163/561/61 175/560/61 176/564/7 +f 164/565/7 176/564/7 177/566/63 +f 165/567/63 177/566/63 178/568/19 +f 166/569/19 178/568/19 179/570/35 +f 167/571/35 179/570/35 180/572/14 +f 169/574/62 168/573/14 180/572/14 +f 170/576/9 169/574/62 181/575/62 +f 171/578/64 170/576/9 182/577/9 +f 171/578/64 183/579/64 184/580/17 +f 172/581/17 184/580/17 173/582/48 +f 278/275/35 277/282/36 276/272/36 +f 277/282/36 280/281/37 279/278/37 +f 280/281/37 282/292/38 281/284/38 +f 282/292/38 284/299/39 283/289/39 +f 284/299/39 286/298/40 285/295/40 +f 286/298/40 288/308/41 287/301/41 +f 288/308/41 290/314/42 289/305/42 +f 290/314/42 292/320/43 291/311/43 +f 292/320/43 294/327/44 293/317/44 +f 294/327/44 296/326/45 295/323/45 +f 296/326/45 298/336/46 297/329/46 +f 298/336/46 300/341/47 299/334/47 +f 300/341/47 278/478/35 275/339/35 +f 330/347/35 329/354/36 328/344/36 +f 329/354/36 332/353/37 331/350/37 +f 332/353/37 334/364/38 333/356/38 +f 334/364/38 336/371/39 335/361/39 +f 336/371/39 338/370/40 337/367/40 +f 338/370/40 340/380/41 339/373/41 +f 340/380/41 342/386/42 341/377/42 +f 342/386/42 344/392/43 343/383/43 +f 344/392/43 346/399/44 345/389/44 +f 346/399/44 348/398/45 347/395/45 +f 348/398/45 350/408/46 349/401/46 +f 350/408/46 352/413/47 351/406/47 +f 352/413/47 330/486/35 327/411/35 +f 354/584/65 356/587/68 355/585/66 +f 356/587/68 358/589/70 357/588/69 +f 358/589/70 360/603/84 359/590/71 +f 359/590/71 360/603/84 362/591/72 +f 362/591/72 364/594/75 363/593/74 +f 364/594/75 366/627/102 365/595/76 +f 365/595/76 366/627/102 368/596/77 +f 368/596/77 370/599/80 369/598/79 +f 370/599/80 372/601/82 371/600/81 +f 372/601/82 374/605/86 373/602/83 +f 360/603/84 380/637/96 381/604/85 +f 374/605/86 376/607/88 375/606/87 +f 376/607/88 354/613/65 353/608/67 +f 353/608/67 413/687/126 424/609/89 +f 382/610/90 394/650/114 395/611/91 +f 354/613/65 376/607/88 388/614/93 +f 354/584/65 378/641/94 377/616/95 +f 358/589/70 379/688/97 380/617/96 +f 374/605/86 387/639/98 388/618/93 +f 356/587/68 377/689/95 379/619/97 +f 372/601/82 386/634/100 387/620/98 +f 372/601/82 370/599/80 385/621/99 +f 370/599/80 368/596/77 384/623/101 +f 368/596/77 366/627/102 383/625/92 +f 366/627/102 364/594/75 382/610/90 +f 362/591/72 381/644/85 382/628/90 +f 398/629/103 397/649/113 409/630/104 +f 380/617/96 379/688/97 391/632/106 +f 386/634/100 398/654/103 399/635/108 +f 383/625/92 395/690/91 396/636/109 +f 380/637/96 392/691/107 393/638/110 +f 387/639/98 399/660/108 400/640/111 +f 378/641/94 390/662/115 389/642/112 +f 384/623/101 396/664/109 397/643/113 +f 381/644/85 393/666/110 394/645/114 +f 388/614/93 400/668/111 390/646/115 +f 379/619/97 377/689/95 389/647/112 +f 386/622/100 385/621/99 397/649/113 +f 394/650/114 406/692/124 407/651/116 +f 392/633/107 391/632/106 403/652/117 +f 398/654/103 410/693/105 411/655/119 +f 396/636/109 395/690/91 407/656/116 +f 393/638/110 392/691/107 404/658/118 +f 399/660/108 411/694/119 412/661/122 +f 390/662/115 402/695/125 401/663/123 +f 396/664/109 408/696/120 409/665/104 +f 393/666/110 405/697/121 406/667/124 +f 400/668/111 412/698/122 402/669/125 +f 391/648/106 389/647/112 401/670/123 +f 355/585/66 414/699/129 413/672/126 +f 359/590/71 416/700/136 415/673/127 +f 375/606/87 424/701/89 423/674/128 +f 357/588/69 415/702/127 414/675/129 +f 373/602/83 423/703/128 422/676/130 +f 371/600/81 422/704/130 421/677/131 +f 369/598/79 421/705/131 420/678/132 +f 367/597/78 420/706/132 419/679/133 +f 365/595/76 419/707/133 418/680/134 +f 361/592/73 363/593/74 418/681/134 +f 361/592/73 417/708/135 416/683/136 diff --git a/src/main/resources/assets/hbm/models/bombs/dud_conventional.obj b/src/main/resources/assets/hbm/models/bombs/dud_conventional.obj new file mode 100644 index 000000000..bf8619226 --- /dev/null +++ b/src/main/resources/assets/hbm/models/bombs/dud_conventional.obj @@ -0,0 +1,940 @@ +# Blender v2.79 (sub 7) OBJ File: 'dud1.blend' +# www.blender.org +mtllib dud_conventional.mtl +o Cube.003_Cube.005 +v 0.392370 -0.392370 -1.500000 +v 0.392370 -0.392370 2.499999 +v 0.267370 -0.392370 -1.500000 +v 0.267370 -0.392370 2.499999 +v 0.392370 -0.267370 -1.500000 +v 0.392370 -0.267370 2.499999 +v 0.267370 -0.267370 -1.500000 +v 0.267370 -0.267370 2.499999 +v -0.392369 -0.392370 -1.500000 +v -0.392370 -0.392369 2.499999 +v -0.392369 -0.267370 -1.500000 +v -0.392370 -0.267369 2.499999 +v -0.267369 -0.392370 -1.500000 +v -0.267370 -0.392369 2.499999 +v -0.267369 -0.267370 -1.500000 +v -0.267370 -0.267369 2.499999 +v -0.392370 0.392369 -1.500000 +v -0.392370 0.392370 2.499999 +v -0.267370 0.392369 -1.500000 +v -0.267370 0.392370 2.499999 +v -0.392370 0.267369 -1.500000 +v -0.392370 0.267370 2.499999 +v -0.267370 0.267369 -1.500000 +v -0.267370 0.267370 2.499999 +v 0.392369 0.392369 -1.499999 +v 0.392370 0.392370 2.499998 +v 0.392369 0.267369 -1.499999 +v 0.392370 0.267370 2.499999 +v 0.267369 0.392370 -1.499999 +v 0.267370 0.392370 2.499999 +v 0.267369 0.267370 -1.499999 +v 0.267370 0.267370 2.499999 +v 0.220971 -0.088388 -3.500000 +v 0.220971 -0.088388 -3.437500 +v 0.265165 -0.132582 -3.500000 +v 0.265165 -0.132582 -3.437500 +v 0.088388 -0.220971 -3.500000 +v 0.088388 -0.220971 -3.437500 +v 0.132583 -0.265165 -3.500000 +v 0.132583 -0.265165 -3.437500 +v 0.353553 -0.132582 -3.437500 +v 0.353553 -0.132582 -3.500000 +v 0.132583 -0.353553 -3.500000 +v 0.132583 -0.353553 -3.437500 +v 0.707107 -0.486136 -3.437500 +v 0.707107 -0.486136 -3.500000 +v 0.486136 -0.707107 -3.500000 +v 0.486136 -0.707107 -3.437500 +v -0.088388 -0.220971 -3.500000 +v -0.088388 -0.220971 -3.437500 +v -0.132582 -0.265166 -3.500000 +v -0.132582 -0.265166 -3.437500 +v -0.220970 -0.088389 -3.500000 +v -0.220970 -0.088389 -3.437500 +v -0.265165 -0.132583 -3.500000 +v -0.265165 -0.132583 -3.437500 +v -0.132582 -0.353554 -3.437500 +v -0.132582 -0.353554 -3.500000 +v -0.353553 -0.132583 -3.500000 +v -0.353553 -0.132583 -3.437500 +v -0.486135 -0.707107 -3.437500 +v -0.486135 -0.707107 -3.500000 +v -0.707106 -0.486136 -3.500000 +v -0.707106 -0.486136 -3.437500 +v -0.220971 0.088387 -3.500000 +v -0.220971 0.088387 -3.437500 +v -0.265165 0.132582 -3.500000 +v -0.265165 0.132582 -3.437500 +v -0.088388 0.220970 -3.500000 +v -0.088388 0.220970 -3.437500 +v -0.132582 0.265164 -3.500000 +v -0.132582 0.265164 -3.437500 +v -0.353553 0.132582 -3.437500 +v -0.353553 0.132582 -3.500000 +v -0.132583 0.353552 -3.500000 +v -0.132582 0.353552 -3.437500 +v -0.707107 0.486135 -3.437501 +v -0.707107 0.486135 -3.500001 +v -0.486136 0.707106 -3.500001 +v -0.486136 0.707106 -3.437501 +v 0.088388 0.220970 -3.500000 +v 0.088388 0.220970 -3.437500 +v 0.132582 0.265164 -3.500000 +v 0.132582 0.265164 -3.437500 +v 0.220970 0.088388 -3.500000 +v 0.220970 0.088388 -3.437500 +v 0.265164 0.132582 -3.500000 +v 0.265164 0.132582 -3.437500 +v 0.132582 0.353553 -3.437501 +v 0.132582 0.353553 -3.500000 +v 0.353553 0.132582 -3.500000 +v 0.353553 0.132582 -3.437500 +v 0.486135 0.707106 -3.437501 +v 0.486135 0.707106 -3.500001 +v 0.707106 0.486135 -3.500001 +v 0.707106 0.486135 -3.437501 +v 0.420463 -0.062500 -1.424884 +v 0.420463 0.062500 -1.424884 +v 0.420463 0.000000 -1.500000 +v 0.920463 -0.062500 -1.674884 +v 0.920463 0.000000 -1.750000 +v 0.920463 0.062500 -1.674884 +v 0.420463 -0.062500 0.424884 +v 0.420463 -0.000000 0.500000 +v 0.420463 0.062500 0.424884 +v 0.920463 -0.062500 0.174884 +v 0.920463 0.062500 0.174884 +v 0.920463 -0.000000 0.250000 +v -0.420463 -0.062500 -1.424884 +v -0.420463 0.062500 -1.424884 +v -0.420463 0.000000 -1.500000 +v -0.920463 -0.062500 -1.674884 +v -0.920463 0.000000 -1.750000 +v -0.920463 0.062500 -1.674884 +v -0.420463 -0.062500 0.424884 +v -0.420463 -0.000000 0.500000 +v -0.420463 0.062500 0.424884 +v -0.920463 -0.062500 0.174884 +v -0.920463 0.062500 0.174884 +v -0.920463 -0.000000 0.250000 +v -0.186935 -0.031250 3.781250 +v -0.186935 -0.031250 4.156250 +v -0.186935 0.031250 3.781250 +v -0.186935 0.031250 4.156250 +v -0.124435 -0.031250 3.781250 +v -0.124435 -0.031250 4.156250 +v -0.124435 0.031250 3.781250 +v -0.124435 0.031250 4.156250 +v 0.186935 -0.031250 3.781250 +v 0.186935 -0.031250 4.156250 +v 0.186935 0.031250 3.781250 +v 0.186935 0.031250 4.156250 +v 0.124435 -0.031250 3.781250 +v 0.124435 -0.031250 4.156250 +v 0.124435 0.031250 3.781250 +v 0.124435 0.031250 4.156250 +v -0.000000 0.482963 -2.000000 +v -0.000000 0.482962 3.000000 +v 0.241481 0.418258 -2.000000 +v 0.241481 0.418258 3.000000 +v 0.418258 0.241481 -2.000000 +v 0.418258 0.241481 3.000000 +v 0.482963 0.000000 -2.000000 +v 0.482963 -0.000000 3.000000 +v 0.418258 -0.241481 -2.000000 +v 0.418258 -0.241482 3.000000 +v 0.241481 -0.418258 -2.000000 +v 0.241481 -0.418258 3.000000 +v 0.000000 -0.482963 -2.000000 +v 0.000000 -0.482963 3.000000 +v -0.241481 -0.418258 -2.000000 +v -0.241481 -0.418258 3.000000 +v -0.418258 -0.241481 -2.000000 +v -0.418258 -0.241482 3.000000 +v -0.482963 -0.000000 -2.000000 +v -0.482963 -0.000000 3.000000 +v -0.418258 0.241481 -2.000000 +v -0.418258 0.241481 3.000000 +v -0.241482 0.418258 -2.000000 +v -0.241482 0.418258 3.000000 +v 0.000000 0.241481 -3.000000 +v 0.120741 0.209129 -3.000000 +v 0.209129 0.120741 -3.000000 +v 0.241481 0.000000 -3.000000 +v 0.209129 -0.120741 -3.000000 +v 0.120741 -0.209129 -3.000000 +v 0.000000 -0.241481 -3.000000 +v -0.120741 -0.209129 -3.000000 +v -0.209129 -0.120741 -3.000000 +v -0.241481 -0.000000 -3.000000 +v -0.209129 0.120741 -3.000000 +v -0.120741 0.209129 -3.000000 +v 0.000000 0.241481 -3.500000 +v 0.120741 0.209129 -3.500000 +v 0.209129 0.120741 -3.500000 +v 0.241481 0.000000 -3.500000 +v 0.209129 -0.120741 -3.500000 +v 0.120741 -0.209129 -3.500000 +v 0.000000 -0.241481 -3.500000 +v -0.120741 -0.209129 -3.500000 +v -0.209129 -0.120741 -3.500000 +v -0.241481 -0.000000 -3.500000 +v -0.209129 0.120741 -3.500000 +v -0.120741 0.209129 -3.500000 +v 0.120741 0.209129 3.750000 +v -0.000000 0.241481 3.750000 +v 0.209129 0.120740 3.750000 +v 0.241481 -0.000000 3.750000 +v 0.209129 -0.120741 3.750000 +v 0.120741 -0.209129 3.750000 +v 0.000000 -0.241481 3.750000 +v -0.120741 -0.209129 3.750000 +v -0.209129 -0.120741 3.750000 +v -0.241481 -0.000000 3.750000 +v -0.209129 0.120740 3.750000 +v -0.120741 0.209129 3.750000 +v 0.000000 -0.000000 4.000000 +vt 0.382857 0.042857 +vt 0.017143 0.071429 +vt 0.017143 0.042857 +vt 0.382857 0.014286 +vt 0.017143 0.014286 +vt 0.005714 0.014286 +vt 0.005714 0.042857 +vt 0.394286 0.042857 +vt 0.394286 0.014286 +vt 0.382857 0.114286 +vt 0.017143 0.142857 +vt 0.017143 0.114286 +vt 0.382857 0.085714 +vt 0.017143 0.085714 +vt 0.005714 0.085714 +vt 0.005714 0.114286 +vt 0.394286 0.114286 +vt 0.394286 0.085714 +vt 0.382857 0.185714 +vt 0.017143 0.214286 +vt 0.017143 0.185714 +vt 0.382857 0.157143 +vt 0.017143 0.157143 +vt 0.005714 0.157143 +vt 0.005714 0.185714 +vt 0.394286 0.185714 +vt 0.394286 0.157143 +vt 0.382857 0.257143 +vt 0.017143 0.285714 +vt 0.017143 0.257143 +vt 0.017143 0.228571 +vt 0.005714 0.228571 +vt 0.005714 0.257143 +vt 0.394286 0.257143 +vt 0.382857 0.228571 +vt 0.394286 0.228571 +vt 0.691429 0.128571 +vt 0.685714 0.142857 +vt 0.685714 0.128571 +vt 0.657143 0.142857 +vt 0.651429 0.157143 +vt 0.651429 0.142857 +vt 0.657143 0.128571 +vt 0.662857 0.142857 +vt 0.680000 0.128571 +vt 0.680000 0.142857 +vt 0.645714 0.142857 +vt 0.628571 0.128571 +vt 0.645714 0.128571 +vt 0.657143 0.157143 +vt 0.651429 0.271429 +vt 0.622857 0.157143 +vt 0.628571 0.142857 +vt 0.691429 0.142857 +vt 0.685714 0.157143 +vt 0.685714 0.285714 +vt 0.657143 0.271429 +vt 0.685714 0.271429 +vt 0.622857 0.271429 +vt 0.691429 0.157143 +vt 0.617143 0.128571 +vt 0.611429 0.142857 +vt 0.611429 0.128571 +vt 0.582857 0.142857 +vt 0.577143 0.157143 +vt 0.577143 0.142857 +vt 0.582857 0.128571 +vt 0.588571 0.142857 +vt 0.605714 0.128571 +vt 0.605714 0.142857 +vt 0.571429 0.142857 +vt 0.554286 0.128571 +vt 0.571429 0.128571 +vt 0.582857 0.157143 +vt 0.577143 0.271429 +vt 0.548571 0.157143 +vt 0.554286 0.142857 +vt 0.617143 0.142857 +vt 0.611429 0.157143 +vt 0.611429 0.285714 +vt 0.582857 0.271429 +vt 0.611429 0.271429 +vt 0.548571 0.271429 +vt 0.617143 0.157143 +vt 0.542857 0.128571 +vt 0.537143 0.142857 +vt 0.537143 0.128571 +vt 0.502857 0.142857 +vt 0.508571 0.157143 +vt 0.502857 0.157143 +vt 0.508571 0.142857 +vt 0.502857 0.128571 +vt 0.508571 0.128571 +vt 0.514286 0.142857 +vt 0.531429 0.128571 +vt 0.531429 0.142857 +vt 0.480000 0.142857 +vt 0.497143 0.128571 +vt 0.497143 0.142857 +vt 0.502857 0.271429 +vt 0.474286 0.157143 +vt 0.542857 0.142857 +vt 0.537143 0.157143 +vt 0.537143 0.285714 +vt 0.508571 0.271429 +vt 0.537143 0.271429 +vt 0.474286 0.271429 +vt 0.542857 0.271429 +vt 0.468571 0.128571 +vt 0.462857 0.142857 +vt 0.462857 0.128571 +vt 0.434286 0.142857 +vt 0.428571 0.157143 +vt 0.428571 0.142857 +vt 0.434286 0.128571 +vt 0.440000 0.142857 +vt 0.457143 0.128571 +vt 0.457143 0.142857 +vt 0.422857 0.142857 +vt 0.405714 0.128571 +vt 0.422857 0.128571 +vt 0.434286 0.157143 +vt 0.428571 0.271429 +vt 0.400000 0.157143 +vt 0.405714 0.142857 +vt 0.468571 0.157143 +vt 0.462857 0.157143 +vt 0.462857 0.285714 +vt 0.434286 0.271429 +vt 0.462857 0.271429 +vt 0.400000 0.271429 +vt 0.468571 0.271429 +vt 0.862857 0.968548 +vt 0.862857 0.545738 +vt 0.874286 0.545738 +vt 0.805714 0.557143 +vt 0.760000 0.928571 +vt 0.760000 0.500000 +vt 0.857143 0.928571 +vt 0.811429 0.557143 +vt 0.857143 0.500000 +vt 0.805714 0.471429 +vt 0.760000 0.485714 +vt 0.760000 0.471429 +vt 0.760000 0.457143 +vt 0.805714 0.457143 +vt 0.857143 0.471429 +vt 0.811429 0.485714 +vt 0.811429 0.471429 +vt 0.811429 0.457143 +vt 0.857143 0.457143 +vt 0.880000 0.545738 +vt 0.891429 0.968548 +vt 0.880000 0.968548 +vt 0.948571 0.557143 +vt 0.994286 0.928571 +vt 0.948571 0.985714 +vt 0.942857 0.557143 +vt 0.897143 0.928571 +vt 0.897143 0.500000 +vt 0.994286 0.485714 +vt 0.948571 0.471429 +vt 0.994286 0.471429 +vt 0.994286 0.457143 +vt 0.942857 0.485714 +vt 0.897143 0.471429 +vt 0.942857 0.471429 +vt 0.942857 0.457143 +vt 0.714286 0.757143 +vt 0.748571 0.771429 +vt 0.748571 0.757143 +vt 0.714286 0.771429 +vt 0.748571 0.785714 +vt 0.714286 0.728571 +vt 0.748571 0.742857 +vt 0.748571 0.728571 +vt 0.714286 0.742857 +vt 0.708571 0.757143 +vt 0.708571 0.771429 +vt 0.748571 0.814286 +vt 0.714286 0.828571 +vt 0.748571 0.828571 +vt 0.748571 0.800000 +vt 0.714286 0.814286 +vt 0.748571 0.842857 +vt 0.714286 0.857143 +vt 0.748571 0.857143 +vt 0.714286 0.842857 +vt 0.708571 0.828571 +vt 0.708571 0.814286 +vt 0.382857 0.071429 +vt 0.382857 0.142857 +vt 0.382857 0.214286 +vt 0.382857 0.285714 +vt 0.651429 0.128571 +vt 0.662857 0.128571 +vt 0.657143 0.285714 +vt 0.691429 0.271429 +vt 0.577143 0.128571 +vt 0.588571 0.128571 +vt 0.582857 0.285714 +vt 0.617143 0.271429 +vt 0.514286 0.128571 +vt 0.480000 0.128571 +vt 0.542857 0.157143 +vt 0.508571 0.285714 +vt 0.468571 0.142857 +vt 0.428571 0.128571 +vt 0.440000 0.128571 +vt 0.434286 0.285714 +vt 0.868571 0.528571 +vt 0.874286 0.968548 +vt 0.868571 0.985714 +vt 0.805714 0.985714 +vt 0.811429 0.985714 +vt 0.805714 0.485714 +vt 0.857143 0.485714 +vt 0.885714 0.528571 +vt 0.891429 0.545738 +vt 0.885714 0.985714 +vt 0.994286 0.500000 +vt 0.942857 0.985714 +vt 0.948571 0.485714 +vt 0.948571 0.457143 +vt 0.897143 0.485714 +vt 0.897143 0.457143 +vt 0.714286 0.785714 +vt 0.714286 0.800000 +vt 0.102857 0.471429 +vt 0.560000 0.414286 +vt 0.560000 0.471429 +vt 0.102857 0.414286 +vt 0.560000 0.357143 +vt 0.102857 0.357143 +vt 0.560000 0.300000 +vt 0.102857 0.985714 +vt 0.560000 0.928571 +vt 0.560000 0.985714 +vt 0.102857 0.928571 +vt 0.560000 0.871429 +vt 0.102857 0.871429 +vt 0.560000 0.814286 +vt 0.102857 0.814286 +vt 0.560000 0.757143 +vt 0.102857 0.757143 +vt 0.560000 0.700000 +vt 0.102857 0.700000 +vt 0.560000 0.642857 +vt 0.102857 0.642857 +vt 0.560000 0.585714 +vt 0.034286 0.942857 +vt 0.102857 0.585714 +vt 0.560000 0.528571 +vt 0.102857 0.528571 +vt 0.651429 0.400000 +vt 0.657143 0.642857 +vt 0.702857 0.671429 +vt 0.657143 0.671429 +vt 0.651429 0.628571 +vt 0.651429 0.685714 +vt 0.651429 0.742857 +vt 0.651429 0.800000 +vt 0.651429 0.857143 +vt 0.651429 0.914286 +vt 0.651429 0.971429 +vt 0.651429 0.514286 +vt 0.651429 0.457143 +vt 0.651429 0.342857 +vt 0.651429 0.571429 +vt 0.753847 0.928913 +vt 0.720484 0.976662 +vt 0.720625 0.880554 +vt 0.657143 0.785714 +vt 0.702857 0.814286 +vt 0.657143 0.814286 +vt 0.657143 0.871429 +vt 0.702857 0.900000 +vt 0.657143 0.900000 +vt 0.657143 0.957143 +vt 0.702857 0.985714 +vt 0.657143 0.985714 +vt 0.657143 0.757143 +vt 0.702857 0.785714 +vt 0.657143 0.700000 +vt 0.702857 0.728571 +vt 0.657143 0.728571 +vt 0.657143 0.842857 +vt 0.702857 0.871429 +vt 0.657143 0.928571 +vt 0.702857 0.957143 +vt 0.702857 0.757143 +vt 0.702857 0.700000 +vt 0.702857 0.842857 +vt 0.702857 0.928571 +vt 0.034286 0.828571 +vt 0.034286 0.857143 +vt 0.005714 0.842857 +vt 0.034286 0.485714 +vt 0.034286 0.428571 +vt 0.034286 0.314286 +vt 0.102857 0.300000 +vt 0.034286 0.542857 +vt 0.034286 0.371429 +vt 0.034286 0.600000 +vt 0.034286 0.685714 +vt 0.034286 0.657143 +vt 0.034286 0.714286 +vt 0.034286 0.771429 +vt 0.034286 0.885714 +vt 0.034286 0.342857 +vt 0.005714 0.328571 +vt 0.034286 0.628571 +vt 0.005714 0.614286 +vt 0.034286 0.800000 +vt 0.005714 0.785714 +vt 0.034286 0.971429 +vt 0.005714 0.957143 +vt 0.034286 0.571429 +vt 0.005714 0.557143 +vt 0.034286 0.457143 +vt 0.005714 0.442857 +vt 0.034286 0.742857 +vt 0.005714 0.728571 +vt 0.034286 0.914286 +vt 0.005714 0.900000 +vt 0.034286 0.514286 +vt 0.005714 0.500000 +vt 0.034286 0.400000 +vt 0.005714 0.385714 +vt 0.005714 0.671429 +vt 0.651429 0.371429 +vt 0.702857 0.642857 +vt 0.651429 0.600000 +vt 0.651429 0.657143 +vt 0.651429 0.714286 +vt 0.651429 0.771429 +vt 0.651429 0.828571 +vt 0.651429 0.885714 +vt 0.651429 0.942857 +vt 0.651429 0.485714 +vt 0.651429 0.428571 +vt 0.651429 0.314286 +vt 0.651429 0.542857 +vt 0.731734 0.873222 +vt 0.742820 0.880758 +vt 0.750915 0.901142 +vt 0.750833 0.956630 +vt 0.742679 0.976865 +vt 0.731571 0.984197 +vt 0.712390 0.956277 +vt 0.709457 0.928506 +vt 0.712471 0.900789 +vn -0.0000 -1.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 0.0000 -1.0000 +vn -0.0000 0.0000 1.0000 +vn -1.0000 0.0000 -0.0000 +vn 0.0000 1.0000 -0.0000 +vn 0.7071 0.7071 -0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.3046 0.7322 -0.6092 +vn -0.3046 -0.7322 -0.6092 +vn 0.3046 0.7322 0.6092 +vn 0.3046 -0.7322 0.6092 +vn 0.3046 0.7322 -0.6092 +vn 0.3046 -0.7322 -0.6092 +vn -0.3046 0.7322 0.6092 +vn -0.3046 -0.7322 0.6092 +vn 0.0000 0.9885 0.1513 +vn 0.4966 0.8602 -0.1160 +vn 0.0000 0.9932 -0.1160 +vn 0.4942 0.8560 0.1513 +vn 0.8602 0.4966 -0.1160 +vn 0.8560 0.4942 0.1513 +vn 0.9932 0.0000 -0.1160 +vn 0.9885 0.0000 0.1513 +vn 0.8602 -0.4966 -0.1160 +vn 0.8560 -0.4942 0.1513 +vn 0.4966 -0.8602 -0.1160 +vn 0.4942 -0.8560 0.1513 +vn 0.0000 -0.9932 -0.1160 +vn 0.0000 -0.9885 0.1513 +vn -0.4966 -0.8602 -0.1160 +vn -0.4942 -0.8560 0.1513 +vn -0.8602 -0.4966 -0.1160 +vn -0.8560 -0.4942 0.1513 +vn -0.9932 0.0000 -0.1160 +vn -0.9885 0.0000 0.1513 +vn -0.8602 0.4966 -0.1160 +vn 0.7509 -0.4335 0.4981 +vn -0.8560 0.4942 0.1513 +vn -0.4966 0.8602 -0.1160 +vn -0.4942 0.8560 0.1513 +vn 0.4964 0.8597 -0.1205 +vn 0.9927 0.0000 -0.1205 +vn 0.6557 0.3786 -0.6532 +vn 0.8597 0.4964 -0.1205 +vn -0.9927 0.0000 -0.1205 +vn -0.8597 -0.4964 -0.1205 +vn -0.4963 -0.8597 -0.1205 +vn 0.0000 -0.9927 -0.1205 +vn 0.4964 -0.8597 -0.1205 +vn 0.8597 -0.4964 -0.1205 +vn -0.4964 0.8597 -0.1205 +vn 0.0000 0.9927 -0.1205 +vn -0.8597 0.4964 -0.1205 +vn 0.7571 0.0000 -0.6532 +vn -0.3786 -0.6557 -0.6532 +vn -0.3786 0.6557 -0.6532 +vn -0.7571 0.0000 -0.6532 +vn 0.0000 -0.7571 -0.6532 +vn -0.6557 0.3786 -0.6532 +vn 0.0000 0.7571 -0.6532 +vn 0.6557 -0.3786 -0.6532 +vn 0.3786 0.6557 -0.6532 +vn -0.6557 -0.3786 -0.6532 +vn 0.3786 -0.6557 -0.6532 +vn 0.0000 -0.8671 0.4981 +vn 0.4335 -0.7509 0.4981 +vn 0.0000 0.8671 0.4981 +vn 0.4335 0.7509 0.4981 +vn 0.8671 0.0000 0.4981 +vn -0.4335 0.7509 0.4981 +vn 0.7509 0.4335 0.4981 +vn -0.7509 0.4335 0.4981 +vn -0.7509 -0.4335 0.4981 +vn -0.8671 0.0000 0.4981 +vn -0.4335 -0.7509 0.4981 +usemtl None +s off +f 2/1/1 3/2/1 1/3/1 +f 6/4/2 1/3/2 5/5/2 +f 7/6/3 1/3/3 3/7/3 +f 4/8/4 6/4/4 8/9/4 +f 10/10/5 11/11/5 9/12/5 +f 14/13/1 9/12/1 13/14/1 +f 15/15/3 9/12/3 11/16/3 +f 12/17/4 14/13/4 16/18/4 +f 18/19/6 19/20/6 17/21/6 +f 22/22/5 17/21/5 21/23/5 +f 23/24/3 17/21/3 19/25/3 +f 20/26/4 22/22/4 24/27/4 +f 26/28/2 27/29/2 25/30/2 +f 29/31/6 26/28/6 25/30/6 +f 31/32/3 25/30/3 27/33/3 +f 28/34/4 30/35/4 32/36/4 +f 34/37/7 35/38/7 33/39/7 +f 39/40/5 44/41/5 40/42/5 +f 40/42/8 37/43/8 39/40/8 +f 39/44/3 33/45/3 35/46/3 +f 40/47/4 34/48/4 38/49/4 +f 43/50/8 48/51/8 44/41/8 +f 35/46/3 43/50/3 39/44/3 +f 40/47/4 41/52/4 36/53/4 +f 36/54/6 42/55/6 35/38/6 +f 45/56/9 47/57/9 46/58/9 +f 42/55/3 47/57/3 43/50/3 +f 44/41/4 45/59/4 41/52/4 +f 41/60/7 46/58/7 42/55/7 +f 50/61/9 51/62/9 49/63/9 +f 55/64/6 60/65/6 56/66/6 +f 56/66/10 53/67/10 55/64/10 +f 55/68/3 49/69/3 51/70/3 +f 56/71/4 50/72/4 54/73/4 +f 59/74/10 64/75/10 60/65/10 +f 51/70/3 59/74/3 55/68/3 +f 56/71/4 57/76/4 52/77/4 +f 52/78/2 58/79/2 51/62/2 +f 61/80/8 63/81/8 62/82/8 +f 59/74/3 62/82/3 63/81/3 +f 60/65/4 61/83/4 57/76/4 +f 57/84/9 62/82/9 58/79/9 +f 66/85/8 67/86/8 65/87/8 +f 72/88/2 75/89/2 76/90/2 +f 71/91/7 70/92/7 69/93/7 +f 71/94/3 65/95/3 67/96/3 +f 68/97/4 70/98/4 72/99/4 +f 75/89/7 80/100/7 76/90/7 +f 67/96/3 75/89/3 71/94/3 +f 72/99/4 73/101/4 68/97/4 +f 68/102/1 74/103/1 67/86/1 +f 77/104/10 79/105/10 78/106/10 +f 74/103/3 79/105/3 75/89/3 +f 76/90/4 77/107/4 73/101/4 +f 74/103/8 77/108/8 78/106/8 +f 82/109/10 83/110/10 81/111/10 +f 87/112/1 92/113/1 88/114/1 +f 88/114/9 85/115/9 87/112/9 +f 87/116/3 81/117/3 83/118/3 +f 88/119/4 82/120/4 86/121/4 +f 91/122/9 96/123/9 92/113/9 +f 83/118/3 91/122/3 87/116/3 +f 88/119/4 89/124/4 84/125/4 +f 83/110/5 89/126/5 90/127/5 +f 93/128/7 95/129/7 94/130/7 +f 90/127/3 95/129/3 91/122/3 +f 92/113/4 93/131/4 89/124/4 +f 90/127/10 93/132/10 94/130/10 +f 106/133/2 100/134/2 102/135/2 +f 98/136/6 107/137/6 102/138/6 +f 106/139/1 97/140/1 100/141/1 +f 99/142/11 102/143/11 101/144/11 +f 99/142/12 100/145/12 97/146/12 +f 108/147/13 105/148/13 104/149/13 +f 108/147/14 103/150/14 106/151/14 +f 114/152/5 118/153/5 119/154/5 +f 110/155/6 119/156/6 117/157/6 +f 109/158/1 118/159/1 112/160/1 +f 114/161/15 111/162/15 113/163/15 +f 111/162/16 112/164/16 113/163/16 +f 117/165/17 120/166/17 116/167/17 +f 120/166/18 115/168/18 116/167/18 +f 122/169/5 123/170/5 121/171/5 +f 124/172/6 127/173/6 123/170/6 +f 128/174/2 125/175/2 127/176/2 +f 126/177/1 121/171/1 125/175/1 +f 124/172/4 126/178/4 128/179/4 +f 131/180/2 130/181/2 129/182/2 +f 135/183/6 132/184/6 131/180/6 +f 133/185/5 136/186/5 135/187/5 +f 129/182/1 134/188/1 133/185/1 +f 134/189/4 132/184/4 136/190/4 +f 2/1/1 4/191/1 3/2/1 +f 6/4/2 2/1/2 1/3/2 +f 7/6/3 5/5/3 1/3/3 +f 4/8/4 2/1/4 6/4/4 +f 10/10/5 12/192/5 11/11/5 +f 14/13/1 10/10/1 9/12/1 +f 15/15/3 13/14/3 9/12/3 +f 12/17/4 10/10/4 14/13/4 +f 18/19/6 20/193/6 19/20/6 +f 22/22/5 18/19/5 17/21/5 +f 23/24/3 21/23/3 17/21/3 +f 20/26/4 18/19/4 22/22/4 +f 26/28/2 28/194/2 27/29/2 +f 29/31/6 30/35/6 26/28/6 +f 31/32/3 29/31/3 25/30/3 +f 28/34/4 26/28/4 30/35/4 +f 34/37/7 36/54/7 35/38/7 +f 39/40/5 43/50/5 44/41/5 +f 40/42/8 38/195/8 37/43/8 +f 39/44/3 37/196/3 33/45/3 +f 40/47/4 36/53/4 34/48/4 +f 43/50/8 47/57/8 48/51/8 +f 35/46/3 42/55/3 43/50/3 +f 40/47/4 44/41/4 41/52/4 +f 36/54/6 41/60/6 42/55/6 +f 45/56/9 48/197/9 47/57/9 +f 42/55/3 46/58/3 47/57/3 +f 44/41/4 48/51/4 45/59/4 +f 41/60/7 45/198/7 46/58/7 +f 50/61/9 52/78/9 51/62/9 +f 55/64/6 59/74/6 60/65/6 +f 56/66/10 54/199/10 53/67/10 +f 55/68/3 53/200/3 49/69/3 +f 56/71/4 52/77/4 50/72/4 +f 59/74/10 63/81/10 64/75/10 +f 51/70/3 58/79/3 59/74/3 +f 56/71/4 60/65/4 57/76/4 +f 52/78/2 57/84/2 58/79/2 +f 61/80/8 64/201/8 63/81/8 +f 59/74/3 58/79/3 62/82/3 +f 60/65/4 64/75/4 61/83/4 +f 57/84/9 61/202/9 62/82/9 +f 66/85/8 68/102/8 67/86/8 +f 72/88/2 71/91/2 75/89/2 +f 71/91/7 72/88/7 70/92/7 +f 71/94/3 69/203/3 65/95/3 +f 68/97/4 66/204/4 70/98/4 +f 75/89/7 79/105/7 80/100/7 +f 67/96/3 74/103/3 75/89/3 +f 72/99/4 76/90/4 73/101/4 +f 68/102/1 73/205/1 74/103/1 +f 77/104/10 80/206/10 79/105/10 +f 74/103/3 78/106/3 79/105/3 +f 76/90/4 80/100/4 77/107/4 +f 74/103/8 73/205/8 77/108/8 +f 82/109/10 84/207/10 83/110/10 +f 87/112/1 91/122/1 92/113/1 +f 88/114/9 86/208/9 85/115/9 +f 87/116/3 85/209/3 81/117/3 +f 88/119/4 84/125/4 82/120/4 +f 91/122/9 95/129/9 96/123/9 +f 83/118/3 90/127/3 91/122/3 +f 88/119/4 92/113/4 89/124/4 +f 83/110/5 84/207/5 89/126/5 +f 93/128/7 96/210/7 95/129/7 +f 90/127/3 94/130/3 95/129/3 +f 92/113/4 96/123/4 93/131/4 +f 90/127/10 89/126/10 93/132/10 +f 100/134/2 101/211/2 102/135/2 +f 102/135/2 107/212/2 106/133/2 +f 107/212/2 108/213/2 106/133/2 +f 98/136/6 105/214/6 107/137/6 +f 106/139/1 103/215/1 97/140/1 +f 99/142/11 98/216/11 102/143/11 +f 99/142/12 101/144/12 100/145/12 +f 108/147/13 107/217/13 105/148/13 +f 108/147/14 104/149/14 103/150/14 +f 114/152/5 113/218/5 112/219/5 +f 112/219/5 118/153/5 114/152/5 +f 118/153/5 120/220/5 119/154/5 +f 110/155/6 114/221/6 119/156/6 +f 109/158/1 115/222/1 118/159/1 +f 114/161/15 110/223/15 111/162/15 +f 111/162/16 109/224/16 112/164/16 +f 117/165/17 119/225/17 120/166/17 +f 120/166/18 118/226/18 115/168/18 +f 122/169/5 124/172/5 123/170/5 +f 124/172/6 128/227/6 127/173/6 +f 128/174/2 126/177/2 125/175/2 +f 126/177/1 122/169/1 121/171/1 +f 124/172/4 122/169/4 126/178/4 +f 131/180/2 132/184/2 130/181/2 +f 135/183/6 136/228/6 132/184/6 +f 133/185/5 134/188/5 136/186/5 +f 129/182/1 130/181/1 134/188/1 +f 134/189/4 130/181/4 132/184/4 +s 1 +f 138/229/19 139/230/20 137/231/21 +f 140/232/22 141/233/23 139/230/20 +f 142/234/24 143/235/25 141/233/23 +f 144/236/26 145/237/27 143/238/25 +f 146/239/28 147/240/29 145/237/27 +f 148/241/30 149/242/31 147/240/29 +f 150/243/32 151/244/33 149/242/31 +f 152/245/34 153/246/35 151/244/33 +f 154/247/36 155/248/37 153/246/35 +f 156/249/38 157/250/39 155/248/37 +f 144/236/26 189/251/40 146/239/28 +f 158/252/41 159/253/42 157/250/39 +f 160/254/43 137/231/21 159/253/42 +f 141/233/23 162/255/44 139/230/20 +f 164/256/45 175/257/46 163/258/47 +f 157/250/39 170/259/48 155/248/37 +f 155/248/37 169/260/49 153/246/35 +f 153/246/35 168/261/50 151/244/33 +f 151/244/33 167/262/51 149/242/31 +f 149/242/31 166/263/52 147/240/29 +f 147/240/29 165/264/53 145/237/27 +f 145/237/27 164/265/45 143/238/25 +f 137/231/21 172/266/54 159/253/42 +f 139/230/20 161/267/55 137/231/21 +f 143/235/25 163/268/47 141/233/23 +f 159/253/42 171/269/56 157/250/39 +f 176/270/57 180/271/58 184/272/59 +f 171/273/56 182/274/60 170/275/48 +f 168/276/50 179/277/61 167/278/51 +f 165/279/53 176/280/57 164/281/45 +f 172/282/54 183/283/62 171/273/56 +f 162/284/44 173/285/63 161/286/55 +f 169/287/49 180/288/58 168/276/50 +f 166/289/52 177/290/64 165/279/53 +f 161/286/55 184/291/59 172/282/54 +f 163/258/47 174/292/65 162/284/44 +f 170/275/48 181/293/66 169/287/49 +f 167/278/51 178/294/67 166/289/52 +f 191/295/68 190/296/69 197/297/4 +f 160/254/43 186/298/70 138/229/19 +f 138/229/19 185/299/71 140/232/22 +f 142/234/24 188/300/72 144/301/26 +f 158/252/41 196/302/73 160/254/43 +f 140/232/22 187/303/74 142/234/24 +f 156/249/38 195/304/75 158/252/41 +f 156/249/38 193/305/76 194/306/77 +f 152/245/34 193/307/76 154/247/36 +f 150/243/32 192/308/78 152/245/34 +f 148/241/30 191/295/68 150/243/32 +f 146/239/28 190/309/69 148/241/30 +f 188/300/72 187/310/74 197/311/4 +f 195/304/75 194/312/77 197/313/4 +f 192/308/78 191/314/68 197/315/4 +f 189/251/40 188/316/72 197/317/4 +f 196/302/73 195/318/75 197/319/4 +f 185/299/71 186/320/70 197/321/4 +f 193/307/76 192/322/78 197/323/4 +f 190/309/69 189/324/40 197/325/4 +f 186/298/70 196/326/73 197/327/4 +f 187/303/74 185/328/71 197/329/4 +f 194/306/77 193/305/76 197/330/4 +f 138/229/19 140/232/22 139/230/20 +f 140/232/22 142/234/24 141/233/23 +f 142/234/24 144/301/26 143/235/25 +f 144/236/26 146/239/28 145/237/27 +f 146/239/28 148/241/30 147/240/29 +f 148/241/30 150/243/32 149/242/31 +f 150/243/32 152/245/34 151/244/33 +f 152/245/34 154/247/36 153/246/35 +f 154/247/36 156/249/38 155/248/37 +f 156/249/38 158/252/41 157/250/39 +f 144/236/26 188/316/72 189/251/40 +f 158/252/41 160/254/43 159/253/42 +f 160/254/43 138/229/19 137/231/21 +f 141/233/23 163/331/47 162/255/44 +f 164/256/45 176/332/57 175/257/46 +f 157/250/39 171/333/56 170/259/48 +f 155/248/37 170/334/48 169/260/49 +f 153/246/35 169/335/49 168/261/50 +f 151/244/33 168/336/50 167/262/51 +f 149/242/31 167/337/51 166/263/52 +f 147/240/29 166/338/52 165/264/53 +f 145/237/27 165/339/53 164/265/45 +f 137/231/21 161/340/55 172/266/54 +f 139/230/20 162/341/44 161/267/55 +f 143/235/25 164/342/45 163/268/47 +f 159/253/42 172/343/54 171/269/56 +f 184/272/59 173/344/63 176/270/57 +f 173/344/63 174/345/65 176/270/57 +f 174/345/65 175/346/46 176/270/57 +f 176/270/57 177/347/64 178/348/67 +f 178/348/67 179/349/61 176/270/57 +f 179/349/61 180/271/58 176/270/57 +f 180/271/58 181/350/66 182/351/60 +f 182/351/60 183/352/62 184/272/59 +f 180/271/58 182/351/60 184/272/59 +f 171/273/56 183/283/62 182/274/60 +f 168/276/50 180/288/58 179/277/61 +f 165/279/53 177/290/64 176/280/57 +f 172/282/54 184/291/59 183/283/62 +f 162/284/44 174/292/65 173/285/63 +f 169/287/49 181/293/66 180/288/58 +f 166/289/52 178/294/67 177/290/64 +f 161/286/55 173/285/63 184/291/59 +f 163/258/47 175/257/46 174/292/65 +f 170/275/48 182/274/60 181/293/66 +f 167/278/51 179/277/61 178/294/67 +f 160/254/43 196/326/73 186/298/70 +f 138/229/19 186/320/70 185/299/71 +f 142/234/24 187/310/74 188/300/72 +f 158/252/41 195/318/75 196/302/73 +f 140/232/22 185/328/71 187/303/74 +f 156/249/38 194/312/77 195/304/75 +f 156/249/38 154/247/36 193/305/76 +f 152/245/34 192/322/78 193/307/76 +f 150/243/32 191/314/68 192/308/78 +f 148/241/30 190/296/69 191/295/68 +f 146/239/28 189/324/40 190/309/69 diff --git a/src/main/resources/assets/hbm/models/bombs/dud_nuke.obj b/src/main/resources/assets/hbm/models/bombs/dud_nuke.obj new file mode 100644 index 000000000..7d9c18355 --- /dev/null +++ b/src/main/resources/assets/hbm/models/bombs/dud_nuke.obj @@ -0,0 +1,799 @@ +# Blender v2.79 (sub 7) OBJ File: 'flat fuck.blend' +# www.blender.org +mtllib flat_fuck.mtl +o Cube.001_Cube.002 +v 0.218750 -0.031250 -3.812500 +v 0.218750 0.031250 -3.812500 +v 0.218750 -0.031250 -4.187500 +v 0.218750 0.031250 -4.187500 +v 0.406250 -0.031250 -4.000000 +v 0.343750 -0.031250 -3.812500 +v 0.343750 0.031250 -3.812500 +v 0.406250 0.031250 -4.000000 +v 0.343750 -0.031250 -4.187500 +v 0.406250 -0.031250 -4.125000 +v 0.406250 0.031250 -4.125000 +v 0.343750 0.031250 -4.187500 +v -0.218750 -0.031250 -3.812500 +v -0.218750 0.031250 -3.812500 +v -0.218750 -0.031250 -4.187500 +v -0.218750 0.031250 -4.187500 +v -0.406250 -0.031250 -4.000000 +v -0.343750 -0.031250 -3.812500 +v -0.343750 0.031250 -3.812500 +v -0.406250 0.031250 -4.000000 +v -0.343750 -0.031250 -4.187500 +v -0.406250 -0.031250 -4.125000 +v -0.406250 0.031250 -4.125000 +v -0.343750 0.031250 -4.187500 +v -0.031250 0.572454 -0.406250 +v -0.031250 0.697454 -0.406250 +v -0.031250 0.572454 -0.593750 +v -0.031250 0.697454 -0.593750 +v 0.031250 0.572454 -0.406250 +v 0.031250 0.697454 -0.406250 +v 0.031250 0.572454 -0.593750 +v 0.031250 0.697454 -0.593750 +v -0.031250 0.759954 -0.468750 +v 0.031250 0.759954 -0.468750 +v -0.511384 0.259164 -0.406250 +v -0.619638 0.321664 -0.406250 +v -0.511385 0.259164 -0.593750 +v -0.619638 0.321664 -0.593750 +v -0.480135 0.313290 -0.406250 +v -0.588388 0.375790 -0.406250 +v -0.480135 0.313290 -0.593750 +v -0.588388 0.375790 -0.593750 +v -0.673764 0.352914 -0.468750 +v -0.642514 0.407040 -0.468750 +v -0.480134 -0.313290 -0.406250 +v -0.588388 -0.375790 -0.406250 +v -0.480134 -0.313290 -0.593750 +v -0.588388 -0.375790 -0.593750 +v -0.511384 -0.259164 -0.406250 +v -0.619638 -0.321664 -0.406250 +v -0.511384 -0.259164 -0.593750 +v -0.619638 -0.321664 -0.593750 +v -0.642514 -0.407040 -0.468750 +v -0.673764 -0.352914 -0.468750 +v 0.031250 -0.572454 -0.406250 +v 0.031250 -0.697454 -0.406250 +v 0.031250 -0.572454 -0.593750 +v 0.031250 -0.697454 -0.593750 +v -0.031250 -0.572454 -0.406250 +v -0.031250 -0.697454 -0.406250 +v -0.031250 -0.572454 -0.593750 +v -0.031250 -0.697454 -0.593750 +v 0.031250 -0.759954 -0.468750 +v -0.031250 -0.759954 -0.468750 +v 0.511385 -0.259163 -0.406250 +v 0.619638 -0.321663 -0.406250 +v 0.511385 -0.259163 -0.593750 +v 0.619638 -0.321663 -0.593750 +v 0.480135 -0.313290 -0.406250 +v 0.588388 -0.375790 -0.406250 +v 0.480135 -0.313290 -0.593750 +v 0.588388 -0.375790 -0.593750 +v 0.673764 -0.352913 -0.468750 +v 0.642515 -0.407040 -0.468750 +v 0.480134 0.313290 -0.406250 +v 0.588388 0.375790 -0.406250 +v 0.480134 0.313290 -0.593750 +v 0.588388 0.375790 -0.593750 +v 0.511384 0.259164 -0.406250 +v 0.619638 0.321664 -0.406250 +v 0.511384 0.259164 -0.593750 +v 0.619638 0.321664 -0.593750 +v 0.642514 0.407040 -0.468750 +v 0.673764 0.352914 -0.468750 +v -0.176777 0.132583 -3.625000 +v -0.176777 0.132583 -4.375000 +v -0.132583 0.176777 -3.625000 +v -0.132583 0.176777 -4.375000 +v -0.574524 0.530330 -3.625000 +v -0.618719 0.574524 -3.687500 +v -0.618719 0.574524 -4.312500 +v -0.574524 0.530330 -4.375000 +v -0.574524 0.618718 -3.687500 +v -0.530330 0.574524 -3.625000 +v -0.530330 0.574524 -4.375000 +v -0.574524 0.618718 -4.312500 +v -0.132583 -0.176777 -3.625000 +v -0.132583 -0.176777 -4.375000 +v -0.176777 -0.132583 -3.625000 +v -0.176777 -0.132583 -4.375000 +v -0.530330 -0.574524 -3.625000 +v -0.574525 -0.618719 -3.687500 +v -0.574525 -0.618719 -4.312500 +v -0.530331 -0.574524 -4.375000 +v -0.618719 -0.574524 -3.687500 +v -0.574525 -0.530330 -3.625000 +v -0.574525 -0.530330 -4.375000 +v -0.618719 -0.574524 -4.312500 +v 0.176776 -0.132583 -3.624999 +v 0.176776 -0.132583 -4.374999 +v 0.132582 -0.176777 -3.624999 +v 0.132582 -0.176777 -4.374999 +v 0.574524 -0.530331 -3.624999 +v 0.618718 -0.574525 -3.687499 +v 0.618718 -0.574525 -4.312499 +v 0.574524 -0.530331 -4.374999 +v 0.574524 -0.618719 -3.687499 +v 0.530330 -0.574525 -3.624999 +v 0.530330 -0.574525 -4.374999 +v 0.574524 -0.618719 -4.312499 +v 0.132583 0.176776 -3.624999 +v 0.132583 0.176776 -4.374999 +v 0.176777 0.132582 -3.624999 +v 0.176777 0.132582 -4.374999 +v 0.530330 0.574524 -3.624999 +v 0.574524 0.618718 -3.687499 +v 0.574524 0.618718 -4.312499 +v 0.530330 0.574524 -4.374999 +v 0.618719 0.574524 -3.687499 +v 0.574524 0.530330 -3.624999 +v 0.574524 0.530330 -4.374999 +v 0.618719 0.574524 -4.312499 +v 0.000000 0.603704 -1.500000 +v 0.000000 0.603704 1.500000 +v 0.301852 0.522823 -1.500000 +v 0.301852 0.522823 1.500000 +v 0.522823 0.301852 -1.500000 +v 0.522823 0.301852 1.500000 +v 0.603704 0.000000 -1.500000 +v 0.603704 -0.000000 1.500000 +v 0.522823 -0.301852 -1.500000 +v 0.522823 -0.301852 1.500000 +v 0.301852 -0.522823 -1.500000 +v 0.301852 -0.522823 1.500000 +v 0.000000 -0.603704 -1.500000 +v 0.000000 -0.603704 1.500000 +v -0.301852 -0.522823 -1.500000 +v -0.301852 -0.522823 1.500000 +v -0.522823 -0.301852 -1.500000 +v -0.522823 -0.301852 1.500000 +v -0.603704 -0.000000 -1.500000 +v -0.603704 -0.000000 1.500000 +v -0.522823 0.301852 -1.500000 +v -0.522823 0.301852 1.500000 +v -0.301852 0.522823 -1.500000 +v -0.301852 0.522823 1.500000 +v -0.000000 0.241482 -4.500000 +v 0.120741 0.209129 -4.500000 +v 0.209129 0.120741 -4.500000 +v 0.241481 0.000000 -4.500000 +v 0.209129 -0.120741 -4.500000 +v 0.120741 -0.209129 -4.500000 +v 0.000000 -0.241481 -4.500000 +v -0.120741 -0.209129 -4.500000 +v -0.209129 -0.120741 -4.500000 +v -0.241481 0.000000 -4.500000 +v -0.209129 0.120741 -4.500000 +v -0.120741 0.209129 -4.500000 +vt 0.731034 0.370968 +vt 0.724138 0.338710 +vt 0.724138 0.370968 +vt 0.731034 0.338710 +vt 0.751724 0.387097 +vt 0.765517 0.387097 +vt 0.751724 0.403226 +vt 0.765517 0.403226 +vt 0.772414 0.338710 +vt 0.779310 0.370968 +vt 0.779310 0.338710 +vt 0.779310 0.387097 +vt 0.772414 0.370968 +vt 0.772414 0.387097 +vt 0.731034 0.419355 +vt 0.703448 0.387097 +vt 0.731034 0.435484 +vt 0.724138 0.467742 +vt 0.731034 0.467742 +vt 0.682759 0.435484 +vt 0.682759 0.467742 +vt 0.703448 0.483871 +vt 0.703448 0.500000 +vt 0.689655 0.483871 +vt 0.689655 0.500000 +vt 0.675862 0.467742 +vt 0.675862 0.435484 +vt 0.675862 0.483871 +vt 0.682759 0.483871 +vt 0.724138 0.516129 +vt 0.751724 0.483871 +vt 0.765517 0.483871 +vt 0.772414 0.467742 +vt 0.724138 0.209677 +vt 0.703448 0.177419 +vt 0.724138 0.177419 +vt 0.703448 0.209677 +vt 0.696552 0.177419 +vt 0.696552 0.209677 +vt 0.675862 0.177419 +vt 0.731034 0.209677 +vt 0.731034 0.177419 +vt 0.717241 0.225806 +vt 0.724138 0.225806 +vt 0.696552 0.241935 +vt 0.675862 0.209677 +vt 0.682759 0.225806 +vt 0.786207 0.290323 +vt 0.765517 0.258065 +vt 0.786207 0.258065 +vt 0.758621 0.290323 +vt 0.758621 0.258065 +vt 0.737931 0.258065 +vt 0.793103 0.258065 +vt 0.765517 0.290323 +vt 0.779310 0.306452 +vt 0.793103 0.290323 +vt 0.786207 0.306452 +vt 0.758621 0.322581 +vt 0.737931 0.290323 +vt 0.744828 0.306452 +vt 0.786207 0.209677 +vt 0.765517 0.177419 +vt 0.786207 0.177419 +vt 0.758621 0.209677 +vt 0.758621 0.177419 +vt 0.737931 0.209677 +vt 0.737931 0.177419 +vt 0.793103 0.209677 +vt 0.793103 0.177419 +vt 0.765517 0.209677 +vt 0.779310 0.225806 +vt 0.786207 0.225806 +vt 0.765517 0.241935 +vt 0.758621 0.241935 +vt 0.744828 0.225806 +vt 0.724138 0.129032 +vt 0.703448 0.096774 +vt 0.724138 0.096774 +vt 0.703448 0.129032 +vt 0.696552 0.096774 +vt 0.675862 0.129032 +vt 0.675862 0.096774 +vt 0.731034 0.129032 +vt 0.731034 0.096774 +vt 0.717241 0.145161 +vt 0.731034 0.145161 +vt 0.724138 0.145161 +vt 0.696552 0.161290 +vt 0.696552 0.129032 +vt 0.682759 0.145161 +vt 0.786207 0.129032 +vt 0.765517 0.096774 +vt 0.786207 0.096774 +vt 0.765517 0.129032 +vt 0.758621 0.096774 +vt 0.758621 0.129032 +vt 0.737931 0.096774 +vt 0.793103 0.129032 +vt 0.793103 0.096774 +vt 0.779310 0.145161 +vt 0.793103 0.145161 +vt 0.786207 0.145161 +vt 0.758621 0.161290 +vt 0.737931 0.129032 +vt 0.744828 0.145161 +vt 0.724138 0.258065 +vt 0.703448 0.290323 +vt 0.703448 0.258065 +vt 0.696552 0.258065 +vt 0.675862 0.290323 +vt 0.675862 0.258065 +vt 0.731034 0.290323 +vt 0.731034 0.258065 +vt 0.724138 0.290323 +vt 0.717241 0.306452 +vt 0.731034 0.306452 +vt 0.724138 0.306452 +vt 0.696552 0.322581 +vt 0.696552 0.290323 +vt 0.682759 0.306452 +vt 0.917241 0.774194 +vt 0.986207 0.790323 +vt 0.917241 0.790323 +vt 0.827586 0.774194 +vt 0.820690 0.758065 +vt 0.820690 0.612903 +vt 0.910345 0.758065 +vt 0.910345 0.612903 +vt 0.903448 0.612903 +vt 0.910345 0.774194 +vt 0.903448 0.758065 +vt 0.813793 0.774194 +vt 0.820690 0.774194 +vt 0.813793 0.758065 +vt 0.813793 0.612903 +vt 0.917241 0.580645 +vt 0.986207 0.596774 +vt 0.917241 0.596774 +vt 0.827586 0.580645 +vt 0.820690 0.564516 +vt 0.820690 0.419355 +vt 0.910345 0.564516 +vt 0.910345 0.419355 +vt 0.903448 0.419355 +vt 0.910345 0.580645 +vt 0.903448 0.564516 +vt 0.813793 0.580645 +vt 0.820690 0.580645 +vt 0.813793 0.419355 +vt 0.917241 0.387097 +vt 0.986207 0.403226 +vt 0.917241 0.403226 +vt 0.827586 0.387097 +vt 0.820690 0.370968 +vt 0.820690 0.225806 +vt 0.910345 0.370968 +vt 0.910345 0.225806 +vt 0.903448 0.370968 +vt 0.903448 0.225806 +vt 0.903448 0.387097 +vt 0.910345 0.387097 +vt 0.820690 0.387097 +vt 0.813793 0.370968 +vt 0.813793 0.225806 +vt 0.917241 0.983871 +vt 0.986207 0.967742 +vt 0.986207 0.983871 +vt 0.827586 0.967742 +vt 0.820690 0.951613 +vt 0.820690 0.806452 +vt 0.917241 0.967742 +vt 0.910345 0.951613 +vt 0.910345 0.806452 +vt 0.903448 0.951613 +vt 0.903448 0.806452 +vt 0.903448 0.967742 +vt 0.910345 0.967742 +vt 0.820690 0.967742 +vt 0.813793 0.951613 +vt 0.813793 0.806452 +vt 0.687135 0.905981 +vt 0.742256 0.683307 +vt 0.797152 0.906284 +vt 0.729378 0.596377 +vt 0.716764 0.648801 +vt 0.677939 0.597702 +vt 0.724138 0.419355 +vt 0.682759 0.338710 +vt 0.682759 0.370968 +vt 0.689655 0.387097 +vt 0.724138 0.435484 +vt 0.731034 0.516129 +vt 0.772414 0.435484 +vt 0.731034 0.225806 +vt 0.703448 0.241935 +vt 0.793103 0.306452 +vt 0.765517 0.322581 +vt 0.793103 0.225806 +vt 0.703448 0.161290 +vt 0.765517 0.161290 +vt 0.703448 0.322581 +vt 0.986207 0.774194 +vt 0.896552 0.774194 +vt 0.993103 0.612903 +vt 0.993103 0.758065 +vt 0.903448 0.774194 +vt 0.986207 0.580645 +vt 0.896552 0.580645 +vt 0.993103 0.419355 +vt 0.993103 0.564516 +vt 0.903448 0.580645 +vt 0.813793 0.564516 +vt 0.986207 0.387097 +vt 0.896552 0.387097 +vt 0.993103 0.225806 +vt 0.993103 0.370968 +vt 0.813793 0.387097 +vt 0.896552 0.967742 +vt 0.993103 0.806452 +vt 0.993103 0.951613 +vt 0.813793 0.967742 +vt 0.773875 0.960593 +vt 0.742106 0.980407 +vt 0.710357 0.960418 +vt 0.678663 0.831683 +vt 0.687210 0.757431 +vt 0.710486 0.703122 +vt 0.774005 0.703296 +vt 0.797226 0.757733 +vt 0.805699 0.832032 +vt 0.703942 0.657191 +vt 0.691044 0.649463 +vt 0.681527 0.627689 +vt 0.681243 0.567538 +vt 0.690554 0.545279 +vt 0.703375 0.536889 +vt 0.716273 0.544617 +vt 0.725791 0.566391 +vt 0.726074 0.626541 +vt 0.006897 0.500000 +vt 0.337931 0.419355 +vt 0.337931 0.500000 +vt 0.006897 0.338710 +vt 0.337931 0.338710 +vt 0.337931 0.258065 +vt 0.006897 0.258065 +vt 0.337931 0.177419 +vt 0.006897 0.177419 +vt 0.337931 0.096774 +vt 0.006897 0.096774 +vt 0.337931 0.016129 +vt 0.006897 0.983871 +vt 0.337931 0.903226 +vt 0.337931 0.983871 +vt 0.006897 0.903226 +vt 0.337931 0.822581 +vt 0.006897 0.822581 +vt 0.337931 0.741935 +vt 0.006897 0.741935 +vt 0.337931 0.661290 +vt 0.006897 0.661290 +vt 0.337931 0.580645 +vt 0.006897 0.580645 +vt 0.668966 0.967742 +vt 0.668966 0.048387 +vt 0.668966 0.080645 +vt 0.668966 0.161290 +vt 0.668966 0.241935 +vt 0.668966 0.564516 +vt 0.668966 0.451613 +vt 0.668966 0.483871 +vt 0.668966 0.322581 +vt 0.668966 0.612903 +vt 0.668966 0.645161 +vt 0.668966 0.403226 +vt 0.668966 0.693548 +vt 0.668966 0.725806 +vt 0.668966 0.806452 +vt 0.668966 0.887097 +vt 0.006897 0.419355 +vt 0.006897 0.016129 +vt 0.668966 0.935484 +vt 0.668966 0.129032 +vt 0.668966 0.209677 +vt 0.668966 0.532258 +vt 0.668966 0.290323 +vt 0.668966 0.370968 +vt 0.668966 0.774194 +vt 0.668966 0.854839 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 -0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.7071 0.0000 -0.7071 +vn 0.9487 0.0000 0.3162 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.7071 0.0000 -0.7071 +vn -0.9487 0.0000 0.3162 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.8944 -0.4472 +vn -0.5000 -0.8660 -0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.6124 0.3536 0.7071 +vn -0.7746 0.4472 -0.4472 +vn 0.5000 -0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn -0.6124 -0.3536 0.7071 +vn -0.7746 -0.4472 -0.4472 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -0.8944 -0.4472 +vn 0.6124 -0.3536 0.7071 +vn 0.7746 -0.4472 -0.4472 +vn 0.6124 0.3536 0.7071 +vn 0.7746 0.4472 -0.4472 +vn -0.7071 0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.5000 0.5000 -0.7071 +vn -0.5000 0.5000 0.7071 +vn 0.7071 -0.7071 0.0000 +vn -0.5000 -0.5000 -0.7071 +vn -0.5000 -0.5000 0.7071 +vn 0.5000 -0.5000 -0.7071 +vn 0.5000 -0.5000 0.7071 +vn 0.5000 0.5000 -0.7071 +vn 0.5000 0.5000 0.7071 +vn 0.0000 0.7571 0.6532 +vn 0.4991 0.8645 -0.0595 +vn 0.0000 0.9982 -0.0595 +vn 0.6557 0.3786 0.6532 +vn 0.8645 0.4991 -0.0595 +vn 0.9982 0.0000 -0.0595 +vn 0.7571 0.0000 0.6532 +vn 0.8645 -0.4991 -0.0595 +vn 0.6557 -0.3786 0.6532 +vn 0.4991 -0.8645 -0.0595 +vn 0.3786 -0.6557 0.6532 +vn 0.0000 -0.9982 -0.0595 +vn 0.0000 -0.7571 0.6532 +vn -0.4991 -0.8645 -0.0595 +vn -0.3786 -0.6557 0.6532 +vn -0.8645 -0.4991 -0.0595 +vn -0.6557 -0.3786 0.6532 +vn -0.9982 0.0000 -0.0595 +vn -0.7571 0.0000 0.6532 +vn -0.8645 0.4991 -0.0595 +vn -0.6557 0.3786 0.6532 +vn -0.4991 0.8645 -0.0595 +vn -0.3786 0.6557 0.6532 +vn 0.0000 -0.7169 -0.6972 +vn 0.3584 -0.6208 -0.6972 +vn 0.6208 -0.3584 -0.6972 +vn 0.7169 0.0000 -0.6972 +vn -0.3584 0.6208 -0.6972 +vn 0.3584 0.6208 -0.6972 +vn 0.0000 0.7169 -0.6972 +vn 0.6208 0.3584 -0.6972 +vn -0.6208 0.3584 -0.6972 +vn -0.7169 0.0000 -0.6972 +vn -0.6208 -0.3584 -0.6972 +vn -0.3584 -0.6208 -0.6972 +vn 0.3786 0.6557 0.6532 +usemtl None +s off +f 7/1/1 1/2/1 6/3/1 +f 2/4/2 7/1/2 8/5/2 +f 11/6/3 5/7/3 10/8/3 +f 4/9/4 9/10/4 3/11/4 +f 10/12/5 12/13/5 11/14/5 +f 6/3/6 8/15/6 7/1/6 +f 5/16/7 6/3/7 1/2/7 +f 13/17/1 19/18/1 18/19/1 +f 16/20/2 24/21/2 20/22/2 +f 17/23/8 23/24/8 22/25/8 +f 21/26/4 16/20/4 15/27/4 +f 24/21/9 22/28/9 23/29/9 +f 20/30/10 18/19/10 19/18/10 +f 17/31/7 22/32/7 21/33/7 +f 26/34/8 27/35/8 25/36/8 +f 28/37/4 31/38/4 27/35/4 +f 32/39/3 29/40/3 31/38/3 +f 30/41/1 25/36/1 29/42/1 +f 28/37/8 26/34/8 33/43/8 +f 30/41/11 33/44/11 26/34/11 +f 28/37/12 34/45/12 32/39/12 +f 30/46/3 32/39/3 34/47/3 +f 36/48/13 37/49/13 35/50/13 +f 37/49/4 42/51/4 41/52/4 +f 42/51/14 39/53/14 41/52/14 +f 39/54/1 36/48/1 35/50/1 +f 38/55/13 36/48/13 43/56/13 +f 40/57/15 43/58/15 36/48/15 +f 38/55/16 44/59/16 42/51/16 +f 40/60/14 42/51/14 44/61/14 +f 46/62/17 47/63/17 45/64/17 +f 47/63/4 52/65/4 51/66/4 +f 51/66/18 50/67/18 49/68/18 +f 50/69/1 45/64/1 49/70/1 +f 48/71/17 46/62/17 53/72/17 +f 50/69/19 53/73/19 46/62/19 +f 52/65/20 53/74/20 54/75/20 +f 50/67/18 52/65/18 54/76/18 +f 56/77/3 57/78/3 55/79/3 +f 58/80/4 61/81/4 57/78/4 +f 61/81/8 60/82/8 59/83/8 +f 60/84/1 55/79/1 59/85/1 +f 58/80/3 56/77/3 63/86/3 +f 56/77/21 64/87/21 63/88/21 +f 58/80/22 64/89/22 62/90/22 +f 60/82/8 62/90/8 64/91/8 +f 66/92/14 67/93/14 65/94/14 +f 68/95/4 71/96/4 67/93/4 +f 72/97/13 69/98/13 71/96/13 +f 70/99/1 65/94/1 69/100/1 +f 68/95/14 66/92/14 73/101/14 +f 66/92/23 74/102/23 73/103/23 +f 68/95/24 74/104/24 72/97/24 +f 70/105/13 72/97/13 74/106/13 +f 75/107/18 78/108/18 77/109/18 +f 78/108/4 81/110/4 77/109/4 +f 81/110/17 80/111/17 79/112/17 +f 80/113/1 75/107/1 79/114/1 +f 78/108/18 76/115/18 83/116/18 +f 76/115/25 84/117/25 83/118/25 +f 78/108/26 84/119/26 82/120/26 +f 80/111/17 82/120/17 84/121/17 +f 91/122/27 93/123/27 96/124/27 +f 93/125/28 94/126/28 87/127/28 +f 91/122/29 92/128/29 86/129/29 +f 92/128/4 88/130/4 86/129/4 +f 91/131/30 95/132/30 92/128/30 +f 90/133/31 94/126/31 93/134/31 +f 87/127/1 89/135/1 85/136/1 +f 103/137/29 105/138/29 108/139/29 +f 105/140/27 106/141/27 99/142/27 +f 103/137/32 104/143/32 98/144/32 +f 104/143/4 100/145/4 98/144/4 +f 103/146/33 107/147/33 104/143/33 +f 102/148/34 106/141/34 105/149/34 +f 106/141/1 97/150/1 99/142/1 +f 115/151/32 117/152/32 120/153/32 +f 117/154/29 118/155/29 111/156/29 +f 115/151/28 116/157/28 110/158/28 +f 110/158/4 119/159/4 112/160/4 +f 120/161/35 116/157/35 115/162/35 +f 117/163/36 113/164/36 118/155/36 +f 111/156/1 113/164/1 109/165/1 +f 132/166/28 126/167/28 129/168/28 +f 129/169/32 130/170/32 123/171/32 +f 127/172/27 128/173/27 122/174/27 +f 122/174/4 131/175/4 124/176/4 +f 132/177/37 128/173/37 127/178/37 +f 129/179/38 125/180/38 130/170/38 +f 130/170/1 121/181/1 123/171/1 +f 154/182/1 146/183/1 138/184/1 +f 166/185/4 168/186/4 160/187/4 +f 7/1/1 2/4/1 1/2/1 +f 8/5/2 11/6/2 12/13/2 +f 12/13/2 4/9/2 8/5/2 +f 4/9/2 2/4/2 8/5/2 +f 11/6/3 8/5/3 5/7/3 +f 4/9/4 12/13/4 9/10/4 +f 10/12/5 9/10/5 12/13/5 +f 6/3/6 5/188/6 8/15/6 +f 1/2/7 3/189/7 5/16/7 +f 3/189/7 9/190/7 5/16/7 +f 9/190/7 10/191/7 5/16/7 +f 13/17/1 14/192/1 19/18/1 +f 24/21/2 23/24/2 20/22/2 +f 20/22/2 19/18/2 14/192/2 +f 14/192/2 16/20/2 20/22/2 +f 17/23/8 20/22/8 23/24/8 +f 21/26/4 24/21/4 16/20/4 +f 24/21/9 21/26/9 22/28/9 +f 20/30/10 17/193/10 18/19/10 +f 21/33/7 15/194/7 17/31/7 +f 15/194/7 13/17/7 17/31/7 +f 13/17/7 18/19/7 17/31/7 +f 26/34/8 28/37/8 27/35/8 +f 28/37/4 32/39/4 31/38/4 +f 32/39/3 30/46/3 29/40/3 +f 30/41/1 26/34/1 25/36/1 +f 30/41/11 34/195/11 33/44/11 +f 28/37/12 33/196/12 34/45/12 +f 36/48/13 38/55/13 37/49/13 +f 37/49/4 38/55/4 42/51/4 +f 42/51/14 40/60/14 39/53/14 +f 39/54/1 40/57/1 36/48/1 +f 40/57/15 44/197/15 43/58/15 +f 38/55/16 43/198/16 44/59/16 +f 46/62/17 48/71/17 47/63/17 +f 47/63/4 48/71/4 52/65/4 +f 51/66/18 52/65/18 50/67/18 +f 50/69/1 46/62/1 45/64/1 +f 50/69/19 54/199/19 53/73/19 +f 52/65/20 48/71/20 53/74/20 +f 56/77/3 58/80/3 57/78/3 +f 58/80/4 62/90/4 61/81/4 +f 61/81/8 62/90/8 60/82/8 +f 60/84/1 56/77/1 55/79/1 +f 56/77/21 60/84/21 64/87/21 +f 58/80/22 63/200/22 64/89/22 +f 66/92/14 68/95/14 67/93/14 +f 68/95/4 72/97/4 71/96/4 +f 72/97/13 70/105/13 69/98/13 +f 70/99/1 66/92/1 65/94/1 +f 66/92/23 70/99/23 74/102/23 +f 68/95/24 73/201/24 74/104/24 +f 75/107/18 76/115/18 78/108/18 +f 78/108/4 82/120/4 81/110/4 +f 81/110/17 82/120/17 80/111/17 +f 80/113/1 76/115/1 75/107/1 +f 76/115/25 80/113/25 84/117/25 +f 78/108/26 83/202/26 84/119/26 +f 91/122/27 90/203/27 93/123/27 +f 87/127/28 88/130/28 96/204/28 +f 88/130/28 95/132/28 96/204/28 +f 96/204/28 93/125/28 87/127/28 +f 86/129/29 85/205/29 90/203/29 +f 85/205/29 89/206/29 90/203/29 +f 90/203/29 91/122/29 86/129/29 +f 92/128/4 95/132/4 88/130/4 +f 91/131/30 96/207/30 95/132/30 +f 90/133/31 89/135/31 94/126/31 +f 87/127/1 94/126/1 89/135/1 +f 103/137/29 102/208/29 105/138/29 +f 99/142/27 100/145/27 108/209/27 +f 100/145/27 107/147/27 108/209/27 +f 108/209/27 105/140/27 99/142/27 +f 98/144/32 97/210/32 102/208/32 +f 97/210/32 101/211/32 102/208/32 +f 102/208/32 103/137/32 98/144/32 +f 104/143/4 107/147/4 100/145/4 +f 103/146/33 108/212/33 107/147/33 +f 102/148/34 101/213/34 106/141/34 +f 106/141/1 101/213/1 97/150/1 +f 115/151/32 114/214/32 117/152/32 +f 111/156/29 112/160/29 120/215/29 +f 112/160/29 119/159/29 120/215/29 +f 120/215/29 117/154/29 111/156/29 +f 110/158/28 109/216/28 114/214/28 +f 109/216/28 113/217/28 114/214/28 +f 114/214/28 115/151/28 110/158/28 +f 110/158/4 116/157/4 119/159/4 +f 120/161/35 119/159/35 116/157/35 +f 117/163/36 114/218/36 113/164/36 +f 111/156/1 118/155/1 113/164/1 +f 132/166/28 127/172/28 126/167/28 +f 123/171/32 124/176/32 132/219/32 +f 124/176/32 131/175/32 132/219/32 +f 132/219/32 129/169/32 123/171/32 +f 122/174/27 121/220/27 126/167/27 +f 121/220/27 125/221/27 126/167/27 +f 126/167/27 127/172/27 122/174/27 +f 122/174/4 128/173/4 131/175/4 +f 132/177/37 131/175/37 128/173/37 +f 129/179/38 126/222/38 125/180/38 +f 130/170/1 125/180/1 121/181/1 +f 138/184/1 136/223/1 134/224/1 +f 134/224/1 156/225/1 154/182/1 +f 154/182/1 152/226/1 146/183/1 +f 152/226/1 150/227/1 146/183/1 +f 150/227/1 148/228/1 146/183/1 +f 146/183/1 144/229/1 142/230/1 +f 142/230/1 140/231/1 138/184/1 +f 138/184/1 134/224/1 154/182/1 +f 146/183/1 142/230/1 138/184/1 +f 168/186/4 157/232/4 158/233/4 +f 158/233/4 159/234/4 160/187/4 +f 160/187/4 161/235/4 162/236/4 +f 162/236/4 163/237/4 160/187/4 +f 163/237/4 164/238/4 160/187/4 +f 164/238/4 165/239/4 166/185/4 +f 166/185/4 167/240/4 168/186/4 +f 168/186/4 158/233/4 160/187/4 +f 164/238/4 166/185/4 160/187/4 +s 1 +f 134/241/39 135/242/40 133/243/41 +f 135/242/40 138/244/42 137/245/43 +f 138/244/42 139/246/44 137/245/43 +f 140/247/45 141/248/46 139/246/44 +f 142/249/47 143/250/48 141/248/46 +f 144/251/49 145/252/50 143/250/48 +f 146/253/51 147/254/52 145/255/50 +f 148/256/53 149/257/54 147/254/52 +f 150/258/55 151/259/56 149/257/54 +f 152/260/57 153/261/58 151/259/56 +f 154/262/59 155/263/60 153/261/58 +f 156/264/61 133/243/41 155/263/60 +f 147/254/52 163/265/62 145/255/50 +f 143/250/48 163/266/62 162/267/63 +f 143/250/48 161/268/64 141/248/46 +f 141/248/46 160/269/65 139/246/44 +f 133/243/41 168/270/66 155/263/60 +f 133/243/41 158/271/67 157/272/68 +f 139/246/44 159/273/69 137/245/43 +f 153/261/58 168/274/66 167/275/70 +f 137/245/43 158/276/67 135/242/40 +f 151/259/56 167/277/70 166/278/71 +f 151/259/56 165/279/72 149/257/54 +f 149/257/54 164/280/73 147/254/52 +f 134/241/39 136/281/74 135/242/40 +f 135/242/40 136/281/74 138/244/42 +f 138/244/42 140/247/45 139/246/44 +f 140/247/45 142/249/47 141/248/46 +f 142/249/47 144/251/49 143/250/48 +f 144/251/49 146/282/51 145/252/50 +f 146/253/51 148/256/53 147/254/52 +f 148/256/53 150/258/55 149/257/54 +f 150/258/55 152/260/57 151/259/56 +f 152/260/57 154/262/59 153/261/58 +f 154/262/59 156/264/61 155/263/60 +f 156/264/61 134/241/39 133/243/41 +f 147/254/52 164/283/73 163/265/62 +f 143/250/48 145/252/50 163/266/62 +f 143/250/48 162/284/63 161/268/64 +f 141/248/46 161/285/64 160/269/65 +f 133/243/41 157/286/68 168/270/66 +f 133/243/41 135/242/40 158/271/67 +f 139/246/44 160/287/65 159/273/69 +f 153/261/58 155/263/60 168/274/66 +f 137/245/43 159/288/69 158/276/67 +f 151/259/56 153/261/58 167/277/70 +f 151/259/56 166/289/71 165/279/72 +f 149/257/54 165/290/72 164/280/73 diff --git a/src/main/resources/assets/hbm/models/bombs/dud_salted.obj b/src/main/resources/assets/hbm/models/bombs/dud_salted.obj new file mode 100644 index 000000000..de9bcb0f1 --- /dev/null +++ b/src/main/resources/assets/hbm/models/bombs/dud_salted.obj @@ -0,0 +1,1411 @@ +# Blender v2.79 (sub 7) OBJ File: 'salted boy.blend' +# www.blender.org +mtllib salted boy.mtl +o Cylinder.002 +v -0.000000 -0.724444 -2.500000 +v -0.000000 -0.724445 1.750000 +v -0.362223 -0.627387 -2.500000 +v -0.362223 -0.627388 1.750000 +v -0.627388 -0.362221 -2.500000 +v -0.627388 -0.362222 1.750000 +v -0.724445 0.000001 -2.500000 +v -0.724445 0.000000 1.750000 +v -0.627388 0.362224 -2.500000 +v -0.627388 0.362223 1.750000 +v -0.362222 0.627389 -2.500000 +v -0.362222 0.627388 1.750000 +v -0.000000 0.724446 -2.500000 +v -0.000000 0.724445 1.750000 +v 0.362222 0.627389 -2.500000 +v 0.362222 0.627388 1.750000 +v 0.627388 0.362224 -2.500000 +v 0.627388 0.362223 1.750000 +v 0.724445 0.000001 -2.500000 +v 0.724445 0.000000 1.750000 +v 0.627388 -0.362221 -2.500000 +v 0.627388 -0.362222 1.750000 +v 0.362223 -0.627387 -2.500000 +v 0.362223 -0.627387 1.750000 +v -0.241482 -0.418258 2.000000 +v -0.000000 -0.482963 2.000000 +v -0.418258 -0.241482 2.000000 +v -0.482963 0.000000 2.000000 +v -0.418258 0.241482 2.000000 +v -0.241482 0.418259 2.000000 +v -0.000000 0.482963 2.000000 +v 0.241482 0.418259 2.000000 +v 0.418258 0.241482 2.000000 +v 0.482963 0.000000 2.000000 +v 0.418259 -0.241481 2.000000 +v 0.241482 -0.418258 2.000000 +v 0.574524 -0.530329 -2.624999 +v 0.839690 -0.795494 -2.624999 +v 0.640816 -0.464038 -3.374999 +v 0.905981 -0.729203 -3.374999 +v 0.530330 -0.574524 -2.624999 +v 0.795496 -0.839688 -2.624999 +v 0.464039 -0.640815 -3.374999 +v 0.729204 -0.905980 -3.374999 +v 0.662913 -0.441941 -2.687499 +v 0.751301 -0.530329 -2.687499 +v 0.662913 -0.441941 -2.749999 +v 0.751301 -0.530329 -2.749999 +v 0.441942 -0.662912 -2.687499 +v 0.530330 -0.751300 -2.687499 +v 0.441942 -0.662912 -2.749999 +v 0.530330 -0.751300 -2.749999 +v 0.662913 -0.441941 -2.812499 +v 0.751301 -0.530329 -2.812499 +v 0.662913 -0.441941 -2.874999 +v 0.751301 -0.530329 -2.874999 +v 0.441942 -0.662912 -2.812499 +v 0.530330 -0.751300 -2.812499 +v 0.441942 -0.662912 -2.874999 +v 0.530330 -0.751300 -2.874999 +v -0.530330 -0.574523 -2.624998 +v -0.795495 -0.839689 -2.624998 +v -0.464039 -0.640814 -3.374998 +v -0.729204 -0.905980 -3.374999 +v -0.574525 -0.530329 -2.624998 +v -0.839690 -0.795494 -2.624998 +v -0.640816 -0.464038 -3.374998 +v -0.905981 -0.729203 -3.374998 +v -0.441942 -0.662912 -2.687498 +v -0.530330 -0.751300 -2.687498 +v -0.441942 -0.662912 -2.749998 +v -0.530330 -0.751300 -2.749998 +v -0.662913 -0.441941 -2.687498 +v -0.751301 -0.530329 -2.687498 +v -0.662913 -0.441941 -2.749998 +v -0.751301 -0.530329 -2.749998 +v -0.441942 -0.662912 -2.812498 +v -0.530330 -0.751300 -2.812498 +v -0.441942 -0.662912 -2.874998 +v -0.530330 -0.751300 -2.874998 +v -0.662913 -0.441941 -2.812498 +v -0.751301 -0.530329 -2.812498 +v -0.662913 -0.441941 -2.874998 +v -0.751301 -0.530329 -2.874998 +v -0.574524 0.530331 -2.624998 +v -0.839690 0.795496 -2.624998 +v -0.640816 0.464040 -3.374998 +v -0.905981 0.729206 -3.374998 +v -0.530330 0.574526 -2.624998 +v -0.795495 0.839691 -2.624998 +v -0.464039 0.640817 -3.374998 +v -0.729204 0.905982 -3.374997 +v -0.662913 0.441943 -2.687498 +v -0.751301 0.530331 -2.687498 +v -0.662913 0.441943 -2.749998 +v -0.751301 0.530331 -2.749998 +v -0.441942 0.662914 -2.687498 +v -0.530330 0.751302 -2.687498 +v -0.441942 0.662914 -2.749998 +v -0.530330 0.751302 -2.749998 +v -0.662913 0.441943 -2.812498 +v -0.751301 0.530331 -2.812498 +v -0.662913 0.441943 -2.874998 +v -0.751301 0.530332 -2.874998 +v -0.441942 0.662914 -2.812498 +v -0.530330 0.751302 -2.812498 +v -0.441942 0.662914 -2.874998 +v -0.530330 0.751302 -2.874998 +v 0.530330 0.574525 -2.624997 +v 0.795496 0.839691 -2.624997 +v 0.464039 0.640817 -3.374997 +v 0.729204 0.905982 -3.374997 +v 0.574525 0.530331 -2.624997 +v 0.839690 0.795496 -2.624997 +v 0.640816 0.464040 -3.374997 +v 0.905981 0.729205 -3.374997 +v 0.441942 0.662914 -2.687497 +v 0.530330 0.751302 -2.687497 +v 0.441942 0.662914 -2.749997 +v 0.530330 0.751302 -2.749997 +v 0.662913 0.441943 -2.687497 +v 0.751301 0.530331 -2.687497 +v 0.662913 0.441943 -2.749997 +v 0.751301 0.530331 -2.749997 +v 0.441942 0.662914 -2.812497 +v 0.530330 0.751302 -2.812497 +v 0.441942 0.662914 -2.874997 +v 0.530331 0.751302 -2.874997 +v 0.662913 0.441943 -2.812497 +v 0.751301 0.530331 -2.812497 +v 0.662913 0.441943 -2.874997 +v 0.751301 0.530331 -2.874997 +v 0.031250 -0.639213 1.937500 +v -0.031250 -0.639213 1.937500 +v 0.031250 -0.639213 1.812500 +v -0.031250 -0.639213 1.812500 +v 0.031250 -0.576713 1.937500 +v -0.031250 -0.576713 1.937500 +v 0.031250 -0.576713 1.812500 +v -0.031250 -0.576713 1.812500 +v -0.537950 -0.346670 1.937500 +v -0.569200 -0.292543 1.937500 +v -0.537950 -0.346670 1.812500 +v -0.569200 -0.292543 1.812500 +v -0.483823 -0.315420 1.937500 +v -0.515073 -0.261294 1.937500 +v -0.483823 -0.315420 1.812500 +v -0.515073 -0.261293 1.812500 +v -0.569200 0.292543 1.937500 +v -0.537950 0.346670 1.937500 +v -0.569200 0.292543 1.812500 +v -0.537950 0.346670 1.812500 +v -0.515073 0.261293 1.937500 +v -0.483824 0.315420 1.937500 +v -0.515073 0.261293 1.812500 +v -0.483824 0.315420 1.812500 +v -0.031250 0.639213 1.937500 +v 0.031250 0.639213 1.937500 +v -0.031250 0.639213 1.812500 +v 0.031250 0.639213 1.812500 +v -0.031250 0.576713 1.937500 +v 0.031250 0.576714 1.937500 +v -0.031250 0.576713 1.812500 +v 0.031250 0.576714 1.812500 +v 0.537950 0.346670 1.937500 +v 0.569200 0.292544 1.937500 +v 0.537950 0.346670 1.812500 +v 0.569200 0.292544 1.812500 +v 0.483823 0.315420 1.937500 +v 0.515073 0.261294 1.937500 +v 0.483823 0.315420 1.812500 +v 0.515073 0.261294 1.812500 +v 0.569200 -0.292543 1.937500 +v 0.537950 -0.346670 1.937500 +v 0.569200 -0.292543 1.812500 +v 0.537950 -0.346670 1.812500 +v 0.515073 -0.261293 1.937500 +v 0.483824 -0.315420 1.937500 +v 0.515073 -0.261293 1.812500 +v 0.483824 -0.315420 1.812500 +v -0.000000 -0.715776 -1.000000 +v -0.357888 -0.619880 -1.000000 +v -0.619880 -0.357887 -1.000000 +v -0.715776 0.000001 -1.000000 +v -0.619880 0.357889 -1.000000 +v -0.357888 0.619881 -1.000000 +v -0.000000 0.715777 -1.000000 +v 0.357888 0.619881 -1.000000 +v 0.619880 0.357889 -1.000000 +v 0.715776 0.000001 -1.000000 +v 0.619881 -0.357887 -1.000000 +v 0.357888 -0.619879 -1.000000 +v -0.000000 -0.715776 -1.125000 +v -0.357888 -0.619880 -1.125000 +v -0.619880 -0.357887 -1.125000 +v -0.715776 0.000001 -1.125000 +v -0.619880 0.357889 -1.125000 +v -0.357888 0.619881 -1.125000 +v -0.000000 0.715777 -1.125000 +v 0.357888 0.619881 -1.125000 +v 0.619880 0.357889 -1.125000 +v 0.715776 0.000001 -1.125000 +v 0.619881 -0.357887 -1.125000 +v 0.357888 -0.619879 -1.125000 +v -0.000000 -0.715776 1.000000 +v -0.357888 -0.619880 1.000000 +v -0.619880 -0.357888 1.000000 +v -0.715776 0.000000 1.000000 +v -0.619880 0.357889 1.000000 +v -0.357888 0.619881 1.000000 +v -0.000000 0.715776 1.000000 +v 0.357888 0.619881 1.000000 +v 0.619880 0.357889 1.000000 +v 0.715776 0.000001 1.000000 +v 0.619881 -0.357888 1.000000 +v 0.357888 -0.619880 1.000000 +v -0.000000 -0.715776 0.875000 +v -0.357888 -0.619880 0.875000 +v -0.619880 -0.357888 0.875000 +v -0.715776 0.000000 0.875000 +v -0.619880 0.357889 0.875000 +v -0.357888 0.619881 0.875000 +v -0.000000 0.715777 0.875000 +v 0.357888 0.619881 0.875000 +v 0.619880 0.357889 0.875000 +v 0.715776 0.000001 0.875000 +v 0.619881 -0.357887 0.875000 +v 0.357888 -0.619880 0.875000 +v -0.000000 -0.715775 -2.500000 +v -0.357888 -0.619879 -2.500000 +v -0.619880 -0.357887 -2.500000 +v -0.715776 0.000001 -2.500000 +v -0.619880 0.357889 -2.500000 +v -0.357888 0.619882 -2.500000 +v -0.000000 0.715777 -2.500000 +v 0.357888 0.619882 -2.500000 +v 0.619880 0.357889 -2.500000 +v 0.715776 0.000001 -2.500000 +v 0.619881 -0.357887 -2.500000 +v 0.357888 -0.619879 -2.500000 +v -0.000000 -0.715775 -3.500000 +v -0.357888 -0.619879 -3.500000 +v -0.619880 -0.357887 -3.500000 +v -0.715776 0.000001 -3.500000 +v -0.619880 0.357890 -3.500000 +v -0.357888 0.619882 -3.500000 +v -0.000000 0.715777 -3.500000 +v 0.357888 0.619882 -3.500000 +v 0.619880 0.357890 -3.500000 +v 0.715776 0.000002 -3.500000 +v 0.619881 -0.357887 -3.500000 +v 0.357888 -0.619879 -3.500000 +v -0.000000 -0.845185 -3.500000 +v -0.422593 -0.731951 -3.500000 +v -0.731952 -0.422592 -3.500000 +v -0.845186 0.000001 -3.500000 +v -0.731952 0.422594 -3.500000 +v -0.422593 0.731954 -3.500000 +v 0.000000 0.845187 -3.500000 +v 0.422593 0.731954 -3.500000 +v 0.731952 0.422594 -3.500000 +v 0.845186 0.000002 -3.500000 +v 0.731953 -0.422591 -3.500000 +v 0.422593 -0.731951 -3.500000 +v -0.000000 -0.715775 -3.000000 +v -0.357888 -0.619879 -3.000000 +v -0.619880 -0.357887 -3.000000 +v -0.715776 0.000001 -3.000000 +v -0.619880 0.357889 -3.000000 +v -0.357888 0.619882 -3.000000 +v 0.000000 0.715777 -3.000000 +v 0.357888 0.619882 -3.000000 +v 0.619880 0.357889 -3.000000 +v 0.715776 0.000001 -3.000000 +v 0.619881 -0.357887 -3.000000 +v 0.357889 -0.619879 -3.000000 +v -0.000000 -0.845185 -1.000000 +v -0.422593 -0.731952 -1.000000 +v -0.731952 -0.422592 -1.000000 +v -0.845186 0.000001 -1.000000 +v -0.731952 0.422594 -1.000000 +v -0.422593 0.731953 -1.000000 +v -0.000000 0.845186 -1.000000 +v 0.422593 0.731953 -1.000000 +v 0.731952 0.422594 -1.000000 +v 0.845186 0.000001 -1.000000 +v 0.731953 -0.422592 -1.000000 +v 0.422593 -0.731951 -1.000000 +v -0.000000 -0.845185 -1.125000 +v -0.422593 -0.731952 -1.125000 +v -0.731952 -0.422592 -1.125000 +v -0.845186 0.000001 -1.125000 +v -0.731952 0.422594 -1.125000 +v -0.422593 0.731953 -1.125000 +v 0.000000 0.845186 -1.125000 +v 0.422593 0.731953 -1.125000 +v 0.731952 0.422594 -1.125000 +v 0.845186 0.000001 -1.125000 +v 0.731953 -0.422592 -1.125000 +v 0.422593 -0.731951 -1.125000 +v -0.000000 -0.845186 1.000000 +v -0.422593 -0.731952 1.000000 +v -0.731952 -0.422593 1.000000 +v -0.845186 0.000000 1.000000 +v -0.731952 0.422593 1.000000 +v -0.422593 0.731953 1.000000 +v -0.000000 0.845186 1.000000 +v 0.422593 0.731953 1.000000 +v 0.731952 0.422593 1.000000 +v 0.845186 0.000001 1.000000 +v 0.731953 -0.422592 1.000000 +v 0.422593 -0.731952 1.000000 +v -0.000000 -0.845186 0.875000 +v -0.422593 -0.731952 0.875000 +v -0.731952 -0.422592 0.875000 +v -0.845186 0.000000 0.875000 +v -0.731952 0.422593 0.875000 +v -0.422593 0.731953 0.875000 +v 0.000000 0.845186 0.875000 +v 0.422593 0.731953 0.875000 +v 0.731952 0.422593 0.875000 +v 0.845186 0.000001 0.875000 +v 0.731953 -0.422592 0.875000 +v 0.422593 -0.731952 0.875000 +v -0.000000 -0.845185 -2.500000 +v -0.422593 -0.731951 -2.500000 +v -0.731952 -0.422592 -2.500000 +v -0.845186 0.000001 -2.500000 +v -0.731952 0.422594 -2.500000 +v -0.422593 0.731954 -2.500000 +v -0.000000 0.845187 -2.500000 +v 0.422593 0.731953 -2.500000 +v 0.731952 0.422594 -2.500000 +v 0.845186 0.000001 -2.500000 +v 0.731953 -0.422591 -2.500000 +v 0.422593 -0.731951 -2.500000 +vt 0.909091 0.720930 +vt 0.973262 0.790698 +vt 0.909091 0.790698 +vt 0.994652 0.604651 +vt 0.973262 0.674419 +vt 0.973262 0.604651 +vt 0.909091 0.604651 +vt 0.903743 0.720930 +vt 0.903743 0.790698 +vt 0.973262 0.720930 +vt 0.909091 0.691860 +vt 0.898396 0.686046 +vt 0.893048 0.662791 +vt 0.898396 0.662791 +vt 0.866310 0.686046 +vt 0.866310 0.662791 +vt 0.860963 0.697674 +vt 0.866310 0.720930 +vt 0.860963 0.720930 +vt 0.893048 0.697674 +vt 0.893048 0.720930 +vt 0.893048 0.686046 +vt 0.866310 0.697674 +vt 0.898396 0.755814 +vt 0.893048 0.732558 +vt 0.898396 0.732558 +vt 0.893048 0.755814 +vt 0.866310 0.732558 +vt 0.860963 0.790698 +vt 0.866310 0.767442 +vt 0.866310 0.790698 +vt 0.893048 0.790698 +vt 0.866310 0.755814 +vt 0.909091 0.523256 +vt 0.973262 0.593023 +vt 0.909091 0.593023 +vt 0.994652 0.476744 +vt 0.973262 0.406977 +vt 0.994652 0.406977 +vt 0.909091 0.476744 +vt 0.909091 0.406977 +vt 0.903743 0.523256 +vt 0.903743 0.593023 +vt 0.973262 0.523256 +vt 0.909091 0.494186 +vt 0.973262 0.476744 +vt 0.898396 0.488372 +vt 0.893048 0.465116 +vt 0.898396 0.465116 +vt 0.893048 0.488372 +vt 0.866310 0.465116 +vt 0.860963 0.523256 +vt 0.866310 0.500000 +vt 0.866310 0.523256 +vt 0.893048 0.523256 +vt 0.866310 0.488372 +vt 0.898396 0.558140 +vt 0.893048 0.534884 +vt 0.898396 0.534884 +vt 0.893048 0.558140 +vt 0.866310 0.534884 +vt 0.860963 0.593023 +vt 0.866310 0.569767 +vt 0.866310 0.593023 +vt 0.893048 0.569767 +vt 0.893048 0.593023 +vt 0.866310 0.558140 +vt 0.909091 0.325581 +vt 0.973262 0.395349 +vt 0.909091 0.395349 +vt 0.994652 0.279070 +vt 0.973262 0.209302 +vt 0.994652 0.209302 +vt 0.973262 0.279070 +vt 0.909091 0.209302 +vt 0.903743 0.325581 +vt 0.903743 0.395349 +vt 0.973262 0.325581 +vt 0.909091 0.296512 +vt 0.898396 0.290698 +vt 0.893048 0.267442 +vt 0.898396 0.267442 +vt 0.893048 0.290698 +vt 0.866310 0.267442 +vt 0.860963 0.302326 +vt 0.866310 0.325581 +vt 0.860963 0.325581 +vt 0.866310 0.302326 +vt 0.893048 0.325581 +vt 0.866310 0.290698 +vt 0.898396 0.360465 +vt 0.893048 0.337209 +vt 0.898396 0.337209 +vt 0.893048 0.360465 +vt 0.866310 0.337209 +vt 0.860963 0.372093 +vt 0.866310 0.395349 +vt 0.860963 0.395349 +vt 0.893048 0.372093 +vt 0.893048 0.395349 +vt 0.866310 0.372093 +vt 0.866310 0.360465 +vt 0.909091 0.918605 +vt 0.973262 0.988372 +vt 0.909091 0.988372 +vt 0.994652 0.802326 +vt 0.973262 0.872093 +vt 0.973262 0.802326 +vt 0.909091 0.802326 +vt 0.903743 0.918605 +vt 0.903743 0.988372 +vt 0.973262 0.918605 +vt 0.909091 0.889535 +vt 0.898396 0.883721 +vt 0.893048 0.860465 +vt 0.898396 0.860465 +vt 0.893048 0.883721 +vt 0.866310 0.860465 +vt 0.860963 0.895349 +vt 0.866310 0.918605 +vt 0.860963 0.918605 +vt 0.866310 0.895349 +vt 0.893048 0.918605 +vt 0.866310 0.883721 +vt 0.898396 0.953488 +vt 0.893048 0.930233 +vt 0.898396 0.930233 +vt 0.893048 0.953488 +vt 0.866310 0.930233 +vt 0.860963 0.988372 +vt 0.866310 0.965116 +vt 0.866310 0.988372 +vt 0.893048 0.965116 +vt 0.893048 0.988372 +vt 0.866310 0.953488 +vt 0.834225 0.639535 +vt 0.839572 0.616279 +vt 0.839572 0.639535 +vt 0.850267 0.616279 +vt 0.844920 0.639535 +vt 0.844920 0.616279 +vt 0.834225 0.651163 +vt 0.839572 0.651163 +vt 0.834225 0.616279 +vt 0.828877 0.639535 +vt 0.828877 0.616279 +vt 0.834225 0.593023 +vt 0.839572 0.569767 +vt 0.839572 0.593023 +vt 0.850267 0.569767 +vt 0.844920 0.593023 +vt 0.844920 0.569767 +vt 0.834225 0.604651 +vt 0.839572 0.604651 +vt 0.834225 0.569767 +vt 0.828877 0.593023 +vt 0.828877 0.569767 +vt 0.834225 0.546512 +vt 0.839572 0.523256 +vt 0.839572 0.546512 +vt 0.850267 0.523256 +vt 0.844920 0.546512 +vt 0.844920 0.523256 +vt 0.834225 0.558140 +vt 0.839572 0.558140 +vt 0.834225 0.523256 +vt 0.828877 0.546512 +vt 0.828877 0.523256 +vt 0.834225 0.500000 +vt 0.839572 0.476744 +vt 0.839572 0.500000 +vt 0.850267 0.476744 +vt 0.844920 0.500000 +vt 0.844920 0.476744 +vt 0.834225 0.511628 +vt 0.839572 0.511628 +vt 0.828877 0.476744 +vt 0.828877 0.500000 +vt 0.834225 0.453488 +vt 0.839572 0.430233 +vt 0.839572 0.453488 +vt 0.850267 0.430233 +vt 0.844920 0.453488 +vt 0.844920 0.430233 +vt 0.834225 0.465116 +vt 0.839572 0.465116 +vt 0.834225 0.430233 +vt 0.828877 0.453488 +vt 0.828877 0.430233 +vt 0.834225 0.686047 +vt 0.839572 0.662791 +vt 0.839572 0.686047 +vt 0.850267 0.662791 +vt 0.844920 0.686047 +vt 0.844920 0.662791 +vt 0.834225 0.697674 +vt 0.839572 0.697674 +vt 0.828877 0.662791 +vt 0.828877 0.686047 +vt 0.679144 0.982558 +vt 0.668449 0.906977 +vt 0.679144 0.912791 +vt 0.679144 0.901163 +vt 0.668449 0.825581 +vt 0.679144 0.831395 +vt 0.679144 0.750000 +vt 0.668449 0.744186 +vt 0.679144 0.738372 +vt 0.668449 0.662791 +vt 0.679144 0.668605 +vt 0.679144 0.656977 +vt 0.668449 0.581395 +vt 0.679144 0.587209 +vt 0.679144 0.575581 +vt 0.668449 0.500000 +vt 0.679144 0.505814 +vt 0.679144 0.424419 +vt 0.668449 0.418605 +vt 0.679144 0.412791 +vt 0.668449 0.337209 +vt 0.679144 0.343023 +vt 0.679144 0.331395 +vt 0.668449 0.255814 +vt 0.679144 0.261628 +vt 0.679144 0.180233 +vt 0.668449 0.174419 +vt 0.679144 0.168605 +vt 0.668449 0.093023 +vt 0.679144 0.098837 +vt 0.679144 0.087209 +vt 0.668449 0.011628 +vt 0.679144 0.017442 +vt 0.854372 0.855140 +vt 0.763956 0.968649 +vt 0.763956 0.741632 +vt 0.534759 0.982558 +vt 0.545455 0.906977 +vt 0.545455 0.988372 +vt 0.534759 0.831395 +vt 0.534759 0.901163 +vt 0.534759 0.750000 +vt 0.545455 0.825581 +vt 0.534759 0.819767 +vt 0.534759 0.668605 +vt 0.545455 0.744186 +vt 0.534759 0.738372 +vt 0.534759 0.587209 +vt 0.545455 0.662791 +vt 0.534759 0.656977 +vt 0.534759 0.575581 +vt 0.545455 0.500000 +vt 0.545455 0.581395 +vt 0.534759 0.424419 +vt 0.534759 0.494186 +vt 0.534759 0.343023 +vt 0.545455 0.418605 +vt 0.534759 0.412791 +vt 0.534759 0.261628 +vt 0.545455 0.337209 +vt 0.534759 0.331395 +vt 0.534759 0.250000 +vt 0.545455 0.174419 +vt 0.545455 0.255814 +vt 0.534759 0.168605 +vt 0.545455 0.093023 +vt 0.534759 0.017442 +vt 0.534759 0.087209 +vt 0.566845 0.982558 +vt 0.556150 0.906977 +vt 0.566845 0.912791 +vt 0.566845 0.901163 +vt 0.556150 0.825581 +vt 0.566845 0.831395 +vt 0.566845 0.819767 +vt 0.556150 0.744186 +vt 0.566845 0.750000 +vt 0.566845 0.738372 +vt 0.556150 0.662791 +vt 0.566845 0.668605 +vt 0.566845 0.587209 +vt 0.556150 0.581395 +vt 0.566845 0.575581 +vt 0.556150 0.500000 +vt 0.566845 0.505814 +vt 0.566845 0.424419 +vt 0.556150 0.418605 +vt 0.566845 0.412791 +vt 0.556150 0.337209 +vt 0.566845 0.343023 +vt 0.566845 0.331395 +vt 0.556150 0.255814 +vt 0.566845 0.261628 +vt 0.566845 0.250000 +vt 0.556150 0.174419 +vt 0.566845 0.180233 +vt 0.566845 0.168605 +vt 0.556150 0.093023 +vt 0.566845 0.098837 +vt 0.566845 0.017442 +vt 0.556150 0.011628 +vt 0.497326 0.982558 +vt 0.508021 0.906977 +vt 0.508021 0.988372 +vt 0.497326 0.831395 +vt 0.497326 0.901163 +vt 0.497326 0.750000 +vt 0.508021 0.825581 +vt 0.497326 0.819767 +vt 0.497326 0.738372 +vt 0.508021 0.662791 +vt 0.508021 0.744186 +vt 0.497326 0.587209 +vt 0.497326 0.656977 +vt 0.497326 0.575581 +vt 0.508021 0.500000 +vt 0.508021 0.581395 +vt 0.497326 0.424419 +vt 0.497326 0.494186 +vt 0.497326 0.343023 +vt 0.508021 0.418605 +vt 0.497326 0.412791 +vt 0.497326 0.331395 +vt 0.508021 0.255814 +vt 0.508021 0.337209 +vt 0.497326 0.180233 +vt 0.497326 0.250000 +vt 0.497326 0.168605 +vt 0.508021 0.093023 +vt 0.508021 0.174419 +vt 0.497326 0.087209 +vt 0.508021 0.011628 +vt 0.529412 0.982558 +vt 0.518717 0.906977 +vt 0.529412 0.912791 +vt 0.529412 0.901163 +vt 0.518717 0.825581 +vt 0.529412 0.831395 +vt 0.529412 0.819767 +vt 0.518717 0.744186 +vt 0.529412 0.750000 +vt 0.529412 0.738372 +vt 0.518717 0.662791 +vt 0.529412 0.668605 +vt 0.529412 0.587209 +vt 0.518717 0.581395 +vt 0.529412 0.575581 +vt 0.518717 0.500000 +vt 0.529412 0.505814 +vt 0.529412 0.494186 +vt 0.518717 0.418605 +vt 0.529412 0.424419 +vt 0.529412 0.412791 +vt 0.518717 0.337209 +vt 0.529412 0.343023 +vt 0.529412 0.331395 +vt 0.518717 0.255814 +vt 0.529412 0.261628 +vt 0.529412 0.250000 +vt 0.518717 0.174419 +vt 0.529412 0.180233 +vt 0.529412 0.168605 +vt 0.518717 0.093023 +vt 0.529412 0.098837 +vt 0.529412 0.017442 +vt 0.518717 0.011628 +vt 0.572192 0.982558 +vt 0.582888 0.906977 +vt 0.582888 0.988372 +vt 0.572192 0.831395 +vt 0.572192 0.901163 +vt 0.572192 0.750000 +vt 0.582888 0.825581 +vt 0.572192 0.819767 +vt 0.572192 0.668605 +vt 0.582888 0.744186 +vt 0.572192 0.738372 +vt 0.572192 0.587209 +vt 0.582888 0.662791 +vt 0.572192 0.656977 +vt 0.572192 0.575581 +vt 0.582888 0.500000 +vt 0.582888 0.581395 +vt 0.572192 0.424419 +vt 0.572192 0.494186 +vt 0.572192 0.343023 +vt 0.582888 0.418605 +vt 0.572192 0.412791 +vt 0.572192 0.261628 +vt 0.582888 0.337209 +vt 0.572192 0.331395 +vt 0.572192 0.250000 +vt 0.582888 0.174419 +vt 0.582888 0.255814 +vt 0.572192 0.168605 +vt 0.582888 0.093023 +vt 0.572192 0.087209 +vt 0.582888 0.011628 +vt 0.994652 0.674419 +vt 0.909091 0.674419 +vt 0.909091 0.703488 +vt 0.860963 0.767442 +vt 0.893048 0.767442 +vt 0.909091 0.505814 +vt 0.860963 0.500000 +vt 0.893048 0.500000 +vt 0.860963 0.569767 +vt 0.909091 0.279070 +vt 0.909091 0.308140 +vt 0.893048 0.302326 +vt 0.994652 0.872093 +vt 0.909091 0.872093 +vt 0.909091 0.901163 +vt 0.893048 0.895349 +vt 0.860963 0.965116 +vt 0.850267 0.639535 +vt 0.850267 0.593023 +vt 0.850267 0.546512 +vt 0.834225 0.476744 +vt 0.850267 0.500000 +vt 0.850267 0.453488 +vt 0.834225 0.662791 +vt 0.850267 0.686047 +vt 0.668449 0.988372 +vt 0.679144 0.819767 +vt 0.679144 0.494186 +vt 0.679144 0.250000 +vt 0.794095 0.724072 +vt 0.824233 0.741632 +vt 0.846296 0.789606 +vt 0.846296 0.920674 +vt 0.824233 0.968649 +vt 0.794095 0.986208 +vt 0.741893 0.920674 +vt 0.733817 0.855140 +vt 0.741893 0.789606 +vt 0.534759 0.912791 +vt 0.534759 0.505814 +vt 0.534759 0.180233 +vt 0.534759 0.098837 +vt 0.545455 0.011628 +vt 0.556150 0.988372 +vt 0.566845 0.656977 +vt 0.566845 0.494186 +vt 0.566845 0.087209 +vt 0.497326 0.912791 +vt 0.497326 0.668605 +vt 0.497326 0.505814 +vt 0.497326 0.261628 +vt 0.497326 0.098837 +vt 0.497326 0.017442 +vt 0.518717 0.988372 +vt 0.529412 0.656977 +vt 0.529412 0.087209 +vt 0.572192 0.912791 +vt 0.572192 0.505814 +vt 0.572192 0.180233 +vt 0.572192 0.098837 +vt 0.572192 0.017442 +vt 0.037433 0.988372 +vt 0.401070 0.918605 +vt 0.401070 0.988372 +vt 0.037433 0.918605 +vt 0.401070 0.848837 +vt 0.037433 0.848837 +vt 0.401070 0.779070 +vt 0.037433 0.779070 +vt 0.401070 0.709302 +vt 0.037433 0.639535 +vt 0.401070 0.639535 +vt 0.401070 0.569767 +vt 0.037433 0.500000 +vt 0.401070 0.500000 +vt 0.401070 0.430233 +vt 0.037433 0.430233 +vt 0.401070 0.360465 +vt 0.037433 0.360465 +vt 0.401070 0.290698 +vt 0.005348 0.581395 +vt 0.037433 0.569767 +vt 0.037433 0.290698 +vt 0.401070 0.220930 +vt 0.037433 0.220930 +vt 0.401070 0.151163 +vt 0.037433 0.709302 +vt 0.005348 0.651163 +vt 0.005348 0.720930 +vt 0.037433 0.151163 +vt 0.005348 0.209302 +vt 0.005348 0.162791 +vt 0.005348 0.930233 +vt 0.005348 0.790698 +vt 0.005348 0.279070 +vt 0.005348 0.232558 +vt 0.005348 0.860465 +vt 0.005348 0.302326 +vt 0.005348 0.372093 +vt 0.005348 0.441860 +vt 0.005348 0.511628 +vt 0.449231 0.987503 +vt 0.412805 0.941775 +vt 0.412805 0.850318 +vt 0.684492 0.639535 +vt 0.727273 0.709302 +vt 0.684492 0.709302 +vt 0.684492 0.220930 +vt 0.727273 0.151163 +vt 0.727273 0.220930 +vt 0.684492 0.848837 +vt 0.727273 0.918605 +vt 0.684492 0.918605 +vt 0.684492 0.360465 +vt 0.727273 0.430233 +vt 0.684492 0.430233 +vt 0.684492 0.569767 +vt 0.727273 0.639535 +vt 0.684492 0.779070 +vt 0.727273 0.848837 +vt 0.684492 0.290698 +vt 0.727273 0.360465 +vt 0.684492 0.500000 +vt 0.727273 0.569767 +vt 0.727273 0.779070 +vt 0.727273 0.290698 +vt 0.727273 0.988372 +vt 0.684492 0.988372 +vt 0.727273 0.500000 +vt 0.005348 0.627907 +vt 0.005348 0.697674 +vt 0.005348 0.767442 +vt 0.005348 0.976744 +vt 0.005348 0.837209 +vt 0.005348 0.906977 +vt 0.005348 0.348837 +vt 0.005348 0.418605 +vt 0.005348 0.488372 +vt 0.005348 0.558140 +vt 0.428200 0.816843 +vt 0.449230 0.804590 +vt 0.470261 0.816843 +vt 0.485656 0.850318 +vt 0.491291 0.896047 +vt 0.485656 0.941775 +vt 0.470261 0.975250 +vt 0.428200 0.975250 +vt 0.407170 0.896046 +vt 0.684492 0.151163 +vn 0.7016 0.7016 0.1240 +vn 0.0000 0.0000 -1.0000 +vn -0.7016 -0.7016 0.1240 +vn 0.0000 0.0000 1.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 -0.7071 -0.0000 +vn 0.7016 -0.7016 0.1240 +vn -0.7016 0.7016 0.1240 +vn -0.7071 0.7071 0.0000 +vn 0.0000 -1.0000 -0.0000 +vn -0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.8660 -0.5000 -0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn -0.8660 0.5000 -0.0000 +vn 0.8660 -0.5000 -0.0000 +vn -0.5000 -0.8660 -0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.3596 0.6229 0.6947 +vn 0.0000 0.7193 0.6947 +vn -0.6229 0.3596 0.6947 +vn -0.7193 0.0000 0.6947 +vn 0.0000 -0.7193 0.6947 +vn 0.3596 -0.6229 0.6947 +vn -0.3596 -0.6229 0.6947 +vn -0.6229 -0.3596 0.6947 +vn 0.6229 -0.3596 0.6947 +vn 0.7193 0.0000 0.6947 +vn 0.6229 0.3596 0.6947 +vn 0.3596 0.6229 0.6947 +usemtl None +s off +f 38/1/1 39/2/1 37/3/1 +f 39/4/2 44/5/2 43/6/2 +f 44/5/3 41/7/3 43/6/3 +f 42/8/4 37/3/4 41/9/4 +f 40/10/5 42/11/5 44/5/5 +f 46/12/6 47/13/6 45/14/6 +f 47/13/2 52/15/2 51/16/2 +f 52/17/7 49/18/7 51/19/7 +f 49/18/4 46/20/4 45/21/4 +f 48/22/5 50/23/5 52/15/5 +f 54/24/6 55/25/6 53/26/6 +f 56/27/2 59/28/2 55/25/2 +f 59/29/7 58/30/7 57/31/7 +f 58/30/4 53/32/4 57/31/4 +f 56/27/5 58/30/5 60/33/5 +f 62/34/8 63/35/8 61/36/8 +f 64/37/2 67/38/2 63/39/2 +f 67/38/9 66/40/9 65/41/9 +f 66/42/4 61/36/4 65/43/4 +f 64/44/7 66/45/7 68/46/7 +f 70/47/5 71/48/5 69/49/5 +f 72/50/2 75/51/2 71/48/2 +f 75/52/10 74/53/10 73/54/10 +f 74/53/4 69/55/4 73/54/4 +f 72/50/7 74/53/7 76/56/7 +f 78/57/5 79/58/5 77/59/5 +f 80/60/2 83/61/2 79/58/2 +f 83/62/10 82/63/10 81/64/10 +f 81/64/4 78/65/4 77/66/4 +f 80/60/7 82/63/7 84/67/7 +f 86/68/3 87/69/3 85/70/3 +f 88/71/2 91/72/2 87/73/2 +f 92/74/1 89/75/1 91/72/1 +f 90/76/4 85/70/4 89/77/4 +f 88/78/10 90/79/10 92/74/10 +f 94/80/7 95/81/7 93/82/7 +f 96/83/2 99/84/2 95/81/2 +f 100/85/6 97/86/6 99/87/6 +f 98/88/4 93/89/4 97/86/4 +f 96/83/10 98/88/10 100/90/10 +f 102/91/7 103/92/7 101/93/7 +f 104/94/2 107/95/2 103/92/2 +f 108/96/6 105/97/6 107/98/6 +f 105/97/4 102/99/4 101/100/4 +f 104/94/10 106/101/10 108/102/10 +f 110/103/9 111/104/9 109/105/9 +f 111/106/2 116/107/2 115/108/2 +f 116/107/8 113/109/8 115/108/8 +f 114/110/4 109/105/4 113/111/4 +f 112/112/6 114/113/6 116/107/6 +f 118/114/10 119/115/10 117/116/10 +f 120/117/2 123/118/2 119/115/2 +f 124/119/5 121/120/5 123/121/5 +f 122/122/4 117/123/4 121/120/4 +f 120/117/6 122/122/6 124/124/6 +f 126/125/10 127/126/10 125/127/10 +f 128/128/2 131/129/2 127/126/2 +f 131/130/5 130/131/5 129/132/5 +f 129/132/4 126/133/4 125/134/4 +f 128/128/6 130/131/6 132/135/6 +f 134/136/11 135/137/11 133/138/11 +f 140/139/12 137/140/12 139/141/12 +f 138/142/4 133/138/4 137/143/4 +f 139/141/13 133/138/13 135/137/13 +f 136/144/14 138/145/14 140/146/14 +f 142/147/15 143/148/15 141/149/15 +f 148/150/16 145/151/16 147/152/16 +f 146/153/4 141/149/4 145/154/4 +f 147/152/17 141/149/17 143/148/17 +f 144/155/18 146/156/18 148/157/18 +f 150/158/19 151/159/19 149/160/19 +f 156/161/20 153/162/20 155/163/20 +f 154/164/4 149/160/4 153/165/4 +f 155/163/21 149/160/21 151/159/21 +f 152/166/22 154/167/22 156/168/22 +f 158/169/12 159/170/12 157/171/12 +f 164/172/11 161/173/11 163/174/11 +f 162/175/4 157/171/4 161/176/4 +f 159/170/14 161/173/14 157/171/14 +f 164/177/13 158/169/13 162/178/13 +f 166/179/16 167/180/16 165/181/16 +f 172/182/15 169/183/15 171/184/15 +f 170/185/4 165/181/4 169/186/4 +f 171/184/18 165/181/18 167/180/18 +f 168/187/17 170/188/17 172/189/17 +f 174/190/20 175/191/20 173/192/20 +f 180/193/19 177/194/19 179/195/19 +f 178/196/4 173/192/4 177/197/4 +f 179/195/22 173/192/22 175/191/22 +f 180/198/21 174/190/21 178/199/21 +f 241/200/2 254/201/2 242/202/2 +f 242/203/2 255/204/2 243/205/2 +f 244/206/2 255/204/2 256/207/2 +f 244/208/2 257/209/2 245/210/2 +f 245/211/2 258/212/2 246/213/2 +f 246/214/2 259/215/2 247/216/2 +f 248/217/2 259/215/2 260/218/2 +f 248/219/2 261/220/2 249/221/2 +f 249/222/2 262/223/2 250/224/2 +f 251/225/2 262/223/2 263/226/2 +f 251/227/2 264/228/2 252/229/2 +f 252/230/2 253/231/2 241/232/2 +f 268/233/2 272/234/2 276/235/2 +f 181/236/4 278/237/4 277/238/4 +f 183/239/4 278/237/4 182/240/4 +f 184/241/4 279/242/4 183/243/4 +f 185/244/4 280/245/4 184/246/4 +f 186/247/4 281/248/4 185/249/4 +f 186/250/4 283/251/4 282/252/4 +f 188/253/4 283/251/4 187/254/4 +f 189/255/4 284/256/4 188/257/4 +f 190/258/4 285/259/4 189/260/4 +f 190/261/4 287/262/4 286/263/4 +f 191/264/4 288/265/4 287/262/4 +f 181/266/4 288/265/4 192/267/4 +f 193/268/2 290/269/2 194/270/2 +f 194/271/2 291/272/2 195/273/2 +f 195/274/2 292/275/2 196/276/2 +f 196/277/2 293/278/2 197/279/2 +f 198/280/2 293/278/2 294/281/2 +f 198/282/2 295/283/2 199/284/2 +f 200/285/2 295/283/2 296/286/2 +f 200/287/2 297/288/2 201/289/2 +f 201/290/2 298/291/2 202/292/2 +f 202/293/2 299/294/2 203/295/2 +f 203/296/2 300/297/2 204/298/2 +f 193/299/2 300/297/2 289/300/2 +f 205/301/4 302/302/4 301/303/4 +f 207/304/4 302/302/4 206/305/4 +f 208/306/4 303/307/4 207/308/4 +f 208/309/4 305/310/4 304/311/4 +f 210/312/4 305/310/4 209/313/4 +f 210/314/4 307/315/4 306/316/4 +f 212/317/4 307/315/4 211/318/4 +f 213/319/4 308/320/4 212/321/4 +f 213/322/4 310/323/4 309/324/4 +f 215/325/4 310/323/4 214/326/4 +f 215/327/4 312/328/4 311/329/4 +f 216/330/4 301/331/4 312/328/4 +f 217/332/2 314/333/2 218/334/2 +f 218/335/2 315/336/2 219/337/2 +f 219/338/2 316/339/2 220/340/2 +f 220/341/2 317/342/2 221/343/2 +f 222/344/2 317/342/2 318/345/2 +f 222/346/2 319/347/2 223/348/2 +f 223/349/2 320/350/2 224/351/2 +f 224/352/2 321/353/2 225/354/2 +f 225/355/2 322/356/2 226/357/2 +f 226/358/2 323/359/2 227/360/2 +f 227/361/2 324/362/2 228/363/2 +f 217/364/2 324/362/2 313/365/2 +f 229/366/4 326/367/4 325/368/4 +f 231/369/4 326/367/4 230/370/4 +f 232/371/4 327/372/4 231/373/4 +f 233/374/4 328/375/4 232/376/4 +f 234/377/4 329/378/4 233/379/4 +f 234/380/4 331/381/4 330/382/4 +f 236/383/4 331/381/4 235/384/4 +f 237/385/4 332/386/4 236/387/4 +f 238/388/4 333/389/4 237/390/4 +f 238/391/4 335/392/4 334/393/4 +f 239/394/4 336/395/4 335/392/4 +f 240/396/4 325/397/4 336/395/4 +f 38/1/1 40/10/1 39/2/1 +f 39/4/2 40/398/2 44/5/2 +f 44/5/3 42/399/3 41/7/3 +f 42/8/4 38/1/4 37/3/4 +f 40/10/5 38/400/5 42/11/5 +f 46/12/6 48/22/6 47/13/6 +f 47/13/2 48/22/2 52/15/2 +f 52/17/7 50/23/7 49/18/7 +f 49/18/4 50/23/4 46/20/4 +f 48/22/5 46/20/5 50/23/5 +f 54/24/6 56/27/6 55/25/6 +f 56/27/2 60/33/2 59/28/2 +f 59/29/7 60/401/7 58/30/7 +f 58/30/4 54/402/4 53/32/4 +f 56/27/5 54/402/5 58/30/5 +f 62/34/8 64/44/8 63/35/8 +f 64/37/2 68/46/2 67/38/2 +f 67/38/9 68/46/9 66/40/9 +f 66/42/4 62/34/4 61/36/4 +f 64/44/7 62/403/7 66/45/7 +f 70/47/5 72/50/5 71/48/5 +f 72/50/2 76/56/2 75/51/2 +f 75/52/10 76/404/10 74/53/10 +f 74/53/4 70/405/4 69/55/4 +f 72/50/7 70/405/7 74/53/7 +f 78/57/5 80/60/5 79/58/5 +f 80/60/2 84/67/2 83/61/2 +f 83/62/10 84/406/10 82/63/10 +f 81/64/4 82/63/4 78/65/4 +f 80/60/7 78/65/7 82/63/7 +f 86/68/3 88/78/3 87/69/3 +f 88/71/2 92/74/2 91/72/2 +f 92/74/1 90/407/1 89/75/1 +f 90/76/4 86/68/4 85/70/4 +f 88/78/10 86/408/10 90/79/10 +f 94/80/7 96/83/7 95/81/7 +f 96/83/2 100/90/2 99/84/2 +f 100/85/6 98/88/6 97/86/6 +f 98/88/4 94/409/4 93/89/4 +f 96/83/10 94/409/10 98/88/10 +f 102/91/7 104/94/7 103/92/7 +f 104/94/2 108/102/2 107/95/2 +f 108/96/6 106/101/6 105/97/6 +f 105/97/4 106/101/4 102/99/4 +f 104/94/10 102/99/10 106/101/10 +f 110/103/9 112/112/9 111/104/9 +f 111/106/2 112/410/2 116/107/2 +f 116/107/8 114/411/8 113/109/8 +f 114/110/4 110/103/4 109/105/4 +f 112/112/6 110/412/6 114/113/6 +f 118/114/10 120/117/10 119/115/10 +f 120/117/2 124/124/2 123/118/2 +f 124/119/5 122/122/5 121/120/5 +f 122/122/4 118/413/4 117/123/4 +f 120/117/6 118/413/6 122/122/6 +f 126/125/10 128/128/10 127/126/10 +f 128/128/2 132/135/2 131/129/2 +f 131/130/5 132/414/5 130/131/5 +f 129/132/4 130/131/4 126/133/4 +f 128/128/6 126/133/6 130/131/6 +f 134/136/11 136/144/11 135/137/11 +f 140/139/12 138/415/12 137/140/12 +f 138/142/4 134/136/4 133/138/4 +f 139/141/13 137/140/13 133/138/13 +f 136/144/14 134/136/14 138/145/14 +f 142/147/15 144/155/15 143/148/15 +f 148/150/16 146/416/16 145/151/16 +f 146/153/4 142/147/4 141/149/4 +f 147/152/17 145/151/17 141/149/17 +f 144/155/18 142/147/18 146/156/18 +f 150/158/19 152/166/19 151/159/19 +f 156/161/20 154/417/20 153/162/20 +f 154/164/4 150/158/4 149/160/4 +f 155/163/21 153/162/21 149/160/21 +f 152/166/22 150/158/22 154/167/22 +f 158/169/12 160/418/12 159/170/12 +f 164/172/11 162/419/11 161/173/11 +f 162/175/4 158/169/4 157/171/4 +f 159/170/14 163/174/14 161/173/14 +f 164/177/13 160/418/13 158/169/13 +f 166/179/16 168/187/16 167/180/16 +f 172/182/15 170/420/15 169/183/15 +f 170/185/4 166/179/4 165/181/4 +f 171/184/18 169/183/18 165/181/18 +f 168/187/17 166/179/17 170/188/17 +f 174/190/20 176/421/20 175/191/20 +f 180/193/19 178/422/19 177/194/19 +f 178/196/4 174/190/4 173/192/4 +f 179/195/22 177/194/22 173/192/22 +f 180/198/21 176/421/21 174/190/21 +f 241/200/2 253/423/2 254/201/2 +f 242/203/2 254/201/2 255/204/2 +f 244/206/2 243/424/2 255/204/2 +f 244/208/2 256/207/2 257/209/2 +f 245/211/2 257/209/2 258/212/2 +f 246/214/2 258/212/2 259/215/2 +f 248/217/2 247/425/2 259/215/2 +f 248/219/2 260/218/2 261/220/2 +f 249/222/2 261/220/2 262/223/2 +f 251/225/2 250/426/2 262/223/2 +f 251/227/2 263/226/2 264/228/2 +f 252/230/2 264/228/2 253/231/2 +f 276/235/2 265/427/2 266/428/2 +f 266/428/2 267/429/2 268/233/2 +f 268/233/2 269/430/2 272/234/2 +f 269/430/2 270/431/2 272/234/2 +f 270/431/2 271/432/2 272/234/2 +f 272/234/2 273/433/2 276/235/2 +f 273/433/2 274/434/2 276/235/2 +f 274/434/2 275/435/2 276/235/2 +f 276/235/2 266/428/2 268/233/2 +f 181/236/4 182/436/4 278/237/4 +f 183/239/4 279/242/4 278/237/4 +f 184/241/4 280/245/4 279/242/4 +f 185/244/4 281/248/4 280/245/4 +f 186/247/4 282/252/4 281/248/4 +f 186/250/4 187/437/4 283/251/4 +f 188/253/4 284/256/4 283/251/4 +f 189/255/4 285/259/4 284/256/4 +f 190/258/4 286/263/4 285/259/4 +f 190/261/4 191/438/4 287/262/4 +f 191/264/4 192/439/4 288/265/4 +f 181/266/4 277/440/4 288/265/4 +f 193/268/2 289/441/2 290/269/2 +f 194/271/2 290/269/2 291/272/2 +f 195/274/2 291/272/2 292/275/2 +f 196/277/2 292/275/2 293/278/2 +f 198/280/2 197/442/2 293/278/2 +f 198/282/2 294/281/2 295/283/2 +f 200/285/2 199/443/2 295/283/2 +f 200/287/2 296/286/2 297/288/2 +f 201/290/2 297/288/2 298/291/2 +f 202/293/2 298/291/2 299/294/2 +f 203/296/2 299/294/2 300/297/2 +f 193/299/2 204/444/2 300/297/2 +f 205/301/4 206/445/4 302/302/4 +f 207/304/4 303/307/4 302/302/4 +f 208/306/4 304/311/4 303/307/4 +f 208/309/4 209/446/4 305/310/4 +f 210/312/4 306/316/4 305/310/4 +f 210/314/4 211/447/4 307/315/4 +f 212/317/4 308/320/4 307/315/4 +f 213/319/4 309/324/4 308/320/4 +f 213/322/4 214/448/4 310/323/4 +f 215/325/4 311/329/4 310/323/4 +f 215/327/4 216/449/4 312/328/4 +f 216/330/4 205/450/4 301/331/4 +f 217/332/2 313/451/2 314/333/2 +f 218/335/2 314/333/2 315/336/2 +f 219/338/2 315/336/2 316/339/2 +f 220/341/2 316/339/2 317/342/2 +f 222/344/2 221/452/2 317/342/2 +f 222/346/2 318/345/2 319/347/2 +f 223/349/2 319/347/2 320/350/2 +f 224/352/2 320/350/2 321/353/2 +f 225/355/2 321/353/2 322/356/2 +f 226/358/2 322/356/2 323/359/2 +f 227/361/2 323/359/2 324/362/2 +f 217/364/2 228/453/2 324/362/2 +f 229/366/4 230/454/4 326/367/4 +f 231/369/4 327/372/4 326/367/4 +f 232/371/4 328/375/4 327/372/4 +f 233/374/4 329/378/4 328/375/4 +f 234/377/4 330/382/4 329/378/4 +f 234/380/4 235/455/4 331/381/4 +f 236/383/4 332/386/4 331/381/4 +f 237/385/4 333/389/4 332/386/4 +f 238/388/4 334/393/4 333/389/4 +f 238/391/4 239/456/4 335/392/4 +f 239/394/4 240/457/4 336/395/4 +f 240/396/4 229/458/4 325/397/4 +s 1 +f 2/459/11 3/460/21 1/461/11 +f 4/462/21 5/463/15 3/460/21 +f 6/464/15 7/465/14 5/463/15 +f 8/466/14 9/467/19 7/465/14 +f 9/467/19 12/468/18 11/469/18 +f 12/468/18 13/470/12 11/469/18 +f 13/470/12 16/471/22 15/472/22 +f 16/471/22 17/473/16 15/472/22 +f 18/474/16 19/475/13 17/473/16 +f 20/476/13 21/477/20 19/475/13 +f 12/468/23 31/478/24 14/479/24 +f 22/480/20 23/481/17 21/477/20 +f 24/482/17 1/483/11 23/481/17 +f 10/484/25 30/485/23 12/468/23 +f 8/466/26 29/486/25 10/484/25 +f 2/487/27 36/488/28 26/489/27 +f 2/459/27 25/490/29 4/462/29 +f 6/464/30 28/491/26 8/466/26 +f 24/482/28 35/492/31 36/493/28 +f 4/462/29 27/494/30 6/464/30 +f 20/476/32 35/495/31 22/480/31 +f 18/474/33 34/496/32 20/476/32 +f 16/471/34 33/497/33 18/474/33 +f 14/479/24 32/498/34 16/471/34 +f 31/499/4 29/500/4 27/501/4 +f 286/263/13 297/288/16 285/259/16 +f 283/251/12 294/281/18 282/252/18 +f 279/242/15 292/275/14 291/272/15 +f 287/262/20 298/291/13 286/263/13 +f 284/256/22 295/283/12 283/251/12 +f 280/245/14 293/278/19 292/275/14 +f 288/265/17 299/294/20 287/262/20 +f 277/238/11 290/269/21 289/441/11 +f 285/259/16 296/286/22 284/256/22 +f 281/248/19 294/281/18 293/278/19 +f 288/265/17 289/300/11 300/297/17 +f 278/237/21 291/272/15 290/269/21 +f 310/323/13 321/353/16 309/324/16 +f 307/315/12 318/345/18 306/316/18 +f 303/307/15 316/339/14 315/336/15 +f 311/329/20 322/356/13 310/323/13 +f 308/320/22 319/347/12 307/315/12 +f 304/311/14 317/342/19 316/339/14 +f 312/328/17 323/359/20 311/329/20 +f 301/303/11 314/333/21 313/451/11 +f 309/324/16 320/350/22 308/320/22 +f 306/316/18 317/342/19 305/310/19 +f 301/331/11 324/362/17 312/328/17 +f 302/302/21 315/336/15 314/333/21 +f 246/502/17 269/503/20 245/504/20 +f 334/393/13 261/220/16 333/389/16 +f 331/381/12 258/212/18 330/382/18 +f 328/375/14 255/204/15 327/372/15 +f 335/392/20 262/223/13 334/393/13 +f 332/386/22 259/215/12 331/381/12 +f 329/378/19 256/207/14 328/375/14 +f 336/395/17 263/226/20 335/392/20 +f 326/367/21 253/423/11 325/368/11 +f 333/389/16 260/218/22 332/386/22 +f 330/382/18 257/209/19 329/378/19 +f 336/395/17 253/231/11 264/228/17 +f 326/367/21 255/204/15 254/201/21 +f 252/505/18 265/506/12 276/507/18 +f 243/508/16 266/509/22 242/510/22 +f 250/511/14 273/512/15 249/513/15 +f 247/514/11 270/515/17 246/502/17 +f 244/516/13 267/517/16 243/508/16 +f 251/518/19 274/519/14 250/511/14 +f 248/520/21 271/521/11 247/514/11 +f 244/516/13 269/503/20 268/522/13 +f 251/518/19 276/507/18 275/523/19 +f 242/510/22 265/524/12 241/525/12 +f 249/513/15 272/526/21 248/520/21 +f 2/459/11 4/462/21 3/460/21 +f 4/462/21 6/464/15 5/463/15 +f 6/464/15 8/466/14 7/465/14 +f 8/466/14 10/484/19 9/467/19 +f 9/467/19 10/484/19 12/468/18 +f 12/468/18 14/479/12 13/470/12 +f 13/470/12 14/479/12 16/471/22 +f 16/471/22 18/474/16 17/473/16 +f 18/474/16 20/476/13 19/475/13 +f 20/476/13 22/480/20 21/477/20 +f 12/468/23 30/527/23 31/478/24 +f 22/480/20 24/482/17 23/481/17 +f 24/482/17 2/487/11 1/483/11 +f 10/484/25 29/528/25 30/485/23 +f 8/466/26 28/529/26 29/486/25 +f 2/487/27 24/482/28 36/488/28 +f 2/459/27 26/530/27 25/490/29 +f 6/464/30 27/531/30 28/491/26 +f 24/482/28 22/480/31 35/492/31 +f 4/462/29 25/532/29 27/494/30 +f 20/476/32 34/533/32 35/495/31 +f 18/474/33 33/534/33 34/496/32 +f 16/471/34 32/535/34 33/497/33 +f 14/479/24 31/536/24 32/498/34 +f 27/501/4 25/537/4 26/538/4 +f 26/538/4 36/539/4 27/501/4 +f 36/539/4 35/540/4 27/501/4 +f 35/540/4 34/541/4 33/542/4 +f 33/542/4 32/543/4 31/499/4 +f 31/499/4 30/544/4 29/500/4 +f 29/500/4 28/545/4 27/501/4 +f 35/540/4 33/542/4 27/501/4 +f 33/542/4 31/499/4 27/501/4 +f 286/263/13 298/291/13 297/288/16 +f 283/251/12 295/283/12 294/281/18 +f 279/242/15 280/245/14 292/275/14 +f 287/262/20 299/294/20 298/291/13 +f 284/256/22 296/286/22 295/283/12 +f 280/245/14 281/248/19 293/278/19 +f 288/265/17 300/297/17 299/294/20 +f 277/238/11 278/237/21 290/269/21 +f 285/259/16 297/288/16 296/286/22 +f 281/248/19 282/252/18 294/281/18 +f 288/265/17 277/440/11 289/300/11 +f 278/237/21 279/242/15 291/272/15 +f 310/323/13 322/356/13 321/353/16 +f 307/315/12 319/347/12 318/345/18 +f 303/307/15 304/311/14 316/339/14 +f 311/329/20 323/359/20 322/356/13 +f 308/320/22 320/350/22 319/347/12 +f 304/311/14 305/310/19 317/342/19 +f 312/328/17 324/362/17 323/359/20 +f 301/303/11 302/302/21 314/333/21 +f 309/324/16 321/353/16 320/350/22 +f 306/316/18 318/345/18 317/342/19 +f 301/331/11 313/365/11 324/362/17 +f 302/302/21 303/307/15 315/336/15 +f 246/502/17 270/515/17 269/503/20 +f 334/393/13 262/223/13 261/220/16 +f 331/381/12 259/215/12 258/212/18 +f 328/375/14 256/207/14 255/204/15 +f 335/392/20 263/226/20 262/223/13 +f 332/386/22 260/218/22 259/215/12 +f 329/378/19 257/209/19 256/207/14 +f 336/395/17 264/228/17 263/226/20 +f 326/367/21 254/201/21 253/423/11 +f 333/389/16 261/220/16 260/218/22 +f 330/382/18 258/212/18 257/209/19 +f 336/395/17 325/397/11 253/231/11 +f 326/367/21 327/372/15 255/204/15 +f 252/505/18 241/546/12 265/506/12 +f 243/508/16 267/517/16 266/509/22 +f 250/511/14 274/519/14 273/512/15 +f 247/514/11 271/521/11 270/515/17 +f 244/516/13 268/522/13 267/517/16 +f 251/518/19 275/523/19 274/519/14 +f 248/520/21 272/526/21 271/521/11 +f 244/516/13 245/504/20 269/503/20 +f 251/518/19 252/505/18 276/507/18 +f 242/510/22 266/509/22 265/524/12 +f 249/513/15 273/512/15 272/526/21 diff --git a/src/main/resources/assets/hbm/models/FatMan.obj b/src/main/resources/assets/hbm/models/bombs/fat_man.obj similarity index 100% rename from src/main/resources/assets/hbm/models/FatMan.obj rename to src/main/resources/assets/hbm/models/bombs/fat_man.obj diff --git a/src/main/resources/assets/hbm/models/bombs/fleija.obj b/src/main/resources/assets/hbm/models/bombs/fleija.obj new file mode 100644 index 000000000..af3e0e320 --- /dev/null +++ b/src/main/resources/assets/hbm/models/bombs/fleija.obj @@ -0,0 +1,1790 @@ +# Blender 4.0.2 +# www.blender.org +mtllib Fleija.mtl +o Cylinder.001 +v 0.000000 0.812500 -0.750000 +v 0.000000 0.812500 0.750000 +v 0.156250 0.770633 -0.750000 +v 0.156250 0.770633 0.750000 +v 0.270633 0.656250 -0.750000 +v 0.270633 0.656250 0.750000 +v 0.312500 0.500000 -0.750000 +v 0.312500 0.500000 0.750000 +v 0.270633 0.343750 -0.750000 +v 0.270633 0.343750 0.750000 +v 0.156250 0.229367 -0.750000 +v 0.156250 0.229367 0.750000 +v 0.000000 0.187500 -0.750000 +v 0.000000 0.187500 0.750000 +v -0.156250 0.229367 -0.750000 +v -0.156250 0.229367 0.750000 +v -0.270633 0.343750 -0.750000 +v -0.270633 0.343750 0.750000 +v -0.312500 0.500000 -0.750000 +v -0.312500 0.500000 0.750000 +v -0.270633 0.656250 -0.750000 +v -0.270633 0.656250 0.750000 +v -0.156250 0.770633 -0.750000 +v -0.156250 0.770633 0.750000 +v 0.031250 0.554127 1.250000 +v 0.000000 0.562500 1.250000 +v 0.054127 0.531250 1.250000 +v 0.062500 0.500000 1.250000 +v 0.054127 0.468750 1.250000 +v 0.031250 0.445873 1.250000 +v 0.000000 0.437500 1.250000 +v -0.031250 0.445873 1.250000 +v -0.054127 0.468750 1.250000 +v -0.062500 0.500000 1.250000 +v -0.054127 0.531250 1.250000 +v -0.031250 0.554127 1.250000 +v -0.000000 0.562500 -1.250000 +v 0.031250 0.554127 -1.250000 +v 0.054127 0.531250 -1.250000 +v 0.062500 0.500000 -1.250000 +v 0.054127 0.468750 -1.250000 +v 0.031250 0.445873 -1.250000 +v -0.000000 0.437500 -1.250000 +v -0.031250 0.445873 -1.250000 +v -0.054127 0.468750 -1.250000 +v -0.062500 0.500000 -1.250000 +v -0.054127 0.531250 -1.250000 +v -0.031250 0.554127 -1.250000 +v 0.000000 0.812500 -0.625000 +v 0.000000 0.812500 0.625000 +v 0.156250 0.770633 0.625000 +v 0.156250 0.770633 -0.625000 +v 0.270633 0.656250 0.625000 +v 0.270633 0.656250 -0.625000 +v 0.312500 0.500000 0.625000 +v 0.312500 0.500000 -0.625000 +v 0.270633 0.343750 0.625000 +v 0.270633 0.343750 -0.625000 +v 0.156250 0.229367 0.625000 +v 0.156250 0.229367 -0.625000 +v 0.000000 0.187500 0.625000 +v 0.000000 0.187500 -0.625000 +v -0.156250 0.229367 0.625000 +v -0.156250 0.229367 -0.625000 +v -0.270633 0.343750 0.625000 +v -0.270633 0.343750 -0.625000 +v -0.312500 0.500000 0.625000 +v -0.312500 0.500000 -0.625000 +v -0.270633 0.656250 0.625000 +v -0.270633 0.656250 -0.625000 +v -0.156250 0.770633 0.625000 +v -0.156250 0.770633 -0.625000 +v 0.187500 0.824759 0.750000 +v 0.000000 0.875000 0.750000 +v 0.000000 0.875000 0.625000 +v 0.324760 0.687500 0.750000 +v 0.375000 0.500000 0.750000 +v 0.324760 0.312500 0.750000 +v 0.187500 0.175240 0.750000 +v 0.000000 0.125000 0.750000 +v -0.187500 0.175240 0.750000 +v -0.324760 0.312500 0.750000 +v -0.375000 0.500000 0.750000 +v -0.324760 0.687500 0.750000 +v -0.187500 0.824759 0.750000 +v 0.187500 0.824759 0.625000 +v 0.324760 0.687500 0.625000 +v 0.375000 0.500000 0.625000 +v 0.324760 0.312500 0.625000 +v 0.187500 0.175240 0.625000 +v 0.000000 0.125000 0.625000 +v -0.187500 0.175240 0.625000 +v -0.324760 0.312500 0.625000 +v -0.375000 0.500000 0.625000 +v -0.324760 0.687500 0.625000 +v -0.187500 0.824759 0.625000 +v 0.000000 0.875000 -0.750000 +v 0.187500 0.824760 -0.750000 +v 0.187500 0.824760 -0.625000 +v 0.324760 0.687500 -0.750000 +v 0.324760 0.687500 -0.625000 +v 0.375000 0.500000 -0.750000 +v 0.375000 0.500000 -0.625000 +v 0.324760 0.312500 -0.750000 +v 0.324760 0.312500 -0.625000 +v 0.187500 0.175241 -0.750000 +v 0.187500 0.175240 -0.625000 +v 0.000000 0.125000 -0.750000 +v 0.000000 0.125000 -0.625000 +v -0.187500 0.175241 -0.750000 +v -0.187500 0.175240 -0.625000 +v -0.324760 0.312500 -0.750000 +v -0.324760 0.312500 -0.625000 +v -0.375000 0.500000 -0.750000 +v -0.375000 0.500000 -0.625000 +v -0.324760 0.687500 -0.750000 +v -0.324760 0.687500 -0.625000 +v -0.187500 0.824760 -0.750000 +v -0.187500 0.824760 -0.625000 +v 0.000000 0.875000 -0.625000 +v 0.062500 0.608253 1.250000 +v 0.000000 0.625000 1.250000 +v 0.108253 0.562500 1.250000 +v 0.125000 0.500000 1.250000 +v 0.108253 0.437500 1.250000 +v 0.062500 0.391747 1.250000 +v 0.000000 0.375000 1.250000 +v -0.062500 0.391747 1.250000 +v -0.108253 0.437500 1.250000 +v -0.125000 0.500000 1.250000 +v -0.108253 0.562500 1.250000 +v -0.062500 0.608253 1.250000 +v 0.031250 0.554127 1.187500 +v -0.000000 0.562500 1.187500 +v 0.054127 0.531250 1.187500 +v 0.062500 0.500000 1.187500 +v 0.054127 0.468750 1.187500 +v 0.031250 0.445873 1.187500 +v -0.000000 0.437500 1.187500 +v -0.031250 0.445873 1.187500 +v -0.054127 0.468750 1.187500 +v -0.062500 0.500000 1.187500 +v -0.054127 0.531250 1.187500 +v -0.031250 0.554127 1.187500 +v -0.000000 0.625000 -1.250000 +v 0.062500 0.608253 -1.250000 +v 0.108253 0.562500 -1.250000 +v 0.125000 0.500000 -1.250000 +v 0.108253 0.437500 -1.250000 +v 0.062500 0.391747 -1.250000 +v -0.000000 0.375000 -1.250000 +v -0.062500 0.391747 -1.250000 +v -0.108253 0.437500 -1.250000 +v -0.125000 0.500000 -1.250000 +v -0.108253 0.562500 -1.250000 +v -0.062500 0.608253 -1.250000 +v -0.000000 0.562500 -0.750000 +v 0.031250 0.554127 -0.750000 +v 0.054127 0.531250 -0.750000 +v 0.062500 0.500000 -0.750000 +v 0.054127 0.468750 -0.750000 +v 0.031250 0.445873 -0.750000 +v -0.000000 0.437500 -0.750000 +v -0.031250 0.445873 -0.750000 +v -0.054127 0.468750 -0.750000 +v -0.062500 0.500000 -0.750000 +v -0.054127 0.531250 -0.750000 +v -0.031250 0.554127 -0.750000 +v -0.500000 0.000000 0.531250 +v -0.500000 0.062500 0.531250 +v -0.500000 0.000000 0.406250 +v -0.500000 0.062500 0.406250 +v 0.500000 0.000000 0.531250 +v 0.500000 0.062500 0.531250 +v 0.500000 0.000000 0.406250 +v 0.500000 0.062500 0.406250 +v 0.437500 0.500000 0.531250 +v 0.437500 0.500000 0.406250 +v -0.437500 0.500000 0.531250 +v -0.437500 0.500000 0.406250 +v -0.437500 0.062500 0.531250 +v -0.437500 0.062500 0.406250 +v 0.437500 0.062500 0.531250 +v 0.437500 0.062500 0.406250 +v 0.375000 0.500000 0.531250 +v 0.375000 0.500000 0.406250 +v -0.375000 0.500000 0.531250 +v -0.375000 0.500000 0.406250 +v 0.254624 0.843012 0.375000 +v 0.343012 0.754624 0.375000 +v 0.254624 0.843012 -0.375000 +v 0.343012 0.754624 -0.375000 +v 0.210430 0.798818 -0.375000 +v 0.210430 0.798818 0.375000 +v 0.298818 0.710430 0.375000 +v 0.298818 0.710430 -0.375000 +v 0.343012 0.245376 0.375000 +v 0.254624 0.156988 0.375000 +v 0.343012 0.245376 -0.375000 +v 0.254624 0.156988 -0.375000 +v 0.298818 0.289570 -0.375000 +v 0.298818 0.289570 0.375000 +v 0.210430 0.201182 0.375000 +v 0.210430 0.201182 -0.375000 +v -0.254624 0.156988 0.375000 +v -0.343012 0.245376 0.375000 +v -0.254624 0.156988 -0.375000 +v -0.343012 0.245376 -0.375000 +v -0.210430 0.201182 -0.375000 +v -0.210430 0.201182 0.375000 +v -0.298818 0.289570 0.375000 +v -0.298818 0.289570 -0.375000 +v -0.343012 0.754624 0.375000 +v -0.254624 0.843012 0.375000 +v -0.343012 0.754624 -0.375000 +v -0.254624 0.843012 -0.375000 +v -0.298818 0.710430 -0.375000 +v -0.298818 0.710430 0.375000 +v -0.210430 0.798818 0.375000 +v -0.210430 0.798818 -0.375000 +v -0.031250 0.625000 -0.750000 +v -0.031250 0.937500 -1.000000 +v -0.031250 0.625000 -1.187500 +v -0.031250 0.937500 -1.187500 +v 0.031250 0.625000 -0.750000 +v 0.031250 0.937500 -1.000000 +v 0.031250 0.625000 -1.187500 +v 0.031250 0.937500 -1.187500 +v -0.125000 0.468750 -0.750000 +v -0.437500 0.468750 -1.000000 +v -0.125000 0.468750 -1.187500 +v -0.437500 0.468750 -1.187500 +v -0.125000 0.531250 -0.750000 +v -0.437500 0.531250 -1.000000 +v -0.125000 0.531250 -1.187500 +v -0.437500 0.531250 -1.187500 +v 0.031250 0.375000 -0.750000 +v 0.031250 0.062500 -1.000000 +v 0.031250 0.375000 -1.187500 +v 0.031250 0.062500 -1.187500 +v -0.031250 0.375000 -0.750000 +v -0.031250 0.062500 -1.000000 +v -0.031250 0.375000 -1.187500 +v -0.031250 0.062500 -1.187500 +v 0.125000 0.531250 -0.750000 +v 0.437500 0.531250 -1.000000 +v 0.125000 0.531250 -1.187500 +v 0.437500 0.531250 -1.187500 +v 0.125000 0.468750 -0.750000 +v 0.437500 0.468750 -1.000000 +v 0.125000 0.468750 -1.187500 +v 0.437500 0.468750 -1.187500 +v -0.031250 0.125000 0.531250 +v -0.031250 0.125000 0.406250 +v -0.031250 0.250000 0.531250 +v 0.031250 0.125000 0.531250 +v 0.031250 0.125000 0.406250 +v 0.031250 0.250000 0.531250 +v 0.031250 0.250000 0.406250 +v -0.031250 0.250000 0.406250 +v 0.243068 0.212738 0.531250 +v 0.243068 0.212738 0.406250 +v 0.154680 0.301126 0.531250 +v 0.287262 0.256932 0.531250 +v 0.287262 0.256932 0.406250 +v 0.198874 0.345320 0.531250 +v 0.198874 0.345320 0.406250 +v 0.154680 0.301126 0.406250 +v 0.375000 0.468750 0.531250 +v 0.375000 0.468750 0.406250 +v 0.250000 0.468750 0.531250 +v 0.375000 0.531250 0.531250 +v 0.375000 0.531250 0.406250 +v 0.250000 0.531250 0.531250 +v 0.250000 0.531250 0.406250 +v 0.250000 0.468750 0.406250 +v 0.287263 0.743068 0.531250 +v 0.287263 0.743068 0.406250 +v 0.198874 0.654679 0.531250 +v 0.243068 0.787262 0.531250 +v 0.243068 0.787262 0.406250 +v 0.154680 0.698873 0.531250 +v 0.154680 0.698873 0.406250 +v 0.198874 0.654679 0.406250 +v 0.031251 0.875000 0.531250 +v 0.031251 0.875000 0.406250 +v 0.031251 0.750000 0.531250 +v -0.031249 0.875000 0.531250 +v -0.031249 0.875000 0.406250 +v -0.031249 0.750000 0.531250 +v -0.031249 0.750000 0.406250 +v 0.031251 0.750000 0.406250 +v -0.243067 0.787262 0.531250 +v -0.243067 0.787262 0.406250 +v -0.154679 0.698874 0.531250 +v -0.287262 0.743068 0.531250 +v -0.287261 0.743068 0.406250 +v -0.198873 0.654680 0.531250 +v -0.198873 0.654680 0.406250 +v -0.154679 0.698874 0.406250 +v -0.375000 0.531250 0.531250 +v -0.375000 0.531250 0.406250 +v -0.250000 0.531250 0.531250 +v -0.375000 0.468750 0.531250 +v -0.375000 0.468750 0.406250 +v -0.250000 0.468750 0.531250 +v -0.250000 0.468750 0.406250 +v -0.250000 0.531250 0.406250 +v -0.287262 0.256932 0.531250 +v -0.287262 0.256932 0.406250 +v -0.198874 0.345321 0.531250 +v -0.243068 0.212738 0.531250 +v -0.243068 0.212738 0.406250 +v -0.154680 0.301126 0.531250 +v -0.154680 0.301126 0.406250 +v -0.198874 0.345321 0.406250 +v -0.031250 0.125000 -0.406250 +v -0.031250 0.125000 -0.531250 +v -0.031250 0.250000 -0.406250 +v 0.031250 0.125000 -0.406250 +v 0.031250 0.125000 -0.531250 +v 0.031250 0.250000 -0.406250 +v 0.031250 0.250000 -0.531250 +v -0.031250 0.250000 -0.531250 +v 0.243068 0.212738 -0.406250 +v 0.243068 0.212738 -0.531250 +v 0.154680 0.301126 -0.406250 +v 0.287262 0.256932 -0.406250 +v 0.287262 0.256932 -0.531250 +v 0.198874 0.345320 -0.406250 +v 0.198874 0.345320 -0.531250 +v 0.154680 0.301126 -0.531250 +v 0.375000 0.468750 -0.406250 +v 0.375000 0.468750 -0.531250 +v 0.250000 0.468750 -0.406250 +v 0.375000 0.531250 -0.406250 +v 0.375000 0.531250 -0.531250 +v 0.250000 0.531250 -0.406250 +v 0.250000 0.531250 -0.531250 +v 0.250000 0.468750 -0.531250 +v 0.287263 0.743068 -0.406250 +v 0.287263 0.743068 -0.531250 +v 0.198874 0.654679 -0.406250 +v 0.243068 0.787262 -0.406250 +v 0.243068 0.787262 -0.531250 +v 0.154680 0.698873 -0.406250 +v 0.154680 0.698873 -0.531250 +v 0.198874 0.654679 -0.531250 +v 0.031251 0.875000 -0.406250 +v 0.031251 0.875000 -0.531250 +v 0.031251 0.750000 -0.406250 +v -0.031249 0.875000 -0.406250 +v -0.031249 0.875000 -0.531250 +v -0.031249 0.750000 -0.406250 +v -0.031249 0.750000 -0.531250 +v 0.031251 0.750000 -0.531250 +v -0.243067 0.787262 -0.406250 +v -0.243067 0.787262 -0.531250 +v -0.154679 0.698874 -0.406250 +v -0.287262 0.743068 -0.406250 +v -0.287261 0.743068 -0.531250 +v -0.198873 0.654680 -0.406250 +v -0.198873 0.654680 -0.531250 +v -0.154679 0.698874 -0.531250 +v -0.375000 0.531250 -0.406250 +v -0.375000 0.531250 -0.531250 +v -0.250000 0.531250 -0.406250 +v -0.375000 0.468750 -0.406250 +v -0.375000 0.468750 -0.531250 +v -0.250000 0.468750 -0.406250 +v -0.250000 0.468750 -0.531250 +v -0.250000 0.531250 -0.531250 +v -0.287262 0.256932 -0.406250 +v -0.287262 0.256932 -0.531250 +v -0.198874 0.345321 -0.406250 +v -0.243068 0.212738 -0.406250 +v -0.243068 0.212738 -0.531250 +v -0.154680 0.301126 -0.406250 +v -0.154680 0.301126 -0.531250 +v -0.198874 0.345321 -0.531250 +v 0.000000 0.872795 0.375000 +v 0.186398 0.822850 0.375000 +v 0.186398 0.822850 0.562500 +v 0.000000 0.872795 0.562500 +v 0.322850 0.686398 0.375000 +v 0.322850 0.686398 0.562500 +v 0.372795 0.500000 0.375000 +v 0.372795 0.500000 0.562500 +v 0.322850 0.313602 0.375000 +v 0.322850 0.313602 0.562500 +v 0.186398 0.177150 0.375000 +v 0.186398 0.177150 0.562500 +v 0.000000 0.127205 0.375000 +v 0.000000 0.127205 0.562500 +v -0.186398 0.177150 0.375000 +v -0.186398 0.177150 0.562500 +v -0.322850 0.313602 0.375000 +v -0.322850 0.313602 0.562500 +v -0.372795 0.500000 0.375000 +v -0.372795 0.500000 0.562500 +v -0.322850 0.686398 0.375000 +v -0.322850 0.686398 0.562500 +v -0.186398 0.822850 0.375000 +v -0.186398 0.822850 0.562500 +v 0.000000 0.937500 0.375000 +v 0.218750 0.878886 0.375000 +v 0.218750 0.878886 0.562500 +v 0.000000 0.937500 0.562500 +v 0.378886 0.718750 0.375000 +v 0.378886 0.718750 0.562500 +v 0.437500 0.500000 0.375000 +v 0.437500 0.500000 0.562500 +v 0.378886 0.281250 0.375000 +v 0.378886 0.281250 0.562500 +v 0.218750 0.121114 0.375000 +v 0.218750 0.121114 0.562500 +v 0.000000 0.062500 0.375000 +v 0.000000 0.062500 0.562500 +v -0.218750 0.121114 0.375000 +v -0.218750 0.121114 0.562500 +v -0.378886 0.281250 0.375000 +v -0.378886 0.281250 0.562500 +v -0.437500 0.500000 0.375000 +v -0.437500 0.500000 0.562500 +v -0.378886 0.718750 0.375000 +v -0.378886 0.718750 0.562500 +v -0.218750 0.878886 0.375000 +v -0.218750 0.878886 0.562500 +v 0.000000 0.872795 -0.562500 +v 0.186398 0.822850 -0.562500 +v 0.186398 0.822850 -0.375000 +v 0.000000 0.872795 -0.375000 +v 0.322850 0.686398 -0.562500 +v 0.322850 0.686398 -0.375000 +v 0.372795 0.500000 -0.562500 +v 0.372795 0.500000 -0.375000 +v 0.322850 0.313602 -0.562500 +v 0.322850 0.313602 -0.375000 +v 0.186398 0.177150 -0.562500 +v 0.186398 0.177150 -0.375000 +v 0.000000 0.127205 -0.562500 +v 0.000000 0.127205 -0.375000 +v -0.186398 0.177150 -0.562500 +v -0.186398 0.177150 -0.375000 +v -0.322850 0.313602 -0.562500 +v -0.322850 0.313602 -0.375000 +v -0.372795 0.500000 -0.562500 +v -0.372795 0.500000 -0.375000 +v -0.322850 0.686398 -0.562500 +v -0.322850 0.686398 -0.375000 +v -0.186398 0.822850 -0.562500 +v -0.186398 0.822850 -0.375000 +v 0.000000 0.937500 -0.562500 +v 0.218750 0.878886 -0.562500 +v 0.218750 0.878886 -0.375000 +v 0.000000 0.937500 -0.375000 +v 0.378886 0.718750 -0.562500 +v 0.378886 0.718750 -0.375000 +v 0.437500 0.500000 -0.562500 +v 0.437500 0.500000 -0.375000 +v 0.378886 0.281250 -0.562500 +v 0.378886 0.281250 -0.375000 +v 0.218750 0.121114 -0.562500 +v 0.218750 0.121114 -0.375000 +v 0.000000 0.062500 -0.562500 +v 0.000000 0.062500 -0.375000 +v -0.218750 0.121114 -0.562500 +v -0.218750 0.121114 -0.375000 +v -0.378886 0.281250 -0.562500 +v -0.378886 0.281250 -0.375000 +v -0.437500 0.500000 -0.562500 +v -0.437500 0.500000 -0.375000 +v -0.378886 0.718750 -0.562500 +v -0.378886 0.718750 -0.375000 +v -0.218750 0.878886 -0.562500 +v -0.218750 0.878886 -0.375000 +v -0.500000 0.000000 -0.406250 +v -0.500000 0.062500 -0.406250 +v -0.500000 -0.000000 -0.531250 +v -0.500000 0.062500 -0.531250 +v 0.500000 0.000000 -0.406250 +v 0.500000 0.062500 -0.406250 +v 0.500000 -0.000000 -0.531250 +v 0.500000 0.062500 -0.531250 +v 0.437500 0.500000 -0.406250 +v 0.437500 0.500000 -0.531250 +v -0.437500 0.500000 -0.406250 +v -0.437500 0.500000 -0.531250 +v -0.437500 0.062500 -0.406250 +v -0.437500 0.062500 -0.531250 +v 0.437500 0.062500 -0.406250 +v 0.437500 0.062500 -0.531250 +v 0.375000 0.500000 -0.406250 +v 0.375000 0.500000 -0.531250 +v -0.375000 0.500000 -0.406250 +v -0.375000 0.500000 -0.531250 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 -0.9363 0.3511 +vn 0.4682 -0.8109 0.3511 +vn -0.4682 -0.8109 -0.3511 +vn -0.0000 -0.9363 -0.3511 +vn 0.5000 0.8660 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn 0.8109 -0.4682 0.3511 +vn 0.9363 -0.0000 0.3511 +vn -0.0000 0.9363 0.3511 +vn -0.4682 0.8109 0.3511 +vn 0.4682 0.8109 0.3511 +vn 0.8109 0.4682 0.3511 +vn -0.8109 0.4682 0.3511 +vn -0.9363 -0.0000 0.3511 +vn -0.8109 -0.4682 0.3511 +vn -0.4682 -0.8109 0.3511 +vn 0.4682 -0.8109 -0.3511 +vn 0.8109 -0.4682 -0.3511 +vn 0.9363 -0.0000 -0.3511 +vn -0.0000 0.9363 -0.3511 +vn -0.4682 0.8109 -0.3511 +vn 0.4682 0.8109 -0.3511 +vn 0.8109 0.4682 -0.3511 +vn -0.8109 0.4682 -0.3511 +vn -0.9363 -0.0000 -0.3511 +vn -0.8109 -0.4682 -0.3511 +vn -0.5000 0.8660 -0.0000 +vn -0.8660 0.5000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.8660 -0.5000 -0.0000 +vn -0.5000 -0.8660 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn 0.5000 -0.8660 -0.0000 +vn 0.8660 -0.5000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn 0.8660 0.5000 -0.0000 +vn -0.9975 0.0709 -0.0000 +vn 0.9975 0.0709 -0.0000 +vn 0.9899 0.1414 -0.0000 +vn -0.9899 0.1414 -0.0000 +vn 0.9899 -0.1414 -0.0000 +vn -0.9899 -0.1414 -0.0000 +vn 0.7071 0.7071 -0.0000 +vn -0.7071 -0.7071 -0.0000 +vn 0.7071 -0.7071 -0.0000 +vn -0.7071 0.7071 -0.0000 +vn -0.0000 0.6247 0.7809 +vn -0.6247 -0.0000 0.7809 +vn -0.0000 -0.6247 0.7809 +vn 0.6247 -0.0000 0.7809 +vt 0.344262 0.819672 +vt 0.393443 0.803279 +vt 0.393443 0.819672 +vt 0.245902 0.754098 +vt 0.196721 0.770492 +vt 0.196721 0.754098 +vt 0.000000 0.754098 +vt 0.049180 0.770492 +vt 0.000000 0.770492 +vt 0.000000 0.819672 +vt 0.049180 0.803279 +vt 0.049180 0.819672 +vt 0.245902 0.819672 +vt 0.295082 0.803279 +vt 0.295082 0.819672 +vt 0.393443 0.754098 +vt 0.344262 0.770492 +vt 0.344262 0.754098 +vt 0.147541 0.770492 +vt 0.147541 0.754098 +vt 0.491803 0.819672 +vt 0.540984 0.803279 +vt 0.540984 0.819672 +vt 0.147541 0.819672 +vt 0.196721 0.803279 +vt 0.196721 0.819672 +vt 0.590164 0.754098 +vt 0.540984 0.770492 +vt 0.540984 0.754098 +vt 0.180328 0.950820 +vt 0.163934 0.950820 +vt 0.295082 0.770492 +vt 0.295082 0.754098 +vt 0.442623 0.819672 +vt 0.442623 0.803279 +vt 0.098361 0.360656 +vt 0.131148 0.229508 +vt 0.147541 0.360656 +vt 0.032787 0.983607 +vt 0.049180 1.000000 +vt 0.032787 1.000000 +vt 0.213115 0.950820 +vt 0.278689 0.950820 +vt 0.262295 0.950820 +vt 0.475410 0.950820 +vt 0.459016 0.950820 +vt 0.426230 0.950820 +vt 0.409836 0.950820 +vt 0.327869 0.950820 +vt 0.311475 0.950820 +vt 0.508197 0.950820 +vt 0.360656 0.950820 +vt 0.573770 0.950820 +vt 0.557377 0.950820 +vt 0.032787 0.950820 +vt 0.016393 0.950820 +vt 0.098361 0.819672 +vt 0.065574 0.950820 +vt 0.131148 0.950820 +vt 0.114754 0.950820 +vt 0.032787 0.196721 +vt 0.049180 0.065574 +vt 0.049180 0.196721 +vt 0.180328 0.229508 +vt 0.196721 0.360656 +vt 0.229508 0.229508 +vt 0.245902 0.360656 +vt 0.278689 0.229508 +vt 0.295082 0.360656 +vt 0.442623 0.360656 +vt 0.475410 0.229508 +vt 0.491803 0.360656 +vt 0.393443 0.360656 +vt 0.426230 0.229508 +vt 0.327869 0.229508 +vt 0.344262 0.360656 +vt 0.524590 0.229508 +vt 0.540984 0.360656 +vt 0.377049 0.229508 +vt 0.590164 0.360656 +vt 0.557377 0.229508 +vt 0.573770 0.229508 +vt 0.049180 0.360656 +vt 0.016393 0.229508 +vt 0.032787 0.229508 +vt 0.081967 0.229508 +vt 0.196721 0.426230 +vt 0.245902 0.409836 +vt 0.245902 0.426230 +vt 0.491803 0.754098 +vt 0.442623 0.426230 +vt 0.491803 0.426230 +vt 0.000000 0.426230 +vt 0.049180 0.409836 +vt 0.049180 0.426230 +vt 0.540984 0.426230 +vt 0.000000 0.377049 +vt 0.000000 0.360656 +vt 0.590164 0.426230 +vt 0.245902 0.377049 +vt 0.049180 0.754098 +vt 0.000000 0.426229 +vt 0.049180 0.426229 +vt 0.344262 0.426230 +vt 0.393443 0.409836 +vt 0.393443 0.426230 +vt 0.098361 0.754098 +vt 0.098361 0.426230 +vt 0.147541 0.426230 +vt 0.196721 0.409836 +vt 0.491803 0.377049 +vt 0.196721 0.377049 +vt 0.147541 0.377049 +vt 0.540984 0.409836 +vt 0.590164 0.409836 +vt 0.295082 0.426230 +vt 0.344262 0.409836 +vt 0.393443 0.377049 +vt 0.049180 0.377049 +vt 0.393443 0.770492 +vt 0.442623 0.770492 +vt 0.344262 0.803279 +vt 0.245902 0.770492 +vt 0.245902 0.803279 +vt 0.098361 0.803279 +vt 0.098361 0.770492 +vt 0.000000 0.803279 +vt 0.590164 0.770492 +vt 0.491803 0.803279 +vt 0.491803 0.770492 +vt 0.442623 0.754098 +vt 0.147541 0.803279 +vt 0.049180 0.754098 +vt 0.590164 0.803279 +vt 0.590164 0.819672 +vt 0.442623 0.409836 +vt 0.442623 0.377049 +vt 0.540984 0.377049 +vt 0.491803 0.409836 +vt 0.590164 0.377049 +vt 0.000000 0.409836 +vt 0.098361 0.377049 +vt 0.147541 0.409836 +vt 0.295082 0.409836 +vt 0.295082 0.377049 +vt 0.344262 0.377049 +vt 0.098361 0.409836 +vt 0.131148 0.983607 +vt 0.147541 0.967213 +vt 0.147541 0.983607 +vt 0.114754 0.983607 +vt 0.131148 0.967213 +vt 0.098361 0.967213 +vt 0.114754 0.967213 +vt 0.081967 0.983607 +vt 0.098361 0.983607 +vt 0.065574 0.983607 +vt 0.081967 0.967213 +vt 0.049180 0.967213 +vt 0.065574 0.967213 +vt 0.049180 0.983607 +vt 0.016393 0.983607 +vt 0.032787 0.967213 +vt 0.000000 0.967213 +vt 0.016393 0.967213 +vt 0.180328 0.983607 +vt 0.196721 0.967213 +vt 0.196721 0.983607 +vt 0.163934 0.983607 +vt 0.180328 0.967213 +vt 0.163934 0.967213 +vt 0.243705 0.991803 +vt 0.229508 0.967213 +vt 0.215311 0.991803 +vt 0.081967 1.000000 +vt 0.163934 1.000000 +vt 0.131148 1.000000 +vt 0.016393 1.000000 +vt 0.065574 1.000000 +vt 0.147541 1.000000 +vt 0.114754 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.983607 +vt 0.098361 1.000000 +vt 0.180328 1.000000 +vt 0.147541 0.196721 +vt 0.131148 0.213115 +vt 0.131148 0.196721 +vt 0.114754 0.196721 +vt 0.114754 0.213115 +vt 0.098361 0.213115 +vt 0.098361 0.196721 +vt 0.081967 0.213115 +vt 0.081967 0.196721 +vt 0.065574 0.213115 +vt 0.065574 0.196721 +vt 0.049180 0.213115 +vt 0.032787 0.213115 +vt 0.016393 0.213115 +vt 0.016393 0.196721 +vt 0.000000 0.213115 +vt 0.000000 0.196721 +vt 0.196721 0.196721 +vt 0.180328 0.213115 +vt 0.180328 0.196721 +vt 0.163934 0.213115 +vt 0.163934 0.196721 +vt 0.147541 0.213115 +vt 0.245902 0.196721 +vt 0.221312 0.182524 +vt 0.221311 0.210918 +vt 0.098361 0.065574 +vt 0.180328 0.065574 +vt 0.147541 0.065574 +vt 0.032787 0.065574 +vt 0.081967 0.065574 +vt 0.163934 0.065574 +vt 0.131148 0.065574 +vt 0.016393 0.065574 +vt 0.065574 0.065574 +vt 0.114754 0.065574 +vt 0.196721 0.065574 +vt 0.327869 0.016393 +vt 0.295082 -0.000000 +vt 0.327869 -0.000000 +vt 0.295082 0.016393 +vt 0.032787 -0.000000 +vt 0.032787 0.016393 +vt -0.000000 -0.000000 +vt 0.590164 0.016393 +vt 0.590164 -0.000000 +vt 0.459016 0.065574 +vt 0.229508 0.098361 +vt 0.229508 0.065574 +vt 0.524590 0.196721 +vt 0.491803 0.081967 +vt 0.524590 0.081967 +vt 0.639344 0.196721 +vt 0.606557 0.081967 +vt 0.639344 0.081967 +vt 0.688525 0.196721 +vt 0.655738 0.081967 +vt 0.688525 0.081967 +vt 0.573770 0.196721 +vt 0.540984 0.081967 +vt 0.573770 0.081967 +vt 0.049180 0.016393 +vt 0.278689 0.049180 +vt 0.278689 0.016393 +vt 0.491803 0.196721 +vt 0.475410 0.081967 +vt 0.655738 0.196721 +vt 0.540984 0.196721 +vt 0.606557 0.196721 +vt 0.590164 0.081967 +vt 0.459016 0.180328 +vt 0.262295 0.213115 +vt 0.459016 0.213115 +vt 0.262295 0.131148 +vt 0.459016 0.163934 +vt 0.459016 0.131148 +vt 0.262295 0.180328 +vt 0.459016 0.114754 +vt 0.262295 0.114754 +vt 0.934426 0.983607 +vt 0.885246 0.901639 +vt 1.000000 0.901639 +vt 0.885246 0.983607 +vt 0.868852 0.901639 +vt 0.819672 0.983607 +vt 0.754098 0.901639 +vt 0.786885 0.803279 +vt 0.803279 0.885246 +vt 0.786885 0.885246 +vt 0.770492 0.803279 +vt 0.754098 0.852459 +vt 0.754098 0.803279 +vt 0.868852 0.983607 +vt 0.360656 0.967213 +vt 0.327869 1.000000 +vt 0.327869 0.967213 +vt 0.278689 1.000000 +vt 0.262295 0.967213 +vt 0.278689 0.967213 +vt 0.311475 1.000000 +vt 0.311475 0.967213 +vt 0.360656 1.000000 +vt 0.262295 1.000000 +vt 0.622951 1.000000 +vt 0.672131 0.934426 +vt 0.672131 1.000000 +vt 0.622951 0.934426 +vt 0.672131 0.868852 +vt 0.622951 0.868852 +vt 0.672131 0.803279 +vt 0.622951 0.803279 +vt 0.672131 0.737705 +vt 0.622951 0.737705 +vt 0.672131 0.672131 +vt 0.622951 0.672131 +vt 0.672131 0.606557 +vt 0.622951 0.606557 +vt 0.672131 0.540984 +vt 0.622951 0.540984 +vt 0.672131 0.475410 +vt 0.622951 0.475410 +vt 0.672131 0.409836 +vt 0.622951 0.409836 +vt 0.672131 0.344262 +vt 0.622951 0.344262 +vt 0.672131 0.278689 +vt 0.622951 0.278689 +vt 0.672131 0.213115 +vt 0.688525 0.278689 +vt 0.737705 0.344262 +vt 0.688525 0.344262 +vt 0.688525 0.213115 +vt 0.737705 0.278689 +vt 0.688525 0.995151 +vt 0.672131 0.934426 +vt 0.688525 0.939275 +vt 0.606557 0.995151 +vt 0.688525 0.929577 +vt 0.672131 0.868853 +vt 0.688525 0.873702 +vt 0.606557 0.929577 +vt 0.688525 0.864004 +vt 0.672131 0.803279 +vt 0.688525 0.808128 +vt 0.606557 0.808128 +vt 0.606557 0.864004 +vt 0.688525 0.798430 +vt 0.672131 0.737705 +vt 0.688525 0.742554 +vt 0.606557 0.742554 +vt 0.606557 0.798430 +vt 0.688525 0.732856 +vt 0.672131 0.672131 +vt 0.688525 0.676980 +vt 0.606557 0.676980 +vt 0.606557 0.732856 +vt 0.688525 0.667282 +vt 0.672131 0.606558 +vt 0.688525 0.611407 +vt 0.606557 0.667282 +vt 0.688525 0.545833 +vt 0.672131 0.606557 +vt 0.672131 0.540984 +vt 0.606557 0.545833 +vt 0.606557 0.601709 +vt 0.688525 0.536135 +vt 0.672131 0.475410 +vt 0.688525 0.480259 +vt 0.606557 0.480259 +vt 0.606557 0.536135 +vt 0.688525 0.470561 +vt 0.672131 0.409836 +vt 0.688525 0.414685 +vt 0.606557 0.414685 +vt 0.606557 0.470561 +vt 0.688525 0.404987 +vt 0.672131 0.344263 +vt 0.688525 0.349112 +vt 0.606557 0.349111 +vt 0.606557 0.404987 +vt 0.688525 0.283538 +vt 0.672131 0.344262 +vt 0.672131 0.278689 +vt 0.606557 0.283538 +vt 0.606557 0.339414 +vt 0.688525 0.217964 +vt 0.672131 0.278689 +vt 0.672131 0.213115 +vt 0.606557 0.217964 +vt 0.606557 0.273840 +vt 0.737705 0.409836 +vt 0.688525 0.409836 +vt 0.737705 0.475410 +vt 0.688525 0.475410 +vt 0.737705 0.540984 +vt 0.688525 0.540984 +vt 0.737705 0.606557 +vt 0.688525 0.606557 +vt 0.737705 0.672131 +vt 0.688525 0.672131 +vt 0.737705 0.737705 +vt 0.688525 0.737705 +vt 0.737705 0.803279 +vt 0.688525 0.803279 +vt 0.737705 0.868852 +vt 0.688525 0.868852 +vt 0.737705 0.934426 +vt 0.688525 0.934426 +vt 0.737705 1.000000 +vt 0.688525 1.000000 +vt 0.606557 0.611407 +vt 0.688525 0.601709 +vt 0.672131 0.409836 +vt 0.114754 0.229508 +vt 0.229508 0.950820 +vt 0.524590 0.950820 +vt 0.377049 0.950820 +vt 0.081967 0.950820 +vt 0.163934 0.229508 +vt 0.213115 0.229508 +vt 0.262295 0.229508 +vt 0.459016 0.229508 +vt 0.409836 0.229508 +vt 0.311475 0.229508 +vt 0.508197 0.229508 +vt 0.360656 0.229508 +vt 0.065574 0.229508 +vt 0.000000 0.754098 +vt 0.221311 0.997804 +vt 0.229508 1.000000 +vt 0.237705 0.997804 +vt 0.245902 0.983607 +vt 0.243705 0.975410 +vt 0.237705 0.969409 +vt 0.221311 0.969409 +vt 0.215311 0.975410 +vt 0.213115 0.983607 +vt 0.196721 1.000000 +vt 0.196721 0.213115 +vt 0.229508 0.213115 +vt 0.237705 0.210918 +vt 0.243705 0.204918 +vt 0.243705 0.188525 +vt 0.237705 0.182524 +vt 0.229508 0.180328 +vt 0.215311 0.188525 +vt 0.213115 0.196721 +vt 0.215311 0.204918 +vt -0.000000 0.065574 +vt -0.000000 0.016393 +vt 0.459016 0.098361 +vt 0.049180 0.049180 +vt 0.475410 0.196721 +vt 0.590164 0.196721 +vt 0.262295 0.163934 +vt 0.803279 0.803279 +vt 0.770492 0.852459 +vt 0.622951 0.213115 +vt 0.737705 0.213115 +vt 0.672131 1.000000 +vt 0.606557 0.939275 +vt 0.672131 0.934426 +vt 0.606557 0.873702 +vt 0.672131 0.868852 +vt 0.672131 0.803279 +vt 0.672131 0.737705 +vt 0.672131 0.672131 +vt 0.672131 0.540984 +vt 0.672131 0.475410 +vt 0.688525 0.339414 +vt 0.688525 0.273840 +s 1 +usemtl Texture +f 6/1/1 73/2/1 4/3/1 +f 57/4/2 90/5/2 59/6/2 +f 67/7/2 93/8/2 94/9/2 +f 20/10/1 82/11/1 18/12/1 +f 10/13/1 77/14/1 8/15/1 +f 51/16/2 87/17/2 53/18/2 +f 59/6/2 91/19/2 61/20/2 +f 24/21/1 84/22/1 22/23/1 +f 14/24/1 79/25/1 12/26/1 +f 67/27/2 95/28/2 69/29/2 +f 14/24/3 126/30/4 127/31/3 +f 53/18/2 88/32/2 55/33/2 +f 2/34/1 73/2/1 74/35/1 +f 15/36/5 151/37/6 13/38/6 +f 32/39/7 139/40/8 140/41/7 +f 10/13/9 126/42/4 12/26/4 +f 10/13/9 124/43/10 125/44/9 +f 2/34/11 132/45/12 122/46/11 +f 4/3/13 122/47/11 121/48/13 +f 8/15/10 123/49/14 124/50/10 +f 22/23/15 132/51/12 24/21/12 +f 4/3/13 123/52/14 6/1/14 +f 22/23/15 130/53/16 131/54/15 +f 20/10/16 129/55/17 130/56/16 +f 16/57/18 129/58/17 18/12/17 +f 16/57/18 127/59/3 128/60/18 +f 44/61/7 163/62/8 43/63/8 +f 13/38/6 150/64/19 11/65/19 +f 11/65/19 149/66/20 9/67/20 +f 9/67/20 148/68/21 7/69/21 +f 1/70/22 156/71/23 23/72/23 +f 3/73/24 145/74/22 1/70/22 +f 7/69/21 147/75/25 5/76/25 +f 23/72/23 155/77/26 21/78/26 +f 5/76/25 146/79/24 3/73/24 +f 19/80/27 155/81/26 154/82/27 +f 17/83/28 154/84/27 153/85/28 +f 17/83/28 152/86/5 15/36/5 +f 60/87/1 105/88/1 58/89/1 +f 71/90/29 49/91/8 72/92/29 +f 68/93/1 113/94/1 66/95/1 +f 69/29/30 72/92/29 70/96/30 +f 17/83/2 114/97/2 19/98/2 +f 67/27/31 70/96/30 68/99/31 +f 7/69/2 104/100/2 9/67/2 +f 65/101/32 68/102/31 66/103/32 +f 54/104/1 99/105/1 52/106/1 +f 63/107/33 66/95/32 64/108/33 +f 62/109/1 107/110/1 60/87/1 +f 61/20/34 64/108/33 62/109/34 +f 21/78/2 118/111/2 23/72/2 +f 60/87/35 61/20/34 62/109/34 +f 13/38/2 106/112/2 108/113/2 +f 57/4/36 60/87/35 58/89/36 +f 68/99/1 117/114/1 115/115/1 +f 55/33/37 58/89/36 56/116/37 +f 56/116/1 101/117/1 54/104/1 +f 53/18/38 56/116/37 54/104/38 +f 1/70/2 98/118/2 3/73/2 +f 51/16/7 54/104/38 52/106/7 +f 15/36/2 112/119/2 17/83/2 +f 49/91/8 51/16/7 52/106/7 +f 74/35/8 86/120/7 75/121/8 +f 73/2/7 87/17/38 86/120/7 +f 76/122/38 88/32/37 87/17/38 +f 77/14/37 89/123/36 88/32/37 +f 78/124/36 90/5/35 89/123/36 +f 79/25/35 91/19/34 90/5/35 +f 91/19/34 81/125/33 92/126/33 +f 92/126/33 82/11/32 93/8/32 +f 93/8/32 83/127/31 94/9/31 +f 94/128/31 84/22/30 95/28/30 +f 95/28/30 85/129/29 96/130/29 +f 85/129/29 75/121/8 96/130/29 +f 50/131/2 86/120/2 51/16/2 +f 14/24/1 81/125/1 80/132/1 +f 2/34/1 85/129/1 24/21/1 +f 71/90/2 75/121/2 50/131/2 +f 63/107/2 93/8/2 65/133/2 +f 55/33/2 89/123/2 57/4/2 +f 12/26/1 78/124/1 10/13/1 +f 22/23/1 83/134/1 20/135/1 +f 69/29/2 96/130/2 71/90/2 +f 61/20/2 92/126/2 63/107/2 +f 8/15/1 76/122/1 6/1/1 +f 18/12/1 81/125/1 16/57/1 +f 118/111/29 120/136/8 97/137/8 +f 116/138/30 119/139/29 118/111/29 +f 114/140/31 117/114/30 116/138/30 +f 112/119/32 115/141/31 114/97/31 +f 110/142/33 113/94/32 112/119/32 +f 109/143/34 110/142/33 108/113/34 +f 107/110/35 108/113/34 106/112/35 +f 105/88/36 106/112/35 104/100/36 +f 103/144/37 104/100/36 102/145/37 +f 101/117/38 102/145/37 100/146/38 +f 99/105/7 100/146/38 98/118/7 +f 120/136/8 98/118/7 97/137/8 +f 3/73/2 100/146/2 5/76/2 +f 52/106/1 120/136/1 49/91/1 +f 13/38/2 110/142/2 15/36/2 +f 1/70/2 118/111/2 97/137/2 +f 49/91/1 119/139/1 72/92/1 +f 66/95/1 111/147/1 64/108/1 +f 58/89/1 103/144/1 56/116/1 +f 9/67/2 106/112/2 11/65/2 +f 19/80/2 116/138/2 21/78/2 +f 72/92/1 117/114/1 70/96/1 +f 64/108/1 109/143/1 62/109/1 +f 5/76/2 102/145/2 7/69/2 +f 25/148/1 122/149/1 26/150/1 +f 27/151/1 121/152/1 25/148/1 +f 27/151/1 124/153/1 123/154/1 +f 29/155/1 124/153/1 28/156/1 +f 30/157/1 125/158/1 29/155/1 +f 30/157/1 127/159/1 126/160/1 +f 32/39/1 127/159/1 31/161/1 +f 33/162/1 128/163/1 32/39/1 +f 33/162/1 130/164/1 129/165/1 +f 35/166/1 130/167/1 34/168/1 +f 36/169/1 131/170/1 35/166/1 +f 36/169/1 122/149/1 132/171/1 +f 143/172/1 139/173/1 135/174/1 +f 28/156/31 137/175/30 29/155/30 +f 35/166/36 144/176/35 36/169/35 +f 26/150/34 133/177/33 25/148/33 +f 33/162/38 140/41/7 141/178/38 +f 30/157/29 137/175/30 138/179/29 +f 36/169/35 134/180/34 26/150/34 +f 25/148/33 135/181/32 27/151/32 +f 33/162/38 142/182/37 34/183/37 +f 31/161/8 138/179/29 139/40/8 +f 27/151/32 136/184/31 28/156/31 +f 34/168/37 143/185/36 35/166/36 +f 37/186/2 146/187/2 38/188/2 +f 39/189/2 146/187/2 147/190/2 +f 39/189/2 148/191/2 40/192/2 +f 40/192/2 149/193/2 41/194/2 +f 41/194/2 150/195/2 42/196/2 +f 43/63/2 150/195/2 151/197/2 +f 43/63/2 152/198/2 44/61/2 +f 44/61/2 153/199/2 45/200/2 +f 45/200/2 154/201/2 46/202/2 +f 46/203/2 155/204/2 47/205/2 +f 47/205/2 156/206/2 48/207/2 +f 37/186/2 156/206/2 145/208/2 +f 160/209/2 164/210/2 168/211/2 +f 41/194/30 160/212/31 40/192/31 +f 48/207/35 167/213/36 47/205/36 +f 38/188/33 157/214/34 37/186/34 +f 45/200/38 164/215/7 44/61/7 +f 42/196/29 161/216/30 41/194/30 +f 37/186/34 168/217/35 48/207/35 +f 39/189/32 158/218/33 38/188/33 +f 46/202/37 165/219/38 45/200/38 +f 43/63/8 162/220/29 42/196/29 +f 40/192/31 159/221/32 39/189/32 +f 47/205/36 166/222/37 46/203/37 +f 170/223/39 171/224/31 169/225/31 +f 172/226/2 175/227/2 171/224/2 +f 176/228/40 173/229/37 175/227/37 +f 174/230/1 169/225/1 173/231/1 +f 175/232/34 169/233/34 171/234/34 +f 178/235/41 174/236/40 176/237/40 +f 179/238/42 172/239/39 170/240/39 +f 188/241/43 181/242/43 182/243/43 +f 185/244/44 184/245/44 183/246/44 +f 183/247/8 182/248/8 181/249/8 +f 177/250/1 183/251/1 174/236/1 +f 179/238/1 181/242/1 187/252/1 +f 178/235/2 184/245/2 186/253/2 +f 180/254/2 182/255/2 172/239/2 +f 190/256/45 191/257/45 189/258/45 +f 193/259/46 195/260/46 194/261/46 +f 195/260/47 192/262/47 190/256/47 +f 193/259/48 189/263/48 191/264/48 +f 198/256/47 199/257/47 197/258/47 +f 201/259/48 203/260/48 202/261/48 +f 203/260/46 200/262/46 198/256/46 +f 201/259/45 197/263/45 199/264/45 +f 206/256/46 207/257/46 205/258/46 +f 209/259/45 211/260/45 210/261/45 +f 211/260/48 208/262/48 206/256/48 +f 209/259/47 205/263/47 207/264/47 +f 214/256/48 215/257/48 213/258/48 +f 217/259/47 219/260/47 218/261/47 +f 219/260/45 216/262/45 214/256/45 +f 217/259/46 213/263/46 215/264/46 +f 222/265/31 223/266/31 221/267/31 +f 224/268/2 227/269/2 223/266/2 +f 227/269/37 226/270/37 225/271/37 +f 226/272/49 221/273/49 225/274/49 +f 224/275/8 226/276/8 228/277/8 +f 230/265/34 231/266/34 229/267/34 +f 232/268/2 235/269/2 231/266/2 +f 235/269/8 234/270/8 233/271/8 +f 234/272/50 229/273/50 233/274/50 +f 232/275/31 234/276/31 236/277/31 +f 238/265/37 239/266/37 237/267/37 +f 240/268/2 243/269/2 239/266/2 +f 243/269/31 242/270/31 241/271/31 +f 242/272/51 237/273/51 241/274/51 +f 240/275/34 242/276/34 244/277/34 +f 246/265/8 247/266/8 245/267/8 +f 247/266/2 252/278/2 251/269/2 +f 251/269/34 250/270/34 249/271/34 +f 250/272/52 245/273/52 249/274/52 +f 248/275/37 250/276/37 252/277/37 +f 253/279/31 260/280/31 254/281/31 +f 258/282/1 253/283/1 256/284/1 +f 259/285/37 256/284/37 257/286/37 +f 260/280/2 257/286/2 254/281/2 +f 261/279/46 268/280/46 262/281/46 +f 266/282/1 261/283/1 264/284/1 +f 267/285/45 264/284/45 265/286/45 +f 268/280/2 265/286/2 262/281/2 +f 271/287/34 270/281/34 269/279/34 +f 274/282/1 269/283/1 272/284/1 +f 273/286/8 274/282/8 272/284/8 +f 276/280/2 273/286/2 270/281/2 +f 279/287/47 278/281/47 277/279/47 +f 280/284/1 279/288/1 277/283/1 +f 281/286/48 282/282/48 280/284/48 +f 278/281/2 283/285/2 281/286/2 +f 287/287/37 286/281/37 285/279/37 +f 288/284/1 287/288/1 285/283/1 +f 289/286/31 290/282/31 288/284/31 +f 292/280/2 289/286/2 286/281/2 +f 295/287/45 294/281/45 293/279/45 +f 298/282/1 293/283/1 296/284/1 +f 297/286/46 298/282/46 296/284/46 +f 300/280/2 297/286/2 294/281/2 +f 303/287/8 302/281/8 301/279/8 +f 304/284/1 303/288/1 301/283/1 +f 307/285/34 304/284/34 305/286/34 +f 308/280/2 305/286/2 302/281/2 +f 311/287/48 310/281/48 309/279/48 +f 314/282/1 309/283/1 312/284/1 +f 313/286/47 314/282/47 312/284/47 +f 316/280/2 313/286/2 310/281/2 +f 319/287/31 318/281/31 317/279/31 +f 322/282/1 317/283/1 320/284/1 +f 323/285/37 320/284/37 321/286/37 +f 324/280/2 321/286/2 318/281/2 +f 327/287/46 326/281/46 325/279/46 +f 330/282/1 325/283/1 328/284/1 +f 331/285/45 328/284/45 329/286/45 +f 332/280/2 329/286/2 326/281/2 +f 335/287/34 334/281/34 333/279/34 +f 338/282/1 333/283/1 336/284/1 +f 337/286/8 338/282/8 336/284/8 +f 340/280/2 337/286/2 334/281/2 +f 343/287/47 342/281/47 341/279/47 +f 344/284/1 343/288/1 341/283/1 +f 345/286/48 346/282/48 344/284/48 +f 342/281/2 347/285/2 345/286/2 +f 351/287/37 350/281/37 349/279/37 +f 354/282/1 349/283/1 352/284/1 +f 353/286/31 354/282/31 352/284/31 +f 356/280/2 353/286/2 350/281/2 +f 359/287/45 358/281/45 357/279/45 +f 360/284/1 359/288/1 357/283/1 +f 361/286/46 362/282/46 360/284/46 +f 364/280/2 361/286/2 358/281/2 +f 367/287/8 366/281/8 365/279/8 +f 368/284/1 367/288/1 365/283/1 +f 369/286/34 370/282/34 368/284/34 +f 372/280/2 369/286/2 366/281/2 +f 375/287/48 374/281/48 373/279/48 +f 378/282/1 373/283/1 376/284/1 +f 377/286/47 378/282/47 376/284/47 +f 374/281/2 379/285/2 377/286/2 +f 408/289/8 406/290/7 405/291/8 +f 407/292/7 409/293/38 406/290/7 +f 410/294/38 411/295/37 409/293/38 +f 412/296/37 413/297/36 411/295/37 +f 414/298/36 415/299/35 413/297/36 +f 416/300/35 417/301/34 415/299/35 +f 418/302/34 419/303/33 417/301/34 +f 420/304/33 421/305/32 419/303/33 +f 422/306/32 423/307/31 421/305/32 +f 424/308/31 425/309/30 423/307/31 +f 426/310/30 427/311/29 425/309/30 +f 428/312/29 405/313/8 427/311/29 +f 402/314/36 403/315/35 404/316/35 +f 404/317/35 381/318/34 384/314/34 +f 381/319/2 406/320/2 382/321/2 +f 384/322/1 407/292/1 408/289/1 +f 382/323/2 409/324/2 385/325/2 +f 383/326/1 410/294/1 407/292/1 +f 385/327/2 411/328/2 387/329/2 +f 388/330/1 410/294/1 386/331/1 +f 387/332/2 413/333/2 389/334/2 +f 390/335/1 412/296/1 388/336/1 +f 389/337/2 415/338/2 391/339/2 +f 392/340/1 414/298/1 390/341/1 +f 391/342/2 417/343/2 393/344/2 +f 392/345/1 418/302/1 416/300/1 +f 395/346/2 417/347/2 419/348/2 +f 396/349/1 418/302/1 394/350/1 +f 395/351/2 421/352/2 397/353/2 +f 398/354/1 420/304/1 396/355/1 +f 397/356/2 423/357/2 399/358/2 +f 400/359/1 422/306/1 398/360/1 +f 399/361/2 425/362/2 401/363/2 +f 402/364/1 424/308/1 400/365/1 +f 403/366/2 425/367/2 427/368/2 +f 404/369/1 426/310/1 402/370/1 +f 381/371/2 427/372/2 405/373/2 +f 384/374/1 428/312/1 404/375/1 +f 400/316/37 401/376/36 402/377/36 +f 398/377/38 399/378/37 400/379/37 +f 396/379/7 397/380/38 398/381/38 +f 394/381/8 395/382/7 396/383/7 +f 392/383/29 393/384/8 394/385/8 +f 390/385/30 391/386/29 392/387/29 +f 388/387/31 389/388/30 390/389/30 +f 386/389/32 387/390/31 388/391/31 +f 383/391/33 385/392/32 386/393/32 +f 384/393/34 382/394/33 383/395/33 +f 456/289/8 454/290/7 453/291/8 +f 455/292/7 457/293/38 454/290/7 +f 458/294/38 459/295/37 457/293/38 +f 460/296/37 461/297/36 459/295/37 +f 462/298/36 463/299/35 461/297/36 +f 464/300/35 465/301/34 463/299/35 +f 466/302/34 467/303/33 465/301/34 +f 468/304/33 469/305/32 467/303/33 +f 470/306/32 471/307/31 469/305/32 +f 472/308/31 473/309/30 471/307/31 +f 474/310/30 475/311/29 473/309/30 +f 476/312/29 453/313/8 475/311/29 +f 450/314/36 451/315/35 452/316/35 +f 452/317/35 429/318/34 432/314/34 +f 429/319/2 454/320/2 430/321/2 +f 432/322/1 455/292/1 456/289/1 +f 430/323/2 457/324/2 433/325/2 +f 431/326/1 458/294/1 455/292/1 +f 433/327/2 459/328/2 435/329/2 +f 434/331/1 460/296/1 458/294/1 +f 435/332/2 461/333/2 437/334/2 +f 438/335/1 460/296/1 436/336/1 +f 437/337/2 463/338/2 439/339/2 +f 440/340/1 462/298/1 438/341/1 +f 439/342/2 465/343/2 441/344/2 +f 442/396/1 464/300/1 440/345/1 +f 441/397/2 467/348/2 443/346/2 +f 444/349/1 466/302/1 442/350/1 +f 443/351/2 469/352/2 445/353/2 +f 446/354/1 468/304/1 444/355/1 +f 445/356/2 471/357/2 447/358/2 +f 448/359/1 470/306/1 446/360/1 +f 449/363/2 471/398/2 473/362/2 +f 450/364/1 472/308/1 448/365/1 +f 451/366/2 473/367/2 475/368/2 +f 452/369/1 474/310/1 450/370/1 +f 429/371/2 475/372/2 453/373/2 +f 432/374/1 476/312/1 452/375/1 +f 448/316/37 449/376/36 450/377/36 +f 446/377/38 447/378/37 448/379/37 +f 444/379/7 445/380/38 446/381/38 +f 442/381/8 443/382/7 444/383/7 +f 440/383/29 441/384/8 442/385/8 +f 438/385/30 439/386/29 440/387/29 +f 436/387/31 437/388/30 438/389/30 +f 434/389/32 435/390/31 436/391/31 +f 431/391/33 433/392/32 434/393/32 +f 432/393/34 430/394/33 431/395/33 +f 477/225/31 480/226/39 479/224/31 +f 480/226/2 483/227/2 479/224/2 +f 484/228/40 481/229/37 483/227/37 +f 482/230/1 477/225/1 481/231/1 +f 483/232/34 477/233/34 479/234/34 +f 486/235/41 482/236/40 484/237/40 +f 487/238/42 480/239/39 478/240/39 +f 496/241/43 489/242/43 490/243/43 +f 493/244/44 492/245/44 491/246/44 +f 491/247/8 490/248/8 489/249/8 +f 485/250/1 491/251/1 482/236/1 +f 487/238/1 489/242/1 495/252/1 +f 486/235/2 492/245/2 494/253/2 +f 488/254/2 490/255/2 480/239/2 +f 6/1/1 76/122/1 73/2/1 +f 57/4/2 89/123/2 90/5/2 +f 67/7/2 65/133/2 93/8/2 +f 20/10/1 83/127/1 82/11/1 +f 10/13/1 78/124/1 77/14/1 +f 51/16/2 86/120/2 87/17/2 +f 59/6/2 90/5/2 91/19/2 +f 24/21/1 85/129/1 84/22/1 +f 14/24/1 80/132/1 79/25/1 +f 67/27/2 94/128/2 95/28/2 +f 14/24/3 12/26/4 126/30/4 +f 53/18/2 87/17/2 88/32/2 +f 2/34/1 4/3/1 73/2/1 +f 15/36/5 152/399/5 151/37/6 +f 32/39/7 31/161/8 139/40/8 +f 10/13/9 125/400/9 126/42/4 +f 10/13/9 8/15/10 124/43/10 +f 2/34/11 24/21/12 132/45/12 +f 4/3/13 2/34/11 122/47/11 +f 8/15/10 6/1/14 123/49/14 +f 22/23/15 131/401/15 132/51/12 +f 4/3/13 121/402/13 123/52/14 +f 22/23/15 20/135/16 130/53/16 +f 20/10/16 18/12/17 129/55/17 +f 16/57/18 128/403/18 129/58/17 +f 16/57/18 14/24/3 127/59/3 +f 44/61/7 164/215/7 163/62/8 +f 13/38/6 151/404/6 150/64/19 +f 11/65/19 150/405/19 149/66/20 +f 9/67/20 149/406/20 148/68/21 +f 1/70/22 145/407/22 156/71/23 +f 3/73/24 146/408/24 145/74/22 +f 7/69/21 148/409/21 147/75/25 +f 23/72/23 156/410/23 155/77/26 +f 5/76/25 147/411/25 146/79/24 +f 19/80/27 21/78/26 155/81/26 +f 17/83/28 19/98/27 154/84/27 +f 17/83/28 153/412/28 152/86/5 +f 60/87/1 107/110/1 105/88/1 +f 71/90/29 50/131/8 49/91/8 +f 68/93/1 115/141/1 113/94/1 +f 69/29/30 71/90/29 72/92/29 +f 17/83/2 112/119/2 114/97/2 +f 67/27/31 69/29/30 70/96/30 +f 7/69/2 102/145/2 104/100/2 +f 65/101/32 67/413/31 68/102/31 +f 54/104/1 101/117/1 99/105/1 +f 63/107/33 65/133/32 66/95/32 +f 62/109/1 109/143/1 107/110/1 +f 61/20/34 63/107/33 64/108/33 +f 21/78/2 116/138/2 118/111/2 +f 60/87/35 59/6/35 61/20/34 +f 13/38/2 11/65/2 106/112/2 +f 57/4/36 59/6/35 60/87/35 +f 68/99/1 70/96/1 117/114/1 +f 55/33/37 57/4/36 58/89/36 +f 56/116/1 103/144/1 101/117/1 +f 53/18/38 55/33/37 56/116/37 +f 1/70/2 97/137/2 98/118/2 +f 51/16/7 53/18/38 54/104/38 +f 15/36/2 110/142/2 112/119/2 +f 49/91/8 50/131/8 51/16/7 +f 74/35/8 73/2/7 86/120/7 +f 73/2/7 76/122/38 87/17/38 +f 76/122/38 77/14/37 88/32/37 +f 77/14/37 78/124/36 89/123/36 +f 78/124/36 79/25/35 90/5/35 +f 79/25/35 80/132/34 91/19/34 +f 91/19/34 80/132/34 81/125/33 +f 92/126/33 81/125/33 82/11/32 +f 93/8/32 82/11/32 83/127/31 +f 94/128/31 83/134/31 84/22/30 +f 95/28/30 84/22/30 85/129/29 +f 85/129/29 74/35/8 75/121/8 +f 50/131/2 75/121/2 86/120/2 +f 14/24/1 16/57/1 81/125/1 +f 2/34/1 74/35/1 85/129/1 +f 71/90/2 96/130/2 75/121/2 +f 63/107/2 92/126/2 93/8/2 +f 55/33/2 88/32/2 89/123/2 +f 12/26/1 79/25/1 78/124/1 +f 22/23/1 84/22/1 83/134/1 +f 69/29/2 95/28/2 96/130/2 +f 61/20/2 91/19/2 92/126/2 +f 8/15/1 77/14/1 76/122/1 +f 18/12/1 82/11/1 81/125/1 +f 118/111/29 119/139/29 120/136/8 +f 116/138/30 117/114/30 119/139/29 +f 114/140/31 115/115/31 117/114/30 +f 112/119/32 113/94/32 115/141/31 +f 110/142/33 111/147/33 113/94/32 +f 109/143/34 111/147/33 110/142/33 +f 107/110/35 109/143/34 108/113/34 +f 105/88/36 107/110/35 106/112/35 +f 103/144/37 105/88/36 104/100/36 +f 101/117/38 103/144/37 102/145/37 +f 99/105/7 101/117/38 100/146/38 +f 120/136/8 99/105/7 98/118/7 +f 3/73/2 98/118/2 100/146/2 +f 52/106/1 99/105/1 120/136/1 +f 13/38/2 108/113/2 110/142/2 +f 1/70/2 23/72/2 118/111/2 +f 49/91/1 120/136/1 119/139/1 +f 66/95/1 113/94/1 111/147/1 +f 58/89/1 105/88/1 103/144/1 +f 9/67/2 104/100/2 106/112/2 +f 19/80/2 114/140/2 116/138/2 +f 72/92/1 119/139/1 117/114/1 +f 64/108/1 111/147/1 109/143/1 +f 5/76/2 100/146/2 102/145/2 +f 25/148/1 121/152/1 122/149/1 +f 27/151/1 123/154/1 121/152/1 +f 27/151/1 28/156/1 124/153/1 +f 29/155/1 125/158/1 124/153/1 +f 30/157/1 126/160/1 125/158/1 +f 30/157/1 31/161/1 127/159/1 +f 32/39/1 128/163/1 127/159/1 +f 33/162/1 129/165/1 128/163/1 +f 33/162/1 34/183/1 130/164/1 +f 35/166/1 131/170/1 130/167/1 +f 36/169/1 132/171/1 131/170/1 +f 36/169/1 26/150/1 122/149/1 +f 135/174/1 133/414/1 134/415/1 +f 134/415/1 144/416/1 143/172/1 +f 143/172/1 142/417/1 141/418/1 +f 141/418/1 140/419/1 139/173/1 +f 139/173/1 138/420/1 137/421/1 +f 137/421/1 136/422/1 135/174/1 +f 135/174/1 134/415/1 143/172/1 +f 143/172/1 141/418/1 139/173/1 +f 139/173/1 137/421/1 135/174/1 +f 28/156/31 136/184/31 137/175/30 +f 35/166/36 143/185/36 144/176/35 +f 26/150/34 134/180/34 133/177/33 +f 33/162/38 32/39/7 140/41/7 +f 30/157/29 29/155/30 137/175/30 +f 36/169/35 144/176/35 134/180/34 +f 25/148/33 133/177/33 135/181/32 +f 33/162/38 141/178/38 142/182/37 +f 31/161/8 30/157/29 138/179/29 +f 27/151/32 135/181/32 136/184/31 +f 34/168/37 142/423/37 143/185/36 +f 37/186/2 145/208/2 146/187/2 +f 39/189/2 38/188/2 146/187/2 +f 39/189/2 147/190/2 148/191/2 +f 40/192/2 148/191/2 149/193/2 +f 41/194/2 149/193/2 150/195/2 +f 43/63/2 42/196/2 150/195/2 +f 43/63/2 151/197/2 152/198/2 +f 44/61/2 152/198/2 153/199/2 +f 45/200/2 153/199/2 154/201/2 +f 46/203/2 154/424/2 155/204/2 +f 47/205/2 155/204/2 156/206/2 +f 37/186/2 48/207/2 156/206/2 +f 168/211/2 157/425/2 158/426/2 +f 158/426/2 159/427/2 160/209/2 +f 160/209/2 161/428/2 162/429/2 +f 162/429/2 163/430/2 164/210/2 +f 164/210/2 165/431/2 166/432/2 +f 166/432/2 167/433/2 168/211/2 +f 168/211/2 158/426/2 160/209/2 +f 160/209/2 162/429/2 164/210/2 +f 164/210/2 166/432/2 168/211/2 +f 41/194/30 161/216/30 160/212/31 +f 48/207/35 168/217/35 167/213/36 +f 38/188/33 158/218/33 157/214/34 +f 45/200/38 165/219/38 164/215/7 +f 42/196/29 162/220/29 161/216/30 +f 37/186/34 157/214/34 168/217/35 +f 39/189/32 159/221/32 158/218/33 +f 46/202/37 166/434/37 165/219/38 +f 43/63/8 163/62/8 162/220/29 +f 40/192/31 160/212/31 159/221/32 +f 47/205/36 167/213/36 166/222/37 +f 170/223/39 172/226/39 171/224/31 +f 172/226/2 176/228/2 175/227/2 +f 176/228/40 174/435/40 173/229/37 +f 174/230/1 170/223/1 169/225/1 +f 175/232/34 173/436/34 169/233/34 +f 178/235/41 177/250/41 174/236/40 +f 179/238/42 180/254/42 172/239/39 +f 188/241/43 187/252/43 181/242/43 +f 185/244/44 186/253/44 184/245/44 +f 183/247/8 184/437/8 182/248/8 +f 177/250/1 185/438/1 183/251/1 +f 179/238/1 170/240/1 181/242/1 +f 178/235/2 176/237/2 184/245/2 +f 180/254/2 188/439/2 182/255/2 +f 190/256/45 192/262/45 191/257/45 +f 193/259/46 196/440/46 195/260/46 +f 195/260/47 196/440/47 192/262/47 +f 193/259/48 194/261/48 189/263/48 +f 198/256/47 200/262/47 199/257/47 +f 201/259/48 204/440/48 203/260/48 +f 203/260/46 204/440/46 200/262/46 +f 201/259/45 202/261/45 197/263/45 +f 206/256/46 208/262/46 207/257/46 +f 209/259/45 212/440/45 211/260/45 +f 211/260/48 212/440/48 208/262/48 +f 209/259/47 210/261/47 205/263/47 +f 214/256/48 216/262/48 215/257/48 +f 217/259/47 220/440/47 219/260/47 +f 219/260/45 220/440/45 216/262/45 +f 217/259/46 218/261/46 213/263/46 +f 222/265/31 224/268/31 223/266/31 +f 224/268/2 228/278/2 227/269/2 +f 227/269/37 228/278/37 226/270/37 +f 226/272/49 222/441/49 221/273/49 +f 224/275/8 222/442/8 226/276/8 +f 230/265/34 232/268/34 231/266/34 +f 232/268/2 236/278/2 235/269/2 +f 235/269/8 236/278/8 234/270/8 +f 234/272/50 230/441/50 229/273/50 +f 232/275/31 230/442/31 234/276/31 +f 238/265/37 240/268/37 239/266/37 +f 240/268/2 244/278/2 243/269/2 +f 243/269/31 244/278/31 242/270/31 +f 242/272/51 238/441/51 237/273/51 +f 240/275/34 238/442/34 242/276/34 +f 246/265/8 248/268/8 247/266/8 +f 247/266/2 248/268/2 252/278/2 +f 251/269/34 252/278/34 250/270/34 +f 250/272/52 246/441/52 245/273/52 +f 248/275/37 246/442/37 250/276/37 +f 253/279/31 255/287/31 260/280/31 +f 258/282/1 255/288/1 253/283/1 +f 259/285/37 258/282/37 256/284/37 +f 260/280/2 259/285/2 257/286/2 +f 261/279/46 263/287/46 268/280/46 +f 266/282/1 263/288/1 261/283/1 +f 267/285/45 266/282/45 264/284/45 +f 268/280/2 267/285/2 265/286/2 +f 271/287/34 276/280/34 270/281/34 +f 274/282/1 271/288/1 269/283/1 +f 273/286/8 275/285/8 274/282/8 +f 276/280/2 275/285/2 273/286/2 +f 279/287/47 284/280/47 278/281/47 +f 280/284/1 282/282/1 279/288/1 +f 281/286/48 283/285/48 282/282/48 +f 278/281/2 284/280/2 283/285/2 +f 287/287/37 292/280/37 286/281/37 +f 288/284/1 290/282/1 287/288/1 +f 289/286/31 291/285/31 290/282/31 +f 292/280/2 291/285/2 289/286/2 +f 295/287/45 300/280/45 294/281/45 +f 298/282/1 295/288/1 293/283/1 +f 297/286/46 299/285/46 298/282/46 +f 300/280/2 299/285/2 297/286/2 +f 303/287/8 308/280/8 302/281/8 +f 304/284/1 306/282/1 303/288/1 +f 307/285/34 306/282/34 304/284/34 +f 308/280/2 307/285/2 305/286/2 +f 311/287/48 316/280/48 310/281/48 +f 314/282/1 311/288/1 309/283/1 +f 313/286/47 315/285/47 314/282/47 +f 316/280/2 315/285/2 313/286/2 +f 319/287/31 324/280/31 318/281/31 +f 322/282/1 319/288/1 317/283/1 +f 323/285/37 322/282/37 320/284/37 +f 324/280/2 323/285/2 321/286/2 +f 327/287/46 332/280/46 326/281/46 +f 330/282/1 327/288/1 325/283/1 +f 331/285/45 330/282/45 328/284/45 +f 332/280/2 331/285/2 329/286/2 +f 335/287/34 340/280/34 334/281/34 +f 338/282/1 335/288/1 333/283/1 +f 337/286/8 339/285/8 338/282/8 +f 340/280/2 339/285/2 337/286/2 +f 343/287/47 348/280/47 342/281/47 +f 344/284/1 346/282/1 343/288/1 +f 345/286/48 347/285/48 346/282/48 +f 342/281/2 348/280/2 347/285/2 +f 351/287/37 356/280/37 350/281/37 +f 354/282/1 351/288/1 349/283/1 +f 353/286/31 355/285/31 354/282/31 +f 356/280/2 355/285/2 353/286/2 +f 359/287/45 364/280/45 358/281/45 +f 360/284/1 362/282/1 359/288/1 +f 361/286/46 363/285/46 362/282/46 +f 364/280/2 363/285/2 361/286/2 +f 367/287/8 372/280/8 366/281/8 +f 368/284/1 370/282/1 367/288/1 +f 369/286/34 371/285/34 370/282/34 +f 372/280/2 371/285/2 369/286/2 +f 375/287/48 380/280/48 374/281/48 +f 378/282/1 375/288/1 373/283/1 +f 377/286/47 379/285/47 378/282/47 +f 374/281/2 380/280/2 379/285/2 +f 408/289/8 407/292/7 406/290/7 +f 407/292/7 410/294/38 409/293/38 +f 410/294/38 412/296/37 411/295/37 +f 412/296/37 414/298/36 413/297/36 +f 414/298/36 416/300/35 415/299/35 +f 416/300/35 418/302/34 417/301/34 +f 418/302/34 420/304/33 419/303/33 +f 420/304/33 422/306/32 421/305/32 +f 422/306/32 424/308/31 423/307/31 +f 424/308/31 426/310/30 425/309/30 +f 426/310/30 428/312/29 427/311/29 +f 428/312/29 408/443/8 405/313/8 +f 402/314/36 401/318/36 403/315/35 +f 404/317/35 403/444/35 381/318/34 +f 381/319/2 405/445/2 406/320/2 +f 384/322/1 383/446/1 407/292/1 +f 382/323/2 406/447/2 409/324/2 +f 383/326/1 386/448/1 410/294/1 +f 385/327/2 409/449/2 411/328/2 +f 388/330/1 412/296/1 410/294/1 +f 387/332/2 411/450/2 413/333/2 +f 390/335/1 414/298/1 412/296/1 +f 389/337/2 413/451/2 415/338/2 +f 392/340/1 416/300/1 414/298/1 +f 391/342/2 415/452/2 417/343/2 +f 392/345/1 394/396/1 418/302/1 +f 395/346/2 393/397/2 417/347/2 +f 396/349/1 420/304/1 418/302/1 +f 395/351/2 419/453/2 421/352/2 +f 398/354/1 422/306/1 420/304/1 +f 397/356/2 421/454/2 423/357/2 +f 400/359/1 424/308/1 422/306/1 +f 399/361/2 423/398/2 425/362/2 +f 402/364/1 426/310/1 424/308/1 +f 403/366/2 401/455/2 425/367/2 +f 404/369/1 428/312/1 426/310/1 +f 381/371/2 403/456/2 427/372/2 +f 384/374/1 408/443/1 428/312/1 +f 400/316/37 399/315/37 401/376/36 +f 398/377/38 397/376/38 399/378/37 +f 396/379/7 395/378/7 397/380/38 +f 394/381/8 393/380/8 395/382/7 +f 392/383/29 391/382/29 393/384/8 +f 390/385/30 389/384/30 391/386/29 +f 388/387/31 387/386/31 389/388/30 +f 386/389/32 385/388/32 387/390/31 +f 383/391/33 382/390/33 385/392/32 +f 384/393/34 381/392/34 382/394/33 +f 456/289/8 455/292/7 454/290/7 +f 455/292/7 458/294/38 457/293/38 +f 458/294/38 460/296/37 459/295/37 +f 460/296/37 462/298/36 461/297/36 +f 462/298/36 464/300/35 463/299/35 +f 464/300/35 466/302/34 465/301/34 +f 466/302/34 468/304/33 467/303/33 +f 468/304/33 470/306/32 469/305/32 +f 470/306/32 472/308/31 471/307/31 +f 472/308/31 474/310/30 473/309/30 +f 474/310/30 476/312/29 475/311/29 +f 476/312/29 456/443/8 453/313/8 +f 450/314/36 449/318/36 451/315/35 +f 452/317/35 451/444/35 429/318/34 +f 429/319/2 453/445/2 454/320/2 +f 432/322/1 431/446/1 455/292/1 +f 430/323/2 454/447/2 457/324/2 +f 431/326/1 434/448/1 458/294/1 +f 433/327/2 457/449/2 459/328/2 +f 434/331/1 436/330/1 460/296/1 +f 435/332/2 459/450/2 461/333/2 +f 438/335/1 462/298/1 460/296/1 +f 437/337/2 461/451/2 463/338/2 +f 440/340/1 464/300/1 462/298/1 +f 439/342/2 463/452/2 465/343/2 +f 442/396/1 466/302/1 464/300/1 +f 441/397/2 465/347/2 467/348/2 +f 444/349/1 468/304/1 466/302/1 +f 443/351/2 467/453/2 469/352/2 +f 446/354/1 470/306/1 468/304/1 +f 445/356/2 469/454/2 471/357/2 +f 448/359/1 472/308/1 470/306/1 +f 449/363/2 447/361/2 471/398/2 +f 450/364/1 474/310/1 472/308/1 +f 451/366/2 449/455/2 473/367/2 +f 452/369/1 476/312/1 474/310/1 +f 429/371/2 451/456/2 475/372/2 +f 432/374/1 456/443/1 476/312/1 +f 448/316/37 447/315/37 449/376/36 +f 446/377/38 445/376/38 447/378/37 +f 444/379/7 443/378/7 445/380/38 +f 442/381/8 441/380/8 443/382/7 +f 440/383/29 439/382/29 441/384/8 +f 438/385/30 437/384/30 439/386/29 +f 436/387/31 435/386/31 437/388/30 +f 434/389/32 433/388/32 435/390/31 +f 431/391/33 430/390/33 433/392/32 +f 432/393/34 429/392/34 430/394/33 +f 477/225/31 478/223/39 480/226/39 +f 480/226/2 484/228/2 483/227/2 +f 484/228/40 482/435/40 481/229/37 +f 482/230/1 478/223/1 477/225/1 +f 483/232/34 481/436/34 477/233/34 +f 486/235/41 485/250/41 482/236/40 +f 487/238/42 488/254/42 480/239/39 +f 496/241/43 495/252/43 489/242/43 +f 493/244/44 494/253/44 492/245/44 +f 491/247/8 492/437/8 490/248/8 +f 485/250/1 493/438/1 491/251/1 +f 487/238/1 478/240/1 489/242/1 +f 486/235/2 484/237/2 492/245/2 +f 488/254/2 496/439/2 490/255/2 diff --git a/src/main/resources/assets/hbm/models/bombs/n2.obj b/src/main/resources/assets/hbm/models/bombs/n2.obj index e7570c6ae..f49924763 100644 --- a/src/main/resources/assets/hbm/models/bombs/n2.obj +++ b/src/main/resources/assets/hbm/models/bombs/n2.obj @@ -1,632 +1,1222 @@ -# Blender v2.76 (sub 0) OBJ File: 'n2.blend' +# Blender 4.4.3 # www.blender.org +mtllib n2.mtl o Cylinder -v 0.250000 4.250000 0.000000 -v 0.175000 4.293302 0.000000 -v 0.175000 4.206698 0.000000 -v 0.176777 4.250000 -0.176777 -v 0.123744 4.293302 -0.123744 -v 0.123744 4.206698 -0.123744 -v -0.000000 4.250000 -0.250000 -v -0.000000 4.293302 -0.175000 -v -0.000000 4.206698 -0.175000 -v -0.176777 4.250000 -0.176777 -v -0.123744 4.293302 -0.123744 -v -0.123744 4.206698 -0.123744 -v -0.250000 4.250000 0.000000 -v -0.175000 4.293302 0.000000 -v -0.175000 4.206698 0.000000 -v -0.176777 4.250000 0.176777 -v -0.123744 4.293302 0.123744 -v -0.123744 4.206698 0.123744 -v -0.000000 4.250000 0.250000 -v -0.000000 4.293302 0.175000 -v -0.000000 4.206698 0.175000 -v 0.176777 4.250000 0.176777 -v 0.123744 4.293302 0.123744 -v 0.123744 4.206698 0.123744 -v 0.000000 0.000000 -0.850000 -v 0.000000 0.250000 -1.000000 -v 0.325281 0.000000 -0.785298 -v 0.382683 0.250000 -0.923880 -v 0.601041 0.000000 -0.601041 -v 0.707107 0.250000 -0.707107 -v 0.785298 0.000000 -0.325281 -v 0.923880 0.250000 -0.382683 -v 0.850000 0.000000 0.000000 -v 1.000000 0.250000 0.000000 -v 0.785298 0.000000 0.325281 -v 0.923880 0.250000 0.382684 -v 0.601041 0.000000 0.601041 -v 0.707107 0.250000 0.707107 -v 0.325281 0.000000 0.785298 -v 0.382683 0.250000 0.923880 -v 0.000000 0.000000 0.850000 -v 0.000000 0.250000 1.000000 -v -0.325281 0.000000 0.785298 -v -0.382683 0.250000 0.923880 -v -0.601041 0.000000 0.601041 -v -0.707107 0.250000 0.707107 -v -0.785298 0.000000 0.325281 -v -0.923880 0.250000 0.382684 -v -0.850000 0.000000 -0.000000 -v -1.000000 0.250000 -0.000000 -v -0.785298 0.000000 -0.325281 -v -0.923879 0.250000 -0.382684 -v -0.601041 0.000000 -0.601041 -v -0.707107 0.250000 -0.707107 -v -0.325281 0.000000 -0.785298 -v -0.382683 0.250000 -0.923880 -v 0.382683 3.000000 -0.923880 -v 0.000000 3.000000 -1.000000 -v 0.707107 3.000000 -0.707107 -v 0.923880 3.000000 -0.382683 -v 1.000000 3.000000 0.000000 -v 0.923880 3.000000 0.382684 -v 0.707107 3.000000 0.707107 -v 0.382683 3.000000 0.923880 -v 0.000000 3.000000 1.000000 -v -0.382683 3.000000 0.923880 -v -0.707107 3.000000 0.707107 -v -0.923880 3.000000 0.382684 -v -1.000000 3.000000 -0.000000 -v -0.923879 3.000000 -0.382684 -v -0.707107 3.000000 -0.707107 -v -0.382683 3.000000 -0.923880 -v 0.057403 4.000000 -0.138582 -v 0.000000 4.000000 -0.150000 -v 0.106066 4.000000 -0.106066 -v 0.138582 4.000000 -0.057403 -v 0.150000 4.000000 -0.000000 -v 0.138582 4.000000 0.057403 -v 0.106066 4.000000 0.106066 -v 0.057403 4.000000 0.138582 -v 0.000000 4.000000 0.150000 -v -0.057402 4.000000 0.138582 -v -0.106066 4.000000 0.106066 -v -0.138582 4.000000 0.057403 -v -0.150000 4.000000 -0.000000 -v -0.138582 4.000000 -0.057403 -v -0.106066 4.000000 -0.106066 -v -0.057402 4.000000 -0.138582 -v 0.057403 4.500000 -0.138582 -v 0.000000 4.500000 -0.150000 -v 0.106066 4.500000 -0.106066 -v 0.138582 4.500000 -0.057403 -v 0.150000 4.500000 -0.000000 -v 0.138582 4.500000 0.057403 -v 0.106066 4.500000 0.106066 -v 0.057403 4.500000 0.138582 -v 0.000000 4.500000 0.150000 -v -0.057402 4.500000 0.138582 -v -0.106066 4.500000 0.106066 -v -0.138582 4.500000 0.057403 -v -0.150000 4.500000 -0.000000 -v -0.138582 4.500000 -0.057403 -v -0.106066 4.500000 -0.106066 -v -0.057402 4.500000 -0.138582 -v 0.000000 4.650000 0.000000 -vt 0.763805 0.825843 -vt 0.792402 0.825843 -vt 0.788113 0.838055 -vt 0.788113 0.850999 -vt 0.768094 0.850999 -vt 0.768094 0.813631 -vt 0.788113 0.813631 -vt 0.763805 0.750495 -vt 0.768094 0.738283 -vt 0.788113 0.738283 -vt 0.768094 0.725339 -vt 0.788113 0.725339 -vt 0.768094 0.762707 -vt 0.792402 0.750495 -vt 0.516469 0.750495 -vt 0.520758 0.738283 -vt 0.540777 0.738283 -vt 0.520758 0.725339 -vt 0.540777 0.725339 -vt 0.540777 0.762707 -vt 0.520758 0.762707 -vt 0.684282 0.838787 -vt 0.688572 0.826575 -vt 0.708591 0.826575 -vt 0.688572 0.813631 -vt 0.708591 0.813631 -vt 0.688572 0.850999 -vt 0.712880 0.838787 -vt 0.545066 0.838787 -vt 0.516469 0.838787 -vt 0.520758 0.826575 -vt 0.520758 0.813631 -vt 0.540777 0.813631 -vt 0.520758 0.850999 -vt 0.712880 0.737551 -vt 0.708591 0.749763 -vt 0.688572 0.749763 -vt 0.708591 0.762707 -vt 0.688572 0.762707 -vt 0.708591 0.725339 -vt 0.684282 0.737551 -vt 0.595991 0.817073 -vt 0.624588 0.817073 -vt 0.620299 0.829285 -vt 0.620299 0.842229 -vt 0.600280 0.842229 -vt 0.620299 0.804861 -vt 0.608203 0.725339 -vt 0.620415 0.729629 -vt 0.620415 0.749647 -vt 0.633358 0.729629 -vt 0.633358 0.749647 -vt 0.595991 0.749647 -vt 0.595991 0.729629 -vt 0.725256 0.068817 -vt 0.666940 0.068817 -vt 0.671314 0.025462 -vt 0.608624 0.068817 -vt 0.612998 0.025462 -vt 0.604250 0.025462 -vt 0.550308 0.068817 -vt 0.491992 0.068817 -vt 0.496365 0.025462 -vt 0.433676 0.068817 -vt 0.438049 0.025462 -vt 0.375360 0.068817 -vt 0.379733 0.025462 -vt 0.317043 0.068817 -vt 0.321417 0.025462 -vt 0.258727 0.068817 -vt 0.263101 0.025462 -vt 0.200411 0.068817 -vt 0.204785 0.025462 -vt 0.196037 0.025462 -vt 0.142095 0.068817 -vt 0.083779 0.068817 -vt 0.088153 0.025462 -vt 0.025463 0.068817 -vt 0.029837 0.025462 -vt 0.954147 0.025462 -vt 0.958521 0.068817 -vt 0.900205 0.068817 -vt 0.841888 0.068817 -vt 0.846262 0.025462 -vt 0.608624 0.479830 -vt 0.550308 0.479830 -vt 0.783572 0.068817 -vt 0.729630 0.025462 -vt 0.837515 0.025462 -vt 0.255692 0.920518 -vt 0.079481 0.955569 -vt 0.220641 0.744308 -vt 0.433676 0.479830 -vt 0.491992 0.479830 -vt 0.467207 0.674414 -vt 0.317043 0.479830 -vt 0.258727 0.479830 -vt 0.725256 0.479830 -vt 0.666940 0.479830 -vt 0.958521 0.479830 -vt 0.900205 0.479830 -vt 0.375359 0.479830 -vt 0.142095 0.479830 -vt 0.083778 0.479830 -vt 0.783572 0.479830 -vt 0.200411 0.479830 -vt 0.841889 0.479830 -vt 0.025462 0.479830 -vt 0.351828 0.725339 -vt 0.351827 0.800069 -vt 0.343080 0.800069 -vt 0.933737 0.674415 -vt 0.408891 0.674414 -vt 0.400144 0.674414 -vt 0.875421 0.674415 -vt 0.866674 0.674415 -vt 0.350575 0.674414 -vt 0.817105 0.674415 -vt 0.808357 0.674415 -vt 0.292259 0.674414 -vt 0.700472 0.674414 -vt 0.758788 0.674415 -vt 0.233942 0.674414 -vt 0.225195 0.674414 -vt 0.642156 0.674414 -vt 0.175626 0.674414 -vt 0.583840 0.674414 -vt 0.117310 0.674415 -vt 0.108563 0.674415 -vt 0.525524 0.674414 -vt 0.516776 0.674414 -vt 0.058994 0.674415 -vt 0.050246 0.674415 -vt 0.360575 0.800069 -vt 0.356201 0.831471 -vt 0.413060 0.725339 -vt 0.413059 0.800069 -vt 0.404312 0.800069 -vt 0.343080 0.725339 -vt 0.334333 0.800069 -vt 0.404312 0.725339 -vt 0.395564 0.800069 -vt 0.334333 0.725339 -vt 0.325585 0.800069 -vt 0.395565 0.725339 -vt 0.386817 0.800069 -vt 0.465544 0.725340 -vt 0.465544 0.800070 -vt 0.456796 0.800070 -vt 0.386817 0.725339 -vt 0.378070 0.800069 -vt 0.456797 0.725340 -vt 0.448049 0.800070 -vt 0.378070 0.725339 -vt 0.369322 0.800069 -vt 0.448049 0.725340 -vt 0.439301 0.800070 -vt 0.369322 0.725339 -vt 0.430555 0.725340 -vt 0.430554 0.800069 -vt 0.421806 0.800069 -vt 0.439302 0.725340 -vt 0.360575 0.725339 -vt 0.421807 0.725339 -vt 0.364948 0.831471 -vt 0.329959 0.831471 -vt 0.461169 0.831472 -vt 0.347454 0.831471 -vt 0.434927 0.831471 -vt 0.452422 0.831472 -vt 0.443675 0.831471 -vt 0.426180 0.831471 -vt 0.417433 0.831471 -vt 0.408685 0.831471 -vt 0.399938 0.831471 -vt 0.391190 0.831471 -vt 0.382443 0.831471 -vt 0.373696 0.831471 -vt 0.338706 0.831471 -vt 0.768094 0.838055 -vt 0.788113 0.762707 -vt 0.545066 0.750495 -vt 0.708591 0.850999 -vt 0.540777 0.826575 -vt 0.540777 0.850999 -vt 0.688572 0.725339 -vt 0.600280 0.829285 -vt 0.600280 0.804861 -vt 0.608203 0.753937 -vt 0.720883 0.025462 -vt 0.662566 0.025462 -vt 0.554682 0.025462 -vt 0.545934 0.025462 -vt 0.487618 0.025462 -vt 0.429302 0.025462 -vt 0.370986 0.025462 -vt 0.312670 0.025462 -vt 0.254354 0.025462 -vt 0.146469 0.025462 -vt 0.137721 0.025462 -vt 0.079405 0.025462 -vt 0.904578 0.025462 -vt 0.895831 0.025462 -vt 0.779199 0.025462 -vt 0.787946 0.025462 -vt 0.044431 0.779359 -vt 0.079482 0.744308 -vt 0.125277 0.725339 -vt 0.174846 0.725339 -vt 0.255692 0.779359 -vt 0.274661 0.825154 -vt 0.274661 0.874723 -vt 0.220641 0.955569 -vt 0.174846 0.974538 -vt 0.125277 0.974538 -vt 0.044431 0.920518 -vt 0.025462 0.874723 -vt 0.025462 0.825154 -vt 0.458460 0.674414 -vt 0.924990 0.674415 -vt 0.341828 0.674414 -vt 0.283511 0.674414 -vt 0.691725 0.674414 -vt 0.750041 0.674415 -vt 0.633408 0.674414 -vt 0.166879 0.674414 -vt 0.575092 0.674414 -vt 0.325585 0.725339 -vn 0.489600 0.848000 -0.202800 -vn -0.923900 0.000000 0.382700 -vn 0.489600 -0.848000 -0.202800 -vn 0.202800 0.848000 -0.489600 -vn -0.382700 0.000000 0.923900 -vn 0.202800 -0.848000 -0.489600 -vn -0.202800 0.848000 -0.489600 -vn 0.382700 0.000000 0.923900 -vn -0.202800 -0.848000 -0.489600 -vn -0.489600 0.848000 -0.202800 -vn 0.923900 0.000000 0.382700 -vn -0.489600 -0.848000 -0.202800 -vn -0.489600 0.848000 0.202800 -vn 0.923900 0.000000 -0.382700 -vn -0.489600 -0.848000 0.202800 -vn -0.202800 0.848000 0.489600 -vn 0.382700 0.000000 -0.923900 -vn -0.202800 -0.848000 0.489600 -vn 0.202800 0.848000 0.489600 -vn -0.382700 0.000000 -0.923900 -vn 0.202800 -0.848000 0.489600 -vn 0.489600 0.848000 0.202800 -vn -0.923900 0.000000 -0.382700 -vn 0.489600 -0.848000 0.202800 -vn 0.168100 -0.507200 -0.845300 -vn 0.478800 -0.507200 -0.716600 -vn 0.716600 -0.507200 -0.478800 -vn 0.845300 -0.507200 -0.168100 -vn 0.845300 -0.507200 0.168100 -vn 0.716600 -0.507200 0.478800 -vn 0.478800 -0.507200 0.716600 -vn 0.168100 -0.507200 0.845300 -vn -0.168100 -0.507200 0.845300 -vn -0.478800 -0.507200 0.716600 -vn -0.716600 -0.507200 0.478800 -vn -0.845300 -0.507200 0.168100 -vn -0.845300 -0.507200 -0.168100 -vn -0.716600 -0.507200 -0.478800 -vn 0.831500 0.000000 -0.555600 -vn -0.168100 -0.507200 -0.845300 -vn -0.478800 -0.507200 -0.716600 -vn 0.000000 -1.000000 0.000000 -vn 0.753300 0.640300 0.149800 -vn 0.195100 0.000000 0.980800 -vn 0.195100 0.000000 -0.980800 -vn -0.980800 0.000000 -0.195100 -vn 0.831500 0.000000 0.555600 -vn -0.831500 0.000000 0.555600 -vn -0.195100 0.000000 -0.980800 -vn 0.980800 0.000000 -0.195100 -vn -0.195100 0.000000 0.980800 -vn -0.831500 0.000000 -0.555600 -vn 0.555600 0.000000 -0.831500 -vn 0.555600 0.000000 0.831500 -vn -0.980800 0.000000 0.195100 -vn 0.980800 0.000000 0.195100 -vn -0.555600 0.000000 0.831500 -vn -0.555600 0.000000 -0.831500 -vn -0.753300 0.640300 -0.149800 -vn 0.638600 0.640300 0.426700 -vn -0.638600 0.640300 -0.426700 -vn 0.426700 0.640300 0.638600 -vn -0.426700 0.640300 -0.638600 -vn 0.149800 0.640300 0.753300 -vn 0.149800 0.640300 -0.753300 -vn -0.149800 0.640300 -0.753300 -vn -0.149800 0.640300 0.753300 -vn 0.426700 0.640300 -0.638600 -vn -0.426700 0.640300 0.638600 -vn 0.638600 0.640300 -0.426700 -vn -0.638600 0.640300 0.426700 -vn 0.753300 0.640300 -0.149800 -vn -0.753300 0.640300 0.149800 -vn -0.139300 0.700200 0.700200 -vn 0.139300 0.700200 0.700200 -vn -0.700200 0.700200 0.139300 -vn -0.700200 0.700200 -0.139300 -vn -0.396600 0.700200 0.593600 -vn -0.139300 0.700200 -0.700200 -vn -0.593600 0.700200 -0.396600 -vn -0.396600 0.700200 -0.593600 -vn 0.139300 0.700200 -0.700200 -vn 0.396600 0.700200 -0.593600 -vn 0.593600 0.700200 -0.396600 -vn 0.700200 0.700200 -0.139300 -vn 0.700200 0.700200 0.139300 -vn 0.593600 0.700200 0.396600 -vn 0.396600 0.700200 0.593600 -vn -0.593600 0.700200 0.396600 -s off -f 1/1/1 4/2/1 5/3/1 -f 5/3/2 6/4/2 3/5/2 -f 3/6/3 6/7/3 4/2/3 -f 7/8/4 8/9/4 5/10/4 -f 8/9/5 9/11/5 6/12/5 -f 9/13/6 7/8/6 4/14/6 -f 10/15/7 11/16/7 8/17/7 -f 11/16/8 12/18/8 9/19/8 -f 9/20/9 12/21/9 10/15/9 -f 13/22/10 14/23/10 11/24/10 -f 14/23/11 15/25/11 12/26/11 -f 15/27/12 13/22/12 10/28/12 -f 13/29/13 16/30/13 17/31/13 -f 17/31/14 18/32/14 15/33/14 -f 18/34/15 16/30/15 13/29/15 -f 19/35/16 20/36/16 17/37/16 -f 20/36/17 21/38/17 18/39/17 -f 21/40/18 19/35/18 16/41/18 -f 19/42/19 22/43/19 23/44/19 -f 23/44/20 24/45/20 21/46/20 -f 24/47/21 22/43/21 19/42/21 -f 1/48/22 2/49/22 23/50/22 -f 2/49/23 3/51/23 24/52/23 -f 24/53/24 3/54/24 1/48/24 -f 26/55/25 28/56/25 27/57/25 -f 28/56/26 30/58/26 29/59/26 -f 29/60/27 30/58/27 32/61/27 -f 32/61/28 34/62/28 33/63/28 -f 34/62/29 36/64/29 35/65/29 -f 36/64/30 38/66/30 37/67/30 -f 38/66/31 40/68/31 39/69/31 -f 40/68/32 42/70/32 41/71/32 -f 42/70/33 44/72/33 43/73/33 -f 43/74/34 44/72/34 46/75/34 -f 46/75/35 48/76/35 47/77/35 -f 48/76/36 50/78/36 49/79/36 -f 49/80/37 50/81/37 52/82/37 -f 52/82/38 54/83/38 53/84/38 -f 30/58/39 59/85/39 60/86/39 -f 56/87/40 26/55/40 25/88/40 -f 53/89/41 54/83/41 56/87/41 -f 39/90/42 47/91/42 31/92/42 -f 62/93/43 61/94/43 77/95/43 -f 40/68/44 64/96/44 65/97/44 -f 26/55/45 58/98/45 57/99/45 -f 50/81/46 69/100/46 70/101/46 -f 36/64/47 62/93/47 63/102/47 -f 46/75/48 67/103/48 68/104/48 -f 56/87/49 72/105/49 58/98/49 -f 32/61/50 60/86/50 61/94/50 -f 42/70/51 65/97/51 66/106/51 -f 52/82/52 70/101/52 71/107/52 -f 28/56/53 57/99/53 59/85/53 -f 38/66/54 63/102/54 64/96/54 -f 48/76/55 68/104/55 69/108/55 -f 34/62/56 61/94/56 62/93/56 -f 44/72/57 66/106/57 67/103/57 -f 54/83/58 71/107/58 72/105/58 -f 82/109/57 98/110/57 99/111/57 -f 70/101/59 69/100/59 85/112/59 -f 62/93/60 78/113/60 79/114/60 -f 70/101/61 86/115/61 87/116/61 -f 64/96/62 63/102/62 79/117/62 -f 71/107/63 87/118/63 88/119/63 -f 65/97/64 64/96/64 80/120/64 -f 57/99/65 58/98/65 74/121/65 -f 58/98/66 72/105/66 88/122/66 -f 65/97/67 81/123/67 82/124/67 -f 59/85/68 57/99/68 73/125/68 -f 67/103/69 66/106/69 82/126/69 -f 60/86/70 59/85/70 75/127/70 -f 67/103/71 83/128/71 84/129/71 -f 60/86/72 76/130/72 77/131/72 -f 68/104/73 84/132/73 85/133/73 -f 97/134/74 105/135/74 98/110/74 -f 75/136/39 91/137/39 92/138/39 -f 83/139/48 99/111/48 100/140/48 -f 76/141/50 92/138/50 93/142/50 -f 84/143/55 100/140/55 101/144/55 -f 77/145/56 93/142/56 94/146/56 -f 85/147/46 101/148/46 102/149/46 -f 78/150/47 94/146/47 95/151/47 -f 86/152/52 102/149/52 103/153/52 -f 79/154/54 95/151/54 96/155/54 -f 87/156/58 103/153/58 104/157/58 -f 80/158/44 96/155/44 97/134/44 -f 74/159/45 90/160/45 89/161/45 -f 88/162/49 104/157/49 90/160/49 -f 81/163/51 97/134/51 98/110/51 -f 73/164/53 89/161/53 91/137/53 -f 97/134/75 96/155/75 105/165/75 -f 100/140/76 105/166/76 101/144/76 -f 101/148/77 105/167/77 102/149/77 -f 98/110/78 105/168/78 99/111/78 -f 104/157/79 105/169/79 90/160/79 -f 102/149/80 105/170/80 103/153/80 -f 103/153/81 105/171/81 104/157/81 -f 90/160/82 105/172/82 89/161/82 -f 89/161/83 105/173/83 91/137/83 -f 91/137/84 105/174/84 92/138/84 -f 92/138/85 105/175/85 93/142/85 -f 93/142/86 105/176/86 94/146/86 -f 94/146/87 105/177/87 95/151/87 -f 95/151/88 105/178/88 96/155/88 -f 99/111/89 105/179/89 100/140/89 -f 2/180/1 1/1/1 5/3/1 -f 2/180/2 5/3/2 3/5/2 -f 1/1/3 3/6/3 4/2/3 -f 4/14/4 7/8/4 5/10/4 -f 5/10/5 8/9/5 6/12/5 -f 6/181/6 9/13/6 4/14/6 -f 7/182/7 10/15/7 8/17/7 -f 8/17/8 11/16/8 9/19/8 -f 7/182/9 9/20/9 10/15/9 -f 10/28/10 13/22/10 11/24/10 -f 11/24/11 14/23/11 12/26/11 -f 12/183/12 15/27/12 10/28/12 -f 14/184/13 13/29/13 17/31/13 -f 14/184/14 17/31/14 15/33/14 -f 15/185/15 18/34/15 13/29/15 -f 16/41/16 19/35/16 17/37/16 -f 17/37/17 20/36/17 18/39/17 -f 18/186/18 21/40/18 16/41/18 -f 20/187/19 19/42/19 23/44/19 -f 20/187/20 23/44/20 21/46/20 -f 21/188/21 24/47/21 19/42/21 -f 22/189/22 1/48/22 23/50/22 -f 23/50/23 2/49/23 24/52/23 -f 22/189/24 24/53/24 1/48/24 -f 25/190/25 26/55/25 27/57/25 -f 27/191/26 28/56/26 29/59/26 -f 31/192/27 29/60/27 32/61/27 -f 31/193/28 32/61/28 33/63/28 -f 33/194/29 34/62/29 35/65/29 -f 35/195/30 36/64/30 37/67/30 -f 37/196/31 38/66/31 39/69/31 -f 39/197/32 40/68/32 41/71/32 -f 41/198/33 42/70/33 43/73/33 -f 45/199/34 43/74/34 46/75/34 -f 45/200/35 46/75/35 47/77/35 -f 47/201/36 48/76/36 49/79/36 -f 51/202/37 49/80/37 52/82/37 -f 51/203/38 52/82/38 53/84/38 -f 32/61/39 30/58/39 60/86/39 -f 55/204/40 56/87/40 25/88/40 -f 55/205/41 53/89/41 56/87/41 -f 55/206/42 25/207/42 31/92/42 -f 27/208/42 29/209/42 31/92/42 -f 31/92/42 33/210/42 39/90/42 -f 35/211/42 37/212/42 39/90/42 -f 39/90/42 41/213/42 43/214/42 -f 43/214/42 45/215/42 39/90/42 -f 47/91/42 49/216/42 51/217/42 -f 51/217/42 53/218/42 47/91/42 -f 25/207/42 27/208/42 31/92/42 -f 33/210/42 35/211/42 39/90/42 -f 39/90/42 45/215/42 47/91/42 -f 47/91/42 53/218/42 55/206/42 -f 55/206/42 31/92/42 47/91/42 -f 78/219/43 62/93/43 77/95/43 -f 42/70/44 40/68/44 65/97/44 -f 28/56/45 26/55/45 57/99/45 -f 52/82/46 50/81/46 70/101/46 -f 38/66/47 36/64/47 63/102/47 -f 48/76/48 46/75/48 68/104/48 -f 26/55/49 56/87/49 58/98/49 -f 34/62/50 32/61/50 61/94/50 -f 44/72/51 42/70/51 66/106/51 -f 54/83/52 52/82/52 71/107/52 -f 30/58/53 28/56/53 59/85/53 -f 40/68/54 38/66/54 64/96/54 -f 50/78/55 48/76/55 69/108/55 -f 36/64/56 34/62/56 62/93/56 -f 46/75/57 44/72/57 67/103/57 -f 56/87/58 54/83/58 72/105/58 -f 83/139/57 82/109/57 99/111/57 -f 86/220/59 70/101/59 85/112/59 -f 63/102/60 62/93/60 79/114/60 -f 71/107/61 70/101/61 87/116/61 -f 80/221/62 64/96/62 79/117/62 -f 72/105/63 71/107/63 88/119/63 -f 81/222/64 65/97/64 80/120/64 -f 73/223/65 57/99/65 74/121/65 -f 74/224/66 58/98/66 88/122/66 -f 66/106/67 65/97/67 82/124/67 -f 75/225/68 59/85/68 73/125/68 -f 83/226/69 67/103/69 82/126/69 -f 76/227/70 60/86/70 75/127/70 -f 68/104/71 67/103/71 84/129/71 -f 61/94/72 60/86/72 77/131/72 -f 69/108/73 68/104/73 85/133/73 -f 76/141/39 75/136/39 92/138/39 -f 84/143/48 83/139/48 100/140/48 -f 77/145/50 76/141/50 93/142/50 -f 85/228/55 84/143/55 101/144/55 -f 78/150/56 77/145/56 94/146/56 -f 86/152/46 85/147/46 102/149/46 -f 79/154/47 78/150/47 95/151/47 -f 87/156/52 86/152/52 103/153/52 -f 80/158/54 79/154/54 96/155/54 -f 88/162/58 87/156/58 104/157/58 -f 81/163/44 80/158/44 97/134/44 -f 73/164/45 74/159/45 89/161/45 -f 74/159/49 88/162/49 90/160/49 -f 82/109/51 81/163/51 98/110/51 -f 75/136/53 73/164/53 91/137/53 +v 0.000000 0.125000 -1.000000 +v 1.000000 0.125000 -0.000000 +v 0.000000 0.125000 1.000000 +v -1.000000 0.125000 -0.000000 +v 0.000000 3.625000 -1.000000 +v 1.000000 3.625000 -0.000000 +v 0.000000 3.625000 1.000000 +v -1.000000 3.625000 -0.000000 +v -0.718750 0.125000 -0.718750 +v -0.718750 3.625000 -0.718750 +v -0.937500 0.125000 -0.375000 +v -0.937500 3.625000 -0.375000 +v -0.375000 0.125000 -0.937500 +v -0.375000 3.625000 -0.937500 +v 0.375000 0.125000 -0.937500 +v 0.375000 0.125000 0.937500 +v 0.375000 3.625000 -0.937500 +v 0.375000 3.625000 0.937500 +v 0.718750 0.125000 -0.718750 +v 0.718750 0.125000 0.718750 +v 0.718750 3.625000 -0.718750 +v 0.718750 3.625000 0.718750 +v 0.937500 0.125000 0.375000 +v -0.937500 0.125000 0.375000 +v 0.937500 3.625000 0.375000 +v -0.937500 3.625000 0.375000 +v -0.375000 0.125000 0.937500 +v -0.375000 3.625000 0.937500 +v -0.718750 0.125000 0.718750 +v -0.718750 3.625000 0.718750 +v 0.937500 0.125000 -0.375000 +v 0.937500 3.625000 -0.375000 +v 0.000000 -0.000000 -0.875000 +v 0.875000 -0.000000 -0.000000 +v 0.000000 0.000000 0.875000 +v -0.875000 -0.000000 -0.000000 +v -0.625000 0.000000 -0.625000 +v -0.812500 0.000000 -0.312500 +v -0.312500 -0.000000 -0.812500 +v 0.312500 -0.000000 -0.812500 +v 0.312500 0.000000 0.812500 +v 0.625000 -0.000000 -0.625000 +v 0.625000 0.000000 0.625000 +v 0.812500 -0.000000 0.312500 +v -0.812500 -0.000000 0.312500 +v -0.312500 0.000000 0.812500 +v -0.625000 0.000000 0.625000 +v 0.812500 0.000000 -0.312500 +v 0.000000 3.750000 -0.875000 +v 0.875000 3.750000 -0.000000 +v 0.000000 3.750000 0.875000 +v -0.875000 3.750000 -0.000000 +v -0.625000 3.750000 -0.625000 +v -0.812500 3.750000 -0.312500 +v -0.312500 3.750000 -0.812500 +v 0.312500 3.750000 -0.812500 +v 0.312500 3.750000 0.812500 +v 0.625000 3.750000 -0.625000 +v 0.625000 3.750000 0.625000 +v 0.812500 3.750000 0.312500 +v -0.812500 3.750000 0.312500 +v -0.312500 3.750000 0.812500 +v -0.625000 3.750000 0.625000 +v 0.812500 3.750000 -0.312500 +v 0.000000 3.375000 -1.000000 +v 1.000000 3.375000 -0.000000 +v 0.000000 3.375000 1.000000 +v -1.000000 3.375000 -0.000000 +v -0.718750 3.375000 -0.718750 +v -0.937500 3.375000 -0.375000 +v -0.375000 3.375000 -0.937500 +v 0.375000 3.375000 -0.937500 +v 0.375000 3.375000 0.937500 +v 0.718750 3.375000 -0.718750 +v 0.718750 3.375000 0.718750 +v 0.937500 3.375000 0.375000 +v -0.937500 3.375000 0.375000 +v -0.375000 3.375000 0.937500 +v -0.718750 3.375000 0.718750 +v 0.937500 3.375000 -0.375000 +v 0.000000 3.125000 -1.000000 +v 1.000000 3.125000 -0.000000 +v 0.000000 3.125000 1.000000 +v -1.000000 3.125000 -0.000000 +v -0.718750 3.125000 -0.718750 +v -0.937500 3.125000 -0.375000 +v -0.375000 3.125000 -0.937500 +v 0.375000 3.125000 -0.937500 +v 0.375000 3.125000 0.937500 +v 0.718750 3.125000 -0.718750 +v 0.718750 3.125000 0.718750 +v 0.937500 3.125000 0.375000 +v -0.937500 3.125000 0.375000 +v -0.375000 3.125000 0.937500 +v -0.718750 3.125000 0.718750 +v 0.937500 3.125000 -0.375000 +v 0.000000 0.625000 -1.000000 +v 1.000000 0.625000 -0.000000 +v 0.000000 0.625000 1.000000 +v -1.000000 0.625000 -0.000000 +v -0.718750 0.625000 -0.718750 +v -0.937500 0.625000 -0.375000 +v -0.375000 0.625000 -0.937500 +v 0.375000 0.625000 -0.937500 +v 0.375000 0.625000 0.937500 +v 0.718750 0.625000 -0.718750 +v 0.718750 0.625000 0.718750 +v 0.937500 0.625000 0.375000 +v -0.937500 0.625000 0.375000 +v -0.375000 0.625000 0.937500 +v -0.718750 0.625000 0.718750 +v 0.937500 0.625000 -0.375000 +v 0.000000 0.375000 -1.000000 +v 1.000000 0.375000 -0.000000 +v 0.000000 0.375000 1.000000 +v -1.000000 0.375000 -0.000000 +v -0.718750 0.375000 -0.718750 +v -0.937500 0.375000 -0.375000 +v -0.375000 0.375000 -0.937500 +v 0.375000 0.375000 -0.937500 +v 0.375000 0.375000 0.937500 +v 0.718750 0.375000 -0.718750 +v 0.718750 0.375000 0.718750 +v 0.937500 0.375000 0.375000 +v -0.937500 0.375000 0.375000 +v -0.375000 0.375000 0.937500 +v -0.718750 0.375000 0.718750 +v 0.937500 0.375000 -0.375000 +vn 0.9270 0.3749 -0.0000 +vn 0.9338 -0.0000 0.3578 +vn 1.0000 -0.0000 -0.0000 +vn -0.6548 0.3776 -0.6547 +vn -0.3299 0.3868 -0.8611 +vn -0.3578 -0.0000 -0.9338 +vn -0.9271 0.3749 -0.0000 +vn -0.8612 0.3868 -0.3299 +vn -0.9338 -0.0000 -0.3578 +vn -0.3299 0.3868 0.8612 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 0.3749 0.9271 +vn 0.3299 0.3868 -0.8612 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 0.3749 -0.9271 +vn -0.6547 0.3776 0.6548 +vn -0.8611 0.3868 0.3299 +vn -0.9338 -0.0000 0.3578 +vn -0.8612 0.3867 -0.3299 +vn -0.6548 0.3776 -0.6548 +vn -0.7071 -0.0000 -0.7071 +vn 0.6547 0.3776 -0.6548 +vn 0.3578 -0.0000 -0.9338 +vn 0.3299 0.3867 -0.8612 +vn 0.6548 0.3776 0.6547 +vn 0.8612 0.3867 0.3299 +vn 0.8611 0.3868 -0.3299 +vn 0.7071 -0.0000 -0.7071 +vn 0.6548 0.3776 -0.6548 +vn -0.9270 0.3749 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 0.3749 0.9270 +vn 0.3578 -0.0000 0.9338 +vn 0.3299 0.3868 0.8612 +vn -0.0000 0.3749 -0.9270 +vn -0.3299 0.3868 -0.8612 +vn -0.3578 -0.0000 0.9338 +vn -0.3299 0.3867 0.8612 +vn 0.3299 0.3868 0.8611 +vn 0.7071 -0.0000 0.7071 +vn 0.6548 0.3776 0.6548 +vn 0.9338 -0.0000 -0.3578 +vn 0.8612 0.3868 -0.3299 +vn -0.1340 0.9188 -0.3713 +vn -0.3298 0.3868 -0.8612 +vn 0.1340 0.9188 -0.3713 +vn -0.0000 0.3750 -0.9270 +vn -0.0000 0.9065 -0.4222 +vn 0.2910 0.9114 -0.2910 +vn 0.3299 0.3868 -0.8611 +vn 0.3713 0.9188 -0.1340 +vn 0.8612 0.3868 -0.3298 +vn 0.3713 0.9188 0.1340 +vn 0.9270 0.3750 -0.0000 +vn 0.4222 0.9065 -0.0000 +vn 0.2910 0.9114 0.2910 +vn 0.8611 0.3868 0.3299 +vn 0.1340 0.9188 0.3713 +vn -0.0000 0.3750 0.9270 +vn 0.0001 0.9065 0.4222 +vn -0.1340 0.9188 0.3713 +vn -0.0000 0.9065 0.4222 +vn -0.2910 0.9114 0.2910 +vn -0.3299 0.3868 0.8611 +vn -0.3713 0.9188 0.1340 +vn -0.4222 0.9065 0.0001 +vn -0.9270 0.3750 -0.0000 +vn -0.4222 0.9065 -0.0000 +vn -0.3713 0.9188 -0.1340 +vn -0.8611 0.3868 -0.3299 +vn -0.2910 0.9114 -0.2910 +vn -0.6547 0.3776 -0.6548 +vn -0.0000 -0.3749 -0.9270 +vn -0.1340 -0.9188 -0.3713 +vn -0.3299 -0.3868 -0.8611 +vn -0.2910 -0.9114 -0.2910 +vn -0.8612 -0.3868 -0.3298 +vn -0.6548 -0.3776 -0.6547 +vn -0.3713 -0.9188 -0.1340 +vn -0.4222 -0.9065 -0.0001 +vn -0.9270 -0.3750 -0.0000 +vn -0.3713 -0.9188 0.1340 +vn -0.8611 -0.3868 0.3299 +vn -0.9270 -0.3749 -0.0000 +vn -0.2910 -0.9114 0.2910 +vn -0.6547 -0.3776 0.6548 +vn -0.1340 -0.9188 0.3713 +vn -0.3299 -0.3868 0.8611 +vn -0.0001 -0.9065 0.4222 +vn -0.0000 -0.3750 0.9270 +vn 0.1340 -0.9188 0.3713 +vn 0.3299 -0.3868 0.8611 +vn -0.0000 -0.3749 0.9270 +vn 0.2910 -0.9114 0.2910 +vn 0.6548 -0.3776 0.6547 +vn 0.8612 -0.3868 0.3298 +vn 0.3713 -0.9188 0.1340 +vn 0.4222 -0.9065 0.0001 +vn 0.9270 -0.3750 -0.0000 +vn 0.3713 -0.9188 -0.1340 +vn 0.8611 -0.3868 -0.3299 +vn 0.9270 -0.3749 -0.0000 +vn 0.2910 -0.9114 -0.2910 +vn 0.3299 -0.3868 -0.8611 +vn 0.1340 -0.9188 -0.3713 +vn 0.3298 -0.3868 -0.8612 +vn -0.1340 0.9188 -0.3712 +vn -0.3712 0.9188 -0.1340 +vn -0.1339 0.9188 0.3712 +vn 0.9338 0.0001 0.3578 +vn -0.7071 -0.0000 0.7071 +vn 0.7071 0.0001 -0.7071 +vn 0.7071 0.0001 0.7071 +vn 0.8612 -0.3868 0.3299 +vn 0.9271 -0.3749 -0.0000 +vn -0.9271 -0.3749 -0.0000 +vn -0.8612 -0.3868 0.3299 +vn 0.6548 -0.3776 -0.6547 +vn 0.8612 -0.3867 -0.3299 +vn 0.3299 -0.3867 0.8612 +vn 0.6548 -0.3776 0.6548 +vn 0.6547 -0.3776 0.6548 +vn 0.8611 -0.3868 0.3299 +vn -0.3299 -0.3868 -0.8612 +vn -0.0000 -0.3749 -0.9271 +vn 0.6548 -0.3776 -0.6548 +vn -0.0000 -0.3749 0.9271 +vn 0.3299 -0.3868 0.8612 +vn -0.6547 -0.3776 -0.6548 +vn -0.8611 -0.3868 -0.3299 +vn -0.6548 -0.3776 0.6548 +vn 0.3299 -0.3868 -0.8612 +vn -0.3299 -0.3868 0.8612 +vn -0.3299 -0.3867 -0.8612 +vn -0.6548 -0.3776 -0.6548 +vn 0.8612 -0.3868 -0.3299 +vn -0.6548 -0.3776 0.6547 +vn 0.9271 0.3749 -0.0000 +vn 0.8612 0.3868 0.3299 +vn -0.3298 0.3868 0.8612 +vn 0.3298 0.3868 -0.8612 +vn -0.6548 0.3776 0.6548 +vn -0.8612 0.3868 0.3299 +vn -0.0000 0.0001 -1.0000 +vn -0.7071 0.0001 0.7071 +vn -0.0001 0.9065 -0.4222 +vn 0.6548 0.3776 -0.6547 +vn 0.4222 0.9065 -0.0001 +vn 0.6547 0.3776 0.6548 +vn 0.3298 0.3868 0.8612 +vn -0.6548 0.3776 0.6547 +vn -0.8612 0.3868 0.3298 +vn -0.0000 -0.3750 -0.9270 +vn -0.0000 -0.9065 -0.4222 +vn -0.4222 -0.9065 -0.0000 +vn -0.3298 -0.3868 0.8612 +vn -0.0000 -0.9065 0.4222 +vn 0.4222 -0.9065 -0.0000 +vn 0.6547 -0.3776 -0.6548 +vn 0.0001 -0.9065 -0.4222 +vn -0.1339 -0.9188 -0.3712 +vn -0.0000 -0.9065 -0.4221 +vn 0.1340 -0.9188 -0.3712 +vn 0.2909 -0.9114 -0.2910 +vn 0.3712 -0.9188 -0.1339 +vn 0.4221 -0.9065 -0.0000 +vn 0.3712 -0.9188 0.1340 +vn 0.2910 -0.9114 0.2909 +vn 0.1339 -0.9188 0.3712 +vn -0.0000 -0.9065 0.4221 +vn -0.1340 -0.9188 0.3712 +vn -0.2909 -0.9114 0.2910 +vn -0.3712 -0.9188 0.1339 +vn -0.4221 -0.9065 -0.0000 +vn -0.3712 -0.9188 -0.1340 +vn -0.2910 -0.9114 -0.2909 +vn 0.3712 -0.9188 0.1339 +vn -0.1340 -0.9188 -0.3712 +vn 0.1339 -0.9188 -0.3712 +vn 0.1340 -0.9188 0.3712 +vn -0.1339 -0.9188 0.3712 +vn -0.0000 0.9065 -0.4221 +vn 0.1339 0.9188 -0.3712 +vn -0.2909 0.9114 -0.2910 +vn -0.3712 0.9188 -0.1339 +vn -0.4221 0.9065 -0.0000 +vn -0.3712 0.9188 0.1340 +vn -0.2910 0.9114 0.2909 +vn -0.0000 0.9065 0.4221 +vn -0.3712 0.9188 0.1339 +vn -0.1340 0.9188 0.3712 +vn 0.2909 0.9114 0.2910 +vn 0.3712 0.9188 0.1339 +vn 0.3712 0.9188 -0.1340 +vn 0.4221 0.9065 -0.0000 +vn 0.3712 0.9188 0.1340 +vn 0.2910 0.9114 -0.2909 +vn 0.1340 0.9188 -0.3712 +vn 0.3712 0.9188 -0.1339 +vn 0.3578 -0.0001 -0.9338 +vn 0.7071 -0.0001 -0.7071 +vn -1.0000 0.0001 -0.0000 +vn -0.7071 0.0001 -0.7071 +vn -0.3298 -0.3868 -0.8612 +vn -0.8612 -0.3867 0.3299 +vn -0.0000 -0.0001 -1.0000 +vn -0.8612 -0.3868 -0.3299 +vn -0.3578 0.0001 0.9338 +vn 0.3712 -0.9188 -0.1340 +vn -0.3712 -0.9188 0.1340 +vn -0.3712 -0.9188 -0.1339 +vt 0.562500 0.390625 +vt 0.515625 0.359375 +vt 0.562500 0.359375 +vt 0.093750 0.390625 +vt 0.046875 0.390625 +vt 0.046875 0.359375 +vt 0.187500 0.390625 +vt 0.140625 0.390625 +vt 0.140625 0.359375 +vt 0.328125 0.390625 +vt 0.375000 0.359375 +vt 0.375000 0.390625 +vt 0.703125 0.390625 +vt 0.750000 0.359375 +vt 0.750000 0.390625 +vt 0.281250 0.390625 +vt 0.234375 0.390625 +vt 0.234375 0.359375 +vt 0.093750 0.359375 +vt 0.656250 0.390625 +vt 0.703125 0.359375 +vt 0.468750 0.390625 +vt 0.515625 0.390625 +vt 0.609375 0.390625 +vt 0.656250 0.359375 +vt 0.187500 0.359375 +vt 0.421875 0.359375 +vt 0.421875 0.390625 +vt 0.000000 0.390625 +vt 0.328125 0.359375 +vt 0.468750 0.359375 +vt 0.609375 0.359375 +vt 0.046875 0.406250 +vt 0.703125 0.406250 +vt 0.750000 0.406250 +vt 0.656250 0.406250 +vt 0.609375 0.406250 +vt 0.515625 0.406250 +vt 0.562500 0.406250 +vt 0.468750 0.406250 +vt 0.421875 0.406250 +vt 0.375000 0.406250 +vt 0.328125 0.406250 +vt 0.281250 0.406250 +vt 0.234375 0.406250 +vt 0.187500 0.406250 +vt 0.140625 0.406250 +vt 0.093750 0.406250 +vt 0.000000 0.015625 +vt 0.046875 0.000000 +vt 0.046875 0.015625 +vt 0.093750 0.000000 +vt 0.140625 0.015625 +vt 0.093750 0.015625 +vt 0.140625 0.000000 +vt 0.187500 0.000000 +vt 0.187500 0.015625 +vt 0.234375 0.000000 +vt 0.234375 0.015625 +vt 0.281250 0.000000 +vt 0.281250 0.015625 +vt 0.328125 0.000000 +vt 0.328125 0.015625 +vt 0.375000 0.000000 +vt 0.375000 0.015625 +vt 0.421875 0.000000 +vt 0.421875 0.015625 +vt 0.468750 0.000000 +vt 0.468750 0.015625 +vt 0.515625 0.015625 +vt 0.515625 0.000000 +vt 0.562500 0.000000 +vt 0.562500 0.015625 +vt 0.609375 0.000000 +vt 0.609375 0.015625 +vt 0.656250 0.000000 +vt 0.703125 0.015625 +vt 0.703125 0.000000 +vt 0.750000 0.015625 +vt 0.757812 0.289062 +vt 0.820312 0.226562 +vt 0.960938 0.289062 +vt 0.046875 0.046875 +vt 0.093750 0.046875 +vt 0.515625 0.046875 +vt 0.328125 0.046875 +vt 0.609375 0.046875 +vt 0.703125 0.046875 +vt 0.281250 0.359375 +vt 0.281250 0.046875 +vt 0.562500 0.046875 +vt 0.656250 0.046875 +vt 0.234375 0.046875 +vt 0.000000 0.359375 +vt 0.000000 0.046875 +vt 0.375000 0.046875 +vt 0.187500 0.046875 +vt 0.140625 0.046875 +vt 0.421875 0.046875 +vt 0.656250 0.015625 +vt 0.468750 0.046875 +vt 0.000000 0.406250 +vt 0.000000 0.000000 +vt 0.750000 0.000000 +vt 0.960938 0.070312 +vt 0.968750 0.109375 +vt 0.960938 0.148438 +vt 0.937500 0.187500 +vt 0.898438 0.210938 +vt 0.859375 0.218750 +vt 0.820312 0.210938 +vt 0.781250 0.187500 +vt 0.757812 0.148438 +vt 0.750000 0.109375 +vt 0.757812 0.070312 +vt 0.781250 0.031250 +vt 0.820312 0.007812 +vt 0.859375 -0.000000 +vt 0.898438 0.007812 +vt 0.937500 0.031250 +vt 0.750000 0.328125 +vt 0.757812 0.367188 +vt 0.781250 0.250000 +vt 0.898438 0.226562 +vt 0.937500 0.250000 +vt 0.960938 0.367188 +vt 0.968750 0.328125 +vt 0.937500 0.406250 +vt 0.898438 0.429688 +vt 0.820312 0.429688 +vt 0.859375 0.437500 +vt 0.781250 0.406250 +vt 0.750000 0.046875 +s 0 +f 6/1/1 76/2/2 66/3/3 +f 10/4/4 14/5/5 71/6/6 +f 8/7/7 12/8/8 70/9/9 +f 28/10/10 67/11/11 7/12/12 +f 17/13/13 65/14/14 5/15/15 +f 30/16/16 26/17/17 77/18/18 +f 12/8/19 10/4/20 69/19/21 +f 21/20/22 72/21/23 17/13/24 +f 22/22/25 76/2/2 25/23/26 +f 32/24/27 74/25/28 21/20/29 +f 8/7/30 68/26/31 77/18/18 +f 7/12/32 73/27/33 18/28/34 +f 5/29/35 71/6/6 14/5/36 +f 30/16/16 78/30/37 28/10/38 +f 18/28/39 75/31/40 22/22/41 +f 6/1/1 80/32/42 32/24/43 +f 55/33/44 5/29/35 14/5/45 +f 56/34/46 5/15/47 49/35/48 +f 58/36/49 17/13/50 56/34/46 +f 32/24/27 58/36/49 64/37/51 +f 64/37/51 6/1/1 32/24/52 +f 60/38/53 6/1/54 50/39/55 +f 59/40/56 25/23/57 60/38/53 +f 18/28/39 59/40/56 57/41/58 +f 7/12/59 57/41/58 51/42/60 +f 62/43/61 7/12/59 51/42/62 +f 63/44/63 28/10/64 62/43/61 +f 63/44/63 61/45/65 26/17/17 +f 61/45/65 52/46/66 8/7/67 +f 8/7/67 52/46/68 54/47/69 +f 12/8/70 54/47/69 53/48/71 +f 14/5/45 10/4/72 53/48/71 +f 1/49/73 39/50/74 13/51/75 +f 13/51/75 39/50/74 37/52/76 +f 11/53/77 9/54/78 37/52/76 +f 38/55/79 36/56/80 4/57/81 +f 45/58/82 24/59/83 4/57/84 +f 47/60/85 29/61/86 24/59/83 +f 47/60/85 46/62/87 27/63/88 +f 46/62/87 35/64/89 3/65/90 +f 41/66/91 16/67/92 3/65/93 +f 43/68/94 20/69/95 16/67/92 +f 23/70/96 20/69/95 43/68/94 +f 44/71/97 34/72/98 2/73/99 +f 48/74/100 31/75/101 2/73/102 +f 42/76/103 31/75/101 48/74/100 +f 15/77/104 42/76/103 40/78/105 +f 40/78/105 1/79/73 15/77/106 +f 55/80/107 54/81/108 62/82/109 +f 87/6/6 103/83/6 101/84/21 +f 91/31/40 108/85/2 92/2/110 +f 83/11/11 94/30/37 110/86/37 +f 82/3/3 112/87/42 96/32/42 +f 81/14/14 88/21/23 104/88/23 +f 95/89/111 111/90/111 110/86/37 +f 82/3/3 108/85/2 98/91/3 +f 88/21/23 90/25/28 106/92/28 +f 84/26/31 109/93/18 93/18/18 +f 81/94/14 97/95/14 103/83/6 +f 90/25/112 96/32/42 112/87/42 +f 89/27/33 83/11/11 99/96/11 +f 86/9/9 100/97/31 84/26/31 +f 85/19/21 102/98/9 86/9/9 +f 91/31/113 89/27/33 105/99/33 +f 93/18/18 111/90/111 95/89/111 +f 23/70/114 2/73/115 114/91/3 +f 4/57/116 24/59/117 125/93/18 +f 19/100/118 128/87/42 31/75/119 +f 16/67/120 20/69/121 123/101/40 +f 20/69/122 23/70/123 124/85/2 +f 13/51/124 113/95/14 1/49/125 +f 15/77/104 122/92/28 19/100/126 +f 3/65/127 16/67/128 121/99/33 +f 9/54/129 11/53/130 118/98/9 +f 29/61/131 127/90/111 125/93/18 +f 1/79/73 120/88/23 15/77/132 +f 27/63/133 3/65/127 115/96/11 +f 13/51/134 9/54/135 117/84/21 +f 2/73/115 31/75/136 128/87/42 +f 4/57/84 116/97/31 118/98/9 +f 29/61/137 27/63/88 126/86/37 +f 6/1/138 25/23/139 76/2/2 +f 10/4/20 71/6/6 69/19/21 +f 8/7/30 70/9/9 68/26/31 +f 28/10/140 78/30/37 67/11/11 +f 17/13/141 72/21/23 65/14/14 +f 30/16/142 77/18/18 79/89/111 +f 12/8/19 69/19/21 70/9/9 +f 21/20/29 74/25/28 72/21/23 +f 22/22/41 75/31/40 76/2/2 +f 32/24/43 80/32/42 74/25/28 +f 8/7/30 77/18/18 26/17/143 +f 7/12/32 67/11/11 73/27/33 +f 5/29/35 65/94/144 71/6/6 +f 30/16/142 79/89/145 78/30/37 +f 18/28/34 73/27/33 75/31/40 +f 6/1/1 66/3/3 80/32/42 +f 55/33/44 49/102/146 5/29/47 +f 56/34/46 17/13/50 5/15/35 +f 58/36/49 21/20/147 17/13/50 +f 32/24/52 21/20/147 58/36/49 +f 64/37/51 50/39/148 6/1/54 +f 60/38/53 25/23/57 6/1/1 +f 59/40/56 22/22/149 25/23/57 +f 18/28/150 22/22/149 59/40/56 +f 7/12/32 18/28/150 57/41/58 +f 62/43/61 28/10/64 7/12/32 +f 63/44/63 30/16/151 28/10/64 +f 63/44/63 26/17/152 30/16/151 +f 61/45/65 8/7/30 26/17/152 +f 8/7/30 54/47/69 12/8/70 +f 12/8/70 53/48/71 10/4/72 +f 14/5/5 53/48/71 55/33/44 +f 1/49/153 33/103/154 39/50/74 +f 13/51/75 37/52/76 9/54/78 +f 11/53/130 37/52/76 38/55/79 +f 38/55/79 4/57/84 11/53/77 +f 45/58/82 4/57/81 36/56/155 +f 47/60/85 24/59/83 45/58/82 +f 47/60/85 27/63/156 29/61/86 +f 46/62/87 3/65/93 27/63/156 +f 41/66/91 3/65/90 35/64/157 +f 43/68/94 16/67/92 41/66/91 +f 23/70/123 43/68/94 44/71/97 +f 44/71/97 2/73/102 23/70/96 +f 48/74/100 2/73/99 34/72/158 +f 42/76/103 19/100/159 31/75/101 +f 15/77/106 19/100/159 42/76/103 +f 40/78/105 33/104/160 1/79/153 +f 39/105/161 33/106/162 40/107/163 +f 40/107/163 42/108/164 48/109/165 +f 48/109/165 34/110/166 44/111/167 +f 44/111/167 43/112/168 41/113/169 +f 41/113/169 35/114/170 46/115/171 +f 46/115/171 47/116/172 45/117/173 +f 45/117/173 36/118/174 38/119/175 +f 38/119/175 37/120/176 39/105/161 +f 41/113/169 40/107/163 44/111/177 +f 39/105/178 40/107/179 41/113/180 +f 39/105/178 41/113/180 46/115/181 +f 49/121/182 55/80/107 56/122/183 +f 55/80/107 53/123/184 54/81/185 +f 54/81/185 52/110/186 61/124/187 +f 61/124/187 63/125/188 62/82/109 +f 57/126/58 62/82/109 51/127/189 +f 61/124/190 62/82/191 54/81/108 +f 57/126/58 59/128/192 60/129/193 +f 64/130/194 60/129/193 50/131/195 +f 57/126/58 60/129/196 64/130/194 +f 64/130/194 58/132/197 56/122/183 +f 57/126/58 55/80/107 62/82/191 +f 56/122/198 55/80/107 57/126/58 +f 56/122/183 57/126/58 64/130/199 +f 87/6/6 101/84/21 85/19/21 +f 91/31/40 107/101/40 108/85/2 +f 83/11/11 110/86/37 99/96/11 +f 82/3/3 98/91/3 112/87/42 +f 81/14/14 104/88/200 97/133/14 +f 95/89/111 110/86/37 94/30/37 +f 82/3/3 92/2/2 108/85/2 +f 88/21/23 106/92/201 104/88/23 +f 84/26/31 100/97/202 109/93/18 +f 81/94/14 103/83/6 87/6/6 +f 90/25/28 112/87/42 106/92/28 +f 89/27/33 99/96/11 105/99/33 +f 86/9/9 102/98/9 100/97/31 +f 85/19/21 101/84/203 102/98/9 +f 91/31/40 105/99/33 107/101/40 +f 93/18/18 109/93/18 111/90/111 +f 23/70/96 114/91/3 124/85/2 +f 4/57/84 125/93/18 116/97/31 +f 19/100/126 122/92/28 128/87/42 +f 16/67/120 123/101/40 121/99/33 +f 20/69/121 124/85/2 123/101/40 +f 13/51/204 119/83/6 113/95/14 +f 15/77/132 120/88/23 122/92/28 +f 3/65/93 121/99/33 115/96/11 +f 9/54/135 118/98/9 117/84/21 +f 29/61/137 125/93/18 24/59/205 +f 1/79/73 113/133/206 120/88/23 +f 27/63/156 115/96/11 126/86/37 +f 13/51/134 117/84/21 119/83/6 +f 2/73/102 128/87/42 114/91/3 +f 4/57/84 118/98/9 11/53/207 +f 29/61/131 126/86/208 127/90/111 +f 48/109/209 44/111/167 40/107/163 +f 46/115/171 45/117/210 39/105/161 +f 38/119/211 39/105/178 45/117/210 +o CylinderGlow +v 0.000000 3.375000 -1.000000 +v 1.000000 3.375000 -0.000000 +v 0.000000 3.375000 1.000000 +v -1.000000 3.375000 -0.000000 +v -0.718750 3.375000 -0.718750 +v -0.937500 3.375000 -0.375000 +v -0.375000 3.375000 -0.937500 +v 0.375000 3.375000 -0.937500 +v 0.375000 3.375000 0.937500 +v 0.718750 3.375000 -0.718750 +v 0.718750 3.375000 0.718750 +v 0.937500 3.375000 0.375000 +v -0.937500 3.375000 0.375000 +v -0.375000 3.375000 0.937500 +v -0.718750 3.375000 0.718750 +v 0.937500 3.375000 -0.375000 +v 0.000000 3.125000 -1.000000 +v 1.000000 3.125000 -0.000000 +v 0.000000 3.125000 1.000000 +v -1.000000 3.125000 -0.000000 +v -0.718750 3.125000 -0.718750 +v -0.937500 3.125000 -0.375000 +v -0.375000 3.125000 -0.937500 +v 0.375000 3.125000 -0.937500 +v 0.375000 3.125000 0.937500 +v 0.718750 3.125000 -0.718750 +v 0.718750 3.125000 0.718750 +v 0.937500 3.125000 0.375000 +v -0.937500 3.125000 0.375000 +v -0.375000 3.125000 0.937500 +v -0.718750 3.125000 0.718750 +v 0.937500 3.125000 -0.375000 +v 0.000000 0.625000 -1.000000 +v 1.000000 0.625000 -0.000000 +v 0.000000 0.625000 1.000000 +v -1.000000 0.625000 -0.000000 +v -0.718750 0.625000 -0.718750 +v -0.937500 0.625000 -0.375000 +v -0.375000 0.625000 -0.937500 +v 0.375000 0.625000 -0.937500 +v 0.375000 0.625000 0.937500 +v 0.718750 0.625000 -0.718750 +v 0.718750 0.625000 0.718750 +v 0.937500 0.625000 0.375000 +v -0.937500 0.625000 0.375000 +v -0.375000 0.625000 0.937500 +v -0.718750 0.625000 0.718750 +v 0.937500 0.625000 -0.375000 +v 0.000000 0.375000 -1.000000 +v 1.000000 0.375000 -0.000000 +v 0.000000 0.375000 1.000000 +v -1.000000 0.375000 -0.000000 +v -0.718750 0.375000 -0.718750 +v -0.937500 0.375000 -0.375000 +v -0.375000 0.375000 -0.937500 +v 0.375000 0.375000 -0.937500 +v 0.375000 0.375000 0.937500 +v 0.718750 0.375000 -0.718750 +v 0.718750 0.375000 0.718750 +v 0.937500 0.375000 0.375000 +v -0.937500 0.375000 0.375000 +v -0.375000 0.375000 0.937500 +v -0.718750 0.375000 0.718750 +v 0.937500 0.375000 -0.375000 +vn -0.3578 -0.0001 0.9338 +vn -0.7071 -0.0000 0.7071 +vn 0.3578 -0.0000 0.9338 +vn -0.0000 -0.0000 1.0000 +vn 0.7071 -0.0000 0.7071 +vn 0.9338 -0.0000 0.3578 +vn -0.0000 -0.0000 -1.0000 +vn 0.3578 -0.0000 -0.9338 +vn -0.9338 -0.0000 0.3578 +vn 0.9338 -0.0000 -0.3578 +vn 1.0000 -0.0000 -0.0000 +vn 0.3578 -0.0001 -0.9338 +vn 0.7071 -0.0000 -0.7071 +vn -0.9338 -0.0000 -0.3578 +vn -1.0000 -0.0000 -0.0000 +vn -1.0000 -0.0001 -0.0000 +vn -0.3578 -0.0000 -0.9338 +vn -0.7071 -0.0000 -0.7071 +vn -0.3578 -0.0000 0.9338 +vn -0.7071 0.0001 -0.7071 +vn -0.7071 -0.0001 0.7071 +vn 0.7071 0.0001 0.7071 +vn 0.3578 0.0001 0.9338 +vn 0.9338 -0.0001 0.3578 +vn -1.0000 0.0001 -0.0000 +vn -0.3578 0.0001 -0.9338 +vt 0.234375 0.445312 +vt 0.281250 0.445312 +vt 0.281250 0.414062 +vt 0.234375 0.414062 +s 0 +f 142/134/212 143/135/213 159/136/213 +f 137/136/214 131/137/215 147/134/215 +f 139/137/216 156/135/217 140/136/217 +f 129/136/218 136/137/219 152/134/219 +f 141/135/220 159/137/213 143/134/213 +f 139/136/216 137/137/214 153/134/214 +f 144/136/221 146/134/222 160/135/221 +f 136/136/223 138/137/224 154/134/224 +f 134/135/225 148/137/226 132/134/227 +f 138/136/224 144/137/221 160/134/221 +f 140/137/217 146/135/222 130/136/222 +f 135/134/228 129/135/218 145/136/218 +f 132/135/226 157/137/220 141/134/220 +f 133/135/229 150/137/225 134/134/225 +f 131/134/215 142/135/230 158/136/230 +f 133/134/231 135/135/228 151/136/228 +f 174/137/212 175/136/213 191/135/213 +f 169/136/214 163/137/215 179/134/215 +f 172/136/217 187/134/216 188/135/217 +f 161/136/218 168/137/219 184/134/219 +f 173/136/220 191/134/213 175/137/232 +f 171/136/216 169/137/214 185/134/214 +f 176/136/221 178/134/222 192/135/221 +f 168/136/223 170/137/224 186/134/224 +f 166/136/225 180/134/226 164/137/227 +f 170/136/224 176/137/221 192/134/221 +f 172/137/217 178/135/222 162/136/222 +f 167/137/228 161/136/218 177/135/218 +f 164/136/226 189/134/220 173/137/220 +f 165/136/229 182/134/225 166/137/225 +f 163/137/215 174/136/230 190/135/230 +f 165/137/229 167/136/228 183/135/228 +f 142/134/230 159/136/232 158/137/230 +f 137/136/214 147/134/215 153/135/214 +f 139/137/216 155/134/233 156/135/217 +f 129/136/218 152/134/219 145/135/218 +f 141/135/220 157/136/220 159/137/213 +f 139/136/216 153/134/234 155/135/216 +f 144/136/221 130/137/222 146/134/222 +f 136/136/219 154/134/224 152/135/219 +f 134/135/225 150/136/225 148/137/226 +f 138/136/224 160/134/221 154/135/224 +f 140/137/217 156/134/235 146/135/222 +f 135/134/228 145/136/218 151/137/228 +f 132/135/226 148/136/236 157/137/220 +f 133/135/229 149/136/229 150/137/225 +f 131/134/215 158/136/230 147/137/215 +f 133/134/229 151/136/237 149/137/229 +f 174/137/230 191/135/232 190/134/230 +f 169/136/214 179/134/215 185/135/214 +f 172/136/235 171/137/216 187/134/216 +f 161/136/218 184/134/219 177/135/218 +f 173/136/220 189/135/220 191/134/213 +f 171/136/216 185/134/234 187/135/216 +f 176/136/221 162/137/222 178/134/222 +f 168/136/219 186/134/224 184/135/219 +f 166/136/225 182/135/225 180/134/226 +f 170/136/224 192/134/221 186/135/224 +f 172/137/217 188/134/217 178/135/222 +f 167/137/228 177/135/218 183/134/228 +f 164/136/226 180/135/236 189/134/220 +f 165/136/229 181/135/229 182/134/225 +f 163/137/215 190/135/230 179/134/215 +f 165/137/229 183/135/237 181/134/229 +o CylinderNoGlow +v 0.000000 3.375000 -1.000000 +v 1.000000 3.375000 -0.000000 +v 0.000000 3.375000 1.000000 +v -1.000000 3.375000 -0.000000 +v -0.718750 3.375000 -0.718750 +v -0.937500 3.375000 -0.375000 +v -0.375000 3.375000 -0.937500 +v 0.375000 3.375000 -0.937500 +v 0.375000 3.375000 0.937500 +v 0.718750 3.375000 -0.718750 +v 0.718750 3.375000 0.718750 +v 0.937500 3.375000 0.375000 +v -0.937500 3.375000 0.375000 +v -0.375000 3.375000 0.937500 +v -0.718750 3.375000 0.718750 +v 0.937500 3.375000 -0.375000 +v 0.000000 3.125000 -1.000000 +v 1.000000 3.125000 -0.000000 +v 0.000000 3.125000 1.000000 +v -1.000000 3.125000 -0.000000 +v -0.718750 3.125000 -0.718750 +v -0.937500 3.125000 -0.375000 +v -0.375000 3.125000 -0.937500 +v 0.375000 3.125000 -0.937500 +v 0.375000 3.125000 0.937500 +v 0.718750 3.125000 -0.718750 +v 0.718750 3.125000 0.718750 +v 0.937500 3.125000 0.375000 +v -0.937500 3.125000 0.375000 +v -0.375000 3.125000 0.937500 +v -0.718750 3.125000 0.718750 +v 0.937500 3.125000 -0.375000 +v 0.000000 0.625000 -1.000000 +v 1.000000 0.625000 -0.000000 +v 0.000000 0.625000 1.000000 +v -1.000000 0.625000 -0.000000 +v -0.718750 0.625000 -0.718750 +v -0.937500 0.625000 -0.375000 +v -0.375000 0.625000 -0.937500 +v 0.375000 0.625000 -0.937500 +v 0.375000 0.625000 0.937500 +v 0.718750 0.625000 -0.718750 +v 0.718750 0.625000 0.718750 +v 0.937500 0.625000 0.375000 +v -0.937500 0.625000 0.375000 +v -0.375000 0.625000 0.937500 +v -0.718750 0.625000 0.718750 +v 0.937500 0.625000 -0.375000 +v 0.000000 0.375000 -1.000000 +v 1.000000 0.375000 -0.000000 +v 0.000000 0.375000 1.000000 +v -1.000000 0.375000 -0.000000 +v -0.718750 0.375000 -0.718750 +v -0.937500 0.375000 -0.375000 +v -0.375000 0.375000 -0.937500 +v 0.375000 0.375000 -0.937500 +v 0.375000 0.375000 0.937500 +v 0.718750 0.375000 -0.718750 +v 0.718750 0.375000 0.718750 +v 0.937500 0.375000 0.375000 +v -0.937500 0.375000 0.375000 +v -0.375000 0.375000 0.937500 +v -0.718750 0.375000 0.718750 +v 0.937500 0.375000 -0.375000 +vn -0.3578 -0.0001 0.9338 +vn -0.7071 -0.0000 0.7071 +vn 0.3578 -0.0000 0.9338 +vn -0.0000 -0.0000 1.0000 +vn 0.7071 -0.0000 0.7071 +vn 0.9338 -0.0000 0.3578 +vn -0.0000 -0.0000 -1.0000 +vn 0.3578 -0.0000 -0.9338 +vn -0.9338 -0.0000 0.3578 +vn 0.9338 -0.0000 -0.3578 +vn 1.0000 -0.0000 -0.0000 +vn 0.3578 -0.0001 -0.9338 +vn 0.7071 -0.0000 -0.7071 +vn -0.9338 -0.0000 -0.3578 +vn -1.0000 -0.0000 -0.0000 +vn -1.0000 -0.0001 -0.0000 +vn -0.3578 -0.0000 -0.9338 +vn -0.7071 -0.0000 -0.7071 +vn -0.3578 -0.0000 0.9338 +vn -0.7071 0.0001 -0.7071 +vn -0.7071 -0.0001 0.7071 +vn 0.7071 0.0001 0.7071 +vn 0.3578 0.0001 0.9338 +vn 0.9338 -0.0001 0.3578 +vn -1.0000 0.0001 -0.0000 +vn -0.3578 0.0001 -0.9338 +vt 0.234375 0.445312 +vt 0.281250 0.445312 +vt 0.281250 0.414062 +vt 0.234375 0.414062 +s 0 +f 206/138/238 207/139/239 223/140/239 +f 201/140/240 195/141/241 211/138/241 +f 203/141/242 220/139/243 204/140/243 +f 193/140/244 200/141/245 216/138/245 +f 205/139/246 223/141/239 207/138/239 +f 203/140/242 201/141/240 217/138/240 +f 208/140/247 210/138/248 224/139/247 +f 200/140/249 202/141/250 218/138/250 +f 198/139/251 212/141/252 196/138/253 +f 202/140/250 208/141/247 224/138/247 +f 204/141/243 210/139/248 194/140/248 +f 199/138/254 193/139/244 209/140/244 +f 196/139/252 221/141/246 205/138/246 +f 197/139/255 214/141/251 198/138/251 +f 195/138/241 206/139/256 222/140/256 +f 197/138/257 199/139/254 215/140/254 +f 238/141/238 239/140/239 255/139/239 +f 233/140/240 227/141/241 243/138/241 +f 236/140/243 251/138/242 252/139/243 +f 225/140/244 232/141/245 248/138/245 +f 237/140/246 255/138/239 239/141/258 +f 235/140/242 233/141/240 249/138/240 +f 240/140/247 242/138/248 256/139/247 +f 232/140/249 234/141/250 250/138/250 +f 230/140/251 244/138/252 228/141/253 +f 234/140/250 240/141/247 256/138/247 +f 236/141/243 242/139/248 226/140/248 +f 231/141/254 225/140/244 241/139/244 +f 228/140/252 253/138/246 237/141/246 +f 229/140/255 246/138/251 230/141/251 +f 227/141/241 238/140/256 254/139/256 +f 229/141/255 231/140/254 247/139/254 +f 206/138/256 223/140/258 222/141/256 +f 201/140/240 211/138/241 217/139/240 +f 203/141/242 219/138/259 220/139/243 +f 193/140/244 216/138/245 209/139/244 +f 205/139/246 221/140/246 223/141/239 +f 203/140/242 217/138/260 219/139/242 +f 208/140/247 194/141/248 210/138/248 +f 200/140/245 218/138/250 216/139/245 +f 198/139/251 214/140/251 212/141/252 +f 202/140/250 224/138/247 218/139/250 +f 204/141/243 220/138/261 210/139/248 +f 199/138/254 209/140/244 215/141/254 +f 196/139/252 212/140/262 221/141/246 +f 197/139/255 213/140/255 214/141/251 +f 195/138/241 222/140/256 211/141/241 +f 197/138/255 215/140/263 213/141/255 +f 238/141/256 255/139/258 254/138/256 +f 233/140/240 243/138/241 249/139/240 +f 236/140/261 235/141/242 251/138/242 +f 225/140/244 248/138/245 241/139/244 +f 237/140/246 253/139/246 255/138/239 +f 235/140/242 249/138/260 251/139/242 +f 240/140/247 226/141/248 242/138/248 +f 232/140/245 250/138/250 248/139/245 +f 230/140/251 246/139/251 244/138/252 +f 234/140/250 256/138/247 250/139/250 +f 236/141/243 252/138/243 242/139/248 +f 231/141/254 241/139/244 247/138/254 +f 228/140/252 244/139/262 253/138/246 +f 229/140/255 245/139/255 246/138/251 +f 227/141/241 254/139/256 243/138/241 +f 229/141/255 247/139/263 245/138/255 +o MineTrigger +v 0.000000 3.750000 0.250000 +v 0.000000 3.750000 -0.250000 +v 0.250000 3.750000 -0.000000 +v -0.250000 3.750000 -0.000000 +v 0.187500 3.750000 -0.187500 +v -0.187500 3.750000 -0.187500 +v 0.187500 3.750000 0.187500 +v -0.187500 3.750000 0.187500 +v 0.000000 7.000000 0.250000 +v 0.000000 7.000000 -0.250000 +v 0.250000 7.000000 -0.000000 +v -0.250000 7.000000 -0.000000 +v 0.187500 7.000000 -0.187500 +v -0.187500 7.000000 -0.187500 +v 0.187500 7.000000 0.187500 +v -0.187500 7.000000 0.187500 +v 0.000000 6.750000 0.250000 +v 0.000000 6.750000 -0.250000 +v 0.250000 6.750000 -0.000000 +v -0.250000 6.750000 -0.000000 +v 0.187500 6.750000 -0.187500 +v -0.187500 6.750000 -0.187500 +v 0.187500 6.750000 0.187500 +v -0.187500 6.750000 0.187500 +v 0.000000 6.500000 0.250000 +v 0.000000 6.500000 -0.250000 +v 0.250000 6.500000 -0.000000 +v -0.250000 6.500000 -0.000000 +v 0.187500 6.500000 -0.187500 +v -0.187500 6.500000 -0.187500 +v 0.187500 6.500000 0.187500 +v -0.187500 6.500000 0.187500 +vn 0.7071 -0.0000 -0.7071 +vn 0.5554 0.6189 -0.5554 +vn 0.7664 0.6424 0.0001 +vn 0.7664 0.6424 -0.0001 +vn 0.5554 0.6189 0.5554 +vn 0.7071 -0.0000 0.7071 +vn -0.0000 0.6424 0.7664 +vn -0.0000 -0.0000 1.0000 +vn 0.0001 0.6424 0.7664 +vn -0.5554 0.6189 0.5554 +vn -0.7071 -0.0000 0.7071 +vn -0.7664 0.6424 -0.0001 +vn -0.7664 0.6424 0.0001 +vn -0.5554 0.6189 -0.5554 +vn -0.7071 -0.0000 -0.7071 +vn -0.0000 0.6424 -0.7664 +vn -0.0001 0.6424 -0.7664 +vn -0.7664 0.6423 -0.0000 +vn -0.0000 0.6423 -0.7664 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0001 1.0000 +vn -1.0000 -0.0000 -0.0000 +vn -1.0000 0.0001 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn 0.7664 0.6424 -0.0000 +vn 1.0000 -0.0001 -0.0000 +vn 0.5554 0.6190 0.5554 +vn -0.7664 0.6424 -0.0000 +vn 0.7664 0.6423 -0.0000 +vn -0.0000 0.6423 0.7664 +vn -0.7664 0.6423 0.0001 +vn 0.7664 0.6423 -0.0001 +vn -1.0000 -0.0001 -0.0000 +vt 0.164062 0.750000 +vt 0.164062 0.781250 +vt 0.140625 0.781250 +vt 0.117188 0.781250 +vt 0.117188 0.750000 +vt 0.093750 0.781250 +vt 0.093750 0.750000 +vt 0.070312 0.781250 +vt 0.070312 0.750000 +vt 0.046875 0.781250 +vt 0.023438 0.781250 +vt 0.023438 0.750000 +vt 0.000000 0.781250 +vt 0.187500 0.781250 +vt 0.218750 0.718750 +vt 0.187500 0.750000 +vt 0.195312 0.726562 +vt 0.117188 0.406250 +vt 0.140625 0.750000 +vt 0.140625 0.406250 +vt 0.093750 0.406250 +vt 0.070312 0.406250 +vt 0.046875 0.750000 +vt 0.046875 0.406250 +vt 0.023438 0.406250 +vt 0.000000 0.406250 +vt 0.164062 0.406250 +vt 0.187500 0.406250 +vt 0.000000 0.750000 +vt 0.195312 0.773438 +vt 0.218750 0.781250 +vt 0.250000 0.750000 +vt 0.242188 0.773438 +vt 0.242188 0.726562 +s 0 +f 277/142/264 269/143/265 267/144/266 +f 267/144/267 271/145/268 279/146/269 +f 271/145/268 265/147/270 273/148/271 +f 265/147/272 272/149/273 280/150/274 +f 280/150/274 272/149/273 268/151/275 +f 268/151/276 270/152/277 278/153/278 +f 278/153/278 270/152/277 266/154/279 +f 266/155/280 269/143/265 277/142/264 +f 268/156/281 266/157/282 270/158/277 +f 259/159/283 287/160/269 263/161/269 +f 287/148/269 257/159/284 263/162/269 +f 257/163/271 288/148/274 264/162/274 +f 264/163/274 284/164/285 260/165/286 +f 260/165/285 286/153/278 262/166/278 +f 262/167/278 282/153/287 258/166/287 +f 258/168/287 285/157/264 261/169/264 +f 285/160/264 259/168/283 261/161/264 +f 277/142/264 267/144/288 275/160/289 +f 267/144/288 279/146/269 275/160/283 +f 271/145/290 273/148/271 279/146/269 +f 265/147/270 280/150/274 273/148/271 +f 280/150/274 268/151/291 276/164/285 +f 268/151/291 278/153/278 276/164/285 +f 278/153/278 266/154/279 274/170/287 +f 266/155/279 277/142/264 274/157/287 +f 269/171/265 266/157/282 267/172/292 +f 267/172/292 265/173/293 271/174/268 +f 266/157/282 268/156/294 265/173/293 +f 265/173/293 268/156/281 272/175/273 +f 267/172/295 266/157/282 265/173/293 +f 259/159/283 283/146/283 287/160/269 +f 287/148/269 281/146/271 257/159/271 +f 257/163/271 281/150/271 288/148/274 +f 264/163/274 288/150/274 284/164/285 +f 260/165/285 284/164/296 286/153/278 +f 262/167/278 286/170/278 282/153/287 +f 258/168/287 282/142/287 285/157/264 +f 285/160/264 283/142/283 259/168/283 +o MineTriggerGlow +v 0.000000 6.750000 0.250000 +v 0.000000 6.750000 -0.250000 +v 0.250000 6.750000 -0.000000 +v -0.250000 6.750000 -0.000000 +v 0.187500 6.750000 -0.187500 +v -0.187500 6.750000 -0.187500 +v 0.187500 6.750000 0.187500 +v -0.187500 6.750000 0.187500 +v 0.000000 6.500000 0.250000 +v 0.000000 6.500000 -0.250000 +v 0.250000 6.500000 -0.000000 +v -0.250000 6.500000 -0.000000 +v 0.187500 6.500000 -0.187500 +v -0.187500 6.500000 -0.187500 +v 0.187500 6.500000 0.187500 +v -0.187500 6.500000 0.187500 +vn -0.0000 -0.0000 1.0000 +vn -0.7071 -0.0000 0.7071 +vn -1.0000 -0.0000 -0.0000 +vn -0.7071 -0.0000 -0.7071 +vn -0.0000 -0.0000 -1.0000 +vn 0.7071 -0.0000 -0.7071 +vn 1.0000 -0.0000 -0.0000 +vn 1.0000 -0.0001 -0.0000 +vn 0.7071 -0.0000 0.7071 +vn 1.0000 0.0001 -0.0000 +vn -0.0000 -0.0001 1.0000 +vt 0.234375 0.484375 +vt 0.257812 0.453125 +vt 0.257812 0.484375 +vt 0.234375 0.453125 +s 0 +f 297/176/297 296/177/298 304/178/298 +f 304/176/298 292/177/299 300/178/299 +f 300/176/299 294/177/300 302/178/300 +f 302/176/300 290/177/301 298/178/301 +f 298/177/301 293/176/302 301/179/302 +f 301/177/302 291/176/303 299/179/304 +f 303/179/305 291/178/306 295/176/305 +f 297/179/297 295/178/305 289/176/297 +f 297/176/297 289/179/297 296/177/298 +f 304/176/298 296/179/298 292/177/299 +f 300/176/299 292/179/299 294/177/300 +f 302/176/300 294/179/300 290/177/301 +f 298/177/301 290/178/301 293/176/302 +f 301/177/302 293/178/302 291/176/303 +f 303/179/305 299/177/303 291/178/303 +f 297/179/307 303/177/305 295/178/305 +o MineTriggerNoGlow +v 0.000000 6.750000 0.250000 +v 0.000000 6.750000 -0.250000 +v 0.250000 6.750000 -0.000000 +v -0.250000 6.750000 -0.000000 +v 0.187500 6.750000 -0.187500 +v -0.187500 6.750000 -0.187500 +v 0.187500 6.750000 0.187500 +v -0.187500 6.750000 0.187500 +v 0.000000 6.500000 0.250000 +v 0.000000 6.500000 -0.250000 +v 0.250000 6.500000 -0.000000 +v -0.250000 6.500000 -0.000000 +v 0.187500 6.500000 -0.187500 +v -0.187500 6.500000 -0.187500 +v 0.187500 6.500000 0.187500 +v -0.187500 6.500000 0.187500 +vn -0.0000 -0.0000 1.0000 +vn -0.7071 -0.0000 0.7071 +vn -1.0000 -0.0000 -0.0000 +vn -0.7071 -0.0000 -0.7071 +vn -0.0000 -0.0000 -1.0000 +vn 0.7071 -0.0000 -0.7071 +vn 1.0000 -0.0000 -0.0000 +vn 1.0000 -0.0001 -0.0000 +vn 0.7071 -0.0000 0.7071 +vn 1.0000 0.0001 -0.0000 +vn -0.0000 -0.0001 1.0000 +vt 0.234375 0.484375 +vt 0.257812 0.453125 +vt 0.257812 0.484375 +vt 0.234375 0.453125 +s 0 +f 313/180/308 312/181/309 320/182/309 +f 320/180/309 308/181/310 316/182/310 +f 316/180/310 310/181/311 318/182/311 +f 318/180/311 306/181/312 314/182/312 +f 314/181/312 309/180/313 317/183/313 +f 317/181/313 307/180/314 315/183/315 +f 319/183/316 307/182/317 311/180/316 +f 313/183/308 311/182/316 305/180/308 +f 313/180/308 305/183/308 312/181/309 +f 320/180/309 312/183/309 308/181/310 +f 316/180/310 308/183/310 310/181/311 +f 318/180/311 310/183/311 306/181/312 +f 314/181/312 306/182/312 309/180/313 +f 317/181/313 309/182/313 307/180/314 +f 319/183/316 315/181/314 307/182/314 +f 313/183/318 319/181/316 311/182/316 diff --git a/src/main/resources/assets/hbm/models/bombs/naval_mine.obj b/src/main/resources/assets/hbm/models/bombs/naval_mine.obj new file mode 100644 index 000000000..865481154 --- /dev/null +++ b/src/main/resources/assets/hbm/models/bombs/naval_mine.obj @@ -0,0 +1,7212 @@ +# Blender 4.0.2 +# www.blender.org +mtllib NMine.mtl +o Cylinder +v 0.000000 -0.062500 -0.937500 +v 0.000000 0.062500 -0.937500 +v 0.358766 -0.062500 -0.866137 +v 0.358766 0.062500 -0.866137 +v 0.662913 -0.062500 -0.662913 +v 0.662913 0.062500 -0.662913 +v 0.866137 -0.062500 -0.358766 +v 0.866137 0.062500 -0.358766 +v 0.937500 -0.062500 0.000000 +v 0.937500 0.062500 0.000000 +v 0.866137 -0.062500 0.358766 +v 0.866137 0.062500 0.358766 +v 0.662913 -0.062500 0.662913 +v 0.662913 0.062500 0.662913 +v 0.358766 -0.062500 0.866137 +v 0.358766 0.062500 0.866137 +v 0.000000 -0.062500 0.937500 +v 0.000000 0.062500 0.937500 +v -0.358766 -0.062500 0.866137 +v -0.358766 0.062500 0.866137 +v -0.662913 -0.062500 0.662913 +v -0.662913 0.062500 0.662913 +v -0.866137 -0.062500 0.358766 +v -0.866137 0.062500 0.358766 +v -0.937500 -0.062500 0.000000 +v -0.937500 0.062500 0.000000 +v -0.866137 -0.062500 -0.358766 +v -0.866137 0.062500 -0.358766 +v -0.662913 -0.062500 -0.662913 +v -0.662913 0.062500 -0.662913 +v -0.358766 -0.062500 -0.866137 +v -0.358766 0.062500 -0.866137 +v 0.000000 -0.062500 -1.125000 +v 0.430519 -0.062500 -1.039364 +v 0.430519 0.062500 -1.039364 +v 0.000000 0.062500 -1.125000 +v 0.795495 -0.062500 -0.795495 +v 0.795495 0.062500 -0.795495 +v 1.039364 -0.062500 -0.430519 +v 1.039364 0.062500 -0.430519 +v 1.125000 -0.062500 0.000000 +v 1.125000 0.062500 0.000000 +v 1.039364 -0.062500 0.430519 +v 1.039364 0.062500 0.430519 +v 0.795495 -0.062500 0.795495 +v 0.795495 0.062500 0.795495 +v 0.430519 -0.062500 1.039364 +v 0.430519 0.062500 1.039364 +v 0.000000 -0.062500 1.125000 +v 0.000000 0.062500 1.125000 +v -0.430519 -0.062500 1.039364 +v -0.430519 0.062500 1.039364 +v -0.795495 -0.062500 0.795495 +v -0.795495 0.062500 0.795495 +v -1.039364 -0.062500 0.430519 +v -1.039364 0.062500 0.430519 +v -1.125000 -0.062500 0.000000 +v -1.125000 0.062500 0.000000 +v -1.039364 -0.062500 -0.430519 +v -1.039364 0.062500 -0.430519 +v -0.795495 -0.062500 -0.795495 +v -0.795495 0.062500 -0.795495 +v -0.430519 -0.062500 -1.039364 +v -0.430519 0.062500 -1.039364 +v -0.577350 -0.577350 0.577350 +v -0.577350 0.577350 0.577350 +v -0.577350 -0.577350 -0.577350 +v -0.577350 0.577350 -0.577350 +v 0.577350 -0.577350 0.577350 +v 0.577350 0.577350 0.577350 +v 0.577350 -0.577350 -0.577350 +v 0.577350 0.577350 -0.577350 +v -0.618670 -0.618670 -0.484248 +v -0.664003 -0.664003 -0.343804 +v -0.695814 -0.695814 -0.178005 +v -0.707107 -0.707107 -0.000000 +v -0.695814 -0.695814 0.178005 +v -0.664003 -0.664003 0.343804 +v -0.618670 -0.618670 0.484248 +v -0.618670 -0.484248 0.618670 +v -0.664003 -0.343804 0.664003 +v -0.695814 -0.178005 0.695814 +v -0.707107 -0.000000 0.707107 +v -0.695814 0.178005 0.695814 +v -0.664003 0.343804 0.664003 +v -0.618670 0.484248 0.618670 +v -0.618670 0.618670 0.484248 +v -0.664003 0.664003 0.343804 +v -0.695814 0.695814 0.178005 +v -0.707107 0.707107 0.000000 +v -0.695814 0.695814 -0.178005 +v -0.664003 0.664003 -0.343804 +v -0.618670 0.618670 -0.484248 +v -0.618670 0.484248 -0.618670 +v -0.664003 0.343804 -0.664003 +v -0.695814 0.178005 -0.695814 +v -0.707107 -0.000000 -0.707107 +v -0.695814 -0.178005 -0.695814 +v -0.664003 -0.343804 -0.664003 +v -0.618670 -0.484248 -0.618670 +v 0.484248 -0.618670 -0.618670 +v 0.343804 -0.664003 -0.664003 +v 0.178005 -0.695814 -0.695814 +v 0.000000 -0.707107 -0.707107 +v -0.178005 -0.695814 -0.695814 +v -0.343804 -0.664003 -0.664003 +v -0.484248 -0.618670 -0.618670 +v -0.484248 0.618670 -0.618670 +v -0.343804 0.664003 -0.664003 +v -0.178005 0.695814 -0.695814 +v -0.000000 0.707107 -0.707107 +v 0.178005 0.695814 -0.695814 +v 0.343804 0.664003 -0.664003 +v 0.484248 0.618670 -0.618670 +v 0.618670 0.484248 -0.618670 +v 0.664003 0.343804 -0.664003 +v 0.695814 0.178005 -0.695814 +v 0.707107 -0.000000 -0.707107 +v 0.695814 -0.178005 -0.695814 +v 0.664003 -0.343804 -0.664003 +v 0.618670 -0.484248 -0.618670 +v 0.618670 -0.618670 0.484248 +v 0.664003 -0.664003 0.343804 +v 0.695814 -0.695814 0.178005 +v 0.707107 -0.707107 0.000000 +v 0.695814 -0.695814 -0.178005 +v 0.664003 -0.664003 -0.343804 +v 0.618670 -0.618670 -0.484248 +v 0.618670 0.618670 -0.484248 +v 0.664003 0.664003 -0.343804 +v 0.695814 0.695814 -0.178005 +v 0.707107 0.707107 0.000000 +v 0.695814 0.695814 0.178005 +v 0.664003 0.664003 0.343804 +v 0.618670 0.618670 0.484248 +v 0.618670 0.484248 0.618670 +v 0.664003 0.343804 0.664003 +v 0.695814 0.178005 0.695814 +v 0.707107 -0.000000 0.707107 +v 0.695814 -0.178005 0.695814 +v 0.664003 -0.343804 0.664003 +v 0.618670 -0.484248 0.618670 +v -0.484248 -0.618670 0.618670 +v -0.343804 -0.664003 0.664003 +v -0.178005 -0.695814 0.695814 +v -0.000000 -0.707107 0.707107 +v 0.178005 -0.695814 0.695814 +v 0.343804 -0.664003 0.664003 +v 0.484248 -0.618670 0.618670 +v 0.484248 0.618670 0.618670 +v 0.343804 0.664003 0.664003 +v 0.178005 0.695814 0.695814 +v -0.000000 0.707107 0.707107 +v -0.178005 0.695814 0.695814 +v -0.343804 0.664003 0.664003 +v -0.484248 0.618670 0.618670 +v -0.707027 -0.500057 0.500057 +v -0.771950 -0.352170 0.529217 +v -0.813276 -0.181863 0.552728 +v -0.827348 -0.000000 0.561691 +v -0.813276 0.181863 0.552728 +v -0.771950 0.352170 0.529217 +v -0.707027 0.500057 0.500057 +v -0.771950 -0.529217 0.352169 +v -0.852438 -0.369696 0.369696 +v -0.902895 -0.190245 0.385471 +v -0.919965 -0.000000 0.392001 +v -0.902895 0.190245 0.385471 +v -0.852438 0.369696 0.369696 +v -0.771950 0.529217 0.352169 +v -0.813276 -0.552728 0.181863 +v -0.902895 -0.385471 0.190245 +v -0.959842 -0.198372 0.198372 +v -0.979399 0.000000 0.201936 +v -0.959842 0.198372 0.198372 +v -0.902895 0.385471 0.190245 +v -0.813276 0.552728 0.181863 +v -0.827348 -0.561691 -0.000000 +v -0.919965 -0.392001 -0.000000 +v -0.979399 -0.201936 0.000000 +v -1.000000 0.000000 0.000000 +v -0.979399 0.201936 0.000000 +v -0.919965 0.392001 0.000000 +v -0.827348 0.561691 0.000000 +v -0.813276 -0.552728 -0.181863 +v -0.902895 -0.385471 -0.190245 +v -0.959842 -0.198372 -0.198372 +v -0.979399 0.000000 -0.201936 +v -0.959843 0.198372 -0.198372 +v -0.902895 0.385471 -0.190245 +v -0.813276 0.552728 -0.181863 +v -0.771950 -0.529217 -0.352169 +v -0.852438 -0.369696 -0.369696 +v -0.902895 -0.190245 -0.385471 +v -0.919965 0.000000 -0.392001 +v -0.902895 0.190245 -0.385471 +v -0.852438 0.369696 -0.369696 +v -0.771950 0.529217 -0.352170 +v -0.707027 -0.500057 -0.500057 +v -0.771950 -0.352169 -0.529217 +v -0.813276 -0.181863 -0.552728 +v -0.827348 0.000000 -0.561690 +v -0.813276 0.181863 -0.552728 +v -0.771950 0.352170 -0.529217 +v -0.707027 0.500057 -0.500057 +v -0.500057 -0.500057 -0.707027 +v -0.529217 -0.352170 -0.771950 +v -0.552728 -0.181863 -0.813276 +v -0.561690 -0.000000 -0.827348 +v -0.552728 0.181863 -0.813276 +v -0.529217 0.352169 -0.771950 +v -0.500057 0.500057 -0.707027 +v -0.352169 -0.529217 -0.771950 +v -0.369696 -0.369696 -0.852438 +v -0.385471 -0.190245 -0.902895 +v -0.392001 -0.000000 -0.919965 +v -0.385471 0.190245 -0.902895 +v -0.369696 0.369696 -0.852438 +v -0.352169 0.529217 -0.771950 +v -0.181863 -0.552728 -0.813276 +v -0.190245 -0.385471 -0.902895 +v -0.198372 -0.198372 -0.959843 +v -0.201936 -0.000000 -0.979399 +v -0.198372 0.198372 -0.959842 +v -0.190245 0.385471 -0.902895 +v -0.181863 0.552728 -0.813276 +v 0.000000 -0.561691 -0.827348 +v 0.000000 -0.392001 -0.919965 +v 0.000000 -0.201936 -0.979399 +v 0.000000 0.000000 -1.000000 +v 0.000000 0.201936 -0.979399 +v -0.000000 0.392001 -0.919965 +v -0.000000 0.561691 -0.827348 +v 0.181863 -0.552728 -0.813276 +v 0.190245 -0.385471 -0.902895 +v 0.198372 -0.198372 -0.959842 +v 0.201936 0.000000 -0.979399 +v 0.198372 0.198372 -0.959843 +v 0.190245 0.385471 -0.902895 +v 0.181863 0.552728 -0.813276 +v 0.352169 -0.529217 -0.771950 +v 0.369696 -0.369696 -0.852438 +v 0.385471 -0.190245 -0.902895 +v 0.392001 0.000000 -0.919965 +v 0.385471 0.190245 -0.902895 +v 0.369696 0.369696 -0.852438 +v 0.352170 0.529217 -0.771950 +v 0.500057 -0.500057 -0.707027 +v 0.529217 -0.352169 -0.771950 +v 0.552728 -0.181863 -0.813276 +v 0.561690 0.000000 -0.827348 +v 0.552728 0.181863 -0.813276 +v 0.529217 0.352170 -0.771950 +v 0.500057 0.500057 -0.707027 +v 0.707027 -0.500057 -0.500057 +v 0.771950 -0.352170 -0.529217 +v 0.813276 -0.181863 -0.552728 +v 0.827348 -0.000000 -0.561690 +v 0.813276 0.181863 -0.552728 +v 0.771950 0.352169 -0.529217 +v 0.707027 0.500057 -0.500057 +v 0.771950 -0.529217 -0.352169 +v 0.852438 -0.369696 -0.369696 +v 0.902895 -0.190245 -0.385471 +v 0.919965 -0.000000 -0.392001 +v 0.902895 0.190245 -0.385471 +v 0.852438 0.369696 -0.369696 +v 0.771950 0.529217 -0.352169 +v 0.813276 -0.552728 -0.181863 +v 0.902895 -0.385471 -0.190245 +v 0.959843 -0.198372 -0.198372 +v 0.979399 -0.000000 -0.201936 +v 0.959842 0.198372 -0.198372 +v 0.902895 0.385471 -0.190245 +v 0.813276 0.552728 -0.181863 +v 0.827348 -0.561691 0.000000 +v 0.919965 -0.392001 0.000000 +v 0.979399 -0.201936 0.000000 +v 1.000000 0.000000 0.000000 +v 0.979399 0.201936 0.000000 +v 0.919965 0.392001 -0.000000 +v 0.827348 0.561691 -0.000000 +v 0.813276 -0.552728 0.181863 +v 0.902895 -0.385471 0.190245 +v 0.959842 -0.198372 0.198372 +v 0.979399 0.000000 0.201936 +v 0.959843 0.198372 0.198372 +v 0.902895 0.385471 0.190245 +v 0.813276 0.552728 0.181863 +v 0.771950 -0.529217 0.352169 +v 0.852438 -0.369696 0.369696 +v 0.902895 -0.190245 0.385471 +v 0.919965 0.000000 0.392001 +v 0.902895 0.190245 0.385471 +v 0.852438 0.369696 0.369696 +v 0.771950 0.529217 0.352170 +v 0.707027 -0.500057 0.500057 +v 0.771950 -0.352169 0.529217 +v 0.813276 -0.181863 0.552728 +v 0.827348 0.000000 0.561691 +v 0.813276 0.181863 0.552728 +v 0.771950 0.352170 0.529217 +v 0.707027 0.500057 0.500057 +v 0.500057 -0.500057 0.707027 +v 0.529217 -0.352170 0.771950 +v 0.552728 -0.181863 0.813276 +v 0.561690 -0.000000 0.827348 +v 0.552728 0.181863 0.813276 +v 0.529217 0.352169 0.771950 +v 0.500057 0.500057 0.707027 +v 0.352169 -0.529217 0.771950 +v 0.369696 -0.369696 0.852438 +v 0.385471 -0.190245 0.902895 +v 0.392001 -0.000000 0.919965 +v 0.385471 0.190245 0.902895 +v 0.369696 0.369696 0.852438 +v 0.352169 0.529217 0.771950 +v 0.181863 -0.552728 0.813276 +v 0.190245 -0.385471 0.902895 +v 0.198372 -0.198372 0.959843 +v 0.201936 -0.000000 0.979399 +v 0.198372 0.198372 0.959842 +v 0.190245 0.385471 0.902895 +v 0.181863 0.552728 0.813276 +v -0.000000 -0.561691 0.827348 +v -0.000000 -0.392001 0.919965 +v -0.000000 -0.201936 0.979399 +v -0.000000 0.000000 1.000000 +v -0.000000 0.201936 0.979399 +v 0.000000 0.392001 0.919965 +v 0.000000 0.561691 0.827348 +v -0.181863 -0.552728 0.813276 +v -0.190245 -0.385471 0.902895 +v -0.198372 -0.198372 0.959842 +v -0.201936 0.000000 0.979399 +v -0.198372 0.198372 0.959843 +v -0.190245 0.385471 0.902895 +v -0.181863 0.552728 0.813276 +v -0.352169 -0.529217 0.771950 +v -0.369696 -0.369696 0.852438 +v -0.385471 -0.190245 0.902895 +v -0.392001 0.000000 0.919965 +v -0.385471 0.190245 0.902895 +v -0.369696 0.369696 0.852438 +v -0.352170 0.529217 0.771950 +v -0.500057 -0.500057 0.707027 +v -0.529217 -0.352169 0.771950 +v -0.552728 -0.181863 0.813276 +v -0.561690 0.000000 0.827348 +v -0.552728 0.181863 0.813276 +v -0.529217 0.352170 0.771950 +v -0.500057 0.500057 0.707027 +v -0.500057 -0.707027 -0.500057 +v -0.352170 -0.771950 -0.529217 +v -0.181863 -0.813276 -0.552728 +v -0.000000 -0.827348 -0.561691 +v 0.181863 -0.813276 -0.552728 +v 0.352169 -0.771950 -0.529217 +v 0.500057 -0.707027 -0.500057 +v -0.529217 -0.771950 -0.352169 +v -0.369696 -0.852438 -0.369696 +v -0.190245 -0.902895 -0.385471 +v -0.000000 -0.919965 -0.392001 +v 0.190245 -0.902895 -0.385471 +v 0.369696 -0.852438 -0.369696 +v 0.529217 -0.771950 -0.352169 +v -0.552728 -0.813276 -0.181863 +v -0.385471 -0.902895 -0.190245 +v -0.198372 -0.959843 -0.198372 +v -0.000000 -0.979399 -0.201936 +v 0.198372 -0.959842 -0.198372 +v 0.385471 -0.902895 -0.190245 +v 0.552728 -0.813276 -0.181863 +v -0.561690 -0.827348 0.000000 +v -0.392001 -0.919965 0.000000 +v -0.201936 -0.979399 0.000000 +v 0.000000 -1.000000 0.000000 +v 0.201936 -0.979399 0.000000 +v 0.392001 -0.919965 -0.000000 +v 0.561691 -0.827348 0.000000 +v -0.552728 -0.813276 0.181863 +v -0.385471 -0.902895 0.190245 +v -0.198372 -0.959842 0.198372 +v 0.000000 -0.979399 0.201936 +v 0.198372 -0.959843 0.198372 +v 0.385471 -0.902895 0.190245 +v 0.552728 -0.813276 0.181863 +v -0.529217 -0.771950 0.352169 +v -0.369696 -0.852438 0.369696 +v -0.190245 -0.902895 0.385471 +v 0.000000 -0.919965 0.392001 +v 0.190245 -0.902895 0.385471 +v 0.369696 -0.852438 0.369696 +v 0.529217 -0.771950 0.352170 +v -0.500057 -0.707027 0.500057 +v -0.352169 -0.771950 0.529217 +v -0.181863 -0.813276 0.552728 +v 0.000000 -0.827348 0.561690 +v 0.181863 -0.813276 0.552728 +v 0.352170 -0.771950 0.529217 +v 0.500057 -0.707027 0.500057 +v 0.500057 0.707027 -0.500057 +v 0.352169 0.771950 -0.529217 +v 0.181863 0.813276 -0.552728 +v 0.000000 0.827348 -0.561690 +v -0.181863 0.813276 -0.552728 +v -0.352169 0.771950 -0.529217 +v -0.500057 0.707027 -0.500057 +v 0.529217 0.771950 -0.352169 +v 0.369696 0.852438 -0.369696 +v 0.190245 0.902895 -0.385471 +v 0.000000 0.919965 -0.392001 +v -0.190245 0.902895 -0.385471 +v -0.369696 0.852438 -0.369696 +v -0.529217 0.771950 -0.352169 +v 0.552728 0.813276 -0.181863 +v 0.385471 0.902895 -0.190245 +v 0.198372 0.959843 -0.198372 +v 0.000000 0.979399 -0.201936 +v -0.198372 0.959842 -0.198372 +v -0.385471 0.902895 -0.190245 +v -0.552728 0.813276 -0.181863 +v 0.561690 0.827348 0.000000 +v 0.392001 0.919965 0.000000 +v 0.201936 0.979399 0.000000 +v -0.000000 1.000000 0.000000 +v -0.201936 0.979399 0.000000 +v -0.392001 0.919965 -0.000000 +v -0.561691 0.827348 0.000000 +v 0.552728 0.813276 0.181863 +v 0.385471 0.902895 0.190245 +v 0.198372 0.959843 0.198372 +v -0.000000 0.979399 0.201936 +v -0.198372 0.959843 0.198372 +v -0.385471 0.902895 0.190245 +v -0.552728 0.813276 0.181863 +v 0.529217 0.771950 0.352169 +v 0.369696 0.852438 0.369696 +v 0.190245 0.902895 0.385471 +v -0.000000 0.919965 0.392001 +v -0.190245 0.902895 0.385471 +v -0.369696 0.852438 0.369696 +v -0.529217 0.771950 0.352170 +v 0.500057 0.707027 0.500057 +v 0.352169 0.771950 0.529217 +v 0.181863 0.813276 0.552728 +v -0.000000 0.827348 0.561690 +v -0.181863 0.813276 0.552728 +v -0.352170 0.771950 0.529217 +v -0.500057 0.707027 0.500057 +v 0.000000 -1.062500 -0.187500 +v 0.000000 -0.937500 -0.250000 +v 0.132583 -1.062500 -0.132583 +v 0.176777 -0.937500 -0.176777 +v 0.187500 -1.062500 0.000000 +v 0.250000 -0.937500 0.000000 +v 0.132583 -1.062500 0.132583 +v 0.176777 -0.937500 0.176777 +v 0.000000 -1.062500 0.187500 +v 0.000000 -0.937500 0.250000 +v -0.132583 -1.062500 0.132583 +v -0.176777 -0.937500 0.176777 +v -0.187500 -1.062500 0.000000 +v -0.250000 -0.937500 0.000000 +v -0.132583 -1.062500 -0.132583 +v -0.176777 -0.937500 -0.176777 +v 0.000000 -1.062500 -0.250000 +v 0.176777 -1.062500 -0.176777 +v 0.250000 -1.062500 0.000000 +v 0.176777 -1.062500 0.176777 +v 0.000000 -1.062500 0.250000 +v -0.176777 -1.062500 0.176777 +v -0.250000 -1.062500 0.000000 +v -0.176777 -1.062500 -0.176777 +v 0.000000 -1.125000 -0.151562 +v 0.107171 -1.125000 -0.107171 +v 0.151562 -1.125000 0.000000 +v 0.107171 -1.125000 0.107171 +v 0.000000 -1.125000 0.151562 +v -0.107171 -1.125000 0.107171 +v -0.151562 -1.125000 0.000000 +v -0.107171 -1.125000 -0.107171 +v -0.062500 -1.250000 0.062500 +v -0.062500 -1.125000 0.062500 +v -0.062500 -1.250000 -0.062500 +v -0.062500 -1.125000 -0.062500 +v 0.062500 -1.250000 0.062500 +v 0.062500 -1.125000 0.062500 +v 0.062500 -1.250000 -0.062500 +v 0.062500 -1.125000 -0.062500 +v -0.062500 -1.250000 -0.125000 +v -0.062500 -1.312500 -0.062500 +v -0.062500 -1.312500 0.062500 +v -0.062500 -1.250000 0.125000 +v -0.062500 -1.125000 0.125000 +v -0.062500 -1.125000 -0.125000 +v 0.062500 -1.125000 -0.125000 +v 0.062500 -1.312500 -0.062500 +v 0.062500 -1.250000 -0.125000 +v 0.062500 -1.250000 0.125000 +v 0.062500 -1.312500 0.062500 +v 0.062500 -1.125000 0.125000 +v 0.524138 1.183721 -0.031250 +v 0.536097 1.178767 0.000000 +v 0.524138 1.183721 0.031250 +v 0.495267 1.195680 0.044194 +v 0.466395 1.207638 0.031250 +v 0.454437 1.212592 0.000000 +v 0.466395 1.207638 -0.031250 +v 0.502272 1.212592 0.000000 +v 0.495267 1.195680 -0.044194 +v 0.358766 0.866137 -0.187500 +v 0.382683 0.923880 -0.125000 +v 0.481256 0.815400 -0.132583 +v 0.464344 0.890055 -0.088388 +v 0.531993 0.794384 0.000000 +v 0.498168 0.876044 0.000000 +v 0.481256 0.815400 0.132583 +v 0.464344 0.890055 0.088388 +v 0.358766 0.866137 0.187500 +v 0.382683 0.923880 0.125000 +v 0.236275 0.916874 0.132583 +v 0.301023 0.957704 0.088388 +v 0.185538 0.937890 0.000000 +v 0.267199 0.971715 0.000000 +v 0.236275 0.916874 -0.132583 +v 0.301023 0.957704 -0.088388 +v 0.505174 0.873142 -0.132583 +v 0.382683 0.923880 -0.187500 +v 0.555911 0.852126 0.000000 +v 0.505174 0.873142 0.132583 +v 0.382683 0.923880 0.187500 +v 0.260193 0.974617 0.132583 +v 0.209456 0.995633 0.000000 +v 0.260193 0.974617 -0.132583 +v 0.447431 0.964710 -0.044194 +v 0.406601 0.981622 -0.062500 +v 0.464344 0.957704 0.000000 +v 0.447431 0.964710 0.044194 +v 0.406601 0.981622 0.062500 +v 0.365771 0.998534 0.044194 +v 0.348859 1.005540 0.000000 +v 0.365771 0.998534 -0.044194 +v 0.519184 1.137937 -0.044194 +v 0.478354 1.154849 -0.062500 +v 0.536097 1.130932 0.000000 +v 0.519184 1.137937 0.044194 +v 0.478354 1.154849 0.062500 +v 0.437524 1.171762 0.044194 +v 0.420612 1.178767 0.000000 +v 0.437524 1.171762 -0.044194 +v -0.235006 1.183721 0.469542 +v -0.268048 1.178767 0.464273 +v -0.289132 1.183721 0.438292 +v -0.285907 1.195679 0.406816 +v -0.260261 1.207638 0.388285 +v -0.227218 1.212592 0.393554 +v -0.206134 1.207638 0.419535 +v -0.251136 1.212592 0.434980 +v -0.209360 1.195679 0.451011 +v -0.017003 0.866137 0.404450 +v -0.083089 0.923879 0.393914 +v -0.125808 0.815400 0.483071 +v -0.155625 0.890055 0.446328 +v -0.265997 0.794384 0.460720 +v -0.249084 0.876044 0.431426 +v -0.355448 0.815400 0.350489 +v -0.308718 0.890055 0.357939 +v -0.341763 0.866137 0.216950 +v -0.299595 0.923879 0.268914 +v -0.232958 0.916874 0.138329 +v -0.227058 0.957704 0.216500 +v -0.092769 0.937890 0.160681 +v -0.133599 0.971715 0.231401 +v -0.003318 0.916874 0.270912 +v -0.073965 0.957704 0.304888 +v -0.137767 0.873142 0.503785 +v -0.028962 0.923879 0.425164 +v -0.277955 0.852126 0.481433 +v -0.367407 0.873142 0.371202 +v -0.353721 0.923879 0.237664 +v -0.244916 0.974617 0.159043 +v -0.104728 0.995633 0.181394 +v -0.015277 0.974617 0.291625 +v -0.185442 0.964709 0.409584 +v -0.149174 0.981622 0.383377 +v -0.232172 0.957704 0.402133 +v -0.261989 0.964710 0.365390 +v -0.257427 0.981622 0.320877 +v -0.221159 0.998534 0.294670 +v -0.174429 1.005540 0.302121 +v -0.144612 0.998534 0.338864 +v -0.221319 1.137937 0.471724 +v -0.185051 1.154849 0.445517 +v -0.268048 1.130931 0.464273 +v -0.297866 1.137937 0.427530 +v -0.293304 1.154849 0.383017 +v -0.257035 1.171762 0.356810 +v -0.210306 1.178767 0.364261 +v -0.180489 1.171762 0.401004 +v -0.289132 1.183720 -0.438292 +v -0.268048 1.178767 -0.464274 +v -0.235006 1.183720 -0.469542 +v -0.209360 1.195679 -0.451011 +v -0.206134 1.207638 -0.419535 +v -0.227218 1.212592 -0.393554 +v -0.260261 1.207638 -0.388285 +v -0.251136 1.212592 -0.434980 +v -0.285907 1.195679 -0.406817 +v -0.341763 0.866137 -0.216950 +v -0.299595 0.923879 -0.268914 +v -0.355448 0.815400 -0.350489 +v -0.308718 0.890055 -0.357939 +v -0.265997 0.794384 -0.460720 +v -0.249084 0.876044 -0.431427 +v -0.125808 0.815400 -0.483071 +v -0.155625 0.890055 -0.446328 +v -0.017003 0.866137 -0.404450 +v -0.083089 0.923879 -0.393914 +v -0.003318 0.916874 -0.270912 +v -0.073965 0.957704 -0.304888 +v -0.092769 0.937890 -0.160681 +v -0.133599 0.971715 -0.231401 +v -0.232958 0.916874 -0.138329 +v -0.227058 0.957704 -0.216500 +v -0.367407 0.873142 -0.371202 +v -0.353721 0.923879 -0.237664 +v -0.277955 0.852126 -0.481433 +v -0.137767 0.873142 -0.503785 +v -0.028962 0.923879 -0.425164 +v -0.015277 0.974616 -0.291625 +v -0.104728 0.995632 -0.181394 +v -0.244916 0.974616 -0.159043 +v -0.261989 0.964709 -0.365390 +v -0.257427 0.981622 -0.320877 +v -0.232172 0.957704 -0.402133 +v -0.185442 0.964709 -0.409584 +v -0.149174 0.981622 -0.383377 +v -0.144612 0.998534 -0.338864 +v -0.174429 1.005539 -0.302121 +v -0.221159 0.998534 -0.294670 +v -0.297865 1.137937 -0.427530 +v -0.293304 1.154849 -0.383017 +v -0.268048 1.130931 -0.464273 +v -0.221319 1.137937 -0.471724 +v -0.185051 1.154849 -0.445517 +v -0.180489 1.171762 -0.401004 +v -0.210306 1.178767 -0.364261 +v -0.257035 1.171762 -0.356810 +v 0.827290 0.893036 0.441552 +v 0.819592 0.883883 0.473192 +v 0.796040 0.893036 0.495679 +v 0.770432 0.915133 0.495840 +v 0.757767 0.937230 0.473582 +v 0.765465 0.946383 0.441942 +v 0.789017 0.937230 0.419455 +v 0.803739 0.928078 0.464039 +v 0.814626 0.915133 0.419294 +v 0.667849 0.662912 0.169077 +v 0.674872 0.707107 0.245300 +v 0.721580 0.569162 0.263512 +v 0.710693 0.644607 0.308257 +v 0.688919 0.530330 0.397748 +v 0.688919 0.618718 0.397748 +v 0.588998 0.569162 0.493151 +v 0.622305 0.644607 0.461350 +v 0.480349 0.662912 0.493836 +v 0.549872 0.707107 0.461807 +v 0.426618 0.756662 0.399401 +v 0.514052 0.769607 0.398850 +v 0.459279 0.795495 0.265165 +v 0.535826 0.795495 0.309359 +v 0.559201 0.756662 0.169762 +v 0.602440 0.769607 0.245757 +v 0.759853 0.613357 0.285609 +v 0.706122 0.707107 0.191174 +v 0.727192 0.574524 0.419845 +v 0.627271 0.613357 0.515248 +v 0.518622 0.707107 0.515933 +v 0.464891 0.800857 0.421498 +v 0.497553 0.839689 0.287262 +v 0.597474 0.800857 0.191859 +v 0.699806 0.720051 0.353002 +v 0.681896 0.751301 0.321524 +v 0.688919 0.707107 0.397748 +v 0.655612 0.720051 0.429549 +v 0.619396 0.751301 0.429777 +v 0.601485 0.782551 0.398299 +v 0.612372 0.795495 0.353553 +v 0.645679 0.782551 0.321752 +v 0.814626 0.852633 0.419293 +v 0.796715 0.883883 0.387815 +v 0.803739 0.839689 0.464039 +v 0.770432 0.852633 0.495840 +v 0.734215 0.883883 0.496068 +v 0.716305 0.915133 0.464590 +v 0.727192 0.928077 0.419845 +v 0.760499 0.915133 0.388043 +v 0.031250 0.893036 0.937231 +v -0.000000 0.883883 0.946384 +v -0.031250 0.893036 0.937231 +v -0.044194 0.915133 0.915134 +v -0.031250 0.937230 0.893036 +v -0.000000 0.946383 0.883884 +v 0.031250 0.937230 0.893036 +v -0.000000 0.928077 0.928078 +v 0.044194 0.915133 0.915134 +v 0.187500 0.662912 0.662913 +v 0.125000 0.707107 0.707107 +v 0.132582 0.569162 0.756663 +v 0.088388 0.644607 0.769607 +v -0.000000 0.530330 0.795495 +v -0.000000 0.618718 0.795495 +v -0.132583 0.569162 0.756663 +v -0.088388 0.644607 0.769607 +v -0.187500 0.662912 0.662913 +v -0.125000 0.707107 0.707107 +v -0.132583 0.756662 0.569163 +v -0.088389 0.769607 0.644607 +v -0.000000 0.795495 0.530330 +v -0.000000 0.795495 0.618719 +v 0.132582 0.756662 0.569163 +v 0.088388 0.769607 0.644607 +v 0.132582 0.613357 0.800857 +v 0.187500 0.707107 0.707107 +v -0.000000 0.574524 0.839689 +v -0.132583 0.613357 0.800857 +v -0.187500 0.707107 0.707107 +v -0.132583 0.800857 0.613357 +v -0.000000 0.839689 0.574524 +v 0.132582 0.800857 0.613357 +v 0.044194 0.720051 0.782551 +v 0.062500 0.751301 0.751301 +v -0.000000 0.707107 0.795495 +v -0.044194 0.720051 0.782551 +v -0.062500 0.751301 0.751301 +v -0.044194 0.782551 0.720051 +v -0.000000 0.795495 0.707107 +v 0.044194 0.782551 0.720051 +v 0.044194 0.852633 0.915133 +v 0.062500 0.883883 0.883883 +v -0.000000 0.839689 0.928078 +v -0.044194 0.852633 0.915133 +v -0.062500 0.883883 0.883884 +v -0.044194 0.915133 0.852633 +v -0.000000 0.928077 0.839689 +v 0.044194 0.915133 0.852634 +v -0.796041 0.893036 0.495678 +v -0.819592 0.883883 0.473192 +v -0.827291 0.893036 0.441552 +v -0.814626 0.915133 0.419293 +v -0.789017 0.937230 0.419455 +v -0.765466 0.946383 0.441942 +v -0.757767 0.937230 0.473581 +v -0.803739 0.928077 0.464039 +v -0.770432 0.915133 0.495840 +v -0.480349 0.662912 0.493836 +v -0.549873 0.707107 0.461806 +v -0.588998 0.569162 0.493151 +v -0.622305 0.644607 0.461350 +v -0.688919 0.530330 0.397747 +v -0.688919 0.618718 0.397747 +v -0.721580 0.569162 0.263511 +v -0.710693 0.644607 0.308257 +v -0.667849 0.662912 0.169076 +v -0.674873 0.707107 0.245300 +v -0.559201 0.756662 0.169761 +v -0.602440 0.769607 0.245757 +v -0.459279 0.795495 0.265165 +v -0.535826 0.795495 0.309359 +v -0.426618 0.756662 0.399401 +v -0.514052 0.769607 0.398850 +v -0.627271 0.613357 0.515248 +v -0.518623 0.707107 0.515933 +v -0.727192 0.574524 0.419845 +v -0.759854 0.613357 0.285608 +v -0.706123 0.707107 0.191174 +v -0.597474 0.800857 0.191858 +v -0.497553 0.839689 0.287262 +v -0.464891 0.800857 0.421498 +v -0.655612 0.720051 0.429549 +v -0.619396 0.751301 0.429777 +v -0.688919 0.707107 0.397747 +v -0.699806 0.720051 0.353002 +v -0.681896 0.751301 0.321524 +v -0.645680 0.782551 0.321752 +v -0.612373 0.795495 0.353553 +v -0.601486 0.782551 0.398299 +v -0.770432 0.852633 0.495840 +v -0.734216 0.883883 0.496068 +v -0.803739 0.839689 0.464039 +v -0.814626 0.852633 0.419293 +v -0.796716 0.883883 0.387815 +v -0.760499 0.915133 0.388043 +v -0.727192 0.928077 0.419845 +v -0.716305 0.915133 0.464590 +v -0.827291 0.893036 -0.441552 +v -0.819592 0.883883 -0.473192 +v -0.796040 0.893036 -0.495679 +v -0.770432 0.915133 -0.495840 +v -0.757767 0.937230 -0.473582 +v -0.765465 0.946383 -0.441942 +v -0.789017 0.937230 -0.419455 +v -0.803739 0.928077 -0.464039 +v -0.814626 0.915133 -0.419294 +v -0.667849 0.662912 -0.169077 +v -0.674872 0.707106 -0.245300 +v -0.721580 0.569162 -0.263512 +v -0.710693 0.644607 -0.308257 +v -0.688919 0.530330 -0.397748 +v -0.688919 0.618718 -0.397748 +v -0.588998 0.569162 -0.493151 +v -0.622305 0.644607 -0.461350 +v -0.480349 0.662912 -0.493836 +v -0.549872 0.707106 -0.461807 +v -0.426618 0.756662 -0.399401 +v -0.514052 0.769607 -0.398850 +v -0.459279 0.795495 -0.265165 +v -0.535826 0.795495 -0.309359 +v -0.559201 0.756662 -0.169762 +v -0.602440 0.769607 -0.245757 +v -0.759854 0.613357 -0.285609 +v -0.706122 0.707107 -0.191174 +v -0.727192 0.574524 -0.419845 +v -0.627271 0.613356 -0.515248 +v -0.518622 0.707107 -0.515933 +v -0.464891 0.800856 -0.421498 +v -0.497553 0.839689 -0.287262 +v -0.597474 0.800857 -0.191859 +v -0.699806 0.720051 -0.353002 +v -0.681896 0.751301 -0.321524 +v -0.688919 0.707107 -0.397748 +v -0.655612 0.720051 -0.429549 +v -0.619396 0.751301 -0.429777 +v -0.601485 0.782551 -0.398299 +v -0.612372 0.795495 -0.353554 +v -0.645680 0.782551 -0.321752 +v -0.814626 0.852633 -0.419294 +v -0.796716 0.883883 -0.387815 +v -0.803739 0.839689 -0.464039 +v -0.770432 0.852633 -0.495840 +v -0.734216 0.883883 -0.496069 +v -0.716305 0.915133 -0.464590 +v -0.727192 0.928077 -0.419845 +v -0.760499 0.915133 -0.388044 +v -0.031250 0.893036 -0.937231 +v 0.000000 0.883883 -0.946384 +v 0.031250 0.893036 -0.937231 +v 0.044194 0.915133 -0.915134 +v 0.031250 0.937230 -0.893036 +v 0.000000 0.946383 -0.883884 +v -0.031250 0.937230 -0.893037 +v 0.000000 0.928077 -0.928078 +v -0.044194 0.915133 -0.915134 +v -0.187500 0.662912 -0.662913 +v -0.125000 0.707106 -0.707107 +v -0.132582 0.569162 -0.756663 +v -0.088388 0.644606 -0.769607 +v 0.000000 0.530330 -0.795495 +v 0.000000 0.618718 -0.795495 +v 0.132583 0.569162 -0.756663 +v 0.088389 0.644606 -0.769607 +v 0.187500 0.662912 -0.662913 +v 0.125000 0.707107 -0.707107 +v 0.132583 0.756662 -0.569163 +v 0.088389 0.769606 -0.644607 +v 0.000000 0.795495 -0.530330 +v 0.000000 0.795495 -0.618719 +v -0.132582 0.756662 -0.569163 +v -0.088388 0.769607 -0.644607 +v -0.132582 0.613356 -0.800857 +v -0.187500 0.707106 -0.707107 +v 0.000000 0.574524 -0.839689 +v 0.132583 0.613357 -0.800857 +v 0.187500 0.707107 -0.707107 +v 0.132583 0.800856 -0.613357 +v 0.000000 0.839689 -0.574524 +v -0.132582 0.800856 -0.613357 +v -0.044194 0.720051 -0.782551 +v -0.062500 0.751301 -0.751301 +v 0.000000 0.707107 -0.795495 +v 0.044194 0.720051 -0.782551 +v 0.062500 0.751301 -0.751301 +v 0.044194 0.782551 -0.720051 +v 0.000000 0.795495 -0.707107 +v -0.044194 0.782551 -0.720051 +v -0.044194 0.852633 -0.915134 +v -0.062500 0.883883 -0.883884 +v 0.000000 0.839689 -0.928078 +v 0.044194 0.852633 -0.915134 +v 0.062500 0.883883 -0.883884 +v 0.044194 0.915133 -0.852634 +v 0.000000 0.928077 -0.839689 +v -0.044194 0.915133 -0.852634 +v 0.796041 0.893036 -0.495678 +v 0.819592 0.883883 -0.473192 +v 0.827291 0.893036 -0.441552 +v 0.814626 0.915133 -0.419293 +v 0.789017 0.937230 -0.419455 +v 0.765466 0.946383 -0.441941 +v 0.757767 0.937230 -0.473581 +v 0.803739 0.928077 -0.464039 +v 0.770432 0.915133 -0.495840 +v 0.480349 0.662912 -0.493836 +v 0.549873 0.707106 -0.461806 +v 0.588998 0.569162 -0.493151 +v 0.622305 0.644607 -0.461350 +v 0.688919 0.530330 -0.397747 +v 0.688919 0.618718 -0.397747 +v 0.721580 0.569162 -0.263511 +v 0.710693 0.644606 -0.308257 +v 0.667849 0.662912 -0.169077 +v 0.674872 0.707106 -0.245300 +v 0.559201 0.756662 -0.169761 +v 0.602440 0.769606 -0.245757 +v 0.459279 0.795495 -0.265165 +v 0.535826 0.795495 -0.309359 +v 0.426618 0.756662 -0.399401 +v 0.514052 0.769607 -0.398850 +v 0.627271 0.613356 -0.515248 +v 0.518622 0.707106 -0.515933 +v 0.727192 0.574524 -0.419845 +v 0.759854 0.613356 -0.285608 +v 0.706123 0.707107 -0.191173 +v 0.597474 0.800856 -0.191858 +v 0.497553 0.839689 -0.287262 +v 0.464891 0.800857 -0.421498 +v 0.655612 0.720051 -0.429549 +v 0.619396 0.751301 -0.429777 +v 0.688919 0.707107 -0.397747 +v 0.699806 0.720051 -0.353002 +v 0.681896 0.751301 -0.321524 +v 0.645680 0.782551 -0.321752 +v 0.612373 0.795495 -0.353553 +v 0.601485 0.782551 -0.398299 +v 0.770432 0.852633 -0.495840 +v 0.734216 0.883883 -0.496068 +v 0.803739 0.839689 -0.464039 +v 0.814626 0.852633 -0.419293 +v 0.796716 0.883883 -0.387815 +v 0.760499 0.915133 -0.388043 +v 0.727192 0.928077 -0.419845 +v 0.716305 0.915133 -0.464590 +v 1.207638 0.466395 -0.031250 +v 1.212592 0.454437 0.000000 +v 1.207638 0.466395 0.031250 +v 1.195679 0.495267 0.044194 +v 1.183721 0.524138 0.031250 +v 1.178767 0.536097 0.000000 +v 1.183721 0.524138 -0.031250 +v 1.212592 0.502272 0.000000 +v 1.195679 0.495267 -0.044194 +v 0.866137 0.358766 -0.187500 +v 0.923880 0.382683 -0.125000 +v 0.916874 0.236275 -0.132583 +v 0.957704 0.301023 -0.088388 +v 0.937890 0.185538 0.000000 +v 0.971715 0.267199 0.000000 +v 0.916874 0.236275 0.132583 +v 0.957704 0.301023 0.088388 +v 0.866137 0.358766 0.187500 +v 0.923880 0.382683 0.125000 +v 0.815400 0.481256 0.132583 +v 0.890055 0.464344 0.088388 +v 0.794384 0.531993 0.000000 +v 0.876044 0.498168 0.000000 +v 0.815400 0.481256 -0.132583 +v 0.890055 0.464344 -0.088388 +v 0.974617 0.260193 -0.132583 +v 0.923880 0.382683 -0.187500 +v 0.995633 0.209456 0.000000 +v 0.974617 0.260193 0.132583 +v 0.923880 0.382683 0.187500 +v 0.873142 0.505174 0.132583 +v 0.852126 0.555911 0.000000 +v 0.873142 0.505174 -0.132583 +v 0.998534 0.365771 -0.044194 +v 0.981622 0.406601 -0.062500 +v 1.005540 0.348859 0.000000 +v 0.998534 0.365771 0.044194 +v 0.981622 0.406601 0.062500 +v 0.964710 0.447431 0.044194 +v 0.957704 0.464344 0.000000 +v 0.964710 0.447431 -0.044194 +v 1.171762 0.437524 -0.044194 +v 1.154849 0.478354 -0.062500 +v 1.178767 0.420612 0.000000 +v 1.171762 0.437524 0.044194 +v 1.154849 0.478354 0.062500 +v 1.137937 0.519184 0.044194 +v 1.130932 0.536097 0.000000 +v 1.137937 0.519184 -0.044194 +v 0.630883 0.466395 1.030221 +v 0.606296 0.454437 1.050135 +v 0.576756 0.466396 1.061471 +v 0.559566 0.495267 1.057586 +v 0.564797 0.524138 1.040757 +v 0.589384 0.536097 1.020842 +v 0.618924 0.524138 1.009507 +v 0.606296 0.502272 1.050135 +v 0.636113 0.495267 1.013392 +v 0.595448 0.358766 0.656347 +v 0.570193 0.382683 0.737603 +v 0.573257 0.236275 0.727745 +v 0.555399 0.301023 0.785202 +v 0.468945 0.185538 0.812237 +v 0.485857 0.267199 0.841530 +v 0.343617 0.236276 0.860328 +v 0.402306 0.301023 0.873590 +v 0.270689 0.358766 0.843847 +v 0.353687 0.382683 0.862603 +v 0.292880 0.481256 0.772448 +v 0.368481 0.464344 0.815004 +v 0.397192 0.531993 0.687957 +v 0.438022 0.498168 0.758676 +v 0.522520 0.481256 0.639866 +v 0.521574 0.464344 0.726616 +v 0.602128 0.260193 0.777752 +v 0.624320 0.382683 0.706353 +v 0.497816 0.209456 0.862243 +v 0.372488 0.260193 0.910334 +v 0.299560 0.382683 0.893853 +v 0.321751 0.505174 0.822455 +v 0.426063 0.555911 0.737963 +v 0.551391 0.505174 0.689872 +v 0.537540 0.365771 0.842659 +v 0.544938 0.406601 0.818860 +v 0.502770 0.348859 0.870823 +v 0.460994 0.365771 0.886853 +v 0.436684 0.406601 0.881360 +v 0.444081 0.447431 0.857560 +v 0.478852 0.464344 0.829396 +v 0.520628 0.447431 0.813366 +v 0.624154 0.437524 0.992678 +v 0.631551 0.478354 0.968879 +v 0.589384 0.420612 1.020842 +v 0.547608 0.437524 1.036873 +v 0.523298 0.478354 1.031379 +v 0.530695 0.519184 1.007580 +v 0.565466 0.536097 0.979416 +v 0.607242 0.519184 0.963385 +v -0.576756 0.466395 1.061471 +v -0.606296 0.454437 1.050135 +v -0.630883 0.466396 1.030221 +v -0.636113 0.495267 1.013392 +v -0.618924 0.524138 1.009507 +v -0.589384 0.536097 1.020842 +v -0.564797 0.524138 1.040757 +v -0.606296 0.502272 1.050135 +v -0.559567 0.495267 1.057586 +v -0.270689 0.358766 0.843847 +v -0.353687 0.382683 0.862603 +v -0.343617 0.236275 0.860328 +v -0.402306 0.301023 0.873590 +v -0.468945 0.185538 0.812237 +v -0.485858 0.267199 0.841530 +v -0.573257 0.236275 0.727745 +v -0.555399 0.301023 0.785202 +v -0.595448 0.358766 0.656347 +v -0.570193 0.382683 0.737603 +v -0.522520 0.481256 0.639866 +v -0.521574 0.464344 0.726616 +v -0.397192 0.531993 0.687957 +v -0.438022 0.498169 0.758677 +v -0.292880 0.481256 0.772448 +v -0.368481 0.464344 0.815004 +v -0.372489 0.260193 0.910334 +v -0.299560 0.382683 0.893853 +v -0.497816 0.209456 0.862243 +v -0.602128 0.260193 0.777752 +v -0.624320 0.382683 0.706353 +v -0.551391 0.505174 0.689872 +v -0.426063 0.555911 0.737963 +v -0.321751 0.505174 0.822455 +v -0.460994 0.365771 0.886853 +v -0.436684 0.406601 0.881360 +v -0.502770 0.348859 0.870823 +v -0.537541 0.365771 0.842659 +v -0.544938 0.406601 0.818860 +v -0.520628 0.447431 0.813366 +v -0.478852 0.464344 0.829396 +v -0.444082 0.447431 0.857560 +v -0.547608 0.437524 1.036873 +v -0.523298 0.478354 1.031379 +v -0.589384 0.420612 1.020842 +v -0.624154 0.437524 0.992678 +v -0.631551 0.478354 0.968879 +v -0.607242 0.519184 0.963385 +v -0.565466 0.536097 0.979416 +v -0.530695 0.519184 1.007580 +v -1.207639 0.466395 0.031250 +v -1.212592 0.454437 -0.000000 +v -1.207639 0.466396 -0.031250 +v -1.195680 0.495267 -0.044194 +v -1.183721 0.524138 -0.031250 +v -1.178767 0.536097 -0.000000 +v -1.183721 0.524138 0.031250 +v -1.212592 0.502272 -0.000000 +v -1.195680 0.495267 0.044194 +v -0.866137 0.358766 0.187500 +v -0.923880 0.382683 0.125000 +v -0.916874 0.236275 0.132582 +v -0.957705 0.301023 0.088388 +v -0.937890 0.185538 -0.000000 +v -0.971715 0.267199 -0.000000 +v -0.916874 0.236275 -0.132583 +v -0.957705 0.301023 -0.088388 +v -0.866137 0.358766 -0.187500 +v -0.923880 0.382683 -0.125000 +v -0.815400 0.481256 -0.132583 +v -0.890055 0.464344 -0.088388 +v -0.794384 0.531993 -0.000000 +v -0.876044 0.498168 -0.000000 +v -0.815400 0.481256 0.132582 +v -0.890055 0.464344 0.088388 +v -0.974617 0.260193 0.132582 +v -0.923880 0.382683 0.187500 +v -0.995633 0.209456 -0.000000 +v -0.974617 0.260193 -0.132583 +v -0.923880 0.382683 -0.187500 +v -0.873142 0.505174 -0.132583 +v -0.852127 0.555911 -0.000000 +v -0.873143 0.505174 0.132582 +v -0.998535 0.365771 0.044194 +v -0.981622 0.406601 0.062500 +v -1.005540 0.348859 -0.000000 +v -0.998535 0.365771 -0.044194 +v -0.981622 0.406601 -0.062500 +v -0.964710 0.447431 -0.044194 +v -0.957705 0.464344 -0.000000 +v -0.964710 0.447431 0.044194 +v -1.171762 0.437524 0.044194 +v -1.154850 0.478354 0.062500 +v -1.178767 0.420612 -0.000000 +v -1.171762 0.437524 -0.044194 +v -1.154850 0.478354 -0.062500 +v -1.137937 0.519185 -0.044194 +v -1.130932 0.536097 -0.000000 +v -1.137937 0.519185 0.044194 +v -0.630883 0.466396 -1.030221 +v -0.606296 0.454437 -1.050136 +v -0.576756 0.466396 -1.061471 +v -0.559567 0.495267 -1.057586 +v -0.564797 0.524138 -1.040758 +v -0.589383 0.536097 -1.020843 +v -0.618924 0.524138 -1.009507 +v -0.606296 0.502272 -1.050136 +v -0.636113 0.495267 -1.013392 +v -0.595448 0.358766 -0.656347 +v -0.570193 0.382683 -0.737603 +v -0.573257 0.236276 -0.727745 +v -0.555399 0.301023 -0.785202 +v -0.468945 0.185538 -0.812237 +v -0.485857 0.267199 -0.841530 +v -0.343617 0.236275 -0.860328 +v -0.402306 0.301023 -0.873591 +v -0.270689 0.358766 -0.843847 +v -0.353687 0.382684 -0.862603 +v -0.292880 0.481256 -0.772449 +v -0.368481 0.464344 -0.815004 +v -0.397192 0.531993 -0.687957 +v -0.438022 0.498169 -0.758677 +v -0.522520 0.481256 -0.639866 +v -0.521574 0.464344 -0.726616 +v -0.602128 0.260193 -0.777752 +v -0.624320 0.382683 -0.706353 +v -0.497816 0.209456 -0.862243 +v -0.372489 0.260193 -0.910334 +v -0.299560 0.382684 -0.893853 +v -0.321751 0.505174 -0.822455 +v -0.426063 0.555911 -0.737963 +v -0.551391 0.505174 -0.689873 +v -0.537540 0.365771 -0.842659 +v -0.544938 0.406601 -0.818860 +v -0.502770 0.348859 -0.870823 +v -0.460994 0.365771 -0.886853 +v -0.436684 0.406601 -0.881360 +v -0.444082 0.447431 -0.857560 +v -0.478852 0.464344 -0.829397 +v -0.520628 0.447431 -0.813366 +v -0.624154 0.437524 -0.992679 +v -0.631551 0.478355 -0.968879 +v -0.589384 0.420612 -1.020843 +v -0.547608 0.437524 -1.036873 +v -0.523298 0.478354 -1.031379 +v -0.530695 0.519185 -1.007580 +v -0.565466 0.536097 -0.979416 +v -0.607242 0.519185 -0.963386 +v 0.576756 0.466396 -1.061471 +v 0.606296 0.454437 -1.050136 +v 0.630883 0.466396 -1.030221 +v 0.636114 0.495267 -1.013392 +v 0.618924 0.524138 -1.009507 +v 0.589384 0.536097 -1.020842 +v 0.564797 0.524138 -1.040757 +v 0.606296 0.502272 -1.050135 +v 0.559567 0.495267 -1.057586 +v 0.270689 0.358766 -0.843847 +v 0.353687 0.382684 -0.862603 +v 0.343618 0.236276 -0.860328 +v 0.402306 0.301023 -0.873591 +v 0.468945 0.185538 -0.812237 +v 0.485858 0.267199 -0.841530 +v 0.573257 0.236276 -0.727745 +v 0.555399 0.301023 -0.785202 +v 0.595449 0.358766 -0.656347 +v 0.570193 0.382684 -0.737603 +v 0.522520 0.481256 -0.639866 +v 0.521574 0.464344 -0.726616 +v 0.397192 0.531993 -0.687957 +v 0.438022 0.498169 -0.758677 +v 0.292880 0.481256 -0.772448 +v 0.368481 0.464344 -0.815004 +v 0.372489 0.260193 -0.910334 +v 0.299560 0.382684 -0.893853 +v 0.497817 0.209456 -0.862243 +v 0.602128 0.260193 -0.777752 +v 0.624320 0.382684 -0.706353 +v 0.551391 0.505174 -0.689872 +v 0.426063 0.555911 -0.737963 +v 0.321752 0.505174 -0.822455 +v 0.460994 0.365771 -0.886853 +v 0.436685 0.406601 -0.881360 +v 0.502770 0.348859 -0.870823 +v 0.537541 0.365771 -0.842659 +v 0.544938 0.406601 -0.818860 +v 0.520628 0.447432 -0.813366 +v 0.478852 0.464344 -0.829396 +v 0.444082 0.447431 -0.857560 +v 0.547608 0.437524 -1.036873 +v 0.523298 0.478355 -1.031379 +v 0.589384 0.420612 -1.020843 +v 0.624154 0.437524 -0.992679 +v 0.631552 0.478355 -0.968879 +v 0.607242 0.519185 -0.963385 +v 0.565466 0.536097 -0.979416 +v 0.530695 0.519185 -1.007580 +v -0.524138 -1.183721 0.031250 +v -0.536097 -1.178767 0.000000 +v -0.524138 -1.183721 -0.031250 +v -0.495267 -1.195680 -0.044194 +v -0.466395 -1.207638 -0.031250 +v -0.454437 -1.212592 0.000000 +v -0.466395 -1.207638 0.031250 +v -0.502272 -1.212592 0.000000 +v -0.495267 -1.195680 0.044194 +v -0.358766 -0.866137 0.187500 +v -0.382683 -0.923880 0.125000 +v -0.481256 -0.815400 0.132583 +v -0.464344 -0.890055 0.088388 +v -0.531993 -0.794384 0.000000 +v -0.498168 -0.876044 0.000000 +v -0.481256 -0.815400 -0.132583 +v -0.464344 -0.890055 -0.088388 +v -0.358766 -0.866137 -0.187500 +v -0.382683 -0.923880 -0.125000 +v -0.236275 -0.916874 -0.132583 +v -0.301023 -0.957704 -0.088388 +v -0.185538 -0.937890 0.000000 +v -0.267199 -0.971715 0.000000 +v -0.236275 -0.916874 0.132583 +v -0.301023 -0.957704 0.088388 +v -0.505174 -0.873142 0.132583 +v -0.382683 -0.923880 0.187500 +v -0.555911 -0.852126 0.000000 +v -0.505174 -0.873142 -0.132583 +v -0.382683 -0.923880 -0.187500 +v -0.260193 -0.974617 -0.132583 +v -0.209456 -0.995633 0.000000 +v -0.260193 -0.974617 0.132583 +v -0.447431 -0.964710 0.044194 +v -0.406601 -0.981622 0.062500 +v -0.464344 -0.957704 0.000000 +v -0.447431 -0.964710 -0.044194 +v -0.406601 -0.981622 -0.062500 +v -0.365771 -0.998534 -0.044194 +v -0.348859 -1.005540 0.000000 +v -0.365771 -0.998534 0.044194 +v -0.519184 -1.137937 0.044194 +v -0.478354 -1.154849 0.062500 +v -0.536097 -1.130932 0.000000 +v -0.519184 -1.137937 -0.044194 +v -0.478354 -1.154849 -0.062500 +v -0.437524 -1.171762 -0.044194 +v -0.420612 -1.178767 0.000000 +v -0.437524 -1.171762 0.044194 +v 0.235006 -1.183721 -0.469542 +v 0.268048 -1.178767 -0.464273 +v 0.289132 -1.183721 -0.438292 +v 0.285907 -1.195679 -0.406816 +v 0.260261 -1.207638 -0.388285 +v 0.227218 -1.212592 -0.393554 +v 0.206134 -1.207638 -0.419535 +v 0.251136 -1.212592 -0.434980 +v 0.209360 -1.195679 -0.451011 +v 0.017003 -0.866137 -0.404450 +v 0.083089 -0.923879 -0.393914 +v 0.125808 -0.815400 -0.483071 +v 0.155625 -0.890055 -0.446328 +v 0.265997 -0.794384 -0.460720 +v 0.249084 -0.876044 -0.431426 +v 0.355448 -0.815400 -0.350489 +v 0.308718 -0.890055 -0.357939 +v 0.341763 -0.866137 -0.216950 +v 0.299595 -0.923879 -0.268914 +v 0.232958 -0.916874 -0.138329 +v 0.227058 -0.957704 -0.216500 +v 0.092769 -0.937890 -0.160681 +v 0.133599 -0.971715 -0.231401 +v 0.003318 -0.916874 -0.270912 +v 0.073965 -0.957704 -0.304888 +v 0.137767 -0.873142 -0.503785 +v 0.028962 -0.923879 -0.425164 +v 0.277955 -0.852126 -0.481433 +v 0.367407 -0.873142 -0.371202 +v 0.353721 -0.923879 -0.237664 +v 0.244916 -0.974617 -0.159043 +v 0.104728 -0.995633 -0.181394 +v 0.015277 -0.974617 -0.291625 +v 0.185442 -0.964709 -0.409584 +v 0.149174 -0.981622 -0.383377 +v 0.232172 -0.957704 -0.402133 +v 0.261989 -0.964710 -0.365390 +v 0.257427 -0.981622 -0.320877 +v 0.221159 -0.998534 -0.294670 +v 0.174429 -1.005540 -0.302121 +v 0.144612 -0.998534 -0.338864 +v 0.221319 -1.137937 -0.471724 +v 0.185051 -1.154849 -0.445517 +v 0.268048 -1.130931 -0.464273 +v 0.297866 -1.137937 -0.427530 +v 0.293304 -1.154849 -0.383017 +v 0.257035 -1.171762 -0.356810 +v 0.210306 -1.178767 -0.364261 +v 0.180489 -1.171762 -0.401004 +v 0.289132 -1.183720 0.438292 +v 0.268048 -1.178767 0.464274 +v 0.235006 -1.183720 0.469542 +v 0.209360 -1.195679 0.451011 +v 0.206134 -1.207638 0.419535 +v 0.227218 -1.212592 0.393554 +v 0.260261 -1.207638 0.388285 +v 0.251136 -1.212592 0.434980 +v 0.285907 -1.195679 0.406817 +v 0.341763 -0.866137 0.216950 +v 0.299595 -0.923879 0.268914 +v 0.355448 -0.815400 0.350489 +v 0.308718 -0.890055 0.357939 +v 0.265997 -0.794384 0.460720 +v 0.249084 -0.876044 0.431427 +v 0.125808 -0.815400 0.483071 +v 0.155625 -0.890055 0.446328 +v 0.017003 -0.866137 0.404450 +v 0.083089 -0.923879 0.393914 +v 0.003318 -0.916874 0.270912 +v 0.073965 -0.957704 0.304888 +v 0.092769 -0.937890 0.160681 +v 0.133599 -0.971715 0.231401 +v 0.232958 -0.916874 0.138329 +v 0.227058 -0.957704 0.216500 +v 0.367407 -0.873142 0.371202 +v 0.353721 -0.923879 0.237664 +v 0.277955 -0.852126 0.481433 +v 0.137767 -0.873142 0.503785 +v 0.028962 -0.923879 0.425164 +v 0.015277 -0.974616 0.291625 +v 0.104728 -0.995632 0.181394 +v 0.244916 -0.974616 0.159043 +v 0.261989 -0.964709 0.365390 +v 0.257427 -0.981622 0.320877 +v 0.232172 -0.957704 0.402133 +v 0.185442 -0.964709 0.409584 +v 0.149174 -0.981622 0.383377 +v 0.144612 -0.998534 0.338864 +v 0.174429 -1.005539 0.302121 +v 0.221159 -0.998534 0.294670 +v 0.297865 -1.137937 0.427530 +v 0.293304 -1.154849 0.383017 +v 0.268048 -1.130931 0.464273 +v 0.221319 -1.137937 0.471724 +v 0.185051 -1.154849 0.445517 +v 0.180489 -1.171762 0.401004 +v 0.210306 -1.178767 0.364261 +v 0.257035 -1.171762 0.356810 +v -0.827290 -0.893036 -0.441552 +v -0.819592 -0.883883 -0.473192 +v -0.796040 -0.893036 -0.495679 +v -0.770432 -0.915133 -0.495840 +v -0.757767 -0.937230 -0.473582 +v -0.765465 -0.946383 -0.441942 +v -0.789017 -0.937230 -0.419455 +v -0.803739 -0.928078 -0.464039 +v -0.814626 -0.915133 -0.419294 +v -0.667849 -0.662912 -0.169077 +v -0.674872 -0.707107 -0.245300 +v -0.721580 -0.569162 -0.263512 +v -0.710693 -0.644607 -0.308257 +v -0.688919 -0.530330 -0.397748 +v -0.688919 -0.618718 -0.397748 +v -0.588998 -0.569162 -0.493151 +v -0.622305 -0.644607 -0.461350 +v -0.480349 -0.662912 -0.493836 +v -0.549872 -0.707107 -0.461807 +v -0.426618 -0.756662 -0.399401 +v -0.514052 -0.769607 -0.398850 +v -0.459279 -0.795495 -0.265165 +v -0.535826 -0.795495 -0.309359 +v -0.559201 -0.756662 -0.169762 +v -0.602440 -0.769607 -0.245757 +v -0.759853 -0.613357 -0.285609 +v -0.706122 -0.707107 -0.191174 +v -0.727192 -0.574524 -0.419845 +v -0.627271 -0.613357 -0.515248 +v -0.518622 -0.707107 -0.515933 +v -0.464891 -0.800857 -0.421498 +v -0.497553 -0.839689 -0.287262 +v -0.597474 -0.800857 -0.191859 +v -0.699806 -0.720051 -0.353002 +v -0.681896 -0.751301 -0.321524 +v -0.688919 -0.707107 -0.397748 +v -0.655612 -0.720051 -0.429549 +v -0.619396 -0.751301 -0.429777 +v -0.601485 -0.782551 -0.398299 +v -0.612372 -0.795495 -0.353553 +v -0.645679 -0.782551 -0.321752 +v -0.814626 -0.852633 -0.419293 +v -0.796715 -0.883883 -0.387815 +v -0.803739 -0.839689 -0.464039 +v -0.770432 -0.852633 -0.495840 +v -0.734215 -0.883883 -0.496068 +v -0.716305 -0.915133 -0.464590 +v -0.727192 -0.928077 -0.419845 +v -0.760499 -0.915133 -0.388043 +v -0.031250 -0.893036 -0.937231 +v 0.000000 -0.883883 -0.946384 +v 0.031250 -0.893036 -0.937231 +v 0.044194 -0.915133 -0.915134 +v 0.031250 -0.937230 -0.893036 +v 0.000000 -0.946383 -0.883884 +v -0.031250 -0.937230 -0.893036 +v 0.000000 -0.928077 -0.928078 +v -0.044194 -0.915133 -0.915134 +v -0.187500 -0.662912 -0.662913 +v -0.125000 -0.707107 -0.707107 +v -0.132582 -0.569162 -0.756663 +v -0.088388 -0.644607 -0.769607 +v 0.000000 -0.530330 -0.795495 +v 0.000000 -0.618718 -0.795495 +v 0.132583 -0.569162 -0.756663 +v 0.088388 -0.644607 -0.769607 +v 0.187500 -0.662912 -0.662913 +v 0.125000 -0.707107 -0.707107 +v 0.132583 -0.756662 -0.569163 +v 0.088389 -0.769607 -0.644607 +v 0.000000 -0.795495 -0.530330 +v 0.000000 -0.795495 -0.618719 +v -0.132582 -0.756662 -0.569163 +v -0.088388 -0.769607 -0.644607 +v -0.132582 -0.613357 -0.800857 +v -0.187500 -0.707107 -0.707107 +v 0.000000 -0.574524 -0.839689 +v 0.132583 -0.613357 -0.800857 +v 0.187500 -0.707107 -0.707107 +v 0.132583 -0.800857 -0.613357 +v 0.000000 -0.839689 -0.574524 +v -0.132582 -0.800857 -0.613357 +v -0.044194 -0.720051 -0.782551 +v -0.062500 -0.751301 -0.751301 +v 0.000000 -0.707107 -0.795495 +v 0.044194 -0.720051 -0.782551 +v 0.062500 -0.751301 -0.751301 +v 0.044194 -0.782551 -0.720051 +v 0.000000 -0.795495 -0.707107 +v -0.044194 -0.782551 -0.720051 +v -0.044194 -0.852633 -0.915133 +v -0.062500 -0.883883 -0.883883 +v 0.000000 -0.839689 -0.928078 +v 0.044194 -0.852633 -0.915133 +v 0.062500 -0.883883 -0.883884 +v 0.044194 -0.915133 -0.852633 +v 0.000000 -0.928077 -0.839689 +v -0.044194 -0.915133 -0.852634 +v 0.796041 -0.893036 -0.495678 +v 0.819592 -0.883883 -0.473192 +v 0.827291 -0.893036 -0.441552 +v 0.814626 -0.915133 -0.419293 +v 0.789017 -0.937230 -0.419455 +v 0.765466 -0.946383 -0.441942 +v 0.757767 -0.937230 -0.473581 +v 0.803739 -0.928077 -0.464039 +v 0.770432 -0.915133 -0.495840 +v 0.480349 -0.662912 -0.493836 +v 0.549873 -0.707107 -0.461806 +v 0.588998 -0.569162 -0.493151 +v 0.622305 -0.644607 -0.461350 +v 0.688919 -0.530330 -0.397747 +v 0.688919 -0.618718 -0.397747 +v 0.721580 -0.569162 -0.263511 +v 0.710693 -0.644607 -0.308257 +v 0.667849 -0.662912 -0.169076 +v 0.674873 -0.707107 -0.245300 +v 0.559201 -0.756662 -0.169761 +v 0.602440 -0.769607 -0.245757 +v 0.459279 -0.795495 -0.265165 +v 0.535826 -0.795495 -0.309359 +v 0.426618 -0.756662 -0.399401 +v 0.514052 -0.769607 -0.398850 +v 0.627271 -0.613357 -0.515248 +v 0.518623 -0.707107 -0.515933 +v 0.727192 -0.574524 -0.419845 +v 0.759854 -0.613357 -0.285608 +v 0.706123 -0.707107 -0.191174 +v 0.597474 -0.800857 -0.191858 +v 0.497553 -0.839689 -0.287262 +v 0.464891 -0.800857 -0.421498 +v 0.655612 -0.720051 -0.429549 +v 0.619396 -0.751301 -0.429777 +v 0.688919 -0.707107 -0.397747 +v 0.699806 -0.720051 -0.353002 +v 0.681896 -0.751301 -0.321524 +v 0.645680 -0.782551 -0.321752 +v 0.612373 -0.795495 -0.353553 +v 0.601486 -0.782551 -0.398299 +v 0.770432 -0.852633 -0.495840 +v 0.734216 -0.883883 -0.496068 +v 0.803739 -0.839689 -0.464039 +v 0.814626 -0.852633 -0.419293 +v 0.796716 -0.883883 -0.387815 +v 0.760499 -0.915133 -0.388043 +v 0.727192 -0.928077 -0.419845 +v 0.716305 -0.915133 -0.464590 +v 0.827291 -0.893036 0.441552 +v 0.819592 -0.883883 0.473192 +v 0.796040 -0.893036 0.495679 +v 0.770432 -0.915133 0.495840 +v 0.757767 -0.937230 0.473582 +v 0.765465 -0.946383 0.441942 +v 0.789017 -0.937230 0.419455 +v 0.803739 -0.928077 0.464039 +v 0.814626 -0.915133 0.419294 +v 0.667849 -0.662912 0.169077 +v 0.674872 -0.707106 0.245300 +v 0.721580 -0.569162 0.263512 +v 0.710693 -0.644607 0.308257 +v 0.688919 -0.530330 0.397748 +v 0.688919 -0.618718 0.397748 +v 0.588998 -0.569162 0.493151 +v 0.622305 -0.644607 0.461350 +v 0.480349 -0.662912 0.493836 +v 0.549872 -0.707106 0.461807 +v 0.426618 -0.756662 0.399401 +v 0.514052 -0.769607 0.398850 +v 0.459279 -0.795495 0.265165 +v 0.535826 -0.795495 0.309359 +v 0.559201 -0.756662 0.169762 +v 0.602440 -0.769607 0.245757 +v 0.759854 -0.613357 0.285609 +v 0.706122 -0.707107 0.191174 +v 0.727192 -0.574524 0.419845 +v 0.627271 -0.613356 0.515248 +v 0.518622 -0.707107 0.515933 +v 0.464891 -0.800856 0.421498 +v 0.497553 -0.839689 0.287262 +v 0.597474 -0.800857 0.191859 +v 0.699806 -0.720051 0.353002 +v 0.681896 -0.751301 0.321524 +v 0.688919 -0.707107 0.397748 +v 0.655612 -0.720051 0.429549 +v 0.619396 -0.751301 0.429777 +v 0.601485 -0.782551 0.398299 +v 0.612372 -0.795495 0.353554 +v 0.645680 -0.782551 0.321752 +v 0.814626 -0.852633 0.419294 +v 0.796716 -0.883883 0.387815 +v 0.803739 -0.839689 0.464039 +v 0.770432 -0.852633 0.495840 +v 0.734216 -0.883883 0.496069 +v 0.716305 -0.915133 0.464590 +v 0.727192 -0.928077 0.419845 +v 0.760499 -0.915133 0.388044 +v 0.031250 -0.893036 0.937231 +v -0.000000 -0.883883 0.946384 +v -0.031250 -0.893036 0.937231 +v -0.044194 -0.915133 0.915134 +v -0.031250 -0.937230 0.893036 +v -0.000000 -0.946383 0.883884 +v 0.031250 -0.937230 0.893037 +v -0.000000 -0.928077 0.928078 +v 0.044194 -0.915133 0.915134 +v 0.187500 -0.662912 0.662913 +v 0.125000 -0.707106 0.707107 +v 0.132582 -0.569162 0.756663 +v 0.088388 -0.644606 0.769607 +v -0.000000 -0.530330 0.795495 +v -0.000000 -0.618718 0.795495 +v -0.132583 -0.569162 0.756663 +v -0.088389 -0.644606 0.769607 +v -0.187500 -0.662912 0.662913 +v -0.125000 -0.707107 0.707107 +v -0.132583 -0.756662 0.569163 +v -0.088389 -0.769606 0.644607 +v -0.000000 -0.795495 0.530330 +v -0.000000 -0.795495 0.618719 +v 0.132582 -0.756662 0.569163 +v 0.088388 -0.769607 0.644607 +v 0.132582 -0.613356 0.800857 +v 0.187500 -0.707106 0.707107 +v -0.000000 -0.574524 0.839689 +v -0.132583 -0.613357 0.800857 +v -0.187500 -0.707107 0.707107 +v -0.132583 -0.800856 0.613357 +v -0.000000 -0.839689 0.574524 +v 0.132582 -0.800856 0.613357 +v 0.044194 -0.720051 0.782551 +v 0.062500 -0.751301 0.751301 +v -0.000000 -0.707107 0.795495 +v -0.044194 -0.720051 0.782551 +v -0.062500 -0.751301 0.751301 +v -0.044194 -0.782551 0.720051 +v -0.000000 -0.795495 0.707107 +v 0.044194 -0.782551 0.720051 +v 0.044194 -0.852633 0.915134 +v 0.062500 -0.883883 0.883884 +v -0.000000 -0.839689 0.928078 +v -0.044194 -0.852633 0.915134 +v -0.062500 -0.883883 0.883884 +v -0.044194 -0.915133 0.852634 +v -0.000000 -0.928077 0.839689 +v 0.044194 -0.915133 0.852634 +v -0.796041 -0.893036 0.495678 +v -0.819592 -0.883883 0.473192 +v -0.827291 -0.893036 0.441552 +v -0.814626 -0.915133 0.419293 +v -0.789017 -0.937230 0.419455 +v -0.765466 -0.946383 0.441941 +v -0.757767 -0.937230 0.473581 +v -0.803739 -0.928077 0.464039 +v -0.770432 -0.915133 0.495840 +v -0.480349 -0.662912 0.493836 +v -0.549873 -0.707106 0.461806 +v -0.588998 -0.569162 0.493151 +v -0.622305 -0.644607 0.461350 +v -0.688919 -0.530330 0.397747 +v -0.688919 -0.618718 0.397747 +v -0.721580 -0.569162 0.263511 +v -0.710693 -0.644606 0.308257 +v -0.667849 -0.662912 0.169077 +v -0.674872 -0.707106 0.245300 +v -0.559201 -0.756662 0.169761 +v -0.602440 -0.769606 0.245757 +v -0.459279 -0.795495 0.265165 +v -0.535826 -0.795495 0.309359 +v -0.426618 -0.756662 0.399401 +v -0.514052 -0.769607 0.398850 +v -0.627271 -0.613356 0.515248 +v -0.518622 -0.707106 0.515933 +v -0.727192 -0.574524 0.419845 +v -0.759854 -0.613356 0.285608 +v -0.706123 -0.707107 0.191173 +v -0.597474 -0.800856 0.191858 +v -0.497553 -0.839689 0.287262 +v -0.464891 -0.800857 0.421498 +v -0.655612 -0.720051 0.429549 +v -0.619396 -0.751301 0.429777 +v -0.688919 -0.707107 0.397747 +v -0.699806 -0.720051 0.353002 +v -0.681896 -0.751301 0.321524 +v -0.645680 -0.782551 0.321752 +v -0.612373 -0.795495 0.353553 +v -0.601485 -0.782551 0.398299 +v -0.770432 -0.852633 0.495840 +v -0.734216 -0.883883 0.496068 +v -0.803739 -0.839689 0.464039 +v -0.814626 -0.852633 0.419293 +v -0.796716 -0.883883 0.387815 +v -0.760499 -0.915133 0.388043 +v -0.727192 -0.928077 0.419845 +v -0.716305 -0.915133 0.464590 +v -1.207638 -0.466395 0.031250 +v -1.212592 -0.454437 0.000000 +v -1.207638 -0.466395 -0.031250 +v -1.195679 -0.495267 -0.044194 +v -1.183721 -0.524138 -0.031250 +v -1.178767 -0.536097 0.000000 +v -1.183721 -0.524138 0.031250 +v -1.212592 -0.502272 0.000000 +v -1.195679 -0.495267 0.044194 +v -0.866137 -0.358766 0.187500 +v -0.923880 -0.382683 0.125000 +v -0.916874 -0.236275 0.132583 +v -0.957704 -0.301023 0.088388 +v -0.937890 -0.185538 0.000000 +v -0.971715 -0.267199 0.000000 +v -0.916874 -0.236275 -0.132583 +v -0.957704 -0.301023 -0.088388 +v -0.866137 -0.358766 -0.187500 +v -0.923880 -0.382683 -0.125000 +v -0.815400 -0.481256 -0.132583 +v -0.890055 -0.464344 -0.088388 +v -0.794384 -0.531993 0.000000 +v -0.876044 -0.498168 0.000000 +v -0.815400 -0.481256 0.132583 +v -0.890055 -0.464344 0.088388 +v -0.974617 -0.260193 0.132583 +v -0.923880 -0.382683 0.187500 +v -0.995633 -0.209456 0.000000 +v -0.974617 -0.260193 -0.132583 +v -0.923880 -0.382683 -0.187500 +v -0.873142 -0.505174 -0.132583 +v -0.852126 -0.555911 0.000000 +v -0.873142 -0.505174 0.132583 +v -0.998534 -0.365771 0.044194 +v -0.981622 -0.406601 0.062500 +v -1.005540 -0.348859 0.000000 +v -0.998534 -0.365771 -0.044194 +v -0.981622 -0.406601 -0.062500 +v -0.964710 -0.447431 -0.044194 +v -0.957704 -0.464344 0.000000 +v -0.964710 -0.447431 0.044194 +v -1.171762 -0.437524 0.044194 +v -1.154849 -0.478354 0.062500 +v -1.178767 -0.420612 0.000000 +v -1.171762 -0.437524 -0.044194 +v -1.154849 -0.478354 -0.062500 +v -1.137937 -0.519184 -0.044194 +v -1.130932 -0.536097 0.000000 +v -1.137937 -0.519184 0.044194 +v -0.630883 -0.466395 -1.030221 +v -0.606296 -0.454437 -1.050135 +v -0.576756 -0.466396 -1.061471 +v -0.559566 -0.495267 -1.057586 +v -0.564797 -0.524138 -1.040757 +v -0.589384 -0.536097 -1.020842 +v -0.618924 -0.524138 -1.009507 +v -0.606296 -0.502272 -1.050135 +v -0.636113 -0.495267 -1.013392 +v -0.595448 -0.358766 -0.656347 +v -0.570193 -0.382683 -0.737603 +v -0.573257 -0.236275 -0.727745 +v -0.555399 -0.301023 -0.785202 +v -0.468945 -0.185538 -0.812237 +v -0.485857 -0.267199 -0.841530 +v -0.343617 -0.236276 -0.860328 +v -0.402306 -0.301023 -0.873590 +v -0.270689 -0.358766 -0.843847 +v -0.353687 -0.382683 -0.862603 +v -0.292880 -0.481256 -0.772448 +v -0.368481 -0.464344 -0.815004 +v -0.397192 -0.531993 -0.687957 +v -0.438022 -0.498168 -0.758676 +v -0.522520 -0.481256 -0.639866 +v -0.521574 -0.464344 -0.726616 +v -0.602128 -0.260193 -0.777752 +v -0.624320 -0.382683 -0.706353 +v -0.497816 -0.209456 -0.862243 +v -0.372488 -0.260193 -0.910334 +v -0.299560 -0.382683 -0.893853 +v -0.321751 -0.505174 -0.822455 +v -0.426063 -0.555911 -0.737963 +v -0.551391 -0.505174 -0.689872 +v -0.537540 -0.365771 -0.842659 +v -0.544938 -0.406601 -0.818860 +v -0.502770 -0.348859 -0.870823 +v -0.460994 -0.365771 -0.886853 +v -0.436684 -0.406601 -0.881360 +v -0.444081 -0.447431 -0.857560 +v -0.478852 -0.464344 -0.829396 +v -0.520628 -0.447431 -0.813366 +v -0.624154 -0.437524 -0.992678 +v -0.631551 -0.478354 -0.968879 +v -0.589384 -0.420612 -1.020842 +v -0.547608 -0.437524 -1.036873 +v -0.523298 -0.478354 -1.031379 +v -0.530695 -0.519184 -1.007580 +v -0.565466 -0.536097 -0.979416 +v -0.607242 -0.519184 -0.963385 +v 0.576756 -0.466395 -1.061471 +v 0.606296 -0.454437 -1.050135 +v 0.630883 -0.466396 -1.030221 +v 0.636113 -0.495267 -1.013392 +v 0.618924 -0.524138 -1.009507 +v 0.589384 -0.536097 -1.020842 +v 0.564797 -0.524138 -1.040757 +v 0.606296 -0.502272 -1.050135 +v 0.559567 -0.495267 -1.057586 +v 0.270689 -0.358766 -0.843847 +v 0.353687 -0.382683 -0.862603 +v 0.343617 -0.236275 -0.860328 +v 0.402306 -0.301023 -0.873590 +v 0.468945 -0.185538 -0.812237 +v 0.485858 -0.267199 -0.841530 +v 0.573257 -0.236275 -0.727745 +v 0.555399 -0.301023 -0.785202 +v 0.595448 -0.358766 -0.656347 +v 0.570193 -0.382683 -0.737603 +v 0.522520 -0.481256 -0.639866 +v 0.521574 -0.464344 -0.726616 +v 0.397192 -0.531993 -0.687957 +v 0.438022 -0.498169 -0.758677 +v 0.292880 -0.481256 -0.772448 +v 0.368481 -0.464344 -0.815004 +v 0.372489 -0.260193 -0.910334 +v 0.299560 -0.382683 -0.893853 +v 0.497816 -0.209456 -0.862243 +v 0.602128 -0.260193 -0.777752 +v 0.624320 -0.382683 -0.706353 +v 0.551391 -0.505174 -0.689872 +v 0.426063 -0.555911 -0.737963 +v 0.321751 -0.505174 -0.822455 +v 0.460994 -0.365771 -0.886853 +v 0.436684 -0.406601 -0.881360 +v 0.502770 -0.348859 -0.870823 +v 0.537541 -0.365771 -0.842659 +v 0.544938 -0.406601 -0.818860 +v 0.520628 -0.447431 -0.813366 +v 0.478852 -0.464344 -0.829396 +v 0.444082 -0.447431 -0.857560 +v 0.547608 -0.437524 -1.036873 +v 0.523298 -0.478354 -1.031379 +v 0.589384 -0.420612 -1.020842 +v 0.624154 -0.437524 -0.992678 +v 0.631551 -0.478354 -0.968879 +v 0.607242 -0.519184 -0.963385 +v 0.565466 -0.536097 -0.979416 +v 0.530695 -0.519184 -1.007580 +v 1.207639 -0.466395 -0.031250 +v 1.212592 -0.454437 0.000000 +v 1.207639 -0.466396 0.031250 +v 1.195680 -0.495267 0.044194 +v 1.183721 -0.524138 0.031250 +v 1.178767 -0.536097 0.000000 +v 1.183721 -0.524138 -0.031250 +v 1.212592 -0.502272 0.000000 +v 1.195680 -0.495267 -0.044194 +v 0.866137 -0.358766 -0.187500 +v 0.923880 -0.382683 -0.125000 +v 0.916874 -0.236275 -0.132582 +v 0.957705 -0.301023 -0.088388 +v 0.937890 -0.185538 0.000000 +v 0.971715 -0.267199 0.000000 +v 0.916874 -0.236275 0.132583 +v 0.957705 -0.301023 0.088388 +v 0.866137 -0.358766 0.187500 +v 0.923880 -0.382683 0.125000 +v 0.815400 -0.481256 0.132583 +v 0.890055 -0.464344 0.088388 +v 0.794384 -0.531993 0.000000 +v 0.876044 -0.498168 0.000000 +v 0.815400 -0.481256 -0.132582 +v 0.890055 -0.464344 -0.088388 +v 0.974617 -0.260193 -0.132582 +v 0.923880 -0.382683 -0.187500 +v 0.995633 -0.209456 0.000000 +v 0.974617 -0.260193 0.132583 +v 0.923880 -0.382683 0.187500 +v 0.873142 -0.505174 0.132583 +v 0.852127 -0.555911 0.000000 +v 0.873143 -0.505174 -0.132582 +v 0.998535 -0.365771 -0.044194 +v 0.981622 -0.406601 -0.062500 +v 1.005540 -0.348859 0.000000 +v 0.998535 -0.365771 0.044194 +v 0.981622 -0.406601 0.062500 +v 0.964710 -0.447431 0.044194 +v 0.957705 -0.464344 0.000000 +v 0.964710 -0.447431 -0.044194 +v 1.171762 -0.437524 -0.044194 +v 1.154850 -0.478354 -0.062500 +v 1.178767 -0.420612 0.000000 +v 1.171762 -0.437524 0.044194 +v 1.154850 -0.478354 0.062500 +v 1.137937 -0.519185 0.044194 +v 1.130932 -0.536097 0.000000 +v 1.137937 -0.519185 -0.044194 +v 0.630883 -0.466396 1.030221 +v 0.606296 -0.454437 1.050136 +v 0.576756 -0.466396 1.061471 +v 0.559567 -0.495267 1.057586 +v 0.564797 -0.524138 1.040758 +v 0.589383 -0.536097 1.020843 +v 0.618924 -0.524138 1.009507 +v 0.606296 -0.502272 1.050136 +v 0.636113 -0.495267 1.013392 +v 0.595448 -0.358766 0.656347 +v 0.570193 -0.382683 0.737603 +v 0.573257 -0.236276 0.727745 +v 0.555399 -0.301023 0.785202 +v 0.468945 -0.185538 0.812237 +v 0.485857 -0.267199 0.841530 +v 0.343617 -0.236275 0.860328 +v 0.402306 -0.301023 0.873591 +v 0.270689 -0.358766 0.843847 +v 0.353687 -0.382684 0.862603 +v 0.292880 -0.481256 0.772449 +v 0.368481 -0.464344 0.815004 +v 0.397192 -0.531993 0.687957 +v 0.438022 -0.498169 0.758677 +v 0.522520 -0.481256 0.639866 +v 0.521574 -0.464344 0.726616 +v 0.602128 -0.260193 0.777752 +v 0.624320 -0.382683 0.706353 +v 0.497816 -0.209456 0.862243 +v 0.372489 -0.260193 0.910334 +v 0.299560 -0.382684 0.893853 +v 0.321751 -0.505174 0.822455 +v 0.426063 -0.555911 0.737963 +v 0.551391 -0.505174 0.689873 +v 0.537540 -0.365771 0.842659 +v 0.544938 -0.406601 0.818860 +v 0.502770 -0.348859 0.870823 +v 0.460994 -0.365771 0.886853 +v 0.436684 -0.406601 0.881360 +v 0.444082 -0.447431 0.857560 +v 0.478852 -0.464344 0.829397 +v 0.520628 -0.447431 0.813366 +v 0.624154 -0.437524 0.992679 +v 0.631551 -0.478355 0.968879 +v 0.589384 -0.420612 1.020843 +v 0.547608 -0.437524 1.036873 +v 0.523298 -0.478354 1.031379 +v 0.530695 -0.519185 1.007580 +v 0.565466 -0.536097 0.979416 +v 0.607242 -0.519185 0.963386 +v -0.576756 -0.466396 1.061471 +v -0.606296 -0.454437 1.050136 +v -0.630883 -0.466396 1.030221 +v -0.636114 -0.495267 1.013392 +v -0.618924 -0.524138 1.009507 +v -0.589384 -0.536097 1.020842 +v -0.564797 -0.524138 1.040757 +v -0.606296 -0.502272 1.050135 +v -0.559567 -0.495267 1.057586 +v -0.270689 -0.358766 0.843847 +v -0.353687 -0.382684 0.862603 +v -0.343618 -0.236276 0.860328 +v -0.402306 -0.301023 0.873591 +v -0.468945 -0.185538 0.812237 +v -0.485858 -0.267199 0.841530 +v -0.573257 -0.236276 0.727745 +v -0.555399 -0.301023 0.785202 +v -0.595449 -0.358766 0.656347 +v -0.570193 -0.382684 0.737603 +v -0.522520 -0.481256 0.639866 +v -0.521574 -0.464344 0.726616 +v -0.397192 -0.531993 0.687957 +v -0.438022 -0.498169 0.758677 +v -0.292880 -0.481256 0.772448 +v -0.368481 -0.464344 0.815004 +v -0.372489 -0.260193 0.910334 +v -0.299560 -0.382684 0.893853 +v -0.497817 -0.209456 0.862243 +v -0.602128 -0.260193 0.777752 +v -0.624320 -0.382684 0.706353 +v -0.551391 -0.505174 0.689872 +v -0.426063 -0.555911 0.737963 +v -0.321752 -0.505174 0.822455 +v -0.460994 -0.365771 0.886853 +v -0.436685 -0.406601 0.881360 +v -0.502770 -0.348859 0.870823 +v -0.537541 -0.365771 0.842659 +v -0.544938 -0.406601 0.818860 +v -0.520628 -0.447432 0.813366 +v -0.478852 -0.464344 0.829396 +v -0.444082 -0.447431 0.857560 +v -0.547608 -0.437524 1.036873 +v -0.523298 -0.478355 1.031379 +v -0.589384 -0.420612 1.020843 +v -0.624154 -0.437524 0.992679 +v -0.631552 -0.478355 0.968879 +v -0.607242 -0.519185 0.963385 +v -0.565466 -0.536097 0.979416 +v -0.530695 -0.519185 1.007580 +vn -0.0000 -0.0000 -1.0000 +vn 0.3827 -0.0000 -0.9239 +vn 0.7071 -0.0000 -0.7071 +vn 0.9239 -0.0000 -0.3827 +vn 1.0000 -0.0000 -0.0000 +vn 0.9239 -0.0000 0.3827 +vn 0.7071 -0.0000 0.7071 +vn 0.3827 -0.0000 0.9239 +vn -0.0000 -0.0000 1.0000 +vn -0.3827 -0.0000 0.9239 +vn -0.7071 -0.0000 0.7071 +vn -0.9239 -0.0000 0.3827 +vn -1.0000 -0.0000 -0.0000 +vn -0.9239 -0.0000 -0.3827 +vn -0.7071 -0.0000 -0.7071 +vn -0.3827 -0.0000 -0.9239 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.7152 -0.4942 0.4942 +vn -0.8554 -0.3662 0.3662 +vn -0.7756 -0.5276 0.3466 +vn -0.7756 -0.3466 0.5276 +vn -0.9045 -0.1876 0.3829 +vn -0.8149 -0.1788 0.5514 +vn -0.9210 -0.0000 0.3896 +vn -0.8149 0.1788 0.5514 +vn -0.8283 -0.0000 0.5603 +vn -0.7756 0.3466 0.5276 +vn -0.9045 0.1876 0.3829 +vn -0.7152 0.4942 0.4942 +vn -0.8554 0.3662 0.3662 +vn -0.9045 -0.3829 0.1876 +vn -0.8149 -0.5514 0.1788 +vn -0.9607 -0.1962 0.1962 +vn -0.9798 -0.0000 0.2000 +vn -0.9607 0.1962 0.1962 +vn -0.7756 0.5276 0.3466 +vn -0.9045 0.3829 0.1876 +vn -0.9210 -0.3896 -0.0000 +vn -0.8283 -0.5603 -0.0000 +vn -0.9798 -0.2000 -0.0000 +vn -0.9798 0.2000 -0.0000 +vn -0.8149 0.5514 0.1788 +vn -0.9210 0.3896 -0.0000 +vn -0.8149 -0.5514 -0.1788 +vn -0.9045 -0.3829 -0.1876 +vn -0.9607 -0.1962 -0.1962 +vn -0.9607 0.1962 -0.1962 +vn -0.9798 -0.0000 -0.2000 +vn -0.9045 0.3829 -0.1876 +vn -0.8149 0.5514 -0.1788 +vn -0.7756 -0.5276 -0.3466 +vn -0.8554 -0.3662 -0.3662 +vn -0.9045 -0.1876 -0.3829 +vn -0.9045 0.1876 -0.3829 +vn -0.9210 -0.0000 -0.3896 +vn -0.8554 0.3662 -0.3662 +vn -0.7756 0.5276 -0.3466 +vn -0.7152 -0.4942 -0.4942 +vn -0.7756 -0.3466 -0.5276 +vn -0.8149 -0.1788 -0.5514 +vn -0.8149 0.1788 -0.5514 +vn -0.8283 -0.0000 -0.5603 +vn -0.7756 0.3466 -0.5276 +vn -0.7152 0.4942 -0.4942 +vn -0.5774 -0.5774 0.5773 +vn -0.6240 -0.6240 0.4704 +vn -0.6240 -0.4704 0.6240 +vn -0.6658 -0.3368 0.6658 +vn -0.6962 -0.1747 0.6962 +vn -0.6962 0.1747 0.6962 +vn -0.6658 0.3368 0.6658 +vn -0.6240 0.4704 0.6240 +vn -0.5774 0.5774 0.5773 +vn -0.6240 0.6240 0.4704 +vn -0.6658 0.6658 0.3368 +vn -0.6962 0.6962 0.1747 +vn -0.8283 0.5603 -0.0000 +vn -0.6962 0.6962 -0.1747 +vn -0.6658 0.6658 -0.3368 +vn -0.6240 0.6240 -0.4704 +vn -0.5773 0.5774 -0.5774 +vn -0.6240 0.4704 -0.6240 +vn -0.6658 0.3368 -0.6658 +vn -0.6962 0.1747 -0.6962 +vn -0.6962 -0.1747 -0.6962 +vn -0.6658 -0.3368 -0.6658 +vn -0.6240 -0.4704 -0.6240 +vn -0.5774 -0.5774 -0.5773 +vn -0.6240 -0.6240 -0.4704 +vn -0.6658 -0.6658 -0.3368 +vn -0.6962 -0.6962 -0.1747 +vn -0.7071 -0.7071 -0.0000 +vn -0.6962 -0.6962 0.1747 +vn -0.6658 -0.6658 0.3368 +vn -0.4942 -0.4942 -0.7152 +vn -0.3662 -0.3662 -0.8554 +vn -0.3466 -0.5276 -0.7756 +vn -0.5276 -0.3466 -0.7756 +vn -0.3829 -0.1876 -0.9045 +vn -0.5514 -0.1788 -0.8149 +vn -0.3896 -0.0000 -0.9210 +vn -0.5514 0.1788 -0.8149 +vn -0.5603 -0.0000 -0.8283 +vn -0.5276 0.3466 -0.7756 +vn -0.3829 0.1876 -0.9045 +vn -0.4942 0.4942 -0.7152 +vn -0.3662 0.3662 -0.8554 +vn -0.1876 -0.3829 -0.9045 +vn -0.1788 -0.5514 -0.8149 +vn -0.1962 -0.1962 -0.9607 +vn -0.2000 -0.0000 -0.9798 +vn -0.1962 0.1962 -0.9607 +vn -0.3466 0.5276 -0.7756 +vn -0.1876 0.3829 -0.9045 +vn -0.0000 -0.3896 -0.9210 +vn -0.0000 -0.5603 -0.8283 +vn -0.0000 -0.2000 -0.9798 +vn -0.0000 0.2000 -0.9798 +vn -0.1788 0.5514 -0.8149 +vn -0.0000 0.3896 -0.9210 +vn 0.1788 -0.5514 -0.8149 +vn 0.1876 -0.3829 -0.9045 +vn 0.1962 -0.1962 -0.9607 +vn 0.1962 0.1962 -0.9607 +vn 0.2000 -0.0000 -0.9798 +vn 0.1876 0.3829 -0.9045 +vn 0.1788 0.5514 -0.8149 +vn 0.3466 -0.5276 -0.7756 +vn 0.3662 -0.3662 -0.8554 +vn 0.3829 -0.1876 -0.9045 +vn 0.3829 0.1876 -0.9045 +vn 0.3896 -0.0000 -0.9210 +vn 0.3662 0.3662 -0.8554 +vn 0.3466 0.5276 -0.7756 +vn 0.4942 -0.4942 -0.7152 +vn 0.5276 -0.3466 -0.7756 +vn 0.5514 -0.1788 -0.8149 +vn 0.5514 0.1788 -0.8149 +vn 0.5603 -0.0000 -0.8283 +vn 0.5276 0.3466 -0.7756 +vn 0.4942 0.4942 -0.7152 +vn -0.4704 -0.6240 -0.6240 +vn -0.4704 0.6240 -0.6240 +vn -0.3368 0.6658 -0.6658 +vn -0.1747 0.6962 -0.6962 +vn -0.0000 0.5603 -0.8283 +vn 0.1747 0.6962 -0.6962 +vn 0.3368 0.6658 -0.6658 +vn 0.4704 0.6240 -0.6240 +vn 0.5774 0.5774 -0.5773 +vn 0.6240 0.4704 -0.6240 +vn 0.6658 0.3368 -0.6658 +vn 0.6962 0.1747 -0.6962 +vn 0.6962 -0.1747 -0.6962 +vn 0.6658 -0.3368 -0.6658 +vn 0.6240 -0.4704 -0.6240 +vn 0.5774 -0.5774 -0.5774 +vn 0.4704 -0.6240 -0.6240 +vn 0.3368 -0.6658 -0.6658 +vn 0.1747 -0.6962 -0.6962 +vn -0.0000 -0.7071 -0.7071 +vn -0.1747 -0.6962 -0.6962 +vn -0.3368 -0.6658 -0.6658 +vn 0.7152 -0.4942 -0.4942 +vn 0.8554 -0.3662 -0.3662 +vn 0.7756 -0.5276 -0.3466 +vn 0.7756 -0.3466 -0.5276 +vn 0.9045 -0.1876 -0.3829 +vn 0.8149 -0.1788 -0.5514 +vn 0.9210 -0.0000 -0.3896 +vn 0.8149 0.1788 -0.5514 +vn 0.8283 -0.0000 -0.5603 +vn 0.7756 0.3466 -0.5276 +vn 0.9045 0.1876 -0.3829 +vn 0.7152 0.4942 -0.4942 +vn 0.8554 0.3662 -0.3662 +vn 0.9045 -0.3829 -0.1876 +vn 0.8149 -0.5514 -0.1788 +vn 0.9607 -0.1962 -0.1962 +vn 0.9798 -0.0000 -0.2000 +vn 0.9607 0.1962 -0.1962 +vn 0.7756 0.5276 -0.3466 +vn 0.9045 0.3829 -0.1876 +vn 0.9210 -0.3896 -0.0000 +vn 0.8283 -0.5603 -0.0000 +vn 0.9798 -0.2000 -0.0000 +vn 0.9798 0.2000 -0.0000 +vn 0.8149 0.5514 -0.1788 +vn 0.9210 0.3896 -0.0000 +vn 0.8149 -0.5514 0.1788 +vn 0.9045 -0.3829 0.1876 +vn 0.9607 -0.1962 0.1962 +vn 0.9607 0.1962 0.1962 +vn 0.9798 -0.0000 0.2000 +vn 0.9045 0.3829 0.1876 +vn 0.8149 0.5514 0.1788 +vn 0.7756 -0.5276 0.3466 +vn 0.8554 -0.3662 0.3662 +vn 0.9045 -0.1876 0.3829 +vn 0.9045 0.1876 0.3829 +vn 0.9210 -0.0000 0.3896 +vn 0.8554 0.3662 0.3662 +vn 0.7756 0.5276 0.3466 +vn 0.7152 -0.4942 0.4942 +vn 0.7756 -0.3466 0.5276 +vn 0.8149 -0.1788 0.5514 +vn 0.8149 0.1788 0.5514 +vn 0.8283 -0.0000 0.5603 +vn 0.7756 0.3466 0.5276 +vn 0.7152 0.4942 0.4942 +vn 0.6240 -0.6240 -0.4704 +vn 0.6240 0.6240 -0.4704 +vn 0.6658 0.6658 -0.3368 +vn 0.6962 0.6962 -0.1747 +vn 0.8283 0.5603 -0.0000 +vn 0.6962 0.6962 0.1747 +vn 0.6658 0.6658 0.3368 +vn 0.6240 0.6240 0.4704 +vn 0.5774 0.5774 0.5774 +vn 0.6240 0.4704 0.6240 +vn 0.6658 0.3368 0.6658 +vn 0.6962 0.1747 0.6962 +vn 0.6962 -0.1747 0.6962 +vn 0.6658 -0.3368 0.6658 +vn 0.6240 -0.4704 0.6240 +vn 0.5774 -0.5774 0.5774 +vn 0.6240 -0.6240 0.4704 +vn 0.6658 -0.6658 0.3368 +vn 0.6962 -0.6962 0.1747 +vn 0.7071 -0.7071 -0.0000 +vn 0.6962 -0.6962 -0.1747 +vn 0.6658 -0.6658 -0.3368 +vn 0.4942 -0.4942 0.7152 +vn 0.3662 -0.3662 0.8554 +vn 0.3466 -0.5276 0.7756 +vn 0.5276 -0.3466 0.7756 +vn 0.3829 -0.1876 0.9045 +vn 0.5514 -0.1788 0.8149 +vn 0.3896 -0.0000 0.9210 +vn 0.5514 0.1788 0.8149 +vn 0.5603 -0.0000 0.8283 +vn 0.5276 0.3466 0.7756 +vn 0.3829 0.1876 0.9045 +vn 0.4942 0.4942 0.7152 +vn 0.3662 0.3662 0.8554 +vn 0.1876 -0.3829 0.9045 +vn 0.1788 -0.5514 0.8149 +vn 0.1962 -0.1962 0.9607 +vn 0.2000 -0.0000 0.9798 +vn 0.1962 0.1962 0.9607 +vn 0.3466 0.5276 0.7756 +vn 0.1876 0.3829 0.9045 +vn -0.0000 -0.3896 0.9210 +vn -0.0000 -0.5603 0.8283 +vn -0.0000 -0.2000 0.9798 +vn -0.0000 0.2000 0.9798 +vn 0.1788 0.5514 0.8149 +vn -0.0000 0.3896 0.9210 +vn -0.1788 -0.5514 0.8149 +vn -0.1876 -0.3829 0.9045 +vn -0.1962 -0.1962 0.9607 +vn -0.1962 0.1962 0.9607 +vn -0.2000 -0.0000 0.9798 +vn -0.1876 0.3829 0.9045 +vn -0.1788 0.5514 0.8149 +vn -0.3466 -0.5276 0.7756 +vn -0.3662 -0.3662 0.8554 +vn -0.3829 -0.1876 0.9045 +vn -0.3829 0.1876 0.9045 +vn -0.3896 -0.0000 0.9210 +vn -0.3662 0.3662 0.8554 +vn -0.3466 0.5276 0.7756 +vn -0.4942 -0.4942 0.7152 +vn -0.5276 -0.3466 0.7756 +vn -0.5514 -0.1788 0.8149 +vn -0.5514 0.1788 0.8149 +vn -0.5603 -0.0000 0.8283 +vn -0.5276 0.3466 0.7756 +vn -0.4942 0.4942 0.7152 +vn 0.4704 -0.6240 0.6240 +vn 0.4704 0.6240 0.6240 +vn 0.3368 0.6658 0.6658 +vn 0.1747 0.6962 0.6962 +vn -0.0000 0.5603 0.8283 +vn -0.1747 0.6962 0.6962 +vn -0.3368 0.6658 0.6658 +vn -0.4704 0.6240 0.6240 +vn -0.4704 -0.6240 0.6240 +vn -0.3368 -0.6658 0.6658 +vn -0.1747 -0.6962 0.6962 +vn -0.0000 -0.7071 0.7071 +vn 0.1747 -0.6962 0.6962 +vn 0.3368 -0.6658 0.6658 +vn -0.4942 -0.7152 -0.4942 +vn -0.3662 -0.8554 -0.3662 +vn -0.5276 -0.7756 -0.3466 +vn -0.3466 -0.7756 -0.5276 +vn -0.1876 -0.9045 -0.3829 +vn -0.1788 -0.8149 -0.5514 +vn -0.0000 -0.9210 -0.3896 +vn 0.1788 -0.8149 -0.5514 +vn -0.0000 -0.8283 -0.5603 +vn 0.3466 -0.7756 -0.5276 +vn 0.1876 -0.9045 -0.3829 +vn 0.4942 -0.7152 -0.4942 +vn 0.3662 -0.8554 -0.3662 +vn -0.3829 -0.9045 -0.1876 +vn -0.5514 -0.8149 -0.1788 +vn -0.1962 -0.9607 -0.1962 +vn -0.0000 -0.9798 -0.2000 +vn 0.1962 -0.9607 -0.1962 +vn 0.5276 -0.7756 -0.3466 +vn 0.3829 -0.9045 -0.1876 +vn -0.3896 -0.9210 -0.0000 +vn -0.5603 -0.8283 -0.0000 +vn -0.2000 -0.9798 -0.0000 +vn 0.2000 -0.9798 -0.0000 +vn 0.5514 -0.8149 -0.1788 +vn 0.3896 -0.9210 -0.0000 +vn -0.5514 -0.8149 0.1788 +vn -0.3829 -0.9045 0.1876 +vn -0.1962 -0.9607 0.1962 +vn 0.1962 -0.9607 0.1962 +vn -0.0000 -0.9798 0.2000 +vn 0.3829 -0.9045 0.1876 +vn 0.5514 -0.8149 0.1788 +vn -0.5276 -0.7756 0.3466 +vn -0.3662 -0.8554 0.3662 +vn -0.1876 -0.9045 0.3829 +vn 0.1876 -0.9045 0.3829 +vn -0.0000 -0.9210 0.3896 +vn 0.3662 -0.8554 0.3662 +vn 0.5276 -0.7756 0.3466 +vn -0.4942 -0.7152 0.4942 +vn -0.3466 -0.7756 0.5276 +vn -0.1788 -0.8149 0.5514 +vn 0.1788 -0.8149 0.5514 +vn -0.0000 -0.8283 0.5603 +vn 0.3466 -0.7756 0.5276 +vn 0.4942 -0.7152 0.4942 +vn 0.5603 -0.8283 -0.0000 +vn 0.4942 0.7152 -0.4942 +vn 0.3662 0.8554 -0.3662 +vn 0.5276 0.7756 -0.3466 +vn 0.3466 0.7756 -0.5276 +vn 0.1876 0.9045 -0.3829 +vn 0.1788 0.8149 -0.5514 +vn -0.0000 0.9210 -0.3896 +vn -0.1788 0.8149 -0.5514 +vn -0.0000 0.8283 -0.5603 +vn -0.3466 0.7756 -0.5276 +vn -0.1876 0.9045 -0.3829 +vn -0.4942 0.7152 -0.4942 +vn -0.3662 0.8554 -0.3662 +vn 0.3829 0.9045 -0.1876 +vn 0.5514 0.8149 -0.1788 +vn 0.1962 0.9607 -0.1962 +vn -0.0000 0.9798 -0.2000 +vn -0.1962 0.9607 -0.1962 +vn -0.5276 0.7756 -0.3466 +vn -0.3829 0.9045 -0.1876 +vn 0.3896 0.9210 -0.0000 +vn 0.5603 0.8283 -0.0000 +vn 0.2000 0.9798 -0.0000 +vn -0.2000 0.9798 -0.0000 +vn -0.5514 0.8149 -0.1788 +vn -0.3896 0.9210 -0.0000 +vn 0.5514 0.8149 0.1788 +vn 0.3829 0.9045 0.1876 +vn 0.1962 0.9607 0.1962 +vn -0.1962 0.9607 0.1962 +vn -0.0000 0.9798 0.2000 +vn -0.3829 0.9045 0.1876 +vn -0.5514 0.8149 0.1788 +vn 0.5276 0.7756 0.3466 +vn 0.3662 0.8554 0.3662 +vn 0.1876 0.9045 0.3829 +vn -0.1876 0.9045 0.3829 +vn -0.0000 0.9210 0.3896 +vn -0.3662 0.8554 0.3662 +vn -0.5276 0.7756 0.3466 +vn 0.4942 0.7152 0.4942 +vn 0.3466 0.7756 0.5276 +vn 0.1788 0.8149 0.5514 +vn -0.1788 0.8149 0.5514 +vn -0.0000 0.8283 0.5603 +vn -0.3466 0.7756 0.5276 +vn -0.4942 0.7152 0.4942 +vn -0.0000 0.7071 -0.7071 +vn -0.5603 0.8283 -0.0000 +vn -0.0000 0.7071 0.7071 +vn 0.7071 0.7071 -0.0000 +vn -0.0000 -0.4985 0.8669 +vn 0.6130 -0.4985 0.6130 +vn 0.8669 -0.4985 -0.0000 +vn 0.6130 -0.4985 -0.6130 +vn -0.8669 -0.4985 -0.0000 +vn -0.6130 -0.4985 -0.6130 +vn -0.6130 -0.4985 0.6130 +vn -0.0000 -0.4985 -0.8669 +vn 0.2537 0.6125 -0.7486 +vn 0.3827 0.9239 -0.0000 +vn 0.7428 0.4100 -0.5294 +vn 0.7132 -0.0935 -0.6947 +vn 0.0714 0.1724 -0.9824 +vn 0.9791 -0.2036 -0.0000 +vn 0.9454 0.3261 -0.0000 +vn 0.7428 0.4100 0.5294 +vn 0.7132 -0.0935 0.6947 +vn 0.2537 0.6125 0.7486 +vn 0.0714 0.1724 0.9824 +vn -0.2353 0.8151 0.5294 +vn -0.5704 0.4382 0.6947 +vn -0.4379 0.8990 -0.0000 +vn -0.8363 0.5483 -0.0000 +vn -0.2353 0.8151 -0.5294 +vn -0.5704 0.4382 -0.6947 +vn 0.6533 -0.2706 -0.7071 +vn 0.9239 -0.3827 -0.0000 +vn 0.6533 -0.2706 0.7071 +vn -0.6533 0.2706 0.7071 +vn -0.9239 0.3827 -0.0000 +vn 0.9239 0.3827 -0.0000 +vn 0.7325 0.4619 -0.5000 +vn -0.6533 0.2706 -0.7071 +vn -0.3827 0.9239 -0.0000 +vn -0.1913 0.8446 -0.5000 +vn -0.1913 0.8446 0.5000 +vn 0.2706 0.6533 0.7071 +vn 0.7325 0.4619 0.5000 +vn 0.2706 0.6533 -0.7071 +vn 0.5215 0.6125 0.5940 +vn -0.1913 0.9239 0.3314 +vn 0.0870 0.4100 0.9079 +vn 0.2450 -0.0935 0.9650 +vn 0.8151 0.1724 0.5531 +vn -0.4727 0.3261 0.8187 +vn -0.4895 -0.2036 0.8479 +vn -0.8298 0.4100 0.3786 +vn -0.9582 -0.0935 0.2703 +vn -0.7752 0.6125 -0.1546 +vn -0.8865 0.1724 -0.4294 +vn -0.3408 0.8151 -0.4685 +vn -0.3164 0.4382 -0.8413 +vn 0.2190 0.8990 -0.3792 +vn 0.4181 0.5483 -0.7242 +vn 0.5761 0.8151 0.0609 +vn 0.8868 0.4382 -0.1466 +vn 0.8660 -0.0000 0.5000 +vn 0.2857 -0.2706 0.9193 +vn -0.4619 -0.3827 0.8001 +vn -0.9390 -0.2706 0.2122 +vn -0.8660 -0.0000 -0.5000 +vn -0.2857 0.2706 -0.9193 +vn 0.4619 0.3827 -0.8001 +vn 0.0667 0.4619 0.8844 +vn -0.4619 0.3827 0.8001 +vn 0.9390 0.2706 -0.2122 +vn 0.5287 0.8446 0.0843 +vn 0.1913 0.9239 -0.3314 +vn -0.7477 0.6533 -0.1192 +vn -0.3373 0.8446 -0.4157 +vn -0.7993 0.4619 0.3844 +vn 0.4771 0.6533 0.5879 +vn -0.7752 0.6125 0.1546 +vn -0.1913 0.9239 -0.3314 +vn -0.8298 0.4100 -0.3786 +vn -0.9582 -0.0935 -0.2703 +vn -0.8865 0.1724 0.4294 +vn -0.4895 -0.2036 -0.8479 +vn -0.4727 0.3261 -0.8187 +vn 0.0870 0.4100 -0.9079 +vn 0.2450 -0.0935 -0.9650 +vn 0.5215 0.6125 -0.5940 +vn 0.8151 0.1724 -0.5531 +vn 0.5761 0.8151 -0.0609 +vn 0.8868 0.4382 0.1466 +vn 0.2190 0.8990 0.3792 +vn 0.4181 0.5483 0.7242 +vn -0.3408 0.8151 0.4685 +vn -0.3164 0.4382 0.8413 +vn -0.8660 -0.0000 0.5000 +vn -0.9390 -0.2706 -0.2122 +vn -0.4619 -0.3827 -0.8001 +vn 0.2857 -0.2706 -0.9193 +vn 0.8660 -0.0000 -0.5000 +vn 0.9390 0.2706 0.2122 +vn 0.4619 0.3827 0.8001 +vn -0.4619 0.3827 -0.8001 +vn -0.7993 0.4619 -0.3844 +vn -0.2857 0.2706 0.9193 +vn 0.1913 0.9239 0.3314 +vn -0.3373 0.8446 0.4157 +vn 0.4771 0.6533 -0.5879 +vn 0.5287 0.8446 -0.0843 +vn 0.0667 0.4619 -0.8844 +vn -0.7477 0.6533 0.1192 +vn 0.7803 0.4688 -0.4139 +vn 0.6124 0.7071 0.3536 +vn 0.9948 0.0945 -0.0369 +vn 0.6055 0.1319 -0.7849 +vn 0.8870 -0.3593 -0.2900 +vn 0.7159 -0.5628 0.4133 +vn 0.8644 -0.0605 0.4991 +vn 0.4655 0.0945 0.8800 +vn 0.1923 -0.3593 0.9132 +vn 0.0317 0.4688 0.8827 +vn -0.3770 0.1319 0.9168 +vn -0.1828 0.8431 0.5057 +vn -0.6585 0.6231 0.4220 +vn -0.0524 0.9982 -0.0303 +vn -0.4874 0.8266 -0.2814 +vn 0.3465 0.8431 -0.4112 +vn 0.0362 0.6231 -0.7813 +vn 0.5000 -0.0000 -0.8660 +vn 0.7866 -0.5000 -0.3624 +vn 0.6124 -0.7071 0.3536 +vn 0.0795 -0.5000 0.8624 +vn -0.5000 -0.0000 0.8660 +vn -0.7866 0.5000 0.3624 +vn -0.6124 0.7071 -0.3536 +vn 0.9892 0.1464 -0.0062 +vn -0.0795 0.5000 -0.8624 +vn 0.3768 0.8536 -0.3598 +vn 0.0795 0.5000 0.8624 +vn -0.1232 0.8536 0.5062 +vn 0.4892 0.1464 0.8598 +vn 0.7866 0.5000 -0.3624 +vn 0.7486 0.4688 0.4688 +vn 0.5294 0.0945 0.8431 +vn 0.6947 -0.3593 0.6231 +vn 0.9824 0.1319 0.1319 +vn -0.0000 -0.5628 0.8266 +vn -0.0000 -0.0605 0.9982 +vn -0.5294 0.0945 0.8431 +vn -0.6947 -0.3593 0.6231 +vn -0.7486 0.4688 0.4688 +vn -0.9824 0.1319 0.1319 +vn -0.5294 0.8431 0.0945 +vn -0.6947 0.6231 -0.3593 +vn -0.0000 0.9982 -0.0605 +vn -0.0000 0.8266 -0.5628 +vn 0.5294 0.8431 0.0945 +vn 0.6947 0.6231 -0.3593 +vn 0.7071 -0.5000 0.5000 +vn -0.7071 -0.5000 0.5000 +vn -0.7071 0.5000 -0.5000 +vn 0.5000 0.1464 0.8536 +vn 0.7071 0.5000 -0.5000 +vn 0.5000 0.8536 0.1464 +vn -0.7071 0.5000 0.5000 +vn -0.5000 0.8536 0.1464 +vn -0.5000 0.1464 0.8536 +vn 0.7071 0.5000 0.5000 +vn -0.0317 0.4688 0.8827 +vn -0.6124 0.7071 0.3536 +vn -0.4655 0.0945 0.8800 +vn -0.1923 -0.3593 0.9132 +vn 0.3770 0.1319 0.9168 +vn -0.8644 -0.0605 0.4991 +vn -0.7159 -0.5628 0.4133 +vn -0.9948 0.0945 -0.0369 +vn -0.8870 -0.3593 -0.2900 +vn -0.7803 0.4688 -0.4139 +vn -0.6055 0.1319 -0.7849 +vn -0.3465 0.8431 -0.4112 +vn -0.0362 0.6231 -0.7813 +vn 0.0524 0.9982 -0.0303 +vn 0.4874 0.8266 -0.2814 +vn 0.1828 0.8431 0.5057 +vn 0.6585 0.6231 0.4220 +vn 0.5000 -0.0000 0.8660 +vn -0.0795 -0.5000 0.8624 +vn -0.6124 -0.7071 0.3536 +vn -0.7866 -0.5000 -0.3624 +vn -0.5000 -0.0000 -0.8660 +vn 0.0795 0.5000 -0.8624 +vn 0.6124 0.7071 -0.3536 +vn -0.4892 0.1464 0.8598 +vn 0.7866 0.5000 0.3624 +vn 0.1232 0.8536 0.5062 +vn -0.3768 0.8536 -0.3598 +vn -0.7866 0.5000 -0.3624 +vn -0.9892 0.1464 -0.0062 +vn -0.0795 0.5000 0.8624 +vn -0.7803 0.4688 0.4139 +vn -0.9948 0.0945 0.0369 +vn -0.8870 -0.3593 0.2901 +vn -0.6055 0.1319 0.7849 +vn -0.8644 -0.0605 -0.4991 +vn -0.7159 -0.5628 -0.4133 +vn -0.4655 0.0945 -0.8800 +vn -0.1923 -0.3593 -0.9132 +vn -0.0317 0.4688 -0.8827 +vn 0.3770 0.1319 -0.9168 +vn 0.1828 0.8431 -0.5057 +vn 0.6585 0.6231 -0.4220 +vn 0.0524 0.9982 0.0303 +vn 0.4874 0.8266 0.2814 +vn -0.3465 0.8431 0.4112 +vn -0.0362 0.6231 0.7813 +vn -0.7866 -0.5000 0.3624 +vn -0.6124 -0.7071 -0.3536 +vn -0.0795 -0.5000 -0.8624 +vn -0.9892 0.1464 0.0062 +vn -0.3768 0.8536 0.3598 +vn 0.1232 0.8536 -0.5062 +vn -0.4892 0.1464 -0.8598 +vn -0.7486 0.4688 -0.4688 +vn -0.5293 0.0945 -0.8431 +vn -0.6947 -0.3593 -0.6231 +vn -0.9824 0.1319 -0.1319 +vn -0.0000 -0.5628 -0.8266 +vn -0.0000 -0.0605 -0.9982 +vn 0.5294 0.0945 -0.8431 +vn 0.6947 -0.3593 -0.6231 +vn 0.7486 0.4688 -0.4688 +vn 0.9824 0.1319 -0.1319 +vn 0.5294 0.8431 -0.0945 +vn 0.6947 0.6231 0.3593 +vn -0.0000 0.9982 0.0605 +vn -0.0000 0.8266 0.5628 +vn -0.5293 0.8431 -0.0945 +vn -0.6947 0.6231 0.3593 +vn -0.7071 -0.5000 -0.5000 +vn 0.7071 -0.5000 -0.5000 +vn -0.5000 0.1464 -0.8536 +vn -0.5000 0.8536 -0.1464 +vn 0.5000 0.8536 -0.1464 +vn 0.5000 0.1464 -0.8536 +vn 0.0317 0.4688 -0.8827 +vn 0.4655 0.0945 -0.8800 +vn 0.1923 -0.3593 -0.9132 +vn -0.3770 0.1319 -0.9168 +vn 0.7159 -0.5628 -0.4133 +vn 0.8644 -0.0605 -0.4991 +vn 0.9948 0.0945 0.0369 +vn 0.8870 -0.3593 0.2901 +vn 0.7803 0.4688 0.4139 +vn 0.6055 0.1319 0.7849 +vn 0.3465 0.8431 0.4112 +vn 0.0362 0.6231 0.7813 +vn -0.0524 0.9982 0.0303 +vn -0.4874 0.8266 0.2814 +vn -0.1828 0.8431 -0.5057 +vn -0.6585 0.6231 -0.4220 +vn 0.0795 -0.5000 -0.8624 +vn 0.6124 -0.7071 -0.3536 +vn 0.7866 -0.5000 0.3624 +vn 0.4892 0.1464 -0.8598 +vn -0.1232 0.8536 -0.5062 +vn 0.3768 0.8536 0.3598 +vn 0.9892 0.1464 0.0062 +vn 0.6125 0.2537 -0.7486 +vn 0.8151 -0.2353 -0.5294 +vn 0.1724 0.0714 -0.9824 +vn 0.4382 -0.5704 -0.6947 +vn 0.5483 -0.8363 -0.0000 +vn 0.8990 -0.4379 -0.0000 +vn 0.8151 -0.2353 0.5294 +vn 0.4382 -0.5704 0.6947 +vn 0.6125 0.2537 0.7486 +vn 0.1724 0.0714 0.9824 +vn 0.4100 0.7428 0.5294 +vn -0.0935 0.7132 0.6947 +vn 0.3261 0.9454 -0.0000 +vn -0.2036 0.9791 -0.0000 +vn 0.4100 0.7428 -0.5294 +vn -0.0935 0.7132 -0.6947 +vn 0.2706 -0.6533 -0.7071 +vn 0.3827 -0.9239 -0.0000 +vn 0.2706 -0.6533 0.7071 +vn -0.2706 0.6533 0.7071 +vn 0.8446 -0.1913 -0.5000 +vn -0.2706 0.6533 -0.7071 +vn 0.4619 0.7325 -0.5000 +vn 0.6533 0.2706 0.7071 +vn 0.4619 0.7325 0.5000 +vn 0.8446 -0.1913 0.5000 +vn 0.6533 0.2706 -0.7071 +vn 0.9546 0.2537 0.1562 +vn 0.8660 -0.2353 0.4412 +vn 0.9370 0.0714 -0.3420 +vn 0.8207 -0.5704 0.0322 +vn 0.2742 -0.8363 0.4749 +vn 0.4495 -0.4379 0.7786 +vn -0.0509 -0.2353 0.9706 +vn -0.3825 -0.5704 0.7268 +vn -0.3421 0.2537 0.9048 +vn -0.7646 0.0714 0.6405 +vn -0.2535 0.7428 0.6197 +vn -0.6484 0.7132 0.2664 +vn 0.1630 0.9454 0.2824 +vn -0.1018 0.9791 -0.1763 +vn 0.6634 0.7428 0.0904 +vn 0.5549 0.7132 -0.4283 +vn 0.7477 -0.6533 -0.1192 +vn 0.1913 -0.9239 0.3314 +vn -0.4771 -0.6533 0.5879 +vn 0.8553 -0.1913 0.4815 +vn 0.4619 -0.3827 0.8001 +vn 0.6640 0.7325 0.1501 +vn -0.2020 0.7325 0.6501 +vn -0.0107 -0.1913 0.9815 +vn 0.3421 0.2537 0.9048 +vn 0.0509 -0.2353 0.9706 +vn 0.3825 -0.5704 0.7268 +vn 0.7646 0.0714 0.6405 +vn -0.4495 -0.4379 0.7786 +vn -0.2742 -0.8363 0.4749 +vn -0.8660 -0.2353 0.4412 +vn -0.8207 -0.5704 0.0322 +vn -0.9546 0.2537 0.1562 +vn -0.9370 0.0714 -0.3420 +vn -0.6634 0.7428 0.0904 +vn -0.5549 0.7132 -0.4283 +vn -0.1630 0.9454 0.2824 +vn 0.1018 0.9791 -0.1763 +vn 0.2535 0.7428 0.6197 +vn 0.6484 0.7132 0.2664 +vn 0.4771 -0.6533 0.5879 +vn -0.1913 -0.9239 0.3314 +vn -0.7477 -0.6533 -0.1192 +vn -0.4771 0.6533 -0.5879 +vn 0.0107 -0.1913 0.9815 +vn 0.7477 0.6533 0.1192 +vn 0.2020 0.7325 0.6501 +vn -0.6640 0.7325 0.1501 +vn -0.9390 0.2706 0.2122 +vn -0.8553 -0.1913 0.4815 +vn 0.2857 0.2706 0.9193 +vn -0.6125 0.2537 0.7486 +vn -0.8151 -0.2353 0.5294 +vn -0.4382 -0.5704 0.6947 +vn -0.1724 0.0714 0.9824 +vn -0.5483 -0.8363 -0.0000 +vn -0.8990 -0.4379 -0.0000 +vn -0.8151 -0.2353 -0.5294 +vn -0.4382 -0.5704 -0.6947 +vn -0.6125 0.2537 -0.7486 +vn -0.1724 0.0714 -0.9824 +vn -0.4100 0.7428 -0.5293 +vn 0.0935 0.7132 -0.6947 +vn -0.3261 0.9454 -0.0000 +vn 0.2036 0.9791 -0.0000 +vn -0.4100 0.7428 0.5293 +vn 0.0935 0.7132 0.6947 +vn -0.2706 -0.6533 0.7071 +vn -0.3827 -0.9239 -0.0000 +vn -0.2706 -0.6533 -0.7071 +vn -0.8446 -0.1913 0.5000 +vn -0.9239 -0.3827 -0.0000 +vn -0.4619 0.7325 0.5000 +vn -0.4619 0.7325 -0.5000 +vn -0.8446 -0.1913 -0.5000 +vn -0.9546 0.2537 -0.1562 +vn -0.8660 -0.2353 -0.4412 +vn -0.8207 -0.5704 -0.0322 +vn -0.9370 0.0714 0.3420 +vn -0.2742 -0.8363 -0.4749 +vn -0.4495 -0.4379 -0.7786 +vn 0.0509 -0.2353 -0.9706 +vn 0.3825 -0.5704 -0.7268 +vn 0.3421 0.2537 -0.9048 +vn 0.7646 0.0714 -0.6405 +vn 0.2535 0.7428 -0.6197 +vn 0.6484 0.7132 -0.2664 +vn -0.1630 0.9454 -0.2824 +vn 0.1018 0.9791 0.1763 +vn -0.6634 0.7428 -0.0904 +vn -0.5549 0.7132 0.4283 +vn -0.7477 -0.6533 0.1192 +vn -0.1913 -0.9239 -0.3314 +vn 0.4771 -0.6533 -0.5879 +vn 0.7477 0.6533 -0.1192 +vn -0.8553 -0.1913 -0.4815 +vn -0.4771 0.6533 0.5879 +vn -0.6640 0.7325 -0.1501 +vn 0.2857 0.2706 -0.9193 +vn 0.2020 0.7325 -0.6501 +vn 0.0107 -0.1913 -0.9815 +vn -0.9390 0.2706 -0.2122 +vn -0.3421 0.2537 -0.9048 +vn -0.0509 -0.2353 -0.9706 +vn -0.3825 -0.5704 -0.7268 +vn -0.7646 0.0714 -0.6405 +vn 0.2742 -0.8363 -0.4749 +vn 0.4495 -0.4379 -0.7786 +vn 0.8660 -0.2353 -0.4412 +vn 0.8207 -0.5704 -0.0322 +vn 0.9546 0.2537 -0.1562 +vn 0.9370 0.0714 0.3420 +vn 0.6634 0.7428 -0.0904 +vn 0.5549 0.7132 0.4283 +vn 0.1630 0.9454 -0.2824 +vn -0.1018 0.9791 0.1763 +vn -0.2534 0.7428 -0.6197 +vn -0.6484 0.7132 -0.2664 +vn -0.4771 -0.6533 -0.5879 +vn 0.1913 -0.9239 -0.3314 +vn 0.7477 -0.6533 0.1192 +vn -0.0107 -0.1913 -0.9815 +vn 0.4619 -0.3827 -0.8001 +vn -0.2020 0.7325 -0.6501 +vn 0.6640 0.7325 -0.1501 +vn 0.8553 -0.1913 -0.4815 +vn -0.2537 -0.6125 0.7486 +vn -0.7428 -0.4100 0.5294 +vn -0.7132 0.0935 0.6947 +vn -0.0714 -0.1724 0.9824 +vn -0.9791 0.2036 -0.0000 +vn -0.9454 -0.3261 -0.0000 +vn -0.7428 -0.4100 -0.5294 +vn -0.2537 -0.6125 -0.7486 +vn -0.7132 0.0935 -0.6947 +vn 0.2353 -0.8151 -0.5294 +vn 0.5704 -0.4382 -0.6947 +vn -0.0714 -0.1724 -0.9824 +vn 0.4379 -0.8990 -0.0000 +vn 0.2353 -0.8151 0.5294 +vn 0.5704 -0.4382 0.6947 +vn 0.8363 -0.5483 -0.0000 +vn -0.7325 -0.4619 0.5000 +vn 0.1913 -0.8446 0.5000 +vn 0.1913 -0.8446 -0.5000 +vn -0.7325 -0.4619 -0.5000 +vn -0.5215 -0.6125 -0.5940 +vn -0.0870 -0.4100 -0.9079 +vn -0.2450 0.0935 -0.9650 +vn -0.8151 -0.1724 -0.5531 +vn 0.4727 -0.3261 -0.8187 +vn 0.8298 -0.4100 -0.3786 +vn 0.9582 0.0935 -0.2703 +vn 0.4895 0.2036 -0.8479 +vn 0.7752 -0.6125 0.1546 +vn 0.8865 -0.1724 0.4294 +vn 0.3408 -0.8151 0.4685 +vn 0.3164 -0.4382 0.8413 +vn -0.2190 -0.8990 0.3792 +vn -0.4181 -0.5483 0.7242 +vn -0.5761 -0.8151 -0.0609 +vn -0.8868 -0.4382 0.1466 +vn -0.0667 -0.4619 -0.8844 +vn -0.5287 -0.8446 -0.0843 +vn 0.3373 -0.8446 0.4157 +vn 0.7993 -0.4619 -0.3844 +vn 0.7752 -0.6125 -0.1546 +vn 0.8298 -0.4100 0.3786 +vn 0.9582 0.0935 0.2703 +vn 0.8865 -0.1724 -0.4294 +vn 0.4895 0.2036 0.8479 +vn 0.4727 -0.3261 0.8187 +vn -0.0870 -0.4100 0.9079 +vn -0.5215 -0.6125 0.5940 +vn -0.2450 0.0935 0.9650 +vn -0.5761 -0.8151 0.0609 +vn -0.8868 -0.4382 -0.1466 +vn -0.8151 -0.1724 0.5531 +vn -0.2190 -0.8990 -0.3792 +vn -0.4181 -0.5483 -0.7242 +vn 0.3408 -0.8151 -0.4685 +vn 0.3164 -0.4382 -0.8413 +vn 0.7993 -0.4619 0.3844 +vn 0.3373 -0.8446 -0.4157 +vn -0.5287 -0.8446 0.0843 +vn -0.0667 -0.4619 0.8844 +vn -0.7803 -0.4688 0.4139 +vn -0.9948 -0.0945 0.0369 +vn -0.6055 -0.1319 0.7849 +vn -0.7159 0.5628 -0.4133 +vn -0.8870 0.3593 0.2901 +vn -0.8644 0.0605 -0.4991 +vn -0.4655 -0.0945 -0.8800 +vn -0.0317 -0.4688 -0.8827 +vn 0.3770 -0.1319 -0.9168 +vn -0.1923 0.3593 -0.9132 +vn 0.1828 -0.8431 -0.5057 +vn 0.6585 -0.6231 -0.4220 +vn 0.0524 -0.9982 0.0303 +vn -0.3465 -0.8431 0.4112 +vn -0.0362 -0.6231 0.7813 +vn 0.4874 -0.8266 0.2814 +vn -0.9892 -0.1464 0.0062 +vn -0.3768 -0.8536 0.3598 +vn 0.1232 -0.8536 -0.5062 +vn -0.4892 -0.1464 -0.8598 +vn -0.7486 -0.4688 -0.4688 +vn -0.5294 -0.0945 -0.8431 +vn -0.6947 0.3593 -0.6231 +vn -0.9824 -0.1319 -0.1319 +vn -0.0000 0.5628 -0.8266 +vn -0.0000 0.0605 -0.9982 +vn 0.5294 -0.0945 -0.8431 +vn 0.7486 -0.4688 -0.4688 +vn 0.9824 -0.1319 -0.1319 +vn 0.6947 0.3593 -0.6231 +vn 0.5294 -0.8431 -0.0945 +vn -0.0000 -0.9982 0.0605 +vn -0.0000 -0.8266 0.5628 +vn 0.6947 -0.6231 0.3593 +vn -0.5294 -0.8431 -0.0945 +vn -0.6947 -0.6231 0.3593 +vn -0.5000 -0.1464 -0.8536 +vn -0.5000 -0.8536 -0.1464 +vn 0.5000 -0.8536 -0.1464 +vn 0.5000 -0.1464 -0.8536 +vn 0.0317 -0.4688 -0.8827 +vn 0.4655 -0.0945 -0.8800 +vn 0.1923 0.3593 -0.9132 +vn -0.3770 -0.1319 -0.9168 +vn 0.7159 0.5628 -0.4133 +vn 0.8644 0.0605 -0.4991 +vn 0.9948 -0.0945 0.0369 +vn 0.8870 0.3593 0.2900 +vn 0.7803 -0.4688 0.4139 +vn 0.3465 -0.8431 0.4112 +vn 0.0362 -0.6231 0.7813 +vn 0.6055 -0.1319 0.7849 +vn -0.0524 -0.9982 0.0303 +vn -0.1828 -0.8431 -0.5057 +vn -0.4874 -0.8266 0.2814 +vn -0.6585 -0.6231 -0.4220 +vn 0.4892 -0.1464 -0.8598 +vn -0.1232 -0.8536 -0.5062 +vn 0.3768 -0.8536 0.3598 +vn 0.9892 -0.1464 0.0062 +vn 0.7803 -0.4688 -0.4139 +vn 0.9948 -0.0945 -0.0369 +vn 0.8870 0.3593 -0.2900 +vn 0.6055 -0.1319 -0.7849 +vn 0.7159 0.5628 0.4133 +vn 0.8644 0.0605 0.4991 +vn 0.4655 -0.0945 0.8800 +vn 0.1923 0.3593 0.9132 +vn 0.0317 -0.4688 0.8827 +vn -0.3770 -0.1319 0.9168 +vn -0.1828 -0.8431 0.5057 +vn -0.0524 -0.9982 -0.0303 +vn -0.4874 -0.8266 -0.2814 +vn -0.6585 -0.6231 0.4220 +vn 0.3465 -0.8431 -0.4112 +vn 0.0362 -0.6231 -0.7813 +vn 0.9892 -0.1464 -0.0062 +vn 0.3768 -0.8536 -0.3598 +vn -0.1232 -0.8536 0.5062 +vn 0.4892 -0.1464 0.8598 +vn 0.7486 -0.4688 0.4688 +vn 0.5293 -0.0945 0.8431 +vn 0.6947 0.3593 0.6231 +vn 0.9824 -0.1319 0.1319 +vn -0.0000 0.5628 0.8266 +vn -0.0000 0.0605 0.9982 +vn -0.5294 -0.0945 0.8431 +vn -0.7486 -0.4688 0.4688 +vn -0.6947 0.3593 0.6231 +vn -0.5294 -0.8431 0.0945 +vn -0.9824 -0.1319 0.1319 +vn -0.0000 -0.9982 -0.0605 +vn -0.6947 -0.6231 -0.3593 +vn 0.5293 -0.8431 0.0945 +vn 0.6947 -0.6231 -0.3593 +vn -0.0000 -0.8266 -0.5628 +vn 0.5000 -0.1464 0.8536 +vn 0.5000 -0.8536 0.1464 +vn -0.5000 -0.8536 0.1464 +vn -0.5000 -0.1464 0.8536 +vn -0.0317 -0.4688 0.8827 +vn -0.4655 -0.0945 0.8800 +vn -0.1923 0.3593 0.9132 +vn 0.3770 -0.1319 0.9168 +vn -0.7159 0.5628 0.4133 +vn -0.8644 0.0605 0.4991 +vn -0.9948 -0.0945 -0.0369 +vn -0.8870 0.3593 -0.2901 +vn -0.7803 -0.4688 -0.4139 +vn -0.3465 -0.8431 -0.4112 +vn -0.6055 -0.1319 -0.7849 +vn 0.0524 -0.9982 -0.0303 +vn -0.0362 -0.6231 -0.7813 +vn 0.1828 -0.8431 0.5057 +vn 0.6585 -0.6231 0.4220 +vn 0.4874 -0.8266 -0.2814 +vn -0.4892 -0.1464 0.8598 +vn 0.1232 -0.8536 0.5062 +vn -0.3768 -0.8536 -0.3598 +vn -0.9892 -0.1464 -0.0062 +vn -0.6125 -0.2537 0.7486 +vn -0.8151 0.2353 0.5294 +vn -0.4382 0.5704 0.6947 +vn -0.1724 -0.0714 0.9824 +vn -0.8990 0.4379 -0.0000 +vn -0.8151 0.2353 -0.5294 +vn -0.5483 0.8363 -0.0000 +vn -0.6125 -0.2537 -0.7486 +vn -0.4382 0.5704 -0.6947 +vn -0.4100 -0.7428 -0.5294 +vn 0.0935 -0.7132 -0.6947 +vn -0.1724 -0.0714 -0.9824 +vn -0.3261 -0.9454 -0.0000 +vn -0.4100 -0.7428 0.5294 +vn 0.0935 -0.7132 0.6947 +vn 0.2036 -0.9791 -0.0000 +vn -0.8446 0.1913 0.5000 +vn -0.4619 -0.7325 0.5000 +vn -0.4619 -0.7325 -0.5000 +vn -0.6533 -0.2706 -0.7071 +vn -0.8446 0.1913 -0.5000 +vn -0.6533 -0.2706 0.7071 +vn -0.9546 -0.2537 -0.1562 +vn -0.8660 0.2353 -0.4412 +vn -0.9370 -0.0714 0.3420 +vn -0.2742 0.8363 -0.4749 +vn -0.8207 0.5704 -0.0322 +vn -0.4495 0.4379 -0.7786 +vn 0.0509 0.2353 -0.9706 +vn 0.3825 0.5704 -0.7268 +vn 0.3421 -0.2537 -0.9048 +vn 0.2535 -0.7428 -0.6197 +vn 0.7646 -0.0714 -0.6405 +vn -0.1630 -0.9454 -0.2824 +vn 0.1018 -0.9791 0.1763 +vn 0.6484 -0.7132 -0.2664 +vn -0.6634 -0.7428 -0.0904 +vn -0.5549 -0.7132 0.4283 +vn -0.8553 0.1913 -0.4815 +vn -0.6640 -0.7325 -0.1501 +vn 0.2020 -0.7325 -0.6501 +vn 0.0107 0.1913 -0.9815 +vn -0.3421 -0.2537 -0.9048 +vn -0.0509 0.2353 -0.9706 +vn -0.3825 0.5704 -0.7268 +vn -0.7646 -0.0714 -0.6405 +vn 0.4495 0.4379 -0.7786 +vn 0.8660 0.2353 -0.4412 +vn 0.2742 0.8363 -0.4749 +vn 0.9546 -0.2537 -0.1562 +vn 0.8207 0.5704 -0.0322 +vn 0.6634 -0.7428 -0.0904 +vn 0.9370 -0.0714 0.3420 +vn 0.1630 -0.9454 -0.2824 +vn 0.5549 -0.7132 0.4283 +vn -0.2535 -0.7428 -0.6197 +vn -0.1018 -0.9791 0.1763 +vn -0.6484 -0.7132 -0.2664 +vn -0.0107 0.1913 -0.9815 +vn -0.2020 -0.7325 -0.6501 +vn 0.6640 -0.7325 -0.1501 +vn 0.9390 -0.2706 -0.2122 +vn 0.8553 0.1913 -0.4815 +vn -0.2857 -0.2706 -0.9193 +vn 0.6125 -0.2537 -0.7486 +vn 0.8151 0.2353 -0.5294 +vn 0.4382 0.5704 -0.6947 +vn 0.1724 -0.0714 -0.9824 +vn 0.5483 0.8363 -0.0000 +vn 0.8990 0.4379 -0.0000 +vn 0.8151 0.2353 0.5294 +vn 0.4382 0.5704 0.6947 +vn 0.6125 -0.2537 0.7486 +vn 0.4100 -0.7428 0.5293 +vn 0.1724 -0.0714 0.9824 +vn 0.3261 -0.9454 -0.0000 +vn -0.0935 -0.7132 0.6947 +vn 0.4100 -0.7428 -0.5293 +vn -0.2036 -0.9791 -0.0000 +vn -0.0935 -0.7132 -0.6947 +vn 0.8446 0.1913 -0.5000 +vn 0.4619 -0.7325 -0.5000 +vn 0.4619 -0.7325 0.5000 +vn 0.8446 0.1913 0.5000 +vn 0.9546 -0.2537 0.1562 +vn 0.8660 0.2353 0.4412 +vn 0.8207 0.5704 0.0322 +vn 0.9370 -0.0714 -0.3420 +vn 0.2742 0.8363 0.4749 +vn 0.4495 0.4379 0.7786 +vn -0.0509 0.2353 0.9706 +vn -0.3421 -0.2537 0.9048 +vn -0.7646 -0.0714 0.6405 +vn -0.3825 0.5704 0.7268 +vn -0.2535 -0.7428 0.6197 +vn 0.1630 -0.9454 0.2824 +vn -0.6484 -0.7132 0.2664 +vn 0.6634 -0.7428 0.0904 +vn -0.1018 -0.9791 -0.1763 +vn 0.5549 -0.7132 -0.4283 +vn 0.8553 0.1913 0.4815 +vn 0.6640 -0.7325 0.1501 +vn -0.2020 -0.7325 0.6501 +vn -0.2857 -0.2706 0.9193 +vn -0.0107 0.1913 0.9815 +vn 0.9390 -0.2706 0.2122 +vn 0.3421 -0.2537 0.9048 +vn 0.0509 0.2353 0.9706 +vn 0.3825 0.5704 0.7268 +vn 0.7646 -0.0714 0.6405 +vn -0.4495 0.4379 0.7786 +vn -0.8660 0.2353 0.4412 +vn -0.2742 0.8363 0.4749 +vn -0.9546 -0.2537 0.1562 +vn -0.9370 -0.0714 -0.3420 +vn -0.8207 0.5704 0.0322 +vn -0.6634 -0.7428 0.0904 +vn -0.1630 -0.9454 0.2824 +vn -0.5549 -0.7132 -0.4283 +vn 0.2534 -0.7428 0.6197 +vn 0.1018 -0.9791 -0.1763 +vn 0.6484 -0.7132 0.2664 +vn 0.0107 0.1913 0.9815 +vn 0.2020 -0.7325 0.6501 +vn -0.6640 -0.7325 0.1501 +vn -0.8553 0.1913 0.4815 +vn -0.7071 0.7071 -0.0000 +vt 0.848485 0.636364 +vt 0.742424 0.606061 +vt 0.848485 0.606061 +vt 0.742424 0.636364 +vt 0.636364 0.606061 +vt 0.636364 0.636364 +vt 0.530303 0.606061 +vt 0.530303 0.636364 +vt 0.424242 0.606061 +vt 0.424242 0.636364 +vt 0.318182 0.606061 +vt 0.318182 0.636364 +vt 0.212121 0.606061 +vt 0.212121 0.636364 +vt 0.106061 0.606061 +vt 0.106061 0.636364 +vt 0.000000 0.606061 +vt 0.848485 0.500000 +vt 0.742424 0.469697 +vt 0.848485 0.469697 +vt 0.742424 0.500000 +vt 0.636364 0.469697 +vt 0.636364 0.500000 +vt 0.530303 0.469697 +vt 0.530303 0.500000 +vt 0.424242 0.469697 +vt 0.424242 0.500000 +vt 0.318182 0.469697 +vt 0.318182 0.500000 +vt 0.212121 0.469697 +vt 0.212121 0.500000 +vt 0.106061 0.469697 +vt 0.106061 0.500000 +vt 0.000000 0.469697 +vt 0.842172 0.560606 +vt 0.748737 0.560606 +vt 0.748737 0.681818 +vt 0.842172 0.681818 +vt 0.736111 0.560606 +vt 0.642677 0.560606 +vt 0.642677 0.681818 +vt 0.736111 0.681818 +vt 0.630050 0.560606 +vt 0.536616 0.560606 +vt 0.536616 0.681818 +vt 0.630050 0.681818 +vt 0.523990 0.560606 +vt 0.430556 0.560606 +vt 0.430556 0.681818 +vt 0.523990 0.681818 +vt 0.417929 0.560606 +vt 0.324495 0.560606 +vt 0.324495 0.681818 +vt 0.417929 0.681818 +vt 0.311869 0.560606 +vt 0.218434 0.560606 +vt 0.218434 0.681818 +vt 0.311869 0.681818 +vt 0.205808 0.560606 +vt 0.112374 0.560606 +vt 0.112374 0.681818 +vt 0.205808 0.681818 +vt 0.099747 0.560606 +vt 0.006313 0.560606 +vt 0.006313 0.681818 +vt 0.099747 0.681818 +vt 0.842172 0.424242 +vt 0.742424 0.469697 +vt 0.748737 0.424242 +vt 0.748737 0.545455 +vt 0.842172 0.545455 +vt 0.736111 0.424242 +vt 0.642677 0.424242 +vt 0.642677 0.545455 +vt 0.736111 0.545455 +vt 0.630050 0.424242 +vt 0.530303 0.469697 +vt 0.536616 0.424242 +vt 0.536616 0.545455 +vt 0.630050 0.545455 +vt 0.523990 0.424242 +vt 0.430556 0.424242 +vt 0.430556 0.545455 +vt 0.523990 0.545455 +vt 0.417929 0.424242 +vt 0.318182 0.469697 +vt 0.324495 0.424242 +vt 0.324495 0.545455 +vt 0.417929 0.545455 +vt 0.311869 0.424242 +vt 0.218434 0.424242 +vt 0.218434 0.545455 +vt 0.311869 0.545455 +vt 0.205808 0.424242 +vt 0.106061 0.469697 +vt 0.112374 0.424242 +vt 0.112374 0.545455 +vt 0.205808 0.545455 +vt 0.099747 0.424242 +vt 0.006313 0.424242 +vt 0.006313 0.545455 +vt 0.099747 0.545455 +vt 0.037879 0.962119 +vt 0.075758 0.924240 +vt 0.075758 0.962119 +vt 0.037879 0.924240 +vt 0.075758 0.886361 +vt 0.037879 0.886361 +vt 0.075758 0.848482 +vt 0.037879 0.810603 +vt 0.037879 0.848482 +vt 0.037879 0.772725 +vt 0.075758 0.810603 +vt 0.037879 0.734846 +vt 0.075758 0.772725 +vt 0.113637 0.924240 +vt 0.113637 0.962119 +vt 0.113637 0.886361 +vt 0.113637 0.848482 +vt 0.113637 0.810603 +vt 0.075758 0.734846 +vt 0.113637 0.772725 +vt 0.151516 0.924240 +vt 0.151516 0.962119 +vt 0.151516 0.886361 +vt 0.151516 0.848482 +vt 0.151516 0.810603 +vt 0.113637 0.734846 +vt 0.151516 0.772725 +vt 0.189394 0.962119 +vt 0.189394 0.924240 +vt 0.189394 0.886361 +vt 0.189394 0.810603 +vt 0.189394 0.848482 +vt 0.189394 0.772725 +vt 0.189394 0.734846 +vt 0.227273 0.962119 +vt 0.227273 0.924240 +vt 0.227273 0.886361 +vt 0.227273 0.810603 +vt 0.227273 0.848482 +vt 0.227273 0.772725 +vt 0.227273 0.734846 +vt 0.265152 0.962119 +vt 0.265152 0.924240 +vt 0.265152 0.886361 +vt 0.265152 0.810603 +vt 0.265152 0.848482 +vt 0.265152 0.772725 +vt 0.265152 0.734846 +vt 0.000000 0.999998 +vt 0.037879 0.999998 +vt 0.000000 0.962119 +vt 0.000000 0.924240 +vt 0.000000 0.886361 +vt 0.000000 0.810603 +vt 0.000000 0.848482 +vt 0.000000 0.772725 +vt 0.000000 0.734846 +vt 0.000000 0.696967 +vt 0.037879 0.696967 +vt 0.075758 0.696967 +vt 0.113637 0.696967 +vt 0.151516 0.734846 +vt 0.189394 0.696967 +vt 0.227273 0.696967 +vt 0.265152 0.696967 +vt 0.303031 0.696967 +vt 0.303031 0.734846 +vt 0.303031 0.772725 +vt 0.303031 0.810603 +vt 0.303031 0.848482 +vt 0.303031 0.886361 +vt 0.303031 0.924240 +vt 0.303031 0.962119 +vt 0.303031 0.999998 +vt 0.265152 0.999998 +vt 0.227273 0.999998 +vt 0.189394 0.999998 +vt 0.151516 0.999998 +vt 0.113637 0.999998 +vt 0.075758 0.999998 +vt 0.037879 0.924240 +vt 0.075758 0.886361 +vt 0.037879 0.886361 +vt 0.037879 0.772725 +vt 0.113637 0.924240 +vt 0.113637 0.962119 +vt 0.113637 0.886361 +vt 0.151516 0.886361 +vt 0.189394 0.962119 +vt 0.189394 0.924240 +vt 0.189394 0.886361 +vt 0.227273 0.886361 +vt 0.227273 0.772725 +vt 0.265152 0.924240 +vt 0.265152 0.886361 +vt 0.265152 0.772725 +vt 0.265152 0.734846 +vt 0.000000 0.886361 +vt 0.000000 0.772725 +vt 0.303031 0.772725 +vt 0.303031 0.886361 +vt 0.151516 0.999997 +vt 0.075758 0.999997 +vt 0.356061 0.734846 +vt 0.393940 0.772725 +vt 0.356061 0.772725 +vt 0.393940 0.734846 +vt 0.431819 0.772725 +vt 0.431819 0.734846 +vt 0.469697 0.772725 +vt 0.507576 0.734846 +vt 0.469697 0.734846 +vt 0.545455 0.734846 +vt 0.507576 0.772725 +vt 0.583334 0.734846 +vt 0.545455 0.772725 +vt 0.393940 0.810603 +vt 0.356061 0.810603 +vt 0.431819 0.810603 +vt 0.469697 0.810603 +vt 0.507576 0.810603 +vt 0.583334 0.772725 +vt 0.545455 0.810603 +vt 0.393940 0.848482 +vt 0.356061 0.848482 +vt 0.431819 0.848482 +vt 0.469697 0.848482 +vt 0.507576 0.848482 +vt 0.583334 0.810603 +vt 0.545455 0.848482 +vt 0.356061 0.886361 +vt 0.393940 0.886361 +vt 0.431819 0.886361 +vt 0.507576 0.886361 +vt 0.469697 0.886361 +vt 0.545455 0.886361 +vt 0.583334 0.886361 +vt 0.356061 0.924240 +vt 0.393940 0.924240 +vt 0.431819 0.924240 +vt 0.507576 0.924240 +vt 0.469697 0.924240 +vt 0.545455 0.924240 +vt 0.583334 0.924240 +vt 0.356061 0.962119 +vt 0.393940 0.962119 +vt 0.431819 0.962119 +vt 0.507576 0.962119 +vt 0.469697 0.962119 +vt 0.545455 0.962119 +vt 0.583334 0.962119 +vt 0.318182 0.696967 +vt 0.318182 0.734846 +vt 0.356061 0.696967 +vt 0.393940 0.696967 +vt 0.431819 0.696967 +vt 0.507576 0.696967 +vt 0.469697 0.696967 +vt 0.545455 0.696967 +vt 0.583334 0.696967 +vt 0.621213 0.696967 +vt 0.621213 0.734846 +vt 0.621213 0.772725 +vt 0.621213 0.810603 +vt 0.583334 0.848482 +vt 0.621213 0.886361 +vt 0.621213 0.924240 +vt 0.621213 0.962119 +vt 0.621213 0.999998 +vt 0.583334 0.999998 +vt 0.545455 0.999998 +vt 0.507576 0.999998 +vt 0.469697 0.999998 +vt 0.431819 0.999998 +vt 0.393940 0.999998 +vt 0.356061 0.999998 +vt 0.318182 0.999998 +vt 0.318182 0.962119 +vt 0.318182 0.924240 +vt 0.318182 0.886361 +vt 0.318182 0.848482 +vt 0.318182 0.810603 +vt 0.318182 0.772725 +vt 0.772727 0.696970 +vt 0.818182 0.727273 +vt 0.772727 0.727273 +vt 0.727273 0.696970 +vt 0.727273 0.727273 +vt 0.681818 0.696970 +vt 0.681818 0.727273 +vt 0.636364 0.696970 +vt 0.636364 0.727273 +vt 0.954546 0.696970 +vt 1.000000 0.727273 +vt 0.954546 0.727273 +vt 0.909091 0.696970 +vt 0.909091 0.727273 +vt 0.863636 0.696970 +vt 0.863636 0.727273 +vt 0.818182 0.696970 +vt 0.676136 0.742424 +vt 0.645076 0.757576 +vt 0.642045 0.742424 +vt 0.778409 0.742424 +vt 0.812500 0.742424 +vt 0.732955 0.742424 +vt 0.767045 0.742424 +vt 0.687500 0.742424 +vt 0.721591 0.742424 +vt 0.960227 0.742424 +vt 0.994318 0.742424 +vt 0.914773 0.742424 +vt 0.948864 0.742424 +vt 0.869318 0.742424 +vt 0.903409 0.742424 +vt 0.823864 0.742424 +vt 0.857955 0.742424 +vt 0.701027 0.783822 +vt 0.647458 0.783822 +vt 0.647458 0.837390 +vt 0.735985 0.757576 +vt 0.900379 0.757576 +vt 0.872349 0.757576 +vt 0.991288 0.757576 +vt 0.963258 0.757576 +vt 0.718561 0.757576 +vt 0.690530 0.757576 +vt 0.809470 0.757576 +vt 0.781439 0.757576 +vt 0.826894 0.757576 +vt 0.917803 0.757576 +vt 0.803030 0.833333 +vt 0.833333 0.803030 +vt 0.833333 0.833333 +vt 0.833333 0.878788 +vt 0.803030 0.848485 +vt 0.833333 0.848485 +vt 0.803030 0.757576 +vt 0.833333 0.787879 +vt 0.803030 0.787879 +vt 0.878788 0.878788 +vt 0.848485 0.848485 +vt 0.878788 0.848485 +vt 0.878788 0.787879 +vt 0.848485 0.757576 +vt 0.878788 0.757576 +vt 0.878788 0.833333 +vt 0.848485 0.803030 +vt 0.878788 0.803030 +vt 0.772727 0.818182 +vt 0.742424 0.803030 +vt 0.772727 0.803030 +vt 0.803030 0.803030 +vt 0.787879 0.772727 +vt 0.772727 0.772727 +vt 0.727273 0.803030 +vt 0.742424 0.772727 +vt 0.787879 0.803030 +vt 0.742424 0.818182 +vt 0.772727 0.863636 +vt 0.742424 0.878788 +vt 0.742424 0.863636 +vt 0.787879 0.833333 +vt 0.772727 0.833333 +vt 0.727273 0.833333 +vt 0.742424 0.833333 +vt 0.787879 0.863636 +vt 0.772727 0.878788 +vt 0.727273 0.863636 +vt 0.742424 0.984848 +vt 0.734848 1.000000 +vt 0.727273 0.984848 +vt 0.742424 0.984848 +vt 0.727273 0.969697 +vt 0.742424 0.969697 +vt 0.712121 0.984848 +vt 0.696970 0.969697 +vt 0.712121 0.969697 +vt 0.712121 0.984848 +vt 0.704545 1.000000 +vt 0.696970 0.984848 +vt 0.681818 0.984848 +vt 0.674242 1.000000 +vt 0.666667 0.984848 +vt 0.681818 0.969697 +vt 0.666667 0.984848 +vt 0.666667 0.969697 +vt 0.651515 0.984848 +vt 0.643939 1.000000 +vt 0.636364 0.984848 +vt 0.651515 0.969697 +vt 0.636364 0.969697 +vt 0.863636 0.984848 +vt 0.856060 1.000000 +vt 0.848485 0.984848 +vt 0.863636 0.969697 +vt 0.848485 0.984848 +vt 0.848485 0.969697 +vt 0.833333 0.984848 +vt 0.825757 1.000000 +vt 0.818182 0.984848 +vt 0.833333 0.969697 +vt 0.818182 0.984848 +vt 0.818182 0.969697 +vt 0.803030 0.984848 +vt 0.795454 1.000000 +vt 0.787879 0.984848 +vt 0.803030 0.984848 +vt 0.787879 0.969697 +vt 0.803030 0.969697 +vt 0.772727 0.984848 +vt 0.765151 1.000000 +vt 0.757576 0.984848 +vt 0.772727 0.984848 +vt 0.757576 0.969697 +vt 0.772727 0.969697 +vt 0.757576 0.878788 +vt 0.727273 0.893939 +vt 0.727273 0.878788 +vt 0.696970 0.893939 +vt 0.696970 0.878788 +vt 0.666667 0.878788 +vt 0.666667 0.893939 +vt 0.636364 0.878788 +vt 0.848485 0.893939 +vt 0.848485 0.878788 +vt 0.818182 0.893939 +vt 0.818182 0.878788 +vt 0.696970 0.909091 +vt 0.719697 0.924242 +vt 0.704545 0.924242 +vt 0.787879 0.878788 +vt 0.787879 0.893939 +vt 0.752525 0.909091 +vt 0.727273 0.893939 +vt 0.757576 0.893939 +vt 0.722222 0.909091 +vt 0.691919 0.909091 +vt 0.666667 0.893939 +vt 0.696970 0.893939 +vt 0.641414 0.909091 +vt 0.661616 0.909091 +vt 0.873737 0.909091 +vt 0.848485 0.893939 +vt 0.878788 0.893939 +vt 0.823232 0.909091 +vt 0.843434 0.909091 +vt 0.813131 0.909091 +vt 0.787879 0.893939 +vt 0.818182 0.893939 +vt 0.762626 0.909091 +vt 0.782828 0.909091 +vt 0.863636 0.924242 +vt 0.848485 0.924242 +vt 0.818182 0.909091 +vt 0.795455 0.924242 +vt 0.787879 0.909091 +vt 0.848485 0.909091 +vt 0.871212 0.924242 +vt 0.856061 0.924242 +vt 0.666667 0.909091 +vt 0.689394 0.924242 +vt 0.674242 0.924242 +vt 0.727273 0.909091 +vt 0.750000 0.924242 +vt 0.734848 0.924242 +vt 0.765152 0.924242 +vt 0.757576 0.909091 +vt 0.825758 0.924242 +vt 0.643939 0.924242 +vt 0.636364 0.909091 +vt 0.681818 0.924242 +vt 0.666667 0.924242 +vt 0.742424 0.924242 +vt 0.727273 0.924242 +vt 0.772727 0.924242 +vt 0.757576 0.924242 +vt 0.833333 0.924242 +vt 0.818182 0.924242 +vt 0.651515 0.924242 +vt 0.636364 0.924242 +vt 0.696970 0.924242 +vt 0.787879 0.924242 +vt 0.696970 0.984848 +vt 0.681818 0.984848 +vt 0.863636 0.984848 +vt 0.757576 0.893939 +vt 0.636364 0.893939 +vt 0.732323 0.909091 +vt 0.702020 0.909091 +vt 0.853535 0.909091 +vt 0.792929 0.909091 +vt 0.810606 0.924242 +vt 0.878788 0.909091 +vt 0.780303 0.924242 +vt 0.659091 0.924242 +vt 0.712121 0.924242 +vt 0.803030 0.924242 +vt 0.833333 0.984848 +vt 0.787879 0.984848 +vt 0.757576 0.984848 +vt 0.727273 0.984848 +vt 0.878788 0.893939 +vt 0.840909 0.924242 +vt 0.671717 0.909091 +vt 0.000000 0.636364 +vt 0.000000 0.500000 +vt 0.848485 0.469697 +vt 0.636364 0.469697 +vt 0.424242 0.469697 +vt 0.212121 0.469697 +vt 0.151516 0.696967 +vt 0.621213 0.848482 +vt 1.000000 0.696970 +vt 0.673106 0.757576 +vt 0.674242 0.848485 +vt 0.701027 0.837390 +vt 0.712121 0.810606 +vt 0.674242 0.772727 +vt 0.636364 0.810606 +vt 0.764015 0.757576 +vt 0.854924 0.757576 +vt 0.945833 0.757576 +vt 0.803030 0.878788 +vt 0.833333 0.757576 +vt 0.848485 0.787879 +vt 0.848485 0.833333 +vt 0.727273 0.772727 +s 1 +usemtl Material +f 36/1/1 34/2/2 33/3/1 +f 35/4/2 37/5/3 34/2/2 +f 38/6/3 39/7/4 37/5/3 +f 40/8/4 41/9/5 39/7/4 +f 42/10/5 43/11/6 41/9/5 +f 44/12/6 45/13/7 43/11/6 +f 46/14/7 47/15/8 45/13/7 +f 48/16/8 49/17/9 47/15/8 +f 50/18/9 51/19/10 49/20/9 +f 52/21/10 53/22/11 51/19/10 +f 54/23/11 55/24/12 53/22/11 +f 56/25/12 57/26/13 55/24/12 +f 58/27/13 59/28/14 57/26/13 +f 60/29/14 61/30/15 59/28/14 +f 62/31/15 63/32/16 61/30/15 +f 64/33/16 33/34/1 63/32/16 +f 1/35/17 34/2/17 3/36/17 +f 4/37/18 36/1/18 2/38/18 +f 3/39/17 37/5/17 5/40/17 +f 6/41/18 35/4/18 4/42/18 +f 5/43/17 39/7/17 7/44/17 +f 8/45/18 38/6/18 6/46/18 +f 7/47/17 41/9/17 9/48/17 +f 10/49/18 40/8/18 8/50/18 +f 9/51/17 43/11/17 11/52/17 +f 12/53/18 42/10/18 10/54/18 +f 11/55/17 45/13/17 13/56/17 +f 14/57/18 44/12/18 12/58/18 +f 13/59/17 47/15/17 15/60/17 +f 16/61/18 46/14/18 14/62/18 +f 15/63/17 49/17/17 17/64/17 +f 18/65/18 48/16/18 16/66/18 +f 17/67/17 51/68/17 19/69/17 +f 20/70/18 50/18/18 18/71/18 +f 19/72/17 53/22/17 21/73/17 +f 22/74/18 52/21/18 20/75/18 +f 21/76/17 55/77/17 23/78/17 +f 24/79/18 54/23/18 22/80/18 +f 23/81/17 57/26/17 25/82/17 +f 26/83/18 56/25/18 24/84/18 +f 25/85/17 59/86/17 27/87/17 +f 28/88/18 58/27/18 26/89/18 +f 27/90/17 61/30/17 29/91/17 +f 30/92/18 60/29/18 28/93/18 +f 29/94/17 63/95/17 31/96/17 +f 32/97/18 62/31/18 30/98/18 +f 31/99/17 33/34/17 1/100/17 +f 2/101/18 64/33/18 32/102/18 +f 157/103/19 165/104/20 164/105/21 +f 158/106/22 166/107/23 165/104/20 +f 159/108/24 167/109/25 166/107/23 +f 161/110/26 167/109/25 160/111/27 +f 162/112/28 168/113/29 161/110/26 +f 163/114/30 169/115/31 162/112/28 +f 164/105/21 172/116/32 171/117/33 +f 165/104/20 173/118/34 172/116/32 +f 166/107/23 174/119/35 173/118/34 +f 168/113/29 174/119/35 167/109/25 +f 169/115/31 175/120/36 168/113/29 +f 170/121/37 176/122/38 169/115/31 +f 171/117/33 179/123/39 178/124/40 +f 172/116/32 180/125/41 179/123/39 +f 173/118/34 181/126/13 180/125/41 +f 175/120/36 181/126/13 174/119/35 +f 176/122/38 182/127/42 175/120/36 +f 177/128/43 183/129/44 176/122/38 +f 179/123/39 185/130/45 178/124/40 +f 180/125/41 186/131/46 179/123/39 +f 181/126/13 187/132/47 180/125/41 +f 181/126/13 189/133/48 188/134/49 +f 182/127/42 190/135/50 189/133/48 +f 183/129/44 191/136/51 190/135/50 +f 186/131/46 192/137/52 185/130/45 +f 187/132/47 193/138/53 186/131/46 +f 188/134/49 194/139/54 187/132/47 +f 188/134/49 196/140/55 195/141/56 +f 189/133/48 197/142/57 196/140/55 +f 190/135/50 198/143/58 197/142/57 +f 193/138/53 199/144/59 192/137/52 +f 194/139/54 200/145/60 193/138/53 +f 195/141/56 201/146/61 194/139/54 +f 195/141/56 203/147/62 202/148/63 +f 196/140/55 204/149/64 203/147/62 +f 197/142/57 205/150/65 204/149/64 +f 65/151/66 157/103/19 79/152/67 +f 80/153/68 158/106/22 157/103/19 +f 81/154/69 159/108/24 158/106/22 +f 82/155/70 160/111/27 159/108/24 +f 84/156/71 160/111/27 83/157/11 +f 85/158/72 161/110/26 84/156/71 +f 86/159/73 162/112/28 85/158/72 +f 66/160/74 163/114/30 86/159/73 +f 87/161/75 170/121/37 163/114/30 +f 88/162/76 177/128/43 170/121/37 +f 89/163/77 184/164/78 177/128/43 +f 184/164/78 91/165/79 191/136/51 +f 191/136/51 92/166/80 198/143/58 +f 198/143/58 93/167/81 205/150/65 +f 205/150/65 68/168/82 94/169/83 +f 204/149/64 94/169/83 95/170/84 +f 203/147/62 95/170/84 96/171/85 +f 202/148/63 96/171/85 97/172/15 +f 202/148/63 98/173/86 201/146/61 +f 201/146/61 99/174/87 200/145/60 +f 200/145/60 100/175/88 199/144/59 +f 199/144/59 67/176/89 73/177/90 +f 192/137/52 73/177/90 74/178/91 +f 185/130/45 74/178/91 75/179/92 +f 178/124/40 75/179/92 76/180/93 +f 77/181/94 178/124/40 76/180/93 +f 78/182/95 171/117/33 77/181/94 +f 79/152/67 164/105/21 78/182/95 +f 206/103/96 214/104/97 213/105/98 +f 207/106/99 215/107/100 214/104/97 +f 208/108/101 216/109/102 215/107/100 +f 210/110/103 216/109/102 209/111/104 +f 211/112/105 217/113/106 210/110/103 +f 212/114/107 218/115/108 211/112/105 +f 213/105/98 221/116/109 220/117/110 +f 214/104/97 222/118/111 221/116/109 +f 215/107/100 223/119/112 222/118/111 +f 217/113/106 223/119/112 216/109/102 +f 218/115/108 224/120/113 217/113/106 +f 219/121/114 225/122/115 218/115/108 +f 220/117/110 228/123/116 227/124/117 +f 221/116/109 229/125/118 228/123/116 +f 222/118/111 230/126/1 229/125/118 +f 224/120/113 230/126/1 223/119/112 +f 225/122/115 231/127/119 224/120/113 +f 226/128/120 232/129/121 225/122/115 +f 228/123/116 234/130/122 227/124/117 +f 229/125/118 235/131/123 228/123/116 +f 230/126/1 236/132/124 229/125/118 +f 230/126/1 238/133/125 237/134/126 +f 231/127/119 239/135/127 238/133/125 +f 232/129/121 240/136/128 239/135/127 +f 235/131/123 241/137/129 234/130/122 +f 236/132/124 242/138/130 235/131/123 +f 237/134/126 243/139/131 236/132/124 +f 237/134/126 245/140/132 244/141/133 +f 238/133/125 246/142/134 245/140/132 +f 239/135/127 247/143/135 246/142/134 +f 242/138/130 248/144/136 241/137/129 +f 243/139/131 249/145/137 242/138/130 +f 244/141/133 250/146/138 243/139/131 +f 244/141/133 252/147/139 251/148/140 +f 245/140/132 253/149/141 252/147/139 +f 246/142/134 254/150/142 253/149/141 +f 67/151/89 206/103/96 107/152/143 +f 100/153/88 207/106/99 206/103/96 +f 99/154/87 208/108/101 207/106/99 +f 98/155/86 209/111/104 208/108/101 +f 96/156/85 209/111/104 97/157/15 +f 95/158/84 210/110/103 96/156/85 +f 94/159/83 211/112/105 95/158/84 +f 68/160/82 212/114/107 94/159/83 +f 108/161/144 219/121/114 212/114/107 +f 109/162/145 226/128/120 219/121/114 +f 110/163/146 233/164/147 226/128/120 +f 233/164/147 112/165/148 240/136/128 +f 240/136/128 113/166/149 247/143/135 +f 247/143/135 114/167/150 254/150/142 +f 254/150/142 72/168/151 115/169/152 +f 253/149/141 115/169/152 116/170/153 +f 252/147/139 116/170/153 117/171/154 +f 251/148/140 117/171/154 118/172/3 +f 251/148/140 119/173/155 250/146/138 +f 250/146/138 120/174/156 249/145/137 +f 249/145/137 121/175/157 248/144/136 +f 248/144/136 71/176/158 101/177/159 +f 241/137/129 101/177/159 102/178/160 +f 234/130/122 102/178/160 103/179/161 +f 227/124/117 103/179/161 104/180/162 +f 105/181/163 227/124/117 104/180/162 +f 106/182/164 220/117/110 105/181/163 +f 107/152/143 213/105/98 106/182/164 +f 255/103/165 263/104/166 262/105/167 +f 256/183/168 264/184/169 263/104/166 +f 257/185/170 265/109/171 264/184/169 +f 259/110/172 265/109/171 258/111/173 +f 260/186/174 266/113/175 259/110/172 +f 261/114/176 267/115/177 260/186/174 +f 262/105/167 270/187/178 269/188/179 +f 263/104/166 271/189/180 270/187/178 +f 264/184/169 272/119/181 271/189/180 +f 266/113/175 272/119/181 265/109/171 +f 267/115/177 273/120/182 266/113/175 +f 268/121/183 274/122/184 267/115/177 +f 269/188/179 277/123/185 276/124/186 +f 270/187/178 278/190/187 277/123/185 +f 271/189/180 279/126/5 278/190/187 +f 273/120/182 279/126/5 272/119/181 +f 274/122/184 280/127/188 273/120/182 +f 275/128/189 281/129/190 274/122/184 +f 277/123/185 283/191/191 276/124/186 +f 278/190/187 284/192/192 277/123/185 +f 279/126/5 285/193/193 278/190/187 +f 279/126/5 287/133/194 286/134/195 +f 280/127/188 288/135/196 287/133/194 +f 281/129/190 289/136/197 288/135/196 +f 284/192/192 290/137/198 283/191/191 +f 285/193/193 291/138/199 284/192/192 +f 286/134/195 292/194/200 285/193/193 +f 286/134/195 294/140/201 293/141/202 +f 287/133/194 295/195/203 294/140/201 +f 288/135/196 296/143/204 295/195/203 +f 291/138/199 297/144/205 290/137/198 +f 292/194/200 298/196/206 291/138/199 +f 293/141/202 299/197/207 292/194/200 +f 293/141/202 301/147/208 300/148/209 +f 294/140/201 302/198/210 301/147/208 +f 295/195/203 303/199/211 302/198/210 +f 71/151/158 255/103/165 128/152/212 +f 121/153/157 256/183/168 255/103/165 +f 120/154/156 257/185/170 256/183/168 +f 119/200/155 258/111/173 257/185/170 +f 117/156/154 258/111/173 118/157/3 +f 116/201/153 259/110/172 117/156/154 +f 115/159/152 260/186/174 116/201/153 +f 72/160/151 261/114/176 115/159/152 +f 129/161/213 268/121/183 261/114/176 +f 130/162/214 275/128/189 268/121/183 +f 131/163/215 282/164/216 275/128/189 +f 282/164/216 133/165/217 289/136/197 +f 289/136/197 134/166/218 296/143/204 +f 296/143/204 135/167/219 303/199/211 +f 303/199/211 70/168/220 136/169/221 +f 302/198/210 136/169/221 137/202/222 +f 301/147/208 137/202/222 138/171/223 +f 300/148/209 138/171/223 139/172/7 +f 300/148/209 140/203/224 299/197/207 +f 299/197/207 141/174/225 298/196/206 +f 298/196/206 142/175/226 297/144/205 +f 297/144/205 69/176/227 122/177/228 +f 290/137/198 122/177/228 123/178/229 +f 283/191/191 123/178/229 124/179/230 +f 276/124/186 124/179/230 125/204/231 +f 126/181/232 276/124/186 125/204/231 +f 127/205/233 269/188/179 126/181/232 +f 128/152/212 262/105/167 127/205/233 +f 304/103/234 312/104/235 311/105/236 +f 305/106/237 313/107/238 312/104/235 +f 306/108/239 314/109/240 313/107/238 +f 308/110/241 314/109/240 307/111/242 +f 309/112/243 315/113/244 308/110/241 +f 310/114/245 316/115/246 309/112/243 +f 311/105/236 319/116/247 318/117/248 +f 312/104/235 320/118/249 319/116/247 +f 313/107/238 321/119/250 320/118/249 +f 315/113/244 321/119/250 314/109/240 +f 316/115/246 322/120/251 315/113/244 +f 317/121/252 323/122/253 316/115/246 +f 318/117/248 326/123/254 325/124/255 +f 319/116/247 327/125/256 326/123/254 +f 320/118/249 328/126/9 327/125/256 +f 322/120/251 328/126/9 321/119/250 +f 323/122/253 329/127/257 322/120/251 +f 324/128/258 330/129/259 323/122/253 +f 326/123/254 332/130/260 325/124/255 +f 327/125/256 333/131/261 326/123/254 +f 328/126/9 334/132/262 327/125/256 +f 328/126/9 336/133/263 335/134/264 +f 329/127/257 337/135/265 336/133/263 +f 330/129/259 338/136/266 337/135/265 +f 333/131/261 339/137/267 332/130/260 +f 334/132/262 340/138/268 333/131/261 +f 335/134/264 341/139/269 334/132/262 +f 335/134/264 343/140/270 342/141/271 +f 336/133/263 344/142/272 343/140/270 +f 337/135/265 345/143/273 344/142/272 +f 340/138/268 346/144/274 339/137/267 +f 341/139/269 347/145/275 340/138/268 +f 342/141/271 348/146/276 341/139/269 +f 342/141/271 350/147/277 349/148/278 +f 343/140/270 351/149/279 350/147/277 +f 344/142/272 352/150/280 351/149/279 +f 69/151/227 304/103/234 149/152/281 +f 142/153/226 305/106/237 304/103/234 +f 141/154/225 306/108/239 305/106/237 +f 140/155/224 307/111/242 306/108/239 +f 138/156/223 307/111/242 139/157/7 +f 137/158/222 308/110/241 138/156/223 +f 136/159/221 309/112/243 137/158/222 +f 70/160/220 310/114/245 136/159/221 +f 150/161/282 317/121/252 310/114/245 +f 151/162/283 324/128/258 317/121/252 +f 152/163/284 331/164/285 324/128/258 +f 331/164/285 154/165/286 338/136/266 +f 338/136/266 155/166/287 345/143/273 +f 345/143/273 156/167/288 352/150/280 +f 352/150/280 66/168/74 86/169/73 +f 351/149/279 86/169/73 85/170/72 +f 350/147/277 85/170/72 84/171/71 +f 349/148/278 84/171/71 83/172/11 +f 349/148/278 82/173/70 348/146/276 +f 348/146/276 81/174/69 347/145/275 +f 347/145/275 80/175/68 346/144/274 +f 346/144/274 65/176/66 143/177/289 +f 339/137/267 143/177/289 144/178/290 +f 332/130/260 144/178/290 145/179/291 +f 325/124/255 145/179/291 146/180/292 +f 147/181/293 325/124/255 146/180/292 +f 148/182/294 318/117/248 147/181/293 +f 149/152/281 311/105/236 148/182/294 +f 353/206/295 361/207/296 360/208/297 +f 354/209/298 362/210/299 361/207/296 +f 355/211/300 363/212/301 362/210/299 +f 357/213/302 363/212/301 356/214/303 +f 358/215/304 364/216/305 357/213/302 +f 359/217/306 365/218/307 358/215/304 +f 360/208/297 368/219/308 367/220/309 +f 361/207/296 369/221/310 368/219/308 +f 362/210/299 370/222/311 369/221/310 +f 364/216/305 370/222/311 363/212/301 +f 365/218/307 371/223/312 364/216/305 +f 366/224/313 372/225/314 365/218/307 +f 367/220/309 375/226/315 374/227/316 +f 368/219/308 376/228/317 375/226/315 +f 369/221/310 377/229/17 376/228/317 +f 371/223/312 377/229/17 370/222/311 +f 372/225/314 378/230/318 371/223/312 +f 373/231/319 379/232/320 372/225/314 +f 375/226/315 381/233/321 374/227/316 +f 376/228/317 382/234/322 375/226/315 +f 377/229/17 383/235/323 376/228/317 +f 377/229/17 385/236/324 384/237/325 +f 378/230/318 386/238/326 385/236/324 +f 379/232/320 387/239/327 386/238/326 +f 382/234/322 388/240/328 381/233/321 +f 383/235/323 389/241/329 382/234/322 +f 384/237/325 390/242/330 383/235/323 +f 384/237/325 392/243/331 391/244/332 +f 385/236/324 393/245/333 392/243/331 +f 386/238/326 394/246/334 393/245/333 +f 389/241/329 395/247/335 388/240/328 +f 390/242/330 396/248/336 389/241/329 +f 391/244/332 397/249/337 390/242/330 +f 391/244/332 399/250/338 398/251/339 +f 392/243/331 400/252/340 399/250/338 +f 393/245/333 401/253/341 400/252/340 +f 67/254/89 353/206/295 73/255/90 +f 107/256/143 354/209/298 353/206/295 +f 106/257/164 355/211/300 354/209/298 +f 105/258/163 356/214/303 355/211/300 +f 103/259/161 356/214/303 104/260/162 +f 102/261/160 357/213/302 103/259/161 +f 101/262/159 358/215/304 102/261/160 +f 71/263/158 359/217/306 101/262/159 +f 128/264/212 366/224/313 359/217/306 +f 127/265/233 373/231/319 366/224/313 +f 126/266/232 380/267/342 373/231/319 +f 380/267/342 124/268/230 387/239/327 +f 387/239/327 123/269/229 394/246/334 +f 394/246/334 122/270/228 401/253/341 +f 401/253/341 69/271/227 149/272/281 +f 400/252/340 149/272/281 148/273/294 +f 399/250/338 148/273/294 147/274/293 +f 398/251/339 147/274/293 146/275/292 +f 398/251/339 145/276/291 397/249/337 +f 397/249/337 144/277/290 396/248/336 +f 396/248/336 143/278/289 395/247/335 +f 395/247/335 65/279/66 79/280/67 +f 388/240/328 79/280/67 78/281/95 +f 381/233/321 78/281/95 77/282/94 +f 374/227/316 77/282/94 76/283/93 +f 75/284/92 374/227/316 76/283/93 +f 74/285/91 367/220/309 75/284/92 +f 73/255/90 360/208/297 74/285/91 +f 402/206/343 410/207/344 409/208/345 +f 403/209/346 411/210/347 410/207/344 +f 404/211/348 412/212/349 411/210/347 +f 406/213/350 412/212/349 405/214/351 +f 407/215/352 413/216/353 406/213/350 +f 408/217/354 414/218/355 407/215/352 +f 409/208/345 417/219/356 416/220/357 +f 410/207/344 418/221/358 417/219/356 +f 411/210/347 419/222/359 418/221/358 +f 413/216/353 419/222/359 412/212/349 +f 414/218/355 420/223/360 413/216/353 +f 415/224/361 421/225/362 414/218/355 +f 416/220/357 424/226/363 423/227/364 +f 417/219/356 425/228/365 424/226/363 +f 418/221/358 426/229/18 425/228/365 +f 420/223/360 426/229/18 419/222/359 +f 421/225/362 427/230/366 420/223/360 +f 422/231/367 428/232/368 421/225/362 +f 424/226/363 430/233/369 423/227/364 +f 425/228/365 431/234/370 424/226/363 +f 426/229/18 432/235/371 425/228/365 +f 426/229/18 434/236/372 433/237/373 +f 427/230/366 435/238/374 434/236/372 +f 428/232/368 436/239/375 435/238/374 +f 431/234/370 437/240/376 430/233/369 +f 432/235/371 438/241/377 431/234/370 +f 433/237/373 439/242/378 432/235/371 +f 433/237/373 441/243/379 440/244/380 +f 434/236/372 442/245/381 441/243/379 +f 435/238/374 443/246/382 442/245/381 +f 438/241/377 444/247/383 437/240/376 +f 439/242/378 445/248/384 438/241/377 +f 440/244/380 446/249/385 439/242/378 +f 440/244/380 448/250/386 447/251/387 +f 441/243/379 449/252/388 448/250/386 +f 442/245/381 450/253/389 449/252/388 +f 72/254/151 402/206/343 129/255/213 +f 114/256/150 403/209/346 402/206/343 +f 113/257/149 404/211/348 403/209/346 +f 112/258/148 405/214/351 404/211/348 +f 110/259/146 405/214/351 111/260/390 +f 109/261/145 406/213/350 110/259/146 +f 108/262/144 407/215/352 109/261/145 +f 68/263/82 408/217/354 108/262/144 +f 93/264/81 415/224/361 408/217/354 +f 92/265/80 422/231/367 415/224/361 +f 91/266/79 429/267/391 422/231/367 +f 429/267/391 89/268/77 436/239/375 +f 436/239/375 88/269/76 443/246/382 +f 443/246/382 87/270/75 450/253/389 +f 450/253/389 66/271/74 156/272/288 +f 449/252/388 156/272/288 155/273/287 +f 448/250/386 155/273/287 154/274/286 +f 447/251/387 154/274/286 153/275/392 +f 447/251/387 152/276/284 446/249/385 +f 446/249/385 151/277/283 445/248/384 +f 445/248/384 150/278/282 444/247/383 +f 444/247/383 70/279/220 135/280/219 +f 437/240/376 135/280/219 134/281/218 +f 430/233/369 134/281/218 133/282/217 +f 423/227/364 133/282/217 132/283/393 +f 131/284/215 423/227/364 132/283/393 +f 130/285/214 416/220/357 131/284/215 +f 129/255/213 409/208/345 130/285/214 +f 452/286/1 468/287/3 467/288/1 +f 454/289/3 469/288/5 468/290/3 +f 456/291/5 470/290/7 469/292/5 +f 458/293/7 471/292/9 470/294/7 +f 460/295/9 472/296/11 471/297/9 +f 462/298/11 473/297/13 472/299/11 +f 464/300/13 474/299/15 473/301/13 +f 466/302/15 467/301/1 474/287/15 +f 459/303/394 478/304/395 457/305/395 +f 451/306/17 468/287/17 453/307/17 +f 453/308/17 469/288/17 455/309/17 +f 455/310/17 470/290/17 457/311/17 +f 457/305/17 471/292/17 459/303/17 +f 459/312/17 472/296/17 461/313/17 +f 461/314/17 473/297/17 463/315/17 +f 463/316/17 474/299/17 465/317/17 +f 465/318/17 467/301/17 451/319/17 +f 478/320/17 480/321/17 482/322/17 +f 455/309/396 476/323/397 453/308/397 +f 463/316/398 482/324/399 481/325/398 +f 459/312/394 480/326/400 479/327/394 +f 455/310/396 478/328/395 477/329/396 +f 451/306/401 476/330/397 475/331/401 +f 451/319/401 482/332/399 465/318/399 +f 463/315/398 480/333/400 461/314/400 +f 498/334/17 493/335/17 492/336/17 +f 496/337/1 499/338/1 491/339/1 +f 502/340/9 494/341/9 500/342/9 +f 490/343/9 485/344/9 489/345/9 +f 487/346/1 484/347/1 488/348/1 +f 489/349/18 483/350/18 487/351/18 +f 501/352/5 489/353/5 487/354/5 +f 492/355/162 499/341/162 498/335/162 +f 501/336/292 494/338/292 493/334/292 +f 502/356/5 487/354/5 488/357/5 +f 499/358/5 490/359/5 489/353/5 +f 500/360/5 501/352/5 487/354/5 +f 498/361/5 499/358/5 489/353/5 +f 485/362/13 493/363/13 483/364/13 +f 496/365/13 485/362/13 486/366/13 +f 483/364/13 495/367/13 484/368/13 +f 491/369/13 492/370/13 485/362/13 +f 493/363/13 494/371/13 483/364/13 +f 511/372/402 510/373/403 503/374/404 +f 511/375/402 544/376/405 545/377/406 +f 503/378/404 546/379/407 544/380/405 +f 503/381/404 510/382/403 504/383/408 +f 504/384/408 510/385/403 505/386/409 +f 546/387/407 505/388/409 547/389/410 +f 505/390/409 510/391/403 506/392/411 +f 547/393/410 506/392/411 548/394/412 +f 506/395/411 510/396/403 507/397/413 +f 548/398/412 507/399/413 549/400/414 +f 507/401/413 510/402/403 508/403/415 +f 549/404/414 508/405/415 550/406/416 +f 508/407/415 510/408/403 509/409/417 +f 508/410/415 551/411/418 550/412/416 +f 509/413/417 510/414/403 511/415/402 +f 509/416/417 545/417/406 551/418/418 +f 512/419/1 528/420/419 514/421/419 +f 514/421/419 530/422/420 516/423/420 +f 530/422/420 518/424/421 516/423/420 +f 531/425/421 520/426/9 518/424/421 +f 520/343/9 533/427/422 522/428/422 +f 522/428/422 534/429/423 524/430/423 +f 517/431/424 536/432/425 538/433/424 +f 534/429/423 526/434/426 524/430/423 +f 535/435/426 512/419/1 526/434/426 +f 513/436/403 528/437/403 529/438/403 +f 515/439/403 530/422/403 528/420/403 +f 517/440/403 531/441/403 530/442/403 +f 521/443/403 531/425/403 519/444/403 +f 521/445/403 533/446/403 532/447/403 +f 525/448/403 533/427/403 523/449/403 +f 525/450/403 535/451/403 534/452/403 +f 513/453/403 535/435/403 527/454/403 +f 540/455/9 549/400/414 541/456/422 +f 525/457/427 543/458/428 527/459/428 +f 523/460/429 540/461/430 541/462/429 +f 519/463/431 538/464/424 539/465/431 +f 515/466/425 537/467/432 536/468/425 +f 527/459/428 537/469/432 513/470/432 +f 523/460/429 542/471/427 525/457/427 +f 519/463/431 540/472/430 521/473/430 +f 538/474/420 547/389/410 539/475/421 +f 537/476/1 544/376/405 536/477/419 +f 543/478/426 545/417/406 537/479/1 +f 541/480/422 550/406/416 542/481/423 +f 539/482/421 548/394/412 540/483/9 +f 538/484/420 544/380/405 546/379/407 +f 543/485/426 550/412/416 551/411/418 +f 560/372/433 559/373/434 552/374/435 +f 560/375/433 593/376/436 594/377/437 +f 593/380/436 553/486/438 595/379/439 +f 552/381/435 559/382/434 553/383/438 +f 553/384/438 559/385/434 554/386/440 +f 553/487/438 596/389/441 595/387/439 +f 554/390/440 559/391/434 555/392/442 +f 554/390/440 597/394/443 596/393/441 +f 555/395/442 559/396/434 556/397/444 +f 555/488/442 598/400/445 597/398/443 +f 556/401/444 559/402/434 557/403/446 +f 598/404/445 557/405/446 599/406/447 +f 557/407/446 559/408/434 558/409/448 +f 557/410/446 600/411/449 599/412/447 +f 558/413/448 559/414/434 560/415/433 +f 558/416/448 594/417/437 600/418/449 +f 578/489/450 563/421/451 561/419/450 +f 577/420/451 565/423/452 563/421/451 +f 579/422/452 567/424/453 565/423/452 +f 567/424/453 581/490/454 569/426/454 +f 569/343/454 582/427/455 571/428/455 +f 582/427/455 573/430/456 571/428/455 +f 564/466/457 587/433/458 566/431/458 +f 583/429/456 575/434/459 573/430/456 +f 584/435/459 561/419/450 575/434/459 +f 564/491/434 578/438/434 562/436/434 +f 566/492/434 577/420/434 564/439/434 +f 566/440/434 580/441/434 579/442/434 +f 570/443/434 580/425/434 568/444/434 +f 572/493/434 581/447/434 570/445/434 +f 574/448/434 582/427/434 572/449/434 +f 576/494/434 583/452/434 574/450/434 +f 562/453/434 584/435/434 576/454/434 +f 589/455/454 598/400/445 590/456/455 +f 576/459/460 591/495/461 592/458/460 +f 570/496/462 590/462/463 572/460/463 +f 568/463/464 587/464/458 588/465/464 +f 562/470/465 585/468/457 564/466/457 +f 562/470/465 592/497/460 586/469/465 +f 572/460/463 591/471/461 574/457/461 +f 570/473/462 588/498/464 589/472/462 +f 588/475/453 595/387/439 596/389/441 +f 586/476/450 593/376/436 585/477/451 +f 586/479/450 600/418/449 594/417/437 +f 591/481/456 598/404/445 599/406/447 +f 588/482/453 597/394/443 589/483/454 +f 585/499/451 595/379/439 587/484/452 +f 591/500/456 600/411/449 592/485/459 +f 609/372/466 608/373/467 601/374/468 +f 609/375/466 642/376/469 643/377/470 +f 601/378/468 644/379/471 642/380/469 +f 601/381/468 608/382/467 602/383/472 +f 602/384/472 608/385/467 603/386/473 +f 644/387/471 603/388/473 645/389/474 +f 603/390/473 608/391/467 604/392/475 +f 603/390/473 646/394/476 645/393/474 +f 604/395/475 608/396/467 605/397/477 +f 604/488/475 647/400/478 646/398/476 +f 605/401/477 608/402/467 606/403/479 +f 605/501/477 648/406/480 647/404/478 +f 606/407/479 608/408/467 607/409/481 +f 648/412/480 607/502/481 649/411/482 +f 607/413/481 608/414/467 609/415/466 +f 649/418/482 609/503/466 643/417/470 +f 627/489/483 612/421/484 610/419/483 +f 626/420/484 614/423/485 612/421/484 +f 628/422/485 616/424/486 614/423/485 +f 616/424/486 630/490/487 618/426/487 +f 618/343/487 631/427/488 620/428/488 +f 631/427/488 622/430/489 620/428/488 +f 615/431/490 634/432/491 636/433/490 +f 622/430/489 633/435/492 624/434/492 +f 633/435/492 610/419/483 624/434/492 +f 613/491/467 627/438/467 611/436/467 +f 615/492/467 626/420/467 613/439/467 +f 615/440/467 629/441/467 628/442/467 +f 619/443/467 629/425/467 617/444/467 +f 621/493/467 630/447/467 619/445/467 +f 623/448/467 631/427/467 621/449/467 +f 625/494/467 632/452/467 623/450/467 +f 625/454/467 627/489/467 633/435/467 +f 638/455/487 647/400/478 639/456/488 +f 623/457/493 641/458/494 625/459/494 +f 619/496/495 639/462/496 621/460/496 +f 617/463/497 636/464/490 637/465/497 +f 613/466/491 635/467/498 634/468/491 +f 625/459/494 635/469/498 611/470/498 +f 621/460/496 640/471/493 623/457/493 +f 619/473/495 637/498/497 638/472/495 +f 636/474/485 645/389/474 637/475/486 +f 634/477/484 643/377/470 642/376/469 +f 641/478/492 643/417/470 635/479/483 +f 639/480/488 648/406/480 640/481/489 +f 638/483/487 645/393/474 646/394/476 +f 634/499/484 644/379/471 636/484/485 +f 640/500/489 649/411/482 641/485/492 +f 658/372/499 657/373/500 650/374/501 +f 692/377/502 650/504/501 691/376/503 +f 650/378/501 693/379/504 691/380/503 +f 650/381/501 657/382/500 651/383/505 +f 651/384/505 657/385/500 652/386/506 +f 693/387/504 652/388/506 694/389/507 +f 652/390/506 657/391/500 653/392/508 +f 652/390/506 695/394/509 694/393/507 +f 653/395/508 657/396/500 654/397/510 +f 695/398/509 654/399/510 696/400/511 +f 654/401/510 657/402/500 655/403/512 +f 696/404/511 655/405/512 697/406/513 +f 655/407/512 657/408/500 656/409/514 +f 655/410/512 698/411/515 697/412/513 +f 656/413/514 657/414/500 658/415/499 +f 698/418/515 658/503/499 692/417/502 +f 659/419/516 675/420/517 661/421/517 +f 661/421/517 677/422/518 663/423/518 +f 677/422/518 665/424/519 663/423/518 +f 665/424/519 679/490/520 667/426/520 +f 679/505/520 669/428/521 667/343/520 +f 680/427/521 671/430/522 669/428/521 +f 664/431/450 683/432/523 685/433/450 +f 671/430/522 682/435/524 673/434/524 +f 682/435/524 659/419/516 673/434/524 +f 660/436/500 675/437/500 676/438/500 +f 662/439/500 677/422/500 675/420/500 +f 664/440/500 678/441/500 677/442/500 +f 666/444/500 679/490/500 678/425/500 +f 670/493/500 679/447/500 668/445/500 +f 672/448/500 680/427/500 670/449/500 +f 674/494/500 681/452/500 672/450/500 +f 660/453/500 682/435/500 674/454/500 +f 687/455/520 696/400/511 688/456/521 +f 672/457/18 690/458/525 674/459/525 +f 668/496/526 688/462/527 670/460/527 +f 664/431/450 686/465/528 666/463/528 +f 662/466/523 684/467/529 683/468/523 +f 674/459/525 684/469/529 660/470/529 +f 670/460/527 689/471/18 672/457/18 +f 668/473/526 686/498/528 687/472/526 +f 685/474/518 694/389/507 686/475/519 +f 684/476/516 691/376/503 683/477/517 +f 684/479/516 698/418/515 692/417/502 +f 689/481/522 696/404/511 697/406/513 +f 687/483/520 694/393/507 695/394/509 +f 683/499/517 693/379/504 685/484/518 +f 690/485/524 697/412/513 698/411/515 +f 707/372/530 706/373/392 699/374/531 +f 707/375/530 740/376/532 741/377/533 +f 699/378/531 742/379/534 740/380/532 +f 699/381/531 706/382/392 700/383/535 +f 700/384/535 706/385/392 701/386/536 +f 742/387/534 701/388/536 743/389/537 +f 701/390/536 706/391/392 702/392/538 +f 701/390/536 744/394/539 743/393/537 +f 702/395/538 706/396/392 703/397/540 +f 744/398/539 703/399/540 745/400/541 +f 703/401/540 706/402/392 704/403/542 +f 703/501/540 746/406/543 745/404/541 +f 704/407/542 706/408/392 705/409/544 +f 746/412/543 705/502/544 747/411/545 +f 705/413/544 706/414/392 707/415/530 +f 705/416/544 741/417/533 747/418/545 +f 725/489/5 710/421/546 708/419/5 +f 724/420/546 712/423/292 710/421/546 +f 712/423/292 727/425/547 714/424/547 +f 714/424/547 728/490/13 716/426/13 +f 716/343/13 729/427/548 718/428/548 +f 729/427/548 720/430/390 718/428/548 +f 711/466/549 734/433/9 713/431/9 +f 720/430/390 731/435/550 722/434/550 +f 722/434/550 725/489/5 708/419/5 +f 709/436/392 724/437/392 725/438/392 +f 713/492/392 724/420/392 711/439/392 +f 713/440/392 727/441/392 726/442/392 +f 717/443/392 727/425/392 715/444/392 +f 719/493/392 728/447/392 717/445/392 +f 719/449/392 730/429/392 729/427/392 +f 721/450/392 731/451/392 730/452/392 +f 709/453/392 731/435/392 723/454/392 +f 736/455/13 745/400/541 737/456/548 +f 723/459/551 738/495/18 739/458/551 +f 717/496/552 737/462/553 719/460/553 +f 715/463/554 734/464/9 735/465/554 +f 711/466/549 733/467/555 732/468/549 +f 723/459/551 733/469/555 709/470/555 +f 721/457/18 737/506/553 738/471/18 +f 715/463/554 736/472/552 717/473/552 +f 734/474/292 743/389/537 735/475/547 +f 732/477/546 741/377/533 740/376/532 +f 739/478/550 741/417/533 733/479/5 +f 738/481/390 745/404/541 746/406/543 +f 735/482/547 744/394/539 736/483/13 +f 734/484/292 740/380/532 742/379/534 +f 739/485/550 746/412/543 747/411/545 +f 756/372/556 755/373/557 748/374/558 +f 756/375/556 789/376/559 790/377/560 +f 789/380/559 749/486/561 791/379/562 +f 748/381/558 755/382/557 749/383/561 +f 749/384/561 755/385/557 750/386/563 +f 749/487/561 792/389/564 791/387/562 +f 750/390/563 755/391/557 751/392/565 +f 792/393/564 751/392/565 793/394/566 +f 751/395/565 755/396/557 752/397/567 +f 751/488/565 794/400/568 793/398/566 +f 752/401/567 755/402/557 753/403/569 +f 794/404/568 753/405/569 795/406/570 +f 753/407/569 755/408/557 754/409/571 +f 795/412/570 754/502/571 796/411/572 +f 754/413/571 755/414/557 756/415/556 +f 796/418/572 756/503/556 790/417/560 +f 774/489/573 759/421/574 757/419/573 +f 759/421/574 775/422/575 761/423/575 +f 761/423/575 776/425/576 763/424/576 +f 763/424/576 777/490/577 765/426/577 +f 765/343/577 778/427/578 767/428/578 +f 778/427/578 769/430/579 767/428/578 +f 762/431/483 781/432/580 783/433/483 +f 779/429/579 771/434/581 769/430/579 +f 771/434/581 774/489/573 757/419/573 +f 758/436/557 773/437/557 774/438/557 +f 762/492/557 773/420/557 760/439/557 +f 764/507/557 775/442/557 762/440/557 +f 764/444/557 777/490/557 776/425/557 +f 766/445/557 778/446/557 777/447/557 +f 768/449/557 779/429/557 778/427/557 +f 772/494/557 779/452/557 770/450/557 +f 772/454/557 774/489/557 780/435/557 +f 786/456/578 793/398/566 794/400/568 +f 772/459/582 787/495/18 788/458/582 +f 768/460/583 785/461/584 786/462/583 +f 762/431/483 784/465/585 764/463/585 +f 760/466/580 782/467/586 781/468/580 +f 772/459/582 782/469/586 758/470/586 +f 768/460/583 787/471/18 770/457/18 +f 766/473/584 784/498/585 785/472/584 +f 783/474/575 792/389/564 784/475/576 +f 782/476/573 789/376/559 781/477/574 +f 788/478/581 790/417/560 782/479/573 +f 786/480/578 795/406/570 787/481/579 +f 784/482/576 793/394/566 785/483/577 +f 781/499/574 791/379/562 783/484/575 +f 788/485/581 795/412/570 796/411/572 +f 805/372/587 804/373/522 797/374/588 +f 805/375/587 838/376/589 839/377/590 +f 838/380/589 798/486/591 840/379/592 +f 797/381/588 804/382/522 798/383/591 +f 798/384/591 804/385/522 799/386/593 +f 798/487/591 841/389/594 840/387/592 +f 799/390/593 804/391/522 800/392/595 +f 799/390/593 842/394/596 841/393/594 +f 800/395/595 804/396/522 801/397/597 +f 842/398/596 801/399/597 843/400/598 +f 801/401/597 804/402/522 802/403/599 +f 801/501/597 844/406/600 843/404/598 +f 802/407/599 804/408/522 803/409/601 +f 844/412/600 803/502/601 845/411/602 +f 803/413/601 804/414/522 805/415/587 +f 845/418/602 805/503/587 839/417/590 +f 823/489/520 808/421/603 806/419/520 +f 808/421/603 824/422/604 810/423/604 +f 810/423/604 825/425/605 812/424/605 +f 825/425/605 814/426/516 812/424/605 +f 814/343/516 827/427/529 816/428/529 +f 816/428/529 828/429/500 818/430/500 +f 811/431/454 830/432/606 832/433/454 +f 828/429/500 820/434/526 818/430/500 +f 820/434/526 823/489/520 806/419/520 +f 807/436/522 822/437/522 823/438/522 +f 809/439/522 824/422/522 822/420/522 +f 813/507/522 824/442/522 811/440/522 +f 813/444/522 826/490/522 825/425/522 +f 815/445/522 827/446/522 826/447/522 +f 817/449/522 828/429/522 827/427/522 +f 819/450/522 829/451/522 828/452/522 +f 821/454/522 823/489/522 829/435/522 +f 834/455/516 843/400/598 835/456/529 +f 821/459/607 836/495/18 837/458/607 +f 817/460/608 834/461/524 835/462/608 +f 811/431/454 833/465/609 813/463/609 +f 809/466/606 831/467/521 830/468/606 +f 821/459/607 831/469/521 807/470/521 +f 817/460/608 836/471/18 819/457/18 +f 813/463/609 834/472/524 815/473/524 +f 832/474/604 841/389/594 833/475/605 +f 831/476/520 838/376/589 830/477/603 +f 837/478/526 839/417/590 831/479/520 +f 835/480/529 844/406/600 836/481/500 +f 834/483/516 841/393/594 842/394/596 +f 830/499/603 840/379/592 832/484/604 +f 837/485/526 844/412/600 845/411/602 +f 854/372/610 853/373/390 846/374/611 +f 854/375/610 887/376/612 888/377/613 +f 846/378/611 889/379/614 887/380/612 +f 846/381/611 853/382/390 847/383/615 +f 847/384/615 853/385/390 848/386/616 +f 847/487/615 890/389/617 889/387/614 +f 848/390/616 853/391/390 849/392/618 +f 890/393/617 849/392/618 891/394/619 +f 849/395/618 853/396/390 850/397/620 +f 891/398/619 850/399/620 892/400/621 +f 850/401/620 853/402/390 851/403/622 +f 892/404/621 851/405/622 893/406/623 +f 851/407/622 853/408/390 852/409/624 +f 851/410/622 894/411/625 893/412/623 +f 852/413/624 853/414/390 854/415/610 +f 894/418/625 854/503/610 888/417/613 +f 872/489/13 857/421/626 855/419/13 +f 857/421/626 873/422/162 859/423/162 +f 859/423/162 874/425/627 861/424/627 +f 874/425/627 863/426/5 861/424/627 +f 863/343/5 876/427/555 865/428/555 +f 876/427/555 867/430/392 865/428/555 +f 860/431/1 879/432/628 881/433/1 +f 877/429/392 869/434/552 867/430/392 +f 869/434/552 872/489/13 855/419/13 +f 856/436/390 871/437/390 872/438/390 +f 858/439/390 873/422/390 871/420/390 +f 862/507/390 873/442/390 860/440/390 +f 862/444/390 875/490/390 874/425/390 +f 864/445/390 876/446/390 875/447/390 +f 868/448/390 876/427/390 866/449/390 +f 870/494/390 877/452/390 868/450/390 +f 856/453/390 878/435/390 870/454/390 +f 883/455/5 892/400/621 884/456/555 +f 870/459/629 885/495/18 886/458/629 +f 864/496/550 884/462/630 866/460/630 +f 860/431/1 882/465/631 862/463/631 +f 856/470/548 879/468/628 858/466/628 +f 870/459/629 880/469/548 856/470/548 +f 868/457/18 884/506/630 885/471/18 +f 862/463/631 883/472/550 864/473/550 +f 881/474/162 890/389/617 882/475/627 +f 880/476/13 887/376/612 879/477/626 +f 886/478/552 888/417/613 880/479/13 +f 884/480/555 893/406/623 885/481/392 +f 882/482/627 891/394/619 883/483/5 +f 879/499/626 889/379/614 881/484/162 +f 886/485/552 893/412/623 894/411/625 +f 903/372/632 902/373/579 895/374/633 +f 903/375/632 936/376/634 937/377/635 +f 895/378/633 938/379/636 936/380/634 +f 895/381/633 902/382/579 896/383/637 +f 896/384/637 902/385/579 897/386/638 +f 896/487/637 939/389/639 938/387/636 +f 897/390/638 902/391/579 898/392/640 +f 939/393/639 898/392/640 940/394/641 +f 898/395/640 902/396/579 899/397/642 +f 940/398/641 899/399/642 941/400/643 +f 899/401/642 902/402/579 900/403/644 +f 941/404/643 900/405/644 942/406/645 +f 900/407/644 902/408/579 901/409/646 +f 900/410/644 943/411/647 942/412/645 +f 901/413/646 902/414/579 903/415/632 +f 943/418/647 903/503/632 937/417/635 +f 921/489/577 906/421/648 904/419/577 +f 906/421/648 922/422/649 908/423/649 +f 908/423/649 923/425/650 910/424/650 +f 923/425/650 912/426/573 910/424/650 +f 912/343/573 925/427/586 914/428/586 +f 925/427/586 916/430/557 914/428/586 +f 909/431/487 928/432/651 930/433/487 +f 926/429/557 918/434/584 916/430/557 +f 918/434/584 921/489/577 904/419/577 +f 907/491/579 921/438/579 905/436/579 +f 909/492/579 920/420/579 907/439/579 +f 911/507/579 922/442/579 909/440/579 +f 911/444/579 924/490/579 923/425/579 +f 913/445/579 925/446/579 924/447/579 +f 915/449/579 926/429/579 925/427/579 +f 919/494/579 926/452/579 917/450/579 +f 919/454/579 921/489/579 927/435/579 +f 933/456/586 940/398/641 941/400/643 +f 919/459/652 934/495/18 935/458/652 +f 913/496/581 933/462/653 915/460/653 +f 909/431/487 931/465/654 911/463/654 +f 905/470/578 928/468/651 907/466/651 +f 905/470/578 935/497/652 929/469/578 +f 915/460/653 934/471/18 917/457/18 +f 911/463/654 932/472/581 913/473/581 +f 930/474/649 939/389/639 931/475/650 +f 929/476/577 936/376/634 928/477/648 +f 929/479/577 943/418/647 937/417/635 +f 933/480/586 942/406/645 934/481/557 +f 931/482/650 940/394/641 932/483/573 +f 930/484/649 936/380/634 938/379/636 +f 935/485/584 942/412/645 943/411/647 +f 952/372/655 951/373/424 944/374/656 +f 986/377/657 944/504/656 985/376/658 +f 944/378/656 987/379/659 985/380/658 +f 944/381/656 951/382/424 945/383/660 +f 945/384/660 951/385/424 946/386/661 +f 945/487/660 988/389/662 987/387/659 +f 946/390/661 951/391/424 947/392/663 +f 988/393/662 947/392/663 989/394/664 +f 947/395/663 951/396/424 948/397/665 +f 947/488/663 990/400/666 989/398/664 +f 948/401/665 951/402/424 949/403/667 +f 990/404/666 949/405/667 991/406/668 +f 949/407/667 951/408/424 950/409/669 +f 949/410/667 992/411/670 991/412/668 +f 950/413/669 951/414/424 952/415/655 +f 992/418/670 952/503/655 986/417/657 +f 970/489/1 955/421/671 953/419/1 +f 969/420/671 957/423/672 955/421/671 +f 957/423/672 972/425/673 959/424/673 +f 959/424/673 973/490/9 961/426/9 +f 961/343/9 974/427/674 963/428/674 +f 963/428/674 975/429/427 965/430/427 +f 958/431/420 977/432/675 979/433/420 +f 975/429/427 967/434/676 965/430/427 +f 976/435/676 953/419/1 967/434/676 +f 956/491/424 970/438/424 954/436/424 +f 958/492/424 969/420/424 956/439/424 +f 958/440/424 972/441/424 971/442/424 +f 962/443/424 972/425/424 960/444/424 +f 962/445/424 974/446/424 973/447/424 +f 964/449/424 975/429/424 974/427/424 +f 968/494/424 975/452/424 966/450/424 +f 954/453/424 976/435/424 968/454/424 +f 982/456/674 989/398/664 990/400/666 +f 966/457/403 984/458/677 968/459/677 +f 962/496/678 982/462/679 964/460/679 +f 960/463/680 979/464/420 980/465/680 +f 954/470/681 977/468/675 956/466/675 +f 954/470/681 984/497/677 978/469/681 +f 964/460/679 983/471/403 966/457/403 +f 960/463/680 981/472/678 962/473/678 +f 980/475/673 987/387/659 988/389/662 +f 977/477/671 986/377/657 985/376/658 +f 984/478/676 986/417/657 978/479/1 +f 983/481/427 990/404/666 991/406/668 +f 980/482/673 989/394/664 981/483/9 +f 977/499/671 987/379/659 979/484/672 +f 983/500/427 992/411/670 984/485/676 +f 1001/372/682 1000/373/489 993/374/683 +f 1035/377/684 993/504/683 1034/376/685 +f 993/378/683 1036/379/686 1034/380/685 +f 993/381/683 1000/382/489 994/383/687 +f 994/384/687 1000/385/489 995/386/688 +f 994/487/687 1037/389/689 1036/387/686 +f 995/390/688 1000/391/489 996/392/690 +f 995/390/688 1038/394/691 1037/393/689 +f 996/395/690 1000/396/489 997/397/692 +f 1038/398/691 997/399/692 1039/400/693 +f 997/401/692 1000/402/489 998/403/694 +f 997/501/692 1040/406/695 1039/404/693 +f 998/407/694 1000/408/489 999/409/696 +f 998/410/694 1041/411/697 1040/412/695 +f 999/413/696 1000/414/489 1001/415/682 +f 999/416/696 1035/417/684 1041/418/697 +f 1019/489/487 1004/421/698 1002/419/487 +f 1004/421/698 1020/422/699 1006/423/699 +f 1006/423/699 1021/425/700 1008/424/700 +f 1008/424/700 1022/490/483 1010/426/483 +f 1010/343/483 1023/427/498 1012/428/498 +f 1012/428/498 1024/429/467 1014/430/467 +f 1005/466/701 1028/433/702 1007/431/702 +f 1024/429/467 1016/434/495 1014/430/467 +f 1016/434/495 1019/489/487 1002/419/487 +f 1005/491/489 1019/438/489 1003/436/489 +f 1005/439/489 1020/422/489 1018/420/489 +f 1007/440/489 1021/441/489 1020/442/489 +f 1009/444/489 1022/490/489 1021/425/489 +f 1011/445/489 1023/446/489 1022/447/489 +f 1013/449/489 1024/429/489 1023/427/489 +f 1017/494/489 1024/452/489 1015/450/489 +f 1003/453/489 1025/435/489 1017/454/489 +f 1030/455/483 1039/400/693 1031/456/498 +f 1015/457/493 1033/458/703 1017/459/703 +f 1011/496/492 1031/462/704 1013/460/704 +f 1009/463/705 1028/464/702 1029/465/705 +f 1003/470/488 1026/468/701 1005/466/701 +f 1017/459/703 1027/469/488 1003/470/488 +f 1015/457/493 1031/506/704 1032/471/493 +f 1009/463/705 1030/472/492 1011/473/492 +f 1029/475/700 1036/387/686 1037/389/689 +f 1026/477/698 1035/377/684 1034/376/685 +f 1033/478/495 1035/417/684 1027/479/487 +f 1031/480/498 1040/406/695 1032/481/467 +f 1029/482/700 1038/394/691 1030/483/483 +f 1026/499/698 1036/379/686 1028/484/699 +f 1032/500/467 1041/411/697 1033/485/495 +f 1050/372/706 1049/373/458 1042/374/707 +f 1050/375/706 1083/376/708 1084/377/709 +f 1083/380/708 1043/486/710 1085/379/711 +f 1042/381/707 1049/382/458 1043/383/710 +f 1043/384/710 1049/385/458 1044/386/712 +f 1043/487/710 1086/389/713 1085/387/711 +f 1044/390/712 1049/391/458 1045/392/714 +f 1086/393/713 1045/392/714 1087/394/715 +f 1045/395/714 1049/396/458 1046/397/716 +f 1087/398/715 1046/399/716 1088/400/717 +f 1046/401/716 1049/402/458 1047/403/718 +f 1088/404/717 1047/405/718 1089/406/719 +f 1047/407/718 1049/408/458 1048/409/720 +f 1089/412/719 1048/502/720 1090/411/721 +f 1048/413/720 1049/414/458 1050/415/706 +f 1048/416/720 1084/417/709 1090/418/721 +f 1068/489/450 1053/421/722 1051/419/450 +f 1053/421/722 1069/422/723 1055/423/723 +f 1069/422/723 1057/424/724 1055/423/723 +f 1057/424/724 1071/490/454 1059/426/454 +f 1059/343/454 1072/427/725 1061/428/725 +f 1072/427/725 1063/430/461 1061/428/725 +f 1054/466/726 1077/433/452 1056/431/452 +f 1073/429/461 1065/434/727 1063/430/461 +f 1074/435/727 1051/419/450 1065/434/727 +f 1052/436/458 1067/437/458 1068/438/458 +f 1056/492/458 1067/420/458 1054/439/458 +f 1058/507/458 1069/442/458 1056/440/458 +f 1060/443/458 1070/425/458 1058/444/458 +f 1060/445/458 1072/446/458 1071/447/458 +f 1064/448/458 1072/427/458 1062/449/458 +f 1064/450/458 1074/451/458 1073/452/458 +f 1052/453/458 1074/435/458 1066/454/458 +f 1080/456/725 1087/398/715 1088/400/717 +f 1066/459/728 1081/495/434 1082/458/728 +f 1062/460/729 1079/461/730 1080/462/729 +f 1058/463/731 1077/464/452 1078/465/731 +f 1054/466/726 1076/467/732 1075/468/726 +f 1052/470/732 1082/497/728 1076/469/732 +f 1062/460/729 1081/471/434 1064/457/434 +f 1060/473/730 1078/498/731 1079/472/730 +f 1077/474/723 1086/389/713 1078/475/724 +f 1076/476/450 1083/376/708 1075/477/722 +f 1082/478/727 1084/417/709 1076/479/450 +f 1081/481/461 1088/404/717 1089/406/719 +f 1079/483/454 1086/393/713 1087/394/715 +f 1075/499/722 1085/379/711 1077/484/723 +f 1081/500/461 1090/411/721 1082/485/727 +f 1099/372/733 1098/373/423 1091/374/734 +f 1099/375/733 1132/376/735 1133/377/736 +f 1091/378/734 1134/379/737 1132/380/735 +f 1091/381/734 1098/382/423 1092/383/738 +f 1092/384/738 1098/385/423 1093/386/739 +f 1092/487/738 1135/389/740 1134/387/737 +f 1093/390/739 1098/391/423 1094/392/741 +f 1093/390/739 1136/394/742 1135/393/740 +f 1094/395/741 1098/396/423 1095/397/743 +f 1136/398/742 1095/399/743 1137/400/744 +f 1095/401/743 1098/402/423 1096/403/745 +f 1137/404/744 1096/405/745 1138/406/746 +f 1096/407/745 1098/408/423 1097/409/747 +f 1138/412/746 1097/502/747 1139/411/748 +f 1097/413/747 1098/414/423 1099/415/733 +f 1139/418/748 1099/503/733 1133/417/736 +f 1117/489/9 1102/421/749 1100/419/9 +f 1102/421/749 1118/422/750 1104/423/750 +f 1118/422/750 1106/424/751 1104/423/750 +f 1106/424/751 1120/490/1 1108/426/1 +f 1108/343/1 1121/427/432 1110/428/432 +f 1110/428/432 1122/429/403 1112/430/403 +f 1103/466/752 1126/433/753 1105/431/753 +f 1112/430/403 1123/435/430 1114/434/430 +f 1123/435/430 1100/419/9 1114/434/430 +f 1101/436/423 1116/437/423 1117/438/423 +f 1103/439/423 1118/422/423 1116/420/423 +f 1107/507/423 1118/442/423 1105/440/423 +f 1109/443/423 1119/425/423 1107/444/423 +f 1111/493/423 1120/447/423 1109/445/423 +f 1111/449/423 1122/429/423 1121/427/423 +f 1113/450/423 1123/451/423 1122/452/423 +f 1115/454/423 1117/489/423 1123/435/423 +f 1129/456/432 1136/398/742 1137/400/744 +f 1113/457/427 1131/458/754 1115/459/754 +f 1109/496/426 1129/462/755 1111/460/755 +f 1105/431/753 1127/465/756 1107/463/756 +f 1103/466/752 1125/467/422 1124/468/752 +f 1115/459/754 1125/469/422 1101/470/422 +f 1113/457/427 1129/506/755 1130/471/427 +f 1109/473/426 1127/498/756 1128/472/426 +f 1126/474/750 1135/389/740 1127/475/751 +f 1124/477/749 1133/377/736 1132/376/735 +f 1131/478/430 1133/417/736 1125/479/9 +f 1130/481/403 1137/404/744 1138/406/746 +f 1127/482/751 1136/394/742 1128/483/1 +f 1126/484/750 1132/380/735 1134/379/737 +f 1131/485/430 1138/412/746 1139/411/748 +f 1148/372/757 1147/373/490 1140/374/758 +f 1148/375/757 1181/376/759 1182/377/760 +f 1140/378/758 1183/379/761 1181/380/759 +f 1140/381/758 1147/382/490 1141/383/762 +f 1141/384/762 1147/385/490 1142/386/763 +f 1141/487/762 1184/389/764 1183/387/761 +f 1142/390/763 1147/391/490 1143/392/765 +f 1142/390/763 1185/394/766 1184/393/764 +f 1143/395/765 1147/396/490 1144/397/767 +f 1185/398/766 1144/399/767 1186/400/768 +f 1144/401/767 1147/402/490 1145/403/769 +f 1186/404/768 1145/405/769 1187/406/770 +f 1145/407/769 1147/408/490 1146/409/771 +f 1187/412/770 1146/502/771 1188/411/772 +f 1146/413/771 1147/414/490 1148/415/757 +f 1146/416/771 1182/417/760 1188/418/772 +f 1166/489/483 1151/421/773 1149/419/483 +f 1151/421/773 1167/422/774 1153/423/774 +f 1167/422/774 1155/424/775 1153/423/774 +f 1155/424/775 1169/490/487 1157/426/487 +f 1157/343/487 1170/427/776 1159/428/776 +f 1170/427/776 1161/430/493 1159/428/776 +f 1152/466/777 1175/433/485 1154/431/485 +f 1171/429/493 1163/434/778 1161/430/493 +f 1163/434/778 1166/489/483 1149/419/483 +f 1150/436/490 1165/437/490 1166/438/490 +f 1152/439/490 1167/422/490 1165/420/490 +f 1154/440/490 1168/441/490 1167/442/490 +f 1156/444/490 1169/490/490 1168/425/490 +f 1158/445/490 1170/446/490 1169/447/490 +f 1160/449/490 1171/429/490 1170/427/490 +f 1162/450/490 1172/451/490 1171/452/490 +f 1164/454/490 1166/489/490 1172/435/490 +f 1177/455/487 1186/400/768 1178/456/776 +f 1162/457/467 1180/458/779 1164/459/779 +f 1158/496/780 1178/462/781 1160/460/781 +f 1156/463/782 1175/464/485 1176/465/782 +f 1150/470/783 1173/468/777 1152/466/777 +f 1150/470/783 1180/497/779 1174/469/783 +f 1162/457/467 1178/506/781 1179/471/467 +f 1158/473/780 1176/498/782 1177/472/780 +f 1175/474/774 1184/389/764 1176/475/775 +f 1173/477/773 1182/377/760 1181/376/759 +f 1180/478/778 1182/417/760 1174/479/483 +f 1178/480/776 1187/406/770 1179/481/493 +f 1177/483/487 1184/393/764 1185/394/766 +f 1173/499/773 1183/379/761 1175/484/774 +f 1179/500/493 1188/411/772 1180/485/778 +f 1197/372/784 1196/373/456 1189/374/785 +f 1197/375/784 1230/376/786 1231/377/787 +f 1189/378/785 1232/379/788 1230/380/786 +f 1189/381/785 1196/382/456 1190/383/789 +f 1190/384/789 1196/385/456 1191/386/790 +f 1232/387/788 1191/388/790 1233/389/791 +f 1191/390/790 1196/391/456 1192/392/792 +f 1191/390/790 1234/394/793 1233/393/791 +f 1192/395/792 1196/396/456 1193/397/794 +f 1234/398/793 1193/399/794 1235/400/795 +f 1193/401/794 1196/402/456 1194/403/796 +f 1235/404/795 1194/405/796 1236/406/797 +f 1194/407/796 1196/408/456 1195/409/798 +f 1236/412/797 1195/502/798 1237/411/799 +f 1195/413/798 1196/414/456 1197/415/784 +f 1237/418/799 1197/503/784 1231/417/787 +f 1215/489/454 1200/421/800 1198/419/454 +f 1200/421/800 1216/422/801 1202/423/801 +f 1216/422/801 1204/424/802 1202/423/801 +f 1204/424/802 1218/490/450 1206/426/450 +f 1206/343/450 1219/427/465 1208/428/465 +f 1219/427/465 1210/430/434 1208/428/465 +f 1201/466/803 1224/433/804 1203/431/804 +f 1220/429/434 1212/434/462 1210/430/434 +f 1221/435/462 1198/419/454 1212/434/462 +f 1199/436/456 1214/437/456 1215/438/456 +f 1201/439/456 1216/422/456 1214/420/456 +f 1203/440/456 1217/441/456 1216/442/456 +f 1205/444/456 1218/490/456 1217/425/456 +f 1207/445/456 1219/446/456 1218/447/456 +f 1209/449/456 1220/429/456 1219/427/456 +f 1213/494/456 1220/452/456 1211/450/456 +f 1213/454/456 1215/489/456 1221/435/456 +f 1226/455/450 1235/400/795 1227/456/465 +f 1211/457/461 1229/458/805 1213/459/805 +f 1207/496/459 1227/462/806 1209/460/806 +f 1205/463/807 1224/464/804 1225/465/807 +f 1199/470/455 1222/468/803 1201/466/803 +f 1199/470/455 1229/497/805 1223/469/455 +f 1211/457/461 1227/506/806 1228/471/461 +f 1207/473/459 1225/498/807 1226/472/459 +f 1224/474/801 1233/389/791 1225/475/802 +f 1222/477/800 1231/377/787 1230/376/786 +f 1223/479/454 1237/418/799 1231/417/787 +f 1227/480/465 1236/406/797 1228/481/434 +f 1226/483/450 1233/393/791 1234/394/793 +f 1222/499/800 1232/379/788 1224/484/801 +f 1229/485/462 1236/412/797 1237/411/799 +f 1246/372/808 1238/374/809 1245/373/750 +f 1279/376/810 1246/375/808 1280/377/811 +f 1281/379/812 1238/378/809 1279/380/810 +f 1238/381/809 1239/383/813 1245/382/750 +f 1239/384/813 1240/386/814 1245/385/750 +f 1281/387/812 1240/388/814 1239/487/813 +f 1240/390/814 1241/392/815 1245/391/750 +f 1282/393/816 1241/392/815 1240/390/814 +f 1241/395/815 1242/397/817 1245/396/750 +f 1284/400/818 1241/488/815 1283/398/819 +f 1242/401/817 1243/403/820 1245/402/750 +f 1284/404/818 1243/405/820 1242/501/817 +f 1243/407/820 1244/409/821 1245/408/750 +f 1286/411/822 1243/410/820 1285/412/823 +f 1244/413/821 1246/415/808 1245/414/750 +f 1286/418/822 1246/503/808 1244/416/821 +f 1247/419/9 1263/420/422 1264/489/9 +f 1249/421/422 1265/422/423 1263/420/422 +f 1253/424/426 1265/422/423 1251/423/423 +f 1255/426/1 1266/425/426 1253/424/426 +f 1255/343/1 1268/427/419 1267/505/1 +f 1259/430/420 1268/427/419 1257/428/419 +f 1273/433/753 1250/466/824 1252/431/753 +f 1261/434/421 1269/429/420 1259/430/420 +f 1247/419/9 1270/435/421 1261/434/421 +f 1248/436/750 1263/437/750 1250/491/750 +f 1263/420/750 1252/492/750 1250/439/750 +f 1265/442/750 1254/507/750 1252/440/750 +f 1266/425/750 1256/443/750 1254/444/750 +f 1256/445/750 1268/446/750 1258/493/750 +f 1268/427/750 1260/448/750 1258/449/750 +f 1260/450/750 1270/451/750 1262/494/750 +f 1270/435/750 1248/453/750 1262/454/750 +f 1284/400/818 1275/455/1 1276/456/419 +f 1262/459/825 1277/495/672 1260/457/672 +f 1258/460/826 1275/461/751 1256/496/751 +f 1274/465/827 1252/431/753 1254/463/827 +f 1250/466/824 1272/467/749 1248/470/749 +f 1272/469/749 1262/459/825 1248/470/749 +f 1277/471/672 1258/460/826 1260/457/672 +f 1275/472/751 1254/463/827 1256/473/751 +f 1282/389/816 1273/474/423 1274/475/426 +f 1279/376/810 1272/476/9 1271/477/422 +f 1272/479/9 1286/418/822 1278/478/421 +f 1285/406/823 1276/480/419 1277/481/420 +f 1283/394/819 1274/482/426 1275/483/1 +f 1273/484/423 1279/380/810 1271/499/422 +f 1278/485/421 1285/412/823 1277/500/420 +f 1295/372/828 1287/374/829 1294/373/801 +f 1328/376/830 1295/375/828 1329/377/831 +f 1328/380/830 1288/486/832 1287/378/829 +f 1287/381/829 1288/383/832 1294/382/801 +f 1288/384/832 1289/386/833 1294/385/801 +f 1331/389/834 1288/487/832 1330/387/835 +f 1289/390/833 1290/392/836 1294/391/801 +f 1332/394/837 1289/390/833 1331/393/834 +f 1290/395/836 1291/397/838 1294/396/801 +f 1333/400/839 1290/488/836 1332/398/837 +f 1291/401/838 1292/403/840 1294/402/801 +f 1334/406/841 1291/501/838 1333/404/839 +f 1292/407/840 1293/409/842 1294/408/801 +f 1334/412/841 1293/502/842 1292/410/840 +f 1293/413/842 1295/415/828 1294/414/801 +f 1329/417/831 1293/416/842 1335/418/843 +f 1298/421/455 1313/489/454 1296/419/454 +f 1300/423/456 1312/420/455 1298/421/455 +f 1302/424/459 1314/422/456 1300/423/456 +f 1304/426/450 1315/425/459 1302/424/459 +f 1306/428/451 1316/505/450 1304/343/450 +f 1308/430/452 1317/427/451 1306/428/451 +f 1322/433/804 1299/466/844 1301/431/804 +f 1310/434/453 1318/429/452 1308/430/452 +f 1296/419/454 1319/435/453 1310/434/453 +f 1313/438/801 1299/491/801 1297/436/801 +f 1312/420/801 1301/492/801 1299/439/801 +f 1301/440/801 1315/441/801 1303/507/801 +f 1315/425/801 1305/443/801 1303/444/801 +f 1316/447/801 1307/493/801 1305/445/801 +f 1317/427/801 1309/448/801 1307/449/801 +f 1309/450/801 1319/451/801 1311/494/801 +f 1319/435/801 1297/453/801 1311/454/801 +f 1333/400/839 1324/455/450 1325/456/451 +f 1311/459/845 1326/495/723 1309/457/723 +f 1325/462/846 1305/496/802 1307/460/846 +f 1303/463/847 1322/464/804 1301/431/804 +f 1320/468/844 1297/470/800 1299/466/844 +f 1321/469/800 1311/459/845 1297/470/800 +f 1326/471/723 1307/460/846 1309/457/723 +f 1305/473/802 1323/498/847 1303/463/847 +f 1323/475/459 1330/387/835 1322/474/456 +f 1328/376/830 1321/476/454 1320/477/455 +f 1321/479/454 1335/418/843 1327/478/453 +f 1326/481/452 1333/404/839 1325/480/451 +f 1324/483/450 1331/393/834 1323/482/459 +f 1330/379/835 1320/499/455 1322/484/456 +f 1335/411/843 1326/500/452 1327/485/453 +f 1344/372/848 1336/374/849 1343/373/699 +f 1377/376/850 1344/375/848 1378/377/851 +f 1379/379/852 1336/378/849 1377/380/850 +f 1336/381/849 1337/383/853 1343/382/699 +f 1337/384/853 1338/386/854 1343/385/699 +f 1379/387/852 1338/388/854 1337/487/853 +f 1338/390/854 1339/392/855 1343/391/699 +f 1380/393/856 1339/392/855 1338/390/854 +f 1339/395/855 1340/397/857 1343/396/699 +f 1382/400/858 1339/488/855 1381/398/859 +f 1340/401/857 1341/403/860 1343/402/699 +f 1383/406/861 1340/501/857 1382/404/858 +f 1341/407/860 1342/409/862 1343/408/699 +f 1384/411/863 1341/410/860 1383/412/861 +f 1342/413/862 1344/415/848 1343/414/699 +f 1384/418/863 1344/503/848 1342/416/862 +f 1347/421/488 1362/489/487 1345/419/487 +f 1349/423/489 1361/420/488 1347/421/488 +f 1351/424/492 1363/422/489 1349/423/489 +f 1351/424/492 1365/490/483 1364/425/492 +f 1353/343/483 1366/427/484 1365/505/483 +f 1357/430/485 1366/427/484 1355/428/484 +f 1350/431/702 1369/432/864 1348/466/864 +f 1357/430/485 1368/435/486 1367/429/485 +f 1345/419/487 1368/435/486 1359/434/486 +f 1362/438/699 1348/491/699 1346/436/699 +f 1361/420/699 1350/492/699 1348/439/699 +f 1363/442/699 1352/507/699 1350/440/699 +f 1364/425/699 1354/443/699 1352/444/699 +f 1365/447/699 1356/493/699 1354/445/699 +f 1366/427/699 1358/448/699 1356/449/699 +f 1367/452/699 1360/494/699 1358/450/699 +f 1360/454/699 1362/489/699 1346/453/699 +f 1382/400/858 1373/455/483 1374/456/484 +f 1376/458/865 1358/457/774 1360/459/865 +f 1374/462/866 1354/496/700 1356/460/866 +f 1352/463/867 1371/464/702 1350/431/702 +f 1348/466/864 1370/467/698 1346/470/698 +f 1370/469/698 1360/459/865 1346/470/698 +f 1375/471/774 1356/460/866 1358/457/774 +f 1354/473/700 1372/498/867 1352/463/867 +f 1380/389/856 1371/474/489 1372/475/492 +f 1369/477/488 1378/377/851 1370/476/487 +f 1378/417/851 1376/478/486 1370/479/487 +f 1383/406/861 1374/480/484 1375/481/485 +f 1373/483/483 1380/393/856 1372/482/492 +f 1379/379/852 1369/499/488 1371/484/489 +f 1384/411/863 1375/500/485 1376/485/486 +f 1393/372/868 1385/374/869 1392/373/604 +f 1427/377/870 1385/504/869 1393/375/868 +f 1428/379/871 1385/378/869 1426/380/872 +f 1385/381/869 1386/383/873 1392/382/604 +f 1386/384/873 1387/386/874 1392/385/604 +f 1428/387/871 1387/388/874 1386/487/873 +f 1387/390/874 1388/392/875 1392/391/604 +f 1430/394/876 1387/390/874 1429/393/877 +f 1388/395/875 1389/397/878 1392/396/604 +f 1431/400/879 1388/488/875 1430/398/876 +f 1389/401/878 1390/403/880 1392/402/604 +f 1431/404/879 1390/405/880 1389/501/878 +f 1390/407/880 1391/409/881 1392/408/604 +f 1433/411/882 1390/410/880 1432/412/883 +f 1391/413/881 1393/415/868 1392/414/604 +f 1433/418/882 1393/503/868 1391/416/881 +f 1394/419/520 1410/420/521 1411/489/520 +f 1396/421/521 1412/422/522 1410/420/521 +f 1400/424/524 1412/422/522 1398/423/522 +f 1400/424/524 1414/490/516 1413/425/524 +f 1404/428/517 1414/505/516 1402/343/516 +f 1406/430/518 1415/427/517 1404/428/517 +f 1420/433/454 1397/466/884 1399/431/454 +f 1406/430/518 1417/435/519 1416/429/518 +f 1394/419/520 1417/435/519 1408/434/519 +f 1395/436/604 1410/437/604 1397/491/604 +f 1410/420/604 1399/492/604 1397/439/604 +f 1399/440/604 1413/441/604 1401/507/604 +f 1413/425/604 1403/443/604 1401/444/604 +f 1414/447/604 1405/493/604 1403/445/604 +f 1415/427/604 1407/448/604 1405/449/604 +f 1416/452/604 1409/494/604 1407/450/604 +f 1417/435/604 1395/453/604 1409/454/604 +f 1431/400/879 1422/455/516 1423/456/517 +f 1425/458/885 1407/457/17 1409/459/885 +f 1423/462/886 1403/496/605 1405/460/886 +f 1421/465/887 1399/431/454 1401/463/887 +f 1397/466/884 1419/467/603 1395/470/603 +f 1419/469/603 1409/459/885 1395/470/603 +f 1424/471/17 1405/460/886 1407/457/17 +f 1403/473/605 1421/498/887 1401/463/887 +f 1429/389/877 1420/474/522 1421/475/524 +f 1426/376/872 1419/476/520 1418/477/521 +f 1419/479/520 1433/418/882 1425/478/519 +f 1432/406/883 1423/480/517 1424/481/518 +f 1422/483/516 1429/393/877 1421/482/524 +f 1420/484/522 1426/380/872 1418/499/521 +f 1433/411/882 1424/500/518 1425/485/519 +f 1442/372/888 1434/374/889 1441/373/162 +f 1475/376/890 1442/375/888 1476/377/891 +f 1477/379/892 1434/378/889 1475/380/890 +f 1434/381/889 1435/383/893 1441/382/162 +f 1435/384/893 1436/386/894 1441/385/162 +f 1477/387/892 1436/388/894 1435/487/893 +f 1436/390/894 1437/392/895 1441/391/162 +f 1479/394/896 1436/390/894 1478/393/897 +f 1437/395/895 1438/397/898 1441/396/162 +f 1479/398/896 1438/399/898 1437/488/895 +f 1438/401/898 1439/403/899 1441/402/162 +f 1481/406/900 1438/501/898 1480/404/901 +f 1439/407/899 1440/409/902 1441/408/162 +f 1481/412/900 1440/502/902 1439/410/899 +f 1440/413/902 1442/415/888 1441/414/162 +f 1476/417/891 1440/416/902 1482/418/903 +f 1445/421/548 1460/489/13 1443/419/13 +f 1447/423/390 1459/420/548 1445/421/548 +f 1447/423/390 1462/425/550 1461/422/390 +f 1449/424/550 1463/490/5 1462/425/550 +f 1451/343/5 1464/427/546 1463/505/5 +f 1455/430/292 1464/427/546 1453/428/546 +f 1469/433/1 1446/466/904 1448/431/1 +f 1455/430/292 1466/435/547 1465/429/292 +f 1457/434/547 1460/489/13 1466/435/547 +f 1444/436/162 1459/437/162 1446/491/162 +f 1459/420/162 1448/492/162 1446/439/162 +f 1448/440/162 1462/441/162 1450/507/162 +f 1462/425/162 1452/443/162 1450/444/162 +f 1463/447/162 1454/493/162 1452/445/162 +f 1454/449/162 1465/429/162 1456/448/162 +f 1456/450/162 1466/451/162 1458/494/162 +f 1466/435/162 1444/453/162 1458/454/162 +f 1480/400/901 1471/455/5 1472/456/546 +f 1458/459/905 1473/495/17 1456/457/17 +f 1472/462/906 1452/496/627 1454/460/906 +f 1450/463/907 1469/464/1 1448/431/1 +f 1446/466/904 1468/467/626 1444/470/626 +f 1468/469/626 1458/459/905 1444/470/626 +f 1456/457/17 1472/506/906 1454/460/906 +f 1471/472/627 1450/463/907 1452/473/627 +f 1478/389/897 1469/474/390 1470/475/550 +f 1475/376/890 1468/476/13 1467/477/548 +f 1476/417/891 1474/478/547 1468/479/13 +f 1481/406/900 1472/480/546 1473/481/292 +f 1471/483/5 1478/393/897 1470/482/550 +f 1477/379/892 1467/499/548 1469/484/390 +f 1482/411/903 1473/500/292 1474/485/547 +f 1491/372/908 1483/374/909 1490/373/649 +f 1524/376/910 1491/375/908 1525/377/911 +f 1526/379/912 1483/378/909 1524/380/910 +f 1483/381/909 1484/383/913 1490/382/649 +f 1484/384/913 1485/386/914 1490/385/649 +f 1527/389/915 1484/487/913 1526/387/912 +f 1485/390/914 1486/392/916 1490/391/649 +f 1527/393/915 1486/392/916 1485/390/914 +f 1486/395/916 1487/397/917 1490/396/649 +f 1529/400/918 1486/488/916 1528/398/919 +f 1487/401/917 1488/403/920 1490/402/649 +f 1529/404/918 1488/405/920 1487/501/917 +f 1488/407/920 1489/409/921 1490/408/649 +f 1530/412/922 1489/502/921 1488/410/920 +f 1489/413/921 1491/415/908 1490/414/649 +f 1531/418/923 1491/503/908 1489/416/921 +f 1494/421/578 1509/489/577 1492/419/577 +f 1494/421/578 1510/422/579 1508/420/578 +f 1496/423/579 1511/425/581 1510/422/579 +f 1498/424/581 1512/490/573 1511/425/581 +f 1500/343/573 1513/427/574 1512/505/573 +f 1502/428/574 1514/429/575 1513/427/574 +f 1497/431/487 1516/432/924 1495/466/924 +f 1506/434/576 1514/429/575 1504/430/575 +f 1506/434/576 1509/489/577 1515/435/576 +f 1509/438/649 1495/491/649 1493/436/649 +f 1508/420/649 1497/492/649 1495/439/649 +f 1510/442/649 1499/507/649 1497/440/649 +f 1499/444/649 1512/490/649 1501/443/649 +f 1501/445/649 1513/446/649 1503/493/649 +f 1503/449/649 1514/429/649 1505/448/649 +f 1514/452/649 1507/494/649 1505/450/649 +f 1507/454/649 1509/489/649 1493/453/649 +f 1529/400/918 1520/455/573 1521/456/574 +f 1507/459/925 1522/495/17 1505/457/17 +f 1503/460/926 1520/461/650 1501/496/650 +f 1519/465/927 1497/431/487 1499/463/927 +f 1516/468/924 1493/470/648 1495/466/924 +f 1517/469/648 1507/459/925 1493/470/648 +f 1522/471/17 1503/460/926 1505/457/17 +f 1501/473/650 1519/498/927 1499/463/927 +f 1519/475/581 1526/387/912 1518/474/579 +f 1524/376/910 1517/476/577 1516/477/578 +f 1525/417/911 1523/478/576 1517/479/577 +f 1530/406/922 1521/480/574 1522/481/575 +f 1528/394/919 1519/482/581 1520/483/573 +f 1518/484/579 1524/380/910 1516/499/578 +f 1523/485/576 1530/412/922 1522/500/575 +f 1540/372/928 1532/374/929 1539/373/518 +f 1573/376/930 1540/375/928 1574/377/931 +f 1575/379/932 1532/378/929 1573/380/930 +f 1532/381/929 1533/383/933 1539/382/518 +f 1533/384/933 1534/386/934 1539/385/518 +f 1576/389/935 1533/487/933 1575/387/932 +f 1534/390/934 1535/392/936 1539/391/518 +f 1577/394/937 1534/390/934 1576/393/935 +f 1535/395/936 1536/397/938 1539/396/518 +f 1577/398/937 1536/399/938 1535/488/936 +f 1536/401/938 1537/403/939 1539/402/518 +f 1579/406/940 1536/501/938 1578/404/941 +f 1537/407/939 1538/409/942 1539/408/518 +f 1580/411/943 1537/410/939 1579/412/940 +f 1538/413/942 1540/415/928 1539/414/518 +f 1580/418/943 1540/503/928 1538/416/942 +f 1541/419/516 1557/420/529 1558/489/516 +f 1543/421/529 1559/422/500 1557/420/529 +f 1545/423/500 1560/425/526 1559/422/500 +f 1549/426/520 1560/425/526 1547/424/526 +f 1549/343/520 1562/427/603 1561/505/520 +f 1551/428/603 1563/429/604 1562/427/603 +f 1546/431/450 1565/432/944 1544/466/944 +f 1555/434/605 1563/429/604 1553/430/604 +f 1555/434/605 1558/489/516 1564/435/605 +f 1558/438/518 1544/491/518 1542/436/518 +f 1544/439/518 1559/422/518 1546/492/518 +f 1559/442/518 1548/507/518 1546/440/518 +f 1560/425/518 1550/443/518 1548/444/518 +f 1550/445/518 1562/446/518 1552/493/518 +f 1552/449/518 1563/429/518 1554/448/518 +f 1563/452/518 1556/494/518 1554/450/518 +f 1556/454/518 1558/489/518 1542/453/518 +f 1578/400/941 1569/455/520 1570/456/603 +f 1556/459/945 1571/495/17 1554/457/17 +f 1552/460/946 1569/461/519 1550/496/519 +f 1568/465/947 1546/431/450 1548/463/947 +f 1544/466/944 1566/467/517 1542/470/517 +f 1566/469/517 1556/459/945 1542/470/517 +f 1571/471/17 1552/460/946 1554/457/17 +f 1569/472/519 1548/463/947 1550/473/519 +f 1568/475/526 1575/387/932 1567/474/500 +f 1573/376/930 1566/476/516 1565/477/529 +f 1574/417/931 1572/478/605 1566/479/516 +f 1579/406/940 1570/480/603 1571/481/604 +f 1577/394/937 1568/482/526 1569/483/520 +f 1575/379/932 1565/499/529 1567/484/500 +f 1572/485/605 1579/412/940 1571/500/604 +f 1589/372/948 1581/374/949 1588/373/292 +f 1622/376/950 1589/375/948 1623/377/951 +f 1624/379/952 1581/378/949 1622/380/950 +f 1581/381/949 1582/383/953 1588/382/292 +f 1582/384/953 1583/386/954 1588/385/292 +f 1624/387/952 1583/388/954 1582/487/953 +f 1583/390/954 1584/392/955 1588/391/292 +f 1625/393/956 1584/392/955 1583/390/954 +f 1584/395/955 1585/397/957 1588/396/292 +f 1626/398/958 1585/399/957 1584/488/955 +f 1585/401/957 1586/403/959 1588/402/292 +f 1627/404/960 1586/405/959 1585/501/957 +f 1586/407/959 1587/409/961 1588/408/292 +f 1629/411/962 1586/410/959 1628/412/963 +f 1587/413/961 1589/415/948 1588/414/292 +f 1629/418/962 1589/503/948 1587/416/961 +f 1592/421/555 1607/489/5 1590/419/5 +f 1592/421/555 1608/422/392 1606/420/555 +f 1594/423/392 1609/425/552 1608/422/392 +f 1598/426/13 1609/425/552 1596/424/552 +f 1598/343/13 1611/427/626 1610/505/13 +f 1602/430/162 1611/427/626 1600/428/626 +f 1595/431/9 1614/432/964 1593/466/964 +f 1604/434/627 1612/429/162 1602/430/162 +f 1604/434/627 1607/489/5 1613/435/627 +f 1591/436/292 1606/437/292 1593/491/292 +f 1593/439/292 1608/422/292 1595/492/292 +f 1608/442/292 1597/507/292 1595/440/292 +f 1597/444/292 1610/490/292 1599/443/292 +f 1599/445/292 1611/446/292 1601/493/292 +f 1611/427/292 1603/448/292 1601/449/292 +f 1612/452/292 1605/494/292 1603/450/292 +f 1613/435/292 1591/453/292 1605/454/292 +f 1627/400/960 1618/455/13 1619/456/626 +f 1605/459/965 1620/495/17 1603/457/17 +f 1619/462/966 1599/496/547 1601/460/966 +f 1617/465/967 1595/431/9 1597/463/967 +f 1614/468/964 1591/470/546 1593/466/964 +f 1615/469/546 1605/459/965 1591/470/546 +f 1603/457/17 1619/506/966 1601/460/966 +f 1618/472/547 1597/463/967 1599/473/547 +f 1625/389/956 1616/474/392 1617/475/552 +f 1614/477/555 1623/377/951 1615/476/5 +f 1623/417/951 1621/478/627 1615/479/5 +f 1628/406/963 1619/480/626 1620/481/162 +f 1626/394/958 1617/482/552 1618/483/13 +f 1624/379/952 1614/499/555 1616/484/392 +f 1629/411/962 1620/500/162 1621/485/627 +f 1638/372/968 1630/374/969 1637/373/575 +f 1671/376/970 1638/375/968 1672/377/971 +f 1673/379/972 1630/378/969 1671/380/970 +f 1630/381/969 1631/383/973 1637/382/575 +f 1631/384/973 1632/386/974 1637/385/575 +f 1674/389/975 1631/487/973 1673/387/972 +f 1632/390/974 1633/392/976 1637/391/575 +f 1674/393/975 1633/392/976 1632/390/974 +f 1633/395/976 1634/397/977 1637/396/575 +f 1675/398/978 1634/399/977 1633/488/976 +f 1634/401/977 1635/403/979 1637/402/575 +f 1676/404/980 1635/405/979 1634/501/977 +f 1635/407/979 1636/409/981 1637/408/575 +f 1678/411/982 1635/410/979 1677/412/983 +f 1636/413/981 1638/415/968 1637/414/575 +f 1678/418/982 1638/503/968 1636/416/981 +f 1641/421/586 1656/489/573 1639/419/573 +f 1643/423/557 1655/420/586 1641/421/586 +f 1643/423/557 1658/425/584 1657/422/557 +f 1647/426/577 1658/425/584 1645/424/584 +f 1647/343/577 1660/427/648 1659/505/577 +f 1651/430/649 1660/427/648 1649/428/648 +f 1644/431/483 1663/432/984 1642/466/984 +f 1653/434/650 1661/429/649 1651/430/649 +f 1653/434/650 1656/489/573 1662/435/650 +f 1656/438/575 1642/491/575 1640/436/575 +f 1655/420/575 1644/492/575 1642/439/575 +f 1657/442/575 1646/507/575 1644/440/575 +f 1646/444/575 1659/490/575 1648/443/575 +f 1648/445/575 1660/446/575 1650/493/575 +f 1650/449/575 1661/429/575 1652/448/575 +f 1661/452/575 1654/494/575 1652/450/575 +f 1654/454/575 1656/489/575 1640/453/575 +f 1668/456/648 1675/398/978 1667/455/577 +f 1654/459/985 1669/495/17 1652/457/17 +f 1668/462/986 1648/496/576 1650/460/986 +f 1666/465/987 1644/431/483 1646/463/987 +f 1663/468/984 1640/470/574 1642/466/984 +f 1664/469/574 1654/459/985 1640/470/574 +f 1669/471/17 1650/460/986 1652/457/17 +f 1667/472/576 1646/463/987 1648/473/576 +f 1674/389/975 1665/474/557 1666/475/584 +f 1671/376/970 1664/476/573 1663/477/586 +f 1664/479/573 1678/418/982 1670/478/650 +f 1677/406/983 1668/480/648 1669/481/649 +f 1675/394/978 1666/482/584 1667/483/577 +f 1665/484/557 1671/380/970 1663/499/586 +f 1670/485/650 1677/412/983 1669/500/649 +f 1687/372/988 1679/374/989 1686/373/753 +f 1720/376/990 1687/375/988 1721/377/991 +f 1720/380/990 1680/486/992 1679/378/989 +f 1679/381/989 1680/383/992 1686/382/753 +f 1680/384/992 1681/386/993 1686/385/753 +f 1722/387/994 1681/388/993 1680/487/992 +f 1681/390/993 1682/392/995 1686/391/753 +f 1723/393/996 1682/392/995 1681/390/993 +f 1682/395/995 1683/397/997 1686/396/753 +f 1725/400/998 1682/488/995 1724/398/999 +f 1683/401/997 1684/403/1000 1686/402/753 +f 1725/404/998 1684/405/1000 1683/501/997 +f 1684/407/1000 1685/409/1001 1686/408/753 +f 1727/411/1002 1684/410/1000 1726/412/1003 +f 1685/413/1001 1687/415/988 1686/414/753 +f 1727/418/1002 1687/503/988 1685/416/1001 +f 1690/421/674 1705/489/9 1688/419/9 +f 1692/423/427 1704/420/674 1690/421/674 +f 1692/423/427 1707/425/676 1706/422/427 +f 1694/424/676 1708/490/1 1707/425/676 +f 1696/343/1 1709/427/671 1708/505/1 +f 1698/428/671 1710/429/672 1709/427/671 +f 1693/431/423 1712/432/1004 1691/466/1004 +f 1702/434/673 1710/429/672 1700/430/672 +f 1688/419/9 1711/435/673 1702/434/673 +f 1705/438/753 1691/491/753 1689/436/753 +f 1704/420/753 1693/492/753 1691/439/753 +f 1693/440/753 1707/441/753 1695/507/753 +f 1707/425/753 1697/443/753 1695/444/753 +f 1697/445/753 1709/446/753 1699/493/753 +f 1709/427/753 1701/448/753 1699/449/753 +f 1710/452/753 1703/494/753 1701/450/753 +f 1711/435/753 1689/453/753 1703/454/753 +f 1717/456/671 1724/398/999 1716/455/1 +f 1703/459/1005 1718/495/750 1701/457/750 +f 1717/462/1006 1697/496/1007 1699/460/1006 +f 1695/463/1008 1714/464/423 1693/431/423 +f 1712/468/1004 1689/470/1009 1691/466/1004 +f 1689/470/1009 1719/497/1005 1703/459/1005 +f 1718/471/750 1699/460/1006 1701/457/750 +f 1697/473/1007 1715/498/1008 1695/463/1008 +f 1715/475/676 1722/387/994 1714/474/427 +f 1712/477/674 1721/377/991 1713/476/9 +f 1721/417/991 1719/478/673 1713/479/9 +f 1718/481/672 1725/404/998 1717/480/671 +f 1724/394/999 1715/482/676 1716/483/1 +f 1722/379/994 1712/499/674 1714/484/427 +f 1727/411/1002 1718/500/672 1719/485/673 +f 1736/372/1010 1728/374/1011 1735/373/485 +f 1770/377/1012 1728/504/1011 1736/375/1010 +f 1771/379/1013 1728/378/1011 1769/380/1014 +f 1728/381/1011 1729/383/1015 1735/382/485 +f 1729/384/1015 1730/386/1016 1735/385/485 +f 1772/389/1017 1729/487/1015 1771/387/1013 +f 1730/390/1016 1731/392/1018 1735/391/485 +f 1772/393/1017 1731/392/1018 1730/390/1016 +f 1731/395/1018 1732/397/1019 1735/396/485 +f 1773/398/1020 1732/399/1019 1731/488/1018 +f 1732/401/1019 1733/403/1021 1735/402/485 +f 1775/406/1022 1732/501/1019 1774/404/1023 +f 1733/407/1021 1734/409/1024 1735/408/485 +f 1776/411/1025 1733/410/1021 1775/412/1022 +f 1734/413/1024 1736/415/1010 1735/414/485 +f 1770/417/1012 1734/416/1024 1776/418/1025 +f 1739/421/498 1754/489/483 1737/419/483 +f 1739/421/498 1755/422/467 1753/420/498 +f 1743/424/495 1755/422/467 1741/423/467 +f 1743/424/495 1757/490/487 1756/425/495 +f 1747/428/698 1757/505/487 1745/343/487 +f 1747/428/698 1759/429/699 1758/427/698 +f 1763/433/490 1740/466/1026 1742/431/490 +f 1751/434/700 1759/429/699 1749/430/699 +f 1751/434/700 1754/489/483 1760/435/700 +f 1754/438/485 1740/491/485 1738/436/485 +f 1740/439/485 1755/422/485 1742/492/485 +f 1742/440/485 1756/441/485 1744/507/485 +f 1756/425/485 1746/443/485 1744/444/485 +f 1746/445/485 1758/446/485 1748/493/485 +f 1748/449/485 1759/429/485 1750/448/485 +f 1759/452/485 1752/494/485 1750/450/485 +f 1760/435/485 1738/453/485 1752/454/485 +f 1766/456/698 1773/398/1020 1765/455/487 +f 1768/458/1027 1750/457/774 1752/459/1027 +f 1766/462/1028 1746/496/486 1748/460/1028 +f 1744/463/1029 1763/464/490 1742/431/490 +f 1761/468/1026 1738/470/484 1740/466/1026 +f 1762/469/484 1752/459/1027 1738/470/484 +f 1750/457/774 1766/506/1028 1748/460/1028 +f 1746/473/486 1764/498/1029 1744/463/1029 +f 1764/475/495 1771/387/1013 1763/474/467 +f 1761/477/498 1770/377/1012 1762/476/483 +f 1770/417/1012 1768/478/700 1762/479/483 +f 1775/406/1022 1766/480/698 1767/481/699 +f 1765/483/487 1772/393/1017 1764/482/495 +f 1771/379/1013 1761/499/498 1763/484/467 +f 1768/485/700 1775/412/1022 1767/500/699 +f 1785/372/1030 1777/374/1031 1784/373/804 +f 1818/376/1032 1785/375/1030 1819/377/1033 +f 1818/380/1032 1778/486/1034 1777/378/1031 +f 1777/381/1031 1778/383/1034 1784/382/804 +f 1778/384/1034 1779/386/1035 1784/385/804 +f 1820/387/1036 1779/388/1035 1778/487/1034 +f 1779/390/1035 1780/392/1037 1784/391/804 +f 1821/393/1038 1780/392/1037 1779/390/1035 +f 1780/395/1037 1781/397/1039 1784/396/804 +f 1822/398/1040 1781/399/1039 1780/488/1037 +f 1781/401/1039 1782/403/1041 1784/402/804 +f 1823/404/1042 1782/405/1041 1781/501/1039 +f 1782/407/1041 1783/409/1043 1784/408/804 +f 1824/412/1044 1783/502/1043 1782/410/1041 +f 1783/413/1043 1785/415/1030 1784/414/804 +f 1819/417/1033 1783/416/1043 1825/418/1045 +f 1788/421/725 1803/489/454 1786/419/454 +f 1788/421/725 1804/422/461 1802/420/725 +f 1792/424/727 1804/422/461 1790/423/461 +f 1792/424/727 1806/490/450 1805/425/727 +f 1794/343/450 1807/427/722 1806/505/450 +f 1798/430/723 1807/427/722 1796/428/722 +f 1812/433/456 1789/466/1046 1791/431/456 +f 1800/434/724 1808/429/723 1798/430/723 +f 1786/419/454 1809/435/724 1800/434/724 +f 1787/436/804 1802/437/804 1789/491/804 +f 1802/420/804 1791/492/804 1789/439/804 +f 1791/440/804 1805/441/804 1793/507/804 +f 1805/425/804 1795/443/804 1793/444/804 +f 1795/445/804 1807/446/804 1797/493/804 +f 1807/427/804 1799/448/804 1797/449/804 +f 1799/450/804 1809/451/804 1801/494/804 +f 1809/435/804 1787/453/804 1801/454/804 +f 1815/456/722 1822/398/1040 1814/455/450 +f 1801/459/1047 1816/495/801 1799/457/801 +f 1815/462/1048 1795/496/1049 1797/460/1048 +f 1793/463/1050 1812/464/456 1791/431/456 +f 1789/466/1046 1811/467/1051 1787/470/1051 +f 1787/470/1051 1817/497/1047 1801/459/1047 +f 1816/471/801 1797/460/1048 1799/457/801 +f 1795/473/1049 1813/498/1050 1793/463/1050 +f 1821/389/1038 1812/474/461 1813/475/727 +f 1818/376/1032 1811/476/454 1810/477/725 +f 1819/417/1033 1817/478/724 1811/479/454 +f 1824/406/1044 1815/480/722 1816/481/723 +f 1814/483/450 1821/393/1038 1813/482/727 +f 1820/379/1036 1810/499/725 1812/484/461 +f 1817/485/724 1824/412/1044 1816/500/723 +f 1834/372/1052 1826/374/1053 1833/373/420 +f 1867/376/1054 1834/375/1052 1868/377/1055 +f 1869/379/1056 1826/378/1053 1867/380/1054 +f 1826/381/1053 1827/383/1057 1833/382/420 +f 1827/384/1057 1828/386/1058 1833/385/420 +f 1870/389/1059 1827/487/1057 1869/387/1056 +f 1828/390/1058 1829/392/1060 1833/391/420 +f 1870/393/1059 1829/392/1060 1828/390/1058 +f 1829/395/1060 1830/397/1061 1833/396/420 +f 1871/398/1062 1830/399/1061 1829/488/1060 +f 1830/401/1061 1831/403/1063 1833/402/420 +f 1872/404/1064 1831/405/1063 1830/501/1061 +f 1831/407/1063 1832/409/1065 1833/408/420 +f 1873/412/1066 1832/502/1065 1831/410/1063 +f 1832/413/1065 1834/415/1052 1833/414/420 +f 1874/418/1067 1834/503/1052 1832/416/1065 +f 1837/421/432 1852/489/1 1835/419/1 +f 1837/421/432 1853/422/403 1851/420/432 +f 1841/424/430 1853/422/403 1839/423/403 +f 1841/424/430 1855/490/9 1854/425/430 +f 1843/343/9 1856/427/749 1855/505/9 +f 1847/430/750 1856/427/749 1845/428/749 +f 1861/433/424 1838/466/1068 1840/431/424 +f 1847/430/750 1858/435/751 1857/429/750 +f 1835/419/1 1858/435/751 1849/434/751 +f 1836/436/420 1851/437/420 1838/491/420 +f 1838/439/420 1853/422/420 1840/492/420 +f 1853/442/420 1842/507/420 1840/440/420 +f 1854/425/420 1844/443/420 1842/444/420 +f 1855/447/420 1846/493/420 1844/445/420 +f 1846/449/420 1857/429/420 1848/448/420 +f 1848/450/420 1858/451/420 1850/494/420 +f 1850/454/420 1852/489/420 1836/453/420 +f 1864/456/749 1871/398/1062 1863/455/9 +f 1866/458/1069 1848/457/672 1850/459/1069 +f 1864/462/1070 1844/496/421 1846/460/1070 +f 1862/465/1071 1840/431/424 1842/463/1071 +f 1838/466/1068 1860/467/419 1836/470/419 +f 1860/469/419 1850/459/1069 1836/470/419 +f 1848/457/672 1864/506/1070 1846/460/1070 +f 1844/473/421 1862/498/1071 1842/463/1071 +f 1870/389/1059 1861/474/403 1862/475/430 +f 1859/477/432 1868/377/1055 1860/476/1 +f 1868/417/1055 1866/478/751 1860/479/1 +f 1865/481/750 1872/404/1064 1864/480/749 +f 1871/394/1062 1862/482/430 1863/483/9 +f 1861/484/403 1867/380/1054 1859/499/432 +f 1866/485/751 1873/412/1066 1865/500/750 +f 1883/372/1072 1875/374/1073 1882/373/702 +f 1916/376/1074 1883/375/1072 1917/377/1075 +f 1918/379/1076 1875/378/1073 1916/380/1074 +f 1875/381/1073 1876/383/1077 1882/382/702 +f 1876/384/1077 1877/386/1078 1882/385/702 +f 1918/387/1076 1877/388/1078 1876/487/1077 +f 1877/390/1078 1878/392/1079 1882/391/702 +f 1920/394/1080 1877/390/1078 1919/393/1081 +f 1878/395/1079 1879/397/1082 1882/396/702 +f 1920/398/1080 1879/399/1082 1878/488/1079 +f 1879/401/1082 1880/403/1083 1882/402/702 +f 1921/404/1084 1880/405/1083 1879/501/1082 +f 1880/407/1083 1881/409/1085 1882/408/702 +f 1922/412/1086 1881/502/1085 1880/410/1083 +f 1881/413/1085 1883/415/1072 1882/414/702 +f 1917/417/1075 1881/416/1085 1923/418/1087 +f 1886/421/776 1901/489/487 1884/419/487 +f 1886/421/776 1902/422/493 1900/420/776 +f 1890/424/778 1902/422/493 1888/423/493 +f 1890/424/778 1904/490/483 1903/425/778 +f 1892/343/483 1905/427/773 1904/505/483 +f 1896/430/774 1905/427/773 1894/428/773 +f 1910/433/489 1887/466/1088 1889/431/489 +f 1896/430/774 1907/435/775 1906/429/774 +f 1884/419/487 1907/435/775 1898/434/775 +f 1885/436/702 1900/437/702 1887/491/702 +f 1887/439/702 1902/422/702 1889/492/702 +f 1889/440/702 1903/441/702 1891/507/702 +f 1891/444/702 1904/490/702 1893/443/702 +f 1893/445/702 1905/446/702 1895/493/702 +f 1895/449/702 1906/429/702 1897/448/702 +f 1906/452/702 1899/494/702 1897/450/702 +f 1899/454/702 1901/489/702 1885/453/702 +f 1921/400/1084 1912/455/483 1913/456/773 +f 1915/458/1089 1897/457/699 1899/459/1089 +f 1913/462/1090 1893/496/1091 1895/460/1090 +f 1891/463/1092 1910/464/489 1889/431/489 +f 1908/468/1088 1885/470/1093 1887/466/1088 +f 1885/470/1093 1915/497/1089 1899/459/1089 +f 1897/457/699 1913/506/1090 1895/460/1090 +f 1893/473/1091 1911/498/1092 1891/463/1092 +f 1911/475/778 1918/387/1076 1910/474/493 +f 1916/376/1074 1909/476/487 1908/477/776 +f 1917/417/1075 1915/478/775 1909/479/487 +f 1922/406/1086 1913/480/773 1914/481/774 +f 1912/483/483 1919/393/1081 1911/482/778 +f 1918/379/1076 1908/499/776 1910/484/493 +f 1915/485/775 1922/412/1086 1914/500/774 +f 1932/372/1094 1924/374/1095 1931/373/452 +f 1965/376/1096 1932/375/1094 1966/377/1097 +f 1965/380/1096 1925/486/1098 1924/378/1095 +f 1924/381/1095 1925/383/1098 1931/382/452 +f 1925/384/1098 1926/386/1099 1931/385/452 +f 1967/387/1100 1926/388/1099 1925/487/1098 +f 1926/390/1099 1927/392/1101 1931/391/452 +f 1969/394/1102 1926/390/1099 1968/393/1103 +f 1927/395/1101 1928/397/1104 1931/396/452 +f 1969/398/1102 1928/399/1104 1927/488/1101 +f 1928/401/1104 1929/403/1105 1931/402/452 +f 1970/404/1106 1929/405/1105 1928/501/1104 +f 1929/407/1105 1930/409/1107 1931/408/452 +f 1971/412/1108 1930/502/1107 1929/410/1105 +f 1930/413/1107 1932/415/1094 1931/414/452 +f 1972/418/1109 1932/503/1094 1930/416/1107 +f 1935/421/465 1950/489/450 1933/419/450 +f 1935/421/465 1951/422/434 1949/420/465 +f 1939/424/462 1951/422/434 1937/423/434 +f 1939/424/462 1953/490/454 1952/425/462 +f 1941/343/454 1954/427/800 1953/505/454 +f 1945/430/801 1954/427/800 1943/428/800 +f 1959/433/458 1936/466/1110 1938/431/458 +f 1947/434/802 1955/429/801 1945/430/801 +f 1933/419/450 1956/435/802 1947/434/802 +f 1934/436/452 1949/437/452 1936/491/452 +f 1936/439/452 1951/422/452 1938/492/452 +f 1938/440/452 1952/441/452 1940/507/452 +f 1940/444/452 1953/490/452 1942/443/452 +f 1942/445/452 1954/446/452 1944/493/452 +f 1944/449/452 1955/429/452 1946/448/452 +f 1955/452/452 1948/494/452 1946/450/452 +f 1948/454/452 1950/489/452 1934/453/452 +f 1970/400/1106 1961/455/454 1962/456/800 +f 1964/458/1111 1946/457/723 1948/459/1111 +f 1962/462/1112 1942/496/453 1944/460/1112 +f 1940/463/1113 1959/464/458 1938/431/458 +f 1957/468/1110 1934/470/451 1936/466/1110 +f 1958/469/451 1948/459/1111 1934/470/451 +f 1946/457/723 1962/506/1112 1944/460/1112 +f 1942/473/453 1960/498/1113 1940/463/1113 +f 1968/389/1103 1959/474/434 1960/475/462 +f 1957/477/465 1966/377/1097 1958/476/450 +f 1958/479/450 1972/418/1109 1964/478/802 +f 1971/406/1108 1962/480/800 1963/481/801 +f 1961/483/454 1968/393/1103 1960/482/462 +f 1967/379/1100 1957/499/465 1959/484/434 +f 1972/411/1109 1963/500/801 1964/485/802 +f 36/1/1 35/4/2 34/2/2 +f 35/4/2 38/6/3 37/5/3 +f 38/6/3 40/8/4 39/7/4 +f 40/8/4 42/10/5 41/9/5 +f 42/10/5 44/12/6 43/11/6 +f 44/12/6 46/14/7 45/13/7 +f 46/14/7 48/16/8 47/15/8 +f 48/16/8 50/508/9 49/17/9 +f 50/18/9 52/21/10 51/19/10 +f 52/21/10 54/23/11 53/22/11 +f 54/23/11 56/25/12 55/24/12 +f 56/25/12 58/27/13 57/26/13 +f 58/27/13 60/29/14 59/28/14 +f 60/29/14 62/31/15 61/30/15 +f 62/31/15 64/33/16 63/32/16 +f 64/33/16 36/509/1 33/34/1 +f 1/35/17 33/3/17 34/2/17 +f 4/37/18 35/4/18 36/1/18 +f 3/39/17 34/2/17 37/5/17 +f 6/41/18 38/6/18 35/4/18 +f 5/43/17 37/5/17 39/7/17 +f 8/45/18 40/8/18 38/6/18 +f 7/47/17 39/7/17 41/9/17 +f 10/49/18 42/10/18 40/8/18 +f 9/51/17 41/9/17 43/11/17 +f 12/53/18 44/12/18 42/10/18 +f 11/55/17 43/11/17 45/13/17 +f 14/57/18 46/14/18 44/12/18 +f 13/59/17 45/13/17 47/15/17 +f 16/61/18 48/16/18 46/14/18 +f 15/63/17 47/15/17 49/17/17 +f 18/65/18 50/508/18 48/16/18 +f 17/67/17 49/510/17 51/68/17 +f 20/70/18 52/21/18 50/18/18 +f 19/72/17 51/19/17 53/22/17 +f 22/74/18 54/23/18 52/21/18 +f 21/76/17 53/511/17 55/77/17 +f 24/79/18 56/25/18 54/23/18 +f 23/81/17 55/24/17 57/26/17 +f 26/83/18 58/27/18 56/25/18 +f 25/85/17 57/512/17 59/86/17 +f 28/88/18 60/29/18 58/27/18 +f 27/90/17 59/28/17 61/30/17 +f 30/92/18 62/31/18 60/29/18 +f 29/94/17 61/513/17 63/95/17 +f 32/97/18 64/33/18 62/31/18 +f 31/99/17 63/32/17 33/34/17 +f 2/101/18 36/509/18 64/33/18 +f 157/103/19 158/106/22 165/104/20 +f 158/106/22 159/108/24 166/107/23 +f 159/108/24 160/111/27 167/109/25 +f 161/110/26 168/113/29 167/109/25 +f 162/112/28 169/115/31 168/113/29 +f 163/114/30 170/121/37 169/115/31 +f 164/105/21 165/104/20 172/116/32 +f 165/104/20 166/107/23 173/118/34 +f 166/107/23 167/109/25 174/119/35 +f 168/113/29 175/120/36 174/119/35 +f 169/115/31 176/122/38 175/120/36 +f 170/121/37 177/128/43 176/122/38 +f 171/117/33 172/116/32 179/123/39 +f 172/116/32 173/118/34 180/125/41 +f 173/118/34 174/119/35 181/126/13 +f 175/120/36 182/127/42 181/126/13 +f 176/122/38 183/129/44 182/127/42 +f 177/128/43 184/164/78 183/129/44 +f 179/123/39 186/131/46 185/130/45 +f 180/125/41 187/132/47 186/131/46 +f 181/126/13 188/134/49 187/132/47 +f 181/126/13 182/127/42 189/133/48 +f 182/127/42 183/129/44 190/135/50 +f 183/129/44 184/164/78 191/136/51 +f 186/131/46 193/138/53 192/137/52 +f 187/132/47 194/139/54 193/138/53 +f 188/134/49 195/141/56 194/139/54 +f 188/134/49 189/133/48 196/140/55 +f 189/133/48 190/135/50 197/142/57 +f 190/135/50 191/136/51 198/143/58 +f 193/138/53 200/145/60 199/144/59 +f 194/139/54 201/146/61 200/145/60 +f 195/141/56 202/148/63 201/146/61 +f 195/141/56 196/140/55 203/147/62 +f 196/140/55 197/142/57 204/149/64 +f 197/142/57 198/143/58 205/150/65 +f 65/151/66 80/153/68 157/103/19 +f 80/153/68 81/154/69 158/106/22 +f 81/154/69 82/155/70 159/108/24 +f 82/155/70 83/157/11 160/111/27 +f 84/156/71 161/110/26 160/111/27 +f 85/158/72 162/112/28 161/110/26 +f 86/159/73 163/114/30 162/112/28 +f 66/160/74 87/161/75 163/114/30 +f 87/161/75 88/162/76 170/121/37 +f 88/162/76 89/163/77 177/128/43 +f 89/163/77 90/514/1114 184/164/78 +f 184/164/78 90/514/1114 91/165/79 +f 191/136/51 91/165/79 92/166/80 +f 198/143/58 92/166/80 93/167/81 +f 205/150/65 93/167/81 68/168/82 +f 204/149/64 205/150/65 94/169/83 +f 203/147/62 204/149/64 95/170/84 +f 202/148/63 203/147/62 96/171/85 +f 202/148/63 97/172/15 98/173/86 +f 201/146/61 98/173/86 99/174/87 +f 200/145/60 99/174/87 100/175/88 +f 199/144/59 100/175/88 67/176/89 +f 192/137/52 199/144/59 73/177/90 +f 185/130/45 192/137/52 74/178/91 +f 178/124/40 185/130/45 75/179/92 +f 77/181/94 171/117/33 178/124/40 +f 78/182/95 164/105/21 171/117/33 +f 79/152/67 157/103/19 164/105/21 +f 206/103/96 207/106/99 214/104/97 +f 207/106/99 208/108/101 215/107/100 +f 208/108/101 209/111/104 216/109/102 +f 210/110/103 217/113/106 216/109/102 +f 211/112/105 218/115/108 217/113/106 +f 212/114/107 219/121/114 218/115/108 +f 213/105/98 214/104/97 221/116/109 +f 214/104/97 215/107/100 222/118/111 +f 215/107/100 216/109/102 223/119/112 +f 217/113/106 224/120/113 223/119/112 +f 218/115/108 225/122/115 224/120/113 +f 219/121/114 226/128/120 225/122/115 +f 220/117/110 221/116/109 228/123/116 +f 221/116/109 222/118/111 229/125/118 +f 222/118/111 223/119/112 230/126/1 +f 224/120/113 231/127/119 230/126/1 +f 225/122/115 232/129/121 231/127/119 +f 226/128/120 233/164/147 232/129/121 +f 228/123/116 235/131/123 234/130/122 +f 229/125/118 236/132/124 235/131/123 +f 230/126/1 237/134/126 236/132/124 +f 230/126/1 231/127/119 238/133/125 +f 231/127/119 232/129/121 239/135/127 +f 232/129/121 233/164/147 240/136/128 +f 235/131/123 242/138/130 241/137/129 +f 236/132/124 243/139/131 242/138/130 +f 237/134/126 244/141/133 243/139/131 +f 237/134/126 238/133/125 245/140/132 +f 238/133/125 239/135/127 246/142/134 +f 239/135/127 240/136/128 247/143/135 +f 242/138/130 249/145/137 248/144/136 +f 243/139/131 250/146/138 249/145/137 +f 244/141/133 251/148/140 250/146/138 +f 244/141/133 245/140/132 252/147/139 +f 245/140/132 246/142/134 253/149/141 +f 246/142/134 247/143/135 254/150/142 +f 67/151/89 100/153/88 206/103/96 +f 100/153/88 99/154/87 207/106/99 +f 99/154/87 98/155/86 208/108/101 +f 98/155/86 97/157/15 209/111/104 +f 96/156/85 210/110/103 209/111/104 +f 95/158/84 211/112/105 210/110/103 +f 94/159/83 212/114/107 211/112/105 +f 68/160/82 108/161/144 212/114/107 +f 108/161/144 109/162/145 219/121/114 +f 109/162/145 110/163/146 226/128/120 +f 110/163/146 111/514/390 233/164/147 +f 233/164/147 111/514/390 112/165/148 +f 240/136/128 112/165/148 113/166/149 +f 247/143/135 113/166/149 114/167/150 +f 254/150/142 114/167/150 72/168/151 +f 253/149/141 254/150/142 115/169/152 +f 252/147/139 253/149/141 116/170/153 +f 251/148/140 252/147/139 117/171/154 +f 251/148/140 118/172/3 119/173/155 +f 250/146/138 119/173/155 120/174/156 +f 249/145/137 120/174/156 121/175/157 +f 248/144/136 121/175/157 71/176/158 +f 241/137/129 248/144/136 101/177/159 +f 234/130/122 241/137/129 102/178/160 +f 227/124/117 234/130/122 103/179/161 +f 105/181/163 220/117/110 227/124/117 +f 106/182/164 213/105/98 220/117/110 +f 107/152/143 206/103/96 213/105/98 +f 255/103/165 256/183/168 263/104/166 +f 256/183/168 257/185/170 264/184/169 +f 257/185/170 258/111/173 265/109/171 +f 259/110/172 266/113/175 265/109/171 +f 260/186/174 267/115/177 266/113/175 +f 261/114/176 268/121/183 267/115/177 +f 262/105/167 263/104/166 270/187/178 +f 263/104/166 264/184/169 271/189/180 +f 264/184/169 265/109/171 272/119/181 +f 266/113/175 273/120/182 272/119/181 +f 267/115/177 274/122/184 273/120/182 +f 268/121/183 275/128/189 274/122/184 +f 269/188/179 270/187/178 277/123/185 +f 270/187/178 271/189/180 278/190/187 +f 271/189/180 272/119/181 279/126/5 +f 273/120/182 280/127/188 279/126/5 +f 274/122/184 281/129/190 280/127/188 +f 275/128/189 282/164/216 281/129/190 +f 277/123/185 284/192/192 283/191/191 +f 278/190/187 285/193/193 284/192/192 +f 279/126/5 286/134/195 285/193/193 +f 279/126/5 280/127/188 287/133/194 +f 280/127/188 281/129/190 288/135/196 +f 281/129/190 282/164/216 289/136/197 +f 284/192/192 291/138/199 290/137/198 +f 285/193/193 292/194/200 291/138/199 +f 286/134/195 293/141/202 292/194/200 +f 286/134/195 287/133/194 294/140/201 +f 287/133/194 288/135/196 295/195/203 +f 288/135/196 289/136/197 296/143/204 +f 291/138/199 298/196/206 297/144/205 +f 292/194/200 299/197/207 298/196/206 +f 293/141/202 300/148/209 299/197/207 +f 293/141/202 294/140/201 301/147/208 +f 294/140/201 295/195/203 302/198/210 +f 295/195/203 296/143/204 303/199/211 +f 71/151/158 121/153/157 255/103/165 +f 121/153/157 120/154/156 256/183/168 +f 120/154/156 119/200/155 257/185/170 +f 119/200/155 118/157/3 258/111/173 +f 117/156/154 259/110/172 258/111/173 +f 116/201/153 260/186/174 259/110/172 +f 115/159/152 261/114/176 260/186/174 +f 72/160/151 129/161/213 261/114/176 +f 129/161/213 130/162/214 268/121/183 +f 130/162/214 131/163/215 275/128/189 +f 131/163/215 132/514/393 282/164/216 +f 282/164/216 132/514/393 133/165/217 +f 289/136/197 133/165/217 134/166/218 +f 296/143/204 134/166/218 135/167/219 +f 303/199/211 135/167/219 70/168/220 +f 302/198/210 303/199/211 136/169/221 +f 301/147/208 302/198/210 137/202/222 +f 300/148/209 301/147/208 138/171/223 +f 300/148/209 139/172/7 140/203/224 +f 299/197/207 140/203/224 141/174/225 +f 298/196/206 141/174/225 142/175/226 +f 297/144/205 142/175/226 69/176/227 +f 290/137/198 297/144/205 122/177/228 +f 283/191/191 290/137/198 123/178/229 +f 276/124/186 283/191/191 124/179/230 +f 126/181/232 269/188/179 276/124/186 +f 127/205/233 262/105/167 269/188/179 +f 128/152/212 255/103/165 262/105/167 +f 304/103/234 305/106/237 312/104/235 +f 305/106/237 306/108/239 313/107/238 +f 306/108/239 307/111/242 314/109/240 +f 308/110/241 315/113/244 314/109/240 +f 309/112/243 316/115/246 315/113/244 +f 310/114/245 317/121/252 316/115/246 +f 311/105/236 312/104/235 319/116/247 +f 312/104/235 313/107/238 320/118/249 +f 313/107/238 314/109/240 321/119/250 +f 315/113/244 322/120/251 321/119/250 +f 316/115/246 323/122/253 322/120/251 +f 317/121/252 324/128/258 323/122/253 +f 318/117/248 319/116/247 326/123/254 +f 319/116/247 320/118/249 327/125/256 +f 320/118/249 321/119/250 328/126/9 +f 322/120/251 329/127/257 328/126/9 +f 323/122/253 330/129/259 329/127/257 +f 324/128/258 331/164/285 330/129/259 +f 326/123/254 333/131/261 332/130/260 +f 327/125/256 334/132/262 333/131/261 +f 328/126/9 335/134/264 334/132/262 +f 328/126/9 329/127/257 336/133/263 +f 329/127/257 330/129/259 337/135/265 +f 330/129/259 331/164/285 338/136/266 +f 333/131/261 340/138/268 339/137/267 +f 334/132/262 341/139/269 340/138/268 +f 335/134/264 342/141/271 341/139/269 +f 335/134/264 336/133/263 343/140/270 +f 336/133/263 337/135/265 344/142/272 +f 337/135/265 338/136/266 345/143/273 +f 340/138/268 347/145/275 346/144/274 +f 341/139/269 348/146/276 347/145/275 +f 342/141/271 349/148/278 348/146/276 +f 342/141/271 343/140/270 350/147/277 +f 343/140/270 344/142/272 351/149/279 +f 344/142/272 345/143/273 352/150/280 +f 69/151/227 142/153/226 304/103/234 +f 142/153/226 141/154/225 305/106/237 +f 141/154/225 140/155/224 306/108/239 +f 140/155/224 139/157/7 307/111/242 +f 138/156/223 308/110/241 307/111/242 +f 137/158/222 309/112/243 308/110/241 +f 136/159/221 310/114/245 309/112/243 +f 70/160/220 150/161/282 310/114/245 +f 150/161/282 151/162/283 317/121/252 +f 151/162/283 152/163/284 324/128/258 +f 152/163/284 153/514/392 331/164/285 +f 331/164/285 153/514/392 154/165/286 +f 338/136/266 154/165/286 155/166/287 +f 345/143/273 155/166/287 156/167/288 +f 352/150/280 156/167/288 66/168/74 +f 351/149/279 352/150/280 86/169/73 +f 350/147/277 351/149/279 85/170/72 +f 349/148/278 350/147/277 84/171/71 +f 349/148/278 83/172/11 82/173/70 +f 348/146/276 82/173/70 81/174/69 +f 347/145/275 81/174/69 80/175/68 +f 346/144/274 80/175/68 65/176/66 +f 339/137/267 346/144/274 143/177/289 +f 332/130/260 339/137/267 144/178/290 +f 325/124/255 332/130/260 145/179/291 +f 147/181/293 318/117/248 325/124/255 +f 148/182/294 311/105/236 318/117/248 +f 149/152/281 304/103/234 311/105/236 +f 353/206/295 354/209/298 361/207/296 +f 354/209/298 355/211/300 362/210/299 +f 355/211/300 356/214/303 363/212/301 +f 357/213/302 364/216/305 363/212/301 +f 358/215/304 365/218/307 364/216/305 +f 359/217/306 366/224/313 365/218/307 +f 360/208/297 361/207/296 368/219/308 +f 361/207/296 362/210/299 369/221/310 +f 362/210/299 363/212/301 370/222/311 +f 364/216/305 371/223/312 370/222/311 +f 365/218/307 372/225/314 371/223/312 +f 366/224/313 373/231/319 372/225/314 +f 367/220/309 368/219/308 375/226/315 +f 368/219/308 369/221/310 376/228/317 +f 369/221/310 370/222/311 377/229/17 +f 371/223/312 378/230/318 377/229/17 +f 372/225/314 379/232/320 378/230/318 +f 373/231/319 380/267/342 379/232/320 +f 375/226/315 382/234/322 381/233/321 +f 376/228/317 383/235/323 382/234/322 +f 377/229/17 384/237/325 383/235/323 +f 377/229/17 378/230/318 385/236/324 +f 378/230/318 379/232/320 386/238/326 +f 379/232/320 380/267/342 387/239/327 +f 382/234/322 389/241/329 388/240/328 +f 383/235/323 390/242/330 389/241/329 +f 384/237/325 391/244/332 390/242/330 +f 384/237/325 385/236/324 392/243/331 +f 385/236/324 386/238/326 393/245/333 +f 386/238/326 387/239/327 394/246/334 +f 389/241/329 396/248/336 395/247/335 +f 390/242/330 397/249/337 396/248/336 +f 391/244/332 398/251/339 397/249/337 +f 391/244/332 392/243/331 399/250/338 +f 392/243/331 393/245/333 400/252/340 +f 393/245/333 394/246/334 401/253/341 +f 67/254/89 107/256/143 353/206/295 +f 107/256/143 106/257/164 354/209/298 +f 106/257/164 105/258/163 355/211/300 +f 105/258/163 104/260/162 356/214/303 +f 103/259/161 357/213/302 356/214/303 +f 102/261/160 358/215/304 357/213/302 +f 101/262/159 359/217/306 358/215/304 +f 71/263/158 128/264/212 359/217/306 +f 128/264/212 127/265/233 366/224/313 +f 127/265/233 126/266/232 373/231/319 +f 126/266/232 125/515/231 380/267/342 +f 380/267/342 125/515/231 124/268/230 +f 387/239/327 124/268/230 123/269/229 +f 394/246/334 123/269/229 122/270/228 +f 401/253/341 122/270/228 69/271/227 +f 400/252/340 401/253/341 149/272/281 +f 399/250/338 400/252/340 148/273/294 +f 398/251/339 399/250/338 147/274/293 +f 398/251/339 146/275/292 145/276/291 +f 397/249/337 145/276/291 144/277/290 +f 396/248/336 144/277/290 143/278/289 +f 395/247/335 143/278/289 65/279/66 +f 388/240/328 395/247/335 79/280/67 +f 381/233/321 388/240/328 78/281/95 +f 374/227/316 381/233/321 77/282/94 +f 75/284/92 367/220/309 374/227/316 +f 74/285/91 360/208/297 367/220/309 +f 73/255/90 353/206/295 360/208/297 +f 402/206/343 403/209/346 410/207/344 +f 403/209/346 404/211/348 411/210/347 +f 404/211/348 405/214/351 412/212/349 +f 406/213/350 413/216/353 412/212/349 +f 407/215/352 414/218/355 413/216/353 +f 408/217/354 415/224/361 414/218/355 +f 409/208/345 410/207/344 417/219/356 +f 410/207/344 411/210/347 418/221/358 +f 411/210/347 412/212/349 419/222/359 +f 413/216/353 420/223/360 419/222/359 +f 414/218/355 421/225/362 420/223/360 +f 415/224/361 422/231/367 421/225/362 +f 416/220/357 417/219/356 424/226/363 +f 417/219/356 418/221/358 425/228/365 +f 418/221/358 419/222/359 426/229/18 +f 420/223/360 427/230/366 426/229/18 +f 421/225/362 428/232/368 427/230/366 +f 422/231/367 429/267/391 428/232/368 +f 424/226/363 431/234/370 430/233/369 +f 425/228/365 432/235/371 431/234/370 +f 426/229/18 433/237/373 432/235/371 +f 426/229/18 427/230/366 434/236/372 +f 427/230/366 428/232/368 435/238/374 +f 428/232/368 429/267/391 436/239/375 +f 431/234/370 438/241/377 437/240/376 +f 432/235/371 439/242/378 438/241/377 +f 433/237/373 440/244/380 439/242/378 +f 433/237/373 434/236/372 441/243/379 +f 434/236/372 435/238/374 442/245/381 +f 435/238/374 436/239/375 443/246/382 +f 438/241/377 445/248/384 444/247/383 +f 439/242/378 446/249/385 445/248/384 +f 440/244/380 447/251/387 446/249/385 +f 440/244/380 441/243/379 448/250/386 +f 441/243/379 442/245/381 449/252/388 +f 442/245/381 443/246/382 450/253/389 +f 72/254/151 114/256/150 402/206/343 +f 114/256/150 113/257/149 403/209/346 +f 113/257/149 112/258/148 404/211/348 +f 112/258/148 111/260/390 405/214/351 +f 110/259/146 406/213/350 405/214/351 +f 109/261/145 407/215/352 406/213/350 +f 108/262/144 408/217/354 407/215/352 +f 68/263/82 93/264/81 408/217/354 +f 93/264/81 92/265/80 415/224/361 +f 92/265/80 91/266/79 422/231/367 +f 91/266/79 90/515/1114 429/267/391 +f 429/267/391 90/515/1114 89/268/77 +f 436/239/375 89/268/77 88/269/76 +f 443/246/382 88/269/76 87/270/75 +f 450/253/389 87/270/75 66/271/74 +f 449/252/388 450/253/389 156/272/288 +f 448/250/386 449/252/388 155/273/287 +f 447/251/387 448/250/386 154/274/286 +f 447/251/387 153/275/392 152/276/284 +f 446/249/385 152/276/284 151/277/283 +f 445/248/384 151/277/283 150/278/282 +f 444/247/383 150/278/282 70/279/220 +f 437/240/376 444/247/383 135/280/219 +f 430/233/369 437/240/376 134/281/218 +f 423/227/364 430/233/369 133/282/217 +f 131/284/215 416/220/357 423/227/364 +f 130/285/214 409/208/345 416/220/357 +f 129/255/213 402/206/343 409/208/345 +f 452/286/1 454/302/3 468/287/3 +f 454/289/3 456/286/5 469/288/5 +f 456/291/5 458/289/7 470/290/7 +f 458/293/7 460/291/9 471/292/9 +f 460/295/9 462/516/11 472/296/11 +f 462/298/11 464/295/13 473/297/13 +f 464/300/13 466/298/15 474/299/15 +f 466/302/15 452/300/1 467/301/1 +f 459/303/394 479/517/394 478/304/395 +f 451/306/17 467/288/17 468/287/17 +f 453/308/17 468/290/17 469/288/17 +f 455/310/17 469/292/17 470/290/17 +f 457/305/17 470/294/17 471/292/17 +f 459/312/17 471/297/17 472/296/17 +f 461/314/17 472/299/17 473/297/17 +f 463/316/17 473/301/17 474/299/17 +f 465/318/17 474/287/17 467/301/17 +f 482/322/17 475/518/17 476/519/17 +f 476/519/17 477/520/17 478/320/17 +f 478/320/17 479/521/17 480/321/17 +f 480/321/17 481/522/17 482/322/17 +f 482/322/17 476/519/17 478/320/17 +f 455/309/396 477/523/396 476/323/397 +f 463/316/398 465/317/399 482/324/399 +f 459/312/394 461/313/400 480/326/400 +f 455/310/396 457/311/395 478/328/395 +f 451/306/401 453/307/397 476/330/397 +f 451/319/401 475/524/401 482/332/399 +f 463/315/398 481/525/398 480/333/400 +f 498/334/17 501/355/17 493/335/17 +f 496/337/1 497/526/1 499/338/1 +f 502/340/9 495/527/9 494/341/9 +f 490/343/9 486/428/9 485/344/9 +f 487/346/1 483/528/1 484/347/1 +f 489/349/18 485/529/18 483/350/18 +f 501/352/5 498/361/5 489/353/5 +f 492/355/162 491/342/162 499/341/162 +f 501/336/292 500/339/292 494/338/292 +f 502/356/5 500/360/5 487/354/5 +f 499/358/5 497/530/5 490/359/5 +f 485/362/13 492/370/13 493/363/13 +f 496/365/13 491/369/13 485/362/13 +f 483/364/13 494/371/13 495/367/13 +f 511/375/402 503/504/404 544/376/405 +f 503/378/404 504/486/408 546/379/407 +f 546/387/407 504/487/408 505/388/409 +f 547/393/410 505/390/409 506/392/411 +f 548/398/412 506/488/411 507/399/413 +f 549/404/414 507/501/413 508/405/415 +f 508/410/415 509/502/417 551/411/418 +f 509/416/417 511/503/402 545/417/406 +f 512/419/1 529/489/1 528/420/419 +f 514/421/419 528/420/419 530/422/420 +f 530/422/420 531/425/421 518/424/421 +f 531/425/421 532/490/9 520/426/9 +f 520/343/9 532/505/9 533/427/422 +f 522/428/422 533/427/422 534/429/423 +f 517/431/424 515/466/425 536/432/425 +f 534/429/423 535/435/426 526/434/426 +f 535/435/426 529/489/1 512/419/1 +f 513/436/403 515/491/403 528/437/403 +f 515/439/403 517/492/403 530/422/403 +f 517/440/403 519/507/403 531/441/403 +f 521/443/403 532/490/403 531/425/403 +f 521/445/403 523/493/403 533/446/403 +f 525/448/403 534/429/403 533/427/403 +f 525/450/403 527/494/403 535/451/403 +f 513/453/403 529/489/403 535/435/403 +f 540/455/9 548/398/412 549/400/414 +f 525/457/427 542/495/427 543/458/428 +f 523/460/429 521/496/430 540/461/430 +f 519/463/431 517/431/424 538/464/424 +f 515/466/425 513/470/432 537/467/432 +f 527/459/428 543/497/428 537/469/432 +f 523/460/429 541/506/429 542/471/427 +f 519/463/431 539/498/431 540/472/430 +f 538/474/420 546/387/407 547/389/410 +f 537/476/1 545/377/406 544/376/405 +f 543/478/426 551/418/418 545/417/406 +f 541/480/422 549/404/414 550/406/416 +f 539/482/421 547/393/410 548/394/412 +f 538/484/420 536/499/419 544/380/405 +f 543/485/426 542/500/423 550/412/416 +f 560/375/433 552/504/435 593/376/436 +f 593/380/436 552/378/435 553/486/438 +f 553/487/438 554/388/440 596/389/441 +f 554/390/440 555/392/442 597/394/443 +f 555/488/442 556/399/444 598/400/445 +f 598/404/445 556/501/444 557/405/446 +f 557/410/446 558/502/448 600/411/449 +f 558/416/448 560/503/433 594/417/437 +f 578/489/450 577/420/451 563/421/451 +f 577/420/451 579/422/452 565/423/452 +f 579/422/452 580/425/453 567/424/453 +f 567/424/453 580/425/453 581/490/454 +f 569/343/454 581/505/454 582/427/455 +f 582/427/455 583/429/456 573/430/456 +f 564/466/457 585/432/457 587/433/458 +f 583/429/456 584/435/459 575/434/459 +f 584/435/459 578/489/450 561/419/450 +f 564/491/434 577/437/434 578/438/434 +f 566/492/434 579/422/434 577/420/434 +f 566/440/434 568/507/434 580/441/434 +f 570/443/434 581/490/434 580/425/434 +f 572/493/434 582/446/434 581/447/434 +f 574/448/434 583/429/434 582/427/434 +f 576/494/434 584/451/434 583/452/434 +f 562/453/434 578/489/434 584/435/434 +f 589/455/454 597/398/443 598/400/445 +f 576/459/460 574/457/461 591/495/461 +f 570/496/462 589/461/462 590/462/463 +f 568/463/464 566/431/458 587/464/458 +f 562/470/465 586/467/465 585/468/457 +f 562/470/465 576/459/460 592/497/460 +f 572/460/463 590/506/463 591/471/461 +f 570/473/462 568/463/464 588/498/464 +f 588/475/453 587/474/452 595/387/439 +f 586/476/450 594/377/437 593/376/436 +f 586/479/450 592/478/459 600/418/449 +f 591/481/456 590/480/455 598/404/445 +f 588/482/453 596/393/441 597/394/443 +f 585/499/451 593/380/436 595/379/439 +f 591/500/456 599/412/447 600/411/449 +f 609/375/466 601/504/468 642/376/469 +f 601/378/468 602/486/472 644/379/471 +f 644/387/471 602/487/472 603/388/473 +f 603/390/473 604/392/475 646/394/476 +f 604/488/475 605/399/477 647/400/478 +f 605/501/477 606/405/479 648/406/480 +f 648/412/480 606/410/479 607/502/481 +f 649/418/482 607/416/481 609/503/466 +f 627/489/483 626/420/484 612/421/484 +f 626/420/484 628/422/485 614/423/485 +f 628/422/485 629/425/486 616/424/486 +f 616/424/486 629/425/486 630/490/487 +f 618/343/487 630/505/487 631/427/488 +f 631/427/488 632/429/489 622/430/489 +f 615/431/490 613/466/491 634/432/491 +f 622/430/489 632/429/489 633/435/492 +f 633/435/492 627/489/483 610/419/483 +f 613/491/467 626/437/467 627/438/467 +f 615/492/467 628/422/467 626/420/467 +f 615/440/467 617/507/467 629/441/467 +f 619/443/467 630/490/467 629/425/467 +f 621/493/467 631/446/467 630/447/467 +f 623/448/467 632/429/467 631/427/467 +f 625/494/467 633/451/467 632/452/467 +f 625/454/467 611/453/467 627/489/467 +f 638/455/487 646/398/476 647/400/478 +f 623/457/493 640/495/493 641/458/494 +f 619/496/495 638/461/495 639/462/496 +f 617/463/497 615/431/490 636/464/490 +f 613/466/491 611/470/498 635/467/498 +f 625/459/494 641/497/494 635/469/498 +f 621/460/496 639/506/496 640/471/493 +f 619/473/495 617/463/497 637/498/497 +f 636/474/485 644/387/471 645/389/474 +f 634/477/484 635/476/483 643/377/470 +f 641/478/492 649/418/482 643/417/470 +f 639/480/488 647/404/478 648/406/480 +f 638/483/487 637/482/486 645/393/474 +f 634/499/484 642/380/469 644/379/471 +f 640/500/489 648/412/480 649/411/482 +f 692/377/502 658/375/499 650/504/501 +f 650/378/501 651/486/505 693/379/504 +f 693/387/504 651/487/505 652/388/506 +f 652/390/506 653/392/508 695/394/509 +f 695/398/509 653/488/508 654/399/510 +f 696/404/511 654/501/510 655/405/512 +f 655/410/512 656/502/514 698/411/515 +f 698/418/515 656/416/514 658/503/499 +f 659/419/516 676/489/516 675/420/517 +f 661/421/517 675/420/517 677/422/518 +f 677/422/518 678/425/519 665/424/519 +f 665/424/519 678/425/519 679/490/520 +f 679/505/520 680/427/521 669/428/521 +f 680/427/521 681/429/522 671/430/522 +f 664/431/450 662/466/523 683/432/523 +f 671/430/522 681/429/522 682/435/524 +f 682/435/524 676/489/516 659/419/516 +f 660/436/500 662/491/500 675/437/500 +f 662/439/500 664/492/500 677/422/500 +f 664/440/500 666/507/500 678/441/500 +f 666/444/500 668/443/500 679/490/500 +f 670/493/500 680/446/500 679/447/500 +f 672/448/500 681/429/500 680/427/500 +f 674/494/500 682/451/500 681/452/500 +f 660/453/500 676/489/500 682/435/500 +f 687/455/520 695/398/509 696/400/511 +f 672/457/18 689/495/18 690/458/525 +f 668/496/526 687/461/526 688/462/527 +f 664/431/450 685/464/450 686/465/528 +f 662/466/523 660/470/529 684/467/529 +f 674/459/525 690/497/525 684/469/529 +f 670/460/527 688/506/527 689/471/18 +f 668/473/526 666/463/528 686/498/528 +f 685/474/518 693/387/504 694/389/507 +f 684/476/516 692/377/502 691/376/503 +f 684/479/516 690/478/524 698/418/515 +f 689/481/522 688/480/521 696/404/511 +f 687/483/520 686/482/519 694/393/507 +f 683/499/517 691/380/503 693/379/504 +f 690/485/524 689/500/522 697/412/513 +f 707/375/530 699/504/531 740/376/532 +f 699/378/531 700/486/535 742/379/534 +f 742/387/534 700/487/535 701/388/536 +f 701/390/536 702/392/538 744/394/539 +f 744/398/539 702/488/538 703/399/540 +f 703/501/540 704/405/542 746/406/543 +f 746/412/543 704/410/542 705/502/544 +f 705/416/544 707/503/530 741/417/533 +f 725/489/5 724/420/546 710/421/546 +f 724/420/546 726/422/292 712/423/292 +f 712/423/292 726/422/292 727/425/547 +f 714/424/547 727/425/547 728/490/13 +f 716/343/13 728/505/13 729/427/548 +f 729/427/548 730/429/390 720/430/390 +f 711/466/549 732/432/549 734/433/9 +f 720/430/390 730/429/390 731/435/550 +f 722/434/550 731/435/550 725/489/5 +f 709/436/392 711/491/392 724/437/392 +f 713/492/392 726/422/392 724/420/392 +f 713/440/392 715/507/392 727/441/392 +f 717/443/392 728/490/392 727/425/392 +f 719/493/392 729/446/392 728/447/392 +f 719/449/392 721/448/392 730/429/392 +f 721/450/392 723/494/392 731/451/392 +f 709/453/392 725/489/392 731/435/392 +f 736/455/13 744/398/539 745/400/541 +f 723/459/551 721/457/18 738/495/18 +f 717/496/552 736/461/552 737/462/553 +f 715/463/554 713/431/9 734/464/9 +f 711/466/549 709/470/555 733/467/555 +f 723/459/551 739/497/551 733/469/555 +f 721/457/18 719/460/553 737/506/553 +f 715/463/554 735/498/554 736/472/552 +f 734/474/292 742/387/534 743/389/537 +f 732/477/546 733/476/5 741/377/533 +f 739/478/550 747/418/545 741/417/533 +f 738/481/390 737/480/548 745/404/541 +f 735/482/547 743/393/537 744/394/539 +f 734/484/292 732/499/546 740/380/532 +f 739/485/550 738/500/390 746/412/543 +f 756/375/556 748/504/558 789/376/559 +f 789/380/559 748/378/558 749/486/561 +f 749/487/561 750/388/563 792/389/564 +f 792/393/564 750/390/563 751/392/565 +f 751/488/565 752/399/567 794/400/568 +f 794/404/568 752/501/567 753/405/569 +f 795/412/570 753/410/569 754/502/571 +f 796/418/572 754/416/571 756/503/556 +f 774/489/573 773/420/574 759/421/574 +f 759/421/574 773/420/574 775/422/575 +f 761/423/575 775/422/575 776/425/576 +f 763/424/576 776/425/576 777/490/577 +f 765/343/577 777/505/577 778/427/578 +f 778/427/578 779/429/579 769/430/579 +f 762/431/483 760/466/580 781/432/580 +f 779/429/579 780/435/581 771/434/581 +f 771/434/581 780/435/581 774/489/573 +f 758/436/557 760/491/557 773/437/557 +f 762/492/557 775/422/557 773/420/557 +f 764/507/557 776/441/557 775/442/557 +f 764/444/557 766/443/557 777/490/557 +f 766/445/557 768/493/557 778/446/557 +f 768/449/557 770/448/557 779/429/557 +f 772/494/557 780/451/557 779/452/557 +f 772/454/557 758/453/557 774/489/557 +f 786/456/578 785/455/577 793/398/566 +f 772/459/582 770/457/18 787/495/18 +f 768/460/583 766/496/584 785/461/584 +f 762/431/483 783/464/483 784/465/585 +f 760/466/580 758/470/586 782/467/586 +f 772/459/582 788/497/582 782/469/586 +f 768/460/583 786/506/583 787/471/18 +f 766/473/584 764/463/585 784/498/585 +f 783/474/575 791/387/562 792/389/564 +f 782/476/573 790/377/560 789/376/559 +f 788/478/581 796/418/572 790/417/560 +f 786/480/578 794/404/568 795/406/570 +f 784/482/576 792/393/564 793/394/566 +f 781/499/574 789/380/559 791/379/562 +f 788/485/581 787/500/579 795/412/570 +f 805/375/587 797/504/588 838/376/589 +f 838/380/589 797/378/588 798/486/591 +f 798/487/591 799/388/593 841/389/594 +f 799/390/593 800/392/595 842/394/596 +f 842/398/596 800/488/595 801/399/597 +f 801/501/597 802/405/599 844/406/600 +f 844/412/600 802/410/599 803/502/601 +f 845/418/602 803/416/601 805/503/587 +f 823/489/520 822/420/603 808/421/603 +f 808/421/603 822/420/603 824/422/604 +f 810/423/604 824/422/604 825/425/605 +f 825/425/605 826/490/516 814/426/516 +f 814/343/516 826/505/516 827/427/529 +f 816/428/529 827/427/529 828/429/500 +f 811/431/454 809/466/606 830/432/606 +f 828/429/500 829/435/526 820/434/526 +f 820/434/526 829/435/526 823/489/520 +f 807/436/522 809/491/522 822/437/522 +f 809/439/522 811/492/522 824/422/522 +f 813/507/522 825/441/522 824/442/522 +f 813/444/522 815/443/522 826/490/522 +f 815/445/522 817/493/522 827/446/522 +f 817/449/522 819/448/522 828/429/522 +f 819/450/522 821/494/522 829/451/522 +f 821/454/522 807/453/522 823/489/522 +f 834/455/516 842/398/596 843/400/598 +f 821/459/607 819/457/18 836/495/18 +f 817/460/608 815/496/524 834/461/524 +f 811/431/454 832/464/454 833/465/609 +f 809/466/606 807/470/521 831/467/521 +f 821/459/607 837/497/607 831/469/521 +f 817/460/608 835/506/608 836/471/18 +f 813/463/609 833/498/609 834/472/524 +f 832/474/604 840/387/592 841/389/594 +f 831/476/520 839/377/590 838/376/589 +f 837/478/526 845/418/602 839/417/590 +f 835/480/529 843/404/598 844/406/600 +f 834/483/516 833/482/605 841/393/594 +f 830/499/603 838/380/589 840/379/592 +f 837/485/526 836/500/500 844/412/600 +f 854/375/610 846/504/611 887/376/612 +f 846/378/611 847/486/615 889/379/614 +f 847/487/615 848/388/616 890/389/617 +f 890/393/617 848/390/616 849/392/618 +f 891/398/619 849/488/618 850/399/620 +f 892/404/621 850/501/620 851/405/622 +f 851/410/622 852/502/624 894/411/625 +f 894/418/625 852/416/624 854/503/610 +f 872/489/13 871/420/626 857/421/626 +f 857/421/626 871/420/626 873/422/162 +f 859/423/162 873/422/162 874/425/627 +f 874/425/627 875/490/5 863/426/5 +f 863/343/5 875/505/5 876/427/555 +f 876/427/555 877/429/392 867/430/392 +f 860/431/1 858/466/628 879/432/628 +f 877/429/392 878/435/552 869/434/552 +f 869/434/552 878/435/552 872/489/13 +f 856/436/390 858/491/390 871/437/390 +f 858/439/390 860/492/390 873/422/390 +f 862/507/390 874/441/390 873/442/390 +f 862/444/390 864/443/390 875/490/390 +f 864/445/390 866/493/390 876/446/390 +f 868/448/390 877/429/390 876/427/390 +f 870/494/390 878/451/390 877/452/390 +f 856/453/390 872/489/390 878/435/390 +f 883/455/5 891/398/619 892/400/621 +f 870/459/629 868/457/18 885/495/18 +f 864/496/550 883/461/550 884/462/630 +f 860/431/1 881/464/1 882/465/631 +f 856/470/548 880/467/548 879/468/628 +f 870/459/629 886/497/629 880/469/548 +f 868/457/18 866/460/630 884/506/630 +f 862/463/631 882/498/631 883/472/550 +f 881/474/162 889/387/614 890/389/617 +f 880/476/13 888/377/613 887/376/612 +f 886/478/552 894/418/625 888/417/613 +f 884/480/555 892/404/621 893/406/623 +f 882/482/627 890/393/617 891/394/619 +f 879/499/626 887/380/612 889/379/614 +f 886/485/552 885/500/392 893/412/623 +f 903/375/632 895/504/633 936/376/634 +f 895/378/633 896/486/637 938/379/636 +f 896/487/637 897/388/638 939/389/639 +f 939/393/639 897/390/638 898/392/640 +f 940/398/641 898/488/640 899/399/642 +f 941/404/643 899/501/642 900/405/644 +f 900/410/644 901/502/646 943/411/647 +f 943/418/647 901/416/646 903/503/632 +f 921/489/577 920/420/648 906/421/648 +f 906/421/648 920/420/648 922/422/649 +f 908/423/649 922/422/649 923/425/650 +f 923/425/650 924/490/573 912/426/573 +f 912/343/573 924/505/573 925/427/586 +f 925/427/586 926/429/557 916/430/557 +f 909/431/487 907/466/651 928/432/651 +f 926/429/557 927/435/584 918/434/584 +f 918/434/584 927/435/584 921/489/577 +f 907/491/579 920/437/579 921/438/579 +f 909/492/579 922/422/579 920/420/579 +f 911/507/579 923/441/579 922/442/579 +f 911/444/579 913/443/579 924/490/579 +f 913/445/579 915/493/579 925/446/579 +f 915/449/579 917/448/579 926/429/579 +f 919/494/579 927/451/579 926/452/579 +f 919/454/579 905/453/579 921/489/579 +f 933/456/586 932/455/573 940/398/641 +f 919/459/652 917/457/18 934/495/18 +f 913/496/581 932/461/581 933/462/653 +f 909/431/487 930/464/487 931/465/654 +f 905/470/578 929/467/578 928/468/651 +f 905/470/578 919/459/652 935/497/652 +f 915/460/653 933/506/653 934/471/18 +f 911/463/654 931/498/654 932/472/581 +f 930/474/649 938/387/636 939/389/639 +f 929/476/577 937/377/635 936/376/634 +f 929/479/577 935/478/584 943/418/647 +f 933/480/586 941/404/643 942/406/645 +f 931/482/650 939/393/639 940/394/641 +f 930/484/649 928/499/648 936/380/634 +f 935/485/584 934/500/557 942/412/645 +f 986/377/657 952/375/655 944/504/656 +f 944/378/656 945/486/660 987/379/659 +f 945/487/660 946/388/661 988/389/662 +f 988/393/662 946/390/661 947/392/663 +f 947/488/663 948/399/665 990/400/666 +f 990/404/666 948/501/665 949/405/667 +f 949/410/667 950/502/669 992/411/670 +f 992/418/670 950/416/669 952/503/655 +f 970/489/1 969/420/671 955/421/671 +f 969/420/671 971/422/672 957/423/672 +f 957/423/672 971/422/672 972/425/673 +f 959/424/673 972/425/673 973/490/9 +f 961/343/9 973/505/9 974/427/674 +f 963/428/674 974/427/674 975/429/427 +f 958/431/420 956/466/675 977/432/675 +f 975/429/427 976/435/676 967/434/676 +f 976/435/676 970/489/1 953/419/1 +f 956/491/424 969/437/424 970/438/424 +f 958/492/424 971/422/424 969/420/424 +f 958/440/424 960/507/424 972/441/424 +f 962/443/424 973/490/424 972/425/424 +f 962/445/424 964/493/424 974/446/424 +f 964/449/424 966/448/424 975/429/424 +f 968/494/424 976/451/424 975/452/424 +f 954/453/424 970/489/424 976/435/424 +f 982/456/674 981/455/9 989/398/664 +f 966/457/403 983/495/403 984/458/677 +f 962/496/678 981/461/678 982/462/679 +f 960/463/680 958/431/420 979/464/420 +f 954/470/681 978/467/681 977/468/675 +f 954/470/681 968/459/677 984/497/677 +f 964/460/679 982/506/679 983/471/403 +f 960/463/680 980/498/680 981/472/678 +f 980/475/673 979/474/672 987/387/659 +f 977/477/671 978/476/1 986/377/657 +f 984/478/676 992/418/670 986/417/657 +f 983/481/427 982/480/674 990/404/666 +f 980/482/673 988/393/662 989/394/664 +f 977/499/671 985/380/658 987/379/659 +f 983/500/427 991/412/668 992/411/670 +f 1035/377/684 1001/375/682 993/504/683 +f 993/378/683 994/486/687 1036/379/686 +f 994/487/687 995/388/688 1037/389/689 +f 995/390/688 996/392/690 1038/394/691 +f 1038/398/691 996/488/690 997/399/692 +f 997/501/692 998/405/694 1040/406/695 +f 998/410/694 999/502/696 1041/411/697 +f 999/416/696 1001/503/682 1035/417/684 +f 1019/489/487 1018/420/698 1004/421/698 +f 1004/421/698 1018/420/698 1020/422/699 +f 1006/423/699 1020/422/699 1021/425/700 +f 1008/424/700 1021/425/700 1022/490/483 +f 1010/343/483 1022/505/483 1023/427/498 +f 1012/428/498 1023/427/498 1024/429/467 +f 1005/466/701 1026/432/701 1028/433/702 +f 1024/429/467 1025/435/495 1016/434/495 +f 1016/434/495 1025/435/495 1019/489/487 +f 1005/491/489 1018/437/489 1019/438/489 +f 1005/439/489 1007/492/489 1020/422/489 +f 1007/440/489 1009/507/489 1021/441/489 +f 1009/444/489 1011/443/489 1022/490/489 +f 1011/445/489 1013/493/489 1023/446/489 +f 1013/449/489 1015/448/489 1024/429/489 +f 1017/494/489 1025/451/489 1024/452/489 +f 1003/453/489 1019/489/489 1025/435/489 +f 1030/455/483 1038/398/691 1039/400/693 +f 1015/457/493 1032/495/493 1033/458/703 +f 1011/496/492 1030/461/492 1031/462/704 +f 1009/463/705 1007/431/702 1028/464/702 +f 1003/470/488 1027/467/488 1026/468/701 +f 1017/459/703 1033/497/703 1027/469/488 +f 1015/457/493 1013/460/704 1031/506/704 +f 1009/463/705 1029/498/705 1030/472/492 +f 1029/475/700 1028/474/699 1036/387/686 +f 1026/477/698 1027/476/487 1035/377/684 +f 1033/478/495 1041/418/697 1035/417/684 +f 1031/480/498 1039/404/693 1040/406/695 +f 1029/482/700 1037/393/689 1038/394/691 +f 1026/499/698 1034/380/685 1036/379/686 +f 1032/500/467 1040/412/695 1041/411/697 +f 1050/375/706 1042/504/707 1083/376/708 +f 1083/380/708 1042/378/707 1043/486/710 +f 1043/487/710 1044/388/712 1086/389/713 +f 1086/393/713 1044/390/712 1045/392/714 +f 1087/398/715 1045/488/714 1046/399/716 +f 1088/404/717 1046/501/716 1047/405/718 +f 1089/412/719 1047/410/718 1048/502/720 +f 1048/416/720 1050/503/706 1084/417/709 +f 1068/489/450 1067/420/722 1053/421/722 +f 1053/421/722 1067/420/722 1069/422/723 +f 1069/422/723 1070/425/724 1057/424/724 +f 1057/424/724 1070/425/724 1071/490/454 +f 1059/343/454 1071/505/454 1072/427/725 +f 1072/427/725 1073/429/461 1063/430/461 +f 1054/466/726 1075/432/726 1077/433/452 +f 1073/429/461 1074/435/727 1065/434/727 +f 1074/435/727 1068/489/450 1051/419/450 +f 1052/436/458 1054/491/458 1067/437/458 +f 1056/492/458 1069/422/458 1067/420/458 +f 1058/507/458 1070/441/458 1069/442/458 +f 1060/443/458 1071/490/458 1070/425/458 +f 1060/445/458 1062/493/458 1072/446/458 +f 1064/448/458 1073/429/458 1072/427/458 +f 1064/450/458 1066/494/458 1074/451/458 +f 1052/453/458 1068/489/458 1074/435/458 +f 1080/456/725 1079/455/454 1087/398/715 +f 1066/459/728 1064/457/434 1081/495/434 +f 1062/460/729 1060/496/730 1079/461/730 +f 1058/463/731 1056/431/452 1077/464/452 +f 1054/466/726 1052/470/732 1076/467/732 +f 1052/470/732 1066/459/728 1082/497/728 +f 1062/460/729 1080/506/729 1081/471/434 +f 1060/473/730 1058/463/731 1078/498/731 +f 1077/474/723 1085/387/711 1086/389/713 +f 1076/476/450 1084/377/709 1083/376/708 +f 1082/478/727 1090/418/721 1084/417/709 +f 1081/481/461 1080/480/725 1088/404/717 +f 1079/483/454 1078/482/724 1086/393/713 +f 1075/499/722 1083/380/708 1085/379/711 +f 1081/500/461 1089/412/719 1090/411/721 +f 1099/375/733 1091/504/734 1132/376/735 +f 1091/378/734 1092/486/738 1134/379/737 +f 1092/487/738 1093/388/739 1135/389/740 +f 1093/390/739 1094/392/741 1136/394/742 +f 1136/398/742 1094/488/741 1095/399/743 +f 1137/404/744 1095/501/743 1096/405/745 +f 1138/412/746 1096/410/745 1097/502/747 +f 1139/418/748 1097/416/747 1099/503/733 +f 1117/489/9 1116/420/749 1102/421/749 +f 1102/421/749 1116/420/749 1118/422/750 +f 1118/422/750 1119/425/751 1106/424/751 +f 1106/424/751 1119/425/751 1120/490/1 +f 1108/343/1 1120/505/1 1121/427/432 +f 1110/428/432 1121/427/432 1122/429/403 +f 1103/466/752 1124/432/752 1126/433/753 +f 1112/430/403 1122/429/403 1123/435/430 +f 1123/435/430 1117/489/9 1100/419/9 +f 1101/436/423 1103/491/423 1116/437/423 +f 1103/439/423 1105/492/423 1118/422/423 +f 1107/507/423 1119/441/423 1118/442/423 +f 1109/443/423 1120/490/423 1119/425/423 +f 1111/493/423 1121/446/423 1120/447/423 +f 1111/449/423 1113/448/423 1122/429/423 +f 1113/450/423 1115/494/423 1123/451/423 +f 1115/454/423 1101/453/423 1117/489/423 +f 1129/456/432 1128/455/1 1136/398/742 +f 1113/457/427 1130/495/427 1131/458/754 +f 1109/496/426 1128/461/426 1129/462/755 +f 1105/431/753 1126/464/753 1127/465/756 +f 1103/466/752 1101/470/422 1125/467/422 +f 1115/459/754 1131/497/754 1125/469/422 +f 1113/457/427 1111/460/755 1129/506/755 +f 1109/473/426 1107/463/756 1127/498/756 +f 1126/474/750 1134/387/737 1135/389/740 +f 1124/477/749 1125/476/9 1133/377/736 +f 1131/478/430 1139/418/748 1133/417/736 +f 1130/481/403 1129/480/432 1137/404/744 +f 1127/482/751 1135/393/740 1136/394/742 +f 1126/484/750 1124/499/749 1132/380/735 +f 1131/485/430 1130/500/403 1138/412/746 +f 1148/375/757 1140/504/758 1181/376/759 +f 1140/378/758 1141/486/762 1183/379/761 +f 1141/487/762 1142/388/763 1184/389/764 +f 1142/390/763 1143/392/765 1185/394/766 +f 1185/398/766 1143/488/765 1144/399/767 +f 1186/404/768 1144/501/767 1145/405/769 +f 1187/412/770 1145/410/769 1146/502/771 +f 1146/416/771 1148/503/757 1182/417/760 +f 1166/489/483 1165/420/773 1151/421/773 +f 1151/421/773 1165/420/773 1167/422/774 +f 1167/422/774 1168/425/775 1155/424/775 +f 1155/424/775 1168/425/775 1169/490/487 +f 1157/343/487 1169/505/487 1170/427/776 +f 1170/427/776 1171/429/493 1161/430/493 +f 1152/466/777 1173/432/777 1175/433/485 +f 1171/429/493 1172/435/778 1163/434/778 +f 1163/434/778 1172/435/778 1166/489/483 +f 1150/436/490 1152/491/490 1165/437/490 +f 1152/439/490 1154/492/490 1167/422/490 +f 1154/440/490 1156/507/490 1168/441/490 +f 1156/444/490 1158/443/490 1169/490/490 +f 1158/445/490 1160/493/490 1170/446/490 +f 1160/449/490 1162/448/490 1171/429/490 +f 1162/450/490 1164/494/490 1172/451/490 +f 1164/454/490 1150/453/490 1166/489/490 +f 1177/455/487 1185/398/766 1186/400/768 +f 1162/457/467 1179/495/467 1180/458/779 +f 1158/496/780 1177/461/780 1178/462/781 +f 1156/463/782 1154/431/485 1175/464/485 +f 1150/470/783 1174/467/783 1173/468/777 +f 1150/470/783 1164/459/779 1180/497/779 +f 1162/457/467 1160/460/781 1178/506/781 +f 1158/473/780 1156/463/782 1176/498/782 +f 1175/474/774 1183/387/761 1184/389/764 +f 1173/477/773 1174/476/483 1182/377/760 +f 1180/478/778 1188/418/772 1182/417/760 +f 1178/480/776 1186/404/768 1187/406/770 +f 1177/483/487 1176/482/775 1184/393/764 +f 1173/499/773 1181/380/759 1183/379/761 +f 1179/500/493 1187/412/770 1188/411/772 +f 1197/375/784 1189/504/785 1230/376/786 +f 1189/378/785 1190/486/789 1232/379/788 +f 1232/387/788 1190/487/789 1191/388/790 +f 1191/390/790 1192/392/792 1234/394/793 +f 1234/398/793 1192/488/792 1193/399/794 +f 1235/404/795 1193/501/794 1194/405/796 +f 1236/412/797 1194/410/796 1195/502/798 +f 1237/418/799 1195/416/798 1197/503/784 +f 1215/489/454 1214/420/800 1200/421/800 +f 1200/421/800 1214/420/800 1216/422/801 +f 1216/422/801 1217/425/802 1204/424/802 +f 1204/424/802 1217/425/802 1218/490/450 +f 1206/343/450 1218/505/450 1219/427/465 +f 1219/427/465 1220/429/434 1210/430/434 +f 1201/466/803 1222/432/803 1224/433/804 +f 1220/429/434 1221/435/462 1212/434/462 +f 1221/435/462 1215/489/454 1198/419/454 +f 1199/436/456 1201/491/456 1214/437/456 +f 1201/439/456 1203/492/456 1216/422/456 +f 1203/440/456 1205/507/456 1217/441/456 +f 1205/444/456 1207/443/456 1218/490/456 +f 1207/445/456 1209/493/456 1219/446/456 +f 1209/449/456 1211/448/456 1220/429/456 +f 1213/494/456 1221/451/456 1220/452/456 +f 1213/454/456 1199/453/456 1215/489/456 +f 1226/455/450 1234/398/793 1235/400/795 +f 1211/457/461 1228/495/461 1229/458/805 +f 1207/496/459 1226/461/459 1227/462/806 +f 1205/463/807 1203/431/804 1224/464/804 +f 1199/470/455 1223/467/455 1222/468/803 +f 1199/470/455 1213/459/805 1229/497/805 +f 1211/457/461 1209/460/806 1227/506/806 +f 1207/473/459 1205/463/807 1225/498/807 +f 1224/474/801 1232/387/788 1233/389/791 +f 1222/477/800 1223/476/454 1231/377/787 +f 1223/479/454 1229/478/462 1237/418/799 +f 1227/480/465 1235/404/795 1236/406/797 +f 1226/483/450 1225/482/802 1233/393/791 +f 1222/499/800 1230/380/786 1232/379/788 +f 1229/485/462 1228/500/434 1236/412/797 +f 1279/376/810 1238/504/809 1246/375/808 +f 1281/379/812 1239/486/813 1238/378/809 +f 1281/387/812 1282/389/816 1240/388/814 +f 1282/393/816 1283/394/819 1241/392/815 +f 1284/400/818 1242/399/817 1241/488/815 +f 1284/404/818 1285/406/823 1243/405/820 +f 1286/411/822 1244/502/821 1243/410/820 +f 1286/418/822 1280/417/811 1246/503/808 +f 1247/419/9 1249/421/422 1263/420/422 +f 1249/421/422 1251/423/423 1265/422/423 +f 1253/424/426 1266/425/426 1265/422/423 +f 1255/426/1 1267/490/1 1266/425/426 +f 1255/343/1 1257/428/419 1268/427/419 +f 1259/430/420 1269/429/420 1268/427/419 +f 1273/433/753 1271/432/824 1250/466/824 +f 1261/434/421 1270/435/421 1269/429/420 +f 1247/419/9 1264/489/9 1270/435/421 +f 1248/436/750 1264/438/750 1263/437/750 +f 1263/420/750 1265/422/750 1252/492/750 +f 1265/442/750 1266/441/750 1254/507/750 +f 1266/425/750 1267/490/750 1256/443/750 +f 1256/445/750 1267/447/750 1268/446/750 +f 1268/427/750 1269/429/750 1260/448/750 +f 1260/450/750 1269/452/750 1270/451/750 +f 1270/435/750 1264/489/750 1248/453/750 +f 1284/400/818 1283/398/819 1275/455/1 +f 1262/459/825 1278/458/825 1277/495/672 +f 1258/460/826 1276/462/826 1275/461/751 +f 1274/465/827 1273/464/753 1252/431/753 +f 1250/466/824 1271/468/824 1272/467/749 +f 1272/469/749 1278/497/825 1262/459/825 +f 1277/471/672 1276/506/826 1258/460/826 +f 1275/472/751 1274/498/827 1254/463/827 +f 1282/389/816 1281/387/812 1273/474/423 +f 1279/376/810 1280/377/811 1272/476/9 +f 1272/479/9 1280/417/811 1286/418/822 +f 1285/406/823 1284/404/818 1276/480/419 +f 1283/394/819 1282/393/816 1274/482/426 +f 1273/484/423 1281/379/812 1279/380/810 +f 1278/485/421 1286/411/822 1285/412/823 +f 1328/376/830 1287/504/829 1295/375/828 +f 1328/380/830 1330/379/835 1288/486/832 +f 1331/389/834 1289/388/833 1288/487/832 +f 1332/394/837 1290/392/836 1289/390/833 +f 1333/400/839 1291/399/838 1290/488/836 +f 1334/406/841 1292/405/840 1291/501/838 +f 1334/412/841 1335/411/843 1293/502/842 +f 1329/417/831 1295/503/828 1293/416/842 +f 1298/421/455 1312/420/455 1313/489/454 +f 1300/423/456 1314/422/456 1312/420/455 +f 1302/424/459 1315/425/459 1314/422/456 +f 1304/426/450 1316/490/450 1315/425/459 +f 1306/428/451 1317/427/451 1316/505/450 +f 1308/430/452 1318/429/452 1317/427/451 +f 1322/433/804 1320/432/844 1299/466/844 +f 1310/434/453 1319/435/453 1318/429/452 +f 1296/419/454 1313/489/454 1319/435/453 +f 1313/438/801 1312/437/801 1299/491/801 +f 1312/420/801 1314/422/801 1301/492/801 +f 1301/440/801 1314/442/801 1315/441/801 +f 1315/425/801 1316/490/801 1305/443/801 +f 1316/447/801 1317/446/801 1307/493/801 +f 1317/427/801 1318/429/801 1309/448/801 +f 1309/450/801 1318/452/801 1319/451/801 +f 1319/435/801 1313/489/801 1297/453/801 +f 1333/400/839 1332/398/837 1324/455/450 +f 1311/459/845 1327/458/845 1326/495/723 +f 1325/462/846 1324/461/802 1305/496/802 +f 1303/463/847 1323/465/847 1322/464/804 +f 1320/468/844 1321/467/800 1297/470/800 +f 1321/469/800 1327/497/845 1311/459/845 +f 1326/471/723 1325/506/846 1307/460/846 +f 1305/473/802 1324/472/802 1323/498/847 +f 1323/475/459 1331/389/834 1330/387/835 +f 1328/376/830 1329/377/831 1321/476/454 +f 1321/479/454 1329/417/831 1335/418/843 +f 1326/481/452 1334/406/841 1333/404/839 +f 1324/483/450 1332/394/837 1331/393/834 +f 1330/379/835 1328/380/830 1320/499/455 +f 1335/411/843 1334/412/841 1326/500/452 +f 1377/376/850 1336/504/849 1344/375/848 +f 1379/379/852 1337/486/853 1336/378/849 +f 1379/387/852 1380/389/856 1338/388/854 +f 1380/393/856 1381/394/859 1339/392/855 +f 1382/400/858 1340/399/857 1339/488/855 +f 1383/406/861 1341/405/860 1340/501/857 +f 1384/411/863 1342/502/862 1341/410/860 +f 1384/418/863 1378/417/851 1344/503/848 +f 1347/421/488 1361/420/488 1362/489/487 +f 1349/423/489 1363/422/489 1361/420/488 +f 1351/424/492 1364/425/492 1363/422/489 +f 1351/424/492 1353/426/483 1365/490/483 +f 1353/343/483 1355/428/484 1366/427/484 +f 1357/430/485 1367/429/485 1366/427/484 +f 1350/431/702 1371/433/702 1369/432/864 +f 1357/430/485 1359/434/486 1368/435/486 +f 1345/419/487 1362/489/487 1368/435/486 +f 1362/438/699 1361/437/699 1348/491/699 +f 1361/420/699 1363/422/699 1350/492/699 +f 1363/442/699 1364/441/699 1352/507/699 +f 1364/425/699 1365/490/699 1354/443/699 +f 1365/447/699 1366/446/699 1356/493/699 +f 1366/427/699 1367/429/699 1358/448/699 +f 1367/452/699 1368/451/699 1360/494/699 +f 1360/454/699 1368/435/699 1362/489/699 +f 1382/400/858 1381/398/859 1373/455/483 +f 1376/458/865 1375/495/774 1358/457/774 +f 1374/462/866 1373/461/700 1354/496/700 +f 1352/463/867 1372/465/867 1371/464/702 +f 1348/466/864 1369/468/864 1370/467/698 +f 1370/469/698 1376/497/865 1360/459/865 +f 1375/471/774 1374/506/866 1356/460/866 +f 1354/473/700 1373/472/700 1372/498/867 +f 1380/389/856 1379/387/852 1371/474/489 +f 1369/477/488 1377/376/850 1378/377/851 +f 1378/417/851 1384/418/863 1376/478/486 +f 1383/406/861 1382/404/858 1374/480/484 +f 1373/483/483 1381/394/859 1380/393/856 +f 1379/379/852 1377/380/850 1369/499/488 +f 1384/411/863 1383/412/861 1375/500/485 +f 1427/377/870 1426/376/872 1385/504/869 +f 1428/379/871 1386/486/873 1385/378/869 +f 1428/387/871 1429/389/877 1387/388/874 +f 1430/394/876 1388/392/875 1387/390/874 +f 1431/400/879 1389/399/878 1388/488/875 +f 1431/404/879 1432/406/883 1390/405/880 +f 1433/411/882 1391/502/881 1390/410/880 +f 1433/418/882 1427/417/870 1393/503/868 +f 1394/419/520 1396/421/521 1410/420/521 +f 1396/421/521 1398/423/522 1412/422/522 +f 1400/424/524 1413/425/524 1412/422/522 +f 1400/424/524 1402/426/516 1414/490/516 +f 1404/428/517 1415/427/517 1414/505/516 +f 1406/430/518 1416/429/518 1415/427/517 +f 1420/433/454 1418/432/884 1397/466/884 +f 1406/430/518 1408/434/519 1417/435/519 +f 1394/419/520 1411/489/520 1417/435/519 +f 1395/436/604 1411/438/604 1410/437/604 +f 1410/420/604 1412/422/604 1399/492/604 +f 1399/440/604 1412/442/604 1413/441/604 +f 1413/425/604 1414/490/604 1403/443/604 +f 1414/447/604 1415/446/604 1405/493/604 +f 1415/427/604 1416/429/604 1407/448/604 +f 1416/452/604 1417/451/604 1409/494/604 +f 1417/435/604 1411/489/604 1395/453/604 +f 1431/400/879 1430/398/876 1422/455/516 +f 1425/458/885 1424/495/17 1407/457/17 +f 1423/462/886 1422/461/605 1403/496/605 +f 1421/465/887 1420/464/454 1399/431/454 +f 1397/466/884 1418/468/884 1419/467/603 +f 1419/469/603 1425/497/885 1409/459/885 +f 1424/471/17 1423/506/886 1405/460/886 +f 1403/473/605 1422/472/605 1421/498/887 +f 1429/389/877 1428/387/871 1420/474/522 +f 1426/376/872 1427/377/870 1419/476/520 +f 1419/479/520 1427/417/870 1433/418/882 +f 1432/406/883 1431/404/879 1423/480/517 +f 1422/483/516 1430/394/876 1429/393/877 +f 1420/484/522 1428/379/871 1426/380/872 +f 1433/411/882 1432/412/883 1424/500/518 +f 1475/376/890 1434/504/889 1442/375/888 +f 1477/379/892 1435/486/893 1434/378/889 +f 1477/387/892 1478/389/897 1436/388/894 +f 1479/394/896 1437/392/895 1436/390/894 +f 1479/398/896 1480/400/901 1438/399/898 +f 1481/406/900 1439/405/899 1438/501/898 +f 1481/412/900 1482/411/903 1440/502/902 +f 1476/417/891 1442/503/888 1440/416/902 +f 1445/421/548 1459/420/548 1460/489/13 +f 1447/423/390 1461/422/390 1459/420/548 +f 1447/423/390 1449/424/550 1462/425/550 +f 1449/424/550 1451/426/5 1463/490/5 +f 1451/343/5 1453/428/546 1464/427/546 +f 1455/430/292 1465/429/292 1464/427/546 +f 1469/433/1 1467/432/904 1446/466/904 +f 1455/430/292 1457/434/547 1466/435/547 +f 1457/434/547 1443/419/13 1460/489/13 +f 1444/436/162 1460/438/162 1459/437/162 +f 1459/420/162 1461/422/162 1448/492/162 +f 1448/440/162 1461/442/162 1462/441/162 +f 1462/425/162 1463/490/162 1452/443/162 +f 1463/447/162 1464/446/162 1454/493/162 +f 1454/449/162 1464/427/162 1465/429/162 +f 1456/450/162 1465/452/162 1466/451/162 +f 1466/435/162 1460/489/162 1444/453/162 +f 1480/400/901 1479/398/896 1471/455/5 +f 1458/459/905 1474/458/905 1473/495/17 +f 1472/462/906 1471/461/627 1452/496/627 +f 1450/463/907 1470/465/907 1469/464/1 +f 1446/466/904 1467/468/904 1468/467/626 +f 1468/469/626 1474/497/905 1458/459/905 +f 1456/457/17 1473/471/17 1472/506/906 +f 1471/472/627 1470/498/907 1450/463/907 +f 1478/389/897 1477/387/892 1469/474/390 +f 1475/376/890 1476/377/891 1468/476/13 +f 1476/417/891 1482/418/903 1474/478/547 +f 1481/406/900 1480/404/901 1472/480/546 +f 1471/483/5 1479/394/896 1478/393/897 +f 1477/379/892 1475/380/890 1467/499/548 +f 1482/411/903 1481/412/900 1473/500/292 +f 1524/376/910 1483/504/909 1491/375/908 +f 1526/379/912 1484/486/913 1483/378/909 +f 1527/389/915 1485/388/914 1484/487/913 +f 1527/393/915 1528/394/919 1486/392/916 +f 1529/400/918 1487/399/917 1486/488/916 +f 1529/404/918 1530/406/922 1488/405/920 +f 1530/412/922 1531/411/923 1489/502/921 +f 1531/418/923 1525/417/911 1491/503/908 +f 1494/421/578 1508/420/578 1509/489/577 +f 1494/421/578 1496/423/579 1510/422/579 +f 1496/423/579 1498/424/581 1511/425/581 +f 1498/424/581 1500/426/573 1512/490/573 +f 1500/343/573 1502/428/574 1513/427/574 +f 1502/428/574 1504/430/575 1514/429/575 +f 1497/431/487 1518/433/487 1516/432/924 +f 1506/434/576 1515/435/576 1514/429/575 +f 1506/434/576 1492/419/577 1509/489/577 +f 1509/438/649 1508/437/649 1495/491/649 +f 1508/420/649 1510/422/649 1497/492/649 +f 1510/442/649 1511/441/649 1499/507/649 +f 1499/444/649 1511/425/649 1512/490/649 +f 1501/445/649 1512/447/649 1513/446/649 +f 1503/449/649 1513/427/649 1514/429/649 +f 1514/452/649 1515/451/649 1507/494/649 +f 1507/454/649 1515/435/649 1509/489/649 +f 1529/400/918 1528/398/919 1520/455/573 +f 1507/459/925 1523/458/925 1522/495/17 +f 1503/460/926 1521/462/926 1520/461/650 +f 1519/465/927 1518/464/487 1497/431/487 +f 1516/468/924 1517/467/648 1493/470/648 +f 1517/469/648 1523/497/925 1507/459/925 +f 1522/471/17 1521/506/926 1503/460/926 +f 1501/473/650 1520/472/650 1519/498/927 +f 1519/475/581 1527/389/915 1526/387/912 +f 1524/376/910 1525/377/911 1517/476/577 +f 1525/417/911 1531/418/923 1523/478/576 +f 1530/406/922 1529/404/918 1521/480/574 +f 1528/394/919 1527/393/915 1519/482/581 +f 1518/484/579 1526/379/912 1524/380/910 +f 1523/485/576 1531/411/923 1530/412/922 +f 1573/376/930 1532/504/929 1540/375/928 +f 1575/379/932 1533/486/933 1532/378/929 +f 1576/389/935 1534/388/934 1533/487/933 +f 1577/394/937 1535/392/936 1534/390/934 +f 1577/398/937 1578/400/941 1536/399/938 +f 1579/406/940 1537/405/939 1536/501/938 +f 1580/411/943 1538/502/942 1537/410/939 +f 1580/418/943 1574/417/931 1540/503/928 +f 1541/419/516 1543/421/529 1557/420/529 +f 1543/421/529 1545/423/500 1559/422/500 +f 1545/423/500 1547/424/526 1560/425/526 +f 1549/426/520 1561/490/520 1560/425/526 +f 1549/343/520 1551/428/603 1562/427/603 +f 1551/428/603 1553/430/604 1563/429/604 +f 1546/431/450 1567/433/450 1565/432/944 +f 1555/434/605 1564/435/605 1563/429/604 +f 1555/434/605 1541/419/516 1558/489/516 +f 1558/438/518 1557/437/518 1544/491/518 +f 1544/439/518 1557/420/518 1559/422/518 +f 1559/442/518 1560/441/518 1548/507/518 +f 1560/425/518 1561/490/518 1550/443/518 +f 1550/445/518 1561/447/518 1562/446/518 +f 1552/449/518 1562/427/518 1563/429/518 +f 1563/452/518 1564/451/518 1556/494/518 +f 1556/454/518 1564/435/518 1558/489/518 +f 1578/400/941 1577/398/937 1569/455/520 +f 1556/459/945 1572/458/945 1571/495/17 +f 1552/460/946 1570/462/946 1569/461/519 +f 1568/465/947 1567/464/450 1546/431/450 +f 1544/466/944 1565/468/944 1566/467/517 +f 1566/469/517 1572/497/945 1556/459/945 +f 1571/471/17 1570/506/946 1552/460/946 +f 1569/472/519 1568/498/947 1548/463/947 +f 1568/475/526 1576/389/935 1575/387/932 +f 1573/376/930 1574/377/931 1566/476/516 +f 1574/417/931 1580/418/943 1572/478/605 +f 1579/406/940 1578/404/941 1570/480/603 +f 1577/394/937 1576/393/935 1568/482/526 +f 1575/379/932 1573/380/930 1565/499/529 +f 1572/485/605 1580/411/943 1579/412/940 +f 1622/376/950 1581/504/949 1589/375/948 +f 1624/379/952 1582/486/953 1581/378/949 +f 1624/387/952 1625/389/956 1583/388/954 +f 1625/393/956 1626/394/958 1584/392/955 +f 1626/398/958 1627/400/960 1585/399/957 +f 1627/404/960 1628/406/963 1586/405/959 +f 1629/411/962 1587/502/961 1586/410/959 +f 1629/418/962 1623/417/951 1589/503/948 +f 1592/421/555 1606/420/555 1607/489/5 +f 1592/421/555 1594/423/392 1608/422/392 +f 1594/423/392 1596/424/552 1609/425/552 +f 1598/426/13 1610/490/13 1609/425/552 +f 1598/343/13 1600/428/626 1611/427/626 +f 1602/430/162 1612/429/162 1611/427/626 +f 1595/431/9 1616/433/9 1614/432/964 +f 1604/434/627 1613/435/627 1612/429/162 +f 1604/434/627 1590/419/5 1607/489/5 +f 1591/436/292 1607/438/292 1606/437/292 +f 1593/439/292 1606/420/292 1608/422/292 +f 1608/442/292 1609/441/292 1597/507/292 +f 1597/444/292 1609/425/292 1610/490/292 +f 1599/445/292 1610/447/292 1611/446/292 +f 1611/427/292 1612/429/292 1603/448/292 +f 1612/452/292 1613/451/292 1605/494/292 +f 1613/435/292 1607/489/292 1591/453/292 +f 1627/400/960 1626/398/958 1618/455/13 +f 1605/459/965 1621/458/965 1620/495/17 +f 1619/462/966 1618/461/547 1599/496/547 +f 1617/465/967 1616/464/9 1595/431/9 +f 1614/468/964 1615/467/546 1591/470/546 +f 1615/469/546 1621/497/965 1605/459/965 +f 1603/457/17 1620/471/17 1619/506/966 +f 1618/472/547 1617/498/967 1597/463/967 +f 1625/389/956 1624/387/952 1616/474/392 +f 1614/477/555 1622/376/950 1623/377/951 +f 1623/417/951 1629/418/962 1621/478/627 +f 1628/406/963 1627/404/960 1619/480/626 +f 1626/394/958 1625/393/956 1617/482/552 +f 1624/379/952 1622/380/950 1614/499/555 +f 1629/411/962 1628/412/963 1620/500/162 +f 1671/376/970 1630/504/969 1638/375/968 +f 1673/379/972 1631/486/973 1630/378/969 +f 1674/389/975 1632/388/974 1631/487/973 +f 1674/393/975 1675/394/978 1633/392/976 +f 1675/398/978 1676/400/980 1634/399/977 +f 1676/404/980 1677/406/983 1635/405/979 +f 1678/411/982 1636/502/981 1635/410/979 +f 1678/418/982 1672/417/971 1638/503/968 +f 1641/421/586 1655/420/586 1656/489/573 +f 1643/423/557 1657/422/557 1655/420/586 +f 1643/423/557 1645/424/584 1658/425/584 +f 1647/426/577 1659/490/577 1658/425/584 +f 1647/343/577 1649/428/648 1660/427/648 +f 1651/430/649 1661/429/649 1660/427/648 +f 1644/431/483 1665/433/483 1663/432/984 +f 1653/434/650 1662/435/650 1661/429/649 +f 1653/434/650 1639/419/573 1656/489/573 +f 1656/438/575 1655/437/575 1642/491/575 +f 1655/420/575 1657/422/575 1644/492/575 +f 1657/442/575 1658/441/575 1646/507/575 +f 1646/444/575 1658/425/575 1659/490/575 +f 1648/445/575 1659/447/575 1660/446/575 +f 1650/449/575 1660/427/575 1661/429/575 +f 1661/452/575 1662/451/575 1654/494/575 +f 1654/454/575 1662/435/575 1656/489/575 +f 1668/456/648 1676/400/980 1675/398/978 +f 1654/459/985 1670/458/985 1669/495/17 +f 1668/462/986 1667/461/576 1648/496/576 +f 1666/465/987 1665/464/483 1644/431/483 +f 1663/468/984 1664/467/574 1640/470/574 +f 1664/469/574 1670/497/985 1654/459/985 +f 1669/471/17 1668/506/986 1650/460/986 +f 1667/472/576 1666/498/987 1646/463/987 +f 1674/389/975 1673/387/972 1665/474/557 +f 1671/376/970 1672/377/971 1664/476/573 +f 1664/479/573 1672/417/971 1678/418/982 +f 1677/406/983 1676/404/980 1668/480/648 +f 1675/394/978 1674/393/975 1666/482/584 +f 1665/484/557 1673/379/972 1671/380/970 +f 1670/485/650 1678/411/982 1677/412/983 +f 1720/376/990 1679/504/989 1687/375/988 +f 1720/380/990 1722/379/994 1680/486/992 +f 1722/387/994 1723/389/996 1681/388/993 +f 1723/393/996 1724/394/999 1682/392/995 +f 1725/400/998 1683/399/997 1682/488/995 +f 1725/404/998 1726/406/1003 1684/405/1000 +f 1727/411/1002 1685/502/1001 1684/410/1000 +f 1727/418/1002 1721/417/991 1687/503/988 +f 1690/421/674 1704/420/674 1705/489/9 +f 1692/423/427 1706/422/427 1704/420/674 +f 1692/423/427 1694/424/676 1707/425/676 +f 1694/424/676 1696/426/1 1708/490/1 +f 1696/343/1 1698/428/671 1709/427/671 +f 1698/428/671 1700/430/672 1710/429/672 +f 1693/431/423 1714/433/423 1712/432/1004 +f 1702/434/673 1711/435/673 1710/429/672 +f 1688/419/9 1705/489/9 1711/435/673 +f 1705/438/753 1704/437/753 1691/491/753 +f 1704/420/753 1706/422/753 1693/492/753 +f 1693/440/753 1706/442/753 1707/441/753 +f 1707/425/753 1708/490/753 1697/443/753 +f 1697/445/753 1708/447/753 1709/446/753 +f 1709/427/753 1710/429/753 1701/448/753 +f 1710/452/753 1711/451/753 1703/494/753 +f 1711/435/753 1705/489/753 1689/453/753 +f 1717/456/671 1725/400/998 1724/398/999 +f 1703/459/1005 1719/458/1005 1718/495/750 +f 1717/462/1006 1716/461/1007 1697/496/1007 +f 1695/463/1008 1715/465/1008 1714/464/423 +f 1712/468/1004 1713/467/1009 1689/470/1009 +f 1689/470/1009 1713/469/1009 1719/497/1005 +f 1718/471/750 1717/506/1006 1699/460/1006 +f 1697/473/1007 1716/472/1007 1715/498/1008 +f 1715/475/676 1723/389/996 1722/387/994 +f 1712/477/674 1720/376/990 1721/377/991 +f 1721/417/991 1727/418/1002 1719/478/673 +f 1718/481/672 1726/406/1003 1725/404/998 +f 1724/394/999 1723/393/996 1715/482/676 +f 1722/379/994 1720/380/990 1712/499/674 +f 1727/411/1002 1726/412/1003 1718/500/672 +f 1770/377/1012 1769/376/1014 1728/504/1011 +f 1771/379/1013 1729/486/1015 1728/378/1011 +f 1772/389/1017 1730/388/1016 1729/487/1015 +f 1772/393/1017 1773/394/1020 1731/392/1018 +f 1773/398/1020 1774/400/1023 1732/399/1019 +f 1775/406/1022 1733/405/1021 1732/501/1019 +f 1776/411/1025 1734/502/1024 1733/410/1021 +f 1770/417/1012 1736/503/1010 1734/416/1024 +f 1739/421/498 1753/420/498 1754/489/483 +f 1739/421/498 1741/423/467 1755/422/467 +f 1743/424/495 1756/425/495 1755/422/467 +f 1743/424/495 1745/426/487 1757/490/487 +f 1747/428/698 1758/427/698 1757/505/487 +f 1747/428/698 1749/430/699 1759/429/699 +f 1763/433/490 1761/432/1026 1740/466/1026 +f 1751/434/700 1760/435/700 1759/429/699 +f 1751/434/700 1737/419/483 1754/489/483 +f 1754/438/485 1753/437/485 1740/491/485 +f 1740/439/485 1753/420/485 1755/422/485 +f 1742/440/485 1755/442/485 1756/441/485 +f 1756/425/485 1757/490/485 1746/443/485 +f 1746/445/485 1757/447/485 1758/446/485 +f 1748/449/485 1758/427/485 1759/429/485 +f 1759/452/485 1760/451/485 1752/494/485 +f 1760/435/485 1754/489/485 1738/453/485 +f 1766/456/698 1774/400/1023 1773/398/1020 +f 1768/458/1027 1767/495/774 1750/457/774 +f 1766/462/1028 1765/461/486 1746/496/486 +f 1744/463/1029 1764/465/1029 1763/464/490 +f 1761/468/1026 1762/467/484 1738/470/484 +f 1762/469/484 1768/497/1027 1752/459/1027 +f 1750/457/774 1767/471/774 1766/506/1028 +f 1746/473/486 1765/472/486 1764/498/1029 +f 1764/475/495 1772/389/1017 1771/387/1013 +f 1761/477/498 1769/376/1014 1770/377/1012 +f 1770/417/1012 1776/418/1025 1768/478/700 +f 1775/406/1022 1774/404/1023 1766/480/698 +f 1765/483/487 1773/394/1020 1772/393/1017 +f 1771/379/1013 1769/380/1014 1761/499/498 +f 1768/485/700 1776/411/1025 1775/412/1022 +f 1818/376/1032 1777/504/1031 1785/375/1030 +f 1818/380/1032 1820/379/1036 1778/486/1034 +f 1820/387/1036 1821/389/1038 1779/388/1035 +f 1821/393/1038 1822/394/1040 1780/392/1037 +f 1822/398/1040 1823/400/1042 1781/399/1039 +f 1823/404/1042 1824/406/1044 1782/405/1041 +f 1824/412/1044 1825/411/1045 1783/502/1043 +f 1819/417/1033 1785/503/1030 1783/416/1043 +f 1788/421/725 1802/420/725 1803/489/454 +f 1788/421/725 1790/423/461 1804/422/461 +f 1792/424/727 1805/425/727 1804/422/461 +f 1792/424/727 1794/426/450 1806/490/450 +f 1794/343/450 1796/428/722 1807/427/722 +f 1798/430/723 1808/429/723 1807/427/722 +f 1812/433/456 1810/432/1046 1789/466/1046 +f 1800/434/724 1809/435/724 1808/429/723 +f 1786/419/454 1803/489/454 1809/435/724 +f 1787/436/804 1803/438/804 1802/437/804 +f 1802/420/804 1804/422/804 1791/492/804 +f 1791/440/804 1804/442/804 1805/441/804 +f 1805/425/804 1806/490/804 1795/443/804 +f 1795/445/804 1806/447/804 1807/446/804 +f 1807/427/804 1808/429/804 1799/448/804 +f 1799/450/804 1808/452/804 1809/451/804 +f 1809/435/804 1803/489/804 1787/453/804 +f 1815/456/722 1823/400/1042 1822/398/1040 +f 1801/459/1047 1817/458/1047 1816/495/801 +f 1815/462/1048 1814/461/1049 1795/496/1049 +f 1793/463/1050 1813/465/1050 1812/464/456 +f 1789/466/1046 1810/468/1046 1811/467/1051 +f 1787/470/1051 1811/469/1051 1817/497/1047 +f 1816/471/801 1815/506/1048 1797/460/1048 +f 1795/473/1049 1814/472/1049 1813/498/1050 +f 1821/389/1038 1820/387/1036 1812/474/461 +f 1818/376/1032 1819/377/1033 1811/476/454 +f 1819/417/1033 1825/418/1045 1817/478/724 +f 1824/406/1044 1823/404/1042 1815/480/722 +f 1814/483/450 1822/394/1040 1821/393/1038 +f 1820/379/1036 1818/380/1032 1810/499/725 +f 1817/485/724 1825/411/1045 1824/412/1044 +f 1867/376/1054 1826/504/1053 1834/375/1052 +f 1869/379/1056 1827/486/1057 1826/378/1053 +f 1870/389/1059 1828/388/1058 1827/487/1057 +f 1870/393/1059 1871/394/1062 1829/392/1060 +f 1871/398/1062 1872/400/1064 1830/399/1061 +f 1872/404/1064 1873/406/1066 1831/405/1063 +f 1873/412/1066 1874/411/1067 1832/502/1065 +f 1874/418/1067 1868/417/1055 1834/503/1052 +f 1837/421/432 1851/420/432 1852/489/1 +f 1837/421/432 1839/423/403 1853/422/403 +f 1841/424/430 1854/425/430 1853/422/403 +f 1841/424/430 1843/426/9 1855/490/9 +f 1843/343/9 1845/428/749 1856/427/749 +f 1847/430/750 1857/429/750 1856/427/749 +f 1861/433/424 1859/432/1068 1838/466/1068 +f 1847/430/750 1849/434/751 1858/435/751 +f 1835/419/1 1852/489/1 1858/435/751 +f 1836/436/420 1852/438/420 1851/437/420 +f 1838/439/420 1851/420/420 1853/422/420 +f 1853/442/420 1854/441/420 1842/507/420 +f 1854/425/420 1855/490/420 1844/443/420 +f 1855/447/420 1856/446/420 1846/493/420 +f 1846/449/420 1856/427/420 1857/429/420 +f 1848/450/420 1857/452/420 1858/451/420 +f 1850/454/420 1858/435/420 1852/489/420 +f 1864/456/749 1872/400/1064 1871/398/1062 +f 1866/458/1069 1865/495/672 1848/457/672 +f 1864/462/1070 1863/461/421 1844/496/421 +f 1862/465/1071 1861/464/424 1840/431/424 +f 1838/466/1068 1859/468/1068 1860/467/419 +f 1860/469/419 1866/497/1069 1850/459/1069 +f 1848/457/672 1865/471/672 1864/506/1070 +f 1844/473/421 1863/472/421 1862/498/1071 +f 1870/389/1059 1869/387/1056 1861/474/403 +f 1859/477/432 1867/376/1054 1868/377/1055 +f 1868/417/1055 1874/418/1067 1866/478/751 +f 1865/481/750 1873/406/1066 1872/404/1064 +f 1871/394/1062 1870/393/1059 1862/482/430 +f 1861/484/403 1869/379/1056 1867/380/1054 +f 1866/485/751 1874/411/1067 1873/412/1066 +f 1916/376/1074 1875/504/1073 1883/375/1072 +f 1918/379/1076 1876/486/1077 1875/378/1073 +f 1918/387/1076 1919/389/1081 1877/388/1078 +f 1920/394/1080 1878/392/1079 1877/390/1078 +f 1920/398/1080 1921/400/1084 1879/399/1082 +f 1921/404/1084 1922/406/1086 1880/405/1083 +f 1922/412/1086 1923/411/1087 1881/502/1085 +f 1917/417/1075 1883/503/1072 1881/416/1085 +f 1886/421/776 1900/420/776 1901/489/487 +f 1886/421/776 1888/423/493 1902/422/493 +f 1890/424/778 1903/425/778 1902/422/493 +f 1890/424/778 1892/426/483 1904/490/483 +f 1892/343/483 1894/428/773 1905/427/773 +f 1896/430/774 1906/429/774 1905/427/773 +f 1910/433/489 1908/432/1088 1887/466/1088 +f 1896/430/774 1898/434/775 1907/435/775 +f 1884/419/487 1901/489/487 1907/435/775 +f 1885/436/702 1901/438/702 1900/437/702 +f 1887/439/702 1900/420/702 1902/422/702 +f 1889/440/702 1902/442/702 1903/441/702 +f 1891/444/702 1903/425/702 1904/490/702 +f 1893/445/702 1904/447/702 1905/446/702 +f 1895/449/702 1905/427/702 1906/429/702 +f 1906/452/702 1907/451/702 1899/494/702 +f 1899/454/702 1907/435/702 1901/489/702 +f 1921/400/1084 1920/398/1080 1912/455/483 +f 1915/458/1089 1914/495/699 1897/457/699 +f 1913/462/1090 1912/461/1091 1893/496/1091 +f 1891/463/1092 1911/465/1092 1910/464/489 +f 1908/468/1088 1909/467/1093 1885/470/1093 +f 1885/470/1093 1909/469/1093 1915/497/1089 +f 1897/457/699 1914/471/699 1913/506/1090 +f 1893/473/1091 1912/472/1091 1911/498/1092 +f 1911/475/778 1919/389/1081 1918/387/1076 +f 1916/376/1074 1917/377/1075 1909/476/487 +f 1917/417/1075 1923/418/1087 1915/478/775 +f 1922/406/1086 1921/404/1084 1913/480/773 +f 1912/483/483 1920/394/1080 1919/393/1081 +f 1918/379/1076 1916/380/1074 1908/499/776 +f 1915/485/775 1923/411/1087 1922/412/1086 +f 1965/376/1096 1924/504/1095 1932/375/1094 +f 1965/380/1096 1967/379/1100 1925/486/1098 +f 1967/387/1100 1968/389/1103 1926/388/1099 +f 1969/394/1102 1927/392/1101 1926/390/1099 +f 1969/398/1102 1970/400/1106 1928/399/1104 +f 1970/404/1106 1971/406/1108 1929/405/1105 +f 1971/412/1108 1972/411/1109 1930/502/1107 +f 1972/418/1109 1966/417/1097 1932/503/1094 +f 1935/421/465 1949/420/465 1950/489/450 +f 1935/421/465 1937/423/434 1951/422/434 +f 1939/424/462 1952/425/462 1951/422/434 +f 1939/424/462 1941/426/454 1953/490/454 +f 1941/343/454 1943/428/800 1954/427/800 +f 1945/430/801 1955/429/801 1954/427/800 +f 1959/433/458 1957/432/1110 1936/466/1110 +f 1947/434/802 1956/435/802 1955/429/801 +f 1933/419/450 1950/489/450 1956/435/802 +f 1934/436/452 1950/438/452 1949/437/452 +f 1936/439/452 1949/420/452 1951/422/452 +f 1938/440/452 1951/442/452 1952/441/452 +f 1940/444/452 1952/425/452 1953/490/452 +f 1942/445/452 1953/447/452 1954/446/452 +f 1944/449/452 1954/427/452 1955/429/452 +f 1955/452/452 1956/451/452 1948/494/452 +f 1948/454/452 1956/435/452 1950/489/452 +f 1970/400/1106 1969/398/1102 1961/455/454 +f 1964/458/1111 1963/495/723 1946/457/723 +f 1962/462/1112 1961/461/453 1942/496/453 +f 1940/463/1113 1960/465/1113 1959/464/458 +f 1957/468/1110 1958/467/451 1934/470/451 +f 1958/469/451 1964/497/1111 1948/459/1111 +f 1946/457/723 1963/471/723 1962/506/1112 +f 1942/473/453 1961/472/453 1960/498/1113 +f 1968/389/1103 1967/387/1100 1959/474/434 +f 1957/477/465 1965/376/1096 1966/377/1097 +f 1958/479/450 1966/417/1097 1972/418/1109 +f 1971/406/1108 1970/404/1106 1962/480/800 +f 1961/483/454 1969/394/1102 1968/393/1103 +f 1967/379/1100 1965/380/1096 1957/499/465 +f 1972/411/1109 1971/412/1108 1963/500/801 diff --git a/src/main/resources/assets/hbm/models/bombs/ufp.obj b/src/main/resources/assets/hbm/models/bombs/ufp.obj index 0742d49d0..2c63d25bc 100644 --- a/src/main/resources/assets/hbm/models/bombs/ufp.obj +++ b/src/main/resources/assets/hbm/models/bombs/ufp.obj @@ -1,582 +1,1406 @@ -# Blender v2.76 (sub 0) OBJ File: 'ufp.blend' +# Blender 4.0.2 # www.blender.org -o Cylinder -v 0.000000 1.000000 -0.500000 -v 0.000000 1.000000 1.500000 -v 0.191342 0.961940 -0.500000 -v 0.191342 0.961940 1.500000 -v 0.353553 0.853553 -0.500000 -v 0.353553 0.853553 1.500000 -v 0.461940 0.691342 -0.500000 -v 0.461940 0.691342 1.500000 -v 0.500000 0.500000 -0.500000 -v 0.500000 0.500000 1.500000 -v 0.461940 0.308658 -0.500000 -v 0.461940 0.308658 1.500000 -v 0.353553 0.146447 -0.500000 -v 0.353553 0.146447 1.500000 -v 0.191342 0.038060 -0.500000 -v 0.191342 0.038060 1.500000 -v 0.000000 -0.000000 -0.500000 -v 0.000000 0.000000 1.500000 -v -0.191342 0.038060 -0.500000 -v -0.191342 0.038060 1.500000 -v -0.353553 0.146446 -0.500000 -v -0.353553 0.146447 1.500000 -v -0.461940 0.308658 -0.500000 -v -0.461940 0.308658 1.500000 -v -0.500000 0.500000 -0.500000 -v -0.500000 0.500000 1.500000 -v -0.461940 0.691342 -0.500000 -v -0.461940 0.691342 1.500000 -v -0.353553 0.853553 -0.500000 -v -0.353553 0.853554 1.500000 -v -0.191341 0.961940 -0.500000 -v -0.191341 0.961940 1.500000 -v 0.143506 0.846455 1.750000 -v 0.000000 0.875000 1.750000 -v 0.265165 0.765165 1.750000 -v 0.346455 0.643506 1.750000 -v 0.375000 0.500000 1.750000 -v 0.346455 0.356494 1.750000 -v 0.265165 0.234835 1.750000 -v 0.143506 0.153545 1.750000 -v 0.000000 0.125000 1.750000 -v -0.143506 0.153545 1.750000 -v -0.265165 0.234835 1.750000 -v -0.346455 0.356494 1.750000 -v -0.375000 0.500000 1.750000 -v -0.346455 0.643506 1.750000 -v -0.265165 0.765165 1.750000 -v -0.143506 0.846455 1.750000 -v 0.047835 0.615485 1.900000 -v 0.000000 0.625000 1.900000 -v 0.088388 0.588389 1.900000 -v 0.115485 0.547836 1.900000 -v 0.125000 0.500000 1.900000 -v 0.115485 0.452165 1.900000 -v 0.088388 0.411612 1.900000 -v 0.047835 0.384515 1.900000 -v 0.000000 0.375000 1.900000 -v -0.047835 0.384515 1.900000 -v -0.088388 0.411612 1.900000 -v -0.115485 0.452165 1.900000 -v -0.125000 0.500000 1.900000 -v -0.115485 0.547836 1.900000 -v -0.088388 0.588389 1.900000 -v -0.047835 0.615485 1.900000 -v 0.000000 0.750000 -1.750000 -v 0.095671 0.730970 -1.750000 -v 0.176777 0.676777 -1.750000 -v 0.230970 0.595671 -1.750000 -v 0.250000 0.500000 -1.750000 -v 0.230970 0.404329 -1.750000 -v 0.176777 0.323223 -1.750000 -v 0.095671 0.269030 -1.750000 -v 0.000000 0.250000 -1.750000 -v -0.095671 0.269030 -1.750000 -v -0.176777 0.323223 -1.750000 -v -0.230970 0.404329 -1.750000 -v -0.250000 0.500000 -1.750000 -v -0.230970 0.595671 -1.750000 -v -0.176777 0.676777 -1.750000 -v -0.095671 0.730970 -1.750000 -v -0.000000 0.750000 -2.500000 -v 0.095671 0.730970 -2.500000 -v 0.176777 0.676777 -2.500000 -v 0.230970 0.595671 -2.500000 -v 0.250000 0.500000 -2.500000 -v 0.230970 0.404329 -2.500000 -v 0.176777 0.323223 -2.500000 -v 0.095671 0.269030 -2.500000 -v 0.000000 0.250000 -2.500000 -v -0.095671 0.269030 -2.500000 -v -0.176777 0.323223 -2.500000 -v -0.230970 0.404329 -2.500000 -v -0.250000 0.500000 -2.500000 -v -0.230970 0.595671 -2.500000 -v -0.176777 0.676777 -2.500000 -v -0.095671 0.730970 -2.500000 -v -0.530330 1.030330 -1.750000 -v 0.530330 -0.030330 -1.750000 -v -0.530330 1.030330 -2.500000 -v 0.530330 -0.030330 -2.500000 -v -0.265165 0.765165 -1.000000 -v 0.265165 0.234835 -1.000000 -v -0.530330 -0.030330 -1.750000 -v 0.530330 1.030330 -1.750000 -v -0.530330 -0.030330 -2.500000 -v 0.530330 1.030330 -2.500000 -v -0.265165 0.234835 -1.000000 -v 0.265165 0.765165 -1.000000 -vt 0.308738 0.762034 -vt 0.272835 0.762033 -vt 0.272836 0.393966 -vt 0.236932 0.762033 -vt 0.236932 0.393966 -vt 0.201028 0.762033 -vt 0.201029 0.393966 -vt 0.165125 0.762033 -vt 0.165126 0.393966 -vt 0.129222 0.762033 -vt 0.129222 0.393966 -vt 0.093319 0.762033 -vt 0.093319 0.393966 -vt 0.057415 0.762033 -vt 0.057415 0.393966 -vt 0.021512 0.762033 -vt 0.021512 0.393966 -vt 0.595963 0.762035 -vt 0.560060 0.762035 -vt 0.560063 0.393968 -vt 0.524157 0.762035 -vt 0.524160 0.393968 -vt 0.488254 0.762034 -vt 0.488256 0.393967 -vt 0.452351 0.762034 -vt 0.452353 0.393967 -vt 0.416447 0.762034 -vt 0.416449 0.393967 -vt 0.380544 0.762034 -vt 0.380546 0.393967 -vt 0.232444 0.813276 -vt 0.205516 0.813276 -vt 0.344641 0.762034 -vt 0.308739 0.393966 -vt 0.344643 0.393967 -vt 0.281812 0.159539 -vt 0.160637 0.813276 -vt 0.151661 0.866175 -vt 0.142685 0.866175 -vt 0.052928 0.813276 -vt 0.026000 0.813276 -vt 0.304250 0.813276 -vt 0.277323 0.813276 -vt 0.447863 0.813277 -vt 0.124734 0.813276 -vt 0.097806 0.813276 -vt 0.519669 0.813277 -vt 0.340153 0.813277 -vt 0.196540 0.813276 -vt 0.169613 0.813276 -vt 0.591475 0.813278 -vt 0.564548 0.813278 -vt 0.411959 0.813277 -vt 0.268347 0.813276 -vt 0.088831 0.813276 -vt 0.061903 0.813276 -vt 0.483766 0.813277 -vt 0.133710 0.813276 -vt 0.555572 0.813278 -vt 0.528645 0.813277 -vt 0.376056 0.813277 -vt 0.349129 0.813277 -vt 0.782044 0.733935 -vt 0.790337 0.692245 -vt 0.807606 0.695680 -vt 0.420935 0.813277 -vt 0.438886 0.866176 -vt 0.115758 0.866175 -vt 0.106782 0.866175 -vt 0.385032 0.813277 -vt 0.402983 0.866175 -vt 0.079855 0.866175 -vt 0.070879 0.866175 -vt 0.367080 0.866175 -vt 0.358104 0.866175 -vt 0.043952 0.866175 -vt 0.295274 0.866175 -vt 0.286298 0.866175 -vt 0.331177 0.866175 -vt 0.322201 0.866175 -vt 0.582499 0.866176 -vt 0.573523 0.866176 -vt 0.259371 0.866175 -vt 0.250395 0.866175 -vt 0.546596 0.866176 -vt 0.223468 0.866175 -vt 0.214492 0.866175 -vt 0.492742 0.813277 -vt 0.510693 0.866176 -vt 0.187564 0.866175 -vt 0.178589 0.866175 -vt 0.474790 0.866176 -vt 0.465814 0.866176 -vt 0.353620 0.159539 -vt 0.353620 0.021514 -vt 0.371572 0.021514 -vt 0.425427 0.159540 -vt 0.443378 0.159540 -vt 0.102295 0.159539 -vt 0.120246 0.159539 -vt 0.497234 0.159540 -vt 0.515185 0.159540 -vt 0.317716 0.159539 -vt 0.174102 0.159539 -vt 0.192054 0.159539 -vt 0.595966 0.393968 -vt 0.569041 0.159541 -vt 0.389523 0.159540 -vt 0.407475 0.159540 -vt 0.245909 0.159539 -vt 0.066391 0.159539 -vt 0.084343 0.159539 -vt 0.461330 0.159540 -vt 0.479282 0.159540 -vt 0.138198 0.159539 -vt 0.533137 0.159540 -vt 0.551089 0.159541 -vt 0.371571 0.159539 -vt 0.210005 0.159539 -vt 0.227957 0.159539 -vt 0.030488 0.159538 -vt 0.048439 0.159538 -vt 0.693090 0.782494 -vt 0.638990 0.746346 -vt 0.729239 0.728394 -vt 0.030488 0.021513 -vt 0.048439 0.021513 -vt 0.281813 0.021512 -vt 0.299765 0.021512 -vt 0.317716 0.021512 -vt 0.335668 0.021512 -vt 0.569042 0.021515 -vt 0.586993 0.021515 -vt 0.245909 0.021514 -vt 0.263861 0.021514 -vt 0.533138 0.021515 -vt 0.551090 0.021515 -vt 0.210006 0.021513 -vt 0.227957 0.021513 -vt 0.497235 0.021515 -vt 0.515186 0.021515 -vt 0.174102 0.021513 -vt 0.192054 0.021513 -vt 0.461331 0.021515 -vt 0.479283 0.021515 -vt 0.138199 0.021513 -vt 0.156150 0.021513 -vt 0.425427 0.021515 -vt 0.443379 0.021515 -vt 0.102295 0.021513 -vt 0.120247 0.021513 -vt 0.389524 0.021514 -vt 0.407476 0.021514 -vt 0.066391 0.021513 -vt 0.084343 0.021513 -vt 0.915041 0.511196 -vt 0.638990 0.511196 -vt 0.638990 0.373170 -vt 0.846029 0.649222 -vt 0.708003 0.649222 -vt 0.885898 0.083239 -vt 0.762444 0.330146 -vt 0.638990 0.268420 -vt 0.978488 0.206693 -vt 0.916761 0.330146 -vt 0.299764 0.159539 -vt 0.313226 0.813276 -vt 0.241419 0.813276 -vt 0.456838 0.813277 -vt 0.813952 0.702027 -vt 0.817387 0.710320 -vt 0.817387 0.719295 -vt 0.813952 0.727588 -vt 0.807606 0.733935 -vt 0.799313 0.737370 -vt 0.790337 0.737370 -vt 0.775698 0.727588 -vt 0.772263 0.719295 -vt 0.772263 0.710320 -vt 0.775698 0.702027 -vt 0.782044 0.695680 -vt 0.799313 0.692245 -vt 0.429911 0.866175 -vt 0.394007 0.866175 -vt 0.034976 0.866175 -vt 0.537620 0.866176 -vt 0.501717 0.866176 -vt 0.335668 0.159539 -vt 0.586992 0.159541 -vt 0.263861 0.159539 -vt 0.156150 0.159539 -vt 0.675139 0.692245 -vt 0.693090 0.692245 -vt 0.709675 0.699115 -vt 0.722369 0.711809 -vt 0.729239 0.746346 -vt 0.722369 0.762931 -vt 0.709675 0.775624 -vt 0.675139 0.782494 -vt 0.658554 0.775624 -vt 0.645860 0.762931 -vt 0.638990 0.728394 -vt 0.645860 0.711809 -vt 0.658554 0.699115 -vt 0.915041 0.373170 -vt 0.762444 0.021512 -vn 0.195100 0.980800 -0.000000 -vn 0.555600 0.831500 0.000000 -vn 0.831500 0.555600 0.000000 -vn 0.980800 0.195100 -0.000000 -vn 0.980800 -0.195100 0.000000 -vn 0.831500 -0.555600 0.000000 -vn 0.555600 -0.831500 0.000000 -vn 0.195100 -0.980800 0.000000 -vn -0.195100 -0.980800 0.000000 -vn -0.555600 -0.831500 0.000000 -vn -0.831500 -0.555600 0.000000 -vn -0.980800 -0.195100 0.000000 -vn -0.980800 0.195100 0.000000 -vn -0.831500 0.555600 0.000000 -vn 0.746500 0.498800 0.440300 -vn -0.195100 0.980800 0.000000 -vn -0.555600 0.831500 -0.000000 -vn 0.191400 0.962400 -0.192500 -vn 0.511800 -0.101800 0.853000 -vn 0.175200 -0.880600 0.440300 -vn 0.175200 0.880600 0.440300 -vn -0.880600 0.175200 0.440300 -vn 0.746500 -0.498800 0.440300 -vn -0.746500 -0.498800 0.440300 -vn -0.175200 0.880600 0.440300 -vn 0.880600 0.175200 0.440300 -vn -0.175200 -0.880600 0.440300 -vn -0.746500 0.498800 0.440300 -vn 0.498800 0.746500 0.440300 -vn 0.498800 -0.746500 0.440300 -vn -0.880600 -0.175200 0.440300 -vn 0.880600 -0.175200 0.440300 -vn -0.498800 -0.746500 0.440300 -vn -0.498800 0.746500 0.440300 -vn 0.000000 0.000000 1.000000 -vn -0.511800 0.101800 0.853000 -vn 0.433900 -0.289900 0.853000 -vn -0.433900 0.289900 0.853000 -vn 0.289900 -0.433900 0.853000 -vn -0.289900 0.433900 0.853000 -vn 0.101800 -0.511800 0.853000 -vn 0.101800 0.511800 0.853000 -vn -0.101800 0.511800 0.853000 -vn -0.101800 -0.511800 0.853000 -vn 0.289900 0.433900 0.853000 -vn -0.289900 -0.433900 0.853000 -vn 0.433900 0.289900 0.853000 -vn -0.433900 -0.289900 0.853000 -vn 0.511800 0.101800 0.853000 -vn -0.511800 -0.101800 0.853000 -vn -0.962400 0.191400 -0.192500 -vn 0.815900 -0.545200 -0.192500 -vn -0.815900 -0.545200 -0.192500 -vn -0.191400 0.962400 -0.192500 -vn 0.962400 0.191400 -0.192500 -vn -0.191400 -0.962400 -0.192500 -vn -0.815900 0.545200 -0.192500 -vn 0.545200 0.815900 -0.192500 -vn 0.545200 -0.815900 -0.192500 -vn -0.962400 -0.191400 -0.192500 -vn 0.962400 -0.191400 -0.192500 -vn -0.545200 -0.815900 -0.192500 -vn -0.545200 0.815900 -0.192500 -vn 0.815900 0.545200 -0.192500 -vn 0.191400 -0.962400 -0.192500 -vn -0.000000 0.000000 -1.000000 -vn 0.707100 0.707100 0.000000 -vn -0.707100 0.707100 -0.000000 -s off -f 2/1/1 4/2/1 3/3/1 -f 4/2/2 6/4/2 5/5/2 -f 6/4/3 8/6/3 7/7/3 -f 8/6/4 10/8/4 9/9/4 -f 10/8/5 12/10/5 11/11/5 -f 12/10/6 14/12/6 13/13/6 -f 14/12/7 16/14/7 15/15/7 -f 16/14/8 18/16/8 17/17/8 -f 18/18/9 20/19/9 19/20/9 -f 20/19/10 22/21/10 21/22/10 -f 22/21/11 24/23/11 23/24/11 -f 24/23/12 26/25/12 25/26/12 -f 26/25/13 28/27/13 27/28/13 -f 28/27/14 30/29/14 29/30/14 -f 6/4/15 35/31/15 36/32/15 -f 32/33/16 2/1/16 1/34/16 -f 30/29/17 32/33/17 31/35/17 -f 1/34/18 3/3/18 66/36/18 -f 37/37/19 53/38/19 54/39/19 -f 16/14/20 40/40/20 41/41/20 -f 2/1/21 34/42/21 33/43/21 -f 28/27/22 26/25/22 45/44/22 -f 12/10/23 38/45/23 39/46/23 -f 24/23/24 22/21/24 43/47/24 -f 2/1/25 32/33/25 48/48/25 -f 8/6/26 36/49/26 37/50/26 -f 18/18/27 41/51/27 42/52/27 -f 30/29/28 28/27/28 46/53/28 -f 6/4/29 4/2/29 33/54/29 -f 14/12/30 39/55/30 40/56/30 -f 26/25/31 24/23/31 44/57/31 -f 10/8/32 37/37/32 38/58/32 -f 20/19/33 42/59/33 43/60/33 -f 30/29/34 47/61/34 48/62/34 -f 59/63/35 53/64/35 51/65/35 -f 46/66/36 45/44/36 61/67/36 -f 38/45/37 54/68/37 55/69/37 -f 47/70/38 46/53/38 62/71/38 -f 39/55/39 55/72/39 56/73/39 -f 47/61/40 63/74/40 64/75/40 -f 41/41/41 40/40/41 56/76/41 -f 34/42/42 50/77/42 49/78/42 -f 48/48/43 64/79/43 50/80/43 -f 41/51/44 57/81/44 58/82/44 -f 33/54/45 49/83/45 51/84/45 -f 43/60/46 42/59/46 58/85/46 -f 35/31/47 51/86/47 52/87/47 -f 44/88/48 43/47/48 59/89/48 -f 36/49/49 52/90/49 53/91/49 -f 44/57/50 60/92/50 61/93/50 -f 80/94/17 96/95/17 95/96/17 -f 27/28/51 78/97/51 77/98/51 -f 13/13/52 71/99/52 70/100/52 -f 23/24/53 76/101/53 75/102/53 -f 31/35/54 1/34/54 65/103/54 -f 9/9/55 69/104/55 68/105/55 -f 17/106/56 19/20/56 74/107/56 -f 29/30/57 79/108/57 78/109/57 -f 3/3/58 5/5/58 67/110/58 -f 15/15/59 72/111/59 71/112/59 -f 25/26/60 77/113/60 76/114/60 -f 9/9/61 11/11/61 70/115/61 -f 21/22/62 75/116/62 74/117/62 -f 31/35/63 80/94/63 79/118/63 -f 7/7/64 68/119/64 67/120/64 -f 17/17/65 73/121/65 72/122/65 -f 88/123/66 92/124/66 84/125/66 -f 73/121/8 89/126/8 88/127/8 -f 66/36/1 82/128/1 81/129/1 -f 65/103/16 81/130/16 96/131/16 -f 74/107/9 90/132/9 89/133/9 -f 67/110/2 83/134/2 82/135/2 -f 75/116/10 91/136/10 90/137/10 -f 68/119/3 84/138/3 83/139/3 -f 76/101/11 92/140/11 91/141/11 -f 69/104/4 85/142/4 84/143/4 -f 77/113/12 93/144/12 92/145/12 -f 70/115/5 86/146/5 85/147/5 -f 78/97/13 94/148/13 93/149/13 -f 71/99/6 87/150/6 86/151/6 -f 79/108/14 95/152/14 94/153/14 -f 72/111/7 88/154/7 87/155/7 -f 97/156/67 98/157/67 100/158/67 -f 97/156/67 101/159/67 102/160/67 -f 103/161/68 104/162/68 106/163/68 -f 103/161/68 107/164/68 108/165/68 -f 1/34/1 2/1/1 3/3/1 -f 3/3/2 4/2/2 5/5/2 -f 5/5/3 6/4/3 7/7/3 -f 7/7/4 8/6/4 9/9/4 -f 9/9/5 10/8/5 11/11/5 -f 11/11/6 12/10/6 13/13/6 -f 13/13/7 14/12/7 15/15/7 -f 15/15/8 16/14/8 17/17/8 -f 17/106/9 18/18/9 19/20/9 -f 19/20/10 20/19/10 21/22/10 -f 21/22/11 22/21/11 23/24/11 -f 23/24/12 24/23/12 25/26/12 -f 25/26/13 26/25/13 27/28/13 -f 27/28/14 28/27/14 29/30/14 -f 8/6/15 6/4/15 36/32/15 -f 31/35/16 32/33/16 1/34/16 -f 29/30/17 30/29/17 31/35/17 -f 65/166/18 1/34/18 66/36/18 -f 38/58/19 37/37/19 54/39/19 -f 18/16/20 16/14/20 41/41/20 -f 4/2/21 2/1/21 33/43/21 -f 46/66/22 28/27/22 45/44/22 -f 14/12/23 12/10/23 39/46/23 -f 44/88/24 24/23/24 43/47/24 -f 34/167/25 2/1/25 48/48/25 -f 10/8/26 8/6/26 37/50/26 -f 20/19/27 18/18/27 42/52/27 -f 47/70/28 30/29/28 46/53/28 -f 35/168/29 6/4/29 33/54/29 -f 16/14/30 14/12/30 40/56/30 -f 45/169/31 26/25/31 44/57/31 -f 12/10/32 10/8/32 38/58/32 -f 22/21/33 20/19/33 43/60/33 -f 32/33/34 30/29/34 48/62/34 -f 51/65/35 49/170/35 50/171/35 -f 50/171/35 64/172/35 51/65/35 -f 63/173/35 62/174/35 61/175/35 -f 61/175/35 60/176/35 63/173/35 -f 59/63/35 58/177/35 57/178/35 -f 57/178/35 56/179/35 55/180/35 -f 55/180/35 54/181/35 53/64/35 -f 53/64/35 52/182/35 51/65/35 -f 51/65/35 64/172/35 63/173/35 -f 63/173/35 60/176/35 59/63/35 -f 59/63/35 57/178/35 55/180/35 -f 55/180/35 53/64/35 59/63/35 -f 51/65/35 63/173/35 59/63/35 -f 62/183/36 46/66/36 61/67/36 -f 39/46/37 38/45/37 55/69/37 -f 63/184/38 47/70/38 62/71/38 -f 40/56/39 39/55/39 56/73/39 -f 48/62/40 47/61/40 64/75/40 -f 57/185/41 41/41/41 56/76/41 -f 33/43/42 34/42/42 49/78/42 -f 34/167/43 48/48/43 50/80/43 -f 42/52/44 41/51/44 58/82/44 -f 35/168/45 33/54/45 51/84/45 -f 59/186/46 43/60/46 58/85/46 -f 36/32/47 35/31/47 52/87/47 -f 60/187/48 44/88/48 59/89/48 -f 37/50/49 36/49/49 53/91/49 -f 45/169/50 44/57/50 61/93/50 -f 79/118/17 80/94/17 95/96/17 -f 25/26/51 27/28/51 77/98/51 -f 11/11/52 13/13/52 70/100/52 -f 21/22/53 23/24/53 75/102/53 -f 80/188/54 31/35/54 65/103/54 -f 7/7/55 9/9/55 68/105/55 -f 73/189/56 17/106/56 74/107/56 -f 27/28/57 29/30/57 78/109/57 -f 66/190/58 3/3/58 67/110/58 -f 13/13/59 15/15/59 71/112/59 -f 23/24/60 25/26/60 76/114/60 -f 69/191/61 9/9/61 70/115/61 -f 19/20/62 21/22/62 74/117/62 -f 29/30/63 31/35/63 79/118/63 -f 5/5/64 7/7/64 67/120/64 -f 15/15/65 17/17/65 72/122/65 -f 96/192/66 81/193/66 82/194/66 -f 82/194/66 83/195/66 84/125/66 -f 84/125/66 85/196/66 86/197/66 -f 86/197/66 87/198/66 84/125/66 -f 88/123/66 89/199/66 90/200/66 -f 90/200/66 91/201/66 92/124/66 -f 92/124/66 93/202/66 94/203/66 -f 94/203/66 95/204/66 92/124/66 -f 96/192/66 82/194/66 84/125/66 -f 84/125/66 87/198/66 88/123/66 -f 88/123/66 90/200/66 92/124/66 -f 92/124/66 95/204/66 96/192/66 -f 96/192/66 84/125/66 92/124/66 -f 72/122/8 73/121/8 88/127/8 -f 65/166/1 66/36/1 81/129/1 -f 80/188/16 65/103/16 96/131/16 -f 73/189/9 74/107/9 89/133/9 -f 66/190/2 67/110/2 82/135/2 -f 74/117/10 75/116/10 90/137/10 -f 67/120/3 68/119/3 83/139/3 -f 75/102/11 76/101/11 91/141/11 -f 68/105/4 69/104/4 84/143/4 -f 76/114/12 77/113/12 92/145/12 -f 69/191/5 70/115/5 85/147/5 -f 77/98/13 78/97/13 93/149/13 -f 70/100/6 71/99/6 86/151/6 -f 78/109/14 79/108/14 94/153/14 -f 71/112/7 72/111/7 87/155/7 -f 99/205/67 97/156/67 100/158/67 -f 98/157/67 97/156/67 102/160/67 -f 105/206/68 103/161/68 106/163/68 -f 104/162/68 103/161/68 108/165/68 +mtllib ufp.mtl +o Cylinder.001 +v 0.000000 0.937500 -0.562500 +v 0.000000 0.937500 1.437500 +v 0.218750 0.878886 -0.562500 +v 0.218750 0.878886 1.437500 +v 0.378886 0.718750 -0.562500 +v 0.378886 0.718750 1.437500 +v 0.437500 0.500000 -0.562500 +v 0.437500 0.500000 1.437500 +v 0.378886 0.281250 -0.562500 +v 0.378886 0.281250 1.437500 +v 0.218750 0.121114 -0.562500 +v 0.218750 0.121114 1.437500 +v 0.000000 0.062500 -0.562500 +v 0.000000 0.062500 1.437500 +v -0.218750 0.121114 -0.562500 +v -0.218750 0.121114 1.437500 +v -0.378886 0.281250 -0.562500 +v -0.378886 0.281250 1.437500 +v -0.437500 0.500000 -0.562500 +v -0.437500 0.500000 1.437500 +v -0.378886 0.718750 -0.562500 +v -0.378886 0.718750 1.437500 +v -0.218750 0.878886 -0.562500 +v -0.218750 0.878886 1.437500 +v -0.000000 0.687500 -1.812500 +v 0.093750 0.662380 -1.812500 +v 0.162380 0.593750 -1.812500 +v 0.187500 0.500000 -1.812500 +v 0.162380 0.406250 -1.812500 +v 0.093750 0.337620 -1.812500 +v -0.000000 0.312500 -1.812500 +v -0.093750 0.337620 -1.812500 +v -0.162380 0.406250 -1.812500 +v -0.187500 0.500000 -1.812500 +v -0.162380 0.593750 -1.812500 +v -0.093750 0.662380 -1.812500 +v 0.156250 0.770633 1.687500 +v 0.000000 0.812500 1.687500 +v 0.270633 0.656250 1.687500 +v 0.312500 0.500000 1.687500 +v 0.270633 0.343750 1.687500 +v 0.156250 0.229367 1.687500 +v 0.000000 0.187500 1.687500 +v -0.156250 0.229367 1.687500 +v -0.270633 0.343750 1.687500 +v -0.312500 0.500000 1.687500 +v -0.270633 0.656250 1.687500 +v -0.156250 0.770633 1.687500 +v 0.000000 0.500000 1.812500 +v -0.000000 0.750000 -1.812500 +v 0.125000 0.716506 -1.812500 +v 0.216506 0.625000 -1.812500 +v 0.250000 0.500000 -1.812500 +v 0.216506 0.375000 -1.812500 +v 0.125000 0.283494 -1.812500 +v -0.000000 0.250000 -1.812500 +v -0.125000 0.283494 -1.812500 +v -0.216506 0.375000 -1.812500 +v -0.250000 0.500000 -1.812500 +v -0.216506 0.625000 -1.812500 +v -0.125000 0.716506 -1.812500 +v -0.000000 0.687500 -1.187500 +v 0.093750 0.662380 -1.187500 +v 0.162380 0.593750 -1.187500 +v 0.187500 0.500000 -1.187500 +v 0.162380 0.406250 -1.187500 +v 0.093750 0.337620 -1.187500 +v -0.000000 0.312500 -1.187500 +v -0.093750 0.337620 -1.187500 +v -0.162380 0.406250 -1.187500 +v -0.187500 0.500000 -1.187500 +v -0.162380 0.593750 -1.187500 +v -0.093750 0.662380 -1.187500 +v 0.287262 0.256932 -0.562500 +v 0.243068 0.212738 -0.562500 +v 0.331456 0.212738 -0.562500 +v 0.287262 0.256932 -1.750000 +v 0.243068 0.212738 -1.750000 +v 0.331456 0.212738 -1.812500 +v 0.287262 0.168544 -1.812500 +v 0.419845 0.124350 -1.812500 +v 0.375650 0.080155 -1.812500 +v 0.419845 0.124350 -0.687500 +v 0.375650 0.080155 -0.687500 +v 0.287262 0.168544 -0.562500 +v 0.000000 0.937500 1.187500 +v 0.218750 0.878886 1.187500 +v -0.218750 0.878886 1.187500 +v 0.000000 1.000000 1.187500 +v 0.250000 0.933013 1.187500 +v 0.000000 1.000000 1.312500 +v -0.250000 0.933013 1.187500 +v -0.433013 0.750000 1.187500 +v -0.250000 0.933013 1.312500 +v -0.433013 0.750000 1.312500 +v -0.218750 0.878886 1.312500 +v -0.378886 0.718750 1.312500 +v 0.000000 0.937500 1.312500 +v 0.218750 0.878886 1.312500 +v 0.378886 0.718750 1.312500 +v 0.250000 0.933013 1.312500 +v 0.433013 0.750000 1.312500 +v 0.433013 0.750000 1.187500 +v 0.500000 0.500000 1.312500 +v 0.500000 0.500000 1.187500 +v 0.433013 0.250000 1.312500 +v 0.437500 0.500000 1.312500 +v 0.378886 0.281250 1.312500 +v 0.218750 0.121114 1.312500 +v 0.000000 0.062500 1.312500 +v 0.250000 0.066987 1.312500 +v 0.250000 0.066987 1.187500 +v 0.000000 0.000000 1.312500 +v 0.000000 0.000000 1.187500 +v -0.250000 0.066987 1.312500 +v -0.250000 0.066987 1.187500 +v -0.433013 0.250000 1.312500 +v -0.218750 0.121114 1.312500 +v -0.378886 0.281250 1.312500 +v -0.437500 0.500000 1.312500 +v -0.500000 0.500000 1.312500 +v -0.500000 0.500000 1.187500 +v -0.433013 0.250000 1.187500 +v -0.437500 0.500000 1.187500 +v -0.378886 0.281250 1.187500 +v -0.378886 0.718750 1.187500 +v -0.218750 0.121114 1.187500 +v 0.000000 0.062500 1.187500 +v 0.218750 0.121114 1.187500 +v 0.378886 0.281250 1.187500 +v 0.437500 0.500000 1.187500 +v 0.433013 0.250000 1.187500 +v 0.378886 0.718750 1.187500 +v 0.253118 0.841506 1.187500 +v 0.253118 0.841506 -0.312500 +v 0.297312 0.885701 1.187500 +v 0.297312 0.885701 -0.312500 +v 0.385701 0.797312 1.187500 +v 0.385701 0.797312 -0.312500 +v 0.341506 0.753118 1.187500 +v 0.341506 0.753118 -0.312500 +v 0.253118 0.841506 1.375000 +v 0.253118 0.841506 1.312500 +v 0.297312 0.885701 1.375000 +v 0.341506 0.753118 1.375000 +v 0.341506 0.753118 1.312500 +v 0.385701 0.797312 1.375000 +v 0.385701 0.797312 1.312500 +v 0.297312 0.885701 1.312500 +v 0.253118 0.841506 -0.437500 +v 0.253118 0.841506 -0.500000 +v 0.297312 0.885701 -0.437500 +v 0.297312 0.885701 -0.500000 +v 0.385701 0.797312 -0.437500 +v 0.385701 0.797312 -0.500000 +v 0.341506 0.753118 -0.437500 +v 0.341506 0.753118 -0.500000 +v 0.000000 0.937500 -0.437500 +v 0.218750 0.878886 -0.437500 +v -0.218750 0.878886 -0.437500 +v 0.000000 1.000000 -0.437500 +v 0.250000 0.933013 -0.437500 +v 0.000000 1.000000 -0.312500 +v -0.250000 0.933013 -0.437500 +v -0.433013 0.750000 -0.437500 +v -0.250000 0.933013 -0.312500 +v -0.433013 0.750000 -0.312500 +v -0.218750 0.878886 -0.312500 +v -0.378886 0.718750 -0.312500 +v 0.000000 0.937500 -0.312500 +v 0.218750 0.878886 -0.312500 +v 0.378886 0.718750 -0.312500 +v 0.250000 0.933013 -0.312500 +v 0.433013 0.750000 -0.312500 +v 0.433013 0.750000 -0.437500 +v 0.500000 0.500000 -0.312500 +v 0.500000 0.500000 -0.437500 +v 0.433013 0.250000 -0.312500 +v 0.437500 0.500000 -0.312500 +v 0.378886 0.281250 -0.312500 +v 0.218750 0.121114 -0.312500 +v 0.000000 0.062500 -0.312500 +v 0.250000 0.066987 -0.312500 +v 0.250000 0.066987 -0.437500 +v 0.000000 0.000000 -0.312500 +v 0.000000 0.000000 -0.437500 +v -0.250000 0.066987 -0.312500 +v -0.250000 0.066987 -0.437500 +v -0.433013 0.250000 -0.312500 +v -0.218750 0.121114 -0.312500 +v -0.378886 0.281250 -0.312500 +v -0.437500 0.500000 -0.312500 +v -0.500000 0.500000 -0.312500 +v -0.500000 0.500000 -0.437500 +v -0.433013 0.250000 -0.437500 +v -0.437500 0.500000 -0.437500 +v -0.378886 0.281250 -0.437500 +v -0.378886 0.718750 -0.437500 +v -0.218750 0.121114 -0.437500 +v 0.000000 0.062500 -0.437500 +v 0.218750 0.121114 -0.437500 +v 0.378886 0.281250 -0.437500 +v 0.437500 0.500000 -0.437500 +v 0.433013 0.250000 -0.437500 +v 0.378886 0.718750 -0.437500 +v 0.341507 0.246882 1.187500 +v 0.341507 0.246882 -0.312500 +v 0.385701 0.202688 1.187500 +v 0.385701 0.202688 -0.312500 +v 0.297312 0.114299 1.187500 +v 0.297312 0.114299 -0.312500 +v 0.253118 0.158494 1.187500 +v 0.253118 0.158494 -0.312500 +v 0.341507 0.246882 1.375000 +v 0.341507 0.246882 1.312500 +v 0.385701 0.202688 1.375000 +v 0.253118 0.158494 1.375000 +v 0.253118 0.158494 1.312500 +v 0.297312 0.114299 1.375000 +v 0.297312 0.114299 1.312500 +v 0.385701 0.202688 1.312500 +v 0.341506 0.246882 -0.437500 +v 0.341506 0.246882 -0.500000 +v 0.385701 0.202688 -0.437500 +v 0.385701 0.202688 -0.500000 +v 0.297312 0.114299 -0.437500 +v 0.297312 0.114299 -0.500000 +v 0.253118 0.158494 -0.437500 +v 0.253118 0.158494 -0.500000 +v -0.341506 0.753118 1.187500 +v -0.341506 0.753118 -0.312500 +v -0.385701 0.797312 1.187500 +v -0.385701 0.797312 -0.312500 +v -0.297312 0.885701 1.187500 +v -0.297312 0.885701 -0.312500 +v -0.253118 0.841506 1.187500 +v -0.253118 0.841506 -0.312500 +v -0.341506 0.753118 1.375000 +v -0.341506 0.753118 1.312500 +v -0.385701 0.797312 1.375000 +v -0.253118 0.841506 1.375000 +v -0.253118 0.841506 1.312500 +v -0.297312 0.885701 1.375000 +v -0.297312 0.885701 1.312500 +v -0.385701 0.797312 1.312500 +v -0.341506 0.753118 -0.437500 +v -0.341506 0.753118 -0.500000 +v -0.385701 0.797312 -0.437500 +v -0.385701 0.797312 -0.500000 +v -0.297312 0.885701 -0.437500 +v -0.297312 0.885701 -0.500000 +v -0.253118 0.841506 -0.437500 +v -0.253118 0.841506 -0.500000 +v -0.253118 0.158494 1.187500 +v -0.253118 0.158494 -0.312500 +v -0.297312 0.114299 1.187500 +v -0.297312 0.114299 -0.312500 +v -0.385701 0.202688 1.187500 +v -0.385701 0.202688 -0.312500 +v -0.341506 0.246882 1.187500 +v -0.341506 0.246882 -0.312500 +v -0.253118 0.158494 1.375000 +v -0.253118 0.158494 1.312500 +v -0.297312 0.114299 1.375000 +v -0.341506 0.246882 1.375000 +v -0.341506 0.246882 1.312500 +v -0.385701 0.202688 1.375000 +v -0.385701 0.202688 1.312500 +v -0.297312 0.114299 1.312500 +v -0.253118 0.158494 -0.437500 +v -0.253118 0.158494 -0.500000 +v -0.297312 0.114299 -0.437500 +v -0.297312 0.114299 -0.500000 +v -0.385701 0.202688 -0.437500 +v -0.385701 0.202688 -0.500000 +v -0.341506 0.246882 -0.437500 +v -0.341506 0.246882 -0.500000 +v 0.243068 0.787262 -0.562500 +v 0.287262 0.743068 -0.562500 +v 0.287262 0.831456 -0.562500 +v 0.243068 0.787262 -1.750000 +v 0.287262 0.743068 -1.750000 +v 0.287262 0.831456 -1.812500 +v 0.331456 0.787262 -1.812500 +v 0.375650 0.919845 -1.812500 +v 0.419845 0.875650 -1.812500 +v 0.375650 0.919845 -0.687500 +v 0.419845 0.875650 -0.687500 +v 0.331456 0.787262 -0.562500 +v -0.287262 0.743068 -0.562500 +v -0.243068 0.787262 -0.562500 +v -0.331456 0.787262 -0.562500 +v -0.287262 0.743068 -1.750000 +v -0.243068 0.787262 -1.750000 +v -0.331456 0.787262 -1.812500 +v -0.287262 0.831456 -1.812500 +v -0.419845 0.875650 -1.812500 +v -0.375650 0.919845 -1.812500 +v -0.419845 0.875650 -0.687500 +v -0.375650 0.919845 -0.687500 +v -0.287262 0.831456 -0.562500 +v -0.243068 0.212738 -0.562500 +v -0.287262 0.256932 -0.562500 +v -0.287262 0.168544 -0.562500 +v -0.243068 0.212738 -1.750000 +v -0.287262 0.256932 -1.750000 +v -0.287262 0.168544 -1.812500 +v -0.331456 0.212738 -1.812500 +v -0.375650 0.080155 -1.812500 +v -0.419844 0.124349 -1.812500 +v -0.375650 0.080155 -0.687500 +v -0.419844 0.124349 -0.687500 +v -0.331456 0.212738 -0.562500 +vn -0.0000 0.9751 0.2217 +vn 0.5000 0.8660 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn 0.4876 0.8445 0.2217 +vn 0.8660 0.5000 -0.0000 +vn 0.8445 0.4876 0.2217 +vn 1.0000 -0.0000 -0.0000 +vn 0.9751 -0.0000 0.2217 +vn 0.8660 -0.5000 -0.0000 +vn 0.8445 -0.4876 0.2217 +vn 0.5000 -0.8660 -0.0000 +vn 0.4876 -0.8445 0.2217 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.9751 0.2217 +vn -0.5000 -0.8660 -0.0000 +vn -0.4876 -0.8445 0.2217 +vn -0.8660 -0.5000 -0.0000 +vn -0.8445 -0.4876 0.2217 +vn -1.0000 -0.0000 -0.0000 +vn -0.9751 -0.0000 0.2217 +vn -0.8660 0.5000 -0.0000 +vn 0.6120 0.3533 0.7076 +vn -0.8445 0.4876 0.2217 +vn -0.5000 0.8660 -0.0000 +vn -0.4876 0.8445 0.2217 +vn -0.8564 -0.4945 -0.1483 +vn -0.9889 -0.0000 -0.1483 +vn -0.4945 -0.8564 -0.1483 +vn -0.0000 -0.9889 -0.1483 +vn 0.4945 -0.8564 -0.1483 +vn 0.8564 -0.4945 -0.1483 +vn 0.9889 -0.0000 -0.1483 +vn -0.0000 0.9889 -0.1483 +vn -0.4945 0.8564 -0.1483 +vn 0.4945 0.8564 -0.1483 +vn 0.8564 0.4945 -0.1483 +vn -0.8564 0.4945 -0.1483 +vn 0.7066 -0.0000 0.7076 +vn -0.0000 -0.0000 1.0000 +vn -0.6120 0.3533 0.7076 +vn -0.7066 -0.0000 0.7076 +vn -0.6120 -0.3533 0.7076 +vn -0.3533 -0.6120 0.7076 +vn -0.0000 -0.7066 0.7076 +vn 0.3533 -0.6120 0.7076 +vn 0.6120 -0.3533 0.7076 +vn -0.0000 0.7066 0.7076 +vn 0.3533 0.6120 0.7076 +vn -0.3533 0.6120 0.7076 +vn -0.0000 -0.0000 -1.0000 +vn -0.7071 0.7071 -0.0000 +vn 0.7071 0.7071 -0.0000 +vn -0.5000 0.5000 -0.7071 +vn 0.7071 -0.7071 -0.0000 +vn 0.5000 -0.5000 0.7071 +vn -0.7071 -0.7071 -0.0000 +vn -0.5000 -0.5000 -0.7071 +vn 0.5000 0.5000 0.7071 +vn 0.5000 -0.5000 -0.7071 +vn -0.5000 0.5000 0.7071 +vn 0.5000 0.5000 -0.7071 +vn -0.5000 -0.5000 0.7071 +vt 0.102273 0.727273 +vt 0.465909 0.681818 +vt 0.465909 0.727273 +vt 0.102273 0.681818 +vt 0.465909 0.636364 +vt 0.102273 0.636364 +vt 0.465909 0.590909 +vt 0.102273 0.590909 +vt 0.465909 0.545455 +vt 0.102273 0.545455 +vt 0.465909 0.500000 +vt 0.102273 0.500000 +vt 0.465909 0.454545 +vt 0.102273 1.000000 +vt 0.465909 0.954546 +vt 0.465909 1.000000 +vt 0.102273 0.954546 +vt 0.465909 0.909091 +vt 0.102273 0.909091 +vt 0.465909 0.863636 +vt 0.102273 0.863636 +vt 0.465909 0.818182 +vt 0.102273 0.681814 +vt 0.056818 0.642860 +vt 0.102273 0.636367 +vt 0.102273 0.818182 +vt 0.465909 0.772727 +vt 0.102273 0.772727 +vt 0.693182 0.873377 +vt 0.693182 0.899351 +vt 0.704545 0.693182 +vt 0.818182 0.715909 +vt 0.704545 0.715909 +vt 0.693182 0.918831 +vt 0.693182 0.944805 +vt 0.693182 0.964286 +vt 0.693182 0.990260 +vt 0.693182 0.490260 +vt 0.693182 0.535714 +vt 0.693182 0.581169 +vt 0.693182 0.762987 +vt 0.693182 0.717532 +vt 0.693182 0.626623 +vt 0.693182 0.808442 +vt 0.693182 0.672078 +vt 0.693182 0.853896 +vt 0.056818 0.597405 +vt 0.056818 0.629867 +vt -0.000000 0.613636 +vt 0.102273 0.863633 +vt 0.056818 0.824678 +vt 0.102273 0.818186 +vt 0.102273 0.909087 +vt 0.056818 0.870133 +vt 0.102273 0.863640 +vt 0.102273 0.954542 +vt 0.056818 0.915587 +vt 0.102273 0.909095 +vt 0.102273 0.999996 +vt 0.056818 0.961042 +vt 0.102273 0.954549 +vt 0.102273 0.499996 +vt 0.056818 0.461042 +vt 0.102273 0.454549 +vt 0.102273 0.545451 +vt 0.056818 0.506496 +vt 0.102273 0.500004 +vt 0.102273 0.590905 +vt 0.056818 0.551951 +vt 0.102273 0.545458 +vt 0.102273 0.772724 +vt 0.056818 0.733769 +vt 0.102273 0.727277 +vt 0.102273 0.681822 +vt 0.056818 0.720777 +vt 0.056818 0.688314 +vt 0.102273 0.636360 +vt 0.102273 0.590913 +vt 0.056818 0.675322 +vt -0.000000 0.659091 +vt 0.056818 0.584413 +vt -0.000000 0.568182 +vt 0.056818 0.538958 +vt 0.000000 0.522727 +vt 0.056818 0.493504 +vt -0.000000 0.477273 +vt 0.056818 0.993504 +vt -0.000000 0.977273 +vt 0.056818 0.948049 +vt 0.000000 0.931818 +vt 0.056818 0.902595 +vt -0.000000 0.886364 +vt 0.056818 0.857140 +vt -0.000000 0.840909 +vt 0.056818 0.766231 +vt -0.000000 0.750000 +vt -0.000000 0.704546 +vt 0.704545 0.714286 +vt 0.693182 0.691559 +vt 0.704545 0.694805 +vt 0.704545 0.668831 +vt 0.693182 0.646104 +vt 0.704545 0.649351 +vt 0.704545 0.623377 +vt 0.693182 0.600649 +vt 0.704545 0.603896 +vt 0.704545 0.577922 +vt 0.693182 0.555195 +vt 0.704545 0.558442 +vt 0.704545 0.532467 +vt 0.693182 0.509740 +vt 0.704545 0.512987 +vt 0.704545 0.487013 +vt 0.693182 0.464286 +vt 0.704545 0.467533 +vt 0.704545 0.987013 +vt 0.704545 0.967533 +vt 0.704545 0.941559 +vt 0.704545 0.922078 +vt 0.704545 0.876624 +vt 0.704545 0.831169 +vt 0.693182 0.827922 +vt 0.704545 0.785714 +vt 0.693182 0.782468 +vt 0.704545 0.740260 +vt 0.693182 0.737013 +vt 0.897727 0.965909 +vt 0.846591 0.936385 +vt 0.846591 0.995433 +vt 0.704545 0.920455 +vt 0.818182 0.943182 +vt 0.704545 0.943182 +vt 0.704545 0.511364 +vt 0.818182 0.534091 +vt 0.704545 0.534091 +vt 0.704545 0.738636 +vt 0.818182 0.761364 +vt 0.704545 0.761364 +vt 0.704545 0.647727 +vt 0.818182 0.670455 +vt 0.704545 0.670455 +vt 0.704545 0.875000 +vt 0.818182 0.897727 +vt 0.704545 0.897727 +vt 0.704545 0.465909 +vt 0.818182 0.488636 +vt 0.704545 0.488636 +vt 0.704545 0.602273 +vt 0.818182 0.625000 +vt 0.704545 0.625000 +vt 0.704545 0.829546 +vt 0.818182 0.852273 +vt 0.704545 0.852273 +vt 0.704545 0.965909 +vt 0.818182 0.988637 +vt 0.704545 0.988637 +vt 0.704545 0.556818 +vt 0.818182 0.579545 +vt 0.704545 0.579545 +vt 0.704545 0.784091 +vt 0.818182 0.806818 +vt 0.704545 0.806818 +vt 0.102273 0.772731 +vt 0.056818 0.811686 +vt 0.056818 0.779223 +vt -0.000000 0.795455 +vt 0.238636 0.170455 +vt 0.011364 0.159091 +vt 0.238636 0.159091 +vt 0.011364 0.181818 +vt 0.000000 0.170455 +vt 0.011364 0.170455 +vt 0.477273 0.181818 +vt 0.250000 0.204545 +vt 0.261364 0.170455 +vt 0.250000 0.170455 +vt 0.238636 0.181818 +vt 0.250000 0.181818 +vt 0.238636 0.215909 +vt 0.034091 0.204545 +vt 0.238636 0.204545 +vt 0.000000 0.204545 +vt 0.011364 0.204545 +vt 0.269886 0.329545 +vt 0.227273 0.318182 +vt 0.272727 0.318182 +vt 0.275568 0.329545 +vt 0.318182 0.318182 +vt 0.315341 0.329545 +vt 0.227273 0.295455 +vt 0.272727 0.295455 +vt 0.318182 0.295455 +vt 0.363636 0.318182 +vt 0.360795 0.329545 +vt 0.360795 0.284091 +vt 0.318182 0.295455 +vt 0.321023 0.284091 +vt 0.275568 0.284091 +vt 0.272727 0.295455 +vt 0.269886 0.284091 +vt 0.227273 0.295455 +vt 0.230114 0.284091 +vt 0.184659 0.284091 +vt 0.181818 0.295455 +vt 0.181818 0.295455 +vt 0.181818 0.318182 +vt 0.136364 0.295455 +vt 0.136364 0.318182 +vt 0.178977 0.284091 +vt 0.136364 0.295455 +vt 0.139205 0.284091 +vt 0.090909 0.295455 +vt 0.090909 0.318182 +vt 0.133523 0.284091 +vt 0.090909 0.295455 +vt 0.093750 0.284091 +vt 0.088068 0.284091 +vt 0.045455 0.295455 +vt 0.048295 0.284091 +vt 0.042614 0.284091 +vt -0.000000 0.295455 +vt 0.002841 0.284091 +vt 0.045455 0.295455 +vt 0.045455 0.318182 +vt 0.000000 0.295455 +vt -0.000000 0.318182 +vt 0.500000 0.295455 +vt 0.545455 0.318182 +vt 0.500000 0.318182 +vt 0.542614 0.284091 +vt 0.500000 0.295455 +vt 0.502841 0.284091 +vt 0.454545 0.295455 +vt 0.454545 0.318182 +vt 0.457386 0.284091 +vt 0.454545 0.295455 +vt 0.451705 0.284091 +vt 0.409091 0.295455 +vt 0.411932 0.284091 +vt 0.406250 0.284091 +vt 0.363636 0.295455 +vt 0.366477 0.284091 +vt 0.409091 0.295455 +vt 0.409091 0.318182 +vt 0.363636 0.295455 +vt 0.411932 0.329545 +vt 0.451705 0.329545 +vt 0.366477 0.329545 +vt 0.406250 0.329545 +vt 0.457386 0.329545 +vt 0.497159 0.329545 +vt 0.502841 0.329545 +vt 0.542614 0.329545 +vt 0.002841 0.329545 +vt 0.042614 0.329545 +vt 0.088068 0.329545 +vt 0.093750 0.329545 +vt 0.133523 0.329545 +vt 0.139205 0.329545 +vt 0.178977 0.329545 +vt 0.184659 0.329545 +vt 0.224432 0.329545 +vt 0.386364 0.431818 +vt 0.659091 0.443182 +vt 0.386364 0.443182 +vt 0.659091 0.431818 +vt 0.386364 0.409091 +vt 0.659091 0.409091 +vt 0.386364 0.397727 +vt 0.659091 0.397727 +vt 0.363636 0.431818 +vt 0.375000 0.443182 +vt 0.363636 0.443182 +vt 0.352273 0.431818 +vt 0.363636 0.409091 +vt 0.375000 0.409091 +vt 0.363636 0.397727 +vt 0.375000 0.397727 +vt 0.375000 0.431818 +vt 0.670455 0.431818 +vt 0.681818 0.443182 +vt 0.670455 0.443182 +vt 0.681818 0.431818 +vt 0.670455 0.409091 +vt 0.681818 0.409091 +vt 0.670455 0.397727 +vt 0.681818 0.397727 +vt 0.693182 0.431818 +vt 0.693182 0.409091 +vt 0.269886 0.272727 +vt 0.227273 0.261364 +vt 0.272727 0.261364 +vt 0.275568 0.272727 +vt 0.318182 0.261364 +vt 0.315341 0.272727 +vt 0.227273 0.238636 +vt 0.272727 0.238636 +vt 0.318182 0.238636 +vt 0.363636 0.261364 +vt 0.360795 0.272727 +vt 0.360795 0.227273 +vt 0.318182 0.238636 +vt 0.321023 0.227273 +vt 0.275568 0.227273 +vt 0.272727 0.238636 +vt 0.269886 0.227273 +vt 0.227273 0.238636 +vt 0.230114 0.227273 +vt 0.184659 0.227273 +vt 0.181818 0.238636 +vt 0.181818 0.238636 +vt 0.181818 0.261364 +vt 0.136364 0.238636 +vt 0.136364 0.261364 +vt 0.139205 0.227273 +vt 0.136364 0.238636 +vt 0.090909 0.238636 +vt 0.090909 0.261364 +vt 0.133523 0.227273 +vt 0.090909 0.238636 +vt 0.093750 0.227273 +vt 0.088068 0.227273 +vt 0.045455 0.238636 +vt 0.048295 0.227273 +vt 0.042614 0.227273 +vt -0.000000 0.238636 +vt 0.002841 0.227273 +vt 0.045455 0.238636 +vt 0.045455 0.261364 +vt 0.000000 0.238636 +vt -0.000000 0.261364 +vt 0.500000 0.238636 +vt 0.545455 0.261364 +vt 0.500000 0.261364 +vt 0.502841 0.227273 +vt 0.545455 0.238636 +vt 0.500000 0.238636 +vt 0.454545 0.238636 +vt 0.454545 0.261364 +vt 0.497159 0.227273 +vt 0.454545 0.238636 +vt 0.457386 0.227273 +vt 0.411932 0.227273 +vt 0.409091 0.238636 +vt 0.406250 0.227273 +vt 0.363636 0.238636 +vt 0.366477 0.227273 +vt 0.409091 0.238636 +vt 0.409091 0.261364 +vt 0.363636 0.238636 +vt 0.411932 0.272727 +vt 0.451705 0.272727 +vt 0.406250 0.272727 +vt 0.457386 0.272727 +vt 0.497159 0.272727 +vt 0.502841 0.272727 +vt 0.542614 0.272727 +vt 0.042614 0.272727 +vt 0.048295 0.272727 +vt 0.088068 0.272727 +vt 0.133523 0.272727 +vt 0.139205 0.272727 +vt 0.178977 0.272727 +vt 0.184659 0.272727 +vt 0.224432 0.272727 +vt 0.034091 0.431818 +vt 0.306818 0.443182 +vt 0.034091 0.443182 +vt 0.306818 0.431818 +vt 0.034091 0.409091 +vt 0.306818 0.409091 +vt 0.034091 0.397727 +vt 0.306818 0.397727 +vt 0.011364 0.431818 +vt 0.022727 0.443182 +vt 0.011364 0.443182 +vt 0.000000 0.431818 +vt 0.011364 0.409091 +vt 0.022727 0.409091 +vt 0.011364 0.397727 +vt 0.022727 0.397727 +vt 0.022727 0.431818 +vt 0.318182 0.443182 +vt 0.329545 0.431818 +vt 0.329545 0.443182 +vt 0.318182 0.409091 +vt 0.329545 0.409091 +vt 0.318182 0.397727 +vt 0.329545 0.397727 +vt 0.340909 0.431818 +vt 0.340909 0.409091 +vt 0.034091 0.375000 +vt 0.306818 0.386364 +vt 0.034091 0.386364 +vt 0.306818 0.375000 +vt 0.034091 0.352273 +vt 0.306818 0.352273 +vt 0.034091 0.340909 +vt 0.306818 0.340909 +vt 0.011364 0.375000 +vt 0.022727 0.386364 +vt 0.011364 0.386364 +vt -0.000000 0.375000 +vt 0.011364 0.352273 +vt 0.022727 0.352273 +vt 0.011364 0.340909 +vt 0.022727 0.340909 +vt 0.022727 0.375000 +vt 0.318182 0.375000 +vt 0.329545 0.386364 +vt 0.318182 0.386364 +vt 0.329545 0.375000 +vt 0.318182 0.352273 +vt 0.329545 0.352273 +vt 0.318182 0.340909 +vt 0.329545 0.340909 +vt 0.340909 0.375000 +vt 0.340909 0.352273 +vt 0.386364 0.375000 +vt 0.659091 0.386364 +vt 0.386364 0.386364 +vt 0.659091 0.375000 +vt 0.386364 0.352273 +vt 0.659091 0.352273 +vt 0.386364 0.340909 +vt 0.659091 0.340909 +vt 0.363636 0.375000 +vt 0.375000 0.386364 +vt 0.363636 0.386364 +vt 0.352273 0.352273 +vt 0.352273 0.375000 +vt 0.375000 0.352273 +vt 0.363636 0.340909 +vt 0.375000 0.340909 +vt 0.375000 0.375000 +vt 0.363636 0.352273 +vt 0.670455 0.375000 +vt 0.681818 0.386364 +vt 0.670455 0.386364 +vt 0.681818 0.375000 +vt 0.670455 0.352273 +vt 0.681818 0.352273 +vt 0.670455 0.340909 +vt 0.681818 0.340909 +vt 0.693182 0.352273 +vt 0.693182 0.375000 +vt 0.727273 0.170455 +vt 0.500000 0.159091 +vt 0.727273 0.159091 +vt 0.500000 0.170455 +vt 0.488636 0.181818 +vt 0.488636 0.170455 +vt 0.965909 0.181818 +vt 0.738636 0.204545 +vt 0.750000 0.170455 +vt 0.738636 0.170455 +vt 0.727273 0.181818 +vt 0.738636 0.181818 +vt 0.727273 0.204545 +vt 0.727273 0.215909 +vt 0.522727 0.204545 +vt 0.488636 0.204545 +vt 0.500000 0.181818 +vt 0.500000 0.204545 +vt 0.238636 0.102273 +vt 0.011364 0.090909 +vt 0.238636 0.090909 +vt 0.011364 0.113636 +vt 0.000000 0.102273 +vt 0.011364 0.102273 +vt 0.477273 0.113636 +vt 0.250000 0.136364 +vt 0.261364 0.102273 +vt 0.250000 0.102273 +vt 0.238636 0.113636 +vt 0.250000 0.113636 +vt 0.238636 0.147727 +vt 0.034091 0.136364 +vt 0.238636 0.136364 +vt 0.011364 0.136364 +vt 0.000000 0.113636 +vt 0.727273 0.102273 +vt 0.500000 0.090909 +vt 0.727273 0.090909 +vt 0.500000 0.102273 +vt 0.488636 0.113636 +vt 0.488636 0.102273 +vt 0.965909 0.113636 +vt 0.738636 0.136364 +vt 0.750000 0.102273 +vt 0.738636 0.102273 +vt 0.727273 0.113636 +vt 0.738636 0.113636 +vt 0.727273 0.147727 +vt 0.522727 0.136364 +vt 0.727273 0.136364 +vt 0.488636 0.136364 +vt 0.500000 0.113636 +vt 0.500000 0.136364 +vt 0.102273 0.454545 +vt 0.818182 0.693182 +vt 0.693182 0.464286 +vt 0.693182 0.646105 +vt 0.102273 0.727269 +vt 0.693182 0.672078 +vt 0.704545 0.896104 +vt 0.704545 0.850649 +vt 0.704545 0.805195 +vt 0.704545 0.759740 +vt 0.863636 1.000000 +vt 0.880682 0.995433 +vt 0.893160 0.982955 +vt 0.893160 0.948864 +vt 0.880682 0.936385 +vt 0.863636 0.931818 +vt 0.834113 0.948864 +vt 0.829545 0.965909 +vt 0.834113 0.982955 +vt 0.818182 0.920455 +vt 0.818182 0.511364 +vt 0.818182 0.738636 +vt 0.818182 0.647727 +vt 0.818182 0.875000 +vt 0.818182 0.465909 +vt 0.818182 0.602273 +vt 0.818182 0.829546 +vt 0.818182 0.965909 +vt 0.818182 0.556818 +vt 0.818182 0.784091 +vt 0.102273 0.818178 +vt 0.000000 0.181818 +vt 0.477273 0.170455 +vt 0.454545 0.204545 +vt 0.034091 0.215909 +vt 0.227273 0.170455 +vt 0.230114 0.329545 +vt 0.321023 0.329545 +vt 0.315341 0.284091 +vt 0.224432 0.284091 +vt 0.545455 0.295455 +vt 0.545455 0.295455 +vt 0.497159 0.284091 +vt 0.048295 0.329545 +vt 0.352273 0.409091 +vt 0.230114 0.272727 +vt 0.321023 0.272727 +vt 0.315341 0.227273 +vt 0.224432 0.227273 +vt 0.178977 0.227273 +vt 0.545455 0.238636 +vt 0.542614 0.227273 +vt 0.451705 0.227273 +vt 0.366477 0.272727 +vt 0.002841 0.272727 +vt 0.093750 0.272727 +vt 0.000000 0.409091 +vt 0.318182 0.431818 +vt -0.000000 0.352273 +vt 0.965909 0.170455 +vt 0.943182 0.204545 +vt 0.522727 0.215909 +vt 0.715909 0.170455 +vt 0.477273 0.102273 +vt 0.454545 0.136364 +vt 0.034091 0.147727 +vt 0.000000 0.136364 +vt 0.227273 0.102273 +vt 0.965909 0.102273 +vt 0.943182 0.136364 +vt 0.522727 0.147727 +vt 0.715909 0.102273 +s 1 +usemtl Texture +f 2/1/1 3/2/2 1/3/3 +f 4/4/4 5/5/5 3/2/2 +f 6/6/6 7/7/7 5/5/5 +f 8/8/8 9/9/9 7/7/7 +f 10/10/10 11/11/11 9/9/9 +f 12/12/12 13/13/13 11/11/11 +f 14/14/14 15/15/15 13/16/13 +f 16/17/16 17/18/17 15/15/15 +f 18/19/18 19/20/19 17/18/17 +f 20/21/20 21/22/21 19/20/19 +f 4/23/4 39/24/22 6/25/6 +f 22/26/23 23/27/24 21/22/21 +f 24/28/25 1/3/3 23/27/24 +f 17/18/26 59/29/27 58/30/26 +f 26/31/15 62/32/13 25/33/13 +f 15/15/28 58/34/26 57/35/28 +f 13/16/29 57/36/28 56/37/29 +f 13/13/29 55/38/30 11/11/30 +f 11/11/30 54/39/31 9/9/31 +f 9/9/31 53/40/32 7/7/32 +f 1/3/33 61/41/34 23/27/34 +f 3/2/35 50/42/33 1/3/33 +f 7/7/32 52/43/36 5/5/36 +f 23/27/34 60/44/37 21/22/37 +f 5/5/36 51/45/35 3/2/35 +f 21/22/37 59/46/27 19/20/27 +f 40/47/38 39/48/22 49/49/39 +f 20/50/20 47/51/40 22/52/23 +f 18/53/18 46/54/41 20/55/20 +f 16/56/16 45/57/42 18/58/18 +f 14/59/14 44/60/43 16/61/16 +f 12/62/12 43/63/44 14/64/14 +f 10/65/10 42/66/45 12/67/12 +f 8/68/8 41/69/46 10/70/10 +f 24/71/25 38/72/47 2/73/1 +f 4/74/4 38/75/47 37/76/48 +f 6/77/6 40/47/38 8/78/8 +f 39/24/22 37/79/48 49/80/39 +f 41/69/46 40/81/38 49/82/39 +f 42/66/45 41/83/46 49/84/39 +f 43/63/44 42/85/45 49/86/39 +f 44/60/43 43/87/44 49/88/39 +f 45/57/42 44/89/43 49/90/39 +f 46/54/41 45/91/42 49/92/39 +f 47/51/40 46/93/41 49/94/39 +f 38/72/47 48/95/49 49/96/39 +f 37/76/48 38/75/47 49/97/39 +f 25/98/50 51/99/50 26/100/50 +f 26/101/50 52/102/50 27/103/50 +f 27/104/50 53/105/50 28/106/50 +f 28/107/50 54/108/50 29/109/50 +f 29/110/50 55/111/50 30/112/50 +f 30/113/50 56/114/50 31/115/50 +f 31/116/50 57/36/50 32/117/50 +f 32/118/50 58/34/50 33/119/50 +f 34/120/50 58/30/50 59/29/50 +f 35/121/50 59/46/50 60/122/50 +f 36/123/50 60/44/50 61/124/50 +f 25/125/50 61/41/50 50/126/50 +f 65/127/50 69/128/50 73/129/50 +f 33/130/5 69/131/2 32/132/2 +f 30/133/24 66/134/21 29/135/21 +f 25/136/13 73/137/11 36/138/11 +f 27/139/17 63/140/15 26/141/15 +f 34/142/7 70/143/5 33/144/5 +f 31/145/3 67/146/24 30/147/24 +f 28/148/19 64/149/17 27/150/17 +f 35/151/9 71/152/7 34/153/7 +f 32/154/2 68/155/3 31/156/3 +f 29/157/21 65/158/19 28/159/19 +f 36/160/11 72/161/9 35/162/9 +f 24/163/25 47/164/40 48/165/49 +f 48/165/49 47/164/40 49/166/39 +f 78/167/51 74/168/51 77/169/51 +f 85/170/39 74/171/39 75/172/39 +f 76/173/52 81/174/52 77/175/52 +f 77/176/53 80/177/53 78/167/53 +f 81/174/50 80/177/50 79/178/50 +f 81/179/54 84/180/54 82/181/54 +f 83/182/55 85/170/55 84/183/55 +f 80/177/56 84/180/56 75/172/56 +f 87/184/50 89/185/50 90/186/50 +f 88/187/50 89/188/50 86/189/50 +f 91/190/3 90/186/2 89/185/3 +f 94/191/24 89/188/3 92/186/24 +f 95/192/21 92/193/24 93/188/21 +f 88/194/50 93/188/50 92/193/50 +f 96/195/39 95/196/39 97/197/39 +f 96/198/39 91/196/39 94/199/39 +f 99/200/39 91/201/39 98/202/39 +f 99/203/39 102/201/39 101/204/39 +f 101/205/2 103/185/5 90/206/2 +f 102/207/5 105/206/7 103/208/5 +f 107/209/39 102/210/39 100/211/39 +f 104/212/7 132/208/9 105/213/7 +f 108/214/39 104/215/39 107/216/39 +f 109/217/39 106/218/39 108/219/39 +f 110/220/39 111/221/39 109/222/39 +f 106/223/9 112/213/11 132/224/9 +f 111/225/11 114/224/13 112/226/11 +f 113/227/13 116/228/15 114/229/13 +f 118/230/39 113/231/39 110/232/39 +f 115/233/15 123/229/17 116/234/15 +f 118/235/39 117/231/39 115/236/39 +f 120/237/39 117/238/39 119/239/39 +f 97/240/39 121/241/39 120/242/39 +f 117/243/17 122/234/19 123/244/17 +f 121/245/19 93/244/21 122/193/19 +f 125/246/50 122/234/50 124/247/50 +f 124/248/50 93/244/50 126/249/50 +f 127/250/50 123/229/50 125/251/50 +f 128/252/50 116/228/50 127/253/50 +f 129/254/50 114/224/50 128/255/50 +f 129/256/50 132/224/50 112/213/50 +f 131/257/50 132/208/50 130/258/50 +f 133/259/50 105/206/50 131/260/50 +f 87/261/50 103/185/50 133/262/50 +f 136/263/51 135/264/51 134/265/51 +f 137/266/52 138/267/52 139/268/52 +f 139/268/54 140/269/54 141/270/54 +f 144/271/51 143/272/51 142/273/51 +f 142/274/39 147/275/39 144/271/39 +f 148/276/54 145/277/54 146/278/54 +f 149/279/52 147/275/52 148/276/52 +f 152/280/51 151/281/51 150/282/51 +f 153/283/52 154/284/52 155/285/52 +f 155/285/54 156/286/54 157/287/54 +f 151/288/50 155/285/50 157/289/50 +f 159/290/50 161/291/50 162/292/50 +f 160/293/50 161/294/50 158/295/50 +f 163/296/3 162/292/2 161/291/3 +f 166/297/24 161/294/3 164/292/24 +f 167/298/21 164/299/24 165/294/21 +f 160/300/50 165/294/50 164/299/50 +f 168/301/39 167/302/39 169/303/39 +f 168/304/39 163/302/39 166/305/39 +f 171/306/39 163/307/39 170/308/39 +f 171/309/39 174/307/39 173/310/39 +f 173/311/2 175/291/5 162/312/2 +f 174/313/5 177/312/7 175/314/5 +f 172/315/39 176/310/39 174/316/39 +f 176/317/7 204/314/9 177/318/7 +f 180/319/39 176/320/39 179/321/39 +f 181/322/39 178/323/39 180/324/39 +f 182/325/39 183/326/39 181/327/39 +f 178/328/9 184/318/11 204/329/9 +f 183/330/11 186/329/13 184/331/11 +f 185/332/13 188/333/15 186/334/13 +f 182/335/39 187/336/39 185/337/39 +f 187/338/15 195/334/17 188/339/15 +f 191/340/39 187/341/39 190/342/39 +f 191/343/39 193/341/39 189/344/39 +f 169/345/39 193/346/39 192/347/39 +f 189/348/17 194/339/19 195/349/17 +f 193/350/19 165/349/21 194/299/19 +f 197/351/50 194/339/50 196/352/50 +f 198/353/50 194/299/50 165/349/50 +f 199/354/50 195/334/50 197/355/50 +f 200/356/50 188/333/50 199/357/50 +f 200/358/50 184/331/50 186/329/50 +f 202/359/50 184/318/50 201/360/50 +f 202/361/50 177/318/50 204/314/50 +f 205/362/50 177/312/50 203/363/50 +f 159/364/50 175/291/50 205/365/50 +f 208/366/52 207/367/52 206/368/52 +f 209/369/54 210/370/54 211/371/54 +f 211/371/56 212/372/56 213/373/56 +f 216/374/52 215/375/52 214/376/52 +f 214/377/39 219/378/39 216/374/39 +f 220/379/56 217/380/56 218/381/56 +f 221/382/54 219/378/54 220/379/54 +f 222/383/52 225/384/52 223/385/52 +f 225/384/54 226/386/54 227/387/54 +f 227/387/56 228/388/56 229/389/56 +f 223/390/50 227/387/50 229/391/50 +f 232/392/56 231/393/56 230/394/56 +f 233/395/51 234/396/51 235/397/51 +f 235/397/52 236/398/52 237/399/52 +f 240/400/56 239/401/56 238/402/56 +f 238/403/39 243/404/39 240/400/39 +f 244/405/52 241/406/52 242/407/52 +f 245/408/51 243/404/51 244/405/51 +f 248/409/56 247/410/56 246/411/56 +f 249/412/51 250/413/51 251/414/51 +f 251/414/52 252/415/52 253/416/52 +f 247/417/50 251/414/50 253/418/50 +f 256/419/54 255/420/54 254/421/54 +f 257/422/56 258/423/56 259/424/56 +f 259/424/51 260/425/51 261/426/51 +f 264/427/54 263/428/54 262/429/54 +f 265/430/39 264/427/39 262/431/39 +f 268/432/51 265/433/51 266/434/51 +f 269/435/56 267/436/56 268/432/56 +f 272/437/54 271/438/54 270/439/54 +f 273/440/56 274/441/56 275/442/56 +f 275/442/51 276/443/51 277/444/51 +f 273/440/50 277/445/50 271/446/50 +f 282/447/56 278/448/56 281/449/56 +f 279/450/39 280/451/39 278/452/39 +f 280/453/51 285/454/51 281/455/51 +f 281/456/57 284/457/57 282/447/57 +f 283/458/50 286/459/50 284/457/50 +f 285/460/52 288/461/52 286/459/52 +f 287/462/58 289/463/58 288/464/58 +f 284/457/54 288/461/54 279/450/54 +f 294/465/54 290/466/54 293/467/54 +f 301/468/39 290/469/39 291/470/39 +f 292/471/56 297/472/56 293/473/56 +f 293/474/59 296/475/59 294/465/59 +f 297/472/50 296/475/50 295/476/50 +f 297/477/51 300/478/51 298/479/51 +f 300/480/60 292/481/60 301/468/60 +f 296/475/52 300/478/52 291/470/52 +f 306/482/52 302/483/52 305/484/52 +f 303/485/39 304/486/39 302/487/39 +f 304/488/54 309/489/54 305/490/54 +f 305/491/61 308/492/61 306/482/61 +f 309/489/50 308/492/50 307/493/50 +f 309/494/56 312/495/56 310/496/56 +f 311/497/62 313/498/62 312/499/62 +f 308/492/51 312/495/51 303/485/51 +f 2/1/1 4/4/4 3/2/2 +f 4/4/4 6/6/6 5/5/5 +f 6/6/6 8/8/8 7/7/7 +f 8/8/8 10/10/10 9/9/9 +f 10/10/10 12/12/12 11/11/11 +f 12/12/12 14/500/14 13/13/13 +f 14/14/14 16/17/16 15/15/15 +f 16/17/16 18/19/18 17/18/17 +f 18/19/18 20/21/20 19/20/19 +f 20/21/20 22/26/23 21/22/21 +f 4/23/4 37/79/48 39/24/22 +f 22/26/23 24/28/25 23/27/24 +f 24/28/25 2/1/1 1/3/3 +f 17/18/26 19/20/27 59/29/27 +f 26/31/15 63/501/15 62/32/13 +f 15/15/28 17/18/26 58/34/26 +f 13/16/29 15/15/28 57/36/28 +f 13/13/29 56/502/29 55/38/30 +f 11/11/30 55/111/30 54/39/31 +f 9/9/31 54/108/31 53/40/32 +f 1/3/33 50/126/33 61/41/34 +f 3/2/35 51/99/35 50/42/33 +f 7/7/32 53/105/32 52/43/36 +f 23/27/34 61/124/34 60/44/37 +f 5/5/36 52/503/36 51/45/35 +f 21/22/37 60/122/37 59/46/27 +f 20/50/20 46/93/41 47/51/40 +f 18/53/18 45/91/42 46/54/41 +f 16/56/16 44/89/43 45/57/42 +f 14/59/14 43/87/44 44/60/43 +f 12/62/12 42/85/45 43/63/44 +f 10/65/10 41/83/46 42/66/45 +f 8/68/8 40/81/38 41/69/46 +f 24/71/25 48/95/49 38/72/47 +f 4/74/4 2/504/1 38/75/47 +f 6/77/6 39/48/22 40/47/38 +f 25/98/50 50/42/50 51/99/50 +f 26/101/50 51/505/50 52/102/50 +f 27/104/50 52/43/50 53/105/50 +f 28/107/50 53/40/50 54/108/50 +f 29/110/50 54/39/50 55/111/50 +f 30/113/50 55/38/50 56/114/50 +f 31/116/50 56/37/50 57/36/50 +f 32/118/50 57/35/50 58/34/50 +f 34/120/50 33/506/50 58/30/50 +f 35/121/50 34/507/50 59/46/50 +f 36/123/50 35/508/50 60/44/50 +f 25/125/50 36/509/50 61/41/50 +f 73/129/50 62/510/50 63/511/50 +f 63/511/50 64/512/50 65/127/50 +f 65/127/50 66/513/50 67/514/50 +f 67/514/50 68/515/50 69/128/50 +f 69/128/50 70/516/50 71/517/50 +f 71/517/50 72/518/50 73/129/50 +f 73/129/50 63/511/50 65/127/50 +f 65/127/50 67/514/50 69/128/50 +f 69/128/50 71/517/50 73/129/50 +f 33/130/5 70/519/5 69/131/2 +f 30/133/24 67/520/24 66/134/21 +f 25/136/13 62/521/13 73/137/11 +f 27/139/17 64/522/17 63/140/15 +f 34/142/7 71/523/7 70/143/5 +f 31/145/3 68/524/3 67/146/24 +f 28/148/19 65/525/19 64/149/17 +f 35/151/9 72/526/9 71/152/7 +f 32/154/2 69/527/2 68/155/3 +f 29/157/21 66/528/21 65/158/19 +f 36/160/11 73/529/11 72/161/9 +f 24/163/25 22/530/23 47/164/40 +f 78/167/51 75/172/51 74/168/51 +f 85/170/39 76/531/39 74/171/39 +f 77/175/52 74/532/52 76/173/52 +f 76/173/52 83/533/52 81/174/52 +f 81/174/52 79/178/52 77/175/52 +f 77/176/53 79/178/53 80/177/53 +f 81/174/50 82/181/50 80/177/50 +f 81/179/54 83/534/54 84/180/54 +f 83/182/55 76/531/55 85/170/55 +f 75/172/56 78/535/56 80/177/56 +f 80/177/56 82/181/56 84/180/56 +f 84/180/56 85/170/56 75/172/56 +f 87/184/50 86/536/50 89/185/50 +f 88/187/50 92/186/50 89/188/50 +f 91/190/3 101/191/2 90/186/2 +f 94/191/24 91/192/3 89/188/3 +f 95/192/21 94/245/24 92/193/24 +f 88/194/50 126/537/50 93/188/50 +f 96/195/39 94/241/39 95/196/39 +f 96/198/39 98/538/39 91/196/39 +f 99/200/39 101/199/39 91/201/39 +f 99/203/39 100/539/39 102/201/39 +f 101/205/2 102/190/5 103/185/5 +f 102/207/5 104/205/7 105/206/7 +f 107/209/39 104/204/39 102/210/39 +f 104/212/7 106/207/9 132/208/9 +f 108/214/39 106/210/39 104/215/39 +f 109/217/39 111/215/39 106/218/39 +f 110/220/39 113/218/39 111/221/39 +f 106/223/9 111/212/11 112/213/11 +f 111/225/11 113/223/13 114/224/13 +f 113/227/13 115/540/15 116/228/15 +f 118/230/39 115/541/39 113/231/39 +f 115/233/15 117/227/17 123/229/17 +f 118/235/39 119/542/39 117/231/39 +f 120/237/39 121/236/39 117/238/39 +f 97/240/39 95/238/39 121/241/39 +f 117/243/17 121/233/19 122/234/19 +f 121/245/19 95/243/21 93/244/21 +f 125/246/50 123/244/50 122/234/50 +f 124/248/50 122/193/50 93/244/50 +f 127/250/50 116/234/50 123/229/50 +f 128/252/50 114/229/50 116/228/50 +f 129/254/50 112/226/50 114/224/50 +f 129/256/50 130/543/50 132/224/50 +f 131/257/50 105/213/50 132/208/50 +f 133/259/50 103/208/50 105/206/50 +f 87/261/50 90/206/50 103/185/50 +f 136/263/51 137/266/51 135/264/51 +f 137/266/52 136/263/52 138/267/52 +f 139/268/54 138/267/54 140/269/54 +f 144/271/51 149/279/51 143/272/51 +f 142/274/39 145/544/39 147/275/39 +f 148/276/54 147/275/54 145/277/54 +f 149/279/52 144/271/52 147/275/52 +f 152/280/51 153/283/51 151/281/51 +f 153/283/52 152/280/52 154/284/52 +f 155/285/54 154/284/54 156/286/54 +f 151/288/50 153/283/50 155/285/50 +f 159/290/50 158/545/50 161/291/50 +f 160/293/50 164/292/50 161/294/50 +f 163/296/3 173/297/2 162/292/2 +f 166/297/24 163/298/3 161/294/3 +f 167/298/21 166/350/24 164/299/24 +f 160/300/50 198/546/50 165/294/50 +f 168/301/39 166/346/39 167/302/39 +f 168/304/39 170/547/39 163/302/39 +f 171/306/39 173/305/39 163/307/39 +f 171/309/39 172/548/39 174/307/39 +f 173/311/2 174/296/5 175/291/5 +f 174/313/5 176/311/7 177/312/7 +f 172/315/39 179/549/39 176/310/39 +f 176/317/7 178/313/9 204/314/9 +f 180/319/39 178/316/39 176/320/39 +f 181/322/39 183/320/39 178/323/39 +f 182/325/39 185/323/39 183/326/39 +f 178/328/9 183/317/11 184/318/11 +f 183/330/11 185/328/13 186/329/13 +f 185/332/13 187/550/15 188/333/15 +f 182/335/39 190/551/39 187/336/39 +f 187/338/15 189/332/17 195/334/17 +f 191/340/39 189/337/39 187/341/39 +f 191/343/39 192/552/39 193/341/39 +f 169/345/39 167/344/39 193/346/39 +f 189/348/17 193/338/19 194/339/19 +f 193/350/19 167/348/21 165/349/21 +f 197/351/50 195/349/50 194/339/50 +f 198/353/50 196/553/50 194/299/50 +f 199/354/50 188/339/50 195/334/50 +f 200/356/50 186/334/50 188/333/50 +f 200/358/50 201/554/50 184/331/50 +f 202/359/50 204/329/50 184/318/50 +f 202/361/50 203/555/50 177/318/50 +f 205/362/50 175/314/50 177/312/50 +f 159/364/50 162/312/50 175/291/50 +f 208/366/52 209/369/52 207/367/52 +f 209/369/54 208/366/54 210/370/54 +f 211/371/56 210/370/56 212/372/56 +f 216/374/52 221/382/52 215/375/52 +f 214/377/39 217/556/39 219/378/39 +f 220/379/56 219/378/56 217/380/56 +f 221/382/54 216/374/54 219/378/54 +f 222/383/52 224/557/52 225/384/52 +f 225/384/54 224/557/54 226/386/54 +f 227/387/56 226/386/56 228/388/56 +f 223/390/50 225/384/50 227/387/50 +f 232/392/56 233/395/56 231/393/56 +f 233/395/51 232/392/51 234/396/51 +f 235/397/52 234/396/52 236/398/52 +f 240/400/56 245/408/56 239/401/56 +f 238/403/39 241/558/39 243/404/39 +f 244/405/52 243/404/52 241/406/52 +f 245/408/51 240/400/51 243/404/51 +f 248/409/56 249/412/56 247/410/56 +f 249/412/51 248/409/51 250/413/51 +f 251/414/52 250/413/52 252/415/52 +f 247/417/50 249/412/50 251/414/50 +f 256/419/54 257/422/54 255/420/54 +f 257/422/56 256/419/56 258/423/56 +f 259/424/51 258/423/51 260/425/51 +f 264/427/54 269/435/54 263/428/54 +f 265/430/39 267/436/39 264/427/39 +f 268/432/51 267/436/51 265/433/51 +f 269/435/56 264/427/56 267/436/56 +f 272/437/54 273/440/54 271/438/54 +f 273/440/56 272/437/56 274/441/56 +f 275/442/51 274/441/51 276/443/51 +f 273/440/50 275/442/50 277/445/50 +f 282/447/56 279/450/56 278/448/56 +f 279/450/39 289/463/39 280/451/39 +f 281/455/51 278/559/51 280/453/51 +f 280/453/51 287/560/51 285/454/51 +f 285/454/51 283/458/51 281/455/51 +f 281/456/57 283/458/57 284/457/57 +f 283/458/50 285/454/50 286/459/50 +f 285/460/52 287/561/52 288/461/52 +f 287/462/58 280/451/58 289/463/58 +f 279/450/54 282/562/54 284/457/54 +f 284/457/54 286/459/54 288/461/54 +f 288/461/54 289/463/54 279/450/54 +f 294/465/54 291/470/54 290/466/54 +f 301/468/39 292/481/39 290/469/39 +f 293/473/56 290/563/56 292/471/56 +f 292/471/56 299/564/56 297/472/56 +f 297/472/56 295/476/56 293/473/56 +f 293/474/59 295/476/59 296/475/59 +f 297/472/50 298/479/50 296/475/50 +f 297/477/51 299/565/51 300/478/51 +f 300/480/60 299/566/60 292/481/60 +f 291/470/52 294/567/52 296/475/52 +f 296/475/52 298/479/52 300/478/52 +f 300/478/52 301/468/52 291/470/52 +f 306/482/52 303/485/52 302/483/52 +f 303/485/39 313/498/39 304/486/39 +f 305/490/54 302/568/54 304/488/54 +f 304/488/54 311/569/54 309/489/54 +f 309/489/54 307/493/54 305/490/54 +f 305/491/61 307/493/61 308/492/61 +f 309/489/50 310/496/50 308/492/50 +f 309/494/56 311/570/56 312/495/56 +f 311/497/62 304/486/62 313/498/62 +f 303/485/51 306/571/51 308/492/51 +f 308/492/51 310/496/51 312/495/51 +f 312/495/51 313/498/51 303/485/51 diff --git a/src/main/resources/assets/hbm/models/effect/mush.obj b/src/main/resources/assets/hbm/models/effect/mush.obj deleted file mode 100644 index 7143670fc..000000000 --- a/src/main/resources/assets/hbm/models/effect/mush.obj +++ /dev/null @@ -1,2656 +0,0 @@ -# Blender v2.79 (sub 0) OBJ File: 'mush.blend' -# www.blender.org -o Stem -v -0.000000 0.000000 -2.999999 -v -0.000000 4.000000 -2.000000 -v 0.585271 0.000000 -2.942355 -v 0.390181 4.000000 -1.961570 -v 1.148050 0.000000 -2.771638 -v 0.765367 4.000000 -1.847759 -v 1.666710 0.000000 -2.494408 -v 1.111140 4.000000 -1.662939 -v 2.121320 0.000000 -2.121320 -v 1.414213 4.000000 -1.414213 -v 2.494409 0.000000 -1.666710 -v 1.662939 4.000000 -1.111140 -v 2.771638 0.000000 -1.148050 -v 1.847759 4.000000 -0.765367 -v 2.942355 0.000000 -0.585271 -v 1.961570 4.000000 -0.390180 -v 3.000000 0.000000 0.000000 -v 2.000000 4.000000 0.000000 -v 2.942356 0.000000 0.585271 -v 1.961571 4.000000 0.390181 -v 2.771638 0.000000 1.148051 -v 1.847759 4.000000 0.765367 -v 2.494409 0.000000 1.666711 -v 1.662939 4.000000 1.111141 -v 2.121320 0.000000 2.121321 -v 1.414213 4.000000 1.414214 -v 1.666710 0.000000 2.494410 -v 1.111140 4.000000 1.662940 -v 1.148050 0.000000 2.771640 -v 0.765366 4.000000 1.847760 -v 0.585270 0.000000 2.942357 -v 0.390180 4.000000 1.961571 -v -0.000001 0.000000 3.000000 -v -0.000001 4.000000 2.000000 -v -0.585272 0.000000 2.942356 -v -0.390182 4.000000 1.961571 -v -1.148052 0.000000 2.771639 -v -0.765368 4.000000 1.847759 -v -1.666712 0.000000 2.494409 -v -1.111142 4.000000 1.662939 -v -2.121322 0.000000 2.121320 -v -1.414215 4.000000 1.414213 -v -2.494411 0.000000 1.666710 -v -1.662940 4.000000 1.111140 -v -2.771640 0.000000 1.148049 -v -1.847760 4.000000 0.765366 -v -2.942357 0.000000 0.585269 -v -1.961571 4.000000 0.390179 -v -3.000000 0.000000 -0.000002 -v -2.000000 4.000000 -0.000002 -v -2.942356 0.000000 -0.585274 -v -1.961570 4.000000 -0.390182 -v -2.771638 0.000000 -1.148053 -v -1.847758 4.000000 -0.765369 -v -2.494407 0.000000 -1.666713 -v -1.662938 4.000000 -1.111142 -v -2.121318 0.000000 -2.121322 -v -1.414212 4.000000 -1.414215 -v -1.666708 0.000000 -2.494411 -v -1.111138 4.000000 -1.662940 -v -1.148046 0.000000 -2.771640 -v -0.765364 4.000000 -1.847760 -v -0.585267 0.000000 -2.942356 -v -0.390178 4.000000 -1.961571 -v 0.292634 9.000000 -1.471178 -v -0.000001 9.000000 -1.500000 -v 0.574024 9.000000 -1.385819 -v 0.833354 9.000000 -1.247204 -v 1.060659 9.000000 -1.060660 -v 1.247203 9.000000 -0.833355 -v 1.385818 9.000000 -0.574025 -v 1.471177 9.000000 -0.292635 -v 1.499999 9.000000 0.000000 -v 1.471177 9.000000 0.292635 -v 1.385818 9.000000 0.574025 -v 1.247203 9.000000 0.833355 -v 1.060659 9.000000 1.060660 -v 0.833354 9.000000 1.247205 -v 0.574024 9.000000 1.385820 -v 0.292634 9.000000 1.471178 -v -0.000002 9.000000 1.500000 -v -0.292637 9.000000 1.471178 -v -0.574027 9.000000 1.385819 -v -0.833357 9.000000 1.247204 -v -1.060662 9.000000 1.060660 -v -1.247206 9.000000 0.833355 -v -1.385821 9.000000 0.574024 -v -1.471179 9.000000 0.292634 -v -1.500001 9.000000 -0.000001 -v -1.471179 9.000000 -0.292637 -v -1.385820 9.000000 -0.574027 -v -1.247205 9.000000 -0.833357 -v -1.060660 9.000000 -1.060661 -v -0.833355 9.000000 -1.247205 -v -0.574024 9.000000 -1.385820 -v -0.292635 9.000000 -1.471178 -v 0.243864 22.000000 -1.225981 -v 0.000001 22.000000 -1.250000 -v 0.478355 22.000000 -1.154849 -v 0.694464 22.000000 -1.039337 -v 0.883885 22.000000 -0.883883 -v 1.039338 22.000000 -0.694463 -v 1.154850 22.000000 -0.478354 -v 1.225983 22.000000 -0.243863 -v 1.250001 22.000000 -0.000000 -v 1.225983 22.000000 0.243863 -v 1.154851 22.000000 0.478354 -v 1.039338 22.000000 0.694463 -v 0.883885 22.000000 0.883884 -v 0.694464 22.000000 1.039337 -v 0.478355 22.000000 1.154850 -v 0.243864 22.000000 1.225982 -v 0.000001 22.000000 1.250000 -v -0.243862 22.000000 1.225982 -v -0.478354 22.000000 1.154849 -v -0.694462 22.000000 1.039337 -v -0.883883 22.000000 0.883883 -v -1.039336 22.000000 0.694462 -v -1.154849 22.000000 0.478353 -v -1.225981 22.000000 0.243862 -v -1.249999 22.000000 -0.000001 -v -1.225980 22.000000 -0.243864 -v -1.154848 22.000000 -0.478356 -v -1.039335 22.000000 -0.694464 -v -0.883881 22.000000 -0.883884 -v -0.694460 22.000000 -1.039338 -v -0.478351 22.000000 -1.154850 -v -0.243860 22.000000 -1.225982 -vt 0.500000 1.265625 -vt 0.562500 1.765625 -vt 0.500000 1.765625 -vt 0.562500 1.265625 -vt 0.625000 1.765625 -vt 0.625000 1.265625 -vt 0.687500 1.765625 -vt 0.687500 1.265625 -vt 0.750000 1.765625 -vt 0.750000 1.265625 -vt 0.812500 1.765625 -vt 0.812500 1.265625 -vt 0.875000 1.765625 -vt 0.875000 1.265625 -vt 0.937500 1.765625 -vt 0.937500 1.265625 -vt 1.000000 1.765625 -vt 0.000000 1.265625 -vt 0.062500 1.765625 -vt 0.000000 1.765625 -vt 0.125000 1.265625 -vt 0.125000 1.765625 -vt 0.187500 1.765625 -vt 0.187500 1.265625 -vt 0.250000 1.765625 -vt 0.250000 1.265625 -vt 0.312500 1.765625 -vt 0.312500 1.265625 -vt 0.375000 1.765625 -vt 0.375000 1.265625 -vt 0.437500 1.765625 -vt 0.437500 1.265625 -vt 0.500000 1.765625 -vt 0.500000 1.265625 -vt 0.562500 1.765625 -vt 0.562500 1.265625 -vt 0.625000 1.765625 -vt 0.625000 1.265625 -vt 0.687500 1.765625 -vt 0.687500 1.265625 -vt 0.750000 1.765625 -vt 0.750000 1.265625 -vt 0.812500 1.765625 -vt 0.875000 1.265625 -vt 0.875000 1.765625 -vt 0.937500 1.765625 -vt 0.937500 1.265625 -vt 1.000000 1.765625 -vt 0.000000 1.265625 -vt 0.062500 1.765625 -vt 0.000000 1.765625 -vt 0.062500 1.265625 -vt 0.125000 1.765625 -vt 0.187500 1.265625 -vt 0.187500 1.765625 -vt 0.250000 1.765625 -vt 0.250000 1.265625 -vt 0.312500 1.765625 -vt 0.312500 1.265625 -vt 0.375000 1.765625 -vt 0.187500 0.765625 -vt 0.437500 1.265625 -vt 0.437500 1.765625 -vt 0.375000 1.265625 -vt 0.750000 0.765625 -vt 0.687500 -0.234375 -vt 0.750000 -0.234375 -vt 0.750000 0.765625 -vt 0.312500 0.765625 -vt 0.937500 0.765625 -vt 0.500000 0.765625 -vt 0.062500 0.765625 -vt 0.687500 0.765625 -vt 0.250000 0.765625 -vt 0.812500 1.265625 -vt 0.812500 0.765625 -vt 0.375000 0.765625 -vt 1.000000 0.765625 -vt 1.000000 1.265625 -vt 0.562500 0.765625 -vt 0.125000 0.765625 -vt 0.125000 1.265625 -vt 0.312500 0.765625 -vt 0.875000 0.765625 -vt 0.437500 0.765625 -vt 0.062500 0.765625 -vt 0.062500 1.265625 -vt 0.625000 0.765625 -vt 0.187500 0.765625 -vt 0.812500 0.765625 -vt 0.375000 0.765625 -vt 0.937500 0.765625 -vt 0.562500 0.765625 -vt 0.500000 0.765625 -vt 0.125000 0.765625 -vt 0.687500 0.765625 -vt 0.250000 0.765625 -vt 0.875000 0.765625 -vt 0.437500 0.765625 -vt 1.000000 0.765625 -vt 1.000000 1.265625 -vt 0.625000 0.765625 -vt 0.375000 -0.234375 -vt 0.437500 -0.234375 -vt 0.562500 -0.234375 -vt 0.625000 -0.234375 -vt 0.812500 -0.234375 -vt 0.500000 -0.234375 -vt 0.687500 -0.234375 -vt 0.875000 -0.234375 -vt 0.750000 -0.234375 -vt 0.937500 -0.234375 -vt 0.812500 -0.234375 -vt 1.000000 -0.234375 -vt 0.875000 -0.234375 -vt 0.000000 0.765625 -vt 0.062500 -0.234375 -vt 0.937500 -0.234375 -vt 0.125000 -0.234375 -vt 1.000000 -0.234375 -vt 0.187500 -0.234375 -vt 0.000000 0.765625 -vt 0.062500 -0.234375 -vt 0.250000 -0.234375 -vt 0.125000 -0.234375 -vt 0.312500 -0.234375 -vt 0.187500 -0.234375 -vt 0.375000 -0.234375 -vt 0.562500 -0.234375 -vt 0.250000 -0.234375 -vt 0.437500 -0.234375 -vt 0.625000 -0.234375 -vt 0.312500 -0.234375 -vt 0.500000 -0.234375 -vt -0.000000 -0.234375 -vt -0.000000 -0.234375 -vn 0.0000 0.1722 -0.9850 -vn 0.1892 0.2425 -0.9515 -vn 0.0000 0.2425 -0.9701 -vn 0.1921 0.1722 -0.9661 -vn 0.3712 0.2425 -0.8963 -vn 0.3769 0.1722 -0.9101 -vn 0.5390 0.2425 -0.8066 -vn 0.5473 0.1722 -0.8190 -vn 0.6860 0.2425 -0.6860 -vn 0.6965 0.1722 -0.6965 -vn 0.8066 0.2425 -0.5390 -vn 0.8190 0.1722 -0.5473 -vn 0.8963 0.2425 -0.3712 -vn 0.9101 0.1722 -0.3769 -vn 0.9515 0.2425 -0.1892 -vn 0.9661 0.1722 -0.1921 -vn 0.9701 0.2425 0.0000 -vn 0.9850 0.1722 0.0000 -vn 0.9515 0.2425 0.1892 -vn 0.9101 0.1722 0.3769 -vn 0.8963 0.2425 0.3712 -vn 0.8066 0.2425 0.5390 -vn 0.8190 0.1722 0.5473 -vn 0.6860 0.2425 0.6860 -vn 0.6965 0.1722 0.6965 -vn 0.5390 0.2425 0.8066 -vn 0.5473 0.1722 0.8190 -vn 0.3712 0.2425 0.8963 -vn 0.3769 0.1722 0.9101 -vn 0.1892 0.2425 0.9515 -vn 0.1921 0.1722 0.9661 -vn 0.0000 0.2425 0.9701 -vn 0.0000 0.1722 0.9850 -vn -0.1892 0.2425 0.9515 -vn -0.1922 0.1722 0.9661 -vn -0.3712 0.2425 0.8963 -vn -0.3770 0.1722 0.9101 -vn -0.5390 0.2425 0.8066 -vn -0.5473 0.1722 0.8190 -vn -0.6860 0.2425 0.6860 -vn -0.6965 0.1722 0.6965 -vn -0.8066 0.2425 0.5390 -vn -0.9101 0.1722 0.3769 -vn -0.8963 0.2425 0.3712 -vn -0.9515 0.2425 0.1892 -vn -0.9661 0.1722 0.1921 -vn -0.9701 0.2425 0.0000 -vn -0.9850 0.1722 0.0000 -vn -0.9515 0.2425 -0.1892 -vn -0.9661 0.1722 -0.1922 -vn -0.8963 0.2425 -0.3713 -vn -0.8190 0.1722 -0.5473 -vn -0.8066 0.2425 -0.5390 -vn -0.6860 0.2425 -0.6860 -vn -0.6965 0.1722 -0.6965 -vn -0.5390 0.2425 -0.8066 -vn -0.5473 0.1722 -0.8190 -vn -0.3712 0.2425 -0.8963 -vn 0.8300 0.0595 0.5546 -vn -0.1921 0.1722 -0.9661 -vn -0.1892 0.2425 -0.9515 -vn -0.3769 0.1722 -0.9101 -vn 0.7058 0.0595 -0.7058 -vn 0.5555 0.0192 -0.8313 -vn 0.7070 0.0192 -0.7070 -vn -0.7058 0.0595 0.7058 -vn -0.5546 0.0595 -0.8300 -vn 0.9790 0.0595 -0.1947 -vn 0.0000 0.0595 0.9982 -vn -0.9790 0.0595 -0.1947 -vn 0.5546 0.0595 -0.8300 -vn 0.7058 0.0595 0.7058 -vn -0.8190 0.1722 0.5473 -vn -0.8300 0.0595 0.5546 -vn -0.3820 0.0595 -0.9222 -vn 0.9982 0.0595 0.0000 -vn -0.1947 0.0595 0.9790 -vn -0.9222 0.0595 -0.3820 -vn -0.9101 0.1722 -0.3770 -vn 0.5546 0.0595 0.8300 -vn -0.9222 0.0595 0.3820 -vn -0.1947 0.0595 -0.9790 -vn 0.9790 0.0595 0.1947 -vn 0.9661 0.1722 0.1921 -vn -0.3820 0.0595 0.9222 -vn -0.8300 0.0595 -0.5546 -vn 0.8300 0.0595 -0.5546 -vn 0.3820 0.0595 0.9222 -vn -0.9790 0.0595 0.1947 -vn 0.1947 0.0595 -0.9790 -vn 0.0000 0.0595 -0.9982 -vn 0.9222 0.0595 0.3820 -vn -0.5546 0.0595 0.8300 -vn -0.7058 0.0595 -0.7058 -vn 0.9222 0.0595 -0.3820 -vn 0.1947 0.0595 0.9790 -vn -0.9982 0.0595 0.0000 -vn 0.3820 0.0595 -0.9222 -vn -0.3826 0.0192 -0.9237 -vn -0.1950 0.0192 -0.9806 -vn -0.1950 0.0192 0.9806 -vn -0.3826 0.0192 0.9237 -vn 0.8313 0.0192 -0.5555 -vn 0.0000 0.0192 -0.9998 -vn -0.5555 0.0192 0.8313 -vn 0.9237 0.0192 -0.3826 -vn -0.7070 0.0192 0.7070 -vn 0.9806 0.0192 -0.1950 -vn -0.8313 0.0192 0.5554 -vn 0.9998 0.0192 0.0000 -vn -0.9237 0.0192 0.3826 -vn 0.9806 0.0192 0.1950 -vn -0.9806 0.0192 0.1950 -vn 0.9237 0.0192 0.3826 -vn -0.9998 0.0192 0.0000 -vn 0.8313 0.0192 0.5554 -vn -0.9806 0.0192 -0.1950 -vn 0.7070 0.0192 0.7070 -vn -0.9237 0.0192 -0.3826 -vn 0.5555 0.0192 0.8313 -vn -0.8313 0.0192 -0.5555 -vn 0.3826 0.0192 0.9237 -vn 0.1950 0.0192 -0.9806 -vn -0.7070 0.0192 -0.7070 -vn 0.1950 0.0192 0.9806 -vn 0.3826 0.0192 -0.9237 -vn -0.5554 0.0192 -0.8313 -vn 0.0000 0.0192 0.9998 -s 1 -f 2/1/1 3/2/2 1/3/3 -f 4/4/4 5/5/5 3/2/2 -f 6/6/6 7/7/7 5/5/5 -f 8/8/8 9/9/9 7/7/7 -f 10/10/10 11/11/11 9/9/9 -f 12/12/12 13/13/13 11/11/11 -f 14/14/14 15/15/15 13/13/13 -f 16/16/16 17/17/17 15/15/15 -f 18/18/18 19/19/19 17/20/17 -f 19/19/19 22/21/20 21/22/21 -f 22/21/20 23/23/22 21/22/21 -f 24/24/23 25/25/24 23/23/22 -f 26/26/25 27/27/26 25/25/24 -f 28/28/27 29/29/28 27/27/26 -f 30/30/29 31/31/30 29/29/28 -f 32/32/31 33/33/32 31/31/30 -f 34/34/33 35/35/34 33/33/32 -f 36/36/35 37/37/36 35/35/34 -f 38/38/37 39/39/38 37/37/36 -f 40/40/39 41/41/40 39/39/38 -f 42/42/41 43/43/42 41/41/40 -f 43/43/42 46/44/43 45/45/44 -f 46/44/43 47/46/45 45/45/44 -f 48/47/46 49/48/47 47/46/45 -f 50/49/48 51/50/49 49/51/47 -f 52/52/50 53/53/51 51/50/49 -f 53/53/51 56/54/52 55/55/53 -f 56/54/52 57/56/54 55/55/53 -f 58/57/55 59/58/56 57/56/54 -f 60/59/57 61/60/58 59/58/56 -f 22/21/20 76/61/59 24/24/23 -f 64/62/60 1/3/3 63/63/61 -f 62/64/62 63/63/61 61/60/58 -f 69/65/63 100/66/64 101/67/65 -f 40/40/39 85/68/66 42/42/41 -f 58/57/55 94/69/67 60/59/57 -f 14/14/14 72/70/68 16/16/16 -f 32/32/31 81/71/69 34/34/33 -f 50/49/48 90/72/70 52/52/50 -f 6/6/6 68/73/71 8/8/8 -f 24/24/23 77/74/72 26/26/25 -f 44/75/73 85/68/66 86/76/74 -f 60/59/57 95/77/75 62/64/62 -f 16/16/16 73/78/76 18/79/18 -f 36/36/35 81/71/69 82/80/77 -f 52/52/50 91/81/78 54/82/79 -f 8/8/8 69/65/63 10/10/10 -f 28/28/27 77/74/72 78/83/80 -f 44/75/73 87/84/81 46/44/43 -f 62/64/62 96/85/82 64/62/60 -f 18/18/18 74/86/83 20/87/84 -f 36/36/35 83/88/85 38/38/37 -f 54/82/79 92/89/86 56/54/52 -f 10/10/10 70/90/87 12/12/12 -f 30/30/29 78/83/80 79/91/88 -f 48/47/46 87/84/81 88/92/89 -f 2/1/1 65/93/90 4/4/4 -f 64/62/60 66/94/91 2/1/1 -f 20/87/84 75/95/92 22/21/20 -f 38/38/37 84/96/93 40/40/39 -f 56/54/52 93/97/94 58/57/55 -f 12/12/12 71/98/95 14/14/14 -f 30/30/29 80/99/96 32/32/31 -f 48/47/46 89/100/97 50/101/48 -f 4/4/4 67/102/98 6/6/6 -f 96/85/82 127/103/99 128/104/100 -f 83/88/85 114/105/101 115/106/102 -f 69/65/63 102/107/103 70/90/87 -f 96/85/82 98/108/104 66/94/91 -f 83/88/85 116/109/105 84/96/93 -f 70/90/87 103/110/106 71/98/95 -f 84/96/93 117/111/107 85/68/66 -f 71/98/95 104/112/108 72/70/68 -f 85/68/66 118/113/109 86/76/74 -f 72/70/68 105/114/110 73/78/76 -f 86/76/74 119/115/111 87/84/81 -f 73/116/76 106/117/112 74/86/83 -f 87/84/81 120/118/113 88/92/89 -f 74/86/83 107/119/114 75/95/92 -f 88/92/89 121/120/115 89/100/97 -f 75/95/92 108/121/116 76/61/59 -f 89/122/97 122/123/117 90/72/70 -f 76/61/59 109/124/118 77/74/72 -f 90/72/70 123/125/119 91/81/78 -f 77/74/72 110/126/120 78/83/80 -f 91/81/78 124/127/121 92/89/86 -f 78/83/80 111/128/122 79/91/88 -f 66/94/91 97/129/123 65/93/90 -f 92/89/86 125/130/124 93/97/94 -f 79/91/88 112/131/125 80/99/96 -f 65/93/90 99/132/126 67/102/98 -f 94/69/67 125/130/124 126/133/127 -f 80/99/96 113/134/128 81/71/69 -f 67/102/98 100/66/64 68/73/71 -f 94/69/67 127/103/99 95/77/75 -f 81/71/69 114/105/101 82/80/77 -f 2/1/1 4/4/4 3/2/2 -f 4/4/4 6/6/6 5/5/5 -f 6/6/6 8/8/8 7/7/7 -f 8/8/8 10/10/10 9/9/9 -f 10/10/10 12/12/12 11/11/11 -f 12/12/12 14/14/14 13/13/13 -f 14/14/14 16/16/16 15/15/15 -f 16/16/16 18/79/18 17/17/17 -f 18/18/18 20/87/84 19/19/19 -f 19/19/19 20/87/84 22/21/20 -f 22/21/20 24/24/23 23/23/22 -f 24/24/23 26/26/25 25/25/24 -f 26/26/25 28/28/27 27/27/26 -f 28/28/27 30/30/29 29/29/28 -f 30/30/29 32/32/31 31/31/30 -f 32/32/31 34/34/33 33/33/32 -f 34/34/33 36/36/35 35/35/34 -f 36/36/35 38/38/37 37/37/36 -f 38/38/37 40/40/39 39/39/38 -f 40/40/39 42/42/41 41/41/40 -f 42/42/41 44/75/73 43/43/42 -f 43/43/42 44/75/73 46/44/43 -f 46/44/43 48/47/46 47/46/45 -f 48/47/46 50/101/48 49/48/47 -f 50/49/48 52/52/50 51/50/49 -f 52/52/50 54/82/79 53/53/51 -f 53/53/51 54/82/79 56/54/52 -f 56/54/52 58/57/55 57/56/54 -f 58/57/55 60/59/57 59/58/56 -f 60/59/57 62/64/62 61/60/58 -f 22/21/20 75/95/92 76/61/59 -f 64/62/60 2/1/1 1/3/3 -f 62/64/62 64/62/60 63/63/61 -f 69/65/63 68/73/71 100/66/64 -f 40/40/39 84/96/93 85/68/66 -f 58/57/55 93/97/94 94/69/67 -f 14/14/14 71/98/95 72/70/68 -f 32/32/31 80/99/96 81/71/69 -f 50/49/48 89/122/97 90/72/70 -f 6/6/6 67/102/98 68/73/71 -f 24/24/23 76/61/59 77/74/72 -f 44/75/73 42/42/41 85/68/66 -f 60/59/57 94/69/67 95/77/75 -f 16/16/16 72/70/68 73/78/76 -f 36/36/35 34/34/33 81/71/69 -f 52/52/50 90/72/70 91/81/78 -f 8/8/8 68/73/71 69/65/63 -f 28/28/27 26/26/25 77/74/72 -f 44/75/73 86/76/74 87/84/81 -f 62/64/62 95/77/75 96/85/82 -f 18/18/18 73/116/76 74/86/83 -f 36/36/35 82/80/77 83/88/85 -f 54/82/79 91/81/78 92/89/86 -f 10/10/10 69/65/63 70/90/87 -f 30/30/29 28/28/27 78/83/80 -f 48/47/46 46/44/43 87/84/81 -f 2/1/1 66/94/91 65/93/90 -f 64/62/60 96/85/82 66/94/91 -f 20/87/84 74/86/83 75/95/92 -f 38/38/37 83/88/85 84/96/93 -f 56/54/52 92/89/86 93/97/94 -f 12/12/12 70/90/87 71/98/95 -f 30/30/29 79/91/88 80/99/96 -f 48/47/46 88/92/89 89/100/97 -f 4/4/4 65/93/90 67/102/98 -f 96/85/82 95/77/75 127/103/99 -f 83/88/85 82/80/77 114/105/101 -f 69/65/63 101/67/65 102/107/103 -f 96/85/82 128/104/100 98/108/104 -f 83/88/85 115/106/102 116/109/105 -f 70/90/87 102/107/103 103/110/106 -f 84/96/93 116/109/105 117/111/107 -f 71/98/95 103/110/106 104/112/108 -f 85/68/66 117/111/107 118/113/109 -f 72/70/68 104/112/108 105/114/110 -f 86/76/74 118/113/109 119/115/111 -f 73/116/76 105/135/110 106/117/112 -f 87/84/81 119/115/111 120/118/113 -f 74/86/83 106/117/112 107/119/114 -f 88/92/89 120/118/113 121/120/115 -f 75/95/92 107/119/114 108/121/116 -f 89/122/97 121/136/115 122/123/117 -f 76/61/59 108/121/116 109/124/118 -f 90/72/70 122/123/117 123/125/119 -f 77/74/72 109/124/118 110/126/120 -f 91/81/78 123/125/119 124/127/121 -f 78/83/80 110/126/120 111/128/122 -f 66/94/91 98/108/104 97/129/123 -f 92/89/86 124/127/121 125/130/124 -f 79/91/88 111/128/122 112/131/125 -f 65/93/90 97/129/123 99/132/126 -f 94/69/67 93/97/94 125/130/124 -f 80/99/96 112/131/125 113/134/128 -f 67/102/98 99/132/126 100/66/64 -f 94/69/67 126/133/127 127/103/99 -f 81/71/69 113/134/128 114/105/101 -o Ball -v 0.468222 24.000000 -2.353884 -v 0.000006 24.000000 -2.400000 -v 0.918446 24.000000 -2.217310 -v 1.333374 24.000000 -1.995527 -v 1.697062 24.000000 -1.697056 -v 1.995533 24.000000 -1.333368 -v 2.217317 24.000000 -0.918440 -v 2.353890 24.000000 -0.468216 -v 2.400005 24.000000 0.000000 -v 2.353890 24.000000 0.468217 -v 2.217317 24.000000 0.918440 -v 1.995533 24.000000 1.333369 -v 1.697062 24.000000 1.697057 -v 1.333374 24.000000 1.995528 -v 0.918445 24.000000 2.217312 -v 0.468222 24.000000 2.353885 -v 0.000005 24.000000 2.400000 -v -0.468212 24.000000 2.353885 -v -0.918436 24.000000 2.217311 -v -1.333364 24.000000 1.995527 -v -1.697052 24.000000 1.697056 -v -1.995522 24.000000 1.333368 -v -2.217306 24.000000 0.918439 -v -2.353879 24.000000 0.468215 -v -2.399995 24.000000 -0.000002 -v -2.353878 24.000000 -0.468219 -v -2.217304 24.000000 -0.918442 -v -1.995520 24.000000 -1.333371 -v -1.697048 24.000000 -1.697058 -v -1.333360 24.000000 -1.995528 -v -0.918431 24.000000 -2.217312 -v -0.468208 24.000000 -2.353885 -v 1.053494 23.000000 -5.296239 -v 0.000006 23.000000 -5.399999 -v 2.066497 23.000000 -4.988948 -v 3.000085 23.000000 -4.489934 -v 3.818383 23.000000 -3.818375 -v 4.489942 23.000000 -3.000077 -v 4.988955 23.000000 -2.066489 -v 5.296246 23.000000 -1.053487 -v 5.400004 23.000000 0.000001 -v 5.296246 23.000000 1.053488 -v 4.988955 23.000000 2.066491 -v 4.489942 23.000000 3.000080 -v 3.818383 23.000000 3.818377 -v 3.000085 23.000000 4.489937 -v 2.066496 23.000000 4.988951 -v 1.053492 23.000000 5.296242 -v 0.000004 23.000000 5.400001 -v -1.053484 23.000000 5.296241 -v -2.066487 23.000000 4.988949 -v -3.000076 23.000000 4.489935 -v -3.818373 23.000000 3.818375 -v -4.489932 23.000000 3.000077 -v -4.988945 23.000000 2.066488 -v -5.296236 23.000000 1.053484 -v -5.399994 23.000000 -0.000004 -v -5.296233 23.000000 -1.053492 -v -4.988941 23.000000 -2.066495 -v -4.489926 23.000000 -3.000083 -v -3.818366 23.000000 -3.818380 -v -3.000067 23.000000 -4.489939 -v -2.066477 23.000000 -4.988951 -v -1.053474 23.000000 -5.296240 -v 1.755819 24.000000 -8.827065 -v 0.000006 24.000000 -8.999997 -v 3.444157 24.000000 -8.314913 -v 5.000138 24.000000 -7.483224 -v 6.363967 24.000000 -6.363959 -v 7.483233 24.000000 -5.000129 -v 8.314921 24.000000 -3.444148 -v 8.827073 24.000000 -1.755811 -v 9.000004 24.000000 0.000002 -v 8.827074 24.000000 1.755814 -v 8.314922 24.000000 3.444152 -v 7.483233 24.000000 5.000134 -v 6.363967 24.000000 6.363963 -v 5.000138 24.000000 7.483229 -v 3.444156 24.000000 8.314919 -v 1.755817 24.000000 8.827070 -v 0.000003 24.000000 9.000002 -v -1.755810 24.000000 8.827069 -v -3.444149 24.000000 8.314917 -v -5.000130 24.000000 7.483226 -v -6.363959 24.000000 6.363959 -v -7.483224 24.000000 5.000129 -v -8.314913 24.000000 3.444147 -v -8.827063 24.000000 1.755807 -v -8.999994 24.000000 -0.000006 -v -8.827060 24.000000 -1.755820 -v -8.314906 24.000000 -3.444158 -v -7.483214 24.000000 -5.000139 -v -6.363947 24.000000 -6.363967 -v -5.000115 24.000000 -7.483231 -v -3.444133 24.000000 -8.314919 -v -1.755793 24.000000 -8.827067 -v 2.038701 26.000000 -10.249203 -v 0.000007 26.000000 -10.449997 -v 3.999049 26.000000 -9.654537 -v 5.805717 26.000000 -8.688854 -v 7.389273 26.000000 -7.389263 -v 8.688865 26.000000 -5.805706 -v 9.654549 26.000000 -3.999039 -v 10.249214 26.000000 -2.038692 -v 10.450004 26.000000 0.000002 -v 10.249214 26.000000 2.038695 -v 9.654549 26.000000 3.999043 -v 8.688865 26.000000 5.805711 -v 7.389273 26.000000 7.389268 -v 5.805716 26.000000 8.688861 -v 3.999047 26.000000 9.654545 -v 2.038698 26.000000 10.249209 -v 0.000004 26.000000 10.450003 -v -2.038691 26.000000 10.249207 -v -3.999040 26.000000 9.654542 -v -5.805707 26.000000 8.688857 -v -7.389263 26.000000 7.389264 -v -8.688853 26.000000 5.805706 -v -9.654536 26.000000 3.999037 -v -10.249200 26.000000 2.038688 -v -10.449993 26.000000 -0.000007 -v -10.249197 26.000000 -2.038702 -v -9.654529 26.000000 -3.999050 -v -8.688843 26.000000 -5.805717 -v -7.389249 26.000000 -7.389272 -v -5.805690 26.000000 -8.688862 -v -3.999021 26.000000 -9.654544 -v -2.038671 26.000000 -10.249207 -v 1.950911 28.000000 -9.807850 -v 0.000007 28.000000 -9.999997 -v 3.826842 28.000000 -9.238792 -v 5.555710 28.000000 -8.314693 -v 7.071075 28.000000 -7.071065 -v 8.314704 28.000000 -5.555699 -v 9.238802 28.000000 -3.826832 -v 9.807859 28.000000 -1.950901 -v 10.000003 28.000000 0.000002 -v 9.807860 28.000000 1.950905 -v 9.238803 28.000000 3.826835 -v 8.314704 28.000000 5.555705 -v 7.071075 28.000000 7.071070 -v 5.555709 28.000000 8.314699 -v 3.826840 28.000000 9.238799 -v 1.950908 28.000000 9.807856 -v 0.000004 28.000000 10.000002 -v -1.950900 28.000000 9.807855 -v -3.826832 28.000000 9.238796 -v -5.555700 28.000000 8.314696 -v -7.071065 28.000000 7.071066 -v -8.314693 28.000000 5.555699 -v -9.238791 28.000000 3.826830 -v -9.807847 28.000000 1.950897 -v -9.999993 28.000000 -0.000007 -v -9.807844 28.000000 -1.950911 -v -9.238784 28.000000 -3.826842 -v -8.314682 28.000000 -5.555710 -v -7.071051 28.000000 -7.071074 -v -5.555684 28.000000 -8.314701 -v -3.826813 28.000000 -9.238798 -v -1.950881 28.000000 -9.807853 -v 0.975460 31.000000 -4.903925 -v 0.000008 31.000000 -4.999999 -v 1.913425 31.000000 -4.619397 -v 2.777859 31.000000 -4.157347 -v 3.535542 31.000000 -3.535533 -v 4.157357 31.000000 -2.777850 -v 4.619406 31.000000 -1.913416 -v 4.903934 31.000000 -0.975451 -v 5.000006 31.000000 0.000001 -v 4.903935 31.000000 0.975452 -v 4.619406 31.000000 1.913418 -v 4.157357 31.000000 2.777852 -v 3.535542 31.000000 3.535535 -v 2.777859 31.000000 4.157349 -v 1.913425 31.000000 4.619399 -v 0.975459 31.000000 4.903927 -v 0.000007 31.000000 5.000000 -v -0.975445 31.000000 4.903927 -v -1.913411 31.000000 4.619398 -v -2.777845 31.000000 4.157348 -v -3.535528 31.000000 3.535533 -v -4.157342 31.000000 2.777849 -v -4.619391 31.000000 1.913415 -v -4.903919 31.000000 0.975448 -v -4.999992 31.000000 -0.000004 -v -4.903917 31.000000 -0.975456 -v -4.619387 31.000000 -1.913421 -v -4.157336 31.000000 -2.777855 -v -3.535521 31.000000 -3.535537 -v -2.777837 31.000000 -4.157351 -v -1.913402 31.000000 -4.619400 -v -0.975436 31.000000 -4.903927 -v 0.195100 32.000000 -0.980785 -v 0.000009 32.000000 -1.000000 -v 0.382693 32.000000 -0.923880 -v 0.555579 32.000000 -0.831470 -v 0.707116 32.000000 -0.707107 -v 0.831479 32.000000 -0.555570 -v 0.923889 32.000000 -0.382683 -v 0.980794 32.000000 -0.195090 -v 1.000009 32.000000 -0.000000 -v 0.980795 32.000000 0.195090 -v 0.923889 32.000000 0.382683 -v 0.831479 32.000000 0.555570 -v 0.707116 32.000000 0.707107 -v 0.555579 32.000000 0.831470 -v 0.382692 32.000000 0.923880 -v 0.195099 32.000000 0.980785 -v 0.000009 32.000000 1.000000 -v -0.195082 32.000000 0.980785 -v -0.382675 32.000000 0.923879 -v -0.555561 32.000000 0.831469 -v -0.707098 32.000000 0.707106 -v -0.831461 32.000000 0.555570 -v -0.923871 32.000000 0.382683 -v -0.980776 32.000000 0.195089 -v -0.999991 32.000000 -0.000001 -v -0.980776 32.000000 -0.195091 -v -0.923870 32.000000 -0.382684 -v -0.831460 32.000000 -0.555571 -v -0.707097 32.000000 -0.707108 -v -0.555560 32.000000 -0.831470 -v -0.382673 32.000000 -0.923880 -v -0.195080 32.000000 -0.980786 -v 0.243864 22.000000 -1.225981 -v 0.000001 22.000000 -1.250000 -v 0.478355 22.000000 -1.154849 -v 0.694464 22.000000 -1.039337 -v 0.883885 22.000000 -0.883883 -v 1.039338 22.000000 -0.694463 -v 1.154850 22.000000 -0.478354 -v 1.225983 22.000000 -0.243863 -v 1.250001 22.000000 -0.000000 -v 1.225983 22.000000 0.243863 -v 1.154851 22.000000 0.478354 -v 1.039338 22.000000 0.694463 -v 0.883885 22.000000 0.883884 -v 0.694464 22.000000 1.039337 -v 0.478355 22.000000 1.154850 -v 0.243864 22.000000 1.225982 -v 0.000001 22.000000 1.250000 -v -0.243862 22.000000 1.225982 -v -0.478354 22.000000 1.154849 -v -0.694462 22.000000 1.039337 -v -0.883883 22.000000 0.883883 -v -1.039336 22.000000 0.694462 -v -1.154849 22.000000 0.478353 -v -1.225981 22.000000 0.243862 -v -1.249999 22.000000 -0.000001 -v -1.225980 22.000000 -0.243864 -v -1.154848 22.000000 -0.478356 -v -1.039335 22.000000 -0.694464 -v -0.883881 22.000000 -0.883884 -v -0.694460 22.000000 -1.039338 -v -0.478351 22.000000 -1.154850 -v -0.243860 22.000000 -1.225982 -v 0.390184 20.000000 -1.961570 -v 0.000004 20.000000 -2.000000 -v 0.765370 20.000000 -1.847759 -v 1.111144 20.000000 -1.662939 -v 1.414217 20.000000 -1.414213 -v 1.662943 20.000000 -1.111140 -v 1.847763 20.000000 -0.765367 -v 1.961574 20.000000 -0.390180 -v 2.000004 20.000000 0.000000 -v 1.961574 20.000000 0.390181 -v 1.847763 20.000000 0.765367 -v 1.662943 20.000000 1.111141 -v 1.414217 20.000000 1.414214 -v 1.111144 20.000000 1.662940 -v 0.765370 20.000000 1.847760 -v 0.390184 20.000000 1.961571 -v 0.000003 20.000000 2.000000 -v -0.390178 20.000000 1.961571 -v -0.765364 20.000000 1.847759 -v -1.111138 20.000000 1.662939 -v -1.414211 20.000000 1.414213 -v -1.662936 20.000000 1.111140 -v -1.847756 20.000000 0.765366 -v -1.961567 20.000000 0.390179 -v -1.999996 20.000000 -0.000002 -v -1.961566 20.000000 -0.390182 -v -1.847754 20.000000 -0.765369 -v -1.662934 20.000000 -1.111142 -v -1.414208 20.000000 -1.414215 -v -1.111135 20.000000 -1.662941 -v -0.765361 20.000000 -1.847760 -v -0.390174 20.000000 -1.961571 -v 0.546257 20.000000 -2.746198 -v 0.000004 20.000000 -2.799999 -v 1.071518 20.000000 -2.586862 -v 1.555601 20.000000 -2.328114 -v 1.979903 20.000000 -1.979898 -v 2.328119 20.000000 -1.555596 -v 2.586867 20.000000 -1.071513 -v 2.746203 20.000000 -0.546253 -v 2.800004 20.000000 0.000000 -v 2.746203 20.000000 0.546253 -v 2.586867 20.000000 1.071514 -v 2.328119 20.000000 1.555597 -v 1.979903 20.000000 1.979900 -v 1.555601 20.000000 2.328115 -v 1.071517 20.000000 2.586864 -v 0.546256 20.000000 2.746200 -v 0.000003 20.000000 2.800000 -v -0.546250 20.000000 2.746199 -v -1.071511 20.000000 2.586863 -v -1.555594 20.000000 2.328115 -v -1.979896 20.000000 1.979898 -v -2.328112 20.000000 1.555596 -v -2.586860 20.000000 1.071512 -v -2.746195 20.000000 0.546251 -v -2.799996 20.000000 -0.000002 -v -2.746194 20.000000 -0.546255 -v -2.586858 20.000000 -1.071516 -v -2.328109 20.000000 -1.555599 -v -1.979892 20.000000 -1.979901 -v -1.555590 20.000000 -2.328117 -v -1.071506 20.000000 -2.586864 -v -0.546245 20.000000 -2.746199 -v 0.663312 21.000000 -3.334670 -v 0.000004 21.000000 -3.400000 -v 1.301128 21.000000 -3.141190 -v 1.888944 21.000000 -2.826996 -v 2.404167 21.000000 -2.404163 -v 2.827002 21.000000 -1.888938 -v 3.141195 21.000000 -1.301123 -v 3.334675 21.000000 -0.663307 -v 3.400004 21.000000 0.000000 -v 3.334675 21.000000 0.663307 -v 3.141196 21.000000 1.301124 -v 2.827002 21.000000 1.888939 -v 2.404167 21.000000 2.404164 -v 1.888943 21.000000 2.826997 -v 1.301127 21.000000 3.141191 -v 0.663311 21.000000 3.334671 -v 0.000003 21.000000 3.400000 -v -0.663304 21.000000 3.334670 -v -1.301121 21.000000 3.141190 -v -1.888936 21.000000 2.826996 -v -2.404160 21.000000 2.404162 -v -2.826994 21.000000 1.888937 -v -3.141187 21.000000 1.301122 -v -3.334666 21.000000 0.663305 -v -3.399996 21.000000 -0.000003 -v -3.334665 21.000000 -0.663310 -v -3.141184 21.000000 -1.301127 -v -2.826990 21.000000 -1.888942 -v -2.404155 21.000000 -2.404165 -v -1.888931 21.000000 -2.826999 -v -1.301115 21.000000 -3.141192 -v -0.663298 21.000000 -3.334670 -v 0.663312 22.000000 -3.334670 -v 0.000005 22.000000 -3.400000 -v 1.301129 22.000000 -3.141190 -v 1.888944 22.000000 -2.826996 -v 2.404168 22.000000 -2.404163 -v 2.827002 22.000000 -1.888938 -v 3.141195 22.000000 -1.301123 -v 3.334675 22.000000 -0.663307 -v 3.400005 22.000000 0.000000 -v 3.334675 22.000000 0.663307 -v 3.141196 22.000000 1.301124 -v 2.827002 22.000000 1.888939 -v 2.404168 22.000000 2.404164 -v 1.888944 22.000000 2.826997 -v 1.301128 22.000000 3.141191 -v 0.663311 22.000000 3.334671 -v 0.000004 22.000000 3.400000 -v -0.663304 22.000000 3.334670 -v -1.301120 22.000000 3.141190 -v -1.888936 22.000000 2.826996 -v -2.404160 22.000000 2.404162 -v -2.826993 22.000000 1.888937 -v -3.141187 22.000000 1.301122 -v -3.334666 22.000000 0.663305 -v -3.399995 22.000000 -0.000003 -v -3.334665 22.000000 -0.663310 -v -3.141184 22.000000 -1.301127 -v -2.826989 22.000000 -1.888942 -v -2.404155 22.000000 -2.404165 -v -1.888930 22.000000 -2.826999 -v -1.301114 22.000000 -3.141192 -v -0.663297 22.000000 -3.334670 -v 0.468222 24.000000 -2.353884 -v 0.000006 24.000000 -2.400000 -v 0.918446 24.000000 -2.217310 -v 1.333374 24.000000 -1.995527 -v 1.697062 24.000000 -1.697056 -v 1.995533 24.000000 -1.333368 -v 2.217317 24.000000 -0.918440 -v 2.353890 24.000000 -0.468216 -v 2.400005 24.000000 0.000000 -v 2.353890 24.000000 0.468217 -v 2.217317 24.000000 0.918440 -v 1.995533 24.000000 1.333369 -v 1.697062 24.000000 1.697057 -v 1.333374 24.000000 1.995528 -v 0.918445 24.000000 2.217312 -v 0.468222 24.000000 2.353885 -v 0.000005 24.000000 2.400000 -v -0.468212 24.000000 2.353885 -v -0.918436 24.000000 2.217311 -v -1.333364 24.000000 1.995527 -v -1.697052 24.000000 1.697056 -v -1.995522 24.000000 1.333368 -v -2.217306 24.000000 0.918439 -v -2.353879 24.000000 0.468215 -v -2.399995 24.000000 -0.000002 -v -2.353878 24.000000 -0.468219 -v -2.217304 24.000000 -0.918442 -v -1.995520 24.000000 -1.333371 -v -1.697048 24.000000 -1.697058 -v -1.333360 24.000000 -1.995528 -v -0.918431 24.000000 -2.217312 -v -0.468208 24.000000 -2.353885 -vt -0.000000 0.218750 -vt 0.125000 0.527974 -vt 0.000000 0.527974 -vt 0.750000 0.527974 -vt 0.625000 0.904919 -vt 0.625000 0.527974 -vt 0.750000 0.218750 -vt 0.625000 0.527974 -vt 0.625000 0.218750 -vt 1.000000 0.218750 -vt 0.875000 0.527974 -vt 0.875000 0.218750 -vt 0.500000 0.527974 -vt 0.500000 0.218750 -vt 0.750000 0.218750 -vt 0.375000 0.527974 -vt 0.375000 0.218750 -vt 0.625000 0.218750 -vt 0.250000 0.527974 -vt 0.250000 0.218750 -vt 1.000000 0.218750 -vt 0.875000 0.527974 -vt 0.875000 0.218750 -vt 0.500000 0.527974 -vt 0.500000 0.218750 -vt 0.125000 0.527974 -vt 0.125000 0.218750 -vt 0.750000 0.527974 -vt 0.750000 0.218750 -vt 0.375000 0.527974 -vt 0.375000 0.218750 -vt 0.000000 0.527974 -vt -0.000000 0.218750 -vt 0.625000 0.527974 -vt 0.625000 0.218750 -vt 0.250000 0.527974 -vt 0.250000 0.218750 -vt 1.000000 0.218750 -vt 0.875000 0.527974 -vt 0.875000 0.218750 -vt 0.500000 0.218750 -vt 0.500000 0.527974 -vt 0.125000 0.527974 -vt 0.125000 0.218750 -vt 0.750000 0.527974 -vt 0.750000 0.218750 -vt 0.375000 0.218750 -vt 0.375000 0.527974 -vt -0.000000 0.218750 -vt 0.000000 0.527974 -vt 0.625000 0.527974 -vt 0.625000 0.218750 -vt 0.250000 0.527974 -vt 0.250000 0.218750 -vt 0.500000 0.527974 -vt 0.500000 0.218750 -vt 0.125000 0.218750 -vt 0.125000 0.527974 -vt 0.375000 0.527974 -vt 0.375000 0.218750 -vt 0.000000 0.527974 -vt -0.000000 0.218750 -vt 0.250000 0.527974 -vt 0.250000 0.218750 -vt 0.875000 0.218750 -vt 1.000000 0.527974 -vt 0.875000 0.527974 -vt 0.125000 0.218750 -vt 0.750000 0.527974 -vt 0.750000 0.904919 -vt 0.625000 1.139294 -vt 0.625000 0.904919 -vt 0.375000 0.904919 -vt 0.250000 0.904919 -vt 1.000000 0.527974 -vt 0.875000 0.904919 -vt 0.500000 0.904919 -vt 0.125000 0.904919 -vt 0.375000 0.904919 -vt 0.000000 0.904919 -vt 0.250000 0.904919 -vt 1.000000 0.904919 -vt 0.875000 0.904919 -vt 0.500000 0.904919 -vt 0.125000 0.904919 -vt 0.750000 0.904919 -vt 0.375000 0.904919 -vt 0.000000 0.904919 -vt 0.625000 0.904919 -vt 0.250000 0.904919 -vt 0.500000 0.904919 -vt 0.125000 0.904919 -vt 0.375000 0.904919 -vt 0.000000 0.904919 -vt 0.250000 0.904919 -vt 1.000000 0.904919 -vt 0.875000 0.904919 -vt 0.125000 0.904919 -vt 0.750000 0.904919 -vt 0.000000 0.904919 -vt 0.625000 0.904919 -vt 1.000000 0.527974 -vt 0.875000 0.904919 -vt 0.500000 0.904919 -vt 0.750000 0.904919 -vt 0.250000 1.139294 -vt 0.375000 1.303932 -vt 0.250000 1.303932 -vt 0.375000 1.139294 -vt 0.250000 1.139294 -vt 0.875000 1.139294 -vt 0.500000 1.139294 -vt 0.125000 1.139294 -vt 0.750000 1.139294 -vt 0.375000 1.139294 -vt 0.000000 1.139294 -vt 0.625000 1.139294 -vt 0.500000 1.139294 -vt 0.125000 1.139294 -vt 0.375000 1.139294 -vt 0.000000 1.139294 -vt 0.250000 1.139294 -vt 1.000000 1.139294 -vt 0.875000 1.139294 -vt 0.125000 1.139294 -vt 0.750000 1.139294 -vt 0.000000 1.139294 -vt 0.625000 1.139294 -vt 1.000000 0.904919 -vt 0.875000 1.139294 -vt 0.500000 1.139294 -vt 0.750000 1.139294 -vt 0.375000 1.139294 -vt 0.625000 1.139294 -vt 0.250000 1.139294 -vt 1.000000 1.139294 -vt 0.875000 1.139294 -vt 0.500000 1.139294 -vt 0.125000 1.139294 -vt 0.750000 1.139294 -vt 0.000000 1.139294 -vt 1.000000 1.303932 -vt 0.875000 1.678932 -vt 0.875000 1.303932 -vt 0.500000 1.303932 -vt 0.125000 1.303932 -vt 0.375000 1.303932 -vt 0.000000 1.303932 -vt 0.250000 1.303932 -vt 0.125000 1.303932 -vt 0.750000 1.303932 -vt 0.000000 1.303932 -vt 0.625000 1.303932 -vt 1.000000 1.139294 -vt 0.875000 1.303932 -vt 0.500000 1.303932 -vt 0.750000 1.303932 -vt 0.375000 1.303932 -vt 0.625000 1.303932 -vt 0.250000 1.303932 -vt 1.000000 1.303932 -vt 0.875000 1.303932 -vt 0.500000 1.303932 -vt 0.125000 1.303932 -vt 0.750000 1.303932 -vt 0.375000 1.303932 -vt 0.000000 1.303932 -vt 0.625000 1.303932 -vt 0.250000 1.303932 -vt 1.000000 1.139294 -vt 0.875000 1.303932 -vt 0.500000 1.303932 -vt 0.125000 1.303932 -vt 0.750000 1.303932 -vt 0.000000 1.303932 -vt 0.625000 1.303932 -vt 0.625000 1.678932 -vt 0.500000 2.007057 -vt 0.500000 1.678932 -vt 0.250000 1.678932 -vt 0.125000 1.678932 -vt 0.750000 1.678932 -vt 0.000000 1.678932 -vt 1.000000 1.303932 -vt 0.875000 1.678932 -vt 0.750000 1.678932 -vt 0.375000 1.678932 -vt 0.625000 1.678932 -vt 0.250000 1.678932 -vt 0.875000 1.678932 -vt 0.500000 1.678932 -vt 0.125000 1.678932 -vt 0.750000 1.678932 -vt 0.375000 1.678932 -vt 0.000000 1.678932 -vt 0.625000 1.678932 -vt 0.250000 1.678932 -vt 1.000000 1.303932 -vt 0.875000 1.678932 -vt 0.500000 1.678932 -vt 0.125000 1.678932 -vt 0.750000 1.678932 -vt 0.375000 1.678932 -vt 0.000000 1.678932 -vt 0.625000 1.678932 -vt 0.250000 1.678932 -vt 0.500000 1.678932 -vt 0.125000 1.678932 -vt 0.375000 1.678932 -vt 0.000000 1.678932 -vt 0.440056 1.212514 -vt 0.447933 1.186548 -vt 0.473898 1.194425 -vt 0.875000 2.007057 -vt 0.750000 2.007057 -vt 0.375000 2.007057 -vt 0.625000 2.007057 -vt 0.250000 2.007057 -vt 1.000000 1.678932 -vt 0.875000 2.007057 -vt 0.500000 2.007057 -vt 0.125000 2.007057 -vt 0.750000 2.007057 -vt 0.375000 2.007057 -vt 0.000000 2.007057 -vt 0.625000 2.007057 -vt 0.250000 2.007057 -vt 1.000000 1.678932 -vt 0.875000 2.007057 -vt 0.500000 2.007057 -vt 0.125000 2.007057 -vt 0.750000 2.007057 -vt 0.375000 2.007057 -vt 0.000000 2.007057 -vt 0.625000 2.007057 -vt 0.250000 2.007057 -vt 0.500000 2.007057 -vt 0.125000 2.007057 -vt 0.375000 2.007057 -vt 0.000000 2.007057 -vt 0.250000 2.007057 -vt 1.000000 1.678932 -vt 0.875000 2.007057 -vt 0.125000 2.007057 -vt 0.750000 2.007057 -vt 0.000000 2.007057 -vt 0.625000 2.007057 -vt 1.000000 2.007057 -vt 0.500000 -0.359375 -vt 0.375000 -0.250000 -vt 0.375000 -0.359375 -vt 0.125000 -0.750000 -vt 0.250000 -0.359375 -vt 0.125000 -0.359375 -vt 0.500000 -0.750000 -vt 0.375000 -0.750000 -vt -0.000000 -0.750000 -vt -0.000000 -0.359375 -vt 0.250000 -0.359375 -vt 0.250000 -0.750000 -vt 1.000000 -0.750000 -vt 0.875000 -0.359375 -vt 0.875000 -0.750000 -vt 0.125000 -0.359375 -vt 0.125000 -0.750000 -vt 0.750000 -0.359375 -vt 0.750000 -0.750000 -vt -0.000000 -0.359375 -vt -0.000000 -0.750000 -vt 0.625000 -0.359375 -vt 0.625000 -0.750000 -vt 1.000000 -0.750000 -vt 0.875000 -0.359375 -vt 0.875000 -0.750000 -vt 0.500000 -0.359375 -vt 0.500000 -0.750000 -vt 0.750000 -0.750000 -vt 0.750000 -0.359375 -vt 0.375000 -0.359375 -vt 0.375000 -0.750000 -vt 0.625000 -0.359375 -vt 0.625000 -0.750000 -vt 0.250000 -0.359375 -vt 0.250000 -0.750000 -vt 0.875000 -0.750000 -vt 1.000000 -0.359375 -vt 0.875000 -0.359375 -vt 0.500000 -0.359375 -vt 0.500000 -0.750000 -vt 0.125000 -0.359375 -vt 0.125000 -0.750000 -vt 0.750000 -0.750000 -vt 0.750000 -0.359375 -vt 0.375000 -0.750000 -vt 0.375000 -0.359375 -vt -0.000000 -0.359375 -vt -0.000000 -0.750000 -vt 0.625000 -0.750000 -vt 0.625000 -0.359375 -vt 0.250000 -0.750000 -vt 0.250000 -0.359375 -vt 1.000000 -0.750000 -vt 0.875000 -0.359375 -vt 0.875000 -0.750000 -vt 0.500000 -0.750000 -vt 0.500000 -0.359375 -vt 0.125000 -0.750000 -vt 0.125000 -0.359375 -vt 0.750000 -0.359375 -vt 0.750000 -0.750000 -vt 0.375000 -0.750000 -vt 0.375000 -0.359375 -vt -0.000000 -0.750000 -vt -0.000000 -0.359375 -vt 0.625000 -0.359375 -vt 0.625000 -0.750000 -vt 0.250000 -0.750000 -vt 0.250000 -0.250000 -vt 0.125000 -0.140625 -vt 0.125000 -0.250000 -vt 0.125000 -0.250000 -vt -0.000000 -0.250000 -vt 0.250000 -0.250000 -vt 1.000000 -0.250000 -vt 0.875000 -0.250000 -vt 0.125000 -0.250000 -vt 0.750000 -0.250000 -vt -0.000000 -0.250000 -vt 0.625000 -0.250000 -vt 1.000000 -0.359375 -vt 0.875000 -0.250000 -vt 0.500000 -0.250000 -vt 0.750000 -0.250000 -vt 0.375000 -0.250000 -vt 0.625000 -0.250000 -vt 1.000000 -0.250000 -vt 0.875000 -0.250000 -vt 0.500000 -0.250000 -vt 0.750000 -0.250000 -vt 0.375000 -0.250000 -vt -0.000000 -0.250000 -vt 0.625000 -0.250000 -vt 0.250000 -0.250000 -vt 1.000000 -0.359375 -vt 0.875000 -0.250000 -vt 0.500000 -0.250000 -vt 0.125000 -0.250000 -vt 0.750000 -0.250000 -vt 0.375000 -0.250000 -vt -0.000000 -0.250000 -vt 0.625000 -0.250000 -vt 0.250000 -0.250000 -vt 0.500000 -0.250000 -vt 0.875000 -0.140625 -vt 0.750000 -0.046875 -vt 0.750000 -0.140625 -vt 0.875000 -0.140625 -vt 0.750000 -0.140625 -vt 0.500000 -0.140625 -vt 0.375000 -0.140625 -vt -0.000000 -0.140625 -vt 0.625000 -0.140625 -vt 0.250000 -0.140625 -vt 1.000000 -0.250000 -vt 0.500000 -0.140625 -vt 0.125000 -0.140625 -vt 0.375000 -0.140625 -vt -0.000000 -0.140625 -vt 0.625000 -0.140625 -vt 0.250000 -0.140625 -vt 0.500000 -0.140625 -vt 0.125000 -0.140625 -vt 0.375000 -0.140625 -vt -0.000000 -0.140625 -vt 0.250000 -0.140625 -vt 0.875000 -0.140625 -vt 0.125000 -0.140625 -vt 0.750000 -0.140625 -vt -0.000000 -0.140625 -vt 0.625000 -0.140625 -vt 1.000000 -0.250000 -vt 0.875000 -0.140625 -vt 0.500000 -0.140625 -vt 0.750000 -0.140625 -vt 0.375000 -0.140625 -vt 0.625000 -0.140625 -vt 0.250000 -0.140625 -vt 1.000000 -0.140625 -vt 0.500000 -0.046875 -vt 0.375000 0.218750 -vt 0.375000 -0.046875 -vt 0.500000 -0.046875 -vt 0.375000 -0.046875 -vt 0.125000 -0.046875 -vt -0.000000 -0.046875 -vt 0.625000 -0.046875 -vt 0.250000 -0.046875 -vt 0.125000 -0.046875 -vt -0.000000 -0.046875 -vt 0.250000 -0.046875 -vt 1.000000 -0.140625 -vt 0.875000 -0.046875 -vt 0.125000 -0.046875 -vt 0.750000 -0.046875 -vt -0.000000 -0.046875 -vt 0.625000 -0.046875 -vt 1.000000 -0.046875 -vt 0.875000 -0.046875 -vt 0.500000 -0.046875 -vt 0.750000 -0.046875 -vt 0.375000 -0.046875 -vt 0.625000 -0.046875 -vt 0.250000 -0.046875 -vt 1.000000 -0.046875 -vt 0.875000 -0.046875 -vt 0.500000 -0.046875 -vt 0.125000 -0.046875 -vt 0.750000 -0.046875 -vt 0.375000 -0.046875 -vt -0.000000 -0.046875 -vt 0.625000 -0.046875 -vt 0.250000 -0.046875 -vt 1.000000 -0.140625 -vt 0.875000 -0.046875 -vt 0.125000 0.218750 -vt -0.000000 0.218750 -vt 0.250000 0.218750 -vt 1.000000 -0.046875 -vt 0.875000 0.218750 -vt 0.125000 0.218750 -vt 0.750000 0.218750 -vt -0.000000 0.218750 -vt 0.625000 0.218750 -vt 0.875000 0.218750 -vt 0.500000 0.218750 -vt 0.750000 0.218750 -vt 0.375000 0.218750 -vt 0.625000 0.218750 -vt 0.250000 0.218750 -vt 1.000000 0.218750 -vt 0.875000 0.218750 -vt 0.500000 0.218750 -vt 0.125000 0.218750 -vt 0.750000 0.218750 -vt 0.375000 0.218750 -vt -0.000000 0.218750 -vt 0.625000 0.218750 -vt 0.250000 0.218750 -vt 1.000000 -0.046875 -vt 0.875000 0.218750 -vt 0.500000 0.218750 -vt 0.125000 0.218750 -vt 0.750000 0.218750 -vt 0.375000 0.218750 -vt -0.000000 0.218750 -vt 0.625000 0.218750 -vt 0.250000 0.218750 -vt 0.500000 0.218750 -vt 1.000000 0.527974 -vt 1.000000 0.218750 -vt 1.000000 0.904919 -vt 1.000000 1.678932 -vt 0.475337 1.197900 -vt 0.476071 1.201589 -vt 0.476071 1.205350 -vt 0.475337 1.209039 -vt 0.473898 1.212514 -vt 0.466022 1.220390 -vt 0.471808 1.215641 -vt 0.469149 1.218301 -vt 0.462547 1.221830 -vt 0.458858 1.222564 -vt 0.455097 1.222564 -vt 0.451407 1.221830 -vt 0.447933 1.220390 -vt 0.444805 1.218301 -vt 0.442146 1.215641 -vt 0.438617 1.209039 -vt 0.437883 1.205350 -vt 0.437883 1.201589 -vt 0.438617 1.197900 -vt 0.440056 1.194425 -vt 0.442146 1.191297 -vt 0.444805 1.188638 -vt 0.451407 1.185109 -vt 0.455097 1.184375 -vt 0.458858 1.184375 -vt 0.462547 1.185109 -vt 0.466022 1.186548 -vt 0.469149 1.188638 -vt 0.471808 1.191298 -vt 1.000000 2.007057 -vt 1.000000 2.007057 -vt 1.000000 2.007057 -vt 1.000000 -0.359375 -vt 1.000000 -0.750000 -vt 1.000000 -0.140625 -vt 1.000000 0.218750 -vt 1.000000 0.218750 -vt 1.000000 0.218750 -vn 0.3162 -0.9487 0.0000 -vn 0.0070 -1.0000 -0.0014 -vn 0.0071 -1.0000 0.0000 -vn 0.0066 -1.0000 0.0027 -vn -0.4857 -0.8116 -0.3245 -vn 0.0059 -1.0000 0.0040 -vn -0.2922 -0.9487 -0.1210 -vn -0.0059 -1.0000 -0.0040 -vn -0.2629 -0.9487 -0.1757 -vn 0.0070 -1.0000 0.0014 -vn 0.3101 -0.9487 0.0617 -vn -0.0050 -1.0000 -0.0050 -vn -0.2236 -0.9487 -0.2236 -vn 0.2922 -0.9487 0.1210 -vn -0.0040 -1.0000 -0.0059 -vn -0.1757 -0.9487 -0.2629 -vn 0.2629 -0.9487 0.1757 -vn -0.0027 -1.0000 -0.0066 -vn -0.1210 -0.9487 -0.2922 -vn 0.0000 -0.9487 0.3162 -vn -0.0014 -1.0000 0.0070 -vn -0.0617 -0.9487 0.3101 -vn 0.0050 -1.0000 0.0050 -vn 0.2236 -0.9487 0.2236 -vn -0.0014 -1.0000 -0.0070 -vn -0.0617 -0.9487 -0.3101 -vn -0.0027 -1.0000 0.0066 -vn -0.1210 -0.9487 0.2922 -vn 0.0040 -1.0000 0.0059 -vn 0.1757 -0.9487 0.2629 -vn 0.0000 -1.0000 -0.0071 -vn 0.0000 -0.9487 -0.3162 -vn -0.0040 -1.0000 0.0059 -vn -0.1757 -0.9487 0.2629 -vn 0.0027 -1.0000 0.0066 -vn 0.1210 -0.9487 0.2922 -vn 0.0014 -1.0000 -0.0070 -vn 0.0617 -0.9487 -0.3101 -vn -0.2236 -0.9487 0.2236 -vn -0.0050 -1.0000 0.0050 -vn 0.0014 -1.0000 0.0070 -vn 0.0617 -0.9487 0.3101 -vn 0.0027 -1.0000 -0.0066 -vn 0.1210 -0.9487 -0.2922 -vn -0.2629 -0.9487 0.1757 -vn -0.0059 -1.0000 0.0040 -vn 0.0000 -1.0000 0.0071 -vn 0.0040 -1.0000 -0.0059 -vn 0.1757 -0.9487 -0.2629 -vn -0.0066 -1.0000 0.0027 -vn -0.2922 -0.9487 0.1210 -vn 0.0050 -1.0000 -0.0050 -vn 0.2236 -0.9487 -0.2236 -vn -0.3101 -0.9487 0.0617 -vn -0.0070 -1.0000 0.0014 -vn 0.0059 -1.0000 -0.0040 -vn 0.2629 -0.9487 -0.1757 -vn -0.0071 -1.0000 0.0000 -vn -0.3162 -0.9487 0.0000 -vn 0.0066 -1.0000 -0.0027 -vn 0.2922 -0.9487 -0.1210 -vn -0.3101 -0.9487 -0.0617 -vn -0.0070 -1.0000 -0.0014 -vn 0.3101 -0.9487 -0.0617 -vn -0.0066 -1.0000 -0.0027 -vn 0.2235 -0.8116 -0.5397 -vn 0.5447 -0.1967 -0.8152 -vn 0.3245 -0.8116 -0.4857 -vn 0.3245 -0.8116 0.4857 -vn 0.2235 -0.8116 0.5397 -vn 0.1140 -0.8116 -0.5729 -vn -0.4131 -0.8116 -0.4131 -vn 0.1140 -0.8116 0.5729 -vn -0.3245 -0.8116 -0.4857 -vn 0.0000 -0.8116 0.5842 -vn -0.2235 -0.8116 -0.5397 -vn -0.1140 -0.8116 0.5729 -vn 0.4131 -0.8116 -0.4131 -vn -0.1140 -0.8116 -0.5729 -vn -0.2235 -0.8116 0.5397 -vn 0.4857 -0.8116 -0.3245 -vn 0.0000 -0.8116 -0.5842 -vn -0.3245 -0.8116 0.4857 -vn 0.5397 -0.8116 -0.2235 -vn -0.4131 -0.8116 0.4131 -vn 0.5729 -0.8116 -0.1140 -vn -0.4857 -0.8116 0.3245 -vn 0.5842 -0.8116 0.0000 -vn -0.5397 -0.8116 0.2235 -vn 0.5729 -0.8116 0.1140 -vn -0.5729 -0.8116 0.1140 -vn 0.5397 -0.8116 0.2235 -vn -0.5842 -0.8116 0.0000 -vn 0.4857 -0.8116 0.3245 -vn -0.5729 -0.8116 -0.1140 -vn 0.4131 -0.8116 0.4131 -vn -0.5397 -0.8116 -0.2235 -vn 0.9058 -0.1967 -0.3752 -vn 0.6806 0.5744 -0.4548 -vn 0.7562 0.5744 -0.3132 -vn -0.5447 -0.1967 -0.8152 -vn -0.3752 -0.1967 -0.9058 -vn -0.1913 -0.1967 0.9616 -vn 0.6933 -0.1967 -0.6933 -vn -0.1913 -0.1967 -0.9616 -vn -0.3752 -0.1967 0.9058 -vn 0.8152 -0.1967 -0.5447 -vn 0.0000 -0.1967 -0.9804 -vn -0.5447 -0.1967 0.8152 -vn -0.6933 -0.1967 0.6933 -vn 0.9616 -0.1967 -0.1913 -vn -0.8152 -0.1967 0.5447 -vn 0.9804 -0.1967 0.0000 -vn -0.9058 -0.1967 0.3752 -vn 0.9616 -0.1967 0.1913 -vn -0.9616 -0.1967 0.1913 -vn 0.9058 -0.1967 0.3752 -vn -0.9804 -0.1967 0.0000 -vn 0.8152 -0.1967 0.5447 -vn -0.9616 -0.1967 -0.1913 -vn 0.6933 -0.1967 0.6933 -vn -0.9058 -0.1967 -0.3752 -vn 0.5447 -0.1967 0.8152 -vn -0.8152 -0.1967 -0.5447 -vn 0.3752 -0.1967 0.9058 -vn 0.1913 -0.1967 -0.9616 -vn -0.6933 -0.1967 -0.6933 -vn 0.1913 -0.1967 0.9616 -vn 0.3752 -0.1967 -0.9058 -vn 0.0000 -0.1967 0.9804 -vn 0.8186 0.5744 0.0000 -vn 0.3829 0.9206 0.0762 -vn 0.8029 0.5744 0.1597 -vn -0.5788 0.5744 0.5788 -vn 0.8029 0.5744 -0.1597 -vn -0.6806 0.5744 0.4548 -vn -0.7562 0.5744 0.3132 -vn -0.8029 0.5744 0.1597 -vn 0.7562 0.5744 0.3132 -vn -0.8186 0.5744 0.0000 -vn 0.6806 0.5744 0.4548 -vn -0.8029 0.5744 -0.1597 -vn 0.5788 0.5744 0.5788 -vn -0.7562 0.5744 -0.3132 -vn 0.4548 0.5744 0.6806 -vn -0.6806 0.5744 -0.4548 -vn 0.3132 0.5744 0.7562 -vn 0.0000 0.5744 -0.8186 -vn 0.1597 0.5744 -0.8029 -vn -0.5788 0.5744 -0.5788 -vn 0.1597 0.5744 0.8029 -vn 0.3132 0.5744 -0.7562 -vn -0.4548 0.5744 -0.6806 -vn 0.0000 0.5744 0.8186 -vn 0.4548 0.5744 -0.6806 -vn -0.3132 0.5744 -0.7562 -vn -0.1597 0.5744 0.8029 -vn 0.5788 0.5744 -0.5788 -vn -0.1597 0.5744 -0.8029 -vn -0.3132 0.5744 0.7562 -vn -0.4548 0.5744 0.6806 -vn 0.3247 0.9206 0.2169 -vn 0.0917 0.9915 0.0917 -vn 0.2761 0.9206 0.2761 -vn -0.3607 0.9206 0.1494 -vn -0.3829 0.9206 0.0762 -vn 0.3607 0.9206 0.1494 -vn -0.3905 0.9206 0.0000 -vn -0.3829 0.9206 -0.0762 -vn -0.3607 0.9206 -0.1494 -vn 0.2169 0.9206 0.3247 -vn -0.3247 0.9206 -0.2169 -vn 0.1494 0.9206 0.3607 -vn 0.0762 0.9206 -0.3829 -vn -0.2761 0.9206 -0.2761 -vn 0.0762 0.9206 0.3829 -vn 0.1494 0.9206 -0.3607 -vn -0.2169 0.9206 -0.3247 -vn 0.0000 0.9206 0.3905 -vn 0.2169 0.9206 -0.3247 -vn -0.1494 0.9206 -0.3607 -vn -0.0762 0.9206 0.3829 -vn 0.2761 0.9206 -0.2761 -vn -0.0762 0.9206 -0.3829 -vn -0.1494 0.9206 0.3607 -vn 0.3247 0.9206 -0.2169 -vn 0.0000 0.9206 -0.3905 -vn -0.2169 0.9206 0.3247 -vn 0.3607 0.9206 -0.1494 -vn -0.2761 0.9206 0.2761 -vn 0.3829 0.9206 -0.0762 -vn -0.3247 0.9206 0.2169 -vn 0.3905 0.9206 0.0000 -vn -0.0496 0.9915 0.1198 -vn 0.1198 0.9915 0.0496 -vn 0.0496 0.9915 -0.1198 -vn -0.1272 0.9915 -0.0253 -vn -0.1198 0.9915 -0.0496 -vn 0.0720 0.9915 0.1078 -vn -0.1078 0.9915 -0.0721 -vn 0.0496 0.9915 0.1198 -vn 0.0253 0.9915 -0.1271 -vn -0.0917 0.9915 -0.0917 -vn 0.0253 0.9915 0.1272 -vn -0.0720 0.9915 -0.1078 -vn 0.0000 0.9915 0.1296 -vn 0.0720 0.9915 -0.1078 -vn -0.0496 0.9915 -0.1198 -vn -0.0253 0.9915 0.1272 -vn 0.0917 0.9915 -0.0917 -vn -0.0253 0.9915 -0.1272 -vn 0.1078 0.9915 -0.0721 -vn 0.0000 0.9915 -0.1297 -vn -0.0720 0.9915 0.1078 -vn 0.1198 0.9915 -0.0496 -vn -0.0917 0.9915 0.0917 -vn 0.1272 0.9915 -0.0253 -vn -0.1078 0.9915 0.0720 -vn 0.1297 0.9915 0.0000 -vn -0.1198 0.9915 0.0496 -vn 0.1272 0.9915 0.0253 -vn -0.1272 0.9915 0.0253 -vn -0.1297 0.9915 0.0000 -vn 0.1078 0.9915 0.0721 -vn 0.3851 -0.8387 -0.3851 -vn -0.4284 -0.8570 0.2863 -vn 0.4528 -0.8387 -0.3025 -vn -0.9183 -0.3511 0.1827 -vn -0.5031 -0.8387 0.2084 -vn -0.5341 -0.8387 0.1062 -vn 0.6621 -0.3511 -0.6621 -vn 0.7785 -0.3511 -0.5202 -vn -0.9363 -0.3511 0.0000 -vn -0.5446 -0.8387 0.0000 -vn 0.5031 -0.8387 -0.2084 -vn 0.8650 -0.3511 -0.3583 -vn -0.5341 -0.8387 -0.1062 -vn -0.9183 -0.3511 -0.1827 -vn 0.5341 -0.8387 -0.1062 -vn 0.9183 -0.3511 -0.1827 -vn -0.5031 -0.8387 -0.2084 -vn -0.8650 -0.3511 -0.3583 -vn 0.5446 -0.8387 0.0000 -vn 0.9363 -0.3511 0.0000 -vn -0.4528 -0.8387 -0.3025 -vn -0.7785 -0.3511 -0.5202 -vn 0.5341 -0.8387 0.1062 -vn 0.9183 -0.3511 0.1827 -vn -0.3851 -0.8387 -0.3851 -vn -0.6621 -0.3511 -0.6621 -vn 0.8650 -0.3511 0.3583 -vn 0.5031 -0.8387 0.2084 -vn -0.3025 -0.8387 -0.4528 -vn -0.5202 -0.3511 -0.7785 -vn 0.4528 -0.8387 0.3025 -vn 0.7785 -0.3511 0.5202 -vn -0.2084 -0.8387 -0.5031 -vn -0.3583 -0.3511 -0.8650 -vn -0.1827 -0.3511 0.9183 -vn 0.0000 -0.8387 0.5446 -vn -0.1062 -0.8387 0.5341 -vn 0.3851 -0.8387 0.3851 -vn 0.6621 -0.3511 0.6621 -vn -0.1062 -0.8387 -0.5341 -vn -0.1827 -0.3511 -0.9183 -vn -0.3583 -0.3511 0.8650 -vn -0.2084 -0.8387 0.5031 -vn 0.5202 -0.3511 0.7785 -vn 0.3025 -0.8387 0.4528 -vn 0.0000 -0.8387 -0.5446 -vn 0.0000 -0.3511 -0.9363 -vn -0.5202 -0.3511 0.7785 -vn -0.3025 -0.8387 0.4528 -vn 0.3583 -0.3511 0.8650 -vn 0.2084 -0.8387 0.5031 -vn 0.1062 -0.8387 -0.5341 -vn 0.1827 -0.3511 -0.9183 -vn -0.6621 -0.3511 0.6621 -vn -0.3851 -0.8387 0.3851 -vn 0.1827 -0.3511 0.9183 -vn 0.1062 -0.8387 0.5341 -vn 0.2084 -0.8387 -0.5031 -vn 0.3583 -0.3511 -0.8650 -vn -0.7785 -0.3511 0.5202 -vn -0.4528 -0.8387 0.3025 -vn 0.0000 -0.3511 0.9363 -vn 0.3025 -0.8387 -0.4528 -vn 0.5202 -0.3511 -0.7785 -vn -0.8650 -0.3511 0.3583 -vn 0.1972 -0.8570 0.4761 -vn 0.1882 -0.2627 0.9463 -vn 0.1005 -0.8570 0.5054 -vn 0.5054 -0.8570 -0.1005 -vn 0.5153 -0.8570 0.0000 -vn -0.4761 -0.8570 0.1972 -vn 0.5054 -0.8570 0.1005 -vn -0.5054 -0.8570 0.1005 -vn 0.4761 -0.8570 0.1972 -vn -0.5153 -0.8570 0.0000 -vn 0.4284 -0.8570 0.2863 -vn -0.5054 -0.8570 -0.1005 -vn 0.3644 -0.8570 0.3644 -vn -0.4761 -0.8570 -0.1972 -vn 0.2863 -0.8570 0.4284 -vn -0.4284 -0.8570 -0.2863 -vn 0.0000 -0.8570 -0.5153 -vn 0.1005 -0.8570 -0.5054 -vn -0.3644 -0.8570 -0.3644 -vn 0.1972 -0.8570 -0.4761 -vn -0.2863 -0.8570 -0.4284 -vn 0.0000 -0.8570 0.5153 -vn 0.2863 -0.8570 -0.4284 -vn -0.1972 -0.8570 -0.4761 -vn -0.1005 -0.8570 0.5054 -vn 0.3644 -0.8570 -0.3644 -vn -0.1005 -0.8570 -0.5054 -vn -0.1972 -0.8570 0.4761 -vn 0.4284 -0.8570 -0.2863 -vn -0.2863 -0.8570 0.4284 -vn 0.4761 -0.8570 -0.1972 -vn -0.3644 -0.8570 0.3644 -vn -0.1882 -0.2627 0.9463 -vn -0.3727 0.2266 0.8998 -vn -0.3692 -0.2627 0.8914 -vn 0.1882 -0.2627 -0.9463 -vn 0.3692 -0.2627 -0.8914 -vn -0.6822 -0.2627 -0.6822 -vn -0.5360 -0.2627 -0.8022 -vn 0.0000 -0.2627 0.9648 -vn 0.5360 -0.2627 -0.8022 -vn -0.3692 -0.2627 -0.8914 -vn 0.6822 -0.2627 -0.6822 -vn -0.1882 -0.2627 -0.9463 -vn 0.8022 -0.2627 -0.5360 -vn 0.0000 -0.2627 -0.9648 -vn -0.5360 -0.2627 0.8022 -vn 0.8914 -0.2627 -0.3692 -vn -0.6822 -0.2627 0.6822 -vn 0.9463 -0.2627 -0.1882 -vn -0.8022 -0.2627 0.5360 -vn 0.9648 -0.2627 0.0000 -vn -0.8914 -0.2627 0.3692 -vn 0.9463 -0.2627 0.1882 -vn -0.9463 -0.2627 0.1882 -vn 0.8914 -0.2627 0.3692 -vn -0.9648 -0.2627 0.0000 -vn 0.8022 -0.2627 0.5360 -vn -0.9463 -0.2627 -0.1882 -vn 0.6822 -0.2627 0.6822 -vn -0.8914 -0.2627 -0.3692 -vn 0.5360 -0.2627 0.8022 -vn -0.8022 -0.2627 -0.5360 -vn 0.3692 -0.2627 0.8914 -vn -0.6887 0.2266 0.6887 -vn -0.7437 0.4472 0.4969 -vn -0.8098 0.2266 0.5411 -vn 0.6887 0.2266 -0.6887 -vn 0.8098 0.2266 -0.5411 -vn -0.1900 0.2266 -0.9553 -vn 0.0000 0.2266 -0.9740 -vn -0.5411 0.2266 0.8098 -vn 0.8998 0.2266 -0.3727 -vn 0.9553 0.2266 -0.1900 -vn 0.9740 0.2266 0.0000 -vn -0.8998 0.2266 0.3727 -vn 0.9553 0.2266 0.1900 -vn -0.9553 0.2266 0.1900 -vn 0.8998 0.2266 0.3727 -vn -0.9740 0.2266 0.0000 -vn 0.8098 0.2266 0.5411 -vn -0.9553 0.2266 -0.1900 -vn 0.6887 0.2266 0.6887 -vn -0.8998 0.2266 -0.3727 -vn 0.5411 0.2266 0.8098 -vn -0.8098 0.2266 -0.5411 -vn 0.3727 0.2266 0.8998 -vn 0.1900 0.2266 -0.9553 -vn -0.6887 0.2266 -0.6887 -vn 0.1900 0.2266 0.9553 -vn 0.3727 0.2266 -0.8998 -vn -0.5411 0.2266 -0.8098 -vn 0.0000 0.2266 0.9740 -vn 0.5411 0.2266 -0.8098 -vn -0.3727 0.2266 -0.8998 -vn -0.1900 0.2266 0.9553 -vn 0.8772 0.4472 -0.1745 -vn 0.8944 0.4472 0.0000 -vn -0.8263 0.4472 0.3423 -vn 0.8772 0.4472 0.1745 -vn -0.8772 0.4472 0.1745 -vn 0.8263 0.4472 0.3423 -vn -0.8944 0.4472 0.0000 -vn 0.7437 0.4472 0.4969 -vn -0.8772 0.4472 -0.1745 -vn 0.6324 0.4472 0.6324 -vn -0.8263 0.4472 -0.3423 -vn 0.4969 0.4472 0.7437 -vn -0.7437 0.4472 -0.4969 -vn 0.3423 0.4472 0.8263 -vn 0.0000 0.4472 -0.8944 -vn 0.1745 0.4472 -0.8772 -vn -0.6324 0.4472 -0.6324 -vn 0.1745 0.4472 0.8772 -vn 0.3423 0.4472 -0.8263 -vn -0.4969 0.4472 -0.7437 -vn 0.0000 0.4472 0.8944 -vn 0.4969 0.4472 -0.7437 -vn -0.3423 0.4472 -0.8263 -vn -0.1745 0.4472 0.8772 -vn 0.6324 0.4472 -0.6324 -vn -0.1745 0.4472 -0.8772 -vn -0.3423 0.4472 0.8263 -vn 0.7437 0.4472 -0.4969 -vn -0.4969 0.4472 0.7437 -vn 0.8263 0.4472 -0.3423 -vn -0.6324 0.4472 0.6324 -s 1 -f 153/137/129 184/138/130 185/139/131 -f 187/140/132 220/141/133 188/142/134 -f 139/143/135 172/144/136 140/145/137 -f 153/146/129 186/147/138 154/148/139 -f 140/145/137 173/149/140 141/150/141 -f 154/148/139 187/140/132 155/151/142 -f 141/150/141 174/152/143 142/153/144 -f 155/151/142 188/142/134 156/154/145 -f 142/153/144 175/155/146 143/156/147 -f 130/157/148 161/158/149 129/159/150 -f 156/154/145 189/160/151 157/161/152 -f 143/156/147 176/162/153 144/163/154 -f 129/159/150 163/164/155 131/165/156 -f 157/161/152 190/166/157 158/167/158 -f 144/163/154 177/168/159 145/169/160 -f 131/165/156 164/170/161 132/171/162 -f 158/167/158 191/172/163 159/173/164 -f 145/174/160 178/175/165 146/176/166 -f 133/177/167 164/170/161 165/178/168 -f 159/173/164 192/179/169 160/180/170 -f 146/176/166 179/181/171 147/182/172 -f 134/183/173 165/178/168 166/184/174 -f 130/185/148 192/179/169 162/186/175 -f 147/182/172 180/187/176 148/188/177 -f 134/183/173 167/189/178 135/190/179 -f 148/188/177 181/191/180 149/192/181 -f 136/193/182 167/189/178 168/194/183 -f 149/192/181 182/195/184 150/196/185 -f 136/193/182 169/197/186 137/198/187 -f 150/196/185 183/199/188 151/200/189 -f 138/201/190 169/202/186 170/203/191 -f 152/204/192 183/199/188 184/138/130 -f 139/143/135 170/203/191 171/205/193 -f 195/206/194 228/207/195 196/208/196 -f 175/155/146 206/209/197 207/210/198 -f 162/211/175 193/212/199 161/158/149 -f 188/142/134 221/213/200 189/160/151 -f 175/155/146 208/214/201 176/162/153 -f 163/164/155 193/212/199 195/206/194 -f 189/160/151 222/215/202 190/166/157 -f 176/162/153 209/216/203 177/168/159 -f 163/164/155 196/208/196 164/170/161 -f 190/166/157 223/217/204 191/172/163 -f 178/175/165 209/218/203 210/219/205 -f 165/178/168 196/208/196 197/220/206 -f 191/172/163 224/221/207 192/179/169 -f 178/175/165 211/222/208 179/181/171 -f 165/178/168 198/223/209 166/184/174 -f 192/179/169 194/224/210 162/186/175 -f 179/181/171 212/225/211 180/187/176 -f 166/184/174 199/226/212 167/189/178 -f 180/187/176 213/227/213 181/191/180 -f 168/194/183 199/226/212 200/228/214 -f 181/191/180 214/229/215 182/195/184 -f 168/194/183 201/230/216 169/197/186 -f 182/195/184 215/231/217 183/199/188 -f 170/203/191 201/232/216 202/233/218 -f 183/199/188 216/234/219 184/138/130 -f 170/203/191 203/235/220 171/205/193 -f 184/138/130 217/236/221 185/139/131 -f 172/144/136 203/235/220 204/237/222 -f 185/238/131 218/239/223 186/147/138 -f 172/144/136 205/240/224 173/149/140 -f 186/147/138 219/241/225 187/140/132 -f 174/152/143 205/240/224 206/209/197 -f 231/242/226 262/243/227 263/244/228 -f 223/217/204 254/245/229 255/246/230 -f 209/218/203 242/247/231 210/219/205 -f 197/220/206 228/207/195 229/248/232 -f 224/221/207 255/246/230 256/249/233 -f 211/222/208 242/247/231 243/250/234 -f 198/223/209 229/248/232 230/251/235 -f 194/224/210 256/249/233 226/252/236 -f 211/222/208 244/253/237 212/225/211 -f 199/226/212 230/251/235 231/242/226 -f 212/225/211 245/254/238 213/227/213 -f 200/228/214 231/242/226 232/255/239 -f 213/227/213 246/256/240 214/229/215 -f 200/228/214 233/257/241 201/230/216 -f 214/229/215 247/258/242 215/231/217 -f 202/233/218 233/259/241 234/260/243 -f 215/231/217 248/261/244 216/234/219 -f 202/233/218 235/262/245 203/235/220 -f 216/234/219 249/263/246 217/236/221 -f 203/235/220 236/264/247 204/237/222 -f 217/265/221 250/266/248 218/239/223 -f 204/237/222 237/267/249 205/240/224 -f 218/239/223 251/268/250 219/241/225 -f 205/240/224 238/269/251 206/209/197 -f 220/141/133 251/268/250 252/270/252 -f 206/209/197 239/271/253 207/210/198 -f 193/212/199 226/272/236 225/273/254 -f 220/141/133 253/274/255 221/213/200 -f 207/210/198 240/275/256 208/214/201 -f 195/206/194 225/273/254 227/276/257 -f 221/213/200 254/245/229 222/215/202 -f 208/214/201 241/277/258 209/216/203 -f 265/278/259 298/279/260 266/280/261 -f 244/253/237 277/281/262 245/254/238 -f 231/242/226 264/282/263 232/255/239 -f 246/256/240 277/281/262 278/283/264 -f 233/257/241 264/282/263 265/284/259 -f 247/258/242 278/283/264 279/285/265 -f 233/259/241 266/280/261 234/260/243 -f 248/261/244 279/285/265 280/286/266 -f 234/260/243 267/287/267 235/262/245 -f 248/261/244 281/288/268 249/263/246 -f 235/262/245 268/289/269 236/264/247 -f 249/290/246 282/291/270 250/266/248 -f 237/267/249 268/289/269 269/292/271 -f 251/268/250 282/291/270 283/293/272 -f 237/267/249 270/294/273 238/269/251 -f 251/268/250 284/295/274 252/270/252 -f 238/269/251 271/296/275 239/271/253 -f 225/273/254 258/297/276 257/298/277 -f 253/274/255 284/295/274 285/299/278 -f 239/271/253 272/300/279 240/275/256 -f 225/273/254 259/301/280 227/276/257 -f 254/245/229 285/299/278 286/302/281 -f 240/275/256 273/303/282 241/277/258 -f 227/276/257 260/304/283 228/207/195 -f 255/246/230 286/302/281 287/305/284 -f 241/306/258 274/307/285 242/247/231 -f 228/207/195 261/308/286 229/248/232 -f 256/249/233 287/305/284 288/309/287 -f 242/247/231 275/310/288 243/250/234 -f 229/248/232 262/243/227 230/251/235 -f 256/249/233 258/311/276 226/252/236 -f 243/250/234 276/312/289 244/253/237 -f 300/313/290 333/314/291 301/315/292 -f 280/286/266 311/316/293 312/317/294 -f 266/280/261 299/318/295 267/287/267 -f 280/286/266 313/319/296 281/288/268 -f 267/287/267 300/313/290 268/289/269 -f 281/320/268 314/321/297 282/291/270 -f 268/289/269 301/315/292 269/292/271 -f 283/293/272 314/321/297 315/322/298 -f 269/292/271 302/323/299 270/294/273 -f 283/293/272 316/324/300 284/295/274 -f 270/294/273 303/325/301 271/296/275 -f 258/297/276 289/326/302 257/298/277 -f 285/299/278 316/324/300 317/327/303 -f 271/296/275 304/328/304 272/300/279 -f 257/298/277 291/329/305 259/301/280 -f 285/299/278 318/330/306 286/302/281 -f 272/300/279 305/331/307 273/303/282 -f 259/301/280 292/332/308 260/304/283 -f 287/305/284 318/330/306 319/333/309 -f 273/334/282 306/335/310 274/307/285 -f 260/304/283 293/336/311 261/308/286 -f 288/309/287 319/333/309 320/337/312 -f 274/307/285 307/338/313 275/310/288 -f 261/308/286 294/339/314 262/243/227 -f 288/309/287 290/340/315 258/311/276 -f 275/310/288 308/341/316 276/312/289 -f 263/244/228 294/339/314 295/342/317 -f 276/312/289 309/343/318 277/281/262 -f 264/282/263 295/342/317 296/344/319 -f 277/281/262 310/345/320 278/283/264 -f 265/284/259 296/344/319 297/346/321 -f 278/283/264 311/316/293 279/285/265 -f 339/347/322 331/348/323 323/349/324 -f 315/322/298 346/350/325 347/351/326 -f 301/315/292 334/352/327 302/323/299 -f 316/324/300 347/351/326 348/353/328 -f 302/323/299 335/354/329 303/325/301 -f 290/355/315 321/356/330 289/326/302 -f 316/324/300 349/357/331 317/327/303 -f 303/325/301 336/358/332 304/328/304 -f 289/326/302 323/359/324 291/329/305 -f 317/327/303 350/360/333 318/330/306 -f 304/328/304 337/361/334 305/331/307 -f 291/329/305 324/362/335 292/332/308 -f 318/330/306 351/363/336 319/333/309 -f 305/364/307 338/365/337 306/335/310 -f 293/336/311 324/362/335 325/366/338 -f 319/333/309 352/367/339 320/337/312 -f 306/335/310 339/368/322 307/338/313 -f 293/336/311 326/369/340 294/339/314 -f 320/337/312 322/370/341 290/340/315 -f 307/338/313 340/371/342 308/341/316 -f 295/342/317 326/369/340 327/372/343 -f 308/341/316 341/373/344 309/343/318 -f 295/342/317 328/374/345 296/344/319 -f 309/343/318 342/375/346 310/345/320 -f 297/346/321 328/374/345 329/376/347 -f 310/345/320 343/377/348 311/316/293 -f 297/378/321 330/379/349 298/279/260 -f 312/317/294 343/377/348 344/380/350 -f 298/279/260 331/381/323 299/318/295 -f 312/317/294 345/382/351 313/319/296 -f 299/318/295 332/383/352 300/313/290 -f 314/321/297 345/384/351 346/350/325 -f 405/385/353 438/386/354 406/387/355 -f 360/388/356 391/389/357 392/390/358 -f 373/391/359 406/387/355 374/392/360 -f 361/393/361 392/390/358 393/394/362 -f 374/392/360 407/395/363 375/396/364 -f 361/397/361 394/398/365 362/399/366 -f 375/396/364 408/400/367 376/401/368 -f 362/399/366 395/402/369 363/403/370 -f 376/401/368 409/404/371 377/405/372 -f 363/403/370 396/406/373 364/407/374 -f 377/408/372 410/409/375 378/410/376 -f 364/407/374 397/411/377 365/412/378 -f 379/413/379 410/409/375 411/414/380 -f 365/412/378 398/415/381 366/416/382 -f 379/413/379 412/417/383 380/418/384 -f 366/416/382 399/419/385 367/420/386 -f 353/421/387 386/422/388 385/423/389 -f 380/418/384 413/424/390 381/425/391 -f 367/420/386 400/426/392 368/427/393 -f 355/428/394 385/423/389 387/429/395 -f 382/430/396 413/424/390 414/431/397 -f 368/427/393 401/432/398 369/433/399 -f 356/434/400 387/429/395 388/435/401 -f 383/436/402 414/431/397 415/437/403 -f 369/438/399 402/439/404 370/440/405 -f 357/441/406 388/435/401 389/442/407 -f 384/443/408 415/437/403 416/444/409 -f 370/440/405 403/445/410 371/446/411 -f 358/447/412 389/442/407 390/448/413 -f 354/449/414 416/444/409 386/450/388 -f 371/446/411 404/451/415 372/452/416 -f 359/453/417 390/448/413 391/389/357 -f 372/452/416 405/385/353 373/391/359 -f 431/454/418 464/455/419 432/456/420 -f 393/394/362 424/457/421 425/458/422 -f 406/387/355 439/459/423 407/395/363 -f 394/398/365 425/460/422 426/461/424 -f 407/395/363 440/462/425 408/400/367 -f 395/402/369 426/461/424 427/463/426 -f 408/400/367 441/464/427 409/404/371 -f 396/406/373 427/463/426 428/465/428 -f 409/466/371 442/467/429 410/409/375 -f 396/406/373 429/468/430 397/411/377 -f 410/409/375 443/469/431 411/414/380 -f 397/411/377 430/470/432 398/415/381 -f 411/414/380 444/471/433 412/417/383 -f 398/415/381 431/454/418 399/419/385 -f 385/423/389 418/472/434 417/473/435 -f 413/424/390 444/471/433 445/474/436 -f 399/419/385 432/456/420 400/426/392 -f 387/429/395 417/473/435 419/475/437 -f 414/431/397 445/474/436 446/476/438 -f 400/426/392 433/477/439 401/432/398 -f 388/435/401 419/475/437 420/478/440 -f 415/437/403 446/476/438 447/479/441 -f 401/480/398 434/481/442 402/439/404 -f 389/442/407 420/478/440 421/482/443 -f 415/437/403 448/483/444 416/444/409 -f 402/439/404 435/484/445 403/445/410 -f 390/448/413 421/482/443 422/485/446 -f 386/450/388 448/483/444 418/486/434 -f 403/445/410 436/487/447 404/451/415 -f 390/448/413 423/488/448 391/389/357 -f 404/451/415 437/489/449 405/385/353 -f 392/390/358 423/488/448 424/457/421 -f 466/490/450 499/491/451 467/492/452 -f 419/475/437 449/493/453 451/494/454 -f 446/476/438 477/495/455 478/496/456 -f 432/456/420 465/497/457 433/477/439 -f 419/475/437 452/498/458 420/478/440 -f 447/479/441 478/496/456 479/499/459 -f 433/500/439 466/490/450 434/481/442 -f 420/478/440 453/501/460 421/482/443 -f 448/483/444 479/499/459 480/502/461 -f 434/481/442 467/492/452 435/484/445 -f 422/485/446 453/501/460 454/503/462 -f 418/486/434 480/502/461 450/504/463 -f 435/484/445 468/505/464 436/487/447 -f 423/488/448 454/503/462 455/506/465 -f 436/487/447 469/507/466 437/489/449 -f 424/457/421 455/506/465 456/508/467 -f 437/489/449 470/509/468 438/386/354 -f 424/457/421 457/510/469 425/458/422 -f 438/386/354 471/511/470 439/459/423 -f 425/460/422 458/512/471 426/461/424 -f 439/459/423 472/513/472 440/462/425 -f 426/461/424 459/514/473 427/463/426 -f 441/464/427 472/513/472 473/515/474 -f 427/463/426 460/516/475 428/465/428 -f 441/517/427 474/518/476 442/467/429 -f 428/465/428 461/519/477 429/468/430 -f 443/469/431 474/518/476 475/520/478 -f 429/468/430 462/521/479 430/470/432 -f 443/469/431 476/522/480 444/471/433 -f 430/470/432 463/523/481 431/454/418 -f 417/473/435 450/524/463 449/493/453 -f 445/474/436 476/522/480 477/495/455 -f 501/525/482 534/526/483 502/527/484 -f 454/503/462 485/528/485 486/529/486 -f 450/504/463 512/530/487 482/531/488 -f 467/492/452 500/532/489 468/505/464 -f 454/503/462 487/533/490 455/506/465 -f 468/505/464 501/525/482 469/507/466 -f 455/506/465 488/534/491 456/508/467 -f 469/507/466 502/527/484 470/509/468 -f 456/508/467 489/535/492 457/510/469 -f 470/509/468 503/536/493 471/511/470 -f 457/537/469 490/538/494 458/512/471 -f 471/511/470 504/539/495 472/513/472 -f 458/512/471 491/540/496 459/514/473 -f 472/513/472 505/541/497 473/515/474 -f 459/514/473 492/542/498 460/516/475 -f 474/518/476 505/543/497 506/544/499 -f 460/516/475 493/545/500 461/519/477 -f 474/518/476 507/546/501 475/520/478 -f 461/519/477 494/547/502 462/521/479 -f 476/522/480 507/546/501 508/548/503 -f 462/521/479 495/549/504 463/523/481 -f 449/493/453 482/550/488 481/551/505 -f 476/522/480 509/552/506 477/495/455 -f 463/523/481 496/553/507 464/455/419 -f 451/494/454 481/551/505 483/554/508 -f 478/496/456 509/552/506 510/555/509 -f 464/455/419 497/556/510 465/497/457 -f 452/498/458 483/554/508 484/557/511 -f 479/499/459 510/555/509 511/558/512 -f 465/559/457 498/560/513 466/490/450 -f 453/501/460 484/557/511 485/528/485 -f 480/502/461 511/558/512 512/530/487 -f 489/535/492 520/561/514 521/562/515 -f 502/527/484 535/563/516 503/536/493 -f 489/564/492 522/565/517 490/538/494 -f 504/539/495 535/563/516 536/566/518 -f 490/538/494 523/567/519 491/540/496 -f 504/539/495 537/568/520 505/541/497 -f 491/540/496 524/569/521 492/542/498 -f 505/543/497 538/570/522 506/544/499 -f 492/542/498 525/571/523 493/545/500 -f 507/546/501 538/570/522 539/572/524 -f 493/545/500 526/573/525 494/547/502 -f 507/546/501 540/574/526 508/548/503 -f 494/547/502 527/575/527 495/549/504 -f 481/551/505 514/576/528 513/577/529 -f 509/552/506 540/574/526 541/578/530 -f 495/549/504 528/579/531 496/553/507 -f 483/554/508 513/577/529 515/580/532 -f 509/552/506 542/581/533 510/555/509 -f 496/553/507 529/582/534 497/556/510 -f 484/557/511 515/580/532 516/583/535 -f 511/558/512 542/581/533 543/584/536 -f 497/585/510 530/586/537 498/560/513 -f 485/528/485 516/583/535 517/587/538 -f 512/530/487 543/584/536 544/588/539 -f 498/560/513 531/589/540 499/491/451 -f 485/528/485 518/590/541 486/529/486 -f 512/530/487 514/591/528 482/531/488 -f 499/491/451 532/592/542 500/532/489 -f 486/529/486 519/593/543 487/533/490 -f 500/532/489 533/594/544 501/525/482 -f 487/533/490 520/561/514 488/534/491 -f 153/137/129 152/204/192 184/138/130 -f 187/140/132 219/241/225 220/141/133 -f 139/143/135 171/205/193 172/144/136 -f 153/146/129 185/238/131 186/147/138 -f 140/145/137 172/144/136 173/149/140 -f 154/148/139 186/147/138 187/140/132 -f 141/150/141 173/149/140 174/152/143 -f 155/151/142 187/140/132 188/142/134 -f 142/153/144 174/152/143 175/155/146 -f 130/157/148 162/211/175 161/158/149 -f 156/154/145 188/142/134 189/160/151 -f 143/156/147 175/155/146 176/162/153 -f 129/159/150 161/158/149 163/164/155 -f 157/161/152 189/160/151 190/166/157 -f 144/163/154 176/162/153 177/168/159 -f 131/165/156 163/164/155 164/170/161 -f 158/167/158 190/166/157 191/172/163 -f 145/174/160 177/595/159 178/175/165 -f 133/177/167 132/171/162 164/170/161 -f 159/173/164 191/172/163 192/179/169 -f 146/176/166 178/175/165 179/181/171 -f 134/183/173 133/177/167 165/178/168 -f 130/185/148 160/180/170 192/179/169 -f 147/182/172 179/181/171 180/187/176 -f 134/183/173 166/184/174 167/189/178 -f 148/188/177 180/187/176 181/191/180 -f 136/193/182 135/190/179 167/189/178 -f 149/192/181 181/191/180 182/195/184 -f 136/193/182 168/194/183 169/197/186 -f 150/196/185 182/195/184 183/199/188 -f 138/201/190 137/596/187 169/202/186 -f 152/204/192 151/200/189 183/199/188 -f 139/143/135 138/201/190 170/203/191 -f 195/206/194 227/276/257 228/207/195 -f 175/155/146 174/152/143 206/209/197 -f 162/211/175 194/597/210 193/212/199 -f 188/142/134 220/141/133 221/213/200 -f 175/155/146 207/210/198 208/214/201 -f 163/164/155 161/158/149 193/212/199 -f 189/160/151 221/213/200 222/215/202 -f 176/162/153 208/214/201 209/216/203 -f 163/164/155 195/206/194 196/208/196 -f 190/166/157 222/215/202 223/217/204 -f 178/175/165 177/595/159 209/218/203 -f 165/178/168 164/170/161 196/208/196 -f 191/172/163 223/217/204 224/221/207 -f 178/175/165 210/219/205 211/222/208 -f 165/178/168 197/220/206 198/223/209 -f 192/179/169 224/221/207 194/224/210 -f 179/181/171 211/222/208 212/225/211 -f 166/184/174 198/223/209 199/226/212 -f 180/187/176 212/225/211 213/227/213 -f 168/194/183 167/189/178 199/226/212 -f 181/191/180 213/227/213 214/229/215 -f 168/194/183 200/228/214 201/230/216 -f 182/195/184 214/229/215 215/231/217 -f 170/203/191 169/202/186 201/232/216 -f 183/199/188 215/231/217 216/234/219 -f 170/203/191 202/233/218 203/235/220 -f 184/138/130 216/234/219 217/236/221 -f 172/144/136 171/205/193 203/235/220 -f 185/238/131 217/265/221 218/239/223 -f 172/144/136 204/237/222 205/240/224 -f 186/147/138 218/239/223 219/241/225 -f 174/152/143 173/149/140 205/240/224 -f 231/242/226 230/251/235 262/243/227 -f 223/217/204 222/215/202 254/245/229 -f 209/218/203 241/306/258 242/247/231 -f 197/220/206 196/208/196 228/207/195 -f 224/221/207 223/217/204 255/246/230 -f 211/222/208 210/219/205 242/247/231 -f 198/223/209 197/220/206 229/248/232 -f 194/224/210 224/221/207 256/249/233 -f 211/222/208 243/250/234 244/253/237 -f 199/226/212 198/223/209 230/251/235 -f 212/225/211 244/253/237 245/254/238 -f 200/228/214 199/226/212 231/242/226 -f 213/227/213 245/254/238 246/256/240 -f 200/228/214 232/255/239 233/257/241 -f 214/229/215 246/256/240 247/258/242 -f 202/233/218 201/232/216 233/259/241 -f 215/231/217 247/258/242 248/261/244 -f 202/233/218 234/260/243 235/262/245 -f 216/234/219 248/261/244 249/263/246 -f 203/235/220 235/262/245 236/264/247 -f 217/265/221 249/290/246 250/266/248 -f 204/237/222 236/264/247 237/267/249 -f 218/239/223 250/266/248 251/268/250 -f 205/240/224 237/267/249 238/269/251 -f 220/141/133 219/241/225 251/268/250 -f 206/209/197 238/269/251 239/271/253 -f 193/212/199 194/597/210 226/272/236 -f 220/141/133 252/270/252 253/274/255 -f 207/210/198 239/271/253 240/275/256 -f 195/206/194 193/212/199 225/273/254 -f 221/213/200 253/274/255 254/245/229 -f 208/214/201 240/275/256 241/277/258 -f 265/278/259 297/378/321 298/279/260 -f 244/253/237 276/312/289 277/281/262 -f 231/242/226 263/244/228 264/282/263 -f 246/256/240 245/254/238 277/281/262 -f 233/257/241 232/255/239 264/282/263 -f 247/258/242 246/256/240 278/283/264 -f 233/259/241 265/278/259 266/280/261 -f 248/261/244 247/258/242 279/285/265 -f 234/260/243 266/280/261 267/287/267 -f 248/261/244 280/286/266 281/288/268 -f 235/262/245 267/287/267 268/289/269 -f 249/290/246 281/320/268 282/291/270 -f 237/267/249 236/264/247 268/289/269 -f 251/268/250 250/266/248 282/291/270 -f 237/267/249 269/292/271 270/294/273 -f 251/268/250 283/293/272 284/295/274 -f 238/269/251 270/294/273 271/296/275 -f 225/273/254 226/272/236 258/297/276 -f 253/274/255 252/270/252 284/295/274 -f 239/271/253 271/296/275 272/300/279 -f 225/273/254 257/298/277 259/301/280 -f 254/245/229 253/274/255 285/299/278 -f 240/275/256 272/300/279 273/303/282 -f 227/276/257 259/301/280 260/304/283 -f 255/246/230 254/245/229 286/302/281 -f 241/306/258 273/334/282 274/307/285 -f 228/207/195 260/304/283 261/308/286 -f 256/249/233 255/246/230 287/305/284 -f 242/247/231 274/307/285 275/310/288 -f 229/248/232 261/308/286 262/243/227 -f 256/249/233 288/309/287 258/311/276 -f 243/250/234 275/310/288 276/312/289 -f 300/313/290 332/383/352 333/314/291 -f 280/286/266 279/285/265 311/316/293 -f 266/280/261 298/279/260 299/318/295 -f 280/286/266 312/317/294 313/319/296 -f 267/287/267 299/318/295 300/313/290 -f 281/320/268 313/598/296 314/321/297 -f 268/289/269 300/313/290 301/315/292 -f 283/293/272 282/291/270 314/321/297 -f 269/292/271 301/315/292 302/323/299 -f 283/293/272 315/322/298 316/324/300 -f 270/294/273 302/323/299 303/325/301 -f 258/297/276 290/355/315 289/326/302 -f 285/299/278 284/295/274 316/324/300 -f 271/296/275 303/325/301 304/328/304 -f 257/298/277 289/326/302 291/329/305 -f 285/299/278 317/327/303 318/330/306 -f 272/300/279 304/328/304 305/331/307 -f 259/301/280 291/329/305 292/332/308 -f 287/305/284 286/302/281 318/330/306 -f 273/334/282 305/364/307 306/335/310 -f 260/304/283 292/332/308 293/336/311 -f 288/309/287 287/305/284 319/333/309 -f 274/307/285 306/335/310 307/338/313 -f 261/308/286 293/336/311 294/339/314 -f 288/309/287 320/337/312 290/340/315 -f 275/310/288 307/338/313 308/341/316 -f 263/244/228 262/243/227 294/339/314 -f 276/312/289 308/341/316 309/343/318 -f 264/282/263 263/244/228 295/342/317 -f 277/281/262 309/343/318 310/345/320 -f 265/284/259 264/282/263 296/344/319 -f 278/283/264 310/345/320 311/316/293 -f 323/349/324 321/599/330 322/600/341 -f 322/600/341 352/601/339 323/349/324 -f 352/601/339 351/602/336 323/349/324 -f 351/602/336 350/603/333 347/604/326 -f 350/603/333 349/605/331 347/604/326 -f 349/605/331 348/606/328 347/604/326 -f 347/604/326 346/607/325 345/608/351 -f 345/608/351 344/609/350 347/604/326 -f 344/609/350 343/610/348 347/604/326 -f 343/610/348 342/611/346 341/612/344 -f 341/612/344 340/613/342 343/610/348 -f 340/613/342 339/347/322 343/610/348 -f 339/347/322 338/614/337 337/615/334 -f 337/615/334 336/616/332 339/347/322 -f 336/616/332 335/617/329 339/347/322 -f 335/617/329 334/618/327 333/619/291 -f 333/619/291 332/620/352 331/348/323 -f 331/348/323 330/621/349 329/622/347 -f 329/622/347 328/623/345 327/624/343 -f 327/624/343 326/625/340 325/626/338 -f 325/626/338 324/627/335 323/349/324 -f 335/617/329 333/619/291 339/347/322 -f 333/619/291 331/348/323 339/347/322 -f 331/348/323 329/622/347 323/349/324 -f 329/622/347 327/624/343 323/349/324 -f 327/624/343 325/626/338 323/349/324 -f 323/349/324 351/602/336 347/604/326 -f 347/604/326 343/610/348 323/349/324 -f 343/610/348 339/347/322 323/349/324 -f 315/322/298 314/321/297 346/350/325 -f 301/315/292 333/314/291 334/352/327 -f 316/324/300 315/322/298 347/351/326 -f 302/323/299 334/352/327 335/354/329 -f 290/355/315 322/628/341 321/356/330 -f 316/324/300 348/353/328 349/357/331 -f 303/325/301 335/354/329 336/358/332 -f 289/326/302 321/356/330 323/359/324 -f 317/327/303 349/357/331 350/360/333 -f 304/328/304 336/358/332 337/361/334 -f 291/329/305 323/359/324 324/362/335 -f 318/330/306 350/360/333 351/363/336 -f 305/364/307 337/629/334 338/365/337 -f 293/336/311 292/332/308 324/362/335 -f 319/333/309 351/363/336 352/367/339 -f 306/335/310 338/365/337 339/368/322 -f 293/336/311 325/366/338 326/369/340 -f 320/337/312 352/367/339 322/370/341 -f 307/338/313 339/368/322 340/371/342 -f 295/342/317 294/339/314 326/369/340 -f 308/341/316 340/371/342 341/373/344 -f 295/342/317 327/372/343 328/374/345 -f 309/343/318 341/373/344 342/375/346 -f 297/346/321 296/344/319 328/374/345 -f 310/345/320 342/375/346 343/377/348 -f 297/378/321 329/630/347 330/379/349 -f 312/317/294 311/316/293 343/377/348 -f 298/279/260 330/379/349 331/381/323 -f 312/317/294 344/380/350 345/382/351 -f 299/318/295 331/381/323 332/383/352 -f 314/321/297 313/598/296 345/384/351 -f 405/385/353 437/489/449 438/386/354 -f 360/388/356 359/453/417 391/389/357 -f 373/391/359 405/385/353 406/387/355 -f 361/393/361 360/388/356 392/390/358 -f 374/392/360 406/387/355 407/395/363 -f 361/397/361 393/631/362 394/398/365 -f 375/396/364 407/395/363 408/400/367 -f 362/399/366 394/398/365 395/402/369 -f 376/401/368 408/400/367 409/404/371 -f 363/403/370 395/402/369 396/406/373 -f 377/408/372 409/466/371 410/409/375 -f 364/407/374 396/406/373 397/411/377 -f 379/413/379 378/410/376 410/409/375 -f 365/412/378 397/411/377 398/415/381 -f 379/413/379 411/414/380 412/417/383 -f 366/416/382 398/415/381 399/419/385 -f 353/421/387 354/632/414 386/422/388 -f 380/418/384 412/417/383 413/424/390 -f 367/420/386 399/419/385 400/426/392 -f 355/428/394 353/421/387 385/423/389 -f 382/430/396 381/425/391 413/424/390 -f 368/427/393 400/426/392 401/432/398 -f 356/434/400 355/428/394 387/429/395 -f 383/436/402 382/430/396 414/431/397 -f 369/438/399 401/480/398 402/439/404 -f 357/441/406 356/434/400 388/435/401 -f 384/443/408 383/436/402 415/437/403 -f 370/440/405 402/439/404 403/445/410 -f 358/447/412 357/441/406 389/442/407 -f 354/449/414 384/443/408 416/444/409 -f 371/446/411 403/445/410 404/451/415 -f 359/453/417 358/447/412 390/448/413 -f 372/452/416 404/451/415 405/385/353 -f 431/454/418 463/523/481 464/455/419 -f 393/394/362 392/390/358 424/457/421 -f 406/387/355 438/386/354 439/459/423 -f 394/398/365 393/631/362 425/460/422 -f 407/395/363 439/459/423 440/462/425 -f 395/402/369 394/398/365 426/461/424 -f 408/400/367 440/462/425 441/464/427 -f 396/406/373 395/402/369 427/463/426 -f 409/466/371 441/517/427 442/467/429 -f 396/406/373 428/465/428 429/468/430 -f 410/409/375 442/467/429 443/469/431 -f 397/411/377 429/468/430 430/470/432 -f 411/414/380 443/469/431 444/471/433 -f 398/415/381 430/470/432 431/454/418 -f 385/423/389 386/422/388 418/472/434 -f 413/424/390 412/417/383 444/471/433 -f 399/419/385 431/454/418 432/456/420 -f 387/429/395 385/423/389 417/473/435 -f 414/431/397 413/424/390 445/474/436 -f 400/426/392 432/456/420 433/477/439 -f 388/435/401 387/429/395 419/475/437 -f 415/437/403 414/431/397 446/476/438 -f 401/480/398 433/500/439 434/481/442 -f 389/442/407 388/435/401 420/478/440 -f 415/437/403 447/479/441 448/483/444 -f 402/439/404 434/481/442 435/484/445 -f 390/448/413 389/442/407 421/482/443 -f 386/450/388 416/444/409 448/483/444 -f 403/445/410 435/484/445 436/487/447 -f 390/448/413 422/485/446 423/488/448 -f 404/451/415 436/487/447 437/489/449 -f 392/390/358 391/389/357 423/488/448 -f 466/490/450 498/560/513 499/491/451 -f 419/475/437 417/473/435 449/493/453 -f 446/476/438 445/474/436 477/495/455 -f 432/456/420 464/455/419 465/497/457 -f 419/475/437 451/494/454 452/498/458 -f 447/479/441 446/476/438 478/496/456 -f 433/500/439 465/559/457 466/490/450 -f 420/478/440 452/498/458 453/501/460 -f 448/483/444 447/479/441 479/499/459 -f 434/481/442 466/490/450 467/492/452 -f 422/485/446 421/482/443 453/501/460 -f 418/486/434 448/483/444 480/502/461 -f 435/484/445 467/492/452 468/505/464 -f 423/488/448 422/485/446 454/503/462 -f 436/487/447 468/505/464 469/507/466 -f 424/457/421 423/488/448 455/506/465 -f 437/489/449 469/507/466 470/509/468 -f 424/457/421 456/508/467 457/510/469 -f 438/386/354 470/509/468 471/511/470 -f 425/460/422 457/537/469 458/512/471 -f 439/459/423 471/511/470 472/513/472 -f 426/461/424 458/512/471 459/514/473 -f 441/464/427 440/462/425 472/513/472 -f 427/463/426 459/514/473 460/516/475 -f 441/517/427 473/633/474 474/518/476 -f 428/465/428 460/516/475 461/519/477 -f 443/469/431 442/467/429 474/518/476 -f 429/468/430 461/519/477 462/521/479 -f 443/469/431 475/520/478 476/522/480 -f 430/470/432 462/521/479 463/523/481 -f 417/473/435 418/472/434 450/524/463 -f 445/474/436 444/471/433 476/522/480 -f 501/525/482 533/594/544 534/526/483 -f 454/503/462 453/501/460 485/528/485 -f 450/504/463 480/502/461 512/530/487 -f 467/492/452 499/491/451 500/532/489 -f 454/503/462 486/529/486 487/533/490 -f 468/505/464 500/532/489 501/525/482 -f 455/506/465 487/533/490 488/534/491 -f 469/507/466 501/525/482 502/527/484 -f 456/508/467 488/534/491 489/535/492 -f 470/509/468 502/527/484 503/536/493 -f 457/537/469 489/564/492 490/538/494 -f 471/511/470 503/536/493 504/539/495 -f 458/512/471 490/538/494 491/540/496 -f 472/513/472 504/539/495 505/541/497 -f 459/514/473 491/540/496 492/542/498 -f 474/518/476 473/633/474 505/543/497 -f 460/516/475 492/542/498 493/545/500 -f 474/518/476 506/544/499 507/546/501 -f 461/519/477 493/545/500 494/547/502 -f 476/522/480 475/520/478 507/546/501 -f 462/521/479 494/547/502 495/549/504 -f 449/493/453 450/524/463 482/550/488 -f 476/522/480 508/548/503 509/552/506 -f 463/523/481 495/549/504 496/553/507 -f 451/494/454 449/493/453 481/551/505 -f 478/496/456 477/495/455 509/552/506 -f 464/455/419 496/553/507 497/556/510 -f 452/498/458 451/494/454 483/554/508 -f 479/499/459 478/496/456 510/555/509 -f 465/559/457 497/585/510 498/560/513 -f 453/501/460 452/498/458 484/557/511 -f 480/502/461 479/499/459 511/558/512 -f 489/535/492 488/534/491 520/561/514 -f 502/527/484 534/526/483 535/563/516 -f 489/564/492 521/634/515 522/565/517 -f 504/539/495 503/536/493 535/563/516 -f 490/538/494 522/565/517 523/567/519 -f 504/539/495 536/566/518 537/568/520 -f 491/540/496 523/567/519 524/569/521 -f 505/543/497 537/635/520 538/570/522 -f 492/542/498 524/569/521 525/571/523 -f 507/546/501 506/544/499 538/570/522 -f 493/545/500 525/571/523 526/573/525 -f 507/546/501 539/572/524 540/574/526 -f 494/547/502 526/573/525 527/575/527 -f 481/551/505 482/550/488 514/576/528 -f 509/552/506 508/548/503 540/574/526 -f 495/549/504 527/575/527 528/579/531 -f 483/554/508 481/551/505 513/577/529 -f 509/552/506 541/578/530 542/581/533 -f 496/553/507 528/579/531 529/582/534 -f 484/557/511 483/554/508 515/580/532 -f 511/558/512 510/555/509 542/581/533 -f 497/585/510 529/636/534 530/586/537 -f 485/528/485 484/557/511 516/583/535 -f 512/530/487 511/558/512 543/584/536 -f 498/560/513 530/586/537 531/589/540 -f 485/528/485 517/587/538 518/590/541 -f 512/530/487 544/588/539 514/591/528 -f 499/491/451 531/589/540 532/592/542 -f 486/529/486 518/590/541 519/593/543 -f 500/532/489 532/592/542 533/594/544 -f 487/533/490 519/593/543 520/561/514 diff --git a/src/main/resources/assets/hbm/models/effect/ring_roller.obj b/src/main/resources/assets/hbm/models/effect/ring_roller.obj deleted file mode 100644 index 8c4e88ce4..000000000 --- a/src/main/resources/assets/hbm/models/effect/ring_roller.obj +++ /dev/null @@ -1,2028 +0,0 @@ -# Blender v2.79 (sub 0) OBJ File: 'ring_roller.blend' -# www.blender.org -o Torus -v 1.000000 0.000000 0.000000 -v 0.966506 0.125000 0.000000 -v 0.875000 0.216506 0.000000 -v 0.750000 0.250000 0.000000 -v 0.625000 0.216506 0.000000 -v 0.533494 0.125000 0.000000 -v 0.500000 0.000000 0.000000 -v 0.533494 -0.125000 0.000000 -v 0.625000 -0.216506 0.000000 -v 0.750000 -0.250000 0.000000 -v 0.875000 -0.216506 0.000000 -v 0.966506 -0.125000 0.000000 -v 0.980785 0.000000 -0.195090 -v 0.947935 0.125000 -0.188556 -v 0.858187 0.216506 -0.170704 -v 0.735589 0.250000 -0.146318 -v 0.612991 0.216506 -0.121932 -v 0.523243 0.125000 -0.104079 -v 0.490393 0.000000 -0.097545 -v 0.523243 -0.125000 -0.104079 -v 0.612991 -0.216506 -0.121932 -v 0.735589 -0.250000 -0.146318 -v 0.858187 -0.216506 -0.170704 -v 0.947935 -0.125000 -0.188556 -v 0.923880 0.000000 -0.382683 -v 0.892935 0.125000 -0.369866 -v 0.808395 0.216506 -0.334848 -v 0.692910 0.250000 -0.287013 -v 0.577425 0.216506 -0.239177 -v 0.492884 0.125000 -0.204159 -v 0.461940 0.000000 -0.191342 -v 0.492884 -0.125000 -0.204159 -v 0.577425 -0.216506 -0.239177 -v 0.692910 -0.250000 -0.287013 -v 0.808395 -0.216506 -0.334848 -v 0.892935 -0.125000 -0.369866 -v 0.831470 0.000000 -0.555570 -v 0.803621 0.125000 -0.536962 -v 0.727536 0.216506 -0.486124 -v 0.623602 0.250000 -0.416678 -v 0.519669 0.216506 -0.347231 -v 0.443584 0.125000 -0.296393 -v 0.415735 0.000000 -0.277785 -v 0.443584 -0.125000 -0.296393 -v 0.519669 -0.216506 -0.347231 -v 0.623602 -0.250000 -0.416678 -v 0.727536 -0.216506 -0.486124 -v 0.803621 -0.125000 -0.536962 -v 0.707107 0.000000 -0.707107 -v 0.683423 0.125000 -0.683423 -v 0.618718 0.216506 -0.618719 -v 0.530330 0.250000 -0.530330 -v 0.441942 0.216506 -0.441942 -v 0.377237 0.125000 -0.377237 -v 0.353553 0.000000 -0.353553 -v 0.377237 -0.125000 -0.377237 -v 0.441942 -0.216506 -0.441942 -v 0.530330 -0.250000 -0.530330 -v 0.618718 -0.216506 -0.618719 -v 0.683423 -0.125000 -0.683423 -v 0.555570 0.000000 -0.831470 -v 0.536962 0.125000 -0.803621 -v 0.486124 0.216506 -0.727536 -v 0.416678 0.250000 -0.623602 -v 0.347231 0.216506 -0.519669 -v 0.296393 0.125000 -0.443584 -v 0.277785 0.000000 -0.415735 -v 0.296393 -0.125000 -0.443584 -v 0.347231 -0.216506 -0.519669 -v 0.416678 -0.250000 -0.623602 -v 0.486124 -0.216506 -0.727536 -v 0.536962 -0.125000 -0.803621 -v 0.382684 0.000000 -0.923879 -v 0.369866 0.125000 -0.892935 -v 0.334848 0.216506 -0.808394 -v 0.287013 0.250000 -0.692910 -v 0.239177 0.216506 -0.577425 -v 0.204159 0.125000 -0.492884 -v 0.191342 0.000000 -0.461940 -v 0.204159 -0.125000 -0.492884 -v 0.239177 -0.216506 -0.577425 -v 0.287013 -0.250000 -0.692910 -v 0.334848 -0.216506 -0.808394 -v 0.369866 -0.125000 -0.892935 -v 0.195090 0.000000 -0.980785 -v 0.188556 0.125000 -0.947935 -v 0.170704 0.216506 -0.858187 -v 0.146318 0.250000 -0.735589 -v 0.121932 0.216506 -0.612991 -v 0.104080 0.125000 -0.523243 -v 0.097545 0.000000 -0.490393 -v 0.104080 -0.125000 -0.523243 -v 0.121932 -0.216506 -0.612991 -v 0.146318 -0.250000 -0.735589 -v 0.170704 -0.216506 -0.858187 -v 0.188556 -0.125000 -0.947935 -v 0.000000 0.000000 -1.000000 -v 0.000000 0.125000 -0.966506 -v 0.000000 0.216506 -0.875000 -v 0.000000 0.250000 -0.750000 -v 0.000000 0.216506 -0.625000 -v 0.000000 0.125000 -0.533494 -v 0.000000 0.000000 -0.500000 -v 0.000000 -0.125000 -0.533494 -v 0.000000 -0.216506 -0.625000 -v 0.000000 -0.250000 -0.750000 -v 0.000000 -0.216506 -0.875000 -v 0.000000 -0.125000 -0.966506 -v -0.195090 0.000000 -0.980785 -v -0.188556 0.125000 -0.947935 -v -0.170704 0.216506 -0.858187 -v -0.146318 0.250000 -0.735589 -v -0.121931 0.216506 -0.612991 -v -0.104079 0.125000 -0.523243 -v -0.097545 0.000000 -0.490393 -v -0.104079 -0.125000 -0.523243 -v -0.121931 -0.216506 -0.612991 -v -0.146318 -0.250000 -0.735589 -v -0.170704 -0.216506 -0.858187 -v -0.188556 -0.125000 -0.947935 -v -0.382684 0.000000 -0.923880 -v -0.369866 0.125000 -0.892935 -v -0.334848 0.216506 -0.808395 -v -0.287013 0.250000 -0.692910 -v -0.239177 0.216506 -0.577425 -v -0.204159 0.125000 -0.492884 -v -0.191342 0.000000 -0.461940 -v -0.204159 -0.125000 -0.492884 -v -0.239177 -0.216506 -0.577425 -v -0.287013 -0.250000 -0.692910 -v -0.334848 -0.216506 -0.808395 -v -0.369866 -0.125000 -0.892935 -v -0.555570 0.000000 -0.831470 -v -0.536962 0.125000 -0.803621 -v -0.486124 0.216506 -0.727536 -v -0.416677 0.250000 -0.623602 -v -0.347231 0.216506 -0.519669 -v -0.296393 0.125000 -0.443584 -v -0.277785 0.000000 -0.415735 -v -0.296393 -0.125000 -0.443584 -v -0.347231 -0.216506 -0.519669 -v -0.416677 -0.250000 -0.623602 -v -0.486124 -0.216506 -0.727536 -v -0.536962 -0.125000 -0.803621 -v -0.707107 0.000000 -0.707107 -v -0.683423 0.125000 -0.683423 -v -0.618719 0.216506 -0.618718 -v -0.530330 0.250000 -0.530330 -v -0.441942 0.216506 -0.441942 -v -0.377237 0.125000 -0.377237 -v -0.353553 0.000000 -0.353553 -v -0.377237 -0.125000 -0.377237 -v -0.441942 -0.216506 -0.441942 -v -0.530330 -0.250000 -0.530330 -v -0.618719 -0.216506 -0.618718 -v -0.683423 -0.125000 -0.683423 -v -0.831470 0.000000 -0.555570 -v -0.803621 0.125000 -0.536962 -v -0.727536 0.216506 -0.486124 -v -0.623602 0.250000 -0.416678 -v -0.519668 0.216506 -0.347231 -v -0.443584 0.125000 -0.296393 -v -0.415735 0.000000 -0.277785 -v -0.443584 -0.125000 -0.296393 -v -0.519668 -0.216506 -0.347231 -v -0.623602 -0.250000 -0.416678 -v -0.727536 -0.216506 -0.486124 -v -0.803621 -0.125000 -0.536962 -v -0.923880 0.000000 -0.382683 -v -0.892935 0.125000 -0.369866 -v -0.808395 0.216506 -0.334848 -v -0.692910 0.250000 -0.287013 -v -0.577425 0.216506 -0.239177 -v -0.492884 0.125000 -0.204159 -v -0.461940 0.000000 -0.191342 -v -0.492884 -0.125000 -0.204159 -v -0.577425 -0.216506 -0.239177 -v -0.692910 -0.250000 -0.287013 -v -0.808395 -0.216506 -0.334848 -v -0.892935 -0.125000 -0.369866 -v -0.980785 0.000000 -0.195090 -v -0.947935 0.125000 -0.188556 -v -0.858187 0.216506 -0.170704 -v -0.735589 0.250000 -0.146318 -v -0.612991 0.216506 -0.121931 -v -0.523243 0.125000 -0.104079 -v -0.490393 0.000000 -0.097545 -v -0.523243 -0.125000 -0.104079 -v -0.612991 -0.216506 -0.121931 -v -0.735589 -0.250000 -0.146318 -v -0.858187 -0.216506 -0.170704 -v -0.947935 -0.125000 -0.188556 -v -1.000000 0.000000 -0.000000 -v -0.966506 0.125000 -0.000000 -v -0.875000 0.216506 -0.000000 -v -0.750000 0.250000 -0.000000 -v -0.625000 0.216506 -0.000000 -v -0.533494 0.125000 -0.000000 -v -0.500000 0.000000 -0.000000 -v -0.533494 -0.125000 -0.000000 -v -0.625000 -0.216506 -0.000000 -v -0.750000 -0.250000 -0.000000 -v -0.875000 -0.216506 -0.000000 -v -0.966506 -0.125000 -0.000000 -v -0.980785 0.000000 0.195090 -v -0.947935 0.125000 0.188556 -v -0.858187 0.216506 0.170704 -v -0.735589 0.250000 0.146318 -v -0.612991 0.216506 0.121931 -v -0.523243 0.125000 0.104079 -v -0.490393 0.000000 0.097545 -v -0.523243 -0.125000 0.104079 -v -0.612991 -0.216506 0.121931 -v -0.735589 -0.250000 0.146318 -v -0.858187 -0.216506 0.170704 -v -0.947935 -0.125000 0.188556 -v -0.923880 0.000000 0.382683 -v -0.892936 0.125000 0.369866 -v -0.808395 0.216506 0.334848 -v -0.692910 0.250000 0.287012 -v -0.577425 0.216506 0.239177 -v -0.492884 0.125000 0.204159 -v -0.461940 0.000000 0.191342 -v -0.492884 -0.125000 0.204159 -v -0.577425 -0.216506 0.239177 -v -0.692910 -0.250000 0.287012 -v -0.808395 -0.216506 0.334848 -v -0.892936 -0.125000 0.369866 -v -0.831470 0.000000 0.555570 -v -0.803621 0.125000 0.536962 -v -0.727536 0.216506 0.486124 -v -0.623602 0.250000 0.416678 -v -0.519668 0.216506 0.347231 -v -0.443584 0.125000 0.296393 -v -0.415735 0.000000 0.277785 -v -0.443584 -0.125000 0.296393 -v -0.519668 -0.216506 0.347231 -v -0.623602 -0.250000 0.416678 -v -0.727536 -0.216506 0.486124 -v -0.803621 -0.125000 0.536962 -v -0.707107 0.000000 0.707107 -v -0.683423 0.125000 0.683423 -v -0.618719 0.216506 0.618718 -v -0.530330 0.250000 0.530330 -v -0.441942 0.216506 0.441942 -v -0.377237 0.125000 0.377237 -v -0.353553 0.000000 0.353553 -v -0.377237 -0.125000 0.377237 -v -0.441942 -0.216506 0.441942 -v -0.530330 -0.250000 0.530330 -v -0.618719 -0.216506 0.618718 -v -0.683423 -0.125000 0.683423 -v -0.555571 0.000000 0.831469 -v -0.536963 0.125000 0.803620 -v -0.486124 0.216506 0.727536 -v -0.416678 0.250000 0.623602 -v -0.347232 0.216506 0.519668 -v -0.296393 0.125000 0.443584 -v -0.277785 0.000000 0.415735 -v -0.296393 -0.125000 0.443584 -v -0.347232 -0.216506 0.519668 -v -0.416678 -0.250000 0.623602 -v -0.486124 -0.216506 0.727536 -v -0.536963 -0.125000 0.803620 -v -0.382684 0.000000 0.923880 -v -0.369866 0.125000 0.892935 -v -0.334848 0.216506 0.808395 -v -0.287013 0.250000 0.692910 -v -0.239177 0.216506 0.577425 -v -0.204159 0.125000 0.492884 -v -0.191342 0.000000 0.461940 -v -0.204159 -0.125000 0.492884 -v -0.239177 -0.216506 0.577425 -v -0.287013 -0.250000 0.692910 -v -0.334848 -0.216506 0.808395 -v -0.369866 -0.125000 0.892935 -v -0.195091 0.000000 0.980785 -v -0.188557 0.125000 0.947935 -v -0.170704 0.216506 0.858187 -v -0.146318 0.250000 0.735589 -v -0.121932 0.216506 0.612991 -v -0.104080 0.125000 0.523243 -v -0.097545 0.000000 0.490393 -v -0.104080 -0.125000 0.523243 -v -0.121932 -0.216506 0.612991 -v -0.146318 -0.250000 0.735589 -v -0.170704 -0.216506 0.858187 -v -0.188557 -0.125000 0.947935 -v 0.000000 0.000000 1.000000 -v 0.000000 0.125000 0.966506 -v 0.000000 0.216506 0.875000 -v 0.000000 0.250000 0.750000 -v 0.000000 0.216506 0.625000 -v 0.000000 0.125000 0.533494 -v 0.000000 0.000000 0.500000 -v 0.000000 -0.125000 0.533494 -v 0.000000 -0.216506 0.625000 -v 0.000000 -0.250000 0.750000 -v 0.000000 -0.216506 0.875000 -v 0.000000 -0.125000 0.966506 -v 0.195090 0.000000 0.980785 -v 0.188556 0.125000 0.947935 -v 0.170704 0.216506 0.858187 -v 0.146318 0.250000 0.735589 -v 0.121931 0.216506 0.612991 -v 0.104079 0.125000 0.523243 -v 0.097545 0.000000 0.490393 -v 0.104079 -0.125000 0.523243 -v 0.121931 -0.216506 0.612991 -v 0.146318 -0.250000 0.735589 -v 0.170704 -0.216506 0.858187 -v 0.188556 -0.125000 0.947935 -v 0.382684 0.000000 0.923879 -v 0.369866 0.125000 0.892935 -v 0.334848 0.216506 0.808394 -v 0.287013 0.250000 0.692910 -v 0.239177 0.216506 0.577425 -v 0.204159 0.125000 0.492884 -v 0.191342 0.000000 0.461940 -v 0.204159 -0.125000 0.492884 -v 0.239177 -0.216506 0.577425 -v 0.287013 -0.250000 0.692910 -v 0.334848 -0.216506 0.808394 -v 0.369866 -0.125000 0.892935 -v 0.555570 0.000000 0.831470 -v 0.536962 0.125000 0.803621 -v 0.486124 0.216506 0.727536 -v 0.416678 0.250000 0.623602 -v 0.347231 0.216506 0.519669 -v 0.296393 0.125000 0.443584 -v 0.277785 0.000000 0.415735 -v 0.296393 -0.125000 0.443584 -v 0.347231 -0.216506 0.519669 -v 0.416678 -0.250000 0.623602 -v 0.486124 -0.216506 0.727536 -v 0.536962 -0.125000 0.803621 -v 0.707106 0.000000 0.707107 -v 0.683423 0.125000 0.683424 -v 0.618718 0.216506 0.618719 -v 0.530330 0.250000 0.530330 -v 0.441941 0.216506 0.441942 -v 0.377237 0.125000 0.377237 -v 0.353553 0.000000 0.353554 -v 0.377237 -0.125000 0.377237 -v 0.441941 -0.216506 0.441942 -v 0.530330 -0.250000 0.530330 -v 0.618718 -0.216506 0.618719 -v 0.683423 -0.125000 0.683424 -v 0.831470 0.000000 0.555570 -v 0.803621 0.125000 0.536962 -v 0.727536 0.216506 0.486124 -v 0.623602 0.250000 0.416678 -v 0.519669 0.216506 0.347231 -v 0.443584 0.125000 0.296393 -v 0.415735 0.000000 0.277785 -v 0.443584 -0.125000 0.296393 -v 0.519669 -0.216506 0.347231 -v 0.623602 -0.250000 0.416678 -v 0.727536 -0.216506 0.486124 -v 0.803621 -0.125000 0.536962 -v 0.923879 0.000000 0.382684 -v 0.892935 0.125000 0.369866 -v 0.808394 0.216506 0.334848 -v 0.692910 0.250000 0.287013 -v 0.577425 0.216506 0.239177 -v 0.492884 0.125000 0.204159 -v 0.461940 0.000000 0.191342 -v 0.492884 -0.125000 0.204159 -v 0.577425 -0.216506 0.239177 -v 0.692910 -0.250000 0.287013 -v 0.808394 -0.216506 0.334848 -v 0.892935 -0.125000 0.369866 -v 0.980785 0.000000 0.195090 -v 0.947935 0.125000 0.188556 -v 0.858187 0.216506 0.170704 -v 0.735589 0.250000 0.146318 -v 0.612991 0.216506 0.121931 -v 0.523243 0.125000 0.104079 -v 0.490393 0.000000 0.097545 -v 0.523243 -0.125000 0.104079 -v 0.612991 -0.216506 0.121931 -v 0.735589 -0.250000 0.146318 -v 0.858187 -0.216506 0.170704 -v 0.947935 -0.125000 0.188556 -vt 0.250000 0.500000 -vt 0.000000 0.666667 -vt 0.000000 0.500000 -vt 0.250000 0.666667 -vt 0.000000 0.833333 -vt 0.250000 0.833333 -vt 0.000000 1.000000 -vt 0.250000 1.000000 -vt 0.000000 1.166667 -vt 0.250000 1.166667 -vt 0.000000 1.333333 -vt 0.250000 1.333333 -vt 0.000000 1.500000 -vt 0.250000 -0.500000 -vt 0.000000 -0.333333 -vt 0.000000 -0.500000 -vt 0.250000 -0.333333 -vt 0.000000 -0.166667 -vt 0.250000 0.000000 -vt 0.000000 0.000000 -vt 0.250000 0.166667 -vt 0.000000 0.166667 -vt 0.000000 0.333333 -vt 0.250000 0.333333 -vt 0.500000 0.500000 -vt 0.500000 0.666667 -vt 0.500000 1.000000 -vt 0.500000 1.166667 -vt 0.500000 1.333333 -vt 0.250000 1.500000 -vt 0.500000 -0.500000 -vt 0.500000 -0.166667 -vt 0.250000 -0.166667 -vt 0.500000 0.000000 -vt 0.500000 0.166667 -vt 0.500000 0.333333 -vt 0.750000 0.500000 -vt 0.750000 0.666667 -vt 0.500000 0.833333 -vt 0.750000 1.000000 -vt 0.750000 1.166667 -vt 0.750000 1.333333 -vt 0.500000 1.500000 -vt 0.750000 -0.500000 -vt 0.500000 -0.333333 -vt 0.750000 -0.166667 -vt 0.750000 0.000000 -vt 0.750000 0.333333 -vt 1.000000 0.666667 -vt 0.750000 0.833333 -vt 1.000000 1.000000 -vt 1.000000 1.333333 -vt 0.750000 1.500000 -vt 1.000000 -0.500000 -vt 0.750000 -0.333333 -vt 1.000000 -0.166667 -vt 1.000000 0.000000 -vt 0.750000 0.166667 -vt 1.000000 0.166667 -vt 1.000000 0.333333 -vt 0.000000 0.500000 -vt 0.250000 0.666667 -vt 0.000000 0.666667 -vt 0.000000 0.833333 -vt 0.250000 1.000000 -vt 0.000000 1.000000 -vt 0.250000 1.166667 -vt 0.000000 1.166667 -vt 0.000000 1.333333 -vt 0.250000 1.333333 -vt 0.000000 1.500000 -vt 0.250000 -0.500000 -vt 0.000000 -0.333333 -vt 0.000000 -0.500000 -vt 0.250000 -0.166667 -vt 0.000000 -0.166667 -vt 0.000000 0.000000 -vt 0.250000 0.000000 -vt 0.000000 0.166667 -vt 0.250000 0.166667 -vt 0.000000 0.333333 -vt 0.250000 0.333333 -vt 0.500000 0.500000 -vt 0.250000 0.500000 -vt 0.500000 0.833333 -vt 0.250000 0.833333 -vt 0.500000 1.000000 -vt 0.500000 1.166667 -vt 0.500000 1.333333 -vt 0.250000 1.500000 -vt 0.500000 -0.500000 -vt 0.250000 -0.333333 -vt 0.500000 -0.166667 -vt 0.500000 0.166667 -vt 0.500000 0.333333 -vt 0.750000 0.500000 -vt 0.500000 0.666667 -vt 0.750000 0.833333 -vt 0.750000 1.000000 -vt 0.750000 1.166667 -vt 0.750000 1.500000 -vt 0.500000 1.500000 -vt 0.750000 -0.500000 -vt 0.500000 -0.333333 -vt 0.750000 -0.166667 -vt 0.500000 0.000000 -vt 0.750000 0.000000 -vt 0.750000 0.166667 -vt 0.750000 0.333333 -vt 1.000000 0.500000 -vt 0.750000 0.666667 -vt 1.000000 0.666667 -vt 1.000000 1.000000 -vt 1.000000 1.166667 -vt 0.750000 1.333333 -vt 1.000000 1.333333 -vt 1.000000 -0.500000 -vt 0.750000 -0.333333 -vt 1.000000 -0.166667 -vt 1.000000 0.000000 -vt 1.000000 0.333333 -vt 0.250000 0.500000 -vt 0.000000 0.666667 -vt 0.000000 0.500000 -vt 0.250000 0.666667 -vt 0.000000 0.833333 -vt 0.250000 0.833333 -vt 0.000000 1.000000 -vt 0.250000 1.000000 -vt 0.000000 1.166667 -vt 0.250000 1.166667 -vt 0.000000 1.333333 -vt 0.250000 1.333333 -vt 0.000000 1.500000 -vt 0.250000 -0.500000 -vt 0.000000 -0.333333 -vt 0.000000 -0.500000 -vt 0.250000 -0.333333 -vt 0.000000 -0.166667 -vt 0.250000 0.000000 -vt 0.000000 0.000000 -vt 0.250000 0.166667 -vt 0.000000 0.166667 -vt 0.000000 0.333333 -vt 0.500000 0.500000 -vt 0.500000 0.833333 -vt 0.500000 1.166667 -vt 0.500000 1.333333 -vt 0.250000 1.500000 -vt 0.500000 -0.500000 -vt 0.500000 -0.166667 -vt 0.250000 -0.166667 -vt 0.500000 0.166667 -vt 0.250000 0.333333 -vt 0.500000 0.333333 -vt 0.750000 0.500000 -vt 0.500000 0.666667 -vt 0.750000 0.666667 -vt 0.750000 0.833333 -vt 0.500000 1.000000 -vt 0.750000 1.166667 -vt 0.750000 1.333333 -vt 0.500000 1.500000 -vt 0.750000 -0.333333 -vt 0.500000 -0.333333 -vt 0.750000 -0.166667 -vt 0.500000 0.000000 -vt 0.750000 0.166667 -vt 0.750000 0.333333 -vt 1.000000 0.500000 -vt 1.000000 0.666667 -vt 1.000000 0.833333 -vt 0.750000 1.000000 -vt 1.000000 1.166667 -vt 1.000000 1.333333 -vt 0.750000 1.500000 -vt 1.000000 -0.500000 -vt 0.750000 -0.500000 -vt 1.000000 -0.333333 -vt 1.000000 -0.166667 -vt 0.750000 0.000000 -vt 1.000000 0.166667 -vt 1.000000 0.333333 -vt 0.000000 0.500000 -vt 0.250000 0.666667 -vt 0.000000 0.666667 -vt 0.000000 0.833333 -vt 0.250000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 1.166667 -vt 0.250000 1.166667 -vt 0.000000 1.333333 -vt 0.250000 1.333333 -vt 0.000000 1.500000 -vt 0.250000 -0.500000 -vt 0.000000 -0.333333 -vt 0.000000 -0.500000 -vt 0.250000 -0.333333 -vt 0.000000 -0.166667 -vt 0.250000 -0.166667 -vt 0.000000 0.000000 -vt 0.250000 0.000000 -vt 0.000000 0.166667 -vt 0.250000 0.166667 -vt 0.000000 0.333333 -vt 0.250000 0.333333 -vt 0.250000 0.500000 -vt 0.500000 0.666667 -vt 0.250000 0.833333 -vt 0.500000 0.833333 -vt 0.500000 1.000000 -vt 0.500000 1.333333 -vt 0.500000 1.500000 -vt 0.250000 1.500000 -vt 0.500000 -0.500000 -vt 0.500000 -0.333333 -vt 0.500000 -0.166667 -vt 0.500000 0.166667 -vt 0.500000 0.333333 -vt 0.500000 0.500000 -vt 0.750000 0.666667 -vt 0.750000 1.000000 -vt 0.500000 1.166667 -vt 0.750000 1.333333 -vt 0.750000 -0.500000 -vt 0.750000 -0.333333 -vt 0.750000 0.000000 -vt 0.500000 0.000000 -vt 0.750000 0.166667 -vt 0.750000 0.333333 -vt 0.750000 0.500000 -vt 1.000000 0.666667 -vt 0.750000 0.833333 -vt 1.000000 0.833333 -vt 1.000000 1.000000 -vt 0.750000 1.166667 -vt 1.000000 1.166667 -vt 1.000000 1.333333 -vt 0.750000 1.500000 -vt 1.000000 -0.333333 -vt 0.750000 -0.166667 -vt 1.000000 0.000000 -vt 1.000000 0.166667 -vt 1.000000 0.333333 -vt 0.250000 0.500000 -vt 0.000000 0.666667 -vt 0.000000 0.500000 -vt 0.250000 0.666667 -vt 0.000000 0.833333 -vt 0.250000 0.833333 -vt 0.000000 1.000000 -vt 0.250000 1.000000 -vt 0.000000 1.166667 -vt 0.250000 1.166667 -vt 0.000000 1.333333 -vt 0.250000 1.333333 -vt 0.000000 1.500000 -vt 0.250000 -0.500000 -vt 0.000000 -0.333333 -vt 0.000000 -0.500000 -vt 0.250000 -0.333333 -vt 0.000000 -0.166667 -vt 0.250000 -0.166667 -vt 0.000000 0.000000 -vt 0.250000 0.000000 -vt 0.000000 0.166667 -vt 0.250000 0.166667 -vt 0.000000 0.333333 -vt 0.500000 0.500000 -vt 0.500000 0.666667 -vt 0.500000 0.833333 -vt 0.500000 1.000000 -vt 0.500000 1.166667 -vt 0.500000 1.500000 -vt 0.250000 1.500000 -vt 0.500000 -0.500000 -vt 0.500000 -0.333333 -vt 0.500000 -0.166667 -vt 0.500000 0.166667 -vt 0.500000 0.333333 -vt 0.250000 0.333333 -vt 0.750000 0.500000 -vt 0.750000 0.833333 -vt 0.750000 1.000000 -vt 0.750000 1.166667 -vt 0.500000 1.333333 -vt 0.750000 1.333333 -vt 0.750000 -0.500000 -vt 0.750000 -0.333333 -vt 0.750000 -0.166667 -vt 0.500000 0.000000 -vt 0.750000 0.166667 -vt 0.750000 0.333333 -vt 1.000000 0.500000 -vt 0.750000 0.666667 -vt 1.000000 0.666667 -vt 1.000000 0.833333 -vt 1.000000 1.000000 -vt 1.000000 1.166667 -vt 1.000000 1.333333 -vt 0.750000 1.500000 -vt 1.000000 -0.333333 -vt 1.000000 -0.166667 -vt 0.750000 0.000000 -vt 1.000000 0.166667 -vt 0.250000 0.500000 -vt 0.000000 0.666667 -vt 0.000000 0.500000 -vt 0.250000 0.666667 -vt 0.000000 0.833333 -vt 0.250000 0.833333 -vt 0.000000 1.000000 -vt 0.250000 1.166667 -vt 0.000000 1.166667 -vt 0.000000 1.333333 -vt 0.250000 1.333333 -vt 0.000000 1.500000 -vt 0.250000 -0.500000 -vt 0.000000 -0.333333 -vt 0.000000 -0.500000 -vt 0.250000 -0.166667 -vt 0.000000 -0.166667 -vt 0.000000 0.000000 -vt 0.250000 0.166667 -vt 0.000000 0.166667 -vt 0.000000 0.333333 -vt 0.250000 0.333333 -vt 0.500000 0.666667 -vt 0.500000 0.833333 -vt 0.250000 1.000000 -vt 0.500000 1.166667 -vt 0.500000 1.333333 -vt 0.250000 1.500000 -vt 0.500000 -0.500000 -vt 0.250000 -0.333333 -vt 0.500000 -0.333333 -vt 0.500000 -0.166667 -vt 0.250000 0.000000 -vt 0.500000 0.166667 -vt 0.500000 0.333333 -vt 0.750000 0.500000 -vt 0.500000 0.500000 -vt 0.750000 0.666667 -vt 0.750000 1.000000 -vt 0.500000 1.000000 -vt 0.750000 1.166667 -vt 0.750000 1.333333 -vt 0.500000 1.500000 -vt 0.750000 -0.500000 -vt 0.750000 -0.166667 -vt 0.500000 0.000000 -vt 0.750000 0.000000 -vt 0.750000 0.333333 -vt 1.000000 0.500000 -vt 1.000000 0.666667 -vt 0.750000 0.833333 -vt 1.000000 0.833333 -vt 1.000000 1.000000 -vt 1.000000 1.166667 -vt 1.000000 1.333333 -vt 0.750000 1.500000 -vt 1.000000 -0.500000 -vt 0.750000 -0.333333 -vt 1.000000 -0.166667 -vt 1.000000 0.000000 -vt 0.750000 0.166667 -vt 1.000000 0.166667 -vt 1.000000 0.333333 -vt 0.250000 0.500000 -vt 0.000000 0.666667 -vt 0.000000 0.500000 -vt 0.250000 0.666667 -vt 0.000000 0.833333 -vt 0.250000 0.833333 -vt 0.000000 1.000000 -vt 0.250000 1.000000 -vt 0.000000 1.166667 -vt 0.250000 1.166667 -vt 0.000000 1.333333 -vt 0.250000 1.333333 -vt 0.000000 1.500000 -vt 0.250000 -0.500000 -vt 0.000000 -0.333333 -vt 0.000000 -0.500000 -vt 0.250000 -0.333333 -vt 0.000000 -0.166667 -vt 0.250000 -0.166667 -vt 0.000000 0.000000 -vt 0.250000 0.000000 -vt 0.000000 0.166667 -vt 0.250000 0.333333 -vt 0.000000 0.333333 -vt 0.500000 0.500000 -vt 0.500000 0.666667 -vt 0.500000 0.833333 -vt 0.500000 1.166667 -vt 0.500000 1.333333 -vt 0.250000 1.500000 -vt 0.500000 -0.500000 -vt 0.500000 -0.333333 -vt 0.500000 -0.166667 -vt 0.500000 0.000000 -vt 0.250000 0.166667 -vt 0.500000 0.333333 -vt 0.750000 0.500000 -vt 0.750000 0.666667 -vt 0.750000 1.000000 -vt 0.500000 1.000000 -vt 0.750000 1.333333 -vt 0.500000 1.500000 -vt 0.750000 -0.500000 -vt 0.750000 -0.333333 -vt 0.750000 -0.166667 -vt 0.750000 0.000000 -vt 0.500000 0.166667 -vt 0.750000 0.333333 -vt 1.000000 0.500000 -vt 1.000000 0.666667 -vt 0.750000 0.833333 -vt 1.000000 0.833333 -vt 1.000000 1.166667 -vt 0.750000 1.166667 -vt 1.000000 1.333333 -vt 0.750000 1.500000 -vt 1.000000 -0.500000 -vt 1.000000 -0.333333 -vt 1.000000 -0.166667 -vt 1.000000 0.000000 -vt 0.750000 0.166667 -vt 1.000000 0.166667 -vt 0.250000 0.500000 -vt 0.000000 0.666667 -vt 0.000000 0.500000 -vt 0.250000 0.666667 -vt 0.000000 0.833333 -vt 0.250000 0.833333 -vt 0.000000 1.000000 -vt 0.250000 1.000000 -vt 0.000000 1.166667 -vt 0.250000 1.166667 -vt 0.000000 1.333333 -vt 0.250000 1.333333 -vt 0.000000 1.500000 -vt 0.250000 -0.500000 -vt 0.000000 -0.333333 -vt 0.000000 -0.500000 -vt 0.250000 -0.333333 -vt 0.000000 -0.166667 -vt 0.250000 -0.166667 -vt 0.000000 0.000000 -vt 0.250000 0.166667 -vt 0.000000 0.166667 -vt 0.000000 0.333333 -vt 0.250000 0.333333 -vt 0.500000 0.500000 -vt 0.500000 0.666667 -vt 0.500000 1.000000 -vt 0.500000 1.333333 -vt 0.500000 1.500000 -vt 0.250000 1.500000 -vt 0.500000 -0.500000 -vt 0.500000 -0.333333 -vt 0.500000 0.000000 -vt 0.250000 0.000000 -vt 0.500000 0.166667 -vt 0.500000 0.333333 -vt 0.750000 0.500000 -vt 0.750000 0.666667 -vt 0.500000 0.833333 -vt 0.750000 0.833333 -vt 0.750000 1.000000 -vt 0.500000 1.166667 -vt 0.750000 1.166667 -vt 0.750000 1.333333 -vt 0.750000 -0.500000 -vt 0.750000 -0.166667 -vt 0.500000 -0.166667 -vt 0.750000 0.000000 -vt 0.750000 0.166667 -vt 0.750000 0.333333 -vt 1.000000 0.666667 -vt 1.000000 1.000000 -vt 1.000000 1.166667 -vt 1.000000 1.333333 -vt 0.750000 1.500000 -vt 1.000000 -0.333333 -vt 0.750000 -0.333333 -vt 1.000000 0.000000 -vt 1.000000 0.166667 -vt 1.000000 0.333333 -vt 1.000000 0.500000 -vt 1.000000 0.833333 -vt 1.000000 1.166667 -vt 1.000000 1.500000 -vt 1.000000 -0.333333 -vt 1.000000 0.833333 -vt 1.000000 1.500000 -vt 1.000000 -0.333333 -vt 1.000000 0.166667 -vt 1.000000 1.000000 -vt 1.000000 1.500000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 1.000000 1.500000 -vt 1.000000 -0.500000 -vt 1.000000 -0.166667 -vt 1.000000 1.500000 -vt 1.000000 -0.500000 -vt 1.000000 0.000000 -vt 1.000000 0.333333 -vt 1.000000 1.500000 -vt 1.000000 -0.333333 -vt 1.000000 1.000000 -vt 1.000000 1.500000 -vt 1.000000 0.333333 -vt 1.000000 0.500000 -vt 1.000000 0.833333 -vt 1.000000 1.500000 -vt 1.000000 -0.500000 -vt 1.000000 -0.166667 -vn 0.9808 0.0000 -0.1951 -vn 0.8699 0.4931 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.8532 0.4931 -0.1697 -vn 0.5119 0.8590 0.0000 -vn 0.5021 0.8590 -0.0999 -vn 0.0161 0.9998 0.0000 -vn 0.0158 0.9998 -0.0031 -vn -0.4877 0.8730 0.0000 -vn -0.4783 0.8730 0.0951 -vn -0.8618 0.5071 0.0000 -vn -0.8453 0.5071 0.1681 -vn -1.0000 0.0000 0.0000 -vn -0.9808 0.0000 0.1951 -vn -0.8618 -0.5071 0.0000 -vn -0.8453 -0.5071 0.1681 -vn -0.4877 -0.8730 0.0000 -vn 0.0158 -0.9998 -0.0031 -vn 0.0161 -0.9998 0.0000 -vn 0.5021 -0.8590 -0.0999 -vn 0.5119 -0.8590 0.0000 -vn 0.8699 -0.4931 0.0000 -vn 0.8532 -0.4931 -0.1697 -vn 0.9239 0.0000 -0.3827 -vn 0.8037 0.4931 -0.3329 -vn 0.0149 0.9998 -0.0062 -vn -0.4505 0.8730 0.1866 -vn -0.7963 0.5071 0.3298 -vn -0.9239 0.0000 0.3827 -vn -0.4505 -0.8730 0.1866 -vn -0.4783 -0.8730 0.0951 -vn 0.0149 -0.9998 -0.0062 -vn 0.4729 -0.8590 -0.1959 -vn 0.8037 -0.4931 -0.3329 -vn 0.8314 0.0000 -0.5556 -vn 0.7233 0.4931 -0.4833 -vn 0.4729 0.8590 -0.1959 -vn 0.0134 0.9998 -0.0090 -vn -0.4055 0.8730 0.2709 -vn -0.7166 0.5071 0.4788 -vn -0.8314 0.0000 0.5556 -vn -0.7963 -0.5071 0.3298 -vn -0.4055 -0.8730 0.2709 -vn 0.0134 -0.9998 -0.0090 -vn 0.7233 -0.4931 -0.4833 -vn 0.6151 0.4931 -0.6151 -vn 0.4256 0.8590 -0.2844 -vn 0.0114 0.9998 -0.0114 -vn -0.6094 0.5071 0.6094 -vn -0.7071 0.0000 0.7071 -vn -0.7166 -0.5071 0.4788 -vn -0.3448 -0.8730 0.3448 -vn 0.0114 -0.9998 -0.0114 -vn 0.4256 -0.8590 -0.2844 -vn 0.3620 -0.8590 -0.3620 -vn 0.6151 -0.4931 -0.6151 -vn 0.7071 0.0000 -0.7071 -vn 0.4833 0.4931 -0.7233 -vn 0.3620 0.8590 -0.3620 -vn 0.0090 0.9998 -0.0134 -vn -0.2709 0.8730 0.4055 -vn -0.3448 0.8730 0.3448 -vn -0.4788 0.5071 0.7166 -vn -0.5556 0.0000 0.8314 -vn -0.6094 -0.5071 0.6094 -vn -0.2709 -0.8730 0.4055 -vn 0.0090 -0.9998 -0.0134 -vn 0.2844 -0.8590 -0.4256 -vn 0.4833 -0.4931 -0.7233 -vn 0.3827 0.0000 -0.9239 -vn 0.5556 0.0000 -0.8314 -vn 0.1959 0.8590 -0.4729 -vn 0.2844 0.8590 -0.4256 -vn 0.0062 0.9998 -0.0149 -vn -0.1866 0.8730 0.4505 -vn -0.3298 0.5071 0.7963 -vn -0.3827 0.0000 0.9239 -vn -0.4788 -0.5071 0.7166 -vn -0.1866 -0.8730 0.4505 -vn 0.1959 -0.8590 -0.4729 -vn 0.3329 -0.4931 -0.8037 -vn 0.1951 0.0000 -0.9808 -vn 0.3329 0.4931 -0.8037 -vn 0.0999 0.8590 -0.5021 -vn 0.0031 0.9998 -0.0158 -vn -0.0951 0.8730 0.4783 -vn -0.1951 0.0000 0.9808 -vn -0.3298 -0.5071 0.7963 -vn -0.0951 -0.8730 0.4783 -vn 0.0062 -0.9998 -0.0149 -vn 0.0031 -0.9998 -0.0158 -vn 0.0999 -0.8590 -0.5021 -vn 0.1697 -0.4931 -0.8532 -vn 0.0000 0.0000 -1.0000 -vn 0.1697 0.4931 -0.8532 -vn 0.0000 0.4931 -0.8699 -vn 0.0000 0.9998 -0.0161 -vn 0.0000 0.8730 0.4877 -vn -0.1681 0.5071 0.8453 -vn 0.0000 0.5071 0.8618 -vn 0.0000 0.0000 1.0000 -vn -0.1681 -0.5071 0.8453 -vn 0.0000 -0.8730 0.4877 -vn 0.0000 -0.9998 -0.0161 -vn 0.0000 -0.4931 -0.8699 -vn -0.1951 0.0000 -0.9808 -vn -0.1697 0.4931 -0.8532 -vn 0.0000 0.8590 -0.5119 -vn -0.0999 0.8590 -0.5021 -vn -0.0031 0.9998 -0.0158 -vn 0.0951 0.8730 0.4783 -vn 0.1681 0.5071 0.8453 -vn 0.1951 0.0000 0.9808 -vn 0.0000 -0.5071 0.8618 -vn 0.1681 -0.5071 0.8453 -vn -0.0031 -0.9998 -0.0158 -vn -0.0999 -0.8590 -0.5021 -vn 0.0000 -0.8590 -0.5119 -vn -0.3827 0.0000 -0.9239 -vn -0.1959 0.8590 -0.4729 -vn 0.1866 0.8730 0.4505 -vn 0.3298 0.5071 0.7963 -vn 0.3827 0.0000 0.9239 -vn 0.1866 -0.8730 0.4505 -vn 0.0951 -0.8730 0.4783 -vn -0.1959 -0.8590 -0.4729 -vn -0.1697 -0.4931 -0.8532 -vn -0.3329 -0.4931 -0.8037 -vn -0.5556 0.0000 -0.8314 -vn -0.3329 0.4931 -0.8037 -vn -0.4833 0.4931 -0.7233 -vn -0.2844 0.8590 -0.4256 -vn -0.0062 0.9998 -0.0149 -vn 0.2709 0.8730 0.4055 -vn 0.4788 0.5071 0.7166 -vn 0.4788 -0.5071 0.7166 -vn 0.3298 -0.5071 0.7963 -vn 0.2709 -0.8730 0.4055 -vn -0.0062 -0.9998 -0.0149 -vn -0.2844 -0.8590 -0.4256 -vn -0.4833 -0.4931 -0.7233 -vn -0.7071 0.0000 -0.7071 -vn -0.6151 0.4931 -0.6151 -vn -0.3620 0.8590 -0.3620 -vn -0.0090 0.9998 -0.0134 -vn 0.3448 0.8730 0.3448 -vn 0.6094 0.5071 0.6094 -vn 0.5556 0.0000 0.8314 -vn 0.7071 0.0000 0.7071 -vn 0.6094 -0.5071 0.6094 -vn 0.3448 -0.8730 0.3448 -vn -0.0090 -0.9998 -0.0134 -vn -0.3620 -0.8590 -0.3620 -vn -0.6151 -0.4931 -0.6151 -vn -0.7233 0.4931 -0.4833 -vn -0.0134 0.9998 -0.0090 -vn -0.0114 0.9998 -0.0114 -vn 0.4055 0.8730 0.2709 -vn 0.7166 0.5071 0.4788 -vn 0.8314 0.0000 0.5556 -vn 0.7166 -0.5071 0.4788 -vn 0.4055 -0.8730 0.2709 -vn -0.0114 -0.9998 -0.0114 -vn -0.0134 -0.9998 -0.0090 -vn -0.4256 -0.8590 -0.2844 -vn -0.7233 -0.4931 -0.4833 -vn -0.8314 0.0000 -0.5556 -vn -0.8037 0.4931 -0.3329 -vn -0.4256 0.8590 -0.2844 -vn -0.4729 0.8590 -0.1959 -vn -0.0149 0.9998 -0.0062 -vn 0.7963 0.5071 0.3298 -vn 0.9239 0.0000 0.3827 -vn 0.7963 -0.5071 0.3298 -vn 0.4505 -0.8730 0.1866 -vn -0.4729 -0.8590 -0.1959 -vn -0.8037 -0.4931 -0.3329 -vn -0.9239 0.0000 -0.3827 -vn -0.8532 0.4931 -0.1697 -vn -0.0158 0.9998 -0.0031 -vn 0.4505 0.8730 0.1866 -vn 0.8453 0.5071 0.1681 -vn 0.9808 0.0000 0.1951 -vn 0.8453 -0.5071 0.1681 -vn -0.0158 -0.9998 -0.0031 -vn -0.0149 -0.9998 -0.0062 -vn -0.5021 -0.8590 -0.0999 -vn -0.8532 -0.4931 -0.1697 -vn -0.9808 0.0000 -0.1951 -vn -0.8699 0.4931 0.0000 -vn -0.5021 0.8590 -0.0999 -vn -0.5119 0.8590 0.0000 -vn -0.0161 0.9998 0.0000 -vn 0.4783 0.8730 0.0951 -vn 0.4877 0.8730 0.0000 -vn 0.8618 0.5071 0.0000 -vn 0.8618 -0.5071 0.0000 -vn 0.4783 -0.8730 0.0951 -vn -0.0161 -0.9998 0.0000 -vn -0.5119 -0.8590 0.0000 -vn -0.8699 -0.4931 0.0000 -vn -0.8532 0.4931 0.1697 -vn -0.5021 0.8590 0.0999 -vn -0.0158 0.9998 0.0031 -vn 0.4783 0.8730 -0.0951 -vn 0.8453 0.5071 -0.1681 -vn 0.8453 -0.5071 -0.1681 -vn 0.4877 -0.8730 0.0000 -vn 0.4783 -0.8730 -0.0951 -vn -0.0158 -0.9998 0.0031 -vn -0.5021 -0.8590 0.0999 -vn -0.8037 0.4931 0.3329 -vn -0.4729 0.8590 0.1959 -vn -0.0149 0.9998 0.0062 -vn 0.4505 0.8730 -0.1866 -vn 0.7963 -0.5071 -0.3298 -vn 0.4505 -0.8730 -0.1866 -vn -0.4729 -0.8590 0.1959 -vn -0.8037 -0.4931 0.3329 -vn -0.8532 -0.4931 0.1697 -vn -0.4256 0.8590 0.2844 -vn -0.0134 0.9998 0.0090 -vn 0.4055 0.8730 -0.2709 -vn 0.7963 0.5071 -0.3298 -vn 0.7166 0.5071 -0.4788 -vn 0.7166 -0.5071 -0.4788 -vn 0.4055 -0.8730 -0.2709 -vn -0.0149 -0.9998 0.0062 -vn -0.4256 -0.8590 0.2844 -vn -0.7233 -0.4931 0.4833 -vn -0.7233 0.4931 0.4833 -vn -0.6151 0.4931 0.6151 -vn -0.3620 0.8590 0.3620 -vn -0.0114 0.9998 0.0114 -vn 0.3448 0.8730 -0.3448 -vn 0.6094 0.5071 -0.6094 -vn 0.6094 -0.5071 -0.6094 -vn 0.3448 -0.8730 -0.3448 -vn -0.0134 -0.9998 0.0090 -vn -0.3620 -0.8590 0.3620 -vn -0.4833 0.4931 0.7233 -vn -0.2844 0.8590 0.4256 -vn 0.2709 0.8730 -0.4055 -vn 0.4788 0.5071 -0.7166 -vn 0.2709 -0.8730 -0.4055 -vn -0.0114 -0.9998 0.0114 -vn -0.2844 -0.8590 0.4256 -vn -0.6151 -0.4931 0.6151 -vn -0.4833 -0.4931 0.7233 -vn -0.3329 0.4931 0.8037 -vn -0.1959 0.8590 0.4729 -vn -0.0090 0.9998 0.0134 -vn 0.1866 0.8730 -0.4505 -vn 0.3298 0.5071 -0.7963 -vn 0.4788 -0.5071 -0.7166 -vn 0.3298 -0.5071 -0.7963 -vn 0.1866 -0.8730 -0.4505 -vn -0.0090 -0.9998 0.0134 -vn -0.1959 -0.8590 0.4729 -vn -0.3329 -0.4931 0.8037 -vn -0.1697 0.4931 0.8532 -vn -0.0031 0.9998 0.0158 -vn -0.0062 0.9998 0.0149 -vn 0.0951 0.8730 -0.4783 -vn 0.1681 0.5071 -0.8453 -vn 0.0951 -0.8730 -0.4783 -vn -0.0062 -0.9998 0.0149 -vn -0.0031 -0.9998 0.0158 -vn -0.1697 -0.4931 0.8532 -vn 0.0000 0.4931 0.8699 -vn -0.0999 0.8590 0.5021 -vn 0.0000 0.8590 0.5119 -vn 0.0000 0.9998 0.0161 -vn 0.0000 0.8730 -0.4877 -vn 0.0000 0.5071 -0.8618 -vn 0.1681 -0.5071 -0.8453 -vn 0.0000 -0.8730 -0.4877 -vn 0.0000 -0.9998 0.0161 -vn -0.0999 -0.8590 0.5021 -vn 0.0000 -0.8590 0.5119 -vn 0.0000 -0.4931 0.8699 -vn 0.1697 0.4931 0.8532 -vn 0.0999 0.8590 0.5021 -vn 0.0031 0.9998 0.0158 -vn -0.0951 0.8730 -0.4783 -vn -0.1681 0.5071 -0.8453 -vn 0.0000 -0.5071 -0.8618 -vn -0.1681 -0.5071 -0.8453 -vn -0.0951 -0.8730 -0.4783 -vn 0.0031 -0.9998 0.0158 -vn 0.1697 -0.4931 0.8532 -vn 0.3329 0.4931 0.8037 -vn 0.1959 0.8590 0.4729 -vn -0.1866 0.8730 -0.4505 -vn -0.3298 0.5071 -0.7963 -vn -0.3298 -0.5071 -0.7963 -vn -0.1866 -0.8730 -0.4505 -vn 0.0062 -0.9998 0.0149 -vn 0.0999 -0.8590 0.5021 -vn 0.3329 -0.4931 0.8037 -vn 0.4833 0.4931 0.7233 -vn 0.0090 0.9998 0.0134 -vn 0.0062 0.9998 0.0149 -vn -0.4788 0.5071 -0.7166 -vn -0.4788 -0.5071 -0.7166 -vn -0.2709 -0.8730 -0.4055 -vn 0.0090 -0.9998 0.0134 -vn 0.1959 -0.8590 0.4729 -vn 0.4833 -0.4931 0.7233 -vn 0.6151 0.4931 0.6151 -vn 0.2844 0.8590 0.4256 -vn 0.3620 0.8590 0.3620 -vn -0.3448 0.8730 -0.3448 -vn -0.2709 0.8730 -0.4055 -vn -0.6094 0.5071 -0.6094 -vn -0.6094 -0.5071 -0.6094 -vn -0.3448 -0.8730 -0.3448 -vn 0.0114 -0.9998 0.0114 -vn 0.2844 -0.8590 0.4256 -vn 0.3620 -0.8590 0.3620 -vn 0.7233 0.4931 0.4833 -vn 0.4256 0.8590 0.2844 -vn 0.0114 0.9998 0.0114 -vn 0.0134 0.9998 0.0090 -vn -0.4055 0.8730 -0.2709 -vn -0.7166 0.5071 -0.4788 -vn -0.7166 -0.5071 -0.4788 -vn -0.4055 -0.8730 -0.2709 -vn 0.4256 -0.8590 0.2844 -vn 0.6151 -0.4931 0.6151 -vn 0.7233 -0.4931 0.4833 -vn 0.8037 0.4931 0.3329 -vn 0.0149 0.9998 0.0062 -vn -0.7963 0.5071 -0.3298 -vn -0.7963 -0.5071 -0.3298 -vn 0.0149 -0.9998 0.0062 -vn 0.0134 -0.9998 0.0090 -vn 0.4729 -0.8590 0.1959 -vn 0.8037 -0.4931 0.3329 -vn 0.8532 0.4931 0.1697 -vn 0.4729 0.8590 0.1959 -vn 0.5021 0.8590 0.0999 -vn 0.0158 0.9998 0.0031 -vn -0.4505 0.8730 -0.1866 -vn -0.4783 0.8730 -0.0951 -vn -0.8453 0.5071 -0.1681 -vn -0.4783 -0.8730 -0.0951 -vn -0.4505 -0.8730 -0.1866 -vn 0.0158 -0.9998 0.0031 -vn 0.5021 -0.8590 0.0999 -vn 0.8532 -0.4931 0.1697 -vn -0.8453 -0.5071 -0.1681 -s 1 -f 13/1/1 2/2/2 1/3/3 -f 14/4/4 3/5/5 2/2/2 -f 15/6/6 4/7/7 3/5/5 -f 16/8/8 5/9/9 4/7/7 -f 17/10/10 6/11/11 5/9/9 -f 18/12/12 7/13/13 6/11/11 -f 19/14/14 8/15/15 7/16/13 -f 20/17/16 9/18/17 8/15/15 -f 9/18/17 22/19/18 10/20/19 -f 10/20/19 23/21/20 11/22/21 -f 23/21/20 12/23/22 11/22/21 -f 24/24/23 1/3/3 12/23/22 -f 25/25/24 14/4/4 13/1/1 -f 26/26/25 15/6/6 14/4/4 -f 15/6/6 28/27/26 16/8/8 -f 16/8/8 29/28/27 17/10/10 -f 29/28/27 18/12/12 17/10/10 -f 30/29/28 19/30/14 18/12/12 -f 31/31/29 20/17/16 19/14/14 -f 20/17/16 33/32/30 21/33/31 -f 33/32/30 22/19/18 21/33/31 -f 34/34/32 23/21/20 22/19/18 -f 35/35/33 24/24/23 23/21/20 -f 36/36/34 13/1/1 24/24/23 -f 37/37/35 26/26/25 25/25/24 -f 38/38/36 27/39/37 26/26/25 -f 27/39/37 40/40/38 28/27/26 -f 28/27/26 41/41/39 29/28/27 -f 41/41/39 30/29/28 29/28/27 -f 42/42/40 31/43/29 30/29/28 -f 43/44/41 32/45/42 31/31/29 -f 32/45/42 45/46/43 33/32/30 -f 45/46/43 34/34/32 33/32/30 -f 46/47/44 35/35/33 34/34/32 -f 35/35/33 48/48/45 36/36/34 -f 48/48/45 25/25/24 36/36/34 -f 37/37/35 50/49/46 38/38/36 -f 50/49/46 39/50/47 38/38/36 -f 39/50/47 52/51/48 40/40/38 -f 52/51/48 41/41/39 40/40/38 -f 41/41/39 54/52/49 42/42/40 -f 54/52/49 43/53/41 42/42/40 -f 55/54/50 44/55/51 43/44/41 -f 44/55/51 57/56/52 45/46/43 -f 45/46/43 58/57/53 46/47/44 -f 58/57/53 47/58/54 46/47/44 -f 59/59/55 48/48/45 47/58/54 -f 60/60/56 37/37/35 48/48/45 -f 49/61/57 62/62/58 50/63/46 -f 62/62/58 51/64/59 50/63/46 -f 51/64/59 64/65/60 52/66/48 -f 52/66/48 65/67/61 53/68/62 -f 65/67/61 54/69/49 53/68/62 -f 66/70/63 55/71/50 54/69/49 -f 67/72/64 56/73/65 55/74/50 -f 56/73/65 69/75/66 57/76/52 -f 69/75/66 58/77/53 57/76/52 -f 70/78/67 59/79/55 58/77/53 -f 71/80/68 60/81/56 59/79/55 -f 72/82/69 49/61/57 60/81/56 -f 73/83/70 62/62/58 61/84/71 -f 62/62/58 75/85/72 63/86/73 -f 75/85/72 64/65/60 63/86/73 -f 76/87/74 65/67/61 64/65/60 -f 77/88/75 66/70/63 65/67/61 -f 78/89/76 67/90/64 66/70/63 -f 79/91/77 68/92/78 67/72/64 -f 68/92/78 81/93/79 69/75/66 -f 81/93/79 70/78/67 69/75/66 -f 70/78/67 83/94/80 71/80/68 -f 83/94/80 72/82/69 71/80/68 -f 84/95/81 61/84/71 72/82/69 -f 85/96/82 74/97/83 73/83/70 -f 74/97/83 87/98/84 75/85/72 -f 75/85/72 88/99/85 76/87/74 -f 88/99/85 77/88/75 76/87/74 -f 89/100/86 78/89/76 77/88/75 -f 78/89/76 91/101/87 79/102/77 -f 91/103/87 80/104/88 79/91/77 -f 80/104/88 93/105/89 81/93/79 -f 93/105/89 82/106/90 81/93/79 -f 94/107/91 83/94/80 82/106/90 -f 95/108/92 84/95/81 83/94/80 -f 96/109/93 73/83/70 84/95/81 -f 97/110/94 86/111/95 85/96/82 -f 98/112/96 87/98/84 86/111/95 -f 87/98/84 100/113/97 88/99/85 -f 100/113/97 89/100/86 88/99/85 -f 101/114/98 90/115/99 89/100/86 -f 102/116/100 91/101/87 90/115/99 -f 103/117/101 92/118/102 91/103/87 -f 92/118/102 105/119/103 93/105/89 -f 93/105/89 106/120/104 94/107/91 -f 106/120/104 95/108/92 94/107/91 -f 95/108/92 108/121/105 96/109/93 -f 108/121/105 85/96/82 96/109/93 -f 109/122/106 98/123/96 97/124/94 -f 110/125/107 99/126/108 98/123/96 -f 111/127/109 100/128/97 99/126/108 -f 112/129/110 101/130/98 100/128/97 -f 113/131/111 102/132/100 101/130/98 -f 114/133/112 103/134/101 102/132/100 -f 115/135/113 104/136/114 103/137/101 -f 116/138/115 105/139/103 104/136/114 -f 105/139/103 118/140/116 106/141/104 -f 106/141/104 119/142/117 107/143/118 -f 119/142/117 108/144/105 107/143/118 -f 108/144/105 109/122/106 97/124/94 -f 121/145/119 110/125/107 109/122/106 -f 110/125/107 123/146/120 111/127/109 -f 123/146/120 112/129/110 111/127/109 -f 112/129/110 125/147/121 113/131/111 -f 125/147/121 114/133/112 113/131/111 -f 126/148/122 115/149/113 114/133/112 -f 127/150/123 116/138/115 115/135/113 -f 116/138/115 129/151/124 117/152/125 -f 129/151/124 118/140/116 117/152/125 -f 118/140/116 131/153/126 119/142/117 -f 131/153/126 120/154/127 119/142/117 -f 132/155/128 109/122/106 120/154/127 -f 133/156/129 122/157/130 121/145/119 -f 134/158/131 123/146/120 122/157/130 -f 135/159/132 124/160/133 123/146/120 -f 124/160/133 137/161/134 125/147/121 -f 137/161/134 126/148/122 125/147/121 -f 138/162/135 127/163/123 126/148/122 -f 127/150/123 140/164/136 128/165/137 -f 128/165/137 141/166/138 129/151/124 -f 141/166/138 130/167/139 129/151/124 -f 130/167/139 143/168/140 131/153/126 -f 131/153/126 144/169/141 132/155/128 -f 144/169/141 121/145/119 132/155/128 -f 145/170/142 134/158/131 133/156/129 -f 146/171/143 135/159/132 134/158/131 -f 147/172/144 136/173/145 135/159/132 -f 136/173/145 149/174/146 137/161/134 -f 149/174/146 138/162/135 137/161/134 -f 150/175/147 139/176/148 138/162/135 -f 151/177/149 140/164/136 139/178/148 -f 152/179/150 141/166/138 140/164/136 -f 153/180/151 142/181/152 141/166/138 -f 142/181/152 155/182/153 143/168/140 -f 143/168/140 156/183/154 144/169/141 -f 156/183/154 133/156/129 144/169/141 -f 145/184/142 158/185/155 146/186/143 -f 158/185/155 147/187/144 146/186/143 -f 147/187/144 160/188/156 148/189/157 -f 160/188/156 149/190/146 148/189/157 -f 161/191/158 150/192/147 149/190/146 -f 162/193/159 151/194/149 150/192/147 -f 163/195/160 152/196/150 151/197/149 -f 164/198/161 153/199/151 152/196/150 -f 165/200/162 154/201/163 153/199/151 -f 166/202/164 155/203/153 154/201/163 -f 167/204/165 156/205/154 155/203/153 -f 168/206/166 145/184/142 156/205/154 -f 157/207/167 170/208/168 158/185/155 -f 170/208/168 159/209/169 158/185/155 -f 171/210/170 160/188/156 159/209/169 -f 172/211/171 161/191/158 160/188/156 -f 161/191/158 174/212/172 162/193/159 -f 162/193/159 175/213/173 163/214/160 -f 175/215/173 164/198/161 163/195/160 -f 176/216/174 165/200/162 164/198/161 -f 177/217/175 166/202/164 165/200/162 -f 166/202/164 179/218/176 167/204/165 -f 167/204/165 180/219/177 168/206/166 -f 180/219/177 157/207/167 168/206/166 -f 169/220/178 182/221/179 170/208/168 -f 182/221/179 171/210/170 170/208/168 -f 171/210/170 184/222/180 172/211/171 -f 184/222/180 173/223/181 172/211/171 -f 173/223/181 186/224/182 174/212/172 -f 186/224/182 175/213/173 174/212/172 -f 187/225/183 176/216/174 175/215/173 -f 188/226/184 177/217/175 176/216/174 -f 177/217/175 190/227/185 178/228/186 -f 190/227/185 179/218/176 178/228/186 -f 191/229/187 180/219/177 179/218/176 -f 192/230/188 169/220/178 180/219/177 -f 181/231/189 194/232/190 182/221/179 -f 194/232/190 183/233/191 182/221/179 -f 195/234/192 184/222/180 183/233/191 -f 196/235/193 185/236/194 184/222/180 -f 197/237/195 186/224/182 185/236/194 -f 198/238/196 187/239/183 186/224/182 -f 187/225/183 200/240/197 188/226/184 -f 200/240/197 189/241/198 188/226/184 -f 189/241/198 202/242/199 190/227/185 -f 190/227/185 203/243/200 191/229/187 -f 191/229/187 204/244/201 192/230/188 -f 204/244/201 181/231/189 192/230/188 -f 205/245/14 194/246/190 193/247/13 -f 206/248/202 195/249/192 194/246/190 -f 207/250/203 196/251/193 195/249/192 -f 208/252/204 197/253/195 196/251/193 -f 209/254/205 198/255/196 197/253/195 -f 210/256/206 199/257/3 198/255/196 -f 211/258/1 200/259/197 199/260/3 -f 212/261/207 201/262/208 200/259/197 -f 213/263/209 202/264/199 201/262/208 -f 214/265/210 203/266/200 202/264/199 -f 215/267/211 204/268/201 203/266/200 -f 204/268/201 205/245/14 193/247/13 -f 217/269/29 206/248/202 205/245/14 -f 218/270/212 207/250/203 206/248/202 -f 219/271/213 208/252/204 207/250/203 -f 220/272/214 209/254/205 208/252/204 -f 221/273/215 210/256/206 209/254/205 -f 210/256/206 223/274/24 211/275/1 -f 223/276/24 212/261/207 211/258/1 -f 224/277/216 213/263/209 212/261/207 -f 225/278/217 214/265/210 213/263/209 -f 214/265/210 227/279/218 215/267/211 -f 215/267/211 228/280/219 216/281/220 -f 216/281/220 217/269/29 205/245/14 -f 229/282/41 218/270/212 217/269/29 -f 218/270/212 231/283/221 219/271/213 -f 231/283/221 220/272/214 219/271/213 -f 232/284/222 221/273/215 220/272/214 -f 233/285/223 222/286/224 221/273/215 -f 234/287/225 223/274/24 222/286/224 -f 235/288/35 224/277/216 223/276/24 -f 236/289/226 225/278/217 224/277/216 -f 237/290/227 226/291/228 225/278/217 -f 226/291/228 239/292/229 227/279/218 -f 239/292/229 228/280/219 227/279/218 -f 240/293/230 217/269/29 228/280/219 -f 241/294/50 230/295/231 229/282/41 -f 242/296/232 231/283/221 230/295/231 -f 243/297/233 232/284/222 231/283/221 -f 244/298/234 233/285/223 232/284/222 -f 245/299/235 234/287/225 233/285/223 -f 246/300/236 235/301/35 234/287/225 -f 235/288/35 248/302/237 236/289/226 -f 248/302/237 237/290/227 236/289/226 -f 249/303/238 238/304/239 237/290/227 -f 238/304/239 251/305/240 239/292/229 -f 251/305/240 240/293/230 239/292/229 -f 240/293/230 241/294/50 229/282/41 -f 253/306/64 242/307/232 241/308/50 -f 254/309/241 243/310/233 242/307/232 -f 255/311/242 244/312/234 243/310/233 -f 244/312/234 257/313/243 245/314/235 -f 257/313/243 246/315/236 245/314/235 -f 258/316/244 247/317/57 246/315/236 -f 259/318/71 248/319/237 247/320/57 -f 248/319/237 261/321/245 249/322/238 -f 261/321/245 250/323/246 249/322/238 -f 250/323/246 263/324/247 251/325/240 -f 263/324/247 252/326/248 251/325/240 -f 264/327/249 241/308/50 252/326/248 -f 253/306/64 266/328/250 254/309/241 -f 254/309/241 267/329/251 255/311/242 -f 267/329/251 256/330/252 255/311/242 -f 256/330/252 269/331/253 257/313/243 -f 269/331/253 258/316/244 257/313/243 -f 270/332/254 259/333/71 258/316/244 -f 271/334/70 260/335/255 259/318/71 -f 272/336/256 261/321/245 260/335/255 -f 273/337/257 262/338/258 261/321/245 -f 262/338/258 275/339/259 263/324/247 -f 275/339/259 264/327/249 263/324/247 -f 276/340/260 253/306/64 264/327/249 -f 277/341/87 266/328/250 265/342/77 -f 278/343/261 267/329/251 266/328/250 -f 267/329/251 280/344/262 268/345/263 -f 280/344/262 269/331/253 268/345/263 -f 281/346/264 270/332/254 269/331/253 -f 282/347/265 271/348/70 270/332/254 -f 283/349/82 272/336/256 271/334/70 -f 272/336/256 285/350/266 273/337/257 -f 285/350/266 274/351/267 273/337/257 -f 286/352/268 275/339/259 274/351/267 -f 275/339/259 288/353/269 276/340/260 -f 288/353/269 265/342/77 276/340/260 -f 289/354/101 278/343/261 277/341/87 -f 290/355/270 279/356/271 278/343/261 -f 291/357/272 280/344/262 279/356/271 -f 292/358/273 281/346/264 280/344/262 -f 293/359/274 282/347/265 281/346/264 -f 294/360/275 283/361/82 282/347/265 -f 295/362/94 284/363/276 283/349/82 -f 284/363/276 297/364/277 285/350/266 -f 285/350/266 298/365/278 286/352/268 -f 298/365/278 287/366/279 286/352/268 -f 299/367/280 288/353/269 287/366/279 -f 300/368/281 277/341/87 288/353/269 -f 301/369/113 290/370/270 289/371/101 -f 302/372/282 291/373/272 290/370/270 -f 303/374/283 292/375/273 291/373/272 -f 304/376/284 293/377/274 292/375/273 -f 305/378/285 294/379/275 293/377/274 -f 306/380/286 295/381/94 294/379/275 -f 307/382/106 296/383/287 295/384/94 -f 308/385/288 297/386/277 296/383/287 -f 309/387/289 298/388/278 297/386/277 -f 310/389/290 299/390/280 298/388/278 -f 299/390/280 312/391/291 300/392/281 -f 312/391/291 289/371/101 300/392/281 -f 313/393/123 302/372/282 301/369/113 -f 314/394/292 303/374/283 302/372/282 -f 315/395/293 304/376/284 303/374/283 -f 304/376/284 317/396/294 305/378/285 -f 317/396/294 306/380/286 305/378/285 -f 318/397/295 307/398/106 306/380/286 -f 319/399/119 308/385/288 307/382/106 -f 320/400/296 309/387/289 308/385/288 -f 321/401/297 310/389/290 309/387/289 -f 322/402/298 311/403/299 310/389/290 -f 311/403/299 324/404/300 312/391/291 -f 324/404/300 301/369/113 312/391/291 -f 325/405/148 314/394/292 313/393/123 -f 326/406/301 315/395/293 314/394/292 -f 315/395/293 328/407/302 316/408/303 -f 328/407/302 317/396/294 316/408/303 -f 317/396/294 330/409/304 318/397/295 -f 330/409/304 319/410/119 318/397/295 -f 331/411/129 320/400/296 319/399/119 -f 332/412/305 321/401/297 320/400/296 -f 333/413/306 322/402/298 321/401/297 -f 334/414/307 323/415/308 322/402/298 -f 323/415/308 336/416/309 324/404/300 -f 336/416/309 313/393/123 324/404/300 -f 337/417/149 326/406/301 325/405/148 -f 338/418/310 327/419/311 326/406/301 -f 339/420/312 328/407/302 327/419/311 -f 328/407/302 341/421/313 329/422/314 -f 341/421/313 330/409/304 329/422/314 -f 342/423/315 331/424/129 330/409/304 -f 343/425/142 332/412/305 331/411/129 -f 344/426/316 333/413/306 332/412/305 -f 345/427/317 334/414/307 333/413/306 -f 346/428/318 335/429/319 334/414/307 -f 347/430/320 336/416/309 335/429/319 -f 336/416/309 337/417/149 325/405/148 -f 349/431/160 338/432/310 337/433/149 -f 350/434/321 339/435/312 338/432/310 -f 351/436/322 340/437/323 339/435/312 -f 352/438/324 341/439/313 340/437/323 -f 353/440/325 342/441/315 341/439/313 -f 354/442/326 343/443/142 342/441/315 -f 355/444/167 344/445/316 343/446/142 -f 356/447/327 345/448/317 344/445/316 -f 357/449/328 346/450/318 345/448/317 -f 346/450/318 359/451/329 347/452/320 -f 359/451/329 348/453/330 347/452/320 -f 360/454/331 337/433/149 348/453/330 -f 361/455/173 350/434/321 349/431/160 -f 362/456/332 351/436/322 350/434/321 -f 351/436/322 364/457/333 352/438/324 -f 364/457/333 353/440/325 352/438/324 -f 353/440/325 366/458/334 354/442/326 -f 354/442/326 367/459/178 355/460/167 -f 367/461/178 356/447/327 355/444/167 -f 368/462/335 357/449/328 356/447/327 -f 357/449/328 370/463/336 358/464/337 -f 370/463/336 359/451/329 358/464/337 -f 371/465/338 360/454/331 359/451/329 -f 372/466/339 349/431/160 360/454/331 -f 373/467/183 362/456/332 361/455/173 -f 374/468/340 363/469/341 362/456/332 -f 375/470/342 364/457/333 363/469/341 -f 376/471/343 365/472/344 364/457/333 -f 377/473/345 366/458/334 365/472/344 -f 378/474/346 367/459/178 366/458/334 -f 379/475/189 368/462/335 367/461/178 -f 368/462/335 381/476/347 369/477/348 -f 369/477/348 382/478/349 370/463/336 -f 370/463/336 383/479/350 371/465/338 -f 383/479/350 372/466/339 371/465/338 -f 384/480/351 361/455/173 372/466/339 -f 373/467/183 2/481/2 374/468/340 -f 2/481/2 375/470/342 374/468/340 -f 375/470/342 4/482/7 376/471/343 -f 4/482/7 377/473/345 376/471/343 -f 5/483/9 378/474/346 377/473/345 -f 6/484/11 379/485/189 378/474/346 -f 379/475/189 8/486/15 380/487/352 -f 8/486/15 381/476/347 380/487/352 -f 381/476/347 10/488/19 382/478/349 -f 10/488/19 383/479/350 382/478/349 -f 11/489/21 384/480/351 383/479/350 -f 12/490/22 373/467/183 384/480/351 -f 13/1/1 14/4/4 2/2/2 -f 14/4/4 15/6/6 3/5/5 -f 15/6/6 16/8/8 4/7/7 -f 16/8/8 17/10/10 5/9/9 -f 17/10/10 18/12/12 6/11/11 -f 18/12/12 19/30/14 7/13/13 -f 19/14/14 20/17/16 8/15/15 -f 20/17/16 21/33/31 9/18/17 -f 9/18/17 21/33/31 22/19/18 -f 10/20/19 22/19/18 23/21/20 -f 23/21/20 24/24/23 12/23/22 -f 24/24/23 13/1/1 1/3/3 -f 25/25/24 26/26/25 14/4/4 -f 26/26/25 27/39/37 15/6/6 -f 15/6/6 27/39/37 28/27/26 -f 16/8/8 28/27/26 29/28/27 -f 29/28/27 30/29/28 18/12/12 -f 30/29/28 31/43/29 19/30/14 -f 31/31/29 32/45/42 20/17/16 -f 20/17/16 32/45/42 33/32/30 -f 33/32/30 34/34/32 22/19/18 -f 34/34/32 35/35/33 23/21/20 -f 35/35/33 36/36/34 24/24/23 -f 36/36/34 25/25/24 13/1/1 -f 37/37/35 38/38/36 26/26/25 -f 38/38/36 39/50/47 27/39/37 -f 27/39/37 39/50/47 40/40/38 -f 28/27/26 40/40/38 41/41/39 -f 41/41/39 42/42/40 30/29/28 -f 42/42/40 43/53/41 31/43/29 -f 43/44/41 44/55/51 32/45/42 -f 32/45/42 44/55/51 45/46/43 -f 45/46/43 46/47/44 34/34/32 -f 46/47/44 47/58/54 35/35/33 -f 35/35/33 47/58/54 48/48/45 -f 48/48/45 37/37/35 25/25/24 -f 37/37/35 49/491/57 50/49/46 -f 50/49/46 51/492/59 39/50/47 -f 39/50/47 51/492/59 52/51/48 -f 52/51/48 53/493/62 41/41/39 -f 41/41/39 53/493/62 54/52/49 -f 54/52/49 55/494/50 43/53/41 -f 55/54/50 56/495/65 44/55/51 -f 44/55/51 56/495/65 57/56/52 -f 45/46/43 57/56/52 58/57/53 -f 58/57/53 59/59/55 47/58/54 -f 59/59/55 60/60/56 48/48/45 -f 60/60/56 49/491/57 37/37/35 -f 49/61/57 61/84/71 62/62/58 -f 62/62/58 63/86/73 51/64/59 -f 51/64/59 63/86/73 64/65/60 -f 52/66/48 64/65/60 65/67/61 -f 65/67/61 66/70/63 54/69/49 -f 66/70/63 67/90/64 55/71/50 -f 67/72/64 68/92/78 56/73/65 -f 56/73/65 68/92/78 69/75/66 -f 69/75/66 70/78/67 58/77/53 -f 70/78/67 71/80/68 59/79/55 -f 71/80/68 72/82/69 60/81/56 -f 72/82/69 61/84/71 49/61/57 -f 73/83/70 74/97/83 62/62/58 -f 62/62/58 74/97/83 75/85/72 -f 75/85/72 76/87/74 64/65/60 -f 76/87/74 77/88/75 65/67/61 -f 77/88/75 78/89/76 66/70/63 -f 78/89/76 79/102/77 67/90/64 -f 79/91/77 80/104/88 68/92/78 -f 68/92/78 80/104/88 81/93/79 -f 81/93/79 82/106/90 70/78/67 -f 70/78/67 82/106/90 83/94/80 -f 83/94/80 84/95/81 72/82/69 -f 84/95/81 73/83/70 61/84/71 -f 85/96/82 86/111/95 74/97/83 -f 74/97/83 86/111/95 87/98/84 -f 75/85/72 87/98/84 88/99/85 -f 88/99/85 89/100/86 77/88/75 -f 89/100/86 90/115/99 78/89/76 -f 78/89/76 90/115/99 91/101/87 -f 91/103/87 92/118/102 80/104/88 -f 80/104/88 92/118/102 93/105/89 -f 93/105/89 94/107/91 82/106/90 -f 94/107/91 95/108/92 83/94/80 -f 95/108/92 96/109/93 84/95/81 -f 96/109/93 85/96/82 73/83/70 -f 97/110/94 98/112/96 86/111/95 -f 98/112/96 99/496/108 87/98/84 -f 87/98/84 99/496/108 100/113/97 -f 100/113/97 101/114/98 89/100/86 -f 101/114/98 102/116/100 90/115/99 -f 102/116/100 103/497/101 91/101/87 -f 103/117/101 104/498/114 92/118/102 -f 92/118/102 104/498/114 105/119/103 -f 93/105/89 105/119/103 106/120/104 -f 106/120/104 107/499/118 95/108/92 -f 95/108/92 107/499/118 108/121/105 -f 108/121/105 97/110/94 85/96/82 -f 109/122/106 110/125/107 98/123/96 -f 110/125/107 111/127/109 99/126/108 -f 111/127/109 112/129/110 100/128/97 -f 112/129/110 113/131/111 101/130/98 -f 113/131/111 114/133/112 102/132/100 -f 114/133/112 115/149/113 103/134/101 -f 115/135/113 116/138/115 104/136/114 -f 116/138/115 117/152/125 105/139/103 -f 105/139/103 117/152/125 118/140/116 -f 106/141/104 118/140/116 119/142/117 -f 119/142/117 120/154/127 108/144/105 -f 108/144/105 120/154/127 109/122/106 -f 121/145/119 122/157/130 110/125/107 -f 110/125/107 122/157/130 123/146/120 -f 123/146/120 124/160/133 112/129/110 -f 112/129/110 124/160/133 125/147/121 -f 125/147/121 126/148/122 114/133/112 -f 126/148/122 127/163/123 115/149/113 -f 127/150/123 128/165/137 116/138/115 -f 116/138/115 128/165/137 129/151/124 -f 129/151/124 130/167/139 118/140/116 -f 118/140/116 130/167/139 131/153/126 -f 131/153/126 132/155/128 120/154/127 -f 132/155/128 121/145/119 109/122/106 -f 133/156/129 134/158/131 122/157/130 -f 134/158/131 135/159/132 123/146/120 -f 135/159/132 136/173/145 124/160/133 -f 124/160/133 136/173/145 137/161/134 -f 137/161/134 138/162/135 126/148/122 -f 138/162/135 139/176/148 127/163/123 -f 127/150/123 139/178/148 140/164/136 -f 128/165/137 140/164/136 141/166/138 -f 141/166/138 142/181/152 130/167/139 -f 130/167/139 142/181/152 143/168/140 -f 131/153/126 143/168/140 144/169/141 -f 144/169/141 133/156/129 121/145/119 -f 145/170/142 146/171/143 134/158/131 -f 146/171/143 147/172/144 135/159/132 -f 147/172/144 148/500/157 136/173/145 -f 136/173/145 148/500/157 149/174/146 -f 149/174/146 150/175/147 138/162/135 -f 150/175/147 151/501/149 139/176/148 -f 151/177/149 152/179/150 140/164/136 -f 152/179/150 153/180/151 141/166/138 -f 153/180/151 154/502/163 142/181/152 -f 142/181/152 154/502/163 155/182/153 -f 143/168/140 155/182/153 156/183/154 -f 156/183/154 145/170/142 133/156/129 -f 145/184/142 157/207/167 158/185/155 -f 158/185/155 159/209/169 147/187/144 -f 147/187/144 159/209/169 160/188/156 -f 160/188/156 161/191/158 149/190/146 -f 161/191/158 162/193/159 150/192/147 -f 162/193/159 163/214/160 151/194/149 -f 163/195/160 164/198/161 152/196/150 -f 164/198/161 165/200/162 153/199/151 -f 165/200/162 166/202/164 154/201/163 -f 166/202/164 167/204/165 155/203/153 -f 167/204/165 168/206/166 156/205/154 -f 168/206/166 157/207/167 145/184/142 -f 157/207/167 169/220/178 170/208/168 -f 170/208/168 171/210/170 159/209/169 -f 171/210/170 172/211/171 160/188/156 -f 172/211/171 173/223/181 161/191/158 -f 161/191/158 173/223/181 174/212/172 -f 162/193/159 174/212/172 175/213/173 -f 175/215/173 176/216/174 164/198/161 -f 176/216/174 177/217/175 165/200/162 -f 177/217/175 178/228/186 166/202/164 -f 166/202/164 178/228/186 179/218/176 -f 167/204/165 179/218/176 180/219/177 -f 180/219/177 169/220/178 157/207/167 -f 169/220/178 181/231/189 182/221/179 -f 182/221/179 183/233/191 171/210/170 -f 171/210/170 183/233/191 184/222/180 -f 184/222/180 185/236/194 173/223/181 -f 173/223/181 185/236/194 186/224/182 -f 186/224/182 187/239/183 175/213/173 -f 187/225/183 188/226/184 176/216/174 -f 188/226/184 189/241/198 177/217/175 -f 177/217/175 189/241/198 190/227/185 -f 190/227/185 191/229/187 179/218/176 -f 191/229/187 192/230/188 180/219/177 -f 192/230/188 181/231/189 169/220/178 -f 181/231/189 193/503/13 194/232/190 -f 194/232/190 195/234/192 183/233/191 -f 195/234/192 196/235/193 184/222/180 -f 196/235/193 197/237/195 185/236/194 -f 197/237/195 198/238/196 186/224/182 -f 198/238/196 199/504/3 187/239/183 -f 187/225/183 199/505/3 200/240/197 -f 200/240/197 201/506/208 189/241/198 -f 189/241/198 201/506/208 202/242/199 -f 190/227/185 202/242/199 203/243/200 -f 191/229/187 203/243/200 204/244/201 -f 204/244/201 193/503/13 181/231/189 -f 205/245/14 206/248/202 194/246/190 -f 206/248/202 207/250/203 195/249/192 -f 207/250/203 208/252/204 196/251/193 -f 208/252/204 209/254/205 197/253/195 -f 209/254/205 210/256/206 198/255/196 -f 210/256/206 211/275/1 199/257/3 -f 211/258/1 212/261/207 200/259/197 -f 212/261/207 213/263/209 201/262/208 -f 213/263/209 214/265/210 202/264/199 -f 214/265/210 215/267/211 203/266/200 -f 215/267/211 216/281/220 204/268/201 -f 204/268/201 216/281/220 205/245/14 -f 217/269/29 218/270/212 206/248/202 -f 218/270/212 219/271/213 207/250/203 -f 219/271/213 220/272/214 208/252/204 -f 220/272/214 221/273/215 209/254/205 -f 221/273/215 222/286/224 210/256/206 -f 210/256/206 222/286/224 223/274/24 -f 223/276/24 224/277/216 212/261/207 -f 224/277/216 225/278/217 213/263/209 -f 225/278/217 226/291/228 214/265/210 -f 214/265/210 226/291/228 227/279/218 -f 215/267/211 227/279/218 228/280/219 -f 216/281/220 228/280/219 217/269/29 -f 229/282/41 230/295/231 218/270/212 -f 218/270/212 230/295/231 231/283/221 -f 231/283/221 232/284/222 220/272/214 -f 232/284/222 233/285/223 221/273/215 -f 233/285/223 234/287/225 222/286/224 -f 234/287/225 235/301/35 223/274/24 -f 235/288/35 236/289/226 224/277/216 -f 236/289/226 237/290/227 225/278/217 -f 237/290/227 238/304/239 226/291/228 -f 226/291/228 238/304/239 239/292/229 -f 239/292/229 240/293/230 228/280/219 -f 240/293/230 229/282/41 217/269/29 -f 241/294/50 242/296/232 230/295/231 -f 242/296/232 243/297/233 231/283/221 -f 243/297/233 244/298/234 232/284/222 -f 244/298/234 245/299/235 233/285/223 -f 245/299/235 246/300/236 234/287/225 -f 246/300/236 247/507/57 235/301/35 -f 235/288/35 247/508/57 248/302/237 -f 248/302/237 249/303/238 237/290/227 -f 249/303/238 250/509/246 238/304/239 -f 238/304/239 250/509/246 251/305/240 -f 251/305/240 252/510/248 240/293/230 -f 240/293/230 252/510/248 241/294/50 -f 253/306/64 254/309/241 242/307/232 -f 254/309/241 255/311/242 243/310/233 -f 255/311/242 256/330/252 244/312/234 -f 244/312/234 256/330/252 257/313/243 -f 257/313/243 258/316/244 246/315/236 -f 258/316/244 259/333/71 247/317/57 -f 259/318/71 260/335/255 248/319/237 -f 248/319/237 260/335/255 261/321/245 -f 261/321/245 262/338/258 250/323/246 -f 250/323/246 262/338/258 263/324/247 -f 263/324/247 264/327/249 252/326/248 -f 264/327/249 253/306/64 241/308/50 -f 253/306/64 265/342/77 266/328/250 -f 254/309/241 266/328/250 267/329/251 -f 267/329/251 268/345/263 256/330/252 -f 256/330/252 268/345/263 269/331/253 -f 269/331/253 270/332/254 258/316/244 -f 270/332/254 271/348/70 259/333/71 -f 271/334/70 272/336/256 260/335/255 -f 272/336/256 273/337/257 261/321/245 -f 273/337/257 274/351/267 262/338/258 -f 262/338/258 274/351/267 275/339/259 -f 275/339/259 276/340/260 264/327/249 -f 276/340/260 265/342/77 253/306/64 -f 277/341/87 278/343/261 266/328/250 -f 278/343/261 279/356/271 267/329/251 -f 267/329/251 279/356/271 280/344/262 -f 280/344/262 281/346/264 269/331/253 -f 281/346/264 282/347/265 270/332/254 -f 282/347/265 283/361/82 271/348/70 -f 283/349/82 284/363/276 272/336/256 -f 272/336/256 284/363/276 285/350/266 -f 285/350/266 286/352/268 274/351/267 -f 286/352/268 287/366/279 275/339/259 -f 275/339/259 287/366/279 288/353/269 -f 288/353/269 277/341/87 265/342/77 -f 289/354/101 290/355/270 278/343/261 -f 290/355/270 291/357/272 279/356/271 -f 291/357/272 292/358/273 280/344/262 -f 292/358/273 293/359/274 281/346/264 -f 293/359/274 294/360/275 282/347/265 -f 294/360/275 295/511/94 283/361/82 -f 295/362/94 296/512/287 284/363/276 -f 284/363/276 296/512/287 297/364/277 -f 285/350/266 297/364/277 298/365/278 -f 298/365/278 299/367/280 287/366/279 -f 299/367/280 300/368/281 288/353/269 -f 300/368/281 289/354/101 277/341/87 -f 301/369/113 302/372/282 290/370/270 -f 302/372/282 303/374/283 291/373/272 -f 303/374/283 304/376/284 292/375/273 -f 304/376/284 305/378/285 293/377/274 -f 305/378/285 306/380/286 294/379/275 -f 306/380/286 307/398/106 295/381/94 -f 307/382/106 308/385/288 296/383/287 -f 308/385/288 309/387/289 297/386/277 -f 309/387/289 310/389/290 298/388/278 -f 310/389/290 311/403/299 299/390/280 -f 299/390/280 311/403/299 312/391/291 -f 312/391/291 301/369/113 289/371/101 -f 313/393/123 314/394/292 302/372/282 -f 314/394/292 315/395/293 303/374/283 -f 315/395/293 316/408/303 304/376/284 -f 304/376/284 316/408/303 317/396/294 -f 317/396/294 318/397/295 306/380/286 -f 318/397/295 319/410/119 307/398/106 -f 319/399/119 320/400/296 308/385/288 -f 320/400/296 321/401/297 309/387/289 -f 321/401/297 322/402/298 310/389/290 -f 322/402/298 323/415/308 311/403/299 -f 311/403/299 323/415/308 324/404/300 -f 324/404/300 313/393/123 301/369/113 -f 325/405/148 326/406/301 314/394/292 -f 326/406/301 327/419/311 315/395/293 -f 315/395/293 327/419/311 328/407/302 -f 328/407/302 329/422/314 317/396/294 -f 317/396/294 329/422/314 330/409/304 -f 330/409/304 331/424/129 319/410/119 -f 331/411/129 332/412/305 320/400/296 -f 332/412/305 333/413/306 321/401/297 -f 333/413/306 334/414/307 322/402/298 -f 334/414/307 335/429/319 323/415/308 -f 323/415/308 335/429/319 336/416/309 -f 336/416/309 325/405/148 313/393/123 -f 337/417/149 338/418/310 326/406/301 -f 338/418/310 339/420/312 327/419/311 -f 339/420/312 340/513/323 328/407/302 -f 328/407/302 340/513/323 341/421/313 -f 341/421/313 342/423/315 330/409/304 -f 342/423/315 343/514/142 331/424/129 -f 343/425/142 344/426/316 332/412/305 -f 344/426/316 345/427/317 333/413/306 -f 345/427/317 346/428/318 334/414/307 -f 346/428/318 347/430/320 335/429/319 -f 347/430/320 348/515/330 336/416/309 -f 336/416/309 348/515/330 337/417/149 -f 349/431/160 350/434/321 338/432/310 -f 350/434/321 351/436/322 339/435/312 -f 351/436/322 352/438/324 340/437/323 -f 352/438/324 353/440/325 341/439/313 -f 353/440/325 354/442/326 342/441/315 -f 354/442/326 355/460/167 343/443/142 -f 355/444/167 356/447/327 344/445/316 -f 356/447/327 357/449/328 345/448/317 -f 357/449/328 358/464/337 346/450/318 -f 346/450/318 358/464/337 359/451/329 -f 359/451/329 360/454/331 348/453/330 -f 360/454/331 349/431/160 337/433/149 -f 361/455/173 362/456/332 350/434/321 -f 362/456/332 363/469/341 351/436/322 -f 351/436/322 363/469/341 364/457/333 -f 364/457/333 365/472/344 353/440/325 -f 353/440/325 365/472/344 366/458/334 -f 354/442/326 366/458/334 367/459/178 -f 367/461/178 368/462/335 356/447/327 -f 368/462/335 369/477/348 357/449/328 -f 357/449/328 369/477/348 370/463/336 -f 370/463/336 371/465/338 359/451/329 -f 371/465/338 372/466/339 360/454/331 -f 372/466/339 361/455/173 349/431/160 -f 373/467/183 374/468/340 362/456/332 -f 374/468/340 375/470/342 363/469/341 -f 375/470/342 376/471/343 364/457/333 -f 376/471/343 377/473/345 365/472/344 -f 377/473/345 378/474/346 366/458/334 -f 378/474/346 379/485/189 367/459/178 -f 379/475/189 380/487/352 368/462/335 -f 368/462/335 380/487/352 381/476/347 -f 369/477/348 381/476/347 382/478/349 -f 370/463/336 382/478/349 383/479/350 -f 383/479/350 384/480/351 372/466/339 -f 384/480/351 373/467/183 361/455/173 -f 373/467/183 1/516/3 2/481/2 -f 2/481/2 3/517/5 375/470/342 -f 375/470/342 3/517/5 4/482/7 -f 4/482/7 5/483/9 377/473/345 -f 5/483/9 6/484/11 378/474/346 -f 6/484/11 7/518/13 379/485/189 -f 379/475/189 7/519/13 8/486/15 -f 8/486/15 9/520/17 381/476/347 -f 381/476/347 9/520/17 10/488/19 -f 10/488/19 11/489/21 383/479/350 -f 11/489/21 12/490/22 384/480/351 -f 12/490/22 1/516/3 373/467/183 diff --git a/src/main/resources/assets/hbm/models/effect/ring_thin.obj b/src/main/resources/assets/hbm/models/effect/ring_thin.obj deleted file mode 100644 index 2fb31abaf..000000000 --- a/src/main/resources/assets/hbm/models/effect/ring_thin.obj +++ /dev/null @@ -1,2028 +0,0 @@ -# Blender v2.79 (sub 0) OBJ File: 'ring_thin.blend' -# www.blender.org -o Torus -v 1.000000 0.000000 0.000000 -v 0.991627 0.031250 0.000000 -v 0.968750 0.054127 0.000000 -v 0.937500 0.062500 0.000000 -v 0.906250 0.054127 0.000000 -v 0.883373 0.031250 0.000000 -v 0.875000 0.000000 0.000000 -v 0.883373 -0.031250 0.000000 -v 0.906250 -0.054127 0.000000 -v 0.937500 -0.062500 0.000000 -v 0.968750 -0.054127 0.000000 -v 0.991627 -0.031250 0.000000 -v 0.980785 0.000000 -0.195090 -v 0.972573 0.031250 -0.193457 -v 0.950136 0.054127 -0.188994 -v 0.919486 0.062500 -0.182897 -v 0.888837 0.054127 -0.176801 -v 0.866400 0.031250 -0.172338 -v 0.858187 0.000000 -0.170704 -v 0.866400 -0.031250 -0.172338 -v 0.888837 -0.054127 -0.176801 -v 0.919486 -0.062500 -0.182897 -v 0.950136 -0.054127 -0.188994 -v 0.972573 -0.031250 -0.193457 -v 0.923880 0.000000 -0.382683 -v 0.916144 0.031250 -0.379479 -v 0.895008 0.054127 -0.370724 -v 0.866137 0.062500 -0.358766 -v 0.837266 0.054127 -0.346807 -v 0.816131 0.031250 -0.338052 -v 0.808395 0.000000 -0.334848 -v 0.816131 -0.031250 -0.338052 -v 0.837266 -0.054127 -0.346807 -v 0.866137 -0.062500 -0.358766 -v 0.895008 -0.054127 -0.370724 -v 0.916144 -0.031250 -0.379479 -v 0.831470 0.000000 -0.555570 -v 0.824507 0.031250 -0.550918 -v 0.805486 0.054127 -0.538209 -v 0.779503 0.062500 -0.520847 -v 0.753519 0.054127 -0.503486 -v 0.734498 0.031250 -0.490776 -v 0.727536 0.000000 -0.486124 -v 0.734498 -0.031250 -0.490776 -v 0.753519 -0.054127 -0.503486 -v 0.779503 -0.062500 -0.520847 -v 0.805486 -0.054127 -0.538209 -v 0.824507 -0.031250 -0.550918 -v 0.707107 0.000000 -0.707107 -v 0.701186 0.031250 -0.701186 -v 0.685010 0.054127 -0.685010 -v 0.662913 0.062500 -0.662913 -v 0.640815 0.054127 -0.640816 -v 0.624639 0.031250 -0.624639 -v 0.618718 0.000000 -0.618719 -v 0.624639 -0.031250 -0.624639 -v 0.640815 -0.054127 -0.640816 -v 0.662913 -0.062500 -0.662913 -v 0.685010 -0.054127 -0.685010 -v 0.701186 -0.031250 -0.701186 -v 0.555570 0.000000 -0.831470 -v 0.550918 0.031250 -0.824507 -v 0.538209 0.054127 -0.805486 -v 0.520847 0.062500 -0.779503 -v 0.503485 0.054127 -0.753519 -v 0.490776 0.031250 -0.734498 -v 0.486124 0.000000 -0.727536 -v 0.490776 -0.031250 -0.734498 -v 0.503485 -0.054127 -0.753519 -v 0.520847 -0.062500 -0.779503 -v 0.538209 -0.054127 -0.805486 -v 0.550918 -0.031250 -0.824507 -v 0.382684 0.000000 -0.923879 -v 0.379479 0.031250 -0.916143 -v 0.370725 0.054127 -0.895008 -v 0.358766 0.062500 -0.866137 -v 0.346807 0.054127 -0.837266 -v 0.338053 0.031250 -0.816131 -v 0.334848 0.000000 -0.808394 -v 0.338053 -0.031250 -0.816131 -v 0.346807 -0.054127 -0.837266 -v 0.358766 -0.062500 -0.866137 -v 0.370725 -0.054127 -0.895008 -v 0.379479 -0.031250 -0.916143 -v 0.195090 0.000000 -0.980785 -v 0.193457 0.031250 -0.972573 -v 0.188994 0.054127 -0.950136 -v 0.182897 0.062500 -0.919486 -v 0.176801 0.054127 -0.888837 -v 0.172338 0.031250 -0.866400 -v 0.170704 0.000000 -0.858187 -v 0.172338 -0.031250 -0.866400 -v 0.176801 -0.054127 -0.888837 -v 0.182897 -0.062500 -0.919486 -v 0.188994 -0.054127 -0.950136 -v 0.193457 -0.031250 -0.972573 -v 0.000000 0.000000 -1.000000 -v 0.000000 0.031250 -0.991627 -v 0.000000 0.054127 -0.968750 -v 0.000000 0.062500 -0.937500 -v 0.000000 0.054127 -0.906250 -v 0.000000 0.031250 -0.883373 -v 0.000000 0.000000 -0.875000 -v 0.000000 -0.031250 -0.883373 -v 0.000000 -0.054127 -0.906250 -v 0.000000 -0.062500 -0.937500 -v 0.000000 -0.054127 -0.968750 -v 0.000000 -0.031250 -0.991627 -v -0.195090 0.000000 -0.980785 -v -0.193457 0.031250 -0.972573 -v -0.188994 0.054127 -0.950136 -v -0.182897 0.062500 -0.919486 -v -0.176801 0.054127 -0.888837 -v -0.172338 0.031250 -0.866400 -v -0.170704 0.000000 -0.858187 -v -0.172338 -0.031250 -0.866400 -v -0.176801 -0.054127 -0.888837 -v -0.182897 -0.062500 -0.919486 -v -0.188994 -0.054127 -0.950136 -v -0.193457 -0.031250 -0.972573 -v -0.382684 0.000000 -0.923880 -v -0.379479 0.031250 -0.916143 -v -0.370725 0.054127 -0.895008 -v -0.358766 0.062500 -0.866137 -v -0.346807 0.054127 -0.837266 -v -0.338052 0.031250 -0.816131 -v -0.334848 0.000000 -0.808395 -v -0.338052 -0.031250 -0.816131 -v -0.346807 -0.054127 -0.837266 -v -0.358766 -0.062500 -0.866137 -v -0.370725 -0.054127 -0.895008 -v -0.379479 -0.031250 -0.916143 -v -0.555570 0.000000 -0.831470 -v -0.550918 0.031250 -0.824508 -v -0.538208 0.054127 -0.805486 -v -0.520847 0.062500 -0.779503 -v -0.503485 0.054127 -0.753519 -v -0.490776 0.031250 -0.734498 -v -0.486124 0.000000 -0.727536 -v -0.490776 -0.031250 -0.734498 -v -0.503485 -0.054127 -0.753519 -v -0.520847 -0.062500 -0.779503 -v -0.538208 -0.054127 -0.805486 -v -0.550918 -0.031250 -0.824508 -v -0.707107 0.000000 -0.707107 -v -0.701186 0.031250 -0.701186 -v -0.685010 0.054127 -0.685009 -v -0.662913 0.062500 -0.662912 -v -0.640816 0.054127 -0.640815 -v -0.624640 0.031250 -0.624639 -v -0.618719 0.000000 -0.618718 -v -0.624640 -0.031250 -0.624639 -v -0.640816 -0.054127 -0.640815 -v -0.662913 -0.062500 -0.662912 -v -0.685010 -0.054127 -0.685009 -v -0.701186 -0.031250 -0.701186 -v -0.831470 0.000000 -0.555570 -v -0.824507 0.031250 -0.550918 -v -0.805486 0.054127 -0.538209 -v -0.779503 0.062500 -0.520847 -v -0.753519 0.054127 -0.503486 -v -0.734498 0.031250 -0.490776 -v -0.727536 0.000000 -0.486124 -v -0.734498 -0.031250 -0.490776 -v -0.753519 -0.054127 -0.503486 -v -0.779503 -0.062500 -0.520847 -v -0.805486 -0.054127 -0.538209 -v -0.824507 -0.031250 -0.550918 -v -0.923880 0.000000 -0.382683 -v -0.916143 0.031250 -0.379479 -v -0.895008 0.054127 -0.370725 -v -0.866137 0.062500 -0.358766 -v -0.837266 0.054127 -0.346807 -v -0.816131 0.031250 -0.338052 -v -0.808395 0.000000 -0.334848 -v -0.816131 -0.031250 -0.338052 -v -0.837266 -0.054127 -0.346807 -v -0.866137 -0.062500 -0.358766 -v -0.895008 -0.054127 -0.370725 -v -0.916143 -0.031250 -0.379479 -v -0.980785 0.000000 -0.195090 -v -0.972573 0.031250 -0.193457 -v -0.950136 0.054127 -0.188994 -v -0.919486 0.062500 -0.182897 -v -0.888837 0.054127 -0.176801 -v -0.866400 0.031250 -0.172338 -v -0.858187 0.000000 -0.170704 -v -0.866400 -0.031250 -0.172338 -v -0.888837 -0.054127 -0.176801 -v -0.919486 -0.062500 -0.182897 -v -0.950136 -0.054127 -0.188994 -v -0.972573 -0.031250 -0.193457 -v -1.000000 0.000000 -0.000000 -v -0.991627 0.031250 -0.000000 -v -0.968750 0.054127 -0.000000 -v -0.937500 0.062500 -0.000000 -v -0.906250 0.054127 -0.000000 -v -0.883373 0.031250 -0.000000 -v -0.875000 0.000000 -0.000000 -v -0.883373 -0.031250 -0.000000 -v -0.906250 -0.054127 -0.000000 -v -0.937500 -0.062500 -0.000000 -v -0.968750 -0.054127 -0.000000 -v -0.991627 -0.031250 -0.000000 -v -0.980785 0.000000 0.195090 -v -0.972573 0.031250 0.193457 -v -0.950136 0.054127 0.188994 -v -0.919486 0.062500 0.182897 -v -0.888837 0.054127 0.176801 -v -0.866400 0.031250 0.172338 -v -0.858187 0.000000 0.170704 -v -0.866400 -0.031250 0.172338 -v -0.888837 -0.054127 0.176801 -v -0.919486 -0.062500 0.182897 -v -0.950136 -0.054127 0.188994 -v -0.972573 -0.031250 0.193457 -v -0.923880 0.000000 0.382683 -v -0.916144 0.031250 0.379479 -v -0.895008 0.054127 0.370724 -v -0.866137 0.062500 0.358765 -v -0.837266 0.054127 0.346807 -v -0.816131 0.031250 0.338052 -v -0.808395 0.000000 0.334848 -v -0.816131 -0.031250 0.338052 -v -0.837266 -0.054127 0.346807 -v -0.866137 -0.062500 0.358765 -v -0.895008 -0.054127 0.370724 -v -0.916144 -0.031250 0.379479 -v -0.831470 0.000000 0.555570 -v -0.824507 0.031250 0.550918 -v -0.805486 0.054127 0.538209 -v -0.779503 0.062500 0.520847 -v -0.753519 0.054127 0.503486 -v -0.734498 0.031250 0.490776 -v -0.727536 0.000000 0.486124 -v -0.734498 -0.031250 0.490776 -v -0.753519 -0.054127 0.503486 -v -0.779503 -0.062500 0.520847 -v -0.805486 -0.054127 0.538209 -v -0.824507 -0.031250 0.550918 -v -0.707107 0.000000 0.707107 -v -0.701186 0.031250 0.701186 -v -0.685010 0.054127 0.685009 -v -0.662913 0.062500 0.662912 -v -0.640816 0.054127 0.640815 -v -0.624640 0.031250 0.624639 -v -0.618719 0.000000 0.618718 -v -0.624640 -0.031250 0.624639 -v -0.640816 -0.054127 0.640815 -v -0.662913 -0.062500 0.662912 -v -0.685010 -0.054127 0.685009 -v -0.701186 -0.031250 0.701186 -v -0.555571 0.000000 0.831469 -v -0.550919 0.031250 0.824507 -v -0.538209 0.054127 0.805486 -v -0.520848 0.062500 0.779502 -v -0.503486 0.054127 0.753519 -v -0.490776 0.031250 0.734498 -v -0.486124 0.000000 0.727536 -v -0.490776 -0.031250 0.734498 -v -0.503486 -0.054127 0.753519 -v -0.520848 -0.062500 0.779502 -v -0.538209 -0.054127 0.805486 -v -0.550919 -0.031250 0.824507 -v -0.382684 0.000000 0.923880 -v -0.379479 0.031250 0.916143 -v -0.370725 0.054127 0.895008 -v -0.358766 0.062500 0.866137 -v -0.346807 0.054127 0.837266 -v -0.338052 0.031250 0.816131 -v -0.334848 0.000000 0.808395 -v -0.338052 -0.031250 0.816131 -v -0.346807 -0.054127 0.837266 -v -0.358766 -0.062500 0.866137 -v -0.370725 -0.054127 0.895008 -v -0.379479 -0.031250 0.916143 -v -0.195091 0.000000 0.980785 -v -0.193457 0.031250 0.972573 -v -0.188994 0.054127 0.950136 -v -0.182898 0.062500 0.919486 -v -0.176801 0.054127 0.888837 -v -0.172338 0.031250 0.866400 -v -0.170704 0.000000 0.858187 -v -0.172338 -0.031250 0.866400 -v -0.176801 -0.054127 0.888837 -v -0.182898 -0.062500 0.919486 -v -0.188994 -0.054127 0.950136 -v -0.193457 -0.031250 0.972573 -v 0.000000 0.000000 1.000000 -v 0.000000 0.031250 0.991627 -v 0.000000 0.054127 0.968750 -v 0.000000 0.062500 0.937500 -v 0.000000 0.054127 0.906250 -v 0.000000 0.031250 0.883373 -v 0.000000 0.000000 0.875000 -v 0.000000 -0.031250 0.883373 -v 0.000000 -0.054127 0.906250 -v 0.000000 -0.062500 0.937500 -v 0.000000 -0.054127 0.968750 -v 0.000000 -0.031250 0.991627 -v 0.195090 0.000000 0.980785 -v 0.193456 0.031250 0.972573 -v 0.188993 0.054127 0.950136 -v 0.182897 0.062500 0.919486 -v 0.176800 0.054127 0.888837 -v 0.172337 0.031250 0.866400 -v 0.170704 0.000000 0.858187 -v 0.172337 -0.031250 0.866400 -v 0.176800 -0.054127 0.888837 -v 0.182897 -0.062500 0.919486 -v 0.188993 -0.054127 0.950136 -v 0.193456 -0.031250 0.972573 -v 0.382684 0.000000 0.923879 -v 0.379479 0.031250 0.916143 -v 0.370725 0.054127 0.895008 -v 0.358766 0.062500 0.866137 -v 0.346807 0.054127 0.837266 -v 0.338053 0.031250 0.816131 -v 0.334848 0.000000 0.808394 -v 0.338053 -0.031250 0.816131 -v 0.346807 -0.054127 0.837266 -v 0.358766 -0.062500 0.866137 -v 0.370725 -0.054127 0.895008 -v 0.379479 -0.031250 0.916143 -v 0.555570 0.000000 0.831470 -v 0.550918 0.031250 0.824507 -v 0.538209 0.054127 0.805486 -v 0.520847 0.062500 0.779503 -v 0.503485 0.054127 0.753519 -v 0.490776 0.031250 0.734498 -v 0.486124 0.000000 0.727536 -v 0.490776 -0.031250 0.734498 -v 0.503485 -0.054127 0.753519 -v 0.520847 -0.062500 0.779503 -v 0.538209 -0.054127 0.805486 -v 0.550918 -0.031250 0.824507 -v 0.707106 0.000000 0.707107 -v 0.701186 0.031250 0.701186 -v 0.685009 0.054127 0.685010 -v 0.662912 0.062500 0.662913 -v 0.640815 0.054127 0.640816 -v 0.624639 0.031250 0.624640 -v 0.618718 0.000000 0.618719 -v 0.624639 -0.031250 0.624640 -v 0.640815 -0.054127 0.640816 -v 0.662912 -0.062500 0.662913 -v 0.685009 -0.054127 0.685010 -v 0.701186 -0.031250 0.701186 -v 0.831470 0.000000 0.555570 -v 0.824507 0.031250 0.550918 -v 0.805486 0.054127 0.538209 -v 0.779503 0.062500 0.520847 -v 0.753519 0.054127 0.503486 -v 0.734498 0.031250 0.490776 -v 0.727536 0.000000 0.486124 -v 0.734498 -0.031250 0.490776 -v 0.753519 -0.054127 0.503486 -v 0.779503 -0.062500 0.520847 -v 0.805486 -0.054127 0.538209 -v 0.824507 -0.031250 0.550918 -v 0.923879 0.000000 0.382684 -v 0.916143 0.031250 0.379479 -v 0.895008 0.054127 0.370725 -v 0.866137 0.062500 0.358766 -v 0.837266 0.054127 0.346807 -v 0.816131 0.031250 0.338053 -v 0.808394 0.000000 0.334848 -v 0.816131 -0.031250 0.338053 -v 0.837266 -0.054127 0.346807 -v 0.866137 -0.062500 0.358766 -v 0.895008 -0.054127 0.370725 -v 0.916143 -0.031250 0.379479 -v 0.980785 0.000000 0.195090 -v 0.972573 0.031250 0.193457 -v 0.950136 0.054127 0.188994 -v 0.919486 0.062500 0.182897 -v 0.888837 0.054127 0.176800 -v 0.866400 0.031250 0.172337 -v 0.858187 0.000000 0.170704 -v 0.866400 -0.031250 0.172337 -v 0.888837 -0.054127 0.176800 -v 0.919486 -0.062500 0.182897 -v 0.950136 -0.054127 0.188994 -v 0.972573 -0.031250 0.193457 -vt 0.000000 0.500000 -vt 0.250000 0.666667 -vt 0.000000 0.666667 -vt 0.000000 0.833333 -vt 0.250000 0.833333 -vt 0.000000 1.000000 -vt 0.250000 1.000000 -vt 0.000000 1.166667 -vt 0.250000 1.166667 -vt 0.000000 1.333333 -vt 0.250000 1.333333 -vt 0.000000 1.500000 -vt 0.250000 -0.500000 -vt 0.000000 -0.333333 -vt 0.000000 -0.500000 -vt 0.250000 -0.333333 -vt 0.000000 -0.166667 -vt 0.250000 0.000000 -vt 0.000000 0.000000 -vt 0.250000 0.166667 -vt 0.000000 0.166667 -vt 0.000000 0.333333 -vt 0.250000 0.500000 -vt 0.500000 0.500000 -vt 0.500000 0.666667 -vt 0.500000 1.000000 -vt 0.500000 1.166667 -vt 0.500000 1.333333 -vt 0.250000 1.500000 -vt 0.500000 -0.500000 -vt 0.500000 -0.333333 -vt 0.250000 -0.166667 -vt 0.500000 -0.166667 -vt 0.500000 0.166667 -vt 0.250000 0.333333 -vt 0.750000 0.500000 -vt 0.750000 0.666667 -vt 0.500000 0.833333 -vt 0.750000 0.833333 -vt 0.750000 1.000000 -vt 0.750000 1.166667 -vt 0.750000 1.333333 -vt 0.500000 1.500000 -vt 0.750000 -0.500000 -vt 0.750000 -0.333333 -vt 0.750000 0.000000 -vt 0.500000 0.000000 -vt 0.750000 0.333333 -vt 0.500000 0.333333 -vt 1.000000 0.666667 -vt 1.000000 0.833333 -vt 1.000000 1.000000 -vt 1.000000 1.166667 -vt 1.000000 1.333333 -vt 0.750000 1.500000 -vt 1.000000 -0.500000 -vt 1.000000 -0.333333 -vt 0.750000 -0.166667 -vt 1.000000 0.000000 -vt 0.750000 0.166667 -vt 1.000000 0.333333 -vt 0.000000 0.500000 -vt 0.250000 0.666667 -vt 0.000000 0.666667 -vt 0.000000 0.833333 -vt 0.250000 0.833333 -vt 0.000000 1.000000 -vt 0.250000 1.166667 -vt 0.000000 1.166667 -vt 0.000000 1.333333 -vt 0.250000 1.500000 -vt 0.000000 1.500000 -vt 0.250000 -0.500000 -vt 0.000000 -0.333333 -vt 0.000000 -0.500000 -vt 0.250000 -0.333333 -vt 0.000000 -0.166667 -vt 0.250000 -0.166667 -vt 0.000000 0.000000 -vt 0.250000 0.000000 -vt 0.000000 0.166667 -vt 0.250000 0.333333 -vt 0.000000 0.333333 -vt 0.500000 0.500000 -vt 0.250000 0.500000 -vt 0.500000 0.833333 -vt 0.250000 1.000000 -vt 0.500000 1.000000 -vt 0.500000 1.166667 -vt 0.250000 1.333333 -vt 0.500000 1.500000 -vt 0.500000 -0.500000 -vt 0.500000 -0.166667 -vt 0.500000 0.166667 -vt 0.250000 0.166667 -vt 0.750000 0.500000 -vt 0.500000 0.666667 -vt 0.750000 0.666667 -vt 0.750000 0.833333 -vt 0.750000 1.000000 -vt 0.750000 1.166667 -vt 0.500000 1.333333 -vt 0.750000 1.500000 -vt 0.750000 -0.500000 -vt 0.500000 -0.333333 -vt 0.750000 -0.333333 -vt 0.750000 -0.166667 -vt 0.500000 0.000000 -vt 0.750000 0.000000 -vt 0.750000 0.166667 -vt 0.500000 0.333333 -vt 1.000000 0.666667 -vt 1.000000 0.833333 -vt 1.000000 1.166667 -vt 0.750000 1.333333 -vt 1.000000 1.333333 -vt 1.000000 -0.500000 -vt 1.000000 -0.166667 -vt 1.000000 0.166667 -vt 0.750000 0.333333 -vt 1.000000 0.500000 -vt 0.250000 0.500000 -vt 0.000000 0.666667 -vt 0.000000 0.500000 -vt 0.250000 0.666667 -vt 0.000000 0.833333 -vt 0.250000 0.833333 -vt 0.000000 1.000000 -vt 0.250000 1.166667 -vt 0.000000 1.166667 -vt 0.250000 1.333333 -vt 0.000000 1.333333 -vt 0.000000 1.500000 -vt 0.000000 -0.500000 -vt 0.250000 -0.333333 -vt 0.000000 -0.333333 -vt 0.000000 -0.166667 -vt 0.250000 0.000000 -vt 0.000000 0.000000 -vt 0.250000 0.166667 -vt 0.000000 0.166667 -vt 0.250000 0.333333 -vt 0.000000 0.333333 -vt 0.500000 0.500000 -vt 0.500000 0.833333 -vt 0.500000 1.000000 -vt 0.250000 1.000000 -vt 0.500000 1.166667 -vt 0.500000 1.333333 -vt 0.250000 1.500000 -vt 0.250000 -0.500000 -vt 0.500000 -0.333333 -vt 0.250000 -0.166667 -vt 0.500000 0.000000 -vt 0.500000 0.166667 -vt 0.500000 0.333333 -vt 0.750000 0.666667 -vt 0.500000 0.666667 -vt 0.750000 0.833333 -vt 0.750000 1.000000 -vt 0.750000 1.333333 -vt 0.500000 1.500000 -vt 0.750000 -0.500000 -vt 0.500000 -0.500000 -vt 0.750000 -0.333333 -vt 0.500000 -0.166667 -vt 0.750000 0.000000 -vt 0.750000 0.333333 -vt 0.750000 0.500000 -vt 1.000000 0.666667 -vt 1.000000 1.000000 -vt 1.000000 1.166667 -vt 0.750000 1.166667 -vt 1.000000 1.500000 -vt 0.750000 1.500000 -vt 1.000000 -0.500000 -vt 1.000000 -0.166667 -vt 0.750000 -0.166667 -vt 1.000000 0.000000 -vt 0.750000 0.166667 -vt 1.000000 0.333333 -vt 0.000000 0.500000 -vt 0.250000 0.666667 -vt 0.000000 0.666667 -vt 0.000000 0.833333 -vt 0.250000 0.833333 -vt 0.000000 1.000000 -vt 0.250000 1.166667 -vt 0.000000 1.166667 -vt 0.000000 1.333333 -vt 0.250000 1.333333 -vt 0.000000 1.500000 -vt 0.250000 -0.500000 -vt 0.000000 -0.333333 -vt 0.000000 -0.500000 -vt 0.250000 -0.166667 -vt 0.000000 -0.166667 -vt 0.000000 0.000000 -vt 0.250000 0.166667 -vt 0.000000 0.166667 -vt 0.250000 0.333333 -vt 0.000000 0.333333 -vt 0.500000 0.500000 -vt 0.250000 0.500000 -vt 0.500000 0.666667 -vt 0.500000 0.833333 -vt 0.250000 1.000000 -vt 0.500000 1.000000 -vt 0.500000 1.333333 -vt 0.250000 1.500000 -vt 0.500000 -0.333333 -vt 0.250000 -0.333333 -vt 0.500000 0.000000 -vt 0.250000 0.000000 -vt 0.500000 0.166667 -vt 0.750000 0.500000 -vt 0.750000 0.666667 -vt 0.750000 1.000000 -vt 0.500000 1.166667 -vt 0.750000 1.166667 -vt 0.750000 1.500000 -vt 0.500000 1.500000 -vt 0.750000 -0.500000 -vt 0.500000 -0.500000 -vt 0.750000 -0.166667 -vt 0.500000 -0.166667 -vt 0.750000 0.000000 -vt 0.750000 0.166667 -vt 0.500000 0.333333 -vt 0.750000 0.333333 -vt 1.000000 0.500000 -vt 1.000000 0.666667 -vt 0.750000 0.833333 -vt 1.000000 0.833333 -vt 1.000000 1.000000 -vt 1.000000 1.166667 -vt 0.750000 1.333333 -vt 1.000000 1.333333 -vt 1.000000 -0.500000 -vt 0.750000 -0.333333 -vt 1.000000 -0.333333 -vt 1.000000 -0.166667 -vt 1.000000 0.000000 -vt 1.000000 0.333333 -vt 0.250000 0.500000 -vt 0.000000 0.666667 -vt 0.000000 0.500000 -vt 0.250000 0.833333 -vt 0.000000 0.833333 -vt 0.000000 1.000000 -vt 0.250000 1.000000 -vt 0.000000 1.166667 -vt 0.250000 1.333333 -vt 0.000000 1.333333 -vt 0.000000 1.500000 -vt 0.250000 -0.500000 -vt 0.000000 -0.333333 -vt 0.000000 -0.500000 -vt 0.250000 -0.333333 -vt 0.000000 -0.166667 -vt 0.250000 -0.166667 -vt 0.000000 0.000000 -vt 0.250000 0.166667 -vt 0.000000 0.166667 -vt 0.000000 0.333333 -vt 0.250000 0.333333 -vt 0.500000 0.500000 -vt 0.250000 0.666667 -vt 0.500000 0.833333 -vt 0.500000 1.000000 -vt 0.500000 1.166667 -vt 0.250000 1.166667 -vt 0.500000 1.500000 -vt 0.250000 1.500000 -vt 0.500000 -0.500000 -vt 0.500000 -0.166667 -vt 0.250000 0.000000 -vt 0.500000 0.000000 -vt 0.500000 0.166667 -vt 0.750000 0.666667 -vt 0.500000 0.666667 -vt 0.750000 1.000000 -vt 0.750000 1.166667 -vt 0.500000 1.333333 -vt 0.750000 1.333333 -vt 0.750000 -0.500000 -vt 0.500000 -0.333333 -vt 0.750000 -0.166667 -vt 0.750000 0.000000 -vt 0.750000 0.333333 -vt 0.500000 0.333333 -vt 1.000000 0.500000 -vt 0.750000 0.500000 -vt 1.000000 0.666667 -vt 0.750000 0.833333 -vt 1.000000 0.833333 -vt 1.000000 1.000000 -vt 1.000000 1.333333 -vt 0.750000 1.500000 -vt 1.000000 -0.333333 -vt 0.750000 -0.333333 -vt 1.000000 -0.166667 -vt 1.000000 0.000000 -vt 0.750000 0.166667 -vt 1.000000 0.166667 -vt 1.000000 0.333333 -vt 0.250000 0.500000 -vt 0.000000 0.666667 -vt 0.000000 0.500000 -vt 0.250000 0.833333 -vt 0.000000 0.833333 -vt 0.250000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 1.166667 -vt 0.250000 1.166667 -vt 0.000000 1.333333 -vt 0.250000 1.333333 -vt 0.000000 1.500000 -vt 0.000000 -0.500000 -vt 0.250000 -0.333333 -vt 0.000000 -0.333333 -vt 0.000000 -0.166667 -vt 0.250000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.166667 -vt 0.250000 0.166667 -vt 0.000000 0.333333 -vt 0.500000 0.500000 -vt 0.250000 0.666667 -vt 0.500000 0.666667 -vt 0.500000 1.000000 -vt 0.500000 1.166667 -vt 0.500000 1.500000 -vt 0.250000 1.500000 -vt 0.500000 -0.500000 -vt 0.250000 -0.500000 -vt 0.500000 -0.333333 -vt 0.250000 -0.166667 -vt 0.500000 -0.166667 -vt 0.500000 0.000000 -vt 0.500000 0.166667 -vt 0.250000 0.333333 -vt 0.500000 0.333333 -vt 0.750000 0.500000 -vt 0.750000 0.833333 -vt 0.500000 0.833333 -vt 0.750000 1.166667 -vt 0.750000 1.333333 -vt 0.500000 1.333333 -vt 0.750000 1.500000 -vt 0.750000 -0.500000 -vt 0.750000 -0.333333 -vt 0.750000 -0.166667 -vt 0.750000 0.000000 -vt 0.750000 0.166667 -vt 1.000000 0.500000 -vt 0.750000 0.666667 -vt 1.000000 0.833333 -vt 0.750000 1.000000 -vt 1.000000 1.166667 -vt 1.000000 1.333333 -vt 1.000000 -0.500000 -vt 1.000000 -0.333333 -vt 1.000000 0.000000 -vt 1.000000 0.333333 -vt 0.750000 0.333333 -vt 0.250000 0.500000 -vt 0.000000 0.666667 -vt 0.000000 0.500000 -vt 0.250000 0.666667 -vt 0.000000 0.833333 -vt 0.250000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 1.166667 -vt 0.250000 1.333333 -vt 0.000000 1.333333 -vt 0.250000 1.500000 -vt 0.000000 1.500000 -vt 0.250000 -0.500000 -vt 0.000000 -0.333333 -vt 0.000000 -0.500000 -vt 0.250000 -0.333333 -vt 0.000000 -0.166667 -vt 0.250000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.166667 -vt 0.250000 0.166667 -vt 0.000000 0.333333 -vt 0.500000 0.500000 -vt 0.500000 0.666667 -vt 0.250000 0.833333 -vt 0.500000 1.000000 -vt 0.250000 1.166667 -vt 0.500000 1.166667 -vt 0.500000 1.333333 -vt 0.500000 -0.333333 -vt 0.500000 -0.166667 -vt 0.250000 -0.166667 -vt 0.500000 0.000000 -vt 0.500000 0.166667 -vt 0.250000 0.333333 -vt 0.500000 0.333333 -vt 0.750000 0.500000 -vt 0.750000 0.666667 -vt 0.500000 0.833333 -vt 0.750000 1.000000 -vt 0.750000 1.166667 -vt 0.750000 1.333333 -vt 0.500000 1.500000 -vt 0.500000 -0.500000 -vt 0.750000 -0.333333 -vt 0.750000 0.000000 -vt 0.750000 0.166667 -vt 0.750000 0.333333 -vt 1.000000 0.500000 -vt 1.000000 0.666667 -vt 0.750000 0.833333 -vt 1.000000 1.000000 -vt 1.000000 1.333333 -vt 1.000000 1.500000 -vt 0.750000 1.500000 -vt 1.000000 -0.500000 -vt 0.750000 -0.500000 -vt 1.000000 -0.333333 -vt 0.750000 -0.166667 -vt 1.000000 0.000000 -vt 1.000000 0.166667 -vt 1.000000 0.333333 -vt 0.250000 0.500000 -vt 0.000000 0.666667 -vt 0.000000 0.500000 -vt 0.250000 0.833333 -vt 0.000000 0.833333 -vt 0.000000 1.000000 -vt 0.250000 1.000000 -vt 0.000000 1.166667 -vt 0.250000 1.166667 -vt 0.000000 1.333333 -vt 0.250000 1.333333 -vt 0.000000 1.500000 -vt 0.250000 -0.500000 -vt 0.000000 -0.333333 -vt 0.000000 -0.500000 -vt 0.250000 -0.166667 -vt 0.000000 -0.166667 -vt 0.000000 0.000000 -vt 0.250000 0.000000 -vt 0.000000 0.166667 -vt 0.250000 0.166667 -vt 0.000000 0.333333 -vt 0.500000 0.500000 -vt 0.250000 0.666667 -vt 0.500000 0.666667 -vt 0.500000 0.833333 -vt 0.500000 1.166667 -vt 0.500000 1.500000 -vt 0.250000 1.500000 -vt 0.500000 -0.500000 -vt 0.250000 -0.333333 -vt 0.500000 -0.166667 -vt 0.500000 0.166667 -vt 0.250000 0.333333 -vt 0.500000 0.333333 -vt 0.750000 0.666667 -vt 0.750000 0.833333 -vt 0.500000 1.000000 -vt 0.750000 1.166667 -vt 0.500000 1.333333 -vt 0.750000 1.333333 -vt 0.750000 -0.500000 -vt 0.500000 -0.333333 -vt 0.750000 -0.166667 -vt 0.500000 0.000000 -vt 0.750000 0.000000 -vt 0.750000 0.333333 -vt 0.750000 0.500000 -vt 1.000000 0.500000 -vt 1.000000 0.666667 -vt 1.000000 1.000000 -vt 0.750000 1.000000 -vt 1.000000 1.333333 -vt 0.750000 1.500000 -vt 1.000000 -0.333333 -vt 0.750000 -0.333333 -vt 1.000000 -0.166667 -vt 1.000000 0.000000 -vt 0.750000 0.166667 -vt 1.000000 0.333333 -vt 1.000000 0.500000 -vt 1.000000 1.500000 -vt 1.000000 -0.166667 -vt 1.000000 0.166667 -vt 1.000000 1.000000 -vt 1.000000 1.500000 -vt 1.000000 -0.333333 -vt 1.000000 0.000000 -vt 1.000000 0.333333 -vt 1.000000 0.500000 -vt 1.000000 0.833333 -vt 1.000000 1.333333 -vt 1.000000 -0.333333 -vt 1.000000 0.166667 -vt 1.000000 1.500000 -vt 1.000000 0.166667 -vt 1.000000 1.166667 -vt 1.000000 1.500000 -vt 1.000000 -0.500000 -vt 1.000000 0.666667 -vt 1.000000 1.000000 -vt 1.000000 1.500000 -vt 1.000000 -0.166667 -vt 1.000000 0.166667 -vt 1.000000 0.833333 -vt 1.000000 1.166667 -vt 1.000000 -0.166667 -vt 1.000000 0.833333 -vt 1.000000 1.166667 -vt 1.000000 1.500000 -vt 1.000000 -0.500000 -vt 1.000000 0.166667 -vn 1.0000 0.0000 0.0000 -vn 0.8532 0.4931 -0.1697 -vn 0.8699 0.4931 0.0000 -vn 0.5119 0.8590 0.0000 -vn 0.5021 0.8590 -0.0999 -vn 0.0161 0.9998 0.0000 -vn 0.0158 0.9998 -0.0031 -vn -0.4877 0.8730 0.0000 -vn -0.4783 0.8730 0.0951 -vn -0.8618 0.5071 0.0000 -vn -0.8453 0.5071 0.1681 -vn -1.0000 0.0000 0.0000 -vn -0.9808 0.0000 0.1951 -vn -0.8618 -0.5071 0.0000 -vn -0.8453 -0.5071 0.1681 -vn -0.4877 -0.8730 0.0000 -vn 0.0158 -0.9998 -0.0031 -vn 0.0161 -0.9998 0.0000 -vn 0.5021 -0.8590 -0.0999 -vn 0.5119 -0.8590 0.0000 -vn 0.8699 -0.4931 0.0000 -vn 0.9808 0.0000 -0.1951 -vn 0.9239 0.0000 -0.3827 -vn 0.8037 0.4931 -0.3329 -vn 0.0149 0.9998 -0.0062 -vn -0.4505 0.8730 0.1866 -vn -0.7963 0.5071 0.3298 -vn -0.9239 0.0000 0.3827 -vn -0.7963 -0.5071 0.3298 -vn -0.4783 -0.8730 0.0951 -vn -0.4505 -0.8730 0.1866 -vn 0.4729 -0.8590 -0.1959 -vn 0.8532 -0.4931 -0.1697 -vn 0.8314 0.0000 -0.5556 -vn 0.7233 0.4931 -0.4833 -vn 0.4729 0.8590 -0.1959 -vn 0.4256 0.8590 -0.2844 -vn 0.0134 0.9998 -0.0090 -vn -0.4055 0.8730 0.2709 -vn -0.7166 0.5071 0.4788 -vn -0.8314 0.0000 0.5556 -vn -0.7166 -0.5071 0.4788 -vn 0.0134 -0.9998 -0.0090 -vn 0.0149 -0.9998 -0.0062 -vn 0.7233 -0.4931 -0.4833 -vn 0.8037 -0.4931 -0.3329 -vn 0.6151 0.4931 -0.6151 -vn 0.3620 0.8590 -0.3620 -vn 0.0114 0.9998 -0.0114 -vn -0.3448 0.8730 0.3448 -vn -0.6094 0.5071 0.6094 -vn -0.7071 0.0000 0.7071 -vn -0.6094 -0.5071 0.6094 -vn -0.4055 -0.8730 0.2709 -vn 0.0114 -0.9998 -0.0114 -vn 0.4256 -0.8590 -0.2844 -vn 0.6151 -0.4931 -0.6151 -vn 0.7071 0.0000 -0.7071 -vn 0.4833 0.4931 -0.7233 -vn 0.2844 0.8590 -0.4256 -vn -0.2709 0.8730 0.4055 -vn -0.5556 0.0000 0.8314 -vn -0.4788 -0.5071 0.7166 -vn -0.3448 -0.8730 0.3448 -vn -0.2709 -0.8730 0.4055 -vn 0.0090 -0.9998 -0.0134 -vn 0.3620 -0.8590 -0.3620 -vn 0.4833 -0.4931 -0.7233 -vn 0.3827 0.0000 -0.9239 -vn 0.5556 0.0000 -0.8314 -vn 0.1959 0.8590 -0.4729 -vn 0.0090 0.9998 -0.0134 -vn 0.0062 0.9998 -0.0149 -vn -0.1866 0.8730 0.4505 -vn -0.4788 0.5071 0.7166 -vn -0.3827 0.0000 0.9239 -vn -0.1866 -0.8730 0.4505 -vn 0.1959 -0.8590 -0.4729 -vn 0.2844 -0.8590 -0.4256 -vn 0.1951 0.0000 -0.9808 -vn 0.3329 0.4931 -0.8037 -vn 0.1697 0.4931 -0.8532 -vn 0.0999 0.8590 -0.5021 -vn 0.0031 0.9998 -0.0158 -vn -0.0951 0.8730 0.4783 -vn -0.3298 0.5071 0.7963 -vn -0.1951 0.0000 0.9808 -vn -0.3298 -0.5071 0.7963 -vn -0.1681 -0.5071 0.8453 -vn -0.0951 -0.8730 0.4783 -vn 0.0062 -0.9998 -0.0149 -vn 0.0031 -0.9998 -0.0158 -vn 0.0999 -0.8590 -0.5021 -vn 0.3329 -0.4931 -0.8037 -vn 0.0000 0.4931 -0.8699 -vn 0.0000 0.8590 -0.5119 -vn 0.0000 0.8730 0.4877 -vn -0.1681 0.5071 0.8453 -vn 0.0000 0.5071 0.8618 -vn 0.0000 0.0000 1.0000 -vn 0.0000 -0.8730 0.4877 -vn 0.0000 -0.8590 -0.5119 -vn 0.1697 -0.4931 -0.8532 -vn 0.0000 0.0000 -1.0000 -vn -0.1951 0.0000 -0.9808 -vn -0.1697 0.4931 -0.8532 -vn -0.0999 0.8590 -0.5021 -vn 0.0000 0.9998 -0.0161 -vn 0.0951 0.8730 0.4783 -vn 0.1681 0.5071 0.8453 -vn 0.1681 -0.5071 0.8453 -vn 0.0000 -0.5071 0.8618 -vn -0.0031 -0.9998 -0.0158 -vn 0.0000 -0.9998 -0.0161 -vn -0.0999 -0.8590 -0.5021 -vn -0.1697 -0.4931 -0.8532 -vn 0.0000 -0.4931 -0.8699 -vn -0.3827 0.0000 -0.9239 -vn -0.1959 0.8590 -0.4729 -vn -0.0062 0.9998 -0.0149 -vn -0.0031 0.9998 -0.0158 -vn 0.1866 0.8730 0.4505 -vn 0.3298 0.5071 0.7963 -vn 0.1951 0.0000 0.9808 -vn 0.3298 -0.5071 0.7963 -vn 0.0951 -0.8730 0.4783 -vn -0.0062 -0.9998 -0.0149 -vn -0.1959 -0.8590 -0.4729 -vn -0.3329 -0.4931 -0.8037 -vn -0.4833 0.4931 -0.7233 -vn -0.3329 0.4931 -0.8037 -vn -0.2844 0.8590 -0.4256 -vn -0.0090 0.9998 -0.0134 -vn 0.4788 0.5071 0.7166 -vn 0.3827 0.0000 0.9239 -vn 0.5556 0.0000 0.8314 -vn 0.4788 -0.5071 0.7166 -vn 0.1866 -0.8730 0.4505 -vn -0.0090 -0.9998 -0.0134 -vn -0.4833 -0.4931 -0.7233 -vn -0.5556 0.0000 -0.8314 -vn -0.6151 0.4931 -0.6151 -vn -0.0114 0.9998 -0.0114 -vn 0.3448 0.8730 0.3448 -vn 0.2709 0.8730 0.4055 -vn 0.7071 0.0000 0.7071 -vn 0.3448 -0.8730 0.3448 -vn 0.2709 -0.8730 0.4055 -vn -0.0114 -0.9998 -0.0114 -vn -0.2844 -0.8590 -0.4256 -vn -0.6151 -0.4931 -0.6151 -vn -0.7071 0.0000 -0.7071 -vn -0.7233 0.4931 -0.4833 -vn -0.3620 0.8590 -0.3620 -vn -0.4256 0.8590 -0.2844 -vn 0.4055 0.8730 0.2709 -vn 0.6094 0.5071 0.6094 -vn 0.7166 0.5071 0.4788 -vn 0.8314 0.0000 0.5556 -vn 0.6094 -0.5071 0.6094 -vn 0.4055 -0.8730 0.2709 -vn -0.4256 -0.8590 -0.2844 -vn -0.3620 -0.8590 -0.3620 -vn -0.7233 -0.4931 -0.4833 -vn -0.9239 0.0000 -0.3827 -vn -0.8314 0.0000 -0.5556 -vn -0.8037 0.4931 -0.3329 -vn -0.4729 0.8590 -0.1959 -vn -0.0134 0.9998 -0.0090 -vn -0.0149 0.9998 -0.0062 -vn 0.7963 0.5071 0.3298 -vn 0.7963 -0.5071 0.3298 -vn 0.7166 -0.5071 0.4788 -vn -0.0149 -0.9998 -0.0062 -vn -0.0134 -0.9998 -0.0090 -vn -0.4729 -0.8590 -0.1959 -vn -0.9808 0.0000 -0.1951 -vn -0.8532 0.4931 -0.1697 -vn -0.0158 0.9998 -0.0031 -vn 0.4505 0.8730 0.1866 -vn 0.4783 0.8730 0.0951 -vn 0.9808 0.0000 0.1951 -vn 0.9239 0.0000 0.3827 -vn 0.4783 -0.8730 0.0951 -vn 0.4505 -0.8730 0.1866 -vn -0.0158 -0.9998 -0.0031 -vn -0.5021 -0.8590 -0.0999 -vn -0.8037 -0.4931 -0.3329 -vn -0.8532 -0.4931 -0.1697 -vn -0.8699 0.4931 0.0000 -vn -0.5021 0.8590 -0.0999 -vn -0.5119 0.8590 0.0000 -vn -0.0161 0.9998 0.0000 -vn 0.4877 0.8730 0.0000 -vn 0.8453 0.5071 0.1681 -vn 0.8618 0.5071 0.0000 -vn 0.8453 -0.5071 0.1681 -vn 0.8619 -0.5071 0.0000 -vn 0.4877 -0.8730 0.0000 -vn -0.0161 -0.9998 0.0000 -vn -0.8699 -0.4931 0.0000 -vn -0.5021 0.8590 0.0999 -vn -0.0158 0.9998 0.0031 -vn 0.8453 0.5071 -0.1681 -vn 0.8453 -0.5071 -0.1681 -vn 0.4783 -0.8730 -0.0951 -vn -0.5021 -0.8590 0.0999 -vn -0.5119 -0.8590 0.0000 -vn -0.8532 -0.4931 0.1697 -vn -0.8532 0.4931 0.1697 -vn -0.4729 0.8590 0.1959 -vn -0.0149 0.9998 0.0062 -vn 0.4505 0.8730 -0.1866 -vn 0.4783 0.8730 -0.0951 -vn 0.4505 -0.8730 -0.1866 -vn -0.0158 -0.9998 0.0031 -vn -0.0149 -0.9998 0.0062 -vn -0.4729 -0.8590 0.1959 -vn -0.7233 0.4931 0.4833 -vn -0.8037 0.4931 0.3329 -vn -0.0134 0.9998 0.0090 -vn 0.4055 0.8730 -0.2709 -vn 0.7963 0.5071 -0.3298 -vn 0.7166 0.5071 -0.4788 -vn 0.7963 -0.5071 -0.3298 -vn 0.4055 -0.8730 -0.2709 -vn -0.0134 -0.9998 0.0090 -vn -0.7233 -0.4931 0.4833 -vn -0.8037 -0.4931 0.3329 -vn -0.6151 0.4931 0.6151 -vn -0.4256 0.8590 0.2844 -vn -0.3620 0.8590 0.3620 -vn -0.0114 0.9998 0.0114 -vn 0.6094 0.5071 -0.6094 -vn 0.6094 -0.5071 -0.6094 -vn 0.7166 -0.5071 -0.4788 -vn 0.3448 -0.8730 -0.3448 -vn -0.0114 -0.9998 0.0114 -vn -0.4256 -0.8590 0.2844 -vn -0.3620 -0.8590 0.3620 -vn -0.6151 -0.4931 0.6151 -vn -0.2844 0.8590 0.4256 -vn -0.0090 0.9998 0.0134 -vn 0.3448 0.8730 -0.3448 -vn 0.2709 0.8730 -0.4055 -vn 0.4788 0.5071 -0.7166 -vn 0.4788 -0.5071 -0.7166 -vn -0.0090 -0.9998 0.0134 -vn -0.2844 -0.8590 0.4256 -vn -0.4833 0.4931 0.7233 -vn -0.3329 0.4931 0.8037 -vn -0.0062 0.9998 0.0149 -vn 0.1866 0.8730 -0.4505 -vn 0.3298 -0.5071 -0.7963 -vn 0.2709 -0.8730 -0.4055 -vn 0.1866 -0.8730 -0.4505 -vn -0.0062 -0.9998 0.0149 -vn -0.1959 -0.8590 0.4729 -vn -0.4833 -0.4931 0.7233 -vn -0.3329 -0.4931 0.8037 -vn -0.0999 0.8590 0.5021 -vn -0.1959 0.8590 0.4729 -vn 0.0951 0.8730 -0.4783 -vn 0.1681 0.5071 -0.8453 -vn 0.3298 0.5071 -0.7963 -vn 0.1681 -0.5071 -0.8453 -vn 0.0951 -0.8730 -0.4783 -vn -0.0031 -0.9998 0.0158 -vn -0.0999 -0.8590 0.5021 -vn -0.1697 0.4931 0.8532 -vn 0.0000 0.8590 0.5119 -vn -0.0031 0.9998 0.0158 -vn 0.0000 0.8730 -0.4877 -vn 0.0000 0.5071 -0.8618 -vn 0.0000 -0.5071 -0.8618 -vn 0.0000 -0.9998 0.0161 -vn 0.0000 -0.4931 0.8699 -vn -0.1697 -0.4931 0.8532 -vn 0.0000 0.4931 0.8699 -vn 0.1697 0.4931 0.8532 -vn 0.0031 0.9998 0.0158 -vn 0.0000 0.9998 0.0161 -vn -0.1681 0.5071 -0.8453 -vn -0.1681 -0.5071 -0.8453 -vn 0.0000 -0.8730 -0.4877 -vn 0.0031 -0.9998 0.0158 -vn 0.0000 -0.8590 0.5119 -vn 0.0999 -0.8590 0.5021 -vn 0.3329 0.4931 0.8037 -vn 0.0999 0.8590 0.5021 -vn 0.0062 0.9998 0.0149 -vn -0.0951 0.8730 -0.4783 -vn -0.1866 0.8730 -0.4505 -vn -0.3298 0.5071 -0.7963 -vn -0.3298 -0.5071 -0.7963 -vn -0.1866 -0.8730 -0.4505 -vn -0.0951 -0.8730 -0.4783 -vn 0.0062 -0.9998 0.0149 -vn 0.1959 -0.8590 0.4729 -vn 0.1697 -0.4931 0.8532 -vn 0.3329 -0.4931 0.8037 -vn 0.4833 0.4931 0.7233 -vn 0.1959 0.8590 0.4729 -vn 0.0090 0.9998 0.0134 -vn -0.2709 0.8730 -0.4055 -vn -0.4788 0.5071 -0.7166 -vn -0.4788 -0.5071 -0.7166 -vn 0.0090 -0.9998 0.0134 -vn 0.2844 -0.8590 0.4256 -vn 0.4833 -0.4931 0.7233 -vn 0.6151 0.4931 0.6151 -vn 0.2844 0.8590 0.4256 -vn 0.0114 0.9998 0.0114 -vn -0.6094 0.5071 -0.6094 -vn -0.6094 -0.5071 -0.6094 -vn -0.2709 -0.8730 -0.4055 -vn 0.0114 -0.9998 0.0114 -vn 0.3620 -0.8590 0.3620 -vn 0.6151 -0.4931 0.6151 -vn 0.4256 0.8590 0.2844 -vn 0.3620 0.8590 0.3620 -vn 0.0134 0.9998 0.0090 -vn -0.3448 0.8730 -0.3448 -vn -0.4055 0.8730 -0.2709 -vn -0.7166 0.5071 -0.4788 -vn -0.4055 -0.8730 -0.2709 -vn -0.3448 -0.8730 -0.3448 -vn 0.0134 -0.9998 0.0090 -vn 0.4256 -0.8590 0.2844 -vn 0.7233 0.4931 0.4833 -vn 0.8037 0.4931 0.3329 -vn 0.4729 0.8590 0.1959 -vn -0.4505 0.8730 -0.1866 -vn -0.7166 -0.5071 -0.4788 -vn -0.4505 -0.8730 -0.1866 -vn 0.4729 -0.8590 0.1959 -vn 0.7233 -0.4931 0.4833 -vn 0.8037 -0.4931 0.3329 -vn 0.8532 0.4931 0.1697 -vn 0.5021 0.8590 0.0999 -vn 0.0149 0.9998 0.0062 -vn -0.4783 0.8730 -0.0951 -vn -0.7963 0.5071 -0.3298 -vn -0.8453 0.5071 -0.1681 -vn -0.7963 -0.5071 -0.3298 -vn -0.4783 -0.8730 -0.0951 -vn 0.0149 -0.9998 0.0062 -vn 0.0158 -0.9998 0.0031 -vn 0.8532 -0.4931 0.1697 -vn 0.0158 0.9998 0.0031 -vn -0.8453 -0.5071 -0.1681 -vn 0.5021 -0.8590 0.0999 -s 1 -f 1/1/1 14/2/2 2/3/3 -f 14/2/2 3/4/4 2/3/3 -f 15/5/5 4/6/6 3/4/4 -f 16/7/7 5/8/8 4/6/6 -f 17/9/9 6/10/10 5/8/8 -f 18/11/11 7/12/12 6/10/10 -f 19/13/13 8/14/14 7/15/12 -f 20/16/15 9/17/16 8/14/14 -f 9/17/16 22/18/17 10/19/18 -f 10/19/18 23/20/19 11/21/20 -f 23/20/19 12/22/21 11/21/20 -f 12/22/21 13/23/22 1/1/1 -f 25/24/23 14/2/2 13/23/22 -f 26/25/24 15/5/5 14/2/2 -f 15/5/5 28/26/25 16/7/7 -f 16/7/7 29/27/26 17/9/9 -f 29/27/26 18/11/11 17/9/9 -f 30/28/27 19/29/13 18/11/11 -f 31/30/28 20/16/15 19/13/13 -f 32/31/29 21/32/30 20/16/15 -f 33/33/31 22/18/17 21/32/30 -f 22/18/17 35/34/32 23/20/19 -f 35/34/32 24/35/33 23/20/19 -f 24/35/33 25/24/23 13/23/22 -f 37/36/34 26/25/24 25/24/23 -f 38/37/35 27/38/36 26/25/24 -f 39/39/37 28/26/25 27/38/36 -f 40/40/38 29/27/26 28/26/25 -f 41/41/39 30/28/27 29/27/26 -f 42/42/40 31/43/28 30/28/27 -f 43/44/41 32/31/29 31/30/28 -f 44/45/42 33/33/31 32/31/29 -f 33/33/31 46/46/43 34/47/44 -f 46/46/43 35/34/32 34/47/44 -f 35/34/32 48/48/45 36/49/46 -f 36/49/46 37/36/34 25/24/23 -f 37/36/34 50/50/47 38/37/35 -f 50/50/47 39/39/37 38/37/35 -f 51/51/48 40/40/38 39/39/37 -f 52/52/49 41/41/39 40/40/38 -f 53/53/50 42/42/40 41/41/39 -f 54/54/51 43/55/41 42/42/40 -f 55/56/52 44/45/42 43/44/41 -f 56/57/53 45/58/54 44/45/42 -f 45/58/54 58/59/55 46/46/43 -f 58/59/55 47/60/56 46/46/43 -f 47/60/56 60/61/57 48/48/45 -f 60/61/57 37/36/34 48/48/45 -f 49/62/58 62/63/59 50/64/47 -f 62/63/59 51/65/48 50/64/47 -f 63/66/60 52/67/49 51/65/48 -f 52/67/49 65/68/61 53/69/50 -f 65/68/61 54/70/51 53/69/50 -f 54/70/51 67/71/62 55/72/52 -f 67/73/62 56/74/53 55/75/52 -f 68/76/63 57/77/64 56/74/53 -f 69/78/65 58/79/55 57/77/64 -f 70/80/66 59/81/67 58/79/55 -f 59/81/67 72/82/68 60/83/57 -f 72/82/68 49/62/58 60/83/57 -f 73/84/69 62/63/59 61/85/70 -f 62/63/59 75/86/71 63/66/60 -f 75/86/71 64/87/72 63/66/60 -f 76/88/73 65/68/61 64/87/72 -f 77/89/74 66/90/75 65/68/61 -f 66/90/75 79/91/76 67/71/62 -f 79/92/76 68/76/63 67/73/62 -f 68/76/63 81/93/77 69/78/65 -f 81/93/77 70/80/66 69/78/65 -f 70/80/66 83/94/78 71/95/79 -f 83/94/78 72/82/68 71/95/79 -f 72/82/68 73/84/69 61/85/70 -f 85/96/80 74/97/81 73/84/69 -f 86/98/82 75/86/71 74/97/81 -f 87/99/83 76/88/73 75/86/71 -f 88/100/84 77/89/74 76/88/73 -f 89/101/85 78/102/86 77/89/74 -f 78/102/86 91/103/87 79/91/76 -f 91/104/87 80/105/88 79/92/76 -f 92/106/89 81/93/77 80/105/88 -f 93/107/90 82/108/91 81/93/77 -f 94/109/92 83/94/78 82/108/91 -f 95/110/93 84/111/94 83/94/78 -f 84/111/94 85/96/80 73/84/69 -f 85/96/80 98/112/95 86/98/82 -f 98/112/95 87/99/83 86/98/82 -f 99/113/96 88/100/84 87/99/83 -f 88/100/84 101/114/97 89/101/85 -f 101/114/97 90/115/98 89/101/85 -f 102/116/99 91/103/87 90/115/98 -f 103/117/100 92/106/89 91/104/87 -f 92/106/89 105/118/101 93/107/90 -f 105/118/101 94/109/92 93/107/90 -f 94/109/92 107/119/102 95/110/93 -f 107/119/102 96/120/103 95/110/93 -f 96/120/103 97/121/104 85/96/80 -f 109/122/105 98/123/95 97/124/104 -f 110/125/106 99/126/96 98/123/95 -f 111/127/107 100/128/108 99/126/96 -f 100/128/108 113/129/109 101/130/97 -f 101/130/97 114/131/110 102/132/99 -f 114/131/110 103/133/100 102/132/99 -f 103/134/100 116/135/111 104/136/112 -f 116/135/111 105/137/101 104/136/112 -f 105/137/101 118/138/113 106/139/114 -f 106/139/114 119/140/115 107/141/102 -f 107/141/102 120/142/116 108/143/117 -f 108/143/117 109/122/105 97/124/104 -f 121/144/118 110/125/106 109/122/105 -f 110/125/106 123/145/119 111/127/107 -f 111/127/107 124/146/120 112/147/121 -f 124/146/120 113/129/109 112/147/121 -f 125/148/122 114/131/110 113/129/109 -f 126/149/123 115/150/124 114/131/110 -f 115/151/124 128/152/125 116/135/111 -f 128/152/125 117/153/126 116/135/111 -f 117/153/126 130/154/127 118/138/113 -f 130/154/127 119/140/115 118/138/113 -f 131/155/128 120/142/116 119/140/115 -f 132/156/129 109/122/105 120/142/116 -f 121/144/118 134/157/130 122/158/131 -f 134/157/130 123/145/119 122/158/131 -f 135/159/132 124/146/120 123/145/119 -f 136/160/133 125/148/122 124/146/120 -f 125/148/122 138/161/134 126/149/123 -f 138/161/134 127/162/135 126/149/123 -f 139/163/136 128/152/125 127/164/135 -f 140/165/137 129/166/138 128/152/125 -f 129/166/138 142/167/139 130/154/127 -f 142/167/139 131/155/128 130/154/127 -f 131/155/128 144/168/140 132/156/129 -f 144/168/140 121/144/118 132/156/129 -f 133/169/141 146/170/142 134/157/130 -f 146/170/142 135/159/132 134/157/130 -f 135/159/132 148/171/143 136/160/133 -f 136/160/133 149/172/144 137/173/145 -f 149/172/144 138/161/134 137/173/145 -f 138/161/134 151/174/146 139/175/136 -f 151/176/146 140/165/137 139/163/136 -f 140/165/137 153/177/147 141/178/148 -f 153/177/147 142/167/139 141/178/148 -f 154/179/149 143/180/150 142/167/139 -f 143/180/150 156/181/151 144/168/140 -f 156/181/151 133/169/141 144/168/140 -f 145/182/152 158/183/153 146/184/142 -f 158/183/153 147/185/154 146/184/142 -f 159/186/155 148/187/143 147/185/154 -f 148/187/143 161/188/156 149/189/144 -f 161/188/156 150/190/157 149/189/144 -f 162/191/158 151/192/146 150/190/157 -f 163/193/159 152/194/160 151/195/146 -f 152/194/160 165/196/161 153/197/147 -f 165/196/161 154/198/149 153/197/147 -f 154/198/149 167/199/162 155/200/163 -f 155/200/163 168/201/164 156/202/151 -f 168/201/164 145/182/152 156/202/151 -f 169/203/165 158/183/153 157/204/166 -f 170/205/167 159/186/155 158/183/153 -f 171/206/168 160/207/169 159/186/155 -f 172/208/170 161/188/156 160/207/169 -f 161/188/156 174/209/171 162/191/158 -f 174/209/171 163/210/159 162/191/158 -f 163/193/159 176/211/172 164/212/173 -f 176/211/172 165/196/161 164/212/173 -f 165/196/161 178/213/174 166/214/175 -f 178/213/174 167/199/162 166/214/175 -f 179/215/176 168/201/164 167/199/162 -f 168/201/164 169/203/165 157/204/166 -f 181/216/177 170/205/167 169/203/165 -f 182/217/178 171/206/168 170/205/167 -f 171/206/168 184/218/179 172/208/170 -f 184/218/179 173/219/180 172/208/170 -f 185/220/181 174/209/171 173/219/180 -f 174/209/171 187/221/182 175/222/183 -f 187/223/182 176/211/172 175/224/183 -f 176/211/172 189/225/184 177/226/185 -f 189/225/184 178/213/174 177/226/185 -f 190/227/186 179/215/176 178/213/174 -f 191/228/187 180/229/188 179/215/176 -f 192/230/189 169/203/165 180/229/188 -f 193/231/12 182/217/178 181/216/177 -f 194/232/190 183/233/191 182/217/178 -f 195/234/192 184/218/179 183/233/191 -f 196/235/193 185/220/181 184/218/179 -f 197/236/194 186/237/195 185/220/181 -f 198/238/196 187/221/182 186/237/195 -f 199/239/1 188/240/197 187/223/182 -f 200/241/198 189/225/184 188/240/197 -f 201/242/199 190/227/186 189/225/184 -f 202/243/200 191/228/187 190/227/186 -f 191/228/187 204/244/201 192/230/189 -f 204/244/201 181/216/177 192/230/189 -f 205/245/13 194/246/190 193/247/12 -f 194/246/190 207/248/202 195/249/192 -f 207/248/202 196/250/193 195/249/192 -f 208/251/203 197/252/194 196/250/193 -f 197/252/194 210/253/204 198/254/196 -f 210/253/204 199/255/1 198/254/196 -f 211/256/22 200/257/198 199/258/1 -f 212/259/205 201/260/199 200/257/198 -f 213/261/206 202/262/200 201/260/199 -f 202/262/200 215/263/207 203/264/208 -f 215/263/207 204/265/201 203/264/208 -f 216/266/209 193/247/12 204/265/201 -f 217/267/28 206/268/210 205/245/13 -f 206/268/210 219/269/211 207/248/202 -f 207/248/202 220/270/212 208/251/203 -f 208/251/203 221/271/213 209/272/214 -f 221/271/213 210/253/204 209/272/214 -f 210/253/204 223/273/23 211/274/22 -f 223/275/23 212/259/205 211/256/22 -f 212/259/205 225/276/215 213/261/206 -f 225/276/215 214/277/216 213/261/206 -f 226/278/217 215/263/207 214/277/216 -f 227/279/218 216/266/209 215/263/207 -f 216/266/209 217/267/28 205/245/13 -f 217/267/28 230/280/219 218/281/220 -f 230/280/219 219/269/211 218/281/220 -f 219/269/211 232/282/221 220/270/212 -f 232/282/221 221/271/213 220/270/212 -f 233/283/222 222/284/223 221/271/213 -f 234/285/224 223/273/23 222/284/223 -f 235/286/34 224/287/225 223/275/23 -f 224/287/225 237/288/226 225/276/215 -f 225/276/215 238/289/227 226/278/217 -f 238/289/227 227/279/218 226/278/217 -f 227/279/218 240/290/228 228/291/229 -f 240/290/228 217/267/28 228/291/229 -f 241/292/52 230/280/219 229/293/41 -f 242/294/230 231/295/231 230/280/219 -f 243/296/232 232/282/221 231/295/231 -f 244/297/233 233/283/222 232/282/221 -f 233/283/222 246/298/234 234/285/224 -f 246/298/234 235/299/34 234/285/224 -f 235/286/34 248/300/235 236/301/236 -f 248/300/235 237/288/226 236/301/236 -f 249/302/237 238/289/227 237/288/226 -f 250/303/238 239/304/239 238/289/227 -f 251/305/240 240/290/228 239/304/239 -f 252/306/241 229/293/41 240/290/228 -f 253/307/62 242/308/230 241/309/52 -f 242/308/230 255/310/242 243/311/232 -f 243/311/232 256/312/243 244/313/233 -f 256/312/243 245/314/244 244/313/233 -f 257/315/245 246/316/234 245/314/244 -f 258/317/246 247/318/58 246/316/234 -f 247/319/58 260/320/247 248/321/235 -f 260/320/247 249/322/237 248/321/235 -f 249/322/237 262/323/248 250/324/238 -f 262/323/248 251/325/240 250/324/238 -f 263/326/249 252/327/241 251/325/240 -f 252/327/241 253/307/62 241/309/52 -f 265/328/76 254/329/250 253/307/62 -f 266/330/251 255/310/242 254/329/250 -f 255/310/242 268/331/252 256/312/243 -f 256/312/243 269/332/253 257/315/245 -f 269/332/253 258/317/246 257/315/245 -f 258/317/246 271/333/69 259/334/70 -f 271/335/69 260/320/247 259/336/70 -f 272/337/254 261/338/255 260/320/247 -f 273/339/256 262/323/248 261/338/255 -f 274/340/257 263/326/249 262/323/248 -f 275/341/258 264/342/259 263/326/249 -f 276/343/260 253/307/62 264/342/259 -f 277/344/87 266/330/251 265/328/76 -f 266/330/251 279/345/261 267/346/262 -f 279/345/261 268/331/252 267/346/262 -f 268/331/252 281/347/263 269/332/253 -f 269/332/253 282/348/264 270/349/265 -f 270/349/265 283/350/80 271/333/69 -f 283/351/80 272/337/254 271/335/69 -f 284/352/266 273/339/256 272/337/254 -f 285/353/267 274/340/257 273/339/256 -f 286/354/268 275/341/258 274/340/257 -f 287/355/269 276/343/260 275/341/258 -f 276/343/260 277/344/87 265/328/76 -f 289/356/100 278/357/270 277/344/87 -f 278/357/270 291/358/271 279/345/261 -f 291/358/271 280/359/272 279/345/261 -f 280/359/272 293/360/273 281/347/263 -f 281/347/263 294/361/274 282/348/264 -f 294/361/274 283/350/80 282/348/264 -f 295/362/104 284/352/266 283/351/80 -f 296/363/275 285/353/267 284/352/266 -f 285/353/267 298/364/276 286/354/268 -f 298/364/276 287/355/269 286/354/268 -f 287/355/269 300/365/277 288/366/278 -f 288/366/278 289/356/100 277/344/87 -f 301/367/124 290/368/279 289/369/100 -f 302/370/280 291/371/271 290/368/279 -f 291/371/271 304/372/281 292/373/282 -f 304/372/281 293/374/273 292/373/282 -f 293/374/273 306/375/283 294/376/274 -f 294/376/274 307/377/105 295/378/104 -f 307/379/105 296/380/275 295/381/104 -f 308/382/284 297/383/285 296/380/275 -f 297/383/285 310/384/286 298/385/276 -f 310/384/286 299/386/287 298/385/276 -f 311/387/288 300/388/277 299/386/287 -f 300/388/277 301/367/124 289/369/100 -f 313/389/135 302/370/280 301/367/124 -f 314/390/289 303/391/290 302/370/280 -f 303/391/290 316/392/291 304/372/281 -f 316/392/291 305/393/292 304/372/281 -f 317/394/293 306/375/283 305/393/292 -f 318/395/294 307/377/105 306/375/283 -f 307/379/105 320/396/295 308/382/284 -f 308/382/284 321/397/296 309/398/297 -f 309/398/297 322/399/298 310/384/286 -f 322/399/298 311/387/288 310/384/286 -f 323/400/299 312/401/300 311/387/288 -f 324/402/301 301/367/124 312/401/300 -f 325/403/136 314/390/289 313/389/135 -f 326/404/302 315/405/303 314/390/289 -f 315/405/303 328/406/304 316/392/291 -f 328/406/304 317/394/293 316/392/291 -f 329/407/305 318/395/294 317/394/293 -f 330/408/306 319/409/118 318/395/294 -f 319/410/118 332/411/307 320/396/295 -f 332/411/307 321/397/296 320/396/295 -f 321/397/296 334/412/308 322/399/298 -f 334/412/308 323/400/299 322/399/298 -f 335/413/309 324/402/301 323/400/299 -f 336/414/310 313/389/135 324/402/301 -f 337/415/146 326/404/302 325/403/136 -f 338/416/311 327/417/312 326/404/302 -f 327/417/312 340/418/313 328/406/304 -f 340/418/313 329/407/305 328/406/304 -f 329/407/305 342/419/314 330/408/306 -f 330/408/306 343/420/152 331/421/141 -f 343/422/152 332/411/307 331/423/141 -f 344/424/315 333/425/316 332/411/307 -f 333/425/316 346/426/317 334/412/308 -f 346/426/317 335/413/309 334/412/308 -f 347/427/318 336/414/310 335/413/309 -f 348/428/319 325/403/136 336/414/310 -f 349/429/159 338/430/311 337/431/146 -f 338/430/311 351/432/320 339/433/321 -f 351/432/320 340/434/313 339/433/321 -f 352/435/322 341/436/323 340/434/313 -f 353/437/324 342/438/314 341/436/323 -f 354/439/325 343/440/152 342/438/314 -f 355/441/166 344/442/315 343/443/152 -f 344/442/315 357/444/326 345/445/327 -f 357/444/326 346/446/317 345/445/327 -f 358/447/328 347/448/318 346/446/317 -f 359/449/329 348/450/319 347/448/318 -f 348/450/319 349/429/159 337/431/146 -f 361/451/183 350/452/330 349/429/159 -f 362/453/331 351/432/320 350/452/330 -f 363/454/332 352/435/322 351/432/320 -f 352/435/322 365/455/333 353/437/324 -f 365/455/333 354/439/325 353/437/324 -f 354/439/325 367/456/165 355/457/166 -f 367/458/165 356/459/334 355/441/166 -f 356/459/334 369/460/335 357/444/326 -f 369/460/335 358/447/328 357/444/326 -f 358/447/328 371/461/336 359/449/329 -f 371/461/336 360/462/337 359/449/329 -f 372/463/338 349/429/159 360/462/337 -f 361/451/183 374/464/339 362/453/331 -f 374/464/339 363/454/332 362/453/331 -f 375/465/340 364/466/341 363/454/332 -f 364/466/341 377/467/342 365/455/333 -f 377/467/342 366/468/343 365/455/333 -f 378/469/344 367/456/165 366/468/343 -f 379/470/177 368/471/345 367/458/165 -f 368/471/345 381/472/346 369/460/335 -f 381/472/346 370/473/347 369/460/335 -f 382/474/348 371/461/336 370/473/347 -f 371/461/336 384/475/349 372/463/338 -f 372/463/338 373/476/182 361/451/183 -f 1/477/1 374/464/339 373/476/182 -f 2/478/3 375/465/340 374/464/339 -f 375/465/340 4/479/6 376/480/350 -f 4/479/6 377/467/342 376/480/350 -f 377/467/342 6/481/10 378/469/344 -f 6/481/10 379/482/177 378/469/344 -f 379/470/177 8/483/14 380/484/351 -f 8/483/14 381/472/346 380/484/351 -f 9/485/16 382/474/348 381/472/346 -f 10/486/18 383/487/352 382/474/348 -f 383/487/352 12/488/21 384/475/349 -f 12/488/21 373/476/182 384/475/349 -f 1/1/1 13/23/22 14/2/2 -f 14/2/2 15/5/5 3/4/4 -f 15/5/5 16/7/7 4/6/6 -f 16/7/7 17/9/9 5/8/8 -f 17/9/9 18/11/11 6/10/10 -f 18/11/11 19/29/13 7/12/12 -f 19/13/13 20/16/15 8/14/14 -f 20/16/15 21/32/30 9/17/16 -f 9/17/16 21/32/30 22/18/17 -f 10/19/18 22/18/17 23/20/19 -f 23/20/19 24/35/33 12/22/21 -f 12/22/21 24/35/33 13/23/22 -f 25/24/23 26/25/24 14/2/2 -f 26/25/24 27/38/36 15/5/5 -f 15/5/5 27/38/36 28/26/25 -f 16/7/7 28/26/25 29/27/26 -f 29/27/26 30/28/27 18/11/11 -f 30/28/27 31/43/28 19/29/13 -f 31/30/28 32/31/29 20/16/15 -f 32/31/29 33/33/31 21/32/30 -f 33/33/31 34/47/44 22/18/17 -f 22/18/17 34/47/44 35/34/32 -f 35/34/32 36/49/46 24/35/33 -f 24/35/33 36/49/46 25/24/23 -f 37/36/34 38/37/35 26/25/24 -f 38/37/35 39/39/37 27/38/36 -f 39/39/37 40/40/38 28/26/25 -f 40/40/38 41/41/39 29/27/26 -f 41/41/39 42/42/40 30/28/27 -f 42/42/40 43/55/41 31/43/28 -f 43/44/41 44/45/42 32/31/29 -f 44/45/42 45/58/54 33/33/31 -f 33/33/31 45/58/54 46/46/43 -f 46/46/43 47/60/56 35/34/32 -f 35/34/32 47/60/56 48/48/45 -f 36/49/46 48/48/45 37/36/34 -f 37/36/34 49/489/58 50/50/47 -f 50/50/47 51/51/48 39/39/37 -f 51/51/48 52/52/49 40/40/38 -f 52/52/49 53/53/50 41/41/39 -f 53/53/50 54/54/51 42/42/40 -f 54/54/51 55/490/52 43/55/41 -f 55/56/52 56/57/53 44/45/42 -f 56/57/53 57/491/64 45/58/54 -f 45/58/54 57/491/64 58/59/55 -f 58/59/55 59/492/67 47/60/56 -f 47/60/56 59/492/67 60/61/57 -f 60/61/57 49/489/58 37/36/34 -f 49/62/58 61/85/70 62/63/59 -f 62/63/59 63/66/60 51/65/48 -f 63/66/60 64/87/72 52/67/49 -f 52/67/49 64/87/72 65/68/61 -f 65/68/61 66/90/75 54/70/51 -f 54/70/51 66/90/75 67/71/62 -f 67/73/62 68/76/63 56/74/53 -f 68/76/63 69/78/65 57/77/64 -f 69/78/65 70/80/66 58/79/55 -f 70/80/66 71/95/79 59/81/67 -f 59/81/67 71/95/79 72/82/68 -f 72/82/68 61/85/70 49/62/58 -f 73/84/69 74/97/81 62/63/59 -f 62/63/59 74/97/81 75/86/71 -f 75/86/71 76/88/73 64/87/72 -f 76/88/73 77/89/74 65/68/61 -f 77/89/74 78/102/86 66/90/75 -f 66/90/75 78/102/86 79/91/76 -f 79/92/76 80/105/88 68/76/63 -f 68/76/63 80/105/88 81/93/77 -f 81/93/77 82/108/91 70/80/66 -f 70/80/66 82/108/91 83/94/78 -f 83/94/78 84/111/94 72/82/68 -f 72/82/68 84/111/94 73/84/69 -f 85/96/80 86/98/82 74/97/81 -f 86/98/82 87/99/83 75/86/71 -f 87/99/83 88/100/84 76/88/73 -f 88/100/84 89/101/85 77/89/74 -f 89/101/85 90/115/98 78/102/86 -f 78/102/86 90/115/98 91/103/87 -f 91/104/87 92/106/89 80/105/88 -f 92/106/89 93/107/90 81/93/77 -f 93/107/90 94/109/92 82/108/91 -f 94/109/92 95/110/93 83/94/78 -f 95/110/93 96/120/103 84/111/94 -f 84/111/94 96/120/103 85/96/80 -f 85/96/80 97/121/104 98/112/95 -f 98/112/95 99/113/96 87/99/83 -f 99/113/96 100/493/108 88/100/84 -f 88/100/84 100/493/108 101/114/97 -f 101/114/97 102/116/99 90/115/98 -f 102/116/99 103/494/100 91/103/87 -f 103/117/100 104/495/112 92/106/89 -f 92/106/89 104/495/112 105/118/101 -f 105/118/101 106/496/114 94/109/92 -f 94/109/92 106/496/114 107/119/102 -f 107/119/102 108/497/117 96/120/103 -f 96/120/103 108/497/117 97/121/104 -f 109/122/105 110/125/106 98/123/95 -f 110/125/106 111/127/107 99/126/96 -f 111/127/107 112/147/121 100/128/108 -f 100/128/108 112/147/121 113/129/109 -f 101/130/97 113/129/109 114/131/110 -f 114/131/110 115/150/124 103/133/100 -f 103/134/100 115/151/124 116/135/111 -f 116/135/111 117/153/126 105/137/101 -f 105/137/101 117/153/126 118/138/113 -f 106/139/114 118/138/113 119/140/115 -f 107/141/102 119/140/115 120/142/116 -f 108/143/117 120/142/116 109/122/105 -f 121/144/118 122/158/131 110/125/106 -f 110/125/106 122/158/131 123/145/119 -f 111/127/107 123/145/119 124/146/120 -f 124/146/120 125/148/122 113/129/109 -f 125/148/122 126/149/123 114/131/110 -f 126/149/123 127/162/135 115/150/124 -f 115/151/124 127/164/135 128/152/125 -f 128/152/125 129/166/138 117/153/126 -f 117/153/126 129/166/138 130/154/127 -f 130/154/127 131/155/128 119/140/115 -f 131/155/128 132/156/129 120/142/116 -f 132/156/129 121/144/118 109/122/105 -f 121/144/118 133/169/141 134/157/130 -f 134/157/130 135/159/132 123/145/119 -f 135/159/132 136/160/133 124/146/120 -f 136/160/133 137/173/145 125/148/122 -f 125/148/122 137/173/145 138/161/134 -f 138/161/134 139/175/136 127/162/135 -f 139/163/136 140/165/137 128/152/125 -f 140/165/137 141/178/148 129/166/138 -f 129/166/138 141/178/148 142/167/139 -f 142/167/139 143/180/150 131/155/128 -f 131/155/128 143/180/150 144/168/140 -f 144/168/140 133/169/141 121/144/118 -f 133/169/141 145/498/152 146/170/142 -f 146/170/142 147/499/154 135/159/132 -f 135/159/132 147/499/154 148/171/143 -f 136/160/133 148/171/143 149/172/144 -f 149/172/144 150/500/157 138/161/134 -f 138/161/134 150/500/157 151/174/146 -f 151/176/146 152/501/160 140/165/137 -f 140/165/137 152/501/160 153/177/147 -f 153/177/147 154/179/149 142/167/139 -f 154/179/149 155/502/163 143/180/150 -f 143/180/150 155/502/163 156/181/151 -f 156/181/151 145/498/152 133/169/141 -f 145/182/152 157/204/166 158/183/153 -f 158/183/153 159/186/155 147/185/154 -f 159/186/155 160/207/169 148/187/143 -f 148/187/143 160/207/169 161/188/156 -f 161/188/156 162/191/158 150/190/157 -f 162/191/158 163/210/159 151/192/146 -f 163/193/159 164/212/173 152/194/160 -f 152/194/160 164/212/173 165/196/161 -f 165/196/161 166/214/175 154/198/149 -f 154/198/149 166/214/175 167/199/162 -f 155/200/163 167/199/162 168/201/164 -f 168/201/164 157/204/166 145/182/152 -f 169/203/165 170/205/167 158/183/153 -f 170/205/167 171/206/168 159/186/155 -f 171/206/168 172/208/170 160/207/169 -f 172/208/170 173/219/180 161/188/156 -f 161/188/156 173/219/180 174/209/171 -f 174/209/171 175/222/183 163/210/159 -f 163/193/159 175/224/183 176/211/172 -f 176/211/172 177/226/185 165/196/161 -f 165/196/161 177/226/185 178/213/174 -f 178/213/174 179/215/176 167/199/162 -f 179/215/176 180/229/188 168/201/164 -f 168/201/164 180/229/188 169/203/165 -f 181/216/177 182/217/178 170/205/167 -f 182/217/178 183/233/191 171/206/168 -f 171/206/168 183/233/191 184/218/179 -f 184/218/179 185/220/181 173/219/180 -f 185/220/181 186/237/195 174/209/171 -f 174/209/171 186/237/195 187/221/182 -f 187/223/182 188/240/197 176/211/172 -f 176/211/172 188/240/197 189/225/184 -f 189/225/184 190/227/186 178/213/174 -f 190/227/186 191/228/187 179/215/176 -f 191/228/187 192/230/189 180/229/188 -f 192/230/189 181/216/177 169/203/165 -f 193/231/12 194/232/190 182/217/178 -f 194/232/190 195/234/192 183/233/191 -f 195/234/192 196/235/193 184/218/179 -f 196/235/193 197/236/194 185/220/181 -f 197/236/194 198/238/196 186/237/195 -f 198/238/196 199/503/1 187/221/182 -f 199/239/1 200/241/198 188/240/197 -f 200/241/198 201/242/199 189/225/184 -f 201/242/199 202/243/200 190/227/186 -f 202/243/200 203/504/208 191/228/187 -f 191/228/187 203/504/208 204/244/201 -f 204/244/201 193/231/12 181/216/177 -f 205/245/13 206/268/210 194/246/190 -f 194/246/190 206/268/210 207/248/202 -f 207/248/202 208/251/203 196/250/193 -f 208/251/203 209/272/214 197/252/194 -f 197/252/194 209/272/214 210/253/204 -f 210/253/204 211/274/22 199/255/1 -f 211/256/22 212/259/205 200/257/198 -f 212/259/205 213/261/206 201/260/199 -f 213/261/206 214/277/216 202/262/200 -f 202/262/200 214/277/216 215/263/207 -f 215/263/207 216/266/209 204/265/201 -f 216/266/209 205/245/13 193/247/12 -f 217/267/28 218/281/220 206/268/210 -f 206/268/210 218/281/220 219/269/211 -f 207/248/202 219/269/211 220/270/212 -f 208/251/203 220/270/212 221/271/213 -f 221/271/213 222/284/223 210/253/204 -f 210/253/204 222/284/223 223/273/23 -f 223/275/23 224/287/225 212/259/205 -f 212/259/205 224/287/225 225/276/215 -f 225/276/215 226/278/217 214/277/216 -f 226/278/217 227/279/218 215/263/207 -f 227/279/218 228/291/229 216/266/209 -f 216/266/209 228/291/229 217/267/28 -f 217/267/28 229/293/41 230/280/219 -f 230/280/219 231/295/231 219/269/211 -f 219/269/211 231/295/231 232/282/221 -f 232/282/221 233/283/222 221/271/213 -f 233/283/222 234/285/224 222/284/223 -f 234/285/224 235/299/34 223/273/23 -f 235/286/34 236/301/236 224/287/225 -f 224/287/225 236/301/236 237/288/226 -f 225/276/215 237/288/226 238/289/227 -f 238/289/227 239/304/239 227/279/218 -f 227/279/218 239/304/239 240/290/228 -f 240/290/228 229/293/41 217/267/28 -f 241/292/52 242/294/230 230/280/219 -f 242/294/230 243/296/232 231/295/231 -f 243/296/232 244/297/233 232/282/221 -f 244/297/233 245/505/244 233/283/222 -f 233/283/222 245/505/244 246/298/234 -f 246/298/234 247/506/58 235/299/34 -f 235/286/34 247/507/58 248/300/235 -f 248/300/235 249/302/237 237/288/226 -f 249/302/237 250/303/238 238/289/227 -f 250/303/238 251/305/240 239/304/239 -f 251/305/240 252/306/241 240/290/228 -f 252/306/241 241/292/52 229/293/41 -f 253/307/62 254/329/250 242/308/230 -f 242/308/230 254/329/250 255/310/242 -f 243/311/232 255/310/242 256/312/243 -f 256/312/243 257/315/245 245/314/244 -f 257/315/245 258/317/246 246/316/234 -f 258/317/246 259/334/70 247/318/58 -f 247/319/58 259/336/70 260/320/247 -f 260/320/247 261/338/255 249/322/237 -f 249/322/237 261/338/255 262/323/248 -f 262/323/248 263/326/249 251/325/240 -f 263/326/249 264/342/259 252/327/241 -f 252/327/241 264/342/259 253/307/62 -f 265/328/76 266/330/251 254/329/250 -f 266/330/251 267/346/262 255/310/242 -f 255/310/242 267/346/262 268/331/252 -f 256/312/243 268/331/252 269/332/253 -f 269/332/253 270/349/265 258/317/246 -f 258/317/246 270/349/265 271/333/69 -f 271/335/69 272/337/254 260/320/247 -f 272/337/254 273/339/256 261/338/255 -f 273/339/256 274/340/257 262/323/248 -f 274/340/257 275/341/258 263/326/249 -f 275/341/258 276/343/260 264/342/259 -f 276/343/260 265/328/76 253/307/62 -f 277/344/87 278/357/270 266/330/251 -f 266/330/251 278/357/270 279/345/261 -f 279/345/261 280/359/272 268/331/252 -f 268/331/252 280/359/272 281/347/263 -f 269/332/253 281/347/263 282/348/264 -f 270/349/265 282/348/264 283/350/80 -f 283/351/80 284/352/266 272/337/254 -f 284/352/266 285/353/267 273/339/256 -f 285/353/267 286/354/268 274/340/257 -f 286/354/268 287/355/269 275/341/258 -f 287/355/269 288/366/278 276/343/260 -f 276/343/260 288/366/278 277/344/87 -f 289/356/100 290/508/279 278/357/270 -f 278/357/270 290/508/279 291/358/271 -f 291/358/271 292/509/282 280/359/272 -f 280/359/272 292/509/282 293/360/273 -f 281/347/263 293/360/273 294/361/274 -f 294/361/274 295/510/104 283/350/80 -f 295/362/104 296/363/275 284/352/266 -f 296/363/275 297/511/285 285/353/267 -f 285/353/267 297/511/285 298/364/276 -f 298/364/276 299/512/287 287/355/269 -f 287/355/269 299/512/287 300/365/277 -f 288/366/278 300/365/277 289/356/100 -f 301/367/124 302/370/280 290/368/279 -f 302/370/280 303/391/290 291/371/271 -f 291/371/271 303/391/290 304/372/281 -f 304/372/281 305/393/292 293/374/273 -f 293/374/273 305/393/292 306/375/283 -f 294/376/274 306/375/283 307/377/105 -f 307/379/105 308/382/284 296/380/275 -f 308/382/284 309/398/297 297/383/285 -f 297/383/285 309/398/297 310/384/286 -f 310/384/286 311/387/288 299/386/287 -f 311/387/288 312/401/300 300/388/277 -f 300/388/277 312/401/300 301/367/124 -f 313/389/135 314/390/289 302/370/280 -f 314/390/289 315/405/303 303/391/290 -f 303/391/290 315/405/303 316/392/291 -f 316/392/291 317/394/293 305/393/292 -f 317/394/293 318/395/294 306/375/283 -f 318/395/294 319/409/118 307/377/105 -f 307/379/105 319/410/118 320/396/295 -f 308/382/284 320/396/295 321/397/296 -f 309/398/297 321/397/296 322/399/298 -f 322/399/298 323/400/299 311/387/288 -f 323/400/299 324/402/301 312/401/300 -f 324/402/301 313/389/135 301/367/124 -f 325/403/136 326/404/302 314/390/289 -f 326/404/302 327/417/312 315/405/303 -f 315/405/303 327/417/312 328/406/304 -f 328/406/304 329/407/305 317/394/293 -f 329/407/305 330/408/306 318/395/294 -f 330/408/306 331/421/141 319/409/118 -f 319/410/118 331/423/141 332/411/307 -f 332/411/307 333/425/316 321/397/296 -f 321/397/296 333/425/316 334/412/308 -f 334/412/308 335/413/309 323/400/299 -f 335/413/309 336/414/310 324/402/301 -f 336/414/310 325/403/136 313/389/135 -f 337/415/146 338/416/311 326/404/302 -f 338/416/311 339/513/321 327/417/312 -f 327/417/312 339/513/321 340/418/313 -f 340/418/313 341/514/323 329/407/305 -f 329/407/305 341/514/323 342/419/314 -f 330/408/306 342/419/314 343/420/152 -f 343/422/152 344/424/315 332/411/307 -f 344/424/315 345/515/327 333/425/316 -f 333/425/316 345/515/327 346/426/317 -f 346/426/317 347/427/318 335/413/309 -f 347/427/318 348/428/319 336/414/310 -f 348/428/319 337/415/146 325/403/136 -f 349/429/159 350/452/330 338/430/311 -f 338/430/311 350/452/330 351/432/320 -f 351/432/320 352/435/322 340/434/313 -f 352/435/322 353/437/324 341/436/323 -f 353/437/324 354/439/325 342/438/314 -f 354/439/325 355/457/166 343/440/152 -f 355/441/166 356/459/334 344/442/315 -f 344/442/315 356/459/334 357/444/326 -f 357/444/326 358/447/328 346/446/317 -f 358/447/328 359/449/329 347/448/318 -f 359/449/329 360/462/337 348/450/319 -f 348/450/319 360/462/337 349/429/159 -f 361/451/183 362/453/331 350/452/330 -f 362/453/331 363/454/332 351/432/320 -f 363/454/332 364/466/341 352/435/322 -f 352/435/322 364/466/341 365/455/333 -f 365/455/333 366/468/343 354/439/325 -f 354/439/325 366/468/343 367/456/165 -f 367/458/165 368/471/345 356/459/334 -f 356/459/334 368/471/345 369/460/335 -f 369/460/335 370/473/347 358/447/328 -f 358/447/328 370/473/347 371/461/336 -f 371/461/336 372/463/338 360/462/337 -f 372/463/338 361/451/183 349/429/159 -f 361/451/183 373/476/182 374/464/339 -f 374/464/339 375/465/340 363/454/332 -f 375/465/340 376/480/350 364/466/341 -f 364/466/341 376/480/350 377/467/342 -f 377/467/342 378/469/344 366/468/343 -f 378/469/344 379/482/177 367/456/165 -f 379/470/177 380/484/351 368/471/345 -f 368/471/345 380/484/351 381/472/346 -f 381/472/346 382/474/348 370/473/347 -f 382/474/348 383/487/352 371/461/336 -f 371/461/336 383/487/352 384/475/349 -f 372/463/338 384/475/349 373/476/182 -f 1/477/1 2/478/3 374/464/339 -f 2/478/3 3/516/4 375/465/340 -f 375/465/340 3/516/4 4/479/6 -f 4/479/6 5/517/8 377/467/342 -f 377/467/342 5/517/8 6/481/10 -f 6/481/10 7/518/12 379/482/177 -f 379/470/177 7/519/12 8/483/14 -f 8/483/14 9/485/16 381/472/346 -f 9/485/16 10/486/18 382/474/348 -f 10/486/18 11/520/20 383/487/352 -f 383/487/352 11/520/20 12/488/21 -f 12/488/21 1/477/1 373/476/182 diff --git a/src/main/resources/assets/hbm/models/effect/skeleton.obj b/src/main/resources/assets/hbm/models/effect/skeleton.obj new file mode 100644 index 000000000..6e5c28f3c --- /dev/null +++ b/src/main/resources/assets/hbm/models/effect/skeleton.obj @@ -0,0 +1,294 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +o SkullVillager +v -0.250000 0.312500 0.250000 +v -0.250000 -0.312500 -0.250000 +v -0.250000 -0.312500 0.250000 +v -0.250000 0.312500 -0.250000 +v 0.250000 -0.312500 -0.250000 +v 0.250000 0.312500 -0.250000 +v 0.250000 -0.312500 0.250000 +v 0.250000 0.312500 0.250000 +v -0.250000 -0.312500 -0.250000 +v -0.250000 0.312500 0.250000 +v -0.250000 -0.312500 0.250000 +v 0.250000 -0.312500 -0.250000 +v -0.250000 0.312500 -0.250000 +v 0.250000 -0.312500 0.250000 +v 0.250000 0.312500 -0.250000 +v 0.250000 0.312500 0.250000 +vt 0.500000 0.875000 +vt 0.375000 0.718750 +vt 0.500000 0.718750 +vt 0.375000 0.875000 +vt 0.250000 0.718750 +vt 0.250000 0.875000 +vt 0.125000 0.718750 +vt 0.125000 0.875000 +vt 0.000000 0.718750 +vt 0.250000 0.875000 +vt 0.375000 1.000000 +vt 0.250000 1.000000 +vt 0.250000 1.000000 +vt 0.375000 0.718750 +vt 0.500000 0.875000 +vt 0.500000 0.718750 +vt 0.250000 0.718750 +vt 0.375000 0.875000 +vt 0.125000 0.718750 +vt 0.250000 0.875000 +vt 0.000000 0.718750 +vt 0.125000 0.875000 +vt 0.375000 1.000000 +vt 0.250000 0.875000 +vt 0.250000 1.000000 +vt 0.250000 1.000000 +vt 0.000000 0.875000 +vt 0.375000 0.875000 +vt 0.125000 1.000000 +vt 0.000000 0.875000 +vt 0.375000 0.875000 +vt 0.125000 1.000000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s 1 +f 1/1/1 2/2/1 3/3/1 +f 4/4/2 5/5/2 2/2/2 +f 6/6/3 7/7/3 5/5/3 +f 8/8/4 3/9/4 7/7/4 +f 5/10/5 3/11/5 2/12/5 +f 4/13/6 8/8/6 6/6/6 +f 9/14/3 10/15/3 11/16/3 +f 12/17/4 13/18/4 9/14/4 +f 14/19/1 15/20/1 12/17/1 +f 11/21/2 16/22/2 14/19/2 +f 11/23/6 12/24/6 9/25/6 +f 16/22/5 13/26/5 15/20/5 +f 1/1/1 4/4/1 2/2/1 +f 4/4/2 6/6/2 5/5/2 +f 6/6/3 8/8/3 7/7/3 +f 8/8/4 1/27/4 3/9/4 +f 5/10/5 7/28/5 3/11/5 +f 4/13/6 1/29/6 8/8/6 +f 9/14/3 13/18/3 10/15/3 +f 12/17/4 15/20/4 13/18/4 +f 14/19/1 16/22/1 15/20/1 +f 11/21/2 10/30/2 16/22/2 +f 11/23/6 14/31/6 12/24/6 +f 16/22/5 10/32/5 13/26/5 +o Limb +v -0.062500 0.375000 0.062500 +v -0.062500 -0.375000 -0.062500 +v -0.062500 -0.375000 0.062500 +v -0.062500 0.375000 -0.062500 +v 0.062500 -0.375000 -0.062500 +v 0.062500 0.375000 -0.062500 +v 0.062500 -0.375000 0.062500 +v 0.062500 0.375000 0.062500 +vt 0.125000 0.437500 +vt 0.093750 0.062500 +vt 0.125000 0.062500 +vt 0.093750 0.437500 +vt 0.062500 0.062500 +vt 0.062500 0.437500 +vt 0.031250 0.062500 +vt 0.031250 0.437500 +vt 0.000000 0.062500 +vt 0.062500 0.437500 +vt 0.093750 0.500000 +vt 0.062500 0.500000 +vt 0.062500 0.500000 +vt -0.000000 0.437500 +vt 0.093750 0.437500 +vt 0.031250 0.500000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s 1 +f 17/33/7 18/34/7 19/35/7 +f 20/36/8 21/37/8 18/34/8 +f 22/38/9 23/39/9 21/37/9 +f 24/40/10 19/41/10 23/39/10 +f 21/42/11 19/43/11 18/44/11 +f 20/45/12 24/40/12 22/38/12 +f 17/33/7 20/36/7 18/34/7 +f 20/36/8 22/38/8 21/37/8 +f 22/38/9 24/40/9 23/39/9 +f 24/40/10 17/46/10 19/41/10 +f 21/42/11 23/47/11 19/43/11 +f 20/45/12 17/48/12 24/40/12 +o Skull +v -0.250000 0.250000 0.250000 +v -0.250000 -0.250000 -0.250000 +v -0.250000 -0.250000 0.250000 +v -0.250000 0.250000 -0.250000 +v 0.250000 -0.250000 -0.250000 +v 0.250000 0.250000 -0.250000 +v 0.250000 -0.250000 0.250000 +v 0.250000 0.250000 0.250000 +v -0.250000 -0.250000 -0.250000 +v -0.250000 0.250000 0.250000 +v -0.250000 -0.250000 0.250000 +v 0.250000 -0.250000 -0.250000 +v -0.250000 0.250000 -0.250000 +v 0.250000 -0.250000 0.250000 +v 0.250000 0.250000 -0.250000 +v 0.250000 0.250000 0.250000 +vt 0.500000 0.750000 +vt 0.375000 0.500000 +vt 0.500000 0.500000 +vt 0.375000 0.750000 +vt 0.250000 0.500000 +vt 0.250000 0.750000 +vt 0.125000 0.500000 +vt 0.125000 0.750000 +vt -0.000000 0.500000 +vt 0.250000 0.750000 +vt 0.375000 1.000000 +vt 0.250000 1.000000 +vt 0.250000 1.000000 +vt 0.375000 0.500000 +vt 0.500000 0.750000 +vt 0.500000 0.500000 +vt 0.250000 0.500000 +vt 0.375000 0.750000 +vt 0.125000 0.500000 +vt 0.250000 0.750000 +vt -0.000000 0.500000 +vt 0.125000 0.750000 +vt 0.375000 1.000000 +vt 0.250000 0.750000 +vt 0.250000 1.000000 +vt 0.250000 1.000000 +vt -0.000000 0.750000 +vt 0.375000 0.750000 +vt 0.125000 1.000000 +vt -0.000000 0.750000 +vt 0.375000 0.750000 +vt 0.125000 1.000000 +vn -1.0000 -0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 -0.0000 1.0000 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 1.0000 0.0000 +s 1 +f 25/49/13 26/50/13 27/51/13 +f 28/52/14 29/53/14 26/50/14 +f 30/54/15 31/55/15 29/53/15 +f 32/56/16 27/57/16 31/55/16 +f 29/58/17 27/59/17 26/60/17 +f 28/61/18 32/56/18 30/54/18 +f 33/62/15 34/63/15 35/64/15 +f 36/65/16 37/66/16 33/62/16 +f 38/67/13 39/68/13 36/65/13 +f 35/69/14 40/70/14 38/67/14 +f 35/71/18 36/72/18 33/73/18 +f 40/70/17 37/74/17 39/68/17 +f 25/49/13 28/52/13 26/50/13 +f 28/52/14 30/54/14 29/53/14 +f 30/54/15 32/56/15 31/55/15 +f 32/56/16 25/75/16 27/57/16 +f 29/58/17 31/76/17 27/59/17 +f 28/61/18 25/77/18 32/56/18 +f 33/62/15 37/66/15 34/63/15 +f 36/65/16 39/68/16 37/66/16 +f 38/67/13 40/70/13 39/68/13 +f 35/69/14 34/78/14 40/70/14 +f 35/71/18 38/79/18 36/72/18 +f 40/70/17 34/80/17 37/74/17 +o Torso +v 0.125000 -0.375000 -0.250000 +v 0.125000 0.375000 0.250000 +v 0.125000 -0.375000 0.250000 +v -0.125000 -0.375000 -0.250000 +v 0.125000 0.375000 -0.250000 +v -0.125000 -0.375000 0.250000 +v -0.125000 0.375000 -0.250000 +v -0.125000 0.375000 0.250000 +v 0.125000 0.375000 0.250000 +v 0.125000 -0.375000 -0.250000 +v 0.125000 -0.375000 0.250000 +v 0.125000 0.375000 -0.250000 +v -0.125000 -0.375000 -0.250000 +v -0.125000 0.375000 -0.250000 +v -0.125000 -0.375000 0.250000 +v -0.125000 0.375000 0.250000 +vt 0.312500 0.000000 +vt 0.437500 0.375000 +vt 0.437500 0.000000 +vt 0.500000 0.000000 +vt 0.437500 0.375000 +vt 0.437500 0.000000 +vt 0.625000 0.000000 +vt 0.500000 0.375000 +vt 0.312500 0.000000 +vt 0.250000 0.375000 +vt 0.250000 0.000000 +vt 0.437500 0.500000 +vt 0.562500 0.375000 +vt 0.562500 0.500000 +vt 0.312500 0.500000 +vt 0.437500 0.500000 +vt 0.437500 0.375000 +vt 0.312500 0.000000 +vt 0.437500 0.000000 +vt 0.437500 0.375000 +vt 0.500000 0.000000 +vt 0.437500 0.000000 +vt 0.500000 0.375000 +vt 0.625000 0.000000 +vt 0.250000 0.375000 +vt 0.312500 0.000000 +vt 0.250000 0.000000 +vt 0.562500 0.375000 +vt 0.437500 0.500000 +vt 0.562500 0.500000 +vt 0.312500 0.500000 +vt 0.437500 0.500000 +vt 0.312500 0.375000 +vt 0.625000 0.375000 +vt 0.312500 0.375000 +vt 0.437500 0.375000 +vt 0.312500 0.375000 +vt 0.625000 0.375000 +vt 0.312500 0.375000 +vt 0.437500 0.375000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 -0.0000 0.0000 +vn 0.0000 -0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s 1 +f 41/81/19 42/82/19 43/83/19 +f 44/84/20 45/85/20 41/86/20 +f 46/87/21 47/88/21 44/84/21 +f 43/89/22 48/90/22 46/91/22 +f 43/92/23 44/93/23 41/94/23 +f 48/95/24 45/85/24 47/96/24 +f 49/97/21 50/98/21 51/99/21 +f 52/100/22 53/101/22 50/102/22 +f 54/103/19 55/104/19 53/101/19 +f 56/105/20 51/106/20 55/107/20 +f 53/108/24 51/109/24 50/110/24 +f 52/100/23 56/111/23 54/112/23 +f 41/81/19 45/113/19 42/82/19 +f 44/84/20 47/88/20 45/85/20 +f 46/87/21 48/114/21 47/88/21 +f 43/89/22 42/115/22 48/90/22 +f 43/92/23 46/116/23 44/93/23 +f 48/95/24 42/115/24 45/85/24 +f 49/97/21 52/117/21 50/98/21 +f 52/100/22 54/103/22 53/101/22 +f 54/103/19 56/118/19 55/104/19 +f 56/105/20 49/119/20 51/106/20 +f 53/108/24 55/120/24 51/109/24 +f 52/100/23 49/119/23 56/111/23 diff --git a/src/main/resources/assets/hbm/models/machines/ammo_press.obj b/src/main/resources/assets/hbm/models/machines/ammo_press.obj new file mode 100644 index 000000000..b3a868e84 --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/ammo_press.obj @@ -0,0 +1,2582 @@ +# Blender v2.79 (sub 0) OBJ File: 'ammo_press.blend' +# www.blender.org +o Press +v -0.250000 1.875000 -0.750000 +v -0.250000 1.875000 0.750000 +v 0.250000 1.875000 0.750000 +v 0.250000 1.875000 -0.750000 +v -0.250000 1.375000 -0.750000 +v -0.250000 1.375000 0.750000 +v 0.250000 1.375000 0.750000 +v 0.250000 1.375000 -0.750000 +vt 0.508772 0.857143 +vt 0.719298 0.761905 +vt 0.719298 0.857143 +vt 0.719298 0.666667 +vt 0.508772 0.761905 +vt 0.508772 0.666667 +vt 0.719298 0.571429 +vt 0.508772 0.571429 +vt 0.789474 0.761905 +vt 0.789474 0.666667 +vt 0.438596 0.666667 +vt 0.438596 0.761905 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +s off +f 3/1/1 8/2/1 4/3/1 +f 5/4/2 7/5/2 6/6/2 +f 1/7/3 6/6/3 2/8/3 +f 4/9/4 5/4/4 1/10/4 +f 2/11/5 7/5/5 3/12/5 +f 3/1/1 7/5/1 8/2/1 +f 5/4/2 8/2/2 7/5/2 +f 1/7/3 5/4/3 6/6/3 +f 4/9/4 8/2/4 5/4/4 +f 2/11/5 6/6/5 7/5/5 +o Shells +v 0.250000 1.000000 -0.750000 +v 0.250000 1.000000 0.750000 +v -0.250000 1.000000 0.750000 +v -0.250000 1.000000 -0.750000 +v 0.125000 1.000000 0.406250 +v 0.102903 1.000000 0.415403 +v 0.093750 1.000000 0.437500 +v 0.102903 1.000000 0.459597 +v 0.125000 1.000000 0.468750 +v 0.147097 1.000000 0.459597 +v 0.156250 1.000000 0.437500 +v 0.147097 1.000000 0.415403 +v 0.125000 1.125000 0.406250 +v 0.102903 1.125000 0.415403 +v 0.093750 1.125000 0.437500 +v 0.102903 1.125000 0.459597 +v 0.125000 1.125000 0.468750 +v 0.147097 1.125000 0.459597 +v 0.156250 1.125000 0.437500 +v 0.147097 1.125000 0.415403 +v 0.156250 1.000000 -0.468750 +v 0.156250 1.000000 0.468750 +v 0.156250 1.062500 -0.468750 +v 0.156250 1.062500 0.468750 +v 0.187500 1.000000 -0.468750 +v 0.187500 1.000000 0.468750 +v 0.187500 1.062500 -0.468750 +v 0.187500 1.062500 0.468750 +v 0.062500 1.000000 -0.468750 +v 0.062500 1.000000 0.468750 +v 0.062500 1.062500 -0.468750 +v 0.062500 1.062500 0.468750 +v 0.093750 1.000000 -0.468750 +v 0.093750 1.000000 0.468750 +v 0.093750 1.062500 -0.468750 +v 0.093750 1.062500 0.468750 +v -0.093750 1.000000 -0.468750 +v -0.093750 1.000000 0.468750 +v -0.093750 1.062500 -0.468750 +v -0.093750 1.062500 0.468750 +v -0.062500 1.000000 -0.468750 +v -0.062500 1.000000 0.468750 +v -0.062500 1.062500 -0.468750 +v -0.062500 1.062500 0.468750 +v -0.187500 1.000000 -0.468750 +v -0.187500 1.000000 0.468750 +v -0.187500 1.062500 -0.468750 +v -0.187500 1.062500 0.468750 +v -0.156250 1.000000 -0.468750 +v -0.156250 1.000000 0.468750 +v -0.156250 1.062500 -0.468750 +v -0.156250 1.062500 0.468750 +v -0.125000 1.000000 0.406250 +v -0.147097 1.000000 0.415403 +v -0.156250 1.000000 0.437500 +v -0.147097 1.000000 0.459597 +v -0.125000 1.000000 0.468750 +v -0.102903 1.000000 0.459597 +v -0.093750 1.000000 0.437500 +v -0.102903 1.000000 0.415403 +v -0.125000 1.125000 0.406250 +v -0.147097 1.125000 0.415403 +v -0.156250 1.125000 0.437500 +v -0.147097 1.125000 0.459597 +v -0.125000 1.125000 0.468750 +v -0.102903 1.125000 0.459597 +v -0.093750 1.125000 0.437500 +v -0.102903 1.125000 0.415403 +v 0.125000 1.000000 0.281250 +v 0.102903 1.000000 0.290403 +v 0.093750 1.000000 0.312500 +v 0.102903 1.000000 0.334597 +v 0.125000 1.000000 0.343750 +v 0.147097 1.000000 0.334597 +v 0.156250 1.000000 0.312500 +v 0.147097 1.000000 0.290403 +v 0.125000 1.125000 0.281250 +v 0.102903 1.125000 0.290403 +v 0.093750 1.125000 0.312500 +v 0.102903 1.125000 0.334597 +v 0.125000 1.125000 0.343750 +v 0.147097 1.125000 0.334597 +v 0.156250 1.125000 0.312500 +v 0.147097 1.125000 0.290403 +v -0.125000 1.000000 0.281250 +v -0.147097 1.000000 0.290403 +v -0.156250 1.000000 0.312500 +v -0.147097 1.000000 0.334597 +v -0.125000 1.000000 0.343750 +v -0.102903 1.000000 0.334597 +v -0.093750 1.000000 0.312500 +v -0.102903 1.000000 0.290403 +v -0.125000 1.125000 0.281250 +v -0.147097 1.125000 0.290403 +v -0.156250 1.125000 0.312500 +v -0.147097 1.125000 0.334597 +v -0.125000 1.125000 0.343750 +v -0.102903 1.125000 0.334597 +v -0.093750 1.125000 0.312500 +v -0.102903 1.125000 0.290403 +v 0.125000 1.000000 0.156250 +v 0.102903 1.000000 0.165403 +v 0.093750 1.000000 0.187500 +v 0.102903 1.000000 0.209597 +v 0.125000 1.000000 0.218750 +v 0.147097 1.000000 0.209597 +v 0.156250 1.000000 0.187500 +v 0.147097 1.000000 0.165403 +v 0.125000 1.125000 0.156250 +v 0.102903 1.125000 0.165403 +v 0.093750 1.125000 0.187500 +v 0.102903 1.125000 0.209597 +v 0.125000 1.125000 0.218750 +v 0.147097 1.125000 0.209597 +v 0.156250 1.125000 0.187500 +v 0.147097 1.125000 0.165403 +v -0.125000 1.000000 0.156250 +v -0.147097 1.000000 0.165403 +v -0.156250 1.000000 0.187500 +v -0.147097 1.000000 0.209597 +v -0.125000 1.000000 0.218750 +v -0.102903 1.000000 0.209597 +v -0.093750 1.000000 0.187500 +v -0.102903 1.000000 0.165403 +v -0.125000 1.125000 0.156250 +v -0.147097 1.125000 0.165403 +v -0.156250 1.125000 0.187500 +v -0.147097 1.125000 0.209597 +v -0.125000 1.125000 0.218750 +v -0.102903 1.125000 0.209597 +v -0.093750 1.125000 0.187500 +v -0.102903 1.125000 0.165403 +v 0.125000 1.000000 0.031250 +v 0.102903 1.000000 0.040403 +v 0.093750 1.000000 0.062500 +v 0.102903 1.000000 0.084597 +v 0.125000 1.000000 0.093750 +v 0.147097 1.000000 0.084597 +v 0.156250 1.000000 0.062500 +v 0.147097 1.000000 0.040403 +v 0.125000 1.125000 0.031250 +v 0.102903 1.125000 0.040403 +v 0.093750 1.125000 0.062500 +v 0.102903 1.125000 0.084597 +v 0.125000 1.125000 0.093750 +v 0.147097 1.125000 0.084597 +v 0.156250 1.125000 0.062500 +v 0.147097 1.125000 0.040403 +v -0.125000 1.000000 0.031250 +v -0.147097 1.000000 0.040403 +v -0.156250 1.000000 0.062500 +v -0.147097 1.000000 0.084597 +v -0.125000 1.000000 0.093750 +v -0.102903 1.000000 0.084597 +v -0.093750 1.000000 0.062500 +v -0.102903 1.000000 0.040403 +v -0.125000 1.125000 0.031250 +v -0.147097 1.125000 0.040403 +v -0.156250 1.125000 0.062500 +v -0.147097 1.125000 0.084597 +v -0.125000 1.125000 0.093750 +v -0.102903 1.125000 0.084597 +v -0.093750 1.125000 0.062500 +v -0.102903 1.125000 0.040403 +v 0.125000 1.000000 -0.093750 +v 0.102903 1.000000 -0.084597 +v 0.093750 1.000000 -0.062500 +v 0.102903 1.000000 -0.040403 +v 0.125000 1.000000 -0.031250 +v 0.147097 1.000000 -0.040403 +v 0.156250 1.000000 -0.062500 +v 0.147097 1.000000 -0.084597 +v 0.125000 1.125000 -0.093750 +v 0.102903 1.125000 -0.084597 +v 0.093750 1.125000 -0.062500 +v 0.102903 1.125000 -0.040403 +v 0.125000 1.125000 -0.031250 +v 0.147097 1.125000 -0.040403 +v 0.156250 1.125000 -0.062500 +v 0.147097 1.125000 -0.084597 +v -0.125000 1.000000 -0.093750 +v -0.147097 1.000000 -0.084597 +v -0.156250 1.000000 -0.062500 +v -0.147097 1.000000 -0.040403 +v -0.125000 1.000000 -0.031250 +v -0.102903 1.000000 -0.040403 +v -0.093750 1.000000 -0.062500 +v -0.102903 1.000000 -0.084597 +v -0.125000 1.125000 -0.093750 +v -0.147097 1.125000 -0.084597 +v -0.156250 1.125000 -0.062500 +v -0.147097 1.125000 -0.040403 +v -0.125000 1.125000 -0.031250 +v -0.102903 1.125000 -0.040403 +v -0.093750 1.125000 -0.062500 +v -0.102903 1.125000 -0.084597 +v 0.125000 1.000000 -0.218750 +v 0.102903 1.000000 -0.209597 +v 0.093750 1.000000 -0.187500 +v 0.102903 1.000000 -0.165403 +v 0.125000 1.000000 -0.156250 +v 0.147097 1.000000 -0.165403 +v 0.156250 1.000000 -0.187500 +v 0.147097 1.000000 -0.209597 +v 0.125000 1.125000 -0.218750 +v 0.102903 1.125000 -0.209597 +v 0.093750 1.125000 -0.187500 +v 0.102903 1.125000 -0.165403 +v 0.125000 1.125000 -0.156250 +v 0.147097 1.125000 -0.165403 +v 0.156250 1.125000 -0.187500 +v 0.147097 1.125000 -0.209597 +v -0.125000 1.000000 -0.218750 +v -0.147097 1.000000 -0.209597 +v -0.156250 1.000000 -0.187500 +v -0.147097 1.000000 -0.165403 +v -0.125000 1.000000 -0.156250 +v -0.102903 1.000000 -0.165403 +v -0.093750 1.000000 -0.187500 +v -0.102903 1.000000 -0.209597 +v -0.125000 1.125000 -0.218750 +v -0.147097 1.125000 -0.209597 +v -0.156250 1.125000 -0.187500 +v -0.147097 1.125000 -0.165403 +v -0.125000 1.125000 -0.156250 +v -0.102903 1.125000 -0.165403 +v -0.093750 1.125000 -0.187500 +v -0.102903 1.125000 -0.209597 +v 0.125000 1.000000 -0.343750 +v 0.102903 1.000000 -0.334597 +v 0.093750 1.000000 -0.312500 +v 0.102903 1.000000 -0.290403 +v 0.125000 1.000000 -0.281250 +v 0.147097 1.000000 -0.290403 +v 0.156250 1.000000 -0.312500 +v 0.147097 1.000000 -0.334597 +v 0.125000 1.125000 -0.343750 +v 0.102903 1.125000 -0.334597 +v 0.093750 1.125000 -0.312500 +v 0.102903 1.125000 -0.290403 +v 0.125000 1.125000 -0.281250 +v 0.147097 1.125000 -0.290403 +v 0.156250 1.125000 -0.312500 +v 0.147097 1.125000 -0.334597 +v -0.125000 1.000000 -0.343750 +v -0.147097 1.000000 -0.334597 +v -0.156250 1.000000 -0.312500 +v -0.147097 1.000000 -0.290403 +v -0.125000 1.000000 -0.281250 +v -0.102903 1.000000 -0.290403 +v -0.093750 1.000000 -0.312500 +v -0.102903 1.000000 -0.334597 +v -0.125000 1.125000 -0.343750 +v -0.147097 1.125000 -0.334597 +v -0.156250 1.125000 -0.312500 +v -0.147097 1.125000 -0.290403 +v -0.125000 1.125000 -0.281250 +v -0.102903 1.125000 -0.290403 +v -0.093750 1.125000 -0.312500 +v -0.102903 1.125000 -0.334597 +v 0.125000 1.000000 -0.468750 +v 0.102903 1.000000 -0.459597 +v 0.093750 1.000000 -0.437500 +v 0.102903 1.000000 -0.415403 +v 0.125000 1.000000 -0.406250 +v 0.147097 1.000000 -0.415403 +v 0.156250 1.000000 -0.437500 +v 0.147097 1.000000 -0.459597 +v 0.125000 1.125000 -0.468750 +v 0.102903 1.125000 -0.459597 +v 0.093750 1.125000 -0.437500 +v 0.102903 1.125000 -0.415403 +v 0.125000 1.125000 -0.406250 +v 0.147097 1.125000 -0.415403 +v 0.156250 1.125000 -0.437500 +v 0.147097 1.125000 -0.459597 +v -0.125000 1.000000 -0.468750 +v -0.147097 1.000000 -0.459597 +v -0.156250 1.000000 -0.437500 +v -0.147097 1.000000 -0.415403 +v -0.125000 1.000000 -0.406250 +v -0.102903 1.000000 -0.415403 +v -0.093750 1.000000 -0.437500 +v -0.102903 1.000000 -0.459597 +v -0.125000 1.125000 -0.468750 +v -0.147097 1.125000 -0.459597 +v -0.156250 1.125000 -0.437500 +v -0.147097 1.125000 -0.415403 +v -0.125000 1.125000 -0.406250 +v -0.102903 1.125000 -0.415403 +v -0.093750 1.125000 -0.437500 +v -0.102903 1.125000 -0.459597 +vt 0.333333 0.833333 +vt 0.122807 0.928571 +vt 0.122807 0.833333 +vt 0.868620 0.630952 +vt 0.877193 0.619317 +vt 0.885766 0.630952 +vt 0.728070 0.607143 +vt 0.859649 0.595238 +vt 0.859649 0.607143 +vt 0.868421 0.583333 +vt 0.868421 0.595238 +vt 0.719298 0.595238 +vt 0.728070 0.583333 +vt 0.728070 0.595238 +vt 0.859649 0.583333 +vt 0.859649 0.571429 +vt 0.728070 0.607143 +vt 0.859649 0.595238 +vt 0.859649 0.607143 +vt 0.868421 0.583333 +vt 0.868421 0.595238 +vt 0.719298 0.595238 +vt 0.728070 0.583333 +vt 0.728070 0.595238 +vt 0.859649 0.583333 +vt 0.859649 0.571429 +vt 0.728070 0.607143 +vt 0.859649 0.595238 +vt 0.859649 0.607143 +vt 0.868421 0.583333 +vt 0.868421 0.595238 +vt 0.719298 0.595238 +vt 0.728070 0.583333 +vt 0.728070 0.595238 +vt 0.859649 0.583333 +vt 0.859649 0.571429 +vt 0.728070 0.607143 +vt 0.859649 0.595238 +vt 0.859649 0.607143 +vt 0.868421 0.583333 +vt 0.868421 0.595238 +vt 0.719298 0.595238 +vt 0.728070 0.583333 +vt 0.728070 0.595238 +vt 0.859649 0.583333 +vt 0.859649 0.571429 +vt 0.868620 0.630952 +vt 0.877193 0.619317 +vt 0.885766 0.630952 +vt 0.868620 0.630952 +vt 0.877193 0.619317 +vt 0.885766 0.630952 +vt 0.868620 0.630952 +vt 0.877193 0.619317 +vt 0.885766 0.630952 +vt 0.868620 0.630952 +vt 0.877193 0.619317 +vt 0.885766 0.630952 +vt 0.868620 0.630952 +vt 0.877193 0.619317 +vt 0.885766 0.630952 +vt 0.868620 0.630952 +vt 0.877193 0.619317 +vt 0.885766 0.630952 +vt 0.868620 0.630952 +vt 0.877193 0.619317 +vt 0.885766 0.630952 +vt 0.868620 0.630952 +vt 0.877193 0.619317 +vt 0.885766 0.630952 +vt 0.868620 0.630952 +vt 0.877193 0.619317 +vt 0.885766 0.630952 +vt 0.868620 0.630952 +vt 0.877193 0.619317 +vt 0.885766 0.630952 +vt 0.868620 0.630952 +vt 0.877193 0.619317 +vt 0.885766 0.630952 +vt 0.868620 0.630952 +vt 0.877193 0.619317 +vt 0.885766 0.630952 +vt 0.868620 0.630952 +vt 0.877193 0.619317 +vt 0.885766 0.630952 +vt 0.868620 0.630952 +vt 0.877193 0.619317 +vt 0.885766 0.630952 +vt 0.868620 0.630952 +vt 0.877193 0.619317 +vt 0.885766 0.630952 +vt 0.333333 0.928571 +vt 0.883255 0.639180 +vt 0.877193 0.642588 +vt 0.871131 0.639180 +vt 0.871131 0.622725 +vt 0.883255 0.622725 +vt 0.719298 0.583333 +vt 0.728070 0.571429 +vt 0.719298 0.583333 +vt 0.728070 0.571429 +vt 0.719298 0.583333 +vt 0.728070 0.571429 +vt 0.719298 0.583333 +vt 0.728070 0.571429 +vt 0.883255 0.639180 +vt 0.877193 0.642588 +vt 0.871131 0.639180 +vt 0.871131 0.622725 +vt 0.883255 0.622725 +vt 0.883255 0.639180 +vt 0.877193 0.642588 +vt 0.871131 0.639180 +vt 0.871131 0.622725 +vt 0.883255 0.622725 +vt 0.883255 0.639180 +vt 0.877193 0.642588 +vt 0.871131 0.639180 +vt 0.871131 0.622725 +vt 0.883255 0.622725 +vt 0.883255 0.639180 +vt 0.877193 0.642588 +vt 0.871131 0.639180 +vt 0.871131 0.622725 +vt 0.883255 0.622725 +vt 0.883255 0.639180 +vt 0.877193 0.642588 +vt 0.871131 0.639180 +vt 0.871131 0.622725 +vt 0.883255 0.622725 +vt 0.883255 0.639180 +vt 0.877193 0.642588 +vt 0.871131 0.639180 +vt 0.871131 0.622725 +vt 0.883255 0.622725 +vt 0.883255 0.639180 +vt 0.877193 0.642588 +vt 0.871131 0.639180 +vt 0.871131 0.622725 +vt 0.883255 0.622725 +vt 0.883255 0.639180 +vt 0.877193 0.642588 +vt 0.871131 0.639180 +vt 0.871131 0.622725 +vt 0.883255 0.622725 +vt 0.883255 0.639180 +vt 0.877193 0.642588 +vt 0.871131 0.639180 +vt 0.871131 0.622725 +vt 0.883255 0.622725 +vt 0.883255 0.639180 +vt 0.877193 0.642588 +vt 0.871131 0.639180 +vt 0.871131 0.622725 +vt 0.883255 0.622725 +vt 0.883255 0.639180 +vt 0.877193 0.642588 +vt 0.871131 0.639180 +vt 0.871131 0.622725 +vt 0.883255 0.622725 +vt 0.883255 0.639180 +vt 0.877193 0.642588 +vt 0.871131 0.639180 +vt 0.871131 0.622725 +vt 0.883255 0.622725 +vt 0.883255 0.639180 +vt 0.877193 0.642588 +vt 0.871131 0.639180 +vt 0.871131 0.622725 +vt 0.883255 0.622725 +vt 0.883255 0.639180 +vt 0.877193 0.642588 +vt 0.871131 0.639180 +vt 0.871131 0.622725 +vt 0.883255 0.622725 +vt 0.883255 0.639180 +vt 0.877193 0.642588 +vt 0.871131 0.639180 +vt 0.871131 0.622725 +vt 0.883255 0.622725 +vt 0.894737 0.571429 +vt 0.885965 0.619048 +vt 0.885965 0.571429 +vt 0.877193 0.571429 +vt 0.868421 0.619048 +vt 0.868421 0.571429 +vt 0.929825 0.571429 +vt 0.921053 0.619048 +vt 0.921053 0.571429 +vt 0.912281 0.571429 +vt 0.903509 0.619048 +vt 0.903509 0.571429 +vt 0.894737 0.619048 +vt 0.877193 0.619048 +vt 0.938596 0.571429 +vt 0.929825 0.619048 +vt 0.912281 0.619048 +vt 0.894737 0.571429 +vt 0.885965 0.619048 +vt 0.885965 0.571429 +vt 0.877193 0.571429 +vt 0.868421 0.619048 +vt 0.868421 0.571429 +vt 0.929825 0.571429 +vt 0.921053 0.619048 +vt 0.921053 0.571429 +vt 0.912281 0.571429 +vt 0.903509 0.619048 +vt 0.903509 0.571429 +vt 0.894737 0.619048 +vt 0.877193 0.619048 +vt 0.938596 0.571429 +vt 0.929825 0.619048 +vt 0.912281 0.619048 +vt 0.894737 0.571429 +vt 0.885965 0.619048 +vt 0.885965 0.571429 +vt 0.877193 0.571429 +vt 0.868421 0.619048 +vt 0.868421 0.571429 +vt 0.929825 0.571429 +vt 0.921053 0.619048 +vt 0.921053 0.571429 +vt 0.912281 0.571429 +vt 0.903509 0.619048 +vt 0.903509 0.571429 +vt 0.894737 0.619048 +vt 0.877193 0.619048 +vt 0.938596 0.571429 +vt 0.929825 0.619048 +vt 0.912281 0.619048 +vt 0.894737 0.571429 +vt 0.885965 0.619048 +vt 0.885965 0.571429 +vt 0.877193 0.571429 +vt 0.868421 0.619048 +vt 0.868421 0.571429 +vt 0.929825 0.571429 +vt 0.921053 0.619048 +vt 0.921053 0.571429 +vt 0.912281 0.571429 +vt 0.903509 0.619048 +vt 0.903509 0.571429 +vt 0.894737 0.619048 +vt 0.877193 0.619048 +vt 0.938596 0.571429 +vt 0.929825 0.619048 +vt 0.912281 0.619048 +vt 0.894737 0.571429 +vt 0.885965 0.619048 +vt 0.885965 0.571429 +vt 0.877193 0.571429 +vt 0.868421 0.619048 +vt 0.868421 0.571429 +vt 0.929825 0.571429 +vt 0.921053 0.619048 +vt 0.921053 0.571429 +vt 0.912281 0.571429 +vt 0.903509 0.619048 +vt 0.903509 0.571429 +vt 0.894737 0.619048 +vt 0.877193 0.619048 +vt 0.938596 0.571429 +vt 0.929825 0.619048 +vt 0.912281 0.619048 +vt 0.894737 0.571429 +vt 0.885965 0.619048 +vt 0.885965 0.571429 +vt 0.877193 0.571429 +vt 0.868421 0.619048 +vt 0.868421 0.571429 +vt 0.929825 0.571429 +vt 0.921053 0.619048 +vt 0.921053 0.571429 +vt 0.912281 0.571429 +vt 0.903509 0.619048 +vt 0.903509 0.571429 +vt 0.894737 0.619048 +vt 0.877193 0.619048 +vt 0.938596 0.571429 +vt 0.929825 0.619048 +vt 0.912281 0.619048 +vt 0.894737 0.571429 +vt 0.885965 0.619048 +vt 0.885965 0.571429 +vt 0.877193 0.571429 +vt 0.868421 0.619048 +vt 0.868421 0.571429 +vt 0.929825 0.571429 +vt 0.921053 0.619048 +vt 0.921053 0.571429 +vt 0.912281 0.571429 +vt 0.903509 0.619048 +vt 0.903509 0.571429 +vt 0.894737 0.619048 +vt 0.877193 0.619048 +vt 0.938596 0.571429 +vt 0.929825 0.619048 +vt 0.912281 0.619048 +vt 0.894737 0.571429 +vt 0.885965 0.619048 +vt 0.885965 0.571429 +vt 0.877193 0.571429 +vt 0.868421 0.619048 +vt 0.868421 0.571429 +vt 0.929825 0.571429 +vt 0.921053 0.619048 +vt 0.921053 0.571429 +vt 0.912281 0.571429 +vt 0.903509 0.619048 +vt 0.903509 0.571429 +vt 0.894737 0.619048 +vt 0.877193 0.619048 +vt 0.938596 0.571429 +vt 0.929825 0.619048 +vt 0.912281 0.619048 +vt 0.894737 0.571429 +vt 0.885965 0.619048 +vt 0.885965 0.571429 +vt 0.877193 0.571429 +vt 0.868421 0.619048 +vt 0.868421 0.571429 +vt 0.929825 0.571429 +vt 0.921053 0.619048 +vt 0.921053 0.571429 +vt 0.912281 0.571429 +vt 0.903509 0.619048 +vt 0.903509 0.571429 +vt 0.894737 0.619048 +vt 0.877193 0.619048 +vt 0.938596 0.571429 +vt 0.929825 0.619048 +vt 0.912281 0.619048 +vt 0.894737 0.571429 +vt 0.885965 0.619048 +vt 0.885965 0.571429 +vt 0.877193 0.571429 +vt 0.868421 0.619048 +vt 0.868421 0.571429 +vt 0.929825 0.571429 +vt 0.921053 0.619048 +vt 0.921053 0.571429 +vt 0.912281 0.571429 +vt 0.903509 0.619048 +vt 0.903509 0.571429 +vt 0.894737 0.619048 +vt 0.877193 0.619048 +vt 0.938596 0.571429 +vt 0.929825 0.619048 +vt 0.912281 0.619048 +vt 0.894737 0.571429 +vt 0.885965 0.619048 +vt 0.885965 0.571429 +vt 0.877193 0.571429 +vt 0.868421 0.619048 +vt 0.868421 0.571429 +vt 0.929825 0.571429 +vt 0.921053 0.619048 +vt 0.921053 0.571429 +vt 0.912281 0.571429 +vt 0.903509 0.619048 +vt 0.903509 0.571429 +vt 0.894737 0.619048 +vt 0.877193 0.619048 +vt 0.938596 0.571429 +vt 0.929825 0.619048 +vt 0.912281 0.619048 +vt 0.894737 0.571429 +vt 0.885965 0.619048 +vt 0.885965 0.571429 +vt 0.877193 0.571429 +vt 0.868421 0.619048 +vt 0.868421 0.571429 +vt 0.929825 0.571429 +vt 0.921053 0.619048 +vt 0.921053 0.571429 +vt 0.912281 0.571429 +vt 0.903509 0.619048 +vt 0.903509 0.571429 +vt 0.894737 0.619048 +vt 0.877193 0.619048 +vt 0.938596 0.571429 +vt 0.929825 0.619048 +vt 0.912281 0.619048 +vt 0.894737 0.571429 +vt 0.885965 0.619048 +vt 0.885965 0.571429 +vt 0.877193 0.571429 +vt 0.868421 0.619048 +vt 0.868421 0.571429 +vt 0.929825 0.571429 +vt 0.921053 0.619048 +vt 0.921053 0.571429 +vt 0.912281 0.571429 +vt 0.903509 0.619048 +vt 0.903509 0.571429 +vt 0.894737 0.619048 +vt 0.877193 0.619048 +vt 0.938596 0.571429 +vt 0.929825 0.619048 +vt 0.912281 0.619048 +vt 0.894737 0.571429 +vt 0.885965 0.619048 +vt 0.885965 0.571429 +vt 0.877193 0.571429 +vt 0.868421 0.619048 +vt 0.868421 0.571429 +vt 0.929825 0.571429 +vt 0.921053 0.619048 +vt 0.921053 0.571429 +vt 0.912281 0.571429 +vt 0.903509 0.619048 +vt 0.903509 0.571429 +vt 0.894737 0.619048 +vt 0.877193 0.619048 +vt 0.938596 0.571429 +vt 0.929825 0.619048 +vt 0.912281 0.619048 +vt 0.894737 0.571429 +vt 0.885965 0.619048 +vt 0.885965 0.571429 +vt 0.877193 0.571429 +vt 0.868421 0.619048 +vt 0.868421 0.571429 +vt 0.929825 0.571429 +vt 0.921053 0.619048 +vt 0.921053 0.571429 +vt 0.912281 0.571429 +vt 0.903509 0.619048 +vt 0.903509 0.571429 +vt 0.894737 0.619048 +vt 0.877193 0.619048 +vt 0.938596 0.571429 +vt 0.929825 0.619048 +vt 0.912281 0.619048 +vt 0.894737 0.571429 +vt 0.885965 0.619048 +vt 0.885965 0.571429 +vt 0.877193 0.571429 +vt 0.868421 0.619048 +vt 0.868421 0.571429 +vt 0.929825 0.571429 +vt 0.921053 0.619048 +vt 0.921053 0.571429 +vt 0.912281 0.571429 +vt 0.903509 0.619048 +vt 0.903509 0.571429 +vt 0.894737 0.619048 +vt 0.877193 0.619048 +vt 0.938596 0.571429 +vt 0.929825 0.619048 +vt 0.912281 0.619048 +vt 0.938596 0.619048 +vt 0.938596 0.619048 +vt 0.938596 0.619048 +vt 0.938596 0.619048 +vt 0.938596 0.619048 +vt 0.938596 0.619048 +vt 0.938596 0.619048 +vt 0.938596 0.619048 +vt 0.938596 0.619048 +vt 0.938596 0.619048 +vt 0.938596 0.619048 +vt 0.938596 0.619048 +vt 0.938596 0.619048 +vt 0.938596 0.619048 +vt 0.938596 0.619048 +vt 0.938596 0.619048 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +s off +f 9/13/6 11/14/6 10/15/6 +f 25/16/6 27/17/6 21/18/6 +f 30/19/7 31/20/7 29/21/7 +f 31/20/8 33/22/8 29/23/8 +f 30/24/9 36/25/9 32/26/9 +f 32/26/6 35/27/6 31/20/6 +f 36/25/10 33/28/10 35/27/10 +f 38/29/7 39/30/7 37/31/7 +f 39/30/8 41/32/8 37/33/8 +f 38/34/9 44/35/9 40/36/9 +f 40/36/6 43/37/6 39/30/6 +f 44/35/10 41/38/10 43/37/10 +f 46/39/7 47/40/7 45/41/7 +f 47/40/8 49/42/8 45/43/8 +f 46/44/9 52/45/9 48/46/9 +f 48/46/6 51/47/6 47/40/6 +f 52/45/10 49/48/10 51/47/10 +f 54/49/7 55/50/7 53/51/7 +f 55/50/8 57/52/8 53/53/8 +f 54/54/9 60/55/9 56/56/9 +f 56/56/6 59/57/6 55/50/6 +f 60/55/10 57/58/10 59/57/10 +f 73/59/6 75/60/6 69/61/6 +f 89/62/6 91/63/6 85/64/6 +f 105/65/6 107/66/6 101/67/6 +f 121/68/6 123/69/6 117/70/6 +f 137/71/6 139/72/6 133/73/6 +f 153/74/6 155/75/6 149/76/6 +f 169/77/6 171/78/6 165/79/6 +f 185/80/6 187/81/6 181/82/6 +f 201/83/6 203/84/6 197/85/6 +f 217/86/6 219/87/6 213/88/6 +f 233/89/6 235/90/6 229/91/6 +f 249/92/6 251/93/6 245/94/6 +f 265/95/6 267/96/6 261/97/6 +f 281/98/6 283/99/6 277/100/6 +f 297/101/6 299/102/6 293/103/6 +f 9/13/6 12/104/6 11/14/6 +f 21/18/6 22/105/6 23/106/6 +f 23/106/6 24/107/6 25/16/6 +f 25/16/6 26/108/6 27/17/6 +f 27/17/6 28/109/6 21/18/6 +f 21/18/6 23/106/6 25/16/6 +f 30/19/7 32/26/7 31/20/7 +f 31/20/8 35/27/8 33/22/8 +f 30/24/9 34/110/9 36/25/9 +f 32/26/6 36/25/6 35/27/6 +f 36/25/10 34/111/10 33/28/10 +f 38/29/7 40/36/7 39/30/7 +f 39/30/8 43/37/8 41/32/8 +f 38/34/9 42/112/9 44/35/9 +f 40/36/6 44/35/6 43/37/6 +f 44/35/10 42/113/10 41/38/10 +f 46/39/7 48/46/7 47/40/7 +f 47/40/8 51/47/8 49/42/8 +f 46/44/9 50/114/9 52/45/9 +f 48/46/6 52/45/6 51/47/6 +f 52/45/10 50/115/10 49/48/10 +f 54/49/7 56/56/7 55/50/7 +f 55/50/8 59/57/8 57/52/8 +f 54/54/9 58/116/9 60/55/9 +f 56/56/6 60/55/6 59/57/6 +f 60/55/10 58/117/10 57/58/10 +f 69/61/6 70/118/6 71/119/6 +f 71/119/6 72/120/6 73/59/6 +f 73/59/6 74/121/6 75/60/6 +f 75/60/6 76/122/6 69/61/6 +f 69/61/6 71/119/6 73/59/6 +f 85/64/6 86/123/6 87/124/6 +f 87/124/6 88/125/6 89/62/6 +f 89/62/6 90/126/6 91/63/6 +f 91/63/6 92/127/6 85/64/6 +f 85/64/6 87/124/6 89/62/6 +f 101/67/6 102/128/6 103/129/6 +f 103/129/6 104/130/6 105/65/6 +f 105/65/6 106/131/6 107/66/6 +f 107/66/6 108/132/6 101/67/6 +f 101/67/6 103/129/6 105/65/6 +f 117/70/6 118/133/6 119/134/6 +f 119/134/6 120/135/6 121/68/6 +f 121/68/6 122/136/6 123/69/6 +f 123/69/6 124/137/6 117/70/6 +f 117/70/6 119/134/6 121/68/6 +f 133/73/6 134/138/6 135/139/6 +f 135/139/6 136/140/6 137/71/6 +f 137/71/6 138/141/6 139/72/6 +f 139/72/6 140/142/6 133/73/6 +f 133/73/6 135/139/6 137/71/6 +f 149/76/6 150/143/6 151/144/6 +f 151/144/6 152/145/6 153/74/6 +f 153/74/6 154/146/6 155/75/6 +f 155/75/6 156/147/6 149/76/6 +f 149/76/6 151/144/6 153/74/6 +f 165/79/6 166/148/6 167/149/6 +f 167/149/6 168/150/6 169/77/6 +f 169/77/6 170/151/6 171/78/6 +f 171/78/6 172/152/6 165/79/6 +f 165/79/6 167/149/6 169/77/6 +f 181/82/6 182/153/6 183/154/6 +f 183/154/6 184/155/6 185/80/6 +f 185/80/6 186/156/6 187/81/6 +f 187/81/6 188/157/6 181/82/6 +f 181/82/6 183/154/6 185/80/6 +f 197/85/6 198/158/6 199/159/6 +f 199/159/6 200/160/6 201/83/6 +f 201/83/6 202/161/6 203/84/6 +f 203/84/6 204/162/6 197/85/6 +f 197/85/6 199/159/6 201/83/6 +f 213/88/6 214/163/6 215/164/6 +f 215/164/6 216/165/6 217/86/6 +f 217/86/6 218/166/6 219/87/6 +f 219/87/6 220/167/6 213/88/6 +f 213/88/6 215/164/6 217/86/6 +f 229/91/6 230/168/6 231/169/6 +f 231/169/6 232/170/6 233/89/6 +f 233/89/6 234/171/6 235/90/6 +f 235/90/6 236/172/6 229/91/6 +f 229/91/6 231/169/6 233/89/6 +f 245/94/6 246/173/6 247/174/6 +f 247/174/6 248/175/6 249/92/6 +f 249/92/6 250/176/6 251/93/6 +f 251/93/6 252/177/6 245/94/6 +f 245/94/6 247/174/6 249/92/6 +f 261/97/6 262/178/6 263/179/6 +f 263/179/6 264/180/6 265/95/6 +f 265/95/6 266/181/6 267/96/6 +f 267/96/6 268/182/6 261/97/6 +f 261/97/6 263/179/6 265/95/6 +f 277/100/6 278/183/6 279/184/6 +f 279/184/6 280/185/6 281/98/6 +f 281/98/6 282/186/6 283/99/6 +f 283/99/6 284/187/6 277/100/6 +f 277/100/6 279/184/6 281/98/6 +f 293/103/6 294/188/6 295/189/6 +f 295/189/6 296/190/6 297/101/6 +f 297/101/6 298/191/6 299/102/6 +f 299/102/6 300/192/6 293/103/6 +f 293/103/6 295/189/6 297/101/6 +s 1 +f 20/193/11 27/194/10 19/195/10 +f 18/196/12 25/197/9 17/198/9 +f 16/199/13 23/200/7 15/201/7 +f 14/202/14 21/203/8 13/204/8 +f 13/204/8 28/205/11 20/193/11 +f 19/195/10 26/206/12 18/196/12 +f 17/207/9 24/208/13 16/199/13 +f 15/201/7 22/209/14 14/202/14 +f 68/210/11 75/211/10 67/212/10 +f 66/213/12 73/214/9 65/215/9 +f 64/216/13 71/217/7 63/218/7 +f 62/219/14 69/220/8 61/221/8 +f 61/221/8 76/222/11 68/210/11 +f 67/212/10 74/223/12 66/213/12 +f 65/224/9 72/225/13 64/216/13 +f 63/218/7 70/226/14 62/219/14 +f 84/227/11 91/228/10 83/229/10 +f 82/230/12 89/231/9 81/232/9 +f 80/233/13 87/234/7 79/235/7 +f 78/236/14 85/237/8 77/238/8 +f 77/238/8 92/239/11 84/227/11 +f 83/229/10 90/240/12 82/230/12 +f 81/241/9 88/242/13 80/233/13 +f 79/235/7 86/243/14 78/236/14 +f 100/244/11 107/245/10 99/246/10 +f 98/247/12 105/248/9 97/249/9 +f 96/250/13 103/251/7 95/252/7 +f 94/253/14 101/254/8 93/255/8 +f 93/255/8 108/256/11 100/244/11 +f 99/246/10 106/257/12 98/247/12 +f 97/258/9 104/259/13 96/250/13 +f 95/252/7 102/260/14 94/253/14 +f 116/261/11 123/262/10 115/263/10 +f 114/264/12 121/265/9 113/266/9 +f 112/267/13 119/268/7 111/269/7 +f 110/270/14 117/271/8 109/272/8 +f 109/272/8 124/273/11 116/261/11 +f 115/263/10 122/274/12 114/264/12 +f 113/275/9 120/276/13 112/267/13 +f 111/269/7 118/277/14 110/270/14 +f 132/278/11 139/279/10 131/280/10 +f 130/281/12 137/282/9 129/283/9 +f 128/284/13 135/285/7 127/286/7 +f 126/287/14 133/288/8 125/289/8 +f 125/289/8 140/290/11 132/278/11 +f 131/280/10 138/291/12 130/281/12 +f 129/292/9 136/293/13 128/284/13 +f 127/286/7 134/294/14 126/287/14 +f 148/295/11 155/296/10 147/297/10 +f 146/298/12 153/299/9 145/300/9 +f 144/301/13 151/302/7 143/303/7 +f 142/304/14 149/305/8 141/306/8 +f 141/306/8 156/307/11 148/295/11 +f 147/297/10 154/308/12 146/298/12 +f 145/309/9 152/310/13 144/301/13 +f 143/303/7 150/311/14 142/304/14 +f 164/312/11 171/313/10 163/314/10 +f 162/315/12 169/316/9 161/317/9 +f 160/318/13 167/319/7 159/320/7 +f 158/321/14 165/322/8 157/323/8 +f 157/323/8 172/324/11 164/312/11 +f 163/314/10 170/325/12 162/315/12 +f 161/326/9 168/327/13 160/318/13 +f 159/320/7 166/328/14 158/321/14 +f 180/329/11 187/330/10 179/331/10 +f 178/332/12 185/333/9 177/334/9 +f 176/335/13 183/336/7 175/337/7 +f 174/338/14 181/339/8 173/340/8 +f 173/340/8 188/341/11 180/329/11 +f 179/331/10 186/342/12 178/332/12 +f 177/343/9 184/344/13 176/335/13 +f 175/337/7 182/345/14 174/338/14 +f 196/346/11 203/347/10 195/348/10 +f 194/349/12 201/350/9 193/351/9 +f 192/352/13 199/353/7 191/354/7 +f 190/355/14 197/356/8 189/357/8 +f 189/357/8 204/358/11 196/346/11 +f 195/348/10 202/359/12 194/349/12 +f 193/360/9 200/361/13 192/352/13 +f 191/354/7 198/362/14 190/355/14 +f 212/363/11 219/364/10 211/365/10 +f 210/366/12 217/367/9 209/368/9 +f 208/369/13 215/370/7 207/371/7 +f 206/372/14 213/373/8 205/374/8 +f 205/374/8 220/375/11 212/363/11 +f 211/365/10 218/376/12 210/366/12 +f 209/377/9 216/378/13 208/369/13 +f 207/371/7 214/379/14 206/372/14 +f 228/380/11 235/381/10 227/382/10 +f 226/383/12 233/384/9 225/385/9 +f 224/386/13 231/387/7 223/388/7 +f 222/389/14 229/390/8 221/391/8 +f 221/391/8 236/392/11 228/380/11 +f 227/382/10 234/393/12 226/383/12 +f 225/394/9 232/395/13 224/386/13 +f 223/388/7 230/396/14 222/389/14 +f 244/397/11 251/398/10 243/399/10 +f 242/400/12 249/401/9 241/402/9 +f 240/403/13 247/404/7 239/405/7 +f 238/406/14 245/407/8 237/408/8 +f 237/408/8 252/409/11 244/397/11 +f 243/399/10 250/410/12 242/400/12 +f 241/411/9 248/412/13 240/403/13 +f 239/405/7 246/413/14 238/406/14 +f 260/414/11 267/415/10 259/416/10 +f 258/417/12 265/418/9 257/419/9 +f 256/420/13 263/421/7 255/422/7 +f 254/423/14 261/424/8 253/425/8 +f 253/425/8 268/426/11 260/414/11 +f 259/416/10 266/427/12 258/417/12 +f 257/428/9 264/429/13 256/420/13 +f 255/422/7 262/430/14 254/423/14 +f 276/431/11 283/432/10 275/433/10 +f 274/434/12 281/435/9 273/436/9 +f 272/437/13 279/438/7 271/439/7 +f 270/440/14 277/441/8 269/442/8 +f 269/442/8 284/443/11 276/431/11 +f 275/433/10 282/444/12 274/434/12 +f 273/445/9 280/446/13 272/437/13 +f 271/439/7 278/447/14 270/440/14 +f 292/448/11 299/449/10 291/450/10 +f 290/451/12 297/452/9 289/453/9 +f 288/454/13 295/455/7 287/456/7 +f 286/457/14 293/458/8 285/459/8 +f 285/459/8 300/460/11 292/448/11 +f 291/450/10 298/461/12 290/451/12 +f 289/462/9 296/463/13 288/454/13 +f 287/456/7 294/464/14 286/457/14 +f 20/193/11 28/205/11 27/194/10 +f 18/196/12 26/206/12 25/197/9 +f 16/199/13 24/208/13 23/200/7 +f 14/202/14 22/209/14 21/203/8 +f 13/204/8 21/203/8 28/205/11 +f 19/195/10 27/194/10 26/206/12 +f 17/207/9 25/465/9 24/208/13 +f 15/201/7 23/200/7 22/209/14 +f 68/210/11 76/222/11 75/211/10 +f 66/213/12 74/223/12 73/214/9 +f 64/216/13 72/225/13 71/217/7 +f 62/219/14 70/226/14 69/220/8 +f 61/221/8 69/220/8 76/222/11 +f 67/212/10 75/211/10 74/223/12 +f 65/224/9 73/466/9 72/225/13 +f 63/218/7 71/217/7 70/226/14 +f 84/227/11 92/239/11 91/228/10 +f 82/230/12 90/240/12 89/231/9 +f 80/233/13 88/242/13 87/234/7 +f 78/236/14 86/243/14 85/237/8 +f 77/238/8 85/237/8 92/239/11 +f 83/229/10 91/228/10 90/240/12 +f 81/241/9 89/467/9 88/242/13 +f 79/235/7 87/234/7 86/243/14 +f 100/244/11 108/256/11 107/245/10 +f 98/247/12 106/257/12 105/248/9 +f 96/250/13 104/259/13 103/251/7 +f 94/253/14 102/260/14 101/254/8 +f 93/255/8 101/254/8 108/256/11 +f 99/246/10 107/245/10 106/257/12 +f 97/258/9 105/468/9 104/259/13 +f 95/252/7 103/251/7 102/260/14 +f 116/261/11 124/273/11 123/262/10 +f 114/264/12 122/274/12 121/265/9 +f 112/267/13 120/276/13 119/268/7 +f 110/270/14 118/277/14 117/271/8 +f 109/272/8 117/271/8 124/273/11 +f 115/263/10 123/262/10 122/274/12 +f 113/275/9 121/469/9 120/276/13 +f 111/269/7 119/268/7 118/277/14 +f 132/278/11 140/290/11 139/279/10 +f 130/281/12 138/291/12 137/282/9 +f 128/284/13 136/293/13 135/285/7 +f 126/287/14 134/294/14 133/288/8 +f 125/289/8 133/288/8 140/290/11 +f 131/280/10 139/279/10 138/291/12 +f 129/292/9 137/470/9 136/293/13 +f 127/286/7 135/285/7 134/294/14 +f 148/295/11 156/307/11 155/296/10 +f 146/298/12 154/308/12 153/299/9 +f 144/301/13 152/310/13 151/302/7 +f 142/304/14 150/311/14 149/305/8 +f 141/306/8 149/305/8 156/307/11 +f 147/297/10 155/296/10 154/308/12 +f 145/309/9 153/471/9 152/310/13 +f 143/303/7 151/302/7 150/311/14 +f 164/312/11 172/324/11 171/313/10 +f 162/315/12 170/325/12 169/316/9 +f 160/318/13 168/327/13 167/319/7 +f 158/321/14 166/328/14 165/322/8 +f 157/323/8 165/322/8 172/324/11 +f 163/314/10 171/313/10 170/325/12 +f 161/326/9 169/472/9 168/327/13 +f 159/320/7 167/319/7 166/328/14 +f 180/329/11 188/341/11 187/330/10 +f 178/332/12 186/342/12 185/333/9 +f 176/335/13 184/344/13 183/336/7 +f 174/338/14 182/345/14 181/339/8 +f 173/340/8 181/339/8 188/341/11 +f 179/331/10 187/330/10 186/342/12 +f 177/343/9 185/473/9 184/344/13 +f 175/337/7 183/336/7 182/345/14 +f 196/346/11 204/358/11 203/347/10 +f 194/349/12 202/359/12 201/350/9 +f 192/352/13 200/361/13 199/353/7 +f 190/355/14 198/362/14 197/356/8 +f 189/357/8 197/356/8 204/358/11 +f 195/348/10 203/347/10 202/359/12 +f 193/360/9 201/474/9 200/361/13 +f 191/354/7 199/353/7 198/362/14 +f 212/363/11 220/375/11 219/364/10 +f 210/366/12 218/376/12 217/367/9 +f 208/369/13 216/378/13 215/370/7 +f 206/372/14 214/379/14 213/373/8 +f 205/374/8 213/373/8 220/375/11 +f 211/365/10 219/364/10 218/376/12 +f 209/377/9 217/475/9 216/378/13 +f 207/371/7 215/370/7 214/379/14 +f 228/380/11 236/392/11 235/381/10 +f 226/383/12 234/393/12 233/384/9 +f 224/386/13 232/395/13 231/387/7 +f 222/389/14 230/396/14 229/390/8 +f 221/391/8 229/390/8 236/392/11 +f 227/382/10 235/381/10 234/393/12 +f 225/394/9 233/476/9 232/395/13 +f 223/388/7 231/387/7 230/396/14 +f 244/397/11 252/409/11 251/398/10 +f 242/400/12 250/410/12 249/401/9 +f 240/403/13 248/412/13 247/404/7 +f 238/406/14 246/413/14 245/407/8 +f 237/408/8 245/407/8 252/409/11 +f 243/399/10 251/398/10 250/410/12 +f 241/411/9 249/477/9 248/412/13 +f 239/405/7 247/404/7 246/413/14 +f 260/414/11 268/426/11 267/415/10 +f 258/417/12 266/427/12 265/418/9 +f 256/420/13 264/429/13 263/421/7 +f 254/423/14 262/430/14 261/424/8 +f 253/425/8 261/424/8 268/426/11 +f 259/416/10 267/415/10 266/427/12 +f 257/428/9 265/478/9 264/429/13 +f 255/422/7 263/421/7 262/430/14 +f 276/431/11 284/443/11 283/432/10 +f 274/434/12 282/444/12 281/435/9 +f 272/437/13 280/446/13 279/438/7 +f 270/440/14 278/447/14 277/441/8 +f 269/442/8 277/441/8 284/443/11 +f 275/433/10 283/432/10 282/444/12 +f 273/445/9 281/479/9 280/446/13 +f 271/439/7 279/438/7 278/447/14 +f 292/448/11 300/460/11 299/449/10 +f 290/451/12 298/461/12 297/452/9 +f 288/454/13 296/463/13 295/455/7 +f 286/457/14 294/464/14 293/458/8 +f 285/459/8 293/458/8 300/460/11 +f 291/450/10 299/449/10 298/461/12 +f 289/462/9 297/480/9 296/463/13 +f 287/456/7 295/455/7 294/464/14 +o Bullets +v 0.125000 1.125000 0.414062 +v 0.108427 1.125000 0.420927 +v 0.101562 1.125000 0.437500 +v 0.108427 1.125000 0.454073 +v 0.125000 1.125000 0.460938 +v 0.141573 1.125000 0.454073 +v 0.148438 1.125000 0.437500 +v 0.141573 1.125000 0.420927 +v 0.125000 1.187500 0.437500 +v 0.141573 1.156250 0.454073 +v 0.125000 1.156250 0.460938 +v 0.108427 1.156250 0.454073 +v 0.101562 1.156250 0.437500 +v 0.108427 1.156250 0.420927 +v 0.125000 1.156250 0.414062 +v 0.141573 1.156250 0.420927 +v 0.148438 1.156250 0.437500 +v -0.125000 1.125000 0.414062 +v -0.141573 1.125000 0.420927 +v -0.148438 1.125000 0.437500 +v -0.141573 1.125000 0.454073 +v -0.125000 1.125000 0.460938 +v -0.108427 1.125000 0.454073 +v -0.101562 1.125000 0.437500 +v -0.108427 1.125000 0.420927 +v -0.125000 1.187500 0.437500 +v -0.108427 1.156250 0.454073 +v -0.125000 1.156250 0.460938 +v -0.141573 1.156250 0.454073 +v -0.148438 1.156250 0.437500 +v -0.141573 1.156250 0.420927 +v -0.125000 1.156250 0.414062 +v -0.108427 1.156250 0.420927 +v -0.101562 1.156250 0.437500 +v 0.125000 1.125000 0.289062 +v 0.108427 1.125000 0.295927 +v 0.101562 1.125000 0.312500 +v 0.108427 1.125000 0.329073 +v 0.125000 1.125000 0.335938 +v 0.141573 1.125000 0.329073 +v 0.148438 1.125000 0.312500 +v 0.141573 1.125000 0.295927 +v 0.125000 1.187500 0.312500 +v 0.141573 1.156250 0.329073 +v 0.125000 1.156250 0.335938 +v 0.108427 1.156250 0.329073 +v 0.101562 1.156250 0.312500 +v 0.108427 1.156250 0.295927 +v 0.125000 1.156250 0.289062 +v 0.141573 1.156250 0.295927 +v 0.148438 1.156250 0.312500 +v -0.125000 1.125000 0.289062 +v -0.141573 1.125000 0.295927 +v -0.148438 1.125000 0.312500 +v -0.141573 1.125000 0.329073 +v -0.125000 1.125000 0.335938 +v -0.108427 1.125000 0.329073 +v -0.101562 1.125000 0.312500 +v -0.108427 1.125000 0.295927 +v -0.125000 1.187500 0.312500 +v -0.108427 1.156250 0.329073 +v -0.125000 1.156250 0.335938 +v -0.141573 1.156250 0.329073 +v -0.148438 1.156250 0.312500 +v -0.141573 1.156250 0.295927 +v -0.125000 1.156250 0.289062 +v -0.108427 1.156250 0.295927 +v -0.101562 1.156250 0.312500 +v 0.125000 1.125000 0.164062 +v 0.108427 1.125000 0.170927 +v 0.101562 1.125000 0.187500 +v 0.108427 1.125000 0.204073 +v 0.125000 1.125000 0.210938 +v 0.141573 1.125000 0.204073 +v 0.148438 1.125000 0.187500 +v 0.141573 1.125000 0.170927 +v 0.125000 1.187500 0.187500 +v 0.141573 1.156250 0.204073 +v 0.125000 1.156250 0.210938 +v 0.108427 1.156250 0.204073 +v 0.101562 1.156250 0.187500 +v 0.108427 1.156250 0.170927 +v 0.125000 1.156250 0.164062 +v 0.141573 1.156250 0.170927 +v 0.148438 1.156250 0.187500 +v -0.125000 1.125000 0.164062 +v -0.141573 1.125000 0.170927 +v -0.148438 1.125000 0.187500 +v -0.141573 1.125000 0.204073 +v -0.125000 1.125000 0.210938 +v -0.108427 1.125000 0.204073 +v -0.101562 1.125000 0.187500 +v -0.108427 1.125000 0.170927 +v -0.125000 1.187500 0.187500 +v -0.108427 1.156250 0.204073 +v -0.125000 1.156250 0.210938 +v -0.141573 1.156250 0.204073 +v -0.148438 1.156250 0.187500 +v -0.141573 1.156250 0.170927 +v -0.125000 1.156250 0.164062 +v -0.108427 1.156250 0.170927 +v -0.101562 1.156250 0.187500 +v 0.125000 1.125000 0.039062 +v 0.108427 1.125000 0.045927 +v 0.101562 1.125000 0.062500 +v 0.108427 1.125000 0.079073 +v 0.125000 1.125000 0.085938 +v 0.141573 1.125000 0.079073 +v 0.148438 1.125000 0.062500 +v 0.141573 1.125000 0.045927 +v 0.125000 1.187500 0.062500 +v 0.141573 1.156250 0.079073 +v 0.125000 1.156250 0.085938 +v 0.108427 1.156250 0.079073 +v 0.101562 1.156250 0.062500 +v 0.108427 1.156250 0.045927 +v 0.125000 1.156250 0.039062 +v 0.141573 1.156250 0.045927 +v 0.148438 1.156250 0.062500 +v -0.125000 1.125000 0.039062 +v -0.141573 1.125000 0.045927 +v -0.148438 1.125000 0.062500 +v -0.141573 1.125000 0.079073 +v -0.125000 1.125000 0.085938 +v -0.108427 1.125000 0.079073 +v -0.101562 1.125000 0.062500 +v -0.108427 1.125000 0.045927 +v -0.125000 1.187500 0.062500 +v -0.108427 1.156250 0.079073 +v -0.125000 1.156250 0.085938 +v -0.141573 1.156250 0.079073 +v -0.148438 1.156250 0.062500 +v -0.141573 1.156250 0.045927 +v -0.125000 1.156250 0.039062 +v -0.108427 1.156250 0.045927 +v -0.101562 1.156250 0.062500 +v 0.125000 1.125000 -0.085938 +v 0.108427 1.125000 -0.079073 +v 0.101562 1.125000 -0.062500 +v 0.108427 1.125000 -0.045927 +v 0.125000 1.125000 -0.039062 +v 0.141573 1.125000 -0.045927 +v 0.148438 1.125000 -0.062500 +v 0.141573 1.125000 -0.079073 +v 0.125000 1.187500 -0.062500 +v 0.141573 1.156250 -0.045927 +v 0.125000 1.156250 -0.039062 +v 0.108427 1.156250 -0.045927 +v 0.101562 1.156250 -0.062500 +v 0.108427 1.156250 -0.079073 +v 0.125000 1.156250 -0.085938 +v 0.141573 1.156250 -0.079073 +v 0.148438 1.156250 -0.062500 +v -0.125000 1.125000 -0.085938 +v -0.141573 1.125000 -0.079073 +v -0.148438 1.125000 -0.062500 +v -0.141573 1.125000 -0.045927 +v -0.125000 1.125000 -0.039062 +v -0.108427 1.125000 -0.045927 +v -0.101562 1.125000 -0.062500 +v -0.108427 1.125000 -0.079073 +v -0.125000 1.187500 -0.062500 +v -0.108427 1.156250 -0.045927 +v -0.125000 1.156250 -0.039062 +v -0.141573 1.156250 -0.045927 +v -0.148438 1.156250 -0.062500 +v -0.141573 1.156250 -0.079073 +v -0.125000 1.156250 -0.085938 +v -0.108427 1.156250 -0.079073 +v -0.101562 1.156250 -0.062500 +v 0.125000 1.125000 -0.210938 +v 0.108427 1.125000 -0.204073 +v 0.101562 1.125000 -0.187500 +v 0.108427 1.125000 -0.170927 +v 0.125000 1.125000 -0.164062 +v 0.141573 1.125000 -0.170927 +v 0.148438 1.125000 -0.187500 +v 0.141573 1.125000 -0.204073 +v 0.125000 1.187500 -0.187500 +v 0.141573 1.156250 -0.170927 +v 0.125000 1.156250 -0.164062 +v 0.108427 1.156250 -0.170927 +v 0.101562 1.156250 -0.187500 +v 0.108427 1.156250 -0.204073 +v 0.125000 1.156250 -0.210938 +v 0.141573 1.156250 -0.204073 +v 0.148438 1.156250 -0.187500 +v -0.125000 1.125000 -0.210938 +v -0.141573 1.125000 -0.204073 +v -0.148438 1.125000 -0.187500 +v -0.141573 1.125000 -0.170927 +v -0.125000 1.125000 -0.164062 +v -0.108427 1.125000 -0.170927 +v -0.101562 1.125000 -0.187500 +v -0.108427 1.125000 -0.204073 +v -0.125000 1.187500 -0.187500 +v -0.108427 1.156250 -0.170927 +v -0.125000 1.156250 -0.164062 +v -0.141573 1.156250 -0.170927 +v -0.148438 1.156250 -0.187500 +v -0.141573 1.156250 -0.204073 +v -0.125000 1.156250 -0.210938 +v -0.108427 1.156250 -0.204073 +v -0.101562 1.156250 -0.187500 +v 0.125000 1.125000 -0.335938 +v 0.108427 1.125000 -0.329073 +v 0.101562 1.125000 -0.312500 +v 0.108427 1.125000 -0.295927 +v 0.125000 1.125000 -0.289062 +v 0.141573 1.125000 -0.295927 +v 0.148438 1.125000 -0.312500 +v 0.141573 1.125000 -0.329073 +v 0.125000 1.187500 -0.312500 +v 0.141573 1.156250 -0.295927 +v 0.125000 1.156250 -0.289062 +v 0.108427 1.156250 -0.295927 +v 0.101562 1.156250 -0.312500 +v 0.108427 1.156250 -0.329073 +v 0.125000 1.156250 -0.335938 +v 0.141573 1.156250 -0.329073 +v 0.148438 1.156250 -0.312500 +v -0.125000 1.125000 -0.335938 +v -0.141573 1.125000 -0.329073 +v -0.148438 1.125000 -0.312500 +v -0.141573 1.125000 -0.295927 +v -0.125000 1.125000 -0.289062 +v -0.108427 1.125000 -0.295927 +v -0.101562 1.125000 -0.312500 +v -0.108427 1.125000 -0.329073 +v -0.125000 1.187500 -0.312500 +v -0.108427 1.156250 -0.295927 +v -0.125000 1.156250 -0.289062 +v -0.141573 1.156250 -0.295927 +v -0.148438 1.156250 -0.312500 +v -0.141573 1.156250 -0.329073 +v -0.125000 1.156250 -0.335938 +v -0.108427 1.156250 -0.329073 +v -0.101562 1.156250 -0.312500 +v 0.125000 1.125000 -0.460938 +v 0.108427 1.125000 -0.454073 +v 0.101562 1.125000 -0.437500 +v 0.108427 1.125000 -0.420927 +v 0.125000 1.125000 -0.414062 +v 0.141573 1.125000 -0.420927 +v 0.148438 1.125000 -0.437500 +v 0.141573 1.125000 -0.454073 +v 0.125000 1.187500 -0.437500 +v 0.141573 1.156250 -0.420927 +v 0.125000 1.156250 -0.414062 +v 0.108427 1.156250 -0.420927 +v 0.101562 1.156250 -0.437500 +v 0.108427 1.156250 -0.454073 +v 0.125000 1.156250 -0.460938 +v 0.141573 1.156250 -0.454073 +v 0.148438 1.156250 -0.437500 +v -0.125000 1.125000 -0.460938 +v -0.141573 1.125000 -0.454073 +v -0.148438 1.125000 -0.437500 +v -0.141573 1.125000 -0.420927 +v -0.125000 1.125000 -0.414062 +v -0.108427 1.125000 -0.420927 +v -0.101562 1.125000 -0.437500 +v -0.108427 1.125000 -0.454073 +v -0.125000 1.187500 -0.437500 +v -0.108427 1.156250 -0.420927 +v -0.125000 1.156250 -0.414062 +v -0.141573 1.156250 -0.420927 +v -0.148438 1.156250 -0.437500 +v -0.141573 1.156250 -0.454073 +v -0.125000 1.156250 -0.460938 +v -0.108427 1.156250 -0.454073 +v -0.101562 1.156250 -0.437500 +vt 0.894737 0.642857 +vt 0.885965 0.654762 +vt 0.885965 0.642857 +vt 0.877193 0.666667 +vt 0.877193 0.654762 +vt 0.929825 0.666667 +vt 0.929825 0.654762 +vt 0.938596 0.654762 +vt 0.912281 0.666667 +vt 0.912281 0.654762 +vt 0.921053 0.654762 +vt 0.885965 0.666667 +vt 0.894737 0.654762 +vt 0.868421 0.666667 +vt 0.868421 0.654762 +vt 0.921053 0.666667 +vt 0.894737 0.666667 +vt 0.903509 0.654762 +vt 0.921053 0.642857 +vt 0.912281 0.642857 +vt 0.938596 0.642857 +vt 0.929825 0.642857 +vt 0.877193 0.642857 +vt 0.903509 0.642857 +vt 0.868421 0.642857 +vt 0.903509 0.666667 +vt 0.894737 0.642857 +vt 0.885965 0.654762 +vt 0.885965 0.642857 +vt 0.877193 0.666667 +vt 0.877193 0.654762 +vt 0.929825 0.666667 +vt 0.929825 0.654762 +vt 0.938596 0.654762 +vt 0.912281 0.666667 +vt 0.912281 0.654762 +vt 0.921053 0.654762 +vt 0.885965 0.666667 +vt 0.894737 0.654762 +vt 0.868421 0.666667 +vt 0.868421 0.654762 +vt 0.921053 0.666667 +vt 0.894737 0.666667 +vt 0.903509 0.654762 +vt 0.921053 0.642857 +vt 0.912281 0.642857 +vt 0.938596 0.642857 +vt 0.929825 0.642857 +vt 0.877193 0.642857 +vt 0.903509 0.642857 +vt 0.868421 0.642857 +vt 0.903509 0.666667 +vt 0.894737 0.642857 +vt 0.885965 0.654762 +vt 0.885965 0.642857 +vt 0.877193 0.666667 +vt 0.877193 0.654762 +vt 0.929825 0.666667 +vt 0.929825 0.654762 +vt 0.938596 0.654762 +vt 0.912281 0.666667 +vt 0.912281 0.654762 +vt 0.921053 0.654762 +vt 0.885965 0.666667 +vt 0.894737 0.654762 +vt 0.868421 0.666667 +vt 0.868421 0.654762 +vt 0.921053 0.666667 +vt 0.894737 0.666667 +vt 0.903509 0.654762 +vt 0.921053 0.642857 +vt 0.912281 0.642857 +vt 0.938596 0.642857 +vt 0.929825 0.642857 +vt 0.877193 0.642857 +vt 0.903509 0.642857 +vt 0.868421 0.642857 +vt 0.903509 0.666667 +vt 0.894737 0.642857 +vt 0.885965 0.654762 +vt 0.885965 0.642857 +vt 0.877193 0.666667 +vt 0.877193 0.654762 +vt 0.929825 0.666667 +vt 0.929825 0.654762 +vt 0.938596 0.654762 +vt 0.912281 0.666667 +vt 0.912281 0.654762 +vt 0.921053 0.654762 +vt 0.885965 0.666667 +vt 0.894737 0.654762 +vt 0.868421 0.666667 +vt 0.868421 0.654762 +vt 0.921053 0.666667 +vt 0.894737 0.666667 +vt 0.903509 0.654762 +vt 0.921053 0.642857 +vt 0.912281 0.642857 +vt 0.938596 0.642857 +vt 0.929825 0.642857 +vt 0.877193 0.642857 +vt 0.903509 0.642857 +vt 0.868421 0.642857 +vt 0.903509 0.666667 +vt 0.894737 0.642857 +vt 0.885965 0.654762 +vt 0.885965 0.642857 +vt 0.877193 0.666667 +vt 0.877193 0.654762 +vt 0.929825 0.666667 +vt 0.929825 0.654762 +vt 0.938596 0.654762 +vt 0.912281 0.666667 +vt 0.912281 0.654762 +vt 0.921053 0.654762 +vt 0.885965 0.666667 +vt 0.894737 0.654762 +vt 0.868421 0.666667 +vt 0.868421 0.654762 +vt 0.921053 0.666667 +vt 0.894737 0.666667 +vt 0.903509 0.654762 +vt 0.921053 0.642857 +vt 0.912281 0.642857 +vt 0.938596 0.642857 +vt 0.929825 0.642857 +vt 0.877193 0.642857 +vt 0.903509 0.642857 +vt 0.868421 0.642857 +vt 0.903509 0.666667 +vt 0.894737 0.642857 +vt 0.885965 0.654762 +vt 0.885965 0.642857 +vt 0.877193 0.666667 +vt 0.877193 0.654762 +vt 0.929825 0.666667 +vt 0.929825 0.654762 +vt 0.938596 0.654762 +vt 0.912281 0.666667 +vt 0.912281 0.654762 +vt 0.921053 0.654762 +vt 0.885965 0.666667 +vt 0.894737 0.654762 +vt 0.868421 0.666667 +vt 0.868421 0.654762 +vt 0.921053 0.666667 +vt 0.894737 0.666667 +vt 0.903509 0.654762 +vt 0.921053 0.642857 +vt 0.912281 0.642857 +vt 0.938596 0.642857 +vt 0.929825 0.642857 +vt 0.877193 0.642857 +vt 0.903509 0.642857 +vt 0.868421 0.642857 +vt 0.903509 0.666667 +vt 0.894737 0.642857 +vt 0.885965 0.654762 +vt 0.885965 0.642857 +vt 0.877193 0.666667 +vt 0.877193 0.654762 +vt 0.929825 0.666667 +vt 0.929825 0.654762 +vt 0.938596 0.654762 +vt 0.912281 0.666667 +vt 0.912281 0.654762 +vt 0.921053 0.654762 +vt 0.885965 0.666667 +vt 0.894737 0.654762 +vt 0.868421 0.666667 +vt 0.868421 0.654762 +vt 0.921053 0.666667 +vt 0.894737 0.666667 +vt 0.903509 0.654762 +vt 0.921053 0.642857 +vt 0.912281 0.642857 +vt 0.938596 0.642857 +vt 0.929825 0.642857 +vt 0.877193 0.642857 +vt 0.903509 0.642857 +vt 0.868421 0.642857 +vt 0.903509 0.666667 +vt 0.894737 0.642857 +vt 0.885965 0.654762 +vt 0.885965 0.642857 +vt 0.877193 0.666667 +vt 0.877193 0.654762 +vt 0.929825 0.666667 +vt 0.929825 0.654762 +vt 0.938596 0.654762 +vt 0.912281 0.666667 +vt 0.912281 0.654762 +vt 0.921053 0.654762 +vt 0.885965 0.666667 +vt 0.894737 0.654762 +vt 0.868421 0.666667 +vt 0.868421 0.654762 +vt 0.921053 0.666667 +vt 0.894737 0.666667 +vt 0.903509 0.654762 +vt 0.921053 0.642857 +vt 0.912281 0.642857 +vt 0.938596 0.642857 +vt 0.929825 0.642857 +vt 0.877193 0.642857 +vt 0.903509 0.642857 +vt 0.868421 0.642857 +vt 0.903509 0.666667 +vt 0.894737 0.642857 +vt 0.885965 0.654762 +vt 0.885965 0.642857 +vt 0.877193 0.666667 +vt 0.877193 0.654762 +vt 0.929825 0.666667 +vt 0.929825 0.654762 +vt 0.938596 0.654762 +vt 0.912281 0.666667 +vt 0.912281 0.654762 +vt 0.921053 0.654762 +vt 0.885965 0.666667 +vt 0.894737 0.654762 +vt 0.868421 0.666667 +vt 0.868421 0.654762 +vt 0.921053 0.666667 +vt 0.894737 0.666667 +vt 0.903509 0.654762 +vt 0.921053 0.642857 +vt 0.912281 0.642857 +vt 0.938596 0.642857 +vt 0.929825 0.642857 +vt 0.877193 0.642857 +vt 0.903509 0.642857 +vt 0.868421 0.642857 +vt 0.903509 0.666667 +vt 0.894737 0.642857 +vt 0.885965 0.654762 +vt 0.885965 0.642857 +vt 0.877193 0.666667 +vt 0.877193 0.654762 +vt 0.929825 0.666667 +vt 0.929825 0.654762 +vt 0.938596 0.654762 +vt 0.912281 0.666667 +vt 0.912281 0.654762 +vt 0.921053 0.654762 +vt 0.885965 0.666667 +vt 0.894737 0.654762 +vt 0.868421 0.666667 +vt 0.868421 0.654762 +vt 0.921053 0.666667 +vt 0.894737 0.666667 +vt 0.903509 0.654762 +vt 0.921053 0.642857 +vt 0.912281 0.642857 +vt 0.938596 0.642857 +vt 0.929825 0.642857 +vt 0.877193 0.642857 +vt 0.903509 0.642857 +vt 0.868421 0.642857 +vt 0.903509 0.666667 +vt 0.894737 0.642857 +vt 0.885965 0.654762 +vt 0.885965 0.642857 +vt 0.877193 0.666667 +vt 0.877193 0.654762 +vt 0.929825 0.666667 +vt 0.929825 0.654762 +vt 0.938596 0.654762 +vt 0.912281 0.666667 +vt 0.912281 0.654762 +vt 0.921053 0.654762 +vt 0.885965 0.666667 +vt 0.894737 0.654762 +vt 0.868421 0.666667 +vt 0.868421 0.654762 +vt 0.921053 0.666667 +vt 0.894737 0.666667 +vt 0.903509 0.654762 +vt 0.921053 0.642857 +vt 0.912281 0.642857 +vt 0.938596 0.642857 +vt 0.929825 0.642857 +vt 0.877193 0.642857 +vt 0.903509 0.642857 +vt 0.868421 0.642857 +vt 0.903509 0.666667 +vt 0.894737 0.642857 +vt 0.885965 0.654762 +vt 0.885965 0.642857 +vt 0.877193 0.666667 +vt 0.877193 0.654762 +vt 0.929825 0.666667 +vt 0.929825 0.654762 +vt 0.938596 0.654762 +vt 0.912281 0.666667 +vt 0.912281 0.654762 +vt 0.921053 0.654762 +vt 0.885965 0.666667 +vt 0.894737 0.654762 +vt 0.868421 0.666667 +vt 0.868421 0.654762 +vt 0.921053 0.666667 +vt 0.894737 0.666667 +vt 0.903509 0.654762 +vt 0.921053 0.642857 +vt 0.912281 0.642857 +vt 0.938596 0.642857 +vt 0.929825 0.642857 +vt 0.877193 0.642857 +vt 0.903509 0.642857 +vt 0.868421 0.642857 +vt 0.903509 0.666667 +vt 0.894737 0.642857 +vt 0.885965 0.654762 +vt 0.885965 0.642857 +vt 0.877193 0.666667 +vt 0.877193 0.654762 +vt 0.929825 0.666667 +vt 0.929825 0.654762 +vt 0.938596 0.654762 +vt 0.912281 0.666667 +vt 0.912281 0.654762 +vt 0.921053 0.654762 +vt 0.885965 0.666667 +vt 0.894737 0.654762 +vt 0.868421 0.666667 +vt 0.868421 0.654762 +vt 0.921053 0.666667 +vt 0.894737 0.666667 +vt 0.903509 0.654762 +vt 0.921053 0.642857 +vt 0.912281 0.642857 +vt 0.938596 0.642857 +vt 0.929825 0.642857 +vt 0.877193 0.642857 +vt 0.903509 0.642857 +vt 0.868421 0.642857 +vt 0.903509 0.666667 +vt 0.894737 0.642857 +vt 0.885965 0.654762 +vt 0.885965 0.642857 +vt 0.877193 0.666667 +vt 0.877193 0.654762 +vt 0.929825 0.666667 +vt 0.929825 0.654762 +vt 0.938596 0.654762 +vt 0.912281 0.666667 +vt 0.912281 0.654762 +vt 0.921053 0.654762 +vt 0.885965 0.666667 +vt 0.894737 0.654762 +vt 0.868421 0.666667 +vt 0.868421 0.654762 +vt 0.921053 0.666667 +vt 0.894737 0.666667 +vt 0.903509 0.654762 +vt 0.921053 0.642857 +vt 0.912281 0.642857 +vt 0.938596 0.642857 +vt 0.929825 0.642857 +vt 0.877193 0.642857 +vt 0.903509 0.642857 +vt 0.868421 0.642857 +vt 0.903509 0.666667 +vt 0.894737 0.642857 +vt 0.885965 0.654762 +vt 0.885965 0.642857 +vt 0.877193 0.666667 +vt 0.877193 0.654762 +vt 0.929825 0.666667 +vt 0.929825 0.654762 +vt 0.938596 0.654762 +vt 0.912281 0.666667 +vt 0.912281 0.654762 +vt 0.921053 0.654762 +vt 0.885965 0.666667 +vt 0.894737 0.654762 +vt 0.868421 0.666667 +vt 0.868421 0.654762 +vt 0.921053 0.666667 +vt 0.894737 0.666667 +vt 0.903509 0.654762 +vt 0.921053 0.642857 +vt 0.912281 0.642857 +vt 0.938596 0.642857 +vt 0.929825 0.642857 +vt 0.877193 0.642857 +vt 0.903509 0.642857 +vt 0.868421 0.642857 +vt 0.903509 0.666667 +vt 0.894737 0.642857 +vt 0.885965 0.654762 +vt 0.885965 0.642857 +vt 0.877193 0.666667 +vt 0.877193 0.654762 +vt 0.929825 0.666667 +vt 0.929825 0.654762 +vt 0.938596 0.654762 +vt 0.912281 0.666667 +vt 0.912281 0.654762 +vt 0.921053 0.654762 +vt 0.885965 0.666667 +vt 0.894737 0.654762 +vt 0.868421 0.666667 +vt 0.868421 0.654762 +vt 0.921053 0.666667 +vt 0.894737 0.666667 +vt 0.903509 0.654762 +vt 0.921053 0.642857 +vt 0.912281 0.642857 +vt 0.938596 0.642857 +vt 0.929825 0.642857 +vt 0.877193 0.642857 +vt 0.903509 0.642857 +vt 0.868421 0.642857 +vt 0.903509 0.666667 +vn 0.7071 0.0000 -0.7071 +vn 0.9554 0.2952 -0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.0000 1.0000 -0.0000 +vn 0.6756 0.2952 0.6756 +vn -0.6756 0.2952 0.6756 +vn 0.0000 0.2952 0.9554 +vn -0.6756 0.2952 -0.6756 +vn -0.9554 0.2952 -0.0000 +vn 0.6756 0.2952 -0.6756 +vn -0.0000 0.2952 -0.9554 +vn -1.0000 0.0000 0.0000 +vn -0.7071 0.0000 -0.7071 +vn -0.0000 0.0000 1.0000 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.0000 0.0000 -1.0000 +s 1 +f 308/481/15 317/482/16 307/483/17 +f 317/482/16 309/484/18 310/485/19 +f 309/486/18 312/487/20 311/488/21 +f 309/489/18 314/490/22 313/491/23 +f 309/492/18 317/482/16 316/493/24 +f 310/485/19 309/494/18 311/495/21 +f 312/487/20 309/496/18 313/491/23 +f 309/497/18 316/493/24 315/498/25 +f 303/499/26 314/490/22 302/500/27 +f 305/501/28 312/487/20 304/502/29 +f 307/483/17 310/485/19 306/503/30 +f 301/504/31 316/493/24 308/481/15 +f 302/500/27 315/498/25 301/504/31 +f 304/502/29 313/491/23 303/499/26 +f 306/503/30 311/495/21 305/505/28 +f 314/490/22 309/506/18 315/498/25 +f 325/507/15 334/508/16 324/509/17 +f 334/508/16 326/510/18 327/511/19 +f 326/512/18 329/513/20 328/514/21 +f 326/515/18 331/516/22 330/517/23 +f 326/518/18 334/508/16 333/519/24 +f 327/511/19 326/520/18 328/521/21 +f 329/513/20 326/522/18 330/517/23 +f 326/523/18 333/519/24 332/524/25 +f 320/525/26 331/516/22 319/526/27 +f 322/527/28 329/513/20 321/528/29 +f 324/509/17 327/511/19 323/529/30 +f 318/530/31 333/519/24 325/507/15 +f 319/526/27 332/524/25 318/530/31 +f 321/528/29 330/517/23 320/525/26 +f 323/529/30 328/521/21 322/531/28 +f 331/516/22 326/532/18 332/524/25 +f 342/533/15 351/534/16 341/535/17 +f 351/534/16 343/536/18 344/537/19 +f 343/538/18 346/539/20 345/540/21 +f 343/541/18 348/542/22 347/543/23 +f 343/544/18 351/534/16 350/545/24 +f 344/537/19 343/546/18 345/547/21 +f 346/539/20 343/548/18 347/543/23 +f 343/549/18 350/545/24 349/550/25 +f 337/551/26 348/542/22 336/552/27 +f 339/553/28 346/539/20 338/554/29 +f 341/535/17 344/537/19 340/555/30 +f 335/556/31 350/545/24 342/533/15 +f 336/552/27 349/550/25 335/556/31 +f 338/554/29 347/543/23 337/551/26 +f 340/555/30 345/547/21 339/557/28 +f 348/542/22 343/558/18 349/550/25 +f 359/559/15 368/560/16 358/561/17 +f 368/560/16 360/562/18 361/563/19 +f 360/564/18 363/565/20 362/566/21 +f 360/567/18 365/568/22 364/569/23 +f 360/570/18 368/560/16 367/571/24 +f 361/563/19 360/572/18 362/573/21 +f 363/565/20 360/574/18 364/569/23 +f 360/575/18 367/571/24 366/576/25 +f 354/577/26 365/568/22 353/578/27 +f 356/579/28 363/565/20 355/580/29 +f 358/561/17 361/563/19 357/581/30 +f 352/582/31 367/571/24 359/559/15 +f 353/578/27 366/576/25 352/582/31 +f 355/580/29 364/569/23 354/577/26 +f 357/581/30 362/573/21 356/583/28 +f 365/568/22 360/584/18 366/576/25 +f 376/585/15 385/586/16 375/587/17 +f 385/586/16 377/588/18 378/589/19 +f 377/590/18 380/591/20 379/592/21 +f 377/593/18 382/594/22 381/595/23 +f 377/596/18 385/586/16 384/597/24 +f 378/589/19 377/598/18 379/599/21 +f 380/591/20 377/600/18 381/595/23 +f 377/601/18 384/597/24 383/602/25 +f 371/603/26 382/594/22 370/604/27 +f 373/605/28 380/591/20 372/606/29 +f 375/587/17 378/589/19 374/607/30 +f 369/608/31 384/597/24 376/585/15 +f 370/604/27 383/602/25 369/608/31 +f 372/606/29 381/595/23 371/603/26 +f 374/607/30 379/599/21 373/609/28 +f 382/594/22 377/610/18 383/602/25 +f 393/611/15 402/612/16 392/613/17 +f 402/612/16 394/614/18 395/615/19 +f 394/616/18 397/617/20 396/618/21 +f 394/619/18 399/620/22 398/621/23 +f 394/622/18 402/612/16 401/623/24 +f 395/615/19 394/624/18 396/625/21 +f 397/617/20 394/626/18 398/621/23 +f 394/627/18 401/623/24 400/628/25 +f 388/629/26 399/620/22 387/630/27 +f 390/631/28 397/617/20 389/632/29 +f 392/613/17 395/615/19 391/633/30 +f 386/634/31 401/623/24 393/611/15 +f 387/630/27 400/628/25 386/634/31 +f 389/632/29 398/621/23 388/629/26 +f 391/633/30 396/625/21 390/635/28 +f 399/620/22 394/636/18 400/628/25 +f 410/637/15 419/638/16 409/639/17 +f 419/638/16 411/640/18 412/641/19 +f 411/642/18 414/643/20 413/644/21 +f 411/645/18 416/646/22 415/647/23 +f 411/648/18 419/638/16 418/649/24 +f 412/641/19 411/650/18 413/651/21 +f 414/643/20 411/652/18 415/647/23 +f 411/653/18 418/649/24 417/654/25 +f 405/655/26 416/646/22 404/656/27 +f 407/657/28 414/643/20 406/658/29 +f 409/639/17 412/641/19 408/659/30 +f 403/660/31 418/649/24 410/637/15 +f 404/656/27 417/654/25 403/660/31 +f 406/658/29 415/647/23 405/655/26 +f 408/659/30 413/651/21 407/661/28 +f 416/646/22 411/662/18 417/654/25 +f 427/663/15 436/664/16 426/665/17 +f 436/664/16 428/666/18 429/667/19 +f 428/668/18 431/669/20 430/670/21 +f 428/671/18 433/672/22 432/673/23 +f 428/674/18 436/664/16 435/675/24 +f 429/667/19 428/676/18 430/677/21 +f 431/669/20 428/678/18 432/673/23 +f 428/679/18 435/675/24 434/680/25 +f 422/681/26 433/672/22 421/682/27 +f 424/683/28 431/669/20 423/684/29 +f 426/665/17 429/667/19 425/685/30 +f 420/686/31 435/675/24 427/663/15 +f 421/682/27 434/680/25 420/686/31 +f 423/684/29 432/673/23 422/681/26 +f 425/685/30 430/677/21 424/687/28 +f 433/672/22 428/688/18 434/680/25 +f 444/689/15 453/690/16 443/691/17 +f 453/690/16 445/692/18 446/693/19 +f 445/694/18 448/695/20 447/696/21 +f 445/697/18 450/698/22 449/699/23 +f 445/700/18 453/690/16 452/701/24 +f 446/693/19 445/702/18 447/703/21 +f 448/695/20 445/704/18 449/699/23 +f 445/705/18 452/701/24 451/706/25 +f 439/707/26 450/698/22 438/708/27 +f 441/709/28 448/695/20 440/710/29 +f 443/691/17 446/693/19 442/711/30 +f 437/712/31 452/701/24 444/689/15 +f 438/708/27 451/706/25 437/712/31 +f 440/710/29 449/699/23 439/707/26 +f 442/711/30 447/703/21 441/713/28 +f 450/698/22 445/714/18 451/706/25 +f 461/715/15 470/716/16 460/717/17 +f 470/716/16 462/718/18 463/719/19 +f 462/720/18 465/721/20 464/722/21 +f 462/723/18 467/724/22 466/725/23 +f 462/726/18 470/716/16 469/727/24 +f 463/719/19 462/728/18 464/729/21 +f 465/721/20 462/730/18 466/725/23 +f 462/731/18 469/727/24 468/732/25 +f 456/733/26 467/724/22 455/734/27 +f 458/735/28 465/721/20 457/736/29 +f 460/717/17 463/719/19 459/737/30 +f 454/738/31 469/727/24 461/715/15 +f 455/734/27 468/732/25 454/738/31 +f 457/736/29 466/725/23 456/733/26 +f 459/737/30 464/729/21 458/739/28 +f 467/724/22 462/740/18 468/732/25 +f 478/741/15 487/742/16 477/743/17 +f 487/742/16 479/744/18 480/745/19 +f 479/746/18 482/747/20 481/748/21 +f 479/749/18 484/750/22 483/751/23 +f 479/752/18 487/742/16 486/753/24 +f 480/745/19 479/754/18 481/755/21 +f 482/747/20 479/756/18 483/751/23 +f 479/757/18 486/753/24 485/758/25 +f 473/759/26 484/750/22 472/760/27 +f 475/761/28 482/747/20 474/762/29 +f 477/743/17 480/745/19 476/763/30 +f 471/764/31 486/753/24 478/741/15 +f 472/760/27 485/758/25 471/764/31 +f 474/762/29 483/751/23 473/759/26 +f 476/763/30 481/755/21 475/765/28 +f 484/750/22 479/766/18 485/758/25 +f 495/767/15 504/768/16 494/769/17 +f 504/768/16 496/770/18 497/771/19 +f 496/772/18 499/773/20 498/774/21 +f 496/775/18 501/776/22 500/777/23 +f 496/778/18 504/768/16 503/779/24 +f 497/771/19 496/780/18 498/781/21 +f 499/773/20 496/782/18 500/777/23 +f 496/783/18 503/779/24 502/784/25 +f 490/785/26 501/776/22 489/786/27 +f 492/787/28 499/773/20 491/788/29 +f 494/769/17 497/771/19 493/789/30 +f 488/790/31 503/779/24 495/767/15 +f 489/786/27 502/784/25 488/790/31 +f 491/788/29 500/777/23 490/785/26 +f 493/789/30 498/781/21 492/791/28 +f 501/776/22 496/792/18 502/784/25 +f 512/793/15 521/794/16 511/795/17 +f 521/794/16 513/796/18 514/797/19 +f 513/798/18 516/799/20 515/800/21 +f 513/801/18 518/802/22 517/803/23 +f 513/804/18 521/794/16 520/805/24 +f 514/797/19 513/806/18 515/807/21 +f 516/799/20 513/808/18 517/803/23 +f 513/809/18 520/805/24 519/810/25 +f 507/811/26 518/802/22 506/812/27 +f 509/813/28 516/799/20 508/814/29 +f 511/795/17 514/797/19 510/815/30 +f 505/816/31 520/805/24 512/793/15 +f 506/812/27 519/810/25 505/816/31 +f 508/814/29 517/803/23 507/811/26 +f 510/815/30 515/807/21 509/817/28 +f 518/802/22 513/818/18 519/810/25 +f 529/819/15 538/820/16 528/821/17 +f 538/820/16 530/822/18 531/823/19 +f 530/824/18 533/825/20 532/826/21 +f 530/827/18 535/828/22 534/829/23 +f 530/830/18 538/820/16 537/831/24 +f 531/823/19 530/832/18 532/833/21 +f 533/825/20 530/834/18 534/829/23 +f 530/835/18 537/831/24 536/836/25 +f 524/837/26 535/828/22 523/838/27 +f 526/839/28 533/825/20 525/840/29 +f 528/821/17 531/823/19 527/841/30 +f 522/842/31 537/831/24 529/819/15 +f 523/838/27 536/836/25 522/842/31 +f 525/840/29 534/829/23 524/837/26 +f 527/841/30 532/833/21 526/843/28 +f 535/828/22 530/844/18 536/836/25 +f 546/845/15 555/846/16 545/847/17 +f 555/846/16 547/848/18 548/849/19 +f 547/850/18 550/851/20 549/852/21 +f 547/853/18 552/854/22 551/855/23 +f 547/856/18 555/846/16 554/857/24 +f 548/849/19 547/858/18 549/859/21 +f 550/851/20 547/860/18 551/855/23 +f 547/861/18 554/857/24 553/862/25 +f 541/863/26 552/854/22 540/864/27 +f 543/865/28 550/851/20 542/866/29 +f 545/847/17 548/849/19 544/867/30 +f 539/868/31 554/857/24 546/845/15 +f 540/864/27 553/862/25 539/868/31 +f 542/866/29 551/855/23 541/863/26 +f 544/867/30 549/859/21 543/869/28 +f 552/854/22 547/870/18 553/862/25 +f 563/871/15 572/872/16 562/873/17 +f 572/872/16 564/874/18 565/875/19 +f 564/876/18 567/877/20 566/878/21 +f 564/879/18 569/880/22 568/881/23 +f 564/882/18 572/872/16 571/883/24 +f 565/875/19 564/884/18 566/885/21 +f 567/877/20 564/886/18 568/881/23 +f 564/887/18 571/883/24 570/888/25 +f 558/889/26 569/880/22 557/890/27 +f 560/891/28 567/877/20 559/892/29 +f 562/873/17 565/875/19 561/893/30 +f 556/894/31 571/883/24 563/871/15 +f 557/890/27 570/888/25 556/894/31 +f 559/892/29 568/881/23 558/889/26 +f 561/893/30 566/885/21 560/895/28 +f 569/880/22 564/896/18 570/888/25 +f 308/481/15 316/493/24 317/482/16 +f 303/499/26 313/491/23 314/490/22 +f 305/501/28 311/488/21 312/487/20 +f 307/483/17 317/482/16 310/485/19 +f 301/504/31 315/498/25 316/493/24 +f 302/500/27 314/490/22 315/498/25 +f 304/502/29 312/487/20 313/491/23 +f 306/503/30 310/485/19 311/495/21 +f 325/507/15 333/519/24 334/508/16 +f 320/525/26 330/517/23 331/516/22 +f 322/527/28 328/514/21 329/513/20 +f 324/509/17 334/508/16 327/511/19 +f 318/530/31 332/524/25 333/519/24 +f 319/526/27 331/516/22 332/524/25 +f 321/528/29 329/513/20 330/517/23 +f 323/529/30 327/511/19 328/521/21 +f 342/533/15 350/545/24 351/534/16 +f 337/551/26 347/543/23 348/542/22 +f 339/553/28 345/540/21 346/539/20 +f 341/535/17 351/534/16 344/537/19 +f 335/556/31 349/550/25 350/545/24 +f 336/552/27 348/542/22 349/550/25 +f 338/554/29 346/539/20 347/543/23 +f 340/555/30 344/537/19 345/547/21 +f 359/559/15 367/571/24 368/560/16 +f 354/577/26 364/569/23 365/568/22 +f 356/579/28 362/566/21 363/565/20 +f 358/561/17 368/560/16 361/563/19 +f 352/582/31 366/576/25 367/571/24 +f 353/578/27 365/568/22 366/576/25 +f 355/580/29 363/565/20 364/569/23 +f 357/581/30 361/563/19 362/573/21 +f 376/585/15 384/597/24 385/586/16 +f 371/603/26 381/595/23 382/594/22 +f 373/605/28 379/592/21 380/591/20 +f 375/587/17 385/586/16 378/589/19 +f 369/608/31 383/602/25 384/597/24 +f 370/604/27 382/594/22 383/602/25 +f 372/606/29 380/591/20 381/595/23 +f 374/607/30 378/589/19 379/599/21 +f 393/611/15 401/623/24 402/612/16 +f 388/629/26 398/621/23 399/620/22 +f 390/631/28 396/618/21 397/617/20 +f 392/613/17 402/612/16 395/615/19 +f 386/634/31 400/628/25 401/623/24 +f 387/630/27 399/620/22 400/628/25 +f 389/632/29 397/617/20 398/621/23 +f 391/633/30 395/615/19 396/625/21 +f 410/637/15 418/649/24 419/638/16 +f 405/655/26 415/647/23 416/646/22 +f 407/657/28 413/644/21 414/643/20 +f 409/639/17 419/638/16 412/641/19 +f 403/660/31 417/654/25 418/649/24 +f 404/656/27 416/646/22 417/654/25 +f 406/658/29 414/643/20 415/647/23 +f 408/659/30 412/641/19 413/651/21 +f 427/663/15 435/675/24 436/664/16 +f 422/681/26 432/673/23 433/672/22 +f 424/683/28 430/670/21 431/669/20 +f 426/665/17 436/664/16 429/667/19 +f 420/686/31 434/680/25 435/675/24 +f 421/682/27 433/672/22 434/680/25 +f 423/684/29 431/669/20 432/673/23 +f 425/685/30 429/667/19 430/677/21 +f 444/689/15 452/701/24 453/690/16 +f 439/707/26 449/699/23 450/698/22 +f 441/709/28 447/696/21 448/695/20 +f 443/691/17 453/690/16 446/693/19 +f 437/712/31 451/706/25 452/701/24 +f 438/708/27 450/698/22 451/706/25 +f 440/710/29 448/695/20 449/699/23 +f 442/711/30 446/693/19 447/703/21 +f 461/715/15 469/727/24 470/716/16 +f 456/733/26 466/725/23 467/724/22 +f 458/735/28 464/722/21 465/721/20 +f 460/717/17 470/716/16 463/719/19 +f 454/738/31 468/732/25 469/727/24 +f 455/734/27 467/724/22 468/732/25 +f 457/736/29 465/721/20 466/725/23 +f 459/737/30 463/719/19 464/729/21 +f 478/741/15 486/753/24 487/742/16 +f 473/759/26 483/751/23 484/750/22 +f 475/761/28 481/748/21 482/747/20 +f 477/743/17 487/742/16 480/745/19 +f 471/764/31 485/758/25 486/753/24 +f 472/760/27 484/750/22 485/758/25 +f 474/762/29 482/747/20 483/751/23 +f 476/763/30 480/745/19 481/755/21 +f 495/767/15 503/779/24 504/768/16 +f 490/785/26 500/777/23 501/776/22 +f 492/787/28 498/774/21 499/773/20 +f 494/769/17 504/768/16 497/771/19 +f 488/790/31 502/784/25 503/779/24 +f 489/786/27 501/776/22 502/784/25 +f 491/788/29 499/773/20 500/777/23 +f 493/789/30 497/771/19 498/781/21 +f 512/793/15 520/805/24 521/794/16 +f 507/811/26 517/803/23 518/802/22 +f 509/813/28 515/800/21 516/799/20 +f 511/795/17 521/794/16 514/797/19 +f 505/816/31 519/810/25 520/805/24 +f 506/812/27 518/802/22 519/810/25 +f 508/814/29 516/799/20 517/803/23 +f 510/815/30 514/797/19 515/807/21 +f 529/819/15 537/831/24 538/820/16 +f 524/837/26 534/829/23 535/828/22 +f 526/839/28 532/826/21 533/825/20 +f 528/821/17 538/820/16 531/823/19 +f 522/842/31 536/836/25 537/831/24 +f 523/838/27 535/828/22 536/836/25 +f 525/840/29 533/825/20 534/829/23 +f 527/841/30 531/823/19 532/833/21 +f 546/845/15 554/857/24 555/846/16 +f 541/863/26 551/855/23 552/854/22 +f 543/865/28 549/852/21 550/851/20 +f 545/847/17 555/846/16 548/849/19 +f 539/868/31 553/862/25 554/857/24 +f 540/864/27 552/854/22 553/862/25 +f 542/866/29 550/851/20 551/855/23 +f 544/867/30 548/849/19 549/859/21 +f 563/871/15 571/883/24 572/872/16 +f 558/889/26 568/881/23 569/880/22 +f 560/891/28 566/878/21 567/877/20 +f 562/873/17 572/872/16 565/875/19 +f 556/894/31 570/888/25 571/883/24 +f 557/890/27 569/880/22 570/888/25 +f 559/892/29 567/877/20 568/881/23 +f 561/893/30 565/875/19 566/885/21 +o Frame +v -0.500000 0.000000 1.500000 +v 0.500000 0.000000 1.500000 +v -0.500000 0.000000 -1.500000 +v 0.500000 0.000000 -1.500000 +v -0.437500 0.125000 1.437500 +v 0.437500 0.125000 1.437500 +v -0.437500 0.125000 -1.437500 +v 0.437500 0.125000 -1.437500 +v -0.437500 0.875000 1.437500 +v 0.437500 0.875000 1.437500 +v -0.437500 0.875000 -1.437500 +v 0.437500 0.875000 -1.437500 +v -0.500000 1.000000 1.500000 +v 0.500000 1.000000 1.500000 +v -0.500000 1.000000 -1.500000 +v 0.500000 1.000000 -1.500000 +v -0.500000 0.125000 -1.500000 +v -0.500000 0.125000 1.500000 +v 0.500000 0.125000 1.500000 +v 0.500000 0.125000 -1.500000 +v -0.500000 0.875000 -1.500000 +v -0.500000 0.875000 1.500000 +v 0.500000 0.875000 1.500000 +v 0.500000 0.875000 -1.500000 +v 0.250000 1.000000 -0.750000 +v 0.250000 1.000000 0.750000 +v -0.250000 1.000000 0.750000 +v -0.250000 1.000000 -0.750000 +v -0.500000 1.500000 -1.500000 +v -0.500000 1.500000 1.500000 +v 0.500000 1.500000 1.500000 +v 0.500000 1.500000 -1.500000 +v -0.250000 1.500000 -0.750000 +v -0.250000 1.500000 0.750000 +v 0.250000 1.500000 0.750000 +v 0.250000 1.500000 -0.750000 +v 0.437500 1.500000 -1.437500 +v 0.437500 1.500000 -1.062500 +v -0.437500 1.500000 -1.062500 +v -0.437500 1.500000 -1.437500 +v 0.437500 1.000000 -1.437500 +v 0.437500 1.000000 -1.062500 +v -0.437500 1.000000 -1.062500 +v -0.437500 1.000000 -1.437500 +v -0.437500 1.000000 1.062500 +v -0.437500 1.000000 1.437500 +v 0.437500 1.000000 1.437500 +v 0.437500 1.000000 1.062500 +v -0.437500 1.500000 1.062500 +v -0.437500 1.500000 1.437500 +v 0.437500 1.500000 1.437500 +v 0.437500 1.500000 1.062500 +v -0.500000 1.750000 1.500000 +v -0.500000 2.000000 1.250000 +v 0.500000 2.000000 1.250000 +v 0.500000 1.750000 1.500000 +v -0.500000 2.000000 -1.250000 +v -0.500000 1.750000 -1.500000 +v 0.500000 1.750000 -1.500000 +v 0.500000 2.000000 -1.250000 +v 0.250000 0.875000 0.750000 +v 0.250000 0.875000 -0.750000 +v -0.250000 0.875000 0.750000 +v -0.250000 0.875000 -0.750000 +vt 0.438596 0.166667 +vt 0.017544 0.357143 +vt 0.017544 0.166667 +vt 0.421053 0.142857 +vt 0.017544 0.000000 +vt 0.421053 -0.000000 +vt 0.438596 0.142857 +vt 0.456140 0.357143 +vt 0.438596 0.357143 +vt 0.000000 0.166667 +vt 0.017544 0.380952 +vt 0.543860 0.142857 +vt 0.421053 -0.000000 +vt 0.543860 -0.000000 +vt 0.333333 0.833333 +vt 0.017544 0.785714 +vt 0.438596 0.785714 +vt 0.017544 1.000000 +vt 0.438596 0.976190 +vt 0.438596 1.000000 +vt 0.456140 0.976190 +vt 0.456140 0.785714 +vt -0.000000 0.785714 +vt 0.017544 0.976190 +vt -0.000000 0.976190 +vt 0.438596 0.761905 +vt 0.017544 0.761905 +vt 0.429825 0.559524 +vt 0.017544 0.571429 +vt 0.026316 0.559524 +vt 0.026316 0.392857 +vt 0.438596 0.380952 +vt 0.429825 0.392857 +vt 0.438596 0.571429 +vt 0.026316 0.583333 +vt 0.438596 0.571429 +vt 0.429825 0.583333 +vt 0.026316 0.750000 +vt 0.017544 0.571429 +vt 0.429825 0.750000 +vt 0.543860 0.142857 +vt 0.543860 -0.000000 +vt 0.421053 0.142857 +vt 0.017544 0.000000 +vt 0.543860 0.476190 +vt 0.508772 0.285714 +vt 0.543860 0.285714 +vt 0.964912 0.190476 +vt 0.859649 0.047619 +vt 0.964912 0.000000 +vt 0.578947 0.285714 +vt 0.929825 0.476190 +vt 0.578947 0.476190 +vt 0.096491 0.619048 +vt 0.114035 0.714286 +vt 0.096491 0.714286 +vt 0.543860 0.190476 +vt 0.929825 0.285714 +vt 0.964912 0.285714 +vt 1.000000 0.476190 +vt 0.964912 0.476190 +vt 0.543860 -0.000000 +vt 0.649123 0.142857 +vt 0.859649 0.142857 +vt 0.649123 0.047619 +vt 0.201754 0.392857 +vt 0.149123 0.488095 +vt 0.149123 0.392857 +vt 0.026316 0.488095 +vt 0.026316 0.392857 +vt 0.324561 0.392857 +vt 0.201754 0.488095 +vt 0.377193 0.392857 +vt 0.324561 0.488095 +vt 0.377193 0.392857 +vt 0.324561 0.488095 +vt 0.324561 0.392857 +vt 0.201754 0.488095 +vt 0.201754 0.392857 +vt 0.149123 0.392857 +vt 0.026316 0.488095 +vt 0.026316 0.392857 +vt 0.149123 0.488095 +vt 0.964912 0.571429 +vt 0.543860 0.571429 +vt 0.122807 0.833333 +vt 0.122807 0.928571 +vt 0.333333 0.928571 +vt 0.324561 0.714286 +vt 0.114035 0.619048 +vt 0.324561 0.619048 +vt 0.114035 0.738095 +vt 0.324561 0.738095 +vt 0.324561 0.595238 +vt 0.114035 0.595238 +vt 0.342105 0.714286 +vt 0.342105 0.619048 +vt 0.017544 0.142857 +vt 0.017544 0.142857 +vt 0.456140 0.166667 +vt 0.000000 0.357143 +vt 0.017544 0.142857 +vt 0.508772 0.476190 +vt 0.964912 0.238095 +vt 0.543860 0.238095 +vt 1.000000 0.285714 +vt 0.377193 0.488095 +vt 0.377193 0.488095 +vt 0.543860 0.523810 +vt 0.964912 0.523810 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +s off +f 575/897/32 574/898/32 573/899/32 +f 584/900/33 578/901/33 580/902/33 +f 573/899/34 589/903/34 575/897/34 +f 575/897/35 592/904/35 576/905/35 +f 574/898/36 590/906/36 573/899/36 +f 576/905/33 591/907/33 574/898/33 +f 582/908/36 577/909/36 578/910/36 +f 597/911/37 586/912/37 588/913/37 +f 594/914/34 587/915/34 593/916/34 +f 593/917/35 588/913/35 596/918/35 +f 595/919/36 585/920/36 594/921/36 +f 596/922/33 586/912/33 595/923/33 +f 579/924/37 590/925/37 577/926/37 +f 577/926/37 591/907/37 578/927/37 +f 578/927/37 592/928/37 580/929/37 +f 580/929/37 589/930/37 579/924/37 +f 581/931/32 593/932/32 583/933/32 +f 582/934/32 594/935/32 581/931/32 +f 584/936/32 595/923/32 582/934/32 +f 583/933/32 596/922/32 584/936/32 +f 583/937/35 580/902/35 579/938/35 +f 581/939/34 579/940/34 577/909/34 +f 625/941/36 603/942/36 628/943/36 +f 604/944/32 605/945/32 601/946/32 +f 627/947/37 629/948/37 626/949/37 +f 600/950/36 634/951/36 597/952/36 +f 603/953/33 604/944/33 632/954/33 +f 631/955/35 601/956/35 630/957/35 +f 602/958/32 607/959/32 603/953/32 +f 603/953/32 608/960/32 604/944/32 +f 601/946/32 606/961/32 602/958/32 +f 613/962/33 610/963/33 614/964/33 +f 614/964/36 611/965/36 615/966/36 +f 616/967/35 609/968/35 613/962/35 +f 615/969/34 612/970/34 616/967/34 +f 618/971/34 621/972/34 617/973/34 +f 617/973/35 624/974/35 620/975/35 +f 619/976/36 622/977/36 618/978/36 +f 620/975/33 623/979/33 619/976/33 +f 628/943/38 626/949/38 625/941/38 +f 630/957/39 632/954/39 631/955/39 +f 601/980/34 602/981/34 626/949/34 +f 598/982/37 585/920/37 586/912/37 +f 599/983/37 587/915/37 585/920/37 +f 600/984/37 588/913/37 587/915/37 +f 633/985/37 636/986/37 635/987/37 +f 597/988/34 633/985/34 598/989/34 +f 599/990/33 636/986/33 600/991/33 +f 598/992/35 635/987/35 599/993/35 +f 575/897/32 576/905/32 574/898/32 +f 584/900/33 582/994/33 578/901/33 +f 573/899/34 590/995/34 589/903/34 +f 575/897/35 589/996/35 592/904/35 +f 574/898/36 591/997/36 590/906/36 +f 576/905/33 592/928/33 591/907/33 +f 582/908/36 581/939/36 577/909/36 +f 597/911/37 598/982/37 586/912/37 +f 594/914/34 585/920/34 587/915/34 +f 593/917/35 587/915/35 588/913/35 +f 595/919/36 586/912/36 585/920/36 +f 596/922/33 588/913/33 586/912/33 +f 579/924/37 589/930/37 590/925/37 +f 577/926/37 590/925/37 591/907/37 +f 578/927/37 591/907/37 592/928/37 +f 580/929/37 592/928/37 589/930/37 +f 581/931/32 594/935/32 593/932/32 +f 582/934/32 595/923/32 594/935/32 +f 584/936/32 596/922/32 595/923/32 +f 583/933/32 593/932/32 596/922/32 +f 583/937/35 584/900/35 580/902/35 +f 581/939/34 583/998/34 579/940/34 +f 625/941/36 602/999/36 603/942/36 +f 604/944/32 608/960/32 605/945/32 +f 627/947/37 632/954/37 629/948/37 +f 600/950/36 636/986/36 634/951/36 +f 604/944/33 631/1000/33 632/954/33 +f 632/954/33 627/947/33 603/953/33 +f 627/947/33 628/1001/33 603/953/33 +f 631/955/35 604/1002/35 601/956/35 +f 602/958/32 606/961/32 607/959/32 +f 603/953/32 607/959/32 608/960/32 +f 601/946/32 605/945/32 606/961/32 +f 613/962/33 609/968/33 610/963/33 +f 614/964/36 610/963/36 611/965/36 +f 616/967/35 612/970/35 609/968/35 +f 615/969/34 611/1003/34 612/970/34 +f 618/971/34 622/1004/34 621/972/34 +f 617/973/35 621/972/35 624/974/35 +f 619/976/36 623/979/36 622/977/36 +f 620/975/33 624/974/33 623/979/33 +f 628/943/38 627/947/38 626/949/38 +f 630/957/39 629/948/39 632/954/39 +f 602/981/34 625/1005/34 626/949/34 +f 626/949/34 629/948/34 601/980/34 +f 629/948/34 630/1006/34 601/980/34 +f 598/982/37 599/983/37 585/920/37 +f 599/983/37 600/984/37 587/915/37 +f 600/984/37 597/911/37 588/913/37 +f 633/985/37 634/951/37 636/986/37 +f 597/988/34 634/951/34 633/985/34 +f 599/990/33 635/987/33 636/986/33 +f 598/992/35 633/985/35 635/987/35 diff --git a/src/main/resources/assets/hbm/models/machines/assembly_machine.obj b/src/main/resources/assets/hbm/models/machines/assembly_machine.obj new file mode 100644 index 000000000..52d865f16 --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/assembly_machine.obj @@ -0,0 +1,4650 @@ +# Blender v2.79 (sub 0) OBJ File: 'assembler.blend' +# www.blender.org +o Ring +v -0.000000 1.250000 -1.375000 +v -0.526190 1.250000 -1.270334 +v -0.972272 1.250000 -0.972272 +v -1.270334 1.250000 -0.526190 +v -1.375000 1.250000 0.000000 +v -1.270334 1.250000 0.526190 +v -0.972272 1.250000 0.972272 +v -0.526190 1.250000 1.270334 +v -0.000000 1.250000 1.375000 +v 0.526189 1.250000 1.270334 +v 0.972271 1.250000 0.972272 +v 1.270334 1.250000 0.526190 +v 1.375000 1.250000 0.000000 +v 1.270334 1.250000 -0.526190 +v 0.972271 1.250000 -0.972272 +v 0.526189 1.250000 -1.270335 +v -0.000000 1.500000 -1.375000 +v -0.526190 1.500000 -1.270334 +v -0.972272 1.500000 -0.972272 +v -1.270334 1.500000 -0.526190 +v -1.375000 1.500000 0.000000 +v -1.270334 1.500000 0.526190 +v -0.972272 1.500000 0.972272 +v -0.526190 1.500000 1.270334 +v -0.000000 1.500000 1.375000 +v 0.526189 1.500000 1.270334 +v 0.972271 1.500000 0.972272 +v 1.270334 1.500000 0.526190 +v 1.375000 1.500000 0.000000 +v 1.270334 1.500000 -0.526190 +v 0.972271 1.500000 -0.972272 +v 0.526189 1.500000 -1.270335 +v -0.000000 1.500000 -1.250000 +v -0.478355 1.500000 -1.154850 +v -0.883884 1.500000 -0.883883 +v -1.154850 1.500000 -0.478354 +v -1.250000 1.500000 0.000000 +v -1.154850 1.500000 0.478354 +v -0.883884 1.500000 0.883883 +v -0.478355 1.500000 1.154850 +v -0.000000 1.500000 1.250000 +v 0.478354 1.500000 1.154850 +v 0.883883 1.500000 0.883884 +v 1.154849 1.500000 0.478354 +v 1.250000 1.500000 0.000000 +v 1.154849 1.500000 -0.478354 +v 0.883883 1.500000 -0.883884 +v 0.478354 1.500000 -1.154850 +v -0.000000 1.375000 -1.250000 +v -0.478355 1.375000 -1.154850 +v -0.883884 1.375000 -0.883883 +v -1.154850 1.375000 -0.478354 +v -1.250000 1.375000 0.000000 +v -1.154850 1.375000 0.478354 +v -0.883884 1.375000 0.883883 +v -0.478355 1.375000 1.154850 +v -0.000000 1.375000 1.250000 +v 0.478354 1.375000 1.154850 +v 0.883883 1.375000 0.883884 +v 1.154849 1.375000 0.478354 +v 1.250000 1.375000 0.000000 +v 1.154849 1.375000 -0.478354 +v 0.883883 1.375000 -0.883884 +v 0.478354 1.375000 -1.154850 +v -0.000000 1.375000 -1.125000 +v -0.430519 1.375000 -1.039364 +v -0.795495 1.375000 -0.795495 +v -1.039365 1.375000 -0.430519 +v -1.125000 1.375000 0.000000 +v -1.039365 1.375000 0.430519 +v -0.795495 1.375000 0.795495 +v -0.430519 1.375000 1.039364 +v -0.000000 1.375000 1.125000 +v 0.430518 1.375000 1.039365 +v 0.795495 1.375000 0.795496 +v 1.039364 1.375000 0.430519 +v 1.125000 1.375000 0.000000 +v 1.039364 1.375000 -0.430519 +v 0.795495 1.375000 -0.795496 +v 0.430518 1.375000 -1.039365 +v -0.000000 1.250000 -1.125000 +v -0.430519 1.250000 -1.039364 +v -0.795495 1.250000 -0.795495 +v -1.039365 1.250000 -0.430519 +v -1.125000 1.250000 0.000000 +v -1.039365 1.250000 0.430519 +v -0.795495 1.250000 0.795495 +v -0.430519 1.250000 1.039364 +v -0.000000 1.250000 1.125000 +v 0.430518 1.250000 1.039365 +v 0.795495 1.250000 0.795496 +v 1.039364 1.250000 0.430519 +v 1.125000 1.250000 0.000000 +v 1.039364 1.250000 -0.430519 +v 0.795495 1.250000 -0.795496 +v 0.430518 1.250000 -1.039365 +v -0.093750 1.250000 -0.812500 +v 0.093750 1.250000 -0.812500 +v -0.093750 1.250000 -1.437500 +v 0.093750 1.250000 -1.437500 +v -0.093750 1.625000 -1.437500 +v -0.093750 1.625000 -0.812500 +v 0.093750 1.625000 -0.812500 +v 0.093750 1.625000 -1.437500 +v -0.000000 1.625000 -1.062500 +v 0.125000 1.625000 -1.062500 +v -0.000000 1.536612 -1.025888 +v 0.125000 1.536612 -1.025888 +v -0.000000 1.500000 -0.937500 +v 0.125000 1.500000 -0.937500 +v -0.000000 1.536612 -0.849112 +v 0.125000 1.536612 -0.849112 +v -0.000000 1.625000 -0.812500 +v 0.125000 1.625000 -0.812500 +v -0.000000 1.713388 -0.849112 +v 0.125000 1.713388 -0.849112 +v -0.000000 1.750000 -0.937500 +v 0.125000 1.750000 -0.937500 +v -0.000000 1.713388 -1.025888 +v 0.125000 1.713388 -1.025888 +v 0.062499 1.625000 -1.375000 +v -0.062501 1.625000 -1.375000 +v 0.062499 1.625000 -1.250000 +v -0.062501 1.625000 -1.250000 +v 0.062499 1.750000 -1.250000 +v 0.062499 1.750000 -1.375000 +v -0.062501 1.750000 -1.375000 +v -0.062501 1.750000 -1.250000 +v 0.093750 1.250000 0.812500 +v -0.093750 1.250000 0.812500 +v 0.093750 1.250000 1.437500 +v -0.093750 1.250000 1.437500 +v 0.093750 1.625000 1.437500 +v 0.093750 1.625000 0.812500 +v -0.093750 1.625000 0.812500 +v -0.093750 1.625000 1.437500 +v 0.000000 1.625000 1.062500 +v -0.125000 1.625000 1.062500 +v 0.000000 1.536612 1.025888 +v -0.125000 1.536612 1.025888 +v 0.000000 1.500000 0.937500 +v -0.125000 1.500000 0.937500 +v 0.000000 1.536612 0.849112 +v -0.125000 1.536612 0.849112 +v 0.000000 1.625000 0.812500 +v -0.125000 1.625000 0.812500 +v 0.000000 1.713388 0.849112 +v -0.125000 1.713388 0.849112 +v 0.000000 1.750000 0.937500 +v -0.125000 1.750000 0.937500 +v 0.000000 1.713388 1.025888 +v -0.125000 1.713388 1.025888 +v -0.062499 1.625000 1.375000 +v 0.062501 1.625000 1.375000 +v -0.062499 1.625000 1.250000 +v 0.062501 1.625000 1.250000 +v -0.062499 1.750000 1.250000 +v -0.062499 1.750000 1.375000 +v 0.062501 1.750000 1.375000 +v 0.062501 1.750000 1.250000 +vt 0.315789 0.222222 +vt 0.368421 0.240741 +vt 0.315789 0.240741 +vt 0.368421 0.222222 +vt 0.421053 0.240741 +vt 0.473684 0.222222 +vt 0.421053 0.222222 +vt 0.526316 0.222222 +vt 0.473684 0.240741 +vt 0.578947 0.222222 +vt 0.526316 0.240741 +vt 0.631579 0.222222 +vt 0.578947 0.240741 +vt 0.684211 0.222222 +vt 0.631579 0.240741 +vt 0.736842 0.222222 +vt 0.684211 0.240741 +vt 0.789474 0.222222 +vt 0.736842 0.240741 +vt 0.842105 0.222222 +vt 0.789474 0.240741 +vt 0.052632 0.222222 +vt 0.000000 0.240741 +vt -0.000000 0.222222 +vt 0.105263 0.240741 +vt 0.052632 0.240741 +vt 0.105263 0.222222 +vt 0.157895 0.240741 +vt 0.157895 0.222222 +vt 0.210526 0.240741 +vt 0.210526 0.222222 +vt 0.263158 0.240741 +vt 0.263158 0.222222 +vt 0.210526 0.259259 +vt 0.263158 0.277778 +vt 0.217105 0.277778 +vt 0.157895 0.259259 +vt 0.210526 0.277778 +vt 0.164474 0.277778 +vt 0.105263 0.259259 +vt 0.157895 0.277778 +vt 0.111842 0.277778 +vt 0.052632 0.259259 +vt 0.105263 0.277778 +vt 0.059211 0.277778 +vt -0.000000 0.259259 +vt 0.052632 0.277778 +vt 0.006579 0.277778 +vt 0.842105 0.259259 +vt 0.796053 0.277778 +vt 0.789474 0.259259 +vt 0.736842 0.259259 +vt 0.789474 0.277778 +vt 0.743421 0.277778 +vt 0.690789 0.277778 +vt 0.684211 0.259259 +vt 0.638158 0.277778 +vt 0.631579 0.259259 +vt 0.585526 0.277778 +vt 0.578947 0.259259 +vt 0.532895 0.277778 +vt 0.526316 0.259259 +vt 0.480263 0.277778 +vt 0.473684 0.259259 +vt 0.427632 0.277778 +vt 0.421053 0.259259 +vt 0.375000 0.277778 +vt 0.368421 0.259259 +vt 0.315789 0.259259 +vt 0.368421 0.277778 +vt 0.322368 0.277778 +vt 0.263158 0.259259 +vt 0.315789 0.277778 +vt 0.269737 0.277778 +vt 0.263158 0.185185 +vt 0.315789 0.148148 +vt 0.315789 0.185185 +vt 0.210526 0.185185 +vt 0.263158 0.148148 +vt 0.157895 0.185185 +vt 0.210526 0.148148 +vt 0.105263 0.185185 +vt 0.157895 0.148148 +vt 0.052632 0.185185 +vt 0.105263 0.148148 +vt 0.000000 0.185185 +vt 0.052632 0.148148 +vt 0.796053 0.148148 +vt 0.842105 0.185185 +vt 0.789474 0.185185 +vt 0.743421 0.148148 +vt 0.736842 0.185185 +vt 0.690789 0.148148 +vt 0.684211 0.185185 +vt 0.638158 0.148148 +vt 0.631579 0.185185 +vt 0.585526 0.148148 +vt 0.578947 0.185185 +vt 0.532895 0.148148 +vt 0.526316 0.185185 +vt 0.480263 0.148148 +vt 0.473684 0.185185 +vt 0.427632 0.148148 +vt 0.421053 0.185185 +vt 0.375000 0.148148 +vt 0.368421 0.185185 +vt 0.368421 0.148148 +vt 0.861842 0.490741 +vt 0.796053 0.518519 +vt 0.796053 0.490741 +vt 0.796053 0.574074 +vt 0.861842 0.601852 +vt 0.796053 0.601852 +vt 0.776316 0.574074 +vt 0.776316 0.518519 +vt 0.861842 0.518519 +vt 0.947368 0.518519 +vt 0.881579 0.574074 +vt 0.881579 0.518519 +vt 0.861842 0.574074 +vt 0.723684 0.629566 +vt 0.710572 0.611111 +vt 0.723684 0.592656 +vt 0.688096 0.624161 +vt 0.688096 0.598061 +vt 0.706641 0.598061 +vt 0.907895 0.481481 +vt 0.894737 0.462963 +vt 0.907895 0.462963 +vt 0.921053 0.444444 +vt 0.907895 0.444444 +vt 0.934211 0.444444 +vt 0.921053 0.462963 +vt 0.894737 0.444444 +vt 0.947368 0.444444 +vt 0.934211 0.462963 +vt 0.861842 0.490741 +vt 0.796053 0.518519 +vt 0.796053 0.490741 +vt 0.796053 0.574074 +vt 0.861842 0.601852 +vt 0.796053 0.601852 +vt 0.776316 0.574074 +vt 0.776316 0.518519 +vt 0.861842 0.518519 +vt 0.947368 0.518519 +vt 0.881579 0.574074 +vt 0.881579 0.518519 +vt 0.861842 0.574074 +vt 0.723684 0.629566 +vt 0.710572 0.611111 +vt 0.723684 0.592656 +vt 0.688096 0.624161 +vt 0.688096 0.598061 +vt 0.706641 0.598061 +vt 0.907895 0.481481 +vt 0.894737 0.462963 +vt 0.907895 0.462963 +vt 0.921053 0.444444 +vt 0.907895 0.444444 +vt 0.934211 0.444444 +vt 0.921053 0.462963 +vt 0.894737 0.444444 +vt 0.947368 0.444444 +vt 0.934211 0.462963 +vt 0.842105 0.240741 +vt 0.842105 0.277778 +vt 0.736842 0.277778 +vt 0.684211 0.277778 +vt 0.631579 0.277778 +vt 0.578947 0.277778 +vt 0.526316 0.277778 +vt 0.473684 0.277778 +vt 0.421053 0.277778 +vt 0.269737 0.148148 +vt 0.217105 0.148148 +vt 0.164474 0.148148 +vt 0.111842 0.148148 +vt 0.059211 0.148148 +vt 0.006579 0.148148 +vt 0.842105 0.148148 +vt 0.789474 0.148148 +vt 0.736842 0.148148 +vt 0.684211 0.148148 +vt 0.631579 0.148148 +vt 0.578947 0.148148 +vt 0.526316 0.148148 +vt 0.473684 0.148148 +vt 0.421053 0.148148 +vt 0.322368 0.148148 +vt 0.947368 0.574074 +vt 0.732956 0.598061 +vt 0.736797 0.611111 +vt 0.732957 0.624161 +vt 0.714412 0.624161 +vt 0.714412 0.598061 +vt 0.684256 0.611111 +vt 0.697369 0.592656 +vt 0.710481 0.611111 +vt 0.706641 0.624161 +vt 0.697369 0.629566 +vt 0.894737 0.481481 +vt 0.947368 0.462963 +vt 0.947368 0.574074 +vt 0.732956 0.598061 +vt 0.736797 0.611111 +vt 0.732957 0.624161 +vt 0.714412 0.624161 +vt 0.714412 0.598061 +vt 0.684256 0.611111 +vt 0.697369 0.592656 +vt 0.710481 0.611111 +vt 0.706641 0.624161 +vt 0.697369 0.629566 +vt 0.894737 0.481481 +vt 0.947368 0.462963 +vt 0.322368 0.296296 +vt 0.796053 0.296296 +vt 0.375000 0.296296 +vt 0.006579 0.296296 +vt 0.427632 0.296296 +vt 0.059211 0.296296 +vt 0.480263 0.296296 +vt 0.111842 0.296296 +vt 0.532895 0.296296 +vt 0.164474 0.296296 +vt 0.638158 0.296296 +vt 0.585526 0.296296 +vt 0.217105 0.296296 +vt 0.690789 0.296296 +vt 0.269737 0.296296 +vt 0.743421 0.296296 +vt 0.763158 0.574074 +vt 0.776316 0.592593 +vt 0.763158 0.592593 +vt 0.776316 0.574074 +vt 0.789474 0.592593 +vt 0.684211 0.574074 +vt 0.697368 0.592593 +vt 0.684211 0.592593 +vt 0.697368 0.574074 +vt 0.710526 0.592593 +vt 0.710526 0.574074 +vt 0.723684 0.592593 +vt 0.723684 0.574074 +vt 0.736842 0.592593 +vt 0.736842 0.574074 +vt 0.750000 0.592593 +vt 0.750000 0.574074 +vt 0.763158 0.574074 +vt 0.776316 0.592593 +vt 0.763158 0.592593 +vt 0.789474 0.574074 +vt 0.789474 0.592593 +vt 0.684211 0.574074 +vt 0.697368 0.592593 +vt 0.684211 0.592593 +vt 0.697368 0.574074 +vt 0.710526 0.592593 +vt 0.710526 0.574074 +vt 0.723684 0.592593 +vt 0.723684 0.574074 +vt 0.736842 0.592593 +vt 0.736842 0.574074 +vt 0.750000 0.592593 +vt 0.750000 0.574074 +vt 0.368421 0.296296 +vt 0.842105 0.296296 +vt 0.421053 0.296296 +vt 0.052632 0.296296 +vt 0.473684 0.296296 +vt 0.105263 0.296296 +vt 0.526316 0.296296 +vt 0.157895 0.296296 +vt 0.578947 0.296296 +vt 0.210526 0.296296 +vt 0.684211 0.296296 +vt 0.631579 0.296296 +vt 0.263158 0.296296 +vt 0.736842 0.296296 +vt 0.315789 0.296296 +vt 0.789474 0.296296 +vt 0.789474 0.574074 +vt 0.776316 0.574074 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.9239 0.0000 0.3827 +vn -0.9239 0.0000 0.3827 +vn 0.9239 0.0000 -0.3827 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn -0.3827 0.0000 0.9239 +vn 0.3827 0.0000 -0.9239 +vn -0.3827 0.0000 -0.9239 +vn 0.3827 0.0000 0.9239 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.9239 0.0000 -0.3827 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +s off +f 27/1/1 44/2/1 43/3/1 +f 28/4/1 45/5/1 44/2/1 +f 30/6/1 45/5/1 29/7/1 +f 31/8/1 46/9/1 30/6/1 +f 32/10/1 47/11/1 31/8/1 +f 17/12/1 48/13/1 32/10/1 +f 18/14/1 33/15/1 17/12/1 +f 19/16/1 34/17/1 18/14/1 +f 20/18/1 35/19/1 19/16/1 +f 21/20/1 36/21/1 20/18/1 +f 22/22/1 37/23/1 21/24/1 +f 22/22/1 39/25/1 38/26/1 +f 23/27/1 40/28/1 39/25/1 +f 24/29/1 41/30/1 40/28/1 +f 25/31/1 42/32/1 41/30/1 +f 26/33/1 43/3/1 42/32/1 +f 57/34/1 74/35/1 73/36/1 +f 56/37/1 73/38/1 72/39/1 +f 55/40/1 72/41/1 71/42/1 +f 54/43/1 71/44/1 70/45/1 +f 53/46/1 70/47/1 69/48/1 +f 53/49/1 68/50/1 52/51/1 +f 51/52/1 68/53/1 67/54/1 +f 51/52/1 66/55/1 50/56/1 +f 50/56/1 65/57/1 49/58/1 +f 49/58/1 80/59/1 64/60/1 +f 64/60/1 79/61/1 63/62/1 +f 63/62/1 78/63/1 62/64/1 +f 62/64/1 77/65/1 61/66/1 +f 61/66/1 76/67/1 60/68/1 +f 59/69/1 76/70/1 75/71/1 +f 58/72/1 75/73/1 74/74/1 +f 10/75/2 91/76/2 11/77/2 +f 9/78/2 90/79/2 10/75/2 +f 8/80/2 89/81/2 9/78/2 +f 7/82/2 88/83/2 8/80/2 +f 6/84/2 87/85/2 7/82/2 +f 5/86/2 86/87/2 6/84/2 +f 84/88/2 5/89/2 4/90/2 +f 83/91/2 4/90/2 3/92/2 +f 82/93/2 3/92/2 2/94/2 +f 81/95/2 2/94/2 1/96/2 +f 96/97/2 1/96/2 16/98/2 +f 95/99/2 16/98/2 15/100/2 +f 94/101/2 15/100/2 14/102/2 +f 93/103/2 14/102/2 13/104/2 +f 92/105/2 13/104/2 12/106/2 +f 11/77/2 92/107/2 12/106/2 +f 99/108/2 98/109/2 97/110/2 +f 103/111/1 101/112/1 102/113/1 +f 98/109/3 102/114/3 97/115/3 +f 100/116/4 103/111/4 98/109/4 +f 97/117/5 101/118/5 99/119/5 +f 99/119/6 104/120/6 100/116/6 +f 118/121/4 114/122/4 110/123/4 +f 119/124/5 107/125/5 111/126/5 +f 127/127/1 125/128/1 126/129/1 +f 122/130/6 126/129/6 121/131/6 +f 124/132/5 127/133/5 122/130/5 +f 121/131/4 125/128/4 123/134/4 +f 123/135/3 128/136/3 124/132/3 +f 131/137/2 130/138/2 129/139/2 +f 135/140/1 133/141/1 134/142/1 +f 130/138/6 134/143/6 129/144/6 +f 132/145/5 135/140/5 130/138/5 +f 129/146/4 133/147/4 131/148/4 +f 131/148/3 136/149/3 132/145/3 +f 150/150/5 146/151/5 142/152/5 +f 151/153/4 139/154/4 143/155/4 +f 159/156/1 157/157/1 158/158/1 +f 154/159/3 158/158/3 153/160/3 +f 156/161/4 159/162/4 154/159/4 +f 153/160/5 157/157/5 155/163/5 +f 155/164/6 160/165/6 156/161/6 +f 27/1/1 28/4/1 44/2/1 +f 28/4/1 29/7/1 45/5/1 +f 30/6/1 46/9/1 45/5/1 +f 31/8/1 47/11/1 46/9/1 +f 32/10/1 48/13/1 47/11/1 +f 17/12/1 33/15/1 48/13/1 +f 18/14/1 34/17/1 33/15/1 +f 19/16/1 35/19/1 34/17/1 +f 20/18/1 36/21/1 35/19/1 +f 21/20/1 37/166/1 36/21/1 +f 22/22/1 38/26/1 37/23/1 +f 22/22/1 23/27/1 39/25/1 +f 23/27/1 24/29/1 40/28/1 +f 24/29/1 25/31/1 41/30/1 +f 25/31/1 26/33/1 42/32/1 +f 26/33/1 27/1/1 43/3/1 +f 57/34/1 58/72/1 74/35/1 +f 56/37/1 57/34/1 73/38/1 +f 55/40/1 56/37/1 72/41/1 +f 54/43/1 55/40/1 71/44/1 +f 53/46/1 54/43/1 70/47/1 +f 53/49/1 69/167/1 68/50/1 +f 51/52/1 52/51/1 68/53/1 +f 51/52/1 67/168/1 66/55/1 +f 50/56/1 66/169/1 65/57/1 +f 49/58/1 65/170/1 80/59/1 +f 64/60/1 80/171/1 79/61/1 +f 63/62/1 79/172/1 78/63/1 +f 62/64/1 78/173/1 77/65/1 +f 61/66/1 77/174/1 76/67/1 +f 59/69/1 60/68/1 76/70/1 +f 58/72/1 59/69/1 75/73/1 +f 10/75/2 90/175/2 91/76/2 +f 9/78/2 89/176/2 90/79/2 +f 8/80/2 88/177/2 89/81/2 +f 7/82/2 87/178/2 88/83/2 +f 6/84/2 86/179/2 87/85/2 +f 5/86/2 85/180/2 86/87/2 +f 84/88/2 85/181/2 5/89/2 +f 83/91/2 84/182/2 4/90/2 +f 82/93/2 83/183/2 3/92/2 +f 81/95/2 82/184/2 2/94/2 +f 96/97/2 81/185/2 1/96/2 +f 95/99/2 96/186/2 16/98/2 +f 94/101/2 95/187/2 15/100/2 +f 93/103/2 94/188/2 14/102/2 +f 92/105/2 93/189/2 13/104/2 +f 11/77/2 91/190/2 92/107/2 +f 99/108/2 100/116/2 98/109/2 +f 103/111/1 104/120/1 101/112/1 +f 98/109/3 103/111/3 102/114/3 +f 100/116/4 104/120/4 103/111/4 +f 97/117/5 102/191/5 101/118/5 +f 99/119/6 101/118/6 104/120/6 +f 110/123/4 108/192/4 106/193/4 +f 106/193/4 120/194/4 110/123/4 +f 120/194/4 118/121/4 110/123/4 +f 118/121/4 116/195/4 114/122/4 +f 114/122/4 112/196/4 110/123/4 +f 119/124/5 105/197/5 107/125/5 +f 107/125/5 109/198/5 111/126/5 +f 111/126/5 113/199/5 119/124/5 +f 113/199/5 115/200/5 119/124/5 +f 115/200/5 117/201/5 119/124/5 +f 127/127/1 128/202/1 125/128/1 +f 122/130/6 127/133/6 126/129/6 +f 124/132/5 128/136/5 127/133/5 +f 121/131/4 126/129/4 125/128/4 +f 123/135/3 125/203/3 128/136/3 +f 131/137/2 132/145/2 130/138/2 +f 135/140/1 136/149/1 133/141/1 +f 130/138/6 135/140/6 134/143/6 +f 132/145/5 136/149/5 135/140/5 +f 129/146/4 134/204/4 133/147/4 +f 131/148/3 133/147/3 136/149/3 +f 142/152/5 140/205/5 138/206/5 +f 138/206/5 152/207/5 142/152/5 +f 152/207/5 150/150/5 142/152/5 +f 150/150/5 148/208/5 146/151/5 +f 146/151/5 144/209/5 142/152/5 +f 151/153/4 137/210/4 139/154/4 +f 139/154/4 141/211/4 143/155/4 +f 143/155/4 145/212/4 151/153/4 +f 145/212/4 147/213/4 151/153/4 +f 147/213/4 149/214/4 151/153/4 +f 159/156/1 160/215/1 157/157/1 +f 154/159/3 159/162/3 158/158/3 +f 156/161/4 160/165/4 159/162/4 +f 153/160/5 158/158/5 157/157/5 +f 155/164/6 157/216/6 160/165/6 +s 1 +f 13/104/4 28/4/7 12/106/7 +f 6/84/8 21/24/5 5/86/5 +f 14/102/9 29/7/4 13/104/4 +f 7/82/10 22/22/8 6/84/8 +f 15/100/11 30/6/9 14/102/9 +f 8/80/12 23/27/10 7/82/10 +f 16/98/13 31/8/11 15/100/11 +f 9/78/3 24/29/12 8/80/12 +f 2/94/14 17/12/6 1/96/6 +f 1/96/6 32/10/13 16/98/13 +f 10/75/15 25/31/3 9/78/3 +f 3/92/16 18/14/14 2/94/14 +f 11/77/17 26/33/15 10/75/15 +f 4/90/18 19/16/16 3/92/16 +f 12/106/7 27/1/17 11/77/17 +f 5/89/5 20/18/18 4/90/18 +f 34/17/15 49/58/3 33/15/3 +f 33/15/3 64/60/12 48/13/12 +f 42/32/14 57/34/6 41/30/6 +f 35/19/17 50/56/15 34/17/15 +f 43/3/16 58/72/14 42/32/14 +f 36/21/7 51/52/17 35/19/17 +f 44/2/18 59/69/16 43/3/16 +f 37/166/4 52/51/7 36/21/7 +f 45/5/5 60/68/18 44/2/18 +f 38/26/9 53/46/4 37/23/4 +f 46/9/8 61/66/5 45/5/5 +f 39/25/11 54/43/9 38/26/9 +f 47/11/10 62/64/8 46/9/8 +f 40/28/13 55/40/11 39/25/11 +f 48/13/12 63/62/10 47/11/10 +f 41/30/6 56/37/13 40/28/13 +f 76/70/18 91/217/16 75/71/16 +f 69/167/4 84/218/7 68/50/7 +f 77/174/5 92/219/18 76/67/18 +f 70/47/9 85/220/4 69/48/4 +f 78/173/8 93/221/5 77/65/5 +f 71/44/11 86/222/9 70/45/9 +f 79/172/10 94/223/8 78/63/8 +f 72/41/13 87/224/11 71/42/11 +f 80/171/12 95/225/10 79/61/10 +f 73/38/6 88/226/13 72/39/13 +f 66/169/15 81/227/3 65/57/3 +f 65/170/3 96/228/12 80/59/12 +f 74/35/14 89/229/6 73/36/6 +f 67/168/17 82/230/15 66/55/15 +f 75/73/16 90/231/14 74/74/14 +f 68/53/7 83/232/17 67/54/17 +f 106/233/6 107/234/19 105/235/6 +f 108/236/19 109/237/2 107/234/19 +f 110/238/2 111/239/20 109/240/2 +f 112/241/20 113/242/3 111/239/20 +f 114/243/3 115/244/21 113/242/3 +f 116/245/21 117/246/1 115/244/21 +f 118/247/1 119/248/22 117/246/1 +f 120/249/22 105/235/6 119/248/22 +f 138/250/3 139/251/20 137/252/3 +f 139/251/20 142/253/2 141/254/2 +f 142/255/2 143/256/19 141/257/2 +f 144/258/19 145/259/6 143/256/19 +f 146/260/6 147/261/22 145/259/6 +f 148/262/22 149/263/1 147/261/22 +f 150/264/1 151/265/21 149/263/1 +f 152/266/21 137/252/3 151/265/21 +f 13/104/4 29/7/4 28/4/7 +f 6/84/8 22/22/8 21/24/5 +f 14/102/9 30/6/9 29/7/4 +f 7/82/10 23/27/10 22/22/8 +f 15/100/11 31/8/11 30/6/9 +f 8/80/12 24/29/12 23/27/10 +f 16/98/13 32/10/13 31/8/11 +f 9/78/3 25/31/3 24/29/12 +f 2/94/14 18/14/14 17/12/6 +f 1/96/6 17/12/6 32/10/13 +f 10/75/15 26/33/15 25/31/3 +f 3/92/16 19/16/16 18/14/14 +f 11/77/17 27/1/17 26/33/15 +f 4/90/18 20/18/18 19/16/16 +f 12/106/7 28/4/7 27/1/17 +f 5/89/5 21/20/5 20/18/18 +f 34/17/15 50/56/15 49/58/3 +f 33/15/3 49/58/3 64/60/12 +f 42/32/14 58/72/14 57/34/6 +f 35/19/17 51/52/17 50/56/15 +f 43/3/16 59/69/16 58/72/14 +f 36/21/7 52/51/7 51/52/17 +f 44/2/18 60/68/18 59/69/16 +f 37/166/4 53/49/4 52/51/7 +f 45/5/5 61/66/5 60/68/18 +f 38/26/9 54/43/9 53/46/4 +f 46/9/8 62/64/8 61/66/5 +f 39/25/11 55/40/11 54/43/9 +f 47/11/10 63/62/10 62/64/8 +f 40/28/13 56/37/13 55/40/11 +f 48/13/12 64/60/12 63/62/10 +f 41/30/6 57/34/6 56/37/13 +f 76/70/18 92/267/18 91/217/16 +f 69/167/4 85/268/4 84/218/7 +f 77/174/5 93/269/5 92/219/18 +f 70/47/9 86/270/9 85/220/4 +f 78/173/8 94/271/8 93/221/5 +f 71/44/11 87/272/11 86/222/9 +f 79/172/10 95/273/10 94/223/8 +f 72/41/13 88/274/13 87/224/11 +f 80/171/12 96/275/12 95/225/10 +f 73/38/6 89/276/6 88/226/13 +f 66/169/15 82/277/15 81/227/3 +f 65/170/3 81/278/3 96/228/12 +f 74/35/14 90/279/14 89/229/6 +f 67/168/17 83/280/17 82/230/15 +f 75/73/16 91/281/16 90/231/14 +f 68/53/7 84/282/7 83/232/17 +f 106/233/6 108/236/19 107/234/19 +f 108/236/19 110/283/2 109/237/2 +f 110/238/2 112/241/20 111/239/20 +f 112/241/20 114/243/3 113/242/3 +f 114/243/3 116/245/21 115/244/21 +f 116/245/21 118/247/1 117/246/1 +f 118/247/1 120/249/22 119/248/22 +f 120/249/22 106/233/6 105/235/6 +f 138/250/3 140/284/20 139/251/20 +f 139/251/20 140/284/20 142/253/2 +f 142/255/2 144/258/19 143/256/19 +f 144/258/19 146/260/6 145/259/6 +f 146/260/6 148/262/22 147/261/22 +f 148/262/22 150/264/1 149/263/1 +f 150/264/1 152/266/21 151/265/21 +f 152/266/21 138/250/3 137/252/3 +o ArmLower1 +v 0.031250 1.625000 0.875000 +v 0.093750 1.625000 0.875000 +v 0.093750 1.625000 1.000000 +v 0.031250 1.625000 1.000000 +v 0.031250 2.375000 1.000000 +v 0.093750 2.375000 1.000000 +v 0.031250 2.375000 0.875000 +v 0.093750 2.375000 0.875000 +v 0.125000 1.625000 1.062500 +v 0.000000 1.625000 1.062500 +v 0.125000 1.536612 1.025888 +v 0.000000 1.536612 1.025888 +v 0.125000 1.500000 0.937500 +v 0.000000 1.500000 0.937500 +v 0.125000 1.536612 0.849112 +v 0.000000 1.536612 0.849112 +v 0.125000 1.625000 0.812500 +v 0.000000 1.625000 0.812500 +v 0.125000 1.713388 0.849112 +v 0.000000 1.713388 0.849112 +v 0.125000 1.750000 0.937500 +v 0.000000 1.750000 0.937500 +v 0.125000 1.713388 1.025888 +v 0.000000 1.713388 1.025888 +v 0.125000 2.375000 1.062500 +v 0.000000 2.375000 1.062500 +v 0.125000 2.286612 1.025888 +v 0.000000 2.286612 1.025888 +v 0.125000 2.250000 0.937500 +v 0.000000 2.250000 0.937500 +v 0.125000 2.286612 0.849112 +v 0.000000 2.286612 0.849112 +v 0.125000 2.375000 0.812500 +v 0.000000 2.375000 0.812500 +v 0.125000 2.463388 0.849112 +v 0.000000 2.463388 0.849112 +v 0.125000 2.500000 0.937500 +v 0.000000 2.500000 0.937500 +v 0.125000 2.463388 1.025888 +v 0.000000 2.463388 1.025888 +vt 0.763158 0.666667 +vt 0.684211 0.657407 +vt 0.763158 0.657407 +vt 0.763158 0.685185 +vt 0.684211 0.666667 +vt 0.763158 0.638889 +vt 0.684211 0.629630 +vt 0.763158 0.629630 +vt 0.684211 0.638889 +vt 0.723684 0.629566 +vt 0.710572 0.611111 +vt 0.723684 0.592656 +vt 0.688096 0.624161 +vt 0.688096 0.598061 +vt 0.706641 0.598061 +vt 0.723684 0.629566 +vt 0.710572 0.611111 +vt 0.723684 0.592656 +vt 0.706641 0.624161 +vt 0.697369 0.629566 +vt 0.688096 0.624161 +vt 0.684211 0.685185 +vt 0.732956 0.598061 +vt 0.736797 0.611111 +vt 0.732957 0.624161 +vt 0.714412 0.624161 +vt 0.714412 0.598061 +vt 0.684256 0.611111 +vt 0.697369 0.592656 +vt 0.710481 0.611111 +vt 0.706641 0.624161 +vt 0.697369 0.629566 +vt 0.732956 0.598061 +vt 0.736797 0.611111 +vt 0.732957 0.624161 +vt 0.714412 0.624161 +vt 0.714412 0.598061 +vt 0.684256 0.611111 +vt 0.688096 0.598061 +vt 0.697369 0.592656 +vt 0.706641 0.598061 +vt 0.710481 0.611111 +vt 0.763158 0.574074 +vt 0.776316 0.592593 +vt 0.763158 0.592593 +vt 0.776316 0.574074 +vt 0.789474 0.592593 +vt 0.684211 0.574074 +vt 0.697368 0.592593 +vt 0.684211 0.592593 +vt 0.697368 0.574074 +vt 0.710526 0.592593 +vt 0.710526 0.574074 +vt 0.723684 0.592593 +vt 0.723684 0.574074 +vt 0.736842 0.592593 +vt 0.736842 0.574074 +vt 0.750000 0.592593 +vt 0.750000 0.574074 +vt 0.763158 0.574074 +vt 0.776316 0.592593 +vt 0.763158 0.592593 +vt 0.776316 0.574074 +vt 0.789474 0.592593 +vt 0.684211 0.574074 +vt 0.697368 0.592593 +vt 0.684211 0.592593 +vt 0.697368 0.574074 +vt 0.710526 0.592593 +vt 0.710526 0.574074 +vt 0.723684 0.592593 +vt 0.736842 0.574074 +vt 0.736842 0.592593 +vt 0.750000 0.592593 +vt 0.750000 0.574074 +vt 0.789474 0.574074 +vt 0.789474 0.574074 +vt 0.723684 0.574074 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 -0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 1.0000 -0.0000 +vn 0.0000 0.7071 0.7071 +s off +f 163/285/23 165/286/23 164/287/23 +f 162/288/24 166/289/24 163/285/24 +f 161/290/25 168/291/25 162/292/25 +f 164/287/26 167/293/26 161/290/26 +f 182/294/26 178/295/26 174/296/26 +f 183/297/24 171/298/24 175/299/24 +f 198/300/26 194/301/26 190/302/26 +f 195/303/24 197/304/24 199/305/24 +f 163/285/23 166/289/23 165/286/23 +f 162/288/24 168/306/24 166/289/24 +f 161/290/25 167/293/25 168/291/25 +f 164/287/26 165/286/26 167/293/26 +f 174/296/26 172/307/26 170/308/26 +f 170/308/26 184/309/26 174/296/26 +f 184/309/26 182/294/26 174/296/26 +f 182/294/26 180/310/26 178/295/26 +f 178/295/26 176/311/26 174/296/26 +f 183/297/24 169/312/24 171/298/24 +f 171/298/24 173/313/24 175/299/24 +f 175/299/24 177/314/24 183/297/24 +f 177/314/24 179/315/24 183/297/24 +f 179/315/24 181/316/24 183/297/24 +f 190/302/26 188/317/26 186/318/26 +f 186/318/26 200/319/26 198/300/26 +f 198/300/26 196/320/26 194/301/26 +f 194/301/26 192/321/26 190/302/26 +f 190/302/26 186/318/26 198/300/26 +f 199/305/24 185/322/24 187/323/24 +f 187/323/24 189/324/24 199/305/24 +f 189/324/24 191/325/24 199/305/24 +f 191/325/24 193/326/24 199/305/24 +f 193/326/24 195/303/24 199/305/24 +s 1 +f 170/327/23 171/328/27 169/329/23 +f 172/330/27 173/331/28 171/328/27 +f 174/332/28 175/333/29 173/334/28 +f 176/335/29 177/336/25 175/333/29 +f 178/337/25 179/338/30 177/336/25 +f 180/339/30 181/340/31 179/338/30 +f 182/341/31 183/342/32 181/340/31 +f 184/343/32 169/329/23 183/342/32 +f 186/344/23 187/345/27 185/346/23 +f 188/347/27 189/348/28 187/345/27 +f 190/349/28 191/350/29 189/351/28 +f 192/352/29 193/353/25 191/350/29 +f 194/354/25 195/355/30 193/353/25 +f 195/355/30 198/356/31 197/357/31 +f 198/356/31 199/358/32 197/357/31 +f 200/359/32 185/346/23 199/358/32 +f 170/327/23 172/330/27 171/328/27 +f 172/330/27 174/360/28 173/331/28 +f 174/332/28 176/335/29 175/333/29 +f 176/335/29 178/337/25 177/336/25 +f 178/337/25 180/339/30 179/338/30 +f 180/339/30 182/341/31 181/340/31 +f 182/341/31 184/343/32 183/342/32 +f 184/343/32 170/327/23 169/329/23 +f 186/344/23 188/347/27 187/345/27 +f 188/347/27 190/361/28 189/348/28 +f 190/349/28 192/352/29 191/350/29 +f 192/352/29 194/354/25 193/353/25 +f 194/354/25 196/362/30 195/355/30 +f 195/355/30 196/362/30 198/356/31 +f 198/356/31 200/359/32 199/358/32 +f 200/359/32 186/344/23 185/346/23 +o ArmLower2 +v -0.031250 1.625000 -0.875000 +v -0.093750 1.625000 -0.875000 +v -0.093750 1.625000 -1.000000 +v -0.031250 1.625000 -1.000000 +v -0.031250 2.375000 -1.000000 +v -0.093750 2.375000 -1.000000 +v -0.031250 2.375000 -0.875000 +v -0.093750 2.375000 -0.875000 +v -0.125000 1.625000 -1.062500 +v -0.000000 1.625000 -1.062500 +v -0.125000 1.536612 -1.025888 +v -0.000000 1.536612 -1.025888 +v -0.125000 1.500000 -0.937500 +v -0.000000 1.500000 -0.937500 +v -0.125000 1.536612 -0.849112 +v -0.000000 1.536612 -0.849112 +v -0.125000 1.625000 -0.812500 +v -0.000000 1.625000 -0.812500 +v -0.125000 1.713388 -0.849112 +v -0.000000 1.713388 -0.849112 +v -0.125000 1.750000 -0.937500 +v -0.000000 1.750000 -0.937500 +v -0.125000 1.713388 -1.025888 +v -0.000000 1.713388 -1.025888 +v -0.125000 2.375000 -1.062500 +v -0.000000 2.375000 -1.062500 +v -0.125000 2.286612 -1.025888 +v -0.000000 2.286612 -1.025888 +v -0.125000 2.250000 -0.937500 +v -0.000000 2.250000 -0.937500 +v -0.125000 2.286612 -0.849112 +v -0.000000 2.286612 -0.849112 +v -0.125000 2.375000 -0.812500 +v -0.000000 2.375000 -0.812500 +v -0.125000 2.463388 -0.849112 +v -0.000000 2.463388 -0.849112 +v -0.125000 2.500000 -0.937500 +v -0.000000 2.500000 -0.937500 +v -0.125000 2.463388 -1.025888 +v -0.000000 2.463388 -1.025888 +vt 0.763158 0.666667 +vt 0.684211 0.657407 +vt 0.763158 0.657407 +vt 0.763158 0.685185 +vt 0.684211 0.666667 +vt 0.763158 0.638889 +vt 0.684211 0.629630 +vt 0.763158 0.629630 +vt 0.684211 0.638889 +vt 0.723684 0.629566 +vt 0.710572 0.611111 +vt 0.723684 0.592656 +vt 0.688096 0.624161 +vt 0.688096 0.598061 +vt 0.706641 0.598061 +vt 0.723684 0.629566 +vt 0.710572 0.611111 +vt 0.723684 0.592656 +vt 0.706641 0.624161 +vt 0.697369 0.629566 +vt 0.688096 0.624161 +vt 0.684211 0.685185 +vt 0.732956 0.598061 +vt 0.736797 0.611111 +vt 0.732957 0.624161 +vt 0.714412 0.624161 +vt 0.714412 0.598061 +vt 0.684256 0.611111 +vt 0.697369 0.592656 +vt 0.710481 0.611111 +vt 0.706641 0.624161 +vt 0.697369 0.629566 +vt 0.732956 0.598061 +vt 0.736797 0.611111 +vt 0.732957 0.624161 +vt 0.714412 0.624161 +vt 0.714412 0.598061 +vt 0.684256 0.611111 +vt 0.688096 0.598061 +vt 0.697369 0.592656 +vt 0.706641 0.598061 +vt 0.710481 0.611111 +vt 0.763158 0.574074 +vt 0.776316 0.592593 +vt 0.763158 0.592593 +vt 0.776316 0.574074 +vt 0.789474 0.592593 +vt 0.684211 0.574074 +vt 0.697368 0.592593 +vt 0.684211 0.592593 +vt 0.697368 0.574074 +vt 0.710526 0.592593 +vt 0.710526 0.574074 +vt 0.723684 0.592593 +vt 0.723684 0.574074 +vt 0.736842 0.592593 +vt 0.736842 0.574074 +vt 0.750000 0.592593 +vt 0.750000 0.574074 +vt 0.763158 0.574074 +vt 0.776316 0.592593 +vt 0.763158 0.592593 +vt 0.776316 0.574074 +vt 0.789474 0.592593 +vt 0.684211 0.574074 +vt 0.697368 0.592593 +vt 0.684211 0.592593 +vt 0.697368 0.574074 +vt 0.710526 0.592593 +vt 0.710526 0.574074 +vt 0.723684 0.592593 +vt 0.723684 0.574074 +vt 0.736842 0.592593 +vt 0.736842 0.574074 +vt 0.750000 0.592593 +vt 0.750000 0.574074 +vt 0.789474 0.574074 +vt 0.789474 0.574074 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.7071 -0.7071 +s off +f 203/363/33 205/364/33 204/365/33 +f 202/366/34 206/367/34 203/363/34 +f 201/368/35 208/369/35 202/370/35 +f 204/365/36 207/371/36 201/368/36 +f 222/372/36 218/373/36 214/374/36 +f 223/375/34 211/376/34 215/377/34 +f 238/378/36 234/379/36 230/380/36 +f 235/381/34 237/382/34 239/383/34 +f 203/363/33 206/367/33 205/364/33 +f 202/366/34 208/384/34 206/367/34 +f 201/368/35 207/371/35 208/369/35 +f 204/365/36 205/364/36 207/371/36 +f 214/374/36 212/385/36 210/386/36 +f 210/386/36 224/387/36 214/374/36 +f 224/387/36 222/372/36 214/374/36 +f 222/372/36 220/388/36 218/373/36 +f 218/373/36 216/389/36 214/374/36 +f 223/375/34 209/390/34 211/376/34 +f 211/376/34 213/391/34 215/377/34 +f 215/377/34 217/392/34 223/375/34 +f 217/392/34 219/393/34 223/375/34 +f 219/393/34 221/394/34 223/375/34 +f 230/380/36 228/395/36 226/396/36 +f 226/396/36 240/397/36 238/378/36 +f 238/378/36 236/398/36 234/379/36 +f 234/379/36 232/399/36 230/380/36 +f 230/380/36 226/396/36 238/378/36 +f 239/383/34 225/400/34 227/401/34 +f 227/401/34 229/402/34 239/383/34 +f 229/402/34 231/403/34 239/383/34 +f 231/403/34 233/404/34 239/383/34 +f 233/404/34 235/381/34 239/383/34 +s 1 +f 210/405/33 211/406/37 209/407/33 +f 212/408/37 213/409/38 211/406/37 +f 214/410/38 215/411/39 213/412/38 +f 216/413/39 217/414/35 215/411/39 +f 218/415/35 219/416/40 217/414/35 +f 220/417/40 221/418/41 219/416/40 +f 222/419/41 223/420/42 221/418/41 +f 224/421/42 209/407/33 223/420/42 +f 226/422/33 227/423/37 225/424/33 +f 228/425/37 229/426/38 227/423/37 +f 230/427/38 231/428/39 229/429/38 +f 232/430/39 233/431/35 231/428/39 +f 234/432/35 235/433/40 233/431/35 +f 236/434/40 237/435/41 235/433/40 +f 238/436/41 239/437/42 237/435/41 +f 240/438/42 225/424/33 239/437/42 +f 210/405/33 212/408/37 211/406/37 +f 212/408/37 214/439/38 213/409/38 +f 214/410/38 216/413/39 215/411/39 +f 216/413/39 218/415/35 217/414/35 +f 218/415/35 220/417/40 219/416/40 +f 220/417/40 222/419/41 221/418/41 +f 222/419/41 224/421/42 223/420/42 +f 224/421/42 210/405/33 209/407/33 +f 226/422/33 228/425/37 227/423/37 +f 228/425/37 230/440/38 229/426/38 +f 230/427/38 232/430/39 231/428/39 +f 232/430/39 234/432/35 233/431/35 +f 234/432/35 236/434/40 235/433/40 +f 236/434/40 238/436/41 237/435/41 +f 238/436/41 240/438/42 239/437/42 +f 240/438/42 226/422/33 225/424/33 +o ArmUpper2 +v 0.031250 2.312500 -0.937500 +v 0.093750 2.312500 -0.937500 +v 0.031250 2.437500 -0.937500 +v 0.093750 2.437500 -0.937500 +v 0.031250 2.437500 -0.437500 +v 0.031250 2.312500 -0.437500 +v 0.093750 2.312500 -0.437500 +v 0.093750 2.437500 -0.437500 +v -0.000000 2.375000 -1.062500 +v 0.125000 2.375000 -1.062500 +v -0.000000 2.286612 -1.025888 +v 0.125000 2.286612 -1.025888 +v -0.000000 2.250000 -0.937500 +v 0.125000 2.250000 -0.937500 +v -0.000000 2.286612 -0.849112 +v 0.125000 2.286612 -0.849112 +v -0.000000 2.375000 -0.812500 +v 0.125000 2.375000 -0.812500 +v -0.000000 2.463388 -0.849112 +v 0.125000 2.463388 -0.849112 +v -0.000000 2.500000 -0.937500 +v 0.125000 2.500000 -0.937500 +v -0.000000 2.463388 -1.025888 +v 0.125000 2.463388 -1.025888 +v -0.000000 2.375000 -0.562500 +v 0.125000 2.375000 -0.562500 +v -0.000000 2.286612 -0.525888 +v 0.125000 2.286612 -0.525888 +v -0.000000 2.250000 -0.437500 +v 0.125000 2.250000 -0.437500 +v -0.000000 2.286612 -0.349112 +v 0.125000 2.286612 -0.349112 +v -0.000000 2.375000 -0.312500 +v 0.125000 2.375000 -0.312500 +v -0.000000 2.463388 -0.349112 +v 0.125000 2.463388 -0.349112 +v -0.000000 2.500000 -0.437500 +v 0.125000 2.500000 -0.437500 +v -0.000000 2.463388 -0.525888 +v 0.125000 2.463388 -0.525888 +vt 0.815789 0.666667 +vt 0.763158 0.657407 +vt 0.815789 0.657407 +vt 0.815789 0.638889 +vt 0.763158 0.629630 +vt 0.815789 0.629630 +vt 0.763158 0.638889 +vt 0.815789 0.685185 +vt 0.763158 0.666667 +vt 0.723684 0.629566 +vt 0.710572 0.611111 +vt 0.723684 0.592656 +vt 0.706641 0.624161 +vt 0.697369 0.629566 +vt 0.688096 0.624161 +vt 0.723684 0.629566 +vt 0.710572 0.611111 +vt 0.723684 0.592656 +vt 0.706641 0.624161 +vt 0.697369 0.629566 +vt 0.688096 0.624161 +vt 0.763158 0.685185 +vt 0.732956 0.598061 +vt 0.736797 0.611111 +vt 0.732957 0.624161 +vt 0.714412 0.624161 +vt 0.714412 0.598061 +vt 0.684256 0.611111 +vt 0.688096 0.598061 +vt 0.697369 0.592656 +vt 0.706641 0.598061 +vt 0.710481 0.611111 +vt 0.732956 0.598061 +vt 0.736797 0.611111 +vt 0.732957 0.624161 +vt 0.714412 0.624161 +vt 0.714412 0.598061 +vt 0.684256 0.611111 +vt 0.688096 0.598061 +vt 0.697369 0.592656 +vt 0.706641 0.598061 +vt 0.710481 0.611111 +vt 0.763158 0.574074 +vt 0.776316 0.592593 +vt 0.763158 0.592593 +vt 0.776316 0.574074 +vt 0.789474 0.592593 +vt 0.684211 0.574074 +vt 0.697368 0.592593 +vt 0.684211 0.592593 +vt 0.697368 0.574074 +vt 0.710526 0.592593 +vt 0.710526 0.574074 +vt 0.723684 0.592593 +vt 0.723684 0.574074 +vt 0.736842 0.592593 +vt 0.736842 0.574074 +vt 0.750000 0.592593 +vt 0.750000 0.574074 +vt 0.763158 0.574074 +vt 0.776316 0.592593 +vt 0.763158 0.592593 +vt 0.776316 0.574074 +vt 0.789474 0.592593 +vt 0.684211 0.574074 +vt 0.697368 0.592593 +vt 0.684211 0.592593 +vt 0.697368 0.574074 +vt 0.710526 0.592593 +vt 0.710526 0.574074 +vt 0.723684 0.592593 +vt 0.723684 0.574074 +vt 0.736842 0.592593 +vt 0.736842 0.574074 +vt 0.750000 0.592593 +vt 0.750000 0.574074 +vt 0.789474 0.574074 +vt 0.789474 0.574074 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +s off +f 243/441/43 248/442/43 244/443/43 +f 242/444/44 246/445/44 241/446/44 +f 244/443/45 247/447/45 242/444/45 +f 241/448/46 245/449/46 243/441/46 +f 262/450/45 258/451/45 254/452/45 +f 259/453/46 261/454/46 263/455/46 +f 278/456/45 274/457/45 270/458/45 +f 275/459/46 277/460/46 279/461/46 +f 243/441/43 245/449/43 248/442/43 +f 242/444/44 247/447/44 246/445/44 +f 244/443/45 248/442/45 247/447/45 +f 241/448/46 246/462/46 245/449/46 +f 254/452/45 252/463/45 250/464/45 +f 250/464/45 264/465/45 262/450/45 +f 262/450/45 260/466/45 258/451/45 +f 258/451/45 256/467/45 254/452/45 +f 254/452/45 250/464/45 262/450/45 +f 263/455/46 249/468/46 251/469/46 +f 251/469/46 253/470/46 263/455/46 +f 253/470/46 255/471/46 263/455/46 +f 255/471/46 257/472/46 263/455/46 +f 257/472/46 259/453/46 263/455/46 +f 270/458/45 268/473/45 266/474/45 +f 266/474/45 280/475/45 278/456/45 +f 278/456/45 276/476/45 274/457/45 +f 274/457/45 272/477/45 270/458/45 +f 270/458/45 266/474/45 278/456/45 +f 279/461/46 265/478/46 267/479/46 +f 267/479/46 269/480/46 279/461/46 +f 269/480/46 271/481/46 279/461/46 +f 271/481/46 273/482/46 279/461/46 +f 273/482/46 275/459/46 279/461/46 +s 1 +f 250/483/47 251/484/48 249/485/47 +f 252/486/48 253/487/44 251/484/48 +f 254/488/44 255/489/49 253/490/44 +f 256/491/49 257/492/50 255/489/49 +f 258/493/50 259/494/51 257/492/50 +f 260/495/51 261/496/43 259/494/51 +f 262/497/43 263/498/52 261/496/43 +f 264/499/52 249/485/47 263/498/52 +f 266/500/47 267/501/48 265/502/47 +f 268/503/48 269/504/44 267/501/48 +f 270/505/44 271/506/49 269/507/44 +f 272/508/49 273/509/50 271/506/49 +f 274/510/50 275/511/51 273/509/50 +f 276/512/51 277/513/43 275/511/51 +f 278/514/43 279/515/52 277/513/43 +f 280/516/52 265/502/47 279/515/52 +f 250/483/47 252/486/48 251/484/48 +f 252/486/48 254/517/44 253/487/44 +f 254/488/44 256/491/49 255/489/49 +f 256/491/49 258/493/50 257/492/50 +f 258/493/50 260/495/51 259/494/51 +f 260/495/51 262/497/43 261/496/43 +f 262/497/43 264/499/52 263/498/52 +f 264/499/52 250/483/47 249/485/47 +f 266/500/47 268/503/48 267/501/48 +f 268/503/48 270/518/44 269/504/44 +f 270/505/44 272/508/49 271/506/49 +f 272/508/49 274/510/50 273/509/50 +f 274/510/50 276/512/51 275/511/51 +f 276/512/51 278/514/43 277/513/43 +f 278/514/43 280/516/52 279/515/52 +f 280/516/52 266/500/47 265/502/47 +o ArmUpper1 +v -0.031250 2.312500 0.937500 +v -0.093750 2.312500 0.937500 +v -0.031250 2.437500 0.937500 +v -0.093750 2.437500 0.937500 +v -0.031250 2.437500 0.437500 +v -0.031250 2.312500 0.437500 +v -0.093750 2.312500 0.437500 +v -0.093750 2.437500 0.437500 +v 0.000000 2.375000 1.062500 +v -0.125000 2.375000 1.062500 +v 0.000000 2.286612 1.025888 +v -0.125000 2.286612 1.025888 +v 0.000000 2.250000 0.937500 +v -0.125000 2.250000 0.937500 +v 0.000000 2.286612 0.849112 +v -0.125000 2.286612 0.849112 +v 0.000000 2.375000 0.812500 +v -0.125000 2.375000 0.812500 +v 0.000000 2.463388 0.849112 +v -0.125000 2.463388 0.849112 +v 0.000000 2.500000 0.937500 +v -0.125000 2.500000 0.937500 +v 0.000000 2.463388 1.025888 +v -0.125000 2.463388 1.025888 +v 0.000000 2.375000 0.562500 +v -0.125000 2.375000 0.562500 +v 0.000000 2.286612 0.525888 +v -0.125000 2.286612 0.525888 +v 0.000000 2.250000 0.437500 +v -0.125000 2.250000 0.437500 +v 0.000000 2.286612 0.349112 +v -0.125000 2.286612 0.349112 +v 0.000000 2.375000 0.312500 +v -0.125000 2.375000 0.312500 +v 0.000000 2.463388 0.349112 +v -0.125000 2.463388 0.349112 +v 0.000000 2.500000 0.437500 +v -0.125000 2.500000 0.437500 +v 0.000000 2.463388 0.525888 +v -0.125000 2.463388 0.525888 +vt 0.815789 0.666667 +vt 0.763158 0.657407 +vt 0.815789 0.657407 +vt 0.815789 0.638889 +vt 0.763158 0.629630 +vt 0.815789 0.629630 +vt 0.763158 0.638889 +vt 0.815789 0.685185 +vt 0.763158 0.666667 +vt 0.723684 0.629566 +vt 0.710572 0.611111 +vt 0.723684 0.592656 +vt 0.706641 0.624161 +vt 0.697369 0.629566 +vt 0.688096 0.624161 +vt 0.723684 0.629566 +vt 0.710572 0.611111 +vt 0.723684 0.592656 +vt 0.706641 0.624161 +vt 0.697369 0.629566 +vt 0.688096 0.624161 +vt 0.763158 0.685185 +vt 0.732956 0.598061 +vt 0.736797 0.611111 +vt 0.732957 0.624161 +vt 0.714412 0.624161 +vt 0.714412 0.598061 +vt 0.684256 0.611111 +vt 0.688096 0.598061 +vt 0.697369 0.592656 +vt 0.706641 0.598061 +vt 0.710481 0.611111 +vt 0.732956 0.598061 +vt 0.736797 0.611111 +vt 0.732957 0.624161 +vt 0.714412 0.624161 +vt 0.714412 0.598061 +vt 0.684256 0.611111 +vt 0.688096 0.598061 +vt 0.697369 0.592656 +vt 0.706641 0.598061 +vt 0.710481 0.611111 +vt 0.763158 0.574074 +vt 0.776316 0.592593 +vt 0.763158 0.592593 +vt 0.789474 0.574074 +vt 0.789474 0.592593 +vt 0.684211 0.574074 +vt 0.697368 0.592593 +vt 0.684211 0.592593 +vt 0.697368 0.574074 +vt 0.710526 0.592593 +vt 0.710526 0.574074 +vt 0.723684 0.592593 +vt 0.723684 0.574074 +vt 0.736842 0.592593 +vt 0.736842 0.574074 +vt 0.750000 0.592593 +vt 0.750000 0.574074 +vt 0.763158 0.574074 +vt 0.776316 0.592593 +vt 0.763158 0.592593 +vt 0.776316 0.574074 +vt 0.789474 0.592593 +vt 0.684211 0.574074 +vt 0.697368 0.592593 +vt 0.684211 0.592593 +vt 0.710526 0.574074 +vt 0.710526 0.592593 +vt 0.723684 0.592593 +vt 0.736842 0.574074 +vt 0.736842 0.592593 +vt 0.750000 0.592593 +vt 0.750000 0.574074 +vt 0.776316 0.574074 +vt 0.789474 0.574074 +vt 0.697368 0.574074 +vt 0.723684 0.574074 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 -0.0000 +vn 0.0000 -0.0000 1.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.7071 0.7071 +s off +f 283/519/53 288/520/53 284/521/53 +f 282/522/54 286/523/54 281/524/54 +f 284/521/55 287/525/55 282/522/55 +f 281/526/56 285/527/56 283/519/56 +f 302/528/55 298/529/55 294/530/55 +f 299/531/56 301/532/56 303/533/56 +f 318/534/55 314/535/55 310/536/55 +f 315/537/56 317/538/56 319/539/56 +f 283/519/53 285/527/53 288/520/53 +f 282/522/54 287/525/54 286/523/54 +f 284/521/55 288/520/55 287/525/55 +f 281/526/56 286/540/56 285/527/56 +f 294/530/55 292/541/55 290/542/55 +f 290/542/55 304/543/55 302/528/55 +f 302/528/55 300/544/55 298/529/55 +f 298/529/55 296/545/55 294/530/55 +f 294/530/55 290/542/55 302/528/55 +f 303/533/56 289/546/56 291/547/56 +f 291/547/56 293/548/56 303/533/56 +f 293/548/56 295/549/56 303/533/56 +f 295/549/56 297/550/56 303/533/56 +f 297/550/56 299/531/56 303/533/56 +f 310/536/55 308/551/55 306/552/55 +f 306/552/55 320/553/55 318/534/55 +f 318/534/55 316/554/55 314/535/55 +f 314/535/55 312/555/55 310/536/55 +f 310/536/55 306/552/55 318/534/55 +f 319/539/56 305/556/56 307/557/56 +f 307/557/56 309/558/56 319/539/56 +f 309/558/56 311/559/56 319/539/56 +f 311/559/56 313/560/56 319/539/56 +f 313/560/56 315/537/56 319/539/56 +s 1 +f 290/561/57 291/562/58 289/563/57 +f 291/562/58 294/564/54 293/565/54 +f 294/566/54 295/567/59 293/568/54 +f 296/569/59 297/570/60 295/567/59 +f 298/571/60 299/572/61 297/570/60 +f 300/573/61 301/574/53 299/572/61 +f 302/575/53 303/576/62 301/574/53 +f 304/577/62 289/563/57 303/576/62 +f 306/578/57 307/579/58 305/580/57 +f 308/581/58 309/582/54 307/579/58 +f 310/583/54 311/584/59 309/585/54 +f 311/584/59 314/586/60 313/587/60 +f 314/586/60 315/588/61 313/587/60 +f 315/588/61 318/589/53 317/590/53 +f 318/589/53 319/591/62 317/590/53 +f 320/592/62 305/580/57 319/591/62 +f 290/561/57 292/593/58 291/562/58 +f 291/562/58 292/593/58 294/564/54 +f 294/566/54 296/569/59 295/567/59 +f 296/569/59 298/571/60 297/570/60 +f 298/571/60 300/573/61 299/572/61 +f 300/573/61 302/575/53 301/574/53 +f 302/575/53 304/577/62 303/576/62 +f 304/577/62 290/561/57 289/563/57 +f 306/578/57 308/581/58 307/579/58 +f 308/581/58 310/594/54 309/582/54 +f 310/583/54 312/595/59 311/584/59 +f 311/584/59 312/595/59 314/586/60 +f 314/586/60 316/596/61 315/588/61 +f 315/588/61 316/596/61 318/589/53 +f 318/589/53 320/592/62 319/591/62 +f 320/592/62 306/578/57 305/580/57 +o Head2 +v -0.125000 2.750000 0.000000 +v 0.125000 2.750000 0.000000 +v -0.125000 2.750000 -0.250000 +v 0.125000 2.750000 -0.250000 +v -0.125000 1.750000 -0.250000 +v -0.125000 1.750000 0.000000 +v 0.125000 1.750000 0.000000 +v 0.125000 1.750000 -0.250000 +v -0.062500 2.500000 -0.250000 +v 0.062500 2.500000 -0.250000 +v -0.062500 2.500000 -0.437500 +v 0.062500 2.500000 -0.437500 +v -0.062500 2.250000 -0.437500 +v 0.062500 2.250000 -0.437500 +v -0.062500 2.250000 -0.250000 +v 0.062500 2.250000 -0.250000 +v 0.250000 2.625000 -0.093750 +v 0.250000 1.875000 -0.093750 +v 0.250000 2.625000 -0.156250 +v 0.250000 1.875000 -0.156250 +v 0.125000 2.625000 -0.093750 +v 0.125000 1.875000 -0.093750 +v 0.125000 2.625000 -0.156250 +v 0.125000 1.875000 -0.156250 +v 0.187500 2.562500 -0.093750 +v 0.187500 1.937500 -0.093750 +v 0.187500 2.562500 -0.156250 +v 0.187500 1.937500 -0.156250 +v 0.125000 2.562500 -0.093750 +v 0.125000 1.937500 -0.093750 +v 0.125000 2.562500 -0.156250 +v 0.125000 1.937500 -0.156250 +v -0.250001 2.625000 -0.156250 +v -0.250001 1.875000 -0.156250 +v -0.250001 2.625000 -0.093750 +v -0.250001 1.875000 -0.093750 +v -0.125001 2.625000 -0.156250 +v -0.125001 1.875000 -0.156250 +v -0.125001 2.625000 -0.093750 +v -0.125001 1.875000 -0.093750 +v -0.187501 2.562500 -0.156250 +v -0.187501 1.937500 -0.156250 +v -0.187501 2.562500 -0.093750 +v -0.187501 1.937500 -0.093750 +v -0.125001 2.562500 -0.156250 +v -0.125001 1.937500 -0.156250 +v -0.125001 2.562500 -0.093750 +v -0.125001 1.937500 -0.093750 +v -0.125000 2.375000 -0.562500 +v -0.000000 2.375000 -0.562500 +v -0.125000 2.286612 -0.525888 +v -0.000000 2.286612 -0.525888 +v -0.125000 2.250000 -0.437500 +v -0.000000 2.250000 -0.437500 +v -0.125000 2.286612 -0.349112 +v -0.000000 2.286612 -0.349112 +v -0.125000 2.375000 -0.312500 +v -0.000000 2.375000 -0.312500 +v -0.125000 2.463388 -0.349112 +v -0.000000 2.463388 -0.349112 +v -0.125000 2.500000 -0.437500 +v -0.000000 2.500000 -0.437500 +v -0.125000 2.463388 -0.525888 +v -0.000000 2.463388 -0.525888 +vt 0.723684 0.907407 +vt 0.750000 0.870370 +vt 0.750000 0.907407 +vt 0.750000 0.722222 +vt 0.723684 0.685185 +vt 0.750000 0.685185 +vt 0.802632 0.870370 +vt 0.828947 0.722222 +vt 0.828947 0.870370 +vt 0.776316 0.722222 +vt 0.776316 0.870370 +vt 0.723684 0.870370 +vt 0.802632 0.722222 +vt 0.875000 0.574074 +vt 0.861842 0.601852 +vt 0.861842 0.574074 +vt 0.875000 0.601852 +vt 0.901316 0.620370 +vt 0.875000 0.620370 +vt 0.901316 0.601852 +vt 0.914474 0.574074 +vt 0.914474 0.601852 +vt 0.901316 0.574074 +vt 0.940789 0.574074 +vt 0.940789 0.601852 +vt 0.703947 0.703704 +vt 0.710526 0.814815 +vt 0.703947 0.814815 +vt 0.710526 0.685185 +vt 0.710526 0.703704 +vt 0.703947 0.833333 +vt 0.723684 0.805556 +vt 0.717105 0.712963 +vt 0.723684 0.712963 +vt 0.717105 0.685185 +vt 0.723684 0.694444 +vt 0.717105 0.694444 +vt 0.723684 0.833333 +vt 0.717105 0.824074 +vt 0.723684 0.824074 +vt 0.697368 0.824074 +vt 0.710526 0.833333 +vt 0.717105 0.833333 +vt 0.717105 0.805556 +vt 0.697368 0.712963 +vt 0.703947 0.685185 +vt 0.697368 0.694444 +vt 0.697368 0.685185 +vt 0.703947 0.703704 +vt 0.710526 0.814815 +vt 0.703947 0.814815 +vt 0.710526 0.685185 +vt 0.710526 0.703704 +vt 0.703947 0.833333 +vt 0.723684 0.805556 +vt 0.717105 0.712963 +vt 0.723684 0.712963 +vt 0.717105 0.685185 +vt 0.723684 0.694444 +vt 0.717105 0.694444 +vt 0.723684 0.833333 +vt 0.717105 0.824074 +vt 0.723684 0.824074 +vt 0.697368 0.824074 +vt 0.710526 0.833333 +vt 0.717105 0.833333 +vt 0.717105 0.805556 +vt 0.697368 0.712963 +vt 0.703947 0.685185 +vt 0.697368 0.694444 +vt 0.697368 0.685185 +vt 0.723684 0.629566 +vt 0.710572 0.611111 +vt 0.723684 0.592656 +vt 0.706641 0.624161 +vt 0.697369 0.629566 +vt 0.688096 0.624161 +vt 0.723684 0.722222 +vt 0.723684 0.685185 +vt 0.697368 0.833333 +vt 0.697368 0.805556 +vt 0.723684 0.685185 +vt 0.697368 0.833333 +vt 0.697368 0.805556 +vt 0.732956 0.598061 +vt 0.736797 0.611111 +vt 0.732957 0.624161 +vt 0.714412 0.624161 +vt 0.714412 0.598061 +vt 0.684256 0.611111 +vt 0.688096 0.598061 +vt 0.697369 0.592656 +vt 0.706641 0.598061 +vt 0.710481 0.611111 +vt 0.763158 0.574074 +vt 0.776316 0.592593 +vt 0.763158 0.592593 +vt 0.776316 0.574074 +vt 0.789474 0.592593 +vt 0.684211 0.574074 +vt 0.697368 0.592593 +vt 0.684211 0.592593 +vt 0.697368 0.574074 +vt 0.710526 0.592593 +vt 0.710526 0.574074 +vt 0.723684 0.592593 +vt 0.723684 0.574074 +vt 0.736842 0.592593 +vt 0.736842 0.574074 +vt 0.750000 0.592593 +vt 0.750000 0.574074 +vt 0.789474 0.574074 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +s off +f 322/597/63 323/598/63 321/599/63 +f 325/600/64 327/601/64 326/602/64 +f 322/603/65 328/604/65 324/605/65 +f 323/598/66 326/606/66 321/607/66 +f 324/608/67 325/600/67 323/598/67 +f 321/607/68 327/609/68 322/603/68 +f 330/610/63 331/611/63 329/612/63 +f 332/613/67 333/614/67 331/615/67 +f 334/616/64 335/617/64 333/618/64 +f 336/619/65 332/613/65 330/610/65 +f 333/618/66 329/620/66 331/621/66 +f 338/622/65 339/623/65 337/624/65 +f 338/622/64 344/625/64 340/626/64 +f 339/623/63 341/627/63 337/624/63 +f 345/628/66 348/629/66 346/630/66 +f 352/631/63 346/632/63 348/633/63 +f 349/634/64 347/635/64 345/636/64 +f 341/627/68 345/637/68 337/624/68 +f 343/638/67 347/635/67 351/639/67 +f 340/626/67 347/640/67 339/623/67 +f 344/625/67 348/633/67 340/626/67 +f 337/624/68 346/641/68 338/622/68 +f 342/642/68 346/643/68 350/644/68 +f 354/645/66 355/646/66 353/647/66 +f 354/645/64 360/648/64 356/649/64 +f 355/646/63 357/650/63 353/647/63 +f 361/651/65 364/652/65 362/653/65 +f 368/654/63 362/655/63 364/656/63 +f 365/657/64 363/658/64 361/659/64 +f 357/650/67 361/660/67 353/647/67 +f 359/661/68 363/658/68 367/662/68 +f 356/649/68 363/663/68 355/646/68 +f 360/648/68 364/656/68 356/649/68 +f 353/647/67 362/664/67 354/645/67 +f 358/665/67 362/666/67 366/667/67 +f 382/668/65 378/669/65 374/670/65 +f 379/671/66 381/672/66 383/673/66 +f 322/597/63 324/608/63 323/598/63 +f 325/600/64 328/674/64 327/601/64 +f 322/603/65 327/609/65 328/604/65 +f 323/598/66 325/600/66 326/606/66 +f 324/608/67 328/674/67 325/600/67 +f 321/607/68 326/606/68 327/609/68 +f 330/610/63 332/613/63 331/611/63 +f 332/613/67 334/616/67 333/614/67 +f 334/616/64 336/619/64 335/617/64 +f 336/619/65 334/616/65 332/613/65 +f 333/618/66 335/617/66 329/620/66 +f 338/622/65 340/626/65 339/623/65 +f 338/622/64 342/642/64 344/625/64 +f 339/623/63 343/638/63 341/627/63 +f 345/628/66 347/640/66 348/629/66 +f 352/631/63 350/675/63 346/632/63 +f 349/634/64 351/639/64 347/635/64 +f 341/627/68 349/676/68 345/637/68 +f 343/638/67 339/623/67 347/635/67 +f 340/626/67 348/629/67 347/640/67 +f 344/625/67 352/631/67 348/633/67 +f 337/624/68 345/677/68 346/641/68 +f 342/642/68 338/622/68 346/643/68 +f 354/645/66 356/649/66 355/646/66 +f 354/645/64 358/665/64 360/648/64 +f 355/646/63 359/661/63 357/650/63 +f 361/651/65 363/663/65 364/652/65 +f 368/654/63 366/678/63 362/655/63 +f 365/657/64 367/662/64 363/658/64 +f 357/650/67 365/679/67 361/660/67 +f 359/661/68 355/646/68 363/658/68 +f 356/649/68 364/652/68 363/663/68 +f 360/648/68 368/654/68 364/656/68 +f 353/647/67 361/680/67 362/664/67 +f 358/665/67 354/645/67 362/666/67 +f 374/670/65 372/681/65 370/682/65 +f 370/682/65 384/683/65 382/668/65 +f 382/668/65 380/684/65 378/669/65 +f 378/669/65 376/685/65 374/670/65 +f 374/670/65 370/682/65 382/668/65 +f 383/673/66 369/686/66 371/687/66 +f 371/687/66 373/688/66 383/673/66 +f 373/688/66 375/689/66 383/673/66 +f 375/689/66 377/690/66 383/673/66 +f 377/690/66 379/671/66 383/673/66 +s 1 +f 370/691/67 371/692/69 369/693/67 +f 372/694/69 373/695/64 371/692/69 +f 374/696/64 375/697/70 373/698/64 +f 376/699/70 377/700/68 375/697/70 +f 378/701/68 379/702/71 377/700/68 +f 380/703/71 381/704/63 379/702/71 +f 382/705/63 383/706/72 381/704/63 +f 384/707/72 369/693/67 383/706/72 +f 370/691/67 372/694/69 371/692/69 +f 372/694/69 374/708/64 373/695/64 +f 374/696/64 376/699/70 375/697/70 +f 376/699/70 378/701/68 377/700/68 +f 378/701/68 380/703/71 379/702/71 +f 380/703/71 382/705/63 381/704/63 +f 382/705/63 384/707/72 383/706/72 +f 384/707/72 370/691/67 369/693/67 +o Head1 +v 0.125000 2.750000 -0.000000 +v -0.125000 2.750000 0.000000 +v 0.125000 2.750000 0.250000 +v -0.125000 2.750000 0.250000 +v 0.125000 1.750000 0.250000 +v 0.125000 1.750000 -0.000000 +v -0.125000 1.750000 0.000000 +v -0.125000 1.750000 0.250000 +v 0.062500 2.500000 0.250000 +v -0.062500 2.500000 0.250000 +v 0.062500 2.500000 0.437500 +v -0.062500 2.500000 0.437500 +v 0.062500 2.250000 0.437500 +v -0.062500 2.250000 0.437500 +v 0.062500 2.250000 0.250000 +v -0.062500 2.250000 0.250000 +v -0.250000 2.625000 0.093750 +v -0.250000 1.875000 0.093750 +v -0.250000 2.625000 0.156250 +v -0.250000 1.875000 0.156250 +v -0.125000 2.625000 0.093750 +v -0.125000 1.875000 0.093750 +v -0.125000 2.625000 0.156250 +v -0.125000 1.875000 0.156250 +v -0.187500 2.562500 0.093750 +v -0.187500 1.937500 0.093750 +v -0.187500 2.562500 0.156250 +v -0.187500 1.937500 0.156250 +v -0.125000 2.562500 0.093750 +v -0.125000 1.937500 0.093750 +v -0.125000 2.562500 0.156250 +v -0.125000 1.937500 0.156250 +v 0.250001 2.625000 0.156250 +v 0.250001 1.875000 0.156250 +v 0.250001 2.625000 0.093750 +v 0.250001 1.875000 0.093750 +v 0.125001 2.625000 0.156250 +v 0.125001 1.875000 0.156250 +v 0.125001 2.625000 0.093750 +v 0.125001 1.875000 0.093750 +v 0.187501 2.562500 0.156250 +v 0.187501 1.937500 0.156250 +v 0.187501 2.562500 0.093750 +v 0.187501 1.937500 0.093750 +v 0.125001 2.562500 0.156250 +v 0.125001 1.937500 0.156250 +v 0.125001 2.562500 0.093750 +v 0.125001 1.937500 0.093750 +v 0.125000 2.375000 0.562500 +v 0.000000 2.375000 0.562500 +v 0.125000 2.286612 0.525888 +v 0.000000 2.286612 0.525888 +v 0.125000 2.250000 0.437500 +v 0.000000 2.250000 0.437500 +v 0.125000 2.286612 0.349112 +v 0.000000 2.286612 0.349112 +v 0.125000 2.375000 0.312500 +v 0.000000 2.375000 0.312500 +v 0.125000 2.463388 0.349112 +v 0.000000 2.463388 0.349112 +v 0.125000 2.500000 0.437500 +v 0.000000 2.500000 0.437500 +v 0.125000 2.463388 0.525888 +v 0.000000 2.463388 0.525888 +vt 0.750000 0.907407 +vt 0.723684 0.870370 +vt 0.750000 0.870370 +vt 0.750000 0.685185 +vt 0.723684 0.722222 +vt 0.723684 0.685185 +vt 0.802632 0.870370 +vt 0.828947 0.722222 +vt 0.828947 0.870370 +vt 0.776316 0.722222 +vt 0.776316 0.870370 +vt 0.750000 0.722222 +vt 0.802632 0.722222 +vt 0.875000 0.574074 +vt 0.861842 0.601852 +vt 0.861842 0.574074 +vt 0.875000 0.601852 +vt 0.901316 0.620370 +vt 0.875000 0.620370 +vt 0.901316 0.601852 +vt 0.914474 0.574074 +vt 0.914474 0.601852 +vt 0.901316 0.574074 +vt 0.940789 0.574074 +vt 0.940789 0.601852 +vt 0.703947 0.703704 +vt 0.710526 0.814815 +vt 0.703947 0.814815 +vt 0.710526 0.685185 +vt 0.710526 0.703704 +vt 0.703947 0.833333 +vt 0.723684 0.805556 +vt 0.717105 0.712963 +vt 0.723684 0.712963 +vt 0.717105 0.694444 +vt 0.723684 0.685185 +vt 0.723684 0.694444 +vt 0.723684 0.833333 +vt 0.717105 0.824074 +vt 0.723684 0.824074 +vt 0.697368 0.824074 +vt 0.710526 0.833333 +vt 0.717105 0.833333 +vt 0.717105 0.805556 +vt 0.697368 0.712963 +vt 0.703947 0.685185 +vt 0.697368 0.694444 +vt 0.697368 0.685185 +vt 0.703947 0.703704 +vt 0.710526 0.814815 +vt 0.703947 0.814815 +vt 0.710526 0.685185 +vt 0.710526 0.703704 +vt 0.710526 0.833333 +vt 0.703947 0.833333 +vt 0.723684 0.805556 +vt 0.717105 0.712963 +vt 0.723684 0.712963 +vt 0.717105 0.685185 +vt 0.723684 0.694444 +vt 0.717105 0.694444 +vt 0.723684 0.833333 +vt 0.717105 0.824074 +vt 0.723684 0.824074 +vt 0.697368 0.824074 +vt 0.717105 0.833333 +vt 0.717105 0.805556 +vt 0.697368 0.712963 +vt 0.703947 0.685185 +vt 0.697368 0.694444 +vt 0.697368 0.685185 +vt 0.723684 0.629566 +vt 0.710572 0.611111 +vt 0.723684 0.592656 +vt 0.706641 0.624161 +vt 0.697369 0.629566 +vt 0.688096 0.624161 +vt 0.723684 0.907407 +vt 0.717105 0.685185 +vt 0.697368 0.833333 +vt 0.697368 0.805556 +vt 0.723684 0.685185 +vt 0.697368 0.833333 +vt 0.697368 0.805556 +vt 0.732956 0.598061 +vt 0.736797 0.611111 +vt 0.732957 0.624161 +vt 0.714412 0.624161 +vt 0.714412 0.598061 +vt 0.684256 0.611111 +vt 0.688096 0.598061 +vt 0.697369 0.592656 +vt 0.706641 0.598061 +vt 0.710481 0.611111 +vt 0.763158 0.574074 +vt 0.776316 0.592593 +vt 0.763158 0.592593 +vt 0.776316 0.574074 +vt 0.789474 0.592593 +vt 0.684211 0.574074 +vt 0.697368 0.592593 +vt 0.684211 0.592593 +vt 0.697368 0.574074 +vt 0.710526 0.592593 +vt 0.710526 0.574074 +vt 0.723684 0.592593 +vt 0.723684 0.574074 +vt 0.736842 0.592593 +vt 0.736842 0.574074 +vt 0.750000 0.592593 +vt 0.750000 0.574074 +vt 0.789474 0.574074 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -0.0000 0.0000 -1.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.7071 0.7071 +s off +f 385/709/73 388/710/73 387/711/73 +f 390/712/74 392/713/74 391/714/74 +f 386/715/75 392/716/75 388/717/75 +f 387/711/76 390/718/76 385/719/76 +f 388/710/77 389/720/77 387/711/77 +f 385/719/78 391/721/78 386/715/78 +f 394/722/73 395/723/73 393/724/73 +f 396/725/77 397/726/77 395/727/77 +f 398/728/74 399/729/74 397/730/74 +f 400/731/75 396/725/75 394/722/75 +f 397/730/76 393/732/76 395/733/76 +f 402/734/75 403/735/75 401/736/75 +f 402/734/74 408/737/74 404/738/74 +f 403/735/73 405/739/73 401/736/73 +f 409/740/76 412/741/76 410/742/76 +f 412/743/73 414/744/73 410/745/73 +f 413/746/74 411/747/74 409/748/74 +f 405/739/78 409/749/78 401/736/78 +f 407/750/77 411/747/77 415/751/77 +f 404/738/77 411/752/77 403/735/77 +f 408/737/77 412/743/77 404/738/77 +f 401/736/78 410/753/78 402/734/78 +f 406/754/78 410/755/78 414/756/78 +f 418/757/76 419/758/76 417/759/76 +f 418/757/74 424/760/74 420/761/74 +f 417/759/73 423/762/73 421/763/73 +f 425/764/75 428/765/75 426/766/75 +f 432/767/73 426/768/73 428/769/73 +f 429/770/74 427/771/74 425/772/74 +f 421/763/77 425/773/77 417/759/77 +f 423/762/78 427/771/78 431/774/78 +f 420/761/78 427/775/78 419/758/78 +f 424/760/78 428/769/78 420/761/78 +f 417/759/77 426/776/77 418/757/77 +f 422/777/77 426/778/77 430/779/77 +f 446/780/75 442/781/75 438/782/75 +f 443/783/76 445/784/76 447/785/76 +f 385/709/73 386/786/73 388/710/73 +f 390/712/74 389/720/74 392/713/74 +f 386/715/75 391/721/75 392/716/75 +f 387/711/76 389/720/76 390/718/76 +f 388/710/77 392/713/77 389/720/77 +f 385/719/78 390/718/78 391/721/78 +f 394/722/73 396/725/73 395/723/73 +f 396/725/77 398/728/77 397/726/77 +f 398/728/74 400/731/74 399/729/74 +f 400/731/75 398/728/75 396/725/75 +f 397/730/76 399/729/76 393/732/76 +f 402/734/75 404/738/75 403/735/75 +f 402/734/74 406/754/74 408/737/74 +f 403/735/73 407/750/73 405/739/73 +f 409/740/76 411/752/76 412/741/76 +f 412/743/73 416/787/73 414/744/73 +f 413/746/74 415/751/74 411/747/74 +f 405/739/78 413/788/78 409/749/78 +f 407/750/77 403/735/77 411/747/77 +f 404/738/77 412/741/77 411/752/77 +f 408/737/77 416/787/77 412/743/77 +f 401/736/78 409/789/78 410/753/78 +f 406/754/78 402/734/78 410/755/78 +f 418/757/76 420/761/76 419/758/76 +f 418/757/74 422/777/74 424/760/74 +f 417/759/73 419/758/73 423/762/73 +f 425/764/75 427/775/75 428/765/75 +f 432/767/73 430/790/73 426/768/73 +f 429/770/74 431/774/74 427/771/74 +f 421/763/77 429/791/77 425/773/77 +f 423/762/78 419/758/78 427/771/78 +f 420/761/78 428/765/78 427/775/78 +f 424/760/78 432/767/78 428/769/78 +f 417/759/77 425/792/77 426/776/77 +f 422/777/77 418/757/77 426/778/77 +f 438/782/75 436/793/75 434/794/75 +f 434/794/75 448/795/75 446/780/75 +f 446/780/75 444/796/75 442/781/75 +f 442/781/75 440/797/75 438/782/75 +f 438/782/75 434/794/75 446/780/75 +f 447/785/76 433/798/76 435/799/76 +f 435/799/76 437/800/76 447/785/76 +f 437/800/76 439/801/76 447/785/76 +f 439/801/76 441/802/76 447/785/76 +f 441/802/76 443/783/76 447/785/76 +s 1 +f 434/803/77 435/804/79 433/805/77 +f 436/806/79 437/807/74 435/804/79 +f 438/808/74 439/809/80 437/810/74 +f 440/811/80 441/812/78 439/809/80 +f 442/813/78 443/814/81 441/812/78 +f 444/815/81 445/816/73 443/814/81 +f 446/817/73 447/818/82 445/816/73 +f 448/819/82 433/805/77 447/818/82 +f 434/803/77 436/806/79 435/804/79 +f 436/806/79 438/820/74 437/807/74 +f 438/808/74 440/811/80 439/809/80 +f 440/811/80 442/813/78 441/812/78 +f 442/813/78 444/815/81 443/814/81 +f 444/815/81 446/817/73 445/816/73 +f 446/817/73 448/819/82 447/818/82 +f 448/819/82 434/803/77 433/805/77 +o Spike2 +v -0.062500 2.875000 -0.062500 +v 0.062500 2.875000 -0.062500 +v -0.062500 2.875000 -0.187500 +v 0.062500 2.875000 -0.187500 +v -0.062500 1.625000 -0.187500 +v -0.062500 1.625000 -0.062500 +v 0.062500 1.625000 -0.062500 +v 0.062500 1.625000 -0.187500 +v 0.000000 1.375000 -0.125000 +vt 0.828947 0.888889 +vt 0.842105 0.870370 +vt 0.842105 0.888889 +vt 0.868421 0.870370 +vt 0.881579 0.685185 +vt 0.881579 0.870370 +vt 0.855263 0.685185 +vt 0.855263 0.870370 +vt 0.828947 0.870370 +vt 0.842105 0.685185 +vt 0.868421 0.685185 +vt 0.848684 0.648148 +vt 0.828947 0.685185 +vt 0.835526 0.648148 +vt 0.875000 0.648148 +vt 0.861842 0.648148 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.9701 -0.2425 0.0000 +vn 0.0000 -0.2425 -0.9701 +vn 0.9701 -0.2425 0.0000 +vn 0.0000 -0.2425 0.9701 +s off +f 450/821/83 451/822/83 449/823/83 +f 450/824/84 456/825/84 452/826/84 +f 451/822/85 454/827/85 449/828/85 +f 452/829/86 453/830/86 451/822/86 +f 449/828/87 455/831/87 450/824/87 +f 454/827/88 453/830/88 457/832/88 +f 453/830/89 456/833/89 457/834/89 +f 456/825/90 455/831/90 457/835/90 +f 455/831/91 454/827/91 457/836/91 +f 450/821/83 452/829/83 451/822/83 +f 450/824/84 455/831/84 456/825/84 +f 451/822/85 453/830/85 454/827/85 +f 452/829/86 456/833/86 453/830/86 +f 449/828/87 454/827/87 455/831/87 +o Spike1 +v 0.062500 2.875000 0.062500 +v -0.062500 2.875000 0.062500 +v 0.062500 2.875000 0.187500 +v -0.062500 2.875000 0.187500 +v 0.062500 1.625000 0.187500 +v 0.062500 1.625000 0.062500 +v -0.062500 1.625000 0.062500 +v -0.062500 1.625000 0.187500 +v 0.000000 1.375000 0.125000 +vt 0.842105 0.888889 +vt 0.828947 0.870370 +vt 0.842105 0.870370 +vt 0.868421 0.870370 +vt 0.881579 0.685185 +vt 0.881579 0.870370 +vt 0.855263 0.685185 +vt 0.855263 0.870370 +vt 0.842105 0.685185 +vt 0.868421 0.685185 +vt 0.848684 0.648148 +vt 0.828947 0.685185 +vt 0.835526 0.648148 +vt 0.875000 0.648148 +vt 0.861842 0.648148 +vt 0.828947 0.888889 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 -0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.9701 -0.2425 0.0000 +vn 0.0000 -0.2425 0.9701 +vn -0.9701 -0.2425 0.0000 +vn 0.0000 -0.2425 -0.9701 +s off +f 458/837/92 461/838/92 460/839/92 +f 459/840/93 465/841/93 461/842/93 +f 460/839/94 463/843/94 458/844/94 +f 461/838/95 462/845/95 460/839/95 +f 458/844/96 464/846/96 459/840/96 +f 463/843/97 462/845/97 466/847/97 +f 462/845/98 465/848/98 466/849/98 +f 465/841/99 464/846/99 466/850/99 +f 464/846/100 463/843/100 466/851/100 +f 458/837/92 459/852/92 461/838/92 +f 459/840/93 464/846/93 465/841/93 +f 460/839/94 462/845/94 463/843/94 +f 461/838/95 465/848/95 462/845/95 +f 458/844/96 463/843/96 464/846/96 +o Frame +v 1.250000 2.750000 -1.250000 +v 1.250000 3.000000 -1.250000 +v 1.250000 2.750000 -1.500000 +v 1.250000 3.000000 -1.500000 +v 1.500000 2.750000 -1.250000 +v 1.500000 3.000000 -1.250000 +v 1.500000 2.750000 -1.500000 +v 1.500000 3.000000 -1.500000 +v -1.500000 2.750000 -1.250000 +v -1.500000 3.000000 -1.250000 +v -1.500000 2.750000 -1.500000 +v -1.500000 3.000000 -1.500000 +v -1.250000 2.750000 -1.250000 +v -1.250000 3.000000 -1.250000 +v -1.250000 2.750000 -1.500000 +v -1.250000 3.000000 -1.500000 +v 1.250000 2.750000 1.500000 +v 1.250000 3.000000 1.500000 +v 1.250000 2.750000 1.250000 +v 1.250000 3.000000 1.250000 +v 1.500000 2.750000 1.500000 +v 1.500000 3.000000 1.500000 +v 1.500000 2.750000 1.250000 +v 1.500000 3.000000 1.250000 +v -1.500000 2.750000 1.500000 +v -1.500000 3.000000 1.500000 +v -1.500000 2.750000 1.250000 +v -1.500000 3.000000 1.250000 +v -1.250000 2.750000 1.500000 +v -1.250000 3.000000 1.500000 +v -1.250000 2.750000 1.250000 +v -1.250000 3.000000 1.250000 +v 1.500000 3.000000 -1.250000 +v 1.500000 3.000000 1.250000 +v 1.500000 2.875000 1.250000 +v 1.500000 2.875000 -1.250000 +v 1.375000 3.000000 -1.250000 +v 1.375000 3.000000 1.250000 +v 1.375000 2.875000 1.250000 +v 1.375000 2.875000 -1.250000 +v -1.375000 3.000000 -1.250000 +v -1.375000 3.000000 1.250000 +v -1.375000 2.875000 1.250000 +v -1.375000 2.875000 -1.250000 +v -1.500000 3.000000 -1.250000 +v -1.500000 3.000000 1.250000 +v -1.500000 2.875000 1.250000 +v -1.500000 2.875000 -1.250000 +v -1.250000 3.000000 -1.500000 +v 1.250000 3.000000 -1.500000 +v 1.250000 2.875000 -1.500000 +v -1.250000 2.875000 -1.500000 +v -1.250000 3.000000 -1.375000 +v 1.250000 3.000000 -1.375000 +v 1.250000 2.875000 -1.375000 +v -1.250000 2.875000 -1.375000 +v -1.250000 3.000000 1.375000 +v 1.250000 3.000000 1.375000 +v 1.250000 2.875000 1.375000 +v -1.250000 2.875000 1.375000 +v -1.250000 3.000000 1.500000 +v 1.250000 3.000000 1.500000 +v 1.250000 2.875000 1.500000 +v -1.250000 2.875000 1.500000 +v -1.375000 2.750000 -1.500000 +v -1.375000 0.250000 -1.500000 +v -1.500000 0.250000 -1.500000 +v -1.500000 2.750000 -1.500000 +v -1.375000 2.750000 -1.375000 +v -1.375000 0.250000 -1.375000 +v -1.500000 0.250000 -1.375000 +v -1.500000 2.750000 -1.375000 +v -1.375000 2.750000 1.375000 +v -1.375000 0.250000 1.375000 +v -1.500000 0.250000 1.375000 +v -1.500000 2.750000 1.375000 +v -1.375000 2.750000 1.500000 +v -1.375000 0.250000 1.500000 +v -1.500000 0.250000 1.500000 +v -1.500000 2.750000 1.500000 +v 1.500000 2.750000 -1.500000 +v 1.500000 0.250000 -1.500000 +v 1.375000 0.250000 -1.500000 +v 1.375000 2.750000 -1.500000 +v 1.500000 2.750000 -1.375000 +v 1.500000 0.250000 -1.375000 +v 1.375000 0.250000 -1.375000 +v 1.375000 2.750000 -1.375000 +v 1.500000 2.750000 1.375000 +v 1.500000 0.250000 1.375000 +v 1.375000 0.250000 1.375000 +v 1.375000 2.750000 1.375000 +v 1.500000 2.750000 1.500000 +v 1.500000 0.250000 1.500000 +v 1.375000 0.250000 1.500000 +v 1.375000 2.750000 1.500000 +vt 0.421053 0.962963 +vt 0.394737 0.925926 +vt 0.421053 0.925926 +vt 0.394737 0.962963 +vt 0.368421 0.925926 +vt 0.368421 0.962963 +vt 0.342105 0.925926 +vt 0.447368 0.962963 +vt 0.447368 0.925926 +vt 0.342105 0.888889 +vt 0.368421 0.888889 +vt 0.368421 1.000000 +vt 0.342105 0.962963 +vt 0.421053 0.962963 +vt 0.394737 0.925926 +vt 0.421053 0.925926 +vt 0.394737 0.962963 +vt 0.368421 0.925926 +vt 0.368421 0.962963 +vt 0.342105 0.925926 +vt 0.447368 0.962963 +vt 0.447368 0.925926 +vt 0.342105 0.888889 +vt 0.368421 0.888889 +vt 0.368421 1.000000 +vt 0.342105 0.962963 +vt 0.421053 0.962963 +vt 0.394737 0.925926 +vt 0.421053 0.925926 +vt 0.394737 0.962963 +vt 0.368421 0.925926 +vt 0.368421 0.962963 +vt 0.342105 0.925926 +vt 0.447368 0.962963 +vt 0.447368 0.925926 +vt 0.342105 0.888889 +vt 0.368421 0.888889 +vt 0.368421 1.000000 +vt 0.342105 0.962963 +vt 0.421053 0.962963 +vt 0.394737 0.925926 +vt 0.421053 0.925926 +vt 0.394737 0.962963 +vt 0.368421 0.925926 +vt 0.368421 0.962963 +vt 0.342105 0.925926 +vt 0.447368 0.962963 +vt 0.447368 0.925926 +vt 0.342105 0.888889 +vt 0.368421 0.888889 +vt 0.368421 1.000000 +vt 0.342105 0.962963 +vt 0.473684 0.833333 +vt 0.210526 0.851852 +vt 0.210526 0.833333 +vt 0.473684 0.814815 +vt 0.473684 0.851852 +vt 0.210526 0.870370 +vt 0.473684 0.888889 +vt 0.473684 0.870370 +vt 0.210526 0.888889 +vt 0.473684 0.870370 +vt 0.473684 0.888889 +vt 0.473684 0.814815 +vt 0.210526 0.833333 +vt 0.210526 0.814815 +vt 0.210526 0.870370 +vt 0.473684 0.851852 +vt 0.210526 0.851852 +vt 0.473684 0.833333 +vt 0.210526 0.851852 +vt 0.210526 0.833333 +vt 0.473684 0.814815 +vt 0.473684 0.851852 +vt 0.210526 0.870370 +vt 0.473684 0.888889 +vt 0.473684 0.870370 +vt 0.210526 0.888889 +vt 0.473684 0.870370 +vt 0.473684 0.888889 +vt 0.473684 0.814815 +vt 0.210526 0.833333 +vt 0.210526 0.814815 +vt 0.210526 0.870370 +vt 0.473684 0.851852 +vt 0.210526 0.851852 +vt 0.210526 0.851852 +vt 0.473684 0.833333 +vt 0.473684 0.851852 +vt 0.210526 0.870370 +vt 0.210526 0.833333 +vt 0.473684 0.814815 +vt 0.473684 0.888889 +vt 0.210526 0.888889 +vt 0.210526 0.833333 +vt 0.473684 0.814815 +vt 0.473684 0.833333 +vt 0.210526 0.851852 +vt 0.210526 0.888889 +vt 0.473684 0.870370 +vt 0.473684 0.888889 +vt 0.210526 0.870370 +vt 0.210526 0.870370 +vt 0.473684 0.851852 +vt 0.473684 0.870370 +vt 0.210526 0.888889 +vt 0.210526 0.851852 +vt 0.473684 0.833333 +vt 0.210526 0.814815 +vt 0.210526 0.833333 +vt 0.210526 0.888889 +vt 0.473684 0.870370 +vt 0.473684 0.888889 +vt 0.473684 0.814815 +vt 0.210526 0.833333 +vt 0.210526 0.814815 +vt 0.210526 0.870370 +vt 0.473684 0.851852 +vt 0.210526 0.851852 +vt 0.342105 1.000000 +vt 0.342105 1.000000 +vt 0.342105 1.000000 +vt 0.342105 1.000000 +vt 0.210526 0.814815 +vt 0.210526 0.888889 +vt 0.473684 0.833333 +vt 0.210526 0.814815 +vt 0.210526 0.888889 +vt 0.473684 0.833333 +vt 0.473684 0.870370 +vt 0.210526 0.814815 +vt 0.210526 0.814815 +vt 0.473684 0.851852 +vt 0.473684 0.888889 +vt 0.473684 0.814815 +vt 0.473684 0.833333 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 468/853/101 469/854/101 467/855/101 +f 470/856/102 473/857/102 469/854/102 +f 474/858/103 471/859/103 473/857/103 +f 472/860/104 467/855/104 471/861/104 +f 473/857/105 467/862/105 469/863/105 +f 470/864/106 472/865/106 474/858/106 +f 476/866/101 477/867/101 475/868/101 +f 478/869/102 481/870/102 477/867/102 +f 482/871/103 479/872/103 481/870/103 +f 480/873/104 475/868/104 479/874/104 +f 481/870/105 475/875/105 477/876/105 +f 478/877/106 480/878/106 482/871/106 +f 484/879/101 485/880/101 483/881/101 +f 486/882/102 489/883/102 485/880/102 +f 490/884/103 487/885/103 489/883/103 +f 488/886/104 483/881/104 487/887/104 +f 489/883/105 483/888/105 485/889/105 +f 486/890/106 488/891/106 490/884/106 +f 492/892/101 493/893/101 491/894/101 +f 494/895/102 497/896/102 493/893/102 +f 498/897/103 495/898/103 497/896/103 +f 496/899/104 491/894/104 495/900/104 +f 497/896/105 491/901/105 493/902/105 +f 494/903/106 496/904/106 498/897/106 +f 502/905/103 500/906/103 501/907/103 +f 501/907/105 506/908/105 502/905/105 +f 499/909/106 504/910/106 500/906/106 +f 506/911/101 504/910/101 503/912/101 +f 510/913/103 508/914/103 509/915/103 +f 509/916/105 514/917/105 510/918/105 +f 507/919/106 512/920/106 508/914/106 +f 514/917/101 512/920/101 511/921/101 +f 518/922/102 516/923/102 517/924/102 +f 517/924/105 522/925/105 518/922/105 +f 515/926/106 520/927/106 516/923/106 +f 522/928/104 520/927/104 519/929/104 +f 526/930/102 524/931/102 525/932/102 +f 525/933/105 530/934/105 526/935/105 +f 523/936/106 528/937/106 524/931/106 +f 530/934/104 528/937/104 527/938/104 +f 534/939/102 532/940/102 533/941/102 +f 533/941/101 538/942/101 534/939/101 +f 531/943/103 536/944/103 532/940/103 +f 538/942/104 536/945/104 535/946/104 +f 542/947/102 540/948/102 541/949/102 +f 541/949/101 546/950/101 542/947/101 +f 539/951/103 544/952/103 540/953/103 +f 546/950/104 544/952/104 543/954/104 +f 550/955/102 548/956/102 549/957/102 +f 549/957/101 554/958/101 550/955/101 +f 547/959/103 552/960/103 548/956/103 +f 554/961/104 552/960/104 551/962/104 +f 558/963/102 556/964/102 557/965/102 +f 557/966/101 562/967/101 558/968/101 +f 555/969/103 560/970/103 556/964/103 +f 562/967/104 560/970/104 559/971/104 +f 468/853/101 470/856/101 469/854/101 +f 470/856/102 474/858/102 473/857/102 +f 474/858/103 472/865/103 471/859/103 +f 472/860/104 468/853/104 467/855/104 +f 473/857/105 471/859/105 467/862/105 +f 470/864/106 468/972/106 472/865/106 +f 476/866/101 478/869/101 477/867/101 +f 478/869/102 482/871/102 481/870/102 +f 482/871/103 480/878/103 479/872/103 +f 480/873/104 476/866/104 475/868/104 +f 481/870/105 479/872/105 475/875/105 +f 478/877/106 476/973/106 480/878/106 +f 484/879/101 486/882/101 485/880/101 +f 486/882/102 490/884/102 489/883/102 +f 490/884/103 488/891/103 487/885/103 +f 488/886/104 484/879/104 483/881/104 +f 489/883/105 487/885/105 483/888/105 +f 486/890/106 484/974/106 488/891/106 +f 492/892/101 494/895/101 493/893/101 +f 494/895/102 498/897/102 497/896/102 +f 498/897/103 496/904/103 495/898/103 +f 496/899/104 492/892/104 491/894/104 +f 497/896/105 495/898/105 491/901/105 +f 494/903/106 492/975/106 496/904/106 +f 502/905/103 499/909/103 500/906/103 +f 501/907/105 505/976/105 506/908/105 +f 499/909/106 503/912/106 504/910/106 +f 506/911/101 505/977/101 504/910/101 +f 510/913/103 507/919/103 508/914/103 +f 509/916/105 513/978/105 514/917/105 +f 507/919/106 511/921/106 512/920/106 +f 514/917/101 513/978/101 512/920/101 +f 518/922/102 515/926/102 516/923/102 +f 517/924/105 521/979/105 522/925/105 +f 515/926/106 519/929/106 520/927/106 +f 522/928/104 521/980/104 520/927/104 +f 526/930/102 523/936/102 524/931/102 +f 525/933/105 529/981/105 530/934/105 +f 523/936/106 527/938/106 528/937/106 +f 530/934/104 529/981/104 528/937/104 +f 534/939/102 531/943/102 532/940/102 +f 533/941/101 537/982/101 538/942/101 +f 531/943/103 535/983/103 536/944/103 +f 538/942/104 537/982/104 536/945/104 +f 542/947/102 539/984/102 540/948/102 +f 541/949/101 545/985/101 546/950/101 +f 539/951/103 543/954/103 544/952/103 +f 546/950/104 545/985/104 544/952/104 +f 550/955/102 547/959/102 548/956/102 +f 549/957/101 553/986/101 554/958/101 +f 547/959/103 551/962/103 552/960/103 +f 554/961/104 553/987/104 552/960/104 +f 558/963/102 555/969/102 556/964/102 +f 557/966/101 561/988/101 562/967/101 +f 555/969/103 559/971/103 560/970/103 +f 562/967/104 561/988/104 560/970/104 +o Base +v 1.500000 0.125000 -1.250000 +v 1.500000 0.125000 1.250000 +v 1.500000 0.000000 1.250000 +v 1.500000 0.000000 -1.250000 +v 1.250000 0.000000 -1.250000 +v 1.250000 0.250000 -1.250000 +v 1.250000 0.000000 -1.500000 +v 1.250000 0.250000 -1.500000 +v 1.500000 0.000000 -1.250000 +v 1.500000 0.250000 -1.250000 +v 1.500000 0.000000 -1.500000 +v 1.500000 0.250000 -1.500000 +v -1.500000 0.000000 -1.250000 +v -1.500000 0.250000 -1.250000 +v -1.500000 0.000000 -1.500000 +v -1.500000 0.250000 -1.500000 +v -1.250000 0.000000 -1.250000 +v -1.250000 0.250000 -1.250000 +v -1.250000 0.000000 -1.500000 +v -1.250000 0.250000 -1.500000 +v 1.250000 0.000000 1.500000 +v 1.250000 0.250000 1.500000 +v 1.250000 0.000000 1.250000 +v 1.250000 0.250000 1.250000 +v 1.500000 0.000000 1.500000 +v 1.500000 0.250000 1.500000 +v 1.500000 0.000000 1.250000 +v 1.500000 0.250000 1.250000 +v -1.500000 0.000000 1.500000 +v -1.500000 0.250000 1.500000 +v -1.500000 0.000000 1.250000 +v -1.500000 0.250000 1.250000 +v -1.250000 0.000000 1.500000 +v -1.250000 0.250000 1.500000 +v -1.250000 0.000000 1.250000 +v -1.250000 0.250000 1.250000 +v 1.375000 0.125000 -1.250000 +v 1.375000 0.125000 1.250000 +v 1.375000 0.000000 1.250000 +v 1.375000 0.000000 -1.250000 +v -1.375000 0.125000 -1.250000 +v -1.375000 0.125000 1.250000 +v -1.375000 0.000000 1.250000 +v -1.375000 0.000000 -1.250000 +v -1.500000 0.125000 -1.250000 +v -1.500000 0.125000 1.250000 +v -1.500000 0.000000 1.250000 +v -1.500000 0.000000 -1.250000 +v -1.250000 0.125000 -1.500000 +v 1.250000 0.125000 -1.500000 +v 1.250000 0.000000 -1.500000 +v -1.250000 0.000000 -1.500000 +v -1.250000 0.125000 -1.375000 +v 1.250000 0.125000 -1.375000 +v 1.250000 0.000000 -1.375000 +v -1.250000 0.000000 -1.375000 +v -1.250000 0.125000 1.375000 +v 1.250000 0.125000 1.375000 +v 1.250000 0.000000 1.375000 +v -1.250000 0.000000 1.375000 +v -1.250000 0.125000 1.500000 +v 1.250000 0.125000 1.500000 +v 1.250000 0.000000 1.500000 +v -1.250000 0.000000 1.500000 +v 1.500000 0.687500 0.187500 +v 1.500000 0.312500 0.187500 +v 1.500000 0.687500 -0.187500 +v 1.500000 0.312500 -0.187500 +v 1.375000 0.625000 -0.125000 +v 1.375000 0.625000 0.125000 +v 1.375000 0.375000 0.125000 +v 1.375000 0.375000 -0.125000 +v 1.375000 0.687500 -0.187500 +v 1.375000 0.687500 0.187500 +v 1.375000 0.312500 0.187500 +v 1.375000 0.312500 -0.187500 +v 1.250000 0.625000 -0.125000 +v 1.250000 0.625000 0.125000 +v 1.250000 0.375000 0.125000 +v 1.250000 0.375000 -0.125000 +v 0.125000 0.125000 1.500000 +v 0.125000 0.125000 -1.500000 +v -0.125000 0.125000 1.500000 +v -0.125000 0.125000 -1.500000 +v -0.125000 0.250000 1.500000 +v 0.125000 0.250000 1.500000 +v 0.125000 0.250000 -1.500000 +v -0.125000 0.250000 -1.500000 +v -0.875000 0.125000 1.500000 +v -0.875000 0.125000 -1.500000 +v -1.125000 0.125000 1.500000 +v -1.125000 0.125000 -1.500000 +v -1.125000 0.250000 1.500000 +v -0.875000 0.250000 1.500000 +v -0.875000 0.250000 -1.500000 +v -1.125000 0.250000 -1.500000 +v 1.125000 0.125000 1.500000 +v 1.125000 0.125000 -1.500000 +v 0.875000 0.125000 1.500000 +v 0.875000 0.125000 -1.500000 +v 0.875000 0.250000 1.500000 +v 1.125000 0.250000 1.500000 +v 1.125000 0.250000 -1.500000 +v 0.875000 0.250000 -1.500000 +v -1.250000 0.250000 1.250000 +v 1.250000 0.250000 1.250000 +v -0.250000 0.250000 -1.250000 +v 1.250000 0.250000 -1.250000 +v -0.250000 0.750000 -1.250000 +v -1.250000 0.750000 1.250000 +v 1.250000 0.750000 1.250000 +v 1.250000 0.750000 -1.250000 +v -1.250000 0.250000 0.750000 +v 1.250000 0.250000 0.750000 +v -1.250000 0.750000 0.750000 +v 1.250000 0.750000 0.750000 +v -1.250000 0.250000 -1.250000 +v -1.250000 0.750000 -1.250000 +v -0.750000 0.250000 -1.250000 +v -0.750000 0.750000 -1.250000 +v -1.250000 0.750000 0.250000 +v -1.250000 0.250000 0.250000 +v -0.750000 0.750000 0.250000 +v -0.750000 0.250000 0.250000 +v 1.250000 0.250000 0.250000 +v -0.250000 0.250000 0.250000 +v 1.250000 0.750000 0.250000 +v -0.250000 0.750000 0.250000 +v -0.000000 1.250000 -1.375000 +v -0.526190 1.250000 -1.270334 +v -0.972272 1.250000 -0.972272 +v -1.270334 1.250000 -0.526190 +v -1.375000 1.250000 0.000000 +v -1.270334 1.250000 0.526190 +v -0.972272 1.250000 0.972272 +v -0.526190 1.250000 1.270334 +v -0.000000 1.250000 1.375000 +v 0.526189 1.250000 1.270334 +v 0.972271 1.250000 0.972272 +v 1.270334 1.250000 0.526190 +v 1.375000 1.250000 0.000000 +v 1.270334 1.250000 -0.526190 +v 0.972271 1.250000 -0.972272 +v 0.526189 1.250000 -1.270335 +v -0.000000 1.250000 -1.125000 +v -0.430519 1.250000 -1.039364 +v -0.795495 1.250000 -0.795495 +v -1.039365 1.250000 -0.430519 +v -1.125000 1.250000 0.000000 +v -1.039365 1.250000 0.430519 +v -0.795495 1.250000 0.795495 +v -0.430519 1.250000 1.039364 +v -0.000000 1.250000 1.125000 +v 0.430518 1.250000 1.039365 +v 0.795495 1.250000 0.795496 +v 1.039364 1.250000 0.430519 +v 1.125000 1.250000 0.000000 +v 1.039364 1.250000 -0.430519 +v 0.795495 1.250000 -0.795496 +v 0.430518 1.250000 -1.039365 +v -0.526190 1.000000 -1.270334 +v -0.000000 1.000000 -1.375000 +v -0.972272 1.000000 -0.972272 +v -1.270334 1.000000 -0.526190 +v -1.375000 1.000000 0.000000 +v -1.270334 1.000000 0.526190 +v -0.972272 1.000000 0.972272 +v -0.526190 1.000000 1.270334 +v -0.000000 1.000000 1.375000 +v 0.526189 1.000000 1.270334 +v 0.972271 1.000000 0.972272 +v 1.270334 1.000000 0.526190 +v 1.375000 1.000000 0.000000 +v 1.270334 1.000000 -0.526190 +v 0.972271 1.000000 -0.972272 +v 0.526189 1.000000 -1.270335 +v -0.430519 1.000000 -1.039364 +v -0.000000 1.000000 -1.125000 +v -0.795495 1.000000 -0.795495 +v -1.039365 1.000000 -0.430519 +v -1.125000 1.000000 0.000000 +v -1.039365 1.000000 0.430519 +v -0.795495 1.000000 0.795495 +v -0.430519 1.000000 1.039364 +v -0.000000 1.000000 1.125000 +v 0.430518 1.000000 1.039365 +v 0.795495 1.000000 0.795496 +v 1.039364 1.000000 0.430519 +v 1.125000 1.000000 0.000000 +v 1.039364 1.000000 -0.430519 +v 0.795495 1.000000 -0.795496 +v 0.430518 1.000000 -1.039365 +v -0.375000 1.000000 0.375000 +v 0.375000 1.000000 0.375000 +v -0.375000 1.000000 -0.375000 +v 0.375000 1.000000 -0.375000 +v -0.250000 0.875000 -0.250000 +v -0.250000 0.875000 0.250000 +v 0.250000 0.875000 0.250000 +v 0.250000 0.875000 -0.250000 +v 0.812500 0.750000 -0.812500 +v 1.187500 0.750000 -0.812500 +v 0.812500 0.750000 -1.187500 +v 1.187500 0.750000 -1.187500 +v 1.125000 1.062500 -1.125000 +v 0.875000 1.062500 -1.125000 +v 1.125000 1.062500 -0.875000 +v 0.875000 1.062500 -0.875000 +v 0.875000 1.062500 1.125000 +v 1.125000 1.062500 1.125000 +v 0.875000 1.062500 0.875000 +v 1.125000 1.062500 0.875000 +v 1.187500 0.750000 0.812500 +v 0.812500 0.750000 0.812500 +v 1.187500 0.750000 1.187500 +v 0.812500 0.750000 1.187500 +v -1.187500 0.750000 -0.812500 +v -0.812500 0.750000 -0.812500 +v -1.187500 0.750000 -1.187500 +v -0.812500 0.750000 -1.187500 +v -0.875000 1.062500 -1.125000 +v -1.125000 1.062500 -1.125000 +v -0.875000 1.062500 -0.875000 +v -1.125000 1.062500 -0.875000 +v -1.125000 1.062500 1.125000 +v -0.875000 1.062500 1.125000 +v -1.125000 1.062500 0.875000 +v -0.875000 1.062500 0.875000 +v -0.812500 0.750000 0.812500 +v -1.187500 0.750000 0.812500 +v -0.812500 0.750000 1.187500 +v -1.187500 0.750000 1.187500 +v -0.375000 0.875000 -0.375000 +v -0.375000 0.875000 0.375000 +v 0.375000 0.875000 0.375000 +v 0.375000 0.875000 -0.375000 +v -0.250000 0.750000 -0.250000 +v -0.250000 0.750000 0.250000 +v 0.250000 0.750000 0.250000 +v 0.250000 0.750000 -0.250000 +v -0.839690 0.812500 0.928078 +v 0.928077 0.812500 -0.839689 +v -0.928078 0.812500 0.839689 +v 0.839689 0.812500 -0.928078 +v -0.928078 0.937500 0.839689 +v -0.839690 0.937500 0.928078 +v 0.928077 0.937500 -0.839689 +v 0.839689 0.937500 -0.928078 +v 0.928077 0.812500 0.839689 +v -0.839690 0.812500 -0.928078 +v 0.839689 0.812500 0.928078 +v -0.928078 0.812500 -0.839689 +v 0.839689 0.937500 0.928078 +v 0.928077 0.937500 0.839689 +v -0.839690 0.937500 -0.928078 +v -0.928078 0.937500 -0.839689 +v 1.250000 0.437500 0.875000 +v 1.250000 0.562500 0.875000 +v -1.250000 0.500000 0.250000 +v 1.250000 0.500000 0.250000 +v -1.250000 0.323223 0.323223 +v 1.250000 0.323223 0.323223 +v -1.250000 0.250000 0.500000 +v 1.250000 0.250000 0.500000 +v -1.250000 0.323223 0.676777 +v 1.250000 0.323223 0.676777 +v -1.250000 0.500000 0.750000 +v 1.250000 0.500000 0.750000 +v -1.250000 0.676777 0.676777 +v 1.250000 0.676777 0.676777 +v -1.250000 0.750000 0.500000 +v 1.250000 0.750000 0.500000 +v -1.250000 0.676777 0.323223 +v 1.250000 0.676777 0.323223 +v 1.250000 0.562500 0.125000 +v 1.250000 0.437500 0.125000 +v 1.375000 0.437500 0.125000 +v 1.375000 0.562500 0.125000 +v 1.375000 0.437500 0.875000 +v 1.375000 0.562500 0.875000 +v -1.250001 0.437500 0.125000 +v -1.250001 0.562500 0.125000 +v -1.250001 0.562500 0.875000 +v -1.250001 0.437500 0.875000 +v -1.375001 0.437500 0.875000 +v -1.375001 0.562500 0.875000 +v -1.375001 0.437500 0.125000 +v -1.375001 0.562500 0.125000 +v -1.187500 1.000000 -1.187500 +v -1.187500 1.000000 -0.812500 +v -0.812500 1.000000 -0.812500 +v -0.812500 1.000000 -1.187500 +v 1.187500 1.000000 -1.187500 +v 0.812500 1.000000 -1.187500 +v 1.187500 1.000000 -0.812500 +v 0.812500 1.000000 -0.812500 +v 0.812500 1.000000 0.812500 +v 0.812500 1.000000 1.187500 +v 1.187500 1.000000 1.187500 +v 1.187500 1.000000 0.812500 +v -1.187500 1.000000 0.812500 +v -1.187500 1.000000 1.187500 +v -0.812500 1.000000 1.187500 +v -0.812500 1.000000 0.812500 +v 1.500000 0.687500 -0.812500 +v 1.500000 0.312500 -0.812500 +v 1.500000 0.687500 -1.187500 +v 1.500000 0.312500 -1.187500 +v 1.375000 0.625000 -1.125000 +v 1.375000 0.625000 -0.875000 +v 1.375000 0.375000 -0.875000 +v 1.375000 0.375000 -1.125000 +v 1.375000 0.687500 -1.187500 +v 1.375000 0.687500 -0.812500 +v 1.375000 0.312500 -0.812500 +v 1.375000 0.312500 -1.187500 +v 1.250000 0.625000 -1.125000 +v 1.250000 0.625000 -0.875000 +v 1.250000 0.375000 -0.875000 +v 1.250000 0.375000 -1.125000 +v 1.500000 0.687500 1.187500 +v 1.500000 0.312500 1.187500 +v 1.500000 0.687500 0.812500 +v 1.500000 0.312500 0.812500 +v 1.375000 0.625000 0.875000 +v 1.375000 0.625000 1.125000 +v 1.375000 0.375000 1.125000 +v 1.375000 0.375000 0.875000 +v 1.375000 0.687500 0.812500 +v 1.375000 0.687500 1.187500 +v 1.375000 0.312500 1.187500 +v 1.375000 0.312500 0.812500 +v 1.250000 0.625000 0.875000 +v 1.250000 0.625000 1.125000 +v 1.250000 0.375000 1.125000 +v 1.250000 0.375000 0.875000 +v -1.500000 0.687500 -0.187500 +v -1.500000 0.312500 -0.187500 +v -1.500000 0.687500 0.187500 +v -1.500000 0.312500 0.187500 +v -1.375000 0.625000 0.125000 +v -1.375000 0.625000 -0.125000 +v -1.375000 0.375000 -0.125000 +v -1.375000 0.375000 0.125000 +v -1.375000 0.687500 0.187500 +v -1.375000 0.687500 -0.187500 +v -1.375000 0.312500 -0.187500 +v -1.375000 0.312500 0.187500 +v -1.250000 0.625000 0.125000 +v -1.250000 0.625000 -0.125000 +v -1.250000 0.375000 -0.125000 +v -1.250000 0.375000 0.125000 +v -1.500000 0.687500 0.812500 +v -1.500000 0.312500 0.812500 +v -1.500000 0.687500 1.187500 +v -1.500000 0.312500 1.187500 +v -1.375000 0.625000 1.125000 +v -1.375000 0.625000 0.875000 +v -1.375000 0.375000 0.875000 +v -1.375000 0.375000 1.125000 +v -1.375000 0.687500 1.187500 +v -1.375000 0.687500 0.812500 +v -1.375000 0.312500 0.812500 +v -1.375000 0.312500 1.187500 +v -1.250000 0.625000 1.125000 +v -1.250000 0.625000 0.875000 +v -1.250000 0.375000 0.875000 +v -1.250000 0.375000 1.125000 +v -1.500000 0.687500 -1.187500 +v -1.500000 0.312500 -1.187500 +v -1.500000 0.687500 -0.812500 +v -1.500000 0.312500 -0.812500 +v -1.375000 0.625000 -0.875000 +v -1.375000 0.625000 -1.125000 +v -1.375000 0.375000 -1.125000 +v -1.375000 0.375000 -0.875000 +v -1.375000 0.687500 -0.812500 +v -1.375000 0.687500 -1.187500 +v -1.375000 0.312500 -1.187500 +v -1.375000 0.312500 -0.812500 +v -1.250000 0.625000 -0.875000 +v -1.250000 0.625000 -1.125000 +v -1.250000 0.375000 -1.125000 +v -1.250000 0.375000 -0.875000 +v 0.187500 0.687500 -1.500000 +v 0.187500 0.312500 -1.500000 +v -0.187500 0.687500 -1.500000 +v -0.187500 0.312500 -1.500000 +v -0.125000 0.625000 -1.375000 +v 0.125000 0.625000 -1.375000 +v 0.125000 0.375000 -1.375000 +v -0.125000 0.375000 -1.375000 +v -0.187500 0.687500 -1.375000 +v 0.187500 0.687500 -1.375000 +v 0.187500 0.312500 -1.375000 +v -0.187500 0.312500 -1.375000 +v -0.125000 0.625000 -1.250000 +v 0.125000 0.625000 -1.250000 +v 0.125000 0.375000 -1.250000 +v -0.125000 0.375000 -1.250000 +v -0.812500 0.687500 -1.500000 +v -0.812500 0.312500 -1.500000 +v -1.187500 0.687500 -1.500000 +v -1.187500 0.312500 -1.500000 +v -1.125000 0.625000 -1.375000 +v -0.875000 0.625000 -1.375000 +v -0.875000 0.375000 -1.375000 +v -1.125000 0.375000 -1.375000 +v -1.187500 0.687500 -1.375000 +v -0.812500 0.687500 -1.375000 +v -0.812500 0.312500 -1.375000 +v -1.187500 0.312500 -1.375000 +v -1.125000 0.625000 -1.250000 +v -0.875000 0.625000 -1.250000 +v -0.875000 0.375000 -1.250000 +v -1.125000 0.375000 -1.250000 +v 1.187500 0.687500 -1.500000 +v 1.187500 0.312500 -1.500000 +v 0.812500 0.687500 -1.500000 +v 0.812500 0.312500 -1.500000 +v 0.875000 0.625000 -1.375000 +v 1.125000 0.625000 -1.375000 +v 1.125000 0.375000 -1.375000 +v 0.875000 0.375000 -1.375000 +v 0.812500 0.687500 -1.375000 +v 1.187500 0.687500 -1.375000 +v 1.187500 0.312500 -1.375000 +v 0.812500 0.312500 -1.375000 +v 0.875000 0.625000 -1.250000 +v 1.125000 0.625000 -1.250000 +v 1.125000 0.375000 -1.250000 +v 0.875000 0.375000 -1.250000 +v -0.187500 0.687500 1.500000 +v -0.187500 0.312500 1.500000 +v 0.187500 0.687500 1.500000 +v 0.187500 0.312500 1.500000 +v 0.125000 0.625000 1.375000 +v -0.125000 0.625000 1.375000 +v -0.125000 0.375000 1.375000 +v 0.125000 0.375000 1.375000 +v 0.187500 0.687500 1.375000 +v -0.187500 0.687500 1.375000 +v -0.187500 0.312500 1.375000 +v 0.187500 0.312500 1.375000 +v 0.125000 0.625000 1.250000 +v -0.125000 0.625000 1.250000 +v -0.125000 0.375000 1.250000 +v 0.125000 0.375000 1.250000 +v 0.812500 0.687500 1.500000 +v 0.812500 0.312500 1.500000 +v 1.187500 0.687500 1.500000 +v 1.187500 0.312500 1.500000 +v 1.125000 0.625000 1.375000 +v 0.875000 0.625000 1.375000 +v 0.875000 0.375000 1.375000 +v 1.125000 0.375000 1.375000 +v 1.187500 0.687500 1.375000 +v 0.812500 0.687500 1.375000 +v 0.812500 0.312500 1.375000 +v 1.187500 0.312500 1.375000 +v 1.125000 0.625000 1.250000 +v 0.875000 0.625000 1.250000 +v 0.875000 0.375000 1.250000 +v 1.125000 0.375000 1.250000 +v -1.187500 0.687500 1.500000 +v -1.187500 0.312500 1.500000 +v -0.812500 0.687500 1.500000 +v -0.812500 0.312500 1.500000 +v -0.875000 0.625000 1.375000 +v -1.125000 0.625000 1.375000 +v -1.125000 0.375000 1.375000 +v -0.875000 0.375000 1.375000 +v -0.812500 0.687500 1.375000 +v -1.187500 0.687500 1.375000 +v -1.187500 0.312500 1.375000 +v -0.812500 0.312500 1.375000 +v -0.875000 0.625000 1.250000 +v -1.125000 0.625000 1.250000 +v -1.125000 0.375000 1.250000 +v -0.875000 0.375000 1.250000 +vt 0.473684 0.851852 +vt 0.210526 0.870370 +vt 0.210526 0.851852 +vt 0.421053 0.962963 +vt 0.394737 0.925926 +vt 0.421053 0.925926 +vt 0.394737 0.962963 +vt 0.368421 0.925926 +vt 0.368421 0.962963 +vt 0.342105 0.925926 +vt 0.447368 0.962963 +vt 0.447368 0.925926 +vt 0.342105 0.888889 +vt 0.368421 0.888889 +vt 0.368421 1.000000 +vt 0.342105 0.962963 +vt 0.421053 0.962963 +vt 0.394737 0.925926 +vt 0.421053 0.925926 +vt 0.394737 0.962963 +vt 0.368421 0.925926 +vt 0.368421 0.962963 +vt 0.342105 0.925926 +vt 0.447368 0.962963 +vt 0.447368 0.925926 +vt 0.342105 0.888889 +vt 0.368421 0.888889 +vt 0.368421 1.000000 +vt 0.342105 0.962963 +vt 0.421053 0.962963 +vt 0.394737 0.925926 +vt 0.421053 0.925926 +vt 0.394737 0.962963 +vt 0.368421 0.925926 +vt 0.368421 0.962963 +vt 0.342105 0.925926 +vt 0.447368 0.962963 +vt 0.447368 0.925926 +vt 0.342105 0.888889 +vt 0.368421 0.888889 +vt 0.368421 1.000000 +vt 0.342105 0.962963 +vt 0.421053 0.962963 +vt 0.394737 0.925926 +vt 0.421053 0.925926 +vt 0.394737 0.962963 +vt 0.368421 0.925926 +vt 0.368421 0.962963 +vt 0.342105 0.925926 +vt 0.447368 0.962963 +vt 0.447368 0.925926 +vt 0.342105 0.888889 +vt 0.368421 0.888889 +vt 0.368421 1.000000 +vt 0.342105 0.962963 +vt 0.473684 0.833333 +vt 0.473684 0.870370 +vt 0.210526 0.888889 +vt 0.210526 0.814815 +vt 0.473684 0.814815 +vt 0.210526 0.833333 +vt 0.473684 0.814815 +vt 0.473684 0.833333 +vt 0.210526 0.851852 +vt 0.210526 0.888889 +vt 0.473684 0.870370 +vt 0.473684 0.888889 +vt 0.210526 0.870370 +vt 0.473684 0.851852 +vt 0.210526 0.870370 +vt 0.210526 0.851852 +vt 0.473684 0.833333 +vt 0.473684 0.870370 +vt 0.210526 0.888889 +vt 0.210526 0.814815 +vt 0.473684 0.814815 +vt 0.210526 0.833333 +vt 0.473684 0.814815 +vt 0.473684 0.833333 +vt 0.210526 0.851852 +vt 0.210526 0.888889 +vt 0.473684 0.870370 +vt 0.473684 0.888889 +vt 0.210526 0.870370 +vt 0.506579 0.638889 +vt 0.546053 0.694444 +vt 0.506579 0.694444 +vt 0.513158 0.611111 +vt 0.539474 0.592593 +vt 0.539474 0.611111 +vt 0.546053 0.638889 +vt 0.559211 0.694444 +vt 0.493421 0.638889 +vt 0.546053 0.620370 +vt 0.506579 0.712963 +vt 0.513158 0.722222 +vt 0.546053 0.712963 +vt 0.539474 0.722222 +vt 0.486842 0.648148 +vt 0.493421 0.694444 +vt 0.486842 0.685185 +vt 0.506579 0.620370 +vt 0.565789 0.685185 +vt 0.559211 0.638889 +vt 0.565789 0.648148 +vt 0.513158 0.740741 +vt 0.578947 0.685185 +vt 0.473684 0.648148 +vt 0.013158 0.888889 +vt 0.328947 0.925926 +vt 0.013158 0.925926 +vt 0.328947 0.944444 +vt 0.013158 0.981481 +vt 0.013158 0.944444 +vt 0.013158 1.000000 +vt 0.328947 0.981481 +vt 0.328947 1.000000 +vt 0.342105 0.981481 +vt 0.342105 0.944444 +vt -0.000000 0.944444 +vt -0.000000 0.981481 +vt 0.013158 0.888889 +vt 0.328947 0.925926 +vt 0.013158 0.925926 +vt 0.328947 0.944444 +vt 0.013158 0.981481 +vt 0.013158 0.944444 +vt 0.013158 1.000000 +vt 0.328947 0.981481 +vt 0.328947 1.000000 +vt 0.342105 0.981481 +vt 0.342105 0.944444 +vt -0.000000 0.944444 +vt -0.000000 0.981481 +vt 0.013158 0.888889 +vt 0.328947 0.925926 +vt 0.013158 0.925926 +vt 0.328947 0.944444 +vt 0.013158 0.981481 +vt 0.013158 0.944444 +vt 0.013158 1.000000 +vt 0.328947 0.981481 +vt 0.328947 1.000000 +vt 0.342105 0.981481 +vt 0.342105 0.944444 +vt -0.000000 0.944444 +vt -0.000000 0.981481 +vt 0.315789 0.370370 +vt 0.368421 0.740741 +vt 0.315789 0.740741 +vt 0.473684 0.740741 +vt 0.421053 0.370370 +vt 0.473684 0.370370 +vt 0.368421 0.814815 +vt 0.315789 0.814815 +vt 0.263158 0.814815 +vt 0.210526 0.592593 +vt 0.263158 0.592593 +vt 0.263158 0.370370 +vt 0.368421 0.370370 +vt 0.315789 0.296296 +vt 0.684211 0.518519 +vt 0.736842 0.444444 +vt 0.736842 0.518519 +vt 0.473684 0.444444 +vt 0.526316 0.518519 +vt 0.473684 0.518519 +vt 0.684211 0.370370 +vt 0.526316 0.296296 +vt 0.684211 0.296296 +vt 0.684211 0.592593 +vt 0.526316 0.444444 +vt 0.684211 0.444444 +vt 0.526316 0.370370 +vt 0.052632 0.592593 +vt -0.000000 0.814815 +vt -0.000000 0.592593 +vt 0.210526 0.888889 +vt 0.052632 0.814815 +vt 0.210526 0.814815 +vt 0.210526 0.518519 +vt 0.052632 0.296296 +vt 0.210526 0.296296 +vt 0.052632 0.518519 +vt 0.263158 0.074074 +vt 0.315789 0.111111 +vt 0.269737 0.111111 +vt 0.210526 0.074074 +vt 0.263158 0.111111 +vt 0.217105 0.111111 +vt 0.157895 0.074074 +vt 0.210526 0.111111 +vt 0.164474 0.111111 +vt 0.105263 0.074074 +vt 0.157895 0.111111 +vt 0.111842 0.111111 +vt 0.052632 0.074074 +vt 0.105263 0.111111 +vt 0.059211 0.111111 +vt -0.000000 0.074074 +vt 0.052632 0.111111 +vt 0.006579 0.111111 +vt 0.842105 0.074074 +vt 0.796053 0.111111 +vt 0.789474 0.074074 +vt 0.743421 0.111111 +vt 0.736842 0.074074 +vt 0.690789 0.111111 +vt 0.684211 0.074074 +vt 0.638158 0.111111 +vt 0.631579 0.074074 +vt 0.585526 0.111111 +vt 0.578947 0.074074 +vt 0.532895 0.111111 +vt 0.526316 0.074074 +vt 0.480263 0.111111 +vt 0.473684 0.074074 +vt 0.427632 0.111111 +vt 0.421053 0.074074 +vt 0.375000 0.111111 +vt 0.368421 0.074074 +vt 0.315789 0.074074 +vt 0.368421 0.111111 +vt 0.322368 0.111111 +vt 0.263158 0.037037 +vt 0.315789 0.000000 +vt 0.315789 0.037037 +vt 0.210526 0.037037 +vt 0.263158 0.000000 +vt 0.157895 0.037037 +vt 0.210526 0.000000 +vt 0.105263 0.037037 +vt 0.157895 0.000000 +vt 0.052632 0.037037 +vt 0.105263 0.000000 +vt -0.000000 0.037037 +vt 0.052632 0.000000 +vt 0.802632 0.000000 +vt 0.842105 0.037037 +vt 0.789474 0.037037 +vt 0.750000 0.000000 +vt 0.736842 0.037037 +vt 0.697368 0.000000 +vt 0.684211 0.037037 +vt 0.644737 0.000000 +vt 0.631579 0.037037 +vt 0.592105 0.000000 +vt 0.578947 0.037037 +vt 0.539474 0.000000 +vt 0.526316 0.037037 +vt 0.480263 0.000000 +vt 0.473684 0.037037 +vt 0.427632 0.000000 +vt 0.421053 0.037037 +vt 0.375000 0.000000 +vt 0.368421 0.037037 +vt 0.368421 0.000000 +vt 0.578947 0.722222 +vt 0.657895 0.833333 +vt 0.578947 0.833333 +vt 0.592105 0.685185 +vt 0.644737 0.666667 +vt 0.644737 0.685185 +vt 0.578947 0.851852 +vt 0.657895 0.722222 +vt 0.671053 0.833333 +vt 0.565789 0.722222 +vt 0.657895 0.703704 +vt 0.855263 0.444444 +vt 0.815789 0.481481 +vt 0.815789 0.444444 +vt 0.776316 0.444444 +vt 0.736842 0.481481 +vt 0.736842 0.444444 +vt 0.855263 0.444444 +vt 0.815789 0.481481 +vt 0.815789 0.444444 +vt 0.776316 0.481481 +vt 0.776316 0.444444 +vt 0.894737 0.444444 +vt 0.855263 0.481481 +vt 0.743421 0.490741 +vt 0.769737 0.527778 +vt 0.743421 0.527778 +vt 0.743421 0.490741 +vt 0.769737 0.527778 +vt 0.743421 0.527778 +vt 0.894737 0.444444 +vt 0.855263 0.481481 +vt 0.855263 0.444444 +vt 0.815789 0.444444 +vt 0.776316 0.481481 +vt 0.776316 0.444444 +vt 0.815789 0.481481 +vt 0.776316 0.444444 +vt 0.736842 0.481481 +vt 0.736842 0.444444 +vt 0.855263 0.444444 +vt 0.815789 0.481481 +vt 0.815789 0.444444 +vt 0.776316 0.481481 +vt 0.894737 0.444444 +vt 0.855263 0.481481 +vt 0.743421 0.490741 +vt 0.769737 0.527778 +vt 0.743421 0.527778 +vt 0.736842 0.481481 +vt 0.736842 0.444444 +vt 0.776316 0.481481 +vt 0.894737 0.444444 +vt 0.855263 0.481481 +vt 0.743421 0.490741 +vt 0.769737 0.527778 +vt 0.743421 0.527778 +vt 0.736842 0.481481 +vt 0.736842 0.444444 +vt 0.592105 0.870370 +vt 0.657895 0.851852 +vt 0.644737 0.870370 +vt 0.552632 0.740741 +vt 0.565789 0.833333 +vt 0.552632 0.814815 +vt 0.578947 0.703704 +vt 0.684211 0.814815 +vt 0.671053 0.722222 +vt 0.684211 0.740741 +vt 0.644737 0.592593 +vt 0.592105 0.666667 +vt 0.592105 0.592593 +vt 0.592105 0.888889 +vt 0.697368 0.814815 +vt 0.539474 0.740741 +vt 0.736842 0.370370 +vt 1.000000 0.388889 +vt 0.736842 0.388889 +vt 0.736842 0.407407 +vt 1.000000 0.425926 +vt 0.736842 0.425926 +vt 0.736842 0.444444 +vt 1.000000 0.444444 +vt 0.736842 0.370370 +vt 1.000000 0.388889 +vt 0.736842 0.388889 +vt 0.736842 0.407407 +vt 1.000000 0.425926 +vt 0.736842 0.425926 +vt 0.736842 0.444444 +vt 1.000000 0.444444 +vt 0.447368 0.351852 +vt 0.526316 0.333333 +vt 0.526316 0.351852 +vt 0.447368 0.314815 +vt 0.526316 0.333333 +vt 0.447368 0.333333 +vt 0.526316 0.296296 +vt 0.447368 0.314815 +vt 0.447368 0.296296 +vt 0.526316 0.296296 +vt 0.447368 0.296296 +vt 0.447368 0.333333 +vt 0.737094 0.333333 +vt 0.744728 0.307394 +vt 0.763158 0.296650 +vt 0.447368 0.351852 +vt 0.526316 0.351852 +vt 0.834220 0.307394 +vt 0.834220 0.359272 +vt 0.797359 0.359272 +vt 0.822368 0.490741 +vt 0.848684 0.490741 +vt 0.861842 0.490741 +vt 0.894737 0.481481 +vt 0.888158 0.490741 +vt 0.769737 0.490741 +vt 0.782895 0.490741 +vt 0.809211 0.490741 +vt 0.782895 0.490741 +vt 0.809211 0.490741 +vt 0.769737 0.490741 +vt 0.861842 0.490741 +vt 0.894737 0.481481 +vt 0.888158 0.490741 +vt 0.822368 0.490741 +vt 0.848684 0.490741 +vt 0.822368 0.490741 +vt 0.848684 0.490741 +vt 0.861842 0.490741 +vt 0.894737 0.481481 +vt 0.888158 0.490741 +vt 0.769737 0.490741 +vt 0.782895 0.490741 +vt 0.809211 0.490741 +vt 0.822368 0.490741 +vt 0.848684 0.490741 +vt 0.861842 0.490741 +vt 0.894737 0.481481 +vt 0.888158 0.490741 +vt 0.769737 0.490741 +vt 0.782895 0.490741 +vt 0.809211 0.490741 +vt 0.506579 0.638889 +vt 0.546053 0.694444 +vt 0.506579 0.694444 +vt 0.513158 0.611111 +vt 0.539474 0.592593 +vt 0.539474 0.611111 +vt 0.546053 0.638889 +vt 0.559211 0.694444 +vt 0.493421 0.638889 +vt 0.546053 0.620370 +vt 0.506579 0.712963 +vt 0.513158 0.722222 +vt 0.546053 0.712963 +vt 0.539474 0.722222 +vt 0.486842 0.648148 +vt 0.493421 0.694444 +vt 0.486842 0.685185 +vt 0.506579 0.620370 +vt 0.565789 0.685185 +vt 0.559211 0.638889 +vt 0.565789 0.648148 +vt 0.513158 0.740741 +vt 0.578947 0.685185 +vt 0.473684 0.648148 +vt 0.506579 0.638889 +vt 0.546053 0.694444 +vt 0.506579 0.694444 +vt 0.513158 0.611111 +vt 0.539474 0.592593 +vt 0.539474 0.611111 +vt 0.546053 0.638889 +vt 0.559211 0.694444 +vt 0.493421 0.638889 +vt 0.546053 0.620370 +vt 0.506579 0.712963 +vt 0.513158 0.722222 +vt 0.546053 0.712963 +vt 0.539474 0.722222 +vt 0.486842 0.648148 +vt 0.493421 0.694444 +vt 0.486842 0.685185 +vt 0.506579 0.620370 +vt 0.565789 0.685185 +vt 0.559211 0.638889 +vt 0.565789 0.648148 +vt 0.513158 0.740741 +vt 0.578947 0.685185 +vt 0.473684 0.648148 +vt 0.506579 0.638889 +vt 0.546053 0.694444 +vt 0.506579 0.694444 +vt 0.513158 0.611111 +vt 0.539474 0.592593 +vt 0.539474 0.611111 +vt 0.546053 0.638889 +vt 0.559211 0.694444 +vt 0.493421 0.638889 +vt 0.546053 0.620370 +vt 0.506579 0.712963 +vt 0.513158 0.722222 +vt 0.546053 0.712963 +vt 0.539474 0.722222 +vt 0.486842 0.648148 +vt 0.493421 0.694444 +vt 0.486842 0.685185 +vt 0.506579 0.620370 +vt 0.565789 0.685185 +vt 0.559211 0.638889 +vt 0.565789 0.648148 +vt 0.513158 0.740741 +vt 0.578947 0.685185 +vt 0.473684 0.648148 +vt 0.506579 0.638889 +vt 0.546053 0.694444 +vt 0.506579 0.694444 +vt 0.513158 0.611111 +vt 0.539474 0.592593 +vt 0.539474 0.611111 +vt 0.546053 0.638889 +vt 0.559211 0.694444 +vt 0.493421 0.638889 +vt 0.546053 0.620370 +vt 0.506579 0.712963 +vt 0.513158 0.722222 +vt 0.546053 0.712963 +vt 0.539474 0.722222 +vt 0.486842 0.648148 +vt 0.493421 0.694444 +vt 0.486842 0.685185 +vt 0.506579 0.620370 +vt 0.565789 0.685185 +vt 0.559211 0.638889 +vt 0.565789 0.648148 +vt 0.513158 0.740741 +vt 0.578947 0.685185 +vt 0.473684 0.648148 +vt 0.506579 0.638889 +vt 0.546053 0.694444 +vt 0.506579 0.694444 +vt 0.513158 0.611111 +vt 0.539474 0.592593 +vt 0.539474 0.611111 +vt 0.546053 0.638889 +vt 0.559211 0.694444 +vt 0.493421 0.638889 +vt 0.546053 0.620370 +vt 0.506579 0.712963 +vt 0.513158 0.722222 +vt 0.546053 0.712963 +vt 0.539474 0.722222 +vt 0.486842 0.648148 +vt 0.493421 0.694444 +vt 0.486842 0.685185 +vt 0.506579 0.620370 +vt 0.565789 0.685185 +vt 0.559211 0.638889 +vt 0.565789 0.648148 +vt 0.513158 0.740741 +vt 0.578947 0.685185 +vt 0.473684 0.648148 +vt 0.506579 0.638889 +vt 0.546053 0.694444 +vt 0.506579 0.694444 +vt 0.513158 0.611111 +vt 0.539474 0.592593 +vt 0.539474 0.611111 +vt 0.546053 0.638889 +vt 0.559211 0.694444 +vt 0.493421 0.638889 +vt 0.546053 0.620370 +vt 0.506579 0.712963 +vt 0.513158 0.722222 +vt 0.546053 0.712963 +vt 0.539474 0.722222 +vt 0.486842 0.648148 +vt 0.493421 0.694444 +vt 0.486842 0.685185 +vt 0.506579 0.620370 +vt 0.565789 0.685185 +vt 0.559211 0.638889 +vt 0.565789 0.648148 +vt 0.513158 0.740741 +vt 0.578947 0.685185 +vt 0.473684 0.648148 +vt 0.506579 0.638889 +vt 0.546053 0.694444 +vt 0.506579 0.694444 +vt 0.513158 0.611111 +vt 0.539474 0.592593 +vt 0.539474 0.611111 +vt 0.546053 0.638889 +vt 0.559211 0.694444 +vt 0.493421 0.638889 +vt 0.546053 0.620370 +vt 0.506579 0.712963 +vt 0.513158 0.722222 +vt 0.546053 0.712963 +vt 0.539474 0.722222 +vt 0.486842 0.648148 +vt 0.493421 0.694444 +vt 0.486842 0.685185 +vt 0.506579 0.620370 +vt 0.565789 0.685185 +vt 0.559211 0.638889 +vt 0.565789 0.648148 +vt 0.513158 0.740741 +vt 0.578947 0.685185 +vt 0.473684 0.648148 +vt 0.506579 0.638889 +vt 0.546053 0.694444 +vt 0.506579 0.694444 +vt 0.513158 0.611111 +vt 0.539474 0.592593 +vt 0.539474 0.611111 +vt 0.546053 0.638889 +vt 0.559211 0.694444 +vt 0.493421 0.638889 +vt 0.546053 0.620370 +vt 0.506579 0.712963 +vt 0.513158 0.722222 +vt 0.546053 0.712963 +vt 0.539474 0.722222 +vt 0.486842 0.648148 +vt 0.493421 0.694444 +vt 0.486842 0.685185 +vt 0.506579 0.620370 +vt 0.565789 0.685185 +vt 0.559211 0.638889 +vt 0.565789 0.648148 +vt 0.539474 0.740741 +vt 0.513158 0.740741 +vt 0.578947 0.685185 +vt 0.473684 0.648148 +vt 0.506579 0.638889 +vt 0.546053 0.694444 +vt 0.506579 0.694444 +vt 0.513158 0.611111 +vt 0.539474 0.592593 +vt 0.539474 0.611111 +vt 0.546053 0.638889 +vt 0.559211 0.694444 +vt 0.493421 0.638889 +vt 0.546053 0.620370 +vt 0.506579 0.712963 +vt 0.513158 0.722222 +vt 0.546053 0.712963 +vt 0.539474 0.722222 +vt 0.486842 0.648148 +vt 0.493421 0.694444 +vt 0.486842 0.685185 +vt 0.506579 0.620370 +vt 0.565789 0.685185 +vt 0.559211 0.638889 +vt 0.565789 0.648148 +vt 0.539474 0.740741 +vt 0.513158 0.740741 +vt 0.578947 0.685185 +vt 0.473684 0.648148 +vt 0.506579 0.638889 +vt 0.546053 0.694444 +vt 0.506579 0.694444 +vt 0.513158 0.611111 +vt 0.539474 0.592593 +vt 0.539474 0.611111 +vt 0.546053 0.638889 +vt 0.559211 0.694444 +vt 0.493421 0.638889 +vt 0.546053 0.620370 +vt 0.506579 0.712963 +vt 0.513158 0.722222 +vt 0.546053 0.712963 +vt 0.539474 0.722222 +vt 0.486842 0.648148 +vt 0.493421 0.694444 +vt 0.486842 0.685185 +vt 0.506579 0.620370 +vt 0.565789 0.685185 +vt 0.559211 0.638889 +vt 0.565789 0.648148 +vt 0.513158 0.740741 +vt 0.578947 0.685185 +vt 0.473684 0.648148 +vt 0.506579 0.638889 +vt 0.546053 0.694444 +vt 0.506579 0.694444 +vt 0.513158 0.611111 +vt 0.539474 0.592593 +vt 0.539474 0.611111 +vt 0.546053 0.638889 +vt 0.559211 0.694444 +vt 0.493421 0.638889 +vt 0.546053 0.620370 +vt 0.546053 0.712963 +vt 0.506579 0.712963 +vt 0.513158 0.722222 +vt 0.539474 0.722222 +vt 0.486842 0.648148 +vt 0.493421 0.694444 +vt 0.486842 0.685185 +vt 0.506579 0.620370 +vt 0.565789 0.685185 +vt 0.559211 0.638889 +vt 0.565789 0.648148 +vt 0.539474 0.740741 +vt 0.513158 0.740741 +vt 0.578947 0.685185 +vt 0.473684 0.648148 +vt 0.342105 1.000000 +vt 0.342105 1.000000 +vt 0.342105 1.000000 +vt 0.342105 1.000000 +vt 0.210526 0.833333 +vt 0.473684 0.888889 +vt 0.210526 0.814815 +vt 0.473684 0.851852 +vt 0.210526 0.833333 +vt 0.473684 0.888889 +vt 0.210526 0.814815 +vt 0.473684 0.851852 +vt 0.513158 0.592593 +vt 0.539474 0.740741 +vt 0.578947 0.648148 +vt 0.473684 0.685185 +vt 0.328947 0.888889 +vt 0.328947 0.888889 +vt 0.328947 0.888889 +vt 0.421053 0.740741 +vt 0.263158 0.740741 +vt 0.368421 0.296296 +vt 0.526316 0.592593 +vt 0.052632 0.888889 +vt 0.842105 0.111111 +vt 0.789474 0.111111 +vt 0.736842 0.111111 +vt 0.684211 0.111111 +vt 0.631579 0.111111 +vt 0.578947 0.111111 +vt 0.526316 0.111111 +vt 0.473684 0.111111 +vt 0.421053 0.111111 +vt 0.269737 0.000000 +vt 0.217105 0.000000 +vt 0.164474 0.000000 +vt 0.111842 0.000000 +vt 0.059211 0.000000 +vt 0.006579 0.000000 +vt 0.842105 0.000000 +vt 0.789474 0.000000 +vt 0.736842 0.000000 +vt 0.684211 0.000000 +vt 0.631579 0.000000 +vt 0.578947 0.000000 +vt 0.526316 0.000000 +vt 0.473684 0.000000 +vt 0.421053 0.000000 +vt 0.322368 0.000000 +vt 0.644737 0.888889 +vt 0.697368 0.740741 +vt 0.539474 0.814815 +vt 1.000000 0.370370 +vt 1.000000 0.407407 +vt 1.000000 0.370370 +vt 1.000000 0.407407 +vt 0.526316 0.314815 +vt 0.526316 0.314815 +vt 0.781588 0.307394 +vt 0.789223 0.333333 +vt 0.781588 0.359272 +vt 0.763158 0.370016 +vt 0.744728 0.359272 +vt 0.789725 0.333333 +vt 0.797359 0.307394 +vt 0.815790 0.296650 +vt 0.841854 0.333333 +vt 0.815790 0.370017 +vt 0.513158 0.592593 +vt 0.539474 0.740741 +vt 0.578947 0.648148 +vt 0.473684 0.685185 +vt 0.513158 0.592593 +vt 0.539474 0.740741 +vt 0.578947 0.648148 +vt 0.473684 0.685185 +vt 0.513158 0.592593 +vt 0.539474 0.740741 +vt 0.578947 0.648148 +vt 0.473684 0.685185 +vt 0.513158 0.592593 +vt 0.539474 0.740741 +vt 0.578947 0.648148 +vt 0.473684 0.685185 +vt 0.513158 0.592593 +vt 0.539474 0.740741 +vt 0.578947 0.648148 +vt 0.473684 0.685185 +vt 0.513158 0.592593 +vt 0.539474 0.740741 +vt 0.578947 0.648148 +vt 0.473684 0.685185 +vt 0.513158 0.592593 +vt 0.539474 0.740741 +vt 0.578947 0.648148 +vt 0.473684 0.685185 +vt 0.513158 0.592593 +vt 0.578947 0.648148 +vt 0.473684 0.685185 +vt 0.513158 0.592593 +vt 0.578947 0.648148 +vt 0.473684 0.685185 +vt 0.513158 0.592593 +vt 0.539474 0.740741 +vt 0.578947 0.648148 +vt 0.473684 0.685185 +vt 0.513158 0.592593 +vt 0.578947 0.648148 +vt 0.473684 0.685185 +vt 0.059211 0.148148 +vt 0.111842 0.148148 +vt 0.164474 0.148148 +vt 0.217105 0.148148 +vt 0.269737 0.148148 +vt 0.322368 0.148148 +vt 0.375000 0.148148 +vt 0.427632 0.148148 +vt 0.480263 0.148148 +vt 0.638158 0.148148 +vt 0.532895 0.148148 +vt 0.690789 0.148148 +vt 0.585526 0.148148 +vt 0.743421 0.148148 +vt 0.796053 0.148148 +vt 0.006579 0.148148 +vt 0.960526 0.000000 +vt 0.980263 0.370370 +vt 0.960526 0.370370 +vt 0.980263 0.000000 +vt 1.000000 0.370370 +vt 0.842105 0.000000 +vt 0.861842 0.370370 +vt 0.842105 0.370370 +vt 0.861842 0.000000 +vt 0.881579 0.370370 +vt 0.881579 0.000000 +vt 0.901316 0.370370 +vt 0.901316 0.000000 +vt 0.921053 0.370370 +vt 0.921053 0.000000 +vt 0.940789 0.370370 +vt 0.940789 0.000000 +vt 0.105263 0.148148 +vt 0.157895 0.148148 +vt 0.210526 0.148148 +vt 0.263158 0.148148 +vt 0.315789 0.148148 +vt 0.368421 0.148148 +vt 0.421053 0.148148 +vt 0.473684 0.148148 +vt 0.526316 0.148148 +vt 0.684211 0.148148 +vt 0.578947 0.148148 +vt 0.736842 0.148148 +vt 0.631579 0.148148 +vt 0.789474 0.148148 +vt 0.842105 0.148148 +vt 0.052632 0.148148 +vt 1.000000 0.000000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.7071 0.0000 +vn 0.0000 0.7071 0.7071 +vn 0.7071 0.7071 0.0000 +vn 0.0000 0.7071 -0.7071 +vn -0.3827 0.0000 0.9239 +vn 0.9239 0.0000 -0.3827 +vn 0.3827 0.0000 0.9239 +vn 0.3827 0.0000 -0.9239 +vn 0.9239 0.0000 0.3827 +vn -0.3827 0.0000 -0.9239 +vn -0.9239 0.0000 -0.3827 +vn -0.9239 0.0000 0.3827 +vn -0.0000 -0.7071 -0.7071 +vn -0.0000 -0.7071 0.7071 +s off +f 566/989/107 564/990/107 565/991/107 +f 568/992/108 569/993/108 567/994/108 +f 570/995/109 573/996/109 569/993/109 +f 574/997/107 571/998/107 573/996/107 +f 572/999/110 567/994/110 571/1000/110 +f 573/996/111 567/1001/111 569/1002/111 +f 570/1003/112 572/1004/112 574/997/112 +f 576/1005/108 577/1006/108 575/1007/108 +f 578/1008/109 581/1009/109 577/1006/109 +f 582/1010/107 579/1011/107 581/1009/107 +f 580/1012/110 575/1007/110 579/1013/110 +f 581/1009/111 575/1014/111 577/1015/111 +f 578/1016/112 580/1017/112 582/1010/112 +f 584/1018/108 585/1019/108 583/1020/108 +f 586/1021/109 589/1022/109 585/1019/109 +f 590/1023/107 587/1024/107 589/1022/107 +f 588/1025/110 583/1020/110 587/1026/110 +f 589/1022/111 583/1027/111 585/1028/111 +f 586/1029/112 588/1030/112 590/1023/112 +f 592/1031/108 593/1032/108 591/1033/108 +f 594/1034/109 597/1035/109 593/1032/109 +f 598/1036/107 595/1037/107 597/1035/107 +f 596/1038/110 591/1033/110 595/1039/110 +f 597/1035/111 591/1040/111 593/1041/111 +f 594/1042/112 596/1043/112 598/1036/112 +f 565/991/111 602/1044/111 566/989/111 +f 563/1045/112 600/1046/112 564/990/112 +f 602/1044/108 600/1047/108 599/1048/108 +f 606/1049/107 604/1050/107 605/1051/107 +f 605/1051/111 610/1052/111 606/1049/111 +f 603/1053/112 608/1054/112 604/1055/112 +f 610/1052/108 608/1054/108 607/1056/108 +f 614/1057/109 612/1058/109 613/1059/109 +f 613/1059/111 618/1060/111 614/1057/111 +f 611/1061/112 616/1062/112 612/1058/112 +f 618/1060/110 616/1063/110 615/1064/110 +f 622/1065/109 620/1066/109 621/1067/109 +f 621/1067/111 626/1068/111 622/1065/111 +f 619/1069/112 624/1070/112 620/1071/112 +f 626/1068/110 624/1070/110 623/1072/110 +f 628/1073/107 629/1074/107 627/1075/107 +f 633/1076/111 642/1077/111 634/1078/111 +f 630/1079/109 635/1080/109 629/1074/109 +f 627/1075/110 637/1081/110 628/1073/110 +f 628/1073/111 638/1082/111 630/1079/111 +f 629/1074/112 636/1083/112 627/1075/112 +f 632/1084/108 635/1085/108 631/1086/108 +f 633/1087/108 636/1088/108 632/1089/108 +f 634/1078/108 637/1090/108 633/1076/108 +f 631/1091/108 638/1092/108 634/1093/108 +f 631/1086/112 640/1094/112 632/1084/112 +f 634/1093/109 639/1095/109 631/1091/109 +f 632/1089/110 641/1096/110 633/1087/110 +f 645/1097/111 644/1098/111 643/1099/111 +f 649/1100/112 647/1101/112 648/1102/112 +f 645/1103/108 650/1104/108 646/1105/108 +f 644/1098/107 648/1102/107 643/1099/107 +f 646/1106/109 649/1100/109 644/1107/109 +f 643/1108/110 647/1101/110 645/1109/110 +f 653/1110/111 652/1111/111 651/1112/111 +f 657/1113/112 655/1114/112 656/1115/112 +f 653/1116/108 658/1117/108 654/1118/108 +f 652/1111/107 656/1115/107 651/1112/107 +f 654/1119/109 657/1113/109 652/1120/109 +f 651/1121/110 655/1114/110 653/1122/110 +f 661/1123/111 660/1124/111 659/1125/111 +f 665/1126/112 663/1127/112 664/1128/112 +f 661/1129/108 666/1130/108 662/1131/108 +f 660/1124/107 664/1128/107 659/1125/107 +f 662/1132/109 665/1126/109 660/1133/109 +f 659/1134/110 663/1127/110 661/1135/110 +f 667/1136/111 676/1137/111 668/1138/111 +f 673/1139/112 677/1140/112 672/1141/112 +f 668/1138/107 678/1142/107 673/1143/107 +f 669/1144/109 674/1145/109 670/1146/109 +f 668/1138/110 672/1147/110 667/1136/110 +f 677/1140/109 676/1137/109 675/1148/109 +f 672/1149/108 675/1148/108 667/1136/108 +f 680/1150/109 681/1151/109 679/1152/109 +f 686/1153/110 683/1154/110 684/1155/110 +f 681/1156/111 684/1157/111 679/1158/111 +f 679/1159/108 683/1154/108 680/1150/108 +f 680/1150/112 685/1160/112 682/1161/112 +f 682/1161/107 686/1162/107 681/1156/107 +f 689/1163/110 688/1164/110 687/1165/110 +f 669/1166/108 690/1167/108 671/1168/108 +f 671/1168/112 689/1163/112 674/1145/112 +f 670/1169/111 688/1170/111 669/1171/111 +f 674/1145/107 687/1172/107 670/1169/107 +f 700/1173/112 717/1174/112 716/1175/112 +f 699/1176/112 716/1177/112 715/1178/112 +f 698/1179/112 715/1180/112 714/1181/112 +f 697/1182/112 714/1183/112 713/1184/112 +f 696/1185/112 713/1186/112 712/1187/112 +f 695/1188/112 712/1189/112 711/1190/112 +f 695/1191/112 710/1192/112 694/1193/112 +f 694/1193/112 709/1194/112 693/1195/112 +f 693/1195/112 708/1196/112 692/1197/112 +f 692/1197/112 707/1198/112 691/1199/112 +f 691/1199/112 722/1200/112 706/1201/112 +f 706/1201/112 721/1202/112 705/1203/112 +f 705/1203/112 720/1204/112 704/1205/112 +f 704/1205/112 719/1206/112 703/1207/112 +f 703/1207/112 718/1208/112 702/1209/112 +f 701/1210/112 718/1211/112 717/1212/112 +f 732/1213/111 749/1214/111 733/1215/111 +f 731/1216/111 748/1217/111 732/1213/111 +f 730/1218/111 747/1219/111 731/1216/111 +f 729/1220/111 746/1221/111 730/1218/111 +f 728/1222/111 745/1223/111 729/1220/111 +f 727/1224/111 744/1225/111 728/1222/111 +f 742/1226/111 727/1227/111 726/1228/111 +f 741/1229/111 726/1228/111 725/1230/111 +f 739/1231/111 725/1230/111 723/1232/111 +f 740/1233/111 723/1232/111 724/1234/111 +f 754/1235/111 724/1234/111 738/1236/111 +f 753/1237/111 738/1236/111 737/1238/111 +f 752/1239/111 737/1238/111 736/1240/111 +f 751/1241/111 736/1240/111 735/1242/111 +f 750/1243/111 735/1242/111 734/1244/111 +f 733/1215/111 750/1245/111 734/1244/111 +f 756/1246/112 757/1247/112 755/1248/112 +f 761/1249/107 802/1250/107 762/1251/107 +f 757/1247/108 796/1252/108 755/1248/108 +f 758/1253/109 795/1254/109 757/1247/109 +f 755/1248/110 797/1255/110 756/1246/110 +f 756/1246/107 798/1256/107 758/1253/107 +f 794/1257/108 863/1258/108 792/1259/108 +f 791/1260/107 865/1261/107 793/1262/107 +f 779/1263/108 851/1264/108 781/1265/108 +f 781/1265/109 854/1266/109 782/1267/109 +f 780/1268/110 852/1269/110 779/1263/110 +f 785/1270/112 784/1271/112 786/1272/112 +f 769/1273/112 768/1274/112 770/1275/112 +f 764/1276/110 858/1277/110 763/1278/110 +f 765/1279/109 855/1280/109 766/1281/109 +f 763/1278/108 856/1282/108 765/1279/108 +f 775/1283/107 861/1284/107 777/1285/107 +f 778/1286/108 859/1287/108 776/1288/108 +f 776/1288/109 862/1289/109 775/1283/109 +f 777/1290/110 860/1291/110 778/1286/110 +f 772/1292/112 773/1293/112 771/1294/112 +f 766/1281/107 857/1295/107 764/1296/107 +f 792/1259/109 866/1297/109 791/1260/109 +f 793/1298/110 864/1299/110 794/1257/110 +f 788/1300/112 789/1301/112 787/1302/112 +f 782/1267/107 853/1303/107 780/1304/107 +f 760/1305/111 795/1306/111 759/1307/111 +f 761/1308/111 796/1309/111 760/1310/111 +f 762/1251/111 797/1311/111 761/1249/111 +f 759/1312/111 798/1313/111 762/1314/111 +f 799/1315/111 801/1316/111 800/1317/111 +f 759/1307/108 800/1318/108 760/1305/108 +f 762/1314/109 799/1319/109 759/1312/109 +f 760/1310/110 801/1320/110 761/1308/110 +f 805/1321/111 804/1322/111 803/1323/111 +f 808/1324/112 810/1325/112 807/1326/112 +f 804/1322/113 808/1324/113 803/1323/113 +f 805/1327/114 810/1325/114 806/1328/114 +f 813/1329/111 812/1330/111 811/1331/111 +f 816/1332/112 818/1333/112 815/1334/112 +f 812/1330/115 816/1332/115 811/1331/115 +f 813/1335/116 818/1333/116 814/1336/116 +f 820/1337/112 840/1338/112 837/1339/112 +f 849/1340/108 848/1341/108 850/1342/108 +f 838/1343/111 841/1344/111 819/1345/111 +f 846/1346/111 849/1340/111 843/1347/111 +f 841/1344/107 840/1338/107 842/1348/107 +f 830/1349/107 828/1350/107 826/1351/107 +f 844/1352/112 848/1341/112 845/1353/112 +f 827/1354/108 831/1355/108 835/1356/108 +f 784/1357/117 852/1269/117 786/1358/117 +f 786/1359/118 853/1360/118 785/1361/118 +f 785/1270/119 854/1266/119 783/1362/119 +f 783/1363/120 851/1264/120 784/1364/120 +f 767/1365/120 856/1282/120 768/1366/120 +f 769/1273/119 855/1280/119 767/1367/119 +f 770/1368/118 857/1369/118 769/1370/118 +f 768/1371/117 858/1277/117 770/1372/117 +f 773/1373/117 860/1291/117 771/1374/117 +f 771/1375/118 861/1376/118 772/1377/118 +f 772/1292/119 862/1289/119 774/1378/119 +f 774/1379/120 859/1287/120 773/1380/120 +f 789/1381/117 864/1299/117 787/1382/117 +f 787/1383/118 865/1384/118 788/1385/118 +f 788/1300/119 866/1297/119 790/1386/119 +f 790/1387/120 863/1258/120 789/1388/120 +f 868/1389/107 869/1390/107 867/1391/107 +f 873/1392/111 882/1393/111 874/1394/111 +f 870/1395/109 875/1396/109 869/1390/109 +f 867/1391/110 877/1397/110 868/1389/110 +f 868/1389/111 878/1398/111 870/1395/111 +f 869/1390/112 876/1399/112 867/1391/112 +f 872/1400/108 875/1401/108 871/1402/108 +f 873/1403/108 876/1404/108 872/1405/108 +f 874/1394/108 877/1406/108 873/1392/108 +f 871/1407/108 878/1408/108 874/1409/108 +f 871/1402/112 880/1410/112 872/1400/112 +f 874/1409/109 879/1411/109 871/1407/109 +f 872/1405/110 881/1412/110 873/1403/110 +f 884/1413/107 885/1414/107 883/1415/107 +f 889/1416/111 898/1417/111 890/1418/111 +f 886/1419/109 891/1420/109 885/1414/109 +f 883/1415/110 893/1421/110 884/1413/110 +f 884/1413/111 894/1422/111 886/1419/111 +f 885/1414/112 892/1423/112 883/1415/112 +f 888/1424/108 891/1425/108 887/1426/108 +f 889/1427/108 892/1428/108 888/1429/108 +f 890/1418/108 893/1430/108 889/1416/108 +f 887/1431/108 894/1432/108 890/1433/108 +f 887/1426/112 896/1434/112 888/1424/112 +f 890/1433/109 895/1435/109 887/1431/109 +f 888/1429/110 897/1436/110 889/1427/110 +f 900/1437/108 901/1438/108 899/1439/108 +f 905/1440/111 914/1441/111 906/1442/111 +f 902/1443/110 907/1444/110 901/1438/110 +f 899/1439/109 909/1445/109 900/1437/109 +f 900/1437/111 910/1446/111 902/1443/111 +f 901/1438/112 908/1447/112 899/1439/112 +f 904/1448/107 907/1449/107 903/1450/107 +f 905/1451/107 908/1452/107 904/1453/107 +f 906/1442/107 909/1454/107 905/1440/107 +f 903/1455/107 910/1456/107 906/1457/107 +f 903/1450/112 912/1458/112 904/1448/112 +f 906/1457/110 911/1459/110 903/1455/110 +f 904/1453/109 913/1460/109 905/1451/109 +f 916/1461/108 917/1462/108 915/1463/108 +f 921/1464/111 930/1465/111 922/1466/111 +f 918/1467/110 923/1468/110 917/1462/110 +f 915/1463/109 925/1469/109 916/1461/109 +f 916/1461/111 926/1470/111 918/1467/111 +f 917/1462/112 924/1471/112 915/1463/112 +f 920/1472/107 923/1473/107 919/1474/107 +f 921/1475/107 924/1476/107 920/1477/107 +f 922/1466/107 925/1478/107 921/1464/107 +f 919/1479/107 926/1480/107 922/1481/107 +f 919/1474/112 928/1482/112 920/1472/112 +f 922/1481/110 927/1483/110 919/1479/110 +f 920/1477/109 929/1484/109 921/1475/109 +f 932/1485/108 933/1486/108 931/1487/108 +f 937/1488/111 946/1489/111 938/1490/111 +f 934/1491/110 939/1492/110 933/1486/110 +f 931/1487/109 941/1493/109 932/1485/109 +f 932/1485/111 942/1494/111 934/1491/111 +f 933/1486/112 940/1495/112 931/1487/112 +f 936/1496/107 939/1497/107 935/1498/107 +f 937/1499/107 940/1500/107 936/1501/107 +f 938/1490/107 941/1502/107 937/1488/107 +f 935/1503/107 942/1504/107 938/1505/107 +f 935/1498/112 944/1506/112 936/1496/112 +f 938/1505/110 943/1507/110 935/1503/110 +f 936/1501/109 945/1508/109 937/1499/109 +f 948/1509/109 949/1510/109 947/1511/109 +f 953/1512/111 962/1513/111 954/1514/111 +f 950/1515/108 955/1516/108 949/1510/108 +f 947/1511/107 957/1517/107 948/1509/107 +f 948/1509/111 958/1518/111 950/1515/111 +f 949/1510/112 956/1519/112 947/1511/112 +f 952/1520/110 955/1521/110 951/1522/110 +f 953/1523/110 956/1524/110 952/1525/110 +f 954/1514/110 957/1526/110 953/1512/110 +f 951/1527/110 958/1528/110 954/1529/110 +f 951/1522/112 960/1530/112 952/1520/112 +f 954/1529/108 959/1531/108 951/1527/108 +f 952/1525/107 961/1532/107 953/1523/107 +f 964/1533/109 965/1534/109 963/1535/109 +f 969/1536/111 978/1537/111 970/1538/111 +f 966/1539/108 971/1540/108 965/1534/108 +f 963/1535/107 973/1541/107 964/1533/107 +f 964/1533/111 974/1542/111 966/1539/111 +f 965/1534/112 972/1543/112 963/1535/112 +f 968/1544/110 971/1545/110 967/1546/110 +f 969/1547/110 972/1548/110 968/1549/110 +f 970/1538/110 973/1550/110 969/1536/110 +f 967/1551/110 974/1552/110 970/1553/110 +f 967/1546/112 976/1554/112 968/1544/112 +f 970/1553/108 975/1555/108 967/1551/108 +f 968/1549/107 977/1556/107 969/1547/107 +f 980/1557/109 981/1558/109 979/1559/109 +f 985/1560/111 994/1561/111 986/1562/111 +f 982/1563/108 987/1564/108 981/1558/108 +f 979/1559/107 989/1565/107 980/1557/107 +f 980/1557/111 990/1566/111 982/1563/111 +f 981/1558/112 988/1567/112 979/1559/112 +f 984/1568/110 987/1569/110 983/1570/110 +f 985/1571/110 988/1572/110 984/1573/110 +f 986/1562/110 989/1574/110 985/1560/110 +f 983/1575/110 990/1576/110 986/1577/110 +f 984/1568/112 991/1578/112 992/1579/112 +f 986/1577/108 991/1580/108 983/1575/108 +f 984/1573/107 993/1581/107 985/1571/107 +f 996/1582/110 997/1583/110 995/1584/110 +f 1001/1585/111 1010/1586/111 1002/1587/111 +f 998/1588/107 1003/1589/107 997/1583/107 +f 995/1584/108 1005/1590/108 996/1582/108 +f 996/1582/111 1006/1591/111 998/1588/111 +f 997/1583/112 1004/1592/112 995/1584/112 +f 1000/1593/109 1003/1594/109 999/1595/109 +f 1001/1596/109 1004/1597/109 1000/1598/109 +f 1002/1587/109 1005/1599/109 1001/1585/109 +f 999/1600/109 1006/1601/109 1002/1602/109 +f 1000/1593/112 1007/1603/112 1008/1604/112 +f 1002/1602/107 1007/1605/107 999/1600/107 +f 1000/1598/108 1009/1606/108 1001/1596/108 +f 1012/1607/110 1013/1608/110 1011/1609/110 +f 1017/1610/111 1026/1611/111 1018/1612/111 +f 1014/1613/107 1019/1614/107 1013/1608/107 +f 1011/1609/108 1021/1615/108 1012/1607/108 +f 1012/1607/111 1022/1616/111 1014/1613/111 +f 1013/1608/112 1020/1617/112 1011/1609/112 +f 1016/1618/109 1019/1619/109 1015/1620/109 +f 1017/1621/109 1020/1622/109 1016/1623/109 +f 1018/1612/109 1021/1624/109 1017/1610/109 +f 1015/1625/109 1022/1626/109 1018/1627/109 +f 1015/1620/112 1024/1628/112 1016/1618/112 +f 1018/1627/107 1023/1629/107 1015/1625/107 +f 1016/1623/108 1025/1630/108 1017/1621/108 +f 1028/1631/110 1029/1632/110 1027/1633/110 +f 1033/1634/111 1042/1635/111 1034/1636/111 +f 1030/1637/107 1035/1638/107 1029/1632/107 +f 1027/1633/108 1037/1639/108 1028/1631/108 +f 1028/1631/111 1038/1640/111 1030/1637/111 +f 1027/1633/112 1035/1641/112 1036/1642/112 +f 1032/1643/109 1035/1641/109 1031/1644/109 +f 1033/1645/109 1036/1646/109 1032/1647/109 +f 1034/1636/109 1037/1648/109 1033/1634/109 +f 1031/1649/109 1038/1650/109 1034/1651/109 +f 1032/1643/112 1039/1652/112 1040/1653/112 +f 1034/1651/107 1039/1654/107 1031/1649/107 +f 1032/1647/108 1041/1655/108 1033/1645/108 +f 566/989/107 563/1045/107 564/990/107 +f 568/992/108 570/995/108 569/993/108 +f 570/995/109 574/997/109 573/996/109 +f 574/997/107 572/1004/107 571/998/107 +f 572/999/110 568/992/110 567/994/110 +f 573/996/111 571/998/111 567/1001/111 +f 570/1003/112 568/1656/112 572/1004/112 +f 576/1005/108 578/1008/108 577/1006/108 +f 578/1008/109 582/1010/109 581/1009/109 +f 582/1010/107 580/1017/107 579/1011/107 +f 580/1012/110 576/1005/110 575/1007/110 +f 581/1009/111 579/1011/111 575/1014/111 +f 578/1016/112 576/1657/112 580/1017/112 +f 584/1018/108 586/1021/108 585/1019/108 +f 586/1021/109 590/1023/109 589/1022/109 +f 590/1023/107 588/1030/107 587/1024/107 +f 588/1025/110 584/1018/110 583/1020/110 +f 589/1022/111 587/1024/111 583/1027/111 +f 586/1029/112 584/1658/112 588/1030/112 +f 592/1031/108 594/1034/108 593/1032/108 +f 594/1034/109 598/1036/109 597/1035/109 +f 598/1036/107 596/1043/107 595/1037/107 +f 596/1038/110 592/1031/110 591/1033/110 +f 597/1035/111 595/1037/111 591/1040/111 +f 594/1042/112 592/1659/112 596/1043/112 +f 565/991/111 601/1660/111 602/1044/111 +f 563/1045/112 599/1661/112 600/1046/112 +f 602/1044/108 601/1660/108 600/1047/108 +f 606/1049/107 603/1662/107 604/1050/107 +f 605/1051/111 609/1663/111 610/1052/111 +f 603/1053/112 607/1056/112 608/1054/112 +f 610/1052/108 609/1663/108 608/1054/108 +f 614/1057/109 611/1061/109 612/1058/109 +f 613/1059/111 617/1664/111 618/1060/111 +f 611/1061/112 615/1665/112 616/1062/112 +f 618/1060/110 617/1664/110 616/1063/110 +f 622/1065/109 619/1666/109 620/1066/109 +f 621/1067/111 625/1667/111 626/1068/111 +f 619/1069/112 623/1072/112 624/1070/112 +f 626/1068/110 625/1667/110 624/1070/110 +f 628/1073/107 630/1079/107 629/1074/107 +f 633/1076/111 641/1668/111 642/1077/111 +f 630/1079/109 638/1092/109 635/1080/109 +f 627/1075/110 636/1088/110 637/1081/110 +f 628/1073/111 637/1090/111 638/1082/111 +f 629/1074/112 635/1085/112 636/1083/112 +f 632/1084/108 636/1083/108 635/1085/108 +f 633/1087/108 637/1081/108 636/1088/108 +f 634/1078/108 638/1082/108 637/1090/108 +f 631/1091/108 635/1080/108 638/1092/108 +f 631/1086/112 639/1669/112 640/1094/112 +f 634/1093/109 642/1670/109 639/1095/109 +f 632/1089/110 640/1671/110 641/1096/110 +f 645/1097/111 646/1672/111 644/1098/111 +f 649/1100/112 650/1104/112 647/1101/112 +f 645/1103/108 647/1101/108 650/1104/108 +f 644/1098/107 649/1100/107 648/1102/107 +f 646/1106/109 650/1104/109 649/1100/109 +f 643/1108/110 648/1102/110 647/1101/110 +f 653/1110/111 654/1673/111 652/1111/111 +f 657/1113/112 658/1117/112 655/1114/112 +f 653/1116/108 655/1114/108 658/1117/108 +f 652/1111/107 657/1113/107 656/1115/107 +f 654/1119/109 658/1117/109 657/1113/109 +f 651/1121/110 656/1115/110 655/1114/110 +f 661/1123/111 662/1674/111 660/1124/111 +f 665/1126/112 666/1130/112 663/1127/112 +f 661/1129/108 663/1127/108 666/1130/108 +f 660/1124/107 665/1126/107 664/1128/107 +f 662/1132/109 666/1130/109 665/1126/109 +f 659/1134/110 664/1128/110 663/1127/110 +f 667/1136/111 675/1148/111 676/1137/111 +f 673/1139/112 678/1675/112 677/1140/112 +f 668/1138/107 676/1137/107 678/1142/107 +f 669/1144/109 671/1168/109 674/1145/109 +f 668/1138/110 673/1676/110 672/1147/110 +f 677/1140/109 678/1675/109 676/1137/109 +f 672/1149/108 677/1677/108 675/1148/108 +f 680/1150/109 682/1161/109 681/1151/109 +f 686/1153/110 685/1160/110 683/1154/110 +f 681/1156/111 686/1162/111 684/1157/111 +f 679/1159/108 684/1678/108 683/1154/108 +f 680/1150/112 683/1154/112 685/1160/112 +f 682/1161/107 685/1160/107 686/1162/107 +f 689/1163/110 690/1167/110 688/1164/110 +f 669/1166/108 688/1679/108 690/1167/108 +f 671/1168/112 690/1167/112 689/1163/112 +f 670/1169/111 687/1172/111 688/1170/111 +f 674/1145/107 689/1163/107 687/1172/107 +f 700/1173/112 701/1210/112 717/1174/112 +f 699/1176/112 700/1173/112 716/1177/112 +f 698/1179/112 699/1176/112 715/1180/112 +f 697/1182/112 698/1179/112 714/1183/112 +f 696/1185/112 697/1182/112 713/1186/112 +f 695/1188/112 696/1185/112 712/1189/112 +f 695/1191/112 711/1680/112 710/1192/112 +f 694/1193/112 710/1681/112 709/1194/112 +f 693/1195/112 709/1682/112 708/1196/112 +f 692/1197/112 708/1683/112 707/1198/112 +f 691/1199/112 707/1684/112 722/1200/112 +f 706/1201/112 722/1685/112 721/1202/112 +f 705/1203/112 721/1686/112 720/1204/112 +f 704/1205/112 720/1687/112 719/1206/112 +f 703/1207/112 719/1688/112 718/1208/112 +f 701/1210/112 702/1209/112 718/1211/112 +f 732/1213/111 748/1689/111 749/1214/111 +f 731/1216/111 747/1690/111 748/1217/111 +f 730/1218/111 746/1691/111 747/1219/111 +f 729/1220/111 745/1692/111 746/1221/111 +f 728/1222/111 744/1693/111 745/1223/111 +f 727/1224/111 743/1694/111 744/1225/111 +f 742/1226/111 743/1695/111 727/1227/111 +f 741/1229/111 742/1696/111 726/1228/111 +f 739/1231/111 741/1697/111 725/1230/111 +f 740/1233/111 739/1698/111 723/1232/111 +f 754/1235/111 740/1699/111 724/1234/111 +f 753/1237/111 754/1700/111 738/1236/111 +f 752/1239/111 753/1701/111 737/1238/111 +f 751/1241/111 752/1702/111 736/1240/111 +f 750/1243/111 751/1703/111 735/1242/111 +f 733/1215/111 749/1704/111 750/1245/111 +f 756/1246/112 758/1253/112 757/1247/112 +f 761/1249/107 801/1316/107 802/1250/107 +f 757/1247/108 795/1306/108 796/1252/108 +f 758/1253/109 798/1313/109 795/1254/109 +f 755/1248/110 796/1309/110 797/1255/110 +f 756/1246/107 797/1311/107 798/1256/107 +f 794/1257/108 864/1299/108 863/1258/108 +f 791/1260/107 866/1297/107 865/1261/107 +f 779/1263/108 852/1269/108 851/1264/108 +f 781/1265/109 851/1264/109 854/1266/109 +f 780/1268/110 853/1360/110 852/1269/110 +f 785/1270/112 783/1362/112 784/1271/112 +f 769/1273/112 767/1367/112 768/1274/112 +f 764/1276/110 857/1369/110 858/1277/110 +f 765/1279/109 856/1282/109 855/1280/109 +f 763/1278/108 858/1277/108 856/1282/108 +f 775/1283/107 862/1289/107 861/1284/107 +f 778/1286/108 860/1291/108 859/1287/108 +f 776/1288/109 859/1287/109 862/1289/109 +f 777/1290/110 861/1376/110 860/1291/110 +f 772/1292/112 774/1378/112 773/1293/112 +f 766/1281/107 855/1280/107 857/1295/107 +f 792/1259/109 863/1258/109 866/1297/109 +f 793/1298/110 865/1384/110 864/1299/110 +f 788/1300/112 790/1386/112 789/1301/112 +f 782/1267/107 854/1266/107 853/1303/107 +f 760/1305/111 796/1252/111 795/1306/111 +f 761/1308/111 797/1255/111 796/1309/111 +f 762/1251/111 798/1256/111 797/1311/111 +f 759/1312/111 795/1254/111 798/1313/111 +f 799/1315/111 802/1250/111 801/1316/111 +f 759/1307/108 799/1705/108 800/1318/108 +f 762/1314/109 802/1706/109 799/1319/109 +f 760/1310/110 800/1707/110 801/1320/110 +f 805/1321/111 806/1708/111 804/1322/111 +f 808/1324/112 809/1709/112 810/1325/112 +f 804/1322/113 809/1709/113 808/1324/113 +f 805/1327/114 807/1326/114 810/1325/114 +f 813/1329/111 814/1710/111 812/1330/111 +f 816/1332/112 817/1711/112 818/1333/112 +f 812/1330/115 817/1711/115 816/1332/115 +f 813/1335/116 815/1334/116 818/1333/116 +f 820/1337/112 842/1348/112 840/1338/112 +f 849/1340/108 847/1712/108 848/1341/108 +f 838/1343/111 839/1713/111 841/1344/111 +f 846/1346/111 847/1712/111 849/1340/111 +f 841/1344/107 839/1713/107 840/1338/107 +f 826/1351/107 824/1714/107 822/1715/107 +f 822/1715/107 836/1716/107 826/1351/107 +f 836/1716/107 834/1717/107 826/1351/107 +f 834/1717/107 832/1718/107 826/1351/107 +f 832/1718/107 830/1349/107 826/1351/107 +f 844/1352/112 850/1342/112 848/1341/112 +f 835/1356/108 821/1719/108 823/1720/108 +f 823/1720/108 825/1721/108 827/1354/108 +f 827/1354/108 829/1722/108 831/1355/108 +f 831/1355/108 833/1723/108 835/1356/108 +f 835/1356/108 823/1720/108 827/1354/108 +f 784/1357/117 851/1264/117 852/1269/117 +f 786/1359/118 852/1269/118 853/1360/118 +f 785/1270/119 853/1303/119 854/1266/119 +f 783/1363/120 854/1266/120 851/1264/120 +f 767/1365/120 855/1280/120 856/1282/120 +f 769/1273/119 857/1295/119 855/1280/119 +f 770/1368/118 858/1277/118 857/1369/118 +f 768/1371/117 856/1282/117 858/1277/117 +f 773/1373/117 859/1287/117 860/1291/117 +f 771/1375/118 860/1291/118 861/1376/118 +f 772/1292/119 861/1284/119 862/1289/119 +f 774/1379/120 862/1289/120 859/1287/120 +f 789/1381/117 863/1258/117 864/1299/117 +f 787/1383/118 864/1299/118 865/1384/118 +f 788/1300/119 865/1261/119 866/1297/119 +f 790/1387/120 866/1297/120 863/1258/120 +f 868/1389/107 870/1395/107 869/1390/107 +f 873/1392/111 881/1724/111 882/1393/111 +f 870/1395/109 878/1408/109 875/1396/109 +f 867/1391/110 876/1404/110 877/1397/110 +f 868/1389/111 877/1406/111 878/1398/111 +f 869/1390/112 875/1401/112 876/1399/112 +f 872/1400/108 876/1399/108 875/1401/108 +f 873/1403/108 877/1397/108 876/1404/108 +f 874/1394/108 878/1398/108 877/1406/108 +f 871/1407/108 875/1396/108 878/1408/108 +f 871/1402/112 879/1725/112 880/1410/112 +f 874/1409/109 882/1726/109 879/1411/109 +f 872/1405/110 880/1727/110 881/1412/110 +f 884/1413/107 886/1419/107 885/1414/107 +f 889/1416/111 897/1728/111 898/1417/111 +f 886/1419/109 894/1432/109 891/1420/109 +f 883/1415/110 892/1428/110 893/1421/110 +f 884/1413/111 893/1430/111 894/1422/111 +f 885/1414/112 891/1425/112 892/1423/112 +f 888/1424/108 892/1423/108 891/1425/108 +f 889/1427/108 893/1421/108 892/1428/108 +f 890/1418/108 894/1422/108 893/1430/108 +f 887/1431/108 891/1420/108 894/1432/108 +f 887/1426/112 895/1729/112 896/1434/112 +f 890/1433/109 898/1730/109 895/1435/109 +f 888/1429/110 896/1731/110 897/1436/110 +f 900/1437/108 902/1443/108 901/1438/108 +f 905/1440/111 913/1732/111 914/1441/111 +f 902/1443/110 910/1456/110 907/1444/110 +f 899/1439/109 908/1452/109 909/1445/109 +f 900/1437/111 909/1454/111 910/1446/111 +f 901/1438/112 907/1449/112 908/1447/112 +f 904/1448/107 908/1447/107 907/1449/107 +f 905/1451/107 909/1445/107 908/1452/107 +f 906/1442/107 910/1446/107 909/1454/107 +f 903/1455/107 907/1444/107 910/1456/107 +f 903/1450/112 911/1733/112 912/1458/112 +f 906/1457/110 914/1734/110 911/1459/110 +f 904/1453/109 912/1735/109 913/1460/109 +f 916/1461/108 918/1467/108 917/1462/108 +f 921/1464/111 929/1736/111 930/1465/111 +f 918/1467/110 926/1480/110 923/1468/110 +f 915/1463/109 924/1476/109 925/1469/109 +f 916/1461/111 925/1478/111 926/1470/111 +f 917/1462/112 923/1473/112 924/1471/112 +f 920/1472/107 924/1471/107 923/1473/107 +f 921/1475/107 925/1469/107 924/1476/107 +f 922/1466/107 926/1470/107 925/1478/107 +f 919/1479/107 923/1468/107 926/1480/107 +f 919/1474/112 927/1737/112 928/1482/112 +f 922/1481/110 930/1738/110 927/1483/110 +f 920/1477/109 928/1739/109 929/1484/109 +f 932/1485/108 934/1491/108 933/1486/108 +f 937/1488/111 945/1740/111 946/1489/111 +f 934/1491/110 942/1504/110 939/1492/110 +f 931/1487/109 940/1500/109 941/1493/109 +f 932/1485/111 941/1502/111 942/1494/111 +f 933/1486/112 939/1497/112 940/1495/112 +f 936/1496/107 940/1495/107 939/1497/107 +f 937/1499/107 941/1493/107 940/1500/107 +f 938/1490/107 942/1494/107 941/1502/107 +f 935/1503/107 939/1492/107 942/1504/107 +f 935/1498/112 943/1741/112 944/1506/112 +f 938/1505/110 946/1742/110 943/1507/110 +f 936/1501/109 944/1743/109 945/1508/109 +f 948/1509/109 950/1515/109 949/1510/109 +f 953/1512/111 961/1744/111 962/1513/111 +f 950/1515/108 958/1528/108 955/1516/108 +f 947/1511/107 956/1524/107 957/1517/107 +f 948/1509/111 957/1526/111 958/1518/111 +f 949/1510/112 955/1521/112 956/1519/112 +f 952/1520/110 956/1519/110 955/1521/110 +f 953/1523/110 957/1517/110 956/1524/110 +f 954/1514/110 958/1518/110 957/1526/110 +f 951/1527/110 955/1516/110 958/1528/110 +f 951/1522/112 959/1745/112 960/1530/112 +f 954/1529/108 962/1746/108 959/1531/108 +f 952/1525/107 960/1747/107 961/1532/107 +f 964/1533/109 966/1539/109 965/1534/109 +f 969/1536/111 977/1748/111 978/1537/111 +f 966/1539/108 974/1552/108 971/1540/108 +f 963/1535/107 972/1548/107 973/1541/107 +f 964/1533/111 973/1550/111 974/1542/111 +f 965/1534/112 971/1545/112 972/1543/112 +f 968/1544/110 972/1543/110 971/1545/110 +f 969/1547/110 973/1541/110 972/1548/110 +f 970/1538/110 974/1542/110 973/1550/110 +f 967/1551/110 971/1540/110 974/1552/110 +f 967/1546/112 975/1749/112 976/1554/112 +f 970/1553/108 978/1750/108 975/1555/108 +f 968/1549/107 976/1751/107 977/1556/107 +f 980/1557/109 982/1563/109 981/1558/109 +f 985/1560/111 993/1752/111 994/1561/111 +f 982/1563/108 990/1576/108 987/1564/108 +f 979/1559/107 988/1572/107 989/1565/107 +f 980/1557/111 989/1574/111 990/1566/111 +f 981/1558/112 987/1569/112 988/1567/112 +f 984/1568/110 988/1567/110 987/1569/110 +f 985/1571/110 989/1565/110 988/1572/110 +f 986/1562/110 990/1566/110 989/1574/110 +f 983/1575/110 987/1564/110 990/1576/110 +f 984/1568/112 983/1570/112 991/1578/112 +f 986/1577/108 994/1753/108 991/1580/108 +f 984/1573/107 992/1754/107 993/1581/107 +f 996/1582/110 998/1588/110 997/1583/110 +f 1001/1585/111 1009/1755/111 1010/1586/111 +f 998/1588/107 1006/1601/107 1003/1589/107 +f 995/1584/108 1004/1597/108 1005/1590/108 +f 996/1582/111 1005/1599/111 1006/1591/111 +f 997/1583/112 1003/1594/112 1004/1592/112 +f 1000/1593/109 1004/1592/109 1003/1594/109 +f 1001/1596/109 1005/1590/109 1004/1597/109 +f 1002/1587/109 1006/1591/109 1005/1599/109 +f 999/1600/109 1003/1589/109 1006/1601/109 +f 1000/1593/112 999/1595/112 1007/1603/112 +f 1002/1602/107 1010/1756/107 1007/1605/107 +f 1000/1598/108 1008/1757/108 1009/1606/108 +f 1012/1607/110 1014/1613/110 1013/1608/110 +f 1017/1610/111 1025/1758/111 1026/1611/111 +f 1014/1613/107 1022/1626/107 1019/1614/107 +f 1011/1609/108 1020/1622/108 1021/1615/108 +f 1012/1607/111 1021/1624/111 1022/1616/111 +f 1013/1608/112 1019/1619/112 1020/1617/112 +f 1016/1618/109 1020/1617/109 1019/1619/109 +f 1017/1621/109 1021/1615/109 1020/1622/109 +f 1018/1612/109 1022/1616/109 1021/1624/109 +f 1015/1625/109 1019/1614/109 1022/1626/109 +f 1015/1620/112 1023/1759/112 1024/1628/112 +f 1018/1627/107 1026/1760/107 1023/1629/107 +f 1016/1623/108 1024/1761/108 1025/1630/108 +f 1028/1631/110 1030/1637/110 1029/1632/110 +f 1033/1634/111 1041/1762/111 1042/1635/111 +f 1030/1637/107 1038/1650/107 1035/1638/107 +f 1027/1633/108 1036/1646/108 1037/1639/108 +f 1028/1631/111 1037/1648/111 1038/1640/111 +f 1027/1633/112 1029/1632/112 1035/1641/112 +f 1032/1643/109 1036/1642/109 1035/1641/109 +f 1033/1645/109 1037/1639/109 1036/1646/109 +f 1034/1636/109 1038/1640/109 1037/1648/109 +f 1031/1649/109 1035/1638/109 1038/1650/109 +f 1032/1643/112 1031/1644/112 1039/1652/112 +f 1034/1651/107 1042/1763/107 1039/1654/107 +f 1032/1647/108 1040/1764/108 1041/1655/108 +s 1 +f 698/1179/121 731/1216/110 699/1176/110 +f 713/1186/115 744/1765/122 712/1187/122 +f 699/1176/110 732/1213/123 700/1173/123 +f 714/1183/124 745/1766/115 713/1184/115 +f 700/1173/123 733/1215/113 701/1210/113 +f 715/1180/109 746/1767/124 714/1181/124 +f 701/1210/113 734/1244/125 702/1209/125 +f 716/1177/126 747/1768/109 715/1178/109 +f 702/1209/125 735/1242/107 703/1207/107 +f 717/1174/114 748/1769/126 716/1175/126 +f 703/1207/107 736/1240/122 704/1205/122 +f 718/1211/127 749/1770/114 717/1212/114 +f 704/1205/122 737/1238/115 705/1203/115 +f 691/1199/109 723/1232/126 692/1197/126 +f 719/1688/108 750/1771/127 718/1208/127 +f 705/1203/115 738/1236/124 706/1201/124 +f 692/1197/126 725/1230/114 693/1195/114 +f 720/1687/128 751/1772/108 719/1206/108 +f 706/1201/124 724/1234/109 691/1199/109 +f 693/1195/114 726/1228/127 694/1193/127 +f 721/1686/116 752/1773/128 720/1204/128 +f 708/1683/123 740/1774/110 707/1198/110 +f 694/1193/127 727/1227/108 695/1191/108 +f 722/1685/121 753/1775/116 721/1202/116 +f 709/1682/113 739/1776/123 708/1196/123 +f 695/1188/108 728/1222/128 696/1185/128 +f 707/1684/110 754/1777/121 722/1200/121 +f 710/1681/125 741/1778/113 709/1194/113 +f 696/1185/128 729/1220/116 697/1182/116 +f 711/1680/107 742/1779/125 710/1192/125 +f 697/1182/116 730/1218/121 698/1179/121 +f 712/1189/122 743/1780/107 711/1190/107 +f 822/1781/109 823/1782/129 821/1783/109 +f 824/1784/129 825/1785/111 823/1782/129 +f 826/1786/111 827/1787/130 825/1788/111 +f 828/1789/130 829/1790/110 827/1787/130 +f 830/1791/110 831/1792/118 829/1790/110 +f 832/1793/118 833/1794/112 831/1792/118 +f 834/1795/112 835/1796/120 833/1794/112 +f 836/1797/120 821/1783/109 835/1796/120 +f 698/1179/121 730/1218/121 731/1216/110 +f 713/1186/115 745/1798/115 744/1765/122 +f 699/1176/110 731/1216/110 732/1213/123 +f 714/1183/124 746/1799/124 745/1766/115 +f 700/1173/123 732/1213/123 733/1215/113 +f 715/1180/109 747/1800/109 746/1767/124 +f 701/1210/113 733/1215/113 734/1244/125 +f 716/1177/126 748/1801/126 747/1768/109 +f 702/1209/125 734/1244/125 735/1242/107 +f 717/1174/114 749/1802/114 748/1769/126 +f 703/1207/107 735/1242/107 736/1240/122 +f 718/1211/127 750/1803/127 749/1770/114 +f 704/1205/122 736/1240/122 737/1238/115 +f 691/1199/109 724/1234/109 723/1232/126 +f 719/1688/108 751/1804/108 750/1771/127 +f 705/1203/115 737/1238/115 738/1236/124 +f 692/1197/126 723/1232/126 725/1230/114 +f 720/1687/128 752/1805/128 751/1772/108 +f 706/1201/124 738/1236/124 724/1234/109 +f 693/1195/114 725/1230/114 726/1228/127 +f 721/1686/116 753/1806/116 752/1773/128 +f 708/1683/123 739/1807/123 740/1774/110 +f 694/1193/127 726/1228/127 727/1227/108 +f 722/1685/121 754/1808/121 753/1775/116 +f 709/1682/113 741/1809/113 739/1776/123 +f 695/1188/108 727/1224/108 728/1222/128 +f 707/1684/110 740/1810/110 754/1777/121 +f 710/1681/125 742/1811/125 741/1778/113 +f 696/1185/128 728/1222/128 729/1220/116 +f 711/1680/107 743/1812/107 742/1779/125 +f 697/1182/116 729/1220/116 730/1218/121 +f 712/1189/122 744/1813/122 743/1780/107 +f 822/1781/109 824/1784/129 823/1782/129 +f 824/1784/129 826/1814/111 825/1785/111 +f 826/1786/111 828/1789/130 827/1787/130 +f 828/1789/130 830/1791/110 829/1790/110 +f 830/1791/110 832/1793/118 831/1792/118 +f 832/1793/118 834/1795/112 833/1794/112 +f 834/1795/112 836/1797/120 835/1796/120 +f 836/1797/120 822/1781/109 821/1783/109 diff --git a/src/main/resources/assets/hbm/models/machines/catalytic_cracker.obj b/src/main/resources/assets/hbm/models/machines/catalytic_cracker.obj new file mode 100644 index 000000000..f9003e45a --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/catalytic_cracker.obj @@ -0,0 +1,7525 @@ +# Blender 4.0.2 +# www.blender.org +mtllib CatalyticCrackerV2.mtl +o Cube +v 3.500000 0.000000 -3.500000 +v 3.500000 1.000000 -3.500000 +v 3.500001 0.000000 2.500000 +v 3.500001 1.000000 2.500000 +v -3.500000 0.000000 -3.500000 +v -3.500000 1.000000 -3.500000 +v -3.499999 0.000000 2.500000 +v -3.499999 1.000000 2.500000 +v -0.625000 1.000000 -0.125000 +v -0.625000 1.000000 2.125000 +v -0.750000 2.000000 0.000000 +v -2.875000 1.000000 -0.125000 +v -2.875000 1.000000 2.125000 +v -2.750000 2.000000 0.000000 +v -2.750000 2.000000 2.000000 +v -0.750000 2.000000 2.000000 +v -2.562500 2.000000 0.000000 +v -2.562500 2.000000 0.187500 +v -2.562500 8.000000 0.000000 +v -2.750000 2.000000 0.000000 +v -2.750000 2.000000 0.187500 +v -2.750000 8.000000 0.000000 +v -2.750000 8.000000 0.187500 +v -2.562500 8.000000 0.187500 +v -2.562500 2.000000 1.812500 +v -2.562500 2.000000 2.000000 +v -2.562500 8.000000 1.812500 +v -2.750000 2.000000 1.812500 +v -2.750000 2.000000 2.000000 +v -2.750000 8.000000 1.812500 +v -2.750000 8.000000 2.000000 +v -2.562500 8.000000 2.000000 +v -0.750000 2.000000 0.000000 +v -0.750000 2.000000 0.187500 +v -0.750000 8.000000 0.000000 +v -0.937500 2.000000 0.000000 +v -0.937500 2.000000 0.187500 +v -0.937500 8.000000 0.000000 +v -0.937500 8.000000 0.187500 +v -0.750000 8.000000 0.187500 +v -0.750000 2.000000 1.812500 +v -0.750000 2.000000 2.000000 +v -0.750000 8.000000 1.812500 +v -0.937500 2.000000 1.812500 +v -0.937500 2.000000 2.000000 +v -0.937500 8.000000 1.812500 +v -0.937500 8.000000 2.000000 +v -0.750000 8.000000 2.000000 +v -0.000000 1.000000 -1.500000 +v 0.000000 1.000000 -1.000000 +v -0.000000 14.000000 -1.500000 +v -0.500000 1.000000 -1.500000 +v -0.500000 1.000000 -1.000000 +v -0.500000 14.000000 -1.500000 +v -0.500000 14.000000 -1.000000 +v 0.000000 14.000000 -1.000000 +v 1.500000 13.717531 2.232274 +v 0.837088 13.717531 2.100412 +v 1.499999 14.325825 1.825825 +v 2.162912 13.717531 2.100413 +v 1.500000 13.000000 2.375000 +v 0.782469 13.000000 2.232274 +v 2.217531 13.000000 2.232274 +v 1.500000 1.000000 2.375000 +v 0.782469 1.000000 2.232274 +v 2.217532 1.000000 2.232274 +v 2.825825 1.000000 1.825825 +v 3.232274 1.000000 1.217531 +v 2.825825 13.000000 1.825825 +v 3.232274 13.000000 1.217532 +v 2.724903 13.717531 1.724903 +v 2.437500 14.325825 1.437500 +v 3.100412 13.717531 1.162913 +v 2.724903 14.325825 1.007372 +v 3.232274 13.717531 0.500000 +v 2.825825 14.325825 0.500000 +v 3.100413 13.717531 -0.162912 +v 3.375000 13.000000 0.500000 +v 3.232274 13.000000 -0.217531 +v 3.375000 1.000000 0.500000 +v 3.232274 1.000000 -0.217532 +v 2.825825 1.000000 -0.825825 +v 2.217531 1.000000 -1.232274 +v 2.825826 13.000000 -0.825825 +v 2.217532 13.000000 -1.232274 +v 2.724903 13.717531 -0.724902 +v 2.437500 14.325825 -0.437500 +v 2.162913 13.717531 -1.100412 +v 2.007372 14.325825 -0.724902 +v 1.500000 13.717531 -1.232274 +v 1.500000 14.325825 -0.825825 +v 0.837088 13.717531 -1.100412 +v 1.500000 13.000000 -1.375000 +v 0.782469 13.000000 -1.232274 +v 1.500000 1.000000 -1.375000 +v 0.782468 1.000000 -1.232274 +v 0.174175 1.000000 -0.825825 +v -0.232274 1.000000 -0.217531 +v 0.174175 13.000000 -0.825825 +v -0.232274 13.000000 -0.217531 +v 0.275097 13.717531 -0.724903 +v 0.562500 14.325825 -0.437500 +v -0.100412 13.717531 -0.162913 +v 0.275098 14.325825 -0.007371 +v -0.232274 13.717531 0.500000 +v 0.174175 14.325825 0.500000 +v -0.100412 13.717531 1.162913 +v -0.375000 13.000000 0.500000 +v -0.232274 13.000000 1.217531 +v -0.375000 1.000000 0.500000 +v -0.232274 1.000000 1.217532 +v 0.174175 1.000000 1.825825 +v 0.174175 13.000000 1.825825 +v 0.275097 13.717531 1.724903 +v 0.562500 14.325825 1.437500 +v 0.992629 14.732274 1.007372 +v 0.992629 14.325825 1.724903 +v 0.275097 14.325825 1.007371 +v 0.837088 14.732274 0.774588 +v 0.782469 14.732274 0.500000 +v 1.500000 14.875000 0.500000 +v 1.774588 14.732274 -0.162913 +v 1.500000 14.732274 1.217531 +v 1.225413 14.732274 1.162913 +v 0.837088 14.732274 0.225413 +v 0.992629 14.732274 -0.007371 +v 1.225413 14.732274 -0.162913 +v 1.500000 14.732274 -0.217531 +v 2.007372 14.732274 -0.007371 +v 2.162913 14.732274 0.225413 +v 2.217531 14.732274 0.500000 +v 2.162913 14.732274 0.774588 +v 2.007371 14.732274 1.007372 +v 1.774587 14.732274 1.162913 +v 2.007371 14.325825 1.724903 +v 2.724903 14.325825 -0.007371 +v 0.992629 14.325825 -0.724903 +v -0.875000 1.250000 -1.625000 +v -1.250000 1.250000 -1.725481 +v -0.500000 1.250000 -1.725481 +v -0.875000 4.125000 -1.625000 +v -1.250000 4.125000 -1.725481 +v -0.875000 4.250000 -1.754409 +v -0.500000 4.125000 -1.725481 +v -0.564705 4.250000 -1.837553 +v -0.225481 4.125000 -2.000000 +v -0.337553 4.250000 -2.064705 +v -0.125000 4.125000 -2.375000 +v -0.225481 1.250000 -2.000000 +v -0.125000 1.250000 -2.375000 +v -0.225481 1.250000 -2.750000 +v -0.500000 1.250000 -3.024519 +v -0.225481 4.125000 -2.750000 +v -0.337553 4.250000 -2.685295 +v -0.500000 4.125000 -3.024519 +v -0.564705 4.250000 -2.912447 +v -0.875000 4.125000 -3.125000 +v -0.875000 4.250000 -2.995590 +v -1.250000 4.125000 -3.024519 +v -0.875000 1.250000 -3.125000 +v -1.250000 1.250000 -3.024519 +v -1.524519 1.250000 -2.750000 +v -1.625000 1.250000 -2.375000 +v -1.524519 4.125000 -2.750000 +v -1.412447 4.250000 -2.685295 +v -1.625000 4.125000 -2.375000 +v -1.495591 4.250000 -2.375000 +v -1.524519 4.125000 -2.000000 +v -1.412447 4.250000 -2.064704 +v -1.524519 1.250000 -2.000000 +v -1.185295 4.250000 -1.837553 +v -1.185296 4.250000 -2.912447 +v -0.254410 4.250000 -2.375000 +v -0.000000 1.000000 -3.250000 +v -0.000000 1.000000 -1.500000 +v -0.125000 1.250000 -3.125000 +v -1.750000 1.000000 -3.250000 +v -1.750000 1.000000 -1.500000 +v -1.625000 1.250000 -3.125000 +v -1.625000 1.250000 -1.625000 +v -0.125000 1.250000 -1.625000 +v -0.562500 1.000000 -1.500000 +v -0.562500 1.000000 -0.125000 +v -0.562500 3.000000 -1.500000 +v -2.500000 1.000000 -1.500000 +v -2.500000 1.000000 -0.125000 +v -2.500000 2.375000 -1.500000 +v -1.875000 3.000000 -1.500000 +v -2.500000 2.375000 -0.125000 +v -1.875000 3.000000 -0.125000 +v -0.562500 3.000000 -0.125000 +v -1.625000 1.187500 -1.625000 +v -1.625000 1.187500 -1.500000 +v -1.625000 2.312500 -1.625000 +v -2.000000 1.187500 -1.625000 +v -2.000000 1.187500 -1.500000 +v -2.000000 2.312500 -1.625000 +v -2.000000 2.312500 -1.500000 +v -1.625000 2.312500 -1.500000 +v -0.937500 3.000000 -0.187500 +v -1.070082 3.000000 -0.242417 +v -0.937500 5.000000 -0.187500 +v -0.804917 3.000000 -0.242417 +v -0.750000 3.000000 -0.375000 +v -0.804917 5.000000 -0.242417 +v -0.750000 5.000000 -0.375000 +v -0.788833 5.038833 -0.242417 +v -0.750000 5.000000 -0.375000 +v -0.882582 5.132583 -0.187500 +v -0.750000 5.054917 -0.242417 +v -0.750000 5.000000 -0.375000 +v -0.750000 5.187500 -0.187500 +v -0.687500 5.054917 -0.242417 +v -0.687500 5.000000 -0.375000 +v -0.687500 5.187500 -0.187500 +v -0.648668 5.054917 -0.226332 +v -0.554918 5.000000 -0.320082 +v -0.687500 5.187500 -0.187500 +v -0.632583 5.054917 -0.187500 +v -0.500000 5.000000 -0.187500 +v -0.687500 5.187500 -0.187500 +v -0.632582 5.054917 0.812500 +v -0.500000 5.000000 0.812500 +v -0.687500 5.187500 0.812500 +v -0.648668 5.054917 0.851333 +v -0.554918 5.000000 0.945083 +v -0.687500 5.187500 0.812500 +v -0.687500 5.054917 0.867417 +v -0.687500 5.000000 1.000000 +v -0.687500 5.187500 0.812500 +v -0.750000 5.054917 0.867417 +v -0.750000 5.000000 1.000000 +v -0.750000 5.187500 0.812500 +v -0.750000 5.320083 0.867417 +v -0.750000 5.375000 1.000000 +v -0.687500 5.320083 0.867417 +v -0.687500 5.375000 1.000000 +v -0.648668 5.320083 0.851333 +v -0.554918 5.375000 0.945083 +v -0.632582 5.320083 0.812500 +v -0.500000 5.375000 0.812500 +v -0.632583 5.320083 -0.187500 +v -0.500000 5.375000 -0.187500 +v -0.648668 5.320083 -0.226332 +v -0.554918 5.375000 -0.320082 +v -0.687500 5.320083 -0.242417 +v -0.687500 5.375000 -0.375000 +v -0.750000 5.320083 -0.242417 +v -0.750000 5.375000 -0.375000 +v -0.976333 5.226333 -0.242417 +v -1.015165 5.265165 -0.375000 +v -1.070082 5.000000 -0.242417 +v -1.125000 5.000000 -0.375000 +v -1.125000 3.000000 -0.375000 +v -1.070083 5.000000 -0.507582 +v -1.070083 3.000000 -0.507582 +v -0.937500 5.000000 -0.562500 +v -0.976333 5.226333 -0.507582 +v -0.882583 5.132583 -0.562500 +v -0.750000 5.320083 -0.507582 +v -0.750000 5.187500 -0.562500 +v -0.687500 5.320083 -0.507582 +v -0.687500 5.187500 -0.562500 +v -0.461168 5.320083 -0.413832 +v -0.422335 5.187500 -0.452665 +v -0.367418 5.320083 -0.187500 +v -0.312500 5.187500 -0.187500 +v -0.367417 5.320083 0.812500 +v -0.312500 5.187500 0.812500 +v -0.461168 5.320083 1.038833 +v -0.422335 5.187500 1.077665 +v -0.687500 5.320083 1.132583 +v -0.687500 5.187500 1.187500 +v -0.750000 5.320083 1.132583 +v -0.750000 5.187500 1.187500 +v -0.750000 5.054917 1.132583 +v -0.687500 5.054917 1.132583 +v -0.461168 5.054917 1.038833 +v -0.367417 5.054917 0.812500 +v -0.367418 5.054917 -0.187500 +v -0.461168 5.054917 -0.413832 +v -0.687500 5.054917 -0.507582 +v -0.750000 5.054917 -0.507582 +v -0.788833 5.038833 -0.507582 +v -0.804917 5.000000 -0.507582 +v -0.804917 3.000000 -0.507582 +v -0.937500 3.000000 -0.562500 +v -1.812500 4.750000 0.187500 +v -1.945082 4.695083 0.187500 +v -1.812500 4.750000 -2.187500 +v -1.679917 4.695083 0.187500 +v -1.625000 4.562500 0.187500 +v -1.679918 4.695083 -2.187500 +v -1.625000 4.562500 -2.187500 +v -1.663833 4.695083 -2.226332 +v -1.625000 4.562500 -2.187500 +v -1.757583 4.750000 -2.320082 +v -1.625000 4.695083 -2.242417 +v -1.625000 4.562500 -2.187500 +v -1.625000 4.750000 -2.375000 +v -1.062500 4.695083 -2.242417 +v -1.062500 4.562500 -2.187500 +v -1.062500 4.750000 -2.375000 +v -0.836168 4.601332 -2.242417 +v -0.929918 4.507582 -2.187500 +v -0.797336 4.640165 -2.375000 +v -0.742419 4.375000 -2.242418 +v -0.875001 4.375000 -2.187500 +v -0.687501 4.375000 -2.375000 +v -0.742419 4.250000 -2.242418 +v -0.875001 4.250000 -2.187500 +v -0.687501 4.250000 -2.375000 +v -0.742419 4.250000 -2.507583 +v -0.875001 4.250000 -2.562500 +v -0.742419 4.375000 -2.507583 +v -0.875001 4.375000 -2.562500 +v -0.836168 4.601332 -2.507582 +v -0.929918 4.507582 -2.562500 +v -1.062500 4.695083 -2.507582 +v -1.062500 4.562500 -2.562500 +v -1.625000 4.695083 -2.507582 +v -1.625000 4.562500 -2.562500 +v -1.851333 4.695083 -2.413832 +v -1.890165 4.562500 -2.452665 +v -1.945083 4.695083 -2.187500 +v -2.000000 4.562500 -2.187500 +v -2.000000 4.562500 0.187500 +v -1.945083 4.429917 -2.187500 +v -1.945082 4.429917 0.187500 +v -1.812500 4.375000 -2.187500 +v -1.851333 4.429917 -2.413832 +v -1.757583 4.375000 -2.320082 +v -1.625000 4.429917 -2.507582 +v -1.625000 4.375000 -2.375000 +v -1.062500 4.429917 -2.507582 +v -1.062500 4.375000 -2.375000 +v -1.023669 4.413833 -2.507582 +v -1.062501 4.375000 -2.375000 +v -1.007584 4.375000 -2.507582 +v -1.062501 4.375000 -2.375000 +v -1.007584 4.250000 -2.507582 +v -1.062501 4.250000 -2.375000 +v -1.007584 4.250000 -2.242418 +v -1.007584 4.375000 -2.242418 +v -1.023669 4.413833 -2.242418 +v -1.062500 4.429917 -2.242418 +v -1.625000 4.429917 -2.242418 +v -1.663833 4.429917 -2.226332 +v -1.679918 4.429917 -2.187500 +v -1.679917 4.429917 0.187500 +v -1.812500 4.375000 0.187500 +v -1.812500 3.375000 0.187500 +v -1.945082 3.320082 0.187500 +v -1.812500 3.375000 -1.062500 +v -1.679917 3.320082 0.187500 +v -1.625000 3.187500 0.187500 +v -1.679917 3.320082 -1.062500 +v -1.625000 3.187500 -1.062500 +v -1.663833 3.320083 -1.101332 +v -1.625000 3.187500 -1.062500 +v -1.757583 3.375000 -1.195082 +v -1.625000 3.320083 -1.117417 +v -1.625000 3.187500 -1.062500 +v -1.625000 3.375000 -1.250000 +v -1.000000 3.320083 -1.117417 +v -1.000000 3.375000 -1.250000 +v -1.000000 3.187500 -1.062500 +v -0.961167 3.336168 -1.117417 +v -1.000000 3.375000 -1.250000 +v -0.867417 3.242418 -1.062500 +v -0.945082 3.375000 -1.117417 +v -1.000000 3.375000 -1.250000 +v -0.812500 3.375000 -1.062500 +v -0.945082 4.750000 -1.117417 +v -1.000000 4.750000 -1.250000 +v -0.812500 4.750000 -1.062500 +v -0.945082 4.976334 -1.211168 +v -1.000000 4.882583 -1.304918 +v -0.812500 5.015166 -1.172335 +v -0.945082 5.070084 -1.437500 +v -1.000000 4.937501 -1.437500 +v -0.812500 5.125001 -1.437500 +v -0.945082 5.070084 -1.750000 +v -1.000000 4.937501 -1.750000 +v -0.812500 5.125001 -1.750000 +v -0.851332 5.070084 -1.976333 +v -0.890165 4.937501 -2.015165 +v -0.757583 5.125001 -1.882583 +v -0.625000 5.070084 -2.070083 +v -0.625000 4.937501 -2.125000 +v -0.625000 5.125001 -1.937500 +v 2.437500 5.070084 -2.070083 +v 2.437500 4.937501 -2.125000 +v 2.437500 5.125001 -1.937501 +v 2.476333 5.070084 -2.086168 +v 2.437500 4.937501 -2.125000 +v 2.570083 5.125001 -1.992419 +v 2.492418 5.070084 -2.125001 +v 2.437500 4.937501 -2.125000 +v 2.625000 5.125001 -2.125001 +v 2.492418 5.070084 -2.187501 +v 2.437500 4.937501 -2.187500 +v 2.625000 5.125001 -2.187501 +v 2.492418 4.976334 -2.413833 +v 2.437500 4.882584 -2.320083 +v 2.625000 5.015166 -2.452666 +v 2.492418 4.750001 -2.507583 +v 2.437500 4.750001 -2.375000 +v 2.625000 4.750001 -2.562500 +v 2.492418 4.250000 -2.507583 +v 2.437500 4.250001 -2.375000 +v 2.625000 4.250001 -2.562500 +v 2.757582 4.250000 -2.507583 +v 2.812500 4.250001 -2.375000 +v 2.757582 4.750001 -2.507583 +v 2.812500 4.750001 -2.375000 +v 2.757582 4.976334 -2.413833 +v 2.812500 4.882584 -2.320083 +v 2.757583 5.070084 -2.187501 +v 2.812500 4.937501 -2.187501 +v 2.757583 5.070084 -2.125001 +v 2.812500 4.937501 -2.125001 +v 2.663833 5.070084 -1.898669 +v 2.702665 4.937501 -1.859836 +v 2.437500 5.070084 -1.804918 +v 2.437500 4.937501 -1.750001 +v -0.625000 5.070084 -1.804918 +v -0.625000 4.937501 -1.750000 +v -0.663833 5.070084 -1.788833 +v -0.625000 4.937501 -1.750000 +v -0.679917 5.070084 -1.750000 +v -0.625000 4.937501 -1.750000 +v -0.679917 5.070084 -1.437500 +v -0.625000 4.937501 -1.437500 +v -0.679917 4.976333 -1.211168 +v -0.625000 4.882583 -1.304918 +v -0.679917 4.750000 -1.117418 +v -0.625000 4.750000 -1.250000 +v -0.679917 3.375000 -1.117418 +v -0.625000 3.375000 -1.250000 +v -0.773667 3.148668 -1.117418 +v -0.734835 3.109835 -1.250000 +v -1.000000 3.054918 -1.117418 +v -1.625000 3.054918 -1.117418 +v -1.000000 3.000000 -1.250000 +v -1.625000 3.000000 -1.250000 +v -1.000000 3.054918 -1.382583 +v -1.625000 3.054918 -1.382582 +v -1.000000 3.187500 -1.437500 +v -0.773667 3.148668 -1.382583 +v -0.867417 3.242418 -1.437500 +v -0.679917 3.375000 -1.382583 +v -0.812500 3.375000 -1.437500 +v -0.679917 4.750000 -1.382583 +v -0.812500 4.750000 -1.437500 +v -0.679917 4.788833 -1.398668 +v -0.812500 4.750000 -1.437500 +v -0.679917 4.804918 -1.437500 +v -0.812500 4.750001 -1.437500 +v -0.679917 4.804918 -1.750000 +v -0.812500 4.750001 -1.750000 +v -0.663833 4.804918 -1.788833 +v -0.757583 4.750001 -1.882583 +v -0.625000 4.804918 -1.804918 +v -0.625000 4.750001 -1.937500 +v 2.437500 4.804918 -1.804918 +v 2.437500 4.750001 -1.937501 +v 2.663833 4.804918 -1.898669 +v 2.570083 4.750001 -1.992419 +v 2.757583 4.804918 -2.125001 +v 2.625000 4.750001 -2.125001 +v 2.757583 4.804918 -2.187501 +v 2.625000 4.750001 -2.187501 +v 2.757583 4.788833 -2.226333 +v 2.625000 4.750001 -2.187500 +v 2.757583 4.750001 -2.242418 +v 2.625000 4.750001 -2.187500 +v 2.757583 4.250001 -2.242418 +v 2.625000 4.250000 -2.187500 +v 2.492418 4.250001 -2.242418 +v 2.492418 4.750001 -2.242418 +v 2.492418 4.788833 -2.226333 +v 2.492418 4.804918 -2.187501 +v 2.492418 4.804918 -2.125001 +v 2.476333 4.804918 -2.086168 +v 2.437500 4.804918 -2.070083 +v -0.625000 4.804918 -2.070083 +v -0.851332 4.804918 -1.976333 +v -0.945082 4.804918 -1.750000 +v -0.945082 4.804918 -1.437500 +v -0.945082 4.788833 -1.398668 +v -0.945082 4.750000 -1.382583 +v -0.945082 3.375000 -1.382583 +v -0.961167 3.336168 -1.382583 +v -1.000000 3.320083 -1.382583 +v -1.625000 3.320083 -1.382582 +v -1.851333 3.320083 -1.288832 +v -1.945083 3.320082 -1.062500 +v -2.000000 3.187500 -1.062500 +v -2.000000 3.187500 0.187500 +v -1.945083 3.054918 -1.062500 +v -1.945082 3.054918 0.187500 +v -1.812500 3.000000 -1.062500 +v -1.851333 3.054918 -1.288832 +v -1.757583 3.000000 -1.195082 +v -1.663833 3.054918 -1.101332 +v -1.679917 3.054918 -1.062500 +v -1.679917 3.054918 0.187500 +v -1.812500 3.000000 0.187500 +v -1.625000 3.187500 -1.062500 +v -1.625000 3.187500 -1.062500 +v -1.625000 3.054918 -1.117418 +v -1.625000 3.000000 -1.250000 +v -1.625000 3.054918 -1.382582 +v -1.625000 3.187500 -1.437500 +v -1.890165 3.187500 -1.327665 +v -1.851333 3.054918 -1.288832 +v -1.757583 3.000000 -1.195082 +v -1.663833 3.054918 -1.101332 +v 1.500000 14.750000 0.875000 +v 1.234835 14.750000 0.765165 +v 1.500000 15.250000 0.875000 +v 1.765165 14.750000 0.765165 +v 1.875000 14.750000 0.500000 +v 1.765165 15.250000 0.765165 +v 1.875000 15.250000 0.500000 +v 1.679399 15.570083 0.765165 +v 1.774519 15.625000 0.500000 +v 1.449760 15.437500 0.875000 +v 1.445082 15.804399 0.765165 +v 1.500000 15.899519 0.500000 +v 1.312500 15.574759 0.875000 +v 1.125000 15.890165 0.765165 +v 1.125000 16.000000 0.500000 +v 1.125000 15.625000 0.875000 +v -0.562500 15.890165 0.765165 +v -0.562500 16.000000 0.500000 +v -0.562500 15.625000 0.875000 +v -0.882583 15.804399 0.765165 +v -0.937500 15.899519 0.500000 +v -0.750000 15.574759 0.875000 +v -1.116900 15.570083 0.765165 +v -1.212020 15.625000 0.500000 +v -0.887260 15.437500 0.875000 +v -1.202666 15.250000 0.765165 +v -1.312500 15.250000 0.500000 +v -0.937501 15.250000 0.875000 +v -1.202666 9.562500 0.765165 +v -1.312500 9.562500 0.500000 +v -0.937501 9.562500 0.875000 +v -1.202666 9.242417 0.679400 +v -1.312500 9.375000 0.449760 +v -1.202666 9.008101 0.445084 +v -1.312501 9.237741 0.312501 +v -1.202666 8.922336 0.125002 +v -1.312501 9.187501 0.125002 +v -0.937501 8.812501 0.125002 +v -1.202666 8.922336 -0.437498 +v -1.312501 9.187501 -0.437498 +v -0.937501 8.812501 -0.437498 +v -1.202666 8.907621 -0.492416 +v -1.312501 9.137261 -0.624998 +v -0.937501 8.812502 -0.437498 +v -1.202666 8.867420 -0.532619 +v -1.312501 9.000003 -0.762258 +v -0.937501 8.812503 -0.437499 +v -1.202666 8.812503 -0.547335 +v -1.312501 8.812503 -0.812500 +v -0.937501 8.812503 -0.437500 +v -1.202666 7.687503 -0.547335 +v -1.312501 7.687503 -0.812500 +v -0.937501 7.687503 -0.437500 +v -1.217381 7.632586 -0.547335 +v -1.312501 7.687503 -0.812500 +v -0.987742 7.500003 -0.437500 +v -1.257583 7.592384 -0.547335 +v -1.312500 7.687503 -0.812500 +v -1.125001 7.362744 -0.437500 +v -1.312499 7.577669 -0.547335 +v -1.312500 7.687503 -0.812500 +v -1.312500 7.312505 -0.437500 +v -1.374999 7.577669 -0.547335 +v -1.375000 7.687503 -0.812500 +v -1.375000 7.312505 -0.437500 +v -1.429917 7.577671 -0.532620 +v -1.562500 7.687505 -0.762260 +v -1.375000 7.312506 -0.437500 +v -1.470119 7.577672 -0.492418 +v -1.699759 7.687506 -0.625000 +v -1.375000 7.312508 -0.437501 +v -1.484834 7.577674 -0.437501 +v -1.750000 7.687508 -0.437500 +v -1.375000 7.312509 -0.437501 +v -1.484836 7.577674 0.124999 +v -1.750000 7.687509 0.125000 +v -1.375001 7.312510 0.124999 +v -1.484836 7.047344 0.125000 +v -1.750000 6.937509 0.124999 +v -1.484834 7.047344 -0.437500 +v -1.749999 6.937508 -0.437501 +v -1.470120 7.047342 -0.492417 +v -1.699759 6.937506 -0.625000 +v -1.429918 7.047340 -0.532620 +v -1.562500 6.937505 -0.762259 +v -1.375001 7.047339 -0.547335 +v -1.375000 6.937504 -0.812500 +v -1.312501 7.047339 -0.547335 +v -1.312500 6.937504 -0.812500 +v -0.992419 7.133104 -0.547335 +v -0.937500 7.037984 -0.812500 +v -0.758102 7.367420 -0.547335 +v -0.662981 7.312503 -0.812500 +v -0.672336 7.687502 -0.547335 +v -0.562501 7.687503 -0.812500 +v -0.672336 8.812502 -0.547335 +v -0.562501 8.812504 -0.812500 +v -0.672336 8.867419 -0.532619 +v -0.562501 9.000003 -0.762258 +v -0.672336 8.907621 -0.492416 +v -0.562501 9.137261 -0.624998 +v -0.672336 8.922336 -0.437498 +v -0.562501 9.187500 -0.437498 +v -0.672336 8.922336 0.125002 +v -0.562501 9.187500 0.125002 +v -0.672336 9.008101 0.445083 +v -0.562500 9.237741 0.312502 +v -0.672336 9.242417 0.679399 +v -0.562500 9.375000 0.449760 +v -0.672336 9.562499 0.765165 +v -0.562500 9.562500 0.500000 +v -0.672336 15.249999 0.765165 +v -0.562500 15.250000 0.500000 +v -0.657621 15.304917 0.765165 +v -0.562500 15.250000 0.500000 +v -0.617418 15.345119 0.765165 +v -0.562500 15.250000 0.500000 +v -0.562500 15.359835 0.765165 +v -0.562500 15.250000 0.500000 +v 1.125000 15.359836 0.765165 +v 1.125000 15.250000 0.500000 +v 1.179917 15.345120 0.765165 +v 1.125000 15.250000 0.500000 +v 1.220120 15.304917 0.765165 +v 1.125000 15.250000 0.500000 +v 1.234835 15.250000 0.765165 +v 1.125000 15.250000 0.500000 +v 1.125000 14.750000 0.500000 +v 1.234835 15.250000 0.234835 +v 1.234835 14.750000 0.234835 +v 1.500000 15.250000 0.125000 +v 1.220120 15.304917 0.234835 +v 1.449759 15.437500 0.125000 +v 1.179917 15.345120 0.234835 +v 1.312500 15.574759 0.125000 +v 1.125000 15.359836 0.234835 +v 1.125000 15.625000 0.125000 +v -0.562500 15.359835 0.234835 +v -0.562500 15.625000 0.125000 +v -0.617418 15.345119 0.234835 +v -0.750001 15.574759 0.125000 +v -0.657621 15.304917 0.234835 +v -0.887260 15.437500 0.125000 +v -0.672336 15.249999 0.234835 +v -0.937501 15.250000 0.125000 +v -0.672336 9.562499 0.234835 +v -0.937501 9.562500 0.125000 +v -0.672336 9.507583 0.220120 +v -0.937501 9.562500 0.125000 +v -0.672336 9.467381 0.179919 +v -0.937501 9.562501 0.125001 +v -0.672336 9.452665 0.125002 +v -0.937501 9.562501 0.125002 +v -0.672336 9.452665 -0.437498 +v -0.937501 9.562501 -0.437498 +v -0.672336 9.366900 -0.757581 +v -0.672336 9.132585 -0.991898 +v -0.672336 8.812503 -1.077665 +v -0.937501 8.812504 -1.187500 +v -0.672336 7.687503 -1.077665 +v -0.937501 7.687503 -1.187500 +v -0.758102 7.367421 -1.077665 +v -0.987741 7.500004 -1.187500 +v -0.992418 7.133104 -1.077665 +v -1.125000 7.362745 -1.187500 +v -1.312500 7.047339 -1.077665 +v -1.312499 7.312505 -1.187500 +v -1.375000 7.047339 -1.077665 +v -1.374999 7.312505 -1.187500 +v -1.695082 7.047340 -0.991899 +v -1.749998 7.312506 -1.087020 +v -1.929399 7.047342 -0.757583 +v -2.024518 7.312508 -0.812502 +v -2.015164 7.047344 -0.437500 +v -2.125000 7.312509 -0.437502 +v -2.015165 7.047344 0.125000 +v -2.125001 7.312510 0.124998 +v -2.015165 7.577674 0.124999 +v -2.015164 7.577674 -0.437501 +v -1.929399 7.577672 -0.757583 +v -1.695082 7.577671 -0.991899 +v -1.374999 7.577669 -1.077665 +v -1.312499 7.577669 -1.077665 +v -1.257583 7.592384 -1.077665 +v -1.217381 7.632586 -1.077665 +v -1.202666 7.687503 -1.077665 +v -1.202666 8.812503 -1.077665 +v -1.202666 9.132586 -0.991898 +v -1.202666 9.366901 -0.757580 +v -1.202666 9.452665 -0.437498 +v -1.202666 9.452665 0.125002 +v -1.202666 9.467381 0.179919 +v -1.202666 9.507583 0.220121 +v -1.202666 9.562500 0.234835 +v -1.202666 15.250000 0.234835 +v -1.116900 15.570083 0.234835 +v -0.882583 15.804399 0.234835 +v -0.562500 15.890165 0.234835 +v 1.125000 15.890165 0.234835 +v 1.445082 15.804399 0.234835 +v 1.679399 15.570083 0.234835 +v 1.765165 15.250000 0.234835 +v 1.765165 14.750000 0.234835 +v 1.500000 14.750000 0.125000 +v -1.202666 8.907621 -0.492416 +v -1.312501 9.137261 -0.624998 +v -0.937501 8.812502 -0.437498 +v -1.202666 8.867420 -0.532619 +v -1.312501 9.000003 -0.762258 +v -0.937501 8.812503 -0.437499 +v -0.937501 9.462021 -0.812498 +v -0.937501 9.187503 -1.087018 +v -1.202666 9.132586 -0.991898 +v -1.202666 9.366901 -0.757580 +v -1.202666 9.242417 0.679400 +v -1.312500 9.375000 0.449760 +v -0.937501 9.187500 0.774520 +v -1.202666 9.008101 0.445084 +v -1.312501 9.237741 0.312501 +v -0.937501 8.912982 0.500001 +v -0.937501 9.562500 0.125000 +v -0.937501 9.562501 0.125001 +v -1.202666 9.467381 0.179919 +v -1.202666 9.507583 0.220121 +v -1.750000 2.000000 2.000000 +v -2.250000 2.000000 1.866026 +v -1.250000 2.000000 1.866025 +v -1.750000 8.000000 2.000000 +v -1.250000 8.000000 1.866025 +v -1.750000 8.500000 1.866025 +v -2.250000 8.000000 1.866026 +v -2.183012 8.500000 1.750000 +v -2.616025 8.000000 1.500000 +v -2.500000 8.500000 1.433013 +v -2.750000 8.000000 1.000000 +v -2.616025 2.000000 1.500000 +v -2.750000 2.000000 1.000000 +v -2.616025 2.000000 0.500000 +v -2.250000 2.000000 0.133975 +v -2.616025 8.000000 0.500000 +v -2.500000 8.500000 0.566987 +v -2.250000 8.000000 0.133975 +v -2.183012 8.500000 0.250000 +v -1.750000 8.000000 0.000000 +v -1.750000 8.500000 0.133975 +v -1.250000 8.000000 0.133975 +v -1.750000 2.000000 0.000000 +v -1.250000 2.000000 0.133975 +v -0.883974 2.000000 0.500000 +v -0.750000 2.000000 1.000000 +v -0.883974 8.000000 0.500000 +v -1.000000 8.500000 0.566987 +v -0.750000 8.000000 1.000000 +v -0.883974 8.500000 1.000000 +v -0.883974 8.000000 1.500000 +v -1.000000 8.500000 1.433013 +v -0.883974 2.000000 1.500000 +v -1.316987 8.866026 1.250000 +v -1.316987 8.500000 1.750000 +v -1.500000 8.866026 1.433013 +v -1.750000 8.866026 1.500000 +v -1.750000 9.000000 1.000000 +v -1.500000 8.866026 0.566987 +v -2.000000 8.866026 1.433013 +v -2.183012 8.866026 1.250000 +v -2.250000 8.866026 1.000000 +v -2.183013 8.866026 0.750000 +v -2.000000 8.866026 0.566987 +v -1.750000 8.866026 0.500000 +v -1.316987 8.866026 0.750000 +v -1.250000 8.866026 1.000000 +v -2.616025 8.500000 1.000000 +v -1.316987 8.500000 0.250000 +v -1.812500 1.562500 -3.125000 +v -1.812500 1.562500 -1.625000 +v -1.679918 1.507583 -3.125000 +v -1.679918 1.507583 -1.625000 +v -1.625000 1.375000 -3.125000 +v -1.625000 1.375000 -1.625000 +v -1.679918 1.242418 -3.125000 +v -1.679918 1.242417 -1.625000 +v -1.812500 1.187500 -3.125000 +v -1.812500 1.187500 -1.625000 +v -1.945083 1.242418 -3.125000 +v -1.945083 1.242417 -1.625000 +v -2.000000 1.375000 -3.125000 +v -2.000000 1.375000 -1.625000 +v -1.945083 1.507583 -3.125000 +v -1.945083 1.507583 -1.625000 +v -1.757583 1.562500 -3.257583 +v -1.663833 1.507583 -3.163832 +v -1.625000 1.375000 -3.125000 +v -1.663833 1.242418 -3.163832 +v -1.757583 1.187500 -3.257583 +v -1.851333 1.242418 -3.351333 +v -1.890165 1.375000 -3.390165 +v -1.851333 1.507583 -3.351333 +v -1.625001 1.562500 -3.312500 +v -1.625001 1.507583 -3.179918 +v -1.625001 1.375000 -3.125000 +v -1.625001 1.242417 -3.179918 +v -1.625001 1.187500 -3.312500 +v -1.625001 1.242417 -3.445083 +v -1.625001 1.375000 -3.500000 +v -1.625001 1.507583 -3.445083 +v -1.062501 1.562500 -3.312500 +v -1.062501 1.507583 -3.179918 +v -1.062501 1.375000 -3.125000 +v -1.062501 1.242417 -3.179918 +v -1.062501 1.187500 -3.312500 +v -1.062501 1.242417 -3.445083 +v -1.062501 1.375000 -3.500000 +v -1.062501 1.507583 -3.445083 +v -0.929918 1.562500 -3.257583 +v -1.023668 1.507583 -3.163832 +v -1.062501 1.375000 -3.125000 +v -1.023668 1.242417 -3.163832 +v -0.929918 1.187500 -3.257583 +v -0.836168 1.242417 -3.351333 +v -0.797336 1.375000 -3.390165 +v -0.836168 1.507583 -3.351333 +v -0.875000 1.562500 -3.125000 +v -1.007583 1.507583 -3.125000 +v -1.062501 1.375000 -3.125000 +v -1.007583 1.242417 -3.125000 +v -0.875000 1.187500 -3.125000 +v -0.742418 1.242417 -3.125000 +v -0.687501 1.375000 -3.125000 +v -0.742418 1.507583 -3.125000 +v -0.875000 1.562500 -3.062500 +v -1.007583 1.507583 -3.062500 +v -1.062501 1.375000 -3.062500 +v -1.007583 1.242417 -3.062500 +v -0.875000 1.187500 -3.062500 +v -0.742418 1.242417 -3.062500 +v -0.687501 1.375000 -3.062500 +v -0.742418 1.507583 -3.062500 +v 1.750000 1.000000 -3.250000 +v 1.750000 1.000000 -1.500000 +v 1.625000 1.250000 -3.125000 +v -0.000000 1.000000 -3.250000 +v -0.000000 1.000000 -1.500000 +v 0.125000 1.250000 -3.125000 +v 0.125000 1.250000 -1.625000 +v 1.625000 1.250000 -1.625000 +v 3.500000 1.000000 -3.250000 +v 3.500000 1.000000 -1.500000 +v 3.375000 1.250000 -3.125000 +v 1.750000 1.000000 -3.250000 +v 1.750000 1.000000 -1.500000 +v 1.875000 1.250000 -3.125000 +v 1.875000 1.250000 -1.625000 +v 3.375000 1.250000 -1.625000 +v 3.500000 1.000000 -1.500000 +v 3.500000 1.000000 -1.000000 +v 3.500000 14.000000 -1.500000 +v 3.000000 1.000000 -1.500000 +v 3.000000 1.000000 -1.000000 +v 3.000000 14.000000 -1.500000 +v 3.000000 14.000000 -1.000000 +v 3.500000 14.000000 -1.000000 +v -0.000000 1.000000 2.000000 +v -0.000000 1.000000 2.500000 +v -0.000000 14.000000 2.000000 +v -0.500000 1.000000 2.000000 +v -0.500000 1.000000 2.500000 +v -0.500000 14.000000 2.000000 +v -0.500000 14.000000 2.500000 +v -0.000000 14.000000 2.500000 +v 3.500000 1.000000 2.000000 +v 3.500000 1.000000 2.500000 +v 3.500000 14.000000 2.000000 +v 3.000000 1.000000 2.000000 +v 3.000000 1.000000 2.500000 +v 3.000000 14.000000 2.000000 +v 3.000000 14.000000 2.500000 +v 3.500000 14.000000 2.500000 +v -0.000000 14.000000 -1.250000 +v -0.000000 14.000000 -1.500000 +v -0.000000 13.750000 -1.250000 +v 3.000000 14.000000 -1.250000 +v 3.000000 13.750000 -1.250000 +v 3.000000 14.000000 -1.500000 +v 3.000000 13.750000 -1.500000 +v -0.000000 13.750000 -1.500000 +v -0.000000 11.000000 -1.250000 +v -0.000000 11.000000 -1.500000 +v -0.000000 10.750000 -1.250000 +v 3.000000 11.000000 -1.250000 +v 3.000000 10.750000 -1.250000 +v 3.000000 11.000000 -1.500000 +v 3.000000 10.750000 -1.500000 +v -0.000000 10.750000 -1.500000 +v -0.000000 8.000000 -1.250000 +v -0.000000 8.000000 -1.500000 +v -0.000000 7.750000 -1.250000 +v 3.000000 8.000000 -1.250000 +v 3.000000 7.750000 -1.250000 +v 3.000000 8.000000 -1.500000 +v 3.000000 7.750000 -1.500000 +v -0.000000 7.750000 -1.500000 +v -0.000000 5.000000 -1.250000 +v -0.000000 5.000000 -1.500000 +v -0.000000 4.750000 -1.250000 +v 3.000000 5.000000 -1.250000 +v 3.000000 4.750000 -1.250000 +v 3.000000 5.000000 -1.500000 +v 3.000000 4.750000 -1.500000 +v -0.000000 4.750000 -1.500000 +v -0.000000 2.000000 -1.250000 +v -0.000000 2.000000 -1.500000 +v -0.000000 1.750000 -1.250000 +v 3.000000 2.000000 -1.250000 +v 3.000000 1.750000 -1.250000 +v 3.000000 2.000000 -1.500000 +v 3.000000 1.750000 -1.500000 +v -0.000000 1.750000 -1.500000 +v -0.250000 14.000000 2.000000 +v -0.500000 14.000000 2.000000 +v -0.250000 13.750000 2.000000 +v -0.250000 14.000000 -1.000000 +v -0.250000 13.750000 -1.000000 +v -0.500000 14.000000 -1.000000 +v -0.500000 13.750000 -1.000000 +v -0.500000 13.750000 2.000000 +v -0.250000 11.000000 2.000000 +v -0.500000 11.000000 2.000000 +v -0.250000 10.750000 2.000000 +v -0.250000 11.000000 -1.000000 +v -0.250000 10.750000 -1.000000 +v -0.500000 11.000000 -1.000000 +v -0.500000 10.750000 -1.000000 +v -0.500000 10.750000 2.000000 +v -0.250000 8.000000 2.000000 +v -0.500000 8.000000 2.000000 +v -0.250000 7.750000 2.000000 +v -0.250000 8.000000 -1.000000 +v -0.250000 7.750000 -1.000000 +v -0.500000 8.000000 -1.000000 +v -0.500000 7.750000 -1.000000 +v -0.500000 7.750000 2.000000 +v -0.250000 5.000000 2.000000 +v -0.500000 5.000000 2.000000 +v -0.250000 4.750000 2.000000 +v -0.250000 5.000000 -1.000000 +v -0.250000 4.750000 -1.000000 +v -0.500000 5.000000 -1.000000 +v -0.500000 4.750000 -1.000000 +v -0.500000 4.750000 2.000000 +v -0.250000 2.000000 2.000000 +v -0.500000 2.000000 2.000000 +v -0.250000 1.750000 2.000000 +v -0.250000 2.000000 -1.000000 +v -0.250000 1.750000 -1.000000 +v -0.500000 2.000000 -1.000000 +v -0.500000 1.750000 -1.000000 +v -0.500000 1.750000 2.000000 +v 3.000000 14.000000 2.250000 +v 3.000001 14.000000 2.500000 +v 3.000000 13.750000 2.250000 +v 0.000000 14.000000 2.250000 +v 0.000000 13.750000 2.250000 +v 0.000001 14.000000 2.500000 +v 0.000001 13.750000 2.500000 +v 3.000001 13.750000 2.500000 +v 3.000000 11.000000 2.250000 +v 3.000001 11.000000 2.500000 +v 3.000000 10.750000 2.250000 +v 0.000000 11.000000 2.250000 +v 0.000000 10.750000 2.250000 +v 0.000001 11.000000 2.500000 +v 0.000001 10.750000 2.500000 +v 3.000001 10.750000 2.500000 +v 3.000000 8.000000 2.250000 +v 3.000001 8.000000 2.500000 +v 3.000000 7.750000 2.250000 +v 0.000000 8.000000 2.250000 +v 0.000000 7.750000 2.250000 +v 0.000001 8.000000 2.500000 +v 0.000001 7.750000 2.500000 +v 3.000001 7.750000 2.500000 +v 3.000000 5.000000 2.250000 +v 3.000001 5.000000 2.500000 +v 3.000000 4.750000 2.250000 +v 0.000000 5.000000 2.250000 +v 0.000000 4.750000 2.250000 +v 0.000001 5.000000 2.500000 +v 0.000001 4.750000 2.500000 +v 3.000001 4.750000 2.500000 +v 3.000000 2.000000 2.250000 +v 3.000001 2.000000 2.500000 +v 3.000000 1.750000 2.250000 +v 0.000000 2.000000 2.250000 +v 0.000000 1.750000 2.250000 +v 0.000001 2.000000 2.500000 +v 0.000001 1.750000 2.500000 +v 3.000001 1.750000 2.500000 +v 3.250000 14.000000 -1.000000 +v 3.500000 14.000000 -1.000001 +v 3.250000 13.750000 -1.000000 +v 3.250001 14.000000 2.000000 +v 3.250001 13.750000 2.000000 +v 3.500000 14.000000 2.000000 +v 3.500000 13.750000 2.000000 +v 3.500000 13.750000 -1.000001 +v 3.250000 11.000000 -1.000000 +v 3.500000 11.000000 -1.000001 +v 3.250000 10.750000 -1.000000 +v 3.250001 11.000000 2.000000 +v 3.250001 10.750000 2.000000 +v 3.500000 11.000000 2.000000 +v 3.500000 10.750000 2.000000 +v 3.500000 10.750000 -1.000001 +v 3.250000 8.000000 -1.000000 +v 3.500000 8.000000 -1.000001 +v 3.250000 7.750000 -1.000000 +v 3.250001 8.000000 2.000000 +v 3.250001 7.750000 2.000000 +v 3.500000 8.000000 2.000000 +v 3.500000 7.750000 2.000000 +v 3.500000 7.750000 -1.000001 +v 3.250000 5.000000 -1.000000 +v 3.500000 5.000000 -1.000001 +v 3.250000 4.750000 -1.000000 +v 3.250001 5.000000 2.000000 +v 3.250001 4.750000 2.000000 +v 3.500000 5.000000 2.000000 +v 3.500000 4.750000 2.000000 +v 3.500000 4.750000 -1.000001 +v 3.250000 2.000000 -1.000000 +v 3.500000 2.000000 -1.000001 +v 3.250000 1.750000 -1.000000 +v 3.250001 2.000000 2.000000 +v 3.250001 1.750000 2.000000 +v 3.500000 2.000000 2.000000 +v 3.500000 1.750000 2.000000 +v 3.500000 1.750000 -1.000001 +v 0.129980 10.828204 -1.437500 +v 0.129980 10.828204 -1.312500 +v 3.046796 13.745019 -1.437500 +v -0.046796 11.004981 -1.437500 +v -0.046796 11.004981 -1.312500 +v 2.870020 13.921796 -1.437500 +v 2.870020 13.921796 -1.312500 +v 3.046796 13.745019 -1.312500 +v 3.046796 11.004980 -1.437500 +v 3.046796 11.004980 -1.312500 +v 0.129980 13.921796 -1.437500 +v 2.870019 10.828204 -1.437500 +v 2.870019 10.828204 -1.312500 +v -0.046796 13.745020 -1.437500 +v -0.046796 13.745020 -1.312500 +v 0.129981 13.921796 -1.312500 +v 0.129980 7.828204 -1.437500 +v 0.129980 7.828204 -1.312500 +v 3.046796 10.745020 -1.437500 +v -0.046796 8.004981 -1.437500 +v -0.046796 8.004981 -1.312500 +v 2.870020 10.921796 -1.437500 +v 2.870020 10.921796 -1.312500 +v 3.046796 10.745020 -1.312500 +v 3.046796 8.004981 -1.437500 +v 3.046796 8.004981 -1.312500 +v 0.129980 10.921797 -1.437500 +v 2.870019 7.828205 -1.437500 +v 2.870019 7.828205 -1.312500 +v -0.046796 10.745020 -1.437500 +v -0.046796 10.745020 -1.312500 +v 0.129981 10.921797 -1.312500 +v 0.129980 4.828205 -1.437500 +v 0.129980 4.828205 -1.312500 +v 3.046796 7.745020 -1.437500 +v -0.046796 5.004982 -1.437500 +v -0.046796 5.004982 -1.312500 +v 2.870020 7.921797 -1.437500 +v 2.870020 7.921797 -1.312500 +v 3.046796 7.745020 -1.312500 +v 3.046796 5.004981 -1.437500 +v 3.046796 5.004981 -1.312500 +v 0.129980 7.921797 -1.437500 +v 2.870019 4.828205 -1.437500 +v 2.870019 4.828205 -1.312500 +v -0.046796 7.745021 -1.437500 +v -0.046796 7.745021 -1.312500 +v 0.129981 7.921797 -1.312500 +v 0.129980 1.828204 -1.437500 +v 0.129980 1.828204 -1.312500 +v 3.046796 4.745019 -1.437500 +v -0.046796 2.004981 -1.437500 +v -0.046796 2.004981 -1.312500 +v 2.870020 4.921796 -1.437500 +v 2.870020 4.921796 -1.312500 +v 3.046796 4.745019 -1.312500 +v 3.046796 2.004981 -1.437500 +v 3.046796 2.004981 -1.312500 +v 0.129980 4.921796 -1.437500 +v 2.870019 1.828205 -1.437500 +v 2.870019 1.828205 -1.312500 +v -0.046796 4.745020 -1.437500 +v -0.046796 4.745020 -1.312500 +v 0.129980 4.921796 -1.312500 +v -0.437500 10.828205 1.870020 +v -0.312500 10.828205 1.870020 +v -0.437500 13.745020 -1.046796 +v -0.437500 11.004981 2.046796 +v -0.312500 11.004981 2.046796 +v -0.437500 13.921797 -0.870020 +v -0.312500 13.921797 -0.870020 +v -0.312500 13.745020 -1.046796 +v -0.437501 11.004981 -1.046796 +v -0.312501 11.004981 -1.046796 +v -0.437499 13.921797 1.870020 +v -0.437501 10.828205 -0.870020 +v -0.312501 10.828205 -0.870020 +v -0.437499 13.745021 2.046796 +v -0.312499 13.745020 2.046796 +v -0.312499 13.921797 1.870020 +v -0.437501 7.828205 1.870020 +v -0.312501 7.828205 1.870019 +v -0.437500 10.745021 -1.046796 +v -0.437501 8.004982 2.046795 +v -0.312501 8.004982 2.046795 +v -0.437500 10.921797 -0.870020 +v -0.312500 10.921797 -0.870020 +v -0.312500 10.745021 -1.046796 +v -0.437501 8.004982 -1.046797 +v -0.312501 8.004982 -1.046797 +v -0.437500 10.921797 1.870020 +v -0.437501 7.828206 -0.870020 +v -0.312501 7.828206 -0.870020 +v -0.437500 10.745021 2.046796 +v -0.312500 10.745021 2.046796 +v -0.312500 10.921797 1.870019 +v -0.437501 4.828206 1.870019 +v -0.312501 4.828206 1.870019 +v -0.437501 7.745021 -1.046797 +v -0.437501 5.004982 2.046795 +v -0.312501 5.004982 2.046795 +v -0.437501 7.921798 -0.870021 +v -0.312501 7.921797 -0.870021 +v -0.312501 7.745020 -1.046797 +v -0.437502 5.004982 -1.046797 +v -0.312502 5.004982 -1.046797 +v -0.437500 7.921797 1.870019 +v -0.437502 4.828206 -0.870021 +v -0.312502 4.828206 -0.870021 +v -0.437501 7.745021 2.046795 +v -0.312501 7.745021 2.046795 +v -0.312500 7.921797 1.870019 +v -0.437502 1.828204 1.870018 +v -0.312502 1.828204 1.870018 +v -0.437501 4.745020 -1.046797 +v -0.437502 2.004981 2.046794 +v -0.312502 2.004981 2.046794 +v -0.437501 4.921797 -0.870022 +v -0.312501 4.921797 -0.870022 +v -0.312501 4.745020 -1.046798 +v -0.437502 2.004981 -1.046798 +v -0.312502 2.004981 -1.046798 +v -0.437501 4.921797 1.870018 +v -0.437502 1.828205 -0.870021 +v -0.312502 1.828205 -0.870021 +v -0.437501 4.745021 2.046795 +v -0.312501 4.745021 2.046795 +v -0.312501 4.921797 1.870018 +v 2.870020 10.828204 2.437500 +v 2.870019 10.828204 2.312500 +v -0.046796 13.745020 2.437500 +v 3.046796 11.004981 2.437500 +v 3.046795 11.004981 2.312500 +v 0.129980 13.921797 2.437500 +v 0.129980 13.921797 2.312500 +v -0.046796 13.745020 2.312500 +v -0.046797 11.004981 2.437500 +v -0.046797 11.004981 2.312500 +v 2.870020 13.921796 2.437500 +v 0.129980 10.828205 2.437500 +v 0.129980 10.828205 2.312500 +v 3.046797 13.745020 2.437500 +v 3.046797 13.745020 2.312500 +v 2.870020 13.921796 2.312500 +v 2.870018 7.828204 2.437500 +v 2.870018 7.828204 2.312500 +v -0.046797 10.745020 2.437500 +v 3.046795 8.004981 2.437500 +v 3.046794 8.004981 2.312500 +v 0.129979 10.921797 2.437500 +v 0.129979 10.921797 2.312500 +v -0.046797 10.745020 2.312500 +v -0.046798 8.004982 2.437500 +v -0.046798 8.004982 2.312500 +v 2.870019 10.921796 2.437500 +v 0.129979 7.828206 2.437500 +v 0.129979 7.828206 2.312500 +v 3.046796 10.745020 2.437500 +v 3.046795 10.745020 2.312500 +v 2.870019 10.921796 2.312500 +v 2.870017 4.828205 2.437500 +v 2.870017 4.828205 2.312500 +v -0.046798 7.745020 2.437500 +v 3.046793 5.004981 2.437500 +v 3.046793 5.004981 2.312500 +v 0.129978 7.921797 2.437500 +v 0.129978 7.921797 2.312500 +v -0.046798 7.745020 2.312500 +v -0.046799 5.004982 2.437500 +v -0.046799 5.004982 2.312500 +v 2.870018 7.921796 2.437500 +v 0.129978 4.828206 2.437500 +v 0.129978 4.828206 2.312500 +v 3.046794 7.745020 2.437500 +v 3.046794 7.745020 2.312500 +v 2.870018 7.921796 2.312500 +v 2.870016 1.828204 2.437500 +v 2.870016 1.828204 2.312500 +v -0.046799 4.745020 2.437500 +v 3.046792 2.004981 2.437500 +v 3.046792 2.004981 2.312500 +v 0.129977 4.921797 2.437500 +v 0.129977 4.921797 2.312500 +v -0.046799 4.745020 2.312500 +v -0.046800 2.004981 2.437500 +v -0.046800 2.004981 2.312500 +v 2.870017 4.921796 2.437500 +v 0.129976 1.828205 2.437500 +v 0.129977 1.828205 2.312500 +v 3.046793 4.745020 2.437500 +v 3.046793 4.745020 2.312500 +v 2.870017 4.921796 2.312500 +v 3.437500 10.828204 -0.870020 +v 3.312500 10.828204 -0.870020 +v 3.437500 13.745020 2.046796 +v 3.437500 11.004981 -1.046796 +v 3.312500 11.004981 -1.046796 +v 3.437500 13.921797 1.870020 +v 3.312500 13.921797 1.870020 +v 3.312500 13.745020 2.046796 +v 3.437500 11.004981 2.046796 +v 3.312500 11.004981 2.046796 +v 3.437500 13.921796 -0.870020 +v 3.437500 10.828205 1.870020 +v 3.312500 10.828205 1.870020 +v 3.437500 13.745020 -1.046796 +v 3.312500 13.745020 -1.046796 +v 3.312500 13.921796 -0.870020 +v 3.437499 7.828204 -0.870019 +v 3.312499 7.828204 -0.870019 +v 3.437500 10.745020 2.046797 +v 3.437500 8.004981 -1.046795 +v 3.312500 8.004981 -1.046795 +v 3.437500 10.921797 1.870021 +v 3.312500 10.921797 1.870021 +v 3.312500 10.745020 2.046797 +v 3.437500 8.004981 2.046797 +v 3.312500 8.004981 2.046797 +v 3.437500 10.921796 -0.870019 +v 3.437500 7.828205 1.870020 +v 3.312500 7.828205 1.870020 +v 3.437500 10.745020 -1.046796 +v 3.312500 10.745020 -1.046796 +v 3.312500 10.921797 -0.870019 +v 3.437499 4.828205 -0.870019 +v 3.312499 4.828205 -0.870019 +v 3.437499 7.745020 2.046797 +v 3.437499 5.004982 -1.046795 +v 3.312499 5.004982 -1.046795 +v 3.437499 7.921797 1.870021 +v 3.312499 7.921797 1.870021 +v 3.312499 7.745020 2.046797 +v 3.437499 5.004982 2.046798 +v 3.312499 5.004982 2.046798 +v 3.437499 7.921796 -0.870019 +v 3.437499 4.828206 1.870021 +v 3.312499 4.828206 1.870021 +v 3.437499 7.745020 -1.046795 +v 3.312499 7.745021 -1.046795 +v 3.312499 7.921797 -0.870019 +v 3.437498 1.828204 -0.870018 +v 3.312498 1.828204 -0.870018 +v 3.437499 4.745020 2.046798 +v 3.437498 2.004981 -1.046794 +v 3.312498 2.004981 -1.046794 +v 3.437499 4.921797 1.870022 +v 3.312499 4.921797 1.870022 +v 3.312499 4.745020 2.046798 +v 3.437498 2.004981 2.046798 +v 3.312498 2.004981 2.046798 +v 3.437498 4.921796 -0.870018 +v 3.437498 1.828205 1.870021 +v 3.312498 1.828205 1.870021 +v 3.437498 4.745020 -1.046795 +v 3.312498 4.745020 -1.046795 +v 3.312498 4.921796 -0.870018 +v -0.937500 3.687500 -0.000000 +v -0.937500 3.687500 0.187500 +v -0.937500 3.875000 -0.000000 +v -2.562500 3.687500 0.000000 +v -2.562500 3.687500 0.187500 +v -2.562500 3.875000 0.000000 +v -2.562500 3.875000 0.187500 +v -0.937500 3.875000 0.187500 +v -0.937500 5.687500 -0.000000 +v -0.937500 5.687500 0.187500 +v -0.937500 5.875000 -0.000000 +v -2.562500 5.687500 0.000000 +v -2.562500 5.687500 0.187500 +v -2.562500 5.875000 0.000000 +v -2.562500 5.875000 0.187500 +v -0.937500 5.875000 0.187500 +v -0.937500 7.687500 -0.000000 +v -0.937500 7.687500 0.187500 +v -0.937500 7.875000 -0.000000 +v -2.562500 7.687500 0.000000 +v -2.562500 7.687500 0.187500 +v -2.562500 7.875000 0.000000 +v -2.562500 7.875000 0.187500 +v -0.937500 7.875000 0.187500 +v -2.750000 3.687500 0.187500 +v -2.562500 3.687500 0.187500 +v -2.750000 3.875000 0.187500 +v -2.749999 3.687500 1.812500 +v -2.562499 3.687500 1.812500 +v -2.749999 3.875000 1.812500 +v -2.562499 3.875000 1.812500 +v -2.562500 3.875000 0.187500 +v -2.750000 5.687500 0.187500 +v -2.562500 5.687500 0.187500 +v -2.750000 5.875000 0.187500 +v -2.749999 5.687500 1.812500 +v -2.562499 5.687500 1.812500 +v -2.749999 5.875000 1.812500 +v -2.562499 5.875000 1.812500 +v -2.562500 5.875000 0.187500 +v -2.750000 7.687500 0.187500 +v -2.562500 7.687500 0.187500 +v -2.750000 7.875000 0.187500 +v -2.749999 7.687500 1.812500 +v -2.562499 7.687500 1.812500 +v -2.749999 7.875000 1.812500 +v -2.562499 7.875000 1.812500 +v -2.562500 7.875000 0.187500 +v -2.562499 3.687500 2.000000 +v -2.562499 3.687500 1.812500 +v -2.562499 3.875000 2.000000 +v -0.937499 3.687500 2.000000 +v -0.937499 3.687500 1.812500 +v -0.937499 3.875000 2.000000 +v -0.937499 3.875000 1.812500 +v -2.562499 3.875000 1.812500 +v -2.562499 5.687500 2.000000 +v -2.562499 5.687500 1.812500 +v -2.562499 5.875000 2.000000 +v -0.937499 5.687500 2.000000 +v -0.937499 5.687500 1.812500 +v -0.937499 5.875000 2.000000 +v -0.937499 5.875000 1.812500 +v -2.562499 5.875000 1.812500 +v -2.562499 7.687500 2.000000 +v -2.562499 7.687500 1.812500 +v -2.562499 7.875000 2.000000 +v -0.937499 7.687500 2.000000 +v -0.937499 7.687500 1.812500 +v -0.937499 7.875000 2.000000 +v -0.937499 7.875000 1.812500 +v -2.562499 7.875000 1.812500 +v -0.749999 3.687500 1.812500 +v -0.937499 3.687500 1.812500 +v -0.749999 3.875000 1.812500 +v -0.750000 3.687500 0.187500 +v -0.937500 3.687500 0.187500 +v -0.750000 3.875000 0.187500 +v -0.937500 3.875000 0.187500 +v -0.937499 3.875000 1.812500 +v -0.749999 5.687500 1.812500 +v -0.937499 5.687500 1.812500 +v -0.749999 5.875000 1.812500 +v -0.750000 5.687500 0.187500 +v -0.937500 5.687500 0.187500 +v -0.750000 5.875000 0.187500 +v -0.937500 5.875000 0.187500 +v -0.937499 5.875000 1.812500 +v -0.749999 7.687500 1.812500 +v -0.937499 7.687500 1.812500 +v -0.749999 7.875000 1.812500 +v -0.750000 7.687500 0.187500 +v -0.937500 7.687500 0.187500 +v -0.750000 7.875000 0.187500 +v -0.937500 7.875000 0.187500 +v -0.937499 7.875000 1.812500 +v -1.812500 1.937500 -3.125000 +v -1.812500 1.937500 -1.625000 +v -1.679918 1.882583 -3.125000 +v -1.679918 1.882583 -1.625000 +v -1.625000 1.750000 -3.125000 +v -1.625000 1.750000 -1.625000 +v -1.679918 1.617418 -3.125000 +v -1.679918 1.617417 -1.625000 +v -1.812500 1.562500 -3.125000 +v -1.812500 1.562500 -1.625000 +v -1.945083 1.617418 -3.125000 +v -1.945083 1.617417 -1.625000 +v -2.000000 1.750000 -3.125000 +v -2.000000 1.750000 -1.625000 +v -1.945083 1.882583 -3.125000 +v -1.945083 1.882583 -1.625000 +v -1.757583 1.937500 -3.257583 +v -1.663833 1.882583 -3.163832 +v -1.625000 1.750000 -3.125000 +v -1.663833 1.617418 -3.163832 +v -1.757583 1.562500 -3.257583 +v -1.851333 1.617418 -3.351333 +v -1.890165 1.750000 -3.390165 +v -1.851333 1.882583 -3.351333 +v -1.625001 1.937500 -3.312500 +v -1.625001 1.882583 -3.179918 +v -1.625001 1.750000 -3.125000 +v -1.625001 1.617417 -3.179918 +v -1.625001 1.562500 -3.312500 +v -1.625001 1.617417 -3.445083 +v -1.625001 1.750000 -3.500000 +v -1.625001 1.882583 -3.445083 +v 0.687500 1.937500 -3.312500 +v 0.687500 1.882583 -3.179917 +v 0.687500 1.750000 -3.125000 +v 0.687500 1.617417 -3.179917 +v 0.687500 1.562500 -3.312500 +v 0.687500 1.617417 -3.445083 +v 0.687500 1.750000 -3.500000 +v 0.687500 1.882583 -3.445083 +v 0.820082 1.937500 -3.257583 +v 0.726332 1.882583 -3.163833 +v 0.687500 1.750000 -3.125000 +v 0.726332 1.617417 -3.163833 +v 0.820082 1.562500 -3.257583 +v 0.913832 1.617417 -3.351333 +v 0.952665 1.750000 -3.390165 +v 0.913832 1.882583 -3.351333 +v 0.875000 1.937500 -3.125000 +v 0.742417 1.882583 -3.125000 +v 0.687500 1.750000 -3.125000 +v 0.742417 1.617417 -3.125000 +v 0.875000 1.562500 -3.125000 +v 1.007582 1.617417 -3.125000 +v 1.062499 1.750000 -3.125000 +v 1.007582 1.882583 -3.125000 +v 0.875000 1.937500 -3.062500 +v 0.742417 1.882583 -3.062500 +v 0.687499 1.750000 -3.062500 +v 0.742417 1.617417 -3.062500 +v 0.875000 1.562500 -3.062500 +v 1.007582 1.617417 -3.062500 +v 1.062499 1.750000 -3.062500 +v 1.007582 1.882583 -3.062500 +v -1.812500 2.312500 -3.125000 +v -1.812500 2.312500 -1.625000 +v -1.679918 2.257582 -3.125000 +v -1.679918 2.257582 -1.625000 +v -1.625000 2.125000 -3.125000 +v -1.625000 2.125000 -1.625000 +v -1.679918 1.992418 -3.125000 +v -1.679918 1.992417 -1.625000 +v -1.812500 1.937500 -3.125000 +v -1.812500 1.937500 -1.625000 +v -1.945083 1.992418 -3.125000 +v -1.945083 1.992417 -1.625000 +v -2.000000 2.125000 -3.125000 +v -2.000000 2.125000 -1.625000 +v -1.945083 2.257582 -3.125000 +v -1.945083 2.257582 -1.625000 +v -1.757583 2.312500 -3.257583 +v -1.663833 2.257583 -3.163832 +v -1.625000 2.125000 -3.125000 +v -1.663833 1.992418 -3.163832 +v -1.757583 1.937500 -3.257583 +v -1.851333 1.992418 -3.351333 +v -1.890165 2.125000 -3.390165 +v -1.851333 2.257583 -3.351333 +v -1.625001 2.312500 -3.312500 +v -1.625001 2.257583 -3.179918 +v -1.625001 2.125000 -3.125000 +v -1.625001 1.992417 -3.179918 +v -1.625001 1.937500 -3.312500 +v -1.625001 1.992417 -3.445083 +v -1.625001 2.125000 -3.500000 +v -1.625001 2.257583 -3.445083 +v 2.437500 2.312500 -3.312500 +v 2.437500 2.257583 -3.179918 +v 2.437500 2.125000 -3.125000 +v 2.437500 1.992417 -3.179918 +v 2.437500 1.937500 -3.312500 +v 2.437500 1.992417 -3.445083 +v 2.437500 2.125000 -3.500000 +v 2.437500 2.257583 -3.445083 +v 2.570082 2.312500 -3.257583 +v 2.476332 2.257583 -3.163833 +v 2.437500 2.125000 -3.125000 +v 2.476332 1.992417 -3.163833 +v 2.570082 1.937500 -3.257583 +v 2.663832 1.992417 -3.351333 +v 2.702665 2.125000 -3.390165 +v 2.663832 2.257583 -3.351333 +v 2.625000 2.312500 -3.125000 +v 2.492417 2.257583 -3.125000 +v 2.437500 2.125000 -3.125000 +v 2.492417 1.992417 -3.125000 +v 2.625000 1.937500 -3.125000 +v 2.757582 1.992417 -3.125000 +v 2.812500 2.125000 -3.125000 +v 2.757582 2.257583 -3.125000 +v 2.625000 2.312500 -3.062500 +v 2.492417 2.257583 -3.062500 +v 2.437500 2.125000 -3.062500 +v 2.492417 1.992417 -3.062500 +v 2.625000 1.937500 -3.062500 +v 2.757582 1.992417 -3.062500 +v 2.812500 2.125000 -3.062500 +v 2.757582 2.257583 -3.062500 +v -1.812500 3.750000 0.187500 +v -1.945082 3.695082 0.187500 +v -1.812500 3.750000 -1.062500 +v -1.679917 3.695082 0.187500 +v -1.625000 3.562500 0.187500 +v -1.679917 3.695082 -1.062500 +v -1.625000 3.562500 -1.062500 +v -1.663833 3.695083 -1.101332 +v -1.625000 3.562500 -1.062500 +v -1.757583 3.750000 -1.195082 +v -1.625000 3.695083 -1.117417 +v -1.625000 3.562500 -1.062500 +v -1.625000 3.750000 -1.250000 +v -1.500000 3.695083 -1.117417 +v -1.500000 3.750000 -1.250000 +v -1.500000 3.562500 -1.062500 +v -1.461167 3.711168 -1.117417 +v -1.500000 3.750000 -1.250000 +v -1.367417 3.617418 -1.062500 +v -1.445082 3.750000 -1.117417 +v -1.500000 3.750000 -1.250000 +v -1.312500 3.750000 -1.062500 +v -1.445082 4.375000 -1.117417 +v -1.500000 4.375000 -1.250000 +v -1.312500 4.375000 -1.062500 +v -1.445082 4.601334 -1.211168 +v -1.500000 4.507583 -1.304918 +v -1.312500 4.640166 -1.172335 +v -1.445082 4.695084 -1.437500 +v -1.500000 4.562501 -1.437500 +v -1.312500 4.750001 -1.437500 +v -1.445082 4.695084 -1.750000 +v -1.500000 4.562501 -1.750000 +v -1.312500 4.750001 -1.750000 +v -1.351333 4.695084 -1.976333 +v -1.390165 4.562501 -2.015165 +v -1.257583 4.750001 -1.882583 +v -1.125000 4.695084 -2.070082 +v -1.125000 4.562501 -2.125000 +v -1.125000 4.750001 -1.937500 +v 0.687500 4.695084 -2.070083 +v 0.687500 4.562501 -2.125000 +v 0.687500 4.750001 -1.937501 +v 0.726333 4.695084 -2.086168 +v 0.687500 4.562501 -2.125000 +v 0.820083 4.750001 -1.992419 +v 0.742418 4.695084 -2.125000 +v 0.687500 4.562501 -2.125000 +v 0.875000 4.750001 -2.125001 +v 0.742418 4.695084 -2.187500 +v 0.687500 4.562501 -2.187500 +v 0.875000 4.750001 -2.187501 +v 0.742418 4.601334 -2.413833 +v 0.687500 4.507584 -2.320083 +v 0.875000 4.640166 -2.452666 +v 0.742418 4.375001 -2.507583 +v 0.687500 4.375001 -2.375000 +v 0.875000 4.375001 -2.562501 +v 0.742418 4.250000 -2.507583 +v 0.687500 4.250001 -2.375000 +v 0.875000 4.250001 -2.562501 +v 1.007582 4.250000 -2.507583 +v 1.062500 4.250001 -2.375001 +v 1.007582 4.375001 -2.507583 +v 1.062500 4.375001 -2.375001 +v 1.007582 4.601334 -2.413833 +v 1.062500 4.507584 -2.320083 +v 1.007582 4.695084 -2.187501 +v 1.062500 4.562501 -2.187501 +v 1.007582 4.695084 -2.125001 +v 1.062500 4.562501 -2.125001 +v 0.913833 4.695084 -1.898669 +v 0.952665 4.562501 -1.859836 +v 0.687500 4.695084 -1.804918 +v 0.687500 4.562501 -1.750001 +v -1.125000 4.695084 -1.804918 +v -1.125000 4.562501 -1.750000 +v -1.163833 4.695084 -1.788833 +v -1.125000 4.562501 -1.750000 +v -1.179917 4.695084 -1.750000 +v -1.125000 4.562501 -1.750000 +v -1.179917 4.695084 -1.437500 +v -1.125000 4.562501 -1.437500 +v -1.179917 4.601333 -1.211168 +v -1.125000 4.507583 -1.304918 +v -1.179917 4.375000 -1.117418 +v -1.125000 4.375000 -1.250000 +v -1.179917 3.750000 -1.117418 +v -1.125000 3.750000 -1.250000 +v -1.273667 3.523668 -1.117418 +v -1.234835 3.484835 -1.250000 +v -1.500000 3.429918 -1.117418 +v -1.625000 3.429918 -1.117418 +v -1.500000 3.375000 -1.250000 +v -1.625000 3.375000 -1.250000 +v -1.500000 3.429918 -1.382583 +v -1.625000 3.429918 -1.382582 +v -1.500000 3.562500 -1.437500 +v -1.273667 3.523668 -1.382583 +v -1.367417 3.617418 -1.437500 +v -1.179917 3.750000 -1.382583 +v -1.312500 3.750000 -1.437500 +v -1.179917 4.375000 -1.382583 +v -1.312500 4.375000 -1.437500 +v -1.179917 4.413833 -1.398668 +v -1.312500 4.375000 -1.437500 +v -1.179917 4.429918 -1.437500 +v -1.312500 4.375001 -1.437500 +v -1.179917 4.429918 -1.750000 +v -1.312500 4.375001 -1.750000 +v -1.163833 4.429918 -1.788833 +v -1.257583 4.375001 -1.882583 +v -1.125000 4.429918 -1.804918 +v -1.125000 4.375001 -1.937500 +v 0.687500 4.429918 -1.804918 +v 0.687500 4.375001 -1.937501 +v 0.913833 4.429918 -1.898669 +v 0.820083 4.375001 -1.992419 +v 1.007582 4.429918 -2.125001 +v 0.875000 4.375001 -2.125001 +v 1.007582 4.429918 -2.187501 +v 0.875000 4.375001 -2.187501 +v 1.007582 4.413833 -2.226333 +v 0.875000 4.375001 -2.187501 +v 1.007582 4.375001 -2.242418 +v 0.875000 4.375001 -2.187501 +v 1.007582 4.250001 -2.242418 +v 0.875000 4.250000 -2.187501 +v 0.742418 4.250001 -2.242418 +v 0.742418 4.375001 -2.242418 +v 0.742418 4.413833 -2.226333 +v 0.742418 4.429918 -2.187500 +v 0.742418 4.429918 -2.125000 +v 0.726333 4.429918 -2.086168 +v 0.687500 4.429918 -2.070083 +v -1.125000 4.429918 -2.070082 +v -1.351332 4.429918 -1.976333 +v -1.445082 4.429918 -1.750000 +v -1.445082 4.429918 -1.437500 +v -1.445082 4.413833 -1.398668 +v -1.445082 4.375000 -1.382583 +v -1.445082 3.750000 -1.382583 +v -1.461167 3.711168 -1.382583 +v -1.500000 3.695083 -1.382583 +v -1.625000 3.695083 -1.382582 +v -1.851333 3.695083 -1.288832 +v -1.945083 3.695082 -1.062500 +v -2.000000 3.562500 -1.062500 +v -2.000000 3.562500 0.187500 +v -1.945083 3.429918 -1.062500 +v -1.945082 3.429918 0.187500 +v -1.812500 3.375000 -1.062500 +v -1.851333 3.429918 -1.288832 +v -1.757583 3.375000 -1.195082 +v -1.663833 3.429918 -1.101332 +v -1.679917 3.429918 -1.062500 +v -1.679917 3.429918 0.187500 +v -1.812500 3.375000 0.187500 +v -1.625000 3.562500 -1.062500 +v -1.625000 3.562500 -1.062500 +v -1.625000 3.429918 -1.117418 +v -1.625000 3.375000 -1.250000 +v -1.625000 3.429918 -1.382582 +v -1.625000 3.562500 -1.437500 +v -1.890165 3.562500 -1.327665 +v -1.851333 3.429918 -1.288832 +v -1.757583 3.375000 -1.195082 +v -1.663833 3.429918 -1.101332 +v 0.875000 1.250000 -1.625000 +v 0.500000 1.250000 -1.725481 +v 1.250000 1.250000 -1.725481 +v 0.875000 4.125000 -1.625000 +v 0.500000 4.125000 -1.725481 +v 0.875000 4.250000 -1.754409 +v 1.250000 4.125000 -1.725481 +v 1.185295 4.250000 -1.837553 +v 1.524519 4.125000 -2.000000 +v 1.412447 4.250000 -2.064705 +v 1.625000 4.125000 -2.375000 +v 1.524519 1.250000 -2.000000 +v 1.625000 1.250000 -2.375000 +v 1.524519 1.250000 -2.750000 +v 1.250000 1.250000 -3.024519 +v 1.524519 4.125000 -2.750000 +v 1.412447 4.250000 -2.685295 +v 1.250000 4.125000 -3.024519 +v 1.185295 4.250000 -2.912447 +v 0.875000 4.125000 -3.125000 +v 0.875000 4.250000 -2.995590 +v 0.500000 4.125000 -3.024519 +v 0.875000 1.250000 -3.125000 +v 0.500000 1.250000 -3.024519 +v 0.225481 1.250000 -2.750000 +v 0.125000 1.250000 -2.375000 +v 0.225481 4.125000 -2.750000 +v 0.337553 4.250000 -2.685295 +v 0.125000 4.125000 -2.375000 +v 0.254409 4.250000 -2.375000 +v 0.225481 4.125000 -2.000000 +v 0.337553 4.250000 -2.064704 +v 0.225481 1.250000 -2.000000 +v 0.564705 4.250000 -1.837553 +v 0.564705 4.250000 -2.912447 +v 1.495590 4.250000 -2.375000 +v 2.625000 1.250000 -1.625000 +v 2.250000 1.250000 -1.725481 +v 3.000000 1.250000 -1.725481 +v 2.625000 4.125000 -1.625000 +v 2.250000 4.125000 -1.725481 +v 2.625000 4.250000 -1.754409 +v 3.000000 4.125000 -1.725481 +v 2.935295 4.250000 -1.837553 +v 3.274519 4.125000 -2.000000 +v 3.162447 4.250000 -2.064705 +v 3.375000 4.125000 -2.375000 +v 3.274519 1.250000 -2.000000 +v 3.375000 1.250000 -2.375000 +v 3.274519 1.250000 -2.750000 +v 3.000000 1.250000 -3.024519 +v 3.274519 4.125000 -2.750000 +v 3.162447 4.250000 -2.685295 +v 3.000000 4.125000 -3.024519 +v 2.935295 4.250000 -2.912447 +v 2.625000 4.125000 -3.125000 +v 2.625000 4.250000 -2.995590 +v 2.250000 4.125000 -3.024519 +v 2.625000 1.250000 -3.125000 +v 2.250000 1.250000 -3.024519 +v 1.975481 1.250000 -2.750000 +v 1.875000 1.250000 -2.375000 +v 1.975481 4.125000 -2.750000 +v 2.087553 4.250000 -2.685295 +v 1.875000 4.125000 -2.375000 +v 2.004409 4.250000 -2.375000 +v 1.975481 4.125000 -2.000000 +v 2.087553 4.250000 -2.064704 +v 1.975481 1.250000 -2.000000 +v 2.314705 4.250000 -1.837553 +v 2.314705 4.250000 -2.912447 +v 3.245590 4.250000 -2.375000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn 0.9923 0.1240 -0.0000 +vn -0.0000 0.1240 -0.9923 +vn -0.9923 0.1240 -0.0000 +vn -0.0000 0.1240 0.9923 +vn -0.0000 0.3744 0.9273 +vn -0.3809 0.0969 0.9195 +vn -0.0000 0.0969 0.9953 +vn -0.0000 0.6952 0.7189 +vn -0.3549 0.3744 0.8567 +vn 0.2751 0.6952 0.6641 +vn 0.3549 0.3744 0.8567 +vn 0.3809 0.0969 0.9195 +vn -0.3827 -0.0000 0.9239 +vn 0.3827 -0.0000 0.9239 +vn 0.7038 0.0969 0.7038 +vn 0.7071 -0.0000 0.7071 +vn 0.9195 0.0969 0.3809 +vn 0.9239 -0.0000 0.3827 +vn 0.8567 0.3744 0.3549 +vn 0.6557 0.3744 0.6557 +vn 0.5083 0.6952 0.5083 +vn 0.6641 0.6952 0.2751 +vn 0.7189 0.6952 -0.0000 +vn 0.9273 0.3744 -0.0000 +vn 0.9953 0.0969 -0.0000 +vn 0.6641 0.6952 -0.2751 +vn 0.8567 0.3744 -0.3549 +vn 0.9195 0.0969 -0.3809 +vn 0.9239 -0.0000 -0.3827 +vn 0.7038 0.0969 -0.7038 +vn 0.7071 -0.0000 -0.7071 +vn 0.3809 0.0969 -0.9195 +vn 0.3827 -0.0000 -0.9239 +vn 0.3549 0.3744 -0.8567 +vn 0.6557 0.3744 -0.6557 +vn 0.5083 0.6952 -0.5083 +vn -0.0000 0.6952 -0.7189 +vn -0.0000 0.3744 -0.9273 +vn -0.0000 0.0969 -0.9953 +vn -0.2751 0.6952 -0.6641 +vn -0.3549 0.3744 -0.8567 +vn -0.3809 0.0969 -0.9195 +vn -0.3827 -0.0000 -0.9239 +vn -0.7038 0.0969 -0.7038 +vn -0.7071 -0.0000 -0.7071 +vn -0.9239 -0.0000 -0.3827 +vn -0.8567 0.3744 -0.3549 +vn -0.9195 0.0969 -0.3809 +vn -0.6557 0.3744 -0.6557 +vn -0.5083 0.6952 -0.5083 +vn -0.7189 0.6952 -0.0000 +vn -0.9273 0.3744 -0.0000 +vn -0.9953 0.0969 -0.0000 +vn -0.6641 0.6952 0.2751 +vn -0.8567 0.3744 0.3549 +vn -0.9195 0.0969 0.3809 +vn -0.9239 -0.0000 0.3827 +vn -0.7038 0.0969 0.7038 +vn -0.7071 -0.0000 0.7071 +vn -0.6557 0.3744 0.6557 +vn -0.5083 0.6952 0.5083 +vn -0.2850 0.9152 0.2850 +vn -0.2751 0.6952 0.6641 +vn -0.3724 0.9152 0.1543 +vn -0.4031 0.9152 -0.0000 +vn 0.1543 0.9152 -0.3724 +vn 0.2850 0.9152 -0.2850 +vn -0.0000 0.9152 -0.4031 +vn 0.1543 0.9152 0.3724 +vn -0.0000 0.9152 0.4031 +vn -0.1543 0.9152 0.3724 +vn -0.3724 0.9152 -0.1543 +vn -0.2850 0.9152 -0.2850 +vn -0.1543 0.9152 -0.3724 +vn 0.3724 0.9152 -0.1543 +vn 0.4031 0.9152 -0.0000 +vn 0.3724 0.9152 0.1543 +vn 0.2850 0.9152 0.2850 +vn 0.2751 0.6952 -0.6641 +vn -0.6641 0.6952 -0.2751 +vn -0.5000 -0.0000 0.8660 +vn 0.5000 -0.0000 0.8660 +vn -0.0000 0.7193 0.6947 +vn -0.3474 0.7193 0.6017 +vn 0.3474 0.7193 0.6017 +vn 0.6017 0.7193 0.3474 +vn 0.8660 -0.0000 0.5000 +vn 0.6947 0.7193 -0.0000 +vn 0.8660 -0.0000 -0.5000 +vn 0.5000 -0.0000 -0.8660 +vn 0.6017 0.7193 -0.3474 +vn 0.3474 0.7193 -0.6017 +vn -0.0000 0.7193 -0.6947 +vn -0.3474 0.7193 -0.6017 +vn -0.5000 -0.0000 -0.8660 +vn -0.8660 -0.0000 -0.5000 +vn -0.6017 0.7193 -0.3474 +vn -0.6947 0.7193 -0.0000 +vn -0.6017 0.7193 0.3474 +vn -0.8660 -0.0000 0.5000 +vn 0.8944 0.4472 -0.0000 +vn -0.0000 0.4472 -0.8944 +vn -0.8944 0.4472 -0.0000 +vn -0.0000 0.4472 0.8944 +vn -0.7071 0.7071 -0.0000 +vn -0.0473 0.0196 0.9987 +vn 0.6737 -0.1363 0.7263 +vn 0.8053 0.5877 0.0778 +vn 0.0622 0.9803 0.1873 +vn 0.4617 -0.4617 0.7574 +vn -0.0671 0.0671 0.9955 +vn 0.2019 -0.6978 0.6872 +vn 0.1363 -0.6737 0.7263 +vn -0.0196 0.0473 0.9987 +vn -0.1363 -0.7263 0.6737 +vn -0.3555 0.3302 0.8744 +vn 0.0196 -0.9987 -0.0473 +vn -0.4617 -0.7574 0.4617 +vn -0.5569 0.4810 0.6771 +vn 0.0671 -0.9955 -0.0671 +vn -0.6737 -0.7263 0.1363 +vn -0.6278 0.0664 0.7756 +vn 0.0473 -0.9987 -0.0196 +vn -0.6737 -0.7263 -0.1363 +vn -0.7204 0.6931 -0.0240 +vn 0.0473 -0.9987 0.0196 +vn -0.4617 -0.7574 -0.4617 +vn -0.0849 0.9782 0.1896 +vn 0.0196 -0.9987 0.0473 +vn -0.1363 -0.7263 -0.6737 +vn -0.0606 0.4910 -0.8691 +vn -0.0000 -0.7071 -0.7071 +vn -0.1363 0.7263 -0.6737 +vn -0.0000 0.7071 -0.7071 +vn 0.0196 0.9987 0.0473 +vn -0.4617 0.7574 -0.4617 +vn 0.0671 0.9955 0.0671 +vn -0.6737 0.7263 -0.1363 +vn 0.0473 0.9987 0.0196 +vn -0.6737 0.7263 0.1363 +vn 0.0473 0.9987 -0.0196 +vn -0.4617 0.7574 0.4617 +vn 0.0671 0.9955 -0.0671 +vn -0.1363 0.7263 0.6737 +vn 0.0196 0.9987 -0.0473 +vn -0.1448 0.7194 0.6794 +vn -0.1866 0.9824 -0.0000 +vn -0.5294 0.5294 0.6630 +vn -0.7194 0.1448 0.6794 +vn -0.9824 0.1866 -0.0000 +vn -0.7194 0.1448 -0.6794 +vn -0.5294 0.5294 -0.6630 +vn -0.0473 0.0196 -0.9987 +vn -0.0671 0.0671 -0.9955 +vn -0.1448 0.7194 -0.6794 +vn -0.0196 0.0473 -0.9987 +vn 0.1448 0.6794 -0.7194 +vn 0.1866 -0.0000 -0.9824 +vn 0.5294 0.6630 -0.5294 +vn 0.7194 0.6794 -0.1448 +vn 0.9824 -0.0000 -0.1866 +vn 0.7194 0.6794 0.1448 +vn 0.9824 -0.0000 0.1866 +vn 0.5294 0.6630 0.5294 +vn 0.1448 0.6794 0.7194 +vn 0.1866 -0.0000 0.9824 +vn -0.0000 0.7071 0.7071 +vn 0.1448 -0.6794 0.7194 +vn -0.0000 -0.7071 0.7071 +vn 0.5294 -0.6630 0.5294 +vn 0.0671 -0.9955 0.0671 +vn 0.7194 -0.6794 0.1448 +vn 0.7194 -0.6794 -0.1448 +vn 0.5294 -0.6630 -0.5294 +vn 0.1448 -0.6794 -0.7194 +vn 0.1363 -0.6737 -0.7263 +vn 0.4617 -0.4617 -0.7574 +vn 0.6737 -0.1363 -0.7263 +vn -0.0473 0.9987 -0.0196 +vn 0.6737 0.7263 0.1363 +vn 0.7071 0.7071 -0.0000 +vn 0.8002 0.5929 0.0906 +vn 0.4617 0.7574 0.4617 +vn -0.0671 0.9955 -0.0671 +vn 0.0232 0.7168 0.6968 +vn 0.1363 0.7263 0.6737 +vn -0.0196 0.9987 -0.0473 +vn 0.1448 0.7194 0.6794 +vn 0.1866 0.9824 -0.0000 +vn 0.0196 0.0473 0.9987 +vn 0.5294 0.5294 0.6630 +vn 0.0671 0.0671 0.9955 +vn 0.7194 0.1448 0.6794 +vn 0.9824 0.1866 -0.0000 +vn 0.0473 0.0196 0.9987 +vn 0.7194 0.1448 -0.6794 +vn 0.0473 0.0196 -0.9987 +vn 0.5294 0.5294 -0.6630 +vn 0.0671 0.0671 -0.9955 +vn 0.1448 0.7194 -0.6794 +vn 0.0196 0.0473 -0.9987 +vn -0.1448 0.6794 -0.7194 +vn -0.1866 -0.0000 -0.9824 +vn -0.5294 0.6630 -0.5294 +vn -0.7194 0.6794 -0.1448 +vn -0.9824 -0.0000 -0.1866 +vn -0.7071 -0.7071 -0.0000 +vn -0.5294 -0.6630 -0.5294 +vn -0.7194 -0.6794 -0.1448 +vn -0.0671 -0.9955 -0.0671 +vn -0.0473 -0.9987 -0.0196 +vn -0.1448 -0.6794 -0.7194 +vn -0.0196 -0.9987 -0.0473 +vn -0.1363 -0.6737 -0.7263 +vn -0.4400 0.4799 -0.7590 +vn -0.4617 -0.4617 -0.7574 +vn -0.0584 0.9885 -0.1395 +vn -0.6737 -0.1363 -0.7263 +vn -0.8065 0.5845 -0.0895 +vn -0.6737 -0.1363 0.7263 +vn -0.4617 -0.4617 0.7574 +vn -0.1363 -0.6737 0.7263 +vn 0.1363 -0.7263 0.6737 +vn 0.4617 -0.7574 0.4617 +vn 0.6737 -0.7263 0.1363 +vn 0.7071 -0.7071 -0.0000 +vn 0.9177 0.3938 0.0527 +vn 0.0294 0.4688 0.8828 +vn -0.1363 0.6737 0.7263 +vn -0.5819 0.8126 0.0313 +vn 0.0671 -0.0671 0.9955 +vn -0.4617 0.4617 0.7574 +vn -0.9801 0.1968 0.0251 +vn 0.0473 -0.0196 0.9987 +vn -0.6737 0.1363 0.7263 +vn -0.9987 0.0196 0.0473 +vn -0.6794 0.1448 0.7194 +vn -0.9955 0.0671 0.0671 +vn -0.0000 0.1866 0.9824 +vn -0.6630 0.5294 0.5294 +vn -0.9987 0.0473 0.0196 +vn -0.0000 0.9824 0.1866 +vn -0.6794 0.7194 0.1448 +vn -0.0232 0.7168 -0.6968 +vn -0.0569 0.9968 -0.0569 +vn -0.9987 0.0473 -0.0196 +vn -0.6794 0.7194 -0.1448 +vn -0.9955 0.0671 -0.0671 +vn -0.0000 0.9824 -0.1866 +vn -0.6630 0.5294 -0.5294 +vn -0.6794 0.1448 -0.7194 +vn -0.9987 0.0196 -0.0473 +vn -0.0000 0.1866 -0.9824 +vn 0.6794 0.1448 -0.7194 +vn 0.9955 0.0671 -0.0671 +vn 0.6630 0.5294 -0.5294 +vn 0.6794 0.7194 -0.1448 +vn -0.3302 0.3555 0.8744 +vn -0.2789 0.9580 0.0673 +vn 0.6794 0.7194 0.1448 +vn 0.9987 0.0473 0.0196 +vn 0.6630 0.5294 0.5294 +vn 0.6794 0.1448 0.7194 +vn 0.9955 0.0671 0.0671 +vn 0.7194 -0.1448 0.6794 +vn 0.9987 0.0196 0.0473 +vn 0.5294 -0.5294 0.6630 +vn 0.9824 -0.1866 -0.0000 +vn 0.1448 -0.7194 0.6794 +vn 0.0196 -0.0473 0.9987 +vn 0.1866 -0.9824 -0.0000 +vn 0.5294 -0.5294 -0.6630 +vn 0.1448 -0.7194 -0.6794 +vn 0.0196 -0.0473 -0.9987 +vn 0.0671 -0.0671 -0.9955 +vn 0.7194 -0.1448 -0.6794 +vn 0.0473 -0.0196 -0.9987 +vn 0.7263 -0.1363 -0.6737 +vn -0.5496 -0.2823 -0.7863 +vn 0.7574 -0.4617 -0.4617 +vn 0.7263 -0.6737 -0.1363 +vn -0.0000 -0.6582 -0.7528 +vn 0.7204 0.6931 0.0240 +vn 0.9987 0.0473 -0.0196 +vn 0.7263 -0.6737 0.1363 +vn 0.7574 -0.4617 0.4617 +vn -0.0598 0.9962 0.0637 +vn 0.7263 -0.1363 0.6737 +vn 0.9987 0.0196 -0.0473 +vn 0.0240 0.6931 0.7204 +vn -0.7263 -0.1363 0.6737 +vn -0.7574 -0.4617 0.4617 +vn -0.8734 0.4405 0.2076 +vn -0.7263 -0.6737 0.1363 +vn -0.7263 -0.6737 -0.1363 +vn -0.7574 -0.4617 -0.4617 +vn -0.6984 -0.2919 -0.6535 +vn -0.7263 -0.1363 -0.6737 +vn -0.6737 0.1363 -0.7263 +vn -0.4617 0.4617 -0.7574 +vn -0.1363 0.6737 -0.7263 +vn -0.7150 -0.6333 -0.2962 +vn -0.0948 -0.9947 -0.0393 +vn 0.6303 -0.7311 0.2611 +vn -0.2962 -0.6333 -0.7150 +vn -0.0393 -0.9947 -0.0948 +vn 0.2611 -0.7311 0.6303 +vn 0.0705 0.9829 0.1701 +vn 0.0317 0.0085 0.9995 +vn 0.7181 0.0950 0.6895 +vn 0.9920 0.1266 -0.0000 +vn 0.8660 0.5000 -0.0000 +vn 0.6375 0.3681 0.6768 +vn 0.0550 0.0318 0.9980 +vn 0.5000 0.8660 -0.0000 +vn 0.3681 0.6375 0.6768 +vn 0.0318 0.0550 0.9980 +vn 0.0951 0.7181 0.6895 +vn 0.0085 0.0317 0.9995 +vn 0.1266 0.9920 -0.0000 +vn -0.0951 0.7181 0.6895 +vn -0.0085 0.0317 0.9995 +vn -0.1266 0.9920 -0.0000 +vn -0.3681 0.6375 0.6768 +vn -0.0318 0.0550 0.9980 +vn -0.8660 0.5000 -0.0000 +vn -0.6375 0.3681 0.6768 +vn -0.0550 0.0318 0.9980 +vn -0.9920 0.1266 -0.0000 +vn -0.7181 0.0950 0.6895 +vn -0.0317 0.0085 0.9995 +vn -0.6895 -0.0950 0.7181 +vn -0.0000 -0.1266 0.9920 +vn -0.9978 -0.0170 0.0635 +vn -0.6640 -0.1935 0.7223 +vn -0.0000 -0.5000 0.8660 +vn -0.9978 -0.0635 0.0170 +vn -0.6895 -0.7181 0.0951 +vn -0.6640 -0.7223 0.1935 +vn -0.0000 -0.9920 0.1266 +vn -0.0000 -0.8660 0.5000 +vn -0.9995 -0.0317 0.0085 +vn -0.7211 -0.6868 0.0910 +vn -0.0000 -0.8929 -0.4502 +vn -0.9995 0.0317 -0.0085 +vn -0.7285 -0.6617 0.1773 +vn 0.0637 -0.6070 -0.7922 +vn -0.9978 -0.0465 0.0465 +vn -0.7285 0.4844 -0.4844 +vn 0.2592 -0.5563 0.7895 +vn -0.9978 0.0170 -0.0635 +vn -0.7211 -0.0911 0.6868 +vn -0.7285 -0.1774 0.6617 +vn 0.0061 -0.7646 0.6445 +vn 0.1507 -0.9411 -0.3026 +vn -0.9995 0.0085 -0.0317 +vn -0.6868 0.0910 0.7211 +vn 0.0317 -0.0085 0.9995 +vn -0.0650 -0.9963 0.0566 +vn -0.5823 0.3362 0.7402 +vn 0.0550 -0.0318 0.9980 +vn -0.4314 -0.1790 0.8842 +vn -0.3362 0.5823 0.7402 +vn 0.0318 -0.0550 0.9980 +vn -0.0077 0.9999 0.0118 +vn -0.0911 0.6868 0.7211 +vn 0.0085 -0.0317 0.9995 +vn 0.0911 0.7211 0.6868 +vn -0.7772 0.0673 0.6256 +vn -0.0085 0.9995 -0.0317 +vn 0.3362 0.7402 0.5823 +vn -0.8897 -0.1696 -0.4239 +vn -0.0318 0.9980 -0.0550 +vn 0.5823 0.7402 0.3362 +vn 0.7844 -0.0231 0.6198 +vn -0.0550 0.9980 -0.0318 +vn 0.6868 0.7211 0.0910 +vn 0.8083 -0.0044 -0.5887 +vn -0.0317 0.9995 -0.0085 +vn 0.6868 -0.7211 0.0911 +vn -0.0317 -0.9995 -0.0085 +vn 0.5823 -0.7402 0.3362 +vn -0.0550 -0.9980 -0.0318 +vn 0.3362 -0.7402 0.5823 +vn -0.0318 -0.9980 -0.0550 +vn 0.0911 -0.7211 0.6868 +vn -0.0085 -0.9995 -0.0317 +vn 0.0950 -0.7181 0.6895 +vn 0.1266 -0.9920 -0.0000 +vn 0.3681 -0.6375 0.6768 +vn 0.5000 -0.8660 -0.0000 +vn 0.6375 -0.3681 0.6768 +vn 0.8660 -0.5000 -0.0000 +vn 0.7181 -0.0951 0.6895 +vn 0.9920 -0.1266 -0.0000 +vn 0.7211 -0.0911 0.6868 +vn 0.9995 0.0085 -0.0317 +vn 0.7402 -0.3362 0.5823 +vn 0.9980 0.0318 -0.0550 +vn 0.7402 -0.5824 0.3361 +vn 0.9980 0.0550 -0.0318 +vn 0.7211 -0.6868 0.0910 +vn 0.9995 0.0317 -0.0085 +vn 0.6895 -0.7181 0.0950 +vn 0.9995 -0.0317 0.0085 +vn 0.6768 -0.6375 0.3681 +vn 0.9980 -0.0550 0.0318 +vn 0.6768 -0.3681 0.6375 +vn 0.9980 -0.0318 0.0550 +vn 0.6895 -0.0950 0.7181 +vn 0.9995 -0.0085 0.0317 +vn 0.6868 -0.0910 0.7211 +vn 0.7055 0.7086 -0.0169 +vn 0.5823 -0.3362 0.7402 +vn 0.0504 0.9987 -0.0000 +vn 0.3362 -0.5823 0.7402 +vn 0.5820 -0.7906 0.1901 +vn 0.0910 -0.6868 0.7211 +vn -0.0911 -0.6868 0.7211 +vn -0.0172 -0.9998 -0.0055 +vn -0.3362 -0.5823 0.7402 +vn -0.0000 -1.0000 -0.0068 +vn -0.5823 -0.3362 0.7402 +vn -0.0416 -0.9991 -0.0000 +vn -0.6868 -0.0911 0.7211 +vn -0.6399 -0.7684 -0.0000 +vn -0.5823 -0.3362 -0.7402 +vn -0.6868 -0.0911 -0.7211 +vn 0.0550 0.0318 -0.9980 +vn 0.0317 0.0085 -0.9995 +vn -0.3362 -0.5823 -0.7402 +vn 0.0318 0.0550 -0.9980 +vn -0.0911 -0.6868 -0.7211 +vn 0.0085 0.0317 -0.9995 +vn 0.0911 -0.6869 -0.7211 +vn -0.0085 0.0317 -0.9995 +vn 0.3362 -0.5823 -0.7402 +vn -0.0318 0.0550 -0.9980 +vn 0.5823 -0.3362 -0.7402 +vn -0.0550 0.0318 -0.9980 +vn 0.6868 -0.0911 -0.7211 +vn -0.0317 0.0085 -0.9995 +vn 0.7211 0.0911 -0.6868 +vn -0.1798 -0.5524 -0.8140 +vn 0.7402 0.3362 -0.5823 +vn -0.2739 -0.9336 0.2308 +vn 0.7402 0.5823 -0.3362 +vn 0.0169 -0.9524 0.3044 +vn 0.7211 0.6868 -0.0911 +vn 0.7904 0.3731 -0.4859 +vn 0.6895 0.7181 -0.0950 +vn -0.0000 0.9920 -0.1266 +vn 0.6768 0.6375 -0.3681 +vn -0.0000 0.8660 -0.5000 +vn 0.6768 0.3681 -0.6375 +vn -0.0000 0.5000 -0.8660 +vn 0.6895 0.0951 -0.7181 +vn -0.0000 0.1266 -0.9920 +vn 0.7181 -0.0950 -0.6895 +vn 0.0317 -0.0085 -0.9995 +vn 0.6375 -0.3681 -0.6768 +vn 0.0550 -0.0318 -0.9980 +vn 0.3681 -0.6375 -0.6768 +vn 0.0318 -0.0550 -0.9980 +vn 0.0950 -0.7181 -0.6895 +vn 0.0085 -0.0317 -0.9995 +vn -0.0951 -0.6895 -0.7181 +vn -0.1266 -0.0000 -0.9920 +vn -0.3681 -0.6768 -0.6375 +vn -0.6376 -0.6768 -0.3681 +vn -0.7181 -0.6895 -0.0950 +vn -0.9920 -0.0000 -0.1266 +vn -0.7181 0.6895 -0.0951 +vn -0.6375 0.6768 -0.3681 +vn -0.3681 0.6768 -0.6375 +vn -0.0950 0.6895 -0.7181 +vn -0.0911 0.6868 -0.7211 +vn -0.3362 0.5823 -0.7402 +vn -0.5823 0.3362 -0.7402 +vn -0.6868 0.0911 -0.7211 +vn -0.8220 -0.5684 0.0347 +vn -0.6895 0.0951 -0.7181 +vn -0.6640 0.1935 -0.7223 +vn -0.6640 -0.5287 0.5287 +vn -0.6640 0.7223 -0.1935 +vn -0.6895 0.7181 -0.0950 +vn -0.9978 0.0635 -0.0170 +vn -0.7211 0.6868 -0.0911 +vn -0.7285 0.6617 -0.1773 +vn -0.7211 0.0910 -0.6868 +vn -0.7285 0.1773 -0.6618 +vn -0.9995 -0.0085 0.0317 +vn -0.7181 0.0950 -0.6895 +vn -0.6375 0.3681 -0.6768 +vn -0.3681 0.6375 -0.6768 +vn -0.5000 0.8660 -0.0000 +vn -0.0951 0.7181 -0.6895 +vn 0.0951 0.7181 -0.6895 +vn 0.3681 0.6375 -0.6768 +vn 0.6375 0.3681 -0.6768 +vn 0.7181 0.0950 -0.6895 +vn -0.9978 0.0465 -0.0465 +vn -0.7285 -0.4844 0.4844 +vn -0.7285 -0.4845 0.4843 +vn -0.3022 -0.7180 -0.6270 +vn -0.2682 -0.6603 -0.7015 +vn -0.6640 0.5287 -0.5287 +vn -0.0000 0.1278 0.9918 +vn 0.4959 0.1278 0.8589 +vn 0.4380 0.4823 0.7586 +vn -0.0000 0.4823 0.8760 +vn -0.4959 0.1278 0.8589 +vn -0.4380 0.4823 0.7586 +vn -0.8589 0.1278 0.4959 +vn -0.7586 0.4823 0.4380 +vn -0.9918 0.1278 -0.0000 +vn -0.8589 0.1278 -0.4959 +vn -0.7586 0.4823 -0.4380 +vn -0.4959 0.1278 -0.8589 +vn -0.4380 0.4823 -0.7586 +vn -0.0000 0.1278 -0.9918 +vn -0.0000 0.4823 -0.8760 +vn 0.4959 0.1278 -0.8589 +vn 0.8589 0.1278 -0.4959 +vn 0.7586 0.4823 -0.4380 +vn 0.9918 0.1278 -0.0000 +vn 0.4380 0.4823 -0.7586 +vn 0.7586 0.4823 0.4380 +vn 0.8589 0.1278 0.4959 +vn 0.4598 0.8474 0.2654 +vn 0.8760 0.4823 -0.0000 +vn 0.2655 0.8474 0.4598 +vn -0.0000 0.8474 0.5309 +vn 0.2654 0.8474 -0.4598 +vn 0.4598 0.8474 -0.2655 +vn -0.0000 0.8474 -0.5309 +vn -0.2654 0.8474 0.4598 +vn -0.4598 0.8474 0.2654 +vn -0.5309 0.8474 -0.0000 +vn -0.4598 0.8474 -0.2654 +vn -0.2655 0.8474 -0.4598 +vn 0.5309 0.8474 -0.0000 +vn -0.8760 0.4823 -0.0000 +vn 0.7994 -0.0266 -0.6002 +vn 0.3091 0.1007 -0.9457 +vn 0.9210 0.3725 0.1142 +vn -0.0240 0.6931 0.7204 +vn -0.0569 0.9968 0.0569 +vn -0.6968 0.7168 0.0232 +vn -0.5294 0.6630 -0.5293 +vn 0.3488 0.0834 -0.9335 +vn 0.9400 0.2842 0.1890 +vn -0.6738 -0.7263 0.1363 +vn 0.9860 -0.0920 -0.1390 +vn -0.0000 0.9980 0.0636 +vn -0.6288 0.7746 0.0674 +vn -0.9904 0.1379 -0.0134 +vn -0.6002 0.0266 0.7994 +vn -0.7372 0.6713 0.0767 +vn -0.0000 -0.0615 -0.9981 +vn -0.0000 0.9982 0.0604 +vn -0.7038 -0.0971 0.7038 +vn 0.9100 0.2053 -0.3603 +vn 0.2735 -0.5698 0.7749 +vt 0.037383 0.039720 +vt 0.000000 0.264019 +vt 0.000000 0.039720 +vt 0.037383 0.264019 +vt 0.299065 0.301402 +vt 0.037383 0.301402 +vt 0.299065 0.264019 +vt 0.336449 0.039720 +vt 0.336449 0.264019 +vt 0.299065 0.039720 +vt 0.037383 0.002336 +vt 0.299065 0.002336 +vt 0.598131 0.039720 +vt 0.598131 0.264019 +vt 0.752336 0.647196 +vt 0.672897 0.609813 +vt 0.757009 0.609813 +vt 0.668224 0.686916 +vt 0.588785 0.649533 +vt 0.672897 0.649533 +vt 0.752336 0.686916 +vt 0.757009 0.649533 +vt 0.588785 0.607477 +vt 0.663551 0.532710 +vt 0.663551 0.607477 +vt 0.668224 0.647196 +vt 0.588785 0.609813 +vt 0.586449 0.710280 +vt 0.579439 0.485981 +vt 0.586449 0.485981 +vt 0.565421 0.710280 +vt 0.558411 0.485981 +vt 0.565421 0.485981 +vt 0.572430 0.710280 +vt 0.572430 0.485981 +vt 0.558411 0.717290 +vt 0.565421 0.717290 +vt 0.579439 0.710280 +vt 0.469626 0.981308 +vt 0.450935 0.495327 +vt 0.469626 0.495327 +vt 0.488318 0.981308 +vt 0.488318 0.495327 +vt 0.507009 0.981308 +vt 0.507009 0.495327 +vt 0.469626 1.000000 +vt 0.488318 1.000000 +vt 0.525701 0.981308 +vt 0.525701 0.495327 +vt 0.223229 0.915888 +vt 0.196264 0.887850 +vt 0.224296 0.887850 +vt 0.220191 0.943925 +vt 0.197331 0.915888 +vt 0.248228 0.943925 +vt 0.225369 0.915888 +vt 0.251267 0.915888 +vt 0.224302 0.887850 +vt 0.252334 0.887850 +vt 0.224299 0.887850 +vt 0.196262 0.439252 +vt 0.224299 0.439252 +vt 0.252336 0.887850 +vt 0.252336 0.439252 +vt 0.280374 0.887850 +vt 0.280374 0.439252 +vt 0.308411 0.887850 +vt 0.308411 0.439252 +vt 0.307342 0.915888 +vt 0.280377 0.887850 +vt 0.308408 0.887850 +vt 0.279304 0.915888 +vt 0.252339 0.887850 +vt 0.280371 0.887850 +vt 0.276266 0.943925 +vt 0.253406 0.915888 +vt 0.304303 0.943925 +vt 0.281444 0.915888 +vt 0.332341 0.943925 +vt 0.309481 0.915888 +vt 0.335379 0.915888 +vt 0.308414 0.887850 +vt 0.336446 0.887850 +vt 0.360378 0.943925 +vt 0.337518 0.915888 +vt 0.363416 0.915888 +vt 0.336451 0.887850 +vt 0.364483 0.887850 +vt 0.364486 0.887850 +vt 0.336449 0.439252 +vt 0.364486 0.439252 +vt 0.336449 0.887850 +vt 0.392523 0.887850 +vt 0.392523 0.439252 +vt 0.420561 0.887850 +vt 0.420561 0.439252 +vt 0.419491 0.915888 +vt 0.392526 0.887850 +vt 0.420558 0.887850 +vt 0.391454 0.915888 +vt 0.364489 0.887850 +vt 0.392520 0.887850 +vt 0.388415 0.943925 +vt 0.365556 0.915888 +vt 0.396631 0.943925 +vt 0.393593 0.915888 +vt 0.444490 0.943925 +vt 0.421630 0.915888 +vt 0.447528 0.915888 +vt 0.420563 0.887850 +vt 0.448595 0.887850 +vt 0.023929 0.943925 +vt 0.001070 0.915888 +vt 0.026968 0.915888 +vt 0.000003 0.887850 +vt 0.028035 0.887850 +vt 0.028037 0.887850 +vt 0.000000 0.439252 +vt 0.028037 0.439252 +vt 0.448598 0.887850 +vt 0.448598 0.439252 +vt 0.056075 0.887850 +vt 0.056075 0.439252 +vt 0.084112 0.439252 +vt 0.083042 0.915888 +vt 0.056078 0.887850 +vt 0.084109 0.887850 +vt 0.055005 0.915888 +vt 0.028040 0.887850 +vt 0.056072 0.887850 +vt 0.051967 0.943925 +vt 0.029107 0.915888 +vt 0.060183 0.943925 +vt 0.057144 0.915888 +vt 0.108042 0.943925 +vt 0.085182 0.915888 +vt 0.111080 0.915888 +vt 0.084115 0.887850 +vt 0.112147 0.887850 +vt 0.136079 0.943925 +vt 0.113219 0.915888 +vt 0.139117 0.915888 +vt 0.112152 0.887850 +vt 0.140184 0.887850 +vt 0.140187 0.887850 +vt 0.112150 0.439252 +vt 0.140187 0.439252 +vt 0.112150 0.887850 +vt 0.168224 0.887850 +vt 0.168224 0.439252 +vt 0.196262 0.887850 +vt 0.195192 0.915888 +vt 0.168227 0.887850 +vt 0.196259 0.887850 +vt 0.167155 0.915888 +vt 0.140190 0.887850 +vt 0.168222 0.887850 +vt 0.144295 0.943925 +vt 0.141257 0.915888 +vt 0.172332 0.943925 +vt 0.169294 0.915888 +vt 0.159569 0.971963 +vt 0.164116 0.943925 +vt 0.192154 0.943925 +vt 0.176879 0.971963 +vt 0.131532 0.971963 +vt 0.116257 0.943925 +vt 0.154253 0.999950 +vt 0.148842 0.971963 +vt 0.126216 0.999950 +vt 0.120805 0.971963 +vt 0.411906 0.971963 +vt 0.406589 0.999950 +vt 0.401178 0.971963 +vt 0.439943 0.971963 +vt 0.434627 0.999950 +vt 0.429216 0.971963 +vt 0.243681 0.971963 +vt 0.238365 0.999950 +vt 0.232954 0.971963 +vt 0.215644 0.971963 +vt 0.210328 0.999950 +vt 0.204917 0.971963 +vt 0.187607 0.971963 +vt 0.182290 0.999950 +vt 0.103495 0.971963 +vt 0.098178 0.999950 +vt 0.092767 0.971963 +vt 0.075457 0.971963 +vt 0.070141 0.999950 +vt 0.064730 0.971963 +vt 0.047420 0.971963 +vt 0.042103 0.999950 +vt 0.036692 0.971963 +vt 0.019382 0.971963 +vt 0.014066 0.999950 +vt 0.008655 0.971963 +vt 0.383868 0.971963 +vt 0.378552 0.999950 +vt 0.373141 0.971963 +vt 0.355831 0.971963 +vt 0.350515 0.999950 +vt 0.345104 0.971963 +vt 0.327794 0.971963 +vt 0.322477 0.999950 +vt 0.317066 0.971963 +vt 0.299756 0.971963 +vt 0.294440 0.999950 +vt 0.289029 0.971963 +vt 0.271719 0.971963 +vt 0.266402 0.999950 +vt 0.260991 0.971963 +vt 0.228407 0.943925 +vt 0.256444 0.943925 +vt 0.284482 0.943925 +vt 0.312519 0.943925 +vt 0.340557 0.943925 +vt 0.368594 0.943925 +vt 0.416453 0.943925 +vt 0.424669 0.943925 +vt 0.004108 0.943925 +vt 0.032145 0.943925 +vt 0.080004 0.943925 +vt 0.088220 0.943925 +vt 0.200370 0.943925 +vt 0.084112 0.432243 +vt 0.070093 0.324766 +vt 0.084112 0.324766 +vt 0.098131 0.432243 +vt 0.098131 0.324766 +vt 0.071060 0.436916 +vt 0.070093 0.432243 +vt 0.085079 0.436916 +vt 0.111183 0.436916 +vt 0.099098 0.436916 +vt 0.112150 0.432243 +vt 0.112150 0.324766 +vt 0.126168 0.432243 +vt 0.113117 0.436916 +vt 0.126168 0.324766 +vt 0.140187 0.432243 +vt 0.140187 0.324766 +vt 0.154206 0.432243 +vt 0.154206 0.324766 +vt 0.127135 0.436916 +vt 0.141154 0.436916 +vt 0.167257 0.436916 +vt 0.155173 0.436916 +vt 0.168224 0.432243 +vt 0.168224 0.324766 +vt 0.014019 0.432243 +vt 0.000967 0.436916 +vt 0.000000 0.432243 +vt 0.000000 0.324766 +vt 0.014019 0.324766 +vt 0.028037 0.432243 +vt 0.028037 0.324766 +vt 0.042056 0.432243 +vt 0.042056 0.324766 +vt 0.014986 0.436916 +vt 0.029004 0.436916 +vt 0.056075 0.432243 +vt 0.043023 0.436916 +vt 0.056075 0.324766 +vt 0.057042 0.436916 +vt 0.214159 0.425234 +vt 0.193925 0.390187 +vt 0.173691 0.425234 +vt 0.231308 0.352804 +vt 0.170561 0.343458 +vt 0.235981 0.343458 +vt 0.231308 0.387850 +vt 0.170561 0.378505 +vt 0.235981 0.378505 +vt 0.231308 0.376168 +vt 0.170561 0.366822 +vt 0.235981 0.366822 +vt 0.238318 0.436916 +vt 0.294393 0.380841 +vt 0.294393 0.436916 +vt 0.231308 0.364486 +vt 0.170561 0.355140 +vt 0.235981 0.355140 +vt 0.485981 0.378505 +vt 0.434579 0.303738 +vt 0.485981 0.303738 +vt 0.310748 0.355140 +vt 0.238318 0.378505 +vt 0.238318 0.303738 +vt 0.362150 0.355140 +vt 0.310748 0.303738 +vt 0.362150 0.303738 +vt 0.310748 0.378505 +vt 0.362150 0.378505 +vt 0.434579 0.378505 +vt 0.362150 0.427570 +vt 0.546729 0.530374 +vt 0.532710 0.535047 +vt 0.532710 0.530374 +vt 0.532710 0.577103 +vt 0.528037 0.535047 +vt 0.546729 0.577103 +vt 0.546729 0.535047 +vt 0.551402 0.577103 +vt 0.551402 0.535047 +vt 0.532710 0.581776 +vt 0.546729 0.581776 +vt 0.707944 0.123832 +vt 0.703271 0.049065 +vt 0.707944 0.049065 +vt 0.712617 0.123832 +vt 0.712617 0.049065 +vt 0.717290 0.123832 +vt 0.717290 0.049065 +vt 0.712617 0.128843 +vt 0.717290 0.129685 +vt 0.712617 0.130526 +vt 0.707944 0.126739 +vt 0.707944 0.132578 +vt 0.712617 0.140525 +vt 0.717290 0.141367 +vt 0.712617 0.142209 +vt 0.707944 0.144260 +vt 0.707944 0.138421 +vt 0.717290 0.147196 +vt 0.712617 0.149533 +vt 0.712617 0.147196 +vt 0.707944 0.149533 +vt 0.707944 0.147196 +vt 0.717290 0.152473 +vt 0.712617 0.156208 +vt 0.712617 0.154525 +vt 0.707944 0.155366 +vt 0.717291 0.164135 +vt 0.712619 0.167915 +vt 0.712619 0.166202 +vt 0.707945 0.167053 +vt 0.707947 0.167059 +vt 0.717290 0.172897 +vt 0.712617 0.210280 +vt 0.712617 0.172897 +vt 0.707944 0.210280 +vt 0.707944 0.172897 +vt 0.717290 0.213221 +vt 0.712617 0.216955 +vt 0.712617 0.215272 +vt 0.707944 0.216114 +vt 0.712618 0.226950 +vt 0.717290 0.230730 +vt 0.712618 0.228663 +vt 0.707946 0.227807 +vt 0.707945 0.227812 +vt 0.717290 0.233645 +vt 0.712617 0.235981 +vt 0.712617 0.233645 +vt 0.707944 0.235981 +vt 0.707944 0.233645 +vt 0.703271 0.233645 +vt 0.703271 0.235981 +vt 0.698598 0.235981 +vt 0.698598 0.233645 +vt 0.703271 0.226974 +vt 0.707944 0.227816 +vt 0.703271 0.228657 +vt 0.698598 0.230709 +vt 0.698598 0.224870 +vt 0.703271 0.215292 +vt 0.707944 0.216133 +vt 0.703271 0.216975 +vt 0.698598 0.219026 +vt 0.698598 0.213188 +vt 0.703271 0.172897 +vt 0.703271 0.210280 +vt 0.698598 0.210280 +vt 0.698598 0.172897 +vt 0.703271 0.166226 +vt 0.707944 0.167068 +vt 0.703271 0.167910 +vt 0.698598 0.169961 +vt 0.698598 0.164122 +vt 0.703270 0.154519 +vt 0.707942 0.155375 +vt 0.703270 0.156232 +vt 0.698598 0.158299 +vt 0.698598 0.152451 +vt 0.703271 0.147196 +vt 0.703271 0.149533 +vt 0.698598 0.149533 +vt 0.698598 0.147196 +vt 0.703271 0.136370 +vt 0.703271 0.146364 +vt 0.698598 0.135528 +vt 0.698598 0.147206 +vt 0.703271 0.134682 +vt 0.703271 0.124688 +vt 0.698598 0.135524 +vt 0.698598 0.123846 +vt 0.703271 0.123832 +vt 0.698598 0.049065 +vt 0.698598 0.123832 +vt 0.693925 0.049065 +vt 0.693925 0.124668 +vt 0.698599 0.135504 +vt 0.693925 0.134662 +vt 0.693925 0.123832 +vt 0.689252 0.049065 +vt 0.689252 0.126772 +vt 0.689252 0.132611 +vt 0.698599 0.135509 +vt 0.693925 0.146345 +vt 0.693925 0.136351 +vt 0.693925 0.136370 +vt 0.689252 0.144313 +vt 0.689252 0.138474 +vt 0.693925 0.149533 +vt 0.693925 0.147196 +vt 0.689252 0.149533 +vt 0.689252 0.147196 +vt 0.693925 0.160367 +vt 0.693925 0.150384 +vt 0.689253 0.161223 +vt 0.689253 0.149528 +vt 0.693925 0.162071 +vt 0.693925 0.172065 +vt 0.689252 0.172907 +vt 0.689252 0.161229 +vt 0.693925 0.210280 +vt 0.693925 0.172897 +vt 0.689252 0.210280 +vt 0.689252 0.172897 +vt 0.693925 0.211136 +vt 0.693925 0.221130 +vt 0.689252 0.221972 +vt 0.689252 0.210295 +vt 0.693925 0.232813 +vt 0.693925 0.222819 +vt 0.689252 0.233654 +vt 0.689252 0.221977 +vt 0.693925 0.235981 +vt 0.693925 0.233645 +vt 0.689252 0.235981 +vt 0.689252 0.233645 +vt 0.684579 0.233645 +vt 0.684579 0.235981 +vt 0.679907 0.233645 +vt 0.679907 0.235981 +vt 0.684580 0.222815 +vt 0.689251 0.233654 +vt 0.684580 0.232798 +vt 0.679907 0.224883 +vt 0.679907 0.230730 +vt 0.684580 0.211117 +vt 0.689253 0.221953 +vt 0.684580 0.221111 +vt 0.679906 0.219060 +vt 0.679906 0.213221 +vt 0.684579 0.172897 +vt 0.684579 0.210280 +vt 0.679907 0.210280 +vt 0.679907 0.172897 +vt 0.684580 0.162068 +vt 0.689251 0.172906 +vt 0.684580 0.172050 +vt 0.679907 0.169982 +vt 0.679907 0.164135 +vt 0.684580 0.150369 +vt 0.689253 0.161205 +vt 0.684580 0.160363 +vt 0.679906 0.158312 +vt 0.679906 0.152473 +vt 0.684579 0.147196 +vt 0.684579 0.149533 +vt 0.679907 0.149533 +vt 0.679907 0.147196 +vt 0.684579 0.140506 +vt 0.689252 0.144293 +vt 0.684579 0.142189 +vt 0.679906 0.141348 +vt 0.684579 0.130507 +vt 0.684579 0.128824 +vt 0.679906 0.129665 +vt 0.689252 0.123832 +vt 0.684579 0.049065 +vt 0.684579 0.123832 +vt 0.679907 0.049065 +vt 0.747664 0.137850 +vt 0.742991 0.049065 +vt 0.747664 0.049065 +vt 0.752336 0.137850 +vt 0.752336 0.049065 +vt 0.757009 0.137850 +vt 0.757009 0.049065 +vt 0.752336 0.142836 +vt 0.757009 0.143691 +vt 0.752336 0.144547 +vt 0.747664 0.140771 +vt 0.747664 0.146611 +vt 0.752336 0.154518 +vt 0.757009 0.155374 +vt 0.752336 0.156229 +vt 0.747664 0.158294 +vt 0.747664 0.152453 +vt 0.757009 0.161215 +vt 0.752336 0.182243 +vt 0.752336 0.161215 +vt 0.747664 0.182243 +vt 0.747664 0.161215 +vt 0.757009 0.185164 +vt 0.752335 0.193069 +vt 0.752335 0.183100 +vt 0.747663 0.193924 +vt 0.747663 0.182244 +vt 0.757008 0.196846 +vt 0.752335 0.204751 +vt 0.752335 0.194782 +vt 0.747663 0.205606 +vt 0.747663 0.193927 +vt 0.757009 0.205607 +vt 0.752336 0.210280 +vt 0.752336 0.205607 +vt 0.747664 0.210280 +vt 0.747664 0.205607 +vt 0.742991 0.210280 +vt 0.742991 0.205607 +vt 0.738318 0.210280 +vt 0.738318 0.205607 +vt 0.747663 0.193926 +vt 0.742990 0.204751 +vt 0.742990 0.194781 +vt 0.738317 0.202686 +vt 0.738317 0.196846 +vt 0.742990 0.183099 +vt 0.747663 0.193924 +vt 0.742990 0.193069 +vt 0.738317 0.185164 +vt 0.738317 0.191004 +vt 0.742991 0.182243 +vt 0.742991 0.161215 +vt 0.738318 0.161215 +vt 0.738318 0.182243 +vt 0.742990 0.150389 +vt 0.742990 0.160359 +vt 0.738317 0.149533 +vt 0.738317 0.161214 +vt 0.742990 0.138706 +vt 0.742990 0.148676 +vt 0.738317 0.137851 +vt 0.738317 0.149532 +vt 0.742991 0.137850 +vt 0.738318 0.049065 +vt 0.738318 0.137850 +vt 0.733645 0.049065 +vt 0.738318 0.137851 +vt 0.733645 0.148676 +vt 0.733645 0.138706 +vt 0.733645 0.137850 +vt 0.728972 0.049065 +vt 0.728972 0.146611 +vt 0.728972 0.140771 +vt 0.738318 0.149534 +vt 0.733645 0.160358 +vt 0.733645 0.150390 +vt 0.728973 0.158294 +vt 0.728973 0.152454 +vt 0.733645 0.182243 +vt 0.733645 0.161215 +vt 0.728972 0.182243 +vt 0.728972 0.161215 +vt 0.733644 0.188939 +vt 0.733644 0.187229 +vt 0.728972 0.188084 +vt 0.728971 0.188090 +vt 0.733644 0.198911 +vt 0.733644 0.200621 +vt 0.728972 0.199766 +vt 0.728971 0.199772 +vt 0.733645 0.205607 +vt 0.733645 0.210280 +vt 0.728972 0.210280 +vt 0.728972 0.205607 +vt 0.724299 0.210280 +vt 0.724299 0.205607 +vt 0.719626 0.210280 +vt 0.719626 0.205607 +vt 0.724297 0.198911 +vt 0.728971 0.199772 +vt 0.724297 0.200622 +vt 0.719624 0.202686 +vt 0.719624 0.196846 +vt 0.724297 0.187229 +vt 0.728971 0.188090 +vt 0.724297 0.188940 +vt 0.719625 0.191004 +vt 0.719625 0.185164 +vt 0.724299 0.182243 +vt 0.724299 0.161215 +vt 0.719626 0.161215 +vt 0.719626 0.182243 +vt 0.724301 0.156229 +vt 0.724300 0.154519 +vt 0.719625 0.155369 +vt 0.719629 0.155374 +vt 0.724299 0.144546 +vt 0.724299 0.142836 +vt 0.719627 0.143691 +vt 0.719625 0.143685 +vt 0.728972 0.137850 +vt 0.724299 0.049065 +vt 0.724299 0.137850 +vt 0.719626 0.049065 +vt 0.628505 0.095794 +vt 0.623832 0.049065 +vt 0.628505 0.049065 +vt 0.633178 0.095794 +vt 0.633178 0.049065 +vt 0.637850 0.095794 +vt 0.637850 0.049065 +vt 0.633178 0.100780 +vt 0.637851 0.101641 +vt 0.633178 0.102490 +vt 0.628504 0.098715 +vt 0.628504 0.104555 +vt 0.633178 0.112462 +vt 0.637850 0.113317 +vt 0.633178 0.114173 +vt 0.628504 0.110397 +vt 0.628504 0.116237 +vt 0.637850 0.119159 +vt 0.633178 0.142523 +vt 0.633178 0.119159 +vt 0.628505 0.142523 +vt 0.628505 0.119159 +vt 0.633177 0.147508 +vt 0.628505 0.148363 +vt 0.628504 0.148357 +vt 0.637851 0.151283 +vt 0.633177 0.149218 +vt 0.633177 0.159190 +vt 0.628505 0.160046 +vt 0.628504 0.160040 +vt 0.637851 0.162966 +vt 0.633177 0.160901 +vt 0.633178 0.165888 +vt 0.628505 0.217290 +vt 0.628505 0.165888 +vt 0.637850 0.165888 +vt 0.633178 0.217290 +vt 0.633177 0.218146 +vt 0.628505 0.226051 +vt 0.628505 0.220210 +vt 0.637851 0.217290 +vt 0.633177 0.228116 +vt 0.633178 0.229829 +vt 0.628505 0.237734 +vt 0.628505 0.231894 +vt 0.637851 0.240653 +vt 0.633178 0.239798 +vt 0.633178 0.240654 +vt 0.628505 0.252336 +vt 0.628505 0.240654 +vt 0.637850 0.240654 +vt 0.633178 0.252336 +vt 0.633177 0.253192 +vt 0.628504 0.264017 +vt 0.628504 0.252336 +vt 0.637850 0.261097 +vt 0.633177 0.263161 +vt 0.633177 0.264874 +vt 0.628504 0.275698 +vt 0.628504 0.264019 +vt 0.637849 0.266938 +vt 0.633177 0.274843 +vt 0.633178 0.275701 +vt 0.628505 0.390187 +vt 0.628505 0.275701 +vt 0.637850 0.275701 +vt 0.633178 0.390187 +vt 0.628504 0.396021 +vt 0.633179 0.396881 +vt 0.628507 0.396026 +vt 0.637852 0.393106 +vt 0.633179 0.395171 +vt 0.628504 0.407705 +vt 0.633179 0.408566 +vt 0.628507 0.407711 +vt 0.637852 0.404791 +vt 0.633179 0.406855 +vt 0.633178 0.413551 +vt 0.628505 0.415888 +vt 0.628505 0.413551 +vt 0.637850 0.413551 +vt 0.633178 0.415888 +vt 0.633177 0.416743 +vt 0.628505 0.424648 +vt 0.628505 0.418808 +vt 0.637851 0.415888 +vt 0.633177 0.426713 +vt 0.628506 0.430492 +vt 0.633178 0.438396 +vt 0.628506 0.436331 +vt 0.633178 0.428427 +vt 0.637851 0.439251 +vt 0.633178 0.439252 +vt 0.628505 0.457944 +vt 0.628505 0.439252 +vt 0.637850 0.457944 +vt 0.633178 0.457944 +vt 0.605140 0.439252 +vt 0.600467 0.457944 +vt 0.600467 0.439252 +vt 0.609813 0.457944 +vt 0.605140 0.457944 +vt 0.600467 0.427570 +vt 0.605140 0.438395 +vt 0.600467 0.439250 +vt 0.609812 0.430490 +vt 0.605140 0.428425 +vt 0.605140 0.416743 +vt 0.600467 0.427567 +vt 0.600467 0.415888 +vt 0.609812 0.424647 +vt 0.605140 0.426712 +vt 0.605140 0.413551 +vt 0.600467 0.415888 +vt 0.600467 0.413551 +vt 0.609813 0.413551 +vt 0.605140 0.415888 +vt 0.605141 0.402726 +vt 0.600469 0.410630 +vt 0.600469 0.404791 +vt 0.609813 0.401871 +vt 0.605141 0.412695 +vt 0.600469 0.393106 +vt 0.605141 0.401010 +vt 0.600469 0.398946 +vt 0.609813 0.390187 +vt 0.605141 0.391042 +vt 0.605140 0.275701 +vt 0.600467 0.390187 +vt 0.600467 0.275701 +vt 0.609813 0.275701 +vt 0.605140 0.390187 +vt 0.605139 0.269003 +vt 0.600466 0.272778 +vt 0.600466 0.266938 +vt 0.609813 0.269864 +vt 0.605139 0.270713 +vt 0.600467 0.255256 +vt 0.605140 0.259032 +vt 0.600467 0.261097 +vt 0.605140 0.257321 +vt 0.609813 0.258177 +vt 0.605140 0.240654 +vt 0.600467 0.252336 +vt 0.600467 0.240654 +vt 0.609813 0.240654 +vt 0.605140 0.252336 +vt 0.600467 0.228973 +vt 0.605140 0.239798 +vt 0.600467 0.240653 +vt 0.605140 0.229828 +vt 0.609812 0.237733 +vt 0.600467 0.217290 +vt 0.605140 0.228115 +vt 0.600467 0.228970 +vt 0.605140 0.218146 +vt 0.609812 0.226050 +vt 0.605140 0.165888 +vt 0.600467 0.217290 +vt 0.600467 0.165888 +vt 0.609813 0.217290 +vt 0.605140 0.217290 +vt 0.600467 0.157126 +vt 0.605140 0.165031 +vt 0.600467 0.162966 +vt 0.605140 0.155061 +vt 0.609813 0.165886 +vt 0.605140 0.143378 +vt 0.600467 0.151283 +vt 0.600467 0.145443 +vt 0.609813 0.154203 +vt 0.605140 0.153348 +vt 0.609813 0.119159 +vt 0.605140 0.142523 +vt 0.605140 0.119159 +vt 0.600467 0.119159 +vt 0.600467 0.142523 +vt 0.614486 0.119159 +vt 0.609813 0.142523 +vt 0.609812 0.142523 +vt 0.614486 0.153348 +vt 0.609812 0.154204 +vt 0.619159 0.119159 +vt 0.614486 0.142523 +vt 0.619158 0.145443 +vt 0.614486 0.143379 +vt 0.614486 0.155060 +vt 0.609812 0.165886 +vt 0.609812 0.154205 +vt 0.619158 0.157125 +vt 0.614486 0.165030 +vt 0.614486 0.165888 +vt 0.609813 0.165888 +vt 0.619159 0.165888 +vt 0.614486 0.217290 +vt 0.614485 0.222275 +vt 0.609812 0.220210 +vt 0.619159 0.223136 +vt 0.614485 0.223985 +vt 0.609812 0.231893 +vt 0.614486 0.235668 +vt 0.614486 0.233957 +vt 0.619159 0.234813 +vt 0.619159 0.240654 +vt 0.614486 0.252336 +vt 0.614486 0.240654 +vt 0.609813 0.252336 +vt 0.609812 0.258173 +vt 0.614487 0.259033 +vt 0.609816 0.258178 +vt 0.619160 0.255258 +vt 0.614487 0.257323 +vt 0.609813 0.269859 +vt 0.614485 0.270715 +vt 0.609812 0.269865 +vt 0.614485 0.269004 +vt 0.619159 0.272779 +vt 0.619159 0.275701 +vt 0.614486 0.390187 +vt 0.614486 0.275701 +vt 0.609813 0.390187 +vt 0.614486 0.391042 +vt 0.609812 0.401867 +vt 0.609812 0.390187 +vt 0.619158 0.393107 +vt 0.614486 0.401012 +vt 0.609812 0.401869 +vt 0.614486 0.412694 +vt 0.609812 0.413549 +vt 0.614486 0.402724 +vt 0.619158 0.410629 +vt 0.619159 0.413551 +vt 0.614486 0.415888 +vt 0.614486 0.413551 +vt 0.609813 0.415888 +vt 0.609812 0.418808 +vt 0.614485 0.422583 +vt 0.614485 0.420872 +vt 0.619159 0.421733 +vt 0.614486 0.434265 +vt 0.609812 0.436330 +vt 0.614486 0.432555 +vt 0.619159 0.433410 +vt 0.614486 0.439252 +vt 0.609813 0.439252 +vt 0.619159 0.439252 +vt 0.614486 0.457944 +vt 0.623832 0.457944 +vt 0.619159 0.457944 +vt 0.623832 0.439252 +vt 0.619158 0.433406 +vt 0.623833 0.434267 +vt 0.619161 0.433412 +vt 0.623833 0.432556 +vt 0.619159 0.421728 +vt 0.623831 0.422584 +vt 0.619158 0.421734 +vt 0.623831 0.420873 +vt 0.623832 0.413551 +vt 0.619159 0.415888 +vt 0.623832 0.415888 +vt 0.619158 0.404789 +vt 0.623832 0.408565 +vt 0.623832 0.406854 +vt 0.628504 0.407709 +vt 0.623832 0.395172 +vt 0.619158 0.398947 +vt 0.628504 0.396027 +vt 0.623832 0.396882 +vt 0.623832 0.275701 +vt 0.619159 0.390187 +vt 0.623832 0.390187 +vt 0.623832 0.264874 +vt 0.619159 0.266939 +vt 0.628505 0.275699 +vt 0.623832 0.274844 +vt 0.623832 0.253194 +vt 0.619160 0.261097 +vt 0.628505 0.264017 +vt 0.623832 0.263162 +vt 0.623832 0.240654 +vt 0.619159 0.252336 +vt 0.623832 0.252336 +vt 0.623832 0.233958 +vt 0.619160 0.234814 +vt 0.619158 0.234808 +vt 0.623832 0.235669 +vt 0.619158 0.223125 +vt 0.623831 0.223986 +vt 0.619159 0.223131 +vt 0.623831 0.222275 +vt 0.623832 0.165888 +vt 0.619159 0.217290 +vt 0.623832 0.217290 +vt 0.623832 0.160901 +vt 0.619158 0.162965 +vt 0.623832 0.159190 +vt 0.628505 0.160051 +vt 0.623832 0.160901 +vt 0.623832 0.149219 +vt 0.619158 0.151284 +vt 0.623832 0.147508 +vt 0.628504 0.148364 +vt 0.623832 0.149219 +vt 0.623832 0.142523 +vt 0.623832 0.119159 +vt 0.619159 0.142523 +vt 0.623832 0.108332 +vt 0.623832 0.118302 +vt 0.619158 0.107477 +vt 0.619158 0.119157 +vt 0.623832 0.096650 +vt 0.623832 0.106620 +vt 0.619158 0.107475 +vt 0.619158 0.095795 +vt 0.623832 0.095794 +vt 0.619159 0.049065 +vt 0.619159 0.095794 +vt 0.614486 0.049065 +vt 0.619159 0.095795 +vt 0.614486 0.106620 +vt 0.614486 0.096650 +vt 0.614486 0.095794 +vt 0.609813 0.049065 +vt 0.609813 0.104556 +vt 0.609813 0.098715 +vt 0.605139 0.102491 +vt 0.605139 0.100780 +vt 0.600468 0.101641 +vt 0.600466 0.101635 +vt 0.609813 0.095794 +vt 0.605140 0.049065 +vt 0.605140 0.095794 +vt 0.600467 0.049065 +vt 0.619159 0.107420 +vt 0.614486 0.118244 +vt 0.614486 0.108276 +vt 0.609813 0.116179 +vt 0.609813 0.110340 +vt 0.605140 0.114115 +vt 0.605140 0.112405 +vt 0.600466 0.113254 +vt 0.600469 0.113260 +vt 0.869159 0.385514 +vt 0.859813 0.366822 +vt 0.869159 0.366822 +vt 0.859813 0.385514 +vt 0.850467 0.366822 +vt 0.850467 0.385514 +vt 0.841121 0.366822 +vt 0.822430 0.386541 +vt 0.831776 0.399531 +vt 0.822430 0.398505 +vt 0.813081 0.389019 +vt 0.813081 0.396027 +vt 0.822430 0.400560 +vt 0.831776 0.413550 +vt 0.822430 0.412524 +vt 0.813081 0.403038 +vt 0.813081 0.410046 +vt 0.831776 0.413552 +vt 0.822430 0.426542 +vt 0.822430 0.414579 +vt 0.813081 0.424065 +vt 0.813081 0.417057 +vt 0.850467 0.427570 +vt 0.841121 0.490654 +vt 0.841121 0.427570 +vt 0.859813 0.427570 +vt 0.850467 0.490654 +vt 0.831776 0.490655 +vt 0.822430 0.503645 +vt 0.822430 0.491681 +vt 0.813081 0.494159 +vt 0.813081 0.501167 +vt 0.822431 0.505702 +vt 0.831776 0.518690 +vt 0.822431 0.517664 +vt 0.813084 0.515186 +vt 0.813084 0.508179 +vt 0.822431 0.519720 +vt 0.831776 0.532709 +vt 0.822431 0.531682 +vt 0.813084 0.529205 +vt 0.813084 0.522198 +vt 0.850467 0.532710 +vt 0.841121 0.745327 +vt 0.841121 0.532710 +vt 0.859813 0.532710 +vt 0.850467 0.745327 +vt 0.822428 0.746354 +vt 0.831777 0.755840 +vt 0.822428 0.758318 +vt 0.813082 0.759344 +vt 0.813082 0.745328 +vt 0.831777 0.776870 +vt 0.822428 0.786356 +vt 0.822428 0.774392 +vt 0.813082 0.787382 +vt 0.813082 0.773366 +vt 0.850467 0.787383 +vt 0.841121 0.808411 +vt 0.841121 0.787383 +vt 0.859813 0.787383 +vt 0.850467 0.808411 +vt 0.831774 0.811917 +vt 0.822430 0.816447 +vt 0.822430 0.814395 +vt 0.813086 0.815421 +vt 0.813082 0.815411 +vt 0.831776 0.762851 +vt 0.841121 0.767381 +vt 0.831776 0.769858 +vt 0.841121 0.765328 +vt 0.850468 0.766365 +vt 0.831774 0.839955 +vt 0.822430 0.844485 +vt 0.822430 0.842432 +vt 0.813086 0.843458 +vt 0.813082 0.843448 +vt 0.850467 0.850467 +vt 0.841121 0.892523 +vt 0.841121 0.850467 +vt 0.859813 0.850467 +vt 0.850467 0.892523 +vt 0.822430 0.898506 +vt 0.831776 0.899543 +vt 0.822430 0.900559 +vt 0.813085 0.896028 +vt 0.813085 0.903036 +vt 0.822430 0.912525 +vt 0.831776 0.913561 +vt 0.822430 0.914577 +vt 0.813085 0.910047 +vt 0.813085 0.917055 +vt 0.822430 0.926544 +vt 0.831775 0.927570 +vt 0.822430 0.928596 +vt 0.813085 0.924066 +vt 0.813085 0.931074 +vt 0.850467 0.934579 +vt 0.841121 0.936916 +vt 0.841121 0.934579 +vt 0.859813 0.936916 +vt 0.850467 0.936916 +vt 0.831772 0.940421 +vt 0.822427 0.944951 +vt 0.822427 0.942899 +vt 0.813082 0.943925 +vt 0.813099 0.943937 +vt 0.831772 0.954440 +vt 0.822427 0.958970 +vt 0.822427 0.956917 +vt 0.813107 0.957957 +vt 0.813082 0.957943 +vt 0.831785 0.968466 +vt 0.822446 0.972993 +vt 0.822446 0.970942 +vt 0.813107 0.971967 +vt 0.813082 0.971959 +vt 0.850467 0.978972 +vt 0.841121 1.000000 +vt 0.841121 0.978972 +vt 0.859813 0.978972 +vt 0.850467 1.000000 +vt 0.869159 1.000000 +vt 0.859813 1.000000 +vt 0.803738 0.978972 +vt 0.794393 1.000000 +vt 0.794393 0.978972 +vt 0.813062 0.971958 +vt 0.803722 0.972984 +vt 0.803722 0.970932 +vt 0.794383 0.975460 +vt 0.794383 0.968456 +vt 0.813065 0.957948 +vt 0.803725 0.958973 +vt 0.803725 0.956922 +vt 0.794384 0.961450 +vt 0.794384 0.954445 +vt 0.803721 0.942895 +vt 0.813085 0.943928 +vt 0.803721 0.944946 +vt 0.794382 0.947422 +vt 0.794382 0.940418 +vt 0.859813 0.934579 +vt 0.869159 0.936916 +vt 0.803738 0.934579 +vt 0.794393 0.936916 +vt 0.794393 0.934579 +vt 0.803737 0.933552 +vt 0.803737 0.921588 +vt 0.794390 0.934578 +vt 0.794390 0.920562 +vt 0.803737 0.907569 +vt 0.803737 0.919533 +vt 0.794390 0.920559 +vt 0.794390 0.906543 +vt 0.803737 0.893550 +vt 0.803737 0.905514 +vt 0.794390 0.906540 +vt 0.794390 0.892524 +vt 0.869159 0.892523 +vt 0.859813 0.892523 +vt 0.803738 0.850467 +vt 0.794393 0.892523 +vt 0.794393 0.850467 +vt 0.803739 0.842431 +vt 0.813084 0.843458 +vt 0.803739 0.844484 +vt 0.794394 0.839954 +vt 0.794394 0.846962 +vt 0.803739 0.828413 +vt 0.813084 0.829439 +vt 0.803739 0.830465 +vt 0.794394 0.825935 +vt 0.794394 0.832943 +vt 0.803739 0.814394 +vt 0.813084 0.815420 +vt 0.803739 0.816447 +vt 0.794394 0.818924 +vt 0.794394 0.811916 +vt 0.869159 0.808411 +vt 0.859813 0.808411 +vt 0.803738 0.787383 +vt 0.794393 0.808411 +vt 0.794393 0.787383 +vt 0.803738 0.774392 +vt 0.813085 0.787382 +vt 0.803738 0.786355 +vt 0.794390 0.783877 +vt 0.794390 0.776869 +vt 0.803738 0.760373 +vt 0.813085 0.773363 +vt 0.803738 0.772337 +vt 0.794390 0.769859 +vt 0.794390 0.762851 +vt 0.803738 0.746354 +vt 0.813085 0.759344 +vt 0.803738 0.758318 +vt 0.794389 0.755840 +vt 0.794389 0.748832 +vt 0.869159 0.745327 +vt 0.859813 0.745327 +vt 0.803738 0.532710 +vt 0.794393 0.745327 +vt 0.794393 0.532710 +vt 0.803740 0.524675 +vt 0.803740 0.526728 +vt 0.794390 0.525692 +vt 0.794396 0.525701 +vt 0.803740 0.512709 +vt 0.803740 0.510657 +vt 0.794390 0.511673 +vt 0.794396 0.511683 +vt 0.803736 0.498689 +vt 0.803736 0.496637 +vt 0.794391 0.497663 +vt 0.794390 0.497653 +vt 0.869159 0.427570 +vt 0.859813 0.490654 +vt 0.803738 0.427570 +vt 0.794393 0.490654 +vt 0.794393 0.427570 +vt 0.803736 0.419534 +vt 0.803736 0.421587 +vt 0.794391 0.420561 +vt 0.794390 0.420550 +vt 0.803736 0.407568 +vt 0.803736 0.405516 +vt 0.794390 0.406532 +vt 0.794391 0.406542 +vt 0.803736 0.393550 +vt 0.803736 0.391497 +vt 0.794391 0.392523 +vt 0.794390 0.392534 +vt 0.803738 0.385514 +vt 0.794393 0.366822 +vt 0.803738 0.366822 +vt 0.813084 0.385514 +vt 0.813084 0.366822 +vt 0.869155 0.392522 +vt 0.859811 0.393548 +vt 0.859811 0.391496 +vt 0.822430 0.385514 +vt 0.822430 0.366822 +vt 0.850467 0.396026 +vt 0.850467 0.389018 +vt 0.869157 0.406531 +vt 0.859814 0.407568 +vt 0.859814 0.405515 +vt 0.850469 0.410046 +vt 0.850469 0.403038 +vt 0.859813 0.419534 +vt 0.869159 0.420571 +vt 0.859813 0.421587 +vt 0.850468 0.424064 +vt 0.850468 0.417056 +vt 0.813084 0.427570 +vt 0.803738 0.490654 +vt 0.822430 0.427570 +vt 0.813084 0.490654 +vt 0.859813 0.496637 +vt 0.869160 0.497674 +vt 0.859813 0.498690 +vt 0.850468 0.494159 +vt 0.850468 0.501167 +vt 0.859813 0.510656 +vt 0.869158 0.511682 +vt 0.859813 0.512708 +vt 0.850468 0.508178 +vt 0.850468 0.515186 +vt 0.859813 0.524674 +vt 0.869158 0.525701 +vt 0.859813 0.526727 +vt 0.850468 0.529205 +vt 0.850468 0.522197 +vt 0.813084 0.745327 +vt 0.803738 0.745327 +vt 0.822430 0.532710 +vt 0.813084 0.532710 +vt 0.869155 0.748832 +vt 0.859810 0.753362 +vt 0.859810 0.751310 +vt 0.850464 0.752336 +vt 0.850467 0.752347 +vt 0.869156 0.762851 +vt 0.859810 0.767381 +vt 0.859810 0.765329 +vt 0.850465 0.766355 +vt 0.850464 0.766365 +vt 0.859810 0.779347 +vt 0.869156 0.783877 +vt 0.859810 0.781400 +vt 0.850465 0.780373 +vt 0.850464 0.780384 +vt 0.813084 0.808411 +vt 0.803738 0.808411 +vt 0.822430 0.787383 +vt 0.813084 0.787383 +vt 0.859811 0.809439 +vt 0.869160 0.818924 +vt 0.859811 0.821402 +vt 0.850465 0.822429 +vt 0.850465 0.808412 +vt 0.859811 0.823457 +vt 0.869160 0.832943 +vt 0.859811 0.835421 +vt 0.850465 0.836447 +vt 0.850465 0.822431 +vt 0.859811 0.837476 +vt 0.869160 0.846962 +vt 0.859811 0.849440 +vt 0.850465 0.850466 +vt 0.850465 0.836450 +vt 0.813084 0.892523 +vt 0.803738 0.892523 +vt 0.822430 0.850467 +vt 0.813084 0.850467 +vt 0.859813 0.893551 +vt 0.869160 0.906541 +vt 0.859813 0.905514 +vt 0.850464 0.903037 +vt 0.850464 0.896028 +vt 0.859813 0.907569 +vt 0.869159 0.920559 +vt 0.859813 0.919533 +vt 0.850464 0.917055 +vt 0.850464 0.910047 +vt 0.859814 0.921588 +vt 0.869159 0.934576 +vt 0.859814 0.933550 +vt 0.850467 0.931072 +vt 0.850467 0.924065 +vt 0.813084 0.934579 +vt 0.803738 0.936916 +vt 0.822430 0.934579 +vt 0.813084 0.936916 +vt 0.859806 0.937942 +vt 0.869148 0.947422 +vt 0.859806 0.949898 +vt 0.850465 0.950924 +vt 0.850465 0.936917 +vt 0.859807 0.951968 +vt 0.869151 0.961450 +vt 0.859807 0.963926 +vt 0.850465 0.964952 +vt 0.850465 0.950943 +vt 0.859806 0.965980 +vt 0.869149 0.975460 +vt 0.859806 0.977936 +vt 0.850465 0.978962 +vt 0.850465 0.964954 +vt 0.813084 1.000000 +vt 0.803738 1.000000 +vt 0.822430 0.978972 +vt 0.813084 0.978972 +vt 0.831776 1.000000 +vt 0.822430 1.000000 +vt 0.831776 0.978972 +vt 0.841128 0.965989 +vt 0.850468 0.978971 +vt 0.841128 0.977945 +vt 0.831785 0.975469 +vt 0.841121 0.951962 +vt 0.850468 0.964952 +vt 0.841121 0.963926 +vt 0.831772 0.961448 +vt 0.841121 0.937943 +vt 0.850468 0.950933 +vt 0.841121 0.949907 +vt 0.831772 0.947429 +vt 0.831776 0.936916 +vt 0.822430 0.936916 +vt 0.831776 0.934579 +vt 0.841123 0.926542 +vt 0.841123 0.928595 +vt 0.831773 0.927559 +vt 0.831780 0.927569 +vt 0.841119 0.912525 +vt 0.841119 0.914577 +vt 0.831773 0.913551 +vt 0.831774 0.913562 +vt 0.841119 0.900559 +vt 0.841119 0.898506 +vt 0.831774 0.899533 +vt 0.831773 0.899543 +vt 0.831776 0.892523 +vt 0.822430 0.892523 +vt 0.831776 0.850467 +vt 0.850468 0.836451 +vt 0.841122 0.849440 +vt 0.841122 0.837477 +vt 0.831774 0.846962 +vt 0.822428 0.760373 +vt 0.813082 0.773362 +vt 0.813082 0.759347 +vt 0.822428 0.772336 +vt 0.850468 0.808413 +vt 0.841122 0.821402 +vt 0.841122 0.809440 +vt 0.831774 0.818925 +vt 0.831776 0.808411 +vt 0.822430 0.808411 +vt 0.831776 0.787383 +vt 0.841122 0.779347 +vt 0.850468 0.780384 +vt 0.841122 0.781400 +vt 0.831777 0.783878 +vt 0.841122 0.751310 +vt 0.850467 0.752336 +vt 0.841122 0.753362 +vt 0.831777 0.748832 +vt 0.831776 0.532710 +vt 0.822430 0.745327 +vt 0.831776 0.745327 +vt 0.841120 0.519719 +vt 0.841120 0.531682 +vt 0.831773 0.518693 +vt 0.831773 0.532709 +vt 0.841120 0.505700 +vt 0.841120 0.517664 +vt 0.831773 0.504674 +vt 0.831773 0.518690 +vt 0.841120 0.503645 +vt 0.841120 0.491682 +vt 0.831773 0.490655 +vt 0.831773 0.504672 +vt 0.831776 0.427570 +vt 0.822430 0.490654 +vt 0.831776 0.490654 +vt 0.841120 0.414578 +vt 0.841120 0.426542 +vt 0.831773 0.427568 +vt 0.831773 0.413552 +vt 0.841120 0.412524 +vt 0.841120 0.400560 +vt 0.831773 0.413550 +vt 0.831773 0.399533 +vt 0.841119 0.398504 +vt 0.841119 0.386541 +vt 0.831773 0.385515 +vt 0.831773 0.399530 +vt 0.831776 0.385514 +vt 0.831776 0.366822 +vt 0.841121 0.385514 +vt 0.831772 0.825935 +vt 0.822427 0.830465 +vt 0.822427 0.828412 +vt 0.813084 0.829450 +vt 0.813082 0.829439 +vt 0.850468 0.822431 +vt 0.841121 0.835421 +vt 0.841121 0.823457 +vt 0.831772 0.832943 +vt 0.679907 0.943925 +vt 0.661215 0.719626 +vt 0.679907 0.719626 +vt 0.698598 0.943925 +vt 0.698598 0.719626 +vt 0.697308 0.962617 +vt 0.679907 0.943925 +vt 0.698598 0.943925 +vt 0.678617 0.962617 +vt 0.661215 0.943925 +vt 0.679907 0.943925 +vt 0.659925 0.962617 +vt 0.642523 0.943925 +vt 0.661215 0.943925 +vt 0.661215 0.943925 +vt 0.642523 0.719626 +vt 0.641234 0.962617 +vt 0.623832 0.943925 +vt 0.642523 0.943925 +vt 0.642523 0.943925 +vt 0.623832 0.719626 +vt 0.623832 0.943925 +vt 0.605140 0.719626 +vt 0.605140 0.943925 +vt 0.586449 0.719626 +vt 0.603850 0.962617 +vt 0.586449 0.943925 +vt 0.605140 0.943925 +vt 0.623832 0.943925 +vt 0.606357 0.962617 +vt 0.605140 0.943925 +vt 0.585159 0.962617 +vt 0.567757 0.943925 +vt 0.586449 0.943925 +vt 0.586449 0.943925 +vt 0.567757 0.719626 +vt 0.790766 0.962617 +vt 0.773365 0.943925 +vt 0.792056 0.943925 +vt 0.792056 0.943925 +vt 0.773365 0.719626 +vt 0.792056 0.719626 +vt 0.773365 0.943925 +vt 0.754673 0.719626 +vt 0.754673 0.943925 +vt 0.735981 0.719626 +vt 0.753383 0.962617 +vt 0.735981 0.943925 +vt 0.754673 0.943925 +vt 0.772075 0.962617 +vt 0.754673 0.943925 +vt 0.773365 0.943925 +vt 0.735981 0.943925 +vt 0.718507 0.962617 +vt 0.717290 0.943925 +vt 0.735981 0.943925 +vt 0.717290 0.719626 +vt 0.716000 0.962617 +vt 0.698598 0.943925 +vt 0.717290 0.943925 +vt 0.717290 0.943925 +vt 0.712580 0.981309 +vt 0.699815 0.962617 +vt 0.734692 0.962617 +vt 0.721927 0.981309 +vt 0.693888 0.981309 +vt 0.681124 0.962617 +vt 0.707908 0.999942 +vt 0.703236 0.981309 +vt 0.689216 0.999942 +vt 0.684544 0.981309 +vt 0.768654 0.981309 +vt 0.763982 0.999942 +vt 0.759310 0.981309 +vt 0.787346 0.981309 +vt 0.782674 0.999942 +vt 0.778002 0.981309 +vt 0.675196 0.981309 +vt 0.670524 0.999942 +vt 0.665852 0.981309 +vt 0.656505 0.981309 +vt 0.651833 0.999942 +vt 0.647161 0.981309 +vt 0.637813 0.981309 +vt 0.633141 0.999942 +vt 0.628469 0.981309 +vt 0.619122 0.981309 +vt 0.614450 0.999942 +vt 0.609778 0.981309 +vt 0.600430 0.981309 +vt 0.595758 0.999942 +vt 0.591086 0.981309 +vt 0.581738 0.981309 +vt 0.577066 0.999942 +vt 0.572394 0.981309 +vt 0.749963 0.981309 +vt 0.745291 0.999942 +vt 0.740619 0.981309 +vt 0.731271 0.981309 +vt 0.726599 0.999942 +vt 0.737199 0.962617 +vt 0.755890 0.962617 +vt 0.774582 0.962617 +vt 0.568974 0.962617 +vt 0.587666 0.962617 +vt 0.622542 0.962617 +vt 0.625049 0.962617 +vt 0.643741 0.962617 +vt 0.662432 0.962617 +vt 0.773364 0.350467 +vt 0.778037 0.406542 +vt 0.773364 0.406542 +vt 0.778037 0.350467 +vt 0.782710 0.406542 +vt 0.745327 0.350467 +vt 0.750000 0.406542 +vt 0.745327 0.406542 +vt 0.750000 0.350467 +vt 0.754673 0.406542 +vt 0.754673 0.350467 +vt 0.759346 0.406542 +vt 0.759346 0.350467 +vt 0.764019 0.406542 +vt 0.764019 0.350467 +vt 0.768692 0.406542 +vt 0.768692 0.350467 +vt 0.754672 0.409463 +vt 0.749999 0.413239 +vt 0.749999 0.411528 +vt 0.764018 0.418225 +vt 0.768691 0.429051 +vt 0.764018 0.429906 +vt 0.764018 0.406543 +vt 0.768691 0.417368 +vt 0.764018 0.418224 +vt 0.778037 0.411528 +vt 0.782710 0.412389 +vt 0.778037 0.413239 +vt 0.759346 0.407398 +vt 0.754672 0.415304 +vt 0.768691 0.407398 +vt 0.773364 0.415304 +vt 0.773364 0.409463 +vt 0.745327 0.412383 +vt 0.745327 0.412389 +vt 0.764019 0.406543 +vt 0.759346 0.417369 +vt 0.754673 0.429907 +vt 0.750000 0.450935 +vt 0.750000 0.429907 +vt 0.754672 0.421145 +vt 0.759346 0.429051 +vt 0.754672 0.426986 +vt 0.745327 0.424066 +vt 0.749999 0.424921 +vt 0.745327 0.424072 +vt 0.773364 0.421145 +vt 0.778037 0.424921 +vt 0.773364 0.426986 +vt 0.768691 0.419080 +vt 0.764019 0.418225 +vt 0.759346 0.419080 +vt 0.749999 0.423210 +vt 0.778037 0.423210 +vt 0.782710 0.424071 +vt 0.773364 0.453856 +vt 0.768691 0.461761 +vt 0.768691 0.451791 +vt 0.782710 0.429907 +vt 0.778037 0.450935 +vt 0.778037 0.429907 +vt 0.768692 0.429907 +vt 0.764019 0.450935 +vt 0.764019 0.429907 +vt 0.759346 0.429907 +vt 0.754673 0.450935 +vt 0.745327 0.450935 +vt 0.745327 0.429907 +vt 0.773364 0.450935 +vt 0.773364 0.429907 +vt 0.768692 0.450935 +vt 0.759346 0.450935 +vt 0.745327 0.468451 +vt 0.750001 0.469312 +vt 0.745330 0.468457 +vt 0.759346 0.451790 +vt 0.764019 0.462614 +vt 0.759346 0.461759 +vt 0.754674 0.453855 +vt 0.750001 0.457630 +vt 0.750001 0.455920 +vt 0.778037 0.455920 +vt 0.782710 0.456776 +vt 0.778037 0.457631 +vt 0.764018 0.462616 +vt 0.764018 0.450935 +vt 0.754674 0.459695 +vt 0.745327 0.456769 +vt 0.745330 0.456775 +vt 0.773364 0.459696 +vt 0.764019 0.474299 +vt 0.768692 0.476636 +vt 0.764019 0.476636 +vt 0.778037 0.467602 +vt 0.773364 0.471378 +vt 0.773364 0.465538 +vt 0.768691 0.473443 +vt 0.768691 0.463473 +vt 0.759346 0.463472 +vt 0.764019 0.474296 +vt 0.759346 0.473441 +vt 0.754674 0.465537 +vt 0.750001 0.467602 +vt 0.782709 0.468458 +vt 0.778037 0.469313 +vt 0.764018 0.474298 +vt 0.764018 0.462617 +vt 0.754674 0.471377 +vt 0.759346 0.474299 +vt 0.754673 0.476636 +vt 0.754673 0.474299 +vt 0.750000 0.474299 +vt 0.745327 0.476636 +vt 0.745327 0.474299 +vt 0.778037 0.474299 +vt 0.773364 0.476636 +vt 0.773364 0.474299 +vt 0.768692 0.474299 +vt 0.759346 0.476636 +vt 0.750000 0.476636 +vt 0.782710 0.474299 +vt 0.778037 0.476636 +vt 0.546729 1.000000 +vt 0.537383 0.887850 +vt 0.546729 0.887850 +vt 0.556075 0.887850 +vt 0.556075 1.000000 +vt 0.528037 1.000000 +vt 0.528037 0.887850 +vt 0.565421 1.000000 +vt 0.556075 0.885514 +vt 0.551402 0.735981 +vt 0.556075 0.735981 +vt 0.537383 0.735981 +vt 0.528037 0.885514 +vt 0.528037 0.735981 +vt 0.542056 0.885514 +vt 0.542056 0.735981 +vt 0.551402 0.885514 +vt 0.537383 0.885514 +vt 0.649533 0.710280 +vt 0.588785 0.717290 +vt 0.588785 0.710280 +vt 0.649533 0.696262 +vt 0.588785 0.689252 +vt 0.649533 0.689252 +vt 0.588785 0.703271 +vt 0.649533 0.703271 +vt 0.649533 0.717290 +vt 0.733645 0.350467 +vt 0.738318 0.406542 +vt 0.733645 0.406542 +vt 0.738318 0.350467 +vt 0.742991 0.406542 +vt 0.705607 0.350467 +vt 0.710280 0.406542 +vt 0.705607 0.406542 +vt 0.710280 0.350467 +vt 0.714953 0.406542 +vt 0.714953 0.350467 +vt 0.719626 0.406542 +vt 0.719626 0.350467 +vt 0.724299 0.406542 +vt 0.724299 0.350467 +vt 0.728972 0.406542 +vt 0.728972 0.350467 +vt 0.714953 0.409463 +vt 0.710279 0.413239 +vt 0.710279 0.411528 +vt 0.724298 0.418225 +vt 0.728971 0.429051 +vt 0.724298 0.429906 +vt 0.724298 0.406543 +vt 0.728971 0.417368 +vt 0.724298 0.418224 +vt 0.738318 0.411528 +vt 0.742990 0.412389 +vt 0.738318 0.413239 +vt 0.719626 0.407398 +vt 0.714953 0.415304 +vt 0.728971 0.407398 +vt 0.733644 0.415304 +vt 0.733644 0.409463 +vt 0.705607 0.412383 +vt 0.705607 0.412389 +vt 0.724299 0.406543 +vt 0.719626 0.417369 +vt 0.714953 0.429907 +vt 0.710280 0.516355 +vt 0.710280 0.429907 +vt 0.714953 0.421145 +vt 0.719626 0.429051 +vt 0.714953 0.426986 +vt 0.705607 0.424066 +vt 0.710279 0.424921 +vt 0.705607 0.424072 +vt 0.733644 0.421145 +vt 0.738318 0.424921 +vt 0.733644 0.426986 +vt 0.728971 0.419080 +vt 0.724299 0.418225 +vt 0.719626 0.419080 +vt 0.710279 0.423210 +vt 0.738318 0.423210 +vt 0.742990 0.424071 +vt 0.728971 0.517211 +vt 0.733644 0.525117 +vt 0.728971 0.527181 +vt 0.742991 0.429907 +vt 0.738318 0.516355 +vt 0.738318 0.429907 +vt 0.728972 0.429907 +vt 0.724299 0.516355 +vt 0.724299 0.429907 +vt 0.719626 0.429907 +vt 0.714953 0.516355 +vt 0.705607 0.516355 +vt 0.705607 0.429907 +vt 0.733645 0.516355 +vt 0.733645 0.429907 +vt 0.728972 0.516355 +vt 0.719626 0.516355 +vt 0.705607 0.533872 +vt 0.710282 0.534733 +vt 0.705610 0.533877 +vt 0.724299 0.516356 +vt 0.719627 0.527180 +vt 0.719627 0.517211 +vt 0.714954 0.519276 +vt 0.710282 0.523051 +vt 0.710282 0.521340 +vt 0.738318 0.521341 +vt 0.742990 0.522196 +vt 0.738318 0.523052 +vt 0.724298 0.528037 +vt 0.724298 0.516356 +vt 0.714954 0.525115 +vt 0.705607 0.522190 +vt 0.705610 0.522195 +vt 0.733644 0.519276 +vt 0.728972 0.539720 +vt 0.724299 0.542056 +vt 0.724299 0.539720 +vt 0.733644 0.530958 +vt 0.738318 0.534734 +vt 0.733644 0.536799 +vt 0.728971 0.538863 +vt 0.728971 0.528893 +vt 0.724299 0.528038 +vt 0.719627 0.538862 +vt 0.719627 0.528893 +vt 0.710282 0.533022 +vt 0.714954 0.536797 +vt 0.738318 0.533023 +vt 0.742990 0.533878 +vt 0.724298 0.528038 +vt 0.724298 0.539719 +vt 0.714954 0.530958 +vt 0.719626 0.539720 +vt 0.714953 0.542056 +vt 0.714953 0.539720 +vt 0.710280 0.539720 +vt 0.705607 0.542056 +vt 0.705607 0.539720 +vt 0.738318 0.539720 +vt 0.733645 0.542056 +vt 0.733645 0.539720 +vt 0.728972 0.542056 +vt 0.719626 0.542056 +vt 0.710280 0.542056 +vt 0.742991 0.539720 +vt 0.738318 0.542056 +vt 0.693925 0.350467 +vt 0.698598 0.406542 +vt 0.693925 0.406542 +vt 0.698598 0.350467 +vt 0.703271 0.406542 +vt 0.665888 0.350467 +vt 0.670561 0.406542 +vt 0.665888 0.406542 +vt 0.670561 0.350467 +vt 0.675234 0.406542 +vt 0.675234 0.350467 +vt 0.679906 0.406542 +vt 0.679906 0.350467 +vt 0.684579 0.406542 +vt 0.684579 0.350467 +vt 0.689252 0.406542 +vt 0.689252 0.350467 +vt 0.675233 0.409463 +vt 0.670560 0.413239 +vt 0.670560 0.411528 +vt 0.684579 0.418225 +vt 0.689252 0.429051 +vt 0.684579 0.429906 +vt 0.684579 0.406543 +vt 0.689252 0.417368 +vt 0.684579 0.418224 +vt 0.698598 0.411528 +vt 0.703271 0.412389 +vt 0.698598 0.413239 +vt 0.679906 0.407398 +vt 0.675233 0.415304 +vt 0.689252 0.407398 +vt 0.693925 0.415304 +vt 0.693925 0.409463 +vt 0.665887 0.412383 +vt 0.665887 0.412389 +vt 0.684579 0.406543 +vt 0.679906 0.417369 +vt 0.675234 0.429907 +vt 0.670561 0.581776 +vt 0.670561 0.429907 +vt 0.675233 0.421145 +vt 0.679906 0.429051 +vt 0.675233 0.426986 +vt 0.665887 0.424066 +vt 0.670560 0.424921 +vt 0.665887 0.424072 +vt 0.693925 0.421145 +vt 0.698598 0.424921 +vt 0.693925 0.426986 +vt 0.689252 0.419080 +vt 0.679906 0.419080 +vt 0.684579 0.429906 +vt 0.670560 0.423210 +vt 0.698598 0.423210 +vt 0.703271 0.424071 +vt 0.693925 0.584697 +vt 0.689252 0.592602 +vt 0.689252 0.582632 +vt 0.703271 0.429907 +vt 0.698598 0.581776 +vt 0.698598 0.429907 +vt 0.689252 0.429907 +vt 0.684579 0.581776 +vt 0.684579 0.429907 +vt 0.679906 0.429907 +vt 0.675234 0.581776 +vt 0.665888 0.581776 +vt 0.665888 0.429907 +vt 0.693925 0.581776 +vt 0.693925 0.429907 +vt 0.689252 0.581776 +vt 0.679907 0.581776 +vt 0.665887 0.599293 +vt 0.670562 0.600153 +vt 0.665891 0.599298 +vt 0.679907 0.582632 +vt 0.684579 0.593456 +vt 0.679907 0.592600 +vt 0.675235 0.584696 +vt 0.670562 0.588471 +vt 0.670562 0.586761 +vt 0.698598 0.586762 +vt 0.703270 0.587617 +vt 0.698598 0.588472 +vt 0.684579 0.593457 +vt 0.684579 0.581776 +vt 0.675235 0.590536 +vt 0.665887 0.587611 +vt 0.665891 0.587616 +vt 0.693925 0.590537 +vt 0.689252 0.605140 +vt 0.684579 0.607477 +vt 0.684579 0.605140 +vt 0.693925 0.596379 +vt 0.698598 0.600154 +vt 0.693925 0.602219 +vt 0.689252 0.604284 +vt 0.689252 0.594314 +vt 0.684579 0.593458 +vt 0.679907 0.604282 +vt 0.679907 0.594313 +vt 0.675235 0.596378 +vt 0.670562 0.598443 +vt 0.698598 0.598444 +vt 0.703270 0.599299 +vt 0.684579 0.605139 +vt 0.684579 0.593458 +vt 0.675235 0.602218 +vt 0.679906 0.605140 +vt 0.675234 0.607477 +vt 0.675234 0.605140 +vt 0.670561 0.605140 +vt 0.665888 0.607477 +vt 0.665888 0.605140 +vt 0.698598 0.605140 +vt 0.693925 0.607477 +vt 0.693925 0.605140 +vt 0.689252 0.607477 +vt 0.679906 0.607477 +vt 0.670561 0.607477 +vt 0.703271 0.605140 +vt 0.698598 0.607477 +vt 0.668224 0.095794 +vt 0.663551 0.049065 +vt 0.668224 0.049065 +vt 0.672897 0.095794 +vt 0.672897 0.049065 +vt 0.677570 0.095794 +vt 0.677570 0.049065 +vt 0.677570 0.101635 +vt 0.672898 0.102490 +vt 0.672898 0.100780 +vt 0.668224 0.098715 +vt 0.668224 0.104555 +vt 0.672898 0.112462 +vt 0.677570 0.113317 +vt 0.672898 0.114173 +vt 0.668224 0.110397 +vt 0.668224 0.116237 +vt 0.677570 0.119159 +vt 0.672897 0.123832 +vt 0.672897 0.119159 +vt 0.668224 0.123832 +vt 0.668224 0.119159 +vt 0.672897 0.128816 +vt 0.668224 0.129671 +vt 0.668224 0.129666 +vt 0.677570 0.132592 +vt 0.672896 0.130527 +vt 0.668224 0.141348 +vt 0.672897 0.142209 +vt 0.668224 0.141354 +vt 0.672897 0.140499 +vt 0.677570 0.144274 +vt 0.672897 0.147196 +vt 0.668224 0.170561 +vt 0.668224 0.147196 +vt 0.677570 0.147196 +vt 0.672897 0.170561 +vt 0.672897 0.171417 +vt 0.668224 0.179322 +vt 0.668224 0.173481 +vt 0.677570 0.170561 +vt 0.672897 0.181387 +vt 0.672897 0.183100 +vt 0.668225 0.191005 +vt 0.668225 0.185165 +vt 0.677570 0.193924 +vt 0.672897 0.193069 +vt 0.672897 0.193925 +vt 0.668224 0.205607 +vt 0.668224 0.193925 +vt 0.677570 0.193925 +vt 0.672897 0.205607 +vt 0.672897 0.206463 +vt 0.668224 0.217288 +vt 0.668224 0.205607 +vt 0.677570 0.208527 +vt 0.672897 0.216432 +vt 0.668224 0.217290 +vt 0.672897 0.228114 +vt 0.668224 0.228969 +vt 0.672897 0.218145 +vt 0.677569 0.226049 +vt 0.672897 0.228972 +vt 0.668224 0.296729 +vt 0.668224 0.228972 +vt 0.677570 0.228972 +vt 0.672897 0.296729 +vt 0.668224 0.302563 +vt 0.672898 0.303423 +vt 0.668227 0.302568 +vt 0.677572 0.299649 +vt 0.672898 0.301713 +vt 0.668224 0.314247 +vt 0.672898 0.315108 +vt 0.668227 0.314253 +vt 0.677572 0.311333 +vt 0.672898 0.313397 +vt 0.672897 0.320093 +vt 0.668224 0.322430 +vt 0.668224 0.320093 +vt 0.677570 0.320093 +vt 0.672897 0.322430 +vt 0.668225 0.325350 +vt 0.672897 0.333255 +vt 0.668224 0.331191 +vt 0.672897 0.323286 +vt 0.677570 0.334111 +vt 0.672898 0.334969 +vt 0.668226 0.342873 +vt 0.668226 0.337034 +vt 0.677570 0.345793 +vt 0.672898 0.344938 +vt 0.672897 0.345794 +vt 0.668224 0.350467 +vt 0.668224 0.345794 +vt 0.677570 0.350467 +vt 0.672897 0.350467 +vt 0.644860 0.345794 +vt 0.640187 0.350467 +vt 0.640187 0.345794 +vt 0.649533 0.350467 +vt 0.644860 0.350467 +vt 0.640186 0.334112 +vt 0.644860 0.344937 +vt 0.640186 0.345792 +vt 0.644860 0.334967 +vt 0.649532 0.342872 +vt 0.640186 0.322430 +vt 0.644859 0.333254 +vt 0.640186 0.334109 +vt 0.644859 0.323285 +vt 0.649531 0.331189 +vt 0.644860 0.320093 +vt 0.640187 0.322430 +vt 0.640187 0.320093 +vt 0.649533 0.320093 +vt 0.644860 0.322430 +vt 0.644860 0.309268 +vt 0.640188 0.317172 +vt 0.640188 0.311333 +vt 0.649533 0.308413 +vt 0.644860 0.319237 +vt 0.644860 0.297584 +vt 0.640188 0.305488 +vt 0.640188 0.299649 +vt 0.649533 0.296729 +vt 0.644860 0.307552 +vt 0.644860 0.228972 +vt 0.640187 0.296729 +vt 0.640187 0.228972 +vt 0.649533 0.228972 +vt 0.644860 0.296729 +vt 0.640185 0.220209 +vt 0.644859 0.223984 +vt 0.640185 0.226049 +vt 0.644859 0.222274 +vt 0.649533 0.223135 +vt 0.640186 0.208527 +vt 0.644860 0.212303 +vt 0.640186 0.214368 +vt 0.644860 0.210592 +vt 0.649532 0.211448 +vt 0.644860 0.193925 +vt 0.640187 0.205607 +vt 0.640187 0.193925 +vt 0.649533 0.193925 +vt 0.644860 0.205607 +vt 0.644860 0.183099 +vt 0.640186 0.193924 +vt 0.640186 0.182244 +vt 0.649532 0.185164 +vt 0.644860 0.193069 +vt 0.644859 0.171417 +vt 0.640186 0.182241 +vt 0.640186 0.170561 +vt 0.649531 0.179321 +vt 0.644859 0.181386 +vt 0.640187 0.147196 +vt 0.644860 0.170561 +vt 0.640187 0.170561 +vt 0.644860 0.147196 +vt 0.649533 0.170561 +vt 0.640187 0.138434 +vt 0.644860 0.146339 +vt 0.640187 0.144274 +vt 0.644860 0.136369 +vt 0.649533 0.147194 +vt 0.640187 0.126751 +vt 0.644860 0.134656 +vt 0.640187 0.132592 +vt 0.644860 0.124687 +vt 0.649533 0.135512 +vt 0.649533 0.119159 +vt 0.644860 0.123832 +vt 0.644860 0.119159 +vt 0.640187 0.119159 +vt 0.640187 0.123832 +vt 0.654206 0.119159 +vt 0.649533 0.123832 +vt 0.654205 0.124687 +vt 0.649532 0.135512 +vt 0.649532 0.123832 +vt 0.658879 0.119159 +vt 0.654206 0.123832 +vt 0.658878 0.126752 +vt 0.654205 0.134657 +vt 0.654205 0.136369 +vt 0.649532 0.147194 +vt 0.649532 0.135514 +vt 0.658878 0.138434 +vt 0.654205 0.146339 +vt 0.654206 0.147196 +vt 0.649533 0.147196 +vt 0.658879 0.147196 +vt 0.654206 0.170561 +vt 0.649531 0.173481 +vt 0.654205 0.177256 +vt 0.658877 0.176401 +vt 0.654205 0.175546 +vt 0.654206 0.188939 +vt 0.649532 0.191004 +vt 0.654206 0.187229 +vt 0.658878 0.188084 +vt 0.658879 0.193925 +vt 0.654206 0.205607 +vt 0.654206 0.193925 +vt 0.649533 0.205607 +vt 0.649532 0.211444 +vt 0.654207 0.212304 +vt 0.649535 0.211449 +vt 0.658880 0.208529 +vt 0.654207 0.210594 +vt 0.649533 0.223130 +vt 0.654205 0.223986 +vt 0.649532 0.223136 +vt 0.658879 0.220210 +vt 0.654205 0.222275 +vt 0.658879 0.228972 +vt 0.654206 0.296729 +vt 0.654206 0.228972 +vt 0.649533 0.296729 +vt 0.654205 0.297584 +vt 0.649532 0.308409 +vt 0.649532 0.296729 +vt 0.658878 0.305489 +vt 0.654205 0.307554 +vt 0.654205 0.309266 +vt 0.649532 0.320091 +vt 0.649532 0.308411 +vt 0.658878 0.317171 +vt 0.654205 0.319236 +vt 0.658879 0.320093 +vt 0.654206 0.322430 +vt 0.654206 0.320093 +vt 0.649533 0.322430 +vt 0.654205 0.327414 +vt 0.649531 0.325350 +vt 0.658879 0.328275 +vt 0.654205 0.329125 +vt 0.649532 0.337032 +vt 0.654206 0.340807 +vt 0.654206 0.339097 +vt 0.658878 0.339952 +vt 0.654206 0.345794 +vt 0.649533 0.345794 +vt 0.658879 0.345794 +vt 0.654206 0.350467 +vt 0.663551 0.350467 +vt 0.658879 0.350467 +vt 0.663551 0.345794 +vt 0.658878 0.339948 +vt 0.663553 0.340809 +vt 0.658881 0.339954 +vt 0.663553 0.339098 +vt 0.658878 0.328270 +vt 0.663551 0.329126 +vt 0.658878 0.328276 +vt 0.663551 0.327415 +vt 0.663551 0.320093 +vt 0.658879 0.322430 +vt 0.663551 0.322430 +vt 0.658878 0.311331 +vt 0.663552 0.315107 +vt 0.663552 0.313396 +vt 0.668224 0.314251 +vt 0.658878 0.299649 +vt 0.663552 0.303424 +vt 0.663552 0.301714 +vt 0.668224 0.302569 +vt 0.663551 0.228972 +vt 0.658879 0.296729 +vt 0.663551 0.296729 +vt 0.663551 0.218145 +vt 0.658879 0.226050 +vt 0.668225 0.228970 +vt 0.663551 0.228115 +vt 0.663552 0.206465 +vt 0.658880 0.214369 +vt 0.668225 0.205610 +vt 0.663552 0.216433 +vt 0.663551 0.193925 +vt 0.658879 0.205607 +vt 0.663551 0.205607 +vt 0.663552 0.187229 +vt 0.658880 0.188085 +vt 0.658878 0.188079 +vt 0.663552 0.188940 +vt 0.658878 0.176396 +vt 0.663551 0.177257 +vt 0.658878 0.176402 +vt 0.663551 0.175546 +vt 0.663551 0.170561 +vt 0.658879 0.170561 +vt 0.663551 0.147196 +vt 0.663552 0.142209 +vt 0.658878 0.144274 +vt 0.663552 0.140498 +vt 0.668224 0.141360 +vt 0.663552 0.142209 +vt 0.663552 0.130527 +vt 0.658878 0.132592 +vt 0.663552 0.128817 +vt 0.668224 0.129672 +vt 0.663552 0.130527 +vt 0.663551 0.119159 +vt 0.663551 0.123832 +vt 0.658879 0.123832 +vt 0.663551 0.108332 +vt 0.663551 0.118302 +vt 0.658878 0.107477 +vt 0.658878 0.119157 +vt 0.663551 0.096650 +vt 0.663551 0.106620 +vt 0.658878 0.095795 +vt 0.658878 0.107475 +vt 0.663551 0.095794 +vt 0.658879 0.049065 +vt 0.658879 0.095794 +vt 0.654206 0.049065 +vt 0.658879 0.095795 +vt 0.654205 0.106620 +vt 0.654205 0.096650 +vt 0.654206 0.095794 +vt 0.649533 0.049065 +vt 0.649532 0.104556 +vt 0.649532 0.098715 +vt 0.644859 0.102491 +vt 0.644859 0.100780 +vt 0.640187 0.101641 +vt 0.640186 0.101635 +vt 0.649533 0.095794 +vt 0.644860 0.049065 +vt 0.644860 0.095794 +vt 0.640187 0.049065 +vt 0.658879 0.107420 +vt 0.654206 0.118244 +vt 0.654206 0.108276 +vt 0.649533 0.116179 +vt 0.649533 0.110340 +vt 0.644860 0.114115 +vt 0.644860 0.112405 +vt 0.640185 0.113254 +vt 0.640189 0.113260 +vt 0.083145 0.436916 +vt 0.097164 0.436916 +vt 0.013052 0.436916 +vt 0.041089 0.436916 +vt 0.677570 0.647196 +vt 0.593458 0.686916 +vt 0.677570 0.686916 +vt 0.588785 0.532710 +vt 0.593458 0.647196 +vt 0.558411 0.710280 +vt 0.450935 0.981308 +vt 0.000000 0.887850 +vt 0.084112 0.887850 +vt 0.125201 0.436916 +vt 0.139220 0.436916 +vt 0.153239 0.436916 +vt 0.027070 0.436916 +vt 0.055108 0.436916 +vt 0.069126 0.436916 +vt 0.182243 0.433786 +vt 0.193925 0.436916 +vt 0.205607 0.433786 +vt 0.217290 0.413551 +vt 0.214159 0.401869 +vt 0.205607 0.393317 +vt 0.182243 0.393317 +vt 0.173691 0.401869 +vt 0.170561 0.413551 +vt 0.175234 0.352804 +vt 0.175234 0.387850 +vt 0.175234 0.376168 +vt 0.238318 0.380841 +vt 0.175234 0.364486 +vt 0.287383 0.378505 +vt 0.385514 0.378505 +vt 0.310748 0.427570 +vt 0.528037 0.577103 +vt 0.717290 0.149533 +vt 0.717290 0.158312 +vt 0.717291 0.169982 +vt 0.717290 0.210280 +vt 0.717290 0.219060 +vt 0.717290 0.224883 +vt 0.717290 0.235981 +vt 0.707943 0.155369 +vt 0.698599 0.123827 +vt 0.698599 0.147186 +vt 0.693925 0.146364 +vt 0.689251 0.221959 +vt 0.689253 0.210275 +vt 0.689251 0.161211 +vt 0.689253 0.149528 +vt 0.689252 0.138455 +vt 0.679907 0.123832 +vt 0.757009 0.143685 +vt 0.757009 0.155368 +vt 0.757009 0.182243 +vt 0.757009 0.191004 +vt 0.757008 0.202686 +vt 0.757009 0.210280 +vt 0.747663 0.205606 +vt 0.747663 0.182244 +vt 0.738318 0.149531 +vt 0.738318 0.161213 +vt 0.728968 0.199766 +vt 0.728969 0.188084 +vt 0.719626 0.137850 +vt 0.637850 0.101635 +vt 0.637851 0.113311 +vt 0.637850 0.142523 +vt 0.637851 0.145443 +vt 0.637851 0.157126 +vt 0.637850 0.217290 +vt 0.637851 0.228971 +vt 0.637851 0.228974 +vt 0.637850 0.252336 +vt 0.637850 0.255256 +vt 0.637849 0.272778 +vt 0.637850 0.390187 +vt 0.637852 0.398946 +vt 0.637852 0.410630 +vt 0.637850 0.415888 +vt 0.637851 0.427569 +vt 0.637851 0.427572 +vt 0.637850 0.439252 +vt 0.609813 0.413550 +vt 0.609813 0.401866 +vt 0.609811 0.269858 +vt 0.609813 0.258171 +vt 0.609813 0.154206 +vt 0.609813 0.142523 +vt 0.619157 0.223130 +vt 0.619159 0.234807 +vt 0.619157 0.421728 +vt 0.619159 0.433404 +vt 0.628505 0.407703 +vt 0.628505 0.396021 +vt 0.628505 0.264019 +vt 0.628505 0.252339 +vt 0.623832 0.159190 +vt 0.628504 0.160045 +vt 0.623832 0.147508 +vt 0.628505 0.148358 +vt 0.619159 0.107476 +vt 0.600467 0.095794 +vt 0.619159 0.119099 +vt 0.831776 0.385515 +vt 0.831776 0.399534 +vt 0.831776 0.427569 +vt 0.831776 0.504671 +vt 0.831776 0.504676 +vt 0.831776 0.518694 +vt 0.850466 0.766355 +vt 0.831775 0.899532 +vt 0.831776 0.913551 +vt 0.831776 0.927560 +vt 0.869159 0.978972 +vt 0.813085 0.971966 +vt 0.813085 0.957956 +vt 0.813060 0.943920 +vt 0.869159 0.934579 +vt 0.869159 0.850467 +vt 0.813085 0.843447 +vt 0.813085 0.829429 +vt 0.813085 0.815410 +vt 0.869159 0.787383 +vt 0.813085 0.773365 +vt 0.813085 0.759347 +vt 0.813085 0.745328 +vt 0.869159 0.532710 +vt 0.869159 0.490654 +vt 0.794393 0.385514 +vt 0.869159 0.392532 +vt 0.869159 0.406542 +vt 0.869158 0.420560 +vt 0.869159 0.497663 +vt 0.869159 0.511672 +vt 0.869159 0.525690 +vt 0.869155 0.755840 +vt 0.869156 0.769859 +vt 0.869156 0.776869 +vt 0.869160 0.811916 +vt 0.869160 0.825935 +vt 0.869160 0.839954 +vt 0.869159 0.892524 +vt 0.869159 0.906543 +vt 0.869159 0.920561 +vt 0.869148 0.940418 +vt 0.869151 0.954445 +vt 0.869149 0.968456 +vt 0.850468 0.964964 +vt 0.850468 0.950935 +vt 0.850468 0.936917 +vt 0.850468 0.850466 +vt 0.850468 0.822429 +vt 0.850467 0.780374 +vt 0.850468 0.752326 +vt 0.850468 0.836447 +vt 0.567757 0.943925 +vt 0.782710 0.350467 +vt 0.782710 0.412383 +vt 0.764019 0.418224 +vt 0.764019 0.429906 +vt 0.782710 0.424066 +vt 0.782710 0.450935 +vt 0.764019 0.450935 +vt 0.782710 0.456770 +vt 0.764019 0.462617 +vt 0.782710 0.468452 +vt 0.782710 0.476636 +vt 0.537383 1.000000 +vt 0.565421 0.887850 +vt 0.588785 0.696262 +vt 0.742991 0.350467 +vt 0.742990 0.412383 +vt 0.724299 0.418224 +vt 0.724299 0.429906 +vt 0.742990 0.424066 +vt 0.742991 0.516355 +vt 0.724299 0.528035 +vt 0.742990 0.522191 +vt 0.724299 0.539717 +vt 0.742990 0.533872 +vt 0.742991 0.542056 +vt 0.703271 0.350467 +vt 0.703270 0.412383 +vt 0.684579 0.418224 +vt 0.684579 0.418225 +vt 0.703270 0.424066 +vt 0.703271 0.581776 +vt 0.684579 0.581776 +vt 0.703271 0.587611 +vt 0.684579 0.605138 +vt 0.703271 0.599293 +vt 0.703271 0.607477 +vt 0.677570 0.101641 +vt 0.677570 0.113311 +vt 0.677570 0.123832 +vt 0.677570 0.126751 +vt 0.677570 0.138434 +vt 0.677570 0.170561 +vt 0.677570 0.182242 +vt 0.677570 0.182245 +vt 0.677570 0.205607 +vt 0.677570 0.214368 +vt 0.677569 0.220209 +vt 0.677570 0.296729 +vt 0.677572 0.305488 +vt 0.677572 0.317172 +vt 0.677570 0.322430 +vt 0.677570 0.322430 +vt 0.677570 0.334114 +vt 0.677570 0.345794 +vt 0.649533 0.320092 +vt 0.649533 0.308408 +vt 0.649530 0.223129 +vt 0.649533 0.211442 +vt 0.649533 0.135514 +vt 0.649533 0.123831 +vt 0.658879 0.176407 +vt 0.658879 0.188078 +vt 0.658877 0.328270 +vt 0.658879 0.339946 +vt 0.668225 0.314245 +vt 0.668225 0.302563 +vt 0.668225 0.217290 +vt 0.668225 0.217288 +vt 0.663552 0.140498 +vt 0.668224 0.141354 +vt 0.663552 0.128817 +vt 0.668224 0.129666 +vt 0.658879 0.107476 +vt 0.640187 0.095794 +vt 0.658879 0.119099 +s 1 +usemtl Texture +f 2/1/1 3/2/1 1/3/1 +f 4/4/2 7/5/2 3/6/2 +f 8/7/3 5/8/3 7/9/3 +f 6/10/4 1/11/4 5/12/4 +f 7/9/5 1/13/5 3/14/5 +f 4/4/6 6/10/6 8/7/6 +f 11/15/7 10/16/7 9/17/7 +f 14/18/8 9/19/8 12/20/8 +f 15/21/9 12/20/9 13/22/9 +f 16/23/6 14/24/6 15/25/6 +f 16/26/10 13/27/10 10/16/10 +f 19/28/1 18/29/1 17/30/1 +f 22/31/4 17/32/4 20/33/4 +f 23/34/3 20/33/3 21/35/3 +f 24/36/6 22/31/6 23/37/6 +f 24/38/2 21/35/2 18/29/2 +f 27/28/1 26/29/1 25/30/1 +f 30/31/4 25/32/4 28/33/4 +f 31/34/3 28/33/3 29/35/3 +f 32/36/6 30/31/6 31/37/6 +f 32/38/2 29/35/2 26/29/2 +f 35/28/1 34/29/1 33/30/1 +f 38/31/4 33/32/4 36/33/4 +f 39/34/3 36/33/3 37/35/3 +f 40/36/6 38/31/6 39/37/6 +f 40/38/2 37/35/2 34/29/2 +f 43/28/1 42/29/1 41/30/1 +f 46/31/4 41/32/4 44/33/4 +f 47/34/3 44/33/3 45/35/3 +f 48/36/6 46/31/6 47/37/6 +f 48/38/2 45/35/2 42/29/2 +f 51/39/1 50/40/1 49/41/1 +f 54/42/4 49/41/4 52/43/4 +f 55/44/3 52/43/3 53/45/3 +f 56/46/6 54/42/6 55/47/6 +f 56/48/2 53/45/2 50/49/2 +f 57/50/11 62/51/12 61/52/13 +f 59/53/14 58/54/15 57/50/11 +f 135/55/16 57/56/11 60/57/17 +f 60/57/17 61/58/13 63/59/18 +f 61/60/13 65/61/19 64/62/2 +f 63/63/18 64/62/2 66/64/20 +f 69/65/21 66/64/20 67/66/22 +f 70/67/23 67/66/22 68/68/24 +f 73/69/25 69/70/21 70/71/23 +f 71/72/26 63/73/18 69/74/21 +f 72/75/27 60/76/17 71/72/26 +f 74/77/28 71/78/26 73/69/25 +f 76/79/29 73/80/25 75/81/30 +f 75/81/30 70/82/23 78/83/31 +f 136/84/32 75/85/30 77/86/33 +f 77/86/33 78/87/31 79/88/34 +f 79/89/34 80/90/1 81/91/35 +f 78/92/31 68/68/24 80/90/1 +f 84/93/36 81/91/35 82/94/37 +f 85/95/38 82/94/37 83/96/39 +f 88/97/40 84/98/36 85/99/38 +f 86/100/41 79/101/34 84/102/36 +f 87/103/42 77/104/33 86/100/41 +f 88/97/40 87/105/42 86/106/41 +f 91/107/43 88/108/40 90/109/44 +f 90/109/44 85/110/38 93/111/45 +f 137/112/46 90/113/44 92/114/47 +f 92/114/47 93/115/45 94/116/48 +f 94/117/48 95/118/4 96/119/49 +f 93/120/45 83/96/39 95/121/4 +f 99/122/50 96/119/49 97/123/51 +f 98/124/52 99/122/50 97/123/51 +f 103/125/53 99/126/50 100/127/54 +f 101/128/55 94/129/48 99/130/50 +f 102/131/56 92/132/47 101/128/55 +f 103/125/53 102/133/56 101/134/55 +f 106/135/57 103/136/53 105/137/58 +f 105/137/58 100/138/54 108/139/59 +f 118/140/60 105/141/58 107/142/61 +f 107/142/61 108/143/59 109/144/62 +f 109/145/62 110/146/3 111/147/63 +f 108/148/59 98/124/52 110/146/3 +f 113/149/64 111/147/63 112/150/65 +f 62/151/12 112/150/65 65/61/19 +f 58/152/15 113/153/64 62/154/12 +f 114/155/66 109/156/62 113/157/64 +f 114/155/66 118/158/60 107/159/61 +f 58/152/15 115/160/67 114/161/66 +f 116/162/68 118/158/60 115/163/67 +f 117/164/69 116/165/68 115/160/67 +f 119/166/70 106/167/57 118/140/60 +f 116/162/68 121/168/6 119/169/70 +f 119/166/70 121/170/6 120/171/71 +f 122/172/72 121/173/6 129/174/73 +f 128/175/74 121/176/6 122/177/72 +f 134/178/75 121/179/6 123/180/76 +f 123/181/76 121/182/6 124/183/77 +f 124/184/77 121/185/6 116/165/68 +f 120/186/71 121/187/6 125/188/78 +f 125/189/78 121/190/6 126/191/79 +f 126/192/79 121/193/6 127/194/80 +f 127/195/80 121/196/6 128/197/74 +f 129/198/73 121/199/6 130/200/81 +f 130/201/81 121/202/6 131/203/82 +f 131/204/82 121/205/6 132/206/83 +f 132/207/83 121/208/6 133/209/84 +f 133/210/84 121/211/6 134/212/75 +f 134/178/75 59/213/14 135/55/16 +f 133/210/84 135/214/16 72/75/27 +f 132/207/83 72/215/27 74/77/28 +f 131/204/82 74/216/28 76/79/29 +f 130/201/81 76/217/29 136/84/32 +f 87/103/42 130/200/81 136/218/32 +f 122/172/72 87/105/42 89/219/85 +f 128/175/74 89/220/85 91/107/43 +f 137/112/46 128/197/74 91/221/43 +f 126/192/79 137/222/46 102/131/56 +f 125/189/78 102/133/56 104/223/86 +f 120/186/71 104/224/86 106/135/57 +f 59/53/14 124/183/77 117/225/69 +f 141/226/2 139/227/87 138/228/2 +f 144/229/88 138/228/2 140/230/88 +f 141/226/89 171/231/90 142/232/90 +f 144/229/91 143/233/89 141/226/89 +f 144/229/91 147/234/92 145/235/91 +f 146/236/93 140/230/88 149/237/93 +f 148/238/94 147/239/92 146/236/92 +f 148/238/1 149/237/93 150/240/1 +f 153/241/95 150/240/1 151/242/95 +f 155/243/96 151/242/95 152/244/96 +f 153/241/97 173/245/94 148/238/94 +f 155/243/98 154/246/97 153/241/97 +f 155/243/98 158/247/99 156/248/98 +f 157/249/4 152/244/96 160/250/4 +f 159/251/100 158/252/99 157/253/99 +f 159/251/101 160/254/4 161/255/101 +f 164/256/102 161/255/101 162/257/102 +f 166/258/3 162/257/102 163/259/3 +f 164/256/103 172/260/100 159/251/100 +f 166/258/104 165/261/103 164/256/103 +f 168/262/105 167/263/104 166/258/104 +f 168/262/106 163/259/3 170/264/106 +f 142/232/90 169/265/105 168/262/105 +f 142/232/87 170/264/106 139/227/87 +f 147/266/6 158/267/6 169/268/6 +f 176/269/107 175/270/107 174/271/107 +f 179/272/108 174/273/108 177/274/108 +f 180/275/109 177/276/109 178/277/109 +f 181/278/6 179/279/6 180/280/6 +f 181/281/110 178/282/110 175/283/110 +f 184/284/1 183/285/1 182/286/1 +f 187/287/4 184/288/4 182/289/4 +f 189/290/3 185/291/3 186/292/3 +f 188/293/111 189/290/111 190/294/111 +f 191/295/2 189/290/2 186/292/2 +f 191/296/6 188/293/6 190/294/6 +f 196/297/5 192/298/5 193/299/5 +f 194/300/1 193/301/1 192/298/1 +f 197/302/4 192/298/4 195/303/4 +f 198/304/3 195/303/3 196/305/3 +f 199/306/6 197/302/6 198/307/6 +f 202/308/112 201/309/65 200/310/2 +f 205/311/113 200/310/2 203/312/22 +f 206/313/114 203/312/22 204/314/1 +f 205/315/113 208/316/115 207/317/116 +f 202/318/112 207/317/116 209/319/117 +f 207/320/116 211/321/118 210/322/119 +f 207/320/116 212/323/120 209/324/117 +f 211/325/118 213/326/121 210/327/119 +f 210/327/119 215/328/122 212/329/120 +f 214/330/123 216/331/124 213/332/121 +f 215/333/122 216/331/124 218/333/125 +f 217/334/126 219/335/127 216/336/124 +f 218/337/125 219/335/127 221/338/128 +f 220/339/129 222/340/130 219/341/127 +f 219/341/127 224/342/131 221/343/128 +f 223/344/132 225/345/133 222/346/130 +f 224/347/131 225/345/133 227/347/134 +f 225/348/133 229/349/135 228/350/136 +f 227/351/134 228/350/136 230/352/137 +f 229/353/135 231/354/138 228/355/136 +f 228/355/136 233/356/4 230/357/137 +f 236/358/139 233/356/4 234/359/140 +f 236/358/139 235/360/6 237/361/141 +f 238/362/142 230/363/137 236/364/139 +f 238/362/142 237/365/141 239/366/143 +f 240/367/144 227/368/134 238/369/142 +f 240/367/144 239/370/143 241/371/145 +f 242/372/146 224/342/131 240/373/144 +f 242/372/146 241/374/145 243/375/147 +f 244/376/148 221/377/128 242/378/146 +f 244/376/148 243/379/147 245/380/149 +f 246/381/150 218/382/125 244/383/148 +f 246/381/150 245/384/149 247/385/151 +f 248/386/152 215/328/122 246/387/150 +f 248/386/152 247/388/151 249/389/153 +f 250/390/154 212/323/120 248/391/152 +f 251/392/111 248/391/152 249/393/153 +f 202/318/112 250/394/154 252/395/155 +f 252/395/155 251/396/111 253/397/156 +f 252/398/155 254/399/3 201/309/65 +f 253/400/156 256/401/51 254/399/3 +f 255/402/157 251/403/111 258/404/158 +f 255/405/157 287/406/4 256/401/51 +f 257/407/159 258/404/158 259/408/160 +f 251/409/111 260/410/161 258/411/158 +f 258/412/158 261/413/162 259/414/160 +f 249/389/153 262/415/163 260/416/161 +f 260/416/161 263/417/164 261/418/162 +f 247/385/151 264/419/165 262/420/163 +f 262/420/163 265/421/37 263/422/164 +f 264/423/165 243/379/147 266/424/166 +f 264/423/165 267/425/167 265/426/37 +f 243/375/147 268/427/168 266/428/166 +f 266/428/166 269/429/169 267/430/167 +f 268/431/168 239/370/143 270/432/170 +f 268/431/168 271/433/22 269/434/169 +f 239/366/143 272/435/171 270/436/170 +f 270/436/170 273/437/172 271/438/22 +f 237/361/141 274/439/173 272/440/171 +f 272/440/171 275/441/2 273/442/172 +f 277/443/174 275/441/2 276/444/175 +f 229/445/135 276/444/175 232/446/5 +f 278/447/176 273/448/172 277/449/174 +f 226/450/177 277/449/174 229/451/135 +f 279/452/178 271/453/22 278/454/176 +f 279/452/178 226/455/177 223/456/132 +f 280/457/179 269/429/169 279/458/178 +f 280/457/179 223/459/132 220/460/129 +f 281/461/180 267/462/167 280/463/179 +f 281/461/180 220/464/129 217/465/126 +f 282/466/181 265/467/37 281/468/180 +f 282/466/181 217/469/126 214/470/123 +f 283/471/182 263/417/164 282/472/181 +f 283/471/182 214/473/123 211/474/118 +f 284/475/183 261/476/162 283/477/182 +f 208/478/115 283/477/182 211/478/118 +f 257/407/159 284/479/183 285/480/184 +f 206/481/114 284/479/183 208/481/115 +f 257/482/159 286/483/37 287/406/4 +f 285/484/184 204/485/1 286/483/37 +f 290/486/185 289/487/111 288/488/6 +f 293/489/186 288/488/6 291/490/187 +f 294/491/1 291/490/187 292/492/1 +f 293/493/186 296/494/188 295/495/189 +f 290/496/185 295/495/189 297/497/190 +f 295/498/189 299/499/191 298/500/192 +f 295/498/189 300/501/193 297/502/190 +f 299/503/191 301/504/194 298/505/192 +f 298/505/192 303/506/195 300/507/193 +f 302/508/196 304/509/197 301/510/194 +f 301/510/194 306/511/187 303/512/195 +f 305/513/198 307/514/199 304/515/197 +f 304/515/197 309/516/200 306/517/187 +f 308/518/201 310/519/22 307/520/199 +f 307/520/199 312/521/1 309/522/200 +f 309/522/200 313/523/37 315/524/202 +f 315/524/202 314/525/4 316/526/203 +f 306/527/187 315/528/202 317/529/204 +f 317/529/204 316/530/203 318/531/205 +f 319/532/206 306/533/187 317/534/204 +f 320/535/207 317/534/204 318/536/205 +f 300/507/193 319/537/206 321/538/208 +f 322/539/209 319/537/206 320/540/207 +f 323/541/210 300/501/193 321/542/208 +f 324/543/51 321/542/208 322/544/209 +f 325/545/211 297/497/190 323/546/210 +f 326/547/212 323/546/210 324/548/51 +f 325/549/211 327/550/3 289/487/111 +f 326/551/212 329/552/213 327/550/3 +f 326/553/212 331/554/214 328/555/215 +f 328/556/215 351/557/5 329/552/213 +f 328/555/215 332/558/216 330/559/217 +f 324/560/51 333/561/218 331/562/214 +f 331/562/214 334/563/219 332/564/216 +f 322/539/209 335/565/220 333/566/218 +f 333/566/218 336/567/221 334/568/219 +f 320/535/207 337/569/222 335/570/220 +f 336/571/221 337/569/222 338/572/223 +f 337/573/222 316/530/203 339/574/224 +f 338/575/223 339/574/224 340/576/225 +f 339/577/224 314/525/4 341/578/51 +f 339/577/224 342/579/3 340/580/225 +f 340/580/225 343/581/65 344/582/226 +f 344/582/226 311/583/2 308/584/201 +f 345/585/227 340/586/225 344/587/226 +f 345/585/227 308/588/201 305/589/198 +f 346/590/228 338/591/223 345/592/227 +f 346/590/228 305/593/198 302/594/196 +f 334/568/219 346/595/228 347/596/229 +f 299/597/191 346/595/228 302/598/196 +f 332/564/216 347/599/229 348/600/230 +f 296/601/188 347/599/229 299/602/191 +f 330/559/217 348/603/230 349/604/231 +f 349/604/231 296/605/188 294/606/1 +f 330/607/217 350/608/232 351/557/5 +f 349/609/231 292/610/1 350/608/232 +f 354/611/185 353/612/111 352/613/6 +f 357/614/186 352/613/6 355/615/187 +f 358/616/1 355/615/187 356/617/1 +f 357/618/186 360/619/233 359/620/189 +f 354/621/185 359/620/189 361/622/190 +f 359/623/189 363/624/234 362/625/192 +f 361/626/190 362/625/192 364/627/193 +f 363/628/234 365/629/235 362/630/192 +f 362/630/192 366/631/6 364/632/193 +f 365/633/235 369/634/236 366/635/6 +f 365/633/235 370/636/237 368/637/238 +f 368/638/238 372/639/239 369/640/236 +f 368/638/238 373/641/240 371/642/241 +f 371/643/241 375/644/242 372/645/239 +f 373/646/240 374/647/243 371/643/241 +f 374/648/243 378/649/244 375/650/242 +f 376/651/245 377/652/246 374/648/243 +f 377/653/246 381/654/247 378/655/244 +f 377/653/246 382/656/248 380/657/249 +f 380/658/249 384/659/212 381/660/247 +f 382/661/248 383/662/211 380/658/249 +f 383/663/211 387/664/51 384/665/212 +f 383/663/211 388/666/190 386/667/210 +f 386/668/210 390/669/209 387/670/51 +f 388/671/190 389/672/208 386/668/210 +f 389/673/208 393/674/250 390/675/209 +f 391/676/193 392/677/139 389/673/208 +f 393/678/250 395/679/142 396/680/251 +f 394/681/141 395/679/142 392/682/139 +f 396/683/251 398/684/144 399/685/131 +f 397/686/143 398/684/144 395/687/142 +f 398/688/144 402/689/252 399/690/131 +f 400/691/145 401/692/253 398/688/144 +f 401/693/253 405/694/254 402/695/252 +f 403/696/255 404/697/256 401/693/253 +f 405/698/254 407/699/257 408/700/258 +f 404/701/256 409/702/259 407/699/257 +f 407/703/257 411/704/3 408/705/258 +f 407/703/257 412/706/4 410/707/51 +f 415/708/260 412/709/4 409/710/259 +f 415/708/260 414/711/1 413/712/37 +f 406/713/140 415/714/260 409/715/259 +f 418/716/261 415/714/260 417/717/262 +f 419/718/263 406/719/140 403/720/255 +f 419/718/263 418/721/261 417/722/262 +f 421/723/168 403/724/255 400/725/145 +f 422/726/169 419/727/263 421/723/168 +f 423/728/170 400/729/145 397/730/143 +f 424/731/22 421/732/168 423/728/170 +f 394/733/141 423/734/170 397/735/143 +f 426/736/172 423/734/170 425/737/171 +f 427/738/192 394/739/141 391/740/193 +f 428/741/264 425/742/171 427/738/192 +f 429/743/189 391/744/193 388/745/190 +f 429/743/189 428/746/264 427/747/192 +f 385/748/185 429/749/189 388/750/190 +f 431/751/186 430/752/265 429/749/189 +f 433/753/266 385/754/185 382/755/248 +f 434/756/267 431/757/186 433/753/266 +f 379/758/173 433/759/266 382/760/248 +f 435/761/268 434/762/267 433/759/266 +f 376/763/245 435/764/268 379/765/173 +f 437/766/269 436/767/270 435/764/268 +f 439/768/271 376/769/245 373/770/240 +f 439/768/271 438/771/272 437/772/269 +f 370/773/237 439/774/271 373/775/240 +f 441/776/273 440/777/274 439/774/271 +f 443/778/275 370/779/237 367/780/276 +f 443/778/275 442/781/232 441/782/273 +f 446/783/5 443/784/275 444/785/175 +f 363/786/234 443/784/275 367/787/276 +f 448/788/138 445/789/277 446/783/5 +f 445/790/277 450/791/278 442/792/232 +f 515/793/209 447/794/279 448/788/138 +f 449/795/280 450/791/278 447/796/279 +f 450/797/278 440/798/274 442/799/232 +f 451/800/281 452/801/282 450/797/278 +f 452/802/282 438/771/272 440/803/274 +f 453/804/283 454/805/284 452/802/282 +f 454/806/284 436/767/270 438/807/272 +f 454/806/284 457/808/285 456/809/286 +f 436/810/270 458/811/287 434/762/267 +f 456/812/286 459/813/288 458/811/287 +f 458/814/287 432/815/289 434/816/267 +f 459/816/288 460/817/231 458/756/287 +f 432/818/289 462/819/230 430/820/265 +f 461/821/217 462/819/230 460/822/231 +f 430/823/265 464/824/229 428/825/264 +f 462/826/230 465/827/219 464/824/229 +f 464/828/229 426/829/172 428/830/264 +f 465/830/219 466/831/174 464/741/229 +f 466/832/174 424/833/22 426/834/172 +f 467/835/135 468/836/176 466/832/174 +f 424/837/22 470/838/178 422/839/169 +f 468/840/176 471/841/132 470/838/178 +f 470/842/178 420/843/290 422/844/169 +f 471/844/132 472/845/291 470/726/178 +f 420/846/290 474/847/292 418/721/261 +f 472/848/291 475/849/293 474/847/292 +f 418/716/261 476/850/294 416/851/295 +f 474/852/292 477/853/296 476/850/294 +f 476/854/294 414/711/1 416/855/295 +f 477/856/296 478/857/22 476/854/294 +f 477/856/296 480/858/65 479/859/2 +f 408/705/258 480/858/65 481/860/297 +f 475/861/293 481/862/297 477/863/296 +f 482/864/298 408/700/258 481/862/297 +f 473/865/299 482/866/298 475/867/293 +f 483/868/300 405/694/254 482/866/298 +f 484/869/130 473/870/299 471/842/132 +f 484/869/130 402/689/252 483/871/300 +f 469/872/177 484/873/130 471/841/132 +f 485/874/133 399/875/131 484/873/130 +f 486/876/136 469/877/177 467/835/135 +f 486/876/136 396/878/251 485/879/133 +f 487/880/218 467/881/135 465/828/219 +f 487/880/218 393/674/250 486/882/136 +f 488/883/214 465/827/219 463/884/216 +f 488/883/214 390/885/209 487/886/218 +f 489/887/215 463/888/216 461/821/217 +f 489/887/215 387/889/51 488/890/214 +f 490/891/301 461/892/217 459/814/288 +f 381/660/247 489/893/215 490/891/301 +f 491/894/302 459/895/288 457/896/285 +f 491/894/302 381/654/247 490/897/301 +f 455/898/303 491/899/302 457/900/285 +f 375/650/242 491/899/302 492/901/304 +f 493/902/305 455/903/303 453/804/283 +f 372/645/239 492/904/304 493/902/305 +f 451/800/281 493/905/305 453/906/283 +f 494/907/306 372/908/239 493/909/305 +f 449/795/280 494/910/306 451/911/281 +f 495/912/307 369/913/236 494/914/306 +f 364/632/193 495/915/307 496/916/208 +f 515/793/209 495/915/307 449/917/280 +f 497/918/210 364/627/193 496/919/208 +f 516/920/51 496/919/208 515/921/209 +f 498/922/211 361/622/190 497/923/210 +f 498/922/211 516/924/51 499/925/212 +f 498/926/211 500/927/3 353/612/111 +f 499/928/212 502/929/213 500/927/3 +f 499/930/212 504/931/308 501/932/215 +f 501/933/215 509/934/5 502/929/213 +f 501/932/215 505/935/309 503/936/217 +f 503/936/217 506/937/310 507/938/231 +f 507/938/231 360/939/233 358/940/1 +f 503/941/217 508/942/232 509/934/5 +f 507/943/231 356/944/1 508/942/232 +f 516/945/51 514/946/311 517/947/311 +f 517/947/311 513/948/312 518/949/312 +f 518/949/312 512/950/313 519/951/313 +f 510/952/314 512/950/313 511/953/6 +f 522/954/315 521/955/65 520/956/2 +f 525/957/316 520/958/2 523/955/22 +f 526/959/317 523/960/22 524/958/1 +f 525/961/316 528/962/318 527/963/319 +f 522/964/315 527/963/319 529/965/320 +f 527/966/319 531/967/321 530/968/322 +f 529/969/320 530/968/322 532/970/323 +f 531/971/321 533/972/324 530/973/322 +f 530/973/322 535/974/325 532/975/323 +f 534/976/326 536/977/327 533/978/324 +f 533/979/324 538/980/328 535/976/325 +f 537/981/329 539/982/330 536/983/327 +f 538/984/328 539/982/330 541/985/331 +f 539/986/330 543/987/332 542/988/333 +f 539/986/330 544/989/334 541/990/331 +f 542/991/333 546/992/335 545/993/336 +f 542/991/333 547/994/337 544/995/334 +f 546/996/335 548/997/338 545/998/336 +f 545/999/336 550/1000/339 547/996/337 +f 548/1001/338 552/1002/340 551/1003/341 +f 548/1001/338 736/1004/342 550/1005/339 +f 554/1006/343 555/1007/344 553/1008/345 +f 553/1008/345 557/1009/346 739/1010/347 +f 556/1011/348 558/1012/349 555/1013/344 +f 555/1014/344 560/1015/350 557/1011/346 +f 559/1016/351 561/1017/352 558/1018/349 +f 558/1018/349 563/1019/353 560/1020/350 +f 735/1021/354 742/1022/355 738/1023/354 +f 743/1024/355 741/1025/356 742/1022/355 +f 565/1026/357 567/1027/358 564/1028/359 +f 564/1028/359 569/1029/360 566/1030/361 +f 568/1031/362 570/1032/363 567/1033/358 +f 567/1034/358 572/1035/364 569/1031/360 +f 570/1036/363 574/1037/365 573/1038/366 +f 572/1039/364 573/1038/366 575/1040/367 +f 573/1041/366 577/1042/368 576/1043/369 +f 575/1044/367 576/1043/369 578/1045/370 +f 576/1046/369 580/1047/371 579/1048/372 +f 578/1049/370 579/1048/372 581/1050/373 +f 580/1051/371 582/1052/374 579/1053/372 +f 581/1051/373 582/1054/374 584/1055/375 +f 583/1056/376 585/1057/377 582/1058/374 +f 584/1059/375 585/1057/377 587/1060/378 +f 586/1061/379 588/1062/380 585/1063/377 +f 585/1063/377 590/1064/381 587/1065/378 +f 589/1066/382 591/1067/383 588/1068/380 +f 588/1068/380 593/1069/384 590/1070/381 +f 592/1071/385 594/1072/187 591/1073/383 +f 591/1074/383 596/1075/1 593/1071/384 +f 599/1074/386 596/1076/1 597/1077/232 +f 599/1078/386 598/1079/5 600/1080/387 +f 590/1081/381 599/1082/386 601/1083/388 +f 601/1083/388 600/1084/387 602/1085/389 +f 587/1086/378 601/1087/388 603/1088/390 +f 603/1088/390 602/1089/389 604/1090/391 +f 605/1091/392 587/1092/378 603/1093/390 +f 605/1091/392 604/1094/391 606/1095/393 +f 607/1096/394 584/1097/375 605/1054/392 +f 607/1098/394 606/1099/393 608/1100/395 +f 578/1049/370 607/1101/394 609/1102/396 +f 609/1102/396 608/1103/395 610/1104/397 +f 611/1105/398 578/1045/370 609/1106/396 +f 611/1105/398 610/1107/397 612/1108/399 +f 613/1109/400 575/1040/367 611/1110/398 +f 613/1109/400 612/1111/399 614/1112/401 +f 615/1034/402 572/1113/364 613/1114/400 +f 615/1115/402 614/1116/401 616/1117/403 +f 617/1118/404 569/1119/360 615/1120/402 +f 618/1121/405 615/1120/402 616/1122/403 +f 619/1123/406 566/1124/361 617/1125/404 +f 620/1126/407 617/1125/404 618/1127/405 +f 621/1128/408 563/1129/353 619/1130/406 +f 621/1128/408 620/1131/407 622/1132/409 +f 623/1014/410 560/1133/350 621/1134/408 +f 623/1135/410 622/1136/409 624/1137/411 +f 625/1138/412 557/1139/346 623/1140/410 +f 625/1138/412 624/1141/411 626/1142/413 +f 627/1143/414 739/1144/347 625/1145/412 +f 627/1143/414 626/1146/413 628/1147/415 +f 629/1148/416 736/1149/342 627/1150/414 +f 629/1148/416 628/1151/415 630/1152/417 +f 631/999/418 550/1153/339 629/1154/416 +f 631/1155/418 630/1156/417 632/1157/419 +f 633/1158/420 547/994/337 631/1159/418 +f 634/1160/421 631/1159/418 632/1161/419 +f 541/990/331 633/1162/420 635/1163/422 +f 636/1164/423 633/1162/420 634/1165/421 +f 538/984/328 635/1166/422 637/1167/424 +f 637/1167/424 636/1168/423 638/1169/5 +f 535/1170/325 637/1171/424 639/979/425 +f 639/1172/425 638/1173/5 640/1174/426 +f 641/1175/427 535/974/325 639/1176/425 +f 641/1175/427 640/1177/426 642/1178/428 +f 529/969/320 641/1179/427 643/1180/429 +f 644/1181/430 641/1179/427 642/1182/428 +f 522/964/315 643/1183/429 645/1184/431 +f 646/1185/432 643/1183/429 644/1186/430 +f 645/1187/431 647/1188/3 521/1189/65 +f 646/1190/432 649/1189/51 647/1191/3 +f 646/1192/432 651/1193/433 648/1194/434 +f 648/1195/434 723/1191/4 649/1196/51 +f 648/1194/434 652/1197/435 650/1198/436 +f 644/1199/430 653/1200/437 651/1201/433 +f 651/1201/433 654/1202/438 652/1203/435 +f 653/1204/437 640/1205/426 655/1206/439 +f 653/1204/437 656/1207/440 654/1208/438 +f 640/1209/426 657/1210/441 655/1172/439 +f 655/1211/439 658/1212/442 656/1209/440 +f 657/1213/441 636/1214/423 659/1215/443 +f 658/1216/442 659/1215/443 660/1217/444 +f 659/1218/443 634/1219/421 661/1220/445 +f 660/1221/444 661/1220/445 662/1222/446 +f 661/1223/445 632/1224/419 663/1225/447 +f 661/1223/445 664/1226/448 662/1227/446 +f 663/1155/447 630/1228/417 665/1229/449 +f 663/1230/447 666/1228/450 664/1231/448 +f 630/1232/417 667/1233/451 665/1234/449 +f 666/1235/450 667/1233/451 668/1236/452 +f 628/1237/415 669/1238/453 667/1239/451 +f 668/1240/452 669/1238/453 670/1241/454 +f 669/1242/453 624/1243/411 671/1244/455 +f 670/1245/454 671/1244/455 672/1246/456 +f 671/1135/455 622/1247/409 673/1248/457 +f 671/1249/455 674/1247/458 672/1250/456 +f 673/1251/457 620/1252/407 675/1253/459 +f 673/1251/457 730/1254/460 674/1255/458 +f 675/1256/459 618/1257/405 676/1258/461 +f 675/1256/459 731/1259/462 730/1260/460 +f 676/1261/461 616/1262/403 677/1263/463 +f 676/1261/461 678/1264/464 731/1265/462 +f 677/1115/463 614/1266/401 679/1267/465 +f 677/1268/463 680/1266/466 678/1269/464 +f 679/1270/465 612/1271/399 681/1272/467 +f 679/1270/465 682/1273/468 680/1274/466 +f 681/1275/467 610/1276/397 683/1277/469 +f 681/1275/467 684/1278/470 682/1279/468 +f 683/1280/469 608/1281/395 685/1282/471 +f 683/1280/469 686/1283/472 684/1284/470 +f 608/1285/395 687/1286/473 685/1098/471 +f 685/1287/471 688/1288/474 686/1285/472 +f 687/1289/473 604/1290/391 689/1291/475 +f 687/1289/473 690/1292/101 688/1293/474 +f 689/1294/475 602/1295/389 691/1296/476 +f 689/1294/475 692/1297/102 690/1298/101 +f 691/1299/476 600/1300/387 693/1301/477 +f 691/1299/476 694/1302/478 692/1303/102 +f 693/1078/477 598/1304/5 695/1305/213 +f 693/1306/477 696/1304/3 694/1307/478 +f 698/1306/479 696/1308/3 697/1309/111 +f 592/1310/385 697/1072/111 595/1308/6 +f 699/1311/480 694/1312/478 698/1313/479 +f 589/1066/382 698/1313/479 592/1314/385 +f 700/1315/481 692/1316/102 699/1317/480 +f 586/1061/379 699/1317/480 589/1318/382 +f 701/1319/482 690/1320/101 700/1321/481 +f 583/1056/376 700/1321/481 586/1322/379 +f 702/1287/483 688/1323/474 701/1324/482 +f 580/1325/371 701/1052/482 583/1323/376 +f 703/1326/484 686/1283/472 702/1327/483 +f 577/1328/368 702/1327/483 580/1329/371 +f 704/1330/485 684/1278/470 703/1331/484 +f 574/1332/365 703/1331/484 577/1333/368 +f 680/1274/466 704/1334/485 705/1335/486 +f 571/1336/487 704/1334/485 574/1337/365 +f 706/1268/488 680/1338/466 705/1339/486 +f 706/1033/488 571/1338/487 568/1340/362 +f 731/1341/462 706/1342/488 707/1343/489 +f 707/1343/489 568/1344/362 565/1026/357 +f 734/1345/490 739/1346/347 736/1347/342 +f 734/1345/490 738/1023/354 737/1348/490 +f 674/1349/458 708/1350/491 709/1351/492 +f 709/1351/492 562/1352/493 559/1016/351 +f 710/1249/494 674/1353/458 709/1354/492 +f 556/1355/348 709/1012/492 559/1353/351 +f 711/1356/495 672/1357/456 710/1358/494 +f 711/1356/495 556/1359/348 554/1006/343 +f 713/1360/496 668/1361/452 712/1362/497 +f 549/1363/498 712/1362/497 552/1002/340 +f 664/1364/448 713/1365/496 714/1230/499 +f 714/998/499 549/1366/498 546/1364/335 +f 715/1367/500 664/1226/448 714/1368/499 +f 543/1369/332 714/1368/499 546/1370/335 +f 716/1371/501 662/1222/446 715/1372/500 +f 540/1373/502 715/1372/500 543/1374/332 +f 658/1216/442 716/1375/501 717/1376/503 +f 537/1377/329 716/1375/501 540/1378/502 +f 656/1379/440 717/1380/503 718/1211/504 +f 718/978/504 537/1381/329 534/1379/326 +f 719/1382/505 656/1207/440 718/1383/504 +f 719/1382/505 534/1384/326 531/1385/321 +f 652/1203/435 719/1386/505 720/1387/506 +f 720/1387/506 531/1388/321 528/1389/318 +f 650/1198/436 720/1390/506 721/1391/507 +f 526/1392/317 720/1390/506 528/1393/318 +f 650/1394/436 722/1196/37 723/1395/4 +f 721/1396/507 524/1395/1 722/960/37 +f 725/1397/508 727/1398/509 724/1399/510 +f 724/1399/510 729/1400/511 726/1401/512 +f 730/1402/460 732/1403/513 733/1404/513 +f 733/1404/513 728/1405/508 725/1397/508 +f 747/1406/514 745/1407/87 744/1408/2 +f 748/1409/515 744/1408/2 746/1410/88 +f 778/1411/516 747/1412/514 748/1413/515 +f 749/1414/517 750/1415/518 747/1416/514 +f 751/1417/519 752/1418/520 750/1419/518 +f 750/1420/518 755/1421/106 745/1407/87 +f 753/1422/521 754/1423/522 752/1424/520 +f 752/1425/520 756/1426/3 755/1421/106 +f 754/1427/522 757/1428/102 756/1426/3 +f 759/1429/523 758/1430/101 757/1428/102 +f 760/1431/524 761/1432/525 759/1433/523 +f 754/1434/522 760/1435/524 759/1436/523 +f 762/1437/526 763/1438/527 761/1439/525 +f 761/1440/525 766/1441/4 758/1430/101 +f 764/1442/528 765/1443/529 763/1444/527 +f 763/1445/527 767/1446/96 766/1447/4 +f 765/1448/529 768/1449/95 767/1446/96 +f 770/1450/530 769/1451/1 768/1449/95 +f 771/1452/531 772/1453/532 770/1454/530 +f 792/1455/533 770/1456/530 765/1457/529 +f 772/1458/532 775/1459/534 774/1460/535 +f 772/1461/532 776/1462/93 769/1451/1 +f 775/1463/534 748/1464/515 774/1465/535 +f 774/1466/535 746/1410/88 776/1462/93 +f 777/1467/536 778/1468/516 775/1463/534 +f 773/1469/537 777/1470/536 775/1459/534 +f 779/1471/538 749/1472/517 778/1411/516 +f 777/1467/536 781/1473/6 779/1474/538 +f 779/1471/538 781/1475/6 780/1476/539 +f 782/1477/540 781/1478/6 789/1479/541 +f 788/1480/542 781/1481/6 782/1482/540 +f 780/1483/539 781/1484/6 783/1485/543 +f 783/1486/543 781/1487/6 784/1488/544 +f 784/1489/544 781/1490/6 785/1491/545 +f 785/1492/545 781/1493/6 786/1494/546 +f 786/1495/546 781/1496/6 787/1497/547 +f 787/1498/547 781/1499/6 788/1500/542 +f 789/1501/541 781/1502/6 790/1503/548 +f 790/1504/548 781/1505/6 777/1470/536 +f 771/1452/531 790/1503/548 773/1506/537 +f 792/1455/533 789/1479/541 771/1507/531 +f 764/1442/528 782/1482/540 792/1508/533 +f 787/1498/547 764/1509/528 762/1437/526 +f 786/1495/546 762/1510/526 760/1431/524 +f 791/1511/549 786/1494/546 760/1435/524 +f 784/1489/544 791/1512/549 753/1422/521 +f 783/1486/543 753/1513/521 751/1417/519 +f 780/1483/539 751/1514/519 749/1414/517 +f 794/1515/6 795/1516/186 793/1517/185 +f 796/1518/187 797/1519/550 795/1516/186 +f 798/1520/1 799/1521/231 797/1522/550 +f 800/1523/232 801/1524/217 799/1521/231 +f 802/1525/5 803/1526/215 801/1524/217 +f 804/1527/213 805/1528/212 803/1526/215 +f 806/1529/3 807/1530/211 805/1528/212 +f 808/1531/111 793/1517/185 807/1530/211 +f 801/1532/217 812/1533/230 799/1534/231 +f 815/1535/51 824/1536/208 823/1537/209 +f 805/1538/212 816/1539/210 815/1540/51 +f 795/1541/186 811/1542/551 810/1543/189 +f 803/1544/215 813/1545/216 801/1532/217 +f 807/1546/211 809/1547/190 816/1539/210 +f 793/1548/185 810/1543/189 809/1547/190 +f 797/1549/550 812/1533/230 811/1550/551 +f 805/1551/212 814/1552/214 803/1544/215 +f 821/1553/219 828/1554/121 820/1555/229 +f 813/1556/216 822/1557/218 821/1558/219 +f 811/1559/551 820/1560/229 819/1561/552 +f 809/1562/190 818/1563/192 817/1564/193 +f 809/1562/190 824/1536/208 816/1565/210 +f 815/1566/51 822/1557/218 814/1567/214 +f 813/1556/216 820/1560/229 812/1568/230 +f 810/1569/189 819/1570/552 818/1563/192 +f 825/1571/151 840/1572/165 832/1573/163 +f 819/1574/552 826/1575/150 818/1576/192 +f 824/1577/208 831/1578/164 823/1579/209 +f 822/1580/218 829/1581/123 821/1553/219 +f 820/1555/229 827/1582/553 819/1583/552 +f 818/1576/192 825/1584/151 817/1585/193 +f 817/1585/193 832/1586/163 824/1577/208 +f 823/1579/209 830/1587/181 822/1580/218 +f 835/1588/554 844/1589/127 843/1590/555 +f 830/1591/181 839/1592/37 838/1593/180 +f 829/1594/123 836/1595/124 828/1596/121 +f 826/1597/150 835/1598/554 834/1599/148 +f 832/1573/163 839/1600/37 831/1601/164 +f 829/1594/123 838/1593/180 837/1602/126 +f 827/1603/553 836/1595/124 835/1604/554 +f 826/1597/150 833/1605/149 825/1571/151 +f 847/1606/167 856/1607/187 855/1608/1 +f 834/1609/148 841/1610/147 833/1611/149 +f 833/1611/149 848/1612/166 840/1613/165 +f 838/1614/180 847/1615/167 846/1616/179 +f 837/1617/126 844/1589/127 836/1618/124 +f 834/1609/148 843/1619/555 842/1620/146 +f 840/1613/165 847/1621/167 839/1622/37 +f 837/1617/126 846/1616/179 845/1623/129 +f 846/1624/179 853/1625/5 845/1626/129 +f 844/1627/127 851/1628/3 843/1629/555 +f 842/1630/146 849/1631/6 841/1632/147 +f 841/1632/147 856/1607/187 848/1633/166 +f 846/1624/179 855/1608/1 854/1634/232 +f 845/1626/129 852/1635/213 844/1627/127 +f 843/1636/555 850/1637/111 842/1630/146 +f 859/269/107 858/270/107 857/271/107 +f 862/272/108 857/273/108 860/274/108 +f 863/275/109 860/276/109 861/277/109 +f 864/278/6 862/279/6 863/280/6 +f 864/281/110 861/282/110 858/283/110 +f 867/269/107 866/270/107 865/271/107 +f 870/272/108 865/273/108 868/274/108 +f 871/275/109 868/276/109 869/277/109 +f 872/278/6 870/279/6 871/280/6 +f 872/281/110 869/282/110 866/283/110 +f 875/39/1 874/40/1 873/41/1 +f 878/42/4 873/41/4 876/43/4 +f 879/44/3 876/43/3 877/45/3 +f 880/46/6 878/42/6 879/47/6 +f 880/48/2 877/45/2 874/49/2 +f 883/39/1 882/40/1 881/41/1 +f 886/42/4 881/41/4 884/43/4 +f 887/44/3 884/43/3 885/45/3 +f 888/46/6 886/42/6 887/47/6 +f 888/48/2 885/45/2 882/49/2 +f 891/39/1 890/40/1 889/41/1 +f 894/42/4 889/41/4 892/43/4 +f 895/44/3 892/43/3 893/45/3 +f 896/46/6 894/42/6 895/47/6 +f 896/48/2 893/45/2 890/49/2 +f 900/1638/6 898/1639/6 897/1640/6 +f 900/1638/2 899/1641/2 901/1642/2 +f 898/1639/4 903/1643/4 904/1644/4 +f 899/1641/5 903/1645/5 901/1642/5 +f 908/1638/6 906/1639/6 905/1640/6 +f 908/1638/2 907/1641/2 909/1642/2 +f 906/1639/4 911/1643/4 912/1644/4 +f 907/1641/5 911/1645/5 909/1642/5 +f 916/1638/6 914/1639/6 913/1640/6 +f 916/1638/2 915/1641/2 917/1642/2 +f 914/1639/4 919/1643/4 920/1644/4 +f 915/1641/5 919/1645/5 917/1642/5 +f 924/1638/6 922/1639/6 921/1640/6 +f 924/1638/2 923/1641/2 925/1642/2 +f 922/1639/4 927/1643/4 928/1644/4 +f 923/1641/5 927/1645/5 925/1642/5 +f 932/1638/6 930/1639/6 929/1640/6 +f 932/1638/2 931/1641/2 933/1642/2 +f 930/1639/4 935/1643/4 936/1644/4 +f 931/1641/5 935/1645/5 933/1642/5 +f 940/1638/6 938/1639/6 937/1640/6 +f 940/1638/1 939/1641/1 941/1642/1 +f 938/1639/3 943/1643/3 944/1644/3 +f 939/1641/5 943/1645/5 941/1642/5 +f 948/1638/6 946/1639/6 945/1640/6 +f 948/1638/1 947/1641/1 949/1642/1 +f 946/1639/3 951/1643/3 952/1644/3 +f 947/1641/5 951/1645/5 949/1642/5 +f 956/1638/6 954/1639/6 953/1640/6 +f 956/1638/1 955/1641/1 957/1642/1 +f 954/1639/3 959/1643/3 960/1644/3 +f 955/1641/5 959/1645/5 957/1642/5 +f 964/1638/6 962/1639/6 961/1640/6 +f 964/1638/1 963/1641/1 965/1642/1 +f 962/1639/3 967/1643/3 968/1644/3 +f 963/1641/5 967/1645/5 965/1642/5 +f 972/1638/6 970/1639/6 969/1640/6 +f 972/1638/1 971/1641/1 973/1642/1 +f 970/1639/3 975/1643/3 976/1644/3 +f 971/1641/5 975/1645/5 973/1642/5 +f 980/1638/6 978/1639/6 977/1640/6 +f 980/1638/4 979/1641/4 981/1642/4 +f 978/1639/2 983/1643/2 984/1644/2 +f 979/1641/5 983/1645/5 981/1642/5 +f 988/1638/6 986/1639/6 985/1640/6 +f 988/1638/4 987/1641/4 989/1642/4 +f 986/1639/2 991/1643/2 992/1644/2 +f 987/1641/5 991/1645/5 989/1642/5 +f 996/1638/6 994/1639/6 993/1640/6 +f 996/1638/4 995/1641/4 997/1642/4 +f 994/1639/2 999/1643/2 1000/1644/2 +f 995/1641/5 999/1645/5 997/1642/5 +f 1004/1638/6 1002/1639/6 1001/1640/6 +f 1004/1638/4 1003/1641/4 1005/1642/4 +f 1002/1639/2 1007/1643/2 1008/1644/2 +f 1003/1641/5 1007/1645/5 1005/1642/5 +f 1012/1638/6 1010/1639/6 1009/1640/6 +f 1012/1638/4 1011/1641/4 1013/1642/4 +f 1010/1639/2 1015/1643/2 1016/1644/2 +f 1011/1641/5 1015/1645/5 1013/1642/5 +f 1020/1638/6 1018/1639/6 1017/1640/6 +f 1020/1638/3 1019/1641/3 1021/1642/3 +f 1018/1639/1 1023/1643/1 1024/1644/1 +f 1019/1641/5 1023/1645/5 1021/1642/5 +f 1028/1638/6 1026/1639/6 1025/1640/6 +f 1028/1638/3 1027/1641/3 1029/1642/3 +f 1026/1639/1 1031/1643/1 1032/1644/1 +f 1027/1641/5 1031/1645/5 1029/1642/5 +f 1036/1638/6 1034/1639/6 1033/1640/6 +f 1036/1638/3 1035/1641/3 1037/1642/3 +f 1034/1639/1 1039/1643/1 1040/1644/1 +f 1035/1641/5 1039/1645/5 1037/1642/5 +f 1044/1638/6 1042/1639/6 1041/1640/6 +f 1044/1638/3 1043/1641/3 1045/1642/3 +f 1042/1639/1 1047/1643/1 1048/1644/1 +f 1043/1641/5 1047/1645/5 1045/1642/5 +f 1052/1638/6 1050/1639/6 1049/1640/6 +f 1052/1638/3 1051/1641/3 1053/1642/3 +f 1050/1639/1 1055/1643/1 1056/1644/1 +f 1051/1641/5 1055/1645/5 1053/1642/5 +f 1059/1646/232 1058/1647/232 1057/1648/232 +f 1060/1649/4 1059/1650/4 1057/1651/4 +f 1063/1652/111 1060/1649/111 1061/1653/111 +f 1064/1654/2 1061/1653/2 1058/1647/2 +f 1067/1646/187 1066/1647/187 1065/1648/187 +f 1068/1649/4 1067/1650/4 1065/1651/4 +f 1071/1652/213 1068/1649/213 1069/1653/213 +f 1072/1654/2 1069/1653/2 1066/1647/2 +f 1075/1646/232 1074/1647/232 1073/1648/232 +f 1076/1649/4 1075/1650/4 1073/1651/4 +f 1079/1652/111 1076/1649/111 1077/1653/111 +f 1080/1654/2 1077/1653/2 1074/1647/2 +f 1083/1646/187 1082/1647/187 1081/1648/187 +f 1084/1649/4 1083/1650/4 1081/1651/4 +f 1087/1652/213 1084/1649/213 1085/1653/213 +f 1082/1647/2 1087/1652/2 1085/1653/2 +f 1091/1646/232 1090/1647/232 1089/1648/232 +f 1092/1649/4 1091/1650/4 1089/1651/4 +f 1095/1652/111 1092/1649/111 1093/1653/111 +f 1096/1654/2 1093/1653/2 1090/1647/2 +f 1099/1646/187 1098/1647/187 1097/1648/187 +f 1100/1649/4 1099/1650/4 1097/1651/4 +f 1103/1652/213 1100/1649/213 1101/1653/213 +f 1104/1654/2 1101/1653/2 1098/1647/2 +f 1107/1646/232 1106/1647/232 1105/1648/232 +f 1110/1655/4 1105/1651/4 1108/1649/4 +f 1111/1652/111 1108/1649/111 1109/1653/111 +f 1112/1654/2 1109/1653/2 1106/1647/2 +f 1115/1646/187 1114/1647/187 1113/1648/187 +f 1118/1655/4 1113/1651/4 1116/1649/4 +f 1119/1652/213 1116/1649/213 1117/1653/213 +f 1120/1654/2 1117/1653/2 1114/1647/2 +f 1123/1646/138 1122/1647/138 1121/1648/138 +f 1126/1655/3 1121/1651/3 1124/1649/3 +f 1127/1652/173 1124/1649/173 1125/1653/173 +f 1128/1654/1 1125/1653/1 1122/1647/1 +f 1131/1646/140 1130/1647/140 1129/1648/140 +f 1134/1655/3 1129/1651/3 1132/1649/3 +f 1135/1652/175 1132/1649/175 1133/1653/175 +f 1136/1654/1 1133/1653/1 1130/1647/1 +f 1137/1648/138 1144/1654/138 1138/1647/138 +f 1142/1655/3 1137/1651/3 1140/1649/3 +f 1143/1652/173 1140/1649/173 1141/1653/173 +f 1144/1654/1 1141/1653/1 1138/1647/1 +f 1147/1646/140 1146/1647/140 1145/1648/140 +f 1150/1655/3 1145/1651/3 1148/1649/3 +f 1151/1652/175 1148/1649/175 1149/1653/175 +f 1152/1654/1 1149/1653/1 1146/1647/1 +f 1155/1646/138 1154/1647/138 1153/1648/138 +f 1158/1655/3 1153/1651/3 1156/1649/3 +f 1159/1652/173 1156/1649/173 1157/1653/173 +f 1160/1654/1 1157/1653/1 1154/1647/1 +f 1163/1646/140 1162/1647/140 1161/1648/140 +f 1164/1649/3 1163/1650/3 1161/1651/3 +f 1167/1652/175 1164/1649/175 1165/1653/175 +f 1168/1654/1 1165/1653/1 1162/1647/1 +f 1171/1646/138 1170/1647/138 1169/1648/138 +f 1172/1649/3 1171/1650/3 1169/1651/3 +f 1175/1652/173 1172/1649/173 1173/1653/173 +f 1176/1654/1 1173/1653/1 1170/1647/1 +f 1179/1646/140 1178/1647/140 1177/1648/140 +f 1180/1649/3 1179/1650/3 1177/1651/3 +f 1183/1652/175 1180/1649/175 1181/1653/175 +f 1184/1654/1 1181/1653/1 1178/1647/1 +f 1187/1646/213 1186/1647/213 1185/1648/213 +f 1188/1649/2 1187/1650/2 1185/1651/2 +f 1191/1652/187 1188/1649/187 1189/1653/187 +f 1186/1647/4 1191/1652/4 1189/1653/4 +f 1195/1646/111 1194/1647/111 1193/1648/111 +f 1196/1649/2 1195/1650/2 1193/1651/2 +f 1199/1652/232 1196/1649/232 1197/1653/232 +f 1200/1654/4 1197/1653/4 1194/1647/4 +f 1203/1646/213 1202/1647/213 1201/1648/213 +f 1204/1649/2 1203/1650/2 1201/1651/2 +f 1207/1652/187 1204/1649/187 1205/1653/187 +f 1208/1654/4 1205/1653/4 1202/1647/4 +f 1211/1646/111 1210/1647/111 1209/1648/111 +f 1212/1649/2 1211/1650/2 1209/1651/2 +f 1215/1652/232 1212/1649/232 1213/1653/232 +f 1216/1654/4 1213/1653/4 1210/1647/4 +f 1219/1646/213 1218/1647/213 1217/1648/213 +f 1220/1649/2 1219/1650/2 1217/1651/2 +f 1223/1652/187 1220/1649/187 1221/1653/187 +f 1224/1654/4 1221/1653/4 1218/1647/4 +f 1227/1646/111 1226/1647/111 1225/1648/111 +f 1230/1655/2 1225/1651/2 1228/1649/2 +f 1229/1653/232 1230/1655/232 1228/1649/232 +f 1232/1654/4 1229/1653/4 1226/1647/4 +f 1235/1646/213 1234/1647/213 1233/1648/213 +f 1236/1649/2 1235/1650/2 1233/1651/2 +f 1239/1652/187 1236/1649/187 1237/1653/187 +f 1240/1654/4 1237/1653/4 1234/1647/4 +f 1243/1646/111 1242/1647/111 1241/1648/111 +f 1244/1649/2 1243/1650/2 1241/1651/2 +f 1245/1653/232 1246/1655/232 1244/1649/232 +f 1248/1654/4 1245/1653/4 1242/1647/4 +f 1251/1646/175 1250/1647/175 1249/1648/175 +f 1252/1649/1 1251/1650/1 1249/1651/1 +f 1255/1652/140 1252/1649/140 1253/1653/140 +f 1256/1654/3 1253/1653/3 1250/1647/3 +f 1259/1646/173 1258/1647/173 1257/1648/173 +f 1262/1655/1 1257/1651/1 1260/1649/1 +f 1263/1652/138 1260/1649/138 1261/1653/138 +f 1264/1654/3 1261/1653/3 1258/1647/3 +f 1267/1646/175 1266/1647/175 1265/1648/175 +f 1268/1649/1 1267/1650/1 1265/1651/1 +f 1271/1652/140 1268/1649/140 1269/1653/140 +f 1272/1654/3 1269/1653/3 1266/1647/3 +f 1275/1646/173 1274/1647/173 1273/1648/173 +f 1276/1649/1 1275/1650/1 1273/1651/1 +f 1279/1652/138 1276/1649/138 1277/1653/138 +f 1280/1654/3 1277/1653/3 1274/1647/3 +f 1283/1646/175 1282/1647/175 1281/1648/175 +f 1284/1649/1 1283/1650/1 1281/1651/1 +f 1287/1652/140 1284/1649/140 1285/1653/140 +f 1288/1654/3 1285/1653/3 1282/1647/3 +f 1291/1646/173 1290/1647/173 1289/1648/173 +f 1294/1655/1 1289/1651/1 1292/1649/1 +f 1295/1652/138 1292/1649/138 1293/1653/138 +f 1296/1654/3 1293/1653/3 1290/1647/3 +f 1299/1646/175 1298/1647/175 1297/1648/175 +f 1300/1649/1 1299/1650/1 1297/1651/1 +f 1303/1652/140 1300/1649/140 1301/1653/140 +f 1304/1654/3 1301/1653/3 1298/1647/3 +f 1307/1646/173 1306/1647/173 1305/1648/173 +f 1308/1649/1 1307/1650/1 1305/1651/1 +f 1311/1652/138 1308/1649/138 1309/1653/138 +f 1312/1654/3 1309/1653/3 1306/1647/3 +f 1317/1656/5 1313/1657/5 1314/1658/5 +f 1318/1659/4 1313/1660/4 1316/1661/4 +f 1320/1662/6 1318/1659/6 1319/1663/6 +f 1320/1662/2 1317/1656/2 1314/1658/2 +f 1325/1656/5 1321/1657/5 1322/1658/5 +f 1326/1659/4 1321/1660/4 1324/1661/4 +f 1328/1662/6 1326/1659/6 1327/1663/6 +f 1328/1662/2 1325/1656/2 1322/1658/2 +f 1333/1656/5 1329/1657/5 1330/1658/5 +f 1334/1659/4 1329/1660/4 1332/1661/4 +f 1336/1662/6 1334/1659/6 1335/1663/6 +f 1336/1662/2 1333/1656/2 1330/1658/2 +f 1341/1656/5 1337/1657/5 1338/1658/5 +f 1342/1659/3 1337/1660/3 1340/1661/3 +f 1344/1662/6 1342/1659/6 1343/1663/6 +f 1344/1662/1 1341/1656/1 1338/1658/1 +f 1349/1656/5 1345/1657/5 1346/1658/5 +f 1350/1659/3 1345/1660/3 1348/1661/3 +f 1352/1662/6 1350/1659/6 1351/1663/6 +f 1352/1662/1 1349/1656/1 1346/1658/1 +f 1357/1656/5 1353/1657/5 1354/1658/5 +f 1358/1659/3 1353/1660/3 1356/1661/3 +f 1360/1662/6 1358/1659/6 1359/1663/6 +f 1360/1662/1 1357/1656/1 1354/1658/1 +f 1362/1658/5 1364/1664/5 1361/1657/5 +f 1366/1659/2 1361/1660/2 1364/1661/2 +f 1368/1662/6 1366/1659/6 1367/1663/6 +f 1368/1662/4 1365/1656/4 1362/1658/4 +f 1370/1658/5 1372/1664/5 1369/1657/5 +f 1374/1659/2 1369/1660/2 1372/1661/2 +f 1376/1662/6 1374/1659/6 1375/1663/6 +f 1376/1662/4 1373/1656/4 1370/1658/4 +f 1378/1658/5 1380/1664/5 1377/1657/5 +f 1382/1659/2 1377/1660/2 1380/1661/2 +f 1384/1662/6 1382/1659/6 1383/1663/6 +f 1384/1662/4 1381/1656/4 1378/1658/4 +f 1389/1656/5 1385/1657/5 1386/1658/5 +f 1390/1659/1 1385/1660/1 1388/1661/1 +f 1392/1662/6 1390/1659/6 1391/1663/6 +f 1392/1662/3 1389/1656/3 1386/1658/3 +f 1397/1656/5 1393/1657/5 1394/1658/5 +f 1398/1659/1 1393/1660/1 1396/1661/1 +f 1400/1662/6 1398/1659/6 1399/1663/6 +f 1400/1662/3 1397/1656/3 1394/1658/3 +f 1405/1656/5 1401/1657/5 1402/1658/5 +f 1406/1659/1 1401/1660/1 1404/1661/1 +f 1408/1662/6 1406/1659/6 1407/1663/6 +f 1408/1662/3 1405/1656/3 1402/1658/3 +f 1410/1665/6 1411/1666/186 1409/1667/185 +f 1412/1668/187 1413/1669/550 1411/1666/186 +f 1414/1670/1 1415/1671/231 1413/1672/550 +f 1416/1673/232 1417/1674/217 1415/1671/231 +f 1418/1675/5 1419/1676/215 1417/1674/217 +f 1420/1677/213 1421/1678/212 1419/1676/215 +f 1422/1679/3 1423/1680/211 1421/1678/212 +f 1424/1681/111 1409/1667/185 1423/1680/211 +f 1417/1682/217 1428/1683/230 1415/1684/231 +f 1431/1685/51 1440/1686/208 1439/1687/209 +f 1421/1688/212 1432/1689/210 1431/1690/51 +f 1411/1691/186 1427/1692/551 1426/1693/189 +f 1419/1694/215 1429/1695/216 1417/1682/217 +f 1423/1696/211 1425/1697/190 1432/1689/210 +f 1409/1698/185 1426/1693/189 1425/1697/190 +f 1413/1699/550 1428/1683/230 1427/1700/551 +f 1421/1701/212 1430/1702/214 1419/1694/215 +f 1437/1703/219 1444/1704/121 1436/1705/229 +f 1429/1706/216 1438/1707/218 1437/1708/219 +f 1427/1709/551 1436/1710/229 1435/1711/552 +f 1425/1712/190 1434/1713/192 1433/1714/193 +f 1425/1712/190 1440/1686/208 1432/1715/210 +f 1431/1716/51 1438/1707/218 1430/1717/214 +f 1429/1706/216 1436/1710/229 1428/1718/230 +f 1426/1719/189 1435/1720/552 1434/1713/192 +f 1448/1721/163 1449/1722/149 1456/1723/165 +f 1435/1724/552 1442/1725/150 1434/1726/192 +f 1440/1727/208 1447/1728/164 1439/1729/209 +f 1438/1730/218 1445/1731/123 1437/1703/219 +f 1436/1705/229 1443/1732/553 1435/1733/552 +f 1434/1726/192 1441/1734/151 1433/1735/193 +f 1433/1735/193 1448/1736/163 1440/1727/208 +f 1439/1729/209 1446/1737/181 1438/1730/218 +f 1451/1738/554 1460/1739/127 1459/1740/555 +f 1447/1741/164 1454/1742/180 1446/1743/181 +f 1445/1744/123 1452/1745/124 1444/1746/121 +f 1442/1747/150 1451/1748/554 1450/1749/148 +f 1448/1721/163 1455/1750/37 1447/1751/164 +f 1446/1743/181 1453/1752/126 1445/1744/123 +f 1443/1753/553 1452/1745/124 1451/1754/554 +f 1441/1755/151 1450/1749/148 1449/1722/149 +f 1464/1756/166 1471/1757/1 1463/1758/167 +f 1449/1759/149 1458/1760/146 1457/1761/147 +f 1449/1759/149 1464/1762/166 1456/1763/165 +f 1455/1764/37 1462/1765/179 1454/1766/180 +f 1452/1767/124 1461/1768/129 1460/1739/127 +f 1450/1769/148 1459/1770/555 1458/1760/146 +f 1455/1771/37 1464/1762/166 1463/1772/167 +f 1453/1773/126 1462/1765/179 1461/1768/129 +f 1462/1774/179 1469/1775/5 1461/1776/129 +f 1460/1777/127 1467/1778/3 1459/1779/555 +f 1458/1780/146 1465/1781/6 1457/1782/147 +f 1457/1782/147 1472/1783/187 1464/1756/166 +f 1463/1758/167 1470/1784/232 1462/1774/179 +f 1461/1776/129 1468/1785/213 1460/1777/127 +f 1459/1786/555 1466/1787/111 1458/1780/146 +f 1474/1788/6 1475/1789/186 1473/1790/185 +f 1476/1791/187 1477/1792/550 1475/1789/186 +f 1478/1793/1 1479/1794/231 1477/1795/550 +f 1480/1796/232 1481/1797/217 1479/1794/231 +f 1482/1798/5 1483/1799/215 1481/1797/217 +f 1484/1800/213 1485/1801/212 1483/1799/215 +f 1486/1802/3 1487/1803/211 1485/1801/212 +f 1488/1804/111 1473/1790/185 1487/1803/211 +f 1481/1805/217 1492/1806/230 1479/1807/231 +f 1495/1808/51 1504/1809/208 1503/1810/209 +f 1485/1811/212 1496/1812/556 1495/1813/51 +f 1475/1814/186 1491/1815/557 1490/1816/189 +f 1483/1817/215 1493/1818/216 1481/1805/217 +f 1487/1819/211 1489/1820/190 1496/1812/556 +f 1473/1821/185 1490/1816/189 1489/1820/190 +f 1477/1822/550 1492/1806/230 1491/1823/557 +f 1485/1824/212 1494/1825/214 1483/1817/215 +f 1501/1826/219 1508/1827/121 1500/1828/229 +f 1493/1829/216 1502/1830/218 1501/1831/219 +f 1491/1832/557 1500/1833/229 1499/1834/558 +f 1489/1835/190 1498/1836/192 1497/1837/193 +f 1489/1835/190 1504/1809/208 1496/1838/556 +f 1494/1839/214 1503/1840/209 1502/1830/218 +f 1493/1829/216 1500/1833/229 1492/1841/230 +f 1490/1842/189 1499/1843/558 1498/1836/192 +f 1505/1844/151 1520/1845/165 1512/1846/163 +f 1499/1847/558 1506/1848/150 1498/1849/192 +f 1504/1850/208 1511/1851/164 1503/1852/209 +f 1502/1853/218 1509/1854/123 1501/1826/219 +f 1500/1828/229 1507/1855/553 1499/1856/558 +f 1498/1849/192 1505/1857/151 1497/1858/193 +f 1497/1858/193 1512/1859/163 1504/1850/208 +f 1503/1852/209 1510/1860/181 1502/1853/218 +f 1515/1861/554 1524/1862/559 1523/1863/555 +f 1510/1864/181 1519/1865/37 1518/1866/180 +f 1509/1867/123 1516/1868/124 1508/1869/121 +f 1506/1870/150 1515/1871/554 1514/1872/148 +f 1512/1846/163 1519/1873/37 1511/1874/164 +f 1509/1867/123 1518/1866/180 1517/1875/126 +f 1507/1876/553 1516/1868/124 1515/1877/554 +f 1505/1844/151 1514/1872/148 1513/1878/149 +f 1528/1879/166 1535/1880/1 1527/1881/167 +f 1513/1882/149 1522/1883/146 1521/1884/147 +f 1513/1882/149 1528/1885/166 1520/1886/165 +f 1519/1887/37 1526/1888/179 1518/1889/180 +f 1517/1890/126 1524/1862/559 1516/1891/124 +f 1514/1892/148 1523/1893/555 1522/1883/146 +f 1520/1886/165 1527/1894/167 1519/1895/37 +f 1518/1889/180 1525/1896/129 1517/1890/126 +f 1526/1897/179 1533/1898/5 1525/1899/129 +f 1524/1900/559 1531/1901/3 1523/1902/555 +f 1522/1903/146 1529/1904/6 1521/1905/147 +f 1521/1905/147 1536/1906/187 1528/1879/166 +f 1527/1881/167 1534/1907/232 1526/1897/179 +f 1525/1899/129 1532/1908/213 1524/1900/559 +f 1523/1909/555 1530/1910/111 1522/1903/146 +f 1539/1911/185 1538/1912/111 1537/1913/6 +f 1542/1914/186 1537/1913/6 1540/1915/187 +f 1543/1916/560 1540/1915/187 1541/1917/1 +f 1543/1918/560 1544/1919/189 1542/1920/186 +f 1539/1921/185 1544/1919/189 1546/1922/190 +f 1544/1923/189 1548/1924/234 1547/1925/192 +f 1546/1926/190 1547/1925/192 1549/1927/193 +f 1548/1928/234 1550/1929/235 1547/1930/192 +f 1547/1930/192 1551/1931/561 1549/1932/193 +f 1550/1933/235 1554/1934/562 1551/1935/561 +f 1550/1933/235 1555/1936/237 1553/1937/238 +f 1554/1938/562 1556/1939/241 1557/1940/563 +f 1553/1941/238 1558/1942/240 1556/1939/241 +f 1556/1943/241 1560/1944/242 1557/1945/563 +f 1558/1946/240 1559/1947/243 1556/1943/241 +f 1559/1948/243 1563/1949/244 1560/1950/242 +f 1561/1951/245 1562/1952/246 1559/1948/243 +f 1562/1953/246 1566/1954/247 1563/1955/244 +f 1562/1953/246 1567/1956/248 1565/1957/249 +f 1565/1958/249 1569/1959/212 1566/1960/247 +f 1567/1961/248 1568/1962/211 1565/1958/249 +f 1568/1963/211 1572/1964/51 1569/1965/212 +f 1570/1966/185 1571/1967/210 1568/1963/211 +f 1572/1968/51 1574/1969/208 1575/1970/209 +f 1571/1971/210 1576/1972/193 1574/1969/208 +f 1574/1973/208 1578/1974/250 1575/1975/209 +f 1576/1976/193 1577/1977/139 1574/1973/208 +f 1578/1978/250 1580/1979/142 1581/1980/251 +f 1579/1981/141 1580/1979/142 1577/1982/139 +f 1581/1983/251 1583/1984/144 1584/1985/131 +f 1582/1986/143 1583/1984/144 1580/1987/142 +f 1583/1988/144 1587/1989/252 1584/1990/131 +f 1585/1991/145 1586/1992/253 1583/1988/144 +f 1587/1993/252 1589/1994/256 1590/1995/254 +f 1586/1996/253 1591/1997/140 1589/1994/256 +f 1589/1998/256 1593/1999/258 1590/2000/254 +f 1589/1998/256 1594/2001/259 1592/2002/257 +f 1592/2003/257 1596/2004/3 1593/2005/258 +f 1592/2003/257 1597/2006/4 1595/2007/51 +f 1600/2008/260 1597/2009/4 1594/2010/259 +f 1600/2008/260 1599/2011/1 1598/2012/37 +f 1591/2013/140 1600/2014/260 1594/2015/259 +f 1602/2016/262 1601/2017/295 1600/2014/260 +f 1588/2018/255 1602/2019/262 1591/2020/140 +f 1604/2021/263 1603/2022/261 1602/2019/262 +f 1606/2023/168 1588/2024/255 1585/2025/145 +f 1607/2026/169 1604/2027/263 1606/2023/168 +f 1608/2028/170 1585/2029/145 1582/2030/143 +f 1609/2031/22 1606/2032/168 1608/2028/170 +f 1610/2033/171 1582/2034/143 1579/2035/141 +f 1611/2036/172 1608/2037/170 1610/2033/171 +f 1612/2038/192 1579/2039/141 1576/2040/193 +f 1613/2041/564 1610/2042/171 1612/2038/192 +f 1573/2043/190 1612/2044/192 1576/2045/193 +f 1614/2046/189 1613/2047/564 1612/2044/192 +f 1570/2048/185 1614/2049/189 1573/2050/190 +f 1616/2051/186 1615/2052/565 1614/2049/189 +f 1618/2053/266 1570/2054/185 1567/2055/248 +f 1619/2056/267 1616/2057/186 1618/2053/266 +f 1620/2058/268 1567/2059/248 1564/2060/173 +f 1621/2061/270 1618/2062/266 1620/2058/268 +f 1622/2063/269 1564/2064/173 1561/2065/245 +f 1622/2063/269 1621/2066/270 1620/2067/268 +f 1558/2068/240 1622/2069/269 1561/2070/245 +f 1624/2071/271 1623/2072/272 1622/2069/269 +f 1555/2073/237 1624/2074/271 1558/2075/240 +f 1626/2076/273 1625/2077/274 1624/2074/271 +f 1552/2078/276 1626/2079/273 1555/2080/237 +f 1628/2081/275 1627/2082/232 1626/2079/273 +f 1631/2083/5 1628/2084/275 1629/2085/175 +f 1548/2086/234 1628/2084/275 1552/2087/276 +f 1633/2088/138 1630/2089/277 1631/2083/5 +f 1632/2090/279 1627/2091/232 1630/2092/277 +f 1700/2093/209 1632/2094/279 1633/2088/138 +f 1634/2095/280 1635/2096/278 1632/2090/279 +f 1635/2097/278 1625/2098/274 1627/2099/232 +f 1636/2100/281 1637/2101/282 1635/2097/278 +f 1637/2102/282 1623/2072/272 1625/2103/274 +f 1638/2104/283 1639/2105/284 1637/2102/282 +f 1623/2106/272 1641/2107/286 1621/2066/270 +f 1640/2108/566 1641/2107/286 1639/2109/284 +f 1621/2061/270 1643/2110/287 1619/2111/267 +f 1641/2112/286 1644/2113/288 1643/2110/287 +f 1643/2114/287 1617/2115/289 1619/2116/267 +f 1644/2116/288 1645/2117/231 1643/2056/287 +f 1617/2118/289 1647/2119/230 1615/2120/565 +f 1646/2121/217 1647/2119/230 1645/2122/231 +f 1615/2123/565 1649/2124/229 1613/2125/564 +f 1648/2126/216 1649/2124/229 1647/2127/230 +f 1649/2128/229 1611/2129/172 1613/2130/564 +f 1649/2041/229 1652/2129/135 1651/2131/174 +f 1651/2132/174 1609/2133/22 1611/2134/172 +f 1651/2132/174 1654/2135/177 1653/2136/176 +f 1653/2137/176 1607/2138/169 1609/2139/22 +f 1653/2137/176 1656/2140/132 1655/2141/178 +f 1655/2142/178 1605/2143/290 1607/2144/169 +f 1656/2144/132 1657/2145/291 1655/2026/178 +f 1657/2146/291 1603/2022/261 1605/2147/290 +f 1657/2146/291 1660/2148/567 1659/2149/292 +f 1603/2150/261 1661/2151/294 1601/2017/295 +f 1659/2152/292 1662/2153/296 1661/2151/294 +f 1661/2154/294 1599/2011/1 1601/2155/295 +f 1662/2156/296 1663/2157/22 1661/2154/294 +f 1662/2156/296 1665/2158/65 1664/2159/2 +f 1593/2005/258 1665/2158/65 1666/2160/297 +f 1660/2161/567 1666/2162/297 1662/2163/296 +f 1590/2000/254 1666/2162/297 1667/2164/298 +f 1658/2165/568 1667/2166/298 1660/2167/567 +f 1668/2168/300 1590/1995/254 1667/2166/298 +f 1669/2169/130 1658/2170/568 1656/2142/132 +f 1584/1990/131 1668/2171/300 1669/2169/130 +f 1654/2172/177 1669/2173/130 1656/2140/132 +f 1670/2174/133 1584/2175/131 1669/2173/130 +f 1652/2176/135 1670/2177/133 1654/2135/177 +f 1671/2178/136 1581/2179/251 1670/2177/133 +f 1672/2180/218 1652/2181/135 1650/2128/219 +f 1575/1975/209 1671/2182/136 1672/2180/218 +f 1673/2183/214 1650/2184/219 1648/2126/216 +f 1673/2183/214 1575/2185/209 1672/2186/218 +f 1674/2187/215 1648/2188/216 1646/2121/217 +f 1569/2189/212 1673/2190/214 1674/2187/215 +f 1675/2191/301 1646/2192/217 1644/2114/288 +f 1566/1960/247 1674/2193/215 1675/2191/301 +f 1676/2194/302 1644/2195/288 1642/2196/4 +f 1563/1955/244 1675/2197/301 1676/2194/302 +f 1640/2198/566 1676/2199/302 1642/2200/4 +f 1560/1950/242 1676/2199/302 1677/2201/304 +f 1638/2104/283 1677/2202/304 1640/2203/566 +f 1557/1945/563 1677/2202/304 1678/2204/305 +f 1636/2100/281 1678/2205/305 1638/2206/283 +f 1679/2207/306 1557/2208/563 1678/2209/305 +f 1634/2095/280 1679/2210/306 1636/2211/281 +f 1680/2212/307 1554/2213/562 1679/2214/306 +f 1681/2215/208 1551/1931/561 1680/2216/307 +f 1700/2093/209 1680/2216/307 1634/2217/280 +f 1682/2218/210 1549/1927/193 1681/2219/208 +f 1701/2220/51 1681/2219/208 1700/2221/209 +f 1683/2222/211 1546/1922/190 1682/2223/210 +f 1684/2224/212 1682/2223/210 1701/2225/51 +f 1683/2226/211 1685/2227/3 1538/1912/111 +f 1684/2228/212 1687/2229/213 1685/2227/3 +f 1684/2230/212 1689/2231/308 1686/2232/215 +f 1686/2233/215 1694/2234/5 1687/2229/213 +f 1686/2232/215 1690/2235/309 1688/2236/217 +f 1688/2236/217 1691/2237/310 1692/2238/231 +f 1692/2238/231 1545/2239/569 1543/2240/560 +f 1688/2241/217 1693/2242/232 1694/2234/5 +f 1692/2243/231 1541/2244/1 1693/2242/232 +f 1701/2245/51 1699/2246/311 1702/2247/311 +f 1702/2247/311 1698/2248/312 1703/2249/312 +f 1703/2249/312 1697/2250/313 1704/2251/313 +f 1695/2252/314 1697/2250/313 1696/2253/6 +f 1708/226/2 1706/227/87 1705/228/2 +f 1711/229/88 1705/228/2 1707/230/88 +f 1709/232/90 1710/2254/89 1738/231/90 +f 1711/229/91 1710/233/89 1708/226/89 +f 1713/236/92 1712/235/91 1711/229/91 +f 1713/236/93 1707/230/88 1716/237/93 +f 1715/238/94 1714/239/92 1713/236/92 +f 1715/238/1 1716/237/93 1717/240/1 +f 1720/241/95 1717/240/1 1718/242/95 +f 1722/243/96 1718/242/95 1719/244/96 +f 1720/241/97 1740/245/94 1715/238/94 +f 1722/243/98 1721/246/97 1720/241/97 +f 1722/243/98 1725/247/99 1723/248/98 +f 1724/249/4 1719/244/96 1727/250/4 +f 1726/251/100 1725/252/99 1724/253/99 +f 1726/251/101 1727/254/4 1728/255/101 +f 1731/256/102 1728/255/101 1729/257/102 +f 1733/258/3 1729/257/102 1730/259/3 +f 1731/256/103 1739/260/100 1726/251/100 +f 1733/258/104 1732/261/103 1731/256/103 +f 1735/262/105 1734/263/104 1733/258/104 +f 1735/262/106 1730/259/3 1737/264/106 +f 1709/232/90 1736/265/105 1735/262/105 +f 1709/232/87 1737/264/106 1706/227/87 +f 1714/266/6 1725/267/6 1736/268/6 +f 1744/226/2 1742/227/87 1741/228/2 +f 1747/229/88 1741/228/2 1743/230/88 +f 1744/226/89 1774/231/90 1745/232/90 +f 1744/226/89 1748/2255/91 1746/233/89 +f 1749/236/92 1748/235/91 1747/229/91 +f 1749/236/93 1743/230/88 1752/237/93 +f 1751/238/94 1750/239/92 1749/236/92 +f 1751/238/1 1752/237/93 1753/240/1 +f 1756/241/95 1753/240/1 1754/242/95 +f 1758/243/96 1754/242/95 1755/244/96 +f 1756/241/97 1776/245/94 1751/238/94 +f 1758/243/98 1757/246/97 1756/241/97 +f 1760/249/99 1759/248/98 1758/243/98 +f 1760/249/4 1755/244/96 1763/250/4 +f 1760/253/99 1775/2256/100 1761/252/99 +f 1762/251/101 1763/254/4 1764/255/101 +f 1767/256/102 1764/255/101 1765/257/102 +f 1769/258/3 1765/257/102 1766/259/3 +f 1767/256/103 1775/260/100 1762/251/100 +f 1767/256/103 1770/2257/104 1768/261/103 +f 1771/262/105 1770/263/104 1769/258/104 +f 1771/262/106 1766/259/3 1773/264/106 +f 1745/232/90 1772/265/105 1771/262/105 +f 1745/232/87 1773/264/106 1742/227/87 +f 1750/266/6 1761/267/6 1772/268/6 +f 2/1/1 4/4/1 3/2/1 +f 4/4/2 8/7/2 7/5/2 +f 8/7/3 6/10/3 5/8/3 +f 6/10/4 2/1/4 1/11/4 +f 7/9/5 5/8/5 1/13/5 +f 4/4/6 2/1/6 6/10/6 +f 11/15/7 16/2258/7 10/16/7 +f 14/18/8 11/2259/8 9/19/8 +f 15/21/9 14/2260/9 12/20/9 +f 16/23/6 11/2261/6 14/24/6 +f 16/26/10 15/2262/10 13/27/10 +f 19/28/1 24/38/1 18/29/1 +f 22/31/4 19/2263/4 17/32/4 +f 23/34/3 22/31/3 20/33/3 +f 24/36/6 19/2263/6 22/31/6 +f 24/38/2 23/34/2 21/35/2 +f 27/28/1 32/38/1 26/29/1 +f 30/31/4 27/2263/4 25/32/4 +f 31/34/3 30/31/3 28/33/3 +f 32/36/6 27/2263/6 30/31/6 +f 32/38/2 31/34/2 29/35/2 +f 35/28/1 40/38/1 34/29/1 +f 38/31/4 35/2263/4 33/32/4 +f 39/34/3 38/31/3 36/33/3 +f 40/36/6 35/2263/6 38/31/6 +f 40/38/2 39/34/2 37/35/2 +f 43/28/1 48/38/1 42/29/1 +f 46/31/4 43/2263/4 41/32/4 +f 47/34/3 46/31/3 44/33/3 +f 48/36/6 43/2263/6 46/31/6 +f 48/38/2 47/34/2 45/35/2 +f 51/39/1 56/2264/1 50/40/1 +f 54/42/4 51/39/4 49/41/4 +f 55/44/3 54/42/3 52/43/3 +f 56/46/6 51/39/6 54/42/6 +f 56/48/2 55/44/2 53/45/2 +f 57/50/11 58/54/15 62/51/12 +f 59/53/14 117/225/69 58/54/15 +f 135/55/16 59/213/14 57/56/11 +f 60/57/17 57/56/11 61/58/13 +f 61/60/13 62/151/12 65/61/19 +f 63/63/18 61/60/13 64/62/2 +f 69/65/21 63/63/18 66/64/20 +f 70/67/23 69/65/21 67/66/22 +f 73/69/25 71/78/26 69/70/21 +f 71/72/26 60/76/17 63/73/18 +f 72/75/27 135/214/16 60/76/17 +f 74/77/28 72/215/27 71/78/26 +f 76/79/29 74/216/28 73/80/25 +f 75/81/30 73/80/25 70/82/23 +f 136/84/32 76/217/29 75/85/30 +f 77/86/33 75/85/30 78/87/31 +f 79/89/34 78/92/31 80/90/1 +f 78/92/31 70/67/23 68/68/24 +f 84/93/36 79/89/34 81/91/35 +f 85/95/38 84/93/36 82/94/37 +f 88/97/40 86/106/41 84/98/36 +f 86/100/41 77/104/33 79/101/34 +f 87/103/42 136/218/32 77/104/33 +f 88/97/40 89/219/85 87/105/42 +f 91/107/43 89/220/85 88/108/40 +f 90/109/44 88/108/40 85/110/38 +f 137/112/46 91/221/43 90/113/44 +f 92/114/47 90/113/44 93/115/45 +f 94/117/48 93/2265/45 95/118/4 +f 93/120/45 85/95/38 83/96/39 +f 99/122/50 94/117/48 96/119/49 +f 98/124/52 100/2266/54 99/122/50 +f 103/125/53 101/134/55 99/126/50 +f 101/128/55 92/132/47 94/129/48 +f 102/131/56 137/222/46 92/132/47 +f 103/125/53 104/223/86 102/133/56 +f 106/135/57 104/224/86 103/136/53 +f 105/137/58 103/136/53 100/138/54 +f 118/140/60 106/167/57 105/141/58 +f 107/142/61 105/141/58 108/143/59 +f 109/145/62 108/148/59 110/146/3 +f 108/148/59 100/2266/54 98/124/52 +f 113/149/64 109/145/62 111/147/63 +f 62/151/12 113/149/64 112/150/65 +f 58/152/15 114/161/66 113/153/64 +f 114/155/66 107/159/61 109/156/62 +f 114/155/66 115/163/67 118/158/60 +f 58/152/15 117/164/69 115/160/67 +f 116/162/68 119/169/70 118/158/60 +f 117/164/69 124/184/77 116/165/68 +f 119/166/70 120/171/71 106/167/57 +f 134/178/75 123/180/76 59/213/14 +f 133/210/84 134/212/75 135/214/16 +f 132/207/83 133/209/84 72/215/27 +f 131/204/82 132/206/83 74/216/28 +f 130/201/81 131/203/82 76/217/29 +f 87/103/42 129/198/73 130/200/81 +f 122/172/72 129/174/73 87/105/42 +f 128/175/74 122/177/72 89/220/85 +f 137/112/46 127/195/80 128/197/74 +f 126/192/79 127/194/80 137/222/46 +f 125/189/78 126/191/79 102/133/56 +f 120/186/71 125/188/78 104/224/86 +f 59/53/14 123/181/76 124/183/77 +f 141/226/2 142/232/87 139/227/87 +f 144/229/88 141/226/2 138/228/2 +f 141/226/89 143/2254/89 171/231/90 +f 144/229/91 145/2255/91 143/233/89 +f 144/229/91 146/236/92 147/234/92 +f 146/236/93 144/229/88 140/230/88 +f 148/238/94 173/2267/94 147/239/92 +f 148/238/1 146/236/93 149/237/93 +f 153/241/95 148/238/1 150/240/1 +f 155/243/96 153/241/95 151/242/95 +f 153/241/97 154/2268/97 173/245/94 +f 155/243/98 156/2269/98 154/246/97 +f 155/243/98 157/249/99 158/247/99 +f 157/249/4 155/243/96 152/244/96 +f 159/251/100 172/2256/100 158/252/99 +f 159/251/101 157/253/4 160/254/4 +f 164/256/102 159/251/101 161/255/101 +f 166/258/3 164/256/102 162/257/102 +f 164/256/103 165/2270/103 172/260/100 +f 166/258/104 167/2257/104 165/261/103 +f 168/262/105 169/2271/105 167/263/104 +f 168/262/106 166/258/3 163/259/3 +f 142/232/90 171/2272/90 169/265/105 +f 142/232/87 168/262/106 170/264/106 +f 169/268/6 171/2273/6 143/2274/6 +f 143/2274/6 145/2275/6 147/266/6 +f 147/266/6 173/2276/6 154/2277/6 +f 154/2277/6 156/2278/6 158/267/6 +f 158/267/6 172/2279/6 165/2280/6 +f 165/2280/6 167/2281/6 169/268/6 +f 169/268/6 143/2274/6 147/266/6 +f 147/266/6 154/2277/6 158/267/6 +f 158/267/6 165/2280/6 169/268/6 +f 176/269/107 181/2282/107 175/270/107 +f 179/272/108 176/2283/108 174/273/108 +f 180/275/109 179/2284/109 177/276/109 +f 181/278/6 176/2285/6 179/279/6 +f 181/281/110 180/2286/110 178/282/110 +f 184/284/1 191/295/1 183/285/1 +f 182/289/4 185/291/4 187/287/4 +f 187/287/4 188/2287/4 184/288/4 +f 189/290/3 187/287/3 185/291/3 +f 188/293/111 187/287/111 189/290/111 +f 186/292/2 183/285/2 191/295/2 +f 191/295/2 190/2288/2 189/290/2 +f 191/296/6 184/2289/6 188/293/6 +f 196/297/5 195/303/5 192/298/5 +f 194/300/1 199/2290/1 193/301/1 +f 197/302/4 194/300/4 192/298/4 +f 198/304/3 197/302/3 195/303/3 +f 199/306/6 194/300/6 197/302/6 +f 202/308/112 252/398/155 201/309/65 +f 205/311/113 202/308/112 200/310/2 +f 206/313/114 205/311/113 203/312/22 +f 205/315/113 206/316/114 208/316/115 +f 202/318/112 205/315/113 207/317/116 +f 207/320/116 208/321/115 211/321/118 +f 207/320/116 210/322/119 212/323/120 +f 211/325/118 214/2291/123 213/326/121 +f 210/327/119 213/326/121 215/328/122 +f 214/330/123 217/2292/126 216/331/124 +f 215/333/122 213/332/121 216/331/124 +f 217/334/126 220/2293/129 219/335/127 +f 218/337/125 216/336/124 219/335/127 +f 220/339/129 223/2294/132 222/340/130 +f 219/341/127 222/340/130 224/342/131 +f 223/344/132 226/2295/177 225/345/133 +f 224/347/131 222/346/130 225/345/133 +f 225/348/133 226/2296/177 229/349/135 +f 227/351/134 225/348/133 228/350/136 +f 229/353/135 232/2297/5 231/354/138 +f 228/355/136 231/354/138 233/356/4 +f 236/358/139 230/357/137 233/356/4 +f 236/358/139 234/359/140 235/360/6 +f 238/362/142 227/363/134 230/363/137 +f 238/362/142 236/364/139 237/365/141 +f 240/367/144 224/368/131 227/368/134 +f 240/367/144 238/369/142 239/370/143 +f 242/372/146 221/343/128 224/342/131 +f 242/372/146 240/373/144 241/374/145 +f 244/376/148 218/377/125 221/377/128 +f 244/376/148 242/378/146 243/379/147 +f 246/381/150 215/2298/122 218/382/125 +f 246/381/150 244/383/148 245/384/149 +f 248/386/152 212/329/120 215/328/122 +f 248/386/152 246/387/150 247/388/151 +f 250/390/154 209/324/117 212/323/120 +f 251/392/111 250/390/154 248/391/152 +f 202/318/112 209/319/117 250/394/154 +f 252/395/155 250/394/154 251/396/111 +f 252/398/155 253/400/156 254/399/3 +f 253/400/156 255/405/157 256/401/51 +f 255/402/157 253/2299/156 251/403/111 +f 255/405/157 257/482/159 287/406/4 +f 257/407/159 255/402/157 258/404/158 +f 251/409/111 249/2300/153 260/410/161 +f 258/412/158 260/2301/161 261/413/162 +f 249/389/153 247/388/151 262/415/163 +f 260/416/161 262/415/163 263/417/164 +f 247/385/151 245/384/149 264/419/165 +f 262/420/163 264/419/165 265/421/37 +f 264/423/165 245/380/149 243/379/147 +f 264/423/165 266/424/166 267/425/167 +f 243/375/147 241/374/145 268/427/168 +f 266/428/166 268/427/168 269/429/169 +f 268/431/168 241/371/145 239/370/143 +f 268/431/168 270/432/170 271/433/22 +f 239/366/143 237/365/141 272/435/171 +f 270/436/170 272/435/171 273/437/172 +f 237/361/141 235/360/6 274/439/173 +f 272/440/171 274/439/173 275/441/2 +f 277/443/174 273/442/172 275/441/2 +f 229/445/135 277/443/174 276/444/175 +f 278/447/176 271/2302/22 273/448/172 +f 226/450/177 278/447/176 277/449/174 +f 279/452/178 269/2303/169 271/453/22 +f 279/452/178 278/454/176 226/455/177 +f 280/457/179 267/430/167 269/429/169 +f 280/457/179 279/458/178 223/459/132 +f 281/461/180 265/2304/37 267/462/167 +f 281/461/180 280/463/179 220/464/129 +f 282/466/181 263/2305/164 265/467/37 +f 282/466/181 281/468/180 217/469/126 +f 283/471/182 261/418/162 263/417/164 +f 283/471/182 282/472/181 214/473/123 +f 284/475/183 259/2306/160 261/476/162 +f 208/478/115 284/475/183 283/477/182 +f 257/407/159 259/408/160 284/479/183 +f 206/481/114 285/480/184 284/479/183 +f 257/482/159 285/484/184 286/483/37 +f 285/484/184 206/2307/114 204/485/1 +f 290/486/185 325/549/211 289/487/111 +f 293/489/186 290/486/185 288/488/6 +f 294/491/1 293/489/186 291/490/187 +f 293/493/186 294/2308/1 296/494/188 +f 290/496/185 293/493/186 295/495/189 +f 295/498/189 296/2309/188 299/499/191 +f 295/498/189 298/500/192 300/501/193 +f 299/503/191 302/2310/196 301/504/194 +f 298/505/192 301/504/194 303/506/195 +f 302/508/196 305/2311/198 304/509/197 +f 301/510/194 304/509/197 306/511/187 +f 305/513/198 308/2312/201 307/514/199 +f 304/515/197 307/514/199 309/516/200 +f 308/518/201 311/2313/2 310/519/22 +f 307/520/199 310/519/22 312/521/1 +f 309/522/200 312/521/1 313/523/37 +f 315/524/202 313/523/37 314/525/4 +f 306/527/187 309/2314/200 315/528/202 +f 317/529/204 315/528/202 316/530/203 +f 319/532/206 303/2315/195 306/533/187 +f 320/535/207 319/532/206 317/534/204 +f 300/507/193 303/506/195 319/537/206 +f 322/539/209 321/538/208 319/537/206 +f 323/541/210 297/502/190 300/501/193 +f 324/543/51 323/541/210 321/542/208 +f 325/545/211 290/496/185 297/497/190 +f 326/547/212 325/545/211 323/546/210 +f 325/549/211 326/551/212 327/550/3 +f 326/551/212 328/556/215 329/552/213 +f 326/553/212 324/2316/51 331/554/214 +f 328/556/215 330/607/217 351/557/5 +f 328/555/215 331/554/214 332/558/216 +f 324/560/51 322/2317/209 333/561/218 +f 331/562/214 333/561/218 334/563/219 +f 322/539/209 320/540/207 335/565/220 +f 333/566/218 335/565/220 336/567/221 +f 320/535/207 318/536/205 337/569/222 +f 336/571/221 335/570/220 337/569/222 +f 337/573/222 318/531/205 316/530/203 +f 338/575/223 337/573/222 339/574/224 +f 339/577/224 316/526/203 314/525/4 +f 339/577/224 341/578/51 342/579/3 +f 340/580/225 342/579/3 343/581/65 +f 344/582/226 343/581/65 311/583/2 +f 345/585/227 338/2318/223 340/586/225 +f 345/585/227 344/587/226 308/588/201 +f 346/590/228 336/2319/221 338/591/223 +f 346/590/228 345/592/227 305/593/198 +f 334/568/219 336/567/221 346/595/228 +f 299/597/191 347/596/229 346/595/228 +f 332/564/216 334/563/219 347/599/229 +f 296/601/188 348/600/230 347/599/229 +f 330/559/217 332/558/216 348/603/230 +f 349/604/231 348/603/230 296/605/188 +f 330/607/217 349/609/231 350/608/232 +f 349/609/231 294/2320/1 292/610/1 +f 354/611/185 498/926/211 353/612/111 +f 357/614/186 354/611/185 352/613/6 +f 358/616/1 357/614/186 355/615/187 +f 357/618/186 358/2321/1 360/619/233 +f 354/621/185 357/618/186 359/620/189 +f 359/623/189 360/2322/233 363/624/234 +f 361/626/190 359/623/189 362/625/192 +f 363/628/234 367/2323/276 365/629/235 +f 362/630/192 365/629/235 366/631/6 +f 365/633/235 368/637/238 369/634/236 +f 365/633/235 367/2324/276 370/636/237 +f 368/638/238 371/642/241 372/639/239 +f 368/638/238 370/2325/237 373/641/240 +f 371/643/241 374/647/243 375/644/242 +f 373/646/240 376/2326/245 374/647/243 +f 374/648/243 377/652/246 378/649/244 +f 376/651/245 379/2327/173 377/652/246 +f 377/653/246 380/657/249 381/654/247 +f 377/653/246 379/2328/173 382/656/248 +f 380/658/249 383/662/211 384/659/212 +f 382/661/248 385/2329/185 383/662/211 +f 383/663/211 386/667/210 387/664/51 +f 383/663/211 385/2330/185 388/666/190 +f 386/668/210 389/672/208 390/669/209 +f 388/671/190 391/2331/193 389/672/208 +f 389/673/208 392/677/139 393/674/250 +f 391/676/193 394/2332/141 392/677/139 +f 393/678/250 392/682/139 395/679/142 +f 394/681/141 397/2333/143 395/679/142 +f 396/683/251 395/687/142 398/684/144 +f 397/686/143 400/2334/145 398/684/144 +f 398/688/144 401/692/253 402/689/252 +f 400/691/145 403/2335/255 401/692/253 +f 401/693/253 404/697/256 405/694/254 +f 403/696/255 406/2336/140 404/697/256 +f 405/698/254 404/701/256 407/699/257 +f 404/701/256 406/2337/140 409/702/259 +f 407/703/257 410/707/51 411/704/3 +f 407/703/257 409/2338/259 412/706/4 +f 415/708/260 413/712/37 412/709/4 +f 415/708/260 416/855/295 414/711/1 +f 406/713/140 417/717/262 415/714/260 +f 418/716/261 416/851/295 415/714/260 +f 419/718/263 417/722/262 406/719/140 +f 419/718/263 420/846/290 418/721/261 +f 421/723/168 419/727/263 403/724/255 +f 422/726/169 420/845/290 419/727/263 +f 423/728/170 421/732/168 400/729/145 +f 424/731/22 422/2339/169 421/732/168 +f 394/733/141 425/737/171 423/734/170 +f 426/736/172 424/2340/22 423/734/170 +f 427/738/192 425/742/171 394/739/141 +f 428/741/264 426/831/172 425/742/171 +f 429/743/189 427/747/192 391/744/193 +f 429/743/189 430/2341/265 428/746/264 +f 385/748/185 431/751/186 429/749/189 +f 431/751/186 432/2342/289 430/752/265 +f 433/753/266 431/757/186 385/754/185 +f 434/756/267 432/817/289 431/757/186 +f 379/758/173 435/761/268 433/759/266 +f 435/761/268 436/810/270 434/762/267 +f 376/763/245 437/766/269 435/764/268 +f 437/766/269 438/807/272 436/767/270 +f 439/768/271 437/772/269 376/769/245 +f 439/768/271 440/803/274 438/771/272 +f 370/773/237 441/776/273 439/774/271 +f 441/776/273 442/2343/232 440/777/274 +f 443/778/275 441/782/273 370/779/237 +f 443/778/275 445/2344/277 442/781/232 +f 446/783/5 445/789/277 443/784/275 +f 363/786/234 444/785/175 443/784/275 +f 448/788/138 447/794/279 445/789/277 +f 445/790/277 447/796/279 450/791/278 +f 515/793/209 449/917/280 447/794/279 +f 449/795/280 451/911/281 450/791/278 +f 450/797/278 452/801/282 440/798/274 +f 451/800/281 453/906/283 452/801/282 +f 452/802/282 454/805/284 438/771/272 +f 453/804/283 455/903/303 454/805/284 +f 454/806/284 456/809/286 436/767/270 +f 454/806/284 455/2345/303 457/808/285 +f 436/810/270 456/812/286 458/811/287 +f 456/812/286 457/2346/285 459/813/288 +f 458/814/287 460/892/231 432/815/289 +f 459/816/288 461/815/217 460/817/231 +f 432/818/289 460/822/231 462/819/230 +f 461/821/217 463/888/216 462/819/230 +f 430/823/265 462/826/230 464/824/229 +f 462/826/230 463/884/216 465/827/219 +f 464/828/229 466/881/174 426/829/172 +f 465/830/219 467/829/135 466/831/174 +f 466/832/174 468/836/176 424/833/22 +f 467/835/135 469/877/177 468/836/176 +f 424/837/22 468/840/176 470/838/178 +f 468/840/176 469/872/177 471/841/132 +f 470/842/178 472/870/291 420/843/290 +f 471/844/132 473/843/299 472/845/291 +f 420/846/290 472/848/291 474/847/292 +f 472/848/291 473/2347/299 475/849/293 +f 418/716/261 474/852/292 476/850/294 +f 474/852/292 475/2348/293 477/853/296 +f 476/854/294 478/857/22 414/711/1 +f 477/856/296 479/859/2 478/857/22 +f 477/856/296 481/860/297 480/858/65 +f 408/705/258 411/704/3 480/858/65 +f 475/861/293 482/864/298 481/862/297 +f 482/864/298 405/698/254 408/700/258 +f 473/865/299 483/868/300 482/866/298 +f 483/868/300 402/695/252 405/694/254 +f 484/869/130 483/871/300 473/870/299 +f 484/869/130 399/690/131 402/689/252 +f 469/872/177 485/874/133 484/873/130 +f 485/874/133 396/2349/251 399/875/131 +f 486/876/136 485/879/133 469/877/177 +f 486/876/136 393/2350/250 396/878/251 +f 487/880/218 486/882/136 467/881/135 +f 487/880/218 390/675/209 393/674/250 +f 488/883/214 487/886/218 465/827/219 +f 488/883/214 387/2351/51 390/885/209 +f 489/887/215 488/890/214 463/888/216 +f 489/887/215 384/2352/212 387/889/51 +f 490/891/301 489/893/215 461/892/217 +f 381/660/247 384/659/212 489/893/215 +f 491/894/302 490/897/301 459/895/288 +f 491/894/302 378/655/244 381/654/247 +f 455/898/303 492/901/304 491/899/302 +f 375/650/242 378/649/244 491/899/302 +f 493/902/305 492/904/304 455/903/303 +f 372/645/239 375/644/242 492/904/304 +f 451/800/281 494/2353/306 493/905/305 +f 494/907/306 369/2354/236 372/908/239 +f 449/795/280 495/2355/307 494/910/306 +f 495/912/307 366/2356/6 369/913/236 +f 364/632/193 366/631/6 495/915/307 +f 515/793/209 496/916/208 495/915/307 +f 497/918/210 361/626/190 364/627/193 +f 516/920/51 497/918/210 496/919/208 +f 498/922/211 354/621/185 361/622/190 +f 498/922/211 497/923/210 516/924/51 +f 498/926/211 499/928/212 500/927/3 +f 499/928/212 501/933/215 502/929/213 +f 499/930/212 516/2357/51 504/931/308 +f 501/933/215 503/941/217 509/934/5 +f 501/932/215 504/931/308 505/935/309 +f 503/936/217 505/935/309 506/937/310 +f 507/938/231 506/937/310 360/939/233 +f 503/941/217 507/943/231 508/942/232 +f 507/943/231 358/2358/1 356/944/1 +f 516/945/51 515/2359/209 514/946/311 +f 517/947/311 514/946/311 513/948/312 +f 518/949/312 513/948/312 512/950/313 +f 510/952/314 519/951/313 512/950/313 +f 522/954/315 645/957/431 521/955/65 +f 525/957/316 522/959/315 520/958/2 +f 526/959/317 525/1396/316 523/960/22 +f 525/961/316 526/2360/317 528/962/318 +f 522/964/315 525/961/316 527/963/319 +f 527/966/319 528/2361/318 531/967/321 +f 529/969/320 527/966/319 530/968/322 +f 531/971/321 534/2362/326 533/972/324 +f 530/973/322 533/972/324 535/974/325 +f 534/976/326 537/980/329 536/977/327 +f 533/979/324 536/1171/327 538/980/328 +f 537/981/329 540/2363/502 539/982/330 +f 538/984/328 536/983/327 539/982/330 +f 539/986/330 540/2364/502 543/987/332 +f 539/986/330 542/988/333 544/989/334 +f 542/991/333 543/2365/332 546/992/335 +f 542/991/333 545/993/336 547/994/337 +f 546/996/335 549/1000/498 548/997/338 +f 545/999/336 548/1154/338 550/1000/339 +f 548/1001/338 549/1363/498 552/1002/340 +f 548/1001/338 551/1003/341 736/1004/342 +f 554/1006/343 556/1359/348 555/1007/344 +f 553/1008/345 555/1007/344 557/1009/346 +f 556/1011/348 559/1015/351 558/1012/349 +f 555/1014/344 558/1134/349 560/1015/350 +f 559/1016/351 562/1352/493 561/1017/352 +f 558/1018/349 561/1017/352 563/1019/353 +f 735/1021/354 743/1024/355 742/1022/355 +f 743/1024/355 740/2366/570 741/1025/356 +f 565/1026/357 568/1344/362 567/1027/358 +f 564/1028/359 567/1027/358 569/1029/360 +f 568/1031/362 571/1035/487 570/1032/363 +f 567/1034/358 570/1114/363 572/1035/364 +f 570/1036/363 571/2367/487 574/1037/365 +f 572/1039/364 570/1036/363 573/1038/366 +f 573/1041/366 574/2368/365 577/1042/368 +f 575/1044/367 573/1041/366 576/1043/369 +f 576/1046/369 577/2369/368 580/1047/371 +f 578/1049/370 576/1046/369 579/1048/372 +f 580/1051/371 583/1055/376 582/1052/374 +f 581/1051/373 579/1096/372 582/1054/374 +f 583/1056/376 586/1322/379 585/1057/377 +f 584/1059/375 582/1058/374 585/1057/377 +f 586/1061/379 589/1318/382 588/1062/380 +f 585/1063/377 588/1062/380 590/1064/381 +f 589/1066/382 592/1314/385 591/1067/383 +f 588/1068/380 591/1067/383 593/1069/384 +f 592/1071/385 595/1075/6 594/1072/187 +f 591/1074/383 594/1077/187 596/1075/1 +f 599/1074/386 593/2370/384 596/1076/1 +f 599/1078/386 597/1305/232 598/1079/5 +f 590/1081/381 593/2371/384 599/1082/386 +f 601/1083/388 599/1082/386 600/1084/387 +f 587/1086/378 590/2372/381 601/1087/388 +f 603/1088/390 601/1087/388 602/1089/389 +f 605/1091/392 584/2373/375 587/1092/378 +f 605/1091/392 603/1093/390 604/1094/391 +f 607/1096/394 581/2374/373 584/1097/375 +f 607/1098/394 605/1286/392 606/1099/393 +f 578/1049/370 581/1050/373 607/1101/394 +f 609/1102/396 607/1101/394 608/1103/395 +f 611/1105/398 575/1044/367 578/1045/370 +f 611/1105/398 609/1106/396 610/1107/397 +f 613/1109/400 572/1039/364 575/1040/367 +f 613/1109/400 611/1110/398 612/1111/399 +f 615/1034/402 569/2375/360 572/1113/364 +f 615/1115/402 613/1267/400 614/1116/401 +f 617/1118/404 566/2376/361 569/1119/360 +f 618/1121/405 617/1118/404 615/1120/402 +f 619/1123/406 563/2377/353 566/1124/361 +f 620/1126/407 619/1123/406 617/1125/404 +f 621/1128/408 560/2378/350 563/1129/353 +f 621/1128/408 619/1130/406 620/1131/407 +f 623/1014/410 557/2379/346 560/1133/350 +f 623/1135/410 621/1248/408 622/1136/409 +f 625/1138/412 739/2380/347 557/1139/346 +f 625/1138/412 623/1140/410 624/1141/411 +f 627/1143/414 736/2381/342 739/1144/347 +f 627/1143/414 625/1145/412 626/1146/413 +f 629/1148/416 550/2382/339 736/1149/342 +f 629/1148/416 627/1150/414 628/1151/415 +f 631/999/418 547/2383/337 550/1153/339 +f 631/1155/418 629/1229/416 630/1156/417 +f 633/1158/420 544/995/334 547/994/337 +f 634/1160/421 633/1158/420 631/1159/418 +f 541/990/331 544/989/334 633/1162/420 +f 636/1164/423 635/1163/422 633/1162/420 +f 538/984/328 541/985/331 635/1166/422 +f 637/1167/424 635/1166/422 636/1168/423 +f 535/1170/325 538/2384/328 637/1171/424 +f 639/1172/425 637/1210/424 638/1173/5 +f 641/1175/427 532/975/323 535/974/325 +f 641/1175/427 639/1176/425 640/1177/426 +f 529/969/320 532/970/323 641/1179/427 +f 644/1181/430 643/1180/429 641/1179/427 +f 522/964/315 529/965/320 643/1183/429 +f 646/1185/432 645/1184/431 643/1183/429 +f 645/1187/431 646/2385/432 647/1188/3 +f 646/1190/432 648/1187/434 649/1189/51 +f 646/1192/432 644/2386/430 651/1193/433 +f 648/1195/434 650/1190/436 723/1191/4 +f 648/1194/434 651/1193/433 652/1197/435 +f 644/1199/430 642/2387/428 653/1200/437 +f 651/1201/433 653/1200/437 654/1202/438 +f 653/1204/437 642/2388/428 640/1205/426 +f 653/1204/437 655/1206/439 656/1207/440 +f 640/1209/426 638/1212/5 657/1210/441 +f 655/1211/439 657/1380/441 658/1212/442 +f 657/1213/441 638/2389/5 636/1214/423 +f 658/1216/442 657/1213/441 659/1215/443 +f 659/1218/443 636/2390/423 634/1219/421 +f 660/1221/444 659/1218/443 661/1220/445 +f 661/1223/445 634/2391/421 632/1224/419 +f 661/1223/445 663/1225/447 664/1226/448 +f 663/1155/447 632/1231/419 630/1228/417 +f 663/1230/447 665/1365/449 666/1228/450 +f 630/1232/417 628/2392/415 667/1233/451 +f 666/1235/450 665/1234/449 667/1233/451 +f 628/1237/415 626/2393/413 669/1238/453 +f 668/1240/452 667/1239/451 669/1238/453 +f 669/1242/453 626/2394/413 624/1243/411 +f 670/1245/454 669/1242/453 671/1244/455 +f 671/1135/455 624/1250/411 622/1247/409 +f 671/1249/455 673/1354/457 674/1247/458 +f 673/1251/457 622/2395/409 620/1252/407 +f 673/1251/457 675/1253/459 730/1254/460 +f 675/1256/459 620/2396/407 618/1257/405 +f 675/1256/459 676/1258/461 731/1259/462 +f 676/1261/461 618/2397/405 616/1262/403 +f 676/1261/461 677/1263/463 678/1264/464 +f 677/1115/463 616/1269/403 614/1266/401 +f 677/1268/463 679/1339/465 680/1266/466 +f 679/1270/465 614/2398/401 612/1271/399 +f 679/1270/465 681/1272/467 682/1273/468 +f 681/1275/467 612/2399/399 610/1276/397 +f 681/1275/467 683/1277/469 684/1278/470 +f 683/1280/469 610/2400/397 608/1281/395 +f 683/1280/469 685/1282/471 686/1283/472 +f 608/1285/395 606/1288/393 687/1286/473 +f 685/1287/471 687/1324/473 688/1288/474 +f 687/1289/473 606/2401/393 604/1290/391 +f 687/1289/473 689/1291/475 690/1292/101 +f 689/1294/475 604/2402/391 602/1295/389 +f 689/1294/475 691/1296/476 692/1297/102 +f 691/1299/476 602/2403/389 600/1300/387 +f 691/1299/476 693/1301/477 694/1302/478 +f 693/1078/477 600/1307/387 598/1304/5 +f 693/1306/477 695/1309/213 696/1304/3 +f 698/1306/479 694/1310/478 696/1308/3 +f 592/1310/385 698/1073/479 697/1072/111 +f 699/1311/480 692/2404/102 694/1312/478 +f 589/1066/382 699/1311/480 698/1313/479 +f 700/1315/481 690/2405/101 692/1316/102 +f 586/1061/379 700/1315/481 699/1317/480 +f 701/1319/482 688/2406/474 690/1320/101 +f 583/1056/376 701/1319/482 700/1321/481 +f 702/1287/483 686/1325/472 688/1323/474 +f 580/1325/371 702/1053/483 701/1052/482 +f 703/1326/484 684/1284/470 686/1283/472 +f 577/1328/368 703/1326/484 702/1327/483 +f 704/1330/485 682/1279/468 684/1278/470 +f 574/1332/365 704/1330/485 703/1331/484 +f 680/1274/466 682/1273/468 704/1334/485 +f 571/1336/487 705/1335/486 704/1334/485 +f 706/1268/488 678/1340/464 680/1338/466 +f 706/1033/488 705/1032/486 571/1338/487 +f 731/1341/462 678/2407/464 706/1342/488 +f 707/1343/489 706/1342/488 568/1344/362 +f 734/1345/490 737/1348/490 739/1346/347 +f 734/1345/490 735/1021/354 738/1023/354 +f 674/1349/458 730/2408/460 708/1350/491 +f 709/1351/492 708/1350/491 562/1352/493 +f 710/1249/494 672/1355/456 674/1353/458 +f 556/1355/348 710/1013/494 709/1012/492 +f 711/1356/495 670/2409/454 672/1357/456 +f 711/1356/495 710/1358/494 556/1359/348 +f 713/1360/496 666/2410/450 668/1361/452 +f 549/1363/498 713/1360/496 712/1362/497 +f 664/1364/448 666/1366/450 713/1365/496 +f 714/998/499 713/997/496 549/1366/498 +f 715/1367/500 662/1227/446 664/1226/448 +f 543/1369/332 715/1367/500 714/1368/499 +f 716/1371/501 660/1221/444 662/1222/446 +f 540/1373/502 716/1371/501 715/1372/500 +f 658/1216/442 660/1217/444 716/1375/501 +f 537/1377/329 717/1376/503 716/1375/501 +f 656/1379/440 658/1381/442 717/1380/503 +f 718/978/504 717/977/503 537/1381/329 +f 719/1382/505 654/1208/438 656/1207/440 +f 719/1382/505 718/1383/504 534/1384/326 +f 652/1203/435 654/1202/438 719/1386/505 +f 720/1387/506 719/1386/505 531/1388/321 +f 650/1198/436 652/1197/435 720/1390/506 +f 526/1392/317 721/1391/507 720/1390/506 +f 650/1394/436 721/1195/507 722/1196/37 +f 721/1396/507 526/1394/317 524/1395/1 +f 725/1397/508 728/1405/508 727/1398/509 +f 724/1399/510 727/1398/509 729/1400/511 +f 730/1402/460 731/2411/462 732/1403/513 +f 733/1404/513 732/1403/513 728/1405/508 +f 747/1406/514 750/1420/518 745/1407/87 +f 748/1409/515 747/1406/514 744/1408/2 +f 778/1411/516 749/1472/517 747/1412/514 +f 749/1414/517 751/1514/519 750/1415/518 +f 751/1417/519 753/1513/521 752/1418/520 +f 750/1420/518 752/1425/520 755/1421/106 +f 753/1422/521 791/1512/549 754/1423/522 +f 752/1425/520 754/1427/522 756/1426/3 +f 754/1427/522 759/1429/523 757/1428/102 +f 759/1429/523 761/1440/525 758/1430/101 +f 760/1431/524 762/1510/526 761/1432/525 +f 754/1434/522 791/1511/549 760/1435/524 +f 762/1437/526 764/1509/528 763/1438/527 +f 761/1440/525 763/2412/527 766/1441/4 +f 764/1442/528 792/1508/533 765/1443/529 +f 763/1445/527 765/1448/529 767/1446/96 +f 765/1448/529 770/1450/530 768/1449/95 +f 770/1450/530 772/1461/532 769/1451/1 +f 771/1452/531 773/1506/537 772/1453/532 +f 792/1455/533 771/1507/531 770/1456/530 +f 772/1458/532 773/1469/537 775/1459/534 +f 772/1461/532 774/1466/535 776/1462/93 +f 775/1463/534 778/1468/516 748/1464/515 +f 774/1466/535 748/1409/515 746/1410/88 +f 777/1467/536 779/1474/538 778/1468/516 +f 773/1469/537 790/1504/548 777/1470/536 +f 779/1471/538 780/1476/539 749/1472/517 +f 771/1452/531 789/1501/541 790/1503/548 +f 792/1455/533 782/1477/540 789/1479/541 +f 764/1442/528 788/1480/542 782/1482/540 +f 787/1498/547 788/1500/542 764/1509/528 +f 786/1495/546 787/1497/547 762/1510/526 +f 791/1511/549 785/1492/545 786/1494/546 +f 784/1489/544 785/1491/545 791/1512/549 +f 783/1486/543 784/1488/544 753/1513/521 +f 780/1483/539 783/1485/543 751/1514/519 +f 794/1515/6 796/1518/187 795/1516/186 +f 796/1518/187 798/2413/1 797/1519/550 +f 798/1520/1 800/1523/232 799/1521/231 +f 800/1523/232 802/1525/5 801/1524/217 +f 802/1525/5 804/1527/213 803/1526/215 +f 804/1527/213 806/1529/3 805/1528/212 +f 806/1529/3 808/1531/111 807/1530/211 +f 808/1531/111 794/1515/6 793/1517/185 +f 801/1532/217 813/1545/216 812/1533/230 +f 815/1535/51 816/1565/210 824/1536/208 +f 805/1538/212 807/1546/211 816/1539/210 +f 795/1541/186 797/2414/550 811/1542/551 +f 803/1544/215 814/1552/214 813/1545/216 +f 807/1546/211 793/1548/185 809/1547/190 +f 793/1548/185 795/1541/186 810/1543/189 +f 797/1549/550 799/1534/231 812/1533/230 +f 805/1551/212 815/2415/51 814/1552/214 +f 821/1553/219 829/1581/123 828/1554/121 +f 813/1556/216 814/1567/214 822/1557/218 +f 811/1559/551 812/1568/230 820/1560/229 +f 809/1562/190 810/1569/189 818/1563/192 +f 809/1562/190 817/1564/193 824/1536/208 +f 815/1566/51 823/2416/209 822/1557/218 +f 813/1556/216 821/1558/219 820/1560/229 +f 810/1569/189 811/2417/551 819/1570/552 +f 825/1571/151 833/1605/149 840/1572/165 +f 819/1574/552 827/2418/553 826/1575/150 +f 824/1577/208 832/1586/163 831/1578/164 +f 822/1580/218 830/1587/181 829/1581/123 +f 820/1555/229 828/1554/121 827/1582/553 +f 818/1576/192 826/1575/150 825/1584/151 +f 817/1585/193 825/1584/151 832/1586/163 +f 823/1579/209 831/1578/164 830/1587/181 +f 835/1588/554 836/1618/124 844/1589/127 +f 830/1591/181 831/2419/164 839/1592/37 +f 829/1594/123 837/1602/126 836/1595/124 +f 826/1597/150 827/2420/553 835/1598/554 +f 832/1573/163 840/1572/165 839/1600/37 +f 829/1594/123 830/1591/181 838/1593/180 +f 827/1603/553 828/1596/121 836/1595/124 +f 826/1597/150 834/1599/148 833/1605/149 +f 847/1606/167 848/1633/166 856/1607/187 +f 834/1609/148 842/1620/146 841/1610/147 +f 833/1611/149 841/1610/147 848/1612/166 +f 838/1614/180 839/2421/37 847/1615/167 +f 837/1617/126 845/1623/129 844/1589/127 +f 834/1609/148 835/2422/554 843/1619/555 +f 840/1613/165 848/1612/166 847/1621/167 +f 837/1617/126 838/1614/180 846/1616/179 +f 846/1624/179 854/1634/232 853/1625/5 +f 844/1627/127 852/1635/213 851/1628/3 +f 842/1630/146 850/1637/111 849/1631/6 +f 841/1632/147 849/1631/6 856/1607/187 +f 846/1624/179 847/1606/167 855/1608/1 +f 845/1626/129 853/1625/5 852/1635/213 +f 843/1636/555 851/2423/3 850/1637/111 +f 859/269/107 864/2282/107 858/270/107 +f 862/272/108 859/2283/108 857/273/108 +f 863/275/109 862/2284/109 860/276/109 +f 864/278/6 859/2285/6 862/279/6 +f 864/281/110 863/2286/110 861/282/110 +f 867/269/107 872/2282/107 866/270/107 +f 870/272/108 867/2283/108 865/273/108 +f 871/275/109 870/2284/109 868/276/109 +f 872/278/6 867/2285/6 870/279/6 +f 872/281/110 871/2286/110 869/282/110 +f 875/39/1 880/2264/1 874/40/1 +f 878/42/4 875/39/4 873/41/4 +f 879/44/3 878/42/3 876/43/3 +f 880/46/6 875/39/6 878/42/6 +f 880/48/2 879/44/2 877/45/2 +f 883/39/1 888/2264/1 882/40/1 +f 886/42/4 883/39/4 881/41/4 +f 887/44/3 886/42/3 884/43/3 +f 888/46/6 883/39/6 886/42/6 +f 888/48/2 887/44/2 885/45/2 +f 891/39/1 896/2264/1 890/40/1 +f 894/42/4 891/39/4 889/41/4 +f 895/44/3 894/42/3 892/43/3 +f 896/46/6 891/39/6 894/42/6 +f 896/48/2 895/44/2 893/45/2 +f 900/1638/6 902/2424/6 898/1639/6 +f 900/1638/2 897/1640/2 899/1641/2 +f 898/1639/4 902/2424/4 903/1643/4 +f 899/1641/5 904/2425/5 903/1645/5 +f 908/1638/6 910/2424/6 906/1639/6 +f 908/1638/2 905/1640/2 907/1641/2 +f 906/1639/4 910/2424/4 911/1643/4 +f 907/1641/5 912/2425/5 911/1645/5 +f 916/1638/6 918/2424/6 914/1639/6 +f 916/1638/2 913/1640/2 915/1641/2 +f 914/1639/4 918/2424/4 919/1643/4 +f 915/1641/5 920/2425/5 919/1645/5 +f 924/1638/6 926/2424/6 922/1639/6 +f 924/1638/2 921/1640/2 923/1641/2 +f 922/1639/4 926/2424/4 927/1643/4 +f 923/1641/5 928/2425/5 927/1645/5 +f 932/1638/6 934/2424/6 930/1639/6 +f 932/1638/2 929/1640/2 931/1641/2 +f 930/1639/4 934/2424/4 935/1643/4 +f 931/1641/5 936/2425/5 935/1645/5 +f 940/1638/6 942/2424/6 938/1639/6 +f 940/1638/1 937/1640/1 939/1641/1 +f 938/1639/3 942/2424/3 943/1643/3 +f 939/1641/5 944/2425/5 943/1645/5 +f 948/1638/6 950/2424/6 946/1639/6 +f 948/1638/1 945/1640/1 947/1641/1 +f 946/1639/3 950/2424/3 951/1643/3 +f 947/1641/5 952/2425/5 951/1645/5 +f 956/1638/6 958/2424/6 954/1639/6 +f 956/1638/1 953/1640/1 955/1641/1 +f 954/1639/3 958/2424/3 959/1643/3 +f 955/1641/5 960/2425/5 959/1645/5 +f 964/1638/6 966/2424/6 962/1639/6 +f 964/1638/1 961/1640/1 963/1641/1 +f 962/1639/3 966/2424/3 967/1643/3 +f 963/1641/5 968/2425/5 967/1645/5 +f 972/1638/6 974/2424/6 970/1639/6 +f 972/1638/1 969/1640/1 971/1641/1 +f 970/1639/3 974/2424/3 975/1643/3 +f 971/1641/5 976/2425/5 975/1645/5 +f 980/1638/6 982/2424/6 978/1639/6 +f 980/1638/4 977/1640/4 979/1641/4 +f 978/1639/2 982/2424/2 983/1643/2 +f 979/1641/5 984/2425/5 983/1645/5 +f 988/1638/6 990/2424/6 986/1639/6 +f 988/1638/4 985/1640/4 987/1641/4 +f 986/1639/2 990/2424/2 991/1643/2 +f 987/1641/5 992/2425/5 991/1645/5 +f 996/1638/6 998/2424/6 994/1639/6 +f 996/1638/4 993/1640/4 995/1641/4 +f 994/1639/2 998/2424/2 999/1643/2 +f 995/1641/5 1000/2425/5 999/1645/5 +f 1004/1638/6 1006/2424/6 1002/1639/6 +f 1004/1638/4 1001/1640/4 1003/1641/4 +f 1002/1639/2 1006/2424/2 1007/1643/2 +f 1003/1641/5 1008/2425/5 1007/1645/5 +f 1012/1638/6 1014/2424/6 1010/1639/6 +f 1012/1638/4 1009/1640/4 1011/1641/4 +f 1010/1639/2 1014/2424/2 1015/1643/2 +f 1011/1641/5 1016/2425/5 1015/1645/5 +f 1020/1638/6 1022/2424/6 1018/1639/6 +f 1020/1638/3 1017/1640/3 1019/1641/3 +f 1018/1639/1 1022/2424/1 1023/1643/1 +f 1019/1641/5 1024/2425/5 1023/1645/5 +f 1028/1638/6 1030/2424/6 1026/1639/6 +f 1028/1638/3 1025/1640/3 1027/1641/3 +f 1026/1639/1 1030/2424/1 1031/1643/1 +f 1027/1641/5 1032/2425/5 1031/1645/5 +f 1036/1638/6 1038/2424/6 1034/1639/6 +f 1036/1638/3 1033/1640/3 1035/1641/3 +f 1034/1639/1 1038/2424/1 1039/1643/1 +f 1035/1641/5 1040/2425/5 1039/1645/5 +f 1044/1638/6 1046/2424/6 1042/1639/6 +f 1044/1638/3 1041/1640/3 1043/1641/3 +f 1042/1639/1 1046/2424/1 1047/1643/1 +f 1043/1641/5 1048/2425/5 1047/1645/5 +f 1052/1638/6 1054/2424/6 1050/1639/6 +f 1052/1638/3 1049/1640/3 1051/1641/3 +f 1050/1639/1 1054/2424/1 1055/1643/1 +f 1051/1641/5 1056/2425/5 1055/1645/5 +f 1059/1646/232 1064/1654/232 1058/1647/232 +f 1060/1649/4 1062/1655/4 1059/1650/4 +f 1063/1652/111 1062/1655/111 1060/1649/111 +f 1064/1654/2 1063/1652/2 1061/1653/2 +f 1067/1646/187 1072/1654/187 1066/1647/187 +f 1068/1649/4 1070/1655/4 1067/1650/4 +f 1071/1652/213 1070/1655/213 1068/1649/213 +f 1072/1654/2 1071/1652/2 1069/1653/2 +f 1075/1646/232 1080/1654/232 1074/1647/232 +f 1076/1649/4 1078/1655/4 1075/1650/4 +f 1079/1652/111 1078/1655/111 1076/1649/111 +f 1080/1654/2 1079/1652/2 1077/1653/2 +f 1083/1646/187 1088/1654/187 1082/1647/187 +f 1084/1649/4 1086/1655/4 1083/1650/4 +f 1087/1652/213 1086/1655/213 1084/1649/213 +f 1082/1647/2 1088/1654/2 1087/1652/2 +f 1091/1646/232 1096/1654/232 1090/1647/232 +f 1092/1649/4 1094/1655/4 1091/1650/4 +f 1095/1652/111 1094/1655/111 1092/1649/111 +f 1096/1654/2 1095/1652/2 1093/1653/2 +f 1099/1646/187 1104/1654/187 1098/1647/187 +f 1100/1649/4 1102/1655/4 1099/1650/4 +f 1103/1652/213 1102/1655/213 1100/1649/213 +f 1104/1654/2 1103/1652/2 1101/1653/2 +f 1107/1646/232 1112/1654/232 1106/1647/232 +f 1110/1655/4 1107/1650/4 1105/1651/4 +f 1111/1652/111 1110/1655/111 1108/1649/111 +f 1112/1654/2 1111/1652/2 1109/1653/2 +f 1115/1646/187 1120/1654/187 1114/1647/187 +f 1118/1655/4 1115/1650/4 1113/1651/4 +f 1119/1652/213 1118/1655/213 1116/1649/213 +f 1120/1654/2 1119/1652/2 1117/1653/2 +f 1123/1646/138 1128/1654/138 1122/1647/138 +f 1126/1655/3 1123/1650/3 1121/1651/3 +f 1127/1652/173 1126/1655/173 1124/1649/173 +f 1128/1654/1 1127/1652/1 1125/1653/1 +f 1131/1646/140 1136/1654/140 1130/1647/140 +f 1134/1655/3 1131/1650/3 1129/1651/3 +f 1135/1652/175 1134/1655/175 1132/1649/175 +f 1136/1654/1 1135/1652/1 1133/1653/1 +f 1137/1648/138 1139/1646/138 1144/1654/138 +f 1142/1655/3 1139/1650/3 1137/1651/3 +f 1143/1652/173 1142/1655/173 1140/1649/173 +f 1144/1654/1 1143/1652/1 1141/1653/1 +f 1147/1646/140 1152/1654/140 1146/1647/140 +f 1150/1655/3 1147/1650/3 1145/1651/3 +f 1151/1652/175 1150/1655/175 1148/1649/175 +f 1152/1654/1 1151/1652/1 1149/1653/1 +f 1155/1646/138 1160/1654/138 1154/1647/138 +f 1158/1655/3 1155/1650/3 1153/1651/3 +f 1159/1652/173 1158/1655/173 1156/1649/173 +f 1160/1654/1 1159/1652/1 1157/1653/1 +f 1163/1646/140 1168/1654/140 1162/1647/140 +f 1164/1649/3 1166/1655/3 1163/1650/3 +f 1167/1652/175 1166/1655/175 1164/1649/175 +f 1168/1654/1 1167/1652/1 1165/1653/1 +f 1171/1646/138 1176/1654/138 1170/1647/138 +f 1172/1649/3 1174/1655/3 1171/1650/3 +f 1175/1652/173 1174/1655/173 1172/1649/173 +f 1176/1654/1 1175/1652/1 1173/1653/1 +f 1179/1646/140 1184/1654/140 1178/1647/140 +f 1180/1649/3 1182/1655/3 1179/1650/3 +f 1183/1652/175 1182/1655/175 1180/1649/175 +f 1184/1654/1 1183/1652/1 1181/1653/1 +f 1187/1646/213 1192/1654/213 1186/1647/213 +f 1188/1649/2 1190/1655/2 1187/1650/2 +f 1191/1652/187 1190/1655/187 1188/1649/187 +f 1186/1647/4 1192/1654/4 1191/1652/4 +f 1195/1646/111 1200/1654/111 1194/1647/111 +f 1196/1649/2 1198/1655/2 1195/1650/2 +f 1199/1652/232 1198/1655/232 1196/1649/232 +f 1200/1654/4 1199/1652/4 1197/1653/4 +f 1203/1646/213 1208/1654/213 1202/1647/213 +f 1204/1649/2 1206/1655/2 1203/1650/2 +f 1207/1652/187 1206/1655/187 1204/1649/187 +f 1208/1654/4 1207/1652/4 1205/1653/4 +f 1211/1646/111 1216/1654/111 1210/1647/111 +f 1212/1649/2 1214/1655/2 1211/1650/2 +f 1215/1652/232 1214/1655/232 1212/1649/232 +f 1216/1654/4 1215/1652/4 1213/1653/4 +f 1219/1646/213 1224/1654/213 1218/1647/213 +f 1220/1649/2 1222/1655/2 1219/1650/2 +f 1223/1652/187 1222/1655/187 1220/1649/187 +f 1224/1654/4 1223/1652/4 1221/1653/4 +f 1227/1646/111 1232/1654/111 1226/1647/111 +f 1230/1655/2 1227/1650/2 1225/1651/2 +f 1229/1653/232 1231/1652/232 1230/1655/232 +f 1232/1654/4 1231/1652/4 1229/1653/4 +f 1235/1646/213 1240/1654/213 1234/1647/213 +f 1236/1649/2 1238/1655/2 1235/1650/2 +f 1239/1652/187 1238/1655/187 1236/1649/187 +f 1240/1654/4 1239/1652/4 1237/1653/4 +f 1243/1646/111 1248/1654/111 1242/1647/111 +f 1244/1649/2 1246/1655/2 1243/1650/2 +f 1245/1653/232 1247/1652/232 1246/1655/232 +f 1248/1654/4 1247/1652/4 1245/1653/4 +f 1251/1646/175 1256/1654/175 1250/1647/175 +f 1252/1649/1 1254/1655/1 1251/1650/1 +f 1255/1652/140 1254/1655/140 1252/1649/140 +f 1256/1654/3 1255/1652/3 1253/1653/3 +f 1259/1646/173 1264/1654/173 1258/1647/173 +f 1262/1655/1 1259/1650/1 1257/1651/1 +f 1263/1652/138 1262/1655/138 1260/1649/138 +f 1264/1654/3 1263/1652/3 1261/1653/3 +f 1267/1646/175 1272/1654/175 1266/1647/175 +f 1268/1649/1 1270/1655/1 1267/1650/1 +f 1271/1652/140 1270/1655/140 1268/1649/140 +f 1272/1654/3 1271/1652/3 1269/1653/3 +f 1275/1646/173 1280/1654/173 1274/1647/173 +f 1276/1649/1 1278/1655/1 1275/1650/1 +f 1279/1652/138 1278/1655/138 1276/1649/138 +f 1280/1654/3 1279/1652/3 1277/1653/3 +f 1283/1646/175 1288/1654/175 1282/1647/175 +f 1284/1649/1 1286/1655/1 1283/1650/1 +f 1287/1652/140 1286/1655/140 1284/1649/140 +f 1288/1654/3 1287/1652/3 1285/1653/3 +f 1291/1646/173 1296/1654/173 1290/1647/173 +f 1294/1655/1 1291/1650/1 1289/1651/1 +f 1295/1652/138 1294/1655/138 1292/1649/138 +f 1296/1654/3 1295/1652/3 1293/1653/3 +f 1299/1646/175 1304/1654/175 1298/1647/175 +f 1300/1649/1 1302/1655/1 1299/1650/1 +f 1303/1652/140 1302/1655/140 1300/1649/140 +f 1304/1654/3 1303/1652/3 1301/1653/3 +f 1307/1646/173 1312/1654/173 1306/1647/173 +f 1308/1649/1 1310/1655/1 1307/1650/1 +f 1311/1652/138 1310/1655/138 1308/1649/138 +f 1312/1654/3 1311/1652/3 1309/1653/3 +f 1317/1656/5 1316/1664/5 1313/1657/5 +f 1318/1659/4 1315/2426/4 1313/1660/4 +f 1320/1662/6 1315/2426/6 1318/1659/6 +f 1320/1662/2 1319/1663/2 1317/1656/2 +f 1325/1656/5 1324/1664/5 1321/1657/5 +f 1326/1659/4 1323/2426/4 1321/1660/4 +f 1328/1662/6 1323/2426/6 1326/1659/6 +f 1328/1662/2 1327/1663/2 1325/1656/2 +f 1333/1656/5 1332/1664/5 1329/1657/5 +f 1334/1659/4 1331/2426/4 1329/1660/4 +f 1336/1662/6 1331/2426/6 1334/1659/6 +f 1336/1662/2 1335/1663/2 1333/1656/2 +f 1341/1656/5 1340/1664/5 1337/1657/5 +f 1342/1659/3 1339/2426/3 1337/1660/3 +f 1344/1662/6 1339/2426/6 1342/1659/6 +f 1344/1662/1 1343/1663/1 1341/1656/1 +f 1349/1656/5 1348/1664/5 1345/1657/5 +f 1350/1659/3 1347/2426/3 1345/1660/3 +f 1352/1662/6 1347/2426/6 1350/1659/6 +f 1352/1662/1 1351/1663/1 1349/1656/1 +f 1357/1656/5 1356/1664/5 1353/1657/5 +f 1358/1659/3 1355/2426/3 1353/1660/3 +f 1360/1662/6 1355/2426/6 1358/1659/6 +f 1360/1662/1 1359/1663/1 1357/1656/1 +f 1362/1658/5 1365/1656/5 1364/1664/5 +f 1366/1659/2 1363/2426/2 1361/1660/2 +f 1368/1662/6 1363/2426/6 1366/1659/6 +f 1368/1662/4 1367/1663/4 1365/1656/4 +f 1370/1658/5 1373/1656/5 1372/1664/5 +f 1374/1659/2 1371/2426/2 1369/1660/2 +f 1376/1662/6 1371/2426/6 1374/1659/6 +f 1376/1662/4 1375/1663/4 1373/1656/4 +f 1378/1658/5 1381/1656/5 1380/1664/5 +f 1382/1659/2 1379/2426/2 1377/1660/2 +f 1384/1662/6 1379/2426/6 1382/1659/6 +f 1384/1662/4 1383/1663/4 1381/1656/4 +f 1389/1656/5 1388/1664/5 1385/1657/5 +f 1390/1659/1 1387/2426/1 1385/1660/1 +f 1392/1662/6 1387/2426/6 1390/1659/6 +f 1392/1662/3 1391/1663/3 1389/1656/3 +f 1397/1656/5 1396/1664/5 1393/1657/5 +f 1398/1659/1 1395/2426/1 1393/1660/1 +f 1400/1662/6 1395/2426/6 1398/1659/6 +f 1400/1662/3 1399/1663/3 1397/1656/3 +f 1405/1656/5 1404/1664/5 1401/1657/5 +f 1406/1659/1 1403/2426/1 1401/1660/1 +f 1408/1662/6 1403/2426/6 1406/1659/6 +f 1408/1662/3 1407/1663/3 1405/1656/3 +f 1410/1665/6 1412/1668/187 1411/1666/186 +f 1412/1668/187 1414/2427/1 1413/1669/550 +f 1414/1670/1 1416/1673/232 1415/1671/231 +f 1416/1673/232 1418/1675/5 1417/1674/217 +f 1418/1675/5 1420/1677/213 1419/1676/215 +f 1420/1677/213 1422/1679/3 1421/1678/212 +f 1422/1679/3 1424/1681/111 1423/1680/211 +f 1424/1681/111 1410/1665/6 1409/1667/185 +f 1417/1682/217 1429/1695/216 1428/1683/230 +f 1431/1685/51 1432/1715/210 1440/1686/208 +f 1421/1688/212 1423/1696/211 1432/1689/210 +f 1411/1691/186 1413/2428/550 1427/1692/551 +f 1419/1694/215 1430/1702/214 1429/1695/216 +f 1423/1696/211 1409/1698/185 1425/1697/190 +f 1409/1698/185 1411/1691/186 1426/1693/189 +f 1413/1699/550 1415/1684/231 1428/1683/230 +f 1421/1701/212 1431/2429/51 1430/1702/214 +f 1437/1703/219 1445/1731/123 1444/1704/121 +f 1429/1706/216 1430/1717/214 1438/1707/218 +f 1427/1709/551 1428/1718/230 1436/1710/229 +f 1425/1712/190 1426/1719/189 1434/1713/192 +f 1425/1712/190 1433/1714/193 1440/1686/208 +f 1431/1716/51 1439/2430/209 1438/1707/218 +f 1429/1706/216 1437/1708/219 1436/1710/229 +f 1426/1719/189 1427/2431/551 1435/1720/552 +f 1448/1721/163 1441/1755/151 1449/1722/149 +f 1435/1724/552 1443/2432/553 1442/1725/150 +f 1440/1727/208 1448/1736/163 1447/1728/164 +f 1438/1730/218 1446/1737/181 1445/1731/123 +f 1436/1705/229 1444/1704/121 1443/1732/553 +f 1434/1726/192 1442/1725/150 1441/1734/151 +f 1433/1735/193 1441/1734/151 1448/1736/163 +f 1439/1729/209 1447/1728/164 1446/1737/181 +f 1451/1738/554 1452/1767/124 1460/1739/127 +f 1447/1741/164 1455/2433/37 1454/1742/180 +f 1445/1744/123 1453/1752/126 1452/1745/124 +f 1442/1747/150 1443/2434/553 1451/1748/554 +f 1448/1721/163 1456/1723/165 1455/1750/37 +f 1446/1743/181 1454/1742/180 1453/1752/126 +f 1443/1753/553 1444/1746/121 1452/1745/124 +f 1441/1755/151 1442/1747/150 1450/1749/148 +f 1464/1756/166 1472/1783/187 1471/1757/1 +f 1449/1759/149 1450/1769/148 1458/1760/146 +f 1449/1759/149 1457/1761/147 1464/1762/166 +f 1455/1764/37 1463/2435/167 1462/1765/179 +f 1452/1767/124 1453/1773/126 1461/1768/129 +f 1450/1769/148 1451/2436/554 1459/1770/555 +f 1455/1771/37 1456/1763/165 1464/1762/166 +f 1453/1773/126 1454/1766/180 1462/1765/179 +f 1462/1774/179 1470/1784/232 1469/1775/5 +f 1460/1777/127 1468/1785/213 1467/1778/3 +f 1458/1780/146 1466/1787/111 1465/1781/6 +f 1457/1782/147 1465/1781/6 1472/1783/187 +f 1463/1758/167 1471/1757/1 1470/1784/232 +f 1461/1776/129 1469/1775/5 1468/1785/213 +f 1459/1786/555 1467/2437/3 1466/1787/111 +f 1474/1788/6 1476/1791/187 1475/1789/186 +f 1476/1791/187 1478/2438/1 1477/1792/550 +f 1478/1793/1 1480/1796/232 1479/1794/231 +f 1480/1796/232 1482/1798/5 1481/1797/217 +f 1482/1798/5 1484/1800/213 1483/1799/215 +f 1484/1800/213 1486/1802/3 1485/1801/212 +f 1486/1802/3 1488/1804/111 1487/1803/211 +f 1488/1804/111 1474/1788/6 1473/1790/185 +f 1481/1805/217 1493/1818/216 1492/1806/230 +f 1495/1808/51 1496/1838/556 1504/1809/208 +f 1485/1811/212 1487/1819/211 1496/1812/556 +f 1475/1814/186 1477/2439/550 1491/1815/557 +f 1483/1817/215 1494/1825/214 1493/1818/216 +f 1487/1819/211 1473/1821/185 1489/1820/190 +f 1473/1821/185 1475/1814/186 1490/1816/189 +f 1477/1822/550 1479/1807/231 1492/1806/230 +f 1485/1824/212 1495/2440/51 1494/1825/214 +f 1501/1826/219 1509/1854/123 1508/1827/121 +f 1493/1829/216 1494/1839/214 1502/1830/218 +f 1491/1832/557 1492/1841/230 1500/1833/229 +f 1489/1835/190 1490/1842/189 1498/1836/192 +f 1489/1835/190 1497/1837/193 1504/1809/208 +f 1494/1839/214 1495/2441/51 1503/1840/209 +f 1493/1829/216 1501/1831/219 1500/1833/229 +f 1490/1842/189 1491/2442/557 1499/1843/558 +f 1505/1844/151 1513/1878/149 1520/1845/165 +f 1499/1847/558 1507/2443/553 1506/1848/150 +f 1504/1850/208 1512/1859/163 1511/1851/164 +f 1502/1853/218 1510/1860/181 1509/1854/123 +f 1500/1828/229 1508/1827/121 1507/1855/553 +f 1498/1849/192 1506/1848/150 1505/1857/151 +f 1497/1858/193 1505/1857/151 1512/1859/163 +f 1503/1852/209 1511/1851/164 1510/1860/181 +f 1515/1861/554 1516/1891/124 1524/1862/559 +f 1510/1864/181 1511/2444/164 1519/1865/37 +f 1509/1867/123 1517/1875/126 1516/1868/124 +f 1506/1870/150 1507/2445/553 1515/1871/554 +f 1512/1846/163 1520/1845/165 1519/1873/37 +f 1509/1867/123 1510/1864/181 1518/1866/180 +f 1507/1876/553 1508/1869/121 1516/1868/124 +f 1505/1844/151 1506/1870/150 1514/1872/148 +f 1528/1879/166 1536/1906/187 1535/1880/1 +f 1513/1882/149 1514/1892/148 1522/1883/146 +f 1513/1882/149 1521/1884/147 1528/1885/166 +f 1519/1887/37 1527/2446/167 1526/1888/179 +f 1517/1890/126 1525/1896/129 1524/1862/559 +f 1514/1892/148 1515/2447/554 1523/1893/555 +f 1520/1886/165 1528/1885/166 1527/1894/167 +f 1518/1889/180 1526/1888/179 1525/1896/129 +f 1526/1897/179 1534/1907/232 1533/1898/5 +f 1524/1900/559 1532/1908/213 1531/1901/3 +f 1522/1903/146 1530/1910/111 1529/1904/6 +f 1521/1905/147 1529/1904/6 1536/1906/187 +f 1527/1881/167 1535/1880/1 1534/1907/232 +f 1525/1899/129 1533/1898/5 1532/1908/213 +f 1523/1909/555 1531/2448/3 1530/1910/111 +f 1539/1911/185 1683/2226/211 1538/1912/111 +f 1542/1914/186 1539/1911/185 1537/1913/6 +f 1543/1916/560 1542/1914/186 1540/1915/187 +f 1543/1918/560 1545/2449/569 1544/1919/189 +f 1539/1921/185 1542/1920/186 1544/1919/189 +f 1544/1923/189 1545/2450/569 1548/1924/234 +f 1546/1926/190 1544/1923/189 1547/1925/192 +f 1548/1928/234 1552/2451/276 1550/1929/235 +f 1547/1930/192 1550/1929/235 1551/1931/561 +f 1550/1933/235 1553/1937/238 1554/1934/562 +f 1550/1933/235 1552/2452/276 1555/1936/237 +f 1554/1938/562 1553/1941/238 1556/1939/241 +f 1553/1941/238 1555/2453/237 1558/1942/240 +f 1556/1943/241 1559/1947/243 1560/1944/242 +f 1558/1946/240 1561/2454/245 1559/1947/243 +f 1559/1948/243 1562/1952/246 1563/1949/244 +f 1561/1951/245 1564/2455/173 1562/1952/246 +f 1562/1953/246 1565/1957/249 1566/1954/247 +f 1562/1953/246 1564/2456/173 1567/1956/248 +f 1565/1958/249 1568/1962/211 1569/1959/212 +f 1567/1961/248 1570/2457/185 1568/1962/211 +f 1568/1963/211 1571/1967/210 1572/1964/51 +f 1570/1966/185 1573/2458/190 1571/1967/210 +f 1572/1968/51 1571/1971/210 1574/1969/208 +f 1571/1971/210 1573/2459/190 1576/1972/193 +f 1574/1973/208 1577/1977/139 1578/1974/250 +f 1576/1976/193 1579/2460/141 1577/1977/139 +f 1578/1978/250 1577/1982/139 1580/1979/142 +f 1579/1981/141 1582/2461/143 1580/1979/142 +f 1581/1983/251 1580/1987/142 1583/1984/144 +f 1582/1986/143 1585/2462/145 1583/1984/144 +f 1583/1988/144 1586/1992/253 1587/1989/252 +f 1585/1991/145 1588/2463/255 1586/1992/253 +f 1587/1993/252 1586/1996/253 1589/1994/256 +f 1586/1996/253 1588/2464/255 1591/1997/140 +f 1589/1998/256 1592/2002/257 1593/1999/258 +f 1589/1998/256 1591/2465/140 1594/2001/259 +f 1592/2003/257 1595/2007/51 1596/2004/3 +f 1592/2003/257 1594/2466/259 1597/2006/4 +f 1600/2008/260 1598/2012/37 1597/2009/4 +f 1600/2008/260 1601/2155/295 1599/2011/1 +f 1591/2013/140 1602/2016/262 1600/2014/260 +f 1602/2016/262 1603/2150/261 1601/2017/295 +f 1588/2018/255 1604/2021/263 1602/2019/262 +f 1604/2021/263 1605/2147/290 1603/2022/261 +f 1606/2023/168 1604/2027/263 1588/2024/255 +f 1607/2026/169 1605/2145/290 1604/2027/263 +f 1608/2028/170 1606/2032/168 1585/2029/145 +f 1609/2031/22 1607/2467/169 1606/2032/168 +f 1610/2033/171 1608/2037/170 1582/2034/143 +f 1611/2036/172 1609/2468/22 1608/2037/170 +f 1612/2038/192 1610/2042/171 1579/2039/141 +f 1613/2041/564 1611/2131/172 1610/2042/171 +f 1573/2043/190 1614/2046/189 1612/2044/192 +f 1614/2046/189 1615/2469/565 1613/2047/564 +f 1570/2048/185 1616/2051/186 1614/2049/189 +f 1616/2051/186 1617/2470/289 1615/2052/565 +f 1618/2053/266 1616/2057/186 1570/2054/185 +f 1619/2056/267 1617/2117/289 1616/2057/186 +f 1620/2058/268 1618/2062/266 1567/2059/248 +f 1621/2061/270 1619/2111/267 1618/2062/266 +f 1622/2063/269 1620/2067/268 1564/2064/173 +f 1622/2063/269 1623/2106/272 1621/2066/270 +f 1558/2068/240 1624/2071/271 1622/2069/269 +f 1624/2071/271 1625/2103/274 1623/2072/272 +f 1555/2073/237 1626/2076/273 1624/2074/271 +f 1626/2076/273 1627/2471/232 1625/2077/274 +f 1552/2078/276 1628/2081/275 1626/2079/273 +f 1628/2081/275 1630/2472/277 1627/2082/232 +f 1631/2083/5 1630/2089/277 1628/2084/275 +f 1548/2086/234 1629/2085/175 1628/2084/275 +f 1633/2088/138 1632/2094/279 1630/2089/277 +f 1632/2090/279 1635/2096/278 1627/2091/232 +f 1700/2093/209 1634/2217/280 1632/2094/279 +f 1634/2095/280 1636/2211/281 1635/2096/278 +f 1635/2097/278 1637/2101/282 1625/2098/274 +f 1636/2100/281 1638/2206/283 1637/2101/282 +f 1637/2102/282 1639/2105/284 1623/2072/272 +f 1638/2104/283 1640/2203/566 1639/2105/284 +f 1623/2106/272 1639/2109/284 1641/2107/286 +f 1640/2108/566 1642/2473/4 1641/2107/286 +f 1621/2061/270 1641/2112/286 1643/2110/287 +f 1641/2112/286 1642/2474/4 1644/2113/288 +f 1643/2114/287 1645/2192/231 1617/2115/289 +f 1644/2116/288 1646/2115/217 1645/2117/231 +f 1617/2118/289 1645/2122/231 1647/2119/230 +f 1646/2121/217 1648/2188/216 1647/2119/230 +f 1615/2123/565 1647/2127/230 1649/2124/229 +f 1648/2126/216 1650/2184/219 1649/2124/229 +f 1649/2128/229 1651/2181/174 1611/2129/172 +f 1649/2041/229 1650/2130/219 1652/2129/135 +f 1651/2132/174 1653/2136/176 1609/2133/22 +f 1651/2132/174 1652/2176/135 1654/2135/177 +f 1653/2137/176 1655/2141/178 1607/2138/169 +f 1653/2137/176 1654/2172/177 1656/2140/132 +f 1655/2142/178 1657/2170/291 1605/2143/290 +f 1656/2144/132 1658/2143/568 1657/2145/291 +f 1657/2146/291 1659/2149/292 1603/2022/261 +f 1657/2146/291 1658/2475/568 1660/2148/567 +f 1603/2150/261 1659/2152/292 1661/2151/294 +f 1659/2152/292 1660/2476/567 1662/2153/296 +f 1661/2154/294 1663/2157/22 1599/2011/1 +f 1662/2156/296 1664/2159/2 1663/2157/22 +f 1662/2156/296 1666/2160/297 1665/2158/65 +f 1593/2005/258 1596/2004/3 1665/2158/65 +f 1660/2161/567 1667/2164/298 1666/2162/297 +f 1590/2000/254 1593/1999/258 1666/2162/297 +f 1658/2165/568 1668/2168/300 1667/2166/298 +f 1668/2168/300 1587/1993/252 1590/1995/254 +f 1669/2169/130 1668/2171/300 1658/2170/568 +f 1584/1990/131 1587/1989/252 1668/2171/300 +f 1654/2172/177 1670/2174/133 1669/2173/130 +f 1670/2174/133 1581/2477/251 1584/2175/131 +f 1652/2176/135 1671/2178/136 1670/2177/133 +f 1671/2178/136 1578/2478/250 1581/2179/251 +f 1672/2180/218 1671/2182/136 1652/2181/135 +f 1575/1975/209 1578/1974/250 1671/2182/136 +f 1673/2183/214 1672/2186/218 1650/2184/219 +f 1673/2183/214 1572/2479/51 1575/2185/209 +f 1674/2187/215 1673/2190/214 1648/2188/216 +f 1569/2189/212 1572/2480/51 1673/2190/214 +f 1675/2191/301 1674/2193/215 1646/2192/217 +f 1566/1960/247 1569/1959/212 1674/2193/215 +f 1676/2194/302 1675/2197/301 1644/2195/288 +f 1563/1955/244 1566/1954/247 1675/2197/301 +f 1640/2198/566 1677/2201/304 1676/2199/302 +f 1560/1950/242 1563/1949/244 1676/2199/302 +f 1638/2104/283 1678/2204/305 1677/2202/304 +f 1557/1945/563 1560/1944/242 1677/2202/304 +f 1636/2100/281 1679/2481/306 1678/2205/305 +f 1679/2207/306 1554/2482/562 1557/2208/563 +f 1634/2095/280 1680/2483/307 1679/2210/306 +f 1680/2212/307 1551/2484/561 1554/2213/562 +f 1681/2215/208 1549/1932/193 1551/1931/561 +f 1700/2093/209 1681/2215/208 1680/2216/307 +f 1682/2218/210 1546/1926/190 1549/1927/193 +f 1701/2220/51 1682/2218/210 1681/2219/208 +f 1683/2222/211 1539/1921/185 1546/1922/190 +f 1684/2224/212 1683/2222/211 1682/2223/210 +f 1683/2226/211 1684/2228/212 1685/2227/3 +f 1684/2228/212 1686/2233/215 1687/2229/213 +f 1684/2230/212 1701/2485/51 1689/2231/308 +f 1686/2233/215 1688/2241/217 1694/2234/5 +f 1686/2232/215 1689/2231/308 1690/2235/309 +f 1688/2236/217 1690/2235/309 1691/2237/310 +f 1692/2238/231 1691/2237/310 1545/2239/569 +f 1688/2241/217 1692/2243/231 1693/2242/232 +f 1692/2243/231 1543/2486/560 1541/2244/1 +f 1701/2245/51 1700/2487/209 1699/2246/311 +f 1702/2247/311 1699/2246/311 1698/2248/312 +f 1703/2249/312 1698/2248/312 1697/2250/313 +f 1695/2252/314 1704/2251/313 1697/2250/313 +f 1708/226/2 1709/232/87 1706/227/87 +f 1711/229/88 1708/226/2 1705/228/2 +f 1709/232/90 1708/226/89 1710/2254/89 +f 1711/229/91 1712/2255/91 1710/233/89 +f 1713/236/92 1714/234/92 1712/235/91 +f 1713/236/93 1711/229/88 1707/230/88 +f 1715/238/94 1740/2267/94 1714/239/92 +f 1715/238/1 1713/236/93 1716/237/93 +f 1720/241/95 1715/238/1 1717/240/1 +f 1722/243/96 1720/241/95 1718/242/95 +f 1720/241/97 1721/2268/97 1740/245/94 +f 1722/243/98 1723/2269/98 1721/246/97 +f 1722/243/98 1724/249/99 1725/247/99 +f 1724/249/4 1722/243/96 1719/244/96 +f 1726/251/100 1739/2256/100 1725/252/99 +f 1726/251/101 1724/253/4 1727/254/4 +f 1731/256/102 1726/251/101 1728/255/101 +f 1733/258/3 1731/256/102 1729/257/102 +f 1731/256/103 1732/2270/103 1739/260/100 +f 1733/258/104 1734/2257/104 1732/261/103 +f 1735/262/105 1736/2271/105 1734/263/104 +f 1735/262/106 1733/258/3 1730/259/3 +f 1709/232/90 1738/2272/90 1736/265/105 +f 1709/232/87 1735/262/106 1737/264/106 +f 1736/268/6 1738/2273/6 1710/2274/6 +f 1710/2274/6 1712/2275/6 1714/266/6 +f 1714/266/6 1740/2276/6 1721/2277/6 +f 1721/2277/6 1723/2278/6 1725/267/6 +f 1725/267/6 1739/2279/6 1732/2280/6 +f 1732/2280/6 1734/2281/6 1736/268/6 +f 1736/268/6 1710/2274/6 1714/266/6 +f 1714/266/6 1721/2277/6 1725/267/6 +f 1725/267/6 1732/2280/6 1736/268/6 +f 1744/226/2 1745/232/87 1742/227/87 +f 1747/229/88 1744/226/2 1741/228/2 +f 1744/226/89 1746/2254/89 1774/231/90 +f 1744/226/89 1747/229/91 1748/2255/91 +f 1749/236/92 1750/234/92 1748/235/91 +f 1749/236/93 1747/229/88 1743/230/88 +f 1751/238/94 1776/2267/94 1750/239/92 +f 1751/238/1 1749/236/93 1752/237/93 +f 1756/241/95 1751/238/1 1753/240/1 +f 1758/243/96 1756/241/95 1754/242/95 +f 1756/241/97 1757/2268/97 1776/245/94 +f 1758/243/98 1759/2269/98 1757/246/97 +f 1760/249/99 1761/247/99 1759/248/98 +f 1760/249/4 1758/243/96 1755/244/96 +f 1760/253/99 1762/251/100 1775/2256/100 +f 1762/251/101 1760/253/4 1763/254/4 +f 1767/256/102 1762/251/101 1764/255/101 +f 1769/258/3 1767/256/102 1765/257/102 +f 1767/256/103 1768/2270/103 1775/260/100 +f 1767/256/103 1769/258/104 1770/2257/104 +f 1771/262/105 1772/2271/105 1770/263/104 +f 1771/262/106 1769/258/3 1766/259/3 +f 1745/232/90 1774/2272/90 1772/265/105 +f 1745/232/87 1771/262/106 1773/264/106 +f 1772/268/6 1774/2273/6 1746/2274/6 +f 1746/2274/6 1748/2275/6 1750/266/6 +f 1750/266/6 1776/2276/6 1757/2277/6 +f 1757/2277/6 1759/2278/6 1761/267/6 +f 1761/267/6 1775/2279/6 1768/2280/6 +f 1768/2280/6 1770/2281/6 1772/268/6 +f 1772/268/6 1746/2274/6 1750/266/6 +f 1750/266/6 1757/2277/6 1761/267/6 +f 1761/267/6 1768/2280/6 1772/268/6 diff --git a/src/main/resources/assets/hbm/models/machines/chemical_factory.obj b/src/main/resources/assets/hbm/models/machines/chemical_factory.obj new file mode 100644 index 000000000..9694d282a --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/chemical_factory.obj @@ -0,0 +1,18369 @@ +# Blender v2.79 (sub 0) OBJ File: 'chemical_factory.blend' +# www.blender.org +o Fan2 +v -0.875000 2.000000 -0.000000 +v -0.937500 2.000000 -0.108253 +v -1.062500 2.000000 -0.108253 +v -1.125000 2.000000 -0.000000 +v -1.062500 2.000000 0.108253 +v -0.937500 2.000000 0.108253 +v -0.937500 2.187500 -0.108253 +v -0.875000 2.187500 -0.000000 +v -1.062500 2.187500 -0.108253 +v -1.125000 2.187500 -0.000000 +v -1.062500 2.187500 0.108253 +v -0.937500 2.187500 0.108253 +v -1.056644 2.120164 0.108253 +v -0.943356 2.067336 0.108253 +v -1.169933 2.172991 0.483253 +v -0.830067 2.014509 0.483253 +v -0.877928 2.120164 -0.005071 +v -1.000000 2.093750 0.545753 +v -0.934572 2.067336 -0.103182 +v -0.496524 2.172991 -0.094461 +v -0.666457 2.014509 -0.388793 +v -0.527364 2.093750 -0.272877 +v -1.065428 2.120164 -0.103182 +v -1.122072 2.067336 -0.005071 +v -1.333543 2.172991 -0.388793 +v -1.503476 2.014509 -0.094461 +v -1.472636 2.093750 -0.272877 +vt 0.118967 0.494248 +vt 0.118967 0.482763 +vt 0.127451 0.477020 +vt 0.156863 0.459770 +vt 0.147059 0.477012 +vt 0.147059 0.459770 +vt 0.137255 0.477012 +vt 0.137255 0.459770 +vt 0.127451 0.459770 +vt 0.117647 0.477012 +vt 0.117647 0.459770 +vt 0.166667 0.459770 +vt 0.156863 0.477012 +vt 0.127451 0.477012 +vt 0.176471 0.459770 +vt 0.166667 0.477012 +vt 0.210784 0.477012 +vt 0.205882 0.494253 +vt 0.176471 0.482759 +vt 0.210784 0.477012 +vt 0.205882 0.494253 +vt 0.176471 0.482759 +vt 0.210784 0.477012 +vt 0.205882 0.494253 +vt 0.176471 0.482759 +vt 0.135935 0.482763 +vt 0.135935 0.494248 +vt 0.127451 0.499991 +vt 0.176471 0.477012 +vt 0.176471 0.471264 +vt 0.205882 0.459770 +vt 0.176471 0.471264 +vt 0.205882 0.459770 +vt 0.176471 0.471264 +vt 0.205882 0.459770 +vn 0.0000 1.0000 0.0000 +vn 0.8660 0.0000 -0.5000 +vn 0.8660 0.0000 0.5000 +vn -0.8660 0.0000 0.5000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.8660 0.0000 -0.5000 +vn -0.2113 0.9063 -0.3660 +vn -0.2113 0.9063 0.3660 +vn 0.4226 0.9063 -0.0000 +s off +f 11/1/1 12/2/1 8/3/1 +f 2/4/2 8/5/2 1/6/2 +f 1/6/3 12/7/3 6/8/3 +f 5/9/4 10/10/4 4/11/4 +f 3/12/5 7/13/5 2/4/5 +f 6/8/6 11/14/6 5/9/6 +f 4/15/7 9/16/7 3/12/7 +f 22/17/8 21/18/8 19/19/8 +f 27/20/9 26/21/9 24/22/9 +f 18/23/10 16/24/10 14/25/10 +f 8/3/1 7/26/1 11/1/1 +f 7/26/1 9/27/1 11/1/1 +f 9/27/1 10/28/1 11/1/1 +f 2/4/2 7/13/2 8/5/2 +f 1/6/3 8/5/3 12/7/3 +f 5/9/4 11/14/4 10/10/4 +f 3/12/5 9/16/5 7/13/5 +f 6/8/6 12/7/6 11/14/6 +f 4/15/7 10/29/7 9/16/7 +f 19/19/8 17/30/8 22/17/8 +f 17/30/8 20/31/8 22/17/8 +f 24/22/9 23/32/9 27/20/9 +f 23/32/9 25/33/9 27/20/9 +f 14/25/10 13/34/10 18/23/10 +f 13/34/10 15/35/10 18/23/10 +o Fan1 +v 1.125000 2.000000 0.000000 +v 1.062500 2.000000 -0.108253 +v 0.937500 2.000000 -0.108253 +v 0.875000 2.000000 0.000000 +v 0.937500 2.000000 0.108253 +v 1.062500 2.000000 0.108253 +v 1.062500 2.187500 -0.108253 +v 1.125000 2.187500 0.000000 +v 0.937500 2.187500 -0.108253 +v 0.875000 2.187500 0.000000 +v 0.937500 2.187500 0.108253 +v 1.062500 2.187500 0.108253 +v 0.943356 2.120164 0.108253 +v 1.056644 2.067336 0.108253 +v 0.830067 2.172991 0.483253 +v 1.169933 2.014509 0.483253 +v 1.122072 2.120164 -0.005071 +v 1.000000 2.093750 0.545753 +v 1.065428 2.067336 -0.103182 +v 1.503476 2.172991 -0.094460 +v 1.333543 2.014509 -0.388792 +v 1.472636 2.093750 -0.272877 +v 0.934572 2.120164 -0.103182 +v 0.877928 2.067336 -0.005071 +v 0.666457 2.172991 -0.388792 +v 0.496524 2.014509 -0.094460 +v 0.527364 2.093750 -0.272877 +vt 0.118967 0.494248 +vt 0.118967 0.482763 +vt 0.127451 0.477020 +vt 0.156863 0.459770 +vt 0.147059 0.477012 +vt 0.147059 0.459770 +vt 0.137255 0.477012 +vt 0.137255 0.459770 +vt 0.127451 0.459770 +vt 0.117647 0.477012 +vt 0.117647 0.459770 +vt 0.166667 0.459770 +vt 0.156863 0.477012 +vt 0.127451 0.477012 +vt 0.176471 0.459770 +vt 0.166667 0.477012 +vt 0.210784 0.477012 +vt 0.205882 0.494253 +vt 0.176471 0.482759 +vt 0.210784 0.477012 +vt 0.205882 0.494253 +vt 0.176471 0.482759 +vt 0.210784 0.477012 +vt 0.205882 0.494253 +vt 0.176471 0.482759 +vt 0.135935 0.482763 +vt 0.135935 0.494248 +vt 0.127451 0.499991 +vt 0.176471 0.477012 +vt 0.176471 0.471264 +vt 0.205882 0.459770 +vt 0.176471 0.471264 +vt 0.205882 0.459770 +vt 0.176471 0.471264 +vt 0.205882 0.459770 +vn 0.0000 1.0000 0.0000 +vn 0.8660 0.0000 -0.5000 +vn 0.8660 0.0000 0.5000 +vn -0.8660 0.0000 0.5000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.8660 0.0000 -0.5000 +vn -0.2113 0.9063 -0.3660 +vn -0.2113 0.9063 0.3660 +vn 0.4226 0.9063 -0.0000 +s off +f 38/36/11 39/37/11 35/38/11 +f 29/39/12 35/40/12 28/41/12 +f 28/41/13 39/42/13 33/43/13 +f 32/44/14 37/45/14 31/46/14 +f 30/47/15 34/48/15 29/39/15 +f 33/43/16 38/49/16 32/44/16 +f 31/50/17 36/51/17 30/47/17 +f 49/52/18 48/53/18 46/54/18 +f 54/55/19 53/56/19 51/57/19 +f 45/58/20 43/59/20 41/60/20 +f 35/38/11 34/61/11 38/36/11 +f 34/61/11 36/62/11 38/36/11 +f 36/62/11 37/63/11 38/36/11 +f 29/39/12 34/48/12 35/40/12 +f 28/41/13 35/40/13 39/42/13 +f 32/44/14 38/49/14 37/45/14 +f 30/47/15 36/51/15 34/48/15 +f 33/43/16 39/42/16 38/49/16 +f 31/50/17 37/64/17 36/51/17 +f 46/54/18 44/65/18 49/52/18 +f 44/65/18 47/66/18 49/52/18 +f 51/57/19 50/67/19 54/55/19 +f 50/67/19 52/68/19 54/55/19 +f 41/60/20 40/69/20 45/58/20 +f 40/69/20 42/70/20 45/58/20 +o Frame +v 2.500000 0.250000 2.500000 +v 2.500000 0.250000 2.375000 +v 2.500000 2.750000 2.500000 +v 2.500000 2.750000 2.375000 +v 2.375000 0.250000 2.500000 +v 2.375000 0.250000 2.375000 +v 2.375000 2.750000 2.500000 +v 2.375000 2.750000 2.375000 +v 2.500000 0.250000 -2.375000 +v 2.500000 0.250000 -2.500000 +v 2.500000 2.750000 -2.375000 +v 2.500000 2.750000 -2.500000 +v 2.375000 0.250000 -2.375000 +v 2.375000 0.250000 -2.500000 +v 2.375000 2.750000 -2.375000 +v 2.375000 2.750000 -2.500000 +v -2.375000 0.250000 2.500000 +v -2.375000 0.250000 2.375000 +v -2.375000 2.750000 2.500000 +v -2.375000 2.750000 2.375000 +v -2.500000 0.250000 2.500000 +v -2.500000 0.250000 2.375000 +v -2.500000 2.750000 2.500000 +v -2.500000 2.750000 2.375000 +v -2.375000 0.250000 -2.375000 +v -2.375000 0.250000 -2.500000 +v -2.375000 2.750000 -2.375000 +v -2.375000 2.750000 -2.500000 +v -2.500000 0.250000 -2.375000 +v -2.500000 0.250000 -2.500000 +v -2.500000 2.750000 -2.375000 +v -2.500000 2.750000 -2.500000 +v -2.500000 2.750000 2.500000 +v -2.250000 2.750000 2.500000 +v -2.500000 2.750000 2.250000 +v -2.250000 2.750000 2.250000 +v -2.500000 3.000000 2.500000 +v -2.250000 3.000000 2.500000 +v -2.500000 3.000000 2.250000 +v -2.250000 3.000000 2.250000 +v 2.250000 2.750000 2.500000 +v 2.500000 2.750000 2.500000 +v 2.250000 2.750000 2.250000 +v 2.500000 2.750000 2.250000 +v 2.250000 3.000000 2.500000 +v 2.500000 3.000000 2.500000 +v 2.250000 3.000000 2.250000 +v 2.500000 3.000000 2.250000 +v -2.500000 2.750000 -2.250000 +v -2.250000 2.750000 -2.250000 +v -2.500000 2.750000 -2.500000 +v -2.250000 2.750000 -2.500000 +v -2.500000 3.000000 -2.250000 +v -2.250000 3.000000 -2.250000 +v -2.500000 3.000000 -2.500000 +v -2.250000 3.000000 -2.500000 +v 2.250000 2.750000 -2.250000 +v 2.500000 2.750000 -2.250000 +v 2.250000 2.750000 -2.500000 +v 2.500000 2.750000 -2.500000 +v 2.250000 3.000000 -2.250000 +v 2.500000 3.000000 -2.250000 +v 2.250000 3.000000 -2.500000 +v 2.500000 3.000000 -2.500000 +v 2.250000 2.875000 2.375000 +v -2.250000 2.875000 2.375000 +v 2.250000 2.875000 2.500000 +v -2.250000 2.875000 2.500000 +v -2.250000 3.000000 2.375000 +v 2.250000 3.000000 2.375000 +v 2.250000 3.000000 2.500000 +v -2.250000 3.000000 2.500000 +v 2.250000 2.875000 -2.375000 +v -2.250000 2.875000 -2.375000 +v -2.250000 2.875000 -2.500000 +v 2.250000 2.875000 -2.500000 +v 2.250000 3.000000 -2.375000 +v -2.250000 3.000000 -2.375000 +v -2.250000 3.000000 -2.500000 +v 2.250000 3.000000 -2.500000 +v 2.375000 2.875000 2.250000 +v 2.375000 2.875000 -2.250000 +v 2.500000 2.875000 -2.250000 +v 2.500000 2.875000 2.250000 +v 2.375000 3.000000 2.250000 +v 2.375000 3.000000 -2.250000 +v 2.500000 3.000000 -2.250000 +v 2.500000 3.000000 2.250000 +v -2.375000 2.875000 -2.250000 +v -2.375000 2.875000 2.250000 +v -2.500000 2.875000 2.250000 +v -2.500000 2.875000 -2.250000 +v -2.375000 3.000000 -2.250000 +v -2.375000 3.000000 2.250000 +v -2.500000 3.000000 2.250000 +v -2.500000 3.000000 -2.250000 +vt 0.686275 0.643678 +vt 0.490196 0.632184 +vt 0.686275 0.632184 +vt 0.686275 0.620690 +vt 0.490196 0.655172 +vt 0.490196 0.643678 +vt 0.490196 0.609195 +vt 0.686275 0.609195 +vt 0.686275 0.632184 +vt 0.490196 0.620690 +vt 0.686275 0.620690 +vt 0.686275 0.609195 +vt 0.490196 0.643678 +vt 0.490196 0.632184 +vt 0.686275 0.655172 +vt 0.686275 0.643678 +vt 0.686275 0.655172 +vt 0.490196 0.643678 +vt 0.686275 0.643678 +vt 0.686275 0.632184 +vt 0.686275 0.609195 +vt 0.490196 0.620690 +vt 0.490196 0.609195 +vt 0.686275 0.620690 +vt 0.686275 0.620690 +vt 0.490196 0.609195 +vt 0.686275 0.609195 +vt 0.490196 0.655172 +vt 0.686275 0.643678 +vt 0.686275 0.655172 +vt 0.490196 0.632184 +vt 0.490196 0.620690 +vt 0.686275 0.632184 +vt 0.862745 -0.000000 +vt 0.882353 0.022989 +vt 0.862745 0.022989 +vt 0.882353 0.045977 +vt 0.862745 0.068966 +vt 0.862745 0.045977 +vt 0.921569 0.022989 +vt 0.901961 0.045977 +vt 0.901961 0.022989 +vt 0.941176 0.022989 +vt 0.921569 0.045977 +vt 0.862745 -0.000000 +vt 0.882353 0.022989 +vt 0.862745 0.022989 +vt 0.882353 0.045977 +vt 0.862745 0.068966 +vt 0.862745 0.045977 +vt 0.921569 0.022989 +vt 0.901961 0.045977 +vt 0.901961 0.022989 +vt 0.941176 0.022989 +vt 0.921569 0.045977 +vt 0.862745 -0.000000 +vt 0.882353 0.022989 +vt 0.862745 0.022989 +vt 0.882353 0.045977 +vt 0.862745 0.068966 +vt 0.862745 0.045977 +vt 0.921569 0.022989 +vt 0.901961 0.045977 +vt 0.901961 0.022989 +vt 0.941176 0.022989 +vt 0.921569 0.045977 +vt 0.862745 -0.000000 +vt 0.882353 0.022989 +vt 0.862745 0.022989 +vt 0.882353 0.045977 +vt 0.862745 0.068966 +vt 0.862745 0.045977 +vt 0.921569 0.022989 +vt 0.901961 0.045977 +vt 0.901961 0.022989 +vt 0.941176 0.022989 +vt 0.921569 0.045977 +vt 0.490196 0.563218 +vt 0.843137 0.574713 +vt 0.490196 0.574713 +vt 0.843137 0.586207 +vt 0.490196 0.597701 +vt 0.843137 0.609195 +vt 0.490196 0.609195 +vt 0.490196 0.586207 +vt 0.843137 0.597701 +vt 0.490196 0.563218 +vt 0.843137 0.574713 +vt 0.490196 0.574713 +vt 0.843137 0.586207 +vt 0.490196 0.597701 +vt 0.843137 0.609195 +vt 0.490196 0.609195 +vt 0.490196 0.586207 +vt 0.843137 0.597701 +vt 0.490196 0.563218 +vt 0.843137 0.574713 +vt 0.490196 0.574713 +vt 0.843137 0.586207 +vt 0.490196 0.597701 +vt 0.843137 0.609195 +vt 0.490196 0.609195 +vt 0.490196 0.586207 +vt 0.843137 0.597701 +vt 0.490196 0.563218 +vt 0.843137 0.574713 +vt 0.490196 0.574713 +vt 0.843137 0.586207 +vt 0.490196 0.597701 +vt 0.843137 0.609195 +vt 0.490196 0.609195 +vt 0.490196 0.586207 +vt 0.843137 0.597701 +vt 0.490196 0.620690 +vt 0.686275 0.655172 +vt 0.490196 0.609195 +vt 0.490196 0.655172 +vt 0.490196 0.655172 +vt 0.490196 0.632184 +vt 0.490196 0.643678 +vt 0.882353 -0.000000 +vt 0.882353 0.068966 +vt 0.941176 0.045977 +vt 0.882353 -0.000000 +vt 0.882353 0.068966 +vt 0.941176 0.045977 +vt 0.882353 -0.000000 +vt 0.882353 0.068966 +vt 0.941176 0.045977 +vt 0.882353 -0.000000 +vt 0.882353 0.068966 +vt 0.941176 0.045977 +vt 0.843137 0.563218 +vt 0.843137 0.563218 +vt 0.843137 0.563218 +vt 0.843137 0.563218 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 56/71/21 57/72/21 55/73/21 +f 57/72/22 59/74/22 55/73/22 +f 56/71/23 62/75/23 58/76/23 +f 59/74/24 62/77/24 60/78/24 +f 64/79/21 65/80/21 63/81/21 +f 65/80/22 67/82/22 63/81/22 +f 64/79/23 70/83/23 66/84/23 +f 67/85/24 70/83/24 68/86/24 +f 72/87/21 73/88/21 71/89/21 +f 73/88/22 75/90/22 71/89/22 +f 72/91/23 78/92/23 74/93/23 +f 75/90/24 78/92/24 76/94/24 +f 80/95/21 81/96/21 79/97/21 +f 81/98/22 83/99/22 79/100/22 +f 80/95/23 86/101/23 82/102/23 +f 83/99/24 86/101/24 84/103/24 +f 87/104/25 90/105/25 88/106/25 +f 94/107/26 91/108/26 92/109/26 +f 87/110/24 93/111/24 89/112/24 +f 89/112/23 94/107/23 90/105/23 +f 90/105/21 92/109/21 88/106/21 +f 88/113/22 91/114/22 87/110/22 +f 95/115/25 98/116/25 96/117/25 +f 102/118/26 99/119/26 100/120/26 +f 95/121/24 101/122/24 97/123/24 +f 97/123/23 102/118/23 98/116/23 +f 98/116/21 100/120/21 96/117/21 +f 96/124/22 99/125/22 95/121/22 +f 103/126/25 106/127/25 104/128/25 +f 110/129/26 107/130/26 108/131/26 +f 103/132/24 109/133/24 105/134/24 +f 105/134/23 110/129/23 106/127/23 +f 106/127/21 108/131/21 104/128/21 +f 104/135/22 107/136/22 103/132/22 +f 111/137/25 114/138/25 112/139/25 +f 118/140/26 115/141/26 116/142/26 +f 111/143/24 117/144/24 113/145/24 +f 113/145/23 118/140/23 114/138/23 +f 114/138/21 116/142/21 112/139/21 +f 112/146/22 115/147/22 111/143/22 +f 120/148/25 121/149/25 122/150/25 +f 125/151/22 122/150/22 121/149/22 +f 123/152/23 119/153/23 120/154/23 +f 126/155/26 124/156/26 123/152/26 +f 127/157/25 129/158/25 130/159/25 +f 133/160/23 130/159/23 129/158/23 +f 131/161/22 128/162/22 127/163/22 +f 134/164/26 132/165/26 131/161/26 +f 135/166/25 137/167/25 138/168/25 +f 141/169/21 138/168/21 137/167/21 +f 139/170/24 136/171/24 135/172/24 +f 142/173/26 140/174/26 139/170/26 +f 143/175/25 145/176/25 146/177/25 +f 149/178/24 146/177/24 145/176/24 +f 147/179/21 144/180/21 143/181/21 +f 150/182/26 148/183/26 147/179/26 +f 56/71/21 58/76/21 57/72/21 +f 57/72/22 61/184/22 59/74/22 +f 56/71/23 60/185/23 62/75/23 +f 59/74/24 61/184/24 62/77/24 +f 64/79/21 66/84/21 65/80/21 +f 65/80/22 69/186/22 67/82/22 +f 64/79/23 68/86/23 70/83/23 +f 67/85/24 69/187/24 70/83/24 +f 72/87/21 74/188/21 73/88/21 +f 73/88/22 77/189/22 75/90/22 +f 72/91/23 76/94/23 78/92/23 +f 75/90/24 77/189/24 78/92/24 +f 80/95/21 82/102/21 81/96/21 +f 81/98/22 85/190/22 83/99/22 +f 80/95/23 84/103/23 86/101/23 +f 83/99/24 85/190/24 86/101/24 +f 87/104/25 89/191/25 90/105/25 +f 94/107/26 93/192/26 91/108/26 +f 87/110/24 91/114/24 93/111/24 +f 89/112/23 93/111/23 94/107/23 +f 90/105/21 94/107/21 92/109/21 +f 88/113/22 92/193/22 91/114/22 +f 95/115/25 97/194/25 98/116/25 +f 102/118/26 101/195/26 99/119/26 +f 95/121/24 99/125/24 101/122/24 +f 97/123/23 101/122/23 102/118/23 +f 98/116/21 102/118/21 100/120/21 +f 96/124/22 100/196/22 99/125/22 +f 103/126/25 105/197/25 106/127/25 +f 110/129/26 109/198/26 107/130/26 +f 103/132/24 107/136/24 109/133/24 +f 105/134/23 109/133/23 110/129/23 +f 106/127/21 110/129/21 108/131/21 +f 104/135/22 108/199/22 107/136/22 +f 111/137/25 113/200/25 114/138/25 +f 118/140/26 117/201/26 115/141/26 +f 111/143/24 115/147/24 117/144/24 +f 113/145/23 117/144/23 118/140/23 +f 114/138/21 118/140/21 116/142/21 +f 112/146/22 116/202/22 115/147/22 +f 120/148/25 119/203/25 121/149/25 +f 125/151/22 126/155/22 122/150/22 +f 123/152/23 124/156/23 119/153/23 +f 126/155/26 125/151/26 124/156/26 +f 127/157/25 128/204/25 129/158/25 +f 133/160/23 134/164/23 130/159/23 +f 131/161/22 132/165/22 128/162/22 +f 134/164/26 133/160/26 132/165/26 +f 135/166/25 136/205/25 137/167/25 +f 141/169/21 142/173/21 138/168/21 +f 139/170/24 140/174/24 136/171/24 +f 142/173/26 141/169/26 140/174/26 +f 143/175/25 144/206/25 145/176/25 +f 149/178/24 150/182/24 146/177/24 +f 147/179/21 148/183/21 144/180/21 +f 150/182/26 149/178/26 148/183/26 +o Plane.001 +v 16.375000 0.000000 6.250000 +v 16.375000 0.000000 3.750000 +v 16.500000 0.000000 3.750000 +v 16.500000 0.000000 6.250000 +v 16.500000 0.000000 6.500000 +v 16.500000 0.000000 6.250000 +v 16.250000 0.000000 6.500000 +v 16.250000 0.000000 6.250000 +v 16.500000 0.250000 6.500000 +v 16.500000 0.250000 6.250000 +v 16.250000 0.250000 6.500000 +v 16.250000 0.250000 6.250000 +v 16.500000 0.000000 3.750000 +v 16.500000 0.000000 3.500000 +v 16.250000 0.000000 3.750000 +v 16.250000 0.000000 3.500000 +v 16.500000 0.250000 3.750000 +v 16.500000 0.250000 3.500000 +v 16.250000 0.250000 3.750000 +v 16.250000 0.250000 3.500000 +v 13.750000 0.000000 6.500000 +v 13.750000 0.000000 6.250000 +v 13.500000 0.000000 6.500000 +v 13.500000 0.000000 6.250000 +v 13.750000 0.250000 6.500000 +v 13.750000 0.250000 6.250000 +v 13.500000 0.250000 6.500000 +v 13.500000 0.250000 6.250000 +v 13.750000 0.000000 3.750000 +v 13.750000 0.000000 3.500000 +v 13.500000 0.000000 3.750000 +v 13.500000 0.000000 3.500000 +v 13.750000 0.250000 3.750000 +v 13.750000 0.250000 3.500000 +v 13.500000 0.250000 3.750000 +v 13.500000 0.250000 3.500000 +v 16.375000 0.125000 6.250000 +v 16.375000 0.125000 3.750000 +v 16.500000 0.125000 3.750000 +v 16.500000 0.125000 6.250000 +v 13.625000 0.000000 3.750000 +v 13.625000 0.000000 6.250000 +v 13.500000 0.000000 6.250000 +v 13.500000 0.000000 3.750000 +v 13.625000 0.125000 3.750000 +v 13.625000 0.125000 6.250000 +v 13.500000 0.125000 6.250000 +v 13.500000 0.125000 3.750000 +v 16.250000 0.000000 3.625000 +v 13.750000 0.000000 3.625000 +v 13.750000 0.000000 3.500000 +v 16.250000 0.000000 3.500000 +v 16.250000 0.125000 3.625000 +v 13.750000 0.125000 3.625000 +v 13.750000 0.125000 3.500000 +v 16.250000 0.125000 3.500000 +v 13.750000 0.000000 6.375000 +v 16.250000 0.000000 6.375000 +v 16.250000 0.000000 6.500000 +v 13.750000 0.000000 6.500000 +v 13.750000 0.125000 6.375000 +v 16.250000 0.125000 6.375000 +v 16.250000 0.125000 6.500000 +v 13.750000 0.125000 6.500000 +v 16.500000 0.250000 3.500000 +v 16.375000 0.250000 3.500000 +v 16.500000 8.750000 3.500000 +v 16.375000 8.750000 3.500000 +v 16.500000 0.250000 3.625000 +v 16.375000 0.250000 3.625000 +v 16.500000 8.750000 3.625000 +v 16.375000 8.750000 3.625000 +v 16.500000 8.750000 6.500000 +v 16.500000 8.750000 6.250000 +v 16.250000 8.750000 6.500000 +v 16.250000 8.750000 6.250000 +v 16.500000 9.000000 6.500000 +v 16.500000 9.000000 6.250000 +v 16.250000 9.000000 6.500000 +v 16.250000 9.000000 6.250000 +v 16.500000 8.750000 3.750000 +v 16.500000 8.750000 3.500000 +v 16.250000 8.750000 3.750000 +v 16.250000 8.750000 3.500000 +v 16.500000 9.000000 3.750000 +v 16.500000 9.000000 3.500000 +v 16.250000 9.000000 3.750000 +v 16.250000 9.000000 3.500000 +v 13.750000 8.750000 6.500000 +v 13.750000 8.750000 6.250000 +v 13.500000 8.750000 6.500000 +v 13.500000 8.750000 6.250000 +v 13.750000 9.000000 6.500000 +v 13.750000 9.000000 6.250000 +v 13.500000 9.000000 6.500000 +v 13.500000 9.000000 6.250000 +v 13.750000 8.750000 3.750000 +v 13.750000 8.750000 3.500000 +v 13.500000 8.750000 3.750000 +v 13.500000 8.750000 3.500000 +v 13.750000 9.000000 3.750000 +v 13.750000 9.000000 3.500000 +v 13.500000 9.000000 3.750000 +v 13.500000 9.000000 3.500000 +v 13.625000 0.250000 3.500000 +v 13.500000 0.250000 3.500000 +v 13.625000 8.750000 3.500000 +v 13.500000 8.750000 3.500000 +v 13.625000 0.250000 3.625000 +v 13.500000 0.250000 3.625000 +v 13.625000 8.750000 3.625000 +v 13.500000 8.750000 3.625000 +v 16.500000 0.250000 6.375000 +v 16.375000 0.250000 6.375000 +v 16.500000 8.750000 6.375000 +v 16.375000 8.750000 6.375000 +v 16.500000 0.250000 6.500000 +v 16.375000 0.250000 6.500000 +v 16.500000 8.750000 6.500000 +v 16.375000 8.750000 6.500000 +v 13.625000 0.250000 6.375000 +v 13.500000 0.250000 6.375000 +v 13.625000 8.750000 6.375000 +v 13.500000 8.750000 6.375000 +v 13.625000 0.250000 6.500000 +v 13.500000 0.250000 6.500000 +v 13.625000 8.750000 6.500000 +v 13.500000 8.750000 6.500000 +v 16.375000 8.875000 6.250000 +v 16.375000 8.875000 3.750000 +v 16.500000 8.875000 3.750000 +v 16.500000 8.875000 6.250000 +v 16.375000 9.000000 6.250000 +v 16.375000 9.000000 3.750000 +v 16.500000 9.000000 3.750000 +v 16.500000 9.000000 6.250000 +v 13.625000 8.875000 3.750000 +v 13.625000 8.875000 6.250000 +v 13.500000 8.875000 6.250000 +v 13.500000 8.875000 3.750000 +v 13.625000 9.000000 3.750000 +v 13.625000 9.000000 6.250000 +v 13.500000 9.000000 6.250000 +v 13.500000 9.000000 3.750000 +v 16.250000 8.875000 3.625000 +v 13.750000 8.875000 3.625000 +v 13.750000 8.875000 3.500000 +v 16.250000 8.875000 3.500000 +v 16.250000 9.000000 3.625000 +v 13.750000 9.000000 3.625000 +v 13.750000 9.000000 3.500000 +v 16.250000 9.000000 3.500000 +v 13.750000 8.875000 6.375000 +v 16.250000 8.875000 6.375000 +v 16.250000 8.875000 6.500000 +v 13.750000 8.875000 6.500000 +v 13.750000 9.000000 6.375000 +v 16.250000 9.000000 6.375000 +v 16.250000 9.000000 6.500000 +v 13.750000 9.000000 6.500000 +v 14.875000 0.125000 6.500000 +v 15.125000 0.125000 6.500000 +v 14.875000 0.125000 3.500000 +v 15.125000 0.125000 3.500000 +v 14.875000 0.250000 3.500000 +v 14.875000 0.250000 6.500000 +v 15.125000 0.250000 6.500000 +v 15.125000 0.250000 3.500000 +v 15.875000 0.125000 6.500000 +v 16.125000 0.125000 6.500000 +v 15.875000 0.125000 3.500000 +v 16.125000 0.125000 3.500000 +v 15.875000 0.250000 3.500000 +v 15.875000 0.250000 6.500000 +v 16.125000 0.250000 6.500000 +v 16.125000 0.250000 3.500000 +v 13.875000 0.125000 6.500000 +v 14.125000 0.125000 6.500000 +v 13.875000 0.125000 3.500000 +v 14.125000 0.125000 3.500000 +v 13.875000 0.250000 3.500000 +v 13.875000 0.250000 6.500000 +v 14.125000 0.250000 6.500000 +v 14.125000 0.250000 3.500000 +v 14.750000 0.250000 5.250000 +v 16.250000 0.250000 5.250000 +v 14.750000 0.250000 3.750000 +v 16.250000 0.250000 3.750000 +v 14.750000 1.000000 3.750000 +v 14.750000 1.000000 5.250000 +v 16.250000 1.000000 5.250000 +v 16.250000 1.000000 3.750000 +v 15.500000 1.000000 3.500000 +v 15.117317 1.000000 3.576120 +v 14.792893 1.000000 3.792893 +v 14.576120 1.000000 4.117317 +v 14.500000 1.000000 4.500000 +v 14.576120 1.000000 4.882684 +v 14.792893 1.000000 5.207107 +v 15.117317 1.000000 5.423880 +v 15.500000 1.000000 5.500000 +v 15.882683 1.000000 5.423880 +v 16.207108 1.000000 5.207107 +v 16.423880 1.000000 4.882684 +v 16.500000 1.000000 4.500000 +v 16.423880 1.000000 4.117316 +v 16.207108 1.000000 3.792893 +v 15.882683 1.000000 3.576120 +v 15.117317 2.000000 3.576120 +v 15.500000 2.000000 3.500000 +v 14.792893 2.000000 3.792893 +v 14.576120 2.000000 4.117317 +v 14.500000 2.000000 4.500000 +v 14.576120 2.000000 4.882684 +v 14.792893 2.000000 5.207107 +v 15.117317 2.000000 5.423880 +v 15.500000 2.000000 5.500000 +v 15.882683 2.000000 5.423880 +v 16.207108 2.000000 5.207107 +v 16.423880 2.000000 4.882684 +v 16.500000 2.000000 4.500000 +v 16.423880 2.000000 4.117316 +v 16.207108 2.000000 3.792893 +v 15.882683 2.000000 3.576120 +v 15.882683 1.750000 3.576120 +v 16.207108 1.750000 3.792893 +v 16.423880 1.750000 4.117316 +v 16.500000 1.750000 4.500000 +v 16.423880 1.750000 4.882684 +v 16.207108 1.750000 5.207107 +v 14.792893 1.750000 3.792893 +v 15.500000 1.750000 3.500000 +v 15.117317 1.750000 3.576120 +v 15.882683 1.250000 3.576120 +v 16.207108 1.250000 3.792893 +v 16.423880 1.250000 4.117316 +v 16.500000 1.250000 4.500000 +v 16.423880 1.250000 4.882684 +v 16.207108 1.250000 5.207107 +v 14.792893 1.250000 3.792893 +v 15.117317 1.250000 3.576120 +v 15.500000 1.250000 3.500000 +v 16.250000 3.500000 4.125000 +v 15.875000 3.500000 3.750000 +v 15.125000 3.500000 3.750000 +v 14.750000 3.500000 4.125000 +v 15.875000 3.500000 5.250000 +v 16.250000 3.500000 4.875000 +v 14.750000 3.500000 4.875000 +v 15.125000 3.500000 5.250000 +v 15.125000 2.000000 5.250000 +v 14.750000 2.000000 4.875000 +v 16.250000 2.000000 4.875000 +v 15.875000 2.000000 5.250000 +v 14.750000 2.000000 4.125000 +v 15.125000 2.000000 3.750000 +v 15.875000 2.000000 3.750000 +v 16.250000 2.000000 4.125000 +v 15.125000 2.500000 3.750000 +v 14.750000 2.500000 4.125000 +v 14.750000 2.500000 4.875000 +v 15.125000 2.500000 5.250000 +v 15.875000 2.500000 5.250000 +v 16.250000 2.500000 4.875000 +v 16.250000 2.500000 4.125000 +v 15.875000 2.500000 3.750000 +v 15.125000 4.000000 3.750000 +v 14.750000 4.000000 4.125000 +v 14.750000 4.000000 4.875000 +v 15.125000 4.000000 5.250000 +v 15.875000 4.000000 5.250000 +v 16.250000 4.000000 4.875000 +v 16.250000 4.000000 4.125000 +v 15.875000 4.000000 3.750000 +v 16.250000 5.000000 4.125000 +v 15.875000 5.000000 3.750000 +v 15.125000 5.000000 3.750000 +v 14.750000 5.000000 4.125000 +v 15.875000 5.000000 5.250000 +v 16.250000 5.000000 4.875000 +v 14.750000 5.000000 4.875000 +v 15.125000 5.000000 5.250000 +v 15.125000 5.500000 3.750000 +v 14.750000 5.500000 4.125000 +v 14.750000 5.500000 4.875000 +v 15.125000 5.500000 5.250000 +v 15.875000 5.500000 5.250000 +v 16.250000 5.500000 4.875000 +v 16.250000 5.500000 4.125000 +v 15.875000 5.500000 3.750000 +v 16.250000 6.500000 4.125000 +v 15.875000 6.500000 3.750000 +v 15.125000 6.500000 3.750000 +v 14.750000 6.500000 4.125000 +v 15.875000 6.500000 5.250000 +v 16.250000 6.500000 4.875000 +v 14.750000 6.500000 4.875000 +v 15.125000 6.500000 5.250000 +v 15.125000 7.000000 3.750000 +v 14.750000 7.000000 4.125000 +v 14.750000 7.000000 4.875000 +v 15.125000 7.000000 5.250000 +v 15.875000 7.000000 5.250000 +v 16.250000 7.000000 4.875000 +v 16.250000 7.000000 4.125000 +v 15.875000 7.000000 3.750000 +v 15.500000 7.000000 3.500000 +v 15.117317 7.000000 3.576120 +v 14.792893 7.000000 3.792893 +v 14.576120 7.000000 4.117317 +v 14.500000 7.000000 4.500000 +v 14.576120 7.000000 4.882684 +v 14.792893 7.000000 5.207107 +v 15.117317 7.000000 5.423880 +v 15.500000 7.000000 5.500000 +v 15.882683 7.000000 5.423880 +v 16.207108 7.000000 5.207107 +v 16.423880 7.000000 4.882684 +v 16.500000 7.000000 4.500000 +v 16.423880 7.000000 4.117316 +v 16.207108 7.000000 3.792893 +v 15.882683 7.000000 3.576120 +v 15.117317 7.500000 3.576120 +v 15.500000 7.500000 3.500000 +v 14.792893 7.500000 3.792893 +v 14.576120 7.500000 4.117317 +v 14.500000 7.500000 4.500000 +v 14.576120 7.500000 4.882684 +v 14.792893 7.500000 5.207107 +v 15.117317 7.500000 5.423880 +v 15.500000 7.500000 5.500000 +v 15.882683 7.500000 5.423880 +v 16.207108 7.500000 5.207107 +v 16.423880 7.500000 4.882684 +v 16.500000 7.500000 4.500000 +v 16.423880 7.500000 4.117316 +v 16.207108 7.500000 3.792893 +v 15.882683 7.500000 3.576120 +v 15.308659 8.000000 4.038060 +v 15.500000 8.000000 4.000000 +v 15.146446 8.000000 4.146447 +v 15.038060 8.000000 4.308658 +v 15.000000 8.000000 4.500000 +v 15.038060 8.000000 4.691342 +v 15.146446 8.000000 4.853553 +v 15.308659 8.000000 4.961940 +v 15.500000 8.000000 5.000000 +v 15.691341 8.000000 4.961940 +v 15.853554 8.000000 4.853553 +v 15.961940 8.000000 4.691342 +v 16.000000 8.000000 4.500000 +v 15.961940 8.000000 4.308658 +v 15.853554 8.000000 4.146446 +v 15.691341 8.000000 4.038060 +v 13.750000 0.250000 6.250000 +v 14.250000 0.250000 6.250000 +v 13.750000 0.250000 3.750000 +v 14.250000 0.250000 3.750000 +v 13.750000 1.000000 3.750000 +v 13.750000 1.000000 6.250000 +v 14.250000 1.000000 6.250000 +v 14.250000 1.000000 3.750000 +v 13.500000 1.000000 6.375000 +v 14.500000 1.000000 6.375000 +v 13.500000 1.000000 3.875000 +v 14.500000 1.000000 3.875000 +v 13.500000 2.500000 3.875000 +v 14.500000 2.500000 3.875000 +v 13.500000 4.000000 5.375000 +v 13.750000 7.250000 3.937500 +v 14.250000 7.250000 3.937500 +v 14.500000 4.000000 5.375000 +v 14.500000 1.500000 3.875000 +v 14.250000 7.250000 6.062500 +v 13.500000 5.000000 5.375000 +v 13.500000 1.500000 3.875000 +v 14.500000 1.000000 3.625000 +v 13.500000 1.000000 3.625000 +v 13.500000 1.500000 3.625000 +v 14.500000 1.500000 3.625000 +v 13.750000 7.250000 6.062500 +v 14.500000 5.000000 5.375000 +v 14.000000 1.500000 3.625000 +v 13.911612 1.500000 3.661612 +v 13.875000 1.500000 3.750000 +v 13.911612 1.500000 3.838388 +v 14.000000 1.500000 3.875000 +v 14.088388 1.500000 3.838388 +v 14.125000 1.500000 3.750000 +v 14.088388 1.500000 3.661612 +v 14.000000 2.500000 3.625000 +v 13.911612 2.500000 3.661612 +v 13.875000 2.500000 3.750000 +v 13.911612 2.500000 3.838388 +v 14.000000 2.500000 3.875000 +v 14.088388 2.500000 3.838388 +v 14.125000 2.500000 3.750000 +v 14.088388 2.500000 3.661612 +v 14.000000 4.000000 5.125000 +v 13.911612 4.000000 5.161612 +v 13.875000 4.000000 5.250000 +v 13.911612 4.000000 5.338388 +v 14.000000 4.000000 5.375000 +v 14.088388 4.000000 5.338388 +v 14.125000 4.000000 5.250000 +v 14.088388 4.000000 5.161612 +v 14.000000 5.000000 5.125000 +v 13.911612 5.000000 5.161612 +v 13.875000 5.000000 5.250000 +v 13.911612 5.000000 5.338388 +v 14.000000 5.000000 5.375000 +v 14.088388 5.000000 5.338388 +v 14.125000 5.000000 5.250000 +v 14.088388 5.000000 5.161612 +v 15.500000 1.125000 3.625000 +v 15.165152 1.125000 3.691605 +v 14.881281 1.125000 3.881281 +v 14.691606 1.125000 4.165152 +v 14.625000 1.125000 4.500000 +v 14.691606 1.125000 4.834848 +v 14.881281 1.125000 5.118718 +v 15.165152 1.125000 5.308394 +v 15.500000 1.125000 5.375000 +v 15.834847 1.125000 5.308394 +v 16.118717 1.125000 5.118719 +v 16.308395 1.125000 4.834848 +v 16.375000 1.125000 4.500000 +v 16.308395 1.125000 4.165152 +v 16.118717 1.125000 3.881281 +v 15.834847 1.125000 3.691605 +v 15.500000 1.250000 3.625000 +v 15.165152 1.250000 3.691605 +v 14.881281 1.250000 3.881281 +v 16.118717 1.250000 5.118719 +v 16.308395 1.250000 4.834848 +v 16.375000 1.250000 4.500000 +v 16.308395 1.250000 4.165152 +v 16.118717 1.250000 3.881281 +v 15.834847 1.250000 3.691605 +v 15.500000 1.875000 3.625000 +v 15.165152 1.875000 3.691605 +v 14.881281 1.875000 3.881281 +v 14.691606 1.875000 4.165152 +v 14.625000 1.875000 4.500000 +v 14.691606 1.875000 4.834848 +v 14.881281 1.875000 5.118718 +v 15.165152 1.875000 5.308394 +v 15.500000 1.875000 5.375000 +v 15.834847 1.875000 5.308394 +v 16.118717 1.875000 5.118719 +v 16.308395 1.875000 4.834848 +v 16.375000 1.875000 4.500000 +v 16.308395 1.875000 4.165152 +v 16.118717 1.875000 3.881281 +v 15.834847 1.875000 3.691605 +v 15.500000 1.750000 3.625000 +v 15.165152 1.750000 3.691605 +v 14.881281 1.750000 3.881281 +v 16.118717 1.750000 5.118719 +v 16.308395 1.750000 4.834848 +v 16.375000 1.750000 4.500000 +v 16.308395 1.750000 4.165152 +v 16.118717 1.750000 3.881281 +v 15.834847 1.750000 3.691605 +v 15.500000 2.500000 3.500000 +v 15.117317 2.500000 3.576120 +v 14.792893 2.500000 3.792893 +v 14.576120 2.500000 4.117317 +v 14.500000 2.500000 4.500000 +v 14.576120 2.500000 4.882684 +v 14.792893 2.500000 5.207107 +v 15.117317 2.500000 5.423880 +v 15.500000 2.500000 5.500000 +v 15.882683 2.500000 5.423880 +v 16.207108 2.500000 5.207107 +v 16.423880 2.500000 4.882684 +v 16.500000 2.500000 4.500000 +v 16.423880 2.500000 4.117316 +v 16.207108 2.500000 3.792893 +v 15.882683 2.500000 3.576120 +v 15.117317 3.500000 3.576120 +v 15.500000 3.500000 3.500000 +v 14.792893 3.500000 3.792893 +v 14.576120 3.500000 4.117317 +v 14.500000 3.500000 4.500000 +v 14.576120 3.500000 4.882684 +v 14.792893 3.500000 5.207107 +v 15.117317 3.500000 5.423880 +v 15.500000 3.500000 5.500000 +v 15.882683 3.500000 5.423880 +v 16.207108 3.500000 5.207107 +v 16.423880 3.500000 4.882684 +v 16.500000 3.500000 4.500000 +v 16.423880 3.500000 4.117316 +v 16.207108 3.500000 3.792893 +v 15.882683 3.500000 3.576120 +v 15.882683 3.250000 3.576120 +v 16.207108 3.250000 3.792893 +v 16.423880 3.250000 4.117316 +v 16.500000 3.250000 4.500000 +v 16.423880 3.250000 4.882684 +v 16.207108 3.250000 5.207107 +v 14.792893 3.250000 3.792893 +v 15.500000 3.250000 3.500000 +v 15.117317 3.250000 3.576120 +v 15.882683 2.750000 3.576120 +v 16.207108 2.750000 3.792893 +v 16.423880 2.750000 4.117316 +v 16.500000 2.750000 4.500000 +v 16.423880 2.750000 4.882684 +v 16.207108 2.750000 5.207107 +v 14.792893 2.750000 3.792893 +v 15.117317 2.750000 3.576120 +v 15.500000 2.750000 3.500000 +v 15.500000 2.625000 3.625000 +v 15.165152 2.625000 3.691605 +v 14.881281 2.625000 3.881281 +v 14.691606 2.625000 4.165152 +v 14.625000 2.625000 4.500000 +v 14.691606 2.625000 4.834848 +v 14.881281 2.625000 5.118718 +v 15.165152 2.625000 5.308394 +v 15.500000 2.625000 5.375000 +v 15.834847 2.625000 5.308394 +v 16.118717 2.625000 5.118719 +v 16.308395 2.625000 4.834848 +v 16.375000 2.625000 4.500000 +v 16.308395 2.625000 4.165152 +v 16.118717 2.625000 3.881281 +v 15.834847 2.625000 3.691605 +v 15.500000 2.750000 3.625000 +v 15.165152 2.750000 3.691605 +v 14.881281 2.750000 3.881281 +v 16.118717 2.750000 5.118719 +v 16.308395 2.750000 4.834848 +v 16.375000 2.750000 4.500000 +v 16.308395 2.750000 4.165152 +v 16.118717 2.750000 3.881281 +v 15.834847 2.750000 3.691605 +v 15.500000 3.375000 3.625000 +v 15.165152 3.375000 3.691605 +v 14.881281 3.375000 3.881281 +v 14.691606 3.375000 4.165152 +v 14.625000 3.375000 4.500000 +v 14.691606 3.375000 4.834848 +v 14.881281 3.375000 5.118718 +v 15.165152 3.375000 5.308394 +v 15.500000 3.375000 5.375000 +v 15.834847 3.375000 5.308394 +v 16.118717 3.375000 5.118719 +v 16.308395 3.375000 4.834848 +v 16.375000 3.375000 4.500000 +v 16.308395 3.375000 4.165152 +v 16.118717 3.375000 3.881281 +v 15.834847 3.375000 3.691605 +v 15.500000 3.250000 3.625000 +v 15.165152 3.250000 3.691605 +v 14.881281 3.250000 3.881281 +v 16.118717 3.250000 5.118719 +v 16.308395 3.250000 4.834848 +v 16.375000 3.250000 4.500000 +v 16.308395 3.250000 4.165152 +v 16.118717 3.250000 3.881281 +v 15.834847 3.250000 3.691605 +v 15.500000 4.000000 3.500000 +v 15.117317 4.000000 3.576120 +v 14.792893 4.000000 3.792893 +v 14.576120 4.000000 4.117317 +v 14.500000 4.000000 4.500000 +v 14.576120 4.000000 4.882684 +v 14.792893 4.000000 5.207107 +v 15.117317 4.000000 5.423880 +v 15.500000 4.000000 5.500000 +v 15.882683 4.000000 5.423880 +v 16.207108 4.000000 5.207107 +v 16.423880 4.000000 4.882684 +v 16.500000 4.000000 4.500000 +v 16.423880 4.000000 4.117316 +v 16.207108 4.000000 3.792893 +v 15.882683 4.000000 3.576120 +v 15.117317 5.000000 3.576120 +v 15.500000 5.000000 3.500000 +v 14.792893 5.000000 3.792893 +v 14.576120 5.000000 4.117317 +v 14.500000 5.000000 4.500000 +v 14.576120 5.000000 4.882684 +v 14.792893 5.000000 5.207107 +v 15.117317 5.000000 5.423880 +v 15.500000 5.000000 5.500000 +v 15.882683 5.000000 5.423880 +v 16.207108 5.000000 5.207107 +v 16.423880 5.000000 4.882684 +v 16.500000 5.000000 4.500000 +v 16.423880 5.000000 4.117316 +v 16.207108 5.000000 3.792893 +v 15.882683 5.000000 3.576120 +v 15.882683 4.750000 3.576120 +v 16.207108 4.750000 3.792893 +v 16.423880 4.750000 4.117316 +v 16.500000 4.750000 4.500000 +v 16.423880 4.750000 4.882684 +v 16.207108 4.750000 5.207107 +v 14.792893 4.750000 3.792893 +v 15.500000 4.750000 3.500000 +v 15.117317 4.750000 3.576120 +v 15.882683 4.250000 3.576120 +v 16.207108 4.250000 3.792893 +v 16.423880 4.250000 4.117316 +v 16.500000 4.250000 4.500000 +v 16.423880 4.250000 4.882684 +v 16.207108 4.250000 5.207107 +v 14.792893 4.250000 3.792893 +v 15.117317 4.250000 3.576120 +v 15.500000 4.250000 3.500000 +v 15.500000 4.125000 3.625000 +v 15.165152 4.125000 3.691605 +v 14.881281 4.125000 3.881281 +v 14.691606 4.125000 4.165152 +v 14.625000 4.125000 4.500000 +v 14.691606 4.125000 4.834848 +v 14.881281 4.125000 5.118718 +v 15.165152 4.125000 5.308394 +v 15.500000 4.125000 5.375000 +v 15.834847 4.125000 5.308394 +v 16.118717 4.125000 5.118719 +v 16.308395 4.125000 4.834848 +v 16.375000 4.125000 4.500000 +v 16.308395 4.125000 4.165152 +v 16.118717 4.125000 3.881281 +v 15.834847 4.125000 3.691605 +v 15.500000 4.250000 3.625000 +v 15.165152 4.250000 3.691605 +v 14.881281 4.250000 3.881281 +v 16.118717 4.250000 5.118719 +v 16.308395 4.250000 4.834848 +v 16.375000 4.250000 4.500000 +v 16.308395 4.250000 4.165152 +v 16.118717 4.250000 3.881281 +v 15.834847 4.250000 3.691605 +v 15.500000 4.875000 3.625000 +v 15.165152 4.875000 3.691605 +v 14.881281 4.875000 3.881281 +v 14.691606 4.875000 4.165152 +v 14.625000 4.875000 4.500000 +v 14.691606 4.875000 4.834848 +v 14.881281 4.875000 5.118718 +v 15.165152 4.875000 5.308394 +v 15.500000 4.875000 5.375000 +v 15.834847 4.875000 5.308394 +v 16.118717 4.875000 5.118719 +v 16.308395 4.875000 4.834848 +v 16.375000 4.875000 4.500000 +v 16.308395 4.875000 4.165152 +v 16.118717 4.875000 3.881281 +v 15.834847 4.875000 3.691605 +v 15.500000 4.750000 3.625000 +v 15.165152 4.750000 3.691605 +v 14.881281 4.750000 3.881281 +v 16.118717 4.750000 5.118719 +v 16.308395 4.750000 4.834848 +v 16.375000 4.750000 4.500000 +v 16.308395 4.750000 4.165152 +v 16.118717 4.750000 3.881281 +v 15.834847 4.750000 3.691605 +v 15.500000 5.500000 3.500000 +v 15.117317 5.500000 3.576120 +v 14.792893 5.500000 3.792893 +v 14.576120 5.500000 4.117317 +v 14.500000 5.500000 4.500000 +v 14.576120 5.500000 4.882684 +v 14.792893 5.500000 5.207107 +v 15.117317 5.500000 5.423880 +v 15.500000 5.500000 5.500000 +v 15.882683 5.500000 5.423880 +v 16.207108 5.500000 5.207107 +v 16.423880 5.500000 4.882684 +v 16.500000 5.500000 4.500000 +v 16.423880 5.500000 4.117316 +v 16.207108 5.500000 3.792893 +v 15.882683 5.500000 3.576120 +v 15.117317 6.500000 3.576120 +v 15.500000 6.500000 3.500000 +v 14.792893 6.500000 3.792893 +v 14.576120 6.500000 4.117317 +v 14.500000 6.500000 4.500000 +v 14.576120 6.500000 4.882684 +v 14.792893 6.500000 5.207107 +v 15.117317 6.500000 5.423880 +v 15.500000 6.500000 5.500000 +v 15.882683 6.500000 5.423880 +v 16.207108 6.500000 5.207107 +v 16.423880 6.500000 4.882684 +v 16.500000 6.500000 4.500000 +v 16.423880 6.500000 4.117316 +v 16.207108 6.500000 3.792893 +v 15.882683 6.500000 3.576120 +v 15.882683 6.250000 3.576120 +v 16.207108 6.250000 3.792893 +v 16.423880 6.250000 4.117316 +v 16.500000 6.250000 4.500000 +v 16.423880 6.250000 4.882684 +v 16.207108 6.250000 5.207107 +v 14.792893 6.250000 3.792893 +v 15.500000 6.250000 3.500000 +v 15.117317 6.250000 3.576120 +v 15.882683 5.750000 3.576120 +v 16.207108 5.750000 3.792893 +v 16.423880 5.750000 4.117316 +v 16.500000 5.750000 4.500000 +v 16.423880 5.750000 4.882684 +v 16.207108 5.750000 5.207107 +v 14.792893 5.750000 3.792893 +v 15.117317 5.750000 3.576120 +v 15.500000 5.750000 3.500000 +v 15.500000 5.625000 3.625000 +v 15.165152 5.625000 3.691605 +v 14.881281 5.625000 3.881281 +v 14.691606 5.625000 4.165152 +v 14.625000 5.625000 4.500000 +v 14.691606 5.625000 4.834848 +v 14.881281 5.625000 5.118718 +v 15.165152 5.625000 5.308394 +v 15.500000 5.625000 5.375000 +v 15.834847 5.625000 5.308394 +v 16.118717 5.625000 5.118719 +v 16.308395 5.625000 4.834848 +v 16.375000 5.625000 4.500000 +v 16.308395 5.625000 4.165152 +v 16.118717 5.625000 3.881281 +v 15.834847 5.625000 3.691605 +v 15.500000 5.750000 3.625000 +v 15.165152 5.750000 3.691605 +v 14.881281 5.750000 3.881281 +v 16.118717 5.750000 5.118719 +v 16.308395 5.750000 4.834848 +v 16.375000 5.750000 4.500000 +v 16.308395 5.750000 4.165152 +v 16.118717 5.750000 3.881281 +v 15.834847 5.750000 3.691605 +v 15.500000 6.375000 3.625000 +v 15.165152 6.375000 3.691605 +v 14.881281 6.375000 3.881281 +v 14.691606 6.375000 4.165152 +v 14.625000 6.375000 4.500000 +v 14.691606 6.375000 4.834848 +v 14.881281 6.375000 5.118718 +v 15.165152 6.375000 5.308394 +v 15.500000 6.375000 5.375000 +v 15.834847 6.375000 5.308394 +v 16.118717 6.375000 5.118719 +v 16.308395 6.375000 4.834848 +v 16.375000 6.375000 4.500000 +v 16.308395 6.375000 4.165152 +v 16.118717 6.375000 3.881281 +v 15.834847 6.375000 3.691605 +v 15.500000 6.250000 3.625000 +v 15.165152 6.250000 3.691605 +v 14.881281 6.250000 3.881281 +v 16.118717 6.250000 5.118719 +v 16.308395 6.250000 4.834848 +v 16.375000 6.250000 4.500000 +v 16.308395 6.250000 4.165152 +v 16.118717 6.250000 3.881281 +v 15.834847 6.250000 3.691605 +v 14.250000 1.500000 3.625000 +v 14.161612 1.500000 3.661612 +v 14.125000 1.500000 3.750000 +v 14.161612 1.500000 3.838388 +v 14.250000 1.500000 3.875000 +v 14.338388 1.500000 3.838388 +v 14.375000 1.500000 3.750000 +v 14.338388 1.500000 3.661612 +v 14.250000 2.500000 3.625000 +v 14.161612 2.500000 3.661612 +v 14.125000 2.500000 3.750000 +v 14.161612 2.500000 3.838388 +v 14.250000 2.500000 3.875000 +v 14.338388 2.500000 3.838388 +v 14.375000 2.500000 3.750000 +v 14.338388 2.500000 3.661612 +v 14.250000 4.000000 5.125000 +v 14.161612 4.000000 5.161612 +v 14.125000 4.000000 5.250000 +v 14.161612 4.000000 5.338388 +v 14.250000 4.000000 5.375000 +v 14.338388 4.000000 5.338388 +v 14.375000 4.000000 5.250000 +v 14.338388 4.000000 5.161612 +v 14.250000 5.000000 5.125000 +v 14.161612 5.000000 5.161612 +v 14.125000 5.000000 5.250000 +v 14.161612 5.000000 5.338388 +v 14.250000 5.000000 5.375000 +v 14.338388 5.000000 5.338388 +v 14.375000 5.000000 5.250000 +v 14.338388 5.000000 5.161612 +v 13.750000 1.500000 3.625000 +v 13.661612 1.500000 3.661612 +v 13.625000 1.500000 3.750000 +v 13.661612 1.500000 3.838388 +v 13.750000 1.500000 3.875000 +v 13.838388 1.500000 3.838388 +v 13.875000 1.500000 3.750000 +v 13.838388 1.500000 3.661612 +v 13.750000 2.500000 3.625000 +v 13.661612 2.500000 3.661612 +v 13.625000 2.500000 3.750000 +v 13.661612 2.500000 3.838388 +v 13.750000 2.500000 3.875000 +v 13.838388 2.500000 3.838388 +v 13.875000 2.500000 3.750000 +v 13.838388 2.500000 3.661612 +v 13.750000 4.000000 5.125000 +v 13.661612 4.000000 5.161612 +v 13.625000 4.000000 5.250000 +v 13.661612 4.000000 5.338388 +v 13.750000 4.000000 5.375000 +v 13.838388 4.000000 5.338388 +v 13.875000 4.000000 5.250000 +v 13.838388 4.000000 5.161612 +v 13.750000 5.000000 5.125000 +v 13.661612 5.000000 5.161612 +v 13.625000 5.000000 5.250000 +v 13.661612 5.000000 5.338388 +v 13.750000 5.000000 5.375000 +v 13.838388 5.000000 5.338388 +v 13.875000 5.000000 5.250000 +v 13.838388 5.000000 5.161612 +v 14.750000 0.250000 6.250000 +v 16.250000 0.250000 6.250000 +v 14.750000 1.000000 6.250000 +v 16.250000 1.000000 6.250000 +v 14.750000 0.250000 5.750000 +v 16.250000 0.250000 5.750000 +v 14.750000 1.000000 5.750000 +v 16.250000 1.000000 5.750000 +v 15.125000 1.125000 6.375000 +v 15.125000 1.875000 6.375000 +v 14.625000 1.000000 5.500000 +v 14.625000 2.000000 5.500000 +v 15.875000 1.125000 6.375000 +v 15.875000 1.875000 6.375000 +v 16.375000 1.000000 5.500000 +v 16.375000 2.000000 5.500000 +v 14.625000 1.000000 6.375000 +v 14.625000 2.000000 6.375000 +v 16.375000 2.000000 6.375000 +v 16.375000 1.000000 6.375000 +v 15.187500 1.187500 6.500000 +v 15.187500 1.812500 6.500000 +v 15.812500 1.812500 6.500000 +v 15.812500 1.187500 6.500000 +v 15.125000 1.125000 6.500000 +v 15.125000 1.875000 6.500000 +v 15.875000 1.875000 6.500000 +v 15.875000 1.125000 6.500000 +v 15.187500 1.187500 6.375000 +v 15.187500 1.812500 6.375000 +v 15.812500 1.812500 6.375000 +v 15.812500 1.187500 6.375000 +v 15.500000 1.562500 6.375000 +v 15.445873 1.531250 6.375000 +v 15.445873 1.468750 6.375000 +v 15.500000 1.437500 6.375000 +v 15.554127 1.468750 6.375000 +v 15.554127 1.531250 6.375000 +v 15.445873 1.531250 6.500000 +v 15.500000 1.562500 6.500000 +v 15.445873 1.468750 6.500000 +v 15.500000 1.437500 6.500000 +v 15.554127 1.468750 6.500000 +v 15.554127 1.531250 6.500000 +v 15.310556 1.640625 6.437500 +v 15.472937 1.734375 6.437500 +v 15.310556 1.359375 6.437500 +v 15.472937 1.265625 6.437500 +v 15.716507 1.406250 6.437500 +v 15.716507 1.593750 6.437500 +v 15.445873 1.531250 6.437500 +v 15.500000 1.562500 6.437500 +v 15.445873 1.468750 6.437500 +v 15.500000 1.437500 6.437500 +v 15.554127 1.468750 6.437500 +v 15.554127 1.531250 6.437500 +v 15.437500 1.187500 6.500000 +v 15.437500 1.812500 6.500000 +v 15.375000 1.187500 6.500000 +v 15.375000 1.812500 6.500000 +v 15.312500 1.187500 6.500000 +v 15.312500 1.812500 6.500000 +v 15.250000 1.187500 6.500000 +v 15.250000 1.812500 6.500000 +v 15.750000 1.187500 6.500000 +v 15.750000 1.812500 6.500000 +v 15.687500 1.187500 6.500000 +v 15.687500 1.812500 6.500000 +v 15.625000 1.187500 6.500000 +v 15.625000 1.812500 6.500000 +v 15.562500 1.187500 6.500000 +v 15.562500 1.812500 6.500000 +v 15.125000 2.625000 6.375000 +v 15.125000 3.375000 6.375000 +v 14.625000 2.500000 5.500000 +v 14.625000 3.500000 5.500000 +v 15.875000 2.625000 6.375000 +v 15.875000 3.375000 6.375000 +v 16.375000 2.500000 5.500000 +v 16.375000 3.500000 5.500000 +v 14.625000 2.500000 6.375000 +v 14.625000 3.500000 6.375000 +v 16.375000 3.500000 6.375000 +v 16.375000 2.500000 6.375000 +v 15.187500 2.687500 6.500000 +v 15.187500 3.312500 6.500000 +v 15.812500 3.312500 6.500000 +v 15.812500 2.687500 6.500000 +v 15.125000 2.625000 6.500000 +v 15.125000 3.375000 6.500000 +v 15.875000 3.375000 6.500000 +v 15.875000 2.625000 6.500000 +v 15.187500 2.687500 6.375000 +v 15.187500 3.312500 6.375000 +v 15.812500 3.312500 6.375000 +v 15.812500 2.687500 6.375000 +v 15.500000 3.062500 6.375000 +v 15.445873 3.031250 6.375000 +v 15.445873 2.968750 6.375000 +v 15.500000 2.937500 6.375000 +v 15.554127 2.968750 6.375000 +v 15.554127 3.031250 6.375000 +v 15.445873 3.031250 6.500000 +v 15.500000 3.062500 6.500000 +v 15.445873 2.968750 6.500000 +v 15.500000 2.937500 6.500000 +v 15.554127 2.968750 6.500000 +v 15.554127 3.031250 6.500000 +v 15.310556 3.140625 6.437500 +v 15.472937 3.234375 6.437500 +v 15.310556 2.859375 6.437500 +v 15.472937 2.765625 6.437500 +v 15.716507 2.906250 6.437500 +v 15.716507 3.093750 6.437500 +v 15.445873 3.031250 6.437500 +v 15.500000 3.062500 6.437500 +v 15.445873 2.968750 6.437500 +v 15.500000 2.937500 6.437500 +v 15.554127 2.968750 6.437500 +v 15.554127 3.031250 6.437500 +v 15.437500 2.687500 6.500000 +v 15.437500 3.312500 6.500000 +v 15.375000 2.687500 6.500000 +v 15.375000 3.312500 6.500000 +v 15.312500 2.687500 6.500000 +v 15.312500 3.312500 6.500000 +v 15.250000 2.687500 6.500000 +v 15.250000 3.312500 6.500000 +v 15.750000 2.687500 6.500000 +v 15.750000 3.312500 6.500000 +v 15.687500 2.687500 6.500000 +v 15.687500 3.312500 6.500000 +v 15.625000 2.687500 6.500000 +v 15.625000 3.312500 6.500000 +v 15.562500 2.687500 6.500000 +v 15.562500 3.312500 6.500000 +v 14.750000 2.000000 6.312500 +v 16.250000 2.000000 6.312500 +v 14.750000 2.000000 5.812500 +v 16.250000 2.000000 5.812500 +v 14.750000 2.500000 6.312500 +v 16.250000 2.500000 6.312500 +v 14.750000 2.500000 5.812500 +v 16.250000 2.500000 5.812500 +v 15.875000 2.375000 5.812500 +v 15.786612 2.338388 5.812500 +v 15.750000 2.250000 5.812500 +v 15.786612 2.161612 5.812500 +v 15.875000 2.125000 5.812500 +v 15.963388 2.161612 5.812500 +v 16.000000 2.250000 5.812500 +v 15.963388 2.338388 5.812500 +v 15.875000 2.375000 5.062500 +v 15.786612 2.338388 5.062500 +v 15.750000 2.250000 5.062500 +v 15.786612 2.161612 5.062500 +v 15.875000 2.125000 5.062500 +v 15.963388 2.161612 5.062500 +v 16.000000 2.250000 5.062500 +v 15.963388 2.338388 5.062500 +v 15.125000 2.375000 5.812500 +v 15.036612 2.338388 5.812500 +v 15.000000 2.250000 5.812500 +v 15.036612 2.161612 5.812500 +v 15.125000 2.125000 5.812500 +v 15.213388 2.161612 5.812500 +v 15.250000 2.250000 5.812500 +v 15.213388 2.338388 5.812500 +v 15.125000 2.375000 5.062500 +v 15.036612 2.338388 5.062500 +v 15.000000 2.250000 5.062500 +v 15.036612 2.161612 5.062500 +v 15.125000 2.125000 5.062500 +v 15.213388 2.161612 5.062500 +v 15.250000 2.250000 5.062500 +v 15.213388 2.338388 5.062500 +v 14.750000 3.500000 6.312500 +v 16.250000 3.500000 6.312500 +v 14.750000 3.500000 5.812500 +v 16.250000 3.500000 5.812500 +v 14.500000 5.000000 3.625000 +v 13.500000 5.000000 3.625000 +v 14.750000 4.000000 5.812500 +v 16.250000 4.000000 5.812500 +v 15.875000 3.875000 5.812500 +v 15.786612 3.838388 5.812500 +v 15.750000 3.750000 5.812500 +v 15.786612 3.661612 5.812500 +v 15.875000 3.625000 5.812500 +v 15.963388 3.661612 5.812500 +v 16.000000 3.750000 5.812500 +v 15.963388 3.838388 5.812500 +v 15.875000 3.875000 5.062500 +v 15.786612 3.838388 5.062500 +v 15.750000 3.750000 5.062500 +v 15.786612 3.661612 5.062500 +v 15.875000 3.625000 5.062500 +v 15.963388 3.661612 5.062500 +v 16.000000 3.750000 5.062500 +v 15.963388 3.838388 5.062500 +v 15.125000 3.875000 5.812500 +v 15.036612 3.838388 5.812500 +v 15.000000 3.750000 5.812500 +v 15.036612 3.661612 5.812500 +v 15.125000 3.625000 5.812500 +v 15.213388 3.661612 5.812500 +v 15.250000 3.750000 5.812500 +v 15.213388 3.838388 5.812500 +v 15.125000 3.875000 5.062500 +v 15.036612 3.838388 5.062500 +v 15.000000 3.750000 5.062500 +v 15.036612 3.661612 5.062500 +v 15.125000 3.625000 5.062500 +v 15.213388 3.661612 5.062500 +v 15.250000 3.750000 5.062500 +v 15.213388 3.838388 5.062500 +v 14.750000 3.750000 6.312500 +v 14.750000 4.000000 6.062500 +v 16.250000 4.000000 6.062500 +v 16.250000 3.750000 6.312500 +v 13.625000 6.000000 6.250000 +v 14.375000 6.000000 6.250000 +v 14.375000 6.000000 3.750000 +v 13.625000 6.000000 3.750000 +v 14.250000 4.000000 4.625000 +v 14.161612 4.000000 4.661612 +v 14.125000 4.000000 4.750000 +v 14.161612 4.000000 4.838388 +v 14.250000 4.000000 4.875000 +v 14.338388 4.000000 4.838388 +v 14.375000 4.000000 4.750000 +v 14.338388 4.000000 4.661612 +v 14.250000 5.000000 4.625000 +v 14.161612 5.000000 4.661612 +v 14.125000 5.000000 4.750000 +v 14.161612 5.000000 4.838388 +v 14.250000 5.000000 4.875000 +v 14.338388 5.000000 4.838388 +v 14.375000 5.000000 4.750000 +v 14.338388 5.000000 4.661612 +v 14.250000 4.000000 3.625000 +v 14.161612 4.000000 3.661612 +v 14.125000 4.000000 3.750000 +v 14.161612 4.000000 3.838388 +v 14.250000 4.000000 3.875000 +v 14.338388 4.000000 3.838388 +v 14.375000 4.000000 3.750000 +v 14.338388 4.000000 3.661612 +v 14.250000 5.000000 3.625000 +v 14.161612 5.000000 3.661612 +v 14.125000 5.000000 3.750000 +v 14.161612 5.000000 3.838388 +v 14.250000 5.000000 3.875000 +v 14.338388 5.000000 3.838388 +v 14.375000 5.000000 3.750000 +v 14.338388 5.000000 3.661612 +v 14.161612 3.849112 3.724112 +v 14.250000 3.823223 3.698223 +v 14.161612 3.963388 4.625000 +v 14.125000 3.875000 4.625000 +v 14.161612 3.786612 4.625000 +v 14.250000 3.750000 4.625000 +v 14.338388 3.786612 4.625000 +v 14.375000 3.875000 4.625000 +v 14.338388 3.963388 4.625000 +v 14.338388 3.974112 4.650888 +v 14.375000 3.911612 4.713388 +v 14.338388 3.849112 4.775888 +v 14.250000 3.823223 4.801777 +v 14.161612 3.849112 4.775888 +v 14.125000 3.911612 4.713388 +v 14.161612 3.974112 4.650888 +v 14.125000 3.911612 3.786612 +v 14.161612 3.974112 3.849112 +v 14.338388 3.974112 3.849112 +v 14.375000 3.911612 3.786612 +v 14.338388 3.849112 3.724112 +v 14.161612 3.786612 3.875000 +v 14.250000 3.750000 3.875000 +v 14.125000 3.875000 3.875000 +v 14.161612 3.963388 3.875000 +v 14.338388 3.963388 3.875000 +v 14.375000 3.875000 3.875000 +v 14.338388 3.786612 3.875000 +v 14.000000 4.000000 4.625000 +v 13.911612 4.000000 4.661612 +v 13.875000 4.000000 4.750000 +v 13.911612 4.000000 4.838388 +v 14.000000 4.000000 4.875000 +v 14.088388 4.000000 4.838388 +v 14.125000 4.000000 4.750000 +v 14.088388 4.000000 4.661612 +v 14.000000 5.000000 4.625000 +v 13.911612 5.000000 4.661612 +v 13.875000 5.000000 4.750000 +v 13.911612 5.000000 4.838388 +v 14.000000 5.000000 4.875000 +v 14.088388 5.000000 4.838388 +v 14.125000 5.000000 4.750000 +v 14.088388 5.000000 4.661612 +v 14.000000 4.000000 3.625000 +v 13.911612 4.000000 3.661612 +v 13.875000 4.000000 3.750000 +v 13.911612 4.000000 3.838388 +v 14.000000 4.000000 3.875000 +v 14.088388 4.000000 3.838388 +v 14.125000 4.000000 3.750000 +v 14.088388 4.000000 3.661612 +v 14.000000 5.000000 3.625000 +v 13.911612 5.000000 3.661612 +v 13.875000 5.000000 3.750000 +v 13.911612 5.000000 3.838388 +v 14.000000 5.000000 3.875000 +v 14.088388 5.000000 3.838388 +v 14.125000 5.000000 3.750000 +v 14.088388 5.000000 3.661612 +v 13.911612 3.849112 3.724112 +v 14.000000 3.823223 3.698223 +v 13.911612 3.963388 4.625000 +v 13.875000 3.875000 4.625000 +v 13.911612 3.786612 4.625000 +v 14.000000 3.750000 4.625000 +v 14.088388 3.786612 4.625000 +v 14.125000 3.875000 4.625000 +v 14.088388 3.963388 4.625000 +v 14.088388 3.974112 4.650888 +v 14.125000 3.911612 4.713388 +v 14.088388 3.849112 4.775888 +v 14.000000 3.823223 4.801777 +v 13.911612 3.849112 4.775888 +v 13.875000 3.911612 4.713388 +v 13.911612 3.974112 4.650888 +v 13.875000 3.911612 3.786612 +v 13.911612 3.974112 3.849112 +v 14.088388 3.974112 3.849112 +v 14.125000 3.911612 3.786612 +v 14.088388 3.849112 3.724112 +v 13.911612 3.786612 3.875000 +v 14.000000 3.750000 3.875000 +v 13.875000 3.875000 3.875000 +v 13.911612 3.963388 3.875000 +v 14.088388 3.963388 3.875000 +v 14.125000 3.875000 3.875000 +v 14.088388 3.786612 3.875000 +v 13.750000 4.000000 4.625000 +v 13.661612 4.000000 4.661612 +v 13.625000 4.000000 4.750000 +v 13.661612 4.000000 4.838388 +v 13.750000 4.000000 4.875000 +v 13.838388 4.000000 4.838388 +v 13.875000 4.000000 4.750000 +v 13.838388 4.000000 4.661612 +v 13.750000 5.000000 4.625000 +v 13.661612 5.000000 4.661612 +v 13.625000 5.000000 4.750000 +v 13.661612 5.000000 4.838388 +v 13.750000 5.000000 4.875000 +v 13.838388 5.000000 4.838388 +v 13.875000 5.000000 4.750000 +v 13.838388 5.000000 4.661612 +v 13.750000 4.000000 3.625000 +v 13.661612 4.000000 3.661612 +v 13.625000 4.000000 3.750000 +v 13.661612 4.000000 3.838388 +v 13.750000 4.000000 3.875000 +v 13.838388 4.000000 3.838388 +v 13.875000 4.000000 3.750000 +v 13.838388 4.000000 3.661612 +v 13.750000 5.000000 3.625000 +v 13.661612 5.000000 3.661612 +v 13.625000 5.000000 3.750000 +v 13.661612 5.000000 3.838388 +v 13.750000 5.000000 3.875000 +v 13.838388 5.000000 3.838388 +v 13.875000 5.000000 3.750000 +v 13.838388 5.000000 3.661612 +v 13.661612 3.849112 3.724112 +v 13.750000 3.823223 3.698223 +v 13.661612 3.963388 4.625000 +v 13.625000 3.875000 4.625000 +v 13.661612 3.786612 4.625000 +v 13.750000 3.750000 4.625000 +v 13.838388 3.786612 4.625000 +v 13.875000 3.875000 4.625000 +v 13.838388 3.963388 4.625000 +v 13.838388 3.974112 4.650888 +v 13.875000 3.911612 4.713388 +v 13.838388 3.849112 4.775888 +v 13.750000 3.823223 4.801777 +v 13.661612 3.849112 4.775888 +v 13.625000 3.911612 4.713388 +v 13.661612 3.974112 4.650888 +v 13.625000 3.911612 3.786612 +v 13.661612 3.974112 3.849112 +v 13.838388 3.974112 3.849112 +v 13.875000 3.911612 3.786612 +v 13.838388 3.849112 3.724112 +v 13.661612 3.786612 3.875000 +v 13.750000 3.750000 3.875000 +v 13.625000 3.875000 3.875000 +v 13.661612 3.963388 3.875000 +v 13.838388 3.963388 3.875000 +v 13.875000 3.875000 3.875000 +v 13.838388 3.786612 3.875000 +v 14.000000 5.000000 3.875000 +v 13.734835 5.000000 3.984835 +v 13.625000 5.000000 4.250000 +v 13.734835 5.000000 4.515165 +v 14.000000 5.000000 4.625000 +v 14.265165 5.000000 4.515165 +v 14.375000 5.000000 4.250000 +v 14.265165 5.000000 3.984835 +v 14.000000 4.000000 3.875000 +v 13.734835 4.000000 3.984835 +v 13.625000 4.000000 4.250000 +v 13.734835 4.000000 4.515165 +v 14.000000 4.000000 4.625000 +v 14.265165 4.000000 4.515165 +v 14.375000 4.000000 4.250000 +v 14.265165 4.000000 3.984835 +v 13.500000 6.000000 6.375000 +v 14.500000 6.000000 6.375000 +v 14.500000 6.000000 3.625000 +v 13.500000 6.000000 3.625000 +v 13.625000 6.250000 6.250000 +v 14.375000 6.250000 6.250000 +v 14.375000 6.250000 3.750000 +v 13.625000 6.250000 3.750000 +v 13.968750 6.250000 6.125000 +v 14.031250 6.250000 6.125000 +v 13.968750 6.250000 3.875000 +v 14.031250 6.250000 3.875000 +v 13.968750 6.500000 3.875000 +v 13.968750 6.500000 6.125000 +v 14.031250 6.500000 6.125000 +v 14.031250 6.500000 3.875000 +v 14.093750 6.250000 6.125000 +v 14.156250 6.250000 6.125000 +v 14.093750 6.250000 3.875000 +v 14.156250 6.250000 3.875000 +v 14.093750 6.500000 3.875000 +v 14.093750 6.500000 6.125000 +v 14.156250 6.500000 6.125000 +v 14.156250 6.500000 3.875000 +v 14.218750 6.250000 6.125000 +v 14.281250 6.250000 6.125000 +v 14.218750 6.250000 3.875000 +v 14.281250 6.250000 3.875000 +v 14.218750 6.500000 3.875000 +v 14.218750 6.500000 6.125000 +v 14.281250 6.500000 6.125000 +v 14.281250 6.500000 3.875000 +v 13.718750 6.250000 6.125000 +v 13.781250 6.250000 6.125000 +v 13.718750 6.250000 3.875000 +v 13.781250 6.250000 3.875000 +v 13.718750 6.500000 3.875000 +v 13.718750 6.500000 6.125000 +v 13.781250 6.500000 6.125000 +v 13.781250 6.500000 3.875000 +v 13.843750 6.250000 6.125000 +v 13.906250 6.250000 6.125000 +v 13.843750 6.250000 3.875000 +v 13.906250 6.250000 3.875000 +v 13.843750 6.500000 3.875000 +v 13.843750 6.500000 6.125000 +v 13.906250 6.500000 6.125000 +v 13.906250 6.500000 3.875000 +v 13.750000 7.375000 6.062500 +v 13.750000 7.375000 3.937500 +v 14.250000 7.375000 3.937500 +v 14.250000 7.375000 6.062500 +v 13.625000 7.375000 6.250000 +v 13.625000 7.375000 3.750000 +v 14.375000 7.375000 3.750000 +v 14.375000 7.375000 6.250000 +v 13.625000 7.250000 6.250000 +v 13.625000 7.250000 3.750000 +v 14.375000 7.250000 3.750000 +v 14.375000 7.250000 6.250000 +v 13.625000 6.250000 3.750000 +v 13.625000 6.250000 3.875000 +v 13.750000 6.250000 3.750000 +v 13.750000 6.250000 3.875000 +v 13.625000 7.250000 3.750000 +v 13.625000 7.250000 3.875000 +v 13.750000 7.250000 3.750000 +v 13.750000 7.250000 3.875000 +v 14.250000 6.250000 3.750000 +v 14.250000 6.250000 3.875000 +v 14.375000 6.250000 3.750000 +v 14.375000 6.250000 3.875000 +v 14.250000 7.250000 3.750000 +v 14.250000 7.250000 3.875000 +v 14.375000 7.250000 3.750000 +v 14.375000 7.250000 3.875000 +v 13.625000 6.250000 6.125000 +v 13.625000 6.250000 6.250000 +v 13.750000 6.250000 6.125000 +v 13.750000 6.250000 6.250000 +v 13.625000 7.250000 6.125000 +v 13.625000 7.250000 6.250000 +v 13.750000 7.250000 6.125000 +v 13.750000 7.250000 6.250000 +v 14.250000 6.250000 6.125000 +v 14.250000 6.250000 6.250000 +v 14.375000 6.250000 6.125000 +v 14.375000 6.250000 6.250000 +v 14.250000 7.250000 6.125000 +v 14.250000 7.250000 6.250000 +v 14.375000 7.250000 6.125000 +v 14.375000 7.250000 6.250000 +v 13.625000 6.250000 4.812500 +v 14.375000 6.250000 4.812500 +v 13.750000 6.750000 4.875000 +v 14.250000 6.750000 4.875000 +v 13.625000 6.250000 5.187500 +v 14.375000 6.250000 5.187500 +v 13.750000 6.750000 5.125000 +v 14.250000 6.750000 5.125000 +v 13.625000 6.750000 4.812500 +v 14.375000 6.750000 4.812500 +v 13.625000 6.750000 5.187500 +v 14.375000 6.750000 5.187500 +v 13.750000 7.375000 4.875000 +v 14.250000 7.375000 4.875000 +v 13.750000 7.375000 5.125000 +v 14.250000 7.375000 5.125000 +v 15.875000 5.375000 5.562500 +v 15.786612 5.338388 5.562500 +v 15.750000 5.250000 5.562500 +v 15.786612 5.161612 5.562500 +v 15.875000 5.125000 5.562500 +v 15.963388 5.161612 5.562500 +v 16.000000 5.250000 5.562500 +v 15.963388 5.338388 5.562500 +v 15.875000 5.375000 5.062500 +v 15.786612 5.338388 5.062500 +v 15.750000 5.250000 5.062500 +v 15.786612 5.161612 5.062500 +v 15.875000 5.125000 5.062500 +v 15.963388 5.161612 5.062500 +v 16.000000 5.250000 5.062500 +v 15.963388 5.338388 5.062500 +v 15.125000 5.375000 5.562500 +v 15.036612 5.338388 5.562500 +v 15.000000 5.250000 5.562500 +v 15.036612 5.161612 5.562500 +v 15.125000 5.125000 5.562500 +v 15.213388 5.161612 5.562500 +v 15.250000 5.250000 5.562500 +v 15.213388 5.338388 5.562500 +v 15.125000 5.375000 5.062500 +v 15.036612 5.338388 5.062500 +v 15.000000 5.250000 5.062500 +v 15.036612 5.161612 5.062500 +v 15.125000 5.125000 5.062500 +v 15.213388 5.161612 5.062500 +v 15.250000 5.250000 5.062500 +v 15.213388 5.338388 5.062500 +v 14.750000 4.875000 5.562500 +v 16.250000 4.875000 5.562500 +v 14.750000 5.625000 5.562500 +v 16.250000 5.625000 5.562500 +v 14.750000 5.625000 6.312500 +v 14.750000 4.875000 6.312500 +v 16.250000 4.875000 6.312500 +v 16.250000 5.625000 6.312500 +v 15.687500 3.875000 5.937500 +v 15.599112 3.875000 5.974112 +v 15.562500 3.875000 6.062500 +v 15.599112 3.875000 6.150888 +v 15.687500 3.875000 6.187500 +v 15.775888 3.875000 6.150888 +v 15.812500 3.875000 6.062500 +v 15.775888 3.875000 5.974112 +v 15.687500 4.875000 5.937500 +v 15.599112 4.875000 5.974112 +v 15.562500 4.875000 6.062500 +v 15.599112 4.875000 6.150888 +v 15.687500 4.875000 6.187500 +v 15.775888 4.875000 6.150888 +v 15.812500 4.875000 6.062500 +v 15.775888 4.875000 5.974112 +v 16.062500 3.875000 5.937500 +v 15.974112 3.875000 5.974112 +v 15.937500 3.875000 6.062500 +v 15.974112 3.875000 6.150888 +v 16.062500 3.875000 6.187500 +v 16.150888 3.875000 6.150888 +v 16.187500 3.875000 6.062500 +v 16.150888 3.875000 5.974112 +v 16.062500 4.875000 5.937500 +v 15.974112 4.875000 5.974112 +v 15.937500 4.875000 6.062500 +v 15.974112 4.875000 6.150888 +v 16.062500 4.875000 6.187500 +v 16.150888 4.875000 6.150888 +v 16.187500 4.875000 6.062500 +v 16.150888 4.875000 5.974112 +v 14.937500 3.875000 5.937500 +v 14.849112 3.875000 5.974112 +v 14.812500 3.875000 6.062500 +v 14.849112 3.875000 6.150888 +v 14.937500 3.875000 6.187500 +v 15.025888 3.875000 6.150888 +v 15.062500 3.875000 6.062500 +v 15.025888 3.875000 5.974112 +v 14.937500 4.875000 5.937500 +v 14.849112 4.875000 5.974112 +v 14.812500 4.875000 6.062500 +v 14.849112 4.875000 6.150888 +v 14.937500 4.875000 6.187500 +v 15.025888 4.875000 6.150888 +v 15.062500 4.875000 6.062500 +v 15.025888 4.875000 5.974112 +v 15.312500 3.875000 5.937500 +v 15.224112 3.875000 5.974112 +v 15.187500 3.875000 6.062500 +v 15.224112 3.875000 6.150888 +v 15.312500 3.875000 6.187500 +v 15.400888 3.875000 6.150888 +v 15.437500 3.875000 6.062500 +v 15.400888 3.875000 5.974112 +v 15.312500 4.875000 5.937500 +v 15.224112 4.875000 5.974112 +v 15.187500 4.875000 6.062500 +v 15.224112 4.875000 6.150888 +v 15.312500 4.875000 6.187500 +v 15.400888 4.875000 6.150888 +v 15.437500 4.875000 6.062500 +v 15.400888 4.875000 5.974112 +v 16.000000 5.625000 5.500000 +v 15.750000 5.625000 5.566987 +v 15.566987 5.625000 5.750000 +v 15.500000 5.625000 6.000000 +v 15.566987 5.625000 6.250000 +v 15.750000 5.625000 6.433013 +v 16.000000 5.625000 6.500000 +v 16.250000 5.625000 6.433013 +v 16.433012 5.625000 6.250000 +v 16.500000 5.625000 6.000000 +v 16.433014 5.625000 5.750000 +v 16.250000 5.625000 5.566988 +v 15.750001 8.125000 5.566987 +v 16.000000 8.125000 5.500000 +v 15.566988 8.125000 5.750000 +v 15.500001 8.125000 6.000000 +v 15.566988 8.125000 6.250000 +v 15.750001 8.125000 6.433013 +v 16.000000 8.125000 6.500000 +v 16.250000 8.125000 6.433013 +v 16.433014 8.125000 6.250000 +v 16.500000 8.125000 6.000000 +v 16.433014 8.125000 5.750000 +v 16.250000 8.125000 5.566988 +v 15.000000 5.625000 5.500000 +v 14.750000 5.625000 5.566987 +v 14.566987 5.625000 5.750000 +v 14.500000 5.625000 6.000000 +v 14.566987 5.625000 6.250000 +v 14.750000 5.625000 6.433013 +v 15.000000 5.625000 6.500000 +v 15.250000 5.625000 6.433013 +v 15.433012 5.625000 6.250000 +v 15.500000 5.625000 6.000000 +v 15.433013 5.625000 5.750000 +v 15.250000 5.625000 5.566988 +v 14.750001 8.125000 5.566987 +v 15.000001 8.125000 5.500000 +v 14.566988 8.125000 5.750000 +v 14.500001 8.125000 6.000000 +v 14.566988 8.125000 6.250000 +v 14.750001 8.125000 6.433013 +v 15.000001 8.125000 6.500000 +v 15.250001 8.125000 6.433013 +v 15.433014 8.125000 6.250000 +v 15.500001 8.125000 6.000000 +v 15.433014 8.125000 5.750000 +v 15.250001 8.125000 5.566988 +v 13.625000 7.375000 3.750000 +v 13.625000 7.375000 3.875000 +v 13.750000 7.375000 3.750000 +v 13.750000 7.375000 3.875000 +v 13.625000 7.625000 3.750000 +v 13.625000 7.625000 3.875000 +v 13.750000 7.625000 3.750000 +v 13.750000 7.625000 3.875000 +v 14.250000 7.375000 3.750000 +v 14.250000 7.375000 3.875000 +v 14.375000 7.375000 3.750000 +v 14.375000 7.375000 3.875000 +v 14.250000 7.625000 3.750000 +v 14.250000 7.625000 3.875000 +v 14.375000 7.625000 3.750000 +v 14.375000 7.625000 3.875000 +v 13.625000 7.375000 6.125000 +v 13.625000 7.375000 6.250000 +v 13.750000 7.375000 6.125000 +v 13.750000 7.375000 6.250000 +v 13.625000 7.625000 6.125000 +v 13.625000 7.625000 6.250000 +v 13.750000 7.625000 6.125000 +v 13.750000 7.625000 6.250000 +v 14.250000 7.375000 6.125000 +v 14.250000 7.375000 6.250000 +v 14.375000 7.375000 6.125000 +v 14.375000 7.375000 6.250000 +v 14.250000 7.625000 6.125000 +v 14.250000 7.625000 6.250000 +v 14.375000 7.625000 6.125000 +v 14.375000 7.625000 6.250000 +v 13.500000 7.625000 6.375000 +v 14.500000 7.625000 6.375000 +v 13.500000 7.625000 3.625000 +v 14.500000 7.625000 3.625000 +v 13.625000 8.625000 3.750000 +v 13.625000 8.625000 6.250000 +v 14.375000 8.625000 6.250000 +v 14.375000 8.625000 3.750000 +v 14.000000 8.500000 3.625000 +v 13.812500 8.449759 3.625000 +v 13.675241 8.312500 3.625000 +v 13.625000 8.125000 3.625000 +v 13.675241 7.937500 3.625000 +v 13.812500 7.800241 3.625000 +v 14.000000 7.750000 3.625000 +v 14.187500 7.800241 3.625000 +v 14.324759 7.937500 3.625000 +v 14.375000 8.125000 3.625000 +v 14.324759 8.312500 3.625000 +v 14.187500 8.449759 3.625000 +v 13.844852 8.393723 3.500000 +v 14.000000 8.435295 3.500000 +v 13.731277 8.280148 3.500000 +v 13.689705 8.125000 3.500000 +v 13.731277 7.969852 3.500000 +v 13.844852 7.856277 3.500000 +v 14.000000 7.814705 3.500000 +v 14.155148 7.856277 3.500000 +v 14.268723 7.969852 3.500000 +v 14.310295 8.125000 3.500000 +v 14.268723 8.280148 3.500000 +v 14.155148 8.393723 3.500000 +v 13.812500 8.449759 3.500000 +v 14.000000 8.500000 3.500000 +v 13.675241 8.312500 3.500000 +v 13.625000 8.125000 3.500000 +v 13.675241 7.937500 3.500000 +v 13.812500 7.800241 3.500000 +v 14.000000 7.750000 3.500000 +v 14.187500 7.800241 3.500000 +v 14.324759 7.937500 3.500000 +v 14.375000 8.125000 3.500000 +v 14.324759 8.312500 3.500000 +v 14.187500 8.449759 3.500000 +v 13.844852 8.393723 3.625000 +v 14.000000 8.435295 3.625000 +v 13.731277 8.280148 3.625000 +v 13.689705 8.125000 3.625000 +v 13.731277 7.969852 3.625000 +v 13.844852 7.856277 3.625000 +v 14.000000 7.814705 3.625000 +v 14.155148 7.856277 3.625000 +v 14.268723 7.969852 3.625000 +v 14.310295 8.125000 3.625000 +v 14.268723 8.280148 3.625000 +v 14.155148 8.393723 3.625000 +v 14.000000 8.500000 6.500000 +v 13.812500 8.449759 6.500000 +v 13.675241 8.312500 6.500000 +v 13.625000 8.125000 6.500000 +v 13.675241 7.937500 6.500000 +v 13.812500 7.800241 6.500000 +v 14.000000 7.750000 6.500000 +v 14.187500 7.800241 6.500000 +v 14.324759 7.937500 6.500000 +v 14.375000 8.125000 6.500000 +v 14.324759 8.312500 6.500000 +v 14.187500 8.449759 6.500000 +v 13.844852 8.393723 6.375000 +v 14.000000 8.435295 6.375000 +v 13.731277 8.280148 6.375000 +v 13.689705 8.125000 6.375000 +v 13.731277 7.969852 6.375000 +v 13.844852 7.856277 6.375000 +v 14.000000 7.814705 6.375000 +v 14.155148 7.856277 6.375000 +v 14.268723 7.969852 6.375000 +v 14.310295 8.125000 6.375000 +v 14.268723 8.280148 6.375000 +v 14.155148 8.393723 6.375000 +v 13.812500 8.449759 6.375000 +v 14.000000 8.500000 6.375000 +v 13.675241 8.312500 6.375000 +v 13.625000 8.125000 6.375000 +v 13.675241 7.937500 6.375000 +v 13.812500 7.800241 6.375000 +v 14.000000 7.750000 6.375000 +v 14.187500 7.800241 6.375000 +v 14.324759 7.937500 6.375000 +v 14.375000 8.125000 6.375000 +v 14.324759 8.312500 6.375000 +v 14.187500 8.449759 6.375000 +v 13.844852 8.393723 6.500000 +v 14.000000 8.435295 6.500000 +v 13.731277 8.280148 6.500000 +v 13.689705 8.125000 6.500000 +v 13.731277 7.969852 6.500000 +v 13.844852 7.856277 6.500000 +v 14.000000 7.814705 6.500000 +v 14.155148 7.856277 6.500000 +v 14.268723 7.969852 6.500000 +v 14.310295 8.125000 6.500000 +v 14.268723 8.280148 6.500000 +v 14.155148 8.393723 6.500000 +v 14.000000 8.375000 3.625000 +v 13.875000 8.341507 3.625000 +v 13.783493 8.250000 3.625000 +v 13.750000 8.125000 3.625000 +v 13.783493 8.000000 3.625000 +v 13.875000 7.908494 3.625000 +v 14.000000 7.875000 3.625000 +v 14.125000 7.908494 3.625000 +v 14.216507 8.000000 3.625000 +v 14.250000 8.125000 3.625000 +v 14.216507 8.250000 3.625000 +v 14.125000 8.341506 3.625000 +v 13.906250 8.287380 3.500000 +v 14.000000 8.312500 3.500000 +v 13.837620 8.218750 3.500000 +v 13.812500 8.125000 3.500000 +v 13.837620 8.031250 3.500000 +v 13.906250 7.962620 3.500000 +v 14.000000 7.937500 3.500000 +v 14.093750 7.962620 3.500000 +v 14.162380 8.031250 3.500000 +v 14.187500 8.125000 3.500000 +v 14.162380 8.218750 3.500000 +v 14.093750 8.287379 3.500000 +v 14.000000 8.375000 6.375000 +v 14.125000 8.341507 6.375000 +v 14.216507 8.250000 6.375000 +v 14.250000 8.125000 6.375000 +v 14.216507 8.000000 6.375000 +v 14.125000 7.908494 6.375000 +v 14.000000 7.875000 6.375000 +v 13.875000 7.908494 6.375000 +v 13.783494 8.000000 6.375000 +v 13.750000 8.125000 6.375000 +v 13.783494 8.250000 6.375000 +v 13.875000 8.341506 6.375000 +v 14.093750 8.287380 6.500000 +v 14.000000 8.312500 6.500000 +v 14.162380 8.218750 6.500000 +v 14.187500 8.125000 6.500000 +v 14.162380 8.031250 6.500000 +v 14.093750 7.962620 6.500000 +v 14.000000 7.937500 6.500000 +v 13.906250 7.962620 6.500000 +v 13.837621 8.031250 6.500000 +v 13.812500 8.125000 6.500000 +v 13.837620 8.218750 6.500000 +v 13.906250 8.287379 6.500000 +v 14.875001 8.125000 6.250000 +v 15.125001 8.125000 6.250000 +v 14.875001 8.125000 5.750000 +v 15.125001 8.125000 5.750000 +v 14.875001 8.625000 6.250000 +v 15.125001 8.625000 6.250000 +v 14.875001 8.625000 5.750000 +v 15.125001 8.625000 5.750000 +v 15.875001 8.125000 6.250000 +v 16.125000 8.125000 6.250000 +v 15.875001 8.125000 5.750000 +v 16.125000 8.125000 5.750000 +v 15.875001 8.625000 6.250000 +v 16.125000 8.625000 6.250000 +v 15.875001 8.625000 5.750000 +v 16.125000 8.625000 5.750000 +v 14.875001 8.375000 6.000000 +v 14.875001 8.463388 6.036612 +v 14.875001 8.500000 6.125000 +v 14.875001 8.463388 6.213388 +v 14.875001 8.375000 6.250000 +v 14.875001 8.286612 6.213388 +v 14.875001 8.250000 6.125000 +v 14.875001 8.286612 6.036612 +v 14.500001 8.375000 6.000000 +v 14.500001 8.463388 6.036612 +v 14.500001 8.500000 6.125000 +v 14.500001 8.463388 6.213388 +v 14.500001 8.375000 6.250000 +v 14.500001 8.286612 6.213388 +v 14.500001 8.250000 6.125000 +v 14.500001 8.286612 6.036612 +v 15.875001 8.375000 6.000000 +v 15.875001 8.463388 6.036612 +v 15.875001 8.500000 6.125000 +v 15.875001 8.463388 6.213388 +v 15.875001 8.375000 6.250000 +v 15.875001 8.286612 6.213388 +v 15.875001 8.250000 6.125000 +v 15.875001 8.286612 6.036612 +v 15.125001 8.375000 6.000000 +v 15.125001 8.463388 6.036612 +v 15.125001 8.500000 6.125000 +v 15.125001 8.463388 6.213388 +v 15.125001 8.375000 6.250000 +v 15.125001 8.286612 6.213388 +v 15.125001 8.250000 6.125000 +v 15.125001 8.286612 6.036612 +v 15.875001 8.375000 5.750000 +v 15.875001 8.463388 5.786612 +v 15.875001 8.500000 5.875000 +v 15.875001 8.463388 5.963388 +v 15.875001 8.375000 6.000000 +v 15.875001 8.286612 5.963388 +v 15.875001 8.250000 5.875000 +v 15.875001 8.286612 5.786612 +v 15.625001 8.375000 5.750000 +v 15.625001 8.463388 5.786612 +v 15.625001 8.500000 5.875000 +v 15.625001 8.463388 5.963388 +v 15.625001 8.375000 6.000000 +v 15.625001 8.286612 5.963388 +v 15.625001 8.250000 5.875000 +v 15.625001 8.286612 5.786612 +v 15.599113 8.463388 5.775888 +v 15.536613 8.500000 5.838388 +v 15.474113 8.463388 5.900888 +v 15.448224 8.375000 5.926777 +v 15.474113 8.286612 5.900888 +v 15.536613 8.250000 5.838388 +v 15.599113 8.286612 5.775888 +v 15.588389 8.463388 5.750000 +v 15.500001 8.500000 5.750000 +v 15.411613 8.463388 5.750000 +v 15.375001 8.375000 5.750000 +v 15.411613 8.286612 5.750000 +v 15.500001 8.250000 5.750000 +v 15.588389 8.286612 5.750000 +v 15.625001 8.375000 4.750000 +v 15.588389 8.463388 4.750000 +v 15.500001 8.500000 4.750000 +v 15.411613 8.463388 4.750000 +v 15.375001 8.375000 4.750000 +v 15.411613 8.286612 4.750000 +v 15.500001 8.250000 4.750000 +v 15.588389 8.286612 4.750000 +v 15.250000 8.000000 4.750000 +v 15.750000 8.000000 4.750000 +v 15.250000 8.000000 4.250000 +v 15.750000 8.000000 4.250000 +v 15.250000 8.750000 4.250000 +v 15.250000 8.750000 4.750000 +v 15.750000 8.750000 4.750000 +v 15.750000 8.750000 4.250000 +v 14.875001 8.375000 5.750000 +v 14.875001 8.463388 5.786612 +v 14.875001 8.500000 5.875000 +v 14.875001 8.463388 5.963388 +v 14.875001 8.375000 6.000000 +v 14.875001 8.286612 5.963388 +v 14.875001 8.250000 5.875000 +v 14.875001 8.286612 5.786612 +v 14.849113 8.463388 5.775888 +v 14.786613 8.500000 5.838388 +v 14.724113 8.463388 5.900888 +v 14.698224 8.375000 5.926777 +v 14.724113 8.286612 5.900888 +v 14.786613 8.250000 5.838388 +v 14.849113 8.286612 5.775888 +v 14.838389 8.463388 5.750000 +v 14.750001 8.500000 5.750000 +v 14.661613 8.463388 5.750000 +v 14.625001 8.375000 5.750000 +v 14.661613 8.286612 5.750000 +v 14.750001 8.250000 5.750000 +v 14.838389 8.286612 5.750000 +v 14.875001 8.375000 5.000000 +v 14.838389 8.463388 5.000000 +v 14.750001 8.500000 5.000000 +v 14.661613 8.463388 5.000000 +v 14.625001 8.375000 5.000000 +v 14.661613 8.286612 5.000000 +v 14.750001 8.250000 5.000000 +v 14.838389 8.286612 5.000000 +v 15.250000 8.375000 4.375000 +v 15.250000 8.463388 4.411612 +v 15.250000 8.500000 4.500000 +v 15.250000 8.463388 4.588388 +v 15.250000 8.375000 4.625000 +v 15.250000 8.286612 4.588388 +v 15.250000 8.250000 4.500000 +v 15.250000 8.286612 4.411612 +v 14.500000 8.375000 4.375000 +v 14.500000 8.463388 4.411612 +v 14.500000 8.500000 4.500000 +v 14.500000 8.463388 4.588388 +v 14.500000 8.375000 4.625000 +v 14.500000 8.286612 4.588388 +v 14.500000 8.250000 4.500000 +v 14.500000 8.286612 4.411612 +v 14.801777 8.375000 4.823223 +v 14.775889 8.463388 4.849112 +v 14.713389 8.500000 4.911612 +v 14.650889 8.463388 4.974112 +v 14.650889 8.286612 4.974112 +v 14.713389 8.250000 4.911612 +v 14.775889 8.286612 4.849112 +v 14.625001 8.375000 4.750000 +v 14.625001 8.463388 4.786612 +v 14.625001 8.500000 4.875000 +v 14.625001 8.463388 4.963388 +v 14.625001 8.286612 4.963388 +v 14.625001 8.250000 4.875000 +v 14.625001 8.286612 4.786612 +v 14.500001 8.375000 5.000000 +v 14.500001 8.375000 4.750000 +v 14.500001 8.463388 4.786612 +v 14.500001 8.500000 4.875000 +v 14.500001 8.463388 4.963388 +v 14.500001 8.286612 4.963388 +v 14.500001 8.250000 4.875000 +v 14.500001 8.286612 4.786612 +v 15.625001 8.375000 4.250000 +v 15.588389 8.463388 4.250000 +v 15.500001 8.500000 4.250000 +v 15.411613 8.463388 4.250000 +v 15.375001 8.375000 4.250000 +v 15.411613 8.286612 4.250000 +v 15.500001 8.250000 4.250000 +v 15.588389 8.286612 4.250000 +v 15.625001 8.375000 4.000000 +v 15.588389 8.463388 4.000000 +v 15.500001 8.500000 4.000000 +v 15.411613 8.463388 4.000000 +v 15.375001 8.375000 4.000000 +v 15.411613 8.286612 4.000000 +v 15.500001 8.250000 4.000000 +v 15.588389 8.286612 4.000000 +v 15.551778 8.375000 3.823223 +v 15.525889 8.463388 3.849112 +v 15.463389 8.500000 3.911612 +v 15.400889 8.463388 3.974112 +v 15.400889 8.286612 3.974112 +v 15.463389 8.250000 3.911612 +v 15.525889 8.286612 3.849112 +v 15.375001 8.375000 3.750000 +v 15.375001 8.463388 3.786612 +v 15.375001 8.500000 3.875000 +v 15.375001 8.463388 3.963388 +v 15.375001 8.286612 3.963388 +v 15.375001 8.250000 3.875000 +v 15.375001 8.286612 3.786612 +v 14.500001 8.375000 4.000000 +v 14.500001 8.375000 3.750000 +v 14.500001 8.463388 3.786612 +v 14.500001 8.500000 3.875000 +v 14.500001 8.463388 3.963388 +v 14.500001 8.286612 3.963388 +v 14.500001 8.250000 3.875000 +v 14.500001 8.286612 3.786612 +v 13.500000 8.625000 3.625000 +v 13.500000 8.625000 6.375000 +v 14.500000 8.625000 6.375000 +v 14.500000 8.625000 3.625000 +v 13.625000 8.750000 3.750000 +v 13.625000 8.750000 6.250000 +v 14.375000 8.750000 6.250000 +v 14.375000 8.750000 3.750000 +v 11.375000 0.000000 6.250000 +v 11.375000 0.000000 3.750000 +v 11.500000 0.000000 3.750000 +v 11.500000 0.000000 6.250000 +v 11.500000 0.000000 6.500000 +v 11.500000 0.000000 6.250000 +v 11.250000 0.000000 6.500000 +v 11.250000 0.000000 6.250000 +v 11.500000 0.250000 6.500000 +v 11.500000 0.250000 6.250000 +v 11.250000 0.250000 6.500000 +v 11.250000 0.250000 6.250000 +v 11.500000 0.000000 3.750000 +v 11.500000 0.000000 3.500000 +v 11.250000 0.000000 3.750000 +v 11.250000 0.000000 3.500000 +v 11.500000 0.250000 3.750000 +v 11.500000 0.250000 3.500000 +v 11.250000 0.250000 3.750000 +v 11.250000 0.250000 3.500000 +v 8.750000 0.000000 6.500000 +v 8.750000 0.000000 6.250000 +v 8.500000 0.000000 6.500000 +v 8.500000 0.000000 6.250000 +v 8.750000 0.250000 6.500000 +v 8.750000 0.250000 6.250000 +v 8.500000 0.250000 6.500000 +v 8.500000 0.250000 6.250000 +v 8.750000 0.000000 3.750000 +v 8.750000 0.000000 3.500000 +v 8.500000 0.000000 3.750000 +v 8.500000 0.000000 3.500000 +v 8.750000 0.250000 3.750000 +v 8.750000 0.250000 3.500000 +v 8.500000 0.250000 3.750000 +v 8.500000 0.250000 3.500000 +v 11.375000 0.125000 6.250000 +v 11.375000 0.125000 3.750000 +v 11.500000 0.125000 3.750000 +v 11.500000 0.125000 6.250000 +v 8.625000 0.000000 3.750000 +v 8.625000 0.000000 6.250000 +v 8.500000 0.000000 6.250000 +v 8.500000 0.000000 3.750000 +v 8.625000 0.125000 3.750000 +v 8.625000 0.125000 6.250000 +v 8.500000 0.125000 6.250000 +v 8.500000 0.125000 3.750000 +v 11.250000 0.000000 3.625000 +v 8.750000 0.000000 3.625000 +v 8.750000 0.000000 3.500000 +v 11.250000 0.000000 3.500000 +v 11.250000 0.125000 3.625000 +v 8.750000 0.125000 3.625000 +v 8.750000 0.125000 3.500000 +v 11.250000 0.125000 3.500000 +v 8.750000 0.000000 6.375000 +v 11.250000 0.000000 6.375000 +v 11.250000 0.000000 6.500000 +v 8.750000 0.000000 6.500000 +v 8.750000 0.125000 6.375000 +v 11.250000 0.125000 6.375000 +v 11.250000 0.125000 6.500000 +v 8.750000 0.125000 6.500000 +v 11.500000 0.250000 3.500000 +v 11.375000 0.250000 3.500000 +v 11.500000 8.750000 3.500000 +v 11.375000 8.750000 3.500000 +v 11.500000 0.250000 3.625000 +v 11.375000 0.250000 3.625000 +v 11.500000 8.750000 3.625000 +v 11.375000 8.750000 3.625000 +v 11.500000 8.750000 6.500000 +v 11.500000 8.750000 6.250000 +v 11.250000 8.750000 6.500000 +v 11.250000 8.750000 6.250000 +v 11.500000 9.000000 6.500000 +v 11.500000 9.000000 6.250000 +v 11.250000 9.000000 6.500000 +v 11.250000 9.000000 6.250000 +v 11.500000 8.750000 3.750000 +v 11.500000 8.750000 3.500000 +v 11.250000 8.750000 3.750000 +v 11.250000 8.750000 3.500000 +v 11.500000 9.000000 3.750000 +v 11.500000 9.000000 3.500000 +v 11.250000 9.000000 3.750000 +v 11.250000 9.000000 3.500000 +v 8.750000 8.750000 6.500000 +v 8.750000 8.750000 6.250000 +v 8.500000 8.750000 6.500000 +v 8.500000 8.750000 6.250000 +v 8.750000 9.000000 6.500000 +v 8.750000 9.000000 6.250000 +v 8.500000 9.000000 6.500000 +v 8.500000 9.000000 6.250000 +v 8.750000 8.750000 3.750000 +v 8.750000 8.750000 3.500000 +v 8.500000 8.750000 3.750000 +v 8.500000 8.750000 3.500000 +v 8.750000 9.000000 3.750000 +v 8.750000 9.000000 3.500000 +v 8.500000 9.000000 3.750000 +v 8.500000 9.000000 3.500000 +v 8.625000 0.250000 3.500000 +v 8.500000 0.250000 3.500000 +v 8.625000 8.750000 3.500000 +v 8.500000 8.750000 3.500000 +v 8.625000 0.250000 3.625000 +v 8.500000 0.250000 3.625000 +v 8.625000 8.750000 3.625000 +v 8.500000 8.750000 3.625000 +v 11.500000 0.250000 6.375000 +v 11.375000 0.250000 6.375000 +v 11.500000 8.750000 6.375000 +v 11.375000 8.750000 6.375000 +v 11.500000 0.250000 6.500000 +v 11.375000 0.250000 6.500000 +v 11.500000 8.750000 6.500000 +v 11.375000 8.750000 6.500000 +v 8.625000 0.250000 6.375000 +v 8.500000 0.250000 6.375000 +v 8.625000 8.750000 6.375000 +v 8.500000 8.750000 6.375000 +v 8.625000 0.250000 6.500000 +v 8.500000 0.250000 6.500000 +v 8.625000 8.750000 6.500000 +v 8.500000 8.750000 6.500000 +v 11.375000 8.875000 6.250000 +v 11.375000 8.875000 3.750000 +v 11.500000 8.875000 3.750000 +v 11.500000 8.875000 6.250000 +v 11.375000 9.000000 6.250000 +v 11.375000 9.000000 3.750000 +v 11.500000 9.000000 3.750000 +v 11.500000 9.000000 6.250000 +v 8.625000 8.875000 3.750000 +v 8.625000 8.875000 6.250000 +v 8.500000 8.875000 6.250000 +v 8.500000 8.875000 3.750000 +v 8.625000 9.000000 3.750000 +v 8.625000 9.000000 6.250000 +v 8.500000 9.000000 6.250000 +v 8.500000 9.000000 3.750000 +v 11.250000 8.875000 3.625000 +v 8.750000 8.875000 3.625000 +v 8.750000 8.875000 3.500000 +v 11.250000 8.875000 3.500000 +v 11.250000 9.000000 3.625000 +v 8.750000 9.000000 3.625000 +v 8.750000 9.000000 3.500000 +v 11.250000 9.000000 3.500000 +v 8.750000 8.875000 6.375000 +v 11.250000 8.875000 6.375000 +v 11.250000 8.875000 6.500000 +v 8.750000 8.875000 6.500000 +v 8.750000 9.000000 6.375000 +v 11.250000 9.000000 6.375000 +v 11.250000 9.000000 6.500000 +v 8.750000 9.000000 6.500000 +v 9.875000 0.125000 6.500000 +v 10.125000 0.125000 6.500000 +v 9.875000 0.125000 3.500000 +v 10.125000 0.125000 3.500000 +v 9.875000 0.250000 3.500000 +v 9.875000 0.250000 6.500000 +v 10.125000 0.250000 6.500000 +v 10.125000 0.250000 3.500000 +v 10.875000 0.125000 6.500000 +v 11.125000 0.125000 6.500000 +v 10.875000 0.125000 3.500000 +v 11.125000 0.125000 3.500000 +v 10.875000 0.250000 3.500000 +v 10.875000 0.250000 6.500000 +v 11.125000 0.250000 6.500000 +v 11.125000 0.250000 3.500000 +v 8.875000 0.125000 6.500000 +v 9.125000 0.125000 6.500000 +v 8.875000 0.125000 3.500000 +v 9.125000 0.125000 3.500000 +v 8.875000 0.250000 3.500000 +v 8.875000 0.250000 6.500000 +v 9.125000 0.250000 6.500000 +v 9.125000 0.250000 3.500000 +v 8.750000 0.250000 6.250000 +v 11.250000 0.250000 6.250000 +v 8.750000 0.250000 3.750000 +v 11.250000 0.250000 3.750000 +v 8.750000 1.000000 3.750000 +v 8.750000 1.000000 6.250000 +v 11.250000 1.000000 6.250000 +v 11.250000 1.000000 3.750000 +v 11.000000 2.000000 3.500000 +v 10.750000 2.000000 3.566987 +v 10.566987 2.000000 3.750000 +v 10.500000 2.000000 4.000000 +v 10.566987 2.000000 4.250000 +v 10.750000 2.000000 4.433013 +v 11.000000 2.000000 4.500000 +v 11.250000 2.000000 4.433013 +v 11.433012 2.000000 4.250000 +v 11.500000 2.000000 4.000000 +v 11.433013 2.000000 3.750000 +v 11.250000 2.000000 3.566988 +v 10.750000 4.000000 3.566987 +v 11.000000 4.000000 3.500000 +v 10.566987 4.000000 3.750000 +v 10.500000 4.000000 4.000000 +v 10.566987 4.000000 4.250000 +v 10.750000 4.000000 4.433013 +v 11.000000 4.000000 4.500000 +v 11.250000 4.000000 4.433013 +v 11.433012 4.000000 4.250000 +v 11.500000 4.000000 4.000000 +v 11.433013 4.000000 3.750000 +v 11.250000 4.000000 3.566988 +v 11.000000 2.500000 3.500000 +v 10.750000 2.500000 3.566987 +v 11.250000 2.500000 3.566988 +v 10.750000 3.500000 3.566987 +v 11.000000 3.500000 3.500000 +v 11.250000 3.500000 3.566988 +v 11.000000 2.125000 3.625000 +v 10.812500 2.125000 3.675241 +v 10.675241 2.125000 3.812500 +v 10.625000 2.125000 4.000000 +v 10.675241 2.125000 4.187500 +v 10.812500 2.125000 4.324759 +v 11.000000 2.125000 4.375000 +v 11.187500 2.125000 4.324759 +v 11.324759 2.125000 4.187500 +v 11.375000 2.125000 4.000000 +v 11.324759 2.125000 3.812500 +v 11.187500 2.125000 3.675241 +v 11.000000 2.500000 3.625000 +v 10.812500 2.500000 3.675241 +v 11.187500 2.500000 3.675241 +v 11.000000 3.875000 3.625000 +v 10.812500 3.875000 3.675241 +v 10.675241 3.875000 3.812500 +v 10.625000 3.875000 4.000000 +v 10.675241 3.875000 4.187500 +v 10.812500 3.875000 4.324759 +v 11.000000 3.875000 4.375000 +v 11.187500 3.875000 4.324759 +v 11.324759 3.875000 4.187500 +v 11.375000 3.875000 4.000000 +v 11.324759 3.875000 3.812500 +v 11.187500 3.875000 3.675241 +v 11.000000 3.500000 3.625000 +v 10.812500 3.500000 3.675241 +v 11.187500 3.500000 3.675241 +v 11.000000 3.750000 3.625000 +v 10.812500 3.750000 3.675241 +v 10.675241 3.750000 3.812500 +v 10.625000 3.750000 4.000000 +v 10.675241 3.750000 4.187500 +v 10.812500 3.750000 4.324759 +v 11.000000 3.750000 4.375000 +v 11.187500 3.750000 4.324759 +v 11.324759 3.750000 4.187500 +v 11.375000 3.750000 4.000000 +v 11.324759 3.750000 3.812500 +v 11.187500 3.750000 3.675241 +v 10.812500 3.500000 3.675241 +v 11.000000 3.500000 3.625000 +v 10.675241 3.500000 3.812500 +v 10.625000 3.500000 4.000000 +v 10.675241 3.500000 4.187500 +v 10.812500 3.500000 4.324759 +v 11.000000 3.500000 4.375000 +v 11.187500 3.500000 4.324759 +v 11.324759 3.500000 4.187500 +v 11.375000 3.500000 4.000000 +v 11.324759 3.500000 3.812500 +v 11.187500 3.500000 3.675241 +v 11.000000 3.750000 3.875000 +v 10.937500 3.750000 3.891747 +v 10.891747 3.750000 3.937500 +v 10.875000 3.750000 4.000000 +v 10.891747 3.750000 4.062500 +v 10.937500 3.750000 4.108253 +v 11.000000 3.750000 4.125000 +v 11.062500 3.750000 4.108253 +v 11.108253 3.750000 4.062500 +v 11.125000 3.750000 4.000000 +v 11.108253 3.750000 3.937500 +v 11.062500 3.750000 3.891747 +v 11.000000 4.875000 3.875000 +v 10.937500 4.875000 3.891747 +v 10.891747 4.875000 3.937500 +v 10.875000 4.875000 4.000000 +v 10.891747 4.875000 4.062500 +v 10.937500 4.875000 4.108253 +v 11.000000 4.875000 4.125000 +v 11.062500 4.875000 4.108253 +v 11.108253 4.875000 4.062500 +v 11.125000 4.875000 4.000000 +v 11.108253 4.875000 3.937500 +v 11.062500 4.875000 3.891747 +v 11.000000 4.000000 3.625000 +v 10.812500 4.000000 3.675241 +v 10.675241 4.000000 3.812500 +v 10.625000 4.000000 4.000000 +v 10.675241 4.000000 4.187500 +v 10.812500 4.000000 4.324759 +v 11.000000 4.000000 4.375000 +v 11.187500 4.000000 4.324759 +v 11.324759 4.000000 4.187500 +v 11.375000 4.000000 4.000000 +v 11.324759 4.000000 3.812500 +v 11.187500 4.000000 3.675241 +v 11.000000 4.250000 3.625000 +v 10.812500 4.250000 3.675241 +v 10.675241 4.250000 3.812500 +v 10.625000 4.250000 4.000000 +v 10.675241 4.250000 4.187500 +v 10.812500 4.250000 4.324759 +v 11.000000 4.250000 4.375000 +v 11.187500 4.250000 4.324759 +v 11.324759 4.250000 4.187500 +v 11.375000 4.250000 4.000000 +v 11.324759 4.250000 3.812500 +v 11.187500 4.250000 3.675241 +v 11.000000 4.375000 3.750000 +v 10.875000 4.375000 3.783494 +v 10.783494 4.375000 3.875000 +v 10.750000 4.375000 4.000000 +v 10.783494 4.375000 4.125000 +v 10.875000 4.375000 4.216506 +v 11.000000 4.375000 4.250000 +v 11.125000 4.375000 4.216506 +v 11.216506 4.375000 4.125000 +v 11.250000 4.375000 4.000000 +v 11.216506 4.375000 3.875000 +v 11.125000 4.375000 3.783494 +v 11.187500 4.750000 3.675241 +v 11.324759 4.750000 3.812500 +v 11.375000 4.750000 4.000000 +v 11.324759 4.750000 4.187500 +v 11.187500 4.750000 4.324759 +v 11.000000 4.750000 4.375000 +v 10.812500 4.750000 4.324759 +v 10.675241 4.750000 4.187500 +v 10.625000 4.750000 4.000000 +v 10.675241 4.750000 3.812500 +v 10.812500 4.750000 3.675241 +v 11.000000 4.750000 3.625000 +v 11.000000 5.000000 3.500000 +v 10.750000 5.000000 3.566987 +v 10.566987 5.000000 3.750000 +v 10.500000 5.000000 4.000000 +v 10.566987 5.000000 4.250000 +v 10.750000 5.000000 4.433013 +v 11.000000 5.000000 4.500000 +v 11.250000 5.000000 4.433013 +v 11.433012 5.000000 4.250000 +v 11.500000 5.000000 4.000000 +v 11.433013 5.000000 3.750000 +v 11.250000 5.000000 3.566988 +v 10.750000 7.000000 3.566987 +v 11.000000 7.000000 3.500000 +v 10.566987 7.000000 3.750000 +v 10.500000 7.000000 4.000000 +v 10.566987 7.000000 4.250000 +v 10.750000 7.000000 4.433013 +v 11.000000 7.000000 4.500000 +v 11.250000 7.000000 4.433013 +v 11.433012 7.000000 4.250000 +v 11.500000 7.000000 4.000000 +v 11.433013 7.000000 3.750000 +v 11.250000 7.000000 3.566988 +v 11.000000 5.500000 3.500000 +v 10.750000 5.500000 3.566987 +v 11.250000 5.500000 3.566988 +v 10.750000 6.500000 3.566987 +v 11.000000 6.500000 3.500000 +v 11.250000 6.500000 3.566988 +v 11.000000 5.125000 3.625000 +v 10.812500 5.125000 3.675241 +v 10.675241 5.125000 3.812500 +v 10.625000 5.125000 4.000000 +v 10.675241 5.125000 4.187500 +v 10.812500 5.125000 4.324759 +v 11.000000 5.125000 4.375000 +v 11.187500 5.125000 4.324759 +v 11.324759 5.125000 4.187500 +v 11.375000 5.125000 4.000000 +v 11.324759 5.125000 3.812500 +v 11.187500 5.125000 3.675241 +v 11.000000 5.500000 3.625000 +v 10.812500 5.500000 3.675241 +v 11.187500 5.500000 3.675241 +v 11.000000 6.875000 3.625000 +v 10.812500 6.875000 3.675241 +v 10.675241 6.875000 3.812500 +v 10.625000 6.875000 4.000000 +v 10.675241 6.875000 4.187500 +v 10.812500 6.875000 4.324759 +v 11.000000 6.875000 4.375000 +v 11.187500 6.875000 4.324759 +v 11.324759 6.875000 4.187500 +v 11.375000 6.875000 4.000000 +v 11.324759 6.875000 3.812500 +v 11.187500 6.875000 3.675241 +v 11.000000 6.500000 3.625000 +v 10.812500 6.500000 3.675241 +v 11.187500 6.500000 3.675241 +v 11.000000 6.750000 3.625000 +v 10.812500 6.750000 3.675241 +v 10.675241 6.750000 3.812500 +v 10.625000 6.750000 4.000000 +v 10.675241 6.750000 4.187500 +v 10.812500 6.750000 4.324759 +v 11.000000 6.750000 4.375000 +v 11.187500 6.750000 4.324759 +v 11.324759 6.750000 4.187500 +v 11.375000 6.750000 4.000000 +v 11.324759 6.750000 3.812500 +v 11.187500 6.750000 3.675241 +v 10.812500 6.500000 3.675241 +v 11.000000 6.500000 3.625000 +v 10.675241 6.500000 3.812500 +v 10.625000 6.500000 4.000000 +v 10.675241 6.500000 4.187500 +v 10.812500 6.500000 4.324759 +v 11.000000 6.500000 4.375000 +v 11.187500 6.500000 4.324759 +v 11.324759 6.500000 4.187500 +v 11.375000 6.500000 4.000000 +v 11.324759 6.500000 3.812500 +v 11.187500 6.500000 3.675241 +v 11.000000 6.750000 3.875000 +v 10.937500 6.750000 3.891747 +v 10.891747 6.750000 3.937500 +v 10.875000 6.750000 4.000000 +v 10.891747 6.750000 4.062500 +v 10.937500 6.750000 4.108253 +v 11.000000 6.750000 4.125000 +v 11.062500 6.750000 4.108253 +v 11.108253 6.750000 4.062500 +v 11.125000 6.750000 4.000000 +v 11.108253 6.750000 3.937500 +v 11.062500 6.750000 3.891747 +v 11.000000 7.875000 3.875000 +v 10.937500 7.875000 3.891747 +v 10.891747 7.875000 3.937500 +v 10.875000 7.875000 4.000000 +v 10.891747 7.875000 4.062500 +v 10.937500 7.875000 4.108253 +v 11.000000 7.875000 4.125000 +v 11.062500 7.875000 4.108253 +v 11.108253 7.875000 4.062500 +v 11.125000 7.875000 4.000000 +v 11.108253 7.875000 3.937500 +v 11.062500 7.875000 3.891747 +v 11.000000 7.750000 3.625000 +v 10.812500 7.750000 3.675241 +v 10.675241 7.750000 3.812500 +v 10.625000 7.750000 4.000000 +v 10.675241 7.750000 4.187500 +v 10.812500 7.750000 4.324759 +v 11.000000 7.750000 4.375000 +v 11.187500 7.750000 4.324759 +v 11.324759 7.750000 4.187500 +v 11.375000 7.750000 4.000000 +v 11.324759 7.750000 3.812500 +v 11.187500 7.750000 3.675241 +v 11.125000 7.375000 3.783494 +v 11.216506 7.375000 3.875000 +v 11.250000 7.375000 4.000000 +v 11.216506 7.375000 4.125000 +v 11.125000 7.375000 4.216506 +v 11.000000 7.375000 4.250000 +v 10.875000 7.375000 4.216506 +v 10.783494 7.375000 4.125000 +v 10.750000 7.375000 4.000000 +v 10.783494 7.375000 3.875000 +v 10.875000 7.375000 3.783494 +v 11.000000 7.375000 3.750000 +v 11.187500 7.250000 3.675241 +v 11.324759 7.250000 3.812500 +v 11.375000 7.250000 4.000000 +v 11.324759 7.250000 4.187500 +v 11.187500 7.250000 4.324759 +v 11.000000 7.250000 4.375000 +v 10.812500 7.250000 4.324759 +v 10.675241 7.250000 4.187500 +v 10.625000 7.250000 4.000000 +v 10.675241 7.250000 3.812500 +v 10.812500 7.250000 3.675241 +v 11.000000 7.250000 3.625000 +v 11.187500 7.000000 3.675241 +v 11.324759 7.000000 3.812500 +v 11.375000 7.000000 4.000000 +v 11.324759 7.000000 4.187500 +v 11.187500 7.000000 4.324759 +v 11.000000 7.000000 4.375000 +v 10.812500 7.000000 4.324759 +v 10.675241 7.000000 4.187500 +v 10.625000 7.000000 4.000000 +v 10.675241 7.000000 3.812500 +v 10.812500 7.000000 3.675241 +v 11.000000 7.000000 3.625000 +v 10.000000 2.000000 3.500000 +v 9.750000 2.000000 3.566987 +v 9.566987 2.000000 3.750000 +v 9.500000 2.000000 4.000000 +v 9.566987 2.000000 4.250000 +v 9.750000 2.000000 4.433013 +v 10.000000 2.000000 4.500000 +v 10.250000 2.000000 4.433013 +v 10.433012 2.000000 4.250000 +v 10.500000 2.000000 4.000000 +v 10.433013 2.000000 3.750000 +v 10.250000 2.000000 3.566988 +v 9.750000 4.000000 3.566987 +v 10.000000 4.000000 3.500000 +v 9.566987 4.000000 3.750000 +v 9.500000 4.000000 4.000000 +v 9.566987 4.000000 4.250000 +v 9.750000 4.000000 4.433013 +v 10.000000 4.000000 4.500000 +v 10.250000 4.000000 4.433013 +v 10.433012 4.000000 4.250000 +v 10.500000 4.000000 4.000000 +v 10.433013 4.000000 3.750000 +v 10.250000 4.000000 3.566988 +v 10.000000 2.500000 3.500000 +v 9.750000 2.500000 3.566987 +v 10.250000 2.500000 3.566988 +v 9.750000 3.500000 3.566987 +v 10.000000 3.500000 3.500000 +v 10.250000 3.500000 3.566988 +v 10.000000 2.125000 3.625000 +v 9.812500 2.125000 3.675241 +v 9.675241 2.125000 3.812500 +v 9.625000 2.125000 4.000000 +v 9.675241 2.125000 4.187500 +v 9.812500 2.125000 4.324759 +v 10.000000 2.125000 4.375000 +v 10.187500 2.125000 4.324759 +v 10.324759 2.125000 4.187500 +v 10.375000 2.125000 4.000000 +v 10.324759 2.125000 3.812500 +v 10.187500 2.125000 3.675241 +v 10.000000 2.500000 3.625000 +v 9.812500 2.500000 3.675241 +v 10.187500 2.500000 3.675241 +v 10.000000 3.875000 3.625000 +v 9.812500 3.875000 3.675241 +v 9.675241 3.875000 3.812500 +v 9.625000 3.875000 4.000000 +v 9.675241 3.875000 4.187500 +v 9.812500 3.875000 4.324759 +v 10.000000 3.875000 4.375000 +v 10.187500 3.875000 4.324759 +v 10.324759 3.875000 4.187500 +v 10.375000 3.875000 4.000000 +v 10.324759 3.875000 3.812500 +v 10.187500 3.875000 3.675241 +v 10.000000 3.500000 3.625000 +v 9.812500 3.500000 3.675241 +v 10.187500 3.500000 3.675241 +v 10.000000 3.750000 3.625000 +v 9.812500 3.750000 3.675241 +v 9.675241 3.750000 3.812500 +v 9.625000 3.750000 4.000000 +v 9.675241 3.750000 4.187500 +v 9.812500 3.750000 4.324759 +v 10.000000 3.750000 4.375000 +v 10.187500 3.750000 4.324759 +v 10.324759 3.750000 4.187500 +v 10.375000 3.750000 4.000000 +v 10.324759 3.750000 3.812500 +v 10.187500 3.750000 3.675241 +v 9.812500 3.500000 3.675241 +v 10.000000 3.500000 3.625000 +v 9.675241 3.500000 3.812500 +v 9.625000 3.500000 4.000000 +v 9.675241 3.500000 4.187500 +v 9.812500 3.500000 4.324759 +v 10.000000 3.500000 4.375000 +v 10.187500 3.500000 4.324759 +v 10.324759 3.500000 4.187500 +v 10.375000 3.500000 4.000000 +v 10.324759 3.500000 3.812500 +v 10.187500 3.500000 3.675241 +v 10.000000 3.750000 3.875000 +v 9.937500 3.750000 3.891747 +v 9.891747 3.750000 3.937500 +v 9.875000 3.750000 4.000000 +v 9.891747 3.750000 4.062500 +v 9.937500 3.750000 4.108253 +v 10.000000 3.750000 4.125000 +v 10.062500 3.750000 4.108253 +v 10.108253 3.750000 4.062500 +v 10.125000 3.750000 4.000000 +v 10.108253 3.750000 3.937500 +v 10.062500 3.750000 3.891747 +v 10.000000 4.875000 3.875000 +v 9.937500 4.875000 3.891747 +v 9.891747 4.875000 3.937500 +v 9.875000 4.875000 4.000000 +v 9.891747 4.875000 4.062500 +v 9.937500 4.875000 4.108253 +v 10.000000 4.875000 4.125000 +v 10.062500 4.875000 4.108253 +v 10.108253 4.875000 4.062500 +v 10.125000 4.875000 4.000000 +v 10.108253 4.875000 3.937500 +v 10.062500 4.875000 3.891747 +v 10.000000 5.000000 3.625000 +v 9.812500 5.000000 3.675241 +v 9.675241 5.000000 3.812500 +v 9.625000 5.000000 4.000000 +v 9.675241 5.000000 4.187500 +v 9.812500 5.000000 4.324759 +v 10.000000 5.000000 4.375000 +v 10.187500 5.000000 4.324759 +v 10.324759 5.000000 4.187500 +v 10.375000 5.000000 4.000000 +v 10.324759 5.000000 3.812500 +v 10.187500 5.000000 3.675241 +v 10.000000 4.625000 3.750000 +v 9.875000 4.625000 3.783494 +v 9.783494 4.625000 3.875000 +v 9.750000 4.625000 4.000000 +v 9.783494 4.625000 4.125000 +v 9.875000 4.625000 4.216506 +v 10.000000 4.625000 4.250000 +v 10.125000 4.625000 4.216506 +v 10.216506 4.625000 4.125000 +v 10.250000 4.625000 4.000000 +v 10.216506 4.625000 3.875000 +v 10.125000 4.625000 3.783494 +v 10.000000 4.750000 3.625000 +v 9.812500 4.750000 3.675241 +v 9.675241 4.750000 3.812500 +v 9.625000 4.750000 4.000000 +v 9.675241 4.750000 4.187500 +v 9.812500 4.750000 4.324759 +v 10.000000 4.750000 4.375000 +v 10.187500 4.750000 4.324759 +v 10.324759 4.750000 4.187500 +v 10.375000 4.750000 4.000000 +v 10.324759 4.750000 3.812500 +v 10.187500 4.750000 3.675241 +v 10.125000 4.375000 3.783494 +v 10.216506 4.375000 3.875000 +v 10.250000 4.375000 4.000000 +v 10.216506 4.375000 4.125000 +v 10.125000 4.375000 4.216506 +v 10.000000 4.375000 4.250000 +v 9.875000 4.375000 4.216506 +v 9.783494 4.375000 4.125000 +v 9.750000 4.375000 4.000000 +v 9.783494 4.375000 3.875000 +v 9.875000 4.375000 3.783494 +v 10.000000 4.375000 3.750000 +v 10.000000 5.000000 3.500000 +v 9.750000 5.000000 3.566987 +v 9.566987 5.000000 3.750000 +v 9.500000 5.000000 4.000000 +v 9.566987 5.000000 4.250000 +v 9.750000 5.000000 4.433013 +v 10.000000 5.000000 4.500000 +v 10.250000 5.000000 4.433013 +v 10.433012 5.000000 4.250000 +v 10.500000 5.000000 4.000000 +v 10.433013 5.000000 3.750000 +v 10.250000 5.000000 3.566988 +v 9.750000 7.000000 3.566987 +v 10.000000 7.000000 3.500000 +v 9.566987 7.000000 3.750000 +v 9.500000 7.000000 4.000000 +v 9.566987 7.000000 4.250000 +v 9.750000 7.000000 4.433013 +v 10.000000 7.000000 4.500000 +v 10.250000 7.000000 4.433013 +v 10.433012 7.000000 4.250000 +v 10.500000 7.000000 4.000000 +v 10.433013 7.000000 3.750000 +v 10.250000 7.000000 3.566988 +v 10.000000 5.500000 3.500000 +v 9.750000 5.500000 3.566987 +v 10.250000 5.500000 3.566988 +v 9.750000 6.500000 3.566987 +v 10.000000 6.500000 3.500000 +v 10.250000 6.500000 3.566988 +v 10.000000 5.125000 3.625000 +v 9.812500 5.125000 3.675241 +v 9.675241 5.125000 3.812500 +v 9.625000 5.125000 4.000000 +v 9.675241 5.125000 4.187500 +v 9.812500 5.125000 4.324759 +v 10.000000 5.125000 4.375000 +v 10.187500 5.125000 4.324759 +v 10.324759 5.125000 4.187500 +v 10.375000 5.125000 4.000000 +v 10.324759 5.125000 3.812500 +v 10.187500 5.125000 3.675241 +v 10.000000 5.500000 3.625000 +v 9.812500 5.500000 3.675241 +v 10.187500 5.500000 3.675241 +v 10.000000 6.875000 3.625000 +v 9.812500 6.875000 3.675241 +v 9.675241 6.875000 3.812500 +v 9.625000 6.875000 4.000000 +v 9.675241 6.875000 4.187500 +v 9.812500 6.875000 4.324759 +v 10.000000 6.875000 4.375000 +v 10.187500 6.875000 4.324759 +v 10.324759 6.875000 4.187500 +v 10.375000 6.875000 4.000000 +v 10.324759 6.875000 3.812500 +v 10.187500 6.875000 3.675241 +v 10.000000 6.500000 3.625000 +v 9.812500 6.500000 3.675241 +v 10.187500 6.500000 3.675241 +v 10.000000 6.750000 3.625000 +v 9.812500 6.750000 3.675241 +v 9.675241 6.750000 3.812500 +v 9.625000 6.750000 4.000000 +v 9.675241 6.750000 4.187500 +v 9.812500 6.750000 4.324759 +v 10.000000 6.750000 4.375000 +v 10.187500 6.750000 4.324759 +v 10.324759 6.750000 4.187500 +v 10.375000 6.750000 4.000000 +v 10.324759 6.750000 3.812500 +v 10.187500 6.750000 3.675241 +v 9.812500 6.500000 3.675241 +v 10.000000 6.500000 3.625000 +v 9.675241 6.500000 3.812500 +v 9.625000 6.500000 4.000000 +v 9.675241 6.500000 4.187500 +v 9.812500 6.500000 4.324759 +v 10.000000 6.500000 4.375000 +v 10.187500 6.500000 4.324759 +v 10.324759 6.500000 4.187500 +v 10.375000 6.500000 4.000000 +v 10.324759 6.500000 3.812500 +v 10.187500 6.500000 3.675241 +v 10.000000 6.750000 3.875000 +v 9.937500 6.750000 3.891747 +v 9.891747 6.750000 3.937500 +v 9.875000 6.750000 4.000000 +v 9.891747 6.750000 4.062500 +v 9.937500 6.750000 4.108253 +v 10.000000 6.750000 4.125000 +v 10.062500 6.750000 4.108253 +v 10.108253 6.750000 4.062500 +v 10.125000 6.750000 4.000000 +v 10.108253 6.750000 3.937500 +v 10.062500 6.750000 3.891747 +v 10.000000 7.875000 3.875000 +v 9.937500 7.875000 3.891747 +v 9.891747 7.875000 3.937500 +v 9.875000 7.875000 4.000000 +v 9.891747 7.875000 4.062500 +v 9.937500 7.875000 4.108253 +v 10.000000 7.875000 4.125000 +v 10.062500 7.875000 4.108253 +v 10.108253 7.875000 4.062500 +v 10.125000 7.875000 4.000000 +v 10.108253 7.875000 3.937500 +v 10.062500 7.875000 3.891747 +v 10.187500 4.250000 3.675241 +v 10.324759 4.250000 3.812500 +v 10.375000 4.250000 4.000000 +v 10.324759 4.250000 4.187500 +v 10.187500 4.250000 4.324759 +v 10.000000 4.250000 4.375000 +v 9.812500 4.250000 4.324759 +v 9.675241 4.250000 4.187500 +v 9.625000 4.250000 4.000000 +v 9.675241 4.250000 3.812500 +v 9.812500 4.250000 3.675241 +v 10.000000 4.250000 3.625000 +v 10.187500 4.000000 3.675241 +v 10.324759 4.000000 3.812500 +v 10.375000 4.000000 4.000000 +v 10.324759 4.000000 4.187500 +v 10.187500 4.000000 4.324759 +v 10.000000 4.000000 4.375000 +v 9.812500 4.000000 4.324759 +v 9.675241 4.000000 4.187500 +v 9.625000 4.000000 4.000000 +v 9.675241 4.000000 3.812500 +v 9.812500 4.000000 3.675241 +v 10.000000 4.000000 3.625000 +v 11.125000 4.625000 3.783494 +v 11.216506 4.625000 3.875000 +v 11.250000 4.625000 4.000000 +v 11.216506 4.625000 4.125000 +v 11.125000 4.625000 4.216506 +v 11.000000 4.625000 4.250000 +v 10.875000 4.625000 4.216506 +v 10.783494 4.625000 4.125000 +v 10.750000 4.625000 4.000000 +v 10.783494 4.625000 3.875000 +v 10.875000 4.625000 3.783494 +v 11.000000 4.625000 3.750000 +v 11.187500 5.000000 3.675241 +v 11.324759 5.000000 3.812500 +v 11.375000 5.000000 4.000000 +v 11.324759 5.000000 4.187500 +v 11.187500 5.000000 4.324759 +v 11.000000 5.000000 4.375000 +v 10.812500 5.000000 4.324759 +v 10.675241 5.000000 4.187500 +v 10.625000 5.000000 4.000000 +v 10.675241 5.000000 3.812500 +v 10.812500 5.000000 3.675241 +v 11.000000 5.000000 3.625000 +v 10.000000 8.000000 3.625000 +v 9.812500 8.000000 3.675241 +v 9.675241 8.000000 3.812500 +v 9.625000 8.000000 4.000000 +v 9.675241 8.000000 4.187500 +v 9.812500 8.000000 4.324759 +v 10.000000 8.000000 4.375000 +v 10.187500 8.000000 4.324759 +v 10.324759 8.000000 4.187500 +v 10.375000 8.000000 4.000000 +v 10.324759 8.000000 3.812500 +v 10.187500 8.000000 3.675241 +v 10.000000 7.625000 3.750000 +v 9.875000 7.625000 3.783494 +v 9.783494 7.625000 3.875000 +v 9.750000 7.625000 4.000000 +v 9.783494 7.625000 4.125000 +v 9.875000 7.625000 4.216506 +v 10.000000 7.625000 4.250000 +v 10.125000 7.625000 4.216506 +v 10.216506 7.625000 4.125000 +v 10.250000 7.625000 4.000000 +v 10.216506 7.625000 3.875000 +v 10.125000 7.625000 3.783494 +v 10.000000 7.750000 3.625000 +v 9.812500 7.750000 3.675241 +v 9.675241 7.750000 3.812500 +v 9.625000 7.750000 4.000000 +v 9.675241 7.750000 4.187500 +v 9.812500 7.750000 4.324759 +v 10.000000 7.750000 4.375000 +v 10.187500 7.750000 4.324759 +v 10.324759 7.750000 4.187500 +v 10.375000 7.750000 4.000000 +v 10.324759 7.750000 3.812500 +v 10.187500 7.750000 3.675241 +v 10.125000 7.375000 3.783494 +v 10.216506 7.375000 3.875000 +v 10.250000 7.375000 4.000000 +v 10.216506 7.375000 4.125000 +v 10.125000 7.375000 4.216506 +v 10.000000 7.375000 4.250000 +v 9.875000 7.375000 4.216506 +v 9.783494 7.375000 4.125000 +v 9.750000 7.375000 4.000000 +v 9.783494 7.375000 3.875000 +v 9.875000 7.375000 3.783494 +v 10.000000 7.375000 3.750000 +v 10.187500 7.250000 3.675241 +v 10.324759 7.250000 3.812500 +v 10.375000 7.250000 4.000000 +v 10.324759 7.250000 4.187500 +v 10.187500 7.250000 4.324759 +v 10.000000 7.250000 4.375000 +v 9.812500 7.250000 4.324759 +v 9.675241 7.250000 4.187500 +v 9.625000 7.250000 4.000000 +v 9.675241 7.250000 3.812500 +v 9.812500 7.250000 3.675241 +v 10.000000 7.250000 3.625000 +v 10.187500 7.000000 3.675241 +v 10.324759 7.000000 3.812500 +v 10.375000 7.000000 4.000000 +v 10.324759 7.000000 4.187500 +v 10.187500 7.000000 4.324759 +v 10.000000 7.000000 4.375000 +v 9.812500 7.000000 4.324759 +v 9.675241 7.000000 4.187500 +v 9.625000 7.000000 4.000000 +v 9.675241 7.000000 3.812500 +v 9.812500 7.000000 3.675241 +v 10.000000 7.000000 3.625000 +v 11.125000 7.625000 3.783494 +v 11.216506 7.625000 3.875000 +v 11.250000 7.625000 4.000000 +v 11.216506 7.625000 4.125000 +v 11.125000 7.625000 4.216506 +v 11.000000 7.625000 4.250000 +v 10.875000 7.625000 4.216506 +v 10.783494 7.625000 4.125000 +v 10.750000 7.625000 4.000000 +v 10.783494 7.625000 3.875000 +v 10.875000 7.625000 3.783494 +v 11.000000 7.625000 3.750000 +v 11.187500 8.000000 3.675241 +v 11.324759 8.000000 3.812500 +v 11.375000 8.000000 4.000000 +v 11.324759 8.000000 4.187500 +v 11.187500 8.000000 4.324759 +v 11.000000 8.000000 4.375000 +v 10.812500 8.000000 4.324759 +v 10.675241 8.000000 4.187500 +v 10.625000 8.000000 4.000000 +v 10.675241 8.000000 3.812500 +v 10.812500 8.000000 3.675241 +v 11.000000 8.000000 3.625000 +v 9.500000 8.000000 4.375000 +v 11.500000 8.000000 4.375000 +v 9.500000 8.000000 3.625000 +v 11.500000 8.000000 3.625000 +v 9.500000 8.750000 3.625000 +v 9.500000 8.750000 4.375000 +v 11.500000 8.750000 4.375000 +v 11.500000 8.750000 3.625000 +v 8.625000 1.000000 6.375000 +v 11.375000 1.000000 6.375000 +v 8.625000 1.000000 3.625000 +v 11.375000 1.000000 3.625000 +v 8.625000 2.000000 3.625000 +v 8.625000 2.000000 6.375000 +v 11.375000 2.000000 6.375000 +v 11.375000 2.000000 3.625000 +v 10.000000 2.000000 4.500000 +v 9.617316 2.000000 4.576120 +v 9.292893 2.000000 4.792893 +v 9.076120 2.000000 5.117317 +v 9.000000 2.000000 5.500000 +v 9.076120 2.000000 5.882684 +v 9.292893 2.000000 6.207107 +v 9.617316 2.000000 6.423880 +v 10.000000 2.000000 6.500000 +v 10.382683 2.000000 6.423880 +v 10.707107 2.000000 6.207107 +v 10.923880 2.000000 5.882684 +v 11.000000 2.000000 5.500000 +v 10.923880 2.000000 5.117316 +v 10.707107 2.000000 4.792893 +v 10.382683 2.000000 4.576120 +v 9.617316 6.000000 4.576120 +v 10.000000 6.000000 4.500000 +v 9.292893 6.000000 4.792893 +v 9.076120 6.000000 5.117317 +v 9.000000 6.000000 5.500000 +v 9.076120 6.000000 5.882684 +v 9.292893 6.000000 6.207107 +v 9.617316 6.000000 6.423880 +v 10.000000 6.000000 6.500000 +v 10.382683 6.000000 6.423880 +v 10.707107 6.000000 6.207107 +v 10.923880 6.000000 5.882684 +v 11.000000 6.000000 5.500000 +v 10.923880 6.000000 5.117316 +v 10.707107 6.000000 4.792893 +v 10.382683 6.000000 4.576120 +v 8.500000 2.000000 6.250000 +v 9.000000 2.000000 6.250000 +v 8.500000 2.000000 3.750000 +v 9.000000 2.000000 4.500000 +v 9.500000 2.000000 3.750000 +v 9.500000 2.000000 4.500000 +v 8.500000 3.500000 3.750000 +v 8.500000 3.500000 6.250000 +v 9.000000 3.500000 6.250000 +v 9.000000 3.500000 4.500000 +v 9.500000 3.500000 4.500000 +v 9.500000 3.500000 3.750000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.7071 0.7071 +vn -0.8660 0.0000 -0.5000 +vn 0.8660 0.0000 -0.5000 +vn 0.9239 0.0000 0.3827 +vn -0.3827 0.0000 0.9239 +vn -0.3827 0.0000 -0.9239 +vn 0.3827 0.0000 0.9239 +vn 0.9239 0.0000 -0.3827 +vn 0.3827 0.0000 -0.9239 +vn -0.9239 0.0000 -0.3827 +vn 0.6588 0.0000 0.7523 +vn -0.9239 0.0000 0.3827 +vn -0.7523 0.0000 -0.6588 +vn 0.2706 0.7071 0.6533 +vn 0.5000 0.7071 0.5000 +vn -0.5000 0.7071 -0.5000 +vn -0.6533 0.7071 -0.2706 +vn 0.6533 0.7071 0.2706 +vn -0.7071 0.7071 -0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.6533 0.7071 0.2706 +vn 0.6533 0.7071 -0.2706 +vn -0.5000 0.7071 0.5000 +vn 0.5000 0.7071 -0.5000 +vn -0.2706 0.7071 0.6533 +vn 0.2706 0.7071 -0.6533 +vn -0.2706 0.7071 -0.6533 +vn 0.0000 -0.4203 0.9074 +vn -0.9919 0.0899 -0.0899 +vn -0.0000 0.3532 -0.9356 +vn 0.6441 0.3032 -0.7023 +vn 0.7294 -0.2820 0.6233 +vn -0.7294 -0.2820 0.6233 +vn -0.6441 0.3032 -0.7023 +vn 0.9919 0.0899 -0.0899 +vn 0.0000 0.4203 -0.9074 +vn 0.7294 0.2820 -0.6233 +vn 0.9919 -0.0899 0.0899 +vn 0.6441 -0.3032 0.7023 +vn -0.6441 -0.3032 0.7023 +vn -0.7294 0.2820 -0.6233 +vn -0.0000 -0.3532 0.9356 +vn -0.9919 -0.0899 0.0899 +vn -0.6588 0.0000 -0.7523 +vn 0.7523 0.0000 0.6588 +vn 0.0000 -0.4202 0.9074 +vn 0.0000 0.4202 -0.9074 +vn 0.8660 -0.5000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.6794 -0.1448 0.7194 +vn -0.9987 -0.0196 0.0473 +vn -0.7263 0.1363 -0.6737 +vn 0.7263 0.1363 -0.6737 +vn 0.9987 -0.0196 0.0473 +vn 0.6794 -0.1448 0.7194 +vn -0.0000 -0.1866 0.9824 +vn -0.7263 0.1363 0.6737 +vn -0.9987 -0.0196 -0.0473 +vn -0.6794 -0.1448 -0.7194 +vn 0.0000 -0.1866 -0.9824 +vn 0.6794 -0.1448 -0.7194 +vn 0.9987 -0.0196 -0.0473 +vn 0.7263 0.1363 0.6737 +vn 0.9955 -0.0671 0.0671 +vn 0.6794 -0.7194 0.1448 +vn 0.9987 -0.0473 0.0196 +vn 0.0000 -0.7071 0.7071 +vn -0.6794 -0.7194 0.1448 +vn -0.0000 -0.9824 0.1866 +vn 0.6630 -0.5294 0.5293 +vn -0.6630 -0.5294 0.5293 +vn 0.7574 0.4617 -0.4617 +vn -0.7574 0.4617 -0.4617 +vn -0.9955 -0.0671 0.0671 +vn 0.7263 0.6737 -0.1363 +vn -0.7263 0.6737 -0.1363 +vn -0.9987 -0.0473 0.0196 +vn -0.9955 -0.0671 -0.0671 +vn 0.6630 -0.5293 -0.5294 +vn -0.7574 0.4617 0.4617 +vn 0.0000 -0.7071 -0.7071 +vn -0.6630 -0.5294 -0.5293 +vn 0.7574 0.4617 0.4617 +vn 0.9955 -0.0671 -0.0671 +vn 0.9987 -0.0473 -0.0196 +vn 0.6794 -0.7194 -0.1448 +vn -0.9987 -0.0473 -0.0196 +vn -0.7263 0.6737 0.1363 +vn -0.6794 -0.7194 -0.1448 +vn -0.0000 -0.9824 -0.1866 +vn 0.7263 0.6737 0.1363 +vn 0.6630 -0.5294 0.5294 +vn 0.6630 -0.5294 -0.5293 +vn -0.6630 -0.5293 -0.5294 +vn -0.5000 0.0000 -0.8660 +vn 0.8660 0.0000 0.5000 +vn -0.5000 0.0000 0.8660 +vn 0.5000 0.0000 0.8660 +vn -0.8660 0.0000 0.5000 +vn 0.5000 0.0000 -0.8660 +vn -0.5000 -0.8660 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.0000 -0.8944 -0.4472 +vn -0.4472 -0.7746 -0.4472 +vn -0.8944 0.0000 -0.4472 +vn -0.7746 0.4472 -0.4472 +vn 0.8944 0.0000 -0.4472 +vn 0.7746 0.4472 -0.4472 +vn 0.4472 -0.7746 -0.4472 +vn -0.7746 -0.4472 -0.4472 +vn 0.4472 0.7746 -0.4472 +vn 0.0000 0.8944 -0.4472 +vn -0.4472 0.7746 -0.4472 +vn 0.7746 -0.4472 -0.4472 +vn 0.0000 -0.8944 0.4472 +vn 0.4472 -0.7746 0.4472 +vn 0.8944 0.0000 0.4472 +vn 0.7746 0.4472 0.4472 +vn -0.8944 -0.0000 0.4472 +vn -0.7746 0.4472 0.4472 +vn -0.4472 -0.7746 0.4472 +vn 0.7746 -0.4472 0.4472 +vn -0.4472 0.7746 0.4472 +vn -0.0000 0.8944 0.4472 +vn 0.4472 0.7746 0.4472 +vn -0.7746 -0.4472 0.4472 +vn -0.0196 -0.9987 0.0473 +vn -0.1866 0.0000 0.9824 +vn -0.0196 0.9987 0.0473 +vn 0.1363 -0.7263 -0.6737 +vn -0.1448 -0.6794 0.7194 +vn -0.1448 0.6794 0.7194 +vn 0.1363 0.7263 -0.6737 +vn -0.0671 -0.9955 0.0671 +vn -0.5293 0.6630 0.5294 +vn -0.0671 0.9955 0.0671 +vn 0.4617 -0.7574 -0.4617 +vn -0.5294 -0.6630 0.5294 +vn 0.4617 0.7574 -0.4617 +vn -0.0473 0.9987 0.0196 +vn -0.0473 -0.9987 0.0196 +vn 0.6737 -0.7263 -0.1363 +vn -0.9824 -0.0000 0.1866 +vn -0.7194 -0.6794 0.1448 +vn -0.7194 0.6794 0.1448 +vn 0.6737 0.7263 -0.1363 +vn -0.0393 -0.9947 0.0948 +vn -0.0393 0.9947 0.0948 +vn 0.2611 -0.7311 -0.6303 +vn -0.2962 -0.6333 0.7150 +vn -0.2962 0.6333 0.7150 +vn 0.9809 -0.0000 -0.1944 +vn 0.2611 0.7311 -0.6303 +vn 0.9824 0.0000 -0.1866 +vn 0.7194 -0.6794 -0.1448 +vn 0.7194 0.6794 -0.1448 +vn -0.6737 -0.7263 0.1363 +vn -0.6737 0.7263 0.1363 +vn 0.0473 -0.9987 -0.0196 +vn 0.0473 0.9987 -0.0196 +vn -0.4617 0.7574 0.4617 +vn 0.5294 0.6630 -0.5294 +vn 0.0671 -0.9955 -0.0671 +vn 0.0671 0.9955 -0.0671 +vn 0.5294 -0.6630 -0.5294 +vn 0.1866 -0.0000 -0.9824 +vn 0.1448 -0.6794 -0.7194 +vn -0.1363 0.7263 0.6737 +vn 0.1448 0.6794 -0.7194 +vn -0.1363 -0.7263 0.6737 +vn 0.0196 -0.9987 -0.0473 +vn 0.0196 0.9987 -0.0473 +vn -0.4617 -0.7574 0.4617 +vn -0.5751 0.0000 -0.8181 +vn 0.5751 0.0000 -0.8181 +vn -0.5751 0.0000 0.8181 +vn 0.5751 0.0000 0.8181 +vn 0.3536 0.7071 -0.6124 +vn -0.3536 0.7071 -0.6124 +vn -0.6124 0.7071 -0.3536 +vn -0.6124 0.7071 0.3536 +vn -0.3536 0.7071 0.6124 +vn 0.3536 0.7071 0.6124 +vn 0.6124 0.7071 0.3536 +vn 0.6124 0.7071 -0.3536 +vn 0.3536 -0.7071 -0.6124 +vn -0.3536 -0.7071 -0.6124 +vn -0.6124 -0.7071 -0.3536 +vn -0.6124 -0.7071 0.3536 +vn -0.3536 -0.7071 0.6124 +vn 0.3536 -0.7071 0.6124 +vn 0.6124 -0.7071 0.3536 +vn 0.6124 -0.7071 -0.3536 +vn 0.6124 -0.7071 0.3535 +s off +f 151//27 153//27 154//27 +f 155//27 158//27 156//27 +f 162//28 159//28 160//28 +f 155//29 161//29 157//29 +f 157//30 162//30 158//30 +f 158//31 160//31 156//31 +f 156//32 159//32 155//32 +f 163//27 166//27 164//27 +f 170//28 167//28 168//28 +f 163//29 169//29 165//29 +f 165//30 170//30 166//30 +f 166//31 168//31 164//31 +f 164//32 167//32 163//32 +f 171//27 174//27 172//27 +f 178//28 175//28 176//28 +f 171//29 177//29 173//29 +f 173//30 178//30 174//30 +f 174//31 176//31 172//31 +f 172//32 175//32 171//32 +f 179//27 182//27 180//27 +f 186//28 183//28 184//28 +f 179//29 185//29 181//29 +f 181//30 186//30 182//30 +f 182//31 184//31 180//31 +f 180//32 183//32 179//32 +f 189//32 154//32 153//32 +f 187//30 152//30 151//30 +f 190//28 188//28 187//28 +f 191//27 193//27 194//27 +f 197//30 194//30 193//30 +f 195//32 192//32 191//32 +f 198//28 196//28 195//28 +f 199//27 201//27 202//27 +f 205//31 202//31 201//31 +f 203//29 200//29 199//29 +f 206//28 204//28 203//28 +f 207//27 209//27 210//27 +f 213//29 210//29 209//29 +f 211//31 208//31 207//31 +f 214//28 212//28 211//28 +f 216//31 217//31 215//31 +f 217//32 219//32 215//32 +f 216//30 222//30 218//30 +f 219//29 222//29 220//29 +f 223//27 226//27 224//27 +f 230//28 227//28 228//28 +f 223//29 229//29 225//29 +f 225//30 230//30 226//30 +f 226//31 228//31 224//31 +f 224//32 227//32 223//32 +f 231//27 234//27 232//27 +f 238//28 235//28 236//28 +f 231//29 237//29 233//29 +f 233//30 238//30 234//30 +f 234//31 236//31 232//31 +f 232//32 235//32 231//32 +f 239//27 242//27 240//27 +f 246//28 243//28 244//28 +f 239//29 245//29 241//29 +f 241//30 246//30 242//30 +f 242//31 244//31 240//31 +f 240//32 243//32 239//32 +f 247//27 250//27 248//27 +f 254//28 251//28 252//28 +f 247//29 253//29 249//29 +f 249//30 254//30 250//30 +f 250//31 252//31 248//31 +f 248//32 251//32 247//32 +f 256//31 257//31 255//31 +f 257//32 259//32 255//32 +f 256//30 262//30 258//30 +f 259//29 262//29 260//29 +f 264//31 265//31 263//31 +f 265//32 267//32 263//32 +f 264//30 270//30 266//30 +f 267//29 270//29 268//29 +f 272//31 273//31 271//31 +f 273//32 275//32 271//32 +f 272//30 278//30 274//30 +f 275//29 278//29 276//29 +f 279//27 281//27 282//27 +f 285//32 282//32 281//32 +f 283//30 280//30 279//30 +f 286//28 284//28 283//28 +f 287//27 289//27 290//27 +f 293//30 290//30 289//30 +f 291//32 288//32 287//32 +f 294//28 292//28 291//28 +f 295//27 297//27 298//27 +f 301//31 298//31 297//31 +f 299//29 296//29 295//29 +f 302//28 300//28 299//28 +f 303//27 305//27 306//27 +f 309//29 306//29 305//29 +f 307//31 304//31 303//31 +f 310//28 308//28 307//28 +f 313//27 312//27 311//27 +f 317//28 315//28 316//28 +f 311//30 315//30 313//30 +f 313//31 318//31 314//31 +f 312//29 316//29 311//29 +f 314//32 317//32 312//32 +f 321//27 320//27 319//27 +f 325//28 323//28 324//28 +f 319//30 323//30 321//30 +f 321//31 326//31 322//31 +f 320//29 324//29 319//29 +f 322//32 325//32 320//32 +f 329//27 328//27 327//27 +f 333//28 331//28 332//28 +f 327//30 331//30 329//30 +f 329//31 334//31 330//31 +f 328//29 332//29 327//29 +f 330//32 333//32 328//32 +f 337//27 336//27 335//27 +f 341//28 339//28 340//28 +f 338//32 341//32 336//32 +f 335//30 339//30 337//30 +f 337//31 342//31 338//31 +f 336//29 340//29 335//29 +f 353//27 349//27 345//27 +f 367//28 371//28 360//28 +f 404//29 412//29 401//29 +f 393//32 422//32 398//32 +f 406//31 416//31 407//31 +f 397//29 420//29 400//29 +f 395//31 424//31 394//31 +f 408//32 414//32 403//32 +f 416//33 408//33 407//33 +f 404//34 414//34 413//34 +f 412//35 402//35 401//35 +f 406//36 410//36 409//36 +f 402//30 410//30 405//30 +f 424//33 393//33 394//33 +f 397//34 422//34 421//34 +f 420//35 399//35 400//35 +f 395//36 418//36 417//36 +f 399//30 418//30 396//30 +f 425//32 438//32 430//32 +f 429//29 436//29 432//29 +f 427//31 440//31 426//31 +f 440//33 425//33 426//33 +f 429//34 438//34 437//34 +f 436//35 431//35 432//35 +f 427//36 434//36 433//36 +f 431//30 434//30 428//30 +f 441//32 454//32 446//32 +f 445//29 452//29 448//29 +f 443//31 456//31 442//31 +f 456//33 441//33 442//33 +f 445//34 454//34 453//34 +f 452//35 447//35 448//35 +f 443//36 450//36 449//36 +f 447//30 450//30 444//30 +f 467//27 463//27 459//27 +f 497//28 501//28 490//28 +f 507//27 506//27 505//27 +f 508//32 511//32 506//32 +f 505//30 509//30 507//30 +f 507//31 512//31 508//31 +f 506//29 510//29 505//29 +f 515//27 514//27 513//27 +f 1402//30 525//30 1399//30 +f 525//27 1159//27 532//27 +f 519//31 532//31 522//31 +f 517//37 522//37 518//37 +f 1400//29 513//29 514//29 +f 523//28 529//28 526//28 +f 529//31 527//31 528//31 +f 526//30 528//30 515//30 +f 516//32 530//32 523//32 +f 515//27 527//27 516//27 +f 517//31 523//31 526//31 +f 513//30 517//30 526//30 +f 523//32 518//32 514//32 +f 565//28 569//28 573//28 +f 592//27 604//27 600//27 +f 389//28 585//28 584//28 +f 387//28 585//28 388//28 +f 387//28 587//28 586//28 +f 385//28 587//28 386//28 +f 384//28 588//28 385//28 +f 392//28 589//28 384//28 +f 391//28 581//28 392//28 +f 390//28 582//28 391//28 +f 607//27 381//27 383//27 +f 606//27 383//27 382//27 +f 614//27 382//27 375//27 +f 613//27 375//27 376//27 +f 612//27 376//27 377//27 +f 378//27 612//27 377//27 +f 610//27 378//27 379//27 +f 380//27 610//27 379//27 +f 390//33 608//33 583//33 +f 609//33 389//33 584//33 +f 625//27 621//27 617//27 +f 639//28 643//28 632//28 +f 665//28 669//28 673//28 +f 692//27 704//27 700//27 +f 661//28 685//28 684//28 +f 659//28 685//28 660//28 +f 659//28 687//28 686//28 +f 657//28 687//28 658//28 +f 656//28 688//28 657//28 +f 664//28 689//28 656//28 +f 663//28 681//28 664//28 +f 662//28 682//28 663//28 +f 707//27 653//27 655//27 +f 706//27 655//27 654//27 +f 714//27 654//27 647//27 +f 713//27 647//27 648//27 +f 712//27 648//27 649//27 +f 650//27 712//27 649//27 +f 710//27 650//27 651//27 +f 652//27 710//27 651//27 +f 662//33 708//33 683//33 +f 709//33 661//33 684//33 +f 725//27 721//27 717//27 +f 739//28 743//28 732//28 +f 765//28 769//28 773//28 +f 792//27 804//27 800//27 +f 761//28 785//28 784//28 +f 759//28 785//28 760//28 +f 759//28 787//28 786//28 +f 757//28 787//28 758//28 +f 756//28 788//28 757//28 +f 764//28 789//28 756//28 +f 763//28 781//28 764//28 +f 762//28 782//28 763//28 +f 807//27 753//27 755//27 +f 806//27 755//27 754//27 +f 814//27 754//27 747//27 +f 813//27 747//27 748//27 +f 812//27 748//27 749//27 +f 750//27 812//27 749//27 +f 810//27 750//27 751//27 +f 752//27 810//27 751//27 +f 762//33 808//33 783//33 +f 809//33 761//33 784//33 +f 825//27 821//27 817//27 +f 839//28 843//28 832//28 +f 865//28 869//28 873//28 +f 892//27 904//27 900//27 +f 861//28 885//28 884//28 +f 859//28 885//28 860//28 +f 859//28 887//28 886//28 +f 857//28 887//28 858//28 +f 856//28 888//28 857//28 +f 864//28 889//28 856//28 +f 863//28 881//28 864//28 +f 862//28 882//28 863//28 +f 907//27 853//27 855//27 +f 906//27 855//27 854//27 +f 914//27 854//27 847//27 +f 913//27 847//27 848//27 +f 912//27 848//27 849//27 +f 850//27 912//27 849//27 +f 910//27 850//27 851//27 +f 852//27 910//27 851//27 +f 862//33 908//33 883//33 +f 909//33 861//33 884//33 +f 980//29 981//29 979//29 +f 985//31 984//31 983//31 +f 980//32 986//32 982//32 +f 979//27 984//27 980//27 +f 981//30 983//30 979//30 +f 982//28 985//28 981//28 +f 996//30 989//30 995//30 +f 990//31 993//31 989//31 +f 994//32 998//32 993//32 +f 991//27 1003//27 987//27 +f 993//27 995//27 989//27 +f 990//28 997//28 994//28 +f 988//29 995//29 987//29 +f 991//29 997//29 992//29 +f 987//29 998//29 991//29 +f 992//29 996//29 988//29 +f 1002//28 1007//28 999//28 +f 987//30 1004//30 988//30 +f 988//28 1005//28 992//28 +f 992//32 1006//32 991//32 +f 1000//29 1003//29 999//29 +f 1002//29 1005//29 1001//29 +f 999//29 1006//29 1002//29 +f 1001//29 1004//29 1000//29 +f 1009//29 1007//29 1010//29 +f 999//32 1008//32 1000//32 +f 1000//27 1009//27 1001//27 +f 1001//30 1010//30 1002//30 +f 1028//29 1033//29 1027//29 +f 1021//29 1022//29 1018//29 +f 1026//29 1031//29 1025//29 +f 1024//29 1029//29 1030//29 +f 1038//29 1035//29 1036//29 +f 1042//29 1039//29 1040//29 +f 1046//29 1043//29 1044//29 +f 1050//29 1047//29 1048//29 +f 1060//30 1053//30 1059//30 +f 1054//31 1057//31 1053//31 +f 1058//32 1062//32 1057//32 +f 1055//27 1067//27 1051//27 +f 1057//27 1059//27 1053//27 +f 1054//28 1061//28 1058//28 +f 1052//29 1059//29 1051//29 +f 1055//29 1061//29 1056//29 +f 1051//29 1062//29 1055//29 +f 1056//29 1060//29 1052//29 +f 1066//28 1071//28 1063//28 +f 1051//30 1068//30 1052//30 +f 1052//28 1069//28 1056//28 +f 1056//32 1070//32 1055//32 +f 1064//29 1067//29 1063//29 +f 1066//29 1069//29 1065//29 +f 1063//29 1070//29 1066//29 +f 1065//29 1068//29 1064//29 +f 1073//29 1071//29 1074//29 +f 1063//32 1072//32 1064//32 +f 1064//27 1073//27 1065//27 +f 1065//30 1074//30 1066//30 +f 1092//29 1097//29 1091//29 +f 1085//29 1086//29 1082//29 +f 1090//29 1095//29 1089//29 +f 1088//29 1093//29 1094//29 +f 1102//29 1099//29 1100//29 +f 1106//29 1103//29 1104//29 +f 1110//29 1107//29 1108//29 +f 1114//29 1111//29 1112//29 +f 1122//32 1116//32 1118//32 +f 1119//30 1117//30 1115//30 +f 1121//31 1118//31 1117//31 +f 1120//29 1115//29 1116//29 +f 1160//31 1401//31 1159//31 +f 1198//32 1158//32 1197//32 +f 1161//31 1158//31 1157//31 +f 1196//30 1161//30 1157//30 +f 1198//29 1155//29 1156//29 +f 1198//38 1196//38 1195//38 +f 1196//28 1162//28 1161//28 +f 522//32 1400//32 514//32 +f 1199//30 1406//30 1202//30 +f 1449//30 524//30 1450//30 +f 532//32 1401//32 1400//32 +f 1397//27 1395//27 1393//27 +f 1199//28 1400//28 1200//28 +f 1200//28 1401//28 1201//28 +f 1201//28 1402//28 1202//28 +f 1202//28 1399//28 1199//28 +f 1404//28 1406//28 1403//28 +f 1201//32 1404//32 1200//32 +f 1202//31 1405//31 1201//31 +f 1200//29 1403//29 1199//29 +f 1421//28 1419//28 1420//28 +f 1413//28 1411//28 1412//28 +f 1410//32 1413//32 1408//32 +f 1407//30 1411//30 1409//30 +f 1409//31 1414//31 1410//31 +f 1408//29 1412//29 1407//29 +f 1418//32 1421//32 1416//32 +f 1415//30 1419//30 1417//30 +f 1417//31 1422//31 1418//31 +f 1416//29 1420//29 1415//29 +f 1429//28 1427//28 1428//28 +f 1426//32 1429//32 1424//32 +f 1423//30 1427//30 1425//30 +f 1425//31 1430//31 1426//31 +f 1424//29 1428//29 1423//29 +f 1445//28 1443//28 1444//28 +f 1437//28 1435//28 1436//28 +f 1434//32 1437//32 1432//32 +f 1431//30 1435//30 1433//30 +f 1433//31 1438//31 1434//31 +f 1432//29 1436//29 1431//29 +f 1442//32 1445//32 1440//32 +f 1439//30 1443//30 1441//30 +f 1441//31 1446//31 1442//31 +f 1440//29 1444//29 1439//29 +f 1399//30 519//30 513//30 +f 1457//32 1454//32 1458//32 +f 1458//29 1451//29 1455//29 +f 1455//30 1452//30 1456//30 +f 1456//31 1453//31 1457//31 +f 1448//28 1451//28 1447//28 +f 1450//28 1453//28 1449//28 +f 1447//28 1454//28 1450//28 +f 1449//28 1452//28 1448//28 +f 531//27 1456//27 520//27 +f 521//27 1458//27 524//27 +f 524//27 1455//27 531//27 +f 520//27 1457//27 521//27 +f 524//31 1447//31 1450//31 +f 1447//32 520//32 1448//32 +f 520//29 1449//29 1448//29 +f 1467//31 1473//31 1469//31 +f 1469//32 1474//32 1470//32 +f 1459//31 1465//31 1461//31 +f 1461//32 1466//32 1462//32 +f 1462//29 1464//29 1460//29 +f 1460//30 1463//30 1459//30 +f 1470//29 1472//29 1468//29 +f 1468//30 1471//30 1467//30 +f 1483//31 1489//31 1485//31 +f 1485//32 1490//32 1486//32 +f 1475//31 1481//31 1477//31 +f 1477//32 1482//32 1478//32 +f 1478//29 1480//29 1476//29 +f 1476//30 1479//30 1475//30 +f 1486//29 1488//29 1484//29 +f 1484//30 1487//30 1483//30 +f 1499//31 1492//31 1491//31 +f 1496//29 1501//29 1495//29 +f 1495//30 1499//30 1491//30 +f 1494//32 1506//32 1498//32 +f 1502//32 1492//32 1500//32 +f 1494//28 1499//28 1493//28 +f 1497//28 1502//28 1498//28 +f 1493//28 1501//28 1497//28 +f 1498//28 1500//28 1494//28 +f 1505//28 1504//28 1503//28 +f 1498//29 1505//29 1497//29 +f 1497//30 1503//30 1493//30 +f 1493//31 1504//31 1494//31 +f 1541//31 1540//31 1539//31 +f 1545//29 1543//29 1544//29 +f 1541//28 1546//28 1542//28 +f 1540//27 1544//27 1539//27 +f 1542//32 1545//32 1540//32 +f 1539//30 1543//30 1541//30 +f 1619//27 1617//27 1613//27 +f 1627//28 1631//28 1624//28 +f 1643//27 1641//27 1637//27 +f 1653//28 1655//28 1648//28 +f 1667//31 1673//31 1669//31 +f 1669//32 1674//32 1670//32 +f 1659//31 1665//31 1661//31 +f 1661//32 1666//32 1662//32 +f 1662//29 1664//29 1660//29 +f 1660//30 1663//30 1659//30 +f 1670//29 1672//29 1668//29 +f 1668//30 1671//30 1667//30 +f 1683//31 1689//31 1685//31 +f 1685//32 1690//32 1686//32 +f 1675//31 1681//31 1677//31 +f 1677//32 1682//32 1678//32 +f 1678//29 1680//29 1676//29 +f 1676//30 1679//30 1675//30 +f 1686//29 1688//29 1684//29 +f 1684//30 1687//30 1683//30 +f 1693//27 1692//27 1691//27 +f 1697//29 2048//29 1696//29 +f 1693//31 2046//31 1694//31 +f 1692//29 2044//29 1691//29 +f 1694//32 2045//32 1692//32 +f 1691//30 2043//30 1693//30 +f 1711//31 1724//31 1712//31 +f 1713//31 1723//31 1711//31 +f 1713//31 1726//31 1725//31 +f 1715//31 1726//31 1714//31 +f 1716//31 1727//31 1715//31 +f 1716//31 1729//31 1728//31 +f 1718//31 1729//31 1717//31 +f 1719//31 1730//31 1718//31 +f 1719//31 1732//31 1731//31 +f 1721//31 1732//31 1720//31 +f 1721//31 1734//31 1733//31 +f 1712//31 1734//31 1722//31 +f 1749//29 1783//29 1748//29 +f 1747//29 1783//29 1784//29 +f 1758//29 1784//29 1794//29 +f 1758//29 1793//29 1757//29 +f 1756//29 1793//29 1792//29 +f 1756//29 1791//29 1755//29 +f 1755//29 1790//29 1754//29 +f 1753//29 1790//29 1789//29 +f 1753//29 1788//29 1752//29 +f 1752//29 1787//29 1751//29 +f 1750//29 1787//29 1786//29 +f 1750//29 1785//29 1749//29 +f 1839//29 1837//29 1833//29 +f 1808//31 1817//31 1813//31 +f 1850//32 1844//32 1846//32 +f 1847//30 1845//30 1843//30 +f 1849//31 1846//31 1845//31 +f 1848//29 1843//29 1844//29 +f 1847//28 1850//28 1849//28 +f 1858//32 1852//32 1854//32 +f 1855//30 1853//30 1851//30 +f 1857//31 1854//31 1853//31 +f 1856//29 1851//29 1852//29 +f 1855//28 1858//28 1857//28 +f 1935//28 1933//28 1934//28 +f 1931//31 1936//31 1932//31 +f 1930//29 1934//29 1929//29 +f 1932//32 1935//32 1930//32 +f 1929//30 1933//30 1931//30 +f 1695//28 2044//28 1696//28 +f 1696//28 2045//28 1697//28 +f 1697//28 2046//28 1698//28 +f 1698//28 2043//28 1695//28 +f 2049//28 2047//28 2048//28 +f 1698//32 2049//32 1697//32 +f 1696//30 2047//30 1695//30 +f 1695//31 2050//31 1698//31 +f 2051//27 2053//27 2054//27 +f 2055//27 2058//27 2056//27 +f 2062//28 2059//28 2060//28 +f 2055//29 2061//29 2057//29 +f 2057//30 2062//30 2058//30 +f 2058//31 2060//31 2056//31 +f 2056//32 2059//32 2055//32 +f 2063//27 2066//27 2064//27 +f 2070//28 2067//28 2068//28 +f 2063//29 2069//29 2065//29 +f 2065//30 2070//30 2066//30 +f 2066//31 2068//31 2064//31 +f 2064//32 2067//32 2063//32 +f 2071//27 2074//27 2072//27 +f 2078//28 2075//28 2076//28 +f 2071//29 2077//29 2073//29 +f 2073//30 2078//30 2074//30 +f 2074//31 2076//31 2072//31 +f 2072//32 2075//32 2071//32 +f 2079//27 2082//27 2080//27 +f 2086//28 2083//28 2084//28 +f 2079//29 2085//29 2081//29 +f 2081//30 2086//30 2082//30 +f 2082//31 2084//31 2080//31 +f 2080//32 2083//32 2079//32 +f 2089//32 2054//32 2053//32 +f 2087//30 2052//30 2051//30 +f 2090//28 2088//28 2087//28 +f 2091//27 2093//27 2094//27 +f 2097//30 2094//30 2093//30 +f 2095//32 2092//32 2091//32 +f 2098//28 2096//28 2095//28 +f 2099//27 2101//27 2102//27 +f 2105//31 2102//31 2101//31 +f 2103//29 2100//29 2099//29 +f 2106//28 2104//28 2103//28 +f 2107//27 2109//27 2110//27 +f 2113//29 2110//29 2109//29 +f 2111//31 2108//31 2107//31 +f 2114//28 2112//28 2111//28 +f 2116//31 2117//31 2115//31 +f 2117//32 2119//32 2115//32 +f 2116//30 2122//30 2118//30 +f 2119//29 2122//29 2120//29 +f 2123//27 2126//27 2124//27 +f 2130//28 2127//28 2128//28 +f 2123//29 2129//29 2125//29 +f 2125//30 2130//30 2126//30 +f 2126//31 2128//31 2124//31 +f 2124//32 2127//32 2123//32 +f 2131//27 2134//27 2132//27 +f 2138//28 2135//28 2136//28 +f 2131//29 2137//29 2133//29 +f 2133//30 2138//30 2134//30 +f 2134//31 2136//31 2132//31 +f 2132//32 2135//32 2131//32 +f 2139//27 2142//27 2140//27 +f 2146//28 2143//28 2144//28 +f 2139//29 2145//29 2141//29 +f 2141//30 2146//30 2142//30 +f 2142//31 2144//31 2140//31 +f 2140//32 2143//32 2139//32 +f 2147//27 2150//27 2148//27 +f 2154//28 2151//28 2152//28 +f 2147//29 2153//29 2149//29 +f 2149//30 2154//30 2150//30 +f 2150//31 2152//31 2148//31 +f 2148//32 2151//32 2147//32 +f 2156//31 2157//31 2155//31 +f 2157//32 2159//32 2155//32 +f 2156//30 2162//30 2158//30 +f 2159//29 2162//29 2160//29 +f 2164//31 2165//31 2163//31 +f 2165//32 2167//32 2163//32 +f 2164//30 2170//30 2166//30 +f 2167//29 2170//29 2168//29 +f 2172//31 2173//31 2171//31 +f 2173//32 2175//32 2171//32 +f 2172//30 2178//30 2174//30 +f 2175//29 2178//29 2176//29 +f 2179//27 2181//27 2182//27 +f 2185//32 2182//32 2181//32 +f 2183//30 2180//30 2179//30 +f 2186//28 2184//28 2183//28 +f 2187//27 2189//27 2190//27 +f 2193//30 2190//30 2189//30 +f 2191//32 2188//32 2187//32 +f 2194//28 2192//28 2191//28 +f 2195//27 2197//27 2198//27 +f 2201//31 2198//31 2197//31 +f 2199//29 2196//29 2195//29 +f 2202//28 2200//28 2199//28 +f 2203//27 2205//27 2206//27 +f 2209//29 2206//29 2205//29 +f 2207//31 2204//31 2203//31 +f 2210//28 2208//28 2207//28 +f 2213//27 2212//27 2211//27 +f 2217//28 2215//28 2216//28 +f 2211//30 2215//30 2213//30 +f 2213//31 2218//31 2214//31 +f 2212//29 2216//29 2211//29 +f 2214//32 2217//32 2212//32 +f 2221//27 2220//27 2219//27 +f 2225//28 2223//28 2224//28 +f 2219//30 2223//30 2221//30 +f 2221//31 2226//31 2222//31 +f 2220//29 2224//29 2219//29 +f 2222//32 2225//32 2220//32 +f 2229//27 2228//27 2227//27 +f 2233//28 2231//28 2232//28 +f 2227//30 2231//30 2229//30 +f 2229//31 2234//31 2230//31 +f 2228//29 2232//29 2227//29 +f 2230//32 2233//32 2228//32 +f 2237//27 2236//27 2235//27 +f 2313//28 2303//28 2307//28 +f 2238//32 2241//32 2236//32 +f 2235//30 2239//30 2237//30 +f 2237//31 2242//31 2238//31 +f 2236//29 2240//29 2235//29 +f 2251//27 2249//27 2245//27 +f 2259//28 2263//28 2256//28 +f 2267//28 2287//28 2269//28 +f 2268//28 2285//28 2267//28 +f 2302//27 2271//27 2272//27 +f 2300//27 2270//27 2271//27 +f 2269//39 2302//39 2272//39 +f 2301//40 2268//40 2270//40 +f 2283//28 2273//28 2277//28 +f 2292//27 2290//27 2298//27 +f 2319//27 2317//27 2325//27 +f 2469//28 2459//28 2463//28 +f 2407//27 2405//27 2401//27 +f 2415//28 2419//28 2412//28 +f 2423//28 2443//28 2425//28 +f 2424//28 2441//28 2423//28 +f 2458//27 2427//27 2428//27 +f 2456//27 2426//27 2427//27 +f 2425//39 2458//39 2428//39 +f 2457//40 2424//40 2426//40 +f 2439//28 2429//28 2433//28 +f 2448//27 2446//27 2454//27 +f 2475//27 2473//27 2481//27 +f 2625//28 2615//28 2619//28 +f 2563//27 2561//27 2557//27 +f 2571//28 2575//28 2568//28 +f 2579//28 2599//28 2581//28 +f 2580//28 2597//28 2579//28 +f 2614//27 2583//27 2584//27 +f 2612//27 2582//27 2583//27 +f 2581//39 2614//39 2584//39 +f 2613//40 2580//40 2582//40 +f 2595//28 2585//28 2589//28 +f 2604//27 2602//27 2610//27 +f 2631//27 2629//27 2637//27 +f 2781//28 2771//28 2775//28 +f 2719//27 2717//27 2713//27 +f 2727//28 2731//28 2724//28 +f 2735//28 2755//28 2737//28 +f 2736//28 2753//28 2735//28 +f 2770//27 2739//27 2740//27 +f 2768//27 2738//27 2739//27 +f 2737//39 2770//39 2740//39 +f 2769//40 2736//40 2738//40 +f 2751//28 2741//28 2745//28 +f 2760//27 2758//27 2766//27 +f 2787//27 2785//27 2793//27 +f 2965//27 2964//27 2963//27 +f 2969//28 2967//28 2968//28 +f 2963//30 2967//30 2965//30 +f 2965//31 2970//31 2966//31 +f 2964//29 2968//29 2963//29 +f 2966//32 2969//32 2964//32 +f 2973//27 2972//27 2971//27 +f 2977//28 2975//28 2976//28 +f 2974//32 2977//32 2972//32 +f 2971//30 2975//30 2973//30 +f 2973//31 2978//31 2974//31 +f 2972//29 2976//29 2971//29 +f 2989//27 2985//27 2981//27 +f 3003//28 3007//28 2996//28 +f 3013//27 3014//27 3011//27 +f 3017//28 3020//28 3022//28 +f 3015//32 3021//32 3016//32 +f 3012//29 3018//29 3011//29 +f 3014//32 3019//32 3012//32 +f 3011//30 3017//30 3013//30 +f 3016//29 3020//29 3014//29 +f 3013//31 3022//31 3015//31 +f 151//27 152//27 153//27 +f 155//27 157//27 158//27 +f 162//28 161//28 159//28 +f 155//29 159//29 161//29 +f 157//30 161//30 162//30 +f 158//31 162//31 160//31 +f 156//32 160//32 159//32 +f 163//27 165//27 166//27 +f 170//28 169//28 167//28 +f 163//29 167//29 169//29 +f 165//30 169//30 170//30 +f 166//31 170//31 168//31 +f 164//32 168//32 167//32 +f 171//27 173//27 174//27 +f 178//28 177//28 175//28 +f 171//29 175//29 177//29 +f 173//30 177//30 178//30 +f 174//31 178//31 176//31 +f 172//32 176//32 175//32 +f 179//27 181//27 182//27 +f 186//28 185//28 183//28 +f 179//29 183//29 185//29 +f 181//30 185//30 186//30 +f 182//31 186//31 184//31 +f 180//32 184//32 183//32 +f 189//32 190//32 154//32 +f 187//30 188//30 152//30 +f 190//28 189//28 188//28 +f 191//27 192//27 193//27 +f 197//30 198//30 194//30 +f 195//32 196//32 192//32 +f 198//28 197//28 196//28 +f 199//27 200//27 201//27 +f 205//31 206//31 202//31 +f 203//29 204//29 200//29 +f 206//28 205//28 204//28 +f 207//27 208//27 209//27 +f 213//29 214//29 210//29 +f 211//31 212//31 208//31 +f 214//28 213//28 212//28 +f 216//31 218//31 217//31 +f 217//32 221//32 219//32 +f 216//30 220//30 222//30 +f 219//29 221//29 222//29 +f 223//27 225//27 226//27 +f 230//28 229//28 227//28 +f 223//29 227//29 229//29 +f 225//30 229//30 230//30 +f 226//31 230//31 228//31 +f 224//32 228//32 227//32 +f 231//27 233//27 234//27 +f 238//28 237//28 235//28 +f 231//29 235//29 237//29 +f 233//30 237//30 238//30 +f 234//31 238//31 236//31 +f 232//32 236//32 235//32 +f 239//27 241//27 242//27 +f 246//28 245//28 243//28 +f 239//29 243//29 245//29 +f 241//30 245//30 246//30 +f 242//31 246//31 244//31 +f 240//32 244//32 243//32 +f 247//27 249//27 250//27 +f 254//28 253//28 251//28 +f 247//29 251//29 253//29 +f 249//30 253//30 254//30 +f 250//31 254//31 252//31 +f 248//32 252//32 251//32 +f 256//31 258//31 257//31 +f 257//32 261//32 259//32 +f 256//30 260//30 262//30 +f 259//29 261//29 262//29 +f 264//31 266//31 265//31 +f 265//32 269//32 267//32 +f 264//30 268//30 270//30 +f 267//29 269//29 270//29 +f 272//31 274//31 273//31 +f 273//32 277//32 275//32 +f 272//30 276//30 278//30 +f 275//29 277//29 278//29 +f 279//27 280//27 281//27 +f 285//32 286//32 282//32 +f 283//30 284//30 280//30 +f 286//28 285//28 284//28 +f 287//27 288//27 289//27 +f 293//30 294//30 290//30 +f 291//32 292//32 288//32 +f 294//28 293//28 292//28 +f 295//27 296//27 297//27 +f 301//31 302//31 298//31 +f 299//29 300//29 296//29 +f 302//28 301//28 300//28 +f 303//27 304//27 305//27 +f 309//29 310//29 306//29 +f 307//31 308//31 304//31 +f 310//28 309//28 308//28 +f 313//27 314//27 312//27 +f 317//28 318//28 315//28 +f 311//30 316//30 315//30 +f 313//31 315//31 318//31 +f 312//29 317//29 316//29 +f 314//32 318//32 317//32 +f 321//27 322//27 320//27 +f 325//28 326//28 323//28 +f 319//30 324//30 323//30 +f 321//31 323//31 326//31 +f 320//29 325//29 324//29 +f 322//32 326//32 325//32 +f 329//27 330//27 328//27 +f 333//28 334//28 331//28 +f 327//30 332//30 331//30 +f 329//31 331//31 334//31 +f 328//29 333//29 332//29 +f 330//32 334//32 333//32 +f 337//27 338//27 336//27 +f 341//28 342//28 339//28 +f 338//32 342//32 341//32 +f 335//30 340//30 339//30 +f 337//31 339//31 342//31 +f 336//29 341//29 340//29 +f 345//27 344//27 343//27 +f 343//27 358//27 345//27 +f 358//27 357//27 345//27 +f 357//27 356//27 355//27 +f 355//27 354//27 353//27 +f 353//27 352//27 349//27 +f 352//27 351//27 349//27 +f 351//27 350//27 349//27 +f 349//27 348//27 347//27 +f 347//27 346//27 349//27 +f 346//27 345//27 349//27 +f 357//27 355//27 345//27 +f 355//27 353//27 345//27 +f 360//28 359//28 363//28 +f 359//28 361//28 363//28 +f 361//28 362//28 363//28 +f 363//28 364//28 365//28 +f 365//28 366//28 367//28 +f 367//28 368//28 371//28 +f 368//28 369//28 371//28 +f 369//28 370//28 371//28 +f 371//28 372//28 373//28 +f 373//28 374//28 371//28 +f 374//28 360//28 371//28 +f 363//28 365//28 360//28 +f 365//28 367//28 360//28 +f 404//29 413//29 412//29 +f 393//32 423//32 422//32 +f 406//31 409//31 416//31 +f 397//29 421//29 420//29 +f 395//31 417//31 424//31 +f 408//32 415//32 414//32 +f 416//33 415//33 408//33 +f 404//34 403//34 414//34 +f 412//35 411//35 402//35 +f 406//36 405//36 410//36 +f 402//30 411//30 410//30 +f 424//33 423//33 393//33 +f 397//34 398//34 422//34 +f 420//35 419//35 399//35 +f 395//36 396//36 418//36 +f 399//30 419//30 418//30 +f 425//32 439//32 438//32 +f 429//29 437//29 436//29 +f 427//31 433//31 440//31 +f 440//33 439//33 425//33 +f 429//34 430//34 438//34 +f 436//35 435//35 431//35 +f 427//36 428//36 434//36 +f 431//30 435//30 434//30 +f 441//32 455//32 454//32 +f 445//29 453//29 452//29 +f 443//31 449//31 456//31 +f 456//33 455//33 441//33 +f 445//34 446//34 454//34 +f 452//35 451//35 447//35 +f 443//36 444//36 450//36 +f 447//30 451//30 450//30 +f 459//27 458//27 457//27 +f 457//27 472//27 459//27 +f 472//27 471//27 459//27 +f 471//27 470//27 469//27 +f 469//27 468//27 467//27 +f 467//27 466//27 463//27 +f 466//27 465//27 463//27 +f 465//27 464//27 463//27 +f 463//27 462//27 461//27 +f 461//27 460//27 463//27 +f 460//27 459//27 463//27 +f 471//27 469//27 459//27 +f 469//27 467//27 459//27 +f 490//28 489//28 493//28 +f 489//28 491//28 493//28 +f 491//28 492//28 493//28 +f 493//28 494//28 495//28 +f 495//28 496//28 493//28 +f 496//28 497//28 493//28 +f 497//28 498//28 501//28 +f 498//28 499//28 501//28 +f 499//28 500//28 501//28 +f 501//28 502//28 503//28 +f 503//28 504//28 501//28 +f 504//28 490//28 501//28 +f 490//28 493//28 497//28 +f 507//27 508//27 506//27 +f 508//32 512//32 511//32 +f 505//30 510//30 509//30 +f 507//31 509//31 512//31 +f 506//29 511//29 510//29 +f 515//27 516//27 514//27 +f 1402//30 1160//30 525//30 +f 525//27 1160//27 1159//27 +f 519//31 525//31 532//31 +f 517//37 519//37 522//37 +f 1400//29 1399//29 513//29 +f 523//28 530//28 529//28 +f 529//31 530//31 527//31 +f 526//30 529//30 528//30 +f 516//32 527//32 530//32 +f 515//27 528//27 527//27 +f 517//31 518//31 523//31 +f 526//30 515//30 513//30 +f 513//30 519//30 517//30 +f 522//32 514//32 518//32 +f 514//32 516//32 523//32 +f 565//28 566//28 567//28 +f 567//28 568//28 565//28 +f 568//28 569//28 565//28 +f 569//28 570//28 573//28 +f 570//28 571//28 573//28 +f 571//28 572//28 573//28 +f 573//28 574//28 575//28 +f 575//28 576//28 577//28 +f 577//28 578//28 579//28 +f 579//28 580//28 565//28 +f 573//28 575//28 565//28 +f 575//28 577//28 565//28 +f 577//28 579//28 565//28 +f 592//27 591//27 604//27 +f 591//27 590//27 604//27 +f 590//27 605//27 604//27 +f 604//27 603//27 602//27 +f 602//27 601//27 600//27 +f 600//27 599//27 598//27 +f 598//27 597//27 600//27 +f 597//27 596//27 600//27 +f 596//27 595//27 594//27 +f 594//27 593//27 592//27 +f 604//27 602//27 600//27 +f 596//27 594//27 600//27 +f 594//27 592//27 600//27 +f 389//28 388//28 585//28 +f 387//28 586//28 585//28 +f 387//28 386//28 587//28 +f 385//28 588//28 587//28 +f 384//28 589//28 588//28 +f 392//28 581//28 589//28 +f 391//28 582//28 581//28 +f 390//28 583//28 582//28 +f 607//27 608//27 381//27 +f 606//27 607//27 383//27 +f 614//27 606//27 382//27 +f 613//27 614//27 375//27 +f 612//27 613//27 376//27 +f 378//27 611//27 612//27 +f 610//27 611//27 378//27 +f 380//27 609//27 610//27 +f 390//33 381//33 608//33 +f 609//33 380//33 389//33 +f 617//27 616//27 615//27 +f 615//27 630//27 617//27 +f 630//27 629//27 617//27 +f 629//27 628//27 627//27 +f 627//27 626//27 625//27 +f 625//27 624//27 621//27 +f 624//27 623//27 621//27 +f 623//27 622//27 621//27 +f 621//27 620//27 619//27 +f 619//27 618//27 621//27 +f 618//27 617//27 621//27 +f 629//27 627//27 617//27 +f 627//27 625//27 617//27 +f 632//28 631//28 635//28 +f 631//28 633//28 635//28 +f 633//28 634//28 635//28 +f 635//28 636//28 637//28 +f 637//28 638//28 639//28 +f 639//28 640//28 643//28 +f 640//28 641//28 643//28 +f 641//28 642//28 643//28 +f 643//28 644//28 645//28 +f 645//28 646//28 643//28 +f 646//28 632//28 643//28 +f 635//28 637//28 632//28 +f 637//28 639//28 632//28 +f 665//28 666//28 667//28 +f 667//28 668//28 665//28 +f 668//28 669//28 665//28 +f 669//28 670//28 673//28 +f 670//28 671//28 673//28 +f 671//28 672//28 673//28 +f 673//28 674//28 675//28 +f 675//28 676//28 677//28 +f 677//28 678//28 679//28 +f 679//28 680//28 665//28 +f 673//28 675//28 665//28 +f 675//28 677//28 665//28 +f 677//28 679//28 665//28 +f 692//27 691//27 704//27 +f 691//27 690//27 704//27 +f 690//27 705//27 704//27 +f 704//27 703//27 702//27 +f 702//27 701//27 700//27 +f 700//27 699//27 698//27 +f 698//27 697//27 700//27 +f 697//27 696//27 700//27 +f 696//27 695//27 694//27 +f 694//27 693//27 692//27 +f 704//27 702//27 700//27 +f 696//27 694//27 700//27 +f 694//27 692//27 700//27 +f 661//28 660//28 685//28 +f 659//28 686//28 685//28 +f 659//28 658//28 687//28 +f 657//28 688//28 687//28 +f 656//28 689//28 688//28 +f 664//28 681//28 689//28 +f 663//28 682//28 681//28 +f 662//28 683//28 682//28 +f 707//27 708//27 653//27 +f 706//27 707//27 655//27 +f 714//27 706//27 654//27 +f 713//27 714//27 647//27 +f 712//27 713//27 648//27 +f 650//27 711//27 712//27 +f 710//27 711//27 650//27 +f 652//27 709//27 710//27 +f 662//33 653//33 708//33 +f 709//33 652//33 661//33 +f 717//27 716//27 715//27 +f 715//27 730//27 717//27 +f 730//27 729//27 717//27 +f 729//27 728//27 727//27 +f 727//27 726//27 725//27 +f 725//27 724//27 721//27 +f 724//27 723//27 721//27 +f 723//27 722//27 721//27 +f 721//27 720//27 719//27 +f 719//27 718//27 721//27 +f 718//27 717//27 721//27 +f 729//27 727//27 717//27 +f 727//27 725//27 717//27 +f 732//28 731//28 735//28 +f 731//28 733//28 735//28 +f 733//28 734//28 735//28 +f 735//28 736//28 737//28 +f 737//28 738//28 739//28 +f 739//28 740//28 743//28 +f 740//28 741//28 743//28 +f 741//28 742//28 743//28 +f 743//28 744//28 745//28 +f 745//28 746//28 743//28 +f 746//28 732//28 743//28 +f 735//28 737//28 732//28 +f 737//28 739//28 732//28 +f 765//28 766//28 767//28 +f 767//28 768//28 765//28 +f 768//28 769//28 765//28 +f 769//28 770//28 773//28 +f 770//28 771//28 773//28 +f 771//28 772//28 773//28 +f 773//28 774//28 775//28 +f 775//28 776//28 777//28 +f 777//28 778//28 779//28 +f 779//28 780//28 765//28 +f 773//28 775//28 765//28 +f 775//28 777//28 765//28 +f 777//28 779//28 765//28 +f 792//27 791//27 804//27 +f 791//27 790//27 804//27 +f 790//27 805//27 804//27 +f 804//27 803//27 802//27 +f 802//27 801//27 800//27 +f 800//27 799//27 798//27 +f 798//27 797//27 800//27 +f 797//27 796//27 800//27 +f 796//27 795//27 794//27 +f 794//27 793//27 792//27 +f 804//27 802//27 800//27 +f 796//27 794//27 800//27 +f 794//27 792//27 800//27 +f 761//28 760//28 785//28 +f 759//28 786//28 785//28 +f 759//28 758//28 787//28 +f 757//28 788//28 787//28 +f 756//28 789//28 788//28 +f 764//28 781//28 789//28 +f 763//28 782//28 781//28 +f 762//28 783//28 782//28 +f 807//27 808//27 753//27 +f 806//27 807//27 755//27 +f 814//27 806//27 754//27 +f 813//27 814//27 747//27 +f 812//27 813//27 748//27 +f 750//27 811//27 812//27 +f 810//27 811//27 750//27 +f 752//27 809//27 810//27 +f 762//33 753//33 808//33 +f 809//33 752//33 761//33 +f 817//27 816//27 815//27 +f 815//27 830//27 817//27 +f 830//27 829//27 817//27 +f 829//27 828//27 827//27 +f 827//27 826//27 825//27 +f 825//27 824//27 821//27 +f 824//27 823//27 821//27 +f 823//27 822//27 821//27 +f 821//27 820//27 819//27 +f 819//27 818//27 821//27 +f 818//27 817//27 821//27 +f 829//27 827//27 817//27 +f 827//27 825//27 817//27 +f 832//28 831//28 835//28 +f 831//28 833//28 835//28 +f 833//28 834//28 835//28 +f 835//28 836//28 837//28 +f 837//28 838//28 839//28 +f 839//28 840//28 843//28 +f 840//28 841//28 843//28 +f 841//28 842//28 843//28 +f 843//28 844//28 845//28 +f 845//28 846//28 843//28 +f 846//28 832//28 843//28 +f 835//28 837//28 832//28 +f 837//28 839//28 832//28 +f 865//28 866//28 867//28 +f 867//28 868//28 865//28 +f 868//28 869//28 865//28 +f 869//28 870//28 873//28 +f 870//28 871//28 873//28 +f 871//28 872//28 873//28 +f 873//28 874//28 875//28 +f 875//28 876//28 877//28 +f 877//28 878//28 879//28 +f 879//28 880//28 865//28 +f 873//28 875//28 865//28 +f 875//28 877//28 865//28 +f 877//28 879//28 865//28 +f 892//27 891//27 904//27 +f 891//27 890//27 904//27 +f 890//27 905//27 904//27 +f 904//27 903//27 902//27 +f 902//27 901//27 900//27 +f 900//27 899//27 898//27 +f 898//27 897//27 900//27 +f 897//27 896//27 900//27 +f 896//27 895//27 894//27 +f 894//27 893//27 892//27 +f 904//27 902//27 900//27 +f 896//27 894//27 900//27 +f 894//27 892//27 900//27 +f 861//28 860//28 885//28 +f 859//28 886//28 885//28 +f 859//28 858//28 887//28 +f 857//28 888//28 887//28 +f 856//28 889//28 888//28 +f 864//28 881//28 889//28 +f 863//28 882//28 881//28 +f 862//28 883//28 882//28 +f 907//27 908//27 853//27 +f 906//27 907//27 855//27 +f 914//27 906//27 854//27 +f 913//27 914//27 847//27 +f 912//27 913//27 848//27 +f 850//27 911//27 912//27 +f 910//27 911//27 850//27 +f 852//27 909//27 910//27 +f 862//33 853//33 908//33 +f 909//33 852//33 861//33 +f 980//29 982//29 981//29 +f 985//31 986//31 984//31 +f 980//32 984//32 986//32 +f 979//27 983//27 984//27 +f 981//30 985//30 983//30 +f 982//28 986//28 985//28 +f 996//30 990//30 989//30 +f 990//31 994//31 993//31 +f 994//32 997//32 998//32 +f 991//27 1006//27 1003//27 +f 993//27 998//27 995//27 +f 990//28 996//28 997//28 +f 988//29 996//29 995//29 +f 991//29 998//29 997//29 +f 987//29 995//29 998//29 +f 992//29 997//29 996//29 +f 1002//28 1010//28 1007//28 +f 987//30 1003//30 1004//30 +f 988//28 1004//28 1005//28 +f 992//32 1005//32 1006//32 +f 1000//29 1004//29 1003//29 +f 1002//29 1006//29 1005//29 +f 999//29 1003//29 1006//29 +f 1001//29 1005//29 1004//29 +f 1009//29 1008//29 1007//29 +f 999//32 1007//32 1008//32 +f 1000//27 1008//27 1009//27 +f 1001//30 1009//30 1010//30 +f 1028//29 1034//29 1033//29 +f 1018//29 1017//29 1019//29 +f 1019//29 1020//29 1018//29 +f 1020//29 1021//29 1018//29 +f 1026//29 1032//29 1031//29 +f 1024//29 1023//29 1029//29 +f 1038//29 1037//29 1035//29 +f 1042//29 1041//29 1039//29 +f 1046//29 1045//29 1043//29 +f 1050//29 1049//29 1047//29 +f 1060//30 1054//30 1053//30 +f 1054//31 1058//31 1057//31 +f 1058//32 1061//32 1062//32 +f 1055//27 1070//27 1067//27 +f 1057//27 1062//27 1059//27 +f 1054//28 1060//28 1061//28 +f 1052//29 1060//29 1059//29 +f 1055//29 1062//29 1061//29 +f 1051//29 1059//29 1062//29 +f 1056//29 1061//29 1060//29 +f 1066//28 1074//28 1071//28 +f 1051//30 1067//30 1068//30 +f 1052//28 1068//28 1069//28 +f 1056//32 1069//32 1070//32 +f 1064//29 1068//29 1067//29 +f 1066//29 1070//29 1069//29 +f 1063//29 1067//29 1070//29 +f 1065//29 1069//29 1068//29 +f 1073//29 1072//29 1071//29 +f 1063//32 1071//32 1072//32 +f 1064//27 1072//27 1073//27 +f 1065//30 1073//30 1074//30 +f 1092//29 1098//29 1097//29 +f 1082//29 1081//29 1083//29 +f 1083//29 1084//29 1082//29 +f 1084//29 1085//29 1082//29 +f 1090//29 1096//29 1095//29 +f 1088//29 1087//29 1093//29 +f 1102//29 1101//29 1099//29 +f 1106//29 1105//29 1103//29 +f 1110//29 1109//29 1107//29 +f 1114//29 1113//29 1111//29 +f 1122//32 1120//32 1116//32 +f 1119//30 1121//30 1117//30 +f 1121//31 1122//31 1118//31 +f 1120//29 1119//29 1115//29 +f 1160//31 1402//31 1401//31 +f 1156//32 1158//32 1198//32 +f 1158//32 1162//32 1197//32 +f 1161//31 1162//31 1158//31 +f 1157//30 1155//30 1195//30 +f 1195//30 1196//30 1157//30 +f 1198//29 1195//29 1155//29 +f 1198//38 1197//38 1196//38 +f 1196//28 1197//28 1162//28 +f 522//32 532//32 1400//32 +f 1199//30 1403//30 1406//30 +f 1449//30 521//30 524//30 +f 532//32 1159//32 1401//32 +f 1393//27 1392//27 1391//27 +f 1391//27 1398//27 1397//27 +f 1397//27 1396//27 1395//27 +f 1395//27 1394//27 1393//27 +f 1393//27 1391//27 1397//27 +f 1199//28 1399//28 1400//28 +f 1200//28 1400//28 1401//28 +f 1201//28 1401//28 1402//28 +f 1202//28 1402//28 1399//28 +f 1404//28 1405//28 1406//28 +f 1201//32 1405//32 1404//32 +f 1202//31 1406//31 1405//31 +f 1200//29 1404//29 1403//29 +f 1421//28 1422//28 1419//28 +f 1413//28 1414//28 1411//28 +f 1410//32 1414//32 1413//32 +f 1407//30 1412//30 1411//30 +f 1409//31 1411//31 1414//31 +f 1408//29 1413//29 1412//29 +f 1418//32 1422//32 1421//32 +f 1415//30 1420//30 1419//30 +f 1417//31 1419//31 1422//31 +f 1416//29 1421//29 1420//29 +f 1429//28 1430//28 1427//28 +f 1426//32 1430//32 1429//32 +f 1423//30 1428//30 1427//30 +f 1425//31 1427//31 1430//31 +f 1424//29 1429//29 1428//29 +f 1445//28 1446//28 1443//28 +f 1437//28 1438//28 1435//28 +f 1434//32 1438//32 1437//32 +f 1431//30 1436//30 1435//30 +f 1433//31 1435//31 1438//31 +f 1432//29 1437//29 1436//29 +f 1442//32 1446//32 1445//32 +f 1439//30 1444//30 1443//30 +f 1441//31 1443//31 1446//31 +f 1440//29 1445//29 1444//29 +f 1399//30 525//30 519//30 +f 1457//32 1453//32 1454//32 +f 1458//29 1454//29 1451//29 +f 1455//30 1451//30 1452//30 +f 1456//31 1452//31 1453//31 +f 1448//28 1452//28 1451//28 +f 1450//28 1454//28 1453//28 +f 1447//28 1451//28 1454//28 +f 1449//28 1453//28 1452//28 +f 531//27 1455//27 1456//27 +f 521//27 1457//27 1458//27 +f 524//27 1458//27 1455//27 +f 520//27 1456//27 1457//27 +f 524//31 531//31 1447//31 +f 1447//32 531//32 520//32 +f 520//29 521//29 1449//29 +f 1467//31 1471//31 1473//31 +f 1469//32 1473//32 1474//32 +f 1459//31 1463//31 1465//31 +f 1461//32 1465//32 1466//32 +f 1462//29 1466//29 1464//29 +f 1460//30 1464//30 1463//30 +f 1470//29 1474//29 1472//29 +f 1468//30 1472//30 1471//30 +f 1483//31 1487//31 1489//31 +f 1485//32 1489//32 1490//32 +f 1475//31 1479//31 1481//31 +f 1477//32 1481//32 1482//32 +f 1478//29 1482//29 1480//29 +f 1476//30 1480//30 1479//30 +f 1486//29 1490//29 1488//29 +f 1484//30 1488//30 1487//30 +f 1499//31 1500//31 1492//31 +f 1496//29 1502//29 1501//29 +f 1495//30 1501//30 1499//30 +f 1494//32 1504//32 1506//32 +f 1502//32 1496//32 1492//32 +f 1494//28 1500//28 1499//28 +f 1497//28 1501//28 1502//28 +f 1493//28 1499//28 1501//28 +f 1498//28 1502//28 1500//28 +f 1505//28 1506//28 1504//28 +f 1498//29 1506//29 1505//29 +f 1497//30 1505//30 1503//30 +f 1493//31 1503//31 1504//31 +f 1541//31 1542//31 1540//31 +f 1545//29 1546//29 1543//29 +f 1541//28 1543//28 1546//28 +f 1540//27 1545//27 1544//27 +f 1542//32 1546//32 1545//32 +f 1539//30 1544//30 1543//30 +f 1613//27 1612//27 1611//27 +f 1611//27 1622//27 1613//27 +f 1622//27 1621//27 1613//27 +f 1621//27 1620//27 1619//27 +f 1619//27 1618//27 1617//27 +f 1617//27 1616//27 1615//27 +f 1615//27 1614//27 1617//27 +f 1614//27 1613//27 1617//27 +f 1621//27 1619//27 1613//27 +f 1624//28 1623//28 1625//28 +f 1625//28 1626//28 1624//28 +f 1626//28 1627//28 1624//28 +f 1627//28 1628//28 1629//28 +f 1629//28 1630//28 1627//28 +f 1630//28 1631//28 1627//28 +f 1631//28 1632//28 1624//28 +f 1632//28 1633//28 1624//28 +f 1633//28 1634//28 1624//28 +f 1637//27 1636//27 1635//27 +f 1635//27 1646//27 1637//27 +f 1646//27 1645//27 1637//27 +f 1645//27 1644//27 1643//27 +f 1643//27 1642//27 1641//27 +f 1641//27 1640//27 1639//27 +f 1639//27 1638//27 1641//27 +f 1638//27 1637//27 1641//27 +f 1645//27 1643//27 1637//27 +f 1648//28 1647//28 1649//28 +f 1649//28 1650//28 1648//28 +f 1650//28 1651//28 1648//28 +f 1651//28 1652//28 1653//28 +f 1653//28 1654//28 1655//28 +f 1655//28 1656//28 1657//28 +f 1657//28 1658//28 1655//28 +f 1658//28 1648//28 1655//28 +f 1651//28 1653//28 1648//28 +f 1667//31 1671//31 1673//31 +f 1669//32 1673//32 1674//32 +f 1659//31 1663//31 1665//31 +f 1661//32 1665//32 1666//32 +f 1662//29 1666//29 1664//29 +f 1660//30 1664//30 1663//30 +f 1670//29 1674//29 1672//29 +f 1668//30 1672//30 1671//30 +f 1683//31 1687//31 1689//31 +f 1685//32 1689//32 1690//32 +f 1675//31 1679//31 1681//31 +f 1677//32 1681//32 1682//32 +f 1678//29 1682//29 1680//29 +f 1676//30 1680//30 1679//30 +f 1686//29 1690//29 1688//29 +f 1684//30 1688//30 1687//30 +f 1693//27 1694//27 1692//27 +f 1697//29 2049//29 2048//29 +f 1693//31 2043//31 2046//31 +f 1692//29 2045//29 2044//29 +f 1694//32 2046//32 2045//32 +f 1691//30 2044//30 2043//30 +f 1711//31 1723//31 1724//31 +f 1713//31 1725//31 1723//31 +f 1713//31 1714//31 1726//31 +f 1715//31 1727//31 1726//31 +f 1716//31 1728//31 1727//31 +f 1716//31 1717//31 1729//31 +f 1718//31 1730//31 1729//31 +f 1719//31 1731//31 1730//31 +f 1719//31 1720//31 1732//31 +f 1721//31 1733//31 1732//31 +f 1721//31 1722//31 1734//31 +f 1712//31 1724//31 1734//31 +f 1749//29 1785//29 1783//29 +f 1747//29 1748//29 1783//29 +f 1758//29 1747//29 1784//29 +f 1758//29 1794//29 1793//29 +f 1756//29 1757//29 1793//29 +f 1756//29 1792//29 1791//29 +f 1755//29 1791//29 1790//29 +f 1753//29 1754//29 1790//29 +f 1753//29 1789//29 1788//29 +f 1752//29 1788//29 1787//29 +f 1750//29 1751//29 1787//29 +f 1750//29 1786//29 1785//29 +f 1833//29 1831//29 1832//29 +f 1832//29 1842//29 1833//29 +f 1842//29 1841//29 1833//29 +f 1841//29 1840//29 1839//29 +f 1839//29 1838//29 1837//29 +f 1837//29 1836//29 1835//29 +f 1835//29 1834//29 1837//29 +f 1834//29 1833//29 1837//29 +f 1841//29 1839//29 1833//29 +f 1809//31 1807//31 1808//31 +f 1808//31 1818//31 1817//31 +f 1817//31 1816//31 1813//31 +f 1816//31 1815//31 1813//31 +f 1815//31 1814//31 1813//31 +f 1813//31 1812//31 1811//31 +f 1811//31 1810//31 1813//31 +f 1810//31 1809//31 1813//31 +f 1809//31 1808//31 1813//31 +f 1850//32 1848//32 1844//32 +f 1847//30 1849//30 1845//30 +f 1849//31 1850//31 1846//31 +f 1848//29 1847//29 1843//29 +f 1847//28 1848//28 1850//28 +f 1858//32 1856//32 1852//32 +f 1855//30 1857//30 1853//30 +f 1857//31 1858//31 1854//31 +f 1856//29 1855//29 1851//29 +f 1855//28 1856//28 1858//28 +f 1935//28 1936//28 1933//28 +f 1931//31 1933//31 1936//31 +f 1930//29 1935//29 1934//29 +f 1932//32 1936//32 1935//32 +f 1929//30 1934//30 1933//30 +f 1695//28 2043//28 2044//28 +f 1696//28 2044//28 2045//28 +f 1697//28 2045//28 2046//28 +f 1698//28 2046//28 2043//28 +f 2049//28 2050//28 2047//28 +f 1698//32 2050//32 2049//32 +f 1696//30 2048//30 2047//30 +f 1695//31 2047//31 2050//31 +f 2051//27 2052//27 2053//27 +f 2055//27 2057//27 2058//27 +f 2062//28 2061//28 2059//28 +f 2055//29 2059//29 2061//29 +f 2057//30 2061//30 2062//30 +f 2058//31 2062//31 2060//31 +f 2056//32 2060//32 2059//32 +f 2063//27 2065//27 2066//27 +f 2070//28 2069//28 2067//28 +f 2063//29 2067//29 2069//29 +f 2065//30 2069//30 2070//30 +f 2066//31 2070//31 2068//31 +f 2064//32 2068//32 2067//32 +f 2071//27 2073//27 2074//27 +f 2078//28 2077//28 2075//28 +f 2071//29 2075//29 2077//29 +f 2073//30 2077//30 2078//30 +f 2074//31 2078//31 2076//31 +f 2072//32 2076//32 2075//32 +f 2079//27 2081//27 2082//27 +f 2086//28 2085//28 2083//28 +f 2079//29 2083//29 2085//29 +f 2081//30 2085//30 2086//30 +f 2082//31 2086//31 2084//31 +f 2080//32 2084//32 2083//32 +f 2089//32 2090//32 2054//32 +f 2087//30 2088//30 2052//30 +f 2090//28 2089//28 2088//28 +f 2091//27 2092//27 2093//27 +f 2097//30 2098//30 2094//30 +f 2095//32 2096//32 2092//32 +f 2098//28 2097//28 2096//28 +f 2099//27 2100//27 2101//27 +f 2105//31 2106//31 2102//31 +f 2103//29 2104//29 2100//29 +f 2106//28 2105//28 2104//28 +f 2107//27 2108//27 2109//27 +f 2113//29 2114//29 2110//29 +f 2111//31 2112//31 2108//31 +f 2114//28 2113//28 2112//28 +f 2116//31 2118//31 2117//31 +f 2117//32 2121//32 2119//32 +f 2116//30 2120//30 2122//30 +f 2119//29 2121//29 2122//29 +f 2123//27 2125//27 2126//27 +f 2130//28 2129//28 2127//28 +f 2123//29 2127//29 2129//29 +f 2125//30 2129//30 2130//30 +f 2126//31 2130//31 2128//31 +f 2124//32 2128//32 2127//32 +f 2131//27 2133//27 2134//27 +f 2138//28 2137//28 2135//28 +f 2131//29 2135//29 2137//29 +f 2133//30 2137//30 2138//30 +f 2134//31 2138//31 2136//31 +f 2132//32 2136//32 2135//32 +f 2139//27 2141//27 2142//27 +f 2146//28 2145//28 2143//28 +f 2139//29 2143//29 2145//29 +f 2141//30 2145//30 2146//30 +f 2142//31 2146//31 2144//31 +f 2140//32 2144//32 2143//32 +f 2147//27 2149//27 2150//27 +f 2154//28 2153//28 2151//28 +f 2147//29 2151//29 2153//29 +f 2149//30 2153//30 2154//30 +f 2150//31 2154//31 2152//31 +f 2148//32 2152//32 2151//32 +f 2156//31 2158//31 2157//31 +f 2157//32 2161//32 2159//32 +f 2156//30 2160//30 2162//30 +f 2159//29 2161//29 2162//29 +f 2164//31 2166//31 2165//31 +f 2165//32 2169//32 2167//32 +f 2164//30 2168//30 2170//30 +f 2167//29 2169//29 2170//29 +f 2172//31 2174//31 2173//31 +f 2173//32 2177//32 2175//32 +f 2172//30 2176//30 2178//30 +f 2175//29 2177//29 2178//29 +f 2179//27 2180//27 2181//27 +f 2185//32 2186//32 2182//32 +f 2183//30 2184//30 2180//30 +f 2186//28 2185//28 2184//28 +f 2187//27 2188//27 2189//27 +f 2193//30 2194//30 2190//30 +f 2191//32 2192//32 2188//32 +f 2194//28 2193//28 2192//28 +f 2195//27 2196//27 2197//27 +f 2201//31 2202//31 2198//31 +f 2199//29 2200//29 2196//29 +f 2202//28 2201//28 2200//28 +f 2203//27 2204//27 2205//27 +f 2209//29 2210//29 2206//29 +f 2207//31 2208//31 2204//31 +f 2210//28 2209//28 2208//28 +f 2213//27 2214//27 2212//27 +f 2217//28 2218//28 2215//28 +f 2211//30 2216//30 2215//30 +f 2213//31 2215//31 2218//31 +f 2212//29 2217//29 2216//29 +f 2214//32 2218//32 2217//32 +f 2221//27 2222//27 2220//27 +f 2225//28 2226//28 2223//28 +f 2219//30 2224//30 2223//30 +f 2221//31 2223//31 2226//31 +f 2220//29 2225//29 2224//29 +f 2222//32 2226//32 2225//32 +f 2229//27 2230//27 2228//27 +f 2233//28 2234//28 2231//28 +f 2227//30 2232//30 2231//30 +f 2229//31 2231//31 2234//31 +f 2228//29 2233//29 2232//29 +f 2230//32 2234//32 2233//32 +f 2237//27 2238//27 2236//27 +f 2303//28 2304//28 2305//28 +f 2305//28 2306//28 2307//28 +f 2307//28 2308//28 2309//28 +f 2309//28 2310//28 2307//28 +f 2310//28 2311//28 2307//28 +f 2311//28 2312//28 2313//28 +f 2313//28 2314//28 2303//28 +f 2303//28 2305//28 2307//28 +f 2311//28 2313//28 2307//28 +f 2238//32 2242//32 2241//32 +f 2235//30 2240//30 2239//30 +f 2237//31 2239//31 2242//31 +f 2236//29 2241//29 2240//29 +f 2245//27 2244//27 2243//27 +f 2243//27 2254//27 2245//27 +f 2254//27 2253//27 2245//27 +f 2253//27 2252//27 2251//27 +f 2251//27 2250//27 2249//27 +f 2249//27 2248//27 2247//27 +f 2247//27 2246//27 2249//27 +f 2246//27 2245//27 2249//27 +f 2253//27 2251//27 2245//27 +f 2256//28 2255//28 2257//28 +f 2257//28 2258//28 2256//28 +f 2258//28 2259//28 2256//28 +f 2259//28 2260//28 2261//28 +f 2261//28 2262//28 2263//28 +f 2263//28 2264//28 2265//28 +f 2265//28 2266//28 2263//28 +f 2266//28 2256//28 2263//28 +f 2259//28 2261//28 2263//28 +f 2267//28 2285//28 2287//28 +f 2268//28 2286//28 2285//28 +f 2302//27 2300//27 2271//27 +f 2300//27 2301//27 2270//27 +f 2269//39 2287//39 2302//39 +f 2301//40 2286//40 2268//40 +f 2273//28 2274//28 2275//28 +f 2275//28 2276//28 2277//28 +f 2277//28 2278//28 2279//28 +f 2279//28 2280//28 2277//28 +f 2280//28 2281//28 2277//28 +f 2281//28 2282//28 2283//28 +f 2283//28 2284//28 2273//28 +f 2273//28 2275//28 2277//28 +f 2281//28 2283//28 2277//28 +f 2290//27 2289//27 2298//27 +f 2289//27 2288//27 2298//27 +f 2288//27 2299//27 2298//27 +f 2298//27 2297//27 2296//27 +f 2296//27 2295//27 2294//27 +f 2294//27 2293//27 2292//27 +f 2292//27 2291//27 2290//27 +f 2298//27 2296//27 2294//27 +f 2294//27 2292//27 2298//27 +f 2317//27 2315//27 2325//27 +f 2315//27 2316//27 2325//27 +f 2316//27 2326//27 2325//27 +f 2325//27 2324//27 2323//27 +f 2323//27 2322//27 2321//27 +f 2321//27 2320//27 2319//27 +f 2319//27 2318//27 2317//27 +f 2325//27 2323//27 2321//27 +f 2321//27 2319//27 2325//27 +f 2459//28 2460//28 2461//28 +f 2461//28 2462//28 2463//28 +f 2463//28 2464//28 2465//28 +f 2465//28 2466//28 2463//28 +f 2466//28 2467//28 2463//28 +f 2467//28 2468//28 2469//28 +f 2469//28 2470//28 2459//28 +f 2459//28 2461//28 2463//28 +f 2467//28 2469//28 2463//28 +f 2401//27 2400//27 2399//27 +f 2399//27 2410//27 2401//27 +f 2410//27 2409//27 2401//27 +f 2409//27 2408//27 2407//27 +f 2407//27 2406//27 2405//27 +f 2405//27 2404//27 2403//27 +f 2403//27 2402//27 2405//27 +f 2402//27 2401//27 2405//27 +f 2409//27 2407//27 2401//27 +f 2412//28 2411//28 2413//28 +f 2413//28 2414//28 2412//28 +f 2414//28 2415//28 2412//28 +f 2415//28 2416//28 2417//28 +f 2417//28 2418//28 2419//28 +f 2419//28 2420//28 2421//28 +f 2421//28 2422//28 2419//28 +f 2422//28 2412//28 2419//28 +f 2415//28 2417//28 2419//28 +f 2423//28 2441//28 2443//28 +f 2424//28 2442//28 2441//28 +f 2458//27 2456//27 2427//27 +f 2456//27 2457//27 2426//27 +f 2425//39 2443//39 2458//39 +f 2457//40 2442//40 2424//40 +f 2429//28 2430//28 2431//28 +f 2431//28 2432//28 2433//28 +f 2433//28 2434//28 2435//28 +f 2435//28 2436//28 2433//28 +f 2436//28 2437//28 2433//28 +f 2437//28 2438//28 2439//28 +f 2439//28 2440//28 2429//28 +f 2429//28 2431//28 2433//28 +f 2437//28 2439//28 2433//28 +f 2446//27 2445//27 2454//27 +f 2445//27 2444//27 2454//27 +f 2444//27 2455//27 2454//27 +f 2454//27 2453//27 2452//27 +f 2452//27 2451//27 2450//27 +f 2450//27 2449//27 2448//27 +f 2448//27 2447//27 2446//27 +f 2454//27 2452//27 2450//27 +f 2450//27 2448//27 2454//27 +f 2473//27 2471//27 2481//27 +f 2471//27 2472//27 2481//27 +f 2472//27 2482//27 2481//27 +f 2481//27 2480//27 2479//27 +f 2479//27 2478//27 2477//27 +f 2477//27 2476//27 2475//27 +f 2475//27 2474//27 2473//27 +f 2481//27 2479//27 2477//27 +f 2477//27 2475//27 2481//27 +f 2615//28 2616//28 2617//28 +f 2617//28 2618//28 2619//28 +f 2619//28 2620//28 2621//28 +f 2621//28 2622//28 2619//28 +f 2622//28 2623//28 2619//28 +f 2623//28 2624//28 2625//28 +f 2625//28 2626//28 2615//28 +f 2615//28 2617//28 2619//28 +f 2623//28 2625//28 2619//28 +f 2557//27 2556//27 2555//27 +f 2555//27 2566//27 2557//27 +f 2566//27 2565//27 2557//27 +f 2565//27 2564//27 2563//27 +f 2563//27 2562//27 2561//27 +f 2561//27 2560//27 2559//27 +f 2559//27 2558//27 2561//27 +f 2558//27 2557//27 2561//27 +f 2565//27 2563//27 2557//27 +f 2568//28 2567//28 2569//28 +f 2569//28 2570//28 2568//28 +f 2570//28 2571//28 2568//28 +f 2571//28 2572//28 2573//28 +f 2573//28 2574//28 2575//28 +f 2575//28 2576//28 2577//28 +f 2577//28 2578//28 2575//28 +f 2578//28 2568//28 2575//28 +f 2571//28 2573//28 2575//28 +f 2579//28 2597//28 2599//28 +f 2580//28 2598//28 2597//28 +f 2614//27 2612//27 2583//27 +f 2612//27 2613//27 2582//27 +f 2581//39 2599//39 2614//39 +f 2613//40 2598//40 2580//40 +f 2585//28 2586//28 2587//28 +f 2587//28 2588//28 2589//28 +f 2589//28 2590//28 2591//28 +f 2591//28 2592//28 2589//28 +f 2592//28 2593//28 2589//28 +f 2593//28 2594//28 2595//28 +f 2595//28 2596//28 2585//28 +f 2585//28 2587//28 2589//28 +f 2593//28 2595//28 2589//28 +f 2602//27 2601//27 2610//27 +f 2601//27 2600//27 2610//27 +f 2600//27 2611//27 2610//27 +f 2610//27 2609//27 2608//27 +f 2608//27 2607//27 2606//27 +f 2606//27 2605//27 2604//27 +f 2604//27 2603//27 2602//27 +f 2610//27 2608//27 2606//27 +f 2606//27 2604//27 2610//27 +f 2629//27 2627//27 2637//27 +f 2627//27 2628//27 2637//27 +f 2628//27 2638//27 2637//27 +f 2637//27 2636//27 2635//27 +f 2635//27 2634//27 2633//27 +f 2633//27 2632//27 2631//27 +f 2631//27 2630//27 2629//27 +f 2637//27 2635//27 2633//27 +f 2633//27 2631//27 2637//27 +f 2771//28 2772//28 2773//28 +f 2773//28 2774//28 2775//28 +f 2775//28 2776//28 2777//28 +f 2777//28 2778//28 2775//28 +f 2778//28 2779//28 2775//28 +f 2779//28 2780//28 2781//28 +f 2781//28 2782//28 2771//28 +f 2771//28 2773//28 2775//28 +f 2779//28 2781//28 2775//28 +f 2713//27 2712//27 2711//27 +f 2711//27 2722//27 2713//27 +f 2722//27 2721//27 2713//27 +f 2721//27 2720//27 2719//27 +f 2719//27 2718//27 2717//27 +f 2717//27 2716//27 2715//27 +f 2715//27 2714//27 2717//27 +f 2714//27 2713//27 2717//27 +f 2721//27 2719//27 2713//27 +f 2724//28 2723//28 2725//28 +f 2725//28 2726//28 2724//28 +f 2726//28 2727//28 2724//28 +f 2727//28 2728//28 2729//28 +f 2729//28 2730//28 2731//28 +f 2731//28 2732//28 2733//28 +f 2733//28 2734//28 2731//28 +f 2734//28 2724//28 2731//28 +f 2727//28 2729//28 2731//28 +f 2735//28 2753//28 2755//28 +f 2736//28 2754//28 2753//28 +f 2770//27 2768//27 2739//27 +f 2768//27 2769//27 2738//27 +f 2737//39 2755//39 2770//39 +f 2769//40 2754//40 2736//40 +f 2741//28 2742//28 2743//28 +f 2743//28 2744//28 2745//28 +f 2745//28 2746//28 2747//28 +f 2747//28 2748//28 2745//28 +f 2748//28 2749//28 2745//28 +f 2749//28 2750//28 2751//28 +f 2751//28 2752//28 2741//28 +f 2741//28 2743//28 2745//28 +f 2749//28 2751//28 2745//28 +f 2758//27 2757//27 2766//27 +f 2757//27 2756//27 2766//27 +f 2756//27 2767//27 2766//27 +f 2766//27 2765//27 2764//27 +f 2764//27 2763//27 2762//27 +f 2762//27 2761//27 2760//27 +f 2760//27 2759//27 2758//27 +f 2766//27 2764//27 2762//27 +f 2762//27 2760//27 2766//27 +f 2785//27 2783//27 2793//27 +f 2783//27 2784//27 2793//27 +f 2784//27 2794//27 2793//27 +f 2793//27 2792//27 2791//27 +f 2791//27 2790//27 2789//27 +f 2789//27 2788//27 2787//27 +f 2787//27 2786//27 2785//27 +f 2793//27 2791//27 2789//27 +f 2789//27 2787//27 2793//27 +f 2965//27 2966//27 2964//27 +f 2969//28 2970//28 2967//28 +f 2963//30 2968//30 2967//30 +f 2965//31 2967//31 2970//31 +f 2964//29 2969//29 2968//29 +f 2966//32 2970//32 2969//32 +f 2973//27 2974//27 2972//27 +f 2977//28 2978//28 2975//28 +f 2974//32 2978//32 2977//32 +f 2971//30 2976//30 2975//30 +f 2973//31 2975//31 2978//31 +f 2972//29 2977//29 2976//29 +f 2981//27 2980//27 2979//27 +f 2979//27 2994//27 2981//27 +f 2994//27 2993//27 2981//27 +f 2993//27 2992//27 2991//27 +f 2991//27 2990//27 2989//27 +f 2989//27 2988//27 2985//27 +f 2988//27 2987//27 2985//27 +f 2987//27 2986//27 2985//27 +f 2985//27 2984//27 2983//27 +f 2983//27 2982//27 2981//27 +f 2993//27 2991//27 2981//27 +f 2991//27 2989//27 2981//27 +f 2985//27 2983//27 2981//27 +f 2996//28 2995//28 2997//28 +f 2997//28 2998//28 2999//28 +f 2999//28 3000//28 3001//28 +f 3001//28 3002//28 3003//28 +f 3003//28 3004//28 3007//28 +f 3004//28 3005//28 3007//28 +f 3005//28 3006//28 3007//28 +f 3007//28 3008//28 3009//28 +f 3009//28 3010//28 3007//28 +f 3010//28 2996//28 3007//28 +f 2996//28 2997//28 2999//28 +f 2999//28 3001//28 2996//28 +f 3001//28 3003//28 2996//28 +f 3013//27 3015//27 3014//27 +f 3015//27 3016//27 3014//27 +f 3014//27 3012//27 3011//27 +f 3017//28 3018//28 3020//28 +f 3018//28 3019//28 3020//28 +f 3020//28 3021//28 3022//28 +f 3015//32 3022//32 3021//32 +f 3012//29 3019//29 3018//29 +f 3014//32 3020//32 3019//32 +f 3011//30 3018//30 3017//30 +f 3016//29 3021//29 3020//29 +f 3013//31 3017//31 3022//31 +s 1 +f 370//41 378//32 371//32 +f 350//42 365//35 349//35 +f 360//31 383//43 359//43 +f 351//29 366//42 350//42 +f 355//32 388//41 354//41 +f 344//43 392//31 343//31 +f 352//44 367//29 351//29 +f 357//33 386//45 356//45 +f 356//45 387//32 355//32 +f 358//46 385//33 357//33 +f 343//31 384//46 358//46 +f 347//30 362//47 346//47 +f 354//41 389//48 353//34 +f 348//49 363//30 347//30 +f 345//36 391//43 344//43 +f 349//35 364//49 348//49 +f 372//45 376//33 373//33 +f 374//46 382//31 360//31 +f 369//34 379//41 370//41 +f 359//43 381//50 361//36 +f 371//32 377//45 372//45 +f 373//33 375//46 374//46 +f 482//51 499//52 498//51 +f 471//33 486//45 470//45 +f 464//42 479//35 463//35 +f 472//46 487//33 471//33 +f 465//29 480//42 464//42 +f 458//43 474//31 457//31 +f 457//31 488//46 472//46 +f 466//44 481//29 465//29 +f 459//36 473//43 458//43 +f 467//34 482//44 466//44 +f 460//47 475//36 459//36 +f 468//41 483//34 467//34 +f 461//30 476//47 460//47 +f 469//32 484//41 468//41 +f 462//49 477//30 461//30 +f 470//45 485//32 469//32 +f 463//35 478//49 462//49 +f 475//53 492//54 491//53 +f 484//55 499//52 483//52 +f 477//56 492//54 476//54 +f 485//57 500//55 484//55 +f 478//58 493//56 477//56 +f 486//59 501//57 485//57 +f 479//60 494//58 478//58 +f 486//59 503//61 502//59 +f 480//62 495//60 479//60 +f 488//63 503//61 487//61 +f 480//62 497//38 496//62 +f 473//64 490//37 474//37 +f 488//63 490//37 504//63 +f 481//38 498//51 497//38 +f 475//53 489//64 473//64 +f 538//34 545//65 537//29 +f 536//35 543//66 535//30 +f 534//36 541//67 533//31 +f 533//31 548//68 540//33 +f 539//32 546//69 538//34 +f 537//29 544//70 536//35 +f 535//30 542//71 534//36 +f 540//33 547//72 539//32 +f 548//68 549//73 556//74 +f 546//69 555//75 554//76 +f 545//65 552//77 544//70 +f 543//66 550//78 542//71 +f 547//72 556//74 555//75 +f 545//65 554//76 553//79 +f 544//70 551//80 543//66 +f 542//71 549//73 541//67 +f 552//77 559//30 551//80 +f 550//78 557//31 549//73 +f 549//73 564//33 556//74 +f 555//75 562//34 554//76 +f 553//79 560//35 552//77 +f 551//80 558//36 550//78 +f 556//74 563//32 555//75 +f 554//76 561//29 553//79 +f 586//30 578//49 577//30 +f 582//44 567//34 566//44 +f 584//81 576//47 575//36 +f 589//42 565//29 580//42 +f 587//49 579//35 578//49 +f 581//29 566//44 565//29 +f 585//47 577//30 576//47 +f 588//35 580//42 579//35 +f 603//49 611//30 602//30 +f 592//34 607//44 591//44 +f 601//47 609//81 600//36 +f 590//29 614//42 605//42 +f 604//35 612//49 603//49 +f 591//44 606//29 590//29 +f 602//30 610//47 601//47 +f 605//42 613//35 604//35 +f 362//47 381//50 390//50 +f 608//82 593//41 568//41 +f 593//41 569//32 568//41 +f 594//32 570//45 569//32 +f 595//45 571//33 570//45 +f 596//33 572//46 571//33 +f 597//46 573//31 572//46 +f 598//31 574//43 573//31 +f 599//43 609//81 584//81 +f 352//44 380//48 368//44 +f 642//41 650//32 643//32 +f 622//42 637//35 621//35 +f 632//31 655//43 631//43 +f 623//29 638//42 622//42 +f 627//32 660//41 626//41 +f 616//43 664//31 615//31 +f 624//44 639//29 623//29 +f 629//33 658//45 628//45 +f 628//45 659//32 627//32 +f 630//46 657//33 629//33 +f 615//31 656//46 630//46 +f 619//30 634//47 618//47 +f 626//41 661//48 625//34 +f 620//49 635//30 619//30 +f 617//36 663//43 616//43 +f 621//35 636//49 620//49 +f 644//45 648//33 645//33 +f 646//46 654//31 632//31 +f 641//34 651//41 642//41 +f 631//43 653//50 633//36 +f 643//32 649//45 644//45 +f 645//33 647//46 646//46 +f 686//30 678//49 677//30 +f 682//44 667//34 666//44 +f 684//81 676//47 675//36 +f 689//42 665//29 680//42 +f 687//49 679//35 678//49 +f 681//29 666//44 665//29 +f 685//47 677//30 676//47 +f 688//35 680//42 679//35 +f 703//49 711//30 702//30 +f 692//34 707//44 691//44 +f 701//47 709//81 700//36 +f 690//29 714//42 705//42 +f 704//35 712//49 703//49 +f 691//44 706//29 690//29 +f 702//30 710//47 701//47 +f 705//42 713//35 704//35 +f 634//47 653//50 662//50 +f 708//82 693//41 668//41 +f 693//41 669//32 668//41 +f 694//32 670//45 669//32 +f 695//45 671//33 670//45 +f 696//33 672//46 671//33 +f 697//46 673//31 672//46 +f 698//31 674//43 673//31 +f 699//43 709//81 684//81 +f 624//44 652//48 640//44 +f 742//41 750//32 743//32 +f 722//42 737//35 721//35 +f 732//31 755//43 731//43 +f 723//29 738//42 722//42 +f 727//32 760//41 726//41 +f 716//43 764//31 715//31 +f 724//44 739//29 723//29 +f 729//33 758//45 728//45 +f 728//45 759//32 727//32 +f 730//46 757//33 729//33 +f 715//31 756//46 730//46 +f 719//30 734//47 718//47 +f 726//41 761//48 725//34 +f 720//49 735//30 719//30 +f 717//36 763//43 716//43 +f 721//35 736//49 720//49 +f 744//45 748//33 745//33 +f 746//46 754//31 732//31 +f 741//34 751//41 742//41 +f 731//43 753//50 733//36 +f 743//32 749//45 744//45 +f 745//33 747//46 746//46 +f 786//30 778//49 777//30 +f 782//44 767//34 766//44 +f 784//81 776//47 775//36 +f 789//42 765//29 780//42 +f 787//49 779//35 778//49 +f 781//29 766//44 765//29 +f 785//47 777//30 776//47 +f 788//35 780//42 779//35 +f 803//49 811//30 802//30 +f 792//34 807//44 791//44 +f 801//47 809//81 800//36 +f 790//29 814//42 805//42 +f 804//35 812//49 803//49 +f 791//44 806//29 790//29 +f 802//30 810//47 801//47 +f 805//42 813//35 804//35 +f 734//47 753//50 762//50 +f 808//82 793//41 768//41 +f 793//41 769//32 768//41 +f 794//32 770//45 769//32 +f 795//45 771//33 770//45 +f 796//33 772//46 771//33 +f 797//46 773//31 772//46 +f 798//31 774//43 773//31 +f 799//43 809//81 784//81 +f 724//44 752//48 740//44 +f 842//41 850//32 843//32 +f 822//42 837//35 821//35 +f 832//31 855//43 831//43 +f 823//29 838//42 822//42 +f 827//32 860//41 826//41 +f 816//43 864//31 815//31 +f 824//44 839//29 823//29 +f 829//33 858//45 828//45 +f 828//45 859//32 827//32 +f 830//46 857//33 829//33 +f 815//31 856//46 830//46 +f 819//30 834//47 818//47 +f 826//41 861//48 825//34 +f 820//49 835//30 819//30 +f 817//36 863//43 816//43 +f 821//35 836//49 820//49 +f 844//45 848//33 845//33 +f 846//46 854//31 832//31 +f 841//34 851//41 842//41 +f 831//43 853//50 833//36 +f 843//32 849//45 844//45 +f 845//33 847//46 846//46 +f 886//30 878//49 877//30 +f 882//44 867//34 866//44 +f 884//81 876//47 875//36 +f 889//42 865//29 880//42 +f 887//49 879//35 878//49 +f 881//29 866//44 865//29 +f 885//47 877//30 876//47 +f 888//35 880//42 879//35 +f 903//49 911//30 902//30 +f 892//34 907//44 891//44 +f 901//47 909//81 900//36 +f 890//29 914//42 905//42 +f 904//35 912//49 903//49 +f 891//44 906//29 890//29 +f 902//30 910//47 901//47 +f 905//42 913//35 904//35 +f 834//47 853//50 862//50 +f 908//82 893//41 868//41 +f 893//41 869//32 868//41 +f 894//32 870//45 869//32 +f 895//45 871//33 870//45 +f 896//33 872//46 871//33 +f 897//46 873//31 872//46 +f 898//31 874//43 873//31 +f 909//81 884//81 899//43 +f 824//44 852//48 840//44 +f 920//34 927//83 919//29 +f 918//35 925//66 917//30 +f 916//36 923//67 915//31 +f 915//31 930//68 922//33 +f 921//32 928//69 920//34 +f 919//29 926//70 918//35 +f 917//30 924//71 916//36 +f 922//33 929//72 921//32 +f 930//68 931//84 938//74 +f 928//69 937//75 936//76 +f 927//83 934//77 926//70 +f 925//66 932//78 924//71 +f 929//72 938//74 937//75 +f 927//83 936//76 935//79 +f 926//70 933//80 925//66 +f 924//71 931//84 923//67 +f 934//77 941//30 933//80 +f 932//78 939//31 931//84 +f 931//84 946//33 938//74 +f 937//75 944//34 936//76 +f 935//79 942//35 934//77 +f 933//80 940//36 932//78 +f 938//74 945//32 937//75 +f 936//76 943//29 935//79 +f 952//34 959//83 951//29 +f 950//35 957//66 949//30 +f 948//36 955//67 947//31 +f 947//31 962//68 954//33 +f 953//32 960//69 952//34 +f 951//29 958//70 950//35 +f 949//30 956//71 948//36 +f 954//33 961//72 953//32 +f 962//68 963//84 970//74 +f 960//69 969//75 968//76 +f 959//83 966//77 958//70 +f 957//66 964//78 956//71 +f 961//72 970//74 969//75 +f 959//83 968//76 967//79 +f 958//70 965//80 957//66 +f 956//71 963//84 955//67 +f 966//77 973//30 965//80 +f 964//78 971//31 963//84 +f 963//84 978//33 970//74 +f 969//75 976//34 968//76 +f 967//79 974//35 966//77 +f 965//80 972//36 964//78 +f 970//74 977//32 969//75 +f 968//76 975//29 967//79 +f 1015//85 1020//27 1014//27 +f 1013//86 1017//87 1012//87 +f 1016//88 1021//85 1015//85 +f 1014//27 1019//86 1013//86 +f 1012//87 1018//28 1011//28 +f 1011//28 1022//88 1016//88 +f 1079//85 1084//27 1078//27 +f 1077//86 1081//87 1076//87 +f 1080//88 1085//85 1079//85 +f 1078//27 1083//86 1077//86 +f 1076//87 1082//28 1075//28 +f 1075//28 1086//88 1080//88 +f 1137//32 1130//57 1129//32 +f 1135//27 1128//89 1127//27 +f 1133//30 1126//90 1125//30 +f 1131//28 1124//56 1123//28 +f 1138//57 1123//28 1130//57 +f 1136//89 1129//32 1128//89 +f 1134//90 1127//27 1126//90 +f 1132//56 1125//30 1124//56 +f 1153//32 1146//57 1145//32 +f 1151//27 1144//89 1143//27 +f 1149//30 1142//90 1141//30 +f 1147//28 1140//56 1139//28 +f 1154//57 1139//28 1146//57 +f 1152//89 1145//32 1144//89 +f 1150//90 1143//27 1142//90 +f 1148//56 1141//30 1140//56 +f 1177//32 1170//57 1169//32 +f 1175//27 1168//89 1167//27 +f 1173//30 1166//90 1165//30 +f 1171//28 1164//56 1163//28 +f 1178//57 1163//28 1170//57 +f 1176//89 1169//32 1168//89 +f 1174//90 1167//27 1166//90 +f 1172//56 1165//30 1164//56 +f 1193//32 1186//57 1185//32 +f 1191//27 1184//89 1183//27 +f 1189//30 1182//90 1181//30 +f 1187//28 1180//56 1179//28 +f 1194//57 1179//28 1186//57 +f 1192//89 1185//32 1184//89 +f 1190//90 1183//27 1182//90 +f 1188//56 1181//30 1180//56 +f 1206//91 1213//30 1205//92 +f 1204//93 1211//31 1203//37 +f 1203//37 1218//33 1210//94 +f 1209//95 1216//34 1208//96 +f 1207//97 1214//35 1206//91 +f 1205//92 1212//36 1204//93 +f 1210//94 1217//32 1209//95 +f 1208//96 1215//29 1207//97 +f 1222//98 1229//30 1221//99 +f 1220//100 1227//31 1219//101 +f 1219//101 1234//33 1226//102 +f 1225//103 1232//34 1224//104 +f 1223//38 1230//35 1222//98 +f 1221//99 1228//36 1220//100 +f 1226//102 1233//32 1225//103 +f 1224//104 1231//29 1223//38 +f 1245//105 1241//106 1242//107 +f 1247//108 1239//109 1240//110 +f 1209//95 1246//111 1245//105 +f 1205//92 1248//112 1206//91 +f 1208//96 1247//108 1246//111 +f 1209//95 1244//113 1210//94 +f 1205//92 1250//114 1249//115 +f 1206//91 1247//108 1207//97 +f 1249//115 1239//109 1248//112 +f 1246//111 1240//110 1241//106 +f 1245//105 1243//116 1244//113 +f 1249//115 1237//117 1238//118 +f 1220//100 1251//119 1221//99 +f 1225//103 1255//120 1226//102 +f 1221//99 1252//121 1222//98 +f 1220//100 1236//122 1235//123 +f 1226//102 1236//122 1219//101 +f 1225//103 1253//124 1254//125 +f 1255//120 1261//126 1262//127 +f 1252//121 1258//128 1259//129 +f 1236//122 1256//130 1235//123 +f 1236//122 1262//127 1257//131 +f 1254//125 1260//132 1261//126 +f 1235//123 1258//128 1251//119 +f 1222//98 1252//121 1223//38 +f 1252//121 1259//129 1223//38 +f 1203//37 1250//114 1204//93 +f 1250//114 1203//37 1237//117 +f 1210//94 1244//113 1203//37 +f 1244//113 1243//116 1203//37 +f 1223//38 1253//124 1224//104 +f 1253//124 1223//38 1260//132 +f 1242//107 1260//132 1243//116 +f 1243//116 1223//38 1203//37 +f 1259//129 1203//37 1223//38 +f 1237//117 1258//128 1238//118 +f 1238//118 1256//130 1239//109 +f 1239//109 1257//131 1240//110 +f 1240//110 1262//127 1241//106 +f 1241//106 1261//126 1242//107 +f 1266//91 1273//30 1265//92 +f 1264//93 1271//31 1263//37 +f 1263//37 1278//33 1270//94 +f 1269//95 1276//34 1268//96 +f 1267//97 1274//35 1266//91 +f 1265//92 1272//36 1264//93 +f 1270//94 1277//32 1269//95 +f 1268//96 1275//29 1267//97 +f 1282//98 1289//30 1281//99 +f 1280//100 1287//31 1279//101 +f 1279//101 1294//33 1286//102 +f 1285//103 1292//34 1284//104 +f 1283//38 1290//35 1282//98 +f 1281//99 1288//36 1280//100 +f 1286//102 1293//32 1285//103 +f 1284//104 1291//29 1283//38 +f 1305//105 1301//106 1302//107 +f 1307//108 1299//109 1300//110 +f 1268//96 1305//105 1269//95 +f 1265//92 1308//112 1266//91 +f 1267//97 1306//133 1268//96 +f 1269//95 1304//113 1270//94 +f 1265//92 1310//114 1309//115 +f 1266//91 1307//108 1267//97 +f 1309//115 1299//109 1308//112 +f 1306//133 1300//110 1301//106 +f 1305//105 1303//116 1304//113 +f 1309//115 1297//117 1298//118 +f 1280//100 1311//119 1281//99 +f 1285//103 1315//134 1286//102 +f 1281//99 1312//121 1282//98 +f 1280//100 1296//122 1295//123 +f 1286//102 1296//122 1279//101 +f 1285//103 1313//124 1314//125 +f 1315//134 1321//126 1322//127 +f 1312//121 1318//128 1319//129 +f 1296//122 1316//130 1295//123 +f 1296//122 1322//127 1317//131 +f 1314//125 1320//132 1321//126 +f 1295//123 1318//128 1311//119 +f 1282//98 1312//121 1283//38 +f 1312//121 1319//129 1283//38 +f 1263//37 1310//114 1264//93 +f 1310//114 1263//37 1297//117 +f 1270//94 1304//113 1263//37 +f 1304//113 1303//116 1263//37 +f 1283//38 1313//124 1284//104 +f 1313//124 1283//38 1320//132 +f 1302//107 1320//132 1303//116 +f 1303//116 1283//38 1263//37 +f 1319//129 1263//37 1283//38 +f 1297//117 1318//128 1298//118 +f 1298//118 1316//130 1299//109 +f 1299//109 1317//131 1300//110 +f 1300//110 1322//127 1301//106 +f 1301//106 1321//126 1302//107 +f 1326//91 1333//30 1325//92 +f 1324//93 1331//31 1323//37 +f 1323//37 1338//33 1330//94 +f 1329//95 1336//34 1328//96 +f 1327//97 1334//35 1326//91 +f 1325//92 1332//36 1324//93 +f 1330//94 1337//32 1329//95 +f 1328//96 1335//29 1327//97 +f 1342//98 1349//30 1341//99 +f 1340//100 1347//31 1339//101 +f 1339//101 1354//33 1346//102 +f 1345//103 1352//34 1344//104 +f 1343//38 1350//35 1342//98 +f 1341//99 1348//36 1340//100 +f 1346//102 1353//32 1345//103 +f 1344//104 1351//29 1343//38 +f 1365//105 1361//106 1362//107 +f 1367//108 1359//109 1360//110 +f 1328//96 1365//105 1329//95 +f 1325//92 1368//112 1326//91 +f 1328//96 1367//108 1366//133 +f 1329//95 1364//113 1330//94 +f 1325//92 1370//114 1369//115 +f 1326//91 1367//108 1327//97 +f 1369//115 1359//109 1368//112 +f 1366//133 1360//110 1361//106 +f 1365//105 1363//116 1364//113 +f 1369//115 1357//117 1358//118 +f 1340//100 1371//119 1341//99 +f 1346//102 1374//125 1375//134 +f 1341//99 1372//121 1342//98 +f 1340//100 1356//122 1355//135 +f 1346//102 1356//122 1339//101 +f 1345//103 1373//124 1374//125 +f 1375//134 1381//126 1382//127 +f 1372//121 1378//128 1379//129 +f 1356//122 1376//130 1355//135 +f 1356//122 1382//127 1377//131 +f 1373//124 1381//126 1374//125 +f 1355//135 1378//128 1371//119 +f 1342//98 1372//121 1343//38 +f 1372//121 1379//129 1343//38 +f 1323//37 1370//114 1324//93 +f 1370//114 1323//37 1357//117 +f 1330//94 1364//113 1323//37 +f 1364//113 1363//116 1323//37 +f 1343//38 1373//124 1344//104 +f 1373//124 1343//38 1380//132 +f 1362//107 1380//132 1363//116 +f 1363//116 1343//38 1323//37 +f 1379//129 1323//37 1343//38 +f 1357//117 1378//128 1358//118 +f 1358//118 1376//130 1359//109 +f 1359//109 1377//131 1360//110 +f 1360//110 1382//127 1361//106 +f 1361//106 1381//126 1362//107 +f 1398//33 1383//31 1390//33 +f 1396//34 1389//32 1388//34 +f 1394//35 1387//29 1386//35 +f 1392//36 1385//30 1384//36 +f 1397//32 1390//33 1389//32 +f 1395//29 1388//34 1387//29 +f 1393//30 1386//35 1385//30 +f 1391//31 1384//36 1383//31 +f 1521//32 1514//57 1513//32 +f 1519//27 1512//89 1511//27 +f 1517//30 1510//90 1509//30 +f 1515//28 1508//56 1507//28 +f 1522//57 1507//28 1514//57 +f 1520//89 1513//32 1512//89 +f 1518//90 1511//27 1510//90 +f 1516//56 1509//30 1508//56 +f 1537//32 1530//57 1529//32 +f 1535//27 1528//89 1527//27 +f 1533//30 1526//90 1525//30 +f 1531//28 1524//56 1523//28 +f 1538//57 1523//28 1530//57 +f 1536//89 1529//32 1528//89 +f 1534//90 1527//27 1526//90 +f 1532//56 1525//30 1524//56 +f 1554//33 1561//32 1553//32 +f 1552//34 1559//29 1551//29 +f 1550//35 1557//30 1549//30 +f 1548//36 1555//31 1547//31 +f 1547//31 1562//33 1554//33 +f 1553//32 1560//34 1552//34 +f 1551//29 1558//35 1550//35 +f 1549//30 1556//36 1548//36 +f 1570//33 1577//32 1569//32 +f 1568//34 1575//29 1567//29 +f 1566//35 1573//30 1565//30 +f 1564//36 1571//31 1563//31 +f 1563//31 1578//33 1570//33 +f 1569//32 1576//34 1568//34 +f 1567//29 1574//35 1566//35 +f 1565//30 1572//36 1564//36 +f 1586//33 1593//32 1585//32 +f 1584//34 1591//29 1583//29 +f 1582//35 1589//30 1581//30 +f 1580//36 1587//31 1579//31 +f 1579//31 1594//33 1586//33 +f 1585//32 1592//34 1584//34 +f 1583//29 1590//35 1582//35 +f 1581//30 1588//36 1580//36 +f 1602//33 1609//32 1601//32 +f 1600//34 1607//29 1599//29 +f 1598//35 1605//30 1597//30 +f 1596//36 1603//31 1595//31 +f 1595//31 1610//33 1602//33 +f 1601//32 1608//34 1600//34 +f 1599//29 1606//35 1598//35 +f 1597//30 1604//36 1596//36 +f 1612//136 1625//39 1623//136 +f 1620//32 1631//137 1619//137 +f 1617//29 1628//138 1616//138 +f 1614//30 1625//39 1613//39 +f 1621//40 1632//32 1620//32 +f 1618//139 1629//29 1617//29 +f 1615//140 1626//30 1614//30 +f 1622//141 1633//40 1621//40 +f 1612//136 1624//31 1611//31 +f 1619//137 1630//139 1618//139 +f 1616//138 1627//140 1615//140 +f 1611//31 1634//141 1622//141 +f 1636//136 1649//39 1647//136 +f 1644//32 1655//137 1643//137 +f 1641//29 1652//138 1640//138 +f 1638//30 1649//39 1637//39 +f 1645//40 1656//32 1644//32 +f 1642//139 1653//29 1641//29 +f 1639//140 1650//30 1638//30 +f 1646//141 1657//40 1645//40 +f 1636//136 1648//31 1635//31 +f 1643//137 1654//139 1642//139 +f 1640//138 1651//140 1639//140 +f 1635//31 1658//141 1646//141 +f 1770//142 1784//27 1760//27 +f 1722//142 1736//27 1712//27 +f 1702//30 1727//86 1703//86 +f 1709//88 1734//143 1710//143 +f 1699//28 1723//144 1700//144 +f 1706//145 1731//85 1707//85 +f 1703//86 1728//142 1704//142 +f 1710//143 1724//28 1699//28 +f 1700//144 1725//87 1701//87 +f 1707//85 1732//32 1708//32 +f 1704//142 1729//27 1705//27 +f 1701//87 1726//30 1702//30 +f 1708//32 1733//88 1709//88 +f 1705//27 1730//145 1706//145 +f 1750//30 1775//86 1751//86 +f 1711//145 1737//85 1713//85 +f 1719//87 1744//30 1720//30 +f 1716//143 1741//28 1717//28 +f 1713//85 1738//32 1714//32 +f 1720//30 1745//86 1721//86 +f 1717//28 1742//144 1718//144 +f 1714//32 1739//88 1715//88 +f 1721//86 1746//142 1722//142 +f 1712//27 1735//145 1711//145 +f 1718//144 1743//87 1719//87 +f 1715//88 1740//143 1716//143 +f 1757//88 1782//143 1758//143 +f 1747//28 1771//144 1748//144 +f 1754//145 1779//85 1755//85 +f 1751//86 1776//142 1752//142 +f 1758//143 1772//28 1747//28 +f 1748//144 1773//87 1749//87 +f 1755//85 1780//32 1756//32 +f 1752//142 1777//27 1753//27 +f 1749//87 1774//30 1750//30 +f 1756//32 1781//88 1757//88 +f 1753//27 1778//145 1754//145 +f 1759//145 1785//85 1761//85 +f 1767//87 1792//30 1768//30 +f 1764//143 1789//28 1765//28 +f 1761//85 1786//32 1762//32 +f 1768//30 1793//86 1769//86 +f 1765//28 1790//144 1766//144 +f 1762//32 1787//88 1763//88 +f 1769//86 1794//142 1770//142 +f 1760//27 1783//145 1759//145 +f 1766//144 1791//87 1767//87 +f 1763//88 1788//143 1764//143 +f 1801//146 1812//147 1813//146 +f 1798//148 1809//149 1810//148 +f 1804//150 1817//151 1805//151 +f 1802//152 1813//146 1814//152 +f 1798//148 1811//153 1799//153 +f 1806//154 1817//151 1818//154 +f 1795//155 1807//156 1796//156 +f 1802//152 1815//157 1803//157 +f 1799//153 1812//147 1800//147 +f 1806//154 1808//155 1795//155 +f 1796//156 1809//149 1797//149 +f 1804//150 1815//157 1816//150 +f 1825//158 1836//159 1837//158 +f 1822//160 1833//161 1834//160 +f 1828//162 1841//163 1829//163 +f 1825//158 1838//164 1826//164 +f 1823//165 1834//160 1835//165 +f 1830//166 1841//163 1842//166 +f 1819//167 1831//168 1820//168 +f 1827//169 1838//164 1839//169 +f 1824//159 1835//165 1836//159 +f 1830//166 1832//167 1819//167 +f 1820//168 1833//161 1821//161 +f 1828//162 1839//169 1840//162 +f 1873//27 1866//122 1865//27 +f 1871//29 1864//108 1863//29 +f 1869//28 1862//38 1861//28 +f 1867//31 1860//37 1859//31 +f 1874//122 1859//31 1866//122 +f 1872//108 1865//27 1864//108 +f 1870//38 1863//29 1862//38 +f 1868//37 1861//28 1860//37 +f 1889//27 1882//122 1881//27 +f 1887//29 1880//108 1879//29 +f 1885//28 1878//38 1877//28 +f 1883//31 1876//37 1875//31 +f 1890//122 1875//31 1882//122 +f 1888//108 1881//27 1880//108 +f 1886//38 1879//29 1878//38 +f 1884//37 1877//28 1876//37 +f 1905//170 1898//122 1897//27 +f 1903//171 1896//108 1895//29 +f 1901//172 1894//38 1893//28 +f 1899//33 1892//37 1891//31 +f 1906//173 1891//31 1898//122 +f 1904//174 1897//27 1896//108 +f 1902//175 1895//29 1894//38 +f 1900//176 1893//28 1892//37 +f 1904//174 1912//177 1905//170 +f 1903//171 1909//178 1910//35 +f 1900//176 1908//179 1901//172 +f 1905//170 1913//180 1906//173 +f 1903//171 1911//181 1904//174 +f 1901//172 1909//178 1902//175 +f 1907//182 1915//183 1908//179 +f 1913//180 1919//184 1920//185 +f 1911//181 1917//186 1918//187 +f 1908//179 1916//188 1909//178 +f 1911//181 1919//184 1912//177 +f 1909//178 1917//186 1910//35 +f 1899//33 1907//182 1900//176 +f 1907//182 1899//33 1914//189 +f 1906//173 1913//180 1899//33 +f 1913//180 1920//185 1899//33 +f 1920//185 1921//32 1899//33 +f 1919//184 1928//89 1920//185 +f 1899//33 1922//57 1914//189 +f 1917//186 1926//90 1918//187 +f 1915//183 1924//56 1916//188 +f 1918//187 1927//27 1919//184 +f 1916//188 1925//30 1917//186 +f 1914//189 1923//28 1915//183 +f 1943//190 1949//181 1950//177 +f 1941//42 1947//178 1948//35 +f 1939//191 1945//182 1946//179 +f 1943//190 1951//180 1944//192 +f 1941//42 1949//181 1942//193 +f 1939//191 1947//178 1940//194 +f 1945//182 1953//183 1946//179 +f 1950//177 1958//185 1951//180 +f 1949//181 1955//186 1956//187 +f 1946//179 1954//188 1947//178 +f 1949//181 1957//184 1950//177 +f 1947//178 1955//186 1948//35 +f 1937//195 1945//182 1938//196 +f 1945//182 1937//195 1952//189 +f 1944//192 1951//180 1937//195 +f 1951//180 1958//185 1937//195 +f 1958//185 1959//197 1937//195 +f 1957//184 1966//198 1958//185 +f 1937//195 1960//199 1952//189 +f 1955//186 1964//200 1956//187 +f 1953//183 1962//201 1954//188 +f 1956//187 1965//202 1957//184 +f 1954//188 1963//35 1955//186 +f 1952//189 1961//203 1953//183 +f 1982//122 1967//31 1974//122 +f 1980//108 1973//27 1972//108 +f 1978//38 1971//29 1970//38 +f 1976//37 1969//28 1968//37 +f 1981//27 1974//122 1973//27 +f 1979//29 1972//108 1971//29 +f 1977//28 1970//38 1969//28 +f 1975//31 1968//37 1967//31 +f 1961//203 1986//204 1962//201 +f 1959//197 1984//205 1960//199 +f 1964//200 1988//206 1965//202 +f 1960//199 1985//207 1961//203 +f 1959//197 1989//208 1983//33 +f 1966//198 1988//206 1989//208 +f 1989//208 1990//209 1983//33 +f 1988//206 1996//210 1989//208 +f 1985//207 1993//211 1986//204 +f 1983//33 1991//212 1984//205 +f 1988//206 1994//213 1995//214 +f 1985//207 1991//212 1992//215 +f 1962//201 1986//204 1963//35 +f 1986//204 1993//211 1963//35 +f 1963//35 1987//216 1964//200 +f 1987//216 1963//35 1994//213 +f 1963//35 2002//108 1994//213 +f 1996//210 1998//31 1990//209 +f 1993//211 1997//29 1963//35 +f 1995//214 2004//122 1996//210 +f 1992//215 2001//38 1993//211 +f 1990//209 1999//37 1991//212 +f 1994//213 2003//27 1995//214 +f 1991//212 2000//28 1992//215 +f 2012//89 2013//197 2005//32 +f 2011//27 2020//198 2012//89 +f 2005//32 2014//199 2006//57 +f 2009//30 2018//200 2010//90 +f 2007//28 2016//201 2008//56 +f 2010//90 2019//202 2011//27 +f 2008//56 2017//35 2009//30 +f 2006//57 2015//203 2007//28 +f 2015//203 2024//204 2016//201 +f 2013//197 2022//205 2014//199 +f 2019//202 2025//216 2026//206 +f 2014//199 2023//207 2015//203 +f 2013//197 2027//208 2021//33 +f 2020//198 2026//206 2027//208 +f 2021//33 2034//210 2028//209 +f 2026//206 2034//210 2027//208 +f 2024//204 2030//215 2031//211 +f 2021//33 2029//212 2022//205 +f 2025//216 2033//214 2026//206 +f 2023//207 2029//212 2030//215 +f 2016//201 2024//204 2017//35 +f 2024//204 2031//211 2017//35 +f 2017//35 2025//216 2018//200 +f 2025//216 2017//35 2032//213 +f 2017//35 2040//108 2032//213 +f 2034//210 2036//31 2028//209 +f 2031//211 2035//29 2017//35 +f 2033//214 2042//122 2034//210 +f 2030//215 2039//38 2031//211 +f 2028//209 2037//37 2029//212 +f 2032//213 2041//27 2033//214 +f 2029//212 2038//28 2030//215 +f 2249//29 2260//138 2248//138 +f 2246//30 2257//39 2245//39 +f 2253//40 2264//32 2252//32 +f 2250//139 2261//29 2249//29 +f 2247//140 2258//30 2246//30 +f 2256//31 2270//217 2255//136 +f 2266//141 2271//31 2256//31 +f 2251//137 2262//139 2250//139 +f 2248//138 2259//140 2247//140 +f 2244//136 2267//31 2243//31 +f 2243//31 2269//218 2254//141 +f 2252//32 2263//137 2251//137 +f 2270//217 2268//217 2257//39 +f 2272//218 2265//40 2253//40 +f 2287//219 2273//29 2284//138 +f 2285//29 2274//139 2273//29 +f 2288//29 2302//219 2299//138 +f 2289//139 2300//29 2288//29 +f 2297//30 2283//140 2282//30 +f 2296//39 2282//30 2281//39 +f 2295//136 2281//39 2280//136 +f 2294//31 2280//136 2279//31 +f 2293//141 2279//31 2278//141 +f 2292//40 2278//141 2277//40 +f 2291//32 2277//40 2276//32 +f 2290//137 2276//32 2275//137 +f 2275//137 2301//220 2290//137 +f 2298//140 2302//219 2287//219 +f 2308//138 2321//29 2309//29 +f 2305//39 2318//30 2306//30 +f 2312//32 2325//40 2313//40 +f 2309//29 2322//139 2310//139 +f 2306//30 2319//140 2307//140 +f 2313//40 2326//141 2314//141 +f 2303//31 2315//136 2304//136 +f 2310//139 2323//137 2311//137 +f 2307//140 2320//138 2308//138 +f 2314//141 2316//31 2303//31 +f 2304//136 2317//39 2305//39 +f 2311//137 2324//32 2312//32 +f 2336//32 2347//137 2335//137 +f 2333//29 2344//138 2332//138 +f 2330//30 2341//39 2329//39 +f 2337//40 2348//32 2336//32 +f 2334//139 2345//29 2333//29 +f 2331//140 2342//30 2330//30 +f 2338//141 2349//40 2337//40 +f 2328//136 2339//31 2327//31 +f 2335//137 2346//139 2334//139 +f 2332//138 2343//140 2331//140 +f 2327//31 2350//141 2338//141 +f 2329//39 2340//136 2328//136 +f 2358//139 2369//29 2357//29 +f 2355//140 2366//30 2354//30 +f 2362//141 2373//40 2361//40 +f 2352//136 2363//31 2351//31 +f 2359//137 2370//139 2358//139 +f 2356//138 2367//140 2355//140 +f 2351//31 2374//141 2362//141 +f 2353//39 2364//136 2352//136 +f 2360//32 2371//137 2359//137 +f 2357//29 2368//138 2356//138 +f 2354//30 2365//39 2353//39 +f 2361//40 2372//32 2360//32 +f 2374//221 2375//37 2386//221 +f 2364//222 2375//37 2363//37 +f 2365//223 2376//222 2364//222 +f 2365//223 2378//56 2377//223 +f 2367//224 2378//56 2366//56 +f 2368//225 2379//224 2367//224 +f 2369//38 2380//225 2368//225 +f 2370//226 2381//38 2369//38 +f 2371//227 2382//226 2370//226 +f 2371//227 2384//57 2383//227 +f 2373//228 2384//57 2372//57 +f 2373//228 2386//221 2385//228 +f 2388//40 2857//32 2389//32 +f 2395//30 2864//39 2396//39 +f 2392//29 2861//138 2393//138 +f 2389//32 2858//137 2390//137 +f 2396//39 2865//136 2397//136 +f 2398//31 2855//141 2387//141 +f 2393//138 2862//140 2394//140 +f 2390//137 2859//139 2391//139 +f 2397//136 2866//31 2398//31 +f 2387//141 2856//40 2388//40 +f 2394//140 2863//30 2395//30 +f 2391//139 2860//29 2392//29 +f 2405//29 2416//138 2404//138 +f 2402//30 2413//39 2401//39 +f 2409//40 2420//32 2408//32 +f 2406//139 2417//29 2405//29 +f 2403//140 2414//30 2402//30 +f 2412//31 2426//217 2411//136 +f 2422//141 2427//31 2412//31 +f 2407//137 2418//139 2406//139 +f 2404//138 2415//140 2403//140 +f 2400//136 2423//31 2399//31 +f 2399//31 2425//218 2410//141 +f 2408//32 2419//137 2407//137 +f 2413//39 2426//217 2424//217 +f 2428//218 2421//40 2409//40 +f 2443//219 2429//29 2440//138 +f 2441//29 2430//139 2429//29 +f 2444//29 2458//219 2455//138 +f 2445//139 2456//29 2444//29 +f 2453//30 2439//140 2438//30 +f 2452//39 2438//30 2437//39 +f 2451//136 2437//39 2436//136 +f 2450//31 2436//136 2435//31 +f 2449//141 2435//31 2434//141 +f 2448//40 2434//141 2433//40 +f 2447//32 2433//40 2432//32 +f 2446//137 2432//32 2431//137 +f 2431//137 2457//220 2446//137 +f 2454//140 2458//219 2443//219 +f 2464//138 2477//29 2465//29 +f 2461//39 2474//30 2462//30 +f 2468//32 2481//40 2469//40 +f 2465//29 2478//139 2466//139 +f 2462//30 2475//140 2463//140 +f 2469//40 2482//141 2470//141 +f 2459//31 2471//136 2460//136 +f 2466//139 2479//137 2467//137 +f 2463//140 2476//138 2464//138 +f 2470//141 2472//31 2459//31 +f 2460//136 2473//39 2461//39 +f 2467//137 2480//32 2468//32 +f 2492//32 2503//137 2491//137 +f 2489//29 2500//138 2488//138 +f 2486//30 2497//39 2485//39 +f 2493//40 2504//32 2492//32 +f 2490//139 2501//29 2489//29 +f 2487//140 2498//30 2486//30 +f 2494//141 2505//40 2493//40 +f 2484//136 2495//31 2483//31 +f 2491//137 2502//139 2490//139 +f 2488//138 2499//140 2487//140 +f 2483//31 2506//141 2494//141 +f 2485//39 2496//136 2484//136 +f 2532//228 2519//221 2520//228 +f 2532//228 2521//57 2533//57 +f 2534//227 2521//57 2522//227 +f 2534//227 2523//226 2535//226 +f 2535//226 2524//38 2536//38 +f 2536//38 2525//225 2537//225 +f 2537//225 2526//224 2538//224 +f 2538//224 2527//56 2539//56 +f 2540//223 2527//56 2528//223 +f 2541//222 2528//223 2529//222 +f 2541//222 2530//37 2542//37 +f 2531//221 2530//37 2519//221 +f 2544//40 2533//32 2545//32 +f 2551//30 2540//39 2552//39 +f 2548//29 2537//138 2549//138 +f 2545//32 2534//137 2546//137 +f 2552//39 2541//136 2553//136 +f 2554//31 2531//141 2543//141 +f 2549//138 2538//140 2550//140 +f 2546//137 2535//139 2547//139 +f 2553//136 2542//31 2554//31 +f 2543//141 2532//40 2544//40 +f 2550//140 2539//30 2551//30 +f 2547//139 2536//29 2548//29 +f 2705//138 2679//140 2706//140 +f 2710//31 2686//141 2699//141 +f 2708//39 2676//136 2709//136 +f 2701//32 2683//137 2702//137 +f 2704//29 2680//138 2705//138 +f 2707//30 2677//39 2708//39 +f 2700//40 2684//32 2701//32 +f 2703//139 2681//29 2704//29 +f 2706//140 2678//30 2707//30 +f 2699//141 2685//40 2700//40 +f 2709//136 2675//31 2710//31 +f 2702//137 2682//139 2703//139 +f 2561//29 2572//138 2560//138 +f 2558//30 2569//39 2557//39 +f 2565//40 2576//32 2564//32 +f 2562//139 2573//29 2561//29 +f 2559//140 2570//30 2558//30 +f 2568//31 2582//217 2567//136 +f 2578//141 2583//31 2568//31 +f 2563//137 2574//139 2562//139 +f 2560//138 2571//140 2559//140 +f 2556//136 2579//31 2555//31 +f 2555//31 2581//218 2566//141 +f 2564//32 2575//137 2563//137 +f 2569//39 2582//217 2580//217 +f 2584//218 2577//40 2565//40 +f 2599//219 2585//29 2596//138 +f 2597//29 2586//139 2585//29 +f 2600//29 2614//219 2611//138 +f 2601//139 2612//29 2600//29 +f 2609//30 2595//140 2594//30 +f 2608//39 2594//30 2593//39 +f 2607//136 2593//39 2592//136 +f 2606//31 2592//136 2591//31 +f 2605//141 2591//31 2590//141 +f 2604//40 2590//141 2589//40 +f 2603//32 2589//40 2588//32 +f 2602//137 2588//32 2587//137 +f 2587//137 2613//220 2602//137 +f 2610//140 2614//219 2599//219 +f 2620//138 2633//29 2621//29 +f 2617//39 2630//30 2618//30 +f 2624//32 2637//40 2625//40 +f 2621//29 2634//139 2622//139 +f 2618//30 2631//140 2619//140 +f 2625//40 2638//141 2626//141 +f 2615//31 2627//136 2616//136 +f 2622//139 2635//137 2623//137 +f 2619//140 2632//138 2620//138 +f 2626//141 2628//31 2615//31 +f 2616//136 2629//39 2617//39 +f 2623//137 2636//32 2624//32 +f 2648//32 2659//137 2647//137 +f 2645//29 2656//138 2644//138 +f 2642//30 2653//39 2641//39 +f 2649//40 2660//32 2648//32 +f 2646//139 2657//29 2645//29 +f 2643//140 2654//30 2642//30 +f 2650//141 2661//40 2649//40 +f 2640//136 2651//31 2639//31 +f 2647//137 2658//139 2646//139 +f 2644//138 2655//140 2643//140 +f 2639//31 2662//141 2650//141 +f 2641//39 2652//136 2640//136 +f 2698//229 2675//122 2687//122 +f 2675//122 2688//230 2687//122 +f 2676//230 2689//231 2688//230 +f 2689//231 2678//90 2690//90 +f 2678//90 2691//232 2690//90 +f 2691//232 2680//233 2692//233 +f 2680//233 2693//108 2692//233 +f 2681//108 2694//234 2693//108 +f 2694//234 2683//235 2695//235 +f 2695//235 2684//89 2696//89 +f 2684//89 2697//236 2696//89 +f 2685//236 2698//229 2697//236 +f 2694//139 2669//29 2693//29 +f 2691//140 2666//30 2690//30 +f 2698//141 2673//40 2697//40 +f 2688//136 2663//31 2687//31 +f 2695//137 2670//139 2694//139 +f 2692//138 2667//140 2691//140 +f 2687//31 2674//141 2698//141 +f 2689//39 2664//136 2688//136 +f 2696//32 2671//137 2695//137 +f 2693//29 2668//138 2692//138 +f 2690//30 2665//39 2689//39 +f 2697//40 2672//32 2696//32 +f 2819//221 2700//228 2820//228 +f 2820//228 2701//57 2821//57 +f 2822//227 2701//57 2702//227 +f 2823//226 2702//227 2703//226 +f 2823//226 2704//38 2824//38 +f 2824//38 2705//225 2825//225 +f 2825//225 2706//224 2826//224 +f 2826//224 2707//56 2827//56 +f 2828//223 2707//56 2708//223 +f 2828//223 2709//222 2829//222 +f 2829//222 2710//37 2830//37 +f 2819//221 2710//37 2699//221 +f 2717//29 2728//138 2716//138 +f 2714//30 2725//39 2713//39 +f 2721//40 2732//32 2720//32 +f 2718//139 2729//29 2717//29 +f 2715//140 2726//30 2714//30 +f 2724//31 2738//217 2723//136 +f 2734//141 2739//31 2724//31 +f 2719//137 2730//139 2718//139 +f 2716//138 2727//140 2715//140 +f 2712//136 2735//31 2711//31 +f 2711//31 2737//218 2722//141 +f 2720//32 2731//137 2719//137 +f 2725//39 2738//217 2736//217 +f 2740//218 2733//40 2721//40 +f 2755//219 2741//29 2752//138 +f 2753//29 2742//139 2741//29 +f 2756//29 2770//219 2767//138 +f 2757//139 2768//29 2756//29 +f 2765//30 2751//140 2750//30 +f 2764//39 2750//30 2749//39 +f 2763//136 2749//39 2748//136 +f 2762//31 2748//136 2747//31 +f 2761//141 2747//31 2746//141 +f 2760//40 2746//141 2745//40 +f 2759//32 2745//40 2744//32 +f 2758//137 2744//32 2743//137 +f 2743//137 2769//220 2758//137 +f 2766//140 2770//219 2755//219 +f 2776//138 2789//29 2777//29 +f 2773//39 2786//30 2774//30 +f 2780//32 2793//40 2781//40 +f 2777//29 2790//139 2778//139 +f 2774//30 2787//140 2775//140 +f 2781//40 2794//141 2782//141 +f 2771//31 2783//136 2772//136 +f 2778//139 2791//137 2779//137 +f 2775//140 2788//138 2776//138 +f 2782//141 2784//31 2771//31 +f 2772//136 2785//39 2773//39 +f 2779//137 2792//32 2780//32 +f 2804//32 2815//137 2803//137 +f 2801//29 2812//138 2800//138 +f 2798//30 2809//39 2797//39 +f 2805//40 2816//32 2804//32 +f 2802//139 2813//29 2801//29 +f 2799//140 2810//30 2798//30 +f 2806//141 2817//40 2805//40 +f 2796//136 2807//31 2795//31 +f 2803//137 2814//139 2802//139 +f 2800//138 2811//140 2799//140 +f 2795//31 2818//141 2806//141 +f 2797//39 2808//136 2796//136 +f 2832//40 2821//32 2833//32 +f 2839//30 2828//39 2840//39 +f 2836//29 2825//138 2837//138 +f 2833//32 2822//137 2834//137 +f 2840//39 2829//136 2841//136 +f 2842//31 2819//141 2831//141 +f 2837//138 2826//140 2838//140 +f 2834//137 2823//139 2835//139 +f 2841//136 2830//31 2842//31 +f 2831//141 2820//40 2832//40 +f 2838//140 2827//30 2839//30 +f 2835//139 2824//29 2836//29 +f 2388//236 2843//229 2387//229 +f 2845//89 2388//236 2389//89 +f 2390//235 2845//89 2389//89 +f 2847//234 2390//235 2391//234 +f 2848//108 2391//234 2392//108 +f 2849//233 2392//108 2393//233 +f 2850//232 2393//233 2394//232 +f 2851//90 2394//232 2395//90 +f 2396//231 2851//90 2395//90 +f 2397//230 2852//231 2396//231 +f 2854//122 2397//230 2398//122 +f 2387//229 2854//122 2398//122 +f 2383//137 2847//139 2382//139 +f 2376//136 2854//31 2375//31 +f 2386//141 2844//40 2385//40 +f 2379//140 2851//30 2378//30 +f 2382//139 2848//29 2381//29 +f 2385//40 2845//32 2384//32 +f 2378//30 2852//39 2377//39 +f 2381//29 2849//138 2380//138 +f 2384//32 2846//137 2383//137 +f 2377//39 2853//136 2376//136 +f 2375//31 2843//141 2386//141 +f 2380//138 2850//140 2379//140 +f 2517//40 2953//32 2516//32 +f 2510//30 2960//39 2509//39 +f 2513//29 2957//138 2512//138 +f 2516//32 2954//137 2515//137 +f 2509//39 2961//136 2508//136 +f 2507//31 2951//141 2518//141 +f 2512//138 2958//140 2511//140 +f 2515//137 2955//139 2514//139 +f 2508//136 2962//31 2507//31 +f 2518//141 2952//40 2517//40 +f 2511//140 2959//30 2510//30 +f 2514//139 2956//29 2513//29 +f 2909//138 2883//140 2910//140 +f 2914//31 2890//141 2903//141 +f 2912//39 2880//136 2913//136 +f 2905//32 2887//137 2906//137 +f 2908//29 2884//138 2909//138 +f 2911//30 2881//39 2912//39 +f 2904//40 2888//32 2905//32 +f 2907//139 2885//29 2908//29 +f 2910//140 2882//30 2911//30 +f 2903//141 2889//40 2904//40 +f 2913//136 2879//31 2914//31 +f 2906//137 2886//139 2907//139 +f 2902//229 2879//122 2891//122 +f 2879//122 2892//230 2891//122 +f 2880//230 2893//231 2892//230 +f 2893//231 2882//90 2894//90 +f 2882//90 2895//232 2894//90 +f 2895//232 2884//233 2896//233 +f 2884//233 2897//108 2896//233 +f 2885//108 2898//234 2897//108 +f 2898//234 2887//235 2899//235 +f 2899//235 2888//89 2900//89 +f 2888//89 2901//236 2900//89 +f 2889//236 2902//229 2901//236 +f 2898//139 2873//29 2897//29 +f 2895//140 2870//30 2894//30 +f 2902//141 2877//40 2901//40 +f 2892//136 2867//31 2891//31 +f 2899//137 2874//139 2898//139 +f 2896//138 2871//140 2895//140 +f 2891//31 2878//141 2902//141 +f 2893//39 2868//136 2892//136 +f 2900//32 2875//137 2899//137 +f 2897//29 2872//138 2896//138 +f 2894//30 2869//39 2893//39 +f 2901//40 2876//32 2900//32 +f 2915//221 2904//228 2916//228 +f 2916//228 2905//57 2917//57 +f 2918//227 2905//57 2906//227 +f 2919//226 2906//227 2907//226 +f 2919//226 2908//38 2920//38 +f 2920//38 2909//225 2921//225 +f 2921//225 2910//224 2922//224 +f 2922//224 2911//56 2923//56 +f 2924//223 2911//56 2912//223 +f 2924//223 2913//222 2925//222 +f 2925//222 2914//37 2926//37 +f 2915//221 2914//37 2903//221 +f 2928//40 2917//32 2929//32 +f 2935//30 2924//39 2936//39 +f 2932//29 2921//138 2933//138 +f 2929//32 2918//137 2930//137 +f 2936//39 2925//136 2937//136 +f 2938//31 2915//141 2927//141 +f 2933//138 2922//140 2934//140 +f 2930//137 2919//139 2931//139 +f 2937//136 2926//31 2938//31 +f 2927//141 2916//40 2928//40 +f 2934//140 2923//30 2935//30 +f 2931//139 2920//29 2932//29 +f 2517//236 2939//229 2518//229 +f 2941//89 2517//236 2516//89 +f 2515//235 2941//89 2516//89 +f 2943//234 2515//235 2514//234 +f 2944//108 2514//234 2513//108 +f 2945//233 2513//108 2512//233 +f 2946//232 2512//233 2511//232 +f 2947//90 2511//232 2510//90 +f 2509//231 2947//90 2510//90 +f 2508//230 2948//231 2509//231 +f 2950//122 2508//230 2507//122 +f 2518//229 2950//122 2507//122 +f 2522//137 2943//139 2523//139 +f 2529//136 2950//31 2530//31 +f 2519//141 2940//40 2520//40 +f 2526//140 2947//30 2527//30 +f 2523//139 2944//29 2524//29 +f 2520//40 2941//32 2521//32 +f 2527//30 2948//39 2528//39 +f 2524//29 2945//138 2525//138 +f 2521//32 2942//137 2522//137 +f 2528//39 2949//136 2529//136 +f 2530//31 2939//141 2519//141 +f 2525//138 2946//140 2526//140 +f 2989//34 3004//44 2988//44 +f 2982//47 2997//36 2981//36 +f 2990//41 3005//34 2989//34 +f 2983//30 2998//47 2982//47 +f 2991//32 3006//41 2990//41 +f 2984//49 2999//30 2983//30 +f 2992//45 3007//32 2991//32 +f 2985//35 3000//49 2984//49 +f 2993//33 3008//45 2992//45 +f 2986//42 3001//35 2985//35 +f 2994//46 3009//33 2993//33 +f 2987//29 3002//42 2986//42 +f 2980//43 2996//31 2979//31 +f 2979//31 3010//46 2994//46 +f 2988//44 3003//29 2987//29 +f 2981//36 2995//43 2980//43 +f 370//41 379//41 378//32 +f 350//42 366//42 365//35 +f 360//31 382//31 383//43 +f 351//29 367//29 366//42 +f 355//32 387//32 388//41 +f 344//43 391//43 392//31 +f 352//44 368//44 367//29 +f 357//33 385//33 386//45 +f 356//45 386//45 387//32 +f 358//46 384//46 385//33 +f 343//31 392//31 384//46 +f 347//30 363//30 362//47 +f 354//41 388//41 389//48 +f 348//49 364//49 363//30 +f 345//36 390//50 391//43 +f 349//35 365//35 364//49 +f 372//45 377//45 376//33 +f 374//46 375//46 382//31 +f 369//34 380//48 379//41 +f 359//43 383//43 381//50 +f 371//32 378//32 377//45 +f 373//33 376//33 375//46 +f 482//51 483//52 499//52 +f 471//33 487//33 486//45 +f 464//42 480//42 479//35 +f 472//46 488//46 487//33 +f 465//29 481//29 480//42 +f 458//43 473//43 474//31 +f 457//31 474//31 488//46 +f 466//44 482//44 481//29 +f 459//36 475//36 473//43 +f 467//34 483//34 482//44 +f 460//47 476//47 475//36 +f 468//41 484//41 483//34 +f 461//30 477//30 476//47 +f 469//32 485//32 484//41 +f 462//49 478//49 477//30 +f 470//45 486//45 485//32 +f 463//35 479//35 478//49 +f 475//53 476//54 492//54 +f 484//55 500//55 499//52 +f 477//56 493//56 492//54 +f 485//57 501//57 500//55 +f 478//58 494//58 493//56 +f 486//59 502//59 501//57 +f 479//60 495//60 494//58 +f 486//59 487//61 503//61 +f 480//62 496//62 495//60 +f 488//63 504//63 503//61 +f 480//62 481//38 497//38 +f 473//64 489//64 490//37 +f 488//63 474//37 490//37 +f 481//38 482//51 498//51 +f 475//53 491//53 489//64 +f 538//34 546//69 545//65 +f 536//35 544//70 543//66 +f 534//36 542//71 541//67 +f 533//31 541//67 548//68 +f 539//32 547//72 546//69 +f 537//29 545//65 544//70 +f 535//30 543//66 542//71 +f 540//33 548//68 547//72 +f 548//68 541//67 549//73 +f 546//69 547//72 555//75 +f 545//65 553//79 552//77 +f 543//66 551//80 550//78 +f 547//72 548//68 556//74 +f 545//65 546//69 554//76 +f 544//70 552//77 551//80 +f 542//71 550//78 549//73 +f 552//77 560//35 559//30 +f 550//78 558//36 557//31 +f 549//73 557//31 564//33 +f 555//75 563//32 562//34 +f 553//79 561//29 560//35 +f 551//80 559//30 558//36 +f 556//74 564//33 563//32 +f 554//76 562//34 561//29 +f 586//30 587//49 578//49 +f 582//44 583//82 567//34 +f 584//81 585//47 576//47 +f 589//42 581//29 565//29 +f 587//49 588//35 579//35 +f 581//29 582//44 566//44 +f 585//47 586//30 577//30 +f 588//35 589//42 580//42 +f 603//49 612//49 611//30 +f 592//34 608//82 607//44 +f 601//47 610//47 609//81 +f 590//29 606//29 614//42 +f 604//35 613//35 612//49 +f 591//44 607//44 606//29 +f 602//30 611//30 610//47 +f 605//42 614//42 613//35 +f 345//36 346//47 390//50 +f 346//47 362//47 390//50 +f 362//47 361//36 381//50 +f 568//41 567//34 583//82 +f 608//82 592//34 593//41 +f 568//41 583//82 608//82 +f 593//41 594//32 569//32 +f 594//32 595//45 570//45 +f 595//45 596//33 571//33 +f 596//33 597//46 572//46 +f 597//46 598//31 573//31 +f 598//31 599//43 574//43 +f 575//36 574//43 584//81 +f 574//43 599//43 584//81 +f 599//43 600//36 609//81 +f 352//44 353//34 389//48 +f 389//48 380//48 352//44 +f 380//48 369//34 368//44 +f 642//41 651//41 650//32 +f 622//42 638//42 637//35 +f 632//31 654//31 655//43 +f 623//29 639//29 638//42 +f 627//32 659//32 660//41 +f 616//43 663//43 664//31 +f 624//44 640//44 639//29 +f 629//33 657//33 658//45 +f 628//45 658//45 659//32 +f 630//46 656//46 657//33 +f 615//31 664//31 656//46 +f 619//30 635//30 634//47 +f 626//41 660//41 661//48 +f 620//49 636//49 635//30 +f 617//36 662//50 663//43 +f 621//35 637//35 636//49 +f 644//45 649//45 648//33 +f 646//46 647//46 654//31 +f 641//34 652//48 651//41 +f 631//43 655//43 653//50 +f 643//32 650//32 649//45 +f 645//33 648//33 647//46 +f 686//30 687//49 678//49 +f 682//44 683//82 667//34 +f 684//81 685//47 676//47 +f 689//42 681//29 665//29 +f 687//49 688//35 679//35 +f 681//29 682//44 666//44 +f 685//47 686//30 677//30 +f 688//35 689//42 680//42 +f 703//49 712//49 711//30 +f 692//34 708//82 707//44 +f 701//47 710//47 709//81 +f 690//29 706//29 714//42 +f 704//35 713//35 712//49 +f 691//44 707//44 706//29 +f 702//30 711//30 710//47 +f 705//42 714//42 713//35 +f 617//36 618//47 662//50 +f 618//47 634//47 662//50 +f 634//47 633//36 653//50 +f 668//41 667//34 683//82 +f 708//82 692//34 693//41 +f 668//41 683//82 708//82 +f 693//41 694//32 669//32 +f 694//32 695//45 670//45 +f 695//45 696//33 671//33 +f 696//33 697//46 672//46 +f 697//46 698//31 673//31 +f 698//31 699//43 674//43 +f 675//36 674//43 684//81 +f 674//43 699//43 684//81 +f 699//43 700//36 709//81 +f 624//44 625//34 661//48 +f 661//48 652//48 624//44 +f 652//48 641//34 640//44 +f 742//41 751//41 750//32 +f 722//42 738//42 737//35 +f 732//31 754//31 755//43 +f 723//29 739//29 738//42 +f 727//32 759//32 760//41 +f 716//43 763//43 764//31 +f 724//44 740//44 739//29 +f 729//33 757//33 758//45 +f 728//45 758//45 759//32 +f 730//46 756//46 757//33 +f 715//31 764//31 756//46 +f 719//30 735//30 734//47 +f 726//41 760//41 761//48 +f 720//49 736//49 735//30 +f 717//36 762//50 763//43 +f 721//35 737//35 736//49 +f 744//45 749//45 748//33 +f 746//46 747//46 754//31 +f 741//34 752//48 751//41 +f 731//43 755//43 753//50 +f 743//32 750//32 749//45 +f 745//33 748//33 747//46 +f 786//30 787//49 778//49 +f 782//44 783//82 767//34 +f 784//81 785//47 776//47 +f 789//42 781//29 765//29 +f 787//49 788//35 779//35 +f 781//29 782//44 766//44 +f 785//47 786//30 777//30 +f 788//35 789//42 780//42 +f 803//49 812//49 811//30 +f 792//34 808//82 807//44 +f 801//47 810//47 809//81 +f 790//29 806//29 814//42 +f 804//35 813//35 812//49 +f 791//44 807//44 806//29 +f 802//30 811//30 810//47 +f 805//42 814//42 813//35 +f 717//36 718//47 762//50 +f 718//47 734//47 762//50 +f 734//47 733//36 753//50 +f 768//41 767//34 783//82 +f 808//82 792//34 793//41 +f 768//41 783//82 808//82 +f 793//41 794//32 769//32 +f 794//32 795//45 770//45 +f 795//45 796//33 771//33 +f 796//33 797//46 772//46 +f 797//46 798//31 773//31 +f 798//31 799//43 774//43 +f 775//36 774//43 784//81 +f 774//43 799//43 784//81 +f 799//43 800//36 809//81 +f 724//44 725//34 761//48 +f 761//48 752//48 724//44 +f 752//48 741//34 740//44 +f 842//41 851//41 850//32 +f 822//42 838//42 837//35 +f 832//31 854//31 855//43 +f 823//29 839//29 838//42 +f 827//32 859//32 860//41 +f 816//43 863//43 864//31 +f 824//44 840//44 839//29 +f 829//33 857//33 858//45 +f 828//45 858//45 859//32 +f 830//46 856//46 857//33 +f 815//31 864//31 856//46 +f 819//30 835//30 834//47 +f 826//41 860//41 861//48 +f 820//49 836//49 835//30 +f 817//36 862//50 863//43 +f 821//35 837//35 836//49 +f 844//45 849//45 848//33 +f 846//46 847//46 854//31 +f 841//34 852//48 851//41 +f 831//43 855//43 853//50 +f 843//32 850//32 849//45 +f 845//33 848//33 847//46 +f 886//30 887//49 878//49 +f 882//44 883//82 867//34 +f 884//81 885//47 876//47 +f 889//42 881//29 865//29 +f 887//49 888//35 879//35 +f 881//29 882//44 866//44 +f 885//47 886//30 877//30 +f 888//35 889//42 880//42 +f 903//49 912//49 911//30 +f 892//34 908//82 907//44 +f 901//47 910//47 909//81 +f 890//29 906//29 914//42 +f 904//35 913//35 912//49 +f 891//44 907//44 906//29 +f 902//30 911//30 910//47 +f 905//42 914//42 913//35 +f 817//36 818//47 862//50 +f 818//47 834//47 862//50 +f 834//47 833//36 853//50 +f 868//41 867//34 883//82 +f 908//82 892//34 893//41 +f 868//41 883//82 908//82 +f 893//41 894//32 869//32 +f 894//32 895//45 870//45 +f 895//45 896//33 871//33 +f 896//33 897//46 872//46 +f 897//46 898//31 873//31 +f 898//31 899//43 874//43 +f 875//36 874//43 884//81 +f 874//43 899//43 884//81 +f 899//43 900//36 909//81 +f 824//44 825//34 861//48 +f 861//48 852//48 824//44 +f 852//48 841//34 840//44 +f 920//34 928//69 927//83 +f 918//35 926//70 925//66 +f 916//36 924//71 923//67 +f 915//31 923//67 930//68 +f 921//32 929//72 928//69 +f 919//29 927//83 926//70 +f 917//30 925//66 924//71 +f 922//33 930//68 929//72 +f 930//68 923//67 931//84 +f 928//69 929//72 937//75 +f 927//83 935//79 934//77 +f 925//66 933//80 932//78 +f 929//72 930//68 938//74 +f 927//83 928//69 936//76 +f 926//70 934//77 933//80 +f 924//71 932//78 931//84 +f 934//77 942//35 941//30 +f 932//78 940//36 939//31 +f 931//84 939//31 946//33 +f 937//75 945//32 944//34 +f 935//79 943//29 942//35 +f 933//80 941//30 940//36 +f 938//74 946//33 945//32 +f 936//76 944//34 943//29 +f 952//34 960//69 959//83 +f 950//35 958//70 957//66 +f 948//36 956//71 955//67 +f 947//31 955//67 962//68 +f 953//32 961//72 960//69 +f 951//29 959//83 958//70 +f 949//30 957//66 956//71 +f 954//33 962//68 961//72 +f 962//68 955//67 963//84 +f 960//69 961//72 969//75 +f 959//83 967//79 966//77 +f 957//66 965//80 964//78 +f 961//72 962//68 970//74 +f 959//83 960//69 968//76 +f 958//70 966//77 965//80 +f 956//71 964//78 963//84 +f 966//77 974//35 973//30 +f 964//78 972//36 971//31 +f 963//84 971//31 978//33 +f 969//75 977//32 976//34 +f 967//79 975//29 974//35 +f 965//80 973//30 972//36 +f 970//74 978//33 977//32 +f 968//76 976//34 975//29 +f 1015//85 1021//85 1020//27 +f 1013//86 1019//86 1017//87 +f 1016//88 1022//88 1021//85 +f 1014//27 1020//27 1019//86 +f 1012//87 1017//87 1018//28 +f 1011//28 1018//28 1022//88 +f 1079//85 1085//85 1084//27 +f 1077//86 1083//86 1081//87 +f 1080//88 1086//88 1085//85 +f 1078//27 1084//27 1083//86 +f 1076//87 1081//87 1082//28 +f 1075//28 1082//28 1086//88 +f 1137//32 1138//57 1130//57 +f 1135//27 1136//89 1128//89 +f 1133//30 1134//90 1126//90 +f 1131//28 1132//56 1124//56 +f 1138//57 1131//28 1123//28 +f 1136//89 1137//32 1129//32 +f 1134//90 1135//27 1127//27 +f 1132//56 1133//30 1125//30 +f 1153//32 1154//57 1146//57 +f 1151//27 1152//89 1144//89 +f 1149//30 1150//90 1142//90 +f 1147//28 1148//56 1140//56 +f 1154//57 1147//28 1139//28 +f 1152//89 1153//32 1145//32 +f 1150//90 1151//27 1143//27 +f 1148//56 1149//30 1141//30 +f 1177//32 1178//57 1170//57 +f 1175//27 1176//89 1168//89 +f 1173//30 1174//90 1166//90 +f 1171//28 1172//56 1164//56 +f 1178//57 1171//28 1163//28 +f 1176//89 1177//32 1169//32 +f 1174//90 1175//27 1167//27 +f 1172//56 1173//30 1165//30 +f 1193//32 1194//57 1186//57 +f 1191//27 1192//89 1184//89 +f 1189//30 1190//90 1182//90 +f 1187//28 1188//56 1180//56 +f 1194//57 1187//28 1179//28 +f 1192//89 1193//32 1185//32 +f 1190//90 1191//27 1183//27 +f 1188//56 1189//30 1181//30 +f 1206//91 1214//35 1213//30 +f 1204//93 1212//36 1211//31 +f 1203//37 1211//31 1218//33 +f 1209//95 1217//32 1216//34 +f 1207//97 1215//29 1214//35 +f 1205//92 1213//30 1212//36 +f 1210//94 1218//33 1217//32 +f 1208//96 1216//34 1215//29 +f 1222//98 1230//35 1229//30 +f 1220//100 1228//36 1227//31 +f 1219//101 1227//31 1234//33 +f 1225//103 1233//32 1232//34 +f 1223//38 1231//29 1230//35 +f 1221//99 1229//30 1228//36 +f 1226//102 1234//33 1233//32 +f 1224//104 1232//34 1231//29 +f 1245//105 1246//111 1241//106 +f 1247//108 1248//112 1239//109 +f 1209//95 1208//96 1246//111 +f 1205//92 1249//115 1248//112 +f 1208//96 1207//97 1247//108 +f 1209//95 1245//105 1244//113 +f 1205//92 1204//93 1250//114 +f 1206//91 1248//112 1247//108 +f 1249//115 1238//118 1239//109 +f 1246//111 1247//108 1240//110 +f 1245//105 1242//107 1243//116 +f 1249//115 1250//114 1237//117 +f 1220//100 1235//123 1251//119 +f 1225//103 1254//125 1255//120 +f 1221//99 1251//119 1252//121 +f 1220//100 1219//101 1236//122 +f 1226//102 1255//120 1236//122 +f 1225//103 1224//104 1253//124 +f 1255//120 1254//125 1261//126 +f 1252//121 1251//119 1258//128 +f 1236//122 1257//131 1256//130 +f 1236//122 1255//120 1262//127 +f 1254//125 1253//124 1260//132 +f 1235//123 1256//130 1258//128 +f 1242//107 1261//126 1260//132 +f 1243//116 1260//132 1223//38 +f 1259//129 1237//117 1203//37 +f 1237//117 1259//129 1258//128 +f 1238//118 1258//128 1256//130 +f 1239//109 1256//130 1257//131 +f 1240//110 1257//131 1262//127 +f 1241//106 1262//127 1261//126 +f 1266//91 1274//35 1273//30 +f 1264//93 1272//36 1271//31 +f 1263//37 1271//31 1278//33 +f 1269//95 1277//32 1276//34 +f 1267//97 1275//29 1274//35 +f 1265//92 1273//30 1272//36 +f 1270//94 1278//33 1277//32 +f 1268//96 1276//34 1275//29 +f 1282//98 1290//35 1289//30 +f 1280//100 1288//36 1287//31 +f 1279//101 1287//31 1294//33 +f 1285//103 1293//32 1292//34 +f 1283//38 1291//29 1290//35 +f 1281//99 1289//30 1288//36 +f 1286//102 1294//33 1293//32 +f 1284//104 1292//34 1291//29 +f 1305//105 1306//133 1301//106 +f 1307//108 1308//112 1299//109 +f 1268//96 1306//133 1305//105 +f 1265//92 1309//115 1308//112 +f 1267//97 1307//108 1306//133 +f 1269//95 1305//105 1304//113 +f 1265//92 1264//93 1310//114 +f 1266//91 1308//112 1307//108 +f 1309//115 1298//118 1299//109 +f 1306//133 1307//108 1300//110 +f 1305//105 1302//107 1303//116 +f 1309//115 1310//114 1297//117 +f 1280//100 1295//123 1311//119 +f 1285//103 1314//125 1315//134 +f 1281//99 1311//119 1312//121 +f 1280//100 1279//101 1296//122 +f 1286//102 1315//134 1296//122 +f 1285//103 1284//104 1313//124 +f 1315//134 1314//125 1321//126 +f 1312//121 1311//119 1318//128 +f 1296//122 1317//131 1316//130 +f 1296//122 1315//134 1322//127 +f 1314//125 1313//124 1320//132 +f 1295//123 1316//130 1318//128 +f 1302//107 1321//126 1320//132 +f 1303//116 1320//132 1283//38 +f 1319//129 1297//117 1263//37 +f 1297//117 1319//129 1318//128 +f 1298//118 1318//128 1316//130 +f 1299//109 1316//130 1317//131 +f 1300//110 1317//131 1322//127 +f 1301//106 1322//127 1321//126 +f 1326//91 1334//35 1333//30 +f 1324//93 1332//36 1331//31 +f 1323//37 1331//31 1338//33 +f 1329//95 1337//32 1336//34 +f 1327//97 1335//29 1334//35 +f 1325//92 1333//30 1332//36 +f 1330//94 1338//33 1337//32 +f 1328//96 1336//34 1335//29 +f 1342//98 1350//35 1349//30 +f 1340//100 1348//36 1347//31 +f 1339//101 1347//31 1354//33 +f 1345//103 1353//32 1352//34 +f 1343//38 1351//29 1350//35 +f 1341//99 1349//30 1348//36 +f 1346//102 1354//33 1353//32 +f 1344//104 1352//34 1351//29 +f 1365//105 1366//133 1361//106 +f 1367//108 1368//112 1359//109 +f 1328//96 1366//133 1365//105 +f 1325//92 1369//115 1368//112 +f 1328//96 1327//97 1367//108 +f 1329//95 1365//105 1364//113 +f 1325//92 1324//93 1370//114 +f 1326//91 1368//112 1367//108 +f 1369//115 1358//118 1359//109 +f 1366//133 1367//108 1360//110 +f 1365//105 1362//107 1363//116 +f 1369//115 1370//114 1357//117 +f 1340//100 1355//135 1371//119 +f 1346//102 1345//103 1374//125 +f 1341//99 1371//119 1372//121 +f 1340//100 1339//101 1356//122 +f 1346//102 1375//134 1356//122 +f 1345//103 1344//104 1373//124 +f 1375//134 1374//125 1381//126 +f 1372//121 1371//119 1378//128 +f 1356//122 1377//131 1376//130 +f 1356//122 1375//134 1382//127 +f 1373//124 1380//132 1381//126 +f 1355//135 1376//130 1378//128 +f 1362//107 1381//126 1380//132 +f 1363//116 1380//132 1343//38 +f 1379//129 1357//117 1323//37 +f 1357//117 1379//129 1378//128 +f 1358//118 1378//128 1376//130 +f 1359//109 1376//130 1377//131 +f 1360//110 1377//131 1382//127 +f 1361//106 1382//127 1381//126 +f 1398//33 1391//31 1383//31 +f 1396//34 1397//32 1389//32 +f 1394//35 1395//29 1387//29 +f 1392//36 1393//30 1385//30 +f 1397//32 1398//33 1390//33 +f 1395//29 1396//34 1388//34 +f 1393//30 1394//35 1386//35 +f 1391//31 1392//36 1384//36 +f 1521//32 1522//57 1514//57 +f 1519//27 1520//89 1512//89 +f 1517//30 1518//90 1510//90 +f 1515//28 1516//56 1508//56 +f 1522//57 1515//28 1507//28 +f 1520//89 1521//32 1513//32 +f 1518//90 1519//27 1511//27 +f 1516//56 1517//30 1509//30 +f 1537//32 1538//57 1530//57 +f 1535//27 1536//89 1528//89 +f 1533//30 1534//90 1526//90 +f 1531//28 1532//56 1524//56 +f 1538//57 1531//28 1523//28 +f 1536//89 1537//32 1529//32 +f 1534//90 1535//27 1527//27 +f 1532//56 1533//30 1525//30 +f 1554//33 1562//33 1561//32 +f 1552//34 1560//34 1559//29 +f 1550//35 1558//35 1557//30 +f 1548//36 1556//36 1555//31 +f 1547//31 1555//31 1562//33 +f 1553//32 1561//32 1560//34 +f 1551//29 1559//29 1558//35 +f 1549//30 1557//30 1556//36 +f 1570//33 1578//33 1577//32 +f 1568//34 1576//34 1575//29 +f 1566//35 1574//35 1573//30 +f 1564//36 1572//36 1571//31 +f 1563//31 1571//31 1578//33 +f 1569//32 1577//32 1576//34 +f 1567//29 1575//29 1574//35 +f 1565//30 1573//30 1572//36 +f 1586//33 1594//33 1593//32 +f 1584//34 1592//34 1591//29 +f 1582//35 1590//35 1589//30 +f 1580//36 1588//36 1587//31 +f 1579//31 1587//31 1594//33 +f 1585//32 1593//32 1592//34 +f 1583//29 1591//29 1590//35 +f 1581//30 1589//30 1588//36 +f 1602//33 1610//33 1609//32 +f 1600//34 1608//34 1607//29 +f 1598//35 1606//35 1605//30 +f 1596//36 1604//36 1603//31 +f 1595//31 1603//31 1610//33 +f 1601//32 1609//32 1608//34 +f 1599//29 1607//29 1606//35 +f 1597//30 1605//30 1604//36 +f 1612//136 1613//39 1625//39 +f 1620//32 1632//32 1631//137 +f 1617//29 1629//29 1628//138 +f 1614//30 1626//30 1625//39 +f 1621//40 1633//40 1632//32 +f 1618//139 1630//139 1629//29 +f 1615//140 1627//140 1626//30 +f 1622//141 1634//141 1633//40 +f 1612//136 1623//136 1624//31 +f 1619//137 1631//137 1630//139 +f 1616//138 1628//138 1627//140 +f 1611//31 1624//31 1634//141 +f 1636//136 1637//39 1649//39 +f 1644//32 1656//32 1655//137 +f 1641//29 1653//29 1652//138 +f 1638//30 1650//30 1649//39 +f 1645//40 1657//40 1656//32 +f 1642//139 1654//139 1653//29 +f 1639//140 1651//140 1650//30 +f 1646//141 1658//141 1657//40 +f 1636//136 1647//136 1648//31 +f 1643//137 1655//137 1654//139 +f 1640//138 1652//138 1651//140 +f 1635//31 1648//31 1658//141 +f 1770//142 1794//142 1784//27 +f 1722//142 1746//142 1736//27 +f 1702//30 1726//30 1727//86 +f 1709//88 1733//88 1734//143 +f 1699//28 1724//28 1723//144 +f 1706//145 1730//145 1731//85 +f 1703//86 1727//86 1728//142 +f 1710//143 1734//143 1724//28 +f 1700//144 1723//144 1725//87 +f 1707//85 1731//85 1732//32 +f 1704//142 1728//142 1729//27 +f 1701//87 1725//87 1726//30 +f 1708//32 1732//32 1733//88 +f 1705//27 1729//27 1730//145 +f 1750//30 1774//30 1775//86 +f 1711//145 1735//145 1737//85 +f 1719//87 1743//87 1744//30 +f 1716//143 1740//143 1741//28 +f 1713//85 1737//85 1738//32 +f 1720//30 1744//30 1745//86 +f 1717//28 1741//28 1742//144 +f 1714//32 1738//32 1739//88 +f 1721//86 1745//86 1746//142 +f 1712//27 1736//27 1735//145 +f 1718//144 1742//144 1743//87 +f 1715//88 1739//88 1740//143 +f 1757//88 1781//88 1782//143 +f 1747//28 1772//28 1771//144 +f 1754//145 1778//145 1779//85 +f 1751//86 1775//86 1776//142 +f 1758//143 1782//143 1772//28 +f 1748//144 1771//144 1773//87 +f 1755//85 1779//85 1780//32 +f 1752//142 1776//142 1777//27 +f 1749//87 1773//87 1774//30 +f 1756//32 1780//32 1781//88 +f 1753//27 1777//27 1778//145 +f 1759//145 1783//145 1785//85 +f 1767//87 1791//87 1792//30 +f 1764//143 1788//143 1789//28 +f 1761//85 1785//85 1786//32 +f 1768//30 1792//30 1793//86 +f 1765//28 1789//28 1790//144 +f 1762//32 1786//32 1787//88 +f 1769//86 1793//86 1794//142 +f 1760//27 1784//27 1783//145 +f 1766//144 1790//144 1791//87 +f 1763//88 1787//88 1788//143 +f 1801//146 1800//147 1812//147 +f 1798//148 1797//149 1809//149 +f 1804//150 1816//150 1817//151 +f 1802//152 1801//146 1813//146 +f 1798//148 1810//148 1811//153 +f 1806//154 1805//151 1817//151 +f 1795//155 1808//155 1807//156 +f 1802//152 1814//152 1815//157 +f 1799//153 1811//153 1812//147 +f 1806//154 1818//154 1808//155 +f 1796//156 1807//156 1809//149 +f 1804//150 1803//157 1815//157 +f 1825//158 1824//159 1836//159 +f 1822//160 1821//161 1833//161 +f 1828//162 1840//162 1841//163 +f 1825//158 1837//158 1838//164 +f 1823//165 1822//160 1834//160 +f 1830//166 1829//163 1841//163 +f 1819//167 1832//167 1831//168 +f 1827//169 1826//164 1838//164 +f 1824//159 1823//165 1835//165 +f 1830//166 1842//166 1832//167 +f 1820//168 1831//168 1833//161 +f 1828//162 1827//169 1839//169 +f 1873//27 1874//122 1866//122 +f 1871//29 1872//108 1864//108 +f 1869//28 1870//38 1862//38 +f 1867//31 1868//37 1860//37 +f 1874//122 1867//31 1859//31 +f 1872//108 1873//27 1865//27 +f 1870//38 1871//29 1863//29 +f 1868//37 1869//28 1861//28 +f 1889//27 1890//122 1882//122 +f 1887//29 1888//108 1880//108 +f 1885//28 1886//38 1878//38 +f 1883//31 1884//37 1876//37 +f 1890//122 1883//31 1875//31 +f 1888//108 1889//27 1881//27 +f 1886//38 1887//29 1879//29 +f 1884//37 1885//28 1877//28 +f 1905//170 1906//173 1898//122 +f 1903//171 1904//174 1896//108 +f 1901//172 1902//175 1894//38 +f 1899//33 1900//176 1892//37 +f 1906//173 1899//33 1891//31 +f 1904//174 1905//170 1897//27 +f 1902//175 1903//171 1895//29 +f 1900//176 1901//172 1893//28 +f 1904//174 1911//181 1912//177 +f 1903//171 1902//175 1909//178 +f 1900//176 1907//182 1908//179 +f 1905//170 1912//177 1913//180 +f 1903//171 1910//35 1911//181 +f 1901//172 1908//179 1909//178 +f 1907//182 1914//189 1915//183 +f 1913//180 1912//177 1919//184 +f 1911//181 1910//35 1917//186 +f 1908//179 1915//183 1916//188 +f 1911//181 1918//187 1919//184 +f 1909//178 1916//188 1917//186 +f 1920//185 1928//89 1921//32 +f 1919//184 1927//27 1928//89 +f 1899//33 1921//32 1922//57 +f 1917//186 1925//30 1926//90 +f 1915//183 1923//28 1924//56 +f 1918//187 1926//90 1927//27 +f 1916//188 1924//56 1925//30 +f 1914//189 1922//57 1923//28 +f 1943//190 1942//193 1949//181 +f 1941//42 1940//194 1947//178 +f 1939//191 1938//196 1945//182 +f 1943//190 1950//177 1951//180 +f 1941//42 1948//35 1949//181 +f 1939//191 1946//179 1947//178 +f 1945//182 1952//189 1953//183 +f 1950//177 1957//184 1958//185 +f 1949//181 1948//35 1955//186 +f 1946//179 1953//183 1954//188 +f 1949//181 1956//187 1957//184 +f 1947//178 1954//188 1955//186 +f 1958//185 1966//198 1959//197 +f 1957//184 1965//202 1966//198 +f 1937//195 1959//197 1960//199 +f 1955//186 1963//35 1964//200 +f 1953//183 1961//203 1962//201 +f 1956//187 1964//200 1965//202 +f 1954//188 1962//201 1963//35 +f 1952//189 1960//199 1961//203 +f 1982//122 1975//31 1967//31 +f 1980//108 1981//27 1973//27 +f 1978//38 1979//29 1971//29 +f 1976//37 1977//28 1969//28 +f 1981//27 1982//122 1974//122 +f 1979//29 1980//108 1972//108 +f 1977//28 1978//38 1970//38 +f 1975//31 1976//37 1968//37 +f 1961//203 1985//207 1986//204 +f 1959//197 1983//33 1984//205 +f 1964//200 1987//216 1988//206 +f 1960//199 1984//205 1985//207 +f 1959//197 1966//198 1989//208 +f 1966//198 1965//202 1988//206 +f 1989//208 1996//210 1990//209 +f 1988//206 1995//214 1996//210 +f 1985//207 1992//215 1993//211 +f 1983//33 1990//209 1991//212 +f 1988//206 1987//216 1994//213 +f 1985//207 1984//205 1991//212 +f 1963//35 1997//29 2002//108 +f 1996//210 2004//122 1998//31 +f 1993//211 2001//38 1997//29 +f 1995//214 2003//27 2004//122 +f 1992//215 2000//28 2001//38 +f 1990//209 1998//31 1999//37 +f 1994//213 2002//108 2003//27 +f 1991//212 1999//37 2000//28 +f 2012//89 2020//198 2013//197 +f 2011//27 2019//202 2020//198 +f 2005//32 2013//197 2014//199 +f 2009//30 2017//35 2018//200 +f 2007//28 2015//203 2016//201 +f 2010//90 2018//200 2019//202 +f 2008//56 2016//201 2017//35 +f 2006//57 2014//199 2015//203 +f 2015//203 2023//207 2024//204 +f 2013//197 2021//33 2022//205 +f 2019//202 2018//200 2025//216 +f 2014//199 2022//205 2023//207 +f 2013//197 2020//198 2027//208 +f 2020//198 2019//202 2026//206 +f 2021//33 2027//208 2034//210 +f 2026//206 2033//214 2034//210 +f 2024//204 2023//207 2030//215 +f 2021//33 2028//209 2029//212 +f 2025//216 2032//213 2033//214 +f 2023//207 2022//205 2029//212 +f 2017//35 2035//29 2040//108 +f 2034//210 2042//122 2036//31 +f 2031//211 2039//38 2035//29 +f 2033//214 2041//27 2042//122 +f 2030//215 2038//28 2039//38 +f 2028//209 2036//31 2037//37 +f 2032//213 2040//108 2041//27 +f 2029//212 2037//37 2038//28 +f 2249//29 2261//29 2260//138 +f 2246//30 2258//30 2257//39 +f 2253//40 2265//40 2264//32 +f 2250//139 2262//139 2261//29 +f 2247//140 2259//140 2258//30 +f 2256//31 2271//31 2270//217 +f 2266//141 2272//218 2271//31 +f 2251//137 2263//137 2262//139 +f 2248//138 2260//138 2259//140 +f 2244//136 2268//217 2267//31 +f 2243//31 2267//31 2269//218 +f 2252//32 2264//32 2263//137 +f 2244//136 2245//39 2268//217 +f 2245//39 2257//39 2268//217 +f 2257//39 2255//136 2270//217 +f 2253//40 2254//141 2269//218 +f 2272//218 2266//141 2265//40 +f 2253//40 2269//218 2272//218 +f 2287//219 2285//29 2273//29 +f 2285//29 2286//220 2274//139 +f 2288//29 2300//29 2302//219 +f 2289//139 2301//220 2300//29 +f 2297//30 2298//140 2283//140 +f 2296//39 2297//30 2282//30 +f 2295//136 2296//39 2281//39 +f 2294//31 2295//136 2280//136 +f 2293//141 2294//31 2279//31 +f 2292//40 2293//141 2278//141 +f 2291//32 2292//40 2277//40 +f 2290//137 2291//32 2276//32 +f 2275//137 2274//139 2286//220 +f 2286//220 2301//220 2275//137 +f 2301//220 2289//139 2290//137 +f 2284//138 2283//140 2287//219 +f 2283//140 2298//140 2287//219 +f 2298//140 2299//138 2302//219 +f 2308//138 2320//138 2321//29 +f 2305//39 2317//39 2318//30 +f 2312//32 2324//32 2325//40 +f 2309//29 2321//29 2322//139 +f 2306//30 2318//30 2319//140 +f 2313//40 2325//40 2326//141 +f 2303//31 2316//31 2315//136 +f 2310//139 2322//139 2323//137 +f 2307//140 2319//140 2320//138 +f 2314//141 2326//141 2316//31 +f 2304//136 2315//136 2317//39 +f 2311//137 2323//137 2324//32 +f 2336//32 2348//32 2347//137 +f 2333//29 2345//29 2344//138 +f 2330//30 2342//30 2341//39 +f 2337//40 2349//40 2348//32 +f 2334//139 2346//139 2345//29 +f 2331//140 2343//140 2342//30 +f 2338//141 2350//141 2349//40 +f 2328//136 2340//136 2339//31 +f 2335//137 2347//137 2346//139 +f 2332//138 2344//138 2343//140 +f 2327//31 2339//31 2350//141 +f 2329//39 2341//39 2340//136 +f 2358//139 2370//139 2369//29 +f 2355//140 2367//140 2366//30 +f 2362//141 2374//141 2373//40 +f 2352//136 2364//136 2363//31 +f 2359//137 2371//137 2370//139 +f 2356//138 2368//138 2367//140 +f 2351//31 2363//31 2374//141 +f 2353//39 2365//39 2364//136 +f 2360//32 2372//32 2371//137 +f 2357//29 2369//29 2368//138 +f 2354//30 2366//30 2365//39 +f 2361//40 2373//40 2372//32 +f 2374//221 2363//37 2375//37 +f 2364//222 2376//222 2375//37 +f 2365//223 2377//223 2376//222 +f 2365//223 2366//56 2378//56 +f 2367//224 2379//224 2378//56 +f 2368//225 2380//225 2379//224 +f 2369//38 2381//38 2380//225 +f 2370//226 2382//226 2381//38 +f 2371//227 2383//227 2382//226 +f 2371//227 2372//57 2384//57 +f 2373//228 2385//228 2384//57 +f 2373//228 2374//221 2386//221 +f 2388//40 2856//40 2857//32 +f 2395//30 2863//30 2864//39 +f 2392//29 2860//29 2861//138 +f 2389//32 2857//32 2858//137 +f 2396//39 2864//39 2865//136 +f 2398//31 2866//31 2855//141 +f 2393//138 2861//138 2862//140 +f 2390//137 2858//137 2859//139 +f 2397//136 2865//136 2866//31 +f 2387//141 2855//141 2856//40 +f 2394//140 2862//140 2863//30 +f 2391//139 2859//139 2860//29 +f 2405//29 2417//29 2416//138 +f 2402//30 2414//30 2413//39 +f 2409//40 2421//40 2420//32 +f 2406//139 2418//139 2417//29 +f 2403//140 2415//140 2414//30 +f 2412//31 2427//31 2426//217 +f 2422//141 2428//218 2427//31 +f 2407//137 2419//137 2418//139 +f 2404//138 2416//138 2415//140 +f 2400//136 2424//217 2423//31 +f 2399//31 2423//31 2425//218 +f 2408//32 2420//32 2419//137 +f 2400//136 2401//39 2424//217 +f 2401//39 2413//39 2424//217 +f 2413//39 2411//136 2426//217 +f 2409//40 2410//141 2425//218 +f 2428//218 2422//141 2421//40 +f 2409//40 2425//218 2428//218 +f 2443//219 2441//29 2429//29 +f 2441//29 2442//220 2430//139 +f 2444//29 2456//29 2458//219 +f 2445//139 2457//220 2456//29 +f 2453//30 2454//140 2439//140 +f 2452//39 2453//30 2438//30 +f 2451//136 2452//39 2437//39 +f 2450//31 2451//136 2436//136 +f 2449//141 2450//31 2435//31 +f 2448//40 2449//141 2434//141 +f 2447//32 2448//40 2433//40 +f 2446//137 2447//32 2432//32 +f 2431//137 2430//139 2442//220 +f 2442//220 2457//220 2431//137 +f 2457//220 2445//139 2446//137 +f 2440//138 2439//140 2443//219 +f 2439//140 2454//140 2443//219 +f 2454//140 2455//138 2458//219 +f 2464//138 2476//138 2477//29 +f 2461//39 2473//39 2474//30 +f 2468//32 2480//32 2481//40 +f 2465//29 2477//29 2478//139 +f 2462//30 2474//30 2475//140 +f 2469//40 2481//40 2482//141 +f 2459//31 2472//31 2471//136 +f 2466//139 2478//139 2479//137 +f 2463//140 2475//140 2476//138 +f 2470//141 2482//141 2472//31 +f 2460//136 2471//136 2473//39 +f 2467//137 2479//137 2480//32 +f 2492//32 2504//32 2503//137 +f 2489//29 2501//29 2500//138 +f 2486//30 2498//30 2497//39 +f 2493//40 2505//40 2504//32 +f 2490//139 2502//139 2501//29 +f 2487//140 2499//140 2498//30 +f 2494//141 2506//141 2505//40 +f 2484//136 2496//136 2495//31 +f 2491//137 2503//137 2502//139 +f 2488//138 2500//138 2499//140 +f 2483//31 2495//31 2506//141 +f 2485//39 2497//39 2496//136 +f 2532//228 2531//221 2519//221 +f 2532//228 2520//228 2521//57 +f 2534//227 2533//57 2521//57 +f 2534//227 2522//227 2523//226 +f 2535//226 2523//226 2524//38 +f 2536//38 2524//38 2525//225 +f 2537//225 2525//225 2526//224 +f 2538//224 2526//224 2527//56 +f 2540//223 2539//56 2527//56 +f 2541//222 2540//223 2528//223 +f 2541//222 2529//222 2530//37 +f 2531//221 2542//37 2530//37 +f 2544//40 2532//40 2533//32 +f 2551//30 2539//30 2540//39 +f 2548//29 2536//29 2537//138 +f 2545//32 2533//32 2534//137 +f 2552//39 2540//39 2541//136 +f 2554//31 2542//31 2531//141 +f 2549//138 2537//138 2538//140 +f 2546//137 2534//137 2535//139 +f 2553//136 2541//136 2542//31 +f 2543//141 2531//141 2532//40 +f 2550//140 2538//140 2539//30 +f 2547//139 2535//139 2536//29 +f 2705//138 2680//138 2679//140 +f 2710//31 2675//31 2686//141 +f 2708//39 2677//39 2676//136 +f 2701//32 2684//32 2683//137 +f 2704//29 2681//29 2680//138 +f 2707//30 2678//30 2677//39 +f 2700//40 2685//40 2684//32 +f 2703//139 2682//139 2681//29 +f 2706//140 2679//140 2678//30 +f 2699//141 2686//141 2685//40 +f 2709//136 2676//136 2675//31 +f 2702//137 2683//137 2682//139 +f 2561//29 2573//29 2572//138 +f 2558//30 2570//30 2569//39 +f 2565//40 2577//40 2576//32 +f 2562//139 2574//139 2573//29 +f 2559//140 2571//140 2570//30 +f 2568//31 2583//31 2582//217 +f 2578//141 2584//218 2583//31 +f 2563//137 2575//137 2574//139 +f 2560//138 2572//138 2571//140 +f 2556//136 2580//217 2579//31 +f 2555//31 2579//31 2581//218 +f 2564//32 2576//32 2575//137 +f 2556//136 2557//39 2580//217 +f 2557//39 2569//39 2580//217 +f 2569//39 2567//136 2582//217 +f 2565//40 2566//141 2581//218 +f 2584//218 2578//141 2577//40 +f 2565//40 2581//218 2584//218 +f 2599//219 2597//29 2585//29 +f 2597//29 2598//220 2586//139 +f 2600//29 2612//29 2614//219 +f 2601//139 2613//220 2612//29 +f 2609//30 2610//140 2595//140 +f 2608//39 2609//30 2594//30 +f 2607//136 2608//39 2593//39 +f 2606//31 2607//136 2592//136 +f 2605//141 2606//31 2591//31 +f 2604//40 2605//141 2590//141 +f 2603//32 2604//40 2589//40 +f 2602//137 2603//32 2588//32 +f 2587//137 2586//139 2598//220 +f 2598//220 2613//220 2587//137 +f 2613//220 2601//139 2602//137 +f 2596//138 2595//140 2599//219 +f 2595//140 2610//140 2599//219 +f 2610//140 2611//138 2614//219 +f 2620//138 2632//138 2633//29 +f 2617//39 2629//39 2630//30 +f 2624//32 2636//32 2637//40 +f 2621//29 2633//29 2634//139 +f 2618//30 2630//30 2631//140 +f 2625//40 2637//40 2638//141 +f 2615//31 2628//31 2627//136 +f 2622//139 2634//139 2635//137 +f 2619//140 2631//140 2632//138 +f 2626//141 2638//141 2628//31 +f 2616//136 2627//136 2629//39 +f 2623//137 2635//137 2636//32 +f 2648//32 2660//32 2659//137 +f 2645//29 2657//29 2656//138 +f 2642//30 2654//30 2653//39 +f 2649//40 2661//40 2660//32 +f 2646//139 2658//139 2657//29 +f 2643//140 2655//140 2654//30 +f 2650//141 2662//141 2661//40 +f 2640//136 2652//136 2651//31 +f 2647//137 2659//137 2658//139 +f 2644//138 2656//138 2655//140 +f 2639//31 2651//31 2662//141 +f 2641//39 2653//39 2652//136 +f 2698//229 2686//229 2675//122 +f 2675//122 2676//230 2688//230 +f 2676//230 2677//231 2689//231 +f 2689//231 2677//231 2678//90 +f 2678//90 2679//232 2691//232 +f 2691//232 2679//232 2680//233 +f 2680//233 2681//108 2693//108 +f 2681//108 2682//234 2694//234 +f 2694//234 2682//234 2683//235 +f 2695//235 2683//235 2684//89 +f 2684//89 2685//236 2697//236 +f 2685//236 2686//229 2698//229 +f 2694//139 2670//139 2669//29 +f 2691//140 2667//140 2666//30 +f 2698//141 2674//141 2673//40 +f 2688//136 2664//136 2663//31 +f 2695//137 2671//137 2670//139 +f 2692//138 2668//138 2667//140 +f 2687//31 2663//31 2674//141 +f 2689//39 2665//39 2664//136 +f 2696//32 2672//32 2671//137 +f 2693//29 2669//29 2668//138 +f 2690//30 2666//30 2665//39 +f 2697//40 2673//40 2672//32 +f 2819//221 2699//221 2700//228 +f 2820//228 2700//228 2701//57 +f 2822//227 2821//57 2701//57 +f 2823//226 2822//227 2702//227 +f 2823//226 2703//226 2704//38 +f 2824//38 2704//38 2705//225 +f 2825//225 2705//225 2706//224 +f 2826//224 2706//224 2707//56 +f 2828//223 2827//56 2707//56 +f 2828//223 2708//223 2709//222 +f 2829//222 2709//222 2710//37 +f 2819//221 2830//37 2710//37 +f 2717//29 2729//29 2728//138 +f 2714//30 2726//30 2725//39 +f 2721//40 2733//40 2732//32 +f 2718//139 2730//139 2729//29 +f 2715//140 2727//140 2726//30 +f 2724//31 2739//31 2738//217 +f 2734//141 2740//218 2739//31 +f 2719//137 2731//137 2730//139 +f 2716//138 2728//138 2727//140 +f 2712//136 2736//217 2735//31 +f 2711//31 2735//31 2737//218 +f 2720//32 2732//32 2731//137 +f 2712//136 2713//39 2736//217 +f 2713//39 2725//39 2736//217 +f 2725//39 2723//136 2738//217 +f 2721//40 2722//141 2737//218 +f 2740//218 2734//141 2733//40 +f 2721//40 2737//218 2740//218 +f 2755//219 2753//29 2741//29 +f 2753//29 2754//220 2742//139 +f 2756//29 2768//29 2770//219 +f 2757//139 2769//220 2768//29 +f 2765//30 2766//140 2751//140 +f 2764//39 2765//30 2750//30 +f 2763//136 2764//39 2749//39 +f 2762//31 2763//136 2748//136 +f 2761//141 2762//31 2747//31 +f 2760//40 2761//141 2746//141 +f 2759//32 2760//40 2745//40 +f 2758//137 2759//32 2744//32 +f 2743//137 2742//139 2754//220 +f 2754//220 2769//220 2743//137 +f 2769//220 2757//139 2758//137 +f 2752//138 2751//140 2755//219 +f 2751//140 2766//140 2755//219 +f 2766//140 2767//138 2770//219 +f 2776//138 2788//138 2789//29 +f 2773//39 2785//39 2786//30 +f 2780//32 2792//32 2793//40 +f 2777//29 2789//29 2790//139 +f 2774//30 2786//30 2787//140 +f 2781//40 2793//40 2794//141 +f 2771//31 2784//31 2783//136 +f 2778//139 2790//139 2791//137 +f 2775//140 2787//140 2788//138 +f 2782//141 2794//141 2784//31 +f 2772//136 2783//136 2785//39 +f 2779//137 2791//137 2792//32 +f 2804//32 2816//32 2815//137 +f 2801//29 2813//29 2812//138 +f 2798//30 2810//30 2809//39 +f 2805//40 2817//40 2816//32 +f 2802//139 2814//139 2813//29 +f 2799//140 2811//140 2810//30 +f 2806//141 2818//141 2817//40 +f 2796//136 2808//136 2807//31 +f 2803//137 2815//137 2814//139 +f 2800//138 2812//138 2811//140 +f 2795//31 2807//31 2818//141 +f 2797//39 2809//39 2808//136 +f 2832//40 2820//40 2821//32 +f 2839//30 2827//30 2828//39 +f 2836//29 2824//29 2825//138 +f 2833//32 2821//32 2822//137 +f 2840//39 2828//39 2829//136 +f 2842//31 2830//31 2819//141 +f 2837//138 2825//138 2826//140 +f 2834//137 2822//137 2823//139 +f 2841//136 2829//136 2830//31 +f 2831//141 2819//141 2820//40 +f 2838//140 2826//140 2827//30 +f 2835//139 2823//139 2824//29 +f 2388//236 2844//236 2843//229 +f 2845//89 2844//236 2388//236 +f 2390//235 2846//235 2845//89 +f 2847//234 2846//235 2390//235 +f 2848//108 2847//234 2391//234 +f 2849//233 2848//108 2392//108 +f 2850//232 2849//233 2393//233 +f 2851//90 2850//232 2394//232 +f 2396//231 2852//231 2851//90 +f 2397//230 2853//230 2852//231 +f 2854//122 2853//230 2397//230 +f 2387//229 2843//229 2854//122 +f 2383//137 2846//137 2847//139 +f 2376//136 2853//136 2854//31 +f 2386//141 2843//141 2844//40 +f 2379//140 2850//140 2851//30 +f 2382//139 2847//139 2848//29 +f 2385//40 2844//40 2845//32 +f 2378//30 2851//30 2852//39 +f 2381//29 2848//29 2849//138 +f 2384//32 2845//32 2846//137 +f 2377//39 2852//39 2853//136 +f 2375//31 2854//31 2843//141 +f 2380//138 2849//138 2850//140 +f 2517//40 2952//40 2953//32 +f 2510//30 2959//30 2960//39 +f 2513//29 2956//29 2957//138 +f 2516//32 2953//32 2954//137 +f 2509//39 2960//39 2961//136 +f 2507//31 2962//31 2951//141 +f 2512//138 2957//138 2958//140 +f 2515//137 2954//137 2955//139 +f 2508//136 2961//136 2962//31 +f 2518//141 2951//141 2952//40 +f 2511//140 2958//140 2959//30 +f 2514//139 2955//139 2956//29 +f 2909//138 2884//138 2883//140 +f 2914//31 2879//31 2890//141 +f 2912//39 2881//39 2880//136 +f 2905//32 2888//32 2887//137 +f 2908//29 2885//29 2884//138 +f 2911//30 2882//30 2881//39 +f 2904//40 2889//40 2888//32 +f 2907//139 2886//139 2885//29 +f 2910//140 2883//140 2882//30 +f 2903//141 2890//141 2889//40 +f 2913//136 2880//136 2879//31 +f 2906//137 2887//137 2886//139 +f 2902//229 2890//229 2879//122 +f 2879//122 2880//230 2892//230 +f 2880//230 2881//231 2893//231 +f 2893//231 2881//231 2882//90 +f 2882//90 2883//232 2895//232 +f 2895//232 2883//232 2884//233 +f 2884//233 2885//108 2897//108 +f 2885//108 2886//234 2898//234 +f 2898//234 2886//234 2887//235 +f 2899//235 2887//235 2888//89 +f 2888//89 2889//236 2901//236 +f 2889//236 2890//229 2902//229 +f 2898//139 2874//139 2873//29 +f 2895//140 2871//140 2870//30 +f 2902//141 2878//141 2877//40 +f 2892//136 2868//136 2867//31 +f 2899//137 2875//137 2874//139 +f 2896//138 2872//138 2871//140 +f 2891//31 2867//31 2878//141 +f 2893//39 2869//39 2868//136 +f 2900//32 2876//32 2875//137 +f 2897//29 2873//29 2872//138 +f 2894//30 2870//30 2869//39 +f 2901//40 2877//40 2876//32 +f 2915//221 2903//221 2904//228 +f 2916//228 2904//228 2905//57 +f 2918//227 2917//57 2905//57 +f 2919//226 2918//227 2906//227 +f 2919//226 2907//226 2908//38 +f 2920//38 2908//38 2909//225 +f 2921//225 2909//225 2910//224 +f 2922//224 2910//224 2911//56 +f 2924//223 2923//56 2911//56 +f 2924//223 2912//223 2913//222 +f 2925//222 2913//222 2914//37 +f 2915//221 2926//37 2914//37 +f 2928//40 2916//40 2917//32 +f 2935//30 2923//30 2924//39 +f 2932//29 2920//29 2921//138 +f 2929//32 2917//32 2918//137 +f 2936//39 2924//39 2925//136 +f 2938//31 2926//31 2915//141 +f 2933//138 2921//138 2922//140 +f 2930//137 2918//137 2919//139 +f 2937//136 2925//136 2926//31 +f 2927//141 2915//141 2916//40 +f 2934//140 2922//140 2923//30 +f 2931//139 2919//139 2920//29 +f 2517//236 2940//236 2939//229 +f 2941//89 2940//236 2517//236 +f 2515//235 2942//237 2941//89 +f 2943//234 2942//237 2515//235 +f 2944//108 2943//234 2514//234 +f 2945//233 2944//108 2513//108 +f 2946//232 2945//233 2512//233 +f 2947//90 2946//232 2511//232 +f 2509//231 2948//231 2947//90 +f 2508//230 2949//230 2948//231 +f 2950//122 2949//230 2508//230 +f 2518//229 2939//229 2950//122 +f 2522//137 2942//137 2943//139 +f 2529//136 2949//136 2950//31 +f 2519//141 2939//141 2940//40 +f 2526//140 2946//140 2947//30 +f 2523//139 2943//139 2944//29 +f 2520//40 2940//40 2941//32 +f 2527//30 2947//30 2948//39 +f 2524//29 2944//29 2945//138 +f 2521//32 2941//32 2942//137 +f 2528//39 2948//39 2949//136 +f 2530//31 2950//31 2939//141 +f 2525//138 2945//138 2946//140 +f 2989//34 3005//34 3004//44 +f 2982//47 2998//47 2997//36 +f 2990//41 3006//41 3005//34 +f 2983//30 2999//30 2998//47 +f 2991//32 3007//32 3006//41 +f 2984//49 3000//49 2999//30 +f 2992//45 3008//45 3007//32 +f 2985//35 3001//35 3000//49 +f 2993//33 3009//33 3008//45 +f 2986//42 3002//42 3001//35 +f 2994//46 3010//46 3009//33 +f 2987//29 3003//29 3002//42 +f 2980//43 2995//43 2996//31 +f 2979//31 2996//31 3010//46 +f 2988//44 3004//44 3003//29 +f 2981//36 2997//36 2995//43 +o Base +v 2.250000 0.000000 2.375000 +v -2.250000 0.000000 2.375000 +v 2.250000 0.000000 2.500000 +v -2.250000 0.000000 2.500000 +v -2.500000 0.000000 2.500000 +v -2.250000 0.000000 2.500000 +v -2.500000 0.000000 2.250000 +v -2.250000 0.000000 2.250000 +v -2.500000 0.250000 2.500000 +v -2.250000 0.250000 2.500000 +v -2.500000 0.250000 2.250000 +v -2.250000 0.250000 2.250000 +v 2.250000 0.000000 2.500000 +v 2.500000 0.000000 2.500000 +v 2.250000 0.000000 2.250000 +v 2.500000 0.000000 2.250000 +v 2.250000 0.250000 2.500000 +v 2.500000 0.250000 2.500000 +v 2.250000 0.250000 2.250000 +v 2.500000 0.250000 2.250000 +v -2.500000 0.000000 -2.250000 +v -2.250000 0.000000 -2.250000 +v -2.500000 0.000000 -2.500000 +v -2.250000 0.000000 -2.500000 +v -2.500000 0.250000 -2.250000 +v -2.250000 0.250000 -2.250000 +v -2.500000 0.250000 -2.500000 +v -2.250000 0.250000 -2.500000 +v 2.250000 0.000000 -2.250000 +v 2.500000 0.000000 -2.250000 +v 2.250000 0.000000 -2.500000 +v 2.500000 0.000000 -2.500000 +v 2.250000 0.250000 -2.250000 +v 2.500000 0.250000 -2.250000 +v 2.250000 0.250000 -2.500000 +v 2.500000 0.250000 -2.500000 +v -2.250000 0.125000 2.375000 +v 2.250000 0.125000 2.375000 +v 2.250000 0.125000 2.500000 +v -2.250000 0.125000 2.500000 +v 2.250000 0.000000 -2.375000 +v -2.250000 0.000000 -2.375000 +v -2.250000 0.000000 -2.500000 +v 2.250000 0.000000 -2.500000 +v 2.250000 0.125000 -2.375000 +v -2.250000 0.125000 -2.375000 +v -2.250000 0.125000 -2.500000 +v 2.250000 0.125000 -2.500000 +v 2.375000 0.000000 2.250000 +v 2.375000 0.000000 -2.250000 +v 2.500000 0.000000 -2.250000 +v 2.500000 0.000000 2.250000 +v 2.375000 0.125000 2.250000 +v 2.375000 0.125000 -2.250000 +v 2.500000 0.125000 -2.250000 +v 2.500000 0.125000 2.250000 +v -2.375000 0.000000 -2.250000 +v -2.375000 0.000000 2.250000 +v -2.500000 0.000000 2.250000 +v -2.500000 0.000000 -2.250000 +v -2.375000 0.125000 -2.250000 +v -2.375000 0.125000 2.250000 +v -2.500000 0.125000 2.250000 +v -2.500000 0.125000 -2.250000 +v -1.875000 0.250000 -2.500000 +v -1.875000 0.250000 2.500000 +v -2.125000 0.250000 2.500000 +v -2.125000 0.250000 -2.500000 +v -1.875000 0.125000 -2.500000 +v -2.125000 0.125000 -2.500000 +v -1.875000 0.125000 2.500000 +v -2.125000 0.125000 2.500000 +v 0.125000 0.250000 -2.500000 +v 0.125000 0.250000 2.500000 +v -0.125000 0.250000 2.500000 +v -0.125000 0.250000 -2.500000 +v 0.125000 0.125000 -2.500000 +v -0.125000 0.125000 -2.500000 +v 0.125000 0.125000 2.500000 +v -0.125000 0.125000 2.500000 +v -1.125000 0.125000 2.500000 +v -0.875000 0.125000 2.500000 +v -1.125000 0.125000 -2.500000 +v -0.875000 0.125000 -2.500000 +v -1.125000 0.250000 -2.500000 +v -1.125000 0.250000 2.500000 +v -0.875000 0.250000 2.500000 +v -0.875000 0.250000 -2.500000 +v 1.125000 0.250000 -2.500000 +v 1.125000 0.250000 2.500000 +v 0.875000 0.250000 2.500000 +v 0.875000 0.250000 -2.500000 +v 1.125000 0.125000 -2.500000 +v 0.875000 0.125000 -2.500000 +v 1.125000 0.125000 2.500000 +v 0.875000 0.125000 2.500000 +v 1.875000 0.125000 2.500000 +v 2.125000 0.125000 2.500000 +v 1.875000 0.125000 -2.500000 +v 2.125000 0.125000 -2.500000 +v 1.875000 0.250000 -2.500000 +v 1.875000 0.250000 2.500000 +v 2.125000 0.250000 2.500000 +v 2.125000 0.250000 -2.500000 +v 2.500000 0.312500 -0.187500 +v 2.500000 0.312500 0.187500 +v 2.500000 0.687500 -0.187500 +v 2.500000 0.687500 0.187500 +v 2.375000 0.625000 -0.125000 +v 2.375000 0.375000 -0.125000 +v 2.375000 0.375000 0.125000 +v 2.375000 0.625000 0.125000 +v 2.375000 0.687500 -0.187500 +v 2.375000 0.312500 -0.187500 +v 2.375000 0.312500 0.187500 +v 2.375000 0.687500 0.187500 +v 2.250000 0.625000 -0.125000 +v 2.250000 0.375000 -0.125000 +v 2.250000 0.375000 0.125000 +v 2.250000 0.625000 0.125000 +v 2.433012 0.750000 2.250000 +v 2.250000 0.750000 2.433013 +v 2.000000 0.750000 2.500000 +v 1.750000 0.750000 2.433012 +v 1.566987 0.750000 2.250000 +v 1.500000 0.750000 2.000000 +v 1.566987 0.750000 1.750000 +v 1.750000 0.750000 1.566987 +v 2.000000 0.750000 1.500000 +v 2.250000 0.750000 1.566987 +v 2.500000 0.750000 2.000000 +v 2.433013 0.750000 1.750000 +v -2.250000 0.250000 1.750000 +v -2.250000 0.250000 2.250000 +v 2.250000 0.250000 1.750000 +v 2.250000 0.250000 2.250000 +v 2.250000 0.750000 1.750000 +v -2.250000 0.750000 1.750000 +v -2.250000 0.750000 2.250000 +v 2.250000 0.750000 2.250000 +v -2.250000 0.250000 -2.250000 +v -2.250000 0.250000 -1.750000 +v 2.250000 0.250000 -2.250000 +v 2.250000 0.250000 -1.750000 +v 2.250000 0.750000 -2.250000 +v -2.250000 0.750000 -2.250000 +v -2.250000 0.750000 -1.750000 +v 2.250000 0.750000 -1.750000 +v -2.250000 0.250000 -1.250000 +v -2.250000 0.250000 1.250000 +v 2.250000 0.250000 -1.250000 +v 2.250000 0.250000 1.250000 +v 2.250000 0.750000 -1.250000 +v -2.250000 0.750000 -1.250000 +v -2.250000 0.750000 1.250000 +v 2.250000 0.750000 1.250000 +v -2.000000 0.750000 -1.000000 +v -2.000000 0.750000 1.000000 +v 2.000000 0.750000 -1.000000 +v 2.000000 0.750000 1.000000 +v 2.000000 1.750000 -1.000000 +v -2.000000 1.750000 -1.000000 +v -2.000000 1.750000 1.000000 +v 2.000000 1.750000 1.000000 +v 0.250000 1.750000 -0.750000 +v 0.250000 1.750000 0.750000 +v 1.750000 1.750000 -0.750000 +v 1.750000 1.750000 0.750000 +v 1.750000 2.000000 -0.750000 +v 0.250000 2.000000 -0.750000 +v 0.250000 2.000000 0.750000 +v 1.750000 2.000000 0.750000 +v 1.750000 2.000000 0.000000 +v 1.692910 2.000000 -0.287013 +v 1.530330 2.000000 -0.530330 +v 1.287013 2.000000 -0.692910 +v 1.000000 2.000000 -0.750000 +v 0.712987 2.000000 -0.692910 +v 0.469670 2.000000 -0.530330 +v 0.307090 2.000000 -0.287013 +v 0.250000 2.000000 0.000000 +v 0.307090 2.000000 0.287013 +v 0.469670 2.000000 0.530330 +v 0.712987 2.000000 0.692910 +v 1.000000 2.000000 0.750000 +v 1.287013 2.000000 0.692910 +v 1.530330 2.000000 0.530330 +v 1.692910 2.000000 0.287012 +v 1.622551 2.250000 0.000000 +v 1.575162 2.250000 -0.238240 +v 1.440210 2.250000 -0.440210 +v 1.238240 2.250000 -0.575162 +v 1.000000 2.250000 -0.622551 +v 0.761760 2.250000 -0.575162 +v 0.559790 2.250000 -0.440210 +v 0.424838 2.250000 -0.238240 +v 0.377449 2.250000 0.000000 +v 0.424838 2.250000 0.238240 +v 0.559790 2.250000 0.440210 +v 0.761760 2.250000 0.575162 +v 1.000000 2.250000 0.622551 +v 1.238240 2.250000 0.575162 +v 1.440210 2.250000 0.440210 +v 1.575162 2.250000 0.238240 +v 1.692910 2.250000 -0.287013 +v 1.750000 2.250000 0.000000 +v 1.530330 2.250000 -0.530330 +v 1.287013 2.250000 -0.692910 +v 1.000000 2.250000 -0.750000 +v 0.712987 2.250000 -0.692910 +v 0.469670 2.250000 -0.530330 +v 0.307090 2.250000 -0.287013 +v 0.250000 2.250000 0.000000 +v 0.307090 2.250000 0.287013 +v 0.469670 2.250000 0.530330 +v 0.712987 2.250000 0.692910 +v 1.000000 2.250000 0.750000 +v 1.287013 2.250000 0.692910 +v 1.530330 2.250000 0.530330 +v 1.692910 2.250000 0.287012 +v 1.575162 2.000000 -0.238240 +v 1.622551 2.000000 0.000000 +v 1.440210 2.000000 -0.440210 +v 1.238240 2.000000 -0.575162 +v 1.000000 2.000000 -0.622551 +v 0.761760 2.000000 -0.575162 +v 0.559790 2.000000 -0.440210 +v 0.424838 2.000000 -0.238240 +v 0.377449 2.000000 0.000000 +v 0.424838 2.000000 0.238240 +v 0.559790 2.000000 0.440210 +v 0.761760 2.000000 0.575162 +v 1.000000 2.000000 0.622551 +v 1.238240 2.000000 0.575162 +v 1.440210 2.000000 0.440210 +v 1.575162 2.000000 0.238240 +v 1.062500 2.218750 -0.625000 +v 1.062500 2.218750 0.625000 +v 1.125000 2.218750 -0.625000 +v 1.125000 2.218750 0.625000 +v 0.687600 2.218750 -0.625000 +v 0.687600 2.218750 0.625000 +v 0.750100 2.218750 -0.625000 +v 0.750100 2.218750 0.625000 +v 0.875000 2.218750 -0.625000 +v 0.875000 2.218750 0.625000 +v 0.937500 2.218750 -0.625000 +v 0.937500 2.218750 0.625000 +v 1.312500 2.218750 0.625000 +v 1.312500 2.218750 -0.625000 +v 1.250000 2.218750 0.625000 +v 1.250000 2.218750 -0.625000 +v 0.500000 2.218750 -0.500000 +v 0.500000 2.218750 0.500000 +v 0.562500 2.218750 -0.500000 +v 0.562500 2.218750 0.500000 +v 1.437500 2.218750 -0.500000 +v 1.437500 2.218750 0.500000 +v 1.500000 2.218750 -0.500000 +v 1.500000 2.218750 0.500000 +v -1.750000 1.750000 -0.750000 +v -1.750000 1.750000 0.750000 +v -0.250000 1.750000 -0.750000 +v -0.250000 1.750000 0.750000 +v -0.250000 2.000000 -0.750000 +v -1.750000 2.000000 -0.750000 +v -1.750000 2.000000 0.750000 +v -0.250000 2.000000 0.750000 +v -1.440210 2.250000 0.440210 +v -1.575162 2.250000 0.238240 +v -1.622551 2.250000 -0.000000 +v -1.575162 2.250000 -0.238240 +v -1.440210 2.250000 -0.440210 +v -1.238240 2.250000 -0.575162 +v -1.000000 2.250000 -0.622551 +v -0.761760 2.250000 -0.575162 +v -0.559790 2.250000 -0.440210 +v -0.424838 2.250000 -0.238240 +v -0.377449 2.250000 -0.000000 +v -0.307090 2.000000 0.287012 +v -0.469670 2.000000 0.530330 +v -0.712987 2.000000 0.692910 +v -1.000000 2.000000 0.750000 +v -1.287013 2.000000 0.692910 +v -1.530330 2.000000 0.530330 +v -1.692910 2.000000 0.287013 +v -1.750000 2.000000 -0.000000 +v -1.692910 2.000000 -0.287013 +v -1.530330 2.000000 -0.530330 +v -1.287013 2.000000 -0.692910 +v -1.000000 2.000000 -0.750000 +v -0.712987 2.000000 -0.692910 +v -0.469670 2.000000 -0.530330 +v -0.307090 2.000000 -0.287013 +v -0.250000 2.000000 -0.000000 +v -0.937500 2.218750 -0.625000 +v -0.937500 2.218750 0.625000 +v -0.875000 2.218750 -0.625000 +v -0.875000 2.218750 0.625000 +v -0.750000 2.218750 -0.625000 +v -0.750000 2.218750 0.625000 +v -0.687500 2.218750 -0.625000 +v -0.687500 2.218750 0.625000 +v -1.125000 2.218750 -0.625000 +v -1.125000 2.218750 0.625000 +v -1.062500 2.218750 -0.625000 +v -1.062500 2.218750 0.625000 +v -1.249900 2.218750 0.625000 +v -1.249900 2.218750 -0.625000 +v -1.312400 2.218750 0.625000 +v -1.312400 2.218750 -0.625000 +v -1.500000 2.218750 -0.500000 +v -1.500000 2.218750 0.500000 +v -1.437500 2.218750 -0.500000 +v -1.437500 2.218750 0.500000 +v -0.562500 2.218750 -0.500000 +v -0.562500 2.218750 0.500000 +v -0.500000 2.218750 -0.500000 +v -0.500000 2.218750 0.500000 +v 1.750000 2.000000 0.500000 +v 1.750000 1.963388 0.411612 +v 1.750000 1.875000 0.375000 +v 1.750000 1.786612 0.411612 +v 1.750000 1.750000 0.500000 +v 1.750000 1.786612 0.588389 +v 1.750000 1.875000 0.625000 +v 1.750000 1.963388 0.588389 +v 2.000000 2.000000 0.500000 +v 2.000000 1.963388 0.411612 +v 2.000000 1.875000 0.375000 +v 2.000000 1.786612 0.411612 +v 2.000000 1.750000 0.500000 +v 2.000000 1.786612 0.588389 +v 2.000000 1.875000 0.625000 +v 2.000000 1.963388 0.588389 +v 2.176777 1.926777 0.500000 +v 2.150888 1.900888 0.411612 +v 2.088388 1.838388 0.375000 +v 2.025888 1.775888 0.411612 +v 2.025888 1.775888 0.588389 +v 2.088388 1.838388 0.625000 +v 2.150888 1.900888 0.588389 +v 2.250000 1.750000 0.500000 +v 2.213388 1.750000 0.411612 +v 2.125000 1.750000 0.375000 +v 2.036612 1.750000 0.411612 +v 2.036612 1.750000 0.588389 +v 2.125000 1.750000 0.625000 +v 2.213388 1.750000 0.588389 +v 2.000000 0.750000 0.500000 +v 2.250000 0.750000 0.500000 +v 2.213388 0.750000 0.411612 +v 2.125000 0.750000 0.375000 +v 2.036612 0.750000 0.411612 +v 2.036612 0.750000 0.588389 +v 2.125000 0.750000 0.625000 +v 2.213388 0.750000 0.588389 +v 0.250000 2.000000 0.500000 +v 0.250000 1.963388 0.411612 +v 0.250000 1.875000 0.375000 +v 0.250000 1.786612 0.411612 +v 0.250000 1.750000 0.500000 +v 0.250000 1.786612 0.588388 +v 0.250000 1.875000 0.625000 +v 0.250000 1.963388 0.588388 +v -0.250000 2.000000 0.500000 +v -0.250000 1.963388 0.411612 +v -0.250000 1.875000 0.375000 +v -0.250000 1.786612 0.411612 +v -0.250000 1.750000 0.500000 +v -0.250000 1.786612 0.588388 +v -0.250000 1.875000 0.625000 +v -0.250000 1.963388 0.588388 +v 1.750000 2.500000 1.750000 +v 1.750000 2.500000 2.250000 +v 2.250000 2.500000 1.750000 +v 2.250000 2.500000 2.250000 +v 2.250000 2.750000 1.750000 +v 1.750000 2.750000 1.750000 +v 1.750000 2.750000 2.250000 +v 2.250000 2.750000 2.250000 +v 2.125000 2.750000 1.750000 +v 2.036612 2.713388 1.750000 +v 2.000000 2.625000 1.750000 +v 2.036612 2.536612 1.750000 +v 2.125000 2.500000 1.750000 +v 2.213388 2.536612 1.750000 +v 2.250000 2.625000 1.750000 +v 2.213388 2.713388 1.750000 +v 2.125000 2.750000 -1.750000 +v 2.036612 2.713388 -1.750000 +v 2.000000 2.625000 -1.750000 +v 2.036612 2.536612 -1.750000 +v 2.125000 2.500000 -1.750000 +v 2.213388 2.536612 -1.750000 +v 2.250000 2.625000 -1.750000 +v 2.213388 2.713388 -1.750000 +v 1.250000 2.625000 1.750000 +v 1.213388 2.713388 1.750000 +v 1.125000 2.750000 1.750000 +v 1.036611 2.713388 1.750000 +v 1.000000 2.625000 1.750000 +v 1.036611 2.536612 1.750000 +v 1.125000 2.500000 1.750000 +v 1.213388 2.536612 1.750000 +v 1.250000 2.625000 1.000000 +v 1.213388 2.713388 1.000000 +v 1.125000 2.750000 1.000000 +v 1.036612 2.713388 1.000000 +v 1.000000 2.625000 1.000000 +v 1.036612 2.536612 1.000000 +v 1.125000 2.500000 1.000000 +v 1.213388 2.536612 1.000000 +v 1.176776 2.625000 0.823223 +v 1.150888 2.713388 0.849112 +v 1.088388 2.750000 0.911612 +v 1.025888 2.713388 0.974112 +v 1.025888 2.536612 0.974112 +v 1.088388 2.500000 0.911612 +v 1.150888 2.536612 0.849112 +v -0.750000 2.625000 -1.250000 +v -0.926777 2.625000 -1.073223 +v -0.775888 2.713388 -1.224112 +v -0.838388 2.750000 -1.161612 +v -0.900888 2.713388 -1.099112 +v -0.900888 2.536612 -1.099112 +v -0.838388 2.500000 -1.161612 +v -0.775888 2.536612 -1.224112 +v -1.000000 2.625000 -1.250000 +v -0.786611 2.713388 -1.250000 +v -0.875000 2.750000 -1.250000 +v -0.963388 2.713388 -1.250000 +v -0.963388 2.536612 -1.250000 +v -0.875000 2.500000 -1.250000 +v -0.786611 2.536612 -1.250000 +v -0.750000 2.625000 -1.750000 +v -1.000000 2.625000 -1.750000 +v -0.786611 2.713388 -1.750000 +v -0.875000 2.750000 -1.750000 +v -0.963388 2.713388 -1.750000 +v -0.963388 2.536612 -1.750000 +v -0.875000 2.500000 -1.750000 +v -0.786611 2.536612 -1.750000 +v 1.000000 2.625000 1.750000 +v 0.963388 2.713388 1.750000 +v 0.875000 2.750000 1.750000 +v 0.786611 2.713388 1.750000 +v 0.750000 2.625000 1.750000 +v 0.786611 2.536612 1.750000 +v 0.875000 2.500000 1.750000 +v 0.963388 2.536612 1.750000 +v 1.000000 2.625000 1.250000 +v 0.963388 2.713388 1.250000 +v 0.875000 2.750000 1.250000 +v 0.786611 2.713388 1.250000 +v 0.750000 2.625000 1.250000 +v 0.786611 2.536612 1.250000 +v 0.875000 2.500000 1.250000 +v 0.963388 2.536612 1.250000 +v 0.926776 2.625000 1.073223 +v 0.900888 2.713388 1.099112 +v 0.838388 2.750000 1.161612 +v 0.775888 2.713388 1.224112 +v 0.775888 2.536612 1.224112 +v 0.838388 2.500000 1.161612 +v 0.900888 2.536612 1.099112 +v -1.000000 2.625000 -1.000000 +v -1.176777 2.625000 -0.823223 +v -1.025888 2.713388 -0.974112 +v -1.088388 2.750000 -0.911612 +v -1.150888 2.713388 -0.849112 +v -1.150888 2.536612 -0.849112 +v -1.088388 2.500000 -0.911612 +v -1.025888 2.536612 -0.974112 +v -1.250000 2.625000 -1.000000 +v -1.036612 2.713388 -1.000000 +v -1.125000 2.750000 -1.000000 +v -1.213388 2.713388 -1.000000 +v -1.213388 2.536612 -1.000000 +v -1.125000 2.500000 -1.000000 +v -1.036612 2.536612 -1.000000 +v -1.000000 2.625000 -1.750000 +v -1.250000 2.625000 -1.750000 +v -1.036611 2.713388 -1.750000 +v -1.125000 2.750000 -1.750000 +v -1.213388 2.713388 -1.750000 +v -1.213388 2.536612 -1.750000 +v -1.125000 2.500000 -1.750000 +v -1.036611 2.536612 -1.750000 +v -0.125000 2.750000 1.750000 +v -0.213388 2.713388 1.750000 +v -0.250000 2.625000 1.750000 +v -0.213388 2.536612 1.750000 +v -0.125000 2.500000 1.750000 +v -0.036612 2.536612 1.750000 +v -0.000000 2.625000 1.750000 +v -0.036612 2.713388 1.750000 +v -0.125000 2.750000 1.375000 +v -0.213388 2.713388 1.375000 +v -0.250000 2.625000 1.375000 +v -0.213388 2.536612 1.375000 +v -0.125000 2.500000 1.375000 +v -0.036612 2.536612 1.375000 +v -0.000000 2.625000 1.375000 +v -0.036612 2.713388 1.375000 +v -0.125000 2.676776 1.198223 +v -0.213389 2.650888 1.224112 +v -0.250000 2.588388 1.286612 +v -0.213388 2.525888 1.349112 +v -0.036612 2.525888 1.349112 +v -0.000000 2.588388 1.286612 +v -0.036612 2.650888 1.224112 +v -0.125000 2.500000 1.125000 +v -0.213388 2.500000 1.161612 +v -0.250000 2.500000 1.250000 +v -0.213388 2.500000 1.338388 +v -0.036612 2.500000 1.338388 +v -0.000000 2.500000 1.250000 +v -0.036612 2.500000 1.161612 +v -0.125000 1.000000 1.375000 +v -0.125000 1.000000 1.125000 +v -0.213388 1.000000 1.161612 +v -0.250000 1.000000 1.250000 +v -0.213388 1.000000 1.338388 +v -0.036612 1.000000 1.338388 +v -0.000000 1.000000 1.250000 +v -0.036612 1.000000 1.161612 +v -0.125000 0.823223 1.301777 +v -0.213388 0.974112 1.150888 +v -0.250000 0.911612 1.213388 +v -0.213388 0.849112 1.275888 +v -0.036612 0.849112 1.275888 +v -0.000000 0.911612 1.213388 +v -0.036612 0.974112 1.150888 +v -0.125000 0.750000 1.125000 +v -0.213388 0.963388 1.125000 +v -0.250000 0.875000 1.125000 +v -0.213388 0.786612 1.125000 +v -0.036612 0.786612 1.125000 +v -0.000000 0.875000 1.125000 +v -0.036612 0.963388 1.125000 +v -0.125000 1.000000 1.000000 +v -0.125000 0.750000 1.000000 +v -0.213388 0.963388 1.000000 +v -0.250000 0.875000 1.000000 +v -0.213388 0.786612 1.000000 +v -0.036612 0.786612 1.000000 +v -0.000000 0.875000 1.000000 +v -0.036612 0.963388 1.000000 +v 0.125000 2.750000 1.750000 +v 0.036612 2.713388 1.750000 +v -0.000000 2.625000 1.750000 +v 0.036612 2.536612 1.750000 +v 0.125000 2.500000 1.750000 +v 0.213388 2.536612 1.750000 +v 0.250000 2.625000 1.750000 +v 0.213388 2.713388 1.750000 +v 0.125000 2.750000 1.375000 +v 0.036612 2.713388 1.375000 +v -0.000000 2.625000 1.375000 +v 0.036612 2.536612 1.375000 +v 0.125000 2.500000 1.375000 +v 0.213388 2.536612 1.375000 +v 0.250000 2.625000 1.375000 +v 0.213388 2.713388 1.375000 +v 0.125000 2.676776 1.198223 +v 0.036612 2.650888 1.224112 +v -0.000000 2.588388 1.286612 +v 0.036612 2.525888 1.349112 +v 0.213388 2.525888 1.349112 +v 0.250000 2.588388 1.286612 +v 0.213388 2.650888 1.224112 +v 0.125000 2.500000 1.125000 +v 0.036612 2.500000 1.161612 +v -0.000000 2.500000 1.250000 +v 0.036612 2.500000 1.338388 +v 0.213388 2.500000 1.338388 +v 0.250000 2.500000 1.250000 +v 0.213388 2.500000 1.161612 +v 0.125000 1.000000 1.375000 +v 0.125000 1.000000 1.125000 +v 0.036612 1.000000 1.161612 +v -0.000000 1.000000 1.250000 +v 0.036612 1.000000 1.338388 +v 0.213388 1.000000 1.338388 +v 0.250000 1.000000 1.250000 +v 0.213388 1.000000 1.161612 +v 0.125000 0.823223 1.301777 +v 0.036612 0.974112 1.150888 +v -0.000000 0.911612 1.213388 +v 0.036612 0.849112 1.275888 +v 0.213388 0.849112 1.275888 +v 0.250000 0.911612 1.213388 +v 0.213388 0.974112 1.150888 +v 0.125000 0.750000 1.125000 +v 0.036612 0.963388 1.125000 +v -0.000000 0.875000 1.125000 +v 0.036612 0.786612 1.125000 +v 0.213388 0.786612 1.125000 +v 0.250000 0.875000 1.125000 +v 0.213388 0.963388 1.125000 +v 0.125000 1.000000 1.000000 +v 0.125000 0.750000 1.000000 +v 0.036612 0.963388 1.000000 +v -0.000000 0.875000 1.000000 +v 0.036612 0.786612 1.000000 +v 0.213388 0.786612 1.000000 +v 0.250000 0.875000 1.000000 +v 0.213388 0.963388 1.000000 +v 2.088388 0.411612 1.750000 +v 2.000000 0.375000 1.750000 +v 1.911612 0.411612 1.750000 +v 1.875000 0.500000 1.750000 +v 1.911612 0.588388 1.750000 +v 2.000000 0.625000 1.750000 +v 2.088388 0.588388 1.750000 +v 2.125000 0.500000 1.750000 +v 2.088388 0.411612 1.250000 +v 2.000000 0.375000 1.250000 +v 1.911612 0.411612 1.250000 +v 1.875000 0.500000 1.250000 +v 1.911612 0.588388 1.250000 +v 2.000000 0.625000 1.250000 +v 2.088388 0.588388 1.250000 +v 2.125000 0.500000 1.250000 +v 1.812500 2.750000 1.812500 +v 1.812500 2.750000 2.187500 +v 2.187500 2.750000 1.812500 +v 2.187500 2.750000 2.187500 +v 2.187500 3.000000 1.812500 +v 1.812500 3.000000 1.812500 +v 1.812500 3.000000 2.187500 +v 2.187500 3.000000 2.187500 +v 2.500000 2.500000 2.000000 +v 2.433013 2.500000 1.750000 +v 2.250000 2.500000 1.566987 +v 2.000000 2.500000 1.500000 +v 1.750000 2.500000 1.566987 +v 1.566987 2.500000 1.750000 +v 1.500000 2.500000 2.000000 +v 1.566987 2.500000 2.250000 +v 1.750000 2.500000 2.433012 +v 2.000000 2.500000 2.500000 +v 2.250000 2.500000 2.433013 +v 2.433012 2.500000 2.250000 +v 1.750000 2.000000 0.250000 +v 1.750000 1.963388 0.161612 +v 1.750000 1.875000 0.125000 +v 1.750000 1.786612 0.161612 +v 1.750000 1.750000 0.250000 +v 1.750000 1.786612 0.338389 +v 1.750000 1.875000 0.375000 +v 1.750000 1.963388 0.338389 +v 2.000000 2.000000 0.250000 +v 2.000000 1.963388 0.161612 +v 2.000000 1.875000 0.125000 +v 2.000000 1.786612 0.161612 +v 2.000000 1.750000 0.250000 +v 2.000000 1.786612 0.338389 +v 2.000000 1.875000 0.375000 +v 2.000000 1.963388 0.338389 +v 2.176777 1.926777 0.250000 +v 2.150888 1.900888 0.161612 +v 2.088388 1.838388 0.125000 +v 2.025888 1.775888 0.161612 +v 2.025888 1.775888 0.338389 +v 2.088388 1.838388 0.375000 +v 2.150888 1.900888 0.338389 +v 2.250000 1.750000 0.250000 +v 2.213388 1.750000 0.161612 +v 2.125000 1.750000 0.125000 +v 2.036612 1.750000 0.161612 +v 2.036612 1.750000 0.338389 +v 2.125000 1.750000 0.375000 +v 2.213388 1.750000 0.338389 +v 2.000000 0.750000 0.250000 +v 2.250000 0.750000 0.250000 +v 2.213388 0.750000 0.161612 +v 2.125000 0.750000 0.125000 +v 2.036612 0.750000 0.161612 +v 2.036612 0.750000 0.338389 +v 2.125000 0.750000 0.375000 +v 2.213388 0.750000 0.338389 +v 1.750000 2.000000 0.000000 +v 1.750000 1.963388 -0.088388 +v 1.750000 1.875000 -0.125000 +v 1.750000 1.786612 -0.088388 +v 1.750000 1.750000 0.000000 +v 1.750000 1.786612 0.088389 +v 1.750000 1.875000 0.125000 +v 1.750000 1.963388 0.088389 +v 2.000000 2.000000 0.000000 +v 2.000000 1.963388 -0.088388 +v 2.000000 1.875000 -0.125000 +v 2.000000 1.786612 -0.088388 +v 2.000000 1.750000 0.000000 +v 2.000000 1.786612 0.088389 +v 2.000000 1.875000 0.125000 +v 2.000000 1.963388 0.088389 +v 2.176777 1.926777 0.000000 +v 2.150888 1.900888 -0.088388 +v 2.088388 1.838388 -0.125000 +v 2.025888 1.775888 -0.088388 +v 2.025888 1.775888 0.088389 +v 2.088388 1.838388 0.125000 +v 2.150888 1.900888 0.088389 +v 2.250000 1.750000 0.000000 +v 2.213388 1.750000 -0.088388 +v 2.125000 1.750000 -0.125000 +v 2.036612 1.750000 -0.088388 +v 2.036612 1.750000 0.088389 +v 2.125000 1.750000 0.125000 +v 2.213388 1.750000 0.088389 +v 2.000000 0.750000 0.000000 +v 2.250000 0.750000 0.000000 +v 2.213388 0.750000 -0.088388 +v 2.125000 0.750000 -0.125000 +v 2.036612 0.750000 -0.088388 +v 2.036612 0.750000 0.088389 +v 2.125000 0.750000 0.125000 +v 2.213388 0.750000 0.088389 +v 1.750000 2.000000 -0.250000 +v 1.750000 1.963388 -0.338388 +v 1.750000 1.875000 -0.375000 +v 1.750000 1.786612 -0.338388 +v 1.750000 1.750000 -0.250000 +v 1.750000 1.786612 -0.161611 +v 1.750000 1.875000 -0.125000 +v 1.750000 1.963388 -0.161611 +v 2.000000 2.000000 -0.250000 +v 2.000000 1.963388 -0.338388 +v 2.000000 1.875000 -0.375000 +v 2.000000 1.786612 -0.338388 +v 2.000000 1.750000 -0.250000 +v 2.000000 1.786612 -0.161611 +v 2.000000 1.875000 -0.125000 +v 2.000000 1.963388 -0.161611 +v 2.176777 1.926777 -0.250000 +v 2.150888 1.900888 -0.338388 +v 2.088388 1.838388 -0.375000 +v 2.025888 1.775888 -0.338388 +v 2.025888 1.775888 -0.161611 +v 2.088388 1.838388 -0.125000 +v 2.150888 1.900888 -0.161611 +v 2.250000 1.750000 -0.250000 +v 2.213388 1.750000 -0.338388 +v 2.125000 1.750000 -0.375000 +v 2.036612 1.750000 -0.338388 +v 2.036612 1.750000 -0.161611 +v 2.125000 1.750000 -0.125000 +v 2.213388 1.750000 -0.161611 +v 2.000000 0.750000 -0.250000 +v 2.250000 0.750000 -0.250000 +v 2.213388 0.750000 -0.338388 +v 2.125000 0.750000 -0.375000 +v 2.036612 0.750000 -0.338388 +v 2.036612 0.750000 -0.161611 +v 2.125000 0.750000 -0.125000 +v 2.213388 0.750000 -0.161611 +v 1.750000 2.000000 -0.500000 +v 1.750000 1.963388 -0.588388 +v 1.750000 1.875000 -0.625000 +v 1.750000 1.786612 -0.588388 +v 1.750000 1.750000 -0.500000 +v 1.750000 1.786612 -0.411611 +v 1.750000 1.875000 -0.375000 +v 1.750000 1.963388 -0.411611 +v 2.000000 2.000000 -0.500000 +v 2.000000 1.963388 -0.588388 +v 2.000000 1.875000 -0.625000 +v 2.000000 1.786612 -0.588388 +v 2.000000 1.750000 -0.500000 +v 2.000000 1.786612 -0.411611 +v 2.000000 1.875000 -0.375000 +v 2.000000 1.963388 -0.411611 +v 2.176777 1.926777 -0.500000 +v 2.150888 1.900888 -0.588388 +v 2.088388 1.838388 -0.625000 +v 2.025888 1.775888 -0.588388 +v 2.025888 1.775888 -0.411611 +v 2.088388 1.838388 -0.375000 +v 2.150888 1.900888 -0.411611 +v 2.250000 1.750000 -0.500000 +v 2.213388 1.750000 -0.588388 +v 2.125000 1.750000 -0.625000 +v 2.036612 1.750000 -0.588388 +v 2.036612 1.750000 -0.411611 +v 2.125000 1.750000 -0.375000 +v 2.213388 1.750000 -0.411611 +v 2.000000 0.750000 -0.500000 +v 2.250000 0.750000 -0.500000 +v 2.213388 0.750000 -0.588388 +v 2.125000 0.750000 -0.625000 +v 2.036612 0.750000 -0.588388 +v 2.036612 0.750000 -0.411611 +v 2.125000 0.750000 -0.375000 +v 2.213388 0.750000 -0.411611 +v -1.750000 2.000000 -0.500000 +v -1.750000 1.963388 -0.411612 +v -1.750000 1.875000 -0.375000 +v -1.750000 1.786612 -0.411612 +v -1.750000 1.750000 -0.500000 +v -1.750000 1.786612 -0.588388 +v -1.750000 1.875000 -0.625000 +v -1.750000 1.963388 -0.588388 +v -2.000000 2.000000 -0.500000 +v -2.000000 1.963388 -0.411611 +v -2.000000 1.875000 -0.375000 +v -2.000000 1.786612 -0.411611 +v -2.000000 1.750000 -0.500000 +v -2.000000 1.786612 -0.588388 +v -2.000000 1.875000 -0.625000 +v -2.000000 1.963388 -0.588388 +v -2.176777 1.926777 -0.500000 +v -2.150888 1.900888 -0.411611 +v -2.088388 1.838388 -0.375000 +v -2.025888 1.775888 -0.411611 +v -2.025888 1.775888 -0.588388 +v -2.088388 1.838388 -0.625000 +v -2.150888 1.900888 -0.588388 +v -2.250000 1.750000 -0.500000 +v -2.213388 1.750000 -0.411611 +v -2.125000 1.750000 -0.375000 +v -2.036612 1.750000 -0.411611 +v -2.036612 1.750000 -0.588388 +v -2.125000 1.750000 -0.625000 +v -2.213388 1.750000 -0.588388 +v -2.000000 0.750000 -0.500000 +v -2.250000 0.750000 -0.500000 +v -2.213388 0.750000 -0.411611 +v -2.125000 0.750000 -0.375000 +v -2.036612 0.750000 -0.411611 +v -2.036612 0.750000 -0.588388 +v -2.125000 0.750000 -0.625000 +v -2.213388 0.750000 -0.588388 +v -1.750000 2.000000 -0.250000 +v -1.750000 1.963388 -0.161611 +v -1.750000 1.875000 -0.125000 +v -1.750000 1.786612 -0.161611 +v -1.750000 1.750000 -0.250000 +v -1.750000 1.786612 -0.338388 +v -1.750000 1.875000 -0.375000 +v -1.750000 1.963388 -0.338388 +v -2.000000 2.000000 -0.250000 +v -2.000000 1.963388 -0.161611 +v -2.000000 1.875000 -0.125000 +v -2.000000 1.786612 -0.161611 +v -2.000000 1.750000 -0.250000 +v -2.000000 1.786612 -0.338388 +v -2.000000 1.875000 -0.375000 +v -2.000000 1.963388 -0.338388 +v -2.176777 1.926777 -0.250000 +v -2.150888 1.900888 -0.161611 +v -2.088388 1.838388 -0.125000 +v -2.025888 1.775888 -0.161611 +v -2.025888 1.775888 -0.338388 +v -2.088388 1.838388 -0.375000 +v -2.150888 1.900888 -0.338388 +v -2.250000 1.750000 -0.250000 +v -2.213388 1.750000 -0.161611 +v -2.125000 1.750000 -0.125000 +v -2.036612 1.750000 -0.161611 +v -2.036612 1.750000 -0.338388 +v -2.125000 1.750000 -0.375000 +v -2.213388 1.750000 -0.338388 +v -2.000000 0.750000 -0.250000 +v -2.250000 0.750000 -0.250000 +v -2.213388 0.750000 -0.161611 +v -2.125000 0.750000 -0.125000 +v -2.036612 0.750000 -0.161611 +v -2.036612 0.750000 -0.338388 +v -2.125000 0.750000 -0.375000 +v -2.213388 0.750000 -0.338388 +v -1.750000 2.000000 0.000000 +v -1.750000 1.963388 0.088389 +v -1.750000 1.875000 0.125000 +v -1.750000 1.786612 0.088389 +v -1.750000 1.750000 0.000000 +v -1.750000 1.786612 -0.088388 +v -1.750000 1.875000 -0.125000 +v -1.750000 1.963388 -0.088388 +v -2.000000 2.000000 0.000000 +v -2.000000 1.963388 0.088389 +v -2.000000 1.875000 0.125000 +v -2.000000 1.786612 0.088389 +v -2.000000 1.750000 0.000000 +v -2.000000 1.786612 -0.088388 +v -2.000000 1.875000 -0.125000 +v -2.000000 1.963388 -0.088388 +v -2.176777 1.926777 0.000000 +v -2.150888 1.900888 0.088389 +v -2.088388 1.838388 0.125000 +v -2.025888 1.775888 0.088389 +v -2.025888 1.775888 -0.088388 +v -2.088388 1.838388 -0.125000 +v -2.150888 1.900888 -0.088388 +v -2.250000 1.750000 0.000000 +v -2.213388 1.750000 0.088389 +v -2.125000 1.750000 0.125000 +v -2.036612 1.750000 0.088389 +v -2.036612 1.750000 -0.088388 +v -2.125000 1.750000 -0.125000 +v -2.213388 1.750000 -0.088388 +v -2.000000 0.750000 0.000000 +v -2.250000 0.750000 0.000000 +v -2.213388 0.750000 0.088389 +v -2.125000 0.750000 0.125000 +v -2.036612 0.750000 0.088389 +v -2.036612 0.750000 -0.088388 +v -2.125000 0.750000 -0.125000 +v -2.213388 0.750000 -0.088388 +v -1.750000 2.000000 0.250000 +v -1.750000 1.963388 0.338388 +v -1.750000 1.875000 0.375000 +v -1.750000 1.786612 0.338388 +v -1.750000 1.750000 0.250000 +v -1.750000 1.786612 0.161612 +v -1.750000 1.875000 0.125000 +v -1.750000 1.963388 0.161612 +v -2.000000 2.000000 0.250000 +v -2.000000 1.963388 0.338389 +v -2.000000 1.875000 0.375000 +v -2.000000 1.786612 0.338389 +v -2.000000 1.750000 0.250000 +v -2.000000 1.786612 0.161612 +v -2.000000 1.875000 0.125000 +v -2.000000 1.963388 0.161612 +v -2.176777 1.926777 0.250000 +v -2.150888 1.900888 0.338389 +v -2.088388 1.838388 0.375000 +v -2.025888 1.775888 0.338389 +v -2.025888 1.775888 0.161612 +v -2.088388 1.838388 0.125000 +v -2.150888 1.900888 0.161612 +v -2.250000 1.750000 0.250000 +v -2.213388 1.750000 0.338389 +v -2.125000 1.750000 0.375000 +v -2.036612 1.750000 0.338389 +v -2.036612 1.750000 0.161612 +v -2.125000 1.750000 0.125000 +v -2.213388 1.750000 0.161612 +v -2.000000 0.750000 0.250000 +v -2.250000 0.750000 0.250000 +v -2.213388 0.750000 0.338389 +v -2.125000 0.750000 0.375000 +v -2.036612 0.750000 0.338389 +v -2.036612 0.750000 0.161612 +v -2.125000 0.750000 0.125000 +v -2.213388 0.750000 0.161612 +v -1.750000 2.000000 0.500000 +v -1.750000 1.963388 0.588389 +v -1.750000 1.875000 0.625000 +v -1.750000 1.786612 0.588389 +v -1.750000 1.750000 0.500000 +v -1.750000 1.786612 0.411612 +v -1.750000 1.875000 0.375000 +v -1.750000 1.963388 0.411612 +v -2.000000 2.000000 0.500000 +v -2.000000 1.963388 0.588389 +v -2.000000 1.875000 0.625000 +v -2.000000 1.786612 0.588389 +v -2.000000 1.750000 0.500000 +v -2.000000 1.786612 0.411612 +v -2.000000 1.875000 0.375000 +v -2.000000 1.963388 0.411612 +v -2.176777 1.926777 0.500000 +v -2.150888 1.900888 0.588389 +v -2.088388 1.838388 0.625000 +v -2.025888 1.775888 0.588389 +v -2.025888 1.775888 0.411612 +v -2.088388 1.838388 0.375000 +v -2.150888 1.900888 0.411612 +v -2.250000 1.750000 0.500000 +v -2.213388 1.750000 0.588389 +v -2.125000 1.750000 0.625000 +v -2.036612 1.750000 0.588389 +v -2.036612 1.750000 0.411612 +v -2.125000 1.750000 0.375000 +v -2.213388 1.750000 0.411612 +v -2.000000 0.750000 0.500000 +v -2.250000 0.750000 0.500000 +v -2.213388 0.750000 0.588389 +v -2.125000 0.750000 0.625000 +v -2.036612 0.750000 0.588389 +v -2.036612 0.750000 0.411612 +v -2.125000 0.750000 0.375000 +v -2.213388 0.750000 0.411612 +v 0.250000 2.000000 0.250000 +v 0.250000 1.963388 0.161612 +v 0.250000 1.875000 0.125000 +v 0.250000 1.786612 0.161612 +v 0.250000 1.750000 0.250000 +v 0.250000 1.786612 0.338388 +v 0.250000 1.875000 0.375000 +v 0.250000 1.963388 0.338388 +v -0.250000 2.000000 0.250000 +v -0.250000 1.963388 0.161612 +v -0.250000 1.875000 0.125000 +v -0.250000 1.786612 0.161612 +v -0.250000 1.750000 0.250000 +v -0.250000 1.786612 0.338388 +v -0.250000 1.875000 0.375000 +v -0.250000 1.963388 0.338388 +v 0.250000 2.000000 0.000000 +v 0.250000 1.963388 -0.088388 +v 0.250000 1.875000 -0.125000 +v 0.250000 1.786612 -0.088388 +v 0.250000 1.750000 0.000000 +v 0.250000 1.786612 0.088388 +v 0.250000 1.875000 0.125000 +v 0.250000 1.963388 0.088388 +v -0.250000 2.000000 -0.000000 +v -0.250000 1.963388 -0.088388 +v -0.250000 1.875000 -0.125000 +v -0.250000 1.786612 -0.088388 +v -0.250000 1.750000 -0.000000 +v -0.250000 1.786612 0.088388 +v -0.250000 1.875000 0.125000 +v -0.250000 1.963388 0.088388 +v 0.250000 2.000000 -0.250000 +v 0.250000 1.963388 -0.338388 +v 0.250000 1.875000 -0.375000 +v 0.250000 1.786612 -0.338388 +v 0.250000 1.750000 -0.250000 +v 0.250000 1.786612 -0.161612 +v 0.250000 1.875000 -0.125000 +v 0.250000 1.963388 -0.161612 +v -0.250000 2.000000 -0.250000 +v -0.250000 1.963388 -0.338388 +v -0.250000 1.875000 -0.375000 +v -0.250000 1.786612 -0.338388 +v -0.250000 1.750000 -0.250000 +v -0.250000 1.786612 -0.161612 +v -0.250000 1.875000 -0.125000 +v -0.250000 1.963388 -0.161612 +v 0.250000 2.000000 -0.500000 +v 0.250000 1.963388 -0.588388 +v 0.250000 1.875000 -0.625000 +v 0.250000 1.786612 -0.588388 +v 0.250000 1.750000 -0.500000 +v 0.250000 1.786612 -0.411612 +v 0.250000 1.875000 -0.375000 +v 0.250000 1.963388 -0.411612 +v -0.250000 2.000000 -0.500000 +v -0.250000 1.963388 -0.588388 +v -0.250000 1.875000 -0.625000 +v -0.250000 1.786612 -0.588388 +v -0.250000 1.750000 -0.500000 +v -0.250000 1.786612 -0.411612 +v -0.250000 1.875000 -0.375000 +v -0.250000 1.963388 -0.411612 +v -1.238240 2.250000 0.575162 +v -1.000000 2.250000 0.622551 +v -0.761760 2.250000 0.575162 +v -0.559790 2.250000 0.440210 +v -0.424838 2.250000 0.238240 +v -0.307090 2.250000 -0.287013 +v -0.250000 2.250000 -0.000000 +v -0.469670 2.250000 -0.530330 +v -0.712987 2.250000 -0.692910 +v -1.000000 2.250000 -0.750000 +v -1.287013 2.250000 -0.692910 +v -1.530330 2.250000 -0.530330 +v -1.692910 2.250000 -0.287013 +v -1.750000 2.250000 -0.000000 +v -1.692910 2.250000 0.287013 +v -1.530330 2.250000 0.530330 +v -1.287013 2.250000 0.692910 +v -1.000000 2.250000 0.750000 +v -0.712987 2.250000 0.692910 +v -0.469670 2.250000 0.530330 +v -0.307090 2.250000 0.287012 +v -0.424838 2.000000 -0.238240 +v -0.377449 2.000000 -0.000000 +v -0.559790 2.000000 -0.440210 +v -0.761760 2.000000 -0.575162 +v -1.000000 2.000000 -0.622551 +v -1.238240 2.000000 -0.575162 +v -1.440210 2.000000 -0.440210 +v -1.575162 2.000000 -0.238240 +v -1.622551 2.000000 -0.000000 +v -1.575162 2.000000 0.238240 +v -1.440210 2.000000 0.440210 +v -1.238240 2.000000 0.575162 +v -1.000000 2.000000 0.622551 +v -0.761760 2.000000 0.575162 +v -0.559790 2.000000 0.440210 +v -0.424838 2.000000 0.238240 +v 1.433012 0.750000 2.250000 +v 1.250000 0.750000 2.433013 +v 1.000000 0.750000 2.500000 +v 0.750000 0.750000 2.433012 +v 0.566987 0.750000 2.250000 +v 0.500000 0.750000 2.000000 +v 0.566987 0.750000 1.750000 +v 0.750000 0.750000 1.566987 +v 1.000000 0.750000 1.500000 +v 1.250000 0.750000 1.566987 +v 1.500000 0.750000 2.000000 +v 1.433013 0.750000 1.750000 +v 1.500000 2.500000 2.000000 +v 1.433013 2.500000 1.750000 +v 1.250000 2.500000 1.566987 +v 1.000000 2.500000 1.500000 +v 0.750000 2.500000 1.566987 +v 0.566987 2.500000 1.750000 +v 0.500000 2.500000 2.000000 +v 0.566987 2.500000 2.250000 +v 0.750000 2.500000 2.433012 +v 1.000000 2.500000 2.500000 +v 1.250000 2.500000 2.433013 +v 1.433012 2.500000 2.250000 +v 0.433012 0.750000 2.250000 +v 0.250000 0.750000 2.433013 +v -0.000000 0.750000 2.500000 +v -0.250000 0.750000 2.433012 +v -0.433013 0.750000 2.250000 +v -0.500000 0.750000 2.000000 +v -0.433013 0.750000 1.750000 +v -0.250000 0.750000 1.566987 +v -0.000000 0.750000 1.500000 +v 0.250000 0.750000 1.566987 +v 0.500000 0.750000 2.000000 +v 0.433013 0.750000 1.750000 +v 0.500000 2.500000 2.000000 +v 0.433013 2.500000 1.750000 +v 0.250000 2.500000 1.566987 +v -0.000000 2.500000 1.500000 +v -0.250000 2.500000 1.566987 +v -0.433013 2.500000 1.750000 +v -0.500000 2.500000 2.000000 +v -0.433013 2.500000 2.250000 +v -0.250000 2.500000 2.433012 +v -0.000000 2.500000 2.500000 +v 0.250000 2.500000 2.433013 +v 0.433012 2.500000 2.250000 +v -0.566988 0.750000 2.250000 +v -0.750000 0.750000 2.433013 +v -1.000000 0.750000 2.500000 +v -1.250000 0.750000 2.433012 +v -1.433013 0.750000 2.250000 +v -1.500000 0.750000 2.000000 +v -1.433013 0.750000 1.750000 +v -1.250000 0.750000 1.566987 +v -1.000000 0.750000 1.500000 +v -0.750000 0.750000 1.566987 +v -0.500000 0.750000 2.000000 +v -0.566987 0.750000 1.750000 +v -0.500000 2.500000 2.000000 +v -0.566987 2.500000 1.750000 +v -0.750000 2.500000 1.566987 +v -1.000000 2.500000 1.500000 +v -1.250000 2.500000 1.566987 +v -1.433013 2.500000 1.750000 +v -1.500000 2.500000 2.000000 +v -1.433013 2.500000 2.250000 +v -1.250000 2.500000 2.433012 +v -1.000000 2.500000 2.500000 +v -0.750000 2.500000 2.433013 +v -0.566988 2.500000 2.250000 +v -1.566988 0.750000 2.250000 +v -1.750000 0.750000 2.433013 +v -2.000000 0.750000 2.500000 +v -2.250000 0.750000 2.433012 +v -2.433013 0.750000 2.250000 +v -2.500000 0.750000 2.000000 +v -2.433013 0.750000 1.750000 +v -2.250000 0.750000 1.566987 +v -2.000000 0.750000 1.500000 +v -1.750000 0.750000 1.566987 +v -1.500000 0.750000 2.000000 +v -1.566987 0.750000 1.750000 +v -1.500000 2.500000 2.000000 +v -1.566987 2.500000 1.750000 +v -1.750000 2.500000 1.566987 +v -2.000000 2.500000 1.500000 +v -2.250000 2.500000 1.566987 +v -2.433013 2.500000 1.750000 +v -2.500000 2.500000 2.000000 +v -2.433013 2.500000 2.250000 +v -2.250000 2.500000 2.433012 +v -2.000000 2.500000 2.500000 +v -1.750000 2.500000 2.433013 +v -1.566988 2.500000 2.250000 +v -2.433012 0.750000 -2.250000 +v -2.250000 0.750000 -2.433013 +v -2.000000 0.750000 -2.500000 +v -1.750000 0.750000 -2.433012 +v -1.566987 0.750000 -2.250000 +v -1.500000 0.750000 -2.000000 +v -1.566987 0.750000 -1.750000 +v -1.750000 0.750000 -1.566987 +v -2.000000 0.750000 -1.500000 +v -2.250000 0.750000 -1.566987 +v -2.500000 0.750000 -2.000000 +v -2.433013 0.750000 -1.750000 +v -2.500000 2.500000 -2.000000 +v -2.433013 2.500000 -1.750000 +v -2.250000 2.500000 -1.566987 +v -2.000000 2.500000 -1.500000 +v -1.750000 2.500000 -1.566987 +v -1.566987 2.500000 -1.750000 +v -1.500000 2.500000 -2.000000 +v -1.566987 2.500000 -2.250000 +v -1.750000 2.500000 -2.433012 +v -2.000000 2.500000 -2.500000 +v -2.250000 2.500000 -2.433013 +v -2.433012 2.500000 -2.250000 +v -1.433013 0.750000 -2.250000 +v -1.250000 0.750000 -2.433013 +v -1.000000 0.750000 -2.500000 +v -0.750000 0.750000 -2.433012 +v -0.566987 0.750000 -2.250000 +v -0.500000 0.750000 -2.000000 +v -0.566987 0.750000 -1.750000 +v -0.750000 0.750000 -1.566987 +v -1.000000 0.750000 -1.500000 +v -1.250000 0.750000 -1.566987 +v -1.500000 0.750000 -2.000000 +v -1.433013 0.750000 -1.750000 +v -1.500000 2.500000 -2.000000 +v -1.433013 2.500000 -1.750000 +v -1.250000 2.500000 -1.566987 +v -1.000000 2.500000 -1.500000 +v -0.750000 2.500000 -1.566987 +v -0.566987 2.500000 -1.750000 +v -0.500000 2.500000 -2.000000 +v -0.566987 2.500000 -2.250000 +v -0.750000 2.500000 -2.433012 +v -1.000000 2.500000 -2.500000 +v -1.250000 2.500000 -2.433013 +v -1.433013 2.500000 -2.250000 +v -0.433013 0.750000 -2.250000 +v -0.250000 0.750000 -2.433013 +v 0.000000 0.750000 -2.500000 +v 0.250000 0.750000 -2.433012 +v 0.433013 0.750000 -2.250000 +v 0.500000 0.750000 -2.000000 +v 0.433013 0.750000 -1.750000 +v 0.250000 0.750000 -1.566987 +v -0.000000 0.750000 -1.500000 +v -0.250000 0.750000 -1.566987 +v -0.500000 0.750000 -2.000000 +v -0.433013 0.750000 -1.750000 +v -0.500000 2.500000 -2.000000 +v -0.433013 2.500000 -1.750000 +v -0.250000 2.500000 -1.566987 +v -0.000000 2.500000 -1.500000 +v 0.250000 2.500000 -1.566987 +v 0.433013 2.500000 -1.750000 +v 0.500000 2.500000 -2.000000 +v 0.433013 2.500000 -2.250000 +v 0.250000 2.500000 -2.433012 +v 0.000000 2.500000 -2.500000 +v -0.250000 2.500000 -2.433013 +v -0.433013 2.500000 -2.250000 +v 0.566987 0.750000 -2.250000 +v 0.750000 0.750000 -2.433013 +v 1.000000 0.750000 -2.500000 +v 1.250000 0.750000 -2.433012 +v 1.433013 0.750000 -2.250000 +v 1.500000 0.750000 -2.000000 +v 1.433013 0.750000 -1.750000 +v 1.250000 0.750000 -1.566987 +v 1.000000 0.750000 -1.500000 +v 0.750000 0.750000 -1.566987 +v 0.500000 0.750000 -2.000000 +v 0.566987 0.750000 -1.750000 +v 0.500000 2.500000 -2.000000 +v 0.566987 2.500000 -1.750000 +v 0.750000 2.500000 -1.566987 +v 1.000000 2.500000 -1.500000 +v 1.250000 2.500000 -1.566987 +v 1.433013 2.500000 -1.750000 +v 1.500000 2.500000 -2.000000 +v 1.433013 2.500000 -2.250000 +v 1.250000 2.500000 -2.433012 +v 1.000000 2.500000 -2.500000 +v 0.750000 2.500000 -2.433013 +v 0.566987 2.500000 -2.250000 +v 1.566987 0.750000 -2.250001 +v 1.750000 0.750000 -2.433013 +v 2.000000 0.750000 -2.500000 +v 2.250000 0.750000 -2.433012 +v 2.433012 0.750000 -2.250000 +v 2.500000 0.750000 -2.000000 +v 2.433012 0.750000 -1.750000 +v 2.250000 0.750000 -1.566987 +v 2.000000 0.750000 -1.500000 +v 1.750000 0.750000 -1.566987 +v 1.500000 0.750000 -2.000000 +v 1.566987 0.750000 -1.750000 +v 1.500000 2.500000 -2.000000 +v 1.566987 2.500000 -1.750000 +v 1.750000 2.500000 -1.566987 +v 2.000000 2.500000 -1.500000 +v 2.250000 2.500000 -1.566987 +v 2.433012 2.500000 -1.750000 +v 2.500000 2.500000 -2.000000 +v 2.433012 2.500000 -2.250000 +v 2.250000 2.500000 -2.433012 +v 2.000000 2.500000 -2.500000 +v 1.750000 2.500000 -2.433013 +v 1.566987 2.500000 -2.250001 +v 0.750000 2.500000 1.750000 +v 0.750000 2.500000 2.250000 +v 1.250000 2.500000 1.750000 +v 1.250000 2.500000 2.250000 +v 1.250000 2.750000 1.750000 +v 0.750000 2.750000 1.750000 +v 0.750000 2.750000 2.250000 +v 1.250000 2.750000 2.250000 +v 0.812500 2.750000 1.812500 +v 0.812500 2.750000 2.187500 +v 1.187500 2.750000 1.812500 +v 1.187500 2.750000 2.187500 +v 1.187500 3.000000 1.812500 +v 0.812500 3.000000 1.812500 +v 0.812500 3.000000 2.187500 +v 1.187500 3.000000 2.187500 +v -0.250000 2.500000 1.750000 +v -0.250000 2.500000 2.250000 +v 0.250000 2.500000 1.750000 +v 0.250000 2.500000 2.250000 +v 0.250000 2.750000 1.750000 +v -0.250000 2.750000 1.750000 +v -0.250000 2.750000 2.250000 +v 0.250000 2.750000 2.250000 +v -0.187500 2.750000 1.812500 +v -0.187500 2.750000 2.187500 +v 0.187500 2.750000 1.812500 +v 0.187500 2.750000 2.187500 +v 0.187500 3.000000 1.812500 +v -0.187500 3.000000 1.812500 +v -0.187500 3.000000 2.187500 +v 0.187500 3.000000 2.187500 +v -1.250000 2.500000 1.750000 +v -1.250000 2.500000 2.250000 +v -0.750000 2.500000 1.750000 +v -0.750000 2.500000 2.250000 +v -0.750000 2.750000 1.750000 +v -1.250000 2.750000 1.750000 +v -1.250000 2.750000 2.250000 +v -0.750000 2.750000 2.250000 +v -1.187500 2.750000 1.812500 +v -1.187500 2.750000 2.187500 +v -0.812500 2.750000 1.812500 +v -0.812500 2.750000 2.187500 +v -0.812500 3.000000 1.812500 +v -1.187500 3.000000 1.812500 +v -1.187500 3.000000 2.187500 +v -0.812500 3.000000 2.187500 +v -2.250000 2.500000 1.750000 +v -2.250000 2.500000 2.250000 +v -1.750000 2.500000 1.750000 +v -1.750000 2.500000 2.250000 +v -1.750000 2.750000 1.750000 +v -2.250000 2.750000 1.750000 +v -2.250000 2.750000 2.250000 +v -1.750000 2.750000 2.250000 +v -2.187500 2.750000 1.812500 +v -2.187500 2.750000 2.187500 +v -1.812500 2.750000 1.812500 +v -1.812500 2.750000 2.187500 +v -1.812500 3.000000 1.812500 +v -2.187500 3.000000 1.812500 +v -2.187500 3.000000 2.187500 +v -1.812500 3.000000 2.187500 +v 1.750000 2.500000 -2.250000 +v 1.750000 2.500000 -1.750000 +v 2.250000 2.500000 -2.250000 +v 2.250000 2.500000 -1.750000 +v 2.250000 2.750000 -2.250000 +v 1.750000 2.750000 -2.250000 +v 1.750000 2.750000 -1.750000 +v 2.250000 2.750000 -1.750000 +v 1.812500 2.750000 -2.187500 +v 1.812500 2.750000 -1.812500 +v 2.187500 2.750000 -2.187500 +v 2.187500 2.750000 -1.812500 +v 2.187500 3.000000 -2.187500 +v 1.812500 3.000000 -2.187500 +v 1.812500 3.000000 -1.812500 +v 2.187500 3.000000 -1.812500 +v 0.750000 2.500000 -2.250000 +v 0.750000 2.500000 -1.750000 +v 1.250000 2.500000 -2.250000 +v 1.250000 2.500000 -1.750000 +v 1.250000 2.750000 -2.250000 +v 0.750000 2.750000 -2.250000 +v 0.750000 2.750000 -1.750000 +v 1.250000 2.750000 -1.750000 +v 0.812500 2.750000 -2.187500 +v 0.812500 2.750000 -1.812500 +v 1.187500 2.750000 -2.187500 +v 1.187500 2.750000 -1.812500 +v 1.187500 3.000000 -2.187500 +v 0.812500 3.000000 -2.187500 +v 0.812500 3.000000 -1.812500 +v 1.187500 3.000000 -1.812500 +v -0.250000 2.500000 -2.250000 +v -0.250000 2.500000 -1.750000 +v 0.250000 2.500000 -2.250000 +v 0.250000 2.500000 -1.750000 +v 0.250000 2.750000 -2.250000 +v -0.250000 2.750000 -2.250000 +v -0.250000 2.750000 -1.750000 +v 0.250000 2.750000 -1.750000 +v -0.187500 2.750000 -2.187500 +v -0.187500 2.750000 -1.812500 +v 0.187500 2.750000 -2.187500 +v 0.187500 2.750000 -1.812500 +v 0.187500 3.000000 -2.187500 +v -0.187500 3.000000 -2.187500 +v -0.187500 3.000000 -1.812500 +v 0.187500 3.000000 -1.812500 +v -1.250000 2.500000 -2.250000 +v -1.250000 2.500000 -1.750000 +v -0.750000 2.500000 -2.250000 +v -0.750000 2.500000 -1.750000 +v -0.750000 2.750000 -2.250000 +v -1.250000 2.750000 -2.250000 +v -1.250000 2.750000 -1.750000 +v -0.750000 2.750000 -1.750000 +v -1.187500 2.750000 -2.187500 +v -1.187500 2.750000 -1.812500 +v -0.812500 2.750000 -2.187500 +v -0.812500 2.750000 -1.812500 +v -0.812500 3.000000 -2.187500 +v -1.187500 3.000000 -2.187500 +v -1.187500 3.000000 -1.812500 +v -0.812500 3.000000 -1.812500 +v -2.250000 2.500000 -2.250000 +v -2.250000 2.500000 -1.750000 +v -1.750000 2.500000 -2.250000 +v -1.750000 2.500000 -1.750000 +v -1.750000 2.750000 -2.250000 +v -2.250000 2.750000 -2.250000 +v -2.250000 2.750000 -1.750000 +v -1.750000 2.750000 -1.750000 +v -2.187500 2.750000 -2.187500 +v -2.187500 2.750000 -1.812500 +v -1.812500 2.750000 -2.187500 +v -1.812500 2.750000 -1.812500 +v -1.812500 3.000000 -2.187500 +v -2.187500 3.000000 -2.187500 +v -2.187500 3.000000 -1.812500 +v -1.812500 3.000000 -1.812500 +v -2.125000 2.750000 1.750000 +v -2.213388 2.713388 1.750000 +v -2.250000 2.625000 1.750000 +v -2.213388 2.536612 1.750000 +v -2.125000 2.500000 1.750000 +v -2.036612 2.536612 1.750000 +v -2.000000 2.625000 1.750000 +v -2.036612 2.713388 1.750000 +v -2.125000 2.750000 -1.750000 +v -2.213388 2.713388 -1.750000 +v -2.250000 2.625000 -1.750000 +v -2.213388 2.536612 -1.750000 +v -2.125000 2.500000 -1.750000 +v -2.036612 2.536612 -1.750000 +v -2.000000 2.625000 -1.750000 +v -2.036612 2.713388 -1.750000 +v -1.125000 2.750000 1.750000 +v -1.213388 2.713388 1.750000 +v -1.250000 2.625000 1.750000 +v -1.213388 2.536612 1.750000 +v -1.125000 2.500000 1.750000 +v -1.036612 2.536612 1.750000 +v -1.000000 2.625000 1.750000 +v -1.036612 2.713388 1.750000 +v -1.125000 2.750000 1.375000 +v -1.213388 2.713388 1.375000 +v -1.250000 2.625000 1.375000 +v -1.213388 2.536612 1.375000 +v -1.125000 2.500000 1.375000 +v -1.036612 2.536612 1.375000 +v -1.000000 2.625000 1.375000 +v -1.036612 2.713388 1.375000 +v -1.125000 2.676776 1.198223 +v -1.213388 2.650888 1.224112 +v -1.250000 2.588388 1.286612 +v -1.213388 2.525888 1.349112 +v -1.036612 2.525888 1.349112 +v -1.000000 2.588388 1.286612 +v -1.036612 2.650888 1.224112 +v -1.125000 2.500000 1.125000 +v -1.213388 2.500000 1.161612 +v -1.250000 2.500000 1.250000 +v -1.213388 2.500000 1.338388 +v -1.036612 2.500000 1.338388 +v -1.000000 2.500000 1.250000 +v -1.036612 2.500000 1.161612 +v -1.125000 1.000000 1.375000 +v -1.125000 1.000000 1.125000 +v -1.213388 1.000000 1.161612 +v -1.250000 1.000000 1.250000 +v -1.213388 1.000000 1.338388 +v -1.036612 1.000000 1.338388 +v -1.000000 1.000000 1.250000 +v -1.036612 1.000000 1.161612 +v -1.125000 0.823223 1.301777 +v -1.213388 0.974112 1.150888 +v -1.250000 0.911612 1.213388 +v -1.213388 0.849112 1.275888 +v -1.036612 0.849112 1.275888 +v -1.000000 0.911612 1.213388 +v -1.036612 0.974112 1.150888 +v -1.125000 0.750000 1.125000 +v -1.213388 0.963388 1.125000 +v -1.250000 0.875000 1.125000 +v -1.213388 0.786612 1.125000 +v -1.036612 0.786612 1.125000 +v -1.000000 0.875000 1.125000 +v -1.036612 0.963388 1.125000 +v -1.125000 1.000000 1.000000 +v -1.125000 0.750000 1.000000 +v -1.213388 0.963388 1.000000 +v -1.250000 0.875000 1.000000 +v -1.213388 0.786612 1.000000 +v -1.036612 0.786612 1.000000 +v -1.000000 0.875000 1.000000 +v -1.036612 0.963388 1.000000 +v -0.875000 2.750000 1.750000 +v -0.963388 2.713388 1.750000 +v -1.000000 2.625000 1.750000 +v -0.963388 2.536612 1.750000 +v -0.875000 2.500000 1.750000 +v -0.786612 2.536612 1.750000 +v -0.750000 2.625000 1.750000 +v -0.786612 2.713388 1.750000 +v -0.875000 2.750000 1.375000 +v -0.963388 2.713388 1.375000 +v -1.000000 2.625000 1.375000 +v -0.963388 2.536612 1.375000 +v -0.875000 2.500000 1.375000 +v -0.786612 2.536612 1.375000 +v -0.750000 2.625000 1.375000 +v -0.786612 2.713388 1.375000 +v -0.875000 2.676776 1.198223 +v -0.963389 2.650888 1.224112 +v -1.000000 2.588388 1.286612 +v -0.963388 2.525888 1.349112 +v -0.786612 2.525888 1.349112 +v -0.750000 2.588388 1.286612 +v -0.786612 2.650888 1.224112 +v -0.875000 2.500000 1.125000 +v -0.963389 2.500000 1.161612 +v -1.000000 2.500000 1.250000 +v -0.963388 2.500000 1.338388 +v -0.786612 2.500000 1.338388 +v -0.750000 2.500000 1.250000 +v -0.786612 2.500000 1.161612 +v -0.875000 1.000000 1.375000 +v -0.875000 1.000000 1.125000 +v -0.963389 1.000000 1.161612 +v -1.000000 1.000000 1.250000 +v -0.963388 1.000000 1.338388 +v -0.786612 1.000000 1.338388 +v -0.750000 1.000000 1.250000 +v -0.786612 1.000000 1.161612 +v -0.875000 0.823223 1.301777 +v -0.963389 0.974112 1.150888 +v -1.000000 0.911612 1.213388 +v -0.963388 0.849112 1.275888 +v -0.786612 0.849112 1.275888 +v -0.750000 0.911612 1.213388 +v -0.786612 0.974112 1.150888 +v -0.875000 0.750000 1.125000 +v -0.963389 0.963388 1.125000 +v -1.000000 0.875000 1.125000 +v -0.963388 0.786612 1.125000 +v -0.786612 0.786612 1.125000 +v -0.750000 0.875000 1.125000 +v -0.786612 0.963388 1.125000 +v -0.875000 1.000000 1.000000 +v -0.875000 0.750000 1.000000 +v -0.963389 0.963388 1.000000 +v -1.000000 0.875000 1.000000 +v -0.963388 0.786612 1.000000 +v -0.786612 0.786612 1.000000 +v -0.750000 0.875000 1.000000 +v -0.786612 0.963388 1.000000 +v -1.875000 2.750000 1.750000 +v -1.963388 2.713388 1.750000 +v -2.000000 2.625000 1.750000 +v -1.963388 2.536612 1.750000 +v -1.875000 2.500000 1.750000 +v -1.786612 2.536612 1.750000 +v -1.750000 2.625000 1.750000 +v -1.786612 2.713388 1.750000 +v -1.875000 2.750000 1.375000 +v -1.963388 2.713388 1.375000 +v -2.000000 2.625000 1.375000 +v -1.963388 2.536612 1.375000 +v -1.875000 2.500000 1.375000 +v -1.786612 2.536612 1.375000 +v -1.750000 2.625000 1.375000 +v -1.786612 2.713388 1.375000 +v -1.875000 2.676776 1.198223 +v -1.963388 2.650888 1.224111 +v -2.000000 2.588388 1.286611 +v -1.963388 2.525888 1.349111 +v -1.786612 2.525888 1.349111 +v -1.750000 2.588388 1.286611 +v -1.786612 2.650888 1.224111 +v -1.875000 2.500000 1.125000 +v -1.963388 2.500000 1.161611 +v -2.000000 2.500000 1.250000 +v -1.963388 2.500000 1.338388 +v -1.786612 2.500000 1.338388 +v -1.750000 2.500000 1.250000 +v -1.786612 2.500000 1.161611 +v -1.875000 1.000000 1.375000 +v -1.875000 1.000000 1.125000 +v -1.963388 1.000000 1.161611 +v -2.000000 1.000000 1.250000 +v -1.963388 1.000000 1.338388 +v -1.786612 1.000000 1.338388 +v -1.750000 1.000000 1.250000 +v -1.786612 1.000000 1.161611 +v -1.875000 0.823223 1.301777 +v -1.963388 0.974112 1.150888 +v -2.000000 0.911612 1.213388 +v -1.963388 0.849112 1.275888 +v -1.786612 0.849112 1.275888 +v -1.750000 0.911612 1.213388 +v -1.786612 0.974112 1.150888 +v -1.875000 0.750000 1.125000 +v -1.963388 0.963388 1.125000 +v -2.000000 0.875000 1.125000 +v -1.963388 0.786612 1.125000 +v -1.786612 0.786612 1.125000 +v -1.750000 0.875000 1.125000 +v -1.786612 0.963388 1.125000 +v -1.875000 1.000000 1.000000 +v -1.875000 0.750000 1.000000 +v -1.963388 0.963388 1.000000 +v -2.000000 0.875000 1.000000 +v -1.963388 0.786612 1.000000 +v -1.786612 0.786612 1.000000 +v -1.750000 0.875000 1.000000 +v -1.786612 0.963388 1.000000 +v 1.875000 2.750000 1.750000 +v 1.786612 2.713388 1.750000 +v 1.750000 2.625000 1.750000 +v 1.786612 2.536612 1.750000 +v 1.875000 2.500000 1.750000 +v 1.963388 2.536612 1.750000 +v 2.000000 2.625000 1.750000 +v 1.963388 2.713388 1.750000 +v 1.875000 2.750000 1.375000 +v 1.786612 2.713388 1.375000 +v 1.750000 2.625000 1.375000 +v 1.786612 2.536612 1.375000 +v 1.875000 2.500000 1.375000 +v 1.963388 2.536612 1.375000 +v 2.000000 2.625000 1.375000 +v 1.963388 2.713388 1.375000 +v 1.875000 2.676776 1.198223 +v 1.786612 2.650888 1.224112 +v 1.750000 2.588388 1.286612 +v 1.786612 2.525888 1.349112 +v 1.963388 2.525888 1.349112 +v 2.000000 2.588388 1.286612 +v 1.963388 2.650888 1.224112 +v 1.875000 2.500000 1.125000 +v 1.786612 2.500000 1.161612 +v 1.750000 2.500000 1.250000 +v 1.786612 2.500000 1.338389 +v 1.963388 2.500000 1.338389 +v 2.000000 2.500000 1.250000 +v 1.963388 2.500000 1.161612 +v 1.875000 1.000000 1.375000 +v 1.875000 1.000000 1.125000 +v 1.786612 1.000000 1.161612 +v 1.750000 1.000000 1.250000 +v 1.786612 1.000000 1.338389 +v 1.963388 1.000000 1.338389 +v 2.000000 1.000000 1.250000 +v 1.963388 1.000000 1.161612 +v 1.875000 0.823223 1.301777 +v 1.786612 0.974112 1.150889 +v 1.750000 0.911612 1.213389 +v 1.786612 0.849112 1.275889 +v 1.963388 0.849112 1.275889 +v 2.000000 0.911612 1.213389 +v 1.963388 0.974112 1.150889 +v 1.875000 0.750000 1.125000 +v 1.786612 0.963388 1.125000 +v 1.750000 0.875000 1.125000 +v 1.786612 0.786612 1.125000 +v 1.963388 0.786612 1.125000 +v 2.000000 0.875000 1.125000 +v 1.963388 0.963388 1.125000 +v 1.875000 1.000000 1.000000 +v 1.875000 0.750000 1.000000 +v 1.786612 0.963388 1.000000 +v 1.750000 0.875000 1.000000 +v 1.786612 0.786612 1.000000 +v 1.963388 0.786612 1.000000 +v 2.000000 0.875000 1.000000 +v 1.963388 0.963388 1.000000 +v 0.125000 2.750000 -1.750000 +v 0.213388 2.713388 -1.750000 +v 0.250000 2.625000 -1.750000 +v 0.213388 2.536612 -1.750000 +v 0.125000 2.500000 -1.750000 +v 0.036611 2.536612 -1.750000 +v -0.000000 2.625000 -1.750000 +v 0.036611 2.713388 -1.750000 +v 0.125000 2.750000 -1.375000 +v 0.213388 2.713388 -1.375000 +v 0.250000 2.625000 -1.375000 +v 0.213388 2.536612 -1.375000 +v 0.125000 2.500000 -1.375000 +v 0.036611 2.536612 -1.375000 +v -0.000000 2.625000 -1.375000 +v 0.036611 2.713388 -1.375000 +v 0.125000 2.676776 -1.198223 +v 0.213388 2.650888 -1.224112 +v 0.250000 2.588388 -1.286612 +v 0.213388 2.525888 -1.349112 +v 0.036611 2.525888 -1.349112 +v -0.000000 2.588388 -1.286612 +v 0.036612 2.650888 -1.224112 +v 0.125000 2.500000 -1.125000 +v 0.213388 2.500000 -1.161612 +v 0.250000 2.500000 -1.250000 +v 0.213388 2.500000 -1.338388 +v 0.036611 2.500000 -1.338388 +v -0.000000 2.500000 -1.250000 +v 0.036612 2.500000 -1.161612 +v 0.125000 1.000000 -1.375000 +v 0.125000 1.000000 -1.125000 +v 0.213388 1.000000 -1.161612 +v 0.250000 1.000000 -1.250000 +v 0.213388 1.000000 -1.338388 +v 0.036611 1.000000 -1.338388 +v -0.000000 1.000000 -1.250000 +v 0.036612 1.000000 -1.161612 +v 0.125000 0.823223 -1.301777 +v 0.213388 0.974112 -1.150888 +v 0.250000 0.911612 -1.213388 +v 0.213388 0.849112 -1.275888 +v 0.036612 0.849112 -1.275888 +v -0.000000 0.911612 -1.213388 +v 0.036612 0.974112 -1.150888 +v 0.125000 0.750000 -1.125000 +v 0.213388 0.963388 -1.125000 +v 0.250000 0.875000 -1.125000 +v 0.213388 0.786612 -1.125000 +v 0.036612 0.786612 -1.125000 +v -0.000000 0.875000 -1.125000 +v 0.036612 0.963388 -1.125000 +v 0.125000 1.000000 -1.000000 +v 0.125000 0.750000 -1.000000 +v 0.213388 0.963388 -1.000000 +v 0.250000 0.875000 -1.000000 +v 0.213388 0.786612 -1.000000 +v 0.036612 0.786612 -1.000000 +v -0.000000 0.875000 -1.000000 +v 0.036612 0.963388 -1.000000 +v -0.125000 2.750000 -1.750000 +v -0.036612 2.713388 -1.750000 +v -0.000000 2.625000 -1.750000 +v -0.036612 2.536612 -1.750000 +v -0.125000 2.500000 -1.750000 +v -0.213389 2.536612 -1.750000 +v -0.250000 2.625000 -1.750000 +v -0.213389 2.713388 -1.750000 +v -0.125000 2.750000 -1.375000 +v -0.036612 2.713388 -1.375000 +v -0.000000 2.625000 -1.375000 +v -0.036612 2.536612 -1.375000 +v -0.125000 2.500000 -1.375000 +v -0.213389 2.536612 -1.375000 +v -0.250000 2.625000 -1.375000 +v -0.213389 2.713388 -1.375000 +v -0.125000 2.676776 -1.198223 +v -0.036612 2.650888 -1.224112 +v -0.000000 2.588388 -1.286612 +v -0.036612 2.525888 -1.349112 +v -0.213389 2.525888 -1.349112 +v -0.250000 2.588388 -1.286612 +v -0.213389 2.650888 -1.224112 +v -0.125000 2.500000 -1.125000 +v -0.036612 2.500000 -1.161612 +v -0.000000 2.500000 -1.250000 +v -0.036612 2.500000 -1.338388 +v -0.213389 2.500000 -1.338388 +v -0.250000 2.500000 -1.250000 +v -0.213388 2.500000 -1.161612 +v -0.125000 1.000000 -1.375000 +v -0.125000 1.000000 -1.125000 +v -0.036612 1.000000 -1.161612 +v -0.000000 1.000000 -1.250000 +v -0.036612 1.000000 -1.338388 +v -0.213389 1.000000 -1.338388 +v -0.250000 1.000000 -1.250000 +v -0.213388 1.000000 -1.161612 +v -0.125000 0.823223 -1.301777 +v -0.036612 0.974112 -1.150888 +v -0.000000 0.911612 -1.213388 +v -0.036612 0.849112 -1.275888 +v -0.213389 0.849112 -1.275888 +v -0.250000 0.911612 -1.213388 +v -0.213388 0.974112 -1.150888 +v -0.125000 0.750000 -1.125000 +v -0.036612 0.963388 -1.125000 +v -0.000000 0.875000 -1.125000 +v -0.036612 0.786612 -1.125000 +v -0.213389 0.786612 -1.125000 +v -0.250000 0.875000 -1.125000 +v -0.213388 0.963388 -1.125000 +v -0.125000 1.000000 -1.000000 +v -0.125000 0.750000 -1.000000 +v -0.036612 0.963388 -1.000000 +v -0.000000 0.875000 -1.000000 +v -0.036612 0.786612 -1.000000 +v -0.213388 0.786612 -1.000000 +v -0.250000 0.875000 -1.000000 +v -0.213388 0.963388 -1.000000 +v 1.125000 2.750000 -1.750000 +v 1.213388 2.713388 -1.750000 +v 1.250000 2.625000 -1.750000 +v 1.213388 2.536612 -1.750000 +v 1.125000 2.500000 -1.750000 +v 1.036612 2.536612 -1.750000 +v 1.000000 2.625000 -1.750000 +v 1.036612 2.713388 -1.750000 +v 1.125000 2.750000 -1.375000 +v 1.213388 2.713388 -1.375000 +v 1.250000 2.625000 -1.375000 +v 1.213388 2.536612 -1.375000 +v 1.125000 2.500000 -1.375000 +v 1.036612 2.536612 -1.375000 +v 1.000000 2.625000 -1.375000 +v 1.036612 2.713388 -1.375000 +v 1.125000 2.676776 -1.198223 +v 1.213388 2.650888 -1.224112 +v 1.250000 2.588388 -1.286612 +v 1.213388 2.525888 -1.349112 +v 1.036612 2.525888 -1.349112 +v 1.000000 2.588388 -1.286612 +v 1.036612 2.650888 -1.224112 +v 1.125000 2.500000 -1.125000 +v 1.213388 2.500000 -1.161612 +v 1.250000 2.500000 -1.250000 +v 1.213388 2.500000 -1.338388 +v 1.036612 2.500000 -1.338388 +v 1.000000 2.500000 -1.250000 +v 1.036612 2.500000 -1.161612 +v 1.125000 1.000000 -1.375000 +v 1.125000 1.000000 -1.125000 +v 1.213388 1.000000 -1.161612 +v 1.250000 1.000000 -1.250000 +v 1.213388 1.000000 -1.338388 +v 1.036612 1.000000 -1.338388 +v 1.000000 1.000000 -1.250000 +v 1.036612 1.000000 -1.161612 +v 1.125000 0.823223 -1.301777 +v 1.213388 0.974112 -1.150888 +v 1.250000 0.911612 -1.213388 +v 1.213388 0.849112 -1.275888 +v 1.036612 0.849112 -1.275888 +v 1.000000 0.911612 -1.213388 +v 1.036612 0.974112 -1.150888 +v 1.125000 0.750000 -1.125000 +v 1.213388 0.963388 -1.125000 +v 1.250000 0.875000 -1.125000 +v 1.213388 0.786612 -1.125000 +v 1.036612 0.786612 -1.125000 +v 1.000000 0.875000 -1.125000 +v 1.036612 0.963388 -1.125000 +v 1.125000 1.000000 -1.000000 +v 1.125000 0.750000 -1.000000 +v 1.213388 0.963388 -1.000000 +v 1.250000 0.875000 -1.000000 +v 1.213388 0.786612 -1.000000 +v 1.036612 0.786612 -1.000000 +v 1.000000 0.875000 -1.000000 +v 1.036612 0.963388 -1.000000 +v 0.875000 2.750000 -1.750000 +v 0.963388 2.713388 -1.750000 +v 1.000000 2.625000 -1.750000 +v 0.963388 2.536612 -1.750000 +v 0.875000 2.500000 -1.750000 +v 0.786611 2.536612 -1.750000 +v 0.750000 2.625000 -1.750000 +v 0.786611 2.713388 -1.750000 +v 0.875000 2.750000 -1.375000 +v 0.963388 2.713388 -1.375000 +v 1.000000 2.625000 -1.375000 +v 0.963388 2.536612 -1.375000 +v 0.875000 2.500000 -1.375000 +v 0.786611 2.536612 -1.375000 +v 0.750000 2.625000 -1.375000 +v 0.786611 2.713388 -1.375000 +v 0.875000 2.676776 -1.198223 +v 0.963388 2.650888 -1.224112 +v 1.000000 2.588388 -1.286612 +v 0.963388 2.525888 -1.349112 +v 0.786611 2.525888 -1.349112 +v 0.750000 2.588388 -1.286612 +v 0.786611 2.650888 -1.224112 +v 0.875000 2.500000 -1.125000 +v 0.963388 2.500000 -1.161612 +v 1.000000 2.500000 -1.250000 +v 0.963388 2.500000 -1.338388 +v 0.786611 2.500000 -1.338388 +v 0.750000 2.500000 -1.250000 +v 0.786612 2.500000 -1.161612 +v 0.875000 1.000000 -1.375000 +v 0.875000 1.000000 -1.125000 +v 0.963388 1.000000 -1.161612 +v 1.000000 1.000000 -1.250000 +v 0.963388 1.000000 -1.338388 +v 0.786611 1.000000 -1.338388 +v 0.750000 1.000000 -1.250000 +v 0.786612 1.000000 -1.161612 +v 0.875000 0.823223 -1.301777 +v 0.963388 0.974112 -1.150888 +v 1.000000 0.911612 -1.213388 +v 0.963388 0.849112 -1.275888 +v 0.786611 0.849112 -1.275888 +v 0.750000 0.911612 -1.213388 +v 0.786612 0.974112 -1.150888 +v 0.875000 0.750000 -1.125000 +v 0.963388 0.963388 -1.125000 +v 1.000000 0.875000 -1.125000 +v 0.963388 0.786612 -1.125000 +v 0.786611 0.786612 -1.125000 +v 0.750000 0.875000 -1.125000 +v 0.786612 0.963388 -1.125000 +v 0.875000 1.000000 -1.000000 +v 0.875000 0.750000 -1.000000 +v 0.963389 0.963388 -1.000000 +v 1.000000 0.875000 -1.000000 +v 0.963388 0.786612 -1.000000 +v 0.786612 0.786612 -1.000000 +v 0.750000 0.875000 -1.000000 +v 0.786612 0.963388 -1.000000 +v 1.875000 2.750000 -1.750000 +v 1.963388 2.713388 -1.750000 +v 2.000000 2.625000 -1.750000 +v 1.963388 2.536612 -1.750000 +v 1.875000 2.500000 -1.750000 +v 1.786612 2.536612 -1.750000 +v 1.750000 2.625000 -1.750000 +v 1.786612 2.713388 -1.750000 +v 1.875000 2.750000 -1.375000 +v 1.963388 2.713388 -1.375000 +v 2.000000 2.625000 -1.375000 +v 1.963388 2.536612 -1.375000 +v 1.875000 2.500000 -1.375000 +v 1.786612 2.536612 -1.375000 +v 1.750000 2.625000 -1.375000 +v 1.786612 2.713388 -1.375000 +v 1.875000 2.676776 -1.198223 +v 1.963388 2.650888 -1.224111 +v 2.000000 2.588388 -1.286611 +v 1.963388 2.525888 -1.349111 +v 1.786612 2.525888 -1.349111 +v 1.750000 2.588388 -1.286611 +v 1.786612 2.650888 -1.224111 +v 1.875000 2.500000 -1.125000 +v 1.963388 2.500000 -1.161611 +v 2.000000 2.500000 -1.250000 +v 1.963388 2.500000 -1.338388 +v 1.786612 2.500000 -1.338388 +v 1.750000 2.500000 -1.250000 +v 1.786612 2.500000 -1.161611 +v 1.875000 1.000000 -1.375000 +v 1.875000 1.000000 -1.125000 +v 1.963388 1.000000 -1.161611 +v 2.000000 1.000000 -1.250000 +v 1.963388 1.000000 -1.338388 +v 1.786612 1.000000 -1.338388 +v 1.750000 1.000000 -1.250000 +v 1.786612 1.000000 -1.161611 +v 1.875000 0.823223 -1.301777 +v 1.963388 0.974112 -1.150888 +v 2.000000 0.911612 -1.213388 +v 1.963388 0.849112 -1.275888 +v 1.786612 0.849112 -1.275888 +v 1.750000 0.911612 -1.213388 +v 1.786612 0.974112 -1.150888 +v 1.875000 0.750000 -1.125000 +v 1.963388 0.963388 -1.125000 +v 2.000000 0.875000 -1.125000 +v 1.963388 0.786612 -1.125000 +v 1.786612 0.786612 -1.125000 +v 1.750000 0.875000 -1.125000 +v 1.786612 0.963388 -1.125000 +v 1.875000 1.000000 -1.000000 +v 1.875000 0.750000 -1.000000 +v 1.963388 0.963388 -1.000000 +v 2.000000 0.875000 -1.000000 +v 1.963388 0.786612 -1.000000 +v 1.786612 0.786612 -1.000000 +v 1.750000 0.875000 -1.000000 +v 1.786612 0.963388 -1.000000 +v -1.875000 2.750000 -1.750000 +v -1.786612 2.713388 -1.750000 +v -1.750000 2.625000 -1.750000 +v -1.786612 2.536612 -1.750000 +v -1.875000 2.500000 -1.750000 +v -1.963388 2.536612 -1.750000 +v -2.000000 2.625000 -1.750000 +v -1.963388 2.713388 -1.750000 +v -1.875000 2.750000 -1.375000 +v -1.786612 2.713388 -1.375000 +v -1.750000 2.625000 -1.375000 +v -1.786612 2.536612 -1.375000 +v -1.875000 2.500000 -1.375000 +v -1.963388 2.536612 -1.375000 +v -2.000000 2.625000 -1.375000 +v -1.963388 2.713388 -1.375000 +v -1.875000 2.676776 -1.198223 +v -1.786612 2.650888 -1.224112 +v -1.750000 2.588388 -1.286612 +v -1.786612 2.525888 -1.349112 +v -1.963388 2.525888 -1.349112 +v -2.000000 2.588388 -1.286612 +v -1.963388 2.650888 -1.224112 +v -1.875000 2.500000 -1.125000 +v -1.786612 2.500000 -1.161612 +v -1.750000 2.500000 -1.250000 +v -1.786612 2.500000 -1.338389 +v -1.963388 2.500000 -1.338389 +v -2.000000 2.500000 -1.250000 +v -1.963388 2.500000 -1.161612 +v -1.875000 1.000000 -1.375000 +v -1.875000 1.000000 -1.125000 +v -1.786612 1.000000 -1.161612 +v -1.750000 1.000000 -1.250000 +v -1.786612 1.000000 -1.338389 +v -1.963388 1.000000 -1.338389 +v -2.000000 1.000000 -1.250000 +v -1.963388 1.000000 -1.161612 +v -1.875000 0.823223 -1.301777 +v -1.786612 0.974112 -1.150889 +v -1.750000 0.911612 -1.213389 +v -1.786612 0.849112 -1.275889 +v -1.963388 0.849112 -1.275889 +v -2.000000 0.911612 -1.213389 +v -1.963388 0.974112 -1.150889 +v -1.875000 0.750000 -1.125000 +v -1.786612 0.963388 -1.125000 +v -1.750000 0.875000 -1.125000 +v -1.786612 0.786612 -1.125000 +v -1.963388 0.786612 -1.125000 +v -2.000000 0.875000 -1.125000 +v -1.963388 0.963388 -1.125000 +v -1.875000 1.000000 -1.000000 +v -1.875000 0.750000 -1.000000 +v -1.786612 0.963388 -1.000000 +v -1.750000 0.875000 -1.000000 +v -1.786612 0.786612 -1.000000 +v -1.963388 0.786612 -1.000000 +v -2.000000 0.875000 -1.000000 +v -1.963388 0.963388 -1.000000 +v 2.500000 0.312500 0.812500 +v 2.500000 0.312500 1.187500 +v 2.500000 0.687500 0.812500 +v 2.500000 0.687500 1.187500 +v 2.375000 0.625000 0.875000 +v 2.375000 0.375000 0.875000 +v 2.375000 0.375000 1.125000 +v 2.375000 0.625000 1.125000 +v 2.375000 0.687500 0.812500 +v 2.375000 0.312500 0.812500 +v 2.375000 0.312500 1.187500 +v 2.375000 0.687500 1.187500 +v 2.250000 0.625000 0.875000 +v 2.250000 0.375000 0.875000 +v 2.250000 0.375000 1.125000 +v 2.250000 0.625000 1.125000 +v 2.500000 0.312500 1.812500 +v 2.500000 0.312500 2.187500 +v 2.500000 0.687500 1.812500 +v 2.500000 0.687500 2.187500 +v 2.375000 0.625000 1.875000 +v 2.375000 0.375000 1.875000 +v 2.375000 0.375000 2.125000 +v 2.375000 0.625000 2.125000 +v 2.375000 0.687500 1.812500 +v 2.375000 0.312500 1.812500 +v 2.375000 0.312500 2.187500 +v 2.375000 0.687500 2.187500 +v 2.250000 0.625000 1.875000 +v 2.250000 0.375000 1.875000 +v 2.250000 0.375000 2.125000 +v 2.250000 0.625000 2.125000 +v 2.500000 0.312500 -2.187500 +v 2.500000 0.312500 -1.812500 +v 2.500000 0.687500 -2.187500 +v 2.500000 0.687500 -1.812500 +v 2.375000 0.625000 -2.125000 +v 2.375000 0.375000 -2.125000 +v 2.375000 0.375000 -1.875000 +v 2.375000 0.625000 -1.875000 +v 2.375000 0.687500 -2.187500 +v 2.375000 0.312500 -2.187500 +v 2.375000 0.312500 -1.812500 +v 2.375000 0.687500 -1.812500 +v 2.250000 0.625000 -2.125000 +v 2.250000 0.375000 -2.125000 +v 2.250000 0.375000 -1.875000 +v 2.250000 0.625000 -1.875000 +v 2.500000 0.312500 -1.187500 +v 2.500000 0.312500 -0.812500 +v 2.500000 0.687500 -1.187500 +v 2.500000 0.687500 -0.812500 +v 2.375000 0.625000 -1.125000 +v 2.375000 0.375000 -1.125000 +v 2.375000 0.375000 -0.875000 +v 2.375000 0.625000 -0.875000 +v 2.375000 0.687500 -1.187500 +v 2.375000 0.312500 -1.187500 +v 2.375000 0.312500 -0.812500 +v 2.375000 0.687500 -0.812500 +v 2.250000 0.625000 -1.125000 +v 2.250000 0.375000 -1.125000 +v 2.250000 0.375000 -0.875000 +v 2.250000 0.625000 -0.875000 +v -2.500000 0.312500 0.187500 +v -2.500000 0.312500 -0.187500 +v -2.500000 0.687500 0.187500 +v -2.500000 0.687500 -0.187500 +v -2.375000 0.625000 0.125000 +v -2.375000 0.375000 0.125000 +v -2.375000 0.375000 -0.125000 +v -2.375000 0.625000 -0.125000 +v -2.375000 0.687500 0.187500 +v -2.375000 0.312500 0.187500 +v -2.375000 0.312500 -0.187500 +v -2.375000 0.687500 -0.187500 +v -2.250000 0.625000 0.125000 +v -2.250000 0.375000 0.125000 +v -2.250000 0.375000 -0.125000 +v -2.250000 0.625000 -0.125000 +v -2.500000 0.312500 -0.812500 +v -2.500000 0.312500 -1.187500 +v -2.500000 0.687500 -0.812500 +v -2.500000 0.687500 -1.187500 +v -2.375000 0.625000 -0.875000 +v -2.375000 0.375000 -0.875000 +v -2.375000 0.375000 -1.125000 +v -2.375000 0.625000 -1.125000 +v -2.375000 0.687500 -0.812500 +v -2.375000 0.312500 -0.812500 +v -2.375000 0.312500 -1.187500 +v -2.375000 0.687500 -1.187500 +v -2.250000 0.625000 -0.875000 +v -2.250000 0.375000 -0.875000 +v -2.250000 0.375000 -1.125000 +v -2.250000 0.625000 -1.125000 +v -2.500000 0.312500 -1.812500 +v -2.500000 0.312500 -2.187500 +v -2.500000 0.687500 -1.812500 +v -2.500000 0.687500 -2.187500 +v -2.375000 0.625000 -1.875000 +v -2.375000 0.375000 -1.875000 +v -2.375000 0.375000 -2.125000 +v -2.375000 0.625000 -2.125000 +v -2.375000 0.687500 -1.812500 +v -2.375000 0.312500 -1.812500 +v -2.375000 0.312500 -2.187500 +v -2.375000 0.687500 -2.187500 +v -2.250000 0.625000 -1.875000 +v -2.250000 0.375000 -1.875000 +v -2.250000 0.375000 -2.125000 +v -2.250000 0.625000 -2.125000 +v -2.500000 0.312500 2.187500 +v -2.500000 0.312500 1.812500 +v -2.500000 0.687500 2.187500 +v -2.500000 0.687500 1.812500 +v -2.375000 0.625000 2.125000 +v -2.375000 0.375000 2.125000 +v -2.375000 0.375000 1.875000 +v -2.375000 0.625000 1.875000 +v -2.375000 0.687500 2.187500 +v -2.375000 0.312500 2.187500 +v -2.375000 0.312500 1.812500 +v -2.375000 0.687500 1.812500 +v -2.250000 0.625000 2.125000 +v -2.250000 0.375000 2.125000 +v -2.250000 0.375000 1.875000 +v -2.250000 0.625000 1.875000 +v -2.500000 0.312500 1.187500 +v -2.500000 0.312500 0.812500 +v -2.500000 0.687500 1.187500 +v -2.500000 0.687500 0.812500 +v -2.375000 0.625000 1.125000 +v -2.375000 0.375000 1.125000 +v -2.375000 0.375000 0.875000 +v -2.375000 0.625000 0.875000 +v -2.375000 0.687500 1.187500 +v -2.375000 0.312500 1.187500 +v -2.375000 0.312500 0.812500 +v -2.375000 0.687500 0.812500 +v -2.250000 0.625000 1.125000 +v -2.250000 0.375000 1.125000 +v -2.250000 0.375000 0.875000 +v -2.250000 0.625000 0.875000 +v -0.187500 0.312500 -2.500000 +v 0.187500 0.312500 -2.500000 +v -0.187500 0.687500 -2.500000 +v 0.187500 0.687500 -2.500000 +v -0.125000 0.625000 -2.375000 +v -0.125000 0.375000 -2.375000 +v 0.125000 0.375000 -2.375000 +v 0.125000 0.625000 -2.375000 +v -0.187500 0.687500 -2.375000 +v -0.187500 0.312500 -2.375000 +v 0.187500 0.312500 -2.375000 +v 0.187500 0.687500 -2.375000 +v -0.125000 0.625000 -2.250000 +v -0.125000 0.375000 -2.250000 +v 0.125000 0.375000 -2.250000 +v 0.125000 0.625000 -2.250000 +v 0.812500 0.312500 -2.500000 +v 1.187500 0.312500 -2.500000 +v 0.812500 0.687500 -2.500000 +v 1.187500 0.687500 -2.500000 +v 0.875000 0.625000 -2.375000 +v 0.875000 0.375000 -2.375000 +v 1.125000 0.375000 -2.375000 +v 1.125000 0.625000 -2.375000 +v 0.812500 0.687500 -2.375000 +v 0.812500 0.312500 -2.375000 +v 1.187500 0.312500 -2.375000 +v 1.187500 0.687500 -2.375000 +v 0.875000 0.625000 -2.250000 +v 0.875000 0.375000 -2.250000 +v 1.125000 0.375000 -2.250000 +v 1.125000 0.625000 -2.250000 +v 1.812500 0.312500 -2.500000 +v 2.187500 0.312500 -2.500000 +v 1.812500 0.687500 -2.500000 +v 2.187500 0.687500 -2.500000 +v 1.875000 0.625000 -2.375000 +v 1.875000 0.375000 -2.375000 +v 2.125000 0.375000 -2.375000 +v 2.125000 0.625000 -2.375000 +v 1.812500 0.687500 -2.375000 +v 1.812500 0.312500 -2.375000 +v 2.187500 0.312500 -2.375000 +v 2.187500 0.687500 -2.375000 +v 1.875000 0.625000 -2.250000 +v 1.875000 0.375000 -2.250000 +v 2.125000 0.375000 -2.250000 +v 2.125000 0.625000 -2.250000 +v -2.187500 0.312500 -2.500000 +v -1.812500 0.312500 -2.500000 +v -2.187500 0.687500 -2.500000 +v -1.812500 0.687500 -2.500000 +v -2.125000 0.625000 -2.375000 +v -2.125000 0.375000 -2.375000 +v -1.875000 0.375000 -2.375000 +v -1.875000 0.625000 -2.375000 +v -2.187500 0.687500 -2.375000 +v -2.187500 0.312500 -2.375000 +v -1.812500 0.312500 -2.375000 +v -1.812500 0.687500 -2.375000 +v -2.125000 0.625000 -2.250000 +v -2.125000 0.375000 -2.250000 +v -1.875000 0.375000 -2.250000 +v -1.875000 0.625000 -2.250000 +v -1.187500 0.312500 -2.500000 +v -0.812500 0.312500 -2.500000 +v -1.187500 0.687500 -2.500000 +v -0.812500 0.687500 -2.500000 +v -1.125000 0.625000 -2.375000 +v -1.125000 0.375000 -2.375000 +v -0.875000 0.375000 -2.375000 +v -0.875000 0.625000 -2.375000 +v -1.187500 0.687500 -2.375000 +v -1.187500 0.312500 -2.375000 +v -0.812500 0.312500 -2.375000 +v -0.812500 0.687500 -2.375000 +v -1.125000 0.625000 -2.250000 +v -1.125000 0.375000 -2.250000 +v -0.875000 0.375000 -2.250000 +v -0.875000 0.625000 -2.250000 +v 0.187500 0.312500 2.500000 +v -0.187500 0.312500 2.500000 +v 0.187500 0.687500 2.500000 +v -0.187500 0.687500 2.500000 +v 0.125000 0.625000 2.375000 +v 0.125000 0.375000 2.375000 +v -0.125000 0.375000 2.375000 +v -0.125000 0.625000 2.375000 +v 0.187500 0.687500 2.375000 +v 0.187500 0.312500 2.375000 +v -0.187500 0.312500 2.375000 +v -0.187500 0.687500 2.375000 +v 0.125000 0.625000 2.250000 +v 0.125000 0.375000 2.250000 +v -0.125000 0.375000 2.250000 +v -0.125000 0.625000 2.250000 +v -0.812500 0.312500 2.500000 +v -1.187500 0.312500 2.500000 +v -0.812500 0.687500 2.500000 +v -1.187500 0.687500 2.500000 +v -0.875000 0.625000 2.375000 +v -0.875000 0.375000 2.375000 +v -1.125000 0.375000 2.375000 +v -1.125000 0.625000 2.375000 +v -0.812500 0.687500 2.375000 +v -0.812500 0.312500 2.375000 +v -1.187500 0.312500 2.375000 +v -1.187500 0.687500 2.375000 +v -0.875000 0.625000 2.250000 +v -0.875000 0.375000 2.250000 +v -1.125000 0.375000 2.250000 +v -1.125000 0.625000 2.250000 +v -1.812500 0.312500 2.500000 +v -2.187500 0.312500 2.500000 +v -1.812500 0.687500 2.500000 +v -2.187500 0.687500 2.500000 +v -1.875000 0.625000 2.375000 +v -1.875000 0.375000 2.375000 +v -2.125000 0.375000 2.375000 +v -2.125000 0.625000 2.375000 +v -1.812500 0.687500 2.375000 +v -1.812500 0.312500 2.375000 +v -2.187500 0.312500 2.375000 +v -2.187500 0.687500 2.375000 +v -1.875000 0.625000 2.250000 +v -1.875000 0.375000 2.250000 +v -2.125000 0.375000 2.250000 +v -2.125000 0.625000 2.250000 +v 2.187500 0.312500 2.500000 +v 1.812500 0.312500 2.500000 +v 2.187500 0.687500 2.500000 +v 1.812500 0.687500 2.500000 +v 2.125000 0.625000 2.375000 +v 2.125000 0.375000 2.375000 +v 1.875000 0.375000 2.375000 +v 1.875000 0.625000 2.375000 +v 2.187500 0.687500 2.375000 +v 2.187500 0.312500 2.375000 +v 1.812500 0.312500 2.375000 +v 1.812500 0.687500 2.375000 +v 2.125000 0.625000 2.250000 +v 2.125000 0.375000 2.250000 +v 1.875000 0.375000 2.250000 +v 1.875000 0.625000 2.250000 +v 1.187500 0.312500 2.500000 +v 0.812500 0.312500 2.500000 +v 1.187500 0.687500 2.500000 +v 0.812500 0.687500 2.500000 +v 1.125000 0.625000 2.375000 +v 1.125000 0.375000 2.375000 +v 0.875000 0.375000 2.375000 +v 0.875000 0.625000 2.375000 +v 1.187500 0.687500 2.375000 +v 1.187500 0.312500 2.375000 +v 0.812500 0.312500 2.375000 +v 0.812500 0.687500 2.375000 +v 1.125000 0.625000 2.250000 +v 1.125000 0.375000 2.250000 +v 0.875000 0.375000 2.250000 +v 0.875000 0.625000 2.250000 +v 1.088388 0.411612 1.750000 +v 1.000000 0.375000 1.750000 +v 0.911612 0.411612 1.750000 +v 0.875000 0.500000 1.750000 +v 0.911612 0.588388 1.750000 +v 1.000000 0.625000 1.750000 +v 1.088388 0.588388 1.750000 +v 1.125000 0.500000 1.750000 +v 1.088388 0.411612 1.250000 +v 1.000000 0.375000 1.250000 +v 0.911612 0.411612 1.250000 +v 0.875000 0.500000 1.250000 +v 0.911612 0.588388 1.250000 +v 1.000000 0.625000 1.250000 +v 1.088388 0.588388 1.250000 +v 1.125000 0.500000 1.250000 +v 0.088388 0.411612 1.750000 +v -0.000000 0.375000 1.750000 +v -0.088388 0.411612 1.750000 +v -0.125000 0.500000 1.750000 +v -0.088388 0.588388 1.750000 +v -0.000000 0.625000 1.750000 +v 0.088388 0.588388 1.750000 +v 0.125000 0.500000 1.750000 +v 0.088388 0.411612 1.250000 +v -0.000000 0.375000 1.250000 +v -0.088388 0.411612 1.250000 +v -0.125000 0.500000 1.250000 +v -0.088388 0.588388 1.250000 +v -0.000000 0.625000 1.250000 +v 0.088388 0.588388 1.250000 +v 0.125000 0.500000 1.250000 +v -0.911612 0.411612 1.750000 +v -1.000000 0.375000 1.750000 +v -1.088388 0.411612 1.750000 +v -1.125000 0.500000 1.750000 +v -1.088388 0.588388 1.750000 +v -1.000000 0.625000 1.750000 +v -0.911612 0.588388 1.750000 +v -0.875000 0.500000 1.750000 +v -0.911612 0.411612 1.250000 +v -1.000000 0.375000 1.250000 +v -1.088388 0.411612 1.250000 +v -1.125000 0.500000 1.250000 +v -1.088388 0.588388 1.250000 +v -1.000000 0.625000 1.250000 +v -0.911612 0.588388 1.250000 +v -0.875000 0.500000 1.250000 +v -1.911612 0.411612 1.750000 +v -2.000000 0.375000 1.750000 +v -2.088388 0.411612 1.750000 +v -2.125000 0.500000 1.750000 +v -2.088388 0.588388 1.750000 +v -2.000000 0.625000 1.750000 +v -1.911612 0.588388 1.750000 +v -1.875000 0.500000 1.750000 +v -1.911612 0.411612 1.250000 +v -2.000000 0.375000 1.250000 +v -2.088388 0.411612 1.250000 +v -2.125000 0.500000 1.250000 +v -2.088388 0.588388 1.250000 +v -2.000000 0.625000 1.250000 +v -1.911612 0.588388 1.250000 +v -1.875000 0.500000 1.250000 +v 2.088388 0.411612 -1.250000 +v 2.000000 0.375000 -1.250000 +v 1.911612 0.411612 -1.250000 +v 1.875000 0.500000 -1.250000 +v 1.911612 0.588388 -1.250000 +v 2.000000 0.625000 -1.250000 +v 2.088388 0.588388 -1.250000 +v 2.125000 0.500000 -1.250000 +v 2.088388 0.411612 -1.750000 +v 2.000000 0.375000 -1.750000 +v 1.911612 0.411612 -1.750000 +v 1.875000 0.500000 -1.750000 +v 1.911612 0.588388 -1.750000 +v 2.000000 0.625000 -1.750000 +v 2.088388 0.588388 -1.750000 +v 2.125000 0.500000 -1.750000 +v 1.088388 0.411612 -1.250000 +v 1.000000 0.375000 -1.250000 +v 0.911612 0.411612 -1.250000 +v 0.875000 0.500000 -1.250000 +v 0.911612 0.588388 -1.250000 +v 1.000000 0.625000 -1.250000 +v 1.088388 0.588388 -1.250000 +v 1.125000 0.500000 -1.250000 +v 1.088389 0.411612 -1.750000 +v 1.000000 0.375000 -1.750000 +v 0.911612 0.411612 -1.750000 +v 0.875000 0.500000 -1.750000 +v 0.911612 0.588388 -1.750000 +v 1.000000 0.625000 -1.750000 +v 1.088389 0.588388 -1.750000 +v 1.125000 0.500000 -1.750000 +v 0.088388 0.411612 -1.250000 +v 0.000000 0.375000 -1.250000 +v -0.088388 0.411612 -1.250000 +v -0.125000 0.500000 -1.250000 +v -0.088388 0.588388 -1.250000 +v 0.000000 0.625000 -1.250000 +v 0.088388 0.588388 -1.250000 +v 0.125000 0.500000 -1.250000 +v 0.088389 0.411612 -1.750000 +v 0.000000 0.375000 -1.750000 +v -0.088388 0.411612 -1.750000 +v -0.125000 0.500000 -1.750000 +v -0.088388 0.588388 -1.750000 +v 0.000000 0.625000 -1.750000 +v 0.088389 0.588388 -1.750000 +v 0.125000 0.500000 -1.750000 +v -0.911611 0.411612 -1.250000 +v -1.000000 0.375000 -1.250000 +v -1.088388 0.411612 -1.250000 +v -1.125000 0.500000 -1.250000 +v -1.088388 0.588388 -1.250000 +v -1.000000 0.625000 -1.250000 +v -0.911611 0.588388 -1.250000 +v -0.875000 0.500000 -1.250000 +v -0.911611 0.411612 -1.750000 +v -1.000000 0.375000 -1.750000 +v -1.088388 0.411612 -1.750000 +v -1.125000 0.500000 -1.750000 +v -1.088388 0.588388 -1.750000 +v -1.000000 0.625000 -1.750000 +v -0.911611 0.588388 -1.750000 +v -0.875000 0.500000 -1.750000 +v -1.911612 0.411612 -1.250000 +v -2.000000 0.375000 -1.250000 +v -2.088388 0.411612 -1.250000 +v -2.125000 0.500000 -1.250000 +v -2.088388 0.588388 -1.250000 +v -2.000000 0.625000 -1.250000 +v -1.911612 0.588388 -1.250000 +v -1.875000 0.500000 -1.250000 +v -1.911611 0.411612 -1.750000 +v -2.000000 0.375000 -1.750000 +v -2.088388 0.411612 -1.750000 +v -2.125000 0.500000 -1.750000 +v -2.088388 0.588388 -1.750000 +v -2.000000 0.625000 -1.750000 +v -1.911611 0.588388 -1.750000 +v -1.875000 0.500000 -1.750000 +vt 0.490196 0.574713 +vt 0.843137 0.586207 +vt 0.490196 0.586207 +vt 0.862745 -0.000000 +vt 0.882353 0.022989 +vt 0.862745 0.022989 +vt 0.882353 0.045977 +vt 0.862745 0.068966 +vt 0.862745 0.045977 +vt 0.921569 0.022989 +vt 0.901961 0.045977 +vt 0.901961 0.022989 +vt 0.941176 0.022989 +vt 0.921569 0.045977 +vt 0.862745 -0.000000 +vt 0.882353 0.022989 +vt 0.862745 0.022989 +vt 0.882353 0.045977 +vt 0.862745 0.068966 +vt 0.862745 0.045977 +vt 0.921569 0.022989 +vt 0.901961 0.045977 +vt 0.901961 0.022989 +vt 0.941176 0.022989 +vt 0.921569 0.045977 +vt 0.862745 -0.000000 +vt 0.882353 0.022989 +vt 0.862745 0.022989 +vt 0.882353 0.045977 +vt 0.862745 0.068966 +vt 0.862745 0.045977 +vt 0.921569 0.022989 +vt 0.901961 0.045977 +vt 0.901961 0.022989 +vt 0.941176 0.022989 +vt 0.921569 0.045977 +vt 0.862745 -0.000000 +vt 0.882353 0.022989 +vt 0.862745 0.022989 +vt 0.882353 0.045977 +vt 0.862745 0.068966 +vt 0.862745 0.045977 +vt 0.921569 0.022989 +vt 0.901961 0.045977 +vt 0.901961 0.022989 +vt 0.941176 0.022989 +vt 0.921569 0.045977 +vt 0.843137 0.597701 +vt 0.490196 0.563218 +vt 0.843137 0.574713 +vt 0.490196 0.597701 +vt 0.843137 0.609195 +vt 0.490196 0.609195 +vt 0.490196 0.574713 +vt 0.843137 0.586207 +vt 0.490196 0.586207 +vt 0.843137 0.597701 +vt 0.490196 0.563218 +vt 0.843137 0.574713 +vt 0.490196 0.597701 +vt 0.843137 0.609195 +vt 0.490196 0.609195 +vt 0.490196 0.574713 +vt 0.843137 0.586207 +vt 0.490196 0.586207 +vt 0.843137 0.597701 +vt 0.490196 0.563218 +vt 0.843137 0.574713 +vt 0.490196 0.597701 +vt 0.843137 0.609195 +vt 0.490196 0.609195 +vt 0.490196 0.574713 +vt 0.843137 0.586207 +vt 0.490196 0.586207 +vt 0.843137 0.597701 +vt 0.490196 0.563218 +vt 0.843137 0.574713 +vt 0.490196 0.597701 +vt 0.843137 0.609195 +vt 0.490196 0.609195 +vt 0.960784 0.011494 +vt 0.970588 0.471264 +vt 0.960784 0.471264 +vt 0.970588 0.482759 +vt 0.990196 0.471264 +vt 0.990196 0.482759 +vt 0.990196 0.000000 +vt 0.970588 0.011494 +vt 0.970588 0.000000 +vt 1.000000 0.471264 +vt 0.990196 0.011494 +vt 1.000000 0.011494 +vt 0.941176 0.011494 +vt 0.941176 0.471264 +vt 0.960784 0.011494 +vt 0.970588 0.471264 +vt 0.960784 0.471264 +vt 0.970588 0.482759 +vt 0.990196 0.471264 +vt 0.990196 0.482759 +vt 0.990196 0.000000 +vt 0.970588 0.011494 +vt 0.970588 0.000000 +vt 1.000000 0.471264 +vt 0.990196 0.011494 +vt 1.000000 0.011494 +vt 0.941176 0.011494 +vt 0.941176 0.471264 +vt 0.941176 0.011494 +vt 0.960784 0.471264 +vt 0.941176 0.471264 +vt 0.970588 0.471264 +vt 0.990196 0.011494 +vt 0.990196 0.471264 +vt 1.000000 0.471264 +vt 1.000000 0.011494 +vt 0.990196 0.000000 +vt 0.970588 0.011494 +vt 0.970588 0.000000 +vt 0.970588 0.482759 +vt 0.990196 0.482759 +vt 0.960784 0.011494 +vt 0.960784 0.011494 +vt 0.970588 0.471264 +vt 0.960784 0.471264 +vt 0.970588 0.482759 +vt 0.990196 0.471264 +vt 0.990196 0.482759 +vt 0.990196 0.000000 +vt 0.970588 0.011494 +vt 0.970588 0.000000 +vt 1.000000 0.471264 +vt 0.990196 0.011494 +vt 1.000000 0.011494 +vt 0.941176 0.011494 +vt 0.941176 0.471264 +vt 0.941176 0.011494 +vt 0.960784 0.471264 +vt 0.941176 0.471264 +vt 0.970588 0.471264 +vt 0.990196 0.011494 +vt 0.990196 0.471264 +vt 1.000000 0.471264 +vt 1.000000 0.011494 +vt 0.990196 0.000000 +vt 0.970588 0.011494 +vt 0.970588 0.000000 +vt 0.970588 0.482759 +vt 0.990196 0.482759 +vt 0.960784 0.011494 +vt 0.681373 0.063218 +vt 0.651961 0.028736 +vt 0.681373 0.028736 +vt 0.676471 0.080460 +vt 0.656863 0.091954 +vt 0.656863 0.080460 +vt 0.651961 0.063218 +vt 0.642157 0.028736 +vt 0.691176 0.063218 +vt 0.651961 0.074713 +vt 0.681373 0.017241 +vt 0.696078 0.057471 +vt 0.691176 0.028736 +vt 0.696078 0.034483 +vt 0.676471 0.011494 +vt 0.651961 0.017241 +vt 0.656863 0.011494 +vt 0.637255 0.034483 +vt 0.642157 0.063218 +vt 0.637255 0.057471 +vt 0.681373 0.074713 +vt 0.676471 0.000000 +vt 0.627451 0.034483 +vt 0.705882 0.057471 +vt 0.083719 0.931057 +vt 0.117647 0.908092 +vt 0.151575 0.976988 +vt 0.005288 0.976988 +vt 0.005288 0.931057 +vt 0.073143 0.931057 +vt 0.117647 0.459770 +vt 0.078431 0.045977 +vt 0.117647 0.045977 +vt 0.078431 0.459770 +vt 0.039216 0.045977 +vt 0.156863 0.459770 +vt 0.078431 0.505747 +vt 0.117647 -0.000000 +vt 0.000000 0.045977 +vt 0.039216 0.459770 +vt 0.000000 0.459770 +vt 0.117647 0.459770 +vt 0.078431 0.045977 +vt 0.117647 0.045977 +vt 0.078431 0.459770 +vt 0.039216 0.045977 +vt 0.156863 0.459770 +vt 0.078431 0.505747 +vt 0.117647 -0.000000 +vt 0.000000 0.045977 +vt 0.039216 0.459770 +vt 0.000000 0.459770 +vt 0.588235 0.459770 +vt 0.392157 0.045977 +vt 0.588235 0.045977 +vt 0.392157 0.459770 +vt 0.352941 0.045977 +vt 0.627451 0.459770 +vt 0.392157 0.505747 +vt 0.588235 0.000000 +vt 0.176471 0.436782 +vt 0.352941 0.459770 +vt 0.156863 0.459770 +vt 0.627451 0.091954 +vt 0.705882 0.459770 +vt 0.627451 0.459770 +vt 0.176471 0.068966 +vt 0.156863 0.045977 +vt 0.333333 0.068966 +vt 0.333333 0.436782 +vt 0.862745 0.091954 +vt 0.862745 0.459770 +vt 0.941176 0.459770 +vt 0.941176 0.091954 +vt 0.862745 0.000000 +vt 0.705882 0.091954 +vt 0.705882 0.000000 +vt 0.705882 0.551724 +vt 0.862745 0.551724 +vt 0.196078 0.229885 +vt 0.313726 0.091954 +vt 0.313726 0.229885 +vt 0.196078 0.252874 +vt 0.313726 0.252874 +vt 0.176471 0.091954 +vt 0.176471 0.229885 +vt 0.333333 0.229885 +vt 0.333333 0.091954 +vt 0.313726 0.068966 +vt 0.196078 0.091954 +vt 0.196078 0.068966 +vt 0.176471 0.540230 +vt 0.156863 0.528736 +vt 0.176471 0.528736 +vt 0.196078 0.540230 +vt 0.196078 0.528736 +vt 0.215686 0.528736 +vt 0.215686 0.540230 +vt 0.235294 0.540230 +vt 0.235294 0.528736 +vt 0.254902 0.528736 +vt 0.254902 0.540230 +vt 0.274510 0.528736 +vt 0.274510 0.540230 +vt 0.294118 0.540230 +vt 0.294118 0.528736 +vt 0.313726 0.540230 +vt 0.313726 0.528736 +vt 0.019608 0.540230 +vt 0.000000 0.528736 +vt 0.019608 0.528736 +vt 0.039216 0.540230 +vt 0.039216 0.528736 +vt 0.058824 0.540230 +vt 0.058824 0.528736 +vt 0.078431 0.540230 +vt 0.078431 0.528736 +vt 0.098039 0.528736 +vt 0.098039 0.540230 +vt 0.117647 0.528736 +vt 0.117647 0.540230 +vt 0.137255 0.540230 +vt 0.137255 0.528736 +vt 0.156863 0.540230 +vt 0.210784 0.465517 +vt 0.308824 0.459770 +vt 0.308824 0.465517 +vt 0.210784 0.465517 +vt 0.308824 0.459770 +vt 0.308824 0.465517 +vt 0.210784 0.465517 +vt 0.308824 0.459770 +vt 0.308824 0.465517 +vt 0.210784 0.465517 +vt 0.308824 0.459770 +vt 0.308824 0.465517 +vt 0.220588 0.465517 +vt 0.299020 0.459770 +vt 0.299020 0.465517 +vt 0.220588 0.465517 +vt 0.299020 0.459770 +vt 0.299020 0.465517 +vt 0.196078 0.229885 +vt 0.313726 0.091954 +vt 0.313726 0.229885 +vt 0.196078 0.252874 +vt 0.313726 0.252874 +vt 0.176471 0.091954 +vt 0.176471 0.229885 +vt 0.333333 0.229885 +vt 0.333333 0.091954 +vt 0.313726 0.068966 +vt 0.196078 0.091954 +vt 0.196078 0.068966 +vt 0.210784 0.465517 +vt 0.308824 0.459770 +vt 0.308824 0.465517 +vt 0.210784 0.465517 +vt 0.308824 0.459770 +vt 0.308824 0.465517 +vt 0.210784 0.465517 +vt 0.308824 0.459770 +vt 0.308824 0.465517 +vt 0.210784 0.465517 +vt 0.308824 0.459770 +vt 0.308824 0.465517 +vt 0.220588 0.465517 +vt 0.299020 0.459770 +vt 0.299020 0.465517 +vt 0.220588 0.465517 +vt 0.299020 0.459770 +vt 0.299020 0.465517 +vt 0.333333 0.528736 +vt 0.372549 0.482759 +vt 0.372549 0.528736 +vt 0.313726 0.482759 +vt 0.313726 0.528736 +vt 0.392157 0.528736 +vt 0.392157 0.482759 +vt 0.372549 0.459770 +vt 0.333333 0.482759 +vt 0.333333 0.459770 +vt 0.333333 0.551724 +vt 0.372549 0.551724 +vt 0.274510 0.402299 +vt 0.303922 0.367816 +vt 0.303922 0.402299 +vt 0.254902 0.367816 +vt 0.254902 0.402299 +vt 0.323529 0.402299 +vt 0.323529 0.367816 +vt 0.303922 0.344828 +vt 0.274510 0.367816 +vt 0.274510 0.344828 +vt 0.274510 0.425287 +vt 0.303922 0.425287 +vt 0.176471 0.540230 +vt 0.156863 0.528736 +vt 0.176471 0.528736 +vt 0.196078 0.540230 +vt 0.196078 0.528736 +vt 0.215686 0.528736 +vt 0.215686 0.540230 +vt 0.235294 0.540230 +vt 0.235294 0.528736 +vt 0.254902 0.528736 +vt 0.254902 0.540230 +vt 0.274510 0.540230 +vt 0.274510 0.528736 +vt 0.294118 0.540230 +vt 0.294118 0.528736 +vt 0.313726 0.540230 +vt 0.313726 0.528736 +vt 0.019608 0.540230 +vt 0.000000 0.528736 +vt 0.019608 0.528736 +vt 0.039216 0.540230 +vt 0.039216 0.528736 +vt 0.058824 0.540230 +vt 0.058824 0.528736 +vt 0.078431 0.540230 +vt 0.078431 0.528736 +vt 0.098039 0.528736 +vt 0.098039 0.540230 +vt 0.117647 0.528736 +vt 0.117647 0.540230 +vt 0.137255 0.540230 +vt 0.137255 0.528736 +vt 0.156863 0.540230 +vt 0.319013 0.931057 +vt 0.352941 0.908092 +vt 0.386869 0.976988 +vt 0.240582 0.931057 +vt 0.274510 0.908092 +vt 0.308438 0.931057 +vt 0.083719 0.931057 +vt 0.117647 0.908092 +vt 0.151575 0.976988 +vt 0.005288 0.931057 +vt 0.073143 0.931057 +vt 0.039216 0.999954 +vt 0.352941 0.908092 +vt 0.386869 0.931057 +vt 0.386869 0.976988 +vt 0.240582 0.931057 +vt 0.274510 0.908092 +vt 0.308438 0.931057 +vt 0.117647 0.908092 +vt 0.151575 0.931057 +vt 0.151575 0.976988 +vt 0.005288 0.931057 +vt 0.039216 0.908092 +vt 0.073143 0.931057 +vt 0.151575 0.976988 +vt 0.117647 0.999954 +vt 0.083719 0.931057 +vt 0.073143 0.976988 +vt 0.005288 0.976988 +vt 0.039216 0.908092 +vt 0.386869 0.976988 +vt 0.352941 0.999954 +vt 0.319013 0.931057 +vt 0.308438 0.976988 +vt 0.240582 0.976988 +vt 0.274510 0.908092 +vt 0.151575 0.976988 +vt 0.117647 0.999954 +vt 0.083719 0.931057 +vt 0.073143 0.976988 +vt 0.039216 0.999954 +vt 0.005288 0.976988 +vt 0.386869 0.976988 +vt 0.352941 0.999954 +vt 0.319013 0.931057 +vt 0.308438 0.931057 +vt 0.308438 0.976988 +vt 0.240582 0.976988 +vt 0.151575 0.976988 +vt 0.117647 0.999954 +vt 0.083719 0.931057 +vt 0.073143 0.976988 +vt 0.005288 0.976988 +vt 0.039216 0.908092 +vt 0.372549 0.528736 +vt 0.333333 0.482759 +vt 0.372549 0.482759 +vt 0.313726 0.482759 +vt 0.333333 0.528736 +vt 0.313726 0.528736 +vt 0.392157 0.528736 +vt 0.392157 0.482759 +vt 0.372549 0.459770 +vt 0.333333 0.459770 +vt 0.333333 0.551724 +vt 0.372549 0.551724 +vt 0.274510 0.402299 +vt 0.303922 0.367816 +vt 0.303922 0.402299 +vt 0.254902 0.367816 +vt 0.254902 0.402299 +vt 0.323529 0.402299 +vt 0.323529 0.367816 +vt 0.303922 0.344828 +vt 0.274510 0.367816 +vt 0.274510 0.344828 +vt 0.274510 0.425287 +vt 0.303922 0.425287 +vt 0.333333 0.528736 +vt 0.372549 0.482759 +vt 0.372549 0.528736 +vt 0.313726 0.482759 +vt 0.313726 0.528736 +vt 0.392157 0.528736 +vt 0.392157 0.482759 +vt 0.372549 0.459770 +vt 0.333333 0.482759 +vt 0.333333 0.459770 +vt 0.333333 0.551724 +vt 0.372549 0.551724 +vt 0.274510 0.402299 +vt 0.303922 0.367816 +vt 0.303922 0.402299 +vt 0.254902 0.367816 +vt 0.254902 0.402299 +vt 0.323529 0.402299 +vt 0.323529 0.367816 +vt 0.303922 0.344828 +vt 0.274510 0.367816 +vt 0.274510 0.344828 +vt 0.274510 0.425287 +vt 0.303922 0.425287 +vt 0.333333 0.528736 +vt 0.372549 0.482759 +vt 0.372549 0.528736 +vt 0.313726 0.482759 +vt 0.313726 0.528736 +vt 0.392157 0.528736 +vt 0.392157 0.482759 +vt 0.372549 0.459770 +vt 0.333333 0.482759 +vt 0.333333 0.459770 +vt 0.333333 0.551724 +vt 0.372549 0.551724 +vt 0.303922 0.402299 +vt 0.274510 0.367816 +vt 0.303922 0.367816 +vt 0.254902 0.367816 +vt 0.274510 0.402299 +vt 0.254902 0.402299 +vt 0.323529 0.402299 +vt 0.323529 0.367816 +vt 0.303922 0.344828 +vt 0.274510 0.344828 +vt 0.274510 0.425287 +vt 0.303922 0.425287 +vt 0.333333 0.528736 +vt 0.372549 0.482759 +vt 0.372549 0.528736 +vt 0.313726 0.482759 +vt 0.313726 0.528736 +vt 0.392157 0.528736 +vt 0.392157 0.482759 +vt 0.372549 0.459770 +vt 0.333333 0.482759 +vt 0.333333 0.459770 +vt 0.333333 0.551724 +vt 0.372549 0.551724 +vt 0.274510 0.402299 +vt 0.303922 0.367816 +vt 0.303922 0.402299 +vt 0.254902 0.367816 +vt 0.254902 0.402299 +vt 0.323529 0.402299 +vt 0.323529 0.367816 +vt 0.303922 0.344828 +vt 0.274510 0.367816 +vt 0.274510 0.344828 +vt 0.274510 0.425287 +vt 0.303922 0.425287 +vt 0.333333 0.528736 +vt 0.372549 0.482759 +vt 0.372549 0.528736 +vt 0.313726 0.482759 +vt 0.313726 0.528736 +vt 0.392157 0.528736 +vt 0.392157 0.482759 +vt 0.372549 0.459770 +vt 0.333333 0.482759 +vt 0.333333 0.459770 +vt 0.333333 0.551724 +vt 0.372549 0.551724 +vt 0.274510 0.402299 +vt 0.303922 0.367816 +vt 0.303922 0.402299 +vt 0.254902 0.367816 +vt 0.254902 0.402299 +vt 0.323529 0.402299 +vt 0.323529 0.367816 +vt 0.303922 0.344828 +vt 0.274510 0.367816 +vt 0.274510 0.344828 +vt 0.274510 0.425287 +vt 0.303922 0.425287 +vt 0.333333 0.528736 +vt 0.372549 0.482759 +vt 0.372549 0.528736 +vt 0.313726 0.482759 +vt 0.313726 0.528736 +vt 0.392157 0.528736 +vt 0.392157 0.482759 +vt 0.372549 0.459770 +vt 0.333333 0.482759 +vt 0.333333 0.459770 +vt 0.333333 0.551724 +vt 0.372549 0.551724 +vt 0.303922 0.402299 +vt 0.274510 0.367816 +vt 0.303922 0.367816 +vt 0.254902 0.367816 +vt 0.274510 0.402299 +vt 0.254902 0.402299 +vt 0.323529 0.402299 +vt 0.323529 0.367816 +vt 0.303922 0.344828 +vt 0.274510 0.344828 +vt 0.274510 0.425287 +vt 0.303922 0.425287 +vt 0.333333 0.528736 +vt 0.372549 0.482759 +vt 0.372549 0.528736 +vt 0.313726 0.482759 +vt 0.313726 0.528736 +vt 0.392157 0.528736 +vt 0.392157 0.482759 +vt 0.372549 0.459770 +vt 0.333333 0.482759 +vt 0.333333 0.459770 +vt 0.333333 0.551724 +vt 0.372549 0.551724 +vt 0.274510 0.402299 +vt 0.303922 0.367816 +vt 0.303922 0.402299 +vt 0.254902 0.367816 +vt 0.254902 0.402299 +vt 0.323529 0.402299 +vt 0.323529 0.367816 +vt 0.303922 0.344828 +vt 0.274510 0.367816 +vt 0.274510 0.344828 +vt 0.274510 0.425287 +vt 0.303922 0.425287 +vt 0.372549 0.528736 +vt 0.333333 0.482759 +vt 0.372549 0.482759 +vt 0.313726 0.482759 +vt 0.333333 0.528736 +vt 0.313726 0.528736 +vt 0.392157 0.528736 +vt 0.392157 0.482759 +vt 0.372549 0.459770 +vt 0.333333 0.459770 +vt 0.333333 0.551724 +vt 0.372549 0.551724 +vt 0.274510 0.402299 +vt 0.303922 0.367816 +vt 0.303922 0.402299 +vt 0.254902 0.367816 +vt 0.254902 0.402299 +vt 0.323529 0.402299 +vt 0.323529 0.367816 +vt 0.303922 0.344828 +vt 0.274510 0.367816 +vt 0.274510 0.344828 +vt 0.274510 0.425287 +vt 0.303922 0.425287 +vt 0.333333 0.528736 +vt 0.372549 0.482759 +vt 0.372549 0.528736 +vt 0.313726 0.482759 +vt 0.313726 0.528736 +vt 0.392157 0.528736 +vt 0.392157 0.482759 +vt 0.372549 0.459770 +vt 0.333333 0.482759 +vt 0.333333 0.459770 +vt 0.333333 0.551724 +vt 0.372549 0.551724 +vt 0.274510 0.402299 +vt 0.303922 0.367816 +vt 0.303922 0.402299 +vt 0.254902 0.367816 +vt 0.254902 0.402299 +vt 0.323529 0.402299 +vt 0.323529 0.367816 +vt 0.303922 0.344828 +vt 0.274510 0.367816 +vt 0.274510 0.344828 +vt 0.274510 0.425287 +vt 0.303922 0.425287 +vt 0.681373 0.522988 +vt 0.651961 0.488506 +vt 0.681373 0.488506 +vt 0.676471 0.540230 +vt 0.656863 0.551724 +vt 0.656863 0.540230 +vt 0.651961 0.522988 +vt 0.642157 0.488506 +vt 0.691176 0.522988 +vt 0.651961 0.534483 +vt 0.681373 0.477012 +vt 0.696078 0.517241 +vt 0.691176 0.488506 +vt 0.696078 0.494253 +vt 0.676471 0.471264 +vt 0.651961 0.477012 +vt 0.656863 0.471264 +vt 0.637255 0.494253 +vt 0.642157 0.522988 +vt 0.637255 0.517241 +vt 0.681373 0.534483 +vt 0.676471 0.459770 +vt 0.627451 0.494253 +vt 0.705882 0.517241 +vt 0.681373 0.063218 +vt 0.651961 0.028736 +vt 0.681373 0.028736 +vt 0.676471 0.080460 +vt 0.656863 0.091954 +vt 0.656863 0.080460 +vt 0.651961 0.063218 +vt 0.642157 0.028736 +vt 0.691176 0.063218 +vt 0.651961 0.074713 +vt 0.681373 0.017241 +vt 0.696078 0.057471 +vt 0.691176 0.028736 +vt 0.696078 0.034483 +vt 0.676471 0.011494 +vt 0.651961 0.017241 +vt 0.656863 0.011494 +vt 0.637255 0.034483 +vt 0.642157 0.063218 +vt 0.637255 0.057471 +vt 0.681373 0.074713 +vt 0.676471 0.000000 +vt 0.627451 0.034483 +vt 0.705882 0.057471 +vt 0.681373 0.063218 +vt 0.651961 0.028736 +vt 0.681373 0.028736 +vt 0.676471 0.080460 +vt 0.656863 0.091954 +vt 0.656863 0.080460 +vt 0.651961 0.063218 +vt 0.642157 0.028736 +vt 0.691176 0.063218 +vt 0.651961 0.074713 +vt 0.681373 0.017241 +vt 0.696078 0.057471 +vt 0.691176 0.028736 +vt 0.696078 0.034483 +vt 0.676471 0.011494 +vt 0.651961 0.017241 +vt 0.656863 0.011494 +vt 0.637255 0.034483 +vt 0.642157 0.063218 +vt 0.637255 0.057471 +vt 0.681373 0.074713 +vt 0.676471 0.000000 +vt 0.627451 0.034483 +vt 0.705882 0.057471 +vt 0.681373 0.522988 +vt 0.651961 0.488506 +vt 0.681373 0.488506 +vt 0.676471 0.540230 +vt 0.656863 0.551724 +vt 0.656863 0.540230 +vt 0.651961 0.522988 +vt 0.642157 0.488506 +vt 0.691176 0.522988 +vt 0.651961 0.534483 +vt 0.681373 0.477012 +vt 0.696078 0.517241 +vt 0.691176 0.488506 +vt 0.696078 0.494253 +vt 0.676471 0.471264 +vt 0.651961 0.477012 +vt 0.656863 0.471264 +vt 0.637255 0.494253 +vt 0.642157 0.522988 +vt 0.637255 0.517241 +vt 0.681373 0.534483 +vt 0.676471 0.459770 +vt 0.627451 0.494253 +vt 0.705882 0.517241 +vt 0.681373 0.063218 +vt 0.651961 0.028736 +vt 0.681373 0.028736 +vt 0.676471 0.080460 +vt 0.656863 0.091954 +vt 0.656863 0.080460 +vt 0.651961 0.063218 +vt 0.642157 0.028736 +vt 0.691176 0.063218 +vt 0.681373 0.074713 +vt 0.651961 0.074713 +vt 0.681373 0.017241 +vt 0.696078 0.057471 +vt 0.691176 0.028736 +vt 0.696078 0.034483 +vt 0.676471 0.011494 +vt 0.651961 0.017241 +vt 0.656863 0.011494 +vt 0.637255 0.034483 +vt 0.642157 0.063218 +vt 0.637255 0.057471 +vt 0.676471 0.000000 +vt 0.627451 0.034483 +vt 0.705882 0.057471 +vt 0.681373 0.522988 +vt 0.651961 0.488506 +vt 0.681373 0.488506 +vt 0.676471 0.540230 +vt 0.656863 0.551724 +vt 0.656863 0.540230 +vt 0.651961 0.522988 +vt 0.642157 0.488506 +vt 0.691176 0.522988 +vt 0.651961 0.534483 +vt 0.681373 0.477012 +vt 0.696078 0.517241 +vt 0.691176 0.488506 +vt 0.696078 0.494253 +vt 0.676471 0.471264 +vt 0.651961 0.477012 +vt 0.656863 0.471264 +vt 0.637255 0.494253 +vt 0.642157 0.522988 +vt 0.637255 0.517241 +vt 0.681373 0.534483 +vt 0.676471 0.459770 +vt 0.627451 0.494253 +vt 0.705882 0.517241 +vt 0.681373 0.063218 +vt 0.651961 0.028736 +vt 0.681373 0.028736 +vt 0.676471 0.080460 +vt 0.656863 0.091954 +vt 0.656863 0.080460 +vt 0.651961 0.063218 +vt 0.642157 0.028736 +vt 0.691176 0.063218 +vt 0.651961 0.074713 +vt 0.681373 0.017241 +vt 0.696078 0.057471 +vt 0.691176 0.028736 +vt 0.696078 0.034483 +vt 0.676471 0.011494 +vt 0.651961 0.017241 +vt 0.656863 0.011494 +vt 0.637255 0.034483 +vt 0.642157 0.063218 +vt 0.637255 0.057471 +vt 0.681373 0.074713 +vt 0.676471 0.000000 +vt 0.627451 0.034483 +vt 0.705882 0.057471 +vt 0.681373 0.063218 +vt 0.651961 0.028736 +vt 0.681373 0.028736 +vt 0.676471 0.080460 +vt 0.656863 0.091954 +vt 0.656863 0.080460 +vt 0.651961 0.063218 +vt 0.642157 0.028736 +vt 0.691176 0.063218 +vt 0.651961 0.074713 +vt 0.681373 0.017241 +vt 0.696078 0.057471 +vt 0.691176 0.028736 +vt 0.696078 0.034483 +vt 0.676471 0.011494 +vt 0.651961 0.017241 +vt 0.656863 0.011494 +vt 0.637255 0.034483 +vt 0.642157 0.063218 +vt 0.637255 0.057471 +vt 0.681373 0.074713 +vt 0.676471 0.000000 +vt 0.627451 0.034483 +vt 0.705882 0.057471 +vt 0.681373 0.522988 +vt 0.651961 0.488506 +vt 0.681373 0.488506 +vt 0.676471 0.540230 +vt 0.656863 0.551724 +vt 0.656863 0.540230 +vt 0.651961 0.522988 +vt 0.642157 0.488506 +vt 0.691176 0.522988 +vt 0.651961 0.534483 +vt 0.681373 0.477012 +vt 0.696078 0.517241 +vt 0.691176 0.488506 +vt 0.696078 0.494253 +vt 0.676471 0.471264 +vt 0.651961 0.477012 +vt 0.656863 0.471264 +vt 0.637255 0.494253 +vt 0.642157 0.522988 +vt 0.637255 0.517241 +vt 0.681373 0.534483 +vt 0.676471 0.459770 +vt 0.627451 0.494253 +vt 0.705882 0.517241 +vt 0.681373 0.063218 +vt 0.651961 0.028736 +vt 0.681373 0.028736 +vt 0.676471 0.080460 +vt 0.656863 0.091954 +vt 0.656863 0.080460 +vt 0.651961 0.063218 +vt 0.642157 0.028736 +vt 0.691176 0.063218 +vt 0.651961 0.074713 +vt 0.681373 0.017241 +vt 0.696078 0.057471 +vt 0.691176 0.028736 +vt 0.696078 0.034483 +vt 0.676471 0.011494 +vt 0.651961 0.017241 +vt 0.656863 0.011494 +vt 0.637255 0.034483 +vt 0.642157 0.063218 +vt 0.637255 0.057471 +vt 0.681373 0.074713 +vt 0.676471 0.000000 +vt 0.627451 0.034483 +vt 0.705882 0.057471 +vt 0.681373 0.063218 +vt 0.651961 0.028736 +vt 0.681373 0.028736 +vt 0.676471 0.080460 +vt 0.656863 0.091954 +vt 0.656863 0.080460 +vt 0.651961 0.063218 +vt 0.642157 0.028736 +vt 0.691176 0.063218 +vt 0.651961 0.074713 +vt 0.681373 0.017241 +vt 0.696078 0.057471 +vt 0.691176 0.028736 +vt 0.696078 0.034483 +vt 0.676471 0.011494 +vt 0.651961 0.017241 +vt 0.656863 0.011494 +vt 0.637255 0.034483 +vt 0.642157 0.063218 +vt 0.637255 0.057471 +vt 0.681373 0.074713 +vt 0.676471 0.000000 +vt 0.627451 0.034483 +vt 0.705882 0.057471 +vt 0.681373 0.063218 +vt 0.651961 0.028736 +vt 0.681373 0.028736 +vt 0.676471 0.080460 +vt 0.656863 0.091954 +vt 0.656863 0.080460 +vt 0.651961 0.063218 +vt 0.642157 0.028736 +vt 0.691176 0.063218 +vt 0.651961 0.074713 +vt 0.681373 0.017241 +vt 0.696078 0.057471 +vt 0.691176 0.028736 +vt 0.696078 0.034483 +vt 0.676471 0.011494 +vt 0.651961 0.017241 +vt 0.656863 0.011494 +vt 0.637255 0.034483 +vt 0.642157 0.063218 +vt 0.637255 0.057471 +vt 0.681373 0.074713 +vt 0.676471 0.000000 +vt 0.627451 0.034483 +vt 0.705882 0.057471 +vt 0.681373 0.063218 +vt 0.651961 0.028736 +vt 0.681373 0.028736 +vt 0.676471 0.080460 +vt 0.656863 0.091954 +vt 0.656863 0.080460 +vt 0.651961 0.063218 +vt 0.642157 0.028736 +vt 0.691176 0.063218 +vt 0.651961 0.074713 +vt 0.681373 0.017241 +vt 0.696078 0.057471 +vt 0.691176 0.028736 +vt 0.696078 0.034483 +vt 0.676471 0.011494 +vt 0.651961 0.017241 +vt 0.656863 0.011494 +vt 0.637255 0.034483 +vt 0.642157 0.063218 +vt 0.637255 0.057471 +vt 0.681373 0.074713 +vt 0.676471 0.000000 +vt 0.627451 0.034483 +vt 0.705882 0.057471 +vt 0.681373 0.063218 +vt 0.651961 0.028736 +vt 0.681373 0.028736 +vt 0.676471 0.080460 +vt 0.656863 0.091954 +vt 0.656863 0.080460 +vt 0.651961 0.063218 +vt 0.642157 0.028736 +vt 0.691176 0.063218 +vt 0.651961 0.074713 +vt 0.681373 0.017241 +vt 0.696078 0.057471 +vt 0.691176 0.028736 +vt 0.696078 0.034483 +vt 0.676471 0.011494 +vt 0.651961 0.017241 +vt 0.656863 0.011494 +vt 0.637255 0.034483 +vt 0.642157 0.063218 +vt 0.637255 0.057471 +vt 0.681373 0.074713 +vt 0.676471 0.000000 +vt 0.627451 0.034483 +vt 0.705882 0.057471 +vt 0.681373 0.063218 +vt 0.651961 0.028736 +vt 0.681373 0.028736 +vt 0.676471 0.080460 +vt 0.656863 0.091954 +vt 0.656863 0.080460 +vt 0.651961 0.063218 +vt 0.642157 0.028736 +vt 0.691176 0.063218 +vt 0.651961 0.074713 +vt 0.681373 0.017241 +vt 0.696078 0.057471 +vt 0.691176 0.028736 +vt 0.696078 0.034483 +vt 0.676471 0.011494 +vt 0.651961 0.017241 +vt 0.656863 0.011494 +vt 0.637255 0.034483 +vt 0.642157 0.063218 +vt 0.637255 0.057471 +vt 0.681373 0.074713 +vt 0.676471 0.000000 +vt 0.627451 0.034483 +vt 0.705882 0.057471 +vt 0.681373 0.063218 +vt 0.651961 0.028736 +vt 0.681373 0.028736 +vt 0.676471 0.080460 +vt 0.656863 0.091954 +vt 0.656863 0.080460 +vt 0.651961 0.063218 +vt 0.642157 0.028736 +vt 0.691176 0.063218 +vt 0.651961 0.074713 +vt 0.681373 0.017241 +vt 0.696078 0.057471 +vt 0.691176 0.028736 +vt 0.696078 0.034483 +vt 0.676471 0.011494 +vt 0.651961 0.017241 +vt 0.656863 0.011494 +vt 0.637255 0.034483 +vt 0.642157 0.063218 +vt 0.637255 0.057471 +vt 0.681373 0.074713 +vt 0.676471 0.000000 +vt 0.627451 0.034483 +vt 0.705882 0.057471 +vt 0.681373 0.063218 +vt 0.651961 0.028736 +vt 0.681373 0.028736 +vt 0.656863 0.080460 +vt 0.676471 0.091954 +vt 0.656863 0.091954 +vt 0.651961 0.063218 +vt 0.642157 0.028736 +vt 0.691176 0.063218 +vt 0.681373 0.074713 +vt 0.651961 0.074713 +vt 0.681373 0.017241 +vt 0.696078 0.057471 +vt 0.691176 0.028736 +vt 0.696078 0.034483 +vt 0.676471 0.011494 +vt 0.651961 0.017241 +vt 0.656863 0.011494 +vt 0.637255 0.034483 +vt 0.642157 0.063218 +vt 0.637255 0.057471 +vt 0.676471 0.080460 +vt 0.676471 0.000000 +vt 0.627451 0.034483 +vt 0.705882 0.057471 +vt 0.681373 0.063218 +vt 0.651961 0.028736 +vt 0.681373 0.028736 +vt 0.676471 0.080460 +vt 0.656863 0.091954 +vt 0.656863 0.080460 +vt 0.651961 0.063218 +vt 0.642157 0.028736 +vt 0.691176 0.063218 +vt 0.651961 0.074713 +vt 0.681373 0.017241 +vt 0.696078 0.057471 +vt 0.691176 0.028736 +vt 0.696078 0.034483 +vt 0.676471 0.011494 +vt 0.651961 0.017241 +vt 0.656863 0.011494 +vt 0.637255 0.034483 +vt 0.642157 0.063218 +vt 0.637255 0.057471 +vt 0.681373 0.074713 +vt 0.676471 0.000000 +vt 0.627451 0.034483 +vt 0.705882 0.057471 +vt 0.681373 0.063218 +vt 0.651961 0.028736 +vt 0.681373 0.028736 +vt 0.676471 0.080460 +vt 0.656863 0.091954 +vt 0.656863 0.080460 +vt 0.651961 0.063218 +vt 0.642157 0.028736 +vt 0.691176 0.063218 +vt 0.651961 0.074713 +vt 0.681373 0.017241 +vt 0.696078 0.057471 +vt 0.691176 0.028736 +vt 0.696078 0.034483 +vt 0.676471 0.011494 +vt 0.651961 0.017241 +vt 0.656863 0.011494 +vt 0.637255 0.034483 +vt 0.642157 0.063218 +vt 0.637255 0.057471 +vt 0.681373 0.074713 +vt 0.676471 0.000000 +vt 0.627451 0.034483 +vt 0.705882 0.057471 +vt 0.882353 -0.000000 +vt 0.882353 0.068966 +vt 0.941176 0.045977 +vt 0.882353 -0.000000 +vt 0.882353 0.068966 +vt 0.941176 0.045977 +vt 0.882353 -0.000000 +vt 0.882353 0.068966 +vt 0.941176 0.045977 +vt 0.882353 -0.000000 +vt 0.882353 0.068966 +vt 0.941176 0.045977 +vt 0.843137 0.563218 +vt 0.843137 0.563218 +vt 0.843137 0.563218 +vt 0.843137 0.563218 +vt 0.676471 0.091954 +vt 0.656863 0.000000 +vt 0.627451 0.057471 +vt 0.705882 0.034483 +vt 0.137235 0.993800 +vt 0.117647 0.999954 +vt 0.098059 0.993800 +vt 0.083719 0.976988 +vt 0.078471 0.954023 +vt 0.098059 0.914245 +vt 0.137235 0.914245 +vt 0.151575 0.931057 +vt 0.156823 0.954023 +vt 0.039216 0.999954 +vt 0.019627 0.993800 +vt 0.000039 0.954023 +vt 0.019627 0.914245 +vt 0.039216 0.908092 +vt 0.058804 0.914245 +vt 0.078392 0.954023 +vt 0.073143 0.976988 +vt 0.058804 0.993800 +vt 0.156863 0.045977 +vt 0.117647 0.505747 +vt 0.078431 -0.000000 +vt 0.156863 0.045977 +vt 0.117647 0.505747 +vt 0.078431 -0.000000 +vt 0.627451 0.045977 +vt 0.588235 0.505747 +vt 0.392157 0.000000 +vt 0.000000 0.540230 +vt 0.210784 0.459770 +vt 0.210784 0.459770 +vt 0.210784 0.459770 +vt 0.210784 0.459770 +vt 0.220588 0.459770 +vt 0.220588 0.459770 +vt 0.210784 0.459770 +vt 0.210784 0.459770 +vt 0.210784 0.459770 +vt 0.210784 0.459770 +vt 0.220588 0.459770 +vt 0.220588 0.459770 +vt 0.000000 0.540230 +vt 0.372529 0.993800 +vt 0.352941 0.999954 +vt 0.333353 0.993800 +vt 0.319013 0.976988 +vt 0.313765 0.954023 +vt 0.333353 0.914245 +vt 0.372529 0.914245 +vt 0.386869 0.931057 +vt 0.392118 0.954023 +vt 0.274510 0.999954 +vt 0.254922 0.993800 +vt 0.240582 0.976988 +vt 0.235333 0.954023 +vt 0.254922 0.914245 +vt 0.294098 0.914245 +vt 0.313686 0.954023 +vt 0.308438 0.976988 +vt 0.294098 0.993800 +vt 0.137235 0.993800 +vt 0.117647 0.999954 +vt 0.098059 0.993800 +vt 0.083719 0.976988 +vt 0.078471 0.954023 +vt 0.098059 0.914245 +vt 0.137235 0.914245 +vt 0.151575 0.931057 +vt 0.156823 0.954023 +vt 0.019627 0.993800 +vt 0.005288 0.976988 +vt 0.000039 0.954023 +vt 0.019627 0.914245 +vt 0.039216 0.908092 +vt 0.058804 0.914245 +vt 0.078392 0.954023 +vt 0.073143 0.976988 +vt 0.058804 0.993800 +vt 0.372529 0.993800 +vt 0.352941 0.999954 +vt 0.333353 0.993800 +vt 0.319013 0.976988 +vt 0.313765 0.954023 +vt 0.319013 0.931057 +vt 0.333353 0.914245 +vt 0.372529 0.914245 +vt 0.392118 0.954023 +vt 0.274510 0.999954 +vt 0.254922 0.993800 +vt 0.240582 0.976988 +vt 0.235333 0.954023 +vt 0.254922 0.914245 +vt 0.294098 0.914245 +vt 0.313686 0.954023 +vt 0.308438 0.976988 +vt 0.294098 0.993800 +vt 0.137235 0.993800 +vt 0.117647 0.999954 +vt 0.098059 0.993800 +vt 0.083719 0.976988 +vt 0.078471 0.954023 +vt 0.083719 0.931057 +vt 0.098059 0.914245 +vt 0.137235 0.914245 +vt 0.156823 0.954023 +vt 0.039216 0.999954 +vt 0.019627 0.993800 +vt 0.005288 0.976988 +vt 0.000039 0.954023 +vt 0.019627 0.914245 +vt 0.058804 0.914245 +vt 0.078392 0.954023 +vt 0.073143 0.976988 +vt 0.058804 0.993800 +vt 0.098059 0.914245 +vt 0.117647 0.908092 +vt 0.137235 0.914245 +vt 0.151575 0.931057 +vt 0.156823 0.954023 +vt 0.137235 0.993800 +vt 0.098059 0.993800 +vt 0.083719 0.976988 +vt 0.078471 0.954023 +vt 0.058804 0.914245 +vt 0.073143 0.931057 +vt 0.078392 0.954023 +vt 0.058804 0.993800 +vt 0.039216 0.999954 +vt 0.019627 0.993800 +vt 0.000039 0.954023 +vt 0.005288 0.931057 +vt 0.019627 0.914245 +vt 0.333353 0.914245 +vt 0.352941 0.908092 +vt 0.372529 0.914245 +vt 0.386869 0.931057 +vt 0.392118 0.954023 +vt 0.372529 0.993800 +vt 0.333353 0.993800 +vt 0.319013 0.976988 +vt 0.313765 0.954023 +vt 0.294098 0.914245 +vt 0.308438 0.931057 +vt 0.313686 0.954023 +vt 0.294098 0.993800 +vt 0.274510 0.999954 +vt 0.254922 0.993800 +vt 0.235333 0.954023 +vt 0.240582 0.931057 +vt 0.254922 0.914245 +vt 0.098059 0.914245 +vt 0.117647 0.908092 +vt 0.137235 0.914245 +vt 0.151575 0.931057 +vt 0.156823 0.954023 +vt 0.137235 0.993800 +vt 0.098059 0.993800 +vt 0.083719 0.976988 +vt 0.078471 0.954023 +vt 0.039216 0.908092 +vt 0.058804 0.914245 +vt 0.073143 0.931057 +vt 0.078392 0.954023 +vt 0.058804 0.993800 +vt 0.019627 0.993800 +vt 0.000039 0.954023 +vt 0.005288 0.931057 +vt 0.019627 0.914245 +vt 0.333353 0.914245 +vt 0.352941 0.908092 +vt 0.372529 0.914245 +vt 0.386869 0.931057 +vt 0.392118 0.954023 +vt 0.372529 0.993800 +vt 0.333353 0.993800 +vt 0.319013 0.976988 +vt 0.313765 0.954023 +vt 0.274510 0.908092 +vt 0.294098 0.914245 +vt 0.313686 0.954023 +vt 0.294098 0.993800 +vt 0.274510 0.999954 +vt 0.254922 0.993800 +vt 0.235333 0.954023 +vt 0.240582 0.931057 +vt 0.254922 0.914245 +vt 0.098059 0.914245 +vt 0.117647 0.908092 +vt 0.137235 0.914245 +vt 0.151575 0.931057 +vt 0.156823 0.954023 +vt 0.137235 0.993800 +vt 0.098059 0.993800 +vt 0.083719 0.976988 +vt 0.078471 0.954023 +vt 0.058804 0.914245 +vt 0.073143 0.931057 +vt 0.078392 0.954023 +vt 0.058804 0.993800 +vt 0.039216 0.999954 +vt 0.019627 0.993800 +vt 0.000039 0.954023 +vt 0.005288 0.931057 +vt 0.019627 0.914245 +vt 0.676471 0.551724 +vt 0.656863 0.459770 +vt 0.627451 0.517241 +vt 0.705882 0.494253 +vt 0.676471 0.091954 +vt 0.656863 0.000000 +vt 0.627451 0.057471 +vt 0.705882 0.034483 +vt 0.676471 0.091954 +vt 0.656863 0.000000 +vt 0.627451 0.057471 +vt 0.705882 0.034483 +vt 0.676471 0.551724 +vt 0.656863 0.459770 +vt 0.627451 0.517241 +vt 0.705882 0.494253 +vt 0.676471 0.091954 +vt 0.656863 0.000000 +vt 0.627451 0.057471 +vt 0.705882 0.034483 +vt 0.676471 0.551724 +vt 0.656863 0.459770 +vt 0.627451 0.517241 +vt 0.705882 0.494253 +vt 0.676471 0.091954 +vt 0.656863 0.000000 +vt 0.627451 0.057471 +vt 0.705882 0.034483 +vt 0.676471 0.091954 +vt 0.656863 0.000000 +vt 0.627451 0.057471 +vt 0.705882 0.034483 +vt 0.676471 0.551724 +vt 0.656863 0.459770 +vt 0.627451 0.517241 +vt 0.705882 0.494253 +vt 0.676471 0.091954 +vt 0.656863 0.000000 +vt 0.627451 0.057471 +vt 0.705882 0.034483 +vt 0.676471 0.091954 +vt 0.656863 0.000000 +vt 0.627451 0.057471 +vt 0.705882 0.034483 +vt 0.676471 0.091954 +vt 0.656863 0.000000 +vt 0.627451 0.057471 +vt 0.705882 0.034483 +vt 0.676471 0.091954 +vt 0.656863 0.000000 +vt 0.627451 0.057471 +vt 0.705882 0.034483 +vt 0.676471 0.091954 +vt 0.656863 0.000000 +vt 0.627451 0.057471 +vt 0.705882 0.034483 +vt 0.676471 0.091954 +vt 0.656863 0.000000 +vt 0.627451 0.057471 +vt 0.705882 0.034483 +vt 0.676471 0.091954 +vt 0.656863 0.000000 +vt 0.627451 0.057471 +vt 0.705882 0.034483 +vt 0.656863 0.000000 +vt 0.627451 0.057471 +vt 0.705882 0.034483 +vt 0.676471 0.091954 +vt 0.656863 0.000000 +vt 0.627451 0.057471 +vt 0.705882 0.034483 +vt 0.676471 0.091954 +vt 0.656863 0.000000 +vt 0.627451 0.057471 +vt 0.705882 0.034483 +vt 0.156863 0.908046 +vt 0.176471 0.747126 +vt 0.176471 0.908046 +vt 0.019608 0.908046 +vt 0.039216 0.747126 +vt 0.039216 0.908046 +vt 0.078431 0.908046 +vt 0.098039 0.747126 +vt 0.098039 0.908046 +vt 0.196078 0.747126 +vt 0.196078 0.908046 +vt 0.137255 0.908046 +vt 0.156863 0.747126 +vt 0.000000 0.908046 +vt 0.019608 0.747126 +vt 0.058824 0.908046 +vt 0.078431 0.747126 +vt 0.117647 0.908046 +vt 0.137255 0.747126 +vt 0.215686 0.908046 +vt 0.235294 0.747126 +vt 0.235294 0.908046 +vt 0.058824 0.747126 +vt 0.117647 0.747126 +vt 0.215686 0.747126 +vt 0.058824 0.505747 +vt 0.039216 0.505747 +vt 0.235294 0.505747 +vt 0.215686 0.505747 +vt 0.078431 0.505747 +vt 0.254902 0.505747 +vt 0.098039 0.505747 +vt 0.274510 0.505747 +vt 0.117647 0.505747 +vt 0.294118 0.505747 +vt 0.137255 0.505747 +vt 0.313726 0.505747 +vt 0.176471 0.505747 +vt 0.156863 0.505747 +vt 0.019608 0.505747 +vt -0.000000 0.505747 +vt 0.196078 0.505747 +vt 0.156863 0.563218 +vt 0.137255 0.563218 +vt 0.000000 0.563218 +vt 0.176471 0.563218 +vt 0.019608 0.563218 +vt 0.196078 0.563218 +vt 0.039216 0.563218 +vt 0.215686 0.563218 +vt 0.058824 0.563218 +vt 0.254902 0.563218 +vt 0.235294 0.563218 +vt 0.078431 0.563218 +vt 0.274510 0.563218 +vt 0.098039 0.563218 +vt 0.117647 0.563218 +vt 0.294118 0.563218 +vt 0.313726 0.505747 +vt 0.294118 0.505747 +vt 0.137255 0.505747 +vt 0.117647 0.505747 +vt 0.274510 0.505747 +vt 0.098039 0.505747 +vt 0.254902 0.505747 +vt 0.078431 0.505747 +vt 0.235294 0.505747 +vt 0.058824 0.505747 +vt 0.215686 0.505747 +vt 0.039216 0.505747 +vt 0.245098 0.379310 +vt 0.254902 0.402299 +vt 0.245098 0.402299 +vt 0.225490 0.379310 +vt 0.235294 0.402299 +vt 0.225490 0.402299 +vt 0.196078 0.379310 +vt 0.205882 0.402299 +vt 0.196078 0.402299 +vt 0.176471 0.379310 +vt 0.186275 0.402299 +vt 0.176471 0.402299 +vt 0.235294 0.379310 +vt 0.215686 0.379310 +vt 0.215686 0.402299 +vt 0.205882 0.379310 +vt 0.186275 0.379310 +vt 0.196078 0.373563 +vt 0.205882 0.362069 +vt 0.235294 0.373563 +vt 0.245098 0.362069 +vt 0.245098 0.367816 +vt 0.225490 0.362069 +vt 0.215686 0.362069 +vt 0.186275 0.362069 +vt 0.196078 0.362069 +vt 0.235294 0.362069 +vt 0.225490 0.344828 +vt 0.235294 0.350575 +vt 0.205882 0.344828 +vt 0.245098 0.356322 +vt 0.215686 0.344828 +vt 0.186275 0.356322 +vt 0.196078 0.350575 +vt 0.176471 0.362069 +vt 0.186275 0.367816 +vt 0.254902 0.362069 +vt 0.196078 0.344828 +vt 0.205882 0.252874 +vt 0.235294 0.344828 +vt 0.245098 0.252874 +vt 0.245098 0.344828 +vt 0.225490 0.252874 +vt 0.254902 0.252874 +vt 0.254902 0.344828 +vt 0.215686 0.252874 +vt 0.176471 0.344828 +vt 0.186275 0.252874 +vt 0.186275 0.344828 +vt 0.196078 0.252874 +vt 0.235294 0.252874 +vt 0.333333 0.298851 +vt 0.323529 0.344828 +vt 0.323529 0.298851 +vt 0.264706 0.298851 +vt 0.254902 0.344828 +vt 0.254902 0.298851 +vt 0.274510 0.298851 +vt 0.264706 0.344828 +vt 0.284314 0.298851 +vt 0.274510 0.344828 +vt 0.294118 0.298851 +vt 0.284314 0.344828 +vt 0.303922 0.298851 +vt 0.294118 0.344828 +vt 0.313726 0.298851 +vt 0.303922 0.344828 +vt 0.313726 0.344828 +vt 0.274510 0.597701 +vt -0.000000 0.609195 +vt -0.000000 0.597701 +vt 0.274510 0.574713 +vt -0.000000 0.586207 +vt -0.000000 0.574713 +vt 0.274510 0.643678 +vt -0.000000 0.655172 +vt -0.000000 0.643678 +vt 0.274510 0.620690 +vt -0.000000 0.632184 +vt -0.000000 0.620690 +vt 0.274510 0.586207 +vt 0.274510 0.563218 +vt -0.000000 0.563218 +vt 0.274510 0.632184 +vt 0.274510 0.609195 +vt 0.058824 0.735632 +vt -0.000000 0.747126 +vt -0.000000 0.735632 +vt 0.058824 0.712644 +vt -0.000000 0.724138 +vt -0.000000 0.712644 +vt 0.058824 0.678161 +vt -0.000000 0.689655 +vt -0.000000 0.678161 +vt 0.058824 0.655172 +vt -0.000000 0.666667 +vt -0.000000 0.655172 +vt 0.058824 0.724138 +vt 0.058824 0.701149 +vt -0.000000 0.701149 +vt 0.058824 0.689655 +vt 0.058824 0.666667 +vt 0.073529 0.678161 +vt 0.073529 0.689655 +vt 0.063725 0.724138 +vt 0.073529 0.735632 +vt 0.068627 0.735632 +vt 0.073529 0.712644 +vt 0.073529 0.701149 +vt 0.063725 0.678161 +vt 0.073529 0.666667 +vt 0.073529 0.724138 +vt 0.073529 0.655172 +vt 0.068627 0.666667 +vt 0.073529 0.747126 +vt 0.299020 0.666667 +vt 0.313726 0.655172 +vt 0.313726 0.666667 +vt 0.299020 0.678161 +vt 0.308824 0.678161 +vt 0.299020 0.712644 +vt 0.308824 0.724138 +vt 0.299020 0.724138 +vt 0.299020 0.735632 +vt 0.313726 0.747126 +vt 0.299020 0.747126 +vt 0.303922 0.689655 +vt 0.299020 0.689655 +vt 0.313726 0.735632 +vt 0.299020 0.701149 +vt 0.303922 0.712644 +vt 0.352941 0.678161 +vt 0.313726 0.678161 +vt 0.313726 0.712644 +vt 0.352941 0.724138 +vt 0.313726 0.724138 +vt 0.313726 0.701149 +vt 0.352941 0.712644 +vt 0.352941 0.747126 +vt 0.313726 0.689655 +vt 0.352941 0.701149 +vt 0.352941 0.689655 +vt 0.352941 0.735632 +vt 0.352941 0.666667 +vt 0.392157 0.735632 +vt 0.352941 0.747126 +vt 0.352941 0.735632 +vt 0.392157 0.712644 +vt 0.352941 0.724138 +vt 0.352941 0.712644 +vt 0.392157 0.678161 +vt 0.352941 0.689655 +vt 0.352941 0.678161 +vt 0.392157 0.655172 +vt 0.352941 0.666667 +vt 0.352941 0.655172 +vt 0.392157 0.724138 +vt 0.392157 0.701149 +vt 0.352941 0.701149 +vt 0.392157 0.689655 +vt 0.392157 0.666667 +vt 0.406863 0.678161 +vt 0.406863 0.689655 +vt 0.397059 0.724138 +vt 0.406863 0.735632 +vt 0.401961 0.735632 +vt 0.406863 0.712644 +vt 0.406863 0.701149 +vt 0.397059 0.678161 +vt 0.406863 0.666667 +vt 0.406863 0.724138 +vt 0.632353 0.678161 +vt 0.632353 0.689655 +vt 0.632353 0.712644 +vt 0.632353 0.724138 +vt 0.632353 0.735632 +vt 0.632353 0.747126 +vt 0.406863 0.747126 +vt 0.406863 0.655172 +vt 0.401961 0.666667 +vt 0.632353 0.655172 +vt 0.632353 0.666667 +vt 0.299020 0.655172 +vt 0.647059 0.655172 +vt 0.647059 0.666667 +vt 0.642157 0.678161 +vt 0.642157 0.724138 +vt 0.647059 0.747126 +vt 0.637255 0.689655 +vt 0.647059 0.735632 +vt 0.632353 0.701149 +vt 0.637255 0.712644 +vt 0.705882 0.678161 +vt 0.647059 0.678161 +vt 0.647059 0.712644 +vt 0.705882 0.724138 +vt 0.647059 0.724138 +vt 0.647059 0.701149 +vt 0.705882 0.712644 +vt 0.705882 0.747126 +vt 0.647059 0.689655 +vt 0.705882 0.701149 +vt 0.705882 0.689655 +vt 0.705882 0.735632 +vt 0.705882 0.666667 +vt 0.735294 0.735632 +vt 0.705882 0.747126 +vt 0.705882 0.735632 +vt 0.735294 0.712644 +vt 0.705882 0.724138 +vt 0.705882 0.712644 +vt 0.735294 0.678161 +vt 0.705882 0.689655 +vt 0.705882 0.678161 +vt 0.735294 0.655172 +vt 0.705882 0.666667 +vt 0.705882 0.655172 +vt 0.735294 0.724138 +vt 0.735294 0.701149 +vt 0.705882 0.701149 +vt 0.735294 0.689655 +vt 0.735294 0.666667 +vt 0.750000 0.678161 +vt 0.750000 0.689655 +vt 0.740196 0.724138 +vt 0.750000 0.735632 +vt 0.745098 0.735632 +vt 0.750000 0.712644 +vt 0.750000 0.701149 +vt 0.740196 0.678161 +vt 0.750000 0.666667 +vt 0.750000 0.724138 +vt 0.764706 0.712644 +vt 0.759804 0.724138 +vt 0.764706 0.689655 +vt 0.754902 0.735632 +vt 0.764706 0.701149 +vt 0.759804 0.678161 +vt 0.750000 0.655172 +vt 0.745098 0.666667 +vt 0.754902 0.666667 +vt 0.750000 0.747126 +vt 0.764706 0.678161 +vt 0.882353 0.689655 +vt 0.764706 0.724138 +vt 0.882353 0.735632 +vt 0.764706 0.735632 +vt 0.882353 0.712644 +vt 0.882353 0.747126 +vt 0.764706 0.747126 +vt 0.882353 0.701149 +vt 0.764706 0.655172 +vt 0.882353 0.666667 +vt 0.764706 0.666667 +vt 0.882353 0.678161 +vt 0.882353 0.724138 +vt 0.897059 0.735632 +vt 0.897059 0.747126 +vt 0.897059 0.678161 +vt 0.887255 0.678161 +vt 0.887255 0.724138 +vt 0.897059 0.712644 +vt 0.897059 0.724138 +vt 0.882353 0.655172 +vt 0.897059 0.666667 +vt 0.897059 0.689655 +vt 0.892157 0.689655 +vt 0.897059 0.655172 +vt 0.911765 0.666667 +vt 0.906863 0.678161 +vt 0.906863 0.724138 +vt 0.911765 0.747126 +vt 0.901961 0.689655 +vt 0.911765 0.735632 +vt 0.897059 0.701149 +vt 0.892157 0.712644 +vt 0.901961 0.712644 +vt 0.921569 0.678161 +vt 0.911765 0.678161 +vt 0.911765 0.712644 +vt 0.921569 0.724138 +vt 0.911765 0.724138 +vt 0.911765 0.701149 +vt 0.921569 0.712644 +vt 0.921569 0.747126 +vt 0.911765 0.689655 +vt 0.921569 0.701149 +vt 0.921569 0.689655 +vt 0.921569 0.735632 +vt 0.911765 0.655172 +vt 0.921569 0.666667 +vt 0.303922 0.643678 +vt 0.274510 0.655172 +vt 0.274510 0.643678 +vt 0.303922 0.620690 +vt 0.274510 0.632184 +vt 0.274510 0.620690 +vt 0.303922 0.586207 +vt 0.274510 0.597701 +vt 0.274510 0.586207 +vt 0.303922 0.563218 +vt 0.274510 0.574713 +vt 0.274510 0.563218 +vt 0.303922 0.632184 +vt 0.303922 0.609195 +vt 0.274510 0.609195 +vt 0.303922 0.597701 +vt 0.303922 0.574713 +vt 0.318627 0.586207 +vt 0.318627 0.597701 +vt 0.308824 0.632184 +vt 0.318627 0.643678 +vt 0.313726 0.643678 +vt 0.318627 0.620690 +vt 0.318627 0.609195 +vt 0.308824 0.586207 +vt 0.318627 0.574713 +vt 0.318627 0.632184 +vt 0.333333 0.620690 +vt 0.328431 0.632184 +vt 0.333333 0.597701 +vt 0.323529 0.643678 +vt 0.333333 0.609195 +vt 0.328431 0.586207 +vt 0.318627 0.563218 +vt 0.313726 0.574713 +vt 0.323529 0.574713 +vt 0.318627 0.655172 +vt 0.333333 0.586207 +vt 0.450980 0.597701 +vt 0.333333 0.632184 +vt 0.450980 0.643678 +vt 0.333333 0.643678 +vt 0.450980 0.620690 +vt 0.450980 0.655172 +vt 0.333333 0.655172 +vt 0.450980 0.609195 +vt 0.333333 0.563218 +vt 0.450980 0.574713 +vt 0.333333 0.574713 +vt 0.450980 0.586207 +vt 0.450980 0.632184 +vt 0.465686 0.643678 +vt 0.465686 0.655172 +vt 0.465686 0.586207 +vt 0.455882 0.586207 +vt 0.455882 0.632184 +vt 0.465686 0.620690 +vt 0.465686 0.632184 +vt 0.450980 0.563218 +vt 0.465686 0.574713 +vt 0.465686 0.597701 +vt 0.460784 0.597701 +vt 0.480392 0.563218 +vt 0.480392 0.574713 +vt 0.475490 0.586207 +vt 0.475490 0.632184 +vt 0.480392 0.655172 +vt 0.470588 0.597701 +vt 0.480392 0.643678 +vt 0.465686 0.609195 +vt 0.460784 0.620690 +vt 0.470588 0.620690 +vt 0.490196 0.586207 +vt 0.480392 0.586207 +vt 0.480392 0.620690 +vt 0.490196 0.632184 +vt 0.480392 0.632184 +vt 0.480392 0.609195 +vt 0.490196 0.620690 +vt 0.490196 0.655172 +vt 0.480392 0.597701 +vt 0.490196 0.609195 +vt 0.490196 0.597701 +vt 0.490196 0.643678 +vt 0.490196 0.574713 +vt 0.294118 0.298851 +vt 0.284314 0.252874 +vt 0.294118 0.252874 +vt 0.274510 0.298851 +vt 0.264706 0.252874 +vt 0.274510 0.252874 +vt 0.333333 0.298851 +vt 0.323529 0.252874 +vt 0.333333 0.252874 +vt 0.313726 0.298851 +vt 0.303922 0.252874 +vt 0.313726 0.252874 +vt 0.303922 0.298851 +vt 0.284314 0.298851 +vt 0.264706 0.298851 +vt 0.254902 0.252874 +vt 0.323529 0.298851 +vt 0.245098 0.379310 +vt 0.254902 0.402299 +vt 0.245098 0.402299 +vt 0.225490 0.379310 +vt 0.235294 0.402299 +vt 0.225490 0.402299 +vt 0.196078 0.379310 +vt 0.205882 0.402299 +vt 0.196078 0.402299 +vt 0.176471 0.379310 +vt 0.186275 0.402299 +vt 0.176471 0.402299 +vt 0.235294 0.379310 +vt 0.215686 0.379310 +vt 0.215686 0.402299 +vt 0.205882 0.379310 +vt 0.186275 0.379310 +vt 0.196078 0.362069 +vt 0.205882 0.362069 +vt 0.235294 0.373563 +vt 0.245098 0.362069 +vt 0.245098 0.367816 +vt 0.215686 0.362069 +vt 0.225490 0.362069 +vt 0.196078 0.373563 +vt 0.186275 0.362069 +vt 0.235294 0.362069 +vt 0.225490 0.344828 +vt 0.235294 0.350575 +vt 0.205882 0.344828 +vt 0.245098 0.356322 +vt 0.215686 0.344828 +vt 0.186275 0.356322 +vt 0.196078 0.350575 +vt 0.176471 0.362069 +vt 0.186275 0.367816 +vt 0.254902 0.362069 +vt 0.196078 0.344828 +vt 0.205882 0.252874 +vt 0.235294 0.344828 +vt 0.245098 0.252874 +vt 0.245098 0.344828 +vt 0.225490 0.252874 +vt 0.254902 0.252874 +vt 0.254902 0.344828 +vt 0.215686 0.252874 +vt 0.176471 0.344828 +vt 0.186275 0.252874 +vt 0.186275 0.344828 +vt 0.196078 0.252874 +vt 0.235294 0.252874 +vt 0.245098 0.379310 +vt 0.254902 0.402299 +vt 0.245098 0.402299 +vt 0.225490 0.379310 +vt 0.235294 0.402299 +vt 0.225490 0.402299 +vt 0.196078 0.379310 +vt 0.205882 0.402299 +vt 0.196078 0.402299 +vt 0.176471 0.402299 +vt 0.186275 0.379310 +vt 0.186275 0.402299 +vt 0.235294 0.379310 +vt 0.215686 0.379310 +vt 0.215686 0.402299 +vt 0.205882 0.379310 +vt 0.196078 0.362069 +vt 0.205882 0.362069 +vt 0.235294 0.373563 +vt 0.245098 0.362069 +vt 0.245098 0.367816 +vt 0.225490 0.362069 +vt 0.215686 0.362069 +vt 0.196078 0.373563 +vt 0.186275 0.362069 +vt 0.235294 0.362069 +vt 0.225490 0.344828 +vt 0.235294 0.350575 +vt 0.205882 0.344828 +vt 0.245098 0.356322 +vt 0.215686 0.344828 +vt 0.196078 0.350575 +vt 0.176471 0.362069 +vt 0.186275 0.367816 +vt 0.186275 0.356322 +vt 0.254902 0.362069 +vt 0.196078 0.344828 +vt 0.205882 0.252874 +vt 0.235294 0.344828 +vt 0.245098 0.252874 +vt 0.245098 0.344828 +vt 0.225490 0.252874 +vt 0.254902 0.252874 +vt 0.254902 0.344828 +vt 0.215686 0.252874 +vt 0.176471 0.344828 +vt 0.186275 0.252874 +vt 0.186275 0.344828 +vt 0.196078 0.252874 +vt 0.235294 0.252874 +vt 0.245098 0.379310 +vt 0.254902 0.402299 +vt 0.245098 0.402299 +vt 0.225490 0.379310 +vt 0.235294 0.402299 +vt 0.225490 0.402299 +vt 0.196078 0.379310 +vt 0.205882 0.402299 +vt 0.196078 0.402299 +vt 0.176471 0.379310 +vt 0.186275 0.402299 +vt 0.176471 0.402299 +vt 0.235294 0.379310 +vt 0.215686 0.379310 +vt 0.215686 0.402299 +vt 0.205882 0.379310 +vt 0.186275 0.379310 +vt 0.196078 0.362069 +vt 0.205882 0.362069 +vt 0.235294 0.373563 +vt 0.245098 0.362069 +vt 0.245098 0.367816 +vt 0.215686 0.362069 +vt 0.225490 0.362069 +vt 0.196078 0.373563 +vt 0.186275 0.362069 +vt 0.235294 0.362069 +vt 0.225490 0.344828 +vt 0.235294 0.350575 +vt 0.205882 0.344828 +vt 0.245098 0.356322 +vt 0.215686 0.344828 +vt 0.196078 0.350575 +vt 0.176471 0.362069 +vt 0.186275 0.367816 +vt 0.186275 0.356322 +vt 0.254902 0.362069 +vt 0.196078 0.344828 +vt 0.205882 0.252874 +vt 0.235294 0.344828 +vt 0.245098 0.252874 +vt 0.245098 0.344828 +vt 0.225490 0.252874 +vt 0.254902 0.252874 +vt 0.254902 0.344828 +vt 0.215686 0.252874 +vt 0.176471 0.344828 +vt 0.186275 0.252874 +vt 0.186275 0.344828 +vt 0.196078 0.252874 +vt 0.235294 0.252874 +vt 0.245098 0.379310 +vt 0.254902 0.402299 +vt 0.245098 0.402299 +vt 0.225490 0.379310 +vt 0.235294 0.402299 +vt 0.225490 0.402299 +vt 0.196078 0.379310 +vt 0.205882 0.402299 +vt 0.196078 0.402299 +vt 0.176471 0.379310 +vt 0.186275 0.402299 +vt 0.176471 0.402299 +vt 0.235294 0.379310 +vt 0.215686 0.379310 +vt 0.215686 0.402299 +vt 0.205882 0.379310 +vt 0.186275 0.379310 +vt 0.196078 0.362069 +vt 0.205882 0.362069 +vt 0.235294 0.373563 +vt 0.245098 0.362069 +vt 0.245098 0.367816 +vt 0.215686 0.362069 +vt 0.225490 0.362069 +vt 0.196078 0.373563 +vt 0.186275 0.362069 +vt 0.235294 0.362069 +vt 0.235294 0.350575 +vt 0.205882 0.344828 +vt 0.245098 0.356322 +vt 0.215686 0.344828 +vt 0.225490 0.344828 +vt 0.186275 0.356322 +vt 0.196078 0.350575 +vt 0.176471 0.362069 +vt 0.186275 0.367816 +vt 0.254902 0.362069 +vt 0.196078 0.344828 +vt 0.205882 0.252874 +vt 0.235294 0.344828 +vt 0.245098 0.252874 +vt 0.245098 0.344828 +vt 0.225490 0.252874 +vt 0.254902 0.252874 +vt 0.254902 0.344828 +vt 0.215686 0.252874 +vt 0.176471 0.344828 +vt 0.186275 0.252874 +vt 0.186275 0.344828 +vt 0.196078 0.252874 +vt 0.235294 0.252874 +vt 0.245098 0.379310 +vt 0.254902 0.402299 +vt 0.245098 0.402299 +vt 0.225490 0.379310 +vt 0.235294 0.402299 +vt 0.225490 0.402299 +vt 0.196078 0.379310 +vt 0.205882 0.402299 +vt 0.196078 0.402299 +vt 0.176471 0.402299 +vt 0.186275 0.379310 +vt 0.186275 0.402299 +vt 0.235294 0.379310 +vt 0.215686 0.379310 +vt 0.215686 0.402299 +vt 0.205882 0.379310 +vt 0.196078 0.362069 +vt 0.205882 0.362069 +vt 0.235294 0.373563 +vt 0.245098 0.362069 +vt 0.245098 0.367816 +vt 0.215686 0.362069 +vt 0.225490 0.362069 +vt 0.196078 0.373563 +vt 0.186275 0.362069 +vt 0.235294 0.362069 +vt 0.225490 0.344828 +vt 0.235294 0.350575 +vt 0.196078 0.350575 +vt 0.205882 0.344828 +vt 0.245098 0.356322 +vt 0.215686 0.344828 +vt 0.186275 0.356322 +vt 0.176471 0.362069 +vt 0.186275 0.367816 +vt 0.254902 0.362069 +vt 0.196078 0.344828 +vt 0.205882 0.252874 +vt 0.235294 0.344828 +vt 0.245098 0.252874 +vt 0.245098 0.344828 +vt 0.225490 0.252874 +vt 0.254902 0.252874 +vt 0.254902 0.344828 +vt 0.215686 0.252874 +vt 0.176471 0.344828 +vt 0.186275 0.252874 +vt 0.186275 0.344828 +vt 0.196078 0.252874 +vt 0.235294 0.252874 +vt 0.245098 0.379310 +vt 0.254902 0.402299 +vt 0.245098 0.402299 +vt 0.225490 0.379310 +vt 0.235294 0.402299 +vt 0.225490 0.402299 +vt 0.196078 0.379310 +vt 0.205882 0.402299 +vt 0.196078 0.402299 +vt 0.176471 0.379310 +vt 0.186275 0.402299 +vt 0.176471 0.402299 +vt 0.235294 0.379310 +vt 0.215686 0.379310 +vt 0.215686 0.402299 +vt 0.205882 0.379310 +vt 0.186275 0.379310 +vt 0.196078 0.362069 +vt 0.205882 0.362069 +vt 0.235294 0.373563 +vt 0.245098 0.362069 +vt 0.245098 0.367816 +vt 0.225490 0.362069 +vt 0.215686 0.362069 +vt 0.196078 0.373563 +vt 0.186275 0.362069 +vt 0.235294 0.362069 +vt 0.225490 0.344828 +vt 0.235294 0.350575 +vt 0.205882 0.344828 +vt 0.245098 0.356322 +vt 0.215686 0.344828 +vt 0.196078 0.350575 +vt 0.176471 0.362069 +vt 0.186275 0.367816 +vt 0.186275 0.356322 +vt 0.254902 0.362069 +vt 0.196078 0.344828 +vt 0.205882 0.252874 +vt 0.235294 0.344828 +vt 0.245098 0.252874 +vt 0.245098 0.344828 +vt 0.225490 0.252874 +vt 0.254902 0.252874 +vt 0.254902 0.344828 +vt 0.215686 0.252874 +vt 0.176471 0.344828 +vt 0.186275 0.252874 +vt 0.186275 0.344828 +vt 0.196078 0.252874 +vt 0.235294 0.252874 +vt 0.245098 0.379310 +vt 0.254902 0.402299 +vt 0.245098 0.402299 +vt 0.225490 0.379310 +vt 0.235294 0.402299 +vt 0.225490 0.402299 +vt 0.196078 0.379310 +vt 0.205882 0.402299 +vt 0.196078 0.402299 +vt 0.176471 0.379310 +vt 0.186275 0.402299 +vt 0.176471 0.402299 +vt 0.235294 0.379310 +vt 0.215686 0.402299 +vt 0.205882 0.379310 +vt 0.186275 0.379310 +vt 0.196078 0.362069 +vt 0.205882 0.362069 +vt 0.235294 0.373563 +vt 0.245098 0.362069 +vt 0.245098 0.367816 +vt 0.215686 0.362069 +vt 0.225490 0.362069 +vt 0.215686 0.379310 +vt 0.196078 0.373563 +vt 0.186275 0.362069 +vt 0.235294 0.362069 +vt 0.225490 0.344828 +vt 0.235294 0.350575 +vt 0.205882 0.344828 +vt 0.245098 0.356322 +vt 0.215686 0.344828 +vt 0.186275 0.356322 +vt 0.196078 0.350575 +vt 0.176471 0.362069 +vt 0.186275 0.367816 +vt 0.254902 0.362069 +vt 0.196078 0.344828 +vt 0.205882 0.252874 +vt 0.235294 0.344828 +vt 0.245098 0.252874 +vt 0.245098 0.344828 +vt 0.225490 0.252874 +vt 0.254902 0.252874 +vt 0.254902 0.344828 +vt 0.215686 0.252874 +vt 0.176471 0.344828 +vt 0.186275 0.252874 +vt 0.186275 0.344828 +vt 0.196078 0.252874 +vt 0.235294 0.252874 +vt 0.245098 0.379310 +vt 0.254902 0.402299 +vt 0.245098 0.402299 +vt 0.225490 0.379310 +vt 0.235294 0.402299 +vt 0.225490 0.402299 +vt 0.196078 0.379310 +vt 0.205882 0.402299 +vt 0.196078 0.402299 +vt 0.176471 0.379310 +vt 0.186275 0.402299 +vt 0.176471 0.402299 +vt 0.235294 0.379310 +vt 0.215686 0.379310 +vt 0.215686 0.402299 +vt 0.205882 0.379310 +vt 0.186275 0.379310 +vt 0.196078 0.362069 +vt 0.205882 0.362069 +vt 0.235294 0.373563 +vt 0.245098 0.362069 +vt 0.245098 0.367816 +vt 0.215686 0.362069 +vt 0.225490 0.362069 +vt 0.196078 0.373563 +vt 0.186275 0.362069 +vt 0.235294 0.362069 +vt 0.225490 0.344828 +vt 0.235294 0.350575 +vt 0.205882 0.344828 +vt 0.245098 0.356322 +vt 0.215686 0.344828 +vt 0.196078 0.350575 +vt 0.176471 0.362069 +vt 0.186275 0.367816 +vt 0.186275 0.356322 +vt 0.254902 0.362069 +vt 0.196078 0.344828 +vt 0.205882 0.252874 +vt 0.235294 0.344828 +vt 0.245098 0.252874 +vt 0.245098 0.344828 +vt 0.225490 0.252874 +vt 0.254902 0.252874 +vt 0.254902 0.344828 +vt 0.215686 0.252874 +vt 0.176471 0.344828 +vt 0.186275 0.252874 +vt 0.186275 0.344828 +vt 0.196078 0.252874 +vt 0.235294 0.252874 +vt 0.245098 0.379310 +vt 0.254902 0.402299 +vt 0.245098 0.402299 +vt 0.225490 0.379310 +vt 0.235294 0.402299 +vt 0.225490 0.402299 +vt 0.196078 0.379310 +vt 0.205882 0.402299 +vt 0.196078 0.402299 +vt 0.176471 0.402299 +vt 0.186275 0.379310 +vt 0.186275 0.402299 +vt 0.235294 0.379310 +vt 0.215686 0.379310 +vt 0.215686 0.402299 +vt 0.205882 0.379310 +vt 0.196078 0.362069 +vt 0.205882 0.362069 +vt 0.235294 0.373563 +vt 0.245098 0.362069 +vt 0.245098 0.367816 +vt 0.215686 0.362069 +vt 0.225490 0.362069 +vt 0.196078 0.373563 +vt 0.186275 0.362069 +vt 0.235294 0.362069 +vt 0.225490 0.344828 +vt 0.235294 0.350575 +vt 0.205882 0.344828 +vt 0.245098 0.356322 +vt 0.215686 0.344828 +vt 0.186275 0.356322 +vt 0.196078 0.350575 +vt 0.176471 0.362069 +vt 0.186275 0.367816 +vt 0.254902 0.362069 +vt 0.196078 0.344828 +vt 0.205882 0.252874 +vt 0.235294 0.344828 +vt 0.245098 0.252874 +vt 0.245098 0.344828 +vt 0.225490 0.252874 +vt 0.254902 0.252874 +vt 0.254902 0.344828 +vt 0.215686 0.252874 +vt 0.176471 0.344828 +vt 0.186275 0.252874 +vt 0.186275 0.344828 +vt 0.196078 0.252874 +vt 0.235294 0.252874 +vt 0.333333 0.298851 +vt 0.323529 0.344828 +vt 0.323529 0.298851 +vt 0.254902 0.298851 +vt 0.264706 0.344828 +vt 0.254902 0.344828 +vt 0.274510 0.298851 +vt 0.264706 0.298851 +vt 0.284314 0.298851 +vt 0.274510 0.344828 +vt 0.294118 0.298851 +vt 0.284314 0.344828 +vt 0.303922 0.298851 +vt 0.294118 0.344828 +vt 0.313726 0.298851 +vt 0.303922 0.344828 +vt 0.313726 0.344828 +vt 0.333333 0.298851 +vt 0.323529 0.344828 +vt 0.323529 0.298851 +vt 0.264706 0.298851 +vt 0.254902 0.344828 +vt 0.254902 0.298851 +vt 0.274510 0.298851 +vt 0.264706 0.344828 +vt 0.284314 0.298851 +vt 0.274510 0.344828 +vt 0.294118 0.298851 +vt 0.284314 0.344828 +vt 0.303922 0.298851 +vt 0.294118 0.344828 +vt 0.313726 0.298851 +vt 0.303922 0.344828 +vt 0.313726 0.344828 +vt 0.323529 0.298851 +vt 0.333333 0.344828 +vt 0.323529 0.344828 +vt 0.264706 0.298851 +vt 0.254902 0.344828 +vt 0.254902 0.298851 +vt 0.274510 0.298851 +vt 0.264706 0.344828 +vt 0.284314 0.298851 +vt 0.274510 0.344828 +vt 0.294118 0.298851 +vt 0.284314 0.344828 +vt 0.303922 0.298851 +vt 0.294118 0.344828 +vt 0.313726 0.344828 +vt 0.303922 0.344828 +vt 0.313726 0.298851 +vt 0.333333 0.298851 +vt 0.323529 0.344828 +vt 0.323529 0.298851 +vt 0.264706 0.298851 +vt 0.254902 0.344828 +vt 0.254902 0.298851 +vt 0.274510 0.298851 +vt 0.264706 0.344828 +vt 0.284314 0.298851 +vt 0.274510 0.344828 +vt 0.294118 0.298851 +vt 0.284314 0.344828 +vt 0.303922 0.298851 +vt 0.294118 0.344828 +vt 0.313726 0.298851 +vt 0.303922 0.344828 +vt 0.313726 0.344828 +vt 0.176471 0.505747 +vt 0.156863 0.505747 +vt 0.019608 0.505747 +vt -0.000000 0.505747 +vt 0.196078 0.505747 +vt 0.156863 0.563218 +vt 0.137255 0.563218 +vt 0.000000 0.563218 +vt 0.176471 0.563218 +vt 0.019608 0.563218 +vt 0.196078 0.563218 +vt 0.039216 0.563218 +vt 0.215686 0.563218 +vt 0.058824 0.563218 +vt 0.235294 0.563218 +vt 0.078431 0.563218 +vt 0.274510 0.563218 +vt 0.254902 0.563218 +vt 0.098039 0.563218 +vt 0.117647 0.563218 +vt 0.294118 0.563218 +vt 0.392157 0.908046 +vt 0.411765 0.747126 +vt 0.411765 0.908046 +vt 0.254902 0.908046 +vt 0.274510 0.747126 +vt 0.274510 0.908046 +vt 0.313725 0.908046 +vt 0.333333 0.747126 +vt 0.333333 0.908046 +vt 0.431373 0.747126 +vt 0.431373 0.908046 +vt 0.372549 0.908046 +vt 0.392157 0.747126 +vt 0.235294 0.908046 +vt 0.254902 0.747126 +vt 0.294118 0.908046 +vt 0.313725 0.747126 +vt 0.352941 0.908046 +vt 0.372549 0.747126 +vt 0.450980 0.908046 +vt 0.470588 0.747126 +vt 0.470588 0.908046 +vt 0.294118 0.747126 +vt 0.352941 0.747126 +vt 0.450980 0.747126 +vt 0.156863 0.908046 +vt 0.176471 0.747126 +vt 0.176471 0.908046 +vt 0.019608 0.908046 +vt 0.039216 0.747126 +vt 0.039216 0.908046 +vt 0.078431 0.908046 +vt 0.098039 0.747126 +vt 0.098039 0.908046 +vt 0.196078 0.747126 +vt 0.196078 0.908046 +vt 0.137255 0.908046 +vt 0.156863 0.747126 +vt 0.000000 0.908046 +vt 0.019608 0.747126 +vt 0.058824 0.908046 +vt 0.078431 0.747126 +vt 0.117647 0.908046 +vt 0.137255 0.747126 +vt 0.215686 0.908046 +vt 0.235294 0.747126 +vt 0.235294 0.908046 +vt 0.058824 0.747126 +vt 0.117647 0.747126 +vt 0.215686 0.747126 +vt 0.392157 0.908046 +vt 0.411765 0.747126 +vt 0.411765 0.908046 +vt 0.254902 0.908046 +vt 0.274510 0.747126 +vt 0.274510 0.908046 +vt 0.313725 0.908046 +vt 0.333333 0.747126 +vt 0.333333 0.908046 +vt 0.431373 0.747126 +vt 0.431373 0.908046 +vt 0.372549 0.908046 +vt 0.392157 0.747126 +vt 0.235294 0.908046 +vt 0.254902 0.747126 +vt 0.294118 0.908046 +vt 0.313725 0.747126 +vt 0.352941 0.908046 +vt 0.372549 0.747126 +vt 0.450980 0.908046 +vt 0.470588 0.747126 +vt 0.470588 0.908046 +vt 0.294118 0.747126 +vt 0.352941 0.747126 +vt 0.450980 0.747126 +vt 0.156863 0.908046 +vt 0.176471 0.747126 +vt 0.176471 0.908046 +vt 0.019608 0.908046 +vt 0.039216 0.747126 +vt 0.039216 0.908046 +vt 0.078431 0.908046 +vt 0.098039 0.747126 +vt 0.098039 0.908046 +vt 0.196078 0.747126 +vt 0.196078 0.908046 +vt 0.137255 0.908046 +vt 0.156863 0.747126 +vt 0.000000 0.908046 +vt 0.019608 0.747126 +vt 0.058824 0.908046 +vt 0.078431 0.747126 +vt 0.117647 0.908046 +vt 0.137255 0.747126 +vt 0.215686 0.908046 +vt 0.235294 0.747126 +vt 0.235294 0.908046 +vt 0.058824 0.747126 +vt 0.117647 0.747126 +vt 0.215686 0.747126 +vt 0.156863 0.908046 +vt 0.176471 0.747126 +vt 0.176471 0.908046 +vt 0.019608 0.908046 +vt 0.039216 0.747126 +vt 0.039216 0.908046 +vt 0.078431 0.908046 +vt 0.098039 0.747126 +vt 0.098039 0.908046 +vt 0.196078 0.747126 +vt 0.196078 0.908046 +vt 0.137255 0.908046 +vt 0.156863 0.747126 +vt 0.000000 0.908046 +vt 0.019608 0.747126 +vt 0.058824 0.908046 +vt 0.078431 0.747126 +vt 0.117647 0.908046 +vt 0.137255 0.747126 +vt 0.215686 0.908046 +vt 0.235294 0.747126 +vt 0.235294 0.908046 +vt 0.058824 0.747126 +vt 0.117647 0.747126 +vt 0.215686 0.747126 +vt 0.392157 0.908046 +vt 0.411765 0.747126 +vt 0.411765 0.908046 +vt 0.254902 0.908046 +vt 0.274510 0.747126 +vt 0.274510 0.908046 +vt 0.313725 0.908046 +vt 0.333333 0.747126 +vt 0.333333 0.908046 +vt 0.431373 0.747126 +vt 0.431373 0.908046 +vt 0.372549 0.908046 +vt 0.392157 0.747126 +vt 0.235294 0.908046 +vt 0.254902 0.747126 +vt 0.294118 0.908046 +vt 0.313725 0.747126 +vt 0.352941 0.908046 +vt 0.372549 0.747126 +vt 0.450980 0.908046 +vt 0.470588 0.747126 +vt 0.470588 0.908046 +vt 0.294118 0.747126 +vt 0.352941 0.747126 +vt 0.450980 0.747126 +vt 0.156863 0.908046 +vt 0.176471 0.747126 +vt 0.176471 0.908046 +vt 0.019608 0.908046 +vt 0.039216 0.747126 +vt 0.039216 0.908046 +vt 0.078431 0.908046 +vt 0.098039 0.747126 +vt 0.098039 0.908046 +vt 0.196078 0.747126 +vt 0.196078 0.908046 +vt 0.137255 0.908046 +vt 0.156863 0.747126 +vt 0.000000 0.908046 +vt 0.019608 0.747126 +vt 0.058824 0.908046 +vt 0.078431 0.747126 +vt 0.117647 0.908046 +vt 0.137255 0.747126 +vt 0.215686 0.908046 +vt 0.235294 0.747126 +vt 0.235294 0.908046 +vt 0.058824 0.747126 +vt 0.117647 0.747126 +vt 0.215686 0.747126 +vt 0.392157 0.908046 +vt 0.411765 0.747126 +vt 0.411765 0.908046 +vt 0.254902 0.908046 +vt 0.274510 0.747126 +vt 0.274510 0.908046 +vt 0.313725 0.908046 +vt 0.333333 0.747126 +vt 0.333333 0.908046 +vt 0.431373 0.747126 +vt 0.431373 0.908046 +vt 0.372549 0.908046 +vt 0.392157 0.747126 +vt 0.235294 0.908046 +vt 0.254902 0.747126 +vt 0.294118 0.908046 +vt 0.313725 0.747126 +vt 0.352941 0.908046 +vt 0.372549 0.747126 +vt 0.450980 0.908046 +vt 0.470588 0.747126 +vt 0.470588 0.908046 +vt 0.294118 0.747126 +vt 0.352941 0.747126 +vt 0.450980 0.747126 +vt 0.156863 0.908046 +vt 0.176471 0.747126 +vt 0.176471 0.908046 +vt 0.019608 0.908046 +vt 0.039216 0.747126 +vt 0.039216 0.908046 +vt 0.078431 0.908046 +vt 0.098039 0.747126 +vt 0.098039 0.908046 +vt 0.196078 0.747126 +vt 0.196078 0.908046 +vt 0.137255 0.908046 +vt 0.156863 0.747126 +vt 0.000000 0.908046 +vt 0.019608 0.747126 +vt 0.058824 0.908046 +vt 0.078431 0.747126 +vt 0.117647 0.908046 +vt 0.137255 0.747126 +vt 0.215686 0.908046 +vt 0.235294 0.747126 +vt 0.235294 0.908046 +vt 0.058824 0.747126 +vt 0.117647 0.747126 +vt 0.215686 0.747126 +vt 0.274510 0.597701 +vt -0.000000 0.609195 +vt -0.000000 0.597701 +vt 0.274510 0.574713 +vt -0.000000 0.586207 +vt -0.000000 0.574713 +vt 0.274510 0.643678 +vt -0.000000 0.655172 +vt -0.000000 0.643678 +vt 0.274510 0.620690 +vt -0.000000 0.632184 +vt -0.000000 0.620690 +vt 0.274510 0.586207 +vt 0.274510 0.563218 +vt -0.000000 0.563218 +vt 0.274510 0.632184 +vt 0.274510 0.609195 +vt 0.735294 0.735632 +vt 0.705882 0.747126 +vt 0.705882 0.735632 +vt 0.735294 0.712644 +vt 0.705882 0.724138 +vt 0.705882 0.712644 +vt 0.735294 0.678161 +vt 0.705882 0.689655 +vt 0.705882 0.678161 +vt 0.735294 0.655172 +vt 0.705882 0.666667 +vt 0.705882 0.655172 +vt 0.735294 0.724138 +vt 0.735294 0.701149 +vt 0.705882 0.701149 +vt 0.735294 0.689655 +vt 0.735294 0.666667 +vt 0.740196 0.678161 +vt 0.750000 0.689655 +vt 0.740196 0.724138 +vt 0.750000 0.735632 +vt 0.745098 0.735632 +vt 0.750000 0.712644 +vt 0.750000 0.701149 +vt 0.750000 0.666667 +vt 0.750000 0.678161 +vt 0.750000 0.724138 +vt 0.759804 0.724138 +vt 0.764706 0.689655 +vt 0.754902 0.735632 +vt 0.764706 0.712644 +vt 0.764706 0.701149 +vt 0.759804 0.678161 +vt 0.750000 0.655172 +vt 0.745098 0.666667 +vt 0.754902 0.666667 +vt 0.750000 0.747126 +vt 0.764706 0.678161 +vt 0.882353 0.689655 +vt 0.764706 0.724138 +vt 0.882353 0.735632 +vt 0.764706 0.735632 +vt 0.882353 0.712644 +vt 0.882353 0.747126 +vt 0.764706 0.747126 +vt 0.882353 0.701149 +vt 0.764706 0.655172 +vt 0.882353 0.666667 +vt 0.764706 0.666667 +vt 0.882353 0.678161 +vt 0.882353 0.724138 +vt 0.897059 0.735632 +vt 0.897059 0.747126 +vt 0.897059 0.678161 +vt 0.887255 0.678161 +vt 0.887255 0.724138 +vt 0.897059 0.712644 +vt 0.897059 0.724138 +vt 0.882353 0.655172 +vt 0.897059 0.666667 +vt 0.897059 0.689655 +vt 0.892157 0.689655 +vt 0.911765 0.655172 +vt 0.911765 0.666667 +vt 0.906863 0.678161 +vt 0.906863 0.724138 +vt 0.911765 0.747126 +vt 0.901961 0.689655 +vt 0.911765 0.735632 +vt 0.897059 0.701149 +vt 0.892157 0.712644 +vt 0.901961 0.712644 +vt 0.921569 0.678161 +vt 0.911765 0.678161 +vt 0.911765 0.712644 +vt 0.921569 0.724138 +vt 0.911765 0.724138 +vt 0.911765 0.701149 +vt 0.921569 0.712644 +vt 0.921569 0.747126 +vt 0.911765 0.689655 +vt 0.921569 0.701149 +vt 0.921569 0.689655 +vt 0.921569 0.735632 +vt 0.921569 0.666667 +vt 0.303922 0.643678 +vt 0.274510 0.655172 +vt 0.274510 0.643678 +vt 0.303922 0.620690 +vt 0.274510 0.632184 +vt 0.274510 0.620690 +vt 0.303922 0.586207 +vt 0.274510 0.597701 +vt 0.274510 0.586207 +vt 0.303922 0.563218 +vt 0.274510 0.574713 +vt 0.274510 0.563218 +vt 0.303922 0.632184 +vt 0.303922 0.609195 +vt 0.274510 0.609195 +vt 0.303922 0.597701 +vt 0.303922 0.574713 +vt 0.308824 0.586207 +vt 0.318627 0.597701 +vt 0.308824 0.632184 +vt 0.318627 0.643678 +vt 0.313726 0.643678 +vt 0.318627 0.620690 +vt 0.318627 0.609195 +vt 0.318627 0.574713 +vt 0.318627 0.586207 +vt 0.318627 0.632184 +vt 0.333333 0.620690 +vt 0.328431 0.632184 +vt 0.333333 0.597701 +vt 0.323529 0.643678 +vt 0.333333 0.609195 +vt 0.328431 0.586207 +vt 0.318627 0.563218 +vt 0.313726 0.574713 +vt 0.323529 0.574713 +vt 0.318627 0.655172 +vt 0.333333 0.586207 +vt 0.450980 0.597701 +vt 0.333333 0.632184 +vt 0.450980 0.643678 +vt 0.333333 0.643678 +vt 0.450980 0.620690 +vt 0.450980 0.655172 +vt 0.333333 0.655172 +vt 0.450980 0.609195 +vt 0.333333 0.563218 +vt 0.450980 0.574713 +vt 0.333333 0.574713 +vt 0.450980 0.586207 +vt 0.450980 0.632184 +vt 0.465686 0.643678 +vt 0.465686 0.655172 +vt 0.465686 0.586207 +vt 0.455882 0.586207 +vt 0.455882 0.632184 +vt 0.465686 0.620690 +vt 0.465686 0.632184 +vt 0.450980 0.563218 +vt 0.465686 0.574713 +vt 0.465686 0.597701 +vt 0.460784 0.597701 +vt 0.480392 0.563218 +vt 0.480392 0.574713 +vt 0.475490 0.586207 +vt 0.475490 0.632184 +vt 0.480392 0.655172 +vt 0.470588 0.597701 +vt 0.480392 0.643678 +vt 0.465686 0.609195 +vt 0.460784 0.620690 +vt 0.470588 0.620690 +vt 0.490196 0.586207 +vt 0.480392 0.586207 +vt 0.480392 0.620690 +vt 0.490196 0.632184 +vt 0.480392 0.632184 +vt 0.480392 0.609195 +vt 0.490196 0.620690 +vt 0.490196 0.655172 +vt 0.480392 0.597701 +vt 0.490196 0.609195 +vt 0.490196 0.597701 +vt 0.490196 0.643678 +vt 0.490196 0.574713 +vt 0.303922 0.643678 +vt 0.274510 0.655172 +vt 0.274510 0.643678 +vt 0.303922 0.620690 +vt 0.274510 0.632184 +vt 0.274510 0.620690 +vt 0.303922 0.586207 +vt 0.274510 0.597701 +vt 0.274510 0.586207 +vt 0.303922 0.563218 +vt 0.274510 0.574713 +vt 0.274510 0.563218 +vt 0.303922 0.632184 +vt 0.303922 0.609195 +vt 0.274510 0.609195 +vt 0.303922 0.597701 +vt 0.303922 0.574713 +vt 0.318627 0.586207 +vt 0.318627 0.597701 +vt 0.308824 0.632184 +vt 0.318627 0.643678 +vt 0.313726 0.643678 +vt 0.318627 0.620690 +vt 0.318627 0.609195 +vt 0.308824 0.586207 +vt 0.318627 0.574713 +vt 0.318627 0.632184 +vt 0.333333 0.620690 +vt 0.328431 0.632184 +vt 0.333333 0.597701 +vt 0.323529 0.643678 +vt 0.333333 0.609195 +vt 0.328431 0.586207 +vt 0.318627 0.563218 +vt 0.313726 0.574713 +vt 0.323529 0.574713 +vt 0.318627 0.655172 +vt 0.333333 0.586207 +vt 0.450980 0.597701 +vt 0.333333 0.632184 +vt 0.450980 0.643678 +vt 0.333333 0.643678 +vt 0.450980 0.620690 +vt 0.450980 0.655172 +vt 0.333333 0.655172 +vt 0.450980 0.609195 +vt 0.333333 0.563218 +vt 0.450980 0.574713 +vt 0.333333 0.574713 +vt 0.450980 0.586207 +vt 0.450980 0.632184 +vt 0.465686 0.643678 +vt 0.465686 0.655172 +vt 0.465686 0.586207 +vt 0.455882 0.586207 +vt 0.455882 0.632184 +vt 0.465686 0.620690 +vt 0.465686 0.632184 +vt 0.450980 0.563218 +vt 0.465686 0.574713 +vt 0.465686 0.597701 +vt 0.460784 0.597701 +vt 0.480392 0.563218 +vt 0.480392 0.574713 +vt 0.475490 0.586207 +vt 0.475490 0.632184 +vt 0.480392 0.655172 +vt 0.470588 0.597701 +vt 0.480392 0.643678 +vt 0.465686 0.609195 +vt 0.460784 0.620690 +vt 0.470588 0.620690 +vt 0.490196 0.586207 +vt 0.480392 0.586207 +vt 0.480392 0.620690 +vt 0.490196 0.632184 +vt 0.480392 0.632184 +vt 0.480392 0.609195 +vt 0.490196 0.620690 +vt 0.490196 0.655172 +vt 0.480392 0.597701 +vt 0.490196 0.609195 +vt 0.490196 0.597701 +vt 0.490196 0.643678 +vt 0.490196 0.574713 +vt 0.735294 0.735632 +vt 0.705882 0.747126 +vt 0.705882 0.735632 +vt 0.735294 0.712644 +vt 0.705882 0.724138 +vt 0.705882 0.712644 +vt 0.735294 0.678161 +vt 0.705882 0.689655 +vt 0.705882 0.678161 +vt 0.735294 0.655172 +vt 0.705882 0.666667 +vt 0.705882 0.655172 +vt 0.735294 0.724138 +vt 0.735294 0.701149 +vt 0.705882 0.701149 +vt 0.735294 0.689655 +vt 0.735294 0.666667 +vt 0.740196 0.678161 +vt 0.750000 0.689655 +vt 0.740196 0.724138 +vt 0.750000 0.735632 +vt 0.745098 0.735632 +vt 0.750000 0.701149 +vt 0.750000 0.712644 +vt 0.750000 0.666667 +vt 0.750000 0.678161 +vt 0.750000 0.724138 +vt 0.764706 0.712644 +vt 0.759804 0.724138 +vt 0.764706 0.689655 +vt 0.754902 0.735632 +vt 0.764706 0.701149 +vt 0.759804 0.678161 +vt 0.750000 0.655172 +vt 0.745098 0.666667 +vt 0.754902 0.666667 +vt 0.750000 0.747126 +vt 0.764706 0.678161 +vt 0.882353 0.689655 +vt 0.764706 0.724138 +vt 0.882353 0.735632 +vt 0.764706 0.735632 +vt 0.882353 0.712644 +vt 0.882353 0.747126 +vt 0.764706 0.747126 +vt 0.882353 0.701149 +vt 0.764706 0.655172 +vt 0.882353 0.666667 +vt 0.764706 0.666667 +vt 0.882353 0.678161 +vt 0.882353 0.724138 +vt 0.897059 0.735632 +vt 0.897059 0.747126 +vt 0.897059 0.678161 +vt 0.887255 0.678161 +vt 0.887255 0.724138 +vt 0.897059 0.712644 +vt 0.897059 0.724138 +vt 0.882353 0.655172 +vt 0.897059 0.666667 +vt 0.897059 0.689655 +vt 0.892157 0.689655 +vt 0.911765 0.655172 +vt 0.911765 0.666667 +vt 0.906863 0.678161 +vt 0.906863 0.724138 +vt 0.911765 0.747126 +vt 0.901961 0.689655 +vt 0.911765 0.735632 +vt 0.897059 0.701149 +vt 0.892157 0.712644 +vt 0.901961 0.712644 +vt 0.921569 0.678161 +vt 0.911765 0.678161 +vt 0.911765 0.712644 +vt 0.921569 0.724138 +vt 0.911765 0.724138 +vt 0.911765 0.701149 +vt 0.921569 0.712644 +vt 0.921569 0.747126 +vt 0.911765 0.689655 +vt 0.921569 0.701149 +vt 0.921569 0.689655 +vt 0.921569 0.735632 +vt 0.921569 0.666667 +vt 0.735294 0.735632 +vt 0.705882 0.747126 +vt 0.705882 0.735632 +vt 0.735294 0.712644 +vt 0.705882 0.724138 +vt 0.705882 0.712644 +vt 0.735294 0.678161 +vt 0.705882 0.689655 +vt 0.705882 0.678161 +vt 0.735294 0.655172 +vt 0.705882 0.666667 +vt 0.705882 0.655172 +vt 0.735294 0.724138 +vt 0.735294 0.701149 +vt 0.705882 0.701149 +vt 0.735294 0.689655 +vt 0.735294 0.666667 +vt 0.750000 0.678161 +vt 0.750000 0.689655 +vt 0.745098 0.735632 +vt 0.750000 0.724138 +vt 0.750000 0.735632 +vt 0.750000 0.712644 +vt 0.750000 0.701149 +vt 0.745098 0.666667 +vt 0.740196 0.678161 +vt 0.740196 0.724138 +vt 0.764706 0.712644 +vt 0.759804 0.724138 +vt 0.764706 0.689655 +vt 0.754902 0.735632 +vt 0.764706 0.701149 +vt 0.750000 0.666667 +vt 0.759804 0.678161 +vt 0.750000 0.655172 +vt 0.754902 0.666667 +vt 0.750000 0.747126 +vt 0.764706 0.678161 +vt 0.882353 0.689655 +vt 0.764706 0.724138 +vt 0.882353 0.735632 +vt 0.764706 0.735632 +vt 0.882353 0.712644 +vt 0.882353 0.747126 +vt 0.764706 0.747126 +vt 0.882353 0.701149 +vt 0.764706 0.655172 +vt 0.882353 0.666667 +vt 0.764706 0.666667 +vt 0.882353 0.678161 +vt 0.882353 0.724138 +vt 0.897059 0.735632 +vt 0.897059 0.747126 +vt 0.897059 0.678161 +vt 0.887255 0.678161 +vt 0.887255 0.724138 +vt 0.897059 0.712644 +vt 0.897059 0.724138 +vt 0.882353 0.655172 +vt 0.897059 0.666667 +vt 0.897059 0.689655 +vt 0.892157 0.689655 +vt 0.911765 0.655172 +vt 0.911765 0.666667 +vt 0.906863 0.678161 +vt 0.906863 0.724138 +vt 0.911765 0.747126 +vt 0.901961 0.689655 +vt 0.911765 0.735632 +vt 0.897059 0.701149 +vt 0.892157 0.712644 +vt 0.901961 0.712644 +vt 0.921569 0.678161 +vt 0.911765 0.678161 +vt 0.911765 0.724138 +vt 0.921569 0.712644 +vt 0.921569 0.724138 +vt 0.911765 0.701149 +vt 0.911765 0.712644 +vt 0.921569 0.747126 +vt 0.911765 0.689655 +vt 0.921569 0.701149 +vt 0.921569 0.689655 +vt 0.921569 0.735632 +vt 0.921569 0.666667 +vt 0.303922 0.643678 +vt 0.274510 0.655172 +vt 0.274510 0.643678 +vt 0.303922 0.620690 +vt 0.274510 0.632184 +vt 0.274510 0.620690 +vt 0.303922 0.586207 +vt 0.274510 0.597701 +vt 0.274510 0.586207 +vt 0.303922 0.563218 +vt 0.274510 0.574713 +vt 0.274510 0.563218 +vt 0.303922 0.632184 +vt 0.303922 0.609195 +vt 0.274510 0.609195 +vt 0.303922 0.597701 +vt 0.303922 0.574713 +vt 0.318627 0.586207 +vt 0.318627 0.597701 +vt 0.308824 0.632184 +vt 0.318627 0.643678 +vt 0.313726 0.643678 +vt 0.318627 0.620690 +vt 0.318627 0.609195 +vt 0.308824 0.586207 +vt 0.318627 0.574713 +vt 0.318627 0.632184 +vt 0.333333 0.620690 +vt 0.328431 0.632184 +vt 0.333333 0.597701 +vt 0.323529 0.643678 +vt 0.333333 0.609195 +vt 0.328431 0.586207 +vt 0.318627 0.563218 +vt 0.313726 0.574713 +vt 0.323529 0.574713 +vt 0.318627 0.655172 +vt 0.333333 0.586207 +vt 0.450980 0.597701 +vt 0.333333 0.632184 +vt 0.450980 0.643678 +vt 0.333333 0.643678 +vt 0.450980 0.620690 +vt 0.450980 0.655172 +vt 0.333333 0.655172 +vt 0.450980 0.609195 +vt 0.333333 0.563218 +vt 0.450980 0.574713 +vt 0.333333 0.574713 +vt 0.450980 0.586207 +vt 0.450980 0.632184 +vt 0.465686 0.655172 +vt 0.465686 0.586207 +vt 0.455882 0.586207 +vt 0.455882 0.632184 +vt 0.465686 0.620690 +vt 0.465686 0.632184 +vt 0.450980 0.563218 +vt 0.465686 0.574713 +vt 0.465686 0.597701 +vt 0.460784 0.597701 +vt 0.465686 0.643678 +vt 0.480392 0.563218 +vt 0.480392 0.574713 +vt 0.475490 0.586207 +vt 0.475490 0.632184 +vt 0.480392 0.655172 +vt 0.470588 0.597701 +vt 0.480392 0.643678 +vt 0.465686 0.609195 +vt 0.460784 0.620690 +vt 0.470588 0.620690 +vt 0.490196 0.586207 +vt 0.480392 0.586207 +vt 0.480392 0.620690 +vt 0.490196 0.632184 +vt 0.480392 0.632184 +vt 0.480392 0.609195 +vt 0.490196 0.620690 +vt 0.490196 0.655172 +vt 0.480392 0.597701 +vt 0.490196 0.609195 +vt 0.490196 0.597701 +vt 0.490196 0.643678 +vt 0.490196 0.574713 +vt 0.735294 0.735632 +vt 0.705882 0.747126 +vt 0.705882 0.735632 +vt 0.735294 0.712644 +vt 0.705882 0.724138 +vt 0.705882 0.712644 +vt 0.735294 0.678161 +vt 0.705882 0.689655 +vt 0.705882 0.678161 +vt 0.735294 0.655172 +vt 0.705882 0.666667 +vt 0.705882 0.655172 +vt 0.735294 0.724138 +vt 0.735294 0.701149 +vt 0.705882 0.701149 +vt 0.735294 0.689655 +vt 0.735294 0.666667 +vt 0.750000 0.678161 +vt 0.750000 0.689655 +vt 0.740196 0.724138 +vt 0.750000 0.735632 +vt 0.745098 0.735632 +vt 0.750000 0.712644 +vt 0.750000 0.701149 +vt 0.740196 0.678161 +vt 0.750000 0.666667 +vt 0.750000 0.724138 +vt 0.759804 0.724138 +vt 0.764706 0.689655 +vt 0.754902 0.735632 +vt 0.764706 0.712644 +vt 0.764706 0.701149 +vt 0.759804 0.678161 +vt 0.750000 0.655172 +vt 0.745098 0.666667 +vt 0.754902 0.666667 +vt 0.750000 0.747126 +vt 0.764706 0.678161 +vt 0.882353 0.689655 +vt 0.764706 0.724138 +vt 0.882353 0.735632 +vt 0.764706 0.735632 +vt 0.882353 0.712644 +vt 0.882353 0.747126 +vt 0.764706 0.747126 +vt 0.882353 0.701149 +vt 0.764706 0.655172 +vt 0.882353 0.666667 +vt 0.764706 0.666667 +vt 0.882353 0.678161 +vt 0.882353 0.724138 +vt 0.897059 0.735632 +vt 0.897059 0.747126 +vt 0.897059 0.678161 +vt 0.887255 0.678161 +vt 0.887255 0.724138 +vt 0.897059 0.712644 +vt 0.897059 0.724138 +vt 0.882353 0.655172 +vt 0.897059 0.666667 +vt 0.897059 0.689655 +vt 0.892157 0.689655 +vt 0.911765 0.655172 +vt 0.911765 0.666667 +vt 0.906863 0.678161 +vt 0.906863 0.724138 +vt 0.911765 0.747126 +vt 0.901961 0.689655 +vt 0.911765 0.735632 +vt 0.897059 0.701149 +vt 0.892157 0.712644 +vt 0.901961 0.712644 +vt 0.921569 0.678161 +vt 0.911765 0.678161 +vt 0.911765 0.712644 +vt 0.921569 0.724138 +vt 0.911765 0.724138 +vt 0.911765 0.701149 +vt 0.921569 0.712644 +vt 0.921569 0.747126 +vt 0.911765 0.689655 +vt 0.921569 0.701149 +vt 0.921569 0.689655 +vt 0.921569 0.735632 +vt 0.921569 0.666667 +vt 0.274510 0.643678 +vt 0.303922 0.655172 +vt 0.274510 0.655172 +vt 0.303922 0.620690 +vt 0.274510 0.632184 +vt 0.274510 0.620690 +vt 0.303922 0.586207 +vt 0.274510 0.597701 +vt 0.274510 0.586207 +vt 0.303922 0.563218 +vt 0.274510 0.574713 +vt 0.274510 0.563218 +vt 0.303922 0.632184 +vt 0.303922 0.609195 +vt 0.274510 0.609195 +vt 0.303922 0.597701 +vt 0.303922 0.574713 +vt 0.308824 0.586207 +vt 0.318627 0.597701 +vt 0.308824 0.632184 +vt 0.318627 0.643678 +vt 0.313726 0.643678 +vt 0.318627 0.620690 +vt 0.318627 0.609195 +vt 0.318627 0.574713 +vt 0.318627 0.586207 +vt 0.318627 0.632184 +vt 0.333333 0.620690 +vt 0.328431 0.632184 +vt 0.333333 0.597701 +vt 0.323529 0.643678 +vt 0.333333 0.609195 +vt 0.328431 0.586207 +vt 0.318627 0.563218 +vt 0.313726 0.574713 +vt 0.323529 0.574713 +vt 0.318627 0.655172 +vt 0.333333 0.586207 +vt 0.450980 0.597701 +vt 0.333333 0.632184 +vt 0.450980 0.643678 +vt 0.333333 0.643678 +vt 0.450980 0.620690 +vt 0.450980 0.655172 +vt 0.333333 0.655172 +vt 0.450980 0.609195 +vt 0.333333 0.563218 +vt 0.450980 0.574713 +vt 0.333333 0.574713 +vt 0.450980 0.586207 +vt 0.450980 0.632184 +vt 0.465686 0.643678 +vt 0.465686 0.655172 +vt 0.465686 0.586207 +vt 0.455882 0.586207 +vt 0.455882 0.632184 +vt 0.465686 0.620690 +vt 0.465686 0.632184 +vt 0.450980 0.563218 +vt 0.465686 0.574713 +vt 0.465686 0.597701 +vt 0.460784 0.597701 +vt 0.480392 0.563218 +vt 0.480392 0.574713 +vt 0.475490 0.586207 +vt 0.475490 0.632184 +vt 0.480392 0.643678 +vt 0.480392 0.655172 +vt 0.470588 0.597701 +vt 0.465686 0.609195 +vt 0.460784 0.620690 +vt 0.470588 0.620690 +vt 0.490196 0.586207 +vt 0.480392 0.586207 +vt 0.480392 0.632184 +vt 0.490196 0.620690 +vt 0.490196 0.632184 +vt 0.480392 0.620690 +vt 0.490196 0.609195 +vt 0.490196 0.655172 +vt 0.480392 0.609195 +vt 0.490196 0.597701 +vt 0.480392 0.597701 +vt 0.490196 0.643678 +vt 0.490196 0.574713 +vt 0.303922 0.643678 +vt 0.274510 0.655172 +vt 0.274510 0.643678 +vt 0.303922 0.620690 +vt 0.274510 0.632184 +vt 0.274510 0.620690 +vt 0.303922 0.586207 +vt 0.274510 0.597701 +vt 0.274510 0.586207 +vt 0.303922 0.563218 +vt 0.274510 0.574713 +vt 0.274510 0.563218 +vt 0.303922 0.632184 +vt 0.303922 0.609195 +vt 0.274510 0.609195 +vt 0.303922 0.597701 +vt 0.303922 0.574713 +vt 0.318627 0.586207 +vt 0.318627 0.597701 +vt 0.308824 0.632184 +vt 0.318627 0.643678 +vt 0.313726 0.643678 +vt 0.318627 0.620690 +vt 0.318627 0.609195 +vt 0.308824 0.586207 +vt 0.318627 0.574713 +vt 0.318627 0.632184 +vt 0.333333 0.620690 +vt 0.328431 0.632184 +vt 0.333333 0.597701 +vt 0.323529 0.643678 +vt 0.333333 0.609195 +vt 0.328431 0.586207 +vt 0.318627 0.563218 +vt 0.313726 0.574713 +vt 0.323529 0.574713 +vt 0.318627 0.655172 +vt 0.333333 0.586207 +vt 0.450980 0.597701 +vt 0.333333 0.632184 +vt 0.450980 0.643678 +vt 0.333333 0.643678 +vt 0.450980 0.620690 +vt 0.450980 0.655172 +vt 0.333333 0.655172 +vt 0.450980 0.609195 +vt 0.333333 0.563218 +vt 0.450980 0.574713 +vt 0.333333 0.574713 +vt 0.450980 0.586207 +vt 0.450980 0.632184 +vt 0.465686 0.643678 +vt 0.465686 0.655172 +vt 0.465686 0.586207 +vt 0.455882 0.586207 +vt 0.455882 0.632184 +vt 0.465686 0.620690 +vt 0.465686 0.632184 +vt 0.450980 0.563218 +vt 0.465686 0.574713 +vt 0.465686 0.597701 +vt 0.460784 0.597701 +vt 0.480392 0.563218 +vt 0.480392 0.574713 +vt 0.475490 0.586207 +vt 0.475490 0.632184 +vt 0.480392 0.655172 +vt 0.470588 0.597701 +vt 0.480392 0.643678 +vt 0.465686 0.609195 +vt 0.460784 0.620690 +vt 0.470588 0.620690 +vt 0.490196 0.586207 +vt 0.480392 0.586207 +vt 0.480392 0.620690 +vt 0.490196 0.632184 +vt 0.480392 0.632184 +vt 0.480392 0.609195 +vt 0.490196 0.620690 +vt 0.490196 0.655172 +vt 0.480392 0.597701 +vt 0.490196 0.609195 +vt 0.490196 0.597701 +vt 0.490196 0.643678 +vt 0.490196 0.574713 +vt 0.735294 0.735632 +vt 0.705882 0.747126 +vt 0.705882 0.735632 +vt 0.735294 0.712644 +vt 0.705882 0.724138 +vt 0.705882 0.712644 +vt 0.735294 0.678161 +vt 0.705882 0.689655 +vt 0.705882 0.678161 +vt 0.735294 0.655172 +vt 0.705882 0.666667 +vt 0.705882 0.655172 +vt 0.735294 0.724138 +vt 0.735294 0.701149 +vt 0.705882 0.701149 +vt 0.735294 0.689655 +vt 0.735294 0.666667 +vt 0.740196 0.678161 +vt 0.750000 0.689655 +vt 0.740196 0.724138 +vt 0.750000 0.735632 +vt 0.745098 0.735632 +vt 0.750000 0.701149 +vt 0.750000 0.712644 +vt 0.750000 0.666667 +vt 0.750000 0.678161 +vt 0.750000 0.724138 +vt 0.764706 0.712644 +vt 0.759804 0.724138 +vt 0.764706 0.689655 +vt 0.754902 0.735632 +vt 0.764706 0.701149 +vt 0.759804 0.678161 +vt 0.750000 0.655172 +vt 0.745098 0.666667 +vt 0.754902 0.666667 +vt 0.750000 0.747126 +vt 0.764706 0.678161 +vt 0.882353 0.689655 +vt 0.764706 0.724138 +vt 0.882353 0.735632 +vt 0.764706 0.735632 +vt 0.882353 0.712644 +vt 0.882353 0.747126 +vt 0.764706 0.747126 +vt 0.882353 0.701149 +vt 0.764706 0.655172 +vt 0.882353 0.666667 +vt 0.764706 0.666667 +vt 0.882353 0.678161 +vt 0.882353 0.724138 +vt 0.897059 0.735632 +vt 0.897059 0.747126 +vt 0.897059 0.678161 +vt 0.887255 0.678161 +vt 0.887255 0.724138 +vt 0.897059 0.712644 +vt 0.897059 0.724138 +vt 0.882353 0.655172 +vt 0.897059 0.666667 +vt 0.897059 0.689655 +vt 0.892157 0.689655 +vt 0.911765 0.655172 +vt 0.911765 0.666667 +vt 0.906863 0.678161 +vt 0.906863 0.724138 +vt 0.911765 0.747126 +vt 0.901961 0.689655 +vt 0.911765 0.735632 +vt 0.897059 0.701149 +vt 0.892157 0.712644 +vt 0.901961 0.712644 +vt 0.921569 0.678161 +vt 0.911765 0.678161 +vt 0.911765 0.712644 +vt 0.921569 0.724138 +vt 0.911765 0.724138 +vt 0.911765 0.701149 +vt 0.921569 0.712644 +vt 0.921569 0.747126 +vt 0.911765 0.689655 +vt 0.921569 0.701149 +vt 0.921569 0.689655 +vt 0.921569 0.735632 +vt 0.921569 0.666667 +vt 0.294118 0.298851 +vt 0.284314 0.252874 +vt 0.294118 0.252874 +vt 0.274510 0.298851 +vt 0.264706 0.252874 +vt 0.274510 0.252874 +vt 0.333333 0.298851 +vt 0.323529 0.252874 +vt 0.333333 0.252874 +vt 0.313726 0.298851 +vt 0.303922 0.252874 +vt 0.313726 0.252874 +vt 0.303922 0.298851 +vt 0.284314 0.298851 +vt 0.264706 0.298851 +vt 0.254902 0.252874 +vt 0.323529 0.298851 +vt 0.294118 0.298851 +vt 0.284314 0.252874 +vt 0.294118 0.252874 +vt 0.274510 0.298851 +vt 0.264706 0.252874 +vt 0.274510 0.252874 +vt 0.333333 0.298851 +vt 0.323529 0.252874 +vt 0.333333 0.252874 +vt 0.313726 0.298851 +vt 0.303922 0.252874 +vt 0.313726 0.252874 +vt 0.303922 0.298851 +vt 0.284314 0.298851 +vt 0.264706 0.298851 +vt 0.254902 0.252874 +vt 0.323529 0.298851 +vt 0.294118 0.298851 +vt 0.284314 0.252874 +vt 0.294118 0.252874 +vt 0.274510 0.298851 +vt 0.264706 0.252874 +vt 0.274510 0.252874 +vt 0.333333 0.298851 +vt 0.323529 0.252874 +vt 0.333333 0.252874 +vt 0.313726 0.298851 +vt 0.303922 0.252874 +vt 0.313726 0.252874 +vt 0.303922 0.298851 +vt 0.284314 0.298851 +vt 0.264706 0.298851 +vt 0.254902 0.252874 +vt 0.323529 0.298851 +vt 0.294118 0.298851 +vt 0.284314 0.252874 +vt 0.294118 0.252874 +vt 0.274510 0.298851 +vt 0.264706 0.252874 +vt 0.274510 0.252874 +vt 0.333333 0.298851 +vt 0.323529 0.252874 +vt 0.333333 0.252874 +vt 0.313726 0.298851 +vt 0.303922 0.252874 +vt 0.313726 0.252874 +vt 0.303922 0.298851 +vt 0.284314 0.298851 +vt 0.264706 0.298851 +vt 0.254902 0.252874 +vt 0.323529 0.298851 +vt 0.294118 0.298851 +vt 0.284314 0.252874 +vt 0.294118 0.252874 +vt 0.274510 0.298851 +vt 0.264706 0.252874 +vt 0.274510 0.252874 +vt 0.333333 0.298851 +vt 0.323529 0.252874 +vt 0.333333 0.252874 +vt 0.313726 0.298851 +vt 0.303922 0.252874 +vt 0.313726 0.252874 +vt 0.303922 0.298851 +vt 0.284314 0.298851 +vt 0.264706 0.298851 +vt 0.254902 0.252874 +vt 0.323529 0.298851 +vt 0.294118 0.298851 +vt 0.284314 0.252874 +vt 0.294118 0.252874 +vt 0.274510 0.298851 +vt 0.264706 0.252874 +vt 0.274510 0.252874 +vt 0.333333 0.298851 +vt 0.323529 0.252874 +vt 0.333333 0.252874 +vt 0.313726 0.298851 +vt 0.303922 0.252874 +vt 0.313726 0.252874 +vt 0.303922 0.298851 +vt 0.284314 0.298851 +vt 0.264706 0.298851 +vt 0.254902 0.252874 +vt 0.323529 0.298851 +vt 0.294118 0.298851 +vt 0.284314 0.252874 +vt 0.294118 0.252874 +vt 0.274510 0.298851 +vt 0.264706 0.252874 +vt 0.274510 0.252874 +vt 0.333333 0.298851 +vt 0.323529 0.252874 +vt 0.333333 0.252874 +vt 0.313726 0.298851 +vt 0.303922 0.252874 +vt 0.313726 0.252874 +vt 0.303922 0.298851 +vt 0.284314 0.298851 +vt 0.264706 0.298851 +vt 0.254902 0.252874 +vt 0.323529 0.298851 +vt 0.294118 0.298851 +vt 0.284314 0.252874 +vt 0.294118 0.252874 +vt 0.274510 0.298851 +vt 0.264706 0.252874 +vt 0.274510 0.252874 +vt 0.333333 0.298851 +vt 0.323529 0.252874 +vt 0.333333 0.252874 +vt 0.313726 0.298851 +vt 0.303922 0.252874 +vt 0.313726 0.252874 +vt 0.303922 0.298851 +vt 0.284314 0.298851 +vt 0.264706 0.298851 +vt 0.254902 0.252874 +vt 0.323529 0.298851 +vt 0.294118 0.298851 +vt 0.284314 0.252874 +vt 0.294118 0.252874 +vt 0.274510 0.298851 +vt 0.264706 0.252874 +vt 0.274510 0.252874 +vt 0.333333 0.298851 +vt 0.323529 0.252874 +vt 0.333333 0.252874 +vt 0.313726 0.298851 +vt 0.303922 0.252874 +vt 0.313726 0.252874 +vt 0.303922 0.298851 +vt 0.284314 0.298851 +vt 0.264706 0.298851 +vt 0.254902 0.252874 +vt 0.323529 0.298851 +vt -0.000000 0.747126 +vt 0.313726 0.563218 +vt 0.254902 0.379310 +vt 0.176471 0.252874 +vt 0.333333 0.344828 +vt 0.274510 0.655172 +vt 0.058824 0.747126 +vt 0.352941 0.655172 +vt 0.392157 0.747126 +vt 0.705882 0.655172 +vt 0.735294 0.747126 +vt 0.921569 0.655172 +vt 0.303922 0.655172 +vt 0.465686 0.563218 +vt 0.490196 0.563218 +vt 0.254902 0.298851 +vt 0.254902 0.379310 +vt 0.176471 0.252874 +vt 0.254902 0.379310 +vt 0.176471 0.379310 +vt 0.176471 0.252874 +vt 0.254902 0.379310 +vt 0.176471 0.252874 +vt 0.254902 0.379310 +vt 0.176471 0.252874 +vt 0.254902 0.379310 +vt 0.176471 0.379310 +vt 0.176471 0.252874 +vt 0.254902 0.379310 +vt 0.176471 0.252874 +vt 0.254902 0.379310 +vt 0.176471 0.252874 +vt 0.254902 0.379310 +vt 0.176471 0.252874 +vt 0.254902 0.379310 +vt 0.176471 0.379310 +vt 0.176471 0.252874 +vt 0.333333 0.344828 +vt 0.333333 0.344828 +vt 0.333333 0.298851 +vt 0.333333 0.344828 +vt 0.313726 0.563218 +vt 0.235294 0.747126 +vt -0.000000 0.747126 +vt 0.235294 0.747126 +vt -0.000000 0.747126 +vt -0.000000 0.747126 +vt 0.235294 0.747126 +vt -0.000000 0.747126 +vt 0.235294 0.747126 +vt -0.000000 0.747126 +vt 0.274510 0.655172 +vt 0.735294 0.747126 +vt 0.897059 0.655172 +vt 0.921569 0.655172 +vt 0.303922 0.655172 +vt 0.465686 0.563218 +vt 0.490196 0.563218 +vt 0.303922 0.655172 +vt 0.465686 0.563218 +vt 0.490196 0.563218 +vt 0.735294 0.747126 +vt 0.897059 0.655172 +vt 0.921569 0.655172 +vt 0.735294 0.747126 +vt 0.897059 0.655172 +vt 0.921569 0.655172 +vt 0.303922 0.655172 +vt 0.465686 0.563218 +vt 0.490196 0.563218 +vt 0.735294 0.747126 +vt 0.897059 0.655172 +vt 0.921569 0.655172 +vt 0.303922 0.643678 +vt 0.465686 0.563218 +vt 0.490196 0.563218 +vt 0.303922 0.655172 +vt 0.465686 0.563218 +vt 0.490196 0.563218 +vt 0.735294 0.747126 +vt 0.897059 0.655172 +vt 0.921569 0.655172 +vt 0.254902 0.298851 +vt 0.254902 0.298851 +vt 0.254902 0.298851 +vt 0.254902 0.298851 +vt 0.254902 0.298851 +vt 0.254902 0.298851 +vt 0.254902 0.298851 +vt 0.254902 0.298851 +vt 0.254902 0.298851 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.8660 0.0000 0.5000 +vn -0.5000 0.0000 -0.8660 +vn -0.8660 0.0000 -0.5000 +vn -0.8660 0.0000 0.5000 +vn -0.5000 0.0000 0.8660 +vn 0.8660 0.0000 -0.5000 +vn 0.5000 0.0000 0.8660 +vn 0.5000 0.0000 -0.8660 +vn -0.3827 0.0000 0.9239 +vn -0.7071 0.0000 0.7071 +vn 0.3827 0.0000 -0.9239 +vn -0.3827 0.0000 -0.9239 +vn 0.3827 0.0000 0.9239 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.9239 0.0000 -0.3827 +vn 0.9239 0.0000 0.3827 +vn 0.9239 0.0000 -0.3827 +vn -0.9239 0.0000 0.3827 +vn 0.7071 0.0000 -0.7071 +vn -0.1363 -0.6737 -0.7263 +vn 0.0000 -0.7071 -0.7071 +vn 0.1448 0.7194 -0.6794 +vn 0.0000 0.7071 -0.7071 +vn 0.0196 0.0473 0.9987 +vn 0.0000 0.7071 0.7071 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0196 0.0473 -0.9987 +vn 0.1866 0.9824 -0.0000 +vn 0.1448 0.7194 0.6794 +vn -0.1363 -0.6737 0.7263 +vn 0.5294 0.5294 0.6630 +vn -0.4617 -0.4617 -0.7574 +vn 0.5294 0.5294 -0.6630 +vn 0.7071 0.7071 -0.0000 +vn -0.4617 -0.4617 0.7574 +vn 0.0671 0.0671 0.9955 +vn 0.0671 0.0671 -0.9955 +vn 0.7194 0.1448 -0.6794 +vn 0.0473 0.0196 -0.9987 +vn 0.7194 0.1448 0.6794 +vn -0.6737 -0.1363 -0.7263 +vn 0.9824 0.1866 0.0000 +vn -0.6737 -0.1363 0.7263 +vn 0.0473 0.0196 0.9987 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 0.7071 -0.0000 +vn -0.6737 0.7263 0.1363 +vn 0.7194 0.6794 -0.1448 +vn 0.0473 -0.9987 -0.0196 +vn -0.9307 -0.0000 0.3658 +vn 0.0473 0.9987 -0.0196 +vn 0.9824 0.0000 -0.1866 +vn 0.7194 -0.6794 -0.1448 +vn -0.6737 -0.7263 0.1363 +vn 0.0440 -0.9989 -0.0165 +vn 0.6174 -0.6805 -0.3946 +vn -0.5824 0.7230 0.3716 +vn 0.6174 0.6805 -0.3946 +vn 0.8368 -0.0000 -0.5475 +vn -0.5825 -0.7230 0.3716 +vn 0.0440 0.9989 -0.0165 +vn -0.6174 -0.6805 0.3946 +vn -0.9824 0.0000 0.1866 +vn -0.7194 -0.6794 0.1448 +vn -0.0440 -0.9989 0.0165 +vn -0.0473 -0.9987 0.0196 +vn 0.5825 0.7230 -0.3716 +vn -0.0473 0.9987 0.0196 +vn -0.0440 0.9989 0.0165 +vn -0.6174 0.6805 0.3946 +vn -0.8368 0.0000 0.5475 +vn 0.6737 -0.7263 -0.1363 +vn 0.5824 -0.7230 -0.3716 +vn -0.7194 0.6794 0.1448 +vn 0.9307 0.0000 -0.3658 +vn 0.6737 0.7263 -0.1363 +vn -0.5825 0.7230 0.3716 +vn 0.5824 0.7230 -0.3716 +vn -0.7263 -0.6737 0.1363 +vn -0.6794 0.7194 -0.1448 +vn 0.9987 0.0473 -0.0196 +vn -0.9987 0.0473 -0.0196 +vn -0.0000 0.9824 -0.1866 +vn 0.6794 0.7194 -0.1448 +vn 0.7263 -0.6737 0.1363 +vn 0.9955 0.0671 -0.0671 +vn 0.6630 0.5294 -0.5294 +vn -0.7574 -0.4617 0.4617 +vn -0.6630 0.5294 -0.5294 +vn 0.7574 -0.4617 0.4617 +vn -0.9955 0.0671 -0.0671 +vn -0.6794 0.1448 -0.7194 +vn -0.9987 0.0196 -0.0473 +vn 0.6794 0.1448 -0.7194 +vn -0.7263 -0.1363 0.6737 +vn 0.0000 0.1866 -0.9824 +vn 0.9987 0.0196 -0.0473 +vn 0.7263 -0.1363 0.6737 +vn 0.7263 0.1363 -0.6737 +vn -0.6794 -0.1448 0.7194 +vn -0.7263 0.1363 -0.6737 +vn -0.0000 -0.1866 0.9824 +vn 0.6794 -0.1448 0.7194 +vn 0.9987 -0.0196 0.0473 +vn -0.9987 -0.0196 0.0473 +vn -0.6630 -0.5294 0.5294 +vn 0.9955 -0.0671 0.0671 +vn -0.7574 0.4617 -0.4617 +vn -0.9955 -0.0671 0.0671 +vn 0.6630 -0.5294 0.5294 +vn 0.7574 0.4617 -0.4617 +vn 0.6794 -0.7194 0.1448 +vn 0.9987 -0.0473 0.0196 +vn -0.9987 -0.0473 0.0196 +vn -0.0000 -0.9824 0.1866 +vn 0.7263 0.6737 -0.1363 +vn -0.6794 -0.7194 0.1448 +vn -0.7263 0.6737 -0.1363 +vn 0.1363 -0.6737 0.7263 +vn -0.1448 0.7194 0.6794 +vn -0.0196 0.0473 -0.9987 +vn 0.1363 -0.6737 -0.7263 +vn -0.0196 0.0473 0.9987 +vn -0.1866 0.9824 -0.0000 +vn -0.1448 0.7194 -0.6794 +vn -0.0671 0.0671 -0.9955 +vn -0.5294 0.5294 -0.6630 +vn 0.4617 -0.4617 0.7574 +vn -0.5294 0.5294 0.6630 +vn 0.4617 -0.4617 -0.7574 +vn -0.0671 0.0671 0.9955 +vn -0.7194 0.1448 0.6794 +vn -0.0473 0.0196 0.9987 +vn -0.0473 0.0196 -0.9987 +vn -0.7194 0.1448 -0.6794 +vn 0.6737 -0.1363 0.7263 +vn -0.9824 0.1866 0.0000 +vn 0.6737 -0.1363 -0.7263 +vn 0.7263 -0.6737 -0.1363 +vn 0.6794 0.7194 0.1448 +vn -0.9987 0.0473 0.0196 +vn 0.9987 0.0473 0.0196 +vn 0.0000 0.9824 0.1866 +vn -0.6794 0.7194 0.1448 +vn -0.7263 -0.6737 -0.1363 +vn -0.9955 0.0671 0.0671 +vn -0.6630 0.5294 0.5294 +vn 0.9955 0.0671 0.0671 +vn 0.7574 -0.4617 -0.4617 +vn 0.6630 0.5294 0.5294 +vn 0.6794 0.1448 0.7194 +vn 0.9987 0.0196 0.0473 +vn -0.6794 0.1448 0.7194 +vn 0.7263 -0.1363 -0.6737 +vn -0.0000 0.1866 0.9824 +vn -0.7574 -0.4617 -0.4617 +vn -0.9987 0.0196 0.0473 +vn -0.7263 -0.1363 -0.6737 +vn -0.7263 0.1363 0.6737 +vn 0.6794 -0.1448 -0.7194 +vn 0.7263 0.1363 0.6737 +vn 0.0000 -0.1866 -0.9824 +vn -0.6794 -0.1448 -0.7194 +vn -0.9987 -0.0196 -0.0473 +vn 0.9987 -0.0196 -0.0473 +vn 0.6630 -0.5294 -0.5294 +vn -0.9955 -0.0671 -0.0671 +vn 0.7574 0.4617 0.4617 +vn 0.9955 -0.0671 -0.0671 +vn -0.6630 -0.5294 -0.5294 +vn -0.7574 0.4617 0.4617 +vn 0.0000 -0.9824 -0.1866 +vn -0.6794 -0.7194 -0.1448 +vn -0.9987 -0.0473 -0.0196 +vn 0.9987 -0.0473 -0.0196 +vn -0.7263 0.6737 0.1363 +vn 0.6794 -0.7194 -0.1448 +vn 0.7263 0.6737 0.1363 +s off +f 3024/207/238 3025/208/238 3026/209/238 +f 3027/210/238 3030/211/238 3028/212/238 +f 3034/213/239 3031/214/239 3032/215/239 +f 3027/216/240 3033/217/240 3029/218/240 +f 3029/218/241 3034/213/241 3030/211/241 +f 3030/211/242 3032/215/242 3028/212/242 +f 3028/219/243 3031/220/243 3027/216/243 +f 3035/221/238 3038/222/238 3036/223/238 +f 3042/224/239 3039/225/239 3040/226/239 +f 3035/227/240 3041/228/240 3037/229/240 +f 3037/229/241 3042/224/241 3038/222/241 +f 3038/222/242 3040/226/242 3036/223/242 +f 3036/230/243 3039/231/243 3035/227/243 +f 3043/232/238 3046/233/238 3044/234/238 +f 3050/235/239 3047/236/239 3048/237/239 +f 3043/238/240 3049/239/240 3045/240/240 +f 3045/240/241 3050/235/241 3046/233/241 +f 3046/233/242 3048/237/242 3044/234/242 +f 3044/241/243 3047/242/243 3043/238/243 +f 3051/243/238 3054/244/238 3052/245/238 +f 3058/246/239 3055/247/239 3056/248/239 +f 3051/249/240 3057/250/240 3053/251/240 +f 3053/251/241 3058/246/241 3054/244/241 +f 3054/244/242 3056/248/242 3052/245/242 +f 3052/252/243 3055/253/243 3051/249/243 +f 3061/254/243 3026/209/243 3025/208/243 +f 3059/255/241 3023/256/241 3024/207/241 +f 3062/257/239 3060/258/239 3059/259/239 +f 3063/260/238 3065/261/238 3066/262/238 +f 3069/263/241 3066/262/241 3065/261/241 +f 3067/264/243 3064/265/243 3063/260/243 +f 3070/266/239 3068/267/239 3067/268/239 +f 3071/269/238 3073/270/238 3074/271/238 +f 3077/272/242 3074/271/242 3073/270/242 +f 3075/273/240 3072/274/240 3071/269/240 +f 3078/275/239 3076/276/239 3075/277/239 +f 3079/278/238 3081/279/238 3082/280/238 +f 3085/281/240 3082/280/240 3081/279/240 +f 3083/282/242 3080/283/242 3079/278/242 +f 3086/284/239 3084/285/239 3083/286/239 +f 3091/287/242 3088/288/242 3093/289/242 +f 3093/290/243 3089/291/243 3094/292/243 +f 3092/293/241 3087/294/241 3091/295/241 +f 3094/296/240 3090/297/240 3092/298/240 +f 3088/288/239 3090/297/239 3089/291/239 +f 3092/299/238 3093/289/238 3094/300/238 +f 3099/301/242 3096/302/242 3101/303/242 +f 3101/304/243 3097/305/243 3102/306/243 +f 3100/307/241 3095/308/241 3099/309/241 +f 3102/310/240 3098/311/240 3100/312/240 +f 3096/302/239 3098/311/239 3097/305/239 +f 3100/313/238 3101/303/238 3102/314/238 +f 3105/315/238 3104/316/238 3103/317/238 +f 3109/318/239 3107/319/239 3108/320/239 +f 3103/321/240 3107/319/240 3105/322/240 +f 3105/323/241 3110/324/241 3106/325/241 +f 3104/326/243 3108/320/243 3103/327/243 +f 3106/328/242 3109/318/242 3104/316/242 +f 3115/329/242 3112/330/242 3117/331/242 +f 3117/332/243 3113/333/243 3118/334/243 +f 3116/335/241 3111/336/241 3115/337/241 +f 3118/338/240 3114/339/240 3116/340/240 +f 3112/330/239 3114/339/239 3113/333/239 +f 3116/341/238 3117/331/238 3118/342/238 +f 3121/343/238 3120/344/238 3119/345/238 +f 3125/346/239 3123/347/239 3124/348/239 +f 3119/349/240 3123/347/240 3121/350/240 +f 3121/351/241 3126/352/241 3122/353/241 +f 3120/354/243 3124/348/243 3119/355/243 +f 3122/356/242 3125/346/242 3120/344/242 +f 3129/357/242 3128/358/242 3127/359/242 +f 3131/360/239 3142/361/239 3134/362/239 +f 3130/363/243 3137/364/243 3128/358/243 +f 3127/359/241 3135/365/241 3129/357/241 +f 3129/357/239 3138/366/239 3130/363/239 +f 3128/358/238 3136/367/238 3127/359/238 +f 3131/368/240 3136/369/240 3132/370/240 +f 3132/371/240 3137/372/240 3133/373/240 +f 3133/374/240 3138/375/240 3134/376/240 +f 3134/362/240 3135/377/240 3131/360/240 +f 3133/373/238 3140/378/238 3132/371/238 +f 3134/376/243 3141/379/243 3133/374/243 +f 3132/370/241 3139/380/241 3131/368/241 +f 3146/381/238 3148/382/238 3152/383/238 +f 3658/384/239 3660/385/239 3664/386/239 +f 3157/387/238 3156/388/238 3155/389/238 +f 3158/390/243 3161/391/243 3156/388/243 +f 3155/389/241 3159/392/241 3157/387/241 +f 3157/387/242 3162/393/242 3158/390/242 +f 3156/388/240 3160/394/240 3155/389/240 +f 3160/395/239 3162/396/239 3159/397/239 +f 3165/398/238 3164/399/238 3163/400/238 +f 3166/401/243 3169/402/243 3164/399/243 +f 3163/400/241 3167/403/241 3165/398/241 +f 3165/398/242 3170/404/242 3166/401/242 +f 3164/399/240 3168/405/240 3163/400/240 +f 3168/406/239 3170/407/239 3167/408/239 +f 3173/409/238 3172/410/238 3171/411/238 +f 3174/412/243 3177/413/243 3172/410/243 +f 3171/411/241 3175/414/241 3173/409/241 +f 3173/409/242 3178/415/242 3174/412/242 +f 3172/410/240 3176/416/240 3171/411/240 +f 3181/417/239 3178/418/239 3175/419/239 +f 3182/420/243 3185/421/243 3180/422/243 +f 3179/423/239 3175/419/239 3176/424/239 +f 3180/425/239 3176/424/239 3177/413/239 +f 3182/426/239 3177/413/239 3178/418/239 +f 3185/421/239 3183/427/239 3184/428/239 +f 3179/429/241 3183/427/241 3181/430/241 +f 3181/431/242 3186/432/242 3182/433/242 +f 3180/434/240 3184/428/240 3179/435/240 +f 3193/436/239 3191/437/239 3192/438/239 +f 3188/439/240 3192/438/240 3187/440/240 +f 3190/441/243 3193/436/243 3188/442/243 +f 3187/443/241 3191/437/241 3189/444/241 +f 3189/445/242 3194/446/242 3190/447/242 +f 3212/448/239 3228/449/239 3227/450/239 +f 3213/451/239 3227/450/239 3229/452/239 +f 3213/451/239 3230/453/239 3214/454/239 +f 3215/455/239 3230/453/239 3231/456/239 +f 3215/455/239 3232/457/239 3216/458/239 +f 3216/458/239 3233/459/239 3217/460/239 +f 3218/461/239 3233/459/239 3234/462/239 +f 3219/463/239 3234/462/239 3235/464/239 +f 3220/465/239 3235/466/239 3236/467/239 +f 3221/468/239 3236/467/239 3237/469/239 +f 3222/470/239 3237/469/239 3238/471/239 +f 3223/472/239 3238/471/239 3239/473/239 +f 3223/472/239 3240/474/239 3224/475/239 +f 3224/475/239 3241/476/239 3225/477/239 +f 3226/478/239 3241/476/239 3242/479/239 +f 3211/480/239 3242/479/239 3228/449/239 +f 3260/481/239 3261/482/239 3259/483/239 +f 3264/484/239 3265/485/239 3263/486/239 +f 3268/487/239 3269/488/239 3267/489/239 +f 3273/490/239 3272/491/239 3274/492/239 +f 3276/493/239 3277/494/239 3275/495/239 +f 3280/496/239 3281/497/239 3279/498/239 +f 3289/499/239 3287/500/239 3288/501/239 +f 3284/502/240 3288/501/240 3283/503/240 +f 3286/504/243 3289/499/243 3284/505/243 +f 3283/506/241 3287/500/241 3285/507/241 +f 3285/508/242 3290/509/242 3286/510/242 +f 3319/511/239 3320/512/239 3318/513/239 +f 3323/514/239 3324/515/239 3322/516/239 +f 3327/517/239 3328/518/239 3326/519/239 +f 3332/520/239 3331/521/239 3333/522/239 +f 3335/523/239 3336/524/239 3334/525/239 +f 3339/526/239 3340/527/239 3338/528/239 +f 3402/529/239 3400/530/239 3401/531/239 +f 3399/532/243 3402/529/243 3397/533/243 +f 3396/534/241 3400/530/241 3398/535/241 +f 3398/536/242 3403/537/242 3399/538/242 +f 3397/539/240 3401/531/240 3396/540/240 +f 3654/541/239 3652/542/239 3653/543/239 +f 3651/544/243 3654/541/243 3649/545/243 +f 3648/546/241 3652/542/241 3650/547/241 +f 3650/548/242 3655/549/242 3651/550/242 +f 3649/551/240 3653/543/240 3648/552/240 +f 3300/553/239 4080/554/239 4079/555/239 +f 3299/556/239 4079/555/239 4081/557/239 +f 3299/556/239 4082/558/239 3298/559/239 +f 3297/560/239 4082/558/239 4083/561/239 +f 3297/560/239 4084/562/239 3296/563/239 +f 3295/564/239 4084/562/239 4085/565/239 +f 3294/566/239 4085/565/239 4086/567/239 +f 3293/568/239 4086/567/239 4087/569/239 +f 3292/570/239 4087/571/239 4088/572/239 +f 3291/573/239 4088/572/239 4089/574/239 +f 4074/575/239 4089/574/239 4090/576/239 +f 4075/577/239 4090/576/239 4091/578/239 +f 4075/577/239 4092/579/239 4076/580/239 +f 4076/580/239 4093/581/239 4077/582/239 +f 4078/583/239 4093/581/239 4094/584/239 +f 3301/585/239 4094/584/239 4080/554/239 +f 4114/586/238 4116/587/238 4120/588/238 +f 4127/589/239 4129/590/239 4131/591/239 +f 4138/592/238 4140/593/238 4144/594/238 +f 4151/595/239 4155/596/239 4147/597/239 +f 4164/598/238 4166/599/238 4168/600/238 +f 4175/601/239 4177/602/239 4179/603/239 +f 4188/604/238 4190/605/238 4192/606/238 +f 4199/607/239 4201/608/239 4203/609/239 +f 4210/610/238 4212/611/238 4216/612/238 +f 4223/613/239 4227/614/239 4219/615/239 +f 4234/616/238 4236/617/238 4240/618/238 +f 4247/619/239 4251/620/239 4243/621/239 +f 4258/622/238 4260/623/238 4264/624/238 +f 4271/625/239 4273/626/239 4275/627/239 +f 4282/628/238 4284/629/238 4288/630/238 +f 4293/631/239 4295/632/239 4299/633/239 +f 4306/634/238 4308/635/238 4312/636/238 +f 4319/637/239 4323/638/239 4315/639/239 +f 4332/640/239 4334/641/239 4331/642/239 +f 4330/643/243 4333/644/243 4328/645/243 +f 4327/646/241 4331/642/241 4329/647/241 +f 4329/648/242 4334/641/242 4330/649/242 +f 4328/650/240 4332/640/240 4327/651/240 +f 4341/652/239 4339/653/239 4340/654/239 +f 4338/655/243 4341/652/243 4336/656/243 +f 4335/657/241 4339/653/241 4337/658/241 +f 4337/659/242 4342/660/242 4338/661/242 +f 4336/662/240 4340/654/240 4335/663/240 +f 4349/664/239 4347/665/239 4348/666/239 +f 4346/667/243 4349/664/243 4344/668/243 +f 4343/669/241 4347/665/241 4345/670/241 +f 4345/671/242 4350/672/242 4346/673/242 +f 4344/674/240 4348/666/240 4343/675/240 +f 4357/676/239 4355/677/239 4356/678/239 +f 4354/679/243 4357/676/243 4352/680/243 +f 4351/681/241 4355/677/241 4353/682/241 +f 4353/683/242 4358/684/242 4354/685/242 +f 4352/686/240 4356/678/240 4351/687/240 +f 4365/688/239 4363/689/239 4364/690/239 +f 4362/691/243 4365/688/243 4360/692/243 +f 4359/693/241 4363/689/241 4361/694/241 +f 4361/695/242 4366/696/242 4362/697/242 +f 4360/698/240 4364/690/240 4359/699/240 +f 4372/700/239 4374/701/239 4371/702/239 +f 4370/703/243 4373/704/243 4368/705/243 +f 4367/706/241 4371/702/241 4369/707/241 +f 4369/708/242 4374/701/242 4370/709/242 +f 4368/710/240 4372/700/240 4367/711/240 +f 4381/712/239 4379/713/239 4380/714/239 +f 4378/715/243 4381/712/243 4376/716/243 +f 4375/717/241 4379/713/241 4377/718/241 +f 4377/719/242 4382/720/242 4378/721/242 +f 4376/722/240 4380/714/240 4375/723/240 +f 4389/724/239 4387/725/239 4388/726/239 +f 4386/727/243 4389/724/243 4384/728/243 +f 4383/729/241 4387/725/241 4385/730/241 +f 4385/731/242 4390/732/242 4386/733/242 +f 4384/734/240 4388/726/240 4383/735/240 +f 4397/736/239 4395/737/239 4396/738/239 +f 4394/739/243 4397/736/243 4392/740/243 +f 4391/741/241 4395/737/241 4393/742/241 +f 4393/743/242 4398/744/242 4394/745/242 +f 4392/746/240 4396/738/240 4391/747/240 +f 4405/748/239 4403/749/239 4404/750/239 +f 4402/751/243 4405/748/243 4400/752/243 +f 4399/753/241 4403/749/241 4401/754/241 +f 4401/755/242 4406/756/242 4402/757/242 +f 4400/758/240 4404/750/240 4399/759/240 +f 4413/760/239 4411/761/239 4412/762/239 +f 4410/763/243 4413/760/243 4408/764/243 +f 4407/765/241 4411/761/241 4409/766/241 +f 4409/767/242 4414/768/242 4410/769/242 +f 4408/770/240 4412/762/240 4407/771/240 +f 4420/772/239 4422/773/239 4419/774/239 +f 4418/775/243 4421/776/243 4416/777/243 +f 4415/778/241 4419/774/241 4417/779/241 +f 4417/780/242 4422/773/242 4418/781/242 +f 4416/782/240 4420/772/240 4415/783/240 +f 4429/784/239 4427/785/239 4428/786/239 +f 4426/787/243 4429/784/243 4424/788/243 +f 4423/789/241 4427/785/241 4425/790/241 +f 4425/791/242 4430/792/242 4426/793/242 +f 4424/794/240 4428/786/240 4423/795/240 +f 4437/796/239 4435/797/239 4436/798/239 +f 4434/799/243 4437/796/243 4432/800/243 +f 4431/801/241 4435/797/241 4433/802/241 +f 4433/803/242 4438/804/242 4434/805/242 +f 4432/806/240 4436/798/240 4431/807/240 +f 4444/808/239 4446/809/239 4443/810/239 +f 4442/811/243 4445/812/243 4440/813/243 +f 4439/814/241 4443/810/241 4441/815/241 +f 4441/816/242 4446/809/242 4442/817/242 +f 4440/818/240 4444/808/240 4439/819/240 +f 4453/820/239 4451/821/239 4452/822/239 +f 4450/823/243 4453/820/243 4448/824/243 +f 4447/825/241 4451/821/241 4449/826/241 +f 4449/827/242 4454/828/242 4450/829/242 +f 4448/830/240 4452/822/240 4447/831/240 +f 4461/832/239 4459/833/239 4460/834/239 +f 4458/835/243 4461/832/243 4456/836/243 +f 4455/837/241 4459/833/241 4457/838/241 +f 4457/839/242 4462/840/242 4458/841/242 +f 4456/842/240 4460/834/240 4455/843/240 +f 4469/844/239 4467/845/239 4468/846/239 +f 4466/847/243 4469/844/243 4464/848/243 +f 4463/849/241 4467/845/241 4465/850/241 +f 4465/851/242 4470/852/242 4466/853/242 +f 4464/854/240 4468/846/240 4463/855/240 +f 5089/856/242 5088/857/242 5087/858/242 +f 5091/859/239 5102/860/239 5094/861/239 +f 5090/862/243 5097/863/243 5088/857/243 +f 5087/858/241 5095/864/241 5089/856/241 +f 5089/856/239 5098/865/239 5090/862/239 +f 5088/857/238 5096/866/238 5087/858/238 +f 5091/867/240 5096/868/240 5092/869/240 +f 5092/870/240 5097/871/240 5093/872/240 +f 5093/873/240 5098/874/240 5094/875/240 +f 5094/861/240 5095/876/240 5091/859/240 +f 5093/872/238 5100/877/238 5092/870/238 +f 5094/875/243 5101/878/243 5093/873/243 +f 5092/869/241 5099/879/241 5091/867/241 +f 5105/880/242 5104/881/242 5103/882/242 +f 5107/883/239 5118/884/239 5110/885/239 +f 5106/886/243 5113/887/243 5104/881/243 +f 5103/882/241 5111/888/241 5105/880/241 +f 5105/880/239 5114/889/239 5106/886/239 +f 5104/881/238 5112/890/238 5103/882/238 +f 5107/891/240 5112/892/240 5108/893/240 +f 5108/894/240 5113/895/240 5109/896/240 +f 5109/897/240 5114/898/240 5110/899/240 +f 5110/885/240 5111/900/240 5107/883/240 +f 5109/896/238 5116/901/238 5108/894/238 +f 5110/899/243 5117/902/243 5109/897/243 +f 5108/893/241 5115/903/241 5107/891/241 +f 5121/904/242 5120/905/242 5119/906/242 +f 5123/907/239 5134/908/239 5126/909/239 +f 5122/910/243 5129/911/243 5120/905/243 +f 5119/906/241 5127/912/241 5121/904/241 +f 5121/904/239 5130/913/239 5122/910/239 +f 5120/905/238 5128/914/238 5119/906/238 +f 5123/915/240 5128/916/240 5124/917/240 +f 5124/918/240 5129/919/240 5125/920/240 +f 5125/921/240 5130/922/240 5126/923/240 +f 5126/909/240 5127/924/240 5123/907/240 +f 5125/920/238 5132/925/238 5124/918/238 +f 5126/923/243 5133/926/243 5125/921/243 +f 5124/917/241 5131/927/241 5123/915/241 +f 5137/928/242 5136/929/242 5135/930/242 +f 5139/931/239 5150/932/239 5142/933/239 +f 5138/934/243 5145/935/243 5136/929/243 +f 5135/930/241 5143/936/241 5137/928/241 +f 5137/928/239 5146/937/239 5138/934/239 +f 5136/929/238 5144/938/238 5135/930/238 +f 5139/939/240 5144/940/240 5140/941/240 +f 5140/942/240 5145/943/240 5141/944/240 +f 5141/945/240 5146/946/240 5142/947/240 +f 5142/933/240 5143/948/240 5139/931/240 +f 5141/944/238 5148/949/238 5140/942/238 +f 5142/947/243 5149/950/243 5141/945/243 +f 5140/941/241 5147/951/241 5139/939/241 +f 5153/952/240 5152/953/240 5151/954/240 +f 5155/955/239 5166/956/239 5158/957/239 +f 5154/958/241 5161/959/241 5152/953/241 +f 5151/954/243 5159/960/243 5153/952/243 +f 5154/958/239 5159/961/239 5162/962/239 +f 5152/953/238 5160/963/238 5151/954/238 +f 5155/964/242 5160/965/242 5156/966/242 +f 5156/967/242 5161/968/242 5157/969/242 +f 5157/970/242 5162/971/242 5158/972/242 +f 5158/957/242 5159/961/242 5155/955/242 +f 5157/969/238 5164/973/238 5156/967/238 +f 5158/972/241 5165/974/241 5157/970/241 +f 5156/966/243 5163/975/243 5155/964/243 +f 5169/976/240 5168/977/240 5167/978/240 +f 5171/979/239 5182/980/239 5174/981/239 +f 5170/982/241 5177/983/241 5168/977/241 +f 5167/978/243 5175/984/243 5169/976/243 +f 5169/976/239 5178/985/239 5170/982/239 +f 5168/977/238 5176/986/238 5167/978/238 +f 5171/987/242 5176/988/242 5172/989/242 +f 5172/990/242 5177/991/242 5173/992/242 +f 5173/993/242 5178/994/242 5174/995/242 +f 5174/981/242 5175/996/242 5171/979/242 +f 5173/992/238 5180/997/238 5172/990/238 +f 5174/995/241 5181/998/241 5173/993/241 +f 5172/989/243 5179/999/243 5171/987/243 +f 5185/1000/240 5184/1001/240 5183/1002/240 +f 5187/1003/239 5198/1004/239 5190/1005/239 +f 5186/1006/241 5193/1007/241 5184/1001/241 +f 5183/1002/243 5191/1008/243 5185/1000/243 +f 5185/1000/239 5194/1009/239 5186/1006/239 +f 5184/1001/238 5192/1010/238 5183/1002/238 +f 5187/1011/242 5192/1012/242 5188/1013/242 +f 5188/1014/242 5193/1015/242 5189/1016/242 +f 5189/1017/242 5194/1018/242 5190/1019/242 +f 5190/1005/242 5191/1020/242 5187/1003/242 +f 5189/1016/238 5196/1021/238 5188/1014/238 +f 5190/1019/241 5197/1022/241 5189/1017/241 +f 5188/1013/243 5195/1023/243 5187/1011/243 +f 5201/1024/240 5200/1025/240 5199/1026/240 +f 5203/1027/239 5214/1028/239 5206/1029/239 +f 5202/1030/241 5209/1031/241 5200/1025/241 +f 5199/1026/243 5207/1032/243 5201/1024/243 +f 5201/1024/239 5210/1033/239 5202/1030/239 +f 5200/1025/238 5208/1034/238 5199/1026/238 +f 5203/1035/242 5208/1036/242 5204/1037/242 +f 5204/1038/242 5209/1039/242 5205/1040/242 +f 5205/1041/242 5210/1042/242 5206/1043/242 +f 5206/1029/242 5207/1044/242 5203/1027/242 +f 5205/1040/238 5212/1045/238 5204/1038/238 +f 5206/1043/241 5213/1046/241 5205/1041/241 +f 5204/1037/243 5211/1047/243 5203/1035/243 +f 5217/1048/240 5216/1049/240 5215/1050/240 +f 5219/1051/239 5230/1052/239 5222/1053/239 +f 5218/1054/241 5225/1055/241 5216/1049/241 +f 5215/1050/243 5223/1056/243 5217/1048/243 +f 5217/1048/239 5226/1057/239 5218/1054/239 +f 5216/1049/238 5224/1058/238 5215/1050/238 +f 5219/1059/242 5224/1060/242 5220/1061/242 +f 5220/1062/242 5225/1063/242 5221/1064/242 +f 5221/1065/242 5226/1066/242 5222/1067/242 +f 5222/1053/242 5223/1068/242 5219/1051/242 +f 5221/1064/238 5228/1069/238 5220/1062/238 +f 5222/1067/241 5229/1070/241 5221/1065/241 +f 5220/1061/243 5227/1071/243 5219/1059/243 +f 5233/1072/241 5232/1073/241 5231/1074/241 +f 5235/1075/239 5246/1076/239 5238/1077/239 +f 5234/1078/242 5241/1079/242 5232/1073/242 +f 5231/1074/240 5239/1080/240 5233/1072/240 +f 5233/1072/239 5242/1081/239 5234/1078/239 +f 5232/1073/238 5240/1082/238 5231/1074/238 +f 5235/1083/243 5240/1084/243 5236/1085/243 +f 5236/1086/243 5241/1087/243 5237/1088/243 +f 5237/1089/243 5242/1090/243 5238/1091/243 +f 5238/1077/243 5239/1092/243 5235/1075/243 +f 5237/1088/238 5244/1093/238 5236/1086/238 +f 5238/1091/242 5245/1094/242 5237/1089/242 +f 5236/1085/240 5243/1095/240 5235/1083/240 +f 5249/1096/241 5248/1097/241 5247/1098/241 +f 5251/1099/239 5262/1100/239 5254/1101/239 +f 5250/1102/242 5257/1103/242 5248/1097/242 +f 5247/1098/240 5255/1104/240 5249/1096/240 +f 5249/1096/239 5258/1105/239 5250/1102/239 +f 5248/1097/238 5256/1106/238 5247/1098/238 +f 5251/1107/243 5256/1108/243 5252/1109/243 +f 5252/1110/243 5257/1111/243 5253/1112/243 +f 5253/1113/243 5258/1114/243 5254/1115/243 +f 5254/1101/243 5255/1116/243 5251/1099/243 +f 5253/1112/238 5260/1117/238 5252/1110/238 +f 5254/1115/242 5261/1118/242 5253/1113/242 +f 5252/1109/240 5259/1119/240 5251/1107/240 +f 5265/1120/241 5264/1121/241 5263/1122/241 +f 5267/1123/239 5278/1124/239 5270/1125/239 +f 5266/1126/242 5273/1127/242 5264/1121/242 +f 5263/1122/240 5271/1128/240 5265/1120/240 +f 5265/1120/239 5274/1129/239 5266/1126/239 +f 5264/1121/238 5272/1130/238 5263/1122/238 +f 5267/1131/243 5272/1132/243 5268/1133/243 +f 5268/1134/243 5273/1135/243 5269/1136/243 +f 5269/1137/243 5274/1138/243 5270/1139/243 +f 5270/1125/243 5271/1140/243 5267/1123/243 +f 5269/1136/238 5276/1141/238 5268/1134/238 +f 5270/1139/242 5277/1142/242 5269/1137/242 +f 5268/1133/240 5275/1143/240 5267/1131/240 +f 5281/1144/241 5280/1145/241 5279/1146/241 +f 5283/1147/239 5294/1148/239 5286/1149/239 +f 5282/1150/242 5289/1151/242 5280/1145/242 +f 5279/1146/240 5287/1152/240 5281/1144/240 +f 5281/1144/239 5290/1153/239 5282/1150/239 +f 5280/1145/238 5288/1154/238 5279/1146/238 +f 5283/1155/243 5288/1156/243 5284/1157/243 +f 5284/1158/243 5289/1159/243 5285/1160/243 +f 5285/1161/243 5290/1162/243 5286/1163/243 +f 5286/1149/243 5287/1164/243 5283/1147/243 +f 5285/1160/238 5292/1165/238 5284/1158/238 +f 5286/1163/242 5293/1166/242 5285/1161/242 +f 5284/1157/240 5291/1167/240 5283/1155/240 +f 5297/1168/241 5296/1169/241 5295/1170/241 +f 5299/1171/239 5310/1172/239 5302/1173/239 +f 5298/1174/242 5305/1175/242 5296/1169/242 +f 5295/1170/240 5303/1176/240 5297/1168/240 +f 5297/1168/239 5306/1177/239 5298/1174/239 +f 5296/1169/238 5304/1178/238 5295/1170/238 +f 5299/1179/243 5304/1180/243 5300/1181/243 +f 5300/1182/243 5305/1183/243 5301/1184/243 +f 5301/1185/243 5306/1186/243 5302/1187/243 +f 5302/1173/243 5303/1188/243 5299/1171/243 +f 5301/1184/238 5308/1189/238 5300/1182/238 +f 5302/1187/242 5309/1190/242 5301/1185/242 +f 5300/1181/240 5307/1191/240 5299/1179/240 +f 5313/1192/243 5312/1193/243 5311/1194/243 +f 5315/1195/239 5326/1196/239 5318/1197/239 +f 5314/1198/240 5321/1199/240 5312/1193/240 +f 5311/1194/242 5319/1200/242 5313/1192/242 +f 5313/1192/239 5322/1201/239 5314/1198/239 +f 5312/1193/238 5320/1202/238 5311/1194/238 +f 5315/1203/241 5320/1204/241 5316/1205/241 +f 5316/1206/241 5321/1207/241 5317/1208/241 +f 5317/1209/241 5322/1210/241 5318/1211/241 +f 5318/1197/241 5319/1212/241 5315/1195/241 +f 5317/1208/238 5324/1213/238 5316/1206/238 +f 5318/1211/240 5325/1214/240 5317/1209/240 +f 5316/1205/242 5323/1215/242 5315/1203/242 +f 5329/1216/243 5328/1217/243 5327/1218/243 +f 5331/1219/239 5342/1220/239 5334/1221/239 +f 5330/1222/240 5337/1223/240 5328/1217/240 +f 5327/1218/242 5335/1224/242 5329/1216/242 +f 5329/1216/239 5338/1225/239 5330/1222/239 +f 5328/1217/238 5336/1226/238 5327/1218/238 +f 5331/1227/241 5336/1228/241 5332/1229/241 +f 5332/1230/241 5337/1231/241 5333/1232/241 +f 5333/1233/241 5338/1234/241 5334/1235/241 +f 5334/1221/241 5335/1236/241 5331/1219/241 +f 5333/1232/238 5340/1237/238 5332/1230/238 +f 5334/1235/240 5341/1238/240 5333/1233/240 +f 5332/1229/242 5339/1239/242 5331/1227/242 +f 5345/1240/243 5344/1241/243 5343/1242/243 +f 5350/1243/239 5355/1244/239 5358/1245/239 +f 5346/1246/240 5353/1247/240 5344/1241/240 +f 5343/1242/242 5351/1248/242 5345/1240/242 +f 5346/1246/239 5351/1249/239 5354/1250/239 +f 5344/1241/238 5352/1251/238 5343/1242/238 +f 5347/1252/241 5352/1253/241 5348/1254/241 +f 5348/1255/241 5353/1256/241 5349/1257/241 +f 5349/1258/241 5354/1259/241 5350/1260/241 +f 5350/1243/241 5351/1249/241 5347/1261/241 +f 5349/1257/238 5356/1262/238 5348/1255/238 +f 5350/1260/240 5357/1263/240 5349/1258/240 +f 5348/1254/242 5355/1264/242 5347/1252/242 +f 5361/1265/243 5360/1266/243 5359/1267/243 +f 5363/1268/239 5374/1269/239 5366/1270/239 +f 5362/1271/240 5369/1272/240 5360/1266/240 +f 5359/1267/242 5367/1273/242 5361/1265/242 +f 5361/1265/239 5370/1274/239 5362/1271/239 +f 5360/1266/238 5368/1275/238 5359/1267/238 +f 5363/1276/241 5368/1277/241 5364/1278/241 +f 5364/1279/241 5369/1280/241 5365/1281/241 +f 5365/1282/241 5370/1283/241 5366/1284/241 +f 5366/1270/241 5367/1285/241 5363/1268/241 +f 5365/1281/238 5372/1286/238 5364/1279/238 +f 5366/1284/240 5373/1287/240 5365/1282/240 +f 5364/1278/242 5371/1288/242 5363/1276/242 +f 5377/1289/243 5376/1290/243 5375/1291/243 +f 5379/1292/239 5390/1293/239 5382/1294/239 +f 5378/1295/240 5385/1296/240 5376/1290/240 +f 5375/1291/242 5383/1297/242 5377/1289/242 +f 5377/1289/239 5386/1298/239 5378/1295/239 +f 5376/1290/238 5384/1299/238 5375/1291/238 +f 5379/1300/241 5384/1301/241 5380/1302/241 +f 5380/1303/241 5385/1304/241 5381/1305/241 +f 5381/1306/241 5386/1307/241 5382/1308/241 +f 5382/1294/241 5383/1309/241 5379/1292/241 +f 5381/1305/238 5388/1310/238 5380/1303/238 +f 5382/1308/240 5389/1311/240 5381/1306/240 +f 5380/1302/242 5387/1312/242 5379/1300/242 +f 3024/207/238 3023/256/238 3025/208/238 +f 3027/210/238 3029/1313/238 3030/211/238 +f 3034/213/239 3033/1314/239 3031/214/239 +f 3027/216/240 3031/220/240 3033/217/240 +f 3029/218/241 3033/217/241 3034/213/241 +f 3030/211/242 3034/213/242 3032/215/242 +f 3028/219/243 3032/1315/243 3031/220/243 +f 3035/221/238 3037/1316/238 3038/222/238 +f 3042/224/239 3041/1317/239 3039/225/239 +f 3035/227/240 3039/231/240 3041/228/240 +f 3037/229/241 3041/228/241 3042/224/241 +f 3038/222/242 3042/224/242 3040/226/242 +f 3036/230/243 3040/1318/243 3039/231/243 +f 3043/232/238 3045/1319/238 3046/233/238 +f 3050/235/239 3049/1320/239 3047/236/239 +f 3043/238/240 3047/242/240 3049/239/240 +f 3045/240/241 3049/239/241 3050/235/241 +f 3046/233/242 3050/235/242 3048/237/242 +f 3044/241/243 3048/1321/243 3047/242/243 +f 3051/243/238 3053/1322/238 3054/244/238 +f 3058/246/239 3057/1323/239 3055/247/239 +f 3051/249/240 3055/253/240 3057/250/240 +f 3053/251/241 3057/250/241 3058/246/241 +f 3054/244/242 3058/246/242 3056/248/242 +f 3052/252/243 3056/1324/243 3055/253/243 +f 3061/254/243 3062/257/243 3026/209/243 +f 3059/255/241 3060/1325/241 3023/256/241 +f 3062/257/239 3061/254/239 3060/258/239 +f 3063/260/238 3064/265/238 3065/261/238 +f 3069/263/241 3070/266/241 3066/262/241 +f 3067/264/243 3068/1326/243 3064/265/243 +f 3070/266/239 3069/263/239 3068/267/239 +f 3071/269/238 3072/274/238 3073/270/238 +f 3077/272/242 3078/275/242 3074/271/242 +f 3075/273/240 3076/1327/240 3072/274/240 +f 3078/275/239 3077/272/239 3076/276/239 +f 3079/278/238 3080/283/238 3081/279/238 +f 3085/281/240 3086/284/240 3082/280/240 +f 3083/282/242 3084/1328/242 3080/283/242 +f 3086/284/239 3085/281/239 3084/285/239 +f 3091/287/242 3087/294/242 3088/288/242 +f 3093/290/243 3088/288/243 3089/291/243 +f 3092/293/241 3090/297/241 3087/294/241 +f 3094/296/240 3089/291/240 3090/297/240 +f 3088/288/239 3087/294/239 3090/297/239 +f 3092/299/238 3091/287/238 3093/289/238 +f 3099/301/242 3095/308/242 3096/302/242 +f 3101/304/243 3096/302/243 3097/305/243 +f 3100/307/241 3098/311/241 3095/308/241 +f 3102/310/240 3097/305/240 3098/311/240 +f 3096/302/239 3095/308/239 3098/311/239 +f 3100/313/238 3099/301/238 3101/303/238 +f 3105/315/238 3106/328/238 3104/316/238 +f 3109/318/239 3110/324/239 3107/319/239 +f 3103/321/240 3108/320/240 3107/319/240 +f 3105/323/241 3107/319/241 3110/324/241 +f 3104/326/243 3109/318/243 3108/320/243 +f 3106/328/242 3110/324/242 3109/318/242 +f 3115/329/242 3111/336/242 3112/330/242 +f 3117/332/243 3112/330/243 3113/333/243 +f 3116/335/241 3114/339/241 3111/336/241 +f 3118/338/240 3113/333/240 3114/339/240 +f 3112/330/239 3111/336/239 3114/339/239 +f 3116/341/238 3115/329/238 3117/331/238 +f 3121/343/238 3122/356/238 3120/344/238 +f 3125/346/239 3126/352/239 3123/347/239 +f 3119/349/240 3124/348/240 3123/347/240 +f 3121/351/241 3123/347/241 3126/352/241 +f 3120/354/243 3125/346/243 3124/348/243 +f 3122/356/242 3126/352/242 3125/346/242 +f 3129/357/242 3130/363/242 3128/358/242 +f 3131/360/239 3139/1329/239 3142/361/239 +f 3130/363/243 3138/375/243 3137/364/243 +f 3127/359/241 3136/369/241 3135/365/241 +f 3129/357/239 3135/377/239 3138/366/239 +f 3128/358/238 3137/372/238 3136/367/238 +f 3131/368/240 3135/365/240 3136/369/240 +f 3132/371/240 3136/367/240 3137/372/240 +f 3133/374/240 3137/364/240 3138/375/240 +f 3134/362/240 3138/366/240 3135/377/240 +f 3133/373/238 3141/1330/238 3140/378/238 +f 3134/376/243 3142/1331/243 3141/379/243 +f 3132/370/241 3140/1332/241 3139/380/241 +f 3152/383/238 3154/1333/238 3153/1334/238 +f 3153/1334/238 3143/1335/238 3152/383/238 +f 3143/1335/238 3144/1336/238 3152/383/238 +f 3144/1336/238 3145/1337/238 3146/381/238 +f 3146/381/238 3147/1338/238 3148/382/238 +f 3148/382/238 3149/1339/238 3150/1340/238 +f 3150/1340/238 3151/1341/238 3148/382/238 +f 3151/1341/238 3152/383/238 3148/382/238 +f 3144/1336/238 3146/381/238 3152/383/238 +f 3656/1342/239 3657/1343/239 3658/384/239 +f 3658/384/239 3659/1344/239 3660/385/239 +f 3660/385/239 3661/1345/239 3664/386/239 +f 3661/1345/239 3662/1346/239 3664/386/239 +f 3662/1346/239 3663/1347/239 3664/386/239 +f 3664/386/239 3665/1348/239 3666/1349/239 +f 3666/1349/239 3667/1350/239 3664/386/239 +f 3667/1350/239 3656/1342/239 3664/386/239 +f 3656/1342/239 3658/384/239 3664/386/239 +f 3157/387/238 3158/390/238 3156/388/238 +f 3158/390/243 3162/396/243 3161/391/243 +f 3155/389/241 3160/1351/241 3159/392/241 +f 3157/387/242 3159/1352/242 3162/393/242 +f 3156/388/240 3161/1353/240 3160/394/240 +f 3160/395/239 3161/391/239 3162/396/239 +f 3165/398/238 3166/401/238 3164/399/238 +f 3166/401/243 3170/407/243 3169/402/243 +f 3163/400/241 3168/1354/241 3167/403/241 +f 3165/398/242 3167/1355/242 3170/404/242 +f 3164/399/240 3169/1356/240 3168/405/240 +f 3168/406/239 3169/402/239 3170/407/239 +f 3173/409/238 3174/412/238 3172/410/238 +f 3174/412/243 3178/418/243 3177/413/243 +f 3171/411/241 3176/1357/241 3175/414/241 +f 3173/409/242 3175/1358/242 3178/415/242 +f 3172/410/240 3177/1359/240 3176/416/240 +f 3181/417/239 3182/426/239 3178/418/239 +f 3182/420/243 3186/432/243 3185/421/243 +f 3179/423/239 3181/417/239 3175/419/239 +f 3180/425/239 3179/423/239 3176/424/239 +f 3182/426/239 3180/425/239 3177/413/239 +f 3185/421/239 3186/432/239 3183/427/239 +f 3179/429/241 3184/428/241 3183/427/241 +f 3181/431/242 3183/427/242 3186/432/242 +f 3180/434/240 3185/421/240 3184/428/240 +f 3193/436/239 3194/446/239 3191/437/239 +f 3188/439/240 3193/436/240 3192/438/240 +f 3190/441/243 3194/446/243 3193/436/243 +f 3187/443/241 3192/438/241 3191/437/241 +f 3189/445/242 3191/437/242 3194/446/242 +f 3212/448/239 3211/480/239 3228/449/239 +f 3213/451/239 3212/448/239 3227/450/239 +f 3213/451/239 3229/452/239 3230/453/239 +f 3215/455/239 3214/454/239 3230/453/239 +f 3215/455/239 3231/456/239 3232/457/239 +f 3216/458/239 3232/457/239 3233/459/239 +f 3218/461/239 3217/460/239 3233/459/239 +f 3219/463/239 3218/461/239 3234/462/239 +f 3220/465/239 3219/1360/239 3235/466/239 +f 3221/468/239 3220/465/239 3236/467/239 +f 3222/470/239 3221/468/239 3237/469/239 +f 3223/472/239 3222/470/239 3238/471/239 +f 3223/472/239 3239/473/239 3240/474/239 +f 3224/475/239 3240/474/239 3241/476/239 +f 3226/478/239 3225/477/239 3241/476/239 +f 3211/480/239 3226/478/239 3242/479/239 +f 3260/481/239 3262/1361/239 3261/482/239 +f 3264/484/239 3266/1362/239 3265/485/239 +f 3268/487/239 3270/1363/239 3269/488/239 +f 3273/490/239 3271/1364/239 3272/491/239 +f 3276/493/239 3278/1365/239 3277/494/239 +f 3280/496/239 3282/1366/239 3281/497/239 +f 3289/499/239 3290/509/239 3287/500/239 +f 3284/502/240 3289/499/240 3288/501/240 +f 3286/504/243 3290/509/243 3289/499/243 +f 3283/506/241 3288/501/241 3287/500/241 +f 3285/508/242 3287/500/242 3290/509/242 +f 3319/511/239 3321/1367/239 3320/512/239 +f 3323/514/239 3325/1368/239 3324/515/239 +f 3327/517/239 3329/1369/239 3328/518/239 +f 3332/520/239 3330/1370/239 3331/521/239 +f 3335/523/239 3337/1371/239 3336/524/239 +f 3339/526/239 3341/1372/239 3340/527/239 +f 3402/529/239 3403/537/239 3400/530/239 +f 3399/532/243 3403/537/243 3402/529/243 +f 3396/534/241 3401/531/241 3400/530/241 +f 3398/536/242 3400/530/242 3403/537/242 +f 3397/539/240 3402/529/240 3401/531/240 +f 3654/541/239 3655/549/239 3652/542/239 +f 3651/544/243 3655/549/243 3654/541/243 +f 3648/546/241 3653/543/241 3652/542/241 +f 3650/548/242 3652/542/242 3655/549/242 +f 3649/551/240 3654/541/240 3653/543/240 +f 3300/553/239 3301/585/239 4080/554/239 +f 3299/556/239 3300/553/239 4079/555/239 +f 3299/556/239 4081/557/239 4082/558/239 +f 3297/560/239 3298/559/239 4082/558/239 +f 3297/560/239 4083/561/239 4084/562/239 +f 3295/564/239 3296/563/239 4084/562/239 +f 3294/566/239 3295/564/239 4085/565/239 +f 3293/568/239 3294/566/239 4086/567/239 +f 3292/570/239 3293/1373/239 4087/571/239 +f 3291/573/239 3292/570/239 4088/572/239 +f 4074/575/239 3291/573/239 4089/574/239 +f 4075/577/239 4074/575/239 4090/576/239 +f 4075/577/239 4091/578/239 4092/579/239 +f 4076/580/239 4092/579/239 4093/581/239 +f 4078/583/239 4077/582/239 4093/581/239 +f 3301/585/239 4078/583/239 4094/584/239 +f 4120/588/238 4122/1374/238 4121/1375/238 +f 4121/1375/238 4111/1376/238 4120/588/238 +f 4111/1376/238 4112/1377/238 4120/588/238 +f 4112/1377/238 4113/1378/238 4114/586/238 +f 4114/586/238 4115/1379/238 4116/587/238 +f 4116/587/238 4117/1380/238 4120/588/238 +f 4117/1380/238 4118/1381/238 4120/588/238 +f 4118/1381/238 4119/1382/238 4120/588/238 +f 4112/1377/238 4114/586/238 4120/588/238 +f 4123/1383/239 4124/1384/239 4125/1385/239 +f 4125/1385/239 4126/1386/239 4127/589/239 +f 4127/589/239 4128/1387/239 4129/590/239 +f 4129/590/239 4130/1388/239 4131/591/239 +f 4131/591/239 4132/1389/239 4133/1390/239 +f 4133/1390/239 4134/1391/239 4131/591/239 +f 4134/1391/239 4123/1383/239 4131/591/239 +f 4123/1383/239 4125/1385/239 4131/591/239 +f 4125/1385/239 4127/589/239 4131/591/239 +f 4144/594/238 4146/1392/238 4145/1393/238 +f 4145/1393/238 4135/1394/238 4144/594/238 +f 4135/1394/238 4136/1395/238 4144/594/238 +f 4136/1395/238 4137/1396/238 4138/592/238 +f 4138/592/238 4139/1397/238 4140/593/238 +f 4140/593/238 4141/1398/238 4142/1399/238 +f 4142/1399/238 4143/1400/238 4140/593/238 +f 4143/1400/238 4144/594/238 4140/593/238 +f 4136/1395/238 4138/592/238 4144/594/238 +f 4147/597/239 4148/1401/239 4149/1402/239 +f 4149/1402/239 4150/1403/239 4151/595/239 +f 4151/595/239 4152/1404/239 4153/1405/239 +f 4153/1405/239 4154/1406/239 4155/596/239 +f 4155/596/239 4156/1407/239 4157/1408/239 +f 4157/1408/239 4158/1409/239 4155/596/239 +f 4158/1409/239 4147/597/239 4155/596/239 +f 4147/597/239 4149/1402/239 4151/595/239 +f 4151/595/239 4153/1405/239 4155/596/239 +f 4168/600/238 4170/1410/238 4169/1411/238 +f 4169/1411/238 4159/1412/238 4168/600/238 +f 4159/1412/238 4160/1413/238 4168/600/238 +f 4160/1413/238 4161/1414/238 4162/1415/238 +f 4162/1415/238 4163/1416/238 4164/598/238 +f 4164/598/238 4165/1417/238 4166/599/238 +f 4166/599/238 4167/1418/238 4168/600/238 +f 4160/1413/238 4162/1415/238 4168/600/238 +f 4162/1415/238 4164/598/238 4168/600/238 +f 4171/1419/239 4172/1420/239 4173/1421/239 +f 4173/1421/239 4174/1422/239 4175/601/239 +f 4175/601/239 4176/1423/239 4177/602/239 +f 4177/602/239 4178/1424/239 4179/603/239 +f 4179/603/239 4180/1425/239 4181/1426/239 +f 4181/1426/239 4182/1427/239 4179/603/239 +f 4182/1427/239 4171/1419/239 4179/603/239 +f 4171/1419/239 4173/1421/239 4179/603/239 +f 4173/1421/239 4175/601/239 4179/603/239 +f 4192/606/238 4194/1428/238 4193/1429/238 +f 4193/1429/238 4183/1430/238 4192/606/238 +f 4183/1430/238 4184/1431/238 4192/606/238 +f 4184/1431/238 4185/1432/238 4186/1433/238 +f 4186/1433/238 4187/1434/238 4188/604/238 +f 4188/604/238 4189/1435/238 4190/605/238 +f 4190/605/238 4191/1436/238 4192/606/238 +f 4184/1431/238 4186/1433/238 4192/606/238 +f 4186/1433/238 4188/604/238 4192/606/238 +f 4195/1437/239 4196/1438/239 4197/1439/239 +f 4197/1439/239 4198/1440/239 4199/607/239 +f 4199/607/239 4200/1441/239 4201/608/239 +f 4201/608/239 4202/1442/239 4203/609/239 +f 4203/609/239 4204/1443/239 4205/1444/239 +f 4205/1444/239 4206/1445/239 4203/609/239 +f 4206/1445/239 4195/1437/239 4203/609/239 +f 4195/1437/239 4197/1439/239 4203/609/239 +f 4197/1439/239 4199/607/239 4203/609/239 +f 4216/612/238 4218/1446/238 4217/1447/238 +f 4217/1447/238 4207/1448/238 4216/612/238 +f 4207/1448/238 4208/1449/238 4216/612/238 +f 4208/1449/238 4209/1450/238 4210/610/238 +f 4210/610/238 4211/1451/238 4212/611/238 +f 4212/611/238 4213/1452/238 4214/1453/238 +f 4214/1453/238 4215/1454/238 4212/611/238 +f 4215/1454/238 4216/612/238 4212/611/238 +f 4208/1449/238 4210/610/238 4216/612/238 +f 4219/615/239 4220/1455/239 4221/1456/239 +f 4221/1456/239 4222/1457/239 4219/615/239 +f 4222/1457/239 4223/613/239 4219/615/239 +f 4223/613/239 4224/1458/239 4225/1459/239 +f 4225/1459/239 4226/1460/239 4223/613/239 +f 4226/1460/239 4227/614/239 4223/613/239 +f 4227/614/239 4228/1461/239 4229/1462/239 +f 4229/1462/239 4230/1463/239 4227/614/239 +f 4230/1463/239 4219/615/239 4227/614/239 +f 4240/618/238 4242/1464/238 4241/1465/238 +f 4241/1465/238 4231/1466/238 4240/618/238 +f 4231/1466/238 4232/1467/238 4240/618/238 +f 4232/1467/238 4233/1468/238 4234/616/238 +f 4234/616/238 4235/1469/238 4236/617/238 +f 4236/617/238 4237/1470/238 4240/618/238 +f 4237/1470/238 4238/1471/238 4240/618/238 +f 4238/1471/238 4239/1472/238 4240/618/238 +f 4232/1467/238 4234/616/238 4240/618/238 +f 4243/621/239 4244/1473/239 4247/619/239 +f 4244/1473/239 4245/1474/239 4247/619/239 +f 4245/1474/239 4246/1475/239 4247/619/239 +f 4247/619/239 4248/1476/239 4251/620/239 +f 4248/1476/239 4249/1477/239 4251/620/239 +f 4249/1477/239 4250/1478/239 4251/620/239 +f 4251/620/239 4252/1479/239 4253/1480/239 +f 4253/1480/239 4254/1481/239 4251/620/239 +f 4254/1481/239 4243/621/239 4251/620/239 +f 4264/624/238 4266/1482/238 4265/1483/238 +f 4265/1483/238 4255/1484/238 4264/624/238 +f 4255/1484/238 4256/1485/238 4264/624/238 +f 4256/1485/238 4257/1486/238 4258/622/238 +f 4258/622/238 4259/1487/238 4260/623/238 +f 4260/623/238 4261/1488/238 4262/1489/238 +f 4262/1489/238 4263/1490/238 4260/623/238 +f 4263/1490/238 4264/624/238 4260/623/238 +f 4256/1485/238 4258/622/238 4264/624/238 +f 4267/1491/239 4268/1492/239 4269/1493/239 +f 4269/1493/239 4270/1494/239 4271/625/239 +f 4271/625/239 4272/1495/239 4273/626/239 +f 4273/626/239 4274/1496/239 4275/627/239 +f 4275/627/239 4276/1497/239 4277/1498/239 +f 4277/1498/239 4278/1499/239 4275/627/239 +f 4278/1499/239 4267/1491/239 4275/627/239 +f 4267/1491/239 4269/1493/239 4275/627/239 +f 4269/1493/239 4271/625/239 4275/627/239 +f 4288/630/238 4290/1500/238 4289/1501/238 +f 4289/1501/238 4279/1502/238 4288/630/238 +f 4279/1502/238 4280/1503/238 4288/630/238 +f 4280/1503/238 4281/1504/238 4282/628/238 +f 4282/628/238 4283/1505/238 4284/629/238 +f 4284/629/238 4285/1506/238 4286/1507/238 +f 4286/1507/238 4287/1508/238 4284/629/238 +f 4287/1508/238 4288/630/238 4284/629/238 +f 4280/1503/238 4282/628/238 4288/630/238 +f 4291/1509/239 4292/1510/239 4293/631/239 +f 4293/631/239 4294/1511/239 4295/632/239 +f 4295/632/239 4296/1512/239 4297/1513/239 +f 4297/1513/239 4298/1514/239 4295/632/239 +f 4298/1514/239 4299/633/239 4295/632/239 +f 4299/633/239 4300/1515/239 4301/1516/239 +f 4301/1516/239 4302/1517/239 4299/633/239 +f 4302/1517/239 4291/1509/239 4299/633/239 +f 4291/1509/239 4293/631/239 4299/633/239 +f 4312/636/238 4314/1518/238 4313/1519/238 +f 4313/1519/238 4303/1520/238 4304/1521/238 +f 4304/1521/238 4305/1522/238 4306/634/238 +f 4306/634/238 4307/1523/238 4308/635/238 +f 4308/635/238 4309/1524/238 4312/636/238 +f 4309/1524/238 4310/1525/238 4312/636/238 +f 4310/1525/238 4311/1526/238 4312/636/238 +f 4312/636/238 4313/1519/238 4304/1521/238 +f 4304/1521/238 4306/634/238 4312/636/238 +f 4315/639/239 4316/1527/239 4317/1528/239 +f 4317/1528/239 4318/1529/239 4319/637/239 +f 4319/637/239 4320/1530/239 4323/638/239 +f 4320/1530/239 4321/1531/239 4323/638/239 +f 4321/1531/239 4322/1532/239 4323/638/239 +f 4323/638/239 4324/1533/239 4315/639/239 +f 4324/1533/239 4325/1534/239 4315/639/239 +f 4325/1534/239 4326/1535/239 4315/639/239 +f 4315/639/239 4317/1528/239 4319/637/239 +f 4332/640/239 4333/644/239 4334/641/239 +f 4330/643/243 4334/641/243 4333/644/243 +f 4327/646/241 4332/640/241 4331/642/241 +f 4329/648/242 4331/642/242 4334/641/242 +f 4328/650/240 4333/644/240 4332/640/240 +f 4341/652/239 4342/660/239 4339/653/239 +f 4338/655/243 4342/660/243 4341/652/243 +f 4335/657/241 4340/654/241 4339/653/241 +f 4337/659/242 4339/653/242 4342/660/242 +f 4336/662/240 4341/652/240 4340/654/240 +f 4349/664/239 4350/672/239 4347/665/239 +f 4346/667/243 4350/672/243 4349/664/243 +f 4343/669/241 4348/666/241 4347/665/241 +f 4345/671/242 4347/665/242 4350/672/242 +f 4344/674/240 4349/664/240 4348/666/240 +f 4357/676/239 4358/684/239 4355/677/239 +f 4354/679/243 4358/684/243 4357/676/243 +f 4351/681/241 4356/678/241 4355/677/241 +f 4353/683/242 4355/677/242 4358/684/242 +f 4352/686/240 4357/676/240 4356/678/240 +f 4365/688/239 4366/696/239 4363/689/239 +f 4362/691/243 4366/696/243 4365/688/243 +f 4359/693/241 4364/690/241 4363/689/241 +f 4361/695/242 4363/689/242 4366/696/242 +f 4360/698/240 4365/688/240 4364/690/240 +f 4372/700/239 4373/704/239 4374/701/239 +f 4370/703/243 4374/701/243 4373/704/243 +f 4367/706/241 4372/700/241 4371/702/241 +f 4369/708/242 4371/702/242 4374/701/242 +f 4368/710/240 4373/704/240 4372/700/240 +f 4381/712/239 4382/720/239 4379/713/239 +f 4378/715/243 4382/720/243 4381/712/243 +f 4375/717/241 4380/714/241 4379/713/241 +f 4377/719/242 4379/713/242 4382/720/242 +f 4376/722/240 4381/712/240 4380/714/240 +f 4389/724/239 4390/732/239 4387/725/239 +f 4386/727/243 4390/732/243 4389/724/243 +f 4383/729/241 4388/726/241 4387/725/241 +f 4385/731/242 4387/725/242 4390/732/242 +f 4384/734/240 4389/724/240 4388/726/240 +f 4397/736/239 4398/744/239 4395/737/239 +f 4394/739/243 4398/744/243 4397/736/243 +f 4391/741/241 4396/738/241 4395/737/241 +f 4393/743/242 4395/737/242 4398/744/242 +f 4392/746/240 4397/736/240 4396/738/240 +f 4405/748/239 4406/756/239 4403/749/239 +f 4402/751/243 4406/756/243 4405/748/243 +f 4399/753/241 4404/750/241 4403/749/241 +f 4401/755/242 4403/749/242 4406/756/242 +f 4400/758/240 4405/748/240 4404/750/240 +f 4413/760/239 4414/768/239 4411/761/239 +f 4410/763/243 4414/768/243 4413/760/243 +f 4407/765/241 4412/762/241 4411/761/241 +f 4409/767/242 4411/761/242 4414/768/242 +f 4408/770/240 4413/760/240 4412/762/240 +f 4420/772/239 4421/776/239 4422/773/239 +f 4418/775/243 4422/773/243 4421/776/243 +f 4415/778/241 4420/772/241 4419/774/241 +f 4417/780/242 4419/774/242 4422/773/242 +f 4416/782/240 4421/776/240 4420/772/240 +f 4429/784/239 4430/792/239 4427/785/239 +f 4426/787/243 4430/792/243 4429/784/243 +f 4423/789/241 4428/786/241 4427/785/241 +f 4425/791/242 4427/785/242 4430/792/242 +f 4424/794/240 4429/784/240 4428/786/240 +f 4437/796/239 4438/804/239 4435/797/239 +f 4434/799/243 4438/804/243 4437/796/243 +f 4431/801/241 4436/798/241 4435/797/241 +f 4433/803/242 4435/797/242 4438/804/242 +f 4432/806/240 4437/796/240 4436/798/240 +f 4444/808/239 4445/812/239 4446/809/239 +f 4442/811/243 4446/809/243 4445/812/243 +f 4439/814/241 4444/808/241 4443/810/241 +f 4441/816/242 4443/810/242 4446/809/242 +f 4440/818/240 4445/812/240 4444/808/240 +f 4453/820/239 4454/828/239 4451/821/239 +f 4450/823/243 4454/828/243 4453/820/243 +f 4447/825/241 4452/822/241 4451/821/241 +f 4449/827/242 4451/821/242 4454/828/242 +f 4448/830/240 4453/820/240 4452/822/240 +f 4461/832/239 4462/840/239 4459/833/239 +f 4458/835/243 4462/840/243 4461/832/243 +f 4455/837/241 4460/834/241 4459/833/241 +f 4457/839/242 4459/833/242 4462/840/242 +f 4456/842/240 4461/832/240 4460/834/240 +f 4469/844/239 4470/852/239 4467/845/239 +f 4466/847/243 4470/852/243 4469/844/243 +f 4463/849/241 4468/846/241 4467/845/241 +f 4465/851/242 4467/845/242 4470/852/242 +f 4464/854/240 4469/844/240 4468/846/240 +f 5089/856/242 5090/862/242 5088/857/242 +f 5091/859/239 5099/1536/239 5102/860/239 +f 5090/862/243 5098/874/243 5097/863/243 +f 5087/858/241 5096/868/241 5095/864/241 +f 5089/856/239 5095/876/239 5098/865/239 +f 5088/857/238 5097/871/238 5096/866/238 +f 5091/867/240 5095/864/240 5096/868/240 +f 5092/870/240 5096/866/240 5097/871/240 +f 5093/873/240 5097/863/240 5098/874/240 +f 5094/861/240 5098/865/240 5095/876/240 +f 5093/872/238 5101/1537/238 5100/877/238 +f 5094/875/243 5102/1538/243 5101/878/243 +f 5092/869/241 5100/1539/241 5099/879/241 +f 5105/880/242 5106/886/242 5104/881/242 +f 5107/883/239 5115/1540/239 5118/884/239 +f 5106/886/243 5114/898/243 5113/887/243 +f 5103/882/241 5112/892/241 5111/888/241 +f 5105/880/239 5111/900/239 5114/889/239 +f 5104/881/238 5113/895/238 5112/890/238 +f 5107/891/240 5111/888/240 5112/892/240 +f 5108/894/240 5112/890/240 5113/895/240 +f 5109/897/240 5113/887/240 5114/898/240 +f 5110/885/240 5114/889/240 5111/900/240 +f 5109/896/238 5117/1541/238 5116/901/238 +f 5110/899/243 5118/1542/243 5117/902/243 +f 5108/893/241 5116/1543/241 5115/903/241 +f 5121/904/242 5122/910/242 5120/905/242 +f 5123/907/239 5131/1544/239 5134/908/239 +f 5122/910/243 5130/922/243 5129/911/243 +f 5119/906/241 5128/916/241 5127/912/241 +f 5121/904/239 5127/924/239 5130/913/239 +f 5120/905/238 5129/919/238 5128/914/238 +f 5123/915/240 5127/912/240 5128/916/240 +f 5124/918/240 5128/914/240 5129/919/240 +f 5125/921/240 5129/911/240 5130/922/240 +f 5126/909/240 5130/913/240 5127/924/240 +f 5125/920/238 5133/1545/238 5132/925/238 +f 5126/923/243 5134/1546/243 5133/926/243 +f 5124/917/241 5132/1547/241 5131/927/241 +f 5137/928/242 5138/934/242 5136/929/242 +f 5139/931/239 5147/1548/239 5150/932/239 +f 5138/934/243 5146/946/243 5145/935/243 +f 5135/930/241 5144/940/241 5143/936/241 +f 5137/928/239 5143/948/239 5146/937/239 +f 5136/929/238 5145/943/238 5144/938/238 +f 5139/939/240 5143/936/240 5144/940/240 +f 5140/942/240 5144/938/240 5145/943/240 +f 5141/945/240 5145/935/240 5146/946/240 +f 5142/933/240 5146/937/240 5143/948/240 +f 5141/944/238 5149/1549/238 5148/949/238 +f 5142/947/243 5150/1550/243 5149/950/243 +f 5140/941/241 5148/1551/241 5147/951/241 +f 5153/952/240 5154/958/240 5152/953/240 +f 5155/955/239 5163/1552/239 5166/956/239 +f 5154/958/241 5162/971/241 5161/959/241 +f 5151/954/243 5160/965/243 5159/960/243 +f 5154/958/239 5153/952/239 5159/961/239 +f 5152/953/238 5161/968/238 5160/963/238 +f 5155/964/242 5159/960/242 5160/965/242 +f 5156/967/242 5160/963/242 5161/968/242 +f 5157/970/242 5161/959/242 5162/971/242 +f 5158/957/242 5162/962/242 5159/961/242 +f 5157/969/238 5165/1553/238 5164/973/238 +f 5158/972/241 5166/1554/241 5165/974/241 +f 5156/966/243 5164/1555/243 5163/975/243 +f 5169/976/240 5170/982/240 5168/977/240 +f 5171/979/239 5179/1556/239 5182/980/239 +f 5170/982/241 5178/994/241 5177/983/241 +f 5167/978/243 5176/988/243 5175/984/243 +f 5169/976/239 5175/996/239 5178/985/239 +f 5168/977/238 5177/991/238 5176/986/238 +f 5171/987/242 5175/984/242 5176/988/242 +f 5172/990/242 5176/986/242 5177/991/242 +f 5173/993/242 5177/983/242 5178/994/242 +f 5174/981/242 5178/985/242 5175/996/242 +f 5173/992/238 5181/1557/238 5180/997/238 +f 5174/995/241 5182/1558/241 5181/998/241 +f 5172/989/243 5180/1559/243 5179/999/243 +f 5185/1000/240 5186/1006/240 5184/1001/240 +f 5187/1003/239 5195/1560/239 5198/1004/239 +f 5186/1006/241 5194/1018/241 5193/1007/241 +f 5183/1002/243 5192/1012/243 5191/1008/243 +f 5185/1000/239 5191/1020/239 5194/1009/239 +f 5184/1001/238 5193/1015/238 5192/1010/238 +f 5187/1011/242 5191/1008/242 5192/1012/242 +f 5188/1014/242 5192/1010/242 5193/1015/242 +f 5189/1017/242 5193/1007/242 5194/1018/242 +f 5190/1005/242 5194/1009/242 5191/1020/242 +f 5189/1016/238 5197/1561/238 5196/1021/238 +f 5190/1019/241 5198/1562/241 5197/1022/241 +f 5188/1013/243 5196/1563/243 5195/1023/243 +f 5201/1024/240 5202/1030/240 5200/1025/240 +f 5203/1027/239 5211/1564/239 5214/1028/239 +f 5202/1030/241 5210/1042/241 5209/1031/241 +f 5199/1026/243 5208/1036/243 5207/1032/243 +f 5201/1024/239 5207/1044/239 5210/1033/239 +f 5200/1025/238 5209/1039/238 5208/1034/238 +f 5203/1035/242 5207/1032/242 5208/1036/242 +f 5204/1038/242 5208/1034/242 5209/1039/242 +f 5205/1041/242 5209/1031/242 5210/1042/242 +f 5206/1029/242 5210/1033/242 5207/1044/242 +f 5205/1040/238 5213/1565/238 5212/1045/238 +f 5206/1043/241 5214/1566/241 5213/1046/241 +f 5204/1037/243 5212/1567/243 5211/1047/243 +f 5217/1048/240 5218/1054/240 5216/1049/240 +f 5219/1051/239 5227/1568/239 5230/1052/239 +f 5218/1054/241 5226/1066/241 5225/1055/241 +f 5215/1050/243 5224/1060/243 5223/1056/243 +f 5217/1048/239 5223/1068/239 5226/1057/239 +f 5216/1049/238 5225/1063/238 5224/1058/238 +f 5219/1059/242 5223/1056/242 5224/1060/242 +f 5220/1062/242 5224/1058/242 5225/1063/242 +f 5221/1065/242 5225/1055/242 5226/1066/242 +f 5222/1053/242 5226/1057/242 5223/1068/242 +f 5221/1064/238 5229/1569/238 5228/1069/238 +f 5222/1067/241 5230/1570/241 5229/1070/241 +f 5220/1061/243 5228/1571/243 5227/1071/243 +f 5233/1072/241 5234/1078/241 5232/1073/241 +f 5235/1075/239 5243/1572/239 5246/1076/239 +f 5234/1078/242 5242/1090/242 5241/1079/242 +f 5231/1074/240 5240/1084/240 5239/1080/240 +f 5233/1072/239 5239/1092/239 5242/1081/239 +f 5232/1073/238 5241/1087/238 5240/1082/238 +f 5235/1083/243 5239/1080/243 5240/1084/243 +f 5236/1086/243 5240/1082/243 5241/1087/243 +f 5237/1089/243 5241/1079/243 5242/1090/243 +f 5238/1077/243 5242/1081/243 5239/1092/243 +f 5237/1088/238 5245/1573/238 5244/1093/238 +f 5238/1091/242 5246/1574/242 5245/1094/242 +f 5236/1085/240 5244/1575/240 5243/1095/240 +f 5249/1096/241 5250/1102/241 5248/1097/241 +f 5251/1099/239 5259/1576/239 5262/1100/239 +f 5250/1102/242 5258/1114/242 5257/1103/242 +f 5247/1098/240 5256/1108/240 5255/1104/240 +f 5249/1096/239 5255/1116/239 5258/1105/239 +f 5248/1097/238 5257/1111/238 5256/1106/238 +f 5251/1107/243 5255/1104/243 5256/1108/243 +f 5252/1110/243 5256/1106/243 5257/1111/243 +f 5253/1113/243 5257/1103/243 5258/1114/243 +f 5254/1101/243 5258/1105/243 5255/1116/243 +f 5253/1112/238 5261/1577/238 5260/1117/238 +f 5254/1115/242 5262/1578/242 5261/1118/242 +f 5252/1109/240 5260/1579/240 5259/1119/240 +f 5265/1120/241 5266/1126/241 5264/1121/241 +f 5267/1123/239 5275/1580/239 5278/1124/239 +f 5266/1126/242 5274/1138/242 5273/1127/242 +f 5263/1122/240 5272/1132/240 5271/1128/240 +f 5265/1120/239 5271/1140/239 5274/1129/239 +f 5264/1121/238 5273/1135/238 5272/1130/238 +f 5267/1131/243 5271/1128/243 5272/1132/243 +f 5268/1134/243 5272/1130/243 5273/1135/243 +f 5269/1137/243 5273/1127/243 5274/1138/243 +f 5270/1125/243 5274/1129/243 5271/1140/243 +f 5269/1136/238 5277/1581/238 5276/1141/238 +f 5270/1139/242 5278/1582/242 5277/1142/242 +f 5268/1133/240 5276/1583/240 5275/1143/240 +f 5281/1144/241 5282/1150/241 5280/1145/241 +f 5283/1147/239 5291/1584/239 5294/1148/239 +f 5282/1150/242 5290/1162/242 5289/1151/242 +f 5279/1146/240 5288/1156/240 5287/1152/240 +f 5281/1144/239 5287/1164/239 5290/1153/239 +f 5280/1145/238 5289/1159/238 5288/1154/238 +f 5283/1155/243 5287/1152/243 5288/1156/243 +f 5284/1158/243 5288/1154/243 5289/1159/243 +f 5285/1161/243 5289/1151/243 5290/1162/243 +f 5286/1149/243 5290/1153/243 5287/1164/243 +f 5285/1160/238 5293/1585/238 5292/1165/238 +f 5286/1163/242 5294/1586/242 5293/1166/242 +f 5284/1157/240 5292/1587/240 5291/1167/240 +f 5297/1168/241 5298/1174/241 5296/1169/241 +f 5299/1171/239 5307/1588/239 5310/1172/239 +f 5298/1174/242 5306/1186/242 5305/1175/242 +f 5295/1170/240 5304/1180/240 5303/1176/240 +f 5297/1168/239 5303/1188/239 5306/1177/239 +f 5296/1169/238 5305/1183/238 5304/1178/238 +f 5299/1179/243 5303/1176/243 5304/1180/243 +f 5300/1182/243 5304/1178/243 5305/1183/243 +f 5301/1185/243 5305/1175/243 5306/1186/243 +f 5302/1173/243 5306/1177/243 5303/1188/243 +f 5301/1184/238 5309/1589/238 5308/1189/238 +f 5302/1187/242 5310/1590/242 5309/1190/242 +f 5300/1181/240 5308/1591/240 5307/1191/240 +f 5313/1192/243 5314/1198/243 5312/1193/243 +f 5315/1195/239 5323/1592/239 5326/1196/239 +f 5314/1198/240 5322/1210/240 5321/1199/240 +f 5311/1194/242 5320/1204/242 5319/1200/242 +f 5313/1192/239 5319/1212/239 5322/1201/239 +f 5312/1193/238 5321/1207/238 5320/1202/238 +f 5315/1203/241 5319/1200/241 5320/1204/241 +f 5316/1206/241 5320/1202/241 5321/1207/241 +f 5317/1209/241 5321/1199/241 5322/1210/241 +f 5318/1197/241 5322/1201/241 5319/1212/241 +f 5317/1208/238 5325/1593/238 5324/1213/238 +f 5318/1211/240 5326/1594/240 5325/1214/240 +f 5316/1205/242 5324/1595/242 5323/1215/242 +f 5329/1216/243 5330/1222/243 5328/1217/243 +f 5331/1219/239 5339/1596/239 5342/1220/239 +f 5330/1222/240 5338/1234/240 5337/1223/240 +f 5327/1218/242 5336/1228/242 5335/1224/242 +f 5329/1216/239 5335/1236/239 5338/1225/239 +f 5328/1217/238 5337/1231/238 5336/1226/238 +f 5331/1227/241 5335/1224/241 5336/1228/241 +f 5332/1230/241 5336/1226/241 5337/1231/241 +f 5333/1233/241 5337/1223/241 5338/1234/241 +f 5334/1221/241 5338/1225/241 5335/1236/241 +f 5333/1232/238 5341/1597/238 5340/1237/238 +f 5334/1235/240 5342/1598/240 5341/1238/240 +f 5332/1229/242 5340/1599/242 5339/1239/242 +f 5345/1240/243 5346/1246/243 5344/1241/243 +f 5350/1243/239 5347/1261/239 5355/1244/239 +f 5346/1246/240 5354/1259/240 5353/1247/240 +f 5343/1242/242 5352/1253/242 5351/1248/242 +f 5346/1246/239 5345/1240/239 5351/1249/239 +f 5344/1241/238 5353/1256/238 5352/1251/238 +f 5347/1252/241 5351/1248/241 5352/1253/241 +f 5348/1255/241 5352/1251/241 5353/1256/241 +f 5349/1258/241 5353/1247/241 5354/1259/241 +f 5350/1243/241 5354/1250/241 5351/1249/241 +f 5349/1257/238 5357/1600/238 5356/1262/238 +f 5350/1260/240 5358/1601/240 5357/1263/240 +f 5348/1254/242 5356/1602/242 5355/1264/242 +f 5361/1265/243 5362/1271/243 5360/1266/243 +f 5363/1268/239 5371/1603/239 5374/1269/239 +f 5362/1271/240 5370/1283/240 5369/1272/240 +f 5359/1267/242 5368/1277/242 5367/1273/242 +f 5361/1265/239 5367/1285/239 5370/1274/239 +f 5360/1266/238 5369/1280/238 5368/1275/238 +f 5363/1276/241 5367/1273/241 5368/1277/241 +f 5364/1279/241 5368/1275/241 5369/1280/241 +f 5365/1282/241 5369/1272/241 5370/1283/241 +f 5366/1270/241 5370/1274/241 5367/1285/241 +f 5365/1281/238 5373/1604/238 5372/1286/238 +f 5366/1284/240 5374/1605/240 5373/1287/240 +f 5364/1278/242 5372/1606/242 5371/1288/242 +f 5377/1289/243 5378/1295/243 5376/1290/243 +f 5379/1292/239 5387/1607/239 5390/1293/239 +f 5378/1295/240 5386/1307/240 5385/1296/240 +f 5375/1291/242 5384/1301/242 5383/1297/242 +f 5377/1289/239 5383/1309/239 5386/1298/239 +f 5376/1290/238 5385/1304/238 5384/1299/238 +f 5379/1300/241 5383/1297/241 5384/1301/241 +f 5380/1303/241 5384/1299/241 5385/1304/241 +f 5381/1306/241 5385/1296/241 5386/1307/241 +f 5382/1294/241 5386/1298/241 5383/1309/241 +f 5381/1305/238 5389/1608/238 5388/1310/238 +f 5382/1308/240 5390/1609/240 5389/1311/240 +f 5380/1302/242 5388/1610/242 5387/1312/242 +s 1 +f 3667/1611/244 3153/1612/242 3656/1613/242 +f 3660/1614/245 3149/1615/246 3661/1616/246 +f 3663/1617/247 3146/1618/248 3664/1619/248 +f 3656/1613/242 3154/1620/249 3657/1621/249 +f 3666/1622/250 3143/1623/244 3667/1611/244 +f 3659/1624/241 3150/1625/245 3660/1614/245 +f 3662/1626/240 3147/1627/247 3663/1617/247 +f 3665/1628/243 3144/1629/250 3666/1622/250 +f 3658/1630/251 3151/1631/241 3659/1632/241 +f 3661/1616/246 3148/1633/240 3662/1626/240 +f 3664/1619/248 3145/1634/243 3665/1628/243 +f 3657/1621/249 3152/1635/251 3658/1630/251 +f 3206/1636/252 3237/469/253 3205/1637/253 +f 3199/1638/241 3230/453/254 3198/1639/254 +f 3207/1640/243 3238/471/252 3206/1636/252 +f 3200/1641/255 3231/456/241 3199/1638/241 +f 3208/1642/256 3239/473/243 3207/1640/243 +f 3201/1643/257 3232/457/255 3200/1641/255 +f 3209/1644/258 3240/474/256 3208/1642/256 +f 3202/1645/259 3233/459/257 3201/1643/257 +f 3210/1646/260 3241/476/258 3209/1644/258 +f 3203/1647/240 3234/462/259 3202/1645/259 +f 3196/1648/261 3228/449/242 3195/1649/242 +f 3195/1649/242 3242/479/260 3210/1646/260 +f 3204/1650/262 3235/466/240 3203/1651/240 +f 3197/1652/263 3227/450/261 3196/1648/261 +f 3205/1637/253 3236/467/262 3204/1650/262 +f 3198/1639/254 3229/452/263 3197/1652/263 +f 3212/448/262 3244/1653/240 3211/480/240 +f 3211/480/240 3258/1654/259 3226/478/259 +f 3220/465/261 3251/1655/242 3219/1360/242 +f 3213/451/253 3243/1656/262 3212/448/262 +f 3221/468/263 3252/1657/261 3220/465/261 +f 3214/454/252 3245/1658/253 3213/451/253 +f 3222/470/254 3253/1659/263 3221/468/263 +f 3215/455/243 3246/1660/252 3214/454/252 +f 3223/472/241 3254/1661/254 3222/470/254 +f 3215/455/243 3248/1662/256 3247/1663/243 +f 3224/475/255 3255/1664/241 3223/472/241 +f 3216/458/256 3249/1665/258 3248/1662/256 +f 3225/477/257 3256/1666/255 3224/475/255 +f 3218/461/260 3249/1665/258 3217/460/258 +f 3226/478/259 3257/1667/257 3225/477/257 +f 3219/463/242 3250/1668/260 3218/461/260 +f 3309/1669/240 4086/567/259 3310/1670/259 +f 3302/1671/260 4093/581/258 3303/1672/258 +f 3310/1670/259 4085/565/257 3311/1673/257 +f 3303/1672/258 4092/579/256 3304/1674/256 +f 3311/1673/257 4084/562/255 3312/1675/255 +f 3304/1674/256 4091/578/243 3305/1676/243 +f 3312/1675/255 4083/561/241 3313/1677/241 +f 3305/1676/243 4090/576/252 3306/1678/252 +f 3313/1677/241 4082/558/254 3314/1679/254 +f 3306/1678/252 4089/574/253 3307/1680/253 +f 3353/1681/264 3346/1682/238 3345/1683/265 +f 3351/1684/266 3344/1685/241 3343/1686/267 +f 3356/1687/268 3349/1688/269 3348/1689/243 +f 3354/1690/270 3347/1691/271 3346/1692/238 +f 3352/1693/272 3345/1683/265 3344/1685/241 +f 3350/1694/273 3343/1686/267 3342/1695/239 +f 3357/1696/274 3342/1695/239 3349/1688/269 +f 3355/1697/275 3348/1689/243 3347/1691/271 +f 3356/1698/268 3364/1699/276 3357/1696/274 +f 3352/1700/272 3361/1701/277 3353/1702/264 +f 3350/1694/273 3359/1703/278 3351/1684/266 +f 3357/1696/274 3358/1704/279 3350/1694/273 +f 3356/1698/268 3362/1705/280 3363/1706/281 +f 3351/1684/266 3360/1707/282 3352/1700/272 +f 3360/1707/282 3366/1708/283 3367/1709/284 +f 3363/1706/281 3371/1710/285 3364/1699/276 +f 3360/1707/282 3368/1711/286 3361/1701/277 +f 3359/1703/278 3365/1712/287 3366/1708/283 +f 3364/1699/276 3365/1712/287 3358/1704/279 +f 3363/1706/281 3369/1713/288 3370/1714/289 +f 3354/1715/270 3362/1705/280 3355/1716/275 +f 3362/1705/280 3354/1715/270 3369/1713/288 +f 3353/1702/264 3361/1701/277 3354/1717/270 +f 3361/1701/277 3368/1711/286 3354/1717/270 +f 3370/1718/289 3379/1719/258 3371/1710/285 +f 3367/1720/284 3376/1721/257 3368/1722/286 +f 3365/1712/287 3374/1723/263 3366/1708/283 +f 3368/1722/286 3372/1724/240 3354/1725/270 +f 3371/1710/285 3373/1726/242 3365/1712/287 +f 3354/1727/270 3377/1728/253 3369/1729/288 +f 3369/1729/288 3378/1730/243 3370/1718/289 +f 3366/1708/283 3375/1731/241 3367/1720/284 +f 3384/1732/238 3391/1733/265 3383/1734/265 +f 3385/1735/271 3392/1736/238 3384/1737/238 +f 3386/1738/243 3393/1739/271 3385/1735/271 +f 3387/1740/269 3394/1741/243 3386/1738/243 +f 3380/1742/239 3395/1743/269 3387/1740/269 +f 3381/1744/267 3388/1745/239 3380/1742/239 +f 3382/1746/241 3389/1747/267 3381/1744/267 +f 3383/1734/265 3390/1748/241 3382/1746/241 +f 3419/1749/279 3404/1750/239 3411/1751/279 +f 3417/1752/290 3410/1753/242 3409/1754/290 +f 3415/1755/270 3408/1756/238 3407/1757/270 +f 3413/1758/291 3406/1759/240 3405/1760/291 +f 3418/1761/242 3411/1751/279 3410/1753/242 +f 3416/1762/238 3409/1754/290 3408/1763/238 +f 3414/1764/240 3407/1757/270 3406/1759/240 +f 3412/1765/239 3405/1760/291 3404/1750/239 +f 3431/1766/292 3424/1767/240 3423/1768/291 +f 3429/1769/293 3422/1770/239 3421/1771/279 +f 3434/1772/294 3427/1773/290 3426/1774/238 +f 3432/1775/295 3425/1776/270 3424/1777/240 +f 3430/1778/296 3423/1768/291 3422/1770/239 +f 3428/1779/297 3421/1771/279 3420/1780/242 +f 3435/1781/298 3420/1780/242 3427/1773/290 +f 3433/1782/299 3426/1774/238 3425/1776/270 +f 3435/1781/298 3441/1783/300 3442/1784/301 +f 3430/1785/296 3439/1786/302 3431/1787/292 +f 3428/1779/297 3437/1788/303 3429/1769/293 +f 3428/1779/297 3442/1784/301 3436/1789/304 +f 3434/1790/294 3440/1791/305 3441/1783/300 +f 3429/1769/293 3438/1792/306 3430/1785/296 +f 3432/1793/295 3440/1791/305 3433/1794/299 +f 3431/1787/292 3439/1786/302 3432/1795/295 +f 3448/1796/307 3451/1797/308 3455/1798/309 +f 3449/1799/310 3455/1798/309 3456/1800/311 +f 3445/1801/312 3453/1802/313 3446/1803/314 +f 3447/1804/315 3451/1805/308 3444/1806/316 +f 3449/1799/310 3457/1807/317 3450/1808/318 +f 3446/1803/314 3454/1809/319 3447/1804/315 +f 3450/1808/318 3457/1807/317 3443/1810/320 +f 3445/1801/312 3443/1810/320 3452/1811/321 +f 3455/1798/309 3464/1812/238 3456/1813/311 +f 3452/1814/321 3461/1815/239 3453/1816/313 +f 3443/1817/320 3460/1818/279 3452/1814/321 +f 3454/1809/319 3459/1819/240 3451/1805/308 +f 3457/1820/317 3458/1821/242 3443/1817/320 +f 3456/1813/311 3465/1822/290 3457/1820/317 +f 3453/1816/313 3462/1823/291 3454/1809/319 +f 3451/1797/308 3463/1824/270 3455/1798/309 +f 3477/1825/292 3470/1826/240 3469/1827/291 +f 3475/1828/293 3468/1829/239 3467/1830/279 +f 3480/1831/294 3473/1832/290 3472/1833/238 +f 3478/1834/295 3471/1835/270 3470/1836/240 +f 3476/1837/296 3469/1827/291 3468/1829/239 +f 3474/1838/297 3467/1830/279 3466/1839/242 +f 3481/1840/298 3466/1839/242 3473/1832/290 +f 3479/1841/299 3472/1833/238 3471/1835/270 +f 3481/1840/298 3487/1842/300 3488/1843/301 +f 3476/1844/296 3485/1845/322 3477/1846/292 +f 3474/1838/297 3483/1847/303 3475/1828/293 +f 3474/1838/297 3488/1843/301 3482/1848/304 +f 3480/1849/294 3486/1850/305 3487/1842/300 +f 3475/1828/293 3484/1851/306 3476/1844/296 +f 3495/1852/310 3488/1843/301 3487/1842/300 +f 3496/1853/318 3482/1848/304 3488/1843/301 +f 3482/1848/304 3491/1854/323 3483/1847/303 +f 3483/1847/303 3492/1855/314 3484/1851/306 +f 3484/1851/306 3493/1856/315 3485/1845/322 +f 3485/1845/322 3490/1857/316 3478/1858/295 +f 3478/1859/295 3486/1850/305 3479/1860/299 +f 3490/1861/316 3486/1850/305 3478/1859/295 +f 3477/1846/292 3485/1845/322 3478/1858/295 +f 3494/1862/307 3487/1842/300 3486/1850/305 +f 3450/1808/318 3436/1789/304 3442/1784/301 +f 3436/1789/304 3445/1801/312 3437/1788/303 +f 3437/1788/303 3446/1803/314 3438/1792/306 +f 3438/1792/306 3447/1804/315 3439/1786/302 +f 3439/1786/302 3444/1806/316 3432/1795/295 +f 3444/1863/316 3440/1791/305 3432/1793/295 +f 3494/1862/307 3497/1864/308 3501/1865/309 +f 3495/1852/310 3501/1865/309 3502/1866/311 +f 3491/1854/323 3499/1867/313 3492/1855/314 +f 3493/1856/315 3497/1868/308 3490/1857/316 +f 3496/1853/318 3502/1866/311 3503/1869/317 +f 3492/1855/314 3500/1870/319 3493/1856/315 +f 3448/1796/307 3441/1783/300 3440/1791/305 +f 3496/1853/318 3503/1869/317 3489/1871/320 +f 3449/1799/310 3442/1784/301 3441/1783/300 +f 3491/1854/323 3489/1871/320 3498/1872/321 +f 3501/1865/309 3510/1873/238 3502/1874/311 +f 3498/1875/321 3507/1876/239 3499/1877/313 +f 3489/1878/320 3506/1879/279 3498/1875/321 +f 3500/1870/319 3505/1880/240 3497/1868/308 +f 3503/1881/317 3504/1882/242 3489/1878/320 +f 3503/1881/317 3510/1873/238 3511/1883/290 +f 3499/1877/313 3508/1884/291 3500/1870/319 +f 3497/1864/308 3509/1885/270 3501/1865/309 +f 3523/1886/324 3516/1887/238 3515/1888/270 +f 3521/1889/325 3514/1890/240 3513/1891/291 +f 3526/1892/326 3519/1893/279 3518/1894/242 +f 3524/1895/271 3517/1896/290 3516/1897/238 +f 3522/1898/327 3515/1888/270 3514/1890/240 +f 3520/1899/328 3513/1891/291 3512/1900/239 +f 3527/1901/329 3512/1900/239 3519/1893/279 +f 3525/1902/330 3518/1894/242 3517/1896/290 +f 3527/1901/329 3533/1903/331 3534/1904/332 +f 3522/1905/327 3531/1906/333 3523/1907/324 +f 3520/1899/328 3529/1908/334 3521/1889/325 +f 3520/1899/328 3534/1904/332 3528/1909/267 +f 3526/1910/326 3532/1911/335 3533/1903/331 +f 3521/1889/325 3530/1912/336 3522/1905/327 +f 3530/1912/336 3536/1913/337 3537/1914/338 +f 3533/1903/331 3541/1915/339 3534/1904/332 +f 3531/1906/333 3537/1914/338 3538/1916/340 +f 3528/1909/267 3536/1913/337 3529/1908/334 +f 3528/1909/267 3541/1915/339 3535/1917/341 +f 3532/1911/335 3540/1918/342 3533/1903/331 +f 3524/1919/271 3532/1911/335 3525/1920/330 +f 3532/1911/335 3524/1919/271 3539/1921/343 +f 3523/1907/324 3531/1906/333 3524/1922/271 +f 3531/1906/333 3538/1916/340 3524/1922/271 +f 3540/1923/342 3549/1924/344 3541/1915/339 +f 3537/1925/338 3546/1926/345 3538/1927/340 +f 3535/1917/341 3544/1928/346 3536/1913/337 +f 3538/1927/340 3542/1929/347 3524/1930/271 +f 3541/1915/339 3543/1931/267 3535/1917/341 +f 3524/1932/271 3547/1933/348 3539/1934/343 +f 3539/1934/343 3548/1935/349 3540/1923/342 +f 3536/1913/337 3545/1936/350 3537/1925/338 +f 3542/1929/347 3553/1937/351 3550/1938/271 +f 3547/1933/348 3555/1939/352 3548/1940/349 +f 3545/1941/350 3551/1942/353 3552/1943/354 +f 3542/1944/347 3554/1945/355 3547/1933/348 +f 3548/1940/349 3556/1946/356 3549/1947/344 +f 3546/1926/345 3552/1943/354 3553/1937/351 +f 3550/1948/271 3561/1949/357 3554/1945/355 +f 3555/1939/352 3561/1949/357 3562/1950/358 +f 3551/1942/353 3559/1951/359 3552/1943/354 +f 3553/1937/351 3557/1952/360 3550/1938/271 +f 3556/1946/356 3562/1950/358 3563/1953/361 +f 3552/1943/354 3560/1954/362 3553/1937/351 +f 3549/1947/344 3556/1946/356 3543/1955/267 +f 3556/1946/356 3563/1953/361 3543/1955/267 +f 3543/1955/267 3551/1942/353 3544/1956/346 +f 3551/1942/353 3543/1955/267 3558/1957/363 +f 3561/1949/357 3570/1958/242 3562/1959/358 +f 3558/1960/363 3567/1961/240 3559/1962/359 +f 3543/1963/267 3566/1964/291 3558/1960/363 +f 3560/1954/362 3565/1965/238 3557/1952/360 +f 3563/1966/361 3564/1967/239 3543/1963/267 +f 3562/1959/358 3571/1968/279 3563/1966/361 +f 3559/1962/359 3568/1969/270 3560/1954/362 +f 3557/1970/360 3569/1971/290 3561/1949/357 +f 3583/1972/324 3576/1973/238 3575/1974/270 +f 3581/1975/325 3574/1976/240 3573/1977/291 +f 3586/1978/326 3579/1979/279 3578/1980/242 +f 3584/1981/271 3577/1982/290 3576/1983/238 +f 3582/1984/327 3575/1974/270 3574/1976/240 +f 3580/1985/328 3573/1977/291 3572/1986/239 +f 3587/1987/329 3572/1986/239 3579/1979/279 +f 3585/1988/330 3578/1980/242 3577/1982/290 +f 3587/1987/329 3593/1989/331 3594/1990/332 +f 3582/1991/327 3591/1992/333 3583/1993/324 +f 3580/1985/328 3589/1994/334 3581/1975/325 +f 3580/1985/328 3594/1990/332 3588/1995/267 +f 3586/1996/326 3592/1997/335 3593/1989/331 +f 3581/1975/325 3590/1998/336 3582/1991/327 +f 3590/1998/336 3596/1999/337 3597/2000/338 +f 3593/1989/331 3601/2001/339 3594/1990/332 +f 3591/1992/333 3597/2000/338 3598/2002/340 +f 3588/1995/267 3596/1999/337 3589/1994/334 +f 3588/1995/267 3601/2001/339 3595/2003/341 +f 3592/1997/335 3600/2004/342 3593/1989/331 +f 3584/2005/271 3592/1997/335 3585/2006/330 +f 3592/1997/335 3584/2005/271 3599/2007/343 +f 3583/1993/324 3591/1992/333 3584/2008/271 +f 3591/1992/333 3598/2002/340 3584/2008/271 +f 3600/2009/342 3609/2010/344 3601/2001/339 +f 3597/2011/338 3606/2012/345 3598/2013/340 +f 3595/2003/341 3604/2014/346 3596/1999/337 +f 3598/2013/340 3602/2015/347 3584/2016/271 +f 3601/2001/339 3603/2017/267 3595/2003/341 +f 3584/2018/271 3607/2019/348 3599/2020/343 +f 3599/2020/343 3608/2021/349 3600/2009/342 +f 3596/1999/337 3605/2022/350 3597/2011/338 +f 3602/2015/347 3613/2023/351 3610/2024/271 +f 3607/2019/348 3615/2025/352 3608/2026/349 +f 3605/2027/350 3611/2028/353 3612/2029/354 +f 3602/2030/347 3614/2031/355 3607/2019/348 +f 3608/2026/349 3616/2032/356 3609/2033/344 +f 3606/2012/345 3612/2029/354 3613/2023/351 +f 3614/2031/355 3617/2034/360 3621/2035/357 +f 3615/2025/352 3621/2035/357 3622/2036/358 +f 3611/2028/353 3619/2037/359 3612/2029/354 +f 3613/2023/351 3617/2038/360 3610/2024/271 +f 3616/2032/356 3622/2036/358 3623/2039/361 +f 3612/2029/354 3620/2040/362 3613/2023/351 +f 3609/2033/344 3616/2032/356 3603/2041/267 +f 3616/2032/356 3623/2039/361 3603/2041/267 +f 3603/2041/267 3611/2028/353 3604/2042/346 +f 3611/2028/353 3603/2041/267 3618/2043/363 +f 3621/2035/357 3630/2044/242 3622/2045/358 +f 3618/2046/363 3627/2047/240 3619/2048/359 +f 3603/2049/267 3626/2050/291 3618/2046/363 +f 3620/2040/362 3625/2051/238 3617/2038/360 +f 3623/2052/361 3624/2053/239 3603/2049/267 +f 3622/2045/358 3631/2054/279 3623/2052/361 +f 3619/2048/359 3628/2055/270 3620/2040/362 +f 3617/2034/360 3629/2056/290 3621/2035/357 +f 3645/2057/239 3636/2058/291 3637/2059/239 +f 3643/2060/240 3634/2061/270 3635/2062/240 +f 3641/2063/238 3632/2064/290 3633/2065/238 +f 3647/2066/242 3638/2067/279 3639/2068/242 +f 3646/2069/279 3637/2059/239 3638/2067/279 +f 3644/2070/291 3635/2062/240 3636/2058/291 +f 3642/2071/270 3633/2072/238 3634/2061/270 +f 3640/2073/290 3639/2068/242 3632/2064/290 +f 3679/2074/264 3672/2075/238 3671/2076/265 +f 3677/2077/266 3670/2078/241 3669/2079/267 +f 3682/2080/268 3675/2081/269 3674/2082/243 +f 3680/2083/270 3673/2084/271 3672/2085/238 +f 3678/2086/272 3671/2076/265 3670/2078/241 +f 3676/2087/273 3669/2079/267 3668/2088/239 +f 3683/2089/274 3668/2088/239 3675/2081/269 +f 3681/2090/275 3674/2082/243 3673/2084/271 +f 3683/2089/274 3689/2091/281 3690/2092/276 +f 3678/2093/272 3687/2094/277 3679/2095/264 +f 3677/2077/266 3684/2096/279 3685/2097/278 +f 3683/2089/274 3684/2096/279 3676/2087/273 +f 3682/2098/268 3688/2099/280 3689/2091/281 +f 3677/2077/266 3686/2100/282 3678/2093/272 +f 3686/2100/282 3692/2101/283 3693/2102/284 +f 3689/2091/281 3697/2103/285 3690/2092/276 +f 3686/2100/282 3694/2104/286 3687/2094/277 +f 3685/2097/278 3691/2105/287 3692/2101/283 +f 3690/2092/276 3691/2105/287 3684/2096/279 +f 3689/2091/281 3695/2106/288 3696/2107/289 +f 3680/2108/270 3688/2099/280 3681/2109/275 +f 3688/2099/280 3680/2108/270 3695/2106/288 +f 3679/2095/264 3687/2094/277 3680/2110/270 +f 3687/2094/277 3694/2104/286 3680/2110/270 +f 3696/2111/289 3705/2112/258 3697/2103/285 +f 3693/2113/284 3702/2114/257 3694/2115/286 +f 3691/2105/287 3700/2116/263 3692/2101/283 +f 3694/2115/286 3698/2117/240 3680/2118/270 +f 3697/2103/285 3699/2119/242 3691/2105/287 +f 3680/2120/270 3703/2121/253 3695/2122/288 +f 3695/2122/288 3704/2123/243 3696/2111/289 +f 3692/2101/283 3701/2124/241 3693/2113/284 +f 3717/2125/264 3710/2126/238 3709/2127/265 +f 3715/2128/266 3708/2129/241 3707/2130/267 +f 3720/2131/268 3713/2132/269 3712/2133/243 +f 3710/2134/238 3719/2135/275 3711/2136/271 +f 3716/2137/272 3709/2127/265 3708/2129/241 +f 3714/2138/273 3707/2130/267 3706/2139/239 +f 3721/2140/274 3706/2139/239 3713/2132/269 +f 3719/2135/275 3712/2133/243 3711/2136/271 +f 3721/2140/274 3727/2141/281 3728/2142/276 +f 3716/2143/272 3725/2144/277 3717/2145/264 +f 3714/2138/273 3723/2146/278 3715/2128/266 +f 3721/2140/274 3722/2147/279 3714/2138/273 +f 3720/2148/268 3726/2149/280 3727/2141/281 +f 3716/2143/272 3723/2146/278 3724/2150/282 +f 3724/2150/282 3730/2151/283 3731/2152/284 +f 3727/2141/281 3735/2153/285 3728/2142/276 +f 3724/2150/282 3732/2154/286 3725/2144/277 +f 3723/2146/278 3729/2155/287 3730/2151/283 +f 3728/2142/276 3729/2155/287 3722/2147/279 +f 3726/2149/280 3734/2156/289 3727/2141/281 +f 3718/2157/270 3726/2149/280 3719/2158/275 +f 3726/2149/280 3718/2157/270 3733/2159/288 +f 3717/2145/264 3725/2144/277 3718/2160/270 +f 3725/2144/277 3732/2154/286 3718/2160/270 +f 3734/2161/289 3743/2162/258 3735/2153/285 +f 3731/2163/284 3740/2164/257 3732/2165/286 +f 3729/2155/287 3738/2166/263 3730/2151/283 +f 3732/2165/286 3736/2167/240 3718/2168/270 +f 3735/2153/285 3737/2169/242 3729/2155/287 +f 3718/2170/270 3741/2171/253 3733/2172/288 +f 3733/2172/288 3742/2173/243 3734/2161/289 +f 3730/2151/283 3739/2174/241 3731/2163/284 +f 3755/2175/264 3748/2176/238 3747/2177/265 +f 3753/2178/266 3746/2179/241 3745/2180/267 +f 3758/2181/268 3751/2182/269 3750/2183/243 +f 3756/2184/270 3749/2185/271 3748/2186/238 +f 3754/2187/272 3747/2177/265 3746/2179/241 +f 3752/2188/273 3745/2180/267 3744/2189/239 +f 3759/2190/274 3744/2189/239 3751/2182/269 +f 3757/2191/275 3750/2183/243 3749/2185/271 +f 3759/2190/274 3765/2192/281 3766/2193/276 +f 3754/2194/272 3763/2195/277 3755/2196/264 +f 3753/2178/266 3760/2197/279 3761/2198/278 +f 3759/2190/274 3760/2197/279 3752/2188/273 +f 3758/2199/268 3764/2200/280 3765/2192/281 +f 3753/2178/266 3762/2201/282 3754/2194/272 +f 3762/2201/282 3768/2202/283 3769/2203/284 +f 3765/2192/281 3773/2204/285 3766/2193/276 +f 3763/2195/277 3769/2203/284 3770/2205/286 +f 3761/2198/278 3767/2206/287 3768/2202/283 +f 3766/2193/276 3767/2206/287 3760/2197/279 +f 3764/2200/280 3772/2207/289 3765/2192/281 +f 3756/2208/270 3764/2200/280 3757/2209/275 +f 3764/2200/280 3756/2208/270 3771/2210/288 +f 3755/2196/264 3763/2195/277 3756/2211/270 +f 3763/2195/277 3770/2205/286 3756/2211/270 +f 3772/2212/289 3781/2213/258 3773/2204/285 +f 3769/2214/284 3778/2215/257 3770/2216/286 +f 3767/2206/287 3776/2217/263 3768/2202/283 +f 3770/2216/286 3774/2218/240 3756/2219/270 +f 3773/2204/285 3775/2220/242 3767/2206/287 +f 3756/2221/270 3779/2222/253 3771/2223/288 +f 3771/2223/288 3780/2224/243 3772/2212/289 +f 3768/2202/283 3777/2225/241 3769/2214/284 +f 3793/2226/264 3786/2227/238 3785/2228/265 +f 3791/2229/266 3784/2230/241 3783/2231/267 +f 3796/2232/268 3789/2233/269 3788/2234/243 +f 3794/2235/270 3787/2236/271 3786/2237/238 +f 3792/2238/272 3785/2228/265 3784/2230/241 +f 3790/2239/273 3783/2231/267 3782/2240/239 +f 3797/2241/274 3782/2240/239 3789/2233/269 +f 3795/2242/275 3788/2234/243 3787/2236/271 +f 3797/2241/274 3803/2243/281 3804/2244/276 +f 3792/2245/272 3801/2246/277 3793/2247/264 +f 3791/2229/266 3798/2248/279 3799/2249/278 +f 3797/2241/274 3798/2248/279 3790/2239/273 +f 3796/2250/268 3802/2251/280 3803/2243/281 +f 3791/2229/266 3800/2252/282 3792/2245/272 +f 3799/2249/278 3807/2253/284 3800/2252/282 +f 3803/2243/281 3811/2254/285 3804/2244/276 +f 3800/2252/282 3808/2255/286 3801/2246/277 +f 3799/2249/278 3805/2256/287 3806/2257/283 +f 3804/2244/276 3805/2256/287 3798/2248/279 +f 3803/2243/281 3809/2258/288 3810/2259/289 +f 3794/2260/270 3802/2251/280 3795/2261/275 +f 3802/2251/280 3794/2260/270 3809/2258/288 +f 3793/2247/264 3801/2246/277 3794/2262/270 +f 3801/2246/277 3808/2255/286 3794/2262/270 +f 3810/2263/289 3819/2264/258 3811/2254/285 +f 3807/2265/284 3816/2266/257 3808/2267/286 +f 3805/2256/287 3814/2268/263 3806/2257/283 +f 3808/2267/286 3812/2269/240 3794/2270/270 +f 3811/2254/285 3813/2271/242 3805/2256/287 +f 3794/2272/270 3817/2273/253 3809/2274/288 +f 3809/2274/288 3818/2275/243 3810/2263/289 +f 3806/2257/283 3815/2276/241 3807/2265/284 +f 3831/2277/364 3824/2278/238 3823/2279/271 +f 3829/2280/365 3822/2281/243 3821/2282/269 +f 3834/2283/366 3827/2284/267 3826/2285/241 +f 3824/2286/238 3833/2287/367 3825/2288/265 +f 3830/2289/368 3823/2279/271 3822/2281/243 +f 3828/2290/369 3821/2282/269 3820/2291/239 +f 3835/2292/370 3820/2291/239 3827/2284/267 +f 3833/2287/367 3826/2285/241 3825/2288/265 +f 3835/2292/370 3841/2293/371 3842/2294/372 +f 3830/2295/368 3839/2296/373 3831/2297/364 +f 3829/2280/365 3836/2298/291 3837/2299/374 +f 3835/2292/370 3836/2298/291 3828/2290/369 +f 3834/2300/366 3840/2301/375 3841/2293/371 +f 3829/2280/365 3838/2302/376 3830/2295/368 +f 3838/2302/376 3844/2303/377 3845/2304/378 +f 3842/2294/372 3848/2305/379 3849/2306/380 +f 3838/2302/376 3846/2307/381 3839/2296/373 +f 3837/2299/374 3843/2308/382 3844/2303/377 +f 3842/2294/372 3843/2308/382 3836/2298/291 +f 3841/2293/371 3847/2309/383 3848/2305/379 +f 3832/2310/290 3840/2301/375 3833/2311/367 +f 3840/2301/375 3832/2310/290 3847/2309/383 +f 3831/2297/364 3839/2296/373 3832/2312/290 +f 3839/2296/373 3846/2307/381 3832/2312/290 +f 3848/2313/379 3857/2314/257 3849/2306/380 +f 3845/2315/378 3854/2316/258 3846/2317/381 +f 3843/2308/382 3852/2318/253 3844/2303/377 +f 3846/2317/381 3850/2319/242 3832/2320/290 +f 3849/2306/380 3851/2321/240 3843/2308/382 +f 3832/2322/290 3855/2323/263 3847/2324/383 +f 3847/2324/383 3856/2325/241 3848/2313/379 +f 3844/2303/377 3853/2326/243 3845/2315/378 +f 3869/2327/364 3862/2328/238 3861/2329/271 +f 3867/2330/365 3860/2331/243 3859/2332/269 +f 3872/2333/366 3865/2334/267 3864/2335/241 +f 3870/2336/290 3863/2337/265 3862/2338/238 +f 3868/2339/368 3861/2329/271 3860/2331/243 +f 3866/2340/369 3859/2332/269 3858/2341/239 +f 3873/2342/370 3858/2341/239 3865/2334/267 +f 3871/2343/367 3864/2335/241 3863/2337/265 +f 3873/2342/370 3879/2344/371 3880/2345/372 +f 3868/2346/368 3877/2347/373 3869/2348/364 +f 3866/2340/369 3875/2349/374 3867/2330/365 +f 3873/2342/370 3874/2350/291 3866/2340/369 +f 3872/2351/366 3878/2352/375 3879/2344/371 +f 3867/2330/365 3876/2353/376 3868/2346/368 +f 3876/2353/376 3882/2354/377 3883/2355/378 +f 3879/2344/371 3887/2356/380 3880/2345/372 +f 3877/2347/373 3883/2355/378 3884/2357/381 +f 3875/2349/374 3881/2358/382 3882/2354/377 +f 3880/2345/372 3881/2358/382 3874/2350/291 +f 3878/2352/375 3886/2359/379 3879/2344/371 +f 3870/2360/290 3878/2352/375 3871/2361/367 +f 3878/2352/375 3870/2360/290 3885/2362/383 +f 3869/2348/364 3877/2347/373 3870/2363/290 +f 3877/2347/373 3884/2357/381 3870/2363/290 +f 3886/2364/379 3895/2365/257 3887/2356/380 +f 3883/2366/378 3892/2367/258 3884/2368/381 +f 3881/2358/382 3890/2369/253 3882/2354/377 +f 3884/2368/381 3888/2370/242 3870/2371/290 +f 3887/2356/380 3889/2372/240 3881/2358/382 +f 3870/2373/290 3893/2374/263 3885/2375/383 +f 3885/2375/383 3894/2376/241 3886/2364/379 +f 3882/2354/377 3891/2377/243 3883/2366/378 +f 3907/2378/364 3900/2379/238 3899/2380/271 +f 3905/2381/365 3898/2382/243 3897/2383/269 +f 3910/2384/366 3903/2385/267 3902/2386/241 +f 3908/2387/290 3901/2388/265 3900/2389/238 +f 3906/2390/368 3899/2380/271 3898/2382/243 +f 3896/2391/239 3905/2381/365 3897/2383/269 +f 3911/2392/370 3896/2391/239 3903/2385/267 +f 3909/2393/367 3902/2386/241 3901/2388/265 +f 3911/2392/370 3917/2394/371 3918/2395/372 +f 3906/2396/368 3915/2397/373 3907/2398/364 +f 3905/2381/365 3912/2399/291 3913/2400/374 +f 3911/2392/370 3912/2399/291 3904/2401/369 +f 3910/2402/366 3916/2403/375 3917/2394/371 +f 3905/2381/365 3914/2404/376 3906/2396/368 +f 3914/2404/376 3920/2405/377 3921/2406/378 +f 3917/2394/371 3925/2407/380 3918/2395/372 +f 3914/2404/376 3922/2408/381 3915/2397/373 +f 3913/2400/374 3919/2409/382 3920/2405/377 +f 3918/2395/372 3919/2409/382 3912/2399/291 +f 3917/2394/371 3923/2410/383 3924/2411/379 +f 3908/2412/290 3916/2403/375 3909/2413/367 +f 3916/2403/375 3908/2412/290 3923/2410/383 +f 3907/2398/364 3915/2397/373 3908/2414/290 +f 3915/2397/373 3922/2408/381 3908/2414/290 +f 3924/2415/379 3933/2416/257 3925/2407/380 +f 3921/2417/378 3930/2418/258 3922/2419/381 +f 3919/2409/382 3928/2420/253 3920/2405/377 +f 3922/2419/381 3926/2421/242 3908/2422/290 +f 3925/2407/380 3927/2423/240 3919/2409/382 +f 3908/2424/290 3931/2425/263 3923/2426/383 +f 3923/2426/383 3932/2427/241 3924/2415/379 +f 3920/2405/377 3929/2428/243 3921/2417/378 +f 3945/2429/364 3938/2430/238 3937/2431/271 +f 3943/2432/365 3936/2433/243 3935/2434/269 +f 3948/2435/366 3941/2436/267 3940/2437/241 +f 3946/2438/290 3939/2439/265 3938/2440/238 +f 3944/2441/368 3937/2431/271 3936/2433/243 +f 3942/2442/369 3935/2434/269 3934/2443/239 +f 3949/2444/370 3934/2443/239 3941/2436/267 +f 3947/2445/367 3940/2437/241 3939/2439/265 +f 3949/2444/370 3955/2446/371 3956/2447/372 +f 3944/2448/368 3953/2449/373 3945/2450/364 +f 3943/2432/365 3950/2451/291 3951/2452/374 +f 3949/2444/370 3950/2451/291 3942/2442/369 +f 3948/2453/366 3954/2454/375 3955/2446/371 +f 3943/2432/365 3952/2455/376 3944/2448/368 +f 3952/2455/376 3958/2456/377 3959/2457/378 +f 3955/2446/371 3963/2458/380 3956/2447/372 +f 3952/2455/376 3960/2459/381 3953/2449/373 +f 3951/2452/374 3957/2460/382 3958/2456/377 +f 3956/2447/372 3957/2460/382 3950/2451/291 +f 3954/2454/375 3962/2461/379 3955/2446/371 +f 3946/2462/290 3954/2454/375 3947/2463/367 +f 3954/2454/375 3946/2462/290 3961/2464/383 +f 3945/2450/364 3953/2449/373 3946/2465/290 +f 3953/2449/373 3960/2459/381 3946/2465/290 +f 3962/2466/379 3971/2467/257 3963/2458/380 +f 3959/2468/378 3968/2469/258 3960/2470/381 +f 3957/2460/382 3966/2471/253 3958/2456/377 +f 3960/2470/381 3964/2472/242 3946/2473/290 +f 3963/2458/380 3965/2474/240 3957/2460/382 +f 3946/2475/290 3969/2476/263 3961/2477/383 +f 3961/2477/383 3970/2478/241 3962/2466/379 +f 3958/2456/377 3967/2479/243 3959/2468/378 +f 3983/2480/364 3976/2481/238 3975/2482/271 +f 3981/2483/365 3974/2484/243 3973/2485/269 +f 3986/2486/366 3979/2487/267 3978/2488/241 +f 3976/2489/238 3985/2490/367 3977/2491/265 +f 3982/2492/368 3975/2482/271 3974/2484/243 +f 3980/2493/369 3973/2485/269 3972/2494/239 +f 3987/2495/370 3972/2494/239 3979/2487/267 +f 3985/2490/367 3978/2488/241 3977/2491/265 +f 3987/2495/370 3993/2496/371 3994/2497/372 +f 3982/2498/368 3991/2499/373 3983/2500/364 +f 3981/2483/365 3988/2501/291 3989/2502/374 +f 3987/2495/370 3988/2501/291 3980/2493/369 +f 3986/2503/366 3992/2504/375 3993/2496/371 +f 3981/2483/365 3990/2505/376 3982/2498/368 +f 3990/2505/376 3996/2506/377 3997/2507/378 +f 3993/2496/371 4001/2508/380 3994/2497/372 +f 3991/2499/373 3997/2507/378 3998/2509/381 +f 3989/2502/374 3995/2510/382 3996/2506/377 +f 3994/2497/372 3995/2510/382 3988/2501/291 +f 3993/2496/371 3999/2511/383 4000/2512/379 +f 3984/2513/290 3992/2504/375 3985/2514/367 +f 3992/2504/375 3984/2513/290 3999/2511/383 +f 3983/2500/364 3991/2499/373 3984/2515/290 +f 3991/2499/373 3998/2509/381 3984/2515/290 +f 4000/2516/379 4009/2517/257 4001/2508/380 +f 3997/2518/378 4006/2519/258 3998/2520/381 +f 3995/2510/382 4004/2521/253 3996/2506/377 +f 3998/2520/381 4002/2522/242 3984/2523/290 +f 4001/2508/380 4003/2524/240 3995/2510/382 +f 3984/2525/290 4007/2526/263 3999/2527/383 +f 3999/2527/383 4008/2528/241 4000/2516/379 +f 3996/2506/377 4005/2529/243 3997/2518/378 +f 4014/2530/238 4021/2531/265 4013/2532/265 +f 4014/2533/238 4023/2534/271 4022/2535/238 +f 4016/2536/243 4023/2534/271 4015/2537/271 +f 4017/2538/269 4024/2539/243 4016/2536/243 +f 4010/2540/239 4025/2541/269 4017/2538/269 +f 4011/2542/267 4018/2543/239 4010/2540/239 +f 4012/2544/241 4019/2545/267 4011/2542/267 +f 4013/2532/265 4020/2546/241 4012/2544/241 +f 4030/2547/238 4037/2548/265 4029/2549/265 +f 4031/2550/271 4038/2551/238 4030/2552/238 +f 4032/2553/243 4039/2554/271 4031/2550/271 +f 4033/2555/269 4040/2556/243 4032/2553/243 +f 4026/2557/239 4041/2558/269 4033/2555/269 +f 4027/2559/267 4034/2560/239 4026/2557/239 +f 4028/2561/241 4035/2562/267 4027/2559/267 +f 4029/2549/265 4036/2563/241 4028/2561/241 +f 4045/2564/265 4054/2565/238 4053/2566/265 +f 4047/2567/271 4054/2568/238 4046/2569/238 +f 4048/2570/243 4055/2571/271 4047/2567/271 +f 4049/2572/269 4056/2573/243 4048/2570/243 +f 4042/2574/239 4057/2575/269 4049/2572/269 +f 4043/2576/267 4050/2577/239 4042/2574/239 +f 4043/2576/267 4052/2578/241 4051/2579/267 +f 4045/2564/265 4052/2578/241 4044/2580/241 +f 4062/2581/238 4069/2582/265 4061/2583/265 +f 4063/2584/271 4070/2585/238 4062/2586/238 +f 4064/2587/243 4071/2588/271 4063/2584/271 +f 4065/2589/269 4072/2590/243 4064/2587/243 +f 4058/2591/239 4073/2592/269 4065/2589/269 +f 4059/2593/267 4066/2594/239 4058/2591/239 +f 4060/2595/241 4067/2596/267 4059/2593/267 +f 4061/2583/265 4068/2597/241 4060/2595/241 +f 3316/2598/261 4080/554/242 3317/2599/242 +f 3317/2599/242 4094/584/260 3302/1671/260 +f 3308/2600/262 4087/571/240 3309/2601/240 +f 3315/2602/263 4079/555/261 3316/2598/261 +f 3307/1680/253 4088/572/262 3308/2600/262 +f 3314/1679/254 4081/557/263 3315/2602/263 +f 3300/553/262 4096/2603/240 3301/585/240 +f 3301/585/240 4110/2604/259 4078/583/259 +f 3292/570/261 4103/2605/242 3293/1373/242 +f 3299/556/253 4095/2606/262 3300/553/262 +f 3291/573/263 4104/2607/261 3292/570/261 +f 3298/559/252 4097/2608/253 3299/556/253 +f 4074/575/254 4105/2609/263 3291/573/263 +f 3297/560/243 4098/2610/252 3298/559/252 +f 4075/577/241 4106/2611/254 4074/575/254 +f 3296/563/256 4099/2612/243 3297/560/243 +f 4076/580/255 4107/2613/241 4075/577/241 +f 3296/563/256 4101/2614/258 4100/2615/256 +f 4077/582/257 4108/2616/255 4076/580/255 +f 3294/566/260 4101/2614/258 3295/564/258 +f 4078/583/259 4109/2617/257 4077/582/257 +f 3293/568/242 4102/2618/260 3294/566/260 +f 4134/2619/244 4121/2620/242 4123/2621/242 +f 4127/2622/245 4117/2623/246 4128/2624/246 +f 4130/2625/247 4114/2626/248 4131/2627/248 +f 4123/2621/242 4122/2628/249 4124/2629/249 +f 4133/2630/250 4111/2631/244 4134/2619/244 +f 4126/2632/241 4118/2633/245 4127/2622/245 +f 4129/2634/240 4115/2635/247 4130/2625/247 +f 4132/2636/243 4112/2637/250 4133/2630/250 +f 4125/2638/251 4119/2639/241 4126/2640/241 +f 4128/2624/246 4116/2641/240 4129/2634/240 +f 4131/2627/248 4113/2642/243 4132/2636/243 +f 4124/2629/249 4120/2643/251 4125/2638/251 +f 4158/2644/244 4145/2645/242 4147/2646/242 +f 4151/2647/245 4141/2648/246 4152/2649/246 +f 4154/2650/247 4138/2651/248 4155/2652/248 +f 4147/2646/242 4146/2653/249 4148/2654/249 +f 4157/2655/250 4135/2656/244 4158/2644/244 +f 4150/2657/241 4142/2658/245 4151/2647/245 +f 4153/2659/240 4139/2660/247 4154/2650/247 +f 4156/2661/243 4136/2662/250 4157/2655/250 +f 4149/2663/251 4143/2664/241 4150/2665/241 +f 4152/2649/246 4140/2666/240 4153/2659/240 +f 4155/2652/248 4137/2667/243 4156/2661/243 +f 4148/2654/249 4144/2668/251 4149/2663/251 +f 4182/2669/244 4169/2670/242 4171/2671/242 +f 4175/2672/245 4165/2673/246 4176/2674/246 +f 4178/2675/247 4162/2676/248 4179/2677/248 +f 4171/2671/242 4170/2678/249 4172/2679/249 +f 4181/2680/250 4159/2681/244 4182/2669/244 +f 4174/2682/241 4166/2683/245 4175/2672/245 +f 4177/2684/240 4163/2685/247 4178/2675/247 +f 4180/2686/243 4160/2687/250 4181/2680/250 +f 4173/2688/251 4167/2689/241 4174/2690/241 +f 4176/2674/246 4164/2691/240 4177/2684/240 +f 4179/2677/248 4161/2692/243 4180/2686/243 +f 4172/2679/249 4168/2693/251 4173/2688/251 +f 4206/2694/244 4193/2695/242 4195/2696/242 +f 4199/2697/245 4189/2698/246 4200/2699/246 +f 4202/2700/247 4186/2701/248 4203/2702/248 +f 4195/2696/242 4194/2703/249 4196/2704/249 +f 4205/2705/250 4183/2706/244 4206/2694/244 +f 4198/2707/241 4190/2708/245 4199/2697/245 +f 4201/2709/240 4187/2710/247 4202/2700/247 +f 4204/2711/243 4184/2712/250 4205/2705/250 +f 4197/2713/251 4191/2714/241 4198/2715/241 +f 4200/2699/246 4188/2716/240 4201/2709/240 +f 4203/2702/248 4185/2717/243 4204/2711/243 +f 4196/2704/249 4192/2718/251 4197/2713/251 +f 4230/2719/246 4217/2720/240 4219/2721/240 +f 4223/2722/250 4213/2723/244 4224/2724/244 +f 4226/2725/249 4210/2726/251 4227/2727/251 +f 4219/2721/240 4218/2728/247 4220/2729/247 +f 4229/2730/245 4207/2731/246 4230/2719/246 +f 4222/2732/243 4214/2733/250 4223/2722/250 +f 4225/2734/242 4211/2735/249 4226/2725/249 +f 4228/2736/241 4208/2737/245 4229/2730/245 +f 4221/2738/248 4215/2739/243 4222/2740/243 +f 4224/2724/244 4212/2741/242 4225/2734/242 +f 4227/2727/251 4209/2742/241 4228/2736/241 +f 4220/2729/247 4216/2743/248 4221/2738/248 +f 4254/2744/246 4241/2745/240 4243/2746/240 +f 4247/2747/250 4237/2748/244 4248/2749/244 +f 4250/2750/249 4234/2751/251 4251/2752/251 +f 4243/2746/240 4242/2753/247 4244/2754/247 +f 4253/2755/245 4231/2756/246 4254/2744/246 +f 4246/2757/243 4238/2758/250 4247/2747/250 +f 4249/2759/242 4235/2760/249 4250/2750/249 +f 4252/2761/241 4232/2762/245 4253/2755/245 +f 4245/2763/248 4239/2764/243 4246/2765/243 +f 4248/2749/244 4236/2766/242 4249/2759/242 +f 4251/2752/251 4233/2767/241 4252/2761/241 +f 4244/2754/247 4240/2768/248 4245/2763/248 +f 4278/2769/246 4265/2770/240 4267/2771/240 +f 4271/2772/250 4261/2773/244 4272/2774/244 +f 4274/2775/249 4258/2776/251 4275/2777/251 +f 4267/2771/240 4266/2778/247 4268/2779/247 +f 4277/2780/245 4255/2781/246 4278/2769/246 +f 4270/2782/243 4262/2783/250 4271/2772/250 +f 4273/2784/242 4259/2785/249 4274/2775/249 +f 4276/2786/241 4256/2787/245 4277/2780/245 +f 4269/2788/248 4263/2789/243 4270/2790/243 +f 4272/2774/244 4260/2791/242 4273/2784/242 +f 4275/2777/251 4257/2792/241 4276/2786/241 +f 4268/2779/247 4264/2793/248 4269/2788/248 +f 4302/2794/246 4289/2795/240 4291/2796/240 +f 4295/2797/250 4285/2798/244 4296/2799/244 +f 4298/2800/249 4282/2801/251 4299/2802/251 +f 4291/2796/240 4290/2803/247 4292/2804/247 +f 4301/2805/245 4279/2806/246 4302/2794/246 +f 4294/2807/243 4286/2808/250 4295/2797/250 +f 4297/2809/242 4283/2810/249 4298/2800/249 +f 4300/2811/241 4280/2812/245 4301/2805/245 +f 4293/2813/248 4287/2814/243 4294/2815/243 +f 4296/2799/244 4284/2816/242 4297/2809/242 +f 4299/2802/251 4281/2817/241 4300/2811/241 +f 4292/2804/247 4288/2818/248 4293/2813/248 +f 4326/2819/246 4313/2820/240 4315/2821/240 +f 4319/2822/250 4309/2823/244 4320/2824/244 +f 4322/2825/249 4306/2826/251 4323/2827/251 +f 4315/2821/240 4314/2828/247 4316/2829/247 +f 4325/2830/245 4303/2831/246 4326/2819/246 +f 4318/2832/243 4310/2833/250 4319/2822/250 +f 4321/2834/242 4307/2835/249 4322/2825/249 +f 4324/2836/241 4304/2837/245 4325/2830/245 +f 4317/2838/248 4311/2839/243 4318/2840/243 +f 4320/2824/244 4308/2841/242 4321/2834/242 +f 4323/2827/251 4305/2842/241 4324/2836/241 +f 4316/2829/247 4312/2843/248 4317/2838/248 +f 4486/2844/279 4471/2845/239 4478/2846/279 +f 4484/2847/290 4477/2848/242 4476/2849/290 +f 4482/2850/270 4475/2851/238 4474/2852/270 +f 4480/2853/291 4473/2854/240 4472/2855/291 +f 4485/2856/242 4478/2846/279 4477/2848/242 +f 4483/2857/238 4476/2849/290 4475/2858/238 +f 4481/2859/240 4474/2852/270 4473/2854/240 +f 4479/2860/239 4472/2855/291 4471/2845/239 +f 4498/2861/324 4491/2862/238 4490/2863/270 +f 4496/2864/325 4489/2865/240 4488/2866/291 +f 4501/2867/326 4494/2868/279 4493/2869/242 +f 4499/2870/271 4492/2871/290 4491/2872/238 +f 4497/2873/327 4490/2863/270 4489/2865/240 +f 4495/2874/328 4488/2866/291 4487/2875/239 +f 4502/2876/329 4487/2875/239 4494/2868/279 +f 4500/2877/330 4493/2869/242 4492/2871/290 +f 4501/2878/326 4509/2879/332 4502/2876/329 +f 4497/2880/327 4506/2881/333 4498/2882/324 +f 4495/2874/328 4504/2883/334 4496/2864/325 +f 4495/2874/328 4509/2879/332 4503/2884/267 +f 4501/2878/326 4507/2885/335 4508/2886/331 +f 4496/2864/325 4505/2887/336 4497/2880/327 +f 4504/2883/334 4512/2888/338 4505/2887/336 +f 4508/2886/331 4516/2889/339 4509/2879/332 +f 4506/2881/333 4512/2888/338 4513/2890/340 +f 4503/2884/267 4511/2891/337 4504/2883/334 +f 4503/2884/267 4516/2889/339 4510/2892/341 +f 4507/2885/335 4515/2893/342 4508/2886/331 +f 4499/2894/271 4507/2885/335 4500/2895/330 +f 4507/2885/335 4499/2894/271 4514/2896/343 +f 4498/2882/324 4506/2881/333 4499/2897/271 +f 4506/2881/333 4513/2890/340 4499/2897/271 +f 4515/2898/342 4524/2899/344 4516/2889/339 +f 4512/2900/338 4521/2901/345 4513/2902/340 +f 4510/2892/341 4519/2903/346 4511/2891/337 +f 4513/2902/340 4517/2904/347 4499/2905/271 +f 4516/2889/339 4518/2906/267 4510/2892/341 +f 4499/2907/271 4522/2908/348 4514/2909/343 +f 4514/2909/343 4523/2910/349 4515/2898/342 +f 4511/2891/337 4520/2911/350 4512/2900/338 +f 4517/2904/347 4528/2912/351 4525/2913/271 +f 4522/2908/348 4530/2914/352 4523/2915/349 +f 4520/2916/350 4526/2917/353 4527/2918/354 +f 4517/2919/347 4529/2920/355 4522/2908/348 +f 4523/2915/349 4531/2921/356 4524/2922/344 +f 4521/2901/345 4527/2918/354 4528/2912/351 +f 4529/2920/355 4532/2923/360 4536/2924/357 +f 4530/2914/352 4536/2924/357 4537/2925/358 +f 4526/2917/353 4534/2926/359 4527/2918/354 +f 4528/2912/351 4532/2927/360 4525/2913/271 +f 4531/2921/356 4537/2925/358 4538/2928/361 +f 4527/2918/354 4535/2929/362 4528/2912/351 +f 4524/2922/344 4531/2921/356 4518/2930/267 +f 4531/2921/356 4538/2928/361 4518/2930/267 +f 4518/2930/267 4526/2917/353 4519/2931/346 +f 4526/2917/353 4518/2930/267 4533/2932/363 +f 4536/2924/357 4545/2933/242 4537/2934/358 +f 4533/2935/363 4542/2936/240 4534/2937/359 +f 4518/2938/267 4541/2939/291 4533/2935/363 +f 4535/2929/362 4540/2940/238 4532/2927/360 +f 4538/2941/361 4539/2942/239 4518/2938/267 +f 4537/2934/358 4546/2943/279 4538/2941/361 +f 4534/2937/359 4543/2944/270 4535/2929/362 +f 4532/2923/360 4544/2945/290 4536/2924/357 +f 4558/2946/324 4551/2947/238 4550/2948/270 +f 4556/2949/325 4549/2950/240 4548/2951/291 +f 4561/2952/326 4554/2953/279 4553/2954/242 +f 4559/2955/271 4552/2956/290 4551/2957/238 +f 4557/2958/327 4550/2948/270 4549/2950/240 +f 4555/2959/328 4548/2951/291 4547/2960/239 +f 4562/2961/329 4547/2960/239 4554/2953/279 +f 4560/2962/330 4553/2954/242 4552/2956/290 +f 4561/2963/326 4569/2964/332 4562/2961/329 +f 4557/2965/327 4566/2966/333 4558/2967/324 +f 4555/2959/328 4564/2968/334 4556/2949/325 +f 4555/2959/328 4569/2964/332 4563/2969/267 +f 4561/2963/326 4567/2970/335 4568/2971/331 +f 4556/2949/325 4565/2972/336 4557/2965/327 +f 4565/2972/336 4571/2973/337 4572/2974/338 +f 4568/2971/331 4576/2975/339 4569/2964/332 +f 4566/2966/333 4572/2974/338 4573/2976/340 +f 4563/2969/267 4571/2973/337 4564/2968/334 +f 4563/2969/267 4576/2975/339 4570/2977/341 +f 4567/2970/335 4575/2978/342 4568/2971/331 +f 4559/2979/271 4567/2970/335 4560/2980/330 +f 4567/2970/335 4559/2979/271 4574/2981/343 +f 4558/2967/324 4566/2966/333 4559/2982/271 +f 4566/2966/333 4573/2976/340 4559/2982/271 +f 4575/2983/342 4584/2984/344 4576/2975/339 +f 4572/2985/338 4581/2986/345 4573/2987/340 +f 4570/2977/341 4579/2988/346 4571/2973/337 +f 4573/2987/340 4577/2989/347 4559/2990/271 +f 4576/2975/339 4578/2991/267 4570/2977/341 +f 4559/2992/271 4582/2993/348 4574/2994/343 +f 4574/2994/343 4583/2995/349 4575/2983/342 +f 4571/2973/337 4580/2996/350 4572/2985/338 +f 4577/2989/347 4588/2997/351 4585/2998/271 +f 4582/2993/348 4590/2999/352 4583/3000/349 +f 4580/3001/350 4586/3002/353 4587/3003/354 +f 4577/3004/347 4589/3005/355 4582/2993/348 +f 4583/3000/349 4591/3006/356 4584/3007/344 +f 4581/2986/345 4587/3003/354 4588/2997/351 +f 4589/3005/355 4592/3008/360 4596/3009/357 +f 4590/2999/352 4596/3009/357 4597/3010/358 +f 4586/3002/353 4594/3011/359 4587/3003/354 +f 4588/2997/351 4592/3012/360 4585/2998/271 +f 4591/3006/356 4597/3010/358 4598/3013/361 +f 4588/2997/351 4594/3011/359 4595/3014/362 +f 4584/3007/344 4591/3006/356 4578/3015/267 +f 4591/3006/356 4598/3013/361 4578/3015/267 +f 4578/3015/267 4586/3002/353 4579/3016/346 +f 4586/3002/353 4578/3015/267 4593/3017/363 +f 4596/3009/357 4605/3018/242 4597/3019/358 +f 4593/3020/363 4602/3021/240 4594/3022/359 +f 4578/3023/267 4601/3024/291 4593/3020/363 +f 4595/3014/362 4600/3025/238 4592/3012/360 +f 4598/3026/361 4599/3027/239 4578/3023/267 +f 4597/3019/358 4606/3028/279 4598/3026/361 +f 4594/3022/359 4603/3029/270 4595/3014/362 +f 4592/3008/360 4604/3030/290 4596/3009/357 +f 4618/3031/324 4611/3032/238 4610/3033/270 +f 4616/3034/325 4609/3035/240 4608/3036/291 +f 4621/3037/326 4614/3038/279 4613/3039/242 +f 4619/3040/271 4612/3041/290 4611/3042/238 +f 4617/3043/327 4610/3033/270 4609/3035/240 +f 4615/3044/328 4608/3036/291 4607/3045/239 +f 4622/3046/329 4607/3045/239 4614/3038/279 +f 4620/3047/330 4613/3039/242 4612/3041/290 +f 4622/3046/329 4628/3048/331 4629/3049/332 +f 4617/3050/327 4626/3051/333 4618/3052/324 +f 4615/3044/328 4624/3053/334 4616/3034/325 +f 4622/3046/329 4623/3054/267 4615/3044/328 +f 4621/3055/326 4627/3056/335 4628/3048/331 +f 4616/3034/325 4625/3057/336 4617/3050/327 +f 4625/3057/336 4631/3058/337 4632/3059/338 +f 4628/3048/331 4636/3060/339 4629/3049/332 +f 4626/3051/333 4632/3059/338 4633/3061/340 +f 4623/3054/267 4631/3058/337 4624/3053/334 +f 4623/3054/267 4636/3060/339 4630/3062/341 +f 4627/3056/335 4635/3063/342 4628/3048/331 +f 4619/3064/271 4627/3056/335 4620/3065/330 +f 4627/3056/335 4619/3064/271 4634/3066/343 +f 4618/3052/324 4626/3051/333 4619/3067/271 +f 4626/3051/333 4633/3061/340 4619/3067/271 +f 4635/3068/342 4644/3069/344 4636/3060/339 +f 4632/3070/338 4641/3071/345 4633/3072/340 +f 4630/3062/341 4639/3073/346 4631/3058/337 +f 4633/3072/340 4637/3074/347 4619/3075/271 +f 4636/3060/339 4638/3076/267 4630/3062/341 +f 4619/3077/271 4642/3078/348 4634/3079/343 +f 4634/3079/343 4643/3080/349 4635/3068/342 +f 4631/3058/337 4640/3081/350 4632/3070/338 +f 4637/3074/347 4648/3082/351 4645/3083/271 +f 4642/3078/348 4650/3084/352 4643/3085/349 +f 4640/3086/350 4646/3087/353 4647/3088/354 +f 4637/3089/347 4649/3090/355 4642/3078/348 +f 4643/3085/349 4651/3091/356 4644/3092/344 +f 4641/3071/345 4647/3088/354 4648/3082/351 +f 4649/3090/355 4652/3093/360 4656/3094/357 +f 4650/3084/352 4656/3094/357 4657/3095/358 +f 4646/3087/353 4654/3096/359 4647/3088/354 +f 4648/3082/351 4652/3097/360 4645/3083/271 +f 4651/3091/356 4657/3095/358 4658/3098/361 +f 4647/3088/354 4655/3099/362 4648/3082/351 +f 4644/3092/344 4651/3091/356 4638/3100/267 +f 4651/3091/356 4658/3098/361 4638/3100/267 +f 4638/3100/267 4646/3087/353 4639/3101/346 +f 4646/3087/353 4638/3100/267 4653/3102/363 +f 4656/3094/357 4665/3103/242 4657/3104/358 +f 4653/3105/363 4662/3106/240 4654/3107/359 +f 4638/3108/267 4661/3109/291 4653/3105/363 +f 4655/3099/362 4660/3110/238 4652/3097/360 +f 4658/3111/361 4659/3112/239 4638/3108/267 +f 4657/3104/358 4666/3113/279 4658/3111/361 +f 4654/3107/359 4663/3114/270 4655/3099/362 +f 4652/3093/360 4664/3115/290 4656/3094/357 +f 4678/3116/324 4671/3117/238 4670/3118/270 +f 4676/3119/325 4669/3120/240 4668/3121/291 +f 4681/3122/326 4674/3123/279 4673/3124/242 +f 4679/3125/271 4672/3126/290 4671/3127/238 +f 4677/3128/327 4670/3118/270 4669/3120/240 +f 4675/3129/328 4668/3121/291 4667/3130/239 +f 4682/3131/329 4667/3130/239 4674/3123/279 +f 4680/3132/330 4673/3124/242 4672/3126/290 +f 4681/3133/326 4689/3134/332 4682/3131/329 +f 4677/3135/327 4686/3136/333 4678/3137/324 +f 4676/3119/325 4683/3138/267 4684/3139/334 +f 4682/3131/329 4683/3138/267 4675/3129/328 +f 4681/3133/326 4687/3140/335 4688/3141/331 +f 4676/3119/325 4685/3142/336 4677/3135/327 +f 4685/3142/336 4691/3143/337 4692/3144/338 +f 4688/3141/331 4696/3145/339 4689/3134/332 +f 4686/3136/333 4692/3144/338 4693/3146/340 +f 4683/3138/267 4691/3143/337 4684/3139/334 +f 4683/3138/267 4696/3145/339 4690/3147/341 +f 4687/3140/335 4695/3148/342 4688/3141/331 +f 4679/3149/271 4687/3140/335 4680/3150/330 +f 4687/3140/335 4679/3149/271 4694/3151/343 +f 4678/3137/324 4686/3136/333 4679/3152/271 +f 4686/3136/333 4693/3146/340 4679/3152/271 +f 4695/3153/342 4704/3154/344 4696/3145/339 +f 4692/3155/338 4701/3156/345 4693/3157/340 +f 4690/3147/341 4699/3158/346 4691/3143/337 +f 4693/3157/340 4697/3159/347 4679/3160/271 +f 4696/3145/339 4698/3161/267 4690/3147/341 +f 4679/3162/271 4702/3163/348 4694/3164/343 +f 4694/3164/343 4703/3165/349 4695/3153/342 +f 4691/3143/337 4700/3166/350 4692/3155/338 +f 4697/3159/347 4708/3167/351 4705/3168/271 +f 4702/3163/348 4710/3169/352 4703/3170/349 +f 4700/3171/350 4706/3172/353 4707/3173/354 +f 4697/3174/347 4709/3175/355 4702/3163/348 +f 4703/3170/349 4711/3176/356 4704/3177/344 +f 4701/3156/345 4707/3173/354 4708/3167/351 +f 4709/3175/355 4712/3178/360 4716/3179/357 +f 4710/3169/352 4716/3179/357 4717/3180/358 +f 4706/3172/353 4714/3181/359 4707/3173/354 +f 4708/3167/351 4712/3182/360 4705/3168/271 +f 4711/3176/356 4717/3180/358 4718/3183/361 +f 4708/3167/351 4714/3181/359 4715/3184/362 +f 4704/3177/344 4711/3176/356 4698/3185/267 +f 4711/3176/356 4718/3183/361 4698/3185/267 +f 4698/3185/267 4706/3172/353 4699/3186/346 +f 4706/3172/353 4698/3185/267 4713/3187/363 +f 4716/3179/357 4725/3188/242 4717/3189/358 +f 4713/3190/363 4722/3191/240 4714/3192/359 +f 4698/3193/267 4721/3194/291 4713/3190/363 +f 4715/3184/362 4720/3195/238 4712/3182/360 +f 4718/3196/361 4719/3197/239 4698/3193/267 +f 4717/3189/358 4726/3198/279 4718/3196/361 +f 4714/3192/359 4723/3199/270 4715/3184/362 +f 4712/3178/360 4724/3200/290 4716/3179/357 +f 4738/3201/384 4731/3202/238 4730/3203/290 +f 4736/3204/385 4729/3205/242 4728/3206/279 +f 4741/3207/386 4734/3208/291 4733/3209/240 +f 4739/3210/265 4732/3211/270 4731/3212/238 +f 4737/3213/387 4730/3203/290 4729/3205/242 +f 4735/3214/388 4728/3206/279 4727/3215/239 +f 4742/3216/389 4727/3215/239 4734/3208/291 +f 4740/3217/390 4733/3209/240 4732/3211/270 +f 4742/3216/389 4748/3218/391 4749/3219/392 +f 4738/3220/384 4745/3221/393 4746/3222/394 +f 4735/3214/388 4744/3223/395 4736/3204/385 +f 4735/3214/388 4749/3219/392 4743/3224/269 +f 4740/3225/390 4748/3218/391 4741/3226/386 +f 4737/3227/387 4744/3223/395 4745/3221/393 +f 4745/3221/393 4751/3228/396 4752/3229/397 +f 4748/3218/391 4756/3230/398 4749/3219/392 +f 4746/3222/394 4752/3229/397 4753/3231/399 +f 4743/3224/269 4751/3228/396 4744/3223/395 +f 4743/3224/269 4756/3230/398 4750/3232/400 +f 4747/3233/401 4755/3234/402 4748/3218/391 +f 4739/3235/265 4747/3233/401 4740/3225/390 +f 4747/3233/401 4739/3235/265 4754/3236/403 +f 4738/3220/384 4746/3222/394 4739/3237/265 +f 4746/3222/394 4753/3231/399 4739/3237/265 +f 4755/3238/402 4764/3239/404 4756/3230/398 +f 4752/3240/397 4761/3241/405 4753/3242/399 +f 4750/3232/400 4759/3243/406 4751/3228/396 +f 4753/3242/399 4757/3244/407 4739/3245/265 +f 4756/3230/398 4758/3246/269 4750/3232/400 +f 4739/3247/265 4762/3248/408 4754/3249/403 +f 4754/3249/403 4763/3250/409 4755/3238/402 +f 4751/3228/396 4760/3251/410 4752/3240/397 +f 4757/3244/407 4768/3252/411 4765/3253/265 +f 4762/3248/408 4770/3254/412 4763/3255/409 +f 4760/3256/410 4766/3257/413 4767/3258/414 +f 4757/3259/407 4769/3260/415 4762/3248/408 +f 4763/3255/409 4771/3261/416 4764/3262/404 +f 4761/3241/405 4767/3258/414 4768/3252/411 +f 4769/3260/415 4772/3263/417 4776/3264/418 +f 4770/3254/412 4776/3264/418 4777/3265/419 +f 4766/3257/413 4774/3266/420 4767/3258/414 +f 4768/3252/411 4772/3267/417 4765/3253/265 +f 4771/3261/416 4777/3265/419 4778/3268/421 +f 4767/3258/414 4775/3269/422 4768/3252/411 +f 4764/3262/404 4771/3261/416 4758/3270/269 +f 4771/3261/416 4778/3268/421 4758/3270/269 +f 4758/3270/269 4766/3257/413 4759/3271/406 +f 4766/3257/413 4758/3270/269 4773/3272/423 +f 4776/3264/418 4785/3273/240 4777/3274/419 +f 4774/3275/420 4781/3276/279 4782/3277/242 +f 4758/3278/269 4781/3276/279 4773/3279/423 +f 4775/3269/422 4780/3280/238 4772/3267/417 +f 4778/3281/421 4779/3282/239 4758/3278/269 +f 4777/3274/419 4786/3283/291 4778/3281/421 +f 4774/3275/420 4783/3284/290 4775/3269/422 +f 4772/3263/417 4784/3285/270 4776/3264/418 +f 4798/3286/384 4791/3287/238 4790/3288/290 +f 4796/3289/385 4789/3290/242 4788/3291/279 +f 4801/3292/386 4794/3293/291 4793/3294/240 +f 4799/3295/265 4792/3296/270 4791/3297/238 +f 4797/3298/387 4790/3288/290 4789/3290/242 +f 4795/3299/388 4788/3291/279 4787/3300/239 +f 4802/3301/389 4787/3300/239 4794/3293/291 +f 4800/3302/390 4793/3294/240 4792/3296/270 +f 4802/3301/389 4808/3303/391 4809/3304/392 +f 4797/3305/387 4806/3306/394 4798/3307/384 +f 4795/3299/388 4804/3308/395 4796/3289/385 +f 4795/3299/388 4809/3304/392 4803/3309/269 +f 4801/3310/386 4807/3311/401 4808/3303/391 +f 4796/3289/385 4805/3312/393 4797/3305/387 +f 4805/3312/393 4811/3313/396 4812/3314/397 +f 4808/3303/391 4816/3315/398 4809/3304/392 +f 4806/3306/394 4812/3314/397 4813/3316/399 +f 4803/3309/269 4811/3313/396 4804/3308/395 +f 4803/3309/269 4816/3315/398 4810/3317/400 +f 4807/3311/401 4815/3318/402 4808/3303/391 +f 4799/3319/265 4807/3311/401 4800/3320/390 +f 4807/3311/401 4799/3319/265 4814/3321/403 +f 4798/3307/384 4806/3306/394 4799/3322/265 +f 4806/3306/394 4813/3316/399 4799/3322/265 +f 4815/3323/402 4824/3324/404 4816/3315/398 +f 4812/3325/397 4821/3326/405 4813/3327/399 +f 4810/3317/400 4819/3328/406 4811/3313/396 +f 4813/3327/399 4817/3329/407 4799/3330/265 +f 4816/3315/398 4818/3331/269 4810/3317/400 +f 4799/3332/265 4822/3333/408 4814/3334/403 +f 4814/3334/403 4823/3335/409 4815/3323/402 +f 4811/3313/396 4820/3336/410 4812/3325/397 +f 4821/3326/405 4825/3337/265 4817/3329/407 +f 4822/3333/408 4830/3338/412 4823/3339/409 +f 4820/3340/410 4826/3341/413 4827/3342/414 +f 4817/3343/407 4829/3344/415 4822/3333/408 +f 4823/3339/409 4831/3345/416 4824/3346/404 +f 4821/3326/405 4827/3342/414 4828/3347/411 +f 4829/3344/415 4832/3348/417 4836/3349/418 +f 4830/3338/412 4836/3349/418 4837/3350/419 +f 4826/3341/413 4834/3351/420 4827/3342/414 +f 4828/3347/411 4832/3352/417 4825/3337/265 +f 4831/3345/416 4837/3350/419 4838/3353/421 +f 4827/3342/414 4835/3354/422 4828/3347/411 +f 4824/3346/404 4831/3345/416 4818/3355/269 +f 4831/3345/416 4838/3353/421 4818/3355/269 +f 4818/3355/269 4826/3341/413 4819/3356/406 +f 4826/3341/413 4818/3355/269 4833/3357/423 +f 4836/3349/418 4845/3358/240 4837/3359/419 +f 4833/3360/423 4842/3361/242 4834/3362/420 +f 4818/3363/269 4841/3364/279 4833/3360/423 +f 4835/3354/422 4840/3365/238 4832/3352/417 +f 4838/3366/421 4839/3367/239 4818/3363/269 +f 4837/3359/419 4846/3368/291 4838/3366/421 +f 4834/3362/420 4843/3369/290 4835/3354/422 +f 4832/3348/417 4844/3370/270 4836/3349/418 +f 4858/3371/384 4851/3372/238 4850/3373/290 +f 4856/3374/385 4849/3375/242 4848/3376/279 +f 4861/3377/386 4854/3378/291 4853/3379/240 +f 4859/3380/265 4852/3381/270 4851/3382/238 +f 4857/3383/387 4850/3373/290 4849/3375/242 +f 4855/3384/388 4848/3376/279 4847/3385/239 +f 4862/3386/389 4847/3385/239 4854/3378/291 +f 4860/3387/390 4853/3379/240 4852/3381/270 +f 4862/3386/389 4868/3388/391 4869/3389/392 +f 4857/3390/387 4866/3391/394 4858/3392/384 +f 4855/3384/388 4864/3393/395 4856/3374/385 +f 4855/3384/388 4869/3389/392 4863/3394/269 +f 4861/3395/386 4867/3396/401 4868/3388/391 +f 4856/3374/385 4865/3397/393 4857/3390/387 +f 4864/3393/395 4872/3398/397 4865/3397/393 +f 4868/3388/391 4876/3399/398 4869/3389/392 +f 4866/3391/394 4872/3398/397 4873/3400/399 +f 4863/3394/269 4871/3401/396 4864/3393/395 +f 4863/3394/269 4876/3399/398 4870/3402/400 +f 4867/3396/401 4875/3403/402 4868/3388/391 +f 4859/3404/265 4867/3396/401 4860/3405/390 +f 4867/3396/401 4859/3404/265 4874/3406/403 +f 4858/3392/384 4866/3391/394 4859/3407/265 +f 4866/3391/394 4873/3400/399 4859/3407/265 +f 4875/3408/402 4884/3409/404 4876/3399/398 +f 4872/3410/397 4881/3411/405 4873/3412/399 +f 4870/3402/400 4879/3413/406 4871/3401/396 +f 4873/3412/399 4877/3414/407 4859/3415/265 +f 4876/3399/398 4878/3416/269 4870/3402/400 +f 4859/3417/265 4882/3418/408 4874/3419/403 +f 4874/3419/403 4883/3420/409 4875/3408/402 +f 4871/3401/396 4880/3421/410 4872/3410/397 +f 4877/3414/407 4888/3422/411 4885/3423/265 +f 4882/3418/408 4890/3424/412 4883/3425/409 +f 4880/3426/410 4886/3427/413 4887/3428/414 +f 4877/3429/407 4889/3430/415 4882/3418/408 +f 4883/3425/409 4891/3431/416 4884/3432/404 +f 4881/3411/405 4887/3428/414 4888/3422/411 +f 4889/3430/415 4892/3433/417 4896/3434/418 +f 4890/3424/412 4896/3434/418 4897/3435/419 +f 4886/3427/413 4894/3436/420 4887/3428/414 +f 4888/3422/411 4892/3437/417 4885/3423/265 +f 4891/3431/416 4897/3435/419 4898/3438/421 +f 4887/3428/414 4895/3439/422 4888/3422/411 +f 4884/3432/404 4891/3431/416 4878/3440/269 +f 4891/3431/416 4898/3438/421 4878/3440/269 +f 4878/3440/269 4886/3427/413 4879/3441/406 +f 4886/3427/413 4878/3440/269 4893/3442/423 +f 4896/3434/418 4905/3443/240 4897/3444/419 +f 4893/3445/423 4902/3446/242 4894/3447/420 +f 4878/3448/269 4901/3449/279 4893/3445/423 +f 4895/3439/422 4900/3450/238 4892/3437/417 +f 4898/3451/421 4899/3452/239 4878/3448/269 +f 4897/3444/419 4906/3453/291 4898/3451/421 +f 4894/3447/420 4903/3454/290 4895/3439/422 +f 4892/3433/417 4904/3455/270 4896/3434/418 +f 4910/3456/290 4919/3457/265 4911/3458/238 +f 4916/3459/385 4909/3460/242 4908/3461/279 +f 4921/3462/386 4914/3463/291 4913/3464/240 +f 4919/3465/265 4912/3466/270 4911/3467/238 +f 4917/3468/387 4910/3456/290 4909/3460/242 +f 4915/3469/388 4908/3461/279 4907/3470/239 +f 4922/3471/389 4907/3470/239 4914/3463/291 +f 4920/3472/390 4913/3464/240 4912/3466/270 +f 4921/3473/386 4929/3474/392 4922/3471/389 +f 4917/3475/387 4926/3476/394 4918/3477/384 +f 4915/3469/388 4924/3478/395 4916/3459/385 +f 4915/3469/388 4929/3474/392 4923/3479/269 +f 4921/3473/386 4927/3480/401 4928/3481/391 +f 4916/3459/385 4925/3482/393 4917/3475/387 +f 4925/3482/393 4931/3483/396 4932/3484/397 +f 4928/3481/391 4936/3485/398 4929/3474/392 +f 4926/3476/394 4932/3484/397 4933/3486/399 +f 4923/3479/269 4931/3483/396 4924/3478/395 +f 4923/3479/269 4936/3485/398 4930/3487/400 +f 4927/3480/401 4935/3488/402 4928/3481/391 +f 4919/3489/265 4927/3480/401 4920/3490/390 +f 4927/3480/401 4919/3489/265 4934/3491/403 +f 4918/3477/384 4926/3476/394 4919/3492/265 +f 4926/3476/394 4933/3486/399 4919/3492/265 +f 4935/3493/402 4944/3494/404 4936/3485/398 +f 4932/3495/397 4941/3496/405 4933/3497/399 +f 4930/3487/400 4939/3498/406 4931/3483/396 +f 4933/3497/399 4937/3499/407 4919/3500/265 +f 4936/3485/398 4938/3501/269 4930/3487/400 +f 4919/3502/265 4942/3503/408 4934/3504/403 +f 4934/3504/403 4943/3505/409 4935/3493/402 +f 4931/3483/396 4940/3506/410 4932/3495/397 +f 4937/3499/407 4948/3507/411 4945/3508/265 +f 4942/3503/408 4950/3509/412 4943/3510/409 +f 4940/3511/410 4946/3512/413 4947/3513/414 +f 4937/3514/407 4949/3515/415 4942/3503/408 +f 4943/3510/409 4951/3516/416 4944/3517/404 +f 4941/3496/405 4947/3513/414 4948/3507/411 +f 4949/3515/415 4952/3518/417 4956/3519/418 +f 4950/3509/412 4956/3519/418 4957/3520/419 +f 4946/3512/413 4954/3521/420 4947/3513/414 +f 4945/3508/265 4955/3522/422 4952/3523/417 +f 4951/3516/416 4957/3520/419 4958/3524/421 +f 4947/3513/414 4955/3522/422 4948/3507/411 +f 4944/3517/404 4951/3516/416 4938/3525/269 +f 4951/3516/416 4958/3524/421 4938/3525/269 +f 4938/3525/269 4946/3512/413 4939/3526/406 +f 4946/3512/413 4938/3525/269 4953/3527/423 +f 4956/3519/418 4965/3528/240 4957/3529/419 +f 4954/3530/420 4961/3531/279 4962/3532/242 +f 4953/3533/423 4959/3534/239 4961/3531/279 +f 4955/3522/422 4960/3535/238 4952/3523/417 +f 4938/3536/269 4966/3537/291 4959/3534/239 +f 4958/3538/421 4965/3528/240 4966/3537/291 +f 4954/3530/420 4963/3539/290 4955/3522/422 +f 4952/3518/417 4964/3540/270 4956/3519/418 +f 4978/3541/384 4971/3542/238 4970/3543/290 +f 4976/3544/385 4969/3545/242 4968/3546/279 +f 4981/3547/386 4974/3548/291 4973/3549/240 +f 4979/3550/265 4972/3551/270 4971/3552/238 +f 4977/3553/387 4970/3543/290 4969/3545/242 +f 4975/3554/388 4968/3546/279 4967/3555/239 +f 4982/3556/389 4967/3555/239 4974/3548/291 +f 4980/3557/390 4973/3549/240 4972/3551/270 +f 4982/3556/389 4988/3558/391 4989/3559/392 +f 4977/3560/387 4986/3561/394 4978/3562/384 +f 4975/3554/388 4984/3563/395 4976/3544/385 +f 4982/3556/389 4983/3564/269 4975/3554/388 +f 4981/3565/386 4987/3566/401 4988/3558/391 +f 4976/3544/385 4985/3567/393 4977/3560/387 +f 4985/3567/393 4991/3568/396 4992/3569/397 +f 4988/3558/391 4996/3570/398 4989/3559/392 +f 4986/3561/394 4992/3569/397 4993/3571/399 +f 4983/3564/269 4991/3568/396 4984/3563/395 +f 4983/3564/269 4996/3570/398 4990/3572/400 +f 4987/3566/401 4995/3573/402 4988/3558/391 +f 4979/3574/265 4987/3566/401 4980/3575/390 +f 4987/3566/401 4979/3574/265 4994/3576/403 +f 4978/3562/384 4986/3561/394 4979/3577/265 +f 4986/3561/394 4993/3571/399 4979/3577/265 +f 4995/3578/402 5004/3579/404 4996/3570/398 +f 4992/3580/397 5001/3581/405 4993/3582/399 +f 4990/3572/400 4999/3583/406 4991/3568/396 +f 4993/3582/399 4997/3584/407 4979/3585/265 +f 4996/3570/398 4998/3586/269 4990/3572/400 +f 4979/3587/265 5002/3588/408 4994/3589/403 +f 4994/3589/403 5003/3590/409 4995/3578/402 +f 4991/3568/396 5000/3591/410 4992/3580/397 +f 4997/3584/407 5008/3592/411 5005/3593/265 +f 5002/3588/408 5010/3594/412 5003/3595/409 +f 5000/3596/410 5006/3597/413 5007/3598/414 +f 4997/3599/407 5009/3600/415 5002/3588/408 +f 5003/3595/409 5011/3601/416 5004/3602/404 +f 5001/3581/405 5007/3598/414 5008/3592/411 +f 5009/3600/415 5012/3603/417 5016/3604/418 +f 5010/3594/412 5016/3604/418 5017/3605/419 +f 5006/3597/413 5014/3606/420 5007/3598/414 +f 5008/3592/411 5012/3607/417 5005/3593/265 +f 5011/3601/416 5017/3605/419 5018/3608/421 +f 5007/3598/414 5015/3609/422 5008/3592/411 +f 5004/3602/404 5011/3601/416 4998/3610/269 +f 5011/3601/416 5018/3608/421 4998/3610/269 +f 4998/3610/269 5006/3597/413 4999/3611/406 +f 5006/3597/413 4998/3610/269 5013/3612/423 +f 5016/3604/418 5025/3613/240 5017/3614/419 +f 5013/3615/423 5022/3616/242 5014/3617/420 +f 4998/3618/269 5021/3619/279 5013/3615/423 +f 5015/3609/422 5020/3620/238 5012/3607/417 +f 5018/3621/421 5019/3622/239 4998/3618/269 +f 5017/3614/419 5026/3623/291 5018/3621/421 +f 5014/3617/420 5023/3624/290 5015/3609/422 +f 5012/3603/417 5024/3625/270 5016/3604/418 +f 5038/3626/384 5031/3627/238 5030/3628/290 +f 5036/3629/385 5029/3630/242 5028/3631/279 +f 5041/3632/386 5034/3633/291 5033/3634/240 +f 5039/3635/265 5032/3636/270 5031/3637/238 +f 5037/3638/387 5030/3628/290 5029/3630/242 +f 5035/3639/388 5028/3631/279 5027/3640/239 +f 5042/3641/389 5027/3640/239 5034/3633/291 +f 5040/3642/390 5033/3634/240 5032/3636/270 +f 5041/3643/386 5049/3644/392 5042/3641/389 +f 5037/3645/387 5046/3646/394 5038/3647/384 +f 5036/3629/385 5043/3648/269 5044/3649/395 +f 5042/3641/389 5043/3648/269 5035/3639/388 +f 5041/3643/386 5047/3650/401 5048/3651/391 +f 5036/3629/385 5045/3652/393 5037/3645/387 +f 5045/3652/393 5051/3653/396 5052/3654/397 +f 5048/3651/391 5056/3655/398 5049/3644/392 +f 5046/3646/394 5052/3654/397 5053/3656/399 +f 5043/3648/269 5051/3653/396 5044/3649/395 +f 5043/3648/269 5056/3655/398 5050/3657/400 +f 5047/3650/401 5055/3658/402 5048/3651/391 +f 5039/3659/265 5047/3650/401 5040/3660/390 +f 5047/3650/401 5039/3659/265 5054/3661/403 +f 5038/3647/384 5046/3646/394 5039/3662/265 +f 5046/3646/394 5053/3656/399 5039/3662/265 +f 5055/3663/402 5064/3664/404 5056/3655/398 +f 5052/3665/397 5061/3666/405 5053/3667/399 +f 5050/3657/400 5059/3668/406 5051/3653/396 +f 5053/3667/399 5057/3669/407 5039/3670/265 +f 5056/3655/398 5058/3671/269 5050/3657/400 +f 5039/3672/265 5062/3673/408 5054/3674/403 +f 5054/3674/403 5063/3675/409 5055/3663/402 +f 5051/3653/396 5060/3676/410 5052/3665/397 +f 5057/3669/407 5068/3677/411 5065/3678/265 +f 5062/3673/408 5070/3679/412 5063/3680/409 +f 5060/3681/410 5066/3682/413 5067/3683/414 +f 5057/3684/407 5069/3685/415 5062/3673/408 +f 5063/3680/409 5071/3686/416 5064/3687/404 +f 5061/3666/405 5067/3683/414 5068/3677/411 +f 5069/3685/415 5072/3688/417 5076/3689/418 +f 5070/3679/412 5076/3689/418 5077/3690/419 +f 5066/3682/413 5074/3691/420 5067/3683/414 +f 5068/3677/411 5072/3692/417 5065/3678/265 +f 5071/3686/416 5077/3690/419 5078/3693/421 +f 5068/3677/411 5074/3691/420 5075/3694/422 +f 5064/3687/404 5071/3686/416 5058/3695/269 +f 5071/3686/416 5078/3693/421 5058/3695/269 +f 5058/3695/269 5066/3682/413 5059/3696/406 +f 5066/3682/413 5058/3695/269 5073/3697/423 +f 5076/3689/418 5085/3698/240 5077/3699/419 +f 5073/3700/423 5082/3701/242 5074/3702/420 +f 5058/3703/269 5081/3704/279 5073/3700/423 +f 5075/3694/422 5080/3705/238 5072/3692/417 +f 5078/3706/421 5079/3707/239 5058/3703/269 +f 5077/3699/419 5086/3708/291 5078/3706/421 +f 5074/3702/420 5083/3709/290 5075/3694/422 +f 5072/3688/417 5084/3710/270 5076/3689/418 +f 5404/3711/239 5395/3712/291 5396/3713/239 +f 5402/3714/240 5393/3715/270 5394/3716/240 +f 5400/3717/238 5391/3718/290 5392/3719/238 +f 5406/3720/242 5397/3721/279 5398/3722/242 +f 5405/3723/279 5396/3713/239 5397/3721/279 +f 5403/3724/291 5394/3716/240 5395/3712/291 +f 5401/3725/270 5392/3726/238 5393/3715/270 +f 5399/3727/290 5398/3722/242 5391/3718/290 +f 5420/3728/239 5411/3729/291 5412/3730/239 +f 5418/3731/240 5409/3732/270 5410/3733/240 +f 5416/3734/238 5407/3735/290 5408/3736/238 +f 5422/3737/242 5413/3738/279 5414/3739/242 +f 5421/3740/279 5412/3730/239 5413/3738/279 +f 5419/3741/291 5410/3733/240 5411/3729/291 +f 5417/3742/270 5408/3743/238 5409/3732/270 +f 5415/3744/290 5414/3739/242 5407/3735/290 +f 5436/3745/239 5427/3746/291 5428/3747/239 +f 5434/3748/240 5425/3749/270 5426/3750/240 +f 5432/3751/238 5423/3752/290 5424/3753/238 +f 5438/3754/242 5429/3755/279 5430/3756/242 +f 5437/3757/279 5428/3747/239 5429/3755/279 +f 5435/3758/291 5426/3750/240 5427/3746/291 +f 5433/3759/270 5424/3760/238 5425/3749/270 +f 5431/3761/290 5430/3756/242 5423/3752/290 +f 5452/3762/239 5443/3763/291 5444/3764/239 +f 5450/3765/240 5441/3766/270 5442/3767/240 +f 5448/3768/238 5439/3769/290 5440/3770/238 +f 5454/3771/242 5445/3772/279 5446/3773/242 +f 5453/3774/279 5444/3764/239 5445/3772/279 +f 5451/3775/291 5442/3767/240 5443/3763/291 +f 5449/3776/270 5440/3777/238 5441/3766/270 +f 5447/3778/290 5446/3773/242 5439/3769/290 +f 5468/3779/239 5459/3780/291 5460/3781/239 +f 5466/3782/240 5457/3783/270 5458/3784/240 +f 5464/3785/238 5455/3786/290 5456/3787/238 +f 5470/3788/242 5461/3789/279 5462/3790/242 +f 5469/3791/279 5460/3781/239 5461/3789/279 +f 5467/3792/291 5458/3784/240 5459/3780/291 +f 5465/3793/270 5456/3794/238 5457/3783/270 +f 5463/3795/290 5462/3790/242 5455/3786/290 +f 5484/3796/239 5475/3797/291 5476/3798/239 +f 5482/3799/240 5473/3800/270 5474/3801/240 +f 5480/3802/238 5471/3803/290 5472/3804/238 +f 5486/3805/242 5477/3806/279 5478/3807/242 +f 5485/3808/279 5476/3798/239 5477/3806/279 +f 5483/3809/291 5474/3801/240 5475/3797/291 +f 5481/3810/270 5472/3811/238 5473/3800/270 +f 5479/3812/290 5478/3807/242 5471/3803/290 +f 5500/3813/239 5491/3814/291 5492/3815/239 +f 5498/3816/240 5489/3817/270 5490/3818/240 +f 5496/3819/238 5487/3820/290 5488/3821/238 +f 5502/3822/242 5493/3823/279 5494/3824/242 +f 5501/3825/279 5492/3815/239 5493/3823/279 +f 5499/3826/291 5490/3818/240 5491/3814/291 +f 5497/3827/270 5488/3828/238 5489/3817/270 +f 5495/3829/290 5494/3824/242 5487/3820/290 +f 5516/3830/239 5507/3831/291 5508/3832/239 +f 5514/3833/240 5505/3834/270 5506/3835/240 +f 5512/3836/238 5503/3837/290 5504/3838/238 +f 5518/3839/242 5509/3840/279 5510/3841/242 +f 5517/3842/279 5508/3832/239 5509/3840/279 +f 5515/3843/291 5506/3835/240 5507/3831/291 +f 5513/3844/270 5504/3845/238 5505/3834/270 +f 5511/3846/290 5510/3841/242 5503/3837/290 +f 5532/3847/239 5523/3848/291 5524/3849/239 +f 5530/3850/240 5521/3851/270 5522/3852/240 +f 5528/3853/238 5519/3854/290 5520/3855/238 +f 5534/3856/242 5525/3857/279 5526/3858/242 +f 5533/3859/279 5524/3849/239 5525/3857/279 +f 5531/3860/291 5522/3852/240 5523/3848/291 +f 5529/3861/270 5520/3862/238 5521/3851/270 +f 5527/3863/290 5526/3858/242 5519/3854/290 +f 3667/1611/244 3143/1623/244 3153/1612/242 +f 3660/1614/245 3150/1625/245 3149/1615/246 +f 3663/1617/247 3147/1627/247 3146/1618/248 +f 3656/1613/242 3153/1612/242 3154/1620/249 +f 3666/1622/250 3144/1629/250 3143/1623/244 +f 3659/1624/241 3151/3864/241 3150/1625/245 +f 3662/1626/240 3148/1633/240 3147/1627/247 +f 3665/1628/243 3145/1634/243 3144/1629/250 +f 3658/1630/251 3152/1635/251 3151/1631/241 +f 3661/1616/246 3149/1615/246 3148/1633/240 +f 3664/1619/248 3146/1618/248 3145/1634/243 +f 3657/1621/249 3154/1620/249 3152/1635/251 +f 3206/1636/252 3238/471/252 3237/469/253 +f 3199/1638/241 3231/456/241 3230/453/254 +f 3207/1640/243 3239/473/243 3238/471/252 +f 3200/1641/255 3232/457/255 3231/456/241 +f 3208/1642/256 3240/474/256 3239/473/243 +f 3201/1643/257 3233/459/257 3232/457/255 +f 3209/1644/258 3241/476/258 3240/474/256 +f 3202/1645/259 3234/462/259 3233/459/257 +f 3210/1646/260 3242/479/260 3241/476/258 +f 3203/1647/240 3235/464/240 3234/462/259 +f 3196/1648/261 3227/450/261 3228/449/242 +f 3195/1649/242 3228/449/242 3242/479/260 +f 3204/1650/262 3236/467/262 3235/466/240 +f 3197/1652/263 3229/452/263 3227/450/261 +f 3205/1637/253 3237/469/253 3236/467/262 +f 3198/1639/254 3230/453/254 3229/452/263 +f 3212/448/262 3243/1656/262 3244/1653/240 +f 3211/480/240 3244/1653/240 3258/1654/259 +f 3220/465/261 3252/1657/261 3251/1655/242 +f 3213/451/253 3245/1658/253 3243/1656/262 +f 3221/468/263 3253/1659/263 3252/1657/261 +f 3214/454/252 3246/1660/252 3245/1658/253 +f 3222/470/254 3254/1661/254 3253/1659/263 +f 3215/455/243 3247/1663/243 3246/1660/252 +f 3223/472/241 3255/1664/241 3254/1661/254 +f 3215/455/243 3216/458/256 3248/1662/256 +f 3224/475/255 3256/1666/255 3255/1664/241 +f 3216/458/256 3217/460/258 3249/1665/258 +f 3225/477/257 3257/1667/257 3256/1666/255 +f 3218/461/260 3250/1668/260 3249/1665/258 +f 3226/478/259 3258/1654/259 3257/1667/257 +f 3219/463/242 3251/3865/242 3250/1668/260 +f 3309/1669/240 4087/569/240 4086/567/259 +f 3302/1671/260 4094/584/260 4093/581/258 +f 3310/1670/259 4086/567/259 4085/565/257 +f 3303/1672/258 4093/581/258 4092/579/256 +f 3311/1673/257 4085/565/257 4084/562/255 +f 3304/1674/256 4092/579/256 4091/578/243 +f 3312/1675/255 4084/562/255 4083/561/241 +f 3305/1676/243 4091/578/243 4090/576/252 +f 3313/1677/241 4083/561/241 4082/558/254 +f 3306/1678/252 4090/576/252 4089/574/253 +f 3353/1681/264 3354/3866/270 3346/1682/238 +f 3351/1684/266 3352/1693/272 3344/1685/241 +f 3356/1687/268 3357/1696/274 3349/1688/269 +f 3354/1690/270 3355/1697/275 3347/1691/271 +f 3352/1693/272 3353/1681/264 3345/1683/265 +f 3350/1694/273 3351/1684/266 3343/1686/267 +f 3357/1696/274 3350/1694/273 3342/1695/239 +f 3355/1697/275 3356/1687/268 3348/1689/243 +f 3356/1698/268 3363/1706/281 3364/1699/276 +f 3352/1700/272 3360/1707/282 3361/1701/277 +f 3350/1694/273 3358/1704/279 3359/1703/278 +f 3357/1696/274 3364/1699/276 3358/1704/279 +f 3356/1698/268 3355/1716/275 3362/1705/280 +f 3351/1684/266 3359/1703/278 3360/1707/282 +f 3360/1707/282 3359/1703/278 3366/1708/283 +f 3363/1706/281 3370/1714/289 3371/1710/285 +f 3360/1707/282 3367/1709/284 3368/1711/286 +f 3359/1703/278 3358/1704/279 3365/1712/287 +f 3364/1699/276 3371/1710/285 3365/1712/287 +f 3363/1706/281 3362/1705/280 3369/1713/288 +f 3370/1718/289 3378/1730/243 3379/1719/258 +f 3367/1720/284 3375/1731/241 3376/1721/257 +f 3365/1712/287 3373/1726/242 3374/1723/263 +f 3368/1722/286 3376/1721/257 3372/1724/240 +f 3371/1710/285 3379/1719/258 3373/1726/242 +f 3354/1727/270 3372/3867/240 3377/1728/253 +f 3369/1729/288 3377/1728/253 3378/1730/243 +f 3366/1708/283 3374/1723/263 3375/1731/241 +f 3384/1732/238 3392/3868/238 3391/1733/265 +f 3385/1735/271 3393/1739/271 3392/1736/238 +f 3386/1738/243 3394/1741/243 3393/1739/271 +f 3387/1740/269 3395/1743/269 3394/1741/243 +f 3380/1742/239 3388/1745/239 3395/1743/269 +f 3381/1744/267 3389/1747/267 3388/1745/239 +f 3382/1746/241 3390/1748/241 3389/1747/267 +f 3383/1734/265 3391/1733/265 3390/1748/241 +f 3419/1749/279 3412/1765/239 3404/1750/239 +f 3417/1752/290 3418/1761/242 3410/1753/242 +f 3415/1755/270 3416/3869/238 3408/1756/238 +f 3413/1758/291 3414/1764/240 3406/1759/240 +f 3418/1761/242 3419/1749/279 3411/1751/279 +f 3416/1762/238 3417/1752/290 3409/1754/290 +f 3414/1764/240 3415/1755/270 3407/1757/270 +f 3412/1765/239 3413/1758/291 3405/1760/291 +f 3431/1766/292 3432/3870/295 3424/1767/240 +f 3429/1769/293 3430/1778/296 3422/1770/239 +f 3434/1772/294 3435/1781/298 3427/1773/290 +f 3432/1775/295 3433/1782/299 3425/1776/270 +f 3430/1778/296 3431/1766/292 3423/1768/291 +f 3428/1779/297 3429/1769/293 3421/1771/279 +f 3435/1781/298 3428/1779/297 3420/1780/242 +f 3433/1782/299 3434/1772/294 3426/1774/238 +f 3435/1781/298 3434/1790/294 3441/1783/300 +f 3430/1785/296 3438/1792/306 3439/1786/302 +f 3428/1779/297 3436/1789/304 3437/1788/303 +f 3428/1779/297 3435/1781/298 3442/1784/301 +f 3434/1790/294 3433/1794/299 3440/1791/305 +f 3429/1769/293 3437/1788/303 3438/1792/306 +f 3448/1796/307 3444/1863/316 3451/1797/308 +f 3449/1799/310 3448/1796/307 3455/1798/309 +f 3445/1801/312 3452/1811/321 3453/1802/313 +f 3447/1804/315 3454/1809/319 3451/1805/308 +f 3449/1799/310 3456/1800/311 3457/1807/317 +f 3446/1803/314 3453/1802/313 3454/1809/319 +f 3455/1798/309 3463/1824/270 3464/1812/238 +f 3452/1814/321 3460/1818/279 3461/1815/239 +f 3443/1817/320 3458/1821/242 3460/1818/279 +f 3454/1809/319 3462/1823/291 3459/1819/240 +f 3457/1820/317 3465/1822/290 3458/1821/242 +f 3456/1813/311 3464/1812/238 3465/1822/290 +f 3453/1816/313 3461/1815/239 3462/1823/291 +f 3451/1797/308 3459/3871/240 3463/1824/270 +f 3477/1825/292 3478/3872/295 3470/1826/240 +f 3475/1828/293 3476/1837/296 3468/1829/239 +f 3480/1831/294 3481/1840/298 3473/1832/290 +f 3478/1834/295 3479/1841/299 3471/1835/270 +f 3476/1837/296 3477/1825/292 3469/1827/291 +f 3474/1838/297 3475/1828/293 3467/1830/279 +f 3481/1840/298 3474/1838/297 3466/1839/242 +f 3479/1841/299 3480/1831/294 3472/1833/238 +f 3481/1840/298 3480/1849/294 3487/1842/300 +f 3476/1844/296 3484/1851/306 3485/1845/322 +f 3474/1838/297 3482/1848/304 3483/1847/303 +f 3474/1838/297 3481/1840/298 3488/1843/301 +f 3480/1849/294 3479/1860/299 3486/1850/305 +f 3475/1828/293 3483/1847/303 3484/1851/306 +f 3495/1852/310 3496/1853/318 3488/1843/301 +f 3496/1853/318 3489/1871/320 3482/1848/304 +f 3482/1848/304 3489/1871/320 3491/1854/323 +f 3483/1847/303 3491/1854/323 3492/1855/314 +f 3484/1851/306 3492/1855/314 3493/1856/315 +f 3485/1845/322 3493/1856/315 3490/1857/316 +f 3490/1861/316 3494/1862/307 3486/1850/305 +f 3494/1862/307 3495/1852/310 3487/1842/300 +f 3450/1808/318 3443/1810/320 3436/1789/304 +f 3436/1789/304 3443/1810/320 3445/1801/312 +f 3437/1788/303 3445/1801/312 3446/1803/314 +f 3438/1792/306 3446/1803/314 3447/1804/315 +f 3439/1786/302 3447/1804/315 3444/1806/316 +f 3444/1863/316 3448/1796/307 3440/1791/305 +f 3494/1862/307 3490/1861/316 3497/1864/308 +f 3495/1852/310 3494/1862/307 3501/1865/309 +f 3491/1854/323 3498/1872/321 3499/1867/313 +f 3493/1856/315 3500/1870/319 3497/1868/308 +f 3496/1853/318 3495/1852/310 3502/1866/311 +f 3492/1855/314 3499/1867/313 3500/1870/319 +f 3448/1796/307 3449/1799/310 3441/1783/300 +f 3449/1799/310 3450/1808/318 3442/1784/301 +f 3501/1865/309 3509/1885/270 3510/1873/238 +f 3498/1875/321 3506/1879/279 3507/1876/239 +f 3489/1878/320 3504/1882/242 3506/1879/279 +f 3500/1870/319 3508/1884/291 3505/1880/240 +f 3503/1881/317 3511/1883/290 3504/1882/242 +f 3503/1881/317 3502/1874/311 3510/1873/238 +f 3499/1877/313 3507/1876/239 3508/1884/291 +f 3497/1864/308 3505/3873/240 3509/1885/270 +f 3523/1886/324 3524/3874/271 3516/1887/238 +f 3521/1889/325 3522/1898/327 3514/1890/240 +f 3526/1892/326 3527/1901/329 3519/1893/279 +f 3524/1895/271 3525/1902/330 3517/1896/290 +f 3522/1898/327 3523/1886/324 3515/1888/270 +f 3520/1899/328 3521/1889/325 3513/1891/291 +f 3527/1901/329 3520/1899/328 3512/1900/239 +f 3525/1902/330 3526/1892/326 3518/1894/242 +f 3527/1901/329 3526/1910/326 3533/1903/331 +f 3522/1905/327 3530/1912/336 3531/1906/333 +f 3520/1899/328 3528/1909/267 3529/1908/334 +f 3520/1899/328 3527/1901/329 3534/1904/332 +f 3526/1910/326 3525/1920/330 3532/1911/335 +f 3521/1889/325 3529/1908/334 3530/1912/336 +f 3530/1912/336 3529/1908/334 3536/1913/337 +f 3533/1903/331 3540/1918/342 3541/1915/339 +f 3531/1906/333 3530/1912/336 3537/1914/338 +f 3528/1909/267 3535/1917/341 3536/1913/337 +f 3528/1909/267 3534/1904/332 3541/1915/339 +f 3532/1911/335 3539/1921/343 3540/1918/342 +f 3540/1923/342 3548/1935/349 3549/1924/344 +f 3537/1925/338 3545/1936/350 3546/1926/345 +f 3535/1917/341 3543/1931/267 3544/1928/346 +f 3538/1927/340 3546/1926/345 3542/1929/347 +f 3541/1915/339 3549/1924/344 3543/1931/267 +f 3524/1932/271 3542/1944/347 3547/1933/348 +f 3539/1934/343 3547/1933/348 3548/1935/349 +f 3536/1913/337 3544/1928/346 3545/1936/350 +f 3542/1929/347 3546/1926/345 3553/1937/351 +f 3547/1933/348 3554/1945/355 3555/1939/352 +f 3545/1941/350 3544/1956/346 3551/1942/353 +f 3542/1944/347 3550/1948/271 3554/1945/355 +f 3548/1940/349 3555/1939/352 3556/1946/356 +f 3546/1926/345 3545/1941/350 3552/1943/354 +f 3550/1948/271 3557/1970/360 3561/1949/357 +f 3555/1939/352 3554/1945/355 3561/1949/357 +f 3551/1942/353 3558/1957/363 3559/1951/359 +f 3553/1937/351 3560/1954/362 3557/1952/360 +f 3556/1946/356 3555/1939/352 3562/1950/358 +f 3552/1943/354 3559/1951/359 3560/1954/362 +f 3561/1949/357 3569/1971/290 3570/1958/242 +f 3558/1960/363 3566/1964/291 3567/1961/240 +f 3543/1963/267 3564/1967/239 3566/1964/291 +f 3560/1954/362 3568/1969/270 3565/1965/238 +f 3563/1966/361 3571/1968/279 3564/1967/239 +f 3562/1959/358 3570/1958/242 3571/1968/279 +f 3559/1962/359 3567/1961/240 3568/1969/270 +f 3557/1970/360 3565/3875/238 3569/1971/290 +f 3583/1972/324 3584/3876/271 3576/1973/238 +f 3581/1975/325 3582/1984/327 3574/1976/240 +f 3586/1978/326 3587/1987/329 3579/1979/279 +f 3584/1981/271 3585/1988/330 3577/1982/290 +f 3582/1984/327 3583/1972/324 3575/1974/270 +f 3580/1985/328 3581/1975/325 3573/1977/291 +f 3587/1987/329 3580/1985/328 3572/1986/239 +f 3585/1988/330 3586/1978/326 3578/1980/242 +f 3587/1987/329 3586/1996/326 3593/1989/331 +f 3582/1991/327 3590/1998/336 3591/1992/333 +f 3580/1985/328 3588/1995/267 3589/1994/334 +f 3580/1985/328 3587/1987/329 3594/1990/332 +f 3586/1996/326 3585/2006/330 3592/1997/335 +f 3581/1975/325 3589/1994/334 3590/1998/336 +f 3590/1998/336 3589/1994/334 3596/1999/337 +f 3593/1989/331 3600/2004/342 3601/2001/339 +f 3591/1992/333 3590/1998/336 3597/2000/338 +f 3588/1995/267 3595/2003/341 3596/1999/337 +f 3588/1995/267 3594/1990/332 3601/2001/339 +f 3592/1997/335 3599/2007/343 3600/2004/342 +f 3600/2009/342 3608/2021/349 3609/2010/344 +f 3597/2011/338 3605/2022/350 3606/2012/345 +f 3595/2003/341 3603/2017/267 3604/2014/346 +f 3598/2013/340 3606/2012/345 3602/2015/347 +f 3601/2001/339 3609/2010/344 3603/2017/267 +f 3584/2018/271 3602/2030/347 3607/2019/348 +f 3599/2020/343 3607/2019/348 3608/2021/349 +f 3596/1999/337 3604/2014/346 3605/2022/350 +f 3602/2015/347 3606/2012/345 3613/2023/351 +f 3607/2019/348 3614/2031/355 3615/2025/352 +f 3605/2027/350 3604/2042/346 3611/2028/353 +f 3602/2030/347 3610/3877/271 3614/2031/355 +f 3608/2026/349 3615/2025/352 3616/2032/356 +f 3606/2012/345 3605/2027/350 3612/2029/354 +f 3614/2031/355 3610/3877/271 3617/2034/360 +f 3615/2025/352 3614/2031/355 3621/2035/357 +f 3611/2028/353 3618/2043/363 3619/2037/359 +f 3613/2023/351 3620/2040/362 3617/2038/360 +f 3616/2032/356 3615/2025/352 3622/2036/358 +f 3612/2029/354 3619/2037/359 3620/2040/362 +f 3621/2035/357 3629/2056/290 3630/2044/242 +f 3618/2046/363 3626/2050/291 3627/2047/240 +f 3603/2049/267 3624/2053/239 3626/2050/291 +f 3620/2040/362 3628/2055/270 3625/2051/238 +f 3623/2052/361 3631/2054/279 3624/2053/239 +f 3622/2045/358 3630/2044/242 3631/2054/279 +f 3619/2048/359 3627/2047/240 3628/2055/270 +f 3617/2034/360 3625/3878/238 3629/2056/290 +f 3645/2057/239 3644/2070/291 3636/2058/291 +f 3643/2060/240 3642/2071/270 3634/2061/270 +f 3641/2063/238 3640/2073/290 3632/2064/290 +f 3647/2066/242 3646/2069/279 3638/2067/279 +f 3646/2069/279 3645/2057/239 3637/2059/239 +f 3644/2070/291 3643/2060/240 3635/2062/240 +f 3642/2071/270 3641/3879/238 3633/2072/238 +f 3640/2073/290 3647/2066/242 3639/2068/242 +f 3679/2074/264 3680/3880/270 3672/2075/238 +f 3677/2077/266 3678/2086/272 3670/2078/241 +f 3682/2080/268 3683/2089/274 3675/2081/269 +f 3680/2083/270 3681/2090/275 3673/2084/271 +f 3678/2086/272 3679/2074/264 3671/2076/265 +f 3676/2087/273 3677/2077/266 3669/2079/267 +f 3683/2089/274 3676/2087/273 3668/2088/239 +f 3681/2090/275 3682/2080/268 3674/2082/243 +f 3683/2089/274 3682/2098/268 3689/2091/281 +f 3678/2093/272 3686/2100/282 3687/2094/277 +f 3677/2077/266 3676/2087/273 3684/2096/279 +f 3683/2089/274 3690/2092/276 3684/2096/279 +f 3682/2098/268 3681/2109/275 3688/2099/280 +f 3677/2077/266 3685/2097/278 3686/2100/282 +f 3686/2100/282 3685/2097/278 3692/2101/283 +f 3689/2091/281 3696/2107/289 3697/2103/285 +f 3686/2100/282 3693/2102/284 3694/2104/286 +f 3685/2097/278 3684/2096/279 3691/2105/287 +f 3690/2092/276 3697/2103/285 3691/2105/287 +f 3689/2091/281 3688/2099/280 3695/2106/288 +f 3696/2111/289 3704/2123/243 3705/2112/258 +f 3693/2113/284 3701/2124/241 3702/2114/257 +f 3691/2105/287 3699/2119/242 3700/2116/263 +f 3694/2115/286 3702/2114/257 3698/2117/240 +f 3697/2103/285 3705/2112/258 3699/2119/242 +f 3680/2120/270 3698/3881/240 3703/2121/253 +f 3695/2122/288 3703/2121/253 3704/2123/243 +f 3692/2101/283 3700/2116/263 3701/2124/241 +f 3717/2125/264 3718/3882/270 3710/2126/238 +f 3715/2128/266 3716/2137/272 3708/2129/241 +f 3720/2131/268 3721/2140/274 3713/2132/269 +f 3710/2134/238 3718/3883/270 3719/2135/275 +f 3716/2137/272 3717/2125/264 3709/2127/265 +f 3714/2138/273 3715/2128/266 3707/2130/267 +f 3721/2140/274 3714/2138/273 3706/2139/239 +f 3719/2135/275 3720/2131/268 3712/2133/243 +f 3721/2140/274 3720/2148/268 3727/2141/281 +f 3716/2143/272 3724/2150/282 3725/2144/277 +f 3714/2138/273 3722/2147/279 3723/2146/278 +f 3721/2140/274 3728/2142/276 3722/2147/279 +f 3720/2148/268 3719/2158/275 3726/2149/280 +f 3716/2143/272 3715/2128/266 3723/2146/278 +f 3724/2150/282 3723/2146/278 3730/2151/283 +f 3727/2141/281 3734/2156/289 3735/2153/285 +f 3724/2150/282 3731/2152/284 3732/2154/286 +f 3723/2146/278 3722/2147/279 3729/2155/287 +f 3728/2142/276 3735/2153/285 3729/2155/287 +f 3726/2149/280 3733/2159/288 3734/2156/289 +f 3734/2161/289 3742/2173/243 3743/2162/258 +f 3731/2163/284 3739/2174/241 3740/2164/257 +f 3729/2155/287 3737/2169/242 3738/2166/263 +f 3732/2165/286 3740/2164/257 3736/2167/240 +f 3735/2153/285 3743/2162/258 3737/2169/242 +f 3718/2170/270 3736/3884/240 3741/2171/253 +f 3733/2172/288 3741/2171/253 3742/2173/243 +f 3730/2151/283 3738/2166/263 3739/2174/241 +f 3755/2175/264 3756/3885/270 3748/2176/238 +f 3753/2178/266 3754/2187/272 3746/2179/241 +f 3758/2181/268 3759/2190/274 3751/2182/269 +f 3756/2184/270 3757/2191/275 3749/2185/271 +f 3754/2187/272 3755/2175/264 3747/2177/265 +f 3752/2188/273 3753/2178/266 3745/2180/267 +f 3759/2190/274 3752/2188/273 3744/2189/239 +f 3757/2191/275 3758/2181/268 3750/2183/243 +f 3759/2190/274 3758/2199/268 3765/2192/281 +f 3754/2194/272 3762/2201/282 3763/2195/277 +f 3753/2178/266 3752/2188/273 3760/2197/279 +f 3759/2190/274 3766/2193/276 3760/2197/279 +f 3758/2199/268 3757/2209/275 3764/2200/280 +f 3753/2178/266 3761/2198/278 3762/2201/282 +f 3762/2201/282 3761/2198/278 3768/2202/283 +f 3765/2192/281 3772/2207/289 3773/2204/285 +f 3763/2195/277 3762/2201/282 3769/2203/284 +f 3761/2198/278 3760/2197/279 3767/2206/287 +f 3766/2193/276 3773/2204/285 3767/2206/287 +f 3764/2200/280 3771/2210/288 3772/2207/289 +f 3772/2212/289 3780/2224/243 3781/2213/258 +f 3769/2214/284 3777/2225/241 3778/2215/257 +f 3767/2206/287 3775/2220/242 3776/2217/263 +f 3770/2216/286 3778/2215/257 3774/2218/240 +f 3773/2204/285 3781/2213/258 3775/2220/242 +f 3756/2221/270 3774/3886/240 3779/2222/253 +f 3771/2223/288 3779/2222/253 3780/2224/243 +f 3768/2202/283 3776/2217/263 3777/2225/241 +f 3793/2226/264 3794/3887/270 3786/2227/238 +f 3791/2229/266 3792/2238/272 3784/2230/241 +f 3796/2232/268 3797/2241/274 3789/2233/269 +f 3794/2235/270 3795/2242/275 3787/2236/271 +f 3792/2238/272 3793/2226/264 3785/2228/265 +f 3790/2239/273 3791/2229/266 3783/2231/267 +f 3797/2241/274 3790/2239/273 3782/2240/239 +f 3795/2242/275 3796/2232/268 3788/2234/243 +f 3797/2241/274 3796/2250/268 3803/2243/281 +f 3792/2245/272 3800/2252/282 3801/2246/277 +f 3791/2229/266 3790/2239/273 3798/2248/279 +f 3797/2241/274 3804/2244/276 3798/2248/279 +f 3796/2250/268 3795/2261/275 3802/2251/280 +f 3791/2229/266 3799/2249/278 3800/2252/282 +f 3799/2249/278 3806/2257/283 3807/2253/284 +f 3803/2243/281 3810/2259/289 3811/2254/285 +f 3800/2252/282 3807/2253/284 3808/2255/286 +f 3799/2249/278 3798/2248/279 3805/2256/287 +f 3804/2244/276 3811/2254/285 3805/2256/287 +f 3803/2243/281 3802/2251/280 3809/2258/288 +f 3810/2263/289 3818/2275/243 3819/2264/258 +f 3807/2265/284 3815/2276/241 3816/2266/257 +f 3805/2256/287 3813/2271/242 3814/2268/263 +f 3808/2267/286 3816/2266/257 3812/2269/240 +f 3811/2254/285 3819/2264/258 3813/2271/242 +f 3794/2272/270 3812/3888/240 3817/2273/253 +f 3809/2274/288 3817/2273/253 3818/2275/243 +f 3806/2257/283 3814/2268/263 3815/2276/241 +f 3831/2277/364 3832/3889/290 3824/2278/238 +f 3829/2280/365 3830/2289/368 3822/2281/243 +f 3834/2283/366 3835/2292/370 3827/2284/267 +f 3824/2286/238 3832/3890/290 3833/2287/367 +f 3830/2289/368 3831/2277/364 3823/2279/271 +f 3828/2290/369 3829/2280/365 3821/2282/269 +f 3835/2292/370 3828/2290/369 3820/2291/239 +f 3833/2287/367 3834/2283/366 3826/2285/241 +f 3835/2292/370 3834/2300/366 3841/2293/371 +f 3830/2295/368 3838/2302/376 3839/2296/373 +f 3829/2280/365 3828/2290/369 3836/2298/291 +f 3835/2292/370 3842/2294/372 3836/2298/291 +f 3834/2300/366 3833/2311/367 3840/2301/375 +f 3829/2280/365 3837/2299/374 3838/2302/376 +f 3838/2302/376 3837/2299/374 3844/2303/377 +f 3842/2294/372 3841/2293/371 3848/2305/379 +f 3838/2302/376 3845/2304/378 3846/2307/381 +f 3837/2299/374 3836/2298/291 3843/2308/382 +f 3842/2294/372 3849/2306/380 3843/2308/382 +f 3841/2293/371 3840/2301/375 3847/2309/383 +f 3848/2313/379 3856/2325/241 3857/2314/257 +f 3845/2315/378 3853/2326/243 3854/2316/258 +f 3843/2308/382 3851/2321/240 3852/2318/253 +f 3846/2317/381 3854/2316/258 3850/2319/242 +f 3849/2306/380 3857/2314/257 3851/2321/240 +f 3832/2322/290 3850/3891/242 3855/2323/263 +f 3847/2324/383 3855/2323/263 3856/2325/241 +f 3844/2303/377 3852/2318/253 3853/2326/243 +f 3869/2327/364 3870/3892/290 3862/2328/238 +f 3867/2330/365 3868/2339/368 3860/2331/243 +f 3872/2333/366 3873/2342/370 3865/2334/267 +f 3870/2336/290 3871/2343/367 3863/2337/265 +f 3868/2339/368 3869/2327/364 3861/2329/271 +f 3866/2340/369 3867/2330/365 3859/2332/269 +f 3873/2342/370 3866/2340/369 3858/2341/239 +f 3871/2343/367 3872/2333/366 3864/2335/241 +f 3873/2342/370 3872/2351/366 3879/2344/371 +f 3868/2346/368 3876/2353/376 3877/2347/373 +f 3866/2340/369 3874/2350/291 3875/2349/374 +f 3873/2342/370 3880/2345/372 3874/2350/291 +f 3872/2351/366 3871/2361/367 3878/2352/375 +f 3867/2330/365 3875/2349/374 3876/2353/376 +f 3876/2353/376 3875/2349/374 3882/2354/377 +f 3879/2344/371 3886/2359/379 3887/2356/380 +f 3877/2347/373 3876/2353/376 3883/2355/378 +f 3875/2349/374 3874/2350/291 3881/2358/382 +f 3880/2345/372 3887/2356/380 3881/2358/382 +f 3878/2352/375 3885/2362/383 3886/2359/379 +f 3886/2364/379 3894/2376/241 3895/2365/257 +f 3883/2366/378 3891/2377/243 3892/2367/258 +f 3881/2358/382 3889/2372/240 3890/2369/253 +f 3884/2368/381 3892/2367/258 3888/2370/242 +f 3887/2356/380 3895/2365/257 3889/2372/240 +f 3870/2373/290 3888/3893/242 3893/2374/263 +f 3885/2375/383 3893/2374/263 3894/2376/241 +f 3882/2354/377 3890/2369/253 3891/2377/243 +f 3907/2378/364 3908/3894/290 3900/2379/238 +f 3905/2381/365 3906/2390/368 3898/2382/243 +f 3910/2384/366 3911/2392/370 3903/2385/267 +f 3908/2387/290 3909/2393/367 3901/2388/265 +f 3906/2390/368 3907/2378/364 3899/2380/271 +f 3896/2391/239 3904/2401/369 3905/2381/365 +f 3911/2392/370 3904/2401/369 3896/2391/239 +f 3909/2393/367 3910/2384/366 3902/2386/241 +f 3911/2392/370 3910/2402/366 3917/2394/371 +f 3906/2396/368 3914/2404/376 3915/2397/373 +f 3905/2381/365 3904/2401/369 3912/2399/291 +f 3911/2392/370 3918/2395/372 3912/2399/291 +f 3910/2402/366 3909/2413/367 3916/2403/375 +f 3905/2381/365 3913/2400/374 3914/2404/376 +f 3914/2404/376 3913/2400/374 3920/2405/377 +f 3917/2394/371 3924/2411/379 3925/2407/380 +f 3914/2404/376 3921/2406/378 3922/2408/381 +f 3913/2400/374 3912/2399/291 3919/2409/382 +f 3918/2395/372 3925/2407/380 3919/2409/382 +f 3917/2394/371 3916/2403/375 3923/2410/383 +f 3924/2415/379 3932/2427/241 3933/2416/257 +f 3921/2417/378 3929/2428/243 3930/2418/258 +f 3919/2409/382 3927/2423/240 3928/2420/253 +f 3922/2419/381 3930/2418/258 3926/2421/242 +f 3925/2407/380 3933/2416/257 3927/2423/240 +f 3908/2424/290 3926/3895/242 3931/2425/263 +f 3923/2426/383 3931/2425/263 3932/2427/241 +f 3920/2405/377 3928/2420/253 3929/2428/243 +f 3945/2429/364 3946/3896/290 3938/2430/238 +f 3943/2432/365 3944/2441/368 3936/2433/243 +f 3948/2435/366 3949/2444/370 3941/2436/267 +f 3946/2438/290 3947/2445/367 3939/2439/265 +f 3944/2441/368 3945/2429/364 3937/2431/271 +f 3942/2442/369 3943/2432/365 3935/2434/269 +f 3949/2444/370 3942/2442/369 3934/2443/239 +f 3947/2445/367 3948/2435/366 3940/2437/241 +f 3949/2444/370 3948/2453/366 3955/2446/371 +f 3944/2448/368 3952/2455/376 3953/2449/373 +f 3943/2432/365 3942/2442/369 3950/2451/291 +f 3949/2444/370 3956/2447/372 3950/2451/291 +f 3948/2453/366 3947/2463/367 3954/2454/375 +f 3943/2432/365 3951/2452/374 3952/2455/376 +f 3952/2455/376 3951/2452/374 3958/2456/377 +f 3955/2446/371 3962/2461/379 3963/2458/380 +f 3952/2455/376 3959/2457/378 3960/2459/381 +f 3951/2452/374 3950/2451/291 3957/2460/382 +f 3956/2447/372 3963/2458/380 3957/2460/382 +f 3954/2454/375 3961/2464/383 3962/2461/379 +f 3962/2466/379 3970/2478/241 3971/2467/257 +f 3959/2468/378 3967/2479/243 3968/2469/258 +f 3957/2460/382 3965/2474/240 3966/2471/253 +f 3960/2470/381 3968/2469/258 3964/2472/242 +f 3963/2458/380 3971/2467/257 3965/2474/240 +f 3946/2475/290 3964/3897/242 3969/2476/263 +f 3961/2477/383 3969/2476/263 3970/2478/241 +f 3958/2456/377 3966/2471/253 3967/2479/243 +f 3983/2480/364 3984/3898/290 3976/2481/238 +f 3981/2483/365 3982/2492/368 3974/2484/243 +f 3986/2486/366 3987/2495/370 3979/2487/267 +f 3976/2489/238 3984/3899/290 3985/2490/367 +f 3982/2492/368 3983/2480/364 3975/2482/271 +f 3980/2493/369 3981/2483/365 3973/2485/269 +f 3987/2495/370 3980/2493/369 3972/2494/239 +f 3985/2490/367 3986/2486/366 3978/2488/241 +f 3987/2495/370 3986/2503/366 3993/2496/371 +f 3982/2498/368 3990/2505/376 3991/2499/373 +f 3981/2483/365 3980/2493/369 3988/2501/291 +f 3987/2495/370 3994/2497/372 3988/2501/291 +f 3986/2503/366 3985/2514/367 3992/2504/375 +f 3981/2483/365 3989/2502/374 3990/2505/376 +f 3990/2505/376 3989/2502/374 3996/2506/377 +f 3993/2496/371 4000/2512/379 4001/2508/380 +f 3991/2499/373 3990/2505/376 3997/2507/378 +f 3989/2502/374 3988/2501/291 3995/2510/382 +f 3994/2497/372 4001/2508/380 3995/2510/382 +f 3993/2496/371 3992/2504/375 3999/2511/383 +f 4000/2516/379 4008/2528/241 4009/2517/257 +f 3997/2518/378 4005/2529/243 4006/2519/258 +f 3995/2510/382 4003/2524/240 4004/2521/253 +f 3998/2520/381 4006/2519/258 4002/2522/242 +f 4001/2508/380 4009/2517/257 4003/2524/240 +f 3984/2525/290 4002/3900/242 4007/2526/263 +f 3999/2527/383 4007/2526/263 4008/2528/241 +f 3996/2506/377 4004/2521/253 4005/2529/243 +f 4014/2530/238 4022/3901/238 4021/2531/265 +f 4014/2533/238 4015/2537/271 4023/2534/271 +f 4016/2536/243 4024/2539/243 4023/2534/271 +f 4017/2538/269 4025/2541/269 4024/2539/243 +f 4010/2540/239 4018/2543/239 4025/2541/269 +f 4011/2542/267 4019/2545/267 4018/2543/239 +f 4012/2544/241 4020/2546/241 4019/2545/267 +f 4013/2532/265 4021/2531/265 4020/2546/241 +f 4030/2547/238 4038/3902/238 4037/2548/265 +f 4031/2550/271 4039/2554/271 4038/2551/238 +f 4032/2553/243 4040/2556/243 4039/2554/271 +f 4033/2555/269 4041/2558/269 4040/2556/243 +f 4026/2557/239 4034/2560/239 4041/2558/269 +f 4027/2559/267 4035/2562/267 4034/2560/239 +f 4028/2561/241 4036/2563/241 4035/2562/267 +f 4029/2549/265 4037/2548/265 4036/2563/241 +f 4045/2564/265 4046/3903/238 4054/2565/238 +f 4047/2567/271 4055/2571/271 4054/2568/238 +f 4048/2570/243 4056/2573/243 4055/2571/271 +f 4049/2572/269 4057/2575/269 4056/2573/243 +f 4042/2574/239 4050/2577/239 4057/2575/269 +f 4043/2576/267 4051/2579/267 4050/2577/239 +f 4043/2576/267 4044/2580/241 4052/2578/241 +f 4045/2564/265 4053/2566/265 4052/2578/241 +f 4062/2581/238 4070/3904/238 4069/2582/265 +f 4063/2584/271 4071/2588/271 4070/2585/238 +f 4064/2587/243 4072/2590/243 4071/2588/271 +f 4065/2589/269 4073/2592/269 4072/2590/243 +f 4058/2591/239 4066/2594/239 4073/2592/269 +f 4059/2593/267 4067/2596/267 4066/2594/239 +f 4060/2595/241 4068/2597/241 4067/2596/267 +f 4061/2583/265 4069/2582/265 4068/2597/241 +f 3316/2598/261 4079/555/261 4080/554/242 +f 3317/2599/242 4080/554/242 4094/584/260 +f 3308/2600/262 4088/572/262 4087/571/240 +f 3315/2602/263 4081/557/263 4079/555/261 +f 3307/1680/253 4089/574/253 4088/572/262 +f 3314/1679/254 4082/558/254 4081/557/263 +f 3300/553/262 4095/2606/262 4096/2603/240 +f 3301/585/240 4096/2603/240 4110/2604/259 +f 3292/570/261 4104/2607/261 4103/2605/242 +f 3299/556/253 4097/2608/253 4095/2606/262 +f 3291/573/263 4105/2609/263 4104/2607/261 +f 3298/559/252 4098/2610/252 4097/2608/253 +f 4074/575/254 4106/2611/254 4105/2609/263 +f 3297/560/243 4099/2612/243 4098/2610/252 +f 4075/577/241 4107/2613/241 4106/2611/254 +f 3296/563/256 4100/2615/256 4099/2612/243 +f 4076/580/255 4108/2616/255 4107/2613/241 +f 3296/563/256 3295/564/258 4101/2614/258 +f 4077/582/257 4109/2617/257 4108/2616/255 +f 3294/566/260 4102/2618/260 4101/2614/258 +f 4078/583/259 4110/2604/259 4109/2617/257 +f 3293/568/242 4103/3905/242 4102/2618/260 +f 4134/2619/244 4111/2631/244 4121/2620/242 +f 4127/2622/245 4118/2633/245 4117/2623/246 +f 4130/2625/247 4115/2635/247 4114/2626/248 +f 4123/2621/242 4121/2620/242 4122/2628/249 +f 4133/2630/250 4112/2637/250 4111/2631/244 +f 4126/2632/241 4119/3906/241 4118/2633/245 +f 4129/2634/240 4116/2641/240 4115/2635/247 +f 4132/2636/243 4113/2642/243 4112/2637/250 +f 4125/2638/251 4120/2643/251 4119/2639/241 +f 4128/2624/246 4117/2623/246 4116/2641/240 +f 4131/2627/248 4114/2626/248 4113/2642/243 +f 4124/2629/249 4122/2628/249 4120/2643/251 +f 4158/2644/244 4135/2656/244 4145/2645/242 +f 4151/2647/245 4142/2658/245 4141/2648/246 +f 4154/2650/247 4139/2660/247 4138/2651/248 +f 4147/2646/242 4145/2645/242 4146/2653/249 +f 4157/2655/250 4136/2662/250 4135/2656/244 +f 4150/2657/241 4143/3907/241 4142/2658/245 +f 4153/2659/240 4140/2666/240 4139/2660/247 +f 4156/2661/243 4137/2667/243 4136/2662/250 +f 4149/2663/251 4144/2668/251 4143/2664/241 +f 4152/2649/246 4141/2648/246 4140/2666/240 +f 4155/2652/248 4138/2651/248 4137/2667/243 +f 4148/2654/249 4146/2653/249 4144/2668/251 +f 4182/2669/244 4159/2681/244 4169/2670/242 +f 4175/2672/245 4166/2683/245 4165/2673/246 +f 4178/2675/247 4163/2685/247 4162/2676/248 +f 4171/2671/242 4169/2670/242 4170/2678/249 +f 4181/2680/250 4160/2687/250 4159/2681/244 +f 4174/2682/241 4167/3908/241 4166/2683/245 +f 4177/2684/240 4164/2691/240 4163/2685/247 +f 4180/2686/243 4161/2692/243 4160/2687/250 +f 4173/2688/251 4168/2693/251 4167/2689/241 +f 4176/2674/246 4165/2673/246 4164/2691/240 +f 4179/2677/248 4162/2676/248 4161/2692/243 +f 4172/2679/249 4170/2678/249 4168/2693/251 +f 4206/2694/244 4183/2706/244 4193/2695/242 +f 4199/2697/245 4190/2708/245 4189/2698/246 +f 4202/2700/247 4187/2710/247 4186/2701/248 +f 4195/2696/242 4193/2695/242 4194/2703/249 +f 4205/2705/250 4184/2712/250 4183/2706/244 +f 4198/2707/241 4191/3909/241 4190/2708/245 +f 4201/2709/240 4188/2716/240 4187/2710/247 +f 4204/2711/243 4185/2717/243 4184/2712/250 +f 4197/2713/251 4192/2718/251 4191/2714/241 +f 4200/2699/246 4189/2698/246 4188/2716/240 +f 4203/2702/248 4186/2701/248 4185/2717/243 +f 4196/2704/249 4194/2703/249 4192/2718/251 +f 4230/2719/246 4207/2731/246 4217/2720/240 +f 4223/2722/250 4214/2733/250 4213/2723/244 +f 4226/2725/249 4211/2735/249 4210/2726/251 +f 4219/2721/240 4217/2720/240 4218/2728/247 +f 4229/2730/245 4208/2737/245 4207/2731/246 +f 4222/2732/243 4215/3910/243 4214/2733/250 +f 4225/2734/242 4212/2741/242 4211/2735/249 +f 4228/2736/241 4209/2742/241 4208/2737/245 +f 4221/2738/248 4216/2743/248 4215/2739/243 +f 4224/2724/244 4213/2723/244 4212/2741/242 +f 4227/2727/251 4210/2726/251 4209/2742/241 +f 4220/2729/247 4218/2728/247 4216/2743/248 +f 4254/2744/246 4231/2756/246 4241/2745/240 +f 4247/2747/250 4238/2758/250 4237/2748/244 +f 4250/2750/249 4235/2760/249 4234/2751/251 +f 4243/2746/240 4241/2745/240 4242/2753/247 +f 4253/2755/245 4232/2762/245 4231/2756/246 +f 4246/2757/243 4239/3911/243 4238/2758/250 +f 4249/2759/242 4236/2766/242 4235/2760/249 +f 4252/2761/241 4233/2767/241 4232/2762/245 +f 4245/2763/248 4240/2768/248 4239/2764/243 +f 4248/2749/244 4237/2748/244 4236/2766/242 +f 4251/2752/251 4234/2751/251 4233/2767/241 +f 4244/2754/247 4242/2753/247 4240/2768/248 +f 4278/2769/246 4255/2781/246 4265/2770/240 +f 4271/2772/250 4262/2783/250 4261/2773/244 +f 4274/2775/249 4259/2785/249 4258/2776/251 +f 4267/2771/240 4265/2770/240 4266/2778/247 +f 4277/2780/245 4256/2787/245 4255/2781/246 +f 4270/2782/243 4263/3912/243 4262/2783/250 +f 4273/2784/242 4260/2791/242 4259/2785/249 +f 4276/2786/241 4257/2792/241 4256/2787/245 +f 4269/2788/248 4264/2793/248 4263/2789/243 +f 4272/2774/244 4261/2773/244 4260/2791/242 +f 4275/2777/251 4258/2776/251 4257/2792/241 +f 4268/2779/247 4266/2778/247 4264/2793/248 +f 4302/2794/246 4279/2806/246 4289/2795/240 +f 4295/2797/250 4286/2808/250 4285/2798/244 +f 4298/2800/249 4283/2810/249 4282/2801/251 +f 4291/2796/240 4289/2795/240 4290/2803/247 +f 4301/2805/245 4280/2812/245 4279/2806/246 +f 4294/2807/243 4287/3913/243 4286/2808/250 +f 4297/2809/242 4284/2816/242 4283/2810/249 +f 4300/2811/241 4281/2817/241 4280/2812/245 +f 4293/2813/248 4288/2818/248 4287/2814/243 +f 4296/2799/244 4285/2798/244 4284/2816/242 +f 4299/2802/251 4282/2801/251 4281/2817/241 +f 4292/2804/247 4290/2803/247 4288/2818/248 +f 4326/2819/246 4303/2831/246 4313/2820/240 +f 4319/2822/250 4310/2833/250 4309/2823/244 +f 4322/2825/249 4307/2835/249 4306/2826/251 +f 4315/2821/240 4313/2820/240 4314/2828/247 +f 4325/2830/245 4304/2837/245 4303/2831/246 +f 4318/2832/243 4311/3914/243 4310/2833/250 +f 4321/2834/242 4308/2841/242 4307/2835/249 +f 4324/2836/241 4305/2842/241 4304/2837/245 +f 4317/2838/248 4312/2843/248 4311/2839/243 +f 4320/2824/244 4309/2823/244 4308/2841/242 +f 4323/2827/251 4306/2826/251 4305/2842/241 +f 4316/2829/247 4314/2828/247 4312/2843/248 +f 4486/2844/279 4479/2860/239 4471/2845/239 +f 4484/2847/290 4485/2856/242 4477/2848/242 +f 4482/2850/270 4483/3915/238 4475/2851/238 +f 4480/2853/291 4481/2859/240 4473/2854/240 +f 4485/2856/242 4486/2844/279 4478/2846/279 +f 4483/2857/238 4484/2847/290 4476/2849/290 +f 4481/2859/240 4482/2850/270 4474/2852/270 +f 4479/2860/239 4480/2853/291 4472/2855/291 +f 4498/2861/324 4499/3916/271 4491/2862/238 +f 4496/2864/325 4497/2873/327 4489/2865/240 +f 4501/2867/326 4502/2876/329 4494/2868/279 +f 4499/2870/271 4500/2877/330 4492/2871/290 +f 4497/2873/327 4498/2861/324 4490/2863/270 +f 4495/2874/328 4496/2864/325 4488/2866/291 +f 4502/2876/329 4495/2874/328 4487/2875/239 +f 4500/2877/330 4501/2867/326 4493/2869/242 +f 4501/2878/326 4508/2886/331 4509/2879/332 +f 4497/2880/327 4505/2887/336 4506/2881/333 +f 4495/2874/328 4503/2884/267 4504/2883/334 +f 4495/2874/328 4502/2876/329 4509/2879/332 +f 4501/2878/326 4500/2895/330 4507/2885/335 +f 4496/2864/325 4504/2883/334 4505/2887/336 +f 4504/2883/334 4511/2891/337 4512/2888/338 +f 4508/2886/331 4515/2893/342 4516/2889/339 +f 4506/2881/333 4505/2887/336 4512/2888/338 +f 4503/2884/267 4510/2892/341 4511/2891/337 +f 4503/2884/267 4509/2879/332 4516/2889/339 +f 4507/2885/335 4514/2896/343 4515/2893/342 +f 4515/2898/342 4523/2910/349 4524/2899/344 +f 4512/2900/338 4520/2911/350 4521/2901/345 +f 4510/2892/341 4518/2906/267 4519/2903/346 +f 4513/2902/340 4521/2901/345 4517/2904/347 +f 4516/2889/339 4524/2899/344 4518/2906/267 +f 4499/2907/271 4517/2919/347 4522/2908/348 +f 4514/2909/343 4522/2908/348 4523/2910/349 +f 4511/2891/337 4519/2903/346 4520/2911/350 +f 4517/2904/347 4521/2901/345 4528/2912/351 +f 4522/2908/348 4529/2920/355 4530/2914/352 +f 4520/2916/350 4519/2931/346 4526/2917/353 +f 4517/2919/347 4525/3917/271 4529/2920/355 +f 4523/2915/349 4530/2914/352 4531/2921/356 +f 4521/2901/345 4520/2916/350 4527/2918/354 +f 4529/2920/355 4525/3917/271 4532/2923/360 +f 4530/2914/352 4529/2920/355 4536/2924/357 +f 4526/2917/353 4533/2932/363 4534/2926/359 +f 4528/2912/351 4535/2929/362 4532/2927/360 +f 4531/2921/356 4530/2914/352 4537/2925/358 +f 4527/2918/354 4534/2926/359 4535/2929/362 +f 4536/2924/357 4544/2945/290 4545/2933/242 +f 4533/2935/363 4541/2939/291 4542/2936/240 +f 4518/2938/267 4539/2942/239 4541/2939/291 +f 4535/2929/362 4543/2944/270 4540/2940/238 +f 4538/2941/361 4546/2943/279 4539/2942/239 +f 4537/2934/358 4545/2933/242 4546/2943/279 +f 4534/2937/359 4542/2936/240 4543/2944/270 +f 4532/2923/360 4540/3918/238 4544/2945/290 +f 4558/2946/324 4559/3919/271 4551/2947/238 +f 4556/2949/325 4557/2958/327 4549/2950/240 +f 4561/2952/326 4562/2961/329 4554/2953/279 +f 4559/2955/271 4560/2962/330 4552/2956/290 +f 4557/2958/327 4558/2946/324 4550/2948/270 +f 4555/2959/328 4556/2949/325 4548/2951/291 +f 4562/2961/329 4555/2959/328 4547/2960/239 +f 4560/2962/330 4561/2952/326 4553/2954/242 +f 4561/2963/326 4568/2971/331 4569/2964/332 +f 4557/2965/327 4565/2972/336 4566/2966/333 +f 4555/2959/328 4563/2969/267 4564/2968/334 +f 4555/2959/328 4562/2961/329 4569/2964/332 +f 4561/2963/326 4560/2980/330 4567/2970/335 +f 4556/2949/325 4564/2968/334 4565/2972/336 +f 4565/2972/336 4564/2968/334 4571/2973/337 +f 4568/2971/331 4575/2978/342 4576/2975/339 +f 4566/2966/333 4565/2972/336 4572/2974/338 +f 4563/2969/267 4570/2977/341 4571/2973/337 +f 4563/2969/267 4569/2964/332 4576/2975/339 +f 4567/2970/335 4574/2981/343 4575/2978/342 +f 4575/2983/342 4583/2995/349 4584/2984/344 +f 4572/2985/338 4580/2996/350 4581/2986/345 +f 4570/2977/341 4578/2991/267 4579/2988/346 +f 4573/2987/340 4581/2986/345 4577/2989/347 +f 4576/2975/339 4584/2984/344 4578/2991/267 +f 4559/2992/271 4577/3004/347 4582/2993/348 +f 4574/2994/343 4582/2993/348 4583/2995/349 +f 4571/2973/337 4579/2988/346 4580/2996/350 +f 4577/2989/347 4581/2986/345 4588/2997/351 +f 4582/2993/348 4589/3005/355 4590/2999/352 +f 4580/3001/350 4579/3016/346 4586/3002/353 +f 4577/3004/347 4585/3920/271 4589/3005/355 +f 4583/3000/349 4590/2999/352 4591/3006/356 +f 4581/2986/345 4580/3001/350 4587/3003/354 +f 4589/3005/355 4585/3920/271 4592/3008/360 +f 4590/2999/352 4589/3005/355 4596/3009/357 +f 4586/3002/353 4593/3017/363 4594/3011/359 +f 4588/2997/351 4595/3014/362 4592/3012/360 +f 4591/3006/356 4590/2999/352 4597/3010/358 +f 4588/2997/351 4587/3003/354 4594/3011/359 +f 4596/3009/357 4604/3030/290 4605/3018/242 +f 4593/3020/363 4601/3024/291 4602/3021/240 +f 4578/3023/267 4599/3027/239 4601/3024/291 +f 4595/3014/362 4603/3029/270 4600/3025/238 +f 4598/3026/361 4606/3028/279 4599/3027/239 +f 4597/3019/358 4605/3018/242 4606/3028/279 +f 4594/3022/359 4602/3021/240 4603/3029/270 +f 4592/3008/360 4600/3921/238 4604/3030/290 +f 4618/3031/324 4619/3922/271 4611/3032/238 +f 4616/3034/325 4617/3043/327 4609/3035/240 +f 4621/3037/326 4622/3046/329 4614/3038/279 +f 4619/3040/271 4620/3047/330 4612/3041/290 +f 4617/3043/327 4618/3031/324 4610/3033/270 +f 4615/3044/328 4616/3034/325 4608/3036/291 +f 4622/3046/329 4615/3044/328 4607/3045/239 +f 4620/3047/330 4621/3037/326 4613/3039/242 +f 4622/3046/329 4621/3055/326 4628/3048/331 +f 4617/3050/327 4625/3057/336 4626/3051/333 +f 4615/3044/328 4623/3054/267 4624/3053/334 +f 4622/3046/329 4629/3049/332 4623/3054/267 +f 4621/3055/326 4620/3065/330 4627/3056/335 +f 4616/3034/325 4624/3053/334 4625/3057/336 +f 4625/3057/336 4624/3053/334 4631/3058/337 +f 4628/3048/331 4635/3063/342 4636/3060/339 +f 4626/3051/333 4625/3057/336 4632/3059/338 +f 4623/3054/267 4630/3062/341 4631/3058/337 +f 4623/3054/267 4629/3049/332 4636/3060/339 +f 4627/3056/335 4634/3066/343 4635/3063/342 +f 4635/3068/342 4643/3080/349 4644/3069/344 +f 4632/3070/338 4640/3081/350 4641/3071/345 +f 4630/3062/341 4638/3076/267 4639/3073/346 +f 4633/3072/340 4641/3071/345 4637/3074/347 +f 4636/3060/339 4644/3069/344 4638/3076/267 +f 4619/3077/271 4637/3089/347 4642/3078/348 +f 4634/3079/343 4642/3078/348 4643/3080/349 +f 4631/3058/337 4639/3073/346 4640/3081/350 +f 4637/3074/347 4641/3071/345 4648/3082/351 +f 4642/3078/348 4649/3090/355 4650/3084/352 +f 4640/3086/350 4639/3101/346 4646/3087/353 +f 4637/3089/347 4645/3923/271 4649/3090/355 +f 4643/3085/349 4650/3084/352 4651/3091/356 +f 4641/3071/345 4640/3086/350 4647/3088/354 +f 4649/3090/355 4645/3923/271 4652/3093/360 +f 4650/3084/352 4649/3090/355 4656/3094/357 +f 4646/3087/353 4653/3102/363 4654/3096/359 +f 4648/3082/351 4655/3099/362 4652/3097/360 +f 4651/3091/356 4650/3084/352 4657/3095/358 +f 4647/3088/354 4654/3096/359 4655/3099/362 +f 4656/3094/357 4664/3115/290 4665/3103/242 +f 4653/3105/363 4661/3109/291 4662/3106/240 +f 4638/3108/267 4659/3112/239 4661/3109/291 +f 4655/3099/362 4663/3114/270 4660/3110/238 +f 4658/3111/361 4666/3113/279 4659/3112/239 +f 4657/3104/358 4665/3103/242 4666/3113/279 +f 4654/3107/359 4662/3106/240 4663/3114/270 +f 4652/3093/360 4660/3924/238 4664/3115/290 +f 4678/3116/324 4679/3925/271 4671/3117/238 +f 4676/3119/325 4677/3128/327 4669/3120/240 +f 4681/3122/326 4682/3131/329 4674/3123/279 +f 4679/3125/271 4680/3132/330 4672/3126/290 +f 4677/3128/327 4678/3116/324 4670/3118/270 +f 4675/3129/328 4676/3119/325 4668/3121/291 +f 4682/3131/329 4675/3129/328 4667/3130/239 +f 4680/3132/330 4681/3122/326 4673/3124/242 +f 4681/3133/326 4688/3141/331 4689/3134/332 +f 4677/3135/327 4685/3142/336 4686/3136/333 +f 4676/3119/325 4675/3129/328 4683/3138/267 +f 4682/3131/329 4689/3134/332 4683/3138/267 +f 4681/3133/326 4680/3150/330 4687/3140/335 +f 4676/3119/325 4684/3139/334 4685/3142/336 +f 4685/3142/336 4684/3139/334 4691/3143/337 +f 4688/3141/331 4695/3148/342 4696/3145/339 +f 4686/3136/333 4685/3142/336 4692/3144/338 +f 4683/3138/267 4690/3147/341 4691/3143/337 +f 4683/3138/267 4689/3134/332 4696/3145/339 +f 4687/3140/335 4694/3151/343 4695/3148/342 +f 4695/3153/342 4703/3165/349 4704/3154/344 +f 4692/3155/338 4700/3166/350 4701/3156/345 +f 4690/3147/341 4698/3161/267 4699/3158/346 +f 4693/3157/340 4701/3156/345 4697/3159/347 +f 4696/3145/339 4704/3154/344 4698/3161/267 +f 4679/3162/271 4697/3174/347 4702/3163/348 +f 4694/3164/343 4702/3163/348 4703/3165/349 +f 4691/3143/337 4699/3158/346 4700/3166/350 +f 4697/3159/347 4701/3156/345 4708/3167/351 +f 4702/3163/348 4709/3175/355 4710/3169/352 +f 4700/3171/350 4699/3186/346 4706/3172/353 +f 4697/3174/347 4705/3926/271 4709/3175/355 +f 4703/3170/349 4710/3169/352 4711/3176/356 +f 4701/3156/345 4700/3171/350 4707/3173/354 +f 4709/3175/355 4705/3926/271 4712/3178/360 +f 4710/3169/352 4709/3175/355 4716/3179/357 +f 4706/3172/353 4713/3187/363 4714/3181/359 +f 4708/3167/351 4715/3184/362 4712/3182/360 +f 4711/3176/356 4710/3169/352 4717/3180/358 +f 4708/3167/351 4707/3173/354 4714/3181/359 +f 4716/3179/357 4724/3200/290 4725/3188/242 +f 4713/3190/363 4721/3194/291 4722/3191/240 +f 4698/3193/267 4719/3197/239 4721/3194/291 +f 4715/3184/362 4723/3199/270 4720/3195/238 +f 4718/3196/361 4726/3198/279 4719/3197/239 +f 4717/3189/358 4725/3188/242 4726/3198/279 +f 4714/3192/359 4722/3191/240 4723/3199/270 +f 4712/3178/360 4720/3927/238 4724/3200/290 +f 4738/3201/384 4739/3928/265 4731/3202/238 +f 4736/3204/385 4737/3213/387 4729/3205/242 +f 4741/3207/386 4742/3216/389 4734/3208/291 +f 4739/3210/265 4740/3217/390 4732/3211/270 +f 4737/3213/387 4738/3201/384 4730/3203/290 +f 4735/3214/388 4736/3204/385 4728/3206/279 +f 4742/3216/389 4735/3214/388 4727/3215/239 +f 4740/3217/390 4741/3207/386 4733/3209/240 +f 4742/3216/389 4741/3226/386 4748/3218/391 +f 4738/3220/384 4737/3227/387 4745/3221/393 +f 4735/3214/388 4743/3224/269 4744/3223/395 +f 4735/3214/388 4742/3216/389 4749/3219/392 +f 4740/3225/390 4747/3233/401 4748/3218/391 +f 4737/3227/387 4736/3204/385 4744/3223/395 +f 4745/3221/393 4744/3223/395 4751/3228/396 +f 4748/3218/391 4755/3234/402 4756/3230/398 +f 4746/3222/394 4745/3221/393 4752/3229/397 +f 4743/3224/269 4750/3232/400 4751/3228/396 +f 4743/3224/269 4749/3219/392 4756/3230/398 +f 4747/3233/401 4754/3236/403 4755/3234/402 +f 4755/3238/402 4763/3250/409 4764/3239/404 +f 4752/3240/397 4760/3251/410 4761/3241/405 +f 4750/3232/400 4758/3246/269 4759/3243/406 +f 4753/3242/399 4761/3241/405 4757/3244/407 +f 4756/3230/398 4764/3239/404 4758/3246/269 +f 4739/3247/265 4757/3259/407 4762/3248/408 +f 4754/3249/403 4762/3248/408 4763/3250/409 +f 4751/3228/396 4759/3243/406 4760/3251/410 +f 4757/3244/407 4761/3241/405 4768/3252/411 +f 4762/3248/408 4769/3260/415 4770/3254/412 +f 4760/3256/410 4759/3271/406 4766/3257/413 +f 4757/3259/407 4765/3929/265 4769/3260/415 +f 4763/3255/409 4770/3254/412 4771/3261/416 +f 4761/3241/405 4760/3256/410 4767/3258/414 +f 4769/3260/415 4765/3929/265 4772/3263/417 +f 4770/3254/412 4769/3260/415 4776/3264/418 +f 4766/3257/413 4773/3272/423 4774/3266/420 +f 4768/3252/411 4775/3269/422 4772/3267/417 +f 4771/3261/416 4770/3254/412 4777/3265/419 +f 4767/3258/414 4774/3266/420 4775/3269/422 +f 4776/3264/418 4784/3285/270 4785/3273/240 +f 4774/3275/420 4773/3279/423 4781/3276/279 +f 4758/3278/269 4779/3282/239 4781/3276/279 +f 4775/3269/422 4783/3284/290 4780/3280/238 +f 4778/3281/421 4786/3283/291 4779/3282/239 +f 4777/3274/419 4785/3273/240 4786/3283/291 +f 4774/3275/420 4782/3277/242 4783/3284/290 +f 4772/3263/417 4780/3930/238 4784/3285/270 +f 4798/3286/384 4799/3931/265 4791/3287/238 +f 4796/3289/385 4797/3298/387 4789/3290/242 +f 4801/3292/386 4802/3301/389 4794/3293/291 +f 4799/3295/265 4800/3302/390 4792/3296/270 +f 4797/3298/387 4798/3286/384 4790/3288/290 +f 4795/3299/388 4796/3289/385 4788/3291/279 +f 4802/3301/389 4795/3299/388 4787/3300/239 +f 4800/3302/390 4801/3292/386 4793/3294/240 +f 4802/3301/389 4801/3310/386 4808/3303/391 +f 4797/3305/387 4805/3312/393 4806/3306/394 +f 4795/3299/388 4803/3309/269 4804/3308/395 +f 4795/3299/388 4802/3301/389 4809/3304/392 +f 4801/3310/386 4800/3320/390 4807/3311/401 +f 4796/3289/385 4804/3308/395 4805/3312/393 +f 4805/3312/393 4804/3308/395 4811/3313/396 +f 4808/3303/391 4815/3318/402 4816/3315/398 +f 4806/3306/394 4805/3312/393 4812/3314/397 +f 4803/3309/269 4810/3317/400 4811/3313/396 +f 4803/3309/269 4809/3304/392 4816/3315/398 +f 4807/3311/401 4814/3321/403 4815/3318/402 +f 4815/3323/402 4823/3335/409 4824/3324/404 +f 4812/3325/397 4820/3336/410 4821/3326/405 +f 4810/3317/400 4818/3331/269 4819/3328/406 +f 4813/3327/399 4821/3326/405 4817/3329/407 +f 4816/3315/398 4824/3324/404 4818/3331/269 +f 4799/3332/265 4817/3343/407 4822/3333/408 +f 4814/3334/403 4822/3333/408 4823/3335/409 +f 4811/3313/396 4819/3328/406 4820/3336/410 +f 4821/3326/405 4828/3347/411 4825/3337/265 +f 4822/3333/408 4829/3344/415 4830/3338/412 +f 4820/3340/410 4819/3356/406 4826/3341/413 +f 4817/3343/407 4825/3932/265 4829/3344/415 +f 4823/3339/409 4830/3338/412 4831/3345/416 +f 4821/3326/405 4820/3340/410 4827/3342/414 +f 4829/3344/415 4825/3932/265 4832/3348/417 +f 4830/3338/412 4829/3344/415 4836/3349/418 +f 4826/3341/413 4833/3357/423 4834/3351/420 +f 4828/3347/411 4835/3354/422 4832/3352/417 +f 4831/3345/416 4830/3338/412 4837/3350/419 +f 4827/3342/414 4834/3351/420 4835/3354/422 +f 4836/3349/418 4844/3370/270 4845/3358/240 +f 4833/3360/423 4841/3364/279 4842/3361/242 +f 4818/3363/269 4839/3367/239 4841/3364/279 +f 4835/3354/422 4843/3369/290 4840/3365/238 +f 4838/3366/421 4846/3368/291 4839/3367/239 +f 4837/3359/419 4845/3358/240 4846/3368/291 +f 4834/3362/420 4842/3361/242 4843/3369/290 +f 4832/3348/417 4840/3933/238 4844/3370/270 +f 4858/3371/384 4859/3934/265 4851/3372/238 +f 4856/3374/385 4857/3383/387 4849/3375/242 +f 4861/3377/386 4862/3386/389 4854/3378/291 +f 4859/3380/265 4860/3387/390 4852/3381/270 +f 4857/3383/387 4858/3371/384 4850/3373/290 +f 4855/3384/388 4856/3374/385 4848/3376/279 +f 4862/3386/389 4855/3384/388 4847/3385/239 +f 4860/3387/390 4861/3377/386 4853/3379/240 +f 4862/3386/389 4861/3395/386 4868/3388/391 +f 4857/3390/387 4865/3397/393 4866/3391/394 +f 4855/3384/388 4863/3394/269 4864/3393/395 +f 4855/3384/388 4862/3386/389 4869/3389/392 +f 4861/3395/386 4860/3405/390 4867/3396/401 +f 4856/3374/385 4864/3393/395 4865/3397/393 +f 4864/3393/395 4871/3401/396 4872/3398/397 +f 4868/3388/391 4875/3403/402 4876/3399/398 +f 4866/3391/394 4865/3397/393 4872/3398/397 +f 4863/3394/269 4870/3402/400 4871/3401/396 +f 4863/3394/269 4869/3389/392 4876/3399/398 +f 4867/3396/401 4874/3406/403 4875/3403/402 +f 4875/3408/402 4883/3420/409 4884/3409/404 +f 4872/3410/397 4880/3421/410 4881/3411/405 +f 4870/3402/400 4878/3416/269 4879/3413/406 +f 4873/3412/399 4881/3411/405 4877/3414/407 +f 4876/3399/398 4884/3409/404 4878/3416/269 +f 4859/3417/265 4877/3429/407 4882/3418/408 +f 4874/3419/403 4882/3418/408 4883/3420/409 +f 4871/3401/396 4879/3413/406 4880/3421/410 +f 4877/3414/407 4881/3411/405 4888/3422/411 +f 4882/3418/408 4889/3430/415 4890/3424/412 +f 4880/3426/410 4879/3441/406 4886/3427/413 +f 4877/3429/407 4885/3935/265 4889/3430/415 +f 4883/3425/409 4890/3424/412 4891/3431/416 +f 4881/3411/405 4880/3426/410 4887/3428/414 +f 4889/3430/415 4885/3935/265 4892/3433/417 +f 4890/3424/412 4889/3430/415 4896/3434/418 +f 4886/3427/413 4893/3442/423 4894/3436/420 +f 4888/3422/411 4895/3439/422 4892/3437/417 +f 4891/3431/416 4890/3424/412 4897/3435/419 +f 4887/3428/414 4894/3436/420 4895/3439/422 +f 4896/3434/418 4904/3455/270 4905/3443/240 +f 4893/3445/423 4901/3449/279 4902/3446/242 +f 4878/3448/269 4899/3452/239 4901/3449/279 +f 4895/3439/422 4903/3454/290 4900/3450/238 +f 4898/3451/421 4906/3453/291 4899/3452/239 +f 4897/3444/419 4905/3443/240 4906/3453/291 +f 4894/3447/420 4902/3446/242 4903/3454/290 +f 4892/3433/417 4900/3936/238 4904/3455/270 +f 4910/3456/290 4918/3937/384 4919/3457/265 +f 4916/3459/385 4917/3468/387 4909/3460/242 +f 4921/3462/386 4922/3471/389 4914/3463/291 +f 4919/3465/265 4920/3472/390 4912/3466/270 +f 4917/3468/387 4918/3937/384 4910/3456/290 +f 4915/3469/388 4916/3459/385 4908/3461/279 +f 4922/3471/389 4915/3469/388 4907/3470/239 +f 4920/3472/390 4921/3462/386 4913/3464/240 +f 4921/3473/386 4928/3481/391 4929/3474/392 +f 4917/3475/387 4925/3482/393 4926/3476/394 +f 4915/3469/388 4923/3479/269 4924/3478/395 +f 4915/3469/388 4922/3471/389 4929/3474/392 +f 4921/3473/386 4920/3490/390 4927/3480/401 +f 4916/3459/385 4924/3478/395 4925/3482/393 +f 4925/3482/393 4924/3478/395 4931/3483/396 +f 4928/3481/391 4935/3488/402 4936/3485/398 +f 4926/3476/394 4925/3482/393 4932/3484/397 +f 4923/3479/269 4930/3487/400 4931/3483/396 +f 4923/3479/269 4929/3474/392 4936/3485/398 +f 4927/3480/401 4934/3491/403 4935/3488/402 +f 4935/3493/402 4943/3505/409 4944/3494/404 +f 4932/3495/397 4940/3506/410 4941/3496/405 +f 4930/3487/400 4938/3501/269 4939/3498/406 +f 4933/3497/399 4941/3496/405 4937/3499/407 +f 4936/3485/398 4944/3494/404 4938/3501/269 +f 4919/3502/265 4937/3514/407 4942/3503/408 +f 4934/3504/403 4942/3503/408 4943/3505/409 +f 4931/3483/396 4939/3498/406 4940/3506/410 +f 4937/3499/407 4941/3496/405 4948/3507/411 +f 4942/3503/408 4949/3515/415 4950/3509/412 +f 4940/3511/410 4939/3526/406 4946/3512/413 +f 4937/3514/407 4945/3938/265 4949/3515/415 +f 4943/3510/409 4950/3509/412 4951/3516/416 +f 4941/3496/405 4940/3511/410 4947/3513/414 +f 4949/3515/415 4945/3938/265 4952/3518/417 +f 4950/3509/412 4949/3515/415 4956/3519/418 +f 4946/3512/413 4953/3527/423 4954/3521/420 +f 4945/3508/265 4948/3507/411 4955/3522/422 +f 4951/3516/416 4950/3509/412 4957/3520/419 +f 4947/3513/414 4954/3521/420 4955/3522/422 +f 4956/3519/418 4964/3540/270 4965/3528/240 +f 4954/3530/420 4953/3533/423 4961/3531/279 +f 4953/3533/423 4938/3536/269 4959/3534/239 +f 4955/3522/422 4963/3539/290 4960/3535/238 +f 4938/3536/269 4958/3538/421 4966/3537/291 +f 4958/3538/421 4957/3529/419 4965/3528/240 +f 4954/3530/420 4962/3532/242 4963/3539/290 +f 4952/3518/417 4960/3939/238 4964/3540/270 +f 4978/3541/384 4979/3940/265 4971/3542/238 +f 4976/3544/385 4977/3553/387 4969/3545/242 +f 4981/3547/386 4982/3556/389 4974/3548/291 +f 4979/3550/265 4980/3557/390 4972/3551/270 +f 4977/3553/387 4978/3541/384 4970/3543/290 +f 4975/3554/388 4976/3544/385 4968/3546/279 +f 4982/3556/389 4975/3554/388 4967/3555/239 +f 4980/3557/390 4981/3547/386 4973/3549/240 +f 4982/3556/389 4981/3565/386 4988/3558/391 +f 4977/3560/387 4985/3567/393 4986/3561/394 +f 4975/3554/388 4983/3564/269 4984/3563/395 +f 4982/3556/389 4989/3559/392 4983/3564/269 +f 4981/3565/386 4980/3575/390 4987/3566/401 +f 4976/3544/385 4984/3563/395 4985/3567/393 +f 4985/3567/393 4984/3563/395 4991/3568/396 +f 4988/3558/391 4995/3573/402 4996/3570/398 +f 4986/3561/394 4985/3567/393 4992/3569/397 +f 4983/3564/269 4990/3572/400 4991/3568/396 +f 4983/3564/269 4989/3559/392 4996/3570/398 +f 4987/3566/401 4994/3576/403 4995/3573/402 +f 4995/3578/402 5003/3590/409 5004/3579/404 +f 4992/3580/397 5000/3591/410 5001/3581/405 +f 4990/3572/400 4998/3586/269 4999/3583/406 +f 4993/3582/399 5001/3581/405 4997/3584/407 +f 4996/3570/398 5004/3579/404 4998/3586/269 +f 4979/3587/265 4997/3599/407 5002/3588/408 +f 4994/3589/403 5002/3588/408 5003/3590/409 +f 4991/3568/396 4999/3583/406 5000/3591/410 +f 4997/3584/407 5001/3581/405 5008/3592/411 +f 5002/3588/408 5009/3600/415 5010/3594/412 +f 5000/3596/410 4999/3611/406 5006/3597/413 +f 4997/3599/407 5005/3941/265 5009/3600/415 +f 5003/3595/409 5010/3594/412 5011/3601/416 +f 5001/3581/405 5000/3596/410 5007/3598/414 +f 5009/3600/415 5005/3941/265 5012/3603/417 +f 5010/3594/412 5009/3600/415 5016/3604/418 +f 5006/3597/413 5013/3612/423 5014/3606/420 +f 5008/3592/411 5015/3609/422 5012/3607/417 +f 5011/3601/416 5010/3594/412 5017/3605/419 +f 5007/3598/414 5014/3606/420 5015/3609/422 +f 5016/3604/418 5024/3625/270 5025/3613/240 +f 5013/3615/423 5021/3619/279 5022/3616/242 +f 4998/3618/269 5019/3622/239 5021/3619/279 +f 5015/3609/422 5023/3624/290 5020/3620/238 +f 5018/3621/421 5026/3623/291 5019/3622/239 +f 5017/3614/419 5025/3613/240 5026/3623/291 +f 5014/3617/420 5022/3616/242 5023/3624/290 +f 5012/3603/417 5020/3942/238 5024/3625/270 +f 5038/3626/384 5039/3943/265 5031/3627/238 +f 5036/3629/385 5037/3638/387 5029/3630/242 +f 5041/3632/386 5042/3641/389 5034/3633/291 +f 5039/3635/265 5040/3642/390 5032/3636/270 +f 5037/3638/387 5038/3626/384 5030/3628/290 +f 5035/3639/388 5036/3629/385 5028/3631/279 +f 5042/3641/389 5035/3639/388 5027/3640/239 +f 5040/3642/390 5041/3632/386 5033/3634/240 +f 5041/3643/386 5048/3651/391 5049/3644/392 +f 5037/3645/387 5045/3652/393 5046/3646/394 +f 5036/3629/385 5035/3639/388 5043/3648/269 +f 5042/3641/389 5049/3644/392 5043/3648/269 +f 5041/3643/386 5040/3660/390 5047/3650/401 +f 5036/3629/385 5044/3649/395 5045/3652/393 +f 5045/3652/393 5044/3649/395 5051/3653/396 +f 5048/3651/391 5055/3658/402 5056/3655/398 +f 5046/3646/394 5045/3652/393 5052/3654/397 +f 5043/3648/269 5050/3657/400 5051/3653/396 +f 5043/3648/269 5049/3644/392 5056/3655/398 +f 5047/3650/401 5054/3661/403 5055/3658/402 +f 5055/3663/402 5063/3675/409 5064/3664/404 +f 5052/3665/397 5060/3676/410 5061/3666/405 +f 5050/3657/400 5058/3671/269 5059/3668/406 +f 5053/3667/399 5061/3666/405 5057/3669/407 +f 5056/3655/398 5064/3664/404 5058/3671/269 +f 5039/3672/265 5057/3684/407 5062/3673/408 +f 5054/3674/403 5062/3673/408 5063/3675/409 +f 5051/3653/396 5059/3668/406 5060/3676/410 +f 5057/3669/407 5061/3666/405 5068/3677/411 +f 5062/3673/408 5069/3685/415 5070/3679/412 +f 5060/3681/410 5059/3696/406 5066/3682/413 +f 5057/3684/407 5065/3944/265 5069/3685/415 +f 5063/3680/409 5070/3679/412 5071/3686/416 +f 5061/3666/405 5060/3681/410 5067/3683/414 +f 5069/3685/415 5065/3944/265 5072/3688/417 +f 5070/3679/412 5069/3685/415 5076/3689/418 +f 5066/3682/413 5073/3697/423 5074/3691/420 +f 5068/3677/411 5075/3694/422 5072/3692/417 +f 5071/3686/416 5070/3679/412 5077/3690/419 +f 5068/3677/411 5067/3683/414 5074/3691/420 +f 5076/3689/418 5084/3710/270 5085/3698/240 +f 5073/3700/423 5081/3704/279 5082/3701/242 +f 5058/3703/269 5079/3707/239 5081/3704/279 +f 5075/3694/422 5083/3709/290 5080/3705/238 +f 5078/3706/421 5086/3708/291 5079/3707/239 +f 5077/3699/419 5085/3698/240 5086/3708/291 +f 5074/3702/420 5082/3701/242 5083/3709/290 +f 5072/3688/417 5080/3945/238 5084/3710/270 +f 5404/3711/239 5403/3724/291 5395/3712/291 +f 5402/3714/240 5401/3725/270 5393/3715/270 +f 5400/3717/238 5399/3727/290 5391/3718/290 +f 5406/3720/242 5405/3723/279 5397/3721/279 +f 5405/3723/279 5404/3711/239 5396/3713/239 +f 5403/3724/291 5402/3714/240 5394/3716/240 +f 5401/3725/270 5400/3946/238 5392/3726/238 +f 5399/3727/290 5406/3720/242 5398/3722/242 +f 5420/3728/239 5419/3741/291 5411/3729/291 +f 5418/3731/240 5417/3742/270 5409/3732/270 +f 5416/3734/238 5415/3744/290 5407/3735/290 +f 5422/3737/242 5421/3740/279 5413/3738/279 +f 5421/3740/279 5420/3728/239 5412/3730/239 +f 5419/3741/291 5418/3731/240 5410/3733/240 +f 5417/3742/270 5416/3947/238 5408/3743/238 +f 5415/3744/290 5422/3737/242 5414/3739/242 +f 5436/3745/239 5435/3758/291 5427/3746/291 +f 5434/3748/240 5433/3759/270 5425/3749/270 +f 5432/3751/238 5431/3761/290 5423/3752/290 +f 5438/3754/242 5437/3757/279 5429/3755/279 +f 5437/3757/279 5436/3745/239 5428/3747/239 +f 5435/3758/291 5434/3748/240 5426/3750/240 +f 5433/3759/270 5432/3948/238 5424/3760/238 +f 5431/3761/290 5438/3754/242 5430/3756/242 +f 5452/3762/239 5451/3775/291 5443/3763/291 +f 5450/3765/240 5449/3776/270 5441/3766/270 +f 5448/3768/238 5447/3778/290 5439/3769/290 +f 5454/3771/242 5453/3774/279 5445/3772/279 +f 5453/3774/279 5452/3762/239 5444/3764/239 +f 5451/3775/291 5450/3765/240 5442/3767/240 +f 5449/3776/270 5448/3949/238 5440/3777/238 +f 5447/3778/290 5454/3771/242 5446/3773/242 +f 5468/3779/239 5467/3792/291 5459/3780/291 +f 5466/3782/240 5465/3793/270 5457/3783/270 +f 5464/3785/238 5463/3795/290 5455/3786/290 +f 5470/3788/242 5469/3791/279 5461/3789/279 +f 5469/3791/279 5468/3779/239 5460/3781/239 +f 5467/3792/291 5466/3782/240 5458/3784/240 +f 5465/3793/270 5464/3950/238 5456/3794/238 +f 5463/3795/290 5470/3788/242 5462/3790/242 +f 5484/3796/239 5483/3809/291 5475/3797/291 +f 5482/3799/240 5481/3810/270 5473/3800/270 +f 5480/3802/238 5479/3812/290 5471/3803/290 +f 5486/3805/242 5485/3808/279 5477/3806/279 +f 5485/3808/279 5484/3796/239 5476/3798/239 +f 5483/3809/291 5482/3799/240 5474/3801/240 +f 5481/3810/270 5480/3951/238 5472/3811/238 +f 5479/3812/290 5486/3805/242 5478/3807/242 +f 5500/3813/239 5499/3826/291 5491/3814/291 +f 5498/3816/240 5497/3827/270 5489/3817/270 +f 5496/3819/238 5495/3829/290 5487/3820/290 +f 5502/3822/242 5501/3825/279 5493/3823/279 +f 5501/3825/279 5500/3813/239 5492/3815/239 +f 5499/3826/291 5498/3816/240 5490/3818/240 +f 5497/3827/270 5496/3952/238 5488/3828/238 +f 5495/3829/290 5502/3822/242 5494/3824/242 +f 5516/3830/239 5515/3843/291 5507/3831/291 +f 5514/3833/240 5513/3844/270 5505/3834/270 +f 5512/3836/238 5511/3846/290 5503/3837/290 +f 5518/3839/242 5517/3842/279 5509/3840/279 +f 5517/3842/279 5516/3830/239 5508/3832/239 +f 5515/3843/291 5514/3833/240 5506/3835/240 +f 5513/3844/270 5512/3953/238 5504/3845/238 +f 5511/3846/290 5518/3839/242 5510/3841/242 +f 5532/3847/239 5531/3860/291 5523/3848/291 +f 5530/3850/240 5529/3861/270 5521/3851/270 +f 5528/3853/238 5527/3863/290 5519/3854/290 +f 5534/3856/242 5533/3859/279 5525/3857/279 +f 5533/3859/279 5532/3847/239 5524/3849/239 +f 5531/3860/291 5530/3850/240 5522/3852/240 +f 5529/3861/270 5528/3954/238 5520/3862/238 +f 5527/3863/290 5534/3856/242 5526/3858/242 diff --git a/src/main/resources/assets/hbm/models/machines/chemical_plant.obj b/src/main/resources/assets/hbm/models/machines/chemical_plant.obj new file mode 100644 index 000000000..a7db83f49 --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/chemical_plant.obj @@ -0,0 +1,5098 @@ +# Blender v2.79 (sub 0) OBJ File: 'chemplant2.blend' +# www.blender.org +o Fluid +v 0.500000 1.375000 -0.375000 +v 0.165152 1.375000 -0.308394 +v -0.118718 1.375000 -0.118718 +v -0.308394 1.375000 0.165152 +v -0.375000 1.375000 0.500000 +v -0.308394 1.375000 0.834848 +v -0.118718 1.375000 1.118718 +v 0.165152 1.375000 1.308394 +v 0.500000 1.375000 1.375000 +v 0.834848 1.375000 1.308394 +v 1.118718 1.375000 1.118719 +v 1.308394 1.375000 0.834848 +v 1.375000 1.375000 0.500000 +v 1.308394 1.375000 0.165152 +v 1.118718 1.375000 -0.118719 +v 0.834847 1.375000 -0.308395 +v -0.118718 1.000000 1.118718 +v 0.165152 1.000000 1.308394 +v 0.500000 1.000000 1.375000 +v 0.834848 1.000000 1.308394 +v 1.118718 1.000000 1.118719 +v 1.308394 1.000000 0.834848 +v 1.375000 1.000000 0.500000 +v 1.308394 1.000000 0.165152 +v 1.118718 1.000000 -0.118719 +v 0.500000 1.375000 0.500000 +vt 0.687500 -0.000000 +vt 0.750000 -0.000000 +vt 0.718750 1.000000 +vt 0.812500 -0.000000 +vt 0.781250 1.000000 +vt 0.875000 0.000000 +vt 0.843750 1.000000 +vt 0.937500 -0.000000 +vt 0.906250 1.000000 +vt 1.000000 -0.000000 +vt 0.968750 1.000000 +vt -0.000000 -0.000000 +vt 0.062500 0.000000 +vt 0.031250 1.000000 +vt 0.125000 -0.000000 +vt 0.093750 1.000000 +vt 0.187500 -0.000000 +vt 0.156250 1.000000 +vt 0.250000 0.000000 +vt 0.218750 1.000000 +vt 0.312500 0.000000 +vt 0.281250 1.000000 +vt 0.375000 0.000000 +vt 0.343750 1.000000 +vt 0.437500 0.000000 +vt 0.406250 1.000000 +vt 0.500000 -0.000000 +vt 0.468750 1.000000 +vt 0.562500 -0.000000 +vt 0.531250 1.000000 +vt 0.625000 -0.000000 +vt 0.593750 1.000000 +vt 0.656250 1.000000 +vt -0.000000 -0.000000 +vt 0.062500 0.428571 +vt -0.000000 0.428571 +vt 0.062500 -0.000000 +vt 0.125000 0.428571 +vt 0.125000 -0.000000 +vt 0.187500 0.428571 +vt 0.187500 -0.000000 +vt 0.250000 0.428571 +vt 0.250000 0.000000 +vt 0.312500 0.428571 +vt 0.312500 0.000000 +vt 0.375000 0.428571 +vt 0.375000 0.000000 +vt 0.437500 0.428571 +vt 0.500000 -0.000000 +vt 0.437500 -0.000000 +vt 0.500000 0.428571 +vn 0.0000 1.0000 0.0000 +vn -0.5556 0.0000 0.8315 +vn -0.3827 0.0000 0.9239 +vn 0.0000 0.0000 1.0000 +vn 0.3827 0.0000 0.9239 +vn 0.7071 0.0000 0.7071 +vn 0.9239 0.0000 0.3827 +vn 1.0000 0.0000 -0.0000 +vn 0.9239 0.0000 -0.3827 +vn 0.8315 0.0000 -0.5556 +s off +f 2/1/1 3/2/1 26/3/1 +f 3/2/1 4/4/1 26/5/1 +f 4/4/1 5/6/1 26/7/1 +f 5/6/1 6/8/1 26/9/1 +f 6/8/1 7/10/1 26/11/1 +f 7/12/1 8/13/1 26/14/1 +f 8/13/1 9/15/1 26/16/1 +f 9/15/1 10/17/1 26/18/1 +f 10/17/1 11/19/1 26/20/1 +f 11/19/1 12/21/1 26/22/1 +f 12/21/1 13/23/1 26/24/1 +f 13/23/1 14/25/1 26/26/1 +f 14/25/1 15/27/1 26/28/1 +f 15/27/1 16/29/1 26/30/1 +f 16/29/1 1/31/1 26/32/1 +f 1/31/1 2/1/1 26/33/1 +s 1 +f 17/34/2 8/35/3 7/36/2 +f 18/37/3 9/38/4 8/35/3 +f 19/39/4 10/40/5 9/38/4 +f 20/41/5 11/42/6 10/40/5 +f 21/43/6 12/44/7 11/42/6 +f 22/45/7 13/46/8 12/44/7 +f 23/47/8 14/48/9 13/46/8 +f 25/49/10 14/48/9 24/50/9 +f 17/34/2 18/37/3 8/35/3 +f 18/37/3 19/39/4 9/38/4 +f 19/39/4 20/41/5 10/40/5 +f 20/41/5 21/43/6 11/42/6 +f 21/43/6 22/45/7 12/44/7 +f 22/45/7 23/47/8 13/46/8 +f 23/47/8 24/50/9 14/48/9 +f 25/49/10 15/51/10 14/48/9 +o Spinner +v 0.500000 0.875000 0.250000 +v 0.323223 0.875000 0.323223 +v 0.250000 0.875000 0.500000 +v 0.323223 0.875000 0.676777 +v 0.500000 0.875000 0.750000 +v 0.676777 0.875000 0.676777 +v 0.750000 0.875000 0.500000 +v 0.676777 0.875000 0.323223 +v 0.500000 1.625000 0.250000 +v 0.323223 1.625000 0.323223 +v 0.250000 1.625000 0.500000 +v 0.323223 1.625000 0.676777 +v 0.500000 1.625000 0.750000 +v 0.676777 1.625000 0.676777 +v 0.750000 1.625000 0.500000 +v 0.676777 1.625000 0.323223 +v 0.625000 0.875000 0.562500 +v 1.250000 0.875000 0.562500 +v 0.625000 0.875000 0.437500 +v 1.250000 0.875000 0.437500 +v -0.250000 0.875000 0.562500 +v 0.375000 0.875000 0.562500 +v 1.250000 1.125000 0.562500 +v 1.250000 1.125000 0.437500 +v -0.250000 0.875000 0.437500 +v 1.250000 1.250000 0.562500 +v 0.375000 0.875000 0.437500 +v 1.250000 1.250000 0.437500 +v 0.625000 1.625000 0.437500 +v 0.625000 1.625000 0.562500 +v 1.250000 1.625000 0.562500 +v 1.250000 1.625000 0.437500 +v 0.875000 1.125000 0.562500 +v 0.875000 1.125000 0.437500 +v 0.875000 1.250000 0.562500 +v 0.875000 1.250000 0.437500 +v -0.250000 1.125000 0.437500 +v -0.250000 1.125000 0.562500 +v -0.250000 1.250000 0.437500 +v -0.250000 1.250000 0.562500 +v 0.375000 1.625000 0.562500 +v 0.375000 1.625000 0.437500 +v -0.250000 1.625000 0.437500 +v -0.250000 1.625000 0.562500 +v 0.125000 1.125000 0.437500 +v 0.125000 1.125000 0.562500 +v 0.125000 1.250000 0.437500 +v 0.125000 1.250000 0.562500 +v 0.562500 0.875000 0.375000 +v 0.562500 0.875000 -0.250000 +v 0.437500 0.875000 0.375000 +v 0.437500 0.875000 -0.250000 +v 0.562500 0.875000 1.250000 +v 0.562500 0.875000 0.625000 +v 0.562500 1.125000 -0.250000 +v 0.437500 1.125000 -0.250000 +v 0.437500 0.875000 1.250000 +v 0.562500 1.250000 -0.250000 +v 0.437500 0.875000 0.625000 +v 0.437500 1.250000 -0.250000 +v 0.437500 1.625000 0.375000 +v 0.562500 1.625000 0.375000 +v 0.562500 1.625000 -0.250000 +v 0.437500 1.625000 -0.250000 +v 0.562500 1.125000 0.125000 +v 0.437500 1.125000 0.125000 +v 0.562500 1.250000 0.125000 +v 0.437500 1.250000 0.125000 +v 0.437500 1.125000 1.250000 +v 0.562500 1.125000 1.250000 +v 0.437500 1.250000 1.250000 +v 0.562500 1.250000 1.250000 +v 0.562500 1.625000 0.625000 +v 0.437500 1.625000 0.625000 +v 0.437500 1.625000 1.250000 +v 0.562500 1.625000 1.250000 +v 0.437500 1.125000 0.875000 +v 0.562500 1.125000 0.875000 +v 0.437500 1.250000 0.875000 +v 0.562500 1.250000 0.875000 +v 0.632582 0.875000 0.455806 +v 1.074524 0.875000 0.013864 +v 0.544194 0.875000 0.367417 +v 0.986136 0.875000 -0.074524 +v 0.013864 0.875000 1.074524 +v 0.455806 0.875000 0.632583 +v 1.074524 1.125000 0.013864 +v 0.986136 1.125000 -0.074524 +v -0.074524 0.875000 0.986136 +v 1.074524 1.250000 0.013864 +v 0.367417 0.875000 0.544194 +v 0.986136 1.250000 -0.074524 +v 0.544194 1.625000 0.367417 +v 0.632582 1.625000 0.455806 +v 1.074524 1.625000 0.013864 +v 0.986136 1.625000 -0.074524 +v 0.809359 1.125000 0.279029 +v 0.720971 1.125000 0.190640 +v 0.809359 1.250000 0.279029 +v 0.720971 1.250000 0.190640 +v -0.074524 1.125000 0.986136 +v 0.013864 1.125000 1.074524 +v -0.074524 1.250000 0.986136 +v 0.013864 1.250000 1.074524 +v 0.455806 1.625000 0.632583 +v 0.367417 1.625000 0.544194 +v -0.074524 1.625000 0.986136 +v 0.013864 1.625000 1.074524 +v 0.190641 1.125000 0.720971 +v 0.279029 1.125000 0.809359 +v 0.190641 1.250000 0.720971 +v 0.279029 1.250000 0.809359 +v 0.455806 0.875000 0.367417 +v 0.013864 0.875000 -0.074524 +v 0.367417 0.875000 0.455806 +v -0.074524 0.875000 0.013864 +v 1.074524 0.875000 0.986135 +v 0.632582 0.875000 0.544194 +v 0.013864 1.125000 -0.074524 +v -0.074524 1.125000 0.013864 +v 0.986136 0.875000 1.074524 +v 0.013864 1.250000 -0.074524 +v 0.544194 0.875000 0.632583 +v -0.074524 1.250000 0.013864 +v 0.367417 1.625000 0.455806 +v 0.455806 1.625000 0.367417 +v 0.013864 1.625000 -0.074524 +v -0.074524 1.625000 0.013864 +v 0.279029 1.125000 0.190641 +v 0.190641 1.125000 0.279029 +v 0.279029 1.250000 0.190641 +v 0.190641 1.250000 0.279029 +v 0.986136 1.125000 1.074524 +v 1.074524 1.125000 0.986135 +v 0.986136 1.250000 1.074524 +v 1.074524 1.250000 0.986135 +v 0.632582 1.625000 0.544194 +v 0.544194 1.625000 0.632583 +v 0.986136 1.625000 1.074524 +v 1.074524 1.625000 0.986135 +v 0.720971 1.125000 0.809359 +v 0.809359 1.125000 0.720971 +v 0.720971 1.250000 0.809359 +v 0.809359 1.250000 0.720971 +vt 0.331731 0.714286 +vt 0.317308 0.800000 +vt 0.317308 0.714286 +vt 0.302885 0.714286 +vt 0.288462 0.800000 +vt 0.288462 0.714286 +vt 0.274038 0.714286 +vt 0.259615 0.800000 +vt 0.259615 0.714286 +vt 0.360577 0.714286 +vt 0.346154 0.800000 +vt 0.346154 0.714286 +vt 0.331731 0.800000 +vt 0.302885 0.800000 +vt 0.274038 0.800000 +vt 0.375000 0.714286 +vt 0.360577 0.800000 +vt 0.173077 0.742857 +vt 0.201923 0.757143 +vt 0.173077 0.757143 +vt 0.173077 0.742857 +vt 0.201923 0.757143 +vt 0.173077 0.757143 +vt 0.211538 0.714286 +vt 0.201923 0.742857 +vt 0.201923 0.714286 +vt 0.173077 0.757143 +vt 0.201923 0.800000 +vt 0.153846 0.800000 +vt 0.153846 0.714286 +vt 0.173077 0.742857 +vt 0.211538 0.714286 +vt 0.201923 0.742857 +vt 0.201923 0.714286 +vt 0.211538 0.742857 +vt 0.240385 0.757143 +vt 0.211538 0.757143 +vt 0.211538 0.757143 +vt 0.201923 0.757143 +vt 0.211538 0.800000 +vt 0.240385 0.757143 +vt 0.259615 0.800000 +vt 0.240385 0.742857 +vt 0.259615 0.714286 +vt 0.173077 0.757143 +vt 0.201923 0.800000 +vt 0.153846 0.800000 +vt 0.153846 0.714286 +vt 0.173077 0.742857 +vt 0.211538 0.742857 +vt 0.240385 0.757143 +vt 0.211538 0.757143 +vt 0.211538 0.757143 +vt 0.201923 0.757143 +vt 0.211538 0.800000 +vt 0.240385 0.757143 +vt 0.259615 0.800000 +vt 0.240385 0.742857 +vt 0.259615 0.714286 +vt 0.173077 0.742857 +vt 0.201923 0.757143 +vt 0.173077 0.757143 +vt 0.173077 0.742857 +vt 0.201923 0.757143 +vt 0.173077 0.757143 +vt 0.211538 0.714286 +vt 0.201923 0.742857 +vt 0.201923 0.714286 +vt 0.173077 0.757143 +vt 0.201923 0.800000 +vt 0.153846 0.800000 +vt 0.153846 0.714286 +vt 0.173077 0.742857 +vt 0.211538 0.714286 +vt 0.201923 0.742857 +vt 0.201923 0.714286 +vt 0.211538 0.742857 +vt 0.240385 0.757143 +vt 0.211538 0.757143 +vt 0.211538 0.757143 +vt 0.201923 0.757143 +vt 0.211538 0.800000 +vt 0.240385 0.757143 +vt 0.259615 0.800000 +vt 0.240385 0.742857 +vt 0.259615 0.714286 +vt 0.173077 0.757143 +vt 0.201923 0.800000 +vt 0.153846 0.800000 +vt 0.153846 0.714286 +vt 0.173077 0.742857 +vt 0.211538 0.757143 +vt 0.240385 0.742857 +vt 0.240385 0.757143 +vt 0.211538 0.757143 +vt 0.201923 0.757143 +vt 0.211538 0.800000 +vt 0.240385 0.757143 +vt 0.259615 0.800000 +vt 0.240385 0.742857 +vt 0.259615 0.714286 +vt 0.211538 0.742857 +vt 0.173077 0.742857 +vt 0.201923 0.757143 +vt 0.173077 0.757143 +vt 0.173077 0.757143 +vt 0.201923 0.742857 +vt 0.201923 0.757143 +vt 0.211538 0.714286 +vt 0.201923 0.742857 +vt 0.201923 0.714286 +vt 0.173077 0.757143 +vt 0.201923 0.800000 +vt 0.153846 0.800000 +vt 0.153846 0.714286 +vt 0.173077 0.742857 +vt 0.211538 0.714286 +vt 0.201923 0.742857 +vt 0.201923 0.714286 +vt 0.211538 0.757143 +vt 0.240385 0.742857 +vt 0.240385 0.757143 +vt 0.211538 0.757143 +vt 0.201923 0.757143 +vt 0.211538 0.800000 +vt 0.240385 0.757143 +vt 0.259615 0.800000 +vt 0.240385 0.742857 +vt 0.259615 0.714286 +vt 0.211538 0.742857 +vt 0.173077 0.757143 +vt 0.201923 0.800000 +vt 0.153846 0.800000 +vt 0.153846 0.714286 +vt 0.173077 0.742857 +vt 0.211538 0.742857 +vt 0.240385 0.757143 +vt 0.211538 0.757143 +vt 0.211538 0.757143 +vt 0.201923 0.757143 +vt 0.211538 0.800000 +vt 0.240385 0.757143 +vt 0.259615 0.800000 +vt 0.240385 0.742857 +vt 0.259615 0.714286 +vt 0.173077 0.742857 +vt 0.201923 0.757143 +vt 0.173077 0.757143 +vt 0.173077 0.742857 +vt 0.201923 0.757143 +vt 0.173077 0.757143 +vt 0.211538 0.714286 +vt 0.201923 0.742857 +vt 0.201923 0.714286 +vt 0.173077 0.757143 +vt 0.201923 0.800000 +vt 0.153846 0.800000 +vt 0.153846 0.714286 +vt 0.173077 0.742857 +vt 0.211538 0.714286 +vt 0.201923 0.742857 +vt 0.201923 0.714286 +vt 0.211538 0.757143 +vt 0.240385 0.742857 +vt 0.240385 0.757143 +vt 0.211538 0.757143 +vt 0.201923 0.757143 +vt 0.211538 0.800000 +vt 0.240385 0.757143 +vt 0.259615 0.800000 +vt 0.240385 0.742857 +vt 0.259615 0.714286 +vt 0.211538 0.742857 +vt 0.173077 0.757143 +vt 0.201923 0.800000 +vt 0.153846 0.800000 +vt 0.153846 0.714286 +vt 0.173077 0.742857 +vt 0.211538 0.742857 +vt 0.240385 0.757143 +vt 0.211538 0.757143 +vt 0.211538 0.757143 +vt 0.201923 0.757143 +vt 0.211538 0.800000 +vt 0.240385 0.757143 +vt 0.259615 0.800000 +vt 0.240385 0.742857 +vt 0.259615 0.714286 +vt 0.375000 0.800000 +vt 0.201923 0.742857 +vt 0.201923 0.742857 +vt 0.211538 0.742857 +vt 0.211538 0.742857 +vt 0.240385 0.742857 +vt 0.240385 0.742857 +vt 0.201923 0.742857 +vt 0.201923 0.742857 +vt 0.211538 0.742857 +vt 0.211538 0.742857 +vt 0.240385 0.742857 +vt 0.201923 0.742857 +vt 0.173077 0.742857 +vt 0.211538 0.742857 +vt 0.211538 0.742857 +vt 0.240385 0.742857 +vt 0.201923 0.742857 +vt 0.201923 0.742857 +vt 0.211538 0.742857 +vt 0.211538 0.742857 +vt 0.240385 0.742857 +vn 0.9239 0.0000 -0.3827 +vn 0.3827 0.0000 0.9239 +vn -0.9239 0.0000 0.3827 +vn -0.3827 0.0000 -0.9239 +vn 0.3827 0.0000 -0.9239 +vn 0.9239 0.0000 0.3827 +vn -0.3827 0.0000 0.9239 +vn -0.9239 0.0000 -0.3827 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 -0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +s off +f 34/52/11 41/53/11 33/54/11 +f 32/55/12 39/56/12 31/57/12 +f 30/58/13 37/59/13 29/60/13 +f 28/61/14 35/62/14 27/63/14 +f 27/63/15 42/64/15 34/52/15 +f 33/54/16 40/65/16 32/55/16 +f 31/57/17 38/66/17 30/58/17 +f 29/67/18 36/68/18 28/61/18 +f 52/69/19 62/70/19 54/71/19 +f 65/72/19 74/73/19 66/74/19 +f 46/75/20 49/76/20 44/77/20 +f 61/78/21 57/79/21 56/80/21 +f 61/78/21 43/81/21 59/82/21 +f 47/83/22 63/84/22 51/85/22 +f 44/77/21 59/82/21 43/81/21 +f 59/86/23 50/87/23 60/88/23 +f 54/89/20 57/79/20 52/90/20 +f 58/91/24 62/92/24 55/93/24 +f 60/94/24 46/75/24 45/95/24 +f 45/95/24 62/92/24 60/94/24 +f 62/70/20 59/86/20 60/88/20 +f 73/96/24 69/97/24 68/98/24 +f 73/96/24 53/99/24 71/100/24 +f 51/85/24 71/100/24 53/99/24 +f 71/101/23 64/102/23 72/103/23 +f 66/104/22 69/97/22 65/105/22 +f 70/106/21 74/107/21 67/108/21 +f 72/109/21 47/83/21 48/110/21 +f 48/110/21 74/107/21 72/109/21 +f 74/73/22 71/101/22 72/103/22 +f 84/111/19 94/112/19 86/113/19 +f 97/114/19 106/115/19 98/116/19 +f 78/117/24 81/118/24 76/119/24 +f 93/120/20 89/121/20 88/122/20 +f 93/120/20 75/123/20 91/124/20 +f 79/125/21 95/126/21 83/127/21 +f 76/119/20 91/124/20 75/123/20 +f 91/128/23 82/129/23 92/130/23 +f 86/131/24 89/121/24 84/132/24 +f 90/133/22 94/134/22 87/135/22 +f 92/136/22 78/117/22 77/137/22 +f 77/137/22 94/134/22 92/136/22 +f 94/112/24 91/128/24 92/130/24 +f 105/138/22 101/139/22 100/140/22 +f 105/138/22 85/141/22 103/142/22 +f 83/127/22 103/142/22 85/141/22 +f 104/143/23 95/144/23 96/145/23 +f 98/146/21 101/139/21 97/147/21 +f 102/148/20 106/149/20 99/150/20 +f 104/151/20 79/125/20 80/152/20 +f 80/152/20 106/149/20 104/151/20 +f 106/115/21 103/153/21 104/143/21 +f 116/154/19 126/155/19 118/156/19 +f 130/157/19 137/158/19 138/159/19 +f 110/160/25 113/161/25 108/162/25 +f 125/163/26 121/164/26 120/165/26 +f 125/163/26 107/166/26 123/167/26 +f 111/168/27 127/169/27 115/170/27 +f 108/162/26 123/167/26 107/166/26 +f 124/171/23 113/172/23 114/173/23 +f 118/174/25 121/164/25 116/175/25 +f 122/176/28 126/177/28 119/178/28 +f 124/179/28 110/160/28 109/180/28 +f 109/180/28 126/177/28 124/179/28 +f 126/155/25 123/181/25 124/171/25 +f 137/182/28 133/183/28 132/184/28 +f 137/182/28 117/185/28 135/186/28 +f 115/170/28 135/186/28 117/185/28 +f 135/187/23 128/188/23 136/189/23 +f 130/190/27 133/183/27 129/191/27 +f 134/192/26 138/193/26 131/194/26 +f 136/195/26 111/168/26 112/196/26 +f 112/196/26 138/193/26 136/195/26 +f 138/159/27 135/187/27 136/189/27 +f 148/197/19 158/198/19 150/199/19 +f 161/200/19 170/201/19 162/202/19 +f 142/203/28 145/204/28 140/205/28 +f 157/206/25 153/207/25 152/208/25 +f 157/206/25 139/209/25 155/210/25 +f 143/211/26 159/212/26 147/213/26 +f 140/205/25 155/210/25 139/209/25 +f 156/214/23 145/215/23 146/216/23 +f 150/217/28 153/207/28 148/218/28 +f 154/219/27 158/220/27 151/221/27 +f 156/222/27 142/203/27 141/223/27 +f 141/223/27 158/220/27 156/222/27 +f 158/198/28 155/224/28 156/214/28 +f 169/225/27 165/226/27 164/227/27 +f 169/225/27 149/228/27 167/229/27 +f 147/213/27 167/229/27 149/228/27 +f 167/230/23 160/231/23 168/232/23 +f 162/233/26 165/226/26 161/234/26 +f 166/235/25 170/236/25 163/237/25 +f 168/238/25 143/211/25 144/239/25 +f 144/239/25 170/236/25 168/238/25 +f 170/201/26 167/230/26 168/232/26 +f 34/52/11 42/64/11 41/53/11 +f 32/55/12 40/65/12 39/56/12 +f 30/58/13 38/66/13 37/59/13 +f 28/61/14 36/68/14 35/62/14 +f 27/63/15 35/62/15 42/64/15 +f 33/54/16 41/53/16 40/65/16 +f 31/57/17 39/56/17 38/66/17 +f 29/67/18 37/240/18 36/68/18 +f 52/69/19 61/241/19 62/70/19 +f 65/72/19 73/242/19 74/73/19 +f 46/75/20 50/243/20 49/76/20 +f 61/78/21 52/90/21 57/79/21 +f 61/78/21 56/80/21 43/81/21 +f 47/83/22 64/244/22 63/84/22 +f 44/77/21 49/76/21 59/82/21 +f 59/86/23 49/245/23 50/87/23 +f 54/89/20 58/91/20 57/79/20 +f 58/91/24 54/89/24 62/92/24 +f 60/94/24 50/243/24 46/75/24 +f 45/95/24 55/93/24 62/92/24 +f 62/70/20 61/241/20 59/86/20 +f 73/96/24 65/105/24 69/97/24 +f 73/96/24 68/98/24 53/99/24 +f 51/85/24 63/84/24 71/100/24 +f 71/101/23 63/246/23 64/102/23 +f 66/104/22 70/106/22 69/97/22 +f 70/106/21 66/104/21 74/107/21 +f 72/109/21 64/244/21 47/83/21 +f 48/110/21 67/108/21 74/107/21 +f 74/73/22 73/242/22 71/101/22 +f 84/111/19 93/247/19 94/112/19 +f 97/114/19 105/248/19 106/115/19 +f 78/117/24 82/249/24 81/118/24 +f 93/120/20 84/132/20 89/121/20 +f 93/120/20 88/122/20 75/123/20 +f 79/125/21 96/250/21 95/126/21 +f 76/119/20 81/118/20 91/124/20 +f 91/128/23 81/251/23 82/129/23 +f 86/131/24 90/133/24 89/121/24 +f 90/133/22 86/131/22 94/134/22 +f 92/136/22 82/249/22 78/117/22 +f 77/137/22 87/135/22 94/134/22 +f 94/112/24 93/247/24 91/128/24 +f 105/138/22 97/147/22 101/139/22 +f 105/138/22 100/140/22 85/141/22 +f 83/127/22 95/126/22 103/142/22 +f 104/143/23 103/153/23 95/144/23 +f 98/146/21 102/148/21 101/139/21 +f 102/148/20 98/146/20 106/149/20 +f 104/151/20 96/250/20 79/125/20 +f 80/152/20 99/150/20 106/149/20 +f 106/115/21 105/248/21 103/153/21 +f 116/154/19 125/252/19 126/155/19 +f 130/157/19 129/253/19 137/158/19 +f 110/160/25 114/254/25 113/161/25 +f 125/163/26 116/175/26 121/164/26 +f 125/163/26 120/165/26 107/166/26 +f 111/168/27 128/255/27 127/169/27 +f 108/162/26 113/161/26 123/167/26 +f 124/171/23 123/181/23 113/172/23 +f 118/174/25 122/176/25 121/164/25 +f 122/176/28 118/174/28 126/177/28 +f 124/179/28 114/254/28 110/160/28 +f 109/180/28 119/178/28 126/177/28 +f 126/155/25 125/252/25 123/181/25 +f 137/182/28 129/191/28 133/183/28 +f 137/182/28 132/184/28 117/185/28 +f 115/170/28 127/169/28 135/186/28 +f 135/187/23 127/256/23 128/188/23 +f 130/190/27 134/192/27 133/183/27 +f 134/192/26 130/190/26 138/193/26 +f 136/195/26 128/255/26 111/168/26 +f 112/196/26 131/194/26 138/193/26 +f 138/159/27 137/158/27 135/187/27 +f 148/197/19 157/257/19 158/198/19 +f 161/200/19 169/258/19 170/201/19 +f 142/203/28 146/259/28 145/204/28 +f 157/206/25 148/218/25 153/207/25 +f 157/206/25 152/208/25 139/209/25 +f 143/211/26 160/260/26 159/212/26 +f 140/205/25 145/204/25 155/210/25 +f 156/214/23 155/224/23 145/215/23 +f 150/217/28 154/219/28 153/207/28 +f 154/219/27 150/217/27 158/220/27 +f 156/222/27 146/259/27 142/203/27 +f 141/223/27 151/221/27 158/220/27 +f 158/198/28 157/257/28 155/224/28 +f 169/225/27 161/234/27 165/226/27 +f 169/225/27 164/227/27 149/228/27 +f 147/213/27 159/212/27 167/229/27 +f 167/230/23 159/261/23 160/231/23 +f 162/233/26 166/235/26 165/226/26 +f 166/235/25 162/233/25 170/236/25 +f 168/238/25 160/260/25 143/211/25 +f 144/239/25 163/237/25 170/236/25 +f 170/201/26 169/258/26 167/230/26 +o Frame +v 1.500000 2.750000 1.500000 +v 1.250000 2.750000 1.500000 +v 1.500000 2.750000 1.250000 +v 1.250000 2.750000 1.250000 +v 1.500000 3.000000 1.500000 +v 1.250000 3.000000 1.500000 +v 1.500000 3.000000 1.250000 +v 1.250000 3.000000 1.250000 +v 1.500000 2.750000 -1.250000 +v 1.250000 2.750000 -1.250000 +v 1.500000 2.750000 -1.500000 +v 1.250000 2.750000 -1.500000 +v 1.500000 3.000000 -1.250000 +v 1.250000 3.000000 -1.250000 +v 1.500000 3.000000 -1.500000 +v 1.250000 3.000000 -1.500000 +v -1.250000 2.750000 1.500000 +v -1.500000 2.750000 1.500000 +v -1.250000 2.750000 1.250000 +v -1.500000 2.750000 1.250000 +v -1.250000 3.000000 1.500000 +v -1.500000 3.000000 1.500000 +v -1.250000 3.000000 1.250000 +v -1.500000 3.000000 1.250000 +v -1.250000 2.750000 -1.250000 +v -1.500000 2.750000 -1.250000 +v -1.250000 2.750000 -1.500000 +v -1.500000 2.750000 -1.500000 +v -1.250000 3.000000 -1.250000 +v -1.500000 3.000000 -1.250000 +v -1.250000 3.000000 -1.500000 +v -1.500000 3.000000 -1.500000 +v -1.375000 0.250000 -1.500000 +v -1.375000 2.750000 -1.500000 +v -1.375000 2.750000 -1.375000 +v -1.375000 0.250000 -1.375000 +v -1.500000 0.250000 -1.375000 +v -1.500000 2.750000 -1.375000 +v -1.500000 2.750000 -1.500000 +v -1.500000 0.250000 -1.500000 +v -1.375000 0.250000 1.375000 +v -1.375000 2.750000 1.375000 +v -1.375000 2.750000 1.500000 +v -1.375000 0.250000 1.500000 +v -1.500000 0.250000 1.500000 +v -1.500000 2.750000 1.500000 +v -1.500000 2.750000 1.375000 +v -1.500000 0.250000 1.375000 +v 1.375000 2.750000 -1.500000 +v 1.375000 0.250000 -1.500000 +v 1.375000 0.250000 -1.375000 +v 1.375000 2.750000 -1.375000 +v 1.500000 2.750000 -1.375000 +v 1.500000 0.250000 -1.375000 +v 1.500000 0.250000 -1.500000 +v 1.500000 2.750000 -1.500000 +v 1.375000 2.750000 1.375000 +v 1.375000 0.250000 1.375000 +v 1.375000 0.250000 1.500000 +v 1.375000 2.750000 1.500000 +v 1.500000 2.750000 1.500000 +v 1.500000 0.250000 1.500000 +v 1.500000 0.250000 1.375000 +v 1.500000 2.750000 1.375000 +v -1.500000 2.875000 1.250000 +v -1.500000 2.875000 -1.250000 +v -1.375000 2.875000 -1.250000 +v -1.375000 2.875000 1.250000 +v -1.375000 3.000000 1.250000 +v -1.375000 3.000000 -1.250000 +v -1.500000 3.000000 -1.250000 +v -1.500000 3.000000 1.250000 +v 1.375000 2.875000 1.250000 +v 1.375000 2.875000 -1.250000 +v 1.500000 2.875000 -1.250000 +v 1.500000 2.875000 1.250000 +v 1.500000 3.000000 1.250000 +v 1.500000 3.000000 -1.250000 +v 1.375000 3.000000 -1.250000 +v 1.375000 3.000000 1.250000 +v -1.250000 2.875000 -1.500000 +v 1.250000 2.875000 -1.500000 +v 1.250000 2.875000 -1.375000 +v -1.250000 2.875000 -1.375000 +v -1.250000 3.000000 -1.375000 +v 1.250000 3.000000 -1.375000 +v 1.250000 3.000000 -1.500000 +v -1.250000 3.000000 -1.500000 +v -1.250000 2.875000 1.375000 +v 1.250000 2.875000 1.375000 +v 1.250000 2.875000 1.500000 +v -1.250000 2.875000 1.500000 +v -1.250000 3.000000 1.500000 +v 1.250000 3.000000 1.500000 +v 1.250000 3.000000 1.375000 +v -1.250000 3.000000 1.375000 +vt 0.394231 0.714286 +vt 0.375000 0.742857 +vt 0.375000 0.714286 +vt 0.375000 0.771429 +vt 0.394231 0.800000 +vt 0.375000 0.800000 +vt 0.432692 0.742857 +vt 0.413462 0.771429 +vt 0.413462 0.742857 +vt 0.451923 0.742857 +vt 0.432692 0.771429 +vt 0.394231 0.742857 +vt 0.394231 0.771429 +vt 0.394231 0.714286 +vt 0.375000 0.742857 +vt 0.375000 0.714286 +vt 0.375000 0.771429 +vt 0.394231 0.800000 +vt 0.375000 0.800000 +vt 0.432692 0.742857 +vt 0.413462 0.771429 +vt 0.413462 0.742857 +vt 0.451923 0.742857 +vt 0.432692 0.771429 +vt 0.394231 0.742857 +vt 0.394231 0.771429 +vt 0.394231 0.714286 +vt 0.375000 0.742857 +vt 0.375000 0.714286 +vt 0.375000 0.771429 +vt 0.394231 0.800000 +vt 0.375000 0.800000 +vt 0.432692 0.742857 +vt 0.413462 0.771429 +vt 0.413462 0.742857 +vt 0.451923 0.742857 +vt 0.432692 0.771429 +vt 0.394231 0.742857 +vt 0.394231 0.771429 +vt 0.394231 0.714286 +vt 0.375000 0.742857 +vt 0.375000 0.714286 +vt 0.375000 0.771429 +vt 0.394231 0.800000 +vt 0.375000 0.800000 +vt 0.432692 0.742857 +vt 0.413462 0.771429 +vt 0.413462 0.742857 +vt 0.451923 0.742857 +vt 0.432692 0.771429 +vt 0.394231 0.742857 +vt 0.394231 0.771429 +vt 0.442308 0.828571 +vt 0.250000 0.842857 +vt 0.250000 0.828571 +vt 0.442308 0.814286 +vt 0.442308 0.842857 +vt 0.250000 0.857143 +vt 0.250000 0.800000 +vt 0.442308 0.800000 +vt 0.442308 0.814286 +vt 0.250000 0.828571 +vt 0.250000 0.814286 +vt 0.442308 0.800000 +vt 0.442308 0.828571 +vt 0.250000 0.842857 +vt 0.442308 0.857143 +vt 0.442308 0.842857 +vt 0.250000 0.828571 +vt 0.442308 0.814286 +vt 0.442308 0.828571 +vt 0.250000 0.842857 +vt 0.250000 0.814286 +vt 0.442308 0.800000 +vt 0.442308 0.857143 +vt 0.250000 0.857143 +vt 0.250000 0.842857 +vt 0.442308 0.828571 +vt 0.442308 0.842857 +vt 0.250000 0.857143 +vt 0.250000 0.828571 +vt 0.442308 0.814286 +vt 0.250000 0.800000 +vt 0.250000 0.814286 +vt 0.442308 0.828571 +vt 0.250000 0.842857 +vt 0.250000 0.828571 +vt 0.442308 0.814286 +vt 0.442308 0.842857 +vt 0.250000 0.857143 +vt 0.250000 0.800000 +vt 0.442308 0.800000 +vt 0.250000 0.842857 +vt 0.442308 0.828571 +vt 0.442308 0.842857 +vt 0.250000 0.857143 +vt 0.250000 0.828571 +vt 0.442308 0.814286 +vt 0.250000 0.800000 +vt 0.250000 0.814286 +vt 0.442308 0.828571 +vt 0.250000 0.842857 +vt 0.250000 0.828571 +vt 0.442308 0.814286 +vt 0.442308 0.842857 +vt 0.250000 0.857143 +vt 0.250000 0.800000 +vt 0.442308 0.800000 +vt 0.250000 0.842857 +vt 0.442308 0.828571 +vt 0.442308 0.842857 +vt 0.250000 0.857143 +vt 0.250000 0.828571 +vt 0.442308 0.814286 +vt 0.250000 0.800000 +vt 0.250000 0.814286 +vt 0.451923 0.771429 +vt 0.451923 0.771429 +vt 0.451923 0.771429 +vt 0.451923 0.771429 +vt 0.250000 0.814286 +vt 0.442308 0.857143 +vt 0.250000 0.800000 +vt 0.250000 0.857143 +vt 0.442308 0.842857 +vt 0.250000 0.800000 +vt 0.442308 0.857143 +vt 0.442308 0.800000 +vt 0.250000 0.814286 +vt 0.442308 0.857143 +vt 0.442308 0.857143 +vt 0.442308 0.800000 +vt 0.250000 0.814286 +vt 0.442308 0.857143 +vt 0.442308 0.857143 +vt 0.442308 0.800000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +s off +f 174/262/29 171/263/29 172/264/29 +f 175/265/30 178/266/30 176/267/30 +f 172/268/31 178/269/31 174/270/31 +f 171/271/32 176/272/32 172/268/32 +f 173/273/33 175/265/33 171/263/33 +f 174/270/34 177/274/34 173/273/34 +f 182/275/29 179/276/29 180/277/29 +f 183/278/30 186/279/30 184/280/30 +f 180/281/31 186/282/31 182/283/31 +f 179/284/32 184/285/32 180/281/32 +f 181/286/33 183/278/33 179/276/33 +f 182/283/34 185/287/34 181/286/34 +f 190/288/29 187/289/29 188/290/29 +f 191/291/30 194/292/30 192/293/30 +f 188/294/31 194/295/31 190/296/31 +f 187/297/32 192/298/32 188/294/32 +f 189/299/33 191/291/33 187/289/33 +f 190/296/34 193/300/34 189/299/34 +f 198/301/29 195/302/29 196/303/29 +f 199/304/30 202/305/30 200/306/30 +f 196/307/31 202/308/31 198/309/31 +f 195/310/32 200/311/32 196/307/32 +f 197/312/33 199/304/33 195/302/33 +f 198/309/34 201/313/34 197/312/34 +f 210/314/31 208/315/31 209/316/31 +f 209/316/34 203/317/34 210/314/34 +f 207/318/32 205/319/32 208/315/32 +f 203/317/33 205/320/33 206/321/33 +f 218/322/31 216/323/31 217/324/31 +f 217/324/34 211/325/34 218/322/34 +f 215/326/32 213/327/32 216/323/32 +f 211/328/33 213/327/33 214/329/33 +f 226/330/33 224/331/33 225/332/33 +f 225/332/34 219/333/34 226/330/34 +f 223/334/32 221/335/32 224/331/32 +f 219/333/31 221/336/31 222/337/31 +f 234/338/33 232/339/33 233/340/33 +f 233/340/34 227/341/34 234/338/34 +f 231/342/32 229/343/32 232/339/32 +f 227/344/31 229/343/31 230/345/31 +f 242/346/30 240/347/30 241/348/30 +f 241/348/31 235/349/31 242/346/31 +f 239/350/33 237/351/33 240/347/33 +f 235/349/29 237/352/29 238/353/29 +f 250/354/30 248/355/30 249/356/30 +f 249/356/31 243/357/31 250/354/31 +f 247/358/33 245/359/33 248/355/33 +f 243/360/29 245/359/29 246/361/29 +f 258/362/30 256/363/30 257/364/30 +f 257/364/34 251/365/34 258/362/34 +f 255/366/32 253/367/32 256/363/32 +f 251/365/29 253/368/29 254/369/29 +f 266/370/30 264/371/30 265/372/30 +f 265/372/34 259/373/34 266/370/34 +f 263/374/32 261/375/32 264/371/32 +f 259/376/29 261/375/29 262/377/29 +f 174/262/29 173/273/29 171/263/29 +f 175/265/30 177/274/30 178/266/30 +f 172/268/31 176/272/31 178/269/31 +f 171/271/32 175/378/32 176/272/32 +f 173/273/33 177/274/33 175/265/33 +f 174/270/34 178/269/34 177/274/34 +f 182/275/29 181/286/29 179/276/29 +f 183/278/30 185/287/30 186/279/30 +f 180/281/31 184/285/31 186/282/31 +f 179/284/32 183/379/32 184/285/32 +f 181/286/33 185/287/33 183/278/33 +f 182/283/34 186/282/34 185/287/34 +f 190/288/29 189/299/29 187/289/29 +f 191/291/30 193/300/30 194/292/30 +f 188/294/31 192/298/31 194/295/31 +f 187/297/32 191/380/32 192/298/32 +f 189/299/33 193/300/33 191/291/33 +f 190/296/34 194/295/34 193/300/34 +f 198/301/29 197/312/29 195/302/29 +f 199/304/30 201/313/30 202/305/30 +f 196/307/31 200/311/31 202/308/31 +f 195/310/32 199/381/32 200/311/32 +f 197/312/33 201/313/33 199/304/33 +f 198/309/34 202/308/34 201/313/34 +f 210/314/31 207/318/31 208/315/31 +f 209/316/34 204/382/34 203/317/34 +f 207/318/32 206/383/32 205/319/32 +f 203/317/33 204/382/33 205/320/33 +f 218/322/31 215/326/31 216/323/31 +f 217/324/34 212/384/34 211/325/34 +f 215/326/32 214/329/32 213/327/32 +f 211/328/33 212/385/33 213/327/33 +f 226/330/33 223/334/33 224/331/33 +f 225/332/34 220/386/34 219/333/34 +f 223/334/32 222/387/32 221/335/32 +f 219/333/31 220/386/31 221/336/31 +f 234/338/33 231/342/33 232/339/33 +f 233/340/34 228/388/34 227/341/34 +f 231/342/32 230/345/32 229/343/32 +f 227/344/31 228/389/31 229/343/31 +f 242/346/30 239/350/30 240/347/30 +f 241/348/31 236/390/31 235/349/31 +f 239/350/33 238/391/33 237/351/33 +f 235/349/29 236/390/29 237/352/29 +f 250/354/30 247/358/30 248/355/30 +f 249/356/31 244/392/31 243/357/31 +f 247/358/33 246/361/33 245/359/33 +f 243/360/29 244/393/29 245/359/29 +f 258/362/30 255/366/30 256/363/30 +f 257/364/34 252/394/34 251/365/34 +f 255/366/32 254/395/32 253/367/32 +f 251/365/29 252/394/29 253/368/29 +f 266/370/30 263/374/30 264/371/30 +f 265/372/34 260/396/34 259/373/34 +f 263/374/32 262/377/32 261/375/32 +f 259/376/29 260/397/29 261/375/29 +o Slider +v -0.187500 2.000000 -0.687500 +v 0.187500 2.000000 -0.687500 +v -0.187500 2.000000 -1.312500 +v 0.187500 2.000000 -1.312500 +v -0.187500 2.375000 -1.312500 +v -0.187500 2.375000 -0.687500 +v 0.187500 2.375000 -0.687500 +v 0.187500 2.375000 -1.312500 +vt 0.894231 0.271429 +vt 0.942308 0.314286 +vt 0.894231 0.314286 +vt 0.942308 0.228571 +vt 0.894231 0.228571 +vt 0.894231 0.357143 +vt 0.942308 0.357143 +vt 0.971154 0.314286 +vt 0.942308 0.271429 +vt 0.971154 0.271429 +vt 0.865385 0.271429 +vt 0.865385 0.314286 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +s off +f 273/398/35 271/399/35 272/400/35 +f 270/401/36 273/398/36 268/402/36 +f 267/403/37 271/399/37 269/404/37 +f 269/405/38 274/406/38 270/407/38 +f 268/408/39 272/400/39 267/409/39 +f 273/398/35 274/406/35 271/399/35 +f 270/401/36 274/406/36 273/398/36 +f 267/403/37 272/400/37 271/399/37 +f 269/405/38 271/399/38 274/406/38 +f 268/408/39 273/398/39 272/400/39 +o Base +v 1.500000 0.125000 1.250000 +v 1.500000 0.125000 -1.250000 +v 1.375000 0.125000 -1.250000 +v 1.375000 0.125000 1.250000 +v 1.375000 0.000000 1.250000 +v 1.375000 0.000000 -1.250000 +v 1.500000 0.000000 -1.250000 +v 1.500000 0.000000 1.250000 +v 1.500000 0.000000 1.500000 +v 1.250000 0.000000 1.500000 +v 1.500000 0.000000 1.250000 +v 1.250000 0.000000 1.250000 +v 1.500000 0.250000 1.500000 +v 1.250000 0.250000 1.500000 +v 1.500000 0.250000 1.250000 +v 1.250000 0.250000 1.250000 +v 1.500000 0.000000 -1.250000 +v 1.250000 0.000000 -1.250000 +v 1.500000 0.000000 -1.500000 +v 1.250000 0.000000 -1.500000 +v 1.500000 0.250000 -1.250000 +v 1.250000 0.250000 -1.250000 +v 1.500000 0.250000 -1.500000 +v 1.250000 0.250000 -1.500000 +v -1.250000 0.000000 1.500000 +v -1.500000 0.000000 1.500000 +v -1.250000 0.000000 1.250000 +v -1.500000 0.000000 1.250000 +v -1.250000 0.250000 1.500000 +v -1.500000 0.250000 1.500000 +v -1.250000 0.250000 1.250000 +v -1.500000 0.250000 1.250000 +v -1.250000 0.000000 -1.250000 +v -1.500000 0.000000 -1.250000 +v -1.250000 0.000000 -1.500000 +v -1.500000 0.000000 -1.500000 +v -1.250000 0.250000 -1.250000 +v -1.500000 0.250000 -1.250000 +v -1.250000 0.250000 -1.500000 +v -1.500000 0.250000 -1.500000 +v -1.375000 0.125000 1.250000 +v -1.375000 0.125000 -1.250000 +v -1.500000 0.125000 -1.250000 +v -1.500000 0.125000 1.250000 +v -1.500000 0.000000 1.250000 +v -1.500000 0.000000 -1.250000 +v -1.375000 0.000000 -1.250000 +v -1.375000 0.000000 1.250000 +v 1.250000 0.125000 -1.500000 +v -1.250000 0.125000 -1.500000 +v -1.250000 0.125000 -1.375000 +v 1.250000 0.125000 -1.375000 +v 1.250000 0.000000 -1.375000 +v -1.250000 0.000000 -1.375000 +v -1.250000 0.000000 -1.500000 +v 1.250000 0.000000 -1.500000 +v 1.250000 0.125000 1.375000 +v -1.250000 0.125000 1.375000 +v -1.250000 0.125000 1.500000 +v 1.250000 0.125000 1.500000 +v 1.250000 0.000000 1.500000 +v -1.250000 0.000000 1.500000 +v -1.250000 0.000000 1.375000 +v 1.250000 0.000000 1.375000 +v 1.500000 0.312500 -0.187500 +v 1.500000 0.312500 0.187500 +v 1.500000 0.687500 -0.187500 +v 1.500000 0.687500 0.187500 +v 1.375000 0.375000 -0.125000 +v 1.375000 0.375000 0.125000 +v 1.375000 0.625000 -0.125000 +v 1.375000 0.625000 0.125000 +v 1.375000 0.687500 -0.187500 +v 1.375000 0.312500 -0.187500 +v 1.375000 0.312500 0.187500 +v 1.375000 0.687500 0.187500 +v -1.000000 0.750000 0.500000 +v -1.250000 0.750000 0.566987 +v -1.433013 0.750000 0.750000 +v -1.500000 0.750000 1.000000 +v -1.433013 0.750000 1.250000 +v -1.250000 0.750000 1.433013 +v -1.000000 0.750000 1.500000 +v -0.750000 0.750000 1.433013 +v -0.566987 0.750000 1.250000 +v -0.500000 0.750000 1.000000 +v -0.566987 0.750000 0.750000 +v -0.750000 0.750000 0.566988 +v -1.250000 2.500000 0.566987 +v -1.000000 2.500000 0.500000 +v -1.433013 2.500000 0.750000 +v -1.500000 2.500000 1.000000 +v -1.433013 2.500000 1.250000 +v -1.250000 2.500000 1.433013 +v -1.000000 2.500000 1.500000 +v -0.750000 2.500000 1.433013 +v -0.566987 2.500000 1.250000 +v -0.500000 2.500000 1.000000 +v -0.566987 2.500000 0.750000 +v -0.750000 2.500000 0.566988 +v -1.000000 0.750000 -0.500000 +v -1.250000 0.750000 -0.433013 +v -1.433013 0.750000 -0.250000 +v -1.500000 0.750000 0.000000 +v -1.433013 0.750000 0.250000 +v -1.250000 0.750000 0.433013 +v -1.000000 0.750000 0.500000 +v -0.750000 0.750000 0.433013 +v -0.566987 0.750000 0.250000 +v -0.500000 0.750000 0.000000 +v -0.566987 0.750000 -0.250000 +v -0.750000 0.750000 -0.433012 +v -1.250000 2.500000 -0.433013 +v -1.000000 2.500000 -0.500000 +v -1.433013 2.500000 -0.250000 +v -1.500000 2.500000 0.000000 +v -1.433013 2.500000 0.250000 +v -1.250000 2.500000 0.433013 +v -1.000000 2.500000 0.500000 +v -0.750000 2.500000 0.433013 +v -0.566987 2.500000 0.250000 +v -0.500000 2.500000 0.000000 +v -0.566987 2.500000 -0.250000 +v -0.750000 2.500000 -0.433012 +v -1.250000 0.750000 -0.500000 +v 1.250000 0.750000 -0.500000 +v -1.250000 0.750000 -1.500000 +v 1.250000 0.750000 -1.500000 +v -1.250000 1.500000 -1.500000 +v -1.250000 1.500000 -0.500000 +v 1.250000 1.500000 -0.500000 +v 1.250000 1.500000 -1.500000 +v -1.000000 1.750000 -1.500000 +v -1.000000 1.750000 -0.500000 +v 1.000000 1.750000 -0.500000 +v 1.000000 1.750000 -1.500000 +v -1.250000 0.750000 1.250000 +v -0.750000 0.750000 1.250000 +v -1.250000 0.750000 0.750000 +v -0.750000 0.750000 0.750000 +v -1.250000 0.250000 1.250000 +v -0.750000 0.250000 1.250000 +v -1.250000 0.250000 0.750000 +v -0.750000 0.250000 0.750000 +v -1.250000 0.750000 0.250000 +v -0.750000 0.750000 0.250000 +v -1.250000 0.750000 -0.250000 +v -0.750000 0.750000 -0.250000 +v -1.250000 0.250000 0.250000 +v -0.750000 0.250000 0.250000 +v -1.250000 0.250000 -0.250000 +v -0.750000 0.250000 -0.250000 +v -1.250000 0.750000 -0.750000 +v 1.250000 0.750000 -0.750000 +v -1.250000 0.750000 -1.250000 +v 1.250000 0.750000 -1.250000 +v -1.250000 0.250000 -0.750000 +v 1.250000 0.250000 -0.750000 +v -1.250000 0.250000 -1.250000 +v 1.250000 0.250000 -1.250000 +v -0.750000 1.750000 -0.625000 +v 0.750000 1.750000 -0.625000 +v -0.750000 1.750000 -1.375000 +v 0.750000 1.750000 -1.375000 +v -0.750000 2.000000 -1.375000 +v -0.750000 2.000000 -0.625000 +v 0.750000 2.000000 -0.625000 +v 0.750000 2.000000 -1.375000 +v -0.625000 2.000000 -0.968750 +v 0.625000 2.000000 -0.968750 +v -0.625000 2.000000 -1.031250 +v 0.625000 2.000000 -1.031250 +v -0.625000 2.250000 -1.031250 +v -0.625000 2.250000 -0.968750 +v 0.625000 2.250000 -0.968750 +v 0.625000 2.250000 -1.031250 +v -0.625000 2.000000 -1.093750 +v 0.625000 2.000000 -1.093750 +v -0.625000 2.000000 -1.156250 +v 0.625000 2.000000 -1.156250 +v -0.625000 2.250000 -1.156250 +v -0.625000 2.250000 -1.093750 +v 0.625000 2.250000 -1.093750 +v 0.625000 2.250000 -1.156250 +v -0.625000 2.000000 -1.218750 +v 0.625000 2.000000 -1.218750 +v -0.625000 2.000000 -1.281250 +v 0.625000 2.000000 -1.281250 +v -0.625000 2.250000 -1.281250 +v -0.625000 2.250000 -1.218750 +v 0.625000 2.250000 -1.218750 +v 0.625000 2.250000 -1.281250 +v -0.625000 2.000000 -0.718750 +v 0.625000 2.000000 -0.718750 +v -0.625000 2.000000 -0.781250 +v 0.625000 2.000000 -0.781250 +v -0.625000 2.250000 -0.781250 +v -0.625000 2.250000 -0.718750 +v 0.625000 2.250000 -0.718750 +v 0.625000 2.250000 -0.781250 +v -0.625000 2.000000 -0.843750 +v 0.625000 2.000000 -0.843750 +v -0.625000 2.000000 -0.906250 +v 0.625000 2.000000 -0.906250 +v -0.625000 2.250000 -0.906250 +v -0.625000 2.250000 -0.843750 +v 0.625000 2.250000 -0.843750 +v 0.625000 2.250000 -0.906250 +v -1.250000 2.500000 1.125000 +v -0.750000 2.500000 1.125000 +v -1.250000 2.500000 0.875000 +v -0.750000 2.500000 0.875000 +v -1.250000 3.000000 0.875000 +v -1.250000 3.000000 1.125000 +v -0.750000 3.000000 1.125000 +v -0.750000 3.000000 0.875000 +v -1.250000 2.500000 0.125000 +v -0.750000 2.500000 0.125000 +v -1.250000 2.500000 -0.125000 +v -0.750000 2.500000 -0.125000 +v -1.250000 3.000000 -0.125000 +v -1.250000 3.000000 0.125000 +v -0.750000 3.000000 0.125000 +v -0.750000 3.000000 -0.125000 +v -1.125000 2.875000 0.875000 +v -1.125000 2.875000 0.125000 +v -0.875000 2.875000 0.125000 +v -0.875000 2.875000 0.875000 +v -0.786612 2.838388 0.125000 +v -0.786612 2.838388 0.875000 +v -0.750000 2.750000 0.125000 +v -0.750000 2.750000 0.875000 +v -0.786612 2.661612 0.125000 +v -0.786612 2.661612 0.875000 +v -0.875000 2.625000 0.125000 +v -0.875000 2.625000 0.875000 +v -0.963388 2.661612 0.125000 +v -0.963388 2.661612 0.875000 +v -1.000000 2.750000 0.125000 +v -1.000000 2.750000 0.875000 +v -0.963388 2.838388 0.125000 +v -0.963388 2.838388 0.875000 +v -1.036612 2.838388 0.125000 +v -1.036612 2.838388 0.875000 +v -1.000000 2.750000 0.125000 +v -1.000000 2.750000 0.875000 +v -1.036612 2.661612 0.125000 +v -1.036612 2.661612 0.875000 +v -1.125000 2.625000 0.125000 +v -1.125000 2.625000 0.875000 +v -1.213388 2.661612 0.125000 +v -1.213388 2.661612 0.875000 +v -1.250000 2.750000 0.125000 +v -1.250000 2.750000 0.875000 +v -1.213388 2.838388 0.125000 +v -1.213388 2.838388 0.875000 +v -0.875000 2.875000 -0.125000 +v -0.786612 2.838388 -0.125000 +v -0.750000 2.750000 -0.125000 +v -0.786612 2.661612 -0.125000 +v -0.875000 2.625000 -0.125000 +v -0.963388 2.661612 -0.125000 +v -1.000000 2.750000 -0.125000 +v -0.963388 2.838388 -0.125000 +v -0.875000 2.875000 -0.750000 +v -0.786612 2.838388 -0.750000 +v -0.750000 2.750000 -0.750000 +v -0.786612 2.661612 -0.750000 +v -0.875000 2.625000 -0.750000 +v -0.963388 2.661612 -0.750000 +v -1.000000 2.750000 -0.750000 +v -0.963388 2.838388 -0.750000 +v -0.875000 2.801777 -0.926777 +v -0.786612 2.775888 -0.900888 +v -0.750000 2.713388 -0.838388 +v -0.786612 2.650888 -0.775888 +v -0.963388 2.650888 -0.775888 +v -1.000000 2.713388 -0.838388 +v -0.963388 2.775888 -0.900888 +v -0.875000 2.625000 -1.000000 +v -0.786612 2.625000 -0.963388 +v -0.750000 2.625000 -0.875000 +v -0.786612 2.625000 -0.786612 +v -0.963388 2.625000 -0.786612 +v -1.000000 2.625000 -0.875000 +v -0.963388 2.625000 -0.963388 +v -0.875000 2.000000 -0.750000 +v -0.875000 2.000000 -1.000000 +v -0.786612 2.000000 -0.963388 +v -0.750000 2.000000 -0.875000 +v -0.786612 2.000000 -0.786612 +v -0.963388 2.000000 -0.786612 +v -1.000000 2.000000 -0.875000 +v -0.963388 2.000000 -0.963388 +v -0.838388 1.911612 -0.750000 +v -0.838388 1.911612 -1.000000 +v -0.775888 1.974112 -0.963388 +v -0.775888 1.974112 -0.786612 +v -0.900888 1.849112 -0.786612 +v -0.926777 1.823223 -0.875000 +v -0.900888 1.849112 -0.963388 +v -0.750000 1.875000 -0.750000 +v -0.750000 1.875000 -1.000000 +v -0.750000 1.963388 -0.963388 +v -0.750000 1.963388 -0.786612 +v -0.750000 1.786612 -0.786612 +v -0.750000 1.750000 -0.875000 +v -0.750000 1.786612 -0.963388 +v -1.125000 2.875000 -0.125000 +v -1.036612 2.838388 -0.125000 +v -1.000000 2.750000 -0.125000 +v -1.036612 2.661612 -0.125000 +v -1.125000 2.625000 -0.125000 +v -1.213388 2.661612 -0.125000 +v -1.250000 2.750000 -0.125000 +v -1.213388 2.838388 -0.125000 +v -1.125000 2.875000 -1.000000 +v -1.036612 2.838388 -1.000000 +v -1.000000 2.750000 -1.000000 +v -1.036612 2.661612 -1.000000 +v -1.125000 2.625000 -1.000000 +v -1.213388 2.661612 -1.000000 +v -1.250000 2.750000 -1.000000 +v -1.213388 2.838388 -1.000000 +v -1.125000 2.801777 -1.176777 +v -1.036612 2.775888 -1.150888 +v -1.000000 2.713388 -1.088388 +v -1.036612 2.650888 -1.025888 +v -1.213388 2.650888 -1.025888 +v -1.250000 2.713388 -1.088388 +v -1.213388 2.775888 -1.150888 +v -1.125000 2.625000 -1.250000 +v -1.036612 2.625000 -1.213388 +v -1.000000 2.625000 -1.125000 +v -1.036612 2.625000 -1.036612 +v -1.213388 2.625000 -1.036612 +v -1.250000 2.625000 -1.125000 +v -1.213388 2.625000 -1.213388 +v -1.125000 2.000000 -1.000000 +v -1.125000 2.000000 -1.250000 +v -1.036612 2.000000 -1.213388 +v -1.000000 2.000000 -1.125000 +v -1.036612 2.000000 -1.036612 +v -1.213388 2.000000 -1.036612 +v -1.250000 2.000000 -1.125000 +v -1.213388 2.000000 -1.213388 +v -1.088388 1.911612 -1.000000 +v -1.088388 1.911612 -1.250000 +v -1.025888 1.974112 -1.213388 +v -1.025888 1.974112 -1.036612 +v -1.150888 1.849112 -1.036612 +v -1.176777 1.823223 -1.125000 +v -1.150888 1.849112 -1.213388 +v -1.000000 1.875000 -1.000000 +v -1.000000 1.875000 -1.250000 +v -1.000000 1.963388 -1.213388 +v -1.000000 1.963388 -1.036612 +v -1.000000 1.786612 -1.036612 +v -1.000000 1.750000 -1.125000 +v -1.000000 1.786612 -1.213388 +v -0.750000 2.000000 -1.125000 +v -0.750000 1.875000 -1.000000 +v -0.750000 1.875000 -1.250000 +v -0.750000 1.963388 -1.213388 +v -0.750000 1.963388 -1.036612 +v -0.750000 1.786612 -1.036612 +v -0.750000 1.750000 -1.125000 +v -0.750000 1.786612 -1.213388 +v 0.875000 0.125000 1.500000 +v 1.125000 0.125000 1.500000 +v 0.875000 0.125000 -1.500000 +v 1.125000 0.125000 -1.500000 +v 0.875000 0.250000 -1.500000 +v 0.875000 0.250000 1.500000 +v 1.125000 0.250000 1.500000 +v 1.125000 0.250000 -1.500000 +v 0.500000 0.750000 -0.500000 +v 0.117317 0.750000 -0.423880 +v -0.207107 0.750000 -0.207107 +v -0.423880 0.750000 0.117316 +v -0.500000 0.750000 0.500000 +v -0.423880 0.750000 0.882684 +v -0.207107 0.750000 1.207107 +v 0.117317 0.750000 1.423880 +v 0.500000 0.750000 1.500000 +v 0.882683 0.750000 1.423880 +v 1.207107 0.750000 1.207107 +v 1.423880 0.750000 0.882684 +v 1.500000 0.750000 0.500000 +v 1.423879 0.750000 0.117316 +v 1.207107 0.750000 -0.207107 +v 0.882683 0.750000 -0.423880 +v -0.250000 0.250000 1.250000 +v 1.250000 0.250000 1.250000 +v -0.250000 0.250000 -0.250000 +v 1.250000 0.250000 -0.250000 +v -0.250000 0.750000 -0.250000 +v -0.250000 0.750000 1.250000 +v 1.250000 0.750000 1.250000 +v 1.250000 0.750000 -0.250000 +v 0.117317 1.750000 -0.423880 +v 0.500000 1.750000 -0.500000 +v -0.207107 1.750000 -0.207107 +v -0.423880 1.750000 0.117316 +v -0.500000 1.750000 0.500000 +v -0.423880 1.750000 0.882684 +v -0.207107 1.750000 1.207107 +v 0.117317 1.750000 1.423880 +v 0.500000 1.750000 1.500000 +v 0.882683 1.750000 1.423880 +v 1.207107 1.750000 1.207107 +v 1.423880 1.750000 0.882684 +v 1.500000 1.750000 0.500000 +v 1.423879 1.750000 0.117316 +v 1.207107 1.750000 -0.207107 +v 0.882683 1.750000 -0.423880 +v 0.308658 2.250000 0.038060 +v 0.500000 2.250000 0.000000 +v 0.146447 2.250000 0.146447 +v 0.038060 2.250000 0.308659 +v -0.000000 2.250000 0.500000 +v 0.038060 2.250000 0.691342 +v 0.146447 2.250000 0.853553 +v 0.308658 2.250000 0.961940 +v 0.500000 2.250000 1.000000 +v 0.691342 2.250000 0.961940 +v 0.853553 2.250000 0.853554 +v 0.961940 2.250000 0.691342 +v 1.000000 2.250000 0.500000 +v 0.961940 2.250000 0.308658 +v 0.853553 2.250000 0.146446 +v 0.691341 2.250000 0.038060 +v 0.308658 2.750000 0.038060 +v 0.500000 2.750000 0.000000 +v 0.146446 2.750000 0.146447 +v 0.038060 2.750000 0.308659 +v -0.000000 2.750000 0.500000 +v 0.038060 2.750000 0.691342 +v 0.146446 2.750000 0.853553 +v 0.308658 2.750000 0.961940 +v 0.500000 2.750000 1.000000 +v 0.691341 2.750000 0.961940 +v 0.853553 2.750000 0.853554 +v 0.961940 2.750000 0.691342 +v 1.000000 2.750000 0.500000 +v 0.961940 2.750000 0.308658 +v 0.853553 2.750000 0.146446 +v 0.691341 2.750000 0.038060 +v 0.875000 2.750000 0.500000 +v 0.786612 2.713388 0.500000 +v 0.750000 2.625000 0.500000 +v 0.786612 2.536612 0.500000 +v 0.875000 2.500000 0.500000 +v 0.963388 2.536612 0.500000 +v 1.000000 2.625000 0.500000 +v 0.963388 2.713388 0.500000 +v 0.875000 2.750000 -1.000000 +v 0.786612 2.713388 -1.000000 +v 0.750000 2.625000 -1.000000 +v 0.786612 2.536612 -1.000000 +v 0.875000 2.500000 -1.000000 +v 0.963388 2.536612 -1.000000 +v 1.000000 2.625000 -1.000000 +v 0.963388 2.713388 -1.000000 +v 0.875000 2.676777 -1.176777 +v 0.786612 2.650888 -1.150888 +v 0.750000 2.588388 -1.088388 +v 0.786612 2.525888 -1.025888 +v 0.963388 2.525888 -1.025888 +v 1.000000 2.588388 -1.088388 +v 0.963388 2.650888 -1.150888 +v 0.875000 2.500000 -1.250000 +v 0.786612 2.500000 -1.213388 +v 0.750000 2.500000 -1.125000 +v 0.786612 2.500000 -1.036612 +v 0.963388 2.500000 -1.036612 +v 1.000000 2.500000 -1.125000 +v 0.963388 2.500000 -1.213388 +v 0.875000 2.000000 -1.000000 +v 0.875000 2.000000 -1.250000 +v 0.786612 2.000000 -1.213388 +v 0.750000 2.000000 -1.125000 +v 0.786612 2.000000 -1.036612 +v 0.963388 2.000000 -1.036612 +v 1.000000 2.000000 -1.125000 +v 0.963388 2.000000 -1.213388 +v 0.838388 1.911612 -1.000000 +v 0.838388 1.911612 -1.250000 +v 0.775888 1.974112 -1.213388 +v 0.775888 1.974112 -1.036612 +v 0.900888 1.849112 -1.036612 +v 0.926777 1.823223 -1.125000 +v 0.900888 1.849112 -1.213388 +v 0.750000 1.875000 -1.000000 +v 0.750000 1.875000 -1.250000 +v 0.750000 1.963388 -1.213388 +v 0.750000 1.963388 -1.036612 +v 0.750000 1.786612 -1.036612 +v 0.750000 1.750000 -1.125000 +v 0.750000 1.786612 -1.213388 +v 0.875000 2.500000 0.500000 +v 0.786612 2.463388 0.500000 +v 0.750000 2.375000 0.500000 +v 0.786612 2.286612 0.500000 +v 0.875000 2.250000 0.500000 +v 0.963388 2.286612 0.500000 +v 1.000000 2.375000 0.500000 +v 0.963388 2.463388 0.500000 +v 0.875000 2.500000 -0.750000 +v 0.786612 2.463388 -0.750000 +v 0.750000 2.375000 -0.750000 +v 0.786612 2.286612 -0.750000 +v 0.875000 2.250000 -0.750000 +v 0.963388 2.286612 -0.750000 +v 1.000000 2.375000 -0.750000 +v 0.963388 2.463388 -0.750000 +v 0.875000 2.426777 -0.926777 +v 0.786612 2.400888 -0.900888 +v 0.750000 2.338388 -0.838388 +v 0.786612 2.275888 -0.775888 +v 0.963388 2.275888 -0.775888 +v 1.000000 2.338388 -0.838388 +v 0.963388 2.400888 -0.900888 +v 0.875000 2.250000 -1.000000 +v 0.786612 2.250000 -0.963388 +v 0.750000 2.250000 -0.875000 +v 0.786612 2.250000 -0.786612 +v 0.963388 2.250000 -0.786612 +v 1.000000 2.250000 -0.875000 +v 0.963388 2.250000 -0.963388 +v 0.875000 2.000000 -0.750000 +v 0.875000 2.000000 -1.000000 +v 0.786612 2.000000 -0.963388 +v 0.750000 2.000000 -0.875000 +v 0.786612 2.000000 -0.786612 +v 0.963388 2.000000 -0.786612 +v 1.000000 2.000000 -0.875000 +v 0.963388 2.000000 -0.963388 +v 0.838388 1.911612 -0.750000 +v 0.838388 1.911612 -1.000000 +v 0.775888 1.974112 -0.963388 +v 0.775888 1.974112 -0.786612 +v 0.900888 1.849112 -0.786612 +v 0.926777 1.823223 -0.875000 +v 0.900888 1.849112 -0.963388 +v 0.750000 1.875000 -0.750000 +v 0.750000 1.875000 -1.000000 +v 0.750000 1.963388 -0.963388 +v 0.750000 1.963388 -0.786612 +v 0.750000 1.786612 -0.786612 +v 0.750000 1.750000 -0.875000 +v 0.750000 1.786612 -0.963388 +v -0.750000 2.750000 -0.125000 +v -0.750000 2.838388 -0.088388 +v -0.750000 2.875000 0.000000 +v -0.750000 2.838388 0.088388 +v -0.750000 2.750000 0.125000 +v -0.750000 2.661612 0.088388 +v -0.750000 2.625000 0.000000 +v -0.750000 2.661612 -0.088388 +v 0.375000 2.750000 -0.125000 +v 0.375000 2.838388 -0.088388 +v 0.375000 2.875000 0.000000 +v 0.375000 2.838388 0.088388 +v 0.375000 2.750000 0.125000 +v 0.375000 2.661612 0.088388 +v 0.375000 2.625000 0.000000 +v 0.375000 2.661612 -0.088388 +v 0.551777 2.750000 -0.051777 +v 0.525888 2.838388 -0.025888 +v 0.463388 2.875000 0.036612 +v 0.400888 2.838388 0.099112 +v 0.400888 2.661612 0.099112 +v 0.463388 2.625000 0.036612 +v 0.525888 2.661612 -0.025888 +v 0.625000 2.750000 0.125000 +v 0.588388 2.838388 0.125000 +v 0.500000 2.875000 0.125000 +v 0.411612 2.838388 0.125000 +v 0.411612 2.661612 0.125000 +v 0.500000 2.625000 0.125000 +v 0.588388 2.661612 0.125000 +v 0.356494 3.000000 0.153545 +v 0.500000 3.000000 0.125000 +v 0.234835 3.000000 0.234835 +v 0.153545 3.000000 0.356494 +v 0.125000 3.000000 0.500000 +v 0.153545 3.000000 0.643506 +v 0.234835 3.000000 0.765165 +v 0.356494 3.000000 0.846455 +v 0.500000 3.000000 0.875000 +v 0.643506 3.000000 0.846455 +v 0.765165 3.000000 0.765165 +v 0.846455 3.000000 0.643506 +v 0.875000 3.000000 0.500000 +v 0.846455 3.000000 0.356494 +v 0.765165 3.000000 0.234835 +v 0.643506 3.000000 0.153545 +v -0.750000 2.750000 1.125000 +v -0.750000 2.838388 1.088388 +v -0.750000 2.875000 1.000000 +v -0.750000 2.838388 0.911612 +v -0.750000 2.750000 0.875000 +v -0.750000 2.661612 0.911612 +v -0.750000 2.625000 1.000000 +v -0.750000 2.661612 1.088388 +v 0.375000 2.750000 1.125000 +v 0.375000 2.838388 1.088388 +v 0.375000 2.875000 1.000000 +v 0.375000 2.838388 0.911612 +v 0.375000 2.750000 0.875000 +v 0.375000 2.661612 0.911612 +v 0.375000 2.625000 1.000000 +v 0.375000 2.661612 1.088388 +v 0.551777 2.750000 1.051777 +v 0.525888 2.838388 1.025888 +v 0.463388 2.875000 0.963388 +v 0.400888 2.838388 0.900888 +v 0.400888 2.661612 0.900888 +v 0.463388 2.625000 0.963388 +v 0.525888 2.661612 1.025888 +v 0.625000 2.750000 0.875000 +v 0.588388 2.838388 0.875000 +v 0.500000 2.875000 0.875000 +v 0.411612 2.838388 0.875000 +v 0.411612 2.661612 0.875000 +v 0.500000 2.625000 0.875000 +v 0.588388 2.661612 0.875000 +v 0.500000 0.875000 -0.375000 +v 0.165152 0.875000 -0.308394 +v -0.118718 0.875000 -0.118718 +v -0.308395 0.875000 0.165152 +v -0.375000 0.875000 0.500000 +v -0.308395 0.875000 0.834848 +v -0.118718 0.875000 1.118718 +v 0.165152 0.875000 1.308394 +v 0.500000 0.875000 1.375000 +v 0.834848 0.875000 1.308394 +v 1.118718 0.875000 1.118719 +v 1.308395 0.875000 0.834848 +v 1.375000 0.875000 0.500000 +v 1.308394 0.875000 0.165152 +v 1.118718 0.875000 -0.118719 +v 0.834848 0.875000 -0.308395 +v 0.165152 1.625000 -0.308394 +v 0.500000 1.625000 -0.375000 +v -0.118718 1.625000 -0.118718 +v -0.308395 1.625000 0.165152 +v -0.375000 1.625000 0.500000 +v -0.308395 1.625000 0.834848 +v -0.118718 1.625000 1.118718 +v 0.165152 1.625000 1.308394 +v 0.500000 1.625000 1.375000 +v 0.834848 1.625000 1.308394 +v 1.118718 1.625000 1.118719 +v 1.308395 1.625000 0.834848 +v 1.375000 1.625000 0.500000 +v 1.308394 1.625000 0.165152 +v 1.118718 1.625000 -0.118719 +v 0.834848 1.625000 -0.308395 +v -0.207107 1.000000 1.207107 +v 0.117317 1.000000 1.423880 +v 0.500000 1.000000 1.500000 +v 0.882683 1.000000 1.423880 +v 1.207107 1.000000 1.207107 +v 1.423880 1.000000 0.882684 +v 1.500000 1.000000 0.500000 +v 1.423879 1.000000 0.117316 +v 1.207107 1.000000 -0.207107 +v -0.207107 1.500000 1.207107 +v 0.117317 1.500000 1.423880 +v 0.500000 1.500000 1.500000 +v 0.882683 1.500000 1.423880 +v 1.207107 1.500000 1.207107 +v 1.423880 1.500000 0.882684 +v 1.500000 1.500000 0.500000 +v 1.423879 1.500000 0.117316 +v 1.207107 1.500000 -0.207107 +v -0.118718 1.000000 1.118718 +v 0.165152 1.000000 1.308394 +v 0.500000 1.000000 1.375000 +v 0.834848 1.000000 1.308394 +v 1.118718 1.000000 1.118719 +v 1.308395 1.000000 0.834848 +v 1.375000 1.000000 0.500000 +v 1.308394 1.000000 0.165152 +v 1.118718 1.000000 -0.118719 +v -0.118718 1.500000 1.118718 +v 0.165152 1.500000 1.308394 +v 0.500000 1.500000 1.375000 +v 0.834848 1.500000 1.308394 +v 1.118718 1.500000 1.118719 +v 1.308395 1.500000 0.834848 +v 1.375000 1.500000 0.500000 +v 1.308394 1.500000 0.165152 +v 1.118718 1.500000 -0.118719 +v 1.250000 0.625000 -0.125000 +v 1.250000 0.375000 -0.125000 +v 1.250000 0.375000 0.125000 +v 1.250000 0.625000 0.125000 +v -0.207107 1.000000 1.207107 +v 0.117316 1.000000 1.423880 +v 0.500000 1.000000 1.500000 +v 0.882683 1.000000 1.423880 +v 1.207107 1.000000 1.207107 +v 1.423880 1.000000 0.882684 +v 1.500000 1.000000 0.500000 +v 1.423880 1.000000 0.117316 +v 1.207107 1.000000 -0.207107 +v -0.207107 1.500000 1.207107 +v 0.117316 1.500000 1.423880 +v 0.500000 1.500000 1.500000 +v 0.882683 1.500000 1.423880 +v 1.207107 1.500000 1.207107 +v 1.423880 1.500000 0.882684 +v 1.500000 1.500000 0.500000 +v 1.423880 1.500000 0.117316 +v 1.207107 1.500000 -0.207107 +v -0.125000 0.125000 1.500000 +v 0.125000 0.125000 1.500000 +v -0.125000 0.125000 -1.500000 +v 0.125000 0.125000 -1.500000 +v -0.125000 0.250000 -1.500000 +v -0.125000 0.250000 1.500000 +v 0.125000 0.250000 1.500000 +v 0.125000 0.250000 -1.500000 +v -1.125000 0.125000 1.500000 +v -0.875000 0.125000 1.500000 +v -1.125000 0.125000 -1.500000 +v -0.875000 0.125000 -1.500000 +v -1.125000 0.250000 -1.500000 +v -1.125000 0.250000 1.500000 +v -0.875000 0.250000 1.500000 +v -0.875000 0.250000 -1.500000 +v 1.500000 0.312500 -1.187500 +v 1.500000 0.312500 -0.812500 +v 1.500000 0.687500 -1.187500 +v 1.500000 0.687500 -0.812500 +v 1.375000 0.375000 -1.125000 +v 1.375000 0.375000 -0.875000 +v 1.375000 0.625000 -1.125000 +v 1.375000 0.625000 -0.875000 +v 1.375000 0.687500 -1.187500 +v 1.375000 0.312500 -1.187500 +v 1.375000 0.312500 -0.812500 +v 1.375000 0.687500 -0.812500 +v 1.250000 0.625000 -1.125000 +v 1.250000 0.375000 -1.125000 +v 1.250000 0.375000 -0.875000 +v 1.250000 0.625000 -0.875000 +v 1.500000 0.312500 0.812500 +v 1.500000 0.312500 1.187500 +v 1.500000 0.687500 0.812500 +v 1.500000 0.687500 1.187500 +v 1.375000 0.375000 0.875000 +v 1.375000 0.375000 1.125000 +v 1.375000 0.625000 0.875000 +v 1.375000 0.625000 1.125000 +v 1.375000 0.687500 0.812500 +v 1.375000 0.312500 0.812500 +v 1.375000 0.312500 1.187500 +v 1.375000 0.687500 1.187500 +v 1.250000 0.625000 0.875000 +v 1.250000 0.375000 0.875000 +v 1.250000 0.375000 1.125000 +v 1.250000 0.625000 1.125000 +v -1.500000 0.312500 0.187500 +v -1.500000 0.312500 -0.187500 +v -1.500000 0.687500 0.187500 +v -1.500000 0.687500 -0.187500 +v -1.375000 0.375000 0.125000 +v -1.375000 0.375000 -0.125000 +v -1.375000 0.625000 0.125000 +v -1.375000 0.625000 -0.125000 +v -1.375000 0.687500 0.187500 +v -1.375000 0.312500 0.187500 +v -1.375000 0.312500 -0.187500 +v -1.375000 0.687500 -0.187500 +v -1.250000 0.625000 0.125000 +v -1.250000 0.375000 0.125000 +v -1.250000 0.375000 -0.125000 +v -1.250000 0.625000 -0.125000 +v -1.500000 0.312500 1.187500 +v -1.500000 0.312500 0.812500 +v -1.500000 0.687500 1.187500 +v -1.500000 0.687500 0.812500 +v -1.375000 0.375000 1.125000 +v -1.375000 0.375000 0.875000 +v -1.375000 0.625000 1.125000 +v -1.375000 0.625000 0.875000 +v -1.375000 0.687500 1.187500 +v -1.375000 0.312500 1.187500 +v -1.375000 0.312500 0.812500 +v -1.375000 0.687500 0.812500 +v -1.250000 0.625000 1.125000 +v -1.250000 0.375000 1.125000 +v -1.250000 0.375000 0.875000 +v -1.250000 0.625000 0.875000 +v -1.500000 0.312500 -0.812500 +v -1.500000 0.312500 -1.187500 +v -1.500000 0.687500 -0.812500 +v -1.500000 0.687500 -1.187500 +v -1.375000 0.375000 -0.875000 +v -1.375000 0.375000 -1.125000 +v -1.375000 0.625000 -0.875000 +v -1.375000 0.625000 -1.125000 +v -1.375000 0.687500 -0.812500 +v -1.375000 0.312500 -0.812500 +v -1.375000 0.312500 -1.187500 +v -1.375000 0.687500 -1.187500 +v -1.250000 0.625000 -0.875000 +v -1.250000 0.375000 -0.875000 +v -1.250000 0.375000 -1.125000 +v -1.250000 0.625000 -1.125000 +v -0.187500 0.312500 -1.500000 +v 0.187500 0.312500 -1.500000 +v -0.187500 0.687500 -1.500000 +v 0.187500 0.687500 -1.500000 +v -0.125000 0.375000 -1.375000 +v 0.125000 0.375000 -1.375000 +v -0.125000 0.625000 -1.375000 +v 0.125000 0.625000 -1.375000 +v -0.187500 0.687500 -1.375000 +v -0.187500 0.312500 -1.375000 +v 0.187500 0.312500 -1.375000 +v 0.187500 0.687500 -1.375000 +v -0.125000 0.625000 -1.250000 +v -0.125000 0.375000 -1.250000 +v 0.125000 0.375000 -1.250000 +v 0.125000 0.625000 -1.250000 +v -1.187500 0.312500 -1.500000 +v -0.812500 0.312500 -1.500000 +v -1.187500 0.687500 -1.500000 +v -0.812500 0.687500 -1.500000 +v -1.125000 0.375000 -1.375000 +v -0.875000 0.375000 -1.375000 +v -1.125000 0.625000 -1.375000 +v -0.875000 0.625000 -1.375000 +v -1.187500 0.687500 -1.375000 +v -1.187500 0.312500 -1.375000 +v -0.812500 0.312500 -1.375000 +v -0.812500 0.687500 -1.375000 +v -1.125000 0.625000 -1.250000 +v -1.125000 0.375000 -1.250000 +v -0.875000 0.375000 -1.250000 +v -0.875000 0.625000 -1.250000 +v 0.812500 0.312500 -1.500000 +v 1.187500 0.312500 -1.500000 +v 0.812500 0.687500 -1.500000 +v 1.187500 0.687500 -1.500000 +v 0.875000 0.375000 -1.375000 +v 1.125000 0.375000 -1.375000 +v 0.875000 0.625000 -1.375000 +v 1.125000 0.625000 -1.375000 +v 0.812500 0.687500 -1.375000 +v 0.812500 0.312500 -1.375000 +v 1.187500 0.312500 -1.375000 +v 1.187500 0.687500 -1.375000 +v 0.875000 0.625000 -1.250000 +v 0.875000 0.375000 -1.250000 +v 1.125000 0.375000 -1.250000 +v 1.125000 0.625000 -1.250000 +v 0.187500 0.312500 1.500000 +v -0.187500 0.312500 1.500000 +v 0.187500 0.687500 1.500000 +v -0.187500 0.687500 1.500000 +v 0.125000 0.375000 1.375000 +v -0.125000 0.375000 1.375000 +v 0.125000 0.625000 1.375000 +v -0.125000 0.625000 1.375000 +v 0.187500 0.687500 1.375000 +v 0.187500 0.312500 1.375000 +v -0.187500 0.312500 1.375000 +v -0.187500 0.687500 1.375000 +v 0.125000 0.625000 1.250000 +v 0.125000 0.375000 1.250000 +v -0.125000 0.375000 1.250000 +v -0.125000 0.625000 1.250000 +v 1.187500 0.312500 1.500000 +v 0.812500 0.312500 1.500000 +v 1.187500 0.687500 1.500000 +v 0.812500 0.687500 1.500000 +v 1.125000 0.375000 1.375000 +v 0.875000 0.375000 1.375000 +v 1.125000 0.625000 1.375000 +v 0.875000 0.625000 1.375000 +v 1.187500 0.687500 1.375000 +v 1.187500 0.312500 1.375000 +v 0.812500 0.312500 1.375000 +v 0.812500 0.687500 1.375000 +v 1.125000 0.625000 1.250000 +v 1.125000 0.375000 1.250000 +v 0.875000 0.375000 1.250000 +v 0.875000 0.625000 1.250000 +v -0.812500 0.312500 1.500000 +v -1.187500 0.312500 1.500000 +v -0.812500 0.687500 1.500000 +v -1.187500 0.687500 1.500000 +v -0.875000 0.375000 1.375000 +v -1.125000 0.375000 1.375000 +v -0.875000 0.625000 1.375000 +v -1.125000 0.625000 1.375000 +v -0.812500 0.687500 1.375000 +v -0.812500 0.312500 1.375000 +v -1.187500 0.312500 1.375000 +v -1.187500 0.687500 1.375000 +v -0.875000 0.625000 1.250000 +v -0.875000 0.375000 1.250000 +v -1.125000 0.375000 1.250000 +v -1.125000 0.625000 1.250000 +vt 0.394231 0.714286 +vt 0.375000 0.742857 +vt 0.375000 0.714286 +vt 0.375000 0.771429 +vt 0.394231 0.800000 +vt 0.375000 0.800000 +vt 0.432692 0.742857 +vt 0.413462 0.771429 +vt 0.413462 0.742857 +vt 0.451923 0.742857 +vt 0.432692 0.771429 +vt 0.394231 0.742857 +vt 0.394231 0.771429 +vt 0.394231 0.714286 +vt 0.375000 0.742857 +vt 0.375000 0.714286 +vt 0.375000 0.771429 +vt 0.394231 0.800000 +vt 0.375000 0.800000 +vt 0.432692 0.742857 +vt 0.413462 0.771429 +vt 0.413462 0.742857 +vt 0.451923 0.742857 +vt 0.432692 0.771429 +vt 0.394231 0.742857 +vt 0.394231 0.771429 +vt 0.394231 0.714286 +vt 0.375000 0.742857 +vt 0.375000 0.714286 +vt 0.375000 0.771429 +vt 0.394231 0.800000 +vt 0.375000 0.800000 +vt 0.432692 0.742857 +vt 0.413462 0.771429 +vt 0.413462 0.742857 +vt 0.451923 0.742857 +vt 0.432692 0.771429 +vt 0.394231 0.742857 +vt 0.394231 0.771429 +vt 0.394231 0.714286 +vt 0.375000 0.742857 +vt 0.375000 0.714286 +vt 0.375000 0.771429 +vt 0.394231 0.800000 +vt 0.375000 0.800000 +vt 0.432692 0.742857 +vt 0.413462 0.771429 +vt 0.413462 0.742857 +vt 0.451923 0.742857 +vt 0.432692 0.771429 +vt 0.394231 0.742857 +vt 0.394231 0.771429 +vt 0.250000 0.828571 +vt 0.442308 0.814286 +vt 0.442308 0.828571 +vt 0.250000 0.842857 +vt 0.250000 0.814286 +vt 0.442308 0.800000 +vt 0.442308 0.857143 +vt 0.250000 0.857143 +vt 0.442308 0.814286 +vt 0.250000 0.828571 +vt 0.250000 0.814286 +vt 0.442308 0.800000 +vt 0.442308 0.828571 +vt 0.250000 0.842857 +vt 0.442308 0.857143 +vt 0.442308 0.842857 +vt 0.250000 0.828571 +vt 0.442308 0.814286 +vt 0.442308 0.828571 +vt 0.250000 0.842857 +vt 0.250000 0.814286 +vt 0.442308 0.800000 +vt 0.442308 0.857143 +vt 0.250000 0.857143 +vt 0.442308 0.814286 +vt 0.250000 0.828571 +vt 0.250000 0.814286 +vt 0.442308 0.800000 +vt 0.442308 0.828571 +vt 0.250000 0.842857 +vt 0.442308 0.857143 +vt 0.442308 0.842857 +vt 0.706731 0.621429 +vt 0.677885 0.578571 +vt 0.706731 0.578571 +vt 0.716346 0.621429 +vt 0.677885 0.635714 +vt 0.677885 0.621429 +vt 0.706731 0.564286 +vt 0.668269 0.578571 +vt 0.721154 0.614286 +vt 0.716346 0.578571 +vt 0.721154 0.585714 +vt 0.701923 0.557143 +vt 0.677885 0.564286 +vt 0.682692 0.557143 +vt 0.663462 0.585714 +vt 0.668269 0.621429 +vt 0.663462 0.614286 +vt 0.682692 0.642857 +vt 0.706731 0.635714 +vt 0.701923 0.642857 +vt 0.076917 0.257143 +vt 0.096151 0.207648 +vt 0.134618 0.207648 +vt 0.019228 0.306638 +vt -0.000006 0.257143 +vt 0.019228 0.207648 +vt 0.307686 0.257143 +vt 0.326920 0.207648 +vt 0.365388 0.207648 +vt 0.249997 0.306638 +vt 0.230763 0.257143 +vt 0.249997 0.207648 +vt 0.730769 0.114286 +vt 0.538462 -0.000000 +vt 0.730769 -0.000000 +vt 0.730769 0.200000 +vt 0.557692 0.228571 +vt 0.538462 0.200000 +vt 0.538462 0.114286 +vt 1.000000 0.114286 +vt 0.807692 0.200000 +vt 0.807692 0.114286 +vt 0.461538 0.200000 +vt 0.461538 0.114286 +vt 0.557692 0.342857 +vt 0.711538 0.228571 +vt 0.711538 0.342857 +vt 1.000000 0.200000 +vt 0.826923 0.228571 +vt 0.461538 0.228571 +vt 0.730769 0.228571 +vt 0.653846 0.657143 +vt 0.615385 0.714286 +vt 0.615385 0.657143 +vt 0.576923 0.657143 +vt 0.538462 0.714286 +vt 0.538462 0.657143 +vt 0.692308 0.657143 +vt 0.653846 0.714286 +vt 0.576923 0.714286 +vt 0.615385 0.771429 +vt 0.653846 0.771429 +vt 0.615385 0.828571 +vt 0.615385 0.771429 +vt 0.576923 0.771429 +vt 0.538462 0.828571 +vt 0.538462 0.771429 +vt 0.692308 0.771429 +vt 0.653846 0.828571 +vt 0.576923 0.828571 +vt 0.615385 0.885714 +vt 1.000000 0.771429 +vt 0.961538 0.485714 +vt 1.000000 0.485714 +vt 0.884615 0.485714 +vt 0.923077 0.771429 +vt 0.884615 0.771429 +vt 0.923077 0.828571 +vt 0.961538 0.771429 +vt 0.961538 0.828571 +vt 0.961538 0.428571 +vt 0.923077 0.485714 +vt 0.923077 0.428571 +vt 0.750000 0.035714 +vt 0.846154 0.028571 +vt 0.846154 0.035714 +vt 0.730769 0.342857 +vt 0.846154 0.257143 +vt 0.846154 0.342857 +vt 0.711538 0.257143 +vt 0.711538 0.342857 +vt 0.865385 0.342857 +vt 0.865385 0.257143 +vt 0.846154 0.228571 +vt 0.730769 0.257143 +vt 0.730769 0.228571 +vt 0.730769 0.371429 +vt 0.846154 0.371429 +vt 0.750000 0.035714 +vt 0.846154 0.028571 +vt 0.846154 0.035714 +vt 0.846154 -0.000000 +vt 0.750000 0.028571 +vt 0.750000 -0.000000 +vt 0.750000 0.064286 +vt 0.846154 0.064286 +vt 0.730769 0.028571 +vt 0.730769 0.035714 +vt 0.865385 0.035714 +vt 0.865385 0.028571 +vt 0.846154 -0.000000 +vt 0.750000 0.028571 +vt 0.750000 -0.000000 +vt 0.750000 0.064286 +vt 0.846154 0.064286 +vt 0.730769 0.028571 +vt 0.730769 0.035714 +vt 0.865385 0.035714 +vt 0.865385 0.028571 +vt 0.750000 0.035714 +vt 0.846154 0.028571 +vt 0.846154 0.035714 +vt 0.846154 -0.000000 +vt 0.750000 0.028571 +vt 0.750000 -0.000000 +vt 0.750000 0.064286 +vt 0.846154 0.064286 +vt 0.730769 0.028571 +vt 0.730769 0.035714 +vt 0.865385 0.035714 +vt 0.865385 0.028571 +vt 0.750000 0.035714 +vt 0.846154 0.028571 +vt 0.846154 0.035714 +vt 0.846154 -0.000000 +vt 0.750000 0.028571 +vt 0.750000 -0.000000 +vt 0.750000 0.064286 +vt 0.846154 0.064286 +vt 0.730769 0.028571 +vt 0.730769 0.035714 +vt 0.865385 0.035714 +vt 0.865385 0.028571 +vt 0.750000 0.035714 +vt 0.846154 0.028571 +vt 0.846154 0.035714 +vt 0.846154 -0.000000 +vt 0.750000 0.028571 +vt 0.750000 -0.000000 +vt 0.750000 0.064286 +vt 0.846154 0.064286 +vt 0.730769 0.028571 +vt 0.730769 0.035714 +vt 0.865385 0.035714 +vt 0.865385 0.028571 +vt 0.403846 0.314286 +vt 0.442308 0.285714 +vt 0.442308 0.314286 +vt 0.403846 0.314286 +vt 0.442308 0.285714 +vt 0.442308 0.314286 +vt 0.461538 0.228571 +vt 0.442308 0.228571 +vt 0.403846 0.285714 +vt 0.403846 0.228571 +vt 0.500000 0.228571 +vt 0.461538 0.285714 +vt 0.384615 0.285714 +vt 0.384615 0.228571 +vt 0.461538 0.228571 +vt 0.442308 0.228571 +vt 0.403846 0.285714 +vt 0.403846 0.228571 +vt 0.500000 0.228571 +vt 0.461538 0.285714 +vt 0.384615 0.285714 +vt 0.384615 0.228571 +vt 0.240385 0.800000 +vt 0.009615 0.828571 +vt 0.009615 0.800000 +vt 0.009615 0.842857 +vt 0.240385 0.871429 +vt 0.009615 0.871429 +vt 0.250000 0.871429 +vt 0.240385 0.842857 +vt 0.250000 0.842857 +vt 0.000000 0.842857 +vt 0.000000 0.871429 +vt 0.240385 0.828571 +vt 0.009615 0.885714 +vt 0.240385 0.885714 +vt 0.846154 0.428571 +vt 0.730769 0.600000 +vt 0.730769 0.428571 +vt 0.730769 0.657143 +vt 0.846154 0.828571 +vt 0.730769 0.828571 +vt 0.692308 0.657143 +vt 0.692308 0.828571 +vt 0.846154 0.600000 +vt 0.730769 0.885714 +vt 0.846154 0.885714 +vt 0.884615 0.828571 +vt 0.846154 0.657143 +vt 0.884615 0.657143 +vt 0.131284 0.709336 +vt 0.022562 0.709336 +vt 0.022563 0.547807 +vt 0.413462 0.714212 +vt 0.384665 0.671429 +vt 0.413461 0.628646 +vt 0.711050 0.372155 +vt 0.730761 0.442857 +vt 0.596162 0.442857 +vt 0.481258 0.513559 +vt 0.481258 0.372155 +vt 0.576434 0.372155 +vt 0.259615 0.385714 +vt 0.288462 0.400000 +vt 0.259615 0.400000 +vt 0.230769 0.385714 +vt 0.230769 0.400000 +vt 0.201923 0.400000 +vt 0.173077 0.400000 +vt 0.201923 0.385714 +vt 0.144231 0.385714 +vt 0.144231 0.400000 +vt 0.115385 0.385714 +vt 0.115385 0.400000 +vt 0.086538 0.400000 +vt 0.057692 0.400000 +vt 0.086538 0.385714 +vt 0.057692 0.342857 +vt 0.086538 0.357143 +vt 0.057692 0.357143 +vt 0.557692 0.557143 +vt 0.548077 0.614286 +vt 0.548077 0.557143 +vt 0.086538 0.342857 +vt 0.115385 0.357143 +vt 0.144231 0.342857 +vt 0.115385 0.342857 +vt 0.173077 0.342857 +vt 0.144231 0.357143 +vt 0.201923 0.357143 +vt 0.173077 0.357143 +vt 0.201923 0.342857 +vt 0.230769 0.357143 +vt 0.259615 0.342857 +vt 0.230769 0.342857 +vt 0.288462 0.342857 +vt 0.259615 0.357143 +vt 0.336538 0.614286 +vt 0.326923 0.557143 +vt 0.336538 0.557143 +vt 0.730769 0.585714 +vt 0.682692 0.542857 +vt 0.653846 0.614286 +vt 0.701923 0.657143 +vt 0.240385 0.800000 +vt 0.009615 0.828571 +vt 0.009615 0.800000 +vt 0.009615 0.842857 +vt 0.240385 0.871429 +vt 0.009615 0.871429 +vt 0.250000 0.871429 +vt 0.240385 0.842857 +vt 0.250000 0.842857 +vt 0.000000 0.842857 +vt 0.000000 0.871429 +vt 0.240385 0.828571 +vt 0.009615 0.885714 +vt 0.240385 0.885714 +vt 0.240385 0.800000 +vt 0.009615 0.828571 +vt 0.009615 0.800000 +vt 0.009615 0.842857 +vt 0.240385 0.871429 +vt 0.009615 0.871429 +vt 0.250000 0.871429 +vt 0.240385 0.842857 +vt 0.250000 0.842857 +vt 0.000000 0.842857 +vt 0.000000 0.871429 +vt 0.240385 0.828571 +vt 0.009615 0.885714 +vt 0.240385 0.885714 +vt 0.706731 0.621429 +vt 0.677885 0.578571 +vt 0.706731 0.578571 +vt 0.716346 0.621429 +vt 0.677885 0.635714 +vt 0.677885 0.621429 +vt 0.706731 0.564286 +vt 0.668269 0.578571 +vt 0.721154 0.614286 +vt 0.716346 0.578571 +vt 0.721154 0.585714 +vt 0.701923 0.557143 +vt 0.677885 0.564286 +vt 0.682692 0.557143 +vt 0.663462 0.585714 +vt 0.668269 0.621429 +vt 0.663462 0.614286 +vt 0.682692 0.642857 +vt 0.706731 0.635714 +vt 0.701923 0.642857 +vt 0.730769 0.585714 +vt 0.682692 0.542857 +vt 0.653846 0.614286 +vt 0.701923 0.657143 +vt 0.706731 0.621429 +vt 0.677885 0.578571 +vt 0.706731 0.578571 +vt 0.716346 0.621429 +vt 0.677885 0.635714 +vt 0.677885 0.621429 +vt 0.706731 0.564286 +vt 0.668269 0.578571 +vt 0.721154 0.614286 +vt 0.716346 0.578571 +vt 0.721154 0.585714 +vt 0.701923 0.557143 +vt 0.677885 0.564286 +vt 0.682692 0.557143 +vt 0.663462 0.585714 +vt 0.668269 0.621429 +vt 0.663462 0.614286 +vt 0.682692 0.642857 +vt 0.706731 0.635714 +vt 0.701923 0.642857 +vt 0.730769 0.585714 +vt 0.682692 0.542857 +vt 0.653846 0.614286 +vt 0.701923 0.657143 +vt 0.706731 0.621429 +vt 0.677885 0.578571 +vt 0.706731 0.578571 +vt 0.716346 0.621429 +vt 0.677885 0.635714 +vt 0.677885 0.621429 +vt 0.706731 0.564286 +vt 0.668269 0.578571 +vt 0.721154 0.614286 +vt 0.716346 0.578571 +vt 0.721154 0.585714 +vt 0.701923 0.557143 +vt 0.677885 0.564286 +vt 0.682692 0.557143 +vt 0.663462 0.585714 +vt 0.668269 0.621429 +vt 0.663462 0.614286 +vt 0.682692 0.642857 +vt 0.706731 0.635714 +vt 0.701923 0.642857 +vt 0.730769 0.585714 +vt 0.682692 0.542857 +vt 0.653846 0.614286 +vt 0.701923 0.657143 +vt 0.706731 0.621429 +vt 0.677885 0.578571 +vt 0.706731 0.578571 +vt 0.716346 0.621429 +vt 0.677885 0.635714 +vt 0.677885 0.621429 +vt 0.706731 0.564286 +vt 0.668269 0.578571 +vt 0.721154 0.614286 +vt 0.716346 0.578571 +vt 0.721154 0.585714 +vt 0.701923 0.557143 +vt 0.677885 0.564286 +vt 0.682692 0.557143 +vt 0.663462 0.585714 +vt 0.668269 0.621429 +vt 0.663462 0.614286 +vt 0.682692 0.642857 +vt 0.706731 0.635714 +vt 0.701923 0.642857 +vt 0.730769 0.585714 +vt 0.682692 0.542857 +vt 0.653846 0.614286 +vt 0.701923 0.657143 +vt 0.706731 0.621429 +vt 0.677885 0.578571 +vt 0.706731 0.578571 +vt 0.716346 0.621429 +vt 0.677885 0.635714 +vt 0.677885 0.621429 +vt 0.706731 0.564286 +vt 0.668269 0.578571 +vt 0.721154 0.614286 +vt 0.716346 0.578571 +vt 0.721154 0.585714 +vt 0.701923 0.557143 +vt 0.677885 0.564286 +vt 0.682692 0.557143 +vt 0.663462 0.585714 +vt 0.668269 0.621429 +vt 0.663462 0.614286 +vt 0.682692 0.642857 +vt 0.706731 0.635714 +vt 0.701923 0.642857 +vt 0.730769 0.585714 +vt 0.682692 0.542857 +vt 0.653846 0.614286 +vt 0.701923 0.657143 +vt 0.706731 0.621429 +vt 0.677885 0.578571 +vt 0.706731 0.578571 +vt 0.716346 0.621429 +vt 0.677885 0.635714 +vt 0.677885 0.621429 +vt 0.706731 0.564286 +vt 0.668269 0.578571 +vt 0.721154 0.614286 +vt 0.716346 0.578571 +vt 0.721154 0.585714 +vt 0.701923 0.557143 +vt 0.677885 0.564286 +vt 0.682692 0.557143 +vt 0.663462 0.585714 +vt 0.668269 0.621429 +vt 0.663462 0.614286 +vt 0.682692 0.642857 +vt 0.706731 0.635714 +vt 0.701923 0.642857 +vt 0.730769 0.585714 +vt 0.682692 0.542857 +vt 0.653846 0.614286 +vt 0.701923 0.657143 +vt 0.706731 0.621429 +vt 0.677885 0.578571 +vt 0.706731 0.578571 +vt 0.716346 0.621429 +vt 0.677885 0.635714 +vt 0.677885 0.621429 +vt 0.706731 0.564286 +vt 0.668269 0.578571 +vt 0.721154 0.614286 +vt 0.716346 0.578571 +vt 0.721154 0.585714 +vt 0.701923 0.557143 +vt 0.677885 0.564286 +vt 0.682692 0.557143 +vt 0.663462 0.585714 +vt 0.668269 0.621429 +vt 0.663462 0.614286 +vt 0.682692 0.642857 +vt 0.706731 0.635714 +vt 0.701923 0.642857 +vt 0.730769 0.585714 +vt 0.682692 0.542857 +vt 0.653846 0.614286 +vt 0.701923 0.657143 +vt 0.706731 0.621429 +vt 0.677885 0.578571 +vt 0.706731 0.578571 +vt 0.716346 0.621429 +vt 0.677885 0.635714 +vt 0.677885 0.621429 +vt 0.706731 0.564286 +vt 0.668269 0.578571 +vt 0.721154 0.614286 +vt 0.716346 0.578571 +vt 0.721154 0.585714 +vt 0.701923 0.557143 +vt 0.677885 0.564286 +vt 0.682692 0.557143 +vt 0.663462 0.585714 +vt 0.668269 0.621429 +vt 0.663462 0.614286 +vt 0.682692 0.642857 +vt 0.706731 0.635714 +vt 0.701923 0.642857 +vt 0.730769 0.585714 +vt 0.701923 0.542857 +vt 0.653846 0.614286 +vt 0.701923 0.657143 +vt 0.706731 0.621429 +vt 0.677885 0.578571 +vt 0.706731 0.578571 +vt 0.716346 0.621429 +vt 0.677885 0.635714 +vt 0.677885 0.621429 +vt 0.706731 0.564286 +vt 0.668269 0.578571 +vt 0.721154 0.614286 +vt 0.716346 0.578571 +vt 0.721154 0.585714 +vt 0.701923 0.557143 +vt 0.677885 0.564286 +vt 0.682692 0.557143 +vt 0.663462 0.585714 +vt 0.668269 0.621429 +vt 0.663462 0.614286 +vt 0.682692 0.642857 +vt 0.706731 0.635714 +vt 0.701923 0.642857 +vt 0.730769 0.585714 +vt 0.701923 0.542857 +vt 0.653846 0.614286 +vt 0.701923 0.657143 +vt 0.706731 0.621429 +vt 0.677885 0.578571 +vt 0.706731 0.578571 +vt 0.716346 0.621429 +vt 0.677885 0.635714 +vt 0.677885 0.621429 +vt 0.706731 0.564286 +vt 0.668269 0.578571 +vt 0.721154 0.614286 +vt 0.716346 0.578571 +vt 0.721154 0.585714 +vt 0.701923 0.557143 +vt 0.677885 0.564286 +vt 0.682692 0.557143 +vt 0.663462 0.585714 +vt 0.668269 0.621429 +vt 0.663462 0.614286 +vt 0.682692 0.642857 +vt 0.706731 0.635714 +vt 0.701923 0.642857 +vt 0.730769 0.585714 +vt 0.682692 0.542857 +vt 0.653846 0.614286 +vt 0.701923 0.657143 +vt 0.706731 0.621429 +vt 0.677885 0.578571 +vt 0.706731 0.578571 +vt 0.716346 0.621429 +vt 0.677885 0.621429 +vt 0.706731 0.635714 +vt 0.677885 0.635714 +vt 0.706731 0.564286 +vt 0.668269 0.578571 +vt 0.721154 0.614286 +vt 0.716346 0.578571 +vt 0.721154 0.585714 +vt 0.701923 0.557143 +vt 0.677885 0.564286 +vt 0.682692 0.557143 +vt 0.663462 0.585714 +vt 0.668269 0.621429 +vt 0.663462 0.614286 +vt 0.682692 0.642857 +vt 0.701923 0.642857 +vt 0.730769 0.585714 +vt 0.701923 0.542857 +vt 0.653846 0.614286 +vt 0.701923 0.657143 +vt 0.451923 0.771429 +vt 0.451923 0.771429 +vt 0.451923 0.771429 +vt 0.451923 0.771429 +vt 0.442308 0.842857 +vt 0.250000 0.800000 +vt 0.250000 0.800000 +vt 0.250000 0.857143 +vt 0.442308 0.842857 +vt 0.250000 0.800000 +vt 0.250000 0.800000 +vt 0.250000 0.857143 +vt 0.148699 0.228567 +vt 0.153852 0.257143 +vt 0.148699 0.285719 +vt 0.134618 0.306638 +vt 0.115385 0.314295 +vt 0.096151 0.306638 +vt 0.082071 0.285719 +vt 0.082071 0.228567 +vt 0.115385 0.199991 +vt 0.076929 0.257143 +vt 0.071776 0.285719 +vt 0.057695 0.306638 +vt 0.038461 0.314295 +vt 0.005148 0.285719 +vt 0.005148 0.228567 +vt 0.038461 0.199991 +vt 0.057695 0.207648 +vt 0.071775 0.228567 +vt 0.379468 0.228567 +vt 0.384622 0.257143 +vt 0.379468 0.285719 +vt 0.365388 0.306638 +vt 0.346154 0.314295 +vt 0.326920 0.306638 +vt 0.312840 0.285719 +vt 0.312840 0.228567 +vt 0.346154 0.199991 +vt 0.307698 0.257143 +vt 0.302545 0.285719 +vt 0.288465 0.306638 +vt 0.269231 0.314295 +vt 0.235917 0.285719 +vt 0.235917 0.228567 +vt 0.269231 0.199991 +vt 0.288465 0.207648 +vt 0.302545 0.228567 +vt 0.980769 0.228571 +vt 0.538462 0.228571 +vt 0.807692 0.228571 +vt 0.692308 0.714286 +vt 0.653846 0.771429 +vt 0.692308 0.828571 +vt 0.653846 0.885714 +vt 0.500000 0.285714 +vt 0.500000 0.285714 +vt 0.131284 0.547807 +vt 0.147949 0.584862 +vt 0.153801 0.628571 +vt 0.147949 0.672281 +vt 0.106343 0.734095 +vt 0.076923 0.742790 +vt 0.047503 0.734095 +vt 0.005898 0.672281 +vt 0.000046 0.628572 +vt 0.005898 0.584862 +vt 0.047503 0.523048 +vt 0.076923 0.514353 +vt 0.106343 0.523048 +vt 0.442258 0.671428 +vt 0.440066 0.687801 +vt 0.433824 0.701681 +vt 0.424481 0.710955 +vt 0.402442 0.710955 +vt 0.393099 0.701681 +vt 0.386857 0.687801 +vt 0.386857 0.655056 +vt 0.393099 0.641176 +vt 0.402442 0.631902 +vt 0.424481 0.631902 +vt 0.433823 0.641176 +vt 0.440066 0.655056 +vt 0.725639 0.481121 +vt 0.711050 0.513560 +vt 0.689216 0.535234 +vt 0.663462 0.542845 +vt 0.637707 0.535234 +vt 0.615874 0.513559 +vt 0.601285 0.481121 +vt 0.601285 0.404593 +vt 0.663462 0.342869 +vt 0.615874 0.372155 +vt 0.637707 0.350480 +vt 0.689216 0.350480 +vt 0.725639 0.404593 +vt 0.591023 0.404593 +vt 0.576434 0.513559 +vt 0.596146 0.442857 +vt 0.591023 0.481121 +vt 0.554601 0.535234 +vt 0.528846 0.542845 +vt 0.503092 0.535234 +vt 0.466669 0.481121 +vt 0.461547 0.442857 +vt 0.466669 0.404593 +vt 0.503092 0.350480 +vt 0.528846 0.342869 +vt 0.554601 0.350480 +vt 0.288462 0.385714 +vt 0.173077 0.385714 +vt 0.057692 0.385714 +vt 0.557692 0.614286 +vt 0.288462 0.357143 +vt 0.326923 0.614286 +vt 0.730769 0.614286 +vt 0.701923 0.542857 +vt 0.653846 0.585714 +vt 0.682692 0.657143 +vt 0.730769 0.614286 +vt 0.701923 0.542857 +vt 0.653846 0.585714 +vt 0.682692 0.657143 +vt 0.730769 0.614286 +vt 0.701923 0.542857 +vt 0.653846 0.585714 +vt 0.682692 0.657143 +vt 0.730769 0.614286 +vt 0.701923 0.542857 +vt 0.653846 0.585714 +vt 0.682692 0.657143 +vt 0.730769 0.614286 +vt 0.701923 0.542857 +vt 0.653846 0.585714 +vt 0.682692 0.657143 +vt 0.730769 0.614286 +vt 0.701923 0.542857 +vt 0.653846 0.585714 +vt 0.682692 0.657143 +vt 0.730769 0.614286 +vt 0.701923 0.542857 +vt 0.653846 0.585714 +vt 0.682692 0.657143 +vt 0.730769 0.614286 +vt 0.701923 0.542857 +vt 0.653846 0.585714 +vt 0.682692 0.657143 +vt 0.730769 0.614286 +vt 0.682692 0.542857 +vt 0.653846 0.585714 +vt 0.682692 0.657143 +vt 0.730769 0.614286 +vt 0.682692 0.542857 +vt 0.653846 0.585714 +vt 0.682692 0.657143 +vt 0.730769 0.614286 +vt 0.701923 0.542857 +vt 0.653846 0.585714 +vt 0.682692 0.657143 +vt 0.730769 0.614286 +vt 0.682692 0.542857 +vt 0.653846 0.585714 +vt 0.682692 0.657143 +vt 0.115385 0.000000 +vt 0.096154 0.200000 +vt 0.096154 0.000000 +vt 0.000000 0.000000 +vt 0.019231 0.200000 +vt 0.000000 0.200000 +vt 0.192308 0.000000 +vt 0.173077 0.200000 +vt 0.173077 0.000000 +vt 0.134615 0.000000 +vt 0.115385 0.200000 +vt 0.019231 0.000000 +vt 0.038462 0.200000 +vt 0.076923 0.000000 +vt 0.057692 0.200000 +vt 0.057692 0.000000 +vt 0.211538 0.000000 +vt 0.192308 0.200000 +vt 0.153846 0.000000 +vt 0.134615 0.200000 +vt 0.038462 0.000000 +vt 0.076923 0.200000 +vt 0.230769 0.000000 +vt 0.211538 0.200000 +vt 0.153846 0.200000 +vt 0.346154 0.000000 +vt 0.326923 0.200000 +vt 0.326923 0.000000 +vt 0.250000 0.000000 +vt 0.230769 0.200000 +vt 0.230769 0.000000 +vt 0.423077 0.000000 +vt 0.403846 0.200000 +vt 0.403846 0.000000 +vt 0.365385 0.000000 +vt 0.346154 0.200000 +vt 0.269231 0.000000 +vt 0.250000 0.200000 +vt 0.288462 0.000000 +vt 0.307692 0.200000 +vt 0.288462 0.200000 +vt 0.442308 0.000000 +vt 0.423077 0.200000 +vt 0.384615 0.000000 +vt 0.365385 0.200000 +vt 0.269231 0.200000 +vt 0.307692 0.000000 +vt 0.461538 0.200000 +vt 0.442308 0.200000 +vt 0.384615 0.200000 +vt 0.163462 0.914286 +vt 0.115385 0.928571 +vt 0.115385 0.914286 +vt 0.163462 0.957143 +vt 0.115385 0.971429 +vt 0.115385 0.957143 +vt 0.000000 0.942857 +vt 0.057692 0.928571 +vt 0.057692 0.942857 +vt 0.163462 0.942857 +vt 0.177885 0.957143 +vt 0.057692 0.957143 +vt 0.115385 0.942857 +vt 0.115385 0.957143 +vt 0.000000 0.928571 +vt 0.057692 0.914286 +vt 0.163462 0.971429 +vt 0.115385 0.985714 +vt 0.057692 0.971429 +vt 0.115385 0.971429 +vt 0.000000 0.914286 +vt 0.057692 0.900000 +vt 0.115385 0.942857 +vt 0.057692 0.985714 +vt 0.115385 0.985714 +vt 0.000000 0.900000 +vt 0.057692 0.885714 +vt 0.163462 0.928571 +vt 0.115385 1.000000 +vt 0.000000 1.000000 +vt 0.057692 0.985714 +vt 0.057692 1.000000 +vt 0.163462 0.900000 +vt 0.115385 0.900000 +vt 0.057692 0.900000 +vt 0.115385 0.885714 +vt 0.115385 0.900000 +vt 0.000000 0.985714 +vt 0.057692 0.971429 +vt 0.057692 0.928571 +vt 0.115385 0.914286 +vt 0.115385 0.928571 +vt 0.057692 0.914286 +vt 0.000000 0.971429 +vt 0.057692 0.957143 +vt 0.163462 0.885714 +vt 0.115385 0.885714 +vt 0.163462 0.985714 +vt 0.115385 1.000000 +vt 0.057692 0.942857 +vt 0.168269 0.971429 +vt 0.177885 0.985714 +vt 0.173077 0.985714 +vt 0.177885 0.914286 +vt 0.177885 0.928571 +vt 0.177885 0.971429 +vt 0.168269 0.914286 +vt 0.177885 0.900000 +vt 0.177885 0.942857 +vt 0.192308 0.957143 +vt 0.187500 0.971429 +vt 0.187500 0.914286 +vt 0.192308 0.942857 +vt 0.182692 0.985714 +vt 0.192308 0.928571 +vt 0.177885 0.885714 +vt 0.173077 0.900000 +vt 0.182692 0.900000 +vt 0.177885 1.000000 +vt 0.192308 0.900000 +vt 0.240385 0.914286 +vt 0.192308 0.914286 +vt 0.240385 0.942857 +vt 0.192308 0.985714 +vt 0.240385 1.000000 +vt 0.192308 1.000000 +vt 0.240385 0.957143 +vt 0.192308 0.885714 +vt 0.240385 0.900000 +vt 0.192308 0.971429 +vt 0.240385 0.985714 +vt 0.240385 0.928571 +vt 0.240385 0.971429 +vt 0.254808 1.000000 +vt 0.245192 1.000000 +vt 0.254808 0.942857 +vt 0.254808 0.957143 +vt 0.254808 0.985714 +vt 0.245192 0.885714 +vt 0.254808 0.900000 +vt 0.250000 0.900000 +vt 0.254808 0.971429 +vt 0.245192 0.942857 +vt 0.254808 0.928571 +vt 0.269231 0.971429 +vt 0.264423 0.942857 +vt 0.269231 0.985714 +vt 0.264423 1.000000 +vt 0.269231 0.957143 +vt 0.264423 0.885714 +vt 0.259615 0.900000 +vt 0.254808 0.914286 +vt 0.250000 0.928571 +vt 0.259615 0.928571 +vt 0.336538 0.914286 +vt 0.269231 0.928571 +vt 0.269231 0.914286 +vt 0.336538 0.957143 +vt 0.269231 0.971429 +vt 0.269231 0.957143 +vt 0.336538 0.942857 +vt 0.350962 0.957143 +vt 0.336538 0.971429 +vt 0.269231 0.985714 +vt 0.269231 0.942857 +vt 0.336538 0.928571 +vt 0.336538 0.900000 +vt 0.269231 0.900000 +vt 0.336538 0.885714 +vt 0.269231 0.885714 +vt 0.336538 0.985714 +vt 0.269231 1.000000 +vt 0.341346 0.971429 +vt 0.350962 0.985714 +vt 0.346154 0.985714 +vt 0.341346 0.914286 +vt 0.350962 0.928571 +vt 0.350962 0.971429 +vt 0.350962 0.900000 +vt 0.350962 0.914286 +vt 0.350962 0.942857 +vt 0.365385 0.957143 +vt 0.360577 0.971429 +vt 0.360577 0.914286 +vt 0.365385 0.928571 +vt 0.365385 0.942857 +vt 0.355769 0.985714 +vt 0.350962 0.885714 +vt 0.346154 0.900000 +vt 0.355769 0.900000 +vt 0.350962 1.000000 +vt 0.365385 0.900000 +vt 0.413462 0.914286 +vt 0.365385 0.914286 +vt 0.413462 0.942857 +vt 0.365385 0.985714 +vt 0.413462 1.000000 +vt 0.365385 1.000000 +vt 0.413462 0.957143 +vt 0.365385 0.885714 +vt 0.413462 0.900000 +vt 0.365385 0.971429 +vt 0.413462 0.985714 +vt 0.413462 0.928571 +vt 0.413462 0.971429 +vt 0.418269 1.000000 +vt 0.427885 0.985714 +vt 0.427885 1.000000 +vt 0.418269 0.942857 +vt 0.427885 0.957143 +vt 0.427885 0.971429 +vt 0.418269 0.885714 +vt 0.427885 0.900000 +vt 0.423077 0.900000 +vt 0.427885 0.928571 +vt 0.427885 0.942857 +vt 0.442308 0.957143 +vt 0.442308 0.971429 +vt 0.437500 0.942857 +vt 0.442308 0.985714 +vt 0.437500 1.000000 +vt 0.437500 0.885714 +vt 0.432692 0.900000 +vt 0.427885 0.914286 +vt 0.423077 0.928571 +vt 0.432692 0.928571 +vt 0.442308 0.885714 +vt 0.461538 0.900000 +vt 0.442308 0.900000 +vt 0.461538 0.971429 +vt 0.442308 0.928571 +vt 0.461538 0.942857 +vt 0.442308 0.942857 +vt 0.461538 0.914286 +vt 0.442308 0.914286 +vt 0.461538 1.000000 +vt 0.442308 1.000000 +vt 0.461538 0.928571 +vt 0.461538 0.957143 +vt 0.461538 0.985714 +vt 0.230769 0.428571 +vt 0.206731 0.514286 +vt 0.201923 0.428571 +vt 0.432692 0.314286 +vt 0.403846 0.428571 +vt 0.403846 0.314286 +vt 0.461538 0.314286 +vt 0.432692 0.428571 +vt 0.028846 0.314286 +vt 0.000000 0.428571 +vt -0.000000 0.314286 +vt 0.028846 0.428571 +vt 0.317308 0.428571 +vt 0.375000 0.314286 +vt 0.346154 0.428571 +vt 0.346154 0.314286 +vt 0.317308 0.314286 +vt 0.375000 0.428571 +vt 0.355769 0.628571 +vt 0.341346 0.685714 +vt 0.341346 0.628571 +vt 0.004808 0.514286 +vt 0.259615 0.428571 +vt 0.235577 0.514286 +vt 0.057692 0.428571 +vt 0.033654 0.514286 +vt 0.288462 0.428571 +vt 0.264423 0.514286 +vt 0.086538 0.428571 +vt 0.062500 0.514286 +vt 0.293269 0.514286 +vt 0.115385 0.428571 +vt 0.091346 0.514286 +vt 0.350962 0.514286 +vt 0.322115 0.514286 +vt 0.134615 0.514286 +vt 0.120192 0.514286 +vt 0.379808 0.514286 +vt 0.144231 0.428571 +vt 0.163462 0.514286 +vt 0.149038 0.514286 +vt 0.408654 0.514286 +vt 0.173077 0.428571 +vt 0.192308 0.514286 +vt 0.177885 0.514286 +vt 0.461538 0.428571 +vt 0.437500 0.514286 +vt 0.197115 0.685714 +vt 0.182692 0.714286 +vt 0.182692 0.685714 +vt 0.225962 0.628571 +vt 0.240385 0.685714 +vt 0.225962 0.685714 +vt 0.370192 0.628571 +vt 0.355769 0.685714 +vt 0.254808 0.628571 +vt 0.240385 0.628571 +vt 0.384615 0.628571 +vt 0.370192 0.685714 +vt 0.269231 0.628571 +vt 0.254808 0.685714 +vt 0.168269 0.628571 +vt 0.153846 0.685714 +vt 0.153846 0.628571 +vt 0.283654 0.628571 +vt 0.269231 0.685714 +vt 0.182692 0.628571 +vt 0.168269 0.685714 +vt 0.298077 0.628571 +vt 0.283654 0.685714 +vt 0.197115 0.628571 +vt 0.312500 0.628571 +vt 0.298077 0.685714 +vt 0.211538 0.628571 +vt 0.326923 0.685714 +vt 0.326923 0.628571 +vt 0.312500 0.685714 +vt 0.211538 0.685714 +vt 0.634615 0.957143 +vt 0.750000 0.971429 +vt 0.634615 0.971429 +vt 0.634615 0.914286 +vt 0.750000 0.928571 +vt 0.634615 0.928571 +vt 0.764423 0.928571 +vt 0.750000 0.942857 +vt 0.634615 0.900000 +vt 0.750000 0.914286 +vt 0.634615 0.942857 +vt 0.750000 0.957143 +vt 0.750000 0.985714 +vt 0.634615 0.985714 +vt 0.750000 1.000000 +vt 0.634615 1.000000 +vt 0.634615 0.885714 +vt 0.750000 0.900000 +vt 0.764423 0.900000 +vt 0.754808 0.914286 +vt 0.759615 0.900000 +vt 0.764423 0.971429 +vt 0.754808 0.971429 +vt 0.764423 0.914286 +vt 0.764423 0.985714 +vt 0.759615 0.985714 +vt 0.764423 0.957143 +vt 0.774038 0.914286 +vt 0.774038 0.971429 +vt 0.778846 0.942857 +vt 0.764423 0.942857 +vt 0.778846 0.928571 +vt 0.778846 0.957143 +vt 0.764423 1.000000 +vt 0.769231 0.985714 +vt 0.764423 0.885714 +vt 0.769231 0.900000 +vt 0.817308 0.971429 +vt 0.778846 0.985714 +vt 0.778846 0.971429 +vt 0.817308 0.942857 +vt 0.817308 0.885714 +vt 0.778846 0.900000 +vt 0.778846 0.885714 +vt 0.817308 0.928571 +vt 0.817308 0.985714 +vt 0.778846 1.000000 +vt 0.817308 0.900000 +vt 0.778846 0.914286 +vt 0.817308 0.957143 +vt 0.817308 0.914286 +vt 0.831731 0.885714 +vt 0.822115 0.885714 +vt 0.831731 0.942857 +vt 0.822115 0.942857 +vt 0.831731 0.900000 +vt 0.831731 0.985714 +vt 0.822115 1.000000 +vt 0.826923 0.985714 +vt 0.831731 0.914286 +vt 0.831731 0.957143 +vt 0.826923 0.957143 +vt 0.846154 0.914286 +vt 0.831731 0.928571 +vt 0.841346 0.942857 +vt 0.841346 0.885714 +vt 0.846154 0.928571 +vt 0.846154 0.900000 +vt 0.841346 1.000000 +vt 0.831731 1.000000 +vt 0.831731 0.971429 +vt 0.836538 0.957143 +vt 0.836538 0.985714 +vt 0.461538 0.957143 +vt 0.557692 0.971429 +vt 0.461538 0.971429 +vt 0.461538 0.914286 +vt 0.557692 0.928571 +vt 0.461538 0.928571 +vt 0.572115 0.928571 +vt 0.557692 0.942857 +vt 0.461538 0.900000 +vt 0.557692 0.914286 +vt 0.461538 0.942857 +vt 0.557692 0.957143 +vt 0.557692 0.985714 +vt 0.461538 0.985714 +vt 0.557692 1.000000 +vt 0.461538 1.000000 +vt 0.461538 0.885714 +vt 0.557692 0.900000 +vt 0.572115 0.900000 +vt 0.562500 0.914286 +vt 0.567308 0.900000 +vt 0.572115 0.971429 +vt 0.562500 0.971429 +vt 0.572115 0.914286 +vt 0.572115 0.985714 +vt 0.567308 0.985714 +vt 0.572115 0.957143 +vt 0.586538 0.928571 +vt 0.581731 0.971429 +vt 0.586538 0.942857 +vt 0.572115 0.942857 +vt 0.581731 0.914286 +vt 0.586538 0.957143 +vt 0.572115 1.000000 +vt 0.576923 0.985714 +vt 0.572115 0.885714 +vt 0.576923 0.900000 +vt 0.605769 0.971429 +vt 0.586538 0.985714 +vt 0.586538 0.971429 +vt 0.605769 0.942857 +vt 0.605769 0.885714 +vt 0.586538 0.900000 +vt 0.586538 0.885714 +vt 0.605769 0.928571 +vt 0.605769 0.985714 +vt 0.586538 1.000000 +vt 0.605769 0.900000 +vt 0.586538 0.914286 +vt 0.605769 0.957143 +vt 0.605769 0.914286 +vt 0.620192 0.885714 +vt 0.610577 0.885714 +vt 0.620192 0.942857 +vt 0.610577 0.942857 +vt 0.620192 0.900000 +vt 0.620192 0.985714 +vt 0.610577 1.000000 +vt 0.615385 0.985714 +vt 0.620192 0.928571 +vt 0.620192 0.957143 +vt 0.615385 0.957143 +vt 0.634615 0.914286 +vt 0.620192 0.914286 +vt 0.629808 0.942857 +vt 0.634615 0.900000 +vt 0.634615 0.928571 +vt 0.629808 1.000000 +vt 0.620192 1.000000 +vt 0.620192 0.971429 +vt 0.625000 0.957143 +vt 0.625000 0.985714 +vt 0.884615 0.028571 +vt 0.971154 0.042857 +vt 0.884615 0.042857 +vt 0.884615 0.071429 +vt 0.971154 0.085714 +vt 0.884615 0.085714 +vt 0.884615 0.100000 +vt 0.971154 0.114286 +vt 0.884615 0.114286 +vt 0.884615 0.014286 +vt 0.971154 0.028571 +vt 0.971154 0.057143 +vt 0.884615 0.057143 +vt 0.971154 0.071429 +vt 0.971154 0.100000 +vt 0.884615 0.000000 +vt 0.971154 0.014286 +vt 0.975962 0.028571 +vt 0.985577 0.014286 +vt 0.985577 0.028571 +vt 0.985577 0.042857 +vt 0.985577 0.057143 +vt 0.985577 0.071429 +vt 0.975962 0.085714 +vt 0.985577 0.100000 +vt 0.980769 0.100000 +vt 0.985577 0.085714 +vt 1.000000 0.071429 +vt 0.995192 0.085714 +vt 0.995192 0.028571 +vt 1.000000 0.057143 +vt 0.990385 0.100000 +vt 1.000000 0.042857 +vt 0.298077 0.714286 +vt 0.197115 0.714286 +vt 0.326923 0.714286 +vt 0.312500 0.714286 +vt 0.211538 0.714286 +vt 0.350962 0.714286 +vt 0.341346 0.714286 +vt 0.235577 0.714286 +vt 0.225962 0.714286 +vt 0.355769 0.714286 +vt 0.240385 0.714286 +vt 0.379808 0.714286 +vt 0.370192 0.714286 +vt 0.254808 0.714286 +vt 0.163462 0.714286 +vt 0.153846 0.714286 +vt 0.278846 0.714286 +vt 0.269231 0.714286 +vt 0.177885 0.714286 +vt 0.168269 0.714286 +vt 0.293269 0.714286 +vt 0.283654 0.714286 +vt 0.971154 0.071429 +vt 0.884615 0.085714 +vt 0.884615 0.071429 +vt 0.971154 0.028571 +vt 0.884615 0.042857 +vt 0.884615 0.028571 +vt 0.971154 -0.000000 +vt 0.884615 0.014286 +vt 0.884615 0.000000 +vt 0.971154 0.085714 +vt 0.884615 0.100000 +vt 0.971154 0.057143 +vt 0.884615 0.057143 +vt 0.971154 0.042857 +vt 0.971154 0.014286 +vt 0.971154 0.100000 +vt 0.884615 0.114286 +vt 0.975962 0.085714 +vt 0.985577 0.100000 +vt 0.980769 0.100000 +vt 0.985577 0.057143 +vt 0.985577 0.042857 +vt 0.985577 0.014286 +vt 0.975962 0.028571 +vt 0.980769 0.014286 +vt 0.985577 0.085714 +vt 0.985577 0.028571 +vt 1.000000 0.042857 +vt 0.995192 0.085714 +vt 1.000000 0.057143 +vt 0.985577 0.071429 +vt 0.995192 0.028571 +vt 1.000000 0.071429 +vt 0.144231 0.314286 +vt 0.115385 0.314286 +vt 0.557692 0.542857 +vt 0.528846 0.557143 +vt 0.528846 0.542857 +vt 0.201923 0.314286 +vt 0.173077 0.314286 +vt 0.259615 0.314286 +vt 0.230769 0.314286 +vt 0.500000 0.542857 +vt 0.471154 0.557143 +vt 0.471154 0.542857 +vt 0.086538 0.314286 +vt 0.269231 0.628571 +vt 0.240385 0.542857 +vt 0.269231 0.542857 +vt 0.298077 0.628571 +vt 0.298077 0.542857 +vt 0.240385 0.628571 +vt 0.211538 0.542857 +vt 0.182692 0.628571 +vt 0.182692 0.542857 +vt 0.288462 0.314286 +vt 0.153846 0.542857 +vt 0.057692 0.314286 +vt 0.615385 0.628571 +vt 0.586538 0.542857 +vt 0.615385 0.542857 +vt 0.355769 0.542857 +vt 0.326923 0.542857 +vt 0.413462 0.542857 +vt 0.384615 0.557143 +vt 0.384615 0.542857 +vt 0.442308 0.557143 +vt 0.442308 0.542857 +vt 0.500000 0.557143 +vt 0.355769 0.557143 +vt 0.413462 0.557143 +vt 0.355769 0.628571 +vt 0.384615 0.614286 +vt 0.384615 0.628571 +vt 0.413462 0.628571 +vt 0.442308 0.614286 +vt 0.442308 0.628571 +vt 0.471154 0.628571 +vt 0.500000 0.614286 +vt 0.500000 0.628571 +vt 0.528846 0.628571 +vt 0.557692 0.628571 +vt 0.326923 0.628571 +vt 0.355769 0.614286 +vt 0.413462 0.614286 +vt 0.471154 0.614286 +vt 0.528846 0.614286 +vt 0.586538 0.628571 +vt 0.759615 0.371429 +vt 0.730769 0.428571 +vt 0.730769 0.371429 +vt 0.788462 0.371429 +vt 0.759615 0.428571 +vt 0.817308 0.371429 +vt 0.788462 0.428571 +vt 0.846154 0.371429 +vt 0.817308 0.428571 +vt 0.875000 0.371429 +vt 0.846154 0.428571 +vt 0.903846 0.371429 +vt 0.875000 0.428571 +vt 0.932692 0.371429 +vt 0.903846 0.428571 +vt 0.932692 0.428571 +vt 0.961538 0.371429 +vt 0.961538 0.428571 +vt 0.985577 0.114286 +vt 0.980769 0.014286 +vt 0.985577 -0.000000 +vt 0.990385 0.014286 +vt 0.985577 0.114286 +vt 0.990385 0.100000 +vt 0.985577 -0.000000 +vt 0.990385 0.014286 +vt 0.230769 0.200000 +vt 0.461538 0.000000 +vt 0.000000 0.885714 +vt 0.057692 1.000000 +vt 0.057692 0.885714 +vt 0.000000 0.957143 +vt 0.163462 1.000000 +vt 0.240385 0.885714 +vt 0.254808 0.885714 +vt 0.336538 1.000000 +vt 0.413462 0.885714 +vt 0.427885 0.885714 +vt 0.461538 0.885714 +vt 0.221154 0.514286 +vt 0.019231 0.514286 +vt 0.250000 0.514286 +vt 0.048077 0.514286 +vt 0.278846 0.514286 +vt 0.076923 0.514286 +vt 0.307692 0.514286 +vt 0.105769 0.514286 +vt 0.365385 0.514286 +vt 0.336538 0.514286 +vt 0.394231 0.514286 +vt 0.423077 0.514286 +vt 0.451923 0.514286 +vt 0.192308 0.714286 +vt 0.384615 0.685714 +vt 0.750000 0.885714 +vt 0.817308 1.000000 +vt 0.557692 0.885714 +vt 0.605769 1.000000 +vt 0.629808 0.885714 +vt 0.971154 -0.000000 +vt 0.307692 0.714286 +vt 0.206731 0.714286 +vt 0.336538 0.714286 +vt 0.322115 0.714286 +vt 0.221154 0.714286 +vt 0.365385 0.714286 +vt 0.250000 0.714286 +vt 0.264423 0.714286 +vt 0.971154 0.114286 +vt 0.211538 0.628571 +vt 0.153846 0.628571 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 0.0000 0.7071 +vn -0.8660 0.0000 -0.5000 +vn 0.8660 -0.0000 -0.5000 +vn 0.5000 -0.0000 0.8660 +vn -0.8660 0.0000 0.5000 +vn 0.5000 -0.0000 -0.8660 +vn -0.5000 0.0000 -0.8660 +vn 0.8660 -0.0000 0.5000 +vn -0.5000 0.0000 0.8660 +vn 0.9987 0.0473 -0.0196 +vn -0.6794 0.7194 -0.1448 +vn 0.0000 0.9824 -0.1866 +vn -0.6630 0.5294 -0.5294 +vn -0.9987 0.0473 -0.0196 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.6794 0.7194 -0.1448 +vn 0.7263 -0.6737 0.1363 +vn -0.0000 -0.7071 0.7071 +vn -0.7263 -0.6737 0.1363 +vn -0.7574 -0.4617 0.4617 +vn 0.9955 0.0671 -0.0671 +vn 0.6630 0.5294 -0.5294 +vn -0.9955 0.0671 -0.0671 +vn 0.7574 -0.4617 0.4617 +vn -0.0000 0.7071 -0.7071 +vn -0.6794 0.1448 -0.7194 +vn -0.9987 0.0196 -0.0473 +vn 0.9987 0.0196 -0.0473 +vn -0.0000 0.1866 -0.9824 +vn -0.7263 -0.1363 0.6737 +vn 0.6794 0.1448 -0.7194 +vn 0.7263 -0.1363 0.6737 +vn 0.9809 0.1944 0.0000 +vn -0.0473 -0.0196 -0.9987 +vn -0.0473 -0.0196 0.9987 +vn -0.7194 -0.1448 -0.6794 +vn 0.6737 0.1363 0.7263 +vn -0.7194 -0.1448 0.6794 +vn 0.6737 0.1363 -0.7263 +vn -0.9824 -0.1866 -0.0000 +vn -0.0671 -0.0671 0.9955 +vn -0.0671 -0.0671 -0.9955 +vn -0.5294 -0.5294 -0.6630 +vn -0.5294 -0.5294 0.6630 +vn 0.4617 0.4617 0.7574 +vn 0.4617 0.4617 -0.7574 +vn -0.3827 -0.9239 0.0000 +vn -0.0393 -0.0948 -0.9947 +vn -0.2962 -0.7150 0.6333 +vn -0.0393 -0.0948 0.9947 +vn -0.2962 -0.7150 -0.6333 +vn 0.2611 0.6303 0.7311 +vn 0.2611 0.6303 -0.7311 +vn -0.1448 -0.7194 -0.6794 +vn -0.1866 -0.9824 0.0000 +vn -0.0196 -0.0473 -0.9987 +vn -0.1448 -0.7194 0.6794 +vn -0.0196 -0.0473 0.9987 +vn 0.1363 0.6737 0.7263 +vn 0.1363 0.6737 -0.7263 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.6533 0.7071 0.2706 +vn -0.9239 0.0000 -0.3827 +vn -0.7071 0.0000 -0.7071 +vn -0.9239 0.0000 0.3827 +vn -0.7523 0.0000 0.6588 +vn 0.3827 0.0000 -0.9239 +vn 0.6588 0.0000 -0.7523 +vn -0.3827 0.0000 -0.9239 +vn -0.6533 0.7071 0.2706 +vn 0.6533 0.7071 -0.2706 +vn -0.5000 0.7071 0.5000 +vn 0.5000 0.7071 -0.5000 +vn -0.2706 0.7071 0.6533 +vn 0.2706 0.7071 -0.6533 +vn -0.2706 0.7071 -0.6533 +vn 0.2706 0.7071 0.6533 +vn -0.5000 0.7071 -0.5000 +vn 0.5000 0.7071 0.5000 +vn -0.6533 0.7071 -0.2706 +vn -0.3423 0.4472 0.8263 +vn -0.6325 0.4472 0.6325 +vn 0.3827 0.0000 0.9239 +vn 0.9239 0.0000 0.3827 +vn 0.9239 0.0000 -0.3827 +vn -0.7071 -0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn -0.3827 -0.0000 0.9239 +vn -0.9809 0.1944 0.0000 +vn 0.0473 -0.0196 -0.9987 +vn 0.0473 -0.0196 0.9987 +vn 0.7194 -0.1448 -0.6794 +vn -0.6737 0.1363 0.7263 +vn 0.7194 -0.1448 0.6794 +vn -0.6737 0.1363 -0.7263 +vn 0.9824 -0.1866 0.0000 +vn 0.0671 -0.0671 0.9955 +vn 0.0671 -0.0671 -0.9955 +vn 0.5294 -0.5294 0.6630 +vn -0.4617 0.4617 0.7574 +vn -0.4617 0.4617 -0.7574 +vn 0.3827 -0.9239 0.0000 +vn 0.5294 -0.5294 -0.6630 +vn 0.0393 -0.0948 -0.9947 +vn 0.0393 -0.0948 0.9947 +vn 0.2962 -0.7150 -0.6333 +vn 0.2962 -0.7150 0.6333 +vn -0.2611 0.6303 -0.7311 +vn -0.2611 0.6303 0.7311 +vn 0.1448 0.6794 -0.7194 +vn 0.0196 -0.9987 -0.0473 +vn -0.1944 0.0000 0.9809 +vn 0.0196 0.9987 -0.0473 +vn 0.1866 -0.0000 -0.9824 +vn 0.1448 -0.6794 -0.7194 +vn -0.1363 -0.7263 0.6737 +vn -0.1363 0.7263 0.6737 +vn -0.4617 0.7574 0.4617 +vn 0.0671 0.9955 -0.0671 +vn 0.5294 0.6630 -0.5294 +vn 0.5294 -0.6630 -0.5294 +vn -0.4617 -0.7574 0.4617 +vn 0.0671 -0.9955 -0.0671 +vn 0.7150 -0.6333 -0.2962 +vn 0.0948 -0.9947 -0.0393 +vn 0.0948 0.9947 -0.0393 +vn -0.6303 -0.7311 0.2611 +vn 0.7150 0.6333 -0.2962 +vn 0.3423 0.4472 -0.8263 +vn 0.6325 0.4472 -0.6325 +vn -0.0000 0.4472 0.8944 +vn -0.3423 0.4472 -0.8263 +vn 0.0000 0.4472 -0.8944 +vn 0.3423 0.4472 0.8263 +vn -0.6325 0.4472 -0.6325 +vn 0.6325 0.4472 0.6325 +vn -0.8263 0.4472 -0.3423 +vn 0.8263 0.4472 0.3423 +vn -0.8944 0.4472 -0.0000 +vn 0.8944 0.4472 0.0000 +vn -0.8263 0.4472 0.3423 +vn 0.8263 0.4472 -0.3423 +vn 0.1448 0.6794 0.7194 +vn 0.0196 -0.9987 0.0473 +vn -0.1944 0.0000 -0.9809 +vn 0.0196 0.9987 0.0473 +vn 0.1866 -0.0000 0.9824 +vn 0.1448 -0.6794 0.7194 +vn -0.1363 -0.7263 -0.6737 +vn -0.1363 0.7263 -0.6737 +vn -0.4617 0.7574 -0.4617 +vn 0.5294 -0.6630 0.5294 +vn -0.4617 -0.7574 -0.4617 +vn 0.0671 0.9955 0.0671 +vn 0.0671 -0.9955 0.0671 +vn 0.7150 -0.6333 0.2962 +vn 0.0948 0.9947 0.0393 +vn 0.5294 0.6630 0.5294 +vn 0.0948 -0.9947 0.0393 +vn 0.7150 0.6333 0.2962 +vn -0.6588 0.0000 0.7523 +vn 0.7523 -0.0000 -0.6588 +vn -0.5556 0.0000 0.8315 +vn 0.8315 0.0000 -0.5556 +vn -0.6303 0.7311 0.2611 +vn -0.6303 0.7311 -0.2611 +vn -0.6303 -0.7311 -0.2611 +s off +f 286/410/40 283/411/40 284/412/40 +f 287/413/41 290/414/41 288/415/41 +f 284/416/42 290/417/42 286/418/42 +f 283/419/43 288/420/43 284/416/43 +f 285/421/44 287/413/44 283/411/44 +f 286/418/45 289/422/45 285/421/45 +f 294/423/40 291/424/40 292/425/40 +f 295/426/41 298/427/41 296/428/41 +f 292/429/42 298/430/42 294/431/42 +f 291/432/43 296/433/43 292/429/43 +f 293/434/44 295/426/44 291/424/44 +f 294/431/45 297/435/45 293/434/45 +f 302/436/40 299/437/40 300/438/40 +f 303/439/41 306/440/41 304/441/41 +f 300/442/42 306/443/42 302/444/42 +f 299/445/43 304/446/43 300/442/43 +f 301/447/44 303/439/44 299/437/44 +f 302/444/45 305/448/45 301/447/45 +f 310/449/40 307/450/40 308/451/40 +f 311/452/41 314/453/41 312/454/41 +f 308/455/42 314/456/42 310/457/42 +f 307/458/43 312/459/43 308/455/43 +f 309/460/44 311/452/44 307/450/44 +f 310/457/45 313/461/45 309/460/45 +f 282/462/40 280/463/40 281/464/40 +f 281/464/44 275/465/44 282/462/44 +f 279/466/42 277/467/42 280/463/42 +f 275/465/41 277/468/41 278/469/41 +f 322/470/40 320/471/40 321/472/40 +f 321/472/44 315/473/44 322/470/44 +f 319/474/42 317/475/42 320/471/42 +f 315/476/41 317/475/41 318/477/41 +f 330/478/40 328/479/40 329/480/40 +f 329/480/45 323/481/45 330/478/45 +f 327/482/43 325/483/43 328/479/43 +f 323/481/41 325/484/41 326/485/41 +f 338/486/40 336/487/40 337/488/40 +f 337/488/45 331/489/45 338/486/45 +f 335/490/43 333/491/43 336/487/43 +f 331/492/41 333/491/41 334/493/41 +f 341/494/44 340/495/44 339/496/44 +f 339/496/45 347/497/45 341/494/45 +f 341/494/41 350/498/41 342/499/41 +f 340/495/40 348/500/40 339/496/40 +f 342/499/43 349/501/43 340/495/43 +f 345/502/42 348/503/42 343/504/42 +f 343/505/42 349/506/42 344/507/42 +f 344/508/42 350/509/42 346/510/42 +f 346/511/42 347/512/42 345/513/42 +f 357/514/40 355/515/40 353/516/40 +f 367/517/41 369/518/41 371/519/41 +f 381/520/40 379/521/40 377/522/40 +f 391/523/41 393/524/41 395/525/41 +f 401/526/40 400/527/40 399/528/40 +f 403/529/45 410/530/45 406/531/45 +f 401/526/45 406/531/45 402/532/45 +f 400/533/43 404/534/43 399/535/43 +f 402/532/44 405/536/44 400/537/44 +f 399/535/42 403/529/42 401/526/42 +f 409/538/41 407/539/41 408/540/41 +f 405/541/43 408/542/43 404/534/43 +f 406/531/46 409/543/46 405/536/46 +f 404/534/47 407/544/47 403/529/47 +f 414/545/45 417/546/45 413/547/45 +f 411/548/43 416/549/43 412/550/43 +f 412/551/44 418/552/44 414/545/44 +f 413/547/42 415/553/42 411/548/42 +f 418/552/40 415/554/40 417/546/40 +f 422/555/45 425/556/45 421/557/45 +f 419/558/43 424/559/43 420/560/43 +f 420/561/44 426/562/44 422/555/44 +f 421/557/42 423/563/42 419/558/42 +f 426/562/40 423/564/40 425/556/40 +f 430/565/45 433/566/45 429/567/45 +f 427/568/43 432/569/43 428/570/43 +f 428/571/44 434/572/44 430/573/44 +f 429/574/42 431/575/42 427/576/42 +f 434/572/40 431/575/40 433/566/40 +f 457/577/41 455/578/41 456/579/41 +f 441/580/41 439/581/41 440/582/41 +f 438/583/44 441/580/44 436/584/44 +f 435/585/42 439/581/42 437/586/42 +f 437/587/45 442/588/45 438/589/45 +f 436/590/43 440/582/43 435/591/43 +f 449/592/41 447/593/41 448/594/41 +f 445/595/45 450/596/45 446/597/45 +f 444/598/43 448/594/43 443/599/43 +f 446/600/44 449/592/44 444/601/44 +f 443/602/42 447/593/42 445/603/42 +f 453/604/45 458/605/45 454/606/45 +f 452/607/43 456/579/43 451/608/43 +f 454/609/44 457/577/44 452/610/44 +f 451/611/42 455/578/42 453/612/42 +f 465/613/41 463/614/41 464/615/41 +f 461/616/45 466/617/45 462/618/45 +f 460/619/43 464/615/43 459/620/43 +f 462/621/44 465/613/44 460/622/44 +f 459/623/42 463/614/42 461/624/42 +f 473/625/41 471/626/41 472/627/41 +f 469/628/45 474/629/45 470/630/45 +f 468/631/43 472/627/43 467/632/43 +f 470/633/44 473/625/44 468/634/44 +f 467/635/42 471/626/42 469/636/42 +f 481/637/41 479/638/41 480/639/41 +f 477/640/45 482/641/45 478/642/45 +f 476/643/43 480/639/43 475/644/43 +f 478/645/44 481/637/44 476/646/44 +f 475/647/42 479/638/42 477/648/42 +f 497/649/41 495/650/41 496/651/41 +f 489/652/41 487/653/41 488/654/41 +f 483/655/42 487/653/42 485/656/42 +f 485/656/45 490/657/45 486/658/45 +f 484/659/43 488/660/43 483/655/43 +f 486/658/44 489/661/44 484/662/44 +f 491/663/42 495/650/42 493/664/42 +f 493/664/45 498/665/45 494/666/45 +f 492/667/43 496/668/43 491/663/43 +f 494/666/44 497/669/44 492/670/44 +f 645/671/40 644/672/40 643/673/40 +f 649/674/41 647/675/41 648/676/41 +f 645/677/45 650/678/45 646/679/45 +f 644/680/43 648/676/43 643/681/43 +f 646/682/44 649/674/44 644/672/44 +f 643/683/42 647/675/42 645/684/42 +f 669/685/40 668/686/40 667/687/40 +f 673/688/41 671/689/41 672/690/41 +f 668/691/43 672/690/43 667/692/43 +f 670/693/44 673/688/44 668/686/44 +f 667/694/42 671/689/42 669/695/42 +f 669/696/45 674/697/45 670/698/45 +f 665/699/40 661/700/40 657/701/40 +f 861/702/41 865/703/41 869/704/41 +f 917/705/41 903/706/41 911/707/41 +f 929/708/40 925/709/40 921/710/40 +f 969/711/40 952/712/40 951/713/40 +f 968/714/40 951/713/40 950/715/40 +f 949/716/40 968/714/40 950/715/40 +f 948/717/40 967/718/40 949/716/40 +f 965/719/40 948/717/40 947/720/40 +f 964/721/40 947/720/40 946/722/40 +f 945/723/40 964/721/40 946/722/40 +f 944/724/40 963/725/40 945/723/40 +f 935/726/41 954/727/41 953/728/41 +f 953/729/48 944/730/48 935/731/48 +f 936/732/41 955/733/41 954/727/41 +f 938/734/41 955/733/41 937/735/41 +f 939/736/41 956/737/41 938/734/41 +f 939/736/41 958/738/41 957/739/41 +f 940/740/41 959/741/41 958/738/41 +f 942/742/41 959/741/41 941/743/41 +f 943/744/41 960/745/41 942/742/41 +f 952/746/48 961/747/48 943/748/48 +f 972/749/45 345/502/45 343/504/45 +f 973/750/40 343/505/40 344/507/40 +f 974/751/43 344/508/43 346/510/43 +f 971/752/41 346/511/41 345/513/41 +f 995/753/40 994/754/40 993/755/40 +f 999/756/41 997/757/41 998/758/41 +f 995/759/45 1000/760/45 996/761/45 +f 994/762/43 998/758/43 993/763/43 +f 996/764/44 999/756/44 994/754/44 +f 993/765/42 997/757/42 995/766/42 +f 1003/767/40 1002/768/40 1001/769/40 +f 1007/770/41 1005/771/41 1006/772/41 +f 1003/773/45 1008/774/45 1004/775/45 +f 1002/776/43 1006/772/43 1001/777/43 +f 1004/778/44 1007/770/44 1002/768/44 +f 1001/779/42 1005/771/42 1003/780/42 +f 1011/781/44 1010/782/44 1009/783/44 +f 1009/783/45 1017/784/45 1011/781/45 +f 1011/781/41 1020/785/41 1012/786/41 +f 1010/782/40 1018/787/40 1009/783/40 +f 1012/786/43 1019/788/43 1010/782/43 +f 1015/789/42 1018/790/42 1013/791/42 +f 1013/792/42 1019/793/42 1014/794/42 +f 1014/795/42 1020/796/42 1016/797/42 +f 1016/798/42 1017/799/42 1015/800/42 +f 1022/801/45 1015/789/45 1013/791/45 +f 1023/802/40 1013/792/40 1014/794/40 +f 1024/803/43 1014/795/43 1016/797/43 +f 1021/804/41 1016/798/41 1015/800/41 +f 1027/805/44 1026/806/44 1025/807/44 +f 1025/807/45 1033/808/45 1027/805/45 +f 1027/805/41 1036/809/41 1028/810/41 +f 1026/806/40 1034/811/40 1025/807/40 +f 1028/810/43 1035/812/43 1026/806/43 +f 1031/813/42 1034/814/42 1029/815/42 +f 1029/816/42 1035/817/42 1030/818/42 +f 1030/819/42 1036/820/42 1032/821/42 +f 1032/822/42 1033/823/42 1031/824/42 +f 1038/825/45 1031/813/45 1029/815/45 +f 1039/826/40 1029/816/40 1030/818/40 +f 1040/827/43 1030/819/43 1032/821/43 +f 1037/828/41 1032/822/41 1031/824/41 +f 1043/829/42 1042/830/42 1041/831/42 +f 1041/831/43 1049/832/43 1043/829/43 +f 1043/829/41 1052/833/41 1044/834/41 +f 1042/830/40 1050/835/40 1041/831/40 +f 1044/834/45 1051/836/45 1042/830/45 +f 1047/837/44 1050/838/44 1045/839/44 +f 1045/840/44 1051/841/44 1046/842/44 +f 1046/843/44 1052/844/44 1048/845/44 +f 1048/846/44 1049/847/44 1047/848/44 +f 1054/849/43 1047/837/43 1045/839/43 +f 1055/850/40 1045/840/40 1046/842/40 +f 1056/851/45 1046/843/45 1048/845/45 +f 1053/852/41 1048/846/41 1047/848/41 +f 1059/853/42 1058/854/42 1057/855/42 +f 1057/855/43 1065/856/43 1059/853/43 +f 1059/853/41 1068/857/41 1060/858/41 +f 1058/854/40 1066/859/40 1057/855/40 +f 1060/858/45 1067/860/45 1058/854/45 +f 1063/861/44 1066/862/44 1061/863/44 +f 1061/864/44 1067/865/44 1062/866/44 +f 1062/867/44 1068/868/44 1064/869/44 +f 1064/870/44 1065/871/44 1063/872/44 +f 1070/873/43 1063/861/43 1061/863/43 +f 1071/874/40 1061/864/40 1062/866/40 +f 1072/875/45 1062/867/45 1064/869/45 +f 1069/876/41 1064/870/41 1063/872/41 +f 1075/877/42 1074/878/42 1073/879/42 +f 1073/879/43 1081/880/43 1075/877/43 +f 1075/877/41 1084/881/41 1076/882/41 +f 1074/878/40 1082/883/40 1073/879/40 +f 1076/882/45 1083/884/45 1074/878/45 +f 1079/885/44 1082/886/44 1077/887/44 +f 1077/888/44 1083/889/44 1078/890/44 +f 1078/891/44 1084/892/44 1080/893/44 +f 1080/894/44 1081/895/44 1079/896/44 +f 1086/897/43 1079/885/43 1077/887/43 +f 1087/898/40 1077/888/40 1078/890/40 +f 1088/899/45 1078/891/45 1080/893/45 +f 1085/900/41 1080/894/41 1079/896/41 +f 1091/901/45 1090/902/45 1089/903/45 +f 1089/903/42 1097/904/42 1091/901/42 +f 1091/901/41 1100/905/41 1092/906/41 +f 1090/902/40 1098/907/40 1089/903/40 +f 1092/906/44 1099/908/44 1090/902/44 +f 1095/909/43 1098/910/43 1093/911/43 +f 1093/912/43 1099/913/43 1094/914/43 +f 1094/915/43 1100/916/43 1096/917/43 +f 1096/918/43 1097/919/43 1095/920/43 +f 1102/921/42 1095/909/42 1093/911/42 +f 1103/922/40 1093/912/40 1094/914/40 +f 1104/923/44 1094/915/44 1096/917/44 +f 1101/924/41 1096/918/41 1095/920/41 +f 1107/925/45 1106/926/45 1105/927/45 +f 1105/927/42 1113/928/42 1107/925/42 +f 1107/925/41 1116/929/41 1108/930/41 +f 1106/926/40 1114/931/40 1105/927/40 +f 1108/930/44 1115/932/44 1106/926/44 +f 1111/933/43 1114/934/43 1109/935/43 +f 1109/936/43 1115/937/43 1110/938/43 +f 1110/939/43 1116/940/43 1112/941/43 +f 1112/942/43 1113/943/43 1111/944/43 +f 1118/945/42 1111/933/42 1109/935/42 +f 1119/946/40 1109/936/40 1110/938/40 +f 1120/947/44 1110/939/44 1112/941/44 +f 1117/948/41 1112/942/41 1111/944/41 +f 1123/949/45 1122/950/45 1121/951/45 +f 1121/951/42 1129/952/42 1123/949/42 +f 1123/949/41 1132/953/41 1124/954/41 +f 1122/950/40 1130/955/40 1121/951/40 +f 1124/954/44 1131/956/44 1122/950/44 +f 1127/957/43 1130/958/43 1125/959/43 +f 1125/960/43 1131/961/43 1126/962/43 +f 1126/963/43 1132/964/43 1128/965/43 +f 1128/966/43 1129/967/43 1127/968/43 +f 1134/969/42 1127/957/42 1125/959/42 +f 1126/962/40 1134/970/40 1125/960/40 +f 1136/971/44 1126/963/44 1128/965/44 +f 1133/972/41 1128/966/41 1127/968/41 +f 1139/973/43 1138/974/43 1137/975/43 +f 1137/975/44 1145/976/44 1139/973/44 +f 1139/973/41 1148/977/41 1140/978/41 +f 1138/974/40 1146/979/40 1137/975/40 +f 1140/978/42 1147/980/42 1138/974/42 +f 1143/981/45 1146/982/45 1141/983/45 +f 1141/984/45 1147/985/45 1142/986/45 +f 1142/987/45 1148/988/45 1144/989/45 +f 1144/990/45 1145/991/45 1143/992/45 +f 1150/993/44 1143/981/44 1141/983/44 +f 1142/986/40 1150/994/40 1141/984/40 +f 1152/995/42 1142/987/42 1144/989/42 +f 1149/996/41 1144/990/41 1143/992/41 +f 1155/997/43 1154/998/43 1153/999/43 +f 1153/999/44 1161/1000/44 1155/997/44 +f 1155/997/41 1164/1001/41 1156/1002/41 +f 1154/998/40 1162/1003/40 1153/999/40 +f 1156/1002/42 1163/1004/42 1154/998/42 +f 1159/1005/45 1162/1006/45 1157/1007/45 +f 1157/1008/45 1163/1009/45 1158/1010/45 +f 1158/1011/45 1164/1012/45 1160/1013/45 +f 1160/1014/45 1161/1015/45 1159/1016/45 +f 1166/1017/44 1159/1005/44 1157/1007/44 +f 1167/1018/40 1157/1008/40 1158/1010/40 +f 1168/1019/42 1158/1011/42 1160/1013/42 +f 1165/1020/41 1160/1014/41 1159/1016/41 +f 1171/1021/43 1170/1022/43 1169/1023/43 +f 1169/1023/44 1177/1024/44 1171/1021/44 +f 1172/1025/41 1177/1026/41 1180/1027/41 +f 1170/1022/40 1178/1028/40 1169/1023/40 +f 1172/1025/42 1179/1029/42 1170/1022/42 +f 1175/1030/45 1178/1031/45 1173/1032/45 +f 1173/1033/45 1179/1034/45 1174/1035/45 +f 1174/1036/45 1180/1037/45 1176/1038/45 +f 1176/1039/45 1177/1026/45 1175/1040/45 +f 1182/1041/44 1175/1030/44 1173/1032/44 +f 1174/1035/40 1182/1042/40 1173/1033/40 +f 1184/1043/42 1174/1036/42 1176/1038/42 +f 1181/1044/41 1176/1039/41 1175/1040/41 +f 286/410/40 285/421/40 283/411/40 +f 287/413/41 289/422/41 290/414/41 +f 284/416/42 288/420/42 290/417/42 +f 283/419/43 287/1045/43 288/420/43 +f 285/421/44 289/422/44 287/413/44 +f 286/418/45 290/417/45 289/422/45 +f 294/423/40 293/434/40 291/424/40 +f 295/426/41 297/435/41 298/427/41 +f 292/429/42 296/433/42 298/430/42 +f 291/432/43 295/1046/43 296/433/43 +f 293/434/44 297/435/44 295/426/44 +f 294/431/45 298/430/45 297/435/45 +f 302/436/40 301/447/40 299/437/40 +f 303/439/41 305/448/41 306/440/41 +f 300/442/42 304/446/42 306/443/42 +f 299/445/43 303/1047/43 304/446/43 +f 301/447/44 305/448/44 303/439/44 +f 302/444/45 306/443/45 305/448/45 +f 310/449/40 309/460/40 307/450/40 +f 311/452/41 313/461/41 314/453/41 +f 308/455/42 312/459/42 314/456/42 +f 307/458/43 311/1048/43 312/459/43 +f 309/460/44 313/461/44 311/452/44 +f 310/457/45 314/456/45 313/461/45 +f 282/462/40 279/466/40 280/463/40 +f 281/464/44 276/1049/44 275/465/44 +f 279/466/42 278/1050/42 277/467/42 +f 275/465/41 276/1049/41 277/468/41 +f 322/470/40 319/474/40 320/471/40 +f 321/472/44 316/1051/44 315/473/44 +f 319/474/42 318/477/42 317/475/42 +f 315/476/41 316/1052/41 317/475/41 +f 330/478/40 327/482/40 328/479/40 +f 329/480/45 324/1053/45 323/481/45 +f 327/482/43 326/1054/43 325/483/43 +f 323/481/41 324/1053/41 325/484/41 +f 338/486/40 335/490/40 336/487/40 +f 337/488/45 332/1055/45 331/489/45 +f 335/490/43 334/493/43 333/491/43 +f 331/492/41 332/1056/41 333/491/41 +f 341/494/44 342/499/44 340/495/44 +f 339/496/45 348/503/45 347/497/45 +f 341/494/41 347/512/41 350/498/41 +f 340/495/40 349/506/40 348/500/40 +f 342/499/43 350/509/43 349/501/43 +f 345/502/42 347/497/42 348/503/42 +f 343/505/42 348/500/42 349/506/42 +f 344/508/42 349/501/42 350/509/42 +f 346/511/42 350/498/42 347/512/42 +f 353/516/40 352/1057/40 351/1058/40 +f 351/1058/40 362/1059/40 353/516/40 +f 362/1059/40 361/1060/40 353/516/40 +f 361/1060/40 360/1061/40 359/1062/40 +f 359/1062/40 358/1063/40 357/514/40 +f 357/514/40 356/1064/40 355/515/40 +f 355/515/40 354/1065/40 353/516/40 +f 361/1060/40 359/1062/40 353/516/40 +f 359/1062/40 357/514/40 353/516/40 +f 364/1066/41 363/1067/41 365/1068/41 +f 365/1068/41 366/1069/41 367/517/41 +f 367/517/41 368/1070/41 369/518/41 +f 369/518/41 370/1071/41 371/519/41 +f 371/519/41 372/1072/41 373/1073/41 +f 373/1073/41 374/1074/41 371/519/41 +f 374/1074/41 364/1066/41 371/519/41 +f 364/1066/41 365/1068/41 371/519/41 +f 365/1068/41 367/517/41 371/519/41 +f 377/522/40 376/1075/40 375/1076/40 +f 375/1076/40 386/1077/40 377/522/40 +f 386/1077/40 385/1078/40 377/522/40 +f 385/1078/40 384/1079/40 383/1080/40 +f 383/1080/40 382/1081/40 381/520/40 +f 381/520/40 380/1082/40 379/521/40 +f 379/521/40 378/1083/40 377/522/40 +f 385/1078/40 383/1080/40 377/522/40 +f 383/1080/40 381/520/40 377/522/40 +f 388/1084/41 387/1085/41 389/1086/41 +f 389/1086/41 390/1087/41 391/523/41 +f 391/523/41 392/1088/41 393/524/41 +f 393/524/41 394/1089/41 395/525/41 +f 395/525/41 396/1090/41 397/1091/41 +f 397/1091/41 398/1092/41 395/525/41 +f 398/1092/41 388/1084/41 395/525/41 +f 388/1084/41 389/1086/41 395/525/41 +f 389/1086/41 391/523/41 395/525/41 +f 401/526/40 402/532/40 400/527/40 +f 403/529/45 407/539/45 410/530/45 +f 401/526/45 403/529/45 406/531/45 +f 400/533/43 405/541/43 404/534/43 +f 402/532/44 406/531/44 405/536/44 +f 399/535/42 404/534/42 403/529/42 +f 409/538/41 410/530/41 407/539/41 +f 405/541/43 409/1093/43 408/542/43 +f 406/531/46 410/1094/46 409/543/46 +f 404/534/47 408/1095/47 407/544/47 +f 414/545/45 418/552/45 417/546/45 +f 411/548/43 415/553/43 416/549/43 +f 412/551/44 416/1096/44 418/552/44 +f 413/547/42 417/546/42 415/553/42 +f 418/552/40 416/1097/40 415/554/40 +f 422/555/45 426/562/45 425/556/45 +f 419/558/43 423/563/43 424/559/43 +f 420/561/44 424/1098/44 426/562/44 +f 421/557/42 425/556/42 423/563/42 +f 426/562/40 424/1099/40 423/564/40 +f 430/565/45 434/572/45 433/566/45 +f 427/568/43 431/575/43 432/569/43 +f 428/571/44 432/569/44 434/572/44 +f 429/574/42 433/566/42 431/575/42 +f 434/572/40 432/569/40 431/575/40 +f 457/577/41 458/605/41 455/578/41 +f 441/580/41 442/588/41 439/581/41 +f 438/583/44 442/588/44 441/580/44 +f 435/585/42 440/582/42 439/581/42 +f 437/587/45 439/581/45 442/588/45 +f 436/590/43 441/580/43 440/582/43 +f 449/592/41 450/596/41 447/593/41 +f 445/595/45 447/593/45 450/596/45 +f 444/598/43 449/592/43 448/594/43 +f 446/600/44 450/596/44 449/592/44 +f 443/602/42 448/594/42 447/593/42 +f 453/604/45 455/578/45 458/605/45 +f 452/607/43 457/577/43 456/579/43 +f 454/609/44 458/605/44 457/577/44 +f 451/611/42 456/579/42 455/578/42 +f 465/613/41 466/617/41 463/614/41 +f 461/616/45 463/614/45 466/617/45 +f 460/619/43 465/613/43 464/615/43 +f 462/621/44 466/617/44 465/613/44 +f 459/623/42 464/615/42 463/614/42 +f 473/625/41 474/629/41 471/626/41 +f 469/628/45 471/626/45 474/629/45 +f 468/631/43 473/625/43 472/627/43 +f 470/633/44 474/629/44 473/625/44 +f 467/635/42 472/627/42 471/626/42 +f 481/637/41 482/641/41 479/638/41 +f 477/640/45 479/638/45 482/641/45 +f 476/643/43 481/637/43 480/639/43 +f 478/645/44 482/641/44 481/637/44 +f 475/647/42 480/639/42 479/638/42 +f 497/649/41 498/665/41 495/650/41 +f 489/652/41 490/657/41 487/653/41 +f 483/655/42 488/660/42 487/653/42 +f 485/656/45 487/653/45 490/657/45 +f 484/659/43 489/1100/43 488/660/43 +f 486/658/44 490/657/44 489/661/44 +f 491/663/42 496/668/42 495/650/42 +f 493/664/45 495/650/45 498/665/45 +f 492/667/43 497/1101/43 496/668/43 +f 494/666/44 498/665/44 497/669/44 +f 645/671/40 646/682/40 644/672/40 +f 649/674/41 650/678/41 647/675/41 +f 645/677/45 647/675/45 650/678/45 +f 644/680/43 649/674/43 648/676/43 +f 646/682/44 650/678/44 649/674/44 +f 643/683/42 648/676/42 647/675/42 +f 669/685/40 670/693/40 668/686/40 +f 673/688/41 674/697/41 671/689/41 +f 668/691/43 673/688/43 672/690/43 +f 670/693/44 674/697/44 673/688/44 +f 667/694/42 672/690/42 671/689/42 +f 669/696/45 671/689/45 674/697/45 +f 653/1102/40 652/1103/40 651/1104/40 +f 651/1104/40 666/1105/40 653/1102/40 +f 666/1105/40 665/699/40 653/1102/40 +f 665/699/40 664/1106/40 661/700/40 +f 664/1106/40 663/1107/40 661/700/40 +f 663/1107/40 662/1108/40 661/700/40 +f 661/700/40 660/1109/40 657/701/40 +f 660/1109/40 659/1110/40 657/701/40 +f 659/1110/40 658/1111/40 657/701/40 +f 657/701/40 656/1112/40 655/1113/40 +f 655/1113/40 654/1114/40 653/1102/40 +f 657/701/40 655/1113/40 653/1102/40 +f 653/1102/40 665/699/40 657/701/40 +f 858/1115/41 857/1116/41 861/702/41 +f 857/1116/41 859/1117/41 861/702/41 +f 859/1117/41 860/1118/41 861/702/41 +f 861/702/41 862/1119/41 863/1120/41 +f 863/1120/41 864/1121/41 861/702/41 +f 864/1121/41 865/703/41 861/702/41 +f 865/703/41 866/1122/41 869/704/41 +f 866/1122/41 867/1123/41 869/704/41 +f 867/1123/41 868/1124/41 869/704/41 +f 869/704/41 870/1125/41 871/1126/41 +f 871/1126/41 872/1127/41 869/704/41 +f 872/1127/41 858/1115/41 869/704/41 +f 858/1115/41 861/702/41 869/704/41 +f 903/706/41 904/1128/41 905/1129/41 +f 905/1129/41 906/1130/41 907/1131/41 +f 907/1131/41 908/1132/41 909/1133/41 +f 909/1133/41 910/1134/41 911/707/41 +f 911/707/41 912/1135/41 915/1136/41 +f 912/1135/41 913/1137/41 915/1136/41 +f 913/1137/41 914/1138/41 915/1136/41 +f 915/1136/41 916/1139/41 917/705/41 +f 917/705/41 918/1140/41 903/706/41 +f 903/706/41 905/1129/41 907/1131/41 +f 907/1131/41 909/1133/41 903/706/41 +f 909/1133/41 911/707/41 903/706/41 +f 915/1136/41 917/705/41 911/707/41 +f 921/710/40 919/1141/40 933/1142/40 +f 919/1141/40 920/1143/40 933/1142/40 +f 920/1143/40 934/1144/40 933/1142/40 +f 933/1142/40 932/1145/40 931/1146/40 +f 931/1146/40 930/1147/40 929/708/40 +f 929/708/40 928/1148/40 925/709/40 +f 928/1148/40 927/1149/40 925/709/40 +f 927/1149/40 926/1150/40 925/709/40 +f 925/709/40 924/1151/40 923/1152/40 +f 923/1152/40 922/1153/40 921/710/40 +f 933/1142/40 931/1146/40 929/708/40 +f 925/709/40 923/1152/40 921/710/40 +f 921/710/40 933/1142/40 929/708/40 +f 969/711/40 970/1154/40 952/712/40 +f 968/714/40 969/711/40 951/713/40 +f 949/716/40 967/718/40 968/714/40 +f 948/717/40 966/1155/40 967/718/40 +f 965/719/40 966/1155/40 948/717/40 +f 964/721/40 965/719/40 947/720/40 +f 945/723/40 963/725/40 964/721/40 +f 944/724/40 962/1156/40 963/725/40 +f 935/726/41 936/732/41 954/727/41 +f 953/729/48 962/1157/48 944/730/48 +f 936/732/41 937/735/41 955/733/41 +f 938/734/41 956/737/41 955/733/41 +f 939/736/41 957/739/41 956/737/41 +f 939/736/41 940/740/41 958/738/41 +f 940/740/41 941/743/41 959/741/41 +f 942/742/41 960/745/41 959/741/41 +f 943/744/41 961/1158/41 960/745/41 +f 952/746/48 970/1159/48 961/747/48 +f 972/749/45 971/1160/45 345/502/45 +f 973/750/40 972/1161/40 343/505/40 +f 974/751/43 973/1162/43 344/508/43 +f 971/752/41 974/1163/41 346/511/41 +f 995/753/40 996/764/40 994/754/40 +f 999/756/41 1000/760/41 997/757/41 +f 995/759/45 997/757/45 1000/760/45 +f 994/762/43 999/756/43 998/758/43 +f 996/764/44 1000/760/44 999/756/44 +f 993/765/42 998/758/42 997/757/42 +f 1003/767/40 1004/778/40 1002/768/40 +f 1007/770/41 1008/774/41 1005/771/41 +f 1003/773/45 1005/771/45 1008/774/45 +f 1002/776/43 1007/770/43 1006/772/43 +f 1004/778/44 1008/774/44 1007/770/44 +f 1001/779/42 1006/772/42 1005/771/42 +f 1011/781/44 1012/786/44 1010/782/44 +f 1009/783/45 1018/790/45 1017/784/45 +f 1011/781/41 1017/799/41 1020/785/41 +f 1010/782/40 1019/793/40 1018/787/40 +f 1012/786/43 1020/796/43 1019/788/43 +f 1015/789/42 1017/784/42 1018/790/42 +f 1013/792/42 1018/787/42 1019/793/42 +f 1014/795/42 1019/788/42 1020/796/42 +f 1016/798/42 1020/785/42 1017/799/42 +f 1022/801/45 1021/1164/45 1015/789/45 +f 1023/802/40 1022/1165/40 1013/792/40 +f 1024/803/43 1023/1166/43 1014/795/43 +f 1021/804/41 1024/1167/41 1016/798/41 +f 1027/805/44 1028/810/44 1026/806/44 +f 1025/807/45 1034/814/45 1033/808/45 +f 1027/805/41 1033/823/41 1036/809/41 +f 1026/806/40 1035/817/40 1034/811/40 +f 1028/810/43 1036/820/43 1035/812/43 +f 1031/813/42 1033/808/42 1034/814/42 +f 1029/816/42 1034/811/42 1035/817/42 +f 1030/819/42 1035/812/42 1036/820/42 +f 1032/822/42 1036/809/42 1033/823/42 +f 1038/825/45 1037/1168/45 1031/813/45 +f 1039/826/40 1038/1169/40 1029/816/40 +f 1040/827/43 1039/1170/43 1030/819/43 +f 1037/828/41 1040/1171/41 1032/822/41 +f 1043/829/42 1044/834/42 1042/830/42 +f 1041/831/43 1050/838/43 1049/832/43 +f 1043/829/41 1049/847/41 1052/833/41 +f 1042/830/40 1051/841/40 1050/835/40 +f 1044/834/45 1052/844/45 1051/836/45 +f 1047/837/44 1049/832/44 1050/838/44 +f 1045/840/44 1050/835/44 1051/841/44 +f 1046/843/44 1051/836/44 1052/844/44 +f 1048/846/44 1052/833/44 1049/847/44 +f 1054/849/43 1053/1172/43 1047/837/43 +f 1055/850/40 1054/1173/40 1045/840/40 +f 1056/851/45 1055/1174/45 1046/843/45 +f 1053/852/41 1056/1175/41 1048/846/41 +f 1059/853/42 1060/858/42 1058/854/42 +f 1057/855/43 1066/862/43 1065/856/43 +f 1059/853/41 1065/871/41 1068/857/41 +f 1058/854/40 1067/865/40 1066/859/40 +f 1060/858/45 1068/868/45 1067/860/45 +f 1063/861/44 1065/856/44 1066/862/44 +f 1061/864/44 1066/859/44 1067/865/44 +f 1062/867/44 1067/860/44 1068/868/44 +f 1064/870/44 1068/857/44 1065/871/44 +f 1070/873/43 1069/1176/43 1063/861/43 +f 1071/874/40 1070/1177/40 1061/864/40 +f 1072/875/45 1071/1178/45 1062/867/45 +f 1069/876/41 1072/1179/41 1064/870/41 +f 1075/877/42 1076/882/42 1074/878/42 +f 1073/879/43 1082/886/43 1081/880/43 +f 1075/877/41 1081/895/41 1084/881/41 +f 1074/878/40 1083/889/40 1082/883/40 +f 1076/882/45 1084/892/45 1083/884/45 +f 1079/885/44 1081/880/44 1082/886/44 +f 1077/888/44 1082/883/44 1083/889/44 +f 1078/891/44 1083/884/44 1084/892/44 +f 1080/894/44 1084/881/44 1081/895/44 +f 1086/897/43 1085/1180/43 1079/885/43 +f 1087/898/40 1086/1181/40 1077/888/40 +f 1088/899/45 1087/1182/45 1078/891/45 +f 1085/900/41 1088/1183/41 1080/894/41 +f 1091/901/45 1092/906/45 1090/902/45 +f 1089/903/42 1098/910/42 1097/904/42 +f 1091/901/41 1097/919/41 1100/905/41 +f 1090/902/40 1099/913/40 1098/907/40 +f 1092/906/44 1100/916/44 1099/908/44 +f 1095/909/43 1097/904/43 1098/910/43 +f 1093/912/43 1098/907/43 1099/913/43 +f 1094/915/43 1099/908/43 1100/916/43 +f 1096/918/43 1100/905/43 1097/919/43 +f 1102/921/42 1101/1184/42 1095/909/42 +f 1103/922/40 1102/1185/40 1093/912/40 +f 1104/923/44 1103/1186/44 1094/915/44 +f 1101/924/41 1104/1187/41 1096/918/41 +f 1107/925/45 1108/930/45 1106/926/45 +f 1105/927/42 1114/934/42 1113/928/42 +f 1107/925/41 1113/943/41 1116/929/41 +f 1106/926/40 1115/937/40 1114/931/40 +f 1108/930/44 1116/940/44 1115/932/44 +f 1111/933/43 1113/928/43 1114/934/43 +f 1109/936/43 1114/931/43 1115/937/43 +f 1110/939/43 1115/932/43 1116/940/43 +f 1112/942/43 1116/929/43 1113/943/43 +f 1118/945/42 1117/1188/42 1111/933/42 +f 1119/946/40 1118/1189/40 1109/936/40 +f 1120/947/44 1119/1190/44 1110/939/44 +f 1117/948/41 1120/1191/41 1112/942/41 +f 1123/949/45 1124/954/45 1122/950/45 +f 1121/951/42 1130/958/42 1129/952/42 +f 1123/949/41 1129/967/41 1132/953/41 +f 1122/950/40 1131/961/40 1130/955/40 +f 1124/954/44 1132/964/44 1131/956/44 +f 1127/957/43 1129/952/43 1130/958/43 +f 1125/960/43 1130/955/43 1131/961/43 +f 1126/963/43 1131/956/43 1132/964/43 +f 1128/966/43 1132/953/43 1129/967/43 +f 1134/969/42 1133/1192/42 1127/957/42 +f 1126/962/40 1135/1193/40 1134/970/40 +f 1136/971/44 1135/1194/44 1126/963/44 +f 1133/972/41 1136/1195/41 1128/966/41 +f 1139/973/43 1140/978/43 1138/974/43 +f 1137/975/44 1146/982/44 1145/976/44 +f 1139/973/41 1145/991/41 1148/977/41 +f 1138/974/40 1147/985/40 1146/979/40 +f 1140/978/42 1148/988/42 1147/980/42 +f 1143/981/45 1145/976/45 1146/982/45 +f 1141/984/45 1146/979/45 1147/985/45 +f 1142/987/45 1147/980/45 1148/988/45 +f 1144/990/45 1148/977/45 1145/991/45 +f 1150/993/44 1149/1196/44 1143/981/44 +f 1142/986/40 1151/1197/40 1150/994/40 +f 1152/995/42 1151/1198/42 1142/987/42 +f 1149/996/41 1152/1199/41 1144/990/41 +f 1155/997/43 1156/1002/43 1154/998/43 +f 1153/999/44 1162/1006/44 1161/1000/44 +f 1155/997/41 1161/1015/41 1164/1001/41 +f 1154/998/40 1163/1009/40 1162/1003/40 +f 1156/1002/42 1164/1012/42 1163/1004/42 +f 1159/1005/45 1161/1000/45 1162/1006/45 +f 1157/1008/45 1162/1003/45 1163/1009/45 +f 1158/1011/45 1163/1004/45 1164/1012/45 +f 1160/1014/45 1164/1001/45 1161/1015/45 +f 1166/1017/44 1165/1200/44 1159/1005/44 +f 1167/1018/40 1166/1201/40 1157/1008/40 +f 1168/1019/42 1167/1202/42 1158/1011/42 +f 1165/1020/41 1168/1203/41 1160/1014/41 +f 1171/1021/43 1172/1025/43 1170/1022/43 +f 1169/1023/44 1178/1031/44 1177/1024/44 +f 1172/1025/41 1171/1021/41 1177/1026/41 +f 1170/1022/40 1179/1034/40 1178/1028/40 +f 1172/1025/42 1180/1037/42 1179/1029/42 +f 1175/1030/45 1177/1024/45 1178/1031/45 +f 1173/1033/45 1178/1028/45 1179/1034/45 +f 1174/1036/45 1179/1029/45 1180/1037/45 +f 1176/1039/45 1180/1027/45 1177/1026/45 +f 1182/1041/44 1181/1204/44 1175/1030/44 +f 1174/1035/40 1183/1205/40 1182/1042/40 +f 1184/1043/42 1183/1206/42 1174/1036/42 +f 1181/1044/41 1184/1207/41 1176/1039/41 +s 1 +f 354/1208/42 365/1209/49 353/1210/49 +f 360/1211/44 373/1212/50 372/1213/44 +f 358/1214/51 369/1215/43 357/1216/43 +f 355/1217/52 366/1218/42 354/1208/42 +f 361/1219/50 374/1220/53 373/1212/50 +f 352/1221/54 364/1222/45 351/1223/45 +f 359/1224/55 370/1225/51 358/1214/51 +f 356/1226/56 367/1227/52 355/1217/52 +f 351/1223/45 374/1220/53 362/1228/53 +f 353/1210/49 363/1229/54 352/1221/54 +f 360/1230/44 371/1231/55 359/1224/55 +f 357/1216/43 368/1232/56 356/1226/56 +f 378/1233/42 389/1234/49 377/1235/49 +f 385/1236/50 396/1237/44 384/1238/44 +f 382/1239/51 393/1240/43 381/1241/43 +f 379/1242/52 390/1243/42 378/1233/42 +f 386/1244/53 397/1245/50 385/1236/50 +f 375/1246/45 387/1247/54 388/1248/45 +f 383/1249/55 394/1250/51 382/1239/51 +f 380/1251/56 391/1252/52 379/1242/52 +f 375/1246/45 398/1253/53 386/1244/53 +f 377/1235/49 387/1247/54 376/1254/54 +f 383/1249/55 396/1255/44 395/1256/55 +f 381/1241/43 392/1257/56 380/1251/56 +f 541/1258/57 532/1259/46 533/1260/44 +f 546/1261/58 537/1262/42 538/1263/47 +f 502/1264/41 503/1265/46 501/1266/41 +f 539/1267/59 553/1268/60 546/1261/58 +f 530/1269/47 500/1270/41 529/1271/47 +f 504/1272/46 505/1273/44 503/1265/46 +f 545/1274/61 536/1275/62 537/1262/42 +f 528/1276/42 529/1271/47 527/1277/42 +f 506/1278/44 507/1279/63 505/1273/44 +f 539/1267/59 538/1263/47 531/1280/41 +f 526/1281/62 527/1277/42 525/1282/62 +f 508/1283/63 509/1284/40 507/1279/63 +f 540/1285/64 531/1280/41 532/1259/46 +f 523/1286/40 526/1281/62 525/1282/62 +f 510/1287/40 511/1288/62 509/1289/40 +f 542/1290/65 533/1260/44 534/1291/63 +f 522/1292/63 523/1293/40 521/1294/63 +f 512/1295/62 513/1296/42 511/1288/62 +f 518/1297/46 519/1298/44 517/1299/46 +f 520/1300/44 521/1294/63 519/1298/44 +f 514/1301/42 515/1302/47 513/1296/42 +f 543/1303/66 534/1291/63 535/1304/40 +f 544/1305/67 535/1306/40 536/1275/62 +f 515/1302/47 502/1264/41 501/1266/41 +f 499/1307/41 517/1299/46 500/1270/41 +f 545/1308/61 551/1309/68 544/1310/67 +f 540/1285/64 549/1311/69 548/1312/70 +f 546/1261/58 552/1313/71 545/1308/61 +f 541/1314/57 550/1315/72 549/1311/69 +f 540/1285/64 547/1316/73 539/1267/59 +f 552/1313/71 560/1317/74 559/1318/75 +f 550/1315/72 556/1319/76 549/1311/69 +f 548/1312/70 554/1320/77 547/1316/73 +f 553/1268/60 554/1320/77 560/1317/74 +f 551/1309/68 559/1318/75 558/1321/78 +f 549/1311/69 555/1322/79 548/1312/70 +f 543/1323/66 550/1315/72 542/1324/65 +f 550/1315/72 543/1323/66 557/1325/80 +f 544/1310/67 551/1309/68 543/1326/66 +f 551/1309/68 558/1321/78 543/1326/66 +f 557/1327/80 564/1328/81 556/1329/76 +f 555/1322/79 562/1330/82 554/1320/77 +f 558/1331/78 561/1332/83 543/1333/66 +f 554/1320/77 568/1334/84 560/1317/74 +f 543/1335/66 565/1336/85 557/1327/80 +f 559/1337/75 566/1338/86 558/1331/78 +f 556/1329/76 563/1339/87 555/1322/79 +f 560/1317/74 567/1340/88 559/1337/75 +f 566/1338/86 569/1341/89 561/1342/83 +f 568/1334/84 570/1343/90 575/1344/91 +f 567/1340/88 573/1345/92 566/1338/86 +f 561/1346/83 572/1347/93 565/1348/85 +f 567/1340/88 575/1344/91 574/1349/62 +f 562/1350/82 571/1351/94 570/1343/90 +f 575/1344/91 581/1352/95 574/1349/62 +f 571/1351/94 577/1353/96 570/1343/90 +f 569/1341/89 580/1354/97 576/1355/98 +f 570/1343/90 582/1356/99 575/1344/91 +f 573/1345/92 581/1352/95 580/1354/97 +f 572/1347/93 576/1357/98 579/1358/100 +f 564/1359/81 571/1351/94 563/1360/87 +f 571/1351/94 564/1359/81 578/1361/101 +f 565/1348/85 572/1347/93 564/1359/81 +f 572/1347/93 579/1358/100 564/1359/81 +f 593/1362/57 584/1363/46 585/1364/44 +f 598/1365/58 589/1366/42 590/1367/47 +f 591/1368/59 605/1369/60 598/1365/58 +f 597/1370/61 588/1371/62 589/1366/42 +f 591/1368/59 590/1367/47 583/1372/41 +f 592/1373/64 583/1372/41 584/1363/46 +f 594/1374/65 585/1364/44 586/1375/63 +f 595/1376/66 586/1375/63 587/1377/40 +f 596/1378/67 587/1379/40 588/1371/62 +f 597/1380/61 603/1381/68 596/1382/67 +f 593/1383/57 600/1384/70 592/1373/64 +f 598/1365/58 604/1385/71 597/1380/61 +f 593/1383/57 602/1386/72 601/1387/69 +f 592/1373/64 599/1388/73 591/1368/59 +f 604/1385/71 612/1389/74 611/1390/75 +f 602/1386/72 608/1391/76 601/1387/69 +f 599/1388/73 607/1392/79 606/1393/77 +f 599/1388/73 612/1389/74 605/1369/60 +f 603/1381/68 611/1390/75 610/1394/78 +f 600/1384/70 608/1391/76 607/1392/79 +f 595/1395/66 602/1386/72 594/1396/65 +f 602/1386/72 595/1395/66 609/1397/80 +f 596/1382/67 603/1381/68 595/1398/66 +f 603/1381/68 610/1394/78 595/1398/66 +f 609/1399/80 616/1400/46 608/1401/76 +f 607/1392/79 614/1402/82 606/1393/77 +f 610/1403/78 613/1404/83 595/1405/66 +f 606/1393/77 620/1406/84 612/1389/74 +f 595/1407/66 617/1408/85 609/1399/80 +f 611/1409/75 618/1410/86 610/1403/78 +f 608/1401/76 615/1411/87 607/1392/79 +f 612/1389/74 619/1412/88 611/1409/75 +f 613/1413/83 625/1414/92 621/1415/89 +f 614/1416/82 627/1417/91 620/1406/84 +f 618/1410/86 626/1418/62 625/1414/92 +f 613/1419/83 624/1420/93 617/1421/85 +f 620/1406/84 626/1418/62 619/1412/88 +f 614/1416/82 623/1422/94 622/1423/90 +f 626/1418/62 634/1424/102 633/1425/103 +f 623/1422/94 629/1426/104 622/1423/90 +f 621/1415/89 632/1427/105 628/1428/106 +f 622/1423/90 634/1424/102 627/1417/91 +f 626/1418/62 632/1427/105 625/1414/92 +f 624/1420/93 628/1429/106 631/1430/107 +f 616/1431/46 623/1422/94 615/1432/87 +f 623/1422/94 616/1431/46 630/1433/108 +f 617/1421/85 624/1420/93 616/1431/46 +f 624/1420/93 631/1430/107 616/1431/46 +f 628/1434/106 639/1435/109 631/1436/107 +f 634/1424/102 641/1437/40 633/1425/103 +f 630/1438/108 637/1439/45 629/1440/104 +f 631/1436/107 635/1441/41 616/1442/46 +f 632/1427/105 636/1443/43 628/1444/106 +f 616/1442/46 638/1445/73 630/1438/108 +f 629/1440/104 642/1446/110 634/1424/102 +f 633/1425/103 640/1447/66 632/1427/105 +f 687/1448/46 702/1449/111 686/1450/111 +f 654/1451/112 677/1452/113 653/1453/113 +f 655/1454/42 678/1455/112 654/1451/112 +f 656/1456/114 679/1457/42 655/1458/42 +f 944/724/115 680/1459/114 656/1456/114 +f 690/1460/116 952/712/117 943/744/117 +f 652/1461/118 676/1462/45 651/1463/45 +f 651/1463/45 690/1460/116 666/1464/116 +f 653/1453/113 675/1465/118 652/1461/118 +f 693/1466/113 707/1467/118 691/1468/118 +f 680/1459/119 695/1469/47 679/1457/47 +f 688/1470/120 703/1471/46 687/1448/46 +f 681/1472/121 696/1473/119 680/1459/119 +f 689/1474/122 704/1475/120 688/1470/120 +f 682/1476/123 697/1477/121 681/1472/121 +f 690/1460/124 705/1478/122 689/1474/122 +f 683/1479/109 698/1480/123 682/1476/123 +f 675/1465/125 692/1481/73 676/1462/73 +f 676/1462/73 706/1482/124 690/1460/124 +f 683/1479/109 700/1483/126 699/1484/109 +f 677/1452/127 691/1485/125 675/1465/125 +f 684/1486/126 701/1487/128 700/1488/126 +f 678/1455/129 693/1489/127 677/1452/127 +f 685/1490/128 702/1491/111 701/1492/128 +f 679/1493/47 694/1494/129 678/1455/129 +f 714/1495/130 863/1496/131 713/1497/131 +f 700/1498/132 717/1499/48 716/1500/132 +f 694/1501/112 709/1502/113 693/1466/113 +f 702/1503/133 717/1499/48 701/1504/48 +f 695/1505/42 710/1506/112 694/1501/112 +f 703/1507/44 718/1508/133 702/1503/133 +f 696/1509/114 711/1510/42 695/1511/42 +f 704/1512/134 719/1513/44 703/1507/44 +f 697/1514/135 712/1515/114 696/1509/114 +f 705/1516/136 720/1517/134 704/1512/134 +f 698/1518/137 713/1497/135 697/1514/135 +f 706/1519/116 721/1520/136 705/1516/136 +f 699/1521/43 714/1495/137 698/1518/137 +f 691/1468/118 708/1522/45 692/1523/45 +f 692/1523/45 722/1524/116 706/1519/116 +f 700/1498/132 715/1525/43 699/1521/43 +f 724/1526/47 733/1527/61 725/1528/42 +f 729/1529/44 738/1530/64 730/1531/46 +f 745/1532/70 731/1533/59 738/1530/64 +f 728/1534/63 737/1535/57 729/1529/44 +f 730/1531/46 731/1533/59 723/1536/41 +f 723/1536/41 732/1537/58 724/1526/47 +f 725/1528/42 734/1538/67 726/1539/62 +f 726/1539/62 735/1540/66 727/1541/40 +f 727/1542/40 736/1543/65 728/1534/63 +f 743/1544/72 737/1545/57 736/1546/65 +f 732/1537/58 741/1547/71 733/1548/61 +f 744/1549/69 738/1530/64 737/1545/57 +f 733/1548/61 742/1550/68 734/1551/67 +f 731/1533/59 740/1552/60 732/1537/58 +f 751/1553/76 745/1532/70 744/1549/69 +f 748/1554/75 742/1550/68 741/1547/71 +f 746/1555/77 740/1552/60 739/1556/73 +f 752/1557/79 739/1556/73 745/1532/70 +f 743/1544/72 751/1553/76 744/1549/69 +f 747/1558/74 741/1547/71 740/1552/60 +f 735/1559/66 734/1551/67 742/1550/68 +f 742/1550/68 749/1560/78 735/1559/66 +f 736/1546/65 735/1561/66 743/1544/72 +f 743/1544/72 735/1561/66 750/1562/80 +f 756/1563/138 749/1564/78 748/1565/75 +f 754/1566/139 747/1558/74 746/1555/77 +f 753/1567/140 750/1568/80 735/1569/66 +f 760/1570/141 746/1555/77 752/1557/79 +f 757/1571/142 735/1572/66 749/1564/78 +f 758/1573/143 751/1574/76 750/1568/80 +f 755/1575/144 748/1565/75 747/1558/74 +f 759/1576/145 752/1557/79 751/1574/76 +f 761/1577/146 758/1573/143 753/1578/140 +f 760/1570/141 762/1579/147 754/1580/139 +f 765/1581/148 759/1576/145 758/1573/143 +f 764/1582/149 753/1583/140 757/1584/142 +f 766/1585/63 760/1570/141 759/1576/145 +f 754/1580/139 763/1586/150 755/1587/144 +f 773/1588/151 767/1589/152 766/1585/63 +f 769/1590/153 763/1586/150 762/1579/147 +f 768/1591/154 765/1581/148 761/1577/146 +f 774/1592/155 762/1579/147 767/1589/152 +f 772/1593/156 766/1585/63 765/1581/148 +f 764/1582/149 768/1594/154 761/1595/146 +f 756/1596/138 755/1587/144 763/1586/150 +f 763/1586/150 770/1597/157 756/1596/138 +f 757/1584/142 756/1596/138 764/1582/149 +f 764/1582/149 756/1596/138 771/1598/158 +f 776/1599/47 785/1600/61 777/1601/42 +f 781/1602/44 790/1603/64 782/1604/46 +f 797/1605/70 783/1606/59 790/1603/64 +f 780/1607/63 789/1608/57 781/1602/44 +f 782/1604/46 783/1606/59 775/1609/41 +f 775/1609/41 784/1610/58 776/1599/47 +f 777/1601/42 786/1611/67 778/1612/62 +f 778/1612/62 787/1613/66 779/1614/40 +f 779/1615/40 788/1616/65 780/1607/63 +f 795/1617/72 789/1618/57 788/1619/65 +f 784/1610/58 793/1620/71 785/1621/61 +f 796/1622/69 790/1603/64 789/1618/57 +f 785/1621/61 794/1623/68 786/1624/67 +f 783/1606/59 792/1625/60 784/1610/58 +f 796/1622/69 804/1626/79 797/1605/70 +f 800/1627/75 794/1623/68 793/1620/71 +f 798/1628/77 792/1625/60 791/1629/73 +f 797/1605/70 798/1628/77 791/1629/73 +f 795/1617/72 803/1630/76 796/1622/69 +f 799/1631/74 793/1620/71 792/1625/60 +f 787/1632/66 786/1624/67 794/1623/68 +f 794/1623/68 801/1633/78 787/1632/66 +f 788/1619/65 787/1634/66 795/1617/72 +f 795/1617/72 787/1634/66 802/1635/80 +f 808/1636/138 801/1637/78 800/1638/75 +f 806/1639/139 799/1631/74 798/1628/77 +f 805/1640/140 802/1641/80 787/1642/66 +f 812/1643/141 798/1628/77 804/1626/79 +f 809/1644/142 787/1645/66 801/1637/78 +f 810/1646/143 803/1647/76 802/1641/80 +f 807/1648/144 800/1638/75 799/1631/74 +f 811/1649/145 804/1626/79 803/1647/76 +f 813/1650/146 810/1646/143 805/1651/140 +f 812/1643/141 814/1652/147 806/1653/139 +f 817/1654/148 811/1649/145 810/1646/143 +f 816/1655/149 805/1656/140 809/1657/142 +f 811/1649/145 819/1658/152 812/1643/141 +f 806/1653/139 815/1659/150 807/1660/144 +f 825/1661/151 819/1658/152 818/1662/63 +f 821/1663/153 815/1659/150 814/1652/147 +f 813/1650/146 824/1664/156 817/1654/148 +f 826/1665/155 814/1652/147 819/1658/152 +f 817/1654/148 825/1661/151 818/1662/63 +f 816/1655/149 820/1666/154 813/1667/146 +f 808/1668/138 807/1660/144 815/1659/150 +f 815/1659/150 822/1669/157 808/1668/138 +f 809/1657/142 808/1668/138 816/1655/149 +f 816/1655/149 808/1668/138 823/1670/158 +f 829/1671/41 836/1672/159 828/1673/73 +f 834/1674/110 841/1675/160 833/1676/40 +f 832/1677/66 839/1678/161 831/1679/43 +f 830/1680/109 837/1681/162 829/1671/41 +f 828/1673/73 835/1682/163 827/1683/45 +f 827/1683/45 842/1684/164 834/1674/110 +f 833/1676/40 840/1685/165 832/1677/66 +f 831/1686/43 838/1687/166 830/1680/109 +f 837/1688/162 846/1689/167 845/1690/168 +f 835/1682/163 844/1691/169 843/1692/136 +f 835/1682/163 849/1693/170 842/1684/164 +f 841/1694/160 847/1695/171 840/1696/165 +f 836/1672/159 845/1690/168 844/1691/169 +f 841/1694/160 849/1693/170 848/1697/172 +f 848/1697/172 856/1698/173 855/1699/174 +f 846/1689/167 852/1700/175 845/1690/168 +f 844/1691/169 850/1701/134 843/1692/136 +f 849/1693/170 850/1701/134 856/1698/173 +f 847/1695/171 855/1699/174 854/1702/176 +f 845/1690/168 851/1703/177 844/1691/169 +f 722/1524/178 871/1704/179 721/1520/179 +f 715/1525/180 864/1705/130 714/1495/130 +f 707/1467/181 858/1706/182 708/1522/182 +f 708/1522/182 872/1707/178 722/1524/178 +f 716/1500/183 865/1708/180 715/1525/180 +f 707/1467/181 859/1709/184 857/1710/181 +f 716/1500/183 867/1711/185 866/1712/183 +f 710/1506/186 859/1713/184 709/1502/184 +f 718/1508/187 867/1714/185 717/1499/185 +f 710/1506/186 861/1715/188 860/1716/186 +f 719/1513/189 868/1717/187 718/1508/187 +f 711/1510/188 862/1718/190 861/1719/188 +f 719/1513/189 870/1720/191 869/1721/189 +f 712/1515/190 863/1722/131 862/1723/190 +f 720/1517/191 871/1724/179 870/1725/191 +f 882/1726/192 875/1727/41 874/1728/109 +f 887/1729/193 880/1730/66 879/1731/40 +f 885/1732/194 878/1733/110 877/1734/45 +f 883/1735/195 876/1736/73 875/1727/41 +f 881/1737/196 874/1728/109 873/1738/43 +f 888/1739/197 873/1738/43 880/1730/66 +f 886/1740/198 879/1731/40 878/1733/110 +f 884/1741/199 877/1742/45 876/1736/73 +f 883/1743/195 892/1744/200 884/1745/199 +f 889/1746/48 882/1726/192 881/1737/196 +f 895/1747/201 881/1737/196 888/1739/197 +f 893/1748/202 887/1749/193 886/1750/198 +f 882/1726/192 891/1751/203 883/1743/195 +f 894/1752/204 888/1739/197 887/1749/193 +f 894/1752/204 902/1753/205 895/1747/201 +f 898/1754/206 892/1744/200 891/1751/203 +f 896/1755/133 890/1756/207 889/1746/48 +f 895/1747/201 896/1755/133 889/1746/48 +f 893/1748/202 901/1757/208 894/1752/204 +f 897/1758/209 891/1751/203 890/1756/207 +f 660/1759/132 937/735/43 659/1760/43 +f 909/1761/136 954/1762/116 910/1763/116 +f 662/1764/133 939/736/48 661/1765/48 +f 664/1766/134 941/743/44 663/1767/44 +f 911/1768/45 956/1769/118 912/1770/118 +f 659/1760/43 936/732/137 658/1771/137 +f 920/1772/43 904/1773/132 903/1774/43 +f 934/1775/137 903/1774/43 918/1776/137 +f 661/1765/48 938/734/132 660/1759/132 +f 919/1777/132 905/1778/48 904/1773/132 +f 663/1767/44 940/740/133 662/1764/133 +f 905/1778/48 922/1779/133 906/1780/133 +f 665/1781/136 942/742/134 664/1766/134 +f 922/1779/133 907/1782/44 906/1780/133 +f 658/1771/137 935/726/115 657/1783/135 +f 923/1784/44 908/1785/134 907/1786/44 +f 686/1450/133 950/715/44 687/1448/44 +f 684/1486/132 948/717/48 685/1490/48 +f 682/1476/137 946/722/43 683/1479/43 +f 687/1448/44 951/713/134 688/1470/134 +f 685/1490/48 949/716/133 686/1450/133 +f 683/1479/43 947/720/132 684/1486/132 +f 681/1472/135 945/723/137 682/1476/137 +f 688/1470/134 952/712/117 689/1474/136 +f 916/1787/114 961/747/210 917/1788/135 +f 914/1789/112 959/1790/42 915/1791/42 +f 912/1770/118 957/1792/113 913/1793/113 +f 910/1763/116 955/1794/45 911/1768/45 +f 915/1791/42 960/1795/114 916/1787/114 +f 913/1793/113 958/1796/112 914/1789/112 +f 932/1797/114 968/1798/42 931/1799/42 +f 930/1800/112 966/1801/113 929/1802/113 +f 928/1803/118 964/1804/45 927/1805/45 +f 926/1806/116 962/1157/211 925/1807/136 +f 933/1808/135 969/1809/114 932/1797/114 +f 931/1799/42 967/1810/112 930/1800/112 +f 929/1802/113 965/1811/118 928/1803/118 +f 927/1805/45 963/1812/116 926/1806/116 +f 962/1157/211 953/729/211 924/1813/134 +f 918/1776/137 970/1159/210 934/1775/137 +f 976/1814/137 984/1815/212 975/1816/212 +f 977/1817/43 985/1818/137 976/1814/137 +f 978/1819/132 986/1820/43 977/1817/43 +f 979/1821/48 987/1822/132 978/1819/132 +f 980/1823/133 988/1824/48 979/1821/48 +f 981/1825/44 989/1826/133 980/1823/133 +f 982/1827/134 990/1828/44 981/1825/44 +f 991/1829/134 983/1830/213 992/1831/213 +f 840/1696/165 847/1695/171 839/1832/161 +f 847/1695/171 854/1702/176 839/1832/161 +f 838/1833/166 839/1834/161 846/1689/167 +f 846/1689/167 839/1834/161 853/1835/214 +f 884/1745/199 892/1744/200 885/1836/194 +f 892/1744/200 899/1837/215 885/1836/194 +f 886/1750/198 885/1838/194 893/1748/202 +f 893/1748/202 885/1838/194 900/1839/216 +f 354/1208/42 366/1218/42 365/1209/49 +f 360/1211/44 361/1219/50 373/1212/50 +f 358/1214/51 370/1225/51 369/1215/43 +f 355/1217/52 367/1227/52 366/1218/42 +f 361/1219/50 362/1228/53 374/1220/53 +f 352/1221/54 363/1229/54 364/1222/45 +f 359/1224/55 371/1231/55 370/1225/51 +f 356/1226/56 368/1232/56 367/1227/52 +f 351/1223/45 364/1222/45 374/1220/53 +f 353/1210/49 365/1209/49 363/1229/54 +f 360/1230/44 372/1840/44 371/1231/55 +f 357/1216/43 369/1215/43 368/1232/56 +f 378/1233/42 390/1243/42 389/1234/49 +f 385/1236/50 397/1245/50 396/1237/44 +f 382/1239/51 394/1250/51 393/1240/43 +f 379/1242/52 391/1252/52 390/1243/42 +f 386/1244/53 398/1253/53 397/1245/50 +f 375/1246/45 376/1254/54 387/1247/54 +f 383/1249/55 395/1256/55 394/1250/51 +f 380/1251/56 392/1257/56 391/1252/52 +f 375/1246/45 388/1248/45 398/1253/53 +f 377/1235/49 389/1234/49 387/1247/54 +f 383/1249/55 384/1841/44 396/1255/44 +f 381/1241/43 393/1240/43 392/1257/56 +f 541/1258/57 540/1285/64 532/1259/46 +f 546/1261/58 545/1274/61 537/1262/42 +f 502/1264/41 504/1272/46 503/1265/46 +f 539/1267/59 547/1316/73 553/1268/60 +f 530/1269/47 499/1307/41 500/1270/41 +f 504/1272/46 506/1278/44 505/1273/44 +f 545/1274/61 544/1305/67 536/1275/62 +f 528/1276/42 530/1269/47 529/1271/47 +f 506/1278/44 508/1283/63 507/1279/63 +f 539/1267/59 546/1261/58 538/1263/47 +f 526/1281/62 528/1276/42 527/1277/42 +f 508/1283/63 510/1842/40 509/1284/40 +f 540/1285/64 539/1267/59 531/1280/41 +f 523/1286/40 524/1843/40 526/1281/62 +f 510/1287/40 512/1295/62 511/1288/62 +f 542/1290/65 541/1258/57 533/1260/44 +f 522/1292/63 524/1844/40 523/1293/40 +f 512/1295/62 514/1301/42 513/1296/42 +f 518/1297/46 520/1300/44 519/1298/44 +f 520/1300/44 522/1292/63 521/1294/63 +f 514/1301/42 516/1845/47 515/1302/47 +f 543/1303/66 542/1290/65 534/1291/63 +f 544/1305/67 543/1846/66 535/1306/40 +f 515/1302/47 516/1845/47 502/1264/41 +f 499/1307/41 518/1297/46 517/1299/46 +f 545/1308/61 552/1313/71 551/1309/68 +f 540/1285/64 541/1314/57 549/1311/69 +f 546/1261/58 553/1268/60 552/1313/71 +f 541/1314/57 542/1324/65 550/1315/72 +f 540/1285/64 548/1312/70 547/1316/73 +f 552/1313/71 553/1268/60 560/1317/74 +f 550/1315/72 557/1325/80 556/1319/76 +f 548/1312/70 555/1322/79 554/1320/77 +f 553/1268/60 547/1316/73 554/1320/77 +f 551/1309/68 552/1313/71 559/1318/75 +f 549/1311/69 556/1319/76 555/1322/79 +f 557/1327/80 565/1336/85 564/1328/81 +f 555/1322/79 563/1339/87 562/1330/82 +f 558/1331/78 566/1338/86 561/1332/83 +f 554/1320/77 562/1330/82 568/1334/84 +f 543/1335/66 561/1847/83 565/1336/85 +f 559/1337/75 567/1340/88 566/1338/86 +f 556/1329/76 564/1328/81 563/1339/87 +f 560/1317/74 568/1334/84 567/1340/88 +f 566/1338/86 573/1345/92 569/1341/89 +f 568/1334/84 562/1350/82 570/1343/90 +f 567/1340/88 574/1349/62 573/1345/92 +f 561/1346/83 569/1848/89 572/1347/93 +f 567/1340/88 568/1334/84 575/1344/91 +f 562/1350/82 563/1360/87 571/1351/94 +f 575/1344/91 582/1356/99 581/1352/95 +f 571/1351/94 578/1361/101 577/1353/96 +f 569/1341/89 573/1345/92 580/1354/97 +f 570/1343/90 577/1353/96 582/1356/99 +f 573/1345/92 574/1349/62 581/1352/95 +f 572/1347/93 569/1848/89 576/1357/98 +f 593/1362/57 592/1373/64 584/1363/46 +f 598/1365/58 597/1370/61 589/1366/42 +f 591/1368/59 599/1388/73 605/1369/60 +f 597/1370/61 596/1378/67 588/1371/62 +f 591/1368/59 598/1365/58 590/1367/47 +f 592/1373/64 591/1368/59 583/1372/41 +f 594/1374/65 593/1362/57 585/1364/44 +f 595/1376/66 594/1374/65 586/1375/63 +f 596/1378/67 595/1849/66 587/1379/40 +f 597/1380/61 604/1385/71 603/1381/68 +f 593/1383/57 601/1387/69 600/1384/70 +f 598/1365/58 605/1369/60 604/1385/71 +f 593/1383/57 594/1396/65 602/1386/72 +f 592/1373/64 600/1384/70 599/1388/73 +f 604/1385/71 605/1369/60 612/1389/74 +f 602/1386/72 609/1397/80 608/1391/76 +f 599/1388/73 600/1384/70 607/1392/79 +f 599/1388/73 606/1393/77 612/1389/74 +f 603/1381/68 604/1385/71 611/1390/75 +f 600/1384/70 601/1387/69 608/1391/76 +f 609/1399/80 617/1408/85 616/1400/46 +f 607/1392/79 615/1411/87 614/1402/82 +f 610/1403/78 618/1410/86 613/1404/83 +f 606/1393/77 614/1402/82 620/1406/84 +f 595/1407/66 613/1850/83 617/1408/85 +f 611/1409/75 619/1412/88 618/1410/86 +f 608/1401/76 616/1400/46 615/1411/87 +f 612/1389/74 620/1406/84 619/1412/88 +f 613/1413/83 618/1410/86 625/1414/92 +f 614/1416/82 622/1423/90 627/1417/91 +f 618/1410/86 619/1412/88 626/1418/62 +f 613/1419/83 621/1851/89 624/1420/93 +f 620/1406/84 627/1417/91 626/1418/62 +f 614/1416/82 615/1432/87 623/1422/94 +f 626/1418/62 627/1417/91 634/1424/102 +f 623/1422/94 630/1433/108 629/1426/104 +f 621/1415/89 625/1414/92 632/1427/105 +f 622/1423/90 629/1426/104 634/1424/102 +f 626/1418/62 633/1425/103 632/1427/105 +f 624/1420/93 621/1851/89 628/1429/106 +f 628/1434/106 636/1852/43 639/1435/109 +f 634/1424/102 642/1446/110 641/1437/40 +f 630/1438/108 638/1445/73 637/1439/45 +f 631/1436/107 639/1435/109 635/1441/41 +f 632/1427/105 640/1447/66 636/1443/43 +f 616/1442/46 635/1441/41 638/1445/73 +f 629/1440/104 637/1439/45 642/1446/110 +f 633/1425/103 641/1437/40 640/1447/66 +f 687/1448/46 703/1853/46 702/1449/111 +f 654/1451/112 678/1455/112 677/1452/113 +f 655/1454/42 679/1493/42 678/1455/112 +f 656/1456/114 680/1459/114 679/1457/42 +f 656/1456/114 657/1783/135 935/726/115 +f 944/724/115 681/1472/135 680/1459/114 +f 656/1456/114 935/726/115 944/724/115 +f 665/1781/136 666/1464/116 943/744/117 +f 666/1464/116 690/1460/116 943/744/117 +f 690/1460/116 689/1474/136 952/712/117 +f 652/1461/118 675/1465/118 676/1462/45 +f 651/1463/45 676/1462/45 690/1460/116 +f 653/1453/113 677/1452/113 675/1465/118 +f 693/1466/113 709/1502/113 707/1467/118 +f 680/1459/119 696/1854/119 695/1469/47 +f 688/1470/120 704/1855/120 703/1471/46 +f 681/1472/121 697/1856/121 696/1473/119 +f 689/1474/122 705/1857/122 704/1475/120 +f 682/1476/123 698/1858/123 697/1477/121 +f 690/1460/124 706/1859/124 705/1478/122 +f 683/1479/109 699/1860/109 698/1480/123 +f 675/1465/125 691/1861/125 692/1481/73 +f 676/1462/73 692/1862/73 706/1482/124 +f 683/1479/109 684/1486/126 700/1483/126 +f 677/1452/127 693/1863/127 691/1485/125 +f 684/1486/126 685/1490/128 701/1487/128 +f 678/1455/129 694/1864/129 693/1489/127 +f 685/1490/128 686/1450/111 702/1491/111 +f 679/1493/47 695/1865/47 694/1494/129 +f 714/1495/130 864/1866/130 863/1496/131 +f 700/1498/132 701/1504/48 717/1499/48 +f 694/1501/112 710/1506/112 709/1502/113 +f 702/1503/133 718/1508/133 717/1499/48 +f 695/1505/42 711/1867/42 710/1506/112 +f 703/1507/44 719/1513/44 718/1508/133 +f 696/1509/114 712/1515/114 711/1510/42 +f 704/1512/134 720/1517/134 719/1513/44 +f 697/1514/135 713/1497/135 712/1515/114 +f 705/1516/136 721/1520/136 720/1517/134 +f 698/1518/137 714/1495/137 713/1497/135 +f 706/1519/116 722/1524/116 721/1520/136 +f 699/1521/43 715/1525/43 714/1495/137 +f 691/1468/118 707/1467/118 708/1522/45 +f 692/1523/45 708/1522/45 722/1524/116 +f 700/1498/132 716/1500/132 715/1525/43 +f 724/1526/47 732/1537/58 733/1527/61 +f 729/1529/44 737/1535/57 738/1530/64 +f 745/1532/70 739/1556/73 731/1533/59 +f 728/1534/63 736/1543/65 737/1535/57 +f 730/1531/46 738/1530/64 731/1533/59 +f 723/1536/41 731/1533/59 732/1537/58 +f 725/1528/42 733/1527/61 734/1538/67 +f 726/1539/62 734/1538/67 735/1540/66 +f 727/1542/40 735/1868/66 736/1543/65 +f 743/1544/72 744/1549/69 737/1545/57 +f 732/1537/58 740/1552/60 741/1547/71 +f 744/1549/69 745/1532/70 738/1530/64 +f 733/1548/61 741/1547/71 742/1550/68 +f 731/1533/59 739/1556/73 740/1552/60 +f 751/1553/76 752/1557/79 745/1532/70 +f 748/1554/75 749/1560/78 742/1550/68 +f 746/1555/77 747/1558/74 740/1552/60 +f 752/1557/79 746/1555/77 739/1556/73 +f 743/1544/72 750/1562/80 751/1553/76 +f 747/1558/74 748/1554/75 741/1547/71 +f 756/1563/138 757/1571/142 749/1564/78 +f 754/1566/139 755/1575/144 747/1558/74 +f 753/1567/140 758/1573/143 750/1568/80 +f 760/1570/141 754/1566/139 746/1555/77 +f 757/1571/142 753/1869/140 735/1572/66 +f 758/1573/143 759/1576/145 751/1574/76 +f 755/1575/144 756/1563/138 748/1565/75 +f 759/1576/145 760/1570/141 752/1557/79 +f 761/1577/146 765/1581/148 758/1573/143 +f 760/1570/141 767/1589/152 762/1579/147 +f 765/1581/148 766/1585/63 759/1576/145 +f 764/1582/149 761/1595/146 753/1583/140 +f 766/1585/63 767/1589/152 760/1570/141 +f 754/1580/139 762/1579/147 763/1586/150 +f 773/1588/151 774/1592/155 767/1589/152 +f 769/1590/153 770/1597/157 763/1586/150 +f 768/1591/154 772/1593/156 765/1581/148 +f 774/1592/155 769/1590/153 762/1579/147 +f 772/1593/156 773/1588/151 766/1585/63 +f 764/1582/149 771/1598/158 768/1594/154 +f 776/1599/47 784/1610/58 785/1600/61 +f 781/1602/44 789/1608/57 790/1603/64 +f 797/1605/70 791/1629/73 783/1606/59 +f 780/1607/63 788/1616/65 789/1608/57 +f 782/1604/46 790/1603/64 783/1606/59 +f 775/1609/41 783/1606/59 784/1610/58 +f 777/1601/42 785/1600/61 786/1611/67 +f 778/1612/62 786/1611/67 787/1613/66 +f 779/1615/40 787/1870/66 788/1616/65 +f 795/1617/72 796/1622/69 789/1618/57 +f 784/1610/58 792/1625/60 793/1620/71 +f 796/1622/69 797/1605/70 790/1603/64 +f 785/1621/61 793/1620/71 794/1623/68 +f 783/1606/59 791/1629/73 792/1625/60 +f 796/1622/69 803/1630/76 804/1626/79 +f 800/1627/75 801/1633/78 794/1623/68 +f 798/1628/77 799/1631/74 792/1625/60 +f 797/1605/70 804/1626/79 798/1628/77 +f 795/1617/72 802/1635/80 803/1630/76 +f 799/1631/74 800/1627/75 793/1620/71 +f 808/1636/138 809/1644/142 801/1637/78 +f 806/1639/139 807/1648/144 799/1631/74 +f 805/1640/140 810/1646/143 802/1641/80 +f 812/1643/141 806/1639/139 798/1628/77 +f 809/1644/142 805/1871/140 787/1645/66 +f 810/1646/143 811/1649/145 803/1647/76 +f 807/1648/144 808/1636/138 800/1638/75 +f 811/1649/145 812/1643/141 804/1626/79 +f 813/1650/146 817/1654/148 810/1646/143 +f 812/1643/141 819/1658/152 814/1652/147 +f 817/1654/148 818/1662/63 811/1649/145 +f 816/1655/149 813/1667/146 805/1656/140 +f 811/1649/145 818/1662/63 819/1658/152 +f 806/1653/139 814/1652/147 815/1659/150 +f 825/1661/151 826/1665/155 819/1658/152 +f 821/1663/153 822/1669/157 815/1659/150 +f 813/1650/146 820/1872/154 824/1664/156 +f 826/1665/155 821/1663/153 814/1652/147 +f 817/1654/148 824/1664/156 825/1661/151 +f 816/1655/149 823/1670/158 820/1666/154 +f 829/1671/41 837/1681/162 836/1672/159 +f 834/1674/110 842/1684/164 841/1675/160 +f 832/1677/66 840/1685/165 839/1678/161 +f 830/1680/109 838/1687/166 837/1681/162 +f 828/1673/73 836/1672/159 835/1682/163 +f 827/1683/45 835/1682/163 842/1684/164 +f 833/1676/40 841/1675/160 840/1685/165 +f 831/1686/43 839/1873/161 838/1687/166 +f 837/1688/162 838/1833/166 846/1689/167 +f 835/1682/163 836/1672/159 844/1691/169 +f 835/1682/163 843/1692/136 849/1693/170 +f 841/1694/160 848/1697/172 847/1695/171 +f 836/1672/159 837/1688/162 845/1690/168 +f 841/1694/160 842/1684/164 849/1693/170 +f 848/1697/172 849/1693/170 856/1698/173 +f 846/1689/167 853/1835/214 852/1700/175 +f 844/1691/169 851/1703/177 850/1701/134 +f 849/1693/170 843/1692/136 850/1701/134 +f 847/1695/171 848/1697/172 855/1699/174 +f 845/1690/168 852/1700/175 851/1703/177 +f 722/1524/178 872/1874/178 871/1704/179 +f 715/1525/180 865/1875/180 864/1705/130 +f 707/1467/181 857/1876/181 858/1706/182 +f 708/1522/182 858/1877/182 872/1707/178 +f 716/1500/183 866/1878/183 865/1708/180 +f 707/1467/181 709/1502/184 859/1709/184 +f 716/1500/183 717/1499/185 867/1711/185 +f 710/1506/186 860/1879/186 859/1713/184 +f 718/1508/187 868/1880/187 867/1714/185 +f 710/1506/186 711/1867/188 861/1715/188 +f 719/1513/189 869/1881/189 868/1717/187 +f 711/1510/188 712/1515/190 862/1718/190 +f 719/1513/189 720/1517/191 870/1720/191 +f 712/1515/190 713/1497/131 863/1722/131 +f 720/1517/191 721/1520/179 871/1724/179 +f 882/1726/192 883/1735/195 875/1727/41 +f 887/1729/193 888/1739/197 880/1730/66 +f 885/1732/194 886/1740/198 878/1733/110 +f 883/1735/195 884/1741/199 876/1736/73 +f 881/1737/196 882/1726/192 874/1728/109 +f 888/1739/197 881/1737/196 873/1738/43 +f 886/1740/198 887/1729/193 879/1731/40 +f 884/1741/199 885/1882/194 877/1742/45 +f 883/1743/195 891/1751/203 892/1744/200 +f 889/1746/48 890/1756/207 882/1726/192 +f 895/1747/201 889/1746/48 881/1737/196 +f 893/1748/202 894/1752/204 887/1749/193 +f 882/1726/192 890/1756/207 891/1751/203 +f 894/1752/204 895/1747/201 888/1739/197 +f 894/1752/204 901/1757/208 902/1753/205 +f 898/1754/206 899/1837/215 892/1744/200 +f 896/1755/133 897/1758/209 890/1756/207 +f 895/1747/201 902/1753/205 896/1755/133 +f 893/1748/202 900/1839/216 901/1757/208 +f 897/1758/209 898/1754/206 891/1751/203 +f 660/1759/132 938/734/132 937/735/43 +f 909/1761/136 953/729/211 954/1762/116 +f 662/1764/133 940/740/133 939/736/48 +f 664/1766/134 942/742/134 941/743/44 +f 911/1768/45 955/1794/45 956/1769/118 +f 659/1760/43 937/735/43 936/732/137 +f 920/1772/43 919/1777/132 904/1773/132 +f 934/1775/137 920/1772/43 903/1774/43 +f 661/1765/48 939/736/48 938/734/132 +f 919/1777/132 921/1883/48 905/1778/48 +f 663/1767/44 941/743/44 940/740/133 +f 905/1778/48 921/1883/48 922/1779/133 +f 665/1781/136 943/744/117 942/742/134 +f 922/1779/133 923/1884/44 907/1782/44 +f 658/1771/137 936/732/137 935/726/115 +f 923/1784/44 924/1813/134 908/1785/134 +f 686/1450/133 949/716/133 950/715/44 +f 684/1486/132 947/720/132 948/717/48 +f 682/1476/137 945/723/137 946/722/43 +f 687/1448/44 950/715/44 951/713/134 +f 685/1490/48 948/717/48 949/716/133 +f 683/1479/43 946/722/43 947/720/132 +f 681/1472/135 944/724/115 945/723/137 +f 688/1470/134 951/713/134 952/712/117 +f 916/1787/114 960/1795/114 961/747/210 +f 914/1789/112 958/1796/112 959/1790/42 +f 912/1770/118 956/1769/118 957/1792/113 +f 910/1763/116 954/1762/116 955/1794/45 +f 915/1791/42 959/1790/42 960/1795/114 +f 913/1793/113 957/1792/113 958/1796/112 +f 932/1797/114 969/1809/114 968/1798/42 +f 930/1800/112 967/1810/112 966/1801/113 +f 928/1803/118 965/1811/118 964/1804/45 +f 926/1806/116 963/1812/116 962/1157/211 +f 933/1808/135 970/1159/210 969/1809/114 +f 931/1799/42 968/1798/42 967/1810/112 +f 929/1802/113 966/1801/113 965/1811/118 +f 927/1805/45 964/1804/45 963/1812/116 +f 909/1761/136 908/1785/134 953/729/211 +f 908/1785/134 924/1813/134 953/729/211 +f 924/1813/134 925/1807/136 962/1157/211 +f 918/1776/137 917/1788/135 961/747/210 +f 961/747/210 970/1159/210 918/1776/137 +f 970/1159/210 933/1808/135 934/1775/137 +f 976/1814/137 985/1818/137 984/1815/212 +f 977/1817/43 986/1820/43 985/1818/137 +f 978/1819/132 987/1822/132 986/1820/43 +f 979/1821/48 988/1824/48 987/1822/132 +f 980/1823/133 989/1826/133 988/1824/48 +f 981/1825/44 990/1828/44 989/1826/133 +f 982/1827/134 991/1829/134 990/1828/44 +f 991/1829/134 982/1827/134 983/1830/213 diff --git a/src/main/resources/assets/hbm/models/machines/intake.obj b/src/main/resources/assets/hbm/models/machines/intake.obj new file mode 100644 index 000000000..2fd36b9cd --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/intake.obj @@ -0,0 +1,230 @@ +# Blender v2.79 (sub 0) OBJ File: 'intake.blend' +# www.blender.org +o Fan +v 0.000000 0.750000 -0.125000 +v -0.108253 0.750000 -0.062500 +v -0.108253 0.750000 0.062500 +v 0.000000 0.750000 0.125000 +v 0.108253 0.750000 0.062500 +v 0.108253 0.750000 -0.062500 +v 0.000000 0.875000 -0.125000 +v -0.108253 0.875000 -0.062500 +v -0.108253 0.875000 0.062500 +v 0.000000 0.875000 0.125000 +v 0.108253 0.875000 0.062500 +v 0.108253 0.875000 -0.062500 +v -0.108253 0.828676 -0.060370 +v -0.108253 0.796324 0.060370 +v -0.541266 0.873161 -0.226389 +v -0.541266 0.751839 0.226389 +v 0.001844 0.828676 0.123935 +v 0.106409 0.796324 0.063565 +v 0.074575 0.873161 0.581944 +v 0.466691 0.751839 0.355556 +v 0.106409 0.828676 -0.063565 +v 0.001844 0.796324 -0.123935 +v 0.466691 0.873161 -0.355556 +v 0.074574 0.751839 -0.581944 +vt 0.869565 -0.000000 +vt 0.826087 0.025641 +vt 0.826087 -0.000000 +vt 0.739130 -0.000000 +vt 0.695652 0.025641 +vt 0.695652 -0.000000 +vt 0.913043 -0.000000 +vt 0.869565 0.025641 +vt 0.782609 0.025641 +vt 0.782609 -0.000000 +vt 0.739130 0.025641 +vt 0.956522 -0.000000 +vt 0.913043 0.025641 +vt 0.761043 0.028899 +vt 0.782956 0.051282 +vt 0.717218 0.073665 +vt 0.956522 0.128205 +vt 0.847826 0.025641 +vt 0.891304 0.025641 +vt 0.891304 0.025641 +vt 0.782609 0.128205 +vt 0.847826 0.025641 +vt 0.891304 0.025641 +vt 0.782609 0.128205 +vt 0.847826 0.025641 +vt 0.956522 0.025641 +vt 0.761043 0.073665 +vt 0.695305 0.051282 +vt 0.717218 0.028899 +vt 0.782609 0.128205 +vt 0.956522 0.128205 +vt 0.956522 0.128205 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.5000 0.0000 0.8660 +vn -0.5000 0.0000 -0.8660 +vn 0.5000 0.0000 -0.8660 +vn 0.5000 0.0000 0.8660 +vn 0.0000 1.0000 -0.0000 +vn -0.0000 0.9659 0.2588 +vn 0.2241 0.9659 -0.1294 +vn -0.2241 0.9659 -0.1294 +s off +f 3/1/1 8/2/1 2/3/1 +f 6/4/2 11/5/2 5/6/2 +f 4/7/3 9/8/3 3/1/3 +f 2/3/4 7/9/4 1/10/4 +f 1/10/5 12/11/5 6/4/5 +f 5/12/6 10/13/6 4/7/6 +f 12/14/7 7/15/7 9/16/7 +f 15/17/8 14/18/8 13/19/8 +f 17/20/9 20/21/9 18/22/9 +f 21/23/10 24/24/10 22/25/10 +f 3/1/1 9/8/1 8/2/1 +f 6/4/2 12/11/2 11/5/2 +f 4/7/3 10/13/3 9/8/3 +f 2/3/4 8/2/4 7/9/4 +f 1/10/5 7/9/5 12/11/5 +f 5/12/6 11/26/6 10/13/6 +f 7/15/7 8/27/7 9/16/7 +f 9/16/7 10/28/7 11/29/7 +f 11/29/7 12/14/7 9/16/7 +f 15/17/8 16/30/8 14/18/8 +f 17/20/9 19/31/9 20/21/9 +f 21/23/10 23/32/10 24/24/10 +o Base +v -1.000000 0.000000 1.000000 +v 1.000000 0.000000 1.000000 +v -1.000000 0.000000 -1.000000 +v 1.000000 0.000000 -1.000000 +v -0.875000 0.750000 0.875000 +v 0.875000 0.750000 0.875000 +v -0.875000 0.750000 -0.875000 +v 0.875000 0.750000 -0.875000 +v -1.000000 0.750000 -1.000000 +v -1.000000 0.750000 1.000000 +v 1.000000 0.750000 1.000000 +v 1.000000 0.750000 -1.000000 +v -0.625000 1.000000 -0.625000 +v -0.625000 1.000000 0.625000 +v 0.625000 1.000000 0.625000 +v 0.625000 1.000000 -0.625000 +v -0.875000 1.000000 -0.875000 +v -0.875000 1.000000 0.875000 +v 0.875000 1.000000 0.875000 +v 0.875000 1.000000 -0.875000 +v -0.625000 0.750000 -0.625000 +v -0.625000 0.750000 0.625000 +v 0.625000 0.750000 0.625000 +v 0.625000 0.750000 -0.625000 +v -0.625000 1.000000 -0.625000 +v -0.625000 1.000000 0.625000 +v 0.625000 1.000000 0.625000 +v 0.625000 1.000000 -0.625000 +vt 0.695652 -0.000000 +vt -0.000000 0.410256 +vt -0.000000 -0.000000 +vt 0.652174 0.589744 +vt 0.043478 0.641026 +vt 0.043478 0.589744 +vt 0.695652 0.410256 +vt -0.000000 0.564103 +vt -0.000000 0.410256 +vt 0.695652 0.410256 +vt -0.000000 0.564103 +vt -0.000000 0.410256 +vt 0.695652 0.410256 +vt 0.000000 0.564103 +vt 0.000000 0.410256 +vt 0.695652 0.410256 +vt -0.000000 0.564103 +vt 0.043478 0.589744 +vt 0.695652 0.564103 +vt 0.652174 0.589744 +vt 0.043478 0.589744 +vt 0.695652 0.564103 +vt 0.652174 0.589744 +vt 0.695652 0.564103 +vt 0.043478 0.589744 +vt 0.695652 0.564103 +vt 0.652174 0.589744 +vt 0.565217 0.692308 +vt 0.130435 0.743590 +vt 0.130435 0.692308 +vt 0.043478 0.641026 +vt 0.043478 0.641026 +vt 0.043478 0.641026 +vt 0.130435 0.692308 +vt 0.652174 0.641026 +vt 0.565217 0.692308 +vt 0.130435 0.692308 +vt 0.652174 0.641026 +vt 0.565217 0.692308 +vt 0.652174 0.641026 +vt 0.130435 0.692308 +vt 0.652174 0.641026 +vt 0.565217 0.692308 +vt 0.565217 1.000000 +vt 0.130435 1.000000 +vt 0.130435 0.743590 +vt 0.130435 0.743590 +vt 0.130435 0.743590 +vt 0.565217 0.743590 +vt 1.000000 1.000000 +vt 0.565217 1.000000 +vt 0.565217 0.743590 +vt 0.565217 0.743590 +vt 0.565217 0.743590 +vt 0.565217 0.743590 +vt 1.000000 0.743590 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +s off +f 27/33/11 26/34/11 25/35/11 +f 32/36/12 43/37/12 30/38/12 +f 25/39/13 33/40/13 27/41/13 +f 27/42/14 36/43/14 28/44/14 +f 26/45/15 34/46/15 25/47/15 +f 28/48/12 35/49/12 26/34/12 +f 31/50/16 34/51/16 29/52/16 +f 29/53/16 35/54/16 30/55/16 +f 30/38/16 36/56/16 32/36/16 +f 32/57/16 33/58/16 31/59/16 +f 40/60/13 47/61/13 39/62/13 +f 29/52/13 41/63/13 31/50/13 +f 31/59/14 44/64/14 32/57/14 +f 30/55/15 42/65/15 29/53/15 +f 37/66/16 42/67/16 38/68/16 +f 38/69/16 43/70/16 39/71/16 +f 39/62/16 44/72/16 40/60/16 +f 40/73/16 41/74/16 37/75/16 +f 47/61/16 45/76/16 46/77/16 +f 38/68/12 45/78/12 37/66/12 +f 37/75/15 48/79/15 40/73/15 +f 39/71/14 46/80/14 38/69/14 +f 51/81/16 49/82/16 50/83/16 +f 27/33/11 28/48/11 26/34/11 +f 32/36/12 44/72/12 43/37/12 +f 25/39/13 34/51/13 33/40/13 +f 27/42/14 33/58/14 36/43/14 +f 26/45/15 35/54/15 34/46/15 +f 28/48/12 36/56/12 35/49/12 +f 31/50/16 33/40/16 34/51/16 +f 29/53/16 34/46/16 35/54/16 +f 30/38/16 35/49/16 36/56/16 +f 32/57/16 36/43/16 33/58/16 +f 40/60/13 48/84/13 47/61/13 +f 29/52/13 42/67/13 41/63/13 +f 31/59/14 41/74/14 44/64/14 +f 30/55/15 43/70/15 42/65/15 +f 37/66/16 41/63/16 42/67/16 +f 38/69/16 42/65/16 43/70/16 +f 39/62/16 43/37/16 44/72/16 +f 40/73/16 44/64/16 41/74/16 +f 47/61/16 48/84/16 45/76/16 +f 38/68/12 46/85/12 45/78/12 +f 37/75/15 45/86/15 48/79/15 +f 39/71/14 47/87/14 46/80/14 +f 51/81/16 52/88/16 49/82/16 diff --git a/src/main/resources/assets/hbm/models/machines/lpw2.obj b/src/main/resources/assets/hbm/models/machines/lpw2.obj index ff9ea5ee8..aa4a22e47 100644 --- a/src/main/resources/assets/hbm/models/machines/lpw2.obj +++ b/src/main/resources/assets/hbm/models/machines/lpw2.obj @@ -2101,7 +2101,7 @@ vt 0.365749 0.937209 vt 0.364028 0.958140 vt 0.365749 0.965116 vt 0.364028 0.944186 -vt 0.462995 0.962791 +vt 0.462995 0.965116 vt 0.478485 0.958140 vt 0.478485 0.965116 vt 0.462995 0.979070 @@ -2120,20 +2120,22 @@ vt 0.462995 0.937209 vt 0.462995 0.951163 vt 0.483649 0.958140 vt 0.483649 0.965116 +vt 0.479346 0.972093 vt 0.483649 0.979070 vt 0.480207 0.979070 vt 0.481067 0.923256 vt 0.483649 0.930233 vt 0.482788 0.930233 +vt 0.479346 0.958140 vt 0.483649 0.951163 vt 0.483649 0.972093 vt 0.481067 0.951163 vt 0.483649 0.944186 -vt 0.488812 0.972093 +vt 0.487952 0.972093 vt 0.487091 0.979070 vt 0.486231 0.923256 vt 0.484509 0.930233 -vt 0.488812 0.958140 +vt 0.487952 0.958140 vt 0.488812 0.965116 vt 0.486231 0.951163 vt 0.482788 0.944186 @@ -2148,7 +2150,9 @@ vt 0.509466 0.944186 vt 0.488812 0.944186 vt 0.488812 0.951163 vt 0.509466 0.958140 +vt 0.488812 0.958140 vt 0.509466 0.972093 +vt 0.488812 0.972093 vt 0.509466 0.951163 vt 0.509466 0.965116 vt 0.509466 0.979070 @@ -2557,7 +2561,7 @@ vt 0.365749 0.965116 vt 0.364028 0.958140 vt 0.364028 0.944186 vt 0.478485 0.958140 -vt 0.462995 0.962791 +vt 0.462995 0.965116 vt 0.478485 0.965116 vt 0.478485 0.972093 vt 0.462995 0.979070 @@ -2574,7 +2578,9 @@ vt 0.462995 0.972093 vt 0.462995 0.937209 vt 0.462995 0.951163 vt 0.483649 0.958140 +vt 0.479346 0.958140 vt 0.483649 0.979070 +vt 0.479346 0.972093 vt 0.480207 0.979070 vt 0.483649 0.930233 vt 0.481067 0.923256 @@ -2584,11 +2590,11 @@ vt 0.481067 0.951163 vt 0.483649 0.965116 vt 0.483649 0.944186 vt 0.482788 0.944186 -vt 0.488812 0.972093 +vt 0.487952 0.972093 vt 0.483649 0.972093 vt 0.486231 0.923256 vt 0.483649 0.923256 -vt 0.488812 0.958140 +vt 0.487952 0.958140 vt 0.488812 0.965116 vt 0.486231 0.951163 vt 0.483649 0.937209 @@ -2603,7 +2609,9 @@ vt 0.509466 0.944186 vt 0.488812 0.944186 vt 0.509466 0.958140 vt 0.488812 0.951163 +vt 0.488812 0.958140 vt 0.509466 0.972093 +vt 0.488812 0.972093 vt 0.509466 0.951163 vt 0.509466 0.965116 vt 0.509466 0.979070 @@ -3643,381 +3651,381 @@ f 594/1031/73 587/1019/64 586/1021/65 f 599/1032/26 592/1025/68 591/1027/12 f 597/1033/10 590/1028/70 589/1030/72 f 587/1019/64 604/1034/74 603/1035/13 -f 586/1021/65 601/1036/75 585/1037/66 -f 585/1038/66 607/1039/76 592/1040/68 -f 588/1018/63 605/1041/77 604/1034/74 -f 586/1021/65 603/1035/13 602/1042/78 -f 589/1043/72 606/1044/79 605/1041/77 -f 601/1036/75 609/1045/80 608/1046/81 -f 607/1039/76 608/1047/81 614/1048/82 -f 605/1041/77 611/1049/83 604/1034/74 -f 602/1042/78 610/1050/85 609/1045/80 -f 606/1044/79 612/1051/84 605/1041/77 -f 604/1034/74 610/1050/85 603/1035/13 -f 590/1052/70 591/1053/12 606/1044/79 -f 606/1044/79 591/1053/12 613/1054/86 -f 592/1040/68 607/1039/76 591/1053/12 -f 607/1039/76 614/1048/82 591/1053/12 -f 614/1055/82 615/1056/87 591/1057/12 -f 608/1058/81 622/1059/88 614/1055/82 -f 591/1057/12 621/1060/89 613/1061/86 -f 612/1062/84 619/1063/90 611/1049/83 -f 610/1050/85 617/1064/91 609/1045/80 -f 613/1061/86 620/1065/92 612/1062/84 -f 611/1049/83 618/1066/93 610/1050/85 -f 609/1045/80 616/1067/73 608/1068/81 -f 626/1069/10 633/1070/70 634/1071/72 -f 624/1072/26 631/1073/68 632/1074/12 -f 629/1075/73 636/1076/64 637/1077/65 -f 627/1078/71 634/1071/72 635/1079/63 -f 625/1080/69 632/1074/12 633/1070/70 -f 623/1081/67 638/1082/66 631/1073/68 -f 630/1083/9 637/1077/65 638/1084/66 -f 628/1085/27 635/1079/63 636/1076/64 -f 647/1086/94 640/1087/12 652/1088/95 -f 650/1089/96 643/1090/20 649/1091/97 -f 652/1088/95 641/1092/26 651/1093/98 -f 653/1094/99 645/1095/21 647/1086/94 -f 649/1091/97 644/1096/13 648/1097/100 -f 648/1097/100 646/1098/27 616/1099/73 -f 616/1100/73 639/1101/16 653/1094/99 -f 651/1093/98 642/1102/15 650/1089/96 -f 648/1103/100 616/1104/73 659/1105/101 -f 617/1106/91 659/1105/101 616/1104/73 -f 653/1107/99 654/1108/102 616/1109/73 -f 622/1110/88 616/1109/73 654/1108/102 -f 655/1111/103 651/1093/98 656/1112/69 -f 658/1113/105 650/1114/96 649/1115/97 -f 660/1116/106 652/1117/95 655/1111/103 -f 657/1118/104 651/1093/98 650/1114/96 -f 659/1105/101 649/1115/97 648/1103/100 -f 654/1108/102 647/1119/94 660/1116/106 -f 622/1110/88 660/1116/106 615/1120/87 -f 619/1121/90 658/1113/105 618/1122/93 -f 620/1065/92 655/1111/103 656/1112/69 -f 615/1120/87 655/1111/103 621/1123/89 -f 618/1122/93 659/1105/101 617/1106/91 -f 619/1121/90 656/1112/69 657/1118/104 -f 636/1076/64 664/1124/74 663/1125/13 -f 637/1126/65 661/1127/75 638/1128/66 -f 638/1129/66 667/1130/76 631/1131/68 -f 635/1132/63 665/1133/77 664/1124/74 -f 636/1076/64 662/1134/78 637/1126/65 -f 634/1135/72 666/1136/79 665/1133/77 -f 661/1127/75 669/1137/80 668/1138/81 -f 667/1130/76 668/1139/81 674/1140/82 -f 665/1133/77 671/1141/83 664/1124/74 -f 662/1134/78 670/1142/85 669/1137/80 -f 666/1136/79 672/1143/84 665/1133/77 -f 664/1124/74 670/1142/85 663/1125/13 -f 633/1144/70 632/1145/12 666/1136/79 -f 666/1136/79 632/1145/12 673/1146/86 -f 631/1131/68 667/1130/76 632/1145/12 -f 667/1130/76 674/1140/82 632/1145/12 -f 674/1147/82 675/1148/87 632/1149/12 -f 668/1150/81 682/1151/88 674/1147/82 -f 632/1149/12 681/1152/89 673/1153/86 -f 672/1154/84 679/1155/90 671/1156/83 -f 670/1142/85 677/1157/91 669/1158/80 -f 673/1153/86 680/1159/92 672/1154/84 -f 671/1156/83 678/1160/93 670/1142/85 -f 669/1158/80 676/1161/73 668/1162/81 -f 691/1163/94 684/1164/12 696/1165/95 -f 694/1166/96 687/1167/20 693/1168/97 -f 696/1165/95 685/1169/26 695/1170/98 -f 697/1171/99 689/1172/21 691/1163/94 -f 693/1168/97 688/1173/13 692/1174/100 -f 692/1174/100 690/1175/27 676/1176/73 -f 676/1177/73 683/1178/16 697/1171/99 -f 695/1170/98 686/1179/15 694/1166/96 -f 692/1180/100 676/1181/73 703/1182/101 -f 677/1183/91 703/1182/101 676/1181/73 -f 697/1184/99 698/1185/102 676/1186/73 -f 682/1187/88 676/1186/73 698/1185/102 -f 699/1188/103 695/1170/98 700/1189/69 -f 701/1190/104 693/1191/97 702/1192/105 -f 704/1193/106 696/1194/95 699/1188/103 -f 700/1189/69 694/1195/96 701/1190/104 -f 703/1182/101 693/1191/97 692/1180/100 -f 698/1185/102 691/1196/94 704/1193/106 -f 675/1197/87 698/1185/102 704/1193/106 -f 679/1198/90 702/1192/105 678/1199/93 -f 680/1159/92 699/1188/103 700/1189/69 -f 675/1197/87 699/1188/103 681/1200/89 -f 678/1199/93 703/1182/101 677/1183/91 -f 680/1159/92 701/1190/104 679/1198/90 -f 720/1201/13 705/1202/27 712/1203/13 -f 718/1204/15 711/1205/20 710/1206/15 -f 716/1207/12 709/1208/26 708/1209/12 -f 713/1210/16 707/1211/21 706/1212/16 -f 719/1213/20 712/1203/13 711/1205/20 -f 717/1214/26 710/1206/15 709/1215/26 -f 715/1216/21 708/1209/12 707/1211/21 -f 714/1217/27 706/1212/16 705/1202/27 -f 733/1218/107 462/819/108 461/817/107 -f 734/1219/108 463/821/109 462/819/108 -f 735/1220/109 464/824/110 463/821/109 -f 464/824/110 721/1221/111 449/823/112 -f 721/1222/111 450/826/113 449/823/112 -f 722/1223/114 451/828/115 450/826/113 -f 451/828/115 724/1224/116 452/814/116 -f 452/814/116 725/1225/117 453/816/117 -f 453/816/117 726/1226/118 454/818/119 -f 454/818/119 727/1227/120 455/820/120 -f 455/820/120 728/1228/121 456/822/121 -f 728/1229/121 457/1230/122 456/822/121 -f 457/825/122 730/1231/123 458/827/123 -f 730/1232/123 459/813/124 458/827/123 -f 731/1233/124 460/815/125 459/813/124 -f 732/1234/126 461/817/107 460/815/125 -f 784/1235/13 769/1236/27 776/1237/13 -f 782/1238/15 775/1239/20 774/1240/15 -f 780/1241/12 773/1242/26 772/1243/12 -f 777/1244/16 771/1245/21 770/1246/16 -f 783/1247/20 776/1237/13 775/1239/20 -f 781/1248/26 774/1240/15 773/1249/26 -f 779/1250/21 772/1243/12 771/1245/21 -f 778/1251/27 770/1246/16 769/1236/27 -f 800/1252/13 785/1253/27 792/1254/13 -f 798/1255/15 791/1256/20 790/1257/15 -f 796/1258/12 789/1259/26 788/1260/12 -f 793/1261/16 787/1262/21 786/1263/16 -f 799/1264/20 792/1254/13 791/1256/20 -f 797/1265/26 790/1257/15 789/1266/26 -f 795/1267/21 788/1260/12 787/1262/21 -f 794/1268/27 786/1263/16 785/1253/27 -f 816/1269/13 801/1270/27 808/1271/13 -f 814/1272/15 807/1273/20 806/1274/15 -f 812/1275/12 805/1276/26 804/1277/12 -f 809/1278/16 803/1279/21 802/1280/16 -f 815/1281/20 808/1271/13 807/1273/20 -f 813/1282/26 806/1274/15 805/1283/26 -f 811/1284/21 804/1277/12 803/1279/21 -f 810/1285/27 802/1280/16 801/1270/27 -f 820/1286/127 827/1287/27 819/1288/128 -f 818/1289/129 825/1290/9 817/1291/130 -f 817/1292/130 832/1293/67 824/1294/131 -f 823/1295/15 830/1296/69 822/1297/132 -f 821/1298/133 828/1299/71 820/1286/127 -f 819/1288/128 826/1300/73 818/1289/129 -f 824/1294/131 831/1301/26 823/1295/15 -f 822/1297/132 829/1302/10 821/1298/133 -f 819/1288/128 836/1303/134 820/1304/127 -f 833/1305/135 818/1306/129 817/1307/130 -f 839/1308/136 817/1309/130 824/1310/131 -f 820/1304/127 837/1311/137 821/1312/133 -f 834/1313/138 819/1288/128 818/1306/129 -f 821/1312/133 838/1314/139 822/1315/132 -f 833/1305/135 841/1316/140 834/1313/138 -f 839/1308/136 840/1317/141 833/1318/135 -f 843/1319/142 837/1311/137 836/1303/134 -f 841/1316/140 835/1320/16 834/1313/138 -f 844/1321/143 838/1314/139 837/1311/137 -f 842/1322/144 836/1303/134 835/1320/16 -f 822/1315/132 838/1314/139 823/1323/15 -f 838/1314/139 845/1324/145 823/1323/15 -f 824/1310/131 823/1323/15 839/1308/136 -f 839/1308/136 823/1323/15 846/1325/146 -f 847/1326/93 846/1327/146 823/1328/15 -f 854/1329/91 840/1330/141 846/1327/146 -f 853/1331/90 823/1328/15 845/1332/145 -f 851/1333/89 844/1334/143 843/1335/142 -f 849/1336/88 842/1322/144 841/1337/140 -f 852/1338/92 845/1332/145 844/1334/143 -f 850/1339/87 843/1335/142 842/1322/144 -f 848/1340/73 841/1337/140 840/1341/141 -f 865/1342/132 858/1343/10 866/1344/133 -f 863/1345/131 856/1346/26 864/1347/15 -f 868/1348/128 861/1349/73 869/1350/129 -f 866/1344/133 859/1351/71 867/1352/127 -f 864/1347/15 857/1353/69 865/1342/132 -f 870/1354/130 855/1355/67 863/1345/131 -f 869/1350/129 862/1356/9 870/1357/130 -f 867/1352/127 860/1358/27 868/1348/128 -f 872/1359/15 879/1360/97 884/1361/96 -f 875/1362/21 882/1363/95 881/1364/94 -f 873/1365/26 884/1361/96 883/1366/98 -f 877/1367/20 885/1368/100 879/1360/97 -f 876/1369/16 881/1364/94 880/1370/99 -f 878/1371/27 880/1370/99 848/1372/73 -f 871/1373/13 848/1374/73 885/1368/100 -f 874/1375/12 883/1366/98 882/1363/95 -f 880/1376/99 891/1377/102 848/1378/73 -f 849/1379/88 848/1378/73 891/1377/102 -f 885/1380/100 848/1381/73 886/1382/101 -f 854/1383/91 886/1382/101 848/1381/73 -f 883/1366/98 887/1384/104 888/1385/69 -f 890/1386/106 882/1387/95 889/1388/103 -f 884/1389/96 892/1390/105 887/1384/104 -f 889/1388/103 883/1366/98 888/1385/69 -f 891/1377/102 881/1391/94 890/1386/106 -f 879/1392/97 886/1382/101 892/1390/105 -f 892/1390/105 854/1383/91 847/1393/93 -f 850/1394/87 889/1388/103 851/1395/89 -f 888/1385/69 853/1396/90 852/1338/92 -f 887/1384/104 847/1393/93 853/1396/90 -f 849/1379/88 890/1386/106 850/1394/87 -f 889/1388/103 852/1338/92 851/1395/89 -f 895/1397/16 867/1398/127 868/1348/128 -f 870/1399/130 894/1400/138 869/1401/129 -f 899/1402/136 870/1403/130 863/1404/131 -f 867/1398/127 897/1405/137 866/1406/133 -f 894/1400/138 868/1348/128 869/1401/129 -f 866/1406/133 898/1407/139 865/1408/132 -f 893/1409/135 901/1410/140 894/1400/138 -f 899/1402/136 900/1411/141 893/1412/135 -f 903/1413/142 897/1405/137 896/1414/134 -f 894/1400/138 902/1415/144 895/1397/16 -f 904/1416/143 898/1407/139 897/1405/137 -f 902/1415/144 896/1414/134 895/1397/16 -f 865/1408/132 898/1407/139 864/1417/15 -f 898/1407/139 905/1418/145 864/1417/15 -f 863/1404/131 864/1417/15 899/1402/136 -f 899/1402/136 864/1417/15 906/1419/146 -f 907/1420/93 906/1421/146 864/1422/15 -f 914/1423/91 900/1424/141 906/1421/146 -f 913/1425/90 864/1422/15 905/1426/145 -f 911/1427/89 904/1428/143 903/1429/142 -f 909/1430/88 902/1415/144 901/1431/140 -f 912/1432/92 905/1426/145 904/1428/143 -f 910/1433/87 903/1429/142 902/1415/144 -f 908/1434/73 901/1431/140 900/1435/141 -f 916/1436/15 923/1437/97 928/1438/96 -f 919/1439/21 926/1440/95 925/1441/94 -f 917/1442/26 928/1438/96 927/1443/98 -f 921/1444/20 929/1445/100 923/1437/97 -f 920/1446/16 925/1441/94 924/1447/99 -f 922/1448/27 924/1447/99 908/1449/73 -f 915/1450/13 908/1451/73 929/1445/100 -f 918/1452/12 927/1443/98 926/1440/95 -f 924/1453/99 935/1454/102 908/1455/73 -f 909/1456/88 908/1455/73 935/1454/102 -f 929/1457/100 908/1458/73 930/1459/101 -f 914/1460/91 930/1459/101 908/1458/73 -f 927/1443/98 931/1461/104 932/1462/69 -f 925/1463/94 933/1464/103 934/1465/106 -f 931/1461/104 923/1466/97 936/1467/105 -f 933/1464/103 927/1443/98 932/1462/69 -f 935/1454/102 925/1463/94 934/1465/106 -f 923/1466/97 930/1459/101 936/1467/105 -f 936/1467/105 914/1460/91 907/1468/93 -f 910/1469/87 933/1464/103 911/1470/89 -f 912/1432/92 931/1461/104 913/1471/90 -f 931/1461/104 907/1468/93 913/1471/90 -f 909/1456/88 934/1465/106 910/1469/87 -f 933/1464/103 912/1432/92 911/1470/89 -f 940/1472/127 947/1473/27 939/1474/128 -f 938/1475/129 945/1476/9 937/1477/130 -f 937/1478/130 952/1479/67 944/1480/131 -f 943/1481/15 950/1482/69 942/1483/132 -f 941/1484/133 948/1485/71 940/1472/127 -f 939/1474/128 946/1486/73 938/1475/129 -f 944/1480/131 951/1487/26 943/1481/15 -f 942/1483/132 949/1488/10 941/1484/133 -f 939/1474/128 956/1489/134 940/1472/127 -f 953/1490/135 938/1475/129 937/1491/130 -f 959/1492/136 937/1493/130 944/1494/131 -f 940/1472/127 957/1495/137 941/1496/133 -f 938/1475/129 955/1497/16 939/1474/128 -f 941/1496/133 958/1498/139 942/1499/132 -f 953/1490/135 961/1500/140 954/1501/138 -f 959/1492/136 960/1502/141 953/1503/135 -f 963/1504/142 957/1495/137 956/1489/134 -f 954/1501/138 962/1505/144 955/1497/16 -f 964/1506/143 958/1498/139 957/1495/137 -f 962/1505/144 956/1489/134 955/1497/16 -f 942/1499/132 958/1498/139 943/1507/15 -f 958/1498/139 965/1508/145 943/1507/15 -f 944/1494/131 943/1507/15 959/1492/136 -f 959/1492/136 943/1507/15 966/1509/146 -f 967/1510/93 966/1511/146 943/1512/15 -f 974/1513/91 960/1514/141 966/1511/146 -f 973/1515/90 943/1512/15 965/1516/145 -f 971/1517/89 964/1518/143 963/1504/142 -f 969/1519/88 962/1505/144 961/1500/140 -f 972/1520/92 965/1516/145 964/1518/143 -f 970/1521/87 963/1504/142 962/1505/144 -f 968/1522/73 961/1500/140 960/1523/141 -f 985/1524/132 978/1525/10 986/1526/133 -f 983/1527/131 976/1528/26 984/1529/15 -f 988/1530/128 981/1531/73 989/1532/129 -f 986/1526/133 979/1533/71 987/1534/127 -f 984/1529/15 977/1535/69 985/1524/132 -f 990/1536/130 975/1537/67 983/1527/131 -f 989/1532/129 982/1538/9 990/1539/130 -f 987/1534/127 980/1540/27 988/1530/128 -f 992/1541/15 999/1542/97 1004/1543/96 -f 995/1544/21 1002/1545/95 1001/1546/94 -f 993/1547/26 1004/1543/96 1003/1548/98 -f 997/1549/20 1005/1550/100 999/1542/97 -f 996/1551/16 1001/1546/94 1000/1552/99 -f 998/1553/27 1000/1552/99 968/1554/73 -f 991/1555/13 968/1556/73 1005/1550/100 -f 994/1557/12 1003/1548/98 1002/1545/95 -f 1000/1558/99 1011/1559/102 968/1560/73 -f 969/1561/88 968/1560/73 1011/1559/102 -f 1005/1562/100 968/1563/73 1006/1564/101 -f 974/1565/91 1006/1564/101 968/1563/73 -f 1003/1548/98 1007/1566/104 1008/1567/69 -f 1010/1568/106 1002/1569/95 1009/1570/103 -f 1004/1571/96 1012/1572/105 1007/1566/104 -f 1009/1570/103 1003/1548/98 1008/1567/69 -f 1011/1559/102 1001/1573/94 1010/1568/106 -f 999/1574/97 1006/1564/101 1012/1572/105 -f 1012/1572/105 974/1565/91 967/1575/93 -f 1010/1568/106 971/1576/89 970/1577/87 -f 972/1520/92 1007/1566/104 973/1578/90 -f 1007/1566/104 967/1575/93 973/1578/90 -f 969/1561/88 1010/1568/106 970/1577/87 -f 971/1576/89 1008/1567/69 972/1520/92 -f 988/1530/128 1016/1579/134 987/1580/127 -f 1013/1581/135 989/1582/129 990/1583/130 -f 1019/1584/136 990/1585/130 983/1586/131 -f 987/1580/127 1017/1587/137 986/1588/133 -f 1014/1589/138 988/1530/128 989/1582/129 -f 986/1588/133 1018/1590/139 985/1591/132 -f 1013/1581/135 1021/1592/140 1014/1589/138 -f 1019/1584/136 1020/1593/141 1013/1594/135 -f 1023/1595/142 1017/1587/137 1016/1579/134 -f 1014/1589/138 1022/1596/144 1015/1597/16 -f 1024/1598/143 1018/1590/139 1017/1587/137 -f 1022/1596/144 1016/1579/134 1015/1597/16 -f 985/1591/132 1018/1590/139 984/1599/15 -f 1018/1590/139 1025/1600/145 984/1599/15 -f 983/1586/131 984/1599/15 1019/1584/136 -f 1019/1584/136 984/1599/15 1026/1601/146 -f 1027/1602/93 1026/1603/146 984/1604/15 -f 1034/1605/91 1020/1606/141 1026/1603/146 -f 1033/1607/90 984/1604/15 1025/1608/145 -f 1031/1609/89 1024/1610/143 1023/1611/142 -f 1029/1612/88 1022/1596/144 1021/1613/140 -f 1032/1614/92 1025/1608/145 1024/1610/143 -f 1030/1615/87 1023/1611/142 1022/1596/144 -f 1028/1616/73 1021/1613/140 1020/1617/141 -f 1036/1618/15 1043/1619/97 1048/1620/96 -f 1039/1621/21 1046/1622/95 1045/1623/94 -f 1037/1624/26 1048/1620/96 1047/1625/98 -f 1041/1626/20 1049/1627/100 1043/1619/97 -f 1040/1628/16 1045/1623/94 1044/1629/99 -f 1042/1630/27 1044/1629/99 1028/1631/73 -f 1035/1632/13 1028/1633/73 1049/1627/100 -f 1038/1634/12 1047/1625/98 1046/1622/95 -f 1044/1635/99 1055/1636/102 1028/1637/73 -f 1029/1638/88 1028/1637/73 1055/1636/102 -f 1049/1639/100 1028/1640/73 1050/1641/101 -f 1034/1642/91 1050/1641/101 1028/1640/73 -f 1047/1625/98 1051/1643/104 1052/1644/69 -f 1045/1645/94 1053/1646/103 1054/1647/106 -f 1048/1648/96 1056/1649/105 1051/1643/104 -f 1046/1650/95 1052/1644/69 1053/1646/103 -f 1055/1636/102 1045/1645/94 1054/1647/106 -f 1043/1651/97 1050/1641/101 1056/1649/105 -f 1027/1652/93 1050/1641/101 1034/1642/91 -f 1054/1647/106 1031/1653/89 1030/1654/87 -f 1032/1614/92 1051/1643/104 1033/1655/90 -f 1051/1643/104 1027/1652/93 1033/1655/90 -f 1029/1638/88 1054/1647/106 1030/1654/87 -f 1053/1646/103 1032/1614/92 1031/1653/89 +f 586/1036/65 601/1037/75 585/1038/66 +f 585/1039/66 607/1040/76 592/1041/68 +f 588/1042/63 605/1043/77 604/1034/74 +f 586/1036/65 603/1035/13 602/1044/78 +f 589/1045/72 606/1046/79 605/1043/77 +f 601/1037/75 609/1047/80 608/1048/81 +f 607/1040/76 608/1049/81 614/1050/82 +f 605/1043/77 611/1051/83 604/1034/74 +f 602/1044/78 610/1052/85 609/1047/80 +f 606/1046/79 612/1053/84 605/1043/77 +f 604/1034/74 610/1052/85 603/1035/13 +f 590/1054/70 591/1055/12 606/1046/79 +f 606/1046/79 591/1055/12 613/1056/86 +f 592/1041/68 607/1040/76 591/1055/12 +f 607/1040/76 614/1050/82 591/1055/12 +f 614/1057/82 615/1058/87 591/1059/12 +f 608/1060/81 622/1061/88 614/1057/82 +f 591/1059/12 621/1062/89 613/1063/86 +f 612/1064/84 619/1065/90 611/1066/83 +f 610/1052/85 617/1067/91 609/1068/80 +f 613/1063/86 620/1069/92 612/1064/84 +f 611/1066/83 618/1070/93 610/1052/85 +f 609/1068/80 616/1071/73 608/1072/81 +f 626/1073/10 633/1074/70 634/1075/72 +f 624/1076/26 631/1077/68 632/1078/12 +f 629/1079/73 636/1080/64 637/1081/65 +f 627/1082/71 634/1075/72 635/1083/63 +f 625/1084/69 632/1078/12 633/1074/70 +f 623/1085/67 638/1086/66 631/1077/68 +f 630/1087/9 637/1081/65 638/1088/66 +f 628/1089/27 635/1083/63 636/1080/64 +f 647/1090/94 640/1091/12 652/1092/95 +f 650/1093/96 643/1094/20 649/1095/97 +f 652/1092/95 641/1096/26 651/1097/98 +f 653/1098/99 645/1099/21 647/1090/94 +f 649/1095/97 644/1100/13 648/1101/100 +f 648/1101/100 646/1102/27 616/1103/73 +f 616/1104/73 639/1105/16 653/1098/99 +f 651/1097/98 642/1106/15 650/1093/96 +f 648/1107/100 616/1108/73 659/1109/101 +f 617/1110/91 659/1109/101 616/1108/73 +f 653/1111/99 654/1112/102 616/1113/73 +f 622/1114/88 616/1113/73 654/1112/102 +f 655/1115/103 651/1097/98 656/1116/69 +f 658/1117/105 650/1118/96 649/1119/97 +f 660/1120/106 652/1121/95 655/1115/103 +f 657/1122/104 651/1097/98 650/1118/96 +f 659/1109/101 649/1119/97 648/1107/100 +f 654/1112/102 647/1123/94 660/1120/106 +f 622/1114/88 660/1120/106 615/1124/87 +f 619/1125/90 658/1117/105 618/1126/93 +f 620/1069/92 655/1115/103 656/1116/69 +f 615/1124/87 655/1115/103 621/1127/89 +f 618/1126/93 659/1109/101 617/1110/91 +f 619/1125/90 656/1116/69 657/1122/104 +f 636/1080/64 664/1128/74 663/1129/13 +f 637/1130/65 661/1131/75 638/1132/66 +f 638/1133/66 667/1134/76 631/1135/68 +f 635/1136/63 665/1137/77 664/1128/74 +f 636/1080/64 662/1138/78 637/1130/65 +f 634/1139/72 666/1140/79 665/1137/77 +f 661/1131/75 669/1141/80 668/1142/81 +f 667/1134/76 668/1143/81 674/1144/82 +f 665/1137/77 671/1145/83 664/1128/74 +f 662/1138/78 670/1146/85 669/1141/80 +f 666/1140/79 672/1147/84 665/1137/77 +f 664/1128/74 670/1146/85 663/1129/13 +f 633/1148/70 632/1149/12 666/1140/79 +f 666/1140/79 632/1149/12 673/1150/86 +f 631/1135/68 667/1134/76 632/1149/12 +f 667/1134/76 674/1144/82 632/1149/12 +f 674/1151/82 675/1152/87 632/1153/12 +f 668/1154/81 682/1155/88 674/1151/82 +f 632/1153/12 681/1156/89 673/1157/86 +f 672/1158/84 679/1159/90 671/1160/83 +f 670/1146/85 677/1161/91 669/1162/80 +f 673/1157/86 680/1163/92 672/1158/84 +f 671/1160/83 678/1164/93 670/1146/85 +f 669/1162/80 676/1165/73 668/1166/81 +f 691/1167/94 684/1168/12 696/1169/95 +f 694/1170/96 687/1171/20 693/1172/97 +f 696/1169/95 685/1173/26 695/1174/98 +f 697/1175/99 689/1176/21 691/1167/94 +f 693/1172/97 688/1177/13 692/1178/100 +f 692/1178/100 690/1179/27 676/1180/73 +f 676/1181/73 683/1182/16 697/1175/99 +f 695/1174/98 686/1183/15 694/1170/96 +f 692/1184/100 676/1185/73 703/1186/101 +f 677/1187/91 703/1186/101 676/1185/73 +f 697/1188/99 698/1189/102 676/1190/73 +f 682/1191/88 676/1190/73 698/1189/102 +f 699/1192/103 695/1174/98 700/1193/69 +f 701/1194/104 693/1195/97 702/1196/105 +f 704/1197/106 696/1198/95 699/1192/103 +f 700/1193/69 694/1199/96 701/1194/104 +f 703/1186/101 693/1195/97 692/1184/100 +f 698/1189/102 691/1200/94 704/1197/106 +f 675/1201/87 698/1189/102 704/1197/106 +f 679/1202/90 702/1196/105 678/1203/93 +f 680/1163/92 699/1192/103 700/1193/69 +f 675/1201/87 699/1192/103 681/1204/89 +f 678/1203/93 703/1186/101 677/1187/91 +f 680/1163/92 701/1194/104 679/1202/90 +f 720/1205/13 705/1206/27 712/1207/13 +f 718/1208/15 711/1209/20 710/1210/15 +f 716/1211/12 709/1212/26 708/1213/12 +f 713/1214/16 707/1215/21 706/1216/16 +f 719/1217/20 712/1207/13 711/1209/20 +f 717/1218/26 710/1210/15 709/1219/26 +f 715/1220/21 708/1213/12 707/1215/21 +f 714/1221/27 706/1216/16 705/1206/27 +f 733/1222/107 462/819/108 461/817/107 +f 734/1223/108 463/821/109 462/819/108 +f 735/1224/109 464/824/110 463/821/109 +f 464/824/110 721/1225/111 449/823/112 +f 721/1226/111 450/826/113 449/823/112 +f 722/1227/114 451/828/115 450/826/113 +f 451/828/115 724/1228/116 452/814/116 +f 452/814/116 725/1229/117 453/816/117 +f 453/816/117 726/1230/118 454/818/119 +f 454/818/119 727/1231/120 455/820/120 +f 455/820/120 728/1232/121 456/822/121 +f 728/1233/121 457/1234/122 456/822/121 +f 457/825/122 730/1235/123 458/827/123 +f 730/1236/123 459/813/124 458/827/123 +f 731/1237/124 460/815/125 459/813/124 +f 732/1238/126 461/817/107 460/815/125 +f 784/1239/13 769/1240/27 776/1241/13 +f 782/1242/15 775/1243/20 774/1244/15 +f 780/1245/12 773/1246/26 772/1247/12 +f 777/1248/16 771/1249/21 770/1250/16 +f 783/1251/20 776/1241/13 775/1243/20 +f 781/1252/26 774/1244/15 773/1253/26 +f 779/1254/21 772/1247/12 771/1249/21 +f 778/1255/27 770/1250/16 769/1240/27 +f 800/1256/13 785/1257/27 792/1258/13 +f 798/1259/15 791/1260/20 790/1261/15 +f 796/1262/12 789/1263/26 788/1264/12 +f 793/1265/16 787/1266/21 786/1267/16 +f 799/1268/20 792/1258/13 791/1260/20 +f 797/1269/26 790/1261/15 789/1270/26 +f 795/1271/21 788/1264/12 787/1266/21 +f 794/1272/27 786/1267/16 785/1257/27 +f 816/1273/13 801/1274/27 808/1275/13 +f 814/1276/15 807/1277/20 806/1278/15 +f 812/1279/12 805/1280/26 804/1281/12 +f 809/1282/16 803/1283/21 802/1284/16 +f 815/1285/20 808/1275/13 807/1277/20 +f 813/1286/26 806/1278/15 805/1287/26 +f 811/1288/21 804/1281/12 803/1283/21 +f 810/1289/27 802/1284/16 801/1274/27 +f 820/1290/127 827/1291/27 819/1292/128 +f 818/1293/129 825/1294/9 817/1295/130 +f 817/1296/130 832/1297/67 824/1298/131 +f 823/1299/15 830/1300/69 822/1301/132 +f 821/1302/133 828/1303/71 820/1290/127 +f 819/1292/128 826/1304/73 818/1293/129 +f 824/1298/131 831/1305/26 823/1299/15 +f 822/1301/132 829/1306/10 821/1302/133 +f 819/1292/128 836/1307/134 820/1308/127 +f 833/1309/135 818/1310/129 817/1311/130 +f 839/1312/136 817/1313/130 824/1314/131 +f 820/1308/127 837/1315/137 821/1316/133 +f 834/1317/138 819/1292/128 818/1310/129 +f 821/1316/133 838/1318/139 822/1319/132 +f 833/1309/135 841/1320/140 834/1317/138 +f 839/1312/136 840/1321/141 833/1322/135 +f 843/1323/142 837/1315/137 836/1307/134 +f 841/1320/140 835/1324/16 834/1317/138 +f 844/1325/143 838/1318/139 837/1315/137 +f 842/1326/144 836/1307/134 835/1324/16 +f 822/1319/132 838/1318/139 823/1327/15 +f 838/1318/139 845/1328/145 823/1327/15 +f 824/1314/131 823/1327/15 839/1312/136 +f 839/1312/136 823/1327/15 846/1329/146 +f 847/1330/93 846/1331/146 823/1332/15 +f 854/1333/91 840/1334/141 846/1331/146 +f 853/1335/90 823/1332/15 845/1336/145 +f 851/1337/89 844/1338/143 843/1339/142 +f 849/1340/88 842/1326/144 841/1341/140 +f 852/1342/92 845/1336/145 844/1338/143 +f 850/1343/87 843/1339/142 842/1326/144 +f 848/1344/73 841/1341/140 840/1345/141 +f 865/1346/132 858/1347/10 866/1348/133 +f 863/1349/131 856/1350/26 864/1351/15 +f 868/1352/128 861/1353/73 869/1354/129 +f 866/1348/133 859/1355/71 867/1356/127 +f 864/1351/15 857/1357/69 865/1346/132 +f 870/1358/130 855/1359/67 863/1349/131 +f 869/1354/129 862/1360/9 870/1361/130 +f 867/1356/127 860/1362/27 868/1352/128 +f 872/1363/15 879/1364/97 884/1365/96 +f 875/1366/21 882/1367/95 881/1368/94 +f 873/1369/26 884/1365/96 883/1370/98 +f 877/1371/20 885/1372/100 879/1364/97 +f 876/1373/16 881/1368/94 880/1374/99 +f 878/1375/27 880/1374/99 848/1376/73 +f 871/1377/13 848/1378/73 885/1372/100 +f 874/1379/12 883/1370/98 882/1367/95 +f 880/1380/99 891/1381/102 848/1382/73 +f 849/1383/88 848/1382/73 891/1381/102 +f 885/1384/100 848/1385/73 886/1386/101 +f 854/1387/91 886/1386/101 848/1385/73 +f 883/1370/98 887/1388/104 888/1389/69 +f 890/1390/106 882/1391/95 889/1392/103 +f 884/1393/96 892/1394/105 887/1388/104 +f 889/1392/103 883/1370/98 888/1389/69 +f 891/1381/102 881/1395/94 890/1390/106 +f 879/1396/97 886/1386/101 892/1394/105 +f 892/1394/105 854/1387/91 847/1397/93 +f 850/1398/87 889/1392/103 851/1399/89 +f 888/1389/69 853/1400/90 852/1342/92 +f 887/1388/104 847/1397/93 853/1400/90 +f 849/1383/88 890/1390/106 850/1398/87 +f 889/1392/103 852/1342/92 851/1399/89 +f 895/1401/16 867/1402/127 868/1352/128 +f 870/1403/130 894/1404/138 869/1405/129 +f 899/1406/136 870/1407/130 863/1408/131 +f 867/1402/127 897/1409/137 866/1410/133 +f 894/1404/138 868/1352/128 869/1405/129 +f 866/1410/133 898/1411/139 865/1412/132 +f 893/1413/135 901/1414/140 894/1404/138 +f 899/1406/136 900/1415/141 893/1416/135 +f 903/1417/142 897/1409/137 896/1418/134 +f 894/1404/138 902/1419/144 895/1401/16 +f 904/1420/143 898/1411/139 897/1409/137 +f 902/1419/144 896/1418/134 895/1401/16 +f 865/1412/132 898/1411/139 864/1421/15 +f 898/1411/139 905/1422/145 864/1421/15 +f 863/1408/131 864/1421/15 899/1406/136 +f 899/1406/136 864/1421/15 906/1423/146 +f 907/1424/93 906/1425/146 864/1426/15 +f 914/1427/91 900/1428/141 906/1425/146 +f 913/1429/90 864/1426/15 905/1430/145 +f 911/1431/89 904/1432/143 903/1433/142 +f 909/1434/88 902/1419/144 901/1435/140 +f 912/1436/92 905/1430/145 904/1432/143 +f 910/1437/87 903/1433/142 902/1419/144 +f 908/1438/73 901/1435/140 900/1439/141 +f 916/1440/15 923/1441/97 928/1442/96 +f 919/1443/21 926/1444/95 925/1445/94 +f 917/1446/26 928/1442/96 927/1447/98 +f 921/1448/20 929/1449/100 923/1441/97 +f 920/1450/16 925/1445/94 924/1451/99 +f 922/1452/27 924/1451/99 908/1453/73 +f 915/1454/13 908/1455/73 929/1449/100 +f 918/1456/12 927/1447/98 926/1444/95 +f 924/1457/99 935/1458/102 908/1459/73 +f 909/1460/88 908/1459/73 935/1458/102 +f 929/1461/100 908/1462/73 930/1463/101 +f 914/1464/91 930/1463/101 908/1462/73 +f 927/1447/98 931/1465/104 932/1466/69 +f 925/1467/94 933/1468/103 934/1469/106 +f 931/1465/104 923/1470/97 936/1471/105 +f 933/1468/103 927/1447/98 932/1466/69 +f 935/1458/102 925/1467/94 934/1469/106 +f 923/1470/97 930/1463/101 936/1471/105 +f 936/1471/105 914/1464/91 907/1472/93 +f 910/1473/87 933/1468/103 911/1474/89 +f 912/1436/92 931/1465/104 913/1475/90 +f 931/1465/104 907/1472/93 913/1475/90 +f 909/1460/88 934/1469/106 910/1473/87 +f 933/1468/103 912/1436/92 911/1474/89 +f 940/1476/127 947/1477/27 939/1478/128 +f 938/1479/129 945/1480/9 937/1481/130 +f 937/1482/130 952/1483/67 944/1484/131 +f 943/1485/15 950/1486/69 942/1487/132 +f 941/1488/133 948/1489/71 940/1476/127 +f 939/1478/128 946/1490/73 938/1479/129 +f 944/1484/131 951/1491/26 943/1485/15 +f 942/1487/132 949/1492/10 941/1488/133 +f 939/1478/128 956/1493/134 940/1494/127 +f 953/1495/135 938/1496/129 937/1497/130 +f 959/1498/136 937/1499/130 944/1500/131 +f 940/1494/127 957/1501/137 941/1502/133 +f 938/1496/129 955/1503/16 939/1478/128 +f 941/1502/133 958/1504/139 942/1505/132 +f 953/1495/135 961/1506/140 954/1507/138 +f 959/1498/136 960/1508/141 953/1509/135 +f 963/1510/142 957/1501/137 956/1493/134 +f 954/1507/138 962/1511/144 955/1503/16 +f 964/1512/143 958/1504/139 957/1501/137 +f 962/1511/144 956/1493/134 955/1503/16 +f 942/1505/132 958/1504/139 943/1513/15 +f 958/1504/139 965/1514/145 943/1513/15 +f 944/1500/131 943/1513/15 959/1498/136 +f 959/1498/136 943/1513/15 966/1515/146 +f 967/1516/93 966/1517/146 943/1518/15 +f 974/1519/91 960/1520/141 966/1517/146 +f 973/1521/90 943/1518/15 965/1522/145 +f 971/1523/89 964/1524/143 963/1525/142 +f 969/1526/88 962/1511/144 961/1527/140 +f 972/1528/92 965/1522/145 964/1524/143 +f 970/1529/87 963/1525/142 962/1511/144 +f 968/1530/73 961/1527/140 960/1531/141 +f 985/1532/132 978/1533/10 986/1534/133 +f 983/1535/131 976/1536/26 984/1537/15 +f 988/1538/128 981/1539/73 989/1540/129 +f 986/1534/133 979/1541/71 987/1542/127 +f 984/1537/15 977/1543/69 985/1532/132 +f 990/1544/130 975/1545/67 983/1535/131 +f 989/1540/129 982/1546/9 990/1547/130 +f 987/1542/127 980/1548/27 988/1538/128 +f 992/1549/15 999/1550/97 1004/1551/96 +f 995/1552/21 1002/1553/95 1001/1554/94 +f 993/1555/26 1004/1551/96 1003/1556/98 +f 997/1557/20 1005/1558/100 999/1550/97 +f 996/1559/16 1001/1554/94 1000/1560/99 +f 998/1561/27 1000/1560/99 968/1562/73 +f 991/1563/13 968/1564/73 1005/1558/100 +f 994/1565/12 1003/1556/98 1002/1553/95 +f 1000/1566/99 1011/1567/102 968/1568/73 +f 969/1569/88 968/1568/73 1011/1567/102 +f 1005/1570/100 968/1571/73 1006/1572/101 +f 974/1573/91 1006/1572/101 968/1571/73 +f 1003/1556/98 1007/1574/104 1008/1575/69 +f 1010/1576/106 1002/1577/95 1009/1578/103 +f 1004/1579/96 1012/1580/105 1007/1574/104 +f 1009/1578/103 1003/1556/98 1008/1575/69 +f 1011/1567/102 1001/1581/94 1010/1576/106 +f 999/1582/97 1006/1572/101 1012/1580/105 +f 1012/1580/105 974/1573/91 967/1583/93 +f 1010/1576/106 971/1584/89 970/1585/87 +f 972/1528/92 1007/1574/104 973/1586/90 +f 1007/1574/104 967/1583/93 973/1586/90 +f 969/1569/88 1010/1576/106 970/1585/87 +f 971/1584/89 1008/1575/69 972/1528/92 +f 988/1538/128 1016/1587/134 987/1588/127 +f 1013/1589/135 989/1590/129 990/1591/130 +f 1019/1592/136 990/1593/130 983/1594/131 +f 987/1588/127 1017/1595/137 986/1596/133 +f 1014/1597/138 988/1538/128 989/1590/129 +f 986/1596/133 1018/1598/139 985/1599/132 +f 1013/1589/135 1021/1600/140 1014/1597/138 +f 1019/1592/136 1020/1601/141 1013/1602/135 +f 1023/1603/142 1017/1595/137 1016/1587/134 +f 1014/1597/138 1022/1604/144 1015/1605/16 +f 1024/1606/143 1018/1598/139 1017/1595/137 +f 1022/1604/144 1016/1587/134 1015/1605/16 +f 985/1599/132 1018/1598/139 984/1607/15 +f 1018/1598/139 1025/1608/145 984/1607/15 +f 983/1594/131 984/1607/15 1019/1592/136 +f 1019/1592/136 984/1607/15 1026/1609/146 +f 1027/1610/93 1026/1611/146 984/1612/15 +f 1034/1613/91 1020/1614/141 1026/1611/146 +f 1033/1615/90 984/1612/15 1025/1616/145 +f 1031/1617/89 1024/1618/143 1023/1619/142 +f 1029/1620/88 1022/1604/144 1021/1621/140 +f 1032/1622/92 1025/1616/145 1024/1618/143 +f 1030/1623/87 1023/1619/142 1022/1604/144 +f 1028/1624/73 1021/1621/140 1020/1625/141 +f 1036/1626/15 1043/1627/97 1048/1628/96 +f 1039/1629/21 1046/1630/95 1045/1631/94 +f 1037/1632/26 1048/1628/96 1047/1633/98 +f 1041/1634/20 1049/1635/100 1043/1627/97 +f 1040/1636/16 1045/1631/94 1044/1637/99 +f 1042/1638/27 1044/1637/99 1028/1639/73 +f 1035/1640/13 1028/1641/73 1049/1635/100 +f 1038/1642/12 1047/1633/98 1046/1630/95 +f 1044/1643/99 1055/1644/102 1028/1645/73 +f 1029/1646/88 1028/1645/73 1055/1644/102 +f 1049/1647/100 1028/1648/73 1050/1649/101 +f 1034/1650/91 1050/1649/101 1028/1648/73 +f 1047/1633/98 1051/1651/104 1052/1652/69 +f 1045/1653/94 1053/1654/103 1054/1655/106 +f 1048/1656/96 1056/1657/105 1051/1651/104 +f 1046/1658/95 1052/1652/69 1053/1654/103 +f 1055/1644/102 1045/1653/94 1054/1655/106 +f 1043/1659/97 1050/1649/101 1056/1657/105 +f 1027/1660/93 1050/1649/101 1034/1650/91 +f 1054/1655/106 1031/1661/89 1030/1662/87 +f 1032/1622/92 1051/1651/104 1033/1663/90 +f 1051/1651/104 1027/1660/93 1033/1663/90 +f 1029/1646/88 1054/1655/106 1030/1662/87 +f 1053/1654/103 1032/1622/92 1031/1661/89 f 28/556/19 44/587/19 45/557/20 f 21/559/21 37/588/21 38/560/22 f 29/558/20 45/557/20 46/562/23 @@ -4050,22 +4058,22 @@ f 58/452/43 59/209/44 43/583/44 f 59/215/44 60/217/45 44/587/45 f 60/221/45 61/223/46 45/557/46 f 45/557/46 61/458/46 62/227/31 -f 32/571/47 80/1656/47 79/590/48 +f 32/571/47 80/1664/47 79/590/48 f 30/563/49 31/567/48 79/591/48 f 29/558/50 30/563/49 78/593/49 -f 29/558/50 77/1657/50 76/595/51 -f 28/556/51 76/1658/51 75/596/52 -f 27/584/52 75/1659/52 74/597/53 -f 26/580/53 74/1660/53 73/598/54 +f 29/558/50 77/1665/50 76/595/51 +f 28/556/51 76/1666/51 75/596/52 +f 27/584/52 75/1667/52 74/597/53 +f 26/580/53 74/1668/53 73/598/54 f 24/569/55 25/573/54 73/599/54 -f 24/569/55 72/1661/55 71/601/56 -f 23/565/56 71/1662/56 70/602/57 -f 22/561/57 70/1663/57 69/603/58 +f 24/569/55 72/1669/55 71/601/56 +f 23/565/56 71/1670/56 70/602/57 +f 22/561/57 70/1671/57 69/603/58 f 20/586/59 21/559/58 69/604/58 f 19/582/60 20/586/59 68/606/59 -f 19/582/60 67/1664/60 66/608/61 -f 18/576/61 66/1665/61 65/609/62 -f 17/574/62 65/1666/62 80/610/47 +f 19/582/60 67/1672/60 66/608/61 +f 18/576/61 66/1673/61 65/609/62 +f 17/574/62 65/1674/62 80/610/47 f 113/28/27 129/72/27 144/69/25 f 114/32/28 130/435/28 129/72/27 f 115/31/16 131/76/16 130/435/28 @@ -4100,7 +4108,7 @@ f 191/110/13 207/154/13 206/151/23 f 192/113/25 208/157/25 207/154/13 f 224/611/13 217/627/27 209/612/27 f 222/614/15 223/623/20 215/615/20 -f 220/617/12 221/1667/26 213/618/26 +f 220/617/12 221/1675/26 213/618/26 f 218/620/16 219/626/21 211/621/21 f 223/623/20 224/611/13 216/613/13 f 221/624/26 222/614/15 214/616/15 @@ -4108,7 +4116,7 @@ f 219/626/21 220/617/12 212/619/12 f 217/627/27 218/620/16 210/622/16 f 240/628/12 233/644/26 225/629/26 f 238/631/16 239/640/21 231/632/21 -f 236/634/13 237/1668/27 229/635/27 +f 236/634/13 237/1676/27 229/635/27 f 234/637/15 235/643/20 227/638/20 f 239/640/21 240/628/12 232/630/12 f 237/641/27 238/631/16 230/633/16 @@ -4116,7 +4124,7 @@ f 235/643/20 236/634/13 228/636/13 f 233/644/26 234/637/15 226/639/15 f 256/645/15 249/661/20 241/646/20 f 254/648/12 255/657/26 247/649/26 -f 252/651/16 253/1669/21 245/652/21 +f 252/651/16 253/1677/21 245/652/21 f 250/654/13 251/660/27 243/655/27 f 255/657/26 256/645/15 248/647/15 f 253/658/21 254/648/12 246/650/12 @@ -4124,7 +4132,7 @@ f 251/660/27 252/651/16 244/653/16 f 249/661/20 250/654/13 242/656/13 f 272/662/16 265/678/21 257/663/21 f 270/665/13 271/674/27 263/666/27 -f 268/668/15 269/1670/20 261/669/20 +f 268/668/15 269/1678/20 261/669/20 f 266/671/12 267/677/26 259/672/26 f 271/674/27 272/662/16 264/664/16 f 269/675/20 270/665/13 262/667/13 @@ -4132,7 +4140,7 @@ f 267/677/26 268/668/15 260/670/15 f 265/678/21 266/671/12 258/673/12 f 288/679/20 281/695/13 273/680/13 f 286/682/26 287/691/15 279/683/15 -f 284/685/21 285/1671/12 277/686/12 +f 284/685/21 285/1679/12 277/686/12 f 282/688/27 283/694/16 275/689/16 f 287/691/15 288/679/20 280/681/20 f 285/692/12 286/682/26 278/684/26 @@ -4140,7 +4148,7 @@ f 283/694/16 284/685/21 276/687/21 f 281/695/13 282/688/27 274/690/27 f 304/696/21 297/712/12 289/697/12 f 302/699/27 303/708/16 295/700/16 -f 300/702/20 301/1672/13 293/703/13 +f 300/702/20 301/1680/13 293/703/13 f 298/705/26 299/711/15 291/706/15 f 303/708/16 304/696/21 296/698/21 f 301/709/13 302/699/27 294/701/27 @@ -4148,7 +4156,7 @@ f 299/711/15 300/702/20 292/704/20 f 297/712/12 298/705/26 290/707/26 f 320/713/26 313/729/15 305/714/15 f 318/716/21 319/725/12 311/717/12 -f 316/719/27 317/1673/16 309/720/16 +f 316/719/27 317/1681/16 309/720/16 f 314/722/20 315/728/13 307/723/13 f 319/725/12 320/713/26 312/715/26 f 317/726/16 318/716/21 310/718/21 @@ -4156,7 +4164,7 @@ f 315/728/13 316/719/27 308/721/27 f 313/729/15 314/722/20 306/724/20 f 336/730/27 329/746/16 321/731/16 f 334/733/20 335/742/13 327/734/13 -f 332/736/26 333/1674/15 325/737/15 +f 332/736/26 333/1682/15 325/737/15 f 330/739/21 331/745/12 323/740/12 f 335/742/13 336/730/27 328/732/27 f 333/743/15 334/733/20 326/735/20 @@ -4164,7 +4172,7 @@ f 331/745/12 332/736/26 324/738/26 f 329/746/16 330/739/21 322/741/21 f 337/747/27 353/751/27 354/748/28 f 352/750/25 368/777/25 353/751/27 -f 345/752/26 361/1675/26 362/753/29 +f 345/752/26 361/1683/26 362/753/29 f 338/749/28 354/748/28 355/755/16 f 346/754/29 362/753/29 363/757/15 f 339/756/16 355/755/16 356/759/30 @@ -4196,7 +4204,7 @@ f 394/311/29 395/314/15 379/278/15 f 387/297/16 388/299/30 372/466/30 f 401/780/27 417/784/27 418/781/28 f 416/783/25 432/810/25 417/784/27 -f 409/785/26 425/1676/26 426/786/29 +f 409/785/26 425/1684/26 426/786/29 f 402/782/28 418/781/28 419/788/16 f 410/787/29 426/786/29 427/790/15 f 403/789/16 419/788/16 420/792/30 @@ -4219,7 +4227,7 @@ f 454/818/22 455/820/12 439/339/12 f 462/819/23 463/821/13 447/487/13 f 455/820/12 456/822/24 440/343/24 f 463/821/13 464/824/25 448/321/25 -f 456/822/24 457/1230/26 441/491/26 +f 456/822/24 457/1234/26 441/491/26 f 449/823/27 450/826/28 434/326/28 f 464/824/25 449/823/27 433/488/27 f 457/825/26 458/827/29 442/347/29 @@ -4228,7 +4236,7 @@ f 458/827/29 459/813/15 443/350/15 f 451/828/16 452/814/30 436/489/30 f 475/829/27 476/841/71 468/830/63 f 473/832/9 474/843/73 466/833/65 -f 480/835/67 473/1677/9 465/836/66 +f 480/835/67 473/1685/9 465/836/66 f 478/838/69 479/844/26 471/839/12 f 476/841/71 477/845/10 469/842/72 f 474/843/73 475/829/27 467/831/64 @@ -4236,18 +4244,18 @@ f 479/844/26 480/835/67 472/837/68 f 477/845/10 478/838/69 470/840/70 f 467/831/64 468/854/63 484/846/74 f 466/848/65 482/856/78 481/849/75 -f 465/851/66 481/1678/75 487/852/76 +f 465/851/66 481/1686/75 487/852/76 f 468/854/63 469/857/72 485/855/77 f 466/848/65 467/831/64 483/847/13 f 469/857/72 470/866/70 486/858/79 f 481/849/75 482/856/78 489/859/80 -f 487/852/76 481/1678/75 488/861/81 +f 487/852/76 481/1686/75 488/861/81 f 485/855/77 492/864/84 491/863/83 f 483/847/13 490/865/85 489/859/80 f 486/858/79 493/868/86 492/864/84 f 484/846/74 491/863/83 490/865/85 f 494/869/82 502/873/88 495/870/87 -f 488/872/81 496/1679/73 502/873/88 +f 488/872/81 496/1687/73 502/873/88 f 471/871/12 495/870/87 501/874/89 f 492/876/84 500/881/92 499/877/90 f 490/865/85 498/882/93 497/879/91 @@ -4259,7 +4267,7 @@ f 504/888/26 503/897/67 511/889/68 f 509/891/73 508/901/27 516/892/64 f 507/894/71 506/885/10 514/887/72 f 505/896/69 504/888/26 512/890/12 -f 503/897/67 510/1680/9 518/898/66 +f 503/897/67 510/1688/9 518/898/66 f 510/899/9 509/891/73 517/893/65 f 508/901/27 507/894/71 515/895/63 f 527/902/94 525/911/21 520/903/12 @@ -4268,7 +4276,7 @@ f 532/904/95 520/903/12 521/908/26 f 533/910/99 519/917/16 525/911/21 f 529/907/97 523/906/20 524/912/13 f 528/913/100 524/912/13 526/914/27 -f 496/916/73 526/1681/27 519/917/16 +f 496/916/73 526/1689/27 519/917/16 f 531/909/98 521/908/26 522/918/15 f 535/927/103 532/933/95 531/909/98 f 537/929/104 530/934/96 529/930/97 @@ -4284,18 +4292,18 @@ f 497/922/91 498/938/93 538/931/105 f 500/881/92 536/928/69 537/929/104 f 515/940/63 544/949/74 543/941/13 f 517/942/65 542/950/78 541/943/75 -f 518/945/66 541/1682/75 547/946/76 +f 518/945/66 541/1690/75 547/946/76 f 515/940/63 514/951/72 545/948/77 f 516/892/64 543/941/13 542/950/78 f 514/951/72 513/960/70 546/952/79 f 541/943/75 542/950/78 549/953/80 -f 547/946/76 541/1682/75 548/955/81 +f 547/946/76 541/1690/75 548/955/81 f 545/948/77 552/959/84 551/957/83 f 542/950/78 543/941/13 550/958/85 f 546/952/79 553/962/86 552/959/84 f 544/949/74 551/957/83 550/958/85 f 554/963/82 562/967/88 555/964/87 -f 548/966/81 556/1683/73 562/967/88 +f 548/966/81 556/1691/73 562/967/88 f 512/965/12 555/964/87 561/968/89 f 552/970/84 560/975/92 559/971/90 f 550/958/85 558/976/93 557/973/91 @@ -4308,7 +4316,7 @@ f 576/981/95 564/980/12 565/985/26 f 577/987/99 563/994/16 569/988/21 f 573/984/97 567/983/20 568/989/13 f 572/990/100 568/989/13 570/991/27 -f 556/993/73 570/1684/27 563/994/16 +f 556/993/73 570/1692/27 563/994/16 f 575/986/98 565/985/26 566/995/15 f 579/1004/103 576/1010/95 575/986/98 f 581/1006/104 574/1011/96 573/1007/97 @@ -4324,340 +4332,340 @@ f 557/999/91 558/1015/93 582/1008/105 f 560/975/92 580/1005/69 581/1006/104 f 595/1017/27 596/1029/71 588/1018/63 f 593/1020/9 594/1031/73 586/1021/65 -f 600/1023/67 593/1685/9 585/1024/66 +f 600/1023/67 593/1693/9 585/1024/66 f 598/1026/69 599/1032/26 591/1027/12 f 596/1029/71 597/1033/10 589/1030/72 f 594/1031/73 595/1017/27 587/1019/64 f 599/1032/26 600/1023/67 592/1025/68 f 597/1033/10 598/1026/69 590/1028/70 -f 587/1019/64 588/1018/63 604/1034/74 -f 586/1021/65 602/1042/78 601/1036/75 -f 585/1038/66 601/1686/75 607/1039/76 -f 588/1018/63 589/1043/72 605/1041/77 -f 586/1021/65 587/1019/64 603/1035/13 -f 589/1043/72 590/1052/70 606/1044/79 -f 601/1036/75 602/1042/78 609/1045/80 -f 607/1039/76 601/1686/75 608/1047/81 -f 605/1041/77 612/1051/84 611/1049/83 -f 602/1042/78 603/1035/13 610/1050/85 -f 606/1044/79 613/1054/86 612/1051/84 -f 604/1034/74 611/1049/83 610/1050/85 -f 614/1055/82 622/1059/88 615/1056/87 -f 608/1058/81 616/1687/73 622/1059/88 -f 591/1057/12 615/1056/87 621/1060/89 -f 612/1062/84 620/1065/92 619/1063/90 -f 610/1050/85 618/1066/93 617/1064/91 -f 613/1061/86 621/1060/89 620/1065/92 -f 611/1049/83 619/1063/90 618/1066/93 -f 609/1045/80 617/1064/91 616/1067/73 -f 626/1069/10 625/1080/69 633/1070/70 -f 624/1072/26 623/1081/67 631/1073/68 -f 629/1075/73 628/1085/27 636/1076/64 -f 627/1078/71 626/1069/10 634/1071/72 -f 625/1080/69 624/1072/26 632/1074/12 -f 623/1081/67 630/1688/9 638/1082/66 -f 630/1083/9 629/1075/73 637/1077/65 -f 628/1085/27 627/1078/71 635/1079/63 -f 647/1086/94 645/1095/21 640/1087/12 -f 650/1089/96 642/1102/15 643/1090/20 -f 652/1088/95 640/1087/12 641/1092/26 -f 653/1094/99 639/1101/16 645/1095/21 -f 649/1091/97 643/1090/20 644/1096/13 -f 648/1097/100 644/1096/13 646/1098/27 -f 616/1100/73 646/1689/27 639/1101/16 -f 651/1093/98 641/1092/26 642/1102/15 -f 655/1111/103 652/1117/95 651/1093/98 -f 658/1113/105 657/1118/104 650/1114/96 -f 660/1116/106 647/1119/94 652/1117/95 -f 657/1118/104 656/1112/69 651/1093/98 -f 659/1105/101 658/1113/105 649/1115/97 -f 654/1108/102 653/1107/99 647/1119/94 -f 622/1110/88 654/1108/102 660/1116/106 -f 619/1121/90 657/1118/104 658/1113/105 -f 620/1065/92 621/1123/89 655/1111/103 -f 615/1120/87 660/1116/106 655/1111/103 -f 618/1122/93 658/1113/105 659/1105/101 -f 619/1121/90 620/1065/92 656/1112/69 -f 636/1076/64 635/1132/63 664/1124/74 -f 637/1126/65 662/1134/78 661/1127/75 -f 638/1129/66 661/1690/75 667/1130/76 -f 635/1132/63 634/1135/72 665/1133/77 -f 636/1076/64 663/1125/13 662/1134/78 -f 634/1135/72 633/1144/70 666/1136/79 -f 661/1127/75 662/1134/78 669/1137/80 -f 667/1130/76 661/1690/75 668/1139/81 -f 665/1133/77 672/1143/84 671/1141/83 -f 662/1134/78 663/1125/13 670/1142/85 -f 666/1136/79 673/1146/86 672/1143/84 -f 664/1124/74 671/1141/83 670/1142/85 -f 674/1147/82 682/1151/88 675/1148/87 -f 668/1150/81 676/1691/73 682/1151/88 -f 632/1149/12 675/1148/87 681/1152/89 -f 672/1154/84 680/1159/92 679/1155/90 -f 670/1142/85 678/1160/93 677/1157/91 -f 673/1153/86 681/1152/89 680/1159/92 -f 671/1156/83 679/1155/90 678/1160/93 -f 669/1158/80 677/1157/91 676/1161/73 -f 691/1163/94 689/1172/21 684/1164/12 -f 694/1166/96 686/1179/15 687/1167/20 -f 696/1165/95 684/1164/12 685/1169/26 -f 697/1171/99 683/1178/16 689/1172/21 -f 693/1168/97 687/1167/20 688/1173/13 -f 692/1174/100 688/1173/13 690/1175/27 -f 676/1177/73 690/1692/27 683/1178/16 -f 695/1170/98 685/1169/26 686/1179/15 -f 699/1188/103 696/1194/95 695/1170/98 -f 701/1190/104 694/1195/96 693/1191/97 -f 704/1193/106 691/1196/94 696/1194/95 -f 700/1189/69 695/1170/98 694/1195/96 -f 703/1182/101 702/1192/105 693/1191/97 -f 698/1185/102 697/1184/99 691/1196/94 -f 675/1197/87 682/1187/88 698/1185/102 -f 679/1198/90 701/1190/104 702/1192/105 -f 680/1159/92 681/1200/89 699/1188/103 -f 675/1197/87 704/1193/106 699/1188/103 -f 678/1199/93 702/1192/105 703/1182/101 -f 680/1159/92 700/1189/69 701/1190/104 -f 720/1201/13 714/1217/27 705/1202/27 -f 718/1204/15 719/1213/20 711/1205/20 -f 716/1207/12 717/1693/26 709/1208/26 -f 713/1210/16 715/1216/21 707/1211/21 -f 719/1213/20 720/1201/13 712/1203/13 -f 717/1214/26 718/1204/15 710/1206/15 -f 715/1216/21 716/1207/12 708/1209/12 -f 714/1217/27 713/1210/16 706/1212/16 -f 733/1218/107 734/1694/108 462/819/108 -f 734/1219/108 735/1695/109 463/821/109 -f 735/1220/109 736/1696/147 464/824/110 -f 464/824/110 736/1697/147 721/1221/111 -f 721/1222/111 722/1698/114 450/826/113 -f 722/1223/114 723/1699/115 451/828/115 -f 451/828/115 723/1700/115 724/1224/116 -f 452/814/116 724/1701/116 725/1225/117 -f 453/816/117 725/1702/117 726/1226/118 -f 454/818/119 726/1703/118 727/1227/120 -f 455/820/120 727/1704/120 728/1228/121 -f 728/1229/121 729/1705/122 457/1230/122 -f 457/825/122 729/1706/122 730/1231/123 -f 730/1232/123 731/1707/124 459/813/124 -f 731/1233/124 732/1708/126 460/815/125 -f 732/1234/126 733/1709/107 461/817/107 -f 784/1235/13 778/1251/27 769/1236/27 -f 782/1238/15 783/1247/20 775/1239/20 -f 780/1241/12 781/1710/26 773/1242/26 -f 777/1244/16 779/1250/21 771/1245/21 -f 783/1247/20 784/1235/13 776/1237/13 -f 781/1248/26 782/1238/15 774/1240/15 -f 779/1250/21 780/1241/12 772/1243/12 -f 778/1251/27 777/1244/16 770/1246/16 -f 800/1252/13 794/1268/27 785/1253/27 -f 798/1255/15 799/1264/20 791/1256/20 -f 796/1258/12 797/1711/26 789/1259/26 -f 793/1261/16 795/1267/21 787/1262/21 -f 799/1264/20 800/1252/13 792/1254/13 -f 797/1265/26 798/1255/15 790/1257/15 -f 795/1267/21 796/1258/12 788/1260/12 -f 794/1268/27 793/1261/16 786/1263/16 -f 816/1269/13 810/1285/27 801/1270/27 -f 814/1272/15 815/1281/20 807/1273/20 -f 812/1275/12 813/1712/26 805/1276/26 -f 809/1278/16 811/1284/21 803/1279/21 -f 815/1281/20 816/1269/13 808/1271/13 -f 813/1282/26 814/1272/15 806/1274/15 -f 811/1284/21 812/1275/12 804/1277/12 -f 810/1285/27 809/1278/16 802/1280/16 -f 820/1286/127 828/1299/71 827/1287/27 -f 818/1289/129 826/1300/73 825/1290/9 -f 817/1292/130 825/1713/9 832/1293/67 -f 823/1295/15 831/1301/26 830/1296/69 -f 821/1298/133 829/1302/10 828/1299/71 -f 819/1288/128 827/1287/27 826/1300/73 -f 824/1294/131 832/1293/67 831/1301/26 -f 822/1297/132 830/1296/69 829/1302/10 -f 819/1288/128 835/1320/16 836/1303/134 -f 833/1305/135 834/1313/138 818/1306/129 -f 839/1308/136 833/1318/135 817/1309/130 -f 820/1304/127 836/1303/134 837/1311/137 -f 834/1313/138 835/1320/16 819/1288/128 -f 821/1312/133 837/1311/137 838/1314/139 -f 833/1305/135 840/1714/141 841/1316/140 -f 839/1308/136 846/1325/146 840/1317/141 -f 843/1319/142 844/1321/143 837/1311/137 -f 841/1316/140 842/1322/144 835/1320/16 -f 844/1321/143 845/1324/145 838/1314/139 -f 842/1322/144 843/1319/142 836/1303/134 -f 847/1326/93 854/1329/91 846/1327/146 -f 854/1329/91 848/1715/73 840/1330/141 -f 853/1331/90 847/1326/93 823/1328/15 -f 851/1333/89 852/1338/92 844/1334/143 -f 849/1336/88 850/1339/87 842/1322/144 -f 852/1338/92 853/1331/90 845/1332/145 -f 850/1339/87 851/1333/89 843/1335/142 -f 848/1340/73 849/1336/88 841/1337/140 -f 865/1342/132 857/1353/69 858/1343/10 -f 863/1345/131 855/1355/67 856/1346/26 -f 868/1348/128 860/1358/27 861/1349/73 -f 866/1344/133 858/1343/10 859/1351/71 -f 864/1347/15 856/1346/26 857/1353/69 -f 870/1354/130 862/1716/9 855/1355/67 -f 869/1350/129 861/1349/73 862/1356/9 -f 867/1352/127 859/1351/71 860/1358/27 -f 872/1359/15 877/1367/20 879/1360/97 -f 875/1362/21 874/1375/12 882/1363/95 -f 873/1365/26 872/1359/15 884/1361/96 -f 877/1367/20 871/1373/13 885/1368/100 -f 876/1369/16 875/1362/21 881/1364/94 -f 878/1371/27 876/1369/16 880/1370/99 -f 871/1373/13 878/1717/27 848/1374/73 -f 874/1375/12 873/1365/26 883/1366/98 -f 883/1366/98 884/1389/96 887/1384/104 -f 890/1386/106 881/1391/94 882/1387/95 -f 884/1389/96 879/1392/97 892/1390/105 -f 889/1388/103 882/1387/95 883/1366/98 -f 891/1377/102 880/1376/99 881/1391/94 -f 879/1392/97 885/1380/100 886/1382/101 -f 892/1390/105 886/1382/101 854/1383/91 -f 850/1394/87 890/1386/106 889/1388/103 -f 888/1385/69 887/1384/104 853/1396/90 -f 887/1384/104 892/1390/105 847/1393/93 -f 849/1379/88 891/1377/102 890/1386/106 -f 889/1388/103 888/1385/69 852/1338/92 -f 895/1397/16 896/1414/134 867/1398/127 -f 870/1399/130 893/1409/135 894/1400/138 -f 899/1402/136 893/1412/135 870/1403/130 -f 867/1398/127 896/1414/134 897/1405/137 -f 894/1400/138 895/1397/16 868/1348/128 -f 866/1406/133 897/1405/137 898/1407/139 -f 893/1409/135 900/1718/141 901/1410/140 -f 899/1402/136 906/1419/146 900/1411/141 -f 903/1413/142 904/1416/143 897/1405/137 -f 894/1400/138 901/1410/140 902/1415/144 -f 904/1416/143 905/1418/145 898/1407/139 -f 902/1415/144 903/1413/142 896/1414/134 -f 907/1420/93 914/1423/91 906/1421/146 -f 914/1423/91 908/1719/73 900/1424/141 -f 913/1425/90 907/1420/93 864/1422/15 -f 911/1427/89 912/1432/92 904/1428/143 -f 909/1430/88 910/1433/87 902/1415/144 -f 912/1432/92 913/1425/90 905/1426/145 -f 910/1433/87 911/1427/89 903/1429/142 -f 908/1434/73 909/1430/88 901/1431/140 -f 916/1436/15 921/1444/20 923/1437/97 -f 919/1439/21 918/1452/12 926/1440/95 -f 917/1442/26 916/1436/15 928/1438/96 -f 921/1444/20 915/1450/13 929/1445/100 -f 920/1446/16 919/1439/21 925/1441/94 -f 922/1448/27 920/1446/16 924/1447/99 -f 915/1450/13 922/1720/27 908/1451/73 -f 918/1452/12 917/1442/26 927/1443/98 -f 927/1443/98 928/1721/96 931/1461/104 -f 925/1463/94 926/1722/95 933/1464/103 -f 931/1461/104 928/1721/96 923/1466/97 -f 933/1464/103 926/1722/95 927/1443/98 -f 935/1454/102 924/1453/99 925/1463/94 -f 923/1466/97 929/1457/100 930/1459/101 -f 936/1467/105 930/1459/101 914/1460/91 -f 910/1469/87 934/1465/106 933/1464/103 -f 912/1432/92 932/1462/69 931/1461/104 -f 931/1461/104 936/1467/105 907/1468/93 -f 909/1456/88 935/1454/102 934/1465/106 -f 933/1464/103 932/1462/69 912/1432/92 -f 940/1472/127 948/1485/71 947/1473/27 -f 938/1475/129 946/1486/73 945/1476/9 -f 937/1478/130 945/1723/9 952/1479/67 -f 943/1481/15 951/1487/26 950/1482/69 -f 941/1484/133 949/1488/10 948/1485/71 -f 939/1474/128 947/1473/27 946/1486/73 -f 944/1480/131 952/1479/67 951/1487/26 -f 942/1483/132 950/1482/69 949/1488/10 -f 939/1474/128 955/1497/16 956/1489/134 -f 953/1490/135 954/1501/138 938/1475/129 -f 959/1492/136 953/1503/135 937/1493/130 -f 940/1472/127 956/1489/134 957/1495/137 -f 938/1475/129 954/1501/138 955/1497/16 -f 941/1496/133 957/1495/137 958/1498/139 -f 953/1490/135 960/1724/141 961/1500/140 -f 959/1492/136 966/1509/146 960/1502/141 -f 963/1504/142 964/1506/143 957/1495/137 -f 954/1501/138 961/1500/140 962/1505/144 -f 964/1506/143 965/1508/145 958/1498/139 -f 962/1505/144 963/1504/142 956/1489/134 -f 967/1510/93 974/1513/91 966/1511/146 -f 974/1513/91 968/1725/73 960/1514/141 -f 973/1515/90 967/1510/93 943/1512/15 -f 971/1517/89 972/1520/92 964/1518/143 -f 969/1519/88 970/1521/87 962/1505/144 -f 972/1520/92 973/1515/90 965/1516/145 -f 970/1521/87 971/1517/89 963/1504/142 -f 968/1522/73 969/1519/88 961/1500/140 -f 985/1524/132 977/1535/69 978/1525/10 -f 983/1527/131 975/1537/67 976/1528/26 -f 988/1530/128 980/1540/27 981/1531/73 -f 986/1526/133 978/1525/10 979/1533/71 -f 984/1529/15 976/1528/26 977/1535/69 -f 990/1536/130 982/1726/9 975/1537/67 -f 989/1532/129 981/1531/73 982/1538/9 -f 987/1534/127 979/1533/71 980/1540/27 -f 992/1541/15 997/1549/20 999/1542/97 -f 995/1544/21 994/1557/12 1002/1545/95 -f 993/1547/26 992/1541/15 1004/1543/96 -f 997/1549/20 991/1555/13 1005/1550/100 -f 996/1551/16 995/1544/21 1001/1546/94 -f 998/1553/27 996/1551/16 1000/1552/99 -f 991/1555/13 998/1727/27 968/1556/73 -f 994/1557/12 993/1547/26 1003/1548/98 -f 1003/1548/98 1004/1571/96 1007/1566/104 -f 1010/1568/106 1001/1573/94 1002/1569/95 -f 1004/1571/96 999/1574/97 1012/1572/105 -f 1009/1570/103 1002/1569/95 1003/1548/98 -f 1011/1559/102 1000/1558/99 1001/1573/94 -f 999/1574/97 1005/1562/100 1006/1564/101 -f 1012/1572/105 1006/1564/101 974/1565/91 -f 1010/1568/106 1009/1570/103 971/1576/89 -f 972/1520/92 1008/1567/69 1007/1566/104 -f 1007/1566/104 1012/1572/105 967/1575/93 -f 969/1561/88 1011/1559/102 1010/1568/106 -f 971/1576/89 1009/1570/103 1008/1567/69 -f 988/1530/128 1015/1597/16 1016/1579/134 -f 1013/1581/135 1014/1589/138 989/1582/129 -f 1019/1584/136 1013/1594/135 990/1585/130 -f 987/1580/127 1016/1579/134 1017/1587/137 -f 1014/1589/138 1015/1597/16 988/1530/128 -f 986/1588/133 1017/1587/137 1018/1590/139 -f 1013/1581/135 1020/1728/141 1021/1592/140 -f 1019/1584/136 1026/1601/146 1020/1593/141 -f 1023/1595/142 1024/1598/143 1017/1587/137 -f 1014/1589/138 1021/1592/140 1022/1596/144 -f 1024/1598/143 1025/1600/145 1018/1590/139 -f 1022/1596/144 1023/1595/142 1016/1579/134 -f 1027/1602/93 1034/1605/91 1026/1603/146 -f 1034/1605/91 1028/1729/73 1020/1606/141 -f 1033/1607/90 1027/1602/93 984/1604/15 -f 1031/1609/89 1032/1614/92 1024/1610/143 -f 1029/1612/88 1030/1615/87 1022/1596/144 -f 1032/1614/92 1033/1607/90 1025/1608/145 -f 1030/1615/87 1031/1609/89 1023/1611/142 -f 1028/1616/73 1029/1612/88 1021/1613/140 -f 1036/1618/15 1041/1626/20 1043/1619/97 -f 1039/1621/21 1038/1634/12 1046/1622/95 -f 1037/1624/26 1036/1618/15 1048/1620/96 -f 1041/1626/20 1035/1632/13 1049/1627/100 -f 1040/1628/16 1039/1621/21 1045/1623/94 -f 1042/1630/27 1040/1628/16 1044/1629/99 -f 1035/1632/13 1042/1730/27 1028/1633/73 -f 1038/1634/12 1037/1624/26 1047/1625/98 -f 1047/1625/98 1048/1648/96 1051/1643/104 -f 1045/1645/94 1046/1650/95 1053/1646/103 -f 1048/1648/96 1043/1651/97 1056/1649/105 -f 1046/1650/95 1047/1625/98 1052/1644/69 -f 1055/1636/102 1044/1635/99 1045/1645/94 -f 1043/1651/97 1049/1639/100 1050/1641/101 -f 1027/1652/93 1056/1649/105 1050/1641/101 -f 1054/1647/106 1053/1646/103 1031/1653/89 -f 1032/1614/92 1052/1644/69 1051/1643/104 -f 1051/1643/104 1056/1649/105 1027/1652/93 -f 1029/1638/88 1055/1636/102 1054/1647/106 -f 1053/1646/103 1052/1644/69 1032/1614/92 +f 587/1019/64 588/1042/63 604/1034/74 +f 586/1036/65 602/1044/78 601/1037/75 +f 585/1039/66 601/1694/75 607/1040/76 +f 588/1042/63 589/1045/72 605/1043/77 +f 586/1036/65 587/1019/64 603/1035/13 +f 589/1045/72 590/1054/70 606/1046/79 +f 601/1037/75 602/1044/78 609/1047/80 +f 607/1040/76 601/1694/75 608/1049/81 +f 605/1043/77 612/1053/84 611/1051/83 +f 602/1044/78 603/1035/13 610/1052/85 +f 606/1046/79 613/1056/86 612/1053/84 +f 604/1034/74 611/1051/83 610/1052/85 +f 614/1057/82 622/1061/88 615/1058/87 +f 608/1060/81 616/1695/73 622/1061/88 +f 591/1059/12 615/1058/87 621/1062/89 +f 612/1064/84 620/1069/92 619/1065/90 +f 610/1052/85 618/1070/93 617/1067/91 +f 613/1063/86 621/1062/89 620/1069/92 +f 611/1066/83 619/1065/90 618/1070/93 +f 609/1068/80 617/1067/91 616/1071/73 +f 626/1073/10 625/1084/69 633/1074/70 +f 624/1076/26 623/1085/67 631/1077/68 +f 629/1079/73 628/1089/27 636/1080/64 +f 627/1082/71 626/1073/10 634/1075/72 +f 625/1084/69 624/1076/26 632/1078/12 +f 623/1085/67 630/1696/9 638/1086/66 +f 630/1087/9 629/1079/73 637/1081/65 +f 628/1089/27 627/1082/71 635/1083/63 +f 647/1090/94 645/1099/21 640/1091/12 +f 650/1093/96 642/1106/15 643/1094/20 +f 652/1092/95 640/1091/12 641/1096/26 +f 653/1098/99 639/1105/16 645/1099/21 +f 649/1095/97 643/1094/20 644/1100/13 +f 648/1101/100 644/1100/13 646/1102/27 +f 616/1104/73 646/1697/27 639/1105/16 +f 651/1097/98 641/1096/26 642/1106/15 +f 655/1115/103 652/1121/95 651/1097/98 +f 658/1117/105 657/1122/104 650/1118/96 +f 660/1120/106 647/1123/94 652/1121/95 +f 657/1122/104 656/1116/69 651/1097/98 +f 659/1109/101 658/1117/105 649/1119/97 +f 654/1112/102 653/1111/99 647/1123/94 +f 622/1114/88 654/1112/102 660/1120/106 +f 619/1125/90 657/1122/104 658/1117/105 +f 620/1069/92 621/1127/89 655/1115/103 +f 615/1124/87 660/1120/106 655/1115/103 +f 618/1126/93 658/1117/105 659/1109/101 +f 619/1125/90 620/1069/92 656/1116/69 +f 636/1080/64 635/1136/63 664/1128/74 +f 637/1130/65 662/1138/78 661/1131/75 +f 638/1133/66 661/1698/75 667/1134/76 +f 635/1136/63 634/1139/72 665/1137/77 +f 636/1080/64 663/1129/13 662/1138/78 +f 634/1139/72 633/1148/70 666/1140/79 +f 661/1131/75 662/1138/78 669/1141/80 +f 667/1134/76 661/1698/75 668/1143/81 +f 665/1137/77 672/1147/84 671/1145/83 +f 662/1138/78 663/1129/13 670/1146/85 +f 666/1140/79 673/1150/86 672/1147/84 +f 664/1128/74 671/1145/83 670/1146/85 +f 674/1151/82 682/1155/88 675/1152/87 +f 668/1154/81 676/1699/73 682/1155/88 +f 632/1153/12 675/1152/87 681/1156/89 +f 672/1158/84 680/1163/92 679/1159/90 +f 670/1146/85 678/1164/93 677/1161/91 +f 673/1157/86 681/1156/89 680/1163/92 +f 671/1160/83 679/1159/90 678/1164/93 +f 669/1162/80 677/1161/91 676/1165/73 +f 691/1167/94 689/1176/21 684/1168/12 +f 694/1170/96 686/1183/15 687/1171/20 +f 696/1169/95 684/1168/12 685/1173/26 +f 697/1175/99 683/1182/16 689/1176/21 +f 693/1172/97 687/1171/20 688/1177/13 +f 692/1178/100 688/1177/13 690/1179/27 +f 676/1181/73 690/1700/27 683/1182/16 +f 695/1174/98 685/1173/26 686/1183/15 +f 699/1192/103 696/1198/95 695/1174/98 +f 701/1194/104 694/1199/96 693/1195/97 +f 704/1197/106 691/1200/94 696/1198/95 +f 700/1193/69 695/1174/98 694/1199/96 +f 703/1186/101 702/1196/105 693/1195/97 +f 698/1189/102 697/1188/99 691/1200/94 +f 675/1201/87 682/1191/88 698/1189/102 +f 679/1202/90 701/1194/104 702/1196/105 +f 680/1163/92 681/1204/89 699/1192/103 +f 675/1201/87 704/1197/106 699/1192/103 +f 678/1203/93 702/1196/105 703/1186/101 +f 680/1163/92 700/1193/69 701/1194/104 +f 720/1205/13 714/1221/27 705/1206/27 +f 718/1208/15 719/1217/20 711/1209/20 +f 716/1211/12 717/1701/26 709/1212/26 +f 713/1214/16 715/1220/21 707/1215/21 +f 719/1217/20 720/1205/13 712/1207/13 +f 717/1218/26 718/1208/15 710/1210/15 +f 715/1220/21 716/1211/12 708/1213/12 +f 714/1221/27 713/1214/16 706/1216/16 +f 733/1222/107 734/1702/108 462/819/108 +f 734/1223/108 735/1703/109 463/821/109 +f 735/1224/109 736/1704/147 464/824/110 +f 464/824/110 736/1705/147 721/1225/111 +f 721/1226/111 722/1706/114 450/826/113 +f 722/1227/114 723/1707/115 451/828/115 +f 451/828/115 723/1708/115 724/1228/116 +f 452/814/116 724/1709/116 725/1229/117 +f 453/816/117 725/1710/117 726/1230/118 +f 454/818/119 726/1711/118 727/1231/120 +f 455/820/120 727/1712/120 728/1232/121 +f 728/1233/121 729/1713/122 457/1234/122 +f 457/825/122 729/1714/122 730/1235/123 +f 730/1236/123 731/1715/124 459/813/124 +f 731/1237/124 732/1716/126 460/815/125 +f 732/1238/126 733/1717/107 461/817/107 +f 784/1239/13 778/1255/27 769/1240/27 +f 782/1242/15 783/1251/20 775/1243/20 +f 780/1245/12 781/1718/26 773/1246/26 +f 777/1248/16 779/1254/21 771/1249/21 +f 783/1251/20 784/1239/13 776/1241/13 +f 781/1252/26 782/1242/15 774/1244/15 +f 779/1254/21 780/1245/12 772/1247/12 +f 778/1255/27 777/1248/16 770/1250/16 +f 800/1256/13 794/1272/27 785/1257/27 +f 798/1259/15 799/1268/20 791/1260/20 +f 796/1262/12 797/1719/26 789/1263/26 +f 793/1265/16 795/1271/21 787/1266/21 +f 799/1268/20 800/1256/13 792/1258/13 +f 797/1269/26 798/1259/15 790/1261/15 +f 795/1271/21 796/1262/12 788/1264/12 +f 794/1272/27 793/1265/16 786/1267/16 +f 816/1273/13 810/1289/27 801/1274/27 +f 814/1276/15 815/1285/20 807/1277/20 +f 812/1279/12 813/1720/26 805/1280/26 +f 809/1282/16 811/1288/21 803/1283/21 +f 815/1285/20 816/1273/13 808/1275/13 +f 813/1286/26 814/1276/15 806/1278/15 +f 811/1288/21 812/1279/12 804/1281/12 +f 810/1289/27 809/1282/16 802/1284/16 +f 820/1290/127 828/1303/71 827/1291/27 +f 818/1293/129 826/1304/73 825/1294/9 +f 817/1296/130 825/1721/9 832/1297/67 +f 823/1299/15 831/1305/26 830/1300/69 +f 821/1302/133 829/1306/10 828/1303/71 +f 819/1292/128 827/1291/27 826/1304/73 +f 824/1298/131 832/1297/67 831/1305/26 +f 822/1301/132 830/1300/69 829/1306/10 +f 819/1292/128 835/1324/16 836/1307/134 +f 833/1309/135 834/1317/138 818/1310/129 +f 839/1312/136 833/1322/135 817/1313/130 +f 820/1308/127 836/1307/134 837/1315/137 +f 834/1317/138 835/1324/16 819/1292/128 +f 821/1316/133 837/1315/137 838/1318/139 +f 833/1309/135 840/1722/141 841/1320/140 +f 839/1312/136 846/1329/146 840/1321/141 +f 843/1323/142 844/1325/143 837/1315/137 +f 841/1320/140 842/1326/144 835/1324/16 +f 844/1325/143 845/1328/145 838/1318/139 +f 842/1326/144 843/1323/142 836/1307/134 +f 847/1330/93 854/1333/91 846/1331/146 +f 854/1333/91 848/1723/73 840/1334/141 +f 853/1335/90 847/1330/93 823/1332/15 +f 851/1337/89 852/1342/92 844/1338/143 +f 849/1340/88 850/1343/87 842/1326/144 +f 852/1342/92 853/1335/90 845/1336/145 +f 850/1343/87 851/1337/89 843/1339/142 +f 848/1344/73 849/1340/88 841/1341/140 +f 865/1346/132 857/1357/69 858/1347/10 +f 863/1349/131 855/1359/67 856/1350/26 +f 868/1352/128 860/1362/27 861/1353/73 +f 866/1348/133 858/1347/10 859/1355/71 +f 864/1351/15 856/1350/26 857/1357/69 +f 870/1358/130 862/1724/9 855/1359/67 +f 869/1354/129 861/1353/73 862/1360/9 +f 867/1356/127 859/1355/71 860/1362/27 +f 872/1363/15 877/1371/20 879/1364/97 +f 875/1366/21 874/1379/12 882/1367/95 +f 873/1369/26 872/1363/15 884/1365/96 +f 877/1371/20 871/1377/13 885/1372/100 +f 876/1373/16 875/1366/21 881/1368/94 +f 878/1375/27 876/1373/16 880/1374/99 +f 871/1377/13 878/1725/27 848/1378/73 +f 874/1379/12 873/1369/26 883/1370/98 +f 883/1370/98 884/1393/96 887/1388/104 +f 890/1390/106 881/1395/94 882/1391/95 +f 884/1393/96 879/1396/97 892/1394/105 +f 889/1392/103 882/1391/95 883/1370/98 +f 891/1381/102 880/1380/99 881/1395/94 +f 879/1396/97 885/1384/100 886/1386/101 +f 892/1394/105 886/1386/101 854/1387/91 +f 850/1398/87 890/1390/106 889/1392/103 +f 888/1389/69 887/1388/104 853/1400/90 +f 887/1388/104 892/1394/105 847/1397/93 +f 849/1383/88 891/1381/102 890/1390/106 +f 889/1392/103 888/1389/69 852/1342/92 +f 895/1401/16 896/1418/134 867/1402/127 +f 870/1403/130 893/1413/135 894/1404/138 +f 899/1406/136 893/1416/135 870/1407/130 +f 867/1402/127 896/1418/134 897/1409/137 +f 894/1404/138 895/1401/16 868/1352/128 +f 866/1410/133 897/1409/137 898/1411/139 +f 893/1413/135 900/1726/141 901/1414/140 +f 899/1406/136 906/1423/146 900/1415/141 +f 903/1417/142 904/1420/143 897/1409/137 +f 894/1404/138 901/1414/140 902/1419/144 +f 904/1420/143 905/1422/145 898/1411/139 +f 902/1419/144 903/1417/142 896/1418/134 +f 907/1424/93 914/1427/91 906/1425/146 +f 914/1427/91 908/1727/73 900/1428/141 +f 913/1429/90 907/1424/93 864/1426/15 +f 911/1431/89 912/1436/92 904/1432/143 +f 909/1434/88 910/1437/87 902/1419/144 +f 912/1436/92 913/1429/90 905/1430/145 +f 910/1437/87 911/1431/89 903/1433/142 +f 908/1438/73 909/1434/88 901/1435/140 +f 916/1440/15 921/1448/20 923/1441/97 +f 919/1443/21 918/1456/12 926/1444/95 +f 917/1446/26 916/1440/15 928/1442/96 +f 921/1448/20 915/1454/13 929/1449/100 +f 920/1450/16 919/1443/21 925/1445/94 +f 922/1452/27 920/1450/16 924/1451/99 +f 915/1454/13 922/1728/27 908/1455/73 +f 918/1456/12 917/1446/26 927/1447/98 +f 927/1447/98 928/1729/96 931/1465/104 +f 925/1467/94 926/1730/95 933/1468/103 +f 931/1465/104 928/1729/96 923/1470/97 +f 933/1468/103 926/1730/95 927/1447/98 +f 935/1458/102 924/1457/99 925/1467/94 +f 923/1470/97 929/1461/100 930/1463/101 +f 936/1471/105 930/1463/101 914/1464/91 +f 910/1473/87 934/1469/106 933/1468/103 +f 912/1436/92 932/1466/69 931/1465/104 +f 931/1465/104 936/1471/105 907/1472/93 +f 909/1460/88 935/1458/102 934/1469/106 +f 933/1468/103 932/1466/69 912/1436/92 +f 940/1476/127 948/1489/71 947/1477/27 +f 938/1479/129 946/1490/73 945/1480/9 +f 937/1482/130 945/1731/9 952/1483/67 +f 943/1485/15 951/1491/26 950/1486/69 +f 941/1488/133 949/1492/10 948/1489/71 +f 939/1478/128 947/1477/27 946/1490/73 +f 944/1484/131 952/1483/67 951/1491/26 +f 942/1487/132 950/1486/69 949/1492/10 +f 939/1478/128 955/1503/16 956/1493/134 +f 953/1495/135 954/1507/138 938/1496/129 +f 959/1498/136 953/1509/135 937/1499/130 +f 940/1494/127 956/1493/134 957/1501/137 +f 938/1496/129 954/1507/138 955/1503/16 +f 941/1502/133 957/1501/137 958/1504/139 +f 953/1495/135 960/1732/141 961/1506/140 +f 959/1498/136 966/1515/146 960/1508/141 +f 963/1510/142 964/1512/143 957/1501/137 +f 954/1507/138 961/1506/140 962/1511/144 +f 964/1512/143 965/1514/145 958/1504/139 +f 962/1511/144 963/1510/142 956/1493/134 +f 967/1516/93 974/1519/91 966/1517/146 +f 974/1519/91 968/1733/73 960/1520/141 +f 973/1521/90 967/1516/93 943/1518/15 +f 971/1523/89 972/1528/92 964/1524/143 +f 969/1526/88 970/1529/87 962/1511/144 +f 972/1528/92 973/1521/90 965/1522/145 +f 970/1529/87 971/1523/89 963/1525/142 +f 968/1530/73 969/1526/88 961/1527/140 +f 985/1532/132 977/1543/69 978/1533/10 +f 983/1535/131 975/1545/67 976/1536/26 +f 988/1538/128 980/1548/27 981/1539/73 +f 986/1534/133 978/1533/10 979/1541/71 +f 984/1537/15 976/1536/26 977/1543/69 +f 990/1544/130 982/1734/9 975/1545/67 +f 989/1540/129 981/1539/73 982/1546/9 +f 987/1542/127 979/1541/71 980/1548/27 +f 992/1549/15 997/1557/20 999/1550/97 +f 995/1552/21 994/1565/12 1002/1553/95 +f 993/1555/26 992/1549/15 1004/1551/96 +f 997/1557/20 991/1563/13 1005/1558/100 +f 996/1559/16 995/1552/21 1001/1554/94 +f 998/1561/27 996/1559/16 1000/1560/99 +f 991/1563/13 998/1735/27 968/1564/73 +f 994/1565/12 993/1555/26 1003/1556/98 +f 1003/1556/98 1004/1579/96 1007/1574/104 +f 1010/1576/106 1001/1581/94 1002/1577/95 +f 1004/1579/96 999/1582/97 1012/1580/105 +f 1009/1578/103 1002/1577/95 1003/1556/98 +f 1011/1567/102 1000/1566/99 1001/1581/94 +f 999/1582/97 1005/1570/100 1006/1572/101 +f 1012/1580/105 1006/1572/101 974/1573/91 +f 1010/1576/106 1009/1578/103 971/1584/89 +f 972/1528/92 1008/1575/69 1007/1574/104 +f 1007/1574/104 1012/1580/105 967/1583/93 +f 969/1569/88 1011/1567/102 1010/1576/106 +f 971/1584/89 1009/1578/103 1008/1575/69 +f 988/1538/128 1015/1605/16 1016/1587/134 +f 1013/1589/135 1014/1597/138 989/1590/129 +f 1019/1592/136 1013/1602/135 990/1593/130 +f 987/1588/127 1016/1587/134 1017/1595/137 +f 1014/1597/138 1015/1605/16 988/1538/128 +f 986/1596/133 1017/1595/137 1018/1598/139 +f 1013/1589/135 1020/1736/141 1021/1600/140 +f 1019/1592/136 1026/1609/146 1020/1601/141 +f 1023/1603/142 1024/1606/143 1017/1595/137 +f 1014/1597/138 1021/1600/140 1022/1604/144 +f 1024/1606/143 1025/1608/145 1018/1598/139 +f 1022/1604/144 1023/1603/142 1016/1587/134 +f 1027/1610/93 1034/1613/91 1026/1611/146 +f 1034/1613/91 1028/1737/73 1020/1614/141 +f 1033/1615/90 1027/1610/93 984/1612/15 +f 1031/1617/89 1032/1622/92 1024/1618/143 +f 1029/1620/88 1030/1623/87 1022/1604/144 +f 1032/1622/92 1033/1615/90 1025/1616/145 +f 1030/1623/87 1031/1617/89 1023/1619/142 +f 1028/1624/73 1029/1620/88 1021/1621/140 +f 1036/1626/15 1041/1634/20 1043/1627/97 +f 1039/1629/21 1038/1642/12 1046/1630/95 +f 1037/1632/26 1036/1626/15 1048/1628/96 +f 1041/1634/20 1035/1640/13 1049/1635/100 +f 1040/1636/16 1039/1629/21 1045/1631/94 +f 1042/1638/27 1040/1636/16 1044/1637/99 +f 1035/1640/13 1042/1738/27 1028/1641/73 +f 1038/1642/12 1037/1632/26 1047/1633/98 +f 1047/1633/98 1048/1656/96 1051/1651/104 +f 1045/1653/94 1046/1658/95 1053/1654/103 +f 1048/1656/96 1043/1659/97 1056/1657/105 +f 1046/1658/95 1047/1633/98 1052/1652/69 +f 1055/1644/102 1044/1643/99 1045/1653/94 +f 1043/1659/97 1049/1647/100 1050/1649/101 +f 1027/1660/93 1056/1657/105 1050/1649/101 +f 1054/1655/106 1053/1654/103 1031/1661/89 +f 1032/1622/92 1052/1652/69 1051/1651/104 +f 1051/1651/104 1056/1657/105 1027/1660/93 +f 1029/1646/88 1055/1644/102 1054/1655/106 +f 1053/1654/103 1052/1652/69 1032/1622/92 o SuspensionBackCenter v 0.000000 4.000000 -7.750007 v -0.191342 3.961939 -7.750007 @@ -4707,6 +4715,38 @@ v 0.000000 3.125000 -9.500008 v 0.265164 3.234835 -9.500008 v 0.375000 3.500000 -9.500008 v 0.265164 3.765165 -9.500008 +v 0.000000 4.000000 -7.750007 +v -0.191342 3.961939 -7.750007 +v -0.353554 3.853553 -7.750007 +v -0.461940 3.691341 -7.750007 +v -0.500000 3.500000 -7.750008 +v -0.461940 3.308658 -7.750008 +v -0.353554 3.146446 -7.750008 +v -0.191342 3.038060 -7.750008 +v 0.000000 3.000000 -7.750008 +v 0.191341 3.038060 -7.750008 +v 0.353553 3.146446 -7.750008 +v 0.461940 3.308658 -7.750008 +v 0.500000 3.500000 -7.750008 +v 0.461940 3.691341 -7.750007 +v 0.353553 3.853553 -7.750007 +v 0.191341 3.961939 -7.750007 +v 0.000000 4.000000 -9.500008 +v -0.191342 3.961939 -9.500008 +v -0.353554 3.853553 -9.500008 +v -0.461940 3.691341 -9.500008 +v -0.500000 3.500000 -9.500008 +v -0.461940 3.308658 -9.500008 +v -0.353554 3.146446 -9.500008 +v -0.191342 3.038060 -9.500008 +v 0.000000 3.000000 -9.500008 +v 0.191341 3.038060 -9.500008 +v 0.353553 3.146446 -9.500008 +v 0.461940 3.308658 -9.500008 +v 0.500000 3.500000 -9.500008 +v 0.461940 3.691341 -9.500008 +v 0.353553 3.853553 -9.500008 +v 0.191341 3.961939 -9.500008 vt 0.851119 0.458140 vt 0.827883 0.465116 vt 0.827022 0.458140 @@ -4756,9 +4796,43 @@ vt 0.838210 0.502326 vt 0.814114 0.502326 vt 0.838210 0.493023 vt 0.838210 0.474419 +vt 0.827883 0.465116 +vt 0.851119 0.458140 +vt 0.827022 0.458140 +vt 0.821859 0.416279 +vt 0.845095 0.409302 +vt 0.820998 0.409302 +vt 0.844234 0.402326 +vt 0.820138 0.402326 +vt 0.814974 0.360465 +vt 0.838210 0.353488 +vt 0.814114 0.353488 +vt 0.822719 0.423256 +vt 0.845955 0.416279 +vt 0.815835 0.367442 +vt 0.839071 0.360465 +vt 0.823580 0.430233 +vt 0.846816 0.423256 +vt 0.816695 0.374419 +vt 0.839931 0.367442 +vt 0.824441 0.437209 +vt 0.847676 0.430233 +vt 0.817556 0.381395 +vt 0.840792 0.374419 +vt 0.825301 0.444186 +vt 0.848537 0.437209 +vt 0.842513 0.388372 +vt 0.841652 0.381395 +vt 0.826162 0.451163 +vt 0.849398 0.444186 +vt 0.819277 0.395349 +vt 0.818417 0.388372 +vt 0.850258 0.451163 +vt 0.843373 0.395349 vt 0.851979 0.465116 vt 0.841652 0.381395 vt 0.838210 0.539535 +vt 0.851979 0.465116 vn -0.3827 -0.9239 0.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 @@ -4776,54 +4850,86 @@ vn 0.9239 0.3827 0.0000 vn -0.7071 -0.7071 0.0000 vn 0.7071 0.7071 0.0000 s 1 -f 1080/1731/148 1065/1732/149 1064/1733/148 -f 1073/1734/150 1058/1735/151 1057/1736/150 -f 1088/1737/152 1057/1736/150 1072/1738/152 -f 1081/1739/149 1066/1740/153 1065/1741/149 -f 1074/1742/151 1059/1743/154 1058/1735/151 -f 1082/1744/153 1067/1745/155 1066/1740/153 -f 1075/1746/154 1060/1747/156 1059/1743/154 -f 1083/1748/155 1068/1749/157 1067/1745/155 -f 1076/1750/156 1061/1751/158 1060/1747/156 -f 1084/1752/157 1069/1753/159 1068/1749/157 -f 1077/1754/158 1062/1755/160 1061/1751/158 -f 1069/1753/159 1086/1756/161 1070/1757/161 -f 1078/1758/160 1063/1759/162 1062/1755/160 -f 1086/1756/161 1071/1760/163 1070/1757/161 -f 1079/1761/162 1064/1733/148 1063/1759/162 -f 1087/1762/163 1072/1738/152 1071/1760/163 -f 1100/1763/162 1093/1764/149 1092/1765/162 -f 1098/1766/154 1091/1767/158 1090/1768/154 -f 1103/1769/159 1096/1770/163 1095/1771/159 -f 1101/1772/149 1094/1773/155 1093/1774/149 -f 1099/1775/158 1092/1765/162 1091/1767/158 -f 1097/1776/150 1090/1768/154 1089/1777/150 -f 1104/1778/163 1089/1777/150 1096/1770/163 -f 1102/1779/155 1095/1771/159 1094/1773/155 -f 1080/1731/148 1081/1780/149 1065/1732/149 -f 1073/1734/150 1074/1742/151 1058/1735/151 -f 1088/1737/152 1073/1734/150 1057/1736/150 -f 1081/1739/149 1082/1744/153 1066/1740/153 -f 1074/1742/151 1075/1746/154 1059/1743/154 -f 1082/1744/153 1083/1748/155 1067/1745/155 -f 1075/1746/154 1076/1750/156 1060/1747/156 -f 1083/1748/155 1084/1752/157 1068/1749/157 -f 1076/1750/156 1077/1754/158 1061/1751/158 -f 1084/1752/157 1085/1781/159 1069/1753/159 -f 1077/1754/158 1078/1758/160 1062/1755/160 -f 1069/1753/159 1085/1781/159 1086/1756/161 -f 1078/1758/160 1079/1761/162 1063/1759/162 -f 1086/1756/161 1087/1762/163 1071/1760/163 -f 1079/1761/162 1080/1731/148 1064/1733/148 -f 1087/1762/163 1088/1737/152 1072/1738/152 -f 1100/1763/162 1101/1782/149 1093/1764/149 -f 1098/1766/154 1099/1775/158 1091/1767/158 -f 1103/1769/159 1104/1778/163 1096/1770/163 -f 1101/1772/149 1102/1779/155 1094/1773/155 -f 1099/1775/158 1100/1763/162 1092/1765/162 -f 1097/1776/150 1098/1766/154 1090/1768/154 -f 1104/1778/163 1097/1776/150 1089/1777/150 -f 1102/1779/155 1103/1769/159 1095/1771/159 +f 1080/1739/148 1065/1740/149 1064/1741/148 +f 1073/1742/150 1058/1743/151 1057/1744/150 +f 1088/1745/152 1057/1744/150 1072/1746/152 +f 1081/1747/149 1066/1748/153 1065/1749/149 +f 1074/1750/151 1059/1751/154 1058/1743/151 +f 1082/1752/153 1067/1753/155 1066/1748/153 +f 1075/1754/154 1060/1755/156 1059/1751/154 +f 1083/1756/155 1068/1757/157 1067/1753/155 +f 1076/1758/156 1061/1759/158 1060/1755/156 +f 1084/1760/157 1069/1761/159 1068/1757/157 +f 1077/1762/158 1062/1763/160 1061/1759/158 +f 1069/1761/159 1086/1764/161 1070/1765/161 +f 1078/1766/160 1063/1767/162 1062/1763/160 +f 1086/1764/161 1071/1768/163 1070/1765/161 +f 1079/1769/162 1064/1741/148 1063/1767/162 +f 1087/1770/163 1072/1746/152 1071/1768/163 +f 1100/1771/162 1093/1772/149 1092/1773/162 +f 1098/1774/154 1091/1775/158 1090/1776/154 +f 1103/1777/159 1096/1778/163 1095/1779/159 +f 1101/1780/149 1094/1781/155 1093/1782/149 +f 1099/1783/158 1092/1773/162 1091/1775/158 +f 1097/1784/150 1090/1776/154 1089/1785/150 +f 1104/1786/163 1089/1785/150 1096/1778/163 +f 1102/1787/155 1095/1779/159 1094/1781/155 +f 1113/1788/150 1128/1789/152 1112/1790/152 +f 1106/1791/153 1121/1792/149 1105/1793/149 +f 1105/1793/149 1136/1794/148 1120/1795/148 +f 1114/1796/151 1129/1797/150 1113/1798/150 +f 1107/1799/155 1122/1800/153 1106/1791/153 +f 1115/1801/154 1130/1802/151 1114/1796/151 +f 1108/1803/157 1123/1804/155 1107/1799/155 +f 1116/1805/156 1131/1806/154 1115/1801/154 +f 1109/1807/159 1124/1808/157 1108/1803/157 +f 1117/1809/158 1132/1810/156 1116/1805/156 +f 1110/1811/161 1125/1812/159 1109/1807/159 +f 1117/1809/158 1134/1813/160 1133/1814/158 +f 1111/1815/163 1126/1816/161 1110/1811/161 +f 1119/1817/162 1134/1813/160 1118/1818/160 +f 1112/1790/152 1127/1819/163 1111/1815/163 +f 1120/1795/148 1135/1820/162 1119/1817/162 +f 1080/1739/148 1081/1821/149 1065/1740/149 +f 1073/1742/150 1074/1750/151 1058/1743/151 +f 1088/1745/152 1073/1742/150 1057/1744/150 +f 1081/1747/149 1082/1752/153 1066/1748/153 +f 1074/1750/151 1075/1754/154 1059/1751/154 +f 1082/1752/153 1083/1756/155 1067/1753/155 +f 1075/1754/154 1076/1758/156 1060/1755/156 +f 1083/1756/155 1084/1760/157 1068/1757/157 +f 1076/1758/156 1077/1762/158 1061/1759/158 +f 1084/1760/157 1085/1822/159 1069/1761/159 +f 1077/1762/158 1078/1766/160 1062/1763/160 +f 1069/1761/159 1085/1822/159 1086/1764/161 +f 1078/1766/160 1079/1769/162 1063/1767/162 +f 1086/1764/161 1087/1770/163 1071/1768/163 +f 1079/1769/162 1080/1739/148 1064/1741/148 +f 1087/1770/163 1088/1745/152 1072/1746/152 +f 1100/1771/162 1101/1823/149 1093/1772/149 +f 1098/1774/154 1099/1783/158 1091/1775/158 +f 1103/1777/159 1104/1786/163 1096/1778/163 +f 1101/1780/149 1102/1787/155 1094/1781/155 +f 1099/1783/158 1100/1771/162 1092/1773/162 +f 1097/1784/150 1098/1774/154 1090/1776/154 +f 1104/1786/163 1097/1784/150 1089/1785/150 +f 1102/1787/155 1103/1777/159 1095/1779/159 +f 1113/1788/150 1129/1824/150 1128/1789/152 +f 1106/1791/153 1122/1800/153 1121/1792/149 +f 1105/1793/149 1121/1792/149 1136/1794/148 +f 1114/1796/151 1130/1802/151 1129/1797/150 +f 1107/1799/155 1123/1804/155 1122/1800/153 +f 1115/1801/154 1131/1806/154 1130/1802/151 +f 1108/1803/157 1124/1808/157 1123/1804/155 +f 1116/1805/156 1132/1810/156 1131/1806/154 +f 1109/1807/159 1125/1812/159 1124/1808/157 +f 1117/1809/158 1133/1814/158 1132/1810/156 +f 1110/1811/161 1126/1816/161 1125/1812/159 +f 1117/1809/158 1118/1818/160 1134/1813/160 +f 1111/1815/163 1127/1819/163 1126/1816/161 +f 1119/1817/162 1135/1820/162 1134/1813/160 +f 1112/1790/152 1128/1789/152 1127/1819/163 +f 1120/1795/148 1136/1794/148 1135/1820/162 o SuspensionBackOuter v 1.750000 5.499998 -7.750008 v 1.573223 5.426775 -7.750008 @@ -4953,6 +5059,70 @@ v 1.750000 1.374998 -9.000008 v 2.015165 1.484833 -9.000008 v 2.125000 1.749998 -9.000008 v 2.015165 2.015163 -9.000008 +v 1.750000 5.624999 -7.750007 +v 1.484835 5.515163 -7.750007 +v 1.375000 5.249998 -7.750007 +v 1.484835 4.984833 -7.750007 +v 1.750000 4.874998 -7.750007 +v 2.015165 4.984833 -7.750007 +v 2.125000 5.249998 -7.750007 +v 2.015165 5.515163 -7.750007 +v 1.750000 5.624999 -9.000008 +v 1.484835 5.515163 -9.000008 +v 1.375000 5.249998 -9.000008 +v 1.484835 4.984833 -9.000008 +v 1.750000 4.874998 -9.000008 +v 2.015165 4.984833 -9.000008 +v 2.125000 5.249998 -9.000008 +v 2.015165 5.515163 -9.000008 +v -1.750000 5.624999 -7.750007 +v -2.015165 5.515163 -7.750007 +v -2.125000 5.249998 -7.750007 +v -2.015165 4.984833 -7.750007 +v -1.750000 4.874998 -7.750007 +v -1.484835 4.984833 -7.750007 +v -1.375000 5.249998 -7.750007 +v -1.484835 5.515163 -7.750007 +v -1.750000 5.624999 -9.000008 +v -2.015165 5.515163 -9.000008 +v -2.125000 5.249998 -9.000008 +v -2.015165 4.984833 -9.000008 +v -1.750000 4.874998 -9.000008 +v -1.484835 4.984833 -9.000008 +v -1.375000 5.249998 -9.000008 +v -1.484835 5.515163 -9.000008 +v -1.750000 2.124999 -7.750007 +v -2.015165 2.015163 -7.750007 +v -2.125000 1.749998 -7.750007 +v -2.015165 1.484833 -7.750007 +v -1.750000 1.374998 -7.750007 +v -1.484835 1.484833 -7.750007 +v -1.375000 1.749998 -7.750007 +v -1.484835 2.015163 -7.750007 +v -1.750000 2.124999 -9.000008 +v -2.015165 2.015163 -9.000008 +v -2.125000 1.749998 -9.000008 +v -2.015165 1.484833 -9.000008 +v -1.750000 1.374998 -9.000008 +v -1.484835 1.484833 -9.000008 +v -1.375000 1.749998 -9.000008 +v -1.484835 2.015163 -9.000008 +v 1.750000 2.124999 -7.750007 +v 1.484835 2.015163 -7.750007 +v 1.375000 1.749998 -7.750007 +v 1.484835 1.484833 -7.750007 +v 1.750000 1.374998 -7.750007 +v 2.015165 1.484833 -7.750007 +v 2.125000 1.749998 -7.750007 +v 2.015165 2.015163 -7.750007 +v 1.750000 2.124999 -9.000008 +v 1.484835 2.015163 -9.000008 +v 1.375000 1.749998 -9.000008 +v 1.484835 1.484833 -9.000008 +v 1.750000 1.374998 -9.000008 +v 2.015165 1.484833 -9.000008 +v 2.125000 1.749998 -9.000008 +v 2.015165 2.015163 -9.000008 vt 0.793460 0.825581 vt 0.776248 0.832558 vt 0.776248 0.825581 @@ -5089,6 +5259,74 @@ vt 0.799484 0.781395 vt 0.783133 0.790698 vt 0.797762 0.762791 vt 0.795181 0.734884 +vt 0.777108 0.725581 +vt 0.793460 0.716279 +vt 0.776248 0.716279 +vt 0.782272 0.781395 +vt 0.798623 0.772093 +vt 0.781411 0.772093 +vt 0.780551 0.762791 +vt 0.796902 0.753488 +vt 0.779690 0.753488 +vt 0.796041 0.744186 +vt 0.778830 0.744186 +vt 0.777969 0.734884 +vt 0.794320 0.725581 +vt 0.783133 0.790698 +vt 0.799484 0.781395 +vt 0.797762 0.762791 +vt 0.795181 0.734884 +vt 0.777108 0.725581 +vt 0.793460 0.716279 +vt 0.776248 0.716279 +vt 0.782272 0.781395 +vt 0.798623 0.772093 +vt 0.781411 0.772093 +vt 0.780551 0.762791 +vt 0.796902 0.753488 +vt 0.779690 0.753488 +vt 0.796041 0.744186 +vt 0.778830 0.744186 +vt 0.777969 0.734884 +vt 0.794320 0.725581 +vt 0.783133 0.790698 +vt 0.799484 0.781395 +vt 0.797762 0.762791 +vt 0.795181 0.734884 +vt 0.777108 0.725581 +vt 0.793460 0.716279 +vt 0.776248 0.716279 +vt 0.782272 0.781395 +vt 0.798623 0.772093 +vt 0.781411 0.772093 +vt 0.780551 0.762791 +vt 0.796902 0.753488 +vt 0.779690 0.753488 +vt 0.796041 0.744186 +vt 0.778830 0.744186 +vt 0.777969 0.734884 +vt 0.794320 0.725581 +vt 0.783133 0.790698 +vt 0.799484 0.781395 +vt 0.797762 0.762791 +vt 0.795181 0.734884 +vt 0.777108 0.725581 +vt 0.793460 0.716279 +vt 0.776248 0.716279 +vt 0.782272 0.781395 +vt 0.798623 0.772093 +vt 0.781411 0.772093 +vt 0.780551 0.762791 +vt 0.796902 0.753488 +vt 0.779690 0.753488 +vt 0.796041 0.744186 +vt 0.778830 0.744186 +vt 0.777969 0.734884 +vt 0.794320 0.725581 +vt 0.783133 0.790698 +vt 0.799484 0.781395 +vt 0.797762 0.762791 +vt 0.795181 0.734884 vt 0.793460 0.846512 vt 0.800344 0.790698 vt 0.793460 0.846512 @@ -5097,6 +5335,10 @@ vt 0.793460 0.846512 vt 0.800344 0.790698 vt 0.793460 0.846512 vt 0.800344 0.790698 +vt 0.800344 0.790698 +vt 0.800344 0.790698 +vt 0.800344 0.790698 +vt 0.800344 0.790698 vn -0.7071 0.7071 0.0000 vn -1.0000 0.0000 0.0000 vn 1.0000 0.0000 0.0000 @@ -5106,134 +5348,198 @@ vn 0.7071 -0.7071 0.0000 vn -0.7071 -0.7071 0.0000 vn 0.0000 1.0000 0.0000 s 1 -f 1114/1783/164 1107/1784/165 1106/1785/164 -f 1119/1786/166 1112/1787/167 1111/1788/166 -f 1117/1789/168 1110/1790/169 1109/1791/168 -f 1115/1792/165 1108/1793/170 1107/1784/165 -f 1113/1794/171 1106/1785/164 1105/1795/171 -f 1120/1796/167 1105/1795/171 1112/1787/167 -f 1118/1797/169 1111/1788/166 1110/1790/169 -f 1116/1798/170 1109/1799/168 1108/1793/170 -f 1133/1800/168 1126/1801/169 1125/1802/168 -f 1131/1803/165 1124/1804/170 1123/1805/165 -f 1129/1806/171 1122/1807/164 1121/1808/171 -f 1136/1809/167 1121/1808/171 1128/1810/167 -f 1134/1811/169 1127/1812/166 1126/1801/169 -f 1132/1813/170 1125/1814/168 1124/1804/170 -f 1130/1815/164 1123/1805/165 1122/1807/164 -f 1135/1816/166 1128/1810/167 1127/1812/166 -f 1146/1817/164 1139/1818/165 1138/1819/164 -f 1151/1820/166 1144/1821/167 1143/1822/166 -f 1149/1823/168 1142/1824/169 1141/1825/168 -f 1147/1826/165 1140/1827/170 1139/1818/165 -f 1145/1828/171 1138/1819/164 1137/1829/171 -f 1152/1830/167 1137/1829/171 1144/1821/167 -f 1150/1831/169 1143/1822/166 1142/1824/169 -f 1148/1832/170 1141/1833/168 1140/1827/170 -f 1165/1834/168 1158/1835/169 1157/1836/168 -f 1163/1837/165 1156/1838/170 1155/1839/165 -f 1161/1840/171 1154/1841/164 1153/1842/171 -f 1168/1843/167 1153/1842/171 1160/1844/167 -f 1166/1845/169 1159/1846/166 1158/1835/169 -f 1164/1847/170 1157/1848/168 1156/1838/170 -f 1162/1849/164 1155/1839/165 1154/1841/164 -f 1167/1850/166 1160/1844/167 1159/1846/166 -f 1178/1851/164 1171/1852/165 1170/1853/164 -f 1183/1854/166 1176/1855/167 1175/1856/166 -f 1181/1857/168 1174/1858/169 1173/1859/168 -f 1179/1860/165 1172/1861/170 1171/1852/165 -f 1177/1862/171 1170/1853/164 1169/1863/171 -f 1184/1864/167 1169/1863/171 1176/1855/167 -f 1182/1865/169 1175/1856/166 1174/1858/169 -f 1180/1866/170 1173/1867/168 1172/1861/170 -f 1197/1868/168 1190/1869/169 1189/1870/168 -f 1195/1871/165 1188/1872/170 1187/1873/165 -f 1193/1874/171 1186/1875/164 1185/1876/171 -f 1200/1877/167 1185/1876/171 1192/1878/167 -f 1198/1879/169 1191/1880/166 1190/1869/169 -f 1196/1881/170 1189/1882/168 1188/1872/170 -f 1194/1883/164 1187/1873/165 1186/1875/164 -f 1199/1884/166 1192/1878/167 1191/1880/166 -f 1210/1885/164 1203/1886/165 1202/1887/164 -f 1215/1888/166 1208/1889/167 1207/1890/166 -f 1213/1891/168 1206/1892/169 1205/1893/168 -f 1211/1894/165 1204/1895/170 1203/1886/165 -f 1209/1896/171 1202/1887/164 1201/1897/171 -f 1216/1898/167 1201/1897/171 1208/1889/167 -f 1214/1899/169 1207/1890/166 1206/1892/169 -f 1212/1900/170 1205/1901/168 1204/1895/170 -f 1229/1902/168 1222/1903/169 1221/1904/168 -f 1227/1905/165 1220/1906/170 1219/1907/165 -f 1225/1908/171 1218/1909/164 1217/1910/171 -f 1232/1911/167 1217/1910/171 1224/1912/167 -f 1230/1913/169 1223/1914/166 1222/1903/169 -f 1228/1915/170 1221/1916/168 1220/1906/170 -f 1226/1917/164 1219/1907/165 1218/1909/164 -f 1231/1918/166 1224/1912/167 1223/1914/166 -f 1114/1783/164 1115/1792/165 1107/1784/165 -f 1119/1786/166 1120/1796/167 1112/1787/167 -f 1117/1789/168 1118/1797/169 1110/1790/169 -f 1115/1792/165 1116/1798/170 1108/1793/170 -f 1113/1794/171 1114/1783/164 1106/1785/164 -f 1120/1796/167 1113/1794/171 1105/1795/171 -f 1118/1797/169 1119/1786/166 1111/1788/166 -f 1116/1798/170 1117/1919/168 1109/1799/168 -f 1133/1800/168 1134/1811/169 1126/1801/169 -f 1131/1803/165 1132/1813/170 1124/1804/170 -f 1129/1806/171 1130/1815/164 1122/1807/164 -f 1136/1809/167 1129/1806/171 1121/1808/171 -f 1134/1811/169 1135/1816/166 1127/1812/166 -f 1132/1813/170 1133/1920/168 1125/1814/168 -f 1130/1815/164 1131/1803/165 1123/1805/165 -f 1135/1816/166 1136/1809/167 1128/1810/167 -f 1146/1817/164 1147/1826/165 1139/1818/165 -f 1151/1820/166 1152/1830/167 1144/1821/167 -f 1149/1823/168 1150/1831/169 1142/1824/169 -f 1147/1826/165 1148/1832/170 1140/1827/170 -f 1145/1828/171 1146/1817/164 1138/1819/164 -f 1152/1830/167 1145/1828/171 1137/1829/171 -f 1150/1831/169 1151/1820/166 1143/1822/166 -f 1148/1832/170 1149/1921/168 1141/1833/168 -f 1165/1834/168 1166/1845/169 1158/1835/169 -f 1163/1837/165 1164/1847/170 1156/1838/170 -f 1161/1840/171 1162/1849/164 1154/1841/164 -f 1168/1843/167 1161/1840/171 1153/1842/171 -f 1166/1845/169 1167/1850/166 1159/1846/166 -f 1164/1847/170 1165/1922/168 1157/1848/168 -f 1162/1849/164 1163/1837/165 1155/1839/165 -f 1167/1850/166 1168/1843/167 1160/1844/167 -f 1178/1851/164 1179/1860/165 1171/1852/165 -f 1183/1854/166 1184/1864/167 1176/1855/167 -f 1181/1857/168 1182/1865/169 1174/1858/169 -f 1179/1860/165 1180/1866/170 1172/1861/170 -f 1177/1862/171 1178/1851/164 1170/1853/164 -f 1184/1864/167 1177/1862/171 1169/1863/171 -f 1182/1865/169 1183/1854/166 1175/1856/166 -f 1180/1866/170 1181/1923/168 1173/1867/168 -f 1197/1868/168 1198/1879/169 1190/1869/169 -f 1195/1871/165 1196/1881/170 1188/1872/170 -f 1193/1874/171 1194/1883/164 1186/1875/164 -f 1200/1877/167 1193/1874/171 1185/1876/171 -f 1198/1879/169 1199/1884/166 1191/1880/166 -f 1196/1881/170 1197/1924/168 1189/1882/168 -f 1194/1883/164 1195/1871/165 1187/1873/165 -f 1199/1884/166 1200/1877/167 1192/1878/167 -f 1210/1885/164 1211/1894/165 1203/1886/165 -f 1215/1888/166 1216/1898/167 1208/1889/167 -f 1213/1891/168 1214/1899/169 1206/1892/169 -f 1211/1894/165 1212/1900/170 1204/1895/170 -f 1209/1896/171 1210/1885/164 1202/1887/164 -f 1216/1898/167 1209/1896/171 1201/1897/171 -f 1214/1899/169 1215/1888/166 1207/1890/166 -f 1212/1900/170 1213/1925/168 1205/1901/168 -f 1229/1902/168 1230/1913/169 1222/1903/169 -f 1227/1905/165 1228/1915/170 1220/1906/170 -f 1225/1908/171 1226/1917/164 1218/1909/164 -f 1232/1911/167 1225/1908/171 1217/1910/171 -f 1230/1913/169 1231/1918/166 1223/1914/166 -f 1228/1915/170 1229/1926/168 1221/1916/168 -f 1226/1917/164 1227/1905/165 1219/1907/165 -f 1231/1918/166 1232/1911/167 1224/1912/167 +f 1146/1825/164 1139/1826/165 1138/1827/164 +f 1151/1828/166 1144/1829/167 1143/1830/166 +f 1149/1831/168 1142/1832/169 1141/1833/168 +f 1147/1834/165 1140/1835/170 1139/1826/165 +f 1145/1836/171 1138/1827/164 1137/1837/171 +f 1152/1838/167 1137/1837/171 1144/1829/167 +f 1150/1839/169 1143/1830/166 1142/1832/169 +f 1148/1840/170 1141/1841/168 1140/1835/170 +f 1165/1842/168 1158/1843/169 1157/1844/168 +f 1163/1845/165 1156/1846/170 1155/1847/165 +f 1161/1848/171 1154/1849/164 1153/1850/171 +f 1168/1851/167 1153/1850/171 1160/1852/167 +f 1166/1853/169 1159/1854/166 1158/1843/169 +f 1164/1855/170 1157/1856/168 1156/1846/170 +f 1162/1857/164 1155/1847/165 1154/1849/164 +f 1167/1858/166 1160/1852/167 1159/1854/166 +f 1178/1859/164 1171/1860/165 1170/1861/164 +f 1183/1862/166 1176/1863/167 1175/1864/166 +f 1181/1865/168 1174/1866/169 1173/1867/168 +f 1179/1868/165 1172/1869/170 1171/1860/165 +f 1177/1870/171 1170/1861/164 1169/1871/171 +f 1184/1872/167 1169/1871/171 1176/1863/167 +f 1182/1873/169 1175/1864/166 1174/1866/169 +f 1180/1874/170 1173/1875/168 1172/1869/170 +f 1197/1876/168 1190/1877/169 1189/1878/168 +f 1195/1879/165 1188/1880/170 1187/1881/165 +f 1193/1882/171 1186/1883/164 1185/1884/171 +f 1200/1885/167 1185/1884/171 1192/1886/167 +f 1198/1887/169 1191/1888/166 1190/1877/169 +f 1196/1889/170 1189/1890/168 1188/1880/170 +f 1194/1891/164 1187/1881/165 1186/1883/164 +f 1199/1892/166 1192/1886/167 1191/1888/166 +f 1210/1893/164 1203/1894/165 1202/1895/164 +f 1215/1896/166 1208/1897/167 1207/1898/166 +f 1213/1899/168 1206/1900/169 1205/1901/168 +f 1211/1902/165 1204/1903/170 1203/1894/165 +f 1209/1904/171 1202/1895/164 1201/1905/171 +f 1216/1906/167 1201/1905/171 1208/1897/167 +f 1214/1907/169 1207/1898/166 1206/1900/169 +f 1212/1908/170 1205/1909/168 1204/1903/170 +f 1229/1910/168 1222/1911/169 1221/1912/168 +f 1227/1913/165 1220/1914/170 1219/1915/165 +f 1225/1916/171 1218/1917/164 1217/1918/171 +f 1232/1919/167 1217/1918/171 1224/1920/167 +f 1230/1921/169 1223/1922/166 1222/1911/169 +f 1228/1923/170 1221/1924/168 1220/1914/170 +f 1226/1925/164 1219/1915/165 1218/1917/164 +f 1231/1926/166 1224/1920/167 1223/1922/166 +f 1242/1927/164 1235/1928/165 1234/1929/164 +f 1247/1930/166 1240/1931/167 1239/1932/166 +f 1245/1933/168 1238/1934/169 1237/1935/168 +f 1243/1936/165 1236/1937/170 1235/1928/165 +f 1241/1938/171 1234/1929/164 1233/1939/171 +f 1248/1940/167 1233/1939/171 1240/1931/167 +f 1246/1941/169 1239/1932/166 1238/1934/169 +f 1244/1942/170 1237/1943/168 1236/1937/170 +f 1261/1944/168 1254/1945/169 1253/1946/168 +f 1259/1947/165 1252/1948/170 1251/1949/165 +f 1257/1950/171 1250/1951/164 1249/1952/171 +f 1264/1953/167 1249/1952/171 1256/1954/167 +f 1262/1955/169 1255/1956/166 1254/1945/169 +f 1260/1957/170 1253/1958/168 1252/1948/170 +f 1258/1959/164 1251/1949/165 1250/1951/164 +f 1263/1960/166 1256/1954/167 1255/1956/166 +f 1270/1961/164 1277/1962/171 1269/1963/171 +f 1268/1964/167 1275/1965/166 1267/1966/166 +f 1266/1967/169 1273/1968/168 1265/1969/168 +f 1265/1969/168 1280/1970/170 1272/1971/170 +f 1271/1972/165 1278/1973/164 1270/1961/164 +f 1269/1974/171 1276/1975/167 1268/1964/167 +f 1267/1966/166 1274/1976/169 1266/1967/169 +f 1272/1971/170 1279/1977/165 1271/1972/165 +f 1286/1978/164 1293/1979/171 1285/1980/171 +f 1284/1981/167 1291/1982/166 1283/1983/166 +f 1282/1984/169 1289/1985/168 1281/1986/168 +f 1281/1986/168 1296/1987/170 1288/1988/170 +f 1287/1989/165 1294/1990/164 1286/1978/164 +f 1285/1991/171 1292/1992/167 1284/1981/167 +f 1283/1983/166 1290/1993/169 1282/1984/169 +f 1288/1988/170 1295/1994/165 1287/1989/165 +f 1302/1995/164 1309/1996/171 1301/1997/171 +f 1300/1998/167 1307/1999/166 1299/2000/166 +f 1298/2001/169 1305/2002/168 1297/2003/168 +f 1297/2003/168 1312/2004/170 1304/2005/170 +f 1303/2006/165 1310/2007/164 1302/1995/164 +f 1301/2008/171 1308/2009/167 1300/1998/167 +f 1299/2000/166 1306/2010/169 1298/2001/169 +f 1304/2005/170 1311/2011/165 1303/2006/165 +f 1318/2012/164 1325/2013/171 1317/2014/171 +f 1316/2015/167 1323/2016/166 1315/2017/166 +f 1314/2018/169 1321/2019/168 1313/2020/168 +f 1313/2020/168 1328/2021/170 1320/2022/170 +f 1319/2023/165 1326/2024/164 1318/2012/164 +f 1317/2025/171 1324/2026/167 1316/2015/167 +f 1315/2017/166 1322/2027/169 1314/2018/169 +f 1320/2022/170 1327/2028/165 1319/2023/165 +f 1146/1825/164 1147/1834/165 1139/1826/165 +f 1151/1828/166 1152/1838/167 1144/1829/167 +f 1149/1831/168 1150/1839/169 1142/1832/169 +f 1147/1834/165 1148/1840/170 1140/1835/170 +f 1145/1836/171 1146/1825/164 1138/1827/164 +f 1152/1838/167 1145/1836/171 1137/1837/171 +f 1150/1839/169 1151/1828/166 1143/1830/166 +f 1148/1840/170 1149/2029/168 1141/1841/168 +f 1165/1842/168 1166/1853/169 1158/1843/169 +f 1163/1845/165 1164/1855/170 1156/1846/170 +f 1161/1848/171 1162/1857/164 1154/1849/164 +f 1168/1851/167 1161/1848/171 1153/1850/171 +f 1166/1853/169 1167/1858/166 1159/1854/166 +f 1164/1855/170 1165/2030/168 1157/1856/168 +f 1162/1857/164 1163/1845/165 1155/1847/165 +f 1167/1858/166 1168/1851/167 1160/1852/167 +f 1178/1859/164 1179/1868/165 1171/1860/165 +f 1183/1862/166 1184/1872/167 1176/1863/167 +f 1181/1865/168 1182/1873/169 1174/1866/169 +f 1179/1868/165 1180/1874/170 1172/1869/170 +f 1177/1870/171 1178/1859/164 1170/1861/164 +f 1184/1872/167 1177/1870/171 1169/1871/171 +f 1182/1873/169 1183/1862/166 1175/1864/166 +f 1180/1874/170 1181/2031/168 1173/1875/168 +f 1197/1876/168 1198/1887/169 1190/1877/169 +f 1195/1879/165 1196/1889/170 1188/1880/170 +f 1193/1882/171 1194/1891/164 1186/1883/164 +f 1200/1885/167 1193/1882/171 1185/1884/171 +f 1198/1887/169 1199/1892/166 1191/1888/166 +f 1196/1889/170 1197/2032/168 1189/1890/168 +f 1194/1891/164 1195/1879/165 1187/1881/165 +f 1199/1892/166 1200/1885/167 1192/1886/167 +f 1210/1893/164 1211/1902/165 1203/1894/165 +f 1215/1896/166 1216/1906/167 1208/1897/167 +f 1213/1899/168 1214/1907/169 1206/1900/169 +f 1211/1902/165 1212/1908/170 1204/1903/170 +f 1209/1904/171 1210/1893/164 1202/1895/164 +f 1216/1906/167 1209/1904/171 1201/1905/171 +f 1214/1907/169 1215/1896/166 1207/1898/166 +f 1212/1908/170 1213/2033/168 1205/1909/168 +f 1229/1910/168 1230/1921/169 1222/1911/169 +f 1227/1913/165 1228/1923/170 1220/1914/170 +f 1225/1916/171 1226/1925/164 1218/1917/164 +f 1232/1919/167 1225/1916/171 1217/1918/171 +f 1230/1921/169 1231/1926/166 1223/1922/166 +f 1228/1923/170 1229/2034/168 1221/1924/168 +f 1226/1925/164 1227/1913/165 1219/1915/165 +f 1231/1926/166 1232/1919/167 1224/1920/167 +f 1242/1927/164 1243/1936/165 1235/1928/165 +f 1247/1930/166 1248/1940/167 1240/1931/167 +f 1245/1933/168 1246/1941/169 1238/1934/169 +f 1243/1936/165 1244/1942/170 1236/1937/170 +f 1241/1938/171 1242/1927/164 1234/1929/164 +f 1248/1940/167 1241/1938/171 1233/1939/171 +f 1246/1941/169 1247/1930/166 1239/1932/166 +f 1244/1942/170 1245/2035/168 1237/1943/168 +f 1261/1944/168 1262/1955/169 1254/1945/169 +f 1259/1947/165 1260/1957/170 1252/1948/170 +f 1257/1950/171 1258/1959/164 1250/1951/164 +f 1264/1953/167 1257/1950/171 1249/1952/171 +f 1262/1955/169 1263/1960/166 1255/1956/166 +f 1260/1957/170 1261/2036/168 1253/1958/168 +f 1258/1959/164 1259/1947/165 1251/1949/165 +f 1263/1960/166 1264/1953/167 1256/1954/167 +f 1270/1961/164 1278/1973/164 1277/1962/171 +f 1268/1964/167 1276/1975/167 1275/1965/166 +f 1266/1967/169 1274/1976/169 1273/1968/168 +f 1265/1969/168 1273/1968/168 1280/1970/170 +f 1271/1972/165 1279/1977/165 1278/1973/164 +f 1269/1974/171 1277/2037/171 1276/1975/167 +f 1267/1966/166 1275/1965/166 1274/1976/169 +f 1272/1971/170 1280/1970/170 1279/1977/165 +f 1286/1978/164 1294/1990/164 1293/1979/171 +f 1284/1981/167 1292/1992/167 1291/1982/166 +f 1282/1984/169 1290/1993/169 1289/1985/168 +f 1281/1986/168 1289/1985/168 1296/1987/170 +f 1287/1989/165 1295/1994/165 1294/1990/164 +f 1285/1991/171 1293/2038/171 1292/1992/167 +f 1283/1983/166 1291/1982/166 1290/1993/169 +f 1288/1988/170 1296/1987/170 1295/1994/165 +f 1302/1995/164 1310/2007/164 1309/1996/171 +f 1300/1998/167 1308/2009/167 1307/1999/166 +f 1298/2001/169 1306/2010/169 1305/2002/168 +f 1297/2003/168 1305/2002/168 1312/2004/170 +f 1303/2006/165 1311/2011/165 1310/2007/164 +f 1301/2008/171 1309/2039/171 1308/2009/167 +f 1299/2000/166 1307/1999/166 1306/2010/169 +f 1304/2005/170 1312/2004/170 1311/2011/165 +f 1318/2012/164 1326/2024/164 1325/2013/171 +f 1316/2015/167 1324/2026/167 1323/2016/166 +f 1314/2018/169 1322/2027/169 1321/2019/168 +f 1313/2020/168 1321/2019/168 1328/2021/170 +f 1319/2023/165 1327/2028/165 1326/2024/164 +f 1317/2025/171 1325/2040/171 1324/2026/167 +f 1315/2017/166 1323/2016/166 1322/2027/169 +f 1320/2022/170 1328/2021/170 1327/2028/165 o SuspensionLeft v -1.937497 6.687504 6.437500 v -1.937497 6.820086 6.382583 @@ -5363,6 +5669,70 @@ v -2.624997 0.312492 6.437500 v -2.624997 0.445075 6.382583 v -2.624997 0.499992 6.250000 v -2.624997 0.445075 6.117417 +v -1.937497 6.687504 6.437500 +v -1.937497 6.820086 6.382583 +v -1.937497 6.875004 6.250000 +v -1.937497 6.820086 6.117417 +v -1.937497 6.687504 6.062500 +v -1.937497 6.554921 6.117417 +v -1.937497 6.500004 6.250000 +v -1.937497 6.554921 6.382583 +v -2.624997 6.687504 6.437500 +v -2.624997 6.820086 6.382583 +v -2.624997 6.875004 6.250000 +v -2.624997 6.820086 6.117417 +v -2.624997 6.687504 6.062500 +v -2.624997 6.554921 6.117417 +v -2.624997 6.500004 6.250000 +v -2.624997 6.554921 6.382583 +v -1.937497 6.687504 7.937500 +v -1.937497 6.820086 7.882583 +v -1.937497 6.875004 7.750000 +v -1.937497 6.820086 7.617417 +v -1.937497 6.687504 7.562500 +v -1.937497 6.554921 7.617417 +v -1.937497 6.500004 7.750000 +v -1.937497 6.554921 7.882583 +v -2.624997 6.687504 7.937500 +v -2.624997 6.820086 7.882583 +v -2.624997 6.875004 7.750000 +v -2.624997 6.820086 7.617417 +v -2.624997 6.687504 7.562500 +v -2.624997 6.554921 7.617417 +v -2.624997 6.500004 7.750000 +v -2.624997 6.554921 7.882583 +v -1.937497 0.312492 7.562500 +v -1.937497 0.179910 7.617417 +v -1.937497 0.124992 7.750000 +v -1.937497 0.179910 7.882583 +v -1.937497 0.312492 7.937500 +v -1.937497 0.445075 7.882583 +v -1.937497 0.499992 7.750000 +v -1.937497 0.445075 7.617417 +v -2.624997 0.312492 7.562500 +v -2.624997 0.179910 7.617417 +v -2.624997 0.124992 7.750000 +v -2.624997 0.179910 7.882583 +v -2.624997 0.312492 7.937500 +v -2.624997 0.445075 7.882583 +v -2.624997 0.499992 7.750000 +v -2.624997 0.445075 7.617417 +v -1.937497 0.312492 6.062500 +v -1.937497 0.179910 6.117417 +v -1.937497 0.124992 6.250000 +v -1.937497 0.179910 6.382583 +v -1.937497 0.312492 6.437500 +v -1.937497 0.445075 6.382583 +v -1.937497 0.499992 6.250000 +v -1.937497 0.445075 6.117417 +v -2.624997 0.312492 6.062500 +v -2.624997 0.179910 6.117417 +v -2.624997 0.124992 6.250000 +v -2.624997 0.179910 6.382583 +v -2.624997 0.312492 6.437500 +v -2.624997 0.445075 6.382583 +v -2.624997 0.499992 6.250000 +v -2.624997 0.445075 6.117417 vt 0.837349 0.637209 vt 0.846816 0.641860 vt 0.837349 0.641860 @@ -5499,6 +5869,74 @@ vt 0.833907 0.651163 vt 0.822719 0.641860 vt 0.833046 0.646512 vt 0.832186 0.641860 +vt 0.831325 0.637209 +vt 0.820998 0.632558 +vt 0.821859 0.637209 +vt 0.837349 0.669767 +vt 0.827022 0.665116 +vt 0.827883 0.669767 +vt 0.836489 0.665116 +vt 0.826162 0.660465 +vt 0.835628 0.660465 +vt 0.825301 0.655814 +vt 0.834768 0.655814 +vt 0.824441 0.651163 +vt 0.833907 0.651163 +vt 0.823580 0.646512 +vt 0.833046 0.646512 +vt 0.822719 0.641860 +vt 0.832186 0.641860 +vt 0.831325 0.637209 +vt 0.820998 0.632558 +vt 0.821859 0.637209 +vt 0.837349 0.669767 +vt 0.827022 0.665116 +vt 0.827883 0.669767 +vt 0.836489 0.665116 +vt 0.826162 0.660465 +vt 0.835628 0.660465 +vt 0.825301 0.655814 +vt 0.834768 0.655814 +vt 0.824441 0.651163 +vt 0.833907 0.651163 +vt 0.823580 0.646512 +vt 0.833046 0.646512 +vt 0.822719 0.641860 +vt 0.832186 0.641860 +vt 0.831325 0.637209 +vt 0.820998 0.632558 +vt 0.821859 0.637209 +vt 0.837349 0.669767 +vt 0.827022 0.665116 +vt 0.827883 0.669767 +vt 0.836489 0.665116 +vt 0.826162 0.660465 +vt 0.835628 0.660465 +vt 0.825301 0.655814 +vt 0.834768 0.655814 +vt 0.824441 0.651163 +vt 0.833907 0.651163 +vt 0.823580 0.646512 +vt 0.833046 0.646512 +vt 0.822719 0.641860 +vt 0.832186 0.641860 +vt 0.831325 0.637209 +vt 0.820998 0.632558 +vt 0.821859 0.637209 +vt 0.837349 0.669767 +vt 0.827022 0.665116 +vt 0.827883 0.669767 +vt 0.836489 0.665116 +vt 0.826162 0.660465 +vt 0.835628 0.660465 +vt 0.825301 0.655814 +vt 0.834768 0.655814 +vt 0.824441 0.651163 +vt 0.833907 0.651163 +vt 0.823580 0.646512 +vt 0.833046 0.646512 +vt 0.822719 0.641860 +vt 0.832186 0.641860 vt 0.830465 0.632558 vt 0.846816 0.632558 vt 0.846816 0.632558 @@ -5507,6 +5945,10 @@ vt 0.830465 0.632558 vt 0.846816 0.632558 vt 0.846816 0.632558 vt 0.830465 0.632558 +vt 0.830465 0.632558 +vt 0.830465 0.632558 +vt 0.830465 0.632558 +vt 0.830465 0.632558 vn 0.0000 -0.7071 -0.7071 vn 0.0000 0.0000 -1.0000 vn 0.0000 -1.0000 -0.0000 @@ -5516,134 +5958,198 @@ vn 0.0000 0.7071 0.7071 vn 0.0000 1.0000 -0.0000 vn 0.0000 0.7071 -0.7071 s 1 -f 1246/1927/172 1261/1928/173 1245/1929/173 -f 1239/1930/174 1254/1931/172 1238/1932/172 -f 1247/1933/174 1262/1934/172 1246/1927/172 -f 1240/1935/175 1255/1936/174 1239/1937/174 -f 1248/1938/175 1263/1939/174 1247/1940/174 -f 1233/1941/176 1256/1942/175 1240/1935/175 -f 1234/1943/177 1249/1944/176 1233/1941/176 -f 1241/1945/176 1264/1946/175 1248/1938/175 -f 1242/1947/177 1257/1948/176 1241/1945/176 -f 1235/1949/178 1250/1950/177 1234/1943/177 -f 1243/1951/178 1258/1952/177 1242/1947/177 -f 1236/1953/179 1251/1954/178 1235/1949/178 -f 1244/1955/179 1259/1956/178 1243/1951/178 -f 1237/1957/173 1252/1958/179 1236/1953/179 -f 1245/1929/173 1260/1959/179 1244/1955/179 -f 1238/1932/172 1253/1960/173 1237/1957/173 -f 1270/1961/172 1277/1962/173 1269/1963/173 -f 1271/1964/174 1278/1965/172 1270/1961/172 -f 1272/1966/175 1279/1967/174 1271/1968/174 -f 1265/1969/176 1280/1970/175 1272/1966/175 -f 1266/1971/177 1273/1972/176 1265/1969/176 -f 1267/1973/178 1274/1974/177 1266/1971/177 -f 1268/1975/179 1275/1976/178 1267/1973/178 -f 1269/1963/173 1276/1977/179 1268/1975/179 -f 1287/1978/174 1294/1979/172 1286/1980/172 -f 1288/1981/175 1295/1982/174 1287/1983/174 -f 1281/1984/176 1296/1985/175 1288/1981/175 -f 1282/1986/177 1289/1987/176 1281/1984/176 -f 1283/1988/178 1290/1989/177 1282/1986/177 -f 1284/1990/179 1291/1991/178 1283/1988/178 -f 1285/1992/173 1292/1993/179 1284/1990/179 -f 1286/1980/172 1293/1994/173 1285/1992/173 -f 1310/1995/177 1325/1996/176 1309/1997/176 -f 1303/1998/178 1318/1999/177 1302/2000/177 -f 1311/2001/178 1326/2002/177 1310/1995/177 -f 1304/2003/179 1319/2004/178 1303/2005/178 -f 1312/2006/179 1327/2007/178 1311/2008/178 -f 1297/2009/173 1320/2010/179 1304/2003/179 -f 1298/2011/172 1313/2012/173 1297/2009/173 -f 1305/2013/173 1328/2014/179 1312/2006/179 -f 1306/2015/172 1321/2016/173 1305/2013/173 -f 1299/2017/174 1314/2018/172 1298/2011/172 -f 1307/2019/174 1322/2020/172 1306/2015/172 -f 1300/2021/175 1315/2022/174 1299/2017/174 -f 1308/2023/175 1323/2024/174 1307/2019/174 -f 1301/2025/176 1316/2026/175 1300/2021/175 -f 1309/1997/176 1324/2027/175 1308/2023/175 -f 1302/2000/177 1317/2028/176 1301/2025/176 -f 1334/2029/177 1341/2030/176 1333/2031/176 -f 1335/2032/178 1342/2033/177 1334/2029/177 -f 1336/2034/179 1343/2035/178 1335/2036/178 -f 1329/2037/173 1344/2038/179 1336/2034/179 -f 1330/2039/172 1337/2040/173 1329/2037/173 -f 1331/2041/174 1338/2042/172 1330/2039/172 -f 1332/2043/175 1339/2044/174 1331/2041/174 -f 1333/2031/176 1340/2045/175 1332/2043/175 -f 1351/2046/178 1358/2047/177 1350/2048/177 -f 1352/2049/179 1359/2050/178 1351/2051/178 -f 1345/2052/173 1360/2053/179 1352/2049/179 -f 1346/2054/172 1353/2055/173 1345/2052/173 -f 1347/2056/174 1354/2057/172 1346/2054/172 -f 1348/2058/175 1355/2059/174 1347/2056/174 -f 1349/2060/176 1356/2061/175 1348/2058/175 -f 1350/2048/177 1357/2062/176 1349/2060/176 -f 1246/1927/172 1262/1934/172 1261/1928/173 -f 1239/1930/174 1255/2063/174 1254/1931/172 -f 1247/1933/174 1263/2064/174 1262/1934/172 -f 1240/1935/175 1256/1942/175 1255/1936/174 -f 1248/1938/175 1264/1946/175 1263/1939/174 -f 1233/1941/176 1249/1944/176 1256/1942/175 -f 1234/1943/177 1250/1950/177 1249/1944/176 -f 1241/1945/176 1257/1948/176 1264/1946/175 -f 1242/1947/177 1258/1952/177 1257/1948/176 -f 1235/1949/178 1251/1954/178 1250/1950/177 -f 1243/1951/178 1259/1956/178 1258/1952/177 -f 1236/1953/179 1252/1958/179 1251/1954/178 -f 1244/1955/179 1260/1959/179 1259/1956/178 -f 1237/1957/173 1253/1960/173 1252/1958/179 -f 1245/1929/173 1261/1928/173 1260/1959/179 -f 1238/1932/172 1254/1931/172 1253/1960/173 -f 1270/1961/172 1278/1965/172 1277/1962/173 -f 1271/1964/174 1279/2065/174 1278/1965/172 -f 1272/1966/175 1280/1970/175 1279/1967/174 -f 1265/1969/176 1273/1972/176 1280/1970/175 -f 1266/1971/177 1274/1974/177 1273/1972/176 -f 1267/1973/178 1275/1976/178 1274/1974/177 -f 1268/1975/179 1276/1977/179 1275/1976/178 -f 1269/1963/173 1277/1962/173 1276/1977/179 -f 1287/1978/174 1295/2066/174 1294/1979/172 -f 1288/1981/175 1296/1985/175 1295/1982/174 -f 1281/1984/176 1289/1987/176 1296/1985/175 -f 1282/1986/177 1290/1989/177 1289/1987/176 -f 1283/1988/178 1291/1991/178 1290/1989/177 -f 1284/1990/179 1292/1993/179 1291/1991/178 -f 1285/1992/173 1293/1994/173 1292/1993/179 -f 1286/1980/172 1294/1979/172 1293/1994/173 -f 1310/1995/177 1326/2002/177 1325/1996/176 -f 1303/1998/178 1319/2067/178 1318/1999/177 -f 1311/2001/178 1327/2068/178 1326/2002/177 -f 1304/2003/179 1320/2010/179 1319/2004/178 -f 1312/2006/179 1328/2014/179 1327/2007/178 -f 1297/2009/173 1313/2012/173 1320/2010/179 -f 1298/2011/172 1314/2018/172 1313/2012/173 -f 1305/2013/173 1321/2016/173 1328/2014/179 -f 1306/2015/172 1322/2020/172 1321/2016/173 -f 1299/2017/174 1315/2022/174 1314/2018/172 -f 1307/2019/174 1323/2024/174 1322/2020/172 -f 1300/2021/175 1316/2026/175 1315/2022/174 -f 1308/2023/175 1324/2027/175 1323/2024/174 -f 1301/2025/176 1317/2028/176 1316/2026/175 -f 1309/1997/176 1325/1996/176 1324/2027/175 -f 1302/2000/177 1318/1999/177 1317/2028/176 -f 1334/2029/177 1342/2033/177 1341/2030/176 -f 1335/2032/178 1343/2069/178 1342/2033/177 -f 1336/2034/179 1344/2038/179 1343/2035/178 -f 1329/2037/173 1337/2040/173 1344/2038/179 -f 1330/2039/172 1338/2042/172 1337/2040/173 -f 1331/2041/174 1339/2044/174 1338/2042/172 -f 1332/2043/175 1340/2045/175 1339/2044/174 -f 1333/2031/176 1341/2030/176 1340/2045/175 -f 1351/2046/178 1359/2070/178 1358/2047/177 -f 1352/2049/179 1360/2053/179 1359/2050/178 -f 1345/2052/173 1353/2055/173 1360/2053/179 -f 1346/2054/172 1354/2057/172 1353/2055/173 -f 1347/2056/174 1355/2059/174 1354/2057/172 -f 1348/2058/175 1356/2061/175 1355/2059/174 -f 1349/2060/176 1357/2062/176 1356/2061/175 -f 1350/2048/177 1358/2047/177 1357/2062/176 +f 1342/2041/172 1357/2042/173 1341/2043/173 +f 1335/2044/174 1350/2045/172 1334/2046/172 +f 1343/2047/174 1358/2048/172 1342/2041/172 +f 1336/2049/175 1351/2050/174 1335/2051/174 +f 1344/2052/175 1359/2053/174 1343/2054/174 +f 1329/2055/176 1352/2056/175 1336/2049/175 +f 1330/2057/177 1345/2058/176 1329/2055/176 +f 1337/2059/176 1360/2060/175 1344/2052/175 +f 1338/2061/177 1353/2062/176 1337/2059/176 +f 1331/2063/178 1346/2064/177 1330/2057/177 +f 1339/2065/178 1354/2066/177 1338/2061/177 +f 1332/2067/179 1347/2068/178 1331/2063/178 +f 1340/2069/179 1355/2070/178 1339/2065/178 +f 1333/2071/173 1348/2072/179 1332/2067/179 +f 1341/2043/173 1356/2073/179 1340/2069/179 +f 1334/2046/172 1349/2074/173 1333/2071/173 +f 1366/2075/172 1373/2076/173 1365/2077/173 +f 1367/2078/174 1374/2079/172 1366/2075/172 +f 1368/2080/175 1375/2081/174 1367/2082/174 +f 1361/2083/176 1376/2084/175 1368/2080/175 +f 1362/2085/177 1369/2086/176 1361/2083/176 +f 1363/2087/178 1370/2088/177 1362/2085/177 +f 1364/2089/179 1371/2090/178 1363/2087/178 +f 1365/2077/173 1372/2091/179 1364/2089/179 +f 1383/2092/174 1390/2093/172 1382/2094/172 +f 1384/2095/175 1391/2096/174 1383/2097/174 +f 1377/2098/176 1392/2099/175 1384/2095/175 +f 1378/2100/177 1385/2101/176 1377/2098/176 +f 1379/2102/178 1386/2103/177 1378/2100/177 +f 1380/2104/179 1387/2105/178 1379/2102/178 +f 1381/2106/173 1388/2107/179 1380/2104/179 +f 1382/2094/172 1389/2108/173 1381/2106/173 +f 1406/2109/177 1421/2110/176 1405/2111/176 +f 1399/2112/178 1414/2113/177 1398/2114/177 +f 1407/2115/178 1422/2116/177 1406/2109/177 +f 1400/2117/179 1415/2118/178 1399/2119/178 +f 1408/2120/179 1423/2121/178 1407/2122/178 +f 1393/2123/173 1416/2124/179 1400/2117/179 +f 1394/2125/172 1409/2126/173 1393/2123/173 +f 1401/2127/173 1424/2128/179 1408/2120/179 +f 1402/2129/172 1417/2130/173 1401/2127/173 +f 1395/2131/174 1410/2132/172 1394/2125/172 +f 1403/2133/174 1418/2134/172 1402/2129/172 +f 1396/2135/175 1411/2136/174 1395/2131/174 +f 1404/2137/175 1419/2138/174 1403/2133/174 +f 1397/2139/176 1412/2140/175 1396/2135/175 +f 1405/2111/176 1420/2141/175 1404/2137/175 +f 1398/2114/177 1413/2142/176 1397/2139/176 +f 1430/2143/177 1437/2144/176 1429/2145/176 +f 1431/2146/178 1438/2147/177 1430/2143/177 +f 1432/2148/179 1439/2149/178 1431/2150/178 +f 1425/2151/173 1440/2152/179 1432/2148/179 +f 1426/2153/172 1433/2154/173 1425/2151/173 +f 1427/2155/174 1434/2156/172 1426/2153/172 +f 1428/2157/175 1435/2158/174 1427/2155/174 +f 1429/2145/176 1436/2159/175 1428/2157/175 +f 1447/2160/178 1454/2161/177 1446/2162/177 +f 1448/2163/179 1455/2164/178 1447/2165/178 +f 1441/2166/173 1456/2167/179 1448/2163/179 +f 1442/2168/172 1449/2169/173 1441/2166/173 +f 1443/2170/174 1450/2171/172 1442/2168/172 +f 1444/2172/175 1451/2173/174 1443/2170/174 +f 1445/2174/176 1452/2175/175 1444/2172/175 +f 1446/2162/177 1453/2176/176 1445/2174/176 +f 1470/2177/177 1463/2178/178 1462/2179/177 +f 1471/2180/178 1464/2181/179 1463/2182/178 +f 1472/2183/179 1457/2184/173 1464/2181/179 +f 1465/2185/173 1458/2186/172 1457/2184/173 +f 1466/2187/172 1459/2188/174 1458/2186/172 +f 1467/2189/174 1460/2190/175 1459/2188/174 +f 1468/2191/175 1461/2192/176 1460/2190/175 +f 1469/2193/176 1462/2179/177 1461/2192/176 +f 1486/2194/177 1479/2195/178 1478/2196/177 +f 1487/2197/178 1480/2198/179 1479/2199/178 +f 1488/2200/179 1473/2201/173 1480/2198/179 +f 1481/2202/173 1474/2203/172 1473/2201/173 +f 1482/2204/172 1475/2205/174 1474/2203/172 +f 1483/2206/174 1476/2207/175 1475/2205/174 +f 1484/2208/175 1477/2209/176 1476/2207/175 +f 1485/2210/176 1478/2196/177 1477/2209/176 +f 1502/2211/172 1495/2212/174 1494/2213/172 +f 1503/2214/174 1496/2215/175 1495/2216/174 +f 1504/2217/175 1489/2218/176 1496/2215/175 +f 1497/2219/176 1490/2220/177 1489/2218/176 +f 1498/2221/177 1491/2222/178 1490/2220/177 +f 1499/2223/178 1492/2224/179 1491/2222/178 +f 1500/2225/179 1493/2226/173 1492/2224/179 +f 1501/2227/173 1494/2213/172 1493/2226/173 +f 1518/2228/172 1511/2229/174 1510/2230/172 +f 1519/2231/174 1512/2232/175 1511/2233/174 +f 1520/2234/175 1505/2235/176 1512/2232/175 +f 1513/2236/176 1506/2237/177 1505/2235/176 +f 1514/2238/177 1507/2239/178 1506/2237/177 +f 1515/2240/178 1508/2241/179 1507/2239/178 +f 1516/2242/179 1509/2243/173 1508/2241/179 +f 1517/2244/173 1510/2230/172 1509/2243/173 +f 1342/2041/172 1358/2048/172 1357/2042/173 +f 1335/2044/174 1351/2245/174 1350/2045/172 +f 1343/2047/174 1359/2246/174 1358/2048/172 +f 1336/2049/175 1352/2056/175 1351/2050/174 +f 1344/2052/175 1360/2060/175 1359/2053/174 +f 1329/2055/176 1345/2058/176 1352/2056/175 +f 1330/2057/177 1346/2064/177 1345/2058/176 +f 1337/2059/176 1353/2062/176 1360/2060/175 +f 1338/2061/177 1354/2066/177 1353/2062/176 +f 1331/2063/178 1347/2068/178 1346/2064/177 +f 1339/2065/178 1355/2070/178 1354/2066/177 +f 1332/2067/179 1348/2072/179 1347/2068/178 +f 1340/2069/179 1356/2073/179 1355/2070/178 +f 1333/2071/173 1349/2074/173 1348/2072/179 +f 1341/2043/173 1357/2042/173 1356/2073/179 +f 1334/2046/172 1350/2045/172 1349/2074/173 +f 1366/2075/172 1374/2079/172 1373/2076/173 +f 1367/2078/174 1375/2247/174 1374/2079/172 +f 1368/2080/175 1376/2084/175 1375/2081/174 +f 1361/2083/176 1369/2086/176 1376/2084/175 +f 1362/2085/177 1370/2088/177 1369/2086/176 +f 1363/2087/178 1371/2090/178 1370/2088/177 +f 1364/2089/179 1372/2091/179 1371/2090/178 +f 1365/2077/173 1373/2076/173 1372/2091/179 +f 1383/2092/174 1391/2248/174 1390/2093/172 +f 1384/2095/175 1392/2099/175 1391/2096/174 +f 1377/2098/176 1385/2101/176 1392/2099/175 +f 1378/2100/177 1386/2103/177 1385/2101/176 +f 1379/2102/178 1387/2105/178 1386/2103/177 +f 1380/2104/179 1388/2107/179 1387/2105/178 +f 1381/2106/173 1389/2108/173 1388/2107/179 +f 1382/2094/172 1390/2093/172 1389/2108/173 +f 1406/2109/177 1422/2116/177 1421/2110/176 +f 1399/2112/178 1415/2249/178 1414/2113/177 +f 1407/2115/178 1423/2250/178 1422/2116/177 +f 1400/2117/179 1416/2124/179 1415/2118/178 +f 1408/2120/179 1424/2128/179 1423/2121/178 +f 1393/2123/173 1409/2126/173 1416/2124/179 +f 1394/2125/172 1410/2132/172 1409/2126/173 +f 1401/2127/173 1417/2130/173 1424/2128/179 +f 1402/2129/172 1418/2134/172 1417/2130/173 +f 1395/2131/174 1411/2136/174 1410/2132/172 +f 1403/2133/174 1419/2138/174 1418/2134/172 +f 1396/2135/175 1412/2140/175 1411/2136/174 +f 1404/2137/175 1420/2141/175 1419/2138/174 +f 1397/2139/176 1413/2142/176 1412/2140/175 +f 1405/2111/176 1421/2110/176 1420/2141/175 +f 1398/2114/177 1414/2113/177 1413/2142/176 +f 1430/2143/177 1438/2147/177 1437/2144/176 +f 1431/2146/178 1439/2251/178 1438/2147/177 +f 1432/2148/179 1440/2152/179 1439/2149/178 +f 1425/2151/173 1433/2154/173 1440/2152/179 +f 1426/2153/172 1434/2156/172 1433/2154/173 +f 1427/2155/174 1435/2158/174 1434/2156/172 +f 1428/2157/175 1436/2159/175 1435/2158/174 +f 1429/2145/176 1437/2144/176 1436/2159/175 +f 1447/2160/178 1455/2252/178 1454/2161/177 +f 1448/2163/179 1456/2167/179 1455/2164/178 +f 1441/2166/173 1449/2169/173 1456/2167/179 +f 1442/2168/172 1450/2171/172 1449/2169/173 +f 1443/2170/174 1451/2173/174 1450/2171/172 +f 1444/2172/175 1452/2175/175 1451/2173/174 +f 1445/2174/176 1453/2176/176 1452/2175/175 +f 1446/2162/177 1454/2161/177 1453/2176/176 +f 1470/2177/177 1471/2253/178 1463/2178/178 +f 1471/2180/178 1472/2183/179 1464/2181/179 +f 1472/2183/179 1465/2185/173 1457/2184/173 +f 1465/2185/173 1466/2187/172 1458/2186/172 +f 1466/2187/172 1467/2189/174 1459/2188/174 +f 1467/2189/174 1468/2191/175 1460/2190/175 +f 1468/2191/175 1469/2193/176 1461/2192/176 +f 1469/2193/176 1470/2177/177 1462/2179/177 +f 1486/2194/177 1487/2254/178 1479/2195/178 +f 1487/2197/178 1488/2200/179 1480/2198/179 +f 1488/2200/179 1481/2202/173 1473/2201/173 +f 1481/2202/173 1482/2204/172 1474/2203/172 +f 1482/2204/172 1483/2206/174 1475/2205/174 +f 1483/2206/174 1484/2208/175 1476/2207/175 +f 1484/2208/175 1485/2210/176 1477/2209/176 +f 1485/2210/176 1486/2194/177 1478/2196/177 +f 1502/2211/172 1503/2255/174 1495/2212/174 +f 1503/2214/174 1504/2217/175 1496/2215/175 +f 1504/2217/175 1497/2219/176 1489/2218/176 +f 1497/2219/176 1498/2221/177 1490/2220/177 +f 1498/2221/177 1499/2223/178 1491/2222/178 +f 1499/2223/178 1500/2225/179 1492/2224/179 +f 1500/2225/179 1501/2227/173 1493/2226/173 +f 1501/2227/173 1502/2211/172 1494/2213/172 +f 1518/2228/172 1519/2256/174 1511/2229/174 +f 1519/2231/174 1520/2234/175 1512/2232/175 +f 1520/2234/175 1513/2236/176 1505/2235/176 +f 1513/2236/176 1514/2238/177 1506/2237/177 +f 1514/2238/177 1515/2240/178 1507/2239/178 +f 1515/2240/178 1516/2242/179 1508/2241/179 +f 1516/2242/179 1517/2244/173 1509/2243/173 +f 1517/2244/173 1518/2228/172 1510/2230/172 o SuspensionRight v 1.937497 6.687504 7.562500 v 1.937497 6.820086 7.617417 @@ -5773,6 +6279,70 @@ v 2.624997 0.312492 7.562500 v 2.624997 0.445075 7.617417 v 2.624997 0.499992 7.750000 v 2.624997 0.445075 7.882583 +v 1.937497 6.687504 7.562500 +v 1.937497 6.820086 7.617417 +v 1.937497 6.875004 7.750000 +v 1.937497 6.820086 7.882583 +v 1.937497 6.687504 7.937500 +v 1.937497 6.554921 7.882583 +v 1.937497 6.500004 7.750000 +v 1.937497 6.554921 7.617417 +v 2.624997 6.687504 7.562500 +v 2.624997 6.820086 7.617417 +v 2.624997 6.875004 7.750000 +v 2.624997 6.820086 7.882583 +v 2.624997 6.687504 7.937500 +v 2.624997 6.554921 7.882583 +v 2.624997 6.500004 7.750000 +v 2.624997 6.554921 7.617417 +v 1.937497 6.687504 6.062500 +v 1.937497 6.820086 6.117417 +v 1.937497 6.875004 6.250000 +v 1.937497 6.820086 6.382583 +v 1.937497 6.687504 6.437500 +v 1.937497 6.554921 6.382583 +v 1.937497 6.500004 6.250000 +v 1.937497 6.554921 6.117417 +v 2.624997 6.687504 6.062500 +v 2.624997 6.820086 6.117417 +v 2.624997 6.875004 6.250000 +v 2.624997 6.820086 6.382583 +v 2.624997 6.687504 6.437500 +v 2.624997 6.554921 6.382583 +v 2.624997 6.500004 6.250000 +v 2.624997 6.554921 6.117417 +v 1.937497 0.312492 6.437500 +v 1.937497 0.179910 6.382583 +v 1.937497 0.124992 6.250000 +v 1.937497 0.179910 6.117417 +v 1.937497 0.312492 6.062500 +v 1.937497 0.445075 6.117417 +v 1.937497 0.499992 6.250000 +v 1.937497 0.445075 6.382583 +v 2.624997 0.312492 6.437500 +v 2.624997 0.179910 6.382583 +v 2.624997 0.124992 6.250000 +v 2.624997 0.179910 6.117417 +v 2.624997 0.312492 6.062500 +v 2.624997 0.445075 6.117417 +v 2.624997 0.499992 6.250000 +v 2.624997 0.445075 6.382583 +v 1.937497 0.312492 7.937500 +v 1.937497 0.179910 7.882583 +v 1.937497 0.124992 7.750000 +v 1.937497 0.179910 7.617417 +v 1.937497 0.312492 7.562500 +v 1.937497 0.445075 7.617417 +v 1.937497 0.499992 7.750000 +v 1.937497 0.445075 7.882583 +v 2.624997 0.312492 7.937500 +v 2.624997 0.179910 7.882583 +v 2.624997 0.124992 7.750000 +v 2.624997 0.179910 7.617417 +v 2.624997 0.312492 7.562500 +v 2.624997 0.445075 7.617417 +v 2.624997 0.499992 7.750000 +v 2.624997 0.445075 7.882583 vt 0.837349 0.637209 vt 0.846816 0.641860 vt 0.837349 0.641860 @@ -5909,6 +6479,74 @@ vt 0.833907 0.651163 vt 0.822719 0.641860 vt 0.833046 0.646512 vt 0.832186 0.641860 +vt 0.831325 0.637209 +vt 0.820998 0.632558 +vt 0.821859 0.637209 +vt 0.837349 0.669767 +vt 0.827022 0.665116 +vt 0.827883 0.669767 +vt 0.836489 0.665116 +vt 0.826162 0.660465 +vt 0.835628 0.660465 +vt 0.825301 0.655814 +vt 0.834768 0.655814 +vt 0.824441 0.651163 +vt 0.833907 0.651163 +vt 0.823580 0.646512 +vt 0.833046 0.646512 +vt 0.822719 0.641860 +vt 0.832186 0.641860 +vt 0.831325 0.637209 +vt 0.820998 0.632558 +vt 0.821859 0.637209 +vt 0.837349 0.669767 +vt 0.827022 0.665116 +vt 0.827883 0.669767 +vt 0.836489 0.665116 +vt 0.826162 0.660465 +vt 0.835628 0.660465 +vt 0.825301 0.655814 +vt 0.834768 0.655814 +vt 0.824441 0.651163 +vt 0.833907 0.651163 +vt 0.823580 0.646512 +vt 0.833046 0.646512 +vt 0.822719 0.641860 +vt 0.832186 0.641860 +vt 0.831325 0.637209 +vt 0.820998 0.632558 +vt 0.821859 0.637209 +vt 0.837349 0.669767 +vt 0.827022 0.665116 +vt 0.827883 0.669767 +vt 0.836489 0.665116 +vt 0.826162 0.660465 +vt 0.835628 0.660465 +vt 0.825301 0.655814 +vt 0.834768 0.655814 +vt 0.824441 0.651163 +vt 0.833907 0.651163 +vt 0.823580 0.646512 +vt 0.833046 0.646512 +vt 0.822719 0.641860 +vt 0.832186 0.641860 +vt 0.831325 0.637209 +vt 0.820998 0.632558 +vt 0.821859 0.637209 +vt 0.837349 0.669767 +vt 0.827022 0.665116 +vt 0.827883 0.669767 +vt 0.836489 0.665116 +vt 0.826162 0.660465 +vt 0.835628 0.660465 +vt 0.825301 0.655814 +vt 0.834768 0.655814 +vt 0.824441 0.651163 +vt 0.833907 0.651163 +vt 0.823580 0.646512 +vt 0.833046 0.646512 +vt 0.822719 0.641860 +vt 0.832186 0.641860 vt 0.830465 0.632558 vt 0.846816 0.632558 vt 0.846816 0.632558 @@ -5917,6 +6555,10 @@ vt 0.830465 0.632558 vt 0.846816 0.632558 vt 0.846816 0.632558 vt 0.830465 0.632558 +vt 0.830465 0.632558 +vt 0.830465 0.632558 +vt 0.830465 0.632558 +vt 0.830465 0.632558 vn 0.0000 -0.7071 0.7071 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 @@ -5926,134 +6568,198 @@ vn 0.0000 0.7071 -0.7071 vn 0.0000 1.0000 0.0000 vn 0.0000 0.7071 0.7071 s 1 -f 1374/2071/180 1389/2072/181 1373/2073/181 -f 1367/2074/182 1382/2075/180 1366/2076/180 -f 1375/2077/182 1390/2078/180 1374/2071/180 -f 1368/2079/183 1383/2080/182 1367/2081/182 -f 1376/2082/183 1391/2083/182 1375/2084/182 -f 1361/2085/184 1384/2086/183 1368/2079/183 -f 1362/2087/185 1377/2088/184 1361/2085/184 -f 1369/2089/184 1392/2090/183 1376/2082/183 -f 1370/2091/185 1385/2092/184 1369/2089/184 -f 1363/2093/186 1378/2094/185 1362/2087/185 -f 1371/2095/186 1386/2096/185 1370/2091/185 -f 1364/2097/187 1379/2098/186 1363/2093/186 -f 1372/2099/187 1387/2100/186 1371/2095/186 -f 1365/2101/181 1380/2102/187 1364/2097/187 -f 1373/2073/181 1388/2103/187 1372/2099/187 -f 1366/2076/180 1381/2104/181 1365/2101/181 -f 1398/2105/180 1405/2106/181 1397/2107/181 -f 1399/2108/182 1406/2109/180 1398/2105/180 -f 1400/2110/183 1407/2111/182 1399/2112/182 -f 1393/2113/184 1408/2114/183 1400/2110/183 -f 1394/2115/185 1401/2116/184 1393/2113/184 -f 1395/2117/186 1402/2118/185 1394/2115/185 -f 1396/2119/187 1403/2120/186 1395/2117/186 -f 1397/2107/181 1404/2121/187 1396/2119/187 -f 1415/2122/182 1422/2123/180 1414/2124/180 -f 1416/2125/183 1423/2126/182 1415/2127/182 -f 1409/2128/184 1424/2129/183 1416/2125/183 -f 1410/2130/185 1417/2131/184 1409/2128/184 -f 1411/2132/186 1418/2133/185 1410/2130/185 -f 1412/2134/187 1419/2135/186 1411/2132/186 -f 1413/2136/181 1420/2137/187 1412/2134/187 -f 1414/2124/180 1421/2138/181 1413/2136/181 -f 1438/2139/185 1453/2140/184 1437/2141/184 -f 1431/2142/186 1446/2143/185 1430/2144/185 -f 1439/2145/186 1454/2146/185 1438/2139/185 -f 1432/2147/187 1447/2148/186 1431/2149/186 -f 1440/2150/187 1455/2151/186 1439/2152/186 -f 1425/2153/181 1448/2154/187 1432/2147/187 -f 1426/2155/180 1441/2156/181 1425/2153/181 -f 1433/2157/181 1456/2158/187 1440/2150/187 -f 1434/2159/180 1449/2160/181 1433/2157/181 -f 1427/2161/182 1442/2162/180 1426/2155/180 -f 1435/2163/182 1450/2164/180 1434/2159/180 -f 1428/2165/183 1443/2166/182 1427/2161/182 -f 1436/2167/183 1451/2168/182 1435/2163/182 -f 1429/2169/184 1444/2170/183 1428/2165/183 -f 1437/2141/184 1452/2171/183 1436/2167/183 -f 1430/2144/185 1445/2172/184 1429/2169/184 -f 1462/2173/185 1469/2174/184 1461/2175/184 -f 1463/2176/186 1470/2177/185 1462/2173/185 -f 1464/2178/187 1471/2179/186 1463/2180/186 -f 1457/2181/181 1472/2182/187 1464/2178/187 -f 1458/2183/180 1465/2184/181 1457/2181/181 -f 1459/2185/182 1466/2186/180 1458/2183/180 -f 1460/2187/183 1467/2188/182 1459/2185/182 -f 1461/2175/184 1468/2189/183 1460/2187/183 -f 1479/2190/186 1486/2191/185 1478/2192/185 -f 1480/2193/187 1487/2194/186 1479/2195/186 -f 1473/2196/181 1488/2197/187 1480/2193/187 -f 1474/2198/180 1481/2199/181 1473/2196/181 -f 1475/2200/182 1482/2201/180 1474/2198/180 -f 1476/2202/183 1483/2203/182 1475/2200/182 -f 1477/2204/184 1484/2205/183 1476/2202/183 -f 1478/2192/185 1485/2206/184 1477/2204/184 -f 1374/2071/180 1390/2078/180 1389/2072/181 -f 1367/2074/182 1383/2207/182 1382/2075/180 -f 1375/2077/182 1391/2208/182 1390/2078/180 -f 1368/2079/183 1384/2086/183 1383/2080/182 -f 1376/2082/183 1392/2090/183 1391/2083/182 -f 1361/2085/184 1377/2088/184 1384/2086/183 -f 1362/2087/185 1378/2094/185 1377/2088/184 -f 1369/2089/184 1385/2092/184 1392/2090/183 -f 1370/2091/185 1386/2096/185 1385/2092/184 -f 1363/2093/186 1379/2098/186 1378/2094/185 -f 1371/2095/186 1387/2100/186 1386/2096/185 -f 1364/2097/187 1380/2102/187 1379/2098/186 -f 1372/2099/187 1388/2103/187 1387/2100/186 -f 1365/2101/181 1381/2104/181 1380/2102/187 -f 1373/2073/181 1389/2072/181 1388/2103/187 -f 1366/2076/180 1382/2075/180 1381/2104/181 -f 1398/2105/180 1406/2109/180 1405/2106/181 -f 1399/2108/182 1407/2209/182 1406/2109/180 -f 1400/2110/183 1408/2114/183 1407/2111/182 -f 1393/2113/184 1401/2116/184 1408/2114/183 -f 1394/2115/185 1402/2118/185 1401/2116/184 -f 1395/2117/186 1403/2120/186 1402/2118/185 -f 1396/2119/187 1404/2121/187 1403/2120/186 -f 1397/2107/181 1405/2106/181 1404/2121/187 -f 1415/2122/182 1423/2210/182 1422/2123/180 -f 1416/2125/183 1424/2129/183 1423/2126/182 -f 1409/2128/184 1417/2131/184 1424/2129/183 -f 1410/2130/185 1418/2133/185 1417/2131/184 -f 1411/2132/186 1419/2135/186 1418/2133/185 -f 1412/2134/187 1420/2137/187 1419/2135/186 -f 1413/2136/181 1421/2138/181 1420/2137/187 -f 1414/2124/180 1422/2123/180 1421/2138/181 -f 1438/2139/185 1454/2146/185 1453/2140/184 -f 1431/2142/186 1447/2211/186 1446/2143/185 -f 1439/2145/186 1455/2212/186 1454/2146/185 -f 1432/2147/187 1448/2154/187 1447/2148/186 -f 1440/2150/187 1456/2158/187 1455/2151/186 -f 1425/2153/181 1441/2156/181 1448/2154/187 -f 1426/2155/180 1442/2162/180 1441/2156/181 -f 1433/2157/181 1449/2160/181 1456/2158/187 -f 1434/2159/180 1450/2164/180 1449/2160/181 -f 1427/2161/182 1443/2166/182 1442/2162/180 -f 1435/2163/182 1451/2168/182 1450/2164/180 -f 1428/2165/183 1444/2170/183 1443/2166/182 -f 1436/2167/183 1452/2171/183 1451/2168/182 -f 1429/2169/184 1445/2172/184 1444/2170/183 -f 1437/2141/184 1453/2140/184 1452/2171/183 -f 1430/2144/185 1446/2143/185 1445/2172/184 -f 1462/2173/185 1470/2177/185 1469/2174/184 -f 1463/2176/186 1471/2213/186 1470/2177/185 -f 1464/2178/187 1472/2182/187 1471/2179/186 -f 1457/2181/181 1465/2184/181 1472/2182/187 -f 1458/2183/180 1466/2186/180 1465/2184/181 -f 1459/2185/182 1467/2188/182 1466/2186/180 -f 1460/2187/183 1468/2189/183 1467/2188/182 -f 1461/2175/184 1469/2174/184 1468/2189/183 -f 1479/2190/186 1487/2214/186 1486/2191/185 -f 1480/2193/187 1488/2197/187 1487/2194/186 -f 1473/2196/181 1481/2199/181 1488/2197/187 -f 1474/2198/180 1482/2201/180 1481/2199/181 -f 1475/2200/182 1483/2203/182 1482/2201/180 -f 1476/2202/183 1484/2205/183 1483/2203/182 -f 1477/2204/184 1485/2206/184 1484/2205/183 -f 1478/2192/185 1486/2191/185 1485/2206/184 +f 1534/2257/180 1549/2258/181 1533/2259/181 +f 1527/2260/182 1542/2261/180 1526/2262/180 +f 1535/2263/182 1550/2264/180 1534/2257/180 +f 1528/2265/183 1543/2266/182 1527/2267/182 +f 1536/2268/183 1551/2269/182 1535/2270/182 +f 1521/2271/184 1544/2272/183 1528/2265/183 +f 1522/2273/185 1537/2274/184 1521/2271/184 +f 1529/2275/184 1552/2276/183 1536/2268/183 +f 1530/2277/185 1545/2278/184 1529/2275/184 +f 1523/2279/186 1538/2280/185 1522/2273/185 +f 1531/2281/186 1546/2282/185 1530/2277/185 +f 1524/2283/187 1539/2284/186 1523/2279/186 +f 1532/2285/187 1547/2286/186 1531/2281/186 +f 1525/2287/181 1540/2288/187 1524/2283/187 +f 1533/2259/181 1548/2289/187 1532/2285/187 +f 1526/2262/180 1541/2290/181 1525/2287/181 +f 1558/2291/180 1565/2292/181 1557/2293/181 +f 1559/2294/182 1566/2295/180 1558/2291/180 +f 1560/2296/183 1567/2297/182 1559/2298/182 +f 1553/2299/184 1568/2300/183 1560/2296/183 +f 1554/2301/185 1561/2302/184 1553/2299/184 +f 1555/2303/186 1562/2304/185 1554/2301/185 +f 1556/2305/187 1563/2306/186 1555/2303/186 +f 1557/2293/181 1564/2307/187 1556/2305/187 +f 1575/2308/182 1582/2309/180 1574/2310/180 +f 1576/2311/183 1583/2312/182 1575/2313/182 +f 1569/2314/184 1584/2315/183 1576/2311/183 +f 1570/2316/185 1577/2317/184 1569/2314/184 +f 1571/2318/186 1578/2319/185 1570/2316/185 +f 1572/2320/187 1579/2321/186 1571/2318/186 +f 1573/2322/181 1580/2323/187 1572/2320/187 +f 1574/2310/180 1581/2324/181 1573/2322/181 +f 1598/2325/185 1613/2326/184 1597/2327/184 +f 1591/2328/186 1606/2329/185 1590/2330/185 +f 1599/2331/186 1614/2332/185 1598/2325/185 +f 1592/2333/187 1607/2334/186 1591/2335/186 +f 1600/2336/187 1615/2337/186 1599/2338/186 +f 1585/2339/181 1608/2340/187 1592/2333/187 +f 1586/2341/180 1601/2342/181 1585/2339/181 +f 1593/2343/181 1616/2344/187 1600/2336/187 +f 1594/2345/180 1609/2346/181 1593/2343/181 +f 1587/2347/182 1602/2348/180 1586/2341/180 +f 1595/2349/182 1610/2350/180 1594/2345/180 +f 1588/2351/183 1603/2352/182 1587/2347/182 +f 1596/2353/183 1611/2354/182 1595/2349/182 +f 1589/2355/184 1604/2356/183 1588/2351/183 +f 1597/2327/184 1612/2357/183 1596/2353/183 +f 1590/2330/185 1605/2358/184 1589/2355/184 +f 1622/2359/185 1629/2360/184 1621/2361/184 +f 1623/2362/186 1630/2363/185 1622/2359/185 +f 1624/2364/187 1631/2365/186 1623/2366/186 +f 1617/2367/181 1632/2368/187 1624/2364/187 +f 1618/2369/180 1625/2370/181 1617/2367/181 +f 1619/2371/182 1626/2372/180 1618/2369/180 +f 1620/2373/183 1627/2374/182 1619/2371/182 +f 1621/2361/184 1628/2375/183 1620/2373/183 +f 1639/2376/186 1646/2377/185 1638/2378/185 +f 1640/2379/187 1647/2380/186 1639/2381/186 +f 1633/2382/181 1648/2383/187 1640/2379/187 +f 1634/2384/180 1641/2385/181 1633/2382/181 +f 1635/2386/182 1642/2387/180 1634/2384/180 +f 1636/2388/183 1643/2389/182 1635/2386/182 +f 1637/2390/184 1644/2391/183 1636/2388/183 +f 1638/2378/185 1645/2392/184 1637/2390/184 +f 1662/2393/185 1655/2394/186 1654/2395/185 +f 1663/2396/186 1656/2397/187 1655/2398/186 +f 1664/2399/187 1649/2400/181 1656/2397/187 +f 1657/2401/181 1650/2402/180 1649/2400/181 +f 1658/2403/180 1651/2404/182 1650/2402/180 +f 1659/2405/182 1652/2406/183 1651/2404/182 +f 1660/2407/183 1653/2408/184 1652/2406/183 +f 1661/2409/184 1654/2395/185 1653/2408/184 +f 1678/2410/185 1671/2411/186 1670/2412/185 +f 1679/2413/186 1672/2414/187 1671/2415/186 +f 1680/2416/187 1665/2417/181 1672/2414/187 +f 1673/2418/181 1666/2419/180 1665/2417/181 +f 1674/2420/180 1667/2421/182 1666/2419/180 +f 1675/2422/182 1668/2423/183 1667/2421/182 +f 1676/2424/183 1669/2425/184 1668/2423/183 +f 1677/2426/184 1670/2412/185 1669/2425/184 +f 1694/2427/180 1687/2428/182 1686/2429/180 +f 1695/2430/182 1688/2431/183 1687/2432/182 +f 1696/2433/183 1681/2434/184 1688/2431/183 +f 1689/2435/184 1682/2436/185 1681/2434/184 +f 1690/2437/185 1683/2438/186 1682/2436/185 +f 1691/2439/186 1684/2440/187 1683/2438/186 +f 1692/2441/187 1685/2442/181 1684/2440/187 +f 1693/2443/181 1686/2429/180 1685/2442/181 +f 1710/2444/180 1703/2445/182 1702/2446/180 +f 1711/2447/182 1704/2448/183 1703/2449/182 +f 1712/2450/183 1697/2451/184 1704/2448/183 +f 1705/2452/184 1698/2453/185 1697/2451/184 +f 1706/2454/185 1699/2455/186 1698/2453/185 +f 1707/2456/186 1700/2457/187 1699/2455/186 +f 1708/2458/187 1701/2459/181 1700/2457/187 +f 1709/2460/181 1702/2446/180 1701/2459/181 +f 1534/2257/180 1550/2264/180 1549/2258/181 +f 1527/2260/182 1543/2461/182 1542/2261/180 +f 1535/2263/182 1551/2462/182 1550/2264/180 +f 1528/2265/183 1544/2272/183 1543/2266/182 +f 1536/2268/183 1552/2276/183 1551/2269/182 +f 1521/2271/184 1537/2274/184 1544/2272/183 +f 1522/2273/185 1538/2280/185 1537/2274/184 +f 1529/2275/184 1545/2278/184 1552/2276/183 +f 1530/2277/185 1546/2282/185 1545/2278/184 +f 1523/2279/186 1539/2284/186 1538/2280/185 +f 1531/2281/186 1547/2286/186 1546/2282/185 +f 1524/2283/187 1540/2288/187 1539/2284/186 +f 1532/2285/187 1548/2289/187 1547/2286/186 +f 1525/2287/181 1541/2290/181 1540/2288/187 +f 1533/2259/181 1549/2258/181 1548/2289/187 +f 1526/2262/180 1542/2261/180 1541/2290/181 +f 1558/2291/180 1566/2295/180 1565/2292/181 +f 1559/2294/182 1567/2463/182 1566/2295/180 +f 1560/2296/183 1568/2300/183 1567/2297/182 +f 1553/2299/184 1561/2302/184 1568/2300/183 +f 1554/2301/185 1562/2304/185 1561/2302/184 +f 1555/2303/186 1563/2306/186 1562/2304/185 +f 1556/2305/187 1564/2307/187 1563/2306/186 +f 1557/2293/181 1565/2292/181 1564/2307/187 +f 1575/2308/182 1583/2464/182 1582/2309/180 +f 1576/2311/183 1584/2315/183 1583/2312/182 +f 1569/2314/184 1577/2317/184 1584/2315/183 +f 1570/2316/185 1578/2319/185 1577/2317/184 +f 1571/2318/186 1579/2321/186 1578/2319/185 +f 1572/2320/187 1580/2323/187 1579/2321/186 +f 1573/2322/181 1581/2324/181 1580/2323/187 +f 1574/2310/180 1582/2309/180 1581/2324/181 +f 1598/2325/185 1614/2332/185 1613/2326/184 +f 1591/2328/186 1607/2465/186 1606/2329/185 +f 1599/2331/186 1615/2466/186 1614/2332/185 +f 1592/2333/187 1608/2340/187 1607/2334/186 +f 1600/2336/187 1616/2344/187 1615/2337/186 +f 1585/2339/181 1601/2342/181 1608/2340/187 +f 1586/2341/180 1602/2348/180 1601/2342/181 +f 1593/2343/181 1609/2346/181 1616/2344/187 +f 1594/2345/180 1610/2350/180 1609/2346/181 +f 1587/2347/182 1603/2352/182 1602/2348/180 +f 1595/2349/182 1611/2354/182 1610/2350/180 +f 1588/2351/183 1604/2356/183 1603/2352/182 +f 1596/2353/183 1612/2357/183 1611/2354/182 +f 1589/2355/184 1605/2358/184 1604/2356/183 +f 1597/2327/184 1613/2326/184 1612/2357/183 +f 1590/2330/185 1606/2329/185 1605/2358/184 +f 1622/2359/185 1630/2363/185 1629/2360/184 +f 1623/2362/186 1631/2467/186 1630/2363/185 +f 1624/2364/187 1632/2368/187 1631/2365/186 +f 1617/2367/181 1625/2370/181 1632/2368/187 +f 1618/2369/180 1626/2372/180 1625/2370/181 +f 1619/2371/182 1627/2374/182 1626/2372/180 +f 1620/2373/183 1628/2375/183 1627/2374/182 +f 1621/2361/184 1629/2360/184 1628/2375/183 +f 1639/2376/186 1647/2468/186 1646/2377/185 +f 1640/2379/187 1648/2383/187 1647/2380/186 +f 1633/2382/181 1641/2385/181 1648/2383/187 +f 1634/2384/180 1642/2387/180 1641/2385/181 +f 1635/2386/182 1643/2389/182 1642/2387/180 +f 1636/2388/183 1644/2391/183 1643/2389/182 +f 1637/2390/184 1645/2392/184 1644/2391/183 +f 1638/2378/185 1646/2377/185 1645/2392/184 +f 1662/2393/185 1663/2469/186 1655/2394/186 +f 1663/2396/186 1664/2399/187 1656/2397/187 +f 1664/2399/187 1657/2401/181 1649/2400/181 +f 1657/2401/181 1658/2403/180 1650/2402/180 +f 1658/2403/180 1659/2405/182 1651/2404/182 +f 1659/2405/182 1660/2407/183 1652/2406/183 +f 1660/2407/183 1661/2409/184 1653/2408/184 +f 1661/2409/184 1662/2393/185 1654/2395/185 +f 1678/2410/185 1679/2470/186 1671/2411/186 +f 1679/2413/186 1680/2416/187 1672/2414/187 +f 1680/2416/187 1673/2418/181 1665/2417/181 +f 1673/2418/181 1674/2420/180 1666/2419/180 +f 1674/2420/180 1675/2422/182 1667/2421/182 +f 1675/2422/182 1676/2424/183 1668/2423/183 +f 1676/2424/183 1677/2426/184 1669/2425/184 +f 1677/2426/184 1678/2410/185 1670/2412/185 +f 1694/2427/180 1695/2471/182 1687/2428/182 +f 1695/2430/182 1696/2433/183 1688/2431/183 +f 1696/2433/183 1689/2435/184 1681/2434/184 +f 1689/2435/184 1690/2437/185 1682/2436/185 +f 1690/2437/185 1691/2439/186 1683/2438/186 +f 1691/2439/186 1692/2441/187 1684/2440/187 +f 1692/2441/187 1693/2443/181 1685/2442/181 +f 1693/2443/181 1694/2427/180 1686/2429/180 +f 1710/2444/180 1711/2472/182 1703/2445/182 +f 1711/2447/182 1712/2450/183 1704/2448/183 +f 1712/2450/183 1705/2452/184 1697/2451/184 +f 1705/2452/184 1706/2454/185 1698/2453/185 +f 1706/2454/185 1707/2456/186 1699/2455/186 +f 1707/2456/186 1708/2458/187 1700/2457/187 +f 1708/2458/187 1709/2460/181 1701/2459/181 +f 1709/2460/181 1710/2444/180 1702/2446/180 o SuspensionBottom v -3.187505 1.562501 6.437500 v -3.320088 1.562501 6.382583 @@ -6183,6 +6889,70 @@ v 3.187506 0.875000 6.437500 v 3.054923 0.875000 6.382583 v 3.000006 0.875000 6.250000 v 3.054923 0.875000 6.117417 +v -3.187505 1.562501 6.437500 +v -3.320088 1.562501 6.382583 +v -3.375005 1.562501 6.250000 +v -3.320088 1.562501 6.117417 +v -3.187505 1.562501 6.062500 +v -3.054923 1.562501 6.117417 +v -3.000005 1.562501 6.250000 +v -3.054923 1.562501 6.382583 +v -3.187506 0.875001 6.437500 +v -3.320087 0.875001 6.382583 +v -3.375006 0.875001 6.250000 +v -3.320087 0.875001 6.117417 +v -3.187506 0.875001 6.062500 +v -3.054923 0.875001 6.117417 +v -3.000006 0.875001 6.250000 +v -3.054923 0.875001 6.382583 +v -3.187505 1.562501 7.937500 +v -3.320088 1.562501 7.882583 +v -3.375005 1.562501 7.750000 +v -3.320088 1.562501 7.617417 +v -3.187505 1.562501 7.562500 +v -3.054923 1.562501 7.617417 +v -3.000005 1.562501 7.750000 +v -3.054923 1.562501 7.882583 +v -3.187506 0.875001 7.937500 +v -3.320087 0.875001 7.882583 +v -3.375006 0.875001 7.750000 +v -3.320087 0.875001 7.617417 +v -3.187506 0.875001 7.562500 +v -3.054923 0.875001 7.617417 +v -3.000006 0.875001 7.750000 +v -3.054923 0.875001 7.882583 +v 3.187506 1.562501 7.562500 +v 3.320088 1.562501 7.617417 +v 3.375006 1.562501 7.750000 +v 3.320088 1.562501 7.882583 +v 3.187506 1.562501 7.937500 +v 3.054923 1.562501 7.882583 +v 3.000006 1.562501 7.750000 +v 3.054923 1.562501 7.617417 +v 3.187506 0.875000 7.562500 +v 3.320088 0.875000 7.617417 +v 3.375006 0.875000 7.750000 +v 3.320088 0.875000 7.882583 +v 3.187506 0.875000 7.937500 +v 3.054923 0.875000 7.882583 +v 3.000006 0.875000 7.750000 +v 3.054923 0.875000 7.617417 +v 3.187506 1.562501 6.062500 +v 3.320088 1.562501 6.117417 +v 3.375006 1.562501 6.250000 +v 3.320088 1.562501 6.382583 +v 3.187506 1.562501 6.437500 +v 3.054923 1.562501 6.382583 +v 3.000006 1.562501 6.250000 +v 3.054923 1.562501 6.117417 +v 3.187506 0.875000 6.062500 +v 3.320088 0.875000 6.117417 +v 3.375006 0.875000 6.250000 +v 3.320088 0.875000 6.382583 +v 3.187506 0.875000 6.437500 +v 3.054923 0.875000 6.382583 +v 3.000006 0.875000 6.250000 +v 3.054923 0.875000 6.117417 vt 0.837349 0.641860 vt 0.846816 0.637209 vt 0.846816 0.641860 @@ -6319,6 +7089,72 @@ vt 0.833907 0.651163 vt 0.822719 0.641860 vt 0.833046 0.646512 vt 0.832186 0.641860 +vt 0.821859 0.637209 +vt 0.830465 0.632558 +vt 0.820998 0.632558 +vt 0.837349 0.669767 +vt 0.827022 0.665116 +vt 0.827883 0.669767 +vt 0.836489 0.665116 +vt 0.826162 0.660465 +vt 0.835628 0.660465 +vt 0.825301 0.655814 +vt 0.834768 0.655814 +vt 0.824441 0.651163 +vt 0.833046 0.646512 +vt 0.823580 0.646512 +vt 0.822719 0.641860 +vt 0.832186 0.641860 +vt 0.831325 0.637209 +vt 0.820998 0.632558 +vt 0.821859 0.637209 +vt 0.837349 0.669767 +vt 0.827022 0.665116 +vt 0.827883 0.669767 +vt 0.836489 0.665116 +vt 0.826162 0.660465 +vt 0.835628 0.660465 +vt 0.825301 0.655814 +vt 0.834768 0.655814 +vt 0.824441 0.651163 +vt 0.833907 0.651163 +vt 0.823580 0.646512 +vt 0.833046 0.646512 +vt 0.822719 0.641860 +vt 0.831325 0.637209 +vt 0.820998 0.632558 +vt 0.821859 0.637209 +vt 0.837349 0.669767 +vt 0.827022 0.665116 +vt 0.827883 0.669767 +vt 0.836489 0.665116 +vt 0.826162 0.660465 +vt 0.835628 0.660465 +vt 0.825301 0.655814 +vt 0.834768 0.655814 +vt 0.824441 0.651163 +vt 0.833907 0.651163 +vt 0.823580 0.646512 +vt 0.833046 0.646512 +vt 0.822719 0.641860 +vt 0.832186 0.641860 +vt 0.831325 0.637209 +vt 0.820998 0.632558 +vt 0.821859 0.637209 +vt 0.837349 0.669767 +vt 0.827022 0.665116 +vt 0.827883 0.669767 +vt 0.836489 0.665116 +vt 0.826162 0.660465 +vt 0.835628 0.660465 +vt 0.825301 0.655814 +vt 0.834768 0.655814 +vt 0.824441 0.651163 +vt 0.833907 0.651163 +vt 0.823580 0.646512 +vt 0.833046 0.646512 +vt 0.822719 0.641860 +vt 0.832186 0.641860 vt 0.820998 0.632558 vt 0.846816 0.632558 vt 0.846816 0.632558 @@ -6327,6 +7163,12 @@ vt 0.830465 0.632558 vt 0.846816 0.632558 vt 0.846816 0.632558 vt 0.830465 0.632558 +vt 0.831325 0.637209 +vt 0.833907 0.651163 +vt 0.830465 0.632558 +vt 0.832186 0.641860 +vt 0.830465 0.632558 +vt 0.830465 0.632558 vn -0.0000 -0.0000 -1.0000 vn 0.7071 -0.0000 -0.7071 vn 1.0000 -0.0000 -0.0000 @@ -6336,134 +7178,198 @@ vn -0.7071 0.0000 0.7071 vn -1.0000 0.0000 -0.0000 vn -0.7071 0.0000 -0.7071 s 1 -f 1501/2215/188 1518/2216/189 1517/2217/188 -f 1494/2218/189 1511/2219/190 1510/2220/189 -f 1503/2221/190 1518/2216/189 1502/2222/189 -f 1496/2223/191 1511/2224/190 1495/2225/190 -f 1504/2226/191 1519/2227/190 1503/2228/190 -f 1489/2229/192 1512/2230/191 1496/2223/191 -f 1490/2231/193 1505/2232/192 1489/2229/192 -f 1497/2233/192 1520/2234/191 1504/2226/191 -f 1498/2235/193 1513/2236/192 1497/2233/192 -f 1491/2237/194 1506/2238/193 1490/2231/193 -f 1499/2239/194 1514/2240/193 1498/2235/193 -f 1491/2237/194 1508/2241/195 1507/2242/194 -f 1500/2243/195 1515/2244/194 1499/2239/194 -f 1493/2245/188 1508/2241/195 1492/2246/195 -f 1501/2215/188 1516/2247/195 1500/2243/195 -f 1494/2218/189 1509/2248/188 1493/2245/188 -f 1525/2249/188 1534/2250/189 1533/2251/188 -f 1527/2252/190 1534/2250/189 1526/2253/189 -f 1528/2254/191 1535/2255/190 1527/2256/190 -f 1521/2257/192 1536/2258/191 1528/2254/191 -f 1522/2259/193 1529/2260/192 1521/2257/192 -f 1523/2261/194 1530/2262/193 1522/2259/193 -f 1524/2263/195 1531/2264/194 1523/2261/194 -f 1525/2249/188 1532/2265/195 1524/2263/195 -f 1543/2266/190 1550/2267/189 1542/2268/189 -f 1544/2269/191 1551/2270/190 1543/2271/190 -f 1537/2272/192 1552/2273/191 1544/2269/191 -f 1538/2274/193 1545/2275/192 1537/2272/192 -f 1539/2276/194 1546/2277/193 1538/2274/193 -f 1540/2278/195 1547/2279/194 1539/2276/194 -f 1541/2280/188 1548/2281/195 1540/2278/195 -f 1542/2268/189 1549/2282/188 1541/2280/188 -f 1566/2283/193 1581/2284/192 1565/2285/192 -f 1559/2286/194 1574/2287/193 1558/2288/193 -f 1567/2289/194 1582/2290/193 1566/2283/193 -f 1560/2291/195 1575/2292/194 1559/2293/194 -f 1568/2294/195 1583/2295/194 1567/2296/194 -f 1553/2297/188 1576/2298/195 1560/2291/195 -f 1554/2299/189 1569/2300/188 1553/2297/188 -f 1561/2301/188 1584/2302/195 1568/2294/195 -f 1562/2303/189 1577/2304/188 1561/2301/188 -f 1555/2305/190 1570/2306/189 1554/2299/189 -f 1563/2307/190 1578/2308/189 1562/2303/189 -f 1556/2309/191 1571/2310/190 1555/2305/190 -f 1564/2311/191 1579/2312/190 1563/2307/190 -f 1557/2313/192 1572/2314/191 1556/2309/191 -f 1565/2285/192 1580/2315/191 1564/2311/191 -f 1558/2288/193 1573/2316/192 1557/2313/192 -f 1590/2317/193 1597/2318/192 1589/2319/192 -f 1591/2320/194 1598/2321/193 1590/2317/193 -f 1592/2322/195 1599/2323/194 1591/2324/194 -f 1585/2325/188 1600/2326/195 1592/2322/195 -f 1586/2327/189 1593/2328/188 1585/2325/188 -f 1587/2329/190 1594/2330/189 1586/2327/189 -f 1588/2331/191 1595/2332/190 1587/2329/190 -f 1589/2319/192 1596/2333/191 1588/2331/191 -f 1607/2334/194 1614/2335/193 1606/2336/193 -f 1608/2337/195 1615/2338/194 1607/2339/194 -f 1601/2340/188 1616/2341/195 1608/2337/195 -f 1602/2342/189 1609/2343/188 1601/2340/188 -f 1603/2344/190 1610/2345/189 1602/2342/189 -f 1604/2346/191 1611/2347/190 1603/2344/190 -f 1605/2348/192 1612/2349/191 1604/2346/191 -f 1606/2336/193 1613/2350/192 1605/2348/192 -f 1501/2215/188 1502/2222/189 1518/2216/189 -f 1494/2218/189 1495/2351/190 1511/2219/190 -f 1503/2221/190 1519/2352/190 1518/2216/189 -f 1496/2223/191 1512/2230/191 1511/2224/190 -f 1504/2226/191 1520/2234/191 1519/2227/190 -f 1489/2229/192 1505/2232/192 1512/2230/191 -f 1490/2231/193 1506/2238/193 1505/2232/192 -f 1497/2233/192 1513/2236/192 1520/2234/191 -f 1498/2235/193 1514/2240/193 1513/2236/192 -f 1491/2237/194 1507/2242/194 1506/2238/193 -f 1499/2239/194 1515/2244/194 1514/2240/193 -f 1491/2237/194 1492/2246/195 1508/2241/195 -f 1500/2243/195 1516/2247/195 1515/2244/194 -f 1493/2245/188 1509/2248/188 1508/2241/195 -f 1501/2215/188 1517/2217/188 1516/2247/195 -f 1494/2218/189 1510/2220/189 1509/2248/188 -f 1525/2249/188 1526/2253/189 1534/2250/189 -f 1527/2252/190 1535/2353/190 1534/2250/189 -f 1528/2254/191 1536/2258/191 1535/2255/190 -f 1521/2257/192 1529/2260/192 1536/2258/191 -f 1522/2259/193 1530/2262/193 1529/2260/192 -f 1523/2261/194 1531/2264/194 1530/2262/193 -f 1524/2263/195 1532/2265/195 1531/2264/194 -f 1525/2249/188 1533/2251/188 1532/2265/195 -f 1543/2266/190 1551/2354/190 1550/2267/189 -f 1544/2269/191 1552/2273/191 1551/2270/190 -f 1537/2272/192 1545/2275/192 1552/2273/191 -f 1538/2274/193 1546/2277/193 1545/2275/192 -f 1539/2276/194 1547/2279/194 1546/2277/193 -f 1540/2278/195 1548/2281/195 1547/2279/194 -f 1541/2280/188 1549/2282/188 1548/2281/195 -f 1542/2268/189 1550/2267/189 1549/2282/188 -f 1566/2283/193 1582/2290/193 1581/2284/192 -f 1559/2286/194 1575/2355/194 1574/2287/193 -f 1567/2289/194 1583/2356/194 1582/2290/193 -f 1560/2291/195 1576/2298/195 1575/2292/194 -f 1568/2294/195 1584/2302/195 1583/2295/194 -f 1553/2297/188 1569/2300/188 1576/2298/195 -f 1554/2299/189 1570/2306/189 1569/2300/188 -f 1561/2301/188 1577/2304/188 1584/2302/195 -f 1562/2303/189 1578/2308/189 1577/2304/188 -f 1555/2305/190 1571/2310/190 1570/2306/189 -f 1563/2307/190 1579/2312/190 1578/2308/189 -f 1556/2309/191 1572/2314/191 1571/2310/190 -f 1564/2311/191 1580/2315/191 1579/2312/190 -f 1557/2313/192 1573/2316/192 1572/2314/191 -f 1565/2285/192 1581/2284/192 1580/2315/191 -f 1558/2288/193 1574/2287/193 1573/2316/192 -f 1590/2317/193 1598/2321/193 1597/2318/192 -f 1591/2320/194 1599/2357/194 1598/2321/193 -f 1592/2322/195 1600/2326/195 1599/2323/194 -f 1585/2325/188 1593/2328/188 1600/2326/195 -f 1586/2327/189 1594/2330/189 1593/2328/188 -f 1587/2329/190 1595/2332/190 1594/2330/189 -f 1588/2331/191 1596/2333/191 1595/2332/190 -f 1589/2319/192 1597/2318/192 1596/2333/191 -f 1607/2334/194 1615/2358/194 1614/2335/193 -f 1608/2337/195 1616/2341/195 1615/2338/194 -f 1601/2340/188 1609/2343/188 1616/2341/195 -f 1602/2342/189 1610/2345/189 1609/2343/188 -f 1603/2344/190 1611/2347/190 1610/2345/189 -f 1604/2346/191 1612/2349/191 1611/2347/190 -f 1605/2348/192 1613/2350/192 1612/2349/191 -f 1606/2336/193 1614/2335/193 1613/2350/192 +f 1725/2473/188 1742/2474/189 1741/2475/188 +f 1718/2476/189 1735/2477/190 1734/2478/189 +f 1727/2479/190 1742/2474/189 1726/2480/189 +f 1720/2481/191 1735/2482/190 1719/2483/190 +f 1728/2484/191 1743/2485/190 1727/2486/190 +f 1713/2487/192 1736/2488/191 1720/2481/191 +f 1714/2489/193 1729/2490/192 1713/2487/192 +f 1721/2491/192 1744/2492/191 1728/2484/191 +f 1722/2493/193 1737/2494/192 1721/2491/192 +f 1715/2495/194 1730/2496/193 1714/2489/193 +f 1723/2497/194 1738/2498/193 1722/2493/193 +f 1715/2495/194 1732/2499/195 1731/2500/194 +f 1724/2501/195 1739/2502/194 1723/2497/194 +f 1717/2503/188 1732/2499/195 1716/2504/195 +f 1725/2473/188 1740/2505/195 1724/2501/195 +f 1718/2476/189 1733/2506/188 1717/2503/188 +f 1749/2507/188 1758/2508/189 1757/2509/188 +f 1751/2510/190 1758/2508/189 1750/2511/189 +f 1752/2512/191 1759/2513/190 1751/2514/190 +f 1745/2515/192 1760/2516/191 1752/2512/191 +f 1746/2517/193 1753/2518/192 1745/2515/192 +f 1747/2519/194 1754/2520/193 1746/2517/193 +f 1748/2521/195 1755/2522/194 1747/2519/194 +f 1749/2507/188 1756/2523/195 1748/2521/195 +f 1767/2524/190 1774/2525/189 1766/2526/189 +f 1768/2527/191 1775/2528/190 1767/2529/190 +f 1761/2530/192 1776/2531/191 1768/2527/191 +f 1762/2532/193 1769/2533/192 1761/2530/192 +f 1763/2534/194 1770/2535/193 1762/2532/193 +f 1764/2536/195 1771/2537/194 1763/2534/194 +f 1765/2538/188 1772/2539/195 1764/2536/195 +f 1766/2526/189 1773/2540/188 1765/2538/188 +f 1790/2541/193 1805/2542/192 1789/2543/192 +f 1783/2544/194 1798/2545/193 1782/2546/193 +f 1791/2547/194 1806/2548/193 1790/2541/193 +f 1784/2549/195 1799/2550/194 1783/2551/194 +f 1792/2552/195 1807/2553/194 1791/2554/194 +f 1777/2555/188 1800/2556/195 1784/2549/195 +f 1778/2557/189 1793/2558/188 1777/2555/188 +f 1785/2559/188 1808/2560/195 1792/2552/195 +f 1786/2561/189 1801/2562/188 1785/2559/188 +f 1779/2563/190 1794/2564/189 1778/2557/189 +f 1787/2565/190 1802/2566/189 1786/2561/189 +f 1780/2567/191 1795/2568/190 1779/2563/190 +f 1788/2569/191 1803/2570/190 1787/2565/190 +f 1781/2571/192 1796/2572/191 1780/2567/191 +f 1789/2543/192 1804/2573/191 1788/2569/191 +f 1782/2546/193 1797/2574/192 1781/2571/192 +f 1814/2575/193 1821/2576/192 1813/2577/192 +f 1815/2578/194 1822/2579/193 1814/2575/193 +f 1816/2580/195 1823/2581/194 1815/2582/194 +f 1809/2583/188 1824/2584/195 1816/2580/195 +f 1810/2585/189 1817/2586/188 1809/2583/188 +f 1811/2587/190 1818/2588/189 1810/2585/189 +f 1812/2589/191 1819/2590/190 1811/2587/190 +f 1813/2577/192 1820/2591/191 1812/2589/191 +f 1831/2592/194 1838/2593/193 1830/2594/193 +f 1832/2595/195 1839/2596/194 1831/2597/194 +f 1825/2598/188 1840/2599/195 1832/2595/195 +f 1826/2600/189 1833/2601/188 1825/2598/188 +f 1827/2602/190 1834/2603/189 1826/2600/189 +f 1828/2604/191 1835/2605/190 1827/2602/190 +f 1829/2606/192 1836/2607/191 1828/2604/191 +f 1830/2594/193 1837/2608/192 1829/2606/192 +f 1846/2609/193 1855/2610/194 1847/2611/194 +f 1855/2612/194 1848/2613/195 1847/2614/194 +f 1856/2615/195 1841/2616/188 1848/2613/195 +f 1849/2617/188 1842/2618/189 1841/2616/188 +f 1850/2619/189 1843/2620/190 1842/2618/189 +f 1843/2620/190 1852/2621/191 1844/2622/191 +f 1852/2621/191 1845/2623/192 1844/2622/191 +f 1853/2624/192 1846/2609/193 1845/2623/192 +f 1870/2625/193 1863/2626/194 1862/2627/193 +f 1871/2628/194 1864/2629/195 1863/2630/194 +f 1872/2631/195 1857/2632/188 1864/2629/195 +f 1865/2633/188 1858/2634/189 1857/2632/188 +f 1866/2635/189 1859/2636/190 1858/2634/189 +f 1867/2637/190 1860/2638/191 1859/2636/190 +f 1868/2639/191 1861/2640/192 1860/2638/191 +f 1861/2640/192 1870/2625/193 1862/2627/193 +f 1886/2641/189 1879/2642/190 1878/2643/189 +f 1887/2644/190 1880/2645/191 1879/2646/190 +f 1888/2647/191 1873/2648/192 1880/2645/191 +f 1881/2649/192 1874/2650/193 1873/2648/192 +f 1882/2651/193 1875/2652/194 1874/2650/193 +f 1883/2653/194 1876/2654/195 1875/2652/194 +f 1884/2655/195 1877/2656/188 1876/2654/195 +f 1885/2657/188 1878/2643/189 1877/2656/188 +f 1902/2658/189 1895/2659/190 1894/2660/189 +f 1903/2661/190 1896/2662/191 1895/2663/190 +f 1904/2664/191 1889/2665/192 1896/2662/191 +f 1897/2666/192 1890/2667/193 1889/2665/192 +f 1898/2668/193 1891/2669/194 1890/2667/193 +f 1899/2670/194 1892/2671/195 1891/2669/194 +f 1900/2672/195 1893/2673/188 1892/2671/195 +f 1901/2674/188 1894/2660/189 1893/2673/188 +f 1725/2473/188 1726/2480/189 1742/2474/189 +f 1718/2476/189 1719/2675/190 1735/2477/190 +f 1727/2479/190 1743/2676/190 1742/2474/189 +f 1720/2481/191 1736/2488/191 1735/2482/190 +f 1728/2484/191 1744/2492/191 1743/2485/190 +f 1713/2487/192 1729/2490/192 1736/2488/191 +f 1714/2489/193 1730/2496/193 1729/2490/192 +f 1721/2491/192 1737/2494/192 1744/2492/191 +f 1722/2493/193 1738/2498/193 1737/2494/192 +f 1715/2495/194 1731/2500/194 1730/2496/193 +f 1723/2497/194 1739/2502/194 1738/2498/193 +f 1715/2495/194 1716/2504/195 1732/2499/195 +f 1724/2501/195 1740/2505/195 1739/2502/194 +f 1717/2503/188 1733/2506/188 1732/2499/195 +f 1725/2473/188 1741/2475/188 1740/2505/195 +f 1718/2476/189 1734/2478/189 1733/2506/188 +f 1749/2507/188 1750/2511/189 1758/2508/189 +f 1751/2510/190 1759/2677/190 1758/2508/189 +f 1752/2512/191 1760/2516/191 1759/2513/190 +f 1745/2515/192 1753/2518/192 1760/2516/191 +f 1746/2517/193 1754/2520/193 1753/2518/192 +f 1747/2519/194 1755/2522/194 1754/2520/193 +f 1748/2521/195 1756/2523/195 1755/2522/194 +f 1749/2507/188 1757/2509/188 1756/2523/195 +f 1767/2524/190 1775/2678/190 1774/2525/189 +f 1768/2527/191 1776/2531/191 1775/2528/190 +f 1761/2530/192 1769/2533/192 1776/2531/191 +f 1762/2532/193 1770/2535/193 1769/2533/192 +f 1763/2534/194 1771/2537/194 1770/2535/193 +f 1764/2536/195 1772/2539/195 1771/2537/194 +f 1765/2538/188 1773/2540/188 1772/2539/195 +f 1766/2526/189 1774/2525/189 1773/2540/188 +f 1790/2541/193 1806/2548/193 1805/2542/192 +f 1783/2544/194 1799/2679/194 1798/2545/193 +f 1791/2547/194 1807/2680/194 1806/2548/193 +f 1784/2549/195 1800/2556/195 1799/2550/194 +f 1792/2552/195 1808/2560/195 1807/2553/194 +f 1777/2555/188 1793/2558/188 1800/2556/195 +f 1778/2557/189 1794/2564/189 1793/2558/188 +f 1785/2559/188 1801/2562/188 1808/2560/195 +f 1786/2561/189 1802/2566/189 1801/2562/188 +f 1779/2563/190 1795/2568/190 1794/2564/189 +f 1787/2565/190 1803/2570/190 1802/2566/189 +f 1780/2567/191 1796/2572/191 1795/2568/190 +f 1788/2569/191 1804/2573/191 1803/2570/190 +f 1781/2571/192 1797/2574/192 1796/2572/191 +f 1789/2543/192 1805/2542/192 1804/2573/191 +f 1782/2546/193 1798/2545/193 1797/2574/192 +f 1814/2575/193 1822/2579/193 1821/2576/192 +f 1815/2578/194 1823/2681/194 1822/2579/193 +f 1816/2580/195 1824/2584/195 1823/2581/194 +f 1809/2583/188 1817/2586/188 1824/2584/195 +f 1810/2585/189 1818/2588/189 1817/2586/188 +f 1811/2587/190 1819/2590/190 1818/2588/189 +f 1812/2589/191 1820/2591/191 1819/2590/190 +f 1813/2577/192 1821/2576/192 1820/2591/191 +f 1831/2592/194 1839/2682/194 1838/2593/193 +f 1832/2595/195 1840/2599/195 1839/2596/194 +f 1825/2598/188 1833/2601/188 1840/2599/195 +f 1826/2600/189 1834/2603/189 1833/2601/188 +f 1827/2602/190 1835/2605/190 1834/2603/189 +f 1828/2604/191 1836/2607/191 1835/2605/190 +f 1829/2606/192 1837/2608/192 1836/2607/191 +f 1830/2594/193 1838/2593/193 1837/2608/192 +f 1846/2609/193 1854/2683/193 1855/2610/194 +f 1855/2612/194 1856/2615/195 1848/2613/195 +f 1856/2615/195 1849/2617/188 1841/2616/188 +f 1849/2617/188 1850/2619/189 1842/2618/189 +f 1850/2619/189 1851/2684/190 1843/2620/190 +f 1843/2620/190 1851/2684/190 1852/2621/191 +f 1852/2621/191 1853/2624/192 1845/2623/192 +f 1853/2624/192 1854/2683/193 1846/2609/193 +f 1870/2625/193 1871/2685/194 1863/2626/194 +f 1871/2628/194 1872/2631/195 1864/2629/195 +f 1872/2631/195 1865/2633/188 1857/2632/188 +f 1865/2633/188 1866/2635/189 1858/2634/189 +f 1866/2635/189 1867/2637/190 1859/2636/190 +f 1867/2637/190 1868/2639/191 1860/2638/191 +f 1868/2639/191 1869/2686/192 1861/2640/192 +f 1861/2640/192 1869/2686/192 1870/2625/193 +f 1886/2641/189 1887/2687/190 1879/2642/190 +f 1887/2644/190 1888/2647/191 1880/2645/191 +f 1888/2647/191 1881/2649/192 1873/2648/192 +f 1881/2649/192 1882/2651/193 1874/2650/193 +f 1882/2651/193 1883/2653/194 1875/2652/194 +f 1883/2653/194 1884/2655/195 1876/2654/195 +f 1884/2655/195 1885/2657/188 1877/2656/188 +f 1885/2657/188 1886/2641/189 1878/2643/189 +f 1902/2658/189 1903/2688/190 1895/2659/190 +f 1903/2661/190 1904/2664/191 1896/2662/191 +f 1904/2664/191 1897/2666/192 1889/2665/192 +f 1897/2666/192 1898/2668/193 1890/2667/193 +f 1898/2668/193 1899/2670/194 1891/2669/194 +f 1899/2670/194 1900/2672/195 1892/2671/195 +f 1900/2672/195 1901/2674/188 1893/2673/188 +f 1901/2674/188 1902/2658/189 1894/2660/189 o SuspensionTop v -3.187505 5.437495 7.562500 v -3.320088 5.437495 7.617417 @@ -6593,6 +7499,70 @@ v 3.187507 6.124994 7.562500 v 3.054924 6.124994 7.617417 v 3.000007 6.124994 7.750000 v 3.054924 6.124994 7.882583 +v -3.187505 5.437495 7.562500 +v -3.320088 5.437495 7.617417 +v -3.375005 5.437495 7.750000 +v -3.320088 5.437495 7.882583 +v -3.187505 5.437495 7.937500 +v -3.054923 5.437495 7.882583 +v -3.000005 5.437495 7.750000 +v -3.054923 5.437495 7.617417 +v -3.187505 6.124996 7.562500 +v -3.320088 6.124996 7.617417 +v -3.375005 6.124996 7.750000 +v -3.320088 6.124996 7.882583 +v -3.187505 6.124996 7.937500 +v -3.054923 6.124996 7.882583 +v -3.000005 6.124996 7.750000 +v -3.054923 6.124996 7.617417 +v -3.187505 5.437495 6.062500 +v -3.320088 5.437495 6.117417 +v -3.375005 5.437495 6.250000 +v -3.320088 5.437495 6.382583 +v -3.187505 5.437495 6.437500 +v -3.054923 5.437495 6.382583 +v -3.000005 5.437495 6.250000 +v -3.054923 5.437495 6.117417 +v -3.187505 6.124996 6.062500 +v -3.320088 6.124996 6.117417 +v -3.375005 6.124996 6.250000 +v -3.320088 6.124996 6.382583 +v -3.187505 6.124996 6.437500 +v -3.054923 6.124996 6.382583 +v -3.000005 6.124996 6.250000 +v -3.054923 6.124996 6.117417 +v 3.187506 5.437495 6.437500 +v 3.320088 5.437495 6.382583 +v 3.375006 5.437495 6.250000 +v 3.320088 5.437495 6.117417 +v 3.187506 5.437495 6.062500 +v 3.054923 5.437495 6.117417 +v 3.000006 5.437495 6.250000 +v 3.054923 5.437495 6.382583 +v 3.187507 6.124994 6.437500 +v 3.320088 6.124994 6.382583 +v 3.375007 6.124994 6.250000 +v 3.320088 6.124994 6.117417 +v 3.187507 6.124994 6.062500 +v 3.054924 6.124994 6.117417 +v 3.000007 6.124994 6.250000 +v 3.054924 6.124994 6.382583 +v 3.187506 5.437495 7.937500 +v 3.320088 5.437495 7.882583 +v 3.375006 5.437495 7.750000 +v 3.320088 5.437495 7.617417 +v 3.187506 5.437495 7.562500 +v 3.054923 5.437495 7.617417 +v 3.000006 5.437495 7.750000 +v 3.054923 5.437495 7.882583 +v 3.187507 6.124994 7.937500 +v 3.320088 6.124994 7.882583 +v 3.375007 6.124994 7.750000 +v 3.320088 6.124994 7.617417 +v 3.187507 6.124994 7.562500 +v 3.054924 6.124994 7.617417 +v 3.000007 6.124994 7.750000 +v 3.054924 6.124994 7.882583 vt 0.837349 0.637209 vt 0.846816 0.641860 vt 0.837349 0.641860 @@ -6729,6 +7699,73 @@ vt 0.833907 0.651163 vt 0.822719 0.641860 vt 0.823580 0.646512 vt 0.832186 0.641860 +vt 0.831325 0.637209 +vt 0.820998 0.632558 +vt 0.821859 0.637209 +vt 0.837349 0.669767 +vt 0.827022 0.665116 +vt 0.827883 0.669767 +vt 0.836489 0.665116 +vt 0.826162 0.660465 +vt 0.835628 0.660465 +vt 0.825301 0.655814 +vt 0.834768 0.655814 +vt 0.824441 0.651163 +vt 0.833907 0.651163 +vt 0.823580 0.646512 +vt 0.833046 0.646512 +vt 0.822719 0.641860 +vt 0.832186 0.641860 +vt 0.831325 0.637209 +vt 0.820998 0.632558 +vt 0.821859 0.637209 +vt 0.837349 0.669767 +vt 0.827022 0.665116 +vt 0.827883 0.669767 +vt 0.836489 0.665116 +vt 0.826162 0.660465 +vt 0.835628 0.660465 +vt 0.825301 0.655814 +vt 0.834768 0.655814 +vt 0.824441 0.651163 +vt 0.833907 0.651163 +vt 0.823580 0.646512 +vt 0.833046 0.646512 +vt 0.822719 0.641860 +vt 0.832186 0.641860 +vt 0.821859 0.637209 +vt 0.830465 0.632558 +vt 0.820998 0.632558 +vt 0.837349 0.669767 +vt 0.827022 0.665116 +vt 0.827883 0.669767 +vt 0.836489 0.665116 +vt 0.826162 0.660465 +vt 0.835628 0.660465 +vt 0.825301 0.655814 +vt 0.834768 0.655814 +vt 0.824441 0.651163 +vt 0.833046 0.646512 +vt 0.823580 0.646512 +vt 0.832186 0.641860 +vt 0.822719 0.641860 +vt 0.831325 0.637209 +vt 0.821859 0.637209 +vt 0.830465 0.632558 +vt 0.820998 0.632558 +vt 0.837349 0.669767 +vt 0.827022 0.665116 +vt 0.827883 0.669767 +vt 0.836489 0.665116 +vt 0.826162 0.660465 +vt 0.835628 0.660465 +vt 0.825301 0.655814 +vt 0.834768 0.655814 +vt 0.824441 0.651163 +vt 0.833046 0.646512 +vt 0.823580 0.646512 +vt 0.822719 0.641860 +vt 0.831325 0.637209 vt 0.830465 0.632558 vt 0.846816 0.632558 vt 0.846816 0.632558 @@ -6737,6 +7774,11 @@ vt 0.820998 0.632558 vt 0.837349 0.632558 vt 0.837349 0.632558 vt 0.820998 0.632558 +vt 0.830465 0.632558 +vt 0.830465 0.632558 +vt 0.833907 0.651163 +vt 0.833907 0.651163 +vt 0.832186 0.641860 vn 0.7071 0.0000 0.7071 vn -0.0000 0.0000 1.0000 vn 1.0000 0.0000 0.0000 @@ -6746,134 +7788,198 @@ vn -0.7071 0.0000 -0.7071 vn -1.0000 0.0000 0.0000 vn -0.7071 0.0000 0.7071 s 1 -f 1630/2359/196 1645/2360/197 1629/2361/197 -f 1623/2362/198 1638/2363/196 1622/2364/196 -f 1631/2365/198 1646/2366/196 1630/2359/196 -f 1624/2367/199 1639/2368/198 1623/2369/198 -f 1632/2370/199 1647/2371/198 1631/2372/198 -f 1617/2373/200 1640/2374/199 1624/2367/199 -f 1618/2375/201 1633/2376/200 1617/2373/200 -f 1625/2377/200 1648/2378/199 1632/2370/199 -f 1626/2379/201 1641/2380/200 1625/2377/200 -f 1619/2381/202 1634/2382/201 1618/2375/201 -f 1627/2383/202 1642/2384/201 1626/2379/201 -f 1620/2385/203 1635/2386/202 1619/2381/202 -f 1628/2387/203 1643/2388/202 1627/2383/202 -f 1621/2389/197 1636/2390/203 1620/2385/203 -f 1629/2361/197 1644/2391/203 1628/2387/203 -f 1622/2364/196 1637/2392/197 1621/2389/197 -f 1654/2393/196 1661/2394/197 1653/2395/197 -f 1655/2396/198 1662/2397/196 1654/2393/196 -f 1656/2398/199 1663/2399/198 1655/2400/198 -f 1649/2401/200 1664/2402/199 1656/2398/199 -f 1650/2403/201 1657/2404/200 1649/2401/200 -f 1651/2405/202 1658/2406/201 1650/2403/201 -f 1652/2407/203 1659/2408/202 1651/2405/202 -f 1653/2395/197 1660/2409/203 1652/2407/203 -f 1671/2410/198 1678/2411/196 1670/2412/196 -f 1672/2413/199 1679/2414/198 1671/2415/198 -f 1665/2416/200 1680/2417/199 1672/2413/199 -f 1666/2418/201 1673/2419/200 1665/2416/200 -f 1667/2420/202 1674/2421/201 1666/2418/201 -f 1668/2422/203 1675/2423/202 1667/2420/202 -f 1669/2424/197 1676/2425/203 1668/2422/203 -f 1670/2412/196 1677/2426/197 1669/2424/197 -f 1693/2427/200 1710/2428/201 1709/2429/200 -f 1686/2430/201 1703/2431/202 1702/2432/201 -f 1694/2433/201 1711/2434/202 1710/2428/201 -f 1688/2435/203 1703/2436/202 1687/2437/202 -f 1696/2438/203 1711/2439/202 1695/2440/202 -f 1681/2441/197 1704/2442/203 1688/2435/203 -f 1682/2443/196 1697/2444/197 1681/2441/197 -f 1689/2445/197 1712/2446/203 1696/2438/203 -f 1690/2447/196 1705/2448/197 1689/2445/197 -f 1683/2449/198 1698/2450/196 1682/2443/196 -f 1691/2451/198 1706/2452/196 1690/2447/196 -f 1683/2449/198 1700/2453/199 1699/2454/198 -f 1692/2455/199 1707/2456/198 1691/2451/198 -f 1684/2457/199 1701/2458/200 1700/2453/199 -f 1692/2455/199 1709/2429/200 1708/2459/199 -f 1685/2460/200 1702/2432/201 1701/2458/200 -f 1717/2461/200 1726/2462/201 1725/2463/200 -f 1718/2464/201 1727/2465/202 1726/2462/201 -f 1720/2466/203 1727/2467/202 1719/2468/202 -f 1713/2469/197 1728/2470/203 1720/2466/203 -f 1714/2471/196 1721/2472/197 1713/2469/197 -f 1715/2473/198 1722/2474/196 1714/2471/196 -f 1715/2473/198 1724/2475/199 1723/2476/198 -f 1716/2477/199 1725/2463/200 1724/2475/199 -f 1734/2478/201 1743/2479/202 1742/2480/201 -f 1736/2481/203 1743/2482/202 1735/2483/202 -f 1729/2484/197 1744/2485/203 1736/2481/203 -f 1730/2486/196 1737/2487/197 1729/2484/197 -f 1731/2488/198 1738/2489/196 1730/2486/196 -f 1731/2488/198 1740/2490/199 1739/2491/198 -f 1733/2492/200 1740/2490/199 1732/2493/199 -f 1733/2492/200 1742/2480/201 1741/2494/200 -f 1630/2359/196 1646/2366/196 1645/2360/197 -f 1623/2362/198 1639/2495/198 1638/2363/196 -f 1631/2365/198 1647/2496/198 1646/2366/196 -f 1624/2367/199 1640/2374/199 1639/2368/198 -f 1632/2370/199 1648/2378/199 1647/2371/198 -f 1617/2373/200 1633/2376/200 1640/2374/199 -f 1618/2375/201 1634/2382/201 1633/2376/200 -f 1625/2377/200 1641/2380/200 1648/2378/199 -f 1626/2379/201 1642/2384/201 1641/2380/200 -f 1619/2381/202 1635/2386/202 1634/2382/201 -f 1627/2383/202 1643/2388/202 1642/2384/201 -f 1620/2385/203 1636/2390/203 1635/2386/202 -f 1628/2387/203 1644/2391/203 1643/2388/202 -f 1621/2389/197 1637/2392/197 1636/2390/203 -f 1629/2361/197 1645/2360/197 1644/2391/203 -f 1622/2364/196 1638/2363/196 1637/2392/197 -f 1654/2393/196 1662/2397/196 1661/2394/197 -f 1655/2396/198 1663/2497/198 1662/2397/196 -f 1656/2398/199 1664/2402/199 1663/2399/198 -f 1649/2401/200 1657/2404/200 1664/2402/199 -f 1650/2403/201 1658/2406/201 1657/2404/200 -f 1651/2405/202 1659/2408/202 1658/2406/201 -f 1652/2407/203 1660/2409/203 1659/2408/202 -f 1653/2395/197 1661/2394/197 1660/2409/203 -f 1671/2410/198 1679/2498/198 1678/2411/196 -f 1672/2413/199 1680/2417/199 1679/2414/198 -f 1665/2416/200 1673/2419/200 1680/2417/199 -f 1666/2418/201 1674/2421/201 1673/2419/200 -f 1667/2420/202 1675/2423/202 1674/2421/201 -f 1668/2422/203 1676/2425/203 1675/2423/202 -f 1669/2424/197 1677/2426/197 1676/2425/203 -f 1670/2412/196 1678/2411/196 1677/2426/197 -f 1693/2427/200 1694/2433/201 1710/2428/201 -f 1686/2430/201 1687/2499/202 1703/2431/202 -f 1694/2433/201 1695/2500/202 1711/2434/202 -f 1688/2435/203 1704/2442/203 1703/2436/202 -f 1696/2438/203 1712/2446/203 1711/2439/202 -f 1681/2441/197 1697/2444/197 1704/2442/203 -f 1682/2443/196 1698/2450/196 1697/2444/197 -f 1689/2445/197 1705/2448/197 1712/2446/203 -f 1690/2447/196 1706/2452/196 1705/2448/197 -f 1683/2449/198 1699/2454/198 1698/2450/196 -f 1691/2451/198 1707/2456/198 1706/2452/196 -f 1683/2449/198 1684/2457/199 1700/2453/199 -f 1692/2455/199 1708/2459/199 1707/2456/198 -f 1684/2457/199 1685/2460/200 1701/2458/200 -f 1692/2455/199 1693/2427/200 1709/2429/200 -f 1685/2460/200 1686/2430/201 1702/2432/201 -f 1717/2461/200 1718/2464/201 1726/2462/201 -f 1718/2464/201 1719/2501/202 1727/2465/202 -f 1720/2466/203 1728/2470/203 1727/2467/202 -f 1713/2469/197 1721/2472/197 1728/2470/203 -f 1714/2471/196 1722/2474/196 1721/2472/197 -f 1715/2473/198 1723/2476/198 1722/2474/196 -f 1715/2473/198 1716/2477/199 1724/2475/199 -f 1716/2477/199 1717/2461/200 1725/2463/200 -f 1734/2478/201 1735/2502/202 1743/2479/202 -f 1736/2481/203 1744/2485/203 1743/2482/202 -f 1729/2484/197 1737/2487/197 1744/2485/203 -f 1730/2486/196 1738/2489/196 1737/2487/197 -f 1731/2488/198 1739/2491/198 1738/2489/196 -f 1731/2488/198 1732/2493/199 1740/2490/199 -f 1733/2492/200 1741/2494/200 1740/2490/199 -f 1733/2492/200 1734/2478/201 1742/2480/201 +f 1918/2689/196 1933/2690/197 1917/2691/197 +f 1911/2692/198 1926/2693/196 1910/2694/196 +f 1919/2695/198 1934/2696/196 1918/2689/196 +f 1912/2697/199 1927/2698/198 1911/2699/198 +f 1920/2700/199 1935/2701/198 1919/2702/198 +f 1905/2703/200 1928/2704/199 1912/2697/199 +f 1906/2705/201 1921/2706/200 1905/2703/200 +f 1913/2707/200 1936/2708/199 1920/2700/199 +f 1914/2709/201 1929/2710/200 1913/2707/200 +f 1907/2711/202 1922/2712/201 1906/2705/201 +f 1915/2713/202 1930/2714/201 1914/2709/201 +f 1908/2715/203 1923/2716/202 1907/2711/202 +f 1916/2717/203 1931/2718/202 1915/2713/202 +f 1909/2719/197 1924/2720/203 1908/2715/203 +f 1917/2691/197 1932/2721/203 1916/2717/203 +f 1910/2694/196 1925/2722/197 1909/2719/197 +f 1942/2723/196 1949/2724/197 1941/2725/197 +f 1943/2726/198 1950/2727/196 1942/2723/196 +f 1944/2728/199 1951/2729/198 1943/2730/198 +f 1937/2731/200 1952/2732/199 1944/2728/199 +f 1938/2733/201 1945/2734/200 1937/2731/200 +f 1939/2735/202 1946/2736/201 1938/2733/201 +f 1940/2737/203 1947/2738/202 1939/2735/202 +f 1941/2725/197 1948/2739/203 1940/2737/203 +f 1959/2740/198 1966/2741/196 1958/2742/196 +f 1960/2743/199 1967/2744/198 1959/2745/198 +f 1953/2746/200 1968/2747/199 1960/2743/199 +f 1954/2748/201 1961/2749/200 1953/2746/200 +f 1955/2750/202 1962/2751/201 1954/2748/201 +f 1956/2752/203 1963/2753/202 1955/2750/202 +f 1957/2754/197 1964/2755/203 1956/2752/203 +f 1958/2742/196 1965/2756/197 1957/2754/197 +f 1981/2757/200 1998/2758/201 1997/2759/200 +f 1974/2760/201 1991/2761/202 1990/2762/201 +f 1982/2763/201 1999/2764/202 1998/2758/201 +f 1976/2765/203 1991/2766/202 1975/2767/202 +f 1984/2768/203 1999/2769/202 1983/2770/202 +f 1969/2771/197 1992/2772/203 1976/2765/203 +f 1970/2773/196 1985/2774/197 1969/2771/197 +f 1977/2775/197 2000/2776/203 1984/2768/203 +f 1978/2777/196 1993/2778/197 1977/2775/197 +f 1971/2779/198 1986/2780/196 1970/2773/196 +f 1979/2781/198 1994/2782/196 1978/2777/196 +f 1971/2779/198 1988/2783/199 1987/2784/198 +f 1980/2785/199 1995/2786/198 1979/2781/198 +f 1972/2787/199 1989/2788/200 1988/2783/199 +f 1980/2785/199 1997/2759/200 1996/2789/199 +f 1973/2790/200 1990/2762/201 1989/2788/200 +f 2005/2791/200 2014/2792/201 2013/2793/200 +f 2006/2794/201 2015/2795/202 2014/2792/201 +f 2008/2796/203 2015/2797/202 2007/2798/202 +f 2001/2799/197 2016/2800/203 2008/2796/203 +f 2002/2801/196 2009/2802/197 2001/2799/197 +f 2003/2803/198 2010/2804/196 2002/2801/196 +f 2003/2803/198 2012/2805/199 2011/2806/198 +f 2004/2807/199 2013/2793/200 2012/2805/199 +f 2022/2808/201 2031/2809/202 2030/2810/201 +f 2024/2811/203 2031/2812/202 2023/2813/202 +f 2017/2814/197 2032/2815/203 2024/2811/203 +f 2018/2816/196 2025/2817/197 2017/2814/197 +f 2019/2818/198 2026/2819/196 2018/2816/196 +f 2019/2818/198 2028/2820/199 2027/2821/198 +f 2021/2822/200 2028/2820/199 2020/2823/199 +f 2021/2822/200 2030/2810/201 2029/2824/200 +f 2046/2825/201 2039/2826/202 2038/2827/201 +f 2047/2828/202 2040/2829/203 2039/2830/202 +f 2048/2831/203 2033/2832/197 2040/2829/203 +f 2041/2833/197 2034/2834/196 2033/2832/197 +f 2042/2835/196 2035/2836/198 2034/2834/196 +f 2043/2837/198 2036/2838/199 2035/2836/198 +f 2044/2839/199 2037/2840/200 2036/2838/199 +f 2045/2841/200 2038/2827/201 2037/2840/200 +f 2062/2842/201 2055/2843/202 2054/2844/201 +f 2063/2845/202 2056/2846/203 2055/2847/202 +f 2064/2848/203 2049/2849/197 2056/2846/203 +f 2057/2850/197 2050/2851/196 2049/2849/197 +f 2058/2852/196 2051/2853/198 2050/2851/196 +f 2059/2854/198 2052/2855/199 2051/2853/198 +f 2060/2856/199 2053/2857/200 2052/2855/199 +f 2061/2858/200 2054/2844/201 2053/2857/200 +f 2070/2859/196 2079/2860/198 2071/2861/198 +f 2079/2862/198 2072/2863/199 2071/2864/198 +f 2080/2865/199 2065/2866/200 2072/2863/199 +f 2073/2867/200 2066/2868/201 2065/2866/200 +f 2074/2869/201 2067/2870/202 2066/2868/201 +f 2067/2870/202 2076/2871/203 2068/2872/203 +f 2068/2872/203 2077/2873/197 2069/2874/197 +f 2069/2874/197 2078/2875/196 2070/2859/196 +f 2086/2876/196 2095/2877/198 2087/2878/198 +f 2095/2879/198 2088/2880/199 2087/2881/198 +f 2096/2882/199 2081/2883/200 2088/2880/199 +f 2089/2884/200 2082/2885/201 2081/2883/200 +f 2090/2886/201 2083/2887/202 2082/2885/201 +f 2083/2887/202 2092/2888/203 2084/2889/203 +f 2092/2888/203 2085/2890/197 2084/2889/203 +f 2085/2890/197 2094/2891/196 2086/2876/196 +f 1918/2689/196 1934/2696/196 1933/2690/197 +f 1911/2692/198 1927/2892/198 1926/2693/196 +f 1919/2695/198 1935/2893/198 1934/2696/196 +f 1912/2697/199 1928/2704/199 1927/2698/198 +f 1920/2700/199 1936/2708/199 1935/2701/198 +f 1905/2703/200 1921/2706/200 1928/2704/199 +f 1906/2705/201 1922/2712/201 1921/2706/200 +f 1913/2707/200 1929/2710/200 1936/2708/199 +f 1914/2709/201 1930/2714/201 1929/2710/200 +f 1907/2711/202 1923/2716/202 1922/2712/201 +f 1915/2713/202 1931/2718/202 1930/2714/201 +f 1908/2715/203 1924/2720/203 1923/2716/202 +f 1916/2717/203 1932/2721/203 1931/2718/202 +f 1909/2719/197 1925/2722/197 1924/2720/203 +f 1917/2691/197 1933/2690/197 1932/2721/203 +f 1910/2694/196 1926/2693/196 1925/2722/197 +f 1942/2723/196 1950/2727/196 1949/2724/197 +f 1943/2726/198 1951/2894/198 1950/2727/196 +f 1944/2728/199 1952/2732/199 1951/2729/198 +f 1937/2731/200 1945/2734/200 1952/2732/199 +f 1938/2733/201 1946/2736/201 1945/2734/200 +f 1939/2735/202 1947/2738/202 1946/2736/201 +f 1940/2737/203 1948/2739/203 1947/2738/202 +f 1941/2725/197 1949/2724/197 1948/2739/203 +f 1959/2740/198 1967/2895/198 1966/2741/196 +f 1960/2743/199 1968/2747/199 1967/2744/198 +f 1953/2746/200 1961/2749/200 1968/2747/199 +f 1954/2748/201 1962/2751/201 1961/2749/200 +f 1955/2750/202 1963/2753/202 1962/2751/201 +f 1956/2752/203 1964/2755/203 1963/2753/202 +f 1957/2754/197 1965/2756/197 1964/2755/203 +f 1958/2742/196 1966/2741/196 1965/2756/197 +f 1981/2757/200 1982/2763/201 1998/2758/201 +f 1974/2760/201 1975/2896/202 1991/2761/202 +f 1982/2763/201 1983/2897/202 1999/2764/202 +f 1976/2765/203 1992/2772/203 1991/2766/202 +f 1984/2768/203 2000/2776/203 1999/2769/202 +f 1969/2771/197 1985/2774/197 1992/2772/203 +f 1970/2773/196 1986/2780/196 1985/2774/197 +f 1977/2775/197 1993/2778/197 2000/2776/203 +f 1978/2777/196 1994/2782/196 1993/2778/197 +f 1971/2779/198 1987/2784/198 1986/2780/196 +f 1979/2781/198 1995/2786/198 1994/2782/196 +f 1971/2779/198 1972/2787/199 1988/2783/199 +f 1980/2785/199 1996/2789/199 1995/2786/198 +f 1972/2787/199 1973/2790/200 1989/2788/200 +f 1980/2785/199 1981/2757/200 1997/2759/200 +f 1973/2790/200 1974/2760/201 1990/2762/201 +f 2005/2791/200 2006/2794/201 2014/2792/201 +f 2006/2794/201 2007/2898/202 2015/2795/202 +f 2008/2796/203 2016/2800/203 2015/2797/202 +f 2001/2799/197 2009/2802/197 2016/2800/203 +f 2002/2801/196 2010/2804/196 2009/2802/197 +f 2003/2803/198 2011/2806/198 2010/2804/196 +f 2003/2803/198 2004/2807/199 2012/2805/199 +f 2004/2807/199 2005/2791/200 2013/2793/200 +f 2022/2808/201 2023/2899/202 2031/2809/202 +f 2024/2811/203 2032/2815/203 2031/2812/202 +f 2017/2814/197 2025/2817/197 2032/2815/203 +f 2018/2816/196 2026/2819/196 2025/2817/197 +f 2019/2818/198 2027/2821/198 2026/2819/196 +f 2019/2818/198 2020/2823/199 2028/2820/199 +f 2021/2822/200 2029/2824/200 2028/2820/199 +f 2021/2822/200 2022/2808/201 2030/2810/201 +f 2046/2825/201 2047/2900/202 2039/2826/202 +f 2047/2828/202 2048/2831/203 2040/2829/203 +f 2048/2831/203 2041/2833/197 2033/2832/197 +f 2041/2833/197 2042/2835/196 2034/2834/196 +f 2042/2835/196 2043/2837/198 2035/2836/198 +f 2043/2837/198 2044/2839/199 2036/2838/199 +f 2044/2839/199 2045/2841/200 2037/2840/200 +f 2045/2841/200 2046/2825/201 2038/2827/201 +f 2062/2842/201 2063/2901/202 2055/2843/202 +f 2063/2845/202 2064/2848/203 2056/2846/203 +f 2064/2848/203 2057/2850/197 2049/2849/197 +f 2057/2850/197 2058/2852/196 2050/2851/196 +f 2058/2852/196 2059/2854/198 2051/2853/198 +f 2059/2854/198 2060/2856/199 2052/2855/199 +f 2060/2856/199 2061/2858/200 2053/2857/200 +f 2061/2858/200 2062/2842/201 2054/2844/201 +f 2070/2859/196 2078/2875/196 2079/2860/198 +f 2079/2862/198 2080/2865/199 2072/2863/199 +f 2080/2865/199 2073/2867/200 2065/2866/200 +f 2073/2867/200 2074/2869/201 2066/2868/201 +f 2074/2869/201 2075/2902/202 2067/2870/202 +f 2067/2870/202 2075/2902/202 2076/2871/203 +f 2068/2872/203 2076/2871/203 2077/2873/197 +f 2069/2874/197 2077/2873/197 2078/2875/196 +f 2086/2876/196 2094/2891/196 2095/2877/198 +f 2095/2879/198 2096/2882/199 2088/2880/199 +f 2096/2882/199 2089/2884/200 2081/2883/200 +f 2089/2884/200 2090/2886/201 2082/2885/201 +f 2090/2886/201 2091/2903/202 2083/2887/202 +f 2083/2887/202 2091/2903/202 2092/2888/203 +f 2092/2888/203 2093/2904/197 2085/2890/197 +f 2085/2890/197 2093/2904/197 2094/2891/196 o SuspensionCoverBack v -0.500000 6.500000 -4.000000 v -0.676777 6.426777 -4.000000 @@ -6939,6 +8045,38 @@ v 0.750000 6.312500 -5.500000 v 0.882583 6.367417 -5.500000 v 0.937500 6.500000 -5.500000 v 0.882583 6.632583 -5.500000 +v -0.500000 6.500000 -4.000000 +v -0.676777 6.426777 -4.000000 +v -0.750000 6.250000 -4.000000 +v -0.676777 6.073223 -4.000000 +v -0.500000 6.000000 -4.000000 +v -0.323223 6.073223 -4.000000 +v -0.250000 6.250000 -4.000000 +v -0.323223 6.426777 -4.000000 +v 0.500000 6.500000 -4.000000 +v 0.323223 6.426777 -4.000000 +v 0.250000 6.250000 -4.000000 +v 0.323223 6.073223 -4.000000 +v 0.500000 6.000000 -4.000000 +v 0.676777 6.073223 -4.000000 +v 0.750000 6.250000 -4.000000 +v 0.676777 6.426777 -4.000000 +v -0.750000 6.750000 -5.500000 +v -0.926777 6.676777 -5.500000 +v -1.000000 6.500000 -5.500000 +v -0.926777 6.323223 -5.500000 +v -0.750000 6.250000 -5.500000 +v -0.573223 6.323223 -5.500000 +v -0.500000 6.500000 -5.500000 +v -0.573223 6.676777 -5.500000 +v 0.750000 6.750000 -5.500000 +v 0.573223 6.676777 -5.500000 +v 0.500000 6.500000 -5.500000 +v 0.573223 6.323223 -5.500000 +v 0.750000 6.250000 -5.500000 +v 0.926777 6.323223 -5.500000 +v 1.000000 6.500000 -5.500000 +v 0.926777 6.676777 -5.500000 vt 0.873494 0.509302 vt 0.853701 0.516279 vt 0.852840 0.509302 @@ -7003,6 +8141,40 @@ vt 0.877797 0.544186 vt 0.857143 0.544186 vt 0.851979 0.502326 vt 0.872633 0.576744 +vt 0.853701 0.516279 +vt 0.873494 0.509302 +vt 0.852840 0.509302 +vt 0.858864 0.558140 +vt 0.878657 0.551163 +vt 0.858003 0.551163 +vt 0.854561 0.523256 +vt 0.874355 0.516279 +vt 0.852840 0.509302 +vt 0.872633 0.502326 +vt 0.851979 0.502326 +vt 0.855422 0.530233 +vt 0.875215 0.523256 +vt 0.853701 0.516279 +vt 0.873494 0.509302 +vt 0.854561 0.523256 +vt 0.874355 0.516279 +vt 0.876076 0.530233 +vt 0.875215 0.523256 +vt 0.856282 0.537209 +vt 0.876076 0.530233 +vt 0.877797 0.544186 +vt 0.876936 0.537209 +vt 0.857143 0.544186 +vt 0.878657 0.551163 +vt 0.855422 0.530233 +vt 0.876936 0.537209 +vt 0.858003 0.551163 +vt 0.879518 0.558140 +vt 0.856282 0.537209 +vt 0.877797 0.544186 +vt 0.851979 0.502326 +vt 0.872633 0.502326 +vt 0.857143 0.544186 vt 0.879518 0.558140 vt 0.872633 0.581395 vt 0.875215 0.523256 @@ -7011,6 +8183,8 @@ vt 0.876936 0.537209 vt 0.872633 0.595349 vt 0.872633 0.572093 vt 0.872633 0.502326 +vt 0.879518 0.558140 +vt 0.858864 0.558140 vn 0.6882 -0.6882 -0.2294 vn 0.9847 -0.0369 -0.1703 vn -0.6882 -0.6882 -0.2294 @@ -7040,70 +8214,102 @@ vn 0.0369 -0.9847 -0.1703 vn -0.9866 0.0416 -0.1575 vn -0.9847 -0.0369 -0.1703 s 1 -f 1782/2503/204 1751/2504/205 1750/2505/204 -f 1796/2506/206 1765/2507/207 1764/2508/206 -f 1783/2509/208 1752/2510/209 1751/2504/205 -f 1797/2511/210 1766/2512/211 1765/2513/207 -f 1784/2514/212 1745/2515/213 1752/2510/209 -f 1798/2516/214 1767/2517/215 1766/2512/211 -f 1785/2518/216 1754/2519/217 1753/2520/213 -f 1799/2521/218 1768/2522/219 1767/2517/215 -f 1754/2519/217 1787/2523/220 1755/2524/221 -f 1768/2522/219 1793/2525/222 1761/2526/223 -f 1755/2524/221 1788/2527/224 1756/2528/225 -f 1769/2529/223 1802/2530/226 1770/2531/227 -f 1756/2528/225 1789/2532/228 1757/2533/229 -f 1770/2531/227 1803/2534/230 1771/2535/231 -f 1757/2536/229 1790/2537/204 1758/2538/204 -f 1771/2535/231 1804/2539/206 1772/2540/206 -f 1790/2537/204 1759/2541/205 1758/2538/204 -f 1777/2542/216 1746/2543/217 1745/2515/213 -f 1804/2539/206 1773/2544/207 1772/2540/206 -f 1791/2545/208 1760/2546/209 1759/2541/205 -f 1746/2543/217 1779/2547/220 1747/2548/221 -f 1805/2549/210 1774/2550/211 1773/2551/207 -f 1792/2552/212 1753/2520/213 1760/2546/209 -f 1747/2548/221 1780/2553/224 1748/2554/225 -f 1806/2555/214 1775/2556/215 1774/2550/211 -f 1761/2526/223 1794/2557/226 1762/2558/227 -f 1748/2554/225 1781/2559/228 1749/2560/229 -f 1807/2561/218 1776/2562/219 1775/2556/215 -f 1762/2558/227 1795/2563/230 1763/2564/231 -f 1749/2565/229 1782/2503/204 1750/2505/204 -f 1776/2562/219 1801/2566/222 1769/2529/223 -f 1763/2564/231 1796/2506/206 1764/2508/206 -f 1782/2503/204 1783/2509/208 1751/2504/205 -f 1796/2506/206 1797/2567/210 1765/2507/207 -f 1783/2509/208 1784/2514/212 1752/2510/209 -f 1797/2511/210 1798/2516/214 1766/2512/211 -f 1784/2514/212 1777/2542/216 1745/2515/213 -f 1798/2516/214 1799/2521/218 1767/2517/215 -f 1785/2518/216 1786/2568/217 1754/2519/217 -f 1799/2521/218 1800/2569/219 1768/2522/219 -f 1754/2519/217 1786/2568/217 1787/2523/220 -f 1768/2522/219 1800/2569/219 1793/2525/222 -f 1755/2524/221 1787/2523/220 1788/2527/224 -f 1769/2529/223 1801/2566/222 1802/2530/226 -f 1756/2528/225 1788/2527/224 1789/2532/228 -f 1770/2531/227 1802/2530/226 1803/2534/230 -f 1757/2536/229 1789/2570/228 1790/2537/204 -f 1771/2535/231 1803/2534/230 1804/2539/206 -f 1790/2537/204 1791/2545/208 1759/2541/205 -f 1777/2542/216 1778/2571/217 1746/2543/217 -f 1804/2539/206 1805/2572/210 1773/2544/207 -f 1791/2545/208 1792/2552/212 1760/2546/209 -f 1746/2543/217 1778/2571/217 1779/2547/220 -f 1805/2549/210 1806/2555/214 1774/2550/211 -f 1792/2552/212 1785/2518/216 1753/2520/213 -f 1747/2548/221 1779/2547/220 1780/2553/224 -f 1806/2555/214 1807/2561/218 1775/2556/215 -f 1761/2526/223 1793/2525/222 1794/2557/226 -f 1748/2554/225 1780/2553/224 1781/2559/228 -f 1807/2561/218 1808/2573/219 1776/2562/219 -f 1762/2558/227 1794/2557/226 1795/2563/230 -f 1749/2565/229 1781/2574/228 1782/2503/204 -f 1776/2562/219 1808/2573/219 1801/2566/222 -f 1763/2564/231 1795/2563/230 1796/2506/206 +f 2134/2905/204 2103/2906/205 2102/2907/204 +f 2148/2908/206 2117/2909/207 2116/2910/206 +f 2135/2911/208 2104/2912/209 2103/2906/205 +f 2149/2913/210 2118/2914/211 2117/2915/207 +f 2136/2916/212 2097/2917/213 2104/2912/209 +f 2150/2918/214 2119/2919/215 2118/2914/211 +f 2137/2920/216 2106/2921/217 2105/2922/213 +f 2151/2923/218 2120/2924/219 2119/2919/215 +f 2106/2921/217 2139/2925/220 2107/2926/221 +f 2120/2924/219 2145/2927/222 2113/2928/223 +f 2107/2926/221 2140/2929/224 2108/2930/225 +f 2121/2931/223 2154/2932/226 2122/2933/227 +f 2108/2930/225 2141/2934/228 2109/2935/229 +f 2122/2933/227 2155/2936/230 2123/2937/231 +f 2109/2938/229 2142/2939/204 2110/2940/204 +f 2123/2937/231 2156/2941/206 2124/2942/206 +f 2142/2939/204 2111/2943/205 2110/2940/204 +f 2129/2944/216 2098/2945/217 2097/2917/213 +f 2156/2941/206 2125/2946/207 2124/2942/206 +f 2143/2947/208 2112/2948/209 2111/2943/205 +f 2098/2945/217 2131/2949/220 2099/2950/221 +f 2157/2951/210 2126/2952/211 2125/2953/207 +f 2144/2954/212 2105/2922/213 2112/2948/209 +f 2099/2950/221 2132/2955/224 2100/2956/225 +f 2158/2957/214 2127/2958/215 2126/2952/211 +f 2113/2928/223 2146/2959/226 2114/2960/227 +f 2100/2956/225 2133/2961/228 2101/2962/229 +f 2159/2963/218 2128/2964/219 2127/2958/215 +f 2114/2960/227 2147/2965/230 2115/2966/231 +f 2101/2967/229 2134/2905/204 2102/2907/204 +f 2128/2964/219 2153/2968/222 2121/2931/223 +f 2115/2966/231 2148/2908/206 2116/2910/206 +f 2167/2969/220 2182/2970/217 2166/2971/217 +f 2173/2972/222 2188/2973/219 2172/2974/219 +f 2168/2975/224 2183/2976/221 2167/2969/220 +f 2174/2977/226 2189/2978/223 2173/2979/222 +f 2161/2980/228 2184/2981/225 2168/2975/224 +f 2175/2982/230 2190/2983/227 2174/2977/226 +f 2176/2984/206 2191/2985/231 2175/2982/230 +f 2176/2984/206 2185/2986/207 2192/2987/206 +f 2162/2988/204 2177/2989/229 2161/2980/228 +f 2162/2988/204 2179/2990/205 2178/2991/204 +f 2163/2992/208 2180/2993/209 2179/2990/205 +f 2169/2994/210 2186/2995/211 2185/2986/207 +f 2164/2996/212 2181/2997/213 2180/2993/209 +f 2170/2998/214 2187/2999/215 2186/2995/211 +f 2165/3000/216 2182/2970/217 2181/3001/213 +f 2171/3002/218 2188/2973/219 2187/2999/215 +f 2134/2905/204 2135/2911/208 2103/2906/205 +f 2148/2908/206 2149/3003/210 2117/2909/207 +f 2135/2911/208 2136/2916/212 2104/2912/209 +f 2149/2913/210 2150/2918/214 2118/2914/211 +f 2136/2916/212 2129/2944/216 2097/2917/213 +f 2150/2918/214 2151/2923/218 2119/2919/215 +f 2137/2920/216 2138/3004/217 2106/2921/217 +f 2151/2923/218 2152/3005/219 2120/2924/219 +f 2106/2921/217 2138/3004/217 2139/2925/220 +f 2120/2924/219 2152/3005/219 2145/2927/222 +f 2107/2926/221 2139/2925/220 2140/2929/224 +f 2121/2931/223 2153/2968/222 2154/2932/226 +f 2108/2930/225 2140/2929/224 2141/2934/228 +f 2122/2933/227 2154/2932/226 2155/2936/230 +f 2109/2938/229 2141/3006/228 2142/2939/204 +f 2123/2937/231 2155/2936/230 2156/2941/206 +f 2142/2939/204 2143/2947/208 2111/2943/205 +f 2129/2944/216 2130/3007/217 2098/2945/217 +f 2156/2941/206 2157/3008/210 2125/2946/207 +f 2143/2947/208 2144/2954/212 2112/2948/209 +f 2098/2945/217 2130/3007/217 2131/2949/220 +f 2157/2951/210 2158/2957/214 2126/2952/211 +f 2144/2954/212 2137/2920/216 2105/2922/213 +f 2099/2950/221 2131/2949/220 2132/2955/224 +f 2158/2957/214 2159/2963/218 2127/2958/215 +f 2113/2928/223 2145/2927/222 2146/2959/226 +f 2100/2956/225 2132/2955/224 2133/2961/228 +f 2159/2963/218 2160/3009/219 2128/2964/219 +f 2114/2960/227 2146/2959/226 2147/2965/230 +f 2101/2967/229 2133/3010/228 2134/2905/204 +f 2128/2964/219 2160/3009/219 2153/2968/222 +f 2115/2966/231 2147/2965/230 2148/2908/206 +f 2167/2969/220 2183/2976/221 2182/2970/217 +f 2173/2972/222 2189/3011/223 2188/2973/219 +f 2168/2975/224 2184/2981/225 2183/2976/221 +f 2174/2977/226 2190/2983/227 2189/2978/223 +f 2161/2980/228 2177/2989/229 2184/2981/225 +f 2175/2982/230 2191/2985/231 2190/2983/227 +f 2176/2984/206 2192/2987/206 2191/2985/231 +f 2176/2984/206 2169/2994/210 2185/2986/207 +f 2162/2988/204 2178/2991/204 2177/2989/229 +f 2162/2988/204 2163/2992/208 2179/2990/205 +f 2163/2992/208 2164/2996/212 2180/2993/209 +f 2169/2994/210 2170/2998/214 2186/2995/211 +f 2164/2996/212 2165/3012/216 2181/2997/213 +f 2170/2998/214 2171/3002/218 2187/2999/215 +f 2165/3000/216 2166/2971/217 2182/2970/217 +f 2171/3002/218 2172/2974/219 2188/2973/219 o Server4 v 3.375000 1.000000 -8.875000 v 2.625000 1.000000 -8.875000 @@ -7131,16 +8337,16 @@ vn 0.0000 0.0000 1.0000 vn 1.0000 0.0000 0.0000 vn -1.0000 0.0000 0.0000 s off -f 1815/2575/232 1813/2576/232 1814/2577/232 -f 1810/2578/233 1816/2579/233 1809/2580/233 -f 1811/2581/234 1814/2577/234 1812/2582/234 -f 1809/2583/235 1815/2575/235 1811/2584/235 -f 1812/2585/236 1813/2576/236 1810/2586/236 -f 1815/2575/232 1816/2579/232 1813/2576/232 -f 1810/2578/233 1813/2576/233 1816/2579/233 -f 1811/2581/234 1815/2575/234 1814/2577/234 -f 1809/2583/235 1816/2579/235 1815/2575/235 -f 1812/2585/236 1814/2577/236 1813/2576/236 +f 2199/3013/232 2197/3014/232 2198/3015/232 +f 2194/3016/233 2200/3017/233 2193/3018/233 +f 2195/3019/234 2198/3015/234 2196/3020/234 +f 2193/3021/235 2199/3013/235 2195/3022/235 +f 2196/3023/236 2197/3014/236 2194/3024/236 +f 2199/3013/232 2200/3017/232 2197/3014/232 +f 2194/3016/233 2197/3014/233 2200/3017/233 +f 2195/3019/234 2199/3013/234 2198/3015/234 +f 2193/3021/235 2200/3017/235 2199/3013/235 +f 2196/3023/236 2198/3015/236 2197/3014/236 o Server3 v 3.375000 1.312500 -8.875000 v 2.625000 1.312500 -8.875000 @@ -7171,18 +8377,18 @@ vn 1.0000 0.0000 0.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 -1.0000 0.0000 s off -f 1823/2587/237 1821/2588/237 1822/2589/237 -f 1818/2590/238 1824/2591/238 1817/2592/238 -f 1819/2593/239 1822/2589/239 1820/2594/239 -f 1817/2595/240 1823/2587/240 1819/2596/240 -f 1820/2597/241 1821/2588/241 1818/2598/241 -f 1819/2596/242 1818/2599/242 1817/2595/242 -f 1823/2587/237 1824/2591/237 1821/2588/237 -f 1818/2590/238 1821/2588/238 1824/2591/238 -f 1819/2593/239 1823/2587/239 1822/2589/239 -f 1817/2595/240 1824/2591/240 1823/2587/240 -f 1820/2597/241 1822/2589/241 1821/2588/241 -f 1819/2596/242 1820/2600/242 1818/2599/242 +f 2207/3025/237 2205/3026/237 2206/3027/237 +f 2202/3028/238 2208/3029/238 2201/3030/238 +f 2203/3031/239 2206/3027/239 2204/3032/239 +f 2201/3033/240 2207/3025/240 2203/3034/240 +f 2204/3035/241 2205/3026/241 2202/3036/241 +f 2203/3034/242 2202/3037/242 2201/3033/242 +f 2207/3025/237 2208/3029/237 2205/3026/237 +f 2202/3028/238 2205/3026/238 2208/3029/238 +f 2203/3031/239 2207/3025/239 2206/3027/239 +f 2201/3033/240 2208/3029/240 2207/3025/240 +f 2204/3035/241 2206/3027/241 2205/3026/241 +f 2203/3034/242 2204/3038/242 2202/3037/242 o Server2 v 3.375000 1.625000 -8.875000 v 2.625000 1.625000 -8.875000 @@ -7213,18 +8419,18 @@ vn 1.0000 0.0000 0.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 -1.0000 0.0000 s off -f 1831/2601/243 1829/2602/243 1830/2603/243 -f 1826/2604/244 1832/2605/244 1825/2606/244 -f 1827/2607/245 1830/2603/245 1828/2608/245 -f 1825/2609/246 1831/2601/246 1827/2610/246 -f 1828/2611/247 1829/2602/247 1826/2612/247 -f 1827/2610/248 1826/2613/248 1825/2609/248 -f 1831/2601/243 1832/2605/243 1829/2602/243 -f 1826/2604/244 1829/2602/244 1832/2605/244 -f 1827/2607/245 1831/2601/245 1830/2603/245 -f 1825/2609/246 1832/2605/246 1831/2601/246 -f 1828/2611/247 1830/2603/247 1829/2602/247 -f 1827/2610/248 1828/2614/248 1826/2613/248 +f 2215/3039/243 2213/3040/243 2214/3041/243 +f 2210/3042/244 2216/3043/244 2209/3044/244 +f 2211/3045/245 2214/3041/245 2212/3046/245 +f 2209/3047/246 2215/3039/246 2211/3048/246 +f 2212/3049/247 2213/3040/247 2210/3050/247 +f 2211/3048/248 2210/3051/248 2209/3047/248 +f 2215/3039/243 2216/3043/243 2213/3040/243 +f 2210/3042/244 2213/3040/244 2216/3043/244 +f 2211/3045/245 2215/3039/245 2214/3041/245 +f 2209/3047/246 2216/3043/246 2215/3039/246 +f 2212/3049/247 2214/3041/247 2213/3040/247 +f 2211/3048/248 2212/3052/248 2210/3051/248 o Server1 v 3.375000 1.937500 -8.875000 v 2.625000 1.937500 -8.875000 @@ -7255,18 +8461,18 @@ vn 1.0000 0.0000 0.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 -1.0000 0.0000 s off -f 1839/2615/249 1837/2616/249 1838/2617/249 -f 1834/2618/250 1840/2619/250 1833/2620/250 -f 1835/2621/251 1838/2617/251 1836/2622/251 -f 1833/2623/252 1839/2615/252 1835/2624/252 -f 1836/2625/253 1837/2616/253 1834/2626/253 -f 1835/2624/254 1834/2627/254 1833/2623/254 -f 1839/2615/249 1840/2619/249 1837/2616/249 -f 1834/2618/250 1837/2616/250 1840/2619/250 -f 1835/2621/251 1839/2615/251 1838/2617/251 -f 1833/2623/252 1840/2619/252 1839/2615/252 -f 1836/2625/253 1838/2617/253 1837/2616/253 -f 1835/2624/254 1836/2628/254 1834/2627/254 +f 2223/3053/249 2221/3054/249 2222/3055/249 +f 2218/3056/250 2224/3057/250 2217/3058/250 +f 2219/3059/251 2222/3055/251 2220/3060/251 +f 2217/3061/252 2223/3053/252 2219/3062/252 +f 2220/3063/253 2221/3054/253 2218/3064/253 +f 2219/3062/254 2218/3065/254 2217/3061/254 +f 2223/3053/249 2224/3057/249 2221/3054/249 +f 2218/3056/250 2221/3054/250 2224/3057/250 +f 2219/3059/251 2223/3053/251 2222/3055/251 +f 2217/3061/252 2224/3057/252 2223/3053/252 +f 2220/3063/253 2222/3055/253 2221/3054/253 +f 2219/3062/254 2220/3066/254 2218/3065/254 o Monitor v 2.625000 1.250000 -7.875000 v 2.625000 1.250000 -7.125000 @@ -7319,32 +8525,32 @@ vn 0.0000 0.0000 -1.0000 vn 0.0000 0.0000 1.0000 vn 1.0000 0.0000 0.0000 s off -f 1841/2629/255 1845/2630/255 1842/2631/255 -f 1847/2632/256 1843/2633/256 1844/2634/256 -f 1842/2635/257 1843/2633/257 1841/2636/257 -f 1841/2637/258 1848/2638/258 1846/2639/258 -f 1845/2630/259 1844/2634/259 1842/2631/259 -f 1849/2640/260 1846/2641/260 1850/2642/260 -f 1852/2643/260 1847/2632/260 1851/2644/260 -f 1850/2645/260 1848/2638/260 1852/2646/260 -f 1851/2647/260 1845/2630/260 1849/2648/260 -f 1850/2642/256 1853/2649/256 1849/2640/256 -f 1852/2646/259 1854/2650/259 1850/2645/259 -f 1851/2644/255 1856/2651/255 1852/2643/255 -f 1849/2648/258 1855/2652/258 1851/2647/258 -f 1841/2629/255 1846/2641/255 1845/2630/255 -f 1847/2632/256 1848/2638/256 1843/2633/256 -f 1842/2635/257 1844/2634/257 1843/2633/257 -f 1841/2637/258 1843/2633/258 1848/2638/258 -f 1845/2630/259 1847/2632/259 1844/2634/259 -f 1849/2640/260 1845/2630/260 1846/2641/260 -f 1852/2643/260 1848/2638/260 1847/2632/260 -f 1850/2645/260 1846/2639/260 1848/2638/260 -f 1851/2647/260 1847/2632/260 1845/2630/260 -f 1850/2642/256 1854/2653/256 1853/2649/256 -f 1852/2646/259 1856/2654/259 1854/2650/259 -f 1851/2644/255 1855/2655/255 1856/2651/255 -f 1849/2648/258 1853/2656/258 1855/2652/258 +f 2225/3067/255 2229/3068/255 2226/3069/255 +f 2231/3070/256 2227/3071/256 2228/3072/256 +f 2226/3073/257 2227/3071/257 2225/3074/257 +f 2225/3075/258 2232/3076/258 2230/3077/258 +f 2229/3068/259 2228/3072/259 2226/3069/259 +f 2233/3078/260 2230/3079/260 2234/3080/260 +f 2236/3081/260 2231/3070/260 2235/3082/260 +f 2234/3083/260 2232/3076/260 2236/3084/260 +f 2235/3085/260 2229/3068/260 2233/3086/260 +f 2234/3080/256 2237/3087/256 2233/3078/256 +f 2236/3084/259 2238/3088/259 2234/3083/259 +f 2235/3082/255 2240/3089/255 2236/3081/255 +f 2233/3086/258 2239/3090/258 2235/3085/258 +f 2225/3067/255 2230/3079/255 2229/3068/255 +f 2231/3070/256 2232/3076/256 2227/3071/256 +f 2226/3073/257 2228/3072/257 2227/3071/257 +f 2225/3075/258 2227/3071/258 2232/3076/258 +f 2229/3068/259 2231/3070/259 2228/3072/259 +f 2233/3078/260 2229/3068/260 2230/3079/260 +f 2236/3081/260 2232/3076/260 2231/3070/260 +f 2234/3083/260 2230/3077/260 2232/3076/260 +f 2235/3085/260 2231/3070/260 2229/3068/260 +f 2234/3080/256 2238/3091/256 2237/3087/256 +f 2236/3084/259 2240/3092/259 2238/3088/259 +f 2235/3082/255 2239/3093/255 2240/3089/255 +f 2233/3086/258 2237/3094/258 2239/3090/258 o Screen v 3.312500 1.312500 -7.187500 v 3.312500 1.312500 -7.812500 @@ -7371,16 +8577,16 @@ vn 0.9428 0.2357 0.2357 vn 0.9428 0.2357 -0.2357 vn 0.9428 -0.2357 0.2357 s 1 -f 1862/2657/261 1863/2658/262 1861/2659/263 -f 1861/2659/263 1858/2660/264 1862/2657/261 -f 1864/2661/265 1859/2662/266 1863/2658/262 -f 1862/2657/261 1860/2663/267 1864/2661/265 -f 1863/2658/262 1857/2664/268 1861/2659/263 -f 1862/2657/261 1864/2661/265 1863/2658/262 -f 1861/2659/263 1857/2664/268 1858/2660/264 -f 1864/2661/265 1860/2663/267 1859/2662/266 -f 1862/2657/261 1858/2660/264 1860/2663/267 -f 1863/2658/262 1859/2662/266 1857/2664/268 +f 2246/3095/261 2247/3096/262 2245/3097/263 +f 2245/3097/263 2242/3098/264 2246/3095/261 +f 2248/3099/265 2243/3100/266 2247/3096/262 +f 2246/3095/261 2244/3101/267 2248/3099/265 +f 2247/3096/262 2241/3102/268 2245/3097/263 +f 2246/3095/261 2248/3099/265 2247/3096/262 +f 2245/3097/263 2241/3102/268 2242/3098/264 +f 2248/3099/265 2244/3101/267 2243/3100/266 +f 2246/3095/261 2242/3098/264 2244/3101/267 +f 2247/3096/262 2243/3100/266 2241/3102/268 o SuspensionCoverFront v -0.500000 6.500000 0.500000 v -0.676777 6.426777 0.500000 @@ -7446,6 +8652,38 @@ v 1.000000 6.312500 3.500000 v 1.132583 6.367417 3.500000 v 1.187500 6.500000 3.500000 v 1.132583 6.632583 3.500000 +v -0.500000 6.500000 0.500000 +v -0.676777 6.426777 0.500000 +v -0.750000 6.250000 0.500000 +v -0.676777 6.073223 0.500000 +v -0.500000 6.000000 0.500000 +v -0.323223 6.073223 0.500000 +v -0.250000 6.250000 0.500000 +v -0.323223 6.426777 0.500000 +v -1.000000 6.750000 3.500000 +v -1.176777 6.676777 3.500000 +v -1.250000 6.500000 3.500000 +v -1.176777 6.323223 3.500000 +v -1.000000 6.250000 3.500000 +v -0.823223 6.323223 3.500000 +v -0.750000 6.500000 3.500000 +v -0.823223 6.676777 3.500000 +v 0.500000 6.500000 0.500000 +v 0.323223 6.426777 0.500000 +v 0.250000 6.250000 0.500000 +v 0.323223 6.073223 0.500000 +v 0.500000 6.000000 0.500000 +v 0.676777 6.073223 0.500000 +v 0.750000 6.250000 0.500000 +v 0.676777 6.426777 0.500000 +v 1.000000 6.750000 3.500000 +v 0.823223 6.676777 3.500000 +v 0.750000 6.500000 3.500000 +v 0.823223 6.323223 3.500000 +v 1.000000 6.250000 3.500000 +v 1.176777 6.323223 3.500000 +v 1.250000 6.500000 3.500000 +v 1.176777 6.676777 3.500000 vt 0.847676 0.560465 vt 0.805508 0.553488 vt 0.846816 0.553488 @@ -7514,10 +8752,46 @@ vt 0.845095 0.600000 vt 0.803787 0.595349 vt 0.845095 0.595349 vt 0.803787 0.600000 +vt 0.805508 0.553488 +vt 0.847676 0.560465 +vt 0.846816 0.553488 +vt 0.806368 0.560465 +vt 0.848537 0.567442 +vt 0.807229 0.567442 +vt 0.849398 0.574419 +vt 0.808950 0.581395 +vt 0.850258 0.581395 +vt 0.809811 0.588372 +vt 0.851119 0.588372 +vt 0.810671 0.595349 +vt 0.851979 0.595349 +vt 0.845095 0.539535 +vt 0.804647 0.546512 +vt 0.845955 0.546512 +vt 0.805508 0.553488 +vt 0.847676 0.560465 +vt 0.846816 0.553488 +vt 0.807229 0.567442 +vt 0.848537 0.567442 +vt 0.808089 0.574419 +vt 0.849398 0.574419 +vt 0.808950 0.581395 +vt 0.850258 0.581395 +vt 0.809811 0.588372 +vt 0.851119 0.588372 +vt 0.851979 0.595349 +vt 0.803787 0.539535 +vt 0.845955 0.546512 +vt 0.845095 0.539535 +vt 0.804647 0.546512 vt 0.851979 0.595349 vt 0.845095 0.632558 vt 0.810671 0.595349 vt 0.803787 0.632558 +vt 0.808089 0.574419 +vt 0.803787 0.539535 +vt 0.806368 0.560465 +vt 0.810671 0.595349 vn 0.7343 0.6756 0.0661 vn 0.9865 0.0209 0.1627 vn 0.9860 -0.0186 0.1659 @@ -7551,70 +8825,102 @@ vn 0.6749 -0.7362 -0.0511 vn 0.0411 -0.9962 0.0762 vn 0.7343 -0.6756 -0.0661 s 1 -f 1872/2665/269 1887/2666/270 1871/2667/271 -f 1880/2668/269 1895/2669/270 1879/2670/271 -f 1865/2671/272 1888/2672/273 1872/2665/269 -f 1866/2673/274 1881/2674/275 1865/2671/272 -f 1873/2675/272 1896/2676/273 1880/2668/269 -f 1874/2677/274 1889/2678/275 1873/2675/272 -f 1866/2673/274 1883/2679/276 1882/2680/277 -f 1874/2677/274 1891/2681/276 1890/2682/277 -f 1867/2683/278 1884/2684/279 1883/2679/276 -f 1875/2685/278 1892/2686/279 1891/2681/276 -f 1868/2687/280 1885/2688/281 1884/2684/279 -f 1876/2689/280 1893/2690/281 1892/2686/279 -f 1869/2691/282 1886/2692/283 1885/2693/281 -f 1877/2694/282 1894/2695/283 1893/2696/281 -f 1871/2667/271 1886/2692/283 1870/2697/284 -f 1879/2670/271 1894/2695/283 1878/2698/284 -f 1904/2699/285 1911/2700/286 1903/2701/287 -f 1904/2699/285 1905/2702/288 1912/2703/289 -f 1897/2704/290 1906/2705/291 1905/2702/288 -f 1898/2706/292 1907/2707/293 1906/2705/291 -f 1899/2708/294 1908/2709/295 1907/2707/293 -f 1901/2710/296 1908/2709/295 1900/2711/297 -f 1902/2712/298 1909/2713/299 1901/2714/296 -f 1903/2701/287 1910/2715/300 1902/2712/298 -f 1920/2716/285 1927/2717/286 1919/2718/287 -f 1920/2716/285 1921/2719/288 1928/2720/289 -f 1913/2721/290 1922/2722/291 1921/2719/288 -f 1914/2723/292 1923/2724/293 1922/2722/291 -f 1915/2725/294 1924/2726/295 1923/2724/293 -f 1917/2727/296 1924/2726/295 1916/2728/297 -f 1918/2729/298 1925/2730/299 1917/2731/296 -f 1919/2718/287 1926/2732/300 1918/2729/298 -f 1872/2665/269 1888/2672/273 1887/2666/270 -f 1880/2668/269 1896/2676/273 1895/2669/270 -f 1865/2671/272 1881/2674/275 1888/2672/273 -f 1866/2673/274 1882/2680/277 1881/2674/275 -f 1873/2675/272 1889/2678/275 1896/2676/273 -f 1874/2677/274 1890/2682/277 1889/2678/275 -f 1866/2673/274 1867/2683/278 1883/2679/276 -f 1874/2677/274 1875/2685/278 1891/2681/276 -f 1867/2683/278 1868/2687/280 1884/2684/279 -f 1875/2685/278 1876/2689/280 1892/2686/279 -f 1868/2687/280 1869/2733/282 1885/2688/281 -f 1876/2689/280 1877/2734/282 1893/2690/281 -f 1869/2691/282 1870/2697/284 1886/2692/283 -f 1877/2694/282 1878/2698/284 1894/2695/283 -f 1871/2667/271 1887/2666/270 1886/2692/283 -f 1879/2670/271 1895/2669/270 1894/2695/283 -f 1904/2699/285 1912/2703/289 1911/2700/286 -f 1904/2699/285 1897/2704/290 1905/2702/288 -f 1897/2704/290 1898/2706/292 1906/2705/291 -f 1898/2706/292 1899/2708/294 1907/2707/293 -f 1899/2708/294 1900/2711/297 1908/2709/295 -f 1901/2710/296 1909/2735/299 1908/2709/295 -f 1902/2712/298 1910/2715/300 1909/2713/299 -f 1903/2701/287 1911/2700/286 1910/2715/300 -f 1920/2716/285 1928/2720/289 1927/2717/286 -f 1920/2716/285 1913/2721/290 1921/2719/288 -f 1913/2721/290 1914/2723/292 1922/2722/291 -f 1914/2723/292 1915/2725/294 1923/2724/293 -f 1915/2725/294 1916/2728/297 1924/2726/295 -f 1917/2727/296 1925/2736/299 1924/2726/295 -f 1918/2729/298 1926/2732/300 1925/2730/299 -f 1919/2718/287 1927/2717/286 1926/2732/300 +f 2256/3103/269 2271/3104/270 2255/3105/271 +f 2264/3106/269 2279/3107/270 2263/3108/271 +f 2249/3109/272 2272/3110/273 2256/3103/269 +f 2250/3111/274 2265/3112/275 2249/3109/272 +f 2257/3113/272 2280/3114/273 2264/3106/269 +f 2258/3115/274 2273/3116/275 2257/3113/272 +f 2250/3111/274 2267/3117/276 2266/3118/277 +f 2258/3115/274 2275/3119/276 2274/3120/277 +f 2251/3121/278 2268/3122/279 2267/3117/276 +f 2259/3123/278 2276/3124/279 2275/3119/276 +f 2252/3125/280 2269/3126/281 2268/3122/279 +f 2260/3127/280 2277/3128/281 2276/3124/279 +f 2253/3129/282 2270/3130/283 2269/3131/281 +f 2261/3132/282 2278/3133/283 2277/3134/281 +f 2255/3105/271 2270/3130/283 2254/3135/284 +f 2263/3108/271 2278/3133/283 2262/3136/284 +f 2288/3137/285 2295/3138/286 2287/3139/287 +f 2288/3137/285 2289/3140/288 2296/3141/289 +f 2281/3142/290 2290/3143/291 2289/3140/288 +f 2282/3144/292 2291/3145/293 2290/3143/291 +f 2283/3146/294 2292/3147/295 2291/3145/293 +f 2285/3148/296 2292/3147/295 2284/3149/297 +f 2286/3150/298 2293/3151/299 2285/3152/296 +f 2287/3139/287 2294/3153/300 2286/3150/298 +f 2304/3154/285 2311/3155/286 2303/3156/287 +f 2304/3154/285 2305/3157/288 2312/3158/289 +f 2297/3159/290 2306/3160/291 2305/3157/288 +f 2298/3161/292 2307/3162/293 2306/3160/291 +f 2299/3163/294 2308/3164/295 2307/3162/293 +f 2301/3165/296 2308/3164/295 2300/3166/297 +f 2302/3167/298 2309/3168/299 2301/3169/296 +f 2303/3156/287 2310/3170/300 2302/3167/298 +f 2327/3171/278 2320/3172/279 2319/3173/276 +f 2328/3174/280 2313/3175/281 2320/3172/279 +f 2321/3176/282 2314/3177/283 2313/3175/281 +f 2314/3177/283 2323/3178/271 2315/3179/270 +f 2315/3179/270 2324/3180/269 2316/3181/273 +f 2316/3181/273 2325/3182/272 2317/3183/275 +f 2317/3184/275 2326/3185/274 2318/3186/277 +f 2326/3185/274 2319/3173/276 2318/3186/277 +f 2343/3187/294 2336/3188/295 2335/3189/293 +f 2336/3188/295 2337/3190/296 2329/3191/299 +f 2329/3191/299 2338/3192/298 2330/3193/300 +f 2330/3193/300 2339/3194/287 2331/3195/286 +f 2331/3195/286 2340/3196/285 2332/3197/289 +f 2340/3196/285 2333/3198/288 2332/3197/289 +f 2341/3199/290 2334/3200/291 2333/3201/288 +f 2342/3202/292 2335/3189/293 2334/3200/291 +f 2256/3103/269 2272/3110/273 2271/3104/270 +f 2264/3106/269 2280/3114/273 2279/3107/270 +f 2249/3109/272 2265/3112/275 2272/3110/273 +f 2250/3111/274 2266/3118/277 2265/3112/275 +f 2257/3113/272 2273/3116/275 2280/3114/273 +f 2258/3115/274 2274/3120/277 2273/3116/275 +f 2250/3111/274 2251/3121/278 2267/3117/276 +f 2258/3115/274 2259/3123/278 2275/3119/276 +f 2251/3121/278 2252/3125/280 2268/3122/279 +f 2259/3123/278 2260/3127/280 2276/3124/279 +f 2252/3125/280 2253/3203/282 2269/3126/281 +f 2260/3127/280 2261/3204/282 2277/3128/281 +f 2253/3129/282 2254/3135/284 2270/3130/283 +f 2261/3132/282 2262/3136/284 2278/3133/283 +f 2255/3105/271 2271/3104/270 2270/3130/283 +f 2263/3108/271 2279/3107/270 2278/3133/283 +f 2288/3137/285 2296/3141/289 2295/3138/286 +f 2288/3137/285 2281/3142/290 2289/3140/288 +f 2281/3142/290 2282/3144/292 2290/3143/291 +f 2282/3144/292 2283/3146/294 2291/3145/293 +f 2283/3146/294 2284/3149/297 2292/3147/295 +f 2285/3148/296 2293/3205/299 2292/3147/295 +f 2286/3150/298 2294/3153/300 2293/3151/299 +f 2287/3139/287 2295/3138/286 2294/3153/300 +f 2304/3154/285 2312/3158/289 2311/3155/286 +f 2304/3154/285 2297/3159/290 2305/3157/288 +f 2297/3159/290 2298/3161/292 2306/3160/291 +f 2298/3161/292 2299/3163/294 2307/3162/293 +f 2299/3163/294 2300/3166/297 2308/3164/295 +f 2301/3165/296 2309/3206/299 2308/3164/295 +f 2302/3167/298 2310/3170/300 2309/3168/299 +f 2303/3156/287 2311/3155/286 2310/3170/300 +f 2327/3171/278 2328/3174/280 2320/3172/279 +f 2328/3174/280 2321/3176/282 2313/3175/281 +f 2321/3176/282 2322/3207/284 2314/3177/283 +f 2314/3177/283 2322/3207/284 2323/3178/271 +f 2315/3179/270 2323/3178/271 2324/3180/269 +f 2316/3181/273 2324/3180/269 2325/3182/272 +f 2317/3184/275 2325/3208/272 2326/3185/274 +f 2326/3185/274 2327/3171/278 2319/3173/276 +f 2343/3187/294 2344/3209/297 2336/3188/295 +f 2336/3188/295 2344/3209/297 2337/3190/296 +f 2329/3191/299 2337/3190/296 2338/3192/298 +f 2330/3193/300 2338/3192/298 2339/3194/287 +f 2331/3195/286 2339/3194/287 2340/3196/285 +f 2340/3196/285 2341/3210/290 2333/3198/288 +f 2341/3199/290 2342/3202/292 2334/3200/291 +f 2342/3202/292 2343/3187/294 2335/3189/293 o Cover v -1.000000 6.500000 0.500000 v 1.000000 6.500000 0.500000 @@ -7679,34 +8985,34 @@ vn 0.4082 -0.4082 0.8165 vn -0.4082 0.4082 -0.8165 vn 0.4082 0.4082 -0.8165 s off -f 1930/2737/301 1931/2738/301 1929/2739/301 -f 1933/2740/302 1935/2741/302 1934/2742/302 -f 1933/2740/303 1938/2743/303 1937/2744/303 -f 1936/2745/304 1939/2746/304 1935/2741/304 -f 1932/2747/305 1933/2748/305 1931/2738/305 -f 1929/2739/306 1935/2741/306 1930/2737/306 -f 1932/2747/307 1941/2749/307 1942/2750/307 -f 1931/2738/308 1943/2751/308 1929/2739/308 -f 1930/2752/309 1935/2753/309 1941/2749/309 -f 1929/2754/310 1943/2751/310 1934/2755/310 -f 1943/2751/304 1937/2756/304 1938/2757/304 -f 1931/2758/311 1933/2759/311 1944/2760/311 -f 1942/2750/303 1939/2761/303 1940/2762/303 -f 1932/2763/312 1942/2750/312 1936/2764/312 -f 1934/2755/313 1943/2751/313 1938/2757/313 -f 1941/2749/314 1935/2753/314 1939/2761/314 -f 1936/2764/315 1942/2750/315 1940/2762/315 -f 1944/2760/316 1933/2759/316 1937/2756/316 -f 1930/2737/301 1932/2747/301 1931/2738/301 -f 1933/2740/302 1936/2745/302 1935/2741/302 -f 1933/2740/303 1934/2742/303 1938/2743/303 -f 1936/2745/304 1940/2765/304 1939/2746/304 -f 1932/2747/305 1936/2766/305 1933/2748/305 -f 1929/2739/306 1934/2742/306 1935/2741/306 -f 1932/2747/307 1930/2737/307 1941/2749/307 -f 1931/2738/308 1944/2760/308 1943/2751/308 -f 1943/2751/304 1944/2760/304 1937/2756/304 -f 1942/2750/303 1941/2749/303 1939/2761/303 +f 2346/3211/301 2347/3212/301 2345/3213/301 +f 2349/3214/302 2351/3215/302 2350/3216/302 +f 2349/3214/303 2354/3217/303 2353/3218/303 +f 2352/3219/304 2355/3220/304 2351/3215/304 +f 2348/3221/305 2349/3222/305 2347/3212/305 +f 2345/3213/306 2351/3215/306 2346/3211/306 +f 2348/3221/307 2357/3223/307 2358/3224/307 +f 2347/3212/308 2359/3225/308 2345/3213/308 +f 2346/3226/309 2351/3227/309 2357/3223/309 +f 2345/3228/310 2359/3225/310 2350/3229/310 +f 2359/3225/304 2353/3230/304 2354/3231/304 +f 2347/3232/311 2349/3233/311 2360/3234/311 +f 2358/3224/303 2355/3235/303 2356/3236/303 +f 2348/3237/312 2358/3224/312 2352/3238/312 +f 2350/3229/313 2359/3225/313 2354/3231/313 +f 2357/3223/314 2351/3227/314 2355/3235/314 +f 2352/3238/315 2358/3224/315 2356/3236/315 +f 2360/3234/316 2349/3233/316 2353/3230/316 +f 2346/3211/301 2348/3221/301 2347/3212/301 +f 2349/3214/302 2352/3219/302 2351/3215/302 +f 2349/3214/303 2350/3216/303 2354/3217/303 +f 2352/3219/304 2356/3239/304 2355/3220/304 +f 2348/3221/305 2352/3240/305 2349/3222/305 +f 2345/3213/306 2350/3216/306 2351/3215/306 +f 2348/3221/307 2346/3211/307 2357/3223/307 +f 2347/3212/308 2360/3234/308 2359/3225/308 +f 2359/3225/304 2360/3234/304 2353/3230/304 +f 2358/3224/303 2357/3223/303 2355/3235/303 o Piston v 0.000000 4.999998 0.499994 v -0.574025 4.885818 0.499994 @@ -7889,103 +9195,103 @@ vn -0.0000 -1.0000 0.0000 vn 0.3827 -0.9239 0.0000 vn 0.7071 -0.7071 0.0000 s off -f 1959/2767/317 1974/2768/317 1958/2769/317 -f 1960/2770/317 1975/2771/317 1959/2772/317 -f 1945/2773/317 1976/2774/317 1960/2775/317 -f 1946/2776/317 1961/2777/317 1945/2778/317 -f 1946/2779/317 1963/2780/317 1962/2781/317 -f 1947/2782/317 1964/2783/317 1963/2780/317 -f 1948/2784/317 1965/2785/317 1964/2783/317 -f 1949/2786/317 1966/2787/317 1965/2785/317 -f 1950/2788/317 1967/2789/317 1966/2787/317 -f 1952/2790/317 1967/2789/317 1951/2791/317 -f 1952/2792/317 1969/2793/317 1968/2794/317 -f 1954/2795/317 1969/2796/317 1953/2797/317 -f 1955/2798/317 1970/2799/317 1954/2800/317 -f 1956/2801/317 1971/2802/317 1955/2803/317 -f 1957/2804/317 1972/2805/317 1956/2806/317 -f 1957/2807/317 1974/2768/317 1973/2808/317 -f 2006/2809/318 1991/2810/318 1990/2811/318 -f 2007/2812/318 1992/2813/318 1991/2814/318 -f 2008/2815/318 1978/2816/318 1992/2817/318 -f 1994/2818/318 1977/2819/318 1978/2820/318 -f 1977/2821/318 1995/2822/318 1979/2823/318 -f 1979/2824/318 1996/2825/318 1980/2826/318 -f 1996/2825/318 1981/2827/318 1980/2828/318 -f 1981/2829/318 1998/2830/318 1982/2831/318 -f 1982/2832/318 1999/2833/318 1983/2834/318 -f 1999/2833/318 1984/2835/318 1983/2836/318 -f 1984/2837/318 2001/2838/318 1985/2839/318 -f 2001/2840/318 1986/2841/318 1985/2842/318 -f 2002/2843/318 1987/2844/318 1986/2845/318 -f 2003/2846/318 1988/2847/318 1987/2848/318 -f 2004/2849/318 1989/2850/318 1988/2851/318 -f 1989/2852/318 2006/2809/318 1990/2853/318 -f 1959/2767/317 1975/2771/317 1974/2768/317 -f 1960/2770/317 1976/2774/317 1975/2771/317 -f 1945/2773/317 1961/2777/317 1976/2774/317 -f 1946/2776/317 1962/2781/317 1961/2777/317 -f 1946/2779/317 1947/2854/317 1963/2780/317 -f 1947/2782/317 1948/2855/317 1964/2783/317 -f 1948/2784/317 1949/2856/317 1965/2785/317 -f 1949/2786/317 1950/2857/317 1966/2787/317 -f 1950/2788/317 1951/2858/317 1967/2789/317 -f 1952/2790/317 1968/2794/317 1967/2789/317 -f 1952/2792/317 1953/2859/317 1969/2793/317 -f 1954/2795/317 1970/2799/317 1969/2796/317 -f 1955/2798/317 1971/2802/317 1970/2799/317 -f 1956/2801/317 1972/2805/317 1971/2802/317 -f 1957/2804/317 1973/2808/317 1972/2805/317 -f 1957/2807/317 1958/2860/317 1974/2768/317 -f 2006/2809/318 2007/2812/318 1991/2810/318 -f 2007/2812/318 2008/2815/318 1992/2813/318 -f 2008/2815/318 1994/2818/318 1978/2816/318 -f 1994/2818/318 1993/2861/318 1977/2819/318 -f 1977/2821/318 1993/2861/318 1995/2822/318 -f 1979/2824/318 1995/2822/318 1996/2825/318 -f 1996/2825/318 1997/2862/318 1981/2827/318 -f 1981/2829/318 1997/2862/318 1998/2830/318 -f 1982/2832/318 1998/2830/318 1999/2833/318 -f 1999/2833/318 2000/2863/318 1984/2835/318 -f 1984/2837/318 2000/2863/318 2001/2838/318 -f 2001/2840/318 2002/2843/318 1986/2841/318 -f 2002/2843/318 2003/2846/318 1987/2844/318 -f 2003/2846/318 2004/2849/318 1988/2847/318 -f 2004/2849/318 2005/2864/318 1989/2850/318 -f 1989/2852/318 2005/2864/318 2006/2809/318 +f 2375/3241/317 2390/3242/317 2374/3243/317 +f 2376/3244/317 2391/3245/317 2375/3246/317 +f 2361/3247/317 2392/3248/317 2376/3249/317 +f 2362/3250/317 2377/3251/317 2361/3252/317 +f 2362/3253/317 2379/3254/317 2378/3255/317 +f 2363/3256/317 2380/3257/317 2379/3254/317 +f 2364/3258/317 2381/3259/317 2380/3257/317 +f 2365/3260/317 2382/3261/317 2381/3259/317 +f 2366/3262/317 2383/3263/317 2382/3261/317 +f 2368/3264/317 2383/3263/317 2367/3265/317 +f 2368/3266/317 2385/3267/317 2384/3268/317 +f 2370/3269/317 2385/3270/317 2369/3271/317 +f 2371/3272/317 2386/3273/317 2370/3274/317 +f 2372/3275/317 2387/3276/317 2371/3277/317 +f 2373/3278/317 2388/3279/317 2372/3280/317 +f 2373/3281/317 2390/3242/317 2389/3282/317 +f 2422/3283/318 2407/3284/318 2406/3285/318 +f 2423/3286/318 2408/3287/318 2407/3288/318 +f 2424/3289/318 2394/3290/318 2408/3291/318 +f 2410/3292/318 2393/3293/318 2394/3294/318 +f 2393/3295/318 2411/3296/318 2395/3297/318 +f 2395/3298/318 2412/3299/318 2396/3300/318 +f 2412/3299/318 2397/3301/318 2396/3302/318 +f 2397/3303/318 2414/3304/318 2398/3305/318 +f 2398/3306/318 2415/3307/318 2399/3308/318 +f 2415/3307/318 2400/3309/318 2399/3310/318 +f 2400/3311/318 2417/3312/318 2401/3313/318 +f 2417/3314/318 2402/3315/318 2401/3316/318 +f 2418/3317/318 2403/3318/318 2402/3319/318 +f 2419/3320/318 2404/3321/318 2403/3322/318 +f 2420/3323/318 2405/3324/318 2404/3325/318 +f 2405/3326/318 2422/3283/318 2406/3327/318 +f 2375/3241/317 2391/3245/317 2390/3242/317 +f 2376/3244/317 2392/3248/317 2391/3245/317 +f 2361/3247/317 2377/3251/317 2392/3248/317 +f 2362/3250/317 2378/3255/317 2377/3251/317 +f 2362/3253/317 2363/3328/317 2379/3254/317 +f 2363/3256/317 2364/3329/317 2380/3257/317 +f 2364/3258/317 2365/3330/317 2381/3259/317 +f 2365/3260/317 2366/3331/317 2382/3261/317 +f 2366/3262/317 2367/3332/317 2383/3263/317 +f 2368/3264/317 2384/3268/317 2383/3263/317 +f 2368/3266/317 2369/3333/317 2385/3267/317 +f 2370/3269/317 2386/3273/317 2385/3270/317 +f 2371/3272/317 2387/3276/317 2386/3273/317 +f 2372/3275/317 2388/3279/317 2387/3276/317 +f 2373/3278/317 2389/3282/317 2388/3279/317 +f 2373/3281/317 2374/3334/317 2390/3242/317 +f 2422/3283/318 2423/3286/318 2407/3284/318 +f 2423/3286/318 2424/3289/318 2408/3287/318 +f 2424/3289/318 2410/3292/318 2394/3290/318 +f 2410/3292/318 2409/3335/318 2393/3293/318 +f 2393/3295/318 2409/3335/318 2411/3296/318 +f 2395/3298/318 2411/3296/318 2412/3299/318 +f 2412/3299/318 2413/3336/318 2397/3301/318 +f 2397/3303/318 2413/3336/318 2414/3304/318 +f 2398/3306/318 2414/3304/318 2415/3307/318 +f 2415/3307/318 2416/3337/318 2400/3309/318 +f 2400/3311/318 2416/3337/318 2417/3312/318 +f 2417/3314/318 2418/3317/318 2402/3315/318 +f 2418/3317/318 2419/3320/318 2403/3318/318 +f 2419/3320/318 2420/3323/318 2404/3321/318 +f 2420/3323/318 2421/3338/318 2405/3324/318 +f 2405/3326/318 2421/3338/318 2422/3283/318 s 1 -f 1973/2808/319 2004/2849/320 1972/2805/320 -f 1974/2768/321 2005/2864/319 1973/2808/319 -f 1975/2771/322 2006/2809/321 1974/2768/321 -f 1962/2781/323 1994/2818/324 1961/2777/324 -f 1976/2774/325 2007/2812/322 1975/2771/322 -f 1963/2780/326 1993/2861/323 1962/2781/323 -f 1961/2777/324 2008/2815/325 1976/2774/325 -f 1964/2783/327 1995/2822/326 1963/2780/326 -f 1965/2785/328 1996/2825/327 1964/2783/327 -f 1966/2787/329 1997/2862/328 1965/2785/328 -f 1967/2789/330 1998/2830/329 1966/2787/329 -f 1968/2794/331 1999/2833/330 1967/2789/330 -f 1969/2793/332 2000/2863/331 1968/2794/331 -f 1970/2799/333 2001/2840/332 1969/2796/332 -f 1971/2802/334 2002/2843/333 1970/2799/333 -f 1972/2805/320 2003/2846/334 1971/2802/334 -f 1973/2808/319 2005/2864/319 2004/2849/320 -f 1974/2768/321 2006/2809/321 2005/2864/319 -f 1975/2771/322 2007/2812/322 2006/2809/321 -f 1962/2781/323 1993/2861/323 1994/2818/324 -f 1976/2774/325 2008/2815/325 2007/2812/322 -f 1963/2780/326 1995/2822/326 1993/2861/323 -f 1961/2777/324 1994/2818/324 2008/2815/325 -f 1964/2783/327 1996/2825/327 1995/2822/326 -f 1965/2785/328 1997/2862/328 1996/2825/327 -f 1966/2787/329 1998/2830/329 1997/2862/328 -f 1967/2789/330 1999/2833/330 1998/2830/329 -f 1968/2794/331 2000/2863/331 1999/2833/330 -f 1969/2793/332 2001/2838/332 2000/2863/331 -f 1970/2799/333 2002/2843/333 2001/2840/332 -f 1971/2802/334 2003/2846/334 2002/2843/333 -f 1972/2805/320 2004/2849/320 2003/2846/334 +f 2389/3282/319 2420/3323/320 2388/3279/320 +f 2390/3242/321 2421/3338/319 2389/3282/319 +f 2391/3245/322 2422/3283/321 2390/3242/321 +f 2378/3255/323 2410/3292/324 2377/3251/324 +f 2392/3248/325 2423/3286/322 2391/3245/322 +f 2379/3254/326 2409/3335/323 2378/3255/323 +f 2377/3251/324 2424/3289/325 2392/3248/325 +f 2380/3257/327 2411/3296/326 2379/3254/326 +f 2381/3259/328 2412/3299/327 2380/3257/327 +f 2382/3261/329 2413/3336/328 2381/3259/328 +f 2383/3263/330 2414/3304/329 2382/3261/329 +f 2384/3268/331 2415/3307/330 2383/3263/330 +f 2385/3267/332 2416/3337/331 2384/3268/331 +f 2386/3273/333 2417/3314/332 2385/3270/332 +f 2387/3276/334 2418/3317/333 2386/3273/333 +f 2388/3279/320 2419/3320/334 2387/3276/334 +f 2389/3282/319 2421/3338/319 2420/3323/320 +f 2390/3242/321 2422/3283/321 2421/3338/319 +f 2391/3245/322 2423/3286/322 2422/3283/321 +f 2378/3255/323 2409/3335/323 2410/3292/324 +f 2392/3248/325 2424/3289/325 2423/3286/322 +f 2379/3254/326 2411/3296/326 2409/3335/323 +f 2377/3251/324 2410/3292/324 2424/3289/325 +f 2380/3257/327 2412/3299/327 2411/3296/326 +f 2381/3259/328 2413/3336/328 2412/3299/327 +f 2382/3261/329 2414/3304/329 2413/3336/328 +f 2383/3263/330 2415/3307/330 2414/3304/329 +f 2384/3268/331 2416/3337/331 2415/3307/330 +f 2385/3267/332 2417/3312/332 2416/3337/331 +f 2386/3273/333 2418/3317/333 2417/3314/332 +f 2387/3276/334 2419/3320/334 2418/3317/333 +f 2388/3279/320 2420/3323/320 2419/3320/334 o Flap v -0.750000 6.812501 8.750000 v 0.750000 6.812501 8.750000 @@ -8049,30 +9355,30 @@ vn -0.9965 0.0000 -0.0830 vn 0.9965 -0.0000 -0.0830 vn 0.0000 -0.9965 -0.0830 s off -f 2011/2865/335 2010/2866/335 2009/2867/335 -f 2014/2868/336 2009/2867/336 2010/2866/336 -f 2011/2865/337 2014/2869/337 2012/2870/337 -f 2010/2866/338 2012/2870/338 2014/2871/338 -f 2009/2867/339 2013/2872/339 2011/2865/339 -f 2017/2873/340 2030/2874/340 2029/2875/340 -f 2017/2873/341 2027/2876/341 2015/2877/341 -f 2018/2878/342 2028/2879/342 2030/2874/342 -f 2026/2880/343 2021/2881/343 2025/2882/343 -f 2025/2882/342 2019/2883/342 2023/2884/342 -f 2026/2885/341 2020/2886/341 2022/2887/341 -f 2024/2888/340 2019/2883/340 2020/2886/340 -f 2016/2889/343 2027/2890/343 2028/2879/343 -f 2011/2865/335 2012/2870/335 2010/2866/335 -f 2014/2868/336 2013/2891/336 2009/2867/336 -f 2011/2865/337 2013/2892/337 2014/2869/337 -f 2017/2873/340 2018/2878/340 2030/2874/340 -f 2017/2873/341 2029/2875/341 2027/2876/341 -f 2018/2878/342 2016/2889/342 2028/2879/342 -f 2026/2880/343 2022/2893/343 2021/2881/343 -f 2025/2882/342 2021/2881/342 2019/2883/342 -f 2026/2885/341 2024/2888/341 2020/2886/341 -f 2024/2888/340 2023/2884/340 2019/2883/340 -f 2016/2889/343 2015/2894/343 2027/2890/343 +f 2427/3339/335 2426/3340/335 2425/3341/335 +f 2430/3342/336 2425/3341/336 2426/3340/336 +f 2427/3339/337 2430/3343/337 2428/3344/337 +f 2426/3340/338 2428/3344/338 2430/3345/338 +f 2425/3341/339 2429/3346/339 2427/3339/339 +f 2433/3347/340 2446/3348/340 2445/3349/340 +f 2433/3347/341 2443/3350/341 2431/3351/341 +f 2434/3352/342 2444/3353/342 2446/3348/342 +f 2442/3354/343 2437/3355/343 2441/3356/343 +f 2441/3356/342 2435/3357/342 2439/3358/342 +f 2442/3359/341 2436/3360/341 2438/3361/341 +f 2440/3362/340 2435/3357/340 2436/3360/340 +f 2432/3363/343 2443/3364/343 2444/3353/343 +f 2427/3339/335 2428/3344/335 2426/3340/335 +f 2430/3342/336 2429/3365/336 2425/3341/336 +f 2427/3339/337 2429/3366/337 2430/3343/337 +f 2433/3347/340 2434/3352/340 2446/3348/340 +f 2433/3347/341 2445/3349/341 2443/3350/341 +f 2434/3352/342 2432/3363/342 2444/3353/342 +f 2442/3354/343 2438/3367/343 2437/3355/343 +f 2441/3356/342 2437/3355/342 2435/3357/342 +f 2442/3359/341 2440/3362/341 2436/3360/341 +f 2440/3362/340 2439/3358/340 2435/3357/340 +f 2432/3363/343 2431/3368/343 2443/3364/343 o TurbineBack v -0.562500 3.249998 -5.250007 v 0.562500 3.249998 -5.250007 @@ -8285,87 +9591,87 @@ vn -0.6906 -0.6906 0.2146 vn -0.6906 0.6906 -0.2146 vn -0.6906 0.6906 0.2146 s off -f 2053/2895/344 2045/2896/344 2043/2897/344 -f 2047/2898/345 2037/2899/345 2034/2900/345 -f 2045/2901/344 2048/2902/344 2042/2903/344 -f 2051/2904/345 2035/2905/345 2037/2906/345 -f 2057/2907/344 2041/2908/344 2039/2909/344 -f 2055/2910/345 2031/2911/345 2033/2912/345 -f 2038/2913/345 2059/2914/345 2032/2915/345 -f 2062/2916/344 2046/2917/344 2040/2918/344 -f 2064/2919/345 2033/2920/345 2035/2921/345 -f 2066/2922/344 2043/2923/344 2041/2924/344 -f 2069/2925/344 2044/2926/344 2046/2927/344 -f 2067/2928/345 2038/2929/345 2036/2930/345 -f 2067/2928/346 2036/2931/346 2046/2932/346 -f 2073/2933/344 2040/2934/344 2042/2935/344 -f 2060/2936/347 2040/2937/347 2072/2938/347 -f 2071/2939/345 2034/2940/345 2032/2941/345 -f 2042/2942/348 2071/2939/348 2032/2943/348 -f 2047/2898/349 2045/2944/349 2052/2945/349 -f 2077/2946/344 2039/2947/344 2044/2948/344 -f 2051/2904/350 2043/2949/350 2065/2950/350 -f 2031/2951/345 2078/2952/345 2036/2953/345 -f 2044/2954/351 2075/2955/351 2031/2956/351 -f 2055/2910/352 2039/2957/352 2076/2958/352 -f 2056/2959/353 2064/2919/353 2041/2960/353 -f 2054/2961/354 2066/2922/354 2041/2962/354 -f 2050/2963/355 2053/2895/355 2043/2964/355 -f 2049/2965/356 2045/2966/356 2074/2967/356 -f 2059/2914/357 2073/2933/357 2042/2968/357 -f 2062/2916/358 2040/2969/358 2070/2970/358 -f 2036/2971/359 2078/2952/359 2046/2972/359 -f 2058/2973/360 2077/2946/360 2044/2974/360 -f 2039/2975/361 2033/2976/361 2063/2977/361 -f 2042/2968/362 2032/2978/362 2059/2914/362 -f 2074/2967/363 2045/2966/363 2034/2979/363 -f 2043/2964/364 2037/2980/364 2050/2963/364 -f 2041/2962/365 2035/2981/365 2054/2961/365 -f 2063/2977/366 2057/2907/366 2039/2975/366 -f 2044/2974/367 2031/2982/367 2058/2973/367 -f 2046/2972/368 2078/2952/368 2069/2925/368 -f 2070/2970/369 2040/2969/369 2038/2983/369 -f 2040/2937/370 2060/2936/370 2038/2984/370 -f 2071/2939/371 2042/2942/371 2048/2902/371 -f 2045/2944/372 2047/2898/372 2034/2985/372 -f 2043/2949/373 2051/2904/373 2037/2986/373 -f 2041/2960/374 2064/2919/374 2035/2987/374 -f 2039/2957/375 2055/2910/375 2033/2988/375 -f 2075/2955/376 2044/2954/376 2068/2989/376 -f 2046/2932/377 2061/2990/377 2067/2928/377 -f 2053/2895/344 2052/2945/344 2045/2896/344 -f 2047/2898/345 2050/2963/345 2037/2899/345 -f 2045/2901/344 2049/2965/344 2048/2902/344 -f 2051/2904/345 2054/2961/345 2035/2905/345 -f 2057/2907/344 2056/2959/344 2041/2908/344 -f 2055/2910/345 2058/2973/345 2031/2911/345 -f 2038/2913/345 2060/2936/345 2059/2914/345 -f 2062/2916/344 2061/2990/344 2046/2917/344 -f 2064/2919/345 2063/2977/345 2033/2920/345 -f 2066/2922/344 2065/2950/344 2043/2923/344 -f 2069/2925/344 2068/2989/344 2044/2926/344 -f 2067/2928/345 2070/2970/345 2038/2929/345 -f 2073/2933/344 2072/2938/344 2040/2934/344 -f 2071/2939/345 2074/2967/345 2034/2940/345 -f 2077/2946/344 2076/2958/344 2039/2947/344 -f 2031/2951/345 2075/2955/345 2078/2952/345 +f 2469/3369/344 2461/3370/344 2459/3371/344 +f 2463/3372/345 2453/3373/345 2450/3374/345 +f 2461/3375/344 2464/3376/344 2458/3377/344 +f 2467/3378/345 2451/3379/345 2453/3380/345 +f 2473/3381/344 2457/3382/344 2455/3383/344 +f 2471/3384/345 2447/3385/345 2449/3386/345 +f 2454/3387/345 2475/3388/345 2448/3389/345 +f 2478/3390/344 2462/3391/344 2456/3392/344 +f 2480/3393/345 2449/3394/345 2451/3395/345 +f 2482/3396/344 2459/3397/344 2457/3398/344 +f 2485/3399/344 2460/3400/344 2462/3401/344 +f 2483/3402/345 2454/3403/345 2452/3404/345 +f 2483/3402/346 2452/3405/346 2462/3406/346 +f 2489/3407/344 2456/3408/344 2458/3409/344 +f 2476/3410/347 2456/3411/347 2488/3412/347 +f 2487/3413/345 2450/3414/345 2448/3415/345 +f 2458/3416/348 2487/3413/348 2448/3417/348 +f 2463/3372/349 2461/3418/349 2468/3419/349 +f 2493/3420/344 2455/3421/344 2460/3422/344 +f 2467/3378/350 2459/3423/350 2481/3424/350 +f 2447/3425/345 2494/3426/345 2452/3427/345 +f 2460/3428/351 2491/3429/351 2447/3430/351 +f 2471/3384/352 2455/3431/352 2492/3432/352 +f 2472/3433/353 2480/3393/353 2457/3434/353 +f 2470/3435/354 2482/3396/354 2457/3436/354 +f 2466/3437/355 2469/3369/355 2459/3438/355 +f 2465/3439/356 2461/3440/356 2490/3441/356 +f 2475/3388/357 2489/3407/357 2458/3442/357 +f 2478/3390/358 2456/3443/358 2486/3444/358 +f 2452/3445/359 2494/3426/359 2462/3446/359 +f 2474/3447/360 2493/3420/360 2460/3448/360 +f 2455/3449/361 2449/3450/361 2479/3451/361 +f 2458/3442/362 2448/3452/362 2475/3388/362 +f 2490/3441/363 2461/3440/363 2450/3453/363 +f 2459/3438/364 2453/3454/364 2466/3437/364 +f 2457/3436/365 2451/3455/365 2470/3435/365 +f 2479/3451/366 2473/3381/366 2455/3449/366 +f 2460/3448/367 2447/3456/367 2474/3447/367 +f 2462/3446/368 2494/3426/368 2485/3399/368 +f 2486/3444/369 2456/3443/369 2454/3457/369 +f 2456/3411/370 2476/3410/370 2454/3458/370 +f 2487/3413/371 2458/3416/371 2464/3376/371 +f 2461/3418/372 2463/3372/372 2450/3459/372 +f 2459/3423/373 2467/3378/373 2453/3460/373 +f 2457/3434/374 2480/3393/374 2451/3461/374 +f 2455/3431/375 2471/3384/375 2449/3462/375 +f 2491/3429/376 2460/3428/376 2484/3463/376 +f 2462/3406/377 2477/3464/377 2483/3402/377 +f 2469/3369/344 2468/3419/344 2461/3370/344 +f 2463/3372/345 2466/3437/345 2453/3373/345 +f 2461/3375/344 2465/3439/344 2464/3376/344 +f 2467/3378/345 2470/3435/345 2451/3379/345 +f 2473/3381/344 2472/3433/344 2457/3382/344 +f 2471/3384/345 2474/3447/345 2447/3385/345 +f 2454/3387/345 2476/3410/345 2475/3388/345 +f 2478/3390/344 2477/3464/344 2462/3391/344 +f 2480/3393/345 2479/3451/345 2449/3394/345 +f 2482/3396/344 2481/3424/344 2459/3397/344 +f 2485/3399/344 2484/3463/344 2460/3400/344 +f 2483/3402/345 2486/3444/345 2454/3403/345 +f 2489/3407/344 2488/3412/344 2456/3408/344 +f 2487/3413/345 2490/3441/345 2450/3414/345 +f 2493/3420/344 2492/3432/344 2455/3421/344 +f 2447/3425/345 2491/3429/345 2494/3426/345 s 1 -f 2051/2904/378 2065/2950/379 2054/2961/380 -f 2047/2898/381 2052/2945/382 2050/2963/383 -f 2049/2965/384 2074/2967/385 2048/2902/386 -f 2060/2936/387 2072/2938/388 2059/2914/389 -f 2067/2928/390 2061/2990/391 2070/2970/392 -f 2069/2925/393 2078/2952/394 2068/2989/395 -f 2055/2910/396 2076/2958/397 2058/2973/398 -f 2057/2907/399 2063/2977/400 2056/2959/401 -f 2050/2963/383 2052/2945/382 2053/2895/402 -f 2048/2902/386 2074/2967/385 2071/2939/403 -f 2059/2914/389 2072/2938/388 2073/2933/404 -f 2070/2970/392 2061/2990/391 2062/2916/405 -f 2068/2989/395 2078/2952/394 2075/2955/406 -f 2058/2973/398 2076/2958/397 2077/2946/407 -f 2056/2959/401 2063/2977/400 2064/2919/408 -f 2054/2961/380 2065/2950/379 2066/2922/409 +f 2467/3378/378 2481/3424/379 2470/3435/380 +f 2463/3372/381 2468/3419/382 2466/3437/383 +f 2465/3439/384 2490/3441/385 2464/3376/386 +f 2476/3410/387 2488/3412/388 2475/3388/389 +f 2483/3402/390 2477/3464/391 2486/3444/392 +f 2485/3399/393 2494/3426/394 2484/3463/395 +f 2471/3384/396 2492/3432/397 2474/3447/398 +f 2473/3381/399 2479/3451/400 2472/3433/401 +f 2466/3437/383 2468/3419/382 2469/3369/402 +f 2464/3376/386 2490/3441/385 2487/3413/403 +f 2475/3388/389 2488/3412/388 2489/3407/404 +f 2486/3444/392 2477/3464/391 2478/3390/405 +f 2484/3463/395 2494/3426/394 2491/3429/406 +f 2474/3447/398 2492/3432/397 2493/3420/407 +f 2472/3433/401 2479/3451/400 2480/3393/408 +f 2470/3435/380 2481/3424/379 2482/3396/409 o TurbineFront v -0.562500 3.249998 -4.250007 v 0.562500 3.249998 -4.250007 @@ -8578,87 +9884,87 @@ vn -0.6906 -0.6906 0.2146 vn -0.6906 0.6906 -0.2146 vn -0.6906 0.6906 0.2146 s off -f 2101/2991/410 2093/2992/410 2091/2993/410 -f 2095/2994/411 2085/2995/411 2082/2996/411 -f 2093/2997/410 2096/2998/410 2090/2999/410 -f 2099/3000/411 2083/3001/411 2085/3002/411 -f 2105/3003/410 2089/3004/410 2087/3005/410 -f 2103/3006/411 2079/3007/411 2081/3008/411 -f 2086/3009/411 2107/3010/411 2080/3011/411 -f 2110/3012/410 2094/3013/410 2088/3014/410 -f 2112/3015/411 2081/3016/411 2083/3017/411 -f 2089/3018/410 2113/3019/410 2091/3020/410 -f 2117/3021/410 2092/3022/410 2094/3023/410 -f 2115/3024/411 2086/3025/411 2084/3026/411 -f 2115/3024/412 2084/3027/412 2094/3028/412 -f 2121/3029/410 2088/3030/410 2090/3031/410 -f 2108/3032/413 2088/3033/413 2120/3034/413 -f 2119/3035/411 2082/3036/411 2080/3037/411 -f 2090/3038/414 2119/3035/414 2080/3039/414 -f 2095/2994/415 2093/3040/415 2100/3041/415 -f 2125/3042/410 2087/3043/410 2092/3044/410 -f 2099/3000/416 2091/3045/416 2113/3019/416 -f 2079/3046/411 2126/3047/411 2084/3048/411 -f 2092/3049/417 2123/3050/417 2079/3051/417 -f 2103/3006/418 2087/3052/418 2124/3053/418 -f 2104/3054/419 2112/3015/419 2089/3055/419 -f 2102/3056/420 2114/3057/420 2089/3058/420 -f 2098/3059/421 2101/2991/421 2091/3060/421 -f 2097/3061/422 2093/3062/422 2122/3063/422 -f 2107/3010/423 2121/3029/423 2090/3064/423 -f 2110/3012/424 2088/3065/424 2118/3066/424 -f 2084/3067/425 2126/3047/425 2094/3068/425 -f 2106/3069/426 2125/3042/426 2092/3070/426 -f 2087/3071/427 2111/3072/427 2105/3003/427 -f 2091/3045/428 2099/3000/428 2085/3073/428 -f 2089/3055/429 2112/3015/429 2083/3074/429 -f 2087/3052/430 2103/3006/430 2081/3075/430 -f 2123/3050/431 2092/3049/431 2116/3076/431 -f 2094/3028/432 2109/3077/432 2115/3024/432 -f 2088/3033/433 2108/3032/433 2086/3078/433 -f 2119/3035/434 2090/3038/434 2096/2998/434 -f 2093/3040/435 2095/2994/435 2082/3079/435 -f 2091/3060/436 2085/3080/436 2098/3059/436 -f 2122/3063/437 2093/3062/437 2082/3081/437 -f 2090/3064/438 2080/3082/438 2107/3010/438 -f 2118/3066/439 2088/3065/439 2086/3083/439 -f 2094/3068/440 2126/3047/440 2117/3021/440 -f 2092/3070/441 2079/3084/441 2106/3069/441 -f 2111/3072/442 2087/3071/442 2081/3085/442 -f 2089/3058/443 2083/3086/443 2102/3056/443 -f 2101/2991/410 2100/3041/410 2093/2992/410 -f 2095/2994/411 2098/3059/411 2085/2995/411 -f 2093/2997/410 2097/3061/410 2096/2998/410 -f 2099/3000/411 2102/3056/411 2083/3001/411 -f 2105/3003/410 2104/3054/410 2089/3004/410 -f 2103/3006/411 2106/3069/411 2079/3007/411 -f 2086/3009/411 2108/3032/411 2107/3010/411 -f 2110/3012/410 2109/3077/410 2094/3013/410 -f 2112/3015/411 2111/3072/411 2081/3016/411 -f 2089/3018/410 2114/3057/410 2113/3019/410 -f 2117/3021/410 2116/3076/410 2092/3022/410 -f 2115/3024/411 2118/3066/411 2086/3025/411 -f 2121/3029/410 2120/3034/410 2088/3030/410 -f 2119/3035/411 2122/3063/411 2082/3036/411 -f 2125/3042/410 2124/3053/410 2087/3043/410 -f 2079/3046/411 2123/3050/411 2126/3047/411 +f 2517/3465/410 2509/3466/410 2507/3467/410 +f 2511/3468/411 2501/3469/411 2498/3470/411 +f 2509/3471/410 2512/3472/410 2506/3473/410 +f 2515/3474/411 2499/3475/411 2501/3476/411 +f 2521/3477/410 2505/3478/410 2503/3479/410 +f 2519/3480/411 2495/3481/411 2497/3482/411 +f 2502/3483/411 2523/3484/411 2496/3485/411 +f 2526/3486/410 2510/3487/410 2504/3488/410 +f 2528/3489/411 2497/3490/411 2499/3491/411 +f 2505/3492/410 2529/3493/410 2507/3494/410 +f 2533/3495/410 2508/3496/410 2510/3497/410 +f 2531/3498/411 2502/3499/411 2500/3500/411 +f 2531/3498/412 2500/3501/412 2510/3502/412 +f 2537/3503/410 2504/3504/410 2506/3505/410 +f 2524/3506/413 2504/3507/413 2536/3508/413 +f 2535/3509/411 2498/3510/411 2496/3511/411 +f 2506/3512/414 2535/3509/414 2496/3513/414 +f 2511/3468/415 2509/3514/415 2516/3515/415 +f 2541/3516/410 2503/3517/410 2508/3518/410 +f 2515/3474/416 2507/3519/416 2529/3493/416 +f 2495/3520/411 2542/3521/411 2500/3522/411 +f 2508/3523/417 2539/3524/417 2495/3525/417 +f 2519/3480/418 2503/3526/418 2540/3527/418 +f 2520/3528/419 2528/3489/419 2505/3529/419 +f 2518/3530/420 2530/3531/420 2505/3532/420 +f 2514/3533/421 2517/3465/421 2507/3534/421 +f 2513/3535/422 2509/3536/422 2538/3537/422 +f 2523/3484/423 2537/3503/423 2506/3538/423 +f 2526/3486/424 2504/3539/424 2534/3540/424 +f 2500/3541/425 2542/3521/425 2510/3542/425 +f 2522/3543/426 2541/3516/426 2508/3544/426 +f 2503/3545/427 2527/3546/427 2521/3477/427 +f 2507/3519/428 2515/3474/428 2501/3547/428 +f 2505/3529/429 2528/3489/429 2499/3548/429 +f 2503/3526/430 2519/3480/430 2497/3549/430 +f 2539/3524/431 2508/3523/431 2532/3550/431 +f 2510/3502/432 2525/3551/432 2531/3498/432 +f 2504/3507/433 2524/3506/433 2502/3552/433 +f 2535/3509/434 2506/3512/434 2512/3472/434 +f 2509/3514/435 2511/3468/435 2498/3553/435 +f 2507/3534/436 2501/3554/436 2514/3533/436 +f 2538/3537/437 2509/3536/437 2498/3555/437 +f 2506/3538/438 2496/3556/438 2523/3484/438 +f 2534/3540/439 2504/3539/439 2502/3557/439 +f 2510/3542/440 2542/3521/440 2533/3495/440 +f 2508/3544/441 2495/3558/441 2522/3543/441 +f 2527/3546/442 2503/3545/442 2497/3559/442 +f 2505/3532/443 2499/3560/443 2518/3530/443 +f 2517/3465/410 2516/3515/410 2509/3466/410 +f 2511/3468/411 2514/3533/411 2501/3469/411 +f 2509/3471/410 2513/3535/410 2512/3472/410 +f 2515/3474/411 2518/3530/411 2499/3475/411 +f 2521/3477/410 2520/3528/410 2505/3478/410 +f 2519/3480/411 2522/3543/411 2495/3481/411 +f 2502/3483/411 2524/3506/411 2523/3484/411 +f 2526/3486/410 2525/3551/410 2510/3487/410 +f 2528/3489/411 2527/3546/411 2497/3490/411 +f 2505/3492/410 2530/3531/410 2529/3493/410 +f 2533/3495/410 2532/3550/410 2508/3496/410 +f 2531/3498/411 2534/3540/411 2502/3499/411 +f 2537/3503/410 2536/3508/410 2504/3504/410 +f 2535/3509/411 2538/3537/411 2498/3510/411 +f 2541/3516/410 2540/3527/410 2503/3517/410 +f 2495/3520/411 2539/3524/411 2542/3521/411 s 1 -f 2099/3000/444 2113/3019/445 2102/3056/446 -f 2095/2994/447 2100/3041/448 2098/3059/449 -f 2097/3061/450 2122/3063/451 2096/2998/452 -f 2108/3032/453 2120/3034/454 2107/3010/455 -f 2115/3024/456 2109/3077/457 2118/3066/458 -f 2117/3021/459 2126/3047/460 2116/3076/461 -f 2103/3006/462 2124/3053/463 2106/3069/464 -f 2105/3003/465 2111/3072/466 2104/3054/467 -f 2098/3059/449 2100/3041/448 2101/2991/468 -f 2096/2998/452 2122/3063/451 2119/3035/469 -f 2107/3010/455 2120/3034/454 2121/3029/470 -f 2118/3066/458 2109/3077/457 2110/3012/471 -f 2116/3076/461 2126/3047/460 2123/3050/472 -f 2106/3069/464 2124/3053/463 2125/3042/473 -f 2104/3054/467 2111/3072/466 2112/3015/474 -f 2102/3056/446 2113/3019/445 2114/3057/475 +f 2515/3474/444 2529/3493/445 2518/3530/446 +f 2511/3468/447 2516/3515/448 2514/3533/449 +f 2513/3535/450 2538/3537/451 2512/3472/452 +f 2524/3506/453 2536/3508/454 2523/3484/455 +f 2531/3498/456 2525/3551/457 2534/3540/458 +f 2533/3495/459 2542/3521/460 2532/3550/461 +f 2519/3480/462 2540/3527/463 2522/3543/464 +f 2521/3477/465 2527/3546/466 2520/3528/467 +f 2514/3533/449 2516/3515/448 2517/3465/468 +f 2512/3472/452 2538/3537/451 2535/3509/469 +f 2523/3484/455 2536/3508/454 2537/3503/470 +f 2534/3540/458 2525/3551/457 2526/3486/471 +f 2532/3550/461 2542/3521/460 2539/3524/472 +f 2522/3543/464 2540/3527/463 2541/3516/473 +f 2520/3528/467 2527/3546/466 2528/3489/474 +f 2518/3530/446 2529/3493/445 2530/3531/475 o Rotor v -0.562500 3.249998 -1.250006 v 0.562500 3.249998 -1.250006 @@ -8815,86 +10121,86 @@ vn -1.0000 0.0000 0.0000 vn 0.0000 -1.0000 0.0000 vn -0.7071 -0.7071 0.0000 s off -f 2144/3087/476 2146/3088/476 2143/3089/476 -f 2144/3087/477 2130/3090/477 2138/3091/477 -f 2141/3092/478 2144/3087/478 2138/3093/478 -f 2146/3088/479 2141/3094/479 2133/3095/479 -f 2143/3089/480 2133/3096/480 2130/3097/480 -f 2148/3098/481 2150/3099/481 2147/3100/481 -f 2148/3098/482 2133/3101/482 2141/3102/482 -f 2149/3103/478 2141/3104/478 2139/3105/478 -f 2150/3099/483 2139/3106/483 2131/3107/483 -f 2147/3100/480 2131/3108/480 2133/3109/480 -f 2152/3110/483 2154/3111/483 2151/3112/483 -f 2152/3110/481 2129/3113/481 2137/3114/481 -f 2153/3115/478 2137/3116/478 2135/3117/478 -f 2154/3111/484 2135/3118/484 2127/3119/484 -f 2151/3112/480 2127/3120/480 2129/3121/480 -f 2156/3122/477 2158/3123/477 2155/3124/477 -f 2134/3125/480 2155/3124/480 2128/3126/480 -f 2157/3127/485 2134/3128/485 2142/3129/485 -f 2158/3123/478 2142/3130/478 2136/3131/478 -f 2155/3124/476 2136/3132/476 2128/3133/476 -f 2160/3134/479 2162/3135/479 2159/3136/479 -f 2160/3134/480 2129/3137/480 2131/3138/480 -f 2161/3139/476 2131/3140/476 2139/3141/476 -f 2137/3142/478 2161/3139/478 2139/3143/478 -f 2159/3136/485 2137/3144/485 2129/3145/485 -f 2164/3146/484 2166/3147/484 2163/3148/484 -f 2164/3146/483 2132/3149/483 2140/3150/483 -f 2165/3151/478 2140/3152/478 2142/3153/478 -f 2166/3147/482 2142/3154/482 2134/3155/482 -f 2163/3148/480 2134/3156/480 2132/3157/480 -f 2168/3158/482 2170/3159/482 2167/3160/482 -f 2168/3158/484 2128/3161/484 2136/3162/484 -f 2169/3163/478 2136/3164/478 2138/3165/478 -f 2170/3159/481 2138/3166/481 2130/3167/481 -f 2167/3160/480 2130/3168/480 2128/3169/480 -f 2172/3170/485 2174/3171/485 2171/3172/485 -f 2172/3170/479 2127/3173/479 2135/3174/479 -f 2173/3175/478 2135/3176/478 2140/3177/478 -f 2174/3171/477 2140/3178/477 2132/3179/477 -f 2127/3180/480 2174/3171/480 2132/3181/480 -f 2144/3087/476 2145/3182/476 2146/3088/476 -f 2144/3087/477 2143/3089/477 2130/3090/477 -f 2141/3092/478 2145/3182/478 2144/3087/478 -f 2146/3088/479 2145/3182/479 2141/3094/479 -f 2143/3089/480 2146/3088/480 2133/3096/480 -f 2148/3098/481 2149/3103/481 2150/3099/481 -f 2148/3098/482 2147/3100/482 2133/3101/482 -f 2149/3103/478 2148/3098/478 2141/3104/478 -f 2150/3099/483 2149/3103/483 2139/3106/483 -f 2147/3100/480 2150/3099/480 2131/3108/480 -f 2152/3110/483 2153/3115/483 2154/3111/483 -f 2152/3110/481 2151/3112/481 2129/3113/481 -f 2153/3115/478 2152/3110/478 2137/3116/478 -f 2154/3111/484 2153/3115/484 2135/3118/484 -f 2151/3112/480 2154/3111/480 2127/3120/480 -f 2156/3122/477 2157/3127/477 2158/3123/477 -f 2134/3125/480 2156/3122/480 2155/3124/480 -f 2157/3127/485 2156/3122/485 2134/3128/485 -f 2158/3123/478 2157/3127/478 2142/3130/478 -f 2155/3124/476 2158/3123/476 2136/3132/476 -f 2160/3134/479 2161/3139/479 2162/3135/479 -f 2160/3134/480 2159/3136/480 2129/3137/480 -f 2161/3139/476 2160/3134/476 2131/3140/476 -f 2137/3142/478 2162/3135/478 2161/3139/478 -f 2159/3136/485 2162/3135/485 2137/3144/485 -f 2164/3146/484 2165/3151/484 2166/3147/484 -f 2164/3146/483 2163/3148/483 2132/3149/483 -f 2165/3151/478 2164/3146/478 2140/3152/478 -f 2166/3147/482 2165/3151/482 2142/3154/482 -f 2163/3148/480 2166/3147/480 2134/3156/480 -f 2168/3158/482 2169/3163/482 2170/3159/482 -f 2168/3158/484 2167/3160/484 2128/3161/484 -f 2169/3163/478 2168/3158/478 2136/3164/478 -f 2170/3159/481 2169/3163/481 2138/3166/481 -f 2167/3160/480 2170/3159/480 2130/3168/480 -f 2172/3170/485 2173/3175/485 2174/3171/485 -f 2172/3170/479 2171/3172/479 2127/3173/479 -f 2173/3175/478 2172/3170/478 2135/3176/478 -f 2174/3171/477 2173/3175/477 2140/3178/477 -f 2127/3180/480 2171/3172/480 2174/3171/480 +f 2560/3561/476 2562/3562/476 2559/3563/476 +f 2560/3561/477 2546/3564/477 2554/3565/477 +f 2557/3566/478 2560/3561/478 2554/3567/478 +f 2562/3562/479 2557/3568/479 2549/3569/479 +f 2559/3563/480 2549/3570/480 2546/3571/480 +f 2564/3572/481 2566/3573/481 2563/3574/481 +f 2564/3572/482 2549/3575/482 2557/3576/482 +f 2565/3577/478 2557/3578/478 2555/3579/478 +f 2566/3573/483 2555/3580/483 2547/3581/483 +f 2563/3574/480 2547/3582/480 2549/3583/480 +f 2568/3584/483 2570/3585/483 2567/3586/483 +f 2568/3584/481 2545/3587/481 2553/3588/481 +f 2569/3589/478 2553/3590/478 2551/3591/478 +f 2570/3585/484 2551/3592/484 2543/3593/484 +f 2567/3586/480 2543/3594/480 2545/3595/480 +f 2572/3596/477 2574/3597/477 2571/3598/477 +f 2550/3599/480 2571/3598/480 2544/3600/480 +f 2573/3601/485 2550/3602/485 2558/3603/485 +f 2574/3597/478 2558/3604/478 2552/3605/478 +f 2571/3598/476 2552/3606/476 2544/3607/476 +f 2576/3608/479 2578/3609/479 2575/3610/479 +f 2576/3608/480 2545/3611/480 2547/3612/480 +f 2577/3613/476 2547/3614/476 2555/3615/476 +f 2553/3616/478 2577/3613/478 2555/3617/478 +f 2575/3610/485 2553/3618/485 2545/3619/485 +f 2580/3620/484 2582/3621/484 2579/3622/484 +f 2580/3620/483 2548/3623/483 2556/3624/483 +f 2581/3625/478 2556/3626/478 2558/3627/478 +f 2582/3621/482 2558/3628/482 2550/3629/482 +f 2579/3622/480 2550/3630/480 2548/3631/480 +f 2584/3632/482 2586/3633/482 2583/3634/482 +f 2584/3632/484 2544/3635/484 2552/3636/484 +f 2585/3637/478 2552/3638/478 2554/3639/478 +f 2586/3633/481 2554/3640/481 2546/3641/481 +f 2583/3634/480 2546/3642/480 2544/3643/480 +f 2588/3644/485 2590/3645/485 2587/3646/485 +f 2588/3644/479 2543/3647/479 2551/3648/479 +f 2589/3649/478 2551/3650/478 2556/3651/478 +f 2590/3645/477 2556/3652/477 2548/3653/477 +f 2543/3654/480 2590/3645/480 2548/3655/480 +f 2560/3561/476 2561/3656/476 2562/3562/476 +f 2560/3561/477 2559/3563/477 2546/3564/477 +f 2557/3566/478 2561/3656/478 2560/3561/478 +f 2562/3562/479 2561/3656/479 2557/3568/479 +f 2559/3563/480 2562/3562/480 2549/3570/480 +f 2564/3572/481 2565/3577/481 2566/3573/481 +f 2564/3572/482 2563/3574/482 2549/3575/482 +f 2565/3577/478 2564/3572/478 2557/3578/478 +f 2566/3573/483 2565/3577/483 2555/3580/483 +f 2563/3574/480 2566/3573/480 2547/3582/480 +f 2568/3584/483 2569/3589/483 2570/3585/483 +f 2568/3584/481 2567/3586/481 2545/3587/481 +f 2569/3589/478 2568/3584/478 2553/3590/478 +f 2570/3585/484 2569/3589/484 2551/3592/484 +f 2567/3586/480 2570/3585/480 2543/3594/480 +f 2572/3596/477 2573/3601/477 2574/3597/477 +f 2550/3599/480 2572/3596/480 2571/3598/480 +f 2573/3601/485 2572/3596/485 2550/3602/485 +f 2574/3597/478 2573/3601/478 2558/3604/478 +f 2571/3598/476 2574/3597/476 2552/3606/476 +f 2576/3608/479 2577/3613/479 2578/3609/479 +f 2576/3608/480 2575/3610/480 2545/3611/480 +f 2577/3613/476 2576/3608/476 2547/3614/476 +f 2553/3616/478 2578/3609/478 2577/3613/478 +f 2575/3610/485 2578/3609/485 2553/3618/485 +f 2580/3620/484 2581/3625/484 2582/3621/484 +f 2580/3620/483 2579/3622/483 2548/3623/483 +f 2581/3625/478 2580/3620/478 2556/3626/478 +f 2582/3621/482 2581/3625/482 2558/3628/482 +f 2579/3622/480 2582/3621/480 2550/3630/480 +f 2584/3632/482 2585/3637/482 2586/3633/482 +f 2584/3632/484 2583/3634/484 2544/3635/484 +f 2585/3637/478 2584/3632/478 2552/3638/478 +f 2586/3633/481 2585/3637/481 2554/3640/481 +f 2583/3634/480 2586/3633/480 2546/3642/480 +f 2588/3644/485 2589/3649/485 2590/3645/485 +f 2588/3644/479 2587/3646/479 2543/3647/479 +f 2589/3649/478 2588/3644/478 2551/3650/478 +f 2590/3645/477 2589/3649/477 2556/3652/477 +f 2543/3654/480 2587/3646/480 2590/3645/480 o ShroudV v -1.437500 0.374996 5.500000 v 1.437500 0.374996 5.500000 @@ -9143,126 +10449,126 @@ vn -0.7071 0.7071 0.0000 vn 1.0000 0.0000 0.0000 vn -1.0000 0.0000 0.0000 s off -f 2191/3183/486 2177/3184/486 2192/3185/486 -f 2194/3186/487 2176/3187/487 2193/3188/487 -f 2201/3189/487 2196/3190/487 2188/3191/487 -f 2183/3192/488 2201/3193/488 2197/3194/488 -f 2196/3190/489 2183/3195/489 2195/3196/489 -f 2198/3197/490 2201/3198/490 2202/3199/490 -f 2189/3200/491 2185/3201/491 2187/3202/491 -f 2193/3188/488 2180/3203/488 2191/3183/488 -f 2189/3200/492 2188/3191/492 2190/3204/492 -f 2188/3191/493 2195/3196/493 2190/3204/493 -f 2192/3185/490 2193/3188/490 2191/3183/490 -f 2187/3202/487 2201/3205/487 2188/3191/487 -f 2192/3185/489 2200/3206/489 2194/3186/489 -f 2190/3204/486 2198/3197/486 2189/3200/486 -f 2177/3184/492 2176/3207/492 2175/3208/492 -f 2179/3209/491 2204/3210/491 2180/3203/491 -f 2204/3211/493 2176/3212/493 2178/3213/493 -f 2176/3214/487 2179/3209/487 2193/3188/487 -f 2180/3203/486 2178/3213/486 2191/3183/486 -f 2199/3215/493 2206/3216/493 2200/3206/493 -f 2206/3217/491 2177/3218/491 2175/3219/491 -f 2200/3206/487 2175/3220/487 2194/3186/487 -f 2177/3218/486 2199/3215/486 2192/3185/486 -f 2195/3196/486 2197/3194/486 2190/3204/486 -f 2186/3221/488 2181/3222/488 2185/3201/488 -f 2181/3223/489 2198/3224/489 2202/3225/489 -f 2185/3201/487 2202/3226/487 2187/3202/487 -f 2198/3224/486 2186/3221/486 2189/3200/486 -f 2209/3227/494 2208/3228/494 2207/3229/494 -f 2213/3230/487 2210/3231/487 2209/3232/487 -f 2207/3233/486 2212/3234/486 2211/3235/486 -f 2212/3234/492 2210/3231/492 2214/3236/492 -f 2217/3237/494 2216/3238/494 2215/3239/494 -f 2221/3240/487 2218/3241/487 2217/3242/487 -f 2215/3243/486 2220/3244/486 2219/3245/486 -f 2220/3244/492 2218/3241/492 2222/3246/492 -f 2225/3247/495 2224/3248/495 2223/3249/495 -f 2229/3250/486 2226/3251/486 2225/3252/486 -f 2223/3253/487 2228/3254/487 2227/3255/487 -f 2228/3254/492 2226/3251/492 2230/3256/492 -f 2233/3257/495 2232/3258/495 2231/3259/495 -f 2237/3260/486 2234/3261/486 2233/3262/486 -f 2231/3263/487 2236/3264/487 2235/3265/487 -f 2236/3264/492 2234/3261/492 2238/3266/492 -f 2241/3267/495 2240/3268/495 2239/3269/495 -f 2245/3270/487 2242/3271/487 2241/3272/487 -f 2239/3273/486 2244/3274/486 2243/3275/486 -f 2244/3274/490 2242/3271/490 2246/3276/490 -f 2249/3277/495 2248/3278/495 2247/3279/495 -f 2253/3280/487 2250/3281/487 2249/3282/487 -f 2247/3283/486 2252/3284/486 2251/3285/486 -f 2252/3284/490 2250/3281/490 2254/3286/490 -f 2257/3287/494 2256/3288/494 2255/3289/494 -f 2261/3290/486 2258/3291/486 2257/3292/486 -f 2255/3293/487 2260/3294/487 2259/3295/487 -f 2260/3294/490 2258/3291/490 2262/3296/490 -f 2265/3297/494 2264/3298/494 2263/3299/494 -f 2269/3300/486 2266/3301/486 2265/3302/486 -f 2263/3303/487 2268/3304/487 2267/3305/487 -f 2268/3304/490 2266/3301/490 2270/3306/490 -f 2191/3183/486 2178/3307/486 2177/3184/486 -f 2194/3186/487 2175/3308/487 2176/3187/487 -f 2201/3189/487 2184/3309/487 2196/3190/487 -f 2183/3192/488 2184/3310/488 2201/3193/488 -f 2196/3190/489 2184/3311/489 2183/3195/489 -f 2198/3197/490 2197/3312/490 2201/3198/490 -f 2189/3200/491 2186/3221/491 2185/3201/491 -f 2193/3188/488 2179/3209/488 2180/3203/488 -f 2189/3200/492 2187/3202/492 2188/3191/492 -f 2188/3191/493 2196/3190/493 2195/3196/493 -f 2192/3185/490 2194/3186/490 2193/3188/490 -f 2187/3202/487 2202/3313/487 2201/3205/487 -f 2192/3185/489 2199/3215/489 2200/3206/489 -f 2190/3204/486 2197/3312/486 2198/3197/486 -f 2177/3184/492 2178/3307/492 2176/3207/492 -f 2179/3209/491 2203/3314/491 2204/3210/491 -f 2204/3211/493 2203/3315/493 2176/3212/493 -f 2176/3214/487 2203/3316/487 2179/3209/487 -f 2180/3203/486 2204/3211/486 2178/3213/486 -f 2199/3215/493 2205/3317/493 2206/3216/493 -f 2206/3217/491 2205/3318/491 2177/3218/491 -f 2200/3206/487 2206/3319/487 2175/3220/487 -f 2177/3218/486 2205/3318/486 2199/3215/486 -f 2195/3196/486 2183/3192/486 2197/3194/486 -f 2186/3221/488 2182/3320/488 2181/3222/488 -f 2181/3223/489 2182/3321/489 2198/3224/489 -f 2185/3201/487 2181/3322/487 2202/3226/487 -f 2198/3224/486 2182/3321/486 2186/3221/486 -f 2209/3227/494 2210/3231/494 2208/3228/494 -f 2213/3230/487 2214/3236/487 2210/3231/487 -f 2207/3233/486 2208/3228/486 2212/3234/486 -f 2212/3234/492 2208/3228/492 2210/3231/492 -f 2217/3237/494 2218/3241/494 2216/3238/494 -f 2221/3240/487 2222/3246/487 2218/3241/487 -f 2215/3243/486 2216/3238/486 2220/3244/486 -f 2220/3244/492 2216/3238/492 2218/3241/492 -f 2225/3247/495 2226/3251/495 2224/3248/495 -f 2229/3250/486 2230/3256/486 2226/3251/486 -f 2223/3253/487 2224/3248/487 2228/3254/487 -f 2228/3254/492 2224/3248/492 2226/3251/492 -f 2233/3257/495 2234/3261/495 2232/3258/495 -f 2237/3260/486 2238/3266/486 2234/3261/486 -f 2231/3263/487 2232/3258/487 2236/3264/487 -f 2236/3264/492 2232/3258/492 2234/3261/492 -f 2241/3267/495 2242/3271/495 2240/3268/495 -f 2245/3270/487 2246/3276/487 2242/3271/487 -f 2239/3273/486 2240/3268/486 2244/3274/486 -f 2244/3274/490 2240/3268/490 2242/3271/490 -f 2249/3277/495 2250/3281/495 2248/3278/495 -f 2253/3280/487 2254/3286/487 2250/3281/487 -f 2247/3283/486 2248/3278/486 2252/3284/486 -f 2252/3284/490 2248/3278/490 2250/3281/490 -f 2257/3287/494 2258/3291/494 2256/3288/494 -f 2261/3290/486 2262/3296/486 2258/3291/486 -f 2255/3293/487 2256/3288/487 2260/3294/487 -f 2260/3294/490 2256/3288/490 2258/3291/490 -f 2265/3297/494 2266/3301/494 2264/3298/494 -f 2269/3300/486 2270/3306/486 2266/3301/486 -f 2263/3303/487 2264/3298/487 2268/3304/487 -f 2268/3304/490 2264/3298/490 2266/3301/490 +f 2607/3657/486 2593/3658/486 2608/3659/486 +f 2610/3660/487 2592/3661/487 2609/3662/487 +f 2617/3663/487 2612/3664/487 2604/3665/487 +f 2599/3666/488 2617/3667/488 2613/3668/488 +f 2612/3664/489 2599/3669/489 2611/3670/489 +f 2614/3671/490 2617/3672/490 2618/3673/490 +f 2605/3674/491 2601/3675/491 2603/3676/491 +f 2609/3662/488 2596/3677/488 2607/3657/488 +f 2605/3674/492 2604/3665/492 2606/3678/492 +f 2604/3665/493 2611/3670/493 2606/3678/493 +f 2608/3659/490 2609/3662/490 2607/3657/490 +f 2603/3676/487 2617/3679/487 2604/3665/487 +f 2608/3659/489 2616/3680/489 2610/3660/489 +f 2606/3678/486 2614/3671/486 2605/3674/486 +f 2593/3658/492 2592/3681/492 2591/3682/492 +f 2595/3683/491 2620/3684/491 2596/3677/491 +f 2620/3685/493 2592/3686/493 2594/3687/493 +f 2592/3688/487 2595/3683/487 2609/3662/487 +f 2596/3677/486 2594/3687/486 2607/3657/486 +f 2615/3689/493 2622/3690/493 2616/3680/493 +f 2622/3691/491 2593/3692/491 2591/3693/491 +f 2616/3680/487 2591/3694/487 2610/3660/487 +f 2593/3692/486 2615/3689/486 2608/3659/486 +f 2611/3670/486 2613/3668/486 2606/3678/486 +f 2602/3695/488 2597/3696/488 2601/3675/488 +f 2597/3697/489 2614/3698/489 2618/3699/489 +f 2601/3675/487 2618/3700/487 2603/3676/487 +f 2614/3698/486 2602/3695/486 2605/3674/486 +f 2625/3701/494 2624/3702/494 2623/3703/494 +f 2629/3704/487 2626/3705/487 2625/3706/487 +f 2623/3707/486 2628/3708/486 2627/3709/486 +f 2628/3708/492 2626/3705/492 2630/3710/492 +f 2633/3711/494 2632/3712/494 2631/3713/494 +f 2637/3714/487 2634/3715/487 2633/3716/487 +f 2631/3717/486 2636/3718/486 2635/3719/486 +f 2636/3718/492 2634/3715/492 2638/3720/492 +f 2641/3721/495 2640/3722/495 2639/3723/495 +f 2645/3724/486 2642/3725/486 2641/3726/486 +f 2639/3727/487 2644/3728/487 2643/3729/487 +f 2644/3728/492 2642/3725/492 2646/3730/492 +f 2649/3731/495 2648/3732/495 2647/3733/495 +f 2653/3734/486 2650/3735/486 2649/3736/486 +f 2647/3737/487 2652/3738/487 2651/3739/487 +f 2652/3738/492 2650/3735/492 2654/3740/492 +f 2657/3741/495 2656/3742/495 2655/3743/495 +f 2661/3744/487 2658/3745/487 2657/3746/487 +f 2655/3747/486 2660/3748/486 2659/3749/486 +f 2660/3748/490 2658/3745/490 2662/3750/490 +f 2665/3751/495 2664/3752/495 2663/3753/495 +f 2669/3754/487 2666/3755/487 2665/3756/487 +f 2663/3757/486 2668/3758/486 2667/3759/486 +f 2668/3758/490 2666/3755/490 2670/3760/490 +f 2673/3761/494 2672/3762/494 2671/3763/494 +f 2677/3764/486 2674/3765/486 2673/3766/486 +f 2671/3767/487 2676/3768/487 2675/3769/487 +f 2676/3768/490 2674/3765/490 2678/3770/490 +f 2681/3771/494 2680/3772/494 2679/3773/494 +f 2685/3774/486 2682/3775/486 2681/3776/486 +f 2679/3777/487 2684/3778/487 2683/3779/487 +f 2684/3778/490 2682/3775/490 2686/3780/490 +f 2607/3657/486 2594/3781/486 2593/3658/486 +f 2610/3660/487 2591/3782/487 2592/3661/487 +f 2617/3663/487 2600/3783/487 2612/3664/487 +f 2599/3666/488 2600/3784/488 2617/3667/488 +f 2612/3664/489 2600/3785/489 2599/3669/489 +f 2614/3671/490 2613/3786/490 2617/3672/490 +f 2605/3674/491 2602/3695/491 2601/3675/491 +f 2609/3662/488 2595/3683/488 2596/3677/488 +f 2605/3674/492 2603/3676/492 2604/3665/492 +f 2604/3665/493 2612/3664/493 2611/3670/493 +f 2608/3659/490 2610/3660/490 2609/3662/490 +f 2603/3676/487 2618/3787/487 2617/3679/487 +f 2608/3659/489 2615/3689/489 2616/3680/489 +f 2606/3678/486 2613/3786/486 2614/3671/486 +f 2593/3658/492 2594/3781/492 2592/3681/492 +f 2595/3683/491 2619/3788/491 2620/3684/491 +f 2620/3685/493 2619/3789/493 2592/3686/493 +f 2592/3688/487 2619/3790/487 2595/3683/487 +f 2596/3677/486 2620/3685/486 2594/3687/486 +f 2615/3689/493 2621/3791/493 2622/3690/493 +f 2622/3691/491 2621/3792/491 2593/3692/491 +f 2616/3680/487 2622/3793/487 2591/3694/487 +f 2593/3692/486 2621/3792/486 2615/3689/486 +f 2611/3670/486 2599/3666/486 2613/3668/486 +f 2602/3695/488 2598/3794/488 2597/3696/488 +f 2597/3697/489 2598/3795/489 2614/3698/489 +f 2601/3675/487 2597/3796/487 2618/3700/487 +f 2614/3698/486 2598/3795/486 2602/3695/486 +f 2625/3701/494 2626/3705/494 2624/3702/494 +f 2629/3704/487 2630/3710/487 2626/3705/487 +f 2623/3707/486 2624/3702/486 2628/3708/486 +f 2628/3708/492 2624/3702/492 2626/3705/492 +f 2633/3711/494 2634/3715/494 2632/3712/494 +f 2637/3714/487 2638/3720/487 2634/3715/487 +f 2631/3717/486 2632/3712/486 2636/3718/486 +f 2636/3718/492 2632/3712/492 2634/3715/492 +f 2641/3721/495 2642/3725/495 2640/3722/495 +f 2645/3724/486 2646/3730/486 2642/3725/486 +f 2639/3727/487 2640/3722/487 2644/3728/487 +f 2644/3728/492 2640/3722/492 2642/3725/492 +f 2649/3731/495 2650/3735/495 2648/3732/495 +f 2653/3734/486 2654/3740/486 2650/3735/486 +f 2647/3737/487 2648/3732/487 2652/3738/487 +f 2652/3738/492 2648/3732/492 2650/3735/492 +f 2657/3741/495 2658/3745/495 2656/3742/495 +f 2661/3744/487 2662/3750/487 2658/3745/487 +f 2655/3747/486 2656/3742/486 2660/3748/486 +f 2660/3748/490 2656/3742/490 2658/3745/490 +f 2665/3751/495 2666/3755/495 2664/3752/495 +f 2669/3754/487 2670/3760/487 2666/3755/487 +f 2663/3757/486 2664/3752/486 2668/3758/486 +f 2668/3758/490 2664/3752/490 2666/3755/490 +f 2673/3761/494 2674/3765/494 2672/3762/494 +f 2677/3764/486 2678/3770/486 2674/3765/486 +f 2671/3767/487 2672/3762/487 2676/3768/487 +f 2676/3768/490 2672/3762/490 2674/3765/490 +f 2681/3771/494 2682/3775/494 2680/3772/494 +f 2685/3774/486 2686/3780/486 2682/3775/486 +f 2679/3777/487 2680/3772/487 2684/3778/487 +f 2684/3778/490 2680/3772/490 2682/3775/490 o ShroudH v 2.562502 1.499998 8.500000 v 2.562502 1.499998 5.500000 @@ -9511,126 +10817,126 @@ vn 0.7071 0.7071 0.0000 vn 0.0000 1.0000 0.0000 vn 0.0000 -1.0000 0.0000 s off -f 2287/3323/496 2276/3324/496 2288/3325/496 -f 2290/3326/497 2277/3327/497 2289/3328/497 -f 2297/3329/497 2292/3330/497 2284/3331/497 -f 2279/3332/498 2297/3333/498 2293/3334/498 -f 2292/3330/499 2279/3335/499 2291/3336/499 -f 2294/3337/500 2297/3338/500 2298/3339/500 -f 2285/3340/501 2281/3341/501 2283/3342/501 -f 2289/3328/498 2273/3343/498 2287/3323/498 -f 2285/3340/502 2284/3331/502 2286/3344/502 -f 2284/3331/503 2291/3336/503 2286/3344/503 -f 2288/3325/500 2289/3328/500 2287/3323/500 -f 2283/3342/497 2297/3345/497 2284/3331/497 -f 2288/3325/499 2296/3346/499 2290/3326/499 -f 2286/3344/496 2294/3337/496 2285/3340/496 -f 2276/3324/502 2277/3347/502 2278/3348/502 -f 2274/3349/501 2300/3350/501 2273/3343/501 -f 2300/3351/503 2277/3352/503 2275/3353/503 -f 2277/3354/497 2274/3349/497 2289/3328/497 -f 2273/3343/496 2275/3353/496 2287/3323/496 -f 2295/3355/503 2302/3356/503 2296/3346/503 -f 2302/3357/501 2276/3358/501 2278/3359/501 -f 2296/3346/497 2278/3360/497 2290/3326/497 -f 2276/3358/496 2295/3355/496 2288/3325/496 -f 2291/3336/496 2293/3334/496 2286/3344/496 -f 2282/3361/498 2272/3362/498 2281/3341/498 -f 2272/3363/499 2294/3364/499 2298/3365/499 -f 2281/3341/497 2298/3366/497 2283/3342/497 -f 2294/3364/496 2282/3361/496 2285/3340/496 -f 2305/3367/504 2304/3368/504 2303/3369/504 -f 2309/3370/497 2306/3371/497 2305/3372/497 -f 2303/3373/496 2308/3374/496 2307/3375/496 -f 2308/3374/500 2306/3371/500 2310/3376/500 -f 2313/3377/504 2312/3378/504 2311/3379/504 -f 2317/3380/497 2314/3381/497 2313/3382/497 -f 2311/3383/496 2316/3384/496 2315/3385/496 -f 2316/3384/500 2314/3381/500 2318/3386/500 -f 2321/3387/505 2320/3388/505 2319/3389/505 -f 2325/3390/496 2322/3391/496 2321/3392/496 -f 2319/3393/497 2324/3394/497 2323/3395/497 -f 2324/3394/500 2322/3391/500 2326/3396/500 -f 2329/3397/505 2328/3398/505 2327/3399/505 -f 2333/3400/496 2330/3401/496 2329/3402/496 -f 2327/3403/497 2332/3404/497 2331/3405/497 -f 2332/3404/500 2330/3401/500 2334/3406/500 -f 2337/3407/505 2336/3408/505 2335/3409/505 -f 2341/3410/497 2338/3411/497 2337/3412/497 -f 2335/3413/496 2340/3414/496 2339/3415/496 -f 2340/3414/502 2338/3411/502 2342/3416/502 -f 2345/3417/505 2344/3418/505 2343/3419/505 -f 2349/3420/497 2346/3421/497 2345/3422/497 -f 2343/3423/496 2348/3424/496 2347/3425/496 -f 2348/3424/502 2346/3421/502 2350/3426/502 -f 2353/3427/504 2352/3428/504 2351/3429/504 -f 2357/3430/496 2354/3431/496 2353/3432/496 -f 2351/3433/497 2356/3434/497 2355/3435/497 -f 2356/3434/502 2354/3431/502 2358/3436/502 -f 2361/3437/504 2360/3438/504 2359/3439/504 -f 2365/3440/496 2362/3441/496 2361/3442/496 -f 2359/3443/497 2364/3444/497 2363/3445/497 -f 2364/3444/502 2362/3441/502 2366/3446/502 -f 2287/3323/496 2275/3447/496 2276/3324/496 -f 2290/3326/497 2278/3448/497 2277/3327/497 -f 2297/3329/497 2280/3449/497 2292/3330/497 -f 2279/3332/498 2280/3450/498 2297/3333/498 -f 2292/3330/499 2280/3451/499 2279/3335/499 -f 2294/3337/500 2293/3452/500 2297/3338/500 -f 2285/3340/501 2282/3361/501 2281/3341/501 -f 2289/3328/498 2274/3349/498 2273/3343/498 -f 2285/3340/502 2283/3342/502 2284/3331/502 -f 2284/3331/503 2292/3330/503 2291/3336/503 -f 2288/3325/500 2290/3326/500 2289/3328/500 -f 2283/3342/497 2298/3453/497 2297/3345/497 -f 2288/3325/499 2295/3355/499 2296/3346/499 -f 2286/3344/496 2293/3452/496 2294/3337/496 -f 2276/3324/502 2275/3447/502 2277/3347/502 -f 2274/3349/501 2299/3454/501 2300/3350/501 -f 2300/3351/503 2299/3455/503 2277/3352/503 -f 2277/3354/497 2299/3456/497 2274/3349/497 -f 2273/3343/496 2300/3351/496 2275/3353/496 -f 2295/3355/503 2301/3457/503 2302/3356/503 -f 2302/3357/501 2301/3458/501 2276/3358/501 -f 2296/3346/497 2302/3459/497 2278/3360/497 -f 2276/3358/496 2301/3458/496 2295/3355/496 -f 2291/3336/496 2279/3332/496 2293/3334/496 -f 2282/3361/498 2271/3460/498 2272/3362/498 -f 2272/3363/499 2271/3461/499 2294/3364/499 -f 2281/3341/497 2272/3462/497 2298/3366/497 -f 2294/3364/496 2271/3461/496 2282/3361/496 -f 2305/3367/504 2306/3371/504 2304/3368/504 -f 2309/3370/497 2310/3376/497 2306/3371/497 -f 2303/3373/496 2304/3368/496 2308/3374/496 -f 2308/3374/500 2304/3368/500 2306/3371/500 -f 2313/3377/504 2314/3381/504 2312/3378/504 -f 2317/3380/497 2318/3386/497 2314/3381/497 -f 2311/3383/496 2312/3378/496 2316/3384/496 -f 2316/3384/500 2312/3378/500 2314/3381/500 -f 2321/3387/505 2322/3391/505 2320/3388/505 -f 2325/3390/496 2326/3396/496 2322/3391/496 -f 2319/3393/497 2320/3388/497 2324/3394/497 -f 2324/3394/500 2320/3388/500 2322/3391/500 -f 2329/3397/505 2330/3401/505 2328/3398/505 -f 2333/3400/496 2334/3406/496 2330/3401/496 -f 2327/3403/497 2328/3398/497 2332/3404/497 -f 2332/3404/500 2328/3398/500 2330/3401/500 -f 2337/3407/505 2338/3411/505 2336/3408/505 -f 2341/3410/497 2342/3416/497 2338/3411/497 -f 2335/3413/496 2336/3408/496 2340/3414/496 -f 2340/3414/502 2336/3408/502 2338/3411/502 -f 2345/3417/505 2346/3421/505 2344/3418/505 -f 2349/3420/497 2350/3426/497 2346/3421/497 -f 2343/3423/496 2344/3418/496 2348/3424/496 -f 2348/3424/502 2344/3418/502 2346/3421/502 -f 2353/3427/504 2354/3431/504 2352/3428/504 -f 2357/3430/496 2358/3436/496 2354/3431/496 -f 2351/3433/497 2352/3428/497 2356/3434/497 -f 2356/3434/502 2352/3428/502 2354/3431/502 -f 2361/3437/504 2362/3441/504 2360/3438/504 -f 2365/3440/496 2366/3446/496 2362/3441/496 -f 2359/3443/497 2360/3438/497 2364/3444/497 -f 2364/3444/502 2360/3438/502 2362/3441/502 +f 2703/3797/496 2692/3798/496 2704/3799/496 +f 2706/3800/497 2693/3801/497 2705/3802/497 +f 2713/3803/497 2708/3804/497 2700/3805/497 +f 2695/3806/498 2713/3807/498 2709/3808/498 +f 2708/3804/499 2695/3809/499 2707/3810/499 +f 2710/3811/500 2713/3812/500 2714/3813/500 +f 2701/3814/501 2697/3815/501 2699/3816/501 +f 2705/3802/498 2689/3817/498 2703/3797/498 +f 2701/3814/502 2700/3805/502 2702/3818/502 +f 2700/3805/503 2707/3810/503 2702/3818/503 +f 2704/3799/500 2705/3802/500 2703/3797/500 +f 2699/3816/497 2713/3819/497 2700/3805/497 +f 2704/3799/499 2712/3820/499 2706/3800/499 +f 2702/3818/496 2710/3811/496 2701/3814/496 +f 2692/3798/502 2693/3821/502 2694/3822/502 +f 2690/3823/501 2716/3824/501 2689/3817/501 +f 2716/3825/503 2693/3826/503 2691/3827/503 +f 2693/3828/497 2690/3823/497 2705/3802/497 +f 2689/3817/496 2691/3827/496 2703/3797/496 +f 2711/3829/503 2718/3830/503 2712/3820/503 +f 2718/3831/501 2692/3832/501 2694/3833/501 +f 2712/3820/497 2694/3834/497 2706/3800/497 +f 2692/3832/496 2711/3829/496 2704/3799/496 +f 2707/3810/496 2709/3808/496 2702/3818/496 +f 2698/3835/498 2688/3836/498 2697/3815/498 +f 2688/3837/499 2710/3838/499 2714/3839/499 +f 2697/3815/497 2714/3840/497 2699/3816/497 +f 2710/3838/496 2698/3835/496 2701/3814/496 +f 2721/3841/504 2720/3842/504 2719/3843/504 +f 2725/3844/497 2722/3845/497 2721/3846/497 +f 2719/3847/496 2724/3848/496 2723/3849/496 +f 2724/3848/500 2722/3845/500 2726/3850/500 +f 2729/3851/504 2728/3852/504 2727/3853/504 +f 2733/3854/497 2730/3855/497 2729/3856/497 +f 2727/3857/496 2732/3858/496 2731/3859/496 +f 2732/3858/500 2730/3855/500 2734/3860/500 +f 2737/3861/505 2736/3862/505 2735/3863/505 +f 2741/3864/496 2738/3865/496 2737/3866/496 +f 2735/3867/497 2740/3868/497 2739/3869/497 +f 2740/3868/500 2738/3865/500 2742/3870/500 +f 2745/3871/505 2744/3872/505 2743/3873/505 +f 2749/3874/496 2746/3875/496 2745/3876/496 +f 2743/3877/497 2748/3878/497 2747/3879/497 +f 2748/3878/500 2746/3875/500 2750/3880/500 +f 2753/3881/505 2752/3882/505 2751/3883/505 +f 2757/3884/497 2754/3885/497 2753/3886/497 +f 2751/3887/496 2756/3888/496 2755/3889/496 +f 2756/3888/502 2754/3885/502 2758/3890/502 +f 2761/3891/505 2760/3892/505 2759/3893/505 +f 2765/3894/497 2762/3895/497 2761/3896/497 +f 2759/3897/496 2764/3898/496 2763/3899/496 +f 2764/3898/502 2762/3895/502 2766/3900/502 +f 2769/3901/504 2768/3902/504 2767/3903/504 +f 2773/3904/496 2770/3905/496 2769/3906/496 +f 2767/3907/497 2772/3908/497 2771/3909/497 +f 2772/3908/502 2770/3905/502 2774/3910/502 +f 2777/3911/504 2776/3912/504 2775/3913/504 +f 2781/3914/496 2778/3915/496 2777/3916/496 +f 2775/3917/497 2780/3918/497 2779/3919/497 +f 2780/3918/502 2778/3915/502 2782/3920/502 +f 2703/3797/496 2691/3921/496 2692/3798/496 +f 2706/3800/497 2694/3922/497 2693/3801/497 +f 2713/3803/497 2696/3923/497 2708/3804/497 +f 2695/3806/498 2696/3924/498 2713/3807/498 +f 2708/3804/499 2696/3925/499 2695/3809/499 +f 2710/3811/500 2709/3926/500 2713/3812/500 +f 2701/3814/501 2698/3835/501 2697/3815/501 +f 2705/3802/498 2690/3823/498 2689/3817/498 +f 2701/3814/502 2699/3816/502 2700/3805/502 +f 2700/3805/503 2708/3804/503 2707/3810/503 +f 2704/3799/500 2706/3800/500 2705/3802/500 +f 2699/3816/497 2714/3927/497 2713/3819/497 +f 2704/3799/499 2711/3829/499 2712/3820/499 +f 2702/3818/496 2709/3926/496 2710/3811/496 +f 2692/3798/502 2691/3921/502 2693/3821/502 +f 2690/3823/501 2715/3928/501 2716/3824/501 +f 2716/3825/503 2715/3929/503 2693/3826/503 +f 2693/3828/497 2715/3930/497 2690/3823/497 +f 2689/3817/496 2716/3825/496 2691/3827/496 +f 2711/3829/503 2717/3931/503 2718/3830/503 +f 2718/3831/501 2717/3932/501 2692/3832/501 +f 2712/3820/497 2718/3933/497 2694/3834/497 +f 2692/3832/496 2717/3932/496 2711/3829/496 +f 2707/3810/496 2695/3806/496 2709/3808/496 +f 2698/3835/498 2687/3934/498 2688/3836/498 +f 2688/3837/499 2687/3935/499 2710/3838/499 +f 2697/3815/497 2688/3936/497 2714/3840/497 +f 2710/3838/496 2687/3935/496 2698/3835/496 +f 2721/3841/504 2722/3845/504 2720/3842/504 +f 2725/3844/497 2726/3850/497 2722/3845/497 +f 2719/3847/496 2720/3842/496 2724/3848/496 +f 2724/3848/500 2720/3842/500 2722/3845/500 +f 2729/3851/504 2730/3855/504 2728/3852/504 +f 2733/3854/497 2734/3860/497 2730/3855/497 +f 2727/3857/496 2728/3852/496 2732/3858/496 +f 2732/3858/500 2728/3852/500 2730/3855/500 +f 2737/3861/505 2738/3865/505 2736/3862/505 +f 2741/3864/496 2742/3870/496 2738/3865/496 +f 2735/3867/497 2736/3862/497 2740/3868/497 +f 2740/3868/500 2736/3862/500 2738/3865/500 +f 2745/3871/505 2746/3875/505 2744/3872/505 +f 2749/3874/496 2750/3880/496 2746/3875/496 +f 2743/3877/497 2744/3872/497 2748/3878/497 +f 2748/3878/500 2744/3872/500 2746/3875/500 +f 2753/3881/505 2754/3885/505 2752/3882/505 +f 2757/3884/497 2758/3890/497 2754/3885/497 +f 2751/3887/496 2752/3882/496 2756/3888/496 +f 2756/3888/502 2752/3882/502 2754/3885/502 +f 2761/3891/505 2762/3895/505 2760/3892/505 +f 2765/3894/497 2766/3900/497 2762/3895/497 +f 2759/3897/496 2760/3892/496 2764/3898/496 +f 2764/3898/502 2760/3892/502 2762/3895/502 +f 2769/3901/504 2770/3905/504 2768/3902/504 +f 2773/3904/496 2774/3910/496 2770/3905/496 +f 2767/3907/497 2768/3902/497 2772/3908/497 +f 2772/3908/502 2768/3902/502 2770/3905/502 +f 2777/3911/504 2778/3915/504 2776/3912/504 +f 2781/3914/496 2782/3920/496 2778/3915/496 +f 2775/3917/497 2776/3912/497 2780/3918/497 +f 2780/3918/502 2776/3912/502 2778/3915/502 o Engine v 0.000000 6.499998 9.499993 v -1.148050 6.271637 9.499993 @@ -10264,327 +11570,327 @@ vn 0.8186 0.3391 -0.4636 vn 0.6531 0.2705 -0.7074 vn -0.0000 -0.0000 -1.0000 s off -f 2372/3463/506 2389/3464/506 2388/3465/506 -f 2374/3466/506 2389/3467/506 2373/3468/506 -f 2375/3469/506 2390/3470/506 2374/3466/506 -f 2376/3471/506 2391/3472/506 2375/3473/506 -f 2376/3471/506 2393/3474/506 2392/3475/506 -f 2378/3476/506 2393/3477/506 2377/3478/506 -f 2378/3476/506 2395/3479/506 2394/3480/506 -f 2380/3481/506 2395/3482/506 2379/3483/506 -f 2380/3481/506 2397/3484/506 2396/3485/506 -f 2382/3486/506 2397/3487/506 2381/3488/506 -f 2367/3489/506 2398/3490/506 2382/3486/506 -f 2368/3491/506 2383/3492/506 2367/3489/506 -f 2368/3491/506 2385/3493/506 2384/3494/506 -f 2370/3495/506 2385/3496/506 2369/3497/506 -f 2370/3495/506 2387/3498/506 2386/3499/506 -f 2372/3463/506 2387/3500/506 2371/3501/506 -f 2372/3463/506 2373/3468/506 2389/3464/506 -f 2374/3466/506 2390/3502/506 2389/3467/506 -f 2375/3469/506 2391/3503/506 2390/3470/506 -f 2376/3471/506 2392/3504/506 2391/3472/506 -f 2376/3471/506 2377/3478/506 2393/3474/506 -f 2378/3476/506 2394/3505/506 2393/3477/506 -f 2378/3476/506 2379/3483/506 2395/3479/506 -f 2380/3481/506 2396/3506/506 2395/3482/506 -f 2380/3481/506 2381/3488/506 2397/3484/506 -f 2382/3486/506 2398/3507/506 2397/3487/506 -f 2367/3489/506 2383/3508/506 2398/3490/506 -f 2368/3491/506 2384/3509/506 2383/3492/506 -f 2368/3491/506 2369/3497/506 2385/3493/506 -f 2370/3495/506 2386/3510/506 2385/3496/506 -f 2370/3495/506 2371/3501/506 2387/3498/506 -f 2372/3463/506 2388/3511/506 2387/3500/506 +f 2788/3937/506 2805/3938/506 2804/3939/506 +f 2790/3940/506 2805/3941/506 2789/3942/506 +f 2791/3943/506 2806/3944/506 2790/3940/506 +f 2792/3945/506 2807/3946/506 2791/3947/506 +f 2792/3945/506 2809/3948/506 2808/3949/506 +f 2794/3950/506 2809/3951/506 2793/3952/506 +f 2794/3950/506 2811/3953/506 2810/3954/506 +f 2796/3955/506 2811/3956/506 2795/3957/506 +f 2796/3955/506 2813/3958/506 2812/3959/506 +f 2798/3960/506 2813/3961/506 2797/3962/506 +f 2783/3963/506 2814/3964/506 2798/3960/506 +f 2784/3965/506 2799/3966/506 2783/3963/506 +f 2784/3965/506 2801/3967/506 2800/3968/506 +f 2786/3969/506 2801/3970/506 2785/3971/506 +f 2786/3969/506 2803/3972/506 2802/3973/506 +f 2788/3937/506 2803/3974/506 2787/3975/506 +f 2788/3937/506 2789/3942/506 2805/3938/506 +f 2790/3940/506 2806/3976/506 2805/3941/506 +f 2791/3943/506 2807/3977/506 2806/3944/506 +f 2792/3945/506 2808/3978/506 2807/3946/506 +f 2792/3945/506 2793/3952/506 2809/3948/506 +f 2794/3950/506 2810/3979/506 2809/3951/506 +f 2794/3950/506 2795/3957/506 2811/3953/506 +f 2796/3955/506 2812/3980/506 2811/3956/506 +f 2796/3955/506 2797/3962/506 2813/3958/506 +f 2798/3960/506 2814/3981/506 2813/3961/506 +f 2783/3963/506 2799/3982/506 2814/3964/506 +f 2784/3965/506 2800/3983/506 2799/3966/506 +f 2784/3965/506 2785/3971/506 2801/3967/506 +f 2786/3969/506 2802/3984/506 2801/3970/506 +f 2786/3969/506 2787/3975/506 2803/3972/506 +f 2788/3937/506 2804/3985/506 2803/3974/506 s 1 -f 2409/3512/507 2448/3513/508 2408/3514/509 -f 2425/3515/510 2448/3513/508 2449/3516/511 -f 2440/3517/512 2425/3518/510 2441/3519/513 -f 2404/3520/514 2441/3521/513 2405/3522/515 -f 2456/3523/516 2405/3524/515 2457/3525/517 -f 2420/3526/518 2457/3527/517 2421/3528/519 -f 2436/3529/520 2421/3530/519 2437/3531/521 -f 2412/3532/522 2437/3533/521 2413/3534/523 -f 2452/3535/524 2413/3536/523 2453/3537/525 -f 2428/3538/526 2453/3539/525 2429/3540/527 -f 2433/3541/528 2408/3542/509 2432/3543/529 -f 2433/3544/528 2416/3545/530 2417/3546/531 -f 2417/3547/531 2460/3548/532 2461/3549/533 -f 2400/3550/534 2460/3548/532 2399/3551/535 -f 2400/3552/534 2444/3553/536 2445/3554/537 -f 2429/3555/527 2444/3553/536 2428/3538/526 -f 2401/3556/538 2461/3557/533 2400/3550/534 -f 2463/3558/539 2401/3556/538 2402/3559/540 -f 2434/3560/541 2417/3546/531 2418/3561/542 -f 2419/3562/543 2434/3560/541 2418/3561/542 -f 2417/3547/531 2462/3563/544 2418/3564/542 -f 2418/3564/542 2463/3565/539 2419/3566/543 -f 2409/3567/507 2434/3568/541 2410/3569/545 -f 2410/3569/545 2435/3570/546 2411/3571/547 -f 2410/3572/545 2449/3573/511 2409/3512/507 -f 2411/3574/547 2450/3575/548 2410/3572/545 -f 2425/3515/510 2450/3576/548 2426/3577/549 -f 2427/3578/550 2450/3576/548 2451/3579/551 -f 2426/3580/549 2441/3519/513 2425/3518/510 -f 2427/3581/550 2442/3582/552 2426/3580/549 -f 2405/3522/515 2442/3583/552 2406/3584/553 -f 2406/3584/553 2443/3585/554 2407/3586/555 -f 2458/3587/556 2405/3524/515 2406/3588/553 -f 2407/3589/555 2458/3587/556 2406/3588/553 -f 2421/3528/519 2458/3590/556 2422/3591/557 -f 2422/3591/557 2459/3592/558 2423/3593/559 -f 2422/3594/557 2437/3531/521 2421/3530/519 -f 2423/3595/559 2438/3596/560 2422/3594/557 -f 2414/3597/561 2437/3533/521 2438/3598/560 -f 2415/3599/562 2438/3598/560 2439/3600/563 -f 2414/3601/561 2453/3537/525 2413/3536/523 -f 2415/3602/562 2454/3603/564 2414/3601/561 -f 2430/3604/565 2453/3539/525 2454/3605/564 -f 2431/3606/566 2454/3605/564 2455/3607/567 -f 2446/3608/568 2429/3555/527 2430/3609/565 -f 2431/3610/566 2446/3608/568 2430/3609/565 -f 2400/3552/534 2446/3611/568 2401/3612/538 -f 2401/3612/538 2447/3613/569 2402/3614/540 -f 2403/3615/506 2402/3614/540 2447/3613/569 -f 2447/3616/569 2431/3610/566 2403/3617/506 -f 2455/3607/567 2403/3618/506 2431/3606/566 -f 2455/3619/567 2415/3602/562 2403/3620/506 -f 2439/3600/563 2403/3621/506 2415/3599/562 -f 2439/3622/563 2423/3595/559 2403/3623/506 -f 2459/3592/558 2403/3624/506 2423/3593/559 -f 2459/3625/558 2407/3589/555 2403/3626/506 -f 2443/3585/554 2403/3627/506 2407/3586/555 -f 2443/3628/554 2427/3581/550 2403/3629/506 -f 2451/3579/551 2403/3630/506 2427/3578/550 -f 2451/3631/551 2411/3574/547 2403/3632/506 -f 2435/3570/546 2403/3633/506 2411/3571/547 -f 2403/3634/506 2463/3558/539 2402/3559/540 -f 2463/3565/539 2403/3635/506 2419/3566/543 -f 2435/3636/546 2419/3562/543 2403/3637/506 -f 2394/3638/570 2399/3551/535 2460/3548/532 -f 2396/3639/571 2399/3551/535 2395/3640/572 -f 2396/3639/571 2428/3538/526 2444/3553/536 -f 2452/3535/524 2397/3641/573 2398/3642/574 -f 2398/3642/574 2412/3532/522 2452/3535/524 -f 2436/3529/520 2383/3643/575 2384/3644/576 -f 2384/3644/576 2420/3526/518 2436/3529/520 -f 2456/3523/516 2385/3645/577 2386/3646/578 -f 2386/3646/578 2404/3520/514 2456/3523/516 -f 2440/3517/512 2387/3647/579 2388/3648/580 -f 2388/3648/580 2424/3649/581 2440/3517/512 -f 2448/3513/508 2389/3650/582 2390/3651/583 -f 2390/3651/583 2408/3514/509 2448/3513/508 -f 2432/3543/529 2391/3472/584 2392/3652/585 -f 2393/3653/586 2432/3543/529 2392/3652/585 -f 2394/3638/570 2416/3545/530 2393/3653/586 -f 2464/3654/587 2526/3655/588 2465/3656/589 -f 2466/3657/590 2526/3655/588 2527/3658/591 -f 2466/3657/590 2528/3659/592 2467/3660/593 -f 2509/3661/594 2465/3662/589 2510/3663/595 -f 2494/3664/596 2509/3661/594 2510/3665/595 -f 2517/3666/597 2494/3667/596 2518/3668/598 -f 2478/3669/599 2517/3666/597 2518/3670/598 -f 2502/3671/600 2477/3672/601 2478/3673/599 -f 2486/3674/602 2501/3675/603 2502/3676/600 -f 2522/3677/604 2485/3678/605 2486/3679/602 -f 2470/3680/606 2521/3681/607 2522/3682/604 -f 2506/3683/608 2469/3684/609 2470/3685/606 -f 2490/3686/610 2505/3687/611 2506/3688/608 -f 2513/3689/612 2490/3690/610 2514/3691/613 -f 2474/3692/614 2513/3689/612 2514/3693/613 -f 2497/3694/615 2474/3695/614 2498/3696/616 -f 2481/3697/617 2498/3698/616 2482/3699/618 -f 2526/3700/588 2481/3697/617 2482/3701/618 -f 2377/3478/577 2525/3702/619 2378/3476/578 -f 2378/3476/578 2464/3654/587 2379/3483/579 -f 2380/3481/580 2464/3654/587 2509/3661/594 -f 2380/3481/580 2493/3703/620 2381/3488/582 -f 2381/3488/582 2517/3666/597 2382/3486/583 -f 2382/3486/583 2477/3672/601 2367/3489/584 -f 2367/3489/584 2501/3675/603 2368/3491/585 -f 2368/3491/585 2485/3678/605 2369/3497/586 -f 2369/3497/586 2521/3681/607 2370/3495/570 -f 2370/3495/570 2469/3684/609 2371/3501/572 -f 2371/3501/572 2505/3687/611 2372/3463/571 -f 2372/3463/571 2489/3704/621 2373/3468/573 -f 2373/3468/573 2513/3689/612 2374/3466/574 -f 2374/3466/574 2473/3705/622 2375/3469/575 -f 2375/3473/575 2497/3694/615 2376/3471/576 -f 2497/3694/615 2377/3478/577 2376/3471/576 -f 2527/3706/591 2482/3701/618 2483/3707/623 -f 2528/3708/592 2483/3707/623 2484/3709/624 -f 2483/3710/623 2498/3698/616 2499/3711/625 -f 2484/3712/624 2499/3711/625 2500/3713/626 -f 2499/3714/625 2474/3695/614 2475/3715/627 -f 2476/3716/628 2499/3714/625 2475/3715/627 -f 2475/3717/627 2514/3693/613 2515/3718/629 -f 2476/3719/628 2515/3718/629 2516/3720/630 -f 2491/3721/631 2514/3691/613 2490/3690/610 -f 2516/3722/630 2491/3721/631 2492/3723/632 -f 2491/3724/631 2506/3688/608 2507/3725/633 -f 2492/3726/632 2507/3725/633 2508/3727/634 -f 2507/3728/633 2470/3685/606 2471/3729/635 -f 2508/3730/634 2471/3729/635 2472/3731/636 -f 2470/3680/606 2523/3732/637 2471/3733/635 -f 2472/3734/636 2523/3732/637 2524/3735/638 -f 2523/3736/637 2486/3679/602 2487/3737/639 -f 2524/3738/638 2487/3737/639 2488/3739/640 -f 2487/3740/639 2502/3676/600 2503/3741/641 -f 2488/3742/640 2503/3741/641 2504/3743/642 -f 2479/3744/643 2502/3671/600 2478/3673/599 -f 2480/3745/644 2503/3746/641 2479/3744/643 -f 2479/3747/643 2518/3670/598 2519/3748/645 -f 2480/3749/644 2519/3748/645 2520/3750/646 -f 2495/3751/647 2518/3668/598 2494/3667/596 -f 2496/3752/648 2519/3753/645 2495/3751/647 -f 2495/3754/647 2510/3665/595 2511/3755/649 -f 2496/3756/648 2511/3755/649 2512/3757/650 -f 2511/3758/649 2465/3662/589 2466/3759/590 -f 2512/3760/650 2466/3759/590 2467/3761/593 -f 2468/3762/651 2467/3660/593 2528/3659/592 -f 2528/3708/592 2484/3709/624 2468/3763/651 -f 2500/3713/626 2468/3764/651 2484/3712/624 -f 2500/3765/626 2476/3716/628 2468/3766/651 -f 2516/3720/630 2468/3767/651 2476/3719/628 -f 2516/3722/630 2492/3723/632 2468/3768/651 -f 2508/3727/634 2468/3769/651 2492/3726/632 -f 2508/3730/634 2472/3731/636 2468/3770/651 -f 2524/3735/638 2468/3771/651 2472/3734/636 -f 2524/3738/638 2488/3739/640 2468/3772/651 -f 2504/3743/642 2468/3773/651 2488/3742/640 -f 2504/3774/642 2480/3745/644 2468/3775/651 -f 2520/3750/646 2468/3776/651 2480/3749/644 -f 2520/3777/646 2496/3752/648 2468/3778/651 -f 2512/3757/650 2468/3779/651 2496/3756/648 -f 2468/3780/651 2512/3760/650 2467/3761/593 -f 2409/3512/507 2449/3573/511 2448/3513/508 -f 2425/3515/510 2424/3649/581 2448/3513/508 -f 2440/3517/512 2424/3649/581 2425/3518/510 -f 2404/3520/514 2440/3517/512 2441/3521/513 -f 2456/3523/516 2404/3520/514 2405/3524/515 -f 2420/3526/518 2456/3523/516 2457/3527/517 -f 2436/3529/520 2420/3526/518 2421/3530/519 -f 2412/3532/522 2436/3529/520 2437/3533/521 -f 2452/3535/524 2412/3532/522 2413/3536/523 -f 2428/3538/526 2452/3535/524 2453/3539/525 -f 2433/3541/528 2409/3567/507 2408/3542/509 -f 2433/3544/528 2432/3543/529 2416/3545/530 -f 2417/3547/531 2416/3545/530 2460/3548/532 -f 2400/3550/534 2461/3557/533 2460/3548/532 -f 2400/3552/534 2399/3551/535 2444/3553/536 -f 2429/3555/527 2445/3781/537 2444/3553/536 -f 2401/3556/538 2462/3782/544 2461/3557/533 -f 2463/3558/539 2462/3782/544 2401/3556/538 -f 2434/3560/541 2433/3544/528 2417/3546/531 -f 2419/3562/543 2435/3636/546 2434/3560/541 -f 2417/3547/531 2461/3549/533 2462/3563/544 -f 2418/3564/542 2462/3563/544 2463/3565/539 -f 2409/3567/507 2433/3541/528 2434/3568/541 -f 2410/3569/545 2434/3568/541 2435/3570/546 -f 2410/3572/545 2450/3575/548 2449/3573/511 -f 2411/3574/547 2451/3631/551 2450/3575/548 -f 2425/3515/510 2449/3516/511 2450/3576/548 -f 2427/3578/550 2426/3577/549 2450/3576/548 -f 2426/3580/549 2442/3582/552 2441/3519/513 -f 2427/3581/550 2443/3628/554 2442/3582/552 -f 2405/3522/515 2441/3521/513 2442/3583/552 -f 2406/3584/553 2442/3583/552 2443/3585/554 -f 2458/3587/556 2457/3525/517 2405/3524/515 -f 2407/3589/555 2459/3625/558 2458/3587/556 -f 2421/3528/519 2457/3527/517 2458/3590/556 -f 2422/3591/557 2458/3590/556 2459/3592/558 -f 2422/3594/557 2438/3596/560 2437/3531/521 -f 2423/3595/559 2439/3622/563 2438/3596/560 -f 2414/3597/561 2413/3534/523 2437/3533/521 -f 2415/3599/562 2414/3597/561 2438/3598/560 -f 2414/3601/561 2454/3603/564 2453/3537/525 -f 2415/3602/562 2455/3619/567 2454/3603/564 -f 2430/3604/565 2429/3540/527 2453/3539/525 -f 2431/3606/566 2430/3604/565 2454/3605/564 -f 2446/3608/568 2445/3781/537 2429/3555/527 -f 2431/3610/566 2447/3616/569 2446/3608/568 -f 2400/3552/534 2445/3554/537 2446/3611/568 -f 2401/3612/538 2446/3611/568 2447/3613/569 -f 2394/3638/570 2395/3640/572 2399/3551/535 -f 2396/3639/571 2444/3553/536 2399/3551/535 -f 2396/3639/571 2397/3641/573 2428/3538/526 -f 2452/3535/524 2428/3538/526 2397/3641/573 -f 2398/3642/574 2383/3643/575 2412/3532/522 -f 2436/3529/520 2412/3532/522 2383/3643/575 -f 2384/3644/576 2385/3645/577 2420/3526/518 -f 2456/3523/516 2420/3526/518 2385/3645/577 -f 2386/3646/578 2387/3647/579 2404/3520/514 -f 2440/3517/512 2404/3520/514 2387/3647/579 -f 2388/3648/580 2389/3650/582 2424/3649/581 -f 2448/3513/508 2424/3649/581 2389/3650/582 -f 2390/3651/583 2391/3783/584 2408/3514/509 -f 2432/3543/529 2408/3542/509 2391/3472/584 -f 2393/3653/586 2416/3545/530 2432/3543/529 -f 2394/3638/570 2460/3548/532 2416/3545/530 -f 2464/3654/587 2525/3702/619 2526/3655/588 -f 2466/3657/590 2465/3656/589 2526/3655/588 -f 2466/3657/590 2527/3658/591 2528/3659/592 -f 2509/3661/594 2464/3654/587 2465/3662/589 -f 2494/3664/596 2493/3703/620 2509/3661/594 -f 2517/3666/597 2493/3703/620 2494/3667/596 -f 2478/3669/599 2477/3672/601 2517/3666/597 -f 2502/3671/600 2501/3675/603 2477/3672/601 -f 2486/3674/602 2485/3678/605 2501/3675/603 -f 2522/3677/604 2521/3681/607 2485/3678/605 -f 2470/3680/606 2469/3684/609 2521/3681/607 -f 2506/3683/608 2505/3687/611 2469/3684/609 -f 2490/3686/610 2489/3704/621 2505/3687/611 -f 2513/3689/612 2489/3704/621 2490/3690/610 -f 2474/3692/614 2473/3705/622 2513/3689/612 -f 2497/3694/615 2473/3784/622 2474/3695/614 -f 2481/3697/617 2497/3694/615 2498/3698/616 -f 2526/3700/588 2525/3702/619 2481/3697/617 -f 2377/3478/577 2481/3697/617 2525/3702/619 -f 2378/3476/578 2525/3702/619 2464/3654/587 -f 2380/3481/580 2379/3483/579 2464/3654/587 -f 2380/3481/580 2509/3661/594 2493/3703/620 -f 2381/3488/582 2493/3703/620 2517/3666/597 -f 2382/3486/583 2517/3666/597 2477/3672/601 -f 2367/3489/584 2477/3672/601 2501/3675/603 -f 2368/3491/585 2501/3675/603 2485/3678/605 -f 2369/3497/586 2485/3678/605 2521/3681/607 -f 2370/3495/570 2521/3681/607 2469/3684/609 -f 2371/3501/572 2469/3684/609 2505/3687/611 -f 2372/3463/571 2505/3687/611 2489/3704/621 -f 2373/3468/573 2489/3704/621 2513/3689/612 -f 2374/3466/574 2513/3689/612 2473/3705/622 -f 2375/3473/575 2473/3784/622 2497/3694/615 -f 2497/3694/615 2481/3697/617 2377/3478/577 -f 2527/3706/591 2526/3700/588 2482/3701/618 -f 2528/3708/592 2527/3706/591 2483/3707/623 -f 2483/3710/623 2482/3699/618 2498/3698/616 -f 2484/3712/624 2483/3710/623 2499/3711/625 -f 2499/3714/625 2498/3696/616 2474/3695/614 -f 2476/3716/628 2500/3765/626 2499/3714/625 -f 2475/3717/627 2474/3692/614 2514/3693/613 -f 2476/3719/628 2475/3717/627 2515/3718/629 -f 2491/3721/631 2515/3785/629 2514/3691/613 -f 2516/3722/630 2515/3785/629 2491/3721/631 -f 2491/3724/631 2490/3686/610 2506/3688/608 -f 2492/3726/632 2491/3724/631 2507/3725/633 -f 2507/3728/633 2506/3683/608 2470/3685/606 -f 2508/3730/634 2507/3728/633 2471/3729/635 -f 2470/3680/606 2522/3682/604 2523/3732/637 -f 2472/3734/636 2471/3733/635 2523/3732/637 -f 2523/3736/637 2522/3677/604 2486/3679/602 -f 2524/3738/638 2523/3736/637 2487/3737/639 -f 2487/3740/639 2486/3674/602 2502/3676/600 -f 2488/3742/640 2487/3740/639 2503/3741/641 -f 2479/3744/643 2503/3746/641 2502/3671/600 -f 2480/3745/644 2504/3774/642 2503/3746/641 -f 2479/3747/643 2478/3669/599 2518/3670/598 -f 2480/3749/644 2479/3747/643 2519/3748/645 -f 2495/3751/647 2519/3753/645 2518/3668/598 -f 2496/3752/648 2520/3777/646 2519/3753/645 -f 2495/3754/647 2494/3664/596 2510/3665/595 -f 2496/3756/648 2495/3754/647 2511/3755/649 -f 2511/3758/649 2510/3663/595 2465/3662/589 -f 2512/3760/650 2511/3758/649 2466/3759/590 +f 2825/3986/507 2864/3987/508 2824/3988/509 +f 2841/3989/510 2864/3987/508 2865/3990/511 +f 2856/3991/512 2841/3992/510 2857/3993/513 +f 2820/3994/514 2857/3995/513 2821/3996/515 +f 2872/3997/516 2821/3998/515 2873/3999/517 +f 2836/4000/518 2873/4001/517 2837/4002/519 +f 2852/4003/520 2837/4004/519 2853/4005/521 +f 2828/4006/522 2853/4007/521 2829/4008/523 +f 2868/4009/524 2829/4010/523 2869/4011/525 +f 2844/4012/526 2869/4013/525 2845/4014/527 +f 2849/4015/528 2824/4016/509 2848/4017/529 +f 2849/4018/528 2832/4019/530 2833/4020/531 +f 2833/4021/531 2876/4022/532 2877/4023/533 +f 2816/4024/534 2876/4022/532 2815/4025/535 +f 2816/4026/534 2860/4027/536 2861/4028/537 +f 2845/4029/527 2860/4027/536 2844/4012/526 +f 2817/4030/538 2877/4031/533 2816/4024/534 +f 2879/4032/539 2817/4030/538 2818/4033/540 +f 2850/4034/541 2833/4020/531 2834/4035/542 +f 2835/4036/543 2850/4034/541 2834/4035/542 +f 2833/4021/531 2878/4037/544 2834/4038/542 +f 2834/4038/542 2879/4039/539 2835/4040/543 +f 2825/4041/507 2850/4042/541 2826/4043/545 +f 2826/4043/545 2851/4044/546 2827/4045/547 +f 2826/4046/545 2865/4047/511 2825/3986/507 +f 2827/4048/547 2866/4049/548 2826/4046/545 +f 2841/3989/510 2866/4050/548 2842/4051/549 +f 2843/4052/550 2866/4050/548 2867/4053/551 +f 2842/4054/549 2857/3993/513 2841/3992/510 +f 2843/4055/550 2858/4056/552 2842/4054/549 +f 2821/3996/515 2858/4057/552 2822/4058/553 +f 2822/4058/553 2859/4059/554 2823/4060/555 +f 2874/4061/556 2821/3998/515 2822/4062/553 +f 2823/4063/555 2874/4061/556 2822/4062/553 +f 2837/4002/519 2874/4064/556 2838/4065/557 +f 2838/4065/557 2875/4066/558 2839/4067/559 +f 2838/4068/557 2853/4005/521 2837/4004/519 +f 2839/4069/559 2854/4070/560 2838/4068/557 +f 2830/4071/561 2853/4007/521 2854/4072/560 +f 2831/4073/562 2854/4072/560 2855/4074/563 +f 2830/4075/561 2869/4011/525 2829/4010/523 +f 2831/4076/562 2870/4077/564 2830/4075/561 +f 2846/4078/565 2869/4013/525 2870/4079/564 +f 2847/4080/566 2870/4079/564 2871/4081/567 +f 2862/4082/568 2845/4029/527 2846/4083/565 +f 2847/4084/566 2862/4082/568 2846/4083/565 +f 2816/4026/534 2862/4085/568 2817/4086/538 +f 2817/4086/538 2863/4087/569 2818/4088/540 +f 2819/4089/506 2818/4088/540 2863/4087/569 +f 2863/4090/569 2847/4084/566 2819/4091/506 +f 2871/4081/567 2819/4092/506 2847/4080/566 +f 2871/4093/567 2831/4076/562 2819/4094/506 +f 2855/4074/563 2819/4095/506 2831/4073/562 +f 2855/4096/563 2839/4069/559 2819/4097/506 +f 2875/4066/558 2819/4098/506 2839/4067/559 +f 2875/4099/558 2823/4063/555 2819/4100/506 +f 2859/4059/554 2819/4101/506 2823/4060/555 +f 2859/4102/554 2843/4055/550 2819/4103/506 +f 2867/4053/551 2819/4104/506 2843/4052/550 +f 2867/4105/551 2827/4048/547 2819/4106/506 +f 2851/4044/546 2819/4107/506 2827/4045/547 +f 2819/4108/506 2879/4032/539 2818/4033/540 +f 2879/4039/539 2819/4109/506 2835/4040/543 +f 2851/4110/546 2835/4036/543 2819/4111/506 +f 2810/4112/570 2815/4025/535 2876/4022/532 +f 2812/4113/571 2815/4025/535 2811/4114/572 +f 2812/4113/571 2844/4012/526 2860/4027/536 +f 2868/4009/524 2813/4115/573 2814/4116/574 +f 2814/4116/574 2828/4006/522 2868/4009/524 +f 2852/4003/520 2799/4117/575 2800/4118/576 +f 2800/4118/576 2836/4000/518 2852/4003/520 +f 2872/3997/516 2801/4119/577 2802/4120/578 +f 2802/4120/578 2820/3994/514 2872/3997/516 +f 2856/3991/512 2803/4121/579 2804/4122/580 +f 2804/4122/580 2840/4123/581 2856/3991/512 +f 2864/3987/508 2805/4124/582 2806/4125/583 +f 2806/4125/583 2824/3988/509 2864/3987/508 +f 2848/4017/529 2807/3946/584 2808/4126/585 +f 2809/4127/586 2848/4017/529 2808/4126/585 +f 2810/4112/570 2832/4019/530 2809/4127/586 +f 2880/4128/587 2942/4129/588 2881/4130/589 +f 2882/4131/590 2942/4129/588 2943/4132/591 +f 2882/4131/590 2944/4133/592 2883/4134/593 +f 2925/4135/594 2881/4136/589 2926/4137/595 +f 2910/4138/596 2925/4135/594 2926/4139/595 +f 2933/4140/597 2910/4141/596 2934/4142/598 +f 2894/4143/599 2933/4140/597 2934/4144/598 +f 2918/4145/600 2893/4146/601 2894/4147/599 +f 2902/4148/602 2917/4149/603 2918/4150/600 +f 2938/4151/604 2901/4152/605 2902/4153/602 +f 2886/4154/606 2937/4155/607 2938/4156/604 +f 2922/4157/608 2885/4158/609 2886/4159/606 +f 2906/4160/610 2921/4161/611 2922/4162/608 +f 2929/4163/612 2906/4164/610 2930/4165/613 +f 2890/4166/614 2929/4163/612 2930/4167/613 +f 2913/4168/615 2890/4169/614 2914/4170/616 +f 2897/4171/617 2914/4172/616 2898/4173/618 +f 2942/4174/588 2897/4171/617 2898/4175/618 +f 2793/3952/577 2941/4176/619 2794/3950/578 +f 2794/3950/578 2880/4128/587 2795/3957/579 +f 2796/3955/580 2880/4128/587 2925/4135/594 +f 2796/3955/580 2909/4177/620 2797/3962/582 +f 2797/3962/582 2933/4140/597 2798/3960/583 +f 2798/3960/583 2893/4146/601 2783/3963/584 +f 2783/3963/584 2917/4149/603 2784/3965/585 +f 2784/3965/585 2901/4152/605 2785/3971/586 +f 2785/3971/586 2937/4155/607 2786/3969/570 +f 2786/3969/570 2885/4158/609 2787/3975/572 +f 2787/3975/572 2921/4161/611 2788/3937/571 +f 2788/3937/571 2905/4178/621 2789/3942/573 +f 2789/3942/573 2929/4163/612 2790/3940/574 +f 2790/3940/574 2889/4179/622 2791/3943/575 +f 2791/3947/575 2913/4168/615 2792/3945/576 +f 2913/4168/615 2793/3952/577 2792/3945/576 +f 2943/4180/591 2898/4175/618 2899/4181/623 +f 2944/4182/592 2899/4181/623 2900/4183/624 +f 2899/4184/623 2914/4172/616 2915/4185/625 +f 2900/4186/624 2915/4185/625 2916/4187/626 +f 2915/4188/625 2890/4169/614 2891/4189/627 +f 2892/4190/628 2915/4188/625 2891/4189/627 +f 2891/4191/627 2930/4167/613 2931/4192/629 +f 2892/4193/628 2931/4192/629 2932/4194/630 +f 2907/4195/631 2930/4165/613 2906/4164/610 +f 2932/4196/630 2907/4195/631 2908/4197/632 +f 2907/4198/631 2922/4162/608 2923/4199/633 +f 2908/4200/632 2923/4199/633 2924/4201/634 +f 2923/4202/633 2886/4159/606 2887/4203/635 +f 2924/4204/634 2887/4203/635 2888/4205/636 +f 2886/4154/606 2939/4206/637 2887/4207/635 +f 2888/4208/636 2939/4206/637 2940/4209/638 +f 2939/4210/637 2902/4153/602 2903/4211/639 +f 2940/4212/638 2903/4211/639 2904/4213/640 +f 2903/4214/639 2918/4150/600 2919/4215/641 +f 2904/4216/640 2919/4215/641 2920/4217/642 +f 2895/4218/643 2918/4145/600 2894/4147/599 +f 2896/4219/644 2919/4220/641 2895/4218/643 +f 2895/4221/643 2934/4144/598 2935/4222/645 +f 2896/4223/644 2935/4222/645 2936/4224/646 +f 2911/4225/647 2934/4142/598 2910/4141/596 +f 2912/4226/648 2935/4227/645 2911/4225/647 +f 2911/4228/647 2926/4139/595 2927/4229/649 +f 2912/4230/648 2927/4229/649 2928/4231/650 +f 2927/4232/649 2881/4136/589 2882/4233/590 +f 2928/4234/650 2882/4233/590 2883/4235/593 +f 2884/4236/651 2883/4134/593 2944/4133/592 +f 2944/4182/592 2900/4183/624 2884/4237/651 +f 2916/4187/626 2884/4238/651 2900/4186/624 +f 2916/4239/626 2892/4190/628 2884/4240/651 +f 2932/4194/630 2884/4241/651 2892/4193/628 +f 2932/4196/630 2908/4197/632 2884/4242/651 +f 2924/4201/634 2884/4243/651 2908/4200/632 +f 2924/4204/634 2888/4205/636 2884/4244/651 +f 2940/4209/638 2884/4245/651 2888/4208/636 +f 2940/4212/638 2904/4213/640 2884/4246/651 +f 2920/4217/642 2884/4247/651 2904/4216/640 +f 2920/4248/642 2896/4219/644 2884/4249/651 +f 2936/4224/646 2884/4250/651 2896/4223/644 +f 2936/4251/646 2912/4226/648 2884/4252/651 +f 2928/4231/650 2884/4253/651 2912/4230/648 +f 2884/4254/651 2928/4234/650 2883/4235/593 +f 2825/3986/507 2865/4047/511 2864/3987/508 +f 2841/3989/510 2840/4123/581 2864/3987/508 +f 2856/3991/512 2840/4123/581 2841/3992/510 +f 2820/3994/514 2856/3991/512 2857/3995/513 +f 2872/3997/516 2820/3994/514 2821/3998/515 +f 2836/4000/518 2872/3997/516 2873/4001/517 +f 2852/4003/520 2836/4000/518 2837/4004/519 +f 2828/4006/522 2852/4003/520 2853/4007/521 +f 2868/4009/524 2828/4006/522 2829/4010/523 +f 2844/4012/526 2868/4009/524 2869/4013/525 +f 2849/4015/528 2825/4041/507 2824/4016/509 +f 2849/4018/528 2848/4017/529 2832/4019/530 +f 2833/4021/531 2832/4019/530 2876/4022/532 +f 2816/4024/534 2877/4031/533 2876/4022/532 +f 2816/4026/534 2815/4025/535 2860/4027/536 +f 2845/4029/527 2861/4255/537 2860/4027/536 +f 2817/4030/538 2878/4256/544 2877/4031/533 +f 2879/4032/539 2878/4256/544 2817/4030/538 +f 2850/4034/541 2849/4018/528 2833/4020/531 +f 2835/4036/543 2851/4110/546 2850/4034/541 +f 2833/4021/531 2877/4023/533 2878/4037/544 +f 2834/4038/542 2878/4037/544 2879/4039/539 +f 2825/4041/507 2849/4015/528 2850/4042/541 +f 2826/4043/545 2850/4042/541 2851/4044/546 +f 2826/4046/545 2866/4049/548 2865/4047/511 +f 2827/4048/547 2867/4105/551 2866/4049/548 +f 2841/3989/510 2865/3990/511 2866/4050/548 +f 2843/4052/550 2842/4051/549 2866/4050/548 +f 2842/4054/549 2858/4056/552 2857/3993/513 +f 2843/4055/550 2859/4102/554 2858/4056/552 +f 2821/3996/515 2857/3995/513 2858/4057/552 +f 2822/4058/553 2858/4057/552 2859/4059/554 +f 2874/4061/556 2873/3999/517 2821/3998/515 +f 2823/4063/555 2875/4099/558 2874/4061/556 +f 2837/4002/519 2873/4001/517 2874/4064/556 +f 2838/4065/557 2874/4064/556 2875/4066/558 +f 2838/4068/557 2854/4070/560 2853/4005/521 +f 2839/4069/559 2855/4096/563 2854/4070/560 +f 2830/4071/561 2829/4008/523 2853/4007/521 +f 2831/4073/562 2830/4071/561 2854/4072/560 +f 2830/4075/561 2870/4077/564 2869/4011/525 +f 2831/4076/562 2871/4093/567 2870/4077/564 +f 2846/4078/565 2845/4014/527 2869/4013/525 +f 2847/4080/566 2846/4078/565 2870/4079/564 +f 2862/4082/568 2861/4255/537 2845/4029/527 +f 2847/4084/566 2863/4090/569 2862/4082/568 +f 2816/4026/534 2861/4028/537 2862/4085/568 +f 2817/4086/538 2862/4085/568 2863/4087/569 +f 2810/4112/570 2811/4114/572 2815/4025/535 +f 2812/4113/571 2860/4027/536 2815/4025/535 +f 2812/4113/571 2813/4115/573 2844/4012/526 +f 2868/4009/524 2844/4012/526 2813/4115/573 +f 2814/4116/574 2799/4117/575 2828/4006/522 +f 2852/4003/520 2828/4006/522 2799/4117/575 +f 2800/4118/576 2801/4119/577 2836/4000/518 +f 2872/3997/516 2836/4000/518 2801/4119/577 +f 2802/4120/578 2803/4121/579 2820/3994/514 +f 2856/3991/512 2820/3994/514 2803/4121/579 +f 2804/4122/580 2805/4124/582 2840/4123/581 +f 2864/3987/508 2840/4123/581 2805/4124/582 +f 2806/4125/583 2807/4257/584 2824/3988/509 +f 2848/4017/529 2824/4016/509 2807/3946/584 +f 2809/4127/586 2832/4019/530 2848/4017/529 +f 2810/4112/570 2876/4022/532 2832/4019/530 +f 2880/4128/587 2941/4176/619 2942/4129/588 +f 2882/4131/590 2881/4130/589 2942/4129/588 +f 2882/4131/590 2943/4132/591 2944/4133/592 +f 2925/4135/594 2880/4128/587 2881/4136/589 +f 2910/4138/596 2909/4177/620 2925/4135/594 +f 2933/4140/597 2909/4177/620 2910/4141/596 +f 2894/4143/599 2893/4146/601 2933/4140/597 +f 2918/4145/600 2917/4149/603 2893/4146/601 +f 2902/4148/602 2901/4152/605 2917/4149/603 +f 2938/4151/604 2937/4155/607 2901/4152/605 +f 2886/4154/606 2885/4158/609 2937/4155/607 +f 2922/4157/608 2921/4161/611 2885/4158/609 +f 2906/4160/610 2905/4178/621 2921/4161/611 +f 2929/4163/612 2905/4178/621 2906/4164/610 +f 2890/4166/614 2889/4179/622 2929/4163/612 +f 2913/4168/615 2889/4258/622 2890/4169/614 +f 2897/4171/617 2913/4168/615 2914/4172/616 +f 2942/4174/588 2941/4176/619 2897/4171/617 +f 2793/3952/577 2897/4171/617 2941/4176/619 +f 2794/3950/578 2941/4176/619 2880/4128/587 +f 2796/3955/580 2795/3957/579 2880/4128/587 +f 2796/3955/580 2925/4135/594 2909/4177/620 +f 2797/3962/582 2909/4177/620 2933/4140/597 +f 2798/3960/583 2933/4140/597 2893/4146/601 +f 2783/3963/584 2893/4146/601 2917/4149/603 +f 2784/3965/585 2917/4149/603 2901/4152/605 +f 2785/3971/586 2901/4152/605 2937/4155/607 +f 2786/3969/570 2937/4155/607 2885/4158/609 +f 2787/3975/572 2885/4158/609 2921/4161/611 +f 2788/3937/571 2921/4161/611 2905/4178/621 +f 2789/3942/573 2905/4178/621 2929/4163/612 +f 2790/3940/574 2929/4163/612 2889/4179/622 +f 2791/3947/575 2889/4258/622 2913/4168/615 +f 2913/4168/615 2897/4171/617 2793/3952/577 +f 2943/4180/591 2942/4174/588 2898/4175/618 +f 2944/4182/592 2943/4180/591 2899/4181/623 +f 2899/4184/623 2898/4173/618 2914/4172/616 +f 2900/4186/624 2899/4184/623 2915/4185/625 +f 2915/4188/625 2914/4170/616 2890/4169/614 +f 2892/4190/628 2916/4239/626 2915/4188/625 +f 2891/4191/627 2890/4166/614 2930/4167/613 +f 2892/4193/628 2891/4191/627 2931/4192/629 +f 2907/4195/631 2931/4259/629 2930/4165/613 +f 2932/4196/630 2931/4259/629 2907/4195/631 +f 2907/4198/631 2906/4160/610 2922/4162/608 +f 2908/4200/632 2907/4198/631 2923/4199/633 +f 2923/4202/633 2922/4157/608 2886/4159/606 +f 2924/4204/634 2923/4202/633 2887/4203/635 +f 2886/4154/606 2938/4156/604 2939/4206/637 +f 2888/4208/636 2887/4207/635 2939/4206/637 +f 2939/4210/637 2938/4151/604 2902/4153/602 +f 2940/4212/638 2939/4210/637 2903/4211/639 +f 2903/4214/639 2902/4148/602 2918/4150/600 +f 2904/4216/640 2903/4214/639 2919/4215/641 +f 2895/4218/643 2919/4220/641 2918/4145/600 +f 2896/4219/644 2920/4248/642 2919/4220/641 +f 2895/4221/643 2894/4143/599 2934/4144/598 +f 2896/4223/644 2895/4221/643 2935/4222/645 +f 2911/4225/647 2935/4227/645 2934/4142/598 +f 2912/4226/648 2936/4251/646 2935/4227/645 +f 2911/4228/647 2910/4138/596 2926/4139/595 +f 2912/4230/648 2911/4228/647 2927/4229/649 +f 2927/4232/649 2926/4137/595 2881/4136/589 +f 2928/4234/650 2927/4232/649 2882/4233/590 o Frame v -3.125000 4.499998 -5.500007 v -2.375000 4.499998 -5.500007 @@ -14468,2068 +15774,2068 @@ vn -0.1363 -0.6737 -0.7263 vn 0.1448 0.7194 0.6794 vn -0.1363 -0.6737 0.7263 s off -f 2533/3786/652 2529/3787/652 2534/3788/652 -f 2534/3788/653 2531/3789/653 2540/3790/653 -f 2540/3791/654 2532/3792/654 2539/3793/654 -f 2539/3794/655 2533/3795/655 2535/3796/655 -f 2535/3796/656 2534/3788/656 2538/3797/656 -f 2540/3798/653 2538/3797/653 2534/3799/653 -f 2541/3800/657 2537/3801/657 2542/3802/657 -f 2539/3793/655 2530/3803/655 2533/3786/655 -f 2540/3798/653 2537/3801/653 2538/3797/653 -f 2539/3794/655 2536/3804/655 2541/3805/655 -f 2536/3804/658 2538/3797/658 2537/3801/658 -f 2540/3806/659 2541/3805/659 2542/3807/659 -f 2544/3808/658 2545/3809/658 2543/3810/658 -f 2545/3811/660 2546/3812/660 2543/3813/660 -f 2544/3808/655 2548/3814/655 2545/3809/655 -f 2543/3813/654 2547/3815/654 2544/3808/654 -f 2549/3816/654 2552/3817/654 2550/3818/654 -f 2549/3819/653 2554/3820/653 2551/3821/653 -f 2552/3817/661 2553/3822/661 2550/3818/661 -f 2550/3823/658 2553/3824/658 2549/3819/658 -f 2548/3814/658 2552/3825/658 2546/3826/658 -f 2562/3827/662 2568/3828/662 2560/3829/662 -f 2569/3830/658 2562/3831/658 2561/3832/658 -f 2565/3833/663 2555/3834/663 2557/3835/663 -f 2558/3836/659 2565/3837/659 2557/3838/659 -f 2567/3839/664 2561/3840/664 2559/3841/664 -f 2568/3828/655 2556/3842/655 2560/3829/655 -f 2564/3843/665 2558/3844/665 2556/3842/665 -f 2563/3845/653 2559/3841/653 2555/3834/653 -f 2558/3846/654 2546/3812/654 2552/3817/654 -f 2546/3812/654 2555/3847/654 2547/3815/654 -f 2552/3817/654 2556/3848/654 2558/3846/654 -f 2548/3814/652 2566/3849/652 2554/3820/652 -f 2566/3849/652 2564/3850/652 2554/3820/652 -f 2565/3837/652 2548/3814/652 2563/3851/652 -f 2583/3852/659 2597/3853/659 2592/3854/659 -f 2573/3855/658 2574/3856/658 2575/3857/658 -f 2575/3857/658 2576/3858/658 2573/3855/658 -f 2574/3856/655 2597/3859/655 2584/3860/655 -f 2576/3858/658 2577/3861/658 2580/3862/658 -f 2593/3863/653 2589/3864/653 2578/3865/653 -f 2581/3866/659 2585/3867/659 2584/3868/659 -f 2587/3869/659 2585/3867/659 2581/3866/659 -f 2595/3870/652 2592/3854/652 2597/3853/652 -f 2587/3869/659 2588/3871/659 2586/3872/659 -f 2577/3861/660 2588/3873/660 2580/3874/660 -f 2627/3875/658 2620/3876/658 2619/3877/658 -f 2573/3855/653 2582/3878/653 2571/3879/653 -f 2575/3857/652 2586/3872/652 2577/3861/652 -f 2574/3880/661 2585/3867/661 2575/3857/661 -f 2579/3881/655 2587/3882/655 2576/3858/655 -f 2620/3883/662 2626/3884/662 2618/3885/662 -f 2576/3886/654 2581/3866/654 2573/3887/654 -f 2572/3888/655 2592/3889/655 2591/3890/655 -f 2588/3891/653 2596/3892/653 2580/3862/653 -f 2572/3888/658 2595/3893/658 2571/3879/658 -f 2595/3893/658 2573/3855/658 2571/3879/658 -f 2581/3866/659 2597/3853/659 2582/3894/659 -f 2598/3895/659 2587/3869/659 2590/3896/659 -f 2576/3858/658 2596/3892/658 2579/3881/658 -f 2598/3895/659 2589/3897/659 2594/3898/659 -f 2578/3865/658 2596/3892/658 2593/3863/658 -f 2594/3898/652 2596/3899/652 2598/3895/652 -f 2547/3815/655 2600/3900/655 2548/3814/655 -f 2600/3901/655 2599/3902/655 2601/3903/655 -f 2601/3903/666 2599/3904/666 2602/3905/666 -f 2604/3906/667 2605/3907/667 2603/3908/667 -f 2605/3907/653 2604/3909/653 2610/3910/653 -f 2602/3905/659 2605/3907/659 2609/3911/659 -f 2610/3912/653 2551/3821/653 2554/3820/653 -f 2607/3913/668 2612/3914/668 2609/3911/668 -f 2611/3915/669 2606/3916/669 2608/3917/669 -f 2600/3901/655 2606/3916/655 2611/3918/655 -f 2610/3910/653 2607/3913/653 2605/3907/653 -f 2609/3911/652 2611/3919/652 2608/3917/652 -f 2623/3920/663 2613/3921/663 2615/3922/663 -f 2616/3923/659 2623/3924/659 2615/3925/659 -f 2625/3926/664 2619/3927/664 2617/3928/664 -f 2626/3884/655 2614/3929/655 2618/3885/655 -f 2622/3930/665 2616/3931/665 2614/3929/665 -f 2621/3932/653 2617/3928/653 2613/3921/653 -f 2569/3830/652 2624/3933/652 2570/3934/652 -f 2616/3935/654 2561/3936/654 2562/3937/654 -f 2621/3938/652 2569/3830/652 2567/3939/652 -f 2561/3936/654 2613/3940/654 2559/3941/654 -f 2560/3942/654 2616/3935/654 2562/3937/654 -f 2624/3933/652 2568/3943/652 2570/3934/652 -f 2612/3944/658 2600/3900/658 2611/3945/658 -f 2627/3875/652 2610/3912/652 2628/3946/652 -f 2628/3946/652 2610/3912/652 2626/3947/652 -f 2627/3875/652 2625/3948/652 2600/3900/652 -f 2602/3905/654 2620/3949/654 2603/3908/654 -f 2620/3949/654 2604/3950/654 2603/3908/654 -f 2599/3951/654 2619/3952/654 2602/3905/654 -f 2599/3951/654 2547/3815/654 2559/3941/654 -f 2621/3938/652 2567/3939/652 2548/3814/652 -f 2604/3950/654 2618/3953/654 2614/3954/654 -f 2622/3955/652 2610/3912/652 2554/3820/652 -f 2633/3956/658 2632/3957/658 2629/3958/658 -f 2631/3959/659 2634/3960/659 2630/3961/659 -f 2632/3957/653 2635/3962/653 2631/3963/653 -f 2630/3961/655 2633/3956/655 2629/3958/655 -f 2641/3964/658 2640/3965/658 2637/3966/658 -f 2639/3967/659 2642/3968/659 2638/3969/659 -f 2640/3965/653 2643/3970/653 2639/3967/653 -f 2638/3971/655 2641/3964/655 2637/3966/655 -f 2642/3972/670 2647/3973/670 2641/3974/670 -f 2636/3975/671 2645/3976/671 2635/3977/671 -f 2646/3978/654 2648/3979/654 2645/3980/654 -f 2646/3978/658 2651/3981/658 2647/3982/658 -f 2648/3983/659 2649/3984/659 2645/3985/659 -f 2651/3981/652 2649/3984/652 2652/3986/652 -f 2647/3982/658 2644/3987/658 2641/3988/658 -f 2651/3981/660 2643/3970/660 2644/3989/660 -f 2652/3986/659 2642/3990/659 2643/3991/659 -f 2650/3992/658 2636/3993/658 2633/3994/658 -f 2634/3960/661 2650/3992/661 2633/3956/661 -f 2645/3985/659 2634/3995/659 2635/3996/659 -f 2659/3997/658 2660/3998/658 2653/3999/658 -f 2685/4000/658 2689/4001/658 2693/4002/658 -f 2679/4003/659 2675/4004/659 2671/4005/659 -f 2702/4006/658 2703/4007/658 2701/4008/658 -f 2703/4009/670 2704/4010/670 2701/4011/670 -f 2702/4006/653 2706/4012/653 2703/4009/653 -f 2701/4008/652 2705/4013/652 2702/4006/652 -f 2707/4014/652 2710/4015/652 2708/4016/652 -f 2707/4014/655 2712/4017/655 2709/4018/655 -f 2710/4019/671 2711/4020/671 2708/4021/671 -f 2708/4016/658 2711/4022/658 2707/4014/658 -f 2710/4015/658 2714/4023/658 2712/4024/658 -f 2706/4025/658 2715/4026/658 2704/4027/658 -f 2710/4015/660 2723/4028/660 2713/4029/660 -f 2704/4027/652 2718/4030/652 2705/4013/652 -f 2712/4017/655 2722/4031/655 2709/4018/655 -f 2715/4026/661 2719/4032/661 2704/4027/661 -f 2706/4012/671 2726/4033/671 2716/4034/671 -f 2709/4018/652 2721/4035/652 2710/4015/652 -f 2714/4036/670 2720/4037/670 2712/4017/670 -f 2705/4013/653 2717/4038/653 2706/4012/653 -f 2723/4028/659 2720/4039/659 2724/4040/659 -f 2718/4030/659 2719/4032/659 2717/4041/659 -f 2729/4042/670 2730/4043/670 2727/4044/670 -f 2728/4045/653 2732/4046/653 2729/4042/653 -f 2727/4047/652 2731/4048/652 2728/4045/652 -f 2733/4049/652 2736/4050/652 2734/4051/652 -f 2733/4049/655 2738/4052/655 2735/4053/655 -f 2736/4054/671 2737/4055/671 2734/4056/671 -f 2742/4057/658 2745/4058/658 2746/4059/658 -f 2740/4060/658 2739/4061/658 2741/4062/658 -f 2743/4063/652 2733/4049/652 2734/4051/652 -f 2744/4064/655 2737/4055/655 2733/4049/655 -f 2740/4060/652 2727/4047/652 2728/4045/652 -f 2739/4065/653 2728/4045/653 2729/4042/653 -f 2743/4063/660 2749/4066/660 2745/4058/660 -f 2737/4067/659 2749/4066/659 2734/4051/659 -f 2750/4068/670 2742/4069/670 2746/4070/670 -f 2751/4071/661 2741/4062/661 2747/4072/661 -f 2751/4071/659 2729/4073/659 2727/4047/659 -f 2739/4065/671 2752/4074/671 2748/4075/671 -f 2951/4076/659 2950/4077/659 2949/4078/659 -f 2955/4079/658 2953/4080/658 2954/4081/658 -f 2952/4082/655 2955/4079/655 2950/4077/655 -f 2951/4083/653 2954/4081/653 2953/4080/653 -f 2952/4084/655 2961/4085/655 2958/4086/655 -f 2950/4087/657 2954/4081/657 2949/4088/657 -f 2951/4083/653 2953/4080/653 2957/4089/653 -f 2956/4090/656 2957/4091/656 2953/4080/656 -f 2952/4082/655 2958/4092/655 2956/4090/655 -f 2951/4093/654 2959/4094/654 2952/4084/654 -f 2957/4091/653 2960/4095/653 2951/4096/653 -f 2958/4086/652 2962/4097/652 2957/4091/652 -f 2966/4098/652 2969/4099/652 2965/4100/652 -f 2963/4101/654 2968/4102/654 2964/4103/654 -f 2964/4103/655 2970/4104/655 2966/4098/655 -f 2965/4100/653 2967/4105/653 2963/4106/653 -f 2974/4107/652 2977/4108/652 2973/4109/652 -f 2971/4110/654 2976/4111/654 2972/4112/654 -f 2972/4112/655 2978/4113/655 2974/4107/655 -f 2973/4109/653 2975/4114/653 2971/4115/653 -f 2985/4116/652 2982/4117/652 2981/4118/652 -f 2984/4119/654 2979/4120/654 2980/4121/654 -f 2986/4122/655 2980/4121/655 2982/4117/655 -f 2983/4123/653 2981/4118/653 2979/4124/653 -f 2993/4125/652 2990/4126/652 2989/4127/652 -f 2992/4128/654 2987/4129/654 2988/4130/654 -f 2994/4131/655 2988/4130/655 2990/4126/655 -f 2991/4132/653 2989/4127/653 2987/4133/653 -f 3001/4134/652 2998/4135/652 2997/4136/652 -f 3000/4137/654 2995/4138/654 2996/4139/654 -f 3002/4140/655 2996/4139/655 2998/4135/655 -f 2999/4141/653 2997/4136/653 2995/4142/653 -f 3009/4143/652 3006/4144/652 3005/4145/652 -f 3008/4146/654 3003/4147/654 3004/4148/654 -f 3010/4149/655 3004/4148/655 3006/4144/655 -f 3007/4150/653 3005/4145/653 3003/4151/653 -f 3017/4152/652 3014/4153/652 3013/4154/652 -f 3016/4155/654 3011/4156/654 3012/4157/654 -f 3018/4158/655 3012/4157/655 3014/4153/655 -f 3015/4159/653 3013/4154/653 3011/4160/653 -f 3025/4161/652 3022/4162/652 3021/4163/652 -f 3024/4164/654 3019/4165/654 3020/4166/654 -f 3026/4167/655 3020/4166/655 3022/4162/655 -f 3023/4168/653 3021/4163/653 3019/4169/653 -f 3033/4170/652 3030/4171/652 3029/4172/652 -f 3032/4173/654 3027/4174/654 3028/4175/654 -f 3034/4176/655 3028/4175/655 3030/4171/655 -f 3031/4177/653 3029/4172/653 3027/4178/653 -f 3041/4179/652 3038/4180/652 3037/4181/652 -f 3040/4182/654 3035/4183/654 3036/4184/654 -f 3042/4185/655 3036/4184/655 3038/4180/655 -f 3039/4186/653 3037/4181/653 3035/4187/653 -f 3049/4188/652 3046/4189/652 3045/4190/652 -f 3048/4191/654 3043/4192/654 3044/4193/654 -f 3050/4194/655 3044/4193/655 3046/4189/655 -f 3047/4195/653 3045/4190/653 3043/4196/653 -f 3057/4197/652 3054/4198/652 3053/4199/652 -f 3056/4200/654 3051/4201/654 3052/4202/654 -f 3058/4203/655 3052/4202/655 3054/4198/655 -f 3055/4204/653 3053/4199/653 3051/4205/653 -f 3060/4206/655 3061/4207/655 3059/4208/655 -f 3066/4209/665 3067/4210/665 3063/4211/665 -f 3060/4206/654 3066/4212/654 3062/4213/654 -f 3061/4214/652 3064/4215/652 3059/4208/652 -f 3062/4216/659 3063/4217/659 3061/4214/659 -f 3059/4208/658 3065/4218/658 3060/4206/658 -f 3068/4219/655 3069/4220/655 3067/4221/655 -f 3068/4222/654 3074/4223/654 3070/4224/654 -f 3069/4220/652 3071/4225/652 3067/4221/652 -f 3074/4223/653 3071/4225/653 3073/4226/653 -f 3064/4215/664 3072/4227/664 3065/4218/664 -f 3072/4227/654 3066/4228/654 3065/4218/654 -f 3067/4210/652 3064/4215/652 3063/4211/652 -f 3076/4229/653 3077/4230/653 3075/4231/653 -f 3078/4232/659 3081/4233/659 3077/4234/659 -f 3082/4235/655 3079/4236/655 3081/4233/655 -f 3080/4237/658 3075/4231/658 3079/4236/658 -f 3078/4238/654 3090/4239/654 3082/4240/654 -f 3082/4240/655 3094/4241/655 3086/4242/655 -f 3078/4243/653 3076/4244/653 3085/4245/653 -f 3086/4242/656 3076/4229/656 3080/4237/656 -f 3082/4240/655 3086/4242/655 3080/4246/655 -f 3077/4247/653 3083/4248/653 3075/4249/653 -f 3083/4248/657 3079/4236/657 3075/4231/657 -f 3081/4250/655 3079/4251/655 3084/4252/655 -f 3084/4252/655 3087/4253/655 3081/4250/655 -f 3083/4248/654 3091/4254/654 3084/4252/654 -f 3085/4245/653 3089/4255/653 3078/4243/653 -f 3086/4242/652 3093/4256/652 3085/4245/652 -f 3081/4250/652 3088/4257/652 3077/4258/652 -f 3077/4247/653 3092/4259/653 3083/4248/653 -f 3097/4260/659 3102/4261/659 3101/4262/659 -f 3096/4263/653 3097/4260/653 3095/4264/653 -f 3095/4264/658 3100/4265/658 3096/4266/658 -f 3097/4260/654 3099/4267/654 3095/4264/654 -f 3105/4268/659 3110/4269/659 3109/4270/659 -f 3104/4271/653 3105/4268/653 3103/4272/653 -f 3103/4272/658 3108/4273/658 3104/4274/658 -f 3105/4268/654 3107/4275/654 3103/4272/654 -f 3114/4276/672 3112/4277/672 3111/4278/672 -f 3115/4279/653 3113/4280/653 3118/4281/653 -f 3120/4282/655 3126/4283/655 3121/4284/655 -f 3122/4285/657 3120/4282/657 3121/4284/657 -f 3122/4286/653 3124/4287/653 3119/4288/653 -f 3115/4289/657 3117/4290/657 3116/4291/657 -f 3117/4290/655 3111/4278/655 3116/4291/655 -f 3123/4292/672 3125/4293/672 3126/4283/672 -f 3133/4294/652 3131/4295/652 3132/4296/652 -f 3129/4297/659 3134/4298/659 3130/4299/659 -f 3128/4300/658 3132/4296/658 3127/4301/658 -f 3130/4302/655 3133/4294/655 3128/4303/655 -f 3127/4304/653 3131/4295/653 3129/4305/653 -f 3137/4306/653 3139/4307/653 3135/4308/653 -f 3142/4309/658 3137/4306/658 3138/4310/658 -f 3136/4311/655 3142/4309/655 3138/4310/655 -f 3135/4312/659 3140/4313/659 3136/4311/659 -f 3145/4314/653 3147/4315/653 3143/4316/653 -f 3150/4317/658 3145/4318/658 3146/4319/658 -f 3144/4320/655 3150/4317/655 3146/4319/655 -f 3143/4316/659 3148/4321/659 3144/4320/659 -f 3153/4322/653 3155/4323/653 3151/4324/653 -f 3158/4325/658 3153/4322/658 3154/4326/658 -f 3152/4327/655 3158/4325/655 3154/4326/655 -f 3151/4324/659 3156/4328/659 3152/4329/659 -f 3161/4330/653 3163/4331/653 3159/4332/653 -f 3166/4333/658 3161/4330/658 3162/4334/658 -f 3160/4335/655 3166/4336/655 3162/4337/655 -f 3159/4332/659 3164/4338/659 3160/4335/659 -f 3170/4339/652 3167/4340/652 3168/4341/652 -f 3171/4342/654 3174/4343/654 3172/4344/654 -f 3170/4339/653 3173/4345/653 3169/4346/653 -f 3167/4340/655 3172/4344/655 3168/4341/655 -f 3168/4341/659 3174/4347/659 3170/4339/659 -f 3169/4346/658 3171/4348/658 3167/4340/658 -f 3180/4349/672 3185/4350/672 3179/4351/672 -f 3179/4352/652 3182/4353/652 3180/4354/652 -f 3177/4355/655 3179/4352/655 3175/4356/655 -f 3178/4357/653 3180/4354/653 3182/4353/653 -f 3179/4351/655 3183/4358/655 3175/4356/655 -f 3176/4359/653 3186/4360/653 3180/4349/653 -f 3188/4361/653 3189/4362/653 3187/4363/653 -f 3190/4364/659 3193/4365/659 3189/4366/659 -f 3194/4367/655 3191/4368/655 3193/4369/655 -f 3190/4364/652 3192/4370/652 3194/4367/652 -f 3202/4371/653 3196/4372/653 3198/4373/653 -f 3195/4374/655 3201/4375/655 3197/4376/655 -f 3197/4376/652 3202/4371/652 3198/4373/652 -f 3201/4377/658 3204/4378/658 3202/4379/658 -f 3203/4380/652 3206/4381/652 3204/4378/652 -f 3202/4379/653 3206/4382/653 3200/4383/653 -f 3205/4384/655 3201/4377/655 3199/4385/655 -f 3213/4386/672 3210/4387/672 3209/4388/672 -f 3211/4389/653 3209/4388/653 3207/4390/653 -f 3214/4391/655 3208/4392/655 3210/4387/655 -f 3217/4393/655 3216/4394/655 3215/4395/655 -f 3221/4396/659 3218/4397/659 3217/4398/659 -f 3219/4399/653 3222/4400/653 3221/4401/653 -f 3220/4402/652 3218/4397/652 3222/4400/652 -f 3229/4403/652 3227/4404/652 3228/4405/652 -f 3225/4406/659 3234/4407/659 3226/4408/659 -f 3223/4409/653 3231/4410/653 3225/4411/653 -f 3226/4412/655 3233/4413/655 3224/4414/655 -f 3233/4413/652 3231/4410/652 3232/4415/652 -f 3224/4416/658 3232/4415/658 3223/4417/658 -f 3235/4418/654 3237/4419/654 3236/4420/654 -f 3229/4403/655 3238/4421/655 3230/4422/655 -f 3227/4404/653 3236/4423/653 3228/4405/653 -f 3230/4422/659 3235/4424/659 3227/4404/659 -f 3228/4405/658 3237/4419/658 3229/4403/658 -f 3208/4392/655 3458/4425/655 3210/4426/655 -f 3209/4427/653 3455/4428/653 3207/4390/653 -f 3210/4426/652 3457/4429/652 3209/4427/652 -f 3458/4430/655 3460/4431/655 3462/4432/655 -f 3457/4433/653 3459/4434/653 3455/4428/653 -f 3458/4430/658 3461/4435/658 3457/4433/658 -f 3460/4436/655 3466/4437/655 3462/4432/655 -f 3459/4438/653 3465/4439/653 3463/4440/653 -f 3462/4432/652 3465/4439/652 3461/4435/652 -f 3464/4441/659 3465/4439/659 3466/4437/659 -f 3480/4442/653 3481/4443/653 3479/4444/653 -f 3472/4445/653 3473/4446/653 3471/4447/653 -f 3470/4448/658 3472/4449/658 3468/4450/658 -f 3571/4451/653 3573/4452/653 3564/4453/653 -f 3467/4454/659 3473/4446/659 3469/4455/659 -f 3469/4455/652 3474/4456/652 3470/4448/652 -f 3478/4457/658 3480/4458/658 3476/4459/658 -f 3566/4460/655 3576/4461/655 3572/4462/655 -f 3475/4463/659 3481/4443/659 3477/4464/659 -f 3477/4464/652 3482/4465/652 3478/4457/652 -f 3496/4466/653 3497/4467/653 3495/4468/653 -f 3488/4469/653 3489/4470/653 3487/4471/653 -f 3486/4472/658 3488/4473/658 3484/4474/658 -f 3585/4475/653 3587/4476/653 3578/4477/653 -f 3483/4478/659 3489/4470/659 3485/4479/659 -f 3485/4479/652 3490/4480/652 3486/4472/652 -f 3494/4481/658 3496/4482/658 3492/4483/658 -f 3564/4484/653 3569/4485/653 3571/4486/653 -f 3491/4487/659 3497/4467/659 3493/4488/659 -f 3493/4488/652 3498/4489/652 3494/4481/652 -f 3512/4490/653 3513/4491/653 3511/4492/653 -f 3504/4493/653 3505/4494/653 3503/4495/653 -f 3502/4496/658 3504/4497/658 3500/4498/658 -f 3572/4462/656 3569/4485/656 3570/4499/656 -f 3499/4500/659 3505/4494/659 3501/4501/659 -f 3501/4501/652 3506/4502/652 3502/4496/652 -f 3510/4503/658 3512/4504/658 3508/4505/658 -f 3566/4506/655 3572/4507/655 3570/4499/655 -f 3507/4508/659 3513/4491/659 3509/4509/659 -f 3509/4509/652 3514/4510/652 3510/4503/652 -f 3518/4511/658 3520/4512/658 3516/4513/658 -f 3591/4514/653 3597/4515/653 3592/4516/653 -f 3515/4517/659 3521/4518/659 3517/4519/659 -f 3517/4519/652 3522/4520/652 3518/4511/652 -f 3526/4521/658 3528/4522/658 3524/4523/658 -f 3566/4506/655 3567/4524/655 3565/4525/655 -f 3523/4526/659 3529/4527/659 3525/4528/659 -f 3525/4528/652 3530/4529/652 3526/4521/652 -f 3534/4530/658 3536/4531/658 3532/4532/658 -f 3564/4453/654 3574/4533/654 3566/4534/654 -f 3531/4535/659 3537/4536/659 3533/4537/659 -f 3533/4537/652 3538/4538/652 3534/4530/652 -f 3542/4539/658 3544/4540/658 3540/4541/658 -f 3563/4542/653 3569/4485/653 3564/4484/653 -f 3539/4543/659 3545/4544/659 3541/4545/659 -f 3541/4545/652 3546/4546/652 3542/4539/652 -f 3550/4547/658 3552/4548/658 3548/4549/658 -f 3567/4524/658 3569/4485/658 3568/4550/658 -f 3547/4551/659 3553/4552/659 3549/4553/659 -f 3549/4553/652 3554/4554/652 3550/4547/652 -f 3558/4555/658 3560/4556/658 3556/4557/658 -f 3564/4484/659 3565/4558/659 3563/4542/659 -f 3555/4559/659 3561/4560/659 3557/4561/659 -f 3557/4561/652 3562/4562/652 3558/4555/652 -f 3555/4563/655 3558/4555/655 3556/4564/655 -f 3547/4565/655 3550/4547/655 3548/4566/655 -f 3539/4567/655 3542/4539/655 3540/4568/655 -f 3531/4569/655 3534/4530/655 3532/4570/655 -f 3523/4571/655 3526/4521/655 3524/4572/655 -f 3515/4573/655 3518/4511/655 3516/4574/655 -f 3572/4462/652 3575/4575/652 3571/4451/652 -f 3580/4576/655 3590/4577/655 3586/4578/655 -f 3578/4579/653 3583/4580/653 3585/4581/653 -f 3586/4578/656 3583/4580/656 3584/4582/656 -f 3580/4583/655 3586/4584/655 3584/4582/655 -f 3594/4585/655 3595/4586/655 3593/4587/655 -f 3580/4583/655 3581/4588/655 3579/4589/655 -f 3578/4477/654 3588/4590/654 3580/4591/654 -f 3577/4592/653 3583/4580/653 3578/4579/653 -f 3581/4588/658 3583/4580/658 3582/4593/658 -f 3578/4579/659 3579/4594/659 3577/4592/659 -f 3586/4578/652 3589/4595/652 3585/4475/652 -f 3595/4586/658 3597/4515/658 3596/4596/658 -f 3592/4516/659 3593/4597/659 3591/4514/659 -f 3602/4598/655 3603/4599/655 3601/4600/655 -f 3599/4601/653 3605/4602/653 3600/4603/653 -f 3603/4599/658 3605/4602/658 3604/4604/658 -f 3600/4603/659 3601/4605/659 3599/4601/659 -f 2743/4063/658 2742/4606/658 2744/4064/658 -f 2739/4607/658 2747/4072/658 2741/4062/658 -f 2719/4032/659 2726/4608/659 2717/4609/659 -f 2720/4610/659 2721/4035/659 2722/4031/659 -f 3611/4611/658 3610/4612/658 3607/4613/658 -f 3609/4614/659 3612/4615/659 3608/4616/659 -f 3610/4612/653 3613/4617/653 3609/4618/653 -f 3608/4616/655 3611/4611/655 3607/4613/655 -f 3619/4619/658 3618/4620/658 3615/4621/658 -f 3617/4622/659 3620/4623/659 3616/4624/659 -f 3618/4620/653 3621/4625/653 3617/4622/653 -f 3616/4626/655 3619/4619/655 3615/4621/655 -f 3620/4627/670 3625/4628/670 3619/4629/670 -f 3614/4630/671 3623/4631/671 3613/4632/671 -f 3624/4633/654 3626/4634/654 3623/4635/654 -f 3624/4633/658 3629/4636/658 3625/4637/658 -f 3626/4638/659 3627/4639/659 3623/4640/659 -f 3629/4636/652 3627/4639/652 3630/4641/652 -f 3625/4637/658 3622/4642/658 3619/4643/658 -f 3629/4636/660 3621/4625/660 3622/4644/660 -f 3630/4641/659 3620/4645/659 3621/4646/659 -f 3628/4647/658 3614/4648/658 3611/4649/658 -f 3612/4615/661 3628/4647/661 3611/4611/661 -f 3623/4640/659 3612/4650/659 3613/4651/659 -f 3647/4652/658 3651/4653/658 3655/4654/658 -f 3641/4655/659 3637/4656/659 3633/4657/659 -f 3665/4658/653 3664/4659/653 3663/4660/653 -f 3671/4661/663 3670/4662/663 3667/4663/663 -f 3670/4664/654 3664/4659/654 3666/4665/654 -f 3668/4666/652 3665/4667/652 3663/4660/652 -f 3667/4668/659 3666/4669/659 3665/4667/659 -f 3669/4670/658 3663/4660/658 3664/4659/658 -f 3673/4671/653 3672/4672/653 3671/4673/653 -f 3678/4674/654 3672/4675/654 3674/4676/654 -f 3675/4677/652 3673/4671/652 3671/4673/652 -f 3675/4677/655 3678/4674/655 3677/4678/655 -f 3676/4679/662 3668/4666/662 3669/4670/662 -f 3670/4680/654 3676/4679/654 3669/4670/654 -f 3668/4666/652 3671/4661/652 3667/4663/652 -f 3681/4681/655 3680/4682/655 3679/4683/655 -f 3685/4684/659 3682/4685/659 3681/4686/659 -f 3683/4687/653 3686/4688/653 3685/4684/653 -f 3679/4683/658 3684/4689/658 3683/4687/658 -f 3694/4690/654 3682/4691/654 3686/4692/654 -f 3698/4693/653 3686/4692/653 3690/4694/653 -f 3682/4695/655 3689/4696/655 3680/4697/655 -f 3680/4682/656 3690/4694/656 3684/4689/656 -f 3686/4692/653 3684/4698/653 3690/4694/653 -f 3681/4699/655 3679/4700/655 3687/4701/655 -f 3683/4687/657 3687/4701/657 3679/4683/657 -f 3685/4702/653 3688/4703/653 3683/4704/653 -f 3691/4705/653 3688/4703/653 3685/4702/653 -f 3695/4706/654 3687/4701/654 3688/4703/654 -f 3693/4707/655 3689/4696/655 3682/4695/655 -f 3697/4708/652 3690/4694/652 3689/4696/652 -f 3692/4709/652 3685/4702/652 3681/4710/652 -f 3696/4711/655 3681/4699/655 3687/4701/655 -f 3701/4712/658 3706/4713/658 3705/4714/658 -f 3700/4715/655 3701/4712/655 3699/4716/655 -f 3699/4716/659 3704/4717/659 3700/4718/659 -f 3701/4712/654 3703/4719/654 3699/4716/654 -f 3709/4720/658 3714/4721/658 3713/4722/658 -f 3708/4723/655 3709/4720/655 3707/4724/655 -f 3707/4724/659 3712/4725/659 3708/4726/659 -f 3709/4720/654 3711/4727/654 3707/4724/654 -f 3717/4728/659 3722/4729/659 3721/4730/659 -f 3716/4731/655 3717/4728/655 3715/4732/655 -f 3715/4732/658 3720/4733/658 3716/4734/658 -f 3717/4728/652 3719/4735/652 3715/4732/652 -f 3725/4736/659 3730/4737/659 3729/4738/659 -f 3724/4739/655 3725/4736/655 3723/4740/655 -f 3723/4740/658 3728/4741/658 3724/4742/658 -f 3725/4736/652 3727/4743/652 3723/4740/652 -f 3733/4744/658 3738/4745/658 3737/4746/658 -f 3732/4747/653 3733/4744/653 3731/4748/653 -f 3731/4748/659 3736/4749/659 3732/4750/659 -f 3733/4744/652 3735/4751/652 3731/4748/652 -f 3741/4752/658 3746/4753/658 3745/4754/658 -f 3740/4755/653 3741/4752/653 3739/4756/653 -f 3739/4756/659 3744/4757/659 3740/4758/659 -f 3741/4752/652 3743/4759/652 3739/4756/652 -f 3749/4760/659 3754/4761/659 3753/4762/659 -f 3748/4763/654 3749/4760/654 3747/4764/654 -f 3747/4764/658 3752/4765/658 3748/4766/658 -f 3749/4760/655 3751/4767/655 3747/4764/655 -f 3757/4768/659 3762/4769/659 3761/4770/659 -f 3756/4771/654 3757/4768/654 3755/4772/654 -f 3755/4772/658 3760/4773/658 3756/4774/658 -f 3757/4768/655 3759/4775/655 3755/4772/655 -f 3766/4776/658 3769/4777/658 3765/4778/658 -f 3764/4779/652 3765/4778/652 3763/4780/652 -f 3763/4780/659 3768/4781/659 3764/4782/659 -f 3765/4778/655 3767/4783/655 3763/4780/655 -f 3774/4784/658 3777/4785/658 3773/4786/658 -f 3772/4787/652 3773/4786/652 3771/4788/652 -f 3771/4788/659 3776/4789/659 3772/4790/659 -f 3773/4786/655 3775/4791/655 3771/4788/655 -f 3781/4792/659 3786/4793/659 3785/4794/659 -f 3780/4795/652 3781/4792/652 3779/4796/652 -f 3779/4796/658 3784/4797/658 3780/4798/658 -f 3781/4792/653 3783/4799/653 3779/4796/653 -f 3789/4800/659 3794/4801/659 3793/4802/659 -f 3788/4803/652 3789/4800/652 3787/4804/652 -f 3787/4804/658 3792/4805/658 3788/4806/658 -f 3789/4800/653 3791/4807/653 3787/4804/653 -f 3798/4808/658 3801/4809/658 3797/4810/658 -f 3796/4811/654 3797/4810/654 3795/4812/654 -f 3795/4812/659 3800/4813/659 3796/4814/659 -f 3797/4810/653 3799/4815/653 3795/4812/653 -f 3806/4816/658 3809/4817/658 3805/4818/658 -f 3804/4819/654 3805/4818/654 3803/4820/654 -f 3803/4820/659 3808/4821/659 3804/4822/659 -f 3805/4818/653 3807/4823/653 3803/4820/653 -f 3817/4824/658 3818/4825/658 3811/4826/658 -f 3833/4827/658 3834/4828/658 3827/4829/658 -f 3849/4830/658 3850/4831/658 3843/4832/658 -f 3199/4385/659 3206/4833/659 3205/4384/659 -f 2533/3786/652 2530/3803/652 2529/3787/652 -f 2534/3788/653 2529/3787/653 2531/3789/653 -f 2540/3791/654 2531/4834/654 2532/3792/654 -f 2535/3796/656 2533/3786/656 2534/3788/656 -f 2541/3800/657 2536/3804/657 2537/3801/657 -f 2539/3793/655 2532/3792/655 2530/3803/655 -f 2540/3798/653 2542/4835/653 2537/3801/653 -f 2539/3794/655 2535/3796/655 2536/3804/655 -f 2536/3804/658 2535/3796/658 2538/3797/658 -f 2540/3806/659 2539/3794/659 2541/3805/659 -f 2545/3811/660 2548/4836/660 2546/3812/660 -f 2544/3808/655 2547/3815/655 2548/3814/655 -f 2543/3813/654 2546/3812/654 2547/3815/654 -f 2549/3816/654 2551/4837/654 2552/3817/654 -f 2549/3819/653 2553/3824/653 2554/3820/653 -f 2552/3817/661 2554/4838/661 2553/3822/661 -f 2548/3814/658 2554/3820/658 2552/3825/658 -f 2562/3827/662 2570/4839/662 2568/3828/662 -f 2569/3830/658 2570/3934/658 2562/3831/658 -f 2565/3833/663 2563/3845/663 2555/3834/663 -f 2558/3836/659 2566/3849/659 2565/3837/659 -f 2567/3839/664 2569/4840/664 2561/3840/664 -f 2568/3828/655 2564/3843/655 2556/3842/655 -f 2564/3843/665 2566/4841/665 2558/3844/665 -f 2563/3845/653 2567/3839/653 2559/3841/653 -f 2558/3846/654 2557/4842/654 2546/3812/654 -f 2546/3812/654 2557/4842/654 2555/3847/654 -f 2552/3817/654 2551/4837/654 2556/3848/654 -f 2548/3814/652 2565/3837/652 2566/3849/652 -f 2583/3852/659 2582/3894/659 2597/3853/659 -f 2575/3857/658 2577/3861/658 2576/3858/658 -f 2574/3856/655 2595/3893/655 2597/3859/655 -f 2593/3863/653 2594/4843/653 2589/3864/653 -f 2587/3869/659 2586/3872/659 2585/3867/659 -f 2595/3870/652 2591/4844/652 2592/3854/652 -f 2577/3861/660 2586/3872/660 2588/3873/660 -f 2627/3875/658 2628/3946/658 2620/3876/658 -f 2573/3855/653 2581/4845/653 2582/3878/653 -f 2575/3857/652 2585/3867/652 2586/3872/652 -f 2574/3880/661 2584/4846/661 2585/3867/661 -f 2579/3881/655 2590/4847/655 2587/3882/655 -f 2620/3883/662 2628/4848/662 2626/3884/662 -f 2576/3886/654 2587/3869/654 2581/3866/654 -f 2572/3888/655 2583/4849/655 2592/3889/655 -f 2588/3891/653 2598/4850/653 2596/3892/653 -f 2572/3888/658 2591/3890/658 2595/3893/658 -f 2595/3893/658 2574/3856/658 2573/3855/658 -f 2581/3866/659 2584/3868/659 2597/3853/659 -f 2598/3895/659 2588/3871/659 2587/3869/659 -f 2576/3858/658 2580/3862/658 2596/3892/658 -f 2598/3895/659 2590/3896/659 2589/3897/659 -f 2578/3865/658 2579/3881/658 2596/3892/658 -f 2594/3898/652 2593/4851/652 2596/3899/652 -f 2547/3815/655 2599/3951/655 2600/3900/655 -f 2606/3916/659 2601/3903/659 2602/3905/659 -f 2602/3905/659 2603/3908/659 2605/3907/659 -f 2605/3907/659 2607/3913/659 2609/3911/659 -f 2609/3911/659 2608/3917/659 2606/3916/659 -f 2606/3916/659 2602/3905/659 2609/3911/659 -f 2610/3912/653 2604/4852/653 2551/3821/653 -f 2600/3901/655 2601/3903/655 2606/3916/655 -f 2610/3910/653 2612/4853/653 2607/3913/653 -f 2609/3911/652 2612/4854/652 2611/3919/652 -f 2623/3920/663 2621/3932/663 2613/3921/663 -f 2616/3923/659 2624/3933/659 2623/3924/659 -f 2625/3926/664 2627/4855/664 2619/3927/664 -f 2626/3884/655 2622/3930/655 2614/3929/655 -f 2622/3930/665 2624/4856/665 2616/3931/665 -f 2621/3932/653 2625/3926/653 2617/3928/653 -f 2569/3830/652 2623/3924/652 2624/3933/652 -f 2616/3935/654 2615/4857/654 2561/3936/654 -f 2621/3938/652 2623/3924/652 2569/3830/652 -f 2561/3936/654 2615/4857/654 2613/3940/654 -f 2560/3942/654 2614/3954/654 2616/3935/654 -f 2624/3933/652 2622/3955/652 2568/3943/652 -f 2612/3944/658 2610/3912/658 2600/3900/658 -f 2627/3875/652 2600/3900/652 2610/3912/652 -f 2602/3905/654 2619/3952/654 2620/3949/654 -f 2620/3949/654 2618/3953/654 2604/3950/654 -f 2599/3951/654 2617/4858/654 2619/3952/654 -f 2555/3847/654 2559/3941/654 2547/3815/654 -f 2559/3941/654 2613/3940/654 2599/3951/654 -f 2613/3940/654 2617/4858/654 2599/3951/654 -f 2567/3939/652 2563/3851/652 2548/3814/652 -f 2548/3814/652 2600/3900/652 2621/3938/652 -f 2600/3900/652 2625/3948/652 2621/3938/652 -f 2614/3954/654 2560/3942/654 2604/3950/654 -f 2560/3942/654 2556/3848/654 2551/4837/654 -f 2604/3950/654 2560/3942/654 2551/4837/654 -f 2554/3820/652 2564/3850/652 2568/3943/652 -f 2622/3955/652 2626/3947/652 2610/3912/652 -f 2554/3820/652 2568/3943/652 2622/3955/652 -f 2633/3956/658 2636/4859/658 2632/3957/658 -f 2631/3959/659 2635/4860/659 2634/3960/659 -f 2632/3957/653 2636/4859/653 2635/3962/653 -f 2630/3961/655 2634/3960/655 2633/3956/655 -f 2641/3964/658 2644/3989/658 2640/3965/658 -f 2639/3967/659 2643/3970/659 2642/3968/659 -f 2640/3965/653 2644/3989/653 2643/3970/653 -f 2638/3971/655 2642/4861/655 2641/3964/655 -f 2642/3972/670 2648/4862/670 2647/3973/670 -f 2636/3975/671 2646/4863/671 2645/3976/671 -f 2646/3978/654 2647/3982/654 2648/3979/654 -f 2646/3978/658 2650/3992/658 2651/3981/658 -f 2648/3983/659 2652/3986/659 2649/3984/659 -f 2651/3981/652 2650/3992/652 2649/3984/652 -f 2647/3982/658 2651/3981/658 2644/3987/658 -f 2651/3981/660 2652/3986/660 2643/3970/660 -f 2652/3986/659 2648/3983/659 2642/3990/659 -f 2650/3992/658 2646/3978/658 2636/3993/658 -f 2634/3960/661 2649/3984/661 2650/3992/661 -f 2645/3985/659 2649/3984/659 2634/3995/659 -f 2653/3999/658 2654/4864/658 2655/4865/658 -f 2655/4865/658 2656/4866/658 2653/3999/658 -f 2656/4866/658 2657/4867/658 2653/3999/658 -f 2657/4867/658 2658/4868/658 2653/3999/658 -f 2658/4868/658 2659/3997/658 2653/3999/658 -f 2685/4000/658 2686/4869/658 2687/4870/658 -f 2687/4870/658 2688/4871/658 2685/4000/658 -f 2688/4871/658 2689/4001/658 2685/4000/658 -f 2689/4001/658 2690/4872/658 2691/4873/658 -f 2691/4873/658 2692/4874/658 2689/4001/658 -f 2692/4874/658 2693/4002/658 2689/4001/658 -f 2693/4002/658 2694/4875/658 2695/4876/658 -f 2695/4876/658 2696/4877/658 2697/4878/658 -f 2697/4878/658 2698/4879/658 2685/4000/658 -f 2698/4879/658 2699/4880/658 2685/4000/658 -f 2699/4880/658 2700/4881/658 2685/4000/658 -f 2693/4002/658 2695/4876/658 2685/4000/658 -f 2695/4876/658 2697/4878/658 2685/4000/658 -f 2671/4005/659 2670/4882/659 2669/4883/659 -f 2669/4883/659 2684/4884/659 2683/4885/659 -f 2683/4885/659 2682/4886/659 2679/4003/659 -f 2682/4886/659 2681/4887/659 2679/4003/659 -f 2681/4887/659 2680/4888/659 2679/4003/659 -f 2679/4003/659 2678/4889/659 2677/4890/659 -f 2677/4890/659 2676/4891/659 2679/4003/659 -f 2676/4891/659 2675/4004/659 2679/4003/659 -f 2675/4004/659 2674/4892/659 2673/4893/659 -f 2673/4893/659 2672/4894/659 2675/4004/659 -f 2672/4894/659 2671/4005/659 2675/4004/659 -f 2671/4005/659 2669/4883/659 2679/4003/659 -f 2669/4883/659 2683/4885/659 2679/4003/659 -f 2703/4009/670 2706/4012/670 2704/4010/670 -f 2702/4006/653 2705/4013/653 2706/4012/653 -f 2701/4008/652 2704/4027/652 2705/4013/652 -f 2707/4014/652 2709/4018/652 2710/4015/652 -f 2707/4014/655 2711/4020/655 2712/4017/655 -f 2710/4019/671 2712/4017/671 2711/4020/671 -f 2710/4015/658 2713/4029/658 2714/4023/658 -f 2706/4025/658 2716/4895/658 2715/4026/658 -f 2710/4015/660 2721/4035/660 2723/4028/660 -f 2704/4027/652 2719/4032/652 2718/4030/652 -f 2712/4017/655 2720/4037/655 2722/4031/655 -f 2715/4026/661 2725/4896/661 2719/4032/661 -f 2706/4012/671 2717/4038/671 2726/4033/671 -f 2709/4018/652 2722/4031/652 2721/4035/652 -f 2714/4036/670 2724/4897/670 2720/4037/670 -f 2705/4013/653 2718/4030/653 2717/4038/653 -f 2723/4028/659 2721/4035/659 2720/4039/659 -f 2729/4042/670 2732/4046/670 2730/4043/670 -f 2728/4045/653 2731/4048/653 2732/4046/653 -f 2727/4047/652 2730/4898/652 2731/4048/652 -f 2733/4049/652 2735/4053/652 2736/4050/652 -f 2733/4049/655 2737/4055/655 2738/4052/655 -f 2736/4054/671 2738/4052/671 2737/4055/671 -f 2742/4057/658 2743/4063/658 2745/4058/658 -f 2743/4063/652 2744/4064/652 2733/4049/652 -f 2744/4064/655 2742/4069/655 2737/4055/655 -f 2740/4060/652 2741/4062/652 2727/4047/652 -f 2739/4065/653 2740/4060/653 2728/4045/653 -f 2743/4063/660 2734/4051/660 2749/4066/660 -f 2737/4067/659 2750/4899/659 2749/4066/659 -f 2750/4068/670 2737/4055/670 2742/4069/670 -f 2751/4071/661 2727/4047/661 2741/4062/661 -f 2751/4071/659 2752/4900/659 2729/4073/659 -f 2739/4065/671 2729/4042/671 2752/4074/671 -f 2951/4076/659 2952/4082/659 2950/4077/659 -f 2955/4079/658 2956/4090/658 2953/4080/658 -f 2952/4082/655 2956/4090/655 2955/4079/655 -f 2951/4083/653 2949/4901/653 2954/4081/653 -f 2952/4084/655 2959/4094/655 2961/4085/655 -f 2950/4087/657 2955/4079/657 2954/4081/657 -f 2956/4090/656 2958/4086/656 2957/4091/656 -f 2951/4093/654 2960/4902/654 2959/4094/654 -f 2957/4091/653 2962/4097/653 2960/4095/653 -f 2958/4086/652 2961/4085/652 2962/4097/652 -f 2966/4098/652 2970/4104/652 2969/4099/652 -f 2963/4101/654 2967/4903/654 2968/4102/654 -f 2964/4103/655 2968/4102/655 2970/4104/655 -f 2965/4100/653 2969/4099/653 2967/4105/653 -f 2974/4107/652 2978/4113/652 2977/4108/652 -f 2971/4110/654 2975/4904/654 2976/4111/654 -f 2972/4112/655 2976/4111/655 2978/4113/655 -f 2973/4109/653 2977/4108/653 2975/4114/653 -f 2985/4116/652 2986/4122/652 2982/4117/652 -f 2984/4119/654 2983/4905/654 2979/4120/654 -f 2986/4122/655 2984/4119/655 2980/4121/655 -f 2983/4123/653 2985/4116/653 2981/4118/653 -f 2993/4125/652 2994/4131/652 2990/4126/652 -f 2992/4128/654 2991/4906/654 2987/4129/654 -f 2994/4131/655 2992/4128/655 2988/4130/655 -f 2991/4132/653 2993/4125/653 2989/4127/653 -f 3001/4134/652 3002/4140/652 2998/4135/652 -f 3000/4137/654 2999/4907/654 2995/4138/654 -f 3002/4140/655 3000/4137/655 2996/4139/655 -f 2999/4141/653 3001/4134/653 2997/4136/653 -f 3009/4143/652 3010/4149/652 3006/4144/652 -f 3008/4146/654 3007/4908/654 3003/4147/654 -f 3010/4149/655 3008/4146/655 3004/4148/655 -f 3007/4150/653 3009/4143/653 3005/4145/653 -f 3017/4152/652 3018/4158/652 3014/4153/652 -f 3016/4155/654 3015/4909/654 3011/4156/654 -f 3018/4158/655 3016/4155/655 3012/4157/655 -f 3015/4159/653 3017/4152/653 3013/4154/653 -f 3025/4161/652 3026/4167/652 3022/4162/652 -f 3024/4164/654 3023/4910/654 3019/4165/654 -f 3026/4167/655 3024/4164/655 3020/4166/655 -f 3023/4168/653 3025/4161/653 3021/4163/653 -f 3033/4170/652 3034/4176/652 3030/4171/652 -f 3032/4173/654 3031/4911/654 3027/4174/654 -f 3034/4176/655 3032/4173/655 3028/4175/655 -f 3031/4177/653 3033/4170/653 3029/4172/653 -f 3041/4179/652 3042/4185/652 3038/4180/652 -f 3040/4182/654 3039/4912/654 3035/4183/654 -f 3042/4185/655 3040/4182/655 3036/4184/655 -f 3039/4186/653 3041/4179/653 3037/4181/653 -f 3049/4188/652 3050/4194/652 3046/4189/652 -f 3048/4191/654 3047/4913/654 3043/4192/654 -f 3050/4194/655 3048/4191/655 3044/4193/655 -f 3047/4195/653 3049/4188/653 3045/4190/653 -f 3057/4197/652 3058/4203/652 3054/4198/652 -f 3056/4200/654 3055/4914/654 3051/4201/654 -f 3058/4203/655 3056/4200/655 3052/4202/655 -f 3055/4204/653 3057/4197/653 3053/4199/653 -f 3060/4206/655 3062/4915/655 3061/4207/655 -f 3066/4209/665 3068/4916/665 3067/4210/665 -f 3060/4206/654 3065/4218/654 3066/4212/654 -f 3061/4214/652 3063/4217/652 3064/4215/652 -f 3062/4216/659 3066/4917/659 3063/4217/659 -f 3059/4208/658 3064/4215/658 3065/4218/658 -f 3068/4219/655 3070/4918/655 3069/4220/655 -f 3068/4222/654 3072/4227/654 3074/4223/654 -f 3069/4220/652 3073/4226/652 3071/4225/652 -f 3074/4223/653 3072/4227/653 3071/4225/653 -f 3064/4215/664 3071/4225/664 3072/4227/664 -f 3072/4227/654 3068/4919/654 3066/4228/654 -f 3067/4210/652 3071/4225/652 3064/4215/652 -f 3076/4229/653 3078/4920/653 3077/4230/653 -f 3078/4232/659 3082/4235/659 3081/4233/659 -f 3082/4235/655 3080/4237/655 3079/4236/655 -f 3080/4237/658 3076/4229/658 3075/4231/658 -f 3078/4238/654 3089/4921/654 3090/4239/654 -f 3082/4240/655 3090/4239/655 3094/4241/655 -f 3086/4242/656 3085/4245/656 3076/4229/656 -f 3083/4248/657 3084/4252/657 3079/4236/657 -f 3084/4252/655 3091/4254/655 3087/4253/655 -f 3083/4248/654 3092/4259/654 3091/4254/654 -f 3085/4245/653 3093/4256/653 3089/4255/653 -f 3086/4242/652 3094/4241/652 3093/4256/652 -f 3081/4250/652 3087/4253/652 3088/4257/652 -f 3077/4247/653 3088/4922/653 3092/4259/653 -f 3097/4260/659 3098/4923/659 3102/4261/659 -f 3096/4263/653 3098/4924/653 3097/4260/653 -f 3095/4264/658 3099/4267/658 3100/4265/658 -f 3097/4260/654 3101/4262/654 3099/4267/654 -f 3105/4268/659 3106/4925/659 3110/4269/659 -f 3104/4271/653 3106/4926/653 3105/4268/653 -f 3103/4272/658 3107/4275/658 3108/4273/658 -f 3105/4268/654 3109/4270/654 3107/4275/654 -f 3114/4276/672 3113/4280/672 3112/4277/672 -f 3115/4279/653 3112/4277/653 3113/4280/653 -f 3120/4282/655 3123/4292/655 3126/4283/655 -f 3122/4285/657 3119/4927/657 3120/4282/657 -f 3122/4286/653 3125/4293/653 3124/4287/653 -f 3115/4289/657 3118/4928/657 3117/4290/657 -f 3117/4290/655 3114/4276/655 3111/4278/655 -f 3123/4292/672 3124/4287/672 3125/4293/672 -f 3133/4294/652 3134/4298/652 3131/4295/652 -f 3129/4297/659 3131/4295/659 3134/4298/659 -f 3128/4300/658 3133/4294/658 3132/4296/658 -f 3130/4302/655 3134/4298/655 3133/4294/655 -f 3127/4304/653 3132/4296/653 3131/4295/653 -f 3137/4306/653 3141/4929/653 3139/4307/653 -f 3142/4309/658 3141/4929/658 3137/4306/658 -f 3136/4311/655 3140/4313/655 3142/4309/655 -f 3135/4312/659 3139/4930/659 3140/4313/659 -f 3145/4314/653 3149/4931/653 3147/4315/653 -f 3150/4317/658 3149/4932/658 3145/4318/658 -f 3144/4320/655 3148/4321/655 3150/4317/655 -f 3143/4316/659 3147/4315/659 3148/4321/659 -f 3153/4322/653 3157/4933/653 3155/4323/653 -f 3158/4325/658 3157/4933/658 3153/4322/658 -f 3152/4327/655 3156/4934/655 3158/4325/655 -f 3151/4324/659 3155/4323/659 3156/4328/659 -f 3161/4330/653 3165/4935/653 3163/4331/653 -f 3166/4333/658 3165/4935/658 3161/4330/658 -f 3160/4335/655 3164/4338/655 3166/4336/655 -f 3159/4332/659 3163/4331/659 3164/4338/659 -f 3170/4339/652 3169/4346/652 3167/4340/652 -f 3171/4342/654 3173/4936/654 3174/4343/654 -f 3170/4339/653 3174/4937/653 3173/4345/653 -f 3167/4340/655 3171/4342/655 3172/4344/655 -f 3168/4341/659 3172/4938/659 3174/4347/659 -f 3169/4346/658 3173/4939/658 3171/4348/658 -f 3180/4349/672 3186/4360/672 3185/4350/672 -f 3179/4352/652 3181/4940/652 3182/4353/652 -f 3177/4355/655 3181/4940/655 3179/4352/655 -f 3178/4357/653 3176/4359/653 3180/4354/653 -f 3179/4351/655 3185/4350/655 3183/4358/655 -f 3176/4359/653 3184/4941/653 3186/4360/653 -f 3188/4361/653 3190/4364/653 3189/4362/653 -f 3190/4364/659 3194/4367/659 3193/4365/659 -f 3194/4367/655 3192/4370/655 3191/4368/655 -f 3190/4364/652 3188/4361/652 3192/4370/652 -f 3202/4371/653 3200/4383/653 3196/4372/653 -f 3195/4374/655 3199/4385/655 3201/4375/655 -f 3197/4376/652 3201/4375/652 3202/4371/652 -f 3201/4377/658 3203/4380/658 3204/4378/658 -f 3203/4380/652 3205/4942/652 3206/4381/652 -f 3202/4379/653 3204/4378/653 3206/4382/653 -f 3205/4384/655 3203/4380/655 3201/4377/655 -f 3213/4386/672 3214/4391/672 3210/4387/672 -f 3211/4389/653 3213/4386/653 3209/4388/653 -f 3214/4391/655 3212/4943/655 3208/4392/655 -f 3217/4393/655 3218/4397/655 3216/4394/655 -f 3221/4396/659 3222/4400/659 3218/4397/659 -f 3219/4399/653 3220/4402/653 3222/4400/653 -f 3220/4402/652 3216/4394/652 3218/4397/652 -f 3229/4403/652 3230/4422/652 3227/4404/652 -f 3225/4406/659 3231/4410/659 3234/4407/659 -f 3223/4409/653 3232/4415/653 3231/4410/653 -f 3226/4412/655 3234/4407/655 3233/4413/655 -f 3233/4413/652 3234/4407/652 3231/4410/652 -f 3224/4416/658 3233/4413/658 3232/4415/658 -f 3235/4418/654 3238/4944/654 3237/4419/654 -f 3229/4403/655 3237/4945/655 3238/4421/655 -f 3227/4404/653 3235/4946/653 3236/4423/653 -f 3230/4422/659 3238/4947/659 3235/4424/659 -f 3228/4405/658 3236/4420/658 3237/4419/658 -f 3208/4392/655 3456/4948/655 3458/4425/655 -f 3209/4427/653 3457/4429/653 3455/4428/653 -f 3210/4426/652 3458/4425/652 3457/4429/652 -f 3458/4430/655 3456/4948/655 3460/4431/655 -f 3457/4433/653 3461/4435/653 3459/4434/653 -f 3458/4430/658 3462/4432/658 3461/4435/658 -f 3460/4436/655 3464/4949/655 3466/4437/655 -f 3459/4438/653 3461/4435/653 3465/4439/653 -f 3462/4432/652 3466/4437/652 3465/4439/652 -f 3464/4441/659 3463/4950/659 3465/4439/659 -f 3480/4442/653 3482/4465/653 3481/4443/653 -f 3472/4445/653 3474/4456/653 3473/4446/653 -f 3470/4448/658 3474/4456/658 3472/4449/658 -f 3571/4451/653 3575/4575/653 3573/4452/653 -f 3467/4454/659 3471/4951/659 3473/4446/659 -f 3469/4455/652 3473/4446/652 3474/4456/652 -f 3478/4457/658 3482/4465/658 3480/4458/658 -f 3566/4460/655 3574/4952/655 3576/4461/655 -f 3475/4463/659 3479/4953/659 3481/4443/659 -f 3477/4464/652 3481/4443/652 3482/4465/652 -f 3496/4466/653 3498/4489/653 3497/4467/653 -f 3488/4469/653 3490/4480/653 3489/4470/653 -f 3486/4472/658 3490/4480/658 3488/4473/658 -f 3585/4475/653 3589/4595/653 3587/4476/653 -f 3483/4478/659 3487/4954/659 3489/4470/659 -f 3485/4479/652 3489/4470/652 3490/4480/652 -f 3494/4481/658 3498/4489/658 3496/4482/658 -f 3491/4487/659 3495/4955/659 3497/4467/659 -f 3493/4488/652 3497/4467/652 3498/4489/652 -f 3512/4490/653 3514/4510/653 3513/4491/653 -f 3504/4493/653 3506/4502/653 3505/4494/653 -f 3502/4496/658 3506/4502/658 3504/4497/658 -f 3572/4462/656 3571/4451/656 3569/4485/656 -f 3499/4500/659 3503/4956/659 3505/4494/659 -f 3501/4501/652 3505/4494/652 3506/4502/652 -f 3510/4503/658 3514/4510/658 3512/4504/658 -f 3507/4508/659 3511/4957/659 3513/4491/659 -f 3509/4509/652 3513/4491/652 3514/4510/652 -f 3518/4511/658 3522/4520/658 3520/4512/658 -f 3591/4514/653 3596/4596/653 3597/4515/653 -f 3515/4517/659 3519/4958/659 3521/4518/659 -f 3517/4519/652 3521/4518/652 3522/4520/652 -f 3526/4521/658 3530/4529/658 3528/4522/658 -f 3566/4506/655 3570/4499/655 3567/4524/655 -f 3523/4526/659 3527/4959/659 3529/4527/659 -f 3525/4528/652 3529/4527/652 3530/4529/652 -f 3534/4530/658 3538/4538/658 3536/4531/658 -f 3564/4453/654 3573/4452/654 3574/4533/654 -f 3531/4535/659 3535/4960/659 3537/4536/659 -f 3533/4537/652 3537/4536/652 3538/4538/652 -f 3542/4539/658 3546/4546/658 3544/4540/658 -f 3563/4542/653 3568/4550/653 3569/4485/653 -f 3539/4543/659 3543/4961/659 3545/4544/659 -f 3541/4545/652 3545/4544/652 3546/4546/652 -f 3550/4547/658 3554/4554/658 3552/4548/658 -f 3567/4524/658 3570/4499/658 3569/4485/658 -f 3547/4551/659 3551/4962/659 3553/4552/659 -f 3549/4553/652 3553/4552/652 3554/4554/652 -f 3558/4555/658 3562/4562/658 3560/4556/658 -f 3564/4484/659 3566/4963/659 3565/4558/659 -f 3555/4559/659 3559/4964/659 3561/4560/659 -f 3557/4561/652 3561/4560/652 3562/4562/652 -f 3555/4563/655 3557/4561/655 3558/4555/655 -f 3547/4565/655 3549/4553/655 3550/4547/655 -f 3539/4567/655 3541/4545/655 3542/4539/655 -f 3531/4569/655 3533/4537/655 3534/4530/655 -f 3523/4571/655 3525/4528/655 3526/4521/655 -f 3515/4573/655 3517/4519/655 3518/4511/655 -f 3572/4462/652 3576/4461/652 3575/4575/652 -f 3580/4576/655 3588/4965/655 3590/4577/655 -f 3586/4578/656 3585/4475/656 3583/4580/656 -f 3594/4585/655 3598/4966/655 3595/4586/655 -f 3580/4583/655 3584/4582/655 3581/4588/655 -f 3578/4477/654 3587/4476/654 3588/4590/654 -f 3577/4592/653 3582/4593/653 3583/4580/653 -f 3581/4588/658 3584/4582/658 3583/4580/658 -f 3578/4579/659 3580/4967/659 3579/4594/659 -f 3586/4578/652 3590/4577/652 3589/4595/652 -f 3595/4586/658 3598/4966/658 3597/4515/658 -f 3592/4516/659 3594/4968/659 3593/4597/659 -f 3602/4598/655 3606/4969/655 3603/4599/655 -f 3599/4601/653 3604/4604/653 3605/4602/653 -f 3603/4599/658 3606/4969/658 3605/4602/658 -f 3600/4603/659 3602/4970/659 3601/4605/659 -f 2739/4607/658 2748/4971/658 2747/4072/658 -f 2719/4032/659 2725/4896/659 2726/4608/659 -f 3611/4611/658 3614/4972/658 3610/4612/658 -f 3609/4614/659 3613/4973/659 3612/4615/659 -f 3610/4612/653 3614/4972/653 3613/4617/653 -f 3608/4616/655 3612/4615/655 3611/4611/655 -f 3619/4619/658 3622/4644/658 3618/4620/658 -f 3617/4622/659 3621/4625/659 3620/4623/659 -f 3618/4620/653 3622/4644/653 3621/4625/653 -f 3616/4626/655 3620/4974/655 3619/4619/655 -f 3620/4627/670 3626/4975/670 3625/4628/670 -f 3614/4630/671 3624/4976/671 3623/4631/671 -f 3624/4633/654 3625/4637/654 3626/4634/654 -f 3624/4633/658 3628/4647/658 3629/4636/658 -f 3626/4638/659 3630/4641/659 3627/4639/659 -f 3629/4636/652 3628/4647/652 3627/4639/652 -f 3625/4637/658 3629/4636/658 3622/4642/658 -f 3629/4636/660 3630/4641/660 3621/4625/660 -f 3630/4641/659 3626/4638/659 3620/4645/659 -f 3628/4647/658 3624/4633/658 3614/4648/658 -f 3612/4615/661 3627/4639/661 3628/4647/661 -f 3623/4640/659 3627/4639/659 3612/4650/659 -f 3647/4652/658 3648/4977/658 3649/4978/658 -f 3649/4978/658 3650/4979/658 3647/4652/658 -f 3650/4979/658 3651/4653/658 3647/4652/658 -f 3651/4653/658 3652/4980/658 3653/4981/658 -f 3653/4981/658 3654/4982/658 3651/4653/658 -f 3654/4982/658 3655/4654/658 3651/4653/658 -f 3655/4654/658 3656/4983/658 3657/4984/658 -f 3657/4984/658 3658/4985/658 3659/4986/658 -f 3659/4986/658 3660/4987/658 3647/4652/658 -f 3660/4987/658 3661/4988/658 3647/4652/658 -f 3661/4988/658 3662/4989/658 3647/4652/658 -f 3655/4654/658 3657/4984/658 3647/4652/658 -f 3657/4984/658 3659/4986/658 3647/4652/658 -f 3633/4657/659 3632/4990/659 3631/4991/659 -f 3631/4991/659 3646/4992/659 3645/4993/659 -f 3645/4993/659 3644/4994/659 3641/4655/659 -f 3644/4994/659 3643/4995/659 3641/4655/659 -f 3643/4995/659 3642/4996/659 3641/4655/659 -f 3641/4655/659 3640/4997/659 3639/4998/659 -f 3639/4998/659 3638/4999/659 3641/4655/659 -f 3638/4999/659 3637/4656/659 3641/4655/659 -f 3637/4656/659 3636/5000/659 3635/5001/659 -f 3635/5001/659 3634/5002/659 3637/4656/659 -f 3634/5002/659 3633/4657/659 3637/4656/659 -f 3633/4657/659 3631/4991/659 3641/4655/659 -f 3631/4991/659 3645/4993/659 3641/4655/659 -f 3665/4658/653 3666/5003/653 3664/4659/653 -f 3671/4661/663 3672/5004/663 3670/4662/663 -f 3670/4664/654 3669/4670/654 3664/4659/654 -f 3668/4666/652 3667/4668/652 3665/4667/652 -f 3667/4668/659 3670/5005/659 3666/4669/659 -f 3669/4670/658 3668/4666/658 3663/4660/658 -f 3673/4671/653 3674/5006/653 3672/4672/653 -f 3678/4674/654 3676/4679/654 3672/4675/654 -f 3675/4677/652 3677/4678/652 3673/4671/652 -f 3675/4677/655 3676/4679/655 3678/4674/655 -f 3676/4679/662 3675/4677/662 3668/4666/662 -f 3670/4680/654 3672/5007/654 3676/4679/654 -f 3668/4666/652 3675/4677/652 3671/4661/652 -f 3681/4681/655 3682/5008/655 3680/4682/655 -f 3685/4684/659 3686/4688/659 3682/4685/659 -f 3683/4687/653 3684/4689/653 3686/4688/653 -f 3679/4683/658 3680/4682/658 3684/4689/658 -f 3694/4690/654 3693/5009/654 3682/4691/654 -f 3698/4693/653 3694/4690/653 3686/4692/653 -f 3680/4682/656 3689/4696/656 3690/4694/656 -f 3683/4687/657 3688/4703/657 3687/4701/657 -f 3691/4705/653 3695/4706/653 3688/4703/653 -f 3695/4706/654 3696/4711/654 3687/4701/654 -f 3693/4707/655 3697/4708/655 3689/4696/655 -f 3697/4708/652 3698/4693/652 3690/4694/652 -f 3692/4709/652 3691/4705/652 3685/4702/652 -f 3696/4711/655 3692/5010/655 3681/4699/655 -f 3701/4712/658 3702/5011/658 3706/4713/658 -f 3700/4715/655 3702/5012/655 3701/4712/655 -f 3699/4716/659 3703/4719/659 3704/4717/659 -f 3701/4712/654 3705/4714/654 3703/4719/654 -f 3709/4720/658 3710/5013/658 3714/4721/658 -f 3708/4723/655 3710/5014/655 3709/4720/655 -f 3707/4724/659 3711/4727/659 3712/4725/659 -f 3709/4720/654 3713/4722/654 3711/4727/654 -f 3717/4728/659 3718/5015/659 3722/4729/659 -f 3716/4731/655 3718/5016/655 3717/4728/655 -f 3715/4732/658 3719/4735/658 3720/4733/658 -f 3717/4728/652 3721/4730/652 3719/4735/652 -f 3725/4736/659 3726/5017/659 3730/4737/659 -f 3724/4739/655 3726/5018/655 3725/4736/655 -f 3723/4740/658 3727/4743/658 3728/4741/658 -f 3725/4736/652 3729/4738/652 3727/4743/652 -f 3733/4744/658 3734/5019/658 3738/4745/658 -f 3732/4747/653 3734/5020/653 3733/4744/653 -f 3731/4748/659 3735/4751/659 3736/4749/659 -f 3733/4744/652 3737/4746/652 3735/4751/652 -f 3741/4752/658 3742/5021/658 3746/4753/658 -f 3740/4755/653 3742/5022/653 3741/4752/653 -f 3739/4756/659 3743/4759/659 3744/4757/659 -f 3741/4752/652 3745/4754/652 3743/4759/652 -f 3749/4760/659 3750/5023/659 3754/4761/659 -f 3748/4763/654 3750/5024/654 3749/4760/654 -f 3747/4764/658 3751/4767/658 3752/4765/658 -f 3749/4760/655 3753/4762/655 3751/4767/655 -f 3757/4768/659 3758/5025/659 3762/4769/659 -f 3756/4771/654 3758/5026/654 3757/4768/654 -f 3755/4772/658 3759/4775/658 3760/4773/658 -f 3757/4768/655 3761/4770/655 3759/4775/655 -f 3766/4776/658 3770/5027/658 3769/4777/658 -f 3764/4779/652 3766/5028/652 3765/4778/652 -f 3763/4780/659 3767/4783/659 3768/4781/659 -f 3765/4778/655 3769/4777/655 3767/4783/655 -f 3774/4784/658 3778/5029/658 3777/4785/658 -f 3772/4787/652 3774/5030/652 3773/4786/652 -f 3771/4788/659 3775/4791/659 3776/4789/659 -f 3773/4786/655 3777/4785/655 3775/4791/655 -f 3781/4792/659 3782/5031/659 3786/4793/659 -f 3780/4795/652 3782/5032/652 3781/4792/652 -f 3779/4796/658 3783/4799/658 3784/4797/658 -f 3781/4792/653 3785/4794/653 3783/4799/653 -f 3789/4800/659 3790/5033/659 3794/4801/659 -f 3788/4803/652 3790/5034/652 3789/4800/652 -f 3787/4804/658 3791/4807/658 3792/4805/658 -f 3789/4800/653 3793/4802/653 3791/4807/653 -f 3798/4808/658 3802/5035/658 3801/4809/658 -f 3796/4811/654 3798/5036/654 3797/4810/654 -f 3795/4812/659 3799/4815/659 3800/4813/659 -f 3797/4810/653 3801/4809/653 3799/4815/653 -f 3806/4816/658 3810/5037/658 3809/4817/658 -f 3804/4819/654 3806/5038/654 3805/4818/654 -f 3803/4820/659 3807/4823/659 3808/4821/659 -f 3805/4818/653 3809/4817/653 3807/4823/653 -f 3811/4826/658 3812/5039/658 3813/5040/658 -f 3813/5040/658 3814/5041/658 3811/4826/658 -f 3814/5041/658 3815/5042/658 3811/4826/658 -f 3815/5042/658 3816/5043/658 3811/4826/658 -f 3816/5043/658 3817/4824/658 3811/4826/658 -f 3827/4829/658 3828/5044/658 3829/5045/658 -f 3829/5045/658 3830/5046/658 3827/4829/658 -f 3830/5046/658 3831/5047/658 3827/4829/658 -f 3831/5047/658 3832/5048/658 3827/4829/658 -f 3832/5048/658 3833/4827/658 3827/4829/658 -f 3843/4832/658 3844/5049/658 3845/5050/658 -f 3845/5050/658 3846/5051/658 3843/4832/658 -f 3846/5051/658 3847/5052/658 3843/4832/658 -f 3847/5052/658 3848/5053/658 3843/4832/658 -f 3848/5053/658 3849/4830/658 3843/4832/658 -f 3199/4385/659 3200/5054/659 3206/4833/659 +f 2949/4260/652 2945/4261/652 2950/4262/652 +f 2950/4262/653 2947/4263/653 2956/4264/653 +f 2956/4265/654 2948/4266/654 2955/4267/654 +f 2955/4268/655 2949/4269/655 2951/4270/655 +f 2951/4270/656 2950/4262/656 2954/4271/656 +f 2956/4272/653 2954/4271/653 2950/4273/653 +f 2957/4274/657 2953/4275/657 2958/4276/657 +f 2955/4267/655 2946/4277/655 2949/4260/655 +f 2956/4272/653 2953/4275/653 2954/4271/653 +f 2955/4268/655 2952/4278/655 2957/4279/655 +f 2952/4278/658 2954/4271/658 2953/4275/658 +f 2956/4280/659 2957/4279/659 2958/4281/659 +f 2960/4282/658 2961/4283/658 2959/4284/658 +f 2961/4285/660 2962/4286/660 2959/4287/660 +f 2960/4282/655 2964/4288/655 2961/4283/655 +f 2959/4287/654 2963/4289/654 2960/4282/654 +f 2965/4290/654 2968/4291/654 2966/4292/654 +f 2965/4293/653 2970/4294/653 2967/4295/653 +f 2968/4291/661 2969/4296/661 2966/4292/661 +f 2966/4297/658 2969/4298/658 2965/4293/658 +f 2964/4288/658 2968/4299/658 2962/4300/658 +f 2978/4301/662 2984/4302/662 2976/4303/662 +f 2985/4304/658 2978/4305/658 2977/4306/658 +f 2981/4307/663 2971/4308/663 2973/4309/663 +f 2974/4310/659 2981/4311/659 2973/4312/659 +f 2983/4313/664 2977/4314/664 2975/4315/664 +f 2984/4302/655 2972/4316/655 2976/4303/655 +f 2980/4317/665 2974/4318/665 2972/4316/665 +f 2979/4319/653 2975/4315/653 2971/4308/653 +f 2974/4320/654 2962/4286/654 2968/4291/654 +f 2962/4286/654 2971/4321/654 2963/4289/654 +f 2968/4291/654 2972/4322/654 2974/4320/654 +f 2964/4288/652 2982/4323/652 2970/4294/652 +f 2982/4323/652 2980/4324/652 2970/4294/652 +f 2981/4311/652 2964/4288/652 2979/4325/652 +f 2999/4326/659 3013/4327/659 3008/4328/659 +f 2989/4329/658 2990/4330/658 2991/4331/658 +f 2991/4331/658 2992/4332/658 2989/4329/658 +f 2990/4330/655 3013/4333/655 3000/4334/655 +f 2992/4332/658 2993/4335/658 2996/4336/658 +f 3009/4337/653 3005/4338/653 2994/4339/653 +f 2997/4340/659 3001/4341/659 3000/4342/659 +f 3003/4343/659 3001/4341/659 2997/4340/659 +f 3011/4344/652 3008/4328/652 3013/4327/652 +f 3003/4343/659 3004/4345/659 3002/4346/659 +f 2993/4335/660 3004/4347/660 2996/4348/660 +f 3043/4349/658 3036/4350/658 3035/4351/658 +f 2989/4329/653 2998/4352/653 2987/4353/653 +f 2991/4331/652 3002/4346/652 2993/4335/652 +f 2990/4354/661 3001/4341/661 2991/4331/661 +f 2995/4355/655 3003/4356/655 2992/4332/655 +f 3036/4357/662 3042/4358/662 3034/4359/662 +f 2992/4360/654 2997/4340/654 2989/4361/654 +f 2988/4362/655 3008/4363/655 3007/4364/655 +f 3004/4365/653 3012/4366/653 2996/4336/653 +f 2988/4362/658 3011/4367/658 2987/4353/658 +f 3011/4367/658 2989/4329/658 2987/4353/658 +f 2997/4340/659 3013/4327/659 2998/4368/659 +f 3014/4369/659 3003/4343/659 3006/4370/659 +f 2992/4332/658 3012/4366/658 2995/4355/658 +f 3014/4369/659 3005/4371/659 3010/4372/659 +f 2994/4339/658 3012/4366/658 3009/4337/658 +f 3010/4372/652 3012/4373/652 3014/4369/652 +f 2963/4289/655 3016/4374/655 2964/4288/655 +f 3016/4375/655 3015/4376/655 3017/4377/655 +f 3017/4377/666 3015/4378/666 3018/4379/666 +f 3020/4380/667 3021/4381/667 3019/4382/667 +f 3021/4381/653 3020/4383/653 3026/4384/653 +f 3018/4379/659 3021/4381/659 3025/4385/659 +f 3026/4386/653 2967/4295/653 2970/4294/653 +f 3023/4387/668 3028/4388/668 3025/4385/668 +f 3027/4389/669 3022/4390/669 3024/4391/669 +f 3016/4375/655 3022/4390/655 3027/4392/655 +f 3026/4384/653 3023/4387/653 3021/4381/653 +f 3025/4385/652 3027/4393/652 3024/4391/652 +f 3039/4394/663 3029/4395/663 3031/4396/663 +f 3032/4397/659 3039/4398/659 3031/4399/659 +f 3041/4400/664 3035/4401/664 3033/4402/664 +f 3042/4358/655 3030/4403/655 3034/4359/655 +f 3038/4404/665 3032/4405/665 3030/4403/665 +f 3037/4406/653 3033/4402/653 3029/4395/653 +f 2985/4304/652 3040/4407/652 2986/4408/652 +f 3032/4409/654 2977/4410/654 2978/4411/654 +f 3037/4412/652 2985/4304/652 2983/4413/652 +f 2977/4410/654 3029/4414/654 2975/4415/654 +f 2976/4416/654 3032/4409/654 2978/4411/654 +f 3040/4407/652 2984/4417/652 2986/4408/652 +f 3028/4418/658 3016/4374/658 3027/4419/658 +f 3043/4349/652 3026/4386/652 3044/4420/652 +f 3044/4420/652 3026/4386/652 3042/4421/652 +f 3043/4349/652 3041/4422/652 3016/4374/652 +f 3018/4379/654 3036/4423/654 3019/4382/654 +f 3036/4423/654 3020/4424/654 3019/4382/654 +f 3015/4425/654 3035/4426/654 3018/4379/654 +f 3015/4425/654 2963/4289/654 2975/4415/654 +f 3037/4412/652 2983/4413/652 2964/4288/652 +f 3020/4424/654 3034/4427/654 3030/4428/654 +f 3038/4429/652 3026/4386/652 2970/4294/652 +f 3049/4430/658 3048/4431/658 3045/4432/658 +f 3047/4433/659 3050/4434/659 3046/4435/659 +f 3048/4431/653 3051/4436/653 3047/4437/653 +f 3046/4435/655 3049/4430/655 3045/4432/655 +f 3057/4438/658 3056/4439/658 3053/4440/658 +f 3055/4441/659 3058/4442/659 3054/4443/659 +f 3056/4439/653 3059/4444/653 3055/4441/653 +f 3054/4445/655 3057/4438/655 3053/4440/655 +f 3058/4446/670 3063/4447/670 3057/4448/670 +f 3052/4449/671 3061/4450/671 3051/4451/671 +f 3062/4452/654 3064/4453/654 3061/4454/654 +f 3062/4452/658 3067/4455/658 3063/4456/658 +f 3064/4457/659 3065/4458/659 3061/4459/659 +f 3067/4455/652 3065/4458/652 3068/4460/652 +f 3063/4456/658 3060/4461/658 3057/4462/658 +f 3067/4455/660 3059/4444/660 3060/4463/660 +f 3068/4460/659 3058/4464/659 3059/4465/659 +f 3066/4466/658 3052/4467/658 3049/4468/658 +f 3050/4434/661 3066/4466/661 3049/4430/661 +f 3061/4459/659 3050/4469/659 3051/4470/659 +f 3075/4471/658 3076/4472/658 3069/4473/658 +f 3101/4474/658 3105/4475/658 3109/4476/658 +f 3095/4477/659 3091/4478/659 3087/4479/659 +f 3118/4480/658 3119/4481/658 3117/4482/658 +f 3119/4483/670 3120/4484/670 3117/4485/670 +f 3118/4480/653 3122/4486/653 3119/4483/653 +f 3117/4482/652 3121/4487/652 3118/4480/652 +f 3123/4488/652 3126/4489/652 3124/4490/652 +f 3123/4488/655 3128/4491/655 3125/4492/655 +f 3126/4493/671 3127/4494/671 3124/4495/671 +f 3124/4490/658 3127/4496/658 3123/4488/658 +f 3126/4489/658 3130/4497/658 3128/4498/658 +f 3122/4499/658 3131/4500/658 3120/4501/658 +f 3126/4489/660 3139/4502/660 3129/4503/660 +f 3120/4501/652 3134/4504/652 3121/4487/652 +f 3128/4491/655 3138/4505/655 3125/4492/655 +f 3131/4500/661 3135/4506/661 3120/4501/661 +f 3122/4486/671 3142/4507/671 3132/4508/671 +f 3125/4492/652 3137/4509/652 3126/4489/652 +f 3130/4510/670 3136/4511/670 3128/4491/670 +f 3121/4487/653 3133/4512/653 3122/4486/653 +f 3139/4502/659 3136/4513/659 3140/4514/659 +f 3134/4504/659 3135/4506/659 3133/4515/659 +f 3145/4516/670 3146/4517/670 3143/4518/670 +f 3144/4519/653 3148/4520/653 3145/4516/653 +f 3143/4521/652 3147/4522/652 3144/4519/652 +f 3149/4523/652 3152/4524/652 3150/4525/652 +f 3149/4523/655 3154/4526/655 3151/4527/655 +f 3152/4528/671 3153/4529/671 3150/4530/671 +f 3158/4531/658 3161/4532/658 3162/4533/658 +f 3156/4534/658 3155/4535/658 3157/4536/658 +f 3159/4537/652 3149/4523/652 3150/4525/652 +f 3160/4538/655 3153/4529/655 3149/4523/655 +f 3156/4534/652 3143/4521/652 3144/4519/652 +f 3155/4539/653 3144/4519/653 3145/4516/653 +f 3159/4537/660 3165/4540/660 3161/4532/660 +f 3153/4541/659 3165/4540/659 3150/4525/659 +f 3166/4542/670 3158/4543/670 3162/4544/670 +f 3167/4545/661 3157/4536/661 3163/4546/661 +f 3167/4545/659 3145/4547/659 3143/4521/659 +f 3155/4539/671 3168/4548/671 3164/4549/671 +f 3367/4550/659 3366/4551/659 3365/4552/659 +f 3371/4553/658 3369/4554/658 3370/4555/658 +f 3368/4556/655 3371/4553/655 3366/4551/655 +f 3367/4557/653 3370/4555/653 3369/4554/653 +f 3368/4558/655 3377/4559/655 3374/4560/655 +f 3366/4561/657 3370/4555/657 3365/4562/657 +f 3367/4557/653 3369/4554/653 3373/4563/653 +f 3372/4564/656 3373/4565/656 3369/4554/656 +f 3368/4556/655 3374/4566/655 3372/4564/655 +f 3367/4567/654 3375/4568/654 3368/4558/654 +f 3373/4565/653 3376/4569/653 3367/4570/653 +f 3374/4560/652 3378/4571/652 3373/4565/652 +f 3382/4572/652 3385/4573/652 3381/4574/652 +f 3379/4575/654 3384/4576/654 3380/4577/654 +f 3380/4577/655 3386/4578/655 3382/4572/655 +f 3381/4574/653 3383/4579/653 3379/4580/653 +f 3390/4581/652 3393/4582/652 3389/4583/652 +f 3387/4584/654 3392/4585/654 3388/4586/654 +f 3388/4586/655 3394/4587/655 3390/4581/655 +f 3389/4583/653 3391/4588/653 3387/4589/653 +f 3401/4590/652 3398/4591/652 3397/4592/652 +f 3400/4593/654 3395/4594/654 3396/4595/654 +f 3402/4596/655 3396/4595/655 3398/4591/655 +f 3399/4597/653 3397/4592/653 3395/4598/653 +f 3409/4599/652 3406/4600/652 3405/4601/652 +f 3408/4602/654 3403/4603/654 3404/4604/654 +f 3410/4605/655 3404/4604/655 3406/4600/655 +f 3407/4606/653 3405/4601/653 3403/4607/653 +f 3417/4608/652 3414/4609/652 3413/4610/652 +f 3416/4611/654 3411/4612/654 3412/4613/654 +f 3418/4614/655 3412/4613/655 3414/4609/655 +f 3415/4615/653 3413/4610/653 3411/4616/653 +f 3425/4617/652 3422/4618/652 3421/4619/652 +f 3424/4620/654 3419/4621/654 3420/4622/654 +f 3426/4623/655 3420/4622/655 3422/4618/655 +f 3423/4624/653 3421/4619/653 3419/4625/653 +f 3433/4626/652 3430/4627/652 3429/4628/652 +f 3432/4629/654 3427/4630/654 3428/4631/654 +f 3434/4632/655 3428/4631/655 3430/4627/655 +f 3431/4633/653 3429/4628/653 3427/4634/653 +f 3441/4635/652 3438/4636/652 3437/4637/652 +f 3440/4638/654 3435/4639/654 3436/4640/654 +f 3442/4641/655 3436/4640/655 3438/4636/655 +f 3439/4642/653 3437/4637/653 3435/4643/653 +f 3449/4644/652 3446/4645/652 3445/4646/652 +f 3448/4647/654 3443/4648/654 3444/4649/654 +f 3450/4650/655 3444/4649/655 3446/4645/655 +f 3447/4651/653 3445/4646/653 3443/4652/653 +f 3457/4653/652 3454/4654/652 3453/4655/652 +f 3456/4656/654 3451/4657/654 3452/4658/654 +f 3458/4659/655 3452/4658/655 3454/4654/655 +f 3455/4660/653 3453/4655/653 3451/4661/653 +f 3465/4662/652 3462/4663/652 3461/4664/652 +f 3464/4665/654 3459/4666/654 3460/4667/654 +f 3466/4668/655 3460/4667/655 3462/4663/655 +f 3463/4669/653 3461/4664/653 3459/4670/653 +f 3473/4671/652 3470/4672/652 3469/4673/652 +f 3472/4674/654 3467/4675/654 3468/4676/654 +f 3474/4677/655 3468/4676/655 3470/4672/655 +f 3471/4678/653 3469/4673/653 3467/4679/653 +f 3476/4680/655 3477/4681/655 3475/4682/655 +f 3482/4683/665 3483/4684/665 3479/4685/665 +f 3476/4680/654 3482/4686/654 3478/4687/654 +f 3477/4688/652 3480/4689/652 3475/4682/652 +f 3478/4690/659 3479/4691/659 3477/4688/659 +f 3475/4682/658 3481/4692/658 3476/4680/658 +f 3484/4693/655 3485/4694/655 3483/4695/655 +f 3484/4696/654 3490/4697/654 3486/4698/654 +f 3485/4694/652 3487/4699/652 3483/4695/652 +f 3490/4697/653 3487/4699/653 3489/4700/653 +f 3480/4689/664 3488/4701/664 3481/4692/664 +f 3488/4701/654 3482/4702/654 3481/4692/654 +f 3483/4684/652 3480/4689/652 3479/4685/652 +f 3492/4703/653 3493/4704/653 3491/4705/653 +f 3494/4706/659 3497/4707/659 3493/4708/659 +f 3498/4709/655 3495/4710/655 3497/4707/655 +f 3496/4711/658 3491/4705/658 3495/4710/658 +f 3494/4712/654 3506/4713/654 3498/4714/654 +f 3498/4714/655 3510/4715/655 3502/4716/655 +f 3494/4717/653 3492/4718/653 3501/4719/653 +f 3502/4716/656 3492/4703/656 3496/4711/656 +f 3498/4714/655 3502/4716/655 3496/4720/655 +f 3493/4721/653 3499/4722/653 3491/4723/653 +f 3499/4722/657 3495/4710/657 3491/4705/657 +f 3497/4724/655 3495/4725/655 3500/4726/655 +f 3500/4726/655 3503/4727/655 3497/4724/655 +f 3499/4722/654 3507/4728/654 3500/4726/654 +f 3501/4719/653 3505/4729/653 3494/4717/653 +f 3502/4716/652 3509/4730/652 3501/4719/652 +f 3497/4724/652 3504/4731/652 3493/4732/652 +f 3493/4721/653 3508/4733/653 3499/4722/653 +f 3513/4734/659 3518/4735/659 3517/4736/659 +f 3512/4737/653 3513/4734/653 3511/4738/653 +f 3511/4738/658 3516/4739/658 3512/4740/658 +f 3513/4734/654 3515/4741/654 3511/4738/654 +f 3521/4742/659 3526/4743/659 3525/4744/659 +f 3520/4745/653 3521/4742/653 3519/4746/653 +f 3519/4746/658 3524/4747/658 3520/4748/658 +f 3521/4742/654 3523/4749/654 3519/4746/654 +f 3530/4750/672 3528/4751/672 3527/4752/672 +f 3531/4753/653 3529/4754/653 3534/4755/653 +f 3536/4756/655 3542/4757/655 3537/4758/655 +f 3538/4759/657 3536/4756/657 3537/4758/657 +f 3538/4760/653 3540/4761/653 3535/4762/653 +f 3531/4763/657 3533/4764/657 3532/4765/657 +f 3533/4764/655 3527/4752/655 3532/4765/655 +f 3539/4766/672 3541/4767/672 3542/4757/672 +f 3549/4768/652 3547/4769/652 3548/4770/652 +f 3545/4771/659 3550/4772/659 3546/4773/659 +f 3544/4774/658 3548/4770/658 3543/4775/658 +f 3546/4776/655 3549/4768/655 3544/4777/655 +f 3543/4778/653 3547/4769/653 3545/4779/653 +f 3553/4780/653 3555/4781/653 3551/4782/653 +f 3558/4783/658 3553/4780/658 3554/4784/658 +f 3552/4785/655 3558/4783/655 3554/4784/655 +f 3551/4786/659 3556/4787/659 3552/4785/659 +f 3561/4788/653 3563/4789/653 3559/4790/653 +f 3566/4791/658 3561/4792/658 3562/4793/658 +f 3560/4794/655 3566/4791/655 3562/4793/655 +f 3559/4790/659 3564/4795/659 3560/4794/659 +f 3569/4796/653 3571/4797/653 3567/4798/653 +f 3574/4799/658 3569/4796/658 3570/4800/658 +f 3568/4801/655 3574/4799/655 3570/4800/655 +f 3567/4798/659 3572/4802/659 3568/4803/659 +f 3577/4804/653 3579/4805/653 3575/4806/653 +f 3582/4807/658 3577/4804/658 3578/4808/658 +f 3576/4809/655 3582/4810/655 3578/4811/655 +f 3575/4806/659 3580/4812/659 3576/4809/659 +f 3586/4813/652 3583/4814/652 3584/4815/652 +f 3587/4816/654 3590/4817/654 3588/4818/654 +f 3586/4813/653 3589/4819/653 3585/4820/653 +f 3583/4814/655 3588/4818/655 3584/4815/655 +f 3584/4815/659 3590/4821/659 3586/4813/659 +f 3585/4820/658 3587/4822/658 3583/4814/658 +f 3596/4823/672 3601/4824/672 3595/4825/672 +f 3595/4826/652 3598/4827/652 3596/4828/652 +f 3593/4829/655 3595/4826/655 3591/4830/655 +f 3594/4831/653 3596/4828/653 3598/4827/653 +f 3595/4825/655 3599/4832/655 3591/4830/655 +f 3592/4833/653 3602/4834/653 3596/4823/653 +f 3604/4835/653 3605/4836/653 3603/4837/653 +f 3606/4838/659 3609/4839/659 3605/4840/659 +f 3610/4841/655 3607/4842/655 3609/4843/655 +f 3606/4838/652 3608/4844/652 3610/4841/652 +f 3618/4845/653 3612/4846/653 3614/4847/653 +f 3611/4848/655 3617/4849/655 3613/4850/655 +f 3613/4850/652 3618/4845/652 3614/4847/652 +f 3617/4851/658 3620/4852/658 3618/4853/658 +f 3619/4854/652 3622/4855/652 3620/4852/652 +f 3618/4853/653 3622/4856/653 3616/4857/653 +f 3621/4858/655 3617/4851/655 3615/4859/655 +f 3629/4860/672 3626/4861/672 3625/4862/672 +f 3627/4863/653 3625/4862/653 3623/4864/653 +f 3630/4865/655 3624/4866/655 3626/4861/655 +f 3633/4867/655 3632/4868/655 3631/4869/655 +f 3637/4870/659 3634/4871/659 3633/4872/659 +f 3635/4873/653 3638/4874/653 3637/4875/653 +f 3636/4876/652 3634/4871/652 3638/4874/652 +f 3645/4877/652 3643/4878/652 3644/4879/652 +f 3641/4880/659 3650/4881/659 3642/4882/659 +f 3639/4883/653 3647/4884/653 3641/4885/653 +f 3642/4886/655 3649/4887/655 3640/4888/655 +f 3649/4887/652 3647/4884/652 3648/4889/652 +f 3640/4890/658 3648/4889/658 3639/4891/658 +f 3651/4892/654 3653/4893/654 3652/4894/654 +f 3645/4877/655 3654/4895/655 3646/4896/655 +f 3643/4878/653 3652/4897/653 3644/4879/653 +f 3646/4896/659 3651/4898/659 3643/4878/659 +f 3644/4879/658 3653/4893/658 3645/4877/658 +f 3624/4866/655 3874/4899/655 3626/4900/655 +f 3625/4901/653 3871/4902/653 3623/4864/653 +f 3626/4900/652 3873/4903/652 3625/4901/652 +f 3874/4904/655 3876/4905/655 3878/4906/655 +f 3873/4907/653 3875/4908/653 3871/4902/653 +f 3874/4904/658 3877/4909/658 3873/4907/658 +f 3876/4910/655 3882/4911/655 3878/4906/655 +f 3875/4912/653 3881/4913/653 3879/4914/653 +f 3878/4906/652 3881/4913/652 3877/4909/652 +f 3880/4915/659 3881/4913/659 3882/4911/659 +f 3896/4916/653 3897/4917/653 3895/4918/653 +f 3888/4919/653 3889/4920/653 3887/4921/653 +f 3886/4922/658 3888/4923/658 3884/4924/658 +f 3987/4925/653 3989/4926/653 3980/4927/653 +f 3883/4928/659 3889/4920/659 3885/4929/659 +f 3885/4929/652 3890/4930/652 3886/4922/652 +f 3894/4931/658 3896/4932/658 3892/4933/658 +f 3982/4934/655 3992/4935/655 3988/4936/655 +f 3891/4937/659 3897/4917/659 3893/4938/659 +f 3893/4938/652 3898/4939/652 3894/4931/652 +f 3912/4940/653 3913/4941/653 3911/4942/653 +f 3904/4943/653 3905/4944/653 3903/4945/653 +f 3902/4946/658 3904/4947/658 3900/4948/658 +f 4001/4949/653 4003/4950/653 3994/4951/653 +f 3899/4952/659 3905/4944/659 3901/4953/659 +f 3901/4953/652 3906/4954/652 3902/4946/652 +f 3910/4955/658 3912/4956/658 3908/4957/658 +f 3980/4958/653 3985/4959/653 3987/4960/653 +f 3907/4961/659 3913/4941/659 3909/4962/659 +f 3909/4962/652 3914/4963/652 3910/4955/652 +f 3928/4964/653 3929/4965/653 3927/4966/653 +f 3920/4967/653 3921/4968/653 3919/4969/653 +f 3918/4970/658 3920/4971/658 3916/4972/658 +f 3988/4936/656 3985/4959/656 3986/4973/656 +f 3915/4974/659 3921/4968/659 3917/4975/659 +f 3917/4975/652 3922/4976/652 3918/4970/652 +f 3926/4977/658 3928/4978/658 3924/4979/658 +f 3982/4980/655 3988/4981/655 3986/4973/655 +f 3923/4982/659 3929/4965/659 3925/4983/659 +f 3925/4983/652 3930/4984/652 3926/4977/652 +f 3934/4985/658 3936/4986/658 3932/4987/658 +f 4007/4988/653 4013/4989/653 4008/4990/653 +f 3931/4991/659 3937/4992/659 3933/4993/659 +f 3933/4993/652 3938/4994/652 3934/4985/652 +f 3942/4995/658 3944/4996/658 3940/4997/658 +f 3982/4980/655 3983/4998/655 3981/4999/655 +f 3939/5000/659 3945/5001/659 3941/5002/659 +f 3941/5002/652 3946/5003/652 3942/4995/652 +f 3950/5004/658 3952/5005/658 3948/5006/658 +f 3980/4927/654 3990/5007/654 3982/5008/654 +f 3947/5009/659 3953/5010/659 3949/5011/659 +f 3949/5011/652 3954/5012/652 3950/5004/652 +f 3958/5013/658 3960/5014/658 3956/5015/658 +f 3979/5016/653 3985/4959/653 3980/4958/653 +f 3955/5017/659 3961/5018/659 3957/5019/659 +f 3957/5019/652 3962/5020/652 3958/5013/652 +f 3966/5021/658 3968/5022/658 3964/5023/658 +f 3983/4998/658 3985/4959/658 3984/5024/658 +f 3963/5025/659 3969/5026/659 3965/5027/659 +f 3965/5027/652 3970/5028/652 3966/5021/652 +f 3974/5029/658 3976/5030/658 3972/5031/658 +f 3980/4958/659 3981/5032/659 3979/5016/659 +f 3971/5033/659 3977/5034/659 3973/5035/659 +f 3973/5035/652 3978/5036/652 3974/5029/652 +f 3971/5037/655 3974/5029/655 3972/5038/655 +f 3963/5039/655 3966/5021/655 3964/5040/655 +f 3955/5041/655 3958/5013/655 3956/5042/655 +f 3947/5043/655 3950/5004/655 3948/5044/655 +f 3939/5045/655 3942/4995/655 3940/5046/655 +f 3931/5047/655 3934/4985/655 3932/5048/655 +f 3988/4936/652 3991/5049/652 3987/4925/652 +f 3996/5050/655 4006/5051/655 4002/5052/655 +f 3994/5053/653 3999/5054/653 4001/5055/653 +f 4002/5052/656 3999/5054/656 4000/5056/656 +f 3996/5057/655 4002/5058/655 4000/5056/655 +f 4010/5059/655 4011/5060/655 4009/5061/655 +f 3996/5057/655 3997/5062/655 3995/5063/655 +f 3994/4951/654 4004/5064/654 3996/5065/654 +f 3993/5066/653 3999/5054/653 3994/5053/653 +f 3997/5062/658 3999/5054/658 3998/5067/658 +f 3994/5053/659 3995/5068/659 3993/5066/659 +f 4002/5052/652 4005/5069/652 4001/4949/652 +f 4011/5060/658 4013/4989/658 4012/5070/658 +f 4008/4990/659 4009/5071/659 4007/4988/659 +f 4018/5072/655 4019/5073/655 4017/5074/655 +f 4015/5075/653 4021/5076/653 4016/5077/653 +f 4019/5073/658 4021/5076/658 4020/5078/658 +f 4016/5077/659 4017/5079/659 4015/5075/659 +f 3159/4537/658 3158/5080/658 3160/4538/658 +f 3155/5081/658 3163/4546/658 3157/4536/658 +f 3135/4506/659 3142/5082/659 3133/5083/659 +f 3136/5084/659 3137/4509/659 3138/4505/659 +f 4027/5085/658 4026/5086/658 4023/5087/658 +f 4025/5088/659 4028/5089/659 4024/5090/659 +f 4026/5086/653 4029/5091/653 4025/5092/653 +f 4024/5090/655 4027/5085/655 4023/5087/655 +f 4035/5093/658 4034/5094/658 4031/5095/658 +f 4033/5096/659 4036/5097/659 4032/5098/659 +f 4034/5094/653 4037/5099/653 4033/5096/653 +f 4032/5100/655 4035/5093/655 4031/5095/655 +f 4036/5101/670 4041/5102/670 4035/5103/670 +f 4030/5104/671 4039/5105/671 4029/5106/671 +f 4040/5107/654 4042/5108/654 4039/5109/654 +f 4040/5107/658 4045/5110/658 4041/5111/658 +f 4042/5112/659 4043/5113/659 4039/5114/659 +f 4045/5110/652 4043/5113/652 4046/5115/652 +f 4041/5111/658 4038/5116/658 4035/5117/658 +f 4045/5110/660 4037/5099/660 4038/5118/660 +f 4046/5115/659 4036/5119/659 4037/5120/659 +f 4044/5121/658 4030/5122/658 4027/5123/658 +f 4028/5089/661 4044/5121/661 4027/5085/661 +f 4039/5114/659 4028/5124/659 4029/5125/659 +f 4063/5126/658 4067/5127/658 4071/5128/658 +f 4057/5129/659 4053/5130/659 4049/5131/659 +f 4081/5132/653 4080/5133/653 4079/5134/653 +f 4087/5135/663 4086/5136/663 4083/5137/663 +f 4086/5138/654 4080/5133/654 4082/5139/654 +f 4084/5140/652 4081/5141/652 4079/5134/652 +f 4083/5142/659 4082/5143/659 4081/5141/659 +f 4085/5144/658 4079/5134/658 4080/5133/658 +f 4089/5145/653 4088/5146/653 4087/5147/653 +f 4094/5148/654 4088/5149/654 4090/5150/654 +f 4091/5151/652 4089/5145/652 4087/5147/652 +f 4091/5151/655 4094/5148/655 4093/5152/655 +f 4092/5153/662 4084/5140/662 4085/5144/662 +f 4086/5154/654 4092/5153/654 4085/5144/654 +f 4084/5140/652 4087/5135/652 4083/5137/652 +f 4097/5155/655 4096/5156/655 4095/5157/655 +f 4101/5158/659 4098/5159/659 4097/5160/659 +f 4099/5161/653 4102/5162/653 4101/5158/653 +f 4095/5157/658 4100/5163/658 4099/5161/658 +f 4110/5164/654 4098/5165/654 4102/5166/654 +f 4114/5167/653 4102/5166/653 4106/5168/653 +f 4098/5169/655 4105/5170/655 4096/5171/655 +f 4096/5156/656 4106/5168/656 4100/5163/656 +f 4102/5166/653 4100/5172/653 4106/5168/653 +f 4097/5173/655 4095/5174/655 4103/5175/655 +f 4099/5161/657 4103/5175/657 4095/5157/657 +f 4101/5176/653 4104/5177/653 4099/5178/653 +f 4107/5179/653 4104/5177/653 4101/5176/653 +f 4111/5180/654 4103/5175/654 4104/5177/654 +f 4109/5181/655 4105/5170/655 4098/5169/655 +f 4113/5182/652 4106/5168/652 4105/5170/652 +f 4108/5183/652 4101/5176/652 4097/5184/652 +f 4112/5185/655 4097/5173/655 4103/5175/655 +f 4117/5186/658 4122/5187/658 4121/5188/658 +f 4116/5189/655 4117/5186/655 4115/5190/655 +f 4115/5190/659 4120/5191/659 4116/5192/659 +f 4117/5186/654 4119/5193/654 4115/5190/654 +f 4125/5194/658 4130/5195/658 4129/5196/658 +f 4124/5197/655 4125/5194/655 4123/5198/655 +f 4123/5198/659 4128/5199/659 4124/5200/659 +f 4125/5194/654 4127/5201/654 4123/5198/654 +f 4133/5202/659 4138/5203/659 4137/5204/659 +f 4132/5205/655 4133/5202/655 4131/5206/655 +f 4131/5206/658 4136/5207/658 4132/5208/658 +f 4133/5202/652 4135/5209/652 4131/5206/652 +f 4141/5210/659 4146/5211/659 4145/5212/659 +f 4140/5213/655 4141/5210/655 4139/5214/655 +f 4139/5214/658 4144/5215/658 4140/5216/658 +f 4141/5210/652 4143/5217/652 4139/5214/652 +f 4149/5218/658 4154/5219/658 4153/5220/658 +f 4148/5221/653 4149/5218/653 4147/5222/653 +f 4147/5222/659 4152/5223/659 4148/5224/659 +f 4149/5218/652 4151/5225/652 4147/5222/652 +f 4157/5226/658 4162/5227/658 4161/5228/658 +f 4156/5229/653 4157/5226/653 4155/5230/653 +f 4155/5230/659 4160/5231/659 4156/5232/659 +f 4157/5226/652 4159/5233/652 4155/5230/652 +f 4165/5234/659 4170/5235/659 4169/5236/659 +f 4164/5237/654 4165/5234/654 4163/5238/654 +f 4163/5238/658 4168/5239/658 4164/5240/658 +f 4165/5234/655 4167/5241/655 4163/5238/655 +f 4173/5242/659 4178/5243/659 4177/5244/659 +f 4172/5245/654 4173/5242/654 4171/5246/654 +f 4171/5246/658 4176/5247/658 4172/5248/658 +f 4173/5242/655 4175/5249/655 4171/5246/655 +f 4182/5250/658 4185/5251/658 4181/5252/658 +f 4180/5253/652 4181/5252/652 4179/5254/652 +f 4179/5254/659 4184/5255/659 4180/5256/659 +f 4181/5252/655 4183/5257/655 4179/5254/655 +f 4190/5258/658 4193/5259/658 4189/5260/658 +f 4188/5261/652 4189/5260/652 4187/5262/652 +f 4187/5262/659 4192/5263/659 4188/5264/659 +f 4189/5260/655 4191/5265/655 4187/5262/655 +f 4197/5266/659 4202/5267/659 4201/5268/659 +f 4196/5269/652 4197/5266/652 4195/5270/652 +f 4195/5270/658 4200/5271/658 4196/5272/658 +f 4197/5266/653 4199/5273/653 4195/5270/653 +f 4205/5274/659 4210/5275/659 4209/5276/659 +f 4204/5277/652 4205/5274/652 4203/5278/652 +f 4203/5278/658 4208/5279/658 4204/5280/658 +f 4205/5274/653 4207/5281/653 4203/5278/653 +f 4214/5282/658 4217/5283/658 4213/5284/658 +f 4212/5285/654 4213/5284/654 4211/5286/654 +f 4211/5286/659 4216/5287/659 4212/5288/659 +f 4213/5284/653 4215/5289/653 4211/5286/653 +f 4222/5290/658 4225/5291/658 4221/5292/658 +f 4220/5293/654 4221/5292/654 4219/5294/654 +f 4219/5294/659 4224/5295/659 4220/5296/659 +f 4221/5292/653 4223/5297/653 4219/5294/653 +f 4233/5298/658 4234/5299/658 4227/5300/658 +f 4249/5301/658 4250/5302/658 4243/5303/658 +f 4265/5304/658 4266/5305/658 4259/5306/658 +f 3615/4859/659 3622/5307/659 3621/4858/659 +f 2949/4260/652 2946/4277/652 2945/4261/652 +f 2950/4262/653 2945/4261/653 2947/4263/653 +f 2956/4265/654 2947/5308/654 2948/4266/654 +f 2951/4270/656 2949/4260/656 2950/4262/656 +f 2957/4274/657 2952/4278/657 2953/4275/657 +f 2955/4267/655 2948/4266/655 2946/4277/655 +f 2956/4272/653 2958/5309/653 2953/4275/653 +f 2955/4268/655 2951/4270/655 2952/4278/655 +f 2952/4278/658 2951/4270/658 2954/4271/658 +f 2956/4280/659 2955/4268/659 2957/4279/659 +f 2961/4285/660 2964/5310/660 2962/4286/660 +f 2960/4282/655 2963/4289/655 2964/4288/655 +f 2959/4287/654 2962/4286/654 2963/4289/654 +f 2965/4290/654 2967/5311/654 2968/4291/654 +f 2965/4293/653 2969/4298/653 2970/4294/653 +f 2968/4291/661 2970/5312/661 2969/4296/661 +f 2964/4288/658 2970/4294/658 2968/4299/658 +f 2978/4301/662 2986/5313/662 2984/4302/662 +f 2985/4304/658 2986/4408/658 2978/4305/658 +f 2981/4307/663 2979/4319/663 2971/4308/663 +f 2974/4310/659 2982/4323/659 2981/4311/659 +f 2983/4313/664 2985/5314/664 2977/4314/664 +f 2984/4302/655 2980/4317/655 2972/4316/655 +f 2980/4317/665 2982/5315/665 2974/4318/665 +f 2979/4319/653 2983/4313/653 2975/4315/653 +f 2974/4320/654 2973/5316/654 2962/4286/654 +f 2962/4286/654 2973/5316/654 2971/4321/654 +f 2968/4291/654 2967/5311/654 2972/4322/654 +f 2964/4288/652 2981/4311/652 2982/4323/652 +f 2999/4326/659 2998/4368/659 3013/4327/659 +f 2991/4331/658 2993/4335/658 2992/4332/658 +f 2990/4330/655 3011/4367/655 3013/4333/655 +f 3009/4337/653 3010/5317/653 3005/4338/653 +f 3003/4343/659 3002/4346/659 3001/4341/659 +f 3011/4344/652 3007/5318/652 3008/4328/652 +f 2993/4335/660 3002/4346/660 3004/4347/660 +f 3043/4349/658 3044/4420/658 3036/4350/658 +f 2989/4329/653 2997/5319/653 2998/4352/653 +f 2991/4331/652 3001/4341/652 3002/4346/652 +f 2990/4354/661 3000/5320/661 3001/4341/661 +f 2995/4355/655 3006/5321/655 3003/4356/655 +f 3036/4357/662 3044/5322/662 3042/4358/662 +f 2992/4360/654 3003/4343/654 2997/4340/654 +f 2988/4362/655 2999/5323/655 3008/4363/655 +f 3004/4365/653 3014/5324/653 3012/4366/653 +f 2988/4362/658 3007/4364/658 3011/4367/658 +f 3011/4367/658 2990/4330/658 2989/4329/658 +f 2997/4340/659 3000/4342/659 3013/4327/659 +f 3014/4369/659 3004/4345/659 3003/4343/659 +f 2992/4332/658 2996/4336/658 3012/4366/658 +f 3014/4369/659 3006/4370/659 3005/4371/659 +f 2994/4339/658 2995/4355/658 3012/4366/658 +f 3010/4372/652 3009/5325/652 3012/4373/652 +f 2963/4289/655 3015/4425/655 3016/4374/655 +f 3022/4390/659 3017/4377/659 3018/4379/659 +f 3018/4379/659 3019/4382/659 3021/4381/659 +f 3021/4381/659 3023/4387/659 3025/4385/659 +f 3025/4385/659 3024/4391/659 3022/4390/659 +f 3022/4390/659 3018/4379/659 3025/4385/659 +f 3026/4386/653 3020/5326/653 2967/4295/653 +f 3016/4375/655 3017/4377/655 3022/4390/655 +f 3026/4384/653 3028/5327/653 3023/4387/653 +f 3025/4385/652 3028/5328/652 3027/4393/652 +f 3039/4394/663 3037/4406/663 3029/4395/663 +f 3032/4397/659 3040/4407/659 3039/4398/659 +f 3041/4400/664 3043/5329/664 3035/4401/664 +f 3042/4358/655 3038/4404/655 3030/4403/655 +f 3038/4404/665 3040/5330/665 3032/4405/665 +f 3037/4406/653 3041/4400/653 3033/4402/653 +f 2985/4304/652 3039/4398/652 3040/4407/652 +f 3032/4409/654 3031/5331/654 2977/4410/654 +f 3037/4412/652 3039/4398/652 2985/4304/652 +f 2977/4410/654 3031/5331/654 3029/4414/654 +f 2976/4416/654 3030/4428/654 3032/4409/654 +f 3040/4407/652 3038/4429/652 2984/4417/652 +f 3028/4418/658 3026/4386/658 3016/4374/658 +f 3043/4349/652 3016/4374/652 3026/4386/652 +f 3018/4379/654 3035/4426/654 3036/4423/654 +f 3036/4423/654 3034/4427/654 3020/4424/654 +f 3015/4425/654 3033/5332/654 3035/4426/654 +f 2971/4321/654 2975/4415/654 2963/4289/654 +f 2975/4415/654 3029/4414/654 3015/4425/654 +f 3029/4414/654 3033/5332/654 3015/4425/654 +f 2983/4413/652 2979/4325/652 2964/4288/652 +f 2964/4288/652 3016/4374/652 3037/4412/652 +f 3016/4374/652 3041/4422/652 3037/4412/652 +f 3030/4428/654 2976/4416/654 3020/4424/654 +f 2976/4416/654 2972/4322/654 2967/5311/654 +f 3020/4424/654 2976/4416/654 2967/5311/654 +f 2970/4294/652 2980/4324/652 2984/4417/652 +f 3038/4429/652 3042/4421/652 3026/4386/652 +f 2970/4294/652 2984/4417/652 3038/4429/652 +f 3049/4430/658 3052/5333/658 3048/4431/658 +f 3047/4433/659 3051/5334/659 3050/4434/659 +f 3048/4431/653 3052/5333/653 3051/4436/653 +f 3046/4435/655 3050/4434/655 3049/4430/655 +f 3057/4438/658 3060/4463/658 3056/4439/658 +f 3055/4441/659 3059/4444/659 3058/4442/659 +f 3056/4439/653 3060/4463/653 3059/4444/653 +f 3054/4445/655 3058/5335/655 3057/4438/655 +f 3058/4446/670 3064/5336/670 3063/4447/670 +f 3052/4449/671 3062/5337/671 3061/4450/671 +f 3062/4452/654 3063/4456/654 3064/4453/654 +f 3062/4452/658 3066/4466/658 3067/4455/658 +f 3064/4457/659 3068/4460/659 3065/4458/659 +f 3067/4455/652 3066/4466/652 3065/4458/652 +f 3063/4456/658 3067/4455/658 3060/4461/658 +f 3067/4455/660 3068/4460/660 3059/4444/660 +f 3068/4460/659 3064/4457/659 3058/4464/659 +f 3066/4466/658 3062/4452/658 3052/4467/658 +f 3050/4434/661 3065/4458/661 3066/4466/661 +f 3061/4459/659 3065/4458/659 3050/4469/659 +f 3069/4473/658 3070/5338/658 3071/5339/658 +f 3071/5339/658 3072/5340/658 3069/4473/658 +f 3072/5340/658 3073/5341/658 3069/4473/658 +f 3073/5341/658 3074/5342/658 3069/4473/658 +f 3074/5342/658 3075/4471/658 3069/4473/658 +f 3101/4474/658 3102/5343/658 3103/5344/658 +f 3103/5344/658 3104/5345/658 3101/4474/658 +f 3104/5345/658 3105/4475/658 3101/4474/658 +f 3105/4475/658 3106/5346/658 3107/5347/658 +f 3107/5347/658 3108/5348/658 3105/4475/658 +f 3108/5348/658 3109/4476/658 3105/4475/658 +f 3109/4476/658 3110/5349/658 3111/5350/658 +f 3111/5350/658 3112/5351/658 3113/5352/658 +f 3113/5352/658 3114/5353/658 3101/4474/658 +f 3114/5353/658 3115/5354/658 3101/4474/658 +f 3115/5354/658 3116/5355/658 3101/4474/658 +f 3109/4476/658 3111/5350/658 3101/4474/658 +f 3111/5350/658 3113/5352/658 3101/4474/658 +f 3087/4479/659 3086/5356/659 3085/5357/659 +f 3085/5357/659 3100/5358/659 3099/5359/659 +f 3099/5359/659 3098/5360/659 3095/4477/659 +f 3098/5360/659 3097/5361/659 3095/4477/659 +f 3097/5361/659 3096/5362/659 3095/4477/659 +f 3095/4477/659 3094/5363/659 3093/5364/659 +f 3093/5364/659 3092/5365/659 3095/4477/659 +f 3092/5365/659 3091/4478/659 3095/4477/659 +f 3091/4478/659 3090/5366/659 3089/5367/659 +f 3089/5367/659 3088/5368/659 3091/4478/659 +f 3088/5368/659 3087/4479/659 3091/4478/659 +f 3087/4479/659 3085/5357/659 3095/4477/659 +f 3085/5357/659 3099/5359/659 3095/4477/659 +f 3119/4483/670 3122/4486/670 3120/4484/670 +f 3118/4480/653 3121/4487/653 3122/4486/653 +f 3117/4482/652 3120/4501/652 3121/4487/652 +f 3123/4488/652 3125/4492/652 3126/4489/652 +f 3123/4488/655 3127/4494/655 3128/4491/655 +f 3126/4493/671 3128/4491/671 3127/4494/671 +f 3126/4489/658 3129/4503/658 3130/4497/658 +f 3122/4499/658 3132/5369/658 3131/4500/658 +f 3126/4489/660 3137/4509/660 3139/4502/660 +f 3120/4501/652 3135/4506/652 3134/4504/652 +f 3128/4491/655 3136/4511/655 3138/4505/655 +f 3131/4500/661 3141/5370/661 3135/4506/661 +f 3122/4486/671 3133/4512/671 3142/4507/671 +f 3125/4492/652 3138/4505/652 3137/4509/652 +f 3130/4510/670 3140/5371/670 3136/4511/670 +f 3121/4487/653 3134/4504/653 3133/4512/653 +f 3139/4502/659 3137/4509/659 3136/4513/659 +f 3145/4516/670 3148/4520/670 3146/4517/670 +f 3144/4519/653 3147/4522/653 3148/4520/653 +f 3143/4521/652 3146/5372/652 3147/4522/652 +f 3149/4523/652 3151/4527/652 3152/4524/652 +f 3149/4523/655 3153/4529/655 3154/4526/655 +f 3152/4528/671 3154/4526/671 3153/4529/671 +f 3158/4531/658 3159/4537/658 3161/4532/658 +f 3159/4537/652 3160/4538/652 3149/4523/652 +f 3160/4538/655 3158/4543/655 3153/4529/655 +f 3156/4534/652 3157/4536/652 3143/4521/652 +f 3155/4539/653 3156/4534/653 3144/4519/653 +f 3159/4537/660 3150/4525/660 3165/4540/660 +f 3153/4541/659 3166/5373/659 3165/4540/659 +f 3166/4542/670 3153/4529/670 3158/4543/670 +f 3167/4545/661 3143/4521/661 3157/4536/661 +f 3167/4545/659 3168/5374/659 3145/4547/659 +f 3155/4539/671 3145/4516/671 3168/4548/671 +f 3367/4550/659 3368/4556/659 3366/4551/659 +f 3371/4553/658 3372/4564/658 3369/4554/658 +f 3368/4556/655 3372/4564/655 3371/4553/655 +f 3367/4557/653 3365/5375/653 3370/4555/653 +f 3368/4558/655 3375/4568/655 3377/4559/655 +f 3366/4561/657 3371/4553/657 3370/4555/657 +f 3372/4564/656 3374/4560/656 3373/4565/656 +f 3367/4567/654 3376/5376/654 3375/4568/654 +f 3373/4565/653 3378/4571/653 3376/4569/653 +f 3374/4560/652 3377/4559/652 3378/4571/652 +f 3382/4572/652 3386/4578/652 3385/4573/652 +f 3379/4575/654 3383/5377/654 3384/4576/654 +f 3380/4577/655 3384/4576/655 3386/4578/655 +f 3381/4574/653 3385/4573/653 3383/4579/653 +f 3390/4581/652 3394/4587/652 3393/4582/652 +f 3387/4584/654 3391/5378/654 3392/4585/654 +f 3388/4586/655 3392/4585/655 3394/4587/655 +f 3389/4583/653 3393/4582/653 3391/4588/653 +f 3401/4590/652 3402/4596/652 3398/4591/652 +f 3400/4593/654 3399/5379/654 3395/4594/654 +f 3402/4596/655 3400/4593/655 3396/4595/655 +f 3399/4597/653 3401/4590/653 3397/4592/653 +f 3409/4599/652 3410/4605/652 3406/4600/652 +f 3408/4602/654 3407/5380/654 3403/4603/654 +f 3410/4605/655 3408/4602/655 3404/4604/655 +f 3407/4606/653 3409/4599/653 3405/4601/653 +f 3417/4608/652 3418/4614/652 3414/4609/652 +f 3416/4611/654 3415/5381/654 3411/4612/654 +f 3418/4614/655 3416/4611/655 3412/4613/655 +f 3415/4615/653 3417/4608/653 3413/4610/653 +f 3425/4617/652 3426/4623/652 3422/4618/652 +f 3424/4620/654 3423/5382/654 3419/4621/654 +f 3426/4623/655 3424/4620/655 3420/4622/655 +f 3423/4624/653 3425/4617/653 3421/4619/653 +f 3433/4626/652 3434/4632/652 3430/4627/652 +f 3432/4629/654 3431/5383/654 3427/4630/654 +f 3434/4632/655 3432/4629/655 3428/4631/655 +f 3431/4633/653 3433/4626/653 3429/4628/653 +f 3441/4635/652 3442/4641/652 3438/4636/652 +f 3440/4638/654 3439/5384/654 3435/4639/654 +f 3442/4641/655 3440/4638/655 3436/4640/655 +f 3439/4642/653 3441/4635/653 3437/4637/653 +f 3449/4644/652 3450/4650/652 3446/4645/652 +f 3448/4647/654 3447/5385/654 3443/4648/654 +f 3450/4650/655 3448/4647/655 3444/4649/655 +f 3447/4651/653 3449/4644/653 3445/4646/653 +f 3457/4653/652 3458/4659/652 3454/4654/652 +f 3456/4656/654 3455/5386/654 3451/4657/654 +f 3458/4659/655 3456/4656/655 3452/4658/655 +f 3455/4660/653 3457/4653/653 3453/4655/653 +f 3465/4662/652 3466/4668/652 3462/4663/652 +f 3464/4665/654 3463/5387/654 3459/4666/654 +f 3466/4668/655 3464/4665/655 3460/4667/655 +f 3463/4669/653 3465/4662/653 3461/4664/653 +f 3473/4671/652 3474/4677/652 3470/4672/652 +f 3472/4674/654 3471/5388/654 3467/4675/654 +f 3474/4677/655 3472/4674/655 3468/4676/655 +f 3471/4678/653 3473/4671/653 3469/4673/653 +f 3476/4680/655 3478/5389/655 3477/4681/655 +f 3482/4683/665 3484/5390/665 3483/4684/665 +f 3476/4680/654 3481/4692/654 3482/4686/654 +f 3477/4688/652 3479/4691/652 3480/4689/652 +f 3478/4690/659 3482/5391/659 3479/4691/659 +f 3475/4682/658 3480/4689/658 3481/4692/658 +f 3484/4693/655 3486/5392/655 3485/4694/655 +f 3484/4696/654 3488/4701/654 3490/4697/654 +f 3485/4694/652 3489/4700/652 3487/4699/652 +f 3490/4697/653 3488/4701/653 3487/4699/653 +f 3480/4689/664 3487/4699/664 3488/4701/664 +f 3488/4701/654 3484/5393/654 3482/4702/654 +f 3483/4684/652 3487/4699/652 3480/4689/652 +f 3492/4703/653 3494/5394/653 3493/4704/653 +f 3494/4706/659 3498/4709/659 3497/4707/659 +f 3498/4709/655 3496/4711/655 3495/4710/655 +f 3496/4711/658 3492/4703/658 3491/4705/658 +f 3494/4712/654 3505/5395/654 3506/4713/654 +f 3498/4714/655 3506/4713/655 3510/4715/655 +f 3502/4716/656 3501/4719/656 3492/4703/656 +f 3499/4722/657 3500/4726/657 3495/4710/657 +f 3500/4726/655 3507/4728/655 3503/4727/655 +f 3499/4722/654 3508/4733/654 3507/4728/654 +f 3501/4719/653 3509/4730/653 3505/4729/653 +f 3502/4716/652 3510/4715/652 3509/4730/652 +f 3497/4724/652 3503/4727/652 3504/4731/652 +f 3493/4721/653 3504/5396/653 3508/4733/653 +f 3513/4734/659 3514/5397/659 3518/4735/659 +f 3512/4737/653 3514/5398/653 3513/4734/653 +f 3511/4738/658 3515/4741/658 3516/4739/658 +f 3513/4734/654 3517/4736/654 3515/4741/654 +f 3521/4742/659 3522/5399/659 3526/4743/659 +f 3520/4745/653 3522/5400/653 3521/4742/653 +f 3519/4746/658 3523/4749/658 3524/4747/658 +f 3521/4742/654 3525/4744/654 3523/4749/654 +f 3530/4750/672 3529/4754/672 3528/4751/672 +f 3531/4753/653 3528/4751/653 3529/4754/653 +f 3536/4756/655 3539/4766/655 3542/4757/655 +f 3538/4759/657 3535/5401/657 3536/4756/657 +f 3538/4760/653 3541/4767/653 3540/4761/653 +f 3531/4763/657 3534/5402/657 3533/4764/657 +f 3533/4764/655 3530/4750/655 3527/4752/655 +f 3539/4766/672 3540/4761/672 3541/4767/672 +f 3549/4768/652 3550/4772/652 3547/4769/652 +f 3545/4771/659 3547/4769/659 3550/4772/659 +f 3544/4774/658 3549/4768/658 3548/4770/658 +f 3546/4776/655 3550/4772/655 3549/4768/655 +f 3543/4778/653 3548/4770/653 3547/4769/653 +f 3553/4780/653 3557/5403/653 3555/4781/653 +f 3558/4783/658 3557/5403/658 3553/4780/658 +f 3552/4785/655 3556/4787/655 3558/4783/655 +f 3551/4786/659 3555/5404/659 3556/4787/659 +f 3561/4788/653 3565/5405/653 3563/4789/653 +f 3566/4791/658 3565/5406/658 3561/4792/658 +f 3560/4794/655 3564/4795/655 3566/4791/655 +f 3559/4790/659 3563/4789/659 3564/4795/659 +f 3569/4796/653 3573/5407/653 3571/4797/653 +f 3574/4799/658 3573/5407/658 3569/4796/658 +f 3568/4801/655 3572/5408/655 3574/4799/655 +f 3567/4798/659 3571/4797/659 3572/4802/659 +f 3577/4804/653 3581/5409/653 3579/4805/653 +f 3582/4807/658 3581/5409/658 3577/4804/658 +f 3576/4809/655 3580/4812/655 3582/4810/655 +f 3575/4806/659 3579/4805/659 3580/4812/659 +f 3586/4813/652 3585/4820/652 3583/4814/652 +f 3587/4816/654 3589/5410/654 3590/4817/654 +f 3586/4813/653 3590/5411/653 3589/4819/653 +f 3583/4814/655 3587/4816/655 3588/4818/655 +f 3584/4815/659 3588/5412/659 3590/4821/659 +f 3585/4820/658 3589/5413/658 3587/4822/658 +f 3596/4823/672 3602/4834/672 3601/4824/672 +f 3595/4826/652 3597/5414/652 3598/4827/652 +f 3593/4829/655 3597/5414/655 3595/4826/655 +f 3594/4831/653 3592/4833/653 3596/4828/653 +f 3595/4825/655 3601/4824/655 3599/4832/655 +f 3592/4833/653 3600/5415/653 3602/4834/653 +f 3604/4835/653 3606/4838/653 3605/4836/653 +f 3606/4838/659 3610/4841/659 3609/4839/659 +f 3610/4841/655 3608/4844/655 3607/4842/655 +f 3606/4838/652 3604/4835/652 3608/4844/652 +f 3618/4845/653 3616/4857/653 3612/4846/653 +f 3611/4848/655 3615/4859/655 3617/4849/655 +f 3613/4850/652 3617/4849/652 3618/4845/652 +f 3617/4851/658 3619/4854/658 3620/4852/658 +f 3619/4854/652 3621/5416/652 3622/4855/652 +f 3618/4853/653 3620/4852/653 3622/4856/653 +f 3621/4858/655 3619/4854/655 3617/4851/655 +f 3629/4860/672 3630/4865/672 3626/4861/672 +f 3627/4863/653 3629/4860/653 3625/4862/653 +f 3630/4865/655 3628/5417/655 3624/4866/655 +f 3633/4867/655 3634/4871/655 3632/4868/655 +f 3637/4870/659 3638/4874/659 3634/4871/659 +f 3635/4873/653 3636/4876/653 3638/4874/653 +f 3636/4876/652 3632/4868/652 3634/4871/652 +f 3645/4877/652 3646/4896/652 3643/4878/652 +f 3641/4880/659 3647/4884/659 3650/4881/659 +f 3639/4883/653 3648/4889/653 3647/4884/653 +f 3642/4886/655 3650/4881/655 3649/4887/655 +f 3649/4887/652 3650/4881/652 3647/4884/652 +f 3640/4890/658 3649/4887/658 3648/4889/658 +f 3651/4892/654 3654/5418/654 3653/4893/654 +f 3645/4877/655 3653/5419/655 3654/4895/655 +f 3643/4878/653 3651/5420/653 3652/4897/653 +f 3646/4896/659 3654/5421/659 3651/4898/659 +f 3644/4879/658 3652/4894/658 3653/4893/658 +f 3624/4866/655 3872/5422/655 3874/4899/655 +f 3625/4901/653 3873/4903/653 3871/4902/653 +f 3626/4900/652 3874/4899/652 3873/4903/652 +f 3874/4904/655 3872/5422/655 3876/4905/655 +f 3873/4907/653 3877/4909/653 3875/4908/653 +f 3874/4904/658 3878/4906/658 3877/4909/658 +f 3876/4910/655 3880/5423/655 3882/4911/655 +f 3875/4912/653 3877/4909/653 3881/4913/653 +f 3878/4906/652 3882/4911/652 3881/4913/652 +f 3880/4915/659 3879/5424/659 3881/4913/659 +f 3896/4916/653 3898/4939/653 3897/4917/653 +f 3888/4919/653 3890/4930/653 3889/4920/653 +f 3886/4922/658 3890/4930/658 3888/4923/658 +f 3987/4925/653 3991/5049/653 3989/4926/653 +f 3883/4928/659 3887/5425/659 3889/4920/659 +f 3885/4929/652 3889/4920/652 3890/4930/652 +f 3894/4931/658 3898/4939/658 3896/4932/658 +f 3982/4934/655 3990/5426/655 3992/4935/655 +f 3891/4937/659 3895/5427/659 3897/4917/659 +f 3893/4938/652 3897/4917/652 3898/4939/652 +f 3912/4940/653 3914/4963/653 3913/4941/653 +f 3904/4943/653 3906/4954/653 3905/4944/653 +f 3902/4946/658 3906/4954/658 3904/4947/658 +f 4001/4949/653 4005/5069/653 4003/4950/653 +f 3899/4952/659 3903/5428/659 3905/4944/659 +f 3901/4953/652 3905/4944/652 3906/4954/652 +f 3910/4955/658 3914/4963/658 3912/4956/658 +f 3907/4961/659 3911/5429/659 3913/4941/659 +f 3909/4962/652 3913/4941/652 3914/4963/652 +f 3928/4964/653 3930/4984/653 3929/4965/653 +f 3920/4967/653 3922/4976/653 3921/4968/653 +f 3918/4970/658 3922/4976/658 3920/4971/658 +f 3988/4936/656 3987/4925/656 3985/4959/656 +f 3915/4974/659 3919/5430/659 3921/4968/659 +f 3917/4975/652 3921/4968/652 3922/4976/652 +f 3926/4977/658 3930/4984/658 3928/4978/658 +f 3923/4982/659 3927/5431/659 3929/4965/659 +f 3925/4983/652 3929/4965/652 3930/4984/652 +f 3934/4985/658 3938/4994/658 3936/4986/658 +f 4007/4988/653 4012/5070/653 4013/4989/653 +f 3931/4991/659 3935/5432/659 3937/4992/659 +f 3933/4993/652 3937/4992/652 3938/4994/652 +f 3942/4995/658 3946/5003/658 3944/4996/658 +f 3982/4980/655 3986/4973/655 3983/4998/655 +f 3939/5000/659 3943/5433/659 3945/5001/659 +f 3941/5002/652 3945/5001/652 3946/5003/652 +f 3950/5004/658 3954/5012/658 3952/5005/658 +f 3980/4927/654 3989/4926/654 3990/5007/654 +f 3947/5009/659 3951/5434/659 3953/5010/659 +f 3949/5011/652 3953/5010/652 3954/5012/652 +f 3958/5013/658 3962/5020/658 3960/5014/658 +f 3979/5016/653 3984/5024/653 3985/4959/653 +f 3955/5017/659 3959/5435/659 3961/5018/659 +f 3957/5019/652 3961/5018/652 3962/5020/652 +f 3966/5021/658 3970/5028/658 3968/5022/658 +f 3983/4998/658 3986/4973/658 3985/4959/658 +f 3963/5025/659 3967/5436/659 3969/5026/659 +f 3965/5027/652 3969/5026/652 3970/5028/652 +f 3974/5029/658 3978/5036/658 3976/5030/658 +f 3980/4958/659 3982/5437/659 3981/5032/659 +f 3971/5033/659 3975/5438/659 3977/5034/659 +f 3973/5035/652 3977/5034/652 3978/5036/652 +f 3971/5037/655 3973/5035/655 3974/5029/655 +f 3963/5039/655 3965/5027/655 3966/5021/655 +f 3955/5041/655 3957/5019/655 3958/5013/655 +f 3947/5043/655 3949/5011/655 3950/5004/655 +f 3939/5045/655 3941/5002/655 3942/4995/655 +f 3931/5047/655 3933/4993/655 3934/4985/655 +f 3988/4936/652 3992/4935/652 3991/5049/652 +f 3996/5050/655 4004/5439/655 4006/5051/655 +f 4002/5052/656 4001/4949/656 3999/5054/656 +f 4010/5059/655 4014/5440/655 4011/5060/655 +f 3996/5057/655 4000/5056/655 3997/5062/655 +f 3994/4951/654 4003/4950/654 4004/5064/654 +f 3993/5066/653 3998/5067/653 3999/5054/653 +f 3997/5062/658 4000/5056/658 3999/5054/658 +f 3994/5053/659 3996/5441/659 3995/5068/659 +f 4002/5052/652 4006/5051/652 4005/5069/652 +f 4011/5060/658 4014/5440/658 4013/4989/658 +f 4008/4990/659 4010/5442/659 4009/5071/659 +f 4018/5072/655 4022/5443/655 4019/5073/655 +f 4015/5075/653 4020/5078/653 4021/5076/653 +f 4019/5073/658 4022/5443/658 4021/5076/658 +f 4016/5077/659 4018/5444/659 4017/5079/659 +f 3155/5081/658 3164/5445/658 3163/4546/658 +f 3135/4506/659 3141/5370/659 3142/5082/659 +f 4027/5085/658 4030/5446/658 4026/5086/658 +f 4025/5088/659 4029/5447/659 4028/5089/659 +f 4026/5086/653 4030/5446/653 4029/5091/653 +f 4024/5090/655 4028/5089/655 4027/5085/655 +f 4035/5093/658 4038/5118/658 4034/5094/658 +f 4033/5096/659 4037/5099/659 4036/5097/659 +f 4034/5094/653 4038/5118/653 4037/5099/653 +f 4032/5100/655 4036/5448/655 4035/5093/655 +f 4036/5101/670 4042/5449/670 4041/5102/670 +f 4030/5104/671 4040/5450/671 4039/5105/671 +f 4040/5107/654 4041/5111/654 4042/5108/654 +f 4040/5107/658 4044/5121/658 4045/5110/658 +f 4042/5112/659 4046/5115/659 4043/5113/659 +f 4045/5110/652 4044/5121/652 4043/5113/652 +f 4041/5111/658 4045/5110/658 4038/5116/658 +f 4045/5110/660 4046/5115/660 4037/5099/660 +f 4046/5115/659 4042/5112/659 4036/5119/659 +f 4044/5121/658 4040/5107/658 4030/5122/658 +f 4028/5089/661 4043/5113/661 4044/5121/661 +f 4039/5114/659 4043/5113/659 4028/5124/659 +f 4063/5126/658 4064/5451/658 4065/5452/658 +f 4065/5452/658 4066/5453/658 4063/5126/658 +f 4066/5453/658 4067/5127/658 4063/5126/658 +f 4067/5127/658 4068/5454/658 4069/5455/658 +f 4069/5455/658 4070/5456/658 4067/5127/658 +f 4070/5456/658 4071/5128/658 4067/5127/658 +f 4071/5128/658 4072/5457/658 4073/5458/658 +f 4073/5458/658 4074/5459/658 4075/5460/658 +f 4075/5460/658 4076/5461/658 4063/5126/658 +f 4076/5461/658 4077/5462/658 4063/5126/658 +f 4077/5462/658 4078/5463/658 4063/5126/658 +f 4071/5128/658 4073/5458/658 4063/5126/658 +f 4073/5458/658 4075/5460/658 4063/5126/658 +f 4049/5131/659 4048/5464/659 4047/5465/659 +f 4047/5465/659 4062/5466/659 4061/5467/659 +f 4061/5467/659 4060/5468/659 4057/5129/659 +f 4060/5468/659 4059/5469/659 4057/5129/659 +f 4059/5469/659 4058/5470/659 4057/5129/659 +f 4057/5129/659 4056/5471/659 4055/5472/659 +f 4055/5472/659 4054/5473/659 4057/5129/659 +f 4054/5473/659 4053/5130/659 4057/5129/659 +f 4053/5130/659 4052/5474/659 4051/5475/659 +f 4051/5475/659 4050/5476/659 4053/5130/659 +f 4050/5476/659 4049/5131/659 4053/5130/659 +f 4049/5131/659 4047/5465/659 4057/5129/659 +f 4047/5465/659 4061/5467/659 4057/5129/659 +f 4081/5132/653 4082/5477/653 4080/5133/653 +f 4087/5135/663 4088/5478/663 4086/5136/663 +f 4086/5138/654 4085/5144/654 4080/5133/654 +f 4084/5140/652 4083/5142/652 4081/5141/652 +f 4083/5142/659 4086/5479/659 4082/5143/659 +f 4085/5144/658 4084/5140/658 4079/5134/658 +f 4089/5145/653 4090/5480/653 4088/5146/653 +f 4094/5148/654 4092/5153/654 4088/5149/654 +f 4091/5151/652 4093/5152/652 4089/5145/652 +f 4091/5151/655 4092/5153/655 4094/5148/655 +f 4092/5153/662 4091/5151/662 4084/5140/662 +f 4086/5154/654 4088/5481/654 4092/5153/654 +f 4084/5140/652 4091/5151/652 4087/5135/652 +f 4097/5155/655 4098/5482/655 4096/5156/655 +f 4101/5158/659 4102/5162/659 4098/5159/659 +f 4099/5161/653 4100/5163/653 4102/5162/653 +f 4095/5157/658 4096/5156/658 4100/5163/658 +f 4110/5164/654 4109/5483/654 4098/5165/654 +f 4114/5167/653 4110/5164/653 4102/5166/653 +f 4096/5156/656 4105/5170/656 4106/5168/656 +f 4099/5161/657 4104/5177/657 4103/5175/657 +f 4107/5179/653 4111/5180/653 4104/5177/653 +f 4111/5180/654 4112/5185/654 4103/5175/654 +f 4109/5181/655 4113/5182/655 4105/5170/655 +f 4113/5182/652 4114/5167/652 4106/5168/652 +f 4108/5183/652 4107/5179/652 4101/5176/652 +f 4112/5185/655 4108/5484/655 4097/5173/655 +f 4117/5186/658 4118/5485/658 4122/5187/658 +f 4116/5189/655 4118/5486/655 4117/5186/655 +f 4115/5190/659 4119/5193/659 4120/5191/659 +f 4117/5186/654 4121/5188/654 4119/5193/654 +f 4125/5194/658 4126/5487/658 4130/5195/658 +f 4124/5197/655 4126/5488/655 4125/5194/655 +f 4123/5198/659 4127/5201/659 4128/5199/659 +f 4125/5194/654 4129/5196/654 4127/5201/654 +f 4133/5202/659 4134/5489/659 4138/5203/659 +f 4132/5205/655 4134/5490/655 4133/5202/655 +f 4131/5206/658 4135/5209/658 4136/5207/658 +f 4133/5202/652 4137/5204/652 4135/5209/652 +f 4141/5210/659 4142/5491/659 4146/5211/659 +f 4140/5213/655 4142/5492/655 4141/5210/655 +f 4139/5214/658 4143/5217/658 4144/5215/658 +f 4141/5210/652 4145/5212/652 4143/5217/652 +f 4149/5218/658 4150/5493/658 4154/5219/658 +f 4148/5221/653 4150/5494/653 4149/5218/653 +f 4147/5222/659 4151/5225/659 4152/5223/659 +f 4149/5218/652 4153/5220/652 4151/5225/652 +f 4157/5226/658 4158/5495/658 4162/5227/658 +f 4156/5229/653 4158/5496/653 4157/5226/653 +f 4155/5230/659 4159/5233/659 4160/5231/659 +f 4157/5226/652 4161/5228/652 4159/5233/652 +f 4165/5234/659 4166/5497/659 4170/5235/659 +f 4164/5237/654 4166/5498/654 4165/5234/654 +f 4163/5238/658 4167/5241/658 4168/5239/658 +f 4165/5234/655 4169/5236/655 4167/5241/655 +f 4173/5242/659 4174/5499/659 4178/5243/659 +f 4172/5245/654 4174/5500/654 4173/5242/654 +f 4171/5246/658 4175/5249/658 4176/5247/658 +f 4173/5242/655 4177/5244/655 4175/5249/655 +f 4182/5250/658 4186/5501/658 4185/5251/658 +f 4180/5253/652 4182/5502/652 4181/5252/652 +f 4179/5254/659 4183/5257/659 4184/5255/659 +f 4181/5252/655 4185/5251/655 4183/5257/655 +f 4190/5258/658 4194/5503/658 4193/5259/658 +f 4188/5261/652 4190/5504/652 4189/5260/652 +f 4187/5262/659 4191/5265/659 4192/5263/659 +f 4189/5260/655 4193/5259/655 4191/5265/655 +f 4197/5266/659 4198/5505/659 4202/5267/659 +f 4196/5269/652 4198/5506/652 4197/5266/652 +f 4195/5270/658 4199/5273/658 4200/5271/658 +f 4197/5266/653 4201/5268/653 4199/5273/653 +f 4205/5274/659 4206/5507/659 4210/5275/659 +f 4204/5277/652 4206/5508/652 4205/5274/652 +f 4203/5278/658 4207/5281/658 4208/5279/658 +f 4205/5274/653 4209/5276/653 4207/5281/653 +f 4214/5282/658 4218/5509/658 4217/5283/658 +f 4212/5285/654 4214/5510/654 4213/5284/654 +f 4211/5286/659 4215/5289/659 4216/5287/659 +f 4213/5284/653 4217/5283/653 4215/5289/653 +f 4222/5290/658 4226/5511/658 4225/5291/658 +f 4220/5293/654 4222/5512/654 4221/5292/654 +f 4219/5294/659 4223/5297/659 4224/5295/659 +f 4221/5292/653 4225/5291/653 4223/5297/653 +f 4227/5300/658 4228/5513/658 4229/5514/658 +f 4229/5514/658 4230/5515/658 4227/5300/658 +f 4230/5515/658 4231/5516/658 4227/5300/658 +f 4231/5516/658 4232/5517/658 4227/5300/658 +f 4232/5517/658 4233/5298/658 4227/5300/658 +f 4243/5303/658 4244/5518/658 4245/5519/658 +f 4245/5519/658 4246/5520/658 4243/5303/658 +f 4246/5520/658 4247/5521/658 4243/5303/658 +f 4247/5521/658 4248/5522/658 4243/5303/658 +f 4248/5522/658 4249/5301/658 4243/5303/658 +f 4259/5306/658 4260/5523/658 4261/5524/658 +f 4261/5524/658 4262/5525/658 4259/5306/658 +f 4262/5525/658 4263/5526/658 4259/5306/658 +f 4263/5526/658 4264/5527/658 4259/5306/658 +f 4264/5527/658 4265/5304/658 4259/5306/658 +f 3615/4859/659 3616/5528/659 3622/5307/659 s 1 -f 2668/5055/661 2653/5056/652 2660/5057/661 -f 2666/5058/670 2659/5059/655 2658/5060/670 -f 2664/5061/671 2657/5062/654 2656/5063/671 -f 2661/5064/660 2655/5065/653 2654/5066/660 -f 2667/5067/655 2660/5057/661 2659/5059/655 -f 2665/5068/654 2658/5060/670 2657/5069/654 -f 2663/5070/653 2656/5063/671 2655/5065/653 -f 2662/5071/652 2654/5066/660 2653/5056/652 -f 2683/5072/661 2698/5073/673 2682/5074/673 -f 2676/5075/674 2691/5076/671 2675/5077/671 -f 2684/5078/675 2699/5079/661 2683/5072/661 -f 2677/5080/654 2692/5081/674 2676/5075/674 -f 2670/5082/676 2685/5083/652 2669/5084/652 -f 2669/5084/652 2700/5085/675 2684/5078/675 -f 2678/5086/677 2693/5087/654 2677/5088/654 -f 2671/5089/660 2686/5090/676 2670/5082/676 -f 2679/5091/670 2694/5092/677 2678/5086/677 -f 2672/5093/678 2687/5094/660 2671/5089/660 -f 2680/5095/679 2695/5096/670 2679/5091/670 -f 2673/5097/653 2688/5098/678 2672/5093/678 -f 2681/5099/655 2696/5100/679 2680/5095/679 -f 2674/5101/680 2689/5102/653 2673/5097/653 -f 2682/5074/673 2697/5103/655 2681/5099/655 -f 2675/5077/671 2690/5104/680 2674/5101/680 -f 2765/5105/655 2798/5106/681 2766/5107/661 -f 2778/5108/671 2811/5109/682 2779/5110/654 -f 2753/5111/660 2791/5112/683 2759/5113/653 -f 2779/5110/654 2812/5114/684 2780/5115/670 -f 2768/5116/652 2793/5117/685 2761/5118/660 -f 2791/5112/683 2754/5119/671 2759/5113/653 -f 2780/5115/670 2813/5120/686 2781/5121/655 -f 2798/5106/681 2768/5122/652 2766/5107/661 -f 2754/5119/671 2787/5123/682 2755/5124/654 -f 2781/5121/655 2814/5125/681 2782/5126/661 -f 2769/5127/660 2807/5128/683 2775/5129/653 -f 2755/5124/654 2788/5130/684 2756/5131/670 -f 2784/5132/652 2809/5133/685 2777/5134/660 -f 2807/5128/683 2770/5135/671 2775/5129/653 -f 2756/5131/670 2789/5136/686 2757/5137/655 -f 2814/5125/681 2784/5138/652 2782/5126/661 -f 2770/5135/671 2803/5139/682 2771/5140/654 -f 2757/5137/655 2790/5141/681 2758/5142/661 -f 2771/5140/654 2804/5143/684 2772/5144/670 -f 2760/5145/652 2785/5146/685 2753/5111/660 -f 2772/5144/670 2805/5147/686 2773/5148/655 -f 2790/5141/681 2760/5149/652 2758/5142/661 -f 2773/5148/655 2806/5150/681 2774/5151/661 -f 2761/5118/660 2799/5152/683 2767/5153/653 -f 2776/5154/652 2801/5155/685 2769/5127/660 -f 2799/5152/683 2762/5156/671 2767/5153/653 -f 2806/5150/681 2776/5157/652 2774/5151/661 -f 2762/5156/671 2795/5158/682 2763/5159/654 -f 2777/5134/660 2815/5160/683 2783/5161/653 -f 2763/5159/654 2796/5162/684 2764/5163/670 -f 2815/5160/683 2778/5108/671 2783/5161/653 -f 2764/5163/670 2797/5164/686 2765/5105/655 -f 2796/5165/684 2828/5166/687 2797/5167/686 -f 2786/5168/688 2819/5169/689 2787/5123/682 -f 2799/5170/683 2825/5171/690 2794/5172/688 -f 2798/5173/681 2828/5166/687 2829/5174/691 -f 2788/5175/684 2819/5169/689 2820/5176/692 -f 2795/5158/682 2825/5171/690 2826/5177/689 -f 2785/5178/685 2823/5179/693 2791/5180/683 -f 2788/5175/684 2821/5181/687 2789/5182/686 -f 2796/5165/684 2826/5177/689 2827/5183/692 -f 2791/5180/683 2818/5184/690 2786/5168/688 -f 2793/5185/685 2830/5186/693 2799/5170/683 -f 2789/5182/686 2822/5187/691 2790/5188/681 -f 2824/5189/694 2844/5190/695 2830/5186/693 -f 2819/5169/689 2834/5191/696 2820/5176/692 -f 2828/5166/687 2841/5192/696 2842/5193/697 -f 2817/5194/694 2837/5195/695 2823/5179/693 -f 2830/5186/693 2839/5196/698 2825/5171/690 -f 2821/5181/687 2834/5191/696 2835/5197/697 -f 2829/5174/691 2842/5193/697 2843/5198/699 -f 2823/5179/693 2832/5199/698 2818/5184/690 -f 2825/5171/690 2840/5200/700 2826/5177/689 -f 2822/5187/691 2835/5197/697 2836/5201/699 -f 2819/5169/689 2832/5199/698 2833/5202/700 -f 2826/5177/689 2841/5192/696 2827/5183/692 -f 2814/5203/681 2856/5204/687 2857/5205/691 -f 2804/5206/684 2847/5207/689 2848/5208/692 -f 2810/5209/688 2854/5210/689 2811/5109/682 -f 2807/5211/683 2845/5212/694 2851/5213/693 -f 2805/5214/686 2848/5208/692 2849/5215/687 -f 2811/5109/682 2855/5216/692 2812/5217/684 -f 2807/5211/683 2846/5218/690 2802/5219/688 -f 2815/5220/683 2852/5221/694 2858/5222/693 -f 2805/5214/686 2850/5223/691 2806/5224/681 -f 2813/5225/686 2855/5216/692 2856/5204/687 -f 2802/5219/688 2847/5207/689 2803/5139/682 -f 2815/5220/683 2853/5226/690 2810/5209/688 -f 2850/5223/691 2863/5227/697 2864/5228/699 -f 2847/5207/689 2860/5229/698 2861/5230/700 -f 2854/5210/689 2869/5231/696 2855/5216/692 -f 2852/5221/694 2872/5232/695 2858/5222/693 -f 2847/5207/689 2862/5233/696 2848/5208/692 -f 2855/5216/692 2870/5234/697 2856/5204/687 -f 2845/5212/694 2865/5235/695 2851/5213/693 -f 2858/5222/693 2867/5236/698 2853/5226/690 -f 2848/5208/692 2863/5227/697 2849/5215/687 -f 2856/5204/687 2871/5237/699 2857/5205/691 -f 2846/5218/690 2865/5235/695 2860/5229/698 -f 2854/5210/689 2867/5236/698 2868/5238/700 -f 2809/5239/685 2816/5240/656 2852/5221/694 -f 2852/5221/694 2816/5240/656 2866/5241/701 -f 2814/5203/681 2857/5205/691 2816/5242/656 -f 2857/5205/691 2871/5237/699 2816/5242/656 -f 2801/5243/685 2808/5244/656 2845/5212/694 -f 2845/5212/694 2808/5244/656 2859/5245/701 -f 2806/5224/681 2850/5223/691 2808/5246/656 -f 2850/5223/691 2864/5228/699 2808/5246/656 -f 2793/5185/685 2800/5247/656 2824/5189/694 -f 2824/5189/694 2800/5247/656 2838/5248/701 -f 2798/5173/681 2829/5174/691 2800/5249/656 -f 2829/5174/691 2843/5198/699 2800/5249/656 -f 2785/5178/685 2792/5250/656 2817/5194/694 -f 2817/5194/694 2792/5250/656 2831/5251/701 -f 2790/5188/681 2822/5187/691 2792/5252/656 -f 2822/5187/691 2836/5201/699 2792/5252/656 -f 2842/5253/697 2889/5254/702 2843/5255/699 -f 2859/5256/701 2897/5257/653 2865/5258/695 -f 2866/5259/701 2876/5260/703 2898/5261/704 -f 2836/5262/699 2873/5263/658 2792/5264/656 -f 2865/5258/695 2892/5265/663 2860/5266/698 -f 2831/5267/701 2883/5268/653 2837/5269/695 -f 2861/5230/700 2892/5265/663 2893/5270/659 -f 2871/5271/699 2876/5272/703 2816/5273/656 -f 2837/5269/695 2878/5274/663 2832/5275/698 -f 2861/5230/700 2894/5276/665 2862/5277/696 -f 2832/5275/698 2879/5278/659 2833/5202/700 -f 2862/5277/696 2895/5279/655 2863/5280/697 -f 2859/5256/701 2875/5281/658 2891/5282/664 -f 2833/5202/700 2880/5283/665 2834/5284/696 -f 2864/5285/699 2895/5279/655 2896/5286/662 -f 2834/5284/696 2881/5287/655 2835/5288/697 -f 2866/5259/701 2904/5289/705 2872/5290/695 -f 2864/5285/699 2875/5291/658 2808/5292/656 -f 2836/5262/699 2881/5287/655 2882/5293/662 -f 2872/5290/695 2899/5294/706 2867/5295/698 -f 2838/5296/701 2890/5297/705 2844/5298/695 -f 2868/5238/700 2899/5294/706 2900/5299/707 -f 2800/5300/656 2884/5301/704 2838/5296/701 -f 2844/5298/695 2885/5302/706 2839/5303/698 -f 2868/5238/700 2901/5304/708 2869/5305/696 -f 2839/5303/698 2886/5306/707 2840/5200/700 -f 2869/5305/696 2902/5307/670 2870/5308/697 -f 2843/5255/699 2874/5309/703 2800/5310/656 -f 2840/5200/700 2887/5311/708 2841/5312/696 -f 2871/5271/699 2902/5307/670 2903/5313/702 -f 2841/5312/696 2888/5314/670 2842/5253/697 -f 2792/5315/656 2877/5316/664 2831/5267/701 -f 2874/5317/703 2911/5318/709 2905/5319/710 -f 2904/5289/705 2914/5320/711 2899/5321/706 -f 2886/5322/707 2910/5323/712 2887/5324/708 -f 2890/5297/705 2907/5325/713 2912/5326/660 -f 2900/5327/707 2914/5320/711 2915/5328/714 -f 2890/5297/705 2908/5329/711 2885/5330/706 -f 2898/5331/704 2906/5332/710 2913/5333/713 -f 2900/5327/707 2916/5334/712 2901/5335/708 -f 2874/5336/703 2907/5325/713 2884/5337/704 -f 2898/5331/704 2918/5338/660 2904/5289/705 -f 2876/5339/703 2917/5340/709 2906/5341/710 -f 2885/5330/706 2909/5342/714 2886/5322/707 -f 2909/5342/714 2922/5343/715 2923/5344/716 -f 2917/5340/709 2920/5345/717 2906/5341/710 -f 2915/5328/714 2928/5346/715 2929/5347/716 -f 2910/5323/712 2923/5344/716 2924/5348/718 -f 2907/5325/713 2919/5349/717 2921/5350/719 -f 2907/5325/713 2926/5351/720 2912/5326/660 -f 2916/5334/712 2929/5347/716 2930/5352/718 -f 2913/5333/713 2932/5353/720 2918/5338/660 -f 2911/5318/709 2919/5354/717 2905/5319/710 -f 2908/5329/711 2926/5351/720 2922/5343/715 -f 2906/5332/710 2927/5355/719 2913/5333/713 -f 2918/5338/660 2928/5346/715 2914/5320/711 -f 2889/5356/702 2888/5357/670 2911/5318/709 -f 2911/5318/709 2888/5357/670 2925/5358/721 -f 2887/5324/708 2910/5323/712 2888/5357/670 -f 2910/5323/712 2924/5348/718 2888/5357/670 -f 2901/5335/708 2916/5334/712 2902/5359/670 -f 2916/5334/712 2930/5352/718 2902/5359/670 -f 2903/5360/702 2902/5359/670 2917/5340/709 -f 2917/5340/709 2902/5359/670 2931/5361/721 -f 2927/5362/719 2948/5363/652 2932/5353/720 -f 2888/5364/670 2941/5365/657 2925/5366/721 -f 2932/5353/720 2944/5367/672 2928/5368/715 -f 2929/5369/716 2944/5367/672 2945/5370/659 -f 2924/5371/718 2933/5372/654 2888/5364/670 -f 2929/5369/716 2946/5373/689 2930/5374/718 -f 2921/5375/719 2942/5376/652 2926/5351/720 -f 2920/5377/717 2943/5378/656 2927/5362/719 -f 2926/5351/720 2938/5379/672 2922/5380/715 -f 2930/5374/718 2934/5381/654 2902/5382/670 -f 2931/5383/721 2936/5384/658 2920/5385/717 -f 2922/5380/715 2939/5386/659 2923/5387/716 -f 2919/5388/717 2937/5389/656 2921/5375/719 -f 2923/5387/716 2940/5390/689 2924/5371/718 -f 2902/5382/670 2947/5391/657 2931/5383/721 -f 2925/5366/721 2935/5392/658 2919/5393/717 -f 3243/5394/722 3249/5395/664 3242/5396/664 -f 3241/5397/653 3247/5398/663 3240/5399/663 -f 3245/5400/665 3251/5401/723 3244/5402/723 -f 3242/5396/664 3248/5403/653 3241/5397/653 -f 3240/5399/663 3246/5404/659 3239/5405/659 -f 3239/5406/659 3252/5407/665 3245/5400/665 -f 3257/5408/722 3261/5409/664 3256/5410/664 -f 3255/5411/653 3259/5412/663 3254/5413/663 -f 3256/5410/664 3260/5414/653 3255/5411/653 -f 3254/5413/663 3258/5415/724 3253/5416/724 -f 3267/5417/722 3271/5418/664 3266/5419/664 -f 3265/5420/653 3269/5421/663 3264/5422/663 -f 3266/5419/664 3270/5423/653 3265/5420/653 -f 3264/5422/663 3268/5424/724 3263/5425/724 -f 3277/5426/722 3281/5427/664 3276/5428/664 -f 3275/5429/653 3279/5430/663 3274/5431/663 -f 3276/5428/664 3280/5432/653 3275/5429/653 -f 3274/5431/663 3278/5433/724 3273/5434/724 -f 3287/5435/722 3291/5436/664 3286/5437/664 -f 3285/5438/653 3289/5439/663 3284/5440/663 -f 3286/5437/664 3290/5441/653 3285/5438/653 -f 3284/5440/663 3288/5442/724 3283/5443/724 -f 3299/5444/725 3305/5445/662 3298/5446/662 -f 3297/5447/658 3303/5448/664 3296/5449/664 -f 3295/5450/653 3301/5451/663 3294/5452/663 -f 3298/5446/662 3304/5453/658 3297/5447/658 -f 3296/5449/664 3302/5454/653 3295/5450/653 -f 3294/5452/663 3300/5455/724 3293/5456/724 -f 3312/5457/655 3318/5458/662 3311/5459/662 -f 3309/5460/726 3315/5461/663 3308/5462/663 -f 3313/5463/665 3319/5464/655 3312/5457/655 -f 3311/5459/662 3317/5465/727 3310/5466/727 -f 3308/5462/663 3314/5467/659 3307/5468/659 -f 3307/5469/659 3320/5470/665 3313/5463/665 -f 3324/5471/655 3328/5472/662 3323/5473/662 -f 3325/5474/665 3329/5475/655 3324/5471/655 -f 3323/5473/662 3327/5476/727 3322/5477/727 -f 3321/5478/728 3330/5479/665 3325/5474/665 -f 3334/5480/655 3338/5481/662 3333/5482/662 -f 3335/5483/665 3339/5484/655 3334/5480/655 -f 3333/5482/662 3337/5485/727 3332/5486/727 -f 3331/5487/728 3340/5488/665 3335/5483/665 -f 3344/5489/655 3348/5490/662 3343/5491/662 -f 3345/5492/665 3349/5493/655 3344/5489/655 -f 3343/5491/662 3347/5494/727 3342/5495/727 -f 3341/5496/728 3350/5497/665 3345/5492/665 -f 3354/5498/655 3358/5499/662 3353/5500/662 -f 3355/5501/665 3359/5502/655 3354/5498/655 -f 3353/5500/662 3357/5503/727 3352/5504/727 -f 3351/5505/728 3360/5506/665 3355/5501/665 -f 3366/5507/655 3372/5508/662 3365/5509/662 -f 3364/5510/658 3370/5511/664 3363/5512/664 -f 3367/5513/665 3373/5514/655 3366/5507/655 -f 3365/5509/662 3371/5515/658 3364/5510/658 -f 3363/5512/664 3369/5516/729 3362/5517/729 -f 3361/5518/728 3374/5519/665 3367/5513/665 -f 3377/5520/726 3381/5521/663 3376/5522/663 -f 3379/5523/665 3383/5524/723 3378/5525/723 -f 3376/5522/663 3380/5526/659 3375/5527/659 -f 3375/5528/659 3384/5529/665 3379/5523/665 -f 3389/5530/725 3393/5531/662 3388/5532/662 -f 3387/5533/658 3391/5534/664 3386/5535/664 -f 3388/5532/662 3392/5536/658 3387/5533/658 -f 3386/5535/664 3390/5537/729 3385/5538/729 -f 3397/5539/726 3401/5540/663 3396/5541/663 -f 3399/5542/665 3403/5543/723 3398/5544/723 -f 3396/5541/663 3400/5545/659 3395/5546/659 -f 3395/5547/659 3404/5548/665 3399/5542/665 -f 3409/5549/725 3413/5550/662 3408/5551/662 -f 3407/5552/658 3411/5553/664 3406/5554/664 -f 3408/5551/662 3412/5555/658 3407/5552/658 -f 3406/5554/664 3410/5556/729 3405/5557/729 -f 3417/5558/726 3421/5559/663 3416/5560/663 -f 3419/5561/665 3423/5562/723 3418/5563/723 -f 3416/5560/663 3420/5564/659 3415/5565/659 -f 3415/5566/659 3424/5567/665 3419/5561/665 -f 3429/5568/725 3433/5569/662 3428/5570/662 -f 3427/5571/658 3431/5572/664 3426/5573/664 -f 3428/5570/662 3432/5574/658 3427/5571/658 -f 3426/5573/664 3430/5575/729 3425/5576/729 -f 3437/5577/726 3441/5578/663 3436/5579/663 -f 3439/5580/665 3443/5581/723 3438/5582/723 -f 3436/5579/663 3440/5583/659 3435/5584/659 -f 3435/5585/659 3444/5586/665 3439/5580/665 -f 3449/5587/725 3453/5588/662 3448/5589/662 -f 3447/5590/658 3451/5591/664 3446/5592/664 -f 3448/5589/662 3452/5593/658 3447/5590/658 -f 3446/5592/664 3450/5594/729 3445/5595/729 -f 3645/5596/661 3660/5597/673 3644/5598/673 -f 3638/5599/674 3653/5600/671 3637/5601/671 -f 3646/5602/675 3661/5603/661 3645/5596/661 -f 3639/5604/654 3654/5605/674 3638/5599/674 -f 3632/5606/676 3647/5607/652 3631/5608/652 -f 3631/5608/652 3662/5609/675 3646/5602/675 -f 3640/5610/677 3655/5611/654 3639/5612/654 -f 3633/5613/660 3648/5614/676 3632/5606/676 -f 3641/5615/670 3656/5616/677 3640/5610/677 -f 3634/5617/678 3649/5618/660 3633/5613/660 -f 3642/5619/679 3657/5620/670 3641/5615/670 -f 3635/5621/653 3650/5622/678 3634/5617/678 -f 3643/5623/655 3658/5624/679 3642/5619/679 -f 3636/5625/680 3651/5626/653 3635/5621/653 -f 3644/5598/673 3659/5627/655 3643/5623/655 -f 3637/5601/671 3652/5628/680 3636/5625/680 -f 3826/5629/661 3811/5630/652 3818/5631/661 -f 3824/5632/670 3817/5633/655 3816/5634/670 -f 3822/5635/671 3815/5636/654 3814/5637/671 -f 3819/5638/660 3813/5639/653 3812/5640/660 -f 3825/5641/655 3818/5631/661 3817/5633/655 -f 3823/5642/654 3816/5634/670 3815/5643/654 -f 3821/5644/653 3814/5637/671 3813/5639/653 -f 3820/5645/652 3812/5640/660 3811/5630/652 -f 3842/5646/661 3827/5647/652 3834/5648/661 -f 3840/5649/670 3833/5650/655 3832/5651/670 -f 3838/5652/671 3831/5653/654 3830/5654/671 -f 3835/5655/660 3829/5656/653 3828/5657/660 -f 3841/5658/655 3834/5648/661 3833/5650/655 -f 3839/5659/654 3832/5651/670 3831/5660/654 -f 3837/5661/653 3830/5654/671 3829/5656/653 -f 3836/5662/652 3828/5657/660 3827/5647/652 -f 3858/5663/661 3843/5664/652 3850/5665/661 -f 3856/5666/670 3849/5667/655 3848/5668/670 -f 3854/5669/671 3847/5670/654 3846/5671/671 -f 3851/5672/660 3845/5673/653 3844/5674/660 -f 3857/5675/655 3850/5665/661 3849/5667/655 -f 3855/5676/654 3848/5668/670 3847/5677/654 -f 3853/5678/653 3846/5671/671 3845/5673/653 -f 3852/5679/652 3844/5674/660 3843/5664/652 -f 3904/5680/685 3871/5681/653 3872/5682/660 -f 3917/5683/682 3884/5684/670 3885/5685/654 -f 3897/5686/686 3859/5687/661 3865/5688/655 -f 3918/5689/688 3885/5685/654 3886/5690/671 -f 3899/5691/681 3874/5692/652 3867/5693/661 -f 3860/5694/670 3897/5686/686 3865/5688/655 -f 3919/5695/683 3886/5690/671 3887/5696/653 -f 3874/5697/652 3904/5680/685 3872/5682/660 -f 3893/5698/682 3860/5694/670 3861/5699/654 -f 3920/5700/685 3887/5696/653 3888/5701/660 -f 3913/5702/686 3875/5703/661 3881/5704/655 -f 3894/5705/688 3861/5699/654 3862/5706/671 -f 3915/5707/681 3890/5708/652 3883/5709/661 -f 3876/5710/670 3913/5702/686 3881/5704/655 -f 3895/5711/683 3862/5706/671 3863/5712/653 -f 3890/5713/652 3920/5700/685 3888/5701/660 -f 3909/5714/682 3876/5710/670 3877/5715/654 -f 3896/5716/685 3863/5712/653 3864/5717/660 -f 3910/5718/688 3877/5715/654 3878/5719/671 -f 3891/5720/681 3866/5721/652 3859/5687/661 -f 3911/5722/683 3878/5719/671 3879/5723/653 -f 3866/5724/652 3896/5716/685 3864/5717/660 -f 3912/5725/685 3879/5723/653 3880/5726/660 -f 3905/5727/686 3867/5693/661 3873/5728/655 -f 3907/5729/681 3882/5730/652 3875/5703/661 -f 3868/5731/670 3905/5727/686 3873/5728/655 -f 3882/5732/652 3912/5725/685 3880/5726/660 -f 3901/5733/682 3868/5731/670 3869/5734/654 -f 3921/5735/686 3883/5709/661 3889/5736/655 -f 3902/5737/688 3869/5734/654 3870/5738/671 -f 3884/5684/670 3921/5735/686 3889/5736/655 -f 3903/5739/683 3870/5738/671 3871/5681/653 -f 3903/5740/683 3933/5741/690 3902/5742/688 -f 3925/5743/689 3892/5744/684 3893/5698/682 -f 3900/5745/684 3936/5746/687 3905/5747/686 -f 3935/5748/694 3903/5740/683 3904/5749/685 -f 3894/5750/688 3925/5743/689 3893/5698/682 -f 3932/5751/689 3900/5745/684 3901/5733/682 -f 3897/5752/686 3923/5753/691 3891/5754/681 -f 3895/5755/683 3926/5756/690 3894/5750/688 -f 3902/5742/688 3932/5751/689 3901/5733/682 -f 3924/5757/692 3897/5752/686 3892/5744/684 -f 3905/5747/686 3930/5758/691 3899/5759/681 -f 3928/5760/694 3895/5755/683 3896/5761/685 -f 3950/5762/697 3930/5758/691 3936/5746/687 -f 3940/5763/698 3925/5743/689 3926/5756/690 -f 3934/5764/693 3947/5765/698 3933/5741/690 -f 3943/5766/697 3923/5753/691 3929/5767/687 -f 3945/5768/696 3936/5746/687 3931/5769/692 -f 3927/5770/693 3940/5763/698 3926/5756/690 -f 3935/5748/694 3948/5771/695 3934/5764/693 -f 3938/5772/696 3929/5767/687 3924/5757/692 -f 3932/5751/689 3945/5768/696 3931/5769/692 -f 3928/5760/694 3941/5773/695 3927/5770/693 -f 3925/5743/689 3938/5772/696 3924/5757/692 -f 3947/5765/698 3932/5751/689 3933/5741/690 -f 3963/5774/694 3919/5775/683 3920/5776/685 -f 3954/5777/690 3909/5714/682 3910/5778/688 -f 3960/5779/689 3916/5780/684 3917/5683/682 -f 3913/5781/686 3951/5782/691 3907/5783/681 -f 3911/5784/683 3954/5777/690 3910/5778/688 -f 3961/5785/690 3917/5683/682 3918/5786/688 -f 3952/5787/692 3913/5781/686 3908/5788/684 -f 3921/5789/686 3958/5790/691 3915/5791/681 -f 3956/5792/694 3911/5784/683 3912/5793/685 -f 3919/5775/683 3961/5785/690 3918/5786/688 -f 3953/5794/689 3908/5788/684 3909/5714/682 -f 3916/5780/684 3964/5795/687 3921/5789/686 -f 3956/5792/694 3969/5796/695 3955/5797/693 -f 3953/5794/689 3966/5798/696 3952/5787/692 -f 3975/5799/698 3960/5779/689 3961/5785/690 -f 3978/5800/697 3958/5790/691 3964/5795/687 -f 3968/5801/698 3953/5794/689 3954/5777/690 -f 3962/5802/693 3975/5799/698 3961/5785/690 -f 3971/5803/697 3951/5782/691 3957/5804/687 -f 3973/5805/696 3964/5795/687 3959/5806/692 -f 3955/5797/693 3968/5801/698 3954/5777/690 -f 3963/5774/694 3976/5807/695 3962/5802/693 -f 3966/5798/696 3957/5804/687 3952/5787/692 -f 3960/5779/689 3973/5805/696 3959/5806/692 -f 3915/5791/681 3958/5790/691 3922/5808/656 -f 3958/5790/691 3972/5809/699 3922/5808/656 -f 3920/5776/685 3922/5810/656 3963/5774/694 -f 3963/5774/694 3922/5810/656 3977/5811/701 -f 3907/5783/681 3951/5782/691 3914/5812/656 -f 3951/5782/691 3965/5813/699 3914/5812/656 -f 3912/5793/685 3914/5814/656 3956/5792/694 -f 3956/5792/694 3914/5814/656 3970/5815/701 -f 3899/5759/681 3930/5758/691 3906/5816/656 -f 3930/5758/691 3944/5817/699 3906/5816/656 -f 3904/5749/685 3906/5818/656 3935/5748/694 -f 3935/5748/694 3906/5818/656 3949/5819/701 -f 3891/5754/681 3923/5753/691 3898/5820/656 -f 3923/5753/691 3937/5821/699 3898/5820/656 -f 3896/5761/685 3898/5822/656 3928/5760/694 -f 3928/5760/694 3898/5822/656 3942/5823/701 -f 3995/5824/730 3948/5825/695 3949/5826/701 -f 4003/5827/655 3965/5828/699 3971/5829/697 -f 3972/5830/699 3982/5831/731 3922/5832/656 -f 3979/5833/658 3942/5834/701 3898/5835/656 -f 3998/5836/665 3971/5829/697 3966/5837/696 -f 3989/5838/655 3937/5839/699 3943/5840/697 -f 3967/5841/700 3998/5836/665 3966/5837/696 -f 3982/5842/731 3977/5843/701 3922/5844/656 -f 3984/5845/665 3943/5840/697 3938/5846/696 -f 4000/5847/663 3967/5841/700 3968/5848/698 -f 3985/5849/659 3938/5846/696 3939/5850/700 -f 4001/5851/653 3968/5848/698 3969/5852/695 -f 3965/5828/699 3981/5853/658 3914/5854/656 -f 3986/5855/663 3939/5850/700 3940/5856/698 -f 3970/5857/701 4001/5851/653 3969/5852/695 -f 3987/5858/653 3940/5856/698 3941/5859/695 -f 4010/5860/732 3972/5830/699 3978/5861/697 -f 3981/5862/658 3970/5857/701 3914/5863/656 -f 3988/5864/664 3941/5859/695 3942/5834/701 -f 4005/5865/733 3978/5861/697 3973/5866/696 -f 3996/5867/732 3944/5868/699 3950/5869/697 -f 3974/5870/700 4005/5865/733 3973/5866/696 -f 3990/5871/734 3906/5872/656 3944/5868/699 -f 3991/5873/733 3950/5869/697 3945/5874/696 -f 4007/5875/735 3974/5870/700 3975/5876/698 -f 3992/5877/736 3945/5874/696 3946/5878/700 -f 4008/5879/671 3975/5876/698 3976/5880/695 -f 3980/5881/731 3949/5826/701 3906/5882/656 -f 3993/5883/735 3946/5878/700 3947/5884/698 -f 3977/5843/701 4008/5879/671 3976/5880/695 -f 3994/5885/671 3947/5884/698 3948/5825/695 -f 3983/5886/662 3898/5887/656 3937/5839/699 -f 3980/5888/731 4017/5889/737 3995/5890/730 -f 4020/5891/738 4010/5860/732 4005/5892/733 -f 4016/5893/739 3992/5894/736 3993/5895/735 -f 3996/5867/732 4013/5896/740 3990/5897/734 -f 4006/5898/736 4020/5891/738 4005/5892/733 -f 4014/5899/738 3996/5867/732 3991/5900/733 -f 4004/5901/734 4012/5902/741 3982/5903/731 -f 4022/5904/739 4006/5898/736 4007/5905/735 -f 4013/5896/740 3980/5906/731 3990/5897/734 -f 4024/5907/661 4004/5901/734 4010/5860/732 -f 3982/5908/731 4023/5909/737 4009/5910/730 -f 4015/5911/742 3991/5900/733 3992/5894/736 -f 4029/5912/743 4014/5899/738 4015/5911/742 -f 4026/5913/744 4023/5909/737 4012/5914/741 -f 4021/5915/742 4034/5916/745 4020/5891/738 -f 4016/5893/739 4029/5912/743 4015/5911/742 -f 4013/5896/740 4025/5917/744 4011/5918/741 -f 4032/5919/746 4013/5896/740 4018/5920/661 -f 4036/5921/747 4021/5915/742 4022/5904/739 -f 4038/5922/746 4019/5923/740 4024/5907/661 -f 4025/5924/744 4017/5889/737 4011/5925/741 -f 4014/5899/738 4032/5919/746 4018/5920/661 -f 4033/5926/748 4012/5902/741 4019/5923/740 -f 4034/5916/745 4024/5907/661 4020/5891/738 -f 3995/5890/730 4017/5889/737 3994/5927/671 -f 4017/5889/737 4031/5928/749 3994/5927/671 -f 3993/5895/735 3994/5927/671 4016/5893/739 -f 4016/5893/739 3994/5927/671 4030/5929/747 -f 4007/5905/735 4008/5930/671 4022/5904/739 -f 4022/5904/739 4008/5930/671 4036/5921/747 -f 4009/5910/730 4023/5909/737 4008/5930/671 -f 4023/5909/737 4037/5931/749 4008/5930/671 -f 4054/5932/652 4033/5933/748 4038/5922/746 -f 4047/5934/657 3994/5935/671 4031/5936/749 -f 4050/5937/672 4038/5922/746 4034/5938/745 -f 4035/5939/743 4050/5937/672 4034/5938/745 -f 4039/5940/654 4030/5941/747 3994/5935/671 -f 4052/5942/689 4035/5939/743 4036/5943/747 -f 4048/5944/652 4027/5945/748 4032/5919/746 -f 4049/5946/656 4026/5947/744 4033/5933/748 -f 4044/5948/672 4032/5919/746 4028/5949/745 -f 4040/5950/654 4036/5943/747 4008/5951/671 -f 4042/5952/658 4037/5953/749 4026/5954/744 -f 4045/5955/659 4028/5949/745 4029/5956/743 -f 4043/5957/656 4025/5958/744 4027/5945/748 -f 4046/5959/689 4029/5956/743 4030/5941/747 -f 4053/5960/657 4008/5951/671 4037/5953/749 -f 4041/5961/658 4031/5936/749 4025/5962/744 -f 2668/5055/661 2662/5071/652 2653/5056/652 -f 2666/5058/670 2667/5067/655 2659/5059/655 -f 2664/5061/671 2665/5963/654 2657/5062/654 -f 2661/5064/660 2663/5070/653 2655/5065/653 -f 2667/5067/655 2668/5055/661 2660/5057/661 -f 2665/5068/654 2666/5058/670 2658/5060/670 -f 2663/5070/653 2664/5061/671 2656/5063/671 -f 2662/5071/652 2661/5064/660 2654/5066/660 -f 2683/5072/661 2699/5079/661 2698/5073/673 -f 2676/5075/674 2692/5081/674 2691/5076/671 -f 2684/5078/675 2700/5085/675 2699/5079/661 -f 2677/5080/654 2693/5964/654 2692/5081/674 -f 2670/5082/676 2686/5090/676 2685/5083/652 -f 2669/5084/652 2685/5083/652 2700/5085/675 -f 2678/5086/677 2694/5092/677 2693/5087/654 -f 2671/5089/660 2687/5094/660 2686/5090/676 -f 2679/5091/670 2695/5096/670 2694/5092/677 -f 2672/5093/678 2688/5098/678 2687/5094/660 -f 2680/5095/679 2696/5100/679 2695/5096/670 -f 2673/5097/653 2689/5102/653 2688/5098/678 -f 2681/5099/655 2697/5103/655 2696/5100/679 -f 2674/5101/680 2690/5104/680 2689/5102/653 -f 2682/5074/673 2698/5073/673 2697/5103/655 -f 2675/5077/671 2691/5076/671 2690/5104/680 -f 2765/5105/655 2797/5164/686 2798/5106/681 -f 2778/5108/671 2810/5965/688 2811/5109/682 -f 2753/5111/660 2785/5146/685 2791/5112/683 -f 2779/5110/654 2811/5109/682 2812/5114/684 -f 2768/5116/652 2800/5966/656 2793/5117/685 -f 2791/5112/683 2786/5967/688 2754/5119/671 -f 2780/5115/670 2812/5114/684 2813/5120/686 -f 2798/5106/681 2800/5968/656 2768/5122/652 -f 2754/5119/671 2786/5967/688 2787/5123/682 -f 2781/5121/655 2813/5120/686 2814/5125/681 -f 2769/5127/660 2801/5155/685 2807/5128/683 -f 2755/5124/654 2787/5123/682 2788/5130/684 -f 2784/5132/652 2816/5969/656 2809/5133/685 -f 2807/5128/683 2802/5970/688 2770/5135/671 -f 2756/5131/670 2788/5130/684 2789/5136/686 -f 2814/5125/681 2816/5971/656 2784/5138/652 -f 2770/5135/671 2802/5970/688 2803/5139/682 -f 2757/5137/655 2789/5136/686 2790/5141/681 -f 2771/5140/654 2803/5139/682 2804/5143/684 -f 2760/5145/652 2792/5972/656 2785/5146/685 -f 2772/5144/670 2804/5143/684 2805/5147/686 -f 2790/5141/681 2792/5973/656 2760/5149/652 -f 2773/5148/655 2805/5147/686 2806/5150/681 -f 2761/5118/660 2793/5117/685 2799/5152/683 -f 2776/5154/652 2808/5974/656 2801/5155/685 -f 2799/5152/683 2794/5975/688 2762/5156/671 -f 2806/5150/681 2808/5976/656 2776/5157/652 -f 2762/5156/671 2794/5975/688 2795/5158/682 -f 2777/5134/660 2809/5133/685 2815/5160/683 -f 2763/5159/654 2795/5158/682 2796/5162/684 -f 2815/5160/683 2810/5965/688 2778/5108/671 -f 2764/5163/670 2796/5162/684 2797/5164/686 -f 2796/5165/684 2827/5183/692 2828/5166/687 -f 2786/5168/688 2818/5184/690 2819/5169/689 -f 2799/5170/683 2830/5186/693 2825/5171/690 -f 2798/5173/681 2797/5167/686 2828/5166/687 -f 2788/5175/684 2787/5123/682 2819/5169/689 -f 2795/5158/682 2794/5172/688 2825/5171/690 -f 2785/5178/685 2817/5194/694 2823/5179/693 -f 2788/5175/684 2820/5176/692 2821/5181/687 -f 2796/5165/684 2795/5158/682 2826/5177/689 -f 2791/5180/683 2823/5179/693 2818/5184/690 -f 2793/5185/685 2824/5189/694 2830/5186/693 -f 2789/5182/686 2821/5181/687 2822/5187/691 -f 2824/5189/694 2838/5248/701 2844/5190/695 -f 2819/5169/689 2833/5202/700 2834/5191/696 -f 2828/5166/687 2827/5183/692 2841/5192/696 -f 2817/5194/694 2831/5251/701 2837/5195/695 -f 2830/5186/693 2844/5190/695 2839/5196/698 -f 2821/5181/687 2820/5176/692 2834/5191/696 -f 2829/5174/691 2828/5166/687 2842/5193/697 -f 2823/5179/693 2837/5195/695 2832/5199/698 -f 2825/5171/690 2839/5196/698 2840/5200/700 -f 2822/5187/691 2821/5181/687 2835/5197/697 -f 2819/5169/689 2818/5184/690 2832/5199/698 -f 2826/5177/689 2840/5200/700 2841/5192/696 -f 2814/5203/681 2813/5225/686 2856/5204/687 -f 2804/5206/684 2803/5139/682 2847/5207/689 -f 2810/5209/688 2853/5226/690 2854/5210/689 -f 2807/5211/683 2801/5243/685 2845/5212/694 -f 2805/5214/686 2804/5206/684 2848/5208/692 -f 2811/5109/682 2854/5210/689 2855/5216/692 -f 2807/5211/683 2851/5213/693 2846/5218/690 -f 2815/5220/683 2809/5239/685 2852/5221/694 -f 2805/5214/686 2849/5215/687 2850/5223/691 -f 2813/5225/686 2812/5217/684 2855/5216/692 -f 2802/5219/688 2846/5218/690 2847/5207/689 -f 2815/5220/683 2858/5222/693 2853/5226/690 -f 2850/5223/691 2849/5215/687 2863/5227/697 -f 2847/5207/689 2846/5218/690 2860/5229/698 -f 2854/5210/689 2868/5238/700 2869/5231/696 -f 2852/5221/694 2866/5241/701 2872/5232/695 -f 2847/5207/689 2861/5230/700 2862/5233/696 -f 2855/5216/692 2869/5231/696 2870/5234/697 -f 2845/5212/694 2859/5245/701 2865/5235/695 -f 2858/5222/693 2872/5232/695 2867/5236/698 -f 2848/5208/692 2862/5233/696 2863/5227/697 -f 2856/5204/687 2870/5234/697 2871/5237/699 -f 2846/5218/690 2851/5213/693 2865/5235/695 -f 2854/5210/689 2853/5226/690 2867/5236/698 -f 2842/5253/697 2888/5314/670 2889/5254/702 -f 2859/5256/701 2891/5282/664 2897/5257/653 -f 2866/5259/701 2816/5977/656 2876/5260/703 -f 2836/5262/699 2882/5293/662 2873/5263/658 -f 2865/5258/695 2897/5257/653 2892/5265/663 -f 2831/5267/701 2877/5316/664 2883/5268/653 -f 2861/5230/700 2860/5266/698 2892/5265/663 -f 2871/5271/699 2903/5313/702 2876/5272/703 -f 2837/5269/695 2883/5268/653 2878/5274/663 -f 2861/5230/700 2893/5270/659 2894/5276/665 -f 2832/5275/698 2878/5274/663 2879/5278/659 -f 2862/5277/696 2894/5276/665 2895/5279/655 -f 2859/5256/701 2808/5978/656 2875/5281/658 -f 2833/5202/700 2879/5278/659 2880/5283/665 -f 2864/5285/699 2863/5280/697 2895/5279/655 -f 2834/5284/696 2880/5283/665 2881/5287/655 -f 2866/5259/701 2898/5261/704 2904/5289/705 -f 2864/5285/699 2896/5286/662 2875/5291/658 -f 2836/5262/699 2835/5288/697 2881/5287/655 -f 2872/5290/695 2904/5289/705 2899/5294/706 -f 2838/5296/701 2884/5301/704 2890/5297/705 -f 2868/5238/700 2867/5295/698 2899/5294/706 -f 2800/5300/656 2874/5979/703 2884/5301/704 -f 2844/5298/695 2890/5297/705 2885/5302/706 -f 2868/5238/700 2900/5299/707 2901/5304/708 -f 2839/5303/698 2885/5302/706 2886/5306/707 -f 2869/5305/696 2901/5304/708 2902/5307/670 -f 2843/5255/699 2889/5254/702 2874/5309/703 -f 2840/5200/700 2886/5306/707 2887/5311/708 -f 2871/5271/699 2870/5308/697 2902/5307/670 -f 2841/5312/696 2887/5311/708 2888/5314/670 -f 2792/5315/656 2873/5980/658 2877/5316/664 -f 2874/5317/703 2889/5356/702 2911/5318/709 -f 2904/5289/705 2918/5338/660 2914/5320/711 -f 2886/5322/707 2909/5342/714 2910/5323/712 -f 2890/5297/705 2884/5337/704 2907/5325/713 -f 2900/5327/707 2899/5321/706 2914/5320/711 -f 2890/5297/705 2912/5326/660 2908/5329/711 -f 2898/5331/704 2876/5981/703 2906/5332/710 -f 2900/5327/707 2915/5328/714 2916/5334/712 -f 2874/5336/703 2905/5982/710 2907/5325/713 -f 2898/5331/704 2913/5333/713 2918/5338/660 -f 2876/5339/703 2903/5360/702 2917/5340/709 -f 2885/5330/706 2908/5329/711 2909/5342/714 -f 2909/5342/714 2908/5329/711 2922/5343/715 -f 2917/5340/709 2931/5361/721 2920/5345/717 -f 2915/5328/714 2914/5320/711 2928/5346/715 -f 2910/5323/712 2909/5342/714 2923/5344/716 -f 2907/5325/713 2905/5982/710 2919/5349/717 -f 2907/5325/713 2921/5350/719 2926/5351/720 -f 2916/5334/712 2915/5328/714 2929/5347/716 -f 2913/5333/713 2927/5355/719 2932/5353/720 -f 2911/5318/709 2925/5358/721 2919/5354/717 -f 2908/5329/711 2912/5326/660 2926/5351/720 -f 2906/5332/710 2920/5983/717 2927/5355/719 -f 2918/5338/660 2932/5353/720 2928/5346/715 -f 2927/5362/719 2943/5378/656 2948/5363/652 -f 2888/5364/670 2933/5372/654 2941/5365/657 -f 2932/5353/720 2948/5363/652 2944/5367/672 -f 2929/5369/716 2928/5368/715 2944/5367/672 -f 2924/5371/718 2940/5390/689 2933/5372/654 -f 2929/5369/716 2945/5370/659 2946/5373/689 -f 2921/5375/719 2937/5389/656 2942/5376/652 -f 2920/5377/717 2936/5984/658 2943/5378/656 -f 2926/5351/720 2942/5376/652 2938/5379/672 -f 2930/5374/718 2946/5373/689 2934/5381/654 -f 2931/5383/721 2947/5391/657 2936/5384/658 -f 2922/5380/715 2938/5379/672 2939/5386/659 -f 2919/5388/717 2935/5985/658 2937/5389/656 -f 2923/5387/716 2939/5386/659 2940/5390/689 -f 2902/5382/670 2934/5381/654 2947/5391/657 -f 2925/5366/721 2941/5365/657 2935/5392/658 -f 3243/5394/722 3250/5986/722 3249/5395/664 -f 3241/5397/653 3248/5403/653 3247/5398/663 -f 3245/5400/665 3252/5407/665 3251/5401/723 -f 3242/5396/664 3249/5395/664 3248/5403/653 -f 3240/5399/663 3247/5398/663 3246/5404/659 -f 3239/5406/659 3246/5987/659 3252/5407/665 -f 3257/5408/722 3262/5988/722 3261/5409/664 -f 3255/5411/653 3260/5414/653 3259/5412/663 -f 3256/5410/664 3261/5409/664 3260/5414/653 -f 3254/5413/663 3259/5412/663 3258/5415/724 -f 3267/5417/722 3272/5989/722 3271/5418/664 -f 3265/5420/653 3270/5423/653 3269/5421/663 -f 3266/5419/664 3271/5418/664 3270/5423/653 -f 3264/5422/663 3269/5421/663 3268/5424/724 -f 3277/5426/722 3282/5990/722 3281/5427/664 -f 3275/5429/653 3280/5432/653 3279/5430/663 -f 3276/5428/664 3281/5427/664 3280/5432/653 -f 3274/5431/663 3279/5430/663 3278/5433/724 -f 3287/5435/722 3292/5991/722 3291/5436/664 -f 3285/5438/653 3290/5441/653 3289/5439/663 -f 3286/5437/664 3291/5436/664 3290/5441/653 -f 3284/5440/663 3289/5439/663 3288/5442/724 -f 3299/5444/725 3306/5992/725 3305/5445/662 -f 3297/5447/658 3304/5453/658 3303/5448/664 -f 3295/5450/653 3302/5454/653 3301/5451/663 -f 3298/5446/662 3305/5445/662 3304/5453/658 -f 3296/5449/664 3303/5448/664 3302/5454/653 -f 3294/5452/663 3301/5451/663 3300/5455/724 -f 3312/5457/655 3319/5464/655 3318/5458/662 -f 3309/5460/726 3316/5993/726 3315/5461/663 -f 3313/5463/665 3320/5470/665 3319/5464/655 -f 3311/5459/662 3318/5458/662 3317/5465/727 -f 3308/5462/663 3315/5461/663 3314/5467/659 -f 3307/5469/659 3314/5994/659 3320/5470/665 -f 3324/5471/655 3329/5475/655 3328/5472/662 -f 3325/5474/665 3330/5479/665 3329/5475/655 -f 3323/5473/662 3328/5472/662 3327/5476/727 -f 3321/5478/728 3326/5995/728 3330/5479/665 -f 3334/5480/655 3339/5484/655 3338/5481/662 -f 3335/5483/665 3340/5488/665 3339/5484/655 -f 3333/5482/662 3338/5481/662 3337/5485/727 -f 3331/5487/728 3336/5996/728 3340/5488/665 -f 3344/5489/655 3349/5493/655 3348/5490/662 -f 3345/5492/665 3350/5497/665 3349/5493/655 -f 3343/5491/662 3348/5490/662 3347/5494/727 -f 3341/5496/728 3346/5997/728 3350/5497/665 -f 3354/5498/655 3359/5502/655 3358/5499/662 -f 3355/5501/665 3360/5506/665 3359/5502/655 -f 3353/5500/662 3358/5499/662 3357/5503/727 -f 3351/5505/728 3356/5998/728 3360/5506/665 -f 3366/5507/655 3373/5514/655 3372/5508/662 -f 3364/5510/658 3371/5515/658 3370/5511/664 -f 3367/5513/665 3374/5519/665 3373/5514/655 -f 3365/5509/662 3372/5508/662 3371/5515/658 -f 3363/5512/664 3370/5511/664 3369/5516/729 -f 3361/5518/728 3368/5999/728 3374/5519/665 -f 3377/5520/726 3382/6000/726 3381/5521/663 -f 3379/5523/665 3384/5529/665 3383/5524/723 -f 3376/5522/663 3381/5521/663 3380/5526/659 -f 3375/5528/659 3380/6001/659 3384/5529/665 -f 3389/5530/725 3394/6002/725 3393/5531/662 -f 3387/5533/658 3392/5536/658 3391/5534/664 -f 3388/5532/662 3393/5531/662 3392/5536/658 -f 3386/5535/664 3391/5534/664 3390/5537/729 -f 3397/5539/726 3402/6003/726 3401/5540/663 -f 3399/5542/665 3404/5548/665 3403/5543/723 -f 3396/5541/663 3401/5540/663 3400/5545/659 -f 3395/5547/659 3400/6004/659 3404/5548/665 -f 3409/5549/725 3414/6005/725 3413/5550/662 -f 3407/5552/658 3412/5555/658 3411/5553/664 -f 3408/5551/662 3413/5550/662 3412/5555/658 -f 3406/5554/664 3411/5553/664 3410/5556/729 -f 3417/5558/726 3422/6006/726 3421/5559/663 -f 3419/5561/665 3424/5567/665 3423/5562/723 -f 3416/5560/663 3421/5559/663 3420/5564/659 -f 3415/5566/659 3420/6007/659 3424/5567/665 -f 3429/5568/725 3434/6008/725 3433/5569/662 -f 3427/5571/658 3432/5574/658 3431/5572/664 -f 3428/5570/662 3433/5569/662 3432/5574/658 -f 3426/5573/664 3431/5572/664 3430/5575/729 -f 3437/5577/726 3442/6009/726 3441/5578/663 -f 3439/5580/665 3444/5586/665 3443/5581/723 -f 3436/5579/663 3441/5578/663 3440/5583/659 -f 3435/5585/659 3440/6010/659 3444/5586/665 -f 3449/5587/725 3454/6011/725 3453/5588/662 -f 3447/5590/658 3452/5593/658 3451/5591/664 -f 3448/5589/662 3453/5588/662 3452/5593/658 -f 3446/5592/664 3451/5591/664 3450/5594/729 -f 3645/5596/661 3661/5603/661 3660/5597/673 -f 3638/5599/674 3654/5605/674 3653/5600/671 -f 3646/5602/675 3662/5609/675 3661/5603/661 -f 3639/5604/654 3655/6012/654 3654/5605/674 -f 3632/5606/676 3648/5614/676 3647/5607/652 -f 3631/5608/652 3647/5607/652 3662/5609/675 -f 3640/5610/677 3656/5616/677 3655/5611/654 -f 3633/5613/660 3649/5618/660 3648/5614/676 -f 3641/5615/670 3657/5620/670 3656/5616/677 -f 3634/5617/678 3650/5622/678 3649/5618/660 -f 3642/5619/679 3658/5624/679 3657/5620/670 -f 3635/5621/653 3651/5626/653 3650/5622/678 -f 3643/5623/655 3659/5627/655 3658/5624/679 -f 3636/5625/680 3652/5628/680 3651/5626/653 -f 3644/5598/673 3660/5597/673 3659/5627/655 -f 3637/5601/671 3653/5600/671 3652/5628/680 -f 3826/5629/661 3820/5645/652 3811/5630/652 -f 3824/5632/670 3825/5641/655 3817/5633/655 -f 3822/5635/671 3823/6013/654 3815/5636/654 -f 3819/5638/660 3821/5644/653 3813/5639/653 -f 3825/5641/655 3826/5629/661 3818/5631/661 -f 3823/5642/654 3824/5632/670 3816/5634/670 -f 3821/5644/653 3822/5635/671 3814/5637/671 -f 3820/5645/652 3819/5638/660 3812/5640/660 -f 3842/5646/661 3836/5662/652 3827/5647/652 -f 3840/5649/670 3841/5658/655 3833/5650/655 -f 3838/5652/671 3839/6014/654 3831/5653/654 -f 3835/5655/660 3837/5661/653 3829/5656/653 -f 3841/5658/655 3842/5646/661 3834/5648/661 -f 3839/5659/654 3840/5649/670 3832/5651/670 -f 3837/5661/653 3838/5652/671 3830/5654/671 -f 3836/5662/652 3835/5655/660 3828/5657/660 -f 3858/5663/661 3852/5679/652 3843/5664/652 -f 3856/5666/670 3857/5675/655 3849/5667/655 -f 3854/5669/671 3855/6015/654 3847/5670/654 -f 3851/5672/660 3853/5678/653 3845/5673/653 -f 3857/5675/655 3858/5663/661 3850/5665/661 -f 3855/5676/654 3856/5666/670 3848/5668/670 -f 3853/5678/653 3854/5669/671 3846/5671/671 -f 3852/5679/652 3851/5672/660 3844/5674/660 -f 3904/5680/685 3903/5739/683 3871/5681/653 -f 3917/5683/682 3916/6016/684 3884/5684/670 -f 3897/5686/686 3891/5720/681 3859/5687/661 -f 3918/5689/688 3917/5683/682 3885/5685/654 -f 3899/5691/681 3906/6017/656 3874/5692/652 -f 3860/5694/670 3892/6018/684 3897/5686/686 -f 3919/5695/683 3918/5689/688 3886/5690/671 -f 3874/5697/652 3906/6019/656 3904/5680/685 -f 3893/5698/682 3892/6018/684 3860/5694/670 -f 3920/5700/685 3919/5695/683 3887/5696/653 -f 3913/5702/686 3907/5729/681 3875/5703/661 -f 3894/5705/688 3893/5698/682 3861/5699/654 -f 3915/5707/681 3922/6020/656 3890/5708/652 -f 3876/5710/670 3908/6021/684 3913/5702/686 -f 3895/5711/683 3894/5705/688 3862/5706/671 -f 3890/5713/652 3922/6022/656 3920/5700/685 -f 3909/5714/682 3908/6021/684 3876/5710/670 -f 3896/5716/685 3895/5711/683 3863/5712/653 -f 3910/5718/688 3909/5714/682 3877/5715/654 -f 3891/5720/681 3898/6023/656 3866/5721/652 -f 3911/5722/683 3910/5718/688 3878/5719/671 -f 3866/5724/652 3898/6024/656 3896/5716/685 -f 3912/5725/685 3911/5722/683 3879/5723/653 -f 3905/5727/686 3899/5691/681 3867/5693/661 -f 3907/5729/681 3914/6025/656 3882/5730/652 -f 3868/5731/670 3900/6026/684 3905/5727/686 -f 3882/5732/652 3914/6027/656 3912/5725/685 -f 3901/5733/682 3900/6026/684 3868/5731/670 -f 3921/5735/686 3915/5707/681 3883/5709/661 -f 3902/5737/688 3901/5733/682 3869/5734/654 -f 3884/5684/670 3916/6016/684 3921/5735/686 -f 3903/5739/683 3902/5737/688 3870/5738/671 -f 3903/5740/683 3934/5764/693 3933/5741/690 -f 3925/5743/689 3924/5757/692 3892/5744/684 -f 3900/5745/684 3931/5769/692 3936/5746/687 -f 3935/5748/694 3934/5764/693 3903/5740/683 -f 3894/5750/688 3926/5756/690 3925/5743/689 -f 3932/5751/689 3931/5769/692 3900/5745/684 -f 3897/5752/686 3929/5767/687 3923/5753/691 -f 3895/5755/683 3927/5770/693 3926/5756/690 -f 3902/5742/688 3933/5741/690 3932/5751/689 -f 3924/5757/692 3929/5767/687 3897/5752/686 -f 3905/5747/686 3936/5746/687 3930/5758/691 -f 3928/5760/694 3927/5770/693 3895/5755/683 -f 3950/5762/697 3944/5817/699 3930/5758/691 -f 3940/5763/698 3939/5850/700 3925/5743/689 -f 3934/5764/693 3948/5771/695 3947/5765/698 -f 3943/5766/697 3937/5821/699 3923/5753/691 -f 3945/5768/696 3950/5762/697 3936/5746/687 -f 3927/5770/693 3941/5773/695 3940/5763/698 -f 3935/5748/694 3949/5819/701 3948/5771/695 -f 3938/5772/696 3943/5766/697 3929/5767/687 -f 3932/5751/689 3946/5878/700 3945/5768/696 -f 3928/5760/694 3942/5823/701 3941/5773/695 -f 3925/5743/689 3939/5850/700 3938/5772/696 -f 3947/5765/698 3946/5878/700 3932/5751/689 -f 3963/5774/694 3962/5802/693 3919/5775/683 -f 3954/5777/690 3953/5794/689 3909/5714/682 -f 3960/5779/689 3959/5806/692 3916/5780/684 -f 3913/5781/686 3957/5804/687 3951/5782/691 -f 3911/5784/683 3955/5797/693 3954/5777/690 -f 3961/5785/690 3960/5779/689 3917/5683/682 -f 3952/5787/692 3957/5804/687 3913/5781/686 -f 3921/5789/686 3964/5795/687 3958/5790/691 -f 3956/5792/694 3955/5797/693 3911/5784/683 -f 3919/5775/683 3962/5802/693 3961/5785/690 -f 3953/5794/689 3952/5787/692 3908/5788/684 -f 3916/5780/684 3959/5806/692 3964/5795/687 -f 3956/5792/694 3970/5815/701 3969/5796/695 -f 3953/5794/689 3967/5841/700 3966/5798/696 -f 3975/5799/698 3974/5870/700 3960/5779/689 -f 3978/5800/697 3972/5809/699 3958/5790/691 -f 3968/5801/698 3967/5841/700 3953/5794/689 -f 3962/5802/693 3976/5807/695 3975/5799/698 -f 3971/5803/697 3965/5813/699 3951/5782/691 -f 3973/5805/696 3978/5800/697 3964/5795/687 -f 3955/5797/693 3969/5796/695 3968/5801/698 -f 3963/5774/694 3977/5811/701 3976/5807/695 -f 3966/5798/696 3971/5803/697 3957/5804/687 -f 3960/5779/689 3974/5870/700 3973/5805/696 -f 3995/5824/730 3994/5885/671 3948/5825/695 -f 4003/5827/655 3997/6028/662 3965/5828/699 -f 3972/5830/699 4004/6029/734 3982/5831/731 -f 3979/5833/658 3988/5864/664 3942/5834/701 -f 3998/5836/665 4003/5827/655 3971/5829/697 -f 3989/5838/655 3983/5886/662 3937/5839/699 -f 3967/5841/700 3999/6030/659 3998/5836/665 -f 3982/5842/731 4009/6031/730 3977/5843/701 -f 3984/5845/665 3989/5838/655 3943/5840/697 -f 4000/5847/663 3999/6030/659 3967/5841/700 -f 3985/5849/659 3984/5845/665 3938/5846/696 -f 4001/5851/653 4000/5847/663 3968/5848/698 -f 3965/5828/699 3997/6028/662 3981/5853/658 -f 3986/5855/663 3985/5849/659 3939/5850/700 -f 3970/5857/701 4002/6032/664 4001/5851/653 -f 3987/5858/653 3986/5855/663 3940/5856/698 -f 4010/5860/732 4004/6029/734 3972/5830/699 -f 3981/5862/658 4002/6032/664 3970/5857/701 -f 3988/5864/664 3987/5858/653 3941/5859/695 -f 4005/5865/733 4010/5860/732 3978/5861/697 -f 3996/5867/732 3990/5871/734 3944/5868/699 -f 3974/5870/700 4006/6033/736 4005/5865/733 -f 3990/5871/734 3980/6034/731 3906/5872/656 -f 3991/5873/733 3996/5867/732 3950/5869/697 -f 4007/5875/735 4006/6033/736 3974/5870/700 -f 3992/5877/736 3991/5873/733 3945/5874/696 -f 4008/5879/671 4007/5875/735 3975/5876/698 -f 3980/5881/731 3995/5824/730 3949/5826/701 -f 3993/5883/735 3992/5877/736 3946/5878/700 -f 3977/5843/701 4009/6031/730 4008/5879/671 -f 3994/5885/671 3993/5883/735 3947/5884/698 -f 3983/5886/662 3979/6035/658 3898/5887/656 -f 3980/5888/731 4011/5925/741 4017/5889/737 -f 4020/5891/738 4024/5907/661 4010/5860/732 -f 4016/5893/739 4015/5911/742 3992/5894/736 -f 3996/5867/732 4018/5920/661 4013/5896/740 -f 4006/5898/736 4021/5915/742 4020/5891/738 -f 4014/5899/738 4018/5920/661 3996/5867/732 -f 4004/5901/734 4019/5923/740 4012/5902/741 -f 4022/5904/739 4021/5915/742 4006/5898/736 -f 4013/5896/740 4011/5918/741 3980/5906/731 -f 4024/5907/661 4019/5923/740 4004/5901/734 -f 3982/5908/731 4012/5914/741 4023/5909/737 -f 4015/5911/742 4014/5899/738 3991/5900/733 -f 4029/5912/743 4028/6036/745 4014/5899/738 -f 4026/5913/744 4037/5931/749 4023/5909/737 -f 4021/5915/742 4035/6037/743 4034/5916/745 -f 4016/5893/739 4030/5929/747 4029/5912/743 -f 4013/5896/740 4027/6038/748 4025/5917/744 -f 4032/5919/746 4027/6038/748 4013/5896/740 -f 4036/5921/747 4035/6037/743 4021/5915/742 -f 4038/5922/746 4033/5926/748 4019/5923/740 -f 4025/5924/744 4031/5928/749 4017/5889/737 -f 4014/5899/738 4028/6036/745 4032/5919/746 -f 4033/5926/748 4026/6039/744 4012/5902/741 -f 4034/5916/745 4038/5922/746 4024/5907/661 -f 4054/5932/652 4049/5946/656 4033/5933/748 -f 4047/5934/657 4039/5940/654 3994/5935/671 -f 4050/5937/672 4054/5932/652 4038/5922/746 -f 4035/5939/743 4051/6040/659 4050/5937/672 -f 4039/5940/654 4046/5959/689 4030/5941/747 -f 4052/5942/689 4051/6040/659 4035/5939/743 -f 4048/5944/652 4043/5957/656 4027/5945/748 -f 4049/5946/656 4042/6041/658 4026/5947/744 -f 4044/5948/672 4048/5944/652 4032/5919/746 -f 4040/5950/654 4052/5942/689 4036/5943/747 -f 4042/5952/658 4053/5960/657 4037/5953/749 -f 4045/5955/659 4044/5948/672 4028/5949/745 -f 4043/5957/656 4041/6042/658 4025/5958/744 -f 4046/5959/689 4045/5955/659 4029/5956/743 -f 4053/5960/657 4040/5950/654 4008/5951/671 -f 4041/5961/658 4047/5934/657 4031/5936/749 +f 3084/5529/661 3069/5530/652 3076/5531/661 +f 3082/5532/670 3075/5533/655 3074/5534/670 +f 3080/5535/671 3073/5536/654 3072/5537/671 +f 3077/5538/660 3071/5539/653 3070/5540/660 +f 3083/5541/655 3076/5531/661 3075/5533/655 +f 3081/5542/654 3074/5534/670 3073/5543/654 +f 3079/5544/653 3072/5537/671 3071/5539/653 +f 3078/5545/652 3070/5540/660 3069/5530/652 +f 3099/5546/661 3114/5547/673 3098/5548/673 +f 3092/5549/674 3107/5550/671 3091/5551/671 +f 3100/5552/675 3115/5553/661 3099/5546/661 +f 3093/5554/654 3108/5555/674 3092/5549/674 +f 3086/5556/676 3101/5557/652 3085/5558/652 +f 3085/5558/652 3116/5559/675 3100/5552/675 +f 3094/5560/677 3109/5561/654 3093/5562/654 +f 3087/5563/660 3102/5564/676 3086/5556/676 +f 3095/5565/670 3110/5566/677 3094/5560/677 +f 3088/5567/678 3103/5568/660 3087/5563/660 +f 3096/5569/679 3111/5570/670 3095/5565/670 +f 3089/5571/653 3104/5572/678 3088/5567/678 +f 3097/5573/655 3112/5574/679 3096/5569/679 +f 3090/5575/680 3105/5576/653 3089/5571/653 +f 3098/5548/673 3113/5577/655 3097/5573/655 +f 3091/5551/671 3106/5578/680 3090/5575/680 +f 3181/5579/655 3214/5580/681 3182/5581/661 +f 3194/5582/671 3227/5583/682 3195/5584/654 +f 3169/5585/660 3207/5586/683 3175/5587/653 +f 3195/5584/654 3228/5588/684 3196/5589/670 +f 3184/5590/652 3209/5591/685 3177/5592/660 +f 3207/5586/683 3170/5593/671 3175/5587/653 +f 3196/5589/670 3229/5594/686 3197/5595/655 +f 3214/5580/681 3184/5596/652 3182/5581/661 +f 3170/5593/671 3203/5597/682 3171/5598/654 +f 3197/5595/655 3230/5599/681 3198/5600/661 +f 3185/5601/660 3223/5602/683 3191/5603/653 +f 3171/5598/654 3204/5604/684 3172/5605/670 +f 3200/5606/652 3225/5607/685 3193/5608/660 +f 3223/5602/683 3186/5609/671 3191/5603/653 +f 3172/5605/670 3205/5610/686 3173/5611/655 +f 3230/5599/681 3200/5612/652 3198/5600/661 +f 3186/5609/671 3219/5613/682 3187/5614/654 +f 3173/5611/655 3206/5615/681 3174/5616/661 +f 3187/5614/654 3220/5617/684 3188/5618/670 +f 3176/5619/652 3201/5620/685 3169/5585/660 +f 3188/5618/670 3221/5621/686 3189/5622/655 +f 3206/5615/681 3176/5623/652 3174/5616/661 +f 3189/5622/655 3222/5624/681 3190/5625/661 +f 3177/5592/660 3215/5626/683 3183/5627/653 +f 3192/5628/652 3217/5629/685 3185/5601/660 +f 3215/5626/683 3178/5630/671 3183/5627/653 +f 3222/5624/681 3192/5631/652 3190/5625/661 +f 3178/5630/671 3211/5632/682 3179/5633/654 +f 3193/5608/660 3231/5634/683 3199/5635/653 +f 3179/5633/654 3212/5636/684 3180/5637/670 +f 3231/5634/683 3194/5582/671 3199/5635/653 +f 3180/5637/670 3213/5638/686 3181/5579/655 +f 3212/5639/684 3244/5640/687 3213/5641/686 +f 3202/5642/688 3235/5643/689 3203/5597/682 +f 3215/5644/683 3241/5645/690 3210/5646/688 +f 3214/5647/681 3244/5640/687 3245/5648/691 +f 3204/5649/684 3235/5643/689 3236/5650/692 +f 3211/5632/682 3241/5645/690 3242/5651/689 +f 3201/5652/685 3239/5653/693 3207/5654/683 +f 3204/5649/684 3237/5655/687 3205/5656/686 +f 3212/5639/684 3242/5651/689 3243/5657/692 +f 3207/5654/683 3234/5658/690 3202/5642/688 +f 3209/5659/685 3246/5660/693 3215/5644/683 +f 3205/5656/686 3238/5661/691 3206/5662/681 +f 3240/5663/694 3260/5664/695 3246/5660/693 +f 3235/5643/689 3250/5665/696 3236/5650/692 +f 3244/5640/687 3257/5666/696 3258/5667/697 +f 3233/5668/694 3253/5669/695 3239/5653/693 +f 3246/5660/693 3255/5670/698 3241/5645/690 +f 3237/5655/687 3250/5665/696 3251/5671/697 +f 3245/5648/691 3258/5667/697 3259/5672/699 +f 3239/5653/693 3248/5673/698 3234/5658/690 +f 3241/5645/690 3256/5674/700 3242/5651/689 +f 3238/5661/691 3251/5671/697 3252/5675/699 +f 3235/5643/689 3248/5673/698 3249/5676/700 +f 3242/5651/689 3257/5666/696 3243/5657/692 +f 3230/5677/681 3272/5678/687 3273/5679/691 +f 3220/5680/684 3263/5681/689 3264/5682/692 +f 3226/5683/688 3270/5684/689 3227/5583/682 +f 3223/5685/683 3261/5686/694 3267/5687/693 +f 3221/5688/686 3264/5682/692 3265/5689/687 +f 3227/5583/682 3271/5690/692 3228/5691/684 +f 3223/5685/683 3262/5692/690 3218/5693/688 +f 3231/5694/683 3268/5695/694 3274/5696/693 +f 3221/5688/686 3266/5697/691 3222/5698/681 +f 3229/5699/686 3271/5690/692 3272/5678/687 +f 3218/5693/688 3263/5681/689 3219/5613/682 +f 3231/5694/683 3269/5700/690 3226/5683/688 +f 3266/5697/691 3279/5701/697 3280/5702/699 +f 3263/5681/689 3276/5703/698 3277/5704/700 +f 3270/5684/689 3285/5705/696 3271/5690/692 +f 3268/5695/694 3288/5706/695 3274/5696/693 +f 3263/5681/689 3278/5707/696 3264/5682/692 +f 3271/5690/692 3286/5708/697 3272/5678/687 +f 3261/5686/694 3281/5709/695 3267/5687/693 +f 3274/5696/693 3283/5710/698 3269/5700/690 +f 3264/5682/692 3279/5701/697 3265/5689/687 +f 3272/5678/687 3287/5711/699 3273/5679/691 +f 3262/5692/690 3281/5709/695 3276/5703/698 +f 3270/5684/689 3283/5710/698 3284/5712/700 +f 3225/5713/685 3232/5714/656 3268/5695/694 +f 3268/5695/694 3232/5714/656 3282/5715/701 +f 3230/5677/681 3273/5679/691 3232/5716/656 +f 3273/5679/691 3287/5711/699 3232/5716/656 +f 3217/5717/685 3224/5718/656 3261/5686/694 +f 3261/5686/694 3224/5718/656 3275/5719/701 +f 3222/5698/681 3266/5697/691 3224/5720/656 +f 3266/5697/691 3280/5702/699 3224/5720/656 +f 3209/5659/685 3216/5721/656 3240/5663/694 +f 3240/5663/694 3216/5721/656 3254/5722/701 +f 3214/5647/681 3245/5648/691 3216/5723/656 +f 3245/5648/691 3259/5672/699 3216/5723/656 +f 3201/5652/685 3208/5724/656 3233/5668/694 +f 3233/5668/694 3208/5724/656 3247/5725/701 +f 3206/5662/681 3238/5661/691 3208/5726/656 +f 3238/5661/691 3252/5675/699 3208/5726/656 +f 3258/5727/697 3305/5728/702 3259/5729/699 +f 3275/5730/701 3313/5731/653 3281/5732/695 +f 3282/5733/701 3292/5734/703 3314/5735/704 +f 3252/5736/699 3289/5737/658 3208/5738/656 +f 3281/5732/695 3308/5739/663 3276/5740/698 +f 3247/5741/701 3299/5742/653 3253/5743/695 +f 3277/5704/700 3308/5739/663 3309/5744/659 +f 3287/5745/699 3292/5746/703 3232/5747/656 +f 3253/5743/695 3294/5748/663 3248/5749/698 +f 3277/5704/700 3310/5750/665 3278/5751/696 +f 3248/5749/698 3295/5752/659 3249/5676/700 +f 3278/5751/696 3311/5753/655 3279/5754/697 +f 3275/5730/701 3291/5755/658 3307/5756/664 +f 3249/5676/700 3296/5757/665 3250/5758/696 +f 3280/5759/699 3311/5753/655 3312/5760/662 +f 3250/5758/696 3297/5761/655 3251/5762/697 +f 3282/5733/701 3320/5763/705 3288/5764/695 +f 3280/5759/699 3291/5765/658 3224/5766/656 +f 3252/5736/699 3297/5761/655 3298/5767/662 +f 3288/5764/695 3315/5768/706 3283/5769/698 +f 3254/5770/701 3306/5771/705 3260/5772/695 +f 3284/5712/700 3315/5768/706 3316/5773/707 +f 3216/5774/656 3300/5775/704 3254/5770/701 +f 3260/5772/695 3301/5776/706 3255/5777/698 +f 3284/5712/700 3317/5778/708 3285/5779/696 +f 3255/5777/698 3302/5780/707 3256/5674/700 +f 3285/5779/696 3318/5781/670 3286/5782/697 +f 3259/5729/699 3290/5783/703 3216/5784/656 +f 3256/5674/700 3303/5785/708 3257/5786/696 +f 3287/5745/699 3318/5781/670 3319/5787/702 +f 3257/5786/696 3304/5788/670 3258/5727/697 +f 3208/5789/656 3293/5790/664 3247/5741/701 +f 3290/5791/703 3327/5792/709 3321/5793/710 +f 3320/5763/705 3330/5794/711 3315/5795/706 +f 3302/5796/707 3326/5797/712 3303/5798/708 +f 3306/5771/705 3323/5799/713 3328/5800/660 +f 3316/5801/707 3330/5794/711 3331/5802/714 +f 3306/5771/705 3324/5803/711 3301/5804/706 +f 3314/5805/704 3322/5806/710 3329/5807/713 +f 3316/5801/707 3332/5808/712 3317/5809/708 +f 3290/5810/703 3323/5799/713 3300/5811/704 +f 3314/5805/704 3334/5812/660 3320/5763/705 +f 3292/5813/703 3333/5814/709 3322/5815/710 +f 3301/5804/706 3325/5816/714 3302/5796/707 +f 3325/5816/714 3338/5817/715 3339/5818/716 +f 3333/5814/709 3336/5819/717 3322/5815/710 +f 3331/5802/714 3344/5820/715 3345/5821/716 +f 3326/5797/712 3339/5818/716 3340/5822/718 +f 3323/5799/713 3335/5823/717 3337/5824/719 +f 3323/5799/713 3342/5825/720 3328/5800/660 +f 3332/5808/712 3345/5821/716 3346/5826/718 +f 3329/5807/713 3348/5827/720 3334/5812/660 +f 3327/5792/709 3335/5828/717 3321/5793/710 +f 3324/5803/711 3342/5825/720 3338/5817/715 +f 3322/5806/710 3343/5829/719 3329/5807/713 +f 3334/5812/660 3344/5820/715 3330/5794/711 +f 3305/5830/702 3304/5831/670 3327/5792/709 +f 3327/5792/709 3304/5831/670 3341/5832/721 +f 3303/5798/708 3326/5797/712 3304/5831/670 +f 3326/5797/712 3340/5822/718 3304/5831/670 +f 3317/5809/708 3332/5808/712 3318/5833/670 +f 3332/5808/712 3346/5826/718 3318/5833/670 +f 3319/5834/702 3318/5833/670 3333/5814/709 +f 3333/5814/709 3318/5833/670 3347/5835/721 +f 3343/5836/719 3364/5837/652 3348/5827/720 +f 3304/5838/670 3357/5839/657 3341/5840/721 +f 3348/5827/720 3360/5841/672 3344/5842/715 +f 3345/5843/716 3360/5841/672 3361/5844/659 +f 3340/5845/718 3349/5846/654 3304/5838/670 +f 3345/5843/716 3362/5847/689 3346/5848/718 +f 3337/5849/719 3358/5850/652 3342/5825/720 +f 3336/5851/717 3359/5852/656 3343/5836/719 +f 3342/5825/720 3354/5853/672 3338/5854/715 +f 3346/5848/718 3350/5855/654 3318/5856/670 +f 3347/5857/721 3352/5858/658 3336/5859/717 +f 3338/5854/715 3355/5860/659 3339/5861/716 +f 3335/5862/717 3353/5863/656 3337/5849/719 +f 3339/5861/716 3356/5864/689 3340/5845/718 +f 3318/5856/670 3363/5865/657 3347/5857/721 +f 3341/5840/721 3351/5866/658 3335/5867/717 +f 3659/5868/722 3665/5869/664 3658/5870/664 +f 3657/5871/653 3663/5872/663 3656/5873/663 +f 3661/5874/665 3667/5875/723 3660/5876/723 +f 3658/5870/664 3664/5877/653 3657/5871/653 +f 3656/5873/663 3662/5878/659 3655/5879/659 +f 3655/5880/659 3668/5881/665 3661/5874/665 +f 3673/5882/722 3677/5883/664 3672/5884/664 +f 3671/5885/653 3675/5886/663 3670/5887/663 +f 3672/5884/664 3676/5888/653 3671/5885/653 +f 3670/5887/663 3674/5889/724 3669/5890/724 +f 3683/5891/722 3687/5892/664 3682/5893/664 +f 3681/5894/653 3685/5895/663 3680/5896/663 +f 3682/5893/664 3686/5897/653 3681/5894/653 +f 3680/5896/663 3684/5898/724 3679/5899/724 +f 3693/5900/722 3697/5901/664 3692/5902/664 +f 3691/5903/653 3695/5904/663 3690/5905/663 +f 3692/5902/664 3696/5906/653 3691/5903/653 +f 3690/5905/663 3694/5907/724 3689/5908/724 +f 3703/5909/722 3707/5910/664 3702/5911/664 +f 3701/5912/653 3705/5913/663 3700/5914/663 +f 3702/5911/664 3706/5915/653 3701/5912/653 +f 3700/5914/663 3704/5916/724 3699/5917/724 +f 3715/5918/725 3721/5919/662 3714/5920/662 +f 3713/5921/658 3719/5922/664 3712/5923/664 +f 3711/5924/653 3717/5925/663 3710/5926/663 +f 3714/5920/662 3720/5927/658 3713/5921/658 +f 3712/5923/664 3718/5928/653 3711/5924/653 +f 3710/5926/663 3716/5929/724 3709/5930/724 +f 3728/5931/655 3734/5932/662 3727/5933/662 +f 3725/5934/726 3731/5935/663 3724/5936/663 +f 3729/5937/665 3735/5938/655 3728/5931/655 +f 3727/5933/662 3733/5939/727 3726/5940/727 +f 3724/5936/663 3730/5941/659 3723/5942/659 +f 3723/5943/659 3736/5944/665 3729/5937/665 +f 3740/5945/655 3744/5946/662 3739/5947/662 +f 3741/5948/665 3745/5949/655 3740/5945/655 +f 3739/5947/662 3743/5950/727 3738/5951/727 +f 3737/5952/728 3746/5953/665 3741/5948/665 +f 3750/5954/655 3754/5955/662 3749/5956/662 +f 3751/5957/665 3755/5958/655 3750/5954/655 +f 3749/5956/662 3753/5959/727 3748/5960/727 +f 3747/5961/728 3756/5962/665 3751/5957/665 +f 3760/5963/655 3764/5964/662 3759/5965/662 +f 3761/5966/665 3765/5967/655 3760/5963/655 +f 3759/5965/662 3763/5968/727 3758/5969/727 +f 3757/5970/728 3766/5971/665 3761/5966/665 +f 3770/5972/655 3774/5973/662 3769/5974/662 +f 3771/5975/665 3775/5976/655 3770/5972/655 +f 3769/5974/662 3773/5977/727 3768/5978/727 +f 3767/5979/728 3776/5980/665 3771/5975/665 +f 3782/5981/655 3788/5982/662 3781/5983/662 +f 3780/5984/658 3786/5985/664 3779/5986/664 +f 3783/5987/665 3789/5988/655 3782/5981/655 +f 3781/5983/662 3787/5989/658 3780/5984/658 +f 3779/5986/664 3785/5990/729 3778/5991/729 +f 3777/5992/728 3790/5993/665 3783/5987/665 +f 3793/5994/726 3797/5995/663 3792/5996/663 +f 3795/5997/665 3799/5998/723 3794/5999/723 +f 3792/5996/663 3796/6000/659 3791/6001/659 +f 3791/6002/659 3800/6003/665 3795/5997/665 +f 3805/6004/725 3809/6005/662 3804/6006/662 +f 3803/6007/658 3807/6008/664 3802/6009/664 +f 3804/6006/662 3808/6010/658 3803/6007/658 +f 3802/6009/664 3806/6011/729 3801/6012/729 +f 3813/6013/726 3817/6014/663 3812/6015/663 +f 3815/6016/665 3819/6017/723 3814/6018/723 +f 3812/6015/663 3816/6019/659 3811/6020/659 +f 3811/6021/659 3820/6022/665 3815/6016/665 +f 3825/6023/725 3829/6024/662 3824/6025/662 +f 3823/6026/658 3827/6027/664 3822/6028/664 +f 3824/6025/662 3828/6029/658 3823/6026/658 +f 3822/6028/664 3826/6030/729 3821/6031/729 +f 3833/6032/726 3837/6033/663 3832/6034/663 +f 3835/6035/665 3839/6036/723 3834/6037/723 +f 3832/6034/663 3836/6038/659 3831/6039/659 +f 3831/6040/659 3840/6041/665 3835/6035/665 +f 3845/6042/725 3849/6043/662 3844/6044/662 +f 3843/6045/658 3847/6046/664 3842/6047/664 +f 3844/6044/662 3848/6048/658 3843/6045/658 +f 3842/6047/664 3846/6049/729 3841/6050/729 +f 3853/6051/726 3857/6052/663 3852/6053/663 +f 3855/6054/665 3859/6055/723 3854/6056/723 +f 3852/6053/663 3856/6057/659 3851/6058/659 +f 3851/6059/659 3860/6060/665 3855/6054/665 +f 3865/6061/725 3869/6062/662 3864/6063/662 +f 3863/6064/658 3867/6065/664 3862/6066/664 +f 3864/6063/662 3868/6067/658 3863/6064/658 +f 3862/6066/664 3866/6068/729 3861/6069/729 +f 4061/6070/661 4076/6071/673 4060/6072/673 +f 4054/6073/674 4069/6074/671 4053/6075/671 +f 4062/6076/675 4077/6077/661 4061/6070/661 +f 4055/6078/654 4070/6079/674 4054/6073/674 +f 4048/6080/676 4063/6081/652 4047/6082/652 +f 4047/6082/652 4078/6083/675 4062/6076/675 +f 4056/6084/677 4071/6085/654 4055/6086/654 +f 4049/6087/660 4064/6088/676 4048/6080/676 +f 4057/6089/670 4072/6090/677 4056/6084/677 +f 4050/6091/678 4065/6092/660 4049/6087/660 +f 4058/6093/679 4073/6094/670 4057/6089/670 +f 4051/6095/653 4066/6096/678 4050/6091/678 +f 4059/6097/655 4074/6098/679 4058/6093/679 +f 4052/6099/680 4067/6100/653 4051/6095/653 +f 4060/6072/673 4075/6101/655 4059/6097/655 +f 4053/6075/671 4068/6102/680 4052/6099/680 +f 4242/6103/661 4227/6104/652 4234/6105/661 +f 4240/6106/670 4233/6107/655 4232/6108/670 +f 4238/6109/671 4231/6110/654 4230/6111/671 +f 4235/6112/660 4229/6113/653 4228/6114/660 +f 4241/6115/655 4234/6105/661 4233/6107/655 +f 4239/6116/654 4232/6108/670 4231/6117/654 +f 4237/6118/653 4230/6111/671 4229/6113/653 +f 4236/6119/652 4228/6114/660 4227/6104/652 +f 4258/6120/661 4243/6121/652 4250/6122/661 +f 4256/6123/670 4249/6124/655 4248/6125/670 +f 4254/6126/671 4247/6127/654 4246/6128/671 +f 4251/6129/660 4245/6130/653 4244/6131/660 +f 4257/6132/655 4250/6122/661 4249/6124/655 +f 4255/6133/654 4248/6125/670 4247/6134/654 +f 4253/6135/653 4246/6128/671 4245/6130/653 +f 4252/6136/652 4244/6131/660 4243/6121/652 +f 4274/6137/661 4259/6138/652 4266/6139/661 +f 4272/6140/670 4265/6141/655 4264/6142/670 +f 4270/6143/671 4263/6144/654 4262/6145/671 +f 4267/6146/660 4261/6147/653 4260/6148/660 +f 4273/6149/655 4266/6139/661 4265/6141/655 +f 4271/6150/654 4264/6142/670 4263/6151/654 +f 4269/6152/653 4262/6145/671 4261/6147/653 +f 4268/6153/652 4260/6148/660 4259/6138/652 +f 4320/6154/685 4287/6155/653 4288/6156/660 +f 4333/6157/682 4300/6158/670 4301/6159/654 +f 4313/6160/686 4275/6161/661 4281/6162/655 +f 4334/6163/688 4301/6159/654 4302/6164/671 +f 4315/6165/681 4290/6166/652 4283/6167/661 +f 4276/6168/670 4313/6160/686 4281/6162/655 +f 4335/6169/683 4302/6164/671 4303/6170/653 +f 4290/6171/652 4320/6154/685 4288/6156/660 +f 4309/6172/682 4276/6168/670 4277/6173/654 +f 4336/6174/685 4303/6170/653 4304/6175/660 +f 4329/6176/686 4291/6177/661 4297/6178/655 +f 4310/6179/688 4277/6173/654 4278/6180/671 +f 4331/6181/681 4306/6182/652 4299/6183/661 +f 4292/6184/670 4329/6176/686 4297/6178/655 +f 4311/6185/683 4278/6180/671 4279/6186/653 +f 4306/6187/652 4336/6174/685 4304/6175/660 +f 4325/6188/682 4292/6184/670 4293/6189/654 +f 4312/6190/685 4279/6186/653 4280/6191/660 +f 4326/6192/688 4293/6189/654 4294/6193/671 +f 4307/6194/681 4282/6195/652 4275/6161/661 +f 4327/6196/683 4294/6193/671 4295/6197/653 +f 4282/6198/652 4312/6190/685 4280/6191/660 +f 4328/6199/685 4295/6197/653 4296/6200/660 +f 4321/6201/686 4283/6167/661 4289/6202/655 +f 4323/6203/681 4298/6204/652 4291/6177/661 +f 4284/6205/670 4321/6201/686 4289/6202/655 +f 4298/6206/652 4328/6199/685 4296/6200/660 +f 4317/6207/682 4284/6205/670 4285/6208/654 +f 4337/6209/686 4299/6183/661 4305/6210/655 +f 4318/6211/688 4285/6208/654 4286/6212/671 +f 4300/6158/670 4337/6209/686 4305/6210/655 +f 4319/6213/683 4286/6212/671 4287/6155/653 +f 4319/6214/683 4349/6215/690 4318/6216/688 +f 4341/6217/689 4308/6218/684 4309/6172/682 +f 4316/6219/684 4352/6220/687 4321/6221/686 +f 4351/6222/694 4319/6214/683 4320/6223/685 +f 4310/6224/688 4341/6217/689 4309/6172/682 +f 4348/6225/689 4316/6219/684 4317/6207/682 +f 4313/6226/686 4339/6227/691 4307/6228/681 +f 4311/6229/683 4342/6230/690 4310/6224/688 +f 4318/6216/688 4348/6225/689 4317/6207/682 +f 4340/6231/692 4313/6226/686 4308/6218/684 +f 4321/6221/686 4346/6232/691 4315/6233/681 +f 4344/6234/694 4311/6229/683 4312/6235/685 +f 4366/6236/697 4346/6232/691 4352/6220/687 +f 4356/6237/698 4341/6217/689 4342/6230/690 +f 4350/6238/693 4363/6239/698 4349/6215/690 +f 4359/6240/697 4339/6227/691 4345/6241/687 +f 4361/6242/696 4352/6220/687 4347/6243/692 +f 4343/6244/693 4356/6237/698 4342/6230/690 +f 4351/6222/694 4364/6245/695 4350/6238/693 +f 4354/6246/696 4345/6241/687 4340/6231/692 +f 4348/6225/689 4361/6242/696 4347/6243/692 +f 4344/6234/694 4357/6247/695 4343/6244/693 +f 4341/6217/689 4354/6246/696 4340/6231/692 +f 4363/6239/698 4348/6225/689 4349/6215/690 +f 4379/6248/694 4335/6249/683 4336/6250/685 +f 4370/6251/690 4325/6188/682 4326/6252/688 +f 4376/6253/689 4332/6254/684 4333/6157/682 +f 4329/6255/686 4367/6256/691 4323/6257/681 +f 4327/6258/683 4370/6251/690 4326/6252/688 +f 4377/6259/690 4333/6157/682 4334/6260/688 +f 4368/6261/692 4329/6255/686 4324/6262/684 +f 4337/6263/686 4374/6264/691 4331/6265/681 +f 4372/6266/694 4327/6258/683 4328/6267/685 +f 4335/6249/683 4377/6259/690 4334/6260/688 +f 4369/6268/689 4324/6262/684 4325/6188/682 +f 4332/6254/684 4380/6269/687 4337/6263/686 +f 4372/6266/694 4385/6270/695 4371/6271/693 +f 4369/6268/689 4382/6272/696 4368/6261/692 +f 4391/6273/698 4376/6253/689 4377/6259/690 +f 4394/6274/697 4374/6264/691 4380/6269/687 +f 4384/6275/698 4369/6268/689 4370/6251/690 +f 4378/6276/693 4391/6273/698 4377/6259/690 +f 4387/6277/697 4367/6256/691 4373/6278/687 +f 4389/6279/696 4380/6269/687 4375/6280/692 +f 4371/6271/693 4384/6275/698 4370/6251/690 +f 4379/6248/694 4392/6281/695 4378/6276/693 +f 4382/6272/696 4373/6278/687 4368/6261/692 +f 4376/6253/689 4389/6279/696 4375/6280/692 +f 4331/6265/681 4374/6264/691 4338/6282/656 +f 4374/6264/691 4388/6283/699 4338/6282/656 +f 4336/6250/685 4338/6284/656 4379/6248/694 +f 4379/6248/694 4338/6284/656 4393/6285/701 +f 4323/6257/681 4367/6256/691 4330/6286/656 +f 4367/6256/691 4381/6287/699 4330/6286/656 +f 4328/6267/685 4330/6288/656 4372/6266/694 +f 4372/6266/694 4330/6288/656 4386/6289/701 +f 4315/6233/681 4346/6232/691 4322/6290/656 +f 4346/6232/691 4360/6291/699 4322/6290/656 +f 4320/6223/685 4322/6292/656 4351/6222/694 +f 4351/6222/694 4322/6292/656 4365/6293/701 +f 4307/6228/681 4339/6227/691 4314/6294/656 +f 4339/6227/691 4353/6295/699 4314/6294/656 +f 4312/6235/685 4314/6296/656 4344/6234/694 +f 4344/6234/694 4314/6296/656 4358/6297/701 +f 4411/6298/730 4364/6299/695 4365/6300/701 +f 4419/6301/655 4381/6302/699 4387/6303/697 +f 4388/6304/699 4398/6305/731 4338/6306/656 +f 4395/6307/658 4358/6308/701 4314/6309/656 +f 4414/6310/665 4387/6303/697 4382/6311/696 +f 4405/6312/655 4353/6313/699 4359/6314/697 +f 4383/6315/700 4414/6310/665 4382/6311/696 +f 4398/6316/731 4393/6317/701 4338/6318/656 +f 4400/6319/665 4359/6314/697 4354/6320/696 +f 4416/6321/663 4383/6315/700 4384/6322/698 +f 4401/6323/659 4354/6320/696 4355/6324/700 +f 4417/6325/653 4384/6322/698 4385/6326/695 +f 4381/6302/699 4397/6327/658 4330/6328/656 +f 4402/6329/663 4355/6324/700 4356/6330/698 +f 4386/6331/701 4417/6325/653 4385/6326/695 +f 4403/6332/653 4356/6330/698 4357/6333/695 +f 4426/6334/732 4388/6304/699 4394/6335/697 +f 4397/6336/658 4386/6331/701 4330/6337/656 +f 4404/6338/664 4357/6333/695 4358/6308/701 +f 4421/6339/733 4394/6335/697 4389/6340/696 +f 4412/6341/732 4360/6342/699 4366/6343/697 +f 4390/6344/700 4421/6339/733 4389/6340/696 +f 4406/6345/734 4322/6346/656 4360/6342/699 +f 4407/6347/733 4366/6343/697 4361/6348/696 +f 4423/6349/735 4390/6344/700 4391/6350/698 +f 4408/6351/736 4361/6348/696 4362/6352/700 +f 4424/6353/671 4391/6350/698 4392/6354/695 +f 4396/6355/731 4365/6300/701 4322/6356/656 +f 4409/6357/735 4362/6352/700 4363/6358/698 +f 4393/6317/701 4424/6353/671 4392/6354/695 +f 4410/6359/671 4363/6358/698 4364/6299/695 +f 4399/6360/662 4314/6361/656 4353/6313/699 +f 4396/6362/731 4433/6363/737 4411/6364/730 +f 4436/6365/738 4426/6334/732 4421/6366/733 +f 4432/6367/739 4408/6368/736 4409/6369/735 +f 4412/6341/732 4429/6370/740 4406/6371/734 +f 4422/6372/736 4436/6365/738 4421/6366/733 +f 4430/6373/738 4412/6341/732 4407/6374/733 +f 4420/6375/734 4428/6376/741 4398/6377/731 +f 4438/6378/739 4422/6372/736 4423/6379/735 +f 4429/6370/740 4396/6380/731 4406/6371/734 +f 4440/6381/661 4420/6375/734 4426/6334/732 +f 4398/6382/731 4439/6383/737 4425/6384/730 +f 4431/6385/742 4407/6374/733 4408/6368/736 +f 4445/6386/743 4430/6373/738 4431/6385/742 +f 4442/6387/744 4439/6383/737 4428/6388/741 +f 4437/6389/742 4450/6390/745 4436/6365/738 +f 4432/6367/739 4445/6386/743 4431/6385/742 +f 4429/6370/740 4441/6391/744 4427/6392/741 +f 4448/6393/746 4429/6370/740 4434/6394/661 +f 4452/6395/747 4437/6389/742 4438/6378/739 +f 4454/6396/746 4435/6397/740 4440/6381/661 +f 4441/6398/744 4433/6363/737 4427/6399/741 +f 4430/6373/738 4448/6393/746 4434/6394/661 +f 4449/6400/748 4428/6376/741 4435/6397/740 +f 4450/6390/745 4440/6381/661 4436/6365/738 +f 4411/6364/730 4433/6363/737 4410/6401/671 +f 4433/6363/737 4447/6402/749 4410/6401/671 +f 4409/6369/735 4410/6401/671 4432/6367/739 +f 4432/6367/739 4410/6401/671 4446/6403/747 +f 4423/6379/735 4424/6404/671 4438/6378/739 +f 4438/6378/739 4424/6404/671 4452/6395/747 +f 4425/6384/730 4439/6383/737 4424/6404/671 +f 4439/6383/737 4453/6405/749 4424/6404/671 +f 4470/6406/652 4449/6407/748 4454/6396/746 +f 4463/6408/657 4410/6409/671 4447/6410/749 +f 4466/6411/672 4454/6396/746 4450/6412/745 +f 4451/6413/743 4466/6411/672 4450/6412/745 +f 4455/6414/654 4446/6415/747 4410/6409/671 +f 4468/6416/689 4451/6413/743 4452/6417/747 +f 4464/6418/652 4443/6419/748 4448/6393/746 +f 4465/6420/656 4442/6421/744 4449/6407/748 +f 4460/6422/672 4448/6393/746 4444/6423/745 +f 4456/6424/654 4452/6417/747 4424/6425/671 +f 4458/6426/658 4453/6427/749 4442/6428/744 +f 4461/6429/659 4444/6423/745 4445/6430/743 +f 4459/6431/656 4441/6432/744 4443/6419/748 +f 4462/6433/689 4445/6430/743 4446/6415/747 +f 4469/6434/657 4424/6425/671 4453/6427/749 +f 4457/6435/658 4447/6410/749 4441/6436/744 +f 3084/5529/661 3078/5545/652 3069/5530/652 +f 3082/5532/670 3083/5541/655 3075/5533/655 +f 3080/5535/671 3081/6437/654 3073/5536/654 +f 3077/5538/660 3079/5544/653 3071/5539/653 +f 3083/5541/655 3084/5529/661 3076/5531/661 +f 3081/5542/654 3082/5532/670 3074/5534/670 +f 3079/5544/653 3080/5535/671 3072/5537/671 +f 3078/5545/652 3077/5538/660 3070/5540/660 +f 3099/5546/661 3115/5553/661 3114/5547/673 +f 3092/5549/674 3108/5555/674 3107/5550/671 +f 3100/5552/675 3116/5559/675 3115/5553/661 +f 3093/5554/654 3109/6438/654 3108/5555/674 +f 3086/5556/676 3102/5564/676 3101/5557/652 +f 3085/5558/652 3101/5557/652 3116/5559/675 +f 3094/5560/677 3110/5566/677 3109/5561/654 +f 3087/5563/660 3103/5568/660 3102/5564/676 +f 3095/5565/670 3111/5570/670 3110/5566/677 +f 3088/5567/678 3104/5572/678 3103/5568/660 +f 3096/5569/679 3112/5574/679 3111/5570/670 +f 3089/5571/653 3105/5576/653 3104/5572/678 +f 3097/5573/655 3113/5577/655 3112/5574/679 +f 3090/5575/680 3106/5578/680 3105/5576/653 +f 3098/5548/673 3114/5547/673 3113/5577/655 +f 3091/5551/671 3107/5550/671 3106/5578/680 +f 3181/5579/655 3213/5638/686 3214/5580/681 +f 3194/5582/671 3226/6439/688 3227/5583/682 +f 3169/5585/660 3201/5620/685 3207/5586/683 +f 3195/5584/654 3227/5583/682 3228/5588/684 +f 3184/5590/652 3216/6440/656 3209/5591/685 +f 3207/5586/683 3202/6441/688 3170/5593/671 +f 3196/5589/670 3228/5588/684 3229/5594/686 +f 3214/5580/681 3216/6442/656 3184/5596/652 +f 3170/5593/671 3202/6441/688 3203/5597/682 +f 3197/5595/655 3229/5594/686 3230/5599/681 +f 3185/5601/660 3217/5629/685 3223/5602/683 +f 3171/5598/654 3203/5597/682 3204/5604/684 +f 3200/5606/652 3232/6443/656 3225/5607/685 +f 3223/5602/683 3218/6444/688 3186/5609/671 +f 3172/5605/670 3204/5604/684 3205/5610/686 +f 3230/5599/681 3232/6445/656 3200/5612/652 +f 3186/5609/671 3218/6444/688 3219/5613/682 +f 3173/5611/655 3205/5610/686 3206/5615/681 +f 3187/5614/654 3219/5613/682 3220/5617/684 +f 3176/5619/652 3208/6446/656 3201/5620/685 +f 3188/5618/670 3220/5617/684 3221/5621/686 +f 3206/5615/681 3208/6447/656 3176/5623/652 +f 3189/5622/655 3221/5621/686 3222/5624/681 +f 3177/5592/660 3209/5591/685 3215/5626/683 +f 3192/5628/652 3224/6448/656 3217/5629/685 +f 3215/5626/683 3210/6449/688 3178/5630/671 +f 3222/5624/681 3224/6450/656 3192/5631/652 +f 3178/5630/671 3210/6449/688 3211/5632/682 +f 3193/5608/660 3225/5607/685 3231/5634/683 +f 3179/5633/654 3211/5632/682 3212/5636/684 +f 3231/5634/683 3226/6439/688 3194/5582/671 +f 3180/5637/670 3212/5636/684 3213/5638/686 +f 3212/5639/684 3243/5657/692 3244/5640/687 +f 3202/5642/688 3234/5658/690 3235/5643/689 +f 3215/5644/683 3246/5660/693 3241/5645/690 +f 3214/5647/681 3213/5641/686 3244/5640/687 +f 3204/5649/684 3203/5597/682 3235/5643/689 +f 3211/5632/682 3210/5646/688 3241/5645/690 +f 3201/5652/685 3233/5668/694 3239/5653/693 +f 3204/5649/684 3236/5650/692 3237/5655/687 +f 3212/5639/684 3211/5632/682 3242/5651/689 +f 3207/5654/683 3239/5653/693 3234/5658/690 +f 3209/5659/685 3240/5663/694 3246/5660/693 +f 3205/5656/686 3237/5655/687 3238/5661/691 +f 3240/5663/694 3254/5722/701 3260/5664/695 +f 3235/5643/689 3249/5676/700 3250/5665/696 +f 3244/5640/687 3243/5657/692 3257/5666/696 +f 3233/5668/694 3247/5725/701 3253/5669/695 +f 3246/5660/693 3260/5664/695 3255/5670/698 +f 3237/5655/687 3236/5650/692 3250/5665/696 +f 3245/5648/691 3244/5640/687 3258/5667/697 +f 3239/5653/693 3253/5669/695 3248/5673/698 +f 3241/5645/690 3255/5670/698 3256/5674/700 +f 3238/5661/691 3237/5655/687 3251/5671/697 +f 3235/5643/689 3234/5658/690 3248/5673/698 +f 3242/5651/689 3256/5674/700 3257/5666/696 +f 3230/5677/681 3229/5699/686 3272/5678/687 +f 3220/5680/684 3219/5613/682 3263/5681/689 +f 3226/5683/688 3269/5700/690 3270/5684/689 +f 3223/5685/683 3217/5717/685 3261/5686/694 +f 3221/5688/686 3220/5680/684 3264/5682/692 +f 3227/5583/682 3270/5684/689 3271/5690/692 +f 3223/5685/683 3267/5687/693 3262/5692/690 +f 3231/5694/683 3225/5713/685 3268/5695/694 +f 3221/5688/686 3265/5689/687 3266/5697/691 +f 3229/5699/686 3228/5691/684 3271/5690/692 +f 3218/5693/688 3262/5692/690 3263/5681/689 +f 3231/5694/683 3274/5696/693 3269/5700/690 +f 3266/5697/691 3265/5689/687 3279/5701/697 +f 3263/5681/689 3262/5692/690 3276/5703/698 +f 3270/5684/689 3284/5712/700 3285/5705/696 +f 3268/5695/694 3282/5715/701 3288/5706/695 +f 3263/5681/689 3277/5704/700 3278/5707/696 +f 3271/5690/692 3285/5705/696 3286/5708/697 +f 3261/5686/694 3275/5719/701 3281/5709/695 +f 3274/5696/693 3288/5706/695 3283/5710/698 +f 3264/5682/692 3278/5707/696 3279/5701/697 +f 3272/5678/687 3286/5708/697 3287/5711/699 +f 3262/5692/690 3267/5687/693 3281/5709/695 +f 3270/5684/689 3269/5700/690 3283/5710/698 +f 3258/5727/697 3304/5788/670 3305/5728/702 +f 3275/5730/701 3307/5756/664 3313/5731/653 +f 3282/5733/701 3232/6451/656 3292/5734/703 +f 3252/5736/699 3298/5767/662 3289/5737/658 +f 3281/5732/695 3313/5731/653 3308/5739/663 +f 3247/5741/701 3293/5790/664 3299/5742/653 +f 3277/5704/700 3276/5740/698 3308/5739/663 +f 3287/5745/699 3319/5787/702 3292/5746/703 +f 3253/5743/695 3299/5742/653 3294/5748/663 +f 3277/5704/700 3309/5744/659 3310/5750/665 +f 3248/5749/698 3294/5748/663 3295/5752/659 +f 3278/5751/696 3310/5750/665 3311/5753/655 +f 3275/5730/701 3224/6452/656 3291/5755/658 +f 3249/5676/700 3295/5752/659 3296/5757/665 +f 3280/5759/699 3279/5754/697 3311/5753/655 +f 3250/5758/696 3296/5757/665 3297/5761/655 +f 3282/5733/701 3314/5735/704 3320/5763/705 +f 3280/5759/699 3312/5760/662 3291/5765/658 +f 3252/5736/699 3251/5762/697 3297/5761/655 +f 3288/5764/695 3320/5763/705 3315/5768/706 +f 3254/5770/701 3300/5775/704 3306/5771/705 +f 3284/5712/700 3283/5769/698 3315/5768/706 +f 3216/5774/656 3290/6453/703 3300/5775/704 +f 3260/5772/695 3306/5771/705 3301/5776/706 +f 3284/5712/700 3316/5773/707 3317/5778/708 +f 3255/5777/698 3301/5776/706 3302/5780/707 +f 3285/5779/696 3317/5778/708 3318/5781/670 +f 3259/5729/699 3305/5728/702 3290/5783/703 +f 3256/5674/700 3302/5780/707 3303/5785/708 +f 3287/5745/699 3286/5782/697 3318/5781/670 +f 3257/5786/696 3303/5785/708 3304/5788/670 +f 3208/5789/656 3289/6454/658 3293/5790/664 +f 3290/5791/703 3305/5830/702 3327/5792/709 +f 3320/5763/705 3334/5812/660 3330/5794/711 +f 3302/5796/707 3325/5816/714 3326/5797/712 +f 3306/5771/705 3300/5811/704 3323/5799/713 +f 3316/5801/707 3315/5795/706 3330/5794/711 +f 3306/5771/705 3328/5800/660 3324/5803/711 +f 3314/5805/704 3292/6455/703 3322/5806/710 +f 3316/5801/707 3331/5802/714 3332/5808/712 +f 3290/5810/703 3321/6456/710 3323/5799/713 +f 3314/5805/704 3329/5807/713 3334/5812/660 +f 3292/5813/703 3319/5834/702 3333/5814/709 +f 3301/5804/706 3324/5803/711 3325/5816/714 +f 3325/5816/714 3324/5803/711 3338/5817/715 +f 3333/5814/709 3347/5835/721 3336/5819/717 +f 3331/5802/714 3330/5794/711 3344/5820/715 +f 3326/5797/712 3325/5816/714 3339/5818/716 +f 3323/5799/713 3321/6456/710 3335/5823/717 +f 3323/5799/713 3337/5824/719 3342/5825/720 +f 3332/5808/712 3331/5802/714 3345/5821/716 +f 3329/5807/713 3343/5829/719 3348/5827/720 +f 3327/5792/709 3341/5832/721 3335/5828/717 +f 3324/5803/711 3328/5800/660 3342/5825/720 +f 3322/5806/710 3336/6457/717 3343/5829/719 +f 3334/5812/660 3348/5827/720 3344/5820/715 +f 3343/5836/719 3359/5852/656 3364/5837/652 +f 3304/5838/670 3349/5846/654 3357/5839/657 +f 3348/5827/720 3364/5837/652 3360/5841/672 +f 3345/5843/716 3344/5842/715 3360/5841/672 +f 3340/5845/718 3356/5864/689 3349/5846/654 +f 3345/5843/716 3361/5844/659 3362/5847/689 +f 3337/5849/719 3353/5863/656 3358/5850/652 +f 3336/5851/717 3352/6458/658 3359/5852/656 +f 3342/5825/720 3358/5850/652 3354/5853/672 +f 3346/5848/718 3362/5847/689 3350/5855/654 +f 3347/5857/721 3363/5865/657 3352/5858/658 +f 3338/5854/715 3354/5853/672 3355/5860/659 +f 3335/5862/717 3351/6459/658 3353/5863/656 +f 3339/5861/716 3355/5860/659 3356/5864/689 +f 3318/5856/670 3350/5855/654 3363/5865/657 +f 3341/5840/721 3357/5839/657 3351/5866/658 +f 3659/5868/722 3666/6460/722 3665/5869/664 +f 3657/5871/653 3664/5877/653 3663/5872/663 +f 3661/5874/665 3668/5881/665 3667/5875/723 +f 3658/5870/664 3665/5869/664 3664/5877/653 +f 3656/5873/663 3663/5872/663 3662/5878/659 +f 3655/5880/659 3662/6461/659 3668/5881/665 +f 3673/5882/722 3678/6462/722 3677/5883/664 +f 3671/5885/653 3676/5888/653 3675/5886/663 +f 3672/5884/664 3677/5883/664 3676/5888/653 +f 3670/5887/663 3675/5886/663 3674/5889/724 +f 3683/5891/722 3688/6463/722 3687/5892/664 +f 3681/5894/653 3686/5897/653 3685/5895/663 +f 3682/5893/664 3687/5892/664 3686/5897/653 +f 3680/5896/663 3685/5895/663 3684/5898/724 +f 3693/5900/722 3698/6464/722 3697/5901/664 +f 3691/5903/653 3696/5906/653 3695/5904/663 +f 3692/5902/664 3697/5901/664 3696/5906/653 +f 3690/5905/663 3695/5904/663 3694/5907/724 +f 3703/5909/722 3708/6465/722 3707/5910/664 +f 3701/5912/653 3706/5915/653 3705/5913/663 +f 3702/5911/664 3707/5910/664 3706/5915/653 +f 3700/5914/663 3705/5913/663 3704/5916/724 +f 3715/5918/725 3722/6466/725 3721/5919/662 +f 3713/5921/658 3720/5927/658 3719/5922/664 +f 3711/5924/653 3718/5928/653 3717/5925/663 +f 3714/5920/662 3721/5919/662 3720/5927/658 +f 3712/5923/664 3719/5922/664 3718/5928/653 +f 3710/5926/663 3717/5925/663 3716/5929/724 +f 3728/5931/655 3735/5938/655 3734/5932/662 +f 3725/5934/726 3732/6467/726 3731/5935/663 +f 3729/5937/665 3736/5944/665 3735/5938/655 +f 3727/5933/662 3734/5932/662 3733/5939/727 +f 3724/5936/663 3731/5935/663 3730/5941/659 +f 3723/5943/659 3730/6468/659 3736/5944/665 +f 3740/5945/655 3745/5949/655 3744/5946/662 +f 3741/5948/665 3746/5953/665 3745/5949/655 +f 3739/5947/662 3744/5946/662 3743/5950/727 +f 3737/5952/728 3742/6469/728 3746/5953/665 +f 3750/5954/655 3755/5958/655 3754/5955/662 +f 3751/5957/665 3756/5962/665 3755/5958/655 +f 3749/5956/662 3754/5955/662 3753/5959/727 +f 3747/5961/728 3752/6470/728 3756/5962/665 +f 3760/5963/655 3765/5967/655 3764/5964/662 +f 3761/5966/665 3766/5971/665 3765/5967/655 +f 3759/5965/662 3764/5964/662 3763/5968/727 +f 3757/5970/728 3762/6471/728 3766/5971/665 +f 3770/5972/655 3775/5976/655 3774/5973/662 +f 3771/5975/665 3776/5980/665 3775/5976/655 +f 3769/5974/662 3774/5973/662 3773/5977/727 +f 3767/5979/728 3772/6472/728 3776/5980/665 +f 3782/5981/655 3789/5988/655 3788/5982/662 +f 3780/5984/658 3787/5989/658 3786/5985/664 +f 3783/5987/665 3790/5993/665 3789/5988/655 +f 3781/5983/662 3788/5982/662 3787/5989/658 +f 3779/5986/664 3786/5985/664 3785/5990/729 +f 3777/5992/728 3784/6473/728 3790/5993/665 +f 3793/5994/726 3798/6474/726 3797/5995/663 +f 3795/5997/665 3800/6003/665 3799/5998/723 +f 3792/5996/663 3797/5995/663 3796/6000/659 +f 3791/6002/659 3796/6475/659 3800/6003/665 +f 3805/6004/725 3810/6476/725 3809/6005/662 +f 3803/6007/658 3808/6010/658 3807/6008/664 +f 3804/6006/662 3809/6005/662 3808/6010/658 +f 3802/6009/664 3807/6008/664 3806/6011/729 +f 3813/6013/726 3818/6477/726 3817/6014/663 +f 3815/6016/665 3820/6022/665 3819/6017/723 +f 3812/6015/663 3817/6014/663 3816/6019/659 +f 3811/6021/659 3816/6478/659 3820/6022/665 +f 3825/6023/725 3830/6479/725 3829/6024/662 +f 3823/6026/658 3828/6029/658 3827/6027/664 +f 3824/6025/662 3829/6024/662 3828/6029/658 +f 3822/6028/664 3827/6027/664 3826/6030/729 +f 3833/6032/726 3838/6480/726 3837/6033/663 +f 3835/6035/665 3840/6041/665 3839/6036/723 +f 3832/6034/663 3837/6033/663 3836/6038/659 +f 3831/6040/659 3836/6481/659 3840/6041/665 +f 3845/6042/725 3850/6482/725 3849/6043/662 +f 3843/6045/658 3848/6048/658 3847/6046/664 +f 3844/6044/662 3849/6043/662 3848/6048/658 +f 3842/6047/664 3847/6046/664 3846/6049/729 +f 3853/6051/726 3858/6483/726 3857/6052/663 +f 3855/6054/665 3860/6060/665 3859/6055/723 +f 3852/6053/663 3857/6052/663 3856/6057/659 +f 3851/6059/659 3856/6484/659 3860/6060/665 +f 3865/6061/725 3870/6485/725 3869/6062/662 +f 3863/6064/658 3868/6067/658 3867/6065/664 +f 3864/6063/662 3869/6062/662 3868/6067/658 +f 3862/6066/664 3867/6065/664 3866/6068/729 +f 4061/6070/661 4077/6077/661 4076/6071/673 +f 4054/6073/674 4070/6079/674 4069/6074/671 +f 4062/6076/675 4078/6083/675 4077/6077/661 +f 4055/6078/654 4071/6486/654 4070/6079/674 +f 4048/6080/676 4064/6088/676 4063/6081/652 +f 4047/6082/652 4063/6081/652 4078/6083/675 +f 4056/6084/677 4072/6090/677 4071/6085/654 +f 4049/6087/660 4065/6092/660 4064/6088/676 +f 4057/6089/670 4073/6094/670 4072/6090/677 +f 4050/6091/678 4066/6096/678 4065/6092/660 +f 4058/6093/679 4074/6098/679 4073/6094/670 +f 4051/6095/653 4067/6100/653 4066/6096/678 +f 4059/6097/655 4075/6101/655 4074/6098/679 +f 4052/6099/680 4068/6102/680 4067/6100/653 +f 4060/6072/673 4076/6071/673 4075/6101/655 +f 4053/6075/671 4069/6074/671 4068/6102/680 +f 4242/6103/661 4236/6119/652 4227/6104/652 +f 4240/6106/670 4241/6115/655 4233/6107/655 +f 4238/6109/671 4239/6487/654 4231/6110/654 +f 4235/6112/660 4237/6118/653 4229/6113/653 +f 4241/6115/655 4242/6103/661 4234/6105/661 +f 4239/6116/654 4240/6106/670 4232/6108/670 +f 4237/6118/653 4238/6109/671 4230/6111/671 +f 4236/6119/652 4235/6112/660 4228/6114/660 +f 4258/6120/661 4252/6136/652 4243/6121/652 +f 4256/6123/670 4257/6132/655 4249/6124/655 +f 4254/6126/671 4255/6488/654 4247/6127/654 +f 4251/6129/660 4253/6135/653 4245/6130/653 +f 4257/6132/655 4258/6120/661 4250/6122/661 +f 4255/6133/654 4256/6123/670 4248/6125/670 +f 4253/6135/653 4254/6126/671 4246/6128/671 +f 4252/6136/652 4251/6129/660 4244/6131/660 +f 4274/6137/661 4268/6153/652 4259/6138/652 +f 4272/6140/670 4273/6149/655 4265/6141/655 +f 4270/6143/671 4271/6489/654 4263/6144/654 +f 4267/6146/660 4269/6152/653 4261/6147/653 +f 4273/6149/655 4274/6137/661 4266/6139/661 +f 4271/6150/654 4272/6140/670 4264/6142/670 +f 4269/6152/653 4270/6143/671 4262/6145/671 +f 4268/6153/652 4267/6146/660 4260/6148/660 +f 4320/6154/685 4319/6213/683 4287/6155/653 +f 4333/6157/682 4332/6490/684 4300/6158/670 +f 4313/6160/686 4307/6194/681 4275/6161/661 +f 4334/6163/688 4333/6157/682 4301/6159/654 +f 4315/6165/681 4322/6491/656 4290/6166/652 +f 4276/6168/670 4308/6492/684 4313/6160/686 +f 4335/6169/683 4334/6163/688 4302/6164/671 +f 4290/6171/652 4322/6493/656 4320/6154/685 +f 4309/6172/682 4308/6492/684 4276/6168/670 +f 4336/6174/685 4335/6169/683 4303/6170/653 +f 4329/6176/686 4323/6203/681 4291/6177/661 +f 4310/6179/688 4309/6172/682 4277/6173/654 +f 4331/6181/681 4338/6494/656 4306/6182/652 +f 4292/6184/670 4324/6495/684 4329/6176/686 +f 4311/6185/683 4310/6179/688 4278/6180/671 +f 4306/6187/652 4338/6496/656 4336/6174/685 +f 4325/6188/682 4324/6495/684 4292/6184/670 +f 4312/6190/685 4311/6185/683 4279/6186/653 +f 4326/6192/688 4325/6188/682 4293/6189/654 +f 4307/6194/681 4314/6497/656 4282/6195/652 +f 4327/6196/683 4326/6192/688 4294/6193/671 +f 4282/6198/652 4314/6498/656 4312/6190/685 +f 4328/6199/685 4327/6196/683 4295/6197/653 +f 4321/6201/686 4315/6165/681 4283/6167/661 +f 4323/6203/681 4330/6499/656 4298/6204/652 +f 4284/6205/670 4316/6500/684 4321/6201/686 +f 4298/6206/652 4330/6501/656 4328/6199/685 +f 4317/6207/682 4316/6500/684 4284/6205/670 +f 4337/6209/686 4331/6181/681 4299/6183/661 +f 4318/6211/688 4317/6207/682 4285/6208/654 +f 4300/6158/670 4332/6490/684 4337/6209/686 +f 4319/6213/683 4318/6211/688 4286/6212/671 +f 4319/6214/683 4350/6238/693 4349/6215/690 +f 4341/6217/689 4340/6231/692 4308/6218/684 +f 4316/6219/684 4347/6243/692 4352/6220/687 +f 4351/6222/694 4350/6238/693 4319/6214/683 +f 4310/6224/688 4342/6230/690 4341/6217/689 +f 4348/6225/689 4347/6243/692 4316/6219/684 +f 4313/6226/686 4345/6241/687 4339/6227/691 +f 4311/6229/683 4343/6244/693 4342/6230/690 +f 4318/6216/688 4349/6215/690 4348/6225/689 +f 4340/6231/692 4345/6241/687 4313/6226/686 +f 4321/6221/686 4352/6220/687 4346/6232/691 +f 4344/6234/694 4343/6244/693 4311/6229/683 +f 4366/6236/697 4360/6291/699 4346/6232/691 +f 4356/6237/698 4355/6324/700 4341/6217/689 +f 4350/6238/693 4364/6245/695 4363/6239/698 +f 4359/6240/697 4353/6295/699 4339/6227/691 +f 4361/6242/696 4366/6236/697 4352/6220/687 +f 4343/6244/693 4357/6247/695 4356/6237/698 +f 4351/6222/694 4365/6293/701 4364/6245/695 +f 4354/6246/696 4359/6240/697 4345/6241/687 +f 4348/6225/689 4362/6352/700 4361/6242/696 +f 4344/6234/694 4358/6297/701 4357/6247/695 +f 4341/6217/689 4355/6324/700 4354/6246/696 +f 4363/6239/698 4362/6352/700 4348/6225/689 +f 4379/6248/694 4378/6276/693 4335/6249/683 +f 4370/6251/690 4369/6268/689 4325/6188/682 +f 4376/6253/689 4375/6280/692 4332/6254/684 +f 4329/6255/686 4373/6278/687 4367/6256/691 +f 4327/6258/683 4371/6271/693 4370/6251/690 +f 4377/6259/690 4376/6253/689 4333/6157/682 +f 4368/6261/692 4373/6278/687 4329/6255/686 +f 4337/6263/686 4380/6269/687 4374/6264/691 +f 4372/6266/694 4371/6271/693 4327/6258/683 +f 4335/6249/683 4378/6276/693 4377/6259/690 +f 4369/6268/689 4368/6261/692 4324/6262/684 +f 4332/6254/684 4375/6280/692 4380/6269/687 +f 4372/6266/694 4386/6289/701 4385/6270/695 +f 4369/6268/689 4383/6315/700 4382/6272/696 +f 4391/6273/698 4390/6344/700 4376/6253/689 +f 4394/6274/697 4388/6283/699 4374/6264/691 +f 4384/6275/698 4383/6315/700 4369/6268/689 +f 4378/6276/693 4392/6281/695 4391/6273/698 +f 4387/6277/697 4381/6287/699 4367/6256/691 +f 4389/6279/696 4394/6274/697 4380/6269/687 +f 4371/6271/693 4385/6270/695 4384/6275/698 +f 4379/6248/694 4393/6285/701 4392/6281/695 +f 4382/6272/696 4387/6277/697 4373/6278/687 +f 4376/6253/689 4390/6344/700 4389/6279/696 +f 4411/6298/730 4410/6359/671 4364/6299/695 +f 4419/6301/655 4413/6502/662 4381/6302/699 +f 4388/6304/699 4420/6503/734 4398/6305/731 +f 4395/6307/658 4404/6338/664 4358/6308/701 +f 4414/6310/665 4419/6301/655 4387/6303/697 +f 4405/6312/655 4399/6360/662 4353/6313/699 +f 4383/6315/700 4415/6504/659 4414/6310/665 +f 4398/6316/731 4425/6505/730 4393/6317/701 +f 4400/6319/665 4405/6312/655 4359/6314/697 +f 4416/6321/663 4415/6504/659 4383/6315/700 +f 4401/6323/659 4400/6319/665 4354/6320/696 +f 4417/6325/653 4416/6321/663 4384/6322/698 +f 4381/6302/699 4413/6502/662 4397/6327/658 +f 4402/6329/663 4401/6323/659 4355/6324/700 +f 4386/6331/701 4418/6506/664 4417/6325/653 +f 4403/6332/653 4402/6329/663 4356/6330/698 +f 4426/6334/732 4420/6503/734 4388/6304/699 +f 4397/6336/658 4418/6506/664 4386/6331/701 +f 4404/6338/664 4403/6332/653 4357/6333/695 +f 4421/6339/733 4426/6334/732 4394/6335/697 +f 4412/6341/732 4406/6345/734 4360/6342/699 +f 4390/6344/700 4422/6507/736 4421/6339/733 +f 4406/6345/734 4396/6508/731 4322/6346/656 +f 4407/6347/733 4412/6341/732 4366/6343/697 +f 4423/6349/735 4422/6507/736 4390/6344/700 +f 4408/6351/736 4407/6347/733 4361/6348/696 +f 4424/6353/671 4423/6349/735 4391/6350/698 +f 4396/6355/731 4411/6298/730 4365/6300/701 +f 4409/6357/735 4408/6351/736 4362/6352/700 +f 4393/6317/701 4425/6505/730 4424/6353/671 +f 4410/6359/671 4409/6357/735 4363/6358/698 +f 4399/6360/662 4395/6509/658 4314/6361/656 +f 4396/6362/731 4427/6399/741 4433/6363/737 +f 4436/6365/738 4440/6381/661 4426/6334/732 +f 4432/6367/739 4431/6385/742 4408/6368/736 +f 4412/6341/732 4434/6394/661 4429/6370/740 +f 4422/6372/736 4437/6389/742 4436/6365/738 +f 4430/6373/738 4434/6394/661 4412/6341/732 +f 4420/6375/734 4435/6397/740 4428/6376/741 +f 4438/6378/739 4437/6389/742 4422/6372/736 +f 4429/6370/740 4427/6392/741 4396/6380/731 +f 4440/6381/661 4435/6397/740 4420/6375/734 +f 4398/6382/731 4428/6388/741 4439/6383/737 +f 4431/6385/742 4430/6373/738 4407/6374/733 +f 4445/6386/743 4444/6510/745 4430/6373/738 +f 4442/6387/744 4453/6405/749 4439/6383/737 +f 4437/6389/742 4451/6511/743 4450/6390/745 +f 4432/6367/739 4446/6403/747 4445/6386/743 +f 4429/6370/740 4443/6512/748 4441/6391/744 +f 4448/6393/746 4443/6512/748 4429/6370/740 +f 4452/6395/747 4451/6511/743 4437/6389/742 +f 4454/6396/746 4449/6400/748 4435/6397/740 +f 4441/6398/744 4447/6402/749 4433/6363/737 +f 4430/6373/738 4444/6510/745 4448/6393/746 +f 4449/6400/748 4442/6513/744 4428/6376/741 +f 4450/6390/745 4454/6396/746 4440/6381/661 +f 4470/6406/652 4465/6420/656 4449/6407/748 +f 4463/6408/657 4455/6414/654 4410/6409/671 +f 4466/6411/672 4470/6406/652 4454/6396/746 +f 4451/6413/743 4467/6514/659 4466/6411/672 +f 4455/6414/654 4462/6433/689 4446/6415/747 +f 4468/6416/689 4467/6514/659 4451/6413/743 +f 4464/6418/652 4459/6431/656 4443/6419/748 +f 4465/6420/656 4458/6515/658 4442/6421/744 +f 4460/6422/672 4464/6418/652 4448/6393/746 +f 4456/6424/654 4468/6416/689 4452/6417/747 +f 4458/6426/658 4469/6434/657 4453/6427/749 +f 4461/6429/659 4460/6422/672 4444/6423/745 +f 4459/6431/656 4457/6516/658 4441/6432/744 +f 4462/6433/689 4461/6429/659 4445/6430/743 +f 4469/6434/657 4456/6424/654 4424/6425/671 +f 4457/6435/658 4463/6408/657 4447/6410/749 diff --git a/src/main/resources/assets/hbm/models/machines/oilburner_hp.obj b/src/main/resources/assets/hbm/models/machines/oilburner_hp.obj new file mode 100644 index 000000000..6d8e8b1f6 --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/oilburner_hp.obj @@ -0,0 +1,4915 @@ +# Blender v2.79 (sub 0) OBJ File: 'oilburner_hp.blend' +# www.blender.org +o Plane +v -1.500000 0.125000 1.375000 +v 1.500000 0.125000 1.375000 +v -1.500000 0.125000 -1.375000 +v 1.500000 0.125000 -1.375000 +v -1.500000 1.875000 1.375000 +v 1.500000 1.875000 1.375000 +v -1.500000 1.875000 -1.375000 +v 1.500000 1.875000 -1.375000 +v -1.375000 0.125000 -1.500000 +v -1.375000 0.125000 1.500000 +v 1.375000 0.125000 1.500000 +v 1.375000 0.125000 -1.500000 +v -1.375000 1.875000 -1.500000 +v -1.375000 1.875000 1.500000 +v 1.375000 1.875000 1.500000 +v 1.375000 1.875000 -1.500000 +v -1.500000 0.000000 1.500000 +v 1.500000 0.000000 1.500000 +v 1.500000 0.000000 -1.500000 +v -1.500000 0.000000 -1.500000 +v -0.500000 2.000000 0.500000 +v 0.500000 2.000000 0.500000 +v 0.500000 2.000000 -0.500000 +v -0.500000 2.000000 -0.500000 +v 1.375000 0.250000 1.125000 +v 1.375000 0.250000 -1.125000 +v 1.375000 1.750000 1.125000 +v 1.375000 1.750000 -1.125000 +v -0.375000 1.750000 -1.375000 +v -0.375000 0.250000 -1.375000 +v 0.375000 1.750000 -1.375000 +v 0.375000 0.250000 -1.375000 +v -1.500000 2.000000 -1.500000 +v -1.500000 2.000000 1.500000 +v 1.500000 2.000000 1.500000 +v 1.500000 2.000000 -1.500000 +v -0.437500 1.937500 -0.437500 +v -0.437500 1.937500 0.437500 +v 0.437500 1.937500 0.437500 +v 0.437500 1.937500 -0.437500 +v -0.500000 1.937500 -0.500000 +v -0.500000 1.937500 0.500000 +v 0.500000 1.937500 0.500000 +v 0.500000 1.937500 -0.500000 +v -0.437500 2.000000 -0.437500 +v -0.437500 2.000000 0.437500 +v 0.437500 2.000000 0.437500 +v 0.437500 2.000000 -0.437500 +v 1.500000 0.250000 0.250000 +v 1.500000 0.750000 0.250000 +v 1.500000 0.250000 -0.250000 +v 1.500000 0.750000 -0.250000 +v 1.375000 0.250000 -0.250000 +v 1.375000 0.250000 0.250000 +v 1.375000 0.750000 0.250000 +v 1.375000 0.750000 -0.250000 +v -1.500000 0.250000 -0.250000 +v -1.500000 0.750000 -0.250000 +v -1.500000 0.250000 0.250000 +v -1.500000 0.750000 0.250000 +v -1.375000 0.250000 0.250000 +v -1.375000 0.250000 -0.250000 +v -1.375000 0.750000 -0.250000 +v -1.375000 0.750000 0.250000 +v 0.250000 0.250000 -1.500000 +v 0.250000 0.750000 -1.500000 +v -0.250000 0.250000 -1.500000 +v -0.250000 0.750000 -1.500000 +v -0.250000 0.250000 -1.375000 +v 0.250000 0.250000 -1.375000 +v 0.250000 0.750000 -1.375000 +v -0.250000 0.750000 -1.375000 +v -0.250000 0.250000 1.500000 +v -0.250000 0.750000 1.500000 +v 0.250000 0.250000 1.500000 +v 0.250000 0.750000 1.500000 +v 0.250000 0.250000 1.375000 +v -0.250000 0.250000 1.375000 +v -0.250000 0.750000 1.375000 +v 0.250000 0.750000 1.375000 +v 1.375000 0.125000 1.375000 +v 1.375000 0.125000 -1.375000 +v 1.375000 1.875000 1.375000 +v 1.375000 1.875000 -1.375000 +v 1.375000 0.250000 0.375000 +v 1.375000 1.750000 0.375000 +v 1.375000 0.250000 -0.375000 +v 1.375000 1.750000 -0.375000 +v 1.125000 1.750000 -1.125000 +v 1.125000 0.250000 -1.125000 +v 1.125000 0.250000 1.125000 +v 1.125000 1.750000 1.125000 +v 1.125000 1.750000 0.375000 +v 1.125000 0.250000 0.375000 +v 1.125000 1.750000 -0.375000 +v 1.125000 0.250000 -0.375000 +v -1.375000 0.250000 -1.125000 +v -1.375000 0.250000 1.125000 +v -1.375000 1.750000 -1.125000 +v -1.375000 1.750000 1.125000 +v -1.375000 0.125000 -1.375000 +v -1.375000 0.125000 1.375000 +v -1.375000 1.875000 -1.375000 +v -1.375000 1.875000 1.375000 +v -1.375000 0.250000 -0.375000 +v -1.375000 1.750000 -0.375000 +v -1.375000 0.250000 0.375000 +v -1.375000 1.750000 0.375000 +v -1.125000 1.750000 1.125000 +v -1.125000 0.250000 1.125000 +v -1.125000 0.250000 -1.125000 +v -1.125000 1.750000 -1.125000 +v -1.125000 1.750000 -0.375000 +v -1.125000 0.250000 -0.375000 +v -1.125000 1.750000 0.375000 +v -1.125000 0.250000 0.375000 +v 0.375000 1.750000 -1.125000 +v 0.375000 0.250000 -1.125000 +v -0.375000 1.750000 -1.125000 +v -0.375000 0.250000 -1.125000 +v -0.375000 0.250000 1.375000 +v -0.375000 1.750000 1.375000 +v 0.375000 0.250000 1.375000 +v 0.375000 1.750000 1.375000 +v -0.375000 1.750000 1.125000 +v -0.375000 0.250000 1.125000 +v 0.375000 1.750000 1.125000 +v 0.375000 0.250000 1.125000 +v 1.125000 0.250000 1.375000 +v 1.125000 1.750000 1.375000 +v -1.125000 1.750000 1.375000 +v -1.125000 0.250000 1.375000 +v 1.125000 1.750000 -1.375000 +v 1.125000 0.250000 -1.375000 +v -1.125000 0.250000 -1.375000 +v -1.125000 1.750000 -1.375000 +v -0.812500 0.375000 -1.125000 +v -0.849112 0.463388 -1.125000 +v -0.937500 0.500000 -1.125000 +v -1.025888 0.463388 -1.125000 +v -1.062500 0.375000 -1.125000 +v -1.025888 0.286612 -1.125000 +v -0.937500 0.250000 -1.125000 +v -0.849112 0.286612 -1.125000 +v -0.812500 0.375000 -1.375000 +v -0.849112 0.463388 -1.375000 +v -0.937500 0.500000 -1.375000 +v -1.025888 0.463388 -1.375000 +v -1.062500 0.375000 -1.375000 +v -1.025888 0.286612 -1.375000 +v -0.937500 0.250000 -1.375000 +v -0.849112 0.286612 -1.375000 +v -0.812500 0.411612 -1.463388 +v -0.849112 0.474112 -1.400888 +v -1.025889 0.474112 -1.400888 +v -1.062500 0.411612 -1.463388 +v -1.025889 0.349112 -1.525888 +v -0.937500 0.323224 -1.551777 +v -0.849112 0.349112 -1.525888 +v -0.812500 0.500000 -1.500000 +v -0.849112 0.500000 -1.411611 +v -1.025889 0.500000 -1.411611 +v -1.062500 0.500000 -1.500000 +v -1.025889 0.500000 -1.588388 +v -0.937500 0.500000 -1.625000 +v -0.849112 0.500000 -1.588388 +v -1.062500 1.625000 -1.125000 +v -1.025888 1.536612 -1.125000 +v -0.937500 1.500000 -1.125000 +v -0.849112 1.536612 -1.125000 +v -0.812500 1.625000 -1.125000 +v -0.849112 1.713388 -1.125000 +v -0.937500 1.750000 -1.125000 +v -1.025888 1.713388 -1.125000 +v -1.062500 1.625000 -1.375000 +v -1.025889 1.536612 -1.375000 +v -0.937500 1.500000 -1.375000 +v -0.849112 1.536612 -1.375000 +v -0.812500 1.625000 -1.375000 +v -0.849112 1.713388 -1.375000 +v -0.937500 1.750000 -1.375000 +v -1.025888 1.713388 -1.375000 +v -1.062500 1.588388 -1.463388 +v -1.025889 1.525888 -1.400888 +v -0.849112 1.525888 -1.400888 +v -0.812500 1.588388 -1.463388 +v -0.849112 1.650888 -1.525888 +v -0.937500 1.676777 -1.551777 +v -1.025888 1.650888 -1.525888 +v -1.062500 1.500000 -1.500000 +v -1.025889 1.500000 -1.411611 +v -0.849112 1.500000 -1.411611 +v -0.812500 1.500000 -1.500000 +v -0.849112 1.500000 -1.588388 +v -0.937500 1.500000 -1.625000 +v -1.025888 1.500000 -1.588388 +v -0.437500 0.375000 -1.125000 +v -0.474112 0.463388 -1.125000 +v -0.562500 0.500000 -1.125000 +v -0.650888 0.463388 -1.125000 +v -0.687500 0.375000 -1.125000 +v -0.650888 0.286612 -1.125000 +v -0.562500 0.250000 -1.125000 +v -0.474112 0.286612 -1.125000 +v -0.437500 0.375000 -1.375000 +v -0.474112 0.463388 -1.375000 +v -0.562500 0.500000 -1.375000 +v -0.650888 0.463388 -1.375000 +v -0.687500 0.375000 -1.375000 +v -0.650888 0.286612 -1.375000 +v -0.562500 0.250000 -1.375000 +v -0.474112 0.286612 -1.375000 +v -0.437500 0.411612 -1.463388 +v -0.474112 0.474112 -1.400888 +v -0.650889 0.474112 -1.400888 +v -0.687500 0.411612 -1.463388 +v -0.650889 0.349112 -1.525888 +v -0.562500 0.323224 -1.551777 +v -0.474112 0.349112 -1.525888 +v -0.437500 0.500000 -1.500000 +v -0.474112 0.500000 -1.411611 +v -0.650889 0.500000 -1.411611 +v -0.687500 0.500000 -1.500000 +v -0.650889 0.500000 -1.588388 +v -0.562500 0.500000 -1.625000 +v -0.474112 0.500000 -1.588388 +v -0.687500 1.625000 -1.125000 +v -0.650888 1.536612 -1.125000 +v -0.562500 1.500000 -1.125000 +v -0.474112 1.536612 -1.125000 +v -0.437500 1.625000 -1.125000 +v -0.474112 1.713388 -1.125000 +v -0.562500 1.750000 -1.125000 +v -0.650888 1.713388 -1.125000 +v -0.687500 1.625000 -1.375000 +v -0.650889 1.536612 -1.375000 +v -0.562500 1.500000 -1.375000 +v -0.474112 1.536612 -1.375000 +v -0.437500 1.625000 -1.375000 +v -0.474112 1.713388 -1.375000 +v -0.562500 1.750000 -1.375000 +v -0.650888 1.713388 -1.375000 +v -0.687500 1.588388 -1.463388 +v -0.650889 1.525888 -1.400888 +v -0.474112 1.525888 -1.400888 +v -0.437500 1.588388 -1.463388 +v -0.474112 1.650888 -1.525888 +v -0.562500 1.676777 -1.551777 +v -0.650888 1.650888 -1.525888 +v -0.687500 1.500000 -1.500000 +v -0.650889 1.500000 -1.411611 +v -0.474112 1.500000 -1.411611 +v -0.437500 1.500000 -1.500000 +v -0.474112 1.500000 -1.588388 +v -0.562500 1.500000 -1.625000 +v -0.650888 1.500000 -1.588388 +v 0.687500 0.375000 -1.125000 +v 0.650888 0.463388 -1.125000 +v 0.562500 0.500000 -1.125000 +v 0.474112 0.463388 -1.125000 +v 0.437500 0.375000 -1.125000 +v 0.474112 0.286612 -1.125000 +v 0.562500 0.250000 -1.125000 +v 0.650888 0.286612 -1.125000 +v 0.687500 0.375000 -1.375000 +v 0.650888 0.463388 -1.375000 +v 0.562500 0.500000 -1.375000 +v 0.474112 0.463388 -1.375000 +v 0.437500 0.375000 -1.375000 +v 0.474112 0.286612 -1.375000 +v 0.562500 0.250000 -1.375000 +v 0.650888 0.286612 -1.375000 +v 0.687500 0.411612 -1.463388 +v 0.650888 0.474112 -1.400888 +v 0.474111 0.474112 -1.400888 +v 0.437500 0.411612 -1.463388 +v 0.474111 0.349112 -1.525888 +v 0.562500 0.323224 -1.551777 +v 0.650888 0.349112 -1.525888 +v 0.687500 0.500000 -1.500000 +v 0.650888 0.500000 -1.411611 +v 0.474111 0.500000 -1.411611 +v 0.437500 0.500000 -1.500000 +v 0.474111 0.500000 -1.588388 +v 0.562500 0.500000 -1.625000 +v 0.650888 0.500000 -1.588388 +v 0.437500 1.625000 -1.125000 +v 0.474112 1.536612 -1.125000 +v 0.562500 1.500000 -1.125000 +v 0.650888 1.536612 -1.125000 +v 0.687500 1.625000 -1.125000 +v 0.650888 1.713388 -1.125000 +v 0.562500 1.750000 -1.125000 +v 0.474112 1.713388 -1.125000 +v 0.437500 1.625000 -1.375000 +v 0.474111 1.536612 -1.375000 +v 0.562500 1.500000 -1.375000 +v 0.650888 1.536612 -1.375000 +v 0.687500 1.625000 -1.375000 +v 0.650888 1.713388 -1.375000 +v 0.562500 1.750000 -1.375000 +v 0.474112 1.713388 -1.375000 +v 0.437500 1.588388 -1.463388 +v 0.474111 1.525888 -1.400888 +v 0.650888 1.525888 -1.400888 +v 0.687500 1.588388 -1.463388 +v 0.650888 1.650888 -1.525888 +v 0.562500 1.676777 -1.551777 +v 0.474112 1.650888 -1.525888 +v 0.437500 1.500000 -1.500000 +v 0.474111 1.500000 -1.411611 +v 0.650888 1.500000 -1.411611 +v 0.687500 1.500000 -1.500000 +v 0.650888 1.500000 -1.588388 +v 0.562500 1.500000 -1.625000 +v 0.474112 1.500000 -1.588388 +v 1.062500 0.375000 -1.125000 +v 1.025888 0.463388 -1.125000 +v 0.937500 0.500000 -1.125000 +v 0.849112 0.463388 -1.125000 +v 0.812500 0.375000 -1.125000 +v 0.849112 0.286612 -1.125000 +v 0.937500 0.250000 -1.125000 +v 1.025888 0.286612 -1.125000 +v 1.062500 0.375000 -1.375000 +v 1.025888 0.463388 -1.375000 +v 0.937500 0.500000 -1.375000 +v 0.849112 0.463388 -1.375000 +v 0.812500 0.375000 -1.375000 +v 0.849112 0.286612 -1.375000 +v 0.937500 0.250000 -1.375000 +v 1.025888 0.286612 -1.375000 +v 1.062500 0.411612 -1.463388 +v 1.025888 0.474112 -1.400888 +v 0.849111 0.474112 -1.400888 +v 0.812500 0.411612 -1.463388 +v 0.849111 0.349112 -1.525888 +v 0.937500 0.323224 -1.551777 +v 1.025888 0.349112 -1.525888 +v 1.062500 0.500000 -1.500000 +v 1.025888 0.500000 -1.411611 +v 0.849111 0.500000 -1.411611 +v 0.812500 0.500000 -1.500000 +v 0.849111 0.500000 -1.588388 +v 0.937500 0.500000 -1.625000 +v 1.025888 0.500000 -1.588388 +v 0.812500 1.625000 -1.125000 +v 0.849112 1.536612 -1.125000 +v 0.937500 1.500000 -1.125000 +v 1.025888 1.536612 -1.125000 +v 1.062500 1.625000 -1.125000 +v 1.025888 1.713388 -1.125000 +v 0.937500 1.750000 -1.125000 +v 0.849112 1.713388 -1.125000 +v 0.812500 1.625000 -1.375000 +v 0.849111 1.536612 -1.375000 +v 0.937500 1.500000 -1.375000 +v 1.025888 1.536612 -1.375000 +v 1.062500 1.625000 -1.375000 +v 1.025888 1.713388 -1.375000 +v 0.937500 1.750000 -1.375000 +v 0.849112 1.713388 -1.375000 +v 0.812500 1.588388 -1.463388 +v 0.849111 1.525888 -1.400888 +v 1.025888 1.525888 -1.400888 +v 1.062500 1.588388 -1.463388 +v 1.025888 1.650888 -1.525888 +v 0.937500 1.676777 -1.551777 +v 0.849112 1.650888 -1.525888 +v 0.812500 1.500000 -1.500000 +v 0.849111 1.500000 -1.411611 +v 1.025888 1.500000 -1.411611 +v 1.062500 1.500000 -1.500000 +v 1.025888 1.500000 -1.588388 +v 0.937500 1.500000 -1.625000 +v 0.849112 1.500000 -1.588388 +v 0.812500 0.375000 1.125000 +v 0.849112 0.463388 1.125000 +v 0.937500 0.500000 1.125000 +v 1.025888 0.463388 1.125000 +v 1.062500 0.375000 1.125000 +v 1.025888 0.286612 1.125000 +v 0.937500 0.250000 1.125000 +v 0.849112 0.286612 1.125000 +v 0.812500 0.375000 1.375000 +v 0.849112 0.463388 1.375000 +v 0.937500 0.500000 1.375000 +v 1.025888 0.463388 1.375000 +v 1.062500 0.375000 1.375000 +v 1.025888 0.286612 1.375000 +v 0.937500 0.250000 1.375000 +v 0.849112 0.286612 1.375000 +v 0.812500 0.411612 1.463388 +v 0.849112 0.474112 1.400888 +v 1.025889 0.474112 1.400888 +v 1.062500 0.411612 1.463388 +v 1.025889 0.349112 1.525888 +v 0.937500 0.323224 1.551777 +v 0.849112 0.349112 1.525888 +v 0.812500 0.500000 1.500000 +v 0.849112 0.500000 1.411611 +v 1.025889 0.500000 1.411611 +v 1.062500 0.500000 1.500000 +v 1.025889 0.500000 1.588388 +v 0.937500 0.500000 1.625000 +v 0.849112 0.500000 1.588388 +v 1.062500 1.625000 1.125000 +v 1.025888 1.536612 1.125000 +v 0.937500 1.500000 1.125000 +v 0.849112 1.536612 1.125000 +v 0.812500 1.625000 1.125000 +v 0.849112 1.713388 1.125000 +v 0.937500 1.750000 1.125000 +v 1.025888 1.713388 1.125000 +v 1.062500 1.625000 1.375000 +v 1.025889 1.536612 1.375000 +v 0.937500 1.500000 1.375000 +v 0.849112 1.536612 1.375000 +v 0.812500 1.625000 1.375000 +v 0.849112 1.713388 1.375000 +v 0.937500 1.750000 1.375000 +v 1.025888 1.713388 1.375000 +v 1.062500 1.588388 1.463388 +v 1.025889 1.525888 1.400888 +v 0.849112 1.525888 1.400888 +v 0.812500 1.588388 1.463388 +v 0.849112 1.650888 1.525888 +v 0.937500 1.676777 1.551777 +v 1.025889 1.650888 1.525888 +v 1.062500 1.500000 1.500000 +v 1.025889 1.500000 1.411611 +v 0.849112 1.500000 1.411611 +v 0.812500 1.500000 1.500000 +v 0.849112 1.500000 1.588388 +v 0.937500 1.500000 1.625000 +v 1.025889 1.500000 1.588388 +v 0.437500 0.375000 1.125000 +v 0.474112 0.463388 1.125000 +v 0.562500 0.500000 1.125000 +v 0.650889 0.463388 1.125000 +v 0.687500 0.375000 1.125000 +v 0.650889 0.286612 1.125000 +v 0.562500 0.250000 1.125000 +v 0.474112 0.286612 1.125000 +v 0.437500 0.375000 1.375000 +v 0.474112 0.463388 1.375000 +v 0.562500 0.500000 1.375000 +v 0.650889 0.463388 1.375000 +v 0.687500 0.375000 1.375000 +v 0.650889 0.286612 1.375000 +v 0.562500 0.250000 1.375000 +v 0.474112 0.286612 1.375000 +v 0.437500 0.411612 1.463388 +v 0.474112 0.474112 1.400888 +v 0.650889 0.474112 1.400888 +v 0.687500 0.411612 1.463388 +v 0.650889 0.349112 1.525888 +v 0.562500 0.323224 1.551777 +v 0.474112 0.349112 1.525888 +v 0.437500 0.500000 1.500000 +v 0.474112 0.500000 1.411611 +v 0.650889 0.500000 1.411611 +v 0.687500 0.500000 1.500000 +v 0.650889 0.500000 1.588388 +v 0.562500 0.500000 1.625000 +v 0.474112 0.500000 1.588388 +v 0.687500 1.625000 1.125000 +v 0.650889 1.536612 1.125000 +v 0.562500 1.500000 1.125000 +v 0.474112 1.536612 1.125000 +v 0.437500 1.625000 1.125000 +v 0.474112 1.713388 1.125000 +v 0.562500 1.750000 1.125000 +v 0.650888 1.713388 1.125000 +v 0.687500 1.625000 1.375000 +v 0.650889 1.536612 1.375000 +v 0.562500 1.500000 1.375000 +v 0.474112 1.536612 1.375000 +v 0.437500 1.625000 1.375000 +v 0.474112 1.713388 1.375000 +v 0.562500 1.750000 1.375000 +v 0.650889 1.713388 1.375000 +v 0.687500 1.588388 1.463388 +v 0.650889 1.525888 1.400888 +v 0.474112 1.525888 1.400888 +v 0.437500 1.588388 1.463388 +v 0.474112 1.650888 1.525888 +v 0.562500 1.676777 1.551777 +v 0.650888 1.650888 1.525888 +v 0.687500 1.500000 1.500000 +v 0.650889 1.500000 1.411611 +v 0.474112 1.500000 1.411611 +v 0.437500 1.500000 1.500000 +v 0.474112 1.500000 1.588388 +v 0.562500 1.500000 1.625000 +v 0.650888 1.500000 1.588388 +v -0.687500 0.375000 1.125000 +v -0.650888 0.463388 1.125000 +v -0.562500 0.500000 1.125000 +v -0.474111 0.463388 1.125000 +v -0.437500 0.375000 1.125000 +v -0.474111 0.286612 1.125000 +v -0.562500 0.250000 1.125000 +v -0.650888 0.286612 1.125000 +v -0.687500 0.375000 1.375000 +v -0.650888 0.463388 1.375000 +v -0.562500 0.500000 1.375000 +v -0.474111 0.463388 1.375000 +v -0.437500 0.375000 1.375000 +v -0.474111 0.286612 1.375000 +v -0.562500 0.250000 1.375000 +v -0.650888 0.286612 1.375000 +v -0.687500 0.411612 1.463388 +v -0.650888 0.474112 1.400888 +v -0.474111 0.474112 1.400888 +v -0.437500 0.411612 1.463388 +v -0.474111 0.349112 1.525888 +v -0.562500 0.323224 1.551777 +v -0.650888 0.349112 1.525888 +v -0.687500 0.500000 1.500000 +v -0.650888 0.500000 1.411611 +v -0.474111 0.500000 1.411611 +v -0.437500 0.500000 1.500000 +v -0.474111 0.500000 1.588388 +v -0.562500 0.500000 1.625000 +v -0.650888 0.500000 1.588388 +v -0.437500 1.625000 1.125000 +v -0.474111 1.536612 1.125000 +v -0.562500 1.500000 1.125000 +v -0.650888 1.536612 1.125000 +v -0.687500 1.625000 1.125000 +v -0.650888 1.713388 1.125000 +v -0.562500 1.750000 1.125000 +v -0.474112 1.713388 1.125000 +v -0.437500 1.625000 1.375000 +v -0.474111 1.536612 1.375000 +v -0.562500 1.500000 1.375000 +v -0.650888 1.536612 1.375000 +v -0.687500 1.625000 1.375000 +v -0.650888 1.713388 1.375000 +v -0.562500 1.750000 1.375000 +v -0.474111 1.713388 1.375000 +v -0.437500 1.588388 1.463388 +v -0.474111 1.525888 1.400888 +v -0.650888 1.525888 1.400888 +v -0.687500 1.588388 1.463388 +v -0.650888 1.650888 1.525888 +v -0.562500 1.676777 1.551777 +v -0.474112 1.650888 1.525888 +v -0.437500 1.500000 1.500000 +v -0.474111 1.500000 1.411611 +v -0.650888 1.500000 1.411611 +v -0.687500 1.500000 1.500000 +v -0.650888 1.500000 1.588388 +v -0.562500 1.500000 1.625000 +v -0.474112 1.500000 1.588388 +v -1.062500 0.375000 1.125000 +v -1.025888 0.463388 1.125000 +v -0.937500 0.500000 1.125000 +v -0.849111 0.463388 1.125000 +v -0.812500 0.375000 1.125000 +v -0.849111 0.286612 1.125000 +v -0.937500 0.250000 1.125000 +v -1.025888 0.286612 1.125000 +v -1.062500 0.375000 1.375000 +v -1.025888 0.463388 1.375000 +v -0.937500 0.500000 1.375000 +v -0.849111 0.463388 1.375000 +v -0.812500 0.375000 1.375000 +v -0.849111 0.286612 1.375000 +v -0.937500 0.250000 1.375000 +v -1.025888 0.286612 1.375000 +v -1.062500 0.411612 1.463388 +v -1.025888 0.474112 1.400888 +v -0.849111 0.474112 1.400888 +v -0.812500 0.411612 1.463388 +v -0.849111 0.349112 1.525888 +v -0.937500 0.323224 1.551777 +v -1.025888 0.349112 1.525888 +v -1.062500 0.500000 1.500000 +v -1.025888 0.500000 1.411612 +v -0.849111 0.500000 1.411612 +v -0.812500 0.500000 1.500000 +v -0.849111 0.500000 1.588388 +v -0.937500 0.500000 1.625000 +v -1.025888 0.500000 1.588388 +v -0.812500 1.625000 1.125000 +v -0.849111 1.536612 1.125000 +v -0.937500 1.500000 1.125000 +v -1.025888 1.536612 1.125000 +v -1.062500 1.625000 1.125000 +v -1.025888 1.713388 1.125000 +v -0.937500 1.750000 1.125000 +v -0.849112 1.713388 1.125000 +v -0.812500 1.625000 1.375000 +v -0.849111 1.536612 1.375000 +v -0.937500 1.500000 1.375000 +v -1.025888 1.536612 1.375000 +v -1.062500 1.625000 1.375000 +v -1.025888 1.713388 1.375000 +v -0.937500 1.750000 1.375000 +v -0.849111 1.713388 1.375000 +v -0.812500 1.588388 1.463388 +v -0.849111 1.525888 1.400888 +v -1.025888 1.525888 1.400888 +v -1.062500 1.588388 1.463388 +v -1.025888 1.650888 1.525888 +v -0.937500 1.676777 1.551777 +v -0.849112 1.650888 1.525888 +v -0.812500 1.500000 1.500000 +v -0.849111 1.500000 1.411612 +v -1.025888 1.500000 1.411612 +v -1.062500 1.500000 1.500000 +v -1.025888 1.500000 1.588388 +v -0.937500 1.500000 1.625000 +v -0.849112 1.500000 1.588388 +v -1.125000 0.375000 0.812500 +v -1.125000 0.463389 0.849112 +v -1.125000 0.500000 0.937500 +v -1.125000 0.463389 1.025888 +v -1.125000 0.375000 1.062500 +v -1.125000 0.286612 1.025888 +v -1.125000 0.250000 0.937500 +v -1.125000 0.286612 0.849112 +v -1.375000 0.375000 0.812500 +v -1.375000 0.463389 0.849112 +v -1.375000 0.500000 0.937500 +v -1.375000 0.463389 1.025888 +v -1.375000 0.375000 1.062500 +v -1.375000 0.286612 1.025888 +v -1.375000 0.250000 0.937500 +v -1.375000 0.286612 0.849112 +v -1.463388 0.411612 0.812500 +v -1.400888 0.474112 0.849112 +v -1.400888 0.474112 1.025889 +v -1.463388 0.411612 1.062500 +v -1.525888 0.349112 1.025889 +v -1.551777 0.323224 0.937500 +v -1.525888 0.349112 0.849112 +v -1.500000 0.500000 0.812500 +v -1.411611 0.500000 0.849112 +v -1.411611 0.500000 1.025889 +v -1.500000 0.500000 1.062500 +v -1.588388 0.500000 1.025889 +v -1.625000 0.500000 0.937500 +v -1.588388 0.500000 0.849112 +v -1.125000 1.625000 1.062500 +v -1.125000 1.536612 1.025888 +v -1.125000 1.500000 0.937500 +v -1.125000 1.536612 0.849112 +v -1.125000 1.625000 0.812500 +v -1.125000 1.713388 0.849112 +v -1.125000 1.750000 0.937500 +v -1.125000 1.713388 1.025888 +v -1.375000 1.625000 1.062500 +v -1.375000 1.536612 1.025889 +v -1.375000 1.500000 0.937500 +v -1.375000 1.536612 0.849112 +v -1.375000 1.625000 0.812500 +v -1.375000 1.713388 0.849112 +v -1.375000 1.750000 0.937500 +v -1.375000 1.713388 1.025888 +v -1.463388 1.588388 1.062500 +v -1.400888 1.525888 1.025889 +v -1.400888 1.525888 0.849112 +v -1.463388 1.588388 0.812500 +v -1.525888 1.650888 0.849112 +v -1.551777 1.676777 0.937500 +v -1.525888 1.650888 1.025888 +v -1.500000 1.500000 1.062500 +v -1.411611 1.500000 1.025889 +v -1.411611 1.500000 0.849112 +v -1.500000 1.500000 0.812500 +v -1.588388 1.500000 0.849112 +v -1.625000 1.500000 0.937500 +v -1.588388 1.500000 1.025888 +v -1.125000 0.375000 0.437500 +v -1.125000 0.463389 0.474112 +v -1.125000 0.500000 0.562500 +v -1.125000 0.463389 0.650888 +v -1.125000 0.375000 0.687500 +v -1.125000 0.286612 0.650888 +v -1.125000 0.250000 0.562500 +v -1.125000 0.286612 0.474112 +v -1.375000 0.375000 0.437500 +v -1.375000 0.463389 0.474112 +v -1.375000 0.500000 0.562500 +v -1.375000 0.463389 0.650888 +v -1.375000 0.375000 0.687500 +v -1.375000 0.286612 0.650888 +v -1.375000 0.250000 0.562500 +v -1.375000 0.286612 0.474112 +v -1.463388 0.411612 0.437500 +v -1.400888 0.474112 0.474112 +v -1.400888 0.474112 0.650889 +v -1.463388 0.411612 0.687500 +v -1.525888 0.349112 0.650889 +v -1.551777 0.323224 0.562500 +v -1.525888 0.349112 0.474112 +v -1.500000 0.500000 0.437500 +v -1.411611 0.500000 0.474112 +v -1.411611 0.500000 0.650889 +v -1.500000 0.500000 0.687500 +v -1.588388 0.500000 0.650889 +v -1.625000 0.500000 0.562500 +v -1.588388 0.500000 0.474112 +v -1.125000 1.625000 0.687500 +v -1.125000 1.536612 0.650888 +v -1.125000 1.500000 0.562500 +v -1.125000 1.536612 0.474112 +v -1.125000 1.625000 0.437500 +v -1.125000 1.713388 0.474112 +v -1.125000 1.750000 0.562500 +v -1.125000 1.713388 0.650888 +v -1.375000 1.625000 0.687500 +v -1.375000 1.536612 0.650889 +v -1.375000 1.500000 0.562500 +v -1.375000 1.536612 0.474112 +v -1.375000 1.625000 0.437500 +v -1.375000 1.713388 0.474112 +v -1.375000 1.750000 0.562500 +v -1.375000 1.713388 0.650888 +v -1.463388 1.588388 0.687500 +v -1.400888 1.525888 0.650889 +v -1.400888 1.525888 0.474112 +v -1.463388 1.588388 0.437500 +v -1.525888 1.650888 0.474112 +v -1.551777 1.676777 0.562500 +v -1.525888 1.650888 0.650888 +v -1.500000 1.500000 0.687500 +v -1.411611 1.500000 0.650889 +v -1.411611 1.500000 0.474112 +v -1.500000 1.500000 0.437500 +v -1.588388 1.500000 0.474112 +v -1.625000 1.500000 0.562500 +v -1.588388 1.500000 0.650888 +v -1.125000 0.375000 -0.687500 +v -1.125000 0.463389 -0.650888 +v -1.125000 0.500000 -0.562500 +v -1.125000 0.463389 -0.474111 +v -1.125000 0.375000 -0.437500 +v -1.125000 0.286612 -0.474111 +v -1.125000 0.250000 -0.562500 +v -1.125000 0.286612 -0.650888 +v -1.375000 0.375000 -0.687500 +v -1.375000 0.463389 -0.650888 +v -1.375000 0.500000 -0.562500 +v -1.375000 0.463389 -0.474111 +v -1.375000 0.375000 -0.437500 +v -1.375000 0.286612 -0.474111 +v -1.375000 0.250000 -0.562500 +v -1.375000 0.286612 -0.650888 +v -1.463388 0.411612 -0.687500 +v -1.400888 0.474112 -0.650888 +v -1.400888 0.474112 -0.474111 +v -1.463388 0.411612 -0.437500 +v -1.525888 0.349112 -0.474111 +v -1.551777 0.323224 -0.562500 +v -1.525888 0.349112 -0.650888 +v -1.500000 0.500000 -0.687500 +v -1.411611 0.500000 -0.650888 +v -1.411611 0.500000 -0.474111 +v -1.500000 0.500000 -0.437500 +v -1.588388 0.500000 -0.474111 +v -1.625000 0.500000 -0.562500 +v -1.588388 0.500000 -0.650888 +v -1.125000 1.625000 -0.437500 +v -1.125000 1.536612 -0.474111 +v -1.125000 1.500000 -0.562500 +v -1.125000 1.536612 -0.650888 +v -1.125000 1.625000 -0.687500 +v -1.125000 1.713388 -0.650888 +v -1.125000 1.750000 -0.562500 +v -1.125000 1.713388 -0.474112 +v -1.375000 1.625000 -0.437500 +v -1.375000 1.536612 -0.474111 +v -1.375000 1.500000 -0.562500 +v -1.375000 1.536612 -0.650888 +v -1.375000 1.625000 -0.687500 +v -1.375000 1.713388 -0.650888 +v -1.375000 1.750000 -0.562500 +v -1.375000 1.713388 -0.474111 +v -1.463388 1.588388 -0.437500 +v -1.400888 1.525888 -0.474111 +v -1.400888 1.525888 -0.650888 +v -1.463388 1.588388 -0.687500 +v -1.525888 1.650888 -0.650888 +v -1.551777 1.676777 -0.562500 +v -1.525888 1.650888 -0.474112 +v -1.500000 1.500000 -0.437500 +v -1.411611 1.500000 -0.474111 +v -1.411611 1.500000 -0.650888 +v -1.500000 1.500000 -0.687500 +v -1.588388 1.500000 -0.650888 +v -1.625000 1.500000 -0.562500 +v -1.588388 1.500000 -0.474112 +v -1.125000 0.375000 -1.062500 +v -1.125000 0.463389 -1.025888 +v -1.125000 0.500000 -0.937500 +v -1.125000 0.463389 -0.849111 +v -1.125000 0.375000 -0.812500 +v -1.125000 0.286612 -0.849111 +v -1.125000 0.250000 -0.937500 +v -1.125000 0.286612 -1.025888 +v -1.375000 0.375000 -1.062500 +v -1.375000 0.463389 -1.025888 +v -1.375000 0.500000 -0.937500 +v -1.375000 0.463389 -0.849111 +v -1.375000 0.375000 -0.812500 +v -1.375000 0.286612 -0.849111 +v -1.375000 0.250000 -0.937500 +v -1.375000 0.286612 -1.025888 +v -1.463388 0.411612 -1.062500 +v -1.400888 0.474112 -1.025888 +v -1.400888 0.474112 -0.849111 +v -1.463388 0.411612 -0.812500 +v -1.525888 0.349112 -0.849111 +v -1.551777 0.323224 -0.937500 +v -1.525888 0.349112 -1.025888 +v -1.500000 0.500000 -1.062500 +v -1.411611 0.500000 -1.025888 +v -1.411611 0.500000 -0.849111 +v -1.500000 0.500000 -0.812500 +v -1.588388 0.500000 -0.849111 +v -1.625000 0.500000 -0.937500 +v -1.588388 0.500000 -1.025888 +v -1.125000 1.625000 -0.812500 +v -1.125000 1.536612 -0.849111 +v -1.125000 1.500000 -0.937500 +v -1.125000 1.536612 -1.025888 +v -1.125000 1.625000 -1.062500 +v -1.125000 1.713388 -1.025888 +v -1.125000 1.750000 -0.937500 +v -1.125000 1.713388 -0.849112 +v -1.375000 1.625000 -0.812500 +v -1.375000 1.536612 -0.849111 +v -1.375000 1.500000 -0.937500 +v -1.375000 1.536612 -1.025888 +v -1.375000 1.625000 -1.062500 +v -1.375000 1.713388 -1.025888 +v -1.375000 1.750000 -0.937500 +v -1.375000 1.713388 -0.849111 +v -1.463388 1.588388 -0.812500 +v -1.400888 1.525888 -0.849111 +v -1.400888 1.525888 -1.025888 +v -1.463388 1.588388 -1.062500 +v -1.525888 1.650888 -1.025888 +v -1.551777 1.676777 -0.937500 +v -1.525888 1.650888 -0.849112 +v -1.500000 1.500000 -0.812500 +v -1.411611 1.500000 -0.849111 +v -1.411611 1.500000 -1.025888 +v -1.500000 1.500000 -1.062500 +v -1.588388 1.500000 -1.025888 +v -1.625000 1.500000 -0.937500 +v -1.588388 1.500000 -0.849112 +v 1.125000 0.375000 -0.812500 +v 1.125000 0.463389 -0.849112 +v 1.125000 0.500000 -0.937500 +v 1.125000 0.463389 -1.025888 +v 1.125000 0.375000 -1.062500 +v 1.125000 0.286612 -1.025888 +v 1.125000 0.250000 -0.937500 +v 1.125000 0.286612 -0.849112 +v 1.375000 0.375000 -0.812500 +v 1.375000 0.463389 -0.849112 +v 1.375000 0.500000 -0.937500 +v 1.375000 0.463389 -1.025888 +v 1.375000 0.375000 -1.062500 +v 1.375000 0.286612 -1.025888 +v 1.375000 0.250000 -0.937500 +v 1.375000 0.286612 -0.849112 +v 1.463388 0.411612 -0.812500 +v 1.400888 0.474112 -0.849112 +v 1.400888 0.474112 -1.025889 +v 1.463388 0.411612 -1.062501 +v 1.525888 0.349112 -1.025889 +v 1.551777 0.323224 -0.937500 +v 1.525888 0.349112 -0.849112 +v 1.500000 0.500000 -0.812500 +v 1.411611 0.500000 -0.849112 +v 1.411611 0.500000 -1.025889 +v 1.500000 0.500000 -1.062500 +v 1.588388 0.500000 -1.025889 +v 1.625000 0.500000 -0.937500 +v 1.588388 0.500000 -0.849112 +v 1.125000 1.625000 -1.062500 +v 1.125000 1.536612 -1.025888 +v 1.125000 1.500000 -0.937500 +v 1.125000 1.536612 -0.849112 +v 1.125000 1.625000 -0.812500 +v 1.125000 1.713388 -0.849112 +v 1.125000 1.750000 -0.937500 +v 1.125000 1.713388 -1.025888 +v 1.375000 1.625000 -1.062500 +v 1.375000 1.536612 -1.025889 +v 1.375000 1.500000 -0.937500 +v 1.375000 1.536612 -0.849112 +v 1.375000 1.625000 -0.812500 +v 1.375000 1.713388 -0.849112 +v 1.375000 1.750000 -0.937500 +v 1.375000 1.713388 -1.025888 +v 1.463388 1.588388 -1.062501 +v 1.400888 1.525888 -1.025889 +v 1.400888 1.525888 -0.849112 +v 1.463388 1.588388 -0.812500 +v 1.525888 1.650888 -0.849112 +v 1.551777 1.676777 -0.937500 +v 1.525888 1.650888 -1.025889 +v 1.500000 1.500000 -1.062500 +v 1.411611 1.500000 -1.025889 +v 1.411611 1.500000 -0.849112 +v 1.500000 1.500000 -0.812500 +v 1.588388 1.500000 -0.849112 +v 1.625000 1.500000 -0.937500 +v 1.588388 1.500000 -1.025889 +v 1.125000 0.375000 -0.437500 +v 1.125000 0.463389 -0.474112 +v 1.125000 0.500000 -0.562500 +v 1.125000 0.463389 -0.650889 +v 1.125000 0.375000 -0.687500 +v 1.125000 0.286612 -0.650889 +v 1.125000 0.250000 -0.562500 +v 1.125000 0.286612 -0.474112 +v 1.375000 0.375000 -0.437500 +v 1.375000 0.463389 -0.474112 +v 1.375000 0.500000 -0.562500 +v 1.375000 0.463389 -0.650889 +v 1.375000 0.375000 -0.687500 +v 1.375000 0.286612 -0.650889 +v 1.375000 0.250000 -0.562500 +v 1.375000 0.286612 -0.474112 +v 1.463388 0.411612 -0.437500 +v 1.400888 0.474112 -0.474112 +v 1.400888 0.474112 -0.650889 +v 1.463388 0.411612 -0.687500 +v 1.525888 0.349112 -0.650889 +v 1.551777 0.323224 -0.562500 +v 1.525888 0.349112 -0.474112 +v 1.500000 0.500000 -0.437500 +v 1.411611 0.500000 -0.474112 +v 1.411611 0.500000 -0.650889 +v 1.500000 0.500000 -0.687500 +v 1.588388 0.500000 -0.650889 +v 1.625000 0.500000 -0.562500 +v 1.588388 0.500000 -0.474112 +v 1.125000 1.625000 -0.687500 +v 1.125000 1.536612 -0.650889 +v 1.125000 1.500000 -0.562500 +v 1.125000 1.536612 -0.474112 +v 1.125000 1.625000 -0.437500 +v 1.125000 1.713388 -0.474112 +v 1.125000 1.750000 -0.562500 +v 1.125000 1.713388 -0.650888 +v 1.375000 1.625000 -0.687500 +v 1.375000 1.536612 -0.650889 +v 1.375000 1.500000 -0.562500 +v 1.375000 1.536612 -0.474112 +v 1.375000 1.625000 -0.437500 +v 1.375000 1.713388 -0.474112 +v 1.375000 1.750000 -0.562500 +v 1.375000 1.713388 -0.650889 +v 1.463388 1.588388 -0.687500 +v 1.400888 1.525888 -0.650889 +v 1.400888 1.525888 -0.474112 +v 1.463388 1.588388 -0.437500 +v 1.525888 1.650888 -0.474112 +v 1.551777 1.676777 -0.562500 +v 1.525888 1.650888 -0.650889 +v 1.500000 1.500000 -0.687500 +v 1.411611 1.500000 -0.650889 +v 1.411611 1.500000 -0.474112 +v 1.500000 1.500000 -0.437500 +v 1.588388 1.500000 -0.474112 +v 1.625000 1.500000 -0.562500 +v 1.588388 1.500000 -0.650889 +v 1.125000 0.375000 0.687500 +v 1.125000 0.463389 0.650888 +v 1.125000 0.500000 0.562500 +v 1.125000 0.463389 0.474111 +v 1.125000 0.375000 0.437500 +v 1.125000 0.286612 0.474111 +v 1.125000 0.250000 0.562500 +v 1.125000 0.286612 0.650888 +v 1.375000 0.375000 0.687500 +v 1.375000 0.463389 0.650888 +v 1.375000 0.500000 0.562500 +v 1.375000 0.463389 0.474111 +v 1.375000 0.375000 0.437500 +v 1.375000 0.286612 0.474111 +v 1.375000 0.250000 0.562500 +v 1.375000 0.286612 0.650888 +v 1.463388 0.411612 0.687500 +v 1.400888 0.474112 0.650888 +v 1.400888 0.474112 0.474111 +v 1.463388 0.411612 0.437500 +v 1.525888 0.349112 0.474111 +v 1.551777 0.323224 0.562500 +v 1.525888 0.349112 0.650888 +v 1.500000 0.500000 0.687500 +v 1.411612 0.500000 0.650888 +v 1.411611 0.500000 0.474111 +v 1.500000 0.500000 0.437500 +v 1.588388 0.500000 0.474111 +v 1.625000 0.500000 0.562500 +v 1.588388 0.500000 0.650888 +v 1.125000 1.625000 0.437500 +v 1.125000 1.536612 0.474111 +v 1.125000 1.500000 0.562500 +v 1.125000 1.536612 0.650888 +v 1.125000 1.625000 0.687500 +v 1.125000 1.713388 0.650888 +v 1.125000 1.750000 0.562500 +v 1.125000 1.713388 0.474112 +v 1.375000 1.625000 0.437500 +v 1.375000 1.536612 0.474111 +v 1.375000 1.500000 0.562500 +v 1.375000 1.536612 0.650888 +v 1.375000 1.625000 0.687500 +v 1.375000 1.713388 0.650888 +v 1.375000 1.750000 0.562500 +v 1.375000 1.713388 0.474111 +v 1.463388 1.588388 0.437500 +v 1.400888 1.525888 0.474111 +v 1.400888 1.525888 0.650888 +v 1.463388 1.588388 0.687500 +v 1.525888 1.650888 0.650888 +v 1.551777 1.676777 0.562500 +v 1.525888 1.650888 0.474111 +v 1.500000 1.500000 0.437500 +v 1.411611 1.500000 0.474111 +v 1.411611 1.500000 0.650888 +v 1.500000 1.500000 0.687500 +v 1.588388 1.500000 0.650888 +v 1.625000 1.500000 0.562500 +v 1.588388 1.500000 0.474111 +v 1.125000 0.375000 1.062500 +v 1.125000 0.463389 1.025888 +v 1.125000 0.500000 0.937500 +v 1.125000 0.463389 0.849111 +v 1.125000 0.375000 0.812500 +v 1.125000 0.286612 0.849111 +v 1.125000 0.250000 0.937500 +v 1.125000 0.286612 1.025888 +v 1.375000 0.375000 1.062500 +v 1.375000 0.463389 1.025888 +v 1.375000 0.500000 0.937500 +v 1.375000 0.463389 0.849111 +v 1.375000 0.375000 0.812500 +v 1.375000 0.286612 0.849111 +v 1.375000 0.250000 0.937500 +v 1.375000 0.286612 1.025888 +v 1.463388 0.411612 1.062500 +v 1.400888 0.474112 1.025888 +v 1.400888 0.474112 0.849111 +v 1.463388 0.411612 0.812500 +v 1.525888 0.349112 0.849111 +v 1.551777 0.323224 0.937500 +v 1.525888 0.349112 1.025888 +v 1.500000 0.500000 1.062500 +v 1.411612 0.500000 1.025888 +v 1.411612 0.500000 0.849111 +v 1.500000 0.500000 0.812500 +v 1.588388 0.500000 0.849111 +v 1.625000 0.500000 0.937500 +v 1.588388 0.500000 1.025888 +v 1.125000 1.625000 0.812500 +v 1.125000 1.536612 0.849111 +v 1.125000 1.500000 0.937500 +v 1.125000 1.536612 1.025888 +v 1.125000 1.625000 1.062500 +v 1.125000 1.713388 1.025888 +v 1.125000 1.750000 0.937500 +v 1.125000 1.713388 0.849112 +v 1.375000 1.625000 0.812500 +v 1.375000 1.536612 0.849111 +v 1.375000 1.500000 0.937500 +v 1.375000 1.536612 1.025888 +v 1.375000 1.625000 1.062500 +v 1.375000 1.713388 1.025888 +v 1.375000 1.750000 0.937500 +v 1.375000 1.713388 0.849111 +v 1.463388 1.588388 0.812500 +v 1.400888 1.525888 0.849111 +v 1.400888 1.525888 1.025888 +v 1.463388 1.588388 1.062500 +v 1.525888 1.650888 1.025888 +v 1.551777 1.676777 0.937500 +v 1.525888 1.650888 0.849111 +v 1.500000 1.500000 0.812500 +v 1.411612 1.500000 0.849111 +v 1.411612 1.500000 1.025888 +v 1.500000 1.500000 1.062500 +v 1.588388 1.500000 1.025888 +v 1.625000 1.500000 0.937500 +v 1.588388 1.500000 0.849111 +vt 0.500000 -0.000000 +vt -0.000000 0.375000 +vt -0.000000 -0.000000 +vt 0.500000 0.796875 +vt 0.510417 0.921875 +vt 0.500000 0.921875 +vt 0.666667 0.468750 +vt 0.541667 0.281250 +vt 0.666667 0.281250 +vt 0.541667 0.468750 +vt 0.666667 0.281250 +vt 0.666667 0.468750 +vt 0.500000 0.015625 +vt 0.520833 0.234375 +vt 0.500000 0.234375 +vt 0.666667 0.281250 +vt 0.708333 0.468750 +vt 0.666667 0.468750 +vt 0.020833 0.390625 +vt 0.500000 0.375000 +vt 0.479167 0.390625 +vt 0.020833 0.390625 +vt 0.500000 0.375000 +vt 0.479167 0.390625 +vt 0.479167 0.609375 +vt 0.000000 0.625000 +vt 0.020833 0.609375 +vt 0.479167 0.609375 +vt -0.000000 0.625000 +vt 0.020833 0.609375 +vt 0.000000 0.375000 +vt 0.500000 0.625000 +vt 0.500000 0.625000 +vt 0.020833 0.390625 +vt 0.500000 0.375000 +vt 0.479167 0.390625 +vt 0.020833 0.390625 +vt 0.500000 0.375000 +vt 0.479167 0.390625 +vt 0.479167 0.609375 +vt 0.000000 0.625000 +vt 0.020833 0.609375 +vt 0.479167 0.609375 +vt -0.000000 0.625000 +vt 0.020833 0.609375 +vt 0.500000 0.625000 +vt -0.000000 0.375000 +vt 0.500000 0.625000 +vt 0.000000 0.375000 +vt 0.500000 0.281250 +vt 0.541667 0.468750 +vt 0.500000 0.468750 +vt 1.000000 0.234375 +vt 0.979167 0.015625 +vt 1.000000 0.015625 +vt 0.520833 0.250000 +vt 0.979167 0.234375 +vt 0.979167 0.250000 +vt 0.979167 -0.000000 +vt 0.520833 0.015625 +vt 0.520833 -0.000000 +vt 0.500000 0.468750 +vt 0.541667 0.281250 +vt 0.541667 0.468750 +vt 0.541667 0.281250 +vt 0.666667 0.281250 +vt 0.708333 0.468750 +vt 0.708333 0.281250 +vt 0.812500 0.031250 +vt 0.687500 0.218750 +vt 0.687500 0.031250 +vt 0.500000 0.281250 +vt 0.541667 0.468750 +vt 0.500000 0.468750 +vt 0.708333 0.468750 +vt 0.708333 0.281250 +vt 0.812500 0.031250 +vt 0.687500 0.218750 +vt 0.687500 0.031250 +vt 0.500000 0.281250 +vt 0.541667 0.468750 +vt 0.500000 0.468750 +vt 0.687500 0.914062 +vt 0.677083 0.804688 +vt 0.687500 0.804688 +vt 0.687500 0.781250 +vt 0.520833 0.789062 +vt 0.520833 0.781250 +vt 0.520833 0.937500 +vt 0.687500 0.929688 +vt 0.687500 0.937500 +vt 0.708333 0.921875 +vt 0.697917 0.796875 +vt 0.708333 0.796875 +vt 0.677083 0.921875 +vt 0.520833 0.929688 +vt 0.531250 0.921875 +vt 0.520833 0.914062 +vt 0.510417 0.796875 +vt 0.520833 0.804688 +vt 0.531250 0.796875 +vt 0.687500 0.789062 +vt 0.677083 0.796875 +vt 0.697917 0.921875 +vt 0.531250 0.804688 +vt 0.677083 0.914062 +vt 0.531250 0.914062 +vt 0.812500 0.265625 +vt 0.729167 0.328125 +vt 0.729167 0.265625 +vt 0.812500 0.265625 +vt 0.729167 0.328125 +vt 0.729167 0.265625 +vt 0.812500 0.328125 +vt 0.729167 0.343750 +vt 0.812500 0.250000 +vt 0.833333 0.328125 +vt 0.708333 0.265625 +vt 0.812500 0.343750 +vt 0.729167 0.343750 +vt 0.812500 0.250000 +vt 0.833333 0.328125 +vt 0.812500 0.328125 +vt 0.708333 0.265625 +vt 0.812500 0.265625 +vt 0.729167 0.328125 +vt 0.729167 0.265625 +vt 0.812500 0.265625 +vt 0.729167 0.328125 +vt 0.729167 0.265625 +vt 0.812500 0.328125 +vt 0.729167 0.343750 +vt 0.812500 0.250000 +vt 0.833333 0.328125 +vt 0.708333 0.265625 +vt 0.812500 0.328125 +vt 0.729167 0.343750 +vt 0.812500 0.250000 +vt 0.833333 0.328125 +vt 0.708333 0.265625 +vt 0.500000 0.281250 +vt 0.541667 0.468750 +vt 0.500000 0.468750 +vt 0.812500 0.031250 +vt 0.687500 0.218750 +vt 0.687500 0.031250 +vt 0.937500 0.031250 +vt 0.937500 0.218750 +vt 0.562500 0.218750 +vt 0.562500 0.031250 +vt 0.812500 0.218750 +vt 0.666667 0.468750 +vt 0.541667 0.281250 +vt 0.666667 0.281250 +vt 0.666667 0.281250 +vt 0.541667 0.281250 +vt 0.541667 0.500000 +vt 0.666667 0.500000 +vt 0.666667 0.250000 +vt 0.541667 0.250000 +vt 0.708333 0.468750 +vt 0.708333 0.281250 +vt 0.666667 0.250000 +vt 0.541667 0.250000 +vt 0.708333 0.468750 +vt 0.708333 0.281250 +vt 0.541667 0.500000 +vt 0.666667 0.468750 +vt 0.666667 0.500000 +vt 0.500000 0.281250 +vt 0.541667 0.468750 +vt 0.500000 0.468750 +vt 0.500000 0.281250 +vt 0.541667 0.468750 +vt 0.500000 0.468750 +vt 0.812500 0.031250 +vt 0.687500 0.218750 +vt 0.687500 0.031250 +vt 0.937500 0.031250 +vt 0.979167 0.234375 +vt 0.937500 0.218750 +vt 0.562500 0.218750 +vt 0.520833 0.015625 +vt 0.562500 0.031250 +vt 0.520833 0.234375 +vt 0.812500 0.218750 +vt 0.666667 0.468750 +vt 0.541667 0.281250 +vt 0.666667 0.281250 +vt 0.666667 0.281250 +vt 0.541667 0.281250 +vt 0.541667 0.500000 +vt 0.666667 0.500000 +vt 0.666667 0.250000 +vt 0.541667 0.250000 +vt 0.708333 0.468750 +vt 0.708333 0.281250 +vt 0.666667 0.250000 +vt 0.541667 0.250000 +vt 0.708333 0.468750 +vt 0.708333 0.281250 +vt 0.541667 0.500000 +vt 0.666667 0.468750 +vt 0.666667 0.500000 +vt 0.562500 0.031250 +vt 0.520833 0.234375 +vt 0.520833 0.015625 +vt 0.979167 0.015625 +vt 0.937500 0.218750 +vt 0.937500 0.031250 +vt 0.666667 0.250000 +vt 0.541667 0.250000 +vt 0.541667 0.250000 +vt 0.666667 0.250000 +vt 0.666667 0.468750 +vt 0.541667 0.500000 +vt 0.541667 0.500000 +vt 0.562500 0.218750 +vt 0.520833 0.000000 +vt 0.979167 0.000000 +vt 0.520833 0.250000 +vt 0.979167 0.234375 +vt 0.979167 0.250000 +vt 0.500000 0.234375 +vt 1.000000 0.015625 +vt 0.708333 0.281250 +vt 0.500000 0.281250 +vt 0.541667 0.281250 +vt 0.562500 0.031250 +vt 0.520833 0.234375 +vt 0.520833 0.015625 +vt 0.937500 0.218750 +vt 0.979167 0.015625 +vt 0.979167 0.234375 +vt 0.541667 0.250000 +vt 0.666667 0.250000 +vt 0.666667 0.500000 +vt 0.666667 0.500000 +vt 0.541667 0.500000 +vt 0.562500 0.218750 +vt 0.500000 0.015625 +vt 0.500000 0.234375 +vt 1.000000 0.234375 +vt 1.000000 0.015625 +vt 0.520833 -0.000000 +vt 0.979167 -0.000000 +vt 0.520833 0.250000 +vt 0.979167 0.250000 +vt 0.333333 0.875000 +vt 0.500000 1.000000 +vt 0.166667 0.875000 +vt 0.000000 1.000000 +vt 0.166667 0.750000 +vt 0.333333 0.750000 +vt 0.500000 0.015625 +vt 0.500000 0.234375 +vt 0.979167 0.015625 +vt 0.520833 -0.000000 +vt 0.979167 -0.000000 +vt 0.520833 0.250000 +vt 0.979167 0.250000 +vt 1.000000 0.015625 +vt 1.000000 0.234375 +vt 0.708333 0.281250 +vt 0.500000 0.281250 +vt 0.812500 0.218750 +vt 0.812500 0.218750 +vt 0.812500 0.343750 +vt 0.729167 0.250000 +vt 0.833333 0.265625 +vt 0.708333 0.328125 +vt 0.729167 0.250000 +vt 0.833333 0.265625 +vt 0.708333 0.328125 +vt 0.812500 0.343750 +vt 0.729167 0.250000 +vt 0.833333 0.265625 +vt 0.708333 0.328125 +vt 0.812500 0.343750 +vt 0.729167 0.250000 +vt 0.833333 0.265625 +vt 0.708333 0.328125 +vt 0.666667 0.500000 +vt 0.666667 0.500000 +vt 0.500000 0.015625 +vt 1.000000 0.234375 +vt 0.708333 0.468750 +vt 0.500000 0.468750 +vt 0.937500 0.031250 +vt 0.666667 0.250000 +vt 0.541667 0.250000 +vt 0.541667 0.500000 +vt 0.562500 0.531250 +vt 0.541667 0.500000 +vt 0.562500 0.500000 +vt 0.604167 0.531250 +vt 0.583333 0.500000 +vt 0.604167 0.500000 +vt 0.645833 0.531250 +vt 0.625000 0.500000 +vt 0.645833 0.500000 +vt 0.520833 0.531250 +vt 0.500000 0.500000 +vt 0.520833 0.500000 +vt 0.583333 0.531250 +vt 0.625000 0.531250 +vt 0.666667 0.531250 +vt 0.666667 0.500000 +vt 0.541667 0.531250 +vt 0.562500 0.554688 +vt 0.625000 0.539062 +vt 0.604167 0.554688 +vt 0.541667 0.554688 +vt 0.520833 0.546875 +vt 0.541667 0.539062 +vt 0.645833 0.546875 +vt 0.625000 0.554688 +vt 0.541667 0.570312 +vt 0.604167 0.578125 +vt 0.583333 0.554688 +vt 0.645833 0.562500 +vt 0.645833 0.554688 +vt 0.562500 0.578125 +vt 0.625000 0.570312 +vt 0.520833 0.562500 +vt 0.520833 0.554688 +vt 0.500000 0.554688 +vt 0.666667 0.554688 +vt 0.604167 0.750000 +vt 0.625000 0.781250 +vt 0.604167 0.781250 +vt 0.562500 0.750000 +vt 0.583333 0.781250 +vt 0.562500 0.781250 +vt 0.520833 0.750000 +vt 0.541667 0.781250 +vt 0.520833 0.781250 +vt 0.645833 0.781250 +vt 0.666667 0.750000 +vt 0.666667 0.781250 +vt 0.541667 0.750000 +vt 0.500000 0.750000 +vt 0.500000 0.781250 +vt 0.625000 0.750000 +vt 0.583333 0.750000 +vt 0.604167 0.726562 +vt 0.541667 0.726562 +vt 0.541667 0.742188 +vt 0.625000 0.742188 +vt 0.645833 0.726562 +vt 0.645833 0.734375 +vt 0.562500 0.726562 +vt 0.520833 0.726562 +vt 0.520833 0.734375 +vt 0.625000 0.710938 +vt 0.625000 0.726562 +vt 0.562500 0.703125 +vt 0.583333 0.726562 +vt 0.520833 0.718750 +vt 0.604167 0.703125 +vt 0.541667 0.710938 +vt 0.666667 0.726562 +vt 0.645833 0.718750 +vt 0.500000 0.726562 +vt 0.520833 0.578125 +vt 0.500000 0.703125 +vt 0.500000 0.578125 +vt 0.666667 0.703125 +vt 0.645833 0.578125 +vt 0.666667 0.578125 +vt 0.625000 0.703125 +vt 0.625000 0.578125 +vt 0.583333 0.703125 +vt 0.583333 0.578125 +vt 0.541667 0.703125 +vt 0.541667 0.578125 +vt 0.520833 0.703125 +vt 0.562500 0.531250 +vt 0.541667 0.500000 +vt 0.562500 0.500000 +vt 0.604167 0.531250 +vt 0.583333 0.500000 +vt 0.604167 0.500000 +vt 0.645833 0.531250 +vt 0.625000 0.500000 +vt 0.645833 0.500000 +vt 0.520833 0.531250 +vt 0.500000 0.500000 +vt 0.520833 0.500000 +vt 0.583333 0.531250 +vt 0.625000 0.531250 +vt 0.666667 0.531250 +vt 0.666667 0.500000 +vt 0.541667 0.531250 +vt 0.562500 0.554688 +vt 0.625000 0.539062 +vt 0.604167 0.554688 +vt 0.541667 0.554688 +vt 0.520833 0.546875 +vt 0.541667 0.539062 +vt 0.645833 0.546875 +vt 0.625000 0.554688 +vt 0.541667 0.570312 +vt 0.604167 0.578125 +vt 0.583333 0.554688 +vt 0.645833 0.562500 +vt 0.645833 0.554688 +vt 0.562500 0.578125 +vt 0.625000 0.570312 +vt 0.520833 0.562500 +vt 0.520833 0.554688 +vt 0.500000 0.554688 +vt 0.666667 0.554688 +vt 0.604167 0.750000 +vt 0.625000 0.781250 +vt 0.604167 0.781250 +vt 0.562500 0.750000 +vt 0.583333 0.781250 +vt 0.562500 0.781250 +vt 0.520833 0.750000 +vt 0.541667 0.781250 +vt 0.520833 0.781250 +vt 0.645833 0.781250 +vt 0.666667 0.750000 +vt 0.666667 0.781250 +vt 0.583333 0.750000 +vt 0.541667 0.750000 +vt 0.500000 0.750000 +vt 0.500000 0.781250 +vt 0.625000 0.750000 +vt 0.604167 0.726562 +vt 0.541667 0.742188 +vt 0.562500 0.726562 +vt 0.625000 0.726562 +vt 0.645833 0.734375 +vt 0.625000 0.742188 +vt 0.520833 0.726562 +vt 0.520833 0.734375 +vt 0.625000 0.710938 +vt 0.562500 0.703125 +vt 0.583333 0.726562 +vt 0.520833 0.718750 +vt 0.541667 0.726562 +vt 0.604167 0.703125 +vt 0.541667 0.710938 +vt 0.645833 0.726562 +vt 0.666667 0.726562 +vt 0.645833 0.718750 +vt 0.500000 0.726562 +vt 0.520833 0.578125 +vt 0.500000 0.703125 +vt 0.500000 0.578125 +vt 0.666667 0.703125 +vt 0.645833 0.578125 +vt 0.666667 0.578125 +vt 0.625000 0.703125 +vt 0.625000 0.578125 +vt 0.583333 0.703125 +vt 0.583333 0.578125 +vt 0.541667 0.703125 +vt 0.541667 0.578125 +vt 0.520833 0.703125 +vt 0.562500 0.531250 +vt 0.541667 0.500000 +vt 0.562500 0.500000 +vt 0.604167 0.531250 +vt 0.583333 0.500000 +vt 0.604167 0.500000 +vt 0.645833 0.531250 +vt 0.625000 0.500000 +vt 0.645833 0.500000 +vt 0.520833 0.531250 +vt 0.500000 0.500000 +vt 0.520833 0.500000 +vt 0.583333 0.531250 +vt 0.625000 0.531250 +vt 0.666667 0.531250 +vt 0.666667 0.500000 +vt 0.541667 0.531250 +vt 0.562500 0.554688 +vt 0.625000 0.539062 +vt 0.604167 0.554688 +vt 0.541667 0.554688 +vt 0.520833 0.546875 +vt 0.541667 0.539062 +vt 0.645833 0.546875 +vt 0.625000 0.554688 +vt 0.541667 0.570312 +vt 0.604167 0.578125 +vt 0.583333 0.554688 +vt 0.645833 0.562500 +vt 0.645833 0.554688 +vt 0.562500 0.578125 +vt 0.625000 0.570312 +vt 0.520833 0.562500 +vt 0.520833 0.554688 +vt 0.500000 0.554688 +vt 0.666667 0.554688 +vt 0.604167 0.750000 +vt 0.625000 0.781250 +vt 0.604167 0.781250 +vt 0.562500 0.750000 +vt 0.583333 0.781250 +vt 0.562500 0.781250 +vt 0.520833 0.750000 +vt 0.541667 0.781250 +vt 0.520833 0.781250 +vt 0.645833 0.750000 +vt 0.666667 0.781250 +vt 0.645833 0.781250 +vt 0.583333 0.750000 +vt 0.541667 0.750000 +vt 0.500000 0.750000 +vt 0.500000 0.781250 +vt 0.604167 0.726562 +vt 0.541667 0.726562 +vt 0.541667 0.742188 +vt 0.625000 0.726562 +vt 0.645833 0.734375 +vt 0.625000 0.742188 +vt 0.562500 0.726562 +vt 0.520833 0.726562 +vt 0.520833 0.734375 +vt 0.625000 0.710938 +vt 0.562500 0.703125 +vt 0.583333 0.726562 +vt 0.520833 0.718750 +vt 0.604167 0.703125 +vt 0.541667 0.710938 +vt 0.645833 0.726562 +vt 0.666667 0.726562 +vt 0.645833 0.718750 +vt 0.500000 0.726562 +vt 0.520833 0.578125 +vt 0.500000 0.703125 +vt 0.500000 0.578125 +vt 0.666667 0.703125 +vt 0.645833 0.578125 +vt 0.666667 0.578125 +vt 0.625000 0.703125 +vt 0.625000 0.578125 +vt 0.583333 0.703125 +vt 0.583333 0.578125 +vt 0.541667 0.703125 +vt 0.541667 0.578125 +vt 0.520833 0.703125 +vt 0.562500 0.531250 +vt 0.541667 0.500000 +vt 0.562500 0.500000 +vt 0.604167 0.531250 +vt 0.583333 0.500000 +vt 0.604167 0.500000 +vt 0.645833 0.531250 +vt 0.625000 0.500000 +vt 0.645833 0.500000 +vt 0.520833 0.531250 +vt 0.500000 0.500000 +vt 0.520833 0.500000 +vt 0.583333 0.531250 +vt 0.625000 0.531250 +vt 0.666667 0.531250 +vt 0.666667 0.500000 +vt 0.541667 0.531250 +vt 0.562500 0.554688 +vt 0.625000 0.539062 +vt 0.604167 0.554688 +vt 0.541667 0.554688 +vt 0.520833 0.546875 +vt 0.541667 0.539062 +vt 0.645833 0.546875 +vt 0.625000 0.554688 +vt 0.541667 0.570312 +vt 0.604167 0.578125 +vt 0.583333 0.554688 +vt 0.645833 0.562500 +vt 0.645833 0.554688 +vt 0.562500 0.578125 +vt 0.625000 0.570312 +vt 0.520833 0.562500 +vt 0.520833 0.554688 +vt 0.500000 0.554688 +vt 0.666667 0.554688 +vt 0.604167 0.750000 +vt 0.625000 0.781250 +vt 0.604167 0.781250 +vt 0.562500 0.750000 +vt 0.583333 0.781250 +vt 0.562500 0.781250 +vt 0.520833 0.750000 +vt 0.541667 0.781250 +vt 0.520833 0.781250 +vt 0.645833 0.781250 +vt 0.666667 0.750000 +vt 0.666667 0.781250 +vt 0.583333 0.750000 +vt 0.541667 0.750000 +vt 0.500000 0.750000 +vt 0.500000 0.781250 +vt 0.625000 0.750000 +vt 0.604167 0.726562 +vt 0.541667 0.742188 +vt 0.562500 0.726562 +vt 0.625000 0.742188 +vt 0.645833 0.726562 +vt 0.645833 0.734375 +vt 0.520833 0.726562 +vt 0.520833 0.734375 +vt 0.625000 0.710938 +vt 0.625000 0.726562 +vt 0.562500 0.703125 +vt 0.583333 0.726562 +vt 0.520833 0.718750 +vt 0.541667 0.726562 +vt 0.604167 0.703125 +vt 0.541667 0.710938 +vt 0.666667 0.726562 +vt 0.645833 0.718750 +vt 0.500000 0.726562 +vt 0.520833 0.578125 +vt 0.500000 0.703125 +vt 0.500000 0.578125 +vt 0.666667 0.703125 +vt 0.645833 0.578125 +vt 0.666667 0.578125 +vt 0.625000 0.703125 +vt 0.625000 0.578125 +vt 0.583333 0.703125 +vt 0.583333 0.578125 +vt 0.541667 0.703125 +vt 0.541667 0.578125 +vt 0.520833 0.703125 +vt 0.562500 0.531250 +vt 0.541667 0.500000 +vt 0.562500 0.500000 +vt 0.604167 0.531250 +vt 0.583333 0.500000 +vt 0.604167 0.500000 +vt 0.645833 0.531250 +vt 0.625000 0.500000 +vt 0.645833 0.500000 +vt 0.520833 0.531250 +vt 0.500000 0.500000 +vt 0.520833 0.500000 +vt 0.583333 0.531250 +vt 0.625000 0.531250 +vt 0.666667 0.531250 +vt 0.666667 0.500000 +vt 0.541667 0.531250 +vt 0.562500 0.554688 +vt 0.625000 0.539062 +vt 0.604167 0.554688 +vt 0.541667 0.554688 +vt 0.520833 0.546875 +vt 0.541667 0.539062 +vt 0.645833 0.546875 +vt 0.625000 0.554688 +vt 0.541667 0.570312 +vt 0.604167 0.578125 +vt 0.583333 0.554688 +vt 0.645833 0.562500 +vt 0.645833 0.554688 +vt 0.562500 0.578125 +vt 0.625000 0.570312 +vt 0.520833 0.554688 +vt 0.500000 0.554688 +vt 0.520833 0.562500 +vt 0.666667 0.554688 +vt 0.604167 0.750000 +vt 0.625000 0.781250 +vt 0.604167 0.781250 +vt 0.562500 0.750000 +vt 0.583333 0.781250 +vt 0.562500 0.781250 +vt 0.520833 0.750000 +vt 0.541667 0.781250 +vt 0.520833 0.781250 +vt 0.645833 0.750000 +vt 0.666667 0.781250 +vt 0.645833 0.781250 +vt 0.583333 0.750000 +vt 0.541667 0.750000 +vt 0.500000 0.750000 +vt 0.500000 0.781250 +vt 0.625000 0.750000 +vt 0.604167 0.726562 +vt 0.541667 0.742188 +vt 0.562500 0.726562 +vt 0.625000 0.742188 +vt 0.645833 0.726562 +vt 0.645833 0.734375 +vt 0.520833 0.726562 +vt 0.520833 0.734375 +vt 0.625000 0.710938 +vt 0.625000 0.726562 +vt 0.562500 0.703125 +vt 0.583333 0.726562 +vt 0.520833 0.718750 +vt 0.541667 0.726562 +vt 0.604167 0.703125 +vt 0.541667 0.710938 +vt 0.666667 0.726562 +vt 0.645833 0.718750 +vt 0.500000 0.726562 +vt 0.520833 0.578125 +vt 0.500000 0.703125 +vt 0.500000 0.578125 +vt 0.666667 0.703125 +vt 0.645833 0.578125 +vt 0.666667 0.578125 +vt 0.625000 0.703125 +vt 0.625000 0.578125 +vt 0.583333 0.703125 +vt 0.583333 0.578125 +vt 0.541667 0.703125 +vt 0.541667 0.578125 +vt 0.520833 0.703125 +vt 0.562500 0.531250 +vt 0.541667 0.500000 +vt 0.562500 0.500000 +vt 0.604167 0.531250 +vt 0.583333 0.500000 +vt 0.604167 0.500000 +vt 0.645833 0.531250 +vt 0.625000 0.500000 +vt 0.645833 0.500000 +vt 0.520833 0.531250 +vt 0.500000 0.500000 +vt 0.520833 0.500000 +vt 0.583333 0.531250 +vt 0.625000 0.531250 +vt 0.666667 0.531250 +vt 0.666667 0.500000 +vt 0.541667 0.531250 +vt 0.562500 0.554688 +vt 0.625000 0.554688 +vt 0.625000 0.539062 +vt 0.541667 0.554688 +vt 0.520833 0.546875 +vt 0.541667 0.539062 +vt 0.604167 0.554688 +vt 0.645833 0.546875 +vt 0.541667 0.570312 +vt 0.604167 0.578125 +vt 0.583333 0.554688 +vt 0.645833 0.554688 +vt 0.625000 0.570312 +vt 0.562500 0.578125 +vt 0.520833 0.554688 +vt 0.500000 0.554688 +vt 0.520833 0.562500 +vt 0.666667 0.554688 +vt 0.645833 0.562500 +vt 0.604167 0.750000 +vt 0.625000 0.781250 +vt 0.604167 0.781250 +vt 0.562500 0.750000 +vt 0.583333 0.781250 +vt 0.562500 0.781250 +vt 0.520833 0.750000 +vt 0.541667 0.781250 +vt 0.520833 0.781250 +vt 0.645833 0.781250 +vt 0.666667 0.750000 +vt 0.666667 0.781250 +vt 0.583333 0.750000 +vt 0.541667 0.750000 +vt 0.500000 0.750000 +vt 0.500000 0.781250 +vt 0.645833 0.750000 +vt 0.604167 0.726562 +vt 0.541667 0.742188 +vt 0.562500 0.726562 +vt 0.625000 0.742188 +vt 0.645833 0.726562 +vt 0.645833 0.734375 +vt 0.625000 0.726562 +vt 0.520833 0.726562 +vt 0.520833 0.734375 +vt 0.625000 0.710938 +vt 0.562500 0.703125 +vt 0.583333 0.726562 +vt 0.520833 0.718750 +vt 0.541667 0.726562 +vt 0.604167 0.703125 +vt 0.541667 0.710938 +vt 0.666667 0.726562 +vt 0.645833 0.718750 +vt 0.500000 0.726562 +vt 0.520833 0.578125 +vt 0.500000 0.703125 +vt 0.500000 0.578125 +vt 0.666667 0.703125 +vt 0.645833 0.578125 +vt 0.666667 0.578125 +vt 0.625000 0.703125 +vt 0.625000 0.578125 +vt 0.583333 0.703125 +vt 0.583333 0.578125 +vt 0.541667 0.703125 +vt 0.541667 0.578125 +vt 0.520833 0.703125 +vt 0.562500 0.531250 +vt 0.541667 0.500000 +vt 0.562500 0.500000 +vt 0.604167 0.531250 +vt 0.583333 0.500000 +vt 0.604167 0.500000 +vt 0.645833 0.531250 +vt 0.625000 0.500000 +vt 0.645833 0.500000 +vt 0.520833 0.531250 +vt 0.500000 0.500000 +vt 0.520833 0.500000 +vt 0.583333 0.531250 +vt 0.625000 0.531250 +vt 0.666667 0.531250 +vt 0.666667 0.500000 +vt 0.541667 0.531250 +vt 0.562500 0.554688 +vt 0.625000 0.539062 +vt 0.604167 0.554688 +vt 0.541667 0.554688 +vt 0.520833 0.546875 +vt 0.541667 0.539062 +vt 0.645833 0.546875 +vt 0.625000 0.554688 +vt 0.562500 0.578125 +vt 0.604167 0.578125 +vt 0.583333 0.554688 +vt 0.645833 0.562500 +vt 0.645833 0.554688 +vt 0.625000 0.570312 +vt 0.520833 0.562500 +vt 0.520833 0.554688 +vt 0.500000 0.554688 +vt 0.666667 0.554688 +vt 0.604167 0.750000 +vt 0.625000 0.781250 +vt 0.604167 0.781250 +vt 0.562500 0.750000 +vt 0.583333 0.781250 +vt 0.562500 0.781250 +vt 0.520833 0.750000 +vt 0.541667 0.781250 +vt 0.520833 0.781250 +vt 0.645833 0.750000 +vt 0.666667 0.781250 +vt 0.645833 0.781250 +vt 0.583333 0.750000 +vt 0.541667 0.750000 +vt 0.500000 0.750000 +vt 0.500000 0.781250 +vt 0.625000 0.750000 +vt 0.604167 0.726562 +vt 0.541667 0.742188 +vt 0.562500 0.726562 +vt 0.625000 0.726562 +vt 0.645833 0.734375 +vt 0.625000 0.742188 +vt 0.520833 0.726562 +vt 0.520833 0.734375 +vt 0.625000 0.710938 +vt 0.562500 0.703125 +vt 0.583333 0.726562 +vt 0.520833 0.718750 +vt 0.541667 0.726562 +vt 0.604167 0.703125 +vt 0.645833 0.726562 +vt 0.666667 0.726562 +vt 0.645833 0.718750 +vt 0.500000 0.726562 +vt 0.520833 0.578125 +vt 0.500000 0.703125 +vt 0.500000 0.578125 +vt 0.666667 0.703125 +vt 0.645833 0.578125 +vt 0.666667 0.578125 +vt 0.625000 0.703125 +vt 0.625000 0.578125 +vt 0.583333 0.703125 +vt 0.583333 0.578125 +vt 0.541667 0.703125 +vt 0.541667 0.578125 +vt 0.520833 0.703125 +vt 0.562500 0.531250 +vt 0.541667 0.500000 +vt 0.562500 0.500000 +vt 0.604167 0.531250 +vt 0.583333 0.500000 +vt 0.604167 0.500000 +vt 0.645833 0.531250 +vt 0.625000 0.500000 +vt 0.645833 0.500000 +vt 0.520833 0.531250 +vt 0.500000 0.500000 +vt 0.520833 0.500000 +vt 0.583333 0.531250 +vt 0.625000 0.531250 +vt 0.666667 0.531250 +vt 0.666667 0.500000 +vt 0.541667 0.531250 +vt 0.562500 0.554688 +vt 0.625000 0.539062 +vt 0.604167 0.554688 +vt 0.541667 0.554688 +vt 0.520833 0.546875 +vt 0.541667 0.539062 +vt 0.645833 0.546875 +vt 0.625000 0.554688 +vt 0.562500 0.578125 +vt 0.604167 0.578125 +vt 0.583333 0.554688 +vt 0.645833 0.562500 +vt 0.645833 0.554688 +vt 0.541667 0.570312 +vt 0.520833 0.554688 +vt 0.500000 0.554688 +vt 0.520833 0.562500 +vt 0.666667 0.554688 +vt 0.604167 0.750000 +vt 0.625000 0.781250 +vt 0.604167 0.781250 +vt 0.562500 0.750000 +vt 0.583333 0.781250 +vt 0.562500 0.781250 +vt 0.520833 0.750000 +vt 0.541667 0.781250 +vt 0.520833 0.781250 +vt 0.645833 0.781250 +vt 0.666667 0.750000 +vt 0.666667 0.781250 +vt 0.583333 0.750000 +vt 0.541667 0.750000 +vt 0.500000 0.750000 +vt 0.500000 0.781250 +vt 0.625000 0.750000 +vt 0.583333 0.726562 +vt 0.541667 0.726562 +vt 0.541667 0.742188 +vt 0.625000 0.742188 +vt 0.645833 0.726562 +vt 0.645833 0.734375 +vt 0.604167 0.726562 +vt 0.562500 0.726562 +vt 0.520833 0.726562 +vt 0.520833 0.734375 +vt 0.604167 0.703125 +vt 0.625000 0.726562 +vt 0.583333 0.703125 +vt 0.520833 0.718750 +vt 0.562500 0.703125 +vt 0.625000 0.710938 +vt 0.666667 0.726562 +vt 0.645833 0.718750 +vt 0.500000 0.726562 +vt 0.520833 0.578125 +vt 0.500000 0.703125 +vt 0.500000 0.578125 +vt 0.666667 0.703125 +vt 0.645833 0.578125 +vt 0.666667 0.578125 +vt 0.625000 0.703125 +vt 0.625000 0.578125 +vt 0.583333 0.578125 +vt 0.541667 0.703125 +vt 0.541667 0.578125 +vt 0.520833 0.703125 +vt 0.562500 0.531250 +vt 0.541667 0.500000 +vt 0.562500 0.500000 +vt 0.604167 0.531250 +vt 0.583333 0.500000 +vt 0.604167 0.500000 +vt 0.645833 0.531250 +vt 0.625000 0.500000 +vt 0.645833 0.500000 +vt 0.520833 0.531250 +vt 0.500000 0.500000 +vt 0.520833 0.500000 +vt 0.583333 0.531250 +vt 0.625000 0.531250 +vt 0.666667 0.531250 +vt 0.666667 0.500000 +vt 0.541667 0.531250 +vt 0.562500 0.554688 +vt 0.625000 0.539062 +vt 0.604167 0.554688 +vt 0.541667 0.554688 +vt 0.520833 0.546875 +vt 0.541667 0.539062 +vt 0.583333 0.554688 +vt 0.645833 0.546875 +vt 0.625000 0.554688 +vt 0.541667 0.570312 +vt 0.604167 0.578125 +vt 0.645833 0.554688 +vt 0.625000 0.570312 +vt 0.562500 0.578125 +vt 0.520833 0.562500 +vt 0.520833 0.554688 +vt 0.500000 0.554688 +vt 0.666667 0.554688 +vt 0.645833 0.562500 +vt 0.604167 0.750000 +vt 0.625000 0.781250 +vt 0.604167 0.781250 +vt 0.562500 0.750000 +vt 0.583333 0.781250 +vt 0.562500 0.781250 +vt 0.520833 0.750000 +vt 0.541667 0.781250 +vt 0.520833 0.781250 +vt 0.645833 0.781250 +vt 0.666667 0.750000 +vt 0.666667 0.781250 +vt 0.541667 0.750000 +vt 0.500000 0.750000 +vt 0.500000 0.781250 +vt 0.645833 0.750000 +vt 0.583333 0.750000 +vt 0.604167 0.726562 +vt 0.541667 0.726562 +vt 0.541667 0.742188 +vt 0.625000 0.726562 +vt 0.645833 0.734375 +vt 0.625000 0.742188 +vt 0.562500 0.726562 +vt 0.520833 0.726562 +vt 0.520833 0.734375 +vt 0.625000 0.710938 +vt 0.562500 0.703125 +vt 0.583333 0.726562 +vt 0.520833 0.718750 +vt 0.604167 0.703125 +vt 0.541667 0.710938 +vt 0.645833 0.726562 +vt 0.666667 0.726562 +vt 0.645833 0.718750 +vt 0.500000 0.726562 +vt 0.520833 0.578125 +vt 0.500000 0.703125 +vt 0.500000 0.578125 +vt 0.666667 0.703125 +vt 0.645833 0.578125 +vt 0.666667 0.578125 +vt 0.625000 0.703125 +vt 0.625000 0.578125 +vt 0.583333 0.703125 +vt 0.583333 0.578125 +vt 0.541667 0.703125 +vt 0.541667 0.578125 +vt 0.520833 0.703125 +vt 0.562500 0.531250 +vt 0.541667 0.500000 +vt 0.562500 0.500000 +vt 0.604167 0.531250 +vt 0.583333 0.500000 +vt 0.604167 0.500000 +vt 0.645833 0.531250 +vt 0.625000 0.500000 +vt 0.645833 0.500000 +vt 0.520833 0.531250 +vt 0.500000 0.500000 +vt 0.520833 0.500000 +vt 0.583333 0.531250 +vt 0.625000 0.531250 +vt 0.666667 0.531250 +vt 0.666667 0.500000 +vt 0.541667 0.531250 +vt 0.562500 0.554688 +vt 0.625000 0.539062 +vt 0.604167 0.554688 +vt 0.541667 0.554688 +vt 0.520833 0.546875 +vt 0.541667 0.539062 +vt 0.645833 0.546875 +vt 0.625000 0.554688 +vt 0.541667 0.570312 +vt 0.604167 0.578125 +vt 0.583333 0.554688 +vt 0.645833 0.562500 +vt 0.645833 0.554688 +vt 0.562500 0.578125 +vt 0.625000 0.570312 +vt 0.520833 0.562500 +vt 0.520833 0.554688 +vt 0.500000 0.554688 +vt 0.666667 0.554688 +vt 0.604167 0.750000 +vt 0.625000 0.781250 +vt 0.604167 0.781250 +vt 0.562500 0.750000 +vt 0.583333 0.781250 +vt 0.562500 0.781250 +vt 0.520833 0.750000 +vt 0.541667 0.781250 +vt 0.520833 0.781250 +vt 0.645833 0.781250 +vt 0.666667 0.750000 +vt 0.666667 0.781250 +vt 0.583333 0.750000 +vt 0.541667 0.750000 +vt 0.500000 0.750000 +vt 0.500000 0.781250 +vt 0.625000 0.750000 +vt 0.604167 0.726562 +vt 0.541667 0.742188 +vt 0.562500 0.726562 +vt 0.625000 0.726562 +vt 0.645833 0.734375 +vt 0.625000 0.742188 +vt 0.520833 0.726562 +vt 0.520833 0.734375 +vt 0.625000 0.710938 +vt 0.562500 0.703125 +vt 0.583333 0.726562 +vt 0.520833 0.718750 +vt 0.541667 0.726562 +vt 0.604167 0.703125 +vt 0.541667 0.710938 +vt 0.645833 0.726562 +vt 0.666667 0.726562 +vt 0.645833 0.718750 +vt 0.500000 0.726562 +vt 0.520833 0.578125 +vt 0.500000 0.703125 +vt 0.500000 0.578125 +vt 0.666667 0.703125 +vt 0.645833 0.578125 +vt 0.666667 0.578125 +vt 0.625000 0.703125 +vt 0.625000 0.578125 +vt 0.583333 0.703125 +vt 0.583333 0.578125 +vt 0.541667 0.703125 +vt 0.541667 0.578125 +vt 0.520833 0.703125 +vt 0.562500 0.531250 +vt 0.541667 0.500000 +vt 0.562500 0.500000 +vt 0.604167 0.531250 +vt 0.583333 0.500000 +vt 0.604167 0.500000 +vt 0.645833 0.531250 +vt 0.625000 0.500000 +vt 0.645833 0.500000 +vt 0.520833 0.531250 +vt 0.500000 0.500000 +vt 0.520833 0.500000 +vt 0.583333 0.531250 +vt 0.625000 0.531250 +vt 0.666667 0.531250 +vt 0.666667 0.500000 +vt 0.541667 0.531250 +vt 0.562500 0.554688 +vt 0.625000 0.539062 +vt 0.604167 0.554688 +vt 0.541667 0.554688 +vt 0.520833 0.546875 +vt 0.541667 0.539062 +vt 0.645833 0.546875 +vt 0.625000 0.554688 +vt 0.541667 0.570312 +vt 0.604167 0.578125 +vt 0.583333 0.554688 +vt 0.645833 0.562500 +vt 0.645833 0.554688 +vt 0.562500 0.578125 +vt 0.625000 0.570312 +vt 0.520833 0.562500 +vt 0.520833 0.554688 +vt 0.500000 0.554688 +vt 0.666667 0.554688 +vt 0.604167 0.750000 +vt 0.625000 0.781250 +vt 0.604167 0.781250 +vt 0.562500 0.750000 +vt 0.583333 0.781250 +vt 0.562500 0.781250 +vt 0.520833 0.750000 +vt 0.541667 0.781250 +vt 0.520833 0.781250 +vt 0.645833 0.750000 +vt 0.666667 0.781250 +vt 0.645833 0.781250 +vt 0.583333 0.750000 +vt 0.541667 0.750000 +vt 0.500000 0.750000 +vt 0.500000 0.781250 +vt 0.625000 0.750000 +vt 0.604167 0.726562 +vt 0.541667 0.742188 +vt 0.562500 0.726562 +vt 0.625000 0.742188 +vt 0.645833 0.726562 +vt 0.645833 0.734375 +vt 0.520833 0.726562 +vt 0.520833 0.734375 +vt 0.625000 0.710938 +vt 0.625000 0.726562 +vt 0.562500 0.703125 +vt 0.583333 0.726562 +vt 0.520833 0.718750 +vt 0.541667 0.726562 +vt 0.604167 0.703125 +vt 0.541667 0.710938 +vt 0.645833 0.718750 +vt 0.666667 0.726562 +vt 0.500000 0.726562 +vt 0.520833 0.578125 +vt 0.500000 0.703125 +vt 0.500000 0.578125 +vt 0.666667 0.703125 +vt 0.645833 0.578125 +vt 0.666667 0.578125 +vt 0.625000 0.703125 +vt 0.625000 0.578125 +vt 0.583333 0.703125 +vt 0.583333 0.578125 +vt 0.541667 0.703125 +vt 0.541667 0.578125 +vt 0.520833 0.703125 +vt 0.562500 0.531250 +vt 0.541667 0.500000 +vt 0.562500 0.500000 +vt 0.604167 0.531250 +vt 0.583333 0.500000 +vt 0.604167 0.500000 +vt 0.645833 0.531250 +vt 0.625000 0.500000 +vt 0.645833 0.500000 +vt 0.520833 0.531250 +vt 0.500000 0.500000 +vt 0.520833 0.500000 +vt 0.583333 0.531250 +vt 0.625000 0.531250 +vt 0.666667 0.531250 +vt 0.666667 0.500000 +vt 0.541667 0.531250 +vt 0.562500 0.554688 +vt 0.625000 0.539062 +vt 0.604167 0.554688 +vt 0.541667 0.554688 +vt 0.520833 0.546875 +vt 0.541667 0.539062 +vt 0.645833 0.546875 +vt 0.625000 0.554688 +vt 0.541667 0.570312 +vt 0.604167 0.578125 +vt 0.583333 0.554688 +vt 0.645833 0.562500 +vt 0.645833 0.554688 +vt 0.562500 0.578125 +vt 0.625000 0.570312 +vt 0.520833 0.562500 +vt 0.520833 0.554688 +vt 0.500000 0.554688 +vt 0.666667 0.554688 +vt 0.604167 0.750000 +vt 0.625000 0.781250 +vt 0.604167 0.781250 +vt 0.562500 0.750000 +vt 0.583333 0.781250 +vt 0.562500 0.781250 +vt 0.520833 0.750000 +vt 0.541667 0.781250 +vt 0.520833 0.781250 +vt 0.645833 0.781250 +vt 0.666667 0.750000 +vt 0.666667 0.781250 +vt 0.583333 0.750000 +vt 0.541667 0.750000 +vt 0.500000 0.750000 +vt 0.500000 0.781250 +vt 0.625000 0.750000 +vt 0.604167 0.726562 +vt 0.541667 0.742188 +vt 0.562500 0.726562 +vt 0.625000 0.742188 +vt 0.645833 0.726562 +vt 0.645833 0.734375 +vt 0.520833 0.726562 +vt 0.520833 0.734375 +vt 0.625000 0.710938 +vt 0.625000 0.726562 +vt 0.562500 0.703125 +vt 0.583333 0.726562 +vt 0.541667 0.710938 +vt 0.541667 0.726562 +vt 0.604167 0.703125 +vt 0.666667 0.726562 +vt 0.645833 0.718750 +vt 0.500000 0.726562 +vt 0.520833 0.718750 +vt 0.520833 0.578125 +vt 0.500000 0.703125 +vt 0.500000 0.578125 +vt 0.666667 0.703125 +vt 0.645833 0.578125 +vt 0.666667 0.578125 +vt 0.625000 0.703125 +vt 0.625000 0.578125 +vt 0.583333 0.703125 +vt 0.583333 0.578125 +vt 0.541667 0.703125 +vt 0.541667 0.578125 +vt 0.520833 0.703125 +vt 0.562500 0.531250 +vt 0.541667 0.500000 +vt 0.562500 0.500000 +vt 0.604167 0.531250 +vt 0.583333 0.500000 +vt 0.604167 0.500000 +vt 0.645833 0.531250 +vt 0.625000 0.500000 +vt 0.645833 0.500000 +vt 0.520833 0.531250 +vt 0.500000 0.500000 +vt 0.520833 0.500000 +vt 0.583333 0.531250 +vt 0.625000 0.531250 +vt 0.666667 0.531250 +vt 0.666667 0.500000 +vt 0.541667 0.531250 +vt 0.562500 0.554688 +vt 0.625000 0.539062 +vt 0.604167 0.554688 +vt 0.541667 0.554688 +vt 0.520833 0.546875 +vt 0.541667 0.539062 +vt 0.645833 0.554688 +vt 0.645833 0.546875 +vt 0.541667 0.570312 +vt 0.604167 0.578125 +vt 0.583333 0.554688 +vt 0.645833 0.562500 +vt 0.625000 0.554688 +vt 0.562500 0.578125 +vt 0.625000 0.570312 +vt 0.520833 0.562500 +vt 0.520833 0.554688 +vt 0.500000 0.554688 +vt 0.666667 0.554688 +vt 0.604167 0.750000 +vt 0.625000 0.781250 +vt 0.604167 0.781250 +vt 0.562500 0.750000 +vt 0.583333 0.781250 +vt 0.562500 0.781250 +vt 0.520833 0.750000 +vt 0.541667 0.781250 +vt 0.520833 0.781250 +vt 0.645833 0.750000 +vt 0.666667 0.781250 +vt 0.645833 0.781250 +vt 0.583333 0.750000 +vt 0.541667 0.750000 +vt 0.500000 0.750000 +vt 0.500000 0.781250 +vt 0.604167 0.726562 +vt 0.541667 0.742188 +vt 0.562500 0.726562 +vt 0.625000 0.742188 +vt 0.645833 0.726562 +vt 0.645833 0.734375 +vt 0.520833 0.734375 +vt 0.541667 0.726562 +vt 0.625000 0.710938 +vt 0.625000 0.726562 +vt 0.562500 0.703125 +vt 0.583333 0.726562 +vt 0.520833 0.718750 +vt 0.520833 0.726562 +vt 0.604167 0.703125 +vt 0.541667 0.710938 +vt 0.666667 0.726562 +vt 0.645833 0.718750 +vt 0.500000 0.726562 +vt 0.520833 0.578125 +vt 0.500000 0.703125 +vt 0.500000 0.578125 +vt 0.666667 0.703125 +vt 0.645833 0.578125 +vt 0.666667 0.578125 +vt 0.625000 0.703125 +vt 0.625000 0.578125 +vt 0.583333 0.703125 +vt 0.583333 0.578125 +vt 0.541667 0.578125 +vt 0.541667 0.703125 +vt 0.520833 0.703125 +vt 0.562500 0.531250 +vt 0.541667 0.500000 +vt 0.562500 0.500000 +vt 0.604167 0.531250 +vt 0.583333 0.500000 +vt 0.604167 0.500000 +vt 0.645833 0.531250 +vt 0.625000 0.500000 +vt 0.645833 0.500000 +vt 0.520833 0.531250 +vt 0.500000 0.500000 +vt 0.520833 0.500000 +vt 0.583333 0.531250 +vt 0.625000 0.531250 +vt 0.666667 0.531250 +vt 0.666667 0.500000 +vt 0.541667 0.531250 +vt 0.562500 0.554688 +vt 0.625000 0.539062 +vt 0.604167 0.554688 +vt 0.541667 0.554688 +vt 0.520833 0.546875 +vt 0.541667 0.539062 +vt 0.645833 0.546875 +vt 0.625000 0.554688 +vt 0.541667 0.570312 +vt 0.604167 0.578125 +vt 0.583333 0.554688 +vt 0.645833 0.562500 +vt 0.645833 0.554688 +vt 0.562500 0.578125 +vt 0.625000 0.570312 +vt 0.520833 0.562500 +vt 0.520833 0.554688 +vt 0.500000 0.554688 +vt 0.666667 0.554688 +vt 0.604167 0.750000 +vt 0.625000 0.781250 +vt 0.604167 0.781250 +vt 0.562500 0.750000 +vt 0.583333 0.781250 +vt 0.562500 0.781250 +vt 0.520833 0.750000 +vt 0.541667 0.781250 +vt 0.520833 0.781250 +vt 0.645833 0.781250 +vt 0.666667 0.750000 +vt 0.666667 0.781250 +vt 0.583333 0.750000 +vt 0.541667 0.750000 +vt 0.500000 0.750000 +vt 0.500000 0.781250 +vt 0.625000 0.750000 +vt 0.604167 0.726562 +vt 0.541667 0.726562 +vt 0.541667 0.742188 +vt 0.625000 0.742188 +vt 0.645833 0.726562 +vt 0.645833 0.734375 +vt 0.625000 0.726562 +vt 0.562500 0.726562 +vt 0.520833 0.726562 +vt 0.520833 0.734375 +vt 0.625000 0.710938 +vt 0.562500 0.703125 +vt 0.583333 0.726562 +vt 0.520833 0.718750 +vt 0.604167 0.703125 +vt 0.541667 0.710938 +vt 0.666667 0.726562 +vt 0.645833 0.718750 +vt 0.500000 0.726562 +vt 0.520833 0.578125 +vt 0.500000 0.703125 +vt 0.500000 0.578125 +vt 0.666667 0.703125 +vt 0.645833 0.578125 +vt 0.666667 0.578125 +vt 0.625000 0.703125 +vt 0.625000 0.578125 +vt 0.583333 0.703125 +vt 0.583333 0.578125 +vt 0.541667 0.703125 +vt 0.541667 0.578125 +vt 0.520833 0.703125 +vt 0.562500 0.500000 +vt 0.541667 0.531250 +vt 0.541667 0.500000 +vt 0.604167 0.531250 +vt 0.583333 0.500000 +vt 0.604167 0.500000 +vt 0.645833 0.531250 +vt 0.625000 0.500000 +vt 0.645833 0.500000 +vt 0.520833 0.531250 +vt 0.500000 0.500000 +vt 0.520833 0.500000 +vt 0.583333 0.531250 +vt 0.625000 0.531250 +vt 0.666667 0.531250 +vt 0.666667 0.500000 +vt 0.562500 0.554688 +vt 0.562500 0.531250 +vt 0.625000 0.539062 +vt 0.604167 0.554688 +vt 0.541667 0.554688 +vt 0.520833 0.546875 +vt 0.541667 0.539062 +vt 0.645833 0.546875 +vt 0.625000 0.554688 +vt 0.562500 0.578125 +vt 0.604167 0.578125 +vt 0.583333 0.554688 +vt 0.645833 0.562500 +vt 0.645833 0.554688 +vt 0.625000 0.570312 +vt 0.520833 0.562500 +vt 0.520833 0.554688 +vt 0.500000 0.554688 +vt 0.666667 0.554688 +vt 0.604167 0.750000 +vt 0.625000 0.781250 +vt 0.604167 0.781250 +vt 0.562500 0.750000 +vt 0.583333 0.781250 +vt 0.562500 0.781250 +vt 0.520833 0.750000 +vt 0.541667 0.781250 +vt 0.520833 0.781250 +vt 0.645833 0.750000 +vt 0.666667 0.781250 +vt 0.645833 0.781250 +vt 0.541667 0.750000 +vt 0.500000 0.781250 +vt 0.625000 0.750000 +vt 0.583333 0.750000 +vt 0.604167 0.726562 +vt 0.541667 0.742188 +vt 0.562500 0.726562 +vt 0.625000 0.742188 +vt 0.645833 0.726562 +vt 0.645833 0.734375 +vt 0.520833 0.726562 +vt 0.520833 0.734375 +vt 0.604167 0.703125 +vt 0.625000 0.726562 +vt 0.583333 0.703125 +vt 0.583333 0.726562 +vt 0.541667 0.710938 +vt 0.541667 0.726562 +vt 0.645833 0.718750 +vt 0.666667 0.726562 +vt 0.500000 0.726562 +vt 0.520833 0.718750 +vt 0.520833 0.578125 +vt 0.500000 0.703125 +vt 0.500000 0.578125 +vt 0.666667 0.703125 +vt 0.645833 0.578125 +vt 0.666667 0.578125 +vt 0.625000 0.703125 +vt 0.625000 0.578125 +vt 0.583333 0.578125 +vt 0.562500 0.703125 +vt 0.541667 0.703125 +vt 0.541667 0.578125 +vt 0.520833 0.703125 +vt 0.562500 0.531250 +vt 0.541667 0.500000 +vt 0.562500 0.500000 +vt 0.604167 0.500000 +vt 0.583333 0.531250 +vt 0.583333 0.500000 +vt 0.645833 0.531250 +vt 0.625000 0.500000 +vt 0.645833 0.500000 +vt 0.520833 0.500000 +vt 0.500000 0.531250 +vt 0.500000 0.500000 +vt 0.625000 0.531250 +vt 0.666667 0.531250 +vt 0.666667 0.500000 +vt 0.541667 0.531250 +vt 0.562500 0.554688 +vt 0.625000 0.539062 +vt 0.604167 0.554688 +vt 0.604167 0.531250 +vt 0.541667 0.554688 +vt 0.520833 0.546875 +vt 0.541667 0.539062 +vt 0.583333 0.554688 +vt 0.645833 0.546875 +vt 0.625000 0.554688 +vt 0.541667 0.570312 +vt 0.604167 0.578125 +vt 0.645833 0.562500 +vt 0.645833 0.554688 +vt 0.562500 0.578125 +vt 0.625000 0.570312 +vt 0.520833 0.554688 +vt 0.500000 0.554688 +vt 0.520833 0.562500 +vt 0.666667 0.554688 +vt 0.604167 0.750000 +vt 0.625000 0.781250 +vt 0.604167 0.781250 +vt 0.562500 0.750000 +vt 0.583333 0.781250 +vt 0.562500 0.781250 +vt 0.520833 0.750000 +vt 0.541667 0.781250 +vt 0.520833 0.781250 +vt 0.645833 0.750000 +vt 0.666667 0.781250 +vt 0.645833 0.781250 +vt 0.583333 0.750000 +vt 0.541667 0.750000 +vt 0.500000 0.781250 +vt 0.604167 0.726562 +vt 0.541667 0.726562 +vt 0.541667 0.742188 +vt 0.625000 0.742188 +vt 0.645833 0.726562 +vt 0.645833 0.734375 +vt 0.562500 0.726562 +vt 0.520833 0.726562 +vt 0.520833 0.734375 +vt 0.625000 0.710938 +vt 0.625000 0.726562 +vt 0.562500 0.703125 +vt 0.583333 0.726562 +vt 0.520833 0.718750 +vt 0.604167 0.703125 +vt 0.666667 0.726562 +vt 0.645833 0.718750 +vt 0.500000 0.726562 +vt 0.520833 0.578125 +vt 0.500000 0.703125 +vt 0.500000 0.578125 +vt 0.666667 0.703125 +vt 0.645833 0.578125 +vt 0.666667 0.578125 +vt 0.625000 0.703125 +vt 0.625000 0.578125 +vt 0.583333 0.703125 +vt 0.583333 0.578125 +vt 0.541667 0.703125 +vt 0.541667 0.578125 +vt 0.520833 0.703125 +vt 0.500000 0.531250 +vt 0.645833 0.750000 +vt 0.645833 0.703125 +vt 0.500000 0.531250 +vt 0.645833 0.750000 +vt 0.645833 0.703125 +vt 0.500000 0.531250 +vt 0.625000 0.750000 +vt 0.666667 0.750000 +vt 0.645833 0.703125 +vt 0.500000 0.531250 +vt 0.645833 0.750000 +vt 0.645833 0.703125 +vt 0.500000 0.531250 +vt 0.666667 0.750000 +vt 0.645833 0.703125 +vt 0.500000 0.531250 +vt 0.625000 0.750000 +vt 0.645833 0.703125 +vt 0.500000 0.531250 +vt 0.541667 0.570312 +vt 0.666667 0.750000 +vt 0.541667 0.710938 +vt 0.645833 0.703125 +vt 0.500000 0.531250 +vt 0.625000 0.570312 +vt 0.645833 0.750000 +vt 0.541667 0.710938 +vt 0.645833 0.703125 +vt 0.500000 0.531250 +vt 0.625000 0.750000 +vt 0.645833 0.703125 +vt 0.500000 0.531250 +vt 0.645833 0.750000 +vt 0.645833 0.703125 +vt 0.500000 0.531250 +vt 0.666667 0.750000 +vt 0.645833 0.703125 +vt 0.500000 0.531250 +vt 0.645833 0.750000 +vt 0.645833 0.703125 +vt 0.500000 0.531250 +vt 0.625000 0.750000 +vt 0.666667 0.750000 +vt 0.645833 0.703125 +vt 0.500000 0.531250 +vt 0.645833 0.750000 +vt 0.645833 0.703125 +vt 0.500000 0.531250 +vt 0.541667 0.570312 +vt 0.666667 0.750000 +vt 0.500000 0.750000 +vt 0.625000 0.710938 +vt 0.645833 0.703125 +vt 0.520833 0.531250 +vt 0.625000 0.750000 +vt 0.666667 0.750000 +vt 0.500000 0.750000 +vt 0.541667 0.710938 +vt 0.645833 0.703125 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.6794 -0.7194 -0.1447 +vn 0.7071 -0.7071 0.0000 +vn -0.6794 -0.7194 -0.1447 +vn -0.7071 -0.7071 0.0000 +vn -0.7263 0.6737 0.1363 +vn -0.7071 0.7071 0.0000 +vn 0.7263 0.6737 0.1363 +vn 0.7071 0.7071 0.0000 +vn 0.0000 -0.9824 -0.1866 +vn -0.9987 -0.0473 -0.0196 +vn 0.0000 0.7071 0.7071 +vn 0.9987 -0.0473 -0.0196 +vn 0.6630 -0.5293 -0.5293 +vn -0.6630 -0.5293 -0.5293 +vn 0.9955 -0.0670 -0.0670 +vn -0.9955 -0.0670 -0.0670 +vn 0.9987 -0.0196 -0.0473 +vn -0.6794 -0.1447 -0.7194 +vn 0.0000 -0.7071 -0.7071 +vn -0.7263 0.1363 0.6737 +vn -0.7573 0.4617 0.4617 +vn 0.6794 -0.1447 -0.7194 +vn -0.9987 -0.0196 -0.0473 +vn 0.7263 0.1363 0.6737 +vn 0.7573 0.4617 0.4617 +vn -0.6794 0.7194 -0.1447 +vn 0.6794 0.7194 -0.1447 +vn 0.7263 -0.6737 0.1363 +vn 0.0000 -0.7071 0.7071 +vn 0.9987 0.0473 -0.0196 +vn -0.9987 0.0473 -0.0196 +vn 0.0000 0.9824 -0.1866 +vn -0.6630 0.5293 -0.5293 +vn 0.9955 0.0670 -0.0670 +vn -0.7573 -0.4617 0.4617 +vn -0.7263 -0.6737 0.1363 +vn 0.6630 0.5293 -0.5293 +vn 0.7573 -0.4617 0.4617 +vn -0.9987 0.0196 -0.0473 +vn -0.9955 0.0670 -0.0670 +vn 0.6794 0.1447 -0.7194 +vn 0.0000 0.7071 -0.7071 +vn 0.7263 -0.1363 0.6737 +vn -0.6794 0.1447 -0.7194 +vn 0.9987 0.0196 -0.0473 +vn -0.7263 -0.1363 0.6737 +vn 0.0000 0.1866 -0.9824 +vn 0.0000 -0.1866 -0.9824 +vn -0.6794 -0.7194 0.1447 +vn 0.6794 -0.7194 0.1447 +vn 0.7263 0.6737 -0.1363 +vn -0.7263 0.6737 -0.1363 +vn 0.0000 -0.9824 0.1866 +vn 0.9987 -0.0473 0.0196 +vn -0.9987 -0.0473 0.0196 +vn -0.6630 -0.5293 0.5293 +vn 0.6630 -0.5293 0.5293 +vn -0.9955 -0.0670 0.0670 +vn 0.9955 -0.0670 0.0670 +vn -0.9987 -0.0196 0.0473 +vn 0.6794 -0.1447 0.7194 +vn 0.7263 0.1363 -0.6737 +vn 0.7573 0.4617 -0.4617 +vn -0.6794 -0.1447 0.7194 +vn 0.9987 -0.0196 0.0473 +vn -0.7573 0.4617 -0.4617 +vn -0.7263 0.1363 -0.6737 +vn 0.6794 0.7194 0.1447 +vn -0.6794 0.7194 0.1447 +vn -0.7263 -0.6737 -0.1363 +vn 0.7263 -0.6737 -0.1363 +vn 0.0000 0.9824 0.1866 +vn -0.9987 0.0473 0.0196 +vn 0.9987 0.0473 0.0196 +vn 0.6630 0.5293 0.5293 +vn -0.6630 0.5293 0.5293 +vn 0.7573 -0.4617 -0.4617 +vn -0.7573 -0.4617 -0.4617 +vn 0.9987 0.0196 0.0473 +vn 0.9955 0.0670 0.0670 +vn -0.6794 0.1447 0.7194 +vn -0.7263 -0.1363 -0.6737 +vn -0.9955 0.0670 0.0670 +vn 0.6794 0.1447 0.7194 +vn -0.9987 0.0196 0.0473 +vn 0.7263 -0.1363 -0.6737 +vn 0.0000 0.1866 0.9824 +vn 0.0000 -0.1866 0.9824 +vn -0.1447 -0.7194 -0.6794 +vn -0.1447 -0.7194 0.6794 +vn 0.1363 0.6737 0.7263 +vn 0.1363 0.6737 -0.7263 +vn -0.1866 -0.9824 0.0000 +vn -0.0196 -0.0473 0.9987 +vn -0.0196 -0.0473 -0.9987 +vn -0.5293 -0.5293 -0.6630 +vn -0.5293 -0.5293 0.6630 +vn -0.0670 -0.0670 -0.9955 +vn -0.0670 -0.0670 0.9955 +vn -0.0473 -0.0196 -0.9987 +vn -0.7194 -0.1447 0.6794 +vn 0.4617 0.4617 0.7573 +vn -0.0473 -0.0196 0.9987 +vn -0.7194 -0.1447 -0.6794 +vn 0.6737 0.1363 -0.7263 +vn 0.4617 0.4617 -0.7573 +vn 0.6737 0.1363 0.7263 +vn -0.1447 0.7194 0.6794 +vn -0.1447 0.7194 -0.6794 +vn 0.1363 -0.6737 -0.7263 +vn -0.0196 0.0473 -0.9987 +vn 0.1363 -0.6737 0.7263 +vn -0.1866 0.9824 0.0000 +vn -0.5293 0.5293 0.6630 +vn -0.0670 0.0670 -0.9955 +vn -0.0670 0.0670 0.9955 +vn -0.0196 0.0473 0.9987 +vn -0.5293 0.5293 -0.6630 +vn 0.4617 -0.4617 -0.7573 +vn -0.0473 0.0196 0.9987 +vn -0.7194 0.1447 -0.6794 +vn 0.6737 -0.1363 -0.7263 +vn -0.7194 0.1447 0.6794 +vn -0.0473 0.0196 -0.9987 +vn 0.4617 -0.4617 0.7573 +vn 0.6737 -0.1363 0.7263 +vn -0.9824 0.1866 0.0000 +vn -0.9824 -0.1866 0.0000 +vn 0.1447 -0.7194 0.6794 +vn 0.1447 -0.7194 -0.6794 +vn -0.1363 0.6737 -0.7263 +vn -0.1363 0.6737 0.7263 +vn 0.1866 -0.9824 0.0000 +vn 0.0196 -0.0473 -0.9987 +vn 0.0196 -0.0473 0.9987 +vn 0.5293 -0.5293 0.6630 +vn 0.5293 -0.5293 -0.6630 +vn 0.0670 -0.0670 0.9955 +vn -0.4617 0.4617 -0.7573 +vn 0.0473 -0.0196 0.9987 +vn 0.7194 -0.1447 -0.6794 +vn -0.6737 0.1363 -0.7263 +vn 0.0670 -0.0670 -0.9955 +vn 0.7194 -0.1447 0.6794 +vn 0.0473 -0.0196 -0.9987 +vn -0.6737 0.1363 0.7263 +vn -0.4617 0.4617 0.7573 +vn 0.1447 0.7194 -0.6794 +vn 0.1447 0.7194 0.6794 +vn -0.1363 -0.6737 0.7263 +vn -0.1363 -0.6737 -0.7263 +vn 0.1866 0.9824 0.0000 +vn 0.0196 0.0473 0.9987 +vn 0.5293 0.5293 -0.6630 +vn 0.5293 0.5293 0.6630 +vn 0.0196 0.0473 -0.9987 +vn -0.4617 -0.4617 -0.7573 +vn 0.0670 0.0670 0.9955 +vn 0.0473 0.0196 -0.9987 +vn 0.0670 0.0670 -0.9955 +vn 0.7194 0.1447 0.6794 +vn -0.6737 -0.1363 0.7263 +vn -0.4617 -0.4617 0.7573 +vn 0.7194 0.1447 -0.6794 +vn 0.0473 0.0196 0.9987 +vn -0.6737 -0.1363 -0.7263 +vn 0.9824 0.1866 0.0000 +vn 0.9824 -0.1866 0.0000 +s off +f 20/1/1 18/2/1 17/3/1 +f 22/4/2 42/5/2 21/6/2 +f 112/7/2 120/8/2 111/9/2 +f 89/10/2 118/11/2 117/12/2 +f 2/13/2 83/14/2 6/15/2 +f 91/16/3 130/17/3 92/18/3 +f 3/19/3 17/20/3 1/21/3 +f 2/22/4 19/23/4 4/24/4 +f 5/25/3 33/26/3 7/27/3 +f 8/28/4 35/29/4 6/30/4 +f 7/27/3 20/31/3 3/19/3 +f 4/24/4 36/32/4 8/28/4 +f 6/30/4 18/2/4 2/22/4 +f 1/21/3 34/33/3 5/25/3 +f 10/34/5 18/35/5 11/36/5 +f 12/37/2 20/38/2 9/39/2 +f 15/40/5 34/41/5 14/42/5 +f 13/43/2 36/44/2 16/45/2 +f 9/39/2 33/46/2 13/43/2 +f 16/45/2 19/47/2 12/37/2 +f 11/36/5 35/48/5 15/40/5 +f 14/42/5 17/49/5 10/34/5 +f 25/50/2 92/51/2 27/52/2 +f 8/53/5 82/54/5 4/55/5 +f 6/56/1 84/57/1 8/58/1 +f 4/59/6 81/60/6 2/61/6 +f 131/62/4 110/63/4 109/64/4 +f 92/18/5 128/65/5 91/16/5 +f 126/66/5 109/64/5 110/63/5 +f 122/67/3 126/66/3 121/68/3 +f 123/69/5 122/70/5 121/71/5 +f 123/72/4 127/73/4 124/74/4 +f 31/75/4 118/11/4 32/76/4 +f 30/77/2 31/78/2 32/79/2 +f 30/80/3 119/81/3 29/82/3 +f 37/83/2 48/84/2 40/85/2 +f 23/86/3 43/87/3 22/88/3 +f 21/89/4 41/90/4 24/91/4 +f 24/92/5 44/93/5 23/94/5 +f 37/95/6 42/96/6 38/97/6 +f 38/98/6 43/99/6 39/100/6 +f 39/101/6 44/102/6 40/103/6 +f 40/85/6 41/104/6 37/83/6 +f 47/105/6 45/106/6 46/107/6 +f 39/100/5 46/107/5 38/98/5 +f 40/103/4 47/105/4 39/101/4 +f 38/97/3 45/106/3 37/95/3 +f 51/108/4 50/109/4 49/110/4 +f 59/111/3 58/112/3 57/113/3 +f 52/114/6 55/115/6 50/109/6 +f 49/110/1 53/116/1 51/108/1 +f 51/108/2 56/117/2 52/114/2 +f 50/109/5 54/118/5 49/110/5 +f 58/112/6 64/119/6 63/120/6 +f 57/113/1 61/121/1 59/111/1 +f 59/111/5 64/122/5 60/123/5 +f 58/112/2 62/124/2 57/113/2 +f 67/125/2 66/126/2 65/127/2 +f 75/128/5 74/129/5 73/130/5 +f 68/131/6 71/132/6 66/126/6 +f 65/127/1 69/133/1 67/125/1 +f 67/125/3 72/134/3 68/131/3 +f 66/126/4 70/135/4 65/127/4 +f 76/136/6 79/137/6 74/129/6 +f 73/130/1 77/138/1 75/128/1 +f 75/128/4 80/139/4 76/136/4 +f 74/129/3 78/140/3 73/130/3 +f 87/141/2 95/142/2 88/143/2 +f 87/144/4 86/145/4 85/146/4 +f 26/147/4 84/57/4 28/148/4 +f 27/149/4 81/60/4 25/150/4 +f 83/14/4 86/145/4 88/151/4 +f 85/146/4 25/150/4 81/60/4 +f 89/152/4 96/153/4 90/154/4 +f 94/155/4 92/51/4 91/156/4 +f 88/157/1 89/152/1 28/158/1 +f 85/159/6 91/156/6 25/160/6 +f 86/161/5 94/155/5 85/162/5 +f 26/163/6 96/153/6 87/164/6 +f 28/165/5 90/154/5 26/166/5 +f 27/167/1 93/168/1 86/169/1 +f 97/170/5 112/171/5 99/172/5 +f 107/173/5 115/174/5 108/175/5 +f 107/176/3 106/177/3 105/178/3 +f 98/179/3 104/180/3 100/181/3 +f 99/182/3 101/183/3 97/184/3 +f 103/185/3 106/177/3 108/186/3 +f 105/178/3 97/184/3 101/183/3 +f 109/187/3 116/188/3 110/189/3 +f 114/190/3 112/171/3 111/191/3 +f 108/192/1 109/187/1 100/193/1 +f 105/194/6 111/191/6 97/195/6 +f 106/196/2 114/190/2 105/197/2 +f 98/198/6 116/188/6 107/199/6 +f 100/200/2 110/189/2 98/201/2 +f 99/202/1 113/203/1 106/204/1 +f 132/205/5 104/206/5 102/207/5 +f 81/208/5 130/209/5 129/210/5 +f 129/211/6 128/65/6 123/212/6 +f 126/66/6 132/213/6 121/214/6 +f 125/215/1 131/216/1 109/64/1 +f 92/18/1 124/217/1 127/73/1 +f 104/206/5 131/218/5 122/70/5 +f 123/69/5 121/71/5 102/207/5 +f 81/208/6 10/219/6 11/220/6 +f 14/221/1 83/222/1 15/223/1 +f 14/224/4 102/207/4 104/206/4 +f 11/225/3 83/222/3 81/208/3 +f 135/226/4 112/7/4 111/9/4 +f 89/10/3 134/227/3 90/228/3 +f 134/229/2 84/230/2 82/231/2 +f 136/232/2 101/233/2 103/234/2 +f 30/235/6 111/9/6 120/8/6 +f 90/228/6 32/236/6 118/11/6 +f 31/237/1 89/10/1 117/12/1 +f 119/81/1 136/238/1 29/239/1 +f 84/230/2 133/240/2 31/78/2 +f 30/77/2 32/79/2 82/231/2 +f 12/241/3 84/230/3 16/242/3 +f 13/243/4 101/233/4 9/244/4 +f 101/233/6 12/245/6 9/246/6 +f 16/247/1 103/234/1 13/248/1 +f 24/249/6 36/32/6 33/250/6 +f 21/251/6 33/250/6 34/252/6 +f 22/253/6 34/252/6 35/29/6 +f 23/254/6 35/29/6 36/32/6 +f 3/255/5 103/185/5 7/256/5 +f 102/257/6 3/258/6 1/259/6 +f 7/260/1 104/180/1 5/261/1 +f 104/180/2 1/262/2 5/263/2 +f 20/1/1 19/23/1 18/2/1 +f 22/4/2 43/99/2 42/5/2 +f 112/7/2 119/81/2 120/8/2 +f 89/10/2 90/228/2 118/11/2 +f 2/13/2 81/60/2 83/14/2 +f 91/16/3 129/264/3 130/17/3 +f 3/19/3 20/31/3 17/20/3 +f 2/22/4 18/2/4 19/23/4 +f 5/25/3 34/33/3 33/26/3 +f 8/28/4 36/32/4 35/29/4 +f 7/27/3 33/26/3 20/31/3 +f 4/24/4 19/23/4 36/32/4 +f 6/30/4 35/29/4 18/2/4 +f 1/21/3 17/20/3 34/33/3 +f 10/34/5 17/49/5 18/35/5 +f 12/37/2 19/47/2 20/38/2 +f 15/40/5 35/48/5 34/41/5 +f 13/43/2 33/46/2 36/44/2 +f 9/39/2 20/38/2 33/46/2 +f 16/45/2 36/44/2 19/47/2 +f 11/36/5 18/35/5 35/48/5 +f 14/42/5 34/41/5 17/49/5 +f 25/50/2 91/156/2 92/51/2 +f 8/53/5 84/57/5 82/54/5 +f 6/56/1 83/14/1 84/57/1 +f 4/59/6 82/54/6 81/60/6 +f 131/62/4 132/265/4 110/63/4 +f 92/18/5 127/73/5 128/65/5 +f 126/66/5 125/215/5 109/64/5 +f 122/67/3 125/215/3 126/66/3 +f 123/69/5 124/266/5 122/70/5 +f 123/72/4 128/65/4 127/73/4 +f 31/75/4 117/12/4 118/11/4 +f 30/77/2 29/267/2 31/78/2 +f 30/80/3 120/8/3 119/81/3 +f 37/83/2 45/106/2 48/84/2 +f 23/86/3 44/102/3 43/87/3 +f 21/89/4 42/96/4 41/90/4 +f 24/92/5 41/104/5 44/93/5 +f 37/95/6 41/90/6 42/96/6 +f 38/98/6 42/5/6 43/99/6 +f 39/101/6 43/87/6 44/102/6 +f 40/85/6 44/93/6 41/104/6 +f 47/105/6 48/84/6 45/106/6 +f 39/100/5 47/105/5 46/107/5 +f 40/103/4 48/84/4 47/105/4 +f 38/97/3 46/107/3 45/106/3 +f 51/108/4 52/114/4 50/109/4 +f 59/111/3 60/123/3 58/112/3 +f 52/114/6 56/268/6 55/115/6 +f 49/110/1 54/269/1 53/116/1 +f 51/108/2 53/270/2 56/117/2 +f 50/109/5 55/271/5 54/118/5 +f 58/112/6 60/123/6 64/119/6 +f 57/113/1 62/272/1 61/121/1 +f 59/111/5 61/273/5 64/122/5 +f 58/112/2 63/274/2 62/124/2 +f 67/125/2 68/131/2 66/126/2 +f 75/128/5 76/136/5 74/129/5 +f 68/131/6 72/275/6 71/132/6 +f 65/127/1 70/276/1 69/133/1 +f 67/125/3 69/277/3 72/134/3 +f 66/126/4 71/278/4 70/135/4 +f 76/136/6 80/279/6 79/137/6 +f 73/130/1 78/280/1 77/138/1 +f 75/128/4 77/281/4 80/139/4 +f 74/129/3 79/282/3 78/140/3 +f 87/141/2 96/153/2 95/142/2 +f 87/144/4 88/151/4 86/145/4 +f 26/147/4 82/54/4 84/57/4 +f 27/149/4 83/14/4 81/60/4 +f 28/148/4 84/57/4 88/151/4 +f 84/57/4 83/14/4 88/151/4 +f 83/14/4 27/149/4 86/145/4 +f 81/60/4 82/54/4 87/144/4 +f 82/54/4 26/147/4 87/144/4 +f 87/144/4 85/146/4 81/60/4 +f 89/152/4 95/142/4 96/153/4 +f 94/155/4 93/168/4 92/51/4 +f 88/157/1 95/142/1 89/152/1 +f 85/159/6 94/155/6 91/156/6 +f 86/161/5 93/168/5 94/155/5 +f 26/163/6 90/154/6 96/153/6 +f 28/165/5 89/152/5 90/154/5 +f 27/167/1 92/51/1 93/168/1 +f 97/170/5 111/191/5 112/171/5 +f 107/173/5 116/188/5 115/174/5 +f 107/176/3 108/186/3 106/177/3 +f 98/179/3 102/257/3 104/180/3 +f 99/182/3 103/185/3 101/183/3 +f 100/181/3 104/180/3 108/186/3 +f 104/180/3 103/185/3 108/186/3 +f 103/185/3 99/182/3 106/177/3 +f 101/183/3 102/257/3 107/176/3 +f 102/257/3 98/179/3 107/176/3 +f 107/176/3 105/178/3 101/183/3 +f 109/187/3 115/174/3 116/188/3 +f 114/190/3 113/203/3 112/171/3 +f 108/192/1 115/174/1 109/187/1 +f 105/194/6 114/190/6 111/191/6 +f 106/196/2 113/203/2 114/190/2 +f 98/198/6 110/189/6 116/188/6 +f 100/200/2 109/187/2 110/189/2 +f 99/202/1 112/171/1 113/203/1 +f 132/205/5 131/218/5 104/206/5 +f 81/208/5 83/222/5 130/209/5 +f 129/211/6 91/16/6 128/65/6 +f 126/66/6 110/63/6 132/213/6 +f 125/215/1 122/283/1 131/216/1 +f 92/18/1 130/284/1 124/217/1 +f 122/70/5 124/266/5 83/222/5 +f 124/266/5 130/209/5 83/222/5 +f 83/222/5 104/206/5 122/70/5 +f 121/71/5 132/205/5 102/207/5 +f 102/207/5 81/208/5 123/69/5 +f 81/208/5 129/210/5 123/69/5 +f 81/208/6 102/207/6 10/219/6 +f 14/221/1 104/206/1 83/222/1 +f 14/224/4 10/285/4 102/207/4 +f 11/225/3 15/286/3 83/222/3 +f 135/226/4 136/287/4 112/7/4 +f 89/10/3 133/288/3 134/227/3 +f 134/229/2 133/240/2 84/230/2 +f 136/232/2 135/289/2 101/233/2 +f 30/235/6 135/290/6 111/9/6 +f 90/228/6 134/291/6 32/236/6 +f 31/237/1 133/292/1 89/10/1 +f 119/81/1 112/7/1 136/238/1 +f 31/78/2 29/267/2 103/234/2 +f 29/267/2 136/232/2 103/234/2 +f 103/234/2 84/230/2 31/78/2 +f 32/79/2 134/229/2 82/231/2 +f 82/231/2 101/233/2 30/77/2 +f 101/233/2 135/289/2 30/77/2 +f 12/241/3 82/231/3 84/230/3 +f 13/243/4 103/234/4 101/233/4 +f 101/233/6 82/231/6 12/245/6 +f 16/247/1 84/230/1 103/234/1 +f 24/249/6 23/254/6 36/32/6 +f 21/251/6 24/249/6 33/250/6 +f 22/253/6 21/251/6 34/252/6 +f 23/254/6 22/253/6 35/29/6 +f 3/255/5 101/183/5 103/185/5 +f 102/257/6 101/183/6 3/258/6 +f 7/260/1 103/185/1 104/180/1 +f 104/180/2 102/257/2 1/262/2 +s 1 +f 152/293/7 137/294/4 144/295/8 +f 150/296/9 143/297/1 142/298/10 +f 148/299/11 141/300/3 140/301/12 +f 146/302/13 139/303/6 138/304/14 +f 151/305/15 144/295/8 143/297/1 +f 149/306/16 142/298/10 141/300/3 +f 147/307/17 140/301/12 139/308/6 +f 145/309/18 138/304/14 137/294/4 +f 151/305/15 159/310/19 152/293/7 +f 149/311/16 157/312/20 150/296/9 +f 153/313/21 146/314/13 145/315/18 +f 159/310/19 145/315/18 152/293/7 +f 157/312/20 151/305/15 150/296/9 +f 148/316/11 156/317/22 149/311/16 +f 159/310/19 160/318/23 153/313/21 +f 164/319/24 158/320/25 157/312/20 +f 162/321/26 156/317/22 155/322/27 +f 158/320/25 166/323/28 159/310/19 +f 163/324/29 157/312/20 156/317/22 +f 153/313/21 161/325/30 154/326/31 +f 146/314/13 154/326/31 147/327/17 +f 154/326/31 161/325/30 147/327/17 +f 148/316/11 147/328/17 155/322/27 +f 155/322/27 147/328/17 162/321/26 +f 182/329/32 167/330/3 174/331/12 +f 180/332/33 173/333/6 172/334/14 +f 178/335/34 171/336/4 170/337/8 +f 168/338/10 177/339/35 169/340/1 +f 173/333/6 182/329/32 174/331/12 +f 179/341/36 172/334/14 171/336/4 +f 177/342/35 170/337/8 169/343/1 +f 175/344/37 168/338/10 167/330/3 +f 181/345/38 189/346/39 182/329/32 +f 186/347/40 180/332/33 179/348/36 +f 175/349/37 184/350/41 176/351/42 +f 189/346/39 175/349/37 182/329/32 +f 187/352/43 181/345/38 180/332/33 +f 185/353/44 179/348/36 178/354/34 +f 189/346/39 190/355/45 183/356/46 +f 194/357/47 188/358/48 187/352/43 +f 192/359/49 186/347/40 185/353/44 +f 188/358/48 196/360/50 189/346/39 +f 193/361/51 187/352/43 186/347/40 +f 190/355/45 184/350/41 183/356/46 +f 176/351/42 184/350/41 177/362/35 +f 184/350/41 191/363/52 177/362/35 +f 178/354/34 177/364/35 185/353/44 +f 185/353/44 177/364/35 192/359/49 +f 161/365/30 177/366/35 147/367/17 +f 177/368/35 162/369/26 147/370/17 +f 162/369/26 190/371/45 163/372/29 +f 163/372/29 196/360/50 164/319/24 +f 164/319/24 195/373/53 165/374/54 +f 165/374/54 194/357/47 166/323/28 +f 166/323/28 193/375/51 160/376/23 +f 160/376/23 192/377/49 161/365/30 +f 212/378/7 197/379/4 204/380/8 +f 210/381/9 203/382/1 202/383/10 +f 208/384/11 201/385/3 200/386/12 +f 206/387/13 199/388/6 198/389/14 +f 211/390/15 204/380/8 203/382/1 +f 209/391/16 202/383/10 201/385/3 +f 207/392/17 200/386/12 199/393/6 +f 205/394/18 198/389/14 197/379/4 +f 211/390/15 219/395/19 212/378/7 +f 209/396/16 217/397/20 210/381/9 +f 213/398/21 206/399/13 205/400/18 +f 219/395/19 205/400/18 212/378/7 +f 217/397/20 211/390/15 210/381/9 +f 208/401/11 216/402/22 209/396/16 +f 219/395/19 220/403/23 213/398/21 +f 224/404/24 218/405/25 217/397/20 +f 222/406/26 216/402/22 215/407/27 +f 218/405/25 226/408/28 219/395/19 +f 223/409/29 217/397/20 216/402/22 +f 213/398/21 221/410/30 214/411/31 +f 206/399/13 214/411/31 207/412/17 +f 214/411/31 221/410/30 207/412/17 +f 208/401/11 207/413/17 215/407/27 +f 215/407/27 207/413/17 222/406/26 +f 242/414/32 227/415/3 234/416/12 +f 240/417/33 233/418/6 232/419/14 +f 238/420/34 231/421/4 230/422/8 +f 228/423/10 237/424/35 229/425/1 +f 241/426/38 234/416/12 233/418/6 +f 239/427/36 232/419/14 231/421/4 +f 237/428/35 230/422/8 229/429/1 +f 235/430/37 228/423/10 227/415/3 +f 241/426/38 249/431/39 242/414/32 +f 239/432/36 247/433/43 240/417/33 +f 243/434/46 236/435/42 235/436/37 +f 249/431/39 235/436/37 242/414/32 +f 247/433/43 241/426/38 240/417/33 +f 245/437/44 239/432/36 238/438/34 +f 249/431/39 250/439/45 243/434/46 +f 254/440/47 248/441/48 247/433/43 +f 252/442/49 246/443/40 245/437/44 +f 248/441/48 256/444/50 249/431/39 +f 253/445/51 247/433/43 246/443/40 +f 250/439/45 244/446/41 243/434/46 +f 236/435/42 244/446/41 237/447/35 +f 244/446/41 251/448/52 237/447/35 +f 238/438/34 237/449/35 245/437/44 +f 245/437/44 237/449/35 252/442/49 +f 221/450/30 237/451/35 207/452/17 +f 237/453/35 222/454/26 207/455/17 +f 222/454/26 250/456/45 223/457/29 +f 223/457/29 256/444/50 224/404/24 +f 224/404/24 255/458/53 225/459/54 +f 225/459/54 254/440/47 226/408/28 +f 226/408/28 253/460/51 220/461/23 +f 220/461/23 252/462/49 221/450/30 +f 272/463/7 257/464/4 264/465/8 +f 270/466/9 263/467/1 262/468/10 +f 268/469/11 261/470/3 260/471/12 +f 266/472/13 259/473/6 258/474/14 +f 271/475/15 264/465/8 263/467/1 +f 269/476/16 262/468/10 261/470/3 +f 267/477/17 260/471/12 259/478/6 +f 265/479/18 258/474/14 257/464/4 +f 271/475/15 279/480/19 272/463/7 +f 269/481/16 277/482/20 270/466/9 +f 273/483/21 266/484/13 265/485/18 +f 279/480/19 265/485/18 272/463/7 +f 277/482/20 271/475/15 270/466/9 +f 268/486/11 276/487/22 269/481/16 +f 279/480/19 280/488/23 273/483/21 +f 284/489/24 278/490/25 277/482/20 +f 282/491/26 276/487/22 275/492/27 +f 278/490/25 286/493/28 279/480/19 +f 283/494/29 277/482/20 276/487/22 +f 273/483/21 281/495/30 274/496/31 +f 266/484/13 274/496/31 267/497/17 +f 274/496/31 281/495/30 267/497/17 +f 268/486/11 267/498/17 275/492/27 +f 275/492/27 267/498/17 282/491/26 +f 302/499/32 287/500/3 294/501/12 +f 300/502/33 293/503/6 292/504/14 +f 298/505/34 291/506/4 290/507/8 +f 296/508/42 289/509/1 288/510/10 +f 301/511/38 294/501/12 293/503/6 +f 299/512/36 292/504/14 291/506/4 +f 297/513/35 290/507/8 289/514/1 +f 287/500/3 296/508/42 288/510/10 +f 301/511/38 309/515/39 302/499/32 +f 306/516/40 300/502/33 299/517/36 +f 303/518/46 296/519/42 295/520/37 +f 309/515/39 295/520/37 302/499/32 +f 307/521/43 301/511/38 300/502/33 +f 305/522/44 299/517/36 298/523/34 +f 309/515/39 310/524/45 303/518/46 +f 314/525/47 308/526/48 307/521/43 +f 312/527/49 306/516/40 305/522/44 +f 308/526/48 316/528/50 309/515/39 +f 313/529/51 307/521/43 306/516/40 +f 310/524/45 304/530/41 303/518/46 +f 296/519/42 304/530/41 297/531/35 +f 304/530/41 311/532/52 297/531/35 +f 298/523/34 297/533/35 305/522/44 +f 305/522/44 297/533/35 312/527/49 +f 281/534/30 297/535/35 267/536/17 +f 297/537/35 282/538/26 267/539/17 +f 282/538/26 310/540/45 283/541/29 +f 283/541/29 316/528/50 284/489/24 +f 284/489/24 315/542/53 285/543/54 +f 285/543/54 314/525/47 286/493/28 +f 286/493/28 313/544/51 280/545/23 +f 280/545/23 312/546/49 281/534/30 +f 332/547/7 317/548/4 324/549/8 +f 330/550/9 323/551/1 322/552/10 +f 328/553/11 321/554/3 320/555/12 +f 326/556/13 319/557/6 318/558/14 +f 331/559/15 324/549/8 323/551/1 +f 329/560/16 322/552/10 321/554/3 +f 327/561/17 320/555/12 319/562/6 +f 325/563/18 318/558/14 317/548/4 +f 331/559/15 339/564/19 332/547/7 +f 329/565/16 337/566/20 330/550/9 +f 333/567/21 326/568/13 325/569/18 +f 339/564/19 325/569/18 332/547/7 +f 337/566/20 331/559/15 330/550/9 +f 328/570/11 336/571/22 329/565/16 +f 339/564/19 340/572/23 333/567/21 +f 344/573/24 338/574/25 337/566/20 +f 342/575/26 336/571/22 335/576/27 +f 338/574/25 346/577/28 339/564/19 +f 343/578/29 337/566/20 336/571/22 +f 333/567/21 341/579/30 334/580/31 +f 326/568/13 334/580/31 327/581/17 +f 334/580/31 341/579/30 327/581/17 +f 328/570/11 327/582/17 335/576/27 +f 335/576/27 327/582/17 342/575/26 +f 362/583/32 347/584/3 354/585/12 +f 360/586/33 353/587/6 352/588/14 +f 358/589/34 351/590/4 350/591/8 +f 348/592/10 357/593/35 349/594/1 +f 361/595/38 354/585/12 353/587/6 +f 359/596/36 352/588/14 351/590/4 +f 357/597/35 350/591/8 349/598/1 +f 355/599/37 348/592/10 347/584/3 +f 361/595/38 369/600/39 362/583/32 +f 359/601/36 367/602/43 360/586/33 +f 355/603/37 364/604/41 356/605/42 +f 369/600/39 355/603/37 362/583/32 +f 367/602/43 361/595/38 360/586/33 +f 365/606/44 359/601/36 358/607/34 +f 369/600/39 370/608/45 363/609/46 +f 374/610/47 368/611/48 367/602/43 +f 372/612/49 366/613/40 365/606/44 +f 368/611/48 376/614/50 369/600/39 +f 373/615/51 367/602/43 366/613/40 +f 370/608/45 364/604/41 363/609/46 +f 356/605/42 364/604/41 357/616/35 +f 364/604/41 371/617/52 357/616/35 +f 358/607/34 357/618/35 365/606/44 +f 365/606/44 357/618/35 372/612/49 +f 341/619/30 357/620/35 327/621/17 +f 357/622/35 342/623/26 327/624/17 +f 342/623/26 370/625/45 343/626/29 +f 343/626/29 376/614/50 344/573/24 +f 344/573/24 375/627/53 345/628/54 +f 345/628/54 374/610/47 346/577/28 +f 346/577/28 373/629/51 340/630/23 +f 340/630/23 372/631/49 341/619/30 +f 392/632/55 377/633/3 384/634/10 +f 390/635/56 383/636/1 382/637/8 +f 388/638/57 381/639/4 380/640/14 +f 386/641/58 379/642/6 378/643/12 +f 391/644/59 384/634/10 383/636/1 +f 389/645/60 382/637/8 381/639/4 +f 387/646/48 380/640/14 379/647/6 +f 385/648/61 378/643/12 377/633/3 +f 391/644/59 399/649/62 392/632/55 +f 389/650/60 397/651/63 390/635/56 +f 393/652/64 386/653/58 385/654/61 +f 399/649/62 385/654/61 392/632/55 +f 397/651/63 391/644/59 390/635/56 +f 388/655/57 396/656/65 389/650/60 +f 399/649/62 400/657/66 393/652/64 +f 404/658/67 398/659/35 397/651/63 +f 402/660/68 396/656/65 395/661/69 +f 398/659/35 406/662/70 399/649/62 +f 403/663/71 397/651/63 396/656/65 +f 400/657/66 394/664/72 393/652/64 +f 386/653/58 394/664/72 387/665/48 +f 394/664/72 401/666/73 387/665/48 +f 388/655/57 387/667/48 395/661/69 +f 395/661/69 387/667/48 402/660/68 +f 422/668/74 407/669/4 414/670/14 +f 420/671/75 413/672/6 412/673/12 +f 418/674/76 411/675/3 410/676/10 +f 416/677/77 409/678/1 408/679/8 +f 421/680/78 414/670/14 413/672/6 +f 419/681/79 412/673/12 411/675/3 +f 417/682/25 410/676/10 409/683/1 +f 415/684/80 408/679/8 407/669/4 +f 421/680/78 429/685/81 422/668/74 +f 419/686/79 427/687/82 420/671/75 +f 415/688/80 424/689/83 416/690/77 +f 429/685/81 415/688/80 422/668/74 +f 427/687/82 421/680/78 420/671/75 +f 425/691/84 419/686/79 418/692/76 +f 429/685/81 430/693/85 423/694/86 +f 434/695/87 428/696/17 427/687/82 +f 432/697/88 426/698/89 425/691/84 +f 428/696/17 436/699/90 429/685/81 +f 433/700/91 427/687/82 426/698/89 +f 430/693/85 424/689/83 423/694/86 +f 416/690/77 424/689/83 417/701/25 +f 424/689/83 431/702/92 417/701/25 +f 418/692/76 417/703/25 425/691/84 +f 425/691/84 417/703/25 432/697/88 +f 401/704/73 417/705/25 387/706/48 +f 417/707/25 402/708/68 387/709/48 +f 402/708/68 430/710/85 403/711/71 +f 403/711/71 436/699/90 404/658/67 +f 404/658/67 435/712/93 405/713/94 +f 405/713/94 434/695/87 406/662/70 +f 406/662/70 433/714/91 400/715/66 +f 400/715/66 432/716/88 401/704/73 +f 452/717/55 437/718/3 444/719/10 +f 450/720/56 443/721/1 442/722/8 +f 448/723/57 441/724/4 440/725/14 +f 446/726/58 439/727/6 438/728/12 +f 451/729/59 444/719/10 443/721/1 +f 449/730/60 442/722/8 441/724/4 +f 447/731/48 440/725/14 439/732/6 +f 445/733/61 438/728/12 437/718/3 +f 451/729/59 459/734/62 452/717/55 +f 456/735/65 450/720/56 449/736/60 +f 453/737/64 446/738/58 445/739/61 +f 459/734/62 445/739/61 452/717/55 +f 457/740/63 451/729/59 450/720/56 +f 448/741/57 456/735/65 449/736/60 +f 459/734/62 460/742/66 453/737/64 +f 464/743/67 458/744/35 457/740/63 +f 455/745/69 463/746/71 456/735/65 +f 458/744/35 466/747/70 459/734/62 +f 463/746/71 457/740/63 456/735/65 +f 460/742/66 454/748/72 453/737/64 +f 446/738/58 454/748/72 447/749/48 +f 454/748/72 461/750/73 447/749/48 +f 448/741/57 447/751/48 455/745/69 +f 455/745/69 447/751/48 462/752/68 +f 482/753/74 467/754/4 474/755/14 +f 480/756/75 473/757/6 472/758/12 +f 478/759/76 471/760/3 470/761/10 +f 468/762/8 477/763/25 469/764/1 +f 481/765/78 474/755/14 473/757/6 +f 479/766/79 472/758/12 471/760/3 +f 477/767/25 470/761/10 469/768/1 +f 467/754/4 476/769/77 468/762/8 +f 481/765/78 489/770/81 482/753/74 +f 479/771/79 487/772/82 480/756/75 +f 475/773/80 484/774/83 476/775/77 +f 482/753/74 483/776/86 475/773/80 +f 487/772/82 481/765/78 480/756/75 +f 485/777/84 479/771/79 478/778/76 +f 489/770/81 490/779/85 483/776/86 +f 494/780/87 488/781/17 487/772/82 +f 492/782/88 486/783/89 485/777/84 +f 488/781/17 496/784/90 489/770/81 +f 493/785/91 487/772/82 486/783/89 +f 490/779/85 484/774/83 483/776/86 +f 476/775/77 484/774/83 477/786/25 +f 484/774/83 491/787/92 477/786/25 +f 478/778/76 477/788/25 485/777/84 +f 485/777/84 477/788/25 492/782/88 +f 461/789/73 477/790/25 447/791/48 +f 477/792/25 462/793/68 447/794/48 +f 462/793/68 490/795/85 463/796/71 +f 463/796/71 496/784/90 464/743/67 +f 464/743/67 495/797/93 465/798/94 +f 465/798/94 494/780/87 466/747/70 +f 466/747/70 493/799/91 460/800/66 +f 460/800/66 492/801/88 461/789/73 +f 512/802/55 497/803/3 504/804/10 +f 510/805/56 503/806/1 502/807/8 +f 508/808/57 501/809/4 500/810/14 +f 506/811/58 499/812/6 498/813/12 +f 511/814/59 504/804/10 503/806/1 +f 509/815/60 502/807/8 501/809/4 +f 507/816/48 500/810/14 499/817/6 +f 505/818/61 498/813/12 497/803/3 +f 511/814/59 519/819/62 512/802/55 +f 509/820/60 517/821/63 510/805/56 +f 513/822/64 506/823/58 505/824/61 +f 519/819/62 505/824/61 512/802/55 +f 517/821/63 511/814/59 510/805/56 +f 508/825/57 516/826/65 509/820/60 +f 526/827/70 513/822/64 519/819/62 +f 524/828/67 518/829/35 517/821/63 +f 522/830/68 516/826/65 515/831/69 +f 518/829/35 526/827/70 519/819/62 +f 523/832/71 517/821/63 516/826/65 +f 513/822/64 521/833/73 514/834/72 +f 506/823/58 514/834/72 507/835/48 +f 514/834/72 521/833/73 507/835/48 +f 508/825/57 507/836/48 515/831/69 +f 515/831/69 507/836/48 522/830/68 +f 542/837/74 527/838/4 534/839/14 +f 540/840/75 533/841/6 532/842/12 +f 538/843/76 531/844/3 530/845/10 +f 536/846/77 529/847/1 528/848/8 +f 541/849/78 534/839/14 533/841/6 +f 539/850/79 532/842/12 531/844/3 +f 537/851/25 530/845/10 529/852/1 +f 535/853/80 528/848/8 527/838/4 +f 541/849/78 549/854/81 542/837/74 +f 539/855/79 547/856/82 540/840/75 +f 543/857/86 536/858/77 535/859/80 +f 549/854/81 535/859/80 542/837/74 +f 547/856/82 541/849/78 540/840/75 +f 545/860/84 539/855/79 538/861/76 +f 549/854/81 550/862/85 543/857/86 +f 554/863/87 548/864/17 547/856/82 +f 552/865/88 546/866/89 545/860/84 +f 548/864/17 556/867/90 549/854/81 +f 546/866/89 554/863/87 547/856/82 +f 550/862/85 544/868/83 543/857/86 +f 536/858/77 544/868/83 537/869/25 +f 544/868/83 551/870/92 537/869/25 +f 538/861/76 537/871/25 545/860/84 +f 545/860/84 537/871/25 552/865/88 +f 521/872/73 537/873/25 507/874/48 +f 537/875/25 522/876/68 507/877/48 +f 522/876/68 550/878/85 523/879/71 +f 523/879/71 556/867/90 524/828/67 +f 524/828/67 555/880/93 525/881/94 +f 525/881/94 554/863/87 526/827/70 +f 526/827/70 553/882/91 520/883/66 +f 520/883/66 552/884/88 521/872/73 +f 572/885/55 557/886/3 564/887/10 +f 570/888/56 563/889/1 562/890/8 +f 568/891/57 561/892/4 560/893/14 +f 566/894/58 559/895/6 558/896/12 +f 571/897/59 564/887/10 563/889/1 +f 569/898/60 562/890/8 561/892/4 +f 567/899/48 560/893/14 559/900/6 +f 565/901/61 558/896/12 557/886/3 +f 571/897/59 579/902/62 572/885/55 +f 569/903/60 577/904/63 570/888/56 +f 573/905/64 566/906/58 565/907/61 +f 579/902/62 565/907/61 572/885/55 +f 577/904/63 571/897/59 570/888/56 +f 568/908/57 576/909/65 569/903/60 +f 586/910/70 573/905/64 579/902/62 +f 584/911/67 578/912/35 577/904/63 +f 582/913/68 576/909/65 575/914/69 +f 578/912/35 586/910/70 579/902/62 +f 576/909/65 584/911/67 577/904/63 +f 580/915/66 574/916/72 573/905/64 +f 566/906/58 574/916/72 567/917/48 +f 574/916/72 581/918/73 567/917/48 +f 568/908/57 567/919/48 575/914/69 +f 575/914/69 567/919/48 582/913/68 +f 602/920/74 587/921/4 594/922/14 +f 600/923/75 593/924/6 592/925/12 +f 598/926/76 591/927/3 590/928/10 +f 588/929/8 597/930/25 589/931/1 +f 601/932/78 594/922/14 593/924/6 +f 599/933/79 592/925/12 591/927/3 +f 597/934/25 590/928/10 589/935/1 +f 595/936/80 588/929/8 587/921/4 +f 608/937/17 602/920/74 601/932/78 +f 606/938/89 600/923/75 599/939/79 +f 595/940/80 604/941/83 596/942/77 +f 609/943/81 595/940/80 602/920/74 +f 607/944/82 601/932/78 600/923/75 +f 605/945/84 599/939/79 598/946/76 +f 616/947/90 603/948/86 609/943/81 +f 607/944/82 615/949/93 608/937/17 +f 612/950/88 606/938/89 605/945/84 +f 615/949/93 609/943/81 608/937/17 +f 606/938/89 614/951/87 607/944/82 +f 610/952/85 604/941/83 603/948/86 +f 596/942/77 604/941/83 597/953/25 +f 604/941/83 611/954/92 597/953/25 +f 598/946/76 597/955/25 605/945/84 +f 605/945/84 597/955/25 612/950/88 +f 581/956/73 597/957/25 567/958/48 +f 597/959/25 582/960/68 567/961/48 +f 582/960/68 610/962/85 583/963/71 +f 583/963/71 616/947/90 584/911/67 +f 584/911/67 615/949/93 585/964/94 +f 585/964/94 614/951/87 586/910/70 +f 586/910/70 613/965/91 580/966/66 +f 580/966/66 612/967/88 581/956/73 +f 632/968/95 617/969/2 624/970/25 +f 630/971/96 623/972/1 622/973/35 +f 628/974/97 621/975/5 620/976/17 +f 626/977/98 619/978/6 618/979/48 +f 631/980/99 624/970/25 623/972/1 +f 629/981/100 622/973/35 621/975/5 +f 627/982/14 620/976/17 619/983/6 +f 625/984/101 618/979/48 617/969/2 +f 631/980/99 639/985/102 632/968/95 +f 629/986/100 637/987/103 630/971/96 +f 633/988/104 626/989/98 625/990/101 +f 639/985/102 625/990/101 632/968/95 +f 630/971/96 638/991/10 631/980/99 +f 628/992/97 636/993/105 629/986/100 +f 639/985/102 640/994/106 633/988/104 +f 644/995/107 638/991/10 637/987/103 +f 635/996/108 643/997/109 636/993/105 +f 638/991/10 646/998/110 639/985/102 +f 643/997/109 637/987/103 636/993/105 +f 633/988/104 641/999/111 634/1000/112 +f 626/989/98 634/1000/112 627/1001/14 +f 634/1000/112 641/999/111 627/1001/14 +f 628/992/97 627/1002/14 635/996/108 +f 635/996/108 627/1002/14 642/1003/113 +f 662/1004/114 647/1005/5 654/1006/17 +f 660/1007/115 653/1008/6 652/1009/48 +f 658/1010/116 651/1011/2 650/1012/25 +f 648/1013/35 657/1014/8 649/1015/1 +f 653/1008/6 662/1004/114 654/1006/17 +f 659/1016/117 652/1009/48 651/1011/2 +f 657/1017/8 650/1012/25 649/1018/1 +f 647/1005/5 656/1019/118 648/1013/35 +f 661/1020/119 669/1021/120 662/1004/114 +f 666/1022/121 660/1007/115 659/1023/117 +f 663/1024/122 656/1025/118 655/1026/123 +f 669/1021/120 655/1026/123 662/1004/114 +f 667/1027/124 661/1020/119 660/1007/115 +f 665/1028/125 659/1023/117 658/1029/116 +f 669/1021/120 670/1030/126 663/1024/122 +f 674/1031/127 668/1032/12 667/1027/124 +f 672/1033/128 666/1022/121 665/1028/125 +f 668/1032/12 676/1034/129 669/1021/120 +f 673/1035/130 667/1027/124 666/1022/121 +f 670/1030/126 664/1036/131 663/1024/122 +f 656/1025/118 664/1036/131 657/1037/8 +f 664/1036/131 671/1038/132 657/1037/8 +f 658/1029/116 657/1039/8 665/1028/125 +f 665/1028/125 657/1039/8 672/1033/128 +f 641/1040/111 657/1041/8 627/1042/14 +f 657/1043/8 642/1044/113 627/1045/14 +f 642/1044/113 670/1046/126 643/1047/109 +f 643/1047/109 676/1034/129 644/995/107 +f 644/995/107 675/1048/133 645/1049/134 +f 645/1049/134 674/1031/127 646/998/110 +f 646/998/110 673/1050/130 640/1051/106 +f 640/1051/106 672/1052/128 641/1040/111 +f 692/1053/95 677/1054/2 684/1055/25 +f 690/1056/96 683/1057/1 682/1058/35 +f 688/1059/97 681/1060/5 680/1061/17 +f 686/1062/98 679/1063/6 678/1064/48 +f 691/1065/99 684/1055/25 683/1057/1 +f 689/1066/100 682/1058/35 681/1060/5 +f 687/1067/14 680/1061/17 679/1068/6 +f 685/1069/101 678/1064/48 677/1054/2 +f 691/1065/99 699/1070/102 692/1053/95 +f 689/1071/100 697/1072/103 690/1056/96 +f 693/1073/104 686/1074/98 685/1075/101 +f 699/1070/102 685/1075/101 692/1053/95 +f 697/1072/103 691/1065/99 690/1056/96 +f 688/1076/97 696/1077/105 689/1071/100 +f 699/1070/102 700/1078/106 693/1073/104 +f 704/1079/107 698/1080/10 697/1072/103 +f 702/1081/113 696/1077/105 695/1082/108 +f 698/1080/10 706/1083/110 699/1070/102 +f 703/1084/109 697/1072/103 696/1077/105 +f 693/1073/104 701/1085/111 694/1086/112 +f 686/1074/98 694/1086/112 687/1087/14 +f 694/1086/112 701/1085/111 687/1087/14 +f 688/1076/97 687/1088/14 695/1082/108 +f 695/1082/108 687/1088/14 702/1081/113 +f 722/1089/114 707/1090/5 714/1091/17 +f 720/1092/115 713/1093/6 712/1094/48 +f 718/1095/116 711/1096/2 710/1097/25 +f 708/1098/35 717/1099/8 709/1100/1 +f 721/1101/119 714/1091/17 713/1093/6 +f 719/1102/117 712/1094/48 711/1096/2 +f 717/1103/8 710/1097/25 709/1104/1 +f 715/1105/123 708/1098/35 707/1090/5 +f 721/1101/119 729/1106/120 722/1089/114 +f 719/1107/117 727/1108/124 720/1092/115 +f 723/1109/122 716/1110/118 715/1111/123 +f 729/1106/120 715/1111/123 722/1089/114 +f 727/1108/124 721/1101/119 720/1092/115 +f 725/1112/125 719/1107/117 718/1113/116 +f 729/1106/120 730/1114/126 723/1109/122 +f 734/1115/127 728/1116/12 727/1108/124 +f 732/1117/128 726/1118/121 725/1112/125 +f 728/1116/12 736/1119/129 729/1106/120 +f 733/1120/130 727/1108/124 726/1118/121 +f 730/1114/126 724/1121/131 723/1109/122 +f 716/1110/118 724/1121/131 717/1122/8 +f 724/1121/131 731/1123/132 717/1122/8 +f 718/1113/116 717/1124/8 725/1112/125 +f 725/1112/125 717/1124/8 732/1117/128 +f 701/1125/111 717/1126/8 687/1127/14 +f 717/1128/8 702/1129/113 687/1130/14 +f 702/1129/113 730/1131/126 703/1132/109 +f 703/1132/109 736/1119/129 704/1079/107 +f 704/1079/107 735/1133/133 705/1134/134 +f 705/1134/134 734/1115/127 706/1083/110 +f 706/1083/110 733/1135/130 700/1136/106 +f 700/1136/106 732/1137/128 701/1125/111 +f 752/1138/95 737/1139/2 744/1140/25 +f 750/1141/96 743/1142/1 742/1143/35 +f 748/1144/97 741/1145/5 740/1146/17 +f 746/1147/98 739/1148/6 738/1149/48 +f 751/1150/99 744/1140/25 743/1142/1 +f 749/1151/100 742/1143/35 741/1145/5 +f 747/1152/14 740/1146/17 739/1153/6 +f 745/1154/101 738/1149/48 737/1139/2 +f 751/1150/99 759/1155/102 752/1138/95 +f 749/1156/100 757/1157/103 750/1141/96 +f 753/1158/104 746/1159/98 745/1160/101 +f 759/1155/102 745/1160/101 752/1138/95 +f 757/1157/103 751/1150/99 750/1141/96 +f 748/1161/97 756/1162/105 749/1156/100 +f 759/1155/102 760/1163/106 753/1158/104 +f 764/1164/107 758/1165/10 757/1157/103 +f 762/1166/113 756/1162/105 755/1167/108 +f 758/1165/10 766/1168/110 759/1155/102 +f 763/1169/109 757/1157/103 756/1162/105 +f 753/1158/104 761/1170/111 754/1171/112 +f 746/1159/98 754/1171/112 747/1172/14 +f 754/1171/112 761/1170/111 747/1172/14 +f 748/1161/97 747/1173/14 755/1167/108 +f 755/1167/108 747/1173/14 762/1166/113 +f 782/1174/114 767/1175/5 774/1176/17 +f 780/1177/115 773/1178/6 772/1179/48 +f 778/1180/116 771/1181/2 770/1182/25 +f 776/1183/118 769/1184/1 768/1185/35 +f 781/1186/119 774/1176/17 773/1178/6 +f 779/1187/117 772/1179/48 771/1181/2 +f 777/1188/8 770/1182/25 769/1189/1 +f 775/1190/123 768/1185/35 767/1175/5 +f 781/1186/119 789/1191/120 782/1174/114 +f 779/1192/117 787/1193/124 780/1177/115 +f 775/1194/123 784/1195/131 776/1196/118 +f 789/1191/120 775/1194/123 782/1174/114 +f 787/1193/124 781/1186/119 780/1177/115 +f 785/1197/125 779/1192/117 778/1198/116 +f 789/1191/120 790/1199/126 783/1200/122 +f 794/1201/127 788/1202/12 787/1193/124 +f 792/1203/128 786/1204/121 785/1197/125 +f 788/1202/12 796/1205/129 789/1191/120 +f 793/1206/130 787/1193/124 786/1204/121 +f 783/1200/122 791/1207/132 784/1195/131 +f 776/1196/118 784/1195/131 777/1208/8 +f 784/1195/131 791/1207/132 777/1208/8 +f 778/1198/116 777/1209/8 785/1197/125 +f 785/1197/125 777/1209/8 792/1203/128 +f 761/1210/111 777/1211/8 747/1212/14 +f 777/1213/8 762/1214/113 747/1215/14 +f 762/1214/113 790/1216/126 763/1217/109 +f 763/1217/109 796/1205/129 764/1164/107 +f 764/1164/107 795/1218/133 765/1219/134 +f 766/1168/110 795/1218/133 794/1201/127 +f 766/1168/110 793/1220/130 760/1221/106 +f 760/1221/106 792/1222/128 761/1210/111 +f 812/1223/95 797/1224/2 804/1225/25 +f 810/1226/96 803/1227/1 802/1228/35 +f 808/1229/97 801/1230/5 800/1231/17 +f 806/1232/98 799/1233/6 798/1234/48 +f 811/1235/99 804/1225/25 803/1227/1 +f 809/1236/100 802/1228/35 801/1230/5 +f 807/1237/14 800/1231/17 799/1238/6 +f 805/1239/101 798/1234/48 797/1224/2 +f 811/1235/99 819/1240/102 812/1223/95 +f 809/1241/100 817/1242/103 810/1226/96 +f 813/1243/104 806/1244/98 805/1245/101 +f 819/1240/102 805/1245/101 812/1223/95 +f 817/1242/103 811/1235/99 810/1226/96 +f 808/1246/97 816/1247/105 809/1241/100 +f 819/1240/102 820/1248/106 813/1243/104 +f 824/1249/107 818/1250/10 817/1242/103 +f 822/1251/113 816/1247/105 815/1252/108 +f 818/1250/10 826/1253/110 819/1240/102 +f 823/1254/109 817/1242/103 816/1247/105 +f 813/1243/104 821/1255/111 814/1256/112 +f 806/1244/98 814/1256/112 807/1257/14 +f 814/1256/112 821/1255/111 807/1257/14 +f 808/1246/97 807/1258/14 815/1252/108 +f 815/1252/108 807/1258/14 822/1251/113 +f 842/1259/114 827/1260/5 834/1261/17 +f 840/1262/115 833/1263/6 832/1264/48 +f 838/1265/116 831/1266/2 830/1267/25 +f 828/1268/35 837/1269/8 829/1270/1 +f 841/1271/119 834/1261/17 833/1263/6 +f 839/1272/117 832/1264/48 831/1266/2 +f 837/1273/8 830/1267/25 829/1274/1 +f 835/1275/123 828/1268/35 827/1260/5 +f 841/1271/119 849/1276/120 842/1259/114 +f 839/1277/117 847/1278/124 840/1262/115 +f 835/1279/123 844/1280/131 836/1281/118 +f 849/1276/120 835/1279/123 842/1259/114 +f 847/1278/124 841/1271/119 840/1262/115 +f 845/1282/125 839/1277/117 838/1283/116 +f 849/1276/120 850/1284/126 843/1285/122 +f 854/1286/127 848/1287/12 847/1278/124 +f 845/1282/125 853/1288/130 846/1289/121 +f 848/1287/12 856/1290/129 849/1276/120 +f 853/1288/130 847/1278/124 846/1289/121 +f 850/1284/126 844/1280/131 843/1285/122 +f 836/1281/118 844/1280/131 837/1291/8 +f 844/1280/131 851/1292/132 837/1291/8 +f 838/1283/116 837/1293/8 845/1282/125 +f 845/1282/125 837/1293/8 852/1294/128 +f 821/1295/111 837/1296/8 807/1297/14 +f 837/1298/8 822/1299/113 807/1300/14 +f 822/1299/113 850/1301/126 823/1302/109 +f 823/1302/109 856/1290/129 824/1249/107 +f 824/1249/107 855/1303/133 825/1304/134 +f 826/1253/110 855/1303/133 854/1286/127 +f 826/1253/110 853/1305/130 820/1306/106 +f 820/1306/106 852/1307/128 821/1295/111 +f 872/1308/135 857/1309/5 864/1310/35 +f 870/1311/136 863/1312/1 862/1313/25 +f 868/1314/137 861/1315/2 860/1316/48 +f 866/1317/138 859/1318/6 858/1319/17 +f 871/1320/139 864/1310/35 863/1312/1 +f 869/1321/140 862/1313/25 861/1315/2 +f 867/1322/12 860/1316/48 859/1323/6 +f 865/1324/141 858/1319/17 857/1309/5 +f 871/1320/139 879/1325/142 872/1308/135 +f 869/1326/140 877/1327/143 870/1311/136 +f 873/1328/144 866/1329/138 865/1330/141 +f 879/1325/142 865/1330/141 872/1308/135 +f 877/1327/143 871/1320/139 870/1311/136 +f 875/1331/145 869/1326/140 868/1332/137 +f 879/1325/142 880/1333/146 873/1328/144 +f 884/1334/147 878/1335/8 877/1327/143 +f 882/1336/148 876/1337/149 875/1331/145 +f 878/1335/8 886/1338/150 879/1325/142 +f 883/1339/151 877/1327/143 876/1337/149 +f 873/1328/144 881/1340/152 874/1341/153 +f 866/1329/138 874/1341/153 867/1342/12 +f 874/1341/153 881/1340/152 867/1342/12 +f 868/1332/137 867/1343/12 875/1331/145 +f 875/1331/145 867/1343/12 882/1336/148 +f 902/1344/154 887/1345/2 894/1346/48 +f 900/1347/155 893/1348/6 892/1349/17 +f 898/1350/156 891/1351/5 890/1352/35 +f 896/1353/157 889/1354/1 888/1355/25 +f 901/1356/158 894/1346/48 893/1348/6 +f 899/1357/159 892/1349/17 891/1351/5 +f 897/1358/10 890/1352/35 889/1359/1 +f 887/1345/2 896/1353/157 888/1355/25 +f 901/1356/158 909/1360/160 902/1344/154 +f 899/1361/159 907/1362/161 900/1347/155 +f 895/1363/162 904/1364/163 896/1365/157 +f 909/1360/160 895/1363/162 902/1344/154 +f 907/1362/161 901/1356/158 900/1347/155 +f 898/1366/156 906/1367/164 899/1361/159 +f 909/1360/160 910/1368/165 903/1369/166 +f 914/1370/167 908/1371/14 907/1362/161 +f 912/1372/168 906/1367/164 905/1373/169 +f 908/1371/14 916/1374/170 909/1360/160 +f 913/1375/171 907/1362/161 906/1367/164 +f 910/1368/165 904/1364/163 903/1369/166 +f 896/1365/157 904/1364/163 897/1376/10 +f 904/1364/163 911/1377/172 897/1376/10 +f 898/1366/156 897/1378/10 905/1373/169 +f 905/1373/169 897/1378/10 912/1372/168 +f 881/1379/152 897/1380/10 867/1381/12 +f 897/1382/10 882/1383/148 867/1384/12 +f 882/1383/148 910/1385/165 883/1386/151 +f 883/1386/151 916/1374/170 884/1334/147 +f 884/1334/147 915/1387/173 885/1388/174 +f 885/1388/174 914/1370/167 886/1338/150 +f 880/1389/146 914/1370/167 913/1390/171 +f 880/1389/146 912/1391/168 881/1379/152 +f 932/1392/135 917/1393/5 924/1394/35 +f 930/1395/136 923/1396/1 922/1397/25 +f 928/1398/137 921/1399/2 920/1400/48 +f 926/1401/138 919/1402/6 918/1403/17 +f 931/1404/139 924/1394/35 923/1396/1 +f 929/1405/140 922/1397/25 921/1399/2 +f 927/1406/12 920/1400/48 919/1407/6 +f 925/1408/141 918/1403/17 917/1393/5 +f 931/1404/139 939/1409/142 932/1392/135 +f 929/1410/140 937/1411/143 930/1395/136 +f 933/1412/144 926/1413/138 925/1414/141 +f 939/1409/142 925/1414/141 932/1392/135 +f 937/1411/143 931/1404/139 930/1395/136 +f 928/1415/137 936/1416/149 929/1410/140 +f 939/1409/142 940/1417/146 933/1412/144 +f 944/1418/147 938/1419/8 937/1411/143 +f 942/1420/148 936/1416/149 935/1421/145 +f 938/1419/8 946/1422/150 939/1409/142 +f 943/1423/151 937/1411/143 936/1416/149 +f 933/1412/144 941/1424/152 934/1425/153 +f 926/1413/138 934/1425/153 927/1426/12 +f 934/1425/153 941/1424/152 927/1426/12 +f 928/1415/137 927/1427/12 935/1421/145 +f 935/1421/145 927/1427/12 942/1420/148 +f 962/1428/154 947/1429/2 954/1430/48 +f 960/1431/155 953/1432/6 952/1433/17 +f 958/1434/156 951/1435/5 950/1436/35 +f 948/1437/25 957/1438/10 949/1439/1 +f 961/1440/158 954/1430/48 953/1432/6 +f 959/1441/159 952/1433/17 951/1435/5 +f 957/1442/10 950/1436/35 949/1443/1 +f 955/1444/162 948/1437/25 947/1429/2 +f 961/1440/158 969/1445/160 962/1428/154 +f 966/1446/164 960/1431/155 959/1447/159 +f 955/1448/162 964/1449/163 956/1450/157 +f 962/1428/154 963/1451/166 955/1448/162 +f 967/1452/161 961/1440/158 960/1431/155 +f 965/1453/169 959/1447/159 958/1454/156 +f 969/1445/160 970/1455/165 963/1451/166 +f 974/1456/167 968/1457/14 967/1452/161 +f 972/1458/168 966/1446/164 965/1453/169 +f 968/1457/14 976/1459/170 969/1445/160 +f 973/1460/171 967/1452/161 966/1446/164 +f 970/1455/165 964/1449/163 963/1451/166 +f 956/1450/157 964/1449/163 957/1461/10 +f 964/1449/163 971/1462/172 957/1461/10 +f 958/1454/156 957/1463/10 965/1453/169 +f 965/1453/169 957/1463/10 972/1458/168 +f 941/1464/152 957/1465/10 927/1466/12 +f 957/1467/10 942/1468/148 927/1469/12 +f 942/1468/148 970/1470/165 943/1471/151 +f 943/1471/151 976/1459/170 944/1418/147 +f 944/1418/147 975/1472/173 945/1473/174 +f 945/1473/174 974/1456/167 946/1422/150 +f 946/1422/150 973/1474/171 940/1475/146 +f 940/1475/146 972/1476/168 941/1464/152 +f 984/1477/35 985/1478/141 977/1479/5 +f 990/1480/136 983/1481/1 982/1482/25 +f 988/1483/137 981/1484/2 980/1485/48 +f 986/1486/138 979/1487/6 978/1488/17 +f 991/1489/139 984/1477/35 983/1481/1 +f 989/1490/140 982/1482/25 981/1484/2 +f 987/1491/12 980/1485/48 979/1492/6 +f 985/1478/141 978/1488/17 977/1479/5 +f 991/1489/139 999/1493/142 992/1494/135 +f 989/1495/140 997/1496/143 990/1480/136 +f 993/1497/144 986/1498/138 985/1499/141 +f 999/1493/142 985/1499/141 992/1494/135 +f 997/1496/143 991/1489/139 990/1480/136 +f 988/1500/137 996/1501/149 989/1495/140 +f 1006/1502/150 993/1497/144 999/1493/142 +f 1004/1503/147 998/1504/8 997/1496/143 +f 1002/1505/148 996/1501/149 995/1506/145 +f 998/1504/8 1006/1502/150 999/1493/142 +f 1003/1507/151 997/1496/143 996/1501/149 +f 993/1497/144 1001/1508/152 994/1509/153 +f 986/1498/138 994/1509/153 987/1510/12 +f 994/1509/153 1001/1508/152 987/1510/12 +f 988/1500/137 987/1511/12 995/1506/145 +f 995/1506/145 987/1511/12 1002/1505/148 +f 1022/1512/154 1007/1513/2 1014/1514/48 +f 1020/1515/155 1013/1516/6 1012/1517/17 +f 1018/1518/156 1011/1519/5 1010/1520/35 +f 1016/1521/157 1009/1522/1 1008/1523/25 +f 1013/1516/6 1022/1512/154 1014/1514/48 +f 1019/1524/159 1012/1517/17 1011/1519/5 +f 1009/1525/1 1018/1518/156 1010/1520/35 +f 1015/1526/162 1008/1523/25 1007/1513/2 +f 1021/1527/158 1029/1528/160 1022/1512/154 +f 1019/1529/159 1027/1530/161 1020/1515/155 +f 1015/1531/162 1024/1532/163 1016/1533/157 +f 1029/1528/160 1015/1531/162 1022/1512/154 +f 1027/1530/161 1021/1527/158 1020/1515/155 +f 1025/1534/169 1019/1529/159 1018/1535/156 +f 1036/1536/170 1023/1537/166 1029/1528/160 +f 1027/1530/161 1035/1538/173 1028/1539/14 +f 1025/1534/169 1033/1540/171 1026/1541/164 +f 1028/1539/14 1036/1536/170 1029/1528/160 +f 1033/1540/171 1027/1530/161 1026/1541/164 +f 1023/1537/166 1031/1542/172 1024/1532/163 +f 1016/1533/157 1024/1532/163 1017/1543/10 +f 1024/1532/163 1031/1542/172 1017/1543/10 +f 1018/1535/156 1017/1544/10 1025/1534/169 +f 1025/1534/169 1017/1544/10 1032/1545/168 +f 1001/1546/152 1017/1547/10 987/1548/12 +f 1017/1549/10 1002/1550/148 987/1551/12 +f 1002/1550/148 1030/1552/165 1003/1553/151 +f 1003/1553/151 1036/1536/170 1004/1503/147 +f 1004/1503/147 1035/1538/173 1005/1554/174 +f 1006/1502/150 1035/1538/173 1034/1555/167 +f 1006/1502/150 1033/1556/171 1000/1557/146 +f 1000/1557/146 1032/1558/168 1001/1546/152 +f 1052/1559/135 1037/1560/5 1044/1561/35 +f 1042/1562/25 1051/1563/139 1043/1564/1 +f 1048/1565/137 1041/1566/2 1040/1567/48 +f 1038/1568/17 1047/1569/12 1039/1570/6 +f 1051/1563/139 1044/1561/35 1043/1564/1 +f 1049/1571/140 1042/1562/25 1041/1566/2 +f 1047/1572/12 1040/1567/48 1039/1573/6 +f 1045/1574/141 1038/1568/17 1037/1560/5 +f 1051/1563/139 1059/1575/142 1052/1559/135 +f 1049/1576/140 1057/1577/143 1050/1578/136 +f 1053/1579/144 1046/1580/138 1045/1581/141 +f 1052/1559/135 1053/1579/144 1045/1581/141 +f 1050/1578/136 1058/1582/8 1051/1563/139 +f 1048/1583/137 1056/1584/149 1049/1576/140 +f 1059/1575/142 1060/1585/146 1053/1579/144 +f 1064/1586/147 1058/1582/8 1057/1577/143 +f 1062/1587/148 1056/1584/149 1055/1588/145 +f 1058/1582/8 1066/1589/150 1059/1575/142 +f 1063/1590/151 1057/1577/143 1056/1584/149 +f 1060/1585/146 1054/1591/153 1053/1579/144 +f 1046/1580/138 1054/1591/153 1047/1592/12 +f 1054/1591/153 1061/1593/152 1047/1592/12 +f 1048/1583/137 1047/1594/12 1055/1588/145 +f 1055/1588/145 1047/1594/12 1062/1587/148 +f 1082/1595/154 1067/1596/2 1074/1597/48 +f 1080/1598/155 1073/1599/6 1072/1600/17 +f 1078/1601/156 1071/1602/5 1070/1603/35 +f 1076/1604/157 1069/1605/1 1068/1606/25 +f 1081/1607/158 1074/1597/48 1073/1599/6 +f 1079/1608/159 1072/1600/17 1071/1602/5 +f 1069/1609/1 1078/1601/156 1070/1603/35 +f 1067/1596/2 1076/1604/157 1068/1606/25 +f 1081/1607/158 1089/1610/160 1082/1595/154 +f 1086/1611/164 1080/1598/155 1079/1612/159 +f 1075/1613/162 1084/1614/163 1076/1615/157 +f 1089/1610/160 1075/1613/162 1082/1595/154 +f 1087/1616/161 1081/1607/158 1080/1598/155 +f 1085/1617/169 1079/1612/159 1078/1618/156 +f 1089/1610/160 1090/1619/165 1083/1620/166 +f 1094/1621/167 1088/1622/14 1087/1616/161 +f 1092/1623/168 1086/1611/164 1085/1617/169 +f 1088/1622/14 1096/1624/170 1089/1610/160 +f 1086/1611/164 1094/1621/167 1087/1616/161 +f 1090/1619/165 1084/1614/163 1083/1620/166 +f 1076/1615/157 1084/1614/163 1077/1625/10 +f 1084/1614/163 1091/1626/172 1077/1625/10 +f 1078/1618/156 1077/1627/10 1085/1617/169 +f 1085/1617/169 1077/1627/10 1092/1623/168 +f 1061/1628/152 1077/1629/10 1047/1630/12 +f 1077/1631/10 1062/1632/148 1047/1633/12 +f 1062/1632/148 1090/1634/165 1063/1635/151 +f 1063/1635/151 1096/1624/170 1064/1586/147 +f 1064/1586/147 1095/1636/173 1065/1637/174 +f 1065/1637/174 1094/1621/167 1066/1589/150 +f 1066/1589/150 1093/1638/171 1060/1639/146 +f 1060/1639/146 1092/1640/168 1061/1628/152 +f 152/293/7 145/309/18 137/294/4 +f 150/296/9 151/305/15 143/297/1 +f 148/299/11 149/306/16 141/300/3 +f 146/302/13 147/1641/17 139/303/6 +f 151/305/15 152/293/7 144/295/8 +f 149/306/16 150/296/9 142/298/10 +f 147/307/17 148/299/11 140/301/12 +f 145/309/18 146/302/13 138/304/14 +f 151/305/15 158/320/25 159/310/19 +f 149/311/16 156/317/22 157/312/20 +f 153/313/21 154/326/31 146/314/13 +f 159/310/19 153/313/21 145/315/18 +f 157/312/20 158/320/25 151/305/15 +f 148/316/11 155/322/27 156/317/22 +f 159/310/19 166/323/28 160/318/23 +f 164/319/24 165/374/54 158/320/25 +f 162/321/26 163/324/29 156/317/22 +f 158/320/25 165/374/54 166/323/28 +f 163/324/29 164/319/24 157/312/20 +f 153/313/21 160/318/23 161/325/30 +f 182/329/32 175/344/37 167/330/3 +f 180/332/33 181/345/38 173/333/6 +f 178/335/34 179/341/36 171/336/4 +f 168/338/10 176/1642/42 177/339/35 +f 173/333/6 181/345/38 182/329/32 +f 179/341/36 180/332/33 172/334/14 +f 177/342/35 178/335/34 170/337/8 +f 175/344/37 176/1642/42 168/338/10 +f 181/345/38 188/358/48 189/346/39 +f 186/347/40 187/352/43 180/332/33 +f 175/349/37 183/356/46 184/350/41 +f 189/346/39 183/356/46 175/349/37 +f 187/352/43 188/358/48 181/345/38 +f 185/353/44 186/347/40 179/348/36 +f 189/346/39 196/360/50 190/355/45 +f 194/357/47 195/373/53 188/358/48 +f 192/359/49 193/361/51 186/347/40 +f 188/358/48 195/373/53 196/360/50 +f 193/361/51 194/357/47 187/352/43 +f 190/355/45 191/363/52 184/350/41 +f 161/365/30 192/377/49 177/366/35 +f 177/368/35 191/1643/52 162/369/26 +f 162/369/26 191/1643/52 190/371/45 +f 163/372/29 190/371/45 196/360/50 +f 164/319/24 196/360/50 195/373/53 +f 165/374/54 195/373/53 194/357/47 +f 166/323/28 194/357/47 193/375/51 +f 160/376/23 193/375/51 192/377/49 +f 212/378/7 205/394/18 197/379/4 +f 210/381/9 211/390/15 203/382/1 +f 208/384/11 209/391/16 201/385/3 +f 206/387/13 207/1644/17 199/388/6 +f 211/390/15 212/378/7 204/380/8 +f 209/391/16 210/381/9 202/383/10 +f 207/392/17 208/384/11 200/386/12 +f 205/394/18 206/387/13 198/389/14 +f 211/390/15 218/405/25 219/395/19 +f 209/396/16 216/402/22 217/397/20 +f 213/398/21 214/411/31 206/399/13 +f 219/395/19 213/398/21 205/400/18 +f 217/397/20 218/405/25 211/390/15 +f 208/401/11 215/407/27 216/402/22 +f 219/395/19 226/408/28 220/403/23 +f 224/404/24 225/459/54 218/405/25 +f 222/406/26 223/409/29 216/402/22 +f 218/405/25 225/459/54 226/408/28 +f 223/409/29 224/404/24 217/397/20 +f 213/398/21 220/403/23 221/410/30 +f 242/414/32 235/430/37 227/415/3 +f 240/417/33 241/426/38 233/418/6 +f 238/420/34 239/427/36 231/421/4 +f 228/423/10 236/1645/42 237/424/35 +f 241/426/38 242/414/32 234/416/12 +f 239/427/36 240/417/33 232/419/14 +f 237/428/35 238/420/34 230/422/8 +f 235/430/37 236/1645/42 228/423/10 +f 241/426/38 248/441/48 249/431/39 +f 239/432/36 246/443/40 247/433/43 +f 243/434/46 244/446/41 236/435/42 +f 249/431/39 243/434/46 235/436/37 +f 247/433/43 248/441/48 241/426/38 +f 245/437/44 246/443/40 239/432/36 +f 249/431/39 256/444/50 250/439/45 +f 254/440/47 255/458/53 248/441/48 +f 252/442/49 253/445/51 246/443/40 +f 248/441/48 255/458/53 256/444/50 +f 253/445/51 254/440/47 247/433/43 +f 250/439/45 251/448/52 244/446/41 +f 221/450/30 252/462/49 237/451/35 +f 237/453/35 251/1646/52 222/454/26 +f 222/454/26 251/1646/52 250/456/45 +f 223/457/29 250/456/45 256/444/50 +f 224/404/24 256/444/50 255/458/53 +f 225/459/54 255/458/53 254/440/47 +f 226/408/28 254/440/47 253/460/51 +f 220/461/23 253/460/51 252/462/49 +f 272/463/7 265/479/18 257/464/4 +f 270/466/9 271/475/15 263/467/1 +f 268/469/11 269/476/16 261/470/3 +f 266/472/13 267/1647/17 259/473/6 +f 271/475/15 272/463/7 264/465/8 +f 269/476/16 270/466/9 262/468/10 +f 267/477/17 268/469/11 260/471/12 +f 265/479/18 266/472/13 258/474/14 +f 271/475/15 278/490/25 279/480/19 +f 269/481/16 276/487/22 277/482/20 +f 273/483/21 274/496/31 266/484/13 +f 279/480/19 273/483/21 265/485/18 +f 277/482/20 278/490/25 271/475/15 +f 268/486/11 275/492/27 276/487/22 +f 279/480/19 286/493/28 280/488/23 +f 284/489/24 285/543/54 278/490/25 +f 282/491/26 283/494/29 276/487/22 +f 278/490/25 285/543/54 286/493/28 +f 283/494/29 284/489/24 277/482/20 +f 273/483/21 280/488/23 281/495/30 +f 302/499/32 295/1648/37 287/500/3 +f 300/502/33 301/511/38 293/503/6 +f 298/505/34 299/512/36 291/506/4 +f 296/508/42 297/1649/35 289/509/1 +f 301/511/38 302/499/32 294/501/12 +f 299/512/36 300/502/33 292/504/14 +f 297/513/35 298/505/34 290/507/8 +f 287/500/3 295/1648/37 296/508/42 +f 301/511/38 308/526/48 309/515/39 +f 306/516/40 307/521/43 300/502/33 +f 303/518/46 304/530/41 296/519/42 +f 309/515/39 303/518/46 295/520/37 +f 307/521/43 308/526/48 301/511/38 +f 305/522/44 306/516/40 299/517/36 +f 309/515/39 316/528/50 310/524/45 +f 314/525/47 315/542/53 308/526/48 +f 312/527/49 313/529/51 306/516/40 +f 308/526/48 315/542/53 316/528/50 +f 313/529/51 314/525/47 307/521/43 +f 310/524/45 311/532/52 304/530/41 +f 281/534/30 312/546/49 297/535/35 +f 297/537/35 311/1650/52 282/538/26 +f 282/538/26 311/1650/52 310/540/45 +f 283/541/29 310/540/45 316/528/50 +f 284/489/24 316/528/50 315/542/53 +f 285/543/54 315/542/53 314/525/47 +f 286/493/28 314/525/47 313/544/51 +f 280/545/23 313/544/51 312/546/49 +f 332/547/7 325/563/18 317/548/4 +f 330/550/9 331/559/15 323/551/1 +f 328/553/11 329/560/16 321/554/3 +f 326/556/13 327/1651/17 319/557/6 +f 331/559/15 332/547/7 324/549/8 +f 329/560/16 330/550/9 322/552/10 +f 327/561/17 328/553/11 320/555/12 +f 325/563/18 326/556/13 318/558/14 +f 331/559/15 338/574/25 339/564/19 +f 329/565/16 336/571/22 337/566/20 +f 333/567/21 334/580/31 326/568/13 +f 339/564/19 333/567/21 325/569/18 +f 337/566/20 338/574/25 331/559/15 +f 328/570/11 335/576/27 336/571/22 +f 339/564/19 346/577/28 340/572/23 +f 344/573/24 345/628/54 338/574/25 +f 342/575/26 343/578/29 336/571/22 +f 338/574/25 345/628/54 346/577/28 +f 343/578/29 344/573/24 337/566/20 +f 333/567/21 340/572/23 341/579/30 +f 362/583/32 355/599/37 347/584/3 +f 360/586/33 361/595/38 353/587/6 +f 358/589/34 359/596/36 351/590/4 +f 348/592/10 356/1652/42 357/593/35 +f 361/595/38 362/583/32 354/585/12 +f 359/596/36 360/586/33 352/588/14 +f 357/597/35 358/589/34 350/591/8 +f 355/599/37 356/1652/42 348/592/10 +f 361/595/38 368/611/48 369/600/39 +f 359/601/36 366/613/40 367/602/43 +f 355/603/37 363/609/46 364/604/41 +f 369/600/39 363/609/46 355/603/37 +f 367/602/43 368/611/48 361/595/38 +f 365/606/44 366/613/40 359/601/36 +f 369/600/39 376/614/50 370/608/45 +f 374/610/47 375/627/53 368/611/48 +f 372/612/49 373/615/51 366/613/40 +f 368/611/48 375/627/53 376/614/50 +f 373/615/51 374/610/47 367/602/43 +f 370/608/45 371/617/52 364/604/41 +f 341/619/30 372/631/49 357/620/35 +f 357/622/35 371/1653/52 342/623/26 +f 342/623/26 371/1653/52 370/625/45 +f 343/626/29 370/625/45 376/614/50 +f 344/573/24 376/614/50 375/627/53 +f 345/628/54 375/627/53 374/610/47 +f 346/577/28 374/610/47 373/629/51 +f 340/630/23 373/629/51 372/631/49 +f 392/632/55 385/648/61 377/633/3 +f 390/635/56 391/644/59 383/636/1 +f 388/638/57 389/645/60 381/639/4 +f 386/641/58 387/1654/48 379/642/6 +f 391/644/59 392/632/55 384/634/10 +f 389/645/60 390/635/56 382/637/8 +f 387/646/48 388/638/57 380/640/14 +f 385/648/61 386/641/58 378/643/12 +f 391/644/59 398/659/35 399/649/62 +f 389/650/60 396/656/65 397/651/63 +f 393/652/64 394/664/72 386/653/58 +f 399/649/62 393/652/64 385/654/61 +f 397/651/63 398/659/35 391/644/59 +f 388/655/57 395/661/69 396/656/65 +f 399/649/62 406/662/70 400/657/66 +f 404/658/67 405/713/94 398/659/35 +f 402/660/68 403/663/71 396/656/65 +f 398/659/35 405/713/94 406/662/70 +f 403/663/71 404/658/67 397/651/63 +f 400/657/66 401/666/73 394/664/72 +f 422/668/74 415/684/80 407/669/4 +f 420/671/75 421/680/78 413/672/6 +f 418/674/76 419/681/79 411/675/3 +f 416/677/77 417/1655/25 409/678/1 +f 421/680/78 422/668/74 414/670/14 +f 419/681/79 420/671/75 412/673/12 +f 417/682/25 418/674/76 410/676/10 +f 415/684/80 416/677/77 408/679/8 +f 421/680/78 428/696/17 429/685/81 +f 419/686/79 426/698/89 427/687/82 +f 415/688/80 423/694/86 424/689/83 +f 429/685/81 423/694/86 415/688/80 +f 427/687/82 428/696/17 421/680/78 +f 425/691/84 426/698/89 419/686/79 +f 429/685/81 436/699/90 430/693/85 +f 434/695/87 435/712/93 428/696/17 +f 432/697/88 433/700/91 426/698/89 +f 428/696/17 435/712/93 436/699/90 +f 433/700/91 434/695/87 427/687/82 +f 430/693/85 431/702/92 424/689/83 +f 401/704/73 432/716/88 417/705/25 +f 417/707/25 431/1656/92 402/708/68 +f 402/708/68 431/1656/92 430/710/85 +f 403/711/71 430/710/85 436/699/90 +f 404/658/67 436/699/90 435/712/93 +f 405/713/94 435/712/93 434/695/87 +f 406/662/70 434/695/87 433/714/91 +f 400/715/66 433/714/91 432/716/88 +f 452/717/55 445/733/61 437/718/3 +f 450/720/56 451/729/59 443/721/1 +f 448/723/57 449/730/60 441/724/4 +f 446/726/58 447/1657/48 439/727/6 +f 451/729/59 452/717/55 444/719/10 +f 449/730/60 450/720/56 442/722/8 +f 447/731/48 448/723/57 440/725/14 +f 445/733/61 446/726/58 438/728/12 +f 451/729/59 458/744/35 459/734/62 +f 456/735/65 457/740/63 450/720/56 +f 453/737/64 454/748/72 446/738/58 +f 459/734/62 453/737/64 445/739/61 +f 457/740/63 458/744/35 451/729/59 +f 448/741/57 455/745/69 456/735/65 +f 459/734/62 466/747/70 460/742/66 +f 464/743/67 465/798/94 458/744/35 +f 455/745/69 462/752/68 463/746/71 +f 458/744/35 465/798/94 466/747/70 +f 463/746/71 464/743/67 457/740/63 +f 460/742/66 461/750/73 454/748/72 +f 482/753/74 475/1658/80 467/754/4 +f 480/756/75 481/765/78 473/757/6 +f 478/759/76 479/766/79 471/760/3 +f 468/762/8 476/769/77 477/763/25 +f 481/765/78 482/753/74 474/755/14 +f 479/766/79 480/756/75 472/758/12 +f 477/767/25 478/759/76 470/761/10 +f 467/754/4 475/1658/80 476/769/77 +f 481/765/78 488/781/17 489/770/81 +f 479/771/79 486/783/89 487/772/82 +f 475/773/80 483/776/86 484/774/83 +f 482/753/74 489/770/81 483/776/86 +f 487/772/82 488/781/17 481/765/78 +f 485/777/84 486/783/89 479/771/79 +f 489/770/81 496/784/90 490/779/85 +f 494/780/87 495/797/93 488/781/17 +f 492/782/88 493/785/91 486/783/89 +f 488/781/17 495/797/93 496/784/90 +f 493/785/91 494/780/87 487/772/82 +f 490/779/85 491/787/92 484/774/83 +f 461/789/73 492/801/88 477/790/25 +f 477/792/25 491/1659/92 462/793/68 +f 462/793/68 491/1659/92 490/795/85 +f 463/796/71 490/795/85 496/784/90 +f 464/743/67 496/784/90 495/797/93 +f 465/798/94 495/797/93 494/780/87 +f 466/747/70 494/780/87 493/799/91 +f 460/800/66 493/799/91 492/801/88 +f 512/802/55 505/818/61 497/803/3 +f 510/805/56 511/814/59 503/806/1 +f 508/808/57 509/815/60 501/809/4 +f 506/811/58 507/1660/48 499/812/6 +f 511/814/59 512/802/55 504/804/10 +f 509/815/60 510/805/56 502/807/8 +f 507/816/48 508/808/57 500/810/14 +f 505/818/61 506/811/58 498/813/12 +f 511/814/59 518/829/35 519/819/62 +f 509/820/60 516/826/65 517/821/63 +f 513/822/64 514/834/72 506/823/58 +f 519/819/62 513/822/64 505/824/61 +f 517/821/63 518/829/35 511/814/59 +f 508/825/57 515/831/69 516/826/65 +f 526/827/70 520/1661/66 513/822/64 +f 524/828/67 525/881/94 518/829/35 +f 522/830/68 523/832/71 516/826/65 +f 518/829/35 525/881/94 526/827/70 +f 523/832/71 524/828/67 517/821/63 +f 513/822/64 520/1661/66 521/833/73 +f 542/837/74 535/853/80 527/838/4 +f 540/840/75 541/849/78 533/841/6 +f 538/843/76 539/850/79 531/844/3 +f 536/846/77 537/1662/25 529/847/1 +f 541/849/78 542/837/74 534/839/14 +f 539/850/79 540/840/75 532/842/12 +f 537/851/25 538/843/76 530/845/10 +f 535/853/80 536/846/77 528/848/8 +f 541/849/78 548/864/17 549/854/81 +f 539/855/79 546/866/89 547/856/82 +f 543/857/86 544/868/83 536/858/77 +f 549/854/81 543/857/86 535/859/80 +f 547/856/82 548/864/17 541/849/78 +f 545/860/84 546/866/89 539/855/79 +f 549/854/81 556/867/90 550/862/85 +f 554/863/87 555/880/93 548/864/17 +f 552/865/88 553/1663/91 546/866/89 +f 548/864/17 555/880/93 556/867/90 +f 546/866/89 553/1663/91 554/863/87 +f 550/862/85 551/870/92 544/868/83 +f 521/872/73 552/884/88 537/873/25 +f 537/875/25 551/1664/92 522/876/68 +f 522/876/68 551/1664/92 550/878/85 +f 523/879/71 550/878/85 556/867/90 +f 524/828/67 556/867/90 555/880/93 +f 525/881/94 555/880/93 554/863/87 +f 526/827/70 554/863/87 553/882/91 +f 520/883/66 553/882/91 552/884/88 +f 572/885/55 565/901/61 557/886/3 +f 570/888/56 571/897/59 563/889/1 +f 568/891/57 569/898/60 561/892/4 +f 566/894/58 567/1665/48 559/895/6 +f 571/897/59 572/885/55 564/887/10 +f 569/898/60 570/888/56 562/890/8 +f 567/899/48 568/891/57 560/893/14 +f 565/901/61 566/894/58 558/896/12 +f 571/897/59 578/912/35 579/902/62 +f 569/903/60 576/909/65 577/904/63 +f 573/905/64 574/916/72 566/906/58 +f 579/902/62 573/905/64 565/907/61 +f 577/904/63 578/912/35 571/897/59 +f 568/908/57 575/914/69 576/909/65 +f 586/910/70 580/915/66 573/905/64 +f 584/911/67 585/964/94 578/912/35 +f 582/913/68 583/1666/71 576/909/65 +f 578/912/35 585/964/94 586/910/70 +f 576/909/65 583/1666/71 584/911/67 +f 580/915/66 581/918/73 574/916/72 +f 602/920/74 595/936/80 587/921/4 +f 600/923/75 601/932/78 593/924/6 +f 598/926/76 599/933/79 591/927/3 +f 588/929/8 596/1667/77 597/930/25 +f 601/932/78 602/920/74 594/922/14 +f 599/933/79 600/923/75 592/925/12 +f 597/934/25 598/926/76 590/928/10 +f 595/936/80 596/1667/77 588/929/8 +f 608/937/17 609/943/81 602/920/74 +f 606/938/89 607/944/82 600/923/75 +f 595/940/80 603/948/86 604/941/83 +f 609/943/81 603/948/86 595/940/80 +f 607/944/82 608/937/17 601/932/78 +f 605/945/84 606/938/89 599/939/79 +f 616/947/90 610/952/85 603/948/86 +f 607/944/82 614/951/87 615/949/93 +f 612/950/88 613/1668/91 606/938/89 +f 615/949/93 616/947/90 609/943/81 +f 606/938/89 613/1668/91 614/951/87 +f 610/952/85 611/954/92 604/941/83 +f 581/956/73 612/967/88 597/957/25 +f 597/959/25 611/1669/92 582/960/68 +f 582/960/68 611/1669/92 610/962/85 +f 583/963/71 610/962/85 616/947/90 +f 584/911/67 616/947/90 615/949/93 +f 585/964/94 615/949/93 614/951/87 +f 586/910/70 614/951/87 613/965/91 +f 580/966/66 613/965/91 612/967/88 +f 632/968/95 625/984/101 617/969/2 +f 630/971/96 631/980/99 623/972/1 +f 628/974/97 629/981/100 621/975/5 +f 626/977/98 627/1670/14 619/978/6 +f 631/980/99 632/968/95 624/970/25 +f 629/981/100 630/971/96 622/973/35 +f 627/982/14 628/974/97 620/976/17 +f 625/984/101 626/977/98 618/979/48 +f 631/980/99 638/991/10 639/985/102 +f 629/986/100 636/993/105 637/987/103 +f 633/988/104 634/1000/112 626/989/98 +f 639/985/102 633/988/104 625/990/101 +f 630/971/96 637/987/103 638/991/10 +f 628/992/97 635/996/108 636/993/105 +f 639/985/102 646/998/110 640/994/106 +f 644/995/107 645/1049/134 638/991/10 +f 635/996/108 642/1003/113 643/997/109 +f 638/991/10 645/1049/134 646/998/110 +f 643/997/109 644/995/107 637/987/103 +f 633/988/104 640/994/106 641/999/111 +f 662/1004/114 655/1671/123 647/1005/5 +f 660/1007/115 661/1020/119 653/1008/6 +f 658/1010/116 659/1016/117 651/1011/2 +f 648/1013/35 656/1019/118 657/1014/8 +f 653/1008/6 661/1020/119 662/1004/114 +f 659/1016/117 660/1007/115 652/1009/48 +f 657/1017/8 658/1010/116 650/1012/25 +f 647/1005/5 655/1671/123 656/1019/118 +f 661/1020/119 668/1032/12 669/1021/120 +f 666/1022/121 667/1027/124 660/1007/115 +f 663/1024/122 664/1036/131 656/1025/118 +f 669/1021/120 663/1024/122 655/1026/123 +f 667/1027/124 668/1032/12 661/1020/119 +f 665/1028/125 666/1022/121 659/1023/117 +f 669/1021/120 676/1034/129 670/1030/126 +f 674/1031/127 675/1048/133 668/1032/12 +f 672/1033/128 673/1035/130 666/1022/121 +f 668/1032/12 675/1048/133 676/1034/129 +f 673/1035/130 674/1031/127 667/1027/124 +f 670/1030/126 671/1038/132 664/1036/131 +f 641/1040/111 672/1052/128 657/1041/8 +f 657/1043/8 671/1672/132 642/1044/113 +f 642/1044/113 671/1672/132 670/1046/126 +f 643/1047/109 670/1046/126 676/1034/129 +f 644/995/107 676/1034/129 675/1048/133 +f 645/1049/134 675/1048/133 674/1031/127 +f 646/998/110 674/1031/127 673/1050/130 +f 640/1051/106 673/1050/130 672/1052/128 +f 692/1053/95 685/1069/101 677/1054/2 +f 690/1056/96 691/1065/99 683/1057/1 +f 688/1059/97 689/1066/100 681/1060/5 +f 686/1062/98 687/1673/14 679/1063/6 +f 691/1065/99 692/1053/95 684/1055/25 +f 689/1066/100 690/1056/96 682/1058/35 +f 687/1067/14 688/1059/97 680/1061/17 +f 685/1069/101 686/1062/98 678/1064/48 +f 691/1065/99 698/1080/10 699/1070/102 +f 689/1071/100 696/1077/105 697/1072/103 +f 693/1073/104 694/1086/112 686/1074/98 +f 699/1070/102 693/1073/104 685/1075/101 +f 697/1072/103 698/1080/10 691/1065/99 +f 688/1076/97 695/1082/108 696/1077/105 +f 699/1070/102 706/1083/110 700/1078/106 +f 704/1079/107 705/1134/134 698/1080/10 +f 702/1081/113 703/1084/109 696/1077/105 +f 698/1080/10 705/1134/134 706/1083/110 +f 703/1084/109 704/1079/107 697/1072/103 +f 693/1073/104 700/1078/106 701/1085/111 +f 722/1089/114 715/1105/123 707/1090/5 +f 720/1092/115 721/1101/119 713/1093/6 +f 718/1095/116 719/1102/117 711/1096/2 +f 708/1098/35 716/1674/118 717/1099/8 +f 721/1101/119 722/1089/114 714/1091/17 +f 719/1102/117 720/1092/115 712/1094/48 +f 717/1103/8 718/1095/116 710/1097/25 +f 715/1105/123 716/1674/118 708/1098/35 +f 721/1101/119 728/1116/12 729/1106/120 +f 719/1107/117 726/1118/121 727/1108/124 +f 723/1109/122 724/1121/131 716/1110/118 +f 729/1106/120 723/1109/122 715/1111/123 +f 727/1108/124 728/1116/12 721/1101/119 +f 725/1112/125 726/1118/121 719/1107/117 +f 729/1106/120 736/1119/129 730/1114/126 +f 734/1115/127 735/1133/133 728/1116/12 +f 732/1117/128 733/1120/130 726/1118/121 +f 728/1116/12 735/1133/133 736/1119/129 +f 733/1120/130 734/1115/127 727/1108/124 +f 730/1114/126 731/1123/132 724/1121/131 +f 701/1125/111 732/1137/128 717/1126/8 +f 717/1128/8 731/1675/132 702/1129/113 +f 702/1129/113 731/1675/132 730/1131/126 +f 703/1132/109 730/1131/126 736/1119/129 +f 704/1079/107 736/1119/129 735/1133/133 +f 705/1134/134 735/1133/133 734/1115/127 +f 706/1083/110 734/1115/127 733/1135/130 +f 700/1136/106 733/1135/130 732/1137/128 +f 752/1138/95 745/1154/101 737/1139/2 +f 750/1141/96 751/1150/99 743/1142/1 +f 748/1144/97 749/1151/100 741/1145/5 +f 746/1147/98 747/1676/14 739/1148/6 +f 751/1150/99 752/1138/95 744/1140/25 +f 749/1151/100 750/1141/96 742/1143/35 +f 747/1152/14 748/1144/97 740/1146/17 +f 745/1154/101 746/1147/98 738/1149/48 +f 751/1150/99 758/1165/10 759/1155/102 +f 749/1156/100 756/1162/105 757/1157/103 +f 753/1158/104 754/1171/112 746/1159/98 +f 759/1155/102 753/1158/104 745/1160/101 +f 757/1157/103 758/1165/10 751/1150/99 +f 748/1161/97 755/1167/108 756/1162/105 +f 759/1155/102 766/1168/110 760/1163/106 +f 764/1164/107 765/1219/134 758/1165/10 +f 762/1166/113 763/1169/109 756/1162/105 +f 758/1165/10 765/1219/134 766/1168/110 +f 763/1169/109 764/1164/107 757/1157/103 +f 753/1158/104 760/1163/106 761/1170/111 +f 782/1174/114 775/1190/123 767/1175/5 +f 780/1177/115 781/1186/119 773/1178/6 +f 778/1180/116 779/1187/117 771/1181/2 +f 776/1183/118 777/1677/8 769/1184/1 +f 781/1186/119 782/1174/114 774/1176/17 +f 779/1187/117 780/1177/115 772/1179/48 +f 777/1188/8 778/1180/116 770/1182/25 +f 775/1190/123 776/1183/118 768/1185/35 +f 781/1186/119 788/1202/12 789/1191/120 +f 779/1192/117 786/1204/121 787/1193/124 +f 775/1194/123 783/1200/122 784/1195/131 +f 789/1191/120 783/1200/122 775/1194/123 +f 787/1193/124 788/1202/12 781/1186/119 +f 785/1197/125 786/1204/121 779/1192/117 +f 789/1191/120 796/1205/129 790/1199/126 +f 794/1201/127 795/1218/133 788/1202/12 +f 792/1203/128 793/1206/130 786/1204/121 +f 788/1202/12 795/1218/133 796/1205/129 +f 793/1206/130 794/1201/127 787/1193/124 +f 783/1200/122 790/1199/126 791/1207/132 +f 761/1210/111 792/1222/128 777/1211/8 +f 777/1213/8 791/1678/132 762/1214/113 +f 762/1214/113 791/1678/132 790/1216/126 +f 763/1217/109 790/1216/126 796/1205/129 +f 764/1164/107 796/1205/129 795/1218/133 +f 766/1168/110 765/1219/134 795/1218/133 +f 766/1168/110 794/1201/127 793/1220/130 +f 760/1221/106 793/1220/130 792/1222/128 +f 812/1223/95 805/1239/101 797/1224/2 +f 810/1226/96 811/1235/99 803/1227/1 +f 808/1229/97 809/1236/100 801/1230/5 +f 806/1232/98 807/1679/14 799/1233/6 +f 811/1235/99 812/1223/95 804/1225/25 +f 809/1236/100 810/1226/96 802/1228/35 +f 807/1237/14 808/1229/97 800/1231/17 +f 805/1239/101 806/1232/98 798/1234/48 +f 811/1235/99 818/1250/10 819/1240/102 +f 809/1241/100 816/1247/105 817/1242/103 +f 813/1243/104 814/1256/112 806/1244/98 +f 819/1240/102 813/1243/104 805/1245/101 +f 817/1242/103 818/1250/10 811/1235/99 +f 808/1246/97 815/1252/108 816/1247/105 +f 819/1240/102 826/1253/110 820/1248/106 +f 824/1249/107 825/1304/134 818/1250/10 +f 822/1251/113 823/1254/109 816/1247/105 +f 818/1250/10 825/1304/134 826/1253/110 +f 823/1254/109 824/1249/107 817/1242/103 +f 813/1243/104 820/1248/106 821/1255/111 +f 842/1259/114 835/1275/123 827/1260/5 +f 840/1262/115 841/1271/119 833/1263/6 +f 838/1265/116 839/1272/117 831/1266/2 +f 828/1268/35 836/1680/118 837/1269/8 +f 841/1271/119 842/1259/114 834/1261/17 +f 839/1272/117 840/1262/115 832/1264/48 +f 837/1273/8 838/1265/116 830/1267/25 +f 835/1275/123 836/1680/118 828/1268/35 +f 841/1271/119 848/1287/12 849/1276/120 +f 839/1277/117 846/1289/121 847/1278/124 +f 835/1279/123 843/1285/122 844/1280/131 +f 849/1276/120 843/1285/122 835/1279/123 +f 847/1278/124 848/1287/12 841/1271/119 +f 845/1282/125 846/1289/121 839/1277/117 +f 849/1276/120 856/1290/129 850/1284/126 +f 854/1286/127 855/1303/133 848/1287/12 +f 845/1282/125 852/1294/128 853/1288/130 +f 848/1287/12 855/1303/133 856/1290/129 +f 853/1288/130 854/1286/127 847/1278/124 +f 850/1284/126 851/1292/132 844/1280/131 +f 821/1295/111 852/1307/128 837/1296/8 +f 837/1298/8 851/1681/132 822/1299/113 +f 822/1299/113 851/1681/132 850/1301/126 +f 823/1302/109 850/1301/126 856/1290/129 +f 824/1249/107 856/1290/129 855/1303/133 +f 826/1253/110 825/1304/134 855/1303/133 +f 826/1253/110 854/1286/127 853/1305/130 +f 820/1306/106 853/1305/130 852/1307/128 +f 872/1308/135 865/1324/141 857/1309/5 +f 870/1311/136 871/1320/139 863/1312/1 +f 868/1314/137 869/1321/140 861/1315/2 +f 866/1317/138 867/1682/12 859/1318/6 +f 871/1320/139 872/1308/135 864/1310/35 +f 869/1321/140 870/1311/136 862/1313/25 +f 867/1322/12 868/1314/137 860/1316/48 +f 865/1324/141 866/1317/138 858/1319/17 +f 871/1320/139 878/1335/8 879/1325/142 +f 869/1326/140 876/1337/149 877/1327/143 +f 873/1328/144 874/1341/153 866/1329/138 +f 879/1325/142 873/1328/144 865/1330/141 +f 877/1327/143 878/1335/8 871/1320/139 +f 875/1331/145 876/1337/149 869/1326/140 +f 879/1325/142 886/1338/150 880/1333/146 +f 884/1334/147 885/1388/174 878/1335/8 +f 882/1336/148 883/1339/151 876/1337/149 +f 878/1335/8 885/1388/174 886/1338/150 +f 883/1339/151 884/1334/147 877/1327/143 +f 873/1328/144 880/1333/146 881/1340/152 +f 902/1344/154 895/1683/162 887/1345/2 +f 900/1347/155 901/1356/158 893/1348/6 +f 898/1350/156 899/1357/159 891/1351/5 +f 896/1353/157 897/1684/10 889/1354/1 +f 901/1356/158 902/1344/154 894/1346/48 +f 899/1357/159 900/1347/155 892/1349/17 +f 897/1358/10 898/1350/156 890/1352/35 +f 887/1345/2 895/1683/162 896/1353/157 +f 901/1356/158 908/1371/14 909/1360/160 +f 899/1361/159 906/1367/164 907/1362/161 +f 895/1363/162 903/1369/166 904/1364/163 +f 909/1360/160 903/1369/166 895/1363/162 +f 907/1362/161 908/1371/14 901/1356/158 +f 898/1366/156 905/1373/169 906/1367/164 +f 909/1360/160 916/1374/170 910/1368/165 +f 914/1370/167 915/1387/173 908/1371/14 +f 912/1372/168 913/1375/171 906/1367/164 +f 908/1371/14 915/1387/173 916/1374/170 +f 913/1375/171 914/1370/167 907/1362/161 +f 910/1368/165 911/1377/172 904/1364/163 +f 881/1379/152 912/1391/168 897/1380/10 +f 897/1382/10 911/1685/172 882/1383/148 +f 882/1383/148 911/1685/172 910/1385/165 +f 883/1386/151 910/1385/165 916/1374/170 +f 884/1334/147 916/1374/170 915/1387/173 +f 885/1388/174 915/1387/173 914/1370/167 +f 880/1389/146 886/1338/150 914/1370/167 +f 880/1389/146 913/1390/171 912/1391/168 +f 932/1392/135 925/1408/141 917/1393/5 +f 930/1395/136 931/1404/139 923/1396/1 +f 928/1398/137 929/1405/140 921/1399/2 +f 926/1401/138 927/1686/12 919/1402/6 +f 931/1404/139 932/1392/135 924/1394/35 +f 929/1405/140 930/1395/136 922/1397/25 +f 927/1406/12 928/1398/137 920/1400/48 +f 925/1408/141 926/1401/138 918/1403/17 +f 931/1404/139 938/1419/8 939/1409/142 +f 929/1410/140 936/1416/149 937/1411/143 +f 933/1412/144 934/1425/153 926/1413/138 +f 939/1409/142 933/1412/144 925/1414/141 +f 937/1411/143 938/1419/8 931/1404/139 +f 928/1415/137 935/1421/145 936/1416/149 +f 939/1409/142 946/1422/150 940/1417/146 +f 944/1418/147 945/1473/174 938/1419/8 +f 942/1420/148 943/1423/151 936/1416/149 +f 938/1419/8 945/1473/174 946/1422/150 +f 943/1423/151 944/1418/147 937/1411/143 +f 933/1412/144 940/1417/146 941/1424/152 +f 962/1428/154 955/1444/162 947/1429/2 +f 960/1431/155 961/1440/158 953/1432/6 +f 958/1434/156 959/1441/159 951/1435/5 +f 948/1437/25 956/1687/157 957/1438/10 +f 961/1440/158 962/1428/154 954/1430/48 +f 959/1441/159 960/1431/155 952/1433/17 +f 957/1442/10 958/1434/156 950/1436/35 +f 955/1444/162 956/1687/157 948/1437/25 +f 961/1440/158 968/1457/14 969/1445/160 +f 966/1446/164 967/1452/161 960/1431/155 +f 955/1448/162 963/1451/166 964/1449/163 +f 962/1428/154 969/1445/160 963/1451/166 +f 967/1452/161 968/1457/14 961/1440/158 +f 965/1453/169 966/1446/164 959/1447/159 +f 969/1445/160 976/1459/170 970/1455/165 +f 974/1456/167 975/1472/173 968/1457/14 +f 972/1458/168 973/1460/171 966/1446/164 +f 968/1457/14 975/1472/173 976/1459/170 +f 973/1460/171 974/1456/167 967/1452/161 +f 970/1455/165 971/1462/172 964/1449/163 +f 941/1464/152 972/1476/168 957/1465/10 +f 957/1467/10 971/1688/172 942/1468/148 +f 942/1468/148 971/1688/172 970/1470/165 +f 943/1471/151 970/1470/165 976/1459/170 +f 944/1418/147 976/1459/170 975/1472/173 +f 945/1473/174 975/1472/173 974/1456/167 +f 946/1422/150 974/1456/167 973/1474/171 +f 940/1475/146 973/1474/171 972/1476/168 +f 984/1477/35 992/1494/135 985/1478/141 +f 990/1480/136 991/1489/139 983/1481/1 +f 988/1483/137 989/1490/140 981/1484/2 +f 986/1486/138 987/1689/12 979/1487/6 +f 991/1489/139 992/1494/135 984/1477/35 +f 989/1490/140 990/1480/136 982/1482/25 +f 987/1491/12 988/1483/137 980/1485/48 +f 985/1478/141 986/1486/138 978/1488/17 +f 991/1489/139 998/1504/8 999/1493/142 +f 989/1495/140 996/1501/149 997/1496/143 +f 993/1497/144 994/1509/153 986/1498/138 +f 999/1493/142 993/1497/144 985/1499/141 +f 997/1496/143 998/1504/8 991/1489/139 +f 988/1500/137 995/1506/145 996/1501/149 +f 1006/1502/150 1000/1690/146 993/1497/144 +f 1004/1503/147 1005/1554/174 998/1504/8 +f 1002/1505/148 1003/1507/151 996/1501/149 +f 998/1504/8 1005/1554/174 1006/1502/150 +f 1003/1507/151 1004/1503/147 997/1496/143 +f 993/1497/144 1000/1690/146 1001/1508/152 +f 1022/1512/154 1015/1526/162 1007/1513/2 +f 1020/1515/155 1021/1527/158 1013/1516/6 +f 1018/1518/156 1019/1524/159 1011/1519/5 +f 1016/1521/157 1017/1691/10 1009/1522/1 +f 1013/1516/6 1021/1527/158 1022/1512/154 +f 1019/1524/159 1020/1515/155 1012/1517/17 +f 1009/1525/1 1017/1692/10 1018/1518/156 +f 1015/1526/162 1016/1521/157 1008/1523/25 +f 1021/1527/158 1028/1539/14 1029/1528/160 +f 1019/1529/159 1026/1541/164 1027/1530/161 +f 1015/1531/162 1023/1537/166 1024/1532/163 +f 1029/1528/160 1023/1537/166 1015/1531/162 +f 1027/1530/161 1028/1539/14 1021/1527/158 +f 1025/1534/169 1026/1541/164 1019/1529/159 +f 1036/1536/170 1030/1693/165 1023/1537/166 +f 1027/1530/161 1034/1555/167 1035/1538/173 +f 1025/1534/169 1032/1545/168 1033/1540/171 +f 1028/1539/14 1035/1538/173 1036/1536/170 +f 1033/1540/171 1034/1555/167 1027/1530/161 +f 1023/1537/166 1030/1693/165 1031/1542/172 +f 1001/1546/152 1032/1558/168 1017/1547/10 +f 1017/1549/10 1031/1694/172 1002/1550/148 +f 1002/1550/148 1031/1694/172 1030/1552/165 +f 1003/1553/151 1030/1552/165 1036/1536/170 +f 1004/1503/147 1036/1536/170 1035/1538/173 +f 1006/1502/150 1005/1554/174 1035/1538/173 +f 1006/1502/150 1034/1555/167 1033/1556/171 +f 1000/1557/146 1033/1556/171 1032/1558/168 +f 1052/1559/135 1045/1574/141 1037/1560/5 +f 1042/1562/25 1050/1578/136 1051/1563/139 +f 1048/1565/137 1049/1571/140 1041/1566/2 +f 1038/1568/17 1046/1695/138 1047/1569/12 +f 1051/1563/139 1052/1559/135 1044/1561/35 +f 1049/1571/140 1050/1578/136 1042/1562/25 +f 1047/1572/12 1048/1565/137 1040/1567/48 +f 1045/1574/141 1046/1695/138 1038/1568/17 +f 1051/1563/139 1058/1582/8 1059/1575/142 +f 1049/1576/140 1056/1584/149 1057/1577/143 +f 1053/1579/144 1054/1591/153 1046/1580/138 +f 1052/1559/135 1059/1575/142 1053/1579/144 +f 1050/1578/136 1057/1577/143 1058/1582/8 +f 1048/1583/137 1055/1588/145 1056/1584/149 +f 1059/1575/142 1066/1589/150 1060/1585/146 +f 1064/1586/147 1065/1637/174 1058/1582/8 +f 1062/1587/148 1063/1590/151 1056/1584/149 +f 1058/1582/8 1065/1637/174 1066/1589/150 +f 1063/1590/151 1064/1586/147 1057/1577/143 +f 1060/1585/146 1061/1593/152 1054/1591/153 +f 1082/1595/154 1075/1696/162 1067/1596/2 +f 1080/1598/155 1081/1607/158 1073/1599/6 +f 1078/1601/156 1079/1608/159 1071/1602/5 +f 1076/1604/157 1077/1697/10 1069/1605/1 +f 1081/1607/158 1082/1595/154 1074/1597/48 +f 1079/1608/159 1080/1598/155 1072/1600/17 +f 1069/1609/1 1077/1698/10 1078/1601/156 +f 1067/1596/2 1075/1696/162 1076/1604/157 +f 1081/1607/158 1088/1622/14 1089/1610/160 +f 1086/1611/164 1087/1616/161 1080/1598/155 +f 1075/1613/162 1083/1620/166 1084/1614/163 +f 1089/1610/160 1083/1620/166 1075/1613/162 +f 1087/1616/161 1088/1622/14 1081/1607/158 +f 1085/1617/169 1086/1611/164 1079/1612/159 +f 1089/1610/160 1096/1624/170 1090/1619/165 +f 1094/1621/167 1095/1636/173 1088/1622/14 +f 1092/1623/168 1093/1699/171 1086/1611/164 +f 1088/1622/14 1095/1636/173 1096/1624/170 +f 1086/1611/164 1093/1699/171 1094/1621/167 +f 1090/1619/165 1091/1626/172 1084/1614/163 +f 1061/1628/152 1092/1640/168 1077/1629/10 +f 1077/1631/10 1091/1700/172 1062/1632/148 +f 1062/1632/148 1091/1700/172 1090/1634/165 +f 1063/1635/151 1090/1634/165 1096/1624/170 +f 1064/1586/147 1096/1624/170 1095/1636/173 +f 1065/1637/174 1095/1636/173 1094/1621/167 +f 1066/1589/150 1094/1621/167 1093/1638/171 +f 1060/1639/146 1093/1638/171 1092/1640/168 diff --git a/src/main/resources/assets/hbm/models/machines/pyrooven.obj b/src/main/resources/assets/hbm/models/machines/pyrooven.obj new file mode 100644 index 000000000..31300255a --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/pyrooven.obj @@ -0,0 +1,3366 @@ +# Blender v2.79 (sub 0) OBJ File: 'pyrooven.blend' +# www.blender.org +o Fan +v 1.500000 1.500000 1.375000 +v 1.391747 1.500000 1.437500 +v 1.391747 1.500000 1.562500 +v 1.500000 1.500000 1.625000 +v 1.608253 1.500000 1.562500 +v 1.608253 1.500000 1.437500 +v 1.500000 1.625000 1.375000 +v 1.391747 1.625000 1.437500 +v 1.391747 1.625000 1.562500 +v 1.500000 1.625000 1.625000 +v 1.608253 1.625000 1.562500 +v 1.608253 1.625000 1.437500 +v 1.608253 1.546324 1.560370 +v 1.608253 1.578676 1.439630 +v 2.041266 1.501839 1.726389 +v 2.041266 1.623161 1.273611 +v 1.498156 1.546324 1.376065 +v 1.393591 1.578676 1.436435 +v 1.425426 1.501839 0.918055 +v 1.033309 1.623161 1.144444 +v 1.393591 1.546324 1.563565 +v 1.498156 1.578676 1.623935 +v 1.033309 1.501839 1.855556 +v 1.425426 1.623161 2.081945 +vt 0.508475 0.829545 +vt 0.514124 0.818182 +vt 0.514124 0.829545 +vt 0.485876 0.829545 +vt 0.491525 0.818182 +vt 0.491525 0.829545 +vt 0.497175 0.829545 +vt 0.502825 0.818182 +vt 0.502825 0.829545 +vt 0.519774 0.818182 +vt 0.519774 0.829545 +vt 0.497175 0.818182 +vt 0.508475 0.818182 +vt 0.511326 0.831160 +vt 0.516923 0.831160 +vt 0.519721 0.840909 +vt 0.485876 0.829545 +vt 0.500000 0.869318 +vt 0.494350 0.869318 +vt 0.485876 0.829545 +vt 0.500000 0.869318 +vt 0.494350 0.869318 +vt 0.494350 0.869318 +vt 0.508475 0.829545 +vt 0.500000 0.869318 +vt 0.485876 0.818182 +vt 0.516923 0.850659 +vt 0.511326 0.850659 +vt 0.508527 0.840909 +vt 0.508475 0.829545 +vt 0.508475 0.829545 +vt 0.485876 0.829545 +vn 0.5000 0.0000 -0.8660 +vn 0.5000 0.0000 0.8660 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.5000 0.0000 0.8660 +vn -0.5000 0.0000 -0.8660 +vn 0.0000 1.0000 0.0000 +vn -0.0000 0.9659 0.2588 +vn 0.2241 0.9659 -0.1294 +vn -0.2241 0.9659 -0.1294 +s off +f 1/1/1 12/2/1 6/3/1 +f 5/4/2 10/5/2 4/6/2 +f 3/7/3 8/8/3 2/9/3 +f 6/3/4 11/10/4 5/11/4 +f 4/6/5 9/12/5 3/7/5 +f 2/9/6 7/13/6 1/1/6 +f 11/14/7 12/15/7 7/16/7 +f 15/17/8 14/18/8 13/19/8 +f 19/20/9 18/21/9 17/22/9 +f 21/23/10 24/24/10 22/25/10 +f 1/1/1 7/13/1 12/2/1 +f 5/4/2 11/26/2 10/5/2 +f 3/7/3 9/12/3 8/8/3 +f 6/3/4 12/2/4 11/10/4 +f 4/6/5 10/5/5 9/12/5 +f 2/9/6 8/8/6 7/13/6 +f 7/16/7 8/27/7 9/28/7 +f 9/28/7 10/29/7 7/16/7 +f 10/29/7 11/14/7 7/16/7 +f 15/17/8 16/30/8 14/18/8 +f 19/20/9 20/31/9 18/21/9 +f 21/23/10 23/32/10 24/24/10 +o Slider +v 2.250000 1.250000 0.250000 +v 2.250000 1.250000 -0.250000 +v 1.750000 1.250000 0.250000 +v 1.750000 1.250000 -0.250000 +v 2.250000 1.625000 0.250000 +v 2.250000 1.625000 -0.250000 +v 1.750000 1.625000 0.250000 +v 1.750000 1.625000 -0.250000 +vt 0.361582 0.806818 +vt 0.378531 0.852273 +vt 0.361582 0.852273 +vt 0.378531 0.886364 +vt 0.401130 0.852273 +vt 0.401130 0.886364 +vt 0.418079 0.852273 +vt 0.401130 0.806818 +vt 0.418079 0.806818 +vt 0.378531 0.772727 +vt 0.401130 0.772727 +vt 0.378531 0.806818 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 25/33/11 31/34/11 27/35/11 +f 27/36/12 32/37/12 28/38/12 +f 28/39/13 30/40/13 26/41/13 +f 30/40/14 25/42/14 26/43/14 +f 32/37/15 29/44/15 30/40/15 +f 25/33/11 29/44/11 31/34/11 +f 27/36/12 31/34/12 32/37/12 +f 28/39/13 32/37/13 30/40/13 +f 30/40/14 29/44/14 25/42/14 +f 32/37/15 31/34/15 29/44/15 +o Oven +v -2.500000 0.000000 3.500000 +v 2.500000 0.000000 3.500000 +v -2.500000 0.000000 -3.500000 +v 2.500000 0.000000 -3.500000 +v -2.500000 0.500000 3.500000 +v 2.500000 0.500000 3.500000 +v -2.500000 0.500000 -3.500000 +v 2.500000 0.500000 -3.500000 +v -2.375000 0.500000 3.375000 +v 0.375000 0.500000 3.375000 +v -2.375000 0.500000 2.875000 +v 0.375000 0.500000 2.875000 +v -2.375000 2.500000 2.875000 +v -2.375000 2.500000 3.375000 +v 0.375000 2.500000 3.375000 +v 0.375000 2.500000 2.875000 +v -1.625000 3.000000 2.875000 +v -1.625000 3.000000 3.375000 +v -0.375000 3.000000 3.375000 +v -0.375000 3.000000 2.875000 +v -2.375000 0.500000 -2.875000 +v 0.375000 0.500000 -2.875000 +v -2.375000 0.500000 -3.375000 +v 0.375000 0.500000 -3.375000 +v -2.375000 2.500000 -3.375000 +v -2.375000 2.500000 -2.875000 +v 0.375000 2.500000 -2.875000 +v 0.375000 2.500000 -3.375000 +v -1.625000 3.000000 -3.375000 +v -1.625000 3.000000 -2.875000 +v -0.375000 3.000000 -2.875000 +v -0.375000 3.000000 -3.375000 +v -2.375000 0.500000 -1.375000 +v 0.375000 0.500000 -1.375000 +v -2.375000 0.500000 -1.875000 +v 0.375000 0.500000 -1.875000 +v -2.375000 2.500000 -1.875000 +v -2.375000 2.500000 -1.375000 +v 0.375000 2.500000 -1.375000 +v 0.375000 2.500000 -1.875000 +v -1.625000 3.000000 -1.875000 +v -1.625000 3.000000 -1.375000 +v -0.375000 3.000000 -1.375000 +v -0.375000 3.000000 -1.875000 +v -2.375000 0.500000 1.875000 +v 0.375000 0.500000 1.875000 +v -2.375000 0.500000 1.375000 +v 0.375000 0.500000 1.375000 +v -2.375000 2.500000 1.375000 +v -2.375000 2.500000 1.875000 +v 0.375000 2.500000 1.875000 +v 0.375000 2.500000 1.375000 +v -1.625000 3.000000 1.375000 +v -1.625000 3.000000 1.875000 +v -0.375000 3.000000 1.875000 +v -0.375000 3.000000 1.375000 +v 0.250000 0.500000 -1.375000 +v 0.250000 0.500000 1.375000 +v 0.250000 2.375000 -1.375000 +v 0.250000 2.375000 1.375000 +v -0.500000 2.875000 -1.375000 +v -0.500000 2.875000 1.375000 +v -1.500000 2.875000 -1.375000 +v -1.500000 2.875000 1.375000 +v -2.250000 2.375000 -1.375000 +v -2.250000 2.375000 1.375000 +v -2.250000 0.500000 -1.375000 +v -2.250000 0.500000 1.375000 +v 0.250000 0.500000 1.875000 +v 0.250000 2.375000 1.875000 +v -0.500000 2.875000 1.875000 +v -1.500000 2.875000 1.875000 +v -2.250000 2.375000 1.875000 +v -2.250000 0.500000 1.875000 +v 0.250000 0.500000 2.875000 +v 0.250000 2.375000 2.875000 +v -0.500000 2.875000 2.875000 +v -1.500000 2.875000 2.875000 +v -2.250000 2.375000 2.875000 +v -2.250000 0.500000 2.875000 +v 0.250000 0.500000 -2.875000 +v 0.250000 2.375000 -2.875000 +v -0.500000 2.875000 -2.875000 +v -1.500000 2.875000 -2.875000 +v -2.250000 2.375000 -2.875000 +v -2.250000 0.500000 -2.875000 +v 0.250000 0.500000 -1.875000 +v 0.250000 2.375000 -1.875000 +v -0.500000 2.875000 -1.875000 +v -1.500000 2.875000 -1.875000 +v -2.250000 2.375000 -1.875000 +v -2.250000 0.500000 -1.875000 +v -1.000000 2.625000 3.375000 +v -1.500000 2.491026 3.375000 +v -1.866025 2.125000 3.375000 +v -2.000000 1.625000 3.375000 +v -1.866025 1.125000 3.375000 +v -1.500000 0.758975 3.375000 +v -1.000000 0.625000 3.375000 +v -0.500000 0.758975 3.375000 +v -0.133975 1.125000 3.375000 +v 0.000000 1.625000 3.375000 +v -0.133975 2.125000 3.375000 +v -0.500000 2.491025 3.375000 +v -1.000000 2.625000 3.500000 +v -1.500000 2.491026 3.500000 +v -1.866025 2.125000 3.500000 +v -2.000000 1.625000 3.500000 +v -1.866025 1.125000 3.500000 +v -1.500000 0.758975 3.500000 +v -1.000000 0.625000 3.500000 +v -0.500000 0.758975 3.500000 +v -0.133975 1.125000 3.500000 +v 0.000000 1.625000 3.500000 +v -0.133975 2.125000 3.500000 +v -0.500000 2.491025 3.500000 +v -1.500001 2.491025 -3.500000 +v -1.866026 2.125000 -3.500000 +v -2.000000 1.625000 -3.500000 +v -1.866025 1.125000 -3.500000 +v -1.500000 0.758975 -3.500000 +v -1.000000 0.625000 -3.500000 +v -0.500000 0.758975 -3.500000 +v -0.133975 1.125000 -3.500000 +v -0.000000 1.625000 -3.500000 +v -0.133975 2.125000 -3.500000 +v -0.500000 2.491026 -3.500000 +v -1.000000 2.625000 -3.500000 +v -1.500001 2.491025 -3.375000 +v -1.866026 2.125000 -3.375000 +v -2.000000 1.625000 -3.375000 +v -1.866025 1.125000 -3.375000 +v -1.500000 0.758975 -3.375000 +v -1.000000 0.625000 -3.375000 +v -0.500000 0.758975 -3.375000 +v -0.133975 1.125000 -3.375000 +v -0.000000 1.625000 -3.375000 +v -0.133975 2.125000 -3.375000 +v -0.500000 2.491026 -3.375000 +v -1.000000 2.625000 -3.375000 +v -0.625000 2.875000 2.000000 +v -1.375000 2.875000 2.000000 +v -0.625000 2.875000 2.750000 +v -1.375000 2.875000 2.750000 +v -1.312500 3.125000 2.062500 +v -0.687500 3.125000 2.062500 +v -1.312500 3.125000 2.687500 +v -0.687500 3.125000 2.687500 +v -1.375000 3.125000 2.000000 +v -0.625000 3.125000 2.000000 +v -1.375000 3.125000 2.750000 +v -0.625000 3.125000 2.750000 +v -1.312500 3.000000 2.062500 +v -0.687500 3.000000 2.062500 +v -1.312500 3.000000 2.687500 +v -0.687500 3.000000 2.687500 +v -1.312500 3.062500 2.062500 +v -0.687500 3.062500 2.062500 +v -1.312500 3.062500 2.687500 +v -0.687500 3.062500 2.687500 +v -0.625000 2.875000 -2.750000 +v -1.375000 2.875000 -2.750000 +v -0.625000 2.875000 -2.000000 +v -1.375000 2.875000 -2.000000 +v -1.312500 3.125000 -2.687500 +v -0.687500 3.125000 -2.687500 +v -1.312500 3.125000 -2.062500 +v -0.687500 3.125000 -2.062500 +v -1.375000 3.125000 -2.750000 +v -0.625000 3.125000 -2.750000 +v -1.375000 3.125000 -2.000000 +v -0.625000 3.125000 -2.000000 +v -1.312500 3.000000 -2.687500 +v -0.687500 3.000000 -2.687500 +v -1.312500 3.000000 -2.062500 +v -0.687500 3.000000 -2.062500 +v -1.312500 3.062500 -2.687500 +v -0.687500 3.062500 -2.687500 +v -1.312500 3.062500 -2.062500 +v -0.687500 3.062500 -2.062500 +v -0.625000 2.875000 -1.250000 +v -1.375000 2.875000 -1.250000 +v -0.625000 2.875000 -0.500000 +v -1.375000 2.875000 -0.500000 +v -1.312500 3.125000 -1.187500 +v -0.687500 3.125000 -1.187500 +v -1.312500 3.125000 -0.562500 +v -0.687500 3.125000 -0.562500 +v -1.375000 3.125000 -1.250000 +v -0.625000 3.125000 -1.250000 +v -1.375000 3.125000 -0.500000 +v -0.625000 3.125000 -0.500000 +v -1.312500 3.000000 -1.187500 +v -0.687500 3.000000 -1.187500 +v -1.312500 3.000000 -0.562500 +v -0.687500 3.000000 -0.562500 +v -1.312500 3.062500 -1.187500 +v -0.687500 3.062500 -1.187500 +v -1.312500 3.062500 -0.562500 +v -0.687500 3.062500 -0.562500 +v -0.625000 2.875000 0.500000 +v -1.375000 2.875000 0.500000 +v -0.625000 2.875000 1.250000 +v -1.375000 2.875000 1.250000 +v -1.312500 3.125000 0.562500 +v -0.687500 3.125000 0.562500 +v -1.312500 3.125000 1.187500 +v -0.687500 3.125000 1.187500 +v -1.375000 3.125000 0.500000 +v -0.625000 3.125000 0.500000 +v -1.375000 3.125000 1.250000 +v -0.625000 3.125000 1.250000 +v -1.312500 3.000000 0.562500 +v -0.687500 3.000000 0.562500 +v -1.312500 3.000000 1.187500 +v -0.687500 3.000000 1.187500 +v -1.312500 3.062500 0.562500 +v -0.687500 3.062500 0.562500 +v -1.312500 3.062500 1.187500 +v -0.687500 3.062500 1.187500 +v 0.875000 1.750000 2.125000 +v 2.125000 1.750000 2.125000 +v 0.875000 1.750000 0.875000 +v 2.125000 1.750000 0.875000 +v 2.250000 1.500000 0.750000 +v 0.750000 1.500000 0.750000 +v 2.250000 1.500000 2.250000 +v 0.750000 1.500000 2.250000 +v 0.500000 0.500000 -0.500000 +v 2.500000 0.500000 -0.500000 +v 0.500000 0.500000 -2.500000 +v 2.500000 0.500000 -2.500000 +v 2.500000 1.500000 -2.500000 +v 0.500000 1.500000 -2.500000 +v 2.500000 1.500000 -0.500000 +v 0.500000 1.500000 -0.500000 +v 0.500000 1.500000 2.500000 +v 2.500000 1.500000 2.500000 +v 0.500000 1.500000 0.500000 +v 2.500000 1.500000 0.500000 +v 2.500000 0.500000 0.500000 +v 0.500000 0.500000 0.500000 +v 2.500000 0.500000 2.500000 +v 0.500000 0.500000 2.500000 +v 0.750000 1.750000 0.750000 +v 0.750000 1.750000 2.250000 +v 2.250000 1.750000 2.250000 +v 2.250000 1.750000 0.750000 +v 0.875000 1.500000 0.875000 +v 0.875000 1.500000 2.125000 +v 2.125000 1.500000 2.125000 +v 2.125000 1.500000 0.875000 +v -1.375000 3.000000 0.125000 +v -1.125000 3.000000 0.375000 +v -0.875000 3.000000 0.375000 +v -0.625000 3.000000 0.125000 +v -1.125000 3.000000 -0.375000 +v -1.375000 3.000000 -0.125000 +v -0.625000 3.000000 -0.125000 +v -0.875000 3.000000 -0.375000 +v -1.375000 2.875000 -0.125000 +v -1.125000 2.875000 -0.375000 +v -1.125000 2.875000 0.375000 +v -1.375000 2.875000 0.125000 +v -0.625000 2.875000 0.125000 +v -0.875000 2.875000 0.375000 +v -0.875000 2.875000 -0.375000 +v -0.625000 2.875000 -0.125000 +v 0.875000 1.687500 2.125000 +v 2.125000 1.687500 2.125000 +v 0.875000 1.687500 0.875000 +v 2.125000 1.687500 0.875000 +v 1.176777 2.801777 -0.823223 +v 0.875000 2.801777 -0.698223 +v 0.875000 2.625000 -0.625000 +v 0.875000 2.448223 -0.698223 +v 0.875000 2.375000 -0.875000 +v 0.875000 2.448223 -1.051777 +v 0.875000 2.801777 -1.051777 +v 0.875000 2.875000 -0.875000 +v 0.875000 2.000000 -1.500000 +v 0.948223 2.000000 -1.323223 +v 1.125000 2.000000 -1.250000 +v 1.301777 2.000000 -1.323223 +v 1.375000 2.000000 -1.500000 +v 1.301777 2.000000 -1.676777 +v 1.125000 2.000000 -1.750000 +v 0.948223 2.000000 -1.676777 +v 0.948223 2.375000 -1.676777 +v 1.125000 2.375000 -1.750000 +v 1.301777 2.375000 -1.676777 +v 1.375000 2.375000 -1.500000 +v 1.301777 2.375000 -1.323223 +v 1.125000 2.375000 -1.250000 +v 0.948223 2.375000 -1.323223 +v 0.875000 2.375000 -1.500000 +v 0.875000 2.551777 -1.426777 +v 0.948223 2.426777 -1.301777 +v 1.301777 2.426777 -1.301777 +v 1.375000 2.551777 -1.426777 +v 1.301777 2.676777 -1.551777 +v 1.125000 2.728553 -1.603553 +v 2.250000 2.000000 -2.250000 +v 0.750000 2.000000 -2.250000 +v 2.250000 2.000000 -0.750000 +v 0.750000 2.000000 -0.750000 +v 0.750000 1.500000 -0.750000 +v 2.250000 1.500000 -0.750000 +v 0.750000 1.500000 -2.250000 +v 2.250000 1.500000 -2.250000 +v 0.500000 0.500000 0.250000 +v 2.500000 0.500000 0.250000 +v 0.500000 0.500000 -0.250000 +v 2.500000 0.500000 -0.250000 +v 0.500000 1.250000 -0.250000 +v 0.500000 1.250000 0.250000 +v 2.500000 1.250000 0.250000 +v 2.500000 1.250000 -0.250000 +v 0.625000 1.250000 -0.031250 +v 0.625000 1.250000 0.031250 +v 2.375000 1.250000 0.031250 +v 2.375000 1.250000 -0.031250 +v 0.625000 1.500000 -0.031250 +v 0.625000 1.500000 0.031250 +v 2.375000 1.500000 0.031250 +v 2.375000 1.500000 -0.031250 +v 0.625000 1.250000 -0.125000 +v 0.625000 1.250000 -0.062500 +v 2.375000 1.250000 -0.062500 +v 2.375000 1.250000 -0.125000 +v 0.625000 1.500000 -0.125000 +v 0.625000 1.500000 -0.062500 +v 2.375000 1.500000 -0.062500 +v 2.375000 1.500000 -0.125000 +v 0.625000 1.250000 0.062500 +v 0.625000 1.250000 0.125000 +v 2.375000 1.250000 0.125000 +v 2.375000 1.250000 0.062500 +v 0.625000 1.500000 0.062500 +v 0.625000 1.500000 0.125000 +v 2.375000 1.500000 0.125000 +v 2.375000 1.500000 0.062500 +v 0.625000 1.250000 -0.218750 +v 0.625000 1.250000 -0.156250 +v 2.375000 1.250000 -0.156250 +v 2.375000 1.250000 -0.218750 +v 0.625000 1.500000 -0.218750 +v 0.625000 1.500000 -0.156250 +v 2.375000 1.500000 -0.156250 +v 2.375000 1.500000 -0.218750 +v 0.625000 1.250000 0.156250 +v 0.625000 1.250000 0.218750 +v 2.375000 1.250000 0.218750 +v 2.375000 1.250000 0.156250 +v 0.625000 1.500000 0.156250 +v 0.625000 1.500000 0.218750 +v 2.375000 1.500000 0.218750 +v 2.375000 1.500000 0.156250 +v 1.500000 1.125000 0.500000 +v 1.323223 1.051777 0.500000 +v 1.250000 0.875000 0.500000 +v 1.323223 0.698223 0.500000 +v 1.500000 0.625000 0.500000 +v 1.676777 0.698223 0.500000 +v 1.750000 0.875000 0.500000 +v 1.676777 1.051777 0.500000 +v 1.500000 1.125000 -0.500000 +v 1.323223 1.051777 -0.500000 +v 1.250000 0.875000 -0.500000 +v 1.323223 0.698223 -0.500000 +v 1.500000 0.625000 -0.500000 +v 1.676777 0.698223 -0.500000 +v 1.750000 0.875000 -0.500000 +v 1.676777 1.051777 -0.500000 +v 2.125000 1.125000 0.500000 +v 1.948223 1.051777 0.500000 +v 1.875000 0.875000 0.500000 +v 1.948223 0.698223 0.500000 +v 2.125000 0.625000 0.500000 +v 2.301777 0.698223 0.500000 +v 2.375000 0.875000 0.500000 +v 2.301777 1.051777 0.500000 +v 2.125000 1.125000 -0.500000 +v 1.948223 1.051777 -0.500000 +v 1.875000 0.875000 -0.500000 +v 1.948223 0.698223 -0.500000 +v 2.125000 0.625000 -0.500000 +v 2.301777 0.698223 -0.500000 +v 2.375000 0.875000 -0.500000 +v 2.301777 1.051777 -0.500000 +v 0.875000 1.125000 0.500000 +v 0.698223 1.051777 0.500000 +v 0.625000 0.875000 0.500000 +v 0.698223 0.698223 0.500000 +v 0.875000 0.625000 0.500000 +v 1.051777 0.698223 0.500000 +v 1.125000 0.875000 0.500000 +v 1.051777 1.051777 0.500000 +v 0.875000 1.125000 -0.500000 +v 0.698223 1.051777 -0.500000 +v 0.625000 0.875000 -0.500000 +v 0.698223 0.698223 -0.500000 +v 0.875000 0.625000 -0.500000 +v 1.051777 0.698223 -0.500000 +v 1.125000 0.875000 -0.500000 +v 1.051777 1.051777 -0.500000 +v 1.429917 1.382583 2.500000 +v 1.562500 1.437500 2.500000 +v 1.695083 1.382583 2.500000 +v 1.750000 1.250000 2.500000 +v 1.695083 1.117417 2.500000 +v 1.562500 1.062500 2.500000 +v 1.429917 1.117417 2.500000 +v 1.413833 1.117417 2.538833 +v 1.507583 1.062500 2.632582 +v 1.601333 1.117417 2.726332 +v 1.640165 1.250000 2.765165 +v 1.601333 1.382583 2.726332 +v 1.507583 1.437500 2.632582 +v 1.413833 1.382583 2.538833 +v 1.375000 1.250000 2.500000 +v 1.375000 1.382583 2.554918 +v 1.375000 1.437500 2.687500 +v 1.375000 1.382583 2.820082 +v 1.375000 1.250000 2.875000 +v 1.375000 1.117417 2.820082 +v 1.375000 1.062500 2.687500 +v 1.375000 1.117417 2.554918 +v 0.250000 1.117417 2.554918 +v 0.250000 1.062500 2.687500 +v 0.250000 1.117417 2.820082 +v 0.250000 1.250000 2.875000 +v 0.250000 1.382583 2.820082 +v 0.250000 1.437500 2.687500 +v 0.250000 1.382583 2.554918 +v 0.250000 1.250000 2.500000 +v 0.375000 1.250000 2.937500 +v 0.375000 1.382583 2.992418 +v 0.375000 1.437500 3.125000 +v 0.375000 1.382583 3.257582 +v 0.375000 1.250000 3.312500 +v 0.375000 1.117417 3.257582 +v 0.375000 1.062500 3.125000 +v 0.375000 1.117417 2.992418 +v 1.875000 1.117417 2.992418 +v 1.875000 1.062500 3.125000 +v 1.875000 1.117417 3.257582 +v 1.875000 1.250000 3.312500 +v 1.875000 1.382583 3.257582 +v 1.875000 1.437500 3.125000 +v 1.875000 1.382583 2.992418 +v 1.875000 1.250000 2.937500 +v 1.913833 1.382583 2.976333 +v 2.007583 1.437500 3.070082 +v 2.101333 1.382583 3.163832 +v 2.140165 1.250000 3.202665 +v 2.101333 1.117417 3.163832 +v 2.007583 1.062500 3.070082 +v 1.913833 1.117417 2.976333 +v 1.929917 1.117417 2.937500 +v 2.062500 1.062500 2.937500 +v 2.195083 1.117417 2.937500 +v 2.250000 1.250000 2.937500 +v 2.195083 1.382583 2.937500 +v 2.062500 1.437500 2.937500 +v 1.929917 1.382583 2.937500 +v 1.929917 1.382583 2.500000 +v 2.062500 1.437500 2.500000 +v 2.195083 1.382583 2.500000 +v 2.250000 1.250000 2.500000 +v 2.195083 1.117417 2.500000 +v 2.062500 1.062500 2.500000 +v 1.929917 1.117417 2.500000 +v 1.875000 1.250000 2.500000 +v 0.948223 2.676777 -1.551777 +v 0.948223 2.801777 -1.250000 +v 1.125000 2.875000 -1.250000 +v 1.301777 2.801777 -1.250000 +v 1.375000 2.625000 -1.250000 +v 1.301777 2.448223 -1.250000 +v 0.948223 2.448223 -1.250000 +v 0.875000 2.625000 -1.250000 +v 1.625000 2.625000 -1.250000 +v 1.698223 2.448223 -1.250000 +v 2.051777 2.448223 -1.250000 +v 2.125000 2.625000 -1.250000 +v 2.051777 2.801777 -1.250000 +v 1.875000 2.875000 -1.250000 +v 1.698223 2.801777 -1.250000 +v 1.698223 2.676777 -1.551777 +v 1.875000 2.728553 -1.603553 +v 2.051777 2.676777 -1.551777 +v 2.125000 2.551777 -1.426777 +v 2.051777 2.426777 -1.301777 +v 1.698223 2.426777 -1.301777 +v 1.625000 2.551777 -1.426777 +v 1.625000 2.375000 -1.500000 +v 1.698223 2.375000 -1.323223 +v 1.875000 2.375000 -1.250000 +v 2.051777 2.375000 -1.323223 +v 2.125000 2.375000 -1.500000 +v 2.051777 2.375000 -1.676777 +v 1.875000 2.375000 -1.750000 +v 1.698223 2.375000 -1.676777 +v 1.698223 2.000000 -1.676777 +v 1.875000 2.000000 -1.750000 +v 2.051777 2.000000 -1.676777 +v 2.125000 2.000000 -1.500000 +v 2.051777 2.000000 -1.323223 +v 1.875000 2.000000 -1.250000 +v 1.698223 2.000000 -1.323223 +v 1.625000 2.000000 -1.500000 +v 1.625000 2.875000 0.875000 +v 1.625000 2.801777 0.698223 +v 1.625000 2.448223 0.698223 +v 1.625000 2.375000 0.875000 +v 1.625000 2.448223 1.051777 +v 1.625000 2.625000 1.125000 +v 1.625000 2.801777 1.051777 +v 1.926777 2.801777 0.926777 +v 1.978553 2.625000 0.978553 +v 1.926777 2.448223 0.926777 +v 1.801777 2.375000 0.801777 +v 1.676777 2.448223 0.676777 +v 1.676777 2.801777 0.676777 +v 1.801777 2.875000 0.801777 +v 1.875000 2.875000 0.625000 +v 1.698223 2.801777 0.625000 +v 1.625000 2.625000 0.625000 +v 1.698223 2.448223 0.625000 +v 1.875000 2.375000 0.625000 +v 2.051777 2.448223 0.625000 +v 2.125000 2.625000 0.625000 +v 2.051777 2.801777 0.625000 +v 0.948223 2.801777 -1.125000 +v 1.125000 2.875000 -1.125000 +v 1.051777 2.875000 -0.948223 +v 0.926777 2.801777 -1.073223 +v 0.926777 2.448223 -1.073223 +v 1.051777 2.375000 -0.948223 +v 1.176777 2.448223 -0.823223 +v 1.228553 2.625000 -0.771447 +v -0.500000 2.875000 0.875000 +v -0.500000 2.801777 0.698223 +v -0.500000 2.448223 0.698223 +v -0.500000 2.375000 0.875000 +v -0.500000 2.448223 1.051777 +v -0.500000 2.625000 1.125000 +v -0.500000 2.801777 1.051777 +v -0.500000 2.625000 0.625000 +v 0.875000 2.625000 -1.125000 +v 0.948223 2.448223 -1.125000 +v 1.125000 2.375000 -1.125000 +v 1.301777 2.448223 -1.125000 +v 1.375000 2.625000 -1.125000 +v 1.301777 2.801777 -1.125000 +v -0.500000 2.875000 -0.875000 +v -0.500000 2.801777 -1.051777 +v -0.500000 2.448223 -1.051777 +v -0.500000 2.375000 -0.875000 +v -0.500000 2.448223 -0.698223 +v -0.500000 2.625000 -0.625000 +v -0.500000 2.801777 -0.698223 +v -0.500000 2.625000 -1.125000 +v 2.000000 2.000000 -2.250000 +v 2.000000 2.000000 -0.750000 +v 2.000000 1.500000 -0.750000 +v 2.000000 1.500000 -2.250000 +v 2.000000 2.125000 -2.250000 +v 2.000000 2.125000 -0.750000 +v 2.000000 2.000000 -0.625000 +v 2.000000 1.500000 -0.625000 +v 2.000000 2.000000 -2.375000 +v 2.000000 1.500000 -2.375000 +v 1.750000 2.000000 -2.250000 +v 1.750000 1.500000 -2.250000 +v 1.750000 2.000000 -0.750000 +v 1.750000 1.500000 -0.750000 +v 1.750000 2.125000 -0.750000 +v 1.750000 2.125000 -2.250000 +v 1.750000 2.000000 -0.625000 +v 1.750000 1.500000 -0.625000 +v 1.750000 2.000000 -2.375000 +v 1.750000 1.500000 -2.375000 +v 1.250000 2.000000 -2.250000 +v 1.250000 2.000000 -0.750000 +v 1.250000 1.500000 -0.750000 +v 1.250000 1.500000 -2.250000 +v 1.250000 2.125000 -2.250000 +v 1.250000 2.125000 -0.750000 +v 1.250000 2.000000 -0.625000 +v 1.250000 1.500000 -0.625000 +v 1.250000 2.000000 -2.375000 +v 1.250000 1.500000 -2.375000 +v 1.000000 2.000000 -2.250000 +v 1.000000 1.500000 -2.250000 +v 1.000000 2.000000 -0.750000 +v 1.000000 1.500000 -0.750000 +v 1.000000 2.125000 -0.750000 +v 1.000000 2.125000 -2.250000 +v 1.000000 2.000000 -0.625000 +v 1.000000 1.500000 -0.625000 +v 1.000000 2.000000 -2.375000 +v 1.000000 1.500000 -2.375000 +v 1.429917 0.882583 2.500000 +v 1.562500 0.937500 2.500000 +v 1.695083 0.882583 2.500000 +v 1.750000 0.750000 2.500000 +v 1.695083 0.617417 2.500000 +v 1.562500 0.562500 2.500000 +v 1.429917 0.617417 2.500000 +v 1.413833 0.617417 2.538833 +v 1.507583 0.562500 2.632582 +v 1.601333 0.617417 2.726332 +v 1.640165 0.750000 2.765165 +v 1.601333 0.882583 2.726332 +v 1.507583 0.937500 2.632582 +v 1.413833 0.882583 2.538833 +v 1.375000 0.750000 2.500000 +v 1.375000 0.882583 2.554918 +v 1.375000 0.937500 2.687500 +v 1.375000 0.882583 2.820082 +v 1.375000 0.750000 2.875000 +v 1.375000 0.617417 2.820082 +v 1.375000 0.562500 2.687500 +v 1.375000 0.617417 2.554918 +v 0.250000 0.617417 2.554918 +v 0.250000 0.562500 2.687500 +v 0.250000 0.617417 2.820082 +v 0.250000 0.750000 2.875000 +v 0.250000 0.882583 2.820082 +v 0.250000 0.937500 2.687500 +v 0.250000 0.882583 2.554918 +v 0.250000 0.750000 2.500000 +v 0.375000 0.750000 2.937500 +v 0.375000 0.882583 2.992418 +v 0.375000 0.937500 3.125000 +v 0.375000 0.882583 3.257582 +v 0.375000 0.750000 3.312500 +v 0.375000 0.617417 3.257582 +v 0.375000 0.562500 3.125000 +v 0.375000 0.617417 2.992418 +v 1.875000 0.617417 2.992418 +v 1.875000 0.562500 3.125000 +v 1.875000 0.617417 3.257582 +v 1.875000 0.750000 3.312500 +v 1.875000 0.882583 3.257582 +v 1.875000 0.937500 3.125000 +v 1.875000 0.882583 2.992418 +v 1.875000 0.750000 2.937500 +v 1.913833 0.882583 2.976333 +v 2.007583 0.937500 3.070082 +v 2.101333 0.882583 3.163832 +v 2.140165 0.750000 3.202665 +v 2.101333 0.617417 3.163832 +v 2.007583 0.562500 3.070082 +v 1.913833 0.617417 2.976333 +v 1.929917 0.617417 2.937500 +v 2.062500 0.562500 2.937500 +v 2.195083 0.617417 2.937500 +v 2.250000 0.750000 2.937500 +v 2.195083 0.882583 2.937500 +v 2.062500 0.937500 2.937500 +v 1.929917 0.882583 2.937500 +v 1.929917 0.882583 2.500000 +v 2.062500 0.937500 2.500000 +v 2.195083 0.882583 2.500000 +v 2.250000 0.750000 2.500000 +v 2.195083 0.617417 2.500000 +v 2.062500 0.562500 2.500000 +v 1.929917 0.617417 2.500000 +v 1.875000 0.750000 2.500000 +v 1.429917 1.382583 -2.500000 +v 1.562500 1.437500 -2.500000 +v 1.695083 1.382583 -2.500000 +v 1.750000 1.250000 -2.500000 +v 1.695083 1.117417 -2.500000 +v 1.562500 1.062500 -2.500000 +v 1.429917 1.117417 -2.500000 +v 1.413833 1.117417 -2.538833 +v 1.507583 1.062500 -2.632582 +v 1.601333 1.117417 -2.726332 +v 1.640165 1.250000 -2.765165 +v 1.601333 1.382583 -2.726332 +v 1.507583 1.437500 -2.632582 +v 1.413833 1.382583 -2.538833 +v 1.375000 1.250000 -2.500000 +v 1.375000 1.382583 -2.554918 +v 1.375000 1.437500 -2.687500 +v 1.375000 1.382583 -2.820082 +v 1.375000 1.250000 -2.875000 +v 1.375000 1.117417 -2.820082 +v 1.375000 1.062500 -2.687500 +v 1.375000 1.117417 -2.554918 +v 0.250000 1.117417 -2.554918 +v 0.250000 1.062500 -2.687500 +v 0.250000 1.117417 -2.820082 +v 0.250000 1.250000 -2.875000 +v 0.250000 1.382583 -2.820082 +v 0.250000 1.437500 -2.687500 +v 0.250000 1.382583 -2.554918 +v 0.250000 1.250000 -2.500000 +v 0.375000 1.250000 -2.937500 +v 0.375000 1.382583 -2.992418 +v 0.375000 1.437500 -3.125000 +v 0.375000 1.382583 -3.257582 +v 0.375000 1.250000 -3.312500 +v 0.375000 1.117417 -3.257582 +v 0.375000 1.062500 -3.125000 +v 0.375000 1.117417 -2.992418 +v 1.875000 1.117417 -2.992418 +v 1.875000 1.062500 -3.125000 +v 1.875000 1.117417 -3.257582 +v 1.875000 1.250000 -3.312500 +v 1.875000 1.382583 -3.257582 +v 1.875000 1.437500 -3.125000 +v 1.875000 1.382583 -2.992418 +v 1.875000 1.250000 -2.937500 +v 1.913833 1.382583 -2.976333 +v 2.007583 1.437500 -3.070082 +v 2.101333 1.382583 -3.163832 +v 2.140165 1.250000 -3.202665 +v 2.101333 1.117417 -3.163832 +v 2.007583 1.062500 -3.070082 +v 1.913833 1.117417 -2.976333 +v 1.929917 1.117417 -2.937500 +v 2.062500 1.062500 -2.937500 +v 2.195083 1.117417 -2.937500 +v 2.250000 1.250000 -2.937500 +v 2.195083 1.382583 -2.937500 +v 2.062500 1.437500 -2.937500 +v 1.929917 1.382583 -2.937500 +v 1.929917 1.382583 -2.500000 +v 2.062500 1.437500 -2.500000 +v 2.195083 1.382583 -2.500000 +v 2.250000 1.250000 -2.500000 +v 2.195083 1.117417 -2.500000 +v 2.062500 1.062500 -2.500000 +v 1.929917 1.117417 -2.500000 +v 1.875000 1.250000 -2.500000 +v 1.429917 0.882583 -2.500000 +v 1.562500 0.937500 -2.500000 +v 1.695083 0.882583 -2.500000 +v 1.750000 0.750000 -2.500000 +v 1.695083 0.617417 -2.500000 +v 1.562500 0.562500 -2.500000 +v 1.429917 0.617417 -2.500000 +v 1.413833 0.617417 -2.538833 +v 1.507583 0.562500 -2.632582 +v 1.601333 0.617417 -2.726332 +v 1.640165 0.750000 -2.765165 +v 1.601333 0.882583 -2.726332 +v 1.507583 0.937500 -2.632582 +v 1.413833 0.882583 -2.538833 +v 1.375000 0.750000 -2.500000 +v 1.375000 0.882583 -2.554918 +v 1.375000 0.937500 -2.687500 +v 1.375000 0.882583 -2.820082 +v 1.375000 0.750000 -2.875000 +v 1.375000 0.617417 -2.820082 +v 1.375000 0.562500 -2.687500 +v 1.375000 0.617417 -2.554918 +v 0.250000 0.617417 -2.554918 +v 0.250000 0.562500 -2.687500 +v 0.250000 0.617417 -2.820082 +v 0.250000 0.750000 -2.875000 +v 0.250000 0.882583 -2.820082 +v 0.250000 0.937500 -2.687500 +v 0.250000 0.882583 -2.554918 +v 0.250000 0.750000 -2.500000 +v 0.375000 0.750000 -2.937500 +v 0.375000 0.882583 -2.992418 +v 0.375000 0.937500 -3.125000 +v 0.375000 0.882583 -3.257582 +v 0.375000 0.750000 -3.312500 +v 0.375000 0.617417 -3.257582 +v 0.375000 0.562500 -3.125000 +v 0.375000 0.617417 -2.992418 +v 1.875000 0.617417 -2.992418 +v 1.875000 0.562500 -3.125000 +v 1.875000 0.617417 -3.257582 +v 1.875000 0.750000 -3.312500 +v 1.875000 0.882583 -3.257582 +v 1.875000 0.937500 -3.125000 +v 1.875000 0.882583 -2.992418 +v 1.875000 0.750000 -2.937500 +v 1.913833 0.882583 -2.976333 +v 2.007583 0.937500 -3.070082 +v 2.101333 0.882583 -3.163832 +v 2.140165 0.750000 -3.202665 +v 2.101333 0.617417 -3.163832 +v 2.007583 0.562500 -3.070082 +v 1.913833 0.617417 -2.976333 +v 1.929917 0.617417 -2.937500 +v 2.062500 0.562500 -2.937500 +v 2.195083 0.617417 -2.937500 +v 2.250000 0.750000 -2.937500 +v 2.195083 0.882583 -2.937500 +v 2.062500 0.937500 -2.937500 +v 1.929917 0.882583 -2.937500 +v 1.929917 0.882583 -2.500000 +v 2.062500 0.937500 -2.500000 +v 2.195083 0.882583 -2.500000 +v 2.250000 0.750000 -2.500000 +v 2.195083 0.617417 -2.500000 +v 2.062500 0.562500 -2.500000 +v 1.929917 0.617417 -2.500000 +v 1.875000 0.750000 -2.500000 +vt 0.338983 0.000000 +vt 0.022599 0.454545 +vt 0.022599 0.000000 +vt 0.022599 0.500000 +vt 0.338983 0.954545 +vt 0.022599 0.954545 +vt 0.361582 0.954545 +vt 0.338983 0.500000 +vt 0.361582 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.954545 +vt 0.338983 0.454545 +vt 0.022599 1.000000 +vt 0.338983 1.000000 +vt 0.361582 0.227273 +vt 0.395480 0.272727 +vt 0.361582 0.272727 +vt 0.361582 0.227273 +vt 0.395480 0.272727 +vt 0.361582 0.272727 +vt 0.508475 -0.000000 +vt 0.485876 0.181818 +vt 0.485876 -0.000000 +vt 0.361582 -0.000000 +vt 0.338983 0.181818 +vt 0.338983 -0.000000 +vt 0.361582 0.500000 +vt 0.485876 0.318182 +vt 0.485876 0.500000 +vt 0.361582 0.181818 +vt 0.451977 0.227273 +vt 0.395480 0.227273 +vt 0.361582 0.318182 +vt 0.451977 0.272727 +vt 0.485876 0.272727 +vt 0.485876 0.227273 +vt 0.508475 -0.000000 +vt 0.485876 0.181818 +vt 0.485876 -0.000000 +vt 0.361582 -0.000000 +vt 0.338983 0.181818 +vt 0.338983 -0.000000 +vt 0.361582 0.500000 +vt 0.485876 0.318182 +vt 0.485876 0.500000 +vt 0.361582 0.181818 +vt 0.451977 0.227273 +vt 0.395480 0.227273 +vt 0.361582 0.318182 +vt 0.451977 0.272727 +vt 0.485876 0.272727 +vt 0.485876 0.227273 +vt 0.361582 0.227273 +vt 0.395480 0.272727 +vt 0.361582 0.272727 +vt 0.508475 -0.000000 +vt 0.485876 0.181818 +vt 0.485876 -0.000000 +vt 0.361582 -0.000000 +vt 0.338983 0.181818 +vt 0.338983 -0.000000 +vt 0.361582 0.500000 +vt 0.485876 0.318182 +vt 0.485876 0.500000 +vt 0.361582 0.181818 +vt 0.451977 0.227273 +vt 0.395480 0.227273 +vt 0.361582 0.318182 +vt 0.451977 0.272727 +vt 0.485876 0.272727 +vt 0.485876 0.227273 +vt 0.361582 0.227273 +vt 0.395480 0.272727 +vt 0.361582 0.272727 +vt 0.508475 -0.000000 +vt 0.485876 0.181818 +vt 0.485876 -0.000000 +vt 0.361582 -0.000000 +vt 0.338983 0.181818 +vt 0.338983 -0.000000 +vt 0.361582 0.500000 +vt 0.485876 0.318182 +vt 0.485876 0.500000 +vt 0.361582 0.181818 +vt 0.451977 0.227273 +vt 0.395480 0.227273 +vt 0.361582 0.318182 +vt 0.451977 0.272727 +vt 0.485876 0.272727 +vt 0.485876 0.227273 +vt 0.677966 0.170455 +vt 0.553672 -0.000000 +vt 0.677966 -0.000000 +vt 0.553672 0.238636 +vt 0.553672 0.170455 +vt 0.677966 0.238636 +vt 0.553672 0.329545 +vt 0.677966 0.329545 +vt 0.553672 0.397727 +vt 0.677966 0.397727 +vt 0.553672 0.568182 +vt 0.553672 0.397727 +vt 0.508475 0.329545 +vt 0.553672 0.329545 +vt 0.553672 0.238636 +vt 0.508475 0.170455 +vt 0.553672 0.170455 +vt 0.553672 0.568182 +vt 0.508475 0.397727 +vt 0.508475 0.238636 +vt 0.553672 -0.000000 +vt 0.723164 0.397727 +vt 0.677966 0.329545 +vt 0.723164 0.329545 +vt 0.723164 0.238636 +vt 0.677966 0.170455 +vt 0.723164 0.170455 +vt 0.723164 0.568182 +vt 0.677966 0.397727 +vt 0.677966 0.238636 +vt 0.723164 -0.000000 +vt 0.988274 0.136340 +vt 0.949153 0.181770 +vt 0.910031 0.045479 +vt 0.988274 0.045478 +vt 0.988274 0.136340 +vt 0.949153 0.181770 +vt 0.497175 0.886364 +vt 0.429379 0.909091 +vt 0.429379 0.886364 +vt 0.632768 0.886364 +vt 0.564972 0.909091 +vt 0.564972 0.886364 +vt 0.497175 0.909091 +vt 0.361582 0.909091 +vt 0.361582 0.886364 +vt 0.666667 0.676136 +vt 0.694915 0.664773 +vt 0.694915 0.676136 +vt 0.697740 0.568182 +vt 0.663842 0.590909 +vt 0.663842 0.568182 +vt 0.646893 0.602273 +vt 0.658192 0.670455 +vt 0.646893 0.670455 +vt 0.663842 0.704545 +vt 0.697740 0.681818 +vt 0.697740 0.704545 +vt 0.714689 0.670455 +vt 0.703390 0.602273 +vt 0.714689 0.602273 +vt 0.700565 0.607955 +vt 0.703390 0.670455 +vt 0.700565 0.664773 +vt 0.661017 0.664773 +vt 0.658192 0.602273 +vt 0.661017 0.607955 +vt 0.663842 0.681818 +vt 0.666667 0.596591 +vt 0.697740 0.590909 +vt 0.694915 0.596591 +vt 0.666667 0.607955 +vt 0.694915 0.607955 +vt 0.666667 0.664773 +vt 0.629943 0.761364 +vt 0.601695 0.704545 +vt 0.629943 0.704545 +vt 0.666667 0.676136 +vt 0.694915 0.664773 +vt 0.694915 0.676136 +vt 0.697740 0.568182 +vt 0.663842 0.590909 +vt 0.663842 0.568182 +vt 0.646893 0.602273 +vt 0.658192 0.670455 +vt 0.646893 0.670455 +vt 0.663842 0.704545 +vt 0.697740 0.681818 +vt 0.697740 0.704545 +vt 0.714689 0.670455 +vt 0.703390 0.602273 +vt 0.714689 0.602273 +vt 0.700565 0.607955 +vt 0.703390 0.670455 +vt 0.700565 0.664773 +vt 0.661017 0.664773 +vt 0.658192 0.602273 +vt 0.661017 0.607955 +vt 0.663842 0.681818 +vt 0.666667 0.596591 +vt 0.697740 0.590909 +vt 0.694915 0.596591 +vt 0.666667 0.607955 +vt 0.694915 0.607955 +vt 0.666667 0.664773 +vt 0.629943 0.761364 +vt 0.601695 0.704545 +vt 0.629943 0.704545 +vt 0.666667 0.676136 +vt 0.694915 0.664773 +vt 0.694915 0.676136 +vt 0.697740 0.568182 +vt 0.663842 0.590909 +vt 0.663842 0.568182 +vt 0.646893 0.602273 +vt 0.658192 0.670455 +vt 0.646893 0.670455 +vt 0.663842 0.704545 +vt 0.697740 0.681818 +vt 0.697740 0.704545 +vt 0.714689 0.670455 +vt 0.703390 0.602273 +vt 0.714689 0.602273 +vt 0.700565 0.607955 +vt 0.703390 0.670455 +vt 0.700565 0.664773 +vt 0.661017 0.664773 +vt 0.658192 0.602273 +vt 0.661017 0.607955 +vt 0.663842 0.681818 +vt 0.666667 0.596591 +vt 0.697740 0.590909 +vt 0.694915 0.596591 +vt 0.666667 0.607955 +vt 0.694915 0.607955 +vt 0.666667 0.664773 +vt 0.629943 0.761364 +vt 0.601695 0.704545 +vt 0.629943 0.704545 +vt 0.666667 0.676136 +vt 0.694915 0.664773 +vt 0.694915 0.676136 +vt 0.697740 0.568182 +vt 0.663842 0.590909 +vt 0.663842 0.568182 +vt 0.646893 0.602273 +vt 0.658192 0.670455 +vt 0.646893 0.670455 +vt 0.663842 0.704545 +vt 0.697740 0.681818 +vt 0.697740 0.704545 +vt 0.714689 0.670455 +vt 0.703390 0.602273 +vt 0.714689 0.602273 +vt 0.700565 0.607955 +vt 0.703390 0.670455 +vt 0.700565 0.664773 +vt 0.661017 0.664773 +vt 0.658192 0.602273 +vt 0.661017 0.607955 +vt 0.663842 0.681818 +vt 0.666667 0.596591 +vt 0.697740 0.590909 +vt 0.694915 0.596591 +vt 0.666667 0.607955 +vt 0.694915 0.607955 +vt 0.666667 0.664773 +vt 0.629943 0.761364 +vt 0.601695 0.704545 +vt 0.629943 0.704545 +vt 0.559322 0.920455 +vt 0.502825 0.943182 +vt 0.502825 0.920455 +vt 0.587571 0.590909 +vt 0.590395 0.750000 +vt 0.587571 0.750000 +vt 0.768362 0.454545 +vt 0.858757 0.636364 +vt 0.768362 0.636364 +vt 0.723164 0.454545 +vt 0.723164 0.636364 +vt 0.903955 0.636364 +vt 0.858757 0.454545 +vt 0.903955 0.454545 +vt 0.768362 0.727273 +vt 0.858757 0.727273 +vt 0.858757 0.363636 +vt 0.768362 0.363636 +vt 0.858757 -0.000000 +vt 0.768362 0.090909 +vt 0.768362 -0.000000 +vt 0.768362 0.363636 +vt 0.858757 0.272727 +vt 0.858757 0.363636 +vt 0.903955 0.272727 +vt 0.858757 0.090909 +vt 0.903955 0.090909 +vt 0.723164 0.090909 +vt 0.768362 0.272727 +vt 0.723164 0.272727 +vt 0.587571 0.590909 +vt 0.590395 0.750000 +vt 0.587571 0.750000 +vt 0.570621 0.920455 +vt 0.632768 0.909091 +vt 0.627119 0.920455 +vt 0.367232 0.920455 +vt 0.423729 0.920455 +vt 0.435028 0.920455 +vt 0.491525 0.920455 +vt 0.367232 0.943182 +vt 0.435028 0.943182 +vt 0.570621 0.943182 +vt 0.728814 0.693182 +vt 0.723164 0.670455 +vt 0.728814 0.670455 +vt 0.740113 0.647727 +vt 0.751412 0.636364 +vt 0.751412 0.647727 +vt 0.762712 0.670455 +vt 0.768362 0.693182 +vt 0.762712 0.693182 +vt 0.751412 0.715909 +vt 0.762712 0.647727 +vt 0.762712 0.727273 +vt 0.751412 0.727273 +vt 0.740113 0.727273 +vt 0.728814 0.715909 +vt 0.740113 0.715909 +vt 0.728814 0.636364 +vt 0.740113 0.636364 +vt 0.418079 0.886364 +vt 0.474576 0.772727 +vt 0.474576 0.886364 +vt 0.451977 0.681818 +vt 0.384181 0.545455 +vt 0.451977 0.545455 +vt 0.474576 0.545455 +vt 0.474576 0.681818 +vt 0.384181 0.681818 +vt 0.451977 0.727273 +vt 0.384181 0.727273 +vt 0.384181 0.500000 +vt 0.451977 0.500000 +vt 0.361582 0.681818 +vt 0.361582 0.545455 +vt 0.601695 0.750000 +vt 0.590395 0.590909 +vt 0.601695 0.590909 +vt 0.519774 0.636364 +vt 0.542373 0.818182 +vt 0.519774 0.818182 +vt 0.542373 0.568182 +vt 0.519774 0.568182 +vt 0.519774 0.886364 +vt 0.542373 0.886364 +vt 0.576271 0.818182 +vt 0.542373 0.636364 +vt 0.576271 0.636364 +vt 0.485876 0.636364 +vt 0.485876 0.818182 +vt 0.576271 0.590909 +vt 0.576271 0.750000 +vt 0.590395 0.568182 +vt 0.587571 0.568182 +vt 0.587571 0.772727 +vt 0.590395 0.772727 +vt 0.601695 0.750000 +vt 0.590395 0.590909 +vt 0.601695 0.590909 +vt 0.576271 0.590909 +vt 0.576271 0.750000 +vt 0.590395 0.568182 +vt 0.587571 0.568182 +vt 0.587571 0.772727 +vt 0.590395 0.772727 +vt 0.587571 0.590909 +vt 0.590395 0.750000 +vt 0.587571 0.750000 +vt 0.601695 0.750000 +vt 0.590395 0.590909 +vt 0.601695 0.590909 +vt 0.576271 0.590909 +vt 0.576271 0.750000 +vt 0.590395 0.568182 +vt 0.587571 0.568182 +vt 0.587571 0.772727 +vt 0.590395 0.772727 +vt 0.587571 0.590909 +vt 0.590395 0.750000 +vt 0.587571 0.750000 +vt 0.601695 0.750000 +vt 0.590395 0.590909 +vt 0.601695 0.590909 +vt 0.576271 0.590909 +vt 0.576271 0.750000 +vt 0.590395 0.568182 +vt 0.587571 0.568182 +vt 0.587571 0.772727 +vt 0.590395 0.772727 +vt 0.587571 0.590909 +vt 0.590395 0.750000 +vt 0.587571 0.750000 +vt 0.601695 0.750000 +vt 0.590395 0.590909 +vt 0.601695 0.590909 +vt 0.576271 0.590909 +vt 0.576271 0.750000 +vt 0.590395 0.568182 +vt 0.587571 0.568182 +vt 0.587571 0.772727 +vt 0.590395 0.772727 +vt 0.457627 0.738636 +vt 0.389830 0.727273 +vt 0.457627 0.727273 +vt 0.384181 0.727273 +vt 0.361582 0.738636 +vt 0.361582 0.727273 +vt 0.485876 0.738636 +vt 0.463277 0.727273 +vt 0.485876 0.727273 +vt 0.463277 0.738636 +vt 0.457627 0.727273 +vt 0.389830 0.727273 +vt 0.384181 0.738636 +vt 0.389830 0.772727 +vt 0.457627 0.761364 +vt 0.457627 0.772727 +vt 0.361582 0.761364 +vt 0.384181 0.772727 +vt 0.361582 0.772727 +vt 0.463277 0.772727 +vt 0.485876 0.761364 +vt 0.485876 0.772727 +vt 0.457627 0.772727 +vt 0.463277 0.761364 +vt 0.389830 0.772727 +vt 0.384181 0.761364 +vt 0.389830 0.727273 +vt 0.384181 0.738636 +vt 0.384181 0.727273 +vt 0.463277 0.727273 +vt 0.463277 0.738636 +vt 0.457627 0.727273 +vt 0.389830 0.761364 +vt 0.389830 0.738636 +vt 0.485876 0.738636 +vt 0.485876 0.727273 +vt 0.361582 0.738636 +vt 0.361582 0.727273 +vt 0.457627 0.738636 +vt 0.389830 0.727273 +vt 0.457627 0.727273 +vt 0.389830 0.772727 +vt 0.457627 0.761364 +vt 0.457627 0.772727 +vt 0.361582 0.761364 +vt 0.384181 0.772727 +vt 0.361582 0.772727 +vt 0.463277 0.772727 +vt 0.485876 0.761364 +vt 0.485876 0.772727 +vt 0.457627 0.772727 +vt 0.463277 0.761364 +vt 0.389830 0.772727 +vt 0.384181 0.761364 +vt 0.389830 0.761364 +vt 0.389830 0.738636 +vt 0.508475 0.181818 +vt 0.508475 0.181818 +vt 0.508475 0.181818 +vt 0.508475 0.181818 +vt 0.677966 0.568182 +vt 0.508475 0.568182 +vt 0.508475 -0.000000 +vt 0.677966 0.568182 +vt 0.677966 -0.000000 +vt 0.926566 0.169597 +vt 0.910031 0.136340 +vt 0.903979 0.090909 +vt 0.926566 0.012221 +vt 0.988274 0.045478 +vt 0.949153 0.000048 +vt 0.971740 0.012221 +vt 0.994327 0.090909 +vt 0.971740 0.169597 +vt 0.926566 0.169597 +vt 0.910031 0.136340 +vt 0.903979 0.090909 +vt 0.910031 0.045479 +vt 0.926566 0.012221 +vt 0.949153 0.000048 +vt 0.971740 0.012221 +vt 0.994327 0.090909 +vt 0.971740 0.169597 +vt 0.601695 0.761364 +vt 0.601695 0.761364 +vt 0.601695 0.761364 +vt 0.601695 0.761364 +vt 0.559322 0.943182 +vt 0.423729 0.943182 +vt 0.491525 0.943182 +vt 0.627119 0.943182 +vt 0.723164 0.693182 +vt 0.768362 0.670455 +vt 0.762712 0.636364 +vt 0.762712 0.715909 +vt 0.728814 0.727273 +vt 0.728814 0.647727 +vt 0.418079 0.772727 +vt 1.000000 0.454545 +vt 0.994350 0.409091 +vt 1.000000 0.409091 +vt 1.000000 0.227273 +vt 0.994350 0.181818 +vt 1.000000 0.181818 +vt 1.000000 0.318182 +vt 0.994350 0.272727 +vt 1.000000 0.272727 +vt 1.000000 0.090909 +vt 0.994350 0.045455 +vt 1.000000 0.045455 +vt 1.000000 0.500000 +vt 0.994350 0.454545 +vt 0.994350 0.227273 +vt 1.000000 0.363636 +vt 0.994350 0.318182 +vt 1.000000 0.136364 +vt 0.994350 0.090909 +vt 1.000000 0.545455 +vt 0.994350 0.500000 +vt 0.994350 0.363636 +vt 0.994350 0.136364 +vt 0.994350 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.045455 +vt 0.994350 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.136364 +vt 0.994350 0.181818 +vt 0.994350 0.136364 +vt 1.000000 0.409091 +vt 0.994350 0.363636 +vt 1.000000 0.363636 +vt 1.000000 0.545455 +vt 0.994350 0.500000 +vt 1.000000 0.500000 +vt 0.994350 0.090909 +vt 1.000000 0.090909 +vt 0.994350 0.318182 +vt 1.000000 0.318182 +vt 1.000000 0.272727 +vt 0.994350 0.227273 +vt 1.000000 0.227273 +vt 0.994350 0.454545 +vt 1.000000 0.454545 +vt 0.994350 0.045455 +vt 0.994350 0.272727 +vt 1.000000 0.181818 +vt 0.994350 0.409091 +vt 0.884181 0.823864 +vt 0.892655 0.795455 +vt 0.892655 0.829545 +vt 0.909605 0.812500 +vt 0.901130 0.795455 +vt 0.909605 0.795455 +vt 0.875706 0.812500 +vt 0.867232 0.795455 +vt 0.875706 0.795455 +vt 0.884181 0.795455 +vt 0.901130 0.823864 +vt 0.918079 0.795455 +vt 0.909605 0.778409 +vt 0.918079 0.789773 +vt 0.901130 0.767045 +vt 0.875706 0.778409 +vt 0.884181 0.767045 +vt 0.901130 0.875000 +vt 0.901130 0.869318 +vt 0.909605 0.875000 +vt 0.901130 0.880682 +vt 0.918079 0.869318 +vt 0.918079 0.875000 +vt 0.918079 0.880682 +vt 0.875706 0.875000 +vt 0.867232 0.846591 +vt 0.875706 0.840909 +vt 0.892655 0.875000 +vt 0.884181 0.846591 +vt 0.892655 0.857955 +vt 0.926554 0.857955 +vt 0.926554 0.875000 +vt 0.909605 0.943182 +vt 0.918079 0.909091 +vt 0.918079 0.943182 +vt 0.892655 0.943182 +vt 0.901130 0.909091 +vt 0.901130 0.943182 +vt 0.875706 0.943182 +vt 0.884181 0.909091 +vt 0.884181 0.943182 +vt 0.646893 0.568182 +vt 0.601695 0.585227 +vt 0.601695 0.568182 +vt 0.646893 0.670455 +vt 0.601695 0.687500 +vt 0.601695 0.670455 +vt 0.646893 0.636364 +vt 0.601695 0.653409 +vt 0.601695 0.636364 +vt 0.646893 0.619318 +vt 0.601695 0.619318 +vt 0.646893 0.585227 +vt 0.601695 0.602273 +vt 0.646893 0.687500 +vt 0.601695 0.704545 +vt 0.646893 0.653409 +vt 0.646893 0.602273 +vt 0.646893 0.568182 +vt 0.601695 0.585227 +vt 0.601695 0.568182 +vt 0.646893 0.670455 +vt 0.601695 0.687500 +vt 0.601695 0.670455 +vt 0.646893 0.636364 +vt 0.601695 0.653409 +vt 0.601695 0.636364 +vt 0.646893 0.619318 +vt 0.601695 0.619318 +vt 0.646893 0.585227 +vt 0.601695 0.602273 +vt 0.646893 0.687500 +vt 0.601695 0.704545 +vt 0.646893 0.653409 +vt 0.646893 0.602273 +vt 0.646893 0.568182 +vt 0.601695 0.585227 +vt 0.601695 0.568182 +vt 0.646893 0.670455 +vt 0.601695 0.687500 +vt 0.601695 0.670455 +vt 0.646893 0.636364 +vt 0.601695 0.653409 +vt 0.601695 0.636364 +vt 0.646893 0.619318 +vt 0.601695 0.619318 +vt 0.646893 0.585227 +vt 0.601695 0.602273 +vt 0.646893 0.687500 +vt 0.601695 0.704545 +vt 0.646893 0.653409 +vt 0.646893 0.602273 +vt 0.694915 0.909091 +vt 0.694915 0.897727 +vt 0.697740 0.897727 +vt 0.692090 0.897727 +vt 0.694915 0.818182 +vt 0.697740 0.829545 +vt 0.694915 0.829545 +vt 0.692090 0.829545 +vt 0.694915 0.840909 +vt 0.706215 0.852273 +vt 0.694915 0.852273 +vt 0.694915 0.875000 +vt 0.706215 0.863636 +vt 0.706215 0.875000 +vt 0.694915 0.886364 +vt 0.700565 0.840909 +vt 0.694915 0.863636 +vt 0.700565 0.886364 +vt 0.689266 0.840909 +vt 0.683616 0.852273 +vt 0.689266 0.886364 +vt 0.683616 0.863636 +vt 0.683616 0.875000 +vt 0.632768 0.829545 +vt 0.683616 0.840909 +vt 0.632768 0.840909 +vt 0.632768 0.852273 +vt 0.632768 0.863636 +vt 0.632768 0.875000 +vt 0.683616 0.886364 +vt 0.632768 0.886364 +vt 0.632768 0.897727 +vt 0.683616 0.909091 +vt 0.632768 0.909091 +vt 0.632768 0.818182 +vt 0.683616 0.829545 +vt 0.683616 0.897727 +vt 0.632768 0.795455 +vt 0.700565 0.806818 +vt 0.632768 0.806818 +vt 0.632768 0.772727 +vt 0.700565 0.784091 +vt 0.632768 0.784091 +vt 0.632768 0.750000 +vt 0.700565 0.761364 +vt 0.632768 0.761364 +vt 0.632768 0.727273 +vt 0.700565 0.738636 +vt 0.632768 0.738636 +vt 0.700565 0.818182 +vt 0.632768 0.818182 +vt 0.700565 0.795455 +vt 0.700565 0.772727 +vt 0.700565 0.750000 +vt 0.711864 0.784091 +vt 0.706215 0.795455 +vt 0.711864 0.806818 +vt 0.709040 0.806818 +vt 0.706215 0.750000 +vt 0.711864 0.738636 +vt 0.711864 0.750000 +vt 0.711864 0.772727 +vt 0.711864 0.795455 +vt 0.711864 0.761364 +vt 0.717514 0.795455 +vt 0.723164 0.772727 +vt 0.714689 0.738636 +vt 0.717514 0.750000 +vt 0.714689 0.806818 +vt 0.723164 0.784091 +vt 0.723164 0.761364 +vt 0.709040 0.738636 +vt 0.711864 0.727273 +vt 0.711864 0.818182 +vt 0.723164 0.750000 +vt 0.742938 0.761364 +vt 0.742938 0.784091 +vt 0.723164 0.727273 +vt 0.742938 0.738636 +vt 0.723164 0.738636 +vt 0.723164 0.806818 +vt 0.742938 0.818182 +vt 0.723164 0.818182 +vt 0.723164 0.795455 +vt 0.742938 0.806818 +vt 0.742938 0.750000 +vt 0.742938 0.772727 +vt 0.742938 0.795455 +vt 0.858757 0.943182 +vt 0.867232 0.909091 +vt 0.867232 0.943182 +vt 0.926554 0.909091 +vt 0.926554 0.943182 +vt 0.909605 0.909091 +vt 0.892655 0.909091 +vt 0.875706 0.909091 +vt 0.892655 0.892045 +vt 0.867232 0.903409 +vt 0.884181 0.875000 +vt 0.926554 0.892045 +vt 0.858757 0.892045 +vt 0.867232 0.875000 +vt 0.884181 0.903409 +vt 0.858757 0.875000 +vt 0.926554 0.647727 +vt 0.935028 0.619318 +vt 0.935028 0.647727 +vt 0.943503 0.647727 +vt 0.951977 0.619318 +vt 0.951977 0.647727 +vt 0.968927 0.647727 +vt 0.960452 0.630682 +vt 0.968927 0.642045 +vt 0.951977 0.676136 +vt 0.926554 0.664773 +vt 0.935028 0.676136 +vt 0.985876 0.653409 +vt 0.994350 0.647727 +vt 0.994350 0.664773 +vt 0.960452 0.664773 +vt 0.960452 0.647727 +vt 0.943503 0.681818 +vt 0.968927 0.653409 +vt 0.935028 0.715909 +vt 0.943503 0.715909 +vt 0.951977 0.715909 +vt 0.960452 0.681818 +vt 0.960452 0.715909 +vt 0.968927 0.715909 +vt 0.977401 0.681818 +vt 0.977401 0.715909 +vt 0.985876 0.715909 +vt 0.994350 0.681818 +vt 0.994350 0.715909 +vt 0.926554 0.715909 +vt 0.935028 0.681818 +vt 0.951977 0.681818 +vt 0.968927 0.681818 +vt 0.985876 0.681818 +vt 0.985876 0.647727 +vt 0.994350 0.630682 +vt 0.943503 0.613636 +vt 0.977401 0.647727 +vt 0.985876 0.642045 +vt 0.943503 0.409091 +vt 0.951977 0.380682 +vt 0.951977 0.409091 +vt 0.960452 0.409091 +vt 0.968927 0.380682 +vt 0.968927 0.409091 +vt 0.985876 0.409091 +vt 0.977401 0.392045 +vt 0.985876 0.403409 +vt 0.960452 0.443182 +vt 0.968927 0.437500 +vt 0.951977 0.437500 +vt 0.943503 0.426136 +vt 0.935028 0.409091 +vt 0.977401 0.409091 +vt 0.977401 0.426136 +vt 0.985876 0.414773 +vt 0.935028 0.613636 +vt 0.943503 0.443182 +vt 0.926554 0.613636 +vt 0.935028 0.443182 +vt 0.985876 0.613636 +vt 0.994350 0.443182 +vt 0.994350 0.613636 +vt 0.977401 0.613636 +vt 0.985876 0.443182 +vt 0.968927 0.613636 +vt 0.977401 0.443182 +vt 0.960452 0.613636 +vt 0.968927 0.443182 +vt 0.951977 0.613636 +vt 0.951977 0.443182 +vt 0.943503 0.392045 +vt 0.960452 0.375000 +vt 0.935028 0.414773 +vt 0.926554 0.409091 +vt 0.935028 0.403409 +vt 0.994350 0.409091 +vt 0.951977 0.375000 +vt 0.960452 0.181818 +vt 0.968927 0.375000 +vt 0.977401 0.181818 +vt 0.977401 0.375000 +vt 0.935028 0.375000 +vt 0.943503 0.181818 +vt 0.943503 0.375000 +vt 0.985876 0.375000 +vt 0.994350 0.181818 +vt 0.994350 0.375000 +vt 0.926554 0.375000 +vt 0.935028 0.181818 +vt 0.951977 0.181818 +vt 0.968927 0.181818 +vt 0.985876 0.181818 +vt 0.918079 0.801136 +vt 0.867232 0.840909 +vt 0.875706 0.829545 +vt 0.858757 0.840909 +vt 0.867232 0.829545 +vt 0.926554 0.840909 +vt 0.918079 0.829545 +vt 0.926554 0.829545 +vt 0.909605 0.840909 +vt 0.918079 0.840909 +vt 0.901130 0.840909 +vt 0.909605 0.829545 +vt 0.892655 0.840909 +vt 0.901130 0.829545 +vt 0.884181 0.840909 +vt 0.884181 0.829545 +vt 0.892655 0.761364 +vt 0.867232 0.801136 +vt 0.858757 0.795455 +vt 0.867232 0.789773 +vt 0.926554 0.795455 +vt 0.884181 0.761364 +vt 0.892655 0.636364 +vt 0.901130 0.761364 +vt 0.909605 0.636364 +vt 0.909605 0.761364 +vt 0.867232 0.761364 +vt 0.875706 0.636364 +vt 0.875706 0.761364 +vt 0.918079 0.761364 +vt 0.926554 0.636364 +vt 0.926554 0.761364 +vt 0.858757 0.761364 +vt 0.867232 0.636364 +vt 0.884181 0.636364 +vt 0.901130 0.636364 +vt 0.918079 0.636364 +vt 0.694915 0.909091 +vt 0.694915 0.897727 +vt 0.697740 0.897727 +vt 0.692090 0.897727 +vt 0.694915 0.818182 +vt 0.697740 0.829545 +vt 0.694915 0.829545 +vt 0.692090 0.829545 +vt 0.694915 0.840909 +vt 0.706215 0.852273 +vt 0.694915 0.852273 +vt 0.694915 0.875000 +vt 0.706215 0.863636 +vt 0.706215 0.875000 +vt 0.694915 0.886364 +vt 0.700565 0.840909 +vt 0.694915 0.863636 +vt 0.700565 0.886364 +vt 0.689266 0.840909 +vt 0.683616 0.852273 +vt 0.689266 0.886364 +vt 0.683616 0.863636 +vt 0.683616 0.875000 +vt 0.632768 0.829545 +vt 0.683616 0.840909 +vt 0.632768 0.840909 +vt 0.632768 0.852273 +vt 0.632768 0.863636 +vt 0.632768 0.875000 +vt 0.683616 0.886364 +vt 0.632768 0.886364 +vt 0.632768 0.897727 +vt 0.683616 0.909091 +vt 0.632768 0.909091 +vt 0.632768 0.818182 +vt 0.683616 0.829545 +vt 0.683616 0.897727 +vt 0.632768 0.795455 +vt 0.700565 0.806818 +vt 0.632768 0.806818 +vt 0.632768 0.772727 +vt 0.700565 0.784091 +vt 0.632768 0.784091 +vt 0.632768 0.750000 +vt 0.700565 0.761364 +vt 0.632768 0.761364 +vt 0.632768 0.727273 +vt 0.700565 0.738636 +vt 0.632768 0.738636 +vt 0.700565 0.818182 +vt 0.632768 0.818182 +vt 0.700565 0.795455 +vt 0.700565 0.772727 +vt 0.700565 0.750000 +vt 0.711864 0.784091 +vt 0.706215 0.795455 +vt 0.711864 0.806818 +vt 0.709040 0.806818 +vt 0.706215 0.750000 +vt 0.711864 0.738636 +vt 0.711864 0.750000 +vt 0.711864 0.772727 +vt 0.711864 0.795455 +vt 0.711864 0.761364 +vt 0.717514 0.795455 +vt 0.723164 0.761364 +vt 0.723164 0.772727 +vt 0.717514 0.750000 +vt 0.714689 0.806818 +vt 0.723164 0.784091 +vt 0.709040 0.738636 +vt 0.711864 0.727273 +vt 0.714689 0.738636 +vt 0.711864 0.818182 +vt 0.723164 0.750000 +vt 0.742938 0.761364 +vt 0.742938 0.784091 +vt 0.723164 0.727273 +vt 0.742938 0.738636 +vt 0.723164 0.738636 +vt 0.723164 0.806818 +vt 0.742938 0.818182 +vt 0.723164 0.818182 +vt 0.723164 0.795455 +vt 0.742938 0.806818 +vt 0.742938 0.750000 +vt 0.742938 0.772727 +vt 0.742938 0.795455 +vt 0.694915 0.909091 +vt 0.697740 0.897727 +vt 0.694915 0.897727 +vt 0.692090 0.897727 +vt 0.694915 0.818182 +vt 0.694915 0.829545 +vt 0.697740 0.829545 +vt 0.692090 0.829545 +vt 0.706215 0.852273 +vt 0.694915 0.840909 +vt 0.694915 0.852273 +vt 0.694915 0.875000 +vt 0.706215 0.863636 +vt 0.694915 0.863636 +vt 0.700565 0.886364 +vt 0.694915 0.886364 +vt 0.700565 0.840909 +vt 0.706215 0.875000 +vt 0.689266 0.840909 +vt 0.683616 0.852273 +vt 0.689266 0.886364 +vt 0.683616 0.875000 +vt 0.683616 0.863636 +vt 0.683616 0.840909 +vt 0.632768 0.829545 +vt 0.632768 0.840909 +vt 0.632768 0.852273 +vt 0.632768 0.863636 +vt 0.683616 0.886364 +vt 0.632768 0.875000 +vt 0.632768 0.886364 +vt 0.683616 0.909091 +vt 0.632768 0.897727 +vt 0.632768 0.909091 +vt 0.683616 0.829545 +vt 0.632768 0.818182 +vt 0.683616 0.897727 +vt 0.700565 0.806818 +vt 0.632768 0.795455 +vt 0.632768 0.806818 +vt 0.700565 0.784091 +vt 0.632768 0.772727 +vt 0.632768 0.784091 +vt 0.700565 0.761364 +vt 0.632768 0.750000 +vt 0.632768 0.761364 +vt 0.700565 0.738636 +vt 0.632768 0.727273 +vt 0.632768 0.738636 +vt 0.700565 0.818182 +vt 0.632768 0.818182 +vt 0.700565 0.795455 +vt 0.700565 0.772727 +vt 0.700565 0.750000 +vt 0.711864 0.784091 +vt 0.711864 0.806818 +vt 0.706215 0.795455 +vt 0.709040 0.806818 +vt 0.706215 0.750000 +vt 0.711864 0.738636 +vt 0.709040 0.738636 +vt 0.711864 0.772727 +vt 0.711864 0.795455 +vt 0.711864 0.750000 +vt 0.717514 0.795455 +vt 0.723164 0.772727 +vt 0.711864 0.761364 +vt 0.717514 0.750000 +vt 0.723164 0.761364 +vt 0.711864 0.727273 +vt 0.714689 0.738636 +vt 0.711864 0.818182 +vt 0.714689 0.806818 +vt 0.742938 0.761364 +vt 0.723164 0.750000 +vt 0.742938 0.784091 +vt 0.723164 0.784091 +vt 0.742938 0.738636 +vt 0.723164 0.727273 +vt 0.723164 0.738636 +vt 0.742938 0.818182 +vt 0.723164 0.806818 +vt 0.723164 0.818182 +vt 0.742938 0.806818 +vt 0.723164 0.795455 +vt 0.742938 0.750000 +vt 0.742938 0.772727 +vt 0.742938 0.795455 +vt 0.694915 0.909091 +vt 0.697740 0.897727 +vt 0.694915 0.897727 +vt 0.692090 0.897727 +vt 0.694915 0.818182 +vt 0.694915 0.829545 +vt 0.697740 0.829545 +vt 0.692090 0.829545 +vt 0.706215 0.852273 +vt 0.694915 0.840909 +vt 0.694915 0.852273 +vt 0.694915 0.875000 +vt 0.706215 0.863636 +vt 0.694915 0.863636 +vt 0.700565 0.886364 +vt 0.694915 0.886364 +vt 0.700565 0.840909 +vt 0.706215 0.875000 +vt 0.689266 0.840909 +vt 0.683616 0.852273 +vt 0.689266 0.886364 +vt 0.683616 0.875000 +vt 0.683616 0.863636 +vt 0.683616 0.840909 +vt 0.632768 0.829545 +vt 0.632768 0.840909 +vt 0.632768 0.852273 +vt 0.632768 0.863636 +vt 0.683616 0.886364 +vt 0.632768 0.875000 +vt 0.632768 0.886364 +vt 0.683616 0.909091 +vt 0.632768 0.897727 +vt 0.632768 0.909091 +vt 0.683616 0.829545 +vt 0.632768 0.818182 +vt 0.683616 0.897727 +vt 0.700565 0.806818 +vt 0.632768 0.795455 +vt 0.632768 0.806818 +vt 0.700565 0.784091 +vt 0.632768 0.772727 +vt 0.632768 0.784091 +vt 0.700565 0.761364 +vt 0.632768 0.750000 +vt 0.632768 0.761364 +vt 0.700565 0.738636 +vt 0.632768 0.727273 +vt 0.632768 0.738636 +vt 0.700565 0.818182 +vt 0.632768 0.818182 +vt 0.700565 0.795455 +vt 0.700565 0.772727 +vt 0.700565 0.750000 +vt 0.711864 0.784091 +vt 0.711864 0.806818 +vt 0.706215 0.795455 +vt 0.709040 0.806818 +vt 0.706215 0.750000 +vt 0.711864 0.738636 +vt 0.709040 0.738636 +vt 0.711864 0.772727 +vt 0.711864 0.795455 +vt 0.711864 0.750000 +vt 0.717514 0.795455 +vt 0.723164 0.772727 +vt 0.711864 0.761364 +vt 0.717514 0.750000 +vt 0.723164 0.761364 +vt 0.711864 0.727273 +vt 0.714689 0.738636 +vt 0.711864 0.818182 +vt 0.714689 0.806818 +vt 0.742938 0.761364 +vt 0.723164 0.750000 +vt 0.742938 0.784091 +vt 0.723164 0.784091 +vt 0.742938 0.738636 +vt 0.723164 0.727273 +vt 0.723164 0.738636 +vt 0.742938 0.818182 +vt 0.723164 0.806818 +vt 0.723164 0.818182 +vt 0.742938 0.806818 +vt 0.723164 0.795455 +vt 0.742938 0.750000 +vt 0.742938 0.772727 +vt 0.742938 0.795455 +vt 0.994350 0.545455 +vt 0.994350 0.545455 +vt 0.646893 0.704545 +vt 0.646893 0.704545 +vt 0.646893 0.704545 +vt 0.683616 0.818182 +vt 0.700565 0.727273 +vt 0.742938 0.727273 +vt 0.858757 0.909091 +vt 0.858757 0.857955 +vt 0.926554 0.630682 +vt 0.926554 0.681818 +vt 0.926554 0.443182 +vt 0.926554 0.181818 +vt 0.858757 0.829545 +vt 0.858757 0.636364 +vt 0.683616 0.818182 +vt 0.700565 0.727273 +vt 0.742938 0.727273 +vt 0.683616 0.818182 +vt 0.700565 0.727273 +vt 0.742938 0.727273 +vt 0.683616 0.818182 +vt 0.700565 0.727273 +vt 0.742938 0.727273 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.5547 0.8321 0.0000 +vn 0.5547 0.8321 0.0000 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.7071 0.7071 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.8660 0.5000 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.7194 0.6794 0.1448 +vn 0.9824 -0.0000 0.1866 +vn 0.0473 -0.9987 0.0196 +vn 0.5294 -0.6630 0.5294 +vn 0.0671 -0.9955 0.0671 +vn 0.0473 0.9987 0.0196 +vn -0.4617 0.7574 -0.4617 +vn 0.0671 0.9955 0.0671 +vn 0.5294 0.6630 0.5294 +vn 0.7194 -0.6794 0.1448 +vn -0.4617 -0.7574 -0.4617 +vn 0.0196 -0.9987 0.0473 +vn -0.1363 -0.7263 -0.6737 +vn 0.1448 -0.6794 0.7194 +vn 0.0196 0.9987 0.0473 +vn 0.1448 0.6794 0.7194 +vn 0.7574 -0.4617 0.4617 +vn 0.7263 -0.6737 0.1363 +vn -0.0000 -0.7071 0.7071 +vn 0.7263 -0.1363 0.6737 +vn -0.7263 -0.6737 0.1363 +vn -0.7574 -0.4617 0.4617 +vn -0.7263 -0.1363 0.6737 +vn -0.6794 0.7194 -0.1448 +vn 0.0000 0.9824 -0.1866 +vn 0.9955 0.0671 -0.0671 +vn 0.6794 0.7194 -0.1448 +vn 0.9987 0.0473 -0.0196 +vn -0.9987 0.0473 -0.0196 +vn -0.9955 0.0671 -0.0671 +vn 0.6794 0.1448 -0.7194 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.1944 0.0000 -0.9809 +vn -0.6303 0.7311 -0.2611 +vn -0.1363 0.7263 -0.6737 +vn -0.6303 -0.7311 -0.2611 +vn 0.7150 -0.6333 0.2962 +vn 0.9239 0.0000 0.3827 +vn 0.7150 0.6333 0.2962 +vn 0.0948 -0.9947 0.0393 +vn 0.0948 0.9947 0.0393 +vn 0.1866 -0.0000 0.9824 +vn 0.0000 -0.7071 -0.7071 +vn -0.6737 -0.7263 -0.1363 +vn -0.6737 0.7263 -0.1363 +vn -0.6794 0.1448 -0.7194 +vn -0.9987 0.0196 -0.0473 +vn 0.9987 0.0196 -0.0473 +vn 0.0000 0.1866 -0.9824 +vn 0.6630 0.5294 -0.5294 +vn -0.6630 0.5294 -0.5294 +vn -0.1944 0.0000 0.9809 +vn -0.6303 0.7311 0.2611 +vn -0.4617 0.7574 0.4617 +vn -0.1363 0.7263 0.6737 +vn -0.4617 -0.7574 0.4617 +vn -0.6303 -0.7311 0.2611 +vn -0.1363 -0.7263 0.6737 +vn 0.7150 -0.6333 -0.2962 +vn 0.0671 -0.9955 -0.0671 +vn 0.5294 -0.6630 -0.5294 +vn 0.5294 0.6630 -0.5294 +vn 0.9239 0.0000 -0.3827 +vn 0.0948 0.9947 -0.0393 +vn 0.0671 0.9955 -0.0671 +vn 0.0948 -0.9947 -0.0393 +vn 0.7150 0.6333 -0.2962 +vn 0.0196 -0.9987 -0.0473 +vn 0.1448 -0.6794 -0.7194 +vn 0.0196 0.9987 -0.0473 +vn 0.1448 0.6794 -0.7194 +vn 0.1866 -0.0000 -0.9824 +vn 0.0473 0.9987 -0.0196 +vn 0.9824 -0.0000 -0.1866 +vn 0.0473 -0.9987 -0.0196 +vn 0.7194 -0.6794 -0.1448 +vn -0.6737 -0.7263 0.1363 +vn -0.6737 0.7263 0.1363 +vn 0.7194 0.6794 -0.1448 +s off +f 35/45/16 34/46/16 33/47/16 +f 38/48/17 39/49/17 37/50/17 +f 35/51/18 40/52/18 36/53/18 +f 34/54/19 37/50/19 33/55/19 +f 36/56/20 38/48/20 34/46/20 +f 33/57/21 39/49/21 35/58/21 +f 58/59/22 61/60/22 57/61/22 +f 46/62/22 49/63/22 45/64/22 +f 44/65/20 47/66/20 42/67/20 +f 41/68/21 45/69/21 43/70/21 +f 43/71/18 48/72/18 44/73/18 +f 42/67/19 46/74/19 41/68/19 +f 51/75/17 49/63/17 50/76/17 +f 45/77/18 52/78/18 48/72/18 +f 47/66/19 50/76/19 46/74/19 +f 48/79/23 51/75/23 47/80/23 +f 56/81/20 59/82/20 54/83/20 +f 53/84/21 57/85/21 55/86/21 +f 55/87/18 60/88/18 56/89/18 +f 54/83/19 58/90/19 53/84/19 +f 63/91/17 61/60/17 62/92/17 +f 57/93/18 64/94/18 60/88/18 +f 59/82/19 62/92/19 58/90/19 +f 60/95/23 63/91/23 59/96/23 +f 70/97/22 73/98/22 69/99/22 +f 68/100/20 71/101/20 66/102/20 +f 65/103/21 69/104/21 67/105/21 +f 67/106/18 72/107/18 68/108/18 +f 66/102/19 70/109/19 65/103/19 +f 75/110/17 73/98/17 74/111/17 +f 69/112/18 76/113/18 72/107/18 +f 71/101/19 74/111/19 70/109/19 +f 72/114/23 75/110/23 71/115/23 +f 82/116/22 85/117/22 81/118/22 +f 80/119/20 83/120/20 78/121/20 +f 77/122/21 81/123/21 79/124/21 +f 79/125/18 84/126/18 80/127/18 +f 78/121/19 82/128/19 77/122/19 +f 87/129/17 85/117/17 86/130/17 +f 81/131/18 88/132/18 84/126/18 +f 83/120/19 86/130/19 82/128/19 +f 84/133/23 87/129/23 83/134/23 +f 91/135/20 90/136/20 89/137/20 +f 91/135/23 94/138/23 92/139/23 +f 93/140/17 96/141/17 94/138/17 +f 95/142/22 98/143/22 96/141/22 +f 97/144/21 100/145/21 98/143/21 +f 105/146/22 110/147/22 104/148/22 +f 103/149/23 108/150/23 102/151/23 +f 106/152/21 111/153/21 105/146/21 +f 104/148/17 109/154/17 103/149/17 +f 108/150/20 101/155/20 102/151/20 +f 117/156/22 122/157/22 116/158/22 +f 115/159/23 120/160/23 114/161/23 +f 118/162/21 123/163/21 117/156/21 +f 116/158/17 121/164/17 115/159/17 +f 120/160/20 113/165/20 114/161/20 +f 147/166/19 137/167/19 141/168/19 +f 152/169/18 150/170/18 160/171/18 +f 257/172/20 279/173/20 259/174/20 +f 260/175/21 277/176/21 258/177/21 +f 258/177/18 280/178/18 257/172/18 +f 259/174/19 278/179/19 260/180/19 +f 179/181/20 185/182/20 177/183/20 +f 173/184/20 184/185/20 175/186/20 +f 175/187/19 183/188/19 176/189/19 +f 176/190/21 181/191/21 174/192/21 +f 174/193/18 182/194/18 173/195/18 +f 178/196/17 181/197/17 177/198/17 +f 179/199/17 184/200/17 180/201/17 +f 177/183/17 183/202/17 179/181/17 +f 180/203/17 182/204/17 178/205/17 +f 185/182/17 188/206/17 186/207/17 +f 177/198/19 186/207/19 178/196/19 +f 178/205/21 188/206/21 180/203/21 +f 180/201/18 187/208/18 179/199/18 +f 189/209/17 192/210/17 190/211/17 +f 199/212/20 205/213/20 197/214/20 +f 193/215/20 204/216/20 195/217/20 +f 195/218/19 203/219/19 196/220/19 +f 196/221/21 201/222/21 194/223/21 +f 194/224/18 202/225/18 193/226/18 +f 198/227/17 201/228/17 197/229/17 +f 199/230/17 204/231/17 200/232/17 +f 197/214/17 203/233/17 199/212/17 +f 200/234/17 202/235/17 198/236/17 +f 205/213/17 208/237/17 206/238/17 +f 197/229/19 206/238/19 198/227/19 +f 198/236/21 208/237/21 200/234/21 +f 200/232/18 207/239/18 199/230/18 +f 209/240/17 212/241/17 210/242/17 +f 219/243/20 225/244/20 217/245/20 +f 213/246/20 224/247/20 215/248/20 +f 215/249/19 223/250/19 216/251/19 +f 216/252/21 221/253/21 214/254/21 +f 214/255/18 222/256/18 213/257/18 +f 218/258/17 221/259/17 217/260/17 +f 219/261/17 224/262/17 220/263/17 +f 217/245/17 223/264/17 219/243/17 +f 220/265/17 222/266/17 218/267/17 +f 225/244/17 228/268/17 226/269/17 +f 217/260/19 226/269/19 218/258/19 +f 218/267/21 228/268/21 220/265/21 +f 220/263/18 227/270/18 219/261/18 +f 229/271/17 232/272/17 230/273/17 +f 239/274/20 245/275/20 237/276/20 +f 233/277/20 244/278/20 235/279/20 +f 235/280/19 243/281/19 236/282/19 +f 236/283/21 241/284/21 234/285/21 +f 234/286/18 242/287/18 233/288/18 +f 238/289/17 241/290/17 237/291/17 +f 239/292/17 244/293/17 240/294/17 +f 237/276/17 243/295/17 239/274/17 +f 240/296/17 242/297/17 238/298/17 +f 245/275/17 248/299/17 246/300/17 +f 237/291/19 246/300/19 238/289/19 +f 238/298/21 248/299/21 240/296/21 +f 240/294/18 247/301/18 239/292/18 +f 249/302/17 252/303/17 250/304/17 +f 255/305/19 284/306/19 256/307/19 +f 357/308/17 355/309/17 356/310/17 +f 267/311/17 266/312/17 268/313/17 +f 262/314/19 268/313/19 261/315/19 +f 263/316/18 265/317/18 264/318/18 +f 261/319/21 266/312/21 263/320/21 +f 264/321/20 267/311/20 262/322/20 +f 273/323/20 270/324/20 275/325/20 +f 276/326/21 271/327/21 274/328/21 +f 274/329/18 272/330/18 273/331/18 +f 275/332/19 269/333/19 276/334/19 +f 270/324/17 271/327/17 269/333/17 +f 365/335/17 363/336/17 364/337/17 +f 255/338/17 278/339/17 253/340/17 +f 253/341/17 279/173/17 254/342/17 +f 254/343/17 280/178/17 256/344/17 +f 256/307/17 277/176/17 255/305/17 +f 254/342/18 282/345/18 253/341/18 +f 256/344/21 283/346/21 254/343/21 +f 253/340/20 281/347/20 255/338/20 +f 286/348/19 298/349/19 287/350/19 +f 288/351/20 300/352/20 291/353/20 +f 292/354/18 294/355/18 289/356/18 +f 288/351/17 292/354/17 290/357/17 +f 300/352/24 292/358/24 291/353/24 +f 290/357/25 294/359/25 293/360/25 +f 296/361/26 286/362/26 285/363/26 +f 288/351/27 298/364/27 297/365/27 +f 290/357/21 296/361/21 285/363/21 +f 301/366/17 304/367/17 303/368/17 +f 336/369/17 337/370/17 335/371/17 +f 336/369/18 342/372/18 341/373/18 +f 338/374/21 341/375/21 339/376/21 +f 335/371/20 340/377/20 342/378/20 +f 337/370/19 339/379/19 340/380/19 +f 351/381/18 358/382/18 354/383/18 +f 349/384/17 347/385/17 348/386/17 +f 346/387/20 349/384/20 344/388/20 +f 343/389/21 347/385/21 345/390/21 +f 345/391/18 350/392/18 346/393/18 +f 344/394/19 348/386/19 343/395/19 +f 353/396/19 356/310/19 352/397/19 +f 354/398/20 357/308/20 353/399/20 +f 352/400/21 355/309/21 351/401/21 +f 359/402/18 366/403/18 362/404/18 +f 361/405/19 364/337/19 360/406/19 +f 362/407/20 365/335/20 361/408/20 +f 360/409/21 363/336/21 359/410/21 +f 373/411/17 371/412/17 372/413/17 +f 367/414/18 374/415/18 370/416/18 +f 369/417/19 372/413/19 368/418/19 +f 370/419/20 373/411/20 369/420/20 +f 368/421/21 371/412/21 367/422/21 +f 381/423/17 379/424/17 380/425/17 +f 375/426/18 382/427/18 378/428/18 +f 377/429/19 380/425/19 376/430/19 +f 378/431/20 381/423/20 377/432/20 +f 376/433/21 379/424/21 375/434/21 +f 389/435/17 387/436/17 388/437/17 +f 383/438/18 390/439/18 386/440/18 +f 385/441/19 388/437/19 384/442/19 +f 386/443/20 389/435/20 385/444/20 +f 384/445/21 387/436/21 383/446/21 +f 601/447/20 598/448/20 597/449/20 +f 598/450/20 604/451/20 599/452/20 +f 606/453/20 597/454/20 600/455/20 +f 597/454/20 605/456/20 601/457/20 +f 602/458/20 603/459/20 598/450/20 +f 609/460/21 612/461/21 607/462/21 +f 614/463/21 609/464/21 610/465/21 +f 607/466/21 616/467/21 608/468/21 +f 607/466/21 612/469/21 615/470/21 +f 611/471/21 609/464/21 613/472/21 +f 622/473/20 623/474/20 618/475/20 +f 615/470/28 601/447/28 605/456/28 +f 617/476/20 625/477/20 621/478/20 +f 616/467/18 605/456/18 606/453/18 +f 613/472/19 604/451/19 603/459/19 +f 611/479/29 603/459/29 602/480/29 +f 612/461/17 602/480/17 601/447/17 +f 626/481/20 617/476/20 620/482/20 +f 618/475/20 624/483/20 619/484/20 +f 621/485/20 618/486/20 617/487/20 +f 629/488/21 632/489/21 627/490/21 +f 634/491/21 629/492/21 630/493/21 +f 627/494/21 636/495/21 628/496/21 +f 627/494/21 632/497/21 635/498/21 +f 631/499/21 629/492/21 633/500/21 +f 635/498/28 621/485/28 625/477/28 +f 636/495/18 625/477/18 626/481/18 +f 633/500/19 624/483/19 623/474/19 +f 631/501/29 623/474/29 622/502/29 +f 632/489/17 622/502/17 621/485/17 +f 35/45/16 36/56/16 34/46/16 +f 38/48/17 40/52/17 39/49/17 +f 35/51/18 39/49/18 40/52/18 +f 34/54/19 38/48/19 37/50/19 +f 36/56/20 40/52/20 38/48/20 +f 33/57/21 37/50/21 39/49/21 +f 58/59/22 62/92/22 61/60/22 +f 46/62/22 50/76/22 49/63/22 +f 44/65/20 48/503/20 47/66/20 +f 41/68/21 46/74/21 45/69/21 +f 43/71/18 45/77/18 48/72/18 +f 42/67/19 47/66/19 46/74/19 +f 51/75/17 52/78/17 49/63/17 +f 45/77/18 49/63/18 52/78/18 +f 47/66/19 51/75/19 50/76/19 +f 48/79/23 52/78/23 51/75/23 +f 56/81/20 60/504/20 59/82/20 +f 53/84/21 58/90/21 57/85/21 +f 55/87/18 57/93/18 60/88/18 +f 54/83/19 59/82/19 58/90/19 +f 63/91/17 64/94/17 61/60/17 +f 57/93/18 61/60/18 64/94/18 +f 59/82/19 63/91/19 62/92/19 +f 60/95/23 64/94/23 63/91/23 +f 70/97/22 74/111/22 73/98/22 +f 68/100/20 72/505/20 71/101/20 +f 65/103/21 70/109/21 69/104/21 +f 67/106/18 69/112/18 72/107/18 +f 66/102/19 71/101/19 70/109/19 +f 75/110/17 76/113/17 73/98/17 +f 69/112/18 73/98/18 76/113/18 +f 71/101/19 75/110/19 74/111/19 +f 72/114/23 76/113/23 75/110/23 +f 82/116/22 86/130/22 85/117/22 +f 80/119/20 84/506/20 83/120/20 +f 77/122/21 82/128/21 81/123/21 +f 79/125/18 81/131/18 84/126/18 +f 78/121/19 83/120/19 82/128/19 +f 87/129/17 88/132/17 85/117/17 +f 81/131/18 85/117/18 88/132/18 +f 83/120/19 87/129/19 86/130/19 +f 84/133/23 88/132/23 87/129/23 +f 91/135/20 92/139/20 90/136/20 +f 91/135/23 93/140/23 94/138/23 +f 93/140/17 95/142/17 96/141/17 +f 95/142/22 97/144/22 98/143/22 +f 97/144/21 99/507/21 100/145/21 +f 105/146/22 111/153/22 110/147/22 +f 103/149/23 109/154/23 108/150/23 +f 106/152/21 112/508/21 111/153/21 +f 104/148/17 110/147/17 109/154/17 +f 108/150/20 107/509/20 101/155/20 +f 117/156/22 123/163/22 122/157/22 +f 115/159/23 121/164/23 120/160/23 +f 118/162/21 124/510/21 123/163/21 +f 116/158/17 122/157/17 121/164/17 +f 120/160/20 119/511/20 113/165/20 +f 137/167/19 138/512/19 139/513/19 +f 139/513/19 140/514/19 141/168/19 +f 141/168/19 142/515/19 145/516/19 +f 142/515/19 143/517/19 145/516/19 +f 143/517/19 144/518/19 145/516/19 +f 145/516/19 146/519/19 147/166/19 +f 147/166/19 148/520/19 137/167/19 +f 137/167/19 139/513/19 141/168/19 +f 145/516/19 147/166/19 141/168/19 +f 160/171/18 159/521/18 158/522/18 +f 158/522/18 157/523/18 156/524/18 +f 156/524/18 155/525/18 154/526/18 +f 154/526/18 153/527/18 152/169/18 +f 152/169/18 151/528/18 150/170/18 +f 150/170/18 149/529/18 160/171/18 +f 160/171/18 158/522/18 156/524/18 +f 156/524/18 154/526/18 160/171/18 +f 154/526/18 152/169/18 160/171/18 +f 257/172/20 280/178/20 279/173/20 +f 260/175/21 278/339/21 277/176/21 +f 258/177/18 277/176/18 280/178/18 +f 259/174/19 279/173/19 278/179/19 +f 179/181/20 187/208/20 185/182/20 +f 173/184/20 182/204/20 184/185/20 +f 175/187/19 184/200/19 183/188/19 +f 176/190/21 183/202/21 181/191/21 +f 174/193/18 181/197/18 182/194/18 +f 178/196/17 182/194/17 181/197/17 +f 179/199/17 183/188/17 184/200/17 +f 177/183/17 181/191/17 183/202/17 +f 180/203/17 184/185/17 182/204/17 +f 185/182/17 187/208/17 188/206/17 +f 177/198/19 185/182/19 186/207/19 +f 178/205/21 186/207/21 188/206/21 +f 180/201/18 188/206/18 187/208/18 +f 189/209/17 191/530/17 192/210/17 +f 199/212/20 207/239/20 205/213/20 +f 193/215/20 202/235/20 204/216/20 +f 195/218/19 204/231/19 203/219/19 +f 196/221/21 203/233/21 201/222/21 +f 194/224/18 201/228/18 202/225/18 +f 198/227/17 202/225/17 201/228/17 +f 199/230/17 203/219/17 204/231/17 +f 197/214/17 201/222/17 203/233/17 +f 200/234/17 204/216/17 202/235/17 +f 205/213/17 207/239/17 208/237/17 +f 197/229/19 205/213/19 206/238/19 +f 198/236/21 206/238/21 208/237/21 +f 200/232/18 208/237/18 207/239/18 +f 209/240/17 211/531/17 212/241/17 +f 219/243/20 227/270/20 225/244/20 +f 213/246/20 222/266/20 224/247/20 +f 215/249/19 224/262/19 223/250/19 +f 216/252/21 223/264/21 221/253/21 +f 214/255/18 221/259/18 222/256/18 +f 218/258/17 222/256/17 221/259/17 +f 219/261/17 223/250/17 224/262/17 +f 217/245/17 221/253/17 223/264/17 +f 220/265/17 224/247/17 222/266/17 +f 225/244/17 227/270/17 228/268/17 +f 217/260/19 225/244/19 226/269/19 +f 218/267/21 226/269/21 228/268/21 +f 220/263/18 228/268/18 227/270/18 +f 229/271/17 231/532/17 232/272/17 +f 239/274/20 247/301/20 245/275/20 +f 233/277/20 242/297/20 244/278/20 +f 235/280/19 244/293/19 243/281/19 +f 236/283/21 243/295/21 241/284/21 +f 234/286/18 241/290/18 242/287/18 +f 238/289/17 242/287/17 241/290/17 +f 239/292/17 243/281/17 244/293/17 +f 237/276/17 241/284/17 243/295/17 +f 240/296/17 244/278/17 242/297/17 +f 245/275/17 247/301/17 248/299/17 +f 237/291/19 245/275/19 246/300/19 +f 238/298/21 246/300/21 248/299/21 +f 240/294/18 248/299/18 247/301/18 +f 249/302/17 251/533/17 252/303/17 +f 255/305/19 281/534/19 284/306/19 +f 357/308/17 358/382/17 355/309/17 +f 267/311/17 265/317/17 266/312/17 +f 262/314/19 267/311/19 268/313/19 +f 263/316/18 266/312/18 265/317/18 +f 261/319/21 268/313/21 266/312/21 +f 264/321/20 265/317/20 267/311/20 +f 273/323/20 272/330/20 270/324/20 +f 276/326/21 269/333/21 271/327/21 +f 274/329/18 271/327/18 272/330/18 +f 275/332/19 270/324/19 269/333/19 +f 270/324/17 272/330/17 271/327/17 +f 365/335/17 366/403/17 363/336/17 +f 255/338/17 277/176/17 278/339/17 +f 253/341/17 278/179/17 279/173/17 +f 254/343/17 279/173/17 280/178/17 +f 256/307/17 280/178/17 277/176/17 +f 254/342/18 283/535/18 282/345/18 +f 256/344/21 284/536/21 283/346/21 +f 253/340/20 282/537/20 281/347/20 +f 286/348/19 295/538/19 298/349/19 +f 288/351/20 297/365/20 300/352/20 +f 292/354/18 299/539/18 294/355/18 +f 290/357/17 285/363/17 286/348/17 +f 286/348/17 287/350/17 288/351/17 +f 288/351/17 291/353/17 292/354/17 +f 292/354/17 289/356/17 290/357/17 +f 290/357/17 286/348/17 288/351/17 +f 300/352/24 299/540/24 292/358/24 +f 290/357/25 289/541/25 294/359/25 +f 296/361/26 295/542/26 286/362/26 +f 288/351/27 287/543/27 298/364/27 +f 290/357/21 293/360/21 296/361/21 +f 301/366/17 302/544/17 304/367/17 +f 336/369/17 338/374/17 337/370/17 +f 336/369/18 335/371/18 342/372/18 +f 338/374/21 336/369/21 341/375/21 +f 335/371/20 337/370/20 340/377/20 +f 337/370/19 338/374/19 339/379/19 +f 351/381/18 355/309/18 358/382/18 +f 349/384/17 350/392/17 347/385/17 +f 346/387/20 350/392/20 349/384/20 +f 343/389/21 348/386/21 347/385/21 +f 345/391/18 347/385/18 350/392/18 +f 344/394/19 349/384/19 348/386/19 +f 353/396/19 357/308/19 356/310/19 +f 354/398/20 358/382/20 357/308/20 +f 352/400/21 356/310/21 355/309/21 +f 359/402/18 363/336/18 366/403/18 +f 361/405/19 365/335/19 364/337/19 +f 362/407/20 366/403/20 365/335/20 +f 360/409/21 364/337/21 363/336/21 +f 373/411/17 374/415/17 371/412/17 +f 367/414/18 371/412/18 374/415/18 +f 369/417/19 373/411/19 372/413/19 +f 370/419/20 374/415/20 373/411/20 +f 368/421/21 372/413/21 371/412/21 +f 381/423/17 382/427/17 379/424/17 +f 375/426/18 379/424/18 382/427/18 +f 377/429/19 381/423/19 380/425/19 +f 378/431/20 382/427/20 381/423/20 +f 376/433/21 380/425/21 379/424/21 +f 389/435/17 390/439/17 387/436/17 +f 383/438/18 387/436/18 390/439/18 +f 385/441/19 389/435/19 388/437/19 +f 386/443/20 390/439/20 389/435/20 +f 384/445/21 388/437/21 387/436/21 +f 601/447/20 602/480/20 598/448/20 +f 598/450/20 603/459/20 604/451/20 +f 606/453/20 605/456/20 597/454/20 +f 609/460/21 611/479/21 612/461/21 +f 614/463/21 613/472/21 609/464/21 +f 607/466/21 615/470/21 616/467/21 +f 615/470/28 612/461/28 601/447/28 +f 616/467/18 615/470/18 605/456/18 +f 613/472/19 614/463/19 604/451/19 +f 611/479/29 613/472/29 603/459/29 +f 612/461/17 611/479/17 602/480/17 +f 626/481/20 625/477/20 617/476/20 +f 618/475/20 623/474/20 624/483/20 +f 621/485/20 622/502/20 618/486/20 +f 629/488/21 631/501/21 632/489/21 +f 634/491/21 633/500/21 629/492/21 +f 627/494/21 635/498/21 636/495/21 +f 635/498/28 632/489/28 621/485/28 +f 636/495/18 635/498/18 625/477/18 +f 633/500/19 634/491/19 624/483/19 +f 631/501/29 633/500/29 623/474/29 +f 632/489/17 631/501/17 622/502/17 +s 1 +f 129/545/30 140/546/21 128/547/21 +f 136/548/31 147/549/32 135/550/32 +f 126/551/33 137/552/17 125/553/17 +f 133/554/34 144/555/35 132/556/35 +f 130/557/36 141/558/30 129/545/30 +f 125/553/17 148/559/31 136/548/31 +f 127/560/37 138/561/33 126/551/33 +f 134/562/20 145/563/34 133/554/34 +f 131/564/16 142/565/36 130/557/36 +f 128/547/21 139/566/37 127/560/37 +f 135/550/32 146/567/20 134/562/20 +f 132/556/35 143/568/16 131/569/16 +f 165/570/36 154/571/16 166/572/16 +f 163/573/21 150/574/37 151/575/21 +f 169/576/20 158/577/32 170/578/32 +f 166/579/16 155/580/35 167/581/35 +f 163/573/21 152/582/30 164/583/30 +f 170/578/32 159/584/31 171/585/31 +f 172/586/17 149/587/33 161/588/33 +f 167/581/35 156/589/34 168/590/34 +f 164/583/30 153/591/36 165/570/36 +f 171/585/31 160/592/17 172/586/17 +f 161/588/33 150/574/37 162/593/37 +f 168/590/34 157/594/20 169/576/20 +f 588/595/38 574/596/27 587/597/39 +f 585/598/40 573/599/41 572/600/42 +f 568/601/43 570/602/44 569/603/45 +f 588/595/38 569/603/45 305/604/46 +f 587/597/39 573/599/41 586/605/47 +f 571/606/48 309/607/49 310/608/50 +f 574/596/27 308/609/51 573/599/41 +f 305/604/46 312/610/52 306/611/53 +f 331/612/54 512/613/55 326/614/56 +f 325/615/57 331/612/54 326/614/56 +f 513/616/58 330/617/59 326/614/56 +f 327/618/60 326/614/56 330/617/59 +f 334/619/28 508/620/61 509/621/62 +f 332/622/63 510/623/64 511/624/65 +f 330/617/59 514/625/66 329/626/67 +f 315/627/19 327/628/60 314/629/26 +f 317/630/20 325/631/57 316/632/27 +f 319/633/18 323/634/68 318/635/24 +f 403/636/16 396/637/69 395/638/16 +f 401/639/21 394/640/70 393/641/21 +f 399/642/17 392/643/71 391/644/17 +f 406/645/72 391/644/17 398/646/72 +f 404/647/69 397/648/20 396/637/69 +f 402/649/70 395/650/16 394/640/70 +f 400/651/71 393/641/21 392/643/71 +f 405/652/20 398/646/72 397/648/20 +f 419/653/16 412/654/69 411/655/16 +f 417/656/21 410/657/70 409/658/21 +f 415/659/17 408/660/71 407/661/17 +f 422/662/72 407/661/17 414/663/72 +f 420/664/69 413/665/20 412/654/69 +f 418/666/70 411/667/16 410/657/70 +f 416/668/71 409/658/21 408/660/71 +f 421/669/20 414/663/72 413/665/20 +f 435/670/16 428/671/69 427/672/16 +f 433/673/21 426/674/70 425/675/21 +f 431/676/17 424/677/71 423/678/17 +f 438/679/72 423/678/17 430/680/72 +f 436/681/69 429/682/20 428/671/69 +f 434/683/70 427/684/16 426/674/70 +f 432/685/71 425/675/21 424/677/71 +f 437/686/20 430/680/72 429/682/20 +f 453/687/73 452/688/44 439/689/74 +f 453/687/73 454/690/75 452/688/44 +f 453/691/73 445/692/76 446/693/48 +f 446/693/48 460/694/50 453/691/73 +f 447/695/42 443/696/77 448/697/41 +f 450/698/46 442/699/78 441/700/79 +f 451/701/45 439/689/74 452/688/44 +f 446/693/48 444/702/80 447/695/42 +f 448/697/41 442/699/78 449/703/27 +f 451/701/45 441/700/79 440/704/81 +f 459/705/49 448/697/41 458/706/51 +f 455/707/52 450/698/46 451/701/45 +f 458/706/51 449/703/27 457/708/82 +f 459/705/49 446/693/48 447/695/42 +f 455/707/52 452/688/44 454/690/75 +f 457/708/82 450/698/46 456/709/53 +f 461/710/83 459/711/49 462/712/16 +f 463/713/56 457/708/82 464/714/19 +f 465/715/29 455/716/52 466/717/17 +f 467/718/28 453/719/73 468/720/18 +f 468/721/18 460/722/50 461/710/83 +f 462/712/16 458/706/51 463/713/56 +f 464/714/19 456/709/53 465/715/29 +f 466/717/17 454/723/75 467/718/28 +f 471/724/17 483/725/75 470/726/28 +f 473/727/19 481/728/53 472/729/29 +f 475/730/16 479/731/51 474/732/56 +f 469/733/18 477/734/50 476/735/83 +f 470/726/28 484/736/25 469/737/18 +f 472/729/29 482/738/52 471/724/17 +f 474/732/56 480/739/82 473/727/19 +f 476/735/83 478/740/49 475/730/16 +f 480/739/82 487/741/46 481/728/53 +f 482/742/52 485/743/44 483/744/75 +f 478/745/49 491/746/48 490/747/42 +f 479/731/51 488/748/27 480/739/82 +f 481/728/53 486/749/45 482/742/52 +f 479/731/51 490/747/42 489/750/41 +f 487/741/46 497/751/43 486/749/45 +f 489/750/41 495/752/39 488/748/27 +f 490/747/42 492/753/84 493/754/40 +f 485/743/44 497/751/43 498/755/85 +f 487/741/46 495/752/39 496/756/38 +f 490/747/42 494/757/47 489/750/41 +f 491/746/48 477/758/50 484/759/25 +f 484/759/25 492/753/84 491/746/48 +f 484/760/25 483/744/75 485/743/44 +f 484/760/25 485/743/44 498/755/85 +f 493/761/40 503/762/69 494/757/47 +f 495/752/39 501/763/72 496/756/38 +f 484/764/25 505/765/70 492/766/84 +f 498/767/85 506/768/21 484/769/25 +f 497/770/43 499/771/71 498/767/85 +f 492/766/84 504/772/16 493/761/40 +f 494/757/47 502/773/20 495/752/39 +f 496/756/38 500/774/17 497/770/43 +f 313/775/21 321/776/86 320/777/25 +f 314/629/26 328/778/87 313/779/21 +f 316/632/27 326/780/56 315/627/19 +f 318/635/24 324/781/88 317/630/20 +f 320/777/25 322/782/89 319/633/18 +f 324/783/88 331/612/54 325/615/57 +f 321/784/86 334/619/28 322/782/89 +f 324/783/88 333/785/90 332/622/63 +f 328/786/87 330/617/59 329/626/67 +f 328/787/87 507/788/91 321/784/86 +f 322/782/89 333/785/90 323/789/68 +f 331/612/54 511/624/65 512/613/55 +f 334/619/28 510/623/64 333/785/90 +f 329/790/67 508/620/61 507/788/91 +f 528/791/67 521/792/61 522/793/91 +f 523/794/28 519/795/64 524/796/90 +f 526/797/54 518/798/65 517/799/55 +f 534/800/68 523/794/28 524/796/90 +f 529/801/87 522/793/91 536/802/86 +f 530/803/60 528/804/67 529/805/87 +f 533/806/88 524/796/90 525/807/63 +f 536/802/86 523/794/28 535/808/89 +f 533/806/88 526/797/54 532/809/57 +f 537/810/25 535/808/89 538/811/18 +f 539/812/24 533/813/88 540/814/20 +f 541/815/27 531/816/56 542/817/19 +f 543/818/26 529/819/87 544/820/21 +f 544/821/21 536/822/86 537/810/25 +f 538/811/18 534/823/68 539/812/24 +f 540/814/20 532/824/57 541/815/27 +f 542/817/19 530/825/60 543/818/26 +f 527/826/59 515/827/66 528/804/67 +f 525/807/63 519/795/64 518/798/65 +f 522/793/91 520/828/62 523/794/28 +f 530/803/60 531/829/56 527/826/59 +f 516/830/58 527/826/59 531/829/56 +f 532/809/57 526/797/54 531/829/56 +f 526/797/54 517/799/55 531/829/56 +f 558/831/45 551/832/53 552/833/46 +f 553/834/27 549/835/51 554/836/41 +f 556/837/48 548/838/49 547/839/50 +f 565/840/39 554/836/41 564/841/47 +f 566/842/38 558/831/45 552/833/46 +f 559/843/43 557/844/44 558/831/45 +f 564/841/47 555/845/42 563/846/40 +f 565/840/39 552/833/46 553/834/27 +f 563/846/40 556/837/48 562/847/84 +f 521/848/61 559/849/43 520/828/62 +f 515/850/66 560/851/85 521/848/61 +f 516/852/58 561/853/25 515/854/66 +f 531/855/56 562/856/84 516/852/58 +f 517/857/55 563/858/40 531/855/56 +f 518/859/65 564/860/47 517/857/55 +f 519/861/64 565/840/39 518/859/65 +f 520/828/62 566/862/38 519/861/64 +f 557/844/44 545/863/52 558/831/45 +f 555/845/42 549/835/51 548/838/49 +f 553/834/27 551/832/53 550/864/82 +f 560/865/85 561/866/25 557/844/44 +f 546/867/75 557/844/44 561/866/25 +f 562/847/84 556/837/48 561/868/25 +f 556/837/48 547/839/50 561/868/25 +f 551/869/53 580/870/19 550/864/82 +f 549/871/51 578/872/16 548/873/49 +f 546/874/75 575/875/17 545/876/52 +f 547/877/50 582/878/18 561/879/25 +f 561/880/25 576/881/28 546/874/75 +f 545/876/52 581/882/29 551/869/53 +f 550/864/82 579/883/56 549/871/51 +f 548/873/49 577/884/83 547/877/50 +f 585/598/40 571/606/48 584/885/84 +f 508/886/61 568/887/43 509/621/62 +f 514/888/66 567/889/85 508/886/61 +f 514/890/66 584/891/84 583/892/25 +f 326/893/56 584/891/84 513/894/58 +f 512/895/55 585/896/40 326/893/56 +f 511/897/65 586/898/47 512/895/55 +f 510/899/64 587/597/39 511/897/65 +f 509/621/62 588/900/38 510/899/64 +f 570/602/44 312/610/52 569/603/45 +f 573/599/41 309/607/49 572/600/42 +f 574/596/27 306/611/53 307/901/82 +f 567/902/85 583/903/25 570/602/44 +f 311/904/75 570/602/44 583/903/25 +f 584/885/84 571/606/48 583/905/25 +f 571/606/48 310/608/50 583/905/25 +f 306/906/53 594/907/19 307/901/82 +f 308/908/51 592/909/16 309/910/49 +f 311/911/75 589/912/17 312/913/52 +f 310/914/50 596/915/18 583/916/25 +f 583/917/25 590/918/28 311/911/75 +f 312/913/52 595/919/29 306/906/53 +f 307/901/82 593/920/56 308/908/51 +f 309/910/49 591/921/83 310/914/50 +f 651/922/73 650/923/44 637/924/74 +f 651/922/73 652/925/75 650/923/44 +f 651/926/73 643/927/76 644/928/48 +f 644/928/48 658/929/50 651/926/73 +f 645/930/42 641/931/77 646/932/41 +f 648/933/46 640/934/78 639/935/79 +f 649/936/45 637/924/74 650/923/44 +f 644/928/48 642/937/80 645/930/42 +f 646/932/41 640/934/78 647/938/27 +f 649/936/45 639/935/79 638/939/81 +f 657/940/49 646/932/41 656/941/51 +f 653/942/52 648/933/46 649/936/45 +f 656/941/51 647/938/27 655/943/82 +f 657/940/49 644/928/48 645/930/42 +f 653/942/52 650/923/44 652/925/75 +f 655/943/82 648/933/46 654/944/53 +f 659/945/83 657/946/49 660/947/16 +f 661/948/56 655/943/82 662/949/19 +f 663/950/29 653/951/52 664/952/17 +f 665/953/28 651/954/73 666/955/18 +f 666/956/18 658/957/50 659/945/83 +f 660/947/16 656/941/51 661/948/56 +f 662/949/19 654/944/53 663/950/29 +f 664/952/17 652/958/75 665/953/28 +f 669/959/17 681/960/75 668/961/28 +f 671/962/19 679/963/53 670/964/29 +f 673/965/16 677/966/51 672/967/56 +f 667/968/18 675/969/50 674/970/83 +f 668/961/28 682/971/25 667/972/18 +f 670/964/29 680/973/52 669/959/17 +f 672/967/56 678/974/82 671/962/19 +f 674/970/83 676/975/49 673/965/16 +f 678/974/82 685/976/46 679/963/53 +f 680/977/52 683/978/44 681/979/75 +f 676/980/49 689/981/48 688/982/42 +f 677/966/51 686/983/27 678/974/82 +f 679/963/53 684/984/45 680/977/52 +f 677/966/51 688/982/42 687/985/41 +f 685/976/46 695/986/43 684/984/45 +f 686/983/27 692/987/47 693/988/39 +f 689/981/48 691/989/40 688/982/42 +f 684/984/45 696/990/85 683/978/44 +f 685/976/46 693/988/39 694/991/38 +f 688/982/42 692/987/47 687/985/41 +f 689/981/48 675/992/50 682/993/25 +f 682/993/25 690/994/84 689/981/48 +f 682/995/25 681/979/75 683/978/44 +f 682/995/25 683/978/44 696/990/85 +f 691/996/40 701/997/69 692/987/47 +f 693/988/39 699/998/72 694/991/38 +f 682/999/25 703/1000/70 690/1001/84 +f 696/1002/85 704/1003/21 682/1004/25 +f 695/1005/43 697/1006/71 696/1002/85 +f 690/1001/84 702/1007/16 691/996/40 +f 692/987/47 700/1008/20 693/988/39 +f 694/991/38 698/1009/17 695/1005/43 +f 719/1010/92 705/1011/93 718/1012/94 +f 719/1010/92 718/1012/94 720/1013/95 +f 719/1014/92 712/1015/96 711/1016/97 +f 712/1015/96 719/1014/92 726/1017/98 +f 709/1018/99 713/1019/100 714/1020/101 +f 716/1021/102 708/1022/103 715/1023/24 +f 718/1012/94 706/1024/104 717/1025/105 +f 710/1026/106 712/1015/96 713/1019/100 +f 708/1022/103 714/1020/101 715/1023/24 +f 717/1025/105 707/1027/107 716/1021/102 +f 714/1020/101 725/1028/108 724/1029/109 +f 721/1030/110 716/1021/102 722/1031/111 +f 715/1023/24 724/1029/109 723/1032/112 +f 725/1028/108 712/1015/96 726/1017/98 +f 718/1012/94 721/1030/110 720/1013/95 +f 716/1021/102 723/1032/112 722/1031/111 +f 725/1033/108 727/1034/56 728/1035/16 +f 723/1032/112 729/1036/83 730/1037/18 +f 721/1038/110 731/1039/28 732/1040/17 +f 719/1041/92 733/1042/29 734/1043/19 +f 726/1044/98 734/1045/19 727/1034/56 +f 724/1029/109 728/1035/16 729/1036/83 +f 722/1031/111 730/1037/18 731/1039/28 +f 720/1046/95 732/1040/17 733/1042/29 +f 749/1047/95 737/1048/17 736/1049/29 +f 747/1050/111 739/1051/18 738/1052/28 +f 745/1053/109 741/1054/16 740/1055/83 +f 743/1056/98 735/1057/19 742/1058/56 +f 750/1059/26 736/1049/29 735/1060/19 +f 748/1061/110 738/1052/28 737/1048/17 +f 746/1062/112 740/1055/83 739/1051/18 +f 744/1063/108 742/1058/56 741/1054/16 +f 753/1064/102 746/1062/112 747/1050/111 +f 751/1065/94 748/1066/110 749/1067/95 +f 744/1068/108 757/1069/96 743/1070/98 +f 754/1071/24 745/1053/109 746/1062/112 +f 752/1072/105 747/1050/111 748/1066/110 +f 745/1053/109 756/1073/100 744/1068/108 +f 763/1074/113 753/1064/102 752/1072/105 +f 761/1075/114 755/1076/101 754/1071/24 +f 759/1077/115 757/1069/96 756/1073/100 +f 751/1065/94 763/1074/113 752/1072/105 +f 753/1064/102 761/1075/114 754/1071/24 +f 760/1078/116 756/1073/100 755/1076/101 +f 757/1069/96 750/1079/26 743/1070/98 +f 750/1079/26 757/1069/96 758/1080/117 +f 750/1081/26 751/1065/94 749/1067/95 +f 750/1081/26 764/1082/118 751/1065/94 +f 769/1083/69 759/1084/115 760/1078/116 +f 767/1085/72 761/1075/114 762/1086/119 +f 771/1087/70 750/1088/26 758/1089/117 +f 772/1090/21 764/1091/118 750/1092/26 +f 765/1093/71 763/1094/113 764/1091/118 +f 770/1095/16 758/1089/117 759/1084/115 +f 768/1096/20 760/1078/116 761/1075/114 +f 766/1097/17 762/1086/119 763/1094/113 +f 787/1098/92 773/1099/93 786/1100/94 +f 787/1098/92 786/1100/94 788/1101/95 +f 787/1102/92 780/1103/96 779/1104/97 +f 780/1103/96 787/1102/92 794/1105/98 +f 777/1106/99 781/1107/100 782/1108/101 +f 784/1109/102 776/1110/103 783/1111/24 +f 786/1100/94 774/1112/104 785/1113/105 +f 778/1114/106 780/1103/96 781/1107/100 +f 776/1110/103 782/1108/101 783/1111/24 +f 785/1113/105 775/1115/107 784/1109/102 +f 782/1108/101 793/1116/108 792/1117/109 +f 789/1118/110 784/1109/102 790/1119/111 +f 783/1111/24 792/1117/109 791/1120/112 +f 793/1116/108 780/1103/96 794/1105/98 +f 786/1100/94 789/1118/110 788/1101/95 +f 784/1109/102 791/1120/112 790/1119/111 +f 793/1121/108 795/1122/56 796/1123/16 +f 791/1120/112 797/1124/83 798/1125/18 +f 789/1126/110 799/1127/28 800/1128/17 +f 787/1129/92 801/1130/29 802/1131/19 +f 794/1132/98 802/1133/19 795/1122/56 +f 792/1117/109 796/1123/16 797/1124/83 +f 790/1119/111 798/1125/18 799/1127/28 +f 788/1134/95 800/1128/17 801/1130/29 +f 817/1135/95 805/1136/17 804/1137/29 +f 815/1138/111 807/1139/18 806/1140/28 +f 813/1141/109 809/1142/16 808/1143/83 +f 811/1144/98 803/1145/19 810/1146/56 +f 818/1147/26 804/1137/29 803/1148/19 +f 816/1149/110 806/1140/28 805/1136/17 +f 814/1150/112 808/1143/83 807/1139/18 +f 812/1151/108 810/1146/56 809/1142/16 +f 821/1152/102 814/1150/112 815/1138/111 +f 819/1153/94 816/1154/110 817/1155/95 +f 812/1156/108 825/1157/96 811/1158/98 +f 822/1159/24 813/1141/109 814/1150/112 +f 820/1160/105 815/1138/111 816/1154/110 +f 813/1141/109 824/1161/100 812/1156/108 +f 831/1162/113 821/1152/102 820/1160/105 +f 829/1163/114 823/1164/101 822/1159/24 +f 827/1165/115 825/1157/96 824/1161/100 +f 819/1153/94 831/1162/113 820/1160/105 +f 821/1152/102 829/1163/114 822/1159/24 +f 828/1166/116 824/1161/100 823/1164/101 +f 825/1157/96 818/1167/26 811/1158/98 +f 818/1167/26 825/1157/96 826/1168/117 +f 818/1169/26 819/1153/94 817/1155/95 +f 818/1169/26 832/1170/118 819/1153/94 +f 837/1171/69 827/1172/115 828/1166/116 +f 835/1173/72 829/1163/114 830/1174/119 +f 839/1175/70 818/1176/26 826/1177/117 +f 840/1178/21 832/1179/118 818/1180/26 +f 833/1181/71 831/1182/113 832/1179/118 +f 838/1183/16 826/1177/117 827/1172/115 +f 836/1184/20 828/1166/116 829/1163/114 +f 834/1185/17 830/1174/119 831/1182/113 +f 129/545/30 141/558/30 140/546/21 +f 136/548/31 148/559/31 147/549/32 +f 126/551/33 138/561/33 137/552/17 +f 133/554/34 145/563/34 144/555/35 +f 130/557/36 142/565/36 141/558/30 +f 125/553/17 137/552/17 148/559/31 +f 127/560/37 139/566/37 138/561/33 +f 134/562/20 146/567/20 145/563/34 +f 131/564/16 143/1186/16 142/565/36 +f 128/547/21 140/546/21 139/566/37 +f 135/550/32 147/549/32 146/567/20 +f 132/556/35 144/555/35 143/568/16 +f 165/570/36 153/591/36 154/571/16 +f 163/573/21 162/593/37 150/574/37 +f 169/576/20 157/594/20 158/577/32 +f 166/579/16 154/1187/16 155/580/35 +f 163/573/21 151/575/21 152/582/30 +f 170/578/32 158/577/32 159/584/31 +f 172/586/17 160/592/17 149/587/33 +f 167/581/35 155/580/35 156/589/34 +f 164/583/30 152/582/30 153/591/36 +f 171/585/31 159/584/31 160/592/17 +f 161/588/33 149/587/33 150/574/37 +f 168/590/34 156/589/34 157/594/20 +f 588/595/38 305/604/46 574/596/27 +f 585/598/40 586/605/47 573/599/41 +f 568/601/43 567/902/85 570/602/44 +f 588/595/38 568/601/43 569/603/45 +f 587/597/39 574/596/27 573/599/41 +f 571/606/48 572/600/42 309/607/49 +f 574/596/27 307/901/82 308/609/51 +f 305/604/46 569/603/45 312/610/52 +f 334/619/28 507/788/91 508/620/61 +f 332/622/63 333/785/90 510/623/64 +f 330/617/59 513/616/58 514/625/66 +f 315/627/19 326/780/56 327/628/60 +f 317/630/20 324/781/88 325/631/57 +f 319/633/18 322/782/89 323/634/68 +f 403/636/16 404/647/69 396/637/69 +f 401/639/21 402/649/70 394/640/70 +f 399/642/17 400/651/71 392/643/71 +f 406/645/72 399/642/17 391/644/17 +f 404/647/69 405/652/20 397/648/20 +f 402/649/70 403/1188/16 395/650/16 +f 400/651/71 401/639/21 393/641/21 +f 405/652/20 406/645/72 398/646/72 +f 419/653/16 420/664/69 412/654/69 +f 417/656/21 418/666/70 410/657/70 +f 415/659/17 416/668/71 408/660/71 +f 422/662/72 415/659/17 407/661/17 +f 420/664/69 421/669/20 413/665/20 +f 418/666/70 419/1189/16 411/667/16 +f 416/668/71 417/656/21 409/658/21 +f 421/669/20 422/662/72 414/663/72 +f 435/670/16 436/681/69 428/671/69 +f 433/673/21 434/683/70 426/674/70 +f 431/676/17 432/685/71 424/677/71 +f 438/679/72 431/676/17 423/678/17 +f 436/681/69 437/686/20 429/682/20 +f 434/683/70 435/1190/16 427/684/16 +f 432/685/71 433/673/21 425/675/21 +f 437/686/20 438/679/72 430/680/72 +f 447/695/42 444/702/80 443/696/77 +f 450/698/46 449/703/27 442/699/78 +f 451/701/45 440/704/81 439/689/74 +f 446/693/48 445/692/76 444/702/80 +f 448/697/41 443/696/77 442/699/78 +f 451/701/45 450/698/46 441/700/79 +f 459/705/49 447/695/42 448/697/41 +f 455/707/52 456/709/53 450/698/46 +f 458/706/51 448/697/41 449/703/27 +f 459/705/49 460/694/50 446/693/48 +f 455/707/52 451/701/45 452/688/44 +f 457/708/82 449/703/27 450/698/46 +f 461/710/83 460/722/50 459/711/49 +f 463/713/56 458/706/51 457/708/82 +f 465/715/29 456/709/53 455/716/52 +f 467/718/28 454/723/75 453/719/73 +f 468/721/18 453/1191/73 460/722/50 +f 462/712/16 459/711/49 458/706/51 +f 464/714/19 457/708/82 456/709/53 +f 466/717/17 455/716/52 454/723/75 +f 471/724/17 482/738/52 483/725/75 +f 473/727/19 480/739/82 481/728/53 +f 475/730/16 478/740/49 479/731/51 +f 469/733/18 484/1192/25 477/734/50 +f 470/726/28 483/725/75 484/736/25 +f 472/729/29 481/728/53 482/738/52 +f 474/732/56 479/731/51 480/739/82 +f 476/735/83 477/734/50 478/740/49 +f 480/739/82 488/748/27 487/741/46 +f 482/742/52 486/749/45 485/743/44 +f 478/745/49 477/758/50 491/746/48 +f 479/731/51 489/750/41 488/748/27 +f 481/728/53 487/741/46 486/749/45 +f 479/731/51 478/745/49 490/747/42 +f 487/741/46 496/756/38 497/751/43 +f 489/750/41 494/757/47 495/752/39 +f 490/747/42 491/746/48 492/753/84 +f 485/743/44 486/749/45 497/751/43 +f 487/741/46 488/748/27 495/752/39 +f 490/747/42 493/754/40 494/757/47 +f 493/761/40 504/772/16 503/762/69 +f 495/752/39 502/773/20 501/763/72 +f 484/764/25 506/1193/21 505/765/70 +f 498/767/85 499/771/71 506/768/21 +f 497/770/43 500/774/17 499/771/71 +f 492/766/84 505/765/70 504/772/16 +f 494/757/47 503/762/69 502/773/20 +f 496/756/38 501/763/72 500/774/17 +f 313/775/21 328/1194/87 321/776/86 +f 314/629/26 327/628/60 328/778/87 +f 316/632/27 325/631/57 326/780/56 +f 318/635/24 323/634/68 324/781/88 +f 320/777/25 321/776/86 322/782/89 +f 324/783/88 332/622/63 331/612/54 +f 321/784/86 507/788/91 334/619/28 +f 324/783/88 323/789/68 333/785/90 +f 328/786/87 327/618/60 330/617/59 +f 328/787/87 329/790/67 507/788/91 +f 322/782/89 334/619/28 333/785/90 +f 331/612/54 332/622/63 511/624/65 +f 334/619/28 509/621/62 510/623/64 +f 329/790/67 514/1195/66 508/620/61 +f 528/791/67 515/1196/66 521/792/61 +f 523/794/28 520/828/62 519/795/64 +f 526/797/54 525/807/63 518/798/65 +f 534/800/68 535/808/89 523/794/28 +f 529/801/87 528/791/67 522/793/91 +f 530/803/60 527/826/59 528/804/67 +f 533/806/88 534/800/68 524/796/90 +f 536/802/86 522/793/91 523/794/28 +f 533/806/88 525/807/63 526/797/54 +f 537/810/25 536/822/86 535/808/89 +f 539/812/24 534/823/68 533/813/88 +f 541/815/27 532/824/57 531/816/56 +f 543/818/26 530/825/60 529/819/87 +f 544/821/21 529/1197/87 536/822/86 +f 538/811/18 535/808/89 534/823/68 +f 540/814/20 533/813/88 532/824/57 +f 542/817/19 531/816/56 530/825/60 +f 527/826/59 516/830/58 515/827/66 +f 525/807/63 524/796/90 519/795/64 +f 522/793/91 521/792/61 520/828/62 +f 558/831/45 545/863/52 551/832/53 +f 553/834/27 550/864/82 549/835/51 +f 556/837/48 555/845/42 548/838/49 +f 565/840/39 553/834/27 554/836/41 +f 566/842/38 559/843/43 558/831/45 +f 559/843/43 560/865/85 557/844/44 +f 564/841/47 554/836/41 555/845/42 +f 565/840/39 566/842/38 552/833/46 +f 563/846/40 555/845/42 556/837/48 +f 521/848/61 560/851/85 559/849/43 +f 515/850/66 561/1198/25 560/851/85 +f 516/852/58 562/856/84 561/853/25 +f 531/855/56 563/858/40 562/856/84 +f 517/857/55 564/860/47 563/858/40 +f 518/859/65 565/840/39 564/860/47 +f 519/861/64 566/862/38 565/840/39 +f 520/828/62 559/849/43 566/862/38 +f 557/844/44 546/867/75 545/863/52 +f 555/845/42 554/836/41 549/835/51 +f 553/834/27 552/833/46 551/832/53 +f 551/869/53 581/882/29 580/870/19 +f 549/871/51 579/883/56 578/872/16 +f 546/874/75 576/881/28 575/875/17 +f 547/877/50 577/884/83 582/878/18 +f 561/880/25 582/1199/18 576/881/28 +f 545/876/52 575/875/17 581/882/29 +f 550/864/82 580/870/19 579/883/56 +f 548/873/49 578/872/16 577/884/83 +f 585/598/40 572/600/42 571/606/48 +f 508/886/61 567/889/85 568/887/43 +f 514/888/66 583/1200/25 567/889/85 +f 514/890/66 513/894/58 584/891/84 +f 326/893/56 585/896/40 584/891/84 +f 512/895/55 586/898/47 585/896/40 +f 511/897/65 587/597/39 586/898/47 +f 510/899/64 588/900/38 587/597/39 +f 509/621/62 568/887/43 588/900/38 +f 570/602/44 311/904/75 312/610/52 +f 573/599/41 308/609/51 309/607/49 +f 574/596/27 305/604/46 306/611/53 +f 306/906/53 595/919/29 594/907/19 +f 308/908/51 593/920/56 592/909/16 +f 311/911/75 590/918/28 589/912/17 +f 310/914/50 591/921/83 596/915/18 +f 583/917/25 596/1201/18 590/918/28 +f 312/913/52 589/912/17 595/919/29 +f 307/901/82 594/907/19 593/920/56 +f 309/910/49 592/909/16 591/921/83 +f 645/930/42 642/937/80 641/931/77 +f 648/933/46 647/938/27 640/934/78 +f 649/936/45 638/939/81 637/924/74 +f 644/928/48 643/927/76 642/937/80 +f 646/932/41 641/931/77 640/934/78 +f 649/936/45 648/933/46 639/935/79 +f 657/940/49 645/930/42 646/932/41 +f 653/942/52 654/944/53 648/933/46 +f 656/941/51 646/932/41 647/938/27 +f 657/940/49 658/929/50 644/928/48 +f 653/942/52 649/936/45 650/923/44 +f 655/943/82 647/938/27 648/933/46 +f 659/945/83 658/957/50 657/946/49 +f 661/948/56 656/941/51 655/943/82 +f 663/950/29 654/944/53 653/951/52 +f 665/953/28 652/958/75 651/954/73 +f 666/956/18 651/1202/73 658/957/50 +f 660/947/16 657/946/49 656/941/51 +f 662/949/19 655/943/82 654/944/53 +f 664/952/17 653/951/52 652/958/75 +f 669/959/17 680/973/52 681/960/75 +f 671/962/19 678/974/82 679/963/53 +f 673/965/16 676/975/49 677/966/51 +f 667/968/18 682/1203/25 675/969/50 +f 668/961/28 681/960/75 682/971/25 +f 670/964/29 679/963/53 680/973/52 +f 672/967/56 677/966/51 678/974/82 +f 674/970/83 675/969/50 676/975/49 +f 678/974/82 686/983/27 685/976/46 +f 680/977/52 684/984/45 683/978/44 +f 676/980/49 675/992/50 689/981/48 +f 677/966/51 687/985/41 686/983/27 +f 679/963/53 685/976/46 684/984/45 +f 677/966/51 676/980/49 688/982/42 +f 685/976/46 694/991/38 695/986/43 +f 686/983/27 687/985/41 692/987/47 +f 689/981/48 690/994/84 691/989/40 +f 684/984/45 695/986/43 696/990/85 +f 685/976/46 686/983/27 693/988/39 +f 688/982/42 691/989/40 692/987/47 +f 691/996/40 702/1007/16 701/997/69 +f 693/988/39 700/1008/20 699/998/72 +f 682/999/25 704/1204/21 703/1000/70 +f 696/1002/85 697/1006/71 704/1003/21 +f 695/1005/43 698/1009/17 697/1006/71 +f 690/1001/84 703/1000/70 702/1007/16 +f 692/987/47 701/997/69 700/1008/20 +f 694/991/38 699/998/72 698/1009/17 +f 709/1018/99 710/1026/106 713/1019/100 +f 716/1021/102 707/1027/107 708/1022/103 +f 718/1012/94 705/1011/93 706/1024/104 +f 710/1026/106 711/1016/97 712/1015/96 +f 708/1022/103 709/1018/99 714/1020/101 +f 717/1025/105 706/1024/104 707/1027/107 +f 714/1020/101 713/1019/100 725/1028/108 +f 721/1030/110 717/1025/105 716/1021/102 +f 715/1023/24 714/1020/101 724/1029/109 +f 725/1028/108 713/1019/100 712/1015/96 +f 718/1012/94 717/1025/105 721/1030/110 +f 716/1021/102 715/1023/24 723/1032/112 +f 725/1033/108 726/1044/98 727/1034/56 +f 723/1032/112 724/1029/109 729/1036/83 +f 721/1038/110 722/1031/111 731/1039/28 +f 719/1041/92 720/1046/95 733/1042/29 +f 726/1044/98 719/1205/92 734/1045/19 +f 724/1029/109 725/1033/108 728/1035/16 +f 722/1031/111 723/1032/112 730/1037/18 +f 720/1046/95 721/1038/110 732/1040/17 +f 749/1047/95 748/1061/110 737/1048/17 +f 747/1050/111 746/1062/112 739/1051/18 +f 745/1053/109 744/1063/108 741/1054/16 +f 743/1056/98 750/1206/26 735/1057/19 +f 750/1059/26 749/1047/95 736/1049/29 +f 748/1061/110 747/1050/111 738/1052/28 +f 746/1062/112 745/1053/109 740/1055/83 +f 744/1063/108 743/1056/98 742/1058/56 +f 753/1064/102 754/1071/24 746/1062/112 +f 751/1065/94 752/1072/105 748/1066/110 +f 744/1068/108 756/1073/100 757/1069/96 +f 754/1071/24 755/1076/101 745/1053/109 +f 752/1072/105 753/1064/102 747/1050/111 +f 745/1053/109 755/1076/101 756/1073/100 +f 763/1074/113 762/1086/119 753/1064/102 +f 761/1075/114 760/1078/116 755/1076/101 +f 759/1077/115 758/1080/117 757/1069/96 +f 751/1065/94 764/1082/118 763/1074/113 +f 753/1064/102 762/1086/119 761/1075/114 +f 760/1078/116 759/1077/115 756/1073/100 +f 769/1083/69 770/1095/16 759/1084/115 +f 767/1085/72 768/1096/20 761/1075/114 +f 771/1087/70 772/1207/21 750/1088/26 +f 772/1090/21 765/1093/71 764/1091/118 +f 765/1093/71 766/1097/17 763/1094/113 +f 770/1095/16 771/1087/70 758/1089/117 +f 768/1096/20 769/1083/69 760/1078/116 +f 766/1097/17 767/1085/72 762/1086/119 +f 777/1106/99 778/1114/106 781/1107/100 +f 784/1109/102 775/1115/107 776/1110/103 +f 786/1100/94 773/1099/93 774/1112/104 +f 778/1114/106 779/1104/97 780/1103/96 +f 776/1110/103 777/1106/99 782/1108/101 +f 785/1113/105 774/1112/104 775/1115/107 +f 782/1108/101 781/1107/100 793/1116/108 +f 789/1118/110 785/1113/105 784/1109/102 +f 783/1111/24 782/1108/101 792/1117/109 +f 793/1116/108 781/1107/100 780/1103/96 +f 786/1100/94 785/1113/105 789/1118/110 +f 784/1109/102 783/1111/24 791/1120/112 +f 793/1121/108 794/1132/98 795/1122/56 +f 791/1120/112 792/1117/109 797/1124/83 +f 789/1126/110 790/1119/111 799/1127/28 +f 787/1129/92 788/1134/95 801/1130/29 +f 794/1132/98 787/1208/92 802/1133/19 +f 792/1117/109 793/1121/108 796/1123/16 +f 790/1119/111 791/1120/112 798/1125/18 +f 788/1134/95 789/1126/110 800/1128/17 +f 817/1135/95 816/1149/110 805/1136/17 +f 815/1138/111 814/1150/112 807/1139/18 +f 813/1141/109 812/1151/108 809/1142/16 +f 811/1144/98 818/1209/26 803/1145/19 +f 818/1147/26 817/1135/95 804/1137/29 +f 816/1149/110 815/1138/111 806/1140/28 +f 814/1150/112 813/1141/109 808/1143/83 +f 812/1151/108 811/1144/98 810/1146/56 +f 821/1152/102 822/1159/24 814/1150/112 +f 819/1153/94 820/1160/105 816/1154/110 +f 812/1156/108 824/1161/100 825/1157/96 +f 822/1159/24 823/1164/101 813/1141/109 +f 820/1160/105 821/1152/102 815/1138/111 +f 813/1141/109 823/1164/101 824/1161/100 +f 831/1162/113 830/1174/119 821/1152/102 +f 829/1163/114 828/1166/116 823/1164/101 +f 827/1165/115 826/1168/117 825/1157/96 +f 819/1153/94 832/1170/118 831/1162/113 +f 821/1152/102 830/1174/119 829/1163/114 +f 828/1166/116 827/1165/115 824/1161/100 +f 837/1171/69 838/1183/16 827/1172/115 +f 835/1173/72 836/1184/20 829/1163/114 +f 839/1175/70 840/1210/21 818/1176/26 +f 840/1178/21 833/1181/71 832/1179/118 +f 833/1181/71 834/1185/17 831/1182/113 +f 838/1183/16 839/1175/70 826/1177/117 +f 836/1184/20 837/1171/69 828/1166/116 +f 834/1185/17 835/1173/72 830/1174/119 diff --git a/src/main/resources/assets/hbm/models/machines/rotary_furnace.obj b/src/main/resources/assets/hbm/models/machines/rotary_furnace.obj new file mode 100644 index 000000000..20591f327 --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/rotary_furnace.obj @@ -0,0 +1,3893 @@ +# Blender v2.79 (sub 0) OBJ File: 'rotary_furnace.blend' +# www.blender.org +o Piston +v -0.375000 2.000000 1.125000 +v -0.375000 2.000000 1.875000 +v 0.375000 2.000000 1.875000 +v 0.375000 2.000000 1.125000 +v -0.375000 3.000000 1.125000 +v -0.375000 3.000000 1.875000 +v 0.375000 3.000000 1.875000 +v 0.375000 3.000000 1.125000 +v -0.500000 3.000000 1.000000 +v -0.500000 3.000000 2.000000 +v 0.500000 3.000000 2.000000 +v 0.500000 3.000000 1.000000 +v -0.500000 3.250000 1.000000 +v -0.500000 3.250000 2.000000 +v 0.500000 3.250000 2.000000 +v 0.500000 3.250000 1.000000 +vt 0.681035 0.815217 +vt 0.620690 0.826087 +vt 0.629310 0.815217 +vt 0.741379 0.847826 +vt 0.689655 0.934783 +vt 0.689655 0.847826 +vt 0.844828 0.847826 +vt 0.793103 0.934783 +vt 0.793103 0.847826 +vt 0.741379 0.934783 +vt 0.896552 0.847826 +vt 0.844828 0.934783 +vt 0.758621 0.826087 +vt 0.689655 0.847826 +vt 0.689655 0.826087 +vt 0.629310 0.750000 +vt 0.689655 0.739130 +vt 0.681035 0.750000 +vt 0.620690 0.739130 +vt 0.620690 0.847826 +vt 0.689655 0.934783 +vt 0.620690 0.934783 +vt 0.896552 0.826087 +vt 0.827586 0.847826 +vt 0.827586 0.826087 +vt 0.758621 0.847826 +vt 0.896552 0.934783 +vt 0.896552 0.847826 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +s off +f 8/1/1 11/2/1 7/3/1 +f 4/4/2 7/5/2 3/6/2 +f 2/7/3 5/8/3 1/9/3 +f 1/9/4 8/10/4 4/4/4 +f 3/11/5 6/12/5 2/7/5 +f 9/13/4 16/14/4 12/15/4 +f 6/16/1 9/17/1 5/18/1 +f 5/18/1 12/15/1 8/1/1 +f 7/3/1 10/19/1 6/16/1 +f 15/20/6 13/21/6 14/22/6 +f 11/23/5 14/24/5 10/25/5 +f 12/15/2 15/20/2 11/2/2 +f 10/25/3 13/26/3 9/13/3 +f 8/1/1 12/15/1 11/2/1 +f 4/4/2 8/10/2 7/5/2 +f 2/7/3 6/12/3 5/8/3 +f 1/9/4 5/8/4 8/10/4 +f 3/11/5 7/27/5 6/12/5 +f 9/13/4 13/26/4 16/14/4 +f 6/16/1 10/19/1 9/17/1 +f 5/18/1 9/17/1 12/15/1 +f 7/3/1 11/2/1 10/19/1 +f 15/20/6 16/14/6 13/21/6 +f 11/23/5 15/28/5 14/24/5 +f 12/15/2 16/14/2 15/20/2 +f 10/25/3 14/24/3 13/26/3 +o Furnace +v -1.500000 0.000000 2.500000 +v 1.500000 0.000000 2.500000 +v -1.500000 0.000000 -2.500000 +v 1.500000 0.000000 -2.500000 +v 1.500000 0.750000 -0.500000 +v -1.500000 0.500000 2.500000 +v 1.500000 0.500000 2.500000 +v 1.500000 0.250000 -0.500000 +v -1.500000 0.500000 0.500000 +v 1.500000 0.500000 0.500000 +v 1.500000 1.000000 0.500000 +v 1.500000 1.000000 -2.500000 +v -1.500000 1.000000 -2.500000 +v -1.500000 1.000000 0.500000 +v -1.250000 1.000000 -0.500000 +v 1.250000 1.000000 -0.500000 +v -1.250000 1.000000 -1.500000 +v 1.250000 1.000000 -1.500000 +v 0.500000 1.000000 0.250000 +v 0.500000 1.000000 -2.250000 +v -0.500000 1.000000 0.250000 +v -0.500000 1.000000 -2.250000 +v -1.250000 4.000000 -0.500000 +v 1.250000 4.000000 -0.500000 +v -1.250000 4.000000 -1.500000 +v 1.250000 4.000000 -1.500000 +v 0.500000 4.000000 0.250000 +v 0.500000 4.000000 -2.250000 +v -0.500000 4.000000 0.250000 +v -0.500000 4.000000 -2.250000 +v -0.500000 4.500000 -1.500000 +v -0.500000 4.500000 -0.500000 +v 0.500000 4.500000 -1.500000 +v 0.500000 4.500000 -0.500000 +v 0.500000 1.000000 0.500000 +v 1.250000 1.000000 0.500000 +v 0.500000 1.000000 0.250000 +v 1.250000 1.000000 -0.500000 +v 0.500000 3.500000 0.500000 +v 1.250000 3.500000 0.500000 +v 0.500000 3.500000 0.250000 +v 1.250000 3.500000 -0.500000 +v -0.500000 5.000000 -1.500000 +v -0.500000 5.000000 -0.500000 +v 0.500000 5.000000 -1.500000 +v 0.500000 5.000000 -0.500000 +v 0.500000 4.750000 -1.500000 +v 0.500000 4.926777 -1.426777 +v 0.500000 5.000000 -1.250000 +v 0.500000 4.926777 -1.073223 +v 0.500000 4.750000 -1.000000 +v 0.500000 4.573223 -1.073223 +v 0.500000 4.500000 -1.250000 +v 0.500000 4.573223 -1.426777 +v 0.625000 4.750000 -1.500000 +v 0.625000 4.926777 -1.426777 +v 0.625000 5.000000 -1.250000 +v 0.625000 4.926777 -1.073223 +v 0.625000 4.750000 -1.000000 +v 0.625000 4.573223 -1.073223 +v 0.625000 4.500000 -1.250000 +v 0.625000 4.573223 -1.426777 +v 0.801777 4.676777 -1.500000 +v 0.926777 4.801777 -1.426777 +v 0.978553 4.853553 -1.250000 +v 0.926777 4.801777 -1.073223 +v 0.801777 4.676777 -1.000000 +v 0.676776 4.551776 -1.073223 +v 0.676776 4.551776 -1.426777 +v 0.875000 4.500000 -1.500000 +v 1.051777 4.500000 -1.426777 +v 1.125000 4.500000 -1.250000 +v 1.051777 4.500000 -1.073223 +v 0.875000 4.500000 -1.000000 +v 0.698223 4.500000 -1.073223 +v 0.698223 4.500000 -1.426777 +v 0.625000 4.000000 -1.250000 +v 0.875000 4.000000 -1.500000 +v 1.051777 4.000000 -1.426777 +v 1.125000 4.000000 -1.250000 +v 1.051777 4.000000 -1.073223 +v 0.875000 4.000000 -1.000000 +v 0.698223 4.000000 -1.073223 +v 0.698223 4.000000 -1.426777 +v 0.500000 4.750000 -1.000000 +v 0.500000 4.926777 -0.926777 +v 0.500000 5.000000 -0.750000 +v 0.500000 4.926777 -0.573223 +v 0.500000 4.750000 -0.500000 +v 0.500000 4.573223 -0.573223 +v 0.500000 4.500000 -0.750000 +v 0.500000 4.573223 -0.926777 +v 0.625000 4.750000 -1.000000 +v 0.625000 4.926777 -0.926777 +v 0.625000 5.000000 -0.750000 +v 0.625000 4.926777 -0.573223 +v 0.625000 4.750000 -0.500000 +v 0.625000 4.573223 -0.573223 +v 0.625000 4.500000 -0.750000 +v 0.625000 4.573223 -0.926777 +v 0.801777 4.676777 -1.000000 +v 0.926777 4.801777 -0.926777 +v 0.978553 4.853553 -0.750000 +v 0.926777 4.801777 -0.573223 +v 0.801777 4.676777 -0.500000 +v 0.676776 4.551776 -0.573223 +v 0.676776 4.551776 -0.926777 +v 0.875000 4.500000 -1.000000 +v 1.051777 4.500000 -0.926777 +v 1.125000 4.500000 -0.750000 +v 1.051777 4.500000 -0.573223 +v 0.875000 4.500000 -0.500000 +v 0.698223 4.500000 -0.573223 +v 0.698223 4.500000 -0.926777 +v 0.625000 4.000000 -0.750000 +v 0.875000 4.000000 -1.000000 +v 1.051777 4.000000 -0.926777 +v 1.125000 4.000000 -0.750000 +v 1.051777 4.000000 -0.573223 +v 0.875000 4.000000 -0.500000 +v 0.698223 4.000000 -0.573223 +v 0.698223 4.000000 -0.926777 +v 1.125000 3.000000 0.500000 +v 1.051777 3.176777 0.500000 +v 0.875000 3.250000 0.500000 +v 0.698223 3.176777 0.500000 +v 0.625000 3.000000 0.500000 +v 0.698223 2.823223 0.500000 +v 0.875000 2.750000 0.500000 +v 1.051777 2.823223 0.500000 +v 1.125000 3.000000 0.625000 +v 1.051777 3.176777 0.625000 +v 0.875000 3.250000 0.625000 +v 0.698223 3.176777 0.625000 +v 0.625000 3.000000 0.625000 +v 0.698223 2.823223 0.625000 +v 0.875000 2.750000 0.625000 +v 1.051777 2.823223 0.625000 +v 1.125000 2.926777 0.801777 +v 1.051777 3.051777 0.926777 +v 0.875000 3.103553 0.978554 +v 0.698223 3.051777 0.926777 +v 0.625000 2.926777 0.801777 +v 0.698223 2.801776 0.676777 +v 1.051777 2.801776 0.676777 +v 1.125000 2.750000 0.875000 +v 1.051777 2.750000 1.051777 +v 0.875000 2.750000 1.125000 +v 0.698223 2.750000 1.051777 +v 0.625000 2.750000 0.875000 +v 0.698223 2.750000 0.698223 +v 1.051777 2.750000 0.698223 +v 0.875000 1.000000 0.625000 +v 1.125000 1.000000 0.875000 +v 1.051777 1.000000 1.051777 +v 0.875000 1.000000 1.125000 +v 0.698223 1.000000 1.051777 +v 0.625000 1.000000 0.875000 +v 0.698223 1.000000 0.698223 +v 1.051777 1.000000 0.698223 +v 0.875000 0.646447 0.771447 +v 1.125000 0.823223 0.948224 +v 1.051777 0.948223 1.073224 +v 0.698223 0.948223 1.073224 +v 0.625000 0.823223 0.948224 +v 0.698223 0.698223 0.823223 +v 1.051777 0.698223 0.823223 +v 0.875000 0.500000 1.125000 +v 1.125000 0.750000 1.125000 +v 1.051777 0.926777 1.125000 +v 0.698223 0.926777 1.125000 +v 0.625000 0.750000 1.125000 +v 0.698223 0.573223 1.125000 +v 1.051777 0.573223 1.125000 +v 1.125000 2.250000 0.500000 +v 1.051777 2.426777 0.500000 +v 0.875000 2.500000 0.500000 +v 0.698223 2.426777 0.500000 +v 0.625000 2.250000 0.500000 +v 0.698223 2.073223 0.500000 +v 0.875000 2.000000 0.500000 +v 1.051777 2.073223 0.500000 +v 1.125000 2.250000 0.875000 +v 1.051777 2.426777 0.875000 +v 0.875000 2.500000 0.875000 +v 0.698223 2.426777 0.875000 +v 0.625000 2.250000 0.875000 +v 0.698223 2.073223 0.875000 +v 0.875000 2.000000 0.875000 +v 1.051777 2.073223 0.875000 +v 1.125000 1.500000 0.500000 +v 1.051777 1.676777 0.500000 +v 0.875000 1.750000 0.500000 +v 0.698223 1.676777 0.500000 +v 0.625000 1.500000 0.500000 +v 0.698223 1.323223 0.500000 +v 0.875000 1.250000 0.500000 +v 1.051777 1.323223 0.500000 +v 1.125000 1.500000 0.875000 +v 1.051777 1.676777 0.875000 +v 0.875000 1.750000 0.875000 +v 0.698223 1.676777 0.875000 +v 0.625000 1.500000 0.875000 +v 0.698223 1.323223 0.875000 +v 0.875000 1.250000 0.875000 +v 1.051777 1.323223 0.875000 +v -0.926777 4.801777 -0.926776 +v -0.978554 4.853553 -0.750000 +v -0.926777 4.801777 -0.573223 +v -0.801777 4.676777 -0.500000 +v -0.625000 4.573223 -0.573223 +v -0.625000 4.500000 -0.750000 +v -0.625000 4.573223 -0.926776 +v -0.625000 4.750000 -1.000000 +v -1.500000 0.500000 2.250000 +v -1.250000 0.500000 2.250000 +v -1.500000 0.500000 1.750000 +v -1.250000 0.500000 1.750000 +v -1.500000 0.750000 1.750000 +v -1.500000 0.750000 2.250000 +v -1.250000 0.750000 2.250000 +v -1.250000 0.750000 1.750000 +v -1.250000 0.500000 2.187500 +v 0.187500 0.500000 2.187500 +v -1.250000 0.500000 1.812500 +v 0.187500 0.500000 1.812500 +v -1.250000 0.687500 1.812500 +v -1.250000 0.687500 2.187500 +v -0.187500 0.687500 2.187500 +v -0.187500 0.687500 1.812500 +v -0.625000 4.926777 -0.926776 +v -0.625000 5.000000 -0.750000 +v -0.625000 4.926777 -0.573223 +v -0.625000 4.750000 -0.500000 +v -0.500000 4.573223 -0.573223 +v -0.500000 4.500000 -0.750000 +v -0.500000 4.573223 -0.926776 +v -0.500000 4.750000 -1.000000 +v -0.500000 0.500000 2.000000 +v 0.500000 0.500000 2.000000 +v -0.500000 0.500000 1.000000 +v 0.500000 0.500000 1.000000 +v -0.500000 2.000000 1.000000 +v -0.500000 2.000000 2.000000 +v 0.500000 2.000000 2.000000 +v 0.500000 2.000000 1.000000 +v 0.875000 1.000000 1.250000 +v 0.875000 0.500000 1.250000 +v 1.125000 0.750000 1.250000 +v 1.051777 0.926777 1.250000 +v 0.698223 0.926777 1.250000 +v 0.625000 0.750000 1.250000 +v 0.698223 0.573223 1.250000 +v 1.051777 0.573223 1.250000 +v 0.801777 1.000000 1.426777 +v 0.801777 0.500000 1.426777 +v 0.978553 0.750000 1.603553 +v 0.926777 0.926777 1.551777 +v 0.676777 0.926777 1.301777 +v 0.676777 0.573223 1.301777 +v 0.926777 0.573223 1.551777 +v 0.625000 1.000000 1.500000 +v 0.625000 0.500000 1.500000 +v 0.625000 0.750000 1.750000 +v 0.625000 0.926777 1.676777 +v 0.625000 0.926777 1.323224 +v 0.625000 0.573223 1.323224 +v 0.625000 0.573223 1.676777 +v 0.500000 0.750000 1.250000 +v 0.500000 1.000000 1.500000 +v 0.500000 0.500000 1.500000 +v 0.500000 0.750000 1.750000 +v 0.500000 0.926777 1.676777 +v 0.500000 0.926777 1.323224 +v 0.500000 0.573223 1.323224 +v 0.500000 0.573223 1.676777 +v -0.187500 1.625000 2.187500 +v -0.187500 1.625000 1.812500 +v 0.187500 1.625000 1.812500 +v 0.187500 1.625000 2.187500 +v -0.500000 4.926777 -0.926776 +v -0.500000 5.000000 -0.750000 +v -0.500000 4.926777 -0.573223 +v -0.500000 4.750000 -0.500000 +v 1.500000 0.750000 -1.500000 +v 1.500000 0.250000 -1.500000 +v 0.500000 0.250000 -0.500000 +v 0.500000 0.250000 -1.500000 +v 0.500000 0.750000 -0.500000 +v 0.500000 0.750000 -1.500000 +v 1.375000 0.750000 -0.500000 +v 1.375000 0.250000 -0.500000 +v 1.375000 0.750000 -1.500000 +v 1.375000 0.250000 -1.500000 +v 1.125000 1.000000 -1.625000 +v 0.625000 1.000000 -2.125000 +v 1.125000 1.000000 -2.125000 +v 0.625000 3.500000 -2.125000 +v 1.125000 3.500000 -1.625000 +v 1.125000 3.500000 -2.125000 +v -1.125000 1.000000 -1.625000 +v -1.125000 1.000000 -2.125000 +v -0.625000 1.000000 -2.125000 +v -1.125000 3.500000 -2.125000 +v -1.125000 3.500000 -1.625000 +v -0.625000 3.500000 -2.125000 +v -1.125000 1.000000 0.125000 +v -0.625000 1.000000 0.125000 +v -1.125000 1.000000 -0.375000 +v -1.125000 3.500000 -0.375000 +v -1.125000 3.500000 0.125000 +v -0.625000 3.500000 0.125000 +v -0.801777 4.676777 -1.000000 +v -0.676777 4.551776 -0.926776 +v -0.676777 4.551776 -0.573223 +v -0.875000 4.500000 -0.500000 +v -1.051777 4.500000 -0.573223 +v -1.125000 4.500000 -0.750000 +v -1.051777 4.500000 -0.926776 +v -0.875000 4.500000 -1.000000 +v -0.698224 4.500000 -0.926776 +v -0.698224 4.500000 -0.573223 +v -0.625000 4.000000 -0.750000 +v -0.875000 4.000000 -0.500000 +v -1.051777 4.000000 -0.573223 +v -1.125000 4.000000 -0.750000 +v -1.051777 4.000000 -0.926776 +v -0.875000 4.000000 -1.000000 +v -0.698224 4.000000 -0.926776 +v -0.698224 4.000000 -0.573223 +v -0.500000 4.750000 -1.000000 +v -0.500000 4.926777 -1.073223 +v -0.500000 5.000000 -1.250000 +v -0.500000 4.926777 -1.426777 +v -0.500000 4.750000 -1.500000 +v -0.500000 4.573223 -1.426777 +v -0.500000 4.500000 -1.250000 +v -0.500000 4.573223 -1.073223 +v -0.625000 4.750000 -1.000000 +v -0.625000 4.926777 -1.073223 +v -0.625000 5.000000 -1.250000 +v -0.625000 4.926777 -1.426777 +v -0.625000 4.750000 -1.500000 +v -0.625000 4.573223 -1.426777 +v -0.625000 4.500000 -1.250000 +v -0.625000 4.573223 -1.073223 +v -0.801777 4.676777 -1.000000 +v -0.926777 4.801777 -1.073223 +v -0.978554 4.853553 -1.250000 +v -0.926777 4.801777 -1.426777 +v -0.801777 4.676777 -1.500000 +v -0.676777 4.551776 -1.426777 +v -0.676777 4.551776 -1.073223 +v -0.875000 4.500000 -1.000000 +v -1.051777 4.500000 -1.073223 +v -1.125000 4.500000 -1.250000 +v -1.051777 4.500000 -1.426777 +v -0.875000 4.500000 -1.500000 +v -0.698224 4.500000 -1.426777 +v -0.698224 4.500000 -1.073223 +v -0.625000 4.000000 -1.250000 +v -0.875000 4.000000 -1.000000 +v -1.051777 4.000000 -1.073223 +v -1.125000 4.000000 -1.250000 +v -1.051777 4.000000 -1.426777 +v -0.875000 4.000000 -1.500000 +v -0.698224 4.000000 -1.426777 +v -0.698224 4.000000 -1.073223 +v -0.500000 4.750000 -1.500000 +v -0.426777 4.926777 -1.500000 +v -0.250000 5.000000 -1.500000 +v -0.073224 4.926777 -1.500000 +v -0.000000 4.750000 -1.500000 +v -0.073224 4.573223 -1.500000 +v -0.250000 4.500000 -1.500000 +v -0.426777 4.573223 -1.500000 +v -0.500000 4.750000 -1.625000 +v -0.426777 4.926777 -1.625000 +v -0.250000 5.000000 -1.625000 +v -0.073224 4.926777 -1.625000 +v -0.000000 4.750000 -1.625000 +v -0.073224 4.573223 -1.625000 +v -0.250000 4.500000 -1.625000 +v -0.426777 4.573223 -1.625000 +v -0.500000 4.676777 -1.801777 +v -0.426777 4.801777 -1.926777 +v -0.250000 4.853553 -1.978554 +v -0.073224 4.801777 -1.926777 +v -0.000000 4.676777 -1.801777 +v -0.073224 4.551776 -1.676777 +v -0.426777 4.551776 -1.676777 +v -0.500000 4.500000 -1.875000 +v -0.426777 4.500000 -2.051777 +v -0.250000 4.500000 -2.125000 +v -0.073224 4.500000 -2.051777 +v -0.000000 4.500000 -1.875000 +v -0.073224 4.500000 -1.698223 +v -0.426777 4.500000 -1.698223 +v -0.250000 4.000000 -1.625000 +v -0.500000 4.000000 -1.875000 +v -0.426777 4.000000 -2.051777 +v -0.250000 4.000000 -2.125000 +v -0.073224 4.000000 -2.051777 +v -0.000000 4.000000 -1.875000 +v -0.073224 4.000000 -1.698223 +v -0.426777 4.000000 -1.698223 +v -0.000000 4.750000 -1.500000 +v 0.073223 4.926777 -1.500000 +v 0.250000 5.000000 -1.500000 +v 0.426777 4.926777 -1.500000 +v 0.500000 4.750000 -1.500000 +v 0.426777 4.573223 -1.500000 +v 0.250000 4.500000 -1.500000 +v 0.073223 4.573223 -1.500000 +v -0.000000 4.750000 -1.625000 +v 0.073223 4.926777 -1.625000 +v 0.250000 5.000000 -1.625000 +v 0.426777 4.926777 -1.625000 +v 0.500000 4.750000 -1.625000 +v 0.426777 4.573223 -1.625000 +v 0.250000 4.500000 -1.625000 +v 0.073223 4.573223 -1.625000 +v -0.000000 4.676777 -1.801777 +v 0.073223 4.801777 -1.926777 +v 0.250000 4.853553 -1.978554 +v 0.426777 4.801777 -1.926777 +v 0.500000 4.676777 -1.801777 +v 0.426777 4.551776 -1.676777 +v 0.073223 4.551776 -1.676777 +v -0.000000 4.500000 -1.875000 +v 0.073223 4.500000 -2.051777 +v 0.250000 4.500000 -2.125000 +v 0.426777 4.500000 -2.051777 +v 0.500000 4.500000 -1.875000 +v 0.426777 4.500000 -1.698223 +v 0.073223 4.500000 -1.698223 +v 0.250000 4.000000 -1.625000 +v -0.000000 4.000000 -1.875000 +v 0.073223 4.000000 -2.051777 +v 0.250000 4.000000 -2.125000 +v 0.426777 4.000000 -2.051777 +v 0.500000 4.000000 -1.875000 +v 0.426777 4.000000 -1.698223 +v 0.073223 4.000000 -1.698223 +v 0.073223 4.801777 -0.073223 +v 0.250000 4.853553 -0.021446 +v 0.426777 4.801777 -0.073223 +v 0.500000 4.676777 -0.198223 +v 0.426777 4.573223 -0.375000 +v 0.250000 4.500000 -0.375000 +v 0.073223 4.573223 -0.375000 +v -0.000000 4.750000 -0.375000 +v 0.073223 4.926777 -0.375000 +v 0.250000 5.000000 -0.375000 +v 0.426777 4.926777 -0.375000 +v 0.500000 4.750000 -0.375000 +v 0.426777 4.573223 -0.500000 +v 0.250000 4.500000 -0.500000 +v 0.073223 4.573223 -0.500000 +v -0.000000 4.750000 -0.500000 +v 0.073223 4.926777 -0.500000 +v 0.250000 5.000000 -0.500000 +v 0.426777 4.926777 -0.500000 +v 0.500000 4.750000 -0.500000 +v -0.000000 4.676777 -0.198223 +v 0.073223 4.551776 -0.323223 +v 0.426777 4.551776 -0.323223 +v 0.500000 4.500000 -0.125000 +v 0.426777 4.500000 0.051777 +v 0.250000 4.500000 0.125000 +v 0.073223 4.500000 0.051777 +v -0.000000 4.500000 -0.125000 +v 0.073223 4.500000 -0.301777 +v 0.426777 4.500000 -0.301777 +v 0.250000 4.000000 -0.375000 +v 0.500000 4.000000 -0.125000 +v 0.426777 4.000000 0.051777 +v 0.250000 4.000000 0.125000 +v 0.073223 4.000000 0.051777 +v -0.000000 4.000000 -0.125000 +v 0.073223 4.000000 -0.301777 +v 0.426777 4.000000 -0.301777 +v -0.000000 4.750000 -0.500000 +v -0.073223 4.926777 -0.500000 +v -0.250000 5.000000 -0.500000 +v -0.426777 4.926777 -0.500000 +v -0.500000 4.750000 -0.500000 +v -0.426777 4.573223 -0.500000 +v -0.250000 4.500000 -0.500000 +v -0.073223 4.573223 -0.500000 +v -0.000000 4.750000 -0.375000 +v -0.073223 4.926777 -0.375000 +v -0.250000 5.000000 -0.375000 +v -0.426777 4.926777 -0.375000 +v -0.500000 4.750000 -0.375000 +v -0.426777 4.573223 -0.375000 +v -0.250000 4.500000 -0.375000 +v -0.073223 4.573223 -0.375000 +v -0.000000 4.676777 -0.198223 +v -0.073223 4.801777 -0.073223 +v -0.250000 4.853553 -0.021446 +v -0.426777 4.801777 -0.073223 +v -0.500000 4.676777 -0.198223 +v -0.426777 4.551776 -0.323223 +v -0.073223 4.551776 -0.323223 +v -0.000000 4.500000 -0.125000 +v -0.073223 4.500000 0.051777 +v -0.250000 4.500000 0.125000 +v -0.426777 4.500000 0.051777 +v -0.500000 4.500000 -0.125000 +v -0.426777 4.500000 -0.301777 +v -0.073223 4.500000 -0.301777 +v -0.250000 4.000000 -0.375000 +v -0.000000 4.000000 -0.125000 +v -0.073223 4.000000 0.051777 +v -0.250000 4.000000 0.125000 +v -0.426777 4.000000 0.051777 +v -0.500000 4.000000 -0.125000 +v -0.426777 4.000000 -0.301777 +v -0.073223 4.000000 -0.301777 +v -1.500000 0.500000 1.250000 +v -1.250000 0.500000 1.250000 +v -1.500000 0.500000 0.750000 +v -1.250000 0.500000 0.750000 +v -1.500000 0.750000 0.750000 +v -1.500000 0.750000 1.250000 +v -1.250000 0.750000 1.250000 +v -1.250000 0.750000 0.750000 +v -1.250000 0.500000 1.187500 +v 0.187500 0.500000 1.187500 +v -1.250000 0.500000 0.812500 +v 0.187500 0.500000 0.812500 +v -1.250000 0.687500 0.812500 +v -1.250000 0.687500 1.187500 +v -0.187500 0.687500 1.187500 +v -0.187500 0.687500 0.812500 +v -0.187500 1.625000 1.187500 +v -0.187500 1.625000 0.812500 +v 0.187500 1.625000 0.812500 +v 0.187500 1.625000 1.187500 +v 0.125000 1.375000 -2.250000 +v -0.125000 1.375000 -2.250000 +v 0.125000 1.125000 -2.500000 +v -0.125000 1.125000 -2.500000 +v 0.125000 1.625000 -2.250000 +v -0.125000 1.625000 -2.250000 +v 0.125000 1.375000 -2.500000 +v -0.125000 1.375000 -2.500000 +v 0.125000 1.062500 -2.500000 +v -0.125000 1.062500 -2.500000 +v 0.187500 1.125000 -2.500000 +v 0.187500 1.375000 -2.500000 +v -0.187500 1.125000 -2.500000 +v -0.187500 1.375000 -2.500000 +v 0.125000 1.312500 -2.250000 +v -0.125000 1.312500 -2.250000 +v 0.187500 1.375000 -2.250000 +v 0.187500 1.625000 -2.250000 +v -0.187500 1.375000 -2.250000 +v -0.187500 1.625000 -2.250000 +vt 0.413793 0.000000 +vt 0.068966 0.260870 +vt 0.068966 0.000000 +vt 0.344828 0.282609 +vt 0.413793 0.347826 +vt 0.344828 0.326087 +vt 0.000000 0.347826 +vt 0.034483 0.608696 +vt 0.000000 0.608696 +vt 0.413793 0.608696 +vt 0.482759 0.347826 +vt 0.482759 0.608696 +vt 0.068966 0.782609 +vt 0.137931 0.826087 +vt 0.068966 0.826087 +vt 0.206897 0.652174 +vt 0.413793 0.695652 +vt 0.034483 0.347826 +vt 0.172414 0.608696 +vt 0.206897 0.347826 +vt 0.206897 0.608696 +vt -0.000000 0.782609 +vt -0.000000 0.826087 +vt 0.068966 0.913043 +vt 0.137931 0.913043 +vt 0.172414 0.347826 +vt 0.965517 0.000000 +vt 0.896552 0.260870 +vt 0.896552 0.000000 +vt 0.620690 0.260870 +vt 0.551724 0.000000 +vt 0.620690 0.000000 +vt 0.827586 0.000000 +vt 0.482759 0.260870 +vt 0.482759 0.000000 +vt 0.758621 0.260870 +vt 0.758621 0.000000 +vt 0.689655 0.260870 +vt 0.689655 0.000000 +vt 0.413793 0.260870 +vt 0.413793 0.000000 +vt 0.689655 0.478261 +vt 0.689655 0.413043 +vt 0.741379 0.413043 +vt 0.620690 0.326087 +vt 0.568965 0.326087 +vt 0.620690 0.478261 +vt 0.620690 0.413043 +vt 0.689655 0.326087 +vt 0.741379 0.326087 +vt 0.568965 0.413043 +vt 0.310345 0.695652 +vt 0.241379 0.739130 +vt 0.241379 0.695652 +vt 0.310345 0.739130 +vt 0.241379 0.826087 +vt 0.551724 0.695652 +vt 0.500000 0.717391 +vt 0.500000 0.695652 +vt 0.620690 0.478261 +vt 0.551724 0.478261 +vt 0.500000 0.478261 +vt 0.482759 0.695652 +vt 0.482759 0.478261 +vt 0.344828 0.826087 +vt 0.344828 0.739130 +vt 0.206897 0.739130 +vt 0.206897 0.826087 +vt 0.241379 0.869565 +vt 0.310345 0.826087 +vt 0.310345 0.869565 +vt 0.465517 0.652174 +vt 0.431034 0.630435 +vt 0.465517 0.630435 +vt 0.413793 0.630435 +vt 0.431034 0.652174 +vt 0.413793 0.652174 +vt 0.482759 0.652174 +vt 0.482759 0.630435 +vt 0.431034 0.673913 +vt 0.465517 0.673913 +vt 0.465517 0.608696 +vt 0.431034 0.608696 +vt 0.500000 0.788043 +vt 0.474138 0.695652 +vt 0.500000 0.695652 +vt 0.396552 0.777174 +vt 0.409483 0.869565 +vt 0.396552 0.902174 +vt 0.577586 0.777174 +vt 0.564655 0.869565 +vt 0.564655 0.777174 +vt 0.620690 0.652174 +vt 0.689655 0.739130 +vt 0.620690 0.739130 +vt 0.758621 0.521739 +vt 0.689655 0.652174 +vt 0.689655 0.521739 +vt 0.896552 0.521739 +vt 0.827586 0.652174 +vt 0.827586 0.521739 +vt 0.620690 0.521739 +vt 0.758621 0.652174 +vt 0.465517 0.652174 +vt 0.431034 0.630435 +vt 0.465517 0.630435 +vt 0.500000 0.902174 +vt 0.474138 0.869565 +vt 0.500000 0.869565 +vt 0.474138 0.788043 +vt 0.474138 1.000000 +vt 0.500000 1.000000 +vt 0.474138 0.902174 +vt 0.206897 0.826087 +vt 0.137931 0.782609 +vt 0.206897 0.782609 +vt 0.137931 0.695652 +vt 0.068966 0.695652 +vt 0.275862 0.326087 +vt 0.413793 0.260870 +vt 0.275862 0.282609 +vt 0.206897 0.304348 +vt 0.068966 0.304348 +vt 0.344828 0.326087 +vt 0.275862 0.282609 +vt 0.344828 0.282609 +vt 0.810345 0.260870 +vt 0.775862 0.478261 +vt 0.775862 0.260870 +vt 0.741379 0.478261 +vt 0.741379 0.260870 +vt 0.844828 0.260870 +vt 0.810345 0.478261 +vt 0.810345 0.260870 +vt 0.879310 0.260870 +vt 0.844828 0.478261 +vt 0.913793 0.478261 +vt 0.948276 0.478261 +vt 0.913793 0.521739 +vt 0.879310 0.478261 +vt 0.844828 0.521739 +vt 0.948276 0.260870 +vt 0.913793 0.260870 +vt 0.810345 0.478261 +vt 0.775862 0.521739 +vt 0.879310 0.478261 +vt 0.879310 0.260870 +vt 0.068966 0.695652 +vt 0.068966 0.652174 +vt 0.413793 0.630435 +vt 0.431034 0.652174 +vt 0.413793 0.652174 +vt 0.482759 0.652174 +vt 0.482759 0.630435 +vt 0.431034 0.673913 +vt 0.465517 0.673913 +vt 0.465517 0.608696 +vt 0.431034 0.608696 +vt 0.500000 0.788043 +vt 0.474138 0.695652 +vt 0.500000 0.695652 +vt 0.396552 0.777174 +vt 0.409483 0.869565 +vt 0.396552 0.902174 +vt 0.577586 0.777174 +vt 0.564655 0.869565 +vt 0.564655 0.777174 +vt 0.500000 0.902174 +vt 0.474138 0.869565 +vt 0.500000 0.869565 +vt 0.474138 0.788043 +vt 0.474138 1.000000 +vt 0.500000 1.000000 +vt 0.474138 0.902174 +vt 0.181034 0.875000 +vt 0.198276 0.853261 +vt 0.198276 0.875000 +vt 0.137931 0.826087 +vt 0.155172 0.847826 +vt 0.137931 0.847826 +vt 0.241379 0.826087 +vt 0.224138 0.847826 +vt 0.224138 0.826087 +vt 0.181034 0.853261 +vt 0.198276 0.847826 +vt 0.181034 0.875000 +vt 0.176724 0.853261 +vt 0.202586 0.875000 +vt 0.198276 0.875000 +vt 0.181034 0.847826 +vt 0.202586 0.853261 +vt 0.219828 0.847826 +vt 0.202586 0.826087 +vt 0.219828 0.826087 +vt 0.198276 0.826087 +vt 0.176724 0.847826 +vt 0.181034 0.826087 +vt 0.159483 0.847826 +vt 0.176724 0.826087 +vt 0.202586 0.847826 +vt 0.159483 0.826087 +vt 0.155172 0.826087 +vt 0.965517 0.260870 +vt 0.551724 0.260870 +vt 0.827586 0.260870 +vt 0.551724 0.782609 +vt 0.620690 0.695652 +vt 0.409483 0.777174 +vt 0.577586 0.902174 +vt 0.896552 0.652174 +vt 0.275862 0.326087 +vt 0.409483 0.777174 +vt 0.577586 0.902174 +vt 0.241379 0.847826 +vt 0.176724 0.875000 +vt 0.831897 0.771739 +vt 0.844828 0.760870 +vt 0.844828 0.771739 +vt 0.857759 0.771739 +vt 0.870690 0.760870 +vt 0.870690 0.771739 +vt 0.883621 0.760870 +vt 0.883621 0.771739 +vt 0.793103 0.771739 +vt 0.806035 0.760870 +vt 0.806035 0.771739 +vt 0.818965 0.771739 +vt 0.831897 0.760870 +vt 0.857759 0.760870 +vt 0.896552 0.760870 +vt 0.896552 0.771739 +vt 0.818965 0.760870 +vt 0.831897 0.755435 +vt 0.818965 0.728261 +vt 0.831897 0.728261 +vt 0.857759 0.728261 +vt 0.857759 0.755435 +vt 0.806035 0.733696 +vt 0.818965 0.744565 +vt 0.844828 0.728261 +vt 0.870690 0.728261 +vt 0.870690 0.744565 +vt 0.883621 0.728261 +vt 0.883621 0.733696 +vt 0.870690 0.711957 +vt 0.883621 0.722826 +vt 0.831897 0.701087 +vt 0.857759 0.701087 +vt 0.806035 0.722826 +vt 0.818965 0.711957 +vt 0.844828 0.695652 +vt 0.896552 0.728261 +vt 0.793103 0.728261 +vt 0.806035 0.728261 +vt 0.793103 0.695652 +vt 0.806035 0.652174 +vt 0.806035 0.695652 +vt 0.870690 0.695652 +vt 0.883621 0.652174 +vt 0.883621 0.695652 +vt 0.896552 0.652174 +vt 0.896552 0.695652 +vt 0.818965 0.695652 +vt 0.831897 0.652174 +vt 0.831897 0.695652 +vt 0.857759 0.652174 +vt 0.857759 0.695652 +vt 0.818965 0.652174 +vt 0.844828 0.652174 +vt 0.870690 0.652174 +vt 0.728448 0.771739 +vt 0.741379 0.760870 +vt 0.741379 0.771739 +vt 0.754310 0.771739 +vt 0.767241 0.760870 +vt 0.767241 0.771739 +vt 0.780172 0.760870 +vt 0.780172 0.771739 +vt 0.689655 0.771739 +vt 0.702586 0.760870 +vt 0.702586 0.771739 +vt 0.715517 0.771739 +vt 0.728448 0.760870 +vt 0.754310 0.760870 +vt 0.793103 0.760870 +vt 0.793103 0.771739 +vt 0.715517 0.760870 +vt 0.728448 0.755435 +vt 0.715517 0.728261 +vt 0.728448 0.728261 +vt 0.754310 0.728261 +vt 0.754310 0.755435 +vt 0.715517 0.744565 +vt 0.702586 0.728261 +vt 0.741379 0.728261 +vt 0.767241 0.728261 +vt 0.767241 0.744565 +vt 0.780172 0.728261 +vt 0.780172 0.733696 +vt 0.767241 0.711957 +vt 0.780172 0.722826 +vt 0.715517 0.711957 +vt 0.728448 0.701087 +vt 0.741379 0.695652 +vt 0.754310 0.701087 +vt 0.702586 0.722826 +vt 0.793103 0.728261 +vt 0.702586 0.733696 +vt 0.689655 0.728261 +vt 0.689655 0.695652 +vt 0.702586 0.652174 +vt 0.702586 0.695652 +vt 0.767241 0.695652 +vt 0.780172 0.652174 +vt 0.780172 0.695652 +vt 0.793103 0.652174 +vt 0.793103 0.695652 +vt 0.715517 0.695652 +vt 0.728448 0.652174 +vt 0.728448 0.695652 +vt 0.754310 0.652174 +vt 0.754310 0.695652 +vt 0.715517 0.652174 +vt 0.741379 0.652174 +vt 0.767241 0.652174 +vt 0.935345 0.902174 +vt 0.948276 0.891304 +vt 0.948276 0.902174 +vt 0.961207 0.902174 +vt 0.974138 0.891304 +vt 0.974138 0.902174 +vt 0.987069 0.891304 +vt 0.987069 0.902174 +vt 0.896552 0.902174 +vt 0.909483 0.891304 +vt 0.909483 0.902174 +vt 0.922414 0.902174 +vt 0.935345 0.891304 +vt 0.961207 0.891304 +vt 1.000000 0.891304 +vt 1.000000 0.902174 +vt 0.922414 0.891304 +vt 0.935345 0.885870 +vt 0.922414 0.858696 +vt 0.935345 0.858696 +vt 0.961207 0.858696 +vt 0.961207 0.885870 +vt 0.909483 0.864130 +vt 0.922414 0.875000 +vt 0.948276 0.858696 +vt 0.974138 0.858696 +vt 0.974138 0.875000 +vt 0.987069 0.864130 +vt 0.987069 0.858696 +vt 0.961207 0.831522 +vt 0.974138 0.842391 +vt 0.987069 0.853261 +vt 0.935345 0.831522 +vt 0.948276 0.826087 +vt 0.909483 0.858696 +vt 0.922414 0.842391 +vt 1.000000 0.858696 +vt 0.896552 0.858696 +vt 0.909483 0.853261 +vt 0.896552 0.826087 +vt 0.909483 0.673913 +vt 0.909483 0.826087 +vt 0.974138 0.826087 +vt 0.987069 0.673913 +vt 0.987069 0.826087 +vt 1.000000 0.673913 +vt 1.000000 0.826087 +vt 0.922414 0.826087 +vt 0.935345 0.673913 +vt 0.935345 0.826087 +vt 0.961207 0.673913 +vt 0.961207 0.826087 +vt 0.922414 0.673913 +vt 0.948276 0.673913 +vt 0.974138 0.673913 +vt 0.922414 0.657609 +vt 0.909483 0.641304 +vt 0.922414 0.641304 +vt 0.961207 0.646739 +vt 0.974138 0.641304 +vt 0.974138 0.657609 +vt 0.896552 0.673913 +vt 0.909483 0.668478 +vt 0.987069 0.641304 +vt 0.987069 0.668478 +vt 0.935345 0.646739 +vt 0.935345 0.641304 +vt 1.000000 0.641304 +vt 0.987069 0.614130 +vt 1.000000 0.608696 +vt 0.909483 0.614130 +vt 0.922414 0.625000 +vt 0.961207 0.635870 +vt 0.974138 0.625000 +vt 0.896552 0.641304 +vt 0.935345 0.635870 +vt 0.948276 0.641304 +vt 0.961207 0.641304 +vt 0.948276 0.440217 +vt 0.974138 0.456522 +vt 0.948276 0.456522 +vt 0.948276 0.472826 +vt 0.974138 0.489130 +vt 0.948276 0.489130 +vt 0.974138 0.505435 +vt 0.948276 0.505435 +vt 0.948276 0.391304 +vt 0.974138 0.407609 +vt 0.948276 0.407609 +vt 0.948276 0.423913 +vt 0.974138 0.440217 +vt 0.974138 0.472826 +vt 0.974138 0.521739 +vt 0.948276 0.521739 +vt 0.974138 0.423913 +vt 0.948276 0.309783 +vt 0.974138 0.326087 +vt 0.948276 0.326087 +vt 0.948276 0.342391 +vt 0.974138 0.358696 +vt 0.948276 0.358696 +vt 0.974138 0.375000 +vt 0.948276 0.375000 +vt 0.948276 0.260870 +vt 0.974138 0.277174 +vt 0.948276 0.277174 +vt 0.948276 0.293478 +vt 0.974138 0.309783 +vt 0.974138 0.342391 +vt 0.974138 0.391304 +vt 0.948276 0.391304 +vt 0.974138 0.293478 +vt 0.857759 0.755435 +vt 0.870690 0.728261 +vt 0.870690 0.744565 +vt 0.831897 0.755435 +vt 0.844828 0.728261 +vt 0.844828 0.760870 +vt 0.806035 0.733696 +vt 0.818965 0.728261 +vt 0.818965 0.744565 +vt 0.857759 0.728261 +vt 0.831897 0.728261 +vt 0.806035 0.771739 +vt 0.818965 0.760870 +vt 0.818965 0.771739 +vt 0.883621 0.771739 +vt 0.896552 0.760870 +vt 0.896552 0.771739 +vt 0.844828 0.771739 +vt 0.857759 0.760870 +vt 0.857759 0.771739 +vt 0.831897 0.760870 +vt 0.831897 0.771739 +vt 0.793103 0.771739 +vt 0.806035 0.760870 +vt 0.987069 0.608696 +vt 1.000000 0.597826 +vt 0.909483 0.608696 +vt 0.922414 0.597826 +vt 0.922414 0.608696 +vt 0.961207 0.608696 +vt 0.974138 0.597826 +vt 0.974138 0.608696 +vt 0.935345 0.608696 +vt 0.948276 0.597826 +vt 0.948276 0.608696 +vt 0.896552 0.608696 +vt 0.909483 0.597826 +vt 0.961207 0.597826 +vt 0.987069 0.597826 +vt 0.935345 0.597826 +vt 0.961207 0.592391 +vt 0.948276 0.565217 +vt 0.961207 0.565217 +vt 0.987069 0.592391 +vt 1.000000 0.565217 +vt 1.000000 0.581522 +vt 0.974138 0.565217 +vt 0.935345 0.570652 +vt 0.948276 0.581522 +vt 0.909483 0.570652 +vt 0.896552 0.565217 +vt 0.909483 0.565217 +vt 0.987069 0.565217 +vt 0.974138 0.532609 +vt 0.987069 0.538043 +vt 0.961207 0.538043 +vt 1.000000 0.548913 +vt 0.935345 0.565217 +vt 0.948276 0.548913 +vt 0.909483 0.559783 +vt 0.922414 0.565217 +vt 0.935345 0.559783 +vt 0.948276 0.532609 +vt 0.961207 0.521739 +vt 0.961207 0.532609 +vt 0.987069 0.532609 +vt 1.000000 0.521739 +vt 1.000000 0.532609 +vt 0.974138 0.521739 +vt 0.922414 0.532609 +vt 0.935345 0.521739 +vt 0.935345 0.532609 +vt 0.948276 0.521739 +vt 0.909483 0.532609 +vt 0.922414 0.521739 +vt 0.896552 0.532609 +vt 0.909483 0.521739 +vt 0.987069 0.521739 +vt 0.870690 0.771739 +vt 0.883621 0.760870 +vt 0.870690 0.760870 +vt 0.883621 0.728261 +vt 0.883621 0.733696 +vt 0.870690 0.711957 +vt 0.883621 0.722826 +vt 0.831897 0.701087 +vt 0.857759 0.701087 +vt 0.806035 0.722826 +vt 0.818965 0.711957 +vt 0.844828 0.695652 +vt 0.896552 0.728261 +vt 0.793103 0.728261 +vt 0.806035 0.728261 +vt 0.793103 0.695652 +vt 0.806035 0.652174 +vt 0.806035 0.695652 +vt 0.870690 0.695652 +vt 0.883621 0.652174 +vt 0.883621 0.695652 +vt 0.896552 0.652174 +vt 0.896552 0.695652 +vt 0.818965 0.695652 +vt 0.831897 0.652174 +vt 0.831897 0.695652 +vt 0.857759 0.652174 +vt 0.857759 0.695652 +vt 0.818965 0.652174 +vt 0.844828 0.652174 +vt 0.870690 0.652174 +vt 0.728448 0.771739 +vt 0.741379 0.760870 +vt 0.741379 0.771739 +vt 0.754310 0.771739 +vt 0.767241 0.760870 +vt 0.767241 0.771739 +vt 0.780172 0.760870 +vt 0.780172 0.771739 +vt 0.689655 0.771739 +vt 0.702586 0.760870 +vt 0.702586 0.771739 +vt 0.715517 0.771739 +vt 0.728448 0.760870 +vt 0.754310 0.760870 +vt 0.793103 0.760870 +vt 0.793103 0.771739 +vt 0.715517 0.760870 +vt 0.715517 0.744565 +vt 0.728448 0.728261 +vt 0.728448 0.755435 +vt 0.754310 0.728261 +vt 0.754310 0.755435 +vt 0.702586 0.728261 +vt 0.715517 0.728261 +vt 0.741379 0.728261 +vt 0.767241 0.728261 +vt 0.767241 0.744565 +vt 0.780172 0.728261 +vt 0.780172 0.733696 +vt 0.754310 0.701087 +vt 0.767241 0.711957 +vt 0.780172 0.722826 +vt 0.728448 0.701087 +vt 0.702586 0.722826 +vt 0.715517 0.711957 +vt 0.741379 0.695652 +vt 0.793103 0.728261 +vt 0.702586 0.733696 +vt 0.689655 0.728261 +vt 0.689655 0.695652 +vt 0.702586 0.652174 +vt 0.702586 0.695652 +vt 0.767241 0.695652 +vt 0.780172 0.652174 +vt 0.780172 0.695652 +vt 0.793103 0.652174 +vt 0.793103 0.695652 +vt 0.715517 0.695652 +vt 0.728448 0.652174 +vt 0.728448 0.695652 +vt 0.754310 0.652174 +vt 0.754310 0.695652 +vt 0.715517 0.652174 +vt 0.741379 0.652174 +vt 0.767241 0.652174 +vt 0.831897 0.771739 +vt 0.844828 0.760870 +vt 0.844828 0.771739 +vt 0.857759 0.771739 +vt 0.870690 0.760870 +vt 0.870690 0.771739 +vt 0.883621 0.760870 +vt 0.883621 0.771739 +vt 0.793103 0.771739 +vt 0.806035 0.760870 +vt 0.806035 0.771739 +vt 0.818965 0.771739 +vt 0.831897 0.760870 +vt 0.857759 0.760870 +vt 0.896552 0.760870 +vt 0.896552 0.771739 +vt 0.818965 0.760870 +vt 0.831897 0.755435 +vt 0.818965 0.728261 +vt 0.831897 0.728261 +vt 0.857759 0.728261 +vt 0.857759 0.755435 +vt 0.806035 0.733696 +vt 0.818965 0.744565 +vt 0.844828 0.728261 +vt 0.870690 0.728261 +vt 0.870690 0.744565 +vt 0.883621 0.728261 +vt 0.883621 0.733696 +vt 0.870690 0.711957 +vt 0.883621 0.722826 +vt 0.831897 0.701087 +vt 0.857759 0.701087 +vt 0.806035 0.722826 +vt 0.818965 0.711957 +vt 0.844828 0.695652 +vt 0.896552 0.728261 +vt 0.793103 0.728261 +vt 0.806035 0.728261 +vt 0.793103 0.695652 +vt 0.806035 0.652174 +vt 0.806035 0.695652 +vt 0.870690 0.695652 +vt 0.883621 0.652174 +vt 0.883621 0.695652 +vt 0.896552 0.652174 +vt 0.896552 0.695652 +vt 0.818965 0.695652 +vt 0.831897 0.652174 +vt 0.831897 0.695652 +vt 0.857759 0.652174 +vt 0.857759 0.695652 +vt 0.818965 0.652174 +vt 0.844828 0.652174 +vt 0.870690 0.652174 +vt 0.728448 0.771739 +vt 0.741379 0.760870 +vt 0.741379 0.771739 +vt 0.754310 0.771739 +vt 0.767241 0.760870 +vt 0.767241 0.771739 +vt 0.780172 0.760870 +vt 0.780172 0.771739 +vt 0.689655 0.771739 +vt 0.702586 0.760870 +vt 0.702586 0.771739 +vt 0.715517 0.771739 +vt 0.728448 0.760870 +vt 0.754310 0.760870 +vt 0.793103 0.760870 +vt 0.793103 0.771739 +vt 0.715517 0.760870 +vt 0.728448 0.755435 +vt 0.715517 0.728261 +vt 0.728448 0.728261 +vt 0.754310 0.728261 +vt 0.754310 0.755435 +vt 0.715517 0.744565 +vt 0.702586 0.728261 +vt 0.741379 0.728261 +vt 0.767241 0.744565 +vt 0.767241 0.728261 +vt 0.780172 0.728261 +vt 0.780172 0.733696 +vt 0.754310 0.701087 +vt 0.767241 0.711957 +vt 0.780172 0.722826 +vt 0.728448 0.701087 +vt 0.702586 0.722826 +vt 0.715517 0.711957 +vt 0.741379 0.695652 +vt 0.793103 0.728261 +vt 0.702586 0.733696 +vt 0.689655 0.728261 +vt 0.689655 0.695652 +vt 0.702586 0.652174 +vt 0.702586 0.695652 +vt 0.767241 0.695652 +vt 0.780172 0.652174 +vt 0.780172 0.695652 +vt 0.793103 0.652174 +vt 0.793103 0.695652 +vt 0.715517 0.695652 +vt 0.728448 0.652174 +vt 0.728448 0.695652 +vt 0.754310 0.652174 +vt 0.754310 0.695652 +vt 0.715517 0.652174 +vt 0.741379 0.652174 +vt 0.767241 0.652174 +vt 0.857759 0.755435 +vt 0.870690 0.728261 +vt 0.870690 0.744565 +vt 0.844828 0.760870 +vt 0.831897 0.728261 +vt 0.844828 0.728261 +vt 0.806035 0.733696 +vt 0.818965 0.728261 +vt 0.818965 0.744565 +vt 0.857759 0.728261 +vt 0.831897 0.755435 +vt 0.806035 0.771739 +vt 0.818965 0.760870 +vt 0.818965 0.771739 +vt 0.883621 0.771739 +vt 0.896552 0.760870 +vt 0.896552 0.771739 +vt 0.844828 0.771739 +vt 0.857759 0.760870 +vt 0.857759 0.771739 +vt 0.831897 0.760870 +vt 0.831897 0.771739 +vt 0.793103 0.771739 +vt 0.806035 0.760870 +vt 0.870690 0.771739 +vt 0.883621 0.760870 +vt 0.870690 0.760870 +vt 0.883621 0.728261 +vt 0.883621 0.733696 +vt 0.857759 0.701087 +vt 0.870690 0.711957 +vt 0.883621 0.722826 +vt 0.831897 0.701087 +vt 0.844828 0.695652 +vt 0.806035 0.728261 +vt 0.818965 0.711957 +vt 0.896552 0.728261 +vt 0.793103 0.728261 +vt 0.806035 0.722826 +vt 0.793103 0.695652 +vt 0.806035 0.652174 +vt 0.806035 0.695652 +vt 0.870690 0.695652 +vt 0.883621 0.652174 +vt 0.883621 0.695652 +vt 0.896552 0.652174 +vt 0.896552 0.695652 +vt 0.818965 0.695652 +vt 0.831897 0.652174 +vt 0.831897 0.695652 +vt 0.857759 0.652174 +vt 0.857759 0.695652 +vt 0.818965 0.652174 +vt 0.844828 0.652174 +vt 0.870690 0.652174 +vt 0.728448 0.771739 +vt 0.741379 0.760870 +vt 0.741379 0.771739 +vt 0.754310 0.771739 +vt 0.767241 0.760870 +vt 0.767241 0.771739 +vt 0.780172 0.760870 +vt 0.780172 0.771739 +vt 0.689655 0.771739 +vt 0.702586 0.760870 +vt 0.702586 0.771739 +vt 0.715517 0.771739 +vt 0.728448 0.760870 +vt 0.754310 0.760870 +vt 0.793103 0.760870 +vt 0.793103 0.771739 +vt 0.715517 0.760870 +vt 0.715517 0.744565 +vt 0.728448 0.728261 +vt 0.728448 0.755435 +vt 0.754310 0.728261 +vt 0.754310 0.755435 +vt 0.702586 0.728261 +vt 0.715517 0.728261 +vt 0.741379 0.728261 +vt 0.767241 0.728261 +vt 0.767241 0.744565 +vt 0.780172 0.728261 +vt 0.780172 0.733696 +vt 0.767241 0.711957 +vt 0.780172 0.722826 +vt 0.728448 0.701087 +vt 0.741379 0.695652 +vt 0.754310 0.701087 +vt 0.715517 0.711957 +vt 0.793103 0.728261 +vt 0.702586 0.733696 +vt 0.689655 0.728261 +vt 0.702586 0.722826 +vt 0.689655 0.695652 +vt 0.702586 0.652174 +vt 0.702586 0.695652 +vt 0.767241 0.695652 +vt 0.780172 0.652174 +vt 0.780172 0.695652 +vt 0.793103 0.652174 +vt 0.793103 0.695652 +vt 0.715517 0.695652 +vt 0.728448 0.652174 +vt 0.728448 0.695652 +vt 0.754310 0.652174 +vt 0.754310 0.695652 +vt 0.715517 0.652174 +vt 0.741379 0.652174 +vt 0.767241 0.652174 +vt 0.793103 0.760870 +vt 0.793103 0.652174 +vt 0.689655 0.760870 +vt 0.689655 0.652174 +vt 0.896552 0.891304 +vt 0.974138 0.391304 +vt 0.974138 0.260870 +vt 0.793103 0.760870 +vt 0.896552 0.597826 +vt 0.896552 0.581522 +vt 0.896552 0.548913 +vt 0.896552 0.521739 +vt 0.793103 0.652174 +vt 0.689655 0.760870 +vt 0.689655 0.652174 +vt 0.793103 0.760870 +vt 0.793103 0.652174 +vt 0.689655 0.760870 +vt 0.689655 0.652174 +vt 0.793103 0.760870 +vt 0.793103 0.652174 +vt 0.689655 0.760870 +vt 0.689655 0.652174 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.4851 0.7276 -0.4851 +vn 0.4851 0.7276 0.4851 +vn 0.5547 0.8321 0.0000 +vn -0.5547 0.8321 0.0000 +vn 0.0000 0.8321 -0.5547 +vn -0.4851 0.7276 0.4851 +vn 0.4851 0.7276 -0.4851 +vn 0.0000 0.8321 0.5547 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.5774 -0.5774 0.5774 +vn -0.5774 -0.5774 0.5774 +vn 0.0000 0.7071 0.7071 +vn 0.1866 0.9824 0.0000 +vn 0.0196 0.0473 -0.9987 +vn -0.1363 -0.6737 -0.7263 +vn 0.0000 -0.7071 -0.7071 +vn -0.1363 -0.6737 0.7263 +vn 0.1447 0.7194 0.6794 +vn 0.1447 0.7194 -0.6794 +vn -0.7071 -0.7071 0.0000 +vn 0.0196 0.0473 0.9987 +vn 0.0670 0.0670 0.9955 +vn 0.5293 0.5293 0.6630 +vn 0.5293 0.5293 -0.6630 +vn 0.7071 0.7071 0.0000 +vn 0.0670 0.0670 -0.9955 +vn -0.4617 -0.4617 -0.7573 +vn 0.0473 0.0196 -0.9987 +vn -0.6737 -0.1363 -0.7263 +vn 0.7194 0.1447 0.6794 +vn 0.7194 0.1447 -0.6794 +vn -0.6737 -0.1363 0.7263 +vn 0.0473 0.0196 0.9987 +vn 0.9824 0.1866 0.0000 +vn -0.4617 -0.4617 0.7573 +vn -0.7071 0.7071 0.0000 +vn 0.0000 0.9824 0.1866 +vn 0.9987 0.0473 0.0196 +vn 0.7263 -0.6737 -0.1363 +vn 0.7071 -0.7071 0.0000 +vn -0.7263 -0.6737 -0.1363 +vn -0.6794 0.7194 0.1447 +vn 0.6794 0.7194 0.1447 +vn -0.9987 0.0473 0.0196 +vn -0.9955 0.0670 0.0670 +vn -0.6630 0.5293 0.5293 +vn 0.6630 0.5293 0.5293 +vn 0.9955 0.0670 0.0670 +vn 0.7573 -0.4617 -0.4617 +vn 0.6794 0.1447 0.7194 +vn 0.9987 0.0196 0.0473 +vn 0.7263 -0.1363 -0.6737 +vn -0.6794 0.1447 0.7194 +vn 0.0000 0.1866 0.9824 +vn -0.7573 -0.4617 -0.4617 +vn -0.9987 0.0196 0.0473 +vn -0.7263 -0.1363 -0.6737 +vn -0.6794 -0.1447 -0.7194 +vn 0.6794 -0.1447 -0.7194 +vn 0.0000 -0.1866 -0.9824 +vn -0.7263 0.1363 0.6737 +vn 0.7263 0.1363 0.6737 +vn -0.9987 -0.0196 -0.0473 +vn 0.9987 -0.0196 -0.0473 +vn -0.6630 -0.5293 -0.5293 +vn -0.9955 -0.0670 -0.0670 +vn 0.9955 -0.0670 -0.0670 +vn 0.6630 -0.5293 -0.5293 +vn -0.7573 0.4617 0.4617 +vn 0.6794 -0.7194 -0.1447 +vn 0.0000 -0.9824 -0.1866 +vn -0.6794 -0.7194 -0.1447 +vn -0.9987 -0.0473 -0.0196 +vn 0.7263 0.6737 0.1363 +vn 0.9987 -0.0473 -0.0196 +vn -0.7263 0.6737 0.1363 +vn 0.7573 0.4617 0.4617 +vn -0.1447 0.7194 0.6794 +vn -0.0670 0.0670 0.9955 +vn -0.0196 0.0473 0.9987 +vn -0.1447 0.7194 -0.6794 +vn -0.1866 0.9824 0.0000 +vn 0.1363 -0.6737 -0.7263 +vn -0.0670 0.0670 -0.9955 +vn -0.0196 0.0473 -0.9987 +vn -0.5293 0.5293 0.6630 +vn -0.5293 0.5293 -0.6630 +vn 0.0473 -0.9987 0.0196 +vn 0.9824 0.0000 0.1866 +vn 0.0473 0.9987 0.0196 +vn -0.6737 -0.7263 -0.1363 +vn 0.7194 0.6794 0.1447 +vn 0.7194 -0.6794 0.1447 +vn -0.6737 0.7263 -0.1363 +vn 0.0670 0.9955 0.0670 +vn 0.5293 0.6630 0.5293 +vn 0.0670 -0.9955 0.0670 +vn -0.4617 -0.7573 -0.4617 +vn 0.5293 -0.6630 0.5293 +vn 0.1866 0.0000 0.9824 +vn 0.1447 -0.6794 0.7194 +vn 0.1447 0.6794 0.7194 +vn 0.0196 -0.9987 0.0473 +vn -0.4617 0.7573 -0.4617 +vn 0.0196 0.9987 0.0473 +vn -0.1363 -0.7263 -0.6737 +vn -0.1363 0.7263 -0.6737 +vn 0.1363 -0.6737 0.7263 +vn 0.4617 -0.4617 0.7573 +vn -0.0473 0.0196 0.9987 +vn 0.6737 -0.1363 0.7263 +vn -0.7194 0.1447 -0.6794 +vn -0.7194 0.1447 0.6794 +vn 0.6737 -0.1363 -0.7263 +vn -0.0473 0.0196 -0.9987 +vn -0.9824 0.1866 0.0000 +vn 0.4617 -0.4617 -0.7573 +vn 0.0000 0.9824 -0.1866 +vn -0.9987 0.0473 -0.0196 +vn -0.7263 -0.6737 0.1363 +vn 0.7263 -0.6737 0.1363 +vn 0.6794 0.7194 -0.1447 +vn -0.6794 0.7194 -0.1447 +vn 0.9987 0.0473 -0.0196 +vn 0.9955 0.0670 -0.0670 +vn 0.6630 0.5293 -0.5293 +vn -0.6630 0.5293 -0.5293 +vn -0.9955 0.0670 -0.0670 +vn -0.7573 -0.4617 0.4617 +vn -0.9987 0.0196 -0.0473 +vn -0.7263 -0.1363 0.6737 +vn 0.6794 0.1447 -0.7194 +vn -0.6794 0.1447 -0.7194 +vn 0.7263 -0.1363 0.6737 +vn 0.9987 0.0196 -0.0473 +vn 0.0000 0.1866 -0.9824 +vn 0.7573 -0.4617 0.4617 +s off +f 19/29/7 18/30/7 17/31/7 +f 302/32/8 28/33/8 301/34/8 +f 18/35/9 22/36/9 17/37/9 +f 29/38/10 20/39/10 19/40/10 +f 303/41/8 306/42/8 305/43/8 +f 25/44/11 29/38/11 19/45/11 +f 23/46/12 25/47/12 22/36/12 +f 27/48/12 29/38/12 30/49/12 +f 24/50/10 305/43/10 21/51/10 +f 21/52/7 306/42/7 301/53/7 +f 26/54/9 30/49/9 25/47/9 +f 31/55/11 41/56/11 33/57/11 +f 40/58/13 35/59/13 32/60/13 +f 41/56/14 38/61/14 33/57/14 +f 35/59/9 45/62/9 37/63/9 +f 38/61/10 44/64/10 36/65/10 +f 36/65/15 42/66/15 34/67/15 +f 37/63/16 39/68/16 31/69/16 +f 34/67/8 40/58/8 32/60/8 +f 41/70/17 47/71/17 46/72/17 +f 40/58/18 50/73/18 43/74/18 +f 42/66/19 50/73/19 40/58/19 +f 47/71/20 39/75/20 48/76/20 +f 46/72/21 49/77/21 44/78/21 +f 45/79/22 48/76/22 39/75/22 +f 49/80/8 62/81/8 50/82/8 +f 44/78/23 49/77/23 42/66/23 +f 50/73/24 45/79/24 43/74/24 +f 61/83/12 60/84/12 62/81/12 +f 56/85/12 57/86/12 55/87/12 +f 54/88/8 56/85/8 52/89/8 +f 51/90/11 57/91/11 53/92/11 +f 47/93/10 61/83/10 49/94/10 +f 52/89/9 55/87/9 51/90/9 +f 50/95/9 60/84/9 48/96/9 +f 48/97/11 59/98/11 47/99/11 +f 237/100/12 235/101/12 236/102/12 +f 233/103/10 238/104/10 234/105/10 +f 232/106/9 236/102/9 231/107/9 +f 234/108/8 237/100/8 232/109/8 +f 231/110/11 235/101/11 233/111/11 +f 245/112/12 243/113/12 244/114/12 +f 241/115/10 246/116/10 242/117/10 +f 239/118/9 245/119/9 244/120/9 +f 261/121/12 259/122/12 260/123/12 +f 257/124/10 262/125/10 258/126/10 +f 256/127/9 260/128/9 255/129/9 +f 258/126/8 261/121/8 256/130/8 +f 255/129/11 259/131/11 257/124/11 +f 543/132/12 541/133/12 542/134/12 +f 296/135/12 294/136/12 293/137/12 +f 245/119/9 296/135/9 293/137/9 +f 245/112/11 294/136/11 246/138/11 +f 242/139/8 296/135/8 240/140/8 +f 246/116/10 295/141/10 242/117/10 +f 301/142/9 304/143/9 302/144/9 +f 302/145/12 303/41/12 24/146/12 +f 28/33/8 21/147/8 301/34/8 +f 20/148/8 24/149/8 18/30/8 +f 21/147/8 26/150/8 24/149/8 +f 18/30/8 26/150/8 23/151/8 +f 309/152/8 308/153/8 310/154/8 +f 312/155/10 316/156/10 313/157/10 +f 313/157/8 315/158/8 311/159/8 +f 318/160/10 322/161/10 319/162/10 +f 317/163/11 320/164/11 318/160/11 +f 327/165/12 328/166/12 326/167/12 +f 320/164/12 321/168/12 322/169/12 +f 324/170/9 327/165/9 323/171/9 +f 316/156/12 314/172/12 315/173/12 +f 323/171/11 326/174/11 325/175/11 +f 25/44/11 17/176/11 22/177/11 +f 539/178/10 544/179/10 540/180/10 +f 538/181/9 542/134/9 537/182/9 +f 540/183/8 543/132/8 538/184/8 +f 537/185/11 541/133/11 539/186/11 +f 551/187/12 549/188/12 550/189/12 +f 547/190/10 552/191/10 548/192/10 +f 545/193/9 551/194/9 550/195/9 +f 556/196/12 554/197/12 553/198/12 +f 551/194/9 556/196/9 553/198/9 +f 551/187/11 554/197/11 552/199/11 +f 548/200/8 556/196/8 546/201/8 +f 552/191/10 555/202/10 548/192/10 +f 557/203/25 560/204/25 558/205/25 +f 557/206/11 563/207/11 559/208/11 +f 558/209/8 564/210/8 562/211/8 +f 559/212/10 566/213/10 560/204/10 +f 563/214/10 567/215/10 559/212/10 +f 560/204/10 570/216/10 564/217/10 +f 559/212/10 567/215/10 565/218/10 +f 560/204/10 566/213/10 569/219/10 +f 570/220/11 575/221/11 576/222/11 +f 565/218/26 572/223/26 566/213/26 +f 567/224/27 571/225/27 565/218/27 +f 568/226/8 573/227/8 567/224/8 +f 569/228/28 572/223/28 575/221/28 +f 574/229/25 563/207/25 561/230/25 +f 570/220/25 562/211/25 564/210/25 +f 19/29/7 20/148/7 18/30/7 +f 302/32/8 20/148/8 28/33/8 +f 18/35/9 23/46/9 22/36/9 +f 29/38/10 28/33/10 20/39/10 +f 303/41/8 304/143/8 306/42/8 +f 25/44/11 30/49/11 29/38/11 +f 23/46/12 26/54/12 25/47/12 +f 27/48/12 28/33/12 29/38/12 +f 24/50/10 303/41/10 305/43/10 +f 21/52/7 305/43/7 306/42/7 +f 26/54/9 27/48/9 30/49/9 +f 31/55/11 39/231/11 41/56/11 +f 40/58/13 43/232/13 35/59/13 +f 41/56/14 46/233/14 38/61/14 +f 35/59/9 43/232/9 45/62/9 +f 38/61/10 46/233/10 44/64/10 +f 36/65/15 44/64/15 42/66/15 +f 37/63/16 45/62/16 39/68/16 +f 34/67/8 42/66/8 40/58/8 +f 42/66/19 49/77/19 50/73/19 +f 47/71/20 41/70/20 39/75/20 +f 46/72/21 47/71/21 49/77/21 +f 49/80/8 61/83/8 62/81/8 +f 50/73/24 48/76/24 45/79/24 +f 61/83/12 59/98/12 60/84/12 +f 56/85/12 58/234/12 57/86/12 +f 54/88/8 58/235/8 56/85/8 +f 51/90/11 55/87/11 57/91/11 +f 47/93/10 59/98/10 61/83/10 +f 52/89/9 56/85/9 55/87/9 +f 50/95/9 62/81/9 60/84/9 +f 48/97/11 60/84/11 59/98/11 +f 237/100/12 238/104/12 235/101/12 +f 233/103/10 235/101/10 238/104/10 +f 232/106/9 237/100/9 236/102/9 +f 234/108/8 238/104/8 237/100/8 +f 231/110/11 236/102/11 235/101/11 +f 245/112/12 246/138/12 243/113/12 +f 241/115/10 243/236/10 246/116/10 +f 239/118/9 240/237/9 245/119/9 +f 261/121/12 262/125/12 259/122/12 +f 257/124/10 259/131/10 262/125/10 +f 256/127/9 261/238/9 260/128/9 +f 258/126/8 262/125/8 261/121/8 +f 255/129/11 260/128/11 259/131/11 +f 543/132/12 544/179/12 541/133/12 +f 296/135/12 295/141/12 294/136/12 +f 245/119/9 240/237/9 296/135/9 +f 245/112/11 293/137/11 294/136/11 +f 242/139/8 295/141/8 296/135/8 +f 246/116/10 294/136/10 295/141/10 +f 301/142/9 306/42/9 304/143/9 +f 302/145/12 304/143/12 303/41/12 +f 28/33/8 27/48/8 21/147/8 +f 20/148/8 302/32/8 24/149/8 +f 21/147/8 27/48/8 26/150/8 +f 18/30/8 24/149/8 26/150/8 +f 309/152/8 307/239/8 308/153/8 +f 312/155/10 314/172/10 316/156/10 +f 313/157/8 316/156/8 315/158/8 +f 318/160/10 320/164/10 322/161/10 +f 317/163/11 321/168/11 320/164/11 +f 324/170/9 328/166/9 327/165/9 +f 323/171/11 327/165/11 326/174/11 +f 25/44/11 19/45/11 17/176/11 +f 539/178/10 541/133/10 544/179/10 +f 538/181/9 543/132/9 542/134/9 +f 540/183/8 544/179/8 543/132/8 +f 537/185/11 542/134/11 541/133/11 +f 551/187/12 552/199/12 549/188/12 +f 547/190/10 549/240/10 552/191/10 +f 545/193/9 546/241/9 551/194/9 +f 556/196/12 555/202/12 554/197/12 +f 551/194/9 546/241/9 556/196/9 +f 551/187/11 553/198/11 554/197/11 +f 548/200/8 555/202/8 556/196/8 +f 552/191/10 554/197/10 555/202/10 +f 557/203/25 559/212/25 560/204/25 +f 557/206/11 561/230/11 563/207/11 +f 558/209/8 560/242/8 564/210/8 +f 559/212/10 565/218/10 566/213/10 +f 563/214/10 568/243/10 567/215/10 +f 560/204/10 569/219/10 570/216/10 +f 570/220/11 569/228/11 575/221/11 +f 565/218/26 571/225/26 572/223/26 +f 567/224/27 573/227/27 571/225/27 +f 568/226/8 574/229/8 573/227/8 +f 569/228/28 566/213/28 572/223/28 +f 574/229/25 568/226/25 563/207/25 +f 570/220/25 576/222/25 562/211/25 +s 1 +f 66/244/29 73/245/30 65/246/12 +f 64/247/25 71/248/31 63/249/10 +f 63/249/10 78/250/32 70/251/33 +f 69/252/7 76/253/34 68/254/26 +f 67/255/9 74/256/35 66/244/29 +f 65/246/12 72/257/36 64/247/25 +f 70/251/33 77/258/37 69/259/7 +f 68/254/26 75/260/38 67/255/9 +f 74/261/35 83/262/39 82/263/40 +f 73/245/30 80/264/41 72/265/36 +f 76/266/34 83/262/39 75/267/38 +f 74/261/35 81/268/42 73/245/30 +f 72/265/36 79/269/43 71/270/31 +f 71/270/31 85/271/44 78/272/32 +f 80/264/41 86/273/45 79/269/43 +f 79/269/43 92/274/46 85/271/44 +f 83/262/39 89/275/47 82/263/40 +f 81/268/42 87/276/48 80/264/41 +f 83/262/39 91/277/49 90/278/50 +f 81/268/42 89/275/47 88/279/51 +f 78/272/32 85/271/44 77/280/37 +f 85/271/44 92/274/46 77/280/37 +f 76/266/34 77/281/37 84/282/52 +f 84/282/52 77/281/37 91/277/49 +f 77/283/37 99/284/16 91/285/49 +f 86/286/45 100/287/14 92/288/46 +f 92/288/46 93/289/11 77/290/37 +f 90/291/50 97/292/13 89/293/47 +f 88/279/51 95/294/15 87/295/48 +f 91/285/49 98/296/9 90/291/50 +f 89/293/47 96/297/8 88/279/51 +f 87/295/48 94/298/10 86/286/45 +f 104/299/29 111/300/30 103/301/12 +f 102/302/25 109/303/31 101/304/10 +f 101/304/10 116/305/32 108/306/33 +f 107/307/7 114/308/34 106/309/26 +f 105/310/9 112/311/35 104/299/29 +f 103/301/12 110/312/36 102/302/25 +f 108/306/33 115/313/37 107/314/7 +f 106/309/26 113/315/38 105/310/9 +f 112/316/35 121/317/39 120/318/40 +f 111/300/30 118/319/41 110/320/36 +f 113/321/38 122/322/52 121/317/39 +f 111/300/30 120/318/40 119/323/42 +f 110/320/36 117/324/43 109/325/31 +f 109/325/31 123/326/44 116/327/32 +f 118/319/41 124/328/45 117/324/43 +f 117/324/43 130/329/46 123/326/44 +f 120/318/40 128/330/50 127/331/47 +f 118/319/41 126/332/51 125/333/48 +f 121/317/39 129/334/49 128/330/50 +f 120/318/40 126/332/51 119/323/42 +f 116/327/32 123/326/44 115/335/37 +f 123/326/44 130/329/46 115/335/37 +f 114/336/34 115/337/37 122/322/52 +f 122/322/52 115/337/37 129/334/49 +f 115/338/37 137/339/16 129/340/49 +f 124/341/45 138/342/14 130/343/46 +f 130/343/46 131/344/11 115/345/37 +f 128/346/50 135/347/13 127/348/47 +f 126/332/51 133/349/15 125/350/48 +f 129/340/49 136/351/9 128/346/50 +f 127/348/47 134/352/8 126/332/51 +f 125/350/48 132/353/10 124/341/45 +f 142/354/53 149/355/54 141/356/12 +f 140/357/42 147/358/55 139/359/8 +f 139/359/8 154/360/56 146/361/57 +f 145/362/7 152/363/58 144/364/37 +f 143/365/11 150/366/59 142/354/53 +f 140/357/42 149/355/54 148/367/60 +f 146/361/57 153/368/33 145/369/7 +f 144/364/37 151/370/61 143/365/11 +f 150/371/59 159/372/62 158/373/63 +f 149/355/54 156/374/64 148/375/60 +f 152/376/58 159/372/62 151/377/61 +f 149/355/54 158/373/63 157/378/29 +f 148/375/60 155/379/65 147/380/55 +f 154/381/56 155/379/65 161/382/66 +f 155/379/65 163/383/67 162/384/68 +f 161/382/66 162/384/68 168/385/69 +f 159/372/62 165/386/70 158/373/63 +f 156/374/64 164/387/71 163/383/67 +f 160/388/72 166/389/73 159/372/62 +f 157/378/29 165/386/70 164/387/71 +f 154/381/56 161/382/66 153/390/33 +f 161/382/66 168/385/69 153/390/33 +f 152/376/58 153/391/33 160/388/72 +f 160/388/72 153/391/33 167/392/74 +f 153/393/33 175/394/75 167/395/74 +f 162/396/68 176/397/76 168/398/69 +f 168/398/69 169/399/77 153/400/33 +f 166/401/73 173/402/78 165/403/70 +f 164/387/71 171/404/79 163/405/67 +f 167/395/74 174/406/80 166/401/73 +f 165/403/70 172/407/29 164/387/71 +f 163/405/67 170/408/81 162/396/68 +f 174/409/80 182/410/82 181/411/83 +f 171/412/79 178/413/84 170/414/81 +f 169/415/77 182/410/82 175/416/75 +f 170/414/81 183/417/85 176/418/76 +f 173/419/78 181/411/83 180/420/86 +f 176/418/76 177/421/33 169/399/77 +f 177/421/33 190/422/87 184/423/88 +f 181/411/83 189/424/89 188/425/90 +f 178/413/84 186/426/91 185/427/92 +f 177/428/33 189/424/89 182/410/82 +f 178/413/84 190/422/87 183/417/85 +f 181/411/83 187/429/93 180/420/86 +f 171/412/79 172/430/29 179/431/94 +f 179/431/94 172/430/29 186/426/91 +f 173/419/78 180/420/86 172/430/29 +f 180/420/86 187/429/93 172/430/29 +f 194/432/53 201/433/12 193/434/12 +f 192/435/42 199/436/8 191/437/8 +f 191/437/8 206/438/57 198/439/57 +f 197/440/7 204/441/37 196/442/37 +f 195/443/11 202/444/53 194/432/53 +f 192/435/42 201/433/12 200/445/42 +f 198/439/57 205/446/7 197/447/7 +f 196/442/37 203/448/11 195/443/11 +f 210/449/53 217/450/12 209/451/12 +f 208/452/42 215/453/8 207/454/8 +f 207/454/8 222/455/57 214/456/57 +f 213/457/7 220/458/37 212/459/37 +f 211/460/11 218/461/53 210/449/53 +f 208/452/42 217/450/12 216/462/42 +f 214/456/57 221/463/7 213/464/7 +f 212/459/37 219/465/11 211/460/11 +f 249/466/95 226/467/96 250/468/97 +f 247/469/98 224/470/53 248/471/99 +f 229/472/100 329/473/101 230/474/102 +f 248/471/99 225/475/103 249/466/95 +f 247/469/98 329/473/101 223/476/104 +f 253/477/33 230/478/102 254/479/10 +f 251/480/26 228/481/57 252/482/7 +f 298/483/12 249/484/95 299/485/29 +f 254/479/10 247/486/98 297/487/25 +f 252/488/7 229/489/100 253/477/33 +f 190/490/87 264/491/105 184/423/88 +f 189/492/89 268/493/14 188/494/90 +f 186/495/91 265/496/106 185/497/92 +f 187/498/93 263/499/107 172/500/29 +f 184/501/88 269/502/108 189/492/89 +f 172/500/29 266/503/109 186/495/91 +f 185/497/92 270/504/110 190/490/87 +f 188/494/90 267/505/111 187/498/93 +f 266/506/109 271/507/112 274/508/113 +f 270/509/110 272/510/114 264/511/105 +f 266/506/109 273/512/13 265/496/106 +f 267/513/111 271/507/112 263/514/107 +f 269/515/108 272/516/114 276/517/115 +f 270/509/110 273/512/13 277/518/116 +f 277/518/116 280/519/117 284/520/118 +f 271/507/112 281/521/119 274/508/113 +f 272/510/114 284/520/118 279/522/120 +f 274/508/113 280/519/117 273/512/13 +f 275/523/121 278/524/122 271/507/112 +f 272/516/114 283/525/123 276/517/115 +f 269/515/108 276/517/115 268/526/14 +f 276/517/115 283/525/123 268/526/14 +f 267/513/111 268/526/14 275/523/121 +f 275/523/121 268/526/14 282/527/124 +f 278/528/122 289/529/29 281/530/119 +f 284/531/118 287/532/7 279/533/120 +f 281/530/119 288/534/9 280/519/117 +f 268/535/14 290/536/25 282/537/124 +f 282/537/124 286/538/12 278/528/122 +f 283/539/123 285/540/10 268/535/14 +f 279/541/120 291/542/33 283/539/123 +f 280/519/117 292/543/26 284/531/118 +f 300/544/9 227/545/125 251/480/26 +f 299/485/29 250/546/97 300/544/9 +f 297/487/25 248/471/99 298/483/12 +f 250/468/97 331/547/126 227/548/125 +f 225/475/103 332/549/127 226/467/96 +f 226/467/96 338/550/128 331/547/126 +f 329/473/101 335/551/129 223/476/104 +f 224/470/53 333/552/130 225/475/103 +f 329/473/101 337/553/131 336/554/132 +f 224/470/53 335/551/129 334/555/133 +f 227/548/125 331/547/126 228/556/57 +f 331/547/126 338/550/128 228/556/57 +f 229/472/100 228/557/57 330/558/134 +f 330/558/134 228/557/57 337/553/131 +f 228/559/57 345/560/15 337/561/131 +f 332/562/127 346/563/13 338/564/128 +f 338/564/128 339/565/8 228/566/57 +f 336/567/132 343/568/14 335/569/129 +f 334/555/133 341/570/16 333/571/130 +f 337/561/131 344/572/10 336/567/132 +f 335/569/129 342/573/11 334/555/133 +f 333/571/130 340/574/9 332/562/127 +f 350/575/25 357/576/99 349/577/12 +f 348/578/29 355/579/97 347/580/9 +f 347/580/9 362/581/125 354/582/26 +f 353/583/7 360/584/100 352/585/33 +f 351/586/10 358/587/98 350/575/25 +f 349/577/12 356/588/95 348/578/29 +f 354/582/26 361/589/57 353/590/7 +f 352/585/33 359/591/102 351/586/10 +f 359/592/102 366/593/104 358/594/98 +f 357/576/99 364/595/103 356/596/95 +f 359/592/102 368/597/134 367/598/101 +f 357/576/99 366/593/104 365/599/53 +f 356/596/95 363/600/96 355/601/97 +f 355/601/97 369/602/126 362/603/125 +f 363/600/96 371/604/130 370/605/127 +f 363/600/96 376/606/128 369/602/126 +f 367/598/101 373/607/129 366/593/104 +f 365/599/53 371/604/130 364/595/103 +f 367/598/101 375/608/131 374/609/132 +f 365/599/53 373/607/129 372/610/133 +f 362/603/125 369/602/126 361/611/57 +f 369/602/126 376/606/128 361/611/57 +f 360/612/100 361/613/57 368/597/134 +f 368/597/134 361/613/57 375/608/131 +f 361/614/57 383/615/15 375/616/131 +f 370/617/127 384/618/13 376/619/128 +f 376/619/128 377/620/8 361/621/57 +f 374/622/132 381/623/14 373/624/129 +f 372/610/133 379/625/16 371/626/130 +f 375/616/131 382/627/10 374/622/132 +f 373/624/129 380/628/11 372/610/133 +f 371/626/130 378/629/9 370/617/127 +f 388/630/42 395/631/135 387/632/12 +f 386/633/53 393/634/136 385/635/11 +f 385/635/11 400/636/137 392/637/37 +f 391/638/7 398/639/138 390/640/57 +f 389/641/8 396/642/139 388/630/42 +f 387/632/12 394/643/140 386/633/53 +f 392/637/37 399/644/26 391/645/7 +f 390/640/57 397/646/141 389/641/8 +f 396/647/139 405/648/142 404/649/143 +f 395/631/135 402/650/144 394/651/140 +f 398/652/138 405/648/142 397/653/141 +f 396/647/139 403/654/25 395/631/135 +f 394/651/140 401/655/145 393/656/136 +f 393/656/136 407/657/146 400/658/137 +f 402/650/144 408/659/147 401/655/145 +f 401/655/145 414/660/148 407/657/146 +f 405/648/142 411/661/149 404/649/143 +f 403/654/25 409/662/150 402/650/144 +f 405/648/142 413/663/151 412/664/152 +f 404/649/143 410/665/153 403/654/25 +f 400/658/137 407/657/146 399/666/26 +f 407/657/146 414/660/148 399/666/26 +f 398/652/138 399/667/26 406/668/154 +f 406/668/154 399/667/26 413/663/151 +f 399/669/26 421/670/13 413/671/151 +f 408/672/147 422/673/16 414/674/148 +f 414/674/148 415/675/9 399/676/26 +f 412/677/152 419/678/15 411/679/149 +f 410/665/153 417/680/14 409/681/150 +f 413/671/151 420/682/8 412/677/152 +f 411/679/149 418/683/10 410/665/153 +f 409/681/150 416/684/11 408/672/147 +f 426/685/42 433/686/135 425/687/12 +f 424/688/53 431/689/136 423/690/11 +f 423/690/11 438/691/137 430/692/37 +f 429/693/7 436/694/138 428/695/57 +f 427/696/8 434/697/139 426/685/42 +f 425/687/12 432/698/140 424/688/53 +f 430/692/37 437/699/26 429/700/7 +f 428/695/57 435/701/141 427/696/8 +f 434/702/139 443/703/142 442/704/143 +f 433/686/135 440/705/144 432/706/140 +f 435/707/141 444/708/154 443/703/142 +f 433/686/135 442/704/143 441/709/25 +f 431/710/136 440/705/144 439/711/145 +f 431/710/136 445/712/146 438/713/137 +f 439/711/145 447/714/150 446/715/147 +f 439/711/145 452/716/148 445/712/146 +f 443/703/142 449/717/149 442/704/143 +f 441/709/25 447/714/150 440/705/144 +f 443/703/142 451/718/151 450/719/152 +f 441/709/25 449/717/149 448/720/153 +f 438/713/137 445/712/146 437/721/26 +f 445/712/146 452/716/148 437/721/26 +f 436/722/138 437/723/26 444/708/154 +f 444/708/154 437/723/26 451/718/151 +f 437/724/26 459/725/13 451/726/151 +f 446/727/147 460/728/16 452/729/148 +f 452/729/148 453/730/9 437/731/26 +f 450/732/152 457/733/15 449/734/149 +f 448/720/153 455/735/14 447/736/150 +f 451/726/151 458/737/8 450/732/152 +f 449/734/149 456/738/10 448/720/153 +f 447/736/150 454/739/11 446/727/147 +f 471/740/60 464/741/65 472/742/55 +f 470/743/54 461/744/63 462/745/29 +f 467/746/58 481/747/62 468/748/61 +f 470/743/54 463/749/64 471/740/60 +f 469/750/59 481/747/62 461/744/63 +f 475/751/37 468/752/61 476/753/11 +f 473/754/57 466/755/33 474/756/7 +f 478/757/12 471/758/60 479/759/42 +f 476/753/11 469/760/59 477/761/53 +f 474/762/7 467/763/58 475/751/37 +f 480/764/8 465/765/56 473/754/57 +f 479/759/42 472/766/55 480/764/8 +f 477/761/53 470/743/54 478/757/12 +f 472/742/55 483/767/66 465/768/56 +f 464/741/65 485/769/67 484/770/68 +f 483/767/66 484/770/68 490/771/69 +f 481/747/62 487/772/70 461/744/63 +f 463/749/64 486/773/71 485/769/67 +f 482/774/72 488/775/73 481/747/62 +f 462/745/29 487/772/70 486/773/71 +f 465/768/56 483/767/66 466/776/33 +f 483/767/66 490/771/69 466/776/33 +f 467/746/58 466/777/33 482/774/72 +f 482/774/72 466/777/33 489/778/74 +f 466/779/33 497/780/14 489/781/74 +f 484/782/68 498/783/15 490/784/69 +f 490/784/69 491/785/10 466/786/33 +f 488/787/73 495/788/16 487/789/70 +f 486/773/71 493/790/13 485/791/67 +f 489/781/74 496/792/11 488/787/73 +f 487/789/70 494/793/9 486/773/71 +f 485/791/67 492/794/8 484/782/68 +f 502/795/53 509/796/54 501/797/12 +f 500/798/42 507/799/55 499/800/8 +f 499/800/8 514/801/56 506/802/57 +f 505/803/7 512/804/58 504/805/37 +f 503/806/11 510/807/59 502/795/53 +f 501/797/12 508/808/60 500/798/42 +f 506/802/57 513/809/33 505/810/7 +f 504/805/37 511/811/61 503/806/11 +f 511/812/61 518/813/63 510/814/59 +f 509/796/54 516/815/64 508/816/60 +f 511/812/61 520/817/72 519/818/62 +f 509/796/54 518/813/63 517/819/29 +f 508/816/60 515/820/65 507/821/55 +f 507/821/55 521/822/66 514/823/56 +f 516/815/64 522/824/68 515/820/65 +f 521/822/66 522/824/68 528/825/69 +f 519/818/62 525/826/70 518/813/63 +f 516/815/64 524/827/71 523/828/67 +f 520/817/72 526/829/73 519/818/62 +f 517/819/29 525/826/70 524/827/71 +f 514/823/56 521/822/66 513/830/33 +f 521/822/66 528/825/69 513/830/33 +f 512/831/58 513/832/33 520/817/72 +f 520/817/72 513/832/33 527/833/74 +f 513/834/33 535/835/14 527/836/74 +f 522/837/68 536/838/15 528/839/69 +f 528/839/69 529/840/10 513/841/33 +f 526/842/73 533/843/16 525/844/70 +f 524/827/71 531/845/13 523/846/67 +f 527/836/74 534/847/11 526/842/73 +f 525/844/70 532/848/9 524/827/71 +f 523/846/67 530/849/8 522/837/68 +f 66/244/29 74/256/35 73/245/30 +f 64/247/25 72/257/36 71/248/31 +f 63/249/10 71/248/31 78/250/32 +f 69/252/7 77/850/37 76/253/34 +f 67/255/9 75/260/38 74/256/35 +f 65/246/12 73/245/30 72/257/36 +f 70/251/33 78/250/32 77/258/37 +f 68/254/26 76/253/34 75/260/38 +f 74/261/35 75/267/38 83/262/39 +f 73/245/30 81/268/42 80/264/41 +f 76/266/34 84/282/52 83/262/39 +f 74/261/35 82/263/40 81/268/42 +f 72/265/36 80/264/41 79/269/43 +f 71/270/31 79/269/43 85/271/44 +f 80/264/41 87/276/48 86/273/45 +f 79/269/43 86/273/45 92/274/46 +f 83/262/39 90/278/50 89/275/47 +f 81/268/42 88/279/51 87/276/48 +f 83/262/39 84/282/52 91/277/49 +f 81/268/42 82/263/40 89/275/47 +f 77/283/37 93/851/11 99/284/16 +f 86/286/45 94/298/10 100/287/14 +f 92/288/46 100/287/14 93/289/11 +f 90/291/50 98/296/9 97/292/13 +f 88/279/51 96/297/8 95/294/15 +f 91/285/49 99/284/16 98/296/9 +f 89/293/47 97/292/13 96/297/8 +f 87/295/48 95/294/15 94/298/10 +f 104/299/29 112/311/35 111/300/30 +f 102/302/25 110/312/36 109/303/31 +f 101/304/10 109/303/31 116/305/32 +f 107/307/7 115/852/37 114/308/34 +f 105/310/9 113/315/38 112/311/35 +f 103/301/12 111/300/30 110/312/36 +f 108/306/33 116/305/32 115/313/37 +f 106/309/26 114/308/34 113/315/38 +f 112/316/35 113/321/38 121/317/39 +f 111/300/30 119/323/42 118/319/41 +f 113/321/38 114/336/34 122/322/52 +f 111/300/30 112/316/35 120/318/40 +f 110/320/36 118/319/41 117/324/43 +f 109/325/31 117/324/43 123/326/44 +f 118/319/41 125/333/48 124/328/45 +f 117/324/43 124/328/45 130/329/46 +f 120/318/40 121/317/39 128/330/50 +f 118/319/41 119/323/42 126/332/51 +f 121/317/39 122/322/52 129/334/49 +f 120/318/40 127/331/47 126/332/51 +f 115/338/37 131/853/11 137/339/16 +f 124/341/45 132/353/10 138/342/14 +f 130/343/46 138/342/14 131/344/11 +f 128/346/50 136/351/9 135/347/13 +f 126/332/51 134/352/8 133/349/15 +f 129/340/49 137/339/16 136/351/9 +f 127/348/47 135/347/13 134/352/8 +f 125/350/48 133/349/15 132/353/10 +f 142/354/53 150/366/59 149/355/54 +f 140/357/42 148/367/60 147/358/55 +f 139/359/8 147/358/55 154/360/56 +f 145/362/7 153/854/33 152/363/58 +f 143/365/11 151/370/61 150/366/59 +f 140/357/42 141/356/12 149/355/54 +f 146/361/57 154/360/56 153/368/33 +f 144/364/37 152/363/58 151/370/61 +f 150/371/59 151/377/61 159/372/62 +f 149/355/54 157/378/29 156/374/64 +f 152/376/58 160/388/72 159/372/62 +f 149/355/54 150/371/59 158/373/63 +f 148/375/60 156/374/64 155/379/65 +f 154/381/56 147/380/55 155/379/65 +f 155/379/65 156/374/64 163/383/67 +f 161/382/66 155/379/65 162/384/68 +f 159/372/62 166/389/73 165/386/70 +f 156/374/64 157/378/29 164/387/71 +f 160/388/72 167/392/74 166/389/73 +f 157/378/29 158/373/63 165/386/70 +f 153/393/33 169/415/77 175/394/75 +f 162/396/68 170/408/81 176/397/76 +f 168/398/69 176/397/76 169/399/77 +f 166/401/73 174/406/80 173/402/78 +f 164/387/71 172/407/29 171/404/79 +f 167/395/74 175/394/75 174/406/80 +f 165/403/70 173/402/78 172/407/29 +f 163/405/67 171/404/79 170/408/81 +f 174/409/80 175/416/75 182/410/82 +f 171/412/79 179/431/94 178/413/84 +f 169/415/77 177/428/33 182/410/82 +f 170/414/81 178/413/84 183/417/85 +f 173/419/78 174/409/80 181/411/83 +f 176/418/76 183/417/85 177/421/33 +f 177/421/33 183/417/85 190/422/87 +f 181/411/83 182/410/82 189/424/89 +f 178/413/84 179/431/94 186/426/91 +f 177/428/33 184/501/88 189/424/89 +f 178/413/84 185/427/92 190/422/87 +f 181/411/83 188/425/90 187/429/93 +f 194/432/53 202/444/53 201/433/12 +f 192/435/42 200/445/42 199/436/8 +f 191/437/8 199/436/8 206/438/57 +f 197/440/7 205/855/7 204/441/37 +f 195/443/11 203/448/11 202/444/53 +f 192/435/42 193/434/12 201/433/12 +f 198/439/57 206/438/57 205/446/7 +f 196/442/37 204/441/37 203/448/11 +f 210/449/53 218/461/53 217/450/12 +f 208/452/42 216/462/42 215/453/8 +f 207/454/8 215/453/8 222/455/57 +f 213/457/7 221/856/7 220/458/37 +f 211/460/11 219/465/11 218/461/53 +f 208/452/42 209/451/12 217/450/12 +f 214/456/57 222/455/57 221/463/7 +f 212/459/37 220/458/37 219/465/11 +f 249/466/95 225/475/103 226/467/96 +f 247/469/98 223/476/104 224/470/53 +f 229/472/100 330/558/134 329/473/101 +f 248/471/99 224/470/53 225/475/103 +f 247/469/98 230/474/102 329/473/101 +f 253/477/33 229/489/100 230/478/102 +f 251/480/26 227/545/125 228/481/57 +f 298/483/12 248/471/99 249/484/95 +f 254/479/10 230/478/102 247/486/98 +f 252/488/7 228/857/57 229/489/100 +f 190/490/87 270/504/110 264/491/105 +f 189/492/89 269/502/108 268/493/14 +f 186/495/91 266/503/109 265/496/106 +f 187/498/93 267/505/111 263/499/107 +f 184/501/88 264/858/105 269/502/108 +f 172/500/29 263/499/107 266/503/109 +f 185/497/92 265/496/106 270/504/110 +f 188/494/90 268/493/14 267/505/111 +f 266/506/109 263/514/107 271/507/112 +f 270/509/110 277/518/116 272/510/114 +f 266/506/109 274/508/113 273/512/13 +f 267/513/111 275/523/121 271/507/112 +f 269/515/108 264/859/105 272/516/114 +f 270/509/110 265/496/106 273/512/13 +f 277/518/116 273/512/13 280/519/117 +f 271/507/112 278/524/122 281/521/119 +f 272/510/114 277/518/116 284/520/118 +f 274/508/113 281/521/119 280/519/117 +f 275/523/121 282/527/124 278/524/122 +f 272/516/114 279/860/120 283/525/123 +f 278/528/122 286/538/12 289/529/29 +f 284/531/118 292/543/26 287/532/7 +f 281/530/119 289/529/29 288/534/9 +f 268/535/14 285/540/10 290/536/25 +f 282/537/124 290/536/25 286/538/12 +f 283/539/123 291/542/33 285/540/10 +f 279/541/120 287/861/7 291/542/33 +f 280/519/117 288/534/9 292/543/26 +f 300/544/9 250/546/97 227/545/125 +f 299/485/29 249/484/95 250/546/97 +f 297/487/25 247/486/98 248/471/99 +f 250/468/97 226/467/96 331/547/126 +f 225/475/103 333/552/130 332/549/127 +f 226/467/96 332/549/127 338/550/128 +f 329/473/101 336/554/132 335/551/129 +f 224/470/53 334/555/133 333/552/130 +f 329/473/101 330/558/134 337/553/131 +f 224/470/53 223/476/104 335/551/129 +f 228/559/57 339/862/8 345/560/15 +f 332/562/127 340/574/9 346/563/13 +f 338/564/128 346/563/13 339/565/8 +f 336/567/132 344/572/10 343/568/14 +f 334/555/133 342/573/11 341/570/16 +f 337/561/131 345/560/15 344/572/10 +f 335/569/129 343/568/14 342/573/11 +f 333/571/130 341/570/16 340/574/9 +f 350/575/25 358/587/98 357/576/99 +f 348/578/29 356/588/95 355/579/97 +f 347/580/9 355/579/97 362/581/125 +f 353/583/7 361/863/57 360/584/100 +f 351/586/10 359/591/102 358/587/98 +f 349/577/12 357/576/99 356/588/95 +f 354/582/26 362/581/125 361/589/57 +f 352/585/33 360/584/100 359/591/102 +f 359/592/102 367/598/101 366/593/104 +f 357/576/99 365/599/53 364/595/103 +f 359/592/102 360/612/100 368/597/134 +f 357/576/99 358/594/98 366/593/104 +f 356/596/95 364/595/103 363/600/96 +f 355/601/97 363/600/96 369/602/126 +f 363/600/96 364/595/103 371/604/130 +f 363/600/96 370/605/127 376/606/128 +f 367/598/101 374/609/132 373/607/129 +f 365/599/53 372/610/133 371/604/130 +f 367/598/101 368/597/134 375/608/131 +f 365/599/53 366/593/104 373/607/129 +f 361/614/57 377/864/8 383/615/15 +f 370/617/127 378/629/9 384/618/13 +f 376/619/128 384/618/13 377/620/8 +f 374/622/132 382/627/10 381/623/14 +f 372/610/133 380/628/11 379/625/16 +f 375/616/131 383/615/15 382/627/10 +f 373/624/129 381/623/14 380/628/11 +f 371/626/130 379/625/16 378/629/9 +f 388/630/42 396/642/139 395/631/135 +f 386/633/53 394/643/140 393/634/136 +f 385/635/11 393/634/136 400/636/137 +f 391/638/7 399/865/26 398/639/138 +f 389/641/8 397/646/141 396/642/139 +f 387/632/12 395/631/135 394/643/140 +f 392/637/37 400/636/137 399/644/26 +f 390/640/57 398/639/138 397/646/141 +f 396/647/139 397/653/141 405/648/142 +f 395/631/135 403/654/25 402/650/144 +f 398/652/138 406/668/154 405/648/142 +f 396/647/139 404/649/143 403/654/25 +f 394/651/140 402/650/144 401/655/145 +f 393/656/136 401/655/145 407/657/146 +f 402/650/144 409/662/150 408/659/147 +f 401/655/145 408/659/147 414/660/148 +f 405/648/142 412/664/152 411/661/149 +f 403/654/25 410/665/153 409/662/150 +f 405/648/142 406/668/154 413/663/151 +f 404/649/143 411/661/149 410/665/153 +f 399/669/26 415/866/9 421/670/13 +f 408/672/147 416/684/11 422/673/16 +f 414/674/148 422/673/16 415/675/9 +f 412/677/152 420/682/8 419/678/15 +f 410/665/153 418/683/10 417/680/14 +f 413/671/151 421/670/13 420/682/8 +f 411/679/149 419/678/15 418/683/10 +f 409/681/150 417/680/14 416/684/11 +f 426/685/42 434/697/139 433/686/135 +f 424/688/53 432/698/140 431/689/136 +f 423/690/11 431/689/136 438/691/137 +f 429/693/7 437/867/26 436/694/138 +f 427/696/8 435/701/141 434/697/139 +f 425/687/12 433/686/135 432/698/140 +f 430/692/37 438/691/137 437/699/26 +f 428/695/57 436/694/138 435/701/141 +f 434/702/139 435/707/141 443/703/142 +f 433/686/135 441/709/25 440/705/144 +f 435/707/141 436/722/138 444/708/154 +f 433/686/135 434/702/139 442/704/143 +f 431/710/136 432/706/140 440/705/144 +f 431/710/136 439/711/145 445/712/146 +f 439/711/145 440/705/144 447/714/150 +f 439/711/145 446/715/147 452/716/148 +f 443/703/142 450/719/152 449/717/149 +f 441/709/25 448/720/153 447/714/150 +f 443/703/142 444/708/154 451/718/151 +f 441/709/25 442/704/143 449/717/149 +f 437/724/26 453/868/9 459/725/13 +f 446/727/147 454/739/11 460/728/16 +f 452/729/148 460/728/16 453/730/9 +f 450/732/152 458/737/8 457/733/15 +f 448/720/153 456/738/10 455/735/14 +f 451/726/151 459/725/13 458/737/8 +f 449/734/149 457/733/15 456/738/10 +f 447/736/150 455/735/14 454/739/11 +f 471/740/60 463/749/64 464/741/65 +f 470/743/54 469/750/59 461/744/63 +f 467/746/58 482/774/72 481/747/62 +f 470/743/54 462/745/29 463/749/64 +f 469/750/59 468/748/61 481/747/62 +f 475/751/37 467/763/58 468/752/61 +f 473/754/57 465/765/56 466/755/33 +f 478/757/12 470/743/54 471/758/60 +f 476/753/11 468/752/61 469/760/59 +f 474/762/7 466/869/33 467/763/58 +f 480/764/8 472/766/55 465/765/56 +f 479/759/42 471/758/60 472/766/55 +f 477/761/53 469/760/59 470/743/54 +f 472/742/55 464/741/65 483/767/66 +f 464/741/65 463/749/64 485/769/67 +f 483/767/66 464/741/65 484/770/68 +f 481/747/62 488/775/73 487/772/70 +f 463/749/64 462/745/29 486/773/71 +f 482/774/72 489/778/74 488/775/73 +f 462/745/29 461/744/63 487/772/70 +f 466/779/33 491/870/10 497/780/14 +f 484/782/68 492/794/8 498/783/15 +f 490/784/69 498/783/15 491/785/10 +f 488/787/73 496/792/11 495/788/16 +f 486/773/71 494/793/9 493/790/13 +f 489/781/74 497/780/14 496/792/11 +f 487/789/70 495/788/16 494/793/9 +f 485/791/67 493/790/13 492/794/8 +f 502/795/53 510/807/59 509/796/54 +f 500/798/42 508/808/60 507/799/55 +f 499/800/8 507/799/55 514/801/56 +f 505/803/7 513/871/33 512/804/58 +f 503/806/11 511/811/61 510/807/59 +f 501/797/12 509/796/54 508/808/60 +f 506/802/57 514/801/56 513/809/33 +f 504/805/37 512/804/58 511/811/61 +f 511/812/61 519/818/62 518/813/63 +f 509/796/54 517/819/29 516/815/64 +f 511/812/61 512/831/58 520/817/72 +f 509/796/54 510/814/59 518/813/63 +f 508/816/60 516/815/64 515/820/65 +f 507/821/55 515/820/65 521/822/66 +f 516/815/64 523/828/67 522/824/68 +f 521/822/66 515/820/65 522/824/68 +f 519/818/62 526/829/73 525/826/70 +f 516/815/64 517/819/29 524/827/71 +f 520/817/72 527/833/74 526/829/73 +f 517/819/29 518/813/63 525/826/70 +f 513/834/33 529/872/10 535/835/14 +f 522/837/68 530/849/8 536/838/15 +f 528/839/69 536/838/15 529/840/10 +f 526/842/73 534/847/11 533/843/16 +f 524/827/71 532/848/9 531/845/13 +f 527/836/74 535/835/14 534/847/11 +f 525/844/70 533/843/16 532/848/9 +f 523/846/67 531/845/13 530/849/8 +o Plane +v 4.500000 0.500000 -3.500000 +v 7.500000 0.500000 -3.500000 +v 7.500000 0.000000 -3.500000 +v 4.500000 0.000000 -3.500000 +v 7.500000 0.000000 3.500000 +v 4.500000 0.000000 3.500000 +v 7.500000 0.500000 3.500000 +v 4.500000 0.500000 3.500000 +v 4.750000 1.250000 -3.000000 +v 7.250000 1.250000 -3.000000 +v 4.750000 2.250000 -3.000000 +v 7.250000 2.250000 -3.000000 +v 5.500000 3.000000 -3.000000 +v 5.500000 0.500000 -3.000000 +v 6.500000 3.000000 -3.000000 +v 6.500000 0.500000 -3.000000 +v 4.750000 1.250000 1.000000 +v 7.250000 1.250000 1.000000 +v 4.750000 2.250000 1.000000 +v 7.250000 2.250000 1.000000 +v 5.500000 3.000000 1.000000 +v 5.500000 0.500000 1.000000 +v 6.500000 3.000000 1.000000 +v 6.500000 0.500000 1.000000 +v 4.500000 0.500000 -3.000000 +v 7.500000 0.500000 -3.000000 +v 4.500000 0.500000 -3.500000 +v 7.500000 0.500000 -3.500000 +v 4.500000 2.500000 -3.500000 +v 4.500000 2.500000 -3.000000 +v 7.500000 2.500000 -3.000000 +v 7.500000 2.500000 -3.500000 +v 5.000000 3.000000 -3.500000 +v 5.000000 3.000000 -3.000000 +v 7.000000 3.000000 -3.000000 +v 7.000000 3.000000 -3.500000 +v 4.500000 0.500000 1.500000 +v 7.500000 0.500000 1.500000 +v 4.500000 0.500000 1.000000 +v 7.500000 0.500000 1.000000 +v 4.500000 2.500000 1.000000 +v 4.500000 2.500000 1.500000 +v 7.500000 2.500000 1.500000 +v 7.500000 2.500000 1.000000 +v 5.000000 3.000000 1.000000 +v 5.000000 3.000000 1.500000 +v 7.000000 3.000000 1.500000 +v 7.000000 3.000000 1.000000 +v 4.500000 0.500000 3.000000 +v 7.500000 0.500000 3.000000 +v 4.500000 0.500000 2.500000 +v 7.500000 0.500000 2.500000 +v 4.500000 2.500000 2.500000 +v 4.500000 2.500000 3.000000 +v 7.500000 2.500000 3.000000 +v 7.500000 2.500000 2.500000 +v 5.000000 3.000000 2.500000 +v 5.000000 3.000000 3.000000 +v 7.000000 3.000000 3.000000 +v 7.000000 3.000000 2.500000 +v 7.250000 0.750000 1.750000 +v 7.250000 0.750000 2.250000 +v 7.500000 0.750000 2.250000 +v 7.500000 0.750000 1.750000 +v 4.750000 0.750000 1.750000 +v 4.750000 0.750000 2.250000 +v 4.500000 0.750000 2.250000 +v 4.500000 0.750000 1.750000 +v 4.750000 0.500000 1.750000 +v 4.500000 0.500000 1.750000 +v 4.750000 0.500000 2.250000 +v 4.500000 0.500000 2.250000 +v 6.500000 2.616025 2.500000 +v 6.866026 2.249999 2.500000 +v 7.000000 1.749999 2.500000 +v 6.866025 1.250000 2.500000 +v 6.500000 0.883974 2.500000 +v 6.000000 0.750000 2.500000 +v 5.500000 0.883974 2.500000 +v 5.133975 1.250000 2.500000 +v 5.000000 1.750000 2.500000 +v 5.133975 2.250000 2.500000 +v 5.500000 2.616025 2.500000 +v 6.000000 2.750000 2.500000 +v 6.000000 2.750000 1.500000 +v 5.500000 2.616025 1.500000 +v 5.133975 2.250000 1.500000 +v 5.000000 1.750000 1.500000 +v 5.133975 1.250000 1.500000 +v 5.500000 0.883974 1.500000 +v 6.000000 0.750000 1.500000 +v 6.500000 0.883974 1.500000 +v 6.866025 1.250000 1.500000 +v 7.000000 1.749999 1.500000 +v 6.866026 2.249999 1.500000 +v 6.500000 2.616025 1.500000 +v 7.500000 0.500000 1.750000 +v 7.250000 0.500000 1.750000 +v 7.500000 0.500000 2.250000 +v 7.250000 0.500000 2.250000 +v 4.750000 0.500000 2.187500 +v 4.750000 0.500000 1.812500 +v 4.750000 0.687500 1.812500 +v 4.750000 0.687500 2.187500 +v 5.250000 0.500000 2.187500 +v 5.250000 0.500000 1.812500 +v 5.250000 0.687500 1.812500 +v 5.250000 0.687500 2.187500 +v 6.750000 0.750000 1.750000 +v 6.750000 0.750000 2.250000 +v 6.750000 0.500000 1.750000 +v 6.750000 0.500000 2.250000 +v 5.250000 0.750000 1.750000 +v 5.250000 0.750000 2.250000 +v 5.250000 0.500000 1.750000 +v 5.250000 0.500000 2.250000 +v 7.250000 0.500000 2.187500 +v 7.250000 0.500000 1.812500 +v 7.250000 0.687500 1.812500 +v 7.250000 0.687500 2.187500 +v 6.750000 0.500000 2.187500 +v 6.750000 0.500000 1.812500 +v 6.750000 0.687500 1.812500 +v 6.750000 0.687500 2.187500 +v 6.500000 0.500000 3.500000 +v 7.000000 0.500000 3.500000 +v 6.500000 0.500000 3.000000 +v 7.000000 0.500000 3.000000 +v 6.500000 2.500000 3.000000 +v 6.500000 2.000000 3.500000 +v 7.000000 2.000000 3.500000 +v 7.000000 2.500000 3.000000 +v 5.000000 0.500000 3.500000 +v 5.500000 0.500000 3.500000 +v 5.000000 0.500000 3.000000 +v 5.500000 0.500000 3.000000 +v 5.000000 2.500000 3.000000 +v 5.000000 2.000000 3.500000 +v 5.500000 2.000000 3.500000 +v 5.500000 2.500000 3.000000 +v 5.500000 3.000000 -1.500000 +v 6.500000 3.000000 -1.500000 +v 5.500000 3.000000 -2.500000 +v 6.500000 3.000000 -2.500000 +v 5.500000 4.000000 -2.500000 +v 5.500000 4.000000 -1.500000 +v 6.500000 4.000000 -1.500000 +v 6.500000 4.000000 -2.500000 +v 7.000000 3.000000 -1.500000 +v 6.926776 3.176777 -1.500000 +v 6.750000 3.250000 -1.500000 +v 6.573223 3.176777 -1.500000 +v 6.500000 3.000000 -1.500000 +v 6.573223 2.823223 -1.500000 +v 6.750000 2.750000 -1.500000 +v 6.926776 2.823223 -1.500000 +v 7.000000 3.000000 0.000000 +v 6.926777 3.176777 0.000000 +v 6.750000 3.250000 0.000000 +v 6.573223 3.176777 0.000000 +v 6.500000 3.000000 0.000000 +v 6.573223 2.823223 0.000000 +v 6.750000 2.750000 0.000000 +v 6.926777 2.823223 0.000000 +v 7.000000 2.926777 0.176777 +v 6.926777 3.051777 0.301777 +v 6.750000 3.103553 0.353554 +v 6.573223 3.051777 0.301777 +v 6.500000 2.926777 0.176777 +v 6.573223 2.801776 0.051777 +v 6.926777 2.801776 0.051777 +v 7.000000 2.750000 0.250000 +v 6.926777 2.750000 0.426777 +v 6.750000 2.750000 0.500000 +v 6.573223 2.750000 0.426777 +v 6.500000 2.750000 0.250000 +v 6.573223 2.750000 0.073223 +v 6.926777 2.750000 0.073223 +v 6.750000 2.500000 0.000000 +v 7.000000 2.500000 0.250000 +v 6.926777 2.500000 0.426777 +v 6.750000 2.500000 0.500000 +v 6.573223 2.500000 0.426777 +v 6.500000 2.500000 0.250000 +v 6.573223 2.500000 0.073223 +v 6.926777 2.500000 0.073223 +v 7.000000 3.073223 -1.676777 +v 6.926776 3.198223 -1.551776 +v 6.573223 3.198223 -1.551776 +v 6.500000 3.073223 -1.676777 +v 6.573223 2.948223 -1.801777 +v 6.750000 2.896447 -1.853553 +v 6.926776 2.948223 -1.801777 +v 7.000000 3.250000 -1.750000 +v 6.926776 3.250000 -1.573223 +v 6.573223 3.250000 -1.573223 +v 6.500000 3.250000 -1.750000 +v 6.573223 3.250000 -1.926777 +v 6.750000 3.250000 -2.000000 +v 6.926776 3.250000 -1.926777 +v 6.750000 3.500000 -1.500000 +v 7.000000 3.500000 -1.750000 +v 6.926776 3.500000 -1.573223 +v 6.573223 3.500000 -1.573223 +v 6.500000 3.500000 -1.750000 +v 6.573223 3.500000 -1.926777 +v 6.750000 3.500000 -2.000000 +v 6.926776 3.500000 -1.926777 +v 6.676777 3.676777 -1.500000 +v 6.853553 3.853553 -1.750000 +v 6.801776 3.801776 -1.573223 +v 6.551777 3.551777 -1.573223 +v 6.551777 3.551777 -1.926777 +v 6.676777 3.676777 -2.000000 +v 6.801776 3.801776 -1.926777 +v 6.500000 3.750000 -1.500000 +v 6.500000 4.000000 -1.750000 +v 6.500000 3.926776 -1.573223 +v 6.500000 3.573223 -1.573223 +v 6.500000 3.573223 -1.926777 +v 6.500000 3.750000 -2.000000 +v 6.500000 3.926776 -1.926777 +v 6.750000 2.500000 -2.000000 +v 7.000000 2.500000 -2.250000 +v 6.926776 2.500000 -2.073223 +v 6.573223 2.500000 -2.073223 +v 6.500000 2.500000 -2.250000 +v 6.573223 2.500000 -2.426777 +v 6.750000 2.500000 -2.500000 +v 6.926776 2.500000 -2.426777 +v 6.750000 3.500000 -2.000000 +v 7.000000 3.500000 -2.250000 +v 6.926776 3.500000 -2.073223 +v 6.573223 3.500000 -2.073223 +v 6.500000 3.500000 -2.250000 +v 6.573223 3.500000 -2.426777 +v 6.750000 3.500000 -2.500000 +v 6.926776 3.500000 -2.426777 +v 6.676777 3.676777 -2.000000 +v 6.853553 3.853553 -2.250000 +v 6.801776 3.801776 -2.073223 +v 6.551777 3.551777 -2.073223 +v 6.551777 3.551777 -2.426777 +v 6.676777 3.676777 -2.500000 +v 6.801776 3.801776 -2.426777 +v 6.500000 3.750000 -2.000000 +v 6.500000 4.000000 -2.250000 +v 6.500000 3.926776 -2.073223 +v 6.500000 3.573223 -2.073223 +v 6.500000 3.573223 -2.426777 +v 6.500000 3.750000 -2.500000 +v 6.500000 3.926776 -2.426777 +v 5.000000 3.000000 -1.500000 +v 5.073224 3.176777 -1.500000 +v 5.250000 3.250000 -1.500000 +v 5.426777 3.176777 -1.500000 +v 5.500000 3.000000 -1.500000 +v 5.426777 2.823223 -1.500000 +v 5.250000 2.750000 -1.500000 +v 5.073224 2.823223 -1.500000 +v 5.000000 3.000000 0.000000 +v 5.073223 3.176777 0.000000 +v 5.250000 3.250000 0.000000 +v 5.426777 3.176777 0.000000 +v 5.500000 3.000000 0.000000 +v 5.426777 2.823223 0.000000 +v 5.250000 2.750000 0.000000 +v 5.073223 2.823223 0.000000 +v 5.000000 2.926777 0.176777 +v 5.073223 3.051777 0.301777 +v 5.250000 3.103553 0.353554 +v 5.426777 3.051777 0.301777 +v 5.500000 2.926777 0.176777 +v 5.426777 2.801776 0.051777 +v 5.073223 2.801776 0.051777 +v 5.000000 2.750000 0.250000 +v 5.073223 2.750000 0.426777 +v 5.250000 2.750000 0.500000 +v 5.426777 2.750000 0.426777 +v 5.500000 2.750000 0.250000 +v 5.426777 2.750000 0.073223 +v 5.073223 2.750000 0.073223 +v 5.250000 2.500000 0.000000 +v 5.000000 2.500000 0.250000 +v 5.073223 2.500000 0.426777 +v 5.250000 2.500000 0.500000 +v 5.426777 2.500000 0.426777 +v 5.500000 2.500000 0.250000 +v 5.426777 2.500000 0.073223 +v 5.073223 2.500000 0.073223 +v 5.000000 3.073223 -1.676777 +v 5.073224 3.198223 -1.551776 +v 5.426777 3.198223 -1.551776 +v 5.500000 3.073223 -1.676777 +v 5.426777 2.948223 -1.801777 +v 5.250000 2.896447 -1.853553 +v 5.073224 2.948223 -1.801777 +v 5.000000 3.250000 -1.750000 +v 5.073224 3.250000 -1.573223 +v 5.426777 3.250000 -1.573223 +v 5.500000 3.250000 -1.750000 +v 5.426777 3.250000 -1.926777 +v 5.250000 3.250000 -2.000000 +v 5.073224 3.250000 -1.926777 +v 5.250000 3.500000 -1.500000 +v 5.000000 3.500000 -1.750000 +v 5.073224 3.500000 -1.573223 +v 5.426777 3.500000 -1.573223 +v 5.500000 3.500000 -1.750000 +v 5.426777 3.500000 -1.926777 +v 5.250000 3.500000 -2.000000 +v 5.073224 3.500000 -1.926777 +v 5.323223 3.676777 -1.500000 +v 5.146447 3.853553 -1.750000 +v 5.198224 3.801776 -1.573223 +v 5.448223 3.551777 -1.573223 +v 5.448223 3.551777 -1.926777 +v 5.323223 3.676777 -2.000000 +v 5.198224 3.801776 -1.926777 +v 5.500000 3.750000 -1.500000 +v 5.500000 4.000000 -1.750000 +v 5.500000 3.926776 -1.573223 +v 5.500000 3.573223 -1.573223 +v 5.500000 3.573223 -1.926777 +v 5.500000 3.750000 -2.000000 +v 5.500000 3.926776 -1.926777 +v 5.250000 2.500000 -2.000000 +v 5.000000 2.500000 -2.250000 +v 5.073224 2.500000 -2.073223 +v 5.426777 2.500000 -2.073223 +v 5.500000 2.500000 -2.250000 +v 5.426777 2.500000 -2.426777 +v 5.250000 2.500000 -2.500000 +v 5.073224 2.500000 -2.426777 +v 5.250000 3.500000 -2.000000 +v 5.000000 3.500000 -2.250000 +v 5.073224 3.500000 -2.073223 +v 5.426777 3.500000 -2.073223 +v 5.500000 3.500000 -2.250000 +v 5.426777 3.500000 -2.426777 +v 5.250000 3.500000 -2.500000 +v 5.073224 3.500000 -2.426777 +v 5.323223 3.676777 -2.000000 +v 5.146447 3.853553 -2.250000 +v 5.198224 3.801776 -2.073223 +v 5.448223 3.551777 -2.073223 +v 5.448223 3.551777 -2.426777 +v 5.323223 3.676777 -2.500000 +v 5.198224 3.801776 -2.426777 +v 5.500000 3.750000 -2.000000 +v 5.500000 4.000000 -2.250000 +v 5.500000 3.926776 -2.073223 +v 5.500000 3.573223 -2.073223 +v 5.500000 3.573223 -2.426777 +v 5.500000 3.750000 -2.500000 +v 5.500000 3.926776 -2.426777 +v 5.000000 0.500000 0.250000 +v 7.000000 0.500000 0.250000 +v 5.000000 0.500000 -0.250000 +v 7.000000 0.500000 -0.250000 +v 5.000000 1.000000 -0.250000 +v 5.000000 1.000000 0.250000 +v 7.000000 1.000000 0.250000 +v 7.000000 1.000000 -0.250000 +v 5.000000 0.500000 -1.750000 +v 7.000000 0.500000 -1.750000 +v 5.000000 0.500000 -2.250000 +v 7.000000 0.500000 -2.250000 +v 5.000000 1.000000 -2.250000 +v 5.000000 1.000000 -1.750000 +v 7.000000 1.000000 -1.750000 +v 7.000000 1.000000 -2.250000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.9659 0.2588 0.0000 +vn -0.2588 -0.9659 0.0000 +vn 0.9659 -0.2588 0.0000 +vn 0.2588 0.9659 0.0000 +vn -0.2588 0.9659 0.0000 +vn -0.9659 -0.2588 0.0000 +vn 0.2588 -0.9659 0.0000 +vn 0.9659 0.2588 0.0000 +vn 0.0000 0.7071 0.7071 +vn -0.7263 0.6737 0.1363 +vn 0.0000 0.9824 0.1866 +vn 0.7263 0.6737 0.1363 +vn 0.9987 0.0473 0.0196 +vn 0.9987 -0.0473 -0.0196 +vn 0.7263 -0.6737 -0.1363 +vn 0.6794 -0.7194 -0.1447 +vn 0.0000 -0.9824 -0.1866 +vn -0.7263 -0.6737 -0.1363 +vn -0.6794 -0.7194 -0.1447 +vn -0.9987 -0.0473 -0.0196 +vn -0.6794 0.7194 0.1447 +vn 0.6794 0.7194 0.1447 +vn 0.0000 -0.7071 -0.7071 +vn -0.9987 0.0473 0.0196 +vn -0.9955 0.0670 0.0670 +vn -0.6630 0.5293 0.5293 +vn 0.6630 0.5293 0.5293 +vn 0.9955 0.0670 0.0670 +vn 0.7573 -0.4617 -0.4617 +vn 0.9987 0.0196 0.0473 +vn 0.7263 -0.1363 -0.6737 +vn -0.9987 0.0196 0.0473 +vn -0.6794 0.1447 0.7194 +vn 0.6794 0.1447 0.7194 +vn -0.7573 -0.4617 -0.4617 +vn 0.0000 0.1866 0.9824 +vn -0.7263 -0.1363 -0.6737 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.6630 -0.5293 -0.5293 +vn -0.6630 -0.5293 -0.5293 +vn 0.9955 -0.0670 -0.0670 +vn 0.7573 0.4617 0.4617 +vn -0.7573 0.4617 0.4617 +vn -0.9955 -0.0670 -0.0670 +vn 0.6794 -0.1447 -0.7194 +vn -0.6794 -0.1447 -0.7194 +vn 0.9987 -0.0196 -0.0473 +vn 0.7263 0.1363 0.6737 +vn 0.0000 -0.1866 -0.9824 +vn -0.7263 0.1363 0.6737 +vn -0.9987 -0.0196 -0.0473 +vn 0.7194 0.1447 -0.6794 +vn -0.6737 -0.1363 -0.7263 +vn 0.7194 0.1447 0.6794 +vn 0.0473 0.0196 0.9987 +vn 0.9824 0.1866 0.0000 +vn -0.6737 -0.1363 0.7263 +vn 0.0473 0.0196 -0.9987 +vn -0.9809 -0.1944 0.0000 +vn 0.5293 0.5293 0.6630 +vn 0.0670 0.0670 0.9955 +vn -0.4617 -0.4617 -0.7573 +vn 0.0670 0.0670 -0.9955 +vn -0.4617 -0.4617 0.7573 +vn 0.5293 0.5293 -0.6630 +vn -0.2611 -0.6303 0.7311 +vn 0.0392 0.0948 -0.9947 +vn 0.2962 0.7150 -0.6332 +vn 0.3827 0.9239 0.0000 +vn 0.2962 0.7150 0.6332 +vn 0.0392 0.0948 0.9947 +vn -0.2611 -0.6303 -0.7311 +vn -0.7194 0.1447 -0.6794 +vn 0.6737 -0.1363 -0.7263 +vn -0.7194 0.1447 0.6794 +vn -0.0473 0.0196 0.9987 +vn -0.9824 0.1866 0.0000 +vn 0.6737 -0.1363 0.7263 +vn -0.0473 0.0196 -0.9987 +vn 0.9809 -0.1944 0.0000 +vn -0.0670 0.0670 0.9955 +vn 0.4617 -0.4617 -0.7573 +vn 0.4617 -0.4617 0.7573 +vn -0.0670 0.0670 -0.9955 +vn 0.2611 -0.6303 0.7311 +vn -0.5293 0.5293 -0.6630 +vn -0.0392 0.0948 -0.9947 +vn -0.5293 0.5293 0.6630 +vn -0.3827 0.9239 0.0000 +vn -0.0392 0.0948 0.9947 +vn 0.2611 -0.6303 -0.7311 +vn -0.2962 0.7150 0.6332 +vn -0.2962 0.7150 -0.6332 +s off +f 577/873/155 579/874/155 580/875/155 +f 578/876/156 581/877/156 579/874/156 +f 583/878/157 582/879/157 581/877/157 +f 584/880/158 580/875/158 582/879/158 +f 583/878/159 577/873/159 584/880/159 +f 580/875/160 581/877/160 582/879/160 +f 613/881/158 617/882/158 615/883/158 +f 617/882/155 624/884/155 620/885/155 +f 596/886/156 586/887/156 588/888/156 +f 593/889/158 587/890/158 585/891/158 +f 598/892/161 585/891/161 590/893/161 +f 595/894/162 589/895/162 587/890/162 +f 597/896/159 591/897/159 589/895/159 +f 944/898/156 947/899/156 942/900/156 +f 599/901/163 588/888/163 591/897/163 +f 594/902/164 592/903/164 586/887/164 +f 615/883/155 620/885/155 616/904/155 +f 605/905/155 612/906/155 608/907/155 +f 601/908/158 605/905/158 603/909/158 +f 603/909/155 608/907/155 604/910/155 +f 602/911/157 606/912/157 601/908/157 +f 604/910/156 607/913/156 602/911/156 +f 611/914/159 609/915/159 610/916/159 +f 607/913/157 610/916/157 606/912/157 +f 608/907/163 611/914/163 607/913/163 +f 606/912/162 609/915/162 605/905/162 +f 614/917/157 618/918/157 613/881/157 +f 616/904/156 619/919/156 614/917/156 +f 623/920/159 621/921/159 622/922/159 +f 619/919/157 622/922/157 618/918/157 +f 620/885/163 623/920/163 619/919/163 +f 618/918/162 621/921/162 617/882/162 +f 625/923/158 629/924/158 627/925/158 +f 629/924/155 636/926/155 632/927/155 +f 627/925/155 632/927/155 628/928/155 +f 626/929/157 630/930/157 625/923/157 +f 628/928/156 631/931/156 626/929/156 +f 635/932/159 633/933/159 634/934/159 +f 631/931/157 634/934/157 630/930/157 +f 632/927/163 635/932/163 631/931/163 +f 630/930/162 633/933/162 629/924/162 +f 664/935/165 658/936/165 663/937/165 +f 667/938/166 655/939/166 666/940/166 +f 670/941/167 652/942/167 669/943/167 +f 663/937/162 659/944/162 662/945/162 +f 661/946/168 649/947/168 672/948/168 +f 666/940/161 656/949/161 665/950/161 +f 669/943/164 653/951/164 668/952/164 +f 662/945/169 660/953/169 661/946/169 +f 672/948/163 650/954/163 671/955/163 +f 665/950/170 657/956/170 664/935/170 +f 668/952/171 654/957/171 667/938/171 +f 671/955/172 651/958/172 670/941/172 +f 642/959/159 644/960/159 643/961/159 +f 646/962/155 641/963/155 645/964/155 +f 647/965/157 643/961/157 648/966/157 +f 679/967/156 645/964/156 641/963/156 +f 648/966/158 644/960/158 646/962/158 +f 639/968/159 637/969/159 638/970/159 +f 674/971/155 640/972/155 673/973/155 +f 675/974/157 638/970/157 676/975/157 +f 673/973/156 639/968/156 675/974/156 +f 637/969/158 696/976/158 638/970/158 +f 681/977/157 680/978/157 677/979/157 +f 683/980/155 678/981/155 679/967/155 +f 684/982/159 679/967/159 680/978/159 +f 685/983/159 690/984/159 686/985/159 +f 687/986/155 689/987/155 685/983/155 +f 686/985/157 692/988/157 688/989/157 +f 690/984/158 683/980/158 684/982/158 +f 692/988/158 684/982/158 681/977/158 +f 683/980/158 691/990/158 682/991/158 +f 680/978/156 641/963/156 642/959/156 +f 647/965/156 680/978/156 642/959/156 +f 695/992/158 674/971/158 694/993/158 +f 676/975/158 696/976/158 693/994/158 +f 696/976/157 697/995/157 693/994/157 +f 694/993/155 699/996/155 695/992/155 +f 695/992/159 700/997/159 696/976/159 +f 700/997/156 685/983/156 686/985/156 +f 699/996/156 687/986/156 685/983/156 +f 688/989/156 700/997/156 686/985/156 +f 712/998/156 715/999/156 710/1000/156 +f 707/1001/173 705/1002/173 706/1003/173 +f 704/1004/156 707/1001/156 702/1005/156 +f 703/1006/158 706/1003/158 705/1002/158 +f 715/999/173 713/1007/173 714/1008/173 +f 702/1005/157 706/1003/157 701/1009/157 +f 711/1010/158 714/1008/158 713/1007/158 +f 710/1000/157 714/1008/157 709/1011/157 +f 723/1012/159 721/1013/159 722/1014/159 +f 720/1015/156 723/1012/156 718/1016/156 +f 717/1017/158 721/1013/158 719/1018/158 +f 719/1018/155 724/1019/155 720/1015/155 +f 718/1016/157 722/1014/157 717/1017/157 +f 942/900/157 946/1020/157 941/1021/157 +f 943/1022/155 948/1023/155 944/898/155 +f 935/1024/155 940/1025/155 936/1026/155 +f 934/1027/157 938/1028/157 933/1029/157 +f 936/1026/156 939/1030/156 934/1027/156 +f 933/1029/158 937/1031/158 935/1024/158 +f 941/1021/158 945/1032/158 943/1022/158 +f 577/873/155 578/876/155 579/874/155 +f 578/876/156 583/878/156 581/877/156 +f 583/878/157 584/880/157 582/879/157 +f 584/880/158 577/873/158 580/875/158 +f 583/878/159 578/876/159 577/873/159 +f 580/875/160 579/874/160 581/877/160 +f 613/881/158 618/918/158 617/882/158 +f 617/882/155 621/921/155 624/884/155 +f 596/886/156 594/902/156 586/887/156 +f 593/889/158 595/894/158 587/890/158 +f 598/892/161 593/889/161 585/891/161 +f 595/894/162 597/896/162 589/895/162 +f 597/896/159 599/901/159 591/897/159 +f 944/898/156 948/1023/156 947/899/156 +f 599/901/163 596/886/163 588/888/163 +f 594/902/164 600/1033/164 592/903/164 +f 615/883/155 617/882/155 620/885/155 +f 605/905/155 609/915/155 612/906/155 +f 601/908/158 606/912/158 605/905/158 +f 603/909/155 605/905/155 608/907/155 +f 602/911/157 607/913/157 606/912/157 +f 604/910/156 608/907/156 607/913/156 +f 611/914/159 612/906/159 609/915/159 +f 607/913/157 611/914/157 610/916/157 +f 608/907/163 612/906/163 611/914/163 +f 606/912/162 610/916/162 609/915/162 +f 614/917/157 619/919/157 618/918/157 +f 616/904/156 620/885/156 619/919/156 +f 623/920/159 624/884/159 621/921/159 +f 619/919/157 623/920/157 622/922/157 +f 620/885/163 624/884/163 623/920/163 +f 618/918/162 622/922/162 621/921/162 +f 625/923/158 630/930/158 629/924/158 +f 629/924/155 633/933/155 636/926/155 +f 627/925/155 629/924/155 632/927/155 +f 626/929/157 631/931/157 630/930/157 +f 628/928/156 632/927/156 631/931/156 +f 635/932/159 636/926/159 633/933/159 +f 631/931/157 635/932/157 634/934/157 +f 632/927/163 636/926/163 635/932/163 +f 630/930/162 634/934/162 633/933/162 +f 664/935/165 657/956/165 658/936/165 +f 667/938/166 654/957/166 655/939/166 +f 670/941/167 651/958/167 652/942/167 +f 663/937/162 658/936/162 659/944/162 +f 661/946/168 660/953/168 649/947/168 +f 666/940/161 655/939/161 656/949/161 +f 669/943/164 652/942/164 653/951/164 +f 662/945/169 659/944/169 660/953/169 +f 672/948/163 649/947/163 650/954/163 +f 665/950/170 656/949/170 657/956/170 +f 668/952/171 653/951/171 654/957/171 +f 671/955/172 650/954/172 651/958/172 +f 642/959/159 641/963/159 644/960/159 +f 646/962/155 644/960/155 641/963/155 +f 647/965/157 642/959/157 643/961/157 +f 679/967/156 678/981/156 645/964/156 +f 648/966/158 643/961/158 644/960/158 +f 639/968/159 640/972/159 637/969/159 +f 674/971/155 637/969/155 640/972/155 +f 675/974/157 639/968/157 638/970/157 +f 673/973/156 640/972/156 639/968/156 +f 637/969/158 695/992/158 696/976/158 +f 681/977/157 684/982/157 680/978/157 +f 683/980/155 682/991/155 678/981/155 +f 684/982/159 683/980/159 679/967/159 +f 685/983/159 689/987/159 690/984/159 +f 687/986/155 691/990/155 689/987/155 +f 686/985/157 690/984/157 692/988/157 +f 690/984/158 689/987/158 683/980/158 +f 692/988/158 690/984/158 684/982/158 +f 683/980/158 689/987/158 691/990/158 +f 680/978/156 679/967/156 641/963/156 +f 647/965/156 677/979/156 680/978/156 +f 695/992/158 637/969/158 674/971/158 +f 676/975/158 638/970/158 696/976/158 +f 696/976/157 700/997/157 697/995/157 +f 694/993/155 698/1034/155 699/996/155 +f 695/992/159 699/996/159 700/997/159 +f 700/997/156 699/996/156 685/983/156 +f 699/996/156 698/1034/156 687/986/156 +f 688/989/156 697/995/156 700/997/156 +f 712/998/156 716/1035/156 715/999/156 +f 707/1001/173 708/1036/173 705/1002/173 +f 704/1004/156 708/1036/156 707/1001/156 +f 703/1006/158 701/1009/158 706/1003/158 +f 715/999/173 716/1035/173 713/1007/173 +f 702/1005/157 707/1001/157 706/1003/157 +f 711/1010/158 709/1011/158 714/1008/158 +f 710/1000/157 715/999/157 714/1008/157 +f 723/1012/159 724/1019/159 721/1013/159 +f 720/1015/156 724/1019/156 723/1012/156 +f 717/1017/158 722/1014/158 721/1013/158 +f 719/1018/155 721/1013/155 724/1019/155 +f 718/1016/157 723/1012/157 722/1014/157 +f 942/900/157 947/899/157 946/1020/157 +f 943/1022/155 945/1032/155 948/1023/155 +f 935/1024/155 937/1031/155 940/1025/155 +f 934/1027/157 939/1030/157 938/1028/157 +f 936/1026/156 940/1025/156 939/1030/156 +f 933/1029/158 938/1028/158 937/1031/158 +f 941/1021/158 946/1020/158 945/1032/158 +s 1 +f 728/1037/174 735/1038/175 727/1039/173 +f 726/1040/176 733/1041/177 725/1042/178 +f 725/1042/178 740/1043/179 732/1044/180 +f 731/1045/181 738/1046/182 730/1047/183 +f 729/1048/184 736/1049/185 728/1037/174 +f 727/1039/173 734/1050/186 726/1040/176 +f 732/1044/180 739/1051/187 731/1045/181 +f 730/1047/183 737/1052/188 729/1048/184 +f 736/1049/185 745/1053/189 744/1054/190 +f 735/1038/175 742/1055/191 734/1050/186 +f 738/1046/182 745/1053/189 737/1052/188 +f 736/1049/185 743/1056/173 735/1038/175 +f 734/1050/186 741/1057/192 733/1041/177 +f 733/1041/177 747/1058/193 740/1043/179 +f 742/1055/191 748/1059/194 741/1057/192 +f 747/1058/193 748/1059/194 754/1060/195 +f 744/1054/190 752/1061/196 751/1062/197 +f 743/1056/173 749/1063/198 742/1055/191 +f 746/1064/199 752/1061/196 745/1053/189 +f 743/1056/173 751/1062/197 750/1065/200 +f 740/1043/179 747/1058/193 739/1051/187 +f 747/1058/193 754/1060/195 739/1051/187 +f 738/1046/182 739/1051/187 746/1064/199 +f 746/1064/199 739/1051/187 753/1066/201 +f 739/1051/187 761/1067/202 753/1066/201 +f 748/1059/194 762/1068/203 754/1060/195 +f 754/1060/195 755/1069/155 739/1051/187 +f 752/1061/196 759/1070/204 751/1062/197 +f 750/1065/200 757/1071/205 749/1063/198 +f 753/1066/201 760/1072/158 752/1061/196 +f 751/1062/197 758/1073/157 750/1065/200 +f 749/1063/198 756/1074/156 748/1059/194 +f 731/1045/181 769/1075/206 732/1044/180 +f 729/1048/184 767/1076/207 730/1047/183 +f 726/1040/176 763/1077/208 764/1078/209 +f 725/1042/178 769/1075/206 763/1077/208 +f 730/1047/183 768/1079/187 731/1045/181 +f 729/1048/184 765/1080/210 766/1081/211 +f 768/1079/187 776/1082/212 769/1075/206 +f 766/1081/211 774/1083/213 767/1076/207 +f 764/1078/209 770/1084/214 771/1085/215 +f 769/1075/206 770/1084/214 763/1077/208 +f 768/1079/187 774/1083/213 775/1086/216 +f 766/1081/211 772/1087/217 773/1088/218 +f 727/1039/173 765/1080/210 728/1037/174 +f 765/1080/210 727/1039/173 772/1087/217 +f 726/1040/176 764/1078/209 727/1039/173 +f 764/1078/209 771/1085/215 727/1039/173 +f 775/1086/216 784/1089/219 776/1082/212 +f 773/1088/218 782/1090/220 774/1083/213 +f 770/1084/214 779/1091/221 771/1085/215 +f 771/1085/215 777/1092/222 727/1039/173 +f 776/1082/212 778/1093/223 770/1084/214 +f 727/1039/173 780/1094/224 772/1087/217 +f 774/1083/213 783/1095/225 775/1086/216 +f 772/1087/217 781/1096/226 773/1088/218 +f 778/1093/223 787/1097/227 779/1091/221 +f 779/1091/221 785/1098/228 777/1092/222 +f 784/1089/219 786/1099/163 778/1093/223 +f 783/1095/225 789/1100/229 790/1101/230 +f 777/1092/222 788/1102/231 780/1094/224 +f 784/1089/219 790/1101/230 791/1103/232 +f 785/1098/228 795/1104/233 788/1102/231 +f 791/1103/232 797/1105/234 798/1106/235 +f 787/1097/227 793/1107/236 794/1108/237 +f 787/1097/227 792/1109/238 785/1098/228 +f 791/1103/232 793/1107/236 786/1099/163 +f 789/1100/229 797/1105/234 790/1101/230 +f 781/1096/226 789/1100/229 782/1090/220 +f 789/1100/229 781/1096/226 796/1110/239 +f 780/1094/224 788/1102/231 781/1096/226 +f 788/1102/231 795/1104/233 781/1096/226 +f 805/1111/155 814/1112/219 806/1113/203 +f 803/1114/158 812/1115/220 804/1116/202 +f 800/1117/156 809/1118/221 801/1119/205 +f 801/1119/205 807/1120/222 799/1121/157 +f 806/1113/203 808/1122/223 800/1117/156 +f 799/1121/157 810/1123/224 802/1124/204 +f 804/1116/202 813/1125/225 805/1111/155 +f 802/1124/204 811/1126/226 803/1114/158 +f 808/1122/223 817/1127/227 809/1118/221 +f 809/1118/221 815/1128/228 807/1120/222 +f 814/1112/219 816/1129/163 808/1122/223 +f 813/1125/225 819/1130/229 820/1131/230 +f 807/1120/222 818/1132/231 810/1123/224 +f 814/1112/219 820/1131/230 821/1133/232 +f 818/1132/231 822/1134/238 825/1135/233 +f 821/1133/232 827/1136/234 828/1137/235 +f 816/1129/163 824/1138/237 817/1127/227 +f 815/1128/228 824/1138/237 822/1134/238 +f 821/1133/232 823/1139/236 816/1129/163 +f 819/1130/229 827/1136/234 820/1131/230 +f 811/1126/226 819/1130/229 812/1115/220 +f 819/1130/229 811/1126/226 826/1140/239 +f 810/1123/224 818/1132/231 811/1126/226 +f 818/1132/231 825/1135/233 811/1126/226 +f 839/1141/175 832/1142/176 831/1143/173 +f 837/1144/188 830/1145/174 829/1146/184 +f 844/1147/182 829/1146/184 836/1148/183 +f 842/1149/179 835/1150/181 834/1151/180 +f 840/1152/186 833/1153/178 832/1142/176 +f 838/1154/185 831/1143/173 830/1145/174 +f 843/1155/187 836/1148/183 835/1150/181 +f 841/1156/177 834/1151/180 833/1153/178 +f 840/1152/186 849/1157/192 841/1156/177 +f 846/1158/190 839/1141/175 838/1154/185 +f 849/1157/192 842/1149/179 841/1156/177 +f 847/1159/173 840/1152/186 839/1141/175 +f 845/1160/189 838/1154/185 837/1144/188 +f 844/1147/182 845/1160/189 837/1144/188 +f 852/1161/196 846/1158/190 845/1160/189 +f 858/1162/201 845/1160/189 851/1163/199 +f 855/1164/198 849/1157/192 848/1165/191 +f 853/1166/197 847/1159/173 846/1158/190 +f 849/1157/192 857/1167/195 850/1168/193 +f 847/1159/173 855/1164/198 848/1165/191 +f 844/1147/182 843/1155/187 851/1163/199 +f 851/1163/199 843/1155/187 858/1162/201 +f 842/1149/179 850/1168/193 843/1155/187 +f 850/1168/193 857/1167/195 843/1155/187 +f 865/1169/203 843/1155/187 857/1167/195 +f 866/1170/202 852/1161/196 858/1162/201 +f 859/1171/155 858/1162/201 843/1155/187 +f 863/1172/205 856/1173/194 855/1164/198 +f 861/1174/204 854/1175/200 853/1166/197 +f 864/1176/156 857/1167/195 856/1173/194 +f 862/1177/157 855/1164/198 854/1175/200 +f 860/1178/158 853/1166/197 852/1161/196 +f 873/1179/207 835/1150/181 836/1148/183 +f 834/1151/180 870/1180/208 833/1153/178 +f 830/1145/174 867/1181/211 829/1146/184 +f 829/1146/184 873/1179/207 836/1148/183 +f 835/1150/181 871/1182/206 834/1151/180 +f 870/1180/208 832/1142/176 833/1153/178 +f 880/1183/213 872/1184/187 873/1179/207 +f 878/1185/212 870/1180/208 871/1182/206 +f 868/1186/210 874/1187/218 867/1181/211 +f 867/1181/211 880/1183/213 873/1179/207 +f 872/1184/187 878/1185/212 871/1182/206 +f 877/1188/214 869/1189/209 870/1180/208 +f 831/1143/173 832/1142/176 869/1189/209 +f 869/1189/209 876/1190/215 831/1143/173 +f 830/1145/174 831/1143/173 868/1186/210 +f 868/1186/210 831/1143/173 875/1191/217 +f 888/1192/240 879/1193/216 880/1183/213 +f 886/1194/241 877/1188/214 878/1185/212 +f 883/1195/242 874/1187/218 875/1191/217 +f 881/1196/243 875/1191/217 831/1143/173 +f 882/1197/244 880/1183/213 874/1187/218 +f 884/1198/245 831/1143/173 876/1190/215 +f 887/1199/246 878/1185/212 879/1193/216 +f 885/1200/247 876/1190/215 877/1188/214 +f 883/1195/242 890/1201/162 882/1197/244 +f 889/1202/248 883/1195/242 881/1196/243 +f 890/1201/162 888/1192/240 882/1197/244 +f 887/1199/246 893/1203/249 886/1194/241 +f 892/1204/250 881/1196/243 884/1198/245 +f 888/1192/240 894/1205/251 887/1199/246 +f 899/1206/252 889/1202/248 892/1204/250 +f 895/1207/253 901/1208/254 894/1205/251 +f 891/1209/255 897/1210/256 890/1201/162 +f 896/1211/257 891/1209/255 889/1202/248 +f 897/1210/256 895/1207/253 890/1201/162 +f 901/1208/254 893/1203/249 894/1205/251 +f 885/1200/247 886/1194/241 893/1203/249 +f 893/1203/249 900/1212/258 885/1200/247 +f 884/1198/245 885/1200/247 892/1204/250 +f 892/1204/250 885/1200/247 899/1206/252 +f 918/1213/240 909/1214/155 910/1215/202 +f 916/1216/241 907/1217/156 908/1218/203 +f 913/1219/242 904/1220/158 905/1221/204 +f 911/1222/243 905/1221/204 903/1223/157 +f 912/1224/244 910/1215/202 904/1220/158 +f 914/1225/245 903/1223/157 906/1226/205 +f 917/1227/246 908/1218/203 909/1214/155 +f 915/1228/247 906/1226/205 907/1217/156 +f 913/1219/242 920/1229/162 912/1224/244 +f 911/1222/243 921/1230/255 913/1219/242 +f 920/1229/162 918/1213/240 912/1224/244 +f 917/1227/246 923/1231/249 916/1216/241 +f 922/1232/250 911/1222/243 914/1225/245 +f 918/1213/240 924/1233/251 917/1227/246 +f 922/1232/250 926/1234/257 919/1235/248 +f 925/1236/253 931/1237/254 924/1233/251 +f 928/1238/259 920/1229/162 921/1230/255 +f 926/1234/257 921/1230/255 919/1235/248 +f 927/1239/256 925/1236/253 920/1229/162 +f 931/1237/254 923/1231/249 924/1233/251 +f 915/1228/247 916/1216/241 923/1231/249 +f 923/1231/249 930/1240/258 915/1228/247 +f 914/1225/245 915/1228/247 922/1232/250 +f 922/1232/250 915/1228/247 929/1241/252 +f 728/1037/174 736/1049/185 735/1038/175 +f 726/1040/176 734/1050/186 733/1041/177 +f 725/1042/178 733/1041/177 740/1043/179 +f 731/1045/181 739/1051/187 738/1046/182 +f 729/1048/184 737/1052/188 736/1049/185 +f 727/1039/173 735/1038/175 734/1050/186 +f 732/1044/180 740/1043/179 739/1051/187 +f 730/1047/183 738/1046/182 737/1052/188 +f 736/1049/185 737/1052/188 745/1053/189 +f 735/1038/175 743/1056/173 742/1055/191 +f 738/1046/182 746/1064/199 745/1053/189 +f 736/1049/185 744/1054/190 743/1056/173 +f 734/1050/186 742/1055/191 741/1057/192 +f 733/1041/177 741/1057/192 747/1058/193 +f 742/1055/191 749/1063/198 748/1059/194 +f 747/1058/193 741/1057/192 748/1059/194 +f 744/1054/190 745/1053/189 752/1061/196 +f 743/1056/173 750/1065/200 749/1063/198 +f 746/1064/199 753/1066/201 752/1061/196 +f 743/1056/173 744/1054/190 751/1062/197 +f 739/1051/187 755/1069/155 761/1067/202 +f 748/1059/194 756/1074/156 762/1068/203 +f 754/1060/195 762/1068/203 755/1069/155 +f 752/1061/196 760/1072/158 759/1070/204 +f 750/1065/200 758/1073/157 757/1071/205 +f 753/1066/201 761/1067/202 760/1072/158 +f 751/1062/197 759/1070/204 758/1073/157 +f 749/1063/198 757/1071/205 756/1074/156 +f 731/1045/181 768/1079/187 769/1075/206 +f 729/1048/184 766/1081/211 767/1076/207 +f 726/1040/176 725/1042/178 763/1077/208 +f 725/1042/178 732/1044/180 769/1075/206 +f 730/1047/183 767/1076/207 768/1079/187 +f 729/1048/184 728/1037/174 765/1080/210 +f 768/1079/187 775/1086/216 776/1082/212 +f 766/1081/211 773/1088/218 774/1083/213 +f 764/1078/209 763/1077/208 770/1084/214 +f 769/1075/206 776/1082/212 770/1084/214 +f 768/1079/187 767/1076/207 774/1083/213 +f 766/1081/211 765/1080/210 772/1087/217 +f 775/1086/216 783/1095/225 784/1089/219 +f 773/1088/218 781/1096/226 782/1090/220 +f 770/1084/214 778/1093/223 779/1091/221 +f 771/1085/215 779/1091/221 777/1092/222 +f 776/1082/212 784/1089/219 778/1093/223 +f 727/1039/173 777/1092/222 780/1094/224 +f 774/1083/213 782/1090/220 783/1095/225 +f 772/1087/217 780/1094/224 781/1096/226 +f 778/1093/223 786/1099/163 787/1097/227 +f 779/1091/221 787/1097/227 785/1098/228 +f 784/1089/219 791/1103/232 786/1099/163 +f 783/1095/225 782/1090/220 789/1100/229 +f 777/1092/222 785/1098/228 788/1102/231 +f 784/1089/219 783/1095/225 790/1101/230 +f 785/1098/228 792/1109/238 795/1104/233 +f 791/1103/232 790/1101/230 797/1105/234 +f 787/1097/227 786/1099/163 793/1107/236 +f 787/1097/227 794/1108/237 792/1109/238 +f 791/1103/232 798/1106/235 793/1107/236 +f 789/1100/229 796/1110/239 797/1105/234 +f 805/1111/155 813/1125/225 814/1112/219 +f 803/1114/158 811/1126/226 812/1115/220 +f 800/1117/156 808/1122/223 809/1118/221 +f 801/1119/205 809/1118/221 807/1120/222 +f 806/1113/203 814/1112/219 808/1122/223 +f 799/1121/157 807/1120/222 810/1123/224 +f 804/1116/202 812/1115/220 813/1125/225 +f 802/1124/204 810/1123/224 811/1126/226 +f 808/1122/223 816/1129/163 817/1127/227 +f 809/1118/221 817/1127/227 815/1128/228 +f 814/1112/219 821/1133/232 816/1129/163 +f 813/1125/225 812/1115/220 819/1130/229 +f 807/1120/222 815/1128/228 818/1132/231 +f 814/1112/219 813/1125/225 820/1131/230 +f 818/1132/231 815/1128/228 822/1134/238 +f 821/1133/232 820/1131/230 827/1136/234 +f 816/1129/163 823/1139/236 824/1138/237 +f 815/1128/228 817/1127/227 824/1138/237 +f 821/1133/232 828/1137/235 823/1139/236 +f 819/1130/229 826/1140/239 827/1136/234 +f 839/1141/175 840/1152/186 832/1142/176 +f 837/1144/188 838/1154/185 830/1145/174 +f 844/1147/182 837/1144/188 829/1146/184 +f 842/1149/179 843/1155/187 835/1150/181 +f 840/1152/186 841/1156/177 833/1153/178 +f 838/1154/185 839/1141/175 831/1143/173 +f 843/1155/187 844/1147/182 836/1148/183 +f 841/1156/177 842/1149/179 834/1151/180 +f 840/1152/186 848/1165/191 849/1157/192 +f 846/1158/190 847/1159/173 839/1141/175 +f 849/1157/192 850/1168/193 842/1149/179 +f 847/1159/173 848/1165/191 840/1152/186 +f 845/1160/189 846/1158/190 838/1154/185 +f 844/1147/182 851/1163/199 845/1160/189 +f 852/1161/196 853/1166/197 846/1158/190 +f 858/1162/201 852/1161/196 845/1160/189 +f 855/1164/198 856/1173/194 849/1157/192 +f 853/1166/197 854/1175/200 847/1159/173 +f 849/1157/192 856/1173/194 857/1167/195 +f 847/1159/173 854/1175/200 855/1164/198 +f 865/1169/203 859/1171/155 843/1155/187 +f 866/1170/202 860/1178/158 852/1161/196 +f 859/1171/155 866/1170/202 858/1162/201 +f 863/1172/205 864/1176/156 856/1173/194 +f 861/1174/204 862/1177/157 854/1175/200 +f 864/1176/156 865/1169/203 857/1167/195 +f 862/1177/157 863/1172/205 855/1164/198 +f 860/1178/158 861/1174/204 853/1166/197 +f 873/1179/207 872/1184/187 835/1150/181 +f 834/1151/180 871/1182/206 870/1180/208 +f 830/1145/174 868/1186/210 867/1181/211 +f 829/1146/184 867/1181/211 873/1179/207 +f 835/1150/181 872/1184/187 871/1182/206 +f 870/1180/208 869/1189/209 832/1142/176 +f 880/1183/213 879/1193/216 872/1184/187 +f 878/1185/212 877/1188/214 870/1180/208 +f 868/1186/210 875/1191/217 874/1187/218 +f 867/1181/211 874/1187/218 880/1183/213 +f 872/1184/187 879/1193/216 878/1185/212 +f 877/1188/214 876/1190/215 869/1189/209 +f 888/1192/240 887/1199/246 879/1193/216 +f 886/1194/241 885/1200/247 877/1188/214 +f 883/1195/242 882/1197/244 874/1187/218 +f 881/1196/243 883/1195/242 875/1191/217 +f 882/1197/244 888/1192/240 880/1183/213 +f 884/1198/245 881/1196/243 831/1143/173 +f 887/1199/246 886/1194/241 878/1185/212 +f 885/1200/247 884/1198/245 876/1190/215 +f 883/1195/242 891/1209/255 890/1201/162 +f 889/1202/248 891/1209/255 883/1195/242 +f 890/1201/162 895/1207/253 888/1192/240 +f 887/1199/246 894/1205/251 893/1203/249 +f 892/1204/250 889/1202/248 881/1196/243 +f 888/1192/240 895/1207/253 894/1205/251 +f 899/1206/252 896/1211/257 889/1202/248 +f 895/1207/253 902/1242/260 901/1208/254 +f 891/1209/255 898/1243/259 897/1210/256 +f 896/1211/257 898/1243/259 891/1209/255 +f 897/1210/256 902/1242/260 895/1207/253 +f 901/1208/254 900/1212/258 893/1203/249 +f 918/1213/240 917/1227/246 909/1214/155 +f 916/1216/241 915/1228/247 907/1217/156 +f 913/1219/242 912/1224/244 904/1220/158 +f 911/1222/243 913/1219/242 905/1221/204 +f 912/1224/244 918/1213/240 910/1215/202 +f 914/1225/245 911/1222/243 903/1223/157 +f 917/1227/246 916/1216/241 908/1218/203 +f 915/1228/247 914/1225/245 906/1226/205 +f 913/1219/242 921/1230/255 920/1229/162 +f 911/1222/243 919/1235/248 921/1230/255 +f 920/1229/162 925/1236/253 918/1213/240 +f 917/1227/246 924/1233/251 923/1231/249 +f 922/1232/250 919/1235/248 911/1222/243 +f 918/1213/240 925/1236/253 924/1233/251 +f 922/1232/250 929/1241/252 926/1234/257 +f 925/1236/253 932/1244/260 931/1237/254 +f 928/1238/259 927/1239/256 920/1229/162 +f 926/1234/257 928/1238/259 921/1230/255 +f 927/1239/256 932/1244/260 925/1236/253 +f 931/1237/254 930/1240/258 923/1231/249 diff --git a/src/main/resources/assets/hbm/models/mine_ap.obj b/src/main/resources/assets/hbm/models/mine_ap.obj deleted file mode 100644 index 00709083c..000000000 --- a/src/main/resources/assets/hbm/models/mine_ap.obj +++ /dev/null @@ -1,209 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'mine_ap.blend' -# www.blender.org -o Sphere -v -0.023918 0.081742 0.000000 -v -0.044194 0.068194 0.000000 -v -0.057743 0.047918 0.000000 -v -0.062500 0.024000 0.000000 -v -0.057743 0.000082 0.000000 -v -0.016913 0.081742 -0.016912 -v -0.031250 0.068194 -0.031250 -v -0.040830 0.047918 -0.040830 -v -0.044194 0.024000 -0.044194 -v -0.040830 0.000082 -0.040830 -v -0.000000 0.081742 -0.023918 -v -0.000000 0.068194 -0.044194 -v -0.000000 0.047918 -0.057742 -v -0.000000 0.024000 -0.062500 -v -0.000000 0.000082 -0.057742 -v -0.000000 0.086500 0.000000 -v 0.016912 0.081742 -0.016912 -v 0.031250 0.068194 -0.031250 -v 0.040830 0.047918 -0.040830 -v 0.044194 0.024000 -0.044194 -v 0.040830 0.000082 -0.040830 -v 0.023918 0.081742 0.000000 -v 0.044194 0.068194 0.000000 -v 0.057742 0.047918 0.000000 -v 0.062500 0.024000 0.000000 -v 0.057742 0.000082 0.000000 -v 0.016912 0.081742 0.016912 -v 0.031250 0.068194 0.031250 -v 0.040830 0.047918 0.040830 -v 0.044194 0.024000 0.044194 -v 0.040830 0.000082 0.040830 -v -0.000000 0.081742 0.023918 -v -0.000000 0.068194 0.044194 -v -0.000000 0.047918 0.057742 -v -0.000000 0.024000 0.062500 -v -0.000000 0.000082 0.057742 -v -0.016913 0.081742 0.016912 -v -0.031250 0.068194 0.031250 -v -0.040830 0.047918 0.040830 -v -0.044194 0.024000 0.044194 -v -0.040830 0.000082 0.040830 -v -0.061524 0.148194 -0.061523 -v 0.061523 0.148194 -0.061523 -v 0.061523 0.148194 0.061523 -v -0.061524 0.148194 0.061523 -v -0.005980 0.081742 0.000000 -v -0.000000 0.081742 -0.005979 -v -0.000000 0.111500 0.000000 -v 0.005979 0.081742 0.000000 -v -0.000000 0.081742 0.005979 -v -0.000000 0.086500 0.000000 -vt 0.713388 0.422365 -vt 0.372492 0.422365 -vt 0.358449 0.234785 -vt 0.613541 0.784500 -vt 0.472338 0.784500 -vt 0.412485 0.606170 -vt 0.727431 0.234785 -vt 0.372492 0.047204 -vt 0.673395 0.606170 -vt 0.713387 0.047204 -vt 0.542940 0.958853 -vt 0.074879 0.038923 -vt 0.262088 0.020580 -vt 0.262088 0.720477 -vt 0.839131 0.569078 -vt 0.877120 0.614143 -vt 0.839131 0.803203 -vt 0.837838 0.803203 -vt 0.799848 0.614143 -vt 0.837838 0.569078 -vt 0.878413 0.569078 -vt 0.916403 0.614143 -vt 0.878413 0.803204 -vt 0.917696 0.614143 -vt 0.955685 0.569078 -vt 0.955685 0.803203 -vn -0.908700 0.180700 -0.376400 -vn -0.541400 0.810300 -0.224300 -vn -0.908700 -0.180700 -0.376400 -vn -0.786200 0.525300 -0.325600 -vn -0.376400 0.180700 -0.908700 -vn -0.224300 0.810300 -0.541400 -vn -0.376400 -0.180700 -0.908700 -vn -0.325600 0.525300 -0.786200 -vn 0.376400 -0.180700 -0.908700 -vn 0.325600 0.525300 -0.786200 -vn 0.376400 0.180700 -0.908700 -vn 0.224300 0.810300 -0.541400 -vn 0.786200 0.525300 -0.325600 -vn 0.908700 0.180700 -0.376400 -vn 0.541400 0.810300 -0.224300 -vn 0.908700 -0.180700 -0.376400 -vn 0.908700 0.180700 0.376400 -vn 0.541400 0.810300 0.224300 -vn 0.908700 -0.180700 0.376400 -vn 0.786200 0.525300 0.325600 -vn 0.224300 0.810300 0.541400 -vn 0.376400 -0.180700 0.908700 -vn 0.325600 0.525300 0.786200 -vn 0.376400 0.180700 0.908700 -vn -0.376400 -0.180700 0.908700 -vn -0.325600 0.525300 0.786200 -vn -0.376400 0.180700 0.908700 -vn -0.224300 0.810300 0.541400 -vn -0.194500 0.977600 -0.080500 -vn -0.080500 0.977600 -0.194500 -vn 0.080500 0.977600 -0.194500 -vn 0.194500 0.977600 -0.080500 -vn 0.194500 0.977600 0.080500 -vn 0.080500 0.977600 0.194500 -vn -0.080500 0.977600 0.194500 -vn -0.194500 0.977600 0.080500 -vn -0.908700 0.180700 0.376400 -vn -0.541400 0.810300 0.224300 -vn -0.908700 -0.180700 0.376400 -vn -0.786200 0.525300 0.325600 -vn -0.707100 0.000000 0.707100 -vn 0.707100 0.000000 0.707100 -vn 0.707100 0.000000 -0.707100 -vn -0.707100 0.000000 -0.707100 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 0.000000 1.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000000 0.000000 -1.000000 -s off -f 3/1/1 8/2/1 9/3/1 -f 1/4/2 6/5/2 7/6/2 -f 4/7/3 9/3/3 10/8/3 -f 2/9/4 7/6/4 8/2/4 -f 8/1/5 13/2/5 14/3/5 -f 6/4/6 11/5/6 12/6/6 -f 9/7/7 14/3/7 15/8/7 -f 7/9/8 12/6/8 13/2/8 -f 14/7/9 20/3/9 21/8/9 -f 12/9/10 18/6/10 19/2/10 -f 13/1/11 19/2/11 20/3/11 -f 11/4/12 17/5/12 18/6/12 -f 18/9/13 23/6/13 24/2/13 -f 19/1/14 24/2/14 25/3/14 -f 17/4/15 22/5/15 23/6/15 -f 20/7/16 25/3/16 26/8/16 -f 25/7/17 24/1/17 29/2/17 -f 23/9/18 22/4/18 27/5/18 -f 25/7/19 30/3/19 31/8/19 -f 23/9/20 28/6/20 29/2/20 -f 28/9/21 27/4/21 32/5/21 -f 31/10/22 30/7/22 35/3/22 -f 29/1/23 28/9/23 33/6/23 -f 29/1/24 34/2/24 35/3/24 -f 35/7/25 40/3/25 41/8/25 -f 33/9/26 38/6/26 39/2/26 -f 35/7/27 34/1/27 39/2/27 -f 32/4/28 37/5/28 38/6/28 -f 1/4/29 16/11/29 6/5/29 -f 6/4/30 16/11/30 11/5/30 -f 11/4/31 16/11/31 17/5/31 -f 17/4/32 16/11/32 22/5/32 -f 22/4/33 16/11/33 27/5/33 -f 27/4/34 16/11/34 32/5/34 -f 32/4/35 16/11/35 37/5/35 -f 37/4/36 16/11/36 1/5/36 -f 39/1/37 3/2/37 4/3/37 -f 37/4/38 1/5/38 2/6/38 -f 40/7/39 4/3/39 5/8/39 -f 39/1/40 38/9/40 2/6/40 -f 27/12/41 28/13/41 44/14/41 -f 17/12/42 18/13/42 43/14/42 -f 6/12/43 7/13/43 42/14/43 -f 37/12/44 38/13/44 45/14/44 -f 47/15/45 51/16/45 48/17/45 -f 48/18/46 51/19/46 49/20/46 -f 50/21/47 51/22/47 48/23/47 -f 51/24/48 46/25/48 48/26/48 -f 4/7/1 3/1/1 9/3/1 -f 2/9/2 1/4/2 7/6/2 -f 5/10/3 4/7/3 10/8/3 -f 3/1/4 2/9/4 8/2/4 -f 9/7/5 8/1/5 14/3/5 -f 7/9/6 6/4/6 12/6/6 -f 10/10/7 9/7/7 15/8/7 -f 8/1/8 7/9/8 13/2/8 -f 15/10/9 14/7/9 21/8/9 -f 13/1/10 12/9/10 19/2/10 -f 14/7/11 13/1/11 20/3/11 -f 12/9/12 11/4/12 18/6/12 -f 19/1/13 18/9/13 24/2/13 -f 20/7/14 19/1/14 25/3/14 -f 18/9/15 17/4/15 23/6/15 -f 21/10/16 20/7/16 26/8/16 -f 30/3/17 25/7/17 29/2/17 -f 28/6/18 23/9/18 27/5/18 -f 26/10/19 25/7/19 31/8/19 -f 24/1/20 23/9/20 29/2/20 -f 33/6/21 28/9/21 32/5/21 -f 36/8/22 31/10/22 35/3/22 -f 34/2/23 29/1/23 33/6/23 -f 30/7/24 29/1/24 35/3/24 -f 36/10/25 35/7/25 41/8/25 -f 34/1/26 33/9/26 39/2/26 -f 40/3/27 35/7/27 39/2/27 -f 33/9/28 32/4/28 38/6/28 -f 40/7/37 39/1/37 4/3/37 -f 38/9/38 37/4/38 2/6/38 -f 41/10/39 40/7/39 5/8/39 -f 3/2/40 39/1/40 2/6/40 diff --git a/src/main/resources/assets/hbm/models/mine_he.obj b/src/main/resources/assets/hbm/models/mine_he.obj deleted file mode 100644 index d26f0d488..000000000 --- a/src/main/resources/assets/hbm/models/mine_he.obj +++ /dev/null @@ -1,376 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'mine_he.blend' -# www.blender.org -o Cylinder -v 0.000000 0.000000 -0.250000 -v 0.000000 0.125000 -0.250000 -v 0.125000 0.000000 -0.216506 -v 0.125000 0.125000 -0.216506 -v 0.216506 0.000000 -0.125000 -v 0.216506 0.125000 -0.125000 -v 0.250000 0.000000 0.000000 -v 0.250000 0.125000 0.000000 -v 0.216506 0.000000 0.125000 -v 0.216506 0.125000 0.125000 -v 0.125000 0.000000 0.216506 -v 0.125000 0.125000 0.216506 -v 0.000000 0.000000 0.250000 -v 0.000000 0.125000 0.250000 -v -0.125000 0.000000 0.216506 -v -0.125000 0.125000 0.216506 -v -0.216506 0.000000 0.125000 -v -0.216506 0.125000 0.125000 -v -0.250000 0.000000 0.000000 -v -0.250000 0.125000 0.000000 -v -0.216506 0.000000 -0.125000 -v -0.216506 0.125000 -0.125000 -v -0.125000 0.000000 -0.216506 -v -0.125000 0.125000 -0.216506 -v 0.100000 0.125000 -0.173205 -v -0.000000 0.125000 -0.200000 -v 0.173205 0.125000 -0.100000 -v 0.200000 0.125000 0.000000 -v 0.173205 0.125000 0.100000 -v 0.100000 0.125000 0.173205 -v 0.000000 0.125000 0.200000 -v -0.100000 0.125000 0.173205 -v -0.173205 0.125000 0.100000 -v -0.200000 0.125000 0.000000 -v -0.173205 0.125000 -0.100000 -v -0.100000 0.125000 -0.173205 -v 0.100000 0.110000 -0.173205 -v -0.000000 0.110000 -0.200000 -v 0.173205 0.110000 -0.100000 -v 0.200000 0.110000 0.000000 -v 0.173205 0.110000 0.100000 -v 0.100000 0.110000 0.173205 -v 0.000000 0.110000 0.200000 -v -0.100000 0.110000 0.173205 -v -0.173205 0.110000 0.100000 -v -0.200000 0.110000 0.000000 -v -0.173205 0.110000 -0.100000 -v -0.100000 0.110000 -0.173205 -v 0.070000 0.110000 -0.121244 -v -0.000000 0.110000 -0.140000 -v 0.121244 0.110000 -0.070000 -v 0.140000 0.110000 0.000000 -v 0.121244 0.110000 0.070000 -v 0.070000 0.110000 0.121244 -v 0.000000 0.110000 0.140000 -v -0.070000 0.110000 0.121244 -v -0.121244 0.110000 0.070000 -v -0.140000 0.110000 0.000000 -v -0.121244 0.110000 -0.070000 -v -0.070000 0.110000 -0.121244 -v 0.070000 0.125000 -0.121244 -v -0.000000 0.125000 -0.140000 -v 0.121244 0.125000 -0.070000 -v 0.140000 0.125000 0.000000 -v 0.121244 0.125000 0.070000 -v 0.070000 0.125000 0.121244 -v 0.000000 0.125000 0.140000 -v -0.070000 0.125000 0.121244 -v -0.121244 0.125000 0.070000 -v -0.140000 0.125000 0.000000 -v -0.121244 0.125000 -0.070000 -v -0.070000 0.125000 -0.121244 -v 0.035000 0.125000 -0.060622 -v -0.000000 0.125000 -0.070000 -v 0.060622 0.125000 -0.035000 -v 0.070000 0.125000 0.000000 -v 0.060622 0.125000 0.035000 -v 0.035000 0.125000 0.060622 -v 0.000000 0.125000 0.070000 -v -0.035000 0.125000 0.060622 -v -0.060622 0.125000 0.035000 -v -0.070000 0.125000 0.000000 -v -0.060622 0.125000 -0.035000 -v -0.035000 0.125000 -0.060622 -v 0.021000 0.150000 -0.036373 -v -0.000000 0.150000 -0.042000 -v 0.036373 0.150000 -0.021000 -v 0.042000 0.150000 0.000000 -v 0.036373 0.150000 0.021000 -v 0.021000 0.150000 0.036373 -v 0.000000 0.150000 0.042000 -v -0.021000 0.150000 0.036373 -v -0.036373 0.150000 0.021000 -v -0.042000 0.150000 0.000000 -v -0.036373 0.150000 -0.021000 -v -0.021000 0.150000 -0.036373 -vt 0.960752 0.210383 -vt 0.779713 0.210383 -vt 0.779713 0.035513 -vt 0.942646 0.277949 -vt 0.694075 0.517821 -vt 0.018428 0.336781 -vt 0.265732 0.089478 -vt 0.942648 0.298932 -vt 0.797817 0.298932 -vt 0.797814 0.277947 -vt 0.920923 0.380009 -vt 0.819542 0.380009 -vt 0.920923 0.400994 -vt 0.819542 0.400994 -vt 0.895578 0.495584 -vt 0.844887 0.495584 -vt 0.762072 0.729031 -vt 0.791336 0.772633 -vt 0.769830 0.794139 -vt 0.761958 0.823517 -vt 0.879471 0.823517 -vt 0.850093 0.874402 -vt 0.915201 0.764875 -vt 0.871599 0.794139 -vt 0.850093 0.772633 -vt 0.879357 0.918004 -vt 0.871599 0.852895 -vt 0.709566 0.819974 -vt 0.722685 0.771011 -vt 0.873221 0.725488 -vt 0.820715 0.764761 -vt 0.931864 0.827060 -vt 0.918744 0.876024 -vt 0.709566 0.827060 -vt 0.769830 0.852895 -vt 0.768208 0.921547 -vt 0.791336 0.874402 -vt 0.820715 0.882274 -vt 0.817172 0.712368 -vt 0.918744 0.771011 -vt 0.931864 0.819974 -vt 0.762072 0.918004 -vt 0.726228 0.882160 -vt 0.824257 0.934666 -vt 0.960752 0.035512 -vt 0.446771 0.089478 -vt 0.603555 0.179997 -vt 0.694075 0.336782 -vt 0.603555 0.674605 -vt 0.446771 0.765124 -vt 0.265732 0.765124 -vt 0.108948 0.674605 -vt 0.018428 0.517820 -vt 0.108948 0.179997 -vt 0.726228 0.764875 -vt 0.879357 0.729031 -vt 0.915201 0.882160 -vt 0.824257 0.712368 -vt 0.722685 0.876024 -vt 0.817172 0.934666 -vt 0.768208 0.725488 -vt 0.873221 0.921547 -vn 0.258800 0.000000 -0.965900 -vn 0.707100 0.000000 -0.707100 -vn 0.965900 0.000000 -0.258800 -vn 0.965900 0.000000 0.258800 -vn 0.707100 0.000000 0.707100 -vn 0.258800 0.000000 0.965900 -vn -0.258800 0.000000 0.965900 -vn -0.707100 0.000000 0.707100 -vn -0.965900 0.000000 0.258800 -vn -0.965900 0.000000 -0.258800 -vn 0.000000 1.000000 0.000000 -vn -0.258800 0.000000 -0.965900 -vn -0.707100 0.000000 -0.707100 -vn 0.000000 -1.000000 0.000000 -vn -0.655700 0.734300 0.175700 -vn 0.175700 0.734300 0.655700 -vn 0.655700 0.734300 -0.175700 -vn -0.655700 0.734300 -0.175700 -vn -0.175700 0.734300 0.655700 -vn 0.655700 0.734300 0.175700 -vn -0.480000 0.734300 -0.480000 -vn 0.175700 0.734300 -0.655700 -vn -0.480000 0.734300 0.480000 -vn 0.480000 0.734300 0.480000 -vn -0.175700 0.734300 -0.655700 -vn 0.480000 0.734300 -0.480000 -s off -f 2/1/1 4/2/1 3/3/1 -f 4/1/2 6/2/2 5/3/2 -f 6/1/3 8/2/3 7/3/3 -f 8/1/4 10/2/4 9/3/4 -f 10/1/5 12/2/5 11/3/5 -f 12/1/6 14/2/6 13/3/6 -f 14/1/7 16/2/7 15/3/7 -f 16/1/8 18/2/8 17/3/8 -f 18/1/9 20/2/9 19/3/9 -f 20/1/10 22/2/10 21/3/10 -f 10/2/11 8/1/11 28/4/11 -f 24/1/12 2/2/12 1/3/12 -f 22/1/13 24/2/13 23/3/13 -f 7/5/14 19/6/14 23/7/14 -f 27/4/9 39/8/9 40/9/9 -f 24/1/11 36/4/11 26/10/11 -f 2/1/11 26/4/11 25/10/11 -f 8/2/11 6/1/11 27/4/11 -f 22/1/11 35/4/11 36/10/11 -f 4/1/11 25/4/11 27/10/11 -f 20/1/11 34/4/11 35/10/11 -f 18/1/11 33/4/11 34/10/11 -f 16/1/11 32/4/11 33/10/11 -f 14/1/11 31/4/11 32/10/11 -f 14/2/11 12/1/11 30/4/11 -f 12/2/11 10/1/11 29/4/11 -f 39/8/11 51/11/11 52/12/11 -f 34/4/4 46/8/4 47/9/4 -f 31/4/1 43/8/1 44/9/1 -f 28/4/10 40/8/10 41/9/10 -f 35/4/5 47/8/5 48/9/5 -f 26/4/7 38/8/7 37/9/7 -f 32/4/2 44/8/2 45/9/2 -f 29/4/13 41/8/13 42/9/13 -f 36/4/6 48/8/6 38/9/6 -f 25/4/8 37/8/8 39/9/8 -f 33/4/3 45/8/3 46/9/3 -f 30/4/12 42/8/12 43/9/12 -f 54/11/6 66/13/6 67/14/6 -f 46/8/11 58/11/11 59/12/11 -f 43/8/11 55/11/11 56/12/11 -f 40/8/11 52/11/11 53/12/11 -f 47/8/11 59/11/11 60/12/11 -f 37/9/11 38/8/11 50/11/11 -f 44/8/11 56/11/11 57/12/11 -f 42/9/11 41/8/11 53/11/11 -f 38/9/11 48/8/11 60/11/11 -f 37/8/11 49/11/11 51/12/11 -f 45/8/11 57/11/11 58/12/11 -f 42/8/11 54/11/11 55/12/11 -f 66/13/11 78/15/11 79/16/11 -f 51/11/3 63/13/3 64/14/3 -f 58/11/10 70/13/10 71/14/10 -f 55/11/7 67/13/7 68/14/7 -f 52/11/4 64/13/4 65/14/4 -f 59/11/13 71/13/13 72/14/13 -f 50/11/1 62/13/1 61/14/1 -f 56/11/8 68/13/8 69/14/8 -f 53/11/5 65/13/5 66/14/5 -f 60/11/12 72/13/12 62/14/12 -f 49/11/2 61/13/2 63/14/2 -f 57/11/9 69/13/9 70/14/9 -f 81/17/15 93/18/15 94/19/15 -f 63/13/11 75/15/11 76/16/11 -f 70/13/11 82/15/11 83/16/11 -f 67/13/11 79/15/11 80/16/11 -f 64/13/11 76/15/11 77/16/11 -f 71/13/11 83/15/11 84/16/11 -f 62/13/11 74/15/11 73/16/11 -f 68/13/11 80/15/11 81/16/11 -f 66/14/11 65/13/11 77/15/11 -f 62/14/11 72/13/11 84/15/11 -f 61/13/11 73/15/11 75/16/11 -f 69/13/11 81/15/11 82/16/11 -f 95/20/11 89/21/11 87/22/11 -f 78/23/16 90/24/16 91/25/16 -f 75/26/17 87/22/17 88/27/17 -f 83/28/18 82/29/18 94/19/18 -f 79/30/19 91/25/19 92/31/19 -f 77/32/20 76/33/20 88/27/20 -f 83/34/21 95/20/21 96/35/21 -f 74/36/22 86/37/22 85/38/22 -f 80/39/23 92/31/23 93/18/23 -f 78/40/24 77/41/24 89/21/24 -f 74/42/25 84/43/25 96/35/25 -f 73/44/26 85/38/26 87/22/26 -f 1/45/1 2/1/1 3/3/1 -f 3/45/2 4/1/2 5/3/2 -f 5/45/3 6/1/3 7/3/3 -f 7/45/4 8/1/4 9/3/4 -f 9/45/5 10/1/5 11/3/5 -f 11/45/6 12/1/6 13/3/6 -f 13/45/7 14/1/7 15/3/7 -f 15/45/8 16/1/8 17/3/8 -f 17/45/9 18/1/9 19/3/9 -f 19/45/10 20/1/10 21/3/10 -f 29/10/11 10/2/11 28/4/11 -f 23/45/12 24/1/12 1/3/12 -f 21/45/13 22/1/13 23/3/13 -f 23/7/14 1/46/14 3/47/14 -f 3/47/14 5/48/14 7/5/14 -f 7/5/14 9/49/14 11/50/14 -f 11/50/14 13/51/14 15/52/14 -f 15/52/14 17/53/14 19/6/14 -f 19/6/14 21/54/14 23/7/14 -f 23/7/14 3/47/14 7/5/14 -f 7/5/14 11/50/14 15/52/14 -f 15/52/14 19/6/14 7/5/14 -f 28/10/9 27/4/9 40/9/9 -f 2/2/11 24/1/11 26/10/11 -f 4/2/11 2/1/11 25/10/11 -f 28/10/11 8/2/11 27/4/11 -f 24/2/11 22/1/11 36/10/11 -f 6/2/11 4/1/11 27/10/11 -f 22/2/11 20/1/11 35/10/11 -f 20/2/11 18/1/11 34/10/11 -f 18/2/11 16/1/11 33/10/11 -f 16/2/11 14/1/11 32/10/11 -f 31/10/11 14/2/11 30/4/11 -f 30/10/11 12/2/11 29/4/11 -f 40/9/11 39/8/11 52/12/11 -f 35/10/4 34/4/4 47/9/4 -f 32/10/1 31/4/1 44/9/1 -f 29/10/10 28/4/10 41/9/10 -f 36/10/5 35/4/5 48/9/5 -f 25/10/7 26/4/7 37/9/7 -f 33/10/2 32/4/2 45/9/2 -f 30/10/13 29/4/13 42/9/13 -f 26/10/6 36/4/6 38/9/6 -f 27/10/8 25/4/8 39/9/8 -f 34/10/3 33/4/3 46/9/3 -f 31/10/12 30/4/12 43/9/12 -f 55/12/6 54/11/6 67/14/6 -f 47/9/11 46/8/11 59/12/11 -f 44/9/11 43/8/11 56/12/11 -f 41/9/11 40/8/11 53/12/11 -f 48/9/11 47/8/11 60/12/11 -f 49/12/11 37/9/11 50/11/11 -f 45/9/11 44/8/11 57/12/11 -f 54/12/11 42/9/11 53/11/11 -f 50/12/11 38/9/11 60/11/11 -f 39/9/11 37/8/11 51/12/11 -f 46/9/11 45/8/11 58/12/11 -f 43/9/11 42/8/11 55/12/11 -f 67/14/11 66/13/11 79/16/11 -f 52/12/3 51/11/3 64/14/3 -f 59/12/10 58/11/10 71/14/10 -f 56/12/7 55/11/7 68/14/7 -f 53/12/4 52/11/4 65/14/4 -f 60/12/13 59/11/13 72/14/13 -f 49/12/1 50/11/1 61/14/1 -f 57/12/8 56/11/8 69/14/8 -f 54/12/5 53/11/5 66/14/5 -f 50/12/12 60/11/12 62/14/12 -f 51/12/2 49/11/2 63/14/2 -f 58/12/9 57/11/9 70/14/9 -f 82/55/15 81/17/15 94/19/15 -f 64/14/11 63/13/11 76/16/11 -f 71/14/11 70/13/11 83/16/11 -f 68/14/11 67/13/11 80/16/11 -f 65/14/11 64/13/11 77/16/11 -f 72/14/11 71/13/11 84/16/11 -f 61/14/11 62/13/11 73/16/11 -f 69/14/11 68/13/11 81/16/11 -f 78/16/11 66/14/11 77/15/11 -f 74/16/11 62/14/11 84/15/11 -f 63/14/11 61/13/11 75/16/11 -f 70/14/11 69/13/11 82/16/11 -f 87/22/11 85/38/11 95/20/11 -f 86/37/11 96/35/11 95/20/11 -f 95/20/11 94/19/11 93/18/11 -f 93/18/11 92/31/11 95/20/11 -f 91/25/11 90/24/11 89/21/11 -f 89/21/11 88/27/11 87/22/11 -f 85/38/11 86/37/11 95/20/11 -f 95/20/11 92/31/11 91/25/11 -f 91/25/11 89/21/11 95/20/11 -f 79/56/16 78/23/16 91/25/16 -f 76/57/17 75/26/17 88/27/17 -f 95/20/18 83/28/18 94/19/18 -f 80/58/19 79/30/19 92/31/19 -f 89/21/20 77/32/20 88/27/20 -f 84/59/21 83/34/21 96/35/21 -f 73/60/22 74/36/22 85/38/22 -f 81/61/23 80/39/23 93/18/23 -f 90/24/24 78/40/24 89/21/24 -f 86/37/25 74/42/25 96/35/25 -f 75/62/26 73/44/26 87/22/26 diff --git a/src/main/resources/assets/hbm/models/missileNeon.obj b/src/main/resources/assets/hbm/models/missileNeon.obj deleted file mode 100644 index f03684fd2..000000000 --- a/src/main/resources/assets/hbm/models/missileNeon.obj +++ /dev/null @@ -1,930 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'missileNeon.blend' -# www.blender.org -o Cylinder -v 0.000000 1.000000 -0.500000 -v 0.000000 4.000000 -0.500000 -v 0.250000 1.000000 -0.433013 -v 0.250000 4.000000 -0.433013 -v 0.433013 1.000000 -0.250000 -v 0.433013 4.000000 -0.250000 -v 0.500000 1.000000 0.000000 -v 0.500000 4.000000 0.000000 -v 0.433013 1.000000 0.250000 -v 0.433013 4.000000 0.250000 -v 0.250000 1.000000 0.433013 -v 0.250000 4.000000 0.433013 -v 0.000000 1.000000 0.500000 -v 0.000000 4.000000 0.500000 -v -0.250000 1.000000 0.433013 -v -0.250000 4.000000 0.433013 -v -0.433013 1.000000 0.250000 -v -0.433013 4.000000 0.250000 -v -0.500000 1.000000 0.000000 -v -0.500000 4.000000 0.000000 -v -0.433013 1.000000 -0.250000 -v -0.433013 4.000000 -0.250000 -v -0.250000 1.000000 -0.433013 -v -0.250000 4.000000 -0.433013 -v 0.187500 4.500000 -0.324760 -v -0.000000 4.500000 -0.375000 -v 0.324759 4.500000 -0.187500 -v 0.375000 4.500000 0.000000 -v 0.324759 4.500000 0.187500 -v 0.187500 4.500000 0.324760 -v -0.000000 4.500000 0.375000 -v -0.187500 4.500000 0.324760 -v -0.324760 4.500000 0.187500 -v -0.375000 4.500000 0.000000 -v -0.324760 4.500000 -0.187500 -v -0.187500 4.500000 -0.324759 -v 0.187499 7.000000 -0.324760 -v -0.000001 7.000000 -0.375000 -v 0.324759 7.000000 -0.187500 -v 0.374999 7.000000 0.000000 -v 0.324759 7.000000 0.187500 -v 0.187499 7.000000 0.324760 -v -0.000001 7.000000 0.375000 -v -0.187501 7.000000 0.324760 -v -0.324760 7.000000 0.187500 -v -0.375001 7.000000 0.000000 -v -0.324760 7.000000 -0.187500 -v -0.187501 7.000000 -0.324759 -v 0.140624 7.500000 -0.243570 -v -0.000001 7.500000 -0.281250 -v 0.243569 7.500000 -0.140625 -v 0.281249 7.500000 0.000000 -v 0.243569 7.500000 0.140625 -v 0.140624 7.500000 0.243570 -v -0.000001 7.500000 0.281250 -v -0.140626 7.500000 0.243570 -v -0.243570 7.500000 0.140625 -v -0.281251 7.500000 0.000000 -v -0.243570 7.500000 -0.140625 -v -0.140626 7.500000 -0.243570 -v 0.049218 7.700000 -0.085249 -v -0.000001 7.700000 -0.098437 -v 0.085249 7.700000 -0.049219 -v 0.098437 7.700000 0.000000 -v 0.085249 7.700000 0.049219 -v 0.049218 7.700000 0.085249 -v -0.000001 7.700000 0.098438 -v -0.049219 7.700000 0.085249 -v -0.085250 7.700000 0.049219 -v -0.098438 7.700000 0.000000 -v -0.085250 7.700000 -0.049219 -v -0.049220 7.700000 -0.085249 -v -0.000001 7.750000 0.000000 -v 0.000000 0.850000 -0.425000 -v 0.212500 0.850000 -0.368061 -v 0.368061 0.850000 -0.212500 -v 0.425000 0.850000 0.000000 -v 0.368061 0.850000 0.212500 -v 0.212500 0.850000 0.368061 -v 0.000000 0.850000 0.425000 -v -0.212500 0.850000 0.368061 -v -0.368061 0.850000 0.212500 -v -0.425000 0.850000 0.000000 -v -0.368061 0.850000 -0.212500 -v -0.212500 0.850000 -0.368061 -v 0.000000 0.850000 -0.212500 -v 0.106250 0.850000 -0.184030 -v 0.184030 0.850000 -0.106250 -v 0.212500 0.850000 0.000000 -v 0.184030 0.850000 0.106250 -v 0.106250 0.850000 0.184030 -v 0.000000 0.850000 0.212500 -v -0.106250 0.850000 0.184030 -v -0.184030 0.850000 0.106250 -v -0.212500 0.850000 0.000000 -v -0.184030 0.850000 -0.106250 -v -0.106250 0.850000 -0.184030 -v 0.000000 0.500000 -0.371875 -v 0.185938 0.500000 -0.322053 -v 0.322053 0.500000 -0.185937 -v 0.371875 0.500000 0.000000 -v 0.322053 0.500000 0.185938 -v 0.185938 0.500000 0.322053 -v 0.000000 0.500000 0.371875 -v -0.185937 0.500000 0.322053 -v -0.322053 0.500000 0.185938 -v -0.371875 0.500000 0.000000 -v -0.322053 0.500000 -0.185937 -v -0.185938 0.500000 -0.322053 -v 0.000000 0.000000 -0.464844 -v 0.232422 0.000000 -0.402566 -v 0.402567 0.000000 -0.232422 -v 0.464844 0.000000 0.000000 -v 0.402567 0.000000 0.232422 -v 0.232422 0.000000 0.402566 -v 0.000000 0.000000 0.464844 -v -0.232422 0.000000 0.402567 -v -0.402566 0.000000 0.232422 -v -0.464844 0.000000 0.000000 -v -0.402567 0.000000 -0.232422 -v -0.232422 0.000000 -0.402566 -v 0.000000 0.000000 -0.371875 -v 0.185938 0.000000 -0.322053 -v 0.322053 0.000000 -0.185937 -v 0.371875 0.000000 0.000000 -v 0.322053 0.000000 0.185938 -v 0.185938 0.000000 0.322053 -v 0.000000 0.000000 0.371875 -v -0.185937 0.000000 0.322053 -v -0.322053 0.000000 0.185938 -v -0.371875 0.000000 0.000000 -v -0.322053 0.000000 -0.185937 -v -0.185938 0.000000 -0.322053 -v 0.000000 0.750000 -0.130156 -v 0.065078 0.750000 -0.112719 -v 0.112719 0.750000 -0.065078 -v 0.130156 0.750000 0.000000 -v 0.112719 0.750000 0.065078 -v 0.065078 0.750000 0.112719 -v 0.000000 0.750000 0.130156 -v -0.065078 0.750000 0.112719 -v -0.112719 0.750000 0.065078 -v -0.130156 0.750000 0.000000 -v -0.112719 0.750000 -0.065078 -v -0.065078 0.750000 -0.112719 -v 0.295753 2.750000 -0.387259 -v 0.387259 2.750000 -0.295753 -v -0.295753 2.750000 0.387260 -v -0.387260 2.750000 0.295754 -v 0.295753 1.250000 -0.387259 -v 0.387259 1.250000 -0.295753 -v -0.295753 1.250000 0.387260 -v -0.387260 1.250000 0.295754 -v 0.543240 2.000000 -0.634747 -v 0.634747 2.000000 -0.543240 -v 0.634747 1.250000 -0.543240 -v 0.543240 1.250000 -0.634747 -v -0.543240 2.000000 0.634747 -v -0.634747 2.000000 0.543241 -v -0.634747 1.250000 0.543241 -v -0.543240 1.250000 0.634747 -v -0.387260 2.750000 -0.295753 -v -0.295753 2.750000 -0.387259 -v 0.387259 2.750000 0.295753 -v 0.295753 2.750000 0.387260 -v -0.387260 1.250000 -0.295753 -v -0.295753 1.250000 -0.387259 -v 0.387259 1.250000 0.295753 -v 0.295753 1.250000 0.387260 -v -0.634747 2.000000 -0.543240 -v -0.543241 2.000000 -0.634747 -v -0.543241 1.250000 -0.634747 -v -0.634747 1.250000 -0.543240 -v 0.634747 2.000000 0.543241 -v 0.543241 2.000000 0.634747 -v 0.543241 1.250000 0.634747 -v 0.634747 1.250000 0.543241 -vt 0.406849 0.497453 -vt 0.370386 0.497453 -vt 0.370385 0.074804 -vt 0.333922 0.497453 -vt 0.333922 0.074804 -vt 0.297459 0.497453 -vt 0.297459 0.074805 -vt 0.260996 0.497453 -vt 0.260996 0.074804 -vt 0.224533 0.497453 -vt 0.224533 0.074804 -vt 0.188070 0.497453 -vt 0.188070 0.074804 -vt 0.151607 0.497453 -vt 0.151607 0.074804 -vt 0.115143 0.497453 -vt 0.115144 0.074804 -vt 0.078680 0.497453 -vt 0.078681 0.074804 -vt 0.516238 0.497453 -vt 0.479775 0.497453 -vt 0.479775 0.074804 -vt 0.183512 0.569919 -vt 0.156164 0.569919 -vt 0.443312 0.497453 -vt 0.406849 0.074804 -vt 0.443312 0.074804 -vt 0.263731 0.051337 -vt 0.294725 0.051337 -vt 0.835738 0.029853 -vt 0.835737 0.382060 -vt 0.808389 0.382060 -vt 0.219975 0.569919 -vt 0.192628 0.569919 -vt 0.256438 0.569919 -vt 0.229091 0.569919 -vt 0.292901 0.569919 -vt 0.438754 0.569919 -vt 0.411407 0.569919 -vt 0.402291 0.569919 -vt 0.329365 0.569919 -vt 0.475217 0.569919 -vt 0.447870 0.569919 -vt 0.365828 0.569919 -vt 0.511680 0.569919 -vt 0.484333 0.569919 -vt 0.110585 0.569919 -vt 0.083238 0.569919 -vt 0.147049 0.569919 -vt 0.890431 0.382060 -vt 0.887013 0.453647 -vt 0.866502 0.453647 -vt 0.616959 0.029852 -vt 0.644306 0.029852 -vt 0.644305 0.382059 -vt 0.726348 0.029852 -vt 0.726347 0.382060 -vt 0.699000 0.382059 -vt 0.808391 0.029853 -vt 0.781042 0.382060 -vt 0.945128 0.029853 -vt 0.945126 0.382060 -vt 0.917779 0.382060 -vt 0.699001 0.029852 -vt 0.671653 0.382059 -vt 0.781043 0.029853 -vt 0.753695 0.382060 -vt 0.917780 0.029853 -vt 0.863085 0.029853 -vt 0.863084 0.382060 -vt 0.671654 0.029852 -vt 0.753696 0.029852 -vt 0.890433 0.029853 -vt 0.729766 0.453647 -vt 0.750276 0.453647 -vt 0.743610 0.491234 -vt 0.832318 0.453647 -vt 0.640887 0.453646 -vt 0.620376 0.453646 -vt 0.722929 0.453647 -vt 0.804971 0.453647 -vt 0.784460 0.453647 -vt 0.941707 0.453647 -vt 0.695581 0.453647 -vt 0.675071 0.453647 -vt 0.777623 0.453647 -vt 0.914360 0.453647 -vt 0.893849 0.453647 -vt 0.859665 0.453647 -vt 0.839155 0.453647 -vt 0.668234 0.453647 -vt 0.880347 0.491234 -vt 0.873168 0.491234 -vt 0.825652 0.491234 -vt 0.818473 0.491234 -vt 0.634221 0.491234 -vt 0.716262 0.491234 -vt 0.709084 0.491234 -vt 0.798305 0.491234 -vt 0.791126 0.491234 -vt 0.921197 0.453647 -vt 0.935041 0.491235 -vt 0.688915 0.491234 -vt 0.770957 0.491234 -vt 0.763779 0.491234 -vt 0.907694 0.491235 -vt 0.900515 0.491235 -vt 0.852999 0.491234 -vt 0.845820 0.491234 -vt 0.661568 0.491234 -vt 0.654389 0.491234 -vt 0.740021 0.506369 -vt 0.736431 0.491234 -vt 0.712673 0.506369 -vt 0.767368 0.506369 -vt 0.685326 0.506369 -vt 0.681737 0.491234 -vt 0.657979 0.506369 -vt 0.630631 0.506368 -vt 0.627042 0.491234 -vt 0.931452 0.506369 -vt 0.927862 0.491235 -vt 0.904104 0.506369 -vt 0.876757 0.506369 -vt 0.849410 0.506369 -vt 0.822062 0.506369 -vt 0.794715 0.506369 -vt 0.190572 0.847732 -vt 0.169403 0.868901 -vt 0.155982 0.861153 -vt 0.409583 0.051337 -vt 0.440577 0.051337 -vt 0.373120 0.051337 -vt 0.404114 0.051337 -vt 0.300194 0.051337 -vt 0.446046 0.051337 -vt 0.336657 0.051337 -vt 0.516238 0.074804 -vt 0.482509 0.051336 -vt 0.081416 0.051336 -vt 0.112409 0.051336 -vt 0.117879 0.051336 -vt 0.148872 0.051337 -vt 0.154342 0.051337 -vt 0.185335 0.051337 -vt 0.190805 0.051337 -vt 0.221798 0.051337 -vt 0.227268 0.051337 -vt 0.258262 0.051337 -vt 0.309583 0.784747 -vt 0.326550 0.733292 -vt 0.351246 0.744498 -vt 0.105896 0.932408 -vt 0.090399 0.905567 -vt 0.119316 0.897818 -vt 0.163731 0.947905 -vt 0.155982 0.918988 -vt 0.169403 0.911239 -vt 0.132737 0.832235 -vt 0.163731 0.832235 -vt 0.206069 0.874573 -vt 0.177151 0.882322 -vt 0.090399 0.874573 -vt 0.119316 0.882322 -vt 0.132737 0.947905 -vt 0.140485 0.918988 -vt 0.206069 0.905567 -vt 0.177151 0.897818 -vt 0.105896 0.847732 -vt 0.127065 0.868901 -vt 0.127065 0.911239 -vt 0.190572 0.932408 -vt 0.140485 0.861153 -vt 0.193517 0.714274 -vt 0.186745 0.642946 -vt 0.220606 0.641342 -vt 0.267562 0.771841 -vt 0.274542 0.718112 -vt 0.300905 0.724470 -vt 0.117517 0.791150 -vt 0.089966 0.744497 -vt 0.114662 0.733291 -vt 0.195387 0.768422 -vt 0.180047 0.770615 -vt 0.166671 0.718112 -vt 0.288878 0.777299 -vt 0.245825 0.768422 -vt 0.247695 0.714274 -vt 0.098277 0.801827 -vt 0.066440 0.757988 -vt 0.173651 0.771841 -vt 0.158586 0.775474 -vt 0.140307 0.724470 -vt 0.223862 0.767073 -vt 0.220606 0.712991 -vt 0.342935 0.801828 -vt 0.329491 0.794119 -vt 0.137680 0.782340 -vt 0.217350 0.767073 -vt 0.201871 0.767807 -vt 0.660851 0.892064 -vt 0.648200 0.888674 -vt 0.648200 0.861554 -vt 0.353036 0.666718 -vt 0.383906 0.680726 -vt 0.288026 0.647743 -vt 0.320980 0.655691 -vt 0.057307 0.680725 -vt 0.088177 0.666718 -vt 0.153187 0.647743 -vt 0.254468 0.642946 -vt 0.027899 0.697588 -vt 0.120232 0.655691 -vt 0.413314 0.697589 -vt 0.727405 0.643467 -vt 0.661481 0.732788 -vt 0.653421 0.727775 -vt 0.534337 0.858164 -vt 0.551287 0.828807 -vt 0.560548 0.838068 -vt 0.614544 0.811857 -vt 0.611154 0.824508 -vt 0.584034 0.824508 -vt 0.580644 0.938371 -vt 0.551287 0.921421 -vt 0.560548 0.912160 -vt 0.643901 0.921421 -vt 0.634640 0.912160 -vt 0.580644 0.811857 -vt 0.643901 0.828807 -vt 0.634640 0.838068 -vt 0.534337 0.892064 -vt 0.546988 0.888674 -vt 0.614544 0.938371 -vt 0.611154 0.925720 -vt 0.660851 0.858164 -vt 0.546988 0.861554 -vt 0.584034 0.925720 -vt 0.291431 0.888170 -vt 0.268974 0.910628 -vt 0.278465 0.875204 -vt 0.653017 0.612245 -vt 0.635445 0.721860 -vt 0.625983 0.721106 -vt 0.524561 0.643467 -vt 0.590485 0.732788 -vt 0.583320 0.739013 -vt 0.572597 0.618650 -vt 0.607298 0.724102 -vt 0.598546 0.727775 -vt 0.747878 0.661253 -vt 0.668646 0.739013 -vt 0.679369 0.618650 -vt 0.644668 0.724102 -vt 0.547591 0.629146 -vt 0.598949 0.612245 -vt 0.616521 0.721860 -vt 0.765277 0.682055 -vt 0.674736 0.746293 -vt 0.704375 0.629146 -vt 0.625983 0.610092 -vt 0.504089 0.661253 -vt 0.577231 0.746293 -vt 0.856252 0.824927 -vt 0.856252 0.719265 -vt 0.874484 0.719265 -vt 0.874484 0.824927 -vt 0.874484 0.941528 -vt 0.806943 0.719265 -vt 0.856252 0.669956 -vt 0.923793 0.719264 -vt 0.856252 0.941528 -vt 0.265554 0.569919 -vt 0.374943 0.569919 -vt 0.302017 0.569919 -vt 0.338480 0.569919 -vt 0.119701 0.569919 -vt 0.616958 0.382059 -vt 0.811807 0.453647 -vt 0.702418 0.453647 -vt 0.757113 0.453647 -vt 0.647724 0.453647 -vt 0.331188 0.051337 -vt 0.477040 0.051336 -vt 0.367651 0.051337 -vt 0.513503 0.051336 -vt 0.323695 0.791151 -vt 0.282627 0.775474 -vt 0.131629 0.784747 -vt 0.303532 0.782340 -vt 0.261166 0.770615 -vt 0.111721 0.794119 -vt 0.239342 0.767807 -vt 0.374772 0.757988 -vt 0.152334 0.777299 -vt 0.260753 0.879950 -vt 0.268973 0.875204 -vt 0.286685 0.879950 -vt 0.291431 0.897662 -vt 0.286685 0.905882 -vt 0.278465 0.910628 -vt 0.260753 0.905882 -vt 0.256007 0.897662 -vt 0.256007 0.888170 -vt 0.486690 0.682056 -vt 0.806943 0.930589 -vt 0.874484 0.669956 -vt 0.923793 0.930589 -vn 0.258800 0.000000 -0.965900 -vn 0.707100 0.000000 -0.707100 -vn 0.965900 0.000000 -0.258800 -vn 0.965900 0.000000 0.258800 -vn 0.707100 0.000000 0.707100 -vn 0.258800 0.000000 0.965900 -vn -0.258800 0.000000 0.965900 -vn -0.707100 0.000000 0.707100 -vn -0.965900 0.000000 0.258800 -vn -0.965900 0.000000 -0.258800 -vn -0.251600 0.234700 0.938900 -vn -0.258800 0.000000 -0.965900 -vn -0.707100 0.000000 -0.707100 -vn 0.869800 -0.434900 0.233100 -vn 0.251600 0.234700 0.938900 -vn 0.687400 0.234700 0.687300 -vn 0.938900 0.234700 0.251600 -vn -0.251600 0.234700 -0.938900 -vn 0.251600 0.234700 -0.938900 -vn 0.938900 0.234700 -0.251600 -vn -0.687400 0.234700 -0.687300 -vn 0.687400 0.234700 -0.687300 -vn -0.938900 0.234700 -0.251600 -vn -0.938900 0.234700 0.251600 -vn -0.687300 0.234700 0.687400 -vn -0.254700 0.178200 -0.950500 -vn 0.530100 0.661900 0.530100 -vn 0.695800 0.178200 -0.695800 -vn -0.950500 0.178200 0.254700 -vn 0.254700 0.178200 0.950500 -vn 0.950500 0.178200 -0.254700 -vn -0.950500 0.178200 -0.254700 -vn -0.254700 0.178200 0.950500 -vn 0.950500 0.178200 0.254700 -vn -0.695800 0.178200 -0.695800 -vn 0.254700 0.178200 -0.950500 -vn -0.695800 0.178200 0.695800 -vn 0.695800 0.178200 0.695800 -vn -0.194000 0.661900 -0.724100 -vn 0.530100 0.661900 -0.530100 -vn -0.724100 0.661900 0.194000 -vn 0.194000 0.661900 0.724100 -vn 0.724100 0.661900 -0.194000 -vn -0.724100 0.661900 -0.194000 -vn -0.194000 0.661900 0.724100 -vn 0.724100 0.661900 0.194000 -vn -0.530100 0.661900 -0.530100 -vn 0.194000 0.661900 -0.724100 -vn -0.530100 0.661900 0.530100 -vn 0.329100 0.885100 0.329100 -vn 0.120500 0.885100 0.449600 -vn 0.449600 0.885100 0.120500 -vn -0.120500 0.885100 0.449600 -vn -0.329100 0.885100 0.329100 -vn -0.449600 0.885100 0.120500 -vn -0.449600 0.885100 -0.120500 -vn -0.329100 0.885100 -0.329100 -vn -0.120500 0.885100 -0.449600 -vn 0.120500 0.885100 -0.449600 -vn 0.329100 0.885100 -0.329100 -vn 0.449600 0.885100 -0.120500 -vn 0.000000 -1.000000 0.000000 -vn -0.233100 -0.434900 -0.869800 -vn 0.233100 -0.434900 -0.869800 -vn 0.869800 -0.434900 -0.233100 -vn -0.636700 -0.434900 -0.636700 -vn 0.636700 -0.434900 -0.636700 -vn -0.869800 -0.434900 -0.233100 -vn -0.869800 -0.434900 0.233100 -vn -0.636700 -0.434900 0.636700 -vn -0.233100 -0.434900 0.869800 -vn 0.233100 -0.434900 0.869800 -vn 0.636700 -0.434900 0.636700 -vn -0.647300 0.402600 -0.647300 -vn 0.950700 0.176800 0.254700 -vn 0.236900 0.402600 -0.884200 -vn -0.647300 0.402600 0.647300 -vn 0.647300 0.402600 0.647300 -vn -0.236900 0.402600 -0.884200 -vn 0.647300 0.402600 -0.647300 -vn -0.884200 0.402600 0.236900 -vn 0.236900 0.402600 0.884200 -vn 0.884200 0.402600 -0.236900 -vn -0.884200 0.402600 -0.236900 -vn -0.236900 0.402600 0.884200 -vn 0.884200 0.402600 0.236900 -vn -0.696000 0.176800 -0.696000 -vn 0.254700 0.176800 -0.950700 -vn -0.696000 0.176800 0.696000 -vn 0.696000 0.176800 0.696000 -vn -0.254700 0.176800 -0.950700 -vn 0.696000 0.176800 -0.696000 -vn -0.950700 0.176800 0.254700 -vn 0.254700 0.176800 0.950700 -vn 0.950700 0.176800 -0.254700 -vn -0.950700 0.176800 -0.254700 -vn -0.254700 0.176800 0.950700 -vn 0.247100 -0.297200 -0.922300 -vn -0.922300 -0.297200 -0.247100 -vn 0.675100 -0.297200 0.675100 -vn -0.247100 -0.297200 0.922300 -vn 0.675100 -0.297200 -0.675100 -vn -0.675100 -0.297200 -0.675100 -vn 0.247100 -0.297200 0.922300 -vn -0.675100 -0.297200 0.675100 -vn 0.922300 -0.297200 -0.247100 -vn -0.247100 -0.297200 -0.922300 -vn -0.922300 -0.297200 0.247100 -vn 0.922300 -0.297200 0.247100 -vn 0.640800 0.422900 -0.640800 -vn -0.640800 0.422900 0.640800 -vn -0.640800 0.422900 -0.640800 -vn 0.640800 0.422900 0.640800 -vn 0.687300 0.234700 0.687400 -vn 0.687300 0.234700 -0.687400 -s off -f 2/1/1 4/2/1 3/3/1 -f 4/2/2 6/4/2 5/5/2 -f 6/4/3 8/6/3 7/7/3 -f 8/6/4 10/8/4 9/9/4 -f 10/8/5 12/10/5 11/11/5 -f 12/10/6 14/12/6 13/13/6 -f 14/12/7 16/14/7 15/15/7 -f 16/14/8 18/16/8 17/17/8 -f 18/16/9 20/18/9 19/19/9 -f 20/20/10 22/21/10 21/22/10 -f 14/12/11 31/23/11 32/24/11 -f 24/25/12 2/1/12 1/26/12 -f 22/21/13 24/25/13 23/27/13 -f 9/9/14 78/28/14 77/29/14 -f 25/30/2 37/31/2 39/32/2 -f 12/10/15 30/33/15 31/34/15 -f 10/8/16 29/35/16 30/36/16 -f 10/8/17 8/6/17 28/37/17 -f 24/25/18 36/38/18 26/39/18 -f 4/2/19 2/1/19 26/40/19 -f 8/6/20 6/4/20 27/41/20 -f 22/21/21 35/42/21 36/43/21 -f 6/4/22 4/2/22 25/44/22 -f 20/20/23 34/45/23 35/46/23 -f 18/16/24 33/47/24 34/48/24 -f 18/16/25 16/14/25 32/49/25 -f 48/50/26 60/51/26 50/52/26 -f 34/53/9 33/54/9 45/55/9 -f 30/56/6 42/57/6 43/58/6 -f 27/59/3 39/32/3 40/60/3 -f 34/61/10 46/62/10 47/63/10 -f 31/64/7 43/58/7 44/65/7 -f 28/66/4 40/60/4 41/67/4 -f 35/68/13 47/63/13 48/50/13 -f 26/69/1 38/70/1 37/31/1 -f 32/71/8 44/65/8 45/55/8 -f 29/72/5 41/67/5 42/57/5 -f 36/73/12 48/50/12 38/70/12 -f 54/74/27 53/75/27 65/76/27 -f 39/32/28 37/31/28 49/77/28 -f 45/55/29 57/78/29 58/79/29 -f 43/58/30 42/57/30 54/80/30 -f 39/32/31 51/81/31 52/82/31 -f 47/63/32 46/62/32 58/83/32 -f 43/58/33 55/84/33 56/85/33 -f 41/67/34 40/60/34 52/86/34 -f 47/63/35 59/87/35 60/88/35 -f 38/70/36 50/89/36 49/90/36 -f 45/55/37 44/65/37 56/91/37 -f 41/67/38 53/75/38 54/74/38 -f 60/51/39 72/92/39 62/93/39 -f 49/77/40 61/94/40 63/95/40 -f 58/79/41 57/78/41 69/96/41 -f 54/80/42 66/97/42 67/98/42 -f 51/81/43 63/99/43 64/100/43 -f 59/101/44 58/83/44 70/102/44 -f 56/85/45 55/84/45 67/103/45 -f 52/86/46 64/104/46 65/105/46 -f 59/87/47 71/106/47 72/107/47 -f 50/89/48 62/108/48 61/109/48 -f 56/91/49 68/110/49 69/111/49 -f 65/76/50 73/112/50 66/113/50 -f 67/98/51 66/97/51 73/114/51 -f 64/104/52 73/115/52 65/105/52 -f 67/103/53 73/116/53 68/117/53 -f 68/110/54 73/118/54 69/111/54 -f 69/96/55 73/119/55 70/120/55 -f 70/102/56 73/121/56 71/122/56 -f 71/106/57 73/123/57 72/107/57 -f 72/92/58 73/124/58 62/93/58 -f 62/108/59 73/125/59 61/109/59 -f 61/94/60 73/126/60 63/95/60 -f 63/99/61 73/127/61 64/100/61 -f 75/128/62 87/129/62 86/130/62 -f 1/26/63 74/131/63 85/132/63 -f 3/3/64 75/133/64 74/134/64 -f 5/5/65 7/7/65 77/135/65 -f 21/22/66 23/27/66 85/136/66 -f 3/3/67 5/5/67 76/137/67 -f 19/138/68 21/22/68 84/139/68 -f 19/19/69 83/140/69 82/141/69 -f 17/17/70 82/142/70 81/143/70 -f 15/15/71 81/144/71 80/145/71 -f 13/13/72 80/146/72 79/147/72 -f 11/11/73 79/148/73 78/149/73 -f 97/150/74 109/151/74 108/152/74 -f 81/153/62 82/154/62 94/155/62 -f 79/156/62 91/157/62 90/158/62 -f 85/159/62 74/160/62 86/130/62 -f 76/161/62 88/162/62 87/129/62 -f 83/163/62 95/164/62 94/155/62 -f 80/165/62 92/166/62 91/157/62 -f 77/167/62 89/168/62 88/162/62 -f 84/169/62 96/170/62 95/164/62 -f 80/165/62 81/153/62 93/171/62 -f 78/172/62 90/158/62 89/168/62 -f 85/159/62 97/173/62 96/170/62 -f 102/174/75 114/175/75 113/176/75 -f 87/177/76 99/178/76 98/179/76 -f 94/180/77 106/181/77 105/182/77 -f 90/183/78 91/184/78 103/185/78 -f 86/186/79 98/179/79 109/151/79 -f 88/187/80 100/188/80 99/178/80 -f 95/189/81 107/190/81 106/181/81 -f 91/191/82 92/192/82 104/193/82 -f 89/194/83 101/195/83 100/188/83 -f 95/196/84 96/197/84 108/152/84 -f 93/198/85 105/182/85 104/193/85 -f 89/199/86 90/200/86 102/174/86 -f 114/201/62 126/202/62 125/203/62 -f 109/151/87 121/204/87 120/205/87 -f 99/178/88 111/206/88 110/207/88 -f 106/181/89 118/208/89 117/209/89 -f 102/174/90 103/185/90 115/210/90 -f 98/179/91 110/207/91 121/204/91 -f 100/188/92 112/211/92 111/206/92 -f 107/190/93 119/212/93 118/208/93 -f 104/193/94 116/213/94 115/210/94 -f 101/195/95 113/176/95 112/211/95 -f 108/152/96 120/205/96 119/214/96 -f 104/193/97 105/182/97 117/209/97 -f 129/215/98 141/216/98 140/217/98 -f 120/218/62 121/219/62 133/220/62 -f 111/221/62 123/222/62 122/223/62 -f 117/224/62 118/225/62 130/226/62 -f 115/227/62 127/228/62 126/202/62 -f 110/229/62 122/223/62 133/220/62 -f 111/221/62 112/230/62 124/231/62 -f 119/232/62 131/233/62 130/226/62 -f 116/234/62 128/235/62 127/228/62 -f 113/236/62 125/203/62 124/231/62 -f 120/218/62 132/237/62 131/233/62 -f 117/224/62 129/238/62 128/235/62 -f 137/239/62 141/240/62 135/241/62 -f 126/242/99 138/243/99 137/244/99 -f 133/245/100 145/246/100 144/247/100 -f 123/248/101 135/249/101 134/250/101 -f 130/251/102 142/252/102 141/216/102 -f 126/242/103 127/253/103 139/254/103 -f 122/255/104 134/250/104 145/246/104 -f 124/256/105 136/257/105 135/249/105 -f 131/258/106 143/259/106 142/252/106 -f 128/260/107 140/217/107 139/254/107 -f 125/261/108 137/244/108 136/257/108 -f 132/262/109 144/247/109 143/263/109 -f 155/264/2 156/265/2 157/266/2 -f 155/264/110 154/267/110 146/268/110 -f 151/269/5 156/265/5 155/264/5 -f 157/266/62 156/265/62 151/270/62 -f 154/267/13 157/266/13 150/271/13 -f 159/264/8 160/265/8 161/266/8 -f 149/272/111 159/264/111 158/267/111 -f 153/269/13 160/265/13 159/264/13 -f 161/266/62 160/265/62 153/270/62 -f 158/267/5 161/266/5 152/271/5 -f 171/264/13 172/265/13 173/266/13 -f 171/264/112 170/267/112 162/268/112 -f 167/269/2 172/265/2 171/264/2 -f 173/266/62 172/265/62 167/270/62 -f 170/267/8 173/266/8 166/271/8 -f 175/264/5 176/265/5 177/266/5 -f 165/272/113 175/264/113 174/267/113 -f 169/269/8 176/265/8 175/264/8 -f 177/266/62 176/265/62 169/270/62 -f 174/267/2 177/266/2 168/271/2 -f 1/26/1 2/1/1 3/3/1 -f 3/3/2 4/2/2 5/5/2 -f 5/5/3 6/4/3 7/7/3 -f 7/7/4 8/6/4 9/9/4 -f 9/9/5 10/8/5 11/11/5 -f 11/11/6 12/10/6 13/13/6 -f 13/13/7 14/12/7 15/15/7 -f 15/15/8 16/14/8 17/17/8 -f 17/17/9 18/16/9 19/19/9 -f 19/138/10 20/20/10 21/22/10 -f 16/14/11 14/12/11 32/24/11 -f 23/27/12 24/25/12 1/26/12 -f 21/22/13 22/21/13 23/27/13 -f 7/7/14 9/9/14 77/29/14 -f 27/59/2 25/30/2 39/32/2 -f 14/12/15 12/10/15 31/34/15 -f 12/10/114 10/8/114 30/36/114 -f 29/273/17 10/8/17 28/37/17 -f 2/1/18 24/25/18 26/39/18 -f 25/274/19 4/2/19 26/40/19 -f 28/275/20 8/6/20 27/41/20 -f 24/25/21 22/21/21 36/43/21 -f 27/276/115 6/4/115 25/44/115 -f 22/21/23 20/20/23 35/46/23 -f 20/18/24 18/16/24 34/48/24 -f 33/277/25 18/16/25 32/49/25 -f 38/70/26 48/50/26 50/52/26 -f 46/278/9 34/53/9 45/55/9 -f 31/64/6 30/56/6 43/58/6 -f 28/66/3 27/59/3 40/60/3 -f 35/68/10 34/61/10 47/63/10 -f 32/71/7 31/64/7 44/65/7 -f 29/72/4 28/66/4 41/67/4 -f 36/73/13 35/68/13 48/50/13 -f 25/30/1 26/69/1 37/31/1 -f 33/54/8 32/71/8 45/55/8 -f 30/56/5 29/72/5 42/57/5 -f 26/69/12 36/73/12 38/70/12 -f 66/113/27 54/74/27 65/76/27 -f 51/279/28 39/32/28 49/77/28 -f 46/278/29 45/55/29 58/79/29 -f 55/280/30 43/58/30 54/80/30 -f 40/60/31 39/32/31 52/82/31 -f 59/101/32 47/63/32 58/83/32 -f 44/65/33 43/58/33 56/85/33 -f 53/281/34 41/67/34 52/86/34 -f 48/50/35 47/63/35 60/88/35 -f 37/31/36 38/70/36 49/90/36 -f 57/282/37 45/55/37 56/91/37 -f 42/57/38 41/67/38 54/74/38 -f 50/52/39 60/51/39 62/93/39 -f 51/279/40 49/77/40 63/95/40 -f 70/120/41 58/79/41 69/96/41 -f 55/280/42 54/80/42 67/98/42 -f 52/82/43 51/81/43 64/100/43 -f 71/122/44 59/101/44 70/102/44 -f 68/117/45 56/85/45 67/103/45 -f 53/281/46 52/86/46 65/105/46 -f 60/88/47 59/87/47 72/107/47 -f 49/90/48 50/89/48 61/109/48 -f 57/282/49 56/91/49 69/111/49 -f 74/160/62 75/128/62 86/130/62 -f 23/27/63 1/26/63 85/132/63 -f 1/26/64 3/3/64 74/134/64 -f 76/283/65 5/5/65 77/135/65 -f 84/284/66 21/22/66 85/136/66 -f 75/285/67 3/3/67 76/137/67 -f 83/286/68 19/138/68 84/139/68 -f 17/17/69 19/19/69 82/141/69 -f 15/15/70 17/17/70 81/143/70 -f 13/13/71 15/15/71 80/145/71 -f 11/11/72 13/13/72 79/147/72 -f 9/9/73 11/11/73 78/149/73 -f 96/287/74 97/150/74 108/152/74 -f 93/171/62 81/153/62 94/155/62 -f 78/172/62 79/156/62 90/158/62 -f 97/173/62 85/159/62 86/130/62 -f 75/128/62 76/161/62 87/129/62 -f 82/154/62 83/163/62 94/155/62 -f 79/156/62 80/165/62 91/157/62 -f 76/161/62 77/167/62 88/162/62 -f 83/163/62 84/169/62 95/164/62 -f 92/166/62 80/165/62 93/171/62 -f 77/167/62 78/172/62 89/168/62 -f 84/169/62 85/159/62 96/170/62 -f 101/195/75 102/174/75 113/176/75 -f 86/288/76 87/177/76 98/179/76 -f 93/289/77 94/180/77 105/182/77 -f 102/174/78 90/183/78 103/185/78 -f 97/290/79 86/186/79 109/151/79 -f 87/291/80 88/187/80 99/178/80 -f 94/292/81 95/189/81 106/181/81 -f 103/185/82 91/191/82 104/193/82 -f 88/293/83 89/194/83 100/188/83 -f 107/294/84 95/196/84 108/152/84 -f 92/295/85 93/198/85 104/193/85 -f 101/195/86 89/199/86 102/174/86 -f 113/236/62 114/201/62 125/203/62 -f 108/152/87 109/151/87 120/205/87 -f 98/179/88 99/178/88 110/207/88 -f 105/182/89 106/181/89 117/209/89 -f 114/175/90 102/174/90 115/210/90 -f 109/151/91 98/179/91 121/204/91 -f 99/178/92 100/188/92 111/206/92 -f 106/181/93 107/190/93 118/208/93 -f 103/185/94 104/193/94 115/210/94 -f 100/188/95 101/195/95 112/211/95 -f 107/294/96 108/152/96 119/214/96 -f 116/213/97 104/193/97 117/209/97 -f 128/260/98 129/215/98 140/217/98 -f 132/237/62 120/218/62 133/220/62 -f 110/229/62 111/221/62 122/223/62 -f 129/238/62 117/224/62 130/226/62 -f 114/201/62 115/227/62 126/202/62 -f 121/219/62 110/229/62 133/220/62 -f 123/222/62 111/221/62 124/231/62 -f 118/225/62 119/232/62 130/226/62 -f 115/227/62 116/234/62 127/228/62 -f 112/230/62 113/236/62 124/231/62 -f 119/232/62 120/218/62 131/233/62 -f 116/234/62 117/224/62 128/235/62 -f 145/296/62 134/297/62 135/241/62 -f 135/241/62 136/298/62 137/239/62 -f 137/239/62 138/299/62 139/300/62 -f 139/300/62 140/301/62 137/239/62 -f 141/240/62 142/302/62 143/303/62 -f 143/303/62 144/304/62 145/296/62 -f 145/296/62 135/241/62 141/240/62 -f 137/239/62 140/301/62 141/240/62 -f 141/240/62 143/303/62 145/296/62 -f 125/261/99 126/242/99 137/244/99 -f 132/262/100 133/245/100 144/247/100 -f 122/255/101 123/248/101 134/250/101 -f 129/215/102 130/251/102 141/216/102 -f 138/243/103 126/242/103 139/254/103 -f 133/245/104 122/255/104 145/246/104 -f 123/248/105 124/256/105 135/249/105 -f 130/251/106 131/258/106 142/252/106 -f 127/253/107 128/260/107 139/254/107 -f 124/256/108 125/261/108 136/257/108 -f 131/305/109 132/262/109 143/263/109 -f 154/267/2 155/264/2 157/266/2 -f 147/272/110 155/264/110 146/268/110 -f 147/306/5 151/269/5 155/264/5 -f 150/307/62 157/266/62 151/270/62 -f 146/308/13 154/267/13 150/271/13 -f 158/267/8 159/264/8 161/266/8 -f 148/268/111 149/272/111 158/267/111 -f 149/306/13 153/269/13 159/264/13 -f 152/307/62 161/266/62 153/270/62 -f 148/308/5 158/267/5 152/271/5 -f 170/267/13 171/264/13 173/266/13 -f 163/272/112 171/264/112 162/268/112 -f 163/306/2 167/269/2 171/264/2 -f 166/307/62 173/266/62 167/270/62 -f 162/308/8 170/267/8 166/271/8 -f 174/267/5 175/264/5 177/266/5 -f 164/268/113 165/272/113 174/267/113 -f 165/306/8 169/269/8 175/264/8 -f 168/307/62 177/266/62 169/270/62 -f 164/308/2 174/267/2 168/271/2 diff --git a/src/main/resources/assets/hbm/models/network/fluid_diode.obj b/src/main/resources/assets/hbm/models/network/fluid_diode.obj new file mode 100644 index 000000000..3347a2036 --- /dev/null +++ b/src/main/resources/assets/hbm/models/network/fluid_diode.obj @@ -0,0 +1,2189 @@ +# Blender 4.0.2 +# www.blender.org +mtllib Pump.mtl +o Cylinder +v -0.500000 0.500000 -0.250000 +v -0.500000 0.500000 -0.437500 +v -0.433013 0.250000 -0.250000 +v -0.433013 0.250000 -0.437500 +v -0.250000 0.066987 -0.250000 +v -0.250000 0.066987 -0.437500 +v 0.000000 0.000000 -0.250000 +v 0.000000 0.000000 -0.437500 +v 0.250000 0.066987 -0.250000 +v 0.250000 0.066987 -0.437500 +v 0.433013 0.250000 -0.250000 +v 0.433013 0.250000 -0.437500 +v 0.500000 0.500000 -0.250000 +v 0.500000 0.500000 -0.437500 +v 0.433013 0.750000 -0.250000 +v 0.433013 0.750000 -0.437500 +v 0.250000 0.933013 -0.250000 +v 0.250000 0.933013 -0.437500 +v -0.000000 1.000000 -0.250000 +v -0.000000 1.000000 -0.437500 +v -0.250000 0.933013 -0.250000 +v -0.250000 0.933013 -0.437500 +v -0.433013 0.750000 -0.250000 +v -0.433013 0.750000 -0.437500 +v -0.376977 0.282352 -0.187500 +v -0.435295 0.500000 -0.187500 +v -0.217648 0.123023 -0.187500 +v 0.000000 0.064705 -0.187500 +v 0.217648 0.123023 -0.187500 +v 0.376977 0.282352 -0.187500 +v 0.435295 0.500000 -0.187500 +v 0.376977 0.717648 -0.187500 +v 0.217648 0.876977 -0.187500 +v -0.000000 0.935295 -0.187500 +v -0.217648 0.876977 -0.187500 +v -0.376977 0.717648 -0.187500 +v -0.156652 0.409557 -0.312500 +v -0.180886 0.500000 -0.312500 +v -0.090443 0.343348 -0.312500 +v 0.000000 0.319114 -0.312500 +v 0.090443 0.343348 -0.312500 +v 0.156652 0.409557 -0.312500 +v 0.180886 0.500000 -0.312500 +v 0.156652 0.590443 -0.312500 +v 0.090443 0.656652 -0.312500 +v -0.000000 0.680886 -0.312500 +v -0.090443 0.656652 -0.312500 +v -0.156652 0.590443 -0.312500 +v -0.305886 0.500000 -0.250000 +v -0.370590 0.500000 -0.187500 +v -0.320941 0.314705 -0.187500 +v -0.264905 0.347057 -0.250000 +v -0.185295 0.179059 -0.187500 +v -0.152943 0.235095 -0.250000 +v 0.000000 0.129409 -0.187500 +v 0.000000 0.194114 -0.250000 +v 0.185295 0.179059 -0.187500 +v 0.152943 0.235095 -0.250000 +v 0.320941 0.314705 -0.187500 +v 0.264905 0.347057 -0.250000 +v 0.370591 0.500000 -0.187500 +v 0.305886 0.500000 -0.250000 +v 0.320941 0.685295 -0.187500 +v 0.264905 0.652943 -0.250000 +v 0.185295 0.820941 -0.187500 +v 0.152943 0.764905 -0.250000 +v -0.000000 0.870591 -0.187500 +v -0.000000 0.805886 -0.250000 +v -0.185295 0.820941 -0.187500 +v -0.152943 0.764905 -0.250000 +v -0.320941 0.685295 -0.187500 +v -0.264905 0.652943 -0.250000 +v -0.435295 0.500000 -0.500000 +v -0.376977 0.282352 -0.500000 +v -0.217648 0.123023 -0.500000 +v 0.000000 0.064705 -0.500000 +v 0.217648 0.123023 -0.500000 +v 0.376977 0.282352 -0.500000 +v 0.435295 0.500000 -0.500000 +v 0.376977 0.717648 -0.500000 +v 0.217648 0.876977 -0.500000 +v -0.000000 0.935295 -0.500000 +v -0.217648 0.876977 -0.500000 +v -0.376977 0.717648 -0.500000 +v -0.375000 0.500000 -0.500000 +v -0.310295 0.500000 -0.437500 +v -0.268724 0.344852 -0.437500 +v -0.324760 0.312500 -0.500000 +v -0.155148 0.231276 -0.437500 +v -0.187500 0.175240 -0.500000 +v 0.000000 0.189705 -0.437500 +v 0.000000 0.125000 -0.500000 +v 0.155148 0.231276 -0.437500 +v 0.187500 0.175241 -0.500000 +v 0.268724 0.344852 -0.437500 +v 0.324760 0.312500 -0.500000 +v 0.310295 0.500000 -0.437500 +v 0.375000 0.500000 -0.500000 +v 0.268724 0.655148 -0.437500 +v 0.324759 0.687500 -0.500000 +v 0.155148 0.768724 -0.437500 +v 0.187500 0.824759 -0.500000 +v -0.000000 0.810295 -0.437500 +v -0.000000 0.875000 -0.500000 +v -0.155148 0.768724 -0.437500 +v -0.187500 0.824759 -0.500000 +v -0.268724 0.655148 -0.437500 +v -0.324760 0.687500 -0.500000 +v -0.247795 0.500000 -0.437500 +v -0.183090 0.500000 -0.500000 +v -0.158561 0.408455 -0.500000 +v -0.214597 0.376102 -0.437500 +v -0.091545 0.341439 -0.500000 +v -0.123898 0.285403 -0.437500 +v 0.000000 0.316909 -0.500000 +v 0.000000 0.252205 -0.437500 +v 0.091545 0.341439 -0.500000 +v 0.123898 0.285403 -0.437500 +v 0.158561 0.408455 -0.500000 +v 0.214597 0.376102 -0.437500 +v 0.183090 0.500000 -0.500000 +v 0.247795 0.500000 -0.437500 +v 0.158561 0.591545 -0.500000 +v 0.214597 0.623898 -0.437500 +v 0.091545 0.658561 -0.500000 +v 0.123898 0.714597 -0.437500 +v -0.000000 0.683091 -0.500000 +v -0.000000 0.747795 -0.437500 +v -0.091545 0.658561 -0.500000 +v -0.123898 0.714597 -0.437500 +v -0.158561 0.591545 -0.500000 +v -0.214597 0.623898 -0.437500 +v -0.264905 0.347057 -0.312500 +v -0.305886 0.500000 -0.312500 +v -0.152943 0.235095 -0.312500 +v 0.000000 0.194114 -0.312500 +v 0.152943 0.235095 -0.312500 +v 0.264905 0.347057 -0.312500 +v 0.305886 0.500000 -0.312500 +v 0.264905 0.652943 -0.312500 +v 0.152943 0.764905 -0.312500 +v -0.000000 0.805886 -0.312500 +v -0.152943 0.764905 -0.312500 +v -0.264905 0.652943 -0.312500 +v 0.187500 0.500000 0.187500 +v 0.250000 0.500000 0.187500 +v 0.187500 0.500000 -0.312500 +v 0.250000 0.500000 -0.312500 +v 0.187500 0.562744 0.187500 +v 0.250000 0.562744 0.187500 +v 0.187500 0.562744 -0.312500 +v 0.250000 0.562744 -0.312500 +v 0.187500 0.437256 0.187500 +v 0.250000 0.437256 0.187500 +v 0.187500 0.437256 -0.312500 +v 0.250000 0.437256 -0.312500 +v -0.250000 0.500000 0.187500 +v -0.187500 0.500000 0.187500 +v -0.250000 0.500000 -0.312500 +v -0.187500 0.500000 -0.312500 +v -0.250000 0.562744 0.187500 +v -0.187500 0.562744 0.187500 +v -0.250000 0.562744 -0.312500 +v -0.187500 0.562744 -0.312500 +v -0.166667 0.625244 -0.312500 +v -0.229167 0.625244 -0.312500 +v -0.166667 0.625244 0.187500 +v -0.229167 0.625244 0.187500 +v -0.250000 0.437256 0.187500 +v -0.187500 0.437256 0.187500 +v -0.250000 0.437256 -0.312500 +v -0.187500 0.437256 -0.312500 +v -0.166667 0.374756 -0.312500 +v -0.229167 0.374756 -0.312500 +v -0.166667 0.374756 0.187500 +v -0.229167 0.374756 0.187500 +v 0.156250 0.374756 0.187500 +v 0.218750 0.374756 0.187500 +v 0.156250 0.374756 -0.312500 +v 0.218750 0.374756 -0.312500 +v 0.156250 0.625244 0.187500 +v 0.218750 0.625244 0.187500 +v 0.156250 0.625244 -0.312500 +v 0.218750 0.625244 -0.312500 +v -0.000000 0.718750 -0.312500 +v -0.000000 0.718750 0.187500 +v 0.154680 0.654680 -0.312500 +v 0.154680 0.654680 0.187500 +v 0.218750 0.500000 -0.312500 +v 0.218750 0.500000 0.187500 +v 0.154680 0.345320 -0.312500 +v 0.154680 0.345320 0.187500 +v -0.000000 0.281250 -0.312500 +v -0.000000 0.281250 0.187500 +v -0.154680 0.345320 -0.312500 +v -0.154680 0.345320 0.187500 +v -0.218750 0.500000 -0.312500 +v -0.218750 0.500000 0.187500 +v -0.154680 0.654680 -0.312500 +v -0.154680 0.654680 0.187500 +v -0.000000 0.750000 0.187500 +v 0.176777 0.676777 0.187500 +v 0.250000 0.500000 0.187500 +v 0.176777 0.323223 0.187500 +v 0.000000 0.250000 0.187500 +v -0.176777 0.323223 0.187500 +v -0.250000 0.500000 0.187500 +v -0.176777 0.676777 0.187500 +v -0.000000 0.750000 0.437500 +v 0.176777 0.676777 0.437500 +v 0.250000 0.500000 0.437500 +v 0.176777 0.323223 0.437500 +v -0.000000 0.250000 0.437500 +v -0.176777 0.323223 0.437500 +v -0.250000 0.500000 0.437500 +v -0.176777 0.676777 0.437500 +v 0.132583 0.632582 0.500000 +v 0.000000 0.687500 0.500000 +v 0.187500 0.500000 0.500000 +v 0.132583 0.367417 0.500000 +v 0.000000 0.312500 0.500000 +v -0.132583 0.367417 0.500000 +v -0.187500 0.500000 0.500000 +v -0.132583 0.632582 0.500000 +v -0.093750 0.625000 0.125000 +v -0.093750 0.625000 -0.187500 +v 0.093750 0.625000 0.125000 +v 0.093750 0.625000 -0.187500 +v -0.093750 0.750000 0.125000 +v -0.093750 0.812500 0.062500 +v -0.093750 0.812500 -0.125000 +v -0.093750 0.750000 -0.187500 +v 0.093750 0.812500 0.062500 +v 0.093750 0.750000 0.125000 +v 0.093750 0.750000 -0.187500 +v 0.093750 0.812500 -0.125000 +v 0.199334 0.300666 -0.312500 +v 0.199334 0.300666 0.187500 +v 0.265625 0.328125 -0.312500 +v 0.265625 0.328125 0.187500 +v 0.331916 0.300666 -0.312500 +v 0.331916 0.300666 0.187500 +v 0.359375 0.234375 -0.312500 +v 0.359375 0.234375 0.187500 +v 0.331916 0.168084 -0.312500 +v 0.331916 0.168084 0.187500 +v 0.265625 0.140625 -0.312500 +v 0.265625 0.140625 0.187500 +v 0.199334 0.168084 -0.312500 +v 0.199334 0.168084 0.187500 +v 0.171875 0.234375 -0.312500 +v 0.171875 0.234375 0.187500 +v 0.199334 0.300666 0.187500 +v 0.259938 0.333812 0.206916 +v 0.312500 0.320083 0.253791 +v 0.326229 0.267521 0.300666 +v 0.293084 0.206916 0.320083 +v 0.232479 0.173771 0.300666 +v 0.179918 0.187500 0.253791 +v 0.166188 0.240062 0.206916 +v 0.199334 0.300666 0.187500 +v 0.246209 0.347541 0.214959 +v 0.265625 0.366958 0.281250 +v 0.246209 0.347541 0.347541 +v 0.199334 0.300666 0.375000 +v 0.152459 0.253791 0.347541 +v 0.133042 0.234375 0.281250 +v 0.152459 0.253791 0.214959 +v 0.157820 0.435930 0.214959 +v 0.110945 0.389055 0.187500 +v 0.177237 0.455346 0.281250 +v 0.157820 0.435930 0.347541 +v 0.110945 0.389055 0.375000 +v 0.064070 0.342180 0.347541 +v 0.044654 0.322763 0.281250 +v 0.064070 0.342180 0.214959 +v -0.187500 0.062500 -0.375000 +v -0.187500 -0.000000 -0.437500 +v -0.187500 -0.000000 0.437500 +v -0.187500 0.062500 0.375000 +v -0.375000 0.000000 -0.437500 +v -0.375000 0.062500 -0.375000 +v -0.375000 0.062500 0.375000 +v -0.375000 0.000000 0.437500 +v 0.187500 0.000000 0.437500 +v 0.187500 0.062500 0.375000 +v 0.187500 0.062500 -0.375000 +v 0.187500 0.000000 -0.437500 +v 0.375000 0.062500 0.375000 +v 0.375000 -0.000000 0.437500 +v 0.375000 -0.000000 -0.437500 +v 0.375000 0.062500 -0.375000 +v 0.125000 0.625000 -0.000000 +v 0.125000 0.588388 0.088388 +v 0.125000 0.500000 0.125000 +v 0.125000 0.411612 0.088388 +v 0.125000 0.375000 -0.000000 +v 0.125000 0.411612 -0.088388 +v 0.125000 0.500000 -0.125000 +v 0.125000 0.588388 -0.088388 +v 0.437500 0.687500 0.000000 +v 0.375000 0.625000 0.000000 +v 0.437500 0.632583 0.132583 +v 0.375000 0.588388 0.088388 +v 0.437500 0.500000 0.187500 +v 0.375000 0.500000 0.125000 +v 0.437500 0.367418 0.132583 +v 0.375000 0.411612 0.088388 +v 0.437500 0.312500 0.000000 +v 0.375000 0.375000 0.000000 +v 0.437500 0.367418 -0.132582 +v 0.375000 0.411612 -0.088388 +v 0.437500 0.500000 -0.187500 +v 0.375000 0.500000 -0.125000 +v 0.437500 0.632583 -0.132582 +v 0.375000 0.588388 -0.088388 +v 0.500000 0.687500 0.000000 +v 0.500000 0.632583 0.132583 +v 0.500000 0.500000 0.187500 +v 0.500000 0.367418 0.132583 +v 0.500000 0.312500 0.000000 +v 0.500000 0.367418 -0.132582 +v 0.500000 0.500000 -0.187500 +v 0.500000 0.632583 -0.132582 +v 0.281250 0.018306 0.312500 +v 0.281250 0.018306 0.187500 +v 0.325444 0.062500 0.312500 +v 0.325444 0.062500 0.187500 +v 0.016085 0.283471 0.187500 +v 0.016085 0.283471 0.312500 +v 0.060279 0.327665 0.187500 +v 0.060279 0.327665 0.312500 +v 0.250000 0.062500 0.062500 +v 0.250000 0.187500 0.062500 +v 0.250000 0.062500 -0.062500 +v 0.250000 0.187500 -0.062500 +v 0.312500 0.062500 0.062500 +v 0.312500 0.187500 0.062500 +v 0.312500 0.062500 -0.062500 +v 0.312500 0.187500 -0.062500 +v -0.281250 0.018306 0.312500 +v -0.281250 0.018306 0.187500 +v -0.325444 0.062500 0.312500 +v -0.325444 0.062500 0.187500 +v -0.016085 0.283471 0.187500 +v -0.016085 0.283471 0.312500 +v -0.060279 0.327665 0.187500 +v -0.060279 0.327665 0.312500 +v -0.250000 0.062500 0.062500 +v -0.250000 0.187500 0.062500 +v -0.250000 0.062500 -0.062500 +v -0.250000 0.187500 -0.062500 +v -0.312500 0.062500 0.062500 +v -0.312500 0.187500 0.062500 +v -0.312500 0.062500 -0.062500 +v -0.312500 0.187500 -0.062500 +v -0.125000 0.625000 0.000000 +v -0.125000 0.588388 -0.088388 +v -0.125000 0.500000 -0.125000 +v -0.125000 0.411612 -0.088388 +v -0.125000 0.375000 0.000000 +v -0.125000 0.411612 0.088388 +v -0.125000 0.500000 0.125000 +v -0.125000 0.588388 0.088388 +v -0.437500 0.687500 -0.000000 +v -0.375000 0.625000 0.000000 +v -0.437500 0.632583 -0.132583 +v -0.375000 0.588388 -0.088388 +v -0.437500 0.500000 -0.187500 +v -0.375000 0.500000 -0.125000 +v -0.437500 0.367418 -0.132583 +v -0.375000 0.411612 -0.088388 +v -0.437500 0.312500 -0.000000 +v -0.375000 0.375000 0.000000 +v -0.437500 0.367418 0.132582 +v -0.375000 0.411612 0.088388 +v -0.437500 0.500000 0.187500 +v -0.375000 0.500000 0.125000 +v -0.437500 0.632583 0.132582 +v -0.375000 0.588388 0.088388 +v -0.500000 0.687500 -0.000000 +v -0.500000 0.632583 -0.132583 +v -0.500000 0.500000 -0.187500 +v -0.500000 0.367418 -0.132583 +v -0.500000 0.312500 -0.000000 +v -0.500000 0.367418 0.132582 +v -0.500000 0.500000 0.187500 +v -0.500000 0.632583 0.132582 +v -0.199334 0.300666 -0.312500 +v -0.199334 0.300666 0.187500 +v -0.171875 0.234375 -0.312500 +v -0.171875 0.234375 0.187500 +v -0.199334 0.168084 -0.312500 +v -0.199334 0.168084 0.187500 +v -0.265625 0.140625 -0.312500 +v -0.265625 0.140625 0.187500 +v -0.331916 0.168084 -0.312500 +v -0.331916 0.168084 0.187500 +v -0.359375 0.234375 -0.312500 +v -0.359375 0.234375 0.187500 +v -0.331916 0.300666 -0.312500 +v -0.331916 0.300666 0.187500 +v -0.265625 0.328125 -0.312500 +v -0.265625 0.328125 0.187500 +v -0.199334 0.300666 0.187500 +v -0.166188 0.240062 0.206916 +v -0.179917 0.187500 0.253791 +v -0.232479 0.173771 0.300666 +v -0.293084 0.206916 0.320083 +v -0.326229 0.267521 0.300666 +v -0.312500 0.320083 0.253791 +v -0.259938 0.333812 0.206916 +v -0.199334 0.300666 0.187500 +v -0.152459 0.253791 0.214959 +v -0.133042 0.234375 0.281250 +v -0.152459 0.253791 0.347541 +v -0.199334 0.300666 0.375000 +v -0.246209 0.347541 0.347541 +v -0.265625 0.366958 0.281250 +v -0.246209 0.347541 0.214959 +v -0.064070 0.342180 0.214959 +v -0.110945 0.389055 0.187500 +v -0.044654 0.322763 0.281250 +v -0.064070 0.342180 0.347541 +v -0.110945 0.389055 0.375000 +v -0.157820 0.435930 0.347541 +v -0.177237 0.455346 0.281250 +v -0.157820 0.435930 0.214959 +vn -0.8660 0.5000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.5000 -0.8660 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn 0.5000 -0.8660 -0.0000 +vn 0.8660 -0.5000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn 0.8660 0.5000 -0.0000 +vn 0.5000 0.8660 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.5000 0.8660 -0.0000 +vn -0.8660 -0.5000 -0.0000 +vn -0.6947 -0.0000 0.7193 +vn -0.6017 -0.3474 0.7193 +vn -0.6947 -0.0000 -0.7193 +vn -0.6017 -0.3474 -0.7193 +vn -0.3474 -0.6017 0.7193 +vn -0.3474 -0.6017 -0.7193 +vn -0.0000 -0.6947 0.7193 +vn -0.0000 -0.6947 -0.7193 +vn 0.3474 -0.6017 0.7193 +vn 0.3474 -0.6017 -0.7193 +vn 0.6017 -0.3474 0.7193 +vn 0.6017 -0.3474 -0.7193 +vn 0.6947 -0.0000 0.7193 +vn 0.6947 -0.0000 -0.7193 +vn 0.6017 0.3474 0.7193 +vn 0.6017 0.3474 -0.7193 +vn 0.3474 0.6017 0.7193 +vn 0.3474 0.6017 -0.7193 +vn -0.0000 0.6947 0.7193 +vn -0.0000 0.6947 -0.7193 +vn -0.3474 0.6017 0.7193 +vn -0.3474 0.6017 -0.7193 +vn -0.6017 0.3474 0.7193 +vn -0.6017 0.3474 -0.7193 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -0.0000 -1.0000 +vn 0.7071 0.7071 -0.0000 +vn 0.7071 -0.7071 -0.0000 +vn -0.7071 -0.7071 -0.0000 +vn -0.7071 0.7071 -0.0000 +vn -0.0000 0.7071 0.7071 +vn 0.5000 0.5000 0.7071 +vn -0.5000 0.5000 0.7071 +vn -0.5000 -0.5000 0.7071 +vn -0.7071 -0.0000 0.7071 +vn 0.5000 -0.5000 0.7071 +vn -0.0000 -0.7071 0.7071 +vn 0.7071 -0.0000 0.7071 +vn -0.0000 0.7071 -0.7071 +vn -0.7443 0.6676 -0.0183 +vn 0.0372 0.9900 -0.1363 +vn 0.7396 0.6727 0.0196 +vn 0.9891 -0.0283 0.1448 +vn 0.6947 -0.6947 0.1866 +vn 0.0283 -0.9891 0.1448 +vn -0.9900 -0.0372 -0.1363 +vn -0.7540 0.5786 -0.3109 +vn -0.6565 -0.7513 0.0671 +vn -0.6099 -0.4172 -0.6737 +vn -0.8620 -0.2090 -0.4617 +vn 0.2090 0.8620 -0.4617 +vn 0.7513 0.6565 0.0671 +vn 0.8431 0.0945 0.5294 +vn -0.6727 -0.7396 0.0196 +vn -0.0945 -0.8431 0.5294 +vn -0.6923 -0.7200 0.0473 +vn -0.3780 -0.5828 0.7194 +vn 0.7200 0.6923 0.0473 +vn 0.5828 0.3780 0.7194 +vn -0.3521 0.2915 -0.8894 +vn 0.4172 0.6099 -0.6737 +vn 0.1319 -0.1319 0.9824 +vn 0.5000 0.5000 -0.7071 +vn -0.5000 -0.5000 -0.7071 +vn -0.0000 -0.7071 -0.7071 +vn -0.7071 0.5000 0.5000 +vn -0.7071 -0.5000 0.5000 +vn -0.7071 -0.5000 -0.5000 +vn -0.7071 -0.0000 -0.7071 +vn -0.7071 0.5000 -0.5000 +vn 0.7071 0.5000 -0.5000 +vn 0.7071 -0.0000 -0.7071 +vn 0.7071 -0.5000 -0.5000 +vn 0.7071 -0.5000 0.5000 +vn 0.7071 0.5000 0.5000 +vn 0.7381 0.6747 -0.0000 +vn 0.9900 -0.0372 -0.1363 +vn -0.0283 -0.9891 0.1448 +vn -0.9891 -0.0283 0.1448 +vn -0.7396 0.6727 0.0196 +vn -0.0372 0.9900 -0.1363 +vn 0.7260 0.6130 -0.3116 +vn -0.7513 0.6565 0.0671 +vn -0.4172 0.6099 -0.6737 +vn -0.2090 0.8620 -0.4617 +vn 0.8620 -0.2090 -0.4617 +vn 0.6727 -0.7396 0.0196 +vn 0.0945 -0.8431 0.5294 +vn -0.8431 0.0945 0.5294 +vn -0.6947 -0.6947 0.1866 +vn 0.6565 -0.7513 0.0671 +vn -0.7200 0.6923 0.0473 +vn -0.5828 0.3780 0.7194 +vn 0.6923 -0.7200 0.0473 +vn 0.3780 -0.5828 0.7194 +vn 0.2914 0.3122 -0.9042 +vn 0.6099 -0.4172 -0.6737 +vn -0.1319 -0.1319 0.9824 +vn -0.5000 0.5000 -0.7071 +vn 0.5000 -0.5000 -0.7071 +vt 0.163636 0.709091 +vt 0.109091 0.781818 +vt 0.109091 0.709091 +vt 0.163636 0.927273 +vt 0.109091 1.000000 +vt 0.109091 0.927273 +vt 0.163636 0.127273 +vt 0.109091 0.200000 +vt 0.109091 0.127273 +vt 0.163636 0.200000 +vt 0.109091 0.272727 +vt 0.163636 0.272727 +vt 0.109091 0.345455 +vt 0.163636 0.345455 +vt 0.109091 0.418182 +vt 0.163636 0.418182 +vt 0.109091 0.490909 +vt 0.163636 0.490909 +vt 0.109091 0.563636 +vt 0.163636 0.563636 +vt 0.109091 0.636364 +vt 0.163636 0.636364 +vt 0.163636 0.854545 +vt 0.109091 0.854545 +vt 0.163636 0.781818 +vt 0.109091 0.781818 +vt 0.090909 0.849840 +vt 0.090909 0.786524 +vt 0.163636 0.781818 +vt 0.181818 0.849840 +vt 0.163636 0.854545 +vt 0.109091 0.927273 +vt 0.090909 0.859251 +vt 0.109091 0.854545 +vt 0.163636 0.854545 +vt 0.181818 0.922567 +vt 0.163636 0.927273 +vt 0.109091 1.000000 +vt 0.090909 0.931978 +vt 0.109091 0.927273 +vt 0.163636 0.927273 +vt 0.181818 0.995294 +vt 0.163636 1.000000 +vt 0.090909 0.131979 +vt 0.181818 0.195294 +vt 0.090909 0.204706 +vt 0.109091 0.200000 +vt 0.163636 0.200000 +vt 0.181818 0.268021 +vt 0.109091 0.272727 +vt 0.090909 0.340749 +vt 0.090909 0.277433 +vt 0.163636 0.272727 +vt 0.181818 0.340749 +vt 0.090909 0.350160 +vt 0.109091 0.345455 +vt 0.163636 0.345455 +vt 0.181818 0.413476 +vt 0.109091 0.490909 +vt 0.090909 0.422888 +vt 0.109091 0.418182 +vt 0.163636 0.418182 +vt 0.181818 0.486203 +vt 0.163636 0.490909 +vt 0.090909 0.495615 +vt 0.109091 0.490909 +vt 0.181818 0.495615 +vt 0.181818 0.558930 +vt 0.090909 0.568342 +vt 0.109091 0.563636 +vt 0.163636 0.563636 +vt 0.181818 0.631658 +vt 0.090909 0.641069 +vt 0.109091 0.636364 +vt 0.163636 0.636364 +vt 0.181818 0.704385 +vt 0.109091 0.781818 +vt 0.090909 0.713797 +vt 0.109091 0.709091 +vt 0.163636 0.709091 +vt 0.181818 0.777112 +vt 0.163636 0.781818 +vt 0.054545 0.550000 +vt 0.036364 0.504545 +vt 0.054545 0.504545 +vt 0.054545 0.768182 +vt 0.036364 0.722727 +vt 0.054545 0.722727 +vt 0.054545 0.986364 +vt 0.036364 0.940909 +vt 0.054545 0.940909 +vt 0.054545 0.186364 +vt 0.036364 0.140909 +vt 0.054545 0.140909 +vt 0.054545 0.259091 +vt 0.036364 0.213636 +vt 0.054545 0.213636 +vt 0.054545 0.331818 +vt 0.036364 0.286364 +vt 0.054545 0.286364 +vt 0.054545 0.404545 +vt 0.036364 0.359091 +vt 0.054545 0.359091 +vt 0.072727 0.427273 +vt 0.090909 0.486203 +vt 0.072727 0.481818 +vt 0.054545 0.477273 +vt 0.036364 0.431818 +vt 0.054545 0.431818 +vt 0.054545 0.622727 +vt 0.036364 0.577273 +vt 0.054545 0.577273 +vt 0.054545 0.695454 +vt 0.036364 0.650000 +vt 0.054545 0.650000 +vt 0.072727 0.790909 +vt 0.090909 0.849840 +vt 0.072727 0.845455 +vt 0.072727 0.209091 +vt 0.090909 0.268022 +vt 0.072727 0.263636 +vt 0.054545 0.913636 +vt 0.036364 0.868182 +vt 0.054545 0.868182 +vt 0.072727 0.863636 +vt 0.090909 0.922567 +vt 0.072727 0.918182 +vt 0.072727 0.554546 +vt 0.090909 0.495615 +vt 0.090909 0.558931 +vt 0.072727 0.336364 +vt 0.090909 0.277433 +vt 0.090909 0.340749 +vt 0.072727 0.990909 +vt 0.090909 0.931978 +vt 0.090909 0.995294 +vt 0.072727 0.572727 +vt 0.090909 0.631658 +vt 0.072727 0.627273 +vt 0.072727 0.354545 +vt 0.090909 0.413476 +vt 0.072727 0.409091 +vt 0.072727 0.136363 +vt 0.090909 0.195294 +vt 0.072727 0.190909 +vt 0.072727 0.700000 +vt 0.090909 0.641069 +vt 0.090909 0.704385 +vt 0.072727 0.772727 +vt 0.090909 0.713796 +vt 0.090909 0.777112 +vt 0.054545 0.795615 +vt 0.072727 0.845454 +vt 0.054545 0.840749 +vt 0.054545 0.868342 +vt 0.072727 0.918182 +vt 0.054545 0.913476 +vt 0.054545 0.941069 +vt 0.072727 0.990909 +vt 0.054545 0.986203 +vt 0.054545 0.141069 +vt 0.072727 0.190909 +vt 0.054545 0.186203 +vt 0.054545 0.213797 +vt 0.072727 0.263636 +vt 0.054545 0.258931 +vt 0.054545 0.286524 +vt 0.072727 0.336364 +vt 0.054545 0.331658 +vt 0.054545 0.359251 +vt 0.072727 0.409091 +vt 0.054545 0.404385 +vt 0.054545 0.431978 +vt 0.072727 0.481818 +vt 0.054545 0.477112 +vt 0.054545 0.504706 +vt 0.072727 0.554545 +vt 0.054545 0.549840 +vt 0.054545 0.577433 +vt 0.072727 0.627273 +vt 0.054545 0.622567 +vt 0.054545 0.650160 +vt 0.072727 0.700000 +vt 0.054545 0.695294 +vt 0.054545 0.722887 +vt 0.072727 0.772727 +vt 0.054545 0.768021 +vt 0.054545 0.840909 +vt 0.036364 0.795454 +vt 0.054545 0.795454 +vt 0.200000 0.263636 +vt 0.181818 0.204706 +vt 0.200000 0.209091 +vt 0.200000 0.772727 +vt 0.181818 0.713796 +vt 0.200000 0.718182 +vt 0.200000 0.918182 +vt 0.181818 0.859251 +vt 0.200000 0.863636 +vt 0.200000 0.554546 +vt 0.181818 0.495615 +vt 0.200000 0.500000 +vt 0.200000 0.336364 +vt 0.181818 0.277433 +vt 0.200000 0.281818 +vt 0.200000 0.990909 +vt 0.181818 0.931978 +vt 0.200000 0.936363 +vt 0.200000 0.572727 +vt 0.181818 0.631658 +vt 0.181818 0.568342 +vt 0.200000 0.354545 +vt 0.181818 0.413476 +vt 0.181818 0.350160 +vt 0.200000 0.190909 +vt 0.181818 0.131978 +vt 0.200000 0.136363 +vt 0.200000 0.700000 +vt 0.181818 0.641069 +vt 0.200000 0.645454 +vt 0.200000 0.790909 +vt 0.181818 0.849840 +vt 0.181818 0.786524 +vt 0.200000 0.481818 +vt 0.181818 0.422887 +vt 0.200000 0.427273 +vt 0.236364 0.800032 +vt 0.218182 0.840909 +vt 0.218182 0.795455 +vt 0.236364 0.909058 +vt 0.218182 0.868182 +vt 0.236364 0.872760 +vt 0.236364 0.981786 +vt 0.218182 0.940909 +vt 0.236364 0.945487 +vt 0.236364 0.145487 +vt 0.218182 0.186364 +vt 0.218182 0.140909 +vt 0.236364 0.218214 +vt 0.218182 0.259091 +vt 0.218182 0.213636 +vt 0.236364 0.327240 +vt 0.218182 0.286364 +vt 0.236364 0.290941 +vt 0.236364 0.363669 +vt 0.218182 0.404545 +vt 0.218182 0.359091 +vt 0.236364 0.472695 +vt 0.218182 0.431818 +vt 0.236364 0.436396 +vt 0.236364 0.509123 +vt 0.218182 0.550000 +vt 0.218182 0.504545 +vt 0.236364 0.618149 +vt 0.218182 0.577273 +vt 0.236364 0.581851 +vt 0.236364 0.690877 +vt 0.218182 0.650000 +vt 0.236364 0.654578 +vt 0.236364 0.763604 +vt 0.218182 0.722727 +vt 0.236364 0.727305 +vt 0.027273 0.101783 +vt 0.109091 0.054545 +vt 0.027273 0.007308 +vt 0.218182 0.840749 +vt 0.200000 0.790909 +vt 0.218182 0.795615 +vt 0.218182 0.913476 +vt 0.200000 0.863636 +vt 0.218182 0.868342 +vt 0.218182 0.986203 +vt 0.200000 0.936364 +vt 0.218182 0.941069 +vt 0.218182 0.186203 +vt 0.200000 0.136364 +vt 0.218182 0.141069 +vt 0.218182 0.258931 +vt 0.200000 0.209091 +vt 0.218182 0.213797 +vt 0.218182 0.331658 +vt 0.200000 0.281818 +vt 0.218182 0.286524 +vt 0.218182 0.404385 +vt 0.200000 0.354545 +vt 0.218182 0.359251 +vt 0.218182 0.477112 +vt 0.200000 0.427273 +vt 0.218182 0.431978 +vt 0.218182 0.549840 +vt 0.200000 0.500000 +vt 0.218182 0.504706 +vt 0.218182 0.622567 +vt 0.200000 0.572727 +vt 0.218182 0.577433 +vt 0.218182 0.695294 +vt 0.200000 0.645454 +vt 0.218182 0.650160 +vt 0.218182 0.768021 +vt 0.200000 0.718182 +vt 0.218182 0.722887 +vt 0.254545 0.804748 +vt 0.236364 0.836364 +vt 0.236364 0.800000 +vt 0.254545 0.904343 +vt 0.236364 0.872727 +vt 0.254545 0.877475 +vt 0.254545 0.977071 +vt 0.236364 0.945454 +vt 0.254545 0.950202 +vt 0.254545 0.177071 +vt 0.236364 0.145455 +vt 0.254545 0.150202 +vt 0.254545 0.249798 +vt 0.236364 0.218182 +vt 0.254545 0.222929 +vt 0.254545 0.322525 +vt 0.236364 0.290909 +vt 0.254545 0.295657 +vt 0.254545 0.395252 +vt 0.236364 0.363636 +vt 0.254545 0.368384 +vt 0.254545 0.467980 +vt 0.236364 0.436364 +vt 0.254545 0.441111 +vt 0.254545 0.540707 +vt 0.236364 0.509091 +vt 0.254545 0.513838 +vt 0.254545 0.586566 +vt 0.236364 0.618182 +vt 0.236364 0.581818 +vt 0.254545 0.686161 +vt 0.236364 0.654545 +vt 0.254545 0.659293 +vt 0.254545 0.758889 +vt 0.236364 0.727273 +vt 0.254545 0.732020 +vt 0.000000 0.807430 +vt 0.036364 0.836364 +vt 0.000000 0.828934 +vt 0.000000 0.880157 +vt 0.036364 0.909091 +vt 0.000000 0.901661 +vt 0.000000 0.974388 +vt 0.036364 0.945454 +vt 0.036364 0.981818 +vt 0.000000 0.152885 +vt 0.036364 0.181818 +vt 0.000000 0.174388 +vt 0.000000 0.225612 +vt 0.036364 0.254545 +vt 0.000000 0.247115 +vt 0.000000 0.319843 +vt 0.036364 0.290909 +vt 0.036364 0.327273 +vt 0.000000 0.371066 +vt 0.036364 0.400000 +vt 0.000000 0.392570 +vt 0.000000 0.443794 +vt 0.036364 0.472727 +vt 0.000000 0.465297 +vt 0.000000 0.516521 +vt 0.036364 0.545455 +vt 0.000000 0.538024 +vt 0.000000 0.589248 +vt 0.036364 0.618182 +vt 0.000000 0.610752 +vt 0.000000 0.661975 +vt 0.036364 0.690909 +vt 0.000000 0.683479 +vt 0.000000 0.756206 +vt 0.036364 0.727273 +vt 0.036364 0.763636 +vt 0.418182 0.472727 +vt 0.272727 0.454545 +vt 0.418182 0.454545 +vt 0.418182 0.509091 +vt 0.272727 0.490909 +vt 0.418182 0.490909 +vt 0.418182 0.436364 +vt 0.272727 0.418182 +vt 0.418182 0.418182 +vt 0.272727 0.272727 +vt 0.418182 0.290909 +vt 0.272727 0.290909 +vt 0.272727 0.309091 +vt 0.418182 0.327273 +vt 0.272727 0.327273 +vt 0.272727 0.345455 +vt 0.418182 0.363636 +vt 0.272727 0.363636 +vt 0.272727 0.236364 +vt 0.418182 0.254545 +vt 0.272727 0.254545 +vt 0.272727 0.200000 +vt 0.418182 0.218182 +vt 0.272727 0.218182 +vt 0.418182 0.400000 +vt 0.272727 0.381818 +vt 0.418182 0.381818 +vt 0.418182 0.545455 +vt 0.272727 0.527273 +vt 0.418182 0.527273 +vt 0.272727 0.781818 +vt 0.418182 0.727273 +vt 0.418182 0.781818 +vt 0.272727 0.727273 +vt 0.418182 0.672727 +vt 0.272727 0.672727 +vt 0.418182 0.618182 +vt 0.272727 0.618182 +vt 0.418182 0.563636 +vt 0.272727 1.000000 +vt 0.418182 0.945455 +vt 0.418182 1.000000 +vt 0.272727 0.945455 +vt 0.418182 0.890909 +vt 0.272727 0.836364 +vt 0.418182 0.836364 +vt 0.527273 0.309091 +vt 0.454545 0.254545 +vt 0.527273 0.254545 +vt 0.454545 0.145455 +vt 0.527273 0.090909 +vt 0.527273 0.145455 +vt 0.454545 0.090909 +vt 0.527273 0.036364 +vt 0.454545 0.472727 +vt 0.527273 0.418182 +vt 0.527273 0.472727 +vt 0.454545 0.363636 +vt 0.527273 0.363636 +vt 0.454545 0.309091 +vt 0.527273 0.200000 +vt 0.454545 0.200000 +vt 0.669608 0.348574 +vt 0.566756 0.348574 +vt 0.566756 0.451426 +vt 0.454545 0.254545 +vt 0.436364 0.206818 +vt 0.454545 0.200000 +vt 0.400000 0.127273 +vt 0.345455 0.072727 +vt 0.290909 0.127273 +vt 0.454545 0.309091 +vt 0.436364 0.261364 +vt 0.454545 0.418182 +vt 0.436364 0.370455 +vt 0.454545 0.363636 +vt 0.436364 0.043182 +vt 0.454545 0.036364 +vt 0.436364 0.152273 +vt 0.436364 0.315909 +vt 0.454545 0.472727 +vt 0.436364 0.425000 +vt 0.436364 0.138636 +vt 0.436364 0.097727 +vt 0.254545 0.109091 +vt 0.200000 0.054545 +vt 0.254545 0.054545 +vt 0.272727 0.036364 +vt 0.181818 0.000000 +vt 0.418182 0.036364 +vt 0.345455 0.054545 +vt 0.327273 0.000000 +vt 0.327273 0.036364 +vt 0.272727 0.000000 +vt 0.272727 0.054545 +vt 0.327273 0.054545 +vt 0.127273 0.054545 +vt 0.181818 0.036364 +vt 0.181818 0.054545 +vt 0.127273 -0.000000 +vt 0.800000 0.890909 +vt 0.781818 0.745455 +vt 0.800000 0.745455 +vt 0.781818 0.890909 +vt 0.763636 0.745455 +vt 0.763636 0.890909 +vt 0.745455 0.745455 +vt 0.745455 0.890909 +vt 0.727273 0.745455 +vt 0.727273 0.890909 +vt 0.709091 0.745455 +vt 0.709091 0.890909 +vt 0.690909 0.745455 +vt 0.672725 0.906324 +vt 0.654546 0.909110 +vt 0.654544 0.909090 +vt 0.672727 0.890909 +vt 0.672727 0.745455 +vt 0.654545 0.890909 +vt 0.654545 0.745455 +vt 0.690910 0.936010 +vt 0.672729 0.948222 +vt 0.672729 0.942689 +vt 0.799998 0.909091 +vt 0.781817 0.911857 +vt 0.781817 0.906324 +vt 0.745453 0.892967 +vt 0.763635 0.918536 +vt 0.745453 0.925215 +vt 0.709090 0.892966 +vt 0.690908 0.918536 +vt 0.690908 0.899645 +vt 0.727271 0.890909 +vt 0.727271 0.927273 +vt 0.672725 0.911857 +vt 0.763635 0.899646 +vt 0.727273 0.890908 +vt 0.709090 0.925215 +vt 0.690909 0.963636 +vt 0.709091 1.000000 +vt 0.690909 1.000000 +vt 0.727273 0.927274 +vt 0.709091 0.961579 +vt 0.709091 0.929332 +vt 0.745453 0.929330 +vt 0.763635 0.954900 +vt 0.745453 0.961578 +vt 0.781817 0.942688 +vt 0.799998 0.945455 +vt 0.781817 0.948221 +vt 0.654549 0.945455 +vt 0.654544 0.945437 +vt 0.690910 0.954900 +vt 0.727271 0.963636 +vt 0.727271 0.927273 +vt 0.763635 0.936009 +vt 0.727273 0.963636 +vt 0.745455 1.000000 +vt 0.727273 1.000000 +vt 0.763636 0.963636 +vt 0.781818 1.000000 +vt 0.763636 1.000000 +vt 0.672727 1.000000 +vt 0.672727 0.963636 +vt 0.709091 0.963636 +vt 0.745455 0.963636 +vt 0.800000 0.963636 +vt 0.781818 0.963636 +vt 0.654545 1.000000 +vt 0.654545 0.963636 +vt 0.618182 0.763636 +vt 0.636364 1.000000 +vt 0.618182 0.981818 +vt 0.563636 0.763636 +vt 0.618182 0.745455 +vt 0.563636 1.000000 +vt 0.563636 0.981818 +vt 0.563636 0.490909 +vt 0.618182 0.490909 +vt 0.545455 0.745455 +vt 0.545455 1.000000 +vt 0.436364 0.745455 +vt 0.454545 0.981818 +vt 0.436364 1.000000 +vt 0.509091 0.763636 +vt 0.509091 0.981818 +vt 0.509091 0.745455 +vt 0.454545 0.490909 +vt 0.509091 0.490909 +vt 0.454545 1.000000 +vt 0.454545 0.745455 +vt 0.527273 1.000000 +vt 0.763636 0.563636 +vt 0.736364 0.490909 +vt 0.763636 0.490909 +vt 0.736364 0.563636 +vt 0.709091 0.490909 +vt 0.681818 0.563636 +vt 0.681818 0.490909 +vt 0.654545 0.490909 +vt 0.872727 0.490909 +vt 0.845455 0.563636 +vt 0.845455 0.490909 +vt 0.818182 0.563636 +vt 0.818182 0.490909 +vt 0.790909 0.490909 +vt 0.790909 0.563636 +vt 0.800000 0.581818 +vt 0.769697 0.600000 +vt 0.763636 0.581818 +vt 0.733333 0.600000 +vt 0.727273 0.581818 +vt 0.721212 0.600000 +vt 0.690909 0.581818 +vt 0.684848 0.600000 +vt 0.654545 0.581818 +vt 0.939394 0.600000 +vt 0.909091 0.581818 +vt 0.945455 0.581818 +vt 0.878788 0.600000 +vt 0.872727 0.581818 +vt 0.842424 0.600000 +vt 0.836364 0.581818 +vt 0.806061 0.600000 +vt 0.690909 0.563636 +vt 0.872727 0.563636 +vt 0.727273 0.563636 +vt 0.763636 0.563636 +vt 0.909091 0.563636 +vt 0.945455 0.563636 +vt 0.836364 0.563636 +vt 0.800000 0.563636 +vt 0.802206 0.379612 +vt 0.725067 0.379612 +vt 0.725067 0.456751 +vt 0.600000 0.218182 +vt 0.563636 0.109091 +vt 0.600000 0.109091 +vt 0.654545 0.218182 +vt 0.618182 0.109091 +vt 0.654545 0.109091 +vt 0.563636 0.218182 +vt 0.545455 0.109091 +vt 0.654545 0.309091 +vt 0.618182 0.272727 +vt 0.654545 0.272727 +vt 0.618182 0.309091 +vt 0.600000 0.272727 +vt 0.600000 0.309091 +vt 0.563636 0.272727 +vt 0.563636 0.309091 +vt 0.545455 0.272727 +vt 0.563636 0.000000 +vt 0.600000 0.000000 +vt 0.618182 0.000000 +vt 0.654545 0.000000 +vt 0.545455 0.000000 +vt 0.618182 0.236364 +vt 0.654545 0.236364 +vt 0.600000 0.236364 +vt 0.563636 0.236364 +vt 0.545455 0.236364 +vt 0.763636 0.690909 +vt 0.736364 0.618182 +vt 0.763636 0.618182 +vt 0.736364 0.690909 +vt 0.709091 0.618182 +vt 0.709091 0.690909 +vt 0.681818 0.618182 +vt 0.681818 0.690909 +vt 0.654545 0.618182 +vt 0.872727 0.618182 +vt 0.845455 0.690909 +vt 0.845455 0.618182 +vt 0.818182 0.618182 +vt 0.818182 0.690909 +vt 0.790909 0.618182 +vt 0.790909 0.690909 +vt 0.800000 0.709091 +vt 0.769697 0.727273 +vt 0.763636 0.709091 +vt 0.733333 0.727273 +vt 0.727273 0.709091 +vt 0.721212 0.727273 +vt 0.690909 0.709091 +vt 0.684848 0.727273 +vt 0.654545 0.709091 +vt 0.939394 0.727273 +vt 0.909091 0.709091 +vt 0.945455 0.709091 +vt 0.903030 0.727273 +vt 0.872727 0.709091 +vt 0.842424 0.727273 +vt 0.836364 0.709091 +vt 0.806061 0.727273 +vt 0.690909 0.690909 +vt 0.872727 0.690909 +vt 0.763636 0.690909 +vt 0.945455 0.690909 +vt 0.800000 0.690909 +vt 0.836364 0.690909 +vt 0.727273 0.690909 +vt 0.909091 0.690909 +vt 0.929479 0.379612 +vt 0.852340 0.379612 +vt 0.852340 0.456751 +vt 0.963636 0.890909 +vt 0.945455 0.745455 +vt 0.963636 0.745455 +vt 0.945455 0.890909 +vt 0.927273 0.745455 +vt 0.909091 0.890909 +vt 0.909091 0.745455 +vt 0.890909 0.745455 +vt 0.872727 0.890909 +vt 0.872727 0.745455 +vt 0.854545 0.890909 +vt 0.854545 0.745455 +vt 0.836362 0.906324 +vt 0.818183 0.909110 +vt 0.818180 0.909090 +vt 0.836364 0.745455 +vt 0.836364 0.890909 +vt 0.818182 0.745455 +vt 0.854547 0.936010 +vt 0.836365 0.948222 +vt 0.836365 0.942689 +vt 0.945453 0.906324 +vt 0.963637 0.909110 +vt 0.945453 0.911857 +vt 0.927271 0.899646 +vt 0.909090 0.925215 +vt 0.909090 0.892967 +vt 0.854544 0.899645 +vt 0.872727 0.925215 +vt 0.854544 0.918536 +vt 0.890908 0.927273 +vt 0.890908 0.890909 +vt 0.836362 0.911857 +vt 0.927271 0.918536 +vt 0.890909 0.890908 +vt 0.872727 0.892966 +vt 0.854545 0.963636 +vt 0.872727 1.000000 +vt 0.854545 1.000000 +vt 0.890909 0.927274 +vt 0.872728 0.961579 +vt 0.872728 0.929332 +vt 0.909090 0.929330 +vt 0.927271 0.954900 +vt 0.909090 0.961578 +vt 0.945453 0.942688 +vt 0.963634 0.945455 +vt 0.945453 0.948221 +vt 0.818185 0.945455 +vt 0.818180 0.945437 +vt 0.854547 0.954900 +vt 0.890908 0.963636 +vt 0.890908 0.927273 +vt 0.927271 0.936009 +vt 0.890909 0.963636 +vt 0.909091 1.000000 +vt 0.890909 1.000000 +vt 0.945455 0.963636 +vt 0.927273 1.000000 +vt 0.927273 0.963636 +vt 0.836364 1.000000 +vt 0.836364 0.963636 +vt 0.872727 0.963636 +vt 0.909091 0.963636 +vt 0.963636 0.963636 +vt 0.945455 1.000000 +vt 0.818182 1.000000 +vt 0.818182 0.963636 +vt 0.163636 1.000000 +vt 0.109091 0.854545 +vt 0.181818 0.786524 +vt 0.090909 0.922567 +vt 0.181818 0.859251 +vt 0.090909 0.995294 +vt 0.181818 0.931978 +vt 0.090909 0.195294 +vt 0.181818 0.131979 +vt 0.090909 0.268021 +vt 0.181818 0.204706 +vt 0.181818 0.277433 +vt 0.090909 0.413476 +vt 0.181818 0.350160 +vt 0.090909 0.486203 +vt 0.181818 0.422888 +vt 0.090909 0.558930 +vt 0.163636 0.490909 +vt 0.090909 0.631658 +vt 0.181818 0.568342 +vt 0.090909 0.704385 +vt 0.181818 0.641069 +vt 0.090909 0.777112 +vt 0.181818 0.713797 +vt 0.036364 0.550000 +vt 0.036364 0.768182 +vt 0.036364 0.986364 +vt 0.036364 0.186364 +vt 0.036364 0.259091 +vt 0.036364 0.331818 +vt 0.036364 0.404545 +vt 0.090909 0.422887 +vt 0.036364 0.477273 +vt 0.036364 0.622727 +vt 0.036364 0.695454 +vt 0.090909 0.786524 +vt 0.090909 0.204706 +vt 0.036364 0.913636 +vt 0.090909 0.859251 +vt 0.072727 0.500000 +vt 0.072727 0.281818 +vt 0.072727 0.936363 +vt 0.090909 0.568342 +vt 0.090909 0.350160 +vt 0.090909 0.131978 +vt 0.072727 0.645454 +vt 0.072727 0.718182 +vt 0.072727 0.790909 +vt 0.072727 0.863636 +vt 0.072727 0.936364 +vt 0.072727 0.136364 +vt 0.072727 0.209091 +vt 0.072727 0.281818 +vt 0.072727 0.354545 +vt 0.072727 0.427273 +vt 0.072727 0.500000 +vt 0.072727 0.572727 +vt 0.072727 0.645454 +vt 0.072727 0.718182 +vt 0.036364 0.840909 +vt 0.181818 0.268022 +vt 0.181818 0.777112 +vt 0.181818 0.922567 +vt 0.181818 0.558931 +vt 0.181818 0.340749 +vt 0.181818 0.995294 +vt 0.200000 0.627273 +vt 0.200000 0.409091 +vt 0.181818 0.195294 +vt 0.181818 0.704385 +vt 0.200000 0.845455 +vt 0.181818 0.486203 +vt 0.236364 0.836331 +vt 0.218182 0.913636 +vt 0.218182 0.986364 +vt 0.236364 0.181786 +vt 0.236364 0.254513 +vt 0.218182 0.331818 +vt 0.236364 0.399968 +vt 0.218182 0.477273 +vt 0.236364 0.545422 +vt 0.218182 0.622727 +vt 0.218182 0.695454 +vt 0.218182 0.768182 +vt 0.007308 0.027273 +vt 0.000000 0.054545 +vt 0.007308 0.081818 +vt 0.054545 0.109091 +vt 0.081818 0.101783 +vt 0.101783 0.081818 +vt 0.101783 0.027273 +vt 0.081818 0.007308 +vt 0.054546 0.000000 +vt 0.200000 0.845454 +vt 0.200000 0.918182 +vt 0.200000 0.990909 +vt 0.200000 0.190909 +vt 0.200000 0.263636 +vt 0.200000 0.336364 +vt 0.200000 0.481818 +vt 0.200000 0.554545 +vt 0.200000 0.627273 +vt 0.200000 0.700000 +vt 0.200000 0.772727 +vt 0.254545 0.831616 +vt 0.236364 0.909091 +vt 0.236364 0.981818 +vt 0.236364 0.181818 +vt 0.236364 0.254545 +vt 0.236364 0.327273 +vt 0.236364 0.400000 +vt 0.236364 0.472727 +vt 0.236364 0.545455 +vt 0.254545 0.613434 +vt 0.236364 0.690909 +vt 0.236364 0.763636 +vt 0.036364 0.800000 +vt 0.036364 0.872727 +vt 0.000000 0.952884 +vt 0.036364 0.145455 +vt 0.036364 0.218182 +vt 0.000000 0.298339 +vt 0.036364 0.363636 +vt 0.036364 0.436364 +vt 0.036364 0.509091 +vt 0.036364 0.581818 +vt 0.036364 0.654545 +vt 0.000000 0.734703 +vt 0.272727 0.472727 +vt 0.272727 0.509091 +vt 0.272727 0.436364 +vt 0.418182 0.272727 +vt 0.418182 0.309091 +vt 0.418182 0.345455 +vt 0.418182 0.236364 +vt 0.418182 0.200000 +vt 0.272727 0.400000 +vt 0.272727 0.545455 +vt 0.272727 0.563636 +vt 0.272727 0.890909 +vt 0.454545 0.418182 +vt 0.618182 0.472727 +vt 0.669608 0.451426 +vt 0.690909 0.400000 +vt 0.618182 0.327273 +vt 0.545455 0.400000 +vt 0.436364 0.247727 +vt 0.306885 0.165842 +vt 0.345455 0.181818 +vt 0.384024 0.165842 +vt 0.384024 0.088703 +vt 0.306885 0.088703 +vt 0.436364 0.302273 +vt 0.436364 0.411364 +vt 0.436364 0.084091 +vt 0.436364 0.193182 +vt 0.436364 0.356818 +vt 0.436364 0.465909 +vt 0.200000 0.109091 +vt 0.418182 0.000000 +vt 0.400000 0.054545 +vt 0.127273 0.036364 +vt 0.690909 0.890909 +vt 0.800000 0.909110 +vt 0.727273 0.927273 +vt 0.727273 0.963636 +vt 0.800000 0.945436 +vt 0.800000 1.000000 +vt 0.636364 0.745455 +vt 0.563636 0.745455 +vt 0.618182 1.000000 +vt 0.454545 0.763636 +vt 0.509091 1.000000 +vt 0.527273 0.745455 +vt 0.709091 0.563636 +vt 0.654545 0.563636 +vt 0.872727 0.563636 +vt 0.793939 0.600000 +vt 0.757576 0.600000 +vt 0.696970 0.600000 +vt 0.660606 0.600000 +vt 0.915152 0.600000 +vt 0.903030 0.600000 +vt 0.866667 0.600000 +vt 0.830303 0.600000 +vt 0.763636 0.472727 +vt 0.802206 0.456751 +vt 0.818182 0.418182 +vt 0.763636 0.363636 +vt 0.709091 0.418182 +vt 0.618182 0.218182 +vt 0.545455 0.218182 +vt 0.545455 0.309091 +vt 0.654545 0.690909 +vt 0.872727 0.690909 +vt 0.793939 0.727273 +vt 0.757576 0.727273 +vt 0.696970 0.727273 +vt 0.660606 0.727273 +vt 0.915152 0.727273 +vt 0.878788 0.727273 +vt 0.866667 0.727273 +vt 0.830303 0.727273 +vt 0.890909 0.472727 +vt 0.929479 0.456751 +vt 0.945454 0.418182 +vt 0.890909 0.363636 +vt 0.836364 0.418182 +vt 0.927273 0.890909 +vt 0.890909 0.890909 +vt 0.818182 0.890909 +vt 0.963634 0.909091 +vt 0.890909 0.927273 +vt 0.890909 0.963636 +vt 0.963637 0.945436 +vt 0.963636 1.000000 +s 1 +usemtl Texture +f 24/1/1 1/2/2 23/3/1 +f 6/4/3 7/5/4 5/6/3 +f 8/7/4 9/8/5 7/9/4 +f 10/10/5 11/11/6 9/8/5 +f 12/12/6 13/13/7 11/11/6 +f 14/14/7 15/15/8 13/13/7 +f 16/16/8 17/17/9 15/15/8 +f 18/18/9 19/19/10 17/17/9 +f 20/20/10 21/21/11 19/19/10 +f 22/22/11 23/3/1 21/21/11 +f 4/23/12 5/6/3 3/24/12 +f 2/25/2 3/24/12 1/2/2 +f 1/26/13 25/27/14 26/28/13 +f 2/29/15 74/30/16 4/31/16 +f 5/32/17 25/33/14 3/34/14 +f 4/35/16 75/36/18 6/37/18 +f 7/38/19 27/39/17 5/40/17 +f 6/41/18 76/42/20 8/43/20 +f 9/8/21 28/44/19 7/9/19 +f 8/7/20 77/45/22 10/10/22 +f 11/11/23 29/46/21 9/47/21 +f 10/48/22 78/49/24 12/12/24 +f 11/50/23 31/51/25 30/52/23 +f 12/53/24 79/54/26 14/14/26 +f 15/15/27 31/55/25 13/56/25 +f 14/57/26 80/58/28 16/16/28 +f 17/59/29 32/60/27 15/61/27 +f 16/62/28 81/63/30 18/64/30 +f 19/19/31 33/65/29 17/66/29 +f 20/20/32 81/67/30 82/68/32 +f 21/21/33 34/69/31 19/70/31 +f 20/71/32 83/72/34 22/22/34 +f 23/3/35 35/73/33 21/74/33 +f 22/75/34 84/76/36 24/1/36 +f 1/77/13 36/78/35 23/79/35 +f 24/80/36 73/81/15 2/82/15 +f 68/83/4 141/84/3 66/85/3 +f 49/86/7 144/87/6 72/88/6 +f 56/89/10 135/90/9 54/91/9 +f 58/92/11 136/93/10 56/94/10 +f 60/95/1 137/96/11 58/97/11 +f 62/98/2 138/99/1 60/100/1 +f 64/101/12 139/102/2 62/103/2 +f 63/104/37 33/105/37 65/106/37 +f 66/107/3 140/108/12 64/109/12 +f 70/110/5 142/111/4 68/112/4 +f 72/113/6 143/114/5 70/115/5 +f 50/116/37 25/117/37 51/118/37 +f 57/119/37 30/120/37 59/121/37 +f 54/122/9 133/123/8 52/124/8 +f 51/125/37 27/126/37 53/127/37 +f 67/128/37 33/129/37 34/130/37 +f 61/131/37 30/132/37 31/133/37 +f 55/134/37 27/135/37 28/136/37 +f 67/137/37 35/138/37 69/139/37 +f 61/140/37 32/141/37 63/142/37 +f 55/143/37 29/144/37 57/145/37 +f 71/146/37 35/147/37 36/148/37 +f 50/149/37 36/150/37 26/151/37 +f 49/152/25 51/153/27 52/154/27 +f 52/155/27 53/156/29 54/157/29 +f 54/158/29 55/159/31 56/160/31 +f 56/161/31 57/162/33 58/163/33 +f 58/164/33 59/165/35 60/166/35 +f 60/167/35 61/168/13 62/169/13 +f 62/170/13 63/171/14 64/172/14 +f 64/173/14 65/174/17 66/175/17 +f 66/176/17 67/177/19 68/178/19 +f 68/179/19 69/180/21 70/181/21 +f 70/182/21 71/183/23 72/184/23 +f 72/185/23 50/186/25 49/187/25 +f 52/188/8 134/189/7 49/190/7 +f 96/191/38 77/192/38 94/193/38 +f 85/194/38 84/195/38 108/196/38 +f 90/197/38 74/198/38 88/199/38 +f 104/200/38 81/201/38 102/202/38 +f 98/203/38 78/204/38 96/205/38 +f 92/206/38 75/207/38 90/208/38 +f 104/209/38 83/210/38 82/211/38 +f 98/212/38 80/213/38 79/214/38 +f 94/215/38 76/216/38 92/217/38 +f 108/218/38 83/219/38 106/220/38 +f 85/221/38 74/222/38 73/223/38 +f 102/224/38 80/225/38 100/226/38 +f 109/227/38 87/228/38 86/229/38 +f 114/230/38 87/231/38 112/232/38 +f 116/233/38 89/234/38 114/235/38 +f 116/236/38 93/237/38 91/238/38 +f 118/239/38 95/240/38 93/241/38 +f 122/242/38 95/243/38 120/244/38 +f 122/245/38 99/246/38 97/247/38 +f 126/248/38 99/249/38 124/250/38 +f 126/251/38 103/252/38 101/253/38 +f 130/254/38 103/255/38 128/256/38 +f 132/257/38 105/258/38 130/259/38 +f 109/260/38 107/261/38 132/262/38 +f 129/263/38 121/264/38 113/265/38 +f 87/266/28 85/267/26 86/268/26 +f 89/269/30 88/270/28 87/271/28 +f 91/272/32 90/273/30 89/274/30 +f 93/275/34 92/276/32 91/277/32 +f 95/278/36 94/279/34 93/280/34 +f 97/281/15 96/282/36 95/283/36 +f 99/284/16 98/285/15 97/286/15 +f 101/287/18 100/288/16 99/289/16 +f 103/290/20 102/291/18 101/292/18 +f 105/293/22 104/294/20 103/295/20 +f 107/296/24 106/297/22 105/298/22 +f 86/299/26 108/300/24 107/301/24 +f 110/302/15 112/303/16 109/304/15 +f 113/305/18 112/306/16 111/307/16 +f 115/308/20 114/309/18 113/310/18 +f 117/311/22 116/312/20 115/313/20 +f 119/314/24 118/315/22 117/316/22 +f 121/317/26 120/318/24 119/319/24 +f 123/320/28 122/321/26 121/322/26 +f 125/323/30 124/324/28 123/325/28 +f 127/326/32 126/327/30 125/328/30 +f 127/329/32 130/330/34 128/331/32 +f 131/332/36 130/333/34 129/334/34 +f 110/335/15 132/336/36 131/337/36 +f 38/338/37 133/339/37 37/340/37 +f 37/341/37 135/342/37 39/343/37 +f 40/344/37 135/345/37 136/346/37 +f 40/347/37 137/348/37 41/349/37 +f 41/350/37 138/351/37 42/352/37 +f 43/353/37 138/354/37 139/355/37 +f 43/356/37 140/357/37 44/358/37 +f 44/359/37 141/360/37 45/361/37 +f 45/362/37 142/363/37 46/364/37 +f 46/365/37 143/366/37 47/367/37 +f 47/368/37 144/369/37 48/370/37 +f 38/371/37 144/372/37 134/373/37 +s 0 +f 146/374/10 147/375/10 145/376/10 +f 150/377/10 151/378/10 149/379/10 +f 154/380/10 155/381/10 153/382/10 +f 158/383/10 159/384/10 157/385/10 +f 162/386/10 163/387/10 161/388/10 +f 167/389/10 166/390/10 168/391/10 +f 170/392/10 171/393/10 169/394/10 +f 175/395/10 174/396/10 176/397/10 +f 178/398/10 179/399/10 177/400/10 +f 182/401/10 183/402/10 181/403/10 +s 1 +f 186/404/10 187/405/39 185/406/10 +f 188/407/39 189/408/7 187/405/39 +f 190/409/7 191/410/40 189/408/7 +f 192/411/40 193/412/4 191/410/40 +f 194/413/4 195/414/41 193/415/4 +f 196/416/41 197/417/2 195/414/41 +f 197/417/2 200/418/42 199/419/42 +f 200/418/42 185/406/10 199/419/42 +f 208/420/42 209/421/10 201/422/10 +f 211/423/7 204/424/40 203/425/7 +f 212/426/40 205/427/4 204/424/40 +f 213/428/4 206/429/41 205/430/4 +f 206/429/41 215/431/2 207/432/2 +f 207/432/2 216/433/42 208/420/42 +f 209/421/10 202/434/39 201/422/10 +f 210/435/39 203/425/7 202/434/39 +f 204/436/38 206/437/38 208/438/38 +f 209/439/43 217/440/44 210/441/44 +f 223/442/37 221/443/37 219/444/37 +f 216/445/45 218/446/43 209/439/43 +f 214/447/46 223/448/47 215/449/47 +f 212/426/48 221/450/49 213/451/49 +f 210/441/44 219/452/50 211/423/50 +f 215/449/47 224/453/45 216/445/45 +f 213/454/49 222/455/46 214/447/46 +f 212/426/48 219/456/50 220/457/48 +s 0 +f 231/458/10 233/459/10 236/460/10 +f 235/461/7 233/459/7 227/462/7 +f 229/463/2 231/464/2 226/465/2 +f 232/466/38 228/467/38 226/465/38 +f 236/468/51 232/466/51 231/469/51 +f 230/470/43 234/471/43 233/472/43 +f 234/471/37 225/473/37 227/462/37 +s 1 +f 238/474/52 239/475/10 237/476/42 +f 240/477/53 241/478/39 239/475/10 +f 242/479/54 243/480/7 241/478/39 +f 244/481/55 245/482/40 243/480/7 +f 246/483/56 247/484/4 245/482/40 +f 248/485/57 249/486/41 247/484/4 +f 252/487/58 253/488/59 238/489/52 +f 249/486/41 252/490/58 251/491/2 +f 251/491/2 238/492/52 237/493/42 +f 259/494/60 268/495/61 260/496/62 +f 238/497/52 254/498/63 240/499/53 +f 244/500/55 255/501/64 256/502/65 +f 248/503/57 259/504/60 250/505/66 +f 246/506/56 256/502/65 257/507/48 +f 252/487/58 259/504/60 260/508/62 +f 240/499/53 255/501/64 242/509/54 +f 246/510/56 258/511/67 248/503/57 +f 267/512/68 274/513/46 275/514/41 +f 257/515/48 266/516/69 258/517/67 +f 256/518/65 263/519/70 264/520/71 +f 254/521/63 261/522/72 262/523/73 +f 260/496/62 261/524/72 253/525/59 +f 259/494/60 266/516/69 267/526/68 +f 256/518/65 265/527/74 257/528/48 +f 255/529/64 262/523/73 263/519/70 +f 265/530/74 272/531/44 273/532/37 +f 263/533/70 269/534/75 271/535/39 +f 267/512/68 276/536/76 268/537/61 +f 265/530/74 274/513/46 266/538/69 +f 263/533/70 272/531/44 264/539/71 +f 261/540/72 269/534/75 262/541/73 +f 268/537/61 270/542/38 261/543/72 +s 0 +f 280/544/7 278/545/7 277/546/7 +f 283/547/43 279/548/43 280/544/43 +f 277/546/51 281/549/51 282/550/51 +f 279/548/4 281/551/4 278/552/4 +f 282/550/10 280/544/10 277/546/10 +f 284/553/2 282/550/2 281/554/2 +f 285/555/2 287/556/2 288/557/2 +f 287/556/10 289/558/10 292/559/10 +f 290/560/4 288/561/4 291/562/4 +f 292/559/51 288/563/51 287/556/51 +f 289/558/43 285/564/43 290/560/43 +f 289/558/7 291/565/7 292/559/7 +s 1 +f 293/566/10 304/567/43 302/568/10 +f 294/569/43 306/570/37 304/567/43 +f 306/570/37 296/571/49 308/572/49 +f 296/571/49 310/573/4 308/572/49 +f 310/574/4 298/575/77 312/576/77 +f 312/576/77 299/577/38 314/578/38 +f 299/577/38 316/579/51 314/578/38 +f 300/580/51 302/568/10 316/579/51 +f 301/581/42 304/582/78 303/583/78 +f 303/583/78 306/584/47 305/585/47 +f 306/586/47 307/587/79 305/585/47 +f 308/588/79 309/589/41 307/587/79 +f 310/590/41 311/591/80 309/592/41 +f 311/591/80 314/593/81 313/594/81 +f 313/594/81 316/595/82 315/596/82 +f 315/596/82 302/597/42 301/581/42 +f 309/589/4 320/598/49 307/587/49 +f 315/596/51 323/599/38 313/594/38 +f 303/583/43 319/600/37 318/601/43 +f 309/592/4 322/602/77 321/603/4 +f 301/581/10 324/604/51 315/596/51 +f 303/583/43 317/605/10 301/581/10 +f 307/587/49 319/600/37 305/585/37 +f 313/594/38 322/602/77 311/591/77 +f 320/606/7 322/607/7 324/608/7 +s 0 +f 331/609/39 327/610/39 328/611/39 +f 330/612/41 326/613/41 325/614/41 +f 332/615/37 325/616/37 327/610/37 +f 326/613/38 331/609/38 328/611/38 +f 334/617/2 335/618/2 333/619/2 +f 336/620/38 339/621/38 335/618/38 +f 340/622/7 337/623/7 339/621/7 +f 338/624/37 333/625/37 337/623/37 +f 343/626/42 347/611/42 344/627/42 +f 342/628/40 346/614/40 341/629/40 +f 341/630/37 348/610/37 343/626/37 +f 344/627/38 345/613/38 342/628/38 +f 351/631/7 350/619/7 349/632/7 +f 355/633/38 352/618/38 351/631/38 +f 353/634/2 356/621/2 355/633/2 +f 349/635/37 354/623/37 353/634/37 +s 1 +f 357/636/10 368/637/51 366/638/10 +f 358/639/51 370/640/38 368/637/51 +f 359/641/38 372/642/77 370/640/38 +f 360/643/77 374/644/4 372/642/77 +f 374/645/4 362/646/49 376/647/49 +f 362/646/49 378/648/37 376/647/49 +f 363/649/37 380/650/43 378/648/37 +f 364/651/43 366/638/10 380/650/43 +f 365/652/39 368/653/83 367/654/83 +f 367/654/83 370/655/84 369/656/84 +f 370/657/84 371/658/85 369/656/84 +f 372/659/85 373/660/40 371/658/85 +f 374/661/40 375/662/86 373/663/40 +f 376/664/86 377/665/50 375/662/86 +f 377/665/50 380/666/87 379/667/87 +f 379/667/87 366/668/39 365/652/39 +f 373/660/4 384/669/77 371/658/77 +f 379/667/43 387/670/37 377/665/37 +f 369/656/38 382/671/51 367/654/51 +f 375/662/49 385/672/4 373/663/4 +f 379/667/43 381/673/10 388/674/43 +f 367/654/51 381/673/10 365/652/10 +f 371/658/77 383/675/38 369/656/38 +f 375/662/49 387/670/37 386/676/49 +f 384/677/2 386/678/2 388/679/2 +f 390/680/88 391/681/7 389/682/39 +f 392/683/89 393/684/40 391/681/7 +f 393/684/40 396/685/90 395/686/4 +f 396/685/90 397/687/41 395/686/4 +f 397/687/41 400/688/91 399/689/2 +f 399/689/2 402/690/92 401/691/42 +f 404/692/93 405/693/94 390/694/88 +f 402/690/92 403/695/10 401/691/42 +f 404/696/93 389/697/39 403/695/10 +f 411/698/95 420/699/96 412/700/97 +f 392/701/89 405/702/94 406/703/98 +f 394/704/99 408/705/100 396/706/90 +f 402/707/92 410/708/101 411/709/95 +f 396/706/90 409/710/46 398/711/102 +f 402/707/92 412/712/97 404/692/93 +f 392/701/89 407/713/103 394/704/99 +f 398/714/102 410/708/101 400/715/91 +f 419/716/104 426/717/45 427/718/42 +f 409/719/46 418/720/105 410/721/101 +f 408/722/100 415/723/106 416/724/107 +f 406/725/98 413/726/108 414/727/109 +f 412/700/97 413/728/108 405/729/94 +f 411/698/95 418/720/105 419/730/104 +f 408/722/100 417/731/110 409/732/46 +f 407/733/103 414/727/109 415/723/106 +f 417/734/110 424/735/48 425/736/37 +f 414/737/109 423/738/40 415/739/106 +f 419/716/104 428/740/111 420/741/96 +f 417/734/110 426/717/45 418/742/105 +f 415/739/106 424/735/48 416/743/107 +f 413/744/108 421/745/112 414/737/109 +f 420/741/96 422/746/38 413/747/108 +f 24/1/1 2/25/2 1/2/2 +f 6/4/3 8/748/4 7/5/4 +f 8/7/4 10/10/5 9/8/5 +f 10/10/5 12/12/6 11/11/6 +f 12/12/6 14/14/7 13/13/7 +f 14/14/7 16/16/8 15/15/8 +f 16/16/8 18/18/9 17/17/9 +f 18/18/9 20/20/10 19/19/10 +f 20/20/10 22/22/11 21/21/11 +f 22/22/11 24/1/1 23/3/1 +f 4/23/12 6/4/3 5/6/3 +f 2/25/2 4/23/12 3/24/12 +f 1/26/13 3/749/14 25/27/14 +f 2/29/15 73/750/15 74/30/16 +f 5/32/17 27/751/17 25/33/14 +f 4/35/16 74/752/16 75/36/18 +f 7/38/19 28/753/19 27/39/17 +f 6/41/18 75/754/18 76/42/20 +f 9/8/21 29/755/21 28/44/19 +f 8/7/20 76/756/20 77/45/22 +f 11/11/23 30/757/23 29/46/21 +f 10/48/22 77/758/22 78/49/24 +f 11/50/23 13/13/25 31/51/25 +f 12/53/24 78/759/24 79/54/26 +f 15/15/27 32/760/27 31/55/25 +f 14/57/26 79/761/26 80/58/28 +f 17/59/29 33/762/29 32/60/27 +f 16/62/28 80/763/28 81/63/30 +f 19/19/31 34/764/31 33/65/29 +f 20/20/32 18/765/30 81/67/30 +f 21/21/33 35/766/33 34/69/31 +f 20/71/32 82/767/32 83/72/34 +f 23/3/35 36/768/35 35/73/33 +f 22/75/34 83/769/34 84/76/36 +f 1/77/13 26/770/13 36/78/35 +f 24/80/36 84/771/36 73/81/15 +f 68/83/4 142/772/4 141/84/3 +f 49/86/7 134/773/7 144/87/6 +f 56/89/10 136/774/10 135/90/9 +f 58/92/11 137/775/11 136/93/10 +f 60/95/1 138/776/1 137/96/11 +f 62/98/2 139/777/2 138/99/1 +f 64/101/12 140/778/12 139/102/2 +f 63/104/37 32/779/37 33/105/37 +f 66/107/3 141/780/3 140/108/12 +f 70/110/5 143/781/5 142/111/4 +f 72/113/6 144/782/6 143/114/5 +f 50/116/37 26/783/37 25/117/37 +f 57/119/37 29/784/37 30/120/37 +f 54/122/9 135/785/9 133/123/8 +f 51/125/37 25/786/37 27/126/37 +f 67/128/37 65/787/37 33/129/37 +f 61/131/37 59/788/37 30/132/37 +f 55/134/37 53/789/37 27/135/37 +f 67/137/37 34/790/37 35/138/37 +f 61/140/37 31/791/37 32/141/37 +f 55/143/37 28/792/37 29/144/37 +f 71/146/37 69/793/37 35/147/37 +f 50/149/37 71/794/37 36/150/37 +f 49/152/25 50/795/25 51/153/27 +f 52/155/27 51/796/27 53/156/29 +f 54/158/29 53/797/29 55/159/31 +f 56/161/31 55/798/31 57/162/33 +f 58/164/33 57/799/33 59/165/35 +f 60/167/35 59/800/35 61/168/13 +f 62/170/13 61/801/13 63/171/14 +f 64/173/14 63/802/14 65/174/17 +f 66/176/17 65/803/17 67/177/19 +f 68/179/19 67/804/19 69/180/21 +f 70/182/21 69/805/21 71/183/23 +f 72/185/23 71/806/23 50/186/25 +f 52/188/8 133/807/8 134/189/7 +f 96/191/38 78/808/38 77/192/38 +f 85/194/38 73/809/38 84/195/38 +f 90/197/38 75/810/38 74/198/38 +f 104/200/38 82/811/38 81/201/38 +f 98/203/38 79/812/38 78/204/38 +f 92/206/38 76/813/38 75/207/38 +f 104/209/38 106/814/38 83/210/38 +f 98/212/38 100/815/38 80/213/38 +f 94/215/38 77/816/38 76/216/38 +f 108/218/38 84/817/38 83/219/38 +f 85/221/38 88/818/38 74/222/38 +f 102/224/38 81/819/38 80/225/38 +f 109/227/38 112/820/38 87/228/38 +f 114/230/38 89/821/38 87/231/38 +f 116/233/38 91/822/38 89/234/38 +f 116/236/38 118/823/38 93/237/38 +f 118/239/38 120/824/38 95/240/38 +f 122/242/38 97/825/38 95/243/38 +f 122/245/38 124/826/38 99/246/38 +f 126/248/38 101/827/38 99/249/38 +f 126/251/38 128/828/38 103/252/38 +f 130/254/38 105/829/38 103/255/38 +f 132/257/38 107/830/38 105/258/38 +f 109/260/38 86/831/38 107/261/38 +f 113/265/38 111/832/38 110/833/38 +f 110/833/38 131/834/38 129/263/38 +f 129/263/38 127/835/38 125/836/38 +f 125/836/38 123/837/38 121/264/38 +f 121/264/38 119/838/38 117/839/38 +f 117/839/38 115/840/38 113/265/38 +f 113/265/38 110/833/38 129/263/38 +f 129/263/38 125/836/38 121/264/38 +f 121/264/38 117/839/38 113/265/38 +f 87/266/28 88/841/28 85/267/26 +f 89/269/30 90/842/30 88/270/28 +f 91/272/32 92/843/32 90/273/30 +f 93/275/34 94/844/34 92/276/32 +f 95/278/36 96/845/36 94/279/34 +f 97/281/15 98/846/15 96/282/36 +f 99/284/16 100/815/16 98/285/15 +f 101/287/18 102/847/18 100/288/16 +f 103/290/20 104/848/20 102/291/18 +f 105/293/22 106/849/22 104/294/20 +f 107/296/24 108/850/24 106/297/22 +f 86/299/26 85/851/26 108/300/24 +f 110/302/15 111/852/16 112/303/16 +f 113/305/18 114/853/18 112/306/16 +f 115/308/20 116/854/20 114/309/18 +f 117/311/22 118/855/22 116/312/20 +f 119/314/24 120/856/24 118/315/22 +f 121/317/26 122/857/26 120/318/24 +f 123/320/28 124/858/28 122/321/26 +f 125/323/30 126/859/30 124/324/28 +f 127/326/32 128/860/32 126/327/30 +f 127/329/32 129/861/34 130/330/34 +f 131/332/36 132/862/36 130/333/34 +f 110/335/15 109/863/15 132/336/36 +f 38/338/37 134/864/37 133/339/37 +f 37/341/37 133/865/37 135/342/37 +f 40/344/37 39/866/37 135/345/37 +f 40/347/37 136/867/37 137/348/37 +f 41/350/37 137/868/37 138/351/37 +f 43/353/37 42/869/37 138/354/37 +f 43/356/37 139/870/37 140/357/37 +f 44/359/37 140/871/37 141/360/37 +f 45/362/37 141/872/37 142/363/37 +f 46/365/37 142/873/37 143/366/37 +f 47/368/37 143/874/37 144/369/37 +f 38/371/37 48/875/37 144/372/37 +s 0 +f 146/374/10 148/876/10 147/375/10 +f 150/377/10 152/877/10 151/378/10 +f 154/380/10 156/878/10 155/381/10 +f 158/383/10 160/879/10 159/384/10 +f 162/386/10 164/880/10 163/387/10 +f 167/389/10 165/881/10 166/390/10 +f 170/392/10 172/882/10 171/393/10 +f 175/395/10 173/883/10 174/396/10 +f 178/398/10 180/884/10 179/399/10 +f 182/401/10 184/885/10 183/402/10 +s 1 +f 186/404/10 188/407/39 187/405/39 +f 188/407/39 190/409/7 189/408/7 +f 190/409/7 192/411/40 191/410/40 +f 192/411/40 194/886/4 193/412/4 +f 194/413/4 196/416/41 195/414/41 +f 196/416/41 198/887/2 197/417/2 +f 197/417/2 198/887/2 200/418/42 +f 200/418/42 186/404/10 185/406/10 +f 208/420/42 216/433/42 209/421/10 +f 211/423/7 212/426/40 204/424/40 +f 212/426/40 213/451/4 205/427/4 +f 213/428/4 214/888/41 206/429/41 +f 206/429/41 214/888/41 215/431/2 +f 207/432/2 215/431/2 216/433/42 +f 209/421/10 210/435/39 202/434/39 +f 210/435/39 211/423/7 203/425/7 +f 208/438/38 201/889/38 202/890/38 +f 202/890/38 203/891/38 204/436/38 +f 204/436/38 205/892/38 206/437/38 +f 206/437/38 207/893/38 208/438/38 +f 208/438/38 202/890/38 204/436/38 +f 209/439/43 218/894/43 217/440/44 +f 219/444/37 217/895/37 218/896/37 +f 218/896/37 224/897/37 223/442/37 +f 223/442/37 222/898/37 221/443/37 +f 221/443/37 220/899/37 219/444/37 +f 219/444/37 218/896/37 223/442/37 +f 216/445/45 224/900/45 218/446/43 +f 214/447/46 222/901/46 223/448/47 +f 212/426/48 220/902/48 221/450/49 +f 210/441/44 217/903/44 219/452/50 +f 215/449/47 223/904/47 224/453/45 +f 213/454/49 221/905/49 222/455/46 +f 212/426/48 211/423/50 219/456/50 +s 0 +f 231/458/10 230/906/10 233/459/10 +f 227/462/7 228/467/7 235/461/7 +f 235/461/7 236/460/7 233/459/7 +f 233/459/7 234/471/7 227/462/7 +f 226/465/2 225/907/2 229/463/2 +f 229/463/2 230/908/2 231/464/2 +f 231/464/2 232/466/2 226/465/2 +f 232/466/38 235/461/38 228/467/38 +f 236/468/51 235/461/51 232/466/51 +f 230/470/43 229/909/43 234/471/43 +f 234/471/37 229/909/37 225/473/37 +s 1 +f 238/474/52 240/477/53 239/475/10 +f 240/477/53 242/479/54 241/478/39 +f 242/479/54 244/481/55 243/480/7 +f 244/481/55 246/483/56 245/482/40 +f 246/483/56 248/485/57 247/484/4 +f 248/485/57 250/910/66 249/486/41 +f 252/487/58 260/508/62 253/488/59 +f 249/486/41 250/910/66 252/490/58 +f 251/491/2 252/490/58 238/492/52 +f 259/494/60 267/526/68 268/495/61 +f 238/497/52 253/911/59 254/498/63 +f 244/500/55 242/509/54 255/501/64 +f 248/503/57 258/511/67 259/504/60 +f 246/506/56 244/500/55 256/502/65 +f 252/487/58 250/505/66 259/504/60 +f 240/499/53 254/498/63 255/501/64 +f 246/510/56 257/912/48 258/511/67 +f 267/512/68 266/538/69 274/513/46 +f 257/515/48 265/913/74 266/516/69 +f 256/518/65 255/529/64 263/519/70 +f 254/521/63 253/914/59 261/522/72 +f 260/496/62 268/495/61 261/524/72 +f 259/494/60 258/517/67 266/516/69 +f 256/518/65 264/520/71 265/527/74 +f 255/529/64 254/521/63 262/523/73 +f 265/530/74 264/539/71 272/531/44 +f 263/533/70 262/541/73 269/534/75 +f 267/512/68 275/514/41 276/536/76 +f 265/530/74 273/532/37 274/513/46 +f 263/533/70 271/535/39 272/531/44 +f 261/540/72 270/915/38 269/534/75 +f 268/537/61 276/536/76 270/542/38 +s 0 +f 280/544/7 279/916/7 278/545/7 +f 283/547/43 284/917/43 279/548/43 +f 277/546/51 278/918/51 281/549/51 +f 279/548/4 284/917/4 281/551/4 +f 282/550/10 283/547/10 280/544/10 +f 284/553/2 283/547/2 282/550/2 +f 285/555/2 286/919/2 287/556/2 +f 287/556/10 286/919/10 289/558/10 +f 290/560/4 285/564/4 288/561/4 +f 292/559/51 291/920/51 288/563/51 +f 289/558/43 286/919/43 285/564/43 +f 289/558/7 290/921/7 291/565/7 +s 1 +f 293/566/10 294/569/43 304/567/43 +f 294/569/43 295/922/37 306/570/37 +f 306/570/37 295/922/37 296/571/49 +f 296/571/49 297/923/4 310/573/4 +f 310/574/4 297/924/4 298/575/77 +f 312/576/77 298/575/77 299/577/38 +f 299/577/38 300/580/51 316/579/51 +f 300/580/51 293/566/10 302/568/10 +f 301/581/42 302/925/42 304/582/78 +f 303/583/78 304/926/78 306/584/47 +f 306/586/47 308/927/79 307/587/79 +f 308/588/79 310/928/41 309/589/41 +f 310/590/41 312/929/80 311/591/80 +f 311/591/80 312/930/80 314/593/81 +f 313/594/81 314/931/81 316/595/82 +f 315/596/82 316/932/82 302/597/42 +f 309/589/4 321/923/4 320/598/49 +f 315/596/51 324/604/51 323/599/38 +f 303/583/43 305/585/37 319/600/37 +f 309/592/4 311/591/77 322/602/77 +f 301/581/10 317/605/10 324/604/51 +f 303/583/43 318/601/43 317/605/10 +f 307/587/49 320/598/49 319/600/37 +f 313/594/38 323/599/38 322/602/77 +f 324/608/7 317/933/7 318/934/7 +f 318/934/7 319/935/7 320/606/7 +f 320/606/7 321/936/7 322/607/7 +f 322/607/7 323/937/7 324/608/7 +f 324/608/7 318/934/7 320/606/7 +s 0 +f 331/609/39 332/615/39 327/610/39 +f 330/612/41 329/938/41 326/613/41 +f 332/615/37 330/939/37 325/616/37 +f 326/613/38 329/938/38 331/609/38 +f 334/617/2 336/620/2 335/618/2 +f 336/620/38 340/622/38 339/621/38 +f 340/622/7 338/624/7 337/623/7 +f 338/624/37 334/940/37 333/625/37 +f 343/626/42 348/610/42 347/611/42 +f 342/628/40 345/613/40 346/614/40 +f 341/630/37 346/616/37 348/610/37 +f 344/627/38 347/611/38 345/613/38 +f 351/631/7 352/618/7 350/619/7 +f 355/633/38 356/621/38 352/618/38 +f 353/634/2 354/623/2 356/621/2 +f 349/635/37 350/625/37 354/623/37 +s 1 +f 357/636/10 358/639/51 368/637/51 +f 358/639/51 359/641/38 370/640/38 +f 359/641/38 360/643/77 372/642/77 +f 360/643/77 361/941/4 374/644/4 +f 374/645/4 361/942/4 362/646/49 +f 362/646/49 363/649/37 378/648/37 +f 363/649/37 364/651/43 380/650/43 +f 364/651/43 357/636/10 366/638/10 +f 365/652/39 366/943/39 368/653/83 +f 367/654/83 368/944/83 370/655/84 +f 370/657/84 372/945/85 371/658/85 +f 372/659/85 374/946/40 373/660/40 +f 374/661/40 376/947/86 375/662/86 +f 376/664/86 378/948/50 377/665/50 +f 377/665/50 378/949/50 380/666/87 +f 379/667/87 380/950/87 366/668/39 +f 373/660/4 385/941/4 384/669/77 +f 379/667/43 388/674/43 387/670/37 +f 369/656/38 383/675/38 382/671/51 +f 375/662/49 386/676/49 385/672/4 +f 379/667/43 365/652/10 381/673/10 +f 367/654/51 382/671/51 381/673/10 +f 371/658/77 384/669/77 383/675/38 +f 375/662/49 377/665/37 387/670/37 +f 388/679/2 381/951/2 382/952/2 +f 382/952/2 383/953/2 384/677/2 +f 384/677/2 385/954/2 386/678/2 +f 386/678/2 387/955/2 388/679/2 +f 388/679/2 382/952/2 384/677/2 +f 390/680/88 392/683/89 391/681/7 +f 392/683/89 394/956/99 393/684/40 +f 393/684/40 394/956/99 396/685/90 +f 396/685/90 398/957/102 397/687/41 +f 397/687/41 398/957/102 400/688/91 +f 399/689/2 400/688/91 402/690/92 +f 404/692/93 412/712/97 405/693/94 +f 402/690/92 404/696/93 403/695/10 +f 404/696/93 390/958/88 389/697/39 +f 411/698/95 419/730/104 420/699/96 +f 392/701/89 390/959/88 405/702/94 +f 394/704/99 407/713/103 408/705/100 +f 402/707/92 400/715/91 410/708/101 +f 396/706/90 408/705/100 409/710/46 +f 402/707/92 411/709/95 412/712/97 +f 392/701/89 406/703/98 407/713/103 +f 398/714/102 409/960/46 410/708/101 +f 419/716/104 418/742/105 426/717/45 +f 409/719/46 417/961/110 418/720/105 +f 408/722/100 407/733/103 415/723/106 +f 406/725/98 405/962/94 413/726/108 +f 412/700/97 420/699/96 413/728/108 +f 411/698/95 410/721/101 418/720/105 +f 408/722/100 416/724/107 417/731/110 +f 407/733/103 406/725/98 414/727/109 +f 417/734/110 416/743/107 424/735/48 +f 414/737/109 421/745/112 423/738/40 +f 419/716/104 427/718/42 428/740/111 +f 417/734/110 425/736/37 426/717/45 +f 415/739/106 423/738/40 424/735/48 +f 413/744/108 422/963/38 421/745/112 +f 420/741/96 428/740/111 422/746/38 diff --git a/src/main/resources/assets/hbm/models/particleaccelerator/beamline.obj b/src/main/resources/assets/hbm/models/particleaccelerator/beamline.obj new file mode 100644 index 000000000..9757a9ea2 --- /dev/null +++ b/src/main/resources/assets/hbm/models/particleaccelerator/beamline.obj @@ -0,0 +1,44 @@ +# Blender v2.79 (sub 0) OBJ File: 'beamline.blend' +# www.blender.org +o Cube_Cube.001 +v -0.500000 0.000000 1.500000 +v -0.500000 1.000000 1.500000 +v -0.500000 0.000000 -1.500000 +v -0.500000 1.000000 -1.500000 +v 0.500000 0.000000 1.500000 +v 0.500000 1.000000 1.500000 +v 0.500000 0.000000 -1.500000 +v 0.500000 1.000000 -1.500000 +vt 0.200000 0.500000 +vt 0.800000 0.750000 +vt 0.200000 0.750000 +vt 0.800000 0.500000 +vt 1.000000 0.250000 +vt 1.000000 0.500000 +vt 0.800000 0.250000 +vt 0.200000 0.000000 +vt 0.800000 0.000000 +vt 0.200000 0.250000 +vt 0.000000 0.500000 +vt 0.000000 0.250000 +vt 0.800000 1.000000 +vt 0.200000 1.000000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 2/1/1 3/2/1 1/3/1 +f 4/4/2 7/5/2 3/6/2 +f 8/7/3 5/8/3 7/9/3 +f 6/10/4 1/11/4 5/12/4 +f 7/13/5 1/3/5 3/2/5 +f 4/4/6 6/10/6 8/7/6 +f 2/1/1 4/4/1 3/2/1 +f 4/4/2 8/7/2 7/5/2 +f 8/7/3 6/10/3 5/8/3 +f 6/10/4 2/1/4 1/11/4 +f 7/13/5 5/14/5 1/3/5 +f 4/4/6 2/1/6 6/10/6 diff --git a/src/main/resources/assets/hbm/models/particleaccelerator/detector.obj b/src/main/resources/assets/hbm/models/particleaccelerator/detector.obj new file mode 100644 index 000000000..77c48dc3f --- /dev/null +++ b/src/main/resources/assets/hbm/models/particleaccelerator/detector.obj @@ -0,0 +1,3159 @@ +# Blender v2.79 (sub 0) OBJ File: 'detector.blend' +# www.blender.org +o Cube_Cube.001 +v -0.500000 2.000000 4.500000 +v -0.500000 3.000000 4.500000 +v -0.500000 2.000000 3.500000 +v -0.500000 3.000000 3.500000 +v 0.500000 2.000000 4.500000 +v 0.500000 3.000000 4.500000 +v 0.500000 2.000000 3.500000 +v 0.500000 3.000000 3.500000 +v 0.000000 5.000000 4.500000 +v -1.250000 4.665063 4.500000 +v -2.165063 3.750000 4.500000 +v -2.500000 2.500000 4.500000 +v -2.165063 1.250000 4.500000 +v -1.250000 0.334937 4.500000 +v -0.000000 0.000000 4.500000 +v 1.250000 0.334936 4.500000 +v 2.165063 1.249999 4.500000 +v 2.500000 2.499999 4.500000 +v 2.165064 3.749999 4.500000 +v 1.250001 4.665063 4.500000 +v 0.000000 5.000000 -4.500000 +v -1.250000 4.665063 -4.500000 +v -2.165063 3.750000 -4.500000 +v -2.500000 2.500000 -4.500000 +v -2.165063 1.250000 -4.500000 +v -1.250000 0.334937 -4.500000 +v -0.000000 0.000000 -4.500000 +v 1.250000 0.334936 -4.500000 +v 2.165063 1.249999 -4.500000 +v 2.500000 2.499999 -4.500000 +v 2.165064 3.749999 -4.500000 +v 1.250001 4.665063 -4.500000 +v 0.000000 4.000000 4.500000 +v -0.750000 3.799038 4.500000 +v -1.299038 3.250000 4.500000 +v -1.500000 2.500000 4.500000 +v -1.299038 1.750000 4.500000 +v -0.750000 1.200962 4.500000 +v 0.000000 1.000000 4.500000 +v 0.750000 1.200962 4.500000 +v 1.299038 1.750000 4.500000 +v 1.500000 2.499999 4.500000 +v 1.299038 3.249999 4.500000 +v 0.750001 3.799038 4.500000 +v 0.000000 4.000000 4.000000 +v -0.750000 3.799038 4.000000 +v -1.299038 3.250000 4.000000 +v -1.500000 2.500000 4.000000 +v -1.299038 1.750000 4.000000 +v -0.750000 1.200962 4.000000 +v 0.000000 1.000000 4.000000 +v 0.750000 1.200962 4.000000 +v 1.299038 1.750000 4.000000 +v 1.500000 2.499999 4.000000 +v 1.299038 3.249999 4.000000 +v 0.750001 3.799038 4.000000 +v 0.000000 3.500000 4.000000 +v -0.500000 3.366025 4.000000 +v -0.866025 3.000000 4.000000 +v -1.000000 2.500000 4.000000 +v -0.866025 2.000000 4.000000 +v -0.500000 1.633975 4.000000 +v 0.000000 1.500000 4.000000 +v 0.500000 1.633975 4.000000 +v 0.866025 2.000000 4.000000 +v 1.000000 2.500000 4.000000 +v 0.866025 3.000000 4.000000 +v 0.500000 3.366025 4.000000 +v 0.000000 3.500000 3.500000 +v -0.500000 3.366025 3.500000 +v -0.866025 3.000000 3.500000 +v -1.000000 2.500000 3.500000 +v -0.866025 2.000000 3.500000 +v -0.500000 1.633975 3.500000 +v 0.000000 1.500000 3.500000 +v 0.500000 1.633975 3.500000 +v 0.866025 2.000000 3.500000 +v 1.000000 2.500000 3.500000 +v 0.866025 3.000000 3.500000 +v 0.500000 3.366025 3.500000 +v 1.500000 0.000000 4.500000 +v 2.500000 0.000000 4.500000 +v 1.500000 0.000000 3.500000 +v 2.500000 0.000000 3.500000 +v 1.500000 0.250000 3.500000 +v 1.500000 0.250000 4.500000 +v 2.500000 0.250000 4.500000 +v 2.500000 0.250000 3.500000 +v 1.625000 0.250000 3.625000 +v 1.625000 0.250000 4.375000 +v 2.375000 0.250000 4.375000 +v 2.375000 0.250000 3.625000 +v 0.875000 1.000000 3.625000 +v 0.875000 1.000000 4.375000 +v 1.625000 1.000000 4.375000 +v 1.625000 1.000000 3.625000 +v -2.375000 0.250000 3.625000 +v -2.375000 0.250000 4.375000 +v -1.625000 0.250000 4.375000 +v -1.625000 0.250000 3.625000 +v -1.625000 1.000000 3.625000 +v -1.625000 1.000000 4.375000 +v -0.875000 1.000000 4.375000 +v -0.875000 1.000000 3.625000 +v -0.388228 3.948889 4.125000 +v -0.302852 3.971766 4.161612 +v -0.267488 3.981241 4.250000 +v -0.302852 3.971766 4.338388 +v -0.388228 3.948889 4.375000 +v -0.473605 3.926012 4.338388 +v -0.508969 3.916536 4.250000 +v -0.473605 3.926012 4.161612 +v -0.226466 3.345185 4.125000 +v -0.141090 3.368062 4.161612 +v -0.105726 3.377537 4.250000 +v -0.141090 3.368062 4.338388 +v -0.226466 3.345185 4.375000 +v -0.311843 3.322309 4.338388 +v -0.347207 3.312833 4.250000 +v -0.311843 3.322309 4.161612 +v -0.134389 3.343056 4.150888 +v -0.082849 3.292161 4.213388 +v -0.102037 3.222315 4.275888 +v -0.180713 3.174432 4.301777 +v -0.272790 3.176562 4.275888 +v -0.324331 3.227456 4.213388 +v -0.305142 3.297302 4.150888 +v -0.131614 3.332698 4.125000 +v -0.073373 3.256797 4.125000 +v -0.085861 3.161944 4.125000 +v -0.161762 3.103703 4.125000 +v -0.256614 3.116191 4.125000 +v -0.314855 3.192092 4.125000 +v -0.302367 3.286944 4.125000 +v -0.226466 3.345185 3.500000 +v -0.131614 3.332698 3.500000 +v -0.073373 3.256797 3.500000 +v -0.085861 3.161944 3.500000 +v -0.161762 3.103703 3.500000 +v -0.256614 3.116191 3.500000 +v -0.314855 3.192092 3.500000 +v -0.302367 3.286944 3.500000 +v 1.750000 0.250000 4.250000 +v 2.250000 0.250000 4.250000 +v 1.750000 0.250000 3.750000 +v 2.250000 0.250000 3.750000 +v 1.750000 1.750000 4.250000 +v 2.250000 1.750000 4.250000 +v 1.750000 1.750000 3.750000 +v 2.250000 1.750000 3.750000 +v -2.250000 0.250000 4.250000 +v -1.750000 0.250000 4.250000 +v -2.250000 0.250000 3.750000 +v -1.750000 0.250000 3.750000 +v -2.250000 1.750000 4.250000 +v -1.750000 1.750000 4.250000 +v -2.250000 1.750000 3.750000 +v -1.750000 1.750000 3.750000 +v 2.121321 4.267766 3.500000 +v 1.767767 4.621320 3.500000 +v 2.121321 4.267766 -3.500000 +v 1.767767 4.621320 -3.500000 +v 2.474874 4.621320 3.500000 +v 2.121321 4.974873 3.500000 +v 2.474874 4.621320 -3.500000 +v 2.121321 4.974873 -3.500000 +v 2.121321 4.267766 4.000000 +v 1.767767 4.621320 4.000000 +v 1.767767 4.621320 -4.000000 +v 2.121321 4.267766 -4.000000 +v 1.856155 4.002601 3.500000 +v 1.502602 4.356155 3.500000 +v 1.502602 4.356155 -3.500000 +v 1.856155 4.002601 -3.500000 +v 1.856155 4.002601 4.000000 +v 1.502602 4.356155 4.000000 +v 1.502602 4.356155 -4.000000 +v 1.856155 4.002601 -4.000000 +v -1.767766 4.621321 3.500000 +v -2.121320 4.267767 3.500000 +v -1.767766 4.621321 -3.500000 +v -2.121320 4.267767 -3.500000 +v -2.121320 4.974874 3.500000 +v -2.474872 4.621321 3.500000 +v -2.121320 4.974874 -3.500000 +v -2.474872 4.621321 -3.500000 +v -1.767766 4.621321 4.000000 +v -2.121320 4.267767 4.000000 +v -2.121320 4.267767 -3.999999 +v -1.767766 4.621321 -3.999999 +v -1.502601 4.356155 3.500000 +v -1.856155 4.002602 3.500000 +v -1.856155 4.002602 -3.500000 +v -1.502601 4.356155 -3.500000 +v -1.502601 4.356155 4.000000 +v -1.856155 4.002602 4.000000 +v -1.856155 4.002602 -3.999999 +v -1.502601 4.356155 -3.999999 +v 0.388228 1.051111 4.125000 +v 0.302852 1.028234 4.161612 +v 0.267487 1.018759 4.250000 +v 0.302852 1.028234 4.338388 +v 0.388228 1.051111 4.375000 +v 0.473605 1.073988 4.338388 +v 0.508969 1.083464 4.250000 +v 0.473605 1.073988 4.161612 +v 0.226466 1.654815 4.125000 +v 0.141090 1.631938 4.161612 +v 0.105726 1.622463 4.250000 +v 0.141090 1.631938 4.338388 +v 0.226466 1.654815 4.375000 +v 0.311843 1.677691 4.338388 +v 0.347207 1.687167 4.250000 +v 0.311843 1.677691 4.161612 +v 0.134389 1.656944 4.150888 +v 0.082849 1.707839 4.213388 +v 0.102037 1.777685 4.275888 +v 0.180713 1.825568 4.301777 +v 0.272790 1.823438 4.275888 +v 0.324331 1.772544 4.213388 +v 0.305142 1.702698 4.150888 +v 0.131614 1.667302 4.125000 +v 0.073373 1.743203 4.125000 +v 0.085861 1.838056 4.125000 +v 0.161762 1.896297 4.125000 +v 0.256614 1.883809 4.125000 +v 0.314855 1.807908 4.125000 +v 0.302367 1.713056 4.125000 +v 0.226466 1.654815 3.500000 +v 0.131614 1.667302 3.500000 +v 0.073373 1.743203 3.500000 +v 0.085861 1.838056 3.500000 +v 0.161762 1.896297 3.500000 +v 0.256614 1.883809 3.500000 +v 0.314855 1.807908 3.500000 +v 0.302367 1.713056 3.500000 +v 1.448889 2.888228 4.125000 +v 1.471766 2.802852 4.161612 +v 1.481241 2.767488 4.250000 +v 1.471766 2.802852 4.338388 +v 1.448889 2.888228 4.375000 +v 1.426012 2.973605 4.338388 +v 1.416536 3.008969 4.250000 +v 1.426012 2.973605 4.161612 +v 0.845185 2.726466 4.125000 +v 0.868062 2.641090 4.161612 +v 0.877537 2.605726 4.250000 +v 0.868062 2.641090 4.338388 +v 0.845185 2.726466 4.375000 +v 0.822309 2.811843 4.338388 +v 0.812833 2.847207 4.250000 +v 0.822309 2.811843 4.161612 +v 0.843056 2.634389 4.150888 +v 0.792161 2.582849 4.213388 +v 0.722315 2.602037 4.275888 +v 0.674432 2.680713 4.301777 +v 0.676562 2.772790 4.275888 +v 0.727456 2.824331 4.213388 +v 0.797302 2.805142 4.150888 +v 0.832698 2.631614 4.125000 +v 0.756797 2.573373 4.125000 +v 0.661944 2.585861 4.125000 +v 0.603703 2.661762 4.125000 +v 0.616191 2.756614 4.125000 +v 0.692092 2.814855 4.125000 +v 0.786944 2.802367 4.125000 +v 0.845185 2.726466 3.500000 +v 0.832698 2.631614 3.500000 +v 0.756797 2.573373 3.500000 +v 0.661944 2.585861 3.500000 +v 0.603703 2.661762 3.500000 +v 0.616191 2.756614 3.500000 +v 0.692092 2.814855 3.500000 +v 0.786944 2.802367 3.500000 +v -1.448889 2.111772 4.125000 +v -1.471766 2.197149 4.161612 +v -1.481241 2.232513 4.250000 +v -1.471766 2.197149 4.338388 +v -1.448889 2.111772 4.375000 +v -1.426012 2.026395 4.338388 +v -1.416536 1.991031 4.250000 +v -1.426012 2.026395 4.161612 +v -0.845185 2.273534 4.125000 +v -0.868062 2.358910 4.161612 +v -0.877537 2.394274 4.250000 +v -0.868062 2.358910 4.338388 +v -0.845185 2.273534 4.375000 +v -0.822309 2.188157 4.338388 +v -0.812833 2.152793 4.250000 +v -0.822309 2.188157 4.161612 +v -0.843056 2.365611 4.150888 +v -0.792161 2.417151 4.213388 +v -0.722315 2.397963 4.275888 +v -0.674432 2.319287 4.301777 +v -0.676562 2.227210 4.275888 +v -0.727456 2.175669 4.213388 +v -0.797303 2.194858 4.150888 +v -0.832698 2.368386 4.125000 +v -0.756797 2.426627 4.125000 +v -0.661944 2.414139 4.125000 +v -0.603703 2.338238 4.125000 +v -0.616191 2.243386 4.125000 +v -0.692092 2.185145 4.125000 +v -0.786944 2.197633 4.125000 +v -0.845185 2.273534 3.500000 +v -0.832698 2.368386 3.500000 +v -0.756797 2.426627 3.500000 +v -0.661944 2.414139 3.500000 +v -0.603703 2.338238 3.500000 +v -0.616191 2.243386 3.500000 +v -0.692092 2.185145 3.500000 +v -0.786944 2.197633 3.500000 +v 0.388229 3.948889 4.125000 +v 0.473606 3.926012 4.161612 +v 0.508970 3.916536 4.250000 +v 0.473606 3.926012 4.338388 +v 0.388229 3.948889 4.375000 +v 0.302852 3.971766 4.338388 +v 0.267488 3.981241 4.250000 +v 0.302852 3.971766 4.161612 +v 0.226467 3.345185 4.125000 +v 0.311843 3.322309 4.161612 +v 0.347207 3.312832 4.250000 +v 0.311843 3.322309 4.338388 +v 0.226467 3.345185 4.375000 +v 0.141090 3.368062 4.338388 +v 0.105726 3.377537 4.250000 +v 0.141090 3.368062 4.161612 +v 0.305143 3.297302 4.150888 +v 0.324331 3.227456 4.213388 +v 0.272791 3.176561 4.275888 +v 0.180714 3.174432 4.301777 +v 0.102038 3.222314 4.275888 +v 0.082849 3.292161 4.213388 +v 0.134390 3.343055 4.150888 +v 0.302368 3.286944 4.125000 +v 0.314855 3.192092 4.125000 +v 0.256615 3.116191 4.125000 +v 0.161762 3.103703 4.125000 +v 0.085862 3.161944 4.125000 +v 0.073374 3.256796 4.125000 +v 0.131615 3.332697 4.125000 +v 0.226467 3.345185 3.500000 +v 0.302368 3.286944 3.500000 +v 0.314855 3.192092 3.500000 +v 0.256615 3.116191 3.500000 +v 0.161762 3.103703 3.500000 +v 0.085862 3.161944 3.500000 +v 0.073374 3.256796 3.500000 +v 0.131615 3.332697 3.500000 +v -0.388229 1.051111 4.125000 +v -0.473606 1.073988 4.161612 +v -0.508970 1.083464 4.250000 +v -0.473606 1.073988 4.338388 +v -0.388229 1.051111 4.375000 +v -0.302852 1.028235 4.338388 +v -0.267488 1.018759 4.250000 +v -0.302852 1.028235 4.161612 +v -0.226467 1.654815 4.125000 +v -0.311843 1.677692 4.161612 +v -0.347207 1.687168 4.250000 +v -0.311843 1.677692 4.338388 +v -0.226467 1.654815 4.375000 +v -0.141090 1.631938 4.338388 +v -0.105726 1.622463 4.250000 +v -0.141090 1.631938 4.161612 +v -0.305143 1.702698 4.150888 +v -0.324331 1.772544 4.213388 +v -0.272791 1.823439 4.275888 +v -0.180714 1.825568 4.301777 +v -0.102038 1.777686 4.275888 +v -0.082849 1.707839 4.213388 +v -0.134390 1.656945 4.150888 +v -0.302368 1.713056 4.125000 +v -0.314855 1.807908 4.125000 +v -0.256615 1.883809 4.125000 +v -0.161762 1.896297 4.125000 +v -0.085862 1.838056 4.125000 +v -0.073374 1.743204 4.125000 +v -0.131615 1.667303 4.125000 +v -0.226467 1.654815 3.500000 +v -0.302368 1.713056 3.500000 +v -0.314855 1.807908 3.500000 +v -0.256615 1.883809 3.500000 +v -0.161762 1.896297 3.500000 +v -0.085862 1.838056 3.500000 +v -0.073374 1.743204 3.500000 +v -0.131615 1.667303 3.500000 +v 1.448889 2.111771 4.125000 +v 1.426012 2.026394 4.161612 +v 1.416536 1.991030 4.250000 +v 1.426012 2.026394 4.338388 +v 1.448889 2.111771 4.375000 +v 1.471765 2.197148 4.338388 +v 1.481241 2.232512 4.250000 +v 1.471765 2.197148 4.161612 +v 0.845185 2.273533 4.125000 +v 0.822308 2.188157 4.161612 +v 0.812832 2.152792 4.250000 +v 0.822308 2.188157 4.338388 +v 0.845185 2.273533 4.375000 +v 0.868062 2.358910 4.338388 +v 0.877537 2.394274 4.250000 +v 0.868062 2.358910 4.161612 +v 0.797302 2.194857 4.150888 +v 0.727456 2.175669 4.213388 +v 0.676561 2.227209 4.275888 +v 0.674432 2.319286 4.301777 +v 0.722314 2.397962 4.275888 +v 0.792161 2.417151 4.213388 +v 0.843055 2.365610 4.150888 +v 0.786944 2.197632 4.125000 +v 0.692092 2.185145 4.125000 +v 0.616191 2.243385 4.125000 +v 0.603703 2.338238 4.125000 +v 0.661944 2.414138 4.125000 +v 0.756796 2.426626 4.125000 +v 0.832697 2.368386 4.125000 +v 0.845185 2.273533 3.500000 +v 0.786944 2.197632 3.500000 +v 0.692092 2.185145 3.500000 +v 0.616191 2.243385 3.500000 +v 0.603703 2.338238 3.500000 +v 0.661944 2.414138 3.500000 +v 0.756796 2.426626 3.500000 +v 0.832697 2.368386 3.500000 +v -1.448889 2.888229 4.125000 +v -1.426012 2.973606 4.161612 +v -1.416536 3.008970 4.250000 +v -1.426012 2.973606 4.338388 +v -1.448889 2.888229 4.375000 +v -1.471765 2.802852 4.338388 +v -1.481241 2.767488 4.250000 +v -1.471765 2.802852 4.161612 +v -0.845185 2.726467 4.125000 +v -0.822309 2.811843 4.161612 +v -0.812832 2.847208 4.250000 +v -0.822309 2.811843 4.338388 +v -0.845185 2.726467 4.375000 +v -0.868062 2.641090 4.338388 +v -0.877537 2.605726 4.250000 +v -0.868062 2.641090 4.161612 +v -0.797302 2.805143 4.150888 +v -0.727456 2.824331 4.213388 +v -0.676561 2.772791 4.275888 +v -0.674432 2.680714 4.301777 +v -0.722314 2.602038 4.275888 +v -0.792161 2.582849 4.213388 +v -0.843055 2.634390 4.150888 +v -0.786944 2.802368 4.125000 +v -0.692092 2.814855 4.125000 +v -0.616191 2.756615 4.125000 +v -0.603703 2.661762 4.125000 +v -0.661944 2.585862 4.125000 +v -0.756797 2.573374 4.125000 +v -0.832697 2.631614 4.125000 +v -0.845185 2.726467 3.500000 +v -0.786944 2.802368 3.500000 +v -0.692092 2.814855 3.500000 +v -0.616191 2.756615 3.500000 +v -0.603703 2.661762 3.500000 +v -0.661944 2.585862 3.500000 +v -0.756797 2.573374 3.500000 +v -0.832697 2.631614 3.500000 +v 1.060660 3.560660 4.125000 +v 1.123160 3.498160 4.161612 +v 1.149049 3.472272 4.250000 +v 1.123160 3.498160 4.338388 +v 1.060660 3.560660 4.375000 +v 0.998160 3.623160 4.338388 +v 0.972272 3.649049 4.250000 +v 0.998160 3.623160 4.161612 +v 0.618719 3.118718 4.125000 +v 0.681219 3.056218 4.161612 +v 0.707107 3.030330 4.250000 +v 0.681219 3.056218 4.338388 +v 0.618719 3.118718 4.375000 +v 0.556219 3.181218 4.338388 +v 0.530330 3.207107 4.250000 +v 0.556219 3.181218 4.161612 +v 0.662913 3.037912 4.150888 +v 0.644607 2.967830 4.213388 +v 0.574524 2.949524 4.275888 +v 0.493719 2.993718 4.301777 +v 0.449524 3.074524 4.275888 +v 0.467830 3.144607 4.213388 +v 0.537913 3.162912 4.150888 +v 0.655330 3.030330 4.125000 +v 0.618719 2.941941 4.125000 +v 0.530330 2.905330 4.125000 +v 0.441942 2.941941 4.125000 +v 0.405331 3.030330 4.125000 +v 0.441942 3.118718 4.125000 +v 0.530330 3.155330 4.125000 +v 0.618719 3.118718 3.500000 +v 0.655330 3.030330 3.500000 +v 0.618719 2.941941 3.500000 +v 0.530330 2.905330 3.500000 +v 0.441942 2.941941 3.500000 +v 0.405331 3.030330 3.500000 +v 0.441942 3.118718 3.500000 +v 0.530330 3.155330 3.500000 +v -1.060660 1.439340 4.125000 +v -1.123160 1.501840 4.161612 +v -1.149049 1.527729 4.250000 +v -1.123160 1.501840 4.338388 +v -1.060660 1.439340 4.375000 +v -0.998160 1.376840 4.338388 +v -0.972272 1.350952 4.250000 +v -0.998160 1.376840 4.161612 +v -0.618719 1.881282 4.125000 +v -0.681219 1.943782 4.161612 +v -0.707107 1.969670 4.250000 +v -0.681219 1.943782 4.338388 +v -0.618719 1.881282 4.375000 +v -0.556219 1.818782 4.338388 +v -0.530330 1.792894 4.250000 +v -0.556219 1.818782 4.161612 +v -0.662913 1.962088 4.150888 +v -0.644607 2.032170 4.213388 +v -0.574525 2.050476 4.275888 +v -0.493719 2.006282 4.301777 +v -0.449525 1.925476 4.275888 +v -0.467830 1.855393 4.213388 +v -0.537913 1.837088 4.150888 +v -0.655330 1.969670 4.125000 +v -0.618719 2.058059 4.125000 +v -0.530330 2.094670 4.125000 +v -0.441942 2.058059 4.125000 +v -0.405331 1.969670 4.125000 +v -0.441942 1.881282 4.125000 +v -0.530330 1.844670 4.125000 +v -0.618719 1.881282 3.500000 +v -0.655330 1.969670 3.500000 +v -0.618719 2.058059 3.500000 +v -0.530330 2.094670 3.500000 +v -0.441942 2.058059 3.500000 +v -0.405331 1.969670 3.500000 +v -0.441942 1.881282 3.500000 +v -0.530330 1.844670 3.500000 +v 1.060660 1.439340 4.125000 +v 0.998160 1.376839 4.161612 +v 0.972272 1.350951 4.250000 +v 0.998160 1.376839 4.338388 +v 1.060660 1.439340 4.375000 +v 1.123160 1.501840 4.338388 +v 1.149049 1.527728 4.250000 +v 1.123160 1.501840 4.161612 +v 0.618718 1.881281 4.125000 +v 0.556218 1.818781 4.161612 +v 0.530330 1.792893 4.250000 +v 0.556218 1.818781 4.338388 +v 0.618718 1.881281 4.375000 +v 0.681218 1.943781 4.338388 +v 0.707107 1.969670 4.250000 +v 0.681218 1.943781 4.161612 +v 0.537912 1.837087 4.150888 +v 0.467830 1.855393 4.213388 +v 0.449524 1.925475 4.275888 +v 0.493718 2.006281 4.301777 +v 0.574524 2.050476 4.275888 +v 0.644607 2.032170 4.213388 +v 0.662912 1.962087 4.150888 +v 0.530330 1.844670 4.125000 +v 0.441941 1.881281 4.125000 +v 0.405330 1.969670 4.125000 +v 0.441941 2.058058 4.125000 +v 0.530330 2.094669 4.125000 +v 0.618718 2.058058 4.125000 +v 0.655330 1.969670 4.125000 +v 0.618718 1.881281 3.500000 +v 0.530330 1.844670 3.500000 +v 0.441941 1.881281 3.500000 +v 0.405330 1.969670 3.500000 +v 0.441941 2.058058 3.500000 +v 0.530330 2.094669 3.500000 +v 0.618718 2.058058 3.500000 +v 0.655330 1.969670 3.500000 +v -1.060660 3.560660 4.125000 +v -0.998160 3.623160 4.161612 +v -0.972271 3.649049 4.250000 +v -0.998160 3.623160 4.338388 +v -1.060660 3.560660 4.375000 +v -1.123160 3.498160 4.338388 +v -1.149048 3.472272 4.250000 +v -1.123160 3.498160 4.161612 +v -0.618718 3.118719 4.125000 +v -0.556218 3.181219 4.161612 +v -0.530330 3.207107 4.250000 +v -0.556218 3.181219 4.338388 +v -0.618718 3.118719 4.375000 +v -0.681218 3.056219 4.338388 +v -0.707107 3.030330 4.250000 +v -0.681218 3.056219 4.161612 +v -0.537912 3.162913 4.150888 +v -0.467830 3.144607 4.213388 +v -0.449524 3.074525 4.275888 +v -0.493718 2.993719 4.301777 +v -0.574524 2.949524 4.275888 +v -0.644607 2.967830 4.213388 +v -0.662912 3.037913 4.150888 +v -0.530330 3.155330 4.125000 +v -0.441941 3.118719 4.125000 +v -0.405330 3.030330 4.125000 +v -0.441941 2.941942 4.125000 +v -0.530330 2.905331 4.125000 +v -0.618718 2.941942 4.125000 +v -0.655330 3.030330 4.125000 +v -0.618718 3.118719 3.500000 +v -0.530330 3.155330 3.500000 +v -0.441941 3.118719 3.500000 +v -0.405330 3.030330 3.500000 +v -0.441941 2.941942 3.500000 +v -0.530330 2.905331 3.500000 +v -0.618718 2.941942 3.500000 +v -0.655330 3.030330 3.500000 +v 1.500000 0.000000 0.500000 +v 2.500000 0.000000 0.500000 +v 1.500000 0.000000 -0.500000 +v 2.500000 0.000000 -0.500000 +v 1.500000 0.250000 -0.500000 +v 1.500000 0.250000 0.500000 +v 2.500000 0.250000 0.500000 +v 2.500000 0.250000 -0.500000 +v 1.500000 0.000000 -3.500000 +v 2.500000 0.000000 -3.500000 +v 1.500000 0.000000 -4.500000 +v 2.500000 0.000000 -4.500000 +v 1.500000 0.250000 -4.500000 +v 1.500000 0.250000 -3.500000 +v 2.500000 0.250000 -3.500000 +v 2.500000 0.250000 -4.500000 +v -2.500000 0.000000 4.500000 +v -1.500000 0.000000 4.500000 +v -2.500000 0.000000 3.500000 +v -1.500000 0.000000 3.500000 +v -2.500000 0.250000 3.500000 +v -2.500000 0.250000 4.500000 +v -1.500000 0.250000 4.500000 +v -1.500000 0.250000 3.500000 +v -2.500000 0.000000 0.500000 +v -1.500000 0.000000 0.500000 +v -2.500000 0.000000 -0.500000 +v -1.500000 0.000000 -0.500000 +v -2.500000 0.250000 -0.500000 +v -2.500000 0.250000 0.500000 +v -1.500000 0.250000 0.500000 +v -1.500000 0.250000 -0.500000 +v -2.500000 0.000000 -3.500000 +v -1.500000 0.000000 -3.500000 +v -2.500000 0.000000 -4.500000 +v -1.500000 0.000000 -4.500000 +v -2.500000 0.250000 -4.500000 +v -2.500000 0.250000 -3.500000 +v -1.500000 0.250000 -3.500000 +v -1.500000 0.250000 -4.500000 +v 1.625000 0.250000 -0.375000 +v 1.625000 0.250000 0.375000 +v 2.375000 0.250000 0.375000 +v 2.375000 0.250000 -0.375000 +v 0.875000 1.000000 -0.375000 +v 0.875000 1.000000 0.375000 +v 1.625000 1.000000 0.375000 +v 1.625000 1.000000 -0.375000 +v -2.375000 0.250000 -0.375000 +v -2.375000 0.250000 0.375000 +v -1.625000 0.250000 0.375000 +v -1.625000 0.250000 -0.375000 +v -1.625000 1.000000 -0.375000 +v -1.625000 1.000000 0.375000 +v -0.875000 1.000000 0.375000 +v -0.875000 1.000000 -0.375000 +v 1.750000 0.250000 0.250000 +v 2.250000 0.250000 0.250000 +v 1.750000 0.250000 -0.250000 +v 2.250000 0.250000 -0.250000 +v 1.750000 1.750000 0.250000 +v 2.250000 1.750000 0.250000 +v 1.750000 1.750000 -0.250000 +v 2.250000 1.750000 -0.250000 +v -2.250000 0.250000 0.250000 +v -1.750000 0.250000 0.250000 +v -2.250000 0.250000 -0.250000 +v -1.750000 0.250000 -0.250000 +v -2.250000 1.750000 0.250000 +v -1.750000 1.750000 0.250000 +v -2.250000 1.750000 -0.250000 +v -1.750000 1.750000 -0.250000 +v 1.625000 0.250000 -4.375000 +v 1.625000 0.250000 -3.625000 +v 2.375000 0.250000 -3.625000 +v 2.375000 0.250000 -4.375000 +v 0.875000 1.000000 -4.375000 +v 0.875000 1.000000 -3.625000 +v 1.625000 1.000000 -3.625000 +v 1.625000 1.000000 -4.375000 +v -2.375000 0.250000 -4.375000 +v -2.375000 0.250000 -3.625000 +v -1.625000 0.250000 -3.625000 +v -1.625000 0.250000 -4.375000 +v -1.625000 1.000000 -4.375000 +v -1.625000 1.000000 -3.625000 +v -0.875000 1.000000 -3.625000 +v -0.875000 1.000000 -4.375000 +v 1.750000 0.250000 -3.750000 +v 2.250000 0.250000 -3.750000 +v 1.750000 0.250000 -4.250000 +v 2.250000 0.250000 -4.250000 +v 1.750000 1.750000 -3.750000 +v 2.250000 1.750000 -3.750000 +v 1.750000 1.750000 -4.250000 +v 2.250000 1.750000 -4.250000 +v -2.250000 0.250000 -3.750000 +v -1.750000 0.250000 -3.750000 +v -2.250000 0.250000 -4.250000 +v -1.750000 0.250000 -4.250000 +v -2.250000 1.750000 -3.750000 +v -1.750000 1.750000 -3.750000 +v -2.250000 1.750000 -4.250000 +v -1.750000 1.750000 -4.250000 +vt 0.878788 0.411765 +vt 0.818182 0.352941 +vt 0.878788 0.352941 +vt 0.979699 0.073530 +vt 0.979699 0.220587 +vt 0.717270 0.220587 +vt 1.000000 0.411765 +vt 0.939394 0.352941 +vt 1.000000 0.352941 +vt 0.939394 0.411765 +vt 0.939394 0.294118 +vt 0.878788 0.294118 +vt 0.878788 0.470588 +vt 0.939394 0.470588 +vt 0.696970 0.073529 +vt 0.151515 0.147059 +vt 0.151515 0.073529 +vt 0.696970 0.735294 +vt 0.151515 0.808824 +vt 0.151515 0.735294 +vt 0.696970 0.367647 +vt 0.151515 0.441176 +vt 0.151515 0.367647 +vt 0.696970 0.514706 +vt 0.151515 0.588235 +vt 0.151515 0.514706 +vt 0.696970 0.147059 +vt 0.151515 0.220588 +vt 0.696970 0.808824 +vt 0.151515 0.882353 +vt 0.696970 0.588235 +vt 0.151515 0.661765 +vt 0.696970 0.220588 +vt 0.151515 0.294118 +vt 0.696970 -0.000000 +vt 0.151515 0.000000 +vt 0.696970 0.661765 +vt 0.696970 0.294118 +vt 0.696970 0.441176 +vt 0.090909 0.161765 +vt 0.090909 0.235294 +vt 0.090909 0.352941 +vt 0.090909 0.308824 +vt 0.090909 0.382353 +vt 0.090909 0.455882 +vt 0.090909 0.573529 +vt 0.090909 0.529412 +vt 0.090909 0.602941 +vt 0.090909 0.676471 +vt 0.090909 0.794118 +vt 0.090909 0.750000 +vt 0.090909 0.823529 +vt 0.090909 0.014706 +vt 0.090909 0.088235 +vt 0.090909 0.867647 +vt 0.060606 0.823529 +vt 0.090909 0.647059 +vt 0.060606 0.602941 +vt 0.090909 0.279412 +vt 0.060606 0.235294 +vt 0.090909 0.058824 +vt 0.060606 0.014706 +vt 0.090909 0.720588 +vt 0.060606 0.676471 +vt 0.060606 0.308824 +vt 0.090909 0.500000 +vt 0.060606 0.455882 +vt 0.090909 0.132353 +vt 0.060606 0.088235 +vt 0.060606 0.750000 +vt 0.090909 0.426471 +vt 0.060606 0.382353 +vt 0.060606 0.529412 +vt 0.090909 0.205882 +vt 0.060606 0.161765 +vt 0.060606 0.058824 +vt 0.030303 0.022059 +vt 0.060606 0.132353 +vt 0.030303 0.095588 +vt 0.030303 0.198529 +vt 0.030303 0.169118 +vt 0.060606 0.279412 +vt 0.030303 0.242647 +vt 0.060606 0.352941 +vt 0.030303 0.316176 +vt 0.060606 0.426471 +vt 0.030303 0.389706 +vt 0.060606 0.500000 +vt 0.030303 0.463235 +vt 0.060606 0.573529 +vt 0.030303 0.536765 +vt 0.060606 0.647059 +vt 0.030303 0.610294 +vt 0.030303 0.713235 +vt 0.030303 0.683824 +vt 0.030303 0.786765 +vt 0.030303 0.757353 +vt 0.060606 0.867647 +vt 0.030303 0.830882 +vt 0.000000 0.169118 +vt 0.030303 0.860294 +vt 0.000000 0.830882 +vt 0.030303 0.639706 +vt -0.000000 0.610294 +vt 0.030303 0.272059 +vt 0.000000 0.242647 +vt 0.030303 0.051471 +vt -0.000000 0.022059 +vt -0.000000 0.683824 +vt 0.030303 0.345588 +vt -0.000000 0.316176 +vt 0.030303 0.492647 +vt 0.000000 0.463235 +vt 0.030303 0.125000 +vt -0.000000 0.095588 +vt -0.000000 0.757353 +vt 0.030303 0.419118 +vt 0.000000 0.389706 +vt 0.030303 0.566176 +vt -0.000000 0.536765 +vt 0.810054 0.382349 +vt 0.757576 0.411756 +vt 0.705097 0.323534 +vt 0.772727 0.411765 +vt 0.833333 0.470588 +vt 0.772727 0.470588 +vt 0.833333 0.485294 +vt 0.772727 0.544118 +vt 0.772727 0.485294 +vt 0.848485 0.544118 +vt 0.848485 0.485294 +vt 0.757576 0.485294 +vt 0.757576 0.544118 +vt 0.772727 0.558824 +vt 0.833333 0.544118 +vt 0.833333 0.558824 +vt 0.878788 0.558824 +vt 0.833333 0.602941 +vt 0.833333 0.558824 +vt 0.742424 0.558824 +vt 0.787879 0.602941 +vt 0.742424 0.602941 +vt 0.787879 0.558824 +vt 0.696970 0.602941 +vt 0.696970 0.558824 +vt 0.833333 0.558824 +vt 0.878788 0.602941 +vt 0.833333 0.602941 +vt 0.787879 0.558824 +vt 0.742424 0.602941 +vt 0.742424 0.558824 +vt 0.787879 0.602941 +vt 0.696970 0.602941 +vt 0.696970 0.558824 +vt 0.787879 0.691176 +vt 0.757576 0.602941 +vt 0.787879 0.602941 +vt 0.727273 0.691176 +vt 0.696970 0.602941 +vt 0.727273 0.602941 +vt 0.757576 0.691176 +vt 0.727273 0.691176 +vt 0.696970 0.602941 +vt 0.727273 0.602941 +vt 0.787879 0.691176 +vt 0.757576 0.602941 +vt 0.787879 0.602941 +vt 0.757576 0.691176 +vt 0.053030 0.882353 +vt 0.477273 0.911765 +vt 0.053030 0.911765 +vt 0.477273 1.000000 +vt 0.477273 0.970588 +vt 0.507576 1.000000 +vt 0.053030 0.941176 +vt 0.477273 0.941176 +vt 0.053030 0.970588 +vt 0.053030 1.000000 +vt 0.022727 1.000000 +vt 0.507576 0.941176 +vt 0.507576 0.970588 +vt 0.022727 1.000000 +vt -0.000000 0.970588 +vt 0.022727 0.970588 +vt 0.022727 0.911765 +vt 0.053030 0.970588 +vt 0.022727 0.941176 +vt 0.053030 0.941176 +vt 0.530303 0.941176 +vt 0.530303 0.970588 +vt 0.507576 0.911765 +vt 0.477273 1.000000 +vt 0.477273 0.970588 +vt 0.507576 1.000000 +vt 0.053030 0.882353 +vt 0.477273 0.911765 +vt 0.053030 0.911765 +vt 0.530303 1.000000 +vt 0.507576 1.000000 +vt 0.507576 0.882353 +vt 0.530303 0.911765 +vt 0.507576 0.911765 +vt 0.022727 0.882353 +vt -0.000000 0.911765 +vt -0.000000 0.882353 +vt -0.000000 0.941176 +vt 0.022727 0.941176 +vt 0.022727 0.911765 +vt 0.477273 0.941176 +vt 0.053030 1.000000 +vt 0.022727 1.000000 +vt 0.507576 0.941176 +vt 0.507576 0.970588 +vt 0.022727 1.000000 +vt -0.000000 0.970588 +vt 0.022727 0.970588 +vt 0.022727 0.911765 +vt 0.530303 0.941176 +vt 0.530303 0.970588 +vt 0.507576 0.911765 +vt 0.530303 1.000000 +vt 0.507576 1.000000 +vt 0.507576 0.882353 +vt 0.530303 0.911765 +vt 0.507576 0.911765 +vt 0.022727 0.882353 +vt -0.000000 0.911765 +vt -0.000000 0.882353 +vt -0.000000 0.941176 +vt 0.022727 0.911765 +vt 0.772727 0.411765 +vt 0.833333 0.470588 +vt 0.772727 0.470588 +vt 0.833333 0.485294 +vt 0.772727 0.544118 +vt 0.772727 0.485294 +vt 0.848485 0.544118 +vt 0.848485 0.485294 +vt 0.757576 0.485294 +vt 0.757576 0.544118 +vt 0.772727 0.558824 +vt 0.833333 0.544118 +vt 0.833333 0.558824 +vt 0.772727 0.411765 +vt 0.833333 0.470588 +vt 0.772727 0.470588 +vt 0.833333 0.485294 +vt 0.772727 0.544118 +vt 0.772727 0.485294 +vt 0.848485 0.544118 +vt 0.848485 0.485294 +vt 0.757576 0.485294 +vt 0.757576 0.544118 +vt 0.772727 0.558824 +vt 0.833333 0.544118 +vt 0.833333 0.558824 +vt 0.772727 0.411765 +vt 0.833333 0.470588 +vt 0.772727 0.470588 +vt 0.833333 0.485294 +vt 0.772727 0.544118 +vt 0.772727 0.485294 +vt 0.848485 0.544118 +vt 0.848485 0.485294 +vt 0.757576 0.485294 +vt 0.757576 0.544118 +vt 0.772727 0.558824 +vt 0.833333 0.544118 +vt 0.833333 0.558824 +vt 0.772727 0.411765 +vt 0.833333 0.470588 +vt 0.772727 0.470588 +vt 0.833333 0.485294 +vt 0.772727 0.544118 +vt 0.772727 0.485294 +vt 0.848485 0.544118 +vt 0.848485 0.485294 +vt 0.757576 0.485294 +vt 0.757576 0.544118 +vt 0.772727 0.558824 +vt 0.833333 0.544118 +vt 0.833333 0.558824 +vt 0.772727 0.411765 +vt 0.833333 0.470588 +vt 0.772727 0.470588 +vt 0.833333 0.485294 +vt 0.772727 0.544118 +vt 0.772727 0.485294 +vt 0.848485 0.544118 +vt 0.848485 0.485294 +vt 0.757576 0.485294 +vt 0.757576 0.544118 +vt 0.772727 0.558824 +vt 0.833333 0.544118 +vt 0.833333 0.558824 +vt 0.878788 0.558824 +vt 0.833333 0.602941 +vt 0.833333 0.558824 +vt 0.742424 0.558824 +vt 0.787879 0.602941 +vt 0.742424 0.602941 +vt 0.787879 0.558824 +vt 0.696970 0.602941 +vt 0.696970 0.558824 +vt 0.833333 0.558824 +vt 0.878788 0.602941 +vt 0.833333 0.602941 +vt 0.787879 0.558824 +vt 0.742424 0.602941 +vt 0.742424 0.558824 +vt 0.787879 0.602941 +vt 0.696970 0.602941 +vt 0.696970 0.558824 +vt 0.787879 0.691176 +vt 0.757576 0.602941 +vt 0.787879 0.602941 +vt 0.727273 0.691176 +vt 0.696970 0.602941 +vt 0.727273 0.602941 +vt 0.757576 0.691176 +vt 0.727273 0.691176 +vt 0.696970 0.602941 +vt 0.727273 0.602941 +vt 0.787879 0.691176 +vt 0.757576 0.602941 +vt 0.787879 0.602941 +vt 0.757576 0.691176 +vt 0.878788 0.558824 +vt 0.833333 0.602941 +vt 0.833333 0.558824 +vt 0.742424 0.558824 +vt 0.787879 0.602941 +vt 0.742424 0.602941 +vt 0.787879 0.558824 +vt 0.696970 0.602941 +vt 0.696970 0.558824 +vt 0.833333 0.558824 +vt 0.878788 0.602941 +vt 0.833333 0.602941 +vt 0.787879 0.558824 +vt 0.742424 0.602941 +vt 0.742424 0.558824 +vt 0.787879 0.602941 +vt 0.696970 0.602941 +vt 0.696970 0.558824 +vt 0.787879 0.691176 +vt 0.757576 0.602941 +vt 0.787879 0.602941 +vt 0.727273 0.691176 +vt 0.696970 0.602941 +vt 0.727273 0.602941 +vt 0.757576 0.691176 +vt 0.727273 0.691176 +vt 0.696970 0.602941 +vt 0.727273 0.602941 +vt 0.787879 0.691176 +vt 0.757576 0.602941 +vt 0.787879 0.602941 +vt 0.757576 0.691176 +vt 0.818182 0.411765 +vt 0.924241 0.274414 +vt 0.848485 0.294116 +vt 0.772728 0.274414 +vt 0.696972 0.147059 +vt 0.717271 0.073530 +vt 0.772728 0.019704 +vt 0.848485 0.000002 +vt 0.924242 0.019704 +vt 0.999998 0.147059 +vt 0.696970 0.882353 +vt 0.060606 0.720588 +vt 0.060606 0.794118 +vt 0.060606 0.205882 +vt 0.000000 0.198529 +vt 0.000000 0.860294 +vt -0.000000 0.639706 +vt 0.000000 0.272059 +vt -0.000000 0.051471 +vt 0.000000 0.713235 +vt -0.000000 0.345588 +vt 0.000000 0.492647 +vt -0.000000 0.125000 +vt -0.000000 0.786765 +vt 0.000000 0.419118 +vt -0.000000 0.566176 +vt 0.727277 0.403876 +vt 0.705097 0.382348 +vt 0.696979 0.352941 +vt 0.727277 0.302006 +vt 0.757576 0.294126 +vt 0.787874 0.302006 +vt 0.810054 0.323534 +vt 0.818173 0.352941 +vt 0.787874 0.403876 +vt 0.833333 0.411765 +vt 0.878788 0.602941 +vt 0.878788 0.558824 +vt 0.696970 0.691176 +vt 0.696970 0.691176 +vt 0.477273 0.882353 +vt -0.000000 1.000000 +vt 0.477273 0.882353 +vt 0.530303 0.882353 +vt -0.000000 1.000000 +vt 0.530303 0.882353 +vt 0.833333 0.411765 +vt 0.833333 0.411765 +vt 0.833333 0.411765 +vt 0.833333 0.411765 +vt 0.833333 0.411765 +vt 0.878788 0.602941 +vt 0.878788 0.558824 +vt 0.696970 0.691176 +vt 0.696970 0.691176 +vt 0.878788 0.602941 +vt 0.878788 0.558824 +vt 0.696970 0.691176 +vt 0.696970 0.691176 +vt 0.696970 0.507353 +vt 0.704545 0.470588 +vt 0.704545 0.507353 +vt 0.712121 0.507353 +vt 0.719697 0.470588 +vt 0.719697 0.507353 +vt 0.727273 0.507353 +vt 0.734848 0.470588 +vt 0.734848 0.507353 +vt 0.750000 0.507353 +vt 0.742424 0.470588 +vt 0.750000 0.470588 +vt 0.712121 0.470588 +vt 0.727273 0.470588 +vt 0.742424 0.507353 +vt 0.757576 0.507353 +vt 0.757576 0.470588 +vt 0.742424 0.466912 +vt 0.750000 0.459559 +vt 0.750000 0.463235 +vt 0.704545 0.463235 +vt 0.712121 0.459559 +vt 0.712121 0.466912 +vt 0.719697 0.459559 +vt 0.727273 0.459559 +vt 0.734848 0.459559 +vt 0.742424 0.459559 +vt 0.704545 0.459559 +vt 0.712121 0.452206 +vt 0.719697 0.448529 +vt 0.727273 0.448529 +vt 0.742424 0.452206 +vt 0.734848 0.448529 +vt 0.750000 0.455882 +vt 0.696970 0.459559 +vt 0.704545 0.455882 +vt 0.757576 0.459559 +vt 0.750000 0.448529 +vt 0.757576 0.411765 +vt 0.757576 0.448529 +vt 0.704545 0.448529 +vt 0.712121 0.411765 +vt 0.712121 0.448529 +vt 0.696970 0.448529 +vt 0.704545 0.411765 +vt 0.727273 0.411765 +vt 0.742424 0.411765 +vt 0.742424 0.448529 +vt 0.719697 0.411765 +vt 0.734848 0.411765 +vt 0.750000 0.411765 +vt 0.696970 0.507353 +vt 0.704545 0.470588 +vt 0.704545 0.507353 +vt 0.712121 0.507353 +vt 0.719697 0.470588 +vt 0.719697 0.507353 +vt 0.727273 0.507353 +vt 0.734848 0.470588 +vt 0.734848 0.507353 +vt 0.742424 0.507353 +vt 0.750000 0.470588 +vt 0.750000 0.507353 +vt 0.712121 0.470588 +vt 0.727273 0.470588 +vt 0.742424 0.470588 +vt 0.757576 0.507353 +vt 0.757576 0.470588 +vt 0.742424 0.466912 +vt 0.750000 0.459559 +vt 0.750000 0.463235 +vt 0.704545 0.463235 +vt 0.712121 0.459559 +vt 0.712121 0.466912 +vt 0.727273 0.459559 +vt 0.742424 0.459559 +vt 0.719697 0.459559 +vt 0.734848 0.459559 +vt 0.704545 0.455882 +vt 0.712121 0.452206 +vt 0.727273 0.448529 +vt 0.742424 0.452206 +vt 0.719697 0.448529 +vt 0.734848 0.448529 +vt 0.750000 0.455882 +vt 0.696970 0.459559 +vt 0.704545 0.459559 +vt 0.757576 0.459559 +vt 0.750000 0.448529 +vt 0.757576 0.411765 +vt 0.757576 0.448529 +vt 0.704545 0.448529 +vt 0.712121 0.411765 +vt 0.712121 0.448529 +vt 0.696970 0.448529 +vt 0.704545 0.411765 +vt 0.727273 0.411765 +vt 0.742424 0.411765 +vt 0.742424 0.448529 +vt 0.719697 0.411765 +vt 0.734848 0.411765 +vt 0.750000 0.411765 +vt 0.696970 0.507353 +vt 0.704545 0.470588 +vt 0.704545 0.507353 +vt 0.719697 0.507353 +vt 0.712121 0.470588 +vt 0.719697 0.470588 +vt 0.727273 0.507353 +vt 0.734848 0.470588 +vt 0.734848 0.507353 +vt 0.742424 0.507353 +vt 0.750000 0.470588 +vt 0.750000 0.507353 +vt 0.712121 0.507353 +vt 0.727273 0.470588 +vt 0.742424 0.470588 +vt 0.757576 0.470588 +vt 0.757576 0.507353 +vt 0.742424 0.466912 +vt 0.750000 0.459559 +vt 0.750000 0.463235 +vt 0.712121 0.466912 +vt 0.704545 0.459559 +vt 0.712121 0.459559 +vt 0.727273 0.459559 +vt 0.734848 0.459559 +vt 0.742424 0.459559 +vt 0.719697 0.459559 +vt 0.704545 0.455882 +vt 0.712121 0.452206 +vt 0.727273 0.448529 +vt 0.742424 0.452206 +vt 0.719697 0.448529 +vt 0.734848 0.448529 +vt 0.750000 0.455882 +vt 0.704545 0.463235 +vt 0.696970 0.459559 +vt 0.757576 0.459559 +vt 0.750000 0.448529 +vt 0.757576 0.411765 +vt 0.757576 0.448529 +vt 0.704545 0.448529 +vt 0.712121 0.411765 +vt 0.712121 0.448529 +vt 0.696970 0.448529 +vt 0.704545 0.411765 +vt 0.727273 0.411765 +vt 0.742424 0.411765 +vt 0.742424 0.448529 +vt 0.719697 0.411765 +vt 0.734848 0.411765 +vt 0.750000 0.411765 +vt 0.696970 0.507353 +vt 0.704545 0.470588 +vt 0.704545 0.507353 +vt 0.712121 0.507353 +vt 0.719697 0.470588 +vt 0.719697 0.507353 +vt 0.727273 0.507353 +vt 0.734848 0.470588 +vt 0.734848 0.507353 +vt 0.742424 0.507353 +vt 0.750000 0.470588 +vt 0.750000 0.507353 +vt 0.712121 0.470588 +vt 0.727273 0.470588 +vt 0.742424 0.470588 +vt 0.757576 0.470588 +vt 0.757576 0.507353 +vt 0.742424 0.466912 +vt 0.750000 0.459559 +vt 0.750000 0.463235 +vt 0.712121 0.466912 +vt 0.704545 0.459559 +vt 0.712121 0.459559 +vt 0.727273 0.459559 +vt 0.734848 0.459559 +vt 0.742424 0.459559 +vt 0.719697 0.459559 +vt 0.704545 0.455882 +vt 0.712121 0.452206 +vt 0.727273 0.448529 +vt 0.742424 0.452206 +vt 0.719697 0.448529 +vt 0.734848 0.448529 +vt 0.750000 0.455882 +vt 0.704545 0.463235 +vt 0.696970 0.459559 +vt 0.757576 0.459559 +vt 0.750000 0.448529 +vt 0.757576 0.411765 +vt 0.757576 0.448529 +vt 0.704545 0.448529 +vt 0.712121 0.411765 +vt 0.712121 0.448529 +vt 0.696970 0.448529 +vt 0.704545 0.411765 +vt 0.727273 0.411765 +vt 0.742424 0.411765 +vt 0.742424 0.448529 +vt 0.719697 0.411765 +vt 0.734848 0.411765 +vt 0.750000 0.411765 +vt 0.696970 0.507353 +vt 0.704545 0.470588 +vt 0.704545 0.507353 +vt 0.712121 0.507353 +vt 0.719697 0.470588 +vt 0.719697 0.507353 +vt 0.734848 0.507353 +vt 0.727273 0.470588 +vt 0.734848 0.470588 +vt 0.742424 0.507353 +vt 0.750000 0.470588 +vt 0.750000 0.507353 +vt 0.712121 0.470588 +vt 0.727273 0.507353 +vt 0.742424 0.470588 +vt 0.757576 0.470588 +vt 0.757576 0.507353 +vt 0.742424 0.466912 +vt 0.750000 0.459559 +vt 0.750000 0.463235 +vt 0.712121 0.466912 +vt 0.704545 0.459559 +vt 0.712121 0.459559 +vt 0.727273 0.459559 +vt 0.734848 0.459559 +vt 0.742424 0.459559 +vt 0.719697 0.459559 +vt 0.704545 0.455882 +vt 0.712121 0.452206 +vt 0.727273 0.448529 +vt 0.742424 0.452206 +vt 0.719697 0.448529 +vt 0.734848 0.448529 +vt 0.750000 0.455882 +vt 0.704545 0.463235 +vt 0.696970 0.459559 +vt 0.757576 0.459559 +vt 0.750000 0.448529 +vt 0.757576 0.411765 +vt 0.757576 0.448529 +vt 0.704545 0.448529 +vt 0.712121 0.411765 +vt 0.712121 0.448529 +vt 0.696970 0.448529 +vt 0.704545 0.411765 +vt 0.727273 0.411765 +vt 0.742424 0.411765 +vt 0.742424 0.448529 +vt 0.719697 0.411765 +vt 0.734848 0.411765 +vt 0.750000 0.411765 +vt 0.696970 0.507353 +vt 0.704545 0.470588 +vt 0.704545 0.507353 +vt 0.712121 0.507353 +vt 0.719697 0.470588 +vt 0.719697 0.507353 +vt 0.727273 0.507353 +vt 0.734848 0.470588 +vt 0.734848 0.507353 +vt 0.742424 0.507353 +vt 0.750000 0.470588 +vt 0.750000 0.507353 +vt 0.712121 0.470588 +vt 0.727273 0.470588 +vt 0.742424 0.470588 +vt 0.757576 0.507353 +vt 0.757576 0.470588 +vt 0.742424 0.466912 +vt 0.750000 0.459559 +vt 0.750000 0.463235 +vt 0.704545 0.463235 +vt 0.712121 0.459559 +vt 0.712121 0.466912 +vt 0.727273 0.459559 +vt 0.734848 0.459559 +vt 0.742424 0.459559 +vt 0.719697 0.459559 +vt 0.704545 0.455882 +vt 0.712121 0.452206 +vt 0.727273 0.448529 +vt 0.734848 0.448529 +vt 0.742424 0.452206 +vt 0.719697 0.448529 +vt 0.750000 0.455882 +vt 0.696970 0.459559 +vt 0.704545 0.459559 +vt 0.757576 0.459559 +vt 0.750000 0.448529 +vt 0.757576 0.411765 +vt 0.757576 0.448529 +vt 0.704545 0.448529 +vt 0.712121 0.411765 +vt 0.712121 0.448529 +vt 0.696970 0.448529 +vt 0.704545 0.411765 +vt 0.727273 0.411765 +vt 0.742424 0.411765 +vt 0.742424 0.448529 +vt 0.719697 0.411765 +vt 0.734848 0.411765 +vt 0.750000 0.411765 +vt 0.696970 0.507353 +vt 0.704545 0.470588 +vt 0.704545 0.507353 +vt 0.719697 0.507353 +vt 0.712121 0.470588 +vt 0.719697 0.470588 +vt 0.727273 0.507353 +vt 0.734848 0.470588 +vt 0.734848 0.507353 +vt 0.742424 0.507353 +vt 0.750000 0.470588 +vt 0.750000 0.507353 +vt 0.712121 0.507353 +vt 0.727273 0.470588 +vt 0.742424 0.470588 +vt 0.757576 0.507353 +vt 0.757576 0.470588 +vt 0.742424 0.466912 +vt 0.750000 0.459559 +vt 0.750000 0.463235 +vt 0.712121 0.466912 +vt 0.704545 0.459559 +vt 0.712121 0.459559 +vt 0.727273 0.459559 +vt 0.734848 0.459559 +vt 0.742424 0.459559 +vt 0.719697 0.459559 +vt 0.704545 0.455882 +vt 0.712121 0.452206 +vt 0.727273 0.448529 +vt 0.734848 0.448529 +vt 0.742424 0.452206 +vt 0.719697 0.448529 +vt 0.750000 0.455882 +vt 0.704545 0.463235 +vt 0.696970 0.459559 +vt 0.757576 0.459559 +vt 0.750000 0.448529 +vt 0.757576 0.411765 +vt 0.757576 0.448529 +vt 0.704545 0.448529 +vt 0.712121 0.411765 +vt 0.712121 0.448529 +vt 0.696970 0.448529 +vt 0.704545 0.411765 +vt 0.727273 0.411765 +vt 0.742424 0.411765 +vt 0.742424 0.448529 +vt 0.719697 0.411765 +vt 0.734848 0.411765 +vt 0.750000 0.411765 +vt 0.696970 0.507353 +vt 0.704545 0.470588 +vt 0.704545 0.507353 +vt 0.712121 0.507353 +vt 0.719697 0.470588 +vt 0.719697 0.507353 +vt 0.727273 0.507353 +vt 0.734848 0.470588 +vt 0.734848 0.507353 +vt 0.742424 0.507353 +vt 0.750000 0.470588 +vt 0.750000 0.507353 +vt 0.712121 0.470588 +vt 0.727273 0.470588 +vt 0.742424 0.470588 +vt 0.757576 0.507353 +vt 0.757576 0.470588 +vt 0.742424 0.466912 +vt 0.750000 0.459559 +vt 0.750000 0.463235 +vt 0.712121 0.466912 +vt 0.704545 0.459559 +vt 0.712121 0.459559 +vt 0.727273 0.459559 +vt 0.734848 0.459559 +vt 0.742424 0.459559 +vt 0.719697 0.459559 +vt 0.704545 0.455882 +vt 0.712121 0.452206 +vt 0.727273 0.448529 +vt 0.734848 0.448529 +vt 0.742424 0.452206 +vt 0.719697 0.448529 +vt 0.750000 0.455882 +vt 0.704545 0.463235 +vt 0.696970 0.459559 +vt 0.757576 0.459559 +vt 0.750000 0.448529 +vt 0.757576 0.411765 +vt 0.757576 0.448529 +vt 0.704545 0.448529 +vt 0.712121 0.411765 +vt 0.712121 0.448529 +vt 0.696970 0.448529 +vt 0.704545 0.411765 +vt 0.727273 0.411765 +vt 0.742424 0.411765 +vt 0.742424 0.448529 +vt 0.719697 0.411765 +vt 0.734848 0.411765 +vt 0.750000 0.411765 +vt 0.696970 0.507353 +vt 0.704545 0.470588 +vt 0.704545 0.507353 +vt 0.712121 0.507353 +vt 0.719697 0.470588 +vt 0.719697 0.507353 +vt 0.734848 0.507353 +vt 0.727273 0.470588 +vt 0.734848 0.470588 +vt 0.742424 0.507353 +vt 0.750000 0.470588 +vt 0.750000 0.507353 +vt 0.712121 0.470588 +vt 0.727273 0.507353 +vt 0.742424 0.470588 +vt 0.757576 0.507353 +vt 0.757576 0.470588 +vt 0.742424 0.466912 +vt 0.750000 0.459559 +vt 0.750000 0.463235 +vt 0.704545 0.463235 +vt 0.712121 0.459559 +vt 0.712121 0.466912 +vt 0.727273 0.459559 +vt 0.734848 0.459559 +vt 0.742424 0.459559 +vt 0.719697 0.459559 +vt 0.704545 0.455882 +vt 0.712121 0.452206 +vt 0.727273 0.448529 +vt 0.742424 0.452206 +vt 0.719697 0.448529 +vt 0.734848 0.448529 +vt 0.750000 0.455882 +vt 0.696970 0.459559 +vt 0.704545 0.459559 +vt 0.757576 0.459559 +vt 0.750000 0.448529 +vt 0.757576 0.411765 +vt 0.757576 0.448529 +vt 0.704545 0.448529 +vt 0.712121 0.411765 +vt 0.712121 0.448529 +vt 0.696970 0.448529 +vt 0.704545 0.411765 +vt 0.727273 0.411765 +vt 0.742424 0.411765 +vt 0.742424 0.448529 +vt 0.719697 0.411765 +vt 0.734848 0.411765 +vt 0.750000 0.411765 +vt 0.696970 0.507353 +vt 0.704545 0.470588 +vt 0.704545 0.507353 +vt 0.712121 0.507353 +vt 0.719697 0.470588 +vt 0.719697 0.507353 +vt 0.727273 0.507353 +vt 0.734848 0.470588 +vt 0.734848 0.507353 +vt 0.742424 0.507353 +vt 0.750000 0.470588 +vt 0.750000 0.507353 +vt 0.712121 0.470588 +vt 0.727273 0.470588 +vt 0.742424 0.470588 +vt 0.757576 0.507353 +vt 0.757576 0.470588 +vt 0.742424 0.466912 +vt 0.750000 0.459559 +vt 0.750000 0.463235 +vt 0.712121 0.466912 +vt 0.704545 0.459559 +vt 0.712121 0.459559 +vt 0.719697 0.459559 +vt 0.727273 0.459559 +vt 0.734848 0.459559 +vt 0.742424 0.459559 +vt 0.704545 0.455882 +vt 0.712121 0.452206 +vt 0.719697 0.448529 +vt 0.727273 0.448529 +vt 0.734848 0.448529 +vt 0.742424 0.452206 +vt 0.750000 0.455882 +vt 0.704545 0.463235 +vt 0.696970 0.459559 +vt 0.757576 0.459559 +vt 0.750000 0.448529 +vt 0.757576 0.411765 +vt 0.757576 0.448529 +vt 0.704545 0.448529 +vt 0.712121 0.411765 +vt 0.712121 0.448529 +vt 0.696970 0.448529 +vt 0.704545 0.411765 +vt 0.727273 0.411765 +vt 0.742424 0.411765 +vt 0.742424 0.448529 +vt 0.719697 0.411765 +vt 0.734848 0.411765 +vt 0.750000 0.411765 +vt 0.696970 0.507353 +vt 0.704545 0.470588 +vt 0.704545 0.507353 +vt 0.712121 0.507353 +vt 0.719697 0.470588 +vt 0.719697 0.507353 +vt 0.734848 0.507353 +vt 0.727273 0.470588 +vt 0.734848 0.470588 +vt 0.742424 0.507353 +vt 0.750000 0.470588 +vt 0.750000 0.507353 +vt 0.712121 0.470588 +vt 0.727273 0.507353 +vt 0.742424 0.470588 +vt 0.757576 0.507353 +vt 0.757576 0.470588 +vt 0.742424 0.466912 +vt 0.750000 0.459559 +vt 0.750000 0.463235 +vt 0.704545 0.463235 +vt 0.712121 0.459559 +vt 0.712121 0.466912 +vt 0.727273 0.459559 +vt 0.734848 0.459559 +vt 0.742424 0.459559 +vt 0.719697 0.459559 +vt 0.704545 0.455882 +vt 0.712121 0.452206 +vt 0.719697 0.448529 +vt 0.727273 0.448529 +vt 0.742424 0.452206 +vt 0.734848 0.448529 +vt 0.750000 0.455882 +vt 0.696970 0.459559 +vt 0.704545 0.459559 +vt 0.757576 0.459559 +vt 0.750000 0.448529 +vt 0.757576 0.411765 +vt 0.757576 0.448529 +vt 0.704545 0.448529 +vt 0.712121 0.411765 +vt 0.712121 0.448529 +vt 0.696970 0.448529 +vt 0.704545 0.411765 +vt 0.727273 0.411765 +vt 0.742424 0.411765 +vt 0.742424 0.448529 +vt 0.719697 0.411765 +vt 0.734848 0.411765 +vt 0.750000 0.411765 +vt 0.696970 0.507353 +vt 0.704545 0.470588 +vt 0.704545 0.507353 +vt 0.719697 0.507353 +vt 0.712121 0.470588 +vt 0.719697 0.470588 +vt 0.734848 0.507353 +vt 0.727273 0.470588 +vt 0.734848 0.470588 +vt 0.742424 0.507353 +vt 0.750000 0.470588 +vt 0.750000 0.507353 +vt 0.712121 0.507353 +vt 0.727273 0.507353 +vt 0.742424 0.470588 +vt 0.757576 0.470588 +vt 0.757576 0.507353 +vt 0.742424 0.466912 +vt 0.750000 0.459559 +vt 0.750000 0.463235 +vt 0.712121 0.466912 +vt 0.704545 0.459559 +vt 0.712121 0.459559 +vt 0.727273 0.459559 +vt 0.734848 0.459559 +vt 0.742424 0.459559 +vt 0.719697 0.459559 +vt 0.704545 0.455882 +vt 0.712121 0.452206 +vt 0.727273 0.448529 +vt 0.742424 0.452206 +vt 0.719697 0.448529 +vt 0.734848 0.448529 +vt 0.750000 0.455882 +vt 0.704545 0.463235 +vt 0.696970 0.459559 +vt 0.757576 0.459559 +vt 0.750000 0.448529 +vt 0.757576 0.411765 +vt 0.757576 0.448529 +vt 0.704545 0.448529 +vt 0.712121 0.411765 +vt 0.712121 0.448529 +vt 0.696970 0.448529 +vt 0.704545 0.411765 +vt 0.727273 0.411765 +vt 0.742424 0.411765 +vt 0.742424 0.448529 +vt 0.719697 0.411765 +vt 0.734848 0.411765 +vt 0.750000 0.411765 +vt 0.696970 0.470588 +vt 0.696970 0.411765 +vt 0.696970 0.470588 +vt 0.696970 0.411765 +vt 0.696970 0.470588 +vt 0.696970 0.411765 +vt 0.696970 0.470588 +vt 0.696970 0.411765 +vt 0.696970 0.470588 +vt 0.696970 0.411765 +vt 0.696970 0.470588 +vt 0.696970 0.411765 +vt 0.696970 0.470588 +vt 0.696970 0.411765 +vt 0.696970 0.470588 +vt 0.696970 0.411765 +vt 0.696970 0.470588 +vt 0.696970 0.411765 +vt 0.696970 0.470588 +vt 0.696970 0.411765 +vt 0.696970 0.470588 +vt 0.696970 0.411765 +vt 0.696970 0.470588 +vt 0.696970 0.411765 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.2588 0.9659 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.9659 -0.2588 0.0000 +vn -0.2588 -0.9659 0.0000 +vn -0.9659 0.2588 0.0000 +vn 0.9659 0.2588 0.0000 +vn 0.2588 -0.9659 0.0000 +vn -0.9659 -0.2588 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.2588 0.9659 0.0000 +vn 0.5000 0.5000 -0.7071 +vn -0.5000 0.5000 0.7071 +vn -0.5000 0.5000 -0.7071 +vn 0.5000 0.5000 0.7071 +vn -0.7368 -0.0563 -0.6737 +vn -0.6830 -0.1830 -0.7071 +vn -0.6188 -0.3157 0.7194 +vn -0.6830 -0.1830 0.7071 +vn 0.6937 0.0360 0.7194 +vn 0.6830 0.1830 0.7071 +vn 0.6830 0.1830 -0.7071 +vn 0.9697 0.2395 0.0473 +vn 0.6663 0.3196 -0.6737 +vn -0.9596 -0.2774 0.0473 +vn 0.0483 -0.1802 0.9824 +vn -0.1830 0.6830 -0.7071 +vn 0.6120 0.6420 -0.4617 +vn -0.9442 -0.3224 0.0670 +vn -0.5034 -0.6829 0.5293 +vn 0.1830 -0.6830 0.7071 +vn 0.7774 -0.3397 0.5293 +vn 0.9789 0.1928 0.0670 +vn -0.8510 0.2500 -0.4617 +vn -0.9524 -0.3041 0.0196 +vn -0.4700 -0.8707 0.1447 +vn 0.2542 -0.9489 0.1866 +vn 0.9769 0.2128 0.0196 +vn 0.8424 -0.5190 0.1447 +vn 0.5272 0.8387 -0.1363 +vn -0.8759 0.4628 -0.1363 +vn -0.8660 0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.7368 0.0563 -0.6737 +vn 0.6188 0.3157 0.7194 +vn -0.6937 -0.0360 0.7194 +vn -0.6663 -0.3196 -0.6737 +vn 0.9596 0.2774 0.0473 +vn -0.0483 0.1802 0.9824 +vn -0.9697 -0.2395 0.0473 +vn 0.1830 -0.6830 -0.7071 +vn -0.6120 -0.6420 -0.4617 +vn 0.9442 0.3224 0.0670 +vn -0.1830 0.6830 0.7071 +vn -0.9789 -0.1928 0.0670 +vn 0.5034 0.6829 0.5293 +vn -0.7774 0.3397 0.5293 +vn 0.8759 -0.4628 -0.1363 +vn 0.9524 0.3041 0.0196 +vn -0.2542 0.9489 0.1866 +vn -0.9769 -0.2128 0.0196 +vn 0.4700 0.8707 0.1447 +vn -0.8424 0.5190 0.1447 +vn -0.5272 -0.8387 -0.1363 +vn 0.8510 -0.2500 -0.4617 +vn -0.0563 0.7368 -0.6737 +vn -0.2774 0.9596 0.0473 +vn -0.3157 0.6188 0.7194 +vn 0.0360 -0.6937 0.7194 +vn 0.3196 -0.6663 -0.6737 +vn -0.1802 -0.0483 0.9824 +vn 0.2395 -0.9697 0.0473 +vn 0.6420 -0.6120 -0.4617 +vn 0.2500 0.8510 -0.4617 +vn -0.3224 0.9442 0.0670 +vn -0.3397 -0.7774 0.5293 +vn 0.1928 -0.9789 0.0670 +vn -0.6829 0.5034 0.5293 +vn 0.4628 0.8759 -0.1363 +vn -0.3041 0.9524 0.0196 +vn -0.9489 -0.2542 0.1866 +vn 0.2128 -0.9769 0.0196 +vn -0.8707 0.4700 0.1447 +vn -0.5190 -0.8424 0.1447 +vn 0.8387 -0.5272 -0.1363 +vn 0.0563 -0.7368 -0.6737 +vn 0.3157 -0.6188 0.7194 +vn -0.0360 0.6937 0.7194 +vn -0.3196 0.6663 -0.6737 +vn 0.2774 -0.9596 0.0473 +vn 0.1802 0.0483 0.9824 +vn -0.2395 0.9697 0.0473 +vn -0.6420 0.6120 -0.4617 +vn -0.2500 -0.8510 -0.4617 +vn 0.3224 -0.9442 0.0670 +vn 0.3397 0.7774 0.5293 +vn -0.1928 0.9789 0.0670 +vn 0.6829 -0.5034 0.5293 +vn -0.4628 -0.8759 -0.1363 +vn 0.3041 -0.9524 0.0196 +vn 0.9489 0.2542 0.1866 +vn -0.2128 0.9769 0.0196 +vn 0.8707 -0.4700 0.1447 +vn 0.5190 0.8424 0.1447 +vn -0.8387 0.5272 -0.1363 +vn -0.6663 0.3196 -0.6737 +vn -0.6830 0.1830 -0.7071 +vn -0.6937 0.0360 0.7194 +vn -0.6830 0.1830 0.7071 +vn 0.6830 -0.1830 0.7071 +vn -0.0483 -0.1802 0.9824 +vn 0.6188 -0.3157 0.7194 +vn 0.7368 -0.0563 -0.6737 +vn 0.6830 -0.1830 -0.7071 +vn -0.9697 0.2395 0.0473 +vn 0.9596 -0.2774 0.0473 +vn 0.1830 0.6830 -0.7071 +vn 0.8510 0.2499 -0.4617 +vn -0.6120 0.6420 -0.4617 +vn -0.9789 0.1928 0.0670 +vn -0.1830 -0.6830 0.7071 +vn 0.5034 -0.6829 0.5293 +vn 0.9442 -0.3224 0.0670 +vn -0.7774 -0.3397 0.5293 +vn -0.5272 0.8387 -0.1363 +vn -0.9769 0.2128 0.0196 +vn -0.2542 -0.9489 0.1866 +vn 0.9524 -0.3041 0.0196 +vn -0.8424 -0.5190 0.1447 +vn 0.4700 -0.8707 0.1447 +vn 0.8759 0.4628 -0.1363 +vn -0.5000 0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.6663 -0.3196 -0.6737 +vn 0.6937 -0.0360 0.7194 +vn -0.6188 0.3157 0.7194 +vn -0.7368 0.0563 -0.6737 +vn 0.9697 -0.2395 0.0473 +vn 0.0483 0.1802 0.9824 +vn -0.9596 0.2774 0.0473 +vn -0.1830 -0.6830 -0.7071 +vn -0.8510 -0.2499 -0.4617 +vn 0.9789 -0.1928 0.0670 +vn 0.1830 0.6830 0.7071 +vn -0.5034 0.6829 0.5293 +vn -0.9442 0.3224 0.0670 +vn 0.7774 0.3397 0.5293 +vn 0.5272 -0.8387 -0.1363 +vn 0.9769 -0.2128 0.0196 +vn 0.2542 0.9489 0.1866 +vn -0.4700 0.8707 0.1447 +vn -0.9524 0.3041 0.0196 +vn 0.8424 0.5190 0.1447 +vn -0.8759 -0.4628 -0.1363 +vn 0.6120 -0.6420 -0.4617 +vn 0.3196 0.6663 -0.6737 +vn 0.2395 0.9697 0.0473 +vn 0.0360 0.6937 0.7194 +vn -0.3157 -0.6188 0.7194 +vn -0.0563 -0.7368 -0.6737 +vn -0.1802 0.0483 0.9824 +vn -0.2774 -0.9596 0.0473 +vn 0.2499 -0.8510 -0.4617 +vn 0.6420 0.6120 -0.4617 +vn 0.1928 0.9789 0.0670 +vn -0.6829 -0.5034 0.5293 +vn -0.3224 -0.9442 0.0670 +vn -0.3397 0.7774 0.5293 +vn 0.8387 0.5272 -0.1363 +vn 0.2128 0.9769 0.0196 +vn -0.9489 0.2542 0.1866 +vn -0.8707 -0.4700 0.1447 +vn -0.3041 -0.9524 0.0196 +vn -0.5190 0.8424 0.1447 +vn 0.4628 -0.8759 -0.1363 +vn -0.3196 -0.6663 -0.6737 +vn -0.0360 -0.6937 0.7194 +vn 0.3157 0.6188 0.7194 +vn 0.0563 0.7368 -0.6737 +vn -0.2395 -0.9697 0.0473 +vn 0.1802 -0.0483 0.9824 +vn 0.2774 0.9596 0.0473 +vn -0.2499 0.8510 -0.4617 +vn -0.6420 -0.6120 -0.4617 +vn -0.1928 -0.9789 0.0670 +vn 0.6829 0.5034 0.5293 +vn 0.3224 0.9442 0.0670 +vn 0.3397 -0.7774 0.5293 +vn -0.8387 -0.5272 -0.1363 +vn -0.2128 -0.9769 0.0196 +vn 0.9489 -0.2542 0.1866 +vn 0.8707 0.4700 0.1447 +vn 0.3041 0.9524 0.0196 +vn 0.5190 -0.8424 0.1447 +vn -0.4628 0.8759 -0.1363 +vn -0.4172 0.6099 -0.6737 +vn -0.5828 0.3780 0.7194 +vn 0.5000 -0.5000 0.7071 +vn -0.1319 -0.1319 0.9824 +vn 0.3780 -0.5828 0.7194 +vn 0.6099 -0.4172 -0.6737 +vn 0.5000 -0.5000 -0.7071 +vn -0.7200 0.6923 0.0473 +vn 0.6923 -0.7200 0.0473 +vn 0.8620 -0.2090 -0.4617 +vn -0.7513 0.6565 0.0670 +vn -0.5000 -0.5000 0.7071 +vn 0.0945 -0.8431 0.5293 +vn 0.6565 -0.7513 0.0670 +vn -0.8431 0.0945 0.5293 +vn -0.0372 0.9900 -0.1363 +vn -0.7396 0.6727 0.0196 +vn -0.6947 -0.6947 0.1866 +vn 0.6727 -0.7396 0.0196 +vn -0.9890 -0.0283 0.1447 +vn -0.0283 -0.9890 0.1447 +vn 0.9900 -0.0372 -0.1363 +vn -0.2090 0.8620 -0.4617 +vn 0.4172 -0.6099 -0.6737 +vn 0.5828 -0.3780 0.7194 +vn -0.3780 0.5828 0.7194 +vn -0.6099 0.4172 -0.6737 +vn 0.7200 -0.6923 0.0473 +vn 0.1319 0.1319 0.9824 +vn -0.6923 0.7200 0.0473 +vn -0.5000 -0.5000 -0.7071 +vn -0.8620 0.2090 -0.4617 +vn 0.2090 -0.8620 -0.4617 +vn 0.7513 -0.6565 0.0670 +vn 0.8431 -0.0945 0.5293 +vn -0.0945 0.8431 0.5293 +vn -0.6565 0.7513 0.0670 +vn 0.0372 -0.9900 -0.1363 +vn 0.7396 -0.6727 0.0196 +vn 0.9890 0.0283 0.1447 +vn 0.6947 0.6947 0.1866 +vn 0.0283 0.9890 0.1447 +vn -0.6727 0.7396 0.0196 +vn -0.9900 0.0372 -0.1363 +vn 0.6099 0.4172 -0.6737 +vn 0.3780 0.5828 0.7194 +vn -0.1319 0.1319 0.9824 +vn -0.5828 -0.3780 0.7194 +vn -0.4172 -0.6099 -0.6737 +vn 0.6923 0.7200 0.0473 +vn -0.7200 -0.6923 0.0473 +vn -0.2090 -0.8620 -0.4617 +vn 0.6565 0.7513 0.0670 +vn -0.8431 -0.0945 0.5293 +vn -0.7513 -0.6565 0.0670 +vn 0.0945 0.8431 0.5293 +vn 0.9900 0.0372 -0.1363 +vn 0.6727 0.7396 0.0196 +vn -0.0283 0.9890 0.1447 +vn -0.6947 0.6947 0.1866 +vn -0.7396 -0.6727 0.0196 +vn -0.9890 0.0282 0.1447 +vn -0.0372 -0.9900 -0.1363 +vn 0.8620 0.2090 -0.4617 +vn -0.6099 -0.4172 -0.6737 +vn -0.6923 -0.7200 0.0473 +vn -0.3780 -0.5828 0.7194 +vn 0.1319 -0.1319 0.9824 +vn 0.5828 0.3780 0.7194 +vn 0.4172 0.6099 -0.6737 +vn 0.7200 0.6923 0.0473 +vn 0.2090 0.8620 -0.4617 +vn -0.8620 -0.2090 -0.4617 +vn -0.6565 -0.7513 0.0670 +vn 0.8431 0.0945 0.5293 +vn 0.7513 0.6565 0.0670 +vn -0.0945 -0.8431 0.5293 +vn -0.9900 -0.0372 -0.1363 +vn -0.6727 -0.7396 0.0196 +vn 0.6947 -0.6947 0.1866 +vn 0.7396 0.6727 0.0196 +vn 0.0283 -0.9890 0.1447 +vn 0.9890 -0.0282 0.1447 +vn 0.0372 0.9900 -0.1363 +s off +f 2/1/1 3/2/1 1/3/1 +f 25/4/2 23/5/2 31/6/2 +f 8/7/3 5/8/3 7/9/3 +f 6/10/4 1/3/4 5/8/4 +f 7/11/5 1/3/5 3/12/5 +f 4/13/6 6/10/6 8/14/6 +f 28/15/7 17/16/7 16/17/7 +f 25/18/8 14/19/8 13/20/8 +f 32/21/9 9/22/9 20/23/9 +f 22/24/10 11/25/10 10/26/10 +f 29/27/11 18/28/11 17/16/11 +f 26/29/12 15/30/12 14/19/12 +f 23/31/13 12/32/13 11/25/13 +f 30/33/14 19/34/14 18/28/14 +f 27/35/15 16/17/15 15/36/15 +f 24/37/16 13/20/16 12/32/16 +f 31/38/17 20/23/17 19/34/17 +f 21/39/18 10/26/18 9/22/18 +f 18/28/4 41/40/4 17/16/4 +f 19/34/4 42/41/4 18/28/4 +f 19/34/4 44/42/4 43/43/4 +f 9/22/4 44/44/4 20/23/4 +f 10/26/4 33/45/4 9/22/4 +f 10/26/4 35/46/4 34/47/4 +f 12/32/4 35/48/4 11/25/4 +f 13/20/4 36/49/4 12/32/4 +f 13/20/4 38/50/4 37/51/4 +f 15/30/4 38/52/4 14/19/4 +f 16/17/4 39/53/4 15/36/4 +f 17/16/4 40/54/4 16/17/4 +f 39/55/9 50/56/9 38/52/9 +f 36/57/11 47/58/11 35/48/11 +f 43/59/16 54/60/16 42/41/16 +f 40/61/18 51/62/18 39/53/18 +f 37/63/14 48/64/14 36/49/14 +f 44/42/8 55/65/8 43/43/8 +f 34/66/15 45/67/15 33/45/15 +f 41/68/10 52/69/10 40/54/10 +f 38/50/17 49/70/17 37/51/17 +f 33/71/12 56/72/12 44/44/12 +f 35/46/7 46/73/7 34/47/7 +f 42/74/13 53/75/13 41/40/13 +f 52/76/4 63/77/4 51/62/4 +f 53/78/4 64/79/4 52/69/4 +f 53/75/4 66/80/4 65/81/4 +f 55/82/4 66/83/4 54/60/4 +f 56/84/4 67/85/4 55/65/4 +f 45/86/4 68/87/4 56/72/4 +f 46/88/4 57/89/4 45/67/4 +f 47/90/4 58/91/4 46/73/4 +f 48/92/4 59/93/4 47/58/4 +f 48/64/4 61/94/4 60/95/4 +f 49/70/4 62/96/4 61/97/4 +f 51/98/4 62/99/4 50/56/4 +f 66/80/13 77/100/13 65/81/13 +f 63/101/9 74/102/9 62/99/9 +f 60/103/11 71/104/11 59/93/11 +f 67/105/16 78/106/16 66/83/16 +f 64/107/18 75/108/18 63/77/18 +f 61/94/14 72/109/14 60/95/14 +f 68/110/8 79/111/8 67/85/8 +f 58/112/15 69/113/15 57/89/15 +f 65/114/10 76/115/10 64/79/10 +f 62/96/17 73/116/17 61/97/17 +f 57/117/12 80/118/12 68/87/12 +f 59/119/7 70/120/7 58/91/7 +f 79/121/4 69/122/4 73/123/4 +f 83/124/5 82/125/5 81/126/5 +f 87/127/6 85/128/6 86/129/6 +f 84/130/3 87/127/3 82/131/3 +f 81/132/1 85/128/1 83/133/1 +f 83/134/2 88/135/2 84/136/2 +f 82/125/4 86/129/4 81/126/4 +f 89/137/2 96/138/2 92/139/2 +f 90/140/4 95/141/4 94/142/4 +f 92/139/17 95/141/17 91/143/17 +f 90/140/8 93/144/8 89/145/8 +f 100/146/2 101/147/2 104/148/2 +f 99/149/4 102/150/4 98/151/4 +f 100/146/7 103/152/7 99/149/7 +f 98/151/10 101/153/10 97/154/10 +f 149/155/2 146/156/2 145/157/2 +f 148/158/4 143/159/4 144/160/4 +f 150/161/3 144/160/3 146/156/3 +f 157/162/2 154/163/2 153/164/2 +f 156/165/4 151/166/4 152/167/4 +f 153/164/1 155/168/1 157/162/1 +f 160/169/8 161/170/8 159/171/8 +f 162/172/10 166/173/10 169/174/10 +f 166/173/17 163/175/17 165/176/17 +f 164/177/10 160/178/10 168/179/10 +f 165/176/7 159/171/7 161/170/7 +f 162/172/10 164/177/10 166/173/10 +f 166/173/19 170/180/19 169/181/19 +f 160/182/10 176/183/10 168/184/10 +f 159/171/7 163/175/7 167/185/7 +f 184/186/20 187/187/20 183/188/20 +f 169/181/2 178/189/2 177/190/2 +f 165/176/7 161/170/7 170/191/7 +f 182/192/8 186/193/8 189/194/8 +f 180/195/7 181/196/7 179/197/7 +f 169/181/10 173/198/10 162/199/10 +f 162/200/4 174/201/4 161/202/4 +f 160/203/2 171/204/2 172/205/2 +f 168/184/4 175/206/4 167/207/4 +f 167/207/7 171/204/7 159/208/7 +f 161/202/7 178/189/7 170/180/7 +f 186/193/10 183/188/10 185/209/10 +f 184/186/8 180/210/8 188/211/8 +f 185/209/17 179/197/17 181/196/17 +f 182/192/8 184/186/8 186/193/8 +f 186/193/21 190/212/21 189/213/21 +f 180/214/8 196/215/8 188/216/8 +f 179/197/17 183/188/17 187/217/17 +f 189/213/2 198/218/2 197/219/2 +f 185/209/17 181/196/17 190/220/17 +f 189/213/8 193/221/8 182/222/8 +f 182/223/4 194/224/4 181/225/4 +f 180/226/2 191/227/2 192/228/2 +f 188/216/4 195/229/4 187/187/4 +f 187/187/17 191/227/17 179/230/17 +f 181/225/17 198/218/17 190/212/17 +f 164/177/22 167/207/22 163/175/22 +f 619/231/5 618/232/5 617/233/5 +f 623/234/6 621/235/6 622/236/6 +f 620/237/3 623/234/3 618/238/3 +f 617/239/1 621/235/1 619/240/1 +f 619/241/2 624/242/2 620/243/2 +f 618/232/4 622/236/4 617/233/4 +f 627/244/5 626/245/5 625/246/5 +f 631/247/6 629/248/6 630/249/6 +f 628/250/3 631/247/3 626/251/3 +f 625/252/1 629/248/1 627/253/1 +f 627/254/2 632/255/2 628/256/2 +f 626/245/4 630/249/4 625/246/4 +f 635/257/5 634/258/5 633/259/5 +f 639/260/6 637/261/6 638/262/6 +f 636/263/3 639/260/3 634/264/3 +f 633/265/1 637/261/1 635/266/1 +f 635/267/2 640/268/2 636/269/2 +f 634/258/4 638/262/4 633/259/4 +f 643/270/5 642/271/5 641/272/5 +f 647/273/6 645/274/6 646/275/6 +f 644/276/3 647/273/3 642/277/3 +f 641/278/1 645/274/1 643/279/1 +f 643/280/2 648/281/2 644/282/2 +f 642/271/4 646/275/4 641/272/4 +f 651/283/5 650/284/5 649/285/5 +f 655/286/6 653/287/6 654/288/6 +f 652/289/3 655/286/3 650/290/3 +f 649/291/1 653/287/1 651/292/1 +f 651/293/2 656/294/2 652/295/2 +f 650/284/4 654/288/4 649/285/4 +f 657/296/2 664/297/2 660/298/2 +f 658/299/4 663/300/4 662/301/4 +f 660/298/17 663/300/17 659/302/17 +f 658/299/8 661/303/8 657/304/8 +f 668/305/2 669/306/2 672/307/2 +f 667/308/4 670/309/4 666/310/4 +f 668/305/7 671/311/7 667/308/7 +f 666/310/10 669/312/10 665/313/10 +f 679/314/2 676/315/2 675/316/2 +f 678/317/4 673/318/4 674/319/4 +f 680/320/3 674/319/3 676/315/3 +f 687/321/2 684/322/2 683/323/2 +f 686/324/4 681/325/4 682/326/4 +f 683/323/1 685/327/1 687/321/1 +f 689/328/2 696/329/2 692/330/2 +f 690/331/4 695/332/4 694/333/4 +f 692/330/17 695/332/17 691/334/17 +f 690/331/8 693/335/8 689/336/8 +f 700/337/2 701/338/2 704/339/2 +f 699/340/4 702/341/4 698/342/4 +f 700/337/7 703/343/7 699/340/7 +f 698/342/10 701/344/10 697/345/10 +f 711/346/2 708/347/2 707/348/2 +f 710/349/4 705/350/4 706/351/4 +f 712/352/3 706/351/3 708/347/3 +f 719/353/2 716/354/2 715/355/2 +f 718/356/4 713/357/4 714/358/4 +f 715/355/1 717/359/1 719/353/1 +f 2/1/1 4/360/1 3/2/1 +f 23/5/2 22/361/2 31/6/2 +f 22/361/2 21/362/2 31/6/2 +f 21/362/2 32/363/2 31/6/2 +f 31/6/2 30/364/2 29/365/2 +f 29/365/2 28/366/2 31/6/2 +f 28/366/2 27/367/2 31/6/2 +f 27/367/2 26/368/2 25/4/2 +f 25/4/2 24/369/2 23/5/2 +f 27/367/2 25/4/2 31/6/2 +f 8/7/3 6/10/3 5/8/3 +f 6/10/4 2/1/4 1/3/4 +f 7/11/5 5/8/5 1/3/5 +f 4/13/6 2/1/6 6/10/6 +f 28/15/7 29/27/7 17/16/7 +f 25/18/8 26/29/8 14/19/8 +f 32/21/9 21/39/9 9/22/9 +f 22/24/10 23/31/10 11/25/10 +f 29/27/11 30/33/11 18/28/11 +f 26/29/12 27/370/12 15/30/12 +f 23/31/13 24/37/13 12/32/13 +f 30/33/14 31/38/14 19/34/14 +f 27/35/15 28/15/15 16/17/15 +f 24/37/16 25/18/16 13/20/16 +f 31/38/17 32/21/17 20/23/17 +f 21/39/18 22/24/18 10/26/18 +f 18/28/4 42/74/4 41/40/4 +f 19/34/4 43/59/4 42/41/4 +f 19/34/4 20/23/4 44/42/4 +f 9/22/4 33/71/4 44/44/4 +f 10/26/4 34/66/4 33/45/4 +f 10/26/4 11/25/4 35/46/4 +f 12/32/4 36/57/4 35/48/4 +f 13/20/4 37/63/4 36/49/4 +f 13/20/4 14/19/4 38/50/4 +f 15/30/4 39/55/4 38/52/4 +f 16/17/4 40/61/4 39/53/4 +f 17/16/4 41/68/4 40/54/4 +f 39/55/9 51/98/9 50/56/9 +f 36/57/11 48/92/11 47/58/11 +f 43/59/16 55/82/16 54/60/16 +f 40/61/18 52/76/18 51/62/18 +f 37/63/14 49/371/14 48/64/14 +f 44/42/8 56/84/8 55/65/8 +f 34/66/15 46/88/15 45/67/15 +f 41/68/10 53/78/10 52/69/10 +f 38/50/17 50/372/17 49/70/17 +f 33/71/12 45/86/12 56/72/12 +f 35/46/7 47/90/7 46/73/7 +f 42/74/13 54/373/13 53/75/13 +f 52/76/4 64/107/4 63/77/4 +f 53/78/4 65/114/4 64/79/4 +f 53/75/4 54/373/4 66/80/4 +f 55/82/4 67/105/4 66/83/4 +f 56/84/4 68/110/4 67/85/4 +f 45/86/4 57/117/4 68/87/4 +f 46/88/4 58/112/4 57/89/4 +f 47/90/4 59/119/4 58/91/4 +f 48/92/4 60/103/4 59/93/4 +f 48/64/4 49/371/4 61/94/4 +f 49/70/4 50/372/4 62/96/4 +f 51/98/4 63/101/4 62/99/4 +f 66/80/13 78/374/13 77/100/13 +f 63/101/9 75/375/9 74/102/9 +f 60/103/11 72/376/11 71/104/11 +f 67/105/16 79/377/16 78/106/16 +f 64/107/18 76/378/18 75/108/18 +f 61/94/14 73/379/14 72/109/14 +f 68/110/8 80/380/8 79/111/8 +f 58/112/15 70/381/15 69/113/15 +f 65/114/10 77/382/10 76/115/10 +f 62/96/17 74/383/17 73/116/17 +f 57/117/12 69/384/12 80/118/12 +f 59/119/7 71/385/7 70/120/7 +f 69/122/4 70/386/4 71/387/4 +f 71/387/4 72/388/4 69/122/4 +f 72/388/4 73/123/4 69/122/4 +f 73/123/4 74/389/4 75/390/4 +f 75/390/4 76/391/4 77/392/4 +f 77/392/4 78/393/4 79/121/4 +f 79/121/4 80/394/4 69/122/4 +f 73/123/4 75/390/4 77/392/4 +f 77/392/4 79/121/4 73/123/4 +f 83/124/5 84/395/5 82/125/5 +f 87/127/6 88/135/6 85/128/6 +f 84/130/3 88/135/3 87/127/3 +f 81/132/1 86/129/1 85/128/1 +f 83/134/2 85/128/2 88/135/2 +f 82/125/4 87/127/4 86/129/4 +f 89/137/2 93/396/2 96/138/2 +f 90/140/4 91/143/4 95/141/4 +f 92/139/17 96/138/17 95/141/17 +f 90/140/8 94/142/8 93/144/8 +f 100/146/2 97/397/2 101/147/2 +f 99/149/4 103/152/4 102/150/4 +f 100/146/7 104/148/7 103/152/7 +f 98/151/10 102/150/10 101/153/10 +f 149/155/2 150/161/2 146/156/2 +f 148/158/4 147/398/4 143/159/4 +f 150/161/3 148/158/3 144/160/3 +f 157/162/2 158/399/2 154/163/2 +f 156/165/4 155/168/4 151/166/4 +f 153/164/1 151/166/1 155/168/1 +f 160/169/8 162/400/8 161/170/8 +f 166/173/17 164/177/17 163/175/17 +f 165/176/7 163/175/7 159/171/7 +f 162/172/10 160/178/10 164/177/10 +f 166/173/19 165/176/19 170/180/19 +f 160/182/10 172/401/10 176/183/10 +f 184/186/20 188/216/20 187/187/20 +f 169/181/2 170/180/2 178/189/2 +f 180/195/7 182/402/7 181/196/7 +f 169/181/10 177/190/10 173/198/10 +f 162/200/4 173/403/4 174/201/4 +f 160/203/2 159/208/2 171/204/2 +f 168/184/4 176/183/4 175/206/4 +f 167/207/7 175/206/7 171/204/7 +f 161/202/7 174/201/7 178/189/7 +f 186/193/10 184/186/10 183/188/10 +f 185/209/17 183/188/17 179/197/17 +f 182/192/8 180/210/8 184/186/8 +f 186/193/21 185/209/21 190/212/21 +f 180/214/8 192/404/8 196/215/8 +f 189/213/2 190/212/2 198/218/2 +f 189/213/8 197/219/8 193/221/8 +f 182/223/4 193/405/4 194/224/4 +f 180/226/2 179/230/2 191/227/2 +f 188/216/4 196/215/4 195/229/4 +f 187/187/17 195/229/17 191/227/17 +f 181/225/17 194/224/17 198/218/17 +f 164/177/22 168/184/22 167/207/22 +f 619/231/5 620/406/5 618/232/5 +f 623/234/6 624/242/6 621/235/6 +f 620/237/3 624/242/3 623/234/3 +f 617/239/1 622/236/1 621/235/1 +f 619/241/2 621/235/2 624/242/2 +f 618/232/4 623/234/4 622/236/4 +f 627/244/5 628/407/5 626/245/5 +f 631/247/6 632/255/6 629/248/6 +f 628/250/3 632/255/3 631/247/3 +f 625/252/1 630/249/1 629/248/1 +f 627/254/2 629/248/2 632/255/2 +f 626/245/4 631/247/4 630/249/4 +f 635/257/5 636/408/5 634/258/5 +f 639/260/6 640/268/6 637/261/6 +f 636/263/3 640/268/3 639/260/3 +f 633/265/1 638/262/1 637/261/1 +f 635/267/2 637/261/2 640/268/2 +f 634/258/4 639/260/4 638/262/4 +f 643/270/5 644/409/5 642/271/5 +f 647/273/6 648/281/6 645/274/6 +f 644/276/3 648/281/3 647/273/3 +f 641/278/1 646/275/1 645/274/1 +f 643/280/2 645/274/2 648/281/2 +f 642/271/4 647/273/4 646/275/4 +f 651/283/5 652/410/5 650/284/5 +f 655/286/6 656/294/6 653/287/6 +f 652/289/3 656/294/3 655/286/3 +f 649/291/1 654/288/1 653/287/1 +f 651/293/2 653/287/2 656/294/2 +f 650/284/4 655/286/4 654/288/4 +f 657/296/2 661/411/2 664/297/2 +f 658/299/4 659/302/4 663/300/4 +f 660/298/17 664/297/17 663/300/17 +f 658/299/8 662/301/8 661/303/8 +f 668/305/2 665/412/2 669/306/2 +f 667/308/4 671/311/4 670/309/4 +f 668/305/7 672/307/7 671/311/7 +f 666/310/10 670/309/10 669/312/10 +f 679/314/2 680/320/2 676/315/2 +f 678/317/4 677/413/4 673/318/4 +f 680/320/3 678/317/3 674/319/3 +f 687/321/2 688/414/2 684/322/2 +f 686/324/4 685/327/4 681/325/4 +f 683/323/1 681/325/1 685/327/1 +f 689/328/2 693/415/2 696/329/2 +f 690/331/4 691/334/4 695/332/4 +f 692/330/17 696/329/17 695/332/17 +f 690/331/8 694/333/8 693/335/8 +f 700/337/2 697/416/2 701/338/2 +f 699/340/4 703/343/4 702/341/4 +f 700/337/7 704/339/7 703/343/7 +f 698/342/10 702/341/10 701/344/10 +f 711/346/2 712/352/2 708/347/2 +f 710/349/4 709/417/4 705/350/4 +f 712/352/3 710/349/3 706/351/3 +f 719/353/2 720/418/2 716/354/2 +f 718/356/4 717/359/4 713/357/4 +f 715/355/1 713/357/1 717/359/1 +s 1 +f 105/419/2 120/420/23 112/421/24 +f 111/422/16 118/423/25 110/424/26 +f 109/425/4 116/426/27 108/427/28 +f 106/428/29 115/429/30 114/430/31 +f 112/421/24 119/431/32 111/422/16 +f 110/424/26 117/432/33 109/425/4 +f 107/433/14 116/426/27 115/429/30 +f 105/434/2 114/430/31 113/435/34 +f 115/436/30 121/437/35 114/438/31 +f 120/439/23 126/440/36 119/441/32 +f 117/432/33 125/442/37 124/443/38 +f 115/436/30 123/444/39 122/445/40 +f 119/441/32 125/442/37 118/423/25 +f 117/432/33 123/444/39 116/426/27 +f 127/446/41 133/447/42 126/440/36 +f 124/443/38 132/448/43 131/449/44 +f 123/444/39 129/450/45 122/445/40 +f 126/440/36 132/448/43 125/442/37 +f 124/443/38 130/451/46 123/444/39 +f 122/445/40 128/452/47 121/437/35 +f 120/439/23 113/453/34 127/446/41 +f 127/446/41 113/453/34 134/454/48 +f 114/438/31 121/437/35 113/455/34 +f 121/437/35 128/452/47 113/455/34 +f 128/456/47 135/457/18 113/458/34 +f 134/459/48 141/460/16 133/461/42 +f 113/462/34 142/463/49 134/459/48 +f 132/448/43 139/464/15 131/449/44 +f 130/451/46 137/465/14 129/466/45 +f 133/461/42 140/467/50 132/448/43 +f 131/449/44 138/468/51 130/451/46 +f 129/466/45 136/469/52 128/456/47 +f 199/470/2 214/471/53 206/472/29 +f 205/473/14 212/474/54 204/475/28 +f 203/476/4 210/477/55 202/478/26 +f 201/479/16 208/480/56 200/481/24 +f 206/472/29 213/482/57 205/473/14 +f 203/476/4 212/474/54 211/483/58 +f 201/479/16 210/477/55 209/484/59 +f 199/485/2 208/480/56 207/486/60 +f 209/487/59 215/488/61 208/489/56 +f 214/490/53 220/491/62 213/492/57 +f 212/474/54 218/493/63 211/483/58 +f 210/477/55 216/494/64 209/487/59 +f 212/474/54 220/491/62 219/495/65 +f 210/477/55 218/493/63 217/496/66 +f 220/491/62 228/497/67 227/498/68 +f 219/495/65 225/499/69 218/493/63 +f 217/496/66 223/500/70 216/494/64 +f 220/491/62 226/501/71 219/495/65 +f 218/493/63 224/502/72 217/496/66 +f 215/488/61 223/500/70 222/503/73 +f 214/490/53 207/504/60 221/505/74 +f 221/505/74 207/504/60 228/497/67 +f 208/489/56 215/488/61 207/506/60 +f 215/488/61 222/503/73 207/506/60 +f 222/507/73 229/508/15 207/509/60 +f 228/510/67 235/511/14 227/512/68 +f 207/513/60 236/514/51 228/510/67 +f 226/501/71 233/515/18 225/499/69 +f 224/502/72 231/516/16 223/517/70 +f 227/512/68 234/518/52 226/501/71 +f 225/499/69 232/519/49 224/502/72 +f 223/517/70 230/520/50 222/507/73 +f 237/521/2 252/522/75 244/523/34 +f 242/524/63 251/525/76 250/526/77 +f 241/527/4 248/528/78 240/529/38 +f 239/530/15 246/531/79 238/532/60 +f 243/533/18 252/522/75 251/525/76 +f 241/527/4 250/526/77 249/534/80 +f 239/530/15 248/528/78 247/535/81 +f 238/532/60 245/536/29 237/537/2 +f 247/538/81 253/539/82 246/540/79 +f 251/541/76 259/542/83 258/543/84 +f 250/526/77 256/544/26 249/534/80 +f 247/538/81 255/545/85 254/546/86 +f 250/526/77 258/543/84 257/547/87 +f 248/528/78 256/544/26 255/545/85 +f 258/543/84 266/548/88 265/549/89 +f 257/547/87 263/550/90 256/544/26 +f 255/545/85 261/551/91 254/546/86 +f 258/543/84 264/552/92 257/547/87 +f 255/545/85 263/550/90 262/553/93 +f 253/539/82 261/551/91 260/554/94 +f 252/555/75 245/556/29 259/542/83 +f 259/542/83 245/556/29 266/548/88 +f 246/540/79 253/539/82 245/557/29 +f 253/539/82 260/554/94 245/557/29 +f 260/558/94 267/559/14 245/560/29 +f 266/561/88 273/562/18 265/563/89 +f 245/564/29 274/565/52 266/561/88 +f 264/552/92 271/566/16 263/550/90 +f 262/553/93 269/567/15 261/568/91 +f 265/563/89 272/569/49 264/552/92 +f 263/550/90 270/570/50 262/553/93 +f 261/568/91 268/571/51 260/558/94 +f 275/572/2 290/573/95 282/574/60 +f 281/575/15 288/576/96 280/577/38 +f 279/578/4 286/579/97 278/580/63 +f 277/581/18 284/582/98 276/583/34 +f 282/574/60 289/584/99 281/575/15 +f 280/577/38 287/585/100 279/578/4 +f 277/581/18 286/579/97 285/586/101 +f 276/583/34 283/587/24 275/588/2 +f 285/589/101 291/590/102 284/591/98 +f 289/592/99 297/593/103 296/594/104 +f 288/576/96 294/595/28 287/585/100 +f 285/589/101 293/596/105 292/597/106 +f 288/576/96 296/594/104 295/598/107 +f 287/585/100 293/596/105 286/579/97 +f 296/594/104 304/599/108 303/600/109 +f 295/598/107 301/601/110 294/595/28 +f 293/596/105 299/602/111 292/597/106 +f 295/598/107 303/600/109 302/603/112 +f 293/596/105 301/601/110 300/604/113 +f 291/590/102 299/602/111 298/605/114 +f 290/606/95 283/607/24 297/593/103 +f 297/593/103 283/607/24 304/599/108 +f 284/591/98 291/590/102 283/608/24 +f 291/590/102 298/605/114 283/608/24 +f 298/609/114 305/610/16 283/611/24 +f 304/612/108 311/613/15 303/614/109 +f 283/615/24 312/616/50 304/612/108 +f 302/603/112 309/617/14 301/601/110 +f 300/604/113 307/618/18 299/619/111 +f 303/614/109 310/620/51 302/603/112 +f 301/601/110 308/621/52 300/604/113 +f 299/619/111 306/622/49 298/609/114 +f 313/623/2 328/624/115 320/625/116 +f 319/626/13 326/627/117 318/628/118 +f 316/629/119 325/630/120 324/631/121 +f 315/632/11 322/633/122 314/634/123 +f 320/625/116 327/635/124 319/626/13 +f 318/628/118 325/630/120 317/636/4 +f 315/632/11 324/631/121 323/637/125 +f 314/634/123 321/638/126 313/639/2 +f 323/640/125 329/641/127 322/642/122 +f 327/643/124 335/644/128 334/645/129 +f 326/627/117 332/646/130 325/630/120 +f 323/640/125 331/647/131 330/648/132 +f 327/643/124 333/649/133 326/627/117 +f 325/630/120 331/647/131 324/631/121 +f 334/645/129 342/650/134 341/651/135 +f 333/649/133 339/652/136 332/646/130 +f 331/647/131 337/653/137 330/648/132 +f 334/645/129 340/654/138 333/649/133 +f 332/646/130 338/655/139 331/647/131 +f 329/641/127 337/653/137 336/656/140 +f 328/657/115 321/658/126 335/644/128 +f 335/644/128 321/658/126 342/650/134 +f 322/642/122 329/641/127 321/659/126 +f 329/641/127 336/656/140 321/659/126 +f 336/660/140 343/661/9 321/662/126 +f 342/663/134 349/664/13 341/665/135 +f 321/666/126 350/667/141 342/663/134 +f 340/654/138 347/668/12 339/652/136 +f 338/655/139 345/669/11 337/670/137 +f 341/665/135 348/671/142 340/654/138 +f 339/652/136 346/672/143 338/655/139 +f 337/670/137 344/673/144 336/660/140 +f 351/674/2 366/675/145 358/676/123 +f 357/677/11 364/678/146 356/679/119 +f 355/680/4 362/681/147 354/682/118 +f 353/683/13 360/684/148 352/685/116 +f 357/677/11 366/675/145 365/686/149 +f 355/680/4 364/678/146 363/687/150 +f 353/683/13 362/681/147 361/688/151 +f 351/689/2 360/684/148 359/690/152 +f 361/691/151 367/692/153 360/693/148 +f 366/694/145 372/695/154 365/696/149 +f 364/678/146 370/697/155 363/687/150 +f 361/691/151 369/698/156 368/699/157 +f 364/678/146 372/695/154 371/700/158 +f 363/687/150 369/698/156 362/681/147 +f 372/695/154 380/701/159 379/702/160 +f 371/700/158 377/703/161 370/697/155 +f 368/699/157 376/704/162 375/705/163 +f 372/695/154 378/706/164 371/700/158 +f 370/697/155 376/704/162 369/698/156 +f 367/692/153 375/705/163 374/707/165 +f 366/694/145 359/708/152 373/709/166 +f 373/709/166 359/708/152 380/701/159 +f 360/693/148 367/692/153 359/710/152 +f 367/692/153 374/707/165 359/710/152 +f 374/711/165 381/712/12 359/713/152 +f 380/714/159 387/715/11 379/716/160 +f 359/717/152 388/718/143 380/714/159 +f 378/706/164 385/719/9 377/703/161 +f 376/704/162 383/720/13 375/721/163 +f 379/716/160 386/722/144 378/706/164 +f 377/703/161 384/723/141 376/704/162 +f 375/721/163 382/724/142 374/711/165 +f 389/725/2 404/726/167 396/727/126 +f 394/728/155 403/729/168 402/730/169 +f 393/731/4 400/732/170 392/733/130 +f 391/734/12 398/735/171 390/736/152 +f 396/727/126 403/729/168 395/737/9 +f 393/731/4 402/730/169 401/738/172 +f 391/734/12 400/732/170 399/739/173 +f 389/740/2 398/735/171 397/741/123 +f 399/742/173 405/743/174 398/744/171 +f 403/745/168 411/746/175 410/747/176 +f 402/730/169 408/748/118 401/738/172 +f 399/742/173 407/749/177 406/750/178 +f 402/730/169 410/747/176 409/751/179 +f 400/732/170 408/748/118 407/749/177 +f 410/747/176 418/752/180 417/753/181 +f 409/751/179 415/754/182 408/748/118 +f 406/750/178 414/755/183 413/756/184 +f 409/751/179 417/753/181 416/757/185 +f 408/748/118 414/755/183 407/749/177 +f 405/743/174 413/756/184 412/758/186 +f 404/759/167 397/760/123 411/746/175 +f 411/746/175 397/760/123 418/752/180 +f 398/744/171 405/743/174 397/761/123 +f 405/743/174 412/758/186 397/761/123 +f 412/762/186 419/763/11 397/764/123 +f 418/765/180 425/766/9 417/767/181 +f 397/768/123 426/769/144 418/765/180 +f 416/757/185 423/770/13 415/754/182 +f 414/755/183 421/771/12 413/772/184 +f 417/767/181 424/773/141 416/757/185 +f 415/754/182 422/774/142 414/755/183 +f 413/772/184 420/775/143 412/762/186 +f 427/776/2 442/777/187 434/778/152 +f 433/779/12 440/780/188 432/781/130 +f 431/782/4 438/783/189 430/784/155 +f 429/785/9 436/786/190 428/787/126 +f 433/779/12 442/777/187 441/788/191 +f 432/781/130 439/789/192 431/782/4 +f 429/785/9 438/783/189 437/790/193 +f 427/791/2 436/786/190 435/792/116 +f 437/793/193 443/794/194 436/795/190 +f 441/796/191 449/797/195 448/798/196 +f 440/780/188 446/799/119 439/789/192 +f 437/793/193 445/800/197 444/801/198 +f 440/780/188 448/798/196 447/802/199 +f 439/789/192 445/800/197 438/783/189 +f 448/798/196 456/803/200 455/804/201 +f 447/802/199 453/805/202 446/799/119 +f 444/801/198 452/806/203 451/807/204 +f 447/802/199 455/804/201 454/808/205 +f 446/799/119 452/806/203 445/800/197 +f 443/794/194 451/807/204 450/809/206 +f 442/810/187 435/811/116 449/797/195 +f 449/797/195 435/811/116 456/803/200 +f 436/795/190 443/794/194 435/812/116 +f 443/794/194 450/809/206 435/812/116 +f 450/813/206 457/814/13 435/815/116 +f 456/816/200 463/817/12 455/818/201 +f 435/819/116 464/820/142 456/816/200 +f 454/808/205 461/821/11 453/805/202 +f 452/806/203 459/822/9 451/823/204 +f 455/818/201 462/824/143 454/808/205 +f 453/805/202 460/825/144 452/806/203 +f 451/823/204 458/826/141 450/813/206 +f 465/827/2 480/828/207 472/829/21 +f 471/830/10 478/831/208 470/832/20 +f 468/833/209 477/834/210 476/835/211 +f 467/836/7 474/837/212 466/838/213 +f 471/830/10 480/828/207 479/839/214 +f 470/832/20 477/834/210 469/840/4 +f 467/836/7 476/835/211 475/841/215 +f 465/842/2 474/837/212 473/843/19 +f 475/844/215 481/845/216 474/846/212 +f 480/847/207 486/848/217 479/849/214 +f 478/831/208 484/850/218 477/834/210 +f 475/844/215 483/851/219 482/852/220 +f 478/831/208 486/848/217 485/853/221 +f 476/835/211 484/850/218 483/851/219 +f 486/848/217 494/854/222 493/855/223 +f 485/853/221 491/856/224 484/850/218 +f 483/851/219 489/857/225 482/852/220 +f 486/848/217 492/858/226 485/853/221 +f 483/851/219 491/856/224 490/859/227 +f 481/845/216 489/857/225 488/860/228 +f 480/847/207 473/861/19 487/862/229 +f 487/862/229 473/861/19 494/854/222 +f 474/846/212 481/845/216 473/863/19 +f 481/845/216 488/860/228 473/863/19 +f 488/864/228 495/865/17 473/866/19 +f 494/867/222 501/868/10 493/869/223 +f 473/870/19 502/871/6 494/867/222 +f 492/858/226 499/872/8 491/856/224 +f 490/859/227 497/873/7 489/874/225 +f 493/869/223 500/875/1 492/858/226 +f 491/856/224 498/876/5 490/859/227 +f 489/874/225 496/877/3 488/864/228 +f 503/878/2 518/879/230 510/880/213 +f 509/881/7 516/882/231 508/883/209 +f 507/884/4 514/885/232 506/886/20 +f 505/887/10 512/888/233 504/889/21 +f 510/880/213 517/890/234 509/881/7 +f 507/884/4 516/882/231 515/891/235 +f 505/887/10 514/885/232 513/892/236 +f 503/893/2 512/888/233 511/894/237 +f 513/895/236 519/896/238 512/897/233 +f 517/898/234 525/899/239 524/900/240 +f 515/891/235 523/901/241 522/902/22 +f 513/895/236 521/903/242 520/904/243 +f 517/898/234 523/901/241 516/882/231 +f 515/891/235 521/903/242 514/885/232 +f 524/900/240 532/905/244 531/906/245 +f 522/902/22 530/907/246 529/908/247 +f 520/904/243 528/909/248 527/910/249 +f 523/901/241 531/906/245 530/907/246 +f 522/902/22 528/909/248 521/903/242 +f 520/904/243 526/911/250 519/896/238 +f 518/912/230 511/913/237 525/899/239 +f 525/899/239 511/913/237 532/905/244 +f 512/897/233 519/896/238 511/914/237 +f 519/896/238 526/911/250 511/914/237 +f 526/915/250 533/916/8 511/917/237 +f 532/918/244 539/919/7 531/920/245 +f 511/921/237 540/922/5 532/918/244 +f 530/907/246 537/923/17 529/908/247 +f 528/909/248 535/924/10 527/925/249 +f 531/920/245 538/926/3 530/907/246 +f 529/908/247 536/927/6 528/909/248 +f 527/925/249 534/928/1 526/915/250 +f 541/929/2 556/930/251 548/931/19 +f 547/932/17 554/933/252 546/934/22 +f 544/935/218 553/936/253 552/937/254 +f 543/938/8 550/939/255 542/940/237 +f 547/932/17 556/930/251 555/941/256 +f 545/942/4 554/933/252 553/936/253 +f 543/938/8 552/937/254 551/943/257 +f 541/944/2 550/939/255 549/945/213 +f 551/946/257 557/947/258 550/948/255 +f 556/949/251 562/950/259 555/951/256 +f 554/933/252 560/952/20 553/936/253 +f 551/946/257 559/953/260 558/954/261 +f 554/933/252 562/950/259 561/955/262 +f 553/936/253 559/953/260 552/937/254 +f 562/950/259 570/956/263 569/957/264 +f 560/952/20 568/958/265 567/959/266 +f 559/953/260 565/960/267 558/954/261 +f 562/950/259 568/958/265 561/955/262 +f 560/952/20 566/961/268 559/953/260 +f 557/947/258 565/960/267 564/962/269 +f 556/949/251 549/963/213 563/964/270 +f 563/964/270 549/963/213 570/956/263 +f 550/948/255 557/947/258 549/965/213 +f 557/947/258 564/962/269 549/965/213 +f 564/966/269 571/967/7 549/968/213 +f 570/969/263 577/970/17 569/971/264 +f 549/972/213 578/973/3 570/969/263 +f 568/958/265 575/974/10 567/959/266 +f 566/961/268 573/975/8 565/976/267 +f 569/971/264 576/977/6 568/958/265 +f 567/959/266 574/978/1 566/961/268 +f 565/976/267 572/979/5 564/966/269 +f 579/980/2 594/981/271 586/982/237 +f 584/983/218 593/984/272 592/985/273 +f 582/986/22 591/987/274 590/988/275 +f 581/989/17 588/990/276 580/991/19 +f 585/992/8 594/981/271 593/984/272 +f 584/983/218 591/987/274 583/993/4 +f 581/989/17 590/988/275 589/994/277 +f 580/991/19 587/995/21 579/996/2 +f 589/997/277 595/998/278 588/999/276 +f 593/1000/272 601/1001/279 600/1002/280 +f 592/985/273 598/1003/209 591/987/274 +f 589/997/277 597/1004/281 596/1005/282 +f 593/1000/272 599/1006/283 592/985/273 +f 591/987/274 597/1004/281 590/988/275 +f 600/1002/280 608/1007/284 607/1008/285 +f 599/1006/283 605/1009/286 598/1003/209 +f 597/1004/281 603/1010/287 596/1005/282 +f 599/1006/283 607/1008/285 606/1011/288 +f 598/1003/209 604/1012/289 597/1004/281 +f 596/1005/282 602/1013/290 595/998/278 +f 594/1014/271 587/1015/21 601/1001/279 +f 601/1001/279 587/1015/21 608/1007/284 +f 588/999/276 595/998/278 587/1016/21 +f 595/998/278 602/1013/290 587/1016/21 +f 602/1017/290 609/1018/10 587/1019/21 +f 608/1020/284 615/1021/8 607/1022/285 +f 587/1023/21 616/1024/1 608/1020/284 +f 606/1011/288 613/1025/7 605/1009/286 +f 604/1012/289 611/1026/17 603/1027/287 +f 607/1022/285 614/1028/5 606/1011/288 +f 605/1009/286 612/1029/3 604/1012/289 +f 603/1027/287 610/1030/6 602/1017/290 +f 105/419/2 113/1031/34 120/420/23 +f 111/422/16 119/431/32 118/423/25 +f 109/425/4 117/432/33 116/426/27 +f 106/428/29 107/433/14 115/429/30 +f 112/421/24 120/420/23 119/431/32 +f 110/424/26 118/423/25 117/432/33 +f 107/433/14 108/427/28 116/426/27 +f 105/434/2 106/428/29 114/430/31 +f 115/436/30 122/445/40 121/437/35 +f 120/439/23 127/446/41 126/440/36 +f 117/432/33 118/423/25 125/442/37 +f 115/436/30 116/426/27 123/444/39 +f 119/441/32 126/440/36 125/442/37 +f 117/432/33 124/443/38 123/444/39 +f 127/446/41 134/454/48 133/447/42 +f 124/443/38 125/442/37 132/448/43 +f 123/444/39 130/451/46 129/450/45 +f 126/440/36 133/447/42 132/448/43 +f 124/443/38 131/449/44 130/451/46 +f 122/445/40 129/450/45 128/452/47 +f 128/456/47 136/469/52 135/457/18 +f 134/459/48 142/463/49 141/460/16 +f 113/462/34 135/1032/18 142/463/49 +f 132/448/43 140/467/50 139/464/15 +f 130/451/46 138/468/51 137/465/14 +f 133/461/42 141/460/16 140/467/50 +f 131/449/44 139/464/15 138/468/51 +f 129/466/45 137/465/14 136/469/52 +f 199/470/2 207/1033/60 214/471/53 +f 205/473/14 213/482/57 212/474/54 +f 203/476/4 211/483/58 210/477/55 +f 201/479/16 209/484/59 208/480/56 +f 206/472/29 214/471/53 213/482/57 +f 203/476/4 204/475/28 212/474/54 +f 201/479/16 202/478/26 210/477/55 +f 199/485/2 200/481/24 208/480/56 +f 209/487/59 216/494/64 215/488/61 +f 214/490/53 221/505/74 220/491/62 +f 212/474/54 219/495/65 218/493/63 +f 210/477/55 217/496/66 216/494/64 +f 212/474/54 213/492/57 220/491/62 +f 210/477/55 211/483/58 218/493/63 +f 220/491/62 221/505/74 228/497/67 +f 219/495/65 226/501/71 225/499/69 +f 217/496/66 224/502/72 223/500/70 +f 220/491/62 227/498/68 226/501/71 +f 218/493/63 225/499/69 224/502/72 +f 215/488/61 216/494/64 223/500/70 +f 222/507/73 230/520/50 229/508/15 +f 228/510/67 236/514/51 235/511/14 +f 207/513/60 229/1034/15 236/514/51 +f 226/501/71 234/518/52 233/515/18 +f 224/502/72 232/519/49 231/516/16 +f 227/512/68 235/511/14 234/518/52 +f 225/499/69 233/515/18 232/519/49 +f 223/517/70 231/516/16 230/520/50 +f 237/521/2 245/1035/29 252/522/75 +f 242/524/63 243/533/18 251/525/76 +f 241/527/4 249/534/80 248/528/78 +f 239/530/15 247/535/81 246/531/79 +f 243/533/18 244/523/34 252/522/75 +f 241/527/4 242/524/63 250/526/77 +f 239/530/15 240/529/38 248/528/78 +f 238/532/60 246/531/79 245/536/29 +f 247/538/81 254/546/86 253/539/82 +f 251/541/76 252/555/75 259/542/83 +f 250/526/77 257/547/87 256/544/26 +f 247/538/81 248/528/78 255/545/85 +f 250/526/77 251/541/76 258/543/84 +f 248/528/78 249/534/80 256/544/26 +f 258/543/84 259/542/83 266/548/88 +f 257/547/87 264/552/92 263/550/90 +f 255/545/85 262/553/93 261/551/91 +f 258/543/84 265/549/89 264/552/92 +f 255/545/85 256/544/26 263/550/90 +f 253/539/82 254/546/86 261/551/91 +f 260/558/94 268/571/51 267/559/14 +f 266/561/88 274/565/52 273/562/18 +f 245/564/29 267/1036/14 274/565/52 +f 264/552/92 272/569/49 271/566/16 +f 262/553/93 270/570/50 269/567/15 +f 265/563/89 273/562/18 272/569/49 +f 263/550/90 271/566/16 270/570/50 +f 261/568/91 269/567/15 268/571/51 +f 275/572/2 283/1037/24 290/573/95 +f 281/575/15 289/584/99 288/576/96 +f 279/578/4 287/585/100 286/579/97 +f 277/581/18 285/586/101 284/582/98 +f 282/574/60 290/573/95 289/584/99 +f 280/577/38 288/576/96 287/585/100 +f 277/581/18 278/580/63 286/579/97 +f 276/583/34 284/582/98 283/587/24 +f 285/589/101 292/597/106 291/590/102 +f 289/592/99 290/606/95 297/593/103 +f 288/576/96 295/598/107 294/595/28 +f 285/589/101 286/579/97 293/596/105 +f 288/576/96 289/592/99 296/594/104 +f 287/585/100 294/595/28 293/596/105 +f 296/594/104 297/593/103 304/599/108 +f 295/598/107 302/603/112 301/601/110 +f 293/596/105 300/604/113 299/602/111 +f 295/598/107 296/594/104 303/600/109 +f 293/596/105 294/595/28 301/601/110 +f 291/590/102 292/597/106 299/602/111 +f 298/609/114 306/622/49 305/610/16 +f 304/612/108 312/616/50 311/613/15 +f 283/615/24 305/1038/16 312/616/50 +f 302/603/112 310/620/51 309/617/14 +f 300/604/113 308/621/52 307/618/18 +f 303/614/109 311/613/15 310/620/51 +f 301/601/110 309/617/14 308/621/52 +f 299/619/111 307/618/18 306/622/49 +f 313/623/2 321/1039/126 328/624/115 +f 319/626/13 327/635/124 326/627/117 +f 316/629/119 317/636/4 325/630/120 +f 315/632/11 323/637/125 322/633/122 +f 320/625/116 328/624/115 327/635/124 +f 318/628/118 326/627/117 325/630/120 +f 315/632/11 316/629/119 324/631/121 +f 314/634/123 322/633/122 321/638/126 +f 323/640/125 330/648/132 329/641/127 +f 327/643/124 328/657/115 335/644/128 +f 326/627/117 333/649/133 332/646/130 +f 323/640/125 324/631/121 331/647/131 +f 327/643/124 334/645/129 333/649/133 +f 325/630/120 332/646/130 331/647/131 +f 334/645/129 335/644/128 342/650/134 +f 333/649/133 340/654/138 339/652/136 +f 331/647/131 338/655/139 337/653/137 +f 334/645/129 341/651/135 340/654/138 +f 332/646/130 339/652/136 338/655/139 +f 329/641/127 330/648/132 337/653/137 +f 336/660/140 344/673/144 343/661/9 +f 342/663/134 350/667/141 349/664/13 +f 321/666/126 343/1040/9 350/667/141 +f 340/654/138 348/671/142 347/668/12 +f 338/655/139 346/672/143 345/669/11 +f 341/665/135 349/664/13 348/671/142 +f 339/652/136 347/668/12 346/672/143 +f 337/670/137 345/669/11 344/673/144 +f 351/674/2 359/1041/152 366/675/145 +f 357/677/11 365/686/149 364/678/146 +f 355/680/4 363/687/150 362/681/147 +f 353/683/13 361/688/151 360/684/148 +f 357/677/11 358/676/123 366/675/145 +f 355/680/4 356/679/119 364/678/146 +f 353/683/13 354/682/118 362/681/147 +f 351/689/2 352/685/116 360/684/148 +f 361/691/151 368/699/157 367/692/153 +f 366/694/145 373/709/166 372/695/154 +f 364/678/146 371/700/158 370/697/155 +f 361/691/151 362/681/147 369/698/156 +f 364/678/146 365/696/149 372/695/154 +f 363/687/150 370/697/155 369/698/156 +f 372/695/154 373/709/166 380/701/159 +f 371/700/158 378/706/164 377/703/161 +f 368/699/157 369/698/156 376/704/162 +f 372/695/154 379/702/160 378/706/164 +f 370/697/155 377/703/161 376/704/162 +f 367/692/153 368/699/157 375/705/163 +f 374/711/165 382/724/142 381/712/12 +f 380/714/159 388/718/143 387/715/11 +f 359/717/152 381/1042/12 388/718/143 +f 378/706/164 386/722/144 385/719/9 +f 376/704/162 384/723/141 383/720/13 +f 379/716/160 387/715/11 386/722/144 +f 377/703/161 385/719/9 384/723/141 +f 375/721/163 383/720/13 382/724/142 +f 389/725/2 397/1043/123 404/726/167 +f 394/728/155 395/737/9 403/729/168 +f 393/731/4 401/738/172 400/732/170 +f 391/734/12 399/739/173 398/735/171 +f 396/727/126 404/726/167 403/729/168 +f 393/731/4 394/728/155 402/730/169 +f 391/734/12 392/733/130 400/732/170 +f 389/740/2 390/736/152 398/735/171 +f 399/742/173 406/750/178 405/743/174 +f 403/745/168 404/759/167 411/746/175 +f 402/730/169 409/751/179 408/748/118 +f 399/742/173 400/732/170 407/749/177 +f 402/730/169 403/745/168 410/747/176 +f 400/732/170 401/738/172 408/748/118 +f 410/747/176 411/746/175 418/752/180 +f 409/751/179 416/757/185 415/754/182 +f 406/750/178 407/749/177 414/755/183 +f 409/751/179 410/747/176 417/753/181 +f 408/748/118 415/754/182 414/755/183 +f 405/743/174 406/750/178 413/756/184 +f 412/762/186 420/775/143 419/763/11 +f 418/765/180 426/769/144 425/766/9 +f 397/768/123 419/1044/11 426/769/144 +f 416/757/185 424/773/141 423/770/13 +f 414/755/183 422/774/142 421/771/12 +f 417/767/181 425/766/9 424/773/141 +f 415/754/182 423/770/13 422/774/142 +f 413/772/184 421/771/12 420/775/143 +f 427/776/2 435/1045/116 442/777/187 +f 433/779/12 441/788/191 440/780/188 +f 431/782/4 439/789/192 438/783/189 +f 429/785/9 437/790/193 436/786/190 +f 433/779/12 434/778/152 442/777/187 +f 432/781/130 440/780/188 439/789/192 +f 429/785/9 430/784/155 438/783/189 +f 427/791/2 428/787/126 436/786/190 +f 437/793/193 444/801/198 443/794/194 +f 441/796/191 442/810/187 449/797/195 +f 440/780/188 447/802/199 446/799/119 +f 437/793/193 438/783/189 445/800/197 +f 440/780/188 441/796/191 448/798/196 +f 439/789/192 446/799/119 445/800/197 +f 448/798/196 449/797/195 456/803/200 +f 447/802/199 454/808/205 453/805/202 +f 444/801/198 445/800/197 452/806/203 +f 447/802/199 448/798/196 455/804/201 +f 446/799/119 453/805/202 452/806/203 +f 443/794/194 444/801/198 451/807/204 +f 450/813/206 458/826/141 457/814/13 +f 456/816/200 464/820/142 463/817/12 +f 435/819/116 457/1046/13 464/820/142 +f 454/808/205 462/824/143 461/821/11 +f 452/806/203 460/825/144 459/822/9 +f 455/818/201 463/817/12 462/824/143 +f 453/805/202 461/821/11 460/825/144 +f 451/823/204 459/822/9 458/826/141 +f 465/827/2 473/1047/19 480/828/207 +f 471/830/10 479/839/214 478/831/208 +f 468/833/209 469/840/4 477/834/210 +f 467/836/7 475/841/215 474/837/212 +f 471/830/10 472/829/21 480/828/207 +f 470/832/20 478/831/208 477/834/210 +f 467/836/7 468/833/209 476/835/211 +f 465/842/2 466/838/213 474/837/212 +f 475/844/215 482/852/220 481/845/216 +f 480/847/207 487/862/229 486/848/217 +f 478/831/208 485/853/221 484/850/218 +f 475/844/215 476/835/211 483/851/219 +f 478/831/208 479/849/214 486/848/217 +f 476/835/211 477/834/210 484/850/218 +f 486/848/217 487/862/229 494/854/222 +f 485/853/221 492/858/226 491/856/224 +f 483/851/219 490/859/227 489/857/225 +f 486/848/217 493/855/223 492/858/226 +f 483/851/219 484/850/218 491/856/224 +f 481/845/216 482/852/220 489/857/225 +f 488/864/228 496/877/3 495/865/17 +f 494/867/222 502/871/6 501/868/10 +f 473/870/19 495/1048/17 502/871/6 +f 492/858/226 500/875/1 499/872/8 +f 490/859/227 498/876/5 497/873/7 +f 493/869/223 501/868/10 500/875/1 +f 491/856/224 499/872/8 498/876/5 +f 489/874/225 497/873/7 496/877/3 +f 503/878/2 511/1049/237 518/879/230 +f 509/881/7 517/890/234 516/882/231 +f 507/884/4 515/891/235 514/885/232 +f 505/887/10 513/892/236 512/888/233 +f 510/880/213 518/879/230 517/890/234 +f 507/884/4 508/883/209 516/882/231 +f 505/887/10 506/886/20 514/885/232 +f 503/893/2 504/889/21 512/888/233 +f 513/895/236 520/904/243 519/896/238 +f 517/898/234 518/912/230 525/899/239 +f 515/891/235 516/882/231 523/901/241 +f 513/895/236 514/885/232 521/903/242 +f 517/898/234 524/900/240 523/901/241 +f 515/891/235 522/902/22 521/903/242 +f 524/900/240 525/899/239 532/905/244 +f 522/902/22 523/901/241 530/907/246 +f 520/904/243 521/903/242 528/909/248 +f 523/901/241 524/900/240 531/906/245 +f 522/902/22 529/908/247 528/909/248 +f 520/904/243 527/910/249 526/911/250 +f 526/915/250 534/928/1 533/916/8 +f 532/918/244 540/922/5 539/919/7 +f 511/921/237 533/1050/8 540/922/5 +f 530/907/246 538/926/3 537/923/17 +f 528/909/248 536/927/6 535/924/10 +f 531/920/245 539/919/7 538/926/3 +f 529/908/247 537/923/17 536/927/6 +f 527/925/249 535/924/10 534/928/1 +f 541/929/2 549/1051/213 556/930/251 +f 547/932/17 555/941/256 554/933/252 +f 544/935/218 545/942/4 553/936/253 +f 543/938/8 551/943/257 550/939/255 +f 547/932/17 548/931/19 556/930/251 +f 545/942/4 546/934/22 554/933/252 +f 543/938/8 544/935/218 552/937/254 +f 541/944/2 542/940/237 550/939/255 +f 551/946/257 558/954/261 557/947/258 +f 556/949/251 563/964/270 562/950/259 +f 554/933/252 561/955/262 560/952/20 +f 551/946/257 552/937/254 559/953/260 +f 554/933/252 555/951/256 562/950/259 +f 553/936/253 560/952/20 559/953/260 +f 562/950/259 563/964/270 570/956/263 +f 560/952/20 561/955/262 568/958/265 +f 559/953/260 566/961/268 565/960/267 +f 562/950/259 569/957/264 568/958/265 +f 560/952/20 567/959/266 566/961/268 +f 557/947/258 558/954/261 565/960/267 +f 564/966/269 572/979/5 571/967/7 +f 570/969/263 578/973/3 577/970/17 +f 549/972/213 571/1052/7 578/973/3 +f 568/958/265 576/977/6 575/974/10 +f 566/961/268 574/978/1 573/975/8 +f 569/971/264 577/970/17 576/977/6 +f 567/959/266 575/974/10 574/978/1 +f 565/976/267 573/975/8 572/979/5 +f 579/980/2 587/1053/21 594/981/271 +f 584/983/218 585/992/8 593/984/272 +f 582/986/22 583/993/4 591/987/274 +f 581/989/17 589/994/277 588/990/276 +f 585/992/8 586/982/237 594/981/271 +f 584/983/218 592/985/273 591/987/274 +f 581/989/17 582/986/22 590/988/275 +f 580/991/19 588/990/276 587/995/21 +f 589/997/277 596/1005/282 595/998/278 +f 593/1000/272 594/1014/271 601/1001/279 +f 592/985/273 599/1006/283 598/1003/209 +f 589/997/277 590/988/275 597/1004/281 +f 593/1000/272 600/1002/280 599/1006/283 +f 591/987/274 598/1003/209 597/1004/281 +f 600/1002/280 601/1001/279 608/1007/284 +f 599/1006/283 606/1011/288 605/1009/286 +f 597/1004/281 604/1012/289 603/1010/287 +f 599/1006/283 600/1002/280 607/1008/285 +f 598/1003/209 605/1009/286 604/1012/289 +f 596/1005/282 603/1010/287 602/1013/290 +f 602/1017/290 610/1030/6 609/1018/10 +f 608/1020/284 616/1024/1 615/1021/8 +f 587/1023/21 609/1054/10 616/1024/1 +f 606/1011/288 614/1028/5 613/1025/7 +f 604/1012/289 612/1029/3 611/1026/17 +f 607/1022/285 615/1021/8 614/1028/5 +f 605/1009/286 613/1025/7 612/1029/3 +f 603/1027/287 611/1026/17 610/1030/6 diff --git a/src/main/resources/assets/hbm/models/particleaccelerator/dipole.obj b/src/main/resources/assets/hbm/models/particleaccelerator/dipole.obj new file mode 100644 index 000000000..f0f5f3141 --- /dev/null +++ b/src/main/resources/assets/hbm/models/particleaccelerator/dipole.obj @@ -0,0 +1,756 @@ +# Blender v2.79 (sub 0) OBJ File: 'dipole.blend' +# www.blender.org +o Cube_Cube.001 +v 0.500000 1.000000 1.500000 +v 0.500000 2.000000 1.500000 +v -0.500000 2.000000 1.500000 +v -0.500000 1.000000 1.500000 +v 0.250000 1.250000 1.250000 +v -0.250000 1.250000 1.250000 +v -0.250000 1.750000 1.250000 +v 0.250000 1.750000 1.250000 +v 0.500000 2.000000 -1.500000 +v 0.500000 1.000000 -1.500000 +v -0.500000 1.000000 -1.500000 +v -0.500000 2.000000 -1.500000 +v -0.250000 1.250000 -1.250000 +v -0.250000 1.750000 -1.250000 +v 0.250000 1.250000 -1.250000 +v 0.250000 1.750000 -1.250000 +v 0.500000 1.750000 -0.500000 +v 0.500000 1.250000 -0.500000 +v 0.500000 1.750000 0.500000 +v 0.500000 1.250000 0.500000 +v -0.500000 1.750000 -0.500000 +v -0.500000 1.250000 -0.500000 +v -0.500000 1.750000 0.500000 +v -0.500000 1.250000 0.500000 +v 1.500000 1.000000 0.500000 +v 1.500000 2.000000 0.500000 +v 1.500000 1.000000 -0.500000 +v 1.500000 2.000000 -0.500000 +v 1.250000 1.250000 -0.250000 +v 1.250000 1.750000 -0.250000 +v 1.250000 1.250000 0.250000 +v 1.250000 1.750000 0.250000 +v 1.000000 0.500000 1.500000 +v 1.500000 0.500000 1.000000 +v -1.500000 0.500000 1.000000 +v -1.000000 0.500000 1.500000 +v 1.500000 0.500000 -1.000000 +v 1.000000 0.500000 -1.500000 +v -1.000000 0.500000 -1.500000 +v -1.500000 0.500000 -1.000000 +v 1.000000 -0.000000 -1.500000 +v 1.500000 -0.000000 -1.000000 +v 1.500000 -0.000000 1.000000 +v 1.000000 -0.000000 1.500000 +v -1.000000 0.000000 1.500000 +v -1.500000 0.000000 1.000000 +v -1.500000 0.000000 -1.000000 +v -1.000000 0.000000 -1.500000 +v -1.000000 2.500000 1.500000 +v -1.500000 2.500000 1.000000 +v 1.500000 2.500000 1.000000 +v 1.000000 2.500000 1.500000 +v -1.500000 2.500000 -1.000000 +v -1.000000 2.500000 -1.500000 +v 1.000000 2.500000 -1.500000 +v 1.500000 2.500000 -1.000000 +v -1.000000 3.000000 -1.500000 +v -1.500000 3.000000 -1.000000 +v -1.500000 3.000000 1.000000 +v -1.000000 3.000000 1.500000 +v 1.000000 3.000000 1.500000 +v 1.500000 3.000000 1.000000 +v 1.500000 3.000000 -1.000000 +v 1.000000 3.000000 -1.500000 +v -1.250000 1.750000 -0.250000 +v -1.250000 1.250000 -0.250000 +v -1.250000 1.750000 0.250000 +v -1.250000 1.250000 0.250000 +v -1.500000 2.000000 -0.500000 +v -1.500000 1.000000 -0.500000 +v -1.500000 2.000000 0.500000 +v -1.500000 1.000000 0.500000 +v 0.375000 1.750000 -0.750000 +v 0.750000 1.750000 -0.375000 +v -0.750000 1.750000 -0.375000 +v -0.375000 1.750000 -0.750000 +v -0.375000 1.750000 0.750000 +v -0.750000 1.750000 0.375000 +v 0.750000 1.750000 0.375000 +v 0.375000 1.750000 0.750000 +v -0.500000 0.500000 1.000000 +v -1.000000 0.500000 0.500000 +v 1.000000 0.500000 0.500000 +v 0.500000 0.500000 1.000000 +v -1.000000 0.500000 -0.500000 +v -0.500000 0.500000 -1.000000 +v 0.500000 0.500000 -1.000000 +v 1.000000 0.500000 -0.500000 +v -0.500000 1.000000 -1.000000 +v -1.000000 1.000000 -0.500000 +v -1.000000 1.000000 0.500000 +v -0.500000 1.000000 1.000000 +v 0.500000 1.000000 1.000000 +v 1.000000 1.000000 0.500000 +v 1.000000 1.000000 -0.500000 +v 0.500000 1.000000 -1.000000 +v 0.375000 1.250000 0.750000 +v 0.750000 1.250000 0.375000 +v -0.750000 1.250000 0.375000 +v -0.375000 1.250000 0.750000 +v -0.375000 1.250000 -0.750000 +v -0.750000 1.250000 -0.375000 +v 0.750000 1.250000 -0.375000 +v 0.375000 1.250000 -0.750000 +v 0.375000 1.000000 -0.750000 +v 0.750000 1.000000 -0.375000 +v -0.750000 1.000000 -0.375000 +v -0.375000 1.000000 -0.750000 +v 0.750000 1.000000 0.375000 +v 0.375000 1.000000 0.750000 +v -0.375000 1.000000 0.750000 +v -0.750000 1.000000 0.375000 +v 0.750000 2.000000 0.375000 +v 0.750000 2.000000 -0.375000 +v 0.375000 2.000000 0.750000 +v -0.375000 2.000000 0.750000 +v 0.375000 2.000000 -0.750000 +v -0.375000 2.000000 -0.750000 +v -0.750000 2.000000 -0.375000 +v -0.750000 2.000000 0.375000 +v -0.500000 2.000000 -1.000000 +v -1.000000 2.000000 -0.500000 +v -1.000000 2.000000 0.500000 +v -0.500000 2.000000 1.000000 +v 0.500000 2.000000 1.000000 +v 1.000000 2.000000 0.500000 +v 1.000000 2.000000 -0.500000 +v 0.500000 2.000000 -1.000000 +v -0.500000 2.500000 1.000000 +v -1.000000 2.500000 0.500000 +v -1.000000 2.500000 -0.500000 +v -0.500000 2.500000 -1.000000 +v 0.500000 2.500000 -1.000000 +v 1.000000 2.500000 -0.500000 +v 1.000000 2.500000 0.500000 +v 0.500000 2.500000 1.000000 +v -0.500000 1.750000 -0.250000 +v -0.500000 1.250000 -0.250000 +v -0.500000 1.750000 0.250000 +v -0.500000 1.250000 0.250000 +v 0.250000 1.250000 0.500000 +v -0.250000 1.250000 0.500000 +v -0.250000 1.750000 0.500000 +v 0.250000 1.750000 0.500000 +v 0.500000 1.250000 -0.250000 +v 0.500000 1.750000 -0.250000 +v 0.500000 1.250000 0.250000 +v 0.500000 1.750000 0.250000 +v -0.250000 1.250000 -0.500000 +v -0.250000 1.750000 -0.500000 +v 0.250000 1.250000 -0.500000 +v 0.250000 1.750000 -0.500000 +v -1.000000 0.500000 -0.646447 +v -0.646447 0.500000 -1.000000 +v -1.353553 0.500000 -1.000000 +v -1.000000 0.500000 -1.353553 +v -1.000000 2.500000 -0.646447 +v -0.646447 2.500000 -1.000000 +v -1.353553 2.500000 -1.000000 +v -1.000000 2.500000 -1.353553 +v -1.000000 0.500000 1.353553 +v -0.646447 0.500000 1.000000 +v -1.353553 0.500000 1.000000 +v -1.000000 0.500000 0.646447 +v -1.000000 2.500000 1.353553 +v -0.646447 2.500000 1.000000 +v -1.353553 2.500000 1.000000 +v -1.000000 2.500000 0.646447 +v 1.000000 0.500000 -0.646447 +v 1.353553 0.500000 -1.000000 +v 0.646447 0.500000 -1.000000 +v 1.000000 0.500000 -1.353553 +v 1.000000 2.500000 -0.646447 +v 1.353553 2.500000 -1.000000 +v 0.646447 2.500000 -1.000000 +v 1.000000 2.500000 -1.353553 +v 1.000000 0.500000 1.353553 +v 1.353553 0.500000 1.000000 +v 0.646447 0.500000 1.000000 +v 1.000000 0.500000 0.646447 +v 1.000000 2.500000 1.353553 +v 1.353553 2.500000 1.000000 +v 0.646447 2.500000 1.000000 +v 1.000000 2.500000 0.646447 +vt 0.921053 0.142857 +vt 0.894737 0.250000 +vt 0.894737 0.107143 +vt 0.815790 0.285714 +vt 0.868421 0.285714 +vt 0.763158 0.214286 +vt 0.789474 0.107143 +vt 0.789474 0.250000 +vt 0.684211 0.214286 +vt 0.763158 0.285714 +vt 0.684211 0.285714 +vt 0.763158 0.357143 +vt 0.684211 0.357143 +vt 0.684211 0.214286 +vt 0.763158 0.285714 +vt 0.684211 0.285714 +vt 0.868421 0.071429 +vt 0.815790 0.071429 +vt 0.868421 0.071429 +vt 0.789474 0.107143 +vt 0.815790 0.071429 +vt 0.763158 0.214286 +vt 0.789474 0.250000 +vt 0.921053 0.142857 +vt 0.894737 0.250000 +vt 0.894737 0.107143 +vt 0.684211 0.071429 +vt 0.763158 0.142857 +vt 0.684211 0.142857 +vt 0.763158 0.214286 +vt 0.763158 0.357143 +vt 0.684211 0.357143 +vt 0.815790 0.285714 +vt 0.868421 0.285714 +vt 0.789474 0.071429 +vt 0.684211 0.000000 +vt 0.789474 0.000000 +vt 0.894737 0.071429 +vt 0.894737 0.000000 +vt 1.000000 0.071429 +vt 1.000000 0.000000 +vt 0.684211 0.071429 +vt 0.763158 0.142857 +vt 0.684211 0.142857 +vt 0.684211 0.071429 +vt 0.578947 0.000000 +vt 0.763158 0.214286 +vt 0.684211 0.214286 +vt 0.000000 0.571429 +vt 0.052632 0.857143 +vt 0.000000 0.857143 +vt 0.105263 1.000000 +vt 0.315789 0.928571 +vt 0.315789 1.000000 +vt 0.105263 0.500000 +vt 0.368421 0.571429 +vt 0.315789 0.928571 +vt 0.315789 0.428571 +vt 0.105263 0.428571 +vt 0.421053 0.857143 +vt 0.421053 0.571429 +vt 0.368421 0.071429 +vt 0.052632 0.357143 +vt 0.000000 0.571429 +vt 0.052632 0.857143 +vt 0.000000 0.857143 +vt 0.763158 0.214286 +vt 0.789474 0.107143 +vt 0.789474 0.250000 +vt 0.105263 0.500000 +vt 0.368421 0.571429 +vt 0.315789 0.428571 +vt 0.105263 0.428571 +vt 0.421053 0.857143 +vt 0.421053 0.571429 +vt 0.368421 0.071429 +vt 0.052632 0.357143 +vt 0.368421 1.000000 +vt 0.315789 1.000000 +vt 0.368421 0.500000 +vt 0.315789 0.500000 +vt 0.052632 0.428571 +vt 0.105263 1.000000 +vt 0.052632 0.928571 +vt 0.105263 0.928571 +vt 0.368421 1.000000 +vt 0.368421 0.500000 +vt 0.315789 0.500000 +vt 0.052632 0.428571 +vt 0.052632 0.928571 +vt 0.105263 0.928571 +vt 0.684211 0.142857 +vt 0.763158 0.214286 +vt 0.684211 0.214286 +vt 0.684211 0.285714 +vt 0.763158 0.357143 +vt 0.684211 0.357143 +vt 0.684211 0.071429 +vt 0.763158 0.142857 +vt 0.894737 0.250000 +vt 0.894737 0.107143 +vt 0.921053 0.142857 +vt 0.868421 0.071429 +vt 0.815790 0.071429 +vt 0.815790 0.285714 +vt 0.868421 0.285714 +vt 0.921053 0.142857 +vt 0.894737 0.250000 +vt 0.894737 0.107143 +vt 0.763158 0.285714 +vt 0.684211 0.071429 +vt 0.763158 0.142857 +vt 0.684211 0.142857 +vt 0.763158 0.214286 +vt 0.789474 0.107143 +vt 0.763158 0.214286 +vt 0.789474 0.250000 +vt 0.868421 0.071429 +vt 0.815789 0.071429 +vt 0.815789 0.285714 +vt 0.868421 0.285714 +vt 0.421053 0.428571 +vt 0.473684 0.571429 +vt 0.421053 0.571429 +vt 0.565789 0.714286 +vt 0.486842 0.750000 +vt 0.486842 0.714286 +vt 0.526316 0.357143 +vt 0.684211 0.428571 +vt 0.631579 0.642857 +vt 0.631579 0.285714 +vt 0.526316 0.285714 +vt 0.736842 0.571429 +vt 0.736842 0.428571 +vt 0.473684 0.642857 +vt 0.526316 0.714286 +vt 0.473684 0.714286 +vt 0.684211 0.714286 +vt 0.684211 0.642857 +vt 0.684211 0.357143 +vt 0.631579 0.357143 +vt 0.473684 0.285714 +vt 0.631579 0.714286 +vt 0.486842 1.000000 +vt 0.565789 0.964286 +vt 0.565789 1.000000 +vt 0.605263 0.803571 +vt 0.631579 0.910714 +vt 0.631579 0.803571 +vt 0.447368 0.803571 +vt 0.565789 0.750000 +vt 0.605263 0.910714 +vt 0.605263 1.000000 +vt 0.605263 0.964286 +vt 0.447368 0.964286 +vt 0.486842 0.964286 +vt 0.605263 0.750000 +vt 0.605263 0.714286 +vt 0.447368 0.714286 +vt 0.447368 0.750000 +vt 0.421053 0.803571 +vt 0.447368 0.910714 +vt 0.421053 0.910714 +vt 0.473684 0.428571 +vt 0.631579 0.357143 +vt 0.684211 0.571429 +vt 0.486842 0.750000 +vt 0.565789 0.714286 +vt 0.447368 0.750000 +vt 0.486842 0.714286 +vt 0.486842 0.964286 +vt 0.447368 1.000000 +vt 0.447368 0.964286 +vt 0.447368 0.910714 +vt 0.421053 0.803571 +vt 0.565789 0.964286 +vt 0.486842 1.000000 +vt 0.605263 0.964286 +vt 0.565789 1.000000 +vt 0.605263 0.714286 +vt 0.605263 0.750000 +vt 0.605263 0.803571 +vt 0.631579 0.910714 +vt 0.763158 0.285714 +vt 0.684211 0.285714 +vt 0.684211 0.428571 +vt 0.736842 0.571429 +vt 0.684211 0.285714 +vt 0.684211 0.357143 +vt 0.526316 0.642857 +vt 0.473684 0.714286 +vt 0.473684 0.642857 +vt 0.526316 0.357143 +vt 0.631579 0.285714 +vt 0.631579 0.642857 +vt 0.526316 0.714286 +vt 0.473684 0.357143 +vt 0.526316 0.285714 +vt 0.684211 0.642857 +vt 0.631579 0.714286 +vt 0.473684 0.571429 +vt 0.421053 0.428571 +vt 0.763158 0.357143 +vt 0.684211 0.357143 +vt 0.578947 0.285714 +vt 0.526316 0.000000 +vt 0.578947 0.000000 +vt 0.473684 0.285714 +vt 0.421053 0.000000 +vt 0.473684 0.000000 +vt 0.526316 0.285714 +vt 0.421053 0.285714 +vt 0.368421 0.000000 +vt 0.578947 0.285714 +vt 0.526316 0.000000 +vt 0.578947 0.000000 +vt 0.473684 0.285714 +vt 0.421053 0.000000 +vt 0.473684 0.000000 +vt 0.526316 0.285714 +vt 0.421053 0.285714 +vt 0.368421 0.000000 +vt 0.578947 0.285714 +vt 0.526316 0.000000 +vt 0.578947 0.000000 +vt 0.473684 0.285714 +vt 0.421053 0.000000 +vt 0.473684 0.000000 +vt 0.526316 0.285714 +vt 0.421053 0.285714 +vt 0.368421 0.000000 +vt 0.578947 0.285714 +vt 0.526316 0.000000 +vt 0.578947 0.000000 +vt 0.473684 0.285714 +vt 0.421053 0.000000 +vt 0.473684 0.000000 +vt 0.526316 0.285714 +vt 0.421053 0.285714 +vt 0.368421 0.000000 +vt 0.921053 0.214286 +vt 0.763158 0.142857 +vt 0.763158 0.142857 +vt 0.921053 0.214286 +vt 0.763158 0.071429 +vt 0.763158 0.071429 +vt 0.578947 0.071429 +vt 0.052632 0.571429 +vt 0.368421 0.857143 +vt 0.052632 0.071429 +vt 0.105263 0.000000 +vt 0.315789 0.000000 +vt 0.368421 0.357143 +vt 0.052632 0.571429 +vt 0.763158 0.142857 +vt 0.368421 0.857143 +vt 0.052632 0.071429 +vt 0.105263 0.000000 +vt 0.315789 0.000000 +vt 0.368421 0.357143 +vt 0.368421 0.928571 +vt 0.368421 0.428571 +vt 0.052632 0.500000 +vt 0.052632 1.000000 +vt 0.368421 0.928571 +vt 0.368421 0.428571 +vt 0.052632 0.500000 +vt 0.052632 1.000000 +vt 0.763158 0.071429 +vt 0.921053 0.214286 +vt 0.921053 0.214286 +vt 0.763158 0.071429 +vt 0.763158 0.142857 +vt 0.473684 0.428571 +vt 0.565789 0.750000 +vt 0.526316 0.642857 +vt 0.684211 0.571429 +vt 0.684211 0.285714 +vt 0.473684 0.357143 +vt 0.447368 0.803571 +vt 0.605263 0.910714 +vt 0.447368 1.000000 +vt 0.447368 0.714286 +vt 0.421053 0.910714 +vt 0.605263 1.000000 +vt 0.631579 0.803571 +vt 0.736842 0.428571 +vt 0.473684 0.285714 +vt 0.684211 0.714286 +vt 0.421053 0.571429 +vt 0.368421 0.285714 +vt 0.368421 0.285714 +vt 0.368421 0.285714 +vt 0.368421 0.285714 +vn 0.7071 0.0000 -0.7071 +vn 0.0000 0.7071 -0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.7071 0.7071 +vn 1.0000 0.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +s off +f 5/1/1 2/2/1 1/3/1 +f 7/4/2 2/2/2 8/5/2 +f 7/6/3 4/7/3 3/8/3 +f 2/2/4 4/7/4 1/3/4 +f 7/9/5 142/10/5 6/11/5 +f 6/11/6 141/12/6 5/13/6 +f 65/14/7 138/15/7 66/16/7 +f 5/17/8 4/7/8 6/18/8 +f 13/19/9 10/20/9 15/21/9 +f 16/22/10 10/20/10 9/23/10 +f 13/24/11 12/25/11 11/26/11 +f 12/25/7 10/20/7 11/26/7 +f 68/27/4 139/28/4 67/29/4 +f 67/29/12 137/30/12 65/14/12 +f 66/16/6 140/31/6 68/32/6 +f 16/33/13 12/25/13 14/34/13 +f 19/35/4 24/36/4 20/37/4 +f 17/38/14 20/37/14 18/39/14 +f 21/40/7 18/39/7 22/41/7 +f 13/42/5 150/43/5 14/44/5 +f 23/45/5 22/46/5 24/36/5 +f 14/44/12 152/47/12 16/48/12 +f 36/49/4 44/50/4 33/51/4 +f 50/52/5 58/53/5 53/54/5 +f 46/55/6 48/56/6 42/57/6 +f 40/58/5 46/55/5 35/59/5 +f 38/60/7 48/56/7 39/61/7 +f 38/62/12 40/58/12 36/63/12 +f 52/64/4 60/65/4 49/66/4 +f 32/67/11 25/68/11 26/69/11 +f 62/70/12 64/71/12 58/53/12 +f 56/72/14 62/70/14 51/73/14 +f 54/74/7 64/71/7 55/75/7 +f 54/76/6 56/72/6 52/77/6 +f 42/57/1 38/78/1 37/79/1 +f 40/58/3 48/80/3 47/81/3 +f 46/55/11 36/82/11 35/59/11 +f 34/83/10 44/84/10 43/85/10 +f 58/53/3 54/86/3 53/54/3 +f 56/72/1 64/87/1 63/88/1 +f 62/70/10 52/89/10 51/73/10 +f 50/52/11 60/90/11 59/91/11 +f 34/83/14 42/57/14 37/79/14 +f 30/92/12 148/93/12 32/94/12 +f 31/95/6 145/96/6 29/97/6 +f 29/98/7 146/99/7 30/92/7 +f 28/100/14 25/68/14 27/101/14 +f 29/102/3 28/100/3 27/101/3 +f 29/103/15 25/68/15 31/104/15 +f 32/105/16 28/100/16 30/106/16 +f 68/107/10 71/108/10 72/109/10 +f 32/94/4 147/110/4 31/95/4 +f 5/111/14 144/112/14 8/113/14 +f 8/113/12 143/114/12 7/9/12 +f 71/108/5 70/115/5 72/109/5 +f 65/116/1 70/115/1 69/117/1 +f 68/118/17 70/115/17 66/119/17 +f 65/120/18 71/108/18 67/121/18 +f 84/122/4 92/123/4 81/124/4 +f 106/125/14 98/126/14 109/127/14 +f 94/128/12 96/129/12 90/130/12 +f 88/131/14 94/128/14 83/132/14 +f 86/133/7 96/129/7 87/134/7 +f 92/135/11 82/136/11 81/137/11 +f 86/138/3 90/130/3 89/139/3 +f 88/131/1 96/140/1 95/141/1 +f 94/128/10 84/142/10 83/132/10 +f 82/136/5 90/130/5 85/143/5 +f 112/144/5 102/145/5 107/146/5 +f 98/126/12 104/147/12 102/145/12 +f 108/148/7 104/147/7 105/149/7 +f 73/150/6 79/151/6 77/152/6 +f 108/153/3 102/145/3 101/154/3 +f 112/144/11 100/155/11 99/156/11 +f 104/157/1 106/125/1 105/158/1 +f 110/159/10 98/126/10 97/160/10 +f 110/161/4 100/162/4 111/163/4 +f 128/164/6 126/165/6 124/166/6 +f 74/167/14 113/168/14 79/151/14 +f 73/169/1 114/170/1 74/167/1 +f 75/171/3 118/172/3 76/173/3 +f 76/174/7 117/175/7 73/150/7 +f 78/176/5 119/177/5 75/171/5 +f 77/178/11 120/179/11 78/176/11 +f 79/151/10 115/180/10 80/181/10 +f 80/182/4 116/183/4 77/152/4 +f 16/48/14 151/184/14 15/185/14 +f 125/186/4 129/187/4 124/166/4 +f 126/165/10 136/188/10 125/189/10 +f 122/190/3 132/191/3 121/192/3 +f 127/193/14 135/194/14 126/165/14 +f 123/195/5 131/196/5 122/190/5 +f 128/197/1 134/198/1 127/193/1 +f 124/199/11 130/200/11 123/195/11 +f 121/201/7 133/202/7 128/164/7 +f 15/185/6 149/203/6 13/204/6 +f 159/205/3 156/206/3 155/207/3 +f 158/208/10 153/209/10 154/210/10 +f 160/211/1 154/210/1 156/206/1 +f 157/212/11 155/213/11 153/209/11 +f 167/214/3 164/215/3 163/216/3 +f 166/217/10 161/218/10 162/219/10 +f 168/220/1 162/219/1 164/215/1 +f 165/221/11 163/222/11 161/218/11 +f 175/223/3 172/224/3 171/225/3 +f 174/226/10 169/227/10 170/228/10 +f 176/229/1 170/228/1 172/224/1 +f 173/230/11 171/231/11 169/227/11 +f 183/232/3 180/233/3 179/234/3 +f 182/235/10 177/236/10 178/237/10 +f 184/238/1 178/237/1 180/233/1 +f 181/239/11 179/240/11 177/236/11 +f 5/1/1 8/241/1 2/2/1 +f 7/4/2 3/8/2 2/2/2 +f 7/6/3 6/242/3 4/7/3 +f 2/2/4 3/8/4 4/7/4 +f 7/9/5 143/114/5 142/10/5 +f 6/11/6 142/10/6 141/12/6 +f 65/14/7 137/30/7 138/15/7 +f 5/17/8 1/3/8 4/7/8 +f 13/19/9 11/26/9 10/20/9 +f 16/22/10 15/243/10 10/20/10 +f 13/24/11 14/244/11 12/25/11 +f 12/25/7 9/23/7 10/20/7 +f 68/27/4 140/245/4 139/28/4 +f 67/29/12 139/28/12 137/30/12 +f 66/16/6 138/15/6 140/31/6 +f 16/33/13 9/23/13 12/25/13 +f 19/35/4 23/45/4 24/36/4 +f 17/38/14 19/35/14 20/37/14 +f 21/40/7 17/38/7 18/39/7 +f 13/42/5 149/246/5 150/43/5 +f 23/45/5 21/247/5 22/46/5 +f 14/44/12 150/43/12 152/47/12 +f 36/49/4 45/248/4 44/50/4 +f 50/52/5 59/91/5 58/53/5 +f 42/57/6 43/85/6 44/50/6 +f 44/50/6 45/248/6 46/55/6 +f 46/55/6 47/81/6 48/56/6 +f 48/56/6 41/249/6 42/57/6 +f 42/57/6 44/50/6 46/55/6 +f 40/58/5 47/81/5 46/55/5 +f 38/60/7 41/249/7 48/56/7 +f 36/63/12 33/250/12 34/251/12 +f 34/251/12 37/252/12 38/62/12 +f 38/62/12 39/253/12 40/58/12 +f 40/58/12 35/59/12 36/63/12 +f 36/63/12 34/251/12 38/62/12 +f 52/64/4 61/254/4 60/65/4 +f 32/67/11 31/255/11 25/68/11 +f 58/53/12 59/91/12 60/65/12 +f 60/65/12 61/254/12 62/70/12 +f 62/70/12 63/88/12 64/71/12 +f 64/71/12 57/256/12 58/53/12 +f 58/53/12 60/65/12 62/70/12 +f 56/72/14 63/88/14 62/70/14 +f 54/74/7 57/256/7 64/71/7 +f 52/77/6 49/257/6 50/258/6 +f 50/258/6 53/259/6 54/76/6 +f 54/76/6 55/260/6 56/72/6 +f 56/72/6 51/73/6 52/77/6 +f 52/77/6 50/258/6 54/76/6 +f 42/57/1 41/261/1 38/78/1 +f 40/58/3 39/262/3 48/80/3 +f 46/55/11 45/263/11 36/82/11 +f 34/83/10 33/264/10 44/84/10 +f 58/53/3 57/265/3 54/86/3 +f 56/72/1 55/266/1 64/87/1 +f 62/70/10 61/267/10 52/89/10 +f 50/52/11 49/268/11 60/90/11 +f 34/83/14 43/85/14 42/57/14 +f 30/92/12 146/99/12 148/93/12 +f 31/95/6 147/110/6 145/96/6 +f 29/98/7 145/269/7 146/99/7 +f 28/100/14 26/69/14 25/68/14 +f 29/102/3 30/270/3 28/100/3 +f 29/103/15 27/101/15 25/68/15 +f 32/105/16 26/69/16 28/100/16 +f 68/107/10 67/271/10 71/108/10 +f 32/94/4 148/93/4 147/110/4 +f 5/111/14 141/272/14 144/112/14 +f 8/113/12 144/112/12 143/114/12 +f 71/108/5 69/117/5 70/115/5 +f 65/116/1 66/273/1 70/115/1 +f 68/118/17 72/109/17 70/115/17 +f 65/120/18 69/117/18 71/108/18 +f 84/122/4 93/274/4 92/123/4 +f 106/125/14 103/275/14 98/126/14 +f 90/130/12 91/276/12 92/123/12 +f 92/123/12 93/274/12 94/128/12 +f 94/128/12 95/141/12 96/129/12 +f 96/129/12 89/277/12 90/130/12 +f 90/130/12 92/123/12 94/128/12 +f 88/131/14 95/141/14 94/128/14 +f 86/133/7 89/277/7 96/129/7 +f 92/135/11 91/276/11 82/136/11 +f 86/138/3 85/143/3 90/130/3 +f 88/131/1 87/278/1 96/140/1 +f 94/128/10 93/279/10 84/142/10 +f 82/136/5 91/276/5 90/130/5 +f 112/144/5 99/156/5 102/145/5 +f 102/145/12 99/156/12 100/162/12 +f 100/162/12 97/280/12 98/126/12 +f 98/126/12 103/275/12 104/147/12 +f 104/147/12 101/281/12 102/145/12 +f 102/145/12 100/162/12 98/126/12 +f 108/148/7 101/281/7 104/147/7 +f 77/152/6 78/176/6 75/171/6 +f 75/171/6 76/174/6 73/150/6 +f 73/150/6 74/167/6 79/151/6 +f 79/151/6 80/182/6 77/152/6 +f 77/152/6 75/171/6 73/150/6 +f 108/153/3 107/146/3 102/145/3 +f 112/144/11 111/282/11 100/155/11 +f 104/157/1 103/275/1 106/125/1 +f 110/159/10 109/127/10 98/126/10 +f 110/161/4 97/280/4 100/162/4 +f 124/166/6 123/195/6 122/190/6 +f 122/190/6 121/201/6 128/164/6 +f 128/164/6 127/193/6 126/165/6 +f 126/165/6 125/186/6 124/166/6 +f 124/166/6 122/190/6 128/164/6 +f 74/167/14 114/170/14 113/168/14 +f 73/169/1 117/283/1 114/170/1 +f 75/171/3 119/177/3 118/172/3 +f 76/174/7 118/284/7 117/175/7 +f 78/176/5 120/179/5 119/177/5 +f 77/178/11 116/285/11 120/179/11 +f 79/151/10 113/168/10 115/180/10 +f 80/182/4 115/286/4 116/183/4 +f 16/48/14 152/47/14 151/184/14 +f 125/186/4 136/287/4 129/187/4 +f 126/165/10 135/194/10 136/188/10 +f 122/190/3 131/196/3 132/191/3 +f 127/193/14 134/198/14 135/194/14 +f 123/195/5 130/200/5 131/196/5 +f 128/197/1 133/288/1 134/198/1 +f 124/199/11 129/289/11 130/200/11 +f 121/201/7 132/290/7 133/202/7 +f 15/185/6 151/184/6 149/203/6 +f 159/205/3 160/211/3 156/206/3 +f 158/208/10 157/212/10 153/209/10 +f 160/211/1 158/208/1 154/210/1 +f 157/212/11 159/291/11 155/213/11 +f 167/214/3 168/220/3 164/215/3 +f 166/217/10 165/221/10 161/218/10 +f 168/220/1 166/217/1 162/219/1 +f 165/221/11 167/292/11 163/222/11 +f 175/223/3 176/229/3 172/224/3 +f 174/226/10 173/230/10 169/227/10 +f 176/229/1 174/226/1 170/228/1 +f 173/230/11 175/293/11 171/231/11 +f 183/232/3 184/238/3 180/233/3 +f 182/235/10 181/239/10 177/236/10 +f 184/238/1 182/235/1 178/237/1 +f 181/239/11 183/294/11 179/240/11 diff --git a/src/main/resources/assets/hbm/models/particleaccelerator/quadrupole.obj b/src/main/resources/assets/hbm/models/particleaccelerator/quadrupole.obj new file mode 100644 index 000000000..e6795d6bb --- /dev/null +++ b/src/main/resources/assets/hbm/models/particleaccelerator/quadrupole.obj @@ -0,0 +1,842 @@ +# Blender v2.79 (sub 0) OBJ File: 'quadrupole.blend' +# www.blender.org +o Cube_Cube.001 +v -0.500000 1.000000 1.500000 +v -0.500000 2.000000 1.500000 +v -0.500000 1.000000 -1.500000 +v -0.500000 2.000000 -1.500000 +v 0.500000 1.000000 1.500000 +v 0.500000 2.000000 1.500000 +v 0.500000 1.000000 -1.500000 +v 0.500000 2.000000 -1.500000 +v -0.625000 0.000000 1.000000 +v 0.625000 0.000000 1.000000 +v -0.625000 0.000000 -1.000000 +v 0.625000 0.000000 -1.000000 +v -0.625000 3.000000 1.000000 +v 0.625000 3.000000 1.000000 +v -0.625000 3.000000 -1.000000 +v 0.625000 3.000000 -1.000000 +v -1.500000 2.125000 1.000000 +v -1.500000 0.875000 1.000000 +v -1.500000 2.125000 -1.000000 +v -1.500000 0.875000 -1.000000 +v 1.500000 2.125000 1.000000 +v 1.500000 0.875000 1.000000 +v 1.500000 2.125000 -1.000000 +v 1.500000 0.875000 -1.000000 +v -0.500000 0.250000 1.000000 +v 0.500000 0.250000 1.000000 +v -0.500000 0.250000 -1.000000 +v 0.500000 0.250000 -1.000000 +v -0.500000 2.750000 1.000000 +v 0.500000 2.750000 1.000000 +v -0.500000 2.750000 -1.000000 +v 0.500000 2.750000 -1.000000 +v -1.250000 2.000000 1.000000 +v -1.250000 1.000000 1.000000 +v -1.250000 2.000000 -1.000000 +v -1.250000 1.000000 -1.000000 +v 1.250000 2.000000 1.000000 +v 1.250000 1.000000 1.000000 +v 1.250000 2.000000 -1.000000 +v 1.250000 1.000000 -1.000000 +v -0.353553 0.792893 1.000000 +v -0.707107 1.146447 1.000000 +v -0.707107 1.146447 -1.000000 +v -0.353553 0.792893 -1.000000 +v -1.060660 0.792893 1.250000 +v -1.237437 0.969670 1.000000 +v -0.530330 0.262563 1.000000 +v -0.707107 0.439340 1.250000 +v -1.237437 0.969670 -1.000000 +v -1.060660 0.792893 -1.250000 +v -0.707107 0.439340 -1.250000 +v -0.530330 0.262563 -1.000000 +v -0.795495 1.058058 -1.250000 +v -0.972272 1.234835 -1.000000 +v -0.972272 1.234835 1.000000 +v -0.795495 1.058058 1.250000 +v -0.441942 0.704505 1.250000 +v -0.265165 0.527728 1.000000 +v -0.265165 0.527728 -1.000000 +v -0.441942 0.704505 -1.250000 +v -0.441942 0.704505 -1.000000 +v -0.795495 1.058058 -1.000000 +v -0.795495 1.058058 1.000000 +v -0.441942 0.704505 1.000000 +v 0.353553 2.207107 1.000000 +v 0.707107 1.853553 1.000000 +v 0.707107 1.853553 -1.000000 +v 0.353553 2.207107 -1.000000 +v 1.060660 2.207107 1.250000 +v 1.237437 2.030330 1.000000 +v 0.530330 2.737437 1.000000 +v 0.707107 2.560660 1.250000 +v 1.237437 2.030330 -1.000000 +v 1.060660 2.207107 -1.250000 +v 0.707107 2.560660 -1.250000 +v 0.530330 2.737437 -1.000000 +v 0.795495 1.941942 -1.250000 +v 0.972272 1.765165 -1.000000 +v 0.972272 1.765165 1.000000 +v 0.795495 1.941942 1.250000 +v 0.441942 2.295495 1.250000 +v 0.265165 2.472272 1.000000 +v 0.265165 2.472272 -1.000000 +v 0.441942 2.295495 -1.250000 +v 0.441942 2.295495 -1.000000 +v 0.795495 1.941942 -1.000000 +v 0.795495 1.941942 1.000000 +v 0.441942 2.295495 1.000000 +v -0.707107 1.853553 1.000000 +v -0.353553 2.207107 1.000000 +v -0.353553 2.207107 -1.000000 +v -0.707107 1.853553 -1.000000 +v -0.707107 2.560660 1.250000 +v -0.530330 2.737437 1.000000 +v -1.237437 2.030330 1.000000 +v -1.060660 2.207107 1.250000 +v -0.530330 2.737437 -1.000000 +v -0.707107 2.560660 -1.250000 +v -1.060660 2.207107 -1.250000 +v -1.237437 2.030330 -1.000000 +v -0.441942 2.295495 -1.250000 +v -0.265165 2.472272 -1.000000 +v -0.265165 2.472272 1.000000 +v -0.441942 2.295495 1.250000 +v -0.795495 1.941942 1.250000 +v -0.972272 1.765165 1.000000 +v -0.972272 1.765165 -1.000000 +v -0.795495 1.941942 -1.250000 +v -0.795495 1.941942 -1.000000 +v -0.441942 2.295495 -1.000000 +v -0.441942 2.295495 1.000000 +v -0.795495 1.941942 1.000000 +v 0.707107 1.146447 1.000000 +v 0.353553 0.792893 1.000000 +v 0.353553 0.792893 -1.000000 +v 0.707107 1.146447 -1.000000 +v 0.707107 0.439340 1.250000 +v 0.530330 0.262563 1.000000 +v 1.237437 0.969670 1.000000 +v 1.060660 0.792893 1.250000 +v 0.530330 0.262563 -1.000000 +v 0.707107 0.439340 -1.250000 +v 1.060660 0.792893 -1.250000 +v 1.237437 0.969670 -1.000000 +v 0.441942 0.704505 -1.250000 +v 0.265165 0.527728 -1.000000 +v 0.265165 0.527728 1.000000 +v 0.441942 0.704505 1.250000 +v 0.795495 1.058058 1.250000 +v 0.972272 1.234835 1.000000 +v 0.972272 1.234835 -1.000000 +v 0.795495 1.058058 -1.250000 +v 0.795495 1.058058 -1.000000 +v 0.441942 0.704505 -1.000000 +v 0.441942 0.704505 1.000000 +v 0.795495 1.058058 1.000000 +v -0.250000 0.250000 0.750000 +v 0.250000 0.250000 0.750000 +v -0.250000 0.250000 0.250000 +v 0.250000 0.250000 0.250000 +v -0.250000 1.000000 0.250000 +v -0.250000 1.000000 0.750000 +v 0.250000 1.000000 0.750000 +v 0.250000 1.000000 0.250000 +v -0.250000 0.250000 -0.250000 +v 0.250000 0.250000 -0.250000 +v -0.250000 0.250000 -0.750000 +v 0.250000 0.250000 -0.750000 +v -0.250000 1.000000 -0.750000 +v -0.250000 1.000000 -0.250000 +v 0.250000 1.000000 -0.250000 +v 0.250000 1.000000 -0.750000 +v 0.250000 2.750000 0.750000 +v -0.250000 2.750000 0.750000 +v 0.250000 2.750000 0.250000 +v -0.250000 2.750000 0.250000 +v 0.250000 2.000000 0.250000 +v 0.250000 2.000000 0.750000 +v -0.250000 2.000000 0.750000 +v -0.250000 2.000000 0.250000 +v 0.250000 2.750000 -0.250000 +v -0.250000 2.750000 -0.250000 +v 0.250000 2.750000 -0.750000 +v -0.250000 2.750000 -0.750000 +v 0.250000 2.000000 -0.750000 +v 0.250000 2.000000 -0.250000 +v -0.250000 2.000000 -0.250000 +v -0.250000 2.000000 -0.750000 +v -1.250000 1.750000 0.750000 +v -1.250000 1.250000 0.750000 +v -1.250000 1.750000 0.250000 +v -1.250000 1.250000 0.250000 +v -0.500000 1.750000 0.250000 +v -0.500000 1.750000 0.750000 +v -0.500000 1.250000 0.750000 +v -0.500000 1.250000 0.250000 +v -1.250000 1.750000 -0.250000 +v -1.250000 1.250000 -0.250000 +v -1.250000 1.750000 -0.750000 +v -1.250000 1.250000 -0.750000 +v -0.500000 1.750000 -0.750000 +v -0.500000 1.750000 -0.250000 +v -0.500000 1.250000 -0.250000 +v -0.500000 1.250000 -0.750000 +v 1.250000 1.250000 0.750000 +v 1.250000 1.750000 0.750000 +v 1.250000 1.250000 0.250000 +v 1.250000 1.750000 0.250000 +v 0.500000 1.250000 0.250000 +v 0.500000 1.250000 0.750000 +v 0.500000 1.750000 0.750000 +v 0.500000 1.750000 0.250000 +v 1.250000 1.250000 -0.250000 +v 1.250000 1.750000 -0.250000 +v 1.250000 1.250000 -0.750000 +v 1.250000 1.750000 -0.750000 +v 0.500000 1.250000 -0.750000 +v 0.500000 1.250000 -0.250000 +v 0.500000 1.750000 -0.250000 +v 0.500000 1.750000 -0.750000 +vt 0.105263 0.200000 +vt 0.421053 0.300000 +vt 0.105263 0.300000 +vt 0.421053 0.200000 +vt 0.526316 0.100000 +vt 0.526316 0.200000 +vt 0.421053 0.100000 +vt 0.105263 0.000000 +vt 0.421053 0.000000 +vt 0.105263 0.100000 +vt 0.000000 0.200000 +vt 0.000000 0.100000 +vt 0.421053 0.400000 +vt 0.973684 0.000000 +vt 0.763158 0.125000 +vt 0.763158 0.000000 +vt 0.763158 0.500000 +vt 0.973684 0.625000 +vt 0.763158 0.625000 +vt 0.973684 0.750000 +vt 0.763158 0.875000 +vt 0.763158 0.750000 +vt 0.763158 0.250000 +vt 0.973684 0.375000 +vt 0.763158 0.375000 +vt 0.973684 0.500000 +vt 0.973684 0.250000 +vt 0.973684 0.125000 +vt 0.763158 1.000000 +vt 0.973684 0.875000 +vt 0.973684 1.000000 +vt 0.736842 0.112500 +vt 0.526316 0.012500 +vt 0.736842 0.012500 +vt 0.526316 0.612500 +vt 0.736842 0.512500 +vt 0.736842 0.612500 +vt 0.736842 0.862500 +vt 0.526316 0.762500 +vt 0.736842 0.762500 +vt 0.526316 0.362500 +vt 0.736842 0.262500 +vt 0.736842 0.362500 +vt 0.526316 0.887500 +vt 0.736842 0.987500 +vt 0.526316 0.987500 +vt 0.736842 0.137500 +vt 0.526316 0.237500 +vt 0.526316 0.137500 +vt 0.526316 0.487500 +vt 0.736842 0.387500 +vt 0.736842 0.487500 +vt 0.736842 0.737500 +vt 0.526316 0.637500 +vt 0.736842 0.637500 +vt 0.736842 0.887500 +vt 1.000000 0.362500 +vt 1.000000 0.487500 +vt 1.000000 0.612500 +vt 1.000000 0.737500 +vt 1.000000 0.768750 +vt 1.000000 0.887500 +vt 1.000000 0.012500 +vt 1.000000 0.237500 +vt 0.000000 0.687500 +vt 0.039474 0.637500 +vt 0.039474 0.687500 +vt -0.000000 0.637500 +vt 0.039474 0.687500 +vt -0.000000 0.687500 +vt 0.302632 0.637500 +vt 0.302632 0.687500 +vt 0.276316 0.712500 +vt 0.276316 0.575000 +vt 0.065789 0.612500 +vt 0.065789 0.575000 +vt 0.342105 0.687500 +vt 0.342105 0.637500 +vt 0.039474 0.550000 +vt 0.065789 0.475000 +vt 0.302632 0.712500 +vt 0.342105 0.712500 +vt 0.342105 0.612500 +vt 0.302632 0.612500 +vt 0.039474 0.612500 +vt 0.000000 0.637500 +vt -0.000000 0.612500 +vt 0.039474 0.712500 +vt 0.065789 0.750000 +vt 0.276316 0.750000 +vt 0.223684 0.475000 +vt 0.434211 0.462500 +vt 0.434211 0.475000 +vt 0.210526 0.462500 +vt 0.223684 0.412500 +vt 0.223684 0.462500 +vt 0.434211 0.400000 +vt 0.223684 0.400000 +vt 0.447368 0.462500 +vt 0.434211 0.412500 +vt 0.447368 0.412500 +vt 0.302632 0.637500 +vt 0.302632 0.687500 +vt 0.276316 0.712500 +vt 0.276316 0.575000 +vt 0.065789 0.612500 +vt 0.065789 0.575000 +vt 0.342105 0.637500 +vt 0.039474 0.550000 +vt 0.065789 0.475000 +vt 0.342105 0.712500 +vt 0.342105 0.687500 +vt 0.302632 0.612500 +vt 0.039474 0.612500 +vt -0.000000 0.612500 +vt 0.000000 0.712500 +vt 0.039474 0.712500 +vt 0.065789 0.750000 +vt 0.276316 0.750000 +vt 0.223684 0.475000 +vt 0.434211 0.462500 +vt 0.434211 0.475000 +vt 0.210526 0.412500 +vt 0.223684 0.462500 +vt 0.210526 0.462500 +vt 0.434211 0.400000 +vt 0.223684 0.412500 +vt 0.223684 0.400000 +vt 0.447368 0.462500 +vt 0.434211 0.412500 +vt 0.447368 0.412500 +vt -0.000000 0.687500 +vt 0.039474 0.637500 +vt 0.039474 0.687500 +vt 0.000000 0.637500 +vt 0.039474 0.687500 +vt -0.000000 0.687500 +vt 0.302632 0.637500 +vt 0.302632 0.687500 +vt 0.276316 0.712500 +vt 0.276316 0.575000 +vt 0.065789 0.612500 +vt 0.065789 0.575000 +vt 0.342105 0.687500 +vt 0.342105 0.637500 +vt 0.039474 0.550000 +vt 0.065789 0.475000 +vt 0.302632 0.712500 +vt 0.342105 0.712500 +vt 0.302632 0.612500 +vt 0.039474 0.612500 +vt -0.000000 0.637500 +vt -0.000000 0.612500 +vt 0.039474 0.712500 +vt 0.065789 0.750000 +vt 0.276316 0.750000 +vt 0.223684 0.475000 +vt 0.434211 0.462500 +vt 0.434211 0.475000 +vt 0.210526 0.412500 +vt 0.223684 0.462500 +vt 0.210526 0.462500 +vt 0.434211 0.400000 +vt 0.223684 0.412500 +vt 0.223684 0.400000 +vt 0.447368 0.462500 +vt 0.434211 0.412500 +vt 0.447368 0.412500 +vt 0.302632 0.637500 +vt 0.302632 0.687500 +vt 0.276316 0.712500 +vt 0.276316 0.575000 +vt 0.065789 0.612500 +vt 0.065789 0.575000 +vt 0.342105 0.637500 +vt 0.039474 0.550000 +vt 0.065789 0.475000 +vt 0.342105 0.712500 +vt 0.342105 0.687500 +vt 0.342105 0.612500 +vt 0.302632 0.612500 +vt 0.039474 0.612500 +vt 0.000000 0.612500 +vt 0.000000 0.712500 +vt 0.039474 0.712500 +vt 0.065789 0.750000 +vt 0.276316 0.750000 +vt 0.223684 0.475000 +vt 0.434211 0.462500 +vt 0.434211 0.475000 +vt 0.210526 0.412500 +vt 0.223684 0.462500 +vt 0.210526 0.462500 +vt 0.434211 0.400000 +vt 0.223684 0.412500 +vt 0.223684 0.400000 +vt 0.447368 0.462500 +vt 0.434211 0.412500 +vt 0.447368 0.412500 +vt 0.052632 0.475000 +vt 0.105263 0.400000 +vt 0.105263 0.475000 +vt 0.157895 0.475000 +vt 0.210526 0.400000 +vt 0.210526 0.475000 +vt 0.052632 0.475000 +vt 0.105263 0.400000 +vt 0.105263 0.475000 +vt 0.157895 0.475000 +vt 0.210526 0.400000 +vt 0.210526 0.475000 +vt -0.000000 0.475000 +vt 0.052632 0.400000 +vt 0.157895 0.400000 +vt -0.000000 0.475000 +vt 0.052632 0.400000 +vt 0.157895 0.400000 +vt 0.052632 0.475000 +vt 0.105263 0.400000 +vt 0.105263 0.475000 +vt 0.157895 0.475000 +vt 0.210526 0.400000 +vt 0.210526 0.475000 +vt 0.052632 0.475000 +vt 0.105263 0.400000 +vt 0.105263 0.475000 +vt 0.157895 0.475000 +vt 0.210526 0.400000 +vt 0.210526 0.475000 +vt -0.000000 0.475000 +vt 0.052632 0.400000 +vt 0.157895 0.400000 +vt -0.000000 0.475000 +vt 0.052632 0.400000 +vt 0.157895 0.400000 +vt 0.052632 0.475000 +vt 0.105263 0.400000 +vt 0.105263 0.475000 +vt 0.157895 0.475000 +vt 0.210526 0.400000 +vt 0.210526 0.475000 +vt 0.052632 0.475000 +vt 0.105263 0.400000 +vt 0.105263 0.475000 +vt 0.157895 0.475000 +vt 0.210526 0.400000 +vt 0.210526 0.475000 +vt -0.000000 0.475000 +vt 0.052632 0.400000 +vt 0.157895 0.400000 +vt -0.000000 0.475000 +vt 0.052632 0.400000 +vt 0.157895 0.400000 +vt 0.052632 0.475000 +vt 0.105263 0.400000 +vt 0.105263 0.475000 +vt 0.157895 0.475000 +vt 0.210526 0.400000 +vt 0.210526 0.475000 +vt 0.052632 0.475000 +vt 0.105263 0.400000 +vt 0.105263 0.475000 +vt 0.157895 0.475000 +vt 0.210526 0.400000 +vt 0.210526 0.475000 +vt -0.000000 0.400000 +vt 0.052632 0.400000 +vt 0.157895 0.400000 +vt -0.000000 0.400000 +vt 0.052632 0.400000 +vt 0.157895 0.400000 +vt 0.105263 0.400000 +vt 0.526316 0.112500 +vt 0.526316 0.512500 +vt 0.526316 0.862500 +vt 0.526316 0.262500 +vt 0.736842 0.237500 +vt 0.526316 0.387500 +vt 0.526316 0.737500 +vt 1.000000 0.262500 +vt 1.000000 0.387500 +vt 1.000000 0.512500 +vt 1.000000 0.637500 +vt 1.000000 0.862500 +vt 1.000000 0.987500 +vt 1.000000 0.112500 +vt 1.000000 0.137500 +vt 0.039474 0.637500 +vt 0.065789 0.712500 +vt 0.276316 0.612500 +vt 0.039474 0.500000 +vt 0.276316 0.475000 +vt 0.302632 0.500000 +vt 0.302632 0.550000 +vt 0.000000 0.712500 +vt 0.210526 0.412500 +vt 0.065789 0.712500 +vt 0.276316 0.612500 +vt 0.039474 0.500000 +vt 0.276316 0.475000 +vt 0.302632 0.500000 +vt 0.302632 0.550000 +vt 0.302632 0.712500 +vt 0.342105 0.612500 +vt 0.039474 0.637500 +vt 0.065789 0.712500 +vt 0.276316 0.612500 +vt 0.039474 0.500000 +vt 0.276316 0.475000 +vt 0.302632 0.500000 +vt 0.302632 0.550000 +vt 0.342105 0.612500 +vt 0.000000 0.712500 +vt 0.065789 0.712500 +vt 0.276316 0.612500 +vt 0.039474 0.500000 +vt 0.276316 0.475000 +vt 0.302632 0.500000 +vt 0.302632 0.550000 +vt 0.302632 0.712500 +vt -0.000000 0.400000 +vt -0.000000 0.400000 +vt -0.000000 0.400000 +vt -0.000000 0.400000 +vt -0.000000 0.400000 +vt -0.000000 0.400000 +vt -0.000000 0.475000 +vt -0.000000 0.475000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.5000 0.5000 -0.7071 +vn 0.5000 -0.5000 -0.7071 +vn 0.5000 -0.5000 0.7071 +vn -0.5000 0.5000 0.7071 +vn 0.5000 0.5000 -0.7071 +vn -0.5000 -0.5000 -0.7071 +vn -0.5000 -0.5000 0.7071 +vn 0.5000 0.5000 0.7071 +s off +f 2/1/1 3/2/1 1/3/1 +f 4/4/2 7/5/2 3/6/2 +f 8/7/3 5/8/3 7/9/3 +f 6/10/4 1/11/4 5/12/4 +f 7/13/5 1/3/5 3/2/5 +f 4/4/6 6/10/6 8/7/6 +f 11/14/5 10/15/5 9/16/5 +f 14/17/6 15/18/6 13/19/6 +f 19/20/1 18/21/1 17/22/1 +f 22/23/3 23/24/3 21/25/3 +f 21/25/7 16/26/7 14/17/7 +f 24/27/8 10/15/8 12/28/8 +f 9/29/9 20/30/9 11/31/9 +f 15/18/10 17/22/10 13/19/10 +f 26/32/6 27/33/6 25/34/6 +f 31/35/5 30/36/5 29/37/5 +f 34/38/3 35/39/3 33/40/3 +f 39/41/1 38/42/1 37/43/1 +f 36/44/7 25/45/7 27/46/7 +f 26/47/10 40/48/10 28/49/10 +f 32/50/9 37/51/9 30/52/9 +f 33/53/8 31/54/8 29/55/8 +f 17/22/4 29/55/4 13/19/4 +f 13/19/4 30/36/4 14/17/4 +f 14/17/4 37/51/4 21/25/4 +f 21/25/4 38/42/4 22/23/4 +f 22/23/4 26/47/4 10/15/4 +f 26/32/4 9/16/4 10/15/4 +f 9/29/4 34/56/4 18/21/4 +f 34/38/4 17/22/4 18/21/4 +f 24/27/2 39/57/2 23/24/2 +f 23/24/2 32/58/2 16/26/2 +f 16/26/2 31/59/2 15/18/2 +f 15/18/2 35/60/2 19/20/2 +f 35/61/2 20/30/2 19/20/2 +f 36/62/2 11/31/2 20/30/2 +f 27/63/2 12/28/2 11/14/2 +f 12/28/2 40/64/2 24/27/2 +f 45/65/4 57/66/4 56/67/4 +f 72/68/4 80/69/4 69/70/4 +f 60/71/7 53/72/7 54/73/7 +f 52/74/8 58/75/8 47/76/8 +f 50/77/2 60/71/2 51/78/2 +f 47/76/9 48/79/9 46/80/9 +f 54/81/11 50/77/11 49/82/11 +f 52/83/12 60/71/12 59/84/12 +f 58/85/13 48/86/13 47/87/13 +f 55/88/14 45/65/14 56/67/14 +f 46/89/10 54/73/10 49/90/10 +f 63/91/10 43/92/10 62/93/10 +f 63/94/4 41/95/4 42/96/4 +f 61/97/8 41/95/8 64/98/8 +f 41/95/7 43/92/7 42/96/7 +f 62/99/2 44/100/2 61/101/2 +f 84/102/9 77/103/9 78/104/9 +f 76/105/10 82/106/10 71/107/10 +f 75/108/2 77/103/2 84/102/2 +f 71/107/7 72/109/7 70/110/7 +f 73/111/12 77/103/12 74/112/12 +f 83/113/11 75/108/11 84/102/11 +f 82/114/14 72/68/14 71/115/14 +f 70/116/13 80/69/13 79/117/13 +f 70/118/8 78/104/8 73/119/8 +f 87/120/8 67/121/8 86/122/8 +f 88/123/4 66/124/4 87/125/4 +f 85/126/10 65/127/10 88/128/10 +f 65/127/9 67/121/9 66/124/9 +f 86/129/2 68/130/2 85/131/2 +f 93/132/4 105/133/4 104/134/4 +f 120/135/4 128/136/4 117/137/4 +f 108/138/8 101/139/8 102/140/8 +f 100/141/9 106/142/9 95/143/9 +f 98/144/2 108/138/2 99/145/2 +f 95/143/10 96/146/10 94/147/10 +f 102/148/15 98/144/15 97/149/15 +f 107/150/16 99/145/16 108/138/16 +f 106/151/17 96/152/17 95/153/17 +f 103/154/18 93/132/18 104/134/18 +f 94/155/7 102/140/7 97/156/7 +f 111/157/7 91/158/7 110/159/7 +f 112/160/4 90/161/4 111/162/4 +f 109/163/9 89/164/9 112/165/9 +f 89/164/8 91/158/8 90/161/8 +f 110/166/2 92/167/2 109/168/2 +f 132/169/10 125/170/10 126/171/10 +f 124/172/7 130/173/7 119/174/7 +f 123/175/2 125/170/2 132/169/2 +f 119/174/8 120/176/8 118/177/8 +f 121/178/16 125/170/16 122/179/16 +f 124/180/15 132/169/15 131/181/15 +f 130/182/18 120/135/18 119/183/18 +f 118/184/17 128/136/17 127/185/17 +f 118/186/9 126/171/9 121/187/9 +f 135/188/9 115/189/9 134/190/9 +f 136/191/4 114/192/4 135/193/4 +f 133/194/7 113/195/7 136/196/7 +f 113/195/10 115/189/10 114/192/10 +f 134/197/2 116/198/2 133/199/2 +f 148/200/3 151/201/3 146/202/3 +f 145/203/1 149/204/1 147/205/1 +f 140/206/3 143/207/3 138/208/3 +f 137/209/1 141/210/1 139/211/1 +f 139/212/2 144/213/2 140/206/2 +f 138/208/4 142/214/4 137/209/4 +f 147/215/2 152/216/2 148/200/2 +f 146/202/4 150/217/4 145/203/4 +f 164/218/1 167/219/1 162/220/1 +f 161/221/3 165/222/3 163/223/3 +f 156/224/1 159/225/1 154/226/1 +f 153/227/3 157/228/3 155/229/3 +f 155/230/2 160/231/2 156/224/2 +f 154/226/4 158/232/4 153/227/4 +f 163/233/2 168/234/2 164/218/2 +f 162/220/4 166/235/4 161/221/4 +f 180/236/5 183/237/5 178/238/5 +f 177/239/6 181/240/6 179/241/6 +f 172/242/5 175/243/5 170/244/5 +f 169/245/6 173/246/6 171/247/6 +f 171/248/2 176/249/2 172/242/2 +f 170/244/4 174/250/4 169/245/4 +f 179/251/2 184/252/2 180/236/2 +f 178/238/4 182/253/4 177/239/4 +f 196/254/6 199/255/6 194/256/6 +f 193/257/5 197/258/5 195/259/5 +f 188/260/6 191/261/6 186/262/6 +f 185/263/5 189/264/5 187/265/5 +f 188/260/2 189/266/2 192/267/2 +f 186/262/4 190/268/4 185/263/4 +f 196/254/2 197/269/2 200/270/2 +f 194/256/4 198/271/4 193/257/4 +f 2/1/1 4/4/1 3/2/1 +f 4/4/2 8/7/2 7/5/2 +f 8/7/3 6/10/3 5/8/3 +f 6/10/4 2/1/4 1/11/4 +f 7/13/5 5/272/5 1/3/5 +f 4/4/6 2/1/6 6/10/6 +f 11/14/5 12/28/5 10/15/5 +f 14/17/6 16/26/6 15/18/6 +f 19/20/1 20/30/1 18/21/1 +f 22/23/3 24/27/3 23/24/3 +f 21/25/7 23/24/7 16/26/7 +f 24/27/8 22/23/8 10/15/8 +f 9/29/9 18/21/9 20/30/9 +f 15/18/10 19/20/10 17/22/10 +f 26/32/6 28/273/6 27/33/6 +f 31/35/5 32/274/5 30/36/5 +f 34/38/3 36/275/3 35/39/3 +f 39/41/1 40/276/1 38/42/1 +f 36/44/7 34/56/7 25/45/7 +f 26/47/10 38/277/10 40/48/10 +f 32/50/9 39/278/9 37/51/9 +f 33/53/8 35/279/8 31/54/8 +f 17/22/4 33/53/4 29/55/4 +f 13/19/4 29/37/4 30/36/4 +f 14/17/4 30/52/4 37/51/4 +f 21/25/4 37/43/4 38/42/4 +f 22/23/4 38/277/4 26/47/4 +f 26/32/4 25/34/4 9/16/4 +f 9/29/4 25/45/4 34/56/4 +f 34/38/4 33/40/4 17/22/4 +f 24/27/2 40/280/2 39/57/2 +f 23/24/2 39/281/2 32/58/2 +f 16/26/2 32/282/2 31/59/2 +f 15/18/2 31/283/2 35/60/2 +f 35/61/2 36/284/2 20/30/2 +f 36/62/2 27/285/2 11/31/2 +f 27/63/2 28/286/2 12/28/2 +f 12/28/2 28/287/2 40/64/2 +f 45/65/4 48/86/4 57/66/4 +f 72/68/4 81/288/4 80/69/4 +f 54/73/7 55/289/7 58/75/7 +f 55/289/7 56/67/7 58/75/7 +f 56/67/7 57/66/7 58/75/7 +f 58/75/7 59/290/7 54/73/7 +f 59/290/7 60/71/7 54/73/7 +f 52/74/8 59/290/8 58/75/8 +f 50/77/2 53/72/2 60/71/2 +f 48/79/9 45/291/9 46/80/9 +f 46/80/9 49/292/9 52/74/9 +f 49/292/9 50/293/9 52/74/9 +f 50/293/9 51/294/9 52/74/9 +f 52/74/9 47/76/9 46/80/9 +f 54/81/11 53/72/11 50/77/11 +f 52/83/12 51/78/12 60/71/12 +f 58/85/13 57/66/13 48/86/13 +f 55/88/14 46/295/14 45/65/14 +f 46/89/10 55/289/10 54/73/10 +f 63/91/10 42/96/10 43/92/10 +f 63/94/4 64/296/4 41/95/4 +f 61/97/8 44/100/8 41/95/8 +f 41/95/7 44/100/7 43/92/7 +f 62/99/2 43/92/2 44/100/2 +f 78/104/9 79/297/9 82/106/9 +f 79/297/9 80/69/9 82/106/9 +f 80/69/9 81/288/9 82/106/9 +f 82/106/9 83/298/9 78/104/9 +f 83/298/9 84/102/9 78/104/9 +f 76/105/10 83/298/10 82/106/10 +f 75/108/2 74/112/2 77/103/2 +f 72/109/7 69/299/7 70/110/7 +f 70/110/7 73/300/7 76/105/7 +f 73/300/7 74/301/7 76/105/7 +f 74/301/7 75/302/7 76/105/7 +f 76/105/7 71/107/7 70/110/7 +f 73/111/12 78/303/12 77/103/12 +f 83/113/11 76/304/11 75/108/11 +f 82/114/14 81/288/14 72/68/14 +f 70/116/13 69/70/13 80/69/13 +f 70/118/8 79/297/8 78/104/8 +f 87/120/8 66/124/8 67/121/8 +f 88/123/4 65/127/4 66/124/4 +f 85/126/10 68/130/10 65/127/10 +f 65/127/9 68/130/9 67/121/9 +f 86/129/2 67/121/2 68/130/2 +f 93/132/4 96/152/4 105/133/4 +f 120/135/4 129/305/4 128/136/4 +f 102/140/8 103/306/8 106/142/8 +f 103/306/8 104/134/8 106/142/8 +f 104/134/8 105/133/8 106/142/8 +f 106/142/8 107/307/8 102/140/8 +f 107/307/8 108/138/8 102/140/8 +f 100/141/9 107/307/9 106/142/9 +f 98/144/2 101/139/2 108/138/2 +f 96/146/10 93/308/10 94/147/10 +f 94/147/10 97/309/10 100/141/10 +f 97/309/10 98/310/10 100/141/10 +f 98/310/10 99/311/10 100/141/10 +f 100/141/10 95/143/10 94/147/10 +f 102/148/15 101/139/15 98/144/15 +f 107/150/16 100/312/16 99/145/16 +f 106/151/17 105/133/17 96/152/17 +f 103/154/18 94/313/18 93/132/18 +f 94/155/7 103/306/7 102/140/7 +f 111/157/7 90/161/7 91/158/7 +f 112/160/4 89/164/4 90/161/4 +f 109/163/9 92/167/9 89/164/9 +f 89/164/8 92/167/8 91/158/8 +f 110/166/2 91/158/2 92/167/2 +f 126/171/10 127/314/10 130/173/10 +f 127/314/10 128/136/10 130/173/10 +f 128/136/10 129/305/10 130/173/10 +f 130/173/10 131/315/10 126/171/10 +f 131/315/10 132/169/10 126/171/10 +f 124/172/7 131/315/7 130/173/7 +f 123/175/2 122/179/2 125/170/2 +f 120/176/8 117/316/8 118/177/8 +f 118/177/8 121/317/8 124/172/8 +f 121/317/8 122/318/8 124/172/8 +f 122/318/8 123/319/8 124/172/8 +f 124/172/8 119/174/8 118/177/8 +f 121/178/16 126/320/16 125/170/16 +f 124/180/15 123/175/15 132/169/15 +f 130/182/18 129/305/18 120/135/18 +f 118/184/17 117/137/17 128/136/17 +f 118/186/9 127/314/9 126/171/9 +f 135/188/9 114/192/9 115/189/9 +f 136/191/4 113/195/4 114/192/4 +f 133/194/7 116/198/7 113/195/7 +f 113/195/10 116/198/10 115/189/10 +f 134/197/2 115/189/2 116/198/2 +f 148/200/3 152/216/3 151/201/3 +f 145/203/1 150/217/1 149/204/1 +f 140/206/3 144/213/3 143/207/3 +f 137/209/1 142/214/1 141/210/1 +f 139/212/2 141/321/2 144/213/2 +f 138/208/4 143/207/4 142/214/4 +f 147/215/2 149/322/2 152/216/2 +f 146/202/4 151/201/4 150/217/4 +f 164/218/1 168/234/1 167/219/1 +f 161/221/3 166/235/3 165/222/3 +f 156/224/1 160/231/1 159/225/1 +f 153/227/3 158/232/3 157/228/3 +f 155/230/2 157/323/2 160/231/2 +f 154/226/4 159/225/4 158/232/4 +f 163/233/2 165/324/2 168/234/2 +f 162/220/4 167/219/4 166/235/4 +f 180/236/5 184/252/5 183/237/5 +f 177/239/6 182/253/6 181/240/6 +f 172/242/5 176/249/5 175/243/5 +f 169/245/6 174/250/6 173/246/6 +f 171/248/2 173/325/2 176/249/2 +f 170/244/4 175/243/4 174/250/4 +f 179/251/2 181/326/2 184/252/2 +f 178/238/4 183/237/4 182/253/4 +f 196/254/6 200/270/6 199/255/6 +f 193/257/5 198/271/5 197/258/5 +f 188/260/6 192/267/6 191/261/6 +f 185/263/5 190/268/5 189/264/5 +f 188/260/2 187/327/2 189/266/2 +f 186/262/4 191/261/4 190/268/4 +f 196/254/2 195/328/2 197/269/2 +f 194/256/4 199/255/4 198/271/4 diff --git a/src/main/resources/assets/hbm/models/particleaccelerator/rfc.obj b/src/main/resources/assets/hbm/models/particleaccelerator/rfc.obj new file mode 100644 index 000000000..71caf5e62 --- /dev/null +++ b/src/main/resources/assets/hbm/models/particleaccelerator/rfc.obj @@ -0,0 +1,672 @@ +# Blender v2.79 (sub 0) OBJ File: 'rfc.blend' +# www.blender.org +o Cube_Cube.001 +v -0.500000 1.000000 4.500000 +v -0.500000 2.000000 4.500000 +v -0.500000 1.000000 -4.500000 +v -0.500000 2.000000 -4.500000 +v 0.500000 1.000000 4.500000 +v 0.500000 2.000000 4.500000 +v 0.500000 1.000000 -4.500000 +v 0.500000 2.000000 -4.500000 +v -1.000000 0.500000 4.000000 +v -1.000000 2.500000 4.000000 +v -1.000000 0.500000 3.500000 +v -1.000000 2.500000 3.500000 +v 1.000000 0.500000 4.000000 +v 1.000000 2.500000 4.000000 +v 1.000000 0.500000 3.500000 +v 1.000000 2.500000 3.500000 +v -0.500000 1.000000 4.250000 +v -0.500000 2.000000 4.250000 +v 0.500000 2.000000 4.250000 +v 0.500000 1.000000 4.250000 +v -0.500000 2.000000 3.250000 +v -0.500000 1.000000 3.250000 +v 0.500000 1.000000 3.250000 +v 0.500000 2.000000 3.250000 +v -0.187500 2.000000 3.187500 +v 0.187500 2.000000 3.187500 +v -0.187500 2.000000 2.812500 +v 0.187500 2.000000 2.812500 +v -0.187500 3.000000 2.812500 +v -0.187500 3.000000 3.187500 +v 0.187500 3.000000 3.187500 +v 0.187500 3.000000 2.812500 +v -0.187500 2.000000 -2.812500 +v 0.187500 2.000000 -2.812500 +v -0.187500 2.000000 -3.187500 +v 0.187500 2.000000 -3.187500 +v -0.187500 3.000000 -3.187500 +v -0.187500 3.000000 -2.812500 +v 0.187500 3.000000 -2.812500 +v 0.187500 3.000000 -3.187500 +v -0.187500 0.000000 3.187500 +v 0.187500 0.000000 3.187500 +v -0.187500 0.000000 2.812500 +v 0.187500 0.000000 2.812500 +v -0.187500 1.000000 2.812500 +v -0.187500 1.000000 3.187500 +v 0.187500 1.000000 3.187500 +v 0.187500 1.000000 2.812500 +v -0.187500 0.000000 -2.812500 +v 0.187500 0.000000 -2.812500 +v -0.187500 0.000000 -3.187500 +v 0.187500 0.000000 -3.187500 +v -0.187500 1.000000 -3.187500 +v -0.187500 1.000000 -2.812500 +v 0.187500 1.000000 -2.812500 +v 0.187500 1.000000 -3.187500 +v -0.125000 2.375000 3.875000 +v -0.125000 2.625000 3.875000 +v -0.125000 2.375000 -3.875000 +v -0.125000 2.625000 -3.875000 +v 0.125000 2.375000 3.875000 +v 0.125000 2.625000 3.875000 +v 0.125000 2.375000 -3.875000 +v 0.125000 2.625000 -3.875000 +v -0.125000 0.375000 3.875000 +v -0.125000 0.625000 3.875000 +v -0.125000 0.375000 -3.875000 +v -0.125000 0.625000 -3.875000 +v 0.125000 0.375000 3.875000 +v 0.125000 0.625000 3.875000 +v 0.125000 0.375000 -3.875000 +v 0.125000 0.625000 -3.875000 +v -1.000000 0.500000 2.500000 +v -1.000000 2.500000 2.500000 +v -1.000000 0.500000 2.000000 +v -1.000000 2.500000 2.000000 +v 1.000000 0.500000 2.500000 +v 1.000000 2.500000 2.500000 +v 1.000000 0.500000 2.000000 +v 1.000000 2.500000 2.000000 +v -0.500000 1.000000 2.750000 +v -0.500000 2.000000 2.750000 +v 0.500000 2.000000 2.750000 +v 0.500000 1.000000 2.750000 +v -0.500000 2.000000 1.750000 +v -0.500000 1.000000 1.750000 +v 0.500000 1.000000 1.750000 +v 0.500000 2.000000 1.750000 +v -1.000000 0.500000 1.000000 +v -1.000000 2.500000 1.000000 +v -1.000000 0.500000 0.500000 +v -1.000000 2.500000 0.500000 +v 1.000000 0.500000 1.000000 +v 1.000000 2.500000 1.000000 +v 1.000000 0.500000 0.500000 +v 1.000000 2.500000 0.500000 +v -0.500000 1.000000 1.250000 +v -0.500000 2.000000 1.250000 +v 0.500000 2.000000 1.250000 +v 0.500000 1.000000 1.250000 +v -0.500000 2.000000 0.250000 +v -0.500000 1.000000 0.250000 +v 0.500000 1.000000 0.250000 +v 0.500000 2.000000 0.250000 +v -1.000000 0.500000 -0.500000 +v -1.000000 2.500000 -0.500000 +v -1.000000 0.500000 -1.000000 +v -1.000000 2.500000 -1.000000 +v 1.000000 0.500000 -0.500000 +v 1.000000 2.500000 -0.500000 +v 1.000000 0.500000 -1.000000 +v 1.000000 2.500000 -1.000000 +v -0.500000 1.000000 -0.250000 +v -0.500000 2.000000 -0.250000 +v 0.500000 2.000000 -0.250000 +v 0.500000 1.000000 -0.250000 +v -0.500000 2.000000 -1.250000 +v -0.500000 1.000000 -1.250000 +v 0.500000 1.000000 -1.250000 +v 0.500000 2.000000 -1.250000 +v -1.000000 0.500000 -2.000000 +v -1.000000 2.500000 -2.000000 +v -1.000000 0.500000 -2.500000 +v -1.000000 2.500000 -2.500000 +v 1.000000 0.500000 -2.000000 +v 1.000000 2.500000 -2.000000 +v 1.000000 0.500000 -2.500000 +v 1.000000 2.500000 -2.500000 +v -0.500000 1.000000 -1.750000 +v -0.500000 2.000000 -1.750000 +v 0.500000 2.000000 -1.750000 +v 0.500000 1.000000 -1.750000 +v -0.500000 2.000000 -2.750000 +v -0.500000 1.000000 -2.750000 +v 0.500000 1.000000 -2.750000 +v 0.500000 2.000000 -2.750000 +v -1.000000 0.500000 -3.500000 +v -1.000000 2.500000 -3.500000 +v -1.000000 0.500000 -4.000000 +v -1.000000 2.500000 -4.000000 +v 1.000000 0.500000 -3.500000 +v 1.000000 2.500000 -3.500000 +v 1.000000 0.500000 -4.000000 +v 1.000000 2.500000 -4.000000 +v -0.500000 1.000000 -3.250000 +v -0.500000 2.000000 -3.250000 +v 0.500000 2.000000 -3.250000 +v 0.500000 1.000000 -3.250000 +v -0.500000 2.000000 -4.250000 +v -0.500000 1.000000 -4.250000 +v 0.500000 1.000000 -4.250000 +v 0.500000 2.000000 -4.250000 +v -0.187500 2.000000 0.187500 +v 0.187500 2.000000 0.187500 +v -0.187500 2.000000 -0.187500 +v 0.187500 2.000000 -0.187500 +v -0.187500 3.000000 -0.187500 +v -0.187500 3.000000 0.187500 +v 0.187500 3.000000 0.187500 +v 0.187500 3.000000 -0.187500 +v -0.187500 0.000000 0.187500 +v 0.187500 0.000000 0.187500 +v -0.187500 0.000000 -0.187500 +v 0.187500 0.000000 -0.187500 +v -0.187500 1.000000 -0.187500 +v -0.187500 1.000000 0.187500 +v 0.187500 1.000000 0.187500 +v 0.187500 1.000000 -0.187500 +vt 0.071429 0.400000 +vt 0.714286 0.600000 +vt 0.071429 0.600000 +vt 0.714286 0.400000 +vt 0.785714 0.200000 +vt 0.785714 0.400000 +vt 0.714286 0.200000 +vt 0.071429 0.000000 +vt 0.714286 -0.000000 +vt 0.071429 0.200000 +vt -0.000000 0.400000 +vt -0.000000 0.200000 +vt 0.714286 0.800000 +vt 1.000000 0.500000 +vt 0.964286 0.100000 +vt 1.000000 0.100000 +vt 0.821429 0.500000 +vt 0.928571 0.400000 +vt 0.964286 0.500000 +vt 0.785714 0.100000 +vt 0.821429 0.100000 +vt 0.964286 0.600000 +vt 0.857143 0.700000 +vt 0.821429 0.600000 +vt 0.964286 0.000000 +vt 0.857143 0.900000 +vt 0.821429 1.000000 +vt 0.964286 1.000000 +vt 0.928571 0.700000 +vt 0.928571 0.900000 +vt 0.928571 0.200000 +vt 0.857143 0.400000 +vt 0.857143 0.200000 +vt 0.741071 0.700000 +vt 0.767857 0.775000 +vt 0.741071 0.775000 +vt 0.741071 0.700000 +vt 0.767857 0.775000 +vt 0.741071 0.775000 +vt 0.794643 0.500000 +vt 0.767857 0.700000 +vt 0.767857 0.500000 +vt 0.741071 0.500000 +vt 0.714286 0.700000 +vt 0.714286 0.500000 +vt 0.821429 0.500000 +vt 0.794643 0.700000 +vt 0.794643 0.500000 +vt 0.767857 0.700000 +vt 0.767857 0.500000 +vt 0.741071 0.500000 +vt 0.714286 0.700000 +vt 0.714286 0.500000 +vt 0.821429 0.500000 +vt 0.794643 0.700000 +vt 0.767857 0.700000 +vt 0.794643 0.500000 +vt 0.794643 0.700000 +vt 0.714286 0.700000 +vt 0.741071 0.500000 +vt 0.741071 0.700000 +vt 0.821429 0.500000 +vt 0.821429 0.700000 +vt 0.767857 0.500000 +vt 0.767857 0.700000 +vt 0.794643 0.500000 +vt 0.794643 0.700000 +vt 0.714286 0.700000 +vt 0.741071 0.500000 +vt 0.741071 0.700000 +vt 0.821429 0.500000 +vt 0.821429 0.700000 +vt 0.767857 0.500000 +vt 0.767857 0.775000 +vt 0.767857 0.775000 +vt 0.071429 0.950000 +vt 0.625000 1.000000 +vt 0.071429 1.000000 +vt 0.625000 0.950000 +vt 0.642857 0.900000 +vt 0.642857 0.950000 +vt 0.625000 0.900000 +vt 0.071429 0.850000 +vt 0.625000 0.850000 +vt 0.071429 0.900000 +vt 0.053571 0.950000 +vt 0.053571 0.900000 +vt 0.071429 0.800000 +vt 0.625000 0.800000 +vt 0.071429 0.950000 +vt 0.625000 1.000000 +vt 0.071429 1.000000 +vt 0.625000 0.950000 +vt 0.642857 0.900000 +vt 0.642857 0.950000 +vt 0.625000 0.900000 +vt 0.071429 0.850000 +vt 0.625000 0.850000 +vt 0.071429 0.900000 +vt 0.053571 0.950000 +vt 0.053571 0.900000 +vt 0.071429 0.800000 +vt 0.625000 0.800000 +vt 1.000000 0.500000 +vt 0.964286 0.100000 +vt 1.000000 0.100000 +vt 0.821429 0.500000 +vt 0.928571 0.400000 +vt 0.964286 0.500000 +vt 0.785714 0.100000 +vt 0.821429 0.100000 +vt 0.964286 0.600000 +vt 0.857143 0.700000 +vt 0.821429 0.600000 +vt 0.964286 0.000000 +vt 0.857143 0.900000 +vt 0.821429 1.000000 +vt 0.964286 1.000000 +vt 0.928571 0.700000 +vt 0.928571 0.900000 +vt 0.928571 0.200000 +vt 0.857143 0.400000 +vt 0.857143 0.200000 +vt 1.000000 0.500000 +vt 0.964286 0.100000 +vt 1.000000 0.100000 +vt 0.821429 0.500000 +vt 0.928571 0.400000 +vt 0.964286 0.500000 +vt 0.785714 0.100000 +vt 0.821429 0.100000 +vt 0.964286 0.600000 +vt 0.857143 0.700000 +vt 0.821429 0.600000 +vt 0.964286 0.000000 +vt 0.857143 0.900000 +vt 0.821429 1.000000 +vt 0.964286 1.000000 +vt 0.928571 0.700000 +vt 0.928571 0.900000 +vt 0.928571 0.200000 +vt 0.857143 0.400000 +vt 0.857143 0.200000 +vt 1.000000 0.500000 +vt 0.964286 0.100000 +vt 1.000000 0.100000 +vt 0.821429 0.500000 +vt 0.928571 0.400000 +vt 0.964286 0.500000 +vt 0.785714 0.100000 +vt 0.821429 0.100000 +vt 0.964286 0.600000 +vt 0.857143 0.700000 +vt 0.821429 0.600000 +vt 0.964286 0.000000 +vt 0.857143 0.900000 +vt 0.821429 1.000000 +vt 0.964286 1.000000 +vt 0.928571 0.700000 +vt 0.928571 0.900000 +vt 0.928571 0.200000 +vt 0.857143 0.400000 +vt 0.857143 0.200000 +vt 1.000000 0.500000 +vt 0.964286 0.100000 +vt 1.000000 0.100000 +vt 0.821429 0.500000 +vt 0.928571 0.400000 +vt 0.964286 0.500000 +vt 0.785714 0.100000 +vt 0.821429 0.100000 +vt 0.964286 0.600000 +vt 0.857143 0.700000 +vt 0.821429 0.600000 +vt 0.964286 0.000000 +vt 0.857143 0.900000 +vt 0.821429 1.000000 +vt 0.964286 1.000000 +vt 0.928571 0.700000 +vt 0.928571 0.900000 +vt 0.928571 0.200000 +vt 0.857143 0.400000 +vt 0.857143 0.200000 +vt 1.000000 0.500000 +vt 0.964286 0.100000 +vt 1.000000 0.100000 +vt 0.821429 0.500000 +vt 0.928571 0.400000 +vt 0.964286 0.500000 +vt 0.785714 0.100000 +vt 0.821429 0.100000 +vt 0.964286 0.600000 +vt 0.857143 0.700000 +vt 0.821429 0.600000 +vt 0.964286 0.000000 +vt 0.857143 0.900000 +vt 0.821429 1.000000 +vt 0.964286 1.000000 +vt 0.928571 0.700000 +vt 0.928571 0.900000 +vt 0.928571 0.200000 +vt 0.857143 0.400000 +vt 0.857143 0.200000 +vt 0.741071 0.700000 +vt 0.767857 0.775000 +vt 0.741071 0.775000 +vt 0.794643 0.500000 +vt 0.767857 0.700000 +vt 0.767857 0.500000 +vt 0.741071 0.500000 +vt 0.714286 0.700000 +vt 0.714286 0.500000 +vt 0.821429 0.500000 +vt 0.794643 0.700000 +vt 0.767857 0.700000 +vt 0.794643 0.500000 +vt 0.794643 0.700000 +vt 0.714286 0.700000 +vt 0.741071 0.500000 +vt 0.741071 0.700000 +vt 0.821429 0.500000 +vt 0.821429 0.700000 +vt 0.767857 0.500000 +vt 0.767857 0.775000 +vt 0.071429 0.800000 +vt 0.785714 0.500000 +vt 0.821429 0.000000 +vt 0.821429 0.700000 +vt 0.821429 0.700000 +vt 0.714286 0.500000 +vt 0.714286 0.500000 +vt 0.741071 0.775000 +vt 0.741071 0.775000 +vt 0.785714 0.500000 +vt 0.821429 0.000000 +vt 0.785714 0.500000 +vt 0.821429 0.000000 +vt 0.785714 0.500000 +vt 0.821429 0.000000 +vt 0.785714 0.500000 +vt 0.821429 0.000000 +vt 0.785714 0.500000 +vt 0.821429 0.000000 +vt 0.821429 0.700000 +vt 0.714286 0.500000 +vt 0.741071 0.775000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.4472 -0.8944 +vn 0.0000 0.4472 0.8944 +vn 0.4472 0.0000 0.8944 +vn -0.4472 0.0000 0.8944 +vn 0.0000 -0.4472 0.8944 +vn -0.4472 0.0000 -0.8944 +vn 0.4472 0.0000 -0.8944 +vn 0.0000 -0.4472 -0.8944 +s off +f 2/1/1 3/2/1 1/3/1 +f 4/4/2 7/5/2 3/6/2 +f 8/7/3 5/8/3 7/9/3 +f 6/10/4 1/11/4 5/12/4 +f 7/13/5 1/3/5 3/2/5 +f 4/4/6 6/10/6 8/7/6 +f 10/14/1 11/15/1 9/16/1 +f 16/17/7 21/18/7 12/19/7 +f 16/17/3 13/20/3 15/21/3 +f 10/22/8 19/23/8 14/24/8 +f 15/21/5 9/25/5 11/15/5 +f 12/19/6 14/24/6 16/17/6 +f 14/24/9 20/26/9 13/27/9 +f 9/28/10 18/29/10 10/22/10 +f 13/27/11 17/30/11 9/28/11 +f 12/19/12 22/31/12 11/15/12 +f 15/21/13 24/32/13 16/17/13 +f 11/15/14 23/33/14 15/21/14 +f 39/34/6 37/35/6 38/36/6 +f 31/37/6 29/38/6 30/39/6 +f 27/40/2 32/41/2 28/42/2 +f 26/43/4 30/44/4 25/45/4 +f 28/42/3 31/37/3 26/43/3 +f 25/46/1 29/47/1 27/40/1 +f 35/48/2 40/49/2 36/50/2 +f 34/51/4 38/52/4 33/53/4 +f 36/50/3 39/34/3 34/51/3 +f 33/54/1 37/55/1 35/48/1 +f 43/56/2 48/57/2 44/58/2 +f 42/59/4 46/60/4 41/61/4 +f 44/58/3 47/62/3 42/63/3 +f 41/61/1 45/64/1 43/56/1 +f 51/65/2 56/66/2 52/67/2 +f 50/68/4 54/69/4 49/70/4 +f 52/67/3 55/71/3 50/72/3 +f 49/70/1 53/73/1 51/65/1 +f 44/74/5 41/61/5 43/56/5 +f 52/75/5 49/70/5 51/65/5 +f 58/76/1 59/77/1 57/78/1 +f 60/79/2 63/80/2 59/81/2 +f 64/82/3 61/83/3 63/84/3 +f 62/85/4 57/86/4 61/87/4 +f 63/84/5 57/88/5 59/89/5 +f 60/79/6 62/85/6 64/82/6 +f 66/90/1 67/91/1 65/92/1 +f 68/93/2 71/94/2 67/95/2 +f 72/96/3 69/97/3 71/98/3 +f 70/99/4 65/100/4 69/101/4 +f 71/98/5 65/102/5 67/103/5 +f 68/93/6 70/99/6 72/96/6 +f 74/104/1 75/105/1 73/106/1 +f 80/107/7 85/108/7 76/109/7 +f 80/107/3 77/110/3 79/111/3 +f 74/112/8 83/113/8 78/114/8 +f 79/111/5 73/115/5 75/105/5 +f 76/109/6 78/114/6 80/107/6 +f 78/114/9 84/116/9 77/117/9 +f 73/118/10 82/119/10 74/112/10 +f 77/117/11 81/120/11 73/118/11 +f 76/109/12 86/121/12 75/105/12 +f 79/111/13 88/122/13 80/107/13 +f 75/105/14 87/123/14 79/111/14 +f 90/124/1 91/125/1 89/126/1 +f 96/127/7 101/128/7 92/129/7 +f 96/127/3 93/130/3 95/131/3 +f 90/132/8 99/133/8 94/134/8 +f 95/131/5 89/135/5 91/125/5 +f 92/129/6 94/134/6 96/127/6 +f 94/134/9 100/136/9 93/137/9 +f 89/138/10 98/139/10 90/132/10 +f 93/137/11 97/140/11 89/138/11 +f 92/129/12 102/141/12 91/125/12 +f 95/131/13 104/142/13 96/127/13 +f 91/125/14 103/143/14 95/131/14 +f 106/144/1 107/145/1 105/146/1 +f 112/147/7 117/148/7 108/149/7 +f 112/147/3 109/150/3 111/151/3 +f 106/152/8 115/153/8 110/154/8 +f 111/151/5 105/155/5 107/145/5 +f 108/149/6 110/154/6 112/147/6 +f 110/154/9 116/156/9 109/157/9 +f 105/158/10 114/159/10 106/152/10 +f 109/157/11 113/160/11 105/158/11 +f 108/149/12 118/161/12 107/145/12 +f 111/151/13 120/162/13 112/147/13 +f 107/145/14 119/163/14 111/151/14 +f 122/164/1 123/165/1 121/166/1 +f 128/167/7 133/168/7 124/169/7 +f 128/167/3 125/170/3 127/171/3 +f 122/172/8 131/173/8 126/174/8 +f 127/171/5 121/175/5 123/165/5 +f 124/169/6 126/174/6 128/167/6 +f 126/174/9 132/176/9 125/177/9 +f 121/178/10 130/179/10 122/172/10 +f 125/177/11 129/180/11 121/178/11 +f 124/169/12 134/181/12 123/165/12 +f 127/171/13 136/182/13 128/167/13 +f 123/165/14 135/183/14 127/171/14 +f 138/184/1 139/185/1 137/186/1 +f 144/187/7 149/188/7 140/189/7 +f 144/187/3 141/190/3 143/191/3 +f 138/192/8 147/193/8 142/194/8 +f 143/191/5 137/195/5 139/185/5 +f 140/189/6 142/194/6 144/187/6 +f 142/194/9 148/196/9 141/197/9 +f 137/198/10 146/199/10 138/192/10 +f 141/197/11 145/200/11 137/198/11 +f 140/189/12 150/201/12 139/185/12 +f 143/191/13 152/202/13 144/187/13 +f 139/185/14 151/203/14 143/191/14 +f 159/204/6 157/205/6 158/206/6 +f 155/207/2 160/208/2 156/209/2 +f 154/210/4 158/211/4 153/212/4 +f 156/209/3 159/204/3 154/210/3 +f 153/213/1 157/214/1 155/207/1 +f 163/215/2 168/216/2 164/217/2 +f 162/218/4 166/219/4 161/220/4 +f 164/217/3 167/221/3 162/222/3 +f 161/220/1 165/223/1 163/215/1 +f 164/224/5 161/220/5 163/215/5 +f 2/1/1 4/4/1 3/2/1 +f 4/4/2 8/7/2 7/5/2 +f 8/7/3 6/10/3 5/8/3 +f 6/10/4 2/1/4 1/11/4 +f 7/13/5 5/225/5 1/3/5 +f 4/4/6 2/1/6 6/10/6 +f 10/14/1 12/19/1 11/15/1 +f 16/17/7 24/32/7 21/18/7 +f 16/17/3 14/226/3 13/20/3 +f 10/22/8 18/29/8 19/23/8 +f 15/21/5 13/227/5 9/25/5 +f 12/19/6 10/22/6 14/24/6 +f 14/24/9 19/23/9 20/26/9 +f 9/28/10 17/30/10 18/29/10 +f 13/27/11 20/26/11 17/30/11 +f 12/19/12 21/18/12 22/31/12 +f 15/21/13 23/33/13 24/32/13 +f 11/15/14 22/31/14 23/33/14 +f 39/34/6 40/49/6 37/35/6 +f 31/37/6 32/41/6 29/38/6 +f 27/40/2 29/47/2 32/41/2 +f 26/43/4 31/37/4 30/44/4 +f 28/42/3 32/41/3 31/37/3 +f 25/46/1 30/228/1 29/47/1 +f 35/48/2 37/55/2 40/49/2 +f 34/51/4 39/34/4 38/52/4 +f 36/50/3 40/49/3 39/34/3 +f 33/54/1 38/229/1 37/55/1 +f 43/56/2 45/64/2 48/57/2 +f 42/59/4 47/230/4 46/60/4 +f 44/58/3 48/57/3 47/62/3 +f 41/61/1 46/60/1 45/64/1 +f 51/65/2 53/73/2 56/66/2 +f 50/68/4 55/231/4 54/69/4 +f 52/67/3 56/66/3 55/71/3 +f 49/70/1 54/69/1 53/73/1 +f 44/74/5 42/232/5 41/61/5 +f 52/75/5 50/233/5 49/70/5 +f 58/76/1 60/79/1 59/77/1 +f 60/79/2 64/82/2 63/80/2 +f 64/82/3 62/85/3 61/83/3 +f 62/85/4 58/76/4 57/86/4 +f 63/84/5 61/83/5 57/88/5 +f 60/79/6 58/76/6 62/85/6 +f 66/90/1 68/93/1 67/91/1 +f 68/93/2 72/96/2 71/94/2 +f 72/96/3 70/99/3 69/97/3 +f 70/99/4 66/90/4 65/100/4 +f 71/98/5 69/97/5 65/102/5 +f 68/93/6 66/90/6 70/99/6 +f 74/104/1 76/109/1 75/105/1 +f 80/107/7 88/122/7 85/108/7 +f 80/107/3 78/234/3 77/110/3 +f 74/112/8 82/119/8 83/113/8 +f 79/111/5 77/235/5 73/115/5 +f 76/109/6 74/112/6 78/114/6 +f 78/114/9 83/113/9 84/116/9 +f 73/118/10 81/120/10 82/119/10 +f 77/117/11 84/116/11 81/120/11 +f 76/109/12 85/108/12 86/121/12 +f 79/111/13 87/123/13 88/122/13 +f 75/105/14 86/121/14 87/123/14 +f 90/124/1 92/129/1 91/125/1 +f 96/127/7 104/142/7 101/128/7 +f 96/127/3 94/236/3 93/130/3 +f 90/132/8 98/139/8 99/133/8 +f 95/131/5 93/237/5 89/135/5 +f 92/129/6 90/132/6 94/134/6 +f 94/134/9 99/133/9 100/136/9 +f 89/138/10 97/140/10 98/139/10 +f 93/137/11 100/136/11 97/140/11 +f 92/129/12 101/128/12 102/141/12 +f 95/131/13 103/143/13 104/142/13 +f 91/125/14 102/141/14 103/143/14 +f 106/144/1 108/149/1 107/145/1 +f 112/147/7 120/162/7 117/148/7 +f 112/147/3 110/238/3 109/150/3 +f 106/152/8 114/159/8 115/153/8 +f 111/151/5 109/239/5 105/155/5 +f 108/149/6 106/152/6 110/154/6 +f 110/154/9 115/153/9 116/156/9 +f 105/158/10 113/160/10 114/159/10 +f 109/157/11 116/156/11 113/160/11 +f 108/149/12 117/148/12 118/161/12 +f 111/151/13 119/163/13 120/162/13 +f 107/145/14 118/161/14 119/163/14 +f 122/164/1 124/169/1 123/165/1 +f 128/167/7 136/182/7 133/168/7 +f 128/167/3 126/240/3 125/170/3 +f 122/172/8 130/179/8 131/173/8 +f 127/171/5 125/241/5 121/175/5 +f 124/169/6 122/172/6 126/174/6 +f 126/174/9 131/173/9 132/176/9 +f 121/178/10 129/180/10 130/179/10 +f 125/177/11 132/176/11 129/180/11 +f 124/169/12 133/168/12 134/181/12 +f 127/171/13 135/183/13 136/182/13 +f 123/165/14 134/181/14 135/183/14 +f 138/184/1 140/189/1 139/185/1 +f 144/187/7 152/202/7 149/188/7 +f 144/187/3 142/242/3 141/190/3 +f 138/192/8 146/199/8 147/193/8 +f 143/191/5 141/243/5 137/195/5 +f 140/189/6 138/192/6 142/194/6 +f 142/194/9 147/193/9 148/196/9 +f 137/198/10 145/200/10 146/199/10 +f 141/197/11 148/196/11 145/200/11 +f 140/189/12 149/188/12 150/201/12 +f 143/191/13 151/203/13 152/202/13 +f 139/185/14 150/201/14 151/203/14 +f 159/204/6 160/208/6 157/205/6 +f 155/207/2 157/214/2 160/208/2 +f 154/210/4 159/204/4 158/211/4 +f 156/209/3 160/208/3 159/204/3 +f 153/213/1 158/244/1 157/214/1 +f 163/215/2 165/223/2 168/216/2 +f 162/218/4 167/245/4 166/219/4 +f 164/217/3 168/216/3 167/221/3 +f 161/220/1 166/219/1 165/223/1 +f 164/224/5 162/246/5 161/220/5 diff --git a/src/main/resources/assets/hbm/models/particleaccelerator/source.obj b/src/main/resources/assets/hbm/models/particleaccelerator/source.obj new file mode 100644 index 000000000..0151ee9d3 --- /dev/null +++ b/src/main/resources/assets/hbm/models/particleaccelerator/source.obj @@ -0,0 +1,3395 @@ +# Blender v2.79 (sub 0) OBJ File: 'source.blend' +# www.blender.org +o Cube_Cube.001 +v -0.500000 1.000000 -3.500000 +v -0.500000 2.000000 -3.500000 +v -0.500000 1.000000 -4.500000 +v -0.500000 2.000000 -4.500000 +v 0.500000 1.000000 -3.500000 +v 0.500000 2.000000 -3.500000 +v 0.500000 1.000000 -4.500000 +v 0.500000 2.000000 -4.500000 +v -0.625000 0.000000 -3.500000 +v 0.625000 0.000000 -3.500000 +v -0.625000 3.000000 -3.500000 +v 0.625000 3.000000 -3.500000 +v -1.500000 2.125000 -3.500000 +v -1.500000 0.875000 -3.500000 +v 1.500000 2.125000 -3.500000 +v 1.500000 0.875000 -3.500000 +v -0.625000 0.000000 3.500000 +v 0.625000 0.000000 3.500000 +v -0.625000 3.000000 3.500000 +v 0.625000 3.000000 3.500000 +v -1.500000 2.125000 3.500000 +v -1.500000 0.875000 3.500000 +v 1.500000 2.125000 3.500000 +v 1.500000 0.875000 3.500000 +v -1.000000 1.062500 3.500000 +v 1.000000 1.062500 3.500000 +v -1.000000 1.937500 3.500000 +v 1.000000 1.937500 3.500000 +v -0.437500 2.500000 3.500000 +v -0.437500 0.500000 3.500000 +v 0.437500 2.500000 3.500000 +v 0.437500 0.500000 3.500000 +v -1.000000 1.937500 4.500000 +v -1.000000 1.062500 4.500000 +v -0.437500 0.500000 4.500000 +v 0.437500 0.500000 4.500000 +v 1.000000 1.062500 4.500000 +v 1.000000 1.937500 4.500000 +v 0.437500 2.500000 4.500000 +v -0.437500 2.500000 4.500000 +v 0.250000 2.000000 -3.875000 +v 0.161612 2.000000 -3.838388 +v 0.125000 2.000000 -3.750000 +v 0.161612 2.000000 -3.661612 +v 0.250000 2.000000 -3.625000 +v 0.338388 2.000000 -3.661612 +v 0.375000 2.000000 -3.750000 +v 0.338388 2.000000 -3.838388 +v 0.250000 2.625000 -3.875000 +v 0.161612 2.625000 -3.838388 +v 0.125000 2.625000 -3.750000 +v 0.161612 2.625000 -3.661612 +v 0.250000 2.625000 -3.625000 +v 0.338388 2.625000 -3.661612 +v 0.375000 2.625000 -3.750000 +v 0.338388 2.625000 -3.838388 +v 0.250000 2.801777 -3.801777 +v 0.161612 2.775888 -3.775888 +v 0.125000 2.713388 -3.713388 +v 0.161612 2.650888 -3.650888 +v 0.338388 2.650888 -3.650888 +v 0.375000 2.713388 -3.713388 +v 0.338388 2.775888 -3.775888 +v 0.250000 2.875000 -3.625000 +v 0.161612 2.838388 -3.625000 +v 0.125000 2.750000 -3.625000 +v 0.161612 2.661612 -3.625000 +v 0.338388 2.661612 -3.625000 +v 0.375000 2.750000 -3.625000 +v 0.338388 2.838388 -3.625000 +v 0.161612 2.838388 -3.500000 +v 0.250000 2.875000 -3.500000 +v 0.125000 2.750000 -3.500000 +v 0.161612 2.661612 -3.500000 +v 0.375000 2.750000 -3.500000 +v 0.338388 2.661612 -3.500000 +v 0.338388 2.838388 -3.500000 +v 0.250000 2.625000 -3.500000 +v -0.250000 2.500000 4.375000 +v -0.161612 2.500000 4.338388 +v -0.125000 2.500000 4.250000 +v -0.161612 2.500000 4.161612 +v -0.250000 2.500000 4.125000 +v -0.338388 2.500000 4.161612 +v -0.375000 2.500000 4.250000 +v -0.338388 2.500000 4.338388 +v -0.250000 2.625000 4.375000 +v -0.161612 2.625000 4.338388 +v -0.125000 2.625000 4.250000 +v -0.161612 2.625000 4.161612 +v -0.250000 2.625000 4.125000 +v -0.338388 2.625000 4.161612 +v -0.375000 2.625000 4.250000 +v -0.338388 2.625000 4.338388 +v -0.250000 2.801777 4.301777 +v -0.161612 2.775888 4.275888 +v -0.125000 2.713388 4.213388 +v -0.161612 2.650888 4.150888 +v -0.338388 2.650888 4.150888 +v -0.375000 2.713388 4.213388 +v -0.338388 2.775888 4.275888 +v -0.250000 2.875000 4.125000 +v -0.161612 2.838388 4.125000 +v -0.125000 2.750000 4.125000 +v -0.161612 2.661612 4.125000 +v -0.338388 2.661612 4.125000 +v -0.375000 2.750000 4.125000 +v -0.338388 2.838388 4.125000 +v -0.161612 2.838388 3.500000 +v -0.250000 2.875000 3.500000 +v -0.125000 2.750000 3.500000 +v -0.161612 2.661612 3.500000 +v -0.375000 2.750000 3.500000 +v -0.338388 2.661612 3.500000 +v -0.338388 2.838388 3.500000 +v -0.250000 2.625000 3.500000 +v 0.875000 0.000000 2.500000 +v 1.500000 0.000000 2.500000 +v 1.500000 0.625000 2.500000 +v 0.875000 0.000000 2.000000 +v 1.500000 0.000000 2.000000 +v 1.500000 0.625000 2.000000 +v 1.375000 0.500000 2.375000 +v 1.375000 0.500000 2.125000 +v 1.000000 0.125000 2.375000 +v 1.000000 0.125000 2.125000 +v 1.250000 0.625000 2.375000 +v 1.250000 0.625000 2.125000 +v 0.875000 0.250000 2.375000 +v 0.875000 0.250000 2.125000 +v -0.500000 1.161612 -3.838388 +v -0.500000 1.250000 -3.875000 +v 1.125000 1.250000 -3.500000 +v 1.338388 1.161612 -3.500000 +v 1.161612 1.161612 -3.500000 +v 1.250000 1.125000 -3.500000 +v 1.161612 1.338388 -3.500000 +v 1.250000 1.375000 -3.500000 +v 1.375000 1.250000 -3.500000 +v 1.338388 1.338388 -3.500000 +v 1.338388 1.161612 -3.625000 +v 1.250000 1.125000 -3.625000 +v 1.161612 1.161612 -3.625000 +v 1.161612 1.338388 -3.625000 +v 1.250000 1.375000 -3.625000 +v 1.338388 1.338388 -3.625000 +v 1.375000 1.250000 -3.625000 +v 1.275888 1.161612 -3.775888 +v 1.213388 1.125000 -3.713388 +v 1.150888 1.161612 -3.650888 +v 1.150888 1.338388 -3.650888 +v 1.213388 1.375000 -3.713388 +v 1.275888 1.338388 -3.775888 +v 1.301777 1.250000 -3.801777 +v 1.125000 1.161612 -3.838388 +v 1.125000 1.125000 -3.750000 +v 1.125000 1.161612 -3.661612 +v 1.125000 1.250000 -3.625000 +v 1.125000 1.338388 -3.661612 +v 1.125000 1.375000 -3.750000 +v 1.125000 1.338388 -3.838388 +v 1.125000 1.250000 -3.875000 +v 0.500000 1.161612 -3.838388 +v 0.500000 1.125000 -3.750000 +v 0.500000 1.161612 -3.661612 +v 0.500000 1.250000 -3.625000 +v 0.500000 1.338388 -3.661612 +v 0.500000 1.375000 -3.750000 +v 0.500000 1.338388 -3.838388 +v 0.500000 1.250000 -3.875000 +v 0.250000 1.000000 -3.875000 +v 0.338388 1.000000 -3.838388 +v 0.375000 1.000000 -3.750000 +v 0.338388 1.000000 -3.661612 +v 0.250000 1.000000 -3.625000 +v 0.161611 1.000000 -3.661612 +v 0.125000 1.000000 -3.750000 +v 0.161611 1.000000 -3.838388 +v 0.250000 0.375000 -3.875000 +v 0.338388 0.375000 -3.838388 +v 0.375000 0.375000 -3.750000 +v 0.338388 0.375000 -3.661612 +v 0.250000 0.375000 -3.625000 +v 0.161611 0.375000 -3.661612 +v 0.125000 0.375000 -3.750000 +v 0.161611 0.375000 -3.838388 +v 0.250000 0.198223 -3.801777 +v 0.338388 0.224112 -3.775888 +v 0.375000 0.286612 -3.713388 +v 0.338388 0.349112 -3.650888 +v 0.161611 0.349112 -3.650888 +v 0.125000 0.286612 -3.713388 +v 0.161611 0.224112 -3.775888 +v 0.250000 0.125000 -3.625000 +v 0.338388 0.161612 -3.625000 +v 0.375000 0.250000 -3.625000 +v 0.338388 0.338388 -3.625000 +v 0.161611 0.338388 -3.625000 +v 0.125000 0.250000 -3.625000 +v 0.161611 0.161612 -3.625000 +v 0.338388 0.161612 -3.500000 +v 0.250000 0.125000 -3.500000 +v 0.375000 0.250000 -3.500000 +v 0.338388 0.338388 -3.500000 +v 0.125000 0.250000 -3.500000 +v 0.161611 0.338388 -3.500000 +v 0.161611 0.161612 -3.500000 +v 0.250000 0.375000 -3.500000 +v -0.250000 0.375000 -3.500000 +v -0.338389 0.161612 -3.500000 +v -0.338389 0.338388 -3.500000 +v -0.375000 0.250000 -3.500000 +v -0.161612 0.338388 -3.500000 +v -0.125000 0.250000 -3.500000 +v -0.250000 0.125000 -3.500000 +v -0.161612 0.161612 -3.500000 +v -0.338389 0.161612 -3.625000 +v -0.375000 0.250000 -3.625000 +v -0.338389 0.338388 -3.625000 +v -0.161612 0.338388 -3.625000 +v -0.125000 0.250000 -3.625000 +v -0.161612 0.161612 -3.625000 +v -0.250000 0.125000 -3.625000 +v -0.338389 0.224112 -3.775888 +v -0.375000 0.286612 -3.713388 +v -0.338389 0.349112 -3.650888 +v -0.161612 0.349112 -3.650888 +v -0.125000 0.286612 -3.713388 +v -0.161612 0.224112 -3.775888 +v -0.250000 0.198223 -3.801777 +v -0.338389 0.375000 -3.838388 +v -0.375000 0.375000 -3.750000 +v -0.338389 0.375000 -3.661612 +v -0.250000 0.375000 -3.625000 +v -0.161612 0.375000 -3.661612 +v -0.125000 0.375000 -3.750000 +v -0.161612 0.375000 -3.838388 +v -0.250000 0.375000 -3.875000 +v -0.338388 1.000000 -3.838388 +v -0.375000 1.000000 -3.750000 +v -0.338388 1.000000 -3.661612 +v -0.250000 1.000000 -3.625000 +v -0.161612 1.000000 -3.661612 +v -0.125000 1.000000 -3.750000 +v -0.161612 1.000000 -3.838388 +v -0.250000 1.000000 -3.875000 +v -0.250000 2.625000 -3.500000 +v -0.161612 2.838388 -3.500000 +v -0.161612 2.661612 -3.500000 +v -0.125000 2.750000 -3.500000 +v -0.338388 2.661612 -3.500000 +v -0.375000 2.750000 -3.500000 +v -0.250000 2.875000 -3.500000 +v -0.338388 2.838388 -3.500000 +v -0.161612 2.838388 -3.625000 +v -0.125000 2.750000 -3.625000 +v -0.161612 2.661612 -3.625000 +v -0.338388 2.661612 -3.625000 +v -0.375000 2.750000 -3.625000 +v -0.338388 2.838388 -3.625000 +v -0.250000 2.875000 -3.625000 +v -0.161612 2.775888 -3.775888 +v -0.125000 2.713388 -3.713388 +v -0.161612 2.650888 -3.650888 +v -0.338388 2.650888 -3.650888 +v -0.375000 2.713388 -3.713388 +v -0.338388 2.775888 -3.775888 +v -0.250000 2.801777 -3.801777 +v -0.161612 2.625000 -3.838388 +v -0.125000 2.625000 -3.750000 +v -0.161612 2.625000 -3.661612 +v -0.250000 2.625000 -3.625000 +v -0.338388 2.625000 -3.661612 +v -0.375000 2.625000 -3.750000 +v -0.338388 2.625000 -3.838388 +v -0.250000 2.625000 -3.875000 +v -0.161612 2.000000 -3.838388 +v -0.125000 2.000000 -3.750000 +v -0.161612 2.000000 -3.661612 +v -0.250000 2.000000 -3.625000 +v -0.338388 2.000000 -3.661612 +v -0.375000 2.000000 -3.750000 +v -0.338388 2.000000 -3.838388 +v -0.250000 2.000000 -3.875000 +v -0.500000 1.125000 -3.750000 +v -0.500000 1.161612 -3.661612 +v -0.500000 1.250000 -3.625000 +v -0.500000 1.338389 -3.661612 +v -0.500000 1.375000 -3.750000 +v -0.500000 1.338389 -3.838388 +v -1.125000 1.250000 -3.875000 +v -1.125000 1.161612 -3.838388 +v -1.125000 1.125000 -3.750000 +v -1.125000 1.161612 -3.661612 +v -1.125000 1.250000 -3.625000 +v -1.125000 1.338389 -3.661612 +v -1.125000 1.375000 -3.750000 +v -1.125000 1.338389 -3.838388 +v -1.301777 1.250000 -3.801777 +v -1.275888 1.161612 -3.775888 +v -1.213388 1.125000 -3.713388 +v -1.150888 1.161612 -3.650888 +v -1.150888 1.338389 -3.650888 +v -1.213388 1.375000 -3.713388 +v -1.275888 1.338389 -3.775888 +v -1.375000 1.250000 -3.625000 +v -1.338388 1.161612 -3.625000 +v -1.250000 1.125000 -3.625000 +v -1.161612 1.161612 -3.625000 +v -1.161612 1.338389 -3.625000 +v -1.250000 1.375000 -3.625000 +v -1.338388 1.338389 -3.625000 +v -1.338388 1.161612 -3.500000 +v -1.375000 1.250000 -3.500000 +v -1.250000 1.125000 -3.500000 +v -1.161612 1.161612 -3.500000 +v -1.250000 1.375000 -3.500000 +v -1.161612 1.338389 -3.500000 +v -1.338388 1.338389 -3.500000 +v -1.125000 1.250000 -3.500000 +v -1.125000 1.750000 -3.500000 +v -1.338388 1.838389 -3.500000 +v -1.161612 1.838389 -3.500000 +v -1.250000 1.875000 -3.500000 +v -1.161612 1.661612 -3.500000 +v -1.250000 1.625000 -3.500000 +v -1.375000 1.750000 -3.500000 +v -1.338388 1.661612 -3.500000 +v -1.338388 1.838389 -3.625000 +v -1.250000 1.875000 -3.625000 +v -1.161612 1.838389 -3.625000 +v -1.161612 1.661612 -3.625000 +v -1.250000 1.625000 -3.625000 +v -1.338388 1.661612 -3.625000 +v -1.375000 1.750000 -3.625000 +v -1.275888 1.838389 -3.775888 +v -1.213388 1.875000 -3.713388 +v -1.150888 1.838389 -3.650888 +v -1.150888 1.661612 -3.650888 +v -1.213388 1.625000 -3.713388 +v -1.275888 1.661612 -3.775888 +v -1.301777 1.750000 -3.801777 +v -1.125000 1.838389 -3.838388 +v -1.125000 1.875000 -3.750000 +v -1.125000 1.838389 -3.661612 +v -1.125000 1.750000 -3.625000 +v -1.125000 1.661612 -3.661612 +v -1.125000 1.625000 -3.750000 +v -1.125000 1.661612 -3.838388 +v -1.125000 1.750000 -3.875000 +v -0.500000 1.838388 -3.838388 +v -0.500000 1.875000 -3.750000 +v -0.500000 1.838388 -3.661612 +v -0.500000 1.750000 -3.625000 +v -0.500000 1.661612 -3.661612 +v -0.500000 1.625000 -3.750000 +v -0.500000 1.661612 -3.838388 +v -0.500000 1.750000 -3.875000 +v 1.125000 1.750000 -3.500000 +v 1.338388 1.661612 -3.500000 +v 1.161612 1.661612 -3.500000 +v 1.250000 1.625000 -3.500000 +v 1.161612 1.838388 -3.500000 +v 1.250000 1.875000 -3.500000 +v 1.375000 1.750000 -3.500000 +v 1.338388 1.838388 -3.500000 +v 1.338388 1.661612 -3.625000 +v 1.250000 1.625000 -3.625000 +v 1.161612 1.661612 -3.625000 +v 1.161612 1.838388 -3.625000 +v 1.250000 1.875000 -3.625000 +v 1.338388 1.838388 -3.625000 +v 1.375000 1.750000 -3.625000 +v 1.275888 1.661612 -3.775888 +v 1.213388 1.625000 -3.713388 +v 1.150888 1.661612 -3.650888 +v 1.150888 1.838388 -3.650888 +v 1.213388 1.875000 -3.713388 +v 1.275888 1.838388 -3.775888 +v 1.301777 1.750000 -3.801777 +v 1.125000 1.661612 -3.838388 +v 1.125000 1.625000 -3.750000 +v 1.125000 1.661612 -3.661612 +v 1.125000 1.750000 -3.625000 +v 1.125000 1.838388 -3.661612 +v 1.125000 1.875000 -3.750000 +v 1.125000 1.838388 -3.838388 +v 1.125000 1.750000 -3.875000 +v 0.500000 1.661612 -3.838388 +v 0.500000 1.625000 -3.750000 +v 0.500000 1.661612 -3.661612 +v 0.500000 1.750000 -3.625000 +v 0.500000 1.838388 -3.661612 +v 0.500000 1.875000 -3.750000 +v 0.500000 1.838388 -3.838388 +v 0.500000 1.750000 -3.875000 +v 0.250000 2.500000 4.375000 +v 0.338388 2.500000 4.338388 +v 0.375000 2.500000 4.250000 +v 0.338388 2.500000 4.161612 +v 0.250000 2.500000 4.125000 +v 0.161612 2.500000 4.161612 +v 0.125000 2.500000 4.250000 +v 0.161612 2.500000 4.338388 +v 0.250000 2.625000 4.375000 +v 0.338388 2.625000 4.338388 +v 0.375000 2.625000 4.250000 +v 0.338388 2.625000 4.161612 +v 0.250000 2.625000 4.125000 +v 0.161612 2.625000 4.161612 +v 0.125000 2.625000 4.250000 +v 0.161612 2.625000 4.338388 +v 0.250000 2.801777 4.301777 +v 0.338388 2.775888 4.275888 +v 0.375000 2.713388 4.213388 +v 0.338388 2.650888 4.150888 +v 0.161612 2.650888 4.150888 +v 0.125000 2.713388 4.213388 +v 0.161612 2.775888 4.275888 +v 0.250000 2.875000 4.125000 +v 0.338388 2.838388 4.125000 +v 0.375000 2.750000 4.125000 +v 0.338388 2.661612 4.125000 +v 0.161612 2.661612 4.125000 +v 0.125000 2.750000 4.125000 +v 0.161612 2.838388 4.125000 +v 0.338388 2.838388 3.500000 +v 0.250000 2.875000 3.500000 +v 0.375000 2.750000 3.500000 +v 0.338388 2.661612 3.500000 +v 0.125000 2.750000 3.500000 +v 0.161612 2.661612 3.500000 +v 0.161612 2.838388 3.500000 +v 0.250000 2.625000 3.500000 +v 0.250000 0.500000 4.375000 +v 0.161611 0.500000 4.338388 +v 0.125000 0.500000 4.250000 +v 0.161611 0.500000 4.161612 +v 0.250000 0.500000 4.125000 +v 0.338388 0.500000 4.161612 +v 0.375000 0.500000 4.250000 +v 0.338388 0.500000 4.338388 +v 0.250000 0.375000 4.375000 +v 0.161611 0.375000 4.338388 +v 0.125000 0.375000 4.250000 +v 0.161611 0.375000 4.161612 +v 0.250000 0.375000 4.125000 +v 0.338388 0.375000 4.161612 +v 0.375000 0.375000 4.250000 +v 0.338388 0.375000 4.338388 +v 0.250000 0.198223 4.301777 +v 0.161611 0.224112 4.275888 +v 0.125000 0.286612 4.213388 +v 0.161611 0.349112 4.150888 +v 0.338388 0.349112 4.150888 +v 0.375000 0.286612 4.213388 +v 0.338388 0.224112 4.275888 +v 0.250000 0.125000 4.125000 +v 0.161611 0.161612 4.125000 +v 0.125000 0.250000 4.125000 +v 0.161611 0.338388 4.125000 +v 0.338388 0.338388 4.125000 +v 0.375000 0.250000 4.125000 +v 0.338388 0.161612 4.125000 +v 0.161612 0.161612 3.500000 +v 0.250000 0.125000 3.500000 +v 0.125000 0.250000 3.500000 +v 0.161612 0.338388 3.500000 +v 0.375000 0.250000 3.500000 +v 0.338388 0.338388 3.500000 +v 0.338388 0.161612 3.500000 +v 0.250000 0.375000 3.500000 +v -0.250000 0.500000 4.375000 +v -0.338389 0.500000 4.338388 +v -0.375000 0.500000 4.250000 +v -0.338389 0.500000 4.161612 +v -0.250000 0.500000 4.125000 +v -0.161612 0.500000 4.161612 +v -0.125000 0.500000 4.250000 +v -0.161612 0.500000 4.338388 +v -0.250000 0.375000 4.375000 +v -0.338389 0.375000 4.338388 +v -0.375000 0.375000 4.250000 +v -0.338389 0.375000 4.161612 +v -0.250000 0.375000 4.125000 +v -0.161612 0.375000 4.161612 +v -0.125000 0.375000 4.250000 +v -0.161612 0.375000 4.338388 +v -0.250000 0.198223 4.301777 +v -0.338389 0.224112 4.275888 +v -0.375000 0.286612 4.213388 +v -0.338389 0.349112 4.150888 +v -0.161612 0.349112 4.150888 +v -0.125000 0.286612 4.213388 +v -0.161612 0.224112 4.275888 +v -0.250000 0.125000 4.125000 +v -0.338389 0.161612 4.125000 +v -0.375000 0.250000 4.125000 +v -0.338389 0.338388 4.125000 +v -0.161612 0.338388 4.125000 +v -0.125000 0.250000 4.125000 +v -0.161612 0.161612 4.125000 +v -0.338388 0.161612 3.500000 +v -0.250000 0.125000 3.500000 +v -0.375000 0.250000 3.500000 +v -0.338388 0.338388 3.500000 +v -0.125000 0.250000 3.500000 +v -0.161612 0.338388 3.500000 +v -0.161612 0.161612 3.500000 +v -0.250000 0.375000 3.500000 +v 1.000000 1.750000 4.375000 +v 1.000000 1.661612 4.338388 +v 1.000000 1.625000 4.250000 +v 1.000000 1.661612 4.161612 +v 1.000000 1.750000 4.125000 +v 1.000000 1.838388 4.161612 +v 1.000000 1.875000 4.250000 +v 1.000000 1.838388 4.338388 +v 1.125000 1.750000 4.375000 +v 1.125000 1.661612 4.338388 +v 1.125000 1.625000 4.250000 +v 1.125000 1.661612 4.161612 +v 1.125000 1.750000 4.125000 +v 1.125000 1.838388 4.161612 +v 1.125000 1.875000 4.250000 +v 1.125000 1.838388 4.338388 +v 1.301777 1.750000 4.301777 +v 1.275888 1.661612 4.275888 +v 1.213388 1.625000 4.213388 +v 1.150888 1.661612 4.150888 +v 1.150888 1.838388 4.150888 +v 1.213388 1.875000 4.213388 +v 1.275888 1.838388 4.275888 +v 1.375000 1.750000 4.125000 +v 1.338388 1.661612 4.125000 +v 1.250000 1.625000 4.125000 +v 1.161612 1.661612 4.125000 +v 1.161612 1.838388 4.125000 +v 1.250000 1.875000 4.125000 +v 1.338388 1.838388 4.125000 +v 1.338388 1.661612 3.500000 +v 1.375000 1.750000 3.500000 +v 1.250000 1.625000 3.500000 +v 1.161612 1.661612 3.500000 +v 1.250000 1.875000 3.500000 +v 1.161612 1.838388 3.500000 +v 1.338388 1.838388 3.500000 +v 1.125000 1.750000 3.500000 +v 1.000000 1.250000 4.375000 +v 1.000000 1.161612 4.338388 +v 1.000000 1.125000 4.250000 +v 1.000000 1.161612 4.161612 +v 1.000000 1.250000 4.125000 +v 1.000000 1.338388 4.161612 +v 1.000000 1.375000 4.250000 +v 1.000000 1.338388 4.338388 +v 1.125000 1.250000 4.375000 +v 1.125000 1.161612 4.338388 +v 1.125000 1.125000 4.250000 +v 1.125000 1.161612 4.161612 +v 1.125000 1.250000 4.125000 +v 1.125000 1.338388 4.161612 +v 1.125000 1.375000 4.250000 +v 1.125000 1.338388 4.338388 +v 1.301777 1.250000 4.301777 +v 1.275888 1.161612 4.275888 +v 1.213388 1.125000 4.213388 +v 1.150888 1.161612 4.150888 +v 1.150888 1.338388 4.150888 +v 1.213388 1.375000 4.213388 +v 1.275888 1.338388 4.275888 +v 1.375000 1.250000 4.125000 +v 1.338388 1.161612 4.125000 +v 1.250000 1.125000 4.125000 +v 1.161612 1.161612 4.125000 +v 1.161612 1.338388 4.125000 +v 1.250000 1.375000 4.125000 +v 1.338388 1.338388 4.125000 +v 1.338388 1.161612 3.500000 +v 1.375000 1.250000 3.500000 +v 1.250000 1.125000 3.500000 +v 1.161612 1.161612 3.500000 +v 1.250000 1.375000 3.500000 +v 1.161612 1.338388 3.500000 +v 1.338388 1.338388 3.500000 +v 1.125000 1.250000 3.500000 +v -1.000000 1.250000 4.375000 +v -1.000000 1.338389 4.338388 +v -1.000000 1.375000 4.250000 +v -1.000000 1.338389 4.161612 +v -1.000000 1.250000 4.125000 +v -1.000000 1.161612 4.161612 +v -1.000000 1.125000 4.250000 +v -1.000000 1.161612 4.338388 +v -1.125000 1.250000 4.375000 +v -1.125000 1.338389 4.338388 +v -1.125000 1.375000 4.250000 +v -1.125000 1.338389 4.161612 +v -1.125000 1.250000 4.125000 +v -1.125000 1.161612 4.161612 +v -1.125000 1.125000 4.250000 +v -1.125000 1.161612 4.338388 +v -1.301777 1.250000 4.301777 +v -1.275888 1.338389 4.275888 +v -1.213388 1.375000 4.213388 +v -1.150888 1.338389 4.150888 +v -1.150888 1.161612 4.150888 +v -1.213388 1.125000 4.213388 +v -1.275888 1.161612 4.275888 +v -1.375000 1.250000 4.125000 +v -1.338388 1.338389 4.125000 +v -1.250000 1.375000 4.125000 +v -1.161612 1.338389 4.125000 +v -1.161612 1.161612 4.125000 +v -1.250000 1.125000 4.125000 +v -1.338388 1.161612 4.125000 +v -1.338388 1.338388 3.500000 +v -1.375000 1.250000 3.500000 +v -1.250000 1.375000 3.500000 +v -1.161612 1.338388 3.500000 +v -1.250000 1.125000 3.500000 +v -1.161612 1.161612 3.500000 +v -1.338388 1.161612 3.500000 +v -1.125000 1.250000 3.500000 +v -1.000000 1.750000 4.375000 +v -1.000000 1.838389 4.338388 +v -1.000000 1.875000 4.250000 +v -1.000000 1.838389 4.161612 +v -1.000000 1.750000 4.125000 +v -1.000000 1.661612 4.161612 +v -1.000000 1.625000 4.250000 +v -1.000000 1.661612 4.338388 +v -1.125000 1.750000 4.375000 +v -1.125000 1.838389 4.338388 +v -1.125000 1.875000 4.250000 +v -1.125000 1.838389 4.161612 +v -1.125000 1.750000 4.125000 +v -1.125000 1.661612 4.161612 +v -1.125000 1.625000 4.250000 +v -1.125000 1.661612 4.338388 +v -1.301777 1.750000 4.301777 +v -1.275888 1.838389 4.275888 +v -1.213388 1.875000 4.213388 +v -1.150888 1.838389 4.150888 +v -1.150888 1.661612 4.150888 +v -1.213388 1.625000 4.213388 +v -1.275888 1.661612 4.275888 +v -1.375000 1.750000 4.125000 +v -1.338388 1.838389 4.125000 +v -1.250000 1.875000 4.125000 +v -1.161612 1.838389 4.125000 +v -1.161612 1.661612 4.125000 +v -1.250000 1.625000 4.125000 +v -1.338388 1.661612 4.125000 +v -1.338388 1.838388 3.500000 +v -1.375000 1.750000 3.500000 +v -1.250000 1.875000 3.500000 +v -1.161612 1.838388 3.500000 +v -1.250000 1.625000 3.500000 +v -1.161612 1.661612 3.500000 +v -1.338388 1.661612 3.500000 +v -1.125000 1.750000 3.500000 +v 0.875000 0.000000 0.250000 +v 1.500000 0.000000 0.250000 +v 1.500000 0.625000 0.250000 +v 0.875000 0.000000 -0.250000 +v 1.500000 0.000000 -0.250000 +v 1.500000 0.625000 -0.250000 +v 1.375000 0.500000 0.125000 +v 1.375000 0.500000 -0.125000 +v 1.000000 0.125000 0.125000 +v 1.000000 0.125000 -0.125000 +v 1.250000 0.625000 0.125000 +v 1.250000 0.625000 -0.125000 +v 0.875000 0.250000 0.125000 +v 0.875000 0.250000 -0.125000 +v 0.875000 0.000000 -2.000000 +v 1.500000 0.000000 -2.000000 +v 1.500000 0.625000 -2.000000 +v 0.875000 0.000000 -2.500000 +v 1.500000 0.000000 -2.500000 +v 1.500000 0.625000 -2.500000 +v 1.375000 0.500000 -2.125000 +v 1.375000 0.500000 -2.375000 +v 1.000000 0.125000 -2.125000 +v 1.000000 0.125000 -2.375000 +v 1.250000 0.625000 -2.125000 +v 1.250000 0.625000 -2.375000 +v 0.875000 0.250000 -2.125000 +v 0.875000 0.250000 -2.375000 +v -0.875000 3.000000 2.500000 +v -1.500000 3.000000 2.500000 +v -1.500000 2.375000 2.500000 +v -0.875000 3.000000 2.000000 +v -1.500000 3.000000 2.000000 +v -1.500000 2.375000 2.000000 +v -1.375000 2.500000 2.375000 +v -1.375000 2.500000 2.125000 +v -1.000000 2.875000 2.375000 +v -1.000000 2.875000 2.125000 +v -1.250000 2.375000 2.375000 +v -1.250000 2.375000 2.125000 +v -0.875000 2.750000 2.375000 +v -0.875000 2.750000 2.125000 +v -0.875000 3.000000 0.250000 +v -1.500000 3.000000 0.250000 +v -1.500000 2.375000 0.250000 +v -0.875000 3.000000 -0.250000 +v -1.500000 3.000000 -0.250000 +v -1.500000 2.375000 -0.250000 +v -1.375000 2.500000 0.125000 +v -1.375000 2.500000 -0.125000 +v -1.000000 2.875000 0.125000 +v -1.000000 2.875000 -0.125000 +v -1.250000 2.375000 0.125000 +v -1.250000 2.375000 -0.125000 +v -0.875000 2.750000 0.125000 +v -0.875000 2.750000 -0.125000 +v -0.875000 3.000000 -2.000000 +v -1.500000 3.000000 -2.000000 +v -1.500000 2.375000 -2.000000 +v -0.875000 3.000000 -2.500000 +v -1.500000 3.000000 -2.500000 +v -1.500000 2.375000 -2.500000 +v -1.375000 2.500000 -2.125000 +v -1.375000 2.500000 -2.375000 +v -1.000000 2.875000 -2.125000 +v -1.000000 2.875000 -2.375000 +v -1.250000 2.375000 -2.125000 +v -1.250000 2.375000 -2.375000 +v -0.875000 2.750000 -2.125000 +v -0.875000 2.750000 -2.375000 +v -1.500000 0.625000 2.500000 +v -1.500000 0.000000 2.500000 +v -0.875000 0.000000 2.500000 +v -1.500000 0.625000 2.000000 +v -1.500000 0.000000 2.000000 +v -0.875000 0.000000 2.000000 +v -1.000000 0.125000 2.375000 +v -1.000000 0.125000 2.125000 +v -1.375000 0.500000 2.375000 +v -1.375000 0.500000 2.125000 +v -0.875000 0.250000 2.375000 +v -0.875000 0.250000 2.125000 +v -1.250000 0.625000 2.375000 +v -1.250000 0.625000 2.125000 +v -1.500000 0.625000 0.250000 +v -1.500000 0.000000 0.250000 +v -0.875000 0.000000 0.250000 +v -1.500000 0.625000 -0.250000 +v -1.500000 0.000000 -0.250000 +v -0.875000 0.000000 -0.250000 +v -1.000000 0.125000 0.125000 +v -1.000000 0.125000 -0.125000 +v -1.375000 0.500000 0.125000 +v -1.375000 0.500000 -0.125000 +v -0.875000 0.250000 0.125000 +v -0.875000 0.250000 -0.125000 +v -1.250000 0.625000 0.125000 +v -1.250000 0.625000 -0.125000 +v -1.500000 0.625000 -2.000000 +v -1.500000 0.000000 -2.000000 +v -0.875000 0.000000 -2.000000 +v -1.500000 0.625000 -2.500000 +v -1.500000 0.000000 -2.500000 +v -0.875000 0.000000 -2.500000 +v -1.000000 0.125000 -2.125000 +v -1.000000 0.125000 -2.375000 +v -1.375000 0.500000 -2.125000 +v -1.375000 0.500000 -2.375000 +v -0.875000 0.250000 -2.125000 +v -0.875000 0.250000 -2.375000 +v -1.250000 0.625000 -2.125000 +v -1.250000 0.625000 -2.375000 +v 1.500000 2.375000 2.500000 +v 1.500000 3.000000 2.500000 +v 0.875000 3.000000 2.500000 +v 1.500000 2.375000 2.000000 +v 1.500000 3.000000 2.000000 +v 0.875000 3.000000 2.000000 +v 1.000000 2.875000 2.375000 +v 1.000000 2.875000 2.125000 +v 1.375000 2.500000 2.375000 +v 1.375000 2.500000 2.125000 +v 0.875000 2.750000 2.375000 +v 0.875000 2.750000 2.125000 +v 1.250000 2.375000 2.375000 +v 1.250000 2.375000 2.125000 +v 1.500000 2.375000 0.250000 +v 1.500000 3.000000 0.250000 +v 0.875000 3.000000 0.250000 +v 1.500000 2.375000 -0.250000 +v 1.500000 3.000000 -0.250000 +v 0.875000 3.000000 -0.250000 +v 1.000000 2.875000 0.125000 +v 1.000000 2.875000 -0.125000 +v 1.375000 2.500000 0.125000 +v 1.375000 2.500000 -0.125000 +v 0.875000 2.750000 0.125000 +v 0.875000 2.750000 -0.125000 +v 1.250000 2.375000 0.125000 +v 1.250000 2.375000 -0.125000 +v 1.500000 2.375000 -2.000000 +v 1.500000 3.000000 -2.000000 +v 0.875000 3.000000 -2.000000 +v 1.500000 2.375000 -2.500000 +v 1.500000 3.000000 -2.500000 +v 0.875000 3.000000 -2.500000 +v 1.000000 2.875000 -2.125000 +v 1.000000 2.875000 -2.375000 +v 1.375000 2.500000 -2.125000 +v 1.375000 2.500000 -2.375000 +v 0.875000 2.750000 -2.125000 +v 0.875000 2.750000 -2.375000 +v 1.250000 2.375000 -2.125000 +v 1.250000 2.375000 -2.375000 +vt 1.000000 0.200000 +vt 0.925926 0.100000 +vt 1.000000 0.100000 +vt 0.925926 0.200000 +vt 0.851852 0.100000 +vt 0.851852 0.200000 +vt 0.777778 0.100000 +vt 0.925926 0.000000 +vt 0.851852 0.300000 +vt 0.259259 0.875000 +vt 0.777778 0.750000 +vt 0.777778 0.875000 +vt 0.259259 0.375000 +vt 0.777778 0.250000 +vt 0.777778 0.375000 +vt 0.259259 0.625000 +vt 0.777778 0.500000 +vt 0.777778 0.625000 +vt 0.259259 0.125000 +vt 0.777778 0.000000 +vt 0.777778 0.125000 +vt 0.777778 1.000000 +vt 0.259259 0.250000 +vt 0.259259 0.750000 +vt 0.851852 0.512500 +vt 0.851852 0.612500 +vt 0.935185 0.712500 +vt 0.925926 0.612500 +vt 0.842593 0.712500 +vt 0.842593 0.412500 +vt 0.925926 0.512500 +vt 1.000000 0.500000 +vt 0.935185 0.412500 +vt 1.000000 0.625000 +vt 0.222222 0.768750 +vt 0.222222 0.606250 +vt 0.259259 0.500000 +vt 0.222222 0.650000 +vt 0.222222 0.356250 +vt 0.222222 0.106250 +vt 0.259259 0.000000 +vt 0.222222 0.150000 +vt 0.222222 0.975000 +vt 0.259259 1.000000 +vt 0.222222 0.400000 +vt 0.222222 0.525000 +vt 0.148148 0.437500 +vt 0.222222 0.437500 +vt 0.000000 0.350000 +vt 0.106481 0.293750 +vt 0.222222 0.350000 +vt 0.148148 0.262500 +vt 0.222222 0.262500 +vt 0.222222 0.175000 +vt 0.148148 0.087500 +vt 0.222222 0.087500 +vt 0.148148 0.175000 +vt 0.222222 0.612500 +vt 0.148148 0.525000 +vt 0.222222 0.700000 +vt 0.148148 0.612500 +vt 0.148148 0.350000 +vt 0.148148 -0.000000 +vt 0.222222 -0.000000 +vt 0.898148 0.775000 +vt 0.851852 0.775000 +vt 0.898148 0.712500 +vt 0.935185 0.775000 +vt 0.935185 0.712500 +vt 0.981481 0.775000 +vt 0.898148 0.837500 +vt 0.935185 0.900000 +vt 0.898148 0.900000 +vt 0.935185 0.837500 +vt 0.962963 0.918750 +vt 0.925926 0.900000 +vt 0.962963 0.900000 +vt 0.870370 0.918750 +vt 0.851852 0.900000 +vt 0.870370 0.900000 +vt 0.907407 0.900000 +vt 0.925926 0.918750 +vt 0.898148 0.775000 +vt 0.851852 0.775000 +vt 0.898148 0.712500 +vt 0.935185 0.775000 +vt 0.935185 0.712500 +vt 0.981481 0.775000 +vt 0.898148 0.837500 +vt 0.935185 0.900000 +vt 0.898148 0.900000 +vt 0.935185 0.837500 +vt 0.962963 0.918750 +vt 0.925926 0.900000 +vt 0.962963 0.900000 +vt 0.870370 0.918750 +vt 0.851852 0.900000 +vt 0.870370 0.900000 +vt 0.907407 0.900000 +vt 0.925926 0.918750 +vt 0.898148 0.775000 +vt 0.851852 0.775000 +vt 0.898148 0.712500 +vt 0.935185 0.775000 +vt 0.935185 0.712500 +vt 0.981481 0.775000 +vt 0.898148 0.837500 +vt 0.935185 0.900000 +vt 0.898148 0.900000 +vt 0.935185 0.837500 +vt 0.962963 0.918750 +vt 0.925926 0.900000 +vt 0.962963 0.900000 +vt 0.870370 0.918750 +vt 0.851852 0.900000 +vt 0.870370 0.900000 +vt 0.907407 0.900000 +vt 0.925926 0.918750 +vt 0.898148 0.775000 +vt 0.851852 0.775000 +vt 0.898148 0.712500 +vt 0.935185 0.775000 +vt 0.935185 0.712500 +vt 0.981481 0.775000 +vt 0.898148 0.837500 +vt 0.935185 0.900000 +vt 0.898148 0.900000 +vt 0.935185 0.837500 +vt 0.962963 0.918750 +vt 0.925926 0.900000 +vt 0.962963 0.900000 +vt 0.870370 0.918750 +vt 0.851852 0.900000 +vt 0.870370 0.900000 +vt 0.907407 0.900000 +vt 0.925926 0.918750 +vt 0.898148 0.775000 +vt 0.851852 0.775000 +vt 0.898148 0.712500 +vt 0.935185 0.775000 +vt 0.935185 0.712500 +vt 0.981481 0.775000 +vt 0.898148 0.837500 +vt 0.935185 0.900000 +vt 0.898148 0.900000 +vt 0.935185 0.837500 +vt 0.962963 0.918750 +vt 0.925926 0.900000 +vt 0.962963 0.900000 +vt 0.870370 0.918750 +vt 0.851852 0.900000 +vt 0.870370 0.900000 +vt 0.907407 0.900000 +vt 0.925926 0.918750 +vt 0.898148 0.775000 +vt 0.851852 0.775000 +vt 0.898148 0.712500 +vt 0.935185 0.775000 +vt 0.935185 0.712500 +vt 0.981481 0.775000 +vt 0.898148 0.837500 +vt 0.935185 0.900000 +vt 0.898148 0.900000 +vt 0.935185 0.837500 +vt 0.962963 0.918750 +vt 0.925926 0.900000 +vt 0.962963 0.900000 +vt 0.870370 0.918750 +vt 0.851852 0.900000 +vt 0.870370 0.900000 +vt 0.907407 0.900000 +vt 0.925926 0.918750 +vt 0.898148 0.775000 +vt 0.851852 0.775000 +vt 0.898148 0.712500 +vt 0.935185 0.775000 +vt 0.935185 0.712500 +vt 0.981481 0.775000 +vt 0.898148 0.837500 +vt 0.935185 0.900000 +vt 0.898148 0.900000 +vt 0.935185 0.837500 +vt 0.962963 0.918750 +vt 0.925926 0.900000 +vt 0.962963 0.900000 +vt 0.870370 0.918750 +vt 0.851852 0.900000 +vt 0.870370 0.900000 +vt 0.907407 0.918750 +vt 0.925926 0.918750 +vt 0.907407 0.900000 +vt 0.898148 0.775000 +vt 0.851852 0.775000 +vt 0.898148 0.712500 +vt 0.935185 0.775000 +vt 0.935185 0.712500 +vt 0.981481 0.775000 +vt 0.898148 0.837500 +vt 0.935185 0.900000 +vt 0.898148 0.900000 +vt 0.935185 0.837500 +vt 0.962963 0.918750 +vt 0.925926 0.900000 +vt 0.962963 0.900000 +vt 0.870370 0.918750 +vt 0.851852 0.900000 +vt 0.870370 0.900000 +vt 0.907407 0.918750 +vt 0.925926 0.918750 +vt 0.907407 0.900000 +vt 0.898148 0.775000 +vt 0.851852 0.775000 +vt 0.898148 0.712500 +vt 0.935185 0.775000 +vt 0.935185 0.712500 +vt 0.981481 0.775000 +vt 0.898148 0.837500 +vt 0.935185 0.900000 +vt 0.898148 0.900000 +vt 0.935185 0.837500 +vt 0.962963 0.918750 +vt 0.925926 0.900000 +vt 0.962963 0.900000 +vt 0.870370 0.918750 +vt 0.851852 0.900000 +vt 0.870370 0.900000 +vt 0.907407 0.918750 +vt 0.925926 0.918750 +vt 0.907407 0.900000 +vt 0.898148 0.775000 +vt 0.851852 0.775000 +vt 0.898148 0.712500 +vt 0.935185 0.775000 +vt 0.935185 0.712500 +vt 0.981481 0.775000 +vt 0.898148 0.837500 +vt 0.935185 0.900000 +vt 0.898148 0.900000 +vt 0.935185 0.837500 +vt 0.962963 0.918750 +vt 0.925926 0.900000 +vt 0.962963 0.900000 +vt 0.870370 0.918750 +vt 0.851852 0.900000 +vt 0.870370 0.900000 +vt 0.907407 0.900000 +vt 0.925926 0.918750 +vt 0.898148 0.775000 +vt 0.851852 0.775000 +vt 0.898148 0.712500 +vt 0.935185 0.775000 +vt 0.935185 0.712500 +vt 0.981481 0.775000 +vt 0.898148 0.837500 +vt 0.935185 0.900000 +vt 0.898148 0.900000 +vt 0.935185 0.837500 +vt 0.962963 0.918750 +vt 0.925926 0.900000 +vt 0.962963 0.900000 +vt 0.870370 0.918750 +vt 0.851852 0.900000 +vt 0.870370 0.900000 +vt 0.907407 0.900000 +vt 0.925926 0.918750 +vt 0.898148 0.775000 +vt 0.851852 0.775000 +vt 0.898148 0.712500 +vt 0.935185 0.775000 +vt 0.935185 0.712500 +vt 0.981481 0.775000 +vt 0.898148 0.837500 +vt 0.935185 0.900000 +vt 0.898148 0.900000 +vt 0.935185 0.837500 +vt 0.962963 0.918750 +vt 0.925926 0.900000 +vt 0.962963 0.900000 +vt 0.870370 0.918750 +vt 0.851852 0.900000 +vt 0.870370 0.900000 +vt 0.907407 0.900000 +vt 0.925926 0.918750 +vt 0.777778 0.200000 +vt 0.851852 0.000000 +vt 0.925926 0.300000 +vt 0.222222 0.856250 +vt 0.222222 0.518750 +vt 0.222222 0.725000 +vt 0.222222 0.268750 +vt 0.222222 0.018750 +vt 0.222222 0.225000 +vt 0.222222 0.900000 +vt 0.222222 0.475000 +vt 0.106481 0.493750 +vt 0.041667 0.493750 +vt -0.000000 0.437500 +vt 0.041667 0.293750 +vt 0.148148 0.700000 +vt 0.851852 0.918750 +vt 0.907407 0.918750 +vt 0.851852 0.918750 +vt 0.907407 0.918750 +vt 0.851852 0.918750 +vt 0.907407 0.918750 +vt 0.851852 0.918750 +vt 0.907407 0.918750 +vt 0.851852 0.918750 +vt 0.907407 0.918750 +vt 0.851852 0.918750 +vt 0.907407 0.918750 +vt 0.851852 0.918750 +vt 0.851852 0.918750 +vt 0.851852 0.918750 +vt 0.851852 0.918750 +vt 0.907407 0.918750 +vt 0.851852 0.918750 +vt 0.907407 0.918750 +vt 0.851852 0.918750 +vt 0.907407 0.918750 +vt 0.814815 0.712500 +vt 0.805556 0.775000 +vt 0.805556 0.712500 +vt 0.796296 0.712500 +vt 0.787037 0.775000 +vt 0.787037 0.712500 +vt 0.851852 0.712500 +vt 0.842593 0.775000 +vt 0.842593 0.712500 +vt 0.833333 0.712500 +vt 0.824074 0.775000 +vt 0.824074 0.712500 +vt 0.796296 0.775000 +vt 0.777778 0.775000 +vt 0.777778 0.712500 +vt 0.833333 0.775000 +vt 0.814815 0.775000 +vt 0.833333 0.781250 +vt 0.824074 0.793750 +vt 0.796296 0.781250 +vt 0.805556 0.793750 +vt 0.796296 0.793750 +vt 0.842593 0.793750 +vt 0.833333 0.793750 +vt 0.814815 0.793750 +vt 0.787037 0.793750 +vt 0.787037 0.787500 +vt 0.814815 0.812500 +vt 0.805556 0.812500 +vt 0.787037 0.800000 +vt 0.833333 0.806250 +vt 0.824074 0.812500 +vt 0.796296 0.806250 +vt 0.842593 0.800000 +vt 0.842593 0.787500 +vt 0.851852 0.793750 +vt 0.777778 0.793750 +vt 0.787037 0.812500 +vt 0.777778 0.825000 +vt 0.777778 0.812500 +vt 0.814815 0.825000 +vt 0.805556 0.825000 +vt 0.851852 0.812500 +vt 0.842593 0.825000 +vt 0.842593 0.812500 +vt 0.796296 0.812500 +vt 0.787037 0.825000 +vt 0.833333 0.812500 +vt 0.824074 0.825000 +vt 0.796296 0.825000 +vt 0.833333 0.825000 +vt 0.814815 0.825000 +vt 0.805556 0.837500 +vt 0.805556 0.825000 +vt 0.796296 0.825000 +vt 0.787037 0.837500 +vt 0.787037 0.825000 +vt 0.851852 0.825000 +vt 0.842593 0.837500 +vt 0.842593 0.825000 +vt 0.833333 0.825000 +vt 0.824074 0.837500 +vt 0.824074 0.825000 +vt 0.796296 0.837500 +vt 0.777778 0.837500 +vt 0.777778 0.825000 +vt 0.833333 0.837500 +vt 0.814815 0.837500 +vt 0.833333 0.843750 +vt 0.824074 0.856250 +vt 0.796296 0.843750 +vt 0.805556 0.856250 +vt 0.796296 0.856250 +vt 0.842593 0.856250 +vt 0.833333 0.856250 +vt 0.814815 0.856250 +vt 0.787037 0.856250 +vt 0.787037 0.850000 +vt 0.814815 0.875000 +vt 0.805556 0.875000 +vt 0.796296 0.868750 +vt 0.787037 0.862500 +vt 0.824074 0.875000 +vt 0.833333 0.868750 +vt 0.842593 0.850000 +vt 0.851852 0.856250 +vt 0.842593 0.862500 +vt 0.777778 0.856250 +vt 0.787037 0.875000 +vt 0.777778 0.937500 +vt 0.777778 0.875000 +vt 0.814815 0.937500 +vt 0.805556 0.937500 +vt 0.851852 0.875000 +vt 0.842593 0.937500 +vt 0.842593 0.875000 +vt 0.796296 0.875000 +vt 0.787037 0.937500 +vt 0.833333 0.875000 +vt 0.824074 0.937500 +vt 0.796296 0.937500 +vt 0.833333 0.937500 +vt 0.851852 0.712500 +vt 0.842593 0.775000 +vt 0.842593 0.712500 +vt 0.787037 0.712500 +vt 0.796296 0.775000 +vt 0.787037 0.775000 +vt 0.814815 0.712500 +vt 0.805556 0.775000 +vt 0.805556 0.712500 +vt 0.814815 0.712500 +vt 0.805556 0.775000 +vt 0.805556 0.712500 +vt 0.796296 0.712500 +vt 0.787037 0.775000 +vt 0.787037 0.712500 +vt 0.851852 0.712500 +vt 0.842593 0.775000 +vt 0.842593 0.712500 +vt 0.833333 0.712500 +vt 0.824074 0.775000 +vt 0.824074 0.712500 +vt 0.796296 0.775000 +vt 0.777778 0.775000 +vt 0.777778 0.712500 +vt 0.833333 0.775000 +vt 0.814815 0.775000 +vt 0.833333 0.793750 +vt 0.824074 0.793750 +vt 0.796296 0.793750 +vt 0.796296 0.781250 +vt 0.833333 0.781250 +vt 0.842593 0.793750 +vt 0.814815 0.793750 +vt 0.805556 0.793750 +vt 0.787037 0.793750 +vt 0.787037 0.787500 +vt 0.814815 0.812500 +vt 0.805556 0.812500 +vt 0.787037 0.800000 +vt 0.833333 0.806250 +vt 0.824074 0.812500 +vt 0.796296 0.806250 +vt 0.842593 0.787500 +vt 0.851852 0.793750 +vt 0.842593 0.800000 +vt 0.777778 0.793750 +vt 0.787037 0.812500 +vt 0.777778 0.825000 +vt 0.777778 0.812500 +vt 0.814815 0.825000 +vt 0.805556 0.825000 +vt 0.851852 0.812500 +vt 0.842593 0.825000 +vt 0.842593 0.812500 +vt 0.796296 0.812500 +vt 0.787037 0.825000 +vt 0.833333 0.812500 +vt 0.824074 0.825000 +vt 0.796296 0.825000 +vt 0.833333 0.825000 +vt 0.824074 0.812500 +vt 0.814815 0.825000 +vt 0.814815 0.812500 +vt 0.842593 0.812500 +vt 0.833333 0.825000 +vt 0.833333 0.812500 +vt 0.805556 0.812500 +vt 0.796296 0.825000 +vt 0.796296 0.812500 +vt 0.824074 0.825000 +vt 0.787037 0.825000 +vt 0.787037 0.812500 +vt 0.851852 0.812500 +vt 0.842593 0.825000 +vt 0.805556 0.825000 +vt 0.777778 0.825000 +vt 0.777778 0.812500 +vt 0.787037 0.793750 +vt 0.787037 0.800000 +vt 0.777778 0.793750 +vt 0.787037 0.787500 +vt 0.842593 0.793750 +vt 0.851852 0.793750 +vt 0.842593 0.800000 +vt 0.842593 0.787500 +vt 0.824074 0.793750 +vt 0.814815 0.793750 +vt 0.833333 0.793750 +vt 0.833333 0.806250 +vt 0.805556 0.793750 +vt 0.796296 0.806250 +vt 0.796296 0.793750 +vt 0.796296 0.781250 +vt 0.814815 0.775000 +vt 0.805556 0.775000 +vt 0.824074 0.775000 +vt 0.833333 0.781250 +vt 0.824074 0.712500 +vt 0.814815 0.712500 +vt 0.842593 0.712500 +vt 0.833333 0.775000 +vt 0.833333 0.712500 +vt 0.787037 0.712500 +vt 0.777778 0.775000 +vt 0.777778 0.712500 +vt 0.805556 0.712500 +vt 0.796296 0.775000 +vt 0.796296 0.712500 +vt 0.851852 0.712500 +vt 0.842593 0.775000 +vt 0.787037 0.775000 +vt 0.824074 0.812500 +vt 0.814815 0.825000 +vt 0.814815 0.812500 +vt 0.842593 0.812500 +vt 0.833333 0.825000 +vt 0.833333 0.812500 +vt 0.805556 0.812500 +vt 0.796296 0.825000 +vt 0.796296 0.812500 +vt 0.824074 0.825000 +vt 0.787037 0.825000 +vt 0.787037 0.812500 +vt 0.851852 0.812500 +vt 0.842593 0.825000 +vt 0.805556 0.825000 +vt 0.777778 0.825000 +vt 0.777778 0.812500 +vt 0.787037 0.793750 +vt 0.787037 0.800000 +vt 0.777778 0.793750 +vt 0.787037 0.787500 +vt 0.842593 0.793750 +vt 0.851852 0.793750 +vt 0.842593 0.800000 +vt 0.842593 0.787500 +vt 0.824074 0.793750 +vt 0.814815 0.793750 +vt 0.833333 0.793750 +vt 0.833333 0.806250 +vt 0.805556 0.793750 +vt 0.796296 0.806250 +vt 0.796296 0.793750 +vt 0.796296 0.781250 +vt 0.805556 0.775000 +vt 0.824074 0.775000 +vt 0.814815 0.775000 +vt 0.833333 0.781250 +vt 0.824074 0.712500 +vt 0.814815 0.712500 +vt 0.842593 0.712500 +vt 0.833333 0.775000 +vt 0.833333 0.712500 +vt 0.787037 0.712500 +vt 0.777778 0.775000 +vt 0.777778 0.712500 +vt 0.805556 0.712500 +vt 0.796296 0.775000 +vt 0.796296 0.712500 +vt 0.851852 0.712500 +vt 0.842593 0.775000 +vt 0.787037 0.775000 +vt 0.833333 0.712500 +vt 0.824074 0.775000 +vt 0.824074 0.712500 +vt 0.796296 0.712500 +vt 0.777778 0.775000 +vt 0.777778 0.712500 +vt 0.833333 0.775000 +vt 0.814815 0.775000 +vt 0.833333 0.793750 +vt 0.824074 0.793750 +vt 0.796296 0.793750 +vt 0.796296 0.781250 +vt 0.833333 0.781250 +vt 0.842593 0.793750 +vt 0.814815 0.793750 +vt 0.805556 0.793750 +vt 0.787037 0.787500 +vt 0.787037 0.793750 +vt 0.814815 0.812500 +vt 0.805556 0.812500 +vt 0.787037 0.800000 +vt 0.824074 0.812500 +vt 0.796296 0.806250 +vt 0.842593 0.800000 +vt 0.833333 0.806250 +vt 0.842593 0.787500 +vt 0.851852 0.793750 +vt 0.777778 0.793750 +vt 0.787037 0.812500 +vt 0.777778 0.825000 +vt 0.777778 0.812500 +vt 0.814815 0.825000 +vt 0.805556 0.825000 +vt 0.851852 0.812500 +vt 0.842593 0.825000 +vt 0.842593 0.812500 +vt 0.796296 0.812500 +vt 0.787037 0.825000 +vt 0.833333 0.812500 +vt 0.824074 0.825000 +vt 0.796296 0.825000 +vt 0.833333 0.825000 +vt 0.814815 0.712500 +vt 0.805556 0.775000 +vt 0.805556 0.712500 +vt 0.796296 0.712500 +vt 0.787037 0.775000 +vt 0.787037 0.712500 +vt 0.851852 0.712500 +vt 0.842593 0.775000 +vt 0.842593 0.712500 +vt 0.833333 0.712500 +vt 0.824074 0.775000 +vt 0.824074 0.712500 +vt 0.796296 0.775000 +vt 0.777778 0.775000 +vt 0.777778 0.712500 +vt 0.833333 0.775000 +vt 0.814815 0.775000 +vt 0.833333 0.793750 +vt 0.824074 0.793750 +vt 0.796296 0.793750 +vt 0.796296 0.781250 +vt 0.842593 0.787500 +vt 0.833333 0.781250 +vt 0.814815 0.793750 +vt 0.805556 0.793750 +vt 0.787037 0.787500 +vt 0.787037 0.793750 +vt 0.814815 0.812500 +vt 0.805556 0.812500 +vt 0.787037 0.800000 +vt 0.824074 0.812500 +vt 0.796296 0.806250 +vt 0.842593 0.800000 +vt 0.833333 0.806250 +vt 0.851852 0.793750 +vt 0.842593 0.793750 +vt 0.777778 0.793750 +vt 0.787037 0.812500 +vt 0.777778 0.825000 +vt 0.777778 0.812500 +vt 0.814815 0.825000 +vt 0.805556 0.825000 +vt 0.851852 0.812500 +vt 0.842593 0.825000 +vt 0.842593 0.812500 +vt 0.796296 0.812500 +vt 0.787037 0.825000 +vt 0.833333 0.812500 +vt 0.824074 0.825000 +vt 0.796296 0.825000 +vt 0.833333 0.825000 +vt 0.824074 0.812500 +vt 0.814815 0.825000 +vt 0.814815 0.812500 +vt 0.842593 0.812500 +vt 0.833333 0.825000 +vt 0.833333 0.812500 +vt 0.805556 0.812500 +vt 0.796296 0.825000 +vt 0.796296 0.812500 +vt 0.824074 0.825000 +vt 0.787037 0.825000 +vt 0.787037 0.812500 +vt 0.851852 0.812500 +vt 0.842593 0.825000 +vt 0.805556 0.825000 +vt 0.777778 0.825000 +vt 0.777778 0.812500 +vt 0.787037 0.793750 +vt 0.787037 0.800000 +vt 0.777778 0.793750 +vt 0.787037 0.787500 +vt 0.842593 0.793750 +vt 0.851852 0.793750 +vt 0.842593 0.800000 +vt 0.842593 0.787500 +vt 0.824074 0.793750 +vt 0.814815 0.793750 +vt 0.833333 0.793750 +vt 0.833333 0.806250 +vt 0.796296 0.793750 +vt 0.796296 0.806250 +vt 0.805556 0.793750 +vt 0.796296 0.781250 +vt 0.814815 0.775000 +vt 0.805556 0.775000 +vt 0.833333 0.781250 +vt 0.824074 0.775000 +vt 0.824074 0.712500 +vt 0.814815 0.712500 +vt 0.842593 0.712500 +vt 0.833333 0.775000 +vt 0.833333 0.712500 +vt 0.787037 0.712500 +vt 0.777778 0.775000 +vt 0.777778 0.712500 +vt 0.805556 0.712500 +vt 0.796296 0.775000 +vt 0.796296 0.712500 +vt 0.851852 0.712500 +vt 0.842593 0.775000 +vt 0.787037 0.775000 +vt 0.824074 0.812500 +vt 0.814815 0.825000 +vt 0.814815 0.812500 +vt 0.842593 0.812500 +vt 0.833333 0.825000 +vt 0.833333 0.812500 +vt 0.805556 0.812500 +vt 0.796296 0.825000 +vt 0.796296 0.812500 +vt 0.824074 0.825000 +vt 0.787037 0.825000 +vt 0.787037 0.812500 +vt 0.851852 0.812500 +vt 0.842593 0.825000 +vt 0.805556 0.825000 +vt 0.777778 0.825000 +vt 0.777778 0.812500 +vt 0.787037 0.793750 +vt 0.787037 0.800000 +vt 0.777778 0.793750 +vt 0.787037 0.787500 +vt 0.842593 0.793750 +vt 0.851852 0.793750 +vt 0.842593 0.800000 +vt 0.842593 0.787500 +vt 0.824074 0.793750 +vt 0.814815 0.793750 +vt 0.833333 0.793750 +vt 0.833333 0.806250 +vt 0.796296 0.793750 +vt 0.796296 0.806250 +vt 0.805556 0.793750 +vt 0.805556 0.775000 +vt 0.824074 0.775000 +vt 0.814815 0.775000 +vt 0.833333 0.781250 +vt 0.796296 0.781250 +vt 0.824074 0.712500 +vt 0.814815 0.712500 +vt 0.842593 0.712500 +vt 0.833333 0.775000 +vt 0.833333 0.712500 +vt 0.787037 0.712500 +vt 0.777778 0.775000 +vt 0.777778 0.712500 +vt 0.805556 0.712500 +vt 0.796296 0.775000 +vt 0.796296 0.712500 +vt 0.851852 0.712500 +vt 0.842593 0.775000 +vt 0.787037 0.775000 +vt 0.814815 0.825000 +vt 0.805556 0.837500 +vt 0.805556 0.825000 +vt 0.796296 0.825000 +vt 0.787037 0.837500 +vt 0.787037 0.825000 +vt 0.851852 0.825000 +vt 0.842593 0.837500 +vt 0.842593 0.825000 +vt 0.833333 0.825000 +vt 0.824074 0.837500 +vt 0.824074 0.825000 +vt 0.796296 0.837500 +vt 0.777778 0.837500 +vt 0.777778 0.825000 +vt 0.833333 0.837500 +vt 0.814815 0.837500 +vt 0.833333 0.843750 +vt 0.824074 0.856250 +vt 0.796296 0.843750 +vt 0.805556 0.856250 +vt 0.796296 0.856250 +vt 0.842593 0.856250 +vt 0.833333 0.856250 +vt 0.814815 0.856250 +vt 0.787037 0.856250 +vt 0.787037 0.850000 +vt 0.814815 0.875000 +vt 0.805556 0.875000 +vt 0.796296 0.868750 +vt 0.787037 0.862500 +vt 0.824074 0.875000 +vt 0.833333 0.868750 +vt 0.842593 0.850000 +vt 0.851852 0.856250 +vt 0.842593 0.862500 +vt 0.777778 0.856250 +vt 0.787037 0.875000 +vt 0.777778 0.937500 +vt 0.777778 0.875000 +vt 0.814815 0.937500 +vt 0.805556 0.937500 +vt 0.851852 0.875000 +vt 0.842593 0.937500 +vt 0.842593 0.875000 +vt 0.796296 0.875000 +vt 0.787037 0.937500 +vt 0.833333 0.875000 +vt 0.824074 0.937500 +vt 0.796296 0.937500 +vt 0.833333 0.937500 +vt 0.814815 0.825000 +vt 0.805556 0.837500 +vt 0.805556 0.825000 +vt 0.796296 0.825000 +vt 0.787037 0.837500 +vt 0.787037 0.825000 +vt 0.851852 0.825000 +vt 0.842593 0.837500 +vt 0.842593 0.825000 +vt 0.833333 0.825000 +vt 0.824074 0.837500 +vt 0.824074 0.825000 +vt 0.796296 0.837500 +vt 0.777778 0.837500 +vt 0.777778 0.825000 +vt 0.833333 0.837500 +vt 0.814815 0.837500 +vt 0.833333 0.843750 +vt 0.824074 0.856250 +vt 0.796296 0.856250 +vt 0.796296 0.843750 +vt 0.842593 0.856250 +vt 0.833333 0.856250 +vt 0.814815 0.856250 +vt 0.805556 0.856250 +vt 0.787037 0.856250 +vt 0.787037 0.850000 +vt 0.814815 0.875000 +vt 0.805556 0.875000 +vt 0.787037 0.862500 +vt 0.824074 0.875000 +vt 0.796296 0.868750 +vt 0.842593 0.862500 +vt 0.833333 0.868750 +vt 0.842593 0.850000 +vt 0.851852 0.856250 +vt 0.777778 0.856250 +vt 0.787037 0.875000 +vt 0.777778 0.937500 +vt 0.777778 0.875000 +vt 0.814815 0.937500 +vt 0.805556 0.937500 +vt 0.851852 0.875000 +vt 0.842593 0.937500 +vt 0.842593 0.875000 +vt 0.796296 0.875000 +vt 0.787037 0.937500 +vt 0.833333 0.875000 +vt 0.824074 0.937500 +vt 0.796296 0.937500 +vt 0.833333 0.937500 +vt 0.814815 0.825000 +vt 0.805556 0.837500 +vt 0.805556 0.825000 +vt 0.796296 0.825000 +vt 0.787037 0.837500 +vt 0.787037 0.825000 +vt 0.851852 0.825000 +vt 0.842593 0.837500 +vt 0.842593 0.825000 +vt 0.833333 0.825000 +vt 0.824074 0.837500 +vt 0.824074 0.825000 +vt 0.796296 0.837500 +vt 0.777778 0.825000 +vt 0.777778 0.837500 +vt 0.833333 0.837500 +vt 0.814815 0.837500 +vt 0.833333 0.843750 +vt 0.824074 0.856250 +vt 0.796296 0.856250 +vt 0.796296 0.843750 +vt 0.842593 0.856250 +vt 0.833333 0.856250 +vt 0.814815 0.856250 +vt 0.805556 0.856250 +vt 0.787037 0.856250 +vt 0.787037 0.850000 +vt 0.814815 0.875000 +vt 0.805556 0.875000 +vt 0.787037 0.862500 +vt 0.824074 0.875000 +vt 0.796296 0.868750 +vt 0.842593 0.862500 +vt 0.833333 0.868750 +vt 0.842593 0.850000 +vt 0.851852 0.856250 +vt 0.777778 0.856250 +vt 0.787037 0.875000 +vt 0.777778 0.937500 +vt 0.777778 0.875000 +vt 0.814815 0.937500 +vt 0.805556 0.937500 +vt 0.851852 0.875000 +vt 0.842593 0.937500 +vt 0.842593 0.875000 +vt 0.796296 0.875000 +vt 0.787037 0.937500 +vt 0.833333 0.875000 +vt 0.824074 0.937500 +vt 0.796296 0.937500 +vt 0.833333 0.937500 +vt 0.814815 0.825000 +vt 0.805556 0.837500 +vt 0.805556 0.825000 +vt 0.796296 0.825000 +vt 0.787037 0.837500 +vt 0.787037 0.825000 +vt 0.851852 0.825000 +vt 0.842593 0.837500 +vt 0.842593 0.825000 +vt 0.833333 0.825000 +vt 0.824074 0.837500 +vt 0.824074 0.825000 +vt 0.796296 0.837500 +vt 0.777778 0.837500 +vt 0.777778 0.825000 +vt 0.833333 0.837500 +vt 0.814815 0.837500 +vt 0.833333 0.843750 +vt 0.824074 0.856250 +vt 0.796296 0.843750 +vt 0.805556 0.856250 +vt 0.796296 0.856250 +vt 0.842593 0.856250 +vt 0.833333 0.856250 +vt 0.814815 0.856250 +vt 0.787037 0.856250 +vt 0.787037 0.850000 +vt 0.814815 0.875000 +vt 0.805556 0.875000 +vt 0.787037 0.862500 +vt 0.833333 0.868750 +vt 0.824074 0.875000 +vt 0.796296 0.868750 +vt 0.842593 0.850000 +vt 0.851852 0.856250 +vt 0.842593 0.862500 +vt 0.777778 0.856250 +vt 0.787037 0.875000 +vt 0.777778 0.937500 +vt 0.777778 0.875000 +vt 0.814815 0.937500 +vt 0.805556 0.937500 +vt 0.851852 0.875000 +vt 0.842593 0.937500 +vt 0.842593 0.875000 +vt 0.796296 0.875000 +vt 0.787037 0.937500 +vt 0.833333 0.875000 +vt 0.824074 0.937500 +vt 0.796296 0.937500 +vt 0.833333 0.937500 +vt 0.814815 0.825000 +vt 0.805556 0.837500 +vt 0.805556 0.825000 +vt 0.796296 0.825000 +vt 0.787037 0.837500 +vt 0.787037 0.825000 +vt 0.851852 0.825000 +vt 0.842593 0.837500 +vt 0.842593 0.825000 +vt 0.833333 0.825000 +vt 0.824074 0.837500 +vt 0.824074 0.825000 +vt 0.796296 0.837500 +vt 0.777778 0.837500 +vt 0.777778 0.825000 +vt 0.833333 0.837500 +vt 0.814815 0.837500 +vt 0.833333 0.843750 +vt 0.824074 0.856250 +vt 0.796296 0.856250 +vt 0.796296 0.843750 +vt 0.842593 0.856250 +vt 0.833333 0.856250 +vt 0.814815 0.856250 +vt 0.805556 0.856250 +vt 0.787037 0.856250 +vt 0.787037 0.850000 +vt 0.814815 0.875000 +vt 0.805556 0.875000 +vt 0.787037 0.862500 +vt 0.833333 0.868750 +vt 0.824074 0.875000 +vt 0.796296 0.868750 +vt 0.842593 0.850000 +vt 0.851852 0.856250 +vt 0.842593 0.862500 +vt 0.777778 0.856250 +vt 0.787037 0.875000 +vt 0.777778 0.937500 +vt 0.777778 0.875000 +vt 0.814815 0.937500 +vt 0.805556 0.937500 +vt 0.851852 0.875000 +vt 0.842593 0.937500 +vt 0.842593 0.875000 +vt 0.796296 0.875000 +vt 0.787037 0.937500 +vt 0.833333 0.875000 +vt 0.824074 0.937500 +vt 0.796296 0.937500 +vt 0.833333 0.937500 +vt 0.814815 0.825000 +vt 0.805556 0.837500 +vt 0.805556 0.825000 +vt 0.796296 0.825000 +vt 0.787037 0.837500 +vt 0.787037 0.825000 +vt 0.851852 0.825000 +vt 0.842593 0.837500 +vt 0.842593 0.825000 +vt 0.833333 0.825000 +vt 0.824074 0.837500 +vt 0.824074 0.825000 +vt 0.796296 0.837500 +vt 0.777778 0.825000 +vt 0.777778 0.837500 +vt 0.833333 0.837500 +vt 0.814815 0.837500 +vt 0.833333 0.856250 +vt 0.824074 0.856250 +vt 0.796296 0.856250 +vt 0.796296 0.843750 +vt 0.833333 0.843750 +vt 0.842593 0.856250 +vt 0.814815 0.856250 +vt 0.805556 0.856250 +vt 0.787037 0.856250 +vt 0.787037 0.850000 +vt 0.814815 0.875000 +vt 0.805556 0.875000 +vt 0.787037 0.862500 +vt 0.833333 0.868750 +vt 0.824074 0.875000 +vt 0.796296 0.868750 +vt 0.842593 0.850000 +vt 0.851852 0.856250 +vt 0.842593 0.862500 +vt 0.777778 0.856250 +vt 0.787037 0.875000 +vt 0.777778 0.937500 +vt 0.777778 0.875000 +vt 0.814815 0.937500 +vt 0.805556 0.937500 +vt 0.851852 0.875000 +vt 0.842593 0.937500 +vt 0.842593 0.875000 +vt 0.796296 0.875000 +vt 0.787037 0.937500 +vt 0.833333 0.875000 +vt 0.824074 0.937500 +vt 0.796296 0.937500 +vt 0.833333 0.937500 +vt 0.814815 0.825000 +vt 0.805556 0.837500 +vt 0.805556 0.825000 +vt 0.796296 0.825000 +vt 0.787037 0.837500 +vt 0.787037 0.825000 +vt 0.842593 0.825000 +vt 0.851852 0.837500 +vt 0.842593 0.837500 +vt 0.833333 0.825000 +vt 0.824074 0.837500 +vt 0.824074 0.825000 +vt 0.796296 0.837500 +vt 0.777778 0.825000 +vt 0.777778 0.837500 +vt 0.833333 0.837500 +vt 0.814815 0.837500 +vt 0.833333 0.843750 +vt 0.824074 0.856250 +vt 0.796296 0.843750 +vt 0.805556 0.856250 +vt 0.796296 0.856250 +vt 0.842593 0.856250 +vt 0.833333 0.856250 +vt 0.814815 0.856250 +vt 0.787037 0.856250 +vt 0.787037 0.850000 +vt 0.814815 0.875000 +vt 0.805556 0.875000 +vt 0.787037 0.862500 +vt 0.833333 0.868750 +vt 0.824074 0.875000 +vt 0.796296 0.868750 +vt 0.842593 0.850000 +vt 0.851852 0.856250 +vt 0.842593 0.862500 +vt 0.777778 0.856250 +vt 0.787037 0.875000 +vt 0.777778 0.937500 +vt 0.777778 0.875000 +vt 0.814815 0.937500 +vt 0.805556 0.937500 +vt 0.851852 0.875000 +vt 0.842593 0.937500 +vt 0.842593 0.875000 +vt 0.796296 0.875000 +vt 0.787037 0.937500 +vt 0.833333 0.875000 +vt 0.824074 0.937500 +vt 0.796296 0.937500 +vt 0.833333 0.937500 +vt 0.851852 0.775000 +vt 0.851852 0.825000 +vt 0.851852 0.837500 +vt 0.851852 0.937500 +vt 0.851852 0.775000 +vt 0.851852 0.775000 +vt 0.851852 0.825000 +vt 0.851852 0.825000 +vt 0.851852 0.775000 +vt 0.851852 0.825000 +vt 0.851852 0.775000 +vt 0.851852 0.825000 +vt 0.851852 0.775000 +vt 0.851852 0.825000 +vt 0.851852 0.825000 +vt 0.851852 0.775000 +vt 0.851852 0.825000 +vt 0.851852 0.775000 +vt 0.851852 0.837500 +vt 0.851852 0.937500 +vt 0.851852 0.837500 +vt 0.851852 0.937500 +vt 0.851852 0.837500 +vt 0.851852 0.937500 +vt 0.851852 0.837500 +vt 0.851852 0.937500 +vt 0.851852 0.837500 +vt 0.851852 0.937500 +vt 0.851852 0.837500 +vt 0.851852 0.937500 +vt 0.851852 0.825000 +vt 0.851852 0.937500 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.6794 0.1448 -0.7194 +vn 0.7071 0.0000 -0.7071 +vn 0.7263 -0.1363 0.6737 +vn 0.7071 0.0000 0.7071 +vn -0.7263 -0.1363 0.6737 +vn -0.7071 0.0000 0.7071 +vn -0.6794 0.1448 -0.7194 +vn -0.7071 0.0000 -0.7071 +vn 0.9987 0.0196 -0.0473 +vn -0.0000 -0.7071 0.7071 +vn -0.9987 0.0196 -0.0473 +vn 0.0000 0.1866 -0.9824 +vn -0.6630 0.5294 -0.5294 +vn 0.6630 0.5294 -0.5294 +vn 0.9955 0.0671 -0.0671 +vn -0.7574 -0.4617 0.4617 +vn -0.9955 0.0671 -0.0671 +vn 0.0000 0.7071 -0.7071 +vn 0.7574 -0.4617 0.4617 +vn -0.0000 0.9824 -0.1866 +vn 0.6794 0.7194 -0.1448 +vn 0.7263 -0.6737 0.1363 +vn -0.9987 0.0473 -0.0196 +vn -0.6794 0.7194 -0.1448 +vn 0.9987 0.0473 -0.0196 +vn -0.7263 -0.6737 0.1363 +vn -0.6794 0.1448 0.7194 +vn -0.7263 -0.1363 -0.6737 +vn 0.7263 -0.1363 -0.6737 +vn 0.6794 0.1448 0.7194 +vn -0.9987 0.0196 0.0473 +vn 0.0000 -0.7071 -0.7071 +vn 0.9987 0.0196 0.0473 +vn 0.0000 0.1866 0.9824 +vn 0.6630 0.5294 0.5294 +vn -0.6630 0.5294 0.5294 +vn -0.9955 0.0671 0.0671 +vn 0.7574 -0.4617 -0.4617 +vn 0.9955 0.0671 0.0671 +vn 0.0000 0.7071 0.7071 +vn -0.7574 -0.4617 -0.4617 +vn 0.0000 0.9824 0.1866 +vn -0.6794 0.7194 0.1448 +vn -0.9987 0.0473 0.0196 +vn -0.7263 -0.6737 -0.1363 +vn 0.6794 0.7194 0.1448 +vn 0.9987 0.0473 0.0196 +vn 0.7263 -0.6737 -0.1363 +vn -0.1363 0.7263 0.6737 +vn 0.0196 -0.9987 -0.0473 +vn -0.1363 -0.7263 0.6737 +vn 0.1448 -0.6794 -0.7194 +vn -0.6794 -0.1448 -0.7194 +vn -0.7263 0.1363 0.6737 +vn 0.7263 0.1363 0.6737 +vn 0.6794 -0.1448 -0.7194 +vn -0.9987 -0.0196 -0.0473 +vn 0.9987 -0.0196 -0.0473 +vn -0.0000 -0.1866 -0.9824 +vn 0.9955 -0.0671 -0.0671 +vn 0.6630 -0.5294 -0.5294 +vn -0.9955 -0.0671 -0.0671 +vn 0.7574 0.4617 0.4617 +vn -0.6630 -0.5294 -0.5294 +vn -0.7574 0.4617 0.4617 +vn -0.0000 -0.9824 -0.1866 +vn -0.6794 -0.7194 -0.1448 +vn -0.7263 0.6737 0.1363 +vn 0.9987 -0.0473 -0.0196 +vn 0.6794 -0.7194 -0.1448 +vn -0.9987 -0.0473 -0.0196 +vn 0.7263 0.6737 0.1363 +vn 0.1448 0.6794 -0.7194 +vn 0.0196 0.9987 -0.0473 +vn 0.1866 0.0000 -0.9824 +vn 0.0671 0.9955 -0.0671 +vn 0.5294 0.6630 -0.5294 +vn 0.0671 -0.9955 -0.0671 +vn -0.4617 0.7574 0.4617 +vn 0.5294 -0.6630 -0.5294 +vn -0.4617 -0.7574 0.4617 +vn 0.9824 -0.0000 -0.1866 +vn 0.7194 -0.6794 -0.1448 +vn -0.6737 -0.7263 0.1363 +vn 0.7194 0.6794 -0.1448 +vn 0.0473 -0.9987 -0.0196 +vn -0.6737 0.7263 0.1363 +vn 0.0473 0.9987 -0.0196 +vn -0.1448 0.6794 -0.7194 +vn 0.1363 0.7263 0.6737 +vn 0.1363 -0.7263 0.6737 +vn -0.1448 -0.6794 -0.7194 +vn -0.0196 0.9987 -0.0473 +vn -0.0196 -0.9987 -0.0473 +vn -0.1866 -0.0000 -0.9824 +vn -0.0671 -0.9955 -0.0671 +vn -0.5294 -0.6630 -0.5294 +vn -0.0671 0.9955 -0.0671 +vn -0.5294 0.6630 -0.5294 +vn 0.4617 0.7574 0.4617 +vn -0.9824 -0.0000 -0.1866 +vn -0.7194 0.6794 -0.1448 +vn 0.6737 0.7263 0.1363 +vn -0.7194 -0.6794 -0.1448 +vn -0.0473 0.9987 -0.0196 +vn 0.6737 -0.7263 0.1363 +vn -0.0473 -0.9987 -0.0196 +vn 0.4617 -0.7574 0.4617 +vn 0.6794 -0.1448 0.7194 +vn 0.7263 0.1363 -0.6737 +vn -0.7263 0.1363 -0.6737 +vn -0.6794 -0.1448 0.7194 +vn 0.9987 -0.0196 0.0473 +vn -0.9987 -0.0196 0.0473 +vn 0.0000 -0.1866 0.9824 +vn -0.6630 -0.5294 0.5294 +vn 0.9955 -0.0671 0.0671 +vn -0.7574 0.4617 -0.4617 +vn -0.9955 -0.0671 0.0671 +vn 0.6630 -0.5294 0.5294 +vn 0.7574 0.4617 -0.4617 +vn 0.0000 -0.9824 0.1866 +vn 0.6794 -0.7194 0.1448 +vn 0.7263 0.6737 -0.1363 +vn -0.6794 -0.7194 0.1448 +vn 0.9987 -0.0473 0.0196 +vn -0.7263 0.6737 -0.1363 +vn -0.9987 -0.0473 0.0196 +vn 0.1448 0.6794 0.7194 +vn -0.1363 0.7263 -0.6737 +vn -0.1363 -0.7263 -0.6737 +vn 0.1448 -0.6794 0.7194 +vn 0.0196 0.9987 0.0473 +vn 0.0196 -0.9987 0.0473 +vn 0.1866 0.0000 0.9824 +vn 0.5294 -0.6630 0.5294 +vn 0.5294 0.6630 0.5294 +vn 0.0671 0.9955 0.0671 +vn -0.4617 -0.7574 -0.4617 +vn 0.0671 -0.9955 0.0671 +vn -0.4617 0.7574 -0.4617 +vn 0.9824 0.0000 0.1866 +vn 0.7194 0.6794 0.1448 +vn -0.6737 0.7263 -0.1363 +vn 0.0473 -0.9987 0.0196 +vn 0.7194 -0.6794 0.1448 +vn 0.0473 0.9987 0.0196 +vn -0.6737 -0.7263 -0.1363 +vn -0.1448 -0.6794 0.7194 +vn 0.1363 -0.7263 -0.6737 +vn 0.1363 0.7263 -0.6737 +vn -0.1448 0.6794 0.7194 +vn -0.0196 -0.9987 0.0473 +vn -0.0196 0.9987 0.0473 +vn -0.1866 -0.0000 0.9824 +vn -0.0671 0.9955 0.0671 +vn -0.5294 0.6630 0.5294 +vn -0.0671 -0.9955 0.0671 +vn 0.4617 0.7574 -0.4617 +vn -0.5294 -0.6630 0.5294 +vn 0.4617 -0.7574 -0.4617 +vn -0.9824 -0.0000 0.1866 +vn -0.7194 -0.6794 0.1448 +vn 0.6737 -0.7263 -0.1363 +vn -0.0473 0.9987 0.0196 +vn -0.7194 0.6794 0.1448 +vn -0.0473 -0.9987 0.0196 +vn 0.6737 0.7263 -0.1363 +s off +f 2/1/1 3/2/1 1/3/1 +f 4/4/2 7/5/2 3/2/2 +f 8/6/3 5/7/3 7/5/3 +f 7/5/4 1/8/4 3/2/4 +f 4/4/5 6/9/5 8/6/5 +f 22/10/1 13/11/1 14/12/1 +f 23/13/3 16/14/3 15/15/3 +f 19/16/5 12/17/5 11/18/5 +f 18/19/4 9/20/4 10/21/4 +f 9/22/6 22/10/6 14/12/6 +f 24/23/7 10/21/7 16/14/7 +f 12/17/8 23/13/8 15/15/8 +f 21/24/9 11/18/9 13/11/9 +f 11/18/2 6/25/2 2/26/2 +f 14/27/2 2/26/2 1/28/2 +f 11/18/2 2/26/2 13/29/2 +f 15/30/2 5/31/2 6/25/2 +f 10/32/2 1/28/2 5/31/2 +f 10/32/2 5/31/2 16/33/2 +f 12/17/2 15/30/2 6/25/2 +f 9/34/2 14/27/2 1/28/2 +f 22/10/10 27/35/10 21/24/10 +f 29/36/10 20/37/10 19/16/10 +f 21/24/10 29/38/10 19/16/10 +f 28/39/10 24/23/10 23/13/10 +f 32/40/10 17/41/10 18/19/10 +f 24/23/10 32/42/10 18/19/10 +f 30/43/10 22/10/10 17/44/10 +f 20/37/10 28/45/10 23/13/10 +f 27/46/9 40/47/9 29/48/9 +f 36/49/10 38/50/10 40/47/10 +f 31/51/8 38/52/8 28/53/8 +f 26/54/7 36/55/7 32/56/7 +f 28/53/3 37/57/3 26/54/3 +f 25/58/1 33/59/1 27/46/1 +f 30/60/6 34/61/6 25/58/6 +f 29/48/5 39/62/5 31/51/5 +f 32/56/4 35/63/4 30/64/4 +f 118/65/10 119/66/10 117/67/10 +f 121/68/2 120/69/2 122/70/2 +f 119/71/9 120/72/9 117/73/9 +f 118/65/3 122/74/3 119/71/3 +f 117/67/4 121/68/4 118/65/4 +f 130/75/2 124/76/2 126/77/2 +f 129/78/6 126/79/6 125/80/6 +f 123/81/10 129/78/10 125/80/10 +f 128/82/8 123/81/8 124/76/8 +f 664/83/10 665/84/10 663/85/10 +f 667/86/2 666/87/2 668/88/2 +f 665/89/9 666/90/9 663/91/9 +f 664/83/3 668/92/3 665/89/3 +f 663/85/4 667/86/4 664/83/4 +f 676/93/2 670/94/2 672/95/2 +f 675/96/6 672/97/6 671/98/6 +f 669/99/10 675/96/10 671/98/10 +f 674/100/8 669/99/8 670/94/8 +f 678/101/10 679/102/10 677/103/10 +f 681/104/2 680/105/2 682/106/2 +f 679/107/9 680/108/9 677/109/9 +f 678/101/3 682/110/3 679/107/3 +f 677/103/4 681/104/4 678/101/4 +f 690/111/2 684/112/2 686/113/2 +f 689/114/6 686/115/6 685/116/6 +f 683/117/10 689/114/10 685/116/10 +f 688/118/8 683/117/8 684/112/8 +f 692/119/10 693/120/10 691/121/10 +f 695/122/2 694/123/2 696/124/2 +f 693/125/7 694/126/7 691/127/7 +f 692/119/1 696/128/1 693/125/1 +f 691/121/5 695/122/5 692/119/5 +f 704/129/2 698/130/2 700/131/2 +f 703/132/8 700/133/8 699/134/8 +f 697/135/10 703/132/10 699/134/10 +f 702/136/6 697/135/6 698/130/6 +f 706/137/10 707/138/10 705/139/10 +f 709/140/2 708/141/2 710/142/2 +f 707/143/7 708/144/7 705/145/7 +f 706/137/1 710/146/1 707/143/1 +f 705/139/5 709/140/5 706/137/5 +f 718/147/2 712/148/2 714/149/2 +f 717/150/8 714/151/8 713/152/8 +f 711/153/10 717/150/10 713/152/10 +f 716/154/6 711/153/6 712/148/6 +f 720/155/10 721/156/10 719/157/10 +f 723/158/2 722/159/2 724/160/2 +f 721/161/7 722/162/7 719/163/7 +f 720/155/1 724/164/1 721/161/1 +f 719/157/5 723/158/5 720/155/5 +f 732/165/2 726/166/2 728/167/2 +f 731/168/8 728/169/8 727/170/8 +f 725/171/10 731/168/10 727/170/10 +f 730/172/6 725/171/6 726/166/6 +f 734/173/10 735/174/10 733/175/10 +f 737/176/2 736/177/2 738/178/2 +f 735/179/8 736/180/8 733/181/8 +f 734/173/4 738/182/4 735/179/4 +f 733/175/1 737/176/1 734/173/1 +f 746/183/2 740/184/2 742/185/2 +f 745/186/9 742/187/9 741/188/9 +f 741/188/10 743/189/10 745/186/10 +f 744/190/7 739/191/7 740/184/7 +f 748/192/10 749/193/10 747/194/10 +f 751/195/2 750/196/2 752/197/2 +f 749/198/8 750/199/8 747/200/8 +f 748/192/4 752/201/4 749/198/4 +f 747/194/1 751/195/1 748/192/1 +f 760/202/2 754/203/2 756/204/2 +f 759/205/9 756/206/9 755/207/9 +f 755/207/10 757/208/10 759/205/10 +f 758/209/7 753/210/7 754/203/7 +f 762/211/10 763/212/10 761/213/10 +f 765/214/2 764/215/2 766/216/2 +f 763/217/8 764/218/8 761/219/8 +f 762/211/4 766/220/4 763/217/4 +f 761/213/1 765/214/1 762/211/1 +f 774/221/2 768/222/2 770/223/2 +f 773/224/9 770/225/9 769/226/9 +f 769/226/10 771/227/10 773/224/10 +f 772/228/7 767/229/7 768/222/7 +f 776/230/10 777/231/10 775/232/10 +f 779/233/2 778/234/2 780/235/2 +f 777/236/6 778/237/6 775/238/6 +f 776/230/5 780/239/5 777/236/5 +f 775/232/3 779/233/3 776/230/3 +f 788/240/2 782/241/2 784/242/2 +f 787/243/7 784/244/7 783/245/7 +f 781/246/10 787/243/10 783/245/10 +f 786/247/9 781/246/9 782/241/9 +f 790/248/10 791/249/10 789/250/10 +f 793/251/2 792/252/2 794/253/2 +f 791/254/6 792/255/6 789/256/6 +f 790/248/5 794/257/5 791/254/5 +f 789/250/3 793/251/3 790/248/3 +f 802/258/2 796/259/2 798/260/2 +f 801/261/7 798/262/7 797/263/7 +f 795/264/10 801/261/10 797/263/10 +f 800/265/9 795/264/9 796/259/9 +f 804/266/10 805/267/10 803/268/10 +f 807/269/2 806/270/2 808/271/2 +f 805/272/6 806/273/6 803/274/6 +f 804/266/5 808/275/5 805/272/5 +f 803/268/3 807/269/3 804/266/3 +f 816/276/2 810/277/2 812/278/2 +f 815/279/7 812/280/7 811/281/7 +f 809/282/10 815/279/10 811/281/10 +f 814/283/9 809/282/9 810/277/9 +f 2/1/1 4/4/1 3/2/1 +f 4/4/2 8/6/2 7/5/2 +f 8/6/3 6/284/3 5/7/3 +f 7/5/4 5/285/4 1/8/4 +f 4/4/5 2/286/5 6/9/5 +f 22/10/1 21/24/1 13/11/1 +f 23/13/3 24/23/3 16/14/3 +f 19/16/5 20/37/5 12/17/5 +f 18/19/4 17/41/4 9/20/4 +f 9/22/6 17/44/6 22/10/6 +f 24/23/7 18/19/7 10/21/7 +f 12/17/8 20/37/8 23/13/8 +f 21/24/9 19/16/9 11/18/9 +f 11/18/2 12/17/2 6/25/2 +f 14/27/2 13/29/2 2/26/2 +f 15/30/2 16/33/2 5/31/2 +f 10/32/2 9/34/2 1/28/2 +f 22/10/10 25/287/10 27/35/10 +f 29/36/10 31/288/10 20/37/10 +f 21/24/10 27/289/10 29/38/10 +f 28/39/10 26/290/10 24/23/10 +f 32/40/10 30/291/10 17/41/10 +f 24/23/10 26/292/10 32/42/10 +f 30/43/10 25/293/10 22/10/10 +f 20/37/10 31/294/10 28/45/10 +f 27/46/9 33/59/9 40/47/9 +f 40/47/10 33/295/10 34/296/10 +f 34/296/10 35/297/10 36/49/10 +f 36/49/10 37/298/10 38/50/10 +f 38/50/10 39/62/10 40/47/10 +f 40/47/10 34/296/10 36/49/10 +f 31/51/8 39/62/8 38/52/8 +f 26/54/7 37/57/7 36/55/7 +f 28/53/3 38/52/3 37/57/3 +f 25/58/1 34/61/1 33/59/1 +f 30/60/6 35/299/6 34/61/6 +f 29/48/5 40/47/5 39/62/5 +f 32/56/4 36/55/4 35/63/4 +f 119/71/9 122/74/9 120/72/9 +f 118/65/3 121/68/3 122/74/3 +f 117/67/4 120/69/4 121/68/4 +f 130/75/2 128/82/2 124/76/2 +f 129/78/6 130/300/6 126/79/6 +f 123/81/10 127/301/10 129/78/10 +f 128/82/8 127/301/8 123/81/8 +f 665/89/9 668/92/9 666/90/9 +f 664/83/3 667/86/3 668/92/3 +f 663/85/4 666/87/4 667/86/4 +f 676/93/2 674/100/2 670/94/2 +f 675/96/6 676/302/6 672/97/6 +f 669/99/10 673/303/10 675/96/10 +f 674/100/8 673/303/8 669/99/8 +f 679/107/9 682/110/9 680/108/9 +f 678/101/3 681/104/3 682/110/3 +f 677/103/4 680/105/4 681/104/4 +f 690/111/2 688/118/2 684/112/2 +f 689/114/6 690/304/6 686/115/6 +f 683/117/10 687/305/10 689/114/10 +f 688/118/8 687/305/8 683/117/8 +f 693/125/7 696/128/7 694/126/7 +f 692/119/1 695/122/1 696/128/1 +f 691/121/5 694/123/5 695/122/5 +f 704/129/2 702/136/2 698/130/2 +f 703/132/8 704/306/8 700/133/8 +f 697/135/10 701/307/10 703/132/10 +f 702/136/6 701/307/6 697/135/6 +f 707/143/7 710/146/7 708/144/7 +f 706/137/1 709/140/1 710/146/1 +f 705/139/5 708/141/5 709/140/5 +f 718/147/2 716/154/2 712/148/2 +f 717/150/8 718/308/8 714/151/8 +f 711/153/10 715/309/10 717/150/10 +f 716/154/6 715/309/6 711/153/6 +f 721/161/7 724/164/7 722/162/7 +f 720/155/1 723/158/1 724/164/1 +f 719/157/5 722/159/5 723/158/5 +f 732/165/2 730/172/2 726/166/2 +f 731/168/8 732/310/8 728/169/8 +f 725/171/10 729/311/10 731/168/10 +f 730/172/6 729/311/6 725/171/6 +f 735/179/8 738/182/8 736/180/8 +f 734/173/4 737/176/4 738/182/4 +f 733/175/1 736/177/1 737/176/1 +f 746/183/2 744/190/2 740/184/2 +f 745/186/9 746/312/9 742/187/9 +f 741/188/10 739/191/10 743/189/10 +f 744/190/7 743/189/7 739/191/7 +f 749/198/8 752/201/8 750/199/8 +f 748/192/4 751/195/4 752/201/4 +f 747/194/1 750/196/1 751/195/1 +f 760/202/2 758/209/2 754/203/2 +f 759/205/9 760/313/9 756/206/9 +f 755/207/10 753/210/10 757/208/10 +f 758/209/7 757/208/7 753/210/7 +f 763/217/8 766/220/8 764/218/8 +f 762/211/4 765/214/4 766/220/4 +f 761/213/1 764/215/1 765/214/1 +f 774/221/2 772/228/2 768/222/2 +f 773/224/9 774/314/9 770/225/9 +f 769/226/10 767/229/10 771/227/10 +f 772/228/7 771/227/7 767/229/7 +f 777/236/6 780/239/6 778/237/6 +f 776/230/5 779/233/5 780/239/5 +f 775/232/3 778/234/3 779/233/3 +f 788/240/2 786/247/2 782/241/2 +f 787/243/7 788/315/7 784/244/7 +f 781/246/10 785/316/10 787/243/10 +f 786/247/9 785/316/9 781/246/9 +f 791/254/6 794/257/6 792/255/6 +f 790/248/5 793/251/5 794/257/5 +f 789/250/3 792/252/3 793/251/3 +f 802/258/2 800/265/2 796/259/2 +f 801/261/7 802/317/7 798/262/7 +f 795/264/10 799/318/10 801/261/10 +f 800/265/9 799/318/9 795/264/9 +f 805/272/6 808/275/6 806/273/6 +f 804/266/5 807/269/5 808/275/5 +f 803/268/3 806/270/3 807/269/3 +f 816/276/2 814/283/2 810/277/2 +f 815/279/7 816/319/7 812/280/7 +f 809/282/10 813/320/10 815/279/10 +f 814/283/9 813/320/9 809/282/9 +s 1 +f 41/321/2 56/322/11 48/323/12 +f 47/324/3 54/325/13 46/326/14 +f 45/327/10 52/328/15 44/329/16 +f 43/330/1 50/331/17 42/332/18 +f 48/323/12 55/333/19 47/324/3 +f 46/326/14 53/334/20 45/335/10 +f 44/329/16 51/336/21 43/330/1 +f 42/332/18 49/337/22 41/321/2 +f 51/338/21 58/339/23 50/331/17 +f 55/340/19 63/341/24 62/342/25 +f 51/338/21 60/343/26 59/344/27 +f 50/331/17 57/345/28 49/337/22 +f 56/322/11 57/345/28 63/341/24 +f 55/340/19 61/346/29 54/347/13 +f 63/341/24 64/348/30 70/349/31 +f 62/342/25 68/350/32 61/346/29 +f 58/339/23 66/351/33 65/352/34 +f 63/341/24 69/353/35 62/342/25 +f 59/344/27 67/354/36 66/351/33 +f 58/339/23 64/348/30 57/345/28 +f 52/355/15 53/356/20 60/343/26 +f 60/343/26 53/356/20 67/354/36 +f 54/347/13 61/346/29 53/357/20 +f 61/346/29 68/350/32 53/357/20 +f 68/358/32 78/359/4 53/360/20 +f 70/349/31 72/361/5 77/362/8 +f 53/363/20 74/364/6 67/365/36 +f 69/366/35 76/367/7 68/358/32 +f 66/368/33 71/369/9 65/352/34 +f 70/349/31 75/370/3 69/366/35 +f 67/365/36 73/371/1 66/368/33 +f 65/352/34 72/361/5 64/348/30 +f 79/372/10 94/373/37 86/374/16 +f 85/375/1 92/376/38 84/377/18 +f 83/378/2 90/379/39 82/380/12 +f 81/381/3 88/382/40 80/383/14 +f 86/374/16 93/384/41 85/375/1 +f 84/377/18 91/385/42 83/386/2 +f 82/380/12 89/387/43 81/381/3 +f 80/383/14 87/388/44 79/372/10 +f 89/389/43 96/390/45 88/382/40 +f 93/391/41 101/392/46 100/393/47 +f 89/389/43 98/394/48 97/395/49 +f 88/382/40 95/396/50 87/388/44 +f 94/373/37 95/396/50 101/392/46 +f 93/391/41 99/397/51 92/398/38 +f 101/392/46 102/399/52 108/400/53 +f 99/397/51 107/401/54 106/402/55 +f 97/395/49 103/403/56 96/390/45 +f 100/393/47 108/400/53 107/401/54 +f 98/394/48 104/404/57 97/395/49 +f 96/390/45 102/399/52 95/396/50 +f 90/405/39 91/406/42 98/394/48 +f 98/394/48 91/406/42 105/407/58 +f 92/398/38 99/397/51 91/408/42 +f 99/397/51 106/402/55 91/408/42 +f 106/409/55 116/410/4 91/411/42 +f 108/400/53 110/412/5 115/413/9 +f 91/414/42 112/415/7 105/416/58 +f 107/417/54 114/418/6 106/409/55 +f 104/419/57 109/420/8 103/403/56 +f 108/400/53 113/421/1 107/417/54 +f 105/416/58 111/422/3 104/419/57 +f 103/403/56 110/412/5 102/399/52 +f 166/423/10 159/424/59 167/425/50 +f 165/426/20 156/427/60 157/428/61 +f 170/429/2 155/430/62 163/431/42 +f 171/432/2 186/433/63 178/434/18 +f 177/435/1 184/436/64 176/437/16 +f 175/438/10 182/439/65 174/440/14 +f 173/441/3 180/442/66 172/443/12 +f 178/434/18 185/444/67 177/435/1 +f 176/437/16 183/445/50 175/446/10 +f 174/440/14 181/447/68 173/441/3 +f 172/443/12 179/448/69 171/432/2 +f 180/442/66 189/449/70 188/450/71 +f 186/433/63 192/451/72 185/452/67 +f 181/453/68 190/454/73 189/449/70 +f 180/442/66 187/455/42 179/448/69 +f 186/433/63 187/455/42 193/456/74 +f 185/452/67 191/457/75 184/458/64 +f 193/456/74 194/459/76 200/460/77 +f 192/451/72 198/461/78 191/457/75 +f 188/450/71 196/462/79 195/463/80 +f 193/456/74 199/464/81 192/451/72 +f 190/454/73 196/462/79 189/449/70 +f 188/450/71 194/459/76 187/455/42 +f 182/465/65 183/466/50 190/454/73 +f 190/454/73 183/466/50 197/467/82 +f 184/458/64 191/457/75 183/468/50 +f 191/457/75 198/461/78 183/468/50 +f 198/469/78 208/470/5 183/471/50 +f 200/460/77 202/472/4 207/473/6 +f 183/474/50 204/475/8 197/476/82 +f 199/477/81 206/478/9 198/469/78 +f 196/479/79 201/480/7 195/463/80 +f 200/460/77 205/481/1 199/477/81 +f 197/476/82 203/482/3 196/479/79 +f 195/463/80 202/472/4 194/459/76 +f 222/483/80 215/484/4 223/485/76 +f 220/486/82 214/487/3 221/488/79 +f 217/489/77 212/490/1 218/491/81 +f 221/488/79 216/492/7 222/483/80 +f 218/491/81 211/493/9 219/494/78 +f 234/495/50 213/496/8 220/486/82 +f 217/489/77 215/484/4 210/497/6 +f 219/494/78 209/498/5 234/499/50 +f 226/500/75 219/501/78 234/502/50 +f 233/503/64 226/500/75 234/502/50 +f 227/504/73 234/505/50 220/506/82 +f 235/507/65 234/505/50 227/504/73 +f 229/508/71 223/485/76 230/509/42 +f 228/510/70 220/506/82 221/511/79 +f 224/512/74 218/513/81 225/514/72 +f 229/508/71 221/511/79 222/483/80 +f 225/514/72 219/501/78 226/500/75 +f 230/509/42 217/489/77 224/512/74 +f 232/515/67 226/500/75 233/503/64 +f 238/516/69 224/512/74 231/517/63 +f 237/518/66 230/509/42 238/516/69 +f 236/519/68 227/504/73 228/510/70 +f 231/517/63 225/514/72 232/515/67 +f 237/518/66 228/510/70 229/508/71 +f 245/520/12 238/516/69 246/521/2 +f 243/522/14 236/523/68 244/524/3 +f 241/525/16 234/526/50 242/527/10 +f 239/528/18 232/529/67 240/530/1 +f 244/524/3 237/518/66 245/520/12 +f 242/531/10 235/532/65 243/522/14 +f 240/530/1 233/533/64 241/525/16 +f 246/521/2 231/517/63 239/528/18 +f 260/534/34 253/535/5 261/536/30 +f 258/537/36 252/538/1 259/539/33 +f 255/540/31 250/541/3 256/542/35 +f 259/539/33 254/543/9 260/534/34 +f 256/542/35 249/544/7 257/545/32 +f 272/546/20 251/547/6 258/537/36 +f 255/540/31 253/535/5 248/548/8 +f 257/545/32 247/549/4 272/550/20 +f 264/551/29 257/552/32 272/553/20 +f 271/554/13 264/551/29 272/553/20 +f 265/555/26 272/556/20 258/557/36 +f 273/558/15 272/556/20 265/555/26 +f 267/559/23 261/536/30 268/560/28 +f 266/561/27 258/557/36 259/562/33 +f 262/563/24 256/564/35 263/565/25 +f 267/559/23 259/562/33 260/534/34 +f 263/565/25 257/552/32 264/551/29 +f 268/560/28 255/540/31 262/563/24 +f 270/566/19 264/551/29 271/554/13 +f 269/567/11 268/560/28 262/563/24 +f 275/568/17 268/560/28 276/569/22 +f 274/570/21 265/555/26 266/561/27 +f 270/566/19 262/563/24 263/565/25 +f 274/570/21 267/559/23 275/568/17 +f 283/571/18 276/569/22 284/572/2 +f 281/573/16 274/574/21 282/575/1 +f 279/576/14 272/577/20 280/578/10 +f 277/579/12 270/580/19 278/581/3 +f 282/575/1 275/568/17 283/571/18 +f 280/582/10 273/583/15 281/573/16 +f 278/581/3 271/584/13 279/576/14 +f 284/572/2 269/567/11 277/579/12 +f 168/585/5 161/586/83 169/587/28 +f 163/431/42 156/427/60 164/588/4 +f 165/426/20 158/589/16 166/590/10 +f 167/425/50 160/591/84 168/585/5 +f 169/587/28 162/592/85 170/429/2 +f 161/586/83 152/593/86 153/594/87 +f 155/430/62 149/595/88 156/596/60 +f 160/597/84 151/598/89 152/593/86 +f 161/586/83 154/599/12 162/592/85 +f 155/430/62 154/599/12 148/600/90 +f 157/601/61 149/595/88 150/602/91 +f 148/600/90 147/603/92 141/604/93 +f 149/595/88 143/605/94 150/602/91 +f 152/593/86 146/606/95 153/594/87 +f 149/595/88 141/604/93 142/607/96 +f 152/593/86 144/608/97 145/609/98 +f 153/594/87 147/603/92 154/599/12 +f 159/610/59 158/611/16 151/598/89 +f 151/598/89 158/611/16 144/608/97 +f 157/601/61 150/602/91 158/612/16 +f 150/602/91 143/605/94 158/612/16 +f 143/613/94 133/614/1 158/615/16 +f 141/604/93 139/616/3 134/617/7 +f 158/618/16 137/619/9 144/620/97 +f 142/621/96 135/622/6 143/613/94 +f 145/623/98 140/624/8 146/606/95 +f 141/604/93 136/625/4 142/621/96 +f 144/620/97 138/626/5 145/623/98 +f 146/606/95 139/616/3 147/603/92 +f 132/627/2 298/628/99 290/629/28 +f 289/630/5 296/631/100 288/632/50 +f 287/633/10 294/634/101 286/635/20 +f 285/636/4 292/637/102 131/638/42 +f 290/629/28 297/639/103 289/630/5 +f 288/632/50 295/640/14 287/641/10 +f 286/635/20 293/642/104 285/636/4 +f 131/638/42 291/643/105 132/627/2 +f 292/637/102 301/644/106 300/645/107 +f 298/628/99 304/646/108 297/647/103 +f 294/648/101 301/644/106 293/649/104 +f 291/643/105 300/645/107 299/650/18 +f 298/628/99 299/650/18 305/651/109 +f 296/652/100 304/646/108 303/653/110 +f 305/651/109 306/654/111 312/655/112 +f 304/646/108 310/656/113 303/653/110 +f 301/644/106 307/657/114 300/645/107 +f 304/646/108 312/655/112 311/658/115 +f 301/644/106 309/659/116 308/660/117 +f 300/645/107 306/654/111 299/650/18 +f 294/648/101 295/661/14 302/662/118 +f 302/662/118 295/661/14 309/659/116 +f 296/652/100 303/653/110 295/663/14 +f 303/653/110 310/656/113 295/663/14 +f 310/664/113 320/665/3 295/666/14 +f 312/655/112 314/667/1 319/668/9 +f 295/669/14 316/670/7 309/671/116 +f 311/672/115 318/673/8 310/664/113 +f 308/674/117 313/675/6 307/657/114 +f 312/655/112 317/676/5 311/672/115 +f 309/671/116 315/677/4 308/674/117 +f 307/657/114 314/667/1 306/654/111 +f 334/678/114 327/679/1 335/680/111 +f 332/681/116 326/682/4 333/683/117 +f 329/684/112 324/685/5 330/686/115 +f 333/683/117 328/687/6 334/678/114 +f 330/686/115 323/688/8 331/689/113 +f 346/690/14 325/691/7 332/681/116 +f 329/684/112 327/679/1 322/692/9 +f 331/689/113 321/693/3 346/694/14 +f 338/695/110 331/696/113 346/697/14 +f 345/698/100 338/695/110 346/697/14 +f 339/699/118 346/700/14 332/701/116 +f 347/702/101 346/700/14 339/699/118 +f 341/703/107 335/680/111 342/704/18 +f 340/705/106 332/701/116 333/706/117 +f 337/707/108 329/684/112 330/708/115 +f 340/705/106 334/678/114 341/703/107 +f 337/707/108 331/696/113 338/695/110 +f 336/709/109 335/680/111 329/684/112 +f 344/710/103 338/695/110 345/698/100 +f 350/711/105 336/709/109 343/712/99 +f 350/711/105 341/703/107 342/704/18 +f 348/713/104 339/699/118 340/705/106 +f 343/712/99 337/707/108 344/710/103 +f 349/714/102 340/705/106 341/703/107 +f 357/715/42 350/711/105 358/716/2 +f 355/717/20 348/718/104 356/719/4 +f 353/720/50 346/721/14 354/722/10 +f 351/723/28 344/724/103 352/725/5 +f 356/719/4 349/714/102 357/715/42 +f 354/726/10 347/727/101 355/717/20 +f 352/725/5 345/728/100 353/720/50 +f 351/723/28 350/711/105 343/712/99 +f 372/729/95 365/730/3 373/731/92 +f 370/732/97 364/733/5 371/734/98 +f 367/735/93 362/736/4 368/737/96 +f 371/734/98 366/738/8 372/729/95 +f 368/737/96 361/739/6 369/740/94 +f 384/741/16 363/742/9 370/732/97 +f 367/735/93 365/730/3 360/743/7 +f 369/740/94 359/744/1 384/745/16 +f 376/746/91 369/747/94 384/748/16 +f 383/749/61 376/746/91 384/748/16 +f 377/750/89 384/751/16 370/752/97 +f 385/753/59 384/751/16 377/750/89 +f 379/754/87 373/731/92 380/755/12 +f 378/756/86 370/752/97 371/757/98 +f 375/758/88 367/735/93 368/759/96 +f 378/756/86 372/729/95 379/754/87 +f 375/758/88 369/747/94 376/746/91 +f 374/760/90 373/731/92 367/735/93 +f 383/749/61 375/758/88 376/746/91 +f 381/761/62 380/755/12 374/760/90 +f 387/762/83 380/755/12 388/763/85 +f 386/764/84 377/750/89 378/756/86 +f 381/761/62 375/758/88 382/765/60 +f 387/762/83 378/756/86 379/754/87 +f 395/766/28 388/763/85 396/767/2 +f 393/768/50 386/769/84 394/770/5 +f 391/771/20 384/772/16 392/773/10 +f 389/774/42 382/775/60 390/776/4 +f 394/770/5 387/762/83 395/766/28 +f 392/777/10 385/778/59 393/768/50 +f 390/776/4 383/779/61 391/771/20 +f 396/767/2 381/761/62 389/774/42 +f 397/780/10 412/781/37 404/782/16 +f 403/783/1 410/784/38 402/785/18 +f 401/786/2 408/787/39 400/788/12 +f 399/789/3 406/790/40 398/791/14 +f 404/782/16 411/792/41 403/783/1 +f 402/785/18 409/793/42 401/794/2 +f 400/788/12 407/795/43 399/789/3 +f 398/791/14 405/796/44 397/780/10 +f 407/797/43 414/798/45 406/790/40 +f 411/799/41 419/800/46 418/801/47 +f 407/797/43 416/802/48 415/803/49 +f 406/790/40 413/804/50 405/796/44 +f 412/781/37 413/804/50 419/800/46 +f 411/799/41 417/805/51 410/806/38 +f 419/800/46 420/807/52 426/808/53 +f 417/805/51 425/809/54 424/810/55 +f 415/803/49 421/811/56 414/798/45 +f 418/801/47 426/808/53 425/809/54 +f 416/802/48 422/812/57 415/803/49 +f 414/798/45 420/807/52 413/804/50 +f 408/813/39 409/814/42 416/802/48 +f 416/802/48 409/814/42 423/815/58 +f 410/806/38 417/805/51 409/816/42 +f 417/805/51 424/810/55 409/816/42 +f 424/817/55 434/818/4 409/819/42 +f 426/808/53 428/820/5 433/821/9 +f 409/822/42 430/823/7 423/824/58 +f 425/825/54 432/826/6 424/817/55 +f 422/827/57 427/828/8 421/811/56 +f 426/808/53 431/829/1 425/825/54 +f 423/824/58 429/830/3 422/827/57 +f 421/811/56 428/820/5 420/807/52 +f 435/831/10 450/832/119 442/833/14 +f 441/834/3 448/835/120 440/836/12 +f 439/837/2 446/838/121 438/839/18 +f 437/840/1 444/841/122 436/842/16 +f 442/833/14 449/843/123 441/834/3 +f 440/836/12 447/844/28 439/845/2 +f 438/839/18 445/846/124 437/840/1 +f 436/842/16 443/847/125 435/831/10 +f 445/848/124 452/849/126 444/841/122 +f 450/832/119 456/850/127 449/851/123 +f 445/848/124 454/852/128 453/853/129 +f 444/841/122 451/854/20 443/847/125 +f 443/847/125 457/855/130 450/832/119 +f 449/851/123 455/856/131 448/857/120 +f 457/855/130 458/858/132 464/859/133 +f 456/850/127 462/860/134 455/856/131 +f 453/853/129 459/861/135 452/849/126 +f 456/850/127 464/859/133 463/862/136 +f 453/853/129 461/863/137 460/864/138 +f 452/849/126 458/858/132 451/854/20 +f 446/865/121 447/866/28 454/852/128 +f 454/852/128 447/866/28 461/863/137 +f 448/857/120 455/856/131 447/867/28 +f 455/856/131 462/860/134 447/867/28 +f 462/868/134 472/869/5 447/870/28 +f 464/859/133 466/871/4 471/872/7 +f 447/873/28 468/874/9 461/875/137 +f 463/876/136 470/877/8 462/868/134 +f 460/878/138 465/879/6 459/861/135 +f 464/859/133 469/880/3 463/876/136 +f 461/875/137 467/881/1 460/878/138 +f 459/861/135 466/871/4 458/858/132 +f 473/882/10 488/883/119 480/884/14 +f 479/885/3 486/886/120 478/887/12 +f 477/888/2 484/889/121 476/890/18 +f 475/891/1 482/892/122 474/893/16 +f 480/884/14 487/894/123 479/885/3 +f 477/895/2 486/886/120 485/896/28 +f 476/890/18 483/897/124 475/891/1 +f 474/893/16 481/898/125 473/882/10 +f 483/899/124 490/900/126 482/892/122 +f 488/883/119 494/901/127 487/902/123 +f 483/899/124 492/903/128 491/904/129 +f 481/898/125 490/900/126 489/905/20 +f 488/883/119 489/905/20 495/906/130 +f 487/902/123 493/907/131 486/908/120 +f 495/906/130 496/909/132 502/910/133 +f 494/901/127 500/911/134 493/907/131 +f 491/904/129 497/912/135 490/900/126 +f 494/901/127 502/910/133 501/913/136 +f 491/904/129 499/914/137 498/915/138 +f 490/900/126 496/909/132 489/905/20 +f 484/916/121 485/917/28 492/903/128 +f 492/903/128 485/917/28 499/914/137 +f 486/908/120 493/907/131 485/918/28 +f 493/907/131 500/911/134 485/918/28 +f 500/919/134 510/920/5 485/921/28 +f 502/910/133 504/922/4 509/923/7 +f 485/924/28 506/925/9 499/926/137 +f 501/927/136 508/928/8 500/919/134 +f 498/929/138 503/930/6 497/912/135 +f 502/910/133 507/931/3 501/927/136 +f 498/929/138 506/925/9 505/932/1 +f 497/912/135 504/922/4 496/909/132 +f 511/933/10 526/934/139 518/935/50 +f 517/936/5 524/937/140 516/938/28 +f 515/939/2 522/940/141 514/941/42 +f 513/942/4 520/943/142 512/944/20 +f 518/935/50 525/945/143 517/936/5 +f 516/938/28 523/946/18 515/947/2 +f 514/941/42 521/948/144 513/942/4 +f 512/944/20 519/949/145 511/933/10 +f 521/950/144 528/951/146 520/943/142 +f 525/952/143 533/953/147 532/954/148 +f 521/950/144 530/955/149 529/956/150 +f 519/949/145 528/951/146 527/957/14 +f 519/949/145 533/953/147 526/934/139 +f 525/952/143 531/958/151 524/959/140 +f 533/953/147 534/960/152 540/961/153 +f 532/954/148 538/962/154 531/958/151 +f 528/951/146 536/963/155 535/964/156 +f 533/953/147 539/965/157 532/954/148 +f 530/955/149 536/963/155 529/956/150 +f 528/951/146 534/960/152 527/957/14 +f 522/966/141 523/967/18 530/955/149 +f 530/955/149 523/967/18 537/968/158 +f 524/959/140 531/958/151 523/969/18 +f 531/958/151 538/962/154 523/969/18 +f 538/970/154 548/971/1 523/972/18 +f 540/961/153 542/973/3 547/974/8 +f 523/975/18 544/976/6 537/977/158 +f 539/978/157 546/979/9 538/970/154 +f 536/980/155 541/981/7 535/964/156 +f 540/961/153 545/982/5 539/978/157 +f 537/977/158 543/983/4 536/980/155 +f 535/964/156 542/973/3 534/960/152 +f 549/984/10 564/985/139 556/986/50 +f 555/987/5 562/988/140 554/989/28 +f 553/990/2 560/991/141 552/992/42 +f 551/993/4 558/994/142 550/995/20 +f 556/986/50 563/996/143 555/987/5 +f 554/989/28 561/997/18 553/998/2 +f 552/992/42 559/999/144 551/993/4 +f 550/995/20 557/1000/145 549/984/10 +f 559/1001/144 566/1002/146 558/994/142 +f 564/985/139 570/1003/148 563/1004/143 +f 559/1001/144 568/1005/149 567/1006/150 +f 557/1000/145 566/1002/146 565/1007/14 +f 557/1000/145 571/1008/147 564/985/139 +f 563/1004/143 569/1009/151 562/1010/140 +f 571/1008/147 572/1011/152 578/1012/153 +f 570/1003/148 576/1013/154 569/1009/151 +f 566/1002/146 574/1014/155 573/1015/156 +f 571/1008/147 577/1016/157 570/1003/148 +f 568/1005/149 574/1014/155 567/1006/150 +f 566/1002/146 572/1011/152 565/1007/14 +f 560/1017/141 561/1018/18 568/1005/149 +f 568/1005/149 561/1018/18 575/1019/158 +f 562/1010/140 569/1009/151 561/1020/18 +f 569/1009/151 576/1013/154 561/1020/18 +f 576/1021/154 586/1022/1 561/1023/18 +f 578/1012/153 580/1024/3 585/1025/8 +f 561/1026/18 582/1027/6 575/1028/158 +f 577/1029/157 584/1030/9 576/1021/154 +f 574/1031/155 579/1032/7 573/1015/156 +f 578/1012/153 583/1033/5 577/1029/157 +f 575/1028/158 581/1034/4 574/1031/155 +f 573/1015/156 580/1024/3 572/1011/152 +f 587/1035/10 602/1036/159 594/1037/20 +f 593/1038/4 600/1039/160 592/1040/42 +f 591/1041/2 598/1042/161 590/1043/28 +f 589/1044/5 596/1045/162 588/1046/50 +f 594/1037/20 601/1047/163 593/1038/4 +f 591/1048/2 600/1039/160 599/1049/12 +f 590/1043/28 597/1050/164 589/1044/5 +f 588/1046/50 595/1051/165 587/1035/10 +f 596/1045/162 605/1052/166 604/1053/167 +f 602/1036/159 608/1054/168 601/1055/163 +f 597/1056/164 606/1057/169 605/1052/166 +f 596/1045/162 603/1058/16 595/1051/165 +f 595/1051/165 609/1059/170 602/1036/159 +f 601/1055/163 607/1060/171 600/1061/160 +f 609/1059/170 610/1062/172 616/1063/173 +f 608/1054/168 614/1064/174 607/1060/171 +f 604/1053/167 612/1065/175 611/1066/176 +f 609/1059/170 615/1067/177 608/1054/168 +f 606/1057/169 612/1065/175 605/1052/166 +f 604/1053/167 610/1062/172 603/1058/16 +f 598/1068/161 599/1069/12 606/1057/169 +f 606/1057/169 599/1069/12 613/1070/178 +f 600/1061/160 607/1060/171 599/1071/12 +f 607/1060/171 614/1064/174 599/1071/12 +f 614/1072/174 624/1073/3 599/1074/12 +f 616/1063/173 618/1075/1 623/1076/6 +f 599/1077/12 620/1078/8 613/1079/178 +f 615/1080/177 622/1081/7 614/1072/174 +f 612/1082/175 617/1083/9 611/1066/176 +f 616/1063/173 621/1084/4 615/1080/177 +f 613/1079/178 619/1085/5 612/1082/175 +f 611/1066/176 618/1075/1 610/1062/172 +f 625/1086/10 640/1087/159 632/1088/20 +f 631/1089/4 638/1090/160 630/1091/42 +f 628/1092/28 637/1093/12 636/1094/161 +f 627/1095/5 634/1096/162 626/1097/50 +f 632/1088/20 639/1098/163 631/1089/4 +f 629/1099/2 638/1090/160 637/1100/12 +f 627/1095/5 636/1094/161 635/1101/164 +f 626/1097/50 633/1102/165 625/1086/10 +f 635/1103/164 642/1104/167 634/1096/162 +f 639/1105/163 647/1106/170 646/1107/168 +f 635/1103/164 644/1108/169 643/1109/166 +f 633/1102/165 642/1104/167 641/1110/16 +f 633/1102/165 647/1106/170 640/1087/159 +f 639/1105/163 645/1111/171 638/1112/160 +f 647/1106/170 648/1113/172 654/1114/173 +f 646/1107/168 652/1115/174 645/1111/171 +f 642/1104/167 650/1116/175 649/1117/176 +f 647/1106/170 653/1118/177 646/1107/168 +f 644/1108/169 650/1116/175 643/1109/166 +f 642/1104/167 648/1113/172 641/1110/16 +f 636/1119/161 637/1120/12 644/1108/169 +f 644/1108/169 637/1120/12 651/1121/178 +f 638/1112/160 645/1111/171 637/1122/12 +f 645/1111/171 652/1115/174 637/1122/12 +f 652/1123/174 662/1124/3 637/1125/12 +f 654/1114/173 656/1126/1 661/1127/6 +f 637/1128/12 658/1129/8 651/1130/178 +f 653/1131/177 660/1132/7 652/1123/174 +f 650/1133/175 655/1134/9 649/1117/176 +f 654/1114/173 659/1135/4 653/1131/177 +f 651/1130/178 657/1136/5 650/1133/175 +f 649/1117/176 656/1126/1 648/1113/172 +f 41/321/2 49/337/22 56/322/11 +f 47/324/3 55/333/19 54/325/13 +f 45/327/10 53/1137/20 52/328/15 +f 43/330/1 51/336/21 50/331/17 +f 48/323/12 56/322/11 55/333/19 +f 46/326/14 54/325/13 53/334/20 +f 44/329/16 52/328/15 51/336/21 +f 42/332/18 50/331/17 49/337/22 +f 51/338/21 59/344/27 58/339/23 +f 55/340/19 56/322/11 63/341/24 +f 51/338/21 52/355/15 60/343/26 +f 50/331/17 58/339/23 57/345/28 +f 56/322/11 49/337/22 57/345/28 +f 55/340/19 62/342/25 61/346/29 +f 63/341/24 57/345/28 64/348/30 +f 62/342/25 69/353/35 68/350/32 +f 58/339/23 59/344/27 66/351/33 +f 63/341/24 70/349/31 69/353/35 +f 59/344/27 60/343/26 67/354/36 +f 58/339/23 65/352/34 64/348/30 +f 68/358/32 76/367/7 78/359/4 +f 70/349/31 64/348/30 72/361/5 +f 53/363/20 78/1138/4 74/364/6 +f 69/366/35 75/370/3 76/367/7 +f 66/368/33 73/371/1 71/369/9 +f 70/349/31 77/362/8 75/370/3 +f 67/365/36 74/364/6 73/371/1 +f 65/352/34 71/369/9 72/361/5 +f 79/372/10 87/388/44 94/373/37 +f 85/375/1 93/384/41 92/376/38 +f 83/378/2 91/1139/42 90/379/39 +f 81/381/3 89/387/43 88/382/40 +f 86/374/16 94/373/37 93/384/41 +f 84/377/18 92/376/38 91/385/42 +f 82/380/12 90/379/39 89/387/43 +f 80/383/14 88/382/40 87/388/44 +f 89/389/43 97/395/49 96/390/45 +f 93/391/41 94/373/37 101/392/46 +f 89/389/43 90/405/39 98/394/48 +f 88/382/40 96/390/45 95/396/50 +f 94/373/37 87/388/44 95/396/50 +f 93/391/41 100/393/47 99/397/51 +f 101/392/46 95/396/50 102/399/52 +f 99/397/51 100/393/47 107/401/54 +f 97/395/49 104/404/57 103/403/56 +f 100/393/47 101/392/46 108/400/53 +f 98/394/48 105/407/58 104/404/57 +f 96/390/45 103/403/56 102/399/52 +f 106/409/55 114/418/6 116/410/4 +f 108/400/53 102/399/52 110/412/5 +f 91/414/42 116/1140/4 112/415/7 +f 107/417/54 113/421/1 114/418/6 +f 104/419/57 111/422/3 109/420/8 +f 108/400/53 115/413/9 113/421/1 +f 105/416/58 112/415/7 111/422/3 +f 103/403/56 109/420/8 110/412/5 +f 166/423/10 158/1141/16 159/424/59 +f 165/426/20 164/588/4 156/427/60 +f 170/429/2 162/592/85 155/430/62 +f 171/432/2 179/448/69 186/433/63 +f 177/435/1 185/444/67 184/436/64 +f 175/438/10 183/1142/50 182/439/65 +f 173/441/3 181/447/68 180/442/66 +f 178/434/18 186/433/63 185/444/67 +f 176/437/16 184/436/64 183/445/50 +f 174/440/14 182/439/65 181/447/68 +f 172/443/12 180/442/66 179/448/69 +f 180/442/66 181/453/68 189/449/70 +f 186/433/63 193/456/74 192/451/72 +f 181/453/68 182/465/65 190/454/73 +f 180/442/66 188/450/71 187/455/42 +f 186/433/63 179/448/69 187/455/42 +f 185/452/67 192/451/72 191/457/75 +f 193/456/74 187/455/42 194/459/76 +f 192/451/72 199/464/81 198/461/78 +f 188/450/71 189/449/70 196/462/79 +f 193/456/74 200/460/77 199/464/81 +f 190/454/73 197/467/82 196/462/79 +f 188/450/71 195/463/80 194/459/76 +f 198/469/78 206/478/9 208/470/5 +f 200/460/77 194/459/76 202/472/4 +f 183/474/50 208/1143/5 204/475/8 +f 199/477/81 205/481/1 206/478/9 +f 196/479/79 203/482/3 201/480/7 +f 200/460/77 207/473/6 205/481/1 +f 197/476/82 204/475/8 203/482/3 +f 195/463/80 201/480/7 202/472/4 +f 222/483/80 216/492/7 215/484/4 +f 220/486/82 213/496/8 214/487/3 +f 217/489/77 210/497/6 212/490/1 +f 221/488/79 214/487/3 216/492/7 +f 218/491/81 212/490/1 211/493/9 +f 234/495/50 209/1144/5 213/496/8 +f 217/489/77 223/485/76 215/484/4 +f 219/494/78 211/493/9 209/498/5 +f 229/508/71 222/483/80 223/485/76 +f 228/510/70 227/504/73 220/506/82 +f 224/512/74 217/489/77 218/513/81 +f 229/508/71 228/510/70 221/511/79 +f 225/514/72 218/513/81 219/501/78 +f 230/509/42 223/485/76 217/489/77 +f 232/515/67 225/514/72 226/500/75 +f 238/516/69 230/509/42 224/512/74 +f 237/518/66 229/508/71 230/509/42 +f 236/519/68 235/507/65 227/504/73 +f 231/517/63 224/512/74 225/514/72 +f 237/518/66 236/519/68 228/510/70 +f 245/520/12 237/518/66 238/516/69 +f 243/522/14 235/532/65 236/523/68 +f 241/525/16 233/533/64 234/526/50 +f 239/528/18 231/517/63 232/529/67 +f 244/524/3 236/523/68 237/518/66 +f 242/531/10 234/1145/50 235/532/65 +f 240/530/1 232/529/67 233/533/64 +f 246/521/2 238/516/69 231/517/63 +f 260/534/34 254/543/9 253/535/5 +f 258/537/36 251/547/6 252/538/1 +f 255/540/31 248/548/8 250/541/3 +f 259/539/33 252/538/1 254/543/9 +f 256/542/35 250/541/3 249/544/7 +f 272/546/20 247/1146/4 251/547/6 +f 255/540/31 261/536/30 253/535/5 +f 257/545/32 249/544/7 247/549/4 +f 267/559/23 260/534/34 261/536/30 +f 266/561/27 265/555/26 258/557/36 +f 262/563/24 255/540/31 256/564/35 +f 267/559/23 266/561/27 259/562/33 +f 263/565/25 256/564/35 257/552/32 +f 268/560/28 261/536/30 255/540/31 +f 270/566/19 263/565/25 264/551/29 +f 269/567/11 276/569/22 268/560/28 +f 275/568/17 267/559/23 268/560/28 +f 274/570/21 273/558/15 265/555/26 +f 270/566/19 269/567/11 262/563/24 +f 274/570/21 266/561/27 267/559/23 +f 283/571/18 275/568/17 276/569/22 +f 281/573/16 273/583/15 274/574/21 +f 279/576/14 271/584/13 272/577/20 +f 277/579/12 269/567/11 270/580/19 +f 282/575/1 274/574/21 275/568/17 +f 280/582/10 272/1147/20 273/583/15 +f 278/581/3 270/580/19 271/584/13 +f 284/572/2 276/569/22 269/567/11 +f 168/585/5 160/591/84 161/586/83 +f 163/431/42 155/430/62 156/427/60 +f 165/426/20 157/428/61 158/589/16 +f 167/425/50 159/424/59 160/591/84 +f 169/587/28 161/586/83 162/592/85 +f 161/586/83 160/597/84 152/593/86 +f 155/430/62 148/600/90 149/595/88 +f 160/597/84 159/610/59 151/598/89 +f 161/586/83 153/594/87 154/599/12 +f 155/430/62 162/592/85 154/599/12 +f 157/601/61 156/596/60 149/595/88 +f 148/600/90 154/599/12 147/603/92 +f 149/595/88 142/607/96 143/605/94 +f 152/593/86 145/609/98 146/606/95 +f 149/595/88 148/600/90 141/604/93 +f 152/593/86 151/598/89 144/608/97 +f 153/594/87 146/606/95 147/603/92 +f 143/613/94 135/622/6 133/614/1 +f 141/604/93 147/603/92 139/616/3 +f 158/618/16 133/1148/1 137/619/9 +f 142/621/96 136/625/4 135/622/6 +f 145/623/98 138/626/5 140/624/8 +f 141/604/93 134/617/7 136/625/4 +f 144/620/97 137/619/9 138/626/5 +f 146/606/95 140/624/8 139/616/3 +f 132/627/2 291/643/105 298/628/99 +f 289/630/5 297/639/103 296/631/100 +f 287/633/10 295/1149/14 294/634/101 +f 285/636/4 293/642/104 292/637/102 +f 290/629/28 298/628/99 297/639/103 +f 288/632/50 296/631/100 295/640/14 +f 286/635/20 294/634/101 293/642/104 +f 131/638/42 292/637/102 291/643/105 +f 292/637/102 293/649/104 301/644/106 +f 298/628/99 305/651/109 304/646/108 +f 294/648/101 302/662/118 301/644/106 +f 291/643/105 292/637/102 300/645/107 +f 298/628/99 291/643/105 299/650/18 +f 296/652/100 297/647/103 304/646/108 +f 305/651/109 299/650/18 306/654/111 +f 304/646/108 311/658/115 310/656/113 +f 301/644/106 308/660/117 307/657/114 +f 304/646/108 305/651/109 312/655/112 +f 301/644/106 302/662/118 309/659/116 +f 300/645/107 307/657/114 306/654/111 +f 310/664/113 318/673/8 320/665/3 +f 312/655/112 306/654/111 314/667/1 +f 295/669/14 320/1150/3 316/670/7 +f 311/672/115 317/676/5 318/673/8 +f 308/674/117 315/677/4 313/675/6 +f 312/655/112 319/668/9 317/676/5 +f 309/671/116 316/670/7 315/677/4 +f 307/657/114 313/675/6 314/667/1 +f 334/678/114 328/687/6 327/679/1 +f 332/681/116 325/691/7 326/682/4 +f 329/684/112 322/692/9 324/685/5 +f 333/683/117 326/682/4 328/687/6 +f 330/686/115 324/685/5 323/688/8 +f 346/690/14 321/1151/3 325/691/7 +f 329/684/112 335/680/111 327/679/1 +f 331/689/113 323/688/8 321/693/3 +f 341/703/107 334/678/114 335/680/111 +f 340/705/106 339/699/118 332/701/116 +f 337/707/108 336/709/109 329/684/112 +f 340/705/106 333/706/117 334/678/114 +f 337/707/108 330/708/115 331/696/113 +f 336/709/109 342/704/18 335/680/111 +f 344/710/103 337/707/108 338/695/110 +f 350/711/105 342/704/18 336/709/109 +f 350/711/105 349/714/102 341/703/107 +f 348/713/104 347/702/101 339/699/118 +f 343/712/99 336/709/109 337/707/108 +f 349/714/102 348/713/104 340/705/106 +f 357/715/42 349/714/102 350/711/105 +f 355/717/20 347/727/101 348/718/104 +f 353/720/50 345/728/100 346/721/14 +f 351/723/28 343/712/99 344/724/103 +f 356/719/4 348/718/104 349/714/102 +f 354/726/10 346/1152/14 347/727/101 +f 352/725/5 344/724/103 345/728/100 +f 351/723/28 358/716/2 350/711/105 +f 372/729/95 366/738/8 365/730/3 +f 370/732/97 363/742/9 364/733/5 +f 367/735/93 360/743/7 362/736/4 +f 371/734/98 364/733/5 366/738/8 +f 368/737/96 362/736/4 361/739/6 +f 384/741/16 359/1153/1 363/742/9 +f 367/735/93 373/731/92 365/730/3 +f 369/740/94 361/739/6 359/744/1 +f 379/754/87 372/729/95 373/731/92 +f 378/756/86 377/750/89 370/752/97 +f 375/758/88 374/760/90 367/735/93 +f 378/756/86 371/757/98 372/729/95 +f 375/758/88 368/759/96 369/747/94 +f 374/760/90 380/755/12 373/731/92 +f 383/749/61 382/765/60 375/758/88 +f 381/761/62 388/763/85 380/755/12 +f 387/762/83 379/754/87 380/755/12 +f 386/764/84 385/753/59 377/750/89 +f 381/761/62 374/760/90 375/758/88 +f 387/762/83 386/764/84 378/756/86 +f 395/766/28 387/762/83 388/763/85 +f 393/768/50 385/778/59 386/769/84 +f 391/771/20 383/779/61 384/772/16 +f 389/774/42 381/761/62 382/775/60 +f 394/770/5 386/769/84 387/762/83 +f 392/777/10 384/1154/16 385/778/59 +f 390/776/4 382/775/60 383/779/61 +f 396/767/2 388/763/85 381/761/62 +f 397/780/10 405/796/44 412/781/37 +f 403/783/1 411/792/41 410/784/38 +f 401/786/2 409/1155/42 408/787/39 +f 399/789/3 407/795/43 406/790/40 +f 404/782/16 412/781/37 411/792/41 +f 402/785/18 410/784/38 409/793/42 +f 400/788/12 408/787/39 407/795/43 +f 398/791/14 406/790/40 405/796/44 +f 407/797/43 415/803/49 414/798/45 +f 411/799/41 412/781/37 419/800/46 +f 407/797/43 408/813/39 416/802/48 +f 406/790/40 414/798/45 413/804/50 +f 412/781/37 405/796/44 413/804/50 +f 411/799/41 418/801/47 417/805/51 +f 419/800/46 413/804/50 420/807/52 +f 417/805/51 418/801/47 425/809/54 +f 415/803/49 422/812/57 421/811/56 +f 418/801/47 419/800/46 426/808/53 +f 416/802/48 423/815/58 422/812/57 +f 414/798/45 421/811/56 420/807/52 +f 424/817/55 432/826/6 434/818/4 +f 426/808/53 420/807/52 428/820/5 +f 409/822/42 434/1156/4 430/823/7 +f 425/825/54 431/829/1 432/826/6 +f 422/827/57 429/830/3 427/828/8 +f 426/808/53 433/821/9 431/829/1 +f 423/824/58 430/823/7 429/830/3 +f 421/811/56 427/828/8 428/820/5 +f 435/831/10 443/847/125 450/832/119 +f 441/834/3 449/843/123 448/835/120 +f 439/837/2 447/1157/28 446/838/121 +f 437/840/1 445/846/124 444/841/122 +f 442/833/14 450/832/119 449/843/123 +f 440/836/12 448/835/120 447/844/28 +f 438/839/18 446/838/121 445/846/124 +f 436/842/16 444/841/122 443/847/125 +f 445/848/124 453/853/129 452/849/126 +f 450/832/119 457/855/130 456/850/127 +f 445/848/124 446/865/121 454/852/128 +f 444/841/122 452/849/126 451/854/20 +f 443/847/125 451/854/20 457/855/130 +f 449/851/123 456/850/127 455/856/131 +f 457/855/130 451/854/20 458/858/132 +f 456/850/127 463/862/136 462/860/134 +f 453/853/129 460/864/138 459/861/135 +f 456/850/127 457/855/130 464/859/133 +f 453/853/129 454/852/128 461/863/137 +f 452/849/126 459/861/135 458/858/132 +f 462/868/134 470/877/8 472/869/5 +f 464/859/133 458/858/132 466/871/4 +f 447/873/28 472/1158/5 468/874/9 +f 463/876/136 469/880/3 470/877/8 +f 460/878/138 467/881/1 465/879/6 +f 464/859/133 471/872/7 469/880/3 +f 461/875/137 468/874/9 467/881/1 +f 459/861/135 465/879/6 466/871/4 +f 473/882/10 481/898/125 488/883/119 +f 479/885/3 487/894/123 486/886/120 +f 477/888/2 485/1159/28 484/889/121 +f 475/891/1 483/897/124 482/892/122 +f 480/884/14 488/883/119 487/894/123 +f 477/895/2 478/887/12 486/886/120 +f 476/890/18 484/889/121 483/897/124 +f 474/893/16 482/892/122 481/898/125 +f 483/899/124 491/904/129 490/900/126 +f 488/883/119 495/906/130 494/901/127 +f 483/899/124 484/916/121 492/903/128 +f 481/898/125 482/892/122 490/900/126 +f 488/883/119 481/898/125 489/905/20 +f 487/902/123 494/901/127 493/907/131 +f 495/906/130 489/905/20 496/909/132 +f 494/901/127 501/913/136 500/911/134 +f 491/904/129 498/915/138 497/912/135 +f 494/901/127 495/906/130 502/910/133 +f 491/904/129 492/903/128 499/914/137 +f 490/900/126 497/912/135 496/909/132 +f 500/919/134 508/928/8 510/920/5 +f 502/910/133 496/909/132 504/922/4 +f 485/924/28 510/1160/5 506/925/9 +f 501/927/136 507/931/3 508/928/8 +f 498/929/138 505/932/1 503/930/6 +f 502/910/133 509/923/7 507/931/3 +f 498/929/138 499/926/137 506/925/9 +f 497/912/135 503/930/6 504/922/4 +f 511/933/10 519/949/145 526/934/139 +f 517/936/5 525/945/143 524/937/140 +f 515/939/2 523/1161/18 522/940/141 +f 513/942/4 521/948/144 520/943/142 +f 518/935/50 526/934/139 525/945/143 +f 516/938/28 524/937/140 523/946/18 +f 514/941/42 522/940/141 521/948/144 +f 512/944/20 520/943/142 519/949/145 +f 521/950/144 529/956/150 528/951/146 +f 525/952/143 526/934/139 533/953/147 +f 521/950/144 522/966/141 530/955/149 +f 519/949/145 520/943/142 528/951/146 +f 519/949/145 527/957/14 533/953/147 +f 525/952/143 532/954/148 531/958/151 +f 533/953/147 527/957/14 534/960/152 +f 532/954/148 539/965/157 538/962/154 +f 528/951/146 529/956/150 536/963/155 +f 533/953/147 540/961/153 539/965/157 +f 530/955/149 537/968/158 536/963/155 +f 528/951/146 535/964/156 534/960/152 +f 538/970/154 546/979/9 548/971/1 +f 540/961/153 534/960/152 542/973/3 +f 523/975/18 548/1162/1 544/976/6 +f 539/978/157 545/982/5 546/979/9 +f 536/980/155 543/983/4 541/981/7 +f 540/961/153 547/974/8 545/982/5 +f 537/977/158 544/976/6 543/983/4 +f 535/964/156 541/981/7 542/973/3 +f 549/984/10 557/1000/145 564/985/139 +f 555/987/5 563/996/143 562/988/140 +f 553/990/2 561/1163/18 560/991/141 +f 551/993/4 559/999/144 558/994/142 +f 556/986/50 564/985/139 563/996/143 +f 554/989/28 562/988/140 561/997/18 +f 552/992/42 560/991/141 559/999/144 +f 550/995/20 558/994/142 557/1000/145 +f 559/1001/144 567/1006/150 566/1002/146 +f 564/985/139 571/1008/147 570/1003/148 +f 559/1001/144 560/1017/141 568/1005/149 +f 557/1000/145 558/994/142 566/1002/146 +f 557/1000/145 565/1007/14 571/1008/147 +f 563/1004/143 570/1003/148 569/1009/151 +f 571/1008/147 565/1007/14 572/1011/152 +f 570/1003/148 577/1016/157 576/1013/154 +f 566/1002/146 567/1006/150 574/1014/155 +f 571/1008/147 578/1012/153 577/1016/157 +f 568/1005/149 575/1019/158 574/1014/155 +f 566/1002/146 573/1015/156 572/1011/152 +f 576/1021/154 584/1030/9 586/1022/1 +f 578/1012/153 572/1011/152 580/1024/3 +f 561/1026/18 586/1164/1 582/1027/6 +f 577/1029/157 583/1033/5 584/1030/9 +f 574/1031/155 581/1034/4 579/1032/7 +f 578/1012/153 585/1025/8 583/1033/5 +f 575/1028/158 582/1027/6 581/1034/4 +f 573/1015/156 579/1032/7 580/1024/3 +f 587/1035/10 595/1051/165 602/1036/159 +f 593/1038/4 601/1047/163 600/1039/160 +f 591/1041/2 599/1165/12 598/1042/161 +f 589/1044/5 597/1050/164 596/1045/162 +f 594/1037/20 602/1036/159 601/1047/163 +f 591/1048/2 592/1040/42 600/1039/160 +f 590/1043/28 598/1042/161 597/1050/164 +f 588/1046/50 596/1045/162 595/1051/165 +f 596/1045/162 597/1056/164 605/1052/166 +f 602/1036/159 609/1059/170 608/1054/168 +f 597/1056/164 598/1068/161 606/1057/169 +f 596/1045/162 604/1053/167 603/1058/16 +f 595/1051/165 603/1058/16 609/1059/170 +f 601/1055/163 608/1054/168 607/1060/171 +f 609/1059/170 603/1058/16 610/1062/172 +f 608/1054/168 615/1067/177 614/1064/174 +f 604/1053/167 605/1052/166 612/1065/175 +f 609/1059/170 616/1063/173 615/1067/177 +f 606/1057/169 613/1070/178 612/1065/175 +f 604/1053/167 611/1066/176 610/1062/172 +f 614/1072/174 622/1081/7 624/1073/3 +f 616/1063/173 610/1062/172 618/1075/1 +f 599/1077/12 624/1166/3 620/1078/8 +f 615/1080/177 621/1084/4 622/1081/7 +f 612/1082/175 619/1085/5 617/1083/9 +f 616/1063/173 623/1076/6 621/1084/4 +f 613/1079/178 620/1078/8 619/1085/5 +f 611/1066/176 617/1083/9 618/1075/1 +f 625/1086/10 633/1102/165 640/1087/159 +f 631/1089/4 639/1098/163 638/1090/160 +f 628/1092/28 629/1167/2 637/1093/12 +f 627/1095/5 635/1101/164 634/1096/162 +f 632/1088/20 640/1087/159 639/1098/163 +f 629/1099/2 630/1091/42 638/1090/160 +f 627/1095/5 628/1092/28 636/1094/161 +f 626/1097/50 634/1096/162 633/1102/165 +f 635/1103/164 643/1109/166 642/1104/167 +f 639/1105/163 640/1087/159 647/1106/170 +f 635/1103/164 636/1119/161 644/1108/169 +f 633/1102/165 634/1096/162 642/1104/167 +f 633/1102/165 641/1110/16 647/1106/170 +f 639/1105/163 646/1107/168 645/1111/171 +f 647/1106/170 641/1110/16 648/1113/172 +f 646/1107/168 653/1118/177 652/1115/174 +f 642/1104/167 643/1109/166 650/1116/175 +f 647/1106/170 654/1114/173 653/1118/177 +f 644/1108/169 651/1121/178 650/1116/175 +f 642/1104/167 649/1117/176 648/1113/172 +f 652/1123/174 660/1132/7 662/1124/3 +f 654/1114/173 648/1113/172 656/1126/1 +f 637/1128/12 662/1168/3 658/1129/8 +f 653/1131/177 659/1135/4 660/1132/7 +f 650/1133/175 657/1136/5 655/1134/9 +f 654/1114/173 661/1127/6 659/1135/4 +f 651/1130/178 658/1129/8 657/1136/5 +f 649/1117/176 655/1134/9 656/1126/1 diff --git a/src/main/resources/assets/hbm/models/reactors/breeder.obj b/src/main/resources/assets/hbm/models/reactors/breeder.obj index a4ad944b5..44261e883 100644 --- a/src/main/resources/assets/hbm/models/reactors/breeder.obj +++ b/src/main/resources/assets/hbm/models/reactors/breeder.obj @@ -1,2210 +1,1135 @@ -# Blender v2.79 (sub 0) OBJ File: 'breeder_sten.blend' +# Blender v2.79 (sub 7) OBJ File: 'breeding_reactor.blend' # www.blender.org -o Cube.005_Cube.010 -v 0.000000 4.255250 -0.950000 -v 0.000000 5.155250 -0.950000 -v 0.363549 5.155250 -0.877686 -v 0.363549 4.255250 -0.877686 -v 0.671751 5.155250 -0.671751 -v 0.671751 4.255250 -0.671751 -v 0.877686 5.155250 -0.363549 -v 0.877686 4.255250 -0.363549 -v 0.950000 5.155250 0.000000 -v 0.950000 4.255250 0.000000 -v 0.877686 5.155250 0.363549 -v 0.877686 4.255250 0.363549 -v 0.671751 5.155250 0.671751 -v 0.671751 4.255250 0.671751 -v 0.363549 5.155250 0.877686 -v 0.363549 4.255250 0.877686 -v 0.000000 5.155250 0.950000 -v 0.000000 4.255250 0.950000 -v -0.363549 5.155250 0.877686 -v -0.363549 4.255250 0.877686 -v -0.671751 5.155250 0.671752 -v -0.671751 4.255250 0.671752 -v -0.877686 5.155250 0.363549 -v -0.877686 4.255250 0.363549 -v -0.950000 5.155250 0.000000 -v -0.950000 4.255250 0.000000 -v -0.877686 5.155250 -0.363549 -v -0.877686 4.255250 -0.363549 -v -0.671751 5.155250 -0.671752 -v -0.671751 4.255250 -0.671752 -v -0.363549 5.155250 -0.877686 -v -0.363549 4.255250 -0.877686 -v -0.363549 1.555250 -0.877686 -v -0.363549 3.355250 -0.877686 -v 0.000000 3.355250 -0.950000 -v 0.000000 1.555250 -0.950000 -v -0.671751 1.555250 -0.671752 -v -0.671751 3.355250 -0.671752 -v -0.877686 1.555250 -0.363549 -v -0.877686 3.355250 -0.363549 -v -0.950000 1.555250 -0.000000 -v -0.950000 3.355250 0.000000 -v -0.877686 1.555250 0.363549 -v -0.877686 3.355250 0.363549 -v -0.671751 1.555250 0.671752 -v -0.671751 3.355250 0.671752 -v -0.363549 1.555250 0.877686 -v -0.363549 3.355250 0.877686 -v 0.000000 1.555250 0.950000 -v 0.000000 3.355250 0.950000 -v 0.363549 1.555250 0.877686 -v 0.363549 3.355250 0.877686 -v 0.671751 1.555250 0.671751 -v 0.671751 3.355250 0.671751 -v 0.877686 1.555250 0.363549 -v 0.877686 3.355250 0.363549 -v 0.950000 1.555250 -0.000000 -v 0.950000 3.355250 0.000000 -v 0.877686 1.555250 -0.363549 -v 0.877686 3.355250 -0.363549 -v 0.671751 1.555250 -0.671751 -v 0.671751 3.355250 -0.671751 -v 0.363549 1.555250 -0.877686 -v 0.363549 3.355250 -0.877686 -v -0.363549 1.001880 0.877686 -v -0.671751 1.001880 0.671752 -v -0.753880 0.481491 0.312268 -v -0.576995 0.481491 0.576995 -v -0.363549 1.001880 -0.877686 -v 0.000000 1.001880 -0.950000 -v -0.312267 0.481491 0.753880 -v 0.000000 0.481491 0.815994 -v 0.671751 1.001880 -0.671751 -v 0.877686 1.001880 -0.363549 -v 0.312267 0.481491 0.753880 -v 0.576995 0.481491 0.576995 -v -0.877686 1.001880 0.363549 -v 0.753880 0.481491 0.312268 -v 0.950000 1.001880 -0.000000 -v 0.815994 0.481491 -0.000000 -v -0.950000 1.001880 -0.000000 -v 0.753880 0.481491 -0.312267 -v 0.877686 1.001880 0.363549 -v 0.576995 0.481491 -0.576995 -v -0.877686 1.001880 -0.363549 -v 0.000000 0.481491 -0.815994 -v 0.671751 1.001880 0.671751 -v 0.312267 0.481491 -0.753880 -v -0.671751 1.001880 -0.671752 -v -0.753880 0.710770 -0.312268 -v 0.363549 1.001880 0.877686 -v -0.576995 0.710770 -0.576995 -v 0.000000 1.001880 0.950000 -v -0.576995 0.481491 -0.576995 -v 0.877686 5.844361 -0.363549 -v 0.950000 5.844361 0.000000 -v 0.143202 0.277469 -0.345720 -v 0.264602 0.277469 -0.264602 -v 0.345720 0.277469 -0.143202 -v 0.374204 0.277469 -0.000000 -v 0.345720 0.277469 0.143202 -v 0.264603 0.277469 0.264602 -v 0.143202 0.277469 0.345720 -v 0.000000 0.277469 0.374204 -v -0.143202 0.277469 0.345720 -v -0.264602 0.277469 0.264602 -v -0.345720 0.277469 0.143202 -v -0.374204 0.277469 -0.000000 -v -0.345720 0.277469 -0.143202 -v -0.264602 0.277469 -0.264602 -v -0.143202 0.277469 -0.345720 -v 0.000000 0.277469 -0.374204 -v 0.363549 1.001880 -0.877686 -v -0.753880 0.481491 -0.312268 -v 0.877686 5.844361 0.363549 -v 0.671751 5.844361 0.671751 -v 0.363549 5.844361 0.877686 -v 0.000000 5.844361 0.950000 -v -0.363549 5.844361 0.877686 -v -0.671751 5.844361 0.671752 -v -0.877685 5.844361 -0.363549 -v -0.671751 5.844361 -0.671752 -v -0.363549 5.844361 -0.877686 -v 0.000000 5.844361 -0.950000 -v -0.950000 5.844361 0.000000 -v -0.877686 5.844361 0.363549 -v -0.877686 5.475793 0.363549 -v -0.950000 5.475793 0.000000 -v -0.049497 0.760250 -0.049497 -v 0.000000 0.760250 -0.070000 -v 0.070000 0.760250 -0.000000 -v 0.049497 0.760250 0.049497 -v 0.000000 0.760250 0.070000 -v -0.049497 0.760250 0.049497 -v -0.070000 0.760250 -0.000000 -v 0.049497 0.760250 -0.049497 -v 0.000000 6.262662 -0.053589 -v 0.037893 6.262662 -0.037893 -v 0.053589 6.262662 0.000000 -v 0.037893 6.262662 0.037893 -v 0.000000 6.262662 0.053589 -v -0.037893 6.262662 0.037893 -v -0.053589 6.262662 0.000000 -v -0.037893 6.262662 -0.037893 -v 0.340478 0.760250 0.340503 -v 0.389975 0.760250 0.320000 -v 0.459975 0.760250 0.390000 -v 0.439473 0.760250 0.439497 -v 0.389975 0.760250 0.460000 -v 0.340478 0.760250 0.439497 -v 0.319975 0.760250 0.390000 -v 0.439473 0.760250 0.340503 -v 0.389975 6.262662 0.336411 -v 0.427868 6.262662 0.352107 -v 0.443564 6.262662 0.390000 -v 0.427868 6.262662 0.427893 -v 0.389975 6.262662 0.443589 -v 0.352082 6.262662 0.427893 -v 0.336386 6.262662 0.390000 -v 0.352082 6.262662 0.352107 -v 0.340503 0.760250 -0.439497 -v 0.390000 0.760250 -0.460000 -v 0.460000 0.760250 -0.390000 -v 0.439497 0.760250 -0.340503 -v 0.390000 0.760250 -0.320000 -v 0.340503 0.760250 -0.340503 -v 0.320000 0.760250 -0.390000 -v 0.439497 0.760250 -0.439497 -v 0.390000 6.262662 -0.443589 -v 0.427893 6.262662 -0.427893 -v 0.443589 6.262662 -0.390000 -v 0.427893 6.262662 -0.352107 -v 0.390000 6.262662 -0.336411 -v 0.352107 6.262662 -0.352107 -v 0.336411 6.262662 -0.390000 -v 0.352107 6.262662 -0.427893 -v -0.439497 0.760250 0.340503 -v -0.390000 0.760250 0.320000 -v -0.320000 0.760250 0.390000 -v -0.340503 0.760250 0.439497 -v -0.390000 0.760250 0.460000 -v -0.439497 0.760250 0.439497 -v -0.460000 0.760250 0.390000 -v -0.340503 0.760250 0.340503 -v -0.390000 6.262662 0.336411 -v -0.352107 6.262662 0.352107 -v -0.336411 6.262662 0.390000 -v -0.352107 6.262662 0.427893 -v -0.390000 6.262662 0.443589 -v -0.427893 6.262662 0.427893 -v -0.443589 6.262662 0.390000 -v -0.427893 6.262662 0.352107 -v -0.439497 0.760250 -0.439497 -v -0.390000 0.760250 -0.460000 -v -0.320000 0.760250 -0.390000 -v -0.340503 0.760250 -0.340503 -v -0.390000 0.760250 -0.320000 -v -0.439497 0.760250 -0.340503 -v -0.460000 0.760250 -0.390000 -v -0.340503 0.760250 -0.439497 -v -0.390000 6.262662 -0.443589 -v -0.352107 6.262662 -0.427893 -v -0.336411 6.262662 -0.390000 -v -0.352107 6.262662 -0.352107 -v -0.390000 6.262662 -0.336411 -v -0.427893 6.262662 -0.352107 -v -0.443589 6.262662 -0.390000 -v -0.427893 6.262662 -0.427893 -v -0.950000 5.475793 0.000000 -v -0.877686 5.475793 0.363549 -v -0.877686 5.844361 0.363549 -v -0.950000 5.844361 0.000000 -v 0.000000 5.844361 -0.950000 -v -0.363549 5.844361 -0.877686 -v -0.671751 5.844361 -0.671752 -v -0.877685 5.844361 -0.363549 -v -0.671751 5.844361 0.671752 -v -0.363549 5.844361 0.877686 -v 0.000000 5.844361 0.950000 -v 0.363549 5.844361 0.877686 -v 0.671751 5.844361 0.671751 -v 0.877686 5.844361 0.363549 -v 0.950000 5.844361 0.000000 -v 0.877686 5.844361 -0.363549 -v 0.671751 5.844361 -0.671751 -v 0.363549 5.844361 -0.877686 -v 0.877686 5.475793 0.363549 -v 0.950000 5.475793 0.000000 -v -0.671751 5.475793 0.671752 -v -0.363549 5.475793 0.877686 -v -0.363549 5.475793 -0.877686 -v -0.671751 5.475793 -0.671752 -v 0.877686 5.475793 -0.363549 -v 0.671751 5.475793 -0.671751 -v 0.000000 5.475793 0.950000 -v 0.363549 5.475793 0.877686 -v -0.877686 5.475793 -0.363549 -v 0.363549 5.475793 -0.877686 -v 0.000000 5.475793 -0.950000 -v 0.671751 5.475793 0.671751 -v 0.990000 5.685250 0.990000 -v 0.990000 5.685250 0.850000 -v -0.850000 5.685250 -0.990000 -v 0.990000 5.685250 -0.990000 -v 0.850000 5.685250 0.850000 -v 0.850000 5.685250 0.990000 -v -0.850000 5.685250 -0.850000 -v 0.990000 5.685250 -0.850000 -v -0.990000 5.685250 -0.990000 -v -0.990000 5.685250 -0.850000 -v 0.850000 5.685250 -0.990000 -v 0.850000 5.685250 -0.850000 -v -0.850000 5.685250 0.850000 -v -0.850000 5.685250 0.990000 -v -0.990000 5.685250 0.850000 -v -0.990000 5.685250 0.990000 -v -0.990000 -0.000115 0.990000 -v -0.850000 -0.000115 0.990000 -v -0.850000 -0.000115 -0.990000 -v -0.850000 -0.000115 -0.850000 -v -0.990000 -0.000115 0.850000 -v -0.850000 -0.000115 0.850000 -v 0.850000 -0.000115 0.990000 -v 0.850000 -0.000115 0.850000 -v -0.990000 -0.000115 -0.850000 -v 0.990000 -0.000115 0.990000 -v 0.990000 -0.000115 0.850000 -v 0.850000 -0.000115 -0.850000 -v 0.990000 -0.000115 -0.850000 -v 0.990000 -0.000115 -0.990000 -v -0.990000 -0.000115 -0.990000 -v 0.850000 -0.000115 -0.990000 -v 0.000000 4.255250 -0.950000 -v 0.363549 4.255250 -0.877686 -v 0.671751 4.255250 -0.671751 -v 0.877686 4.255250 -0.363549 -v 0.950000 4.255250 0.000000 -v 0.877686 4.255250 0.363549 -v 0.671751 4.255250 0.671751 -v 0.363549 4.255250 0.877686 -v 0.000000 4.255250 0.950000 -v -0.363549 4.255250 0.877686 -v -0.671751 4.255250 0.671752 -v -0.877686 4.255250 0.363549 -v -0.950000 4.255250 0.000000 -v -0.877686 4.255250 -0.363549 -v -0.671751 4.255250 -0.671752 -v -0.363549 4.255250 -0.877686 -v -0.363549 3.355250 -0.877686 -v 0.000000 3.355250 -0.950000 -v -0.671751 3.355250 -0.671752 -v -0.877686 3.355250 -0.363549 -v -0.950000 3.355250 0.000000 -v -0.877686 3.355250 0.363549 -v -0.671751 3.355250 0.671752 -v -0.363549 3.355250 0.877686 -v 0.000000 3.355250 0.950000 -v 0.363549 3.355250 0.877686 -v 0.671751 3.355250 0.671751 -v 0.877686 3.355250 0.363549 -v 0.950000 3.355250 0.000000 -v 0.877686 3.355250 -0.363549 -v 0.671751 3.355250 -0.671751 -v 0.363549 3.355250 -0.877686 -v 0.850000 5.545250 0.850000 -v 0.850000 0.889885 0.850000 -v 0.990000 5.545250 0.850000 -v 0.990000 0.889885 0.850000 -v 0.990000 5.685250 0.850000 -v 0.850000 5.685250 0.850000 -v -0.850000 5.685250 -0.850000 -v 0.990000 5.685250 -0.850000 -v -0.990000 5.685250 -0.850000 -v 0.850000 5.685250 -0.850000 -v -0.850000 5.685250 0.850000 -v -0.990000 5.685250 0.850000 -v -0.990000 0.889885 -0.850000 -v -0.990000 5.545250 -0.850000 -v 0.850000 0.749885 0.850000 -v -0.850000 5.545250 -0.850000 -v -0.850000 0.889885 -0.850000 -v 0.850000 0.889885 -0.850000 -v 0.850000 5.545250 -0.850000 -v 0.990000 0.749885 0.850000 -v 0.990000 5.545250 -0.850000 -v 0.990000 0.889885 -0.850000 -v -0.990000 0.749885 0.850000 -v -0.990000 5.545250 0.850000 -v -0.990000 0.889885 0.850000 -v -0.850000 5.545250 0.850000 -v -0.850000 0.889885 0.850000 -v 0.850000 0.749885 -0.850000 -v 0.990000 0.749885 -0.850000 -v -0.990000 0.749885 -0.850000 -v -0.850000 0.749885 -0.850000 -v -0.850000 0.749885 0.850000 -v 0.850000 0.889885 0.990000 -v 0.850000 5.545250 0.990000 -v 0.850000 5.545250 0.850000 -v 0.850000 0.889885 0.850000 -v -0.850000 5.685250 -0.990000 -v 0.850000 5.685250 0.850000 -v 0.850000 5.685250 0.990000 -v -0.850000 5.685250 -0.850000 -v 0.850000 5.685250 -0.990000 -v 0.850000 5.685250 -0.850000 -v -0.850000 5.685250 0.850000 -v -0.850000 5.685250 0.990000 -v 0.850000 0.749885 0.850000 -v -0.850000 5.545250 -0.990000 -v -0.850000 0.889885 -0.990000 -v -0.850000 5.545250 -0.850000 -v -0.850000 0.889885 -0.850000 -v 0.850000 0.889885 -0.850000 -v 0.850000 5.545250 -0.850000 -v 0.850000 5.545250 -0.990000 -v 0.850000 0.889885 -0.990000 -v -0.850000 5.545250 0.850000 -v -0.850000 0.889885 0.850000 -v -0.850000 5.545250 0.990000 -v -0.850000 0.889885 0.990000 -v 0.850000 0.749885 -0.850000 -v -0.850000 0.749885 -0.850000 -v 0.850000 0.749885 0.990000 -v -0.850000 0.749885 0.850000 -v -0.850000 0.749885 0.990000 -v -0.850000 0.749885 -0.990000 -v 0.850000 0.749885 -0.990000 -v 0.000000 4.255250 -0.950000 -v 0.000000 5.155250 -0.950000 -v 0.363549 5.155250 -0.877686 -v 0.363549 4.255250 -0.877686 -v 0.671751 5.155250 -0.671751 -v 0.671751 4.255250 -0.671751 -v 0.877686 5.155250 -0.363549 -v 0.877686 4.255250 -0.363549 -v 0.950000 5.155250 0.000000 -v 0.950000 4.255250 0.000000 -v 0.877686 5.155250 0.363549 -v 0.877686 4.255250 0.363549 -v 0.671751 5.155250 0.671751 -v 0.671751 4.255250 0.671751 -v 0.363549 5.155250 0.877686 -v 0.363549 4.255250 0.877686 -v 0.000000 5.155250 0.950000 -v 0.000000 4.255250 0.950000 -v -0.363549 5.155250 0.877686 -v -0.363549 4.255250 0.877686 -v -0.671751 5.155250 0.671752 -v -0.671751 4.255250 0.671752 -v -0.877686 5.155250 0.363549 -v -0.877686 4.255250 0.363549 -v -0.950000 5.155250 0.000000 -v -0.950000 4.255250 0.000000 -v -0.877686 5.155250 -0.363549 -v -0.877686 4.255250 -0.363549 -v -0.671751 5.155250 -0.671752 -v -0.671751 4.255250 -0.671752 -v -0.363549 5.155250 -0.877686 -v -0.363549 4.255250 -0.877686 -v -0.363549 1.555250 -0.877686 -v -0.363549 3.355250 -0.877686 -v 0.000000 3.355250 -0.950000 -v 0.000000 1.555250 -0.950000 -v -0.671751 1.555250 -0.671752 -v -0.671751 3.355250 -0.671752 -v -0.877686 1.555250 -0.363549 -v -0.877686 3.355250 -0.363549 -v -0.950000 1.555250 -0.000000 -v -0.950000 3.355250 0.000000 -v -0.877686 1.555250 0.363549 -v -0.877686 3.355250 0.363549 -v -0.671751 1.555250 0.671752 -v -0.671751 3.355250 0.671752 -v -0.363549 1.555250 0.877686 -v -0.363549 3.355250 0.877686 -v 0.000000 1.555250 0.950000 -v 0.000000 3.355250 0.950000 -v 0.363549 1.555250 0.877686 -v 0.363549 3.355250 0.877686 -v 0.671751 1.555250 0.671751 -v 0.671751 3.355250 0.671751 -v 0.877686 1.555250 0.363549 -v 0.877686 3.355250 0.363549 -v 0.950000 1.555250 -0.000000 -v 0.950000 3.355250 0.000000 -v 0.877686 1.555250 -0.363549 -v 0.877686 3.355250 -0.363549 -v 0.671751 1.555250 -0.671751 -v 0.671751 3.355250 -0.671751 -v 0.363549 1.555250 -0.877686 -v 0.363549 3.355250 -0.877686 -v -0.363549 1.001880 0.877686 -v -0.671751 1.001880 0.671752 -v -0.671751 0.612922 0.671752 -v -0.363549 0.612922 0.877686 -v -0.363549 1.001880 -0.877686 -v 0.000000 1.001880 -0.950000 -v 0.000000 0.612922 -0.950000 -v -0.363549 0.612922 -0.877686 -v 0.671751 1.001880 -0.671751 -v 0.877686 1.001880 -0.363549 -v 0.877686 0.612922 -0.363549 -v 0.671751 0.612922 -0.671751 -v -0.877686 1.001880 0.363549 -v -0.877686 0.612922 0.363549 -v 0.950000 1.001880 -0.000000 -v 0.950000 0.612922 -0.000000 -v -0.950000 1.001880 -0.000000 -v -0.950000 0.612922 -0.000000 -v 0.877686 1.001880 0.363549 -v 0.877686 0.612922 0.363549 -v -0.877686 1.001880 -0.363549 -v -0.877686 0.612922 -0.363549 -v 0.671751 1.001880 0.671751 -v 0.671751 0.612922 0.671751 -v -0.671751 1.001880 -0.671752 -v -0.671751 0.612922 -0.671752 -v 0.363549 1.001880 0.877686 -v 0.363549 0.612922 0.877686 -v 0.000000 1.001880 0.950000 -v 0.000000 0.612922 0.950000 -v 0.363549 1.001880 -0.877686 -v 0.363549 0.612922 -0.877686 -v -0.671751 0.612922 0.671752 -v -0.363549 0.612922 0.877686 -v 0.000000 0.612922 -0.950000 -v -0.363549 0.612922 -0.877686 -v 0.877686 0.612922 -0.363549 -v 0.671751 0.612922 -0.671751 -v -0.877686 0.612922 0.363549 -v 0.950000 0.612922 -0.000000 -v -0.950000 0.612922 -0.000000 -v 0.877686 0.612922 0.363549 -v -0.877686 0.612922 -0.363549 -v 0.671751 0.612922 0.671751 -v -0.671751 0.612922 -0.671752 -v 0.363549 0.612922 0.877686 -v 0.000000 0.612922 0.950000 -v -0.753880 0.481491 -0.312268 -v -0.576995 0.481491 -0.576995 -v 0.363549 0.612922 -0.877686 -v 0.312267 0.481491 -0.753880 -v 0.000000 0.481491 -0.815994 -v 0.576995 0.481491 -0.576995 -v 0.753880 0.481491 -0.312267 -v 0.815994 0.481491 -0.000000 -v 0.753880 0.481491 0.312268 -v 0.576995 0.481491 0.576995 -v 0.312267 0.481491 0.753880 -v 0.000000 0.481491 0.815994 -v -0.312267 0.481491 0.753880 -v -0.576995 0.481491 0.576995 -v -0.753880 0.481491 0.312268 -v -0.815994 0.481491 -0.000000 -v -0.312267 0.481491 -0.753880 -v -0.815994 0.481491 -0.000000 -v -0.312267 0.481491 -0.753880 -v 0.576995 0.710770 -0.576995 -v 0.312267 0.710770 -0.753880 -v 0.312267 0.710770 0.753880 -v 0.576995 0.710770 0.576995 -v -0.815994 0.710770 -0.000000 -v -0.753880 0.710770 0.312268 -v -0.312267 0.710770 -0.753880 -v 0.753880 0.710770 0.312268 -v 0.815994 0.710770 -0.000000 -v -0.576995 0.710770 0.576995 -v -0.312267 0.710770 0.753880 -v 0.753880 0.710770 -0.312267 -v 0.000000 0.710770 0.815994 -v 0.000000 0.710770 -0.815994 -v -0.576995 0.710770 -0.576995 -v -0.753880 0.710770 -0.312268 -v 0.143202 0.277469 -0.345720 -v 0.264602 0.277469 -0.264602 -v 0.345720 0.277469 -0.143202 -v 0.374204 0.277469 -0.000000 -v 0.345720 0.277469 0.143202 -v 0.264603 0.277469 0.264602 -v 0.143202 0.277469 0.345720 -v 0.000000 0.277469 0.374204 -v -0.143202 0.277469 0.345720 -v -0.264602 0.277469 0.264602 -v -0.345720 0.277469 0.143202 -v -0.374204 0.277469 -0.000000 -v -0.345720 0.277469 -0.143202 -v -0.264602 0.277469 -0.264602 -v -0.143202 0.277469 -0.345720 -v 0.000000 0.277469 -0.374204 -v 0.576995 0.710770 -0.576995 -v 0.312267 0.710770 -0.753880 -v 0.312267 0.710770 0.753880 -v 0.576995 0.710770 0.576995 -v -0.815994 0.710770 -0.000000 -v -0.753880 0.710770 0.312268 -v -0.312267 0.710770 -0.753880 -v 0.753880 0.710770 0.312268 -v 0.815994 0.710770 -0.000000 -v -0.576995 0.710770 0.576995 -v -0.312267 0.710770 0.753880 -v 0.753880 0.710770 -0.312267 -v 0.000000 0.710770 0.815994 -v 0.000000 0.710770 -0.815994 -v 0.671751 5.844361 -0.671751 -v 0.363549 5.844361 -0.877686 -v 0.877686 5.475793 0.363549 -v 0.950000 5.475793 0.000000 -v -0.671751 5.475793 0.671752 -v -0.363549 5.475793 0.877686 -v -0.363549 5.475793 -0.877686 -v -0.671751 5.475793 -0.671752 -v 0.877686 5.475793 -0.363549 -v 0.671751 5.475793 -0.671751 -v 0.000000 5.475793 0.950000 -v 0.363549 5.475793 0.877686 -v -0.877686 5.475793 -0.363549 -v 0.363549 5.475793 -0.877686 -v 0.000000 5.475793 -0.950000 -v 0.671751 5.475793 0.671751 -v -0.049497 0.760250 -0.049497 -v -0.049497 6.247500 -0.049497 -v 0.000000 6.247500 -0.070000 -v 0.000000 0.760250 -0.070000 -v 0.070000 0.760250 -0.000000 -v 0.070000 6.247500 0.000000 -v 0.049497 6.247500 0.049497 -v 0.049497 0.760250 0.049497 -v 0.000000 6.247500 0.070000 -v 0.000000 0.760250 0.070000 -v -0.049497 6.247500 0.049497 -v -0.049497 0.760250 0.049497 -v -0.070000 6.247500 0.000000 -v -0.070000 0.760250 -0.000000 -v 0.049497 6.247500 -0.049497 -v 0.049497 0.760250 -0.049497 -v 0.000000 6.262662 -0.053589 -v 0.037893 6.262662 -0.037893 -v 0.053589 6.262662 0.000000 -v 0.037893 6.262662 0.037893 -v 0.000000 6.262662 0.053589 -v -0.037893 6.262662 0.037893 -v -0.053589 6.262662 0.000000 -v -0.037893 6.262662 -0.037893 -v 0.340478 0.760250 0.340503 -v 0.340478 6.247500 0.340503 -v 0.389975 6.247500 0.320000 -v 0.389975 0.760250 0.320000 -v 0.459975 0.760250 0.390000 -v 0.459975 6.247500 0.390000 -v 0.439473 6.247500 0.439497 -v 0.439473 0.760250 0.439497 -v 0.389975 6.247500 0.460000 -v 0.389975 0.760250 0.460000 -v 0.340478 6.247500 0.439497 -v 0.340478 0.760250 0.439497 -v 0.319975 6.247500 0.390000 -v 0.319975 0.760250 0.390000 -v 0.439473 6.247500 0.340503 -v 0.439473 0.760250 0.340503 -v 0.389975 6.262662 0.336411 -v 0.427868 6.262662 0.352107 -v 0.443564 6.262662 0.390000 -v 0.427868 6.262662 0.427893 -v 0.389975 6.262662 0.443589 -v 0.352082 6.262662 0.427893 -v 0.336386 6.262662 0.390000 -v 0.352082 6.262662 0.352107 -v 0.340503 0.760250 -0.439497 -v 0.340503 6.247500 -0.439497 -v 0.390000 6.247500 -0.460000 -v 0.390000 0.760250 -0.460000 -v 0.460000 0.760250 -0.390000 -v 0.460000 6.247500 -0.390000 -v 0.439497 6.247500 -0.340503 -v 0.439497 0.760250 -0.340503 -v 0.390000 6.247500 -0.320000 -v 0.390000 0.760250 -0.320000 -v 0.340503 6.247500 -0.340503 -v 0.340503 0.760250 -0.340503 -v 0.320000 6.247500 -0.390000 -v 0.320000 0.760250 -0.390000 -v 0.439497 6.247500 -0.439497 -v 0.439497 0.760250 -0.439497 -v 0.390000 6.262662 -0.443589 -v 0.427893 6.262662 -0.427893 -v 0.443589 6.262662 -0.390000 -v 0.427893 6.262662 -0.352107 -v 0.390000 6.262662 -0.336411 -v 0.352107 6.262662 -0.352107 -v 0.336411 6.262662 -0.390000 -v 0.352107 6.262662 -0.427893 -v -0.439497 0.760250 0.340503 -v -0.439497 6.247500 0.340503 -v -0.390000 6.247500 0.320000 -v -0.390000 0.760250 0.320000 -v -0.320000 0.760250 0.390000 -v -0.320000 6.247500 0.390000 -v -0.340503 6.247500 0.439497 -v -0.340503 0.760250 0.439497 -v -0.390000 6.247500 0.460000 -v -0.390000 0.760250 0.460000 -v -0.439497 6.247500 0.439497 -v -0.439497 0.760250 0.439497 -v -0.460000 6.247500 0.390000 -v -0.460000 0.760250 0.390000 -v -0.340503 6.247500 0.340503 -v -0.340503 0.760250 0.340503 -v -0.390000 6.262662 0.336411 -v -0.352107 6.262662 0.352107 -v -0.336411 6.262662 0.390000 -v -0.352107 6.262662 0.427893 -v -0.390000 6.262662 0.443589 -v -0.427893 6.262662 0.427893 -v -0.443589 6.262662 0.390000 -v -0.427893 6.262662 0.352107 -v -0.439497 0.760250 -0.439497 -v -0.439497 6.247500 -0.439497 -v -0.390000 6.247500 -0.460000 -v -0.390000 0.760250 -0.460000 -v -0.320000 0.760250 -0.390000 -v -0.320000 6.247500 -0.390000 -v -0.340503 6.247500 -0.340503 -v -0.340503 0.760250 -0.340503 -v -0.390000 6.247500 -0.320000 -v -0.390000 0.760250 -0.320000 -v -0.439497 6.247500 -0.340503 -v -0.439497 0.760250 -0.340503 -v -0.460000 6.247500 -0.390000 -v -0.460000 0.760250 -0.390000 -v -0.340503 6.247500 -0.439497 -v -0.340503 0.760250 -0.439497 -v -0.390000 6.262662 -0.443589 -v -0.352107 6.262662 -0.427893 -v -0.336411 6.262662 -0.390000 -v -0.352107 6.262662 -0.352107 -v -0.390000 6.262662 -0.336411 -v -0.427893 6.262662 -0.352107 -v -0.443589 6.262662 -0.390000 -v -0.427893 6.262662 -0.427893 -vt 0.946429 0.745614 -vt 0.928571 -0.000000 -vt 0.946429 -0.000000 -vt 0.964286 0.745614 -vt 0.964286 -0.000000 -vt 0.243141 0.848272 -vt 0.315152 0.677472 -vt 0.489001 0.748220 -vt 0.153396 0.744032 -vt 0.168856 0.780702 -vt 0.063286 0.780702 -vt 0.232243 0.798246 -vt 0.366071 0.666765 -vt 0.499900 0.798246 -vt 0.271985 0.890682 -vt 0.271985 0.705810 -vt 0.460158 0.705810 -vt 0.416991 0.919019 -vt 0.243141 0.848272 -vt 0.315152 0.677472 -vt 0.242430 0.747930 -vt 0.314857 0.919718 -vt 0.489713 0.848561 -vt 0.865451 0.786687 -vt 0.860065 0.788878 -vt 0.857834 0.783587 -vt 0.860435 0.788001 -vt 0.858727 0.786323 -vt 0.864558 0.783951 -vt 0.865451 0.786687 -vt 0.860065 0.788878 -vt 0.857834 0.783587 -vt 0.858727 0.786323 -vt 0.858727 0.783951 -vt 0.864558 0.786323 -vt 0.865451 0.786687 -vt 0.860065 0.788878 -vt 0.857834 0.783587 -vt 0.860435 0.782273 -vt 0.862850 0.782273 -vt 0.864558 0.783951 -vt 0.865451 0.786687 -vt 0.860065 0.788878 -vt 0.857834 0.783587 -vt 0.862850 0.782273 -vt 0.864558 0.783951 -vt 0.858727 0.786323 -vt 0.865451 0.786687 -vt 0.860065 0.788878 -vt 0.857834 0.783587 -vt 0.862850 0.782273 -vt 0.864558 0.783951 -vt 0.858727 0.786323 -vt 0.774162 0.989261 -vt 0.600217 0.918475 -vt 0.672267 0.747581 -vt 0.242704 0.848450 -vt 0.314971 0.677043 -vt 0.489439 0.748042 -vt 0.928571 0.763158 -vt 0.946429 0.745614 -vt 0.946429 0.763158 -vt 0.946429 0.763158 -vt 0.928571 0.745614 -vt 0.946429 0.745614 -vt 0.928571 0.763158 -vt 0.946429 0.745614 -vt 0.946429 0.763158 -vt 0.946429 0.763158 -vt 0.928571 0.745614 -vt 0.946429 0.745614 -vt 0.964286 0.745614 -vt 0.946429 -0.000000 -vt 0.964286 -0.000000 -vt 0.946429 0.745614 -vt 0.928571 -0.000000 -vt 0.964286 0.745614 -vt 0.946429 0.763158 -vt 0.946429 0.745614 -vt 0.964286 0.745614 -vt 0.946429 0.763158 -vt 0.946429 0.745614 -vt 0.946429 0.763158 -vt 0.964286 0.745614 -vt 0.946429 0.763158 -vt 0.946429 0.745614 -vt 0.964286 -0.000000 -vt 0.982143 0.745614 -vt 0.964286 0.745614 -vt 0.946429 0.745614 -vt 0.928571 0.745614 -vt 0.946429 -0.000000 -vt 1.000000 0.745614 -vt 0.982143 -0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.000000 -vt 0.982143 0.745614 -vt 0.982143 -0.000000 -vt 1.000000 0.745614 -vt 0.982143 -0.000000 -vt 1.000000 0.000000 -vt 0.982143 0.745614 -vt 0.964286 -0.000000 -vt 0.946429 0.745614 -vt 0.946429 -0.000000 -vt 0.928571 -0.000000 -vt 0.982143 -0.000000 -vt 1.000000 0.745614 -vt 1.000000 0.000000 -vt 0.616071 0.719298 -vt 0.857143 0.736842 -vt 0.616071 0.736842 -vt 0.857143 0.684211 -vt 0.616071 0.666667 -vt 0.857143 0.666667 -vt 0.616071 0.701754 -vt 0.857143 0.701754 -vt 0.857143 0.666667 -vt 0.616071 0.684211 -vt 0.616071 0.666667 -vt 0.857143 0.719298 -vt 0.616071 0.736842 -vt 0.616071 0.719298 -vt 0.616071 0.701754 -vt 0.857143 0.684211 -vt 0.857143 0.701754 -vt 0.616071 0.666667 -vt 0.616071 0.684211 -vt 0.857143 0.684211 -vt 0.616071 0.701754 -vt 0.857143 0.719298 -vt 0.616071 0.719298 -vt 0.616071 0.736842 -vt 0.857143 0.719298 -vt 0.616071 0.701754 -vt 0.857143 0.684211 -vt 0.857143 0.701754 -vt 0.616071 0.666667 -vt 0.857143 0.666667 -vt 0.857143 0.719298 -vt 0.616071 0.736842 -vt 0.616071 0.719298 -vt 0.857143 0.684211 -vt 0.616071 0.701754 -vt 0.616071 0.684211 -vt 0.616071 0.684211 -vt 0.857143 0.666667 -vt 0.857143 0.684211 -vt 0.616071 0.736842 -vt 0.857143 0.719298 -vt 0.857143 0.736842 -vt 0.616071 0.719298 -vt 0.857143 0.701754 -vt 0.616071 0.684211 -vt 0.616071 0.701754 -vt 0.857143 0.684211 -vt 0.616071 0.666667 -vt 0.857143 0.666667 -vt 0.616071 0.701754 -vt 0.857143 0.701754 -vt 0.857143 0.719298 -vt 0.857143 0.736842 -vt 0.616071 0.719298 -vt 0.616071 0.684211 -vt 0.857143 0.701754 -vt 0.616071 0.701754 -vt 0.857143 0.719298 -vt 0.857143 0.701754 -vt 0.857143 0.666667 -vt 0.616071 0.736842 -vt 0.857143 0.736842 -vt 0.616071 0.719298 -vt 0.857143 0.719298 -vt 0.616071 0.736842 -vt 0.857143 0.666667 -vt 0.616071 0.666667 -vt 0.928571 0.745614 -vt 0.499130 0.798246 -vt 0.416991 0.919019 -vt 0.489001 0.848272 -vt 0.460158 0.890682 -vt 0.366071 0.928970 -vt 0.315152 0.919019 -vt 0.271985 0.890682 -vt 0.233013 0.798246 -vt 0.243141 0.748220 -vt 0.271985 0.705810 -vt 0.366071 0.667522 -vt 0.416991 0.677472 -vt 0.460158 0.705810 -vt 0.164839 0.800547 -vt 0.153396 0.817371 -vt 0.136271 0.828613 -vt 0.116071 0.832561 -vt 0.095871 0.828613 -vt 0.078747 0.817372 -vt 0.067304 0.800547 -vt 0.067304 0.760856 -vt 0.078747 0.744032 -vt 0.095871 0.732790 -vt 0.116071 0.728843 -vt 0.136271 0.732790 -vt 0.164839 0.760856 -vt 0.489713 0.848561 -vt 0.460703 0.891217 -vt 0.417285 0.919718 -vt 0.366071 0.929726 -vt 0.314857 0.919718 -vt 0.271440 0.891217 -vt 0.242430 0.848561 -vt 0.242430 0.747930 -vt 0.271440 0.705275 -vt 0.314857 0.676773 -vt 0.417285 0.676773 -vt 0.460703 0.705275 -vt 0.489713 0.747930 -vt 0.489001 0.748220 -vt 0.499130 0.798246 -vt 0.489001 0.848272 -vt 0.460158 0.890682 -vt 0.416991 0.919019 -vt 0.366071 0.928970 -vt 0.315152 0.919019 -vt 0.243141 0.848272 -vt 0.233013 0.798246 -vt 0.243141 0.748220 -vt 0.315152 0.677472 -vt 0.366071 0.667522 -vt 0.416991 0.677472 -vt 0.489001 0.748220 -vt 0.499130 0.798246 -vt 0.489001 0.848272 -vt 0.460158 0.890682 -vt 0.366071 0.928970 -vt 0.315152 0.919019 -vt 0.271985 0.890682 -vt 0.233013 0.798246 -vt 0.243141 0.748220 -vt 0.271985 0.705810 -vt 0.366071 0.667522 -vt 0.416991 0.677472 -vt 0.460158 0.705810 -vt 0.499900 0.798246 -vt 0.417285 0.676773 -vt 0.489713 0.747930 -vt 0.460703 0.705275 -vt 0.366071 0.666765 -vt 0.314857 0.676773 -vt 0.271440 0.705275 -vt 0.232243 0.798246 -vt 0.242430 0.848561 -vt 0.271440 0.891217 -vt 0.366071 0.929726 -vt 0.417285 0.919718 -vt 0.460703 0.891216 -vt 0.860065 0.781396 -vt 0.863220 0.781396 -vt 0.865451 0.783587 -vt 0.863220 0.788878 -vt 0.857834 0.786687 -vt 0.858727 0.783951 -vt 0.860435 0.782273 -vt 0.862850 0.782273 -vt 0.864558 0.786323 -vt 0.862850 0.788001 -vt 0.860065 0.781396 -vt 0.863220 0.781396 -vt 0.865451 0.783587 -vt 0.863220 0.788878 -vt 0.857834 0.786687 -vt 0.860435 0.782273 -vt 0.862850 0.782273 -vt 0.864558 0.783951 -vt 0.862850 0.788001 -vt 0.860435 0.788001 -vt 0.860065 0.781396 -vt 0.863220 0.781396 -vt 0.865451 0.783587 -vt 0.863220 0.788878 -vt 0.857834 0.786687 -vt 0.864558 0.786323 -vt 0.862850 0.788001 -vt 0.860435 0.788001 -vt 0.858727 0.786323 -vt 0.858727 0.783951 -vt 0.860065 0.781396 -vt 0.863220 0.781396 -vt 0.865451 0.783587 -vt 0.863220 0.788878 -vt 0.857834 0.786687 -vt 0.864558 0.786323 -vt 0.862850 0.788001 -vt 0.860435 0.788001 -vt 0.858727 0.783951 -vt 0.860435 0.782273 -vt 0.860065 0.781396 -vt 0.863220 0.781396 -vt 0.865451 0.783587 -vt 0.863220 0.788878 -vt 0.857834 0.786687 -vt 0.864558 0.786323 -vt 0.862850 0.788001 -vt 0.860435 0.788001 -vt 0.858727 0.783951 -vt 0.860435 0.782273 -vt 0.846212 0.818368 -vt 0.856346 0.868421 -vt 0.846212 0.918474 -vt 0.817353 0.960908 -vt 0.723214 0.999217 -vt 0.672267 0.989261 -vt 0.629076 0.960908 -vt 0.590083 0.868421 -vt 0.600217 0.818368 -vt 0.629076 0.775934 -vt 0.723214 0.737625 -vt 0.774162 0.747581 -vt 0.817353 0.775934 -vt 0.499603 0.798246 -vt 0.489439 0.848450 -vt 0.460492 0.891010 -vt 0.417172 0.919448 -vt 0.366071 0.929435 -vt 0.314971 0.919448 -vt 0.271650 0.891010 -vt 0.232540 0.798246 -vt 0.242704 0.748042 -vt 0.271650 0.705481 -vt 0.366071 0.667057 -vt 0.417172 0.677043 -vt 0.460493 0.705481 -vt 0.928571 0.745614 -vt 0.928571 0.763158 -vt 0.928571 0.745614 -vt 0.928571 0.763158 -vt 0.928571 0.745614 -vt 0.964286 0.763158 -vt 0.964286 0.763158 -vt 0.964286 0.763158 -vt 0.964286 0.763158 -vt 0.928571 -0.000000 -vt 1.000000 0.745614 -vt 0.964286 0.745614 -vt 0.928571 0.745614 -vt 0.982143 0.745614 -vt 0.616071 0.684211 -vt 0.857143 0.736842 -vt 0.857143 0.666667 -vt 0.857143 0.701754 -vt 0.857143 0.736842 -vt 0.616071 0.684211 -vt 0.857143 0.736842 -vt 0.616071 0.666667 -vt 0.616071 0.736842 -vt 0.857143 0.684211 -vt 0.616071 0.719298 -vt 0.616071 0.666667 -vt 0.857143 0.736842 -vt 0.642857 0.368421 -vt 0.589286 0.114035 -vt 0.642857 0.114035 -vt 0.589286 0.368421 -vt 0.535714 0.114035 -vt 0.535714 0.368421 -vt 0.482143 0.114035 -vt 0.482143 0.368421 -vt 0.428571 0.114035 -vt 0.428571 0.368421 -vt 0.375000 0.114035 -vt 0.375000 0.368421 -vt 0.321429 0.114035 -vt 0.321429 0.368421 -vt 0.267857 0.114035 -vt 0.267857 0.368421 -vt 0.214286 0.114035 -vt 0.214286 0.368421 -vt 0.160714 0.114035 -vt 0.160714 0.368421 -vt 0.107143 0.114035 -vt 0.107143 0.368421 -vt 0.053571 0.114035 -vt 0.053571 0.368421 -vt 0.000000 0.114035 -vt 0.857143 0.368421 -vt 0.803571 0.114035 -vt 0.857143 0.114035 -vt 0.803571 0.368421 -vt 0.750000 0.114035 -vt 0.750000 0.368421 -vt 0.696429 0.114035 -vt 0.696429 0.368421 -vt 0.696429 0.035088 -vt 0.642857 0.061404 -vt 0.642857 0.035088 -vt 0.750000 0.061404 -vt 0.696429 0.061404 -vt 0.803571 0.035088 -vt 0.750000 0.035088 -vt 0.857143 0.035088 -vt 0.803571 0.061404 -vt 0.000000 0.035088 -vt 0.053571 0.061404 -vt -0.000000 0.061404 -vt 0.053571 0.035088 -vt 0.107143 0.061404 -vt 0.160714 0.035088 -vt 0.107143 0.035088 -vt 0.214286 0.035088 -vt 0.160714 0.061404 -vt 0.267857 0.035088 -vt 0.214286 0.061404 -vt 0.321429 0.061404 -vt 0.267857 0.061404 -vt 0.375000 0.035088 -vt 0.321429 0.035088 -vt 0.428571 0.035088 -vt 0.375000 0.061404 -vt 0.482143 0.035088 -vt 0.428571 0.061404 -vt 0.535714 0.061404 -vt 0.482143 0.061404 -vt 0.589286 0.035088 -vt 0.535714 0.035088 -vt 0.642857 0.035088 -vt 0.696429 0.000000 -vt 0.696429 0.035088 -vt 0.160714 0.035088 -vt 0.214286 0.000000 -vt 0.214286 0.035088 -vt 0.428571 0.035088 -vt 0.482143 0.000000 -vt 0.482143 0.035088 -vt 0.053571 0.035088 -vt 0.107143 0.000000 -vt 0.107143 0.035088 -vt 0.321429 0.035088 -vt 0.375000 0.000000 -vt 0.375000 0.035088 -vt 0.589286 0.035088 -vt 0.642857 0.000000 -vt 0.803571 0.035088 -vt 0.857143 0.000000 -vt 0.857143 0.035088 -vt 0.267857 0.000000 -vt 0.267857 0.035088 -vt 0.535714 0.000000 -vt 0.535714 0.035088 -vt 0.160714 0.000000 -vt 0.428571 0.000000 -vt 0.750000 0.000000 -vt 0.750000 0.035088 -vt 0.000000 0.035088 -vt 0.053571 0.000000 -vt 0.321429 0.000000 -vt 0.589286 0.000000 -vt 0.803571 0.000000 -vt 0.589286 0.061404 -vt 0.321429 0.614035 -vt 0.267857 0.666667 -vt 0.267857 0.614035 -vt 0.589286 0.614035 -vt 0.535714 0.666667 -vt 0.535714 0.614035 -vt 0.750000 0.614035 -vt 0.803571 0.666667 -vt 0.750000 0.666667 -vt 0.214286 0.614035 -vt 0.160714 0.666667 -vt 0.160714 0.614035 -vt 0.482143 0.614035 -vt 0.428571 0.666667 -vt 0.428571 0.614035 -vt 0.696429 0.614035 -vt 0.642857 0.666667 -vt 0.642857 0.614035 -vt 0.107143 0.614035 -vt 0.053571 0.666667 -vt 0.053571 0.614035 -vt 0.375000 0.614035 -vt 0.321429 0.666667 -vt 0.589286 0.666667 -vt 0.857143 0.614035 -vt 0.803571 0.614035 -vt 0.214286 0.666667 -vt 0.482143 0.666667 -vt 0.696429 0.666667 -vt 0.107143 0.666667 -vt 0.375000 0.666667 -vt 0.000000 0.666667 -vt 0.000000 0.614035 -vt 0.919643 0.780702 -vt 0.910714 0.789474 -vt 0.910714 0.780702 -vt 0.928571 0.789474 -vt 0.919643 0.789474 -vt 0.866071 0.780702 -vt 0.857143 0.789474 -vt 0.857143 0.780702 -vt 0.875000 0.789474 -vt 0.866071 0.789474 -vt 0.883929 0.780702 -vt 0.875000 0.780702 -vt 0.892857 0.789474 -vt 0.883929 0.789474 -vt 0.901786 0.780702 -vt 0.892857 0.780702 -vt 0.901786 0.789474 -vt 0.892857 -0.000000 -vt 0.901786 -0.000000 -vt 0.910714 -0.000000 -vt 0.928571 0.780702 -vt 0.919643 -0.000000 -vt 0.928571 0.000000 -vt 0.857143 -0.000000 -vt 0.866071 -0.000000 -vt 0.875000 -0.000000 -vt 0.883929 -0.000000 -vt 0.696429 0.491228 -vt 0.642857 0.368421 -vt 0.696429 0.368421 -vt 0.750000 0.491228 -vt 0.750000 0.368421 -vt 0.803571 0.491228 -vt 0.803571 0.368421 -vt 0.857143 0.491228 -vt 0.857143 0.368421 -vt 0.053571 0.491228 -vt -0.000000 0.368421 -vt 0.053571 0.368421 -vt 0.107143 0.491228 -vt 0.107143 0.368421 -vt 0.160714 0.491228 -vt 0.160714 0.368421 -vt 0.214286 0.491228 -vt 0.214286 0.368421 -vt 0.267857 0.491228 -vt 0.267857 0.368421 -vt 0.321429 0.491228 -vt 0.321429 0.368421 -vt 0.375000 0.491228 -vt 0.375000 0.368421 -vt 0.428571 0.491228 -vt 0.428571 0.368421 -vt 0.482143 0.491228 -vt 0.482143 0.368421 -vt 0.535714 0.491228 -vt 0.535714 0.368421 -vt 0.589286 0.491228 -vt 0.589286 0.368421 -vt 0.642857 0.491228 -vt 0.642857 0.614035 -vt 0.589286 0.491228 -vt 0.642857 0.491228 -vt 0.589286 0.614035 -vt 0.535714 0.491228 -vt 0.535714 0.614035 -vt 0.482143 0.491228 -vt 0.482143 0.614035 -vt 0.428571 0.491228 -vt 0.428571 0.614035 -vt 0.375000 0.491228 -vt 0.375000 0.614035 -vt 0.321429 0.491228 -vt 0.321429 0.614035 -vt 0.267857 0.491228 -vt 0.267857 0.614035 -vt 0.214286 0.491228 -vt 0.214286 0.614035 -vt 0.160714 0.491228 -vt 0.160714 0.614035 -vt 0.107143 0.491228 -vt 0.107143 0.614035 -vt 0.053571 0.491228 -vt 0.053571 0.614035 -vt 0.000000 0.491228 -vt 0.857143 0.614035 -vt 0.803571 0.491228 -vt 0.857143 0.491228 -vt 0.803571 0.614035 -vt 0.750000 0.491228 -vt 0.750000 0.614035 -vt 0.696429 0.491228 -vt 0.696429 0.614035 -vt 0.107143 0.114035 -vt 0.160714 0.061404 -vt 0.160714 0.114035 -vt 0.642857 0.114035 -vt 0.696429 0.061404 -vt 0.696429 0.114035 -vt 0.482143 0.114035 -vt 0.535714 0.061404 -vt 0.535714 0.114035 -vt 0.053571 0.114035 -vt 0.107143 0.061404 -vt 0.428571 0.114035 -vt 0.482143 0.061404 -vt -0.000000 0.114035 -vt 0.053571 0.061404 -vt 0.375000 0.114035 -vt 0.428571 0.061404 -vt 0.803571 0.114035 -vt 0.857143 0.061404 -vt 0.857143 0.114035 -vt 0.321429 0.114035 -vt 0.375000 0.061404 -vt 0.750000 0.114035 -vt 0.803571 0.061404 -vt 0.267857 0.114035 -vt 0.321429 0.061404 -vt 0.750000 0.061404 -vt 0.214286 0.114035 -vt 0.267857 0.061404 -vt 0.214286 0.061404 -vt 0.589286 0.061404 -vt 0.589286 0.114035 -vt 0.642857 0.061404 -vt 0.164839 0.760856 -vt 0.197462 0.700739 -vt 0.222413 0.737426 -vt 0.136271 0.732790 -vt 0.116071 0.667617 -vt 0.160120 0.676225 -vt 0.095871 0.732790 -vt 0.034681 0.700739 -vt 0.072023 0.676225 -vt 0.067304 0.760856 -vt 0.000968 0.780702 -vt 0.009729 0.737426 -vt 0.067304 0.800547 -vt 0.034681 0.860664 -vt 0.009729 0.823977 -vt 0.095871 0.828613 -vt 0.116071 0.893786 -vt 0.072023 0.885178 -vt 0.136271 0.828613 -vt 0.197462 0.860664 -vt 0.160120 0.885178 -vt 0.116071 0.728843 -vt 0.153396 0.744032 -vt 0.078747 0.744032 -vt 0.063286 0.780702 -vt 0.078747 0.817372 -vt 0.116071 0.832561 -vt 0.164839 0.800547 -vt 0.153396 0.817371 -vt 0.231175 0.780702 -vt 0.168856 0.780702 -vt 0.222413 0.823977 -vt 0.919643 0.780702 -vt 0.910714 -0.000000 -vt 0.919643 0.000000 -vt 0.892857 0.780702 -vt 0.883929 -0.000000 -vt 0.892857 -0.000000 -vt 0.883929 0.780702 -vt 0.875000 -0.000000 -vt 0.875000 0.780702 -vt 0.866071 -0.000000 -vt 0.866071 0.780702 -vt 0.857143 0.000000 -vt 0.928571 0.780702 -vt 0.928571 0.000000 -vt 0.910714 0.780702 -vt 0.901786 -0.000000 -vt 0.901786 0.780702 -vt 0.901786 0.789474 -vt 0.892857 0.789474 -vt 0.883929 0.789474 -vt 0.875000 0.789474 -vt 0.866071 0.789474 -vt 0.857143 0.789474 -vt 0.857143 0.780702 -vt 0.928571 0.789474 -vt 0.919643 0.789474 -vt 0.910714 0.789474 -vt 0.919643 0.780702 -vt 0.910714 -0.000000 -vt 0.919643 -0.000000 -vt 0.892857 0.780702 -vt 0.883929 -0.000000 -vt 0.892857 -0.000000 -vt 0.883929 0.780702 -vt 0.875000 -0.000000 -vt 0.875000 0.780702 -vt 0.866071 -0.000000 -vt 0.866071 0.780702 -vt 0.857143 -0.000000 -vt 0.928571 0.780702 -vt 0.928571 0.000000 -vt 0.910714 0.780702 -vt 0.901786 -0.000000 -vt 0.901786 0.780702 -vt 0.910714 0.789474 -vt 0.901786 0.789474 -vt 0.892857 0.789474 -vt 0.883929 0.789474 -vt 0.875000 0.789474 -vt 0.866071 0.789474 -vt 0.857143 0.789474 -vt 0.857143 0.780702 -vt 0.928571 0.789474 -vt 0.919643 0.789474 -vt 0.919643 0.780702 -vt 0.910714 -0.000000 -vt 0.919643 -0.000000 -vt 0.892857 0.780702 -vt 0.883929 -0.000000 -vt 0.892857 -0.000000 -vt 0.883929 0.780702 -vt 0.875000 -0.000000 -vt 0.875000 0.780702 -vt 0.866071 -0.000000 -vt 0.866071 0.780702 -vt 0.857143 -0.000000 -vt 0.928571 0.780702 -vt 0.928571 0.000000 -vt 0.910714 0.780702 -vt 0.901786 -0.000000 -vt 0.901786 0.780702 -vt 0.910714 0.789474 -vt 0.901786 0.789474 -vt 0.892857 0.789474 -vt 0.883929 0.789474 -vt 0.875000 0.789474 -vt 0.866071 0.789474 -vt 0.857143 0.789474 -vt 0.857143 0.780702 -vt 0.928571 0.789474 -vt 0.919643 0.789474 -vt 0.919643 0.780702 -vt 0.910714 -0.000000 -vt 0.919643 -0.000000 -vt 0.892857 0.780702 -vt 0.883929 -0.000000 -vt 0.892857 -0.000000 -vt 0.883929 0.780702 -vt 0.875000 -0.000000 -vt 0.875000 0.780702 -vt 0.866071 -0.000000 -vt 0.866071 0.780702 -vt 0.857143 -0.000000 -vt 0.928571 0.780702 -vt 0.928571 0.000000 -vt 0.910714 0.780702 -vt 0.901786 -0.000000 -vt 0.901786 0.780702 -vt 0.910714 0.789474 -vt 0.901786 0.789474 -vt 0.892857 0.789474 -vt 0.883929 0.789474 -vt 0.875000 0.789474 -vt 0.866071 0.789474 -vt 0.857143 0.789474 -vt 0.857143 0.780702 -vt 0.928571 0.789474 -vt 0.919643 0.789474 -vt 0.000000 0.368421 -vt 0.857143 0.061404 -vt 0.000000 0.000000 -vt 0.857143 0.666667 -vt -0.000000 0.491228 -vt 0.000000 0.614035 -vt -0.000000 0.061404 +mtllib breeding_reactor_fixed.mtl +o Cube_Cube.001 +v -0.437500 0.437500 -0.437500 +v -0.437500 0.437500 -0.500000 +v -0.437500 2.687500 -0.500000 +v -0.437500 2.750000 -0.500000 +v -0.437500 2.750000 -0.437500 +v 0.437500 0.437500 -0.500000 +v 0.437500 2.687500 -0.500000 +v 0.437500 2.750000 -0.500000 +v 0.437500 0.000000 -0.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 0.437500 -0.500000 +v 0.437500 0.000000 -0.437500 +v 0.437500 0.437500 -0.437500 +v 0.500000 0.000000 -0.437500 +v 0.500000 0.437500 -0.437500 +v 0.437500 0.500000 -0.500000 +v 0.500000 0.500000 -0.500000 +v 0.500000 0.500000 -0.437500 +v 0.437500 0.500000 -0.437500 +v 0.500000 2.687500 -0.500000 +v 0.500000 2.750000 -0.500000 +v 0.500000 2.687500 -0.437500 +v 0.500000 2.750000 -0.437500 +v 0.437500 2.750000 -0.437500 +v 0.500000 0.437500 0.437500 +v 0.500000 2.687500 0.437500 +v 0.500000 2.750000 0.437500 +v 0.500000 0.000000 0.437500 +v 0.500000 0.000000 0.500000 +v 0.500000 0.437500 0.500000 +v 0.437500 0.000000 0.437500 +v 0.437500 0.000000 0.500000 +v 0.500000 0.500000 0.437500 +v 0.500000 0.500000 0.500000 +v 0.437500 0.500000 0.500000 +v 0.500000 2.687500 0.500000 +v 0.500000 2.750000 0.500000 +v 0.437500 2.750000 0.500000 +v 0.437500 2.687499 -0.437500 +v 0.437500 0.437500 0.437500 +v 0.437500 0.437500 0.500000 +v 0.437500 2.687500 0.500000 +v 0.437500 2.750000 0.437500 +v -0.437500 0.437500 0.500000 +v -0.437500 2.687500 0.500000 +v -0.437500 2.750000 0.500000 +v -0.437500 2.750000 0.437500 +v -0.437500 0.000000 0.500000 +v -0.500000 0.000000 0.500000 +v -0.500000 0.437500 0.500000 +v -0.437500 0.000000 0.437500 +v -0.500000 0.000000 0.437500 +v -0.437500 0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 2.687499 0.500000 +v -0.500000 2.687499 0.437500 +v -0.437500 2.687499 0.437500 +v -0.500000 2.749999 0.500000 +v -0.500000 2.749999 0.437500 +v 0.437500 0.500000 0.437500 +v 0.437500 2.687499 0.437500 +v -0.437500 0.437500 0.437500 +v -0.500000 0.437500 0.437500 +v -0.500000 0.500000 0.437500 +v -0.500000 0.437500 -0.437500 +v -0.500000 2.687499 -0.437500 +v -0.500000 2.749999 -0.437500 +v -0.500000 0.000000 -0.437500 +v -0.500000 0.000000 -0.500000 +v -0.500000 0.437500 -0.500000 +v -0.437500 0.000000 -0.437500 +v -0.437500 0.000000 -0.500000 +v -0.500000 0.500000 -0.437500 +v -0.500000 0.500000 -0.500000 +v -0.437500 0.500000 -0.500000 +v -0.437500 0.500000 -0.437500 +v -0.500000 2.687499 -0.500000 +v -0.437500 2.687499 -0.437500 +v -0.500000 2.749999 -0.500000 +v -0.437500 0.500000 0.437500 +v -0.187500 0.625000 0.250000 +v -0.187500 3.250000 0.250000 +v -0.250000 0.625000 0.250000 +v -0.250000 3.250000 0.250000 +v -0.187500 0.625000 0.187500 +v -0.187500 3.250000 0.187500 +v -0.250000 0.625000 0.187500 +v -0.250000 3.250000 0.187500 +v -0.250000 0.625000 -0.187500 +v -0.250000 3.250000 -0.187500 +v -0.250000 0.625000 -0.250000 +v -0.250000 3.250000 -0.250000 +v -0.187500 0.625000 -0.187500 +v -0.187500 3.250000 -0.187500 +v -0.187500 0.625000 -0.250000 +v -0.187500 3.250000 -0.250000 +v 0.187500 0.625000 -0.250000 +v 0.187500 3.250000 -0.250000 +v 0.250000 0.625000 -0.250000 +v 0.250000 3.250000 -0.250000 +v 0.187500 0.625000 -0.187500 +v 0.187500 3.250000 -0.187500 +v 0.250000 0.625000 -0.187500 +v 0.250000 3.250000 -0.187500 +v 0.250000 0.625000 0.187500 +v 0.250000 3.249999 0.187500 +v 0.250000 0.625000 0.250000 +v 0.250000 3.249999 0.250000 +v 0.187500 0.625000 0.187500 +v 0.187500 3.249999 0.187500 +v 0.187500 0.625000 0.250000 +v 0.187500 3.249999 0.250000 +v 0.000000 0.625000 0.044194 +v 0.000000 3.250000 0.044194 +v -0.044194 0.625000 0.000000 +v -0.044194 3.250000 0.000000 +v 0.044194 0.625000 0.000000 +v 0.044194 3.250000 0.000000 +v 0.000000 0.625000 -0.044194 +v 0.000000 3.250000 -0.044194 +v -0.000000 2.750000 -0.482963 +v -0.000000 3.000000 -0.482963 +v 0.241481 2.750000 -0.418258 +v 0.241481 3.000000 -0.418258 +v 0.418258 2.750000 -0.241481 +v 0.418258 3.000000 -0.241481 +v 0.482963 2.750000 0.000000 +v 0.482963 3.000000 0.000000 +v 0.418258 2.750000 0.241482 +v 0.418258 3.000000 0.241482 +v 0.241482 2.750000 0.418258 +v 0.241482 3.000000 0.418258 +v 0.000000 2.750000 0.482963 +v 0.000000 3.000000 0.482963 +v -0.241481 2.750000 0.418258 +v -0.241481 3.000000 0.418258 +v -0.418258 2.750000 0.241482 +v -0.418258 3.000000 0.241482 +v -0.482963 2.750000 0.000000 +v -0.482963 3.000000 0.000000 +v -0.418258 2.750000 -0.241481 +v -0.418258 3.000000 -0.241481 +v -0.241482 2.750000 -0.418258 +v -0.241482 3.000000 -0.418258 +v -0.000000 0.875000 -0.482963 +v -0.000000 2.500000 -0.482963 +v 0.241481 0.875000 -0.418258 +v 0.241481 2.500000 -0.418258 +v 0.418258 0.875000 -0.241481 +v 0.418258 2.500000 -0.241481 +v 0.482963 0.875000 0.000000 +v 0.482963 2.500000 0.000000 +v 0.418258 0.875000 0.241482 +v 0.418258 2.500000 0.241482 +v 0.241482 0.875000 0.418258 +v 0.241482 2.500000 0.418258 +v 0.000000 0.875000 0.482963 +v 0.000000 2.500000 0.482963 +v -0.241481 0.875000 0.418258 +v -0.241481 2.500000 0.418258 +v -0.418258 0.875000 0.241482 +v -0.418258 2.500000 0.241482 +v -0.482963 0.875000 0.000000 +v -0.482963 2.500000 0.000000 +v -0.418258 0.875000 -0.241481 +v -0.418258 2.500000 -0.241481 +v -0.241482 0.875000 -0.418258 +v -0.241482 2.500000 -0.418258 +v -0.000000 1.250000 -0.482963 +v 0.241481 1.250000 -0.418258 +v 0.418258 1.250000 -0.241481 +v 0.482963 1.250000 0.000000 +v 0.241482 1.250000 0.418258 +v 0.000000 1.250000 0.482963 +v -0.418258 1.250000 0.241482 +v -0.482963 1.250000 0.000000 +v -0.241482 1.250000 -0.418258 +v -0.000000 1.875000 -0.482963 +v 0.241481 1.875000 -0.418258 +v 0.418258 1.875000 -0.241481 +v 0.482963 1.875000 0.000000 +v -0.418258 1.875000 0.241482 +v -0.482963 1.875000 0.000000 +v -0.418258 1.875000 -0.241481 +v -0.241482 1.875000 -0.418258 +v -0.000000 0.375000 -0.482963 +v -0.000000 0.625000 -0.482963 +v 0.241481 0.375000 -0.418258 +v 0.241481 0.625000 -0.418258 +v 0.418258 0.375000 -0.241481 +v 0.418258 0.625000 -0.241481 +v 0.482963 0.375000 0.000000 +v 0.482963 0.625000 0.000000 +v 0.418258 0.375000 0.241482 +v 0.418258 0.625000 0.241482 +v 0.241482 0.375000 0.418258 +v 0.241482 0.625000 0.418258 +v 0.000000 0.375000 0.482963 +v 0.000000 0.625000 0.482963 +v -0.241481 0.375000 0.418258 +v -0.241481 0.625000 0.418258 +v -0.418258 0.375000 0.241482 +v -0.418258 0.625000 0.241482 +v -0.482963 0.375000 0.000000 +v -0.482963 0.625000 0.000000 +v -0.418258 0.375000 -0.241481 +v -0.418258 0.625000 -0.241481 +v -0.241482 0.375000 -0.418258 +v -0.241482 0.625000 -0.418258 +v 0.418258 1.250000 0.241482 +v -0.241481 1.250000 0.418258 +v -0.418258 1.250000 -0.241481 +v 0.418258 1.875000 0.241482 +v 0.241482 1.875000 0.418258 +v 0.000000 1.875000 0.482963 +v -0.241481 1.875000 0.418258 +vt 0.196262 0.875000 +vt 0.327103 0.854167 +vt 0.327103 0.875000 +vt 0.196262 0.791667 +vt 0.327103 0.812500 +vt 0.196262 0.812500 +vt 0.196262 0.895833 +vt 0.327103 0.916667 +vt 0.196262 0.916667 +vt 0.327103 0.937500 +vt 0.196262 0.937500 +vt 0.196262 0.833333 +vt 0.196262 0.854167 +vt 0.327103 0.833333 +vt 0.196262 0.958333 +vt 0.327103 0.979167 +vt 0.196262 0.979167 +vt 0.327103 0.958333 +vt 0.177570 0.187500 +vt 0.168224 0.041667 +vt 0.177570 0.041667 +vt 0.168224 0.187500 +vt 0.158879 0.041667 +vt 0.158879 0.187500 +vt 0.149533 0.041667 +vt 0.186916 0.187500 +vt 0.186916 0.041667 +vt 0.168224 0.020833 +vt 0.168224 0.208333 +vt 0.158879 0.937500 +vt 0.158879 0.208333 +vt 0.149533 0.937500 +vt 0.149533 0.208333 +vt 0.177570 0.208333 +vt 0.168224 0.937500 +vt 0.186916 0.937500 +vt 0.177570 0.937500 +vt 0.168224 0.958333 +vt 0.158879 0.979167 +vt 0.158879 0.958333 +vt 0.196262 0.250000 +vt 0.327103 0.229167 +vt 0.327103 0.250000 +vt 0.196262 0.166667 +vt 0.327103 0.187500 +vt 0.196262 0.187500 +vt 0.196262 0.291667 +vt 0.327103 0.270833 +vt 0.327103 0.291667 +vt 0.327103 0.312500 +vt 0.196262 0.312500 +vt 0.196262 0.208333 +vt 0.196262 0.229167 +vt 0.327103 0.208333 +vt 0.196262 0.333333 +vt 0.327103 0.354167 +vt 0.196262 0.354167 +vt 0.327103 0.333333 +vt 0.130841 0.041667 +vt 0.121495 0.187500 +vt 0.121495 0.041667 +vt 0.112150 0.041667 +vt 0.112150 0.187500 +vt 0.102804 0.041667 +vt 0.140187 0.187500 +vt 0.140187 0.041667 +vt 0.121495 0.020833 +vt 0.130841 0.208333 +vt 0.121495 0.208333 +vt 0.112150 0.937500 +vt 0.112150 0.208333 +vt 0.102804 0.937500 +vt 0.102804 0.208333 +vt 0.121495 0.937500 +vt 0.140187 0.937500 +vt 0.130841 0.937500 +vt 0.121495 0.958333 +vt 0.112150 0.979167 +vt 0.112150 0.958333 +vt 0.196262 0.437500 +vt 0.327103 0.458333 +vt 0.196262 0.458333 +vt 0.196262 0.375000 +vt 0.327103 0.395833 +vt 0.196262 0.395833 +vt 0.196262 0.500000 +vt 0.327103 0.479167 +vt 0.327103 0.500000 +vt 0.327103 0.520833 +vt 0.196262 0.520833 +vt 0.196262 0.416667 +vt 0.327103 0.437500 +vt 0.327103 0.416667 +vt 0.196262 0.541667 +vt 0.327103 0.562500 +vt 0.196262 0.562500 +vt 0.327103 0.541667 +vt 0.084112 0.187500 +vt 0.074766 0.041667 +vt 0.084112 0.041667 +vt 0.074766 0.187500 +vt 0.065421 0.041667 +vt 0.065421 0.187500 +vt 0.056075 0.041667 +vt 0.093458 0.187500 +vt 0.093458 0.041667 +vt 0.074766 0.020833 +vt 0.074766 0.208333 +vt 0.065421 0.937500 +vt 0.065421 0.208333 +vt 0.056075 0.937500 +vt 0.056075 0.208333 +vt 0.084112 0.208333 +vt 0.074766 0.937500 +vt 0.093458 0.208333 +vt 0.084112 0.937500 +vt 0.074766 0.958333 +vt 0.065421 0.979167 +vt 0.065421 0.958333 +vt 0.196262 0.645833 +vt 0.327103 0.666667 +vt 0.196262 0.666667 +vt 0.196262 0.583333 +vt 0.327103 0.604167 +vt 0.196262 0.604167 +vt 0.196262 0.687500 +vt 0.327103 0.708333 +vt 0.196262 0.708333 +vt 0.327103 0.729167 +vt 0.196262 0.729167 +vt 0.196262 0.625000 +vt 0.327103 0.645833 +vt 0.327103 0.625000 +vt 0.196262 0.750000 +vt 0.327103 0.770833 +vt 0.196262 0.770833 +vt 0.327103 0.750000 +vt 0.037383 0.041667 +vt 0.028037 0.187500 +vt 0.028037 0.041667 +vt 0.018692 0.041667 +vt 0.018692 0.187500 +vt 0.009346 0.041667 +vt 0.046729 0.041667 +vt 0.037383 0.187500 +vt 0.028037 0.020833 +vt 0.028037 0.208333 +vt 0.018692 0.208333 +vt 0.028037 0.937500 +vt 0.018692 0.937500 +vt 0.009346 0.937500 +vt 0.009346 0.208333 +vt 0.037383 0.208333 +vt 0.046729 0.937500 +vt 0.037383 0.937500 +vt 0.018692 0.958333 +vt 0.028037 0.979167 +vt 0.018692 0.979167 +vt 0.028037 0.958333 +vt 0.981308 0.958333 +vt 0.971963 0.083333 +vt 0.981308 0.083333 +vt 0.971963 0.958333 +vt 0.962617 0.083333 +vt 0.962617 0.958333 +vt 0.953271 0.083333 +vt 0.990654 0.958333 +vt 0.990654 0.083333 +vt 0.971963 0.062500 +vt 0.962617 0.979167 +vt 0.971963 0.958333 +vt 0.962617 0.083333 +vt 0.971963 0.083333 +vt 0.962617 0.958333 +vt 0.962617 0.083333 +vt 0.962617 0.958333 +vt 0.953271 0.083333 +vt 0.981308 0.958333 +vt 0.981308 0.083333 +vt 0.962617 0.062500 +vt 0.962617 0.979167 +vt 0.981308 0.958333 +vt 0.971963 0.083333 +vt 0.981308 0.083333 +vt 0.971963 0.958333 +vt 0.962617 0.083333 +vt 0.962617 0.958333 +vt 0.953271 0.083333 +vt 0.990654 0.958333 +vt 0.990654 0.083333 +vt 0.971963 0.062500 +vt 0.962617 0.979167 +vt 0.981308 0.958333 +vt 0.971963 0.083333 +vt 0.981308 0.083333 +vt 0.971963 0.958333 +vt 0.962617 0.083333 +vt 0.962617 0.958333 +vt 0.953271 0.083333 +vt 0.990654 0.958333 +vt 0.990654 0.083333 +vt 0.971963 0.062500 +vt 0.962617 0.979167 +vt 0.981308 0.937500 +vt 0.971963 0.083333 +vt 0.981308 0.083333 +vt 0.971963 0.937500 +vt 0.962617 0.083333 +vt 0.962617 0.937500 +vt 0.953271 0.083333 +vt 0.990654 0.937500 +vt 0.990654 0.083333 +vt 0.962617 0.062500 +vt 0.971963 0.062500 +vt 0.962617 0.958333 +vt 0.931373 0.734111 +vt 0.931373 0.891909 +vt 0.809118 0.891909 +vt 0.834588 0.597798 +vt 0.798890 0.459569 +vt 0.834588 0.321339 +vt 0.929832 0.381477 +vt 0.929832 0.538896 +vt 0.808072 0.538896 +vt 0.833899 0.595815 +vt 0.798844 0.459857 +vt 0.833899 0.323899 +vt 0.904019 0.595876 +vt 0.833711 0.595876 +vt 0.833711 0.323185 +vt 0.807667 0.538321 +vt 0.807667 0.380081 +vt 0.930063 0.380081 +vt 0.933314 0.381363 +vt 0.933315 0.541399 +vt 0.808554 0.541399 +vt 0.834321 0.947544 +vt 0.798967 0.811493 +vt 0.834321 0.675442 +vt 0.327103 0.791667 +vt 0.327103 0.895833 +vt 0.149533 0.187500 +vt 0.158879 0.020833 +vt 0.186916 0.208333 +vt 0.168224 0.979167 +vt 0.177570 0.958333 +vt 0.327103 0.166667 +vt 0.196262 0.270833 +vt 0.130841 0.187500 +vt 0.102804 0.187500 +vt 0.112150 0.020833 +vt 0.140187 0.208333 +vt 0.121495 0.979167 +vt 0.130841 0.958333 +vt 0.327103 0.375000 +vt 0.196262 0.479167 +vt 0.056075 0.187500 +vt 0.065421 0.020833 +vt 0.093458 0.937500 +vt 0.074766 0.979167 +vt 0.084112 0.958333 +vt 0.327103 0.583333 +vt 0.327103 0.687500 +vt 0.009346 0.187500 +vt 0.046729 0.187500 +vt 0.018692 0.020833 +vt 0.046729 0.208333 +vt 0.037383 0.958333 +vt 0.953271 0.958333 +vt 0.962617 0.062500 +vt 0.971963 0.979167 +vt 0.953271 0.958333 +vt 0.962617 0.062500 +vt 0.962617 0.979167 +vt 0.953271 0.958333 +vt 0.962617 0.062500 +vt 0.971963 0.979167 +vt 0.953271 0.958333 +vt 0.962617 0.062500 +vt 0.971963 0.979167 +vt 0.953271 0.937500 +vt 0.971963 0.958333 +vt 0.905538 0.949667 +vt 0.870245 0.970808 +vt 0.834953 0.949667 +vt 0.799661 0.813010 +vt 0.809118 0.734111 +vt 0.834953 0.676353 +vt 0.870245 0.655211 +vt 0.905538 0.676353 +vt 0.940830 0.813010 +vt 0.870287 0.299955 +vt 0.905985 0.321339 +vt 0.932118 0.379762 +vt 0.941683 0.459569 +vt 0.932118 0.539376 +vt 0.905985 0.597798 +vt 0.870286 0.619183 +vt 0.808455 0.539375 +vt 0.808455 0.379762 +vt 0.904101 0.596515 +vt 0.868952 0.617605 +vt 0.833803 0.596515 +vt 0.798653 0.460186 +vt 0.808072 0.381477 +vt 0.833803 0.323858 +vt 0.868952 0.302768 +vt 0.904101 0.323858 +vt 0.939251 0.460187 +vt 0.868952 0.302867 +vt 0.904006 0.323899 +vt 0.929667 0.381362 +vt 0.939060 0.459857 +vt 0.929667 0.538353 +vt 0.904006 0.595815 +vt 0.868953 0.616848 +vt 0.808237 0.538353 +vt 0.808238 0.381362 +vt 0.807977 0.538250 +vt 0.798557 0.459530 +vt 0.807977 0.380811 +vt 0.868865 0.302092 +vt 0.939173 0.459530 +vt 0.904019 0.323184 +vt 0.929754 0.380810 +vt 0.929753 0.538250 +vt 0.868865 0.616969 +vt 0.868866 0.617441 +vt 0.833532 0.596241 +vt 0.798199 0.459201 +vt 0.833533 0.322161 +vt 0.868865 0.300961 +vt 0.904198 0.322161 +vt 0.939531 0.459201 +vt 0.930063 0.538321 +vt 0.904198 0.596241 +vt 0.906950 0.599976 +vt 0.870934 0.621417 +vt 0.834919 0.599976 +vt 0.798904 0.461381 +vt 0.808554 0.381363 +vt 0.834919 0.322786 +vt 0.870934 0.301345 +vt 0.906950 0.322786 +vt 0.942965 0.461381 +vt 0.869675 0.654395 +vt 0.905029 0.675442 +vt 0.930910 0.732944 +vt 0.940383 0.811493 +vt 0.930910 0.890042 +vt 0.905029 0.947544 +vt 0.869675 0.968591 +vt 0.808440 0.890042 +vt 0.808440 0.732944 +vt 0.560748 0.979167 +vt 0.523364 0.895833 +vt 0.560748 0.895833 +vt 0.523364 0.979167 +vt 0.485981 0.895833 +vt 0.485981 0.979167 +vt 0.448598 0.895833 +vt 0.448598 0.979167 +vt 0.411215 0.895833 +vt 0.411215 0.979167 +vt 0.373832 0.895833 +vt 0.373832 0.979167 +vt 0.336449 0.895833 +vt 0.785047 0.979167 +vt 0.747664 0.895833 +vt 0.785047 0.895833 +vt 0.747664 0.979167 +vt 0.710280 0.895833 +vt 0.710280 0.979167 +vt 0.672897 0.895833 +vt 0.672897 0.979167 +vt 0.635514 0.895833 +vt 0.635514 0.979167 +vt 0.598131 0.895833 +vt 0.598131 0.979167 +vt 0.560748 0.812500 +vt 0.523364 0.604167 +vt 0.560748 0.604167 +vt 0.523364 0.812500 +vt 0.485981 0.604167 +vt 0.485981 0.812500 +vt 0.448598 0.604167 +vt 0.448598 0.812500 +vt 0.411215 0.604167 +vt 0.411215 0.812500 +vt 0.373832 0.604167 +vt 0.373832 0.812500 +vt 0.336449 0.604167 +vt 0.785047 0.812500 +vt 0.747664 0.604167 +vt 0.785047 0.604167 +vt 0.747664 0.812500 +vt 0.710280 0.604167 +vt 0.710280 0.812500 +vt 0.672897 0.604167 +vt 0.672897 0.812500 +vt 0.635514 0.604167 +vt 0.635514 0.812500 +vt 0.598131 0.604167 +vt 0.598131 0.812500 +vt 0.598131 0.395833 +vt 0.560748 0.270833 +vt 0.598131 0.270833 +vt 0.635514 0.395833 +vt 0.635514 0.270833 +vt 0.672897 0.395833 +vt 0.672897 0.270833 +vt 0.710280 0.395833 +vt 0.710280 0.270833 +vt 0.747664 0.395833 +vt 0.747664 0.270833 +vt 0.785047 0.395833 +vt 0.785047 0.270833 +vt 0.373832 0.395833 +vt 0.336449 0.270833 +vt 0.373832 0.270833 +vt 0.411215 0.395833 +vt 0.411215 0.270833 +vt 0.448598 0.395833 +vt 0.448598 0.270833 +vt 0.485981 0.395833 +vt 0.485981 0.270833 +vt 0.523364 0.395833 +vt 0.523364 0.270833 +vt 0.560748 0.395833 +vt 0.560748 0.187500 +vt 0.523364 0.104167 +vt 0.560748 0.104167 +vt 0.523364 0.187500 +vt 0.485981 0.104167 +vt 0.485981 0.187500 +vt 0.448598 0.104167 +vt 0.448598 0.187500 +vt 0.411215 0.104167 +vt 0.411215 0.187500 +vt 0.373832 0.104167 +vt 0.373832 0.187500 +vt 0.336449 0.104167 +vt 0.785047 0.187500 +vt 0.747664 0.104167 +vt 0.785047 0.104167 +vt 0.747664 0.187500 +vt 0.710280 0.104167 +vt 0.710280 0.187500 +vt 0.672897 0.104167 +vt 0.672897 0.187500 +vt 0.635514 0.104167 +vt 0.635514 0.187500 +vt 0.598131 0.104167 +vt 0.598131 0.187500 +vt 0.336449 0.395833 +vt 0.336449 0.979167 +vt 0.336449 0.812500 +vt 0.336449 0.187500 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 -0.0000 1.0000 +vn -0.0000 1.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 0.0000 vn -1.0000 0.0000 0.0000 -vn 0.0000 -0.0000 1.0000 -vn 0.3827 0.0000 -0.9239 -vn 0.7071 0.0000 -0.7071 -vn 0.9239 0.0000 -0.3827 -vn 0.9239 -0.0000 0.3827 -vn 0.7071 -0.0000 0.7071 -vn 0.3827 -0.0000 0.9239 -vn -0.3827 -0.0000 0.9239 -vn -0.7071 -0.0000 0.7071 -vn -0.9239 -0.0000 0.3827 -vn -0.9239 0.0000 -0.3827 +vn -0.7071 0.0000 0.7071 vn -0.7071 0.0000 -0.7071 -vn -0.3827 0.0000 -0.9239 -vn -0.2680 -0.7139 -0.6469 -vn 0.0000 -0.7139 -0.7002 -vn -0.4951 -0.7139 -0.4951 -vn -0.6469 -0.7139 -0.2680 -vn -0.7002 -0.7139 0.0000 -vn -0.6469 -0.7139 0.2680 -vn -0.4951 -0.7139 0.4951 -vn -0.2680 -0.7139 0.6469 -vn 0.0000 -0.7139 0.7002 -vn 0.2680 -0.7139 0.6469 -vn 0.4951 -0.7139 0.4951 -vn 0.6469 -0.7139 0.2680 -vn 0.7002 -0.7139 -0.0000 -vn 0.6469 -0.7139 -0.2680 -vn 0.4951 -0.7139 -0.4951 -vn 0.2680 -0.7139 -0.6469 -vn -0.6572 0.3688 -0.6572 -vn -0.0000 0.7345 -0.6786 -vn -0.0000 0.3688 -0.9295 -vn -0.6786 0.7345 0.0000 -vn -0.4798 0.7345 -0.4799 -vn -0.6572 0.3688 0.6572 -vn -0.9295 0.3689 0.0000 -vn 0.0000 0.7345 0.6786 -vn -0.4798 0.7345 0.4799 -vn 0.6572 0.3688 0.6572 -vn 0.0000 0.3688 0.9295 -vn 0.6786 0.7345 0.0000 -vn 0.4798 0.7345 0.4799 -vn 0.6572 0.3688 -0.6572 -vn 0.9295 0.3689 -0.0000 -vn 0.4798 0.7345 -0.4799 -vn 0.6573 0.3689 0.6572 -vn 0.6573 0.3689 -0.6572 -vn 0.4798 0.7345 -0.4798 -vn 0.4798 0.7345 0.4798 -vn -0.6573 0.3688 -0.6572 -vn 0.9295 0.3688 -0.0000 -vn -0.9295 0.3688 0.0000 -vn 0.4799 0.7345 -0.4798 -vn 0.4799 0.7345 0.4798 -vn -0.4799 0.7345 0.4798 -vn -0.4799 0.7345 -0.4798 -vn 0.6573 0.3688 0.6572 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.5000 0.0000 -0.8660 +vn 0.8660 0.0000 -0.5000 +vn 0.8660 0.0000 0.5000 +vn 0.5000 0.0000 0.8660 +vn -0.5000 0.0000 0.8660 +vn -0.8660 0.0000 0.5000 +vn -0.8660 0.0000 -0.5000 +vn -0.5000 0.0000 -0.8660 +usemtl None s off -f 267/1/1 245/2/1 242/3/1 -f 266/4/2 242/3/2 241/5/2 -f 48/6/3 56/7/3 64/8/3 -f 110/9/4 112/10/4 104/11/4 -f 49/12/4 41/13/4 36/14/4 -f 66/15/3 87/16/3 73/17/3 -f 27/18/3 19/19/3 11/20/3 -f 20/21/3 12/22/3 4/23/3 -f 132/24/4 134/25/4 129/26/4 -f 140/27/3 139/28/3 143/29/3 -f 148/30/4 150/31/4 145/32/4 -f 156/33/3 155/34/3 159/35/3 -f 164/36/4 166/37/4 161/38/4 -f 173/39/3 172/40/3 171/41/3 -f 180/42/4 182/43/4 177/44/4 -f 188/45/3 187/46/3 191/47/3 -f 196/48/4 198/49/4 193/50/4 -f 204/51/3 203/52/3 207/53/3 -f 216/54/3 218/55/3 222/56/3 -f 236/57/4 210/58/4 231/59/4 -f 251/60/3 248/61/3 244/62/3 -f 249/63/3 247/64/3 243/65/3 -f 245/66/3 241/67/3 242/68/3 -f 255/69/3 254/70/3 253/71/3 -f 270/72/1 251/73/1 244/74/1 -f 272/75/5 252/76/5 251/73/5 -f 267/77/4 263/78/4 264/79/4 -f 259/80/4 265/81/4 271/82/4 -f 270/72/4 268/83/4 272/75/4 -f 262/84/4 257/85/4 261/86/4 -f 249/87/1 259/88/1 271/89/1 -f 265/90/5 249/87/5 271/89/5 -f 260/91/6 250/92/6 265/90/6 -f 260/93/2 243/94/2 247/95/2 -f 252/96/6 269/97/6 248/98/6 -f 262/99/1 255/100/1 253/101/1 -f 261/102/5 256/103/5 255/100/5 -f 256/103/6 258/104/6 254/105/6 -f 269/97/2 244/74/2 248/98/2 -f 258/104/2 253/106/2 254/105/2 -f 246/107/6 266/4/6 241/5/6 -f 264/108/5 246/107/5 245/109/5 -f 321/110/2 336/111/2 335/112/2 -f 327/113/4 335/114/4 336/115/4 -f 317/116/5 327/113/5 329/117/5 -f 330/118/4 318/119/4 320/120/4 -f 307/121/4 323/122/4 325/123/4 -f 312/124/2 307/121/2 325/123/2 -f 312/124/3 310/125/3 309/126/3 -f 323/127/5 310/125/5 314/128/5 -f 328/129/5 313/130/5 318/119/5 -f 313/130/3 315/131/3 311/132/3 -f 315/131/2 320/133/2 311/132/2 -f 317/116/3 331/134/3 321/110/3 -f 326/135/3 306/136/3 308/137/3 -f 306/136/5 332/138/5 319/139/5 -f 324/140/2 326/135/2 308/137/2 -f 324/140/4 332/141/4 333/142/4 -f 364/143/6 361/144/6 366/145/6 -f 360/146/4 339/147/4 338/148/4 -f 352/149/4 356/150/4 355/151/4 -f 350/152/1 345/153/1 356/150/1 -f 344/154/3 345/153/3 341/155/3 -f 346/156/6 352/157/6 355/158/6 -f 348/159/6 338/148/6 343/160/6 -f 342/161/3 348/159/3 343/160/3 -f 339/162/1 347/163/1 342/161/1 -f 353/164/3 357/165/3 351/166/3 -f 340/167/3 361/144/3 337/168/3 -f 366/145/4 349/169/4 364/143/4 -f 365/170/1 340/167/1 349/171/1 -f 357/165/1 367/172/1 351/166/1 -f 368/173/4 363/174/4 367/172/4 -f 362/175/6 353/164/6 363/176/6 -f 267/1/1 264/177/1 245/2/1 -f 266/4/2 267/1/2 242/3/2 -f 64/8/3 35/178/3 40/179/3 -f 35/178/3 34/180/3 40/179/3 -f 34/180/3 38/181/3 40/179/3 -f 40/179/3 42/182/3 48/6/3 -f 42/182/3 44/183/3 48/6/3 -f 44/183/3 46/184/3 48/6/3 -f 48/6/3 50/185/3 52/186/3 -f 52/186/3 54/187/3 48/6/3 -f 54/187/3 56/7/3 48/6/3 -f 56/7/3 58/188/3 60/189/3 -f 60/189/3 62/190/3 56/7/3 -f 62/190/3 64/8/3 56/7/3 -f 64/8/3 40/179/3 48/6/3 -f 112/10/4 97/191/4 98/192/4 -f 98/192/4 99/193/4 100/194/4 -f 100/194/4 101/195/4 102/196/4 -f 102/196/4 103/197/4 104/11/4 -f 104/11/4 105/198/4 106/199/4 -f 106/199/4 107/200/4 108/201/4 -f 108/201/4 109/202/4 110/9/4 -f 110/9/4 111/203/4 112/10/4 -f 112/10/4 98/192/4 104/11/4 -f 98/192/4 100/194/4 104/11/4 -f 100/194/4 102/196/4 104/11/4 -f 104/11/4 106/199/4 108/201/4 -f 108/201/4 110/9/4 104/11/4 -f 36/14/4 63/204/4 61/205/4 -f 61/205/4 59/206/4 57/207/4 -f 57/207/4 55/208/4 53/209/4 -f 53/209/4 51/210/4 49/12/4 -f 49/12/4 47/211/4 45/212/4 -f 45/212/4 43/213/4 41/13/4 -f 41/13/4 39/214/4 37/215/4 -f 37/215/4 33/216/4 36/14/4 -f 36/14/4 61/205/4 57/207/4 -f 57/207/4 53/209/4 36/14/4 -f 53/209/4 49/12/4 36/14/4 -f 49/12/4 45/212/4 41/13/4 -f 41/13/4 37/215/4 36/14/4 -f 73/17/3 113/217/3 70/218/3 -f 70/218/3 69/219/3 89/220/3 -f 89/220/3 85/221/3 81/222/3 -f 81/222/3 77/223/3 66/15/3 -f 66/15/3 65/224/3 93/225/3 -f 93/225/3 91/226/3 87/16/3 -f 87/16/3 83/227/3 79/228/3 -f 79/228/3 74/229/3 73/17/3 -f 73/17/3 70/218/3 89/220/3 -f 89/220/3 81/222/3 73/17/3 -f 81/222/3 66/15/3 73/17/3 -f 66/15/3 93/225/3 87/16/3 -f 87/16/3 79/228/3 73/17/3 -f 3/230/3 2/231/3 27/18/3 -f 2/231/3 31/232/3 27/18/3 -f 31/232/3 29/233/3 27/18/3 -f 27/18/3 25/234/3 19/19/3 -f 25/234/3 23/235/3 19/19/3 -f 23/235/3 21/236/3 19/19/3 -f 19/19/3 17/237/3 15/238/3 -f 15/238/3 13/239/3 19/19/3 -f 13/239/3 11/20/3 19/19/3 -f 11/20/3 9/240/3 7/241/3 -f 7/241/3 5/242/3 11/20/3 -f 5/242/3 3/230/3 11/20/3 -f 3/230/3 27/18/3 11/20/3 -f 4/23/3 1/243/3 28/244/3 -f 1/243/3 32/245/3 28/244/3 -f 32/245/3 30/246/3 28/244/3 -f 28/244/3 26/247/3 20/21/3 -f 26/247/3 24/248/3 20/21/3 -f 24/248/3 22/249/3 20/21/3 -f 20/21/3 18/250/3 16/251/3 -f 16/251/3 14/252/3 20/21/3 -f 14/252/3 12/22/3 20/21/3 -f 12/22/3 10/253/3 8/254/3 -f 8/254/3 6/255/3 12/22/3 -f 6/255/3 4/23/3 12/22/3 -f 4/23/3 28/244/3 20/21/3 -f 129/26/4 130/256/4 136/257/4 -f 136/257/4 131/258/4 132/24/4 -f 132/24/4 133/259/4 134/25/4 -f 134/25/4 135/260/4 129/26/4 -f 129/26/4 136/257/4 132/24/4 -f 139/28/3 138/261/3 137/262/3 -f 137/262/3 144/263/3 139/28/3 -f 144/263/3 143/29/3 139/28/3 -f 143/29/3 142/264/3 141/265/3 -f 141/265/3 140/27/3 143/29/3 -f 145/32/4 146/266/4 152/267/4 -f 152/267/4 147/268/4 145/32/4 -f 147/268/4 148/30/4 145/32/4 -f 148/30/4 149/269/4 150/31/4 -f 150/31/4 151/270/4 145/32/4 -f 155/34/3 154/271/3 153/272/3 -f 153/272/3 160/273/3 155/34/3 -f 160/273/3 159/35/3 155/34/3 -f 159/35/3 158/274/3 157/275/3 -f 157/275/3 156/33/3 159/35/3 -f 161/38/4 162/276/4 168/277/4 -f 168/277/4 163/278/4 164/36/4 -f 164/36/4 165/279/4 166/37/4 -f 166/37/4 167/280/4 161/38/4 -f 161/38/4 168/277/4 164/36/4 -f 171/41/3 170/281/3 169/282/3 -f 169/282/3 176/283/3 171/41/3 -f 176/283/3 175/284/3 171/41/3 -f 175/284/3 174/285/3 171/41/3 -f 174/285/3 173/39/3 171/41/3 -f 177/44/4 178/286/4 184/287/4 -f 184/287/4 179/288/4 180/42/4 -f 180/42/4 181/289/4 182/43/4 -f 182/43/4 183/290/4 177/44/4 -f 177/44/4 184/287/4 180/42/4 -f 187/46/3 186/291/3 191/47/3 -f 186/291/3 185/292/3 191/47/3 -f 185/292/3 192/293/3 191/47/3 -f 191/47/3 190/294/3 189/295/3 -f 189/295/3 188/45/3 191/47/3 -f 193/50/4 194/296/4 200/297/4 -f 200/297/4 195/298/4 196/48/4 -f 196/48/4 197/299/4 198/49/4 -f 198/49/4 199/300/4 193/50/4 -f 193/50/4 200/297/4 196/48/4 -f 203/52/3 202/301/3 207/53/3 -f 202/301/3 201/302/3 207/53/3 -f 201/302/3 208/303/3 207/53/3 -f 207/53/3 206/304/3 205/305/3 -f 205/305/3 204/51/3 207/53/3 -f 226/306/3 213/307/3 216/54/3 -f 213/307/3 214/308/3 216/54/3 -f 214/308/3 215/309/3 216/54/3 -f 216/54/3 212/310/3 211/311/3 -f 211/311/3 217/312/3 216/54/3 -f 217/312/3 218/55/3 216/54/3 -f 218/55/3 219/313/3 220/314/3 -f 220/314/3 221/315/3 218/55/3 -f 221/315/3 222/56/3 218/55/3 -f 222/56/3 223/316/3 224/317/3 -f 224/317/3 225/318/3 222/56/3 -f 225/318/3 226/306/3 222/56/3 -f 226/306/3 216/54/3 222/56/3 -f 231/59/4 239/319/4 238/320/4 -f 238/320/4 234/321/4 231/59/4 -f 234/321/4 233/322/4 231/59/4 -f 233/322/4 228/323/4 227/324/4 -f 227/324/4 240/325/4 233/322/4 -f 240/325/4 236/57/4 233/322/4 -f 236/57/4 235/326/4 210/58/4 -f 235/326/4 230/327/4 210/58/4 -f 230/327/4 229/328/4 210/58/4 -f 210/58/4 209/329/4 231/59/4 -f 209/329/4 237/330/4 231/59/4 -f 237/330/4 232/331/4 231/59/4 -f 231/59/4 233/322/4 236/57/4 -f 251/60/3 252/332/3 248/61/3 -f 249/63/3 250/333/3 247/64/3 -f 245/66/3 246/334/3 241/67/3 -f 255/69/3 256/335/3 254/70/3 -f 270/72/1 272/75/1 251/73/1 -f 272/75/5 268/336/5 252/76/5 -f 267/77/4 266/337/4 263/78/4 -f 259/80/4 260/338/4 265/81/4 -f 270/72/4 269/339/4 268/83/4 -f 262/84/4 258/340/4 257/85/4 -f 249/87/1 243/94/1 259/88/1 -f 265/90/5 250/92/5 249/87/5 -f 260/91/6 247/341/6 250/92/6 -f 260/93/2 259/88/2 243/94/2 -f 252/96/6 268/342/6 269/97/6 -f 262/99/1 261/102/1 255/100/1 -f 261/102/5 257/343/5 256/103/5 -f 256/103/6 257/343/6 258/104/6 -f 269/97/2 270/72/2 244/74/2 -f 258/104/2 262/344/2 253/106/2 -f 246/107/6 263/345/6 266/4/6 -f 264/108/5 263/345/5 246/107/5 -f 321/110/2 331/134/2 336/111/2 -f 327/113/4 334/346/4 335/114/4 -f 317/116/5 334/346/5 327/113/5 -f 330/118/4 328/129/4 318/119/4 -f 307/121/4 305/347/4 323/122/4 -f 312/124/2 309/126/2 307/121/2 -f 312/124/3 314/128/3 310/125/3 -f 323/127/5 305/348/5 310/125/5 -f 328/129/5 316/349/5 313/130/5 -f 313/130/3 316/349/3 315/131/3 -f 315/131/2 330/350/2 320/133/2 -f 317/116/3 329/117/3 331/134/3 -f 326/135/3 322/351/3 306/136/3 -f 306/136/5 322/351/5 332/138/5 -f 324/140/2 333/142/2 326/135/2 -f 324/140/4 319/352/4 332/141/4 -f 364/143/6 337/168/6 361/144/6 -f 360/146/4 358/353/4 339/147/4 -f 352/149/4 350/152/4 356/150/4 -f 350/152/1 341/155/1 345/153/1 -f 344/154/3 346/156/3 345/153/3 -f 346/156/6 344/154/6 352/157/6 -f 348/159/6 360/146/6 338/148/6 -f 342/161/3 347/163/3 348/159/3 -f 339/162/1 358/354/1 347/163/1 -f 353/164/3 354/355/3 357/165/3 -f 340/167/3 359/356/3 361/144/3 -f 366/145/4 365/357/4 349/169/4 -f 365/170/1 359/356/1 340/167/1 -f 357/165/1 368/173/1 367/172/1 -f 368/173/4 362/358/4 363/174/4 -f 362/175/6 354/355/6 353/164/6 +f 78/1/1 7/2/1 39/3/1 +f 78/4/2 24/5/2 5/6/2 +f 1/7/2 19/8/2 76/9/2 +f 76/9/3 16/10/3 75/11/3 +f 4/12/4 7/2/4 3/13/4 +f 5/6/3 8/14/3 4/12/3 +f 2/15/1 13/16/1 1/17/1 +f 75/11/4 6/18/4 2/15/4 +f 6/19/4 10/20/4 9/21/4 +f 11/22/5 14/23/5 10/20/5 +f 15/24/2 12/25/2 14/23/2 +f 13/26/6 9/21/6 12/27/6 +f 14/23/1 9/28/1 10/20/1 +f 6/19/4 17/29/4 11/22/4 +f 17/29/5 22/30/5 18/31/5 +f 11/22/5 18/31/5 15/24/5 +f 18/31/2 39/32/2 19/33/2 +f 16/34/4 20/35/4 17/29/4 +f 16/34/6 39/36/6 7/37/6 +f 21/38/3 24/39/3 23/40/3 +f 7/37/4 21/38/4 20/35/4 +f 20/35/5 23/40/5 22/30/5 +f 39/41/1 26/42/1 61/43/1 +f 39/44/6 43/45/6 24/46/6 +f 19/47/6 40/48/6 60/49/6 +f 19/47/3 33/50/3 18/51/3 +f 23/52/5 26/42/5 22/53/5 +f 24/46/3 27/54/3 23/52/3 +f 15/55/1 40/56/1 13/57/1 +f 18/51/5 25/58/5 15/55/5 +f 28/59/5 30/60/5 29/61/5 +f 30/60/2 32/62/2 29/61/2 +f 41/63/6 31/64/6 32/62/6 +f 40/65/4 28/59/4 31/66/4 +f 32/62/1 28/67/1 29/61/1 +f 30/60/5 33/68/5 34/69/5 +f 34/69/2 42/70/2 35/71/2 +f 30/60/2 35/71/2 41/63/2 +f 35/71/6 61/72/6 60/73/6 +f 33/68/5 36/74/5 34/69/5 +f 33/68/4 61/75/4 26/76/4 +f 37/77/3 43/78/3 38/79/3 +f 26/76/5 37/77/5 36/74/5 +f 36/74/2 38/79/2 42/70/2 +f 42/80/1 57/81/1 61/82/1 +f 61/83/4 47/84/4 43/85/4 +f 60/86/4 62/87/4 80/88/4 +f 60/86/3 53/89/3 35/90/3 +f 38/91/2 45/92/2 42/80/2 +f 43/85/3 46/93/3 38/91/3 +f 41/94/1 62/95/1 40/96/1 +f 35/90/2 44/97/2 41/94/2 +f 44/98/2 49/99/2 48/100/2 +f 50/101/6 52/102/6 49/99/6 +f 63/103/4 51/104/4 52/102/4 +f 62/105/5 48/100/5 51/106/5 +f 52/102/1 48/107/1 49/99/1 +f 44/98/2 54/108/2 50/101/2 +f 54/108/6 56/109/6 64/110/6 +f 50/101/6 64/110/6 63/103/6 +f 64/110/4 57/111/4 80/112/4 +f 53/113/2 55/114/2 54/108/2 +f 80/115/5 45/116/5 53/113/5 +f 58/117/3 47/118/3 59/119/3 +f 45/116/2 58/117/2 55/114/2 +f 55/114/6 59/119/6 56/109/6 +f 56/120/1 78/121/1 57/122/1 +f 57/123/5 5/124/5 47/125/5 +f 62/126/5 76/127/5 80/128/5 +f 80/128/3 73/129/3 64/130/3 +f 59/131/6 66/132/6 56/120/6 +f 59/131/3 5/124/3 67/133/3 +f 63/134/1 1/135/1 62/136/1 +f 64/130/6 65/137/6 63/134/6 +f 68/138/6 70/139/6 69/140/6 +f 70/139/4 72/141/4 69/140/4 +f 2/142/5 71/143/5 72/141/5 +f 71/144/2 65/145/2 68/138/2 +f 72/141/1 68/146/1 69/140/1 +f 65/145/6 74/147/6 70/139/6 +f 75/148/4 77/149/4 3/150/4 +f 2/142/4 74/147/4 75/148/4 +f 75/148/5 78/151/5 76/152/5 +f 73/153/6 77/149/6 74/147/6 +f 73/153/2 78/154/2 66/155/2 +f 4/156/3 67/157/3 5/158/3 +f 66/155/6 79/159/6 77/149/6 +f 3/150/4 79/159/4 4/156/4 +f 82/160/2 83/161/2 81/162/2 +f 84/163/6 87/164/6 83/161/6 +f 88/165/4 85/166/4 87/164/4 +f 86/167/5 81/162/5 85/168/5 +f 87/164/1 81/169/1 83/161/1 +f 84/163/3 86/170/3 88/165/3 +f 90/171/6 91/172/6 89/173/6 +f 92/174/4 95/175/4 91/172/4 +f 96/176/5 93/177/5 95/175/5 +f 94/178/2 89/173/2 93/179/2 +f 95/175/1 89/180/1 91/172/1 +f 92/174/3 94/181/3 96/176/3 +f 98/182/4 99/183/4 97/184/4 +f 100/185/5 103/186/5 99/183/5 +f 104/187/2 101/188/2 103/186/2 +f 102/189/6 97/184/6 101/190/6 +f 103/186/1 97/191/1 99/183/1 +f 100/185/3 102/192/3 104/187/3 +f 106/193/5 107/194/5 105/195/5 +f 108/196/2 111/197/2 107/194/2 +f 112/198/6 109/199/6 111/197/6 +f 110/200/4 105/195/4 109/201/4 +f 111/197/1 105/202/1 107/194/1 +f 108/196/3 110/203/3 112/198/3 +f 114/204/7 115/205/7 113/206/7 +f 116/207/8 119/208/8 115/205/8 +f 120/209/9 117/210/9 119/208/9 +f 118/211/10 113/206/10 117/212/10 +f 115/205/1 117/213/1 113/214/1 +f 116/207/3 118/215/3 120/209/3 +f 130/216/3 126/217/3 142/218/3 +f 135/219/1 139/220/1 143/221/1 +f 154/222/3 150/223/3 166/224/3 +f 159/225/1 163/226/1 167/227/1 +f 170/228/3 177/229/3 211/230/3 +f 184/231/3 182/232/3 213/233/3 +f 195/234/3 191/235/3 207/236/3 +f 200/237/1 204/238/1 208/239/1 +f 78/1/1 3/13/1 7/2/1 +f 78/4/2 39/240/2 24/5/2 +f 1/7/2 13/241/2 19/8/2 +f 76/9/3 19/8/3 16/10/3 +f 4/12/4 8/14/4 7/2/4 +f 5/6/3 24/5/3 8/14/3 +f 2/15/1 6/18/1 13/16/1 +f 75/11/4 16/10/4 6/18/4 +f 6/19/4 11/22/4 10/20/4 +f 11/22/5 15/24/5 14/23/5 +f 15/24/2 13/242/2 12/25/2 +f 13/26/6 6/19/6 9/21/6 +f 14/23/1 12/243/1 9/28/1 +f 6/19/4 16/34/4 17/29/4 +f 17/29/5 20/35/5 22/30/5 +f 11/22/5 17/29/5 18/31/5 +f 18/31/2 22/30/2 39/32/2 +f 16/34/4 7/37/4 20/35/4 +f 16/34/6 19/244/6 39/36/6 +f 21/38/3 8/245/3 24/39/3 +f 7/37/4 8/246/4 21/38/4 +f 20/35/5 21/38/5 23/40/5 +f 39/41/1 22/53/1 26/42/1 +f 39/44/6 61/247/6 43/45/6 +f 19/47/6 13/248/6 40/48/6 +f 19/47/3 60/49/3 33/50/3 +f 23/52/5 27/54/5 26/42/5 +f 24/46/3 43/45/3 27/54/3 +f 15/55/1 25/58/1 40/56/1 +f 18/51/5 33/50/5 25/58/5 +f 28/59/5 25/249/5 30/60/5 +f 30/60/2 41/63/2 32/62/2 +f 41/63/6 40/250/6 31/64/6 +f 40/65/4 25/249/4 28/59/4 +f 32/62/1 31/251/1 28/67/1 +f 30/60/5 25/249/5 33/68/5 +f 34/69/2 36/74/2 42/70/2 +f 30/60/2 34/69/2 35/71/2 +f 35/71/6 42/70/6 61/72/6 +f 33/68/5 26/76/5 36/74/5 +f 33/68/4 60/252/4 61/75/4 +f 37/77/3 27/253/3 43/78/3 +f 26/76/5 27/254/5 37/77/5 +f 36/74/2 37/77/2 38/79/2 +f 42/80/1 45/92/1 57/81/1 +f 61/83/4 57/255/4 47/84/4 +f 60/86/4 40/256/4 62/87/4 +f 60/86/3 80/88/3 53/89/3 +f 38/91/2 46/93/2 45/92/2 +f 43/85/3 47/84/3 46/93/3 +f 41/94/1 44/97/1 62/95/1 +f 35/90/2 53/89/2 44/97/2 +f 44/98/2 50/101/2 49/99/2 +f 50/101/6 63/103/6 52/102/6 +f 63/103/4 62/257/4 51/104/4 +f 62/105/5 44/98/5 48/100/5 +f 52/102/1 51/258/1 48/107/1 +f 44/98/2 53/113/2 54/108/2 +f 54/108/6 55/114/6 56/109/6 +f 50/101/6 54/108/6 64/110/6 +f 64/110/4 56/109/4 57/111/4 +f 53/113/2 45/116/2 55/114/2 +f 80/115/5 57/259/5 45/116/5 +f 58/117/3 46/260/3 47/118/3 +f 45/116/2 46/261/2 58/117/2 +f 55/114/6 58/117/6 59/119/6 +f 56/120/1 66/132/1 78/121/1 +f 57/123/5 78/262/5 5/124/5 +f 62/126/5 1/263/5 76/127/5 +f 80/128/3 76/127/3 73/129/3 +f 59/131/6 67/133/6 66/132/6 +f 59/131/3 47/125/3 5/124/3 +f 63/134/1 65/137/1 1/135/1 +f 64/130/6 73/129/6 65/137/6 +f 68/138/6 65/145/6 70/139/6 +f 70/139/4 2/142/4 72/141/4 +f 2/142/5 1/264/5 71/143/5 +f 71/144/2 1/265/2 65/145/2 +f 72/141/1 71/266/1 68/146/1 +f 65/145/6 73/153/6 74/147/6 +f 75/148/4 74/147/4 77/149/4 +f 2/142/4 70/139/4 74/147/4 +f 75/148/5 3/150/5 78/151/5 +f 73/153/6 66/155/6 77/149/6 +f 73/153/2 76/267/2 78/154/2 +f 4/156/3 79/159/3 67/157/3 +f 66/155/6 67/268/6 79/159/6 +f 3/150/4 77/149/4 79/159/4 +f 82/160/2 84/163/2 83/161/2 +f 84/163/6 88/165/6 87/164/6 +f 88/165/4 86/269/4 85/166/4 +f 86/167/5 82/160/5 81/162/5 +f 87/164/1 85/270/1 81/169/1 +f 84/163/3 82/271/3 86/170/3 +f 90/171/6 92/174/6 91/172/6 +f 92/174/4 96/176/4 95/175/4 +f 96/176/5 94/272/5 93/177/5 +f 94/178/2 90/171/2 89/173/2 +f 95/175/1 93/273/1 89/180/1 +f 92/174/3 90/274/3 94/181/3 +f 98/182/4 100/185/4 99/183/4 +f 100/185/5 104/187/5 103/186/5 +f 104/187/2 102/275/2 101/188/2 +f 102/189/6 98/182/6 97/184/6 +f 103/186/1 101/276/1 97/191/1 +f 100/185/3 98/277/3 102/192/3 +f 106/193/5 108/196/5 107/194/5 +f 108/196/2 112/198/2 111/197/2 +f 112/198/6 110/278/6 109/199/6 +f 110/200/4 106/193/4 105/195/4 +f 111/197/1 109/279/1 105/202/1 +f 108/196/3 106/280/3 110/203/3 +f 114/204/7 116/207/7 115/205/7 +f 116/207/8 120/209/8 119/208/8 +f 120/209/9 118/281/9 117/210/9 +f 118/211/10 114/204/10 113/206/10 +f 115/205/1 119/208/1 117/213/1 +f 116/207/3 114/282/3 118/215/3 +f 126/217/3 124/283/3 122/284/3 +f 122/284/3 144/285/3 142/218/3 +f 142/218/3 140/286/3 138/287/3 +f 138/287/3 136/288/3 142/218/3 +f 136/288/3 134/289/3 142/218/3 +f 134/289/3 132/290/3 130/216/3 +f 130/216/3 128/291/3 126/217/3 +f 126/217/3 122/284/3 142/218/3 +f 134/289/3 130/216/3 142/218/3 +f 143/221/1 121/292/1 123/293/1 +f 123/293/1 125/294/1 127/295/1 +f 127/295/1 129/296/1 131/297/1 +f 131/297/1 133/298/1 127/295/1 +f 133/298/1 135/219/1 127/295/1 +f 135/219/1 137/299/1 139/220/1 +f 139/220/1 141/300/1 143/221/1 +f 143/221/1 123/293/1 135/219/1 +f 123/293/1 127/295/1 135/219/1 +f 150/223/3 148/301/3 146/302/3 +f 146/302/3 168/303/3 166/224/3 +f 166/224/3 164/304/3 162/305/3 +f 162/305/3 160/306/3 166/224/3 +f 160/306/3 158/307/3 166/224/3 +f 158/307/3 156/308/3 154/222/3 +f 154/222/3 152/309/3 150/223/3 +f 150/223/3 146/302/3 166/224/3 +f 158/307/3 154/222/3 166/224/3 +f 167/227/1 145/310/1 147/311/1 +f 147/311/1 149/312/1 151/313/1 +f 151/313/1 153/314/1 155/315/1 +f 155/315/1 157/316/1 151/313/1 +f 157/316/1 159/225/1 151/313/1 +f 159/225/1 161/317/1 163/226/1 +f 163/226/1 165/318/1 167/227/1 +f 167/227/1 147/311/1 159/225/1 +f 147/311/1 151/313/1 159/225/1 +f 177/229/3 212/319/3 176/320/3 +f 176/320/3 175/321/3 211/230/3 +f 211/230/3 174/322/3 172/323/3 +f 174/322/3 173/324/3 172/323/3 +f 173/324/3 210/325/3 172/323/3 +f 172/323/3 171/326/3 170/228/3 +f 170/228/3 169/327/3 177/229/3 +f 177/229/3 176/320/3 211/230/3 +f 172/323/3 170/228/3 211/230/3 +f 178/328/3 185/329/3 184/231/3 +f 184/231/3 183/330/3 182/232/3 +f 182/232/3 216/331/3 213/233/3 +f 216/331/3 215/332/3 213/233/3 +f 215/332/3 214/333/3 213/233/3 +f 213/233/3 181/334/3 180/335/3 +f 180/335/3 179/336/3 213/233/3 +f 179/336/3 178/328/3 213/233/3 +f 178/328/3 184/231/3 213/233/3 +f 191/235/3 189/337/3 187/338/3 +f 187/338/3 209/339/3 207/236/3 +f 207/236/3 205/340/3 203/341/3 +f 203/341/3 201/342/3 207/236/3 +f 201/342/3 199/343/3 207/236/3 +f 199/343/3 197/344/3 195/234/3 +f 195/234/3 193/345/3 191/235/3 +f 191/235/3 187/338/3 207/236/3 +f 199/343/3 195/234/3 207/236/3 +f 208/239/1 186/346/1 188/347/1 +f 188/347/1 190/348/1 192/349/1 +f 192/349/1 194/350/1 196/351/1 +f 196/351/1 198/352/1 192/349/1 +f 198/352/1 200/237/1 192/349/1 +f 200/237/1 202/353/1 204/238/1 +f 204/238/1 206/354/1 208/239/1 +f 208/239/1 188/347/1 200/237/1 +f 188/347/1 192/349/1 200/237/1 s 1 -f 403/359/1 431/360/7 404/361/1 -f 432/362/7 429/363/8 431/360/7 -f 430/364/8 427/365/9 429/363/8 -f 428/366/9 425/367/2 427/365/9 -f 426/368/2 423/369/10 425/367/2 -f 424/370/10 421/371/11 423/369/10 -f 422/372/11 419/373/12 421/371/11 -f 420/374/12 417/375/6 419/373/12 -f 418/376/6 415/377/13 417/375/6 -f 416/378/13 413/379/14 415/377/13 -f 414/380/14 411/381/15 413/379/14 -f 412/382/15 409/383/5 411/381/15 -f 410/384/5 407/385/16 409/386/5 -f 408/387/16 405/388/17 407/385/16 -f 406/389/17 401/390/18 405/388/17 -f 402/391/18 404/361/1 401/390/18 -f 496/392/19 467/393/20 484/394/20 -f 496/392/19 477/395/21 468/396/19 -f 480/397/22 477/395/21 481/398/21 -f 495/399/23 475/400/22 480/397/22 -f 495/401/23 471/402/24 473/403/23 -f 494/404/24 465/405/25 471/402/24 -f 492/406/26 465/405/25 493/407/25 -f 491/408/27 466/409/26 492/406/26 -f 490/410/28 479/411/27 491/408/27 -f 490/410/28 476/412/29 478/413/28 -f 488/414/30 476/412/29 489/415/29 -f 487/416/31 474/417/30 488/414/30 -f 486/418/32 472/419/31 487/416/31 -f 486/418/32 470/420/33 469/421/32 -f 483/422/34 470/420/33 485/423/33 -f 86/424/6 505/425/12 498/426/12 -f 71/427/7 511/428/1 72/429/1 -f 80/430/5 510/431/15 82/432/15 -f 67/433/9 508/434/8 68/435/8 -f 76/436/17 506/437/16 78/438/16 -f 88/439/13 512/440/6 86/424/6 -f 114/441/10 503/442/2 497/443/2 -f 72/429/1 501/444/18 75/445/18 -f 82/432/15 499/446/14 84/447/14 -f 68/435/8 509/448/7 71/427/7 -f 78/438/16 507/449/5 80/430/5 -f 498/426/12 92/450/11 94/451/11 -f 497/452/2 504/453/9 67/433/9 -f 75/445/18 502/454/17 76/436/17 -f 84/447/14 500/455/13 88/439/13 -f 94/451/11 90/456/10 114/441/10 -f 483/422/34 467/393/20 482/457/34 -f 560/458/11 117/459/12 556/460/12 -f 558/461/7 545/462/8 554/463/8 -f 552/464/17 121/465/16 122/466/17 -f 555/467/6 119/468/13 550/469/13 -f 553/470/9 96/471/2 548/472/2 -f 551/473/18 124/474/1 559/475/1 -f 549/476/14 126/477/15 127/478/15 -f 547/479/10 116/480/11 560/458/11 -f 559/475/1 546/481/7 558/461/7 -f 128/482/5 121/465/16 557/483/16 -f 556/460/12 118/484/6 555/467/6 -f 554/463/8 95/485/9 553/470/9 -f 552/464/17 123/486/18 551/473/18 -f 550/469/13 120/487/14 549/476/14 -f 548/472/2 115/488/10 547/479/10 -f 127/478/15 125/489/5 128/490/5 -f 562/491/35 577/492/36 563/493/37 -f 562/491/35 583/494/38 584/495/39 -f 571/496/40 583/497/38 573/498/41 -f 571/496/40 581/499/42 582/500/43 -f 567/501/44 581/499/42 569/502/45 -f 567/501/44 579/503/46 580/504/47 -f 575/505/48 579/503/46 566/506/49 -f 575/505/48 577/492/36 578/507/50 -f 575/505/48 565/508/2 576/509/8 -f 563/493/37 576/509/8 564/510/1 -f 573/511/41 561/512/17 574/513/5 -f 571/496/40 574/514/5 572/515/14 -f 569/502/45 572/515/14 570/516/6 -f 567/501/44 570/516/6 568/517/11 -f 566/506/49 568/517/11 565/508/2 -f 562/491/35 564/510/1 561/512/17 -f 288/518/18 290/519/1 289/520/18 -f 287/521/17 289/520/18 291/522/17 -f 286/523/16 291/522/17 292/524/16 -f 285/525/5 292/524/16 293/526/5 -f 284/527/15 293/528/5 294/529/15 -f 283/530/14 294/529/15 295/531/14 -f 282/532/13 295/531/14 296/533/13 -f 281/534/6 296/533/13 297/535/6 -f 280/536/12 297/535/6 298/537/12 -f 279/538/11 298/537/12 299/539/11 -f 278/540/10 299/539/11 300/541/10 -f 277/542/2 300/541/10 301/543/2 -f 276/544/9 301/543/2 302/545/9 -f 275/546/8 302/545/9 303/547/8 -f 274/548/7 303/547/8 304/549/7 -f 273/550/1 304/549/7 290/519/1 -f 370/551/1 372/552/7 369/553/1 -f 371/554/7 374/555/8 372/552/7 -f 373/556/8 376/557/9 374/555/8 -f 375/558/9 378/559/2 376/557/9 -f 377/560/2 380/561/10 378/559/2 -f 379/562/10 382/563/11 380/561/10 -f 381/564/11 384/565/12 382/563/11 -f 383/566/12 386/567/6 384/565/12 -f 385/568/6 388/569/13 386/567/6 -f 387/570/13 390/571/14 388/569/13 -f 389/572/14 392/573/15 390/571/14 -f 391/574/15 394/575/5 392/573/15 -f 393/576/5 396/577/16 394/578/5 -f 395/579/16 398/580/17 396/577/16 -f 397/581/17 400/582/18 398/580/17 -f 399/583/18 369/553/1 400/582/18 -f 434/584/14 436/585/13 433/586/13 -f 438/587/1 440/588/18 437/589/18 -f 442/590/9 444/591/8 441/592/8 -f 445/593/15 435/594/14 434/584/14 -f 447/595/2 443/596/9 442/590/9 -f 449/597/5 446/598/15 445/593/15 -f 451/599/10 448/600/2 447/595/2 -f 453/601/16 450/602/5 449/603/5 -f 455/604/11 452/605/10 451/599/10 -f 457/606/17 454/607/16 453/601/16 -f 459/608/12 456/609/11 455/604/11 -f 437/589/18 458/610/17 457/606/17 -f 461/611/6 460/612/12 459/608/12 -f 433/586/13 462/613/6 461/611/6 -f 441/592/8 464/614/7 463/615/7 -f 463/615/7 439/616/1 438/587/1 -f 529/617/19 513/618/21 537/619/19 -f 527/620/22 535/621/23 514/622/22 -f 525/623/24 540/624/25 536/625/24 -f 523/626/26 543/627/27 541/628/26 -f 521/629/28 534/630/29 533/631/28 -f 519/632/30 539/633/31 538/634/30 -f 517/635/32 531/636/33 542/637/32 -f 525/623/24 535/621/23 526/638/23 -f 527/620/22 513/618/21 528/639/21 -f 523/626/26 540/624/25 524/640/25 -f 521/629/28 543/627/27 522/641/27 -f 520/642/29 538/634/30 534/630/29 -f 517/635/32 539/633/31 518/643/31 -f 515/644/34 531/636/33 516/645/33 -f 529/617/19 544/646/20 530/647/20 -f 515/644/34 544/646/20 532/648/34 -f 586/649/35 588/650/1 585/651/17 -f 590/652/49 592/653/11 589/654/2 -f 591/655/51 594/656/6 592/653/11 -f 593/657/45 596/658/14 594/656/6 -f 595/659/40 598/660/5 596/658/14 -f 597/661/41 585/651/17 598/662/5 -f 587/663/37 600/664/8 588/650/1 -f 599/665/52 589/654/2 600/664/8 -f 587/663/37 602/666/53 599/665/52 -f 599/665/52 603/667/46 590/652/49 -f 591/655/51 603/667/46 604/668/54 -f 593/657/45 604/668/54 605/669/42 -f 595/659/40 605/669/42 606/670/43 -f 595/659/40 607/671/38 597/672/41 -f 586/649/35 607/673/38 608/674/39 -f 586/649/35 601/675/36 587/663/37 -f 610/676/55 612/677/1 609/678/17 -f 614/679/56 616/680/11 613/681/2 -f 615/682/44 618/683/6 616/680/11 -f 617/684/45 620/685/14 618/683/6 -f 619/686/40 622/687/5 620/685/14 -f 621/688/57 609/678/17 622/689/5 -f 611/690/37 624/691/8 612/677/1 -f 623/692/48 613/681/2 624/691/8 -f 623/692/48 625/693/36 626/694/58 -f 623/692/48 627/695/46 614/679/56 -f 615/682/44 627/695/46 628/696/59 -f 615/682/44 629/697/42 617/684/45 -f 619/686/40 629/697/42 630/698/60 -f 619/686/40 631/699/38 621/700/57 -f 610/676/55 631/701/38 632/702/61 -f 610/676/55 625/693/36 611/690/37 -f 634/703/35 636/704/1 633/705/17 -f 638/706/56 640/707/11 637/708/2 -f 639/709/62 642/710/6 640/707/11 -f 641/711/45 644/712/14 642/710/6 -f 643/713/40 646/714/5 644/712/14 -f 645/715/57 633/705/17 646/716/5 -f 635/717/37 648/718/8 636/704/1 -f 647/719/48 637/708/2 648/718/8 -f 647/719/48 649/720/36 650/721/58 -f 647/719/48 651/722/46 638/706/56 -f 639/709/62 651/722/46 652/723/59 -f 639/709/62 653/724/42 641/711/45 -f 643/713/40 653/724/42 654/725/60 -f 643/713/40 655/726/38 645/727/57 -f 634/703/35 655/728/38 656/729/61 -f 634/703/35 649/720/36 635/717/37 -f 658/730/35 660/731/1 657/732/17 -f 662/733/56 664/734/11 661/735/2 -f 663/736/62 666/737/6 664/734/11 -f 665/738/45 668/739/14 666/737/6 -f 667/740/40 670/741/5 668/739/14 -f 669/742/57 657/732/17 670/743/5 -f 659/744/37 672/745/8 660/731/1 -f 671/746/48 661/735/2 672/745/8 -f 671/746/48 673/747/36 674/748/58 -f 671/746/48 675/749/46 662/733/56 -f 663/736/62 675/749/46 676/750/59 -f 663/736/62 677/751/42 665/738/45 -f 667/740/40 677/751/42 678/752/60 -f 667/740/40 679/753/38 669/754/57 -f 658/730/35 679/755/38 680/756/61 -f 658/730/35 673/747/36 659/744/37 -f 403/359/1 432/362/7 431/360/7 -f 432/362/7 430/364/8 429/363/8 -f 430/364/8 428/366/9 427/365/9 -f 428/366/9 426/368/2 425/367/2 -f 426/368/2 424/370/10 423/369/10 -f 424/370/10 422/372/11 421/371/11 -f 422/372/11 420/374/12 419/373/12 -f 420/374/12 418/376/6 417/375/6 -f 418/376/6 416/378/13 415/377/13 -f 416/378/13 414/380/14 413/379/14 -f 414/380/14 412/382/15 411/381/15 -f 412/382/15 410/757/5 409/383/5 -f 410/384/5 408/387/16 407/385/16 -f 408/387/16 406/389/17 405/388/17 -f 406/389/17 402/391/18 401/390/18 -f 402/391/18 403/359/1 404/361/1 -f 496/392/19 468/396/19 467/393/20 -f 496/392/19 481/398/21 477/395/21 -f 480/397/22 475/400/22 477/395/21 -f 495/399/23 473/758/23 475/400/22 -f 495/401/23 494/404/24 471/402/24 -f 494/404/24 493/407/25 465/405/25 -f 492/406/26 466/409/26 465/405/25 -f 491/408/27 479/411/27 466/409/26 -f 490/410/28 478/413/28 479/411/27 -f 490/410/28 489/415/29 476/412/29 -f 488/414/30 474/417/30 476/412/29 -f 487/416/31 472/419/31 474/417/30 -f 486/418/32 469/421/32 472/419/31 -f 486/418/32 485/423/33 470/420/33 -f 483/422/34 482/457/34 470/420/33 -f 86/424/6 512/440/6 505/425/12 -f 71/427/7 509/448/7 511/428/1 -f 80/430/5 507/449/5 510/431/15 -f 67/433/9 504/453/9 508/434/8 -f 76/436/17 502/454/17 506/437/16 -f 88/439/13 500/455/13 512/440/6 -f 114/441/10 90/456/10 503/442/2 -f 72/429/1 511/428/1 501/444/18 -f 82/432/15 510/431/15 499/446/14 -f 68/435/8 508/434/8 509/448/7 -f 78/438/16 506/437/16 507/449/5 -f 498/426/12 505/425/12 92/450/11 -f 497/452/2 503/759/2 504/453/9 -f 75/445/18 501/444/18 502/454/17 -f 84/447/14 499/446/14 500/455/13 -f 94/451/11 92/450/11 90/456/10 -f 483/422/34 484/394/20 467/393/20 -f 560/458/11 116/480/11 117/459/12 -f 558/461/7 546/481/7 545/462/8 -f 552/464/17 557/483/16 121/465/16 -f 555/467/6 118/484/6 119/468/13 -f 553/470/9 95/485/9 96/471/2 -f 551/473/18 123/486/18 124/474/1 -f 549/476/14 120/487/14 126/477/15 -f 547/479/10 115/488/10 116/480/11 -f 559/475/1 124/474/1 546/481/7 -f 128/482/5 125/760/5 121/465/16 -f 556/460/12 117/459/12 118/484/6 -f 554/463/8 545/462/8 95/485/9 -f 552/464/17 122/466/17 123/486/18 -f 550/469/13 119/468/13 120/487/14 -f 548/472/2 96/471/2 115/488/10 -f 127/478/15 126/477/15 125/489/5 -f 562/491/35 584/495/39 577/492/36 -f 562/491/35 573/511/41 583/494/38 -f 571/496/40 582/500/43 583/497/38 -f 571/496/40 569/502/45 581/499/42 -f 567/501/44 580/504/47 581/499/42 -f 567/501/44 566/506/49 579/503/46 -f 575/505/48 578/507/50 579/503/46 -f 575/505/48 563/493/37 577/492/36 -f 575/505/48 566/506/49 565/508/2 -f 563/493/37 575/505/48 576/509/8 -f 573/511/41 562/491/35 561/512/17 -f 571/496/40 573/498/41 574/514/5 -f 569/502/45 571/496/40 572/515/14 -f 567/501/44 569/502/45 570/516/6 -f 566/506/49 567/501/44 568/517/11 -f 562/491/35 563/493/37 564/510/1 -f 288/518/18 273/550/1 290/519/1 -f 287/521/17 288/518/18 289/520/18 -f 286/523/16 287/521/17 291/522/17 -f 285/525/5 286/523/16 292/524/16 -f 284/527/15 285/761/5 293/528/5 -f 283/530/14 284/527/15 294/529/15 -f 282/532/13 283/530/14 295/531/14 -f 281/534/6 282/532/13 296/533/13 -f 280/536/12 281/534/6 297/535/6 -f 279/538/11 280/536/12 298/537/12 -f 278/540/10 279/538/11 299/539/11 -f 277/542/2 278/540/10 300/541/10 -f 276/544/9 277/542/2 301/543/2 -f 275/546/8 276/544/9 302/545/9 -f 274/548/7 275/546/8 303/547/8 -f 273/550/1 274/548/7 304/549/7 -f 370/551/1 371/554/7 372/552/7 -f 371/554/7 373/556/8 374/555/8 -f 373/556/8 375/558/9 376/557/9 -f 375/558/9 377/560/2 378/559/2 -f 377/560/2 379/562/10 380/561/10 -f 379/562/10 381/564/11 382/563/11 -f 381/564/11 383/566/12 384/565/12 -f 383/566/12 385/568/6 386/567/6 -f 385/568/6 387/570/13 388/569/13 -f 387/570/13 389/572/14 390/571/14 -f 389/572/14 391/574/15 392/573/15 -f 391/574/15 393/762/5 394/575/5 -f 393/576/5 395/579/16 396/577/16 -f 395/579/16 397/581/17 398/580/17 -f 397/581/17 399/583/18 400/582/18 -f 399/583/18 370/551/1 369/553/1 -f 434/584/14 435/594/14 436/585/13 -f 438/587/1 439/616/1 440/588/18 -f 442/590/9 443/596/9 444/591/8 -f 445/593/15 446/598/15 435/594/14 -f 447/595/2 448/600/2 443/596/9 -f 449/597/5 450/763/5 446/598/15 -f 451/599/10 452/605/10 448/600/2 -f 453/601/16 454/607/16 450/602/5 -f 455/604/11 456/609/11 452/605/10 -f 457/606/17 458/610/17 454/607/16 -f 459/608/12 460/612/12 456/609/11 -f 437/589/18 440/588/18 458/610/17 -f 461/611/6 462/613/6 460/612/12 -f 433/586/13 436/585/13 462/613/6 -f 441/592/8 444/591/8 464/614/7 -f 463/615/7 464/614/7 439/616/1 -f 529/617/19 528/639/21 513/618/21 -f 527/620/22 526/638/23 535/621/23 -f 525/623/24 524/640/25 540/624/25 -f 523/626/26 522/641/27 543/627/27 -f 521/629/28 520/642/29 534/630/29 -f 519/632/30 518/643/31 539/633/31 -f 517/635/32 516/645/33 531/636/33 -f 525/623/24 536/625/24 535/621/23 -f 527/620/22 514/622/22 513/618/21 -f 523/626/26 541/628/26 540/624/25 -f 521/629/28 533/631/28 543/627/27 -f 520/642/29 519/632/30 538/634/30 -f 517/635/32 542/637/32 539/633/31 -f 515/644/34 532/648/34 531/636/33 -f 529/617/19 537/619/19 544/646/20 -f 515/644/34 530/647/20 544/646/20 -f 586/649/35 587/663/37 588/650/1 -f 590/652/49 591/655/51 592/653/11 -f 591/655/51 593/657/45 594/656/6 -f 593/657/45 595/659/40 596/658/14 -f 595/659/40 597/672/41 598/660/5 -f 597/661/41 586/649/35 585/651/17 -f 587/663/37 599/665/52 600/664/8 -f 599/665/52 590/652/49 589/654/2 -f 587/663/37 601/675/36 602/666/53 -f 599/665/52 602/666/53 603/667/46 -f 591/655/51 590/652/49 603/667/46 -f 593/657/45 591/655/51 604/668/54 -f 595/659/40 593/657/45 605/669/42 -f 595/659/40 606/670/43 607/671/38 -f 586/649/35 597/661/41 607/673/38 -f 586/649/35 608/674/39 601/675/36 -f 610/676/55 611/690/37 612/677/1 -f 614/679/56 615/682/44 616/680/11 -f 615/682/44 617/684/45 618/683/6 -f 617/684/45 619/686/40 620/685/14 -f 619/686/40 621/700/57 622/687/5 -f 621/688/57 610/676/55 609/678/17 -f 611/690/37 623/692/48 624/691/8 -f 623/692/48 614/679/56 613/681/2 -f 623/692/48 611/690/37 625/693/36 -f 623/692/48 626/694/58 627/695/46 -f 615/682/44 614/679/56 627/695/46 -f 615/682/44 628/696/59 629/697/42 -f 619/686/40 617/684/45 629/697/42 -f 619/686/40 630/698/60 631/699/38 -f 610/676/55 621/688/57 631/701/38 -f 610/676/55 632/702/61 625/693/36 -f 634/703/35 635/717/37 636/704/1 -f 638/706/56 639/709/62 640/707/11 -f 639/709/62 641/711/45 642/710/6 -f 641/711/45 643/713/40 644/712/14 -f 643/713/40 645/727/57 646/714/5 -f 645/715/57 634/703/35 633/705/17 -f 635/717/37 647/719/48 648/718/8 -f 647/719/48 638/706/56 637/708/2 -f 647/719/48 635/717/37 649/720/36 -f 647/719/48 650/721/58 651/722/46 -f 639/709/62 638/706/56 651/722/46 -f 639/709/62 652/723/59 653/724/42 -f 643/713/40 641/711/45 653/724/42 -f 643/713/40 654/725/60 655/726/38 -f 634/703/35 645/715/57 655/728/38 -f 634/703/35 656/729/61 649/720/36 -f 658/730/35 659/744/37 660/731/1 -f 662/733/56 663/736/62 664/734/11 -f 663/736/62 665/738/45 666/737/6 -f 665/738/45 667/740/40 668/739/14 -f 667/740/40 669/754/57 670/741/5 -f 669/742/57 658/730/35 657/732/17 -f 659/744/37 671/746/48 672/745/8 -f 671/746/48 662/733/56 661/735/2 -f 671/746/48 659/744/37 673/747/36 -f 671/746/48 674/748/58 675/749/46 -f 663/736/62 662/733/56 675/749/46 -f 663/736/62 676/750/59 677/751/42 -f 667/740/40 665/738/45 677/751/42 -f 667/740/40 678/752/60 679/753/38 -f 658/730/35 669/742/57 679/755/38 -f 658/730/35 680/756/61 673/747/36 +f 122/355/4 123/356/11 121/357/4 +f 124/358/11 125/359/12 123/356/11 +f 126/360/12 127/361/5 125/359/12 +f 128/362/5 129/363/13 127/361/5 +f 130/364/13 131/365/14 129/363/13 +f 132/366/14 133/367/2 131/365/14 +f 134/368/2 135/369/15 133/370/2 +f 136/371/15 137/372/16 135/369/15 +f 138/373/16 139/374/6 137/372/16 +f 140/375/6 141/376/17 139/374/6 +f 142/377/17 143/378/18 141/376/17 +f 144/379/18 121/357/4 143/378/18 +f 146/380/4 179/381/11 178/382/4 +f 148/383/11 180/384/12 179/381/11 +f 150/385/12 181/386/5 180/384/12 +f 152/387/5 213/388/13 181/386/5 +f 154/389/13 214/390/14 213/388/13 +f 156/391/14 215/392/2 214/390/14 +f 158/393/2 216/394/15 215/395/2 +f 160/396/15 182/397/16 216/394/15 +f 162/398/16 183/399/6 182/397/16 +f 164/400/6 184/401/17 183/399/6 +f 166/402/17 185/403/18 184/401/17 +f 168/404/18 178/382/4 185/403/18 +f 177/405/18 145/406/4 167/407/18 +f 212/408/17 167/407/18 165/409/17 +f 176/410/6 165/409/17 163/411/6 +f 175/412/16 163/411/6 161/413/16 +f 211/414/15 161/413/16 159/415/15 +f 174/416/2 159/415/15 157/417/2 +f 173/418/14 157/419/2 155/420/14 +f 210/421/13 155/420/14 153/422/13 +f 172/423/5 153/422/13 151/424/5 +f 171/425/12 151/424/5 149/426/12 +f 170/427/11 149/426/12 147/428/11 +f 169/429/4 147/428/11 145/406/4 +f 187/430/4 188/431/11 186/432/4 +f 189/433/11 190/434/12 188/431/11 +f 191/435/12 192/436/5 190/434/12 +f 193/437/5 194/438/13 192/436/5 +f 195/439/13 196/440/14 194/438/13 +f 197/441/14 198/442/2 196/440/14 +f 199/443/2 200/444/15 198/445/2 +f 201/446/15 202/447/16 200/444/15 +f 203/448/16 204/449/6 202/447/16 +f 205/450/6 206/451/17 204/449/6 +f 207/452/17 208/453/18 206/451/17 +f 209/454/18 186/432/4 208/453/18 +f 185/403/18 169/429/4 177/405/18 +f 184/401/17 177/405/18 212/408/17 +f 183/399/6 212/408/17 176/410/6 +f 182/397/16 176/410/6 175/412/16 +f 216/394/15 175/412/16 211/414/15 +f 215/395/2 211/414/15 174/416/2 +f 214/390/14 174/455/2 173/418/14 +f 213/388/13 173/418/14 210/421/13 +f 181/386/5 210/421/13 172/423/5 +f 180/384/12 172/423/5 171/425/12 +f 179/381/11 171/425/12 170/427/11 +f 178/382/4 170/427/11 169/429/4 +f 122/355/4 124/358/11 123/356/11 +f 124/358/11 126/360/12 125/359/12 +f 126/360/12 128/362/5 127/361/5 +f 128/362/5 130/364/13 129/363/13 +f 130/364/13 132/366/14 131/365/14 +f 132/366/14 134/456/2 133/367/2 +f 134/368/2 136/371/15 135/369/15 +f 136/371/15 138/373/16 137/372/16 +f 138/373/16 140/375/6 139/374/6 +f 140/375/6 142/377/17 141/376/17 +f 142/377/17 144/379/18 143/378/18 +f 144/379/18 122/355/4 121/357/4 +f 146/380/4 148/383/11 179/381/11 +f 148/383/11 150/385/12 180/384/12 +f 150/385/12 152/387/5 181/386/5 +f 152/387/5 154/389/13 213/388/13 +f 154/389/13 156/391/14 214/390/14 +f 156/391/14 158/457/2 215/392/2 +f 158/393/2 160/396/15 216/394/15 +f 160/396/15 162/398/16 182/397/16 +f 162/398/16 164/400/6 183/399/6 +f 164/400/6 166/402/17 184/401/17 +f 166/402/17 168/404/18 185/403/18 +f 168/404/18 146/380/4 178/382/4 +f 177/405/18 169/429/4 145/406/4 +f 212/408/17 177/405/18 167/407/18 +f 176/410/6 212/408/17 165/409/17 +f 175/412/16 176/410/6 163/411/6 +f 211/414/15 175/412/16 161/413/16 +f 174/416/2 211/414/15 159/415/15 +f 173/418/14 174/455/2 157/419/2 +f 210/421/13 173/418/14 155/420/14 +f 172/423/5 210/421/13 153/422/13 +f 171/425/12 172/423/5 151/424/5 +f 170/427/11 171/425/12 149/426/12 +f 169/429/4 170/427/11 147/428/11 +f 187/430/4 189/433/11 188/431/11 +f 189/433/11 191/435/12 190/434/12 +f 191/435/12 193/437/5 192/436/5 +f 193/437/5 195/439/13 194/438/13 +f 195/439/13 197/441/14 196/440/14 +f 197/441/14 199/458/2 198/442/2 +f 199/443/2 201/446/15 200/444/15 +f 201/446/15 203/448/16 202/447/16 +f 203/448/16 205/450/6 204/449/6 +f 205/450/6 207/452/17 206/451/17 +f 207/452/17 209/454/18 208/453/18 +f 209/454/18 187/430/4 186/432/4 +f 185/403/18 178/382/4 169/429/4 +f 184/401/17 185/403/18 177/405/18 +f 183/399/6 184/401/17 212/408/17 +f 182/397/16 183/399/6 176/410/6 +f 216/394/15 182/397/16 175/412/16 +f 215/395/2 216/394/15 211/414/15 +f 214/390/14 215/392/2 174/455/2 +f 213/388/13 214/390/14 173/418/14 +f 181/386/5 213/388/13 210/421/13 +f 180/384/12 181/386/5 172/423/5 +f 179/381/11 180/384/12 171/425/12 +f 178/382/4 179/381/11 170/427/11 diff --git a/src/main/resources/assets/hbm/models/rpc.obj b/src/main/resources/assets/hbm/models/rpc.obj deleted file mode 100644 index b40acc5f7..000000000 --- a/src/main/resources/assets/hbm/models/rpc.obj +++ /dev/null @@ -1,380 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'rpc.blend' -# www.blender.org -o Cube_Cube.002 -v -0.125000 0.500000 -0.375000 -v -0.625000 0.000000 -0.375000 -v 0.625000 0.500000 0.125000 -v 0.375000 -0.500000 0.125000 -v -0.375000 -0.500000 -0.375000 -v -0.625000 -0.250000 -0.375000 -v -0.375000 -0.500000 0.125000 -v 0.625000 0.500000 -0.375000 -v 0.625000 -0.250000 -0.375000 -v 0.375000 -0.500000 -0.375000 -v 0.625000 -0.250000 0.125000 -v -0.125000 0.500000 0.125000 -v -0.625000 0.000000 0.125000 -v -0.625000 -0.250000 0.125000 -v -0.250000 -0.500000 0.375000 -v -0.250000 0.500000 0.375000 -v -0.250000 -0.500000 0.125000 -v -0.250000 0.500000 0.125000 -v 0.625000 -0.500000 0.375000 -v 0.625000 0.500000 0.375000 -v 0.625000 -0.500000 0.125000 -v 0.625000 0.500000 0.125000 -v -3.187500 -0.437500 0.000000 -v -0.187500 -0.437500 0.000000 -v -3.187500 0.437500 -0.000000 -v -0.187500 0.437500 -0.000000 -v -3.437500 -0.187500 0.000000 -v -3.437500 0.187500 -0.000000 -v 1.750000 0.000000 -0.276250 -v 1.750000 -0.239240 -0.138125 -v 0.625000 -0.000000 -0.325000 -v 1.625000 0.000000 -0.325000 -v 0.625000 -0.281458 -0.162500 -v 1.625000 -0.281458 -0.162500 -v 0.625000 -0.281458 0.162500 -v 1.625000 -0.281458 0.162500 -v 0.625000 0.000000 0.325000 -v 1.625000 0.000000 0.325000 -v 0.625000 0.281458 0.162500 -v 1.625000 0.281458 0.162500 -v 0.625000 0.281458 -0.162500 -v 1.625000 0.281458 -0.162500 -v 1.750000 -0.239239 0.138125 -v 1.750000 0.000000 0.276250 -v 1.750000 0.239240 0.138125 -v 1.750000 0.239240 -0.138125 -v 2.250000 0.000000 -0.276250 -v 2.250000 0.239240 -0.138125 -v 2.250000 0.239240 0.138125 -v 2.250000 0.000000 0.276250 -v 2.250000 -0.239239 0.138125 -v 2.250000 -0.239240 -0.138125 -v 2.650000 0.000000 -0.345313 -v 2.650000 0.299049 -0.172656 -v 2.650000 0.299049 0.172656 -v 2.650000 0.000000 0.345312 -v 2.650000 -0.299049 0.172656 -v 2.650000 -0.299049 -0.172656 -v 2.062500 -0.500000 0.500000 -v 2.062500 0.500000 0.500000 -v 2.062500 -0.500000 -0.500000 -v 2.062500 0.500000 -0.500000 -v 2.437500 -0.500000 0.500000 -v 2.437500 0.500000 0.500000 -v 2.437500 -0.500000 -0.500000 -v 2.437500 0.500000 -0.500000 -v 1.812500 -0.125000 0.125000 -v 1.812500 0.125000 0.125000 -v 1.812500 -0.125000 -0.125000 -v 1.812500 0.125000 -0.125000 -v 2.187500 -0.125000 0.125000 -v 2.187500 0.125000 0.125000 -v 2.187500 -0.125000 -0.125000 -v 2.187500 0.125000 -0.125000 -v -0.125000 0.500000 -0.375000 -v -0.125000 0.500000 0.125000 -v -0.875000 1.000000 -0.375000 -v -0.875000 1.000000 0.125000 -v 2.250000 0.000000 -0.000000 -v -3.187500 -0.437500 0.000000 -v -0.187500 -0.437500 0.000000 -v -3.187500 0.437500 -0.000000 -v -0.187500 0.437500 -0.000000 -v -3.437500 -0.187500 0.000000 -v -3.437500 0.187500 -0.000000 -v 2.250000 0.000000 -0.276250 -v 2.250000 0.239240 -0.138125 -v 2.250000 0.239240 0.138125 -v 2.250000 0.000000 0.276250 -v 2.250000 -0.239239 0.138125 -v 2.250000 -0.239240 -0.138125 -v 2.650000 0.000000 -0.345313 -v 2.650000 0.299049 -0.172656 -v 2.650000 0.299049 0.172656 -v 2.650000 0.000000 0.345312 -v 2.650000 -0.299049 0.172656 -v 2.650000 -0.299049 -0.172656 -v 2.062500 -0.500000 0.500000 -v 2.062500 0.500000 0.500000 -v 2.062500 -0.500000 -0.500000 -v 2.062500 0.500000 -0.500000 -v 2.437500 -0.500000 0.500000 -v 2.437500 0.500000 0.500000 -v 2.437500 -0.500000 -0.500000 -v 2.437500 0.500000 -0.500000 -v 1.812500 -0.125000 0.125000 -v 1.812500 0.125000 0.125000 -v 1.812500 -0.125000 -0.125000 -v 1.812500 0.125000 -0.125000 -v 2.187500 -0.125000 0.125000 -v 2.187500 0.125000 0.125000 -v 2.187500 -0.125000 -0.125000 -v 2.187500 0.125000 -0.125000 -v -0.125000 0.500000 -0.375000 -v -0.125000 0.500000 0.125000 -v -0.875000 1.000000 -0.375000 -v -0.875000 1.000000 0.125000 -vt 0.913043 0.173913 -vt 0.913043 0.260870 -vt 0.782609 0.260870 -vt 0.565217 0.000000 -vt 0.521739 0.173913 -vt 0.434783 0.000000 -vt 1.000000 0.173913 -vt 0.913043 0.043478 -vt 1.000000 0.043478 -vt 0.913043 0.000000 -vt 0.608696 0.043478 -vt 0.695652 0.043478 -vt 0.695652 0.086957 -vt 0.782609 0.173913 -vt 0.869565 -0.000000 -vt 0.608696 0.000000 -vt 0.695652 0.000000 -vt 0.608696 0.086957 -vt 0.695652 0.173913 -vt 0.391304 0.260870 -vt 0.391304 0.173913 -vt 0.347826 0.173913 -vt 0.347826 0.000000 -vt 0.391304 0.000000 -vt 0.195652 0.173913 -vt 0.195652 0.000000 -vt 0.152174 0.173913 -vt 0.152174 -0.000000 -vt 0.000000 0.173913 -vt 0.000000 0.000000 -vt 0.347826 0.217391 -vt 0.152174 0.217391 -vt 0.000000 0.217391 -vt 0.565217 0.260870 -vt 0.565217 0.413043 -vt 0.043478 0.413043 -vt -0.000000 0.369565 -vt -0.000000 0.304348 -vt 0.739130 0.391304 -vt 0.760870 0.391304 -vt 0.760870 0.456522 -vt 0.739130 0.586957 -vt 0.739130 0.652174 -vt 0.565217 0.652174 -vt 0.739130 0.326087 -vt 0.760870 0.326087 -vt 0.739130 0.260870 -vt 0.565217 0.326087 -vt 0.760870 0.586957 -vt 0.760870 0.652174 -vt 0.565217 0.391304 -vt 0.760870 0.260870 -vt 0.760870 0.478261 -vt 0.847826 0.478261 -vt 0.847826 0.521739 -vt 0.739130 0.456522 -vt 0.739130 0.521739 -vt 0.760870 0.521739 -vt 0.565217 0.586957 -vt 0.565217 0.521739 -vt 0.184783 0.586957 -vt 0.097826 0.586957 -vt 0.097826 0.413043 -vt 0.847826 0.304348 -vt 0.847826 0.260870 -vt 0.934783 0.260870 -vt 0.760870 0.434783 -vt 0.847826 0.434783 -vt 0.760870 0.347826 -vt 0.847826 0.347826 -vt 0.847826 0.391304 -vt 0.760870 0.304348 -vt 0.021739 0.456522 -vt 0.000000 0.413043 -vt 0.934783 0.347826 -vt 0.934783 0.434783 -vt 0.934783 0.478261 -vt 0.934783 0.521739 -vt 0.934783 0.304348 -vt 0.934783 0.391304 -vt 0.055813 0.418992 -vt 0.097826 0.500000 -vt 0.043478 0.500000 -vt 0.391304 0.043478 -vt 1.000000 0.000000 -vt 0.739130 -0.000000 -vt 0.608696 0.173913 -vt 0.521739 0.260870 -vt 0.195652 0.217391 -vt 0.043478 0.260870 -vt 0.565217 0.456522 -vt 0.184783 0.413043 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.707100 -0.707100 0.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn -0.707100 -0.707100 0.000000 -vn -0.707100 0.707100 0.000000 -vn 0.000000 1.000000 0.000000 -vn 0.320000 0.473700 0.820500 -vn 0.000000 -0.500000 -0.866000 -vn 0.320000 -0.473700 0.820500 -vn 0.320000 -0.473700 -0.820500 -vn 0.000000 -0.500000 0.866000 -vn 0.320000 -0.947400 0.000000 -vn -0.000000 0.500000 0.866000 -vn 0.320000 0.473700 -0.820500 -vn 0.000000 0.500000 -0.866000 -vn 0.320000 0.947400 0.000000 -vn 0.554700 0.832100 0.000000 -vn -0.147900 -0.989000 0.000000 -vn -0.147900 0.494500 0.856500 -vn -0.147900 0.494500 -0.856500 -vn -0.147900 -0.494500 -0.856500 -vn -0.147900 -0.494500 0.856500 -vn -0.147900 0.989000 0.000000 -vn 0.000000 0.707100 -0.707100 -vn 0.000000 0.707100 0.707100 -vn -0.554700 -0.832100 0.000000 -vn 0.147900 0.989000 -0.000000 -vn 0.147900 -0.494500 -0.856500 -vn 0.147900 -0.494500 0.856500 -vn 0.147900 0.494500 0.856500 -vn 0.147900 0.494500 -0.856500 -vn 0.147900 -0.989000 0.000000 -vn 0.000000 -0.707100 0.707100 -vn 0.000000 -0.707100 -0.707100 -s off -f 10/1/1 4/2/1 7/3/1 -f 5/4/2 1/5/2 10/6/2 -f 8/7/3 3/1/3 11/8/3 -f 9/9/4 11/8/4 4/10/4 -f 6/11/5 14/12/5 13/13/5 -f 11/8/6 12/14/6 4/15/6 -f 5/16/7 7/17/7 14/12/7 -f 2/18/8 13/13/8 12/19/8 -f 1/20/9 12/21/9 3/5/9 -f 18/22/5 17/23/5 15/24/5 -f 22/25/2 21/26/2 17/23/2 -f 20/27/3 19/28/3 21/26/3 -f 16/29/6 15/30/6 19/28/6 -f 17/25/1 21/22/1 19/31/1 -f 22/32/9 18/33/9 16/29/9 -f 24/34/6 26/35/6 25/36/6 -f 25/36/6 28/37/6 27/38/6 -f 38/39/10 44/40/10 45/41/10 -f 32/42/11 34/43/11 33/44/11 -f 38/39/12 36/45/12 43/46/12 -f 34/47/1 36/45/1 35/48/1 -f 32/42/13 29/49/13 30/50/13 -f 36/45/14 38/39/14 37/51/14 -f 34/47/15 30/52/15 43/46/15 -f 29/53/11 47/54/11 52/55/11 -f 37/51/16 38/39/16 40/56/16 -f 42/57/17 46/58/17 29/49/17 -f 42/57/18 32/42/18 31/59/18 -f 40/56/9 42/57/9 41/60/9 -f 40/56/19 45/41/19 46/58/19 -f 77/61/20 78/62/20 76/63/20 -f 51/64/21 52/65/21 58/66/21 -f 29/53/18 46/67/18 48/68/18 -f 44/69/16 50/70/16 49/71/16 -f 46/67/9 45/40/9 49/71/9 -f 43/72/14 51/64/14 50/70/14 -f 30/52/1 52/65/1 51/64/1 -f 79/73/3 49/74/3 50/36/3 -f 49/71/22 50/70/22 56/75/22 -f 48/68/23 54/76/23 53/77/23 -f 47/54/24 53/77/24 58/78/24 -f 50/70/25 51/64/25 57/79/25 -f 49/71/26 55/80/26 54/76/26 -f 60/81/27 64/63/27 72/82/27 -f 71/82/28 67/83/28 59/36/28 -f 62/83/28 70/36/28 74/63/28 -f 61/36/27 69/83/27 73/82/27 -f 48/74/3 49/36/3 79/73/3 -f 47/74/3 48/36/3 79/73/3 -f 52/36/3 79/73/3 51/74/3 -f 52/74/3 47/36/3 79/73/3 -f 51/36/3 79/73/3 50/74/3 -f 82/36/2 83/35/2 81/34/2 -f 84/38/2 85/37/2 82/36/2 -f 115/63/29 117/62/29 116/61/29 -f 96/79/30 97/66/30 91/65/30 -f 94/80/31 95/75/31 89/70/31 -f 92/77/32 93/76/32 87/68/32 -f 91/55/33 97/78/33 92/77/33 -f 89/70/34 95/75/34 96/79/34 -f 93/76/35 94/80/35 88/71/35 -f 99/81/36 107/83/36 111/82/36 -f 98/36/37 106/83/37 110/82/37 -f 113/63/37 109/36/37 101/83/37 -f 100/36/36 104/63/36 112/82/36 -f 5/14/1 10/1/1 7/3/1 -f 9/84/2 10/6/2 1/5/2 -f 5/4/2 6/11/2 2/18/2 -f 2/18/2 1/5/2 5/4/2 -f 8/21/2 9/84/2 1/5/2 -f 9/9/3 8/7/3 11/8/3 -f 10/85/4 9/9/4 4/10/4 -f 2/18/5 6/11/5 13/13/5 -f 7/86/6 4/15/6 12/14/6 -f 11/8/6 3/1/6 12/14/6 -f 12/14/6 13/13/6 7/86/6 -f 14/12/6 7/86/6 13/13/6 -f 6/11/7 5/16/7 14/12/7 -f 1/87/8 2/18/8 12/19/8 -f 8/88/9 1/20/9 3/5/9 -f 16/21/5 18/22/5 15/24/5 -f 18/22/2 22/25/2 17/23/2 -f 22/25/3 20/27/3 21/26/3 -f 20/27/6 16/29/6 19/28/6 -f 15/89/1 17/25/1 19/31/1 -f 20/27/9 22/32/9 16/29/9 -f 23/90/6 24/34/6 25/36/6 -f 23/90/6 25/36/6 27/38/6 -f 40/56/10 38/39/10 45/41/10 -f 31/59/11 32/42/11 33/44/11 -f 44/40/12 38/39/12 43/46/12 -f 33/34/1 34/47/1 35/48/1 -f 34/43/13 32/42/13 30/50/13 -f 35/48/14 36/45/14 37/51/14 -f 36/45/15 34/47/15 43/46/15 -f 30/58/11 29/53/11 52/55/11 -f 39/91/16 37/51/16 40/56/16 -f 32/42/17 42/57/17 29/49/17 -f 41/60/18 42/57/18 31/59/18 -f 39/91/9 40/56/9 41/60/9 -f 42/57/19 40/56/19 46/58/19 -f 75/92/20 77/61/20 76/63/20 -f 57/79/21 51/64/21 58/66/21 -f 47/54/18 29/53/18 48/68/18 -f 45/40/16 44/69/16 49/71/16 -f 48/68/9 46/67/9 49/71/9 -f 44/69/14 43/72/14 50/70/14 -f 43/72/1 30/52/1 51/64/1 -f 55/80/22 49/71/22 56/75/22 -f 47/54/23 48/68/23 53/77/23 -f 52/55/24 47/54/24 58/78/24 -f 56/75/25 50/70/25 57/79/25 -f 48/68/26 49/71/26 54/76/26 -f 68/83/27 60/81/27 72/82/27 -f 63/63/28 71/82/28 59/36/28 -f 66/82/28 62/83/28 74/63/28 -f 65/63/27 61/36/27 73/82/27 -f 80/90/2 82/36/2 81/34/2 -f 80/90/2 84/38/2 82/36/2 -f 114/92/29 115/63/29 116/61/29 -f 90/64/30 96/79/30 91/65/30 -f 88/71/31 94/80/31 89/70/31 -f 86/54/32 92/77/32 87/68/32 -f 86/54/33 91/55/33 92/77/33 -f 90/64/34 89/70/34 96/79/34 -f 87/68/35 93/76/35 88/71/35 -f 103/63/36 99/81/36 111/82/36 -f 102/63/37 98/36/37 110/82/37 -f 105/82/37 113/63/37 101/83/37 -f 108/83/36 100/36/36 112/82/36 diff --git a/src/main/resources/assets/hbm/models/sphere_uv.hmf b/src/main/resources/assets/hbm/models/sphere_uv.hmf deleted file mode 100644 index 48a1bd000..000000000 --- a/src/main/resources/assets/hbm/models/sphere_uv.hmf +++ /dev/null @@ -1,444 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'sphere_uv.blend' -# www.blender.org -o Sphere -v -0.382683 0.923880 0.000000 -v -0.707107 0.707107 0.000000 -v -0.923880 0.382683 0.000000 -v -1.000000 -0.000000 0.000000 -v -0.923880 -0.382684 0.000000 -v -0.707107 -0.707107 0.000000 -v -0.382683 -0.923880 0.000000 -v -0.000000 -1.000000 0.000000 -v -0.331414 0.923880 -0.191342 -v -0.612372 0.707107 -0.353553 -v -0.800103 0.382683 -0.461940 -v -0.866025 -0.000000 -0.500000 -v -0.800103 -0.382684 -0.461940 -v -0.612372 -0.707107 -0.353553 -v -0.331414 -0.923880 -0.191342 -v -0.191342 0.923880 -0.331413 -v -0.353553 0.707107 -0.612372 -v -0.461940 0.382683 -0.800103 -v -0.500000 -0.000000 -0.866025 -v -0.461940 -0.382684 -0.800103 -v -0.353553 -0.707107 -0.612372 -v -0.191342 -0.923880 -0.331413 -v -0.000000 0.923880 -0.382683 -v -0.000000 0.707107 -0.707107 -v -0.000000 0.382683 -0.923879 -v -0.000000 -0.000000 -1.000000 -v -0.000000 -0.382684 -0.923879 -v -0.000000 -0.707107 -0.707107 -v -0.000000 -0.923880 -0.382683 -v -0.000000 1.000000 0.000000 -v 0.191341 0.923880 -0.331413 -v 0.353553 0.707107 -0.612372 -v 0.461940 0.382683 -0.800103 -v 0.500000 -0.000000 -0.866025 -v 0.461940 -0.382684 -0.800103 -v 0.353553 -0.707107 -0.612372 -v 0.191342 -0.923880 -0.331413 -v 0.331413 0.923880 -0.191342 -v 0.612372 0.707107 -0.353553 -v 0.800103 0.382683 -0.461940 -v 0.866025 -0.000000 -0.500000 -v 0.800103 -0.382684 -0.461940 -v 0.612372 -0.707107 -0.353553 -v 0.331413 -0.923880 -0.191342 -v 0.382683 0.923880 0.000000 -v 0.707106 0.707107 0.000000 -v 0.923879 0.382683 0.000000 -v 1.000000 -0.000000 0.000000 -v 0.923879 -0.382684 0.000000 -v 0.707106 -0.707107 0.000000 -v 0.382683 -0.923880 0.000000 -v 0.331413 0.923880 0.191342 -v 0.612372 0.707107 0.353553 -v 0.800103 0.382683 0.461940 -v 0.866025 -0.000000 0.500000 -v 0.800103 -0.382684 0.461940 -v 0.612372 -0.707107 0.353553 -v 0.331413 -0.923880 0.191342 -v 0.191341 0.923880 0.331413 -v 0.353553 0.707107 0.612372 -v 0.461940 0.382683 0.800103 -v 0.500000 -0.000000 0.866025 -v 0.461940 -0.382684 0.800103 -v 0.353553 -0.707107 0.612372 -v 0.191341 -0.923880 0.331413 -v -0.000000 0.923880 0.382683 -v -0.000000 0.707107 0.707107 -v -0.000000 0.382683 0.923879 -v -0.000000 -0.000000 1.000000 -v -0.000000 -0.382684 0.923879 -v -0.000000 -0.707107 0.707107 -v -0.000000 -0.923880 0.382683 -v -0.191342 0.923880 0.331413 -v -0.353554 0.707107 0.612372 -v -0.461940 0.382683 0.800103 -v -0.500000 -0.000000 0.866025 -v -0.461940 -0.382684 0.800103 -v -0.353554 -0.707107 0.612372 -v -0.191342 -0.923880 0.331413 -v -0.331414 0.923880 0.191342 -v -0.612373 0.707107 0.353553 -v -0.800103 0.382683 0.461940 -v -0.866025 -0.000000 0.500000 -v -0.800103 -0.382684 0.461940 -v -0.612373 -0.707107 0.353553 -v -0.331414 -0.923880 0.191342 -vt 0.577178 0.375212 -vt 0.424418 0.375493 -vt 0.442112 0.252123 -vt 0.583701 0.499674 -vt 0.577637 0.624159 -vt 0.424878 0.624441 -vt 0.533347 0.869292 -vt 0.470072 0.869409 -vt 0.443026 0.747746 -vt 0.531984 0.130244 -vt 0.559029 0.251907 -vt 0.418355 0.499979 -vt 0.559943 0.747530 -vt 0.559030 0.252039 -vt 0.442113 0.252255 -vt 0.468710 0.130493 -vt 0.577179 0.375344 -vt 0.583702 0.499806 -vt 0.418356 0.500111 -vt 0.577639 0.624292 -vt 0.559945 0.747663 -vt 0.443028 0.747878 -vt 0.424420 0.375626 -vt 0.424879 0.624574 -vt 0.533348 0.869425 -vt 0.470073 0.869542 -vt 0.418349 0.500014 -vt 0.559938 0.747565 -vt 0.443021 0.747781 -vt 0.442106 0.252158 -vt 0.424872 0.624476 -vt 0.468703 0.130395 -vt 0.577261 0.375276 -vt 0.424501 0.375558 -vt 0.442195 0.252187 -vt 0.577720 0.624224 -vt 0.424961 0.624506 -vt 0.533430 0.869357 -vt 0.470155 0.869474 -vt 0.443109 0.747811 -vt 0.559112 0.251972 -vt 0.468792 0.130425 -vt 0.583784 0.499738 -vt 0.560027 0.747595 -vt 0.577722 0.624357 -vt 0.424962 0.624639 -vt 0.418439 0.500176 -vt 0.533431 0.869490 -vt 0.470156 0.869607 -vt 0.443111 0.747943 -vt 0.559114 0.252104 -vt 0.442196 0.252320 -vt 0.468793 0.130558 -vt 0.583785 0.499871 -vt 0.424503 0.375691 -vt 0.560028 0.747728 -vt 0.577262 0.375409 -vt 0.577715 0.624259 -vt 0.468786 0.130460 -vt 0.583778 0.499774 -vt 0.577147 0.375446 -vt 0.424387 0.375727 -vt 0.442081 0.252357 -vt 0.577606 0.624394 -vt 0.424846 0.624675 -vt 0.418324 0.500213 -vt 0.559912 0.747764 -vt 0.533316 0.869527 -vt 0.470041 0.869643 -vt 0.531952 0.130478 -vt 0.558998 0.252141 -vt 0.583669 0.499908 -vt 0.442995 0.747980 -vt 0.470088 0.869579 -vt 0.577194 0.375382 -vt 0.531991 0.130341 -vt 0.500123 0.009751 -vt 0.501932 0.989902 -vt 0.501933 0.990034 -vt 0.500125 0.009884 -vt 0.531985 0.130376 -vt 0.500207 0.009816 -vt 0.532067 0.130308 -vt 0.502015 0.989966 -vt 0.502016 0.990099 -vt 0.500208 0.009949 -vt 0.532068 0.130441 -vt 0.500092 0.009986 -vt 0.468677 0.130594 -vt 0.501901 0.990136 -vn -0.811600 -0.542300 -0.217500 -vn -0.948600 0.188700 -0.254200 -vn -0.549500 0.822400 -0.147200 -vn -0.549500 -0.822400 -0.147200 -vn -0.948600 -0.188700 -0.254200 -vn -0.811600 0.542300 -0.217500 -vn -0.402300 -0.822400 -0.402300 -vn -0.694400 -0.188700 -0.694400 -vn -0.594100 0.542300 -0.594100 -vn -0.594100 -0.542300 -0.594100 -vn -0.694400 0.188700 -0.694400 -vn -0.402300 0.822400 -0.402300 -vn -0.254200 -0.188700 -0.948600 -vn -0.217500 0.542300 -0.811600 -vn -0.217500 -0.542300 -0.811600 -vn -0.254200 0.188700 -0.948600 -vn -0.147200 0.822400 -0.549500 -vn -0.147200 -0.822400 -0.549500 -vn 0.217500 -0.542300 -0.811600 -vn 0.254200 0.188700 -0.948600 -vn 0.147200 0.822400 -0.549500 -vn 0.147200 -0.822400 -0.549500 -vn 0.254200 -0.188700 -0.948600 -vn 0.217500 0.542300 -0.811600 -vn 0.694400 0.188700 -0.694400 -vn 0.402300 0.822400 -0.402300 -vn 0.402300 -0.822400 -0.402300 -vn 0.694400 -0.188700 -0.694400 -vn 0.594100 0.542300 -0.594100 -vn 0.594100 -0.542300 -0.594100 -vn 0.549500 -0.822400 -0.147200 -vn 0.948600 -0.188700 -0.254200 -vn 0.811600 0.542300 -0.217500 -vn 0.811600 -0.542300 -0.217500 -vn 0.948600 0.188700 -0.254200 -vn 0.549500 0.822400 -0.147200 -vn 0.811600 0.542300 0.217500 -vn 0.811600 -0.542300 0.217500 -vn 0.948600 0.188700 0.254200 -vn 0.549500 0.822400 0.147200 -vn 0.549500 -0.822400 0.147200 -vn 0.948600 -0.188700 0.254200 -vn 0.594100 -0.542300 0.594100 -vn 0.694400 0.188700 0.694400 -vn 0.402300 0.822400 0.402300 -vn 0.402300 -0.822400 0.402300 -vn 0.694400 -0.188700 0.694400 -vn 0.594100 0.542300 0.594100 -vn 0.147200 0.822400 0.549500 -vn 0.147200 -0.822400 0.549500 -vn 0.254200 -0.188700 0.948600 -vn 0.217500 0.542300 0.811600 -vn 0.217500 -0.542300 0.811600 -vn 0.254200 0.188700 0.948600 -vn -0.147200 -0.822400 0.549500 -vn -0.254200 -0.188700 0.948600 -vn -0.217500 0.542300 0.811600 -vn -0.217500 -0.542300 0.811600 -vn -0.254200 0.188700 0.948600 -vn -0.147200 0.822400 0.549500 -vn -0.594100 -0.542300 0.594100 -vn -0.694400 0.188700 0.694400 -vn -0.402300 0.822400 0.402300 -vn -0.402300 -0.822400 0.402300 -vn -0.694400 -0.188700 0.694400 -vn -0.594100 0.542300 0.594100 -vn -0.194800 -0.979400 -0.052200 -vn -0.194800 0.979400 -0.052200 -vn -0.142600 0.979400 -0.142600 -vn -0.142600 -0.979400 -0.142600 -vn -0.052200 0.979400 -0.194800 -vn -0.052200 -0.979400 -0.194800 -vn 0.052200 -0.979400 -0.194800 -vn 0.052200 0.979400 -0.194800 -vn 0.142600 0.979400 -0.142600 -vn 0.142600 -0.979400 -0.142600 -vn 0.194800 0.979400 -0.052200 -vn 0.194800 -0.979400 -0.052200 -vn 0.194800 0.979400 0.052200 -vn 0.194800 -0.979400 0.052200 -vn 0.142600 -0.979400 0.142600 -vn 0.142600 0.979400 0.142600 -vn 0.052200 0.979400 0.194800 -vn 0.052200 -0.979400 0.194800 -vn -0.052200 0.979400 0.194800 -vn -0.052200 -0.979400 0.194800 -vn -0.142600 0.979400 0.142600 -vn -0.142600 -0.979400 0.142600 -vn -0.811600 -0.542300 0.217500 -vn -0.948600 0.188700 0.254200 -vn -0.549500 0.822400 0.147200 -vn -0.549500 -0.822400 0.147200 -vn -0.948600 -0.188700 0.254200 -vn -0.811600 0.542300 0.217500 -vn -0.194800 0.979400 0.052200 -vn -0.194800 -0.979400 0.052200 -s off -f 5/1/1 13/2/1 14/3/1 -f 4/4/2 3/5/2 11/6/2 -f 1/7/3 9/8/3 10/9/3 -f 7/10/4 6/11/4 14/3/4 -f 4/4/5 12/12/5 13/2/5 -f 2/13/6 10/9/6 11/6/6 -f 14/14/7 21/15/7 22/16/7 -f 13/17/8 12/18/8 19/19/8 -f 11/20/9 10/21/9 17/22/9 -f 13/17/10 20/23/10 21/15/10 -f 11/20/11 18/24/11 19/19/11 -f 10/21/12 9/25/12 16/26/12 -f 20/1/13 19/4/13 26/27/13 -f 18/5/14 17/28/14 24/29/14 -f 20/1/15 27/2/15 28/30/15 -f 18/5/16 25/31/16 26/27/16 -f 16/7/17 23/8/17 24/29/17 -f 21/11/18 28/30/18 29/32/18 -f 27/33/19 35/34/19 36/35/19 -f 25/36/20 33/37/20 34/12/20 -f 23/38/21 31/39/21 32/40/21 -f 28/41/22 36/35/22 37/42/22 -f 27/33/23 26/43/23 34/12/23 -f 24/44/24 32/40/24 33/37/24 -f 33/45/25 40/46/25 41/47/25 -f 31/48/26 38/49/26 39/50/26 -f 36/51/27 43/52/27 44/53/27 -f 34/54/28 41/47/28 42/55/28 -f 32/56/29 39/50/29 40/46/29 -f 35/57/30 42/55/30 43/52/30 -f 43/14/31 50/30/31 51/32/31 -f 41/4/32 48/19/32 49/23/32 -f 39/44/33 46/29/33 47/31/33 -f 42/17/34 49/23/34 50/30/34 -f 40/5/35 47/31/35 48/19/35 -f 39/44/36 38/38/36 45/26/36 -f 46/44/37 53/40/37 54/37/37 -f 49/33/38 56/34/38 57/35/38 -f 47/58/39 54/37/39 55/19/39 -f 45/38/40 52/26/40 53/40/40 -f 50/41/41 57/35/41 58/59/41 -f 48/60/42 55/19/42 56/34/42 -f 56/61/43 63/62/43 64/63/43 -f 54/64/44 61/65/44 62/66/44 -f 53/67/45 52/68/45 59/69/45 -f 58/70/46 57/71/46 64/63/46 -f 55/72/47 62/66/47 63/62/47 -f 54/64/48 53/67/48 60/73/48 -f 60/56/49 59/48/49 66/74/49 -f 64/71/50 71/15/50 72/16/50 -f 62/18/51 69/19/51 70/62/51 -f 60/56/52 67/22/52 68/24/52 -f 63/75/53 70/62/53 71/15/53 -f 61/58/54 68/24/54 69/19/54 -f 71/51/55 78/52/55 79/59/55 -f 69/60/56 76/19/56 77/55/56 -f 68/58/57 67/56/57 74/50/57 -f 71/51/58 70/57/58 77/55/58 -f 69/60/59 68/58/59 75/46/59 -f 66/48/60 73/49/60 74/50/60 -f 78/14/61 77/17/61 84/23/61 -f 75/20/62 82/31/62 83/19/62 -f 73/38/63 80/26/63 81/29/63 -f 79/76/64 78/14/64 85/30/64 -f 76/18/65 83/19/65 84/23/65 -f 74/44/66 81/29/66 82/31/66 -f 8/77/67 7/10/67 15/32/67 -f 1/7/68 30/78/68 9/8/68 -f 9/25/69 30/79/69 16/26/69 -f 8/80/70 15/81/70 22/16/70 -f 16/7/71 30/78/71 23/8/71 -f 8/77/72 22/76/72 29/32/72 -f 8/82/73 29/83/73 37/42/73 -f 23/38/74 30/84/74 31/39/74 -f 31/48/75 30/85/75 38/49/75 -f 8/86/76 37/87/76 44/53/76 -f 38/38/77 30/79/77 45/26/77 -f 8/77/78 44/76/78 51/32/78 -f 45/38/79 30/84/79 52/26/79 -f 8/86/80 51/83/80 58/59/80 -f 8/88/81 58/70/81 65/89/81 -f 52/68/82 30/90/82 59/69/82 -f 59/48/83 30/90/83 66/74/83 -f 8/80/84 65/81/84 72/16/84 -f 66/48/85 30/85/85 73/49/85 -f 8/86/86 72/87/86 79/59/86 -f 73/38/87 30/79/87 80/26/87 -f 8/77/88 79/76/88 86/16/88 -f 85/71/89 84/75/89 5/62/89 -f 82/64/90 3/24/90 4/66/90 -f 80/68/91 1/69/91 2/22/91 -f 85/71/92 6/15/92 7/89/92 -f 83/72/93 4/66/93 5/62/93 -f 81/21/94 2/22/94 3/24/94 -f 80/68/95 30/90/95 1/69/95 -f 8/88/96 86/81/96 7/89/96 -f 6/11/1 5/1/1 14/3/1 -f 12/12/2 4/4/2 11/6/2 -f 2/13/3 1/7/3 10/9/3 -f 15/32/4 7/10/4 14/3/4 -f 5/1/5 4/4/5 13/2/5 -f 3/5/6 2/13/6 11/6/6 -f 15/81/7 14/14/7 22/16/7 -f 20/23/8 13/17/8 19/19/8 -f 18/24/9 11/20/9 17/22/9 -f 14/14/10 13/17/10 21/15/10 -f 12/18/11 11/20/11 19/19/11 -f 17/22/12 10/21/12 16/26/12 -f 27/2/13 20/1/13 26/27/13 -f 25/31/14 18/5/14 24/29/14 -f 21/11/15 20/1/15 28/30/15 -f 19/4/16 18/5/16 26/27/16 -f 17/28/17 16/7/17 24/29/17 -f 22/76/18 21/11/18 29/32/18 -f 28/41/19 27/33/19 36/35/19 -f 26/43/20 25/36/20 34/12/20 -f 24/44/21 23/38/21 32/40/21 -f 29/83/22 28/41/22 37/42/22 -f 35/34/23 27/33/23 34/12/23 -f 25/36/24 24/44/24 33/37/24 -f 34/54/25 33/45/25 41/47/25 -f 32/56/26 31/48/26 39/50/26 -f 37/87/27 36/51/27 44/53/27 -f 35/57/28 34/54/28 42/55/28 -f 33/45/29 32/56/29 40/46/29 -f 36/51/30 35/57/30 43/52/30 -f 44/76/31 43/14/31 51/32/31 -f 42/17/32 41/4/32 49/23/32 -f 40/5/33 39/44/33 47/31/33 -f 43/14/34 42/17/34 50/30/34 -f 41/4/35 40/5/35 48/19/35 -f 46/29/36 39/44/36 45/26/36 -f 47/58/37 46/44/37 54/37/37 -f 50/41/38 49/33/38 57/35/38 -f 48/60/39 47/58/39 55/19/39 -f 46/44/40 45/38/40 53/40/40 -f 51/83/41 50/41/41 58/59/41 -f 49/33/42 48/60/42 56/34/42 -f 57/71/43 56/61/43 64/63/43 -f 55/72/44 54/64/44 62/66/44 -f 60/73/45 53/67/45 59/69/45 -f 65/89/46 58/70/46 64/63/46 -f 56/61/47 55/72/47 63/62/47 -f 61/65/48 54/64/48 60/73/48 -f 67/22/49 60/56/49 66/74/49 -f 65/81/50 64/71/50 72/16/50 -f 63/75/51 62/18/51 70/62/51 -f 61/58/52 60/56/52 68/24/52 -f 64/71/53 63/75/53 71/15/53 -f 62/18/54 61/58/54 69/19/54 -f 72/87/55 71/51/55 79/59/55 -f 70/57/56 69/60/56 77/55/56 -f 75/46/57 68/58/57 74/50/57 -f 78/52/58 71/51/58 77/55/58 -f 76/19/59 69/60/59 75/46/59 -f 67/56/60 66/48/60 74/50/60 -f 85/30/61 78/14/61 84/23/61 -f 76/18/62 75/20/62 83/19/62 -f 74/44/63 73/38/63 81/29/63 -f 86/16/64 79/76/64 85/30/64 -f 77/17/65 76/18/65 84/23/65 -f 75/20/66 74/44/66 82/31/66 -f 6/15/89 85/71/89 5/62/89 -f 83/72/90 82/64/90 4/66/90 -f 81/21/91 80/68/91 2/22/91 -f 86/81/92 85/71/92 7/89/92 -f 84/75/93 83/72/93 5/62/93 -f 82/64/94 81/21/94 3/24/94 diff --git a/src/main/resources/assets/hbm/models/trinkets/pooh.obj b/src/main/resources/assets/hbm/models/trinkets/pooh.obj new file mode 100644 index 000000000..958bfc3e9 --- /dev/null +++ b/src/main/resources/assets/hbm/models/trinkets/pooh.obj @@ -0,0 +1,334 @@ +# Blender v2.79 (sub 0) OBJ File: 'pooh.blend' +# www.blender.org +o Cube_Cube.001 +v -0.250000 0.062500 0.250000 +v 0.250000 0.062500 0.250000 +v -0.250000 0.062500 -0.250000 +v 0.250000 0.062500 -0.250000 +v -0.250000 0.437500 0.250000 +v 0.250000 0.437500 0.250000 +v -0.250000 0.437500 -0.250000 +v 0.250000 0.437500 -0.250000 +v -0.187500 0.437500 0.187500 +v 0.187500 0.437500 0.187500 +v -0.187500 0.437500 -0.187500 +v 0.187500 0.437500 -0.187500 +v -0.187500 0.625000 -0.187500 +v -0.187500 0.625000 0.187500 +v 0.187500 0.625000 0.187500 +v 0.187500 0.625000 -0.187500 +v -0.250000 0.625000 0.250000 +v 0.250000 0.625000 0.250000 +v -0.250000 0.625000 -0.250000 +v 0.250000 0.625000 -0.250000 +v -0.250000 1.125000 -0.250000 +v -0.250000 1.125000 0.250000 +v 0.250000 1.125000 0.250000 +v 0.250000 1.125000 -0.250000 +v -0.125000 0.000000 -0.062500 +v 0.500000 0.000000 -0.062500 +v -0.125000 0.000000 -0.187500 +v 0.500000 0.000000 -0.187500 +v -0.125000 0.125000 -0.187500 +v -0.125000 0.125000 -0.062500 +v 0.500000 0.125000 -0.062500 +v 0.500000 0.125000 -0.187500 +v -0.125000 0.000000 0.187500 +v 0.500000 0.000000 0.187500 +v -0.125000 0.000000 0.062500 +v 0.500000 0.000000 0.062500 +v -0.125000 0.125000 0.062500 +v -0.125000 0.125000 0.187500 +v 0.500000 0.125000 0.187500 +v 0.500000 0.125000 0.062500 +v -0.062500 0.606694 -0.169194 +v 0.062500 0.606694 -0.169194 +v -0.062500 0.518306 -0.080806 +v 0.062500 0.518306 -0.080806 +v -0.062500 0.253141 -0.345971 +v -0.062500 0.341529 -0.434359 +v 0.062500 0.341529 -0.434359 +v 0.062500 0.253141 -0.345971 +v -0.062500 0.606694 0.169194 +v 0.062500 0.606694 0.169194 +v -0.062500 0.518306 0.080806 +v 0.062500 0.518306 0.080806 +v -0.062500 0.253141 0.345971 +v -0.062500 0.341529 0.434359 +v 0.062500 0.341529 0.434359 +v 0.062500 0.253141 0.345971 +v 0.250000 0.781250 0.031250 +v 0.250000 0.718750 0.031250 +v 0.250000 0.781250 -0.031250 +v 0.250000 0.718750 -0.031250 +v 0.312500 0.781250 -0.031250 +v 0.312500 0.781250 0.031250 +v 0.312500 0.718750 0.031250 +v 0.312500 0.718750 -0.031250 +v -0.093750 1.062500 -0.125000 +v 0.093750 1.062500 -0.125000 +v -0.093750 1.062500 -0.312500 +v 0.093750 1.062500 -0.312500 +v -0.093750 1.250000 -0.312500 +v -0.093750 1.250000 -0.125000 +v 0.093750 1.250000 -0.125000 +v 0.093750 1.250000 -0.312500 +v -0.093750 1.062500 0.312500 +v 0.093750 1.062500 0.312500 +v -0.093750 1.062500 0.125000 +v 0.093750 1.062500 0.125000 +v -0.093750 1.250000 0.125000 +v -0.093750 1.250000 0.312500 +v 0.093750 1.250000 0.312500 +v 0.093750 1.250000 0.125000 +vt 0.400000 -0.000000 +vt 0.200000 0.173913 +vt 0.200000 -0.000000 +vt 0.200000 0.304348 +vt 0.400000 0.478261 +vt 0.200000 0.478261 +vt 0.600000 0.173913 +vt 0.400000 0.304348 +vt 0.400000 0.173913 +vt 0.000000 0.304348 +vt 0.000000 0.173913 +vt 0.800000 0.173913 +vt 0.600000 0.304348 +vt 0.700000 0.304348 +vt 0.550000 0.369565 +vt 0.550000 0.304348 +vt 1.000000 0.304348 +vt 0.850000 0.369565 +vt 0.850000 0.304348 +vt 0.700000 0.369565 +vt 0.400000 0.369565 +vt 0.400000 0.304348 +vt 0.400000 0.478261 +vt 0.200000 0.652174 +vt 0.200000 0.478261 +vt 0.200000 0.826087 +vt 0.400000 1.000000 +vt 0.200000 1.000000 +vt 0.600000 0.652174 +vt 0.400000 0.826087 +vt 0.400000 0.652174 +vt -0.000000 0.826087 +vt -0.000000 0.652174 +vt 0.800000 0.652174 +vt 0.600000 0.826087 +vt 0.900000 0.260870 +vt 0.950000 0.043478 +vt 0.950000 0.260870 +vt 0.800000 0.043478 +vt 0.850000 0.260870 +vt 0.800000 0.260870 +vt 0.850000 -0.000000 +vt 0.800000 0.000000 +vt 0.800000 0.304348 +vt 0.850000 0.304348 +vt 0.850000 0.043478 +vt 0.900000 0.043478 +vt 1.000000 0.260870 +vt 0.900000 0.260870 +vt 0.950000 0.043478 +vt 0.950000 0.260870 +vt 0.800000 0.043478 +vt 0.850000 0.260870 +vt 0.800000 0.260870 +vt 0.850000 -0.000000 +vt 0.800000 0.000000 +vt 0.800000 0.304348 +vt 0.850000 0.304348 +vt 0.850000 0.043478 +vt 0.900000 0.043478 +vt 1.000000 0.260870 +vt 0.550000 0.369565 +vt 0.475000 0.434783 +vt 0.475000 0.369565 +vt 0.400000 0.043478 +vt 0.450000 0.000000 +vt 0.450000 0.043478 +vt 0.600000 0.173913 +vt 0.550000 0.043478 +vt 0.600000 0.043478 +vt 0.450000 0.173913 +vt 0.500000 0.043478 +vt 0.500000 0.173913 +vt 0.550000 0.173913 +vt 0.400000 0.173913 +vt 0.400000 0.000000 +vt 0.450000 0.043478 +vt 0.400000 0.043478 +vt 0.500000 0.173913 +vt 0.450000 0.173913 +vt 0.550000 0.043478 +vt 0.600000 0.173913 +vt 0.550000 0.173913 +vt 0.500000 0.043478 +vt 0.400000 0.173913 +vt 0.425000 0.521739 +vt 0.450000 0.543478 +vt 0.425000 0.543478 +vt 0.425000 0.565217 +vt 0.450000 0.565217 +vt 0.475000 0.543478 +vt 0.450000 0.521739 +vt 0.475000 0.521739 +vt 0.400000 0.521739 +vt 0.400000 0.543478 +vt 0.450000 0.500000 +vt 0.425000 0.500000 +vt 0.475000 0.500000 +vt 0.550000 0.565217 +vt 0.475000 0.565217 +vt 0.550000 0.434783 +vt 0.700000 0.434783 +vt 0.625000 0.500000 +vt 0.625000 0.434783 +vt 0.550000 0.500000 +vt 0.400000 0.500000 +vt 0.400000 0.434783 +vt 0.550000 0.369565 +vt 0.475000 0.434783 +vt 0.475000 0.369565 +vt 0.475000 0.500000 +vt 0.550000 0.565217 +vt 0.475000 0.565217 +vt 0.550000 0.434783 +vt 0.700000 0.434783 +vt 0.625000 0.500000 +vt 0.625000 0.434783 +vt 0.550000 0.500000 +vt 0.400000 0.500000 +vt 0.400000 0.434783 +vt 0.800000 0.304348 +vt 1.000000 0.369565 +vt 0.800000 0.826087 +vt 1.000000 0.043478 +vt 1.000000 0.043478 +vt 0.400000 0.000000 +vt 0.450000 0.000000 +vt 0.600000 0.043478 +vt 0.700000 0.500000 +vt 0.700000 0.500000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.7071 0.7071 +s off +f 3/1/1 2/2/1 1/3/1 +f 6/4/2 7/5/2 5/6/2 +f 3/7/3 8/8/3 4/9/3 +f 2/2/4 5/10/4 1/11/4 +f 4/9/5 6/4/5 2/2/5 +f 1/12/6 7/13/6 3/7/6 +f 12/14/5 15/15/5 10/16/5 +f 9/17/6 13/18/6 11/19/6 +f 11/19/3 16/20/3 12/14/3 +f 10/16/4 14/21/4 9/22/4 +f 19/23/1 18/24/1 17/25/1 +f 23/26/2 21/27/2 22/28/2 +f 19/29/3 24/30/3 20/31/3 +f 18/24/4 22/32/4 17/33/4 +f 20/31/5 23/26/5 18/24/5 +f 17/34/6 21/35/6 19/29/6 +f 27/36/1 26/37/1 25/38/1 +f 31/39/2 29/40/2 30/41/2 +f 28/42/5 31/39/5 26/43/5 +f 25/44/6 29/40/6 27/45/6 +f 27/36/3 32/46/3 28/47/3 +f 26/37/4 30/48/4 25/38/4 +f 35/49/1 34/50/1 33/51/1 +f 39/52/2 37/53/2 38/54/2 +f 36/55/5 39/52/5 34/56/5 +f 33/57/6 37/53/6 35/58/6 +f 35/49/3 40/59/3 36/60/3 +f 34/50/4 38/61/4 33/51/4 +f 67/62/1 66/63/1 65/64/1 +f 47/65/7 45/66/7 46/67/7 +f 42/68/5 48/69/5 47/70/5 +f 41/71/6 45/72/6 43/73/6 +f 43/73/8 48/69/8 44/74/8 +f 42/75/9 46/67/9 41/71/9 +f 53/76/8 55/77/8 54/78/8 +f 55/77/5 52/79/5 50/80/5 +f 53/81/6 49/82/6 51/83/6 +f 56/84/7 51/83/7 52/79/7 +f 54/78/10 50/80/10 49/85/10 +f 63/86/5 61/87/5 62/88/5 +f 57/89/2 61/87/2 59/90/2 +f 59/91/3 64/92/3 60/93/3 +f 58/94/4 62/88/4 57/95/4 +f 60/96/1 63/86/1 58/97/1 +f 71/98/2 69/99/2 70/100/2 +f 68/101/5 71/98/5 66/63/5 +f 65/102/6 69/103/6 67/104/6 +f 67/104/3 72/105/3 68/101/3 +f 66/63/4 70/106/4 65/107/4 +f 75/108/1 74/109/1 73/110/1 +f 79/111/2 77/112/2 78/113/2 +f 76/114/5 79/111/5 74/109/5 +f 73/115/6 77/116/6 75/117/6 +f 75/117/3 80/118/3 76/114/3 +f 74/109/4 78/119/4 73/120/4 +f 3/1/1 4/9/1 2/2/1 +f 6/4/2 8/8/2 7/5/2 +f 3/7/3 7/13/3 8/8/3 +f 2/2/4 6/4/4 5/10/4 +f 4/9/5 8/8/5 6/4/5 +f 1/12/6 5/121/6 7/13/6 +f 12/14/5 16/20/5 15/15/5 +f 9/17/6 14/122/6 13/18/6 +f 11/19/3 13/18/3 16/20/3 +f 10/16/4 15/15/4 14/21/4 +f 19/23/1 20/31/1 18/24/1 +f 23/26/2 24/30/2 21/27/2 +f 19/29/3 21/35/3 24/30/3 +f 18/24/4 23/26/4 22/32/4 +f 20/31/5 24/30/5 23/26/5 +f 17/34/6 22/123/6 21/35/6 +f 27/36/1 28/47/1 26/37/1 +f 31/39/2 32/46/2 29/40/2 +f 28/42/5 32/46/5 31/39/5 +f 25/44/6 30/41/6 29/40/6 +f 27/36/3 29/40/3 32/46/3 +f 26/37/4 31/124/4 30/48/4 +f 35/49/1 36/60/1 34/50/1 +f 39/52/2 40/59/2 37/53/2 +f 36/55/5 40/59/5 39/52/5 +f 33/57/6 38/54/6 37/53/6 +f 35/49/3 37/53/3 40/59/3 +f 34/50/4 39/125/4 38/61/4 +f 67/62/1 68/101/1 66/63/1 +f 47/65/7 48/126/7 45/66/7 +f 42/68/5 44/74/5 48/69/5 +f 41/71/6 46/67/6 45/72/6 +f 43/73/8 45/72/8 48/69/8 +f 42/75/9 47/65/9 46/67/9 +f 53/76/8 56/127/8 55/77/8 +f 55/77/5 56/84/5 52/79/5 +f 53/81/6 54/128/6 49/82/6 +f 56/84/7 53/81/7 51/83/7 +f 54/78/10 55/77/10 50/80/10 +f 63/86/5 64/92/5 61/87/5 +f 57/89/2 62/88/2 61/87/2 +f 59/91/3 61/87/3 64/92/3 +f 58/94/4 63/86/4 62/88/4 +f 60/96/1 64/92/1 63/86/1 +f 71/98/2 72/105/2 69/99/2 +f 68/101/5 72/105/5 71/98/5 +f 65/102/6 70/129/6 69/103/6 +f 67/104/3 69/103/3 72/105/3 +f 66/63/4 71/98/4 70/106/4 +f 75/108/1 76/114/1 74/109/1 +f 79/111/2 80/118/2 77/112/2 +f 76/114/5 80/118/5 79/111/5 +f 73/115/6 78/130/6 77/116/6 +f 75/117/3 77/116/3 80/118/3 +f 74/109/4 79/111/4 78/119/4 diff --git a/src/main/resources/assets/hbm/models/vehicles/tunnel_bore.obj b/src/main/resources/assets/hbm/models/vehicles/tunnel_bore.obj deleted file mode 100644 index 94434ba94..000000000 --- a/src/main/resources/assets/hbm/models/vehicles/tunnel_bore.obj +++ /dev/null @@ -1,7617 +0,0 @@ -# Blender v2.79 (sub 0) OBJ File: 'tunnel_bore.blend' -# www.blender.org -o Plane -v 0.750000 0.073223 3.051777 -v 0.750000 0.250000 3.125000 -v 0.750000 0.426777 3.051777 -v 0.750000 0.500000 2.875000 -v 0.750000 0.500000 2.125000 -v 0.750000 0.426777 2.301777 -v 0.750000 0.250000 2.375000 -v 0.750000 0.073223 2.301777 -v 0.750000 0.000000 2.125000 -v 0.750000 0.073223 1.948223 -v 0.750000 0.250000 1.875000 -v 0.750000 0.426777 1.948223 -v -0.750000 0.500000 2.125000 -v -0.750000 0.426777 2.301777 -v -0.750000 0.250000 2.375000 -v -0.750000 0.073223 2.301777 -v -0.750000 0.000000 2.125000 -v -0.750000 0.073223 1.948223 -v -0.750000 0.250000 1.875000 -v -0.750000 0.426777 1.948223 -v 0.687500 0.426777 2.301777 -v 0.687500 0.500000 2.125000 -v 0.687500 0.250000 2.375000 -v 0.687500 0.073223 2.301777 -v 0.687500 0.000000 2.125000 -v 0.687500 0.073223 1.948223 -v 0.687500 0.250000 1.875000 -v 0.687500 0.426777 1.948223 -v -0.687500 0.426777 2.301777 -v -0.687500 0.500000 2.125000 -v -0.687500 0.250000 2.375000 -v -0.687500 0.073223 2.301777 -v -0.687500 0.000000 2.125000 -v -0.687500 0.073223 1.948223 -v -0.687500 0.250000 1.875000 -v -0.687500 0.426777 1.948223 -v 0.750000 0.382582 2.257582 -v 0.750000 0.437500 2.125000 -v 0.750000 0.250000 2.312500 -v 0.750000 0.117417 2.257582 -v 0.750000 0.062500 2.125000 -v 0.750000 0.117418 1.992417 -v 0.750000 0.250000 1.937500 -v 0.750000 0.382582 1.992417 -v 0.812500 0.382582 2.257582 -v 0.812500 0.437500 2.125000 -v 0.812500 0.250000 2.312500 -v 0.812500 0.117417 2.257582 -v 0.812500 0.062500 2.125000 -v 0.812500 0.117418 1.992417 -v 0.812500 0.250000 1.937500 -v 0.812500 0.382582 1.992417 -v -0.750000 0.382582 2.257582 -v -0.750000 0.437500 2.125000 -v -0.750000 0.250000 2.312500 -v -0.750000 0.117417 2.257582 -v -0.750000 0.062500 2.125000 -v -0.750000 0.117418 1.992417 -v -0.750000 0.250000 1.937500 -v -0.750000 0.382582 1.992417 -v -0.812500 0.382582 2.257582 -v -0.812500 0.437500 2.125000 -v -0.812500 0.250000 2.312500 -v -0.812500 0.117417 2.257582 -v -0.812500 0.062500 2.125000 -v -0.812500 0.117418 1.992417 -v -0.812500 0.250000 1.937500 -v -0.812500 0.382582 1.992417 -v 0.750000 0.000000 2.875000 -v 0.750000 0.073223 2.698223 -v 0.750000 0.250000 2.625000 -v 0.750000 0.426777 2.698223 -v -0.750000 0.500000 2.875000 -v -0.750000 0.426777 3.051777 -v -0.750000 0.250000 3.125000 -v -0.750000 0.073223 3.051777 -v -0.750000 0.000000 2.875000 -v -0.750000 0.073223 2.698223 -v -0.750000 0.250000 2.625000 -v -0.750000 0.426777 2.698223 -v 0.687500 0.426777 3.051777 -v 0.687500 0.500000 2.875000 -v 0.687500 0.250000 3.125000 -v 0.687500 0.073223 3.051777 -v 0.687500 0.000000 2.875000 -v 0.687500 0.073223 2.698223 -v 0.687500 0.250000 2.625000 -v 0.687500 0.426777 2.698223 -v -0.687500 0.426777 3.051777 -v -0.687500 0.500000 2.875000 -v -0.687500 0.250000 3.125000 -v -0.687500 0.073223 3.051777 -v -0.687500 0.000000 2.875000 -v -0.687500 0.073223 2.698223 -v -0.687500 0.250000 2.625000 -v -0.687500 0.426777 2.698223 -v 0.750000 0.382582 3.007583 -v 0.750000 0.437500 2.875000 -v 0.750000 0.250000 3.062500 -v 0.750000 0.117417 3.007583 -v 0.750000 0.062500 2.875000 -v 0.750000 0.117418 2.742417 -v 0.750000 0.250000 2.687500 -v 0.750000 0.382582 2.742417 -v 0.812500 0.382582 3.007583 -v 0.812500 0.437500 2.875000 -v 0.812500 0.250000 3.062500 -v 0.812500 0.117417 3.007583 -v 0.812500 0.062500 2.875000 -v 0.812500 0.117418 2.742417 -v 0.812500 0.250000 2.687500 -v 0.812500 0.382582 2.742417 -v -0.750000 0.382582 3.007583 -v -0.750000 0.437500 2.875000 -v -0.750000 0.250000 3.062500 -v -0.750000 0.117417 3.007583 -v -0.750000 0.062500 2.875000 -v -0.750000 0.117418 2.742417 -v -0.750000 0.250000 2.687500 -v -0.750000 0.382582 2.742417 -v -0.812500 0.382582 3.007583 -v -0.812500 0.437500 2.875000 -v -0.812500 0.250000 3.062500 -v -0.812500 0.117417 3.007583 -v -0.812500 0.062500 2.875000 -v -0.812500 0.117418 2.742417 -v -0.812500 0.250000 2.687500 -v -0.812500 0.382582 2.742417 -v 1.000000 0.625000 3.250000 -v 1.000000 0.625000 1.750000 -v -1.000000 0.625000 3.250000 -v -1.000000 0.625000 1.750000 -v 1.000000 0.250000 3.250000 -v 1.000000 0.250000 1.750000 -v -1.000000 0.250000 3.250000 -v -1.000000 0.250000 1.750000 -v 1.000000 0.250000 1.625000 -v -1.000000 0.250000 1.625000 -v 1.000000 0.250000 3.375000 -v -1.000000 0.250000 3.375000 -v 1.000000 0.750000 1.625000 -v -1.000000 0.750000 1.625000 -v 1.000000 0.750000 3.375000 -v -1.000000 0.750000 3.375000 -v 0.687500 0.125000 3.125000 -v 0.687500 0.125000 1.875000 -v -0.687500 0.125000 3.125000 -v -0.687500 0.125000 1.875000 -v 0.687500 0.250000 1.750000 -v -0.687500 0.250000 1.750000 -v 0.687500 0.250000 3.250000 -v -0.687500 0.250000 3.250000 -v 0.687500 0.625000 1.750000 -v 0.687500 0.625000 3.250000 -v -0.687500 0.625000 1.750000 -v -0.687500 0.625000 3.250000 -v 0.750000 0.073223 -1.948224 -v 0.750000 0.250000 -1.875000 -v 0.750000 0.426777 -1.948224 -v 0.750000 0.500000 -2.125000 -v 0.750000 0.500000 -2.875000 -v 0.750000 0.426777 -2.698223 -v 0.750000 0.250000 -2.625000 -v 0.750000 0.073223 -2.698223 -v 0.750000 0.000000 -2.875000 -v 0.750000 0.073223 -3.051777 -v 0.750000 0.250000 -3.125000 -v 0.750000 0.426777 -3.051777 -v -0.750000 0.500000 -2.875000 -v -0.750000 0.426777 -2.698223 -v -0.750000 0.250000 -2.625000 -v -0.750000 0.073223 -2.698223 -v -0.750000 0.000000 -2.875000 -v -0.750000 0.073223 -3.051777 -v -0.750000 0.250000 -3.125000 -v -0.750000 0.426777 -3.051777 -v 0.687500 0.426777 -2.698223 -v 0.687500 0.500000 -2.875000 -v 0.687500 0.250000 -2.625000 -v 0.687500 0.073223 -2.698223 -v 0.687500 0.000000 -2.875000 -v 0.687500 0.073223 -3.051777 -v 0.687500 0.250000 -3.125000 -v 0.687500 0.426777 -3.051777 -v -0.687500 0.426777 -2.698223 -v -0.687500 0.500000 -2.875000 -v -0.687500 0.250000 -2.625000 -v -0.687500 0.073223 -2.698223 -v -0.687500 0.000000 -2.875000 -v -0.687500 0.073223 -3.051777 -v -0.687500 0.250000 -3.125000 -v -0.687500 0.426777 -3.051777 -v 0.750000 0.382582 -2.742418 -v 0.750000 0.437500 -2.875000 -v 0.750000 0.250000 -2.687500 -v 0.750000 0.117417 -2.742418 -v 0.750000 0.062500 -2.875000 -v 0.750000 0.117418 -3.007583 -v 0.750000 0.250000 -3.062500 -v 0.750000 0.382582 -3.007583 -v 0.812500 0.382582 -2.742418 -v 0.812500 0.437500 -2.875000 -v 0.812500 0.250000 -2.687500 -v 0.812500 0.117417 -2.742418 -v 0.812500 0.062500 -2.875000 -v 0.812500 0.117418 -3.007583 -v 0.812500 0.250000 -3.062500 -v 0.812500 0.382582 -3.007583 -v -0.750000 0.382582 -2.742418 -v -0.750000 0.437500 -2.875000 -v -0.750000 0.250000 -2.687500 -v -0.750000 0.117417 -2.742418 -v -0.750000 0.062500 -2.875000 -v -0.750000 0.117418 -3.007583 -v -0.750000 0.250000 -3.062500 -v -0.750000 0.382582 -3.007583 -v -0.812500 0.382582 -2.742418 -v -0.812500 0.437500 -2.875000 -v -0.812500 0.250000 -2.687500 -v -0.812500 0.117417 -2.742418 -v -0.812500 0.062500 -2.875000 -v -0.812500 0.117418 -3.007583 -v -0.812500 0.250000 -3.062500 -v -0.812500 0.382582 -3.007583 -v 0.750000 0.000000 -2.125000 -v 0.750000 0.073223 -2.301777 -v 0.750000 0.250000 -2.375000 -v 0.750000 0.426777 -2.301777 -v -0.750000 0.500000 -2.125000 -v -0.750000 0.426777 -1.948223 -v -0.750000 0.250000 -1.875000 -v -0.750000 0.073223 -1.948223 -v -0.750000 0.000000 -2.125000 -v -0.750000 0.073223 -2.301777 -v -0.750000 0.250000 -2.375000 -v -0.750000 0.426777 -2.301777 -v 0.687500 0.426777 -1.948224 -v 0.687500 0.500000 -2.125000 -v 0.687500 0.250000 -1.875000 -v 0.687500 0.073223 -1.948224 -v 0.687500 0.000000 -2.125000 -v 0.687500 0.073223 -2.301777 -v 0.687500 0.250000 -2.375000 -v 0.687500 0.426777 -2.301777 -v -0.687500 0.426777 -1.948223 -v -0.687500 0.500000 -2.125000 -v -0.687500 0.250000 -1.875000 -v -0.687500 0.073223 -1.948223 -v -0.687500 0.000000 -2.125000 -v -0.687500 0.073223 -2.301777 -v -0.687500 0.250000 -2.375000 -v -0.687500 0.426777 -2.301777 -v 0.750000 0.382582 -1.992417 -v 0.750000 0.437500 -2.125000 -v 0.750000 0.250000 -1.937500 -v 0.750000 0.117417 -1.992417 -v 0.750000 0.062500 -2.125000 -v 0.750000 0.117418 -2.257583 -v 0.750000 0.250000 -2.312500 -v 0.750000 0.382582 -2.257583 -v 0.812500 0.382582 -1.992417 -v 0.812500 0.437500 -2.125000 -v 0.812500 0.250000 -1.937500 -v 0.812500 0.117417 -1.992417 -v 0.812500 0.062500 -2.125000 -v 0.812500 0.117418 -2.257583 -v 0.812500 0.250000 -2.312500 -v 0.812500 0.382582 -2.257583 -v -0.750000 0.382582 -1.992417 -v -0.750000 0.437500 -2.125000 -v -0.750000 0.250000 -1.937500 -v -0.750000 0.117417 -1.992417 -v -0.750000 0.062500 -2.125000 -v -0.750000 0.117418 -2.257583 -v -0.750000 0.250000 -2.312500 -v -0.750000 0.382582 -2.257583 -v -0.812500 0.382582 -1.992417 -v -0.812500 0.437500 -2.125000 -v -0.812500 0.250000 -1.937500 -v -0.812500 0.117417 -1.992417 -v -0.812500 0.062500 -2.125000 -v -0.812500 0.117418 -2.257583 -v -0.812500 0.250000 -2.312500 -v -0.812500 0.382582 -2.257583 -v 1.000000 0.625000 -1.750000 -v 1.000000 0.625000 -3.250000 -v -1.000000 0.625000 -1.750000 -v -1.000000 0.625000 -3.250000 -v 1.000000 0.250000 -1.750000 -v 1.000000 0.250000 -3.250000 -v -1.000000 0.250000 -1.750000 -v -1.000000 0.250000 -3.250000 -v 1.000000 0.250000 -3.375000 -v -1.000000 0.250000 -3.375000 -v 1.000000 0.250000 -1.625000 -v -1.000000 0.250000 -1.625000 -v 1.000000 0.750000 -3.375000 -v -1.000000 0.750000 -3.375000 -v 1.000000 0.750000 -1.625000 -v -1.000000 0.750000 -1.625000 -v 0.687500 0.125000 -1.875000 -v 0.687500 0.125000 -3.125000 -v -0.687500 0.125000 -1.875000 -v -0.687500 0.125000 -3.125000 -v 0.687500 0.250000 -3.250000 -v -0.687500 0.250000 -3.250000 -v 0.687500 0.250000 -1.750000 -v -0.687500 0.250000 -1.750000 -v 0.687500 0.625000 -3.250000 -v 0.687500 0.625000 -1.750000 -v -0.687500 0.625000 -3.250000 -v -0.687500 0.625000 -1.750000 -v -0.750000 0.750000 3.500000 -v 0.750000 0.750000 3.500000 -v -0.750000 0.750000 -3.500000 -v 0.750000 0.750000 -3.500000 -v -0.750000 1.000000 -3.500000 -v -0.750000 1.000000 3.500000 -v 0.750000 1.000000 3.500000 -v 0.750000 1.000000 -3.500000 -v -0.750000 0.750000 -1.500000 -v -0.750000 0.750000 1.500000 -v 0.750000 0.750000 1.500000 -v 0.750000 0.750000 -1.500000 -v -0.750000 0.250000 -1.000000 -v -0.750000 0.250000 1.000000 -v 0.750000 0.250000 1.000000 -v 0.750000 0.250000 -1.000000 -v 0.530330 1.469670 3.750000 -v 0.750000 2.000000 3.750000 -v 0.530330 2.530330 3.750000 -v 0.000000 2.750000 3.750000 -v -0.530330 2.530330 3.750000 -v -0.750000 2.000000 3.750000 -v -0.530330 1.469670 3.750000 -v -0.000000 1.250000 3.750000 -v -1.000000 1.000000 3.500000 -v 1.000000 1.000000 3.500000 -v -1.000000 1.000000 -0.500000 -v 1.000000 1.000000 -0.500000 -v -1.000000 2.500000 -0.500000 -v -1.000000 2.500000 3.500000 -v 1.000000 2.500000 3.500000 -v 1.000000 2.500000 -0.500000 -v -0.250000 3.000000 -0.500000 -v -0.250000 3.000000 3.500000 -v 0.250000 3.000000 3.500000 -v 0.250000 3.000000 -0.500000 -v 1.000000 1.187500 -0.312500 -v 1.000000 1.812500 -0.312500 -v 1.000000 1.187500 0.062500 -v 1.000000 1.812500 0.062500 -v 0.750000 1.187500 -0.312500 -v 0.750000 1.812500 -0.312500 -v 0.750000 1.187500 0.062500 -v 0.750000 1.812500 0.062500 -v 0.750000 1.375000 -0.250000 -v 0.750000 1.463388 -0.213388 -v 0.750000 1.500000 -0.125000 -v 0.750000 1.463388 -0.036612 -v 0.750000 1.375000 -0.000000 -v 0.750000 1.286612 -0.036612 -v 0.750000 1.250000 -0.125000 -v 0.750000 1.286612 -0.213388 -v 1.000000 1.375000 -0.250000 -v 1.000000 1.463388 -0.213388 -v 1.000000 1.500000 -0.125000 -v 1.000000 1.463388 -0.036612 -v 1.000000 1.375000 -0.000000 -v 1.000000 1.286612 -0.036612 -v 1.000000 1.250000 -0.125000 -v 1.000000 1.286612 -0.213388 -v 1.176777 1.375000 -0.176777 -v 1.150888 1.463388 -0.150888 -v 1.088388 1.500000 -0.088388 -v 1.025888 1.463388 -0.025888 -v 1.025888 1.286612 -0.025888 -v 1.088388 1.250000 -0.088388 -v 1.150888 1.286612 -0.150888 -v 1.250000 1.375000 -0.000000 -v 1.213388 1.463388 -0.000000 -v 1.125000 1.500000 -0.000000 -v 1.036612 1.463388 -0.000000 -v 1.036612 1.286612 -0.000000 -v 1.125000 1.250000 -0.000000 -v 1.213388 1.286612 0.000000 -v 1.000000 1.375000 2.750000 -v 1.250000 1.375000 2.750000 -v 1.213388 1.463388 2.750000 -v 1.125000 1.500000 2.750000 -v 1.036612 1.463388 2.750000 -v 1.036612 1.286612 2.750000 -v 1.125000 1.250000 2.750000 -v 1.213388 1.286612 2.750000 -v 1.000000 1.411612 2.838388 -v 1.250000 1.411612 2.838388 -v 1.213388 1.474112 2.775888 -v 1.036612 1.474112 2.775888 -v 1.036612 1.349112 2.900888 -v 1.125000 1.323223 2.926777 -v 1.213388 1.349112 2.900888 -v 1.000000 1.500000 2.875000 -v 1.250000 1.500000 2.875000 -v 1.213388 1.500000 2.786612 -v 1.036612 1.500000 2.786612 -v 1.036612 1.500000 2.963388 -v 1.125000 1.500000 3.000000 -v 1.213388 1.500000 2.963388 -v 1.125000 2.000000 2.750000 -v 1.000000 2.000000 2.875000 -v 1.250000 2.000000 2.875000 -v 1.213388 2.000000 2.786612 -v 1.036612 2.000000 2.786612 -v 1.036612 2.000000 2.963388 -v 1.125000 2.000000 3.000000 -v 1.213388 2.000000 2.963388 -v 1.088388 2.088388 2.750000 -v 1.176777 2.176777 2.875000 -v 1.150888 2.150888 2.786612 -v 1.025888 2.025888 2.786612 -v 1.025888 2.025888 2.963388 -v 1.088388 2.088388 3.000000 -v 1.150888 2.150888 2.963388 -v 1.000000 2.125000 2.750000 -v 1.000000 2.250000 2.875000 -v 1.000000 2.213388 2.786612 -v 1.000000 2.036612 2.786612 -v 1.000000 2.036612 2.963388 -v 1.000000 2.125000 3.000000 -v 1.000000 2.213388 2.963388 -v 0.750000 1.625000 -0.250000 -v 0.750000 1.713388 -0.213388 -v 0.750000 1.750000 -0.125000 -v 0.750000 1.713388 -0.036612 -v 0.750000 1.625000 -0.000000 -v 0.750000 1.536612 -0.036612 -v 0.750000 1.500000 -0.125000 -v 0.750000 1.536612 -0.213388 -v 1.000000 1.625000 -0.250000 -v 1.000000 1.713388 -0.213388 -v 1.000000 1.750000 -0.125000 -v 1.000000 1.713388 -0.036612 -v 1.000000 1.625000 -0.000000 -v 1.000000 1.536612 -0.036612 -v 1.000000 1.500000 -0.125000 -v 1.000000 1.536612 -0.213388 -v 1.176777 1.625000 -0.176777 -v 1.150888 1.713388 -0.150888 -v 1.088388 1.750000 -0.088388 -v 1.025888 1.713388 -0.025888 -v 1.025888 1.536612 -0.025888 -v 1.088388 1.500000 -0.088388 -v 1.150888 1.536612 -0.150888 -v 1.250000 1.625000 -0.000000 -v 1.213388 1.713388 -0.000000 -v 1.125000 1.750000 -0.000000 -v 1.036612 1.713388 -0.000000 -v 1.036612 1.536612 -0.000000 -v 1.125000 1.500000 -0.000000 -v 1.213388 1.536612 0.000000 -v 1.000000 1.625000 2.500000 -v 1.250000 1.625000 2.500000 -v 1.213388 1.713388 2.500000 -v 1.125000 1.750000 2.500000 -v 1.036612 1.713388 2.500000 -v 1.036612 1.536612 2.500000 -v 1.125000 1.500000 2.500000 -v 1.213388 1.536612 2.500000 -v 1.000000 1.661612 2.588388 -v 1.250000 1.661612 2.588388 -v 1.213388 1.724112 2.525888 -v 1.036612 1.724112 2.525888 -v 1.036612 1.599112 2.650888 -v 1.125000 1.573223 2.676777 -v 1.213388 1.599112 2.650888 -v 1.000000 1.750000 2.625000 -v 1.250000 1.750000 2.625000 -v 1.213388 1.750000 2.536612 -v 1.036612 1.750000 2.536612 -v 1.036612 1.750000 2.713388 -v 1.125000 1.750000 2.750000 -v 1.213388 1.750000 2.713388 -v 1.125000 2.000000 2.500000 -v 1.000000 2.250000 2.625000 -v 1.250000 2.000000 2.625000 -v 1.213388 2.000000 2.536612 -v 1.036612 2.000000 2.536612 -v 1.036612 2.000000 2.713388 -v 1.125000 2.000000 2.750000 -v 1.213388 2.000000 2.713388 -v 1.088388 2.088388 2.500000 -v 1.176777 2.176777 2.625000 -v 1.150888 2.150888 2.536612 -v 1.025888 2.025888 2.536612 -v 1.025888 2.025888 2.713388 -v 1.088388 2.088388 2.750000 -v 1.150888 2.150888 2.713388 -v 1.000000 2.125000 2.500000 -v 1.000000 2.250000 2.625000 -v 1.000000 2.213388 2.536612 -v 1.000000 2.036612 2.536612 -v 1.000000 2.036612 2.713388 -v 1.000000 2.125000 2.750000 -v 1.000000 2.213388 2.713388 -v -0.750000 1.187500 -0.312500 -v -0.750000 1.812500 -0.312500 -v -0.750000 1.187500 0.062500 -v -0.750000 1.812500 0.062500 -v -1.000000 1.187500 -0.312500 -v -1.000000 1.812500 -0.312500 -v -1.000000 1.187500 0.062500 -v -1.000000 1.812500 0.062500 -v -0.750000 1.375000 -0.250000 -v -0.750000 1.463388 -0.213388 -v -0.750000 1.500000 -0.125000 -v -0.750000 1.463388 -0.036612 -v -0.750000 1.375000 0.000000 -v -0.750000 1.286612 -0.036612 -v -0.750000 1.250000 -0.125000 -v -0.750000 1.286612 -0.213388 -v -1.000000 1.375000 -0.250000 -v -1.000000 1.463388 -0.213388 -v -1.000000 1.500000 -0.125000 -v -1.000000 1.463388 -0.036612 -v -1.000000 1.375000 0.000000 -v -1.000000 1.286612 -0.036612 -v -1.000000 1.250000 -0.125000 -v -1.000000 1.286612 -0.213388 -v -1.176777 1.375000 -0.176777 -v -1.150888 1.463388 -0.150888 -v -1.088388 1.500000 -0.088388 -v -1.025888 1.463388 -0.025888 -v -1.025888 1.286612 -0.025888 -v -1.088388 1.250000 -0.088388 -v -1.150888 1.286612 -0.150888 -v -1.250000 1.375000 -0.000000 -v -1.213388 1.463388 -0.000000 -v -1.125000 1.500000 -0.000000 -v -1.036612 1.463388 -0.000000 -v -1.036612 1.286612 -0.000000 -v -1.125000 1.250000 -0.000000 -v -1.213388 1.286612 0.000000 -v -1.000000 1.375000 2.750000 -v -1.250000 1.375000 2.750000 -v -1.213388 1.463388 2.750000 -v -1.125000 1.500000 2.750000 -v -1.036612 1.463388 2.750000 -v -1.036612 1.286612 2.750000 -v -1.125000 1.250000 2.750000 -v -1.213388 1.286612 2.750000 -v -1.000000 1.411612 2.838388 -v -1.250000 1.411612 2.838388 -v -1.213388 1.474112 2.775888 -v -1.036612 1.474112 2.775888 -v -1.036612 1.349112 2.900888 -v -1.125000 1.323223 2.926777 -v -1.213388 1.349112 2.900888 -v -1.000000 1.500000 2.875000 -v -1.250000 1.500000 2.875000 -v -1.213388 1.500000 2.786612 -v -1.036612 1.500000 2.786612 -v -1.036612 1.500000 2.963388 -v -1.125000 1.500000 3.000000 -v -1.213388 1.500000 2.963388 -v -1.125000 2.000000 2.750000 -v -1.000000 2.000000 2.875000 -v -1.250000 2.000000 2.875000 -v -1.213388 2.000000 2.786612 -v -1.036612 2.000000 2.786612 -v -1.036612 2.000000 2.963388 -v -1.125000 2.000000 3.000000 -v -1.213388 2.000000 2.963388 -v -1.088388 2.088388 2.750000 -v -1.176777 2.176777 2.875000 -v -1.150888 2.150888 2.786612 -v -1.025888 2.025888 2.786612 -v -1.025888 2.025888 2.963388 -v -1.088388 2.088388 3.000000 -v -1.150888 2.150888 2.963388 -v -1.000000 2.125000 2.750000 -v -1.000000 2.250000 2.875000 -v -1.000000 2.213388 2.786612 -v -1.000000 2.036612 2.786612 -v -1.000000 2.036612 2.963388 -v -1.000000 2.125000 3.000000 -v -1.000000 2.213388 2.963388 -v -0.750000 1.625000 -0.250000 -v -0.750000 1.713388 -0.213388 -v -0.750000 1.750000 -0.125000 -v -0.750000 1.713388 -0.036612 -v -0.750000 1.625000 0.000000 -v -0.750000 1.536612 -0.036612 -v -0.750000 1.500000 -0.125000 -v -0.750000 1.536612 -0.213388 -v -1.000000 1.625000 -0.250000 -v -1.000000 1.713388 -0.213388 -v -1.000000 1.750000 -0.125000 -v -1.000000 1.713388 -0.036612 -v -1.000000 1.625000 0.000000 -v -1.000000 1.536612 -0.036612 -v -1.000000 1.500000 -0.125000 -v -1.000000 1.536612 -0.213388 -v -1.176777 1.625000 -0.176777 -v -1.150888 1.713388 -0.150888 -v -1.088388 1.750000 -0.088388 -v -1.025888 1.713388 -0.025888 -v -1.025888 1.536612 -0.025888 -v -1.088388 1.500000 -0.088388 -v -1.150888 1.536612 -0.150888 -v -1.250000 1.625000 -0.000000 -v -1.213388 1.713388 -0.000000 -v -1.125000 1.750000 -0.000000 -v -1.036612 1.713388 -0.000000 -v -1.036612 1.536612 -0.000000 -v -1.125000 1.500000 -0.000000 -v -1.213388 1.536612 0.000000 -v -1.000000 1.625000 2.500000 -v -1.250000 1.625000 2.500000 -v -1.213388 1.713388 2.500000 -v -1.125000 1.750000 2.500000 -v -1.036612 1.713388 2.500000 -v -1.036612 1.536612 2.500000 -v -1.125000 1.500000 2.500000 -v -1.213388 1.536612 2.500000 -v -1.000000 1.661612 2.588388 -v -1.250000 1.661612 2.588388 -v -1.213388 1.724112 2.525888 -v -1.036612 1.724112 2.525888 -v -1.036612 1.599112 2.650888 -v -1.125000 1.573223 2.676777 -v -1.213388 1.599112 2.650888 -v -1.000000 1.750000 2.625000 -v -1.250000 1.750000 2.625000 -v -1.213388 1.750000 2.536612 -v -1.036612 1.750000 2.536612 -v -1.036612 1.750000 2.713388 -v -1.125000 1.750000 2.750000 -v -1.213388 1.750000 2.713388 -v -1.125000 2.000000 2.500000 -v -1.000000 2.250000 2.625000 -v -1.250000 2.000000 2.625000 -v -1.213388 2.000000 2.536612 -v -1.036612 2.000000 2.536612 -v -1.036612 2.000000 2.713388 -v -1.125000 2.000000 2.750000 -v -1.213388 2.000000 2.713388 -v -1.088388 2.088388 2.500000 -v -1.176777 2.176777 2.625000 -v -1.150888 2.150888 2.536612 -v -1.025888 2.025888 2.536612 -v -1.025888 2.025888 2.713388 -v -1.088388 2.088388 2.750000 -v -1.150888 2.150888 2.713388 -v -1.000000 2.125000 2.500000 -v -1.000000 2.250000 2.625000 -v -1.000000 2.213388 2.536612 -v -1.000000 2.036612 2.536612 -v -1.000000 2.036612 2.713388 -v -1.000000 2.125000 2.750000 -v -1.000000 2.213388 2.713388 -v -0.000000 1.250000 3.500000 -v -0.530330 1.469670 3.500000 -v -0.750000 2.000000 3.500000 -v -0.530330 2.530330 3.500000 -v 0.000000 2.750000 3.500000 -v 0.530330 2.530330 3.500000 -v 0.750000 2.000000 3.500000 -v 0.530330 1.469670 3.500000 -v 0.000000 3.500000 4.250000 -v -0.750000 3.299038 4.250000 -v -1.299038 2.750000 4.250000 -v -1.500000 2.000000 4.250000 -v -1.299038 1.250000 4.250000 -v -0.750000 0.700962 4.250000 -v -0.000000 0.500000 4.250000 -v 0.750000 0.700962 4.250000 -v 1.299038 1.250000 4.250000 -v 1.500000 1.999999 4.250000 -v 1.299038 2.749999 4.250000 -v 0.750001 3.299038 4.250000 -v 0.000000 3.500000 5.000000 -v -0.750000 3.299038 5.000000 -v -1.299038 2.750000 5.000000 -v -1.500000 2.000000 5.000000 -v -1.299038 1.250000 5.000000 -v -0.750000 0.700962 5.000000 -v -0.000000 0.500000 5.000000 -v 0.750000 0.700962 5.000000 -v 1.299038 1.250000 5.000000 -v 1.500000 1.999999 5.000000 -v 1.299038 2.749999 5.000000 -v 0.750001 3.299038 5.000000 -v 0.000000 3.312500 5.750000 -v -0.656250 3.136658 5.750000 -v -1.136658 2.656250 5.750000 -v -1.312500 2.000000 5.750000 -v -1.136658 1.343750 5.750000 -v -0.656250 0.863342 5.750000 -v -0.000000 0.687500 5.750000 -v 0.656250 0.863341 5.750000 -v 1.136658 1.343750 5.750000 -v 1.312500 1.999999 5.750000 -v 1.136659 2.656250 5.750000 -v 0.656251 3.136658 5.750000 -v 0.000000 2.937500 6.500000 -v -0.468750 2.811899 6.500000 -v -0.811899 2.468750 6.500000 -v -0.937500 2.000000 6.500000 -v -0.811899 1.531250 6.500000 -v -0.468750 1.188101 6.500000 -v -0.000000 1.062500 6.500000 -v 0.468750 1.188101 6.500000 -v 0.811899 1.531250 6.500000 -v 0.937500 2.000000 6.500000 -v 0.811899 2.468750 6.500000 -v 0.468751 2.811899 6.500000 -v 0.000000 2.375000 7.250000 -v -0.187500 2.324759 7.250000 -v -0.324759 2.187500 7.250000 -v -0.375000 2.000000 7.250000 -v -0.324759 1.812500 7.250000 -v -0.187500 1.675241 7.250000 -v -0.000000 1.625000 7.250000 -v 0.187500 1.675240 7.250000 -v 0.324759 1.812500 7.250000 -v 0.375000 2.000000 7.250000 -v 0.324760 2.187500 7.250000 -v 0.187500 2.324759 7.250000 -v 1.375000 2.249999 4.875000 -v 1.375000 1.749999 4.875000 -v 1.375000 2.249999 4.375000 -v 1.375000 1.749999 4.375000 -v 1.625000 2.249999 4.375000 -v 1.625000 2.249999 4.875000 -v 1.625000 1.749999 4.875000 -v 1.625000 1.749999 4.375000 -v 1.875000 2.374999 4.500000 -v 1.875000 2.374999 4.750000 -v 1.875000 2.124999 4.750000 -v 1.875000 2.124999 4.500000 -v 1.290549 1.913017 5.621202 -v 1.161140 1.430054 5.621202 -v 1.374415 1.890545 5.128798 -v 1.245005 1.407582 5.128798 -v 1.612228 1.826823 5.172210 -v 1.528362 1.849295 5.664614 -v 1.398953 1.366332 5.664614 -v 1.482818 1.343860 5.172210 -v 1.861427 1.889460 5.338723 -v 1.819494 1.900696 5.584925 -v 1.754789 1.659214 5.584925 -v 1.796722 1.647979 5.338723 -v 0.894345 2.249999 6.351577 -v 0.894345 1.749999 6.351577 -v 1.105654 2.249999 5.898423 -v 1.105654 1.749999 5.898423 -v 1.332231 2.249999 6.004077 -v 1.120922 2.249999 6.457232 -v 1.120922 1.749999 6.457232 -v 1.332231 1.749999 6.004077 -v 1.505981 2.374999 6.223021 -v 1.400326 2.374999 6.449597 -v 1.400326 2.124999 6.449597 -v 1.505981 2.124999 6.223021 -v 0.375000 2.249999 7.091506 -v 0.375000 1.749999 7.091506 -v 0.625000 2.249999 6.658494 -v 0.625000 1.749999 6.658494 -v 0.841506 2.249999 6.783494 -v 0.591506 2.249999 7.216506 -v 0.591506 1.749999 7.216506 -v 0.841506 1.749999 6.783494 -v 0.995513 2.374999 7.016747 -v 0.870513 2.374999 7.233253 -v 0.870513 2.124999 7.233253 -v 0.995513 2.124999 7.016747 -v -1.375000 1.750001 4.875000 -v -1.375000 2.250001 4.875000 -v -1.375000 1.750001 4.375000 -v -1.375000 2.250001 4.375000 -v -1.625000 1.750001 4.375000 -v -1.625000 1.750001 4.875000 -v -1.625000 2.250001 4.875000 -v -1.625000 2.250001 4.375000 -v -1.875000 1.625001 4.500000 -v -1.875000 1.625001 4.750000 -v -1.875000 1.875001 4.750000 -v -1.875000 1.875001 4.500000 -v 0.249999 0.625000 4.875000 -v -0.250001 0.625000 4.875000 -v 0.249999 0.625000 4.375000 -v -0.250001 0.625000 4.375000 -v 0.249999 0.375000 4.375000 -v 0.249999 0.375000 4.875000 -v -0.250001 0.375000 4.875000 -v -0.250001 0.375000 4.375000 -v 0.374999 0.125000 4.500000 -v 0.374999 0.125000 4.750000 -v 0.124999 0.125000 4.750000 -v 0.124999 0.125000 4.500000 -v -0.249999 3.375000 4.875000 -v 0.250001 3.375000 4.875000 -v -0.249999 3.375000 4.375000 -v 0.250001 3.375000 4.375000 -v -0.249999 3.625000 4.375000 -v -0.249999 3.625000 4.875000 -v 0.250001 3.625000 4.875000 -v 0.250001 3.625000 4.375000 -v -0.374999 3.875000 4.500000 -v -0.374999 3.875000 4.750000 -v -0.124999 3.875000 4.750000 -v -0.124999 3.875000 4.500000 -v 1.315784 1.529006 4.875000 -v 1.065784 1.095993 4.875000 -v 1.315784 1.529006 4.375000 -v 1.065784 1.095993 4.375000 -v 1.532291 1.404006 4.375000 -v 1.532291 1.404006 4.875000 -v 1.282291 0.970993 4.875000 -v 1.282291 0.970993 4.375000 -v 1.811297 1.387259 4.500000 -v 1.811297 1.387259 4.750000 -v 1.686297 1.170753 4.750000 -v 1.686297 1.170753 4.500000 -v -1.315784 2.470994 4.875000 -v -1.065784 2.904007 4.875000 -v -1.315784 2.470994 4.375000 -v -1.065784 2.904007 4.375000 -v -1.532291 2.595994 4.375000 -v -1.532291 2.595994 4.875000 -v -1.282291 3.029007 4.875000 -v -1.282291 3.029007 4.375000 -v -1.811297 2.612741 4.500000 -v -1.811297 2.612741 4.750000 -v -1.686297 2.829247 4.750000 -v -1.686297 2.829247 4.500000 -v -0.470994 0.684216 4.875000 -v -0.904007 0.934216 4.875000 -v -0.470994 0.684216 4.375000 -v -0.904007 0.934216 4.375000 -v -0.595994 0.467709 4.375000 -v -0.595994 0.467709 4.875000 -v -1.029007 0.717709 4.875000 -v -1.029007 0.717709 4.375000 -v -0.612741 0.188703 4.500000 -v -0.612741 0.188703 4.750000 -v -0.829247 0.313703 4.750000 -v -0.829247 0.313703 4.500000 -v 0.470994 3.315784 4.875000 -v 0.904007 3.065784 4.875000 -v 0.470994 3.315784 4.375000 -v 0.904007 3.065784 4.375000 -v 0.595995 3.532291 4.375000 -v 0.595995 3.532291 4.875000 -v 1.029007 3.282291 4.875000 -v 1.029007 3.282291 4.375000 -v 0.612741 3.811297 4.500000 -v 0.612741 3.811297 4.750000 -v 0.829248 3.686297 4.750000 -v 0.829248 3.686297 4.500000 -v 0.904006 0.934215 4.875000 -v 0.470993 0.684215 4.875000 -v 0.904006 0.934215 4.375000 -v 0.470993 0.684215 4.375000 -v 1.029006 0.717708 4.375000 -v 1.029006 0.717708 4.875000 -v 0.595993 0.467708 4.875000 -v 0.595993 0.467708 4.375000 -v 1.262259 0.563702 4.500000 -v 1.262259 0.563702 4.750000 -v 1.045753 0.438702 4.750000 -v 1.045753 0.438702 4.500000 -v -0.904006 3.065785 4.875000 -v -0.470993 3.315785 4.875000 -v -0.904006 3.065785 4.375000 -v -0.470993 3.315785 4.375000 -v -1.029006 3.282291 4.375000 -v -1.029006 3.282291 4.875000 -v -0.595993 3.532291 4.875000 -v -0.595993 3.532291 4.375000 -v -1.262259 3.436298 4.500000 -v -1.262259 3.436298 4.750000 -v -1.045752 3.561298 4.750000 -v -1.045752 3.561298 4.500000 -v -1.065785 1.095994 4.875000 -v -1.315785 1.529007 4.875000 -v -1.065785 1.095994 4.375000 -v -1.315785 1.529007 4.375000 -v -1.282292 0.970994 4.375000 -v -1.282292 0.970994 4.875000 -v -1.532292 1.404007 4.875000 -v -1.532292 1.404007 4.375000 -v -1.436298 0.737741 4.500000 -v -1.436298 0.737741 4.750000 -v -1.561298 0.954248 4.750000 -v -1.561298 0.954248 4.500000 -v 1.065785 2.904006 4.875000 -v 1.315785 2.470993 4.875000 -v 1.065785 2.904006 4.375000 -v 1.315785 2.470993 4.375000 -v 1.282292 3.029006 4.375000 -v 1.282292 3.029006 4.875000 -v 1.532292 2.595993 4.875000 -v 1.532292 2.595993 4.375000 -v 1.436298 3.262259 4.500000 -v 1.436298 3.262259 4.750000 -v 1.561298 3.045752 4.750000 -v 1.561298 3.045752 4.500000 -v 1.074157 1.279396 5.621202 -v 0.720603 0.925842 5.621202 -v 1.135551 1.218002 5.128798 -v 0.781998 0.864448 5.128798 -v 1.309642 1.043911 5.172210 -v 1.248248 1.105304 5.664614 -v 0.894695 0.751751 5.664614 -v 0.956088 0.690357 5.172210 -v 1.556773 0.973556 5.338723 -v 1.526076 1.004253 5.584925 -v 1.349299 0.827477 5.584925 -v 1.379996 0.796780 5.338723 -v 0.569945 0.838860 5.621202 -v 0.086982 0.709450 5.621202 -v 0.592417 0.754994 5.128798 -v 0.109454 0.625585 5.128798 -v 0.656138 0.517182 5.172210 -v 0.633667 0.601047 5.664614 -v 0.150704 0.471638 5.664614 -v 0.173175 0.387772 5.172210 -v 0.834983 0.332687 5.338723 -v 0.823747 0.374620 5.584925 -v 0.582266 0.309916 5.584925 -v 0.593501 0.267983 5.338723 -v 0.086983 3.290549 5.621202 -v 0.569946 3.161140 5.621202 -v 0.109455 3.374415 5.128798 -v 0.592418 3.245006 5.128798 -v 0.173177 3.612228 5.172210 -v 0.150705 3.528362 5.664614 -v 0.633668 3.398952 5.664614 -v 0.656140 3.482818 5.172210 -v 0.110540 3.861427 5.338723 -v 0.099304 3.819494 5.584925 -v 0.340785 3.754789 5.584925 -v 0.352021 3.796722 5.338723 -v 0.720604 3.074157 5.621202 -v 1.074158 2.720603 5.621202 -v 0.781998 3.135550 5.128798 -v 1.135552 2.781997 5.128798 -v 0.956089 3.309642 5.172210 -v 0.894696 3.248248 5.664614 -v 1.248249 2.894695 5.664614 -v 1.309643 2.956089 5.172210 -v 1.026444 3.556773 5.338723 -v 0.995747 3.526076 5.584925 -v 1.172523 3.349299 5.584925 -v 1.203220 3.379996 5.338723 -v 1.161140 2.569945 5.621202 -v 1.290550 2.086982 5.621202 -v 1.245006 2.592417 5.128798 -v 1.374415 2.109454 5.128798 -v 1.482818 2.656138 5.172210 -v 1.398953 2.633667 5.664614 -v 1.528362 2.150704 5.664614 -v 1.612228 2.173176 5.172210 -v 1.667313 2.834983 5.338723 -v 1.625380 2.823747 5.584925 -v 1.690084 2.582266 5.584925 -v 1.732017 2.593501 5.338723 -v -1.290549 2.086983 5.621202 -v -1.161140 2.569946 5.621202 -v -1.374415 2.109455 5.128798 -v -1.245005 2.592418 5.128798 -v -1.612228 2.173177 5.172210 -v -1.528362 2.150705 5.664614 -v -1.398953 2.633668 5.664614 -v -1.482818 2.656140 5.172210 -v -1.861427 2.110540 5.338723 -v -1.819494 2.099304 5.584925 -v -1.754789 2.340786 5.584925 -v -1.796722 2.352022 5.338723 -v -1.074157 2.720604 5.621202 -v -0.720603 3.074158 5.621202 -v -1.135550 2.781999 5.128798 -v -0.781997 3.135552 5.128798 -v -1.309641 2.956089 5.172210 -v -1.248248 2.894696 5.664614 -v -0.894694 3.248249 5.664614 -v -0.956088 3.309643 5.172210 -v -1.556773 3.026444 5.338723 -v -1.526076 2.995747 5.584925 -v -1.349299 3.172523 5.584925 -v -1.379996 3.203220 5.338723 -v -0.569945 3.161140 5.621202 -v -0.086982 3.290550 5.621202 -v -0.592416 3.245006 5.128798 -v -0.109454 3.374415 5.128798 -v -0.656138 3.482818 5.172210 -v -0.633666 3.398953 5.664614 -v -0.150704 3.528362 5.664614 -v -0.173175 3.612228 5.172210 -v -0.834983 3.667313 5.338723 -v -0.823747 3.625380 5.584925 -v -0.582265 3.690084 5.584925 -v -0.593501 3.732017 5.338723 -v -0.086983 0.709451 5.621202 -v -0.569946 0.838860 5.621202 -v -0.109455 0.625585 5.128798 -v -0.592418 0.754994 5.128798 -v -0.173177 0.387772 5.172210 -v -0.150705 0.471638 5.664614 -v -0.633668 0.601048 5.664614 -v -0.656140 0.517182 5.172210 -v -0.110540 0.138573 5.338723 -v -0.099304 0.180506 5.584925 -v -0.340786 0.245211 5.584925 -v -0.352021 0.203278 5.338723 -v -0.720604 0.925843 5.621202 -v -1.074158 1.279397 5.621202 -v -0.781998 0.864450 5.128798 -v -1.135552 1.218003 5.128798 -v -0.956089 0.690358 5.172210 -v -0.894696 0.751752 5.664614 -v -1.248249 1.105306 5.664614 -v -1.309643 1.043912 5.172210 -v -1.026444 0.443227 5.338723 -v -0.995747 0.473924 5.584925 -v -1.172524 0.650701 5.584925 -v -1.203220 0.620004 5.338723 -v -1.161140 1.430055 5.621202 -v -1.290550 1.913018 5.621202 -v -1.245006 1.407584 5.128798 -v -1.374415 1.890546 5.128798 -v -1.482818 1.343862 5.172210 -v -1.398953 1.366334 5.664614 -v -1.528362 1.849296 5.664614 -v -1.612228 1.826825 5.172210 -v -1.667313 1.165017 5.338723 -v -1.625380 1.176253 5.584925 -v -1.690084 1.417735 5.584925 -v -1.732017 1.406499 5.338723 -v -0.894345 1.750001 6.351577 -v -0.894345 2.250001 6.351577 -v -1.105654 1.750001 5.898423 -v -1.105654 2.250001 5.898423 -v -1.332231 1.750001 6.004077 -v -1.120922 1.750001 6.457232 -v -1.120922 2.250001 6.457232 -v -1.332231 2.250001 6.004077 -v -1.505981 1.625001 6.223021 -v -1.400326 1.625001 6.449597 -v -1.400326 1.875001 6.449597 -v -1.505981 1.875001 6.223021 -v 0.249999 1.105655 6.351577 -v -0.250001 1.105655 6.351577 -v 0.249999 0.894346 5.898423 -v -0.250001 0.894346 5.898423 -v 0.249999 0.667769 6.004077 -v 0.249999 0.879078 6.457232 -v -0.250001 0.879078 6.457232 -v -0.250001 0.667769 6.004077 -v 0.374999 0.494019 6.223021 -v 0.374999 0.599674 6.449597 -v 0.124999 0.599674 6.449597 -v 0.124999 0.494019 6.223021 -v -0.249999 2.894345 6.351577 -v 0.250001 2.894345 6.351577 -v -0.249999 3.105654 5.898423 -v 0.250001 3.105654 5.898423 -v -0.249999 3.332232 6.004077 -v -0.249999 3.120922 6.457232 -v 0.250001 3.120922 6.457232 -v 0.250001 3.332232 6.004077 -v -0.374999 3.505981 6.223021 -v -0.374999 3.400326 6.449597 -v -0.124999 3.400326 6.449597 -v -0.124999 3.505981 6.223021 -v 0.809174 1.544379 6.351577 -v 0.455620 1.190825 6.351577 -v 0.958592 1.394960 5.898423 -v 0.605039 1.041407 5.898423 -v 1.118806 1.234746 6.004077 -v 0.969388 1.384165 6.457232 -v 0.615835 1.030611 6.457232 -v 0.765253 0.881193 6.004077 -v 1.330054 1.200275 6.223021 -v 1.255345 1.274984 6.449597 -v 1.078568 1.098207 6.449597 -v 1.153277 1.023499 6.223021 -v -0.809174 2.455621 6.351577 -v -0.455620 2.809175 6.351577 -v -0.958592 2.605040 5.898423 -v -0.605039 2.958593 5.898423 -v -1.118806 2.765254 6.004077 -v -0.969388 2.615836 6.457232 -v -0.615834 2.969389 6.457232 -v -0.765252 3.118807 6.004077 -v -1.330054 2.799725 6.223021 -v -1.255345 2.725016 6.449597 -v -1.078568 2.901793 6.449597 -v -1.153277 2.976501 6.223021 -v -0.455621 1.190826 6.351577 -v -0.809175 1.544380 6.351577 -v -0.605040 1.041408 5.898423 -v -0.958593 1.394961 5.898423 -v -0.765254 0.881194 6.004077 -v -0.615835 1.030612 6.457232 -v -0.969389 1.384166 6.457232 -v -1.118807 1.234747 6.004077 -v -0.799725 0.669946 6.223021 -v -0.725016 0.744655 6.449597 -v -0.901793 0.921432 6.449597 -v -0.976501 0.846723 6.223021 -v 0.455622 2.809174 6.351577 -v 0.809175 2.455620 6.351577 -v 0.605040 2.958592 5.898423 -v 0.958593 2.605039 5.898423 -v 0.765254 3.118806 6.004077 -v 0.615836 2.969388 6.457232 -v 0.969389 2.615834 6.457232 -v 1.118807 2.765253 6.004077 -v 0.799725 3.330054 6.223021 -v 0.725016 3.255345 6.449597 -v 0.901793 3.078568 6.449597 -v 0.976502 3.153277 6.223021 -v -0.375000 1.750001 7.091506 -v -0.375000 2.250001 7.091506 -v -0.625000 1.750001 6.658494 -v -0.625000 2.250001 6.658494 -v -0.841506 1.750001 6.783494 -v -0.591506 1.750001 7.216506 -v -0.591506 2.250001 7.216506 -v -0.841506 2.250001 6.783494 -v -0.995513 1.625001 7.016747 -v -0.870513 1.625001 7.233253 -v -0.870512 1.875001 7.233253 -v -0.995512 1.875001 7.016747 -v 0.404006 1.800240 7.091506 -v -0.029007 1.550240 7.091506 -v 0.529006 1.583734 6.658494 -v 0.095993 1.333734 6.658494 -v 0.637259 1.396234 6.783494 -v 0.512259 1.612740 7.216506 -v 0.079246 1.362740 7.216506 -v 0.204246 1.146234 6.783494 -v 0.822515 1.325360 7.016747 -v 0.760015 1.433614 7.233253 -v 0.543509 1.308614 7.233253 -v 0.606009 1.200360 7.016747 -v -0.404006 2.199760 7.091506 -v 0.029007 2.449760 7.091506 -v -0.529006 2.416266 6.658494 -v -0.095993 2.666266 6.658494 -v -0.637259 2.603766 6.783494 -v -0.512259 2.387260 7.216506 -v -0.079246 2.637260 7.216506 -v -0.204246 2.853766 6.783494 -v -0.822515 2.674640 7.016747 -v -0.760015 2.566386 7.233253 -v -0.543509 2.691386 7.233253 -v -0.606009 2.799640 7.016747 -v 0.029006 1.550241 7.091506 -v -0.404007 1.800241 7.091506 -v -0.095994 1.333735 6.658494 -v -0.529007 1.583735 6.658494 -v -0.204248 1.146235 6.783494 -v -0.079247 1.362741 7.216506 -v -0.512260 1.612741 7.216506 -v -0.637260 1.396235 6.783494 -v -0.172997 0.950361 7.016747 -v -0.110498 1.058614 7.233253 -v -0.327004 1.183614 7.233253 -v -0.389504 1.075361 7.016747 -v -0.029006 2.449759 7.091506 -v 0.404007 2.199759 7.091506 -v 0.095994 2.666265 6.658494 -v 0.529007 2.416265 6.658494 -v 0.204248 2.853765 6.783494 -v 0.079247 2.637259 7.216506 -v 0.512260 2.387259 7.216506 -v 0.637260 2.603765 6.783494 -v 0.172998 3.049639 7.016747 -v 0.110498 2.941386 7.233253 -v 0.327004 2.816386 7.233253 -v 0.389504 2.924639 7.016747 -v 0.000000 2.250000 7.250000 -v -0.176777 2.176777 7.250000 -v -0.250000 2.000000 7.250000 -v -0.176777 1.823223 7.250000 -v 0.000000 1.750000 7.250000 -v 0.176777 1.823223 7.250000 -v 0.250000 2.000000 7.250000 -v 0.176777 2.176777 7.250000 -v 0.000000 2.250000 7.625000 -v -0.176777 2.176777 7.375000 -v -0.250000 2.000000 7.625000 -v -0.176777 1.823223 7.375000 -v 0.000000 1.750000 7.625000 -v 0.176777 1.823223 7.375000 -v 0.250000 2.000000 7.625000 -v 0.176777 2.176777 7.375000 -v 0.000000 2.937500 3.750000 -v -0.468750 2.811899 3.750000 -v -0.811899 2.468750 3.750000 -v -0.937500 2.000000 3.750000 -v -0.811899 1.531250 3.750000 -v -0.468750 1.188101 3.750000 -v -0.000000 1.062500 3.750000 -v 0.468750 1.188101 3.750000 -v 0.811899 1.531250 3.750000 -v 0.937500 2.000000 3.750000 -v 0.811899 2.468750 3.750000 -v 0.468751 2.811899 3.750000 -v -0.500000 1.000000 -0.500000 -v 0.500000 1.000000 -0.500000 -v -0.500000 1.000000 -1.750000 -v 0.500000 1.000000 -1.750000 -v -0.500000 1.750000 -1.750000 -v -0.500000 1.750000 -0.500000 -v 0.500000 1.750000 -0.500000 -v 0.500000 1.750000 -1.750000 -v -0.500000 2.000000 -1.250000 -v -0.500000 2.000000 -0.500000 -v 0.500000 2.000000 -0.500000 -v 0.500000 2.000000 -1.250000 -v -0.375000 1.000000 -2.125000 -v 0.375000 1.000000 -2.125000 -v -0.375000 1.000000 -2.875000 -v 0.375000 1.000000 -2.875000 -v -0.375000 1.487500 -2.875000 -v -0.375000 1.487500 -2.125000 -v 0.375000 1.487500 -2.125000 -v 0.375000 1.487500 -2.875000 -v -0.375000 1.737500 -2.875000 -v 0.375000 1.737500 -2.875000 -v -0.375000 1.737500 -3.000000 -v 0.375000 1.737500 -3.000000 -v -0.375000 2.487500 -3.000000 -v -0.375000 2.487500 -2.875000 -v 0.375000 2.487500 -2.875000 -v 0.375000 2.487500 -3.000000 -v 0.125000 1.737500 -2.875000 -v 0.250000 1.737500 -2.875000 -v 0.125000 1.737500 -3.000000 -v 0.250000 1.737500 -3.000000 -v 0.125000 0.987500 -3.000000 -v 0.125000 0.987500 -2.875000 -v 0.250000 0.987500 -2.875000 -v 0.250000 0.987500 -3.000000 -v -0.250000 1.737500 -2.875000 -v -0.125000 1.737500 -2.875000 -v -0.250000 1.737500 -3.000000 -v -0.125000 1.737500 -3.000000 -v -0.250000 0.987500 -3.000000 -v -0.250000 0.987500 -2.875000 -v -0.125000 0.987500 -2.875000 -v -0.125000 0.987500 -3.000000 -v 0.500000 1.000000 -0.500000 -v 0.750000 1.000000 -0.500000 -v 0.500000 1.000000 -0.750000 -v 0.750000 1.000000 -0.750000 -v 0.500000 3.500000 -0.500000 -v 0.750000 3.500000 -0.500000 -v 0.500000 3.500000 -0.750000 -v 0.750000 3.500000 -0.750000 -v -0.750000 1.000000 -0.500000 -v -0.500000 1.000000 -0.500000 -v -0.750000 1.000000 -0.750000 -v -0.500000 1.000000 -0.750000 -v -0.750000 3.500000 -0.500000 -v -0.500000 3.500000 -0.500000 -v -0.750000 3.500000 -0.750000 -v -0.500000 3.500000 -0.750000 -v 0.500000 1.000000 -3.250000 -v 0.750000 1.000000 -3.250000 -v 0.500000 1.000000 -3.500000 -v 0.750000 1.000000 -3.500000 -v 0.500000 3.500000 -3.250000 -v 0.750000 3.500000 -3.250000 -v 0.500000 3.500000 -3.500000 -v 0.750000 3.500000 -3.500000 -v -0.750000 1.000000 -3.250000 -v -0.500000 1.000000 -3.250000 -v -0.750000 1.000000 -3.500000 -v -0.500000 1.000000 -3.500000 -v -0.750000 3.500000 -3.250000 -v -0.500000 3.500000 -3.250000 -v -0.750000 3.500000 -3.500000 -v -0.500000 3.500000 -3.500000 -v -0.750000 3.500000 -0.250000 -v 0.750000 3.500000 -0.250000 -v -0.750000 3.500000 -3.750000 -v 0.750000 3.500000 -3.750000 -v -0.750000 3.750000 -3.750000 -v -0.750000 3.750000 -0.250000 -v 0.750000 3.750000 -0.250000 -v 0.750000 3.750000 -3.750000 -v -0.500000 1.000000 -3.125000 -v 0.500000 1.000000 -3.125000 -v -0.500000 1.000000 -3.875000 -v 0.500000 1.000000 -3.875000 -v -0.500000 1.500000 -3.875000 -v -0.500000 1.500000 -3.125000 -v 0.500000 1.500000 -3.125000 -v 0.500000 1.500000 -3.875000 -v 0.125000 3.875000 -0.625000 -v 0.125000 3.875000 -0.875000 -v -0.125000 3.875000 -0.625000 -v -0.125000 3.875000 -0.875000 -v 0.125000 3.750000 -0.875000 -v -0.125000 3.750000 -0.875000 -v 0.125000 3.750000 -0.625000 -v -0.125000 3.750000 -0.625000 -v -0.750000 0.750000 -3.875000 -v -0.750000 1.000000 -3.625000 -v -0.750000 1.500000 -3.625000 -v -0.750000 1.750000 -3.875000 -v -0.750000 1.000000 -4.625000 -v -0.750000 0.750000 -4.375000 -v -0.750000 1.750000 -4.375000 -v -0.750000 1.500000 -4.625000 -v 0.750000 1.000000 -3.625000 -v 0.750000 0.750000 -3.875000 -v 0.750000 1.750000 -3.875000 -v 0.750000 1.500000 -3.625000 -v 0.750000 0.750000 -4.375000 -v 0.750000 1.000000 -4.625000 -v 0.750000 1.500000 -4.625000 -v 0.750000 1.750000 -4.375000 -v -0.250000 3.812500 -0.687500 -v 0.250000 3.812500 -0.687500 -v -0.250000 4.312500 -0.687500 -v 0.250000 4.312500 -0.687500 -v -0.250000 4.312500 -0.562500 -v -0.250000 3.812500 -0.562500 -v 0.250000 3.812500 -0.562500 -v 0.250000 4.312500 -0.562500 -v -0.125000 4.187500 -0.812500 -v -0.125000 3.937500 -0.812500 -v 0.125000 3.937500 -0.812500 -v 0.125000 4.187500 -0.812500 -v -0.187500 4.250000 -0.562500 -v -0.187500 3.875000 -0.562500 -v 0.187500 3.875000 -0.562500 -v 0.187500 4.250000 -0.562500 -v -0.187500 4.250000 -0.500000 -v -0.187500 3.875000 -0.500000 -v 0.187500 3.875000 -0.500000 -v 0.187500 4.250000 -0.500000 -v 0.375000 1.000000 -3.312500 -v 0.500000 1.000000 -3.312500 -v 0.375000 1.000000 -3.437500 -v 0.500000 1.000000 -3.437500 -v -0.501000 3.500000 -3.312500 -v -0.376000 3.500000 -3.312500 -v -0.501000 3.500000 -3.437500 -v -0.376000 3.500000 -3.437500 -v -0.500000 1.000000 -3.312500 -v -0.375000 1.000000 -3.312500 -v -0.500000 1.000000 -3.437500 -v -0.375000 1.000000 -3.437500 -v 0.374000 3.500000 -3.312500 -v 0.499000 3.500000 -3.312500 -v 0.374000 3.500000 -3.437500 -v 0.499000 3.500000 -3.437500 -v -0.750000 1.250000 -4.250000 -v -0.750000 1.338388 -4.213388 -v -0.750000 1.375000 -4.125000 -v -0.750000 1.338388 -4.036612 -v -0.750000 1.250000 -4.000000 -v -0.750000 1.161612 -4.036612 -v -0.750000 1.125000 -4.125000 -v -0.750000 1.161612 -4.213388 -v -1.000000 1.250000 -4.250000 -v -1.000000 1.338388 -4.213388 -v -1.000000 1.375000 -4.125000 -v -1.000000 1.338388 -4.036612 -v -1.000000 1.250000 -4.000000 -v -1.000000 1.161612 -4.036612 -v -1.000000 1.125000 -4.125000 -v -1.000000 1.161612 -4.213388 -v -1.088388 1.213388 -4.250000 -v -1.150888 1.275888 -4.213388 -v -1.176777 1.301777 -4.125000 -v -1.150888 1.275888 -4.036612 -v -1.088388 1.213388 -4.000000 -v -1.025888 1.150888 -4.036612 -v -1.025888 1.150888 -4.213388 -v -1.125000 1.125000 -4.250000 -v -1.213388 1.125000 -4.213388 -v -1.250000 1.125000 -4.125000 -v -1.213388 1.125000 -4.036612 -v -1.125000 1.125000 -4.000000 -v -1.036612 1.125000 -4.036612 -v -1.036612 1.125000 -4.213388 -v -1.000000 1.000000 -4.125000 -v -1.125000 1.000000 -4.250000 -v -1.213388 1.000000 -4.213388 -v -1.250000 1.000000 -4.125000 -v -1.213388 1.000000 -4.036612 -v -1.125000 1.000000 -4.000000 -v -1.036612 1.000000 -4.036612 -v -1.036612 1.000000 -4.213388 -v -1.000000 0.911612 -4.088388 -v -1.125000 0.823223 -4.176777 -v -1.213388 0.849112 -4.150888 -v -1.250000 0.911612 -4.088388 -v -1.213388 0.974112 -4.025888 -v -1.036612 0.974112 -4.025888 -v -1.036612 0.849112 -4.150888 -v -1.000000 0.875000 -4.000000 -v -1.125000 0.750000 -4.000000 -v -1.213388 0.786612 -4.000000 -v -1.250000 0.875000 -4.000000 -v -1.213388 0.963388 -4.000000 -v -1.036612 0.963388 -4.000000 -v -1.036612 0.786612 -4.000000 -v -1.125000 1.000000 0.500000 -v -1.000000 0.875000 0.500000 -v -1.125000 0.750000 0.500000 -v -1.213388 0.786612 0.500000 -v -1.250000 0.875000 0.500000 -v -1.213388 0.963388 0.500000 -v -1.036612 0.963388 0.500000 -v -1.036612 0.786612 0.500000 -v -1.088388 1.000000 0.588388 -v -1.088388 0.750000 0.588388 -v -1.150888 0.786612 0.650888 -v -1.176777 0.875000 0.676777 -v -1.150888 0.963388 0.650888 -v -1.025888 0.963388 0.525888 -v -1.025888 0.786612 0.525888 -v -1.000000 1.000000 0.625000 -v -1.000000 0.750000 0.625000 -v -1.000000 0.786612 0.713388 -v -1.000000 0.875000 0.750000 -v -1.000000 0.963388 0.713388 -v -1.000000 0.963388 0.536612 -v -1.000000 0.786612 0.536612 -v -0.750000 0.875000 0.500000 -v -0.750000 1.000000 0.625000 -v -0.750000 0.750000 0.625000 -v -0.750000 0.786612 0.713388 -v -0.750000 0.875000 0.750000 -v -0.750000 0.963388 0.713388 -v -0.750000 0.963388 0.536612 -v -0.750000 0.786612 0.536612 -v 1.125000 3.375000 -0.250000 -v 1.125000 3.375000 -3.750000 -v 1.125000 3.625000 -0.250000 -v 1.125000 3.625000 -3.750000 -v -1.125000 3.375000 -3.750000 -v -1.125000 3.375000 -0.250000 -v -1.125000 3.625000 -3.750000 -v -1.125000 3.625000 -0.250000 -v 0.625000 2.500000 2.500000 -v 0.448223 2.500000 2.573223 -v 0.375000 2.500000 2.750000 -v 0.448223 2.500000 2.926777 -v 0.625000 2.500000 3.000000 -v 0.801777 2.500000 2.926777 -v 0.875000 2.500000 2.750000 -v 0.801777 2.500000 2.573223 -v 0.625000 2.500000 1.750000 -v 0.448223 2.500000 1.823223 -v 0.375000 2.500000 2.000000 -v 0.448223 2.500000 2.176777 -v 0.625000 2.500000 2.250000 -v 0.801777 2.500000 2.176777 -v 0.875000 2.500000 2.000000 -v 0.801777 2.500000 1.823223 -v 0.625000 3.000000 2.500000 -v 0.448223 3.000000 2.573223 -v 0.375000 3.000000 2.750000 -v 0.448223 3.000000 2.926777 -v 0.625000 3.000000 3.000000 -v 0.801777 3.000000 2.926777 -v 0.875000 3.000000 2.750000 -v 0.801777 3.000000 2.573223 -v 0.625000 3.000000 1.750000 -v 0.448223 3.000000 1.823223 -v 0.375000 3.000000 2.000000 -v 0.448223 3.000000 2.176777 -v 0.625000 3.000000 2.250000 -v 0.801777 3.000000 2.176777 -v 0.875000 3.000000 2.000000 -v 0.801777 3.000000 1.823223 -v 0.536612 3.125000 2.661612 -v 0.625000 3.125000 2.625000 -v 0.500000 3.125000 2.750000 -v 0.536612 3.125000 2.838388 -v 0.625000 3.125000 2.875000 -v 0.713388 3.125000 2.838388 -v 0.750000 3.125000 2.750000 -v 0.713388 3.125000 2.661612 -v 0.536612 3.125000 1.911612 -v 0.625000 3.125000 1.875000 -v 0.500000 3.125000 2.000000 -v 0.536612 3.125000 2.088388 -v 0.625000 3.125000 2.125000 -v 0.713388 3.125000 2.088388 -v 0.750000 3.125000 2.000000 -v 0.713388 3.125000 1.911612 -vt 0.964670 0.929866 -vt 0.974078 0.932982 -vt 0.966013 0.933222 -vt 0.116235 0.984543 -vt 0.106827 0.981428 -vt 0.114891 0.981188 -vt 0.156962 0.964302 -vt 0.159223 0.974514 -vt 0.156962 0.975209 -vt 0.462708 0.953115 -vt 0.470311 0.972098 -vt 0.451956 0.980603 -vt 0.154207 0.964945 -vt 0.755545 0.794827 -vt 0.751880 0.784538 -vt 0.755565 0.784537 -vt 0.817620 0.267565 -vt 0.821321 0.278052 -vt 0.817636 0.278053 -vt 0.751860 0.711424 -vt 0.755565 0.721885 -vt 0.751880 0.721885 -vt 0.751880 0.701001 -vt 0.755545 0.711424 -vt 0.162261 0.984488 -vt 0.154207 0.975852 -vt 0.751880 0.805410 -vt 0.751860 0.794828 -vt 0.817636 0.257169 -vt 0.821305 0.267565 -vt 0.412886 0.978242 -vt 0.418184 0.961190 -vt 0.430976 0.972687 -vt 0.412778 0.715128 -vt 0.409073 0.704667 -vt 0.412758 0.704667 -vt 0.409093 0.694244 -vt 0.412778 0.694244 -vt 0.433731 0.972043 -vt 0.425678 0.963407 -vt 0.428433 0.962764 -vt 0.406278 0.810175 -vt 0.409983 0.820757 -vt 0.406298 0.820758 -vt 0.409963 0.831153 -vt 0.406294 0.820758 -vt 0.409979 0.820758 -vt 0.433731 0.982950 -vt 0.409983 0.799885 -vt 0.409963 0.810175 -vt 0.409979 0.841641 -vt 0.406278 0.831153 -vt 0.893080 0.866947 -vt 0.896780 0.859229 -vt 0.896765 0.866947 -vt 0.168818 0.983136 -vt 0.169754 0.986705 -vt 0.175053 0.980560 -vt 0.172792 0.970348 -vt 0.175053 0.969653 -vt 0.169754 0.960374 -vt 0.163197 0.961726 -vt 0.162261 0.958157 -vt 0.159223 0.966334 -vt 0.163197 0.981474 -vt 0.172792 0.978528 -vt 0.168818 0.963388 -vt 0.171573 0.982493 -vt 0.161979 0.973871 -vt 0.165953 0.961082 -vt 0.896777 0.906201 -vt 0.893080 0.898336 -vt 0.896765 0.898335 -vt 0.246705 0.859638 -vt 0.243005 0.851792 -vt 0.246690 0.851792 -vt 0.243019 0.843975 -vt 0.246705 0.843975 -vt 0.165953 0.980831 -vt 0.896780 0.874884 -vt 0.893095 0.874884 -vt 0.893092 0.890539 -vt 0.896777 0.890539 -vt 0.161979 0.965691 -vt 0.565196 0.854933 -vt 0.560292 0.847110 -vt 0.563120 0.847190 -vt 0.105483 0.984864 -vt 0.101124 0.975631 -vt 0.097880 0.965881 -vt 0.106827 0.961053 -vt 0.101124 0.967191 -vt 0.123838 0.965107 -vt 0.114891 0.960813 -vt 0.116235 0.957377 -vt 0.120593 0.975050 -vt 0.123838 0.976360 -vt 0.097880 0.977134 -vt 0.105483 0.957698 -vt 0.120593 0.966610 -vt 0.729674 0.974152 -vt 0.729674 0.982591 -vt 0.710205 0.974733 -vt 0.893080 0.874884 -vt 0.889380 0.866947 -vt 0.893065 0.866947 -vt 0.324434 0.896666 -vt 0.328108 0.904462 -vt 0.324423 0.904462 -vt 0.565196 0.839279 -vt 0.562369 0.839199 -vt 0.893080 0.859229 -vt 0.889395 0.859230 -vt 0.328119 0.912328 -vt 0.324434 0.912328 -vt 0.409185 0.851630 -vt 0.412886 0.859476 -vt 0.409200 0.859476 -vt 0.409200 0.843813 -vt 0.412871 0.851630 -vt 0.151452 0.969653 -vt 0.149191 0.978528 -vt 0.149191 0.970348 -vt 0.975422 0.957033 -vt 0.983025 0.976016 -vt 0.964669 0.984520 -vt 0.154207 0.979917 -vt 0.151452 0.980560 -vt 0.563977 0.807733 -vt 0.560312 0.797443 -vt 0.563997 0.797443 -vt 0.669146 0.650553 -vt 0.672847 0.661041 -vt 0.669162 0.661041 -vt 0.409073 0.746436 -vt 0.412778 0.756897 -vt 0.409093 0.756897 -vt 0.409093 0.736013 -vt 0.412758 0.746436 -vt 0.146153 0.960374 -vt 0.154207 0.969010 -vt 0.560312 0.818316 -vt 0.560292 0.807733 -vt 0.669162 0.640158 -vt 0.672831 0.650553 -vt 0.987895 0.337962 -vt 0.982596 0.344107 -vt 0.975103 0.315559 -vt 0.412778 0.694244 -vt 0.409073 0.683783 -vt 0.412758 0.683783 -vt 0.409093 0.673360 -vt 0.412778 0.673360 -vt 0.990650 0.326412 -vt 0.982596 0.317776 -vt 0.985351 0.317133 -vt 0.817620 0.246587 -vt 0.821325 0.257169 -vt 0.817640 0.257169 -vt 0.563977 0.828711 -vt 0.560308 0.818316 -vt 0.563993 0.818316 -vt 0.990650 0.337319 -vt 0.987895 0.327055 -vt 0.821325 0.236296 -vt 0.821305 0.246586 -vt 0.563993 0.839199 -vt 0.560292 0.828711 -vt 0.889395 0.843575 -vt 0.893065 0.851292 -vt 0.889380 0.851292 -vt 0.139597 0.961726 -vt 0.138660 0.958157 -vt 0.133361 0.975209 -vt 0.135623 0.966334 -vt 0.135623 0.974514 -vt 0.138660 0.984488 -vt 0.145217 0.983136 -vt 0.146153 0.986705 -vt 0.145217 0.963388 -vt 0.133361 0.964302 -vt 0.139597 0.981474 -vt 0.136841 0.962369 -vt 0.146436 0.970991 -vt 0.142462 0.983779 -vt 0.246701 0.906618 -vt 0.243005 0.898753 -vt 0.246690 0.898752 -vt 0.246705 0.843975 -vt 0.243005 0.836129 -vt 0.246690 0.836129 -vt 0.243019 0.828312 -vt 0.246705 0.828312 -vt 0.142462 0.964031 -vt 0.893080 0.859229 -vt 0.889395 0.859229 -vt 0.243016 0.890956 -vt 0.246701 0.890956 -vt 0.756764 0.842028 -vt 0.751860 0.834205 -vt 0.754688 0.834284 -vt 0.983025 0.937276 -vt 0.975422 0.929546 -vt 0.983025 0.948528 -vt 0.974078 0.953356 -vt 0.979780 0.947219 -vt 0.957066 0.949303 -vt 0.966013 0.953597 -vt 0.964669 0.957033 -vt 0.957066 0.938050 -vt 0.960311 0.939360 -vt 0.979780 0.938779 -vt 0.975422 0.956712 -vt 0.960311 0.947800 -vt 0.840983 0.975291 -vt 0.854749 0.968913 -vt 0.860452 0.983150 -vt 0.896780 0.859229 -vt 0.893080 0.851292 -vt 0.896765 0.851292 -vt 0.561508 0.886259 -vt 0.565182 0.894056 -vt 0.561496 0.894056 -vt 0.753937 0.826294 -vt 0.756764 0.826373 -vt 0.893095 0.843575 -vt 0.896780 0.843575 -vt 0.565193 0.901922 -vt 0.561508 0.901922 -vt 0.142103 0.829484 -vt 0.145803 0.837330 -vt 0.142118 0.837330 -vt 0.142118 0.821667 -vt 0.145788 0.829484 -vt 0.889441 0.388429 -vt 0.871015 0.410580 -vt 0.871015 0.388430 -vt 0.814488 0.877039 -vt 0.832914 0.788483 -vt 0.832914 0.877037 -vt 0.283727 0.803652 -vt 0.262037 0.789471 -vt 0.284136 0.789488 -vt 0.841473 0.533162 -vt 0.870954 0.415024 -vt 0.870954 0.533163 -vt 0.291281 0.651453 -vt 0.259197 0.742079 -vt 0.261815 0.651431 -vt 0.642122 0.081258 -vt 0.745310 0.199398 -vt 0.642122 0.199396 -vt 0.261815 0.808370 -vt 0.261628 0.803635 -vt 0.281483 0.746831 -vt 0.291281 0.808393 -vt 0.288663 0.742101 -vt 0.673557 0.849500 -vt 0.651456 0.856720 -vt 0.651456 0.849711 -vt 0.680924 0.758312 -vt 0.673557 0.765392 -vt 0.651456 0.758595 -vt 0.669406 0.433451 -vt 0.743070 0.514682 -vt 0.669406 0.514671 -vt 0.743070 0.433462 -vt 0.750186 0.514717 -vt 0.661790 0.433484 -vt 0.501319 0.862125 -vt 0.501319 0.792035 -vt 0.530787 0.784743 -vt 0.254484 0.784731 -vt 0.252614 0.737380 -vt 0.281892 0.732667 -vt 0.387852 0.758143 -vt 0.406278 0.846693 -vt 0.387852 0.846696 -vt 0.899666 0.390799 -vt 0.918092 0.412949 -vt 0.899666 0.412949 -vt 0.784792 0.997004 -vt 0.798931 0.975265 -vt 0.798931 0.997403 -vt 0.661790 0.514704 -vt 0.654423 0.533161 -vt 0.757553 0.533178 -vt 0.750186 0.533176 -vt 0.313312 0.984464 -vt 0.303904 0.981349 -vt 0.311968 0.981109 -vt 0.832563 0.984542 -vt 0.823155 0.981427 -vt 0.831219 0.981186 -vt 0.915578 0.972216 -vt 0.913317 0.981090 -vt 0.913317 0.972910 -vt 0.231573 0.949085 -vt 0.239176 0.968068 -vt 0.220820 0.976572 -vt 0.918333 0.982479 -vt 0.915578 0.983122 -vt 0.563977 0.786860 -vt 0.560312 0.776571 -vt 0.563997 0.776570 -vt 0.669146 0.671437 -vt 0.672847 0.681924 -vt 0.669162 0.681925 -vt 0.751860 0.732308 -vt 0.755565 0.742769 -vt 0.751880 0.742769 -vt 0.751880 0.721885 -vt 0.755545 0.732308 -vt 0.913035 0.962293 -vt 0.918333 0.971573 -vt 0.560312 0.797443 -vt 0.560292 0.786860 -vt 0.669162 0.661041 -vt 0.672831 0.671437 -vt 0.889044 0.984399 -vt 0.883746 0.990544 -vt 0.876252 0.961996 -vt 0.412778 0.736012 -vt 0.409073 0.725552 -vt 0.412758 0.725551 -vt 0.409093 0.715128 -vt 0.412778 0.715128 -vt 0.891799 0.972849 -vt 0.883746 0.964213 -vt 0.886501 0.963569 -vt 0.142103 0.790211 -vt 0.145808 0.800793 -vt 0.142123 0.800794 -vt 0.842211 0.224305 -vt 0.838541 0.213910 -vt 0.842226 0.213909 -vt 0.891799 0.983756 -vt 0.889044 0.973492 -vt 0.145808 0.779921 -vt 0.145788 0.790211 -vt 0.838541 0.234793 -vt 0.838526 0.224305 -vt 0.324437 0.881011 -vt 0.328108 0.888728 -vt 0.324423 0.888729 -vt 0.910280 0.962936 -vt 0.903723 0.964288 -vt 0.902786 0.960720 -vt 0.897488 0.966864 -vt 0.899749 0.977077 -vt 0.897488 0.977771 -vt 0.902786 0.987051 -vt 0.909343 0.985699 -vt 0.910280 0.989267 -vt 0.909343 0.965951 -vt 0.899749 0.968897 -vt 0.903723 0.984036 -vt 0.900968 0.964931 -vt 0.910562 0.973553 -vt 0.906588 0.986342 -vt 0.131059 0.912323 -vt 0.127362 0.904457 -vt 0.131047 0.904457 -vt 0.565196 0.870596 -vt 0.561496 0.862750 -vt 0.565182 0.862750 -vt 0.561511 0.854933 -vt 0.565196 0.854933 -vt 0.906588 0.966594 -vt 0.328123 0.896665 -vt 0.324437 0.896666 -vt 0.127373 0.896660 -vt 0.131059 0.896660 -vt 0.837819 0.869340 -vt 0.832914 0.861517 -vt 0.835742 0.861597 -vt 0.814208 0.977133 -vt 0.821811 0.984863 -vt 0.814208 0.965880 -vt 0.823155 0.961052 -vt 0.817453 0.967190 -vt 0.840166 0.965105 -vt 0.831219 0.960811 -vt 0.832563 0.957375 -vt 0.836921 0.975048 -vt 0.840166 0.976358 -vt 0.817453 0.975629 -vt 0.821811 0.957696 -vt 0.836921 0.966609 -vt 0.748507 0.983944 -vt 0.748507 0.975504 -vt 0.767975 0.983363 -vt 0.131062 0.896660 -vt 0.127362 0.888723 -vt 0.131047 0.888723 -vt 0.703416 0.900457 -vt 0.707089 0.908254 -vt 0.703404 0.908254 -vt 0.834991 0.853606 -vt 0.837819 0.853686 -vt 0.127377 0.881006 -vt 0.131062 0.881005 -vt 0.707101 0.916120 -vt 0.703416 0.916120 -vt 0.561496 0.878413 -vt 0.565196 0.886259 -vt 0.561511 0.886259 -vt 0.561511 0.870596 -vt 0.565182 0.878413 -vt 0.945965 0.971483 -vt 0.943703 0.980358 -vt 0.943703 0.972178 -vt 0.957166 0.373615 -vt 0.957166 0.362362 -vt 0.983125 0.372840 -vt 0.948720 0.981747 -vt 0.945965 0.982390 -vt 0.409963 0.789302 -vt 0.406298 0.779013 -vt 0.409983 0.779012 -vt 0.751860 0.815806 -vt 0.755561 0.826293 -vt 0.751875 0.826294 -vt 0.751860 0.753192 -vt 0.755565 0.763653 -vt 0.751880 0.763653 -vt 0.751880 0.742769 -vt 0.755545 0.753192 -vt 0.940666 0.962204 -vt 0.948720 0.970840 -vt 0.406298 0.799885 -vt 0.406278 0.789302 -vt 0.751875 0.805410 -vt 0.755545 0.815805 -vt 0.968947 0.211996 -vt 0.974245 0.194945 -vt 0.987037 0.206441 -vt 0.755565 0.784537 -vt 0.751860 0.774076 -vt 0.755545 0.774076 -vt 0.751880 0.763653 -vt 0.755565 0.763653 -vt 0.989792 0.205797 -vt 0.981739 0.197161 -vt 0.984494 0.196518 -vt 0.142103 0.811084 -vt 0.145808 0.821666 -vt 0.142123 0.821667 -vt 0.246690 0.817824 -vt 0.243020 0.807429 -vt 0.246705 0.807429 -vt 0.989792 0.216704 -vt 0.145808 0.800794 -vt 0.145788 0.811083 -vt 0.243020 0.828312 -vt 0.243005 0.817824 -vt 0.243019 0.875302 -vt 0.246690 0.883018 -vt 0.243005 0.883019 -vt 0.934109 0.963556 -vt 0.933173 0.959987 -vt 0.927874 0.977039 -vt 0.930135 0.968164 -vt 0.930135 0.976344 -vt 0.933173 0.986318 -vt 0.939729 0.984966 -vt 0.940666 0.988535 -vt 0.939729 0.965218 -vt 0.927874 0.966132 -vt 0.934109 0.983304 -vt 0.931354 0.964199 -vt 0.940948 0.972821 -vt 0.936974 0.985610 -vt 0.781669 0.918250 -vt 0.777972 0.910384 -vt 0.781658 0.910384 -vt 0.602063 0.875303 -vt 0.598363 0.867457 -vt 0.602049 0.867457 -vt 0.598378 0.859640 -vt 0.602063 0.859640 -vt 0.936974 0.965861 -vt 0.246705 0.890955 -vt 0.243019 0.890956 -vt 0.777984 0.902588 -vt 0.781669 0.902588 -vt 0.785854 0.081220 -vt 0.780950 0.073397 -vt 0.783777 0.073477 -vt 0.294957 0.977055 -vt 0.302560 0.984785 -vt 0.294957 0.965802 -vt 0.303904 0.960974 -vt 0.298202 0.967112 -vt 0.320915 0.965028 -vt 0.311968 0.960734 -vt 0.313312 0.957298 -vt 0.320915 0.976281 -vt 0.317670 0.974971 -vt 0.298202 0.975552 -vt 0.302560 0.957619 -vt 0.317670 0.966531 -vt 0.566017 0.975236 -vt 0.579783 0.968857 -vt 0.585486 0.983094 -vt 0.896780 0.890538 -vt 0.893080 0.882602 -vt 0.896765 0.882601 -vt 0.561508 0.901922 -vt 0.565182 0.909718 -vt 0.561496 0.909718 -vt 0.783026 0.065486 -vt 0.785854 0.065566 -vt 0.893095 0.874885 -vt 0.896780 0.874884 -vt 0.565193 0.917584 -vt 0.561508 0.917584 -vt 0.243005 0.867455 -vt 0.246705 0.875301 -vt 0.243019 0.875301 -vt 0.243019 0.859638 -vt 0.246690 0.867455 -vt 0.962328 0.168381 -vt 0.943902 0.190531 -vt 0.943902 0.168381 -vt 0.672850 0.533178 -vt 0.654423 0.621734 -vt 0.654423 0.533180 -vt 0.090326 0.810172 -vt 0.068636 0.795991 -vt 0.090735 0.796008 -vt 0.841473 0.651302 -vt 0.870954 0.533164 -vt 0.870954 0.651303 -vt 0.097880 0.657973 -vt 0.065796 0.748599 -vt 0.068414 0.657951 -vt 0.642122 0.199398 -vt 0.745310 0.317538 -vt 0.642122 0.317536 -vt 0.068414 0.814890 -vt 0.068227 0.810155 -vt 0.088082 0.753351 -vt 0.097880 0.814913 -vt 0.095262 0.748621 -vt 0.644089 0.849500 -vt 0.621987 0.856720 -vt 0.621987 0.849711 -vt 0.651456 0.758312 -vt 0.644088 0.765392 -vt 0.621987 0.758595 -vt 0.654164 0.739885 -vt 0.580500 0.658653 -vt 0.654164 0.658665 -vt 0.580500 0.739873 -vt 0.573383 0.658618 -vt 0.661780 0.739852 -vt 0.501319 0.791682 -vt 0.501319 0.861772 -vt 0.471850 0.869063 -vt 0.061083 0.791251 -vt 0.059213 0.743900 -vt 0.088491 0.739187 -vt 0.889380 0.887828 -vt 0.870954 0.799278 -vt 0.889380 0.799275 -vt 0.673633 0.967035 -vt 0.692059 0.989184 -vt 0.673633 0.989185 -vt 0.325765 0.996349 -vt 0.339904 0.974610 -vt 0.339904 0.996748 -vt 0.661780 0.658632 -vt 0.669146 0.758312 -vt 0.566017 0.758296 -vt 0.566017 0.640158 -vt 0.000136 0.000014 -vt 0.088582 0.118072 -vt 0.000136 0.118085 -vt 0.088582 0.413485 -vt 0.177029 0.000000 -vt 0.177029 0.413483 -vt 0.627394 0.081258 -vt 0.638423 0.149560 -vt 0.623696 0.149171 -vt 0.471824 0.873341 -vt 0.457084 0.784737 -vt 0.471824 0.784737 -vt 0.624752 0.224985 -vt 0.642122 0.414907 -vt 0.029469 0.525549 -vt 0.044203 0.413264 -vt 0.044203 0.805768 -vt 0.000136 0.295193 -vt 0.088582 0.413250 -vt 0.000136 0.413264 -vt 0.088446 0.264661 -vt 0.088582 0.295179 -vt 0.000000 0.146603 -vt 0.000000 0.264674 -vt 0.626338 0.338705 -vt 0.595561 0.243161 -vt 0.029469 0.693765 -vt 0.000000 0.553867 -vt 0.619388 0.849014 -vt 0.605094 0.880278 -vt 0.604655 0.849011 -vt 0.331691 0.869731 -vt 0.349759 0.838197 -vt 0.345683 0.869865 -vt 0.058964 0.818944 -vt 0.044280 0.850210 -vt 0.044223 0.818943 -vt 0.768198 0.031410 -vt 0.787591 0.000000 -vt 0.777652 0.031028 -vt 0.335766 0.900690 -vt 0.349759 0.900824 -vt 0.442365 0.577926 -vt 0.530807 0.577926 -vt 0.530811 0.696065 -vt 0.412886 0.651166 -vt 0.294957 0.415042 -vt 0.412886 0.415023 -vt 0.619826 0.817628 -vt 0.605094 0.817625 -vt 0.778137 0.062999 -vt 0.787591 0.062617 -vt 0.059213 0.624775 -vt 0.059213 0.602103 -vt 0.088667 0.567265 -vt 0.128680 0.570366 -vt 0.164527 0.555144 -vt 0.165498 0.569328 -vt 0.566017 0.415870 -vt 0.606537 0.447023 -vt 0.566017 0.640158 -vt 0.221117 0.651300 -vt 0.250599 0.415023 -vt 0.250599 0.651300 -vt 0.059021 0.787558 -vt 0.044280 0.787558 -vt 0.177029 0.415155 -vt 0.177029 0.651431 -vt 0.294957 0.651428 -vt 0.294957 0.415152 -vt 0.177029 0.564772 -vt 0.164527 0.543809 -vt 0.166673 0.413485 -vt 0.986770 0.176000 -vt 0.972029 0.139084 -vt 0.986770 0.139084 -vt 0.191770 0.993851 -vt 0.177029 0.971700 -vt 0.191770 0.971700 -vt 0.127710 0.556183 -vt 0.127710 0.544848 -vt 0.191770 0.971702 -vt 0.206511 0.993838 -vt 0.191770 0.993841 -vt 0.128680 0.559031 -vt 0.078311 0.415979 -vt 0.972750 0.888042 -vt 0.987491 0.924958 -vt 0.972750 0.924959 -vt 0.766935 0.081220 -vt 0.752194 0.059070 -vt 0.766935 0.059069 -vt 0.991464 0.789133 -vt 0.980153 0.751916 -vt 0.991464 0.752235 -vt 0.473857 0.973494 -vt 0.488598 0.995630 -vt 0.473857 0.995633 -vt 0.654423 0.415023 -vt 0.606537 0.425996 -vt 0.643372 0.446670 -vt 0.643372 0.425643 -vt 0.654423 0.639311 -vt 0.953091 0.805785 -vt 0.974079 0.842889 -vt 0.953091 0.842688 -vt 0.723832 0.341514 -vt 0.699899 0.399398 -vt 0.642122 0.375422 -vt 0.253827 0.385635 -vt 0.297997 0.341280 -vt 0.297997 0.385582 -vt 0.177029 0.385442 -vt 0.209550 0.341282 -vt 0.209550 0.385584 -vt 0.442122 0.057873 -vt 0.486065 0.074394 -vt 0.466891 0.095357 -vt 0.253829 0.179730 -vt 0.297998 0.135044 -vt 0.297998 0.179321 -vt 0.488240 0.530725 -vt 0.533171 0.492408 -vt 0.532770 0.534460 -vt 0.404174 0.032951 -vt 0.461296 0.036909 -vt 0.209551 0.179335 -vt 0.253829 0.135453 -vt 0.444360 0.534460 -vt 0.488642 0.488673 -vt 0.330222 0.341137 -vt 0.330222 0.385439 -vt 0.253827 0.341333 -vt 0.177029 0.178242 -vt 0.209551 0.135058 -vt 0.330222 0.133941 -vt 0.330222 0.178218 -vt 0.215035 0.090456 -vt 0.253778 0.090801 -vt 0.450950 0.453374 -vt 0.489346 0.450106 -vt 0.320622 0.296811 -vt 0.253777 0.296983 -vt 0.177029 0.133965 -vt 0.292426 0.090443 -vt 0.320622 0.089478 -vt 0.292425 0.296936 -vt 0.177029 0.341140 -vt 0.215034 0.296938 -vt 0.495995 0.054605 -vt 0.528309 0.453374 -vt 0.423348 0.011988 -vt 0.474322 0.021806 -vt 0.514272 0.125355 -vt 0.551268 0.110288 -vt 0.553753 0.132145 -vt 0.253676 0.045774 -vt 0.490353 0.415023 -vt 0.301423 0.252461 -vt 0.226003 0.252551 -vt 0.253676 0.252584 -vt 0.205676 0.044844 -vt 0.226003 0.045527 -vt 0.301422 0.044829 -vt 0.281282 0.252550 -vt 0.205677 0.252463 -vt 0.578111 0.100362 -vt 0.591333 0.118248 -vt 0.281282 0.045519 -vt 0.518184 0.417358 -vt 0.541129 0.000000 -vt 0.532977 0.037258 -vt 0.514286 0.009926 -vt 0.523067 0.105438 -vt 0.547770 0.077403 -vt 0.253523 0.000372 -vt 0.569330 0.004850 -vt 0.543714 0.033287 -vt 0.527688 0.068132 -vt 0.536489 0.075463 -vt 0.253524 0.208136 -vt 0.234323 0.000000 -vt 0.242454 0.000273 -vt 0.591333 0.023176 -vt 0.554994 0.035227 -vt 0.264567 0.208123 -vt 0.495995 0.031968 -vt 0.525660 0.046075 -vt 0.558507 0.073432 -vt 0.264566 0.000270 -vt 0.523724 0.057376 -vt 0.966035 0.766820 -vt 0.936572 0.781587 -vt 0.936570 0.766820 -vt 0.703100 0.952165 -vt 0.680255 0.967034 -vt 0.673635 0.952165 -vt 0.213217 0.912249 -vt 0.227959 0.941781 -vt 0.213217 0.941782 -vt 0.703098 0.937397 -vt 0.673633 0.937397 -vt 0.936552 0.759416 -vt 0.966033 0.744649 -vt 0.966034 0.759416 -vt 0.096015 0.889985 -vt 0.084703 0.860147 -vt 0.096015 0.860466 -vt 0.059213 0.882540 -vt 0.068666 0.896917 -vt 0.059213 0.897299 -vt 0.936551 0.744649 -vt 0.958695 0.729848 -vt 0.084703 0.889665 -vt 0.068666 0.882158 -vt 0.242673 0.934318 -vt 0.242673 0.949085 -vt 0.058944 0.786858 -vt 0.044203 0.757324 -vt 0.058944 0.757323 -vt 0.847202 0.020110 -vt 0.869097 0.000000 -vt 0.876682 0.020110 -vt 0.931764 0.109288 -vt 0.917245 0.079726 -vt 0.931764 0.079755 -vt 0.847153 0.034349 -vt 0.876634 0.034349 -vt 0.088849 0.964659 -vt 0.059213 0.950394 -vt 0.088658 0.950394 -vt 0.403216 0.197512 -vt 0.390263 0.167165 -vt 0.403216 0.168564 -vt 0.366754 0.191339 -vt 0.373792 0.203238 -vt 0.366754 0.205813 -vt 0.081462 0.934219 -vt 0.390263 0.196113 -vt 0.373792 0.188764 -vt 0.901451 0.087162 -vt 0.901451 0.072396 -vt 0.739714 0.938818 -vt 0.724972 0.909286 -vt 0.739714 0.909285 -vt 0.029488 0.950347 -vt 0.050963 0.965522 -vt 0.036228 0.965522 -vt 0.177029 0.867980 -vt 0.190411 0.897579 -vt 0.177029 0.897513 -vt 0.058950 0.935582 -vt 0.029480 0.935582 -vt 0.966265 0.722480 -vt 0.936783 0.707712 -vt 0.966265 0.707712 -vt 0.927380 0.921683 -vt 0.913134 0.892037 -vt 0.927380 0.892165 -vt 0.206884 0.890190 -vt 0.213066 0.904813 -vt 0.206884 0.904957 -vt 0.944197 0.692928 -vt 0.958938 0.692928 -vt 0.913134 0.921555 -vt 0.896994 0.914288 -vt 0.955365 0.892305 -vt 0.929738 0.914650 -vt 0.927380 0.892037 -vt 0.000000 0.950810 -vt 0.022693 0.935582 -vt 0.029472 0.950810 -vt 0.710205 0.900457 -vt 0.697413 0.870846 -vt 0.710205 0.870924 -vt 0.000008 0.965574 -vt 0.029480 0.965574 -vt 0.937002 0.029548 -vt 0.966483 0.014780 -vt 0.966484 0.029548 -vt 0.443196 0.922096 -vt 0.428673 0.892493 -vt 0.443196 0.892578 -vt 0.680958 0.878219 -vt 0.673633 0.863590 -vt 0.680958 0.863452 -vt 0.944417 0.000000 -vt 0.959158 0.000000 -vt 0.428673 0.922011 -vt 0.412886 0.914791 -vt 0.986770 0.139084 -vt 0.998081 0.168921 -vt 0.986770 0.168602 -vt 0.943731 0.929546 -vt 0.929738 0.929412 -vt 0.966038 0.781587 -vt 0.943691 0.796388 -vt 0.955365 0.921828 -vt 0.943731 0.914784 -vt 0.710205 0.916591 -vt 0.710205 0.901824 -vt 0.971888 0.139084 -vt 0.944043 0.153845 -vt 0.943902 0.139084 -vt 0.379655 0.911290 -vt 0.358059 0.933373 -vt 0.350190 0.911290 -vt 0.840983 0.902484 -vt 0.855723 0.932019 -vt 0.840983 0.932019 -vt 0.636525 0.965810 -vt 0.651260 0.993705 -vt 0.636525 0.993846 -vt 0.380361 0.910450 -vt 0.364922 0.891463 -vt 0.379655 0.891508 -vt 0.365628 0.868803 -vt 0.380361 0.868847 -vt 0.372794 0.948140 -vt 0.358061 0.948140 -vt 0.365628 0.910405 -vt 0.350190 0.901819 -vt 0.350542 0.890489 -vt 0.870543 0.924610 -vt 0.870543 0.939377 -vt 0.879290 0.207889 -vt 0.895312 0.226384 -vt 0.880585 0.226800 -vt 0.814194 0.947579 -vt 0.799454 0.918044 -vt 0.814194 0.918044 -vt 0.500029 0.947445 -vt 0.522075 0.925361 -vt 0.529511 0.947445 -vt 0.879290 0.185217 -vt 0.894017 0.207473 -vt 0.507334 0.910594 -vt 0.522075 0.910594 -vt 0.972029 0.153844 -vt 0.953497 0.168381 -vt 0.894017 0.184802 -vt 0.909068 0.194782 -vt 0.784792 0.925401 -vt 0.784792 0.910633 -vt 0.938537 0.445694 -vt 0.951270 0.474960 -vt 0.938537 0.475212 -vt 0.566017 0.926567 -vt 0.588511 0.902648 -vt 0.595482 0.926567 -vt 0.409860 0.917707 -vt 0.395118 0.947240 -vt 0.395118 0.917707 -vt 0.566269 0.939322 -vt 0.595734 0.939322 -vt 0.967717 0.593972 -vt 0.954984 0.564470 -vt 0.967717 0.564437 -vt 0.571270 0.859640 -vt 0.593110 0.876307 -vt 0.566017 0.870919 -vt 0.584817 0.899954 -vt 0.595874 0.893504 -vt 0.598363 0.902648 -vt 0.954984 0.594005 -vt 0.938537 0.571858 -vt 0.582328 0.890810 -vt 0.380361 0.925172 -vt 0.380361 0.910405 -vt 0.953489 0.849231 -vt 0.924040 0.861987 -vt 0.924007 0.849231 -vt 0.748507 0.902588 -vt 0.763248 0.932121 -vt 0.748507 0.932121 -vt 0.953522 0.861987 -vt 0.931359 0.885905 -vt 0.983025 0.959112 -vt 0.995091 0.989749 -vt 0.983025 0.986783 -vt 0.969804 0.328751 -vt 0.956007 0.317896 -vt 0.969804 0.315559 -vt 0.951270 0.445442 -vt 0.967716 0.467544 -vt 0.943918 0.319448 -vt 0.956007 0.331088 -vt 0.943918 0.345832 -vt 0.777972 0.924820 -vt 0.777972 0.939586 -vt 0.621987 0.935434 -vt 0.634971 0.965669 -vt 0.621987 0.963470 -vt 0.929861 0.576163 -vt 0.916328 0.601859 -vt 0.902162 0.580169 -vt 0.936570 0.774219 -vt 0.921830 0.803754 -vt 0.921830 0.774220 -vt 0.930178 0.562975 -vt 0.902479 0.566981 -vt 0.132867 0.881005 -vt 0.111630 0.862785 -vt 0.125418 0.863581 -vt 0.118931 0.838991 -vt 0.132719 0.839787 -vt 0.749851 0.848667 -vt 0.737119 0.863678 -vt 0.737119 0.848919 -vt 0.119080 0.880209 -vt 0.097880 0.872293 -vt 0.101530 0.860396 -vt 0.907008 0.781587 -vt 0.907008 0.766820 -vt 0.604655 0.835846 -vt 0.583418 0.817625 -vt 0.597206 0.818422 -vt 0.444353 0.945749 -vt 0.459093 0.916214 -vt 0.459093 0.945749 -vt 0.590867 0.835050 -vt 0.566017 0.839031 -vt 0.597354 0.859640 -vt 0.858414 0.240277 -vt 0.871146 0.225477 -vt 0.871146 0.240244 -vt 0.634971 0.937633 -vt 0.651445 0.958813 -vt 0.583566 0.858844 -vt 0.569741 0.847743 -vt 0.473752 0.938348 -vt 0.473752 0.953115 -vt 0.982458 0.554962 -vt 0.994994 0.580555 -vt 0.982458 0.582998 -vt 0.294957 0.920393 -vt 0.316994 0.893834 -vt 0.324423 0.920393 -vt 0.206565 0.941814 -vt 0.191825 0.912279 -vt 0.206565 0.912280 -vt 0.981225 0.002443 -vt 0.993761 0.028036 -vt 0.981224 0.030479 -vt 0.877837 0.562975 -vt 0.885056 0.580631 -vt 0.870954 0.580631 -vt 0.876087 0.604307 -vt 0.890189 0.604307 -vt 0.302509 0.881011 -vt 0.317242 0.881011 -vt 0.994718 0.680733 -vt 0.981006 0.658623 -vt 0.994718 0.651199 -vt 0.902162 0.582136 -vt 0.177029 0.919724 -vt 0.177029 0.904957 -vt 0.493898 0.886996 -vt 0.485939 0.869662 -vt 0.500029 0.869063 -vt 0.560238 0.946457 -vt 0.545497 0.916922 -vt 0.560238 0.916923 -vt 0.127362 0.881006 -vt 0.105258 0.907565 -vt 0.097880 0.881005 -vt 0.500029 0.910433 -vt 0.479809 0.887595 -vt 0.119967 0.920387 -vt 0.105226 0.920387 -vt 0.456298 0.873331 -vt 0.442586 0.851502 -vt 0.456298 0.843813 -vt 0.485939 0.911031 -vt 0.471850 0.901288 -vt 0.530811 0.924243 -vt 0.530811 0.909476 -vt 0.995825 0.959112 -vt 0.983025 0.929546 -vt 0.995825 0.929578 -vt 0.471824 0.878696 -vt 0.445870 0.900743 -vt 0.444353 0.873341 -vt 0.936551 0.737285 -vt 0.921811 0.766820 -vt 0.921811 0.737286 -vt 0.982683 0.463525 -vt 0.995483 0.493092 -vt 0.982683 0.493060 -vt 0.979111 0.438491 -vt 0.966311 0.408725 -vt 0.979111 0.408973 -vt 0.994942 0.353858 -vt 0.983125 0.384683 -vt 0.983125 0.356429 -vt 0.459605 0.916214 -vt 0.445870 0.913537 -vt 0.966311 0.438242 -vt 0.957166 0.415639 -vt 0.471824 0.904284 -vt 0.459605 0.903420 -vt 0.907008 0.744615 -vt 0.907008 0.729848 -vt 0.995463 0.534502 -vt 0.982663 0.504736 -vt 0.995463 0.504984 -vt 0.953091 0.842645 -vt 0.938350 0.813112 -vt 0.953091 0.813111 -vt 0.770345 0.277132 -vt 0.745310 0.295722 -vt 0.752720 0.270236 -vt 0.782162 0.302814 -vt 0.782162 0.274560 -vt 0.754122 0.313297 -vt 0.745310 0.309849 -vt 0.692059 0.967034 -vt 0.706082 0.990789 -vt 0.692059 0.995070 -vt 0.770345 0.305386 -vt 0.754122 0.299170 -vt 0.923672 0.820552 -vt 0.923672 0.805785 -vt 0.901255 0.640872 -vt 0.878767 0.614761 -vt 0.893448 0.614761 -vt 0.901255 0.633840 -vt 0.915759 0.604334 -vt 0.915759 0.633867 -vt 0.870954 0.651303 -vt 0.900317 0.651303 -vt 0.621987 0.935434 -vt 0.611526 0.966055 -vt 0.611525 0.936762 -vt 0.876682 0.005171 -vt 0.890599 0.033451 -vt 0.876682 0.031129 -vt 0.892512 0.604307 -vt 0.877830 0.604307 -vt 0.595871 0.944745 -vt 0.890599 0.007493 -vt 0.906946 0.012979 -vt 0.931580 0.626437 -vt 0.931580 0.641204 -vt 0.899666 0.279928 -vt 0.922730 0.254730 -vt 0.928880 0.279928 -vt 0.899687 0.488906 -vt 0.914180 0.518457 -vt 0.899687 0.518440 -vt 0.980258 0.694228 -vt 0.994144 0.721429 -vt 0.980258 0.722729 -vt 0.500072 0.887605 -vt 0.514770 0.869063 -vt 0.514813 0.887605 -vt 0.500037 0.910594 -vt 0.514778 0.910594 -vt 0.907614 0.240457 -vt 0.922221 0.240457 -vt 0.999072 0.139084 -vt 0.988145 0.119393 -vt 0.999072 0.109991 -vt 0.529535 0.888717 -vt 0.930020 0.511045 -vt 0.930020 0.525812 -vt 0.412886 0.961190 -vt 0.437982 0.943782 -vt 0.441973 0.961190 -vt 0.931740 0.072394 -vt 0.917194 0.042861 -vt 0.931740 0.042860 -vt 0.870954 0.876316 -vt 0.853941 0.859053 -vt 0.868637 0.858345 -vt 0.248196 0.934532 -vt 0.275447 0.948711 -vt 0.247076 0.948711 -vt 0.856258 0.900420 -vt 0.856258 0.877024 -vt 0.424080 0.929550 -vt 0.438624 0.929550 -vt 0.269158 0.964953 -vt 0.254972 0.964953 -vt 0.840983 0.890786 -vt 0.901451 0.050242 -vt 0.901451 0.035474 -vt 0.187961 0.823449 -vt 0.182523 0.854643 -vt 0.177029 0.848759 -vt 0.931743 0.153554 -vt 0.917200 0.183076 -vt 0.917200 0.153542 -vt 0.433731 0.961190 -vt 0.444326 0.991963 -vt 0.433731 0.990366 -vt 0.987491 0.918587 -vt 0.998036 0.888042 -vt 0.998036 0.917370 -vt 0.212628 0.859527 -vt 0.198949 0.835216 -vt 0.212628 0.832853 -vt 0.968947 0.179035 -vt 0.979248 0.194945 -vt 0.968947 0.193699 -vt 0.989907 0.878189 -vt 0.974286 0.855435 -vt 0.989907 0.849231 -vt 0.198949 0.861890 -vt 0.901451 0.160950 -vt 0.901451 0.146183 -vt 0.339469 0.167165 -vt 0.337437 0.192658 -vt 0.330222 0.190941 -vt 0.931752 0.146183 -vt 0.917219 0.116626 -vt 0.931752 0.116649 -vt 0.000000 0.965574 -vt 0.014291 0.995301 -vt 0.000000 0.995020 -vt 0.943918 0.256276 -vt 0.958186 0.226617 -vt 0.958186 0.256128 -vt 0.366754 0.169635 -vt 0.353900 0.199870 -vt 0.353900 0.170599 -vt 0.337437 0.207293 -vt 0.330222 0.205576 -vt 0.970599 0.248318 -vt 0.901451 0.124055 -vt 0.901451 0.109288 -vt 0.847153 0.020023 -vt 0.824336 0.000000 -vt 0.839064 0.000000 -vt 0.929981 0.353829 -vt 0.915466 0.324325 -vt 0.929981 0.324296 -vt 0.817537 0.034281 -vt 0.846995 0.034281 -vt 0.927676 0.959987 -vt 0.956770 0.945704 -vt 0.957066 0.959987 -vt 0.595250 0.971053 -vt 0.585486 0.997805 -vt 0.585486 0.968857 -vt 0.933670 0.672428 -vt 0.946588 0.685293 -vt 0.933670 0.686841 -vt 0.934995 0.929546 -vt 0.949690 0.929546 -vt 0.960148 0.680129 -vt 0.946588 0.670879 -vt 0.960148 0.651303 -vt 0.899666 0.331655 -vt 0.899666 0.316889 -vt 0.681135 0.852911 -vt 0.699251 0.824487 -vt 0.710205 0.849462 -vt 0.929990 0.451963 -vt 0.915460 0.422455 -vt 0.929990 0.422430 -vt 0.710205 0.860004 -vt 0.500029 0.913006 -vt 0.489530 0.943800 -vt 0.489529 0.914630 -vt 0.621813 0.996470 -vt 0.610397 0.966055 -vt 0.621813 0.970512 -vt 0.696793 0.814291 -vt 0.684716 0.826212 -vt 0.682258 0.816015 -vt 0.473857 0.937308 -vt 0.473857 0.922722 -vt 0.176344 0.903313 -vt 0.161925 0.892503 -vt 0.176344 0.880881 -vt 0.899687 0.429790 -vt 0.899687 0.415023 -vt 0.132867 0.880881 -vt 0.152167 0.906960 -vt 0.137638 0.906324 -vt 0.929980 0.533211 -vt 0.915439 0.562760 -vt 0.915439 0.533226 -vt 0.344230 0.920166 -vt 0.335545 0.901112 -vt 0.349759 0.900824 -vt 0.380361 0.976039 -vt 0.394707 0.947240 -vt 0.394707 0.974827 -vt 0.349759 0.942478 -vt 0.330017 0.920455 -vt 0.152167 0.921241 -vt 0.137638 0.920606 -vt 0.407360 0.964151 -vt 0.161925 0.910716 -vt 0.161925 0.882153 -vt 0.899687 0.540579 -vt 0.899687 0.525812 -vt 0.896994 0.960720 -vt 0.921599 0.943285 -vt 0.926210 0.960720 -vt 0.899687 0.451988 -vt 0.914175 0.481525 -vt 0.899687 0.481523 -vt 0.595871 0.966055 -vt 0.610397 0.994624 -vt 0.595871 0.993749 -vt 0.872419 0.206186 -vt 0.865373 0.225087 -vt 0.858501 0.205806 -vt 0.879290 0.183826 -vt 0.865373 0.183446 -vt 0.907515 0.929047 -vt 0.922123 0.929047 -vt 0.844584 0.215836 -vt 0.898043 0.932245 -vt 0.906990 0.943285 -vt 0.930024 0.474138 -vt 0.930024 0.488906 -vt 0.924007 0.892037 -vt 0.911531 0.859852 -vt 0.924007 0.864637 -vt 0.930000 0.390785 -vt 0.915509 0.361264 -vt 0.930000 0.361251 -vt 0.997467 0.256207 -vt 0.986911 0.225605 -vt 0.997467 0.226909 -vt 1.000000 0.408725 -vt 0.989493 0.439062 -vt 0.989493 0.409644 -vt 0.986308 0.051236 -vt 0.997283 0.073676 -vt 0.986308 0.077909 -vt 0.980677 0.300850 -vt 0.970338 0.314625 -vt 0.970338 0.299915 -vt 0.813486 0.996727 -vt 0.798931 0.975123 -vt 0.813486 0.974866 -vt 0.896994 0.861225 -vt 0.899055 0.882466 -vt 0.899666 0.368625 -vt 0.899666 0.353858 -vt 0.907805 0.689730 -vt 0.933670 0.667101 -vt 0.933669 0.692928 -vt 0.899666 0.279953 -vt 0.914167 0.309462 -vt 0.899666 0.309487 -vt 0.014291 0.965574 -vt 0.028564 0.995253 -vt 0.014291 0.995074 -vt 0.970527 0.256276 -vt 0.956278 0.285850 -vt 0.956278 0.256317 -vt 0.860452 0.970406 -vt 0.870063 0.998184 -vt 0.860452 0.999677 -vt 0.920339 0.651303 -vt 0.933271 0.652902 -vt 0.943918 0.263818 -vt 0.907008 0.661332 -vt 0.920737 0.665502 -vt 0.929993 0.302122 -vt 0.929993 0.316889 -vt 0.444697 0.167165 -vt 0.450662 0.190055 -vt 0.439941 0.189763 -vt 0.029814 0.935515 -vt 0.016477 0.906049 -vt 0.029814 0.905982 -vt 0.088695 0.994193 -vt 0.073954 0.964659 -vt 0.088695 0.964659 -vt 0.938537 0.504731 -vt 0.953278 0.475217 -vt 0.953278 0.504736 -vt 0.476257 0.167440 -vt 0.466140 0.197272 -vt 0.466140 0.167750 -vt 0.450662 0.204817 -vt 0.439941 0.204524 -vt 0.967944 0.482843 -vt 0.967944 0.497602 -vt 0.000000 0.913428 -vt 0.000000 0.898662 -vt 0.958707 0.641151 -vt 0.944179 0.619074 -vt 0.957742 0.619074 -vt 0.703404 0.937397 -vt 0.690111 0.907840 -vt 0.703404 0.907863 -vt 0.636525 0.994083 -vt 0.621987 0.966335 -vt 0.636525 0.965669 -vt 0.160425 0.860561 -vt 0.154052 0.880743 -vt 0.146643 0.860422 -vt 0.154026 0.838991 -vt 0.167808 0.839130 -vt 0.944207 0.604307 -vt 0.957771 0.604307 -vt 0.132867 0.870721 -vt 0.931638 0.611617 -vt 0.931580 0.641151 -vt 0.673633 0.915225 -vt 0.673633 0.900457 -vt 0.840983 0.920532 -vt 0.814684 0.942608 -vt 0.814208 0.920532 -vt 0.089108 0.934197 -vt 0.075682 0.904684 -vt 0.089108 0.904663 -vt 0.885044 0.907726 -vt 0.877080 0.888041 -vt 0.891171 0.887831 -vt 0.966687 0.564437 -vt 0.939027 0.549763 -vt 0.967177 0.549763 -vt 0.877080 0.929761 -vt 0.870954 0.907936 -vt 0.828040 0.957375 -vt 0.814653 0.957375 -vt 0.958453 0.534262 -vt 0.840920 0.950066 -vt 0.828071 0.942608 -vt 0.059213 0.912066 -vt 0.059213 0.897299 -vt 0.412886 0.858026 -vt 0.438575 0.881201 -vt 0.424468 0.882796 -vt 0.651792 0.905901 -vt 0.638464 0.935370 -vt 0.638464 0.905837 -vt 0.442586 0.843813 -vt 0.414373 0.847003 -vt 0.943902 0.139084 -vt 0.954794 0.107922 -vt 0.954794 0.136057 -vt 0.787591 0.008959 -vt 0.802291 0.035439 -vt 0.787591 0.034917 -vt 0.442586 0.890898 -vt 0.428479 0.892493 -vt 0.970652 0.113588 -vt 0.970652 0.127656 -vt 0.802291 0.009481 -vt 0.817537 0.012979 -vt 0.621987 0.913224 -vt 0.621987 0.898457 -vt 0.000000 0.864289 -vt 0.025565 0.887597 -vt 0.011562 0.889071 -vt 0.276940 0.934470 -vt 0.263548 0.904999 -vt 0.276940 0.904936 -vt 0.029806 0.850210 -vt 0.001801 0.853157 -vt 0.943902 0.078131 -vt 0.954890 0.047002 -vt 0.954890 0.074875 -vt 0.557918 0.946457 -vt 0.530811 0.960977 -vt 0.535682 0.949097 -vt 0.015803 0.898662 -vt 0.029806 0.897188 -vt 0.970791 0.066471 -vt 0.553047 0.958337 -vt 0.546800 0.975213 -vt 0.247076 0.912377 -vt 0.247076 0.897610 -vt 0.309717 0.870324 -vt 0.331691 0.853742 -vt 0.331691 0.881011 -vt 0.936783 0.700281 -vt 0.923486 0.729848 -vt 0.923486 0.700313 -vt 0.339180 0.793760 -vt 0.350162 0.824891 -vt 0.339180 0.821921 -vt 0.997234 0.106597 -vt 0.986375 0.080794 -vt 0.997234 0.078131 -vt 0.294957 0.858747 -vt 0.300252 0.879418 -vt 0.939970 0.430992 -vt 0.930000 0.442325 -vt 0.930000 0.428092 -vt 0.993944 0.722729 -vt 0.980258 0.737457 -vt 0.980258 0.724613 -vt 0.304422 0.849653 -vt 0.320704 0.848398 -vt 0.907008 0.707695 -vt 0.907008 0.692928 -vt 0.771071 0.902452 -vt 0.748507 0.880372 -vt 0.754601 0.880304 -vt 0.784493 0.872949 -vt 0.771071 0.872918 -vt 0.996081 0.287373 -vt 0.985003 0.256276 -vt 0.996081 0.259472 -vt 0.996357 0.604307 -vt 0.985403 0.635442 -vt 0.985403 0.607208 -vt 0.937001 0.031808 -vt 0.910411 0.015747 -vt 0.937001 0.017127 -vt 0.899307 0.391649 -vt 0.889441 0.402546 -vt 0.889441 0.388429 -vt 0.970791 0.076536 -vt 0.986308 0.054442 -vt 0.986308 0.069209 -vt 0.920242 0.000690 -vt 0.754601 0.865537 -vt 0.414230 0.204192 -vt 0.439941 0.182245 -vt 0.433827 0.204829 -vt 0.324145 0.957218 -vt 0.311405 0.927765 -vt 0.324145 0.927685 -vt 0.261817 0.994488 -vt 0.247076 0.964953 -vt 0.261817 0.964953 -vt 0.938537 0.504736 -vt 0.953277 0.534262 -vt 0.938537 0.534256 -vt 0.403216 0.174953 -vt 0.403216 0.204476 -vt 0.430142 0.167165 -vt 0.439941 0.167483 -vt 0.967922 0.512362 -vt 0.967922 0.527122 -vt 0.414229 0.174670 -vt 0.430142 0.181926 -vt 0.294957 0.935159 -vt 0.294957 0.920393 -vt 0.840983 0.920532 -vt 0.827897 0.889864 -vt 0.840983 0.893109 -vt 0.127034 0.957377 -vt 0.114323 0.927780 -vt 0.127034 0.927843 -vt 0.984461 0.828146 -vt 0.996365 0.798421 -vt 0.996365 0.827948 -vt 0.972750 0.929546 -vt 0.955365 0.912110 -vt 0.969975 0.912440 -vt 0.958140 0.888042 -vt 0.972750 0.888372 -vt 0.827735 0.877039 -vt 0.840821 0.880285 -vt 0.743954 0.994906 -vt 0.729674 0.978602 -vt 0.743954 0.968354 -vt 0.814488 0.888393 -vt 0.814811 0.914041 -vt 0.097880 0.935154 -vt 0.097880 0.920387 -vt 0.897839 0.842822 -vt 0.923672 0.821805 -vt 0.923672 0.849231 -vt 0.059213 0.934147 -vt 0.046392 0.904675 -vt 0.059213 0.904613 -vt 0.595545 0.201701 -vt 0.585686 0.182139 -vt 0.595545 0.176447 -vt 0.651792 0.922954 -vt 0.671798 0.899294 -vt 0.665940 0.923791 -vt 0.657650 0.939368 -vt 0.671798 0.940204 -vt 0.910333 0.805785 -vt 0.923249 0.808990 -vt 0.782331 0.995300 -vt 0.767975 0.979427 -vt 0.782331 0.969126 -vt 0.896994 0.817191 -vt 0.910755 0.818600 -vt 0.029933 0.912065 -vt 0.029933 0.897299 -vt 0.636192 0.872830 -vt 0.656307 0.883402 -vt 0.636192 0.898457 -vt 0.161991 0.958140 -vt 0.149307 0.928622 -vt 0.161991 0.928605 -vt 0.621987 0.870868 -vt 0.621987 0.896495 -vt 0.325765 0.942767 -vt 0.334862 0.974211 -vt 0.325765 0.968525 -vt 0.644073 0.858683 -vt 0.956432 0.224254 -vt 0.967965 0.213133 -vt 0.968947 0.226617 -vt 0.334862 0.948453 -vt 0.349759 0.971227 -vt 0.968947 0.199671 -vt 0.955451 0.210770 -vt 0.943918 0.194945 -vt 0.132867 0.936009 -vt 0.132867 0.921241 -vt 0.733896 0.901766 -vt 0.710205 0.879642 -vt 0.717434 0.879613 -vt 0.746743 0.901782 -vt 0.733896 0.872231 -vt 0.746743 0.872248 -vt 0.670998 0.872701 -vt 0.658028 0.856980 -vt 0.672719 0.856720 -vt 0.205740 0.942199 -vt 0.193400 0.971315 -vt 0.193400 0.941814 -vt 0.658028 0.897793 -vt 0.656307 0.872960 -vt 0.883426 0.959434 -vt 0.894865 0.948690 -vt 0.895899 0.961996 -vt 0.177029 0.949098 -vt 0.895899 0.934885 -vt 0.882392 0.946128 -vt 0.870954 0.929761 -vt 0.717434 0.864846 -vt 0.983418 0.139084 -vt 0.984832 0.128363 -vt 0.988145 0.138893 -vt 0.850168 0.403043 -vt 0.860611 0.410567 -vt 0.850168 0.410423 -vt 0.817687 0.229288 -vt 0.827921 0.234935 -vt 0.817620 0.236296 -vt 0.752194 0.066472 -vt 0.741750 0.059069 -vt 0.752194 0.059088 -vt 0.731347 0.066472 -vt 0.731346 0.059089 -vt 0.983418 0.118211 -vt 0.988145 0.118021 -vt 0.871015 0.403040 -vt 0.871015 0.410419 -vt 0.838526 0.229288 -vt 0.838459 0.236296 -vt 0.530811 0.985673 -vt 0.545690 0.975213 -vt 0.545690 0.996097 -vt 0.670640 0.637997 -vt 0.654423 0.637997 -vt 0.667488 0.621734 -vt 0.545690 0.985674 -vt 0.560450 0.975213 -vt 0.560450 0.996097 -vt 0.406278 0.769051 -vt 0.412418 0.758140 -vt 0.412418 0.779012 -vt 0.387852 0.867580 -vt 0.408699 0.846696 -vt 0.408699 0.867579 -vt 0.281282 0.207867 -vt 0.253676 0.208123 -vt 0.488881 0.569214 -vt 0.387178 0.073855 -vt 0.455655 0.167165 -vt 0.429472 0.137861 -vt 0.471844 0.135361 -vt 0.461455 0.571549 -vt 0.361579 0.070305 -vt 0.363216 0.027271 -vt 0.226003 0.414991 -vt 0.426376 0.112859 -vt 0.441784 0.577926 -vt 0.412886 0.544664 -vt 0.340958 0.079731 -vt 0.330222 0.042353 -vt 0.566017 0.544664 -vt 0.516712 0.571549 -vt 0.410895 0.089431 -vt 0.373133 0.163615 -vt 0.333936 0.124611 -vt 0.650297 0.073795 -vt 0.591333 0.000009 -vt 0.650297 0.000000 -vt 0.723977 0.059069 -vt 0.709235 0.000000 -vt 0.723975 0.000000 -vt 0.726928 0.317538 -vt 0.767994 0.364559 -vt 0.723832 0.362775 -vt 0.768199 0.059069 -vt 0.768196 0.000000 -vt 0.767994 0.411947 -vt 0.723832 0.410163 -vt 0.709235 0.070090 -vt 0.665032 0.000423 -vt 0.709235 0.000000 -vt 0.555026 0.132145 -vt 0.496062 0.176448 -vt 0.496062 0.132146 -vt 0.782715 0.384109 -vt 0.782715 0.412542 -vt 0.665032 0.070513 -vt 0.650297 0.028601 -vt 0.495995 0.205917 -vt 0.555026 0.176447 -vt 0.554959 0.205916 -vt 0.247083 0.852695 -vt 0.291274 0.808393 -vt 0.291281 0.852695 -vt 0.294957 0.838063 -vt 0.339180 0.793760 -vt 0.339180 0.838062 -vt 0.214276 0.807429 -vt 0.241946 0.841506 -vt 0.213217 0.841419 -vt 0.029806 0.850210 -vt 0.058550 0.894513 -vt 0.029806 0.894512 -vt 0.243004 0.869919 -vt 0.214276 0.869832 -vt 0.213217 0.870194 -vt 0.241950 0.911973 -vt 0.213217 0.912248 -vt 0.175201 0.836580 -vt 0.167835 0.880880 -vt 0.167835 0.836579 -vt 0.593056 0.176447 -vt 0.585686 0.132145 -vt 0.593056 0.132145 -vt 0.063939 0.814913 -vt 0.059213 0.859381 -vt 0.059213 0.815104 -vt 0.787591 0.079722 -vt 0.794587 0.035506 -vt 0.794587 0.079789 -vt 0.097873 0.815870 -vt 0.063939 0.859190 -vt 0.044223 0.805909 -vt 0.000000 0.850210 -vt 0.000000 0.805911 -vt 0.979735 0.842889 -vt 0.974079 0.798452 -vt 0.979735 0.798612 -vt 0.840285 0.832783 -vt 0.832914 0.788483 -vt 0.840285 0.788483 -vt 0.983837 0.408725 -vt 0.989493 0.453161 -vt 0.983837 0.453002 -vt 0.889380 0.799275 -vt 0.896750 0.843574 -vt 0.889380 0.843575 -vt 0.979111 0.408916 -vt 0.979111 0.453193 -vt 0.096104 0.941649 -vt 0.089108 0.897299 -vt 0.096104 0.897366 -vt 0.984461 0.842698 -vt 0.984462 0.798421 -vt 0.739714 0.901824 -vt 0.746710 0.946175 -vt 0.739714 0.946108 -vt 0.872718 0.146229 -vt 0.880089 0.168381 -vt 0.865348 0.168380 -vt 0.802360 0.120640 -vt 0.809592 0.137493 -vt 0.794862 0.137793 -vt 0.883001 0.651622 -vt 0.871690 0.798893 -vt 0.871690 0.651303 -vt 0.885695 0.415023 -vt 0.870954 0.562690 -vt 0.870954 0.415024 -vt 0.862237 0.799275 -vt 0.862237 0.651685 -vt 0.901451 0.035608 -vt 0.887459 0.183087 -vt 0.887459 0.035474 -vt 0.850168 0.388110 -vt 0.861479 0.240839 -vt 0.861479 0.388429 -vt 0.751860 0.701001 -vt 0.737119 0.848667 -vt 0.737119 0.701002 -vt 0.870932 0.240457 -vt 0.870932 0.388047 -vt 0.899687 0.415157 -vt 0.885695 0.562636 -vt 0.885695 0.415023 -vt 0.484970 0.414874 -vt 0.573416 0.208131 -vt 0.573416 0.414873 -vt 0.440746 0.414756 -vt 0.352300 0.208145 -vt 0.440746 0.208131 -vt 0.841473 0.798956 -vt 0.852784 0.651685 -vt 0.852784 0.799275 -vt 0.044203 0.757323 -vt 0.058944 0.609657 -vt 0.058944 0.757323 -vt 0.862237 0.651303 -vt 0.862237 0.798893 -vt 0.899666 0.240591 -vt 0.885673 0.388070 -vt 0.885673 0.240457 -vt 0.865348 0.035793 -vt 0.854037 0.183064 -vt 0.854037 0.035474 -vt 0.885673 0.240457 -vt 0.870932 0.388123 -vt 0.870932 0.240457 -vt 0.844584 0.183446 -vt 0.844584 0.035856 -vt 0.883001 0.798915 -vt 0.896994 0.651437 -vt 0.896994 0.799049 -vt 0.802890 0.052627 -vt 0.817089 0.120339 -vt 0.872718 0.057625 -vt 0.887459 0.146230 -vt 0.412886 0.843806 -vt 0.457084 0.784744 -vt 0.457084 0.843813 -vt 0.097880 0.779921 -vt 0.142103 0.838991 -vt 0.097880 0.838990 -vt 0.556220 0.132197 -vt 0.584492 0.177472 -vt 0.555026 0.177524 -vt 0.841473 0.799275 -vt 0.870954 0.858345 -vt 0.841473 0.858344 -vt 0.585686 0.205880 -vt 0.556220 0.205932 -vt 0.814261 0.910351 -vt 0.784792 0.868579 -vt 0.814261 0.868297 -vt 0.560292 0.776571 -vt 0.530811 0.865174 -vt 0.530811 0.776570 -vt 0.350190 0.679023 -vt 0.364911 0.651185 -vt 0.409073 0.662447 -vt 0.656865 0.414165 -vt 0.671596 0.399398 -vt 0.671598 0.414165 -vt 0.457174 0.784669 -vt 0.427691 0.696065 -vt 0.457173 0.696066 -vt 0.607994 0.817625 -vt 0.566017 0.802462 -vt 0.580009 0.758312 -vt 0.360266 0.756950 -vt 0.394352 0.690285 -vt 0.389707 0.758140 -vt 0.486083 0.784739 -vt 0.471850 0.696065 -vt 0.486083 0.696135 -vt 0.471850 0.784737 -vt 0.515549 0.696140 -vt 0.530781 0.784678 -vt 0.515549 0.784743 -vt 0.427691 0.784669 -vt 0.412886 0.696132 -vt 0.642122 0.414165 -vt 0.656863 0.399398 -vt 0.656863 0.414165 -vt 0.720798 0.414165 -vt 0.713428 0.399398 -vt 0.720798 0.399398 -vt 0.757218 0.862685 -vt 0.749851 0.848738 -vt 0.757218 0.848667 -vt 0.832914 0.844113 -vt 0.840633 0.853606 -vt 0.833267 0.853584 -vt 0.833267 0.832783 -vt 0.840281 0.844135 -vt 0.036818 0.995056 -vt 0.029480 0.972871 -vt 0.036818 0.965522 -vt 0.870464 0.968913 -vt 0.840983 0.939377 -vt 0.870464 0.939378 -vt 0.044189 0.995056 -vt 0.051555 0.995057 -vt 0.044189 0.965522 -vt 0.051555 0.965523 -vt 0.965611 0.286041 -vt 0.970338 0.315368 -vt 0.965611 0.315559 -vt 0.979915 0.226617 -vt 0.986911 0.256207 -vt 0.979915 0.256139 -vt 0.943918 0.293133 -vt 0.955229 0.308211 -vt 0.943918 0.307892 -vt 0.058672 0.987709 -vt 0.955229 0.293452 -vt 0.970599 0.234133 -vt 0.731346 0.059069 -vt 0.709235 0.081220 -vt 0.709235 0.059070 -vt 0.591333 0.073804 -vt 0.595018 0.095955 -vt 0.591333 0.095955 -vt 0.595016 0.118106 -vt 0.591333 0.095955 -vt 0.595016 0.095955 -vt 0.593056 0.132240 -vt 0.595420 0.154283 -vt 0.593056 0.154379 -vt 0.409073 0.651185 -vt 0.412571 0.673360 -vt 0.409073 0.673327 -vt 0.677465 0.688132 -vt 0.672850 0.533178 -vt 0.677465 0.534214 -vt 0.943902 0.194945 -vt 0.936956 0.047002 -vt 0.943902 0.047845 -vt 0.682889 0.535830 -vt 0.936956 0.351416 -vt 0.930000 0.197387 -vt 0.936956 0.194945 -vt 0.902495 0.652723 -vt 0.907008 0.803039 -vt 0.902495 0.804460 -vt 0.943918 0.344853 -vt 0.936956 0.195637 -vt 0.943918 0.194945 -vt 0.896994 0.654048 -vt 0.896994 0.805785 -vt 0.938537 0.447879 -vt 0.931580 0.601871 -vt 0.931580 0.445442 -vt 0.817620 0.269935 -vt 0.802890 0.270236 -vt 0.462892 0.208166 -vt 0.484970 0.208133 -vt 0.352300 0.414770 -vt 0.330222 0.208398 -vt 0.880089 0.035475 -vt 0.887459 0.057626 -vt 0.058938 0.609516 -vt 0.044203 0.413405 -vt 0.058938 0.413264 -vt 0.595561 0.414905 -vt 0.462892 0.415003 -vt 0.810388 0.035474 -vt 0.817620 0.052327 -vt 0.805264 0.964065 -vt 0.801275 0.968061 -vt 0.795634 0.954418 -vt 0.366586 0.968588 -vt 0.356956 0.964592 -vt 0.360944 0.954945 -vt 0.444353 0.961620 -vt 0.451956 0.953436 -vt 0.470311 0.960845 -vt 0.462708 0.980282 -vt 0.444353 0.972873 -vt 0.755565 0.701001 -vt 0.159506 0.985131 -vt 0.755565 0.805410 -vt 0.821321 0.257169 -vt 0.425678 0.989738 -vt 0.418184 0.987521 -vt 0.412886 0.967335 -vt 0.430976 0.983593 -vt 0.409093 0.715128 -vt 0.406298 0.799886 -vt 0.406294 0.841641 -vt 0.893095 0.859230 -vt 0.171573 0.962745 -vt 0.175547 0.969704 -vt 0.175547 0.977884 -vt 0.893092 0.906201 -vt 0.243019 0.859638 -vt 0.562369 0.854853 -vt 0.723971 0.988729 -vt 0.715907 0.988970 -vt 0.710205 0.983172 -vt 0.715907 0.968595 -vt 0.723971 0.968354 -vt 0.889395 0.874884 -vt 0.328119 0.896666 -vt 0.412886 0.843813 -vt 0.957066 0.965538 -vt 0.964669 0.957354 -vt 0.983025 0.964763 -vt 0.975422 0.984200 -vt 0.957066 0.976790 -vt 0.412778 0.736013 -vt 0.148908 0.959731 -vt 0.563997 0.818315 -vt 0.672847 0.640158 -vt 0.975103 0.341890 -vt 0.969804 0.332611 -vt 0.969804 0.321704 -vt 0.409093 0.694244 -vt 0.817640 0.236297 -vt 0.560307 0.839199 -vt 0.893080 0.843575 -vt 0.136841 0.982117 -vt 0.132868 0.975157 -vt 0.132867 0.966977 -vt 0.146436 0.979171 -vt 0.243016 0.906618 -vt 0.243019 0.843975 -vt 0.753937 0.841948 -vt 0.854749 0.989288 -vt 0.846685 0.989529 -vt 0.840983 0.983731 -vt 0.846685 0.969154 -vt 0.860452 0.974710 -vt 0.893095 0.859229 -vt 0.565193 0.886259 -vt 0.145803 0.821667 -vt 0.889441 0.410579 -vt 0.814488 0.788486 -vt 0.841473 0.415023 -vt 0.745310 0.081260 -vt 0.259384 0.746814 -vt 0.680924 0.856438 -vt 0.651456 0.765603 -vt 0.750186 0.433497 -vt 0.508686 0.784955 -vt 0.530787 0.868851 -vt 0.508686 0.869063 -vt 0.259793 0.732650 -vt 0.406278 0.758140 -vt 0.918092 0.390799 -vt 0.784792 0.974866 -vt 0.661790 0.533163 -vt 0.654423 0.415023 -vt 0.661790 0.415025 -vt 0.757553 0.415040 -vt 0.750186 0.415038 -vt 0.213217 0.957590 -vt 0.220820 0.949406 -vt 0.239176 0.956815 -vt 0.231573 0.976252 -vt 0.213217 0.968842 -vt 0.755565 0.721885 -vt 0.563997 0.797442 -vt 0.672847 0.661041 -vt 0.876252 0.988327 -vt 0.870954 0.979047 -vt 0.870954 0.968141 -vt 0.409093 0.736013 -vt 0.142123 0.779921 -vt 0.842226 0.234792 -vt 0.328123 0.881011 -vt 0.900968 0.984680 -vt 0.896994 0.977720 -vt 0.896994 0.969540 -vt 0.910562 0.981733 -vt 0.127373 0.912323 -vt 0.561511 0.870596 -vt 0.834991 0.869261 -vt 0.754209 0.969366 -vt 0.762273 0.969126 -vt 0.767975 0.974923 -vt 0.762273 0.989500 -vt 0.754209 0.989741 -vt 0.127377 0.896660 -vt 0.707101 0.900457 -vt 0.565196 0.870596 -vt 0.964769 0.354179 -vt 0.975522 0.353858 -vt 0.983125 0.361588 -vt 0.975522 0.381024 -vt 0.964769 0.381345 -vt 0.755565 0.742769 -vt 0.943421 0.961561 -vt 0.409983 0.799884 -vt 0.755561 0.805410 -vt 0.981739 0.223492 -vt 0.974245 0.221275 -vt 0.968947 0.201089 -vt 0.987037 0.217347 -vt 0.751880 0.784537 -vt 0.142123 0.800794 -vt 0.246705 0.828312 -vt 0.246705 0.875301 -vt 0.931354 0.983947 -vt 0.927380 0.976988 -vt 0.927380 0.968808 -vt 0.940948 0.981001 -vt 0.777984 0.918250 -vt 0.598378 0.875303 -vt 0.783026 0.081141 -vt 0.579783 0.989232 -vt 0.571719 0.989473 -vt 0.566017 0.983675 -vt 0.571719 0.969098 -vt 0.585486 0.974655 -vt 0.893095 0.890539 -vt 0.565193 0.901922 -vt 0.246705 0.859638 -vt 0.962328 0.190531 -vt 0.672850 0.621731 -vt 0.841473 0.533163 -vt 0.745310 0.199400 -vt 0.065983 0.753334 -vt 0.651456 0.856438 -vt 0.621987 0.765603 -vt 0.573383 0.739838 -vt 0.493951 0.868851 -vt 0.471850 0.784955 -vt 0.493951 0.784743 -vt 0.066392 0.739170 -vt 0.870954 0.887831 -vt 0.692059 0.967034 -vt 0.325765 0.974211 -vt 0.661780 0.640173 -vt 0.669146 0.640174 -vt 0.661780 0.758311 -vt 0.573383 0.640159 -vt 0.573383 0.758297 -vt 0.088582 0.000000 -vt 0.088582 0.000002 -vt 0.642122 0.081647 -vt 0.457084 0.873341 -vt 0.627394 0.414518 -vt 0.029469 0.805909 -vt 0.029469 0.413405 -vt 0.088446 0.146589 -vt 0.596618 0.318974 -vt 0.000000 0.666011 -vt 0.619826 0.880280 -vt 0.335766 0.838063 -vt 0.059021 0.850210 -vt 0.778137 0.000382 -vt 0.442369 0.696065 -vt 0.412887 0.651763 -vt 0.412886 0.622228 -vt 0.294957 0.651185 -vt 0.177029 0.655457 -vt 0.088667 0.657951 -vt 0.221117 0.415024 -vt 0.165498 0.557992 -vt 0.972029 0.176001 -vt 0.177029 0.993851 -vt 0.206511 0.971700 -vt 0.987491 0.888042 -vt 0.752194 0.081220 -vt 0.980153 0.788814 -vt 0.488598 0.973492 -vt 0.974079 0.805986 -vt 0.642122 0.341514 -vt 0.666055 0.317538 -vt 0.699900 0.317538 -vt 0.723832 0.375422 -vt 0.666054 0.399398 -vt 0.444761 0.492408 -vt 0.186578 0.089499 -vt 0.186578 0.296814 -vt 0.441118 0.000000 -vt 0.462927 0.417358 -vt 0.501064 0.087112 -vt 0.242455 0.208123 -vt 0.563795 0.042558 -vt 0.567759 0.053314 -vt 0.565823 0.064615 -vt 0.694987 0.967034 -vt 0.227959 0.912248 -vt 0.943954 0.729848 -vt 0.044203 0.786858 -vt 0.854357 0.000000 -vt 0.917245 0.109259 -vt 0.059404 0.964659 -vt 0.066739 0.934219 -vt 0.724972 0.938819 -vt 0.058958 0.950347 -vt 0.190411 0.868046 -vt 0.936783 0.722480 -vt 0.213066 0.890047 -vt 0.896994 0.929047 -vt 0.007957 0.935582 -vt 0.697413 0.900379 -vt 0.937001 0.014780 -vt 0.673633 0.878356 -vt 0.412886 0.929550 -vt 0.998081 0.139403 -vt 0.958424 0.796388 -vt 0.372791 0.933373 -vt 0.855723 0.902485 -vt 0.651260 0.965669 -vt 0.350542 0.911290 -vt 0.799454 0.947578 -vt 0.507334 0.925361 -vt 0.967490 0.168381 -vt 0.909068 0.183446 -vt 0.573778 0.902648 -vt 0.409860 0.947240 -vt 0.598363 0.865028 -vt 0.938537 0.586626 -vt 0.763248 0.902588 -vt 0.946100 0.885905 -vt 0.995091 0.962078 -vt 0.967716 0.452785 -vt 0.930178 0.599855 -vt 0.936570 0.803754 -vt 0.749851 0.863426 -vt 0.101604 0.881005 -vt 0.444353 0.916214 -vt 0.858414 0.225510 -vt 0.651445 0.944795 -vt 0.566091 0.859640 -vt 0.994994 0.552519 -vt 0.302261 0.893834 -vt 0.191825 0.941813 -vt 0.993761 0.000000 -vt 0.891939 0.562975 -vt 0.981006 0.673390 -vt 0.899595 0.570298 -vt 0.545497 0.946456 -vt 0.119999 0.907565 -vt 0.442586 0.866261 -vt 0.474915 0.913006 -vt 0.983025 0.959080 -vt 0.936551 0.766819 -vt 0.995483 0.463557 -vt 0.994942 0.382112 -vt 0.957166 0.430398 -vt 0.982663 0.534254 -vt 0.938350 0.842646 -vt 0.706082 0.976771 -vt 0.871892 0.640872 -vt 0.901255 0.604307 -vt 0.621987 0.964727 -vt 0.595871 0.959391 -vt 0.906946 0.000000 -vt 0.908122 0.254730 -vt 0.914180 0.488922 -vt 0.994144 0.692928 -vt 0.500029 0.869063 -vt 0.988145 0.133940 -vt 0.529552 0.877222 -vt 0.423439 0.943782 -vt 0.917194 0.072396 -vt 0.276568 0.934532 -vt 0.870954 0.899711 -vt 0.840983 0.902484 -vt 0.931743 0.183089 -vt 0.444326 0.962787 -vt 0.987491 0.889258 -vt 0.979248 0.180280 -vt 0.974286 0.869913 -vt 0.182523 0.867980 -vt 0.917219 0.146159 -vt 0.014291 0.965855 -vt 0.943918 0.226765 -vt 0.366754 0.198906 -vt 0.970599 0.233562 -vt 0.817696 0.020023 -vt 0.915466 0.353858 -vt 0.927380 0.945704 -vt 0.595250 1.000000 -vt 0.915460 0.451988 -vt 0.681135 0.863452 -vt 0.500029 0.942176 -vt 0.610397 0.992013 -vt 0.161925 0.903718 -vt 0.929980 0.562745 -vt 0.380361 0.948453 -vt 0.335545 0.942767 -vt 0.407360 0.950358 -vt 0.914175 0.451990 -vt 0.610397 0.966930 -vt 0.879290 0.225467 -vt 0.848020 0.225477 -vt 0.915509 0.390799 -vt 0.986911 0.254902 -vt 1.000000 0.438143 -vt 0.997283 0.047002 -vt 0.980677 0.315559 -vt 0.798931 0.986053 -vt 0.910500 0.849231 -vt 0.914167 0.279928 -vt 0.028564 0.965753 -vt 0.970527 0.285809 -vt 0.870063 0.968913 -vt 0.943918 0.278585 -vt 0.016477 0.935582 -vt 0.073954 0.994193 -vt 0.938537 0.475212 -vt 0.476257 0.196963 -vt 0.690112 0.937375 -vt 0.621987 0.994749 -vt 0.167835 0.880881 -vt 0.136572 0.880881 -vt 0.075682 0.934219 -vt 0.938537 0.564437 -vt 0.891171 0.929551 -vt 0.944378 0.534262 -vt 0.441099 0.854836 -vt 0.651792 0.935434 -vt 0.943902 0.110949 -vt 0.817537 0.000000 -vt 0.028005 0.861342 -vt 0.263548 0.934532 -vt 0.943902 0.050258 -vt 0.970791 0.052535 -vt 0.557918 0.973893 -vt 0.936783 0.729816 -vt 0.350162 0.796730 -vt 0.986375 0.109260 -vt 0.939970 0.445225 -vt 0.993944 0.748418 -vt 0.318056 0.838063 -vt 0.758881 0.902588 -vt 0.784493 0.902483 -vt 0.985003 0.284177 -vt 0.996357 0.632541 -vt 0.910411 0.030427 -vt 0.899307 0.405766 -vt 0.970791 0.047002 -vt 0.906946 0.000000 -vt 0.311405 0.957298 -vt 0.247076 0.994488 -vt 0.953277 0.504742 -vt 0.114323 0.957314 -vt 0.984461 0.798619 -vt 0.958140 0.929215 -vt 0.729674 0.991878 -vt 0.046392 0.934208 -vt 0.585686 0.207393 -vt 0.657650 0.898457 -vt 0.767975 0.992514 -vt 0.656307 0.870589 -vt 0.149307 0.958157 -vt 0.629868 0.856720 -vt 0.349759 0.958349 -vt 0.719437 0.901824 -vt 0.205740 0.971700 -vt 0.672719 0.897533 -vt 0.177029 0.963849 -vt 0.970652 0.128936 -vt 0.860611 0.388429 -vt 0.828122 0.213909 -vt 0.741750 0.081220 -vt 0.387852 0.846697 -vt 0.419353 0.157739 -vt 0.253676 0.415023 -vt 0.537491 0.577926 -vt 0.330840 0.099609 -vt 0.398732 0.167165 -vt 0.349416 0.148039 -vt 0.591333 0.073804 -vt 0.709237 0.059069 -vt 0.771091 0.319322 -vt 0.650297 0.070654 -vt 0.247076 0.808393 -vt 0.294957 0.793761 -vt 0.243004 0.807515 -vt 0.058550 0.850212 -vt 0.241950 0.869919 -vt 0.175201 0.880881 -vt 0.585686 0.176447 -vt 0.787591 0.035439 -vt 0.097873 0.860147 -vt 0.044223 0.850209 -vt 0.974079 0.842729 -vt 0.832914 0.832783 -vt 0.989493 0.408884 -vt 0.896750 0.799275 -vt 0.089108 0.941582 -vt 0.746710 0.901891 -vt 0.883001 0.799212 -vt 0.885695 0.562689 -vt 0.901451 0.183221 -vt 0.850168 0.240520 -vt 0.751860 0.848667 -vt 0.899687 0.562770 -vt 0.841473 0.651365 -vt 0.044203 0.609658 -vt 0.899666 0.388204 -vt 0.865348 0.183384 -vt 0.885673 0.388123 -vt 0.883001 0.651303 -vt 0.412886 0.784737 -vt 0.142103 0.779922 -vt 0.585686 0.132145 -vt 0.870954 0.799276 -vt 0.784792 0.910633 -vt 0.560292 0.865175 -vt 0.409073 0.681402 -vt 0.364911 0.689095 -vt 0.350190 0.660068 -vt 0.394352 0.652374 -vt 0.656863 0.399398 -vt 0.607994 0.758580 -vt 0.621987 0.773476 -vt 0.621987 0.802998 -vt 0.580009 0.817357 -vt 0.566017 0.772940 -vt 0.471850 0.784669 -vt 0.471850 0.696133 -vt 0.530781 0.696074 -vt 0.412886 0.784736 -vt 0.642122 0.399398 -vt 0.713428 0.414165 -vt 0.749851 0.862756 -vt 0.840633 0.832805 -vt 0.029480 0.987639 -vt 0.840983 0.968912 -vt 0.044189 0.965522 -vt 0.044189 0.995056 -vt 0.970338 0.285850 -vt 0.986911 0.226684 -vt 0.058672 0.972942 -vt 0.970599 0.248894 -vt 0.731346 0.081219 -vt 0.595018 0.073804 -vt 0.591333 0.118106 -vt 0.595420 0.132145 -vt 0.412571 0.651218 -vt 0.672850 0.687095 -vt 0.936956 0.194102 -vt 0.682889 0.689748 -vt 0.930000 0.353858 -vt 0.907008 0.651303 -vt 0.936956 0.345546 -vt 0.938537 0.604307 -vt 0.462892 0.414907 -vt 0.330222 0.415023 -vt 0.865348 0.035474 -vt 0.044203 0.609657 -vt 0.595561 0.208163 -vt 0.462892 0.208378 -vt 0.795658 0.035774 -vt 0.795634 0.968061 -vt 0.791645 0.964065 -vt 0.791645 0.958414 -vt 0.801275 0.954418 -vt 0.805264 0.958414 -vt 0.366586 0.954945 -vt 0.370574 0.958941 -vt 0.370574 0.964592 -vt 0.360944 0.968588 -vt 0.356956 0.958941 -vt 0.840460 0.788483 -vt 0.826298 0.781930 -vt 0.840969 0.783363 -vt 0.978146 0.445442 -vt 0.972911 0.460217 -vt 0.972911 0.445450 -vt 0.173362 0.668339 -vt 0.158158 0.664634 -vt 0.172823 0.663137 -vt 0.338345 0.792162 -vt 0.344324 0.782451 -vt 0.343550 0.793760 -vt 0.349529 0.781273 -vt 0.348755 0.792582 -vt 0.826801 0.776663 -vt 0.841473 0.778096 -vt 0.967723 0.460209 -vt 0.967723 0.445442 -vt 0.157640 0.659449 -vt 0.172305 0.657951 -vt 0.349996 0.772078 -vt 0.821320 0.779273 -vt 0.825343 0.775885 -vt 0.149163 0.664025 -vt 0.817292 0.782513 -vt 0.158697 0.669837 -vt 0.153192 0.667315 -vt 0.339587 0.771658 -vt 0.344872 0.771678 -vt 0.819678 0.773869 -vt 0.156769 0.672208 -vt 0.151573 0.672729 -vt 0.345098 0.761664 -vt 0.350190 0.763531 -vt 0.824862 0.774302 -vt 0.146399 0.673267 -vt 0.967716 0.461741 -vt 0.747134 0.533279 -vt 0.752390 0.535160 -vt 0.747115 0.534531 -vt 0.978146 0.460209 -vt 0.978139 0.461741 -vt 0.757553 0.533178 -vt 0.757534 0.534430 -vt 0.168015 0.834331 -vt 0.339780 0.763110 -vt 0.345098 0.657410 -vt 0.752409 0.689358 -vt 0.350190 0.659277 -vt 0.747134 0.688729 -vt 0.840613 0.612722 -vt 0.162841 0.834869 -vt 0.814488 0.773289 -vt 0.835429 0.612290 -vt 0.757553 0.688628 -vt 0.750252 0.694335 -vt 0.342943 0.653972 -vt 0.346509 0.653408 -vt 0.841473 0.603731 -vt 0.746502 0.690187 -vt 0.830239 0.611709 -vt 0.836436 0.601755 -vt 0.339149 0.657849 -vt 0.166620 0.956640 -vt 0.171330 0.947403 -vt 0.171898 0.957875 -vt 0.337738 0.652374 -vt 0.744978 0.700715 -vt 0.745043 0.696439 -vt 0.164284 0.953107 -vt 0.166135 0.947701 -vt 0.177029 0.956088 -vt 0.176544 0.947150 -vt 0.744976 0.690803 -vt 0.173211 0.833810 -vt 0.173362 0.835329 -vt 0.744818 0.687109 -vt 0.162993 0.836388 -vt 0.337351 0.662768 -vt 0.337625 0.657381 -vt 0.308183 0.656192 -vt 0.308296 0.651185 -vt 0.715574 0.696725 -vt 0.715508 0.691089 -vt 0.715349 0.687395 -vt 0.164000 0.947870 -vt 0.164578 0.918209 -vt 0.169773 0.917911 -vt 0.174987 0.917658 -vt 0.875804 0.170534 -vt 0.881058 0.172658 -vt 0.875837 0.174185 -vt 0.171654 0.912583 -vt 0.175538 0.916097 -vt 0.710205 0.688125 -vt 0.167788 0.909114 -vt 0.297660 0.654077 -vt 0.307909 0.661578 -vt 0.299105 0.658660 -vt 0.886260 0.174204 -vt 0.881058 0.183080 -vt 0.300162 0.666935 -vt 0.294957 0.665337 -vt 0.875837 0.183081 -vt 0.176744 0.910148 -vt 0.177029 0.915384 -vt 0.306078 0.664612 -vt 0.302591 0.663024 -vt 0.176478 0.904957 -vt 0.783388 0.865537 -vt 0.769284 0.858858 -vt 0.783942 0.860422 -vt 0.947432 0.045847 -vt 0.952666 0.031071 -vt 0.952666 0.045839 -vt 0.737119 0.711378 -vt 0.721879 0.707823 -vt 0.736529 0.706181 -vt 0.811383 0.410943 -vt 0.817362 0.401232 -vt 0.816588 0.412542 -vt 0.822566 0.400055 -vt 0.821792 0.411364 -vt 0.769835 0.853595 -vt 0.784493 0.855160 -vt 0.957854 0.031079 -vt 0.957855 0.045847 -vt 0.721310 0.702643 -vt 0.735960 0.701001 -vt 0.823033 0.390860 -vt 0.764331 0.856155 -vt 0.768384 0.852803 -vt 0.712878 0.707303 -vt 0.760273 0.859359 -vt 0.722469 0.713020 -vt 0.716940 0.710553 -vt 0.812157 0.399634 -vt 0.817909 0.390460 -vt 0.762737 0.850737 -vt 0.720564 0.715410 -vt 0.715374 0.715982 -vt 0.812624 0.390439 -vt 0.818136 0.380446 -vt 0.823227 0.382312 -vt 0.767917 0.851217 -vt 0.710205 0.716571 -vt 0.957861 0.029548 -vt 0.252614 0.805169 -vt 0.247083 0.804418 -vt 0.252374 0.803940 -vt 0.947431 0.031079 -vt 0.947438 0.029548 -vt 0.242442 0.807429 -vt 0.242201 0.806199 -vt 0.731762 0.862739 -vt 0.812818 0.381892 -vt 0.818136 0.285669 -vt 0.218099 0.667278 -vt 0.823227 0.287536 -vt 0.223390 0.666800 -vt 0.783553 0.704461 -vt 0.726594 0.863328 -vt 0.757553 0.850110 -vt 0.778373 0.703981 -vt 0.213217 0.669059 -vt 0.219181 0.661961 -vt 0.815980 0.282232 -vt 0.819547 0.281667 -vt 0.779474 0.693456 -vt 0.784493 0.695477 -vt 0.223707 0.665243 -vt 0.773188 0.703354 -vt 0.812186 0.286108 -vt 0.975988 0.115372 -vt 0.980419 0.105997 -vt 0.981301 0.116447 -vt 0.810662 0.285640 -vt 0.810775 0.280633 -vt 0.223022 0.654626 -vt 0.223842 0.658823 -vt 0.973548 0.111910 -vt 0.975235 0.106452 -vt 0.986375 0.114507 -vt 0.985623 0.105587 -vt 0.225072 0.664324 -vt 0.736952 0.862167 -vt 0.737119 0.863684 -vt 0.225991 0.667905 -vt 0.726760 0.864846 -vt 0.810388 0.291027 -vt 0.795941 0.285046 -vt 0.796055 0.280039 -vt 0.237408 0.651431 -vt 0.252614 0.652433 -vt 0.240376 0.664709 -vt 0.973107 0.106685 -vt 0.974015 0.091736 -vt 0.979199 0.091281 -vt 0.984403 0.090871 -vt 0.239458 0.661128 -vt 0.865348 0.170534 -vt 0.870602 0.172658 -vt 0.865381 0.174185 -vt 0.980919 0.085899 -vt 0.984906 0.089295 -vt 0.245258 0.662928 -vt 0.976951 0.082548 -vt 0.785419 0.282930 -vt 0.795667 0.290432 -vt 0.786863 0.287514 -vt 0.875804 0.174204 -vt 0.870602 0.183080 -vt 0.790349 0.291878 -vt 0.782715 0.294191 -vt 0.865381 0.183081 -vt 0.986375 0.088537 -vt 0.793125 0.294612 -vt 0.787920 0.295789 -vt 0.985513 0.078131 -vt 0.985934 0.083312 -vt 0.826279 0.421580 -vt 0.840462 0.415023 -vt 0.840951 0.420145 -vt 0.942197 0.031083 -vt 0.947431 0.045842 -vt 0.942197 0.045850 -vt 0.829399 0.207229 -vt 0.844584 0.203521 -vt 0.844065 0.208726 -vt 0.344482 0.837758 -vt 0.339180 0.825185 -vt 0.344482 0.826422 -vt 0.349594 0.836226 -vt 0.349594 0.824891 -vt 0.826801 0.426845 -vt 0.841473 0.425410 -vt 0.937008 0.031075 -vt 0.937008 0.045842 -vt 0.828862 0.212413 -vt 0.843527 0.213909 -vt 0.783034 0.263412 -vt 0.790275 0.270235 -vt 0.784746 0.269487 -vt 0.821301 0.424238 -vt 0.820385 0.207837 -vt 0.817293 0.420996 -vt 0.825791 0.416458 -vt 0.824433 0.204549 -vt 0.829919 0.202025 -vt 0.788270 0.263118 -vt 0.794862 0.266989 -vt 0.819658 0.429642 -vt 0.827990 0.199654 -vt 0.828464 0.201239 -vt 0.785554 0.252179 -vt 0.793151 0.260914 -vt 0.824862 0.429206 -vt 0.825343 0.427624 -vt 0.822814 0.199135 -vt 0.937001 0.029548 -vt 0.830116 0.199848 -vt 0.947431 0.031075 -vt 0.947425 0.029548 -vt 0.827052 0.429170 -vt 0.839251 0.037532 -vt 0.750148 0.102116 -vt 0.790833 0.251576 -vt 0.101901 0.758239 -vt 0.136907 0.657951 -vt 0.140928 0.661594 -vt 0.745310 0.104011 -vt 0.780716 0.254074 -vt 0.107372 0.758897 -vt 0.146399 0.662251 -vt 0.840581 0.590789 -vt 0.834057 0.036992 -vt 0.817620 0.198596 -vt 0.835377 0.591224 -vt 0.814488 0.430221 -vt 0.102612 0.762236 -vt 0.097880 0.754596 -vt 0.751105 0.096775 -vt 0.841473 0.599778 -vt 0.107580 0.760067 -vt 0.836422 0.601755 -vt 0.830207 0.591804 -vt 0.755706 0.099949 -vt 0.755426 0.101513 -vt 0.675544 0.700236 -vt 0.670318 0.691257 -vt 0.675536 0.689748 -vt 0.755692 0.093528 -vt 0.682885 0.694918 -vt 0.680748 0.700216 -vt 0.680742 0.691264 -vt 0.754774 0.089352 -vt 0.746944 0.094894 -vt 0.106839 0.765673 -vt 0.844427 0.038051 -vt 0.844584 0.036532 -vt 0.111088 0.756183 -vt 0.108818 0.761074 -vt 0.834214 0.035474 -vt 0.757050 0.098998 -vt 0.758052 0.102557 -vt 0.785664 0.091933 -vt 0.682868 0.729695 -vt 0.682889 0.700162 -vt 0.135666 0.773237 -vt 0.783388 0.082286 -vt 0.675523 0.729769 -vt 0.670325 0.700209 -vt 0.794862 0.085258 -vt 0.784306 0.086463 -vt 0.680727 0.729749 -vt 0.677678 0.734991 -vt 0.141957 0.771990 -vt 0.137936 0.768347 -vt 0.673983 0.738657 -vt 0.670304 0.729742 -vt 0.794674 0.090904 -vt 0.786666 0.095491 -vt 0.655499 0.070654 -vt 0.650297 0.081116 -vt 0.650297 0.072186 -vt 0.146399 0.779921 -vt 0.146031 0.772248 -vt 0.660721 0.081097 -vt 0.660721 0.072167 -vt 0.681359 0.731279 -vt 0.682889 0.737157 -vt 0.142172 0.776484 -vt 0.136844 0.774304 -vt 0.682877 0.742355 -vt 0.834940 0.247140 -vt 0.849064 0.240457 -vt 0.849598 0.245574 -vt 0.945165 0.429627 -vt 0.950400 0.444387 -vt 0.945165 0.444394 -vt 0.799041 0.861478 -vt 0.814261 0.857920 -vt 0.813691 0.863119 -vt 0.876448 0.240277 -vt 0.871146 0.227703 -vt 0.876448 0.228941 -vt 0.881560 0.238745 -vt 0.881560 0.227410 -vt 0.835510 0.252401 -vt 0.850168 0.250834 -vt 0.939977 0.429619 -vt 0.939977 0.444386 -vt 0.798453 0.866656 -vt 0.813103 0.868297 -vt 0.201657 0.816152 -vt 0.208423 0.823449 -vt 0.202956 0.822328 -vt 0.829987 0.249843 -vt 0.790021 0.861997 -vt 0.825950 0.246638 -vt 0.834406 0.242023 -vt 0.794101 0.858749 -vt 0.799611 0.856279 -vt 0.206901 0.816212 -vt 0.213217 0.820519 -vt 0.828392 0.255261 -vt 0.797706 0.853889 -vt 0.798165 0.855479 -vt 0.204927 0.805114 -vt 0.211919 0.814342 -vt 0.833592 0.254779 -vt 0.834059 0.253192 -vt 0.792535 0.853320 -vt 0.939970 0.428092 -vt 0.799830 0.854104 -vt 0.950400 0.429619 -vt 0.950393 0.428092 -vt 0.835781 0.254723 -vt 0.808918 0.706562 -vt 0.181983 0.666831 -vt 0.210233 0.804869 -vt 0.354507 0.852005 -vt 0.378027 0.758140 -vt 0.382344 0.761424 -vt 0.177029 0.668396 -vt 0.199972 0.806679 -vt 0.360015 0.852190 -vt 0.387852 0.761610 -vt 0.849196 0.401539 -vt 0.803730 0.705971 -vt 0.787347 0.852729 -vt 0.843996 0.402021 -vt 0.823227 0.255887 -vt 0.355558 0.855926 -vt 0.350190 0.848720 -vt 0.183297 0.661568 -vt 0.845134 0.412542 -vt 0.360322 0.853339 -vt 0.839803 0.411626 -vt 0.838831 0.402646 -vt 0.187675 0.665045 -vt 0.187290 0.666586 -vt 0.978059 0.614795 -vt 0.972837 0.605814 -vt 0.978056 0.604307 -vt 0.188092 0.658638 -vt 0.985402 0.609480 -vt 0.983263 0.614778 -vt 0.983260 0.605826 -vt 0.187457 0.654408 -vt 0.179272 0.659410 -vt 0.361642 0.854236 -vt 0.814089 0.707132 -vt 0.814261 0.705615 -vt 0.363485 0.849168 -vt 0.803902 0.704455 -vt 0.189079 0.664187 -vt 0.189840 0.667805 -vt 0.203591 0.661627 -vt 0.985403 0.614724 -vt 0.983245 0.629544 -vt 0.377380 0.854076 -vt 0.201969 0.651849 -vt 0.978041 0.629561 -vt 0.375536 0.859143 -vt 0.360063 0.858988 -vt 0.972839 0.614766 -vt 0.213217 0.655588 -vt 0.202604 0.656078 -vt 0.983876 0.631074 -vt 0.381698 0.857360 -vt 0.976497 0.638449 -vt 0.972822 0.629532 -vt 0.212650 0.661209 -vt 0.204352 0.665245 -vt 0.665942 0.081116 -vt 0.671144 0.070655 -vt 0.671144 0.079585 -vt 0.385779 0.857269 -vt 0.382296 0.861820 -vt 0.660721 0.070674 -vt 0.660721 0.079603 -vt 0.985403 0.636953 -vt 0.980194 0.634785 -vt 0.376801 0.860105 -vt 0.985389 0.642151 -vt 0.977174 0.396112 -vt 0.971940 0.381353 -vt 0.977174 0.381345 -vt 0.493800 0.983954 -vt 0.499031 0.998708 -vt 0.493810 0.998721 -vt 0.557461 0.583426 -vt 0.562763 0.596000 -vt 0.557461 0.594762 -vt 0.552349 0.584958 -vt 0.552349 0.596294 -vt 0.918092 0.392971 -vt 0.923393 0.407723 -vt 0.918111 0.407739 -vt 0.982363 0.396120 -vt 0.982363 0.381353 -vt 0.488598 0.983947 -vt 0.488608 0.998715 -vt 0.923374 0.392955 -vt 0.928529 0.407727 -vt 0.555305 0.579480 -vt 0.978677 0.405033 -vt 0.975015 0.401333 -vt 0.488608 0.975018 -vt 0.493812 0.973492 -vt 0.971940 0.396120 -vt 0.971307 0.397649 -vt 0.499021 0.983940 -vt 0.499031 0.975011 -vt 0.562763 0.584664 -vt 0.559081 0.577926 -vt 0.969804 0.403496 -vt 0.969781 0.398282 -vt 0.786203 0.680598 -vt 0.776920 0.683114 -vt 0.777303 0.678854 -vt 0.781664 0.693456 -vt 0.776567 0.688739 -vt 0.785467 0.690483 -vt 0.551718 0.583802 -vt 0.550098 0.577966 -vt 0.787347 0.685157 -vt 0.928529 0.391427 -vt 0.928510 0.392959 -vt 0.550421 0.588362 -vt 0.550193 0.583359 -vt 0.918111 0.391439 -vt 0.918162 0.390799 -vt 0.769951 0.678376 -vt 0.776450 0.692435 -vt 0.769215 0.688260 -vt 0.962355 0.396138 -vt 0.969725 0.396138 -vt 0.542734 0.578174 -vt 0.542829 0.583567 -vt 0.969781 0.408725 -vt 0.962434 0.403496 -vt 0.769568 0.682635 -vt 0.962411 0.398282 -vt 0.960891 0.398280 -vt 0.957166 0.396130 -vt 0.532510 0.581237 -vt 0.764522 0.680249 -vt 0.543058 0.588570 -vt 0.534102 0.586181 -vt 0.768473 0.677677 -vt 0.769098 0.691956 -vt 0.760600 0.684188 -vt 0.762736 0.675167 -vt 0.767950 0.676188 -vt 0.804084 0.416283 -vt 0.808728 0.425293 -vt 0.803532 0.425049 -vt 0.537946 0.590101 -vt 0.541225 0.591698 -vt 0.536018 0.593505 -vt 0.814488 0.416919 -vt 0.809375 0.415023 -vt 0.757553 0.675511 -vt 0.530811 0.591992 -vt 0.962411 0.408724 -vt 0.960891 0.408722 -vt 0.699802 0.814291 -vt 0.699703 0.812762 -vt 0.704915 0.812443 -vt 0.710205 0.813636 -vt 0.710106 0.812107 -vt 0.787347 0.690214 -vt 0.693474 0.546819 -vt 0.547668 0.763703 -vt 0.688283 0.547155 -vt 0.813936 0.425684 -vt 0.792544 0.690458 -vt 0.781479 0.423542 -vt 0.542462 0.762189 -vt 0.786693 0.424564 -vt 0.797751 0.690850 -vt 0.794380 0.695798 -vt 0.776296 0.423887 -vt 0.782246 0.415023 -vt 0.683071 0.547474 -vt 0.690111 0.541809 -vt 0.787347 0.417292 -vt 0.790483 0.699330 -vt 0.694009 0.545253 -vt 0.799138 0.703556 -vt 0.695493 0.544525 -vt 0.798289 0.692414 -vt 0.799451 0.698273 -vt 0.995450 0.288888 -vt 0.990191 0.297830 -vt 0.990220 0.287373 -vt 0.694840 0.534104 -vt 0.695177 0.539323 -vt 0.985027 0.288905 -vt 0.985003 0.297831 -vt 0.552875 0.761896 -vt 0.552942 0.763361 -vt 0.552970 0.764940 -vt 0.542529 0.763655 -vt 0.542556 0.765234 -vt 0.542556 0.776570 -vt 0.710205 0.543599 -vt 0.547668 0.775038 -vt 0.799774 0.693139 -vt 0.814165 0.699172 -vt 0.995426 0.297814 -vt 0.990216 0.312598 -vt 0.709889 0.538397 -vt 0.985027 0.312598 -vt 0.813852 0.704455 -vt 0.672557 0.969836 -vt 0.661790 0.940204 -vt 0.672557 0.940318 -vt 0.937378 0.420521 -vt 0.930000 0.391245 -vt 0.937378 0.390999 -vt 0.948631 0.383380 -vt 0.937378 0.353881 -vt 0.948631 0.353858 -vt 0.948631 0.420497 -vt 0.948631 0.390975 -vt 0.957166 0.383593 -vt 0.957166 0.354071 -vt 0.957166 0.420711 -vt 0.957166 0.391188 -vt 0.510468 0.977137 -vt 0.500029 0.947558 -vt 0.510468 0.947603 -vt 0.484296 0.973492 -vt 0.473857 0.943913 -vt 0.484296 0.943959 -vt 0.520876 0.977090 -vt 0.520876 0.947557 -vt 0.494704 0.973445 -vt 0.494704 0.943912 -vt 0.525156 0.976978 -vt 0.525156 0.947445 -vt 0.498984 0.973333 -vt 0.498984 0.943800 -vt 0.963519 0.878749 -vt 0.953522 0.849408 -vt 0.963519 0.849231 -vt 0.661790 0.969723 -vt 0.651792 0.940381 -vt 0.974286 0.878863 -vt 0.974286 0.849345 -vt 0.937378 0.383404 -vt 0.930000 0.354128 -vt 0.964176 0.886377 -vt 0.812030 0.955571 -vt 0.358167 0.948141 -vt 0.662447 0.977350 -vt 0.792770 0.974866 -vt 0.804052 0.974866 -vt 0.940685 0.390975 -vt 0.946312 0.428080 -vt 0.940685 0.428092 -vt 0.377427 0.956132 -vt 0.784792 0.955571 -vt 0.784792 0.966874 -vt 0.369450 0.975427 -vt 0.377427 0.967435 -vt 0.792770 0.947579 -vt 0.350190 0.967435 -vt 0.358167 0.975427 -vt 0.804052 0.947579 -vt 0.825789 0.787050 -vt 0.339120 0.780853 -vt 0.157243 0.670622 -vt 0.339780 0.658856 -vt 0.753870 0.697124 -vt 0.831098 0.602717 -vt 0.715509 0.701001 -vt 0.162444 0.918379 -vt 0.881020 0.168381 -vt 0.714001 0.691303 -vt 0.886260 0.183100 -vt 0.305366 0.665758 -vt 0.768730 0.863972 -vt 0.721023 0.713820 -vt 0.812818 0.287115 -vt 0.215065 0.659983 -vt 0.774128 0.694371 -vt 0.971887 0.091969 -vt 0.870564 0.168381 -vt 0.240887 0.660606 -vt 0.875804 0.183100 -vt 0.793836 0.293466 -vt 0.339180 0.836520 -vt 0.099094 0.761419 -vt 0.831099 0.600792 -vt 0.133686 0.777836 -vt 0.792398 0.081258 -vt 0.791944 0.094889 -vt 0.655500 0.081116 -vt 0.682885 0.731913 -vt 0.136907 0.775621 -vt 0.871146 0.239039 -vt 0.351983 0.855414 -vt 0.850168 0.410519 -vt 0.985368 0.644257 -vt 0.387852 0.868803 -vt 0.211028 0.651431 -vt 0.209659 0.665000 -vt 0.665942 0.070654 -vt 0.386801 0.864882 -vt 0.985402 0.631709 -vt 0.376976 0.861411 -vt 0.759006 0.687185 -vt 0.541790 0.590701 -vt 0.776950 0.416615 -vt 0.686191 0.538347 -vt 0.552970 0.776276 -vt 0.814488 0.694038 -vt 0.995450 0.312581 -vt 0.709552 0.533178 -vt 0.930000 0.420768 -vt 0.500029 0.977091 -vt 0.473857 0.973446 -vt 0.953522 0.878926 -vt 0.651792 0.969899 -vt 0.930000 0.383651 -vt 0.969559 0.886434 -vt 0.812030 0.966873 -vt 0.369450 0.948140 -vt 0.667830 0.977407 -vt 0.946312 0.390963 -vt 0.350190 0.956133 -vn -1.0000 0.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.3827 -0.9239 -vn -0.0000 -0.9239 -0.3827 -vn -0.0000 -0.3827 0.9239 -vn 0.0000 0.9239 0.3827 -vn 0.0000 0.9239 -0.3827 -vn 0.0000 -0.3827 -0.9239 -vn 0.0000 -0.9239 0.3827 -vn 0.0000 0.3827 0.9239 -vn 0.0000 0.0000 1.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 1.0000 0.0000 -vn -0.0000 -0.7071 -0.7071 -vn 0.0000 -0.7071 0.7071 -vn -0.3827 -0.9239 0.0000 -vn -0.9239 0.3827 0.0000 -vn 0.3827 0.9239 0.0000 -vn 0.9239 -0.3827 0.0000 -vn -0.9239 -0.3827 0.0000 -vn 0.3827 -0.9239 0.0000 -vn 0.9239 0.3827 0.0000 -vn -0.3827 0.9239 0.0000 -vn 0.5547 0.8321 0.0000 -vn -0.5547 0.8321 0.0000 -vn 0.2588 0.9659 0.0000 -vn -0.7071 0.7071 0.0000 -vn 0.9659 -0.2588 0.0000 -vn -0.2588 -0.9659 0.0000 -vn -0.9659 0.2588 0.0000 -vn 0.9659 0.2588 0.0000 -vn 0.2588 -0.9659 0.0000 -vn -0.9659 -0.2588 0.0000 -vn 0.7071 0.7071 0.0000 -vn -0.2588 0.9659 0.0000 -vn 0.7071 -0.7071 0.0000 -vn -0.7071 -0.7071 0.0000 -vn 0.2516 -0.9389 0.2347 -vn -0.9389 -0.2516 0.2347 -vn 0.6874 0.6873 0.2347 -vn -0.2516 0.9389 0.2347 -vn 0.6874 -0.6873 0.2347 -vn -0.6874 -0.6873 0.2347 -vn 0.2516 0.9389 0.2347 -vn -0.6873 0.6873 0.2347 -vn 0.9389 -0.2516 0.2347 -vn -0.2516 -0.9389 0.2347 -vn -0.9389 0.2516 0.2347 -vn 0.9389 0.2516 0.2347 -vn 0.8698 0.2331 0.4349 -vn 0.2331 -0.8698 0.4349 -vn -0.8698 -0.2331 0.4349 -vn 0.6367 0.6367 0.4349 -vn -0.2331 0.8698 0.4349 -vn 0.6367 -0.6367 0.4349 -vn -0.6367 -0.6367 0.4349 -vn 0.2331 0.8698 0.4349 -vn -0.6367 0.6367 0.4349 -vn 0.8698 -0.2331 0.4349 -vn -0.2331 -0.8698 0.4349 -vn -0.8698 0.2331 0.4349 -vn -0.7822 0.2096 0.5867 -vn 0.7822 0.2096 0.5867 -vn 0.2096 -0.7822 0.5867 -vn -0.7822 -0.2096 0.5867 -vn 0.5726 0.5726 0.5867 -vn -0.2096 0.7822 0.5867 -vn 0.5726 -0.5726 0.5867 -vn -0.5726 -0.5726 0.5867 -vn 0.2096 0.7822 0.5867 -vn -0.5726 0.5726 0.5867 -vn 0.7822 -0.2096 0.5867 -vn -0.2096 -0.7822 0.5867 -vn 0.8321 -0.5547 0.0000 -vn -0.4472 0.8944 0.0000 -vn 0.4472 0.0000 -0.8944 -vn 0.4472 0.0000 0.8944 -vn 0.6479 -0.7479 0.1445 -vn -0.1677 0.0449 0.9848 -vn 0.1677 -0.0449 -0.9848 -vn 0.9513 -0.2549 0.1736 -vn -0.1939 0.9779 -0.0777 -vn 0.5754 -0.1542 -0.8032 -vn 0.2754 -0.0738 0.9585 -vn 0.7541 -0.5547 0.3516 -vn -0.4226 0.0000 0.9063 -vn 0.4226 0.0000 -0.9063 -vn 0.9063 0.0000 0.4226 -vn -0.4053 0.8944 -0.1890 -vn 0.7833 0.0000 -0.6216 -vn 0.0273 0.0000 0.9996 -vn -0.8321 0.5547 0.0000 -vn 0.7206 -0.5547 0.4160 -vn -0.5000 0.0000 0.8660 -vn 0.5000 0.0000 -0.8660 -vn 0.8660 0.0000 0.5000 -vn -0.3873 0.8944 -0.2236 -vn 0.8345 0.0000 -0.5510 -vn -0.0599 0.0000 0.9982 -vn 0.4472 -0.8944 0.0000 -vn -0.4472 0.0000 -0.8944 -vn -0.4472 0.0000 0.8944 -vn -0.5547 -0.8321 0.0000 -vn 0.8944 0.4472 0.0000 -vn 0.0000 -0.4472 -0.8944 -vn 0.0000 -0.4472 0.8944 -vn -0.8944 -0.4472 0.0000 -vn 0.0000 0.4472 -0.8944 -vn 0.0000 0.4472 0.8944 -vn -0.5000 -0.8660 0.0000 -vn 0.4432 -0.8964 0.0000 -vn 0.5000 0.8660 0.0000 -vn 0.8660 -0.5000 0.0000 -vn 0.0599 0.9982 0.0000 -vn 0.3873 -0.2236 -0.8944 -vn 0.3873 -0.2236 0.8944 -vn -0.4432 0.8964 0.0000 -vn -0.8660 0.5000 0.0000 -vn -0.0599 -0.9982 0.0000 -vn -0.3873 0.2236 -0.8944 -vn -0.3873 0.2236 0.8944 -vn -0.8964 -0.4432 0.0000 -vn 0.9982 -0.0599 0.0000 -vn -0.2236 -0.3873 -0.8944 -vn -0.2236 -0.3873 0.8944 -vn 0.8964 0.4432 0.0000 -vn -0.9982 0.0599 0.0000 -vn 0.2236 0.3873 -0.8944 -vn 0.2236 0.3873 0.8944 -vn -0.8660 -0.5000 0.0000 -vn -0.0644 -0.9979 0.0000 -vn 0.8660 0.5000 0.0000 -vn 0.5000 -0.8660 0.0000 -vn 0.5510 0.8345 0.0000 -vn 0.2236 -0.3873 -0.8944 -vn 0.2236 -0.3873 0.8944 -vn 0.0644 0.9979 0.0000 -vn -0.5000 0.8660 0.0000 -vn -0.5510 -0.8345 0.0000 -vn -0.2236 0.3873 -0.8944 -vn -0.2236 0.3873 0.8944 -vn -0.9979 0.0644 0.0000 -vn 0.8345 -0.5510 0.0000 -vn -0.3873 -0.2236 -0.8944 -vn -0.3873 -0.2236 0.8944 -vn 0.9979 -0.0644 0.0000 -vn -0.8345 0.5510 0.0000 -vn 0.3873 0.2236 -0.8944 -vn 0.3873 0.2236 0.8944 -vn 0.1872 -0.9716 0.1445 -vn -0.1228 0.1228 0.9848 -vn 0.1228 -0.1228 -0.9848 -vn 0.6964 -0.6964 0.1736 -vn 0.3210 0.9439 -0.0777 -vn 0.4212 -0.4212 -0.8032 -vn 0.2016 -0.2016 0.9585 -vn -0.3237 -0.9351 0.1445 -vn -0.0449 0.1677 0.9848 -vn 0.0449 -0.1677 -0.9848 -vn 0.2549 -0.9513 0.1736 -vn 0.7500 0.6569 -0.0777 -vn 0.1542 -0.5754 -0.8032 -vn 0.0738 -0.2754 0.9585 -vn 0.7479 0.6479 0.1445 -vn -0.0449 -0.1677 0.9848 -vn 0.0449 0.1677 -0.9848 -vn 0.2549 0.9513 0.1736 -vn -0.9779 -0.1939 -0.0777 -vn 0.1542 0.5754 -0.8032 -vn 0.0738 0.2754 0.9585 -vn 0.9716 0.1872 0.1445 -vn -0.1228 -0.1228 0.9848 -vn 0.1228 0.1228 -0.9848 -vn 0.6964 0.6964 0.1736 -vn -0.9439 0.3210 -0.0777 -vn 0.4212 0.4212 -0.8032 -vn 0.2016 0.2016 0.9585 -vn 0.9351 -0.3237 0.1445 -vn -0.1677 -0.0449 0.9848 -vn 0.1677 0.0449 -0.9848 -vn 0.9513 0.2549 0.1736 -vn -0.6569 0.7500 -0.0777 -vn 0.5754 0.1542 -0.8032 -vn 0.2754 0.0738 0.9585 -vn -0.6479 0.7479 0.1445 -vn 0.1677 -0.0449 0.9848 -vn -0.1677 0.0449 -0.9848 -vn -0.9513 0.2549 0.1736 -vn 0.1939 -0.9779 -0.0777 -vn -0.5754 0.1542 -0.8032 -vn -0.2754 0.0738 0.9585 -vn -0.1872 0.9716 0.1445 -vn 0.1228 -0.1228 0.9848 -vn -0.1228 0.1228 -0.9848 -vn -0.6964 0.6964 0.1736 -vn -0.3210 -0.9439 -0.0777 -vn -0.4212 0.4212 -0.8032 -vn -0.2016 0.2016 0.9585 -vn 0.3237 0.9351 0.1445 -vn 0.0449 -0.1677 0.9848 -vn -0.0449 0.1677 -0.9848 -vn -0.2549 0.9513 0.1736 -vn -0.7500 -0.6569 -0.0777 -vn -0.1542 0.5754 -0.8032 -vn -0.0738 0.2754 0.9585 -vn -0.7479 -0.6479 0.1445 -vn 0.0449 0.1677 0.9848 -vn -0.0449 -0.1677 -0.9848 -vn -0.2549 -0.9513 0.1736 -vn 0.9779 0.1939 -0.0777 -vn -0.1542 -0.5754 -0.8032 -vn -0.0738 -0.2754 0.9585 -vn -0.9716 -0.1872 0.1445 -vn 0.1228 0.1228 0.9848 -vn -0.1228 -0.1228 -0.9848 -vn -0.6964 -0.6964 0.1736 -vn 0.9439 -0.3210 -0.0777 -vn -0.4212 -0.4212 -0.8032 -vn -0.2016 -0.2016 0.9585 -vn -0.9351 0.3237 0.1445 -vn 0.1677 0.0449 0.9848 -vn -0.1677 -0.0449 -0.9848 -vn -0.9513 -0.2549 0.1736 -vn 0.6569 -0.7500 -0.0777 -vn -0.5754 -0.1542 -0.8032 -vn -0.2754 -0.0738 0.9585 -vn -0.7541 0.5547 0.3516 -vn 0.4226 0.0000 0.9063 -vn -0.4226 0.0000 -0.9063 -vn -0.9063 0.0000 0.4226 -vn 0.4053 -0.8944 -0.1890 -vn -0.7833 0.0000 -0.6216 -vn -0.0273 0.0000 0.9996 -vn -0.5547 -0.7541 0.3516 -vn 0.0000 0.4226 0.9063 -vn 0.0000 -0.4226 -0.9063 -vn 0.0000 -0.9063 0.4226 -vn 0.8944 0.4053 -0.1890 -vn 0.0000 -0.7833 -0.6216 -vn 0.0000 -0.0273 0.9996 -vn 0.5547 0.7541 0.3516 -vn 0.0000 -0.4226 0.9063 -vn 0.0000 0.4226 -0.9063 -vn 0.0000 0.9063 0.4226 -vn -0.8944 -0.4053 -0.1890 -vn 0.0000 0.7833 -0.6216 -vn 0.0000 0.0273 0.9996 -vn 0.1410 -0.9255 0.3516 -vn -0.2988 0.2988 0.9063 -vn 0.2988 -0.2988 -0.9063 -vn 0.6409 -0.6409 0.4226 -vn 0.3459 0.9191 -0.1890 -vn 0.5539 -0.5539 -0.6216 -vn 0.0193 -0.0193 0.9996 -vn -0.1410 0.9255 0.3516 -vn 0.2988 -0.2988 0.9063 -vn -0.2988 0.2988 -0.9063 -vn -0.6409 0.6409 0.4226 -vn -0.3459 -0.9191 -0.1890 -vn -0.5539 0.5539 -0.6216 -vn -0.0193 0.0193 0.9996 -vn -0.9255 -0.1410 0.3516 -vn 0.2988 0.2988 0.9063 -vn -0.2988 -0.2988 -0.9063 -vn -0.6409 -0.6409 0.4226 -vn 0.9191 -0.3459 -0.1890 -vn -0.5539 -0.5539 -0.6216 -vn -0.0193 -0.0193 0.9996 -vn 0.9255 0.1410 0.3516 -vn -0.2988 -0.2988 0.9063 -vn 0.2988 0.2988 -0.9063 -vn 0.6409 0.6409 0.4226 -vn -0.9191 0.3459 -0.1890 -vn 0.5539 0.5539 -0.6216 -vn 0.0193 0.0193 0.9996 -vn -0.7206 0.5547 0.4160 -vn 0.5000 -0.0000 0.8660 -vn -0.5000 0.0000 -0.8660 -vn -0.8660 0.0000 0.5000 -vn 0.3873 -0.8944 -0.2236 -vn -0.8345 0.0000 -0.5510 -vn 0.0599 -0.0000 0.9982 -vn -0.1201 -0.9014 0.4160 -vn -0.2500 0.4330 0.8660 -vn 0.2500 -0.4330 -0.8660 -vn 0.4330 -0.7500 0.5000 -vn 0.5809 0.7826 -0.2236 -vn 0.4173 -0.7227 -0.5510 -vn -0.0300 0.0519 0.9982 -vn 0.1201 0.9014 0.4160 -vn 0.2500 -0.4330 0.8660 -vn -0.2500 0.4330 -0.8660 -vn -0.4330 0.7500 0.5000 -vn -0.5809 -0.7826 -0.2236 -vn -0.4173 0.7227 -0.5510 -vn 0.0300 -0.0519 0.9982 -vn -0.8407 -0.3467 0.4160 -vn 0.2500 0.4330 0.8660 -vn -0.2500 -0.4330 -0.8660 -vn -0.4330 -0.7500 0.5000 -vn 0.9682 -0.1118 -0.2236 -vn -0.4173 -0.7227 -0.5510 -vn 0.0300 0.0519 0.9982 -vn 0.8407 0.3467 0.4160 -vn -0.2500 -0.4330 0.8660 -vn 0.2500 0.4330 -0.8660 -vn 0.4330 0.7500 0.5000 -vn -0.9682 0.1118 -0.2236 -vn 0.4173 0.7227 -0.5510 -vn -0.0300 -0.0519 0.9982 -vn 0.0000 -0.9597 0.2811 -vn -0.9597 0.0000 0.2811 -vn 0.0000 0.9597 0.2811 -vn 0.9597 0.0000 0.2811 -vn -0.1753 -0.6541 -0.7358 -vn -0.6541 0.1753 -0.7358 -vn 0.6541 0.1753 -0.7358 -vn 0.1753 -0.6541 -0.7358 -vn -0.6541 -0.1753 -0.7358 -vn 0.4788 0.4788 -0.7358 -vn -0.1753 0.6541 -0.7358 -vn 0.4788 -0.4788 -0.7358 -vn -0.4788 -0.4788 -0.7358 -vn 0.1753 0.6541 -0.7358 -vn -0.4788 0.4788 -0.7358 -vn 0.6541 -0.1753 -0.7358 -vn 0.0000 0.8944 -0.4472 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 0.7071 0.7071 -vn 0.7071 0.0000 -0.7071 -vn -0.7071 0.0000 -0.7071 -vn 0.9437 0.3307 0.0000 -vn -0.9437 -0.3307 0.0000 -vn 0.9440 -0.3300 0.0000 -vn -0.9440 0.3300 0.0000 -vn 0.3162 0.9487 0.0000 -vn -0.3162 -0.9487 0.0000 -vn -0.3162 0.9487 0.0000 -vn 0.3162 -0.9487 0.0000 -vn 0.4213 0.4212 -0.8032 -vn 0.0196 -0.9987 -0.0473 -vn -0.7071 -0.0000 0.7071 -vn 0.0196 0.9987 -0.0473 -vn 0.1866 -0.0000 -0.9824 -vn 0.1448 -0.6794 -0.7194 -vn -0.1363 -0.7263 0.6737 -vn -0.1363 0.7263 0.6737 -vn 0.1448 0.6794 -0.7194 -vn 0.5294 -0.6630 -0.5294 -vn 0.0671 -0.9955 -0.0671 -vn -0.4617 -0.7574 0.4617 -vn 0.5294 0.6630 -0.5294 -vn 0.0671 0.9955 -0.0671 -vn 0.0473 -0.9987 -0.0196 -vn -0.6737 0.7263 0.1363 -vn 0.0473 0.9987 -0.0196 -vn 0.9824 -0.0000 -0.1866 -vn 0.7194 -0.6794 -0.1448 -vn -0.6737 -0.7263 0.1363 -vn 0.7194 0.6794 -0.1448 -vn -0.4617 0.7574 0.4617 -vn 0.9987 -0.0473 0.0196 -vn -0.9987 -0.0473 0.0196 -vn 0.6794 -0.7194 0.1448 -vn -0.7263 0.6737 -0.1363 -vn -0.6794 -0.7194 0.1448 -vn 0.7263 0.6737 -0.1363 -vn -0.0000 -0.9824 0.1866 -vn -0.9955 -0.0671 0.0671 -vn 0.9955 -0.0671 0.0671 -vn 0.6630 -0.5294 0.5294 -vn -0.6630 -0.5294 0.5294 -vn -0.7574 0.4617 -0.4617 -vn 0.7574 0.4617 -0.4617 -vn 0.0000 -0.1866 0.9824 -vn 0.9987 -0.0196 0.0473 -vn -0.6794 -0.1448 0.7194 -vn -0.9987 -0.0196 0.0473 -vn 0.6794 -0.1448 0.7194 -vn -0.7263 0.1363 -0.6737 -vn 0.7263 0.1363 -0.6737 -vn 0.7194 0.1448 -0.6794 -vn 0.9824 0.1866 -0.0000 -vn -0.5880 -0.0639 -0.8063 -vn 0.0473 0.0196 -0.9987 -vn 0.7194 0.1448 0.6794 -vn 0.0473 0.0196 0.9987 -vn -0.5880 -0.0639 0.8063 -vn 0.5294 0.5294 0.6630 -vn 0.0671 0.0671 0.9955 -vn -0.2706 -0.2706 0.9239 -vn 0.0671 0.0671 -0.9955 -vn 0.5294 0.5294 -0.6630 -vn 0.0393 0.0948 -0.9947 -vn 0.2962 0.7150 -0.6333 -vn 0.2962 0.7150 0.6333 -vn 0.0393 0.0948 0.9947 -vn -0.1566 -0.3780 0.9125 -vn -0.2706 -0.2706 -0.9239 -vn -0.6725 -0.0522 0.7382 -vn -0.6725 -0.0522 -0.7382 -vn -0.1566 -0.3780 -0.9125 -vn -0.0196 -0.9987 -0.0473 -vn 0.7071 0.0000 0.7071 -vn -0.0196 0.9987 -0.0473 -vn -0.1866 -0.0000 -0.9824 -vn -0.1448 -0.6794 -0.7194 -vn 0.1363 -0.7263 0.6737 -vn 0.1363 0.7263 0.6737 -vn -0.1448 0.6794 -0.7194 -vn -0.5294 -0.6630 -0.5294 -vn -0.0671 -0.9955 -0.0671 -vn -0.5294 0.6630 -0.5294 -vn -0.0671 0.9955 -0.0671 -vn -0.0473 -0.9987 -0.0196 -vn 0.6737 0.7263 0.1363 -vn 0.4617 0.7574 0.4617 -vn -0.9824 -0.0000 -0.1866 -vn 0.6737 -0.7263 0.1363 -vn 0.4617 -0.7574 0.4617 -vn -0.0473 0.9987 -0.0196 -vn -0.7194 0.6794 -0.1448 -vn -0.7194 -0.6794 -0.1448 -vn -0.7194 0.1448 -0.6794 -vn 0.5880 -0.0639 -0.8063 -vn -0.7194 0.1448 0.6794 -vn -0.0473 0.0196 0.9987 -vn -0.9824 0.1866 -0.0000 -vn 0.5880 -0.0639 0.8063 -vn -0.0671 0.0671 0.9955 -vn -0.0671 0.0671 -0.9955 -vn -0.0473 0.0196 -0.9987 -vn -0.5294 0.5294 0.6630 -vn -0.5294 0.5294 -0.6630 -vn -0.2962 0.7150 -0.6333 -vn -0.2962 0.7150 0.6333 -vn 0.2706 -0.2706 0.9239 -vn -0.0393 0.0948 0.9947 -vn -0.0393 0.0948 -0.9947 -vn 0.2706 -0.2706 -0.9239 -vn 0.6725 -0.0522 0.7382 -vn 0.6725 -0.0522 -0.7382 -vn -0.0196 0.0473 0.9987 -vn -0.1866 0.9824 -0.0000 -vn -0.0196 0.0473 -0.9987 -vn 0.1363 -0.6737 -0.7263 -vn 0.1363 -0.6737 0.7263 -vn -0.1448 0.7194 0.6794 -vn -0.1448 0.7194 -0.6794 -vn 0.4617 -0.4617 0.7574 -vn 0.6737 -0.1363 0.7263 -vn 0.4617 -0.4617 -0.7574 -vn 0.6737 -0.1363 -0.7263 -vn -0.7263 0.1363 0.6737 -vn -0.6794 -0.1448 -0.7194 -vn 0.9987 -0.0196 -0.0473 -vn 0.0000 -0.1866 -0.9824 -vn 0.6794 -0.1448 -0.7194 -vn -0.9987 -0.0196 -0.0473 -vn 0.7263 0.1363 0.6737 -vn 0.7574 0.4617 0.4617 -vn 0.9955 -0.0671 -0.0671 -vn -0.9955 -0.0671 -0.0671 -vn 0.6630 -0.5294 -0.5294 -vn -0.7574 0.4617 0.4617 -vn -0.6630 -0.5294 -0.5294 -vn -0.9987 -0.0473 -0.0196 -vn -0.7263 0.6737 0.1363 -vn -0.0000 -0.9824 -0.1866 -vn -0.6794 -0.7194 -0.1448 -vn 0.7263 0.6737 0.1363 -vn 0.9987 -0.0473 -0.0196 -vn 0.6794 -0.7194 -0.1448 -vn -0.7194 -0.6794 0.1448 -vn 0.6737 0.7263 -0.1363 -vn -0.0473 0.9987 0.0196 -vn -0.0473 -0.9987 0.0196 -vn -0.9824 -0.0000 0.1866 -vn 0.6737 -0.7263 -0.1363 -vn -0.7194 0.6794 0.1448 -vn -0.0671 -0.9955 0.0671 -vn -0.0671 0.9955 0.0671 -vn -0.5294 0.6630 0.5294 -vn -0.5294 -0.6630 0.5294 -vn 0.4617 0.7574 -0.4617 -vn -0.1448 -0.6794 0.7194 -vn 0.1363 0.7263 -0.6737 -vn 0.4617 -0.7574 -0.4617 -vn -0.0196 -0.9987 0.0473 -vn -0.1866 -0.0000 0.9824 -vn -0.1448 0.6794 0.7194 -vn -0.0196 0.9987 0.0473 -vn 0.1363 -0.7263 -0.6737 -vn 0.5000 0.7071 -0.5000 -vn -0.5000 0.7071 -0.5000 -vn -0.5000 0.7071 0.5000 -vn 0.5000 0.7071 0.5000 -vn 0.1566 -0.3780 0.9125 -vn 0.1566 -0.3780 -0.9125 -s off -f 74/1/1 114/2/1 113/3/1 -f 14/4/1 54/5/1 53/6/1 -f 12/7/2 43/8/2 11/9/2 -f 22/10/1 27/11/1 25/12/1 -f 11/9/3 28/13/3 12/7/3 -f 9/14/4 26/15/4 10/16/4 -f 7/17/5 24/18/5 8/19/5 -f 5/20/6 21/21/6 6/22/6 -f 12/23/7 22/24/7 5/20/7 -f 10/25/8 27/26/8 11/9/8 -f 9/14/9 24/27/9 25/28/9 -f 6/29/10 23/30/10 7/17/10 -f 31/31/2 33/32/2 35/33/2 -f 14/34/6 30/35/6 13/36/6 -f 13/36/7 36/37/7 20/38/7 -f 19/39/8 34/40/8 18/41/8 -f 17/42/9 32/43/9 16/44/9 -f 15/45/10 29/46/10 14/47/10 -f 20/48/3 35/33/3 19/39/3 -f 17/42/4 34/49/4 33/50/4 -f 16/51/5 31/52/5 15/45/5 -f 41/53/4 50/54/4 49/55/4 -f 10/25/2 41/56/2 9/57/2 -f 8/58/2 39/59/2 7/60/2 -f 6/61/2 38/62/2 5/63/2 -f 12/7/2 38/62/2 44/64/2 -f 11/9/2 42/65/2 10/25/2 -f 9/57/2 40/66/2 8/58/2 -f 6/61/2 39/59/2 37/67/2 -f 49/68/2 51/69/2 46/70/2 -f 40/71/5 47/72/5 39/73/5 -f 37/74/6 46/75/6 38/76/6 -f 38/76/7 52/77/7 44/78/7 -f 43/8/8 50/79/8 42/65/8 -f 41/53/9 48/80/9 40/81/9 -f 39/73/10 45/82/10 37/83/10 -f 43/8/3 52/84/3 51/69/3 -f 58/85/8 67/86/8 59/87/8 -f 13/88/1 60/89/1 54/5/1 -f 19/90/1 58/91/1 59/92/1 -f 16/93/1 57/94/1 17/95/1 -f 14/4/1 55/96/1 15/97/1 -f 19/90/1 60/89/1 20/98/1 -f 17/95/1 58/91/1 18/99/1 -f 16/93/1 55/96/1 56/100/1 -f 64/101/1 63/102/1 67/103/1 -f 56/104/9 65/105/9 57/106/9 -f 53/107/10 63/108/10 55/109/10 -f 60/110/3 67/86/3 68/111/3 -f 58/112/4 65/105/4 66/113/4 -f 55/109/5 64/114/5 56/115/5 -f 54/116/6 61/117/6 53/118/6 -f 60/119/7 62/120/7 54/116/7 -f 71/121/2 104/122/2 103/123/2 -f 82/124/1 87/125/1 85/126/1 -f 71/121/3 88/127/3 72/128/3 -f 69/129/4 86/130/4 70/131/4 -f 2/132/5 84/133/5 1/134/5 -f 4/135/6 81/136/6 3/137/6 -f 72/138/7 82/139/7 4/135/7 -f 70/140/8 87/141/8 71/121/8 -f 69/129/9 84/142/9 85/143/9 -f 3/144/10 83/145/10 2/132/10 -f 96/146/2 90/147/2 93/148/2 -f 74/149/6 90/150/6 73/151/6 -f 73/151/7 96/152/7 80/153/7 -f 79/154/8 94/155/8 78/156/8 -f 77/157/9 92/158/9 76/159/9 -f 75/160/10 89/161/10 74/162/10 -f 80/163/3 95/164/3 79/154/3 -f 77/157/4 94/165/4 93/166/4 -f 76/167/5 91/168/5 75/160/5 -f 102/169/4 109/170/4 101/171/4 -f 70/140/2 101/172/2 69/173/2 -f 2/174/2 100/175/2 99/176/2 -f 3/177/2 98/178/2 4/179/2 -f 72/128/2 98/178/2 104/122/2 -f 71/121/2 102/180/2 70/140/2 -f 1/181/2 101/172/2 100/175/2 -f 2/174/2 97/182/2 3/177/2 -f 109/183/2 111/184/2 106/185/2 -f 100/186/5 107/187/5 99/188/5 -f 97/189/6 106/190/6 98/191/6 -f 98/191/7 112/192/7 104/193/7 -f 103/123/8 110/194/8 102/180/8 -f 101/171/9 108/195/9 100/196/9 -f 99/188/10 105/197/10 97/198/10 -f 104/122/3 111/184/3 103/123/3 -f 118/199/8 127/200/8 119/201/8 -f 80/202/1 114/2/1 73/203/1 -f 79/204/1 118/205/1 119/206/1 -f 76/207/1 117/208/1 77/209/1 -f 75/210/1 113/3/1 115/211/1 -f 79/204/1 120/212/1 80/202/1 -f 78/213/1 117/208/1 118/205/1 -f 75/210/1 116/214/1 76/207/1 -f 127/215/1 125/216/1 123/217/1 -f 116/218/9 125/219/9 117/220/9 -f 113/221/10 123/222/10 115/223/10 -f 119/201/3 128/224/3 120/225/3 -f 117/220/4 126/226/4 118/227/4 -f 115/223/5 124/228/5 116/229/5 -f 114/230/6 121/231/6 113/232/6 -f 120/233/7 122/234/7 114/230/7 -f 134/235/11 153/236/11 149/237/11 -f 154/238/12 130/239/12 129/240/12 -f 129/241/13 151/242/13 154/243/13 -f 143/244/11 140/245/11 139/246/11 -f 142/247/13 137/248/13 138/249/13 -f 142/250/14 143/251/14 141/252/14 -f 129/241/2 139/253/2 133/254/2 -f 130/255/2 143/256/2 129/241/2 -f 130/255/2 137/248/2 141/257/2 -f 132/258/1 138/259/1 136/260/1 -f 144/261/1 132/258/1 131/262/1 -f 131/262/1 140/263/1 144/261/1 -f 147/264/12 146/265/12 145/266/12 -f 148/267/15 149/268/15 146/265/15 -f 145/266/16 152/269/16 147/264/16 -f 148/270/1 147/271/1 156/272/1 -f 145/273/2 146/274/2 153/275/2 -f 132/276/12 156/277/12 131/278/12 -f 136/279/11 155/280/11 132/281/11 -f 156/282/13 135/283/13 131/284/13 -f 152/269/12 151/285/12 139/286/12 -f 137/287/12 134/288/12 149/268/12 -f 230/289/1 270/290/1 269/291/1 -f 170/292/1 210/293/1 209/294/1 -f 167/295/2 200/296/2 199/297/2 -f 178/298/1 183/299/1 181/300/1 -f 167/295/3 184/301/3 168/302/3 -f 165/303/4 182/304/4 166/305/4 -f 163/306/5 180/307/5 164/308/5 -f 161/309/6 177/310/6 162/311/6 -f 168/312/7 178/313/7 161/309/7 -f 167/295/8 182/314/8 183/315/8 -f 165/303/9 180/316/9 181/317/9 -f 162/318/10 179/319/10 163/306/10 -f 192/320/2 186/321/2 189/322/2 -f 170/323/6 186/324/6 169/325/6 -f 169/325/7 192/326/7 176/327/7 -f 175/328/8 190/329/8 174/330/8 -f 173/331/9 188/332/9 172/333/9 -f 171/334/10 185/335/10 170/336/10 -f 176/337/3 191/338/3 175/328/3 -f 173/331/4 190/339/4 189/340/4 -f 171/334/5 188/341/5 187/342/5 -f 198/343/4 205/344/4 197/345/4 -f 166/346/2 197/347/2 165/348/2 -f 164/349/2 195/350/2 163/351/2 -f 162/352/2 194/353/2 161/354/2 -f 168/302/2 194/353/2 200/296/2 -f 167/295/2 198/355/2 166/346/2 -f 165/348/2 196/356/2 164/349/2 -f 162/352/2 195/350/2 193/357/2 -f 205/358/2 207/359/2 202/360/2 -f 196/361/5 203/362/5 195/363/5 -f 193/364/6 202/365/6 194/366/6 -f 194/366/7 208/367/7 200/368/7 -f 199/297/8 206/369/8 198/355/8 -f 197/345/9 204/370/9 196/371/9 -f 195/363/10 201/372/10 193/373/10 -f 200/296/3 207/359/3 199/297/3 -f 214/374/8 223/375/8 215/376/8 -f 176/377/1 210/293/1 169/378/1 -f 175/379/1 214/380/1 215/381/1 -f 172/382/1 213/383/1 173/384/1 -f 170/292/1 211/385/1 171/386/1 -f 175/379/1 216/387/1 176/377/1 -f 174/388/1 213/383/1 214/380/1 -f 172/382/1 211/385/1 212/389/1 -f 220/390/1 219/391/1 223/392/1 -f 212/393/9 221/394/9 213/395/9 -f 209/396/10 219/397/10 211/398/10 -f 215/376/3 224/399/3 216/400/3 -f 213/395/4 222/401/4 214/402/4 -f 211/398/5 220/403/5 212/404/5 -f 210/405/6 217/406/6 209/407/6 -f 216/408/7 218/409/7 210/405/7 -f 227/410/2 260/411/2 259/412/2 -f 240/413/1 239/414/1 243/415/1 -f 227/410/3 244/416/3 228/417/3 -f 225/418/4 242/419/4 226/420/4 -f 158/421/5 240/422/5 157/423/5 -f 160/424/6 237/425/6 159/426/6 -f 228/427/7 238/428/7 160/424/7 -f 226/429/8 243/430/8 227/410/8 -f 225/418/9 240/431/9 241/432/9 -f 159/433/10 239/434/10 158/421/10 -f 247/435/2 249/436/2 251/437/2 -f 230/438/6 246/439/6 229/440/6 -f 229/440/7 252/441/7 236/442/7 -f 235/443/8 250/444/8 234/445/8 -f 233/446/9 248/447/9 232/448/9 -f 231/449/10 245/450/10 230/451/10 -f 236/452/3 251/437/3 235/443/3 -f 233/446/4 250/453/4 249/454/4 -f 231/449/5 248/455/5 247/456/5 -f 258/457/4 265/458/4 257/459/4 -f 226/429/2 257/460/2 225/461/2 -f 158/462/2 256/463/2 255/464/2 -f 159/465/2 254/466/2 160/467/2 -f 228/417/2 254/466/2 260/411/2 -f 227/410/2 258/468/2 226/429/2 -f 157/469/2 257/460/2 256/463/2 -f 158/462/2 253/470/2 159/465/2 -f 265/471/2 267/472/2 262/473/2 -f 256/474/5 263/475/5 255/476/5 -f 253/477/6 262/478/6 254/479/6 -f 254/479/7 268/480/7 260/481/7 -f 259/412/8 266/482/8 258/468/8 -f 257/459/9 264/483/9 256/484/9 -f 255/476/10 261/485/10 253/486/10 -f 260/411/3 267/472/3 259/412/3 -f 274/487/8 283/488/8 275/489/8 -f 236/490/1 270/290/1 229/491/1 -f 235/492/1 274/493/1 275/494/1 -f 232/495/1 273/496/1 233/497/1 -f 231/498/1 269/291/1 271/499/1 -f 235/492/1 276/500/1 236/490/1 -f 234/501/1 273/496/1 274/493/1 -f 231/498/1 272/502/1 232/495/1 -f 283/503/1 281/504/1 279/505/1 -f 272/506/9 281/507/9 273/508/9 -f 269/509/10 279/510/10 271/511/10 -f 275/489/3 284/512/3 276/513/3 -f 273/508/4 282/514/4 274/515/4 -f 271/511/5 280/516/5 272/517/5 -f 270/518/6 277/519/6 269/520/6 -f 276/521/7 278/522/7 270/518/7 -f 290/523/11 309/524/11 305/525/11 -f 310/526/12 286/527/12 285/528/12 -f 285/529/13 307/530/13 310/531/13 -f 299/532/11 296/533/11 295/534/11 -f 298/535/13 293/536/13 294/537/13 -f 298/538/14 299/539/14 297/540/14 -f 285/529/2 295/541/2 289/542/2 -f 286/543/2 299/544/2 285/529/2 -f 286/543/2 293/536/2 297/545/2 -f 288/546/1 294/547/1 292/548/1 -f 300/549/1 288/546/1 287/550/1 -f 287/550/1 296/551/1 300/549/1 -f 303/552/12 302/553/12 301/554/12 -f 304/555/15 305/556/15 302/553/15 -f 301/554/16 308/557/16 303/552/16 -f 304/558/1 303/559/1 312/560/1 -f 301/561/2 302/562/2 309/563/2 -f 288/564/12 312/565/12 287/566/12 -f 292/567/11 311/568/11 288/569/11 -f 312/570/13 291/571/13 287/572/13 -f 307/573/12 296/574/12 308/557/12 -f 294/575/12 293/576/12 305/556/12 -f 315/577/12 324/578/12 321/579/12 -f 319/580/14 317/581/14 318/582/14 -f 315/583/13 320/584/13 316/585/13 -f 314/586/11 318/587/11 313/588/11 -f 324/589/2 320/584/2 319/590/2 -f 322/591/1 318/592/1 317/593/1 -f 322/594/12 314/595/12 313/596/12 -f 322/594/16 327/597/16 323/598/16 -f 325/599/12 327/597/12 326/600/12 -f 324/578/15 325/599/15 321/579/15 -f 323/601/2 328/602/2 324/589/2 -f 321/603/1 326/604/1 322/591/1 -f 336/605/17 662/606/17 661/607/17 -f 334/608/18 664/609/18 663/610/18 -f 332/611/19 666/612/19 665/613/19 -f 330/614/20 668/615/20 667/616/20 -f 335/617/21 663/610/21 662/618/21 -f 342/619/11 337/620/11 338/621/11 -f 339/622/12 338/623/12 337/624/12 -f 329/625/22 661/607/22 668/626/22 -f 331/627/23 667/616/23 666/628/23 -f 345/629/13 348/630/13 344/631/13 -f 354/632/2 355/633/2 353/634/2 -f 341/635/1 512/636/1 342/637/1 -f 347/638/14 345/639/14 346/640/14 -f 333/641/24 665/613/24 664/642/24 -f 344/643/25 347/638/25 343/644/25 -f 342/645/26 345/639/26 341/646/26 -f 340/647/2 351/648/2 338/649/2 -f 350/650/11 353/651/11 349/652/11 -f 349/653/14 355/654/14 351/655/14 -f 351/648/13 356/656/13 352/657/13 -f 352/658/12 354/659/12 350/660/12 -f 350/661/2 340/647/2 344/631/2 -f 352/657/2 344/631/2 343/662/2 -f 338/649/2 352/657/2 343/662/2 -f 506/663/11 509/664/11 505/665/11 -f 505/666/14 511/667/14 507/668/14 -f 507/669/13 512/670/13 508/671/13 -f 508/672/12 510/673/12 506/674/12 -f 339/675/1 510/676/1 341/635/1 -f 339/675/1 511/677/1 509/678/1 -f 512/636/1 337/679/1 342/637/1 -f 505/680/1 508/681/1 506/682/1 -f 331/683/11 333/684/11 335/685/11 -f 669/686/27 692/687/27 680/688/27 -f 671/689/28 682/690/28 670/691/28 -f 678/692/29 689/693/29 677/694/29 -f 675/695/30 686/696/30 674/697/30 -f 672/698/31 683/699/31 671/700/31 -f 679/701/32 690/702/32 678/692/32 -f 676/703/33 687/704/33 675/695/33 -f 673/705/34 684/706/34 672/698/34 -f 680/688/35 691/707/35 679/708/35 -f 670/691/36 681/709/36 669/686/36 -f 677/710/37 688/711/37 676/703/37 -f 674/697/38 685/712/38 673/713/38 -f 687/704/39 700/714/39 699/715/39 -f 684/706/40 697/716/40 696/717/40 -f 692/687/41 703/718/41 691/707/41 -f 682/690/42 693/719/42 681/709/42 -f 689/720/43 700/714/43 688/711/43 -f 685/712/44 698/721/44 697/722/44 -f 681/709/45 704/723/45 692/687/45 -f 683/724/46 694/725/46 682/690/46 -f 690/702/47 701/726/47 689/693/47 -f 687/704/48 698/721/48 686/696/48 -f 684/706/49 695/727/49 683/699/49 -f 691/728/50 702/729/50 690/702/50 -f 703/730/51 714/731/51 702/732/51 -f 700/714/52 711/733/52 699/715/52 -f 697/716/53 708/734/53 696/717/53 -f 704/723/54 715/735/54 703/718/54 -f 693/719/55 706/736/55 705/737/55 -f 700/714/56 713/738/56 712/739/56 -f 698/721/57 709/740/57 697/722/57 -f 693/719/58 716/741/58 704/723/58 -f 694/725/59 707/742/59 706/736/59 -f 702/732/60 713/743/60 701/744/60 -f 699/715/61 710/745/61 698/721/61 -f 696/717/62 707/746/62 695/727/62 -f 708/747/63 719/748/63 707/749/63 -f 715/750/64 726/751/64 714/731/64 -f 712/739/65 723/752/65 711/733/65 -f 709/753/66 720/754/66 708/747/66 -f 715/750/67 728/755/67 727/756/67 -f 706/736/68 717/757/68 705/737/68 -f 712/739/69 725/758/69 724/759/69 -f 710/760/70 721/761/70 709/753/70 -f 716/741/71 717/757/71 728/762/71 -f 706/763/72 719/748/72 718/764/72 -f 714/731/73 725/765/73 713/743/73 -f 711/733/74 722/766/74 710/745/74 -f 727/756/11 717/767/11 721/761/11 -f 777/768/12 781/769/12 779/770/12 -f 736/771/75 739/772/75 735/773/75 -f 730/774/11 734/775/11 729/776/11 -f 732/777/12 735/773/12 730/778/12 -f 729/779/14 733/780/14 731/781/14 -f 731/782/13 736/783/13 732/784/13 -f 739/785/2 737/786/2 738/787/2 -f 734/788/76 737/789/76 733/780/76 -f 733/790/77 740/791/77 736/783/77 -f 734/775/78 739/792/78 738/793/78 -f 780/794/14 783/795/14 778/796/14 -f 748/797/79 751/798/79 747/799/79 -f 742/800/80 746/801/80 741/802/80 -f 744/803/30 747/799/30 742/804/30 -f 743/805/27 746/806/27 745/807/27 -f 743/808/81 748/809/81 744/810/81 -f 751/811/82 749/812/82 750/813/82 -f 746/806/83 749/814/83 745/807/83 -f 745/815/84 752/816/84 748/809/84 -f 746/801/85 751/817/85 750/818/85 -f 778/819/11 782/820/11 777/821/11 -f 759/822/86 764/823/86 763/824/86 -f 754/825/87 758/826/87 753/827/87 -f 756/828/12 759/822/12 754/829/12 -f 755/830/14 758/831/14 757/832/14 -f 755/833/88 760/834/88 756/835/88 -f 763/836/89 761/837/89 762/838/89 -f 757/832/90 762/839/90 761/840/90 -f 757/841/91 764/842/91 760/834/91 -f 758/826/92 763/836/92 762/838/92 -f 784/843/93 787/844/93 783/845/93 -f 772/846/94 775/847/94 771/848/94 -f 766/849/95 770/850/95 765/851/95 -f 768/852/12 771/848/12 766/853/12 -f 765/854/14 769/855/14 767/856/14 -f 767/857/96 772/858/96 768/859/96 -f 775/860/97 773/861/97 774/862/97 -f 769/855/98 774/863/98 773/864/98 -f 769/865/99 776/866/99 772/858/99 -f 770/850/100 775/860/100 774/862/100 -f 779/867/13 784/868/13 780/869/13 -f 787/844/1 785/870/1 786/871/1 -f 782/872/101 785/873/101 781/769/101 -f 781/874/102 788/875/102 784/843/102 -f 782/820/103 787/876/103 786/877/103 -f 801/878/1 805/879/1 803/880/1 -f 796/881/104 799/882/104 795/883/104 -f 790/884/11 794/885/11 789/886/11 -f 792/887/1 795/888/1 790/889/1 -f 789/890/2 793/891/2 791/892/2 -f 791/892/13 796/893/13 792/894/13 -f 799/882/12 797/895/12 798/896/12 -f 794/897/105 797/898/105 793/891/105 -f 793/891/106 800/899/106 796/893/106 -f 794/885/107 799/900/107 798/901/107 -f 804/902/2 807/903/2 802/904/2 -f 802/905/11 806/906/11 801/907/11 -f 808/908/25 811/909/25 807/910/25 -f 803/911/13 808/912/13 804/902/13 -f 811/909/14 809/913/14 810/914/14 -f 806/915/108 809/916/108 805/879/108 -f 805/917/109 812/918/109 808/912/109 -f 806/906/110 811/919/110 810/920/110 -f 825/921/111 829/922/111 827/923/111 -f 820/924/112 823/925/112 819/926/112 -f 813/927/11 819/928/11 818/929/11 -f 816/930/111 819/926/111 814/931/111 -f 813/932/113 817/933/113 815/934/113 -f 816/935/13 817/936/13 820/937/13 -f 823/938/114 821/939/114 822/940/114 -f 818/941/115 821/942/115 817/933/115 -f 817/936/116 824/943/116 820/937/116 -f 818/929/117 823/944/117 822/945/117 -f 828/946/113 831/947/113 826/948/113 -f 826/949/11 830/950/11 825/951/11 -f 832/952/118 835/953/118 831/947/118 -f 827/954/13 832/955/13 828/956/13 -f 835/957/119 833/958/119 834/959/119 -f 830/960/120 833/961/120 829/922/120 -f 829/962/121 836/963/121 832/964/121 -f 830/950/122 835/965/122 834/966/122 -f 849/967/119 853/968/119 851/969/119 -f 844/970/123 847/971/123 843/972/123 -f 837/973/11 843/974/11 842/975/11 -f 840/976/119 843/972/119 838/977/119 -f 837/978/114 841/979/114 839/980/114 -f 839/980/13 844/981/13 840/982/13 -f 847/983/111 845/984/111 846/985/111 -f 842/986/124 845/987/124 841/979/124 -f 841/979/125 848/988/125 844/981/125 -f 842/975/126 847/989/126 846/990/126 -f 852/991/114 855/992/114 850/993/114 -f 849/994/11 855/995/11 854/996/11 -f 856/997/127 859/998/127 855/992/127 -f 851/999/13 856/997/13 852/991/13 -f 859/1000/113 857/1001/113 858/1002/113 -f 854/1003/128 857/1004/128 853/968/128 -f 853/1005/129 860/1006/129 856/997/129 -f 854/996/130 859/1007/130 858/1008/130 -f 873/1009/131 877/1010/131 875/1011/131 -f 868/1012/132 871/1013/132 867/1014/132 -f 862/1015/11 866/1016/11 861/1017/11 -f 864/1018/131 867/1019/131 862/1020/131 -f 861/1021/133 865/1022/133 863/1023/133 -f 864/1024/13 865/1022/13 868/1025/13 -f 871/1013/134 869/1026/134 870/1027/134 -f 866/1028/135 869/1029/135 865/1030/135 -f 865/1022/136 872/1031/136 868/1025/136 -f 866/1016/137 871/1032/137 870/1033/137 -f 876/1034/133 879/1035/133 874/1036/133 -f 874/1037/11 878/1038/11 873/1039/11 -f 880/1040/138 883/1041/138 879/1042/138 -f 875/1043/13 880/1044/13 876/1034/13 -f 883/1041/139 881/1045/139 882/1046/139 -f 878/1047/140 881/1048/140 877/1049/140 -f 877/1050/141 884/1051/141 880/1044/141 -f 878/1038/142 883/1052/142 882/1053/142 -f 897/1054/139 901/1055/139 899/1056/139 -f 892/1057/143 895/1058/143 891/1059/143 -f 885/1060/11 891/1061/11 890/1062/11 -f 888/1063/139 891/1064/139 886/1065/139 -f 885/1066/134 889/1067/134 887/1068/134 -f 888/1069/13 889/1070/13 892/1071/13 -f 895/1058/131 893/1072/131 894/1073/131 -f 890/1074/144 893/1075/144 889/1067/144 -f 889/1076/145 896/1077/145 892/1057/145 -f 890/1062/146 895/1078/146 894/1079/146 -f 900/1080/134 903/1081/134 898/1082/134 -f 898/1083/11 902/1084/11 897/1085/11 -f 904/1086/147 907/1087/147 903/1088/147 -f 899/1089/13 904/1086/13 900/1090/13 -f 907/1087/133 905/1091/133 906/1092/133 -f 902/1093/148 905/1094/148 901/1095/148 -f 901/1096/149 908/1097/149 904/1086/149 -f 902/1084/150 907/1098/150 906/1099/150 -f 915/1100/151 920/1101/151 919/1102/151 -f 909/1103/152 915/1104/152 914/1105/152 -f 912/1106/38 915/1100/38 910/1107/38 -f 911/1108/35 914/1109/35 913/1110/35 -f 911/1111/153 916/1112/153 912/1113/153 -f 918/1114/154 920/1101/154 917/1115/154 -f 914/1109/155 917/1116/155 913/1110/155 -f 913/1117/156 920/1118/156 916/1112/156 -f 914/1105/157 919/1119/157 918/1120/157 -f 928/1121/158 931/1122/158 927/1123/158 -f 922/1124/159 926/1125/159 921/1126/159 -f 924/1127/34 927/1128/34 922/1129/34 -f 923/1130/32 926/1131/32 925/1132/32 -f 924/1133/160 925/1132/160 928/1134/160 -f 931/1122/161 929/1135/161 930/1136/161 -f 926/1137/162 929/1138/162 925/1139/162 -f 925/1132/163 932/1140/163 928/1134/163 -f 926/1125/164 931/1141/164 930/1142/164 -f 940/1143/165 943/1144/165 939/1145/165 -f 934/1146/166 938/1147/166 933/1148/166 -f 936/1149/29 939/1150/29 934/1151/29 -f 935/1152/31 938/1153/31 937/1154/31 -f 936/1149/167 937/1155/167 940/1156/167 -f 943/1144/168 941/1157/168 942/1158/168 -f 937/1154/169 942/1159/169 941/1160/169 -f 937/1155/170 944/1161/170 940/1156/170 -f 938/1147/171 943/1162/171 942/1163/171 -f 951/1164/172 956/1165/172 955/1166/172 -f 945/1167/173 951/1168/173 950/1169/173 -f 948/1170/37 951/1171/37 946/1172/37 -f 947/1173/28 950/1174/28 949/1175/28 -f 947/1176/174 952/1177/174 948/1178/174 -f 954/1179/175 956/1180/175 953/1181/175 -f 950/1182/176 953/1183/176 949/1184/176 -f 949/1185/177 956/1165/177 952/1177/177 -f 950/1169/178 955/1186/178 954/1187/178 -f 963/1188/179 968/1189/179 967/1190/179 -f 958/1191/180 962/1192/180 957/1193/180 -f 960/1194/33 963/1195/33 958/1196/33 -f 959/1197/36 962/1198/36 961/1199/36 -f 960/1200/181 961/1201/181 964/1202/181 -f 967/1190/182 965/1203/182 966/1204/182 -f 962/1198/183 965/1205/183 961/1199/183 -f 961/1201/184 968/1189/184 964/1202/184 -f 962/1192/185 967/1206/185 966/1207/185 -f 975/1208/186 980/1209/186 979/1210/186 -f 970/1211/187 974/1212/187 969/1213/187 -f 972/1214/27 975/1208/27 970/1215/27 -f 969/1216/30 973/1217/30 971/1218/30 -f 972/1219/188 973/1220/188 976/1221/188 -f 979/1222/189 977/1223/189 978/1224/189 -f 973/1217/190 978/1225/190 977/1226/190 -f 973/1227/191 980/1228/191 976/1229/191 -f 974/1212/192 979/1230/192 978/1231/192 -f 988/1232/193 991/1233/193 987/1234/193 -f 982/1235/194 986/1236/194 981/1237/194 -f 982/1238/35 988/1232/35 987/1234/35 -f 983/1239/38 986/1240/38 985/1241/38 -f 983/1242/195 988/1243/195 984/1244/195 -f 990/1245/196 992/1246/196 989/1247/196 -f 985/1241/197 990/1248/197 989/1249/197 -f 985/1250/198 992/1251/198 988/1252/198 -f 986/1236/199 991/1253/199 990/1254/199 -f 999/1255/200 1004/1256/200 1003/1257/200 -f 993/1258/201 999/1259/201 998/1260/201 -f 996/1261/32 999/1262/32 994/1263/32 -f 995/1264/34 998/1265/34 997/1266/34 -f 995/1267/202 1000/1268/202 996/1261/202 -f 1003/1257/203 1001/1269/203 1002/1270/203 -f 998/1265/204 1001/1271/204 997/1266/204 -f 997/1272/205 1004/1256/205 1000/1273/205 -f 998/1260/206 1003/1274/206 1002/1275/206 -f 1012/1276/207 1015/1277/207 1011/1278/207 -f 1006/1279/208 1010/1280/208 1005/1281/208 -f 1008/1282/31 1011/1283/31 1006/1284/31 -f 1007/1285/29 1010/1286/29 1009/1287/29 -f 1008/1288/209 1009/1287/209 1012/1289/209 -f 1015/1277/210 1013/1290/210 1014/1291/210 -f 1010/1286/211 1013/1292/211 1009/1287/211 -f 1009/1293/212 1016/1294/212 1012/1276/212 -f 1010/1280/213 1015/1295/213 1014/1296/213 -f 1023/1297/214 1028/1298/214 1027/1299/214 -f 1018/1300/215 1022/1301/215 1017/1302/215 -f 1020/1303/28 1023/1304/28 1018/1305/28 -f 1019/1306/37 1022/1307/37 1021/1308/37 -f 1019/1309/216 1024/1310/216 1020/1311/216 -f 1027/1312/217 1025/1313/217 1026/1314/217 -f 1022/1315/218 1025/1316/218 1021/1317/218 -f 1021/1318/219 1028/1298/219 1024/1319/219 -f 1022/1301/220 1027/1320/220 1026/1321/220 -f 1036/1322/221 1039/1323/221 1035/1324/221 -f 1030/1325/222 1034/1326/222 1029/1327/222 -f 1032/1328/36 1035/1329/36 1030/1330/36 -f 1031/1331/33 1034/1332/33 1033/1333/33 -f 1031/1334/223 1036/1335/223 1032/1336/223 -f 1039/1323/224 1037/1337/224 1038/1338/224 -f 1034/1332/225 1037/1339/225 1033/1333/225 -f 1033/1340/226 1040/1341/226 1036/1322/226 -f 1034/1326/227 1039/1342/227 1038/1343/227 -f 1047/1344/228 1052/1345/228 1051/1346/228 -f 1042/1347/229 1046/1348/229 1041/1349/229 -f 1044/1350/14 1047/1351/14 1042/1352/14 -f 1043/1353/12 1046/1354/12 1045/1355/12 -f 1044/1356/230 1045/1357/230 1048/1358/230 -f 1051/1346/231 1049/1359/231 1050/1360/231 -f 1045/1355/232 1050/1361/232 1049/1362/232 -f 1045/1357/233 1052/1345/233 1048/1358/233 -f 1046/1348/234 1051/1363/234 1050/1364/234 -f 1059/1365/235 1064/1366/235 1063/1367/235 -f 1054/1368/236 1058/1369/236 1053/1370/236 -f 1056/1371/1 1059/1372/1 1054/1373/1 -f 1055/1374/2 1058/1375/2 1057/1376/2 -f 1055/1374/237 1060/1377/237 1056/1378/237 -f 1063/1367/238 1061/1379/238 1062/1380/238 -f 1058/1375/239 1061/1381/239 1057/1376/239 -f 1057/1382/240 1064/1366/240 1060/1383/240 -f 1058/1369/241 1063/1384/241 1062/1385/241 -f 1072/1386/242 1075/1387/242 1071/1388/242 -f 1066/1389/243 1070/1390/243 1065/1391/243 -f 1068/1392/2 1071/1393/2 1066/1394/2 -f 1067/1395/1 1070/1396/1 1069/1397/1 -f 1068/1392/244 1069/1398/244 1072/1399/244 -f 1075/1387/245 1073/1400/245 1074/1401/245 -f 1070/1396/246 1073/1402/246 1069/1397/246 -f 1069/1403/247 1076/1404/247 1072/1386/247 -f 1070/1390/248 1075/1405/248 1074/1406/248 -f 1083/1407/249 1088/1408/249 1087/1409/249 -f 1077/1410/250 1083/1411/250 1082/1412/250 -f 1080/1413/38 1083/1407/38 1078/1414/38 -f 1079/1415/35 1082/1416/35 1081/1417/35 -f 1079/1418/251 1084/1419/251 1080/1420/251 -f 1087/1409/252 1085/1421/252 1086/1422/252 -f 1081/1417/253 1086/1423/253 1085/1424/253 -f 1081/1425/254 1088/1426/254 1084/1419/254 -f 1082/1412/255 1087/1427/255 1086/1428/255 -f 1095/1429/256 1100/1430/256 1099/1431/256 -f 1090/1432/257 1094/1433/257 1089/1434/257 -f 1092/1435/35 1095/1429/35 1090/1436/35 -f 1091/1437/38 1094/1438/38 1093/1439/38 -f 1091/1440/258 1096/1441/258 1092/1442/258 -f 1098/1443/259 1100/1430/259 1097/1444/259 -f 1094/1438/260 1097/1445/260 1093/1439/260 -f 1093/1446/261 1100/1447/261 1096/1441/261 -f 1094/1433/262 1099/1448/262 1098/1449/262 -f 1108/1450/263 1111/1451/263 1107/1452/263 -f 1101/1453/264 1107/1454/264 1106/1455/264 -f 1104/1456/28 1107/1457/28 1102/1458/28 -f 1101/1459/37 1105/1460/37 1103/1461/37 -f 1103/1462/265 1108/1450/265 1104/1463/265 -f 1111/1464/266 1109/1465/266 1110/1466/266 -f 1105/1467/267 1110/1468/267 1109/1469/267 -f 1105/1470/268 1112/1471/268 1108/1450/268 -f 1106/1455/269 1111/1472/269 1110/1473/269 -f 1119/1474/270 1124/1475/270 1123/1476/270 -f 1113/1477/271 1119/1474/271 1118/1478/271 -f 1116/1479/37 1119/1480/37 1114/1481/37 -f 1115/1482/28 1118/1483/28 1117/1484/28 -f 1116/1485/272 1117/1486/272 1120/1487/272 -f 1123/1488/273 1121/1489/273 1122/1490/273 -f 1117/1491/274 1122/1492/274 1121/1493/274 -f 1117/1486/275 1124/1494/275 1120/1487/275 -f 1118/1478/276 1123/1476/276 1122/1495/276 -f 1132/1496/277 1135/1497/277 1131/1498/277 -f 1126/1499/278 1130/1500/278 1125/1501/278 -f 1128/1502/14 1131/1503/14 1126/1504/14 -f 1125/1505/12 1129/1506/12 1127/1507/12 -f 1127/1508/279 1132/1496/279 1128/1509/279 -f 1135/1497/280 1133/1510/280 1134/1511/280 -f 1129/1506/281 1134/1512/281 1133/1513/281 -f 1129/1514/282 1136/1515/282 1132/1496/282 -f 1130/1500/283 1135/1516/283 1134/1517/283 -f 1143/1518/284 1148/1519/284 1147/1520/284 -f 1138/1521/285 1142/1522/285 1137/1523/285 -f 1138/1524/131 1144/1525/131 1143/1526/131 -f 1137/1527/133 1141/1528/133 1139/1529/133 -f 1139/1529/286 1144/1530/286 1140/1531/286 -f 1147/1520/287 1145/1532/287 1146/1533/287 -f 1142/1534/288 1145/1535/288 1141/1536/288 -f 1141/1537/289 1148/1519/289 1144/1538/289 -f 1142/1522/290 1147/1539/290 1146/1540/290 -f 1156/1541/291 1159/1542/291 1155/1543/291 -f 1150/1544/292 1154/1545/292 1149/1546/292 -f 1152/1547/133 1155/1548/133 1150/1549/133 -f 1151/1550/131 1154/1551/131 1153/1552/131 -f 1152/1553/293 1153/1552/293 1156/1554/293 -f 1159/1542/294 1157/1555/294 1158/1556/294 -f 1154/1557/295 1157/1558/295 1153/1559/295 -f 1153/1560/296 1160/1561/296 1156/1541/296 -f 1154/1545/297 1159/1562/297 1158/1563/297 -f 1168/1564/298 1171/1565/298 1167/1566/298 -f 1162/1567/299 1166/1568/299 1161/1569/299 -f 1164/1570/119 1167/1566/119 1162/1571/119 -f 1161/1572/114 1165/1573/114 1163/1574/114 -f 1164/1570/300 1165/1575/300 1168/1564/300 -f 1171/1576/301 1169/1577/301 1170/1578/301 -f 1166/1579/302 1169/1580/302 1165/1573/302 -f 1165/1581/303 1172/1582/303 1168/1583/303 -f 1166/1568/304 1171/1584/304 1170/1585/304 -f 1179/1586/305 1184/1587/305 1183/1588/305 -f 1174/1589/306 1178/1590/306 1173/1591/306 -f 1176/1592/114 1179/1593/114 1174/1594/114 -f 1175/1595/119 1178/1596/119 1177/1597/119 -f 1176/1592/307 1177/1598/307 1180/1599/307 -f 1183/1600/308 1181/1601/308 1182/1602/308 -f 1178/1596/309 1181/1603/309 1177/1597/309 -f 1177/1604/310 1184/1605/310 1180/1606/310 -f 1178/1590/311 1183/1588/311 1182/1607/311 -f 1200/1608/23 1191/1609/23 1192/1610/23 -f 1198/1611/22 1189/1612/22 1190/1613/22 -f 1196/1614/21 1187/1615/21 1188/1616/21 -f 1194/1617/24 1185/1618/24 1186/1619/24 -f 1185/1618/19 1200/1620/19 1192/1621/19 -f 1191/1609/20 1198/1622/20 1190/1623/20 -f 1189/1612/17 1196/1624/17 1188/1625/17 -f 1187/1615/18 1194/1626/18 1186/1627/18 -f 1193/1628/312 1194/1629/312 1200/1630/312 -f 1199/1631/313 1200/1632/313 1198/1633/313 -f 1197/1634/314 1198/1635/314 1196/1636/314 -f 1195/1637/315 1196/1638/315 1194/1639/315 -f 1194/1640/11 1198/1641/11 1200/1642/11 -f 675/695/316 1206/1643/316 1207/1644/316 -f 671/700/317 1204/1645/317 672/698/317 -f 678/692/318 1211/1646/318 679/701/318 -f 675/1647/319 1208/1648/319 676/1649/319 -f 673/705/320 1204/1645/320 1205/1650/320 -f 679/701/321 1212/1651/321 680/1652/321 -f 669/686/322 1202/1653/322 670/691/322 -f 677/694/323 1208/1648/323 1209/1654/323 -f 673/705/324 1206/1655/324 674/1656/324 -f 680/1652/325 1201/1657/325 669/1658/325 -f 670/1659/326 1203/1660/326 671/700/326 -f 677/694/327 1210/1661/327 678/692/327 -f 1205/1662/13 1203/1663/13 1211/1646/13 -f 1215/1664/12 1214/1665/12 1213/1666/12 -f 1219/1667/11 1222/1668/11 1218/1669/11 -f 1215/1670/13 1220/1671/13 1216/1672/13 -f 1214/1673/11 1218/1669/11 1213/1674/11 -f 1216/1672/2 1219/1675/2 1214/1676/2 -f 1213/1677/1 1217/1678/1 1215/1679/1 -f 1223/1680/14 1221/1681/14 1222/1682/14 -f 1219/1675/2 1224/1683/2 1223/1684/2 -f 1218/1685/1 1221/1686/1 1217/1678/1 -f 1217/1687/328 1224/1688/328 1220/1689/328 -f 1227/1690/12 1226/1691/12 1225/1692/12 -f 1231/1693/14 1229/1694/14 1230/1695/14 -f 1227/1696/13 1232/1697/13 1228/1698/13 -f 1226/1699/11 1230/1700/11 1225/1701/11 -f 1228/1698/2 1231/1702/2 1226/1703/2 -f 1225/1704/1 1229/1705/1 1227/1706/1 -f 1235/1707/12 1234/1708/12 1233/1709/12 -f 1239/1710/14 1237/1711/14 1238/1712/14 -f 1236/1713/2 1239/1714/2 1234/1715/2 -f 1233/1716/1 1237/1717/1 1235/1718/1 -f 1235/1719/13 1240/1720/13 1236/1713/13 -f 1234/1721/11 1238/1722/11 1233/1723/11 -f 1256/1724/13 1251/1725/13 1252/1726/13 -f 1254/1727/11 1250/1728/11 1249/1729/11 -f 1248/1730/13 1243/1731/13 1244/1732/13 -f 1246/1733/11 1242/1734/11 1241/1735/11 -f 1247/1736/2 1244/1732/2 1242/1737/2 -f 1245/1738/1 1241/1739/1 1243/1740/1 -f 1255/1741/2 1252/1726/2 1250/1742/2 -f 1253/1743/1 1249/1744/1 1251/1745/1 -f 1289/1746/11 1454/1747/11 1452/1748/11 -f 1292/1749/13 1450/1750/13 1448/1751/13 -f 1259/1752/13 1264/1753/13 1260/1754/13 -f 1258/1755/11 1261/1756/11 1257/1757/11 -f 1260/1754/2 1262/1758/2 1258/1759/2 -f 1257/1760/1 1263/1761/1 1259/1762/1 -f 1267/1763/13 1272/1764/13 1268/1765/13 -f 1266/1766/11 1269/1767/11 1265/1768/11 -f 1268/1765/2 1270/1769/2 1266/1770/2 -f 1265/1771/1 1271/1772/1 1267/1773/1 -f 1295/1774/14 1293/1775/14 1294/1776/14 -f 1291/1777/12 1290/1778/12 1289/1779/12 -f 1275/1780/13 1280/1781/13 1276/1782/13 -f 1274/1783/11 1277/1784/11 1273/1785/11 -f 1276/1782/2 1278/1786/2 1274/1787/2 -f 1273/1788/1 1279/1789/1 1275/1790/1 -f 1283/1791/13 1288/1792/13 1284/1793/13 -f 1282/1794/11 1285/1795/11 1281/1796/11 -f 1284/1793/2 1286/1797/2 1282/1798/2 -f 1281/1799/1 1287/1800/1 1283/1801/1 -f 1291/1802/13 1296/1803/13 1292/1749/13 -f 1290/1804/11 1294/1805/11 1289/1746/11 -f 1299/1806/12 1298/1807/12 1297/1808/12 -f 1303/1809/14 1301/1810/14 1302/1811/14 -f 1299/1812/13 1304/1813/13 1300/1814/13 -f 1298/1815/11 1302/1816/11 1297/1817/11 -f 1300/1814/2 1303/1818/2 1298/1819/2 -f 1297/1820/1 1301/1821/1 1299/1822/1 -f 1324/1823/11 1314/1824/11 1321/1825/11 -f 1328/1826/2 1324/1827/2 1322/1828/2 -f 1310/1829/12 1311/1830/12 1312/1831/12 -f 1319/1832/14 1323/1833/14 1328/1834/14 -f 1316/1835/1 1320/1836/1 1318/1837/1 -f 1320/1838/13 1326/1839/13 1317/1840/13 -f 1318/1841/15 1326/1842/15 1325/1843/15 -f 1328/1834/329 1320/1844/329 1319/1832/329 -f 1322/1845/16 1314/1846/16 1313/1847/16 -f 1316/1848/330 1324/1849/330 1323/1833/330 -f 1325/1843/12 1313/1847/12 1318/1841/12 -f 1305/1850/14 1308/1851/14 1307/1852/14 -f 1311/1853/11 1307/1854/11 1312/1855/11 -f 1312/1856/1 1308/1857/1 1310/1858/1 -f 1309/1859/2 1305/1860/2 1311/1861/2 -f 1310/1862/13 1306/1863/13 1309/1859/13 -f 1332/1864/329 1337/1865/329 1331/1866/329 -f 1335/1867/11 1333/1868/11 1334/1869/11 -f 1331/1866/14 1336/1870/14 1332/1864/14 -f 1330/1871/12 1334/1872/12 1329/1873/12 -f 1332/1874/2 1335/1875/2 1330/1876/2 -f 1329/1877/1 1333/1878/1 1331/1879/1 -f 1337/1880/13 1339/1881/13 1338/1882/13 -f 1329/1873/15 1339/1883/15 1330/1871/15 -f 1330/1876/331 1340/1884/331 1332/1874/331 -f 1331/1879/332 1338/1885/332 1329/1877/332 -f 1347/1886/11 1345/1887/11 1346/1888/11 -f 1341/1889/14 1348/1890/14 1344/1891/14 -f 1343/1892/12 1346/1893/12 1342/1894/12 -f 1344/1895/2 1347/1896/2 1343/1897/2 -f 1342/1898/1 1345/1899/1 1341/1900/1 -f 1356/1901/333 1350/1902/333 1352/1903/333 -f 1353/1904/334 1351/1905/334 1349/1906/334 -f 1351/1907/13 1356/1901/13 1352/1903/13 -f 1354/1908/11 1349/1909/11 1350/1910/11 -f 1364/1911/335 1358/1912/335 1360/1913/335 -f 1361/1914/336 1359/1915/336 1357/1916/336 -f 1363/1917/13 1360/1913/13 1359/1918/13 -f 1358/1919/11 1361/1920/11 1357/1921/11 -f 1448/1751/2 1449/1922/2 1447/1923/2 -f 1295/1774/337 1450/1924/337 1296/1925/337 -f 1292/1926/338 1447/1927/338 1290/1778/338 -f 1290/1804/11 1449/1928/11 1295/1929/11 -f 1452/1930/1 1453/1931/1 1451/1932/1 -f 1293/1775/339 1454/1933/339 1294/1776/339 -f 1289/1779/340 1451/1934/340 1291/1777/340 -f 1291/1802/13 1453/1935/13 1293/1936/13 -f 1502/1937/14 1496/1938/14 1499/1939/14 -f 1491/1940/14 1493/1941/14 1488/1942/14 -f 74/1/1 73/203/1 114/2/1 -f 14/4/1 13/88/1 54/5/1 -f 12/7/2 44/64/2 43/8/2 -f 23/1943/1 21/1944/1 22/10/1 -f 22/10/1 28/1945/1 27/11/1 -f 27/11/1 26/1946/1 25/12/1 -f 25/12/1 24/1947/1 23/1943/1 -f 23/1943/1 22/10/1 25/12/1 -f 11/9/3 27/26/3 28/13/3 -f 9/14/4 25/28/4 26/15/4 -f 7/17/5 23/30/5 24/18/5 -f 5/20/6 22/24/6 21/21/6 -f 12/23/7 28/1948/7 22/24/7 -f 10/25/8 26/1949/8 27/26/8 -f 9/14/9 8/1950/9 24/27/9 -f 6/29/10 21/1951/10 23/30/10 -f 30/1952/2 29/1953/2 31/31/2 -f 31/31/2 32/1954/2 33/32/2 -f 33/32/2 34/40/2 35/33/2 -f 35/33/2 36/1955/2 30/1952/2 -f 30/1952/2 31/31/2 35/33/2 -f 14/34/6 29/1956/6 30/35/6 -f 13/36/7 30/35/7 36/37/7 -f 19/39/8 35/33/8 34/40/8 -f 17/42/9 33/50/9 32/43/9 -f 15/45/10 31/52/10 29/46/10 -f 20/48/3 36/1955/3 35/33/3 -f 17/42/4 18/1957/4 34/49/4 -f 16/51/5 32/1958/5 31/52/5 -f 41/53/4 42/1959/4 50/54/4 -f 10/25/2 42/65/2 41/56/2 -f 8/58/2 40/66/2 39/59/2 -f 6/61/2 37/67/2 38/62/2 -f 12/7/2 5/63/2 38/62/2 -f 11/9/2 43/8/2 42/65/2 -f 9/57/2 41/56/2 40/66/2 -f 6/61/2 7/60/2 39/59/2 -f 46/70/2 45/1960/2 49/68/2 -f 45/1960/2 47/1961/2 49/68/2 -f 47/1961/2 48/1962/2 49/68/2 -f 49/68/2 50/79/2 51/69/2 -f 51/69/2 52/84/2 46/70/2 -f 40/71/5 48/1963/5 47/72/5 -f 37/74/6 45/1964/6 46/75/6 -f 38/76/7 46/75/7 52/77/7 -f 43/8/8 51/69/8 50/79/8 -f 41/53/9 49/55/9 48/80/9 -f 39/73/10 47/72/10 45/82/10 -f 43/8/3 44/64/3 52/84/3 -f 58/85/8 66/1965/8 67/86/8 -f 13/88/1 20/98/1 60/89/1 -f 19/90/1 18/99/1 58/91/1 -f 16/93/1 56/100/1 57/94/1 -f 14/4/1 53/6/1 55/96/1 -f 19/90/1 59/92/1 60/89/1 -f 17/95/1 57/94/1 58/91/1 -f 16/93/1 15/97/1 55/96/1 -f 63/102/1 61/1966/1 67/103/1 -f 61/1966/1 62/1967/1 67/103/1 -f 62/1967/1 68/1968/1 67/103/1 -f 67/103/1 66/1969/1 65/1970/1 -f 65/1970/1 64/101/1 67/103/1 -f 56/104/9 64/1971/9 65/105/9 -f 53/107/10 61/1972/10 63/108/10 -f 60/110/3 59/87/3 67/86/3 -f 58/112/4 57/106/4 65/105/4 -f 55/109/5 63/108/5 64/114/5 -f 54/116/6 62/120/6 61/117/6 -f 60/119/7 68/1973/7 62/120/7 -f 71/121/2 72/128/2 104/122/2 -f 83/1974/1 81/1975/1 82/124/1 -f 82/124/1 88/1976/1 87/125/1 -f 87/125/1 86/1977/1 85/126/1 -f 85/126/1 84/1978/1 83/1974/1 -f 83/1974/1 82/124/1 85/126/1 -f 71/121/3 87/141/3 88/127/3 -f 69/129/4 85/143/4 86/130/4 -f 2/132/5 83/145/5 84/133/5 -f 4/135/6 82/139/6 81/136/6 -f 72/138/7 88/1979/7 82/139/7 -f 70/140/8 86/1980/8 87/141/8 -f 69/129/9 1/1981/9 84/142/9 -f 3/144/10 81/1982/10 83/145/10 -f 90/147/2 89/1983/2 91/1984/2 -f 91/1984/2 92/1985/2 90/147/2 -f 92/1985/2 93/148/2 90/147/2 -f 93/148/2 94/155/2 95/164/2 -f 95/164/2 96/146/2 93/148/2 -f 74/149/6 89/1986/6 90/150/6 -f 73/151/7 90/150/7 96/152/7 -f 79/154/8 95/164/8 94/155/8 -f 77/157/9 93/166/9 92/158/9 -f 75/160/10 91/168/10 89/161/10 -f 80/163/3 96/146/3 95/164/3 -f 77/157/4 78/1987/4 94/165/4 -f 76/167/5 92/1988/5 91/168/5 -f 102/169/4 110/1989/4 109/170/4 -f 70/140/2 102/180/2 101/172/2 -f 2/174/2 1/181/2 100/175/2 -f 3/177/2 97/182/2 98/178/2 -f 72/128/2 4/179/2 98/178/2 -f 71/121/2 103/123/2 102/180/2 -f 1/181/2 69/173/2 101/172/2 -f 2/174/2 99/176/2 97/182/2 -f 106/185/2 105/1990/2 107/1991/2 -f 107/1991/2 108/1992/2 109/183/2 -f 109/183/2 110/194/2 111/184/2 -f 111/184/2 112/1993/2 106/185/2 -f 106/185/2 107/1991/2 109/183/2 -f 100/186/5 108/1994/5 107/187/5 -f 97/189/6 105/1995/6 106/190/6 -f 98/191/7 106/190/7 112/192/7 -f 103/123/8 111/184/8 110/194/8 -f 101/171/9 109/170/9 108/195/9 -f 99/188/10 107/187/10 105/197/10 -f 104/122/3 112/1993/3 111/184/3 -f 118/199/8 126/1996/8 127/200/8 -f 80/202/1 120/212/1 114/2/1 -f 79/204/1 78/213/1 118/205/1 -f 76/207/1 116/214/1 117/208/1 -f 75/210/1 74/1/1 113/3/1 -f 79/204/1 119/206/1 120/212/1 -f 78/213/1 77/209/1 117/208/1 -f 75/210/1 115/211/1 116/214/1 -f 123/217/1 121/1997/1 122/1998/1 -f 122/1998/1 128/1999/1 127/215/1 -f 127/215/1 126/2000/1 125/216/1 -f 125/216/1 124/2001/1 123/217/1 -f 123/217/1 122/1998/1 127/215/1 -f 116/218/9 124/2002/9 125/219/9 -f 113/221/10 121/2003/10 123/222/10 -f 119/201/3 127/200/3 128/224/3 -f 117/220/4 125/219/4 126/226/4 -f 115/223/5 123/222/5 124/228/5 -f 114/230/6 122/234/6 121/231/6 -f 120/233/7 128/2004/7 122/234/7 -f 134/235/11 130/2005/11 153/236/11 -f 154/238/12 153/2006/12 130/239/12 -f 129/241/13 133/254/13 151/242/13 -f 143/244/11 144/2007/11 140/245/11 -f 142/247/13 141/257/13 137/248/13 -f 142/250/14 144/2008/14 143/251/14 -f 129/241/2 143/256/2 139/253/2 -f 130/255/2 141/257/2 143/256/2 -f 130/255/2 134/2009/2 137/248/2 -f 132/258/1 142/2010/1 138/259/1 -f 144/261/1 142/2010/1 132/258/1 -f 131/262/1 135/2011/1 140/263/1 -f 147/264/12 148/267/12 146/265/12 -f 148/267/15 150/2012/15 149/268/15 -f 145/266/16 151/285/16 152/269/16 -f 147/271/1 152/2013/1 156/272/1 -f 156/272/1 155/2014/1 148/270/1 -f 155/2014/1 150/2015/1 148/270/1 -f 146/274/2 149/2016/2 153/275/2 -f 153/275/2 154/243/2 145/273/2 -f 154/243/2 151/242/2 145/273/2 -f 132/276/12 155/2017/12 156/277/12 -f 136/279/11 150/2018/11 155/280/11 -f 156/282/13 152/2019/13 135/283/13 -f 151/285/12 133/2020/12 139/286/12 -f 139/286/12 140/2021/12 152/269/12 -f 140/2021/12 135/2022/12 152/269/12 -f 149/268/12 150/2012/12 138/2023/12 -f 150/2012/12 136/2024/12 138/2023/12 -f 138/2023/12 137/287/12 149/268/12 -f 230/289/1 229/491/1 270/290/1 -f 170/292/1 169/378/1 210/293/1 -f 167/295/2 168/302/2 200/296/2 -f 179/2025/1 177/2026/1 178/298/1 -f 178/298/1 184/2027/1 183/299/1 -f 183/299/1 182/2028/1 181/300/1 -f 181/300/1 180/2029/1 179/2025/1 -f 179/2025/1 178/298/1 181/300/1 -f 167/295/3 183/315/3 184/301/3 -f 165/303/4 181/317/4 182/304/4 -f 163/306/5 179/319/5 180/307/5 -f 161/309/6 178/313/6 177/310/6 -f 168/312/7 184/2030/7 178/313/7 -f 167/295/8 166/346/8 182/314/8 -f 165/303/9 164/2031/9 180/316/9 -f 162/318/10 177/2032/10 179/319/10 -f 186/321/2 185/2033/2 187/2034/2 -f 187/2034/2 188/2035/2 186/321/2 -f 188/2035/2 189/322/2 186/321/2 -f 189/322/2 190/329/2 191/338/2 -f 191/338/2 192/320/2 189/322/2 -f 170/323/6 185/2036/6 186/324/6 -f 169/325/7 186/324/7 192/326/7 -f 175/328/8 191/338/8 190/329/8 -f 173/331/9 189/340/9 188/332/9 -f 171/334/10 187/342/10 185/335/10 -f 176/337/3 192/320/3 191/338/3 -f 173/331/4 174/2037/4 190/339/4 -f 171/334/5 172/2038/5 188/341/5 -f 198/343/4 206/2039/4 205/344/4 -f 166/346/2 198/355/2 197/347/2 -f 164/349/2 196/356/2 195/350/2 -f 162/352/2 193/357/2 194/353/2 -f 168/302/2 161/354/2 194/353/2 -f 167/295/2 199/297/2 198/355/2 -f 165/348/2 197/347/2 196/356/2 -f 162/352/2 163/351/2 195/350/2 -f 202/360/2 201/2040/2 205/358/2 -f 201/2040/2 203/2041/2 205/358/2 -f 203/2041/2 204/2042/2 205/358/2 -f 205/358/2 206/369/2 207/359/2 -f 207/359/2 208/2043/2 202/360/2 -f 196/361/5 204/2044/5 203/362/5 -f 193/364/6 201/2045/6 202/365/6 -f 194/366/7 202/365/7 208/367/7 -f 199/297/8 207/359/8 206/369/8 -f 197/345/9 205/344/9 204/370/9 -f 195/363/10 203/362/10 201/372/10 -f 200/296/3 208/2043/3 207/359/3 -f 214/374/8 222/2046/8 223/375/8 -f 176/377/1 216/387/1 210/293/1 -f 175/379/1 174/388/1 214/380/1 -f 172/382/1 212/389/1 213/383/1 -f 170/292/1 209/294/1 211/385/1 -f 175/379/1 215/381/1 216/387/1 -f 174/388/1 173/384/1 213/383/1 -f 172/382/1 171/386/1 211/385/1 -f 219/391/1 217/2047/1 223/392/1 -f 217/2047/1 218/2048/1 223/392/1 -f 218/2048/1 224/2049/1 223/392/1 -f 223/392/1 222/2050/1 221/2051/1 -f 221/2051/1 220/390/1 223/392/1 -f 212/393/9 220/2052/9 221/394/9 -f 209/396/10 217/2053/10 219/397/10 -f 215/376/3 223/375/3 224/399/3 -f 213/395/4 221/394/4 222/401/4 -f 211/398/5 219/397/5 220/403/5 -f 210/405/6 218/409/6 217/406/6 -f 216/408/7 224/2054/7 218/409/7 -f 227/410/2 228/417/2 260/411/2 -f 239/414/1 237/2055/1 243/415/1 -f 237/2055/1 238/2056/1 243/415/1 -f 238/2056/1 244/2057/1 243/415/1 -f 243/415/1 242/2058/1 241/2059/1 -f 241/2059/1 240/413/1 243/415/1 -f 227/410/3 243/430/3 244/416/3 -f 225/418/4 241/432/4 242/419/4 -f 158/421/5 239/434/5 240/422/5 -f 160/424/6 238/428/6 237/425/6 -f 228/427/7 244/2060/7 238/428/7 -f 226/429/8 242/2061/8 243/430/8 -f 225/418/9 157/2062/9 240/431/9 -f 159/433/10 237/2063/10 239/434/10 -f 246/2064/2 245/2065/2 247/435/2 -f 247/435/2 248/2066/2 249/436/2 -f 249/436/2 250/444/2 251/437/2 -f 251/437/2 252/2067/2 246/2064/2 -f 246/2064/2 247/435/2 251/437/2 -f 230/438/6 245/2068/6 246/439/6 -f 229/440/7 246/439/7 252/441/7 -f 235/443/8 251/437/8 250/444/8 -f 233/446/9 249/454/9 248/447/9 -f 231/449/10 247/456/10 245/450/10 -f 236/452/3 252/2067/3 251/437/3 -f 233/446/4 234/2069/4 250/453/4 -f 231/449/5 232/2070/5 248/455/5 -f 258/457/4 266/2071/4 265/458/4 -f 226/429/2 258/468/2 257/460/2 -f 158/462/2 157/469/2 256/463/2 -f 159/465/2 253/470/2 254/466/2 -f 228/417/2 160/467/2 254/466/2 -f 227/410/2 259/412/2 258/468/2 -f 157/469/2 225/461/2 257/460/2 -f 158/462/2 255/464/2 253/470/2 -f 262/473/2 261/2072/2 263/2073/2 -f 263/2073/2 264/2074/2 265/471/2 -f 265/471/2 266/482/2 267/472/2 -f 267/472/2 268/2075/2 262/473/2 -f 262/473/2 263/2073/2 265/471/2 -f 256/474/5 264/2076/5 263/475/5 -f 253/477/6 261/2077/6 262/478/6 -f 254/479/7 262/478/7 268/480/7 -f 259/412/8 267/472/8 266/482/8 -f 257/459/9 265/458/9 264/483/9 -f 255/476/10 263/475/10 261/485/10 -f 260/411/3 268/2075/3 267/472/3 -f 274/487/8 282/2078/8 283/488/8 -f 236/490/1 276/500/1 270/290/1 -f 235/492/1 234/501/1 274/493/1 -f 232/495/1 272/502/1 273/496/1 -f 231/498/1 230/289/1 269/291/1 -f 235/492/1 275/494/1 276/500/1 -f 234/501/1 233/497/1 273/496/1 -f 231/498/1 271/499/1 272/502/1 -f 279/505/1 277/2079/1 278/2080/1 -f 278/2080/1 284/2081/1 283/503/1 -f 283/503/1 282/2082/1 281/504/1 -f 281/504/1 280/2083/1 279/505/1 -f 279/505/1 278/2080/1 283/503/1 -f 272/506/9 280/2084/9 281/507/9 -f 269/509/10 277/2085/10 279/510/10 -f 275/489/3 283/488/3 284/512/3 -f 273/508/4 281/507/4 282/514/4 -f 271/511/5 279/510/5 280/516/5 -f 270/518/6 278/522/6 277/519/6 -f 276/521/7 284/2086/7 278/522/7 -f 290/523/11 286/2087/11 309/524/11 -f 310/526/12 309/2088/12 286/527/12 -f 285/529/13 289/542/13 307/530/13 -f 299/532/11 300/2089/11 296/533/11 -f 298/535/13 297/545/13 293/536/13 -f 298/538/14 300/2090/14 299/539/14 -f 285/529/2 299/544/2 295/541/2 -f 286/543/2 297/545/2 299/544/2 -f 286/543/2 290/2091/2 293/536/2 -f 288/546/1 298/2092/1 294/547/1 -f 300/549/1 298/2092/1 288/546/1 -f 287/550/1 291/2093/1 296/551/1 -f 303/552/12 304/555/12 302/553/12 -f 304/555/15 306/2094/15 305/556/15 -f 301/554/16 307/573/16 308/557/16 -f 303/559/1 308/2095/1 312/560/1 -f 312/560/1 311/2096/1 304/558/1 -f 311/2096/1 306/2097/1 304/558/1 -f 302/562/2 305/2098/2 309/563/2 -f 309/563/2 310/531/2 301/561/2 -f 310/531/2 307/530/2 301/561/2 -f 288/564/12 311/2099/12 312/565/12 -f 292/567/11 306/2100/11 311/568/11 -f 312/570/13 308/2101/13 291/571/13 -f 307/573/12 289/2102/12 295/2103/12 -f 295/2103/12 296/574/12 307/573/12 -f 296/574/12 291/2104/12 308/557/12 -f 290/2105/12 305/556/12 293/576/12 -f 305/556/12 306/2094/12 294/575/12 -f 306/2094/12 292/2106/12 294/575/12 -f 315/577/12 316/2107/12 324/578/12 -f 319/580/14 320/2108/14 317/581/14 -f 315/583/13 317/2109/13 320/584/13 -f 314/586/11 319/2110/11 318/587/11 -f 319/590/2 314/2111/2 323/601/2 -f 324/589/2 316/585/2 320/584/2 -f 319/590/2 323/601/2 324/589/2 -f 317/593/1 315/2112/1 321/603/1 -f 322/591/1 313/2113/1 318/592/1 -f 317/593/1 321/603/1 322/591/1 -f 322/594/12 323/598/12 314/595/12 -f 322/594/16 326/600/16 327/597/16 -f 325/599/12 328/2114/12 327/597/12 -f 324/578/15 328/2114/15 325/599/15 -f 323/601/2 327/2115/2 328/602/2 -f 321/603/1 325/2116/1 326/604/1 -f 336/605/17 335/2117/17 662/606/17 -f 334/608/18 333/2118/18 664/609/18 -f 332/611/19 331/2119/19 666/612/19 -f 330/614/20 329/2120/20 668/615/20 -f 335/617/21 334/608/21 663/610/21 -f 338/621/11 343/2121/11 342/619/11 -f 343/2121/11 347/2122/11 342/619/11 -f 347/2122/11 346/2123/11 342/619/11 -f 339/622/12 340/2124/12 338/623/12 -f 329/625/22 336/605/22 661/607/22 -f 331/627/23 330/614/23 667/616/23 -f 344/631/13 340/647/13 339/2125/13 -f 339/2125/13 341/2126/13 344/631/13 -f 341/2126/13 345/629/13 344/631/13 -f 354/632/2 356/656/2 355/633/2 -f 341/635/1 510/676/1 512/636/1 -f 347/638/14 348/2127/14 345/639/14 -f 333/641/24 332/611/24 665/613/24 -f 344/643/25 348/2127/25 347/638/25 -f 342/645/26 346/640/26 345/639/26 -f 340/647/2 349/2128/2 351/648/2 -f 350/650/11 354/2129/11 353/651/11 -f 349/653/14 353/2130/14 355/654/14 -f 351/648/13 355/633/13 356/656/13 -f 352/658/12 356/2131/12 354/659/12 -f 350/661/2 349/2128/2 340/647/2 -f 352/657/2 350/661/2 344/631/2 -f 338/649/2 351/648/2 352/657/2 -f 506/663/11 510/2132/11 509/664/11 -f 505/666/14 509/2133/14 511/667/14 -f 507/669/13 511/2134/13 512/670/13 -f 508/672/12 512/2135/12 510/673/12 -f 339/675/1 509/678/1 510/676/1 -f 339/675/1 337/679/1 511/677/1 -f 512/636/1 511/677/1 337/679/1 -f 505/680/1 507/2136/1 508/681/1 -f 335/685/11 336/2137/11 331/683/11 -f 336/2137/11 329/2138/11 331/683/11 -f 329/2138/11 330/2139/11 331/683/11 -f 331/683/11 332/2140/11 333/684/11 -f 333/684/11 334/2141/11 335/685/11 -f 669/686/27 681/709/27 692/687/27 -f 671/689/28 683/724/28 682/690/28 -f 678/692/29 690/702/29 689/693/29 -f 675/695/30 687/704/30 686/696/30 -f 672/698/31 684/706/31 683/699/31 -f 679/701/32 691/728/32 690/702/32 -f 676/703/33 688/711/33 687/704/33 -f 673/705/34 685/2142/34 684/706/34 -f 680/688/35 692/687/35 691/707/35 -f 670/691/36 682/690/36 681/709/36 -f 677/710/37 689/720/37 688/711/37 -f 674/697/38 686/696/38 685/712/38 -f 687/704/39 688/711/39 700/714/39 -f 684/706/40 685/2142/40 697/716/40 -f 692/687/41 704/723/41 703/718/41 -f 682/690/42 694/725/42 693/719/42 -f 689/720/43 701/2143/43 700/714/43 -f 685/712/44 686/696/44 698/721/44 -f 681/709/45 693/719/45 704/723/45 -f 683/724/46 695/2144/46 694/725/46 -f 690/702/47 702/729/47 701/726/47 -f 687/704/48 699/715/48 698/721/48 -f 684/706/49 696/717/49 695/727/49 -f 691/728/50 703/2145/50 702/729/50 -f 703/730/51 715/750/51 714/731/51 -f 700/714/52 712/739/52 711/733/52 -f 697/716/53 709/2146/53 708/734/53 -f 704/723/54 716/741/54 715/735/54 -f 693/719/55 694/725/55 706/736/55 -f 700/714/56 701/2143/56 713/738/56 -f 698/721/57 710/745/57 709/740/57 -f 693/719/58 705/737/58 716/741/58 -f 694/725/59 695/2144/59 707/742/59 -f 702/732/60 714/731/60 713/743/60 -f 699/715/61 711/733/61 710/745/61 -f 696/717/62 708/734/62 707/746/62 -f 708/747/63 720/754/63 719/748/63 -f 715/750/64 727/756/64 726/751/64 -f 712/739/65 724/759/65 723/752/65 -f 709/753/66 721/761/66 720/754/66 -f 715/750/67 716/2147/67 728/755/67 -f 706/736/68 718/2148/68 717/757/68 -f 712/739/69 713/738/69 725/758/69 -f 710/760/70 722/2149/70 721/761/70 -f 716/741/71 705/737/71 717/757/71 -f 706/763/72 707/749/72 719/748/72 -f 714/731/73 726/751/73 725/765/73 -f 711/733/74 723/752/74 722/766/74 -f 717/767/11 718/764/11 721/761/11 -f 718/764/11 719/748/11 721/761/11 -f 719/748/11 720/754/11 721/761/11 -f 721/761/11 722/2149/11 725/765/11 -f 722/2149/11 723/2150/11 725/765/11 -f 723/2150/11 724/2151/11 725/765/11 -f 725/765/11 726/751/11 727/756/11 -f 727/756/11 728/755/11 717/767/11 -f 725/765/11 727/756/11 721/761/11 -f 777/768/12 782/872/12 781/769/12 -f 736/771/75 740/2152/75 739/772/75 -f 730/774/11 735/2153/11 734/775/11 -f 732/777/12 736/771/12 735/773/12 -f 729/779/14 734/788/14 733/780/14 -f 731/782/13 733/790/13 736/783/13 -f 739/785/2 740/791/2 737/786/2 -f 734/788/76 738/2154/76 737/789/76 -f 733/790/77 737/786/77 740/791/77 -f 734/775/78 735/2153/78 739/792/78 -f 780/794/14 784/2155/14 783/795/14 -f 748/797/79 752/2156/79 751/798/79 -f 742/800/80 747/2157/80 746/801/80 -f 744/803/30 748/797/30 747/799/30 -f 743/805/27 741/2158/27 746/806/27 -f 743/808/81 745/815/81 748/809/81 -f 751/811/82 752/816/82 749/812/82 -f 746/806/83 750/2159/83 749/814/83 -f 745/815/84 749/812/84 752/816/84 -f 746/801/85 747/2157/85 751/817/85 -f 778/819/11 783/2160/11 782/820/11 -f 759/822/86 760/2161/86 764/823/86 -f 754/825/87 759/2162/87 758/826/87 -f 756/828/12 760/2161/12 759/822/12 -f 755/830/14 753/2163/14 758/831/14 -f 755/833/88 757/841/88 760/834/88 -f 763/836/89 764/2164/89 761/837/89 -f 757/832/90 758/831/90 762/839/90 -f 757/841/91 761/2165/91 764/842/91 -f 758/826/92 759/2162/92 763/836/92 -f 784/843/93 788/875/93 787/844/93 -f 772/846/94 776/2166/94 775/847/94 -f 766/849/95 771/2167/95 770/850/95 -f 768/852/12 772/846/12 771/848/12 -f 765/854/14 770/2168/14 769/855/14 -f 767/857/96 769/865/96 772/858/96 -f 775/860/97 776/2169/97 773/861/97 -f 769/855/98 770/2168/98 774/863/98 -f 769/865/99 773/2170/99 776/866/99 -f 770/850/100 771/2167/100 775/860/100 -f 779/867/13 781/2171/13 784/868/13 -f 787/844/1 788/875/1 785/870/1 -f 782/872/101 786/2172/101 785/873/101 -f 781/874/102 785/870/102 788/875/102 -f 782/820/103 783/2160/103 787/876/103 -f 801/878/1 806/915/1 805/879/1 -f 796/881/104 800/2173/104 799/882/104 -f 790/884/11 795/2174/11 794/885/11 -f 792/887/1 796/2175/1 795/888/1 -f 789/890/2 794/897/2 793/891/2 -f 791/892/13 793/891/13 796/893/13 -f 799/882/12 800/2173/12 797/895/12 -f 794/897/105 798/2176/105 797/898/105 -f 793/891/106 797/898/106 800/899/106 -f 794/885/107 795/2174/107 799/900/107 -f 804/902/2 808/912/2 807/903/2 -f 802/905/11 807/2177/11 806/906/11 -f 808/908/25 812/2178/25 811/909/25 -f 803/911/13 805/917/13 808/912/13 -f 811/909/14 812/2178/14 809/913/14 -f 806/915/108 810/2179/108 809/916/108 -f 805/917/109 809/2180/109 812/918/109 -f 806/906/110 807/2177/110 811/919/110 -f 825/921/111 830/960/111 829/922/111 -f 820/924/112 824/2181/112 823/925/112 -f 813/927/11 814/2182/11 819/928/11 -f 816/930/111 820/924/111 819/926/111 -f 813/932/113 818/941/113 817/933/113 -f 816/935/13 815/2183/13 817/936/13 -f 823/938/114 824/943/114 821/939/114 -f 818/941/115 822/2184/115 821/942/115 -f 817/936/116 821/939/116 824/943/116 -f 818/929/117 819/928/117 823/944/117 -f 828/946/113 832/952/113 831/947/113 -f 826/949/11 831/2185/11 830/950/11 -f 832/952/118 836/2186/118 835/953/118 -f 827/954/13 829/2187/13 832/955/13 -f 835/957/119 836/963/119 833/958/119 -f 830/960/120 834/2188/120 833/961/120 -f 829/962/121 833/958/121 836/963/121 -f 830/950/122 831/2185/122 835/965/122 -f 849/967/119 854/1003/119 853/968/119 -f 844/970/123 848/2189/123 847/971/123 -f 837/973/11 838/2190/11 843/974/11 -f 840/976/119 844/970/119 843/972/119 -f 837/978/114 842/986/114 841/979/114 -f 839/980/13 841/979/13 844/981/13 -f 847/983/111 848/2191/111 845/984/111 -f 842/986/124 846/2192/124 845/987/124 -f 841/979/125 845/987/125 848/988/125 -f 842/975/126 843/974/126 847/989/126 -f 852/991/114 856/997/114 855/992/114 -f 849/994/11 850/2193/11 855/995/11 -f 856/997/127 860/1006/127 859/998/127 -f 851/999/13 853/1005/13 856/997/13 -f 859/1000/113 860/2194/113 857/1001/113 -f 854/1003/128 858/2195/128 857/1004/128 -f 853/1005/129 857/2196/129 860/1006/129 -f 854/996/130 855/995/130 859/1007/130 -f 873/1009/131 878/2197/131 877/1010/131 -f 868/1012/132 872/2198/132 871/1013/132 -f 862/1015/11 867/2199/11 866/1016/11 -f 864/1018/131 868/2200/131 867/1019/131 -f 861/1021/133 866/2201/133 865/1022/133 -f 864/1024/13 863/1023/13 865/1022/13 -f 871/1013/134 872/2198/134 869/1026/134 -f 866/1028/135 870/2202/135 869/1029/135 -f 865/1022/136 869/2203/136 872/1031/136 -f 866/1016/137 867/2199/137 871/1032/137 -f 876/1034/133 880/1044/133 879/1035/133 -f 874/1037/11 879/2204/11 878/1038/11 -f 880/1040/138 884/2205/138 883/1041/138 -f 875/1043/13 877/1050/13 880/1044/13 -f 883/1041/139 884/2205/139 881/1045/139 -f 878/1047/140 882/2206/140 881/1048/140 -f 877/1050/141 881/2207/141 884/1051/141 -f 878/1038/142 879/2204/142 883/1052/142 -f 897/1054/139 902/2208/139 901/1055/139 -f 892/1057/143 896/1077/143 895/1058/143 -f 885/1060/11 886/2209/11 891/1061/11 -f 888/1063/139 892/2210/139 891/1064/139 -f 885/1066/134 890/1074/134 889/1067/134 -f 888/1069/13 887/2211/13 889/1070/13 -f 895/1058/131 896/1077/131 893/1072/131 -f 890/1074/144 894/2212/144 893/1075/144 -f 889/1076/145 893/1072/145 896/1077/145 -f 890/1062/146 891/1061/146 895/1078/146 -f 900/1080/134 904/2213/134 903/1081/134 -f 898/1083/11 903/2214/11 902/1084/11 -f 904/1086/147 908/1097/147 907/1087/147 -f 899/1089/13 901/1096/13 904/1086/13 -f 907/1087/133 908/1097/133 905/1091/133 -f 902/1093/148 906/2215/148 905/1094/148 -f 901/1096/149 905/1091/149 908/1097/149 -f 902/1084/150 903/2214/150 907/1098/150 -f 915/1100/151 916/2216/151 920/1101/151 -f 909/1103/152 910/2217/152 915/1104/152 -f 912/1106/38 916/2216/38 915/1100/38 -f 911/1108/35 909/2218/35 914/1109/35 -f 911/1111/153 913/1117/153 916/1112/153 -f 918/1114/154 919/1102/154 920/1101/154 -f 914/1109/155 918/2219/155 917/1116/155 -f 913/1117/156 917/2220/156 920/1118/156 -f 914/1105/157 915/1104/157 919/1119/157 -f 928/1121/158 932/2221/158 931/1122/158 -f 922/1124/159 927/2222/159 926/1125/159 -f 924/1127/34 928/2223/34 927/1128/34 -f 923/1130/32 921/2224/32 926/1131/32 -f 924/1133/160 923/1130/160 925/1132/160 -f 931/1122/161 932/2221/161 929/1135/161 -f 926/1137/162 930/2225/162 929/1138/162 -f 925/1132/163 929/2226/163 932/1140/163 -f 926/1125/164 927/2222/164 931/1141/164 -f 940/1143/165 944/2227/165 943/1144/165 -f 934/1146/166 939/2228/166 938/1147/166 -f 936/1149/29 940/1156/29 939/1150/29 -f 935/1152/31 933/2229/31 938/1153/31 -f 936/1149/167 935/2230/167 937/1155/167 -f 943/1144/168 944/2227/168 941/1157/168 -f 937/1154/169 938/1153/169 942/1159/169 -f 937/1155/170 941/2231/170 944/1161/170 -f 938/1147/171 939/2228/171 943/1162/171 -f 951/1164/172 952/1177/172 956/1165/172 -f 945/1167/173 946/2232/173 951/1168/173 -f 948/1170/37 952/2233/37 951/1171/37 -f 947/1173/28 945/2234/28 950/1174/28 -f 947/1176/174 949/1185/174 952/1177/174 -f 954/1179/175 955/2235/175 956/1180/175 -f 950/1182/176 954/2236/176 953/1183/176 -f 949/1185/341 953/2237/341 956/1165/341 -f 950/1169/178 951/1168/178 955/1186/178 -f 963/1188/179 964/1202/179 968/1189/179 -f 958/1191/180 963/2238/180 962/1192/180 -f 960/1194/33 964/2239/33 963/1195/33 -f 959/1197/36 957/2240/36 962/1198/36 -f 960/1200/181 959/2241/181 961/1201/181 -f 967/1190/182 968/1189/182 965/1203/182 -f 962/1198/183 966/2242/183 965/1205/183 -f 961/1201/184 965/1203/184 968/1189/184 -f 962/1192/185 963/2238/185 967/1206/185 -f 975/1208/186 976/2243/186 980/1209/186 -f 970/1211/187 975/2244/187 974/1212/187 -f 972/1214/27 976/2243/27 975/1208/27 -f 969/1216/30 974/2245/30 973/1217/30 -f 972/1219/188 971/2246/188 973/1220/188 -f 979/1222/189 980/1228/189 977/1223/189 -f 973/1217/190 974/2245/190 978/1225/190 -f 973/1227/191 977/1223/191 980/1228/191 -f 974/1212/192 975/2244/192 979/1230/192 -f 988/1232/193 992/1246/193 991/1233/193 -f 982/1235/194 987/2247/194 986/1236/194 -f 982/1238/35 984/2248/35 988/1232/35 -f 983/1239/38 981/2249/38 986/1240/38 -f 983/1242/195 985/2250/195 988/1243/195 -f 990/1245/196 991/1233/196 992/1246/196 -f 985/1241/197 986/1240/197 990/1248/197 -f 985/1250/198 989/2251/198 992/1251/198 -f 986/1236/199 987/2247/199 991/1253/199 -f 999/1255/200 1000/1273/200 1004/1256/200 -f 993/1258/201 994/2252/201 999/1259/201 -f 996/1261/32 1000/1268/32 999/1262/32 -f 995/1264/34 993/2253/34 998/1265/34 -f 995/1267/202 997/2254/202 1000/1268/202 -f 1003/1257/203 1004/1256/203 1001/1269/203 -f 998/1265/204 1002/2255/204 1001/1271/204 -f 997/1272/205 1001/1269/205 1004/1256/205 -f 998/1260/206 999/1259/206 1003/1274/206 -f 1012/1276/207 1016/1294/207 1015/1277/207 -f 1006/1279/208 1011/2256/208 1010/1280/208 -f 1008/1282/31 1012/2257/31 1011/1283/31 -f 1007/1285/29 1005/2258/29 1010/1286/29 -f 1008/1288/209 1007/1285/209 1009/1287/209 -f 1015/1277/210 1016/1294/210 1013/1290/210 -f 1010/1286/211 1014/2259/211 1013/1292/211 -f 1009/1293/212 1013/1290/212 1016/1294/212 -f 1010/1280/213 1011/2256/213 1015/1295/213 -f 1023/1297/214 1024/1319/214 1028/1298/214 -f 1018/1300/215 1023/2260/215 1022/1301/215 -f 1020/1303/28 1024/2261/28 1023/1304/28 -f 1019/1306/37 1017/2262/37 1022/1307/37 -f 1019/1309/216 1021/2263/216 1024/1310/216 -f 1027/1312/217 1028/2264/217 1025/1313/217 -f 1022/1315/218 1026/2265/218 1025/1316/218 -f 1021/1318/219 1025/2266/219 1028/1298/219 -f 1022/1301/220 1023/2260/220 1027/1320/220 -f 1036/1322/221 1040/1341/221 1039/1323/221 -f 1030/1325/222 1035/2267/222 1034/1326/222 -f 1032/1328/36 1036/2268/36 1035/1329/36 -f 1031/1331/33 1029/2269/33 1034/1332/33 -f 1031/1334/223 1033/2270/223 1036/1335/223 -f 1039/1323/224 1040/1341/224 1037/1337/224 -f 1034/1332/225 1038/2271/225 1037/1339/225 -f 1033/1340/226 1037/1337/226 1040/1341/226 -f 1034/1326/227 1035/2267/227 1039/1342/227 -f 1047/1344/228 1048/1358/228 1052/1345/228 -f 1042/1347/229 1047/2272/229 1046/1348/229 -f 1044/1350/14 1048/2273/14 1047/1351/14 -f 1043/1353/12 1041/2274/12 1046/1354/12 -f 1044/1356/230 1043/2275/230 1045/1357/230 -f 1051/1346/231 1052/1345/231 1049/1359/231 -f 1045/1355/232 1046/1354/232 1050/1361/232 -f 1045/1357/233 1049/1359/233 1052/1345/233 -f 1046/1348/234 1047/2272/234 1051/1363/234 -f 1059/1365/235 1060/1383/235 1064/1366/235 -f 1054/1368/236 1059/2276/236 1058/1369/236 -f 1056/1371/1 1060/2277/1 1059/1372/1 -f 1055/1374/2 1053/2278/2 1058/1375/2 -f 1055/1374/237 1057/1376/237 1060/1377/237 -f 1063/1367/238 1064/1366/238 1061/1379/238 -f 1058/1375/239 1062/2279/239 1061/1381/239 -f 1057/1382/240 1061/1379/240 1064/1366/240 -f 1058/1369/241 1059/2276/241 1063/1384/241 -f 1072/1386/242 1076/1404/242 1075/1387/242 -f 1066/1389/243 1071/2280/243 1070/1390/243 -f 1068/1392/2 1072/1399/2 1071/1393/2 -f 1067/1395/1 1065/2281/1 1070/1396/1 -f 1068/1392/244 1067/2282/244 1069/1398/244 -f 1075/1387/245 1076/1404/245 1073/1400/245 -f 1070/1396/246 1074/2283/246 1073/1402/246 -f 1069/1403/247 1073/1400/247 1076/1404/247 -f 1070/1390/248 1071/2280/248 1075/1405/248 -f 1083/1407/249 1084/2284/249 1088/1408/249 -f 1077/1410/250 1078/2285/250 1083/1411/250 -f 1080/1413/38 1084/2284/38 1083/1407/38 -f 1079/1415/35 1077/2286/35 1082/1416/35 -f 1079/1418/251 1081/1425/251 1084/1419/251 -f 1087/1409/252 1088/1408/252 1085/1421/252 -f 1081/1417/253 1082/1416/253 1086/1423/253 -f 1081/1425/254 1085/2287/254 1088/1426/254 -f 1082/1412/255 1083/1411/255 1087/1427/255 -f 1095/1429/256 1096/2288/256 1100/1430/256 -f 1090/1432/257 1095/2289/257 1094/1433/257 -f 1092/1435/35 1096/2288/35 1095/1429/35 -f 1091/1437/38 1089/2290/38 1094/1438/38 -f 1091/1440/258 1093/1446/258 1096/1441/258 -f 1098/1443/259 1099/1431/259 1100/1430/259 -f 1094/1438/260 1098/2291/260 1097/1445/260 -f 1093/1446/261 1097/2292/261 1100/1447/261 -f 1094/1433/262 1095/2289/262 1099/1448/262 -f 1108/1450/263 1112/1471/263 1111/1451/263 -f 1101/1453/264 1102/2293/264 1107/1454/264 -f 1104/1456/28 1108/2294/28 1107/1457/28 -f 1101/1459/37 1106/2295/37 1105/1460/37 -f 1103/1462/265 1105/1470/265 1108/1450/265 -f 1111/1464/266 1112/2296/266 1109/1465/266 -f 1105/1467/267 1106/2297/267 1110/1468/267 -f 1105/1470/268 1109/2298/268 1112/1471/268 -f 1106/1455/269 1107/1454/269 1111/1472/269 -f 1119/1474/270 1120/2299/270 1124/1475/270 -f 1113/1477/271 1114/2300/271 1119/1474/271 -f 1116/1479/37 1120/2301/37 1119/1480/37 -f 1115/1482/28 1113/2302/28 1118/1483/28 -f 1116/1485/272 1115/2303/272 1117/1486/272 -f 1123/1488/273 1124/2304/273 1121/1489/273 -f 1117/1491/274 1118/2305/274 1122/1492/274 -f 1117/1486/275 1121/2306/275 1124/1494/275 -f 1118/1478/276 1119/1474/276 1123/1476/276 -f 1132/1496/277 1136/1515/277 1135/1497/277 -f 1126/1499/278 1131/2307/278 1130/1500/278 -f 1128/1502/14 1132/2308/14 1131/1503/14 -f 1125/1505/12 1130/2309/12 1129/1506/12 -f 1127/1508/279 1129/1514/279 1132/1496/279 -f 1135/1497/280 1136/1515/280 1133/1510/280 -f 1129/1506/281 1130/2309/281 1134/1512/281 -f 1129/1514/282 1133/1510/282 1136/1515/282 -f 1130/1500/283 1131/2307/283 1135/1516/283 -f 1143/1518/284 1144/1538/284 1148/1519/284 -f 1138/1521/285 1143/2310/285 1142/1522/285 -f 1138/1524/131 1140/2311/131 1144/1525/131 -f 1137/1527/133 1142/2312/133 1141/1528/133 -f 1139/1529/286 1141/1528/286 1144/1530/286 -f 1147/1520/287 1148/1519/287 1145/1532/287 -f 1142/1534/288 1146/2313/288 1145/1535/288 -f 1141/1537/289 1145/1532/289 1148/1519/289 -f 1142/1522/290 1143/2310/290 1147/1539/290 -f 1156/1541/291 1160/1561/291 1159/1542/291 -f 1150/1544/292 1155/2314/292 1154/1545/292 -f 1152/1547/133 1156/2315/133 1155/1548/133 -f 1151/1550/131 1149/2316/131 1154/1551/131 -f 1152/1553/293 1151/1550/293 1153/1552/293 -f 1159/1542/294 1160/1561/294 1157/1555/294 -f 1154/1557/295 1158/2317/295 1157/1558/295 -f 1153/1560/296 1157/1555/296 1160/1561/296 -f 1154/1545/297 1155/2314/297 1159/1562/297 -f 1168/1564/298 1172/2318/298 1171/1565/298 -f 1162/1567/299 1167/2319/299 1166/1568/299 -f 1164/1570/119 1168/1564/119 1167/1566/119 -f 1161/1572/114 1166/1579/114 1165/1573/114 -f 1164/1570/300 1163/2320/300 1165/1575/300 -f 1171/1576/301 1172/1582/301 1169/1577/301 -f 1166/1579/302 1170/2321/302 1169/1580/302 -f 1165/1581/303 1169/1577/303 1172/1582/303 -f 1166/1568/304 1167/2319/304 1171/1584/304 -f 1179/1586/305 1180/2322/305 1184/1587/305 -f 1174/1589/306 1179/1586/306 1178/1590/306 -f 1176/1592/114 1180/1599/114 1179/1593/114 -f 1175/1595/119 1173/2323/119 1178/1596/119 -f 1176/1592/307 1175/2324/307 1177/1598/307 -f 1183/1600/308 1184/1605/308 1181/1601/308 -f 1178/1596/309 1182/2325/309 1181/1603/309 -f 1177/1604/310 1181/1601/310 1184/1605/310 -f 1178/1590/311 1179/1586/311 1183/1588/311 -f 1200/1608/23 1199/2326/23 1191/1609/23 -f 1198/1611/22 1197/2327/22 1189/1612/22 -f 1196/1614/21 1195/2328/21 1187/1615/21 -f 1194/1617/24 1193/2329/24 1185/1618/24 -f 1185/1618/19 1193/2329/19 1200/1620/19 -f 1191/1609/20 1199/2326/20 1198/1622/20 -f 1189/1612/17 1197/2327/17 1196/1624/17 -f 1187/1615/18 1195/2328/18 1194/1626/18 -f 1194/1640/11 1196/2330/11 1198/1641/11 -f 675/695/316 674/697/316 1206/1643/316 -f 671/700/317 1203/1660/317 1204/1645/317 -f 678/692/318 1210/1661/318 1211/1646/318 -f 675/1647/319 1207/2331/319 1208/1648/319 -f 673/705/320 672/698/320 1204/1645/320 -f 679/701/321 1211/1646/321 1212/1651/321 -f 669/686/322 1201/2332/322 1202/1653/322 -f 677/694/323 676/1649/323 1208/1648/323 -f 673/705/324 1205/1650/324 1206/1655/324 -f 680/1652/325 1212/1651/325 1201/1657/325 -f 670/1659/326 1202/2333/326 1203/1660/326 -f 677/694/327 1209/1654/327 1210/1661/327 -f 1203/1663/13 1202/2334/13 1211/1646/13 -f 1202/2334/13 1201/1657/13 1211/1646/13 -f 1201/1657/13 1212/1651/13 1211/1646/13 -f 1211/1646/13 1210/1661/13 1209/1654/13 -f 1209/1654/13 1208/1648/13 1207/2331/13 -f 1207/2331/13 1206/2335/13 1205/1662/13 -f 1205/1662/13 1204/2336/13 1203/1663/13 -f 1211/1646/13 1209/1654/13 1207/2331/13 -f 1207/2331/13 1205/1662/13 1211/1646/13 -f 1215/1664/12 1216/2337/12 1214/1665/12 -f 1219/1667/11 1223/2338/11 1222/1668/11 -f 1215/1670/13 1217/2339/13 1220/1671/13 -f 1214/1673/11 1219/1667/11 1218/1669/11 -f 1216/1672/2 1220/1671/2 1219/1675/2 -f 1213/1677/1 1218/1685/1 1217/1678/1 -f 1223/1680/14 1224/1688/14 1221/1681/14 -f 1219/1675/2 1220/1671/2 1224/1683/2 -f 1218/1685/1 1222/2340/1 1221/1686/1 -f 1217/1687/328 1221/1681/328 1224/1688/328 -f 1227/1690/12 1228/2341/12 1226/1691/12 -f 1231/1693/14 1232/2342/14 1229/1694/14 -f 1227/1696/13 1229/2343/13 1232/1697/13 -f 1226/1699/11 1231/2344/11 1230/1700/11 -f 1228/1698/2 1232/1697/2 1231/1702/2 -f 1225/1704/1 1230/2345/1 1229/1705/1 -f 1235/1707/12 1236/2346/12 1234/1708/12 -f 1239/1710/14 1240/2347/14 1237/1711/14 -f 1236/1713/2 1240/1720/2 1239/1714/2 -f 1233/1716/1 1238/2348/1 1237/1717/1 -f 1235/1719/13 1237/2349/13 1240/1720/13 -f 1234/1721/11 1239/2350/11 1238/1722/11 -f 1256/1724/13 1253/2351/13 1251/1725/13 -f 1254/1727/11 1255/2352/11 1250/1728/11 -f 1248/1730/13 1245/2353/13 1243/1731/13 -f 1246/1733/11 1247/2354/11 1242/1734/11 -f 1247/1736/2 1248/1730/2 1244/1732/2 -f 1245/1738/1 1246/2355/1 1241/1739/1 -f 1255/1741/2 1256/1724/2 1252/1726/2 -f 1253/1743/1 1254/2356/1 1249/1744/1 -f 1289/1746/11 1294/1805/11 1454/1747/11 -f 1292/1749/13 1296/1803/13 1450/1750/13 -f 1259/1752/13 1263/2357/13 1264/1753/13 -f 1258/1755/11 1262/2358/11 1261/1756/11 -f 1260/1754/2 1264/1753/2 1262/1758/2 -f 1257/1760/1 1261/2359/1 1263/1761/1 -f 1267/1763/13 1271/2360/13 1272/1764/13 -f 1266/1766/11 1270/2361/11 1269/1767/11 -f 1268/1765/2 1272/1764/2 1270/1769/2 -f 1265/1771/1 1269/2362/1 1271/1772/1 -f 1295/1774/14 1296/1925/14 1293/1775/14 -f 1291/1777/12 1292/1926/12 1290/1778/12 -f 1275/1780/13 1279/2363/13 1280/1781/13 -f 1274/1783/11 1278/2364/11 1277/1784/11 -f 1276/1782/2 1280/1781/2 1278/1786/2 -f 1273/1788/1 1277/2365/1 1279/1789/1 -f 1283/1791/13 1287/2366/13 1288/1792/13 -f 1282/1794/11 1286/2367/11 1285/1795/11 -f 1284/1793/2 1288/1792/2 1286/1797/2 -f 1281/1799/1 1285/2368/1 1287/1800/1 -f 1291/1802/13 1293/1936/13 1296/1803/13 -f 1290/1804/11 1295/1929/11 1294/1805/11 -f 1299/1806/12 1300/2369/12 1298/1807/12 -f 1303/1809/14 1304/2370/14 1301/1810/14 -f 1299/1812/13 1301/2371/13 1304/1813/13 -f 1298/1815/11 1303/2372/11 1302/1816/11 -f 1300/1814/2 1304/1813/2 1303/1818/2 -f 1297/1820/1 1302/2373/1 1301/1821/1 -f 1324/1823/11 1315/2374/11 1314/1824/11 -f 1322/1828/2 1325/2375/2 1326/1839/2 -f 1326/1839/2 1327/2376/2 1328/1826/2 -f 1328/1826/2 1323/2377/2 1324/1827/2 -f 1324/1827/2 1321/2378/2 1322/1828/2 -f 1322/1828/2 1326/1839/2 1328/1826/2 -f 1310/1829/12 1309/2379/12 1311/1830/12 -f 1319/1832/14 1316/1848/14 1323/1833/14 -f 1318/1837/1 1313/2380/1 1314/2381/1 -f 1314/2381/1 1315/2382/1 1316/1835/1 -f 1316/1835/1 1319/2383/1 1320/1836/1 -f 1320/1836/1 1317/2384/1 1318/1837/1 -f 1318/1837/1 1314/2381/1 1316/1835/1 -f 1320/1838/13 1327/2376/13 1326/1839/13 -f 1318/1841/15 1317/2385/15 1326/1842/15 -f 1328/1834/329 1327/2386/329 1320/1844/329 -f 1322/1845/16 1321/2387/16 1314/1846/16 -f 1316/1848/330 1315/2388/330 1324/1849/330 -f 1325/1843/12 1322/1845/12 1313/1847/12 -f 1305/1850/14 1306/2389/14 1308/1851/14 -f 1311/1853/11 1305/2390/11 1307/1854/11 -f 1312/1856/1 1307/2391/1 1308/1857/1 -f 1309/1859/2 1306/1863/2 1305/1860/2 -f 1310/1862/13 1308/2392/13 1306/1863/13 -f 1332/1864/329 1340/2393/329 1337/1865/329 -f 1335/1867/11 1336/2394/11 1333/1868/11 -f 1331/1866/14 1333/2395/14 1336/1870/14 -f 1330/1871/12 1335/2396/12 1334/1872/12 -f 1332/1874/2 1336/2397/2 1335/1875/2 -f 1329/1877/1 1334/2398/1 1333/1878/1 -f 1337/1880/13 1340/1884/13 1339/1881/13 -f 1329/1873/15 1338/2399/15 1339/1883/15 -f 1330/1876/331 1339/1881/331 1340/1884/331 -f 1331/1879/332 1337/2400/332 1338/1885/332 -f 1347/1886/11 1348/2401/11 1345/1887/11 -f 1341/1889/14 1345/2402/14 1348/1890/14 -f 1343/1892/12 1347/2403/12 1346/1893/12 -f 1344/1895/2 1348/2404/2 1347/1896/2 -f 1342/1898/1 1346/2405/1 1345/1899/1 -f 1356/1901/333 1354/2406/333 1350/1902/333 -f 1353/1904/334 1355/2407/334 1351/1905/334 -f 1351/1907/13 1355/2408/13 1356/1901/13 -f 1354/1908/11 1353/2409/11 1349/1909/11 -f 1364/1911/335 1362/2410/335 1358/1912/335 -f 1361/1914/336 1363/2411/336 1359/1915/336 -f 1363/1917/13 1364/1911/13 1360/1913/13 -f 1358/1919/11 1362/2412/11 1361/1920/11 -f 1448/1751/2 1450/1750/2 1449/1922/2 -f 1295/1774/337 1449/2413/337 1450/1924/337 -f 1292/1926/338 1448/2414/338 1447/1927/338 -f 1290/1804/11 1447/2415/11 1449/1928/11 -f 1452/1930/1 1454/2416/1 1453/1931/1 -f 1293/1775/339 1453/2417/339 1454/1933/339 -f 1289/1779/340 1452/2418/340 1451/1934/340 -f 1291/1802/13 1451/2419/13 1453/1935/13 -f 1496/1938/14 1495/2420/14 1499/1939/14 -f 1495/2420/14 1497/2421/14 1499/1939/14 -f 1497/2421/14 1498/2422/14 1499/1939/14 -f 1499/1939/14 1500/2423/14 1501/2424/14 -f 1501/2424/14 1502/1937/14 1499/1939/14 -f 1488/1942/14 1487/2425/14 1489/2426/14 -f 1489/2426/14 1490/2427/14 1491/1940/14 -f 1491/1940/14 1492/2428/14 1493/1941/14 -f 1493/1941/14 1494/2429/14 1488/1942/14 -f 1488/1942/14 1489/2426/14 1491/1940/14 -s 1 -f 364/2430/15 371/2431/342 363/2432/12 -f 362/2433/16 369/2434/343 361/2435/11 -f 360/2436/330 367/2437/344 359/2438/14 -f 358/2439/329 365/2440/345 357/2441/13 -f 357/2441/13 372/2442/346 364/2443/15 -f 363/2432/12 370/2444/347 362/2445/16 -f 361/2435/11 368/2446/348 360/2447/330 -f 359/2438/14 366/2448/349 358/2449/329 -f 365/2440/345 379/2450/350 372/2442/346 -f 370/2444/347 378/2451/351 377/2452/352 -f 367/2437/344 374/2453/353 366/2448/349 -f 371/2431/342 379/2454/350 378/2451/351 -f 368/2455/348 375/2456/354 367/2437/344 -f 365/2440/345 374/2457/353 373/2458/331 -f 379/2454/350 385/2459/355 378/2451/351 -f 375/2456/354 383/2460/356 382/2461/357 -f 374/2457/353 380/2462/358 373/2458/331 -f 379/2450/350 380/2462/358 386/2463/359 -f 378/2451/351 384/2464/360 377/2452/352 -f 374/2453/353 382/2461/357 381/2465/361 -f 368/2446/348 369/2434/343 376/2466/362 -f 376/2467/362 369/2468/343 383/2469/356 -f 370/2470/347 377/2471/352 369/2434/343 -f 377/2472/352 384/2473/360 369/2468/343 -f 383/2460/356 390/2474/329 382/2461/357 -f 381/2475/361 388/2476/363 380/2462/358 -f 384/2473/360 387/2477/364 369/2468/343 -f 380/2462/358 394/2478/365 386/2463/359 -f 369/2468/343 391/2479/366 383/2469/356 -f 385/2459/355 392/2480/367 384/2464/360 -f 382/2461/357 389/2481/368 381/2465/361 -f 386/2482/359 393/2483/369 385/2459/355 -f 392/2484/367 395/2485/370 387/2477/364 -f 394/2478/365 396/2486/371 401/2487/372 -f 393/2483/369 399/2488/373 392/2480/367 -f 387/2477/364 398/2489/374 391/2479/366 -f 394/2490/365 400/2491/16 393/2483/369 -f 388/2476/363 397/2492/375 396/2486/371 -f 401/2493/372 407/2494/376 400/2495/16 -f 397/2492/375 403/2496/377 396/2486/371 -f 395/2485/370 406/2497/378 402/2498/379 -f 396/2499/371 408/2500/380 401/2493/372 -f 399/2501/373 407/2494/376 406/2502/378 -f 395/2485/370 405/2503/381 398/2489/374 -f 391/2504/366 398/2505/374 390/2474/329 -f 398/2489/374 405/2503/381 390/2506/329 -f 389/2481/368 390/2474/329 397/2507/375 -f 397/2492/375 390/2508/329 404/2509/382 -f 403/2496/377 412/2510/383 411/2511/384 -f 390/2508/329 412/2510/383 404/2509/382 -f 406/2497/378 410/2512/1 402/2498/379 -f 390/2506/329 413/2513/385 409/2514/386 -f 403/2515/377 416/2516/387 408/2500/380 -f 406/2502/378 415/2517/388 414/2518/389 -f 402/2498/379 413/2513/385 405/2503/381 -f 408/2500/380 415/2517/388 407/2494/376 -f 416/2519/387 418/2520/35 423/2521/390 -f 414/2518/389 422/2522/391 421/2523/392 -f 413/2513/385 417/2524/393 409/2514/386 -f 415/2517/388 423/2525/390 422/2522/391 -f 412/2510/383 418/2526/35 411/2511/384 -f 409/2527/386 419/2528/394 412/2510/383 -f 419/2529/394 425/2530/19 418/2520/35 -f 419/2528/394 424/2531/395 426/2532/396 -f 423/2521/390 425/2530/19 430/2533/397 -f 421/2523/392 429/2534/398 428/2535/399 -f 420/2536/400 424/2531/395 417/2537/393 -f 422/2522/391 430/2538/397 429/2534/398 -f 438/2539/15 445/2540/342 437/2541/12 -f 436/2542/16 443/2543/343 435/2544/11 -f 434/2545/330 441/2546/344 433/2547/14 -f 432/2548/329 439/2549/345 431/2550/13 -f 431/2550/13 446/2551/346 438/2552/15 -f 437/2541/12 444/2553/347 436/2554/16 -f 435/2544/11 442/2555/348 434/2556/330 -f 433/2547/14 440/2557/349 432/2558/329 -f 439/2549/345 453/2559/350 446/2551/346 -f 444/2553/347 452/2560/351 451/2561/352 -f 441/2546/344 448/2562/353 440/2557/349 -f 445/2540/342 453/2563/350 452/2560/351 -f 442/2564/348 449/2565/354 441/2546/344 -f 440/2566/349 447/2567/331 439/2549/345 -f 453/2563/350 459/2568/355 452/2560/351 -f 449/2565/354 457/2569/356 456/2570/357 -f 448/2571/353 454/2572/358 447/2567/331 -f 447/2567/331 460/2573/359 453/2559/350 -f 452/2560/351 458/2574/360 451/2561/352 -f 448/2562/353 456/2570/357 455/2575/361 -f 442/2555/348 443/2543/343 450/2576/362 -f 450/2577/362 443/2578/343 457/2579/356 -f 444/2580/347 451/2581/352 443/2543/343 -f 451/2582/352 458/2583/360 443/2578/343 -f 457/2569/356 464/2584/329 456/2570/357 -f 455/2585/361 462/2586/363 454/2572/358 -f 458/2583/360 461/2587/364 443/2578/343 -f 454/2572/358 468/2588/365 460/2573/359 -f 443/2578/343 465/2589/366 457/2579/356 -f 459/2568/355 466/2590/367 458/2574/360 -f 456/2570/357 463/2591/368 455/2575/361 -f 460/2592/359 467/2593/369 459/2568/355 -f 466/2594/367 469/2595/370 461/2587/364 -f 468/2588/365 470/2596/371 475/2597/372 -f 466/2590/367 474/2598/16 473/2599/373 -f 461/2587/364 472/2600/374 465/2589/366 -f 468/2601/365 474/2598/16 467/2593/369 -f 462/2586/363 471/2602/375 470/2596/371 -f 475/2603/372 481/2604/376 474/2605/16 -f 470/2596/371 478/2606/382 477/2607/377 -f 469/2595/370 480/2608/378 476/2609/379 -f 470/2610/371 482/2611/380 475/2603/372 -f 473/2612/373 481/2604/376 480/2613/378 -f 469/2595/370 479/2614/381 472/2600/374 -f 465/2615/366 472/2616/374 464/2584/329 -f 472/2600/374 479/2614/381 464/2617/329 -f 463/2591/368 464/2584/329 471/2618/375 -f 471/2602/375 464/2619/329 478/2606/382 -f 477/2607/377 486/2620/383 485/2621/384 -f 464/2619/329 486/2620/383 478/2606/382 -f 476/2609/379 488/2622/401 484/2623/1 -f 479/2614/381 483/2624/386 464/2617/329 -f 477/2625/377 490/2626/387 482/2611/380 -f 480/2613/378 489/2627/388 488/2628/401 -f 476/2609/379 487/2629/402 479/2614/381 -f 482/2611/380 489/2627/388 481/2604/376 -f 490/2630/387 492/2631/35 497/2632/390 -f 488/2628/401 496/2633/391 495/2634/392 -f 487/2629/402 491/2635/393 483/2624/386 -f 489/2627/388 497/2636/390 496/2633/391 -f 486/2620/383 492/2637/35 485/2621/384 -f 483/2638/386 493/2639/394 486/2620/383 -f 493/2640/394 499/2641/19 492/2631/35 -f 491/2642/393 500/2643/396 493/2639/394 -f 497/2632/390 499/2641/19 504/2644/397 -f 496/2633/391 502/2645/399 495/2634/392 -f 491/2642/393 501/2646/403 498/2647/395 -f 496/2633/391 504/2648/397 503/2649/398 -f 527/2650/404 520/2651/15 519/2652/12 -f 525/2653/405 518/2654/16 517/2655/11 -f 523/2656/406 516/2657/330 515/2658/14 -f 521/2659/407 514/2660/329 513/2661/13 -f 528/2662/408 513/2661/13 520/2663/15 -f 526/2664/409 519/2652/12 518/2665/16 -f 524/2666/410 517/2655/11 516/2667/330 -f 522/2668/411 515/2658/14 514/2669/329 -f 535/2670/412 521/2671/407 528/2672/408 -f 526/2664/409 534/2673/413 527/2650/404 -f 530/2674/414 523/2656/406 522/2668/411 -f 527/2650/404 535/2675/412 528/2676/408 -f 531/2677/415 524/2678/410 523/2656/406 -f 529/2679/332 522/2680/411 521/2671/407 -f 541/2681/416 535/2675/412 534/2673/413 -f 531/2677/415 539/2682/417 532/2683/418 -f 536/2684/419 530/2685/414 529/2679/332 -f 535/2670/412 536/2684/419 529/2679/332 -f 540/2686/420 534/2673/413 533/2687/421 -f 530/2674/414 538/2688/422 531/2677/415 -f 524/2666/410 532/2689/418 525/2653/405 -f 532/2683/418 539/2682/417 525/2690/405 -f 526/2691/409 525/2653/405 533/2692/421 -f 533/2687/421 525/2693/405 540/2686/420 -f 546/2694/329 539/2682/417 538/2688/422 -f 544/2695/364 537/2696/423 536/2684/419 -f 543/2697/363 540/2698/420 525/2699/405 -f 550/2700/367 536/2684/419 542/2701/424 -f 547/2702/368 525/2699/405 539/2703/417 -f 548/2704/365 541/2681/416 540/2686/420 -f 545/2705/366 538/2688/422 537/2706/423 -f 549/2707/369 542/2708/424 541/2681/416 -f 551/2709/371 548/2710/365 543/2697/363 -f 550/2700/367 552/2711/370 544/2695/364 -f 555/2712/372 549/2707/369 548/2704/365 -f 554/2713/375 543/2697/363 547/2702/368 -f 556/2714/16 550/2715/367 549/2707/369 -f 544/2695/364 553/2716/374 545/2717/366 -f 563/2718/376 557/2719/373 556/2720/16 -f 559/2721/379 553/2716/374 552/2711/370 -f 551/2722/371 562/2723/380 555/2724/372 -f 564/2725/378 552/2711/370 557/2726/373 -f 555/2724/372 563/2718/376 556/2720/16 -f 554/2713/375 558/2727/377 551/2709/371 -f 547/2728/368 546/2694/329 554/2729/375 -f 554/2713/375 546/2730/329 561/2731/382 -f 545/2705/366 553/2732/374 546/2694/329 -f 553/2716/374 560/2733/381 546/2734/329 -f 559/2721/379 568/2735/425 560/2733/381 -f 568/2735/425 546/2734/329 560/2733/381 -f 566/2736/2 562/2723/380 558/2737/377 -f 546/2730/329 569/2738/426 561/2731/382 -f 572/2739/427 559/2721/379 564/2725/378 -f 562/2723/380 571/2740/428 563/2718/376 -f 569/2738/426 558/2727/377 561/2731/382 -f 571/2740/428 564/2741/378 563/2718/376 -f 572/2739/427 574/2742/28 567/2743/429 -f 570/2744/430 578/2745/431 571/2740/428 -f 573/2746/432 569/2738/426 565/2747/433 -f 571/2740/428 579/2748/434 572/2749/427 -f 574/2742/28 568/2735/425 567/2743/429 -f 575/2750/435 565/2751/433 568/2735/425 -f 574/2752/28 582/2753/436 575/2754/435 -f 582/2755/436 573/2746/432 575/2756/435 -f 586/2757/437 574/2752/28 579/2758/434 -f 577/2759/438 585/2760/439 578/2745/431 -f 580/2761/440 576/2762/441 573/2746/432 -f 578/2745/431 586/2763/437 579/2748/434 -f 601/2764/404 594/2765/15 593/2766/12 -f 599/2767/405 592/2768/16 591/2769/11 -f 597/2770/406 590/2771/330 589/2772/14 -f 595/2773/407 588/2774/329 587/2775/13 -f 602/2776/408 587/2775/13 594/2777/15 -f 600/2778/409 593/2766/12 592/2779/16 -f 598/2780/410 591/2769/11 590/2781/330 -f 596/2782/411 589/2772/14 588/2783/329 -f 609/2784/412 595/2785/407 602/2786/408 -f 600/2778/409 608/2787/413 601/2764/404 -f 604/2788/414 597/2770/406 596/2782/411 -f 601/2764/404 609/2789/412 602/2790/408 -f 605/2791/415 598/2792/410 597/2770/406 -f 603/2793/332 596/2794/411 595/2785/407 -f 615/2795/416 609/2789/412 608/2787/413 -f 605/2791/415 613/2796/417 606/2797/418 -f 610/2798/419 604/2799/414 603/2793/332 -f 609/2784/412 610/2798/419 603/2793/332 -f 614/2800/420 608/2787/413 607/2801/421 -f 604/2788/414 612/2802/422 605/2791/415 -f 598/2780/410 606/2803/418 599/2767/405 -f 606/2797/418 613/2796/417 599/2804/405 -f 600/2805/409 599/2767/405 607/2806/421 -f 607/2801/421 599/2807/405 614/2800/420 -f 620/2808/329 613/2796/417 612/2802/422 -f 618/2809/364 611/2810/423 610/2798/419 -f 617/2811/363 614/2812/420 599/2813/405 -f 624/2814/367 610/2798/419 616/2815/424 -f 621/2816/368 599/2813/405 613/2817/417 -f 622/2818/365 615/2795/416 614/2800/420 -f 619/2819/366 612/2802/422 611/2820/423 -f 623/2821/369 616/2822/424 615/2795/416 -f 625/2823/371 622/2824/365 617/2811/363 -f 624/2814/367 626/2825/370 618/2809/364 -f 622/2818/365 630/2826/16 623/2821/369 -f 628/2827/375 617/2811/363 621/2816/368 -f 623/2821/369 631/2828/373 624/2829/367 -f 618/2809/364 627/2830/374 619/2831/366 -f 637/2832/376 631/2833/373 630/2834/16 -f 633/2835/379 627/2830/374 626/2825/370 -f 625/2836/371 636/2837/380 629/2838/372 -f 638/2839/378 626/2825/370 631/2840/373 -f 629/2838/372 637/2832/376 630/2834/16 -f 635/2841/382 625/2823/371 628/2827/375 -f 621/2842/368 620/2808/329 628/2843/375 -f 628/2827/375 620/2844/329 635/2841/382 -f 619/2819/366 627/2845/374 620/2808/329 -f 627/2830/374 634/2846/381 620/2847/329 -f 633/2835/379 642/2848/425 634/2846/381 -f 642/2848/425 620/2847/329 634/2846/381 -f 632/2849/377 644/2850/442 636/2837/380 -f 639/2851/433 635/2841/382 620/2844/329 -f 646/2852/427 633/2835/379 638/2839/378 -f 636/2837/380 645/2853/428 637/2832/376 -f 643/2854/443 632/2855/377 635/2841/382 -f 645/2853/428 638/2856/378 637/2832/376 -f 646/2852/427 648/2857/28 641/2858/429 -f 651/2859/438 645/2853/428 644/2850/442 -f 647/2860/432 643/2854/443 639/2851/433 -f 645/2853/428 653/2861/434 646/2862/427 -f 648/2857/28 642/2848/425 641/2858/429 -f 649/2863/435 639/2864/433 642/2848/425 -f 648/2865/28 656/2866/436 649/2867/435 -f 649/2868/435 654/2869/440 647/2860/432 -f 660/2870/437 648/2865/28 653/2871/434 -f 651/2859/438 659/2872/439 652/2873/431 -f 654/2869/440 650/2874/441 647/2860/432 -f 652/2873/431 660/2875/437 653/2861/434 -f 1377/2876/444 1370/2877/16 1369/2878/11 -f 1375/2879/445 1368/2880/330 1367/2881/14 -f 1373/2882/446 1366/2883/329 1365/2884/13 -f 1380/2885/447 1365/2884/13 1372/2886/15 -f 1378/2887/448 1371/2888/12 1370/2889/16 -f 1376/2890/449 1369/2878/11 1368/2891/330 -f 1374/2892/450 1367/2881/14 1366/2893/329 -f 1379/2894/37 1372/2895/15 1371/2888/12 -f 1380/2885/447 1381/2896/432 1373/2882/446 -f 1377/2876/444 1384/2897/434 1385/2898/431 -f 1375/2879/445 1382/2899/435 1383/2900/28 -f 1378/2901/448 1385/2898/431 1386/2902/451 -f 1376/2903/449 1383/2900/28 1384/2904/434 -f 1374/2905/450 1381/2896/432 1382/2906/435 -f 1386/2902/451 1392/2907/428 1393/2908/452 -f 1384/2909/434 1390/2910/429 1391/2911/427 -f 1381/2912/432 1389/2913/425 1382/2914/435 -f 1387/2915/453 1388/2916/433 1381/2896/432 -f 1384/2897/434 1392/2907/428 1385/2898/431 -f 1382/2914/435 1390/2910/429 1383/2917/28 -f 1379/2894/37 1387/2918/453 1380/2919/447 -f 1387/2915/453 1379/2920/37 1394/2921/454 -f 1378/2887/448 1386/2922/451 1379/2894/37 -f 1386/2922/451 1393/2923/452 1379/2894/37 -f 1390/2910/429 1399/2924/455 1391/2911/427 -f 1388/2925/433 1397/2926/456 1389/2913/425 -f 1393/2908/452 1395/2927/457 1379/2928/37 -f 1394/2921/454 1396/2929/458 1388/2916/433 -f 1379/2920/37 1402/2930/459 1394/2921/454 -f 1391/2931/427 1400/2932/330 1392/2907/428 -f 1389/2913/425 1398/2933/460 1390/2910/429 -f 1392/2907/428 1401/2934/461 1393/2908/452 -f 1395/2927/457 1408/2935/462 1403/2936/463 -f 1402/2930/459 1404/2937/15 1396/2929/458 -f 1397/2926/456 1406/2938/464 1398/2933/460 -f 1395/2939/457 1409/2940/465 1402/2930/459 -f 1398/2933/460 1407/2941/466 1399/2924/455 -f 1396/2942/458 1405/2943/467 1397/2926/456 -f 1407/2941/466 1413/2944/468 1414/2945/469 -f 1405/2946/467 1411/2947/470 1412/2948/471 -f 1403/2949/463 1415/2950/472 1410/2951/473 -f 1409/2952/465 1411/2947/470 1404/2953/15 -f 1406/2938/464 1412/2954/471 1413/2944/468 -f 1403/2949/463 1416/2955/474 1409/2940/465 -f 1399/2956/455 1407/2957/466 1400/2932/330 -f 1407/2958/466 1414/2959/469 1400/2960/330 -f 1400/2932/330 1408/2935/462 1401/2934/461 -f 1408/2961/462 1400/2960/330 1415/2962/472 -f 1411/2947/470 1420/2963/475 1412/2948/471 -f 1400/2960/330 1423/2964/476 1415/2962/472 -f 1415/2950/472 1418/2965/331 1410/2951/473 -f 1414/2959/469 1417/2966/477 1400/2960/330 -f 1416/2967/474 1419/2968/478 1411/2947/470 -f 1412/2954/471 1421/2969/479 1413/2944/468 -f 1410/2951/473 1424/2970/480 1416/2955/474 -f 1413/2944/468 1422/2971/481 1414/2945/469 -f 1424/2972/480 1426/2973/482 1419/2968/478 -f 1420/2974/475 1428/2975/343 1421/2969/479 -f 1422/2976/481 1425/2977/483 1417/2966/477 -f 1421/2969/479 1429/2978/484 1422/2971/481 -f 1420/2963/475 1426/2973/482 1427/2979/485 -f 1417/2966/477 1430/2980/486 1423/2964/476 -f 1426/2973/482 1434/2981/487 1427/2979/485 -f 1425/2977/483 1437/2982/488 1430/2980/486 -f 1431/2983/489 1433/2984/490 1426/2973/482 -f 1427/2985/485 1435/2986/491 1428/2987/343 -f 1425/2977/483 1436/2988/492 1432/2989/493 -f 1429/2990/484 1435/2986/491 1436/2991/492 -f 1423/2992/476 1430/2993/486 1418/2965/331 -f 1430/2993/486 1437/2994/488 1418/2965/331 -f 1418/2965/331 1431/2995/489 1424/2970/480 -f 1431/2995/489 1418/2965/331 1438/2996/494 -f 1418/2965/331 1446/2997/15 1438/2996/494 -f 1432/2989/493 1445/2998/329 1437/2982/488 -f 1437/2994/488 1439/2999/13 1418/2965/331 -f 1438/3000/494 1441/3001/12 1433/2984/490 -f 1434/3002/487 1443/3003/11 1435/2986/491 -f 1436/2988/492 1440/3004/14 1432/2989/493 -f 1435/2986/491 1444/3005/330 1436/2991/492 -f 1433/2984/490 1442/3006/16 1434/2981/487 -f 1479/3007/13 1470/3008/331 1463/3009/13 -f 1480/3010/332 1463/3011/13 1464/3012/332 -f 1473/3013/1 1456/3014/332 1457/3015/1 -f 1481/3016/1 1464/3012/332 1465/3017/1 -f 1474/3018/343 1457/3015/1 1458/3019/343 -f 1482/3020/343 1465/3017/1 1466/3021/343 -f 1475/3022/11 1458/3023/343 1459/3024/11 -f 1483/3025/11 1466/3026/343 1467/3027/11 -f 1476/3028/405 1459/3024/11 1460/3029/405 -f 1484/3030/405 1467/3027/11 1468/3031/405 -f 1477/3032/2 1460/3029/405 1461/3033/2 -f 1485/3034/2 1468/3031/405 1469/3035/2 -f 1478/3036/331 1461/3037/2 1462/3038/331 -f 1486/3039/331 1469/3040/2 1470/3008/331 -f 1471/3041/13 1462/3038/331 1455/3042/13 -f 1472/3043/332 1455/3044/13 1456/3014/332 -f 1471/3041/329 1494/3045/495 1478/3036/495 -f 1485/3046/35 1502/1937/495 1501/2424/35 -f 1471/3047/329 1487/2425/496 1488/1942/329 -f 1479/3007/329 1502/3048/495 1486/3039/495 -f 1480/3049/496 1496/1938/329 1479/3050/329 -f 1473/3013/28 1487/3051/496 1472/3043/496 -f 1480/3010/496 1497/3052/28 1495/3053/496 -f 1473/3054/28 1490/2427/497 1489/2426/28 -f 1482/3055/497 1497/2421/28 1481/3056/28 -f 1475/3057/330 1490/2427/497 1474/3058/497 -f 1483/3059/330 1498/2422/497 1482/3055/497 -f 1475/3057/330 1492/2428/498 1491/1940/330 -f 1483/3059/330 1500/2423/498 1499/1939/330 -f 1477/3060/35 1492/2428/498 1476/3061/498 -f 1485/3046/35 1500/2423/498 1484/3062/498 -f 1477/3060/35 1494/2429/495 1493/1941/35 -f 364/2430/15 372/3063/346 371/2431/342 -f 362/2433/16 370/2470/347 369/2434/343 -f 360/2436/330 368/2455/348 367/2437/344 -f 358/2439/329 366/3064/349 365/2440/345 -f 357/2441/13 365/2440/345 372/2442/346 -f 363/2432/12 371/2431/342 370/2444/347 -f 361/2435/11 369/2434/343 368/2446/348 -f 359/2438/14 367/2437/344 366/2448/349 -f 365/2440/345 373/2458/331 379/2450/350 -f 370/2444/347 371/2431/342 378/2451/351 -f 367/2437/344 375/2456/354 374/2453/353 -f 371/2431/342 372/3063/346 379/2454/350 -f 368/2455/348 376/3065/362 375/2456/354 -f 365/2440/345 366/3064/349 374/2457/353 -f 379/2454/350 386/2482/359 385/2459/355 -f 375/2456/354 376/3065/362 383/2460/356 -f 374/2457/353 381/2475/361 380/2462/358 -f 379/2450/350 373/2458/331 380/2462/358 -f 378/2451/351 385/2459/355 384/2464/360 -f 374/2453/353 375/2456/354 382/2461/357 -f 383/2460/356 391/2504/366 390/2474/329 -f 381/2475/361 389/3066/368 388/2476/363 -f 384/2473/360 392/2484/367 387/2477/364 -f 380/2462/358 388/2476/363 394/2478/365 -f 369/2468/343 387/2477/364 391/2479/366 -f 385/2459/355 393/2483/369 392/2480/367 -f 382/2461/357 390/2474/329 389/2481/368 -f 386/2482/359 394/2490/365 393/2483/369 -f 392/2484/367 399/3067/373 395/2485/370 -f 394/2478/365 388/2476/363 396/2486/371 -f 393/2483/369 400/2491/16 399/2488/373 -f 387/2477/364 395/2485/370 398/2489/374 -f 394/2490/365 401/3068/372 400/2491/16 -f 388/2476/363 389/3066/368 397/2492/375 -f 401/2493/372 408/2500/380 407/2494/376 -f 397/2492/375 404/2509/382 403/2496/377 -f 395/2485/370 399/3067/373 406/2497/378 -f 396/2499/371 403/2515/377 408/2500/380 -f 399/2501/373 400/2495/16 407/2494/376 -f 395/2485/370 402/2498/379 405/2503/381 -f 403/2496/377 404/2509/382 412/2510/383 -f 390/2508/329 409/2527/386 412/2510/383 -f 406/2497/378 414/3069/389 410/2512/1 -f 390/2506/329 405/2503/381 413/2513/385 -f 403/2515/377 411/3070/384 416/2516/387 -f 406/2502/378 407/2494/376 415/2517/388 -f 402/2498/379 410/2512/1 413/2513/385 -f 408/2500/380 416/2516/387 415/2517/388 -f 416/2519/387 411/3071/384 418/2520/35 -f 414/2518/389 415/2517/388 422/2522/391 -f 413/2513/385 420/3072/400 417/2524/393 -f 415/2517/388 416/2516/387 423/2525/390 -f 412/2510/383 419/2528/394 418/2526/35 -f 409/2527/386 417/2537/393 419/2528/394 -f 419/2529/394 426/3073/396 425/2530/19 -f 419/2528/394 417/2537/393 424/2531/395 -f 423/2521/390 418/2520/35 425/2530/19 -f 421/2523/392 422/2522/391 429/2534/398 -f 420/2536/400 427/3074/403 424/2531/395 -f 422/2522/391 423/2525/390 430/2538/397 -f 438/2539/15 446/3075/346 445/2540/342 -f 436/2542/16 444/2580/347 443/2543/343 -f 434/2545/330 442/2564/348 441/2546/344 -f 432/2548/329 440/2566/349 439/2549/345 -f 431/2550/13 439/2549/345 446/2551/346 -f 437/2541/12 445/2540/342 444/2553/347 -f 435/2544/11 443/2543/343 442/2555/348 -f 433/2547/14 441/2546/344 440/2557/349 -f 439/2549/345 447/2567/331 453/2559/350 -f 444/2553/347 445/2540/342 452/2560/351 -f 441/2546/344 449/2565/354 448/2562/353 -f 445/2540/342 446/3075/346 453/2563/350 -f 442/2564/348 450/3076/362 449/2565/354 -f 440/2566/349 448/2571/353 447/2567/331 -f 453/2563/350 460/2592/359 459/2568/355 -f 449/2565/354 450/3076/362 457/2569/356 -f 448/2571/353 455/2585/361 454/2572/358 -f 447/2567/331 454/2572/358 460/2573/359 -f 452/2560/351 459/2568/355 458/2574/360 -f 448/2562/353 449/2565/354 456/2570/357 -f 457/2569/356 465/2615/366 464/2584/329 -f 455/2585/361 463/3077/368 462/2586/363 -f 458/2583/360 466/2594/367 461/2587/364 -f 454/2572/358 462/2586/363 468/2588/365 -f 443/2578/343 461/2587/364 465/2589/366 -f 459/2568/355 467/2593/369 466/2590/367 -f 456/2570/357 464/2584/329 463/2591/368 -f 460/2592/359 468/2601/365 467/2593/369 -f 466/2594/367 473/3078/373 469/2595/370 -f 468/2588/365 462/2586/363 470/2596/371 -f 466/2590/367 467/2593/369 474/2598/16 -f 461/2587/364 469/2595/370 472/2600/374 -f 468/2601/365 475/3079/372 474/2598/16 -f 462/2586/363 463/3077/368 471/2602/375 -f 475/2603/372 482/2611/380 481/2604/376 -f 470/2596/371 471/2602/375 478/2606/382 -f 469/2595/370 473/3078/373 480/2608/378 -f 470/2610/371 477/2625/377 482/2611/380 -f 473/2612/373 474/2605/16 481/2604/376 -f 469/2595/370 476/2609/379 479/2614/381 -f 477/2607/377 478/2606/382 486/2620/383 -f 464/2619/329 483/2638/386 486/2620/383 -f 476/2609/379 480/2608/378 488/2622/401 -f 479/2614/381 487/2629/402 483/2624/386 -f 477/2625/377 485/3080/384 490/2626/387 -f 480/2613/378 481/2604/376 489/2627/388 -f 476/2609/379 484/2623/1 487/2629/402 -f 482/2611/380 490/2626/387 489/2627/388 -f 490/2630/387 485/3081/384 492/2631/35 -f 488/2628/401 489/2627/388 496/2633/391 -f 487/2629/402 494/3082/400 491/2635/393 -f 489/2627/388 490/2626/387 497/2636/390 -f 486/2620/383 493/2639/394 492/2637/35 -f 483/2638/386 491/2642/393 493/2639/394 -f 493/2640/394 500/3083/396 499/2641/19 -f 491/2642/393 498/2647/395 500/2643/396 -f 497/2632/390 492/2631/35 499/2641/19 -f 496/2633/391 503/2649/398 502/2645/399 -f 491/2642/393 494/3084/400 501/2646/403 -f 496/2633/391 497/2636/390 504/2648/397 -f 527/2650/404 528/2676/408 520/2651/15 -f 525/2653/405 526/2691/409 518/2654/16 -f 523/2656/406 524/2678/410 516/2657/330 -f 521/2659/407 522/3085/411 514/2660/329 -f 528/2662/408 521/2659/407 513/2661/13 -f 526/2664/409 527/2650/404 519/2652/12 -f 524/2666/410 525/2653/405 517/2655/11 -f 522/2668/411 523/2656/406 515/2658/14 -f 535/2670/412 529/2679/332 521/2671/407 -f 526/2664/409 533/2687/421 534/2673/413 -f 530/2674/414 531/2677/415 523/2656/406 -f 527/2650/404 534/2673/413 535/2675/412 -f 531/2677/415 532/2683/418 524/2678/410 -f 529/2679/332 530/2685/414 522/2680/411 -f 541/2681/416 542/2708/424 535/2675/412 -f 531/2677/415 538/2688/422 539/2682/417 -f 536/2684/419 537/2696/423 530/2685/414 -f 535/2670/412 542/2701/424 536/2684/419 -f 540/2686/420 541/2681/416 534/2673/413 -f 530/2674/414 537/2706/423 538/2688/422 -f 546/2694/329 547/2728/368 539/2682/417 -f 544/2695/364 545/2717/366 537/2696/423 -f 543/2697/363 548/2710/365 540/2698/420 -f 550/2700/367 544/2695/364 536/2684/419 -f 547/2702/368 543/2697/363 525/2699/405 -f 548/2704/365 549/2707/369 541/2681/416 -f 545/2705/366 546/2694/329 538/2688/422 -f 549/2707/369 550/2715/367 542/2708/424 -f 551/2709/371 555/3086/372 548/2710/365 -f 550/2700/367 557/2726/373 552/2711/370 -f 555/2712/372 556/2714/16 549/2707/369 -f 554/2713/375 551/2709/371 543/2697/363 -f 556/2714/16 557/3087/373 550/2715/367 -f 544/2695/364 552/2711/370 553/2716/374 -f 563/2718/376 564/2741/378 557/2719/373 -f 559/2721/379 560/2733/381 553/2716/374 -f 551/2722/371 558/2737/377 562/2723/380 -f 564/2725/378 559/2721/379 552/2711/370 -f 555/2724/372 562/2723/380 563/2718/376 -f 554/2713/375 561/2731/382 558/2727/377 -f 559/2721/379 567/2743/429 568/2735/425 -f 568/2735/425 565/2751/433 546/2734/329 -f 566/2736/2 570/2744/430 562/2723/380 -f 546/2730/329 565/2747/433 569/2738/426 -f 572/2739/427 567/2743/429 559/2721/379 -f 562/2723/380 570/2744/430 571/2740/428 -f 569/2738/426 566/3088/2 558/2727/377 -f 571/2740/428 572/2749/427 564/2741/378 -f 572/2739/427 579/3089/434 574/2742/28 -f 570/2744/430 577/2759/438 578/2745/431 -f 573/2746/432 576/2762/441 569/2738/426 -f 571/2740/428 578/2745/431 579/2748/434 -f 574/2742/28 575/2750/435 568/2735/425 -f 575/2750/435 573/3090/432 565/2751/433 -f 574/2752/28 581/3091/24 582/2753/436 -f 582/2755/436 580/2761/440 573/2746/432 -f 586/2757/437 581/3091/24 574/2752/28 -f 577/2759/438 584/3092/499 585/2760/439 -f 580/2761/440 583/3093/500 576/2762/441 -f 578/2745/431 585/2760/439 586/2763/437 -f 601/2764/404 602/2790/408 594/2765/15 -f 599/2767/405 600/2805/409 592/2768/16 -f 597/2770/406 598/2792/410 590/2771/330 -f 595/2773/407 596/3094/411 588/2774/329 -f 602/2776/408 595/2773/407 587/2775/13 -f 600/2778/409 601/2764/404 593/2766/12 -f 598/2780/410 599/2767/405 591/2769/11 -f 596/2782/411 597/2770/406 589/2772/14 -f 609/2784/412 603/2793/332 595/2785/407 -f 600/2778/409 607/2801/421 608/2787/413 -f 604/2788/414 605/2791/415 597/2770/406 -f 601/2764/404 608/2787/413 609/2789/412 -f 605/2791/415 606/2797/418 598/2792/410 -f 603/2793/332 604/2799/414 596/2794/411 -f 615/2795/416 616/2822/424 609/2789/412 -f 605/2791/415 612/2802/422 613/2796/417 -f 610/2798/419 611/2810/423 604/2799/414 -f 609/2784/412 616/2815/424 610/2798/419 -f 614/2800/420 615/2795/416 608/2787/413 -f 604/2788/414 611/2820/423 612/2802/422 -f 620/2808/329 621/2842/368 613/2796/417 -f 618/2809/364 619/2831/366 611/2810/423 -f 617/2811/363 622/2824/365 614/2812/420 -f 624/2814/367 618/2809/364 610/2798/419 -f 621/2816/368 617/2811/363 599/2813/405 -f 622/2818/365 623/2821/369 615/2795/416 -f 619/2819/366 620/2808/329 612/2802/422 -f 623/2821/369 624/2829/367 616/2822/424 -f 625/2823/371 629/3095/372 622/2824/365 -f 624/2814/367 631/2840/373 626/2825/370 -f 622/2818/365 629/3096/372 630/2826/16 -f 628/2827/375 625/2823/371 617/2811/363 -f 623/2821/369 630/2826/16 631/2828/373 -f 618/2809/364 626/2825/370 627/2830/374 -f 637/2832/376 638/2856/378 631/2833/373 -f 633/2835/379 634/2846/381 627/2830/374 -f 625/2836/371 632/2849/377 636/2837/380 -f 638/2839/378 633/2835/379 626/2825/370 -f 629/2838/372 636/2837/380 637/2832/376 -f 635/2841/382 632/2855/377 625/2823/371 -f 633/2835/379 641/2858/429 642/2848/425 -f 642/2848/425 639/2864/433 620/2847/329 -f 632/2849/377 640/3097/2 644/2850/442 -f 639/2851/433 643/2854/443 635/2841/382 -f 646/2852/427 641/2858/429 633/2835/379 -f 636/2837/380 644/2850/442 645/2853/428 -f 643/2854/443 640/3098/2 632/2855/377 -f 645/2853/428 646/2862/427 638/2856/378 -f 646/2852/427 653/3099/434 648/2857/28 -f 651/2859/438 652/2873/431 645/2853/428 -f 647/2860/432 650/2874/441 643/2854/443 -f 645/2853/428 652/2873/431 653/2861/434 -f 648/2857/28 649/2863/435 642/2848/425 -f 649/2863/435 647/3100/432 639/2864/433 -f 648/2865/28 655/3101/24 656/2866/436 -f 649/2868/435 656/3102/436 654/2869/440 -f 660/2870/437 655/3101/24 648/2865/28 -f 651/2859/438 658/3103/499 659/2872/439 -f 654/2869/440 657/3104/500 650/2874/441 -f 652/2873/431 659/2872/439 660/2875/437 -f 1377/2876/444 1378/2901/448 1370/2877/16 -f 1375/2879/445 1376/2903/449 1368/2880/330 -f 1373/2882/446 1374/2905/450 1366/2883/329 -f 1380/2885/447 1373/2882/446 1365/2884/13 -f 1378/2887/448 1379/2894/37 1371/2888/12 -f 1376/2890/449 1377/2876/444 1369/2878/11 -f 1374/2892/450 1375/2879/445 1367/2881/14 -f 1379/2894/37 1380/2919/447 1372/2895/15 -f 1380/2885/447 1387/2915/453 1381/2896/432 -f 1377/2876/444 1376/2890/449 1384/2897/434 -f 1375/2879/445 1374/2892/450 1382/2899/435 -f 1378/2901/448 1377/2876/444 1385/2898/431 -f 1376/2903/449 1375/2879/445 1383/2900/28 -f 1374/2905/450 1373/2882/446 1381/2896/432 -f 1386/2902/451 1385/2898/431 1392/2907/428 -f 1384/2909/434 1383/2917/28 1390/2910/429 -f 1381/2912/432 1388/2925/433 1389/2913/425 -f 1387/2915/453 1394/2921/454 1388/2916/433 -f 1384/2897/434 1391/2931/427 1392/2907/428 -f 1382/2914/435 1389/2913/425 1390/2910/429 -f 1390/2910/429 1398/2933/460 1399/2924/455 -f 1388/2925/433 1396/2942/458 1397/2926/456 -f 1393/2908/452 1401/2934/461 1395/2927/457 -f 1394/2921/454 1402/2930/459 1396/2929/458 -f 1379/2920/37 1395/2939/457 1402/2930/459 -f 1391/2931/427 1399/2956/455 1400/2932/330 -f 1389/2913/425 1397/2926/456 1398/2933/460 -f 1392/2907/428 1400/2932/330 1401/2934/461 -f 1395/2927/457 1401/2934/461 1408/2935/462 -f 1402/2930/459 1409/2940/465 1404/2937/15 -f 1397/2926/456 1405/2943/467 1406/2938/464 -f 1395/2939/457 1403/2949/463 1409/2940/465 -f 1398/2933/460 1406/2938/464 1407/2941/466 -f 1396/2942/458 1404/3105/15 1405/2943/467 -f 1407/2941/466 1406/2938/464 1413/2944/468 -f 1405/2946/467 1404/2953/15 1411/2947/470 -f 1403/2949/463 1408/3106/462 1415/2950/472 -f 1409/2952/465 1416/2967/474 1411/2947/470 -f 1406/2938/464 1405/2943/467 1412/2954/471 -f 1403/2949/463 1410/2951/473 1416/2955/474 -f 1411/2947/470 1419/2968/478 1420/2963/475 -f 1400/2960/330 1417/2966/477 1423/2964/476 -f 1415/2950/472 1423/2992/476 1418/2965/331 -f 1414/2959/469 1422/2976/481 1417/2966/477 -f 1416/2967/474 1424/2972/480 1419/2968/478 -f 1412/2954/471 1420/2974/475 1421/2969/479 -f 1410/2951/473 1418/2965/331 1424/2970/480 -f 1413/2944/468 1421/2969/479 1422/2971/481 -f 1424/2972/480 1431/2983/489 1426/2973/482 -f 1420/2974/475 1427/3107/485 1428/2975/343 -f 1422/2976/481 1429/3108/484 1425/2977/483 -f 1421/2969/479 1428/2975/343 1429/2978/484 -f 1420/2963/475 1419/2968/478 1426/2973/482 -f 1417/2966/477 1425/2977/483 1430/2980/486 -f 1426/2973/482 1433/2984/490 1434/2981/487 -f 1425/2977/483 1432/2989/493 1437/2982/488 -f 1431/2983/489 1438/3000/494 1433/2984/490 -f 1427/2985/485 1434/3002/487 1435/2986/491 -f 1425/2977/483 1429/3108/484 1436/2988/492 -f 1429/2990/484 1428/2987/343 1435/2986/491 -f 1418/2965/331 1439/2999/13 1446/2997/15 -f 1432/2989/493 1440/3004/14 1445/2998/329 -f 1437/2994/488 1445/3109/329 1439/2999/13 -f 1438/3000/494 1446/3110/15 1441/3001/12 -f 1434/3002/487 1442/3111/16 1443/3003/11 -f 1436/2988/492 1444/3112/330 1440/3004/14 -f 1435/2986/491 1443/3003/11 1444/3005/330 -f 1433/2984/490 1441/3001/12 1442/3006/16 -f 1479/3007/13 1486/3039/331 1470/3008/331 -f 1480/3010/332 1479/3113/13 1463/3011/13 -f 1473/3013/1 1472/3043/332 1456/3014/332 -f 1481/3016/1 1480/3010/332 1464/3012/332 -f 1474/3018/343 1473/3013/1 1457/3015/1 -f 1482/3020/343 1481/3016/1 1465/3017/1 -f 1475/3022/11 1474/3114/343 1458/3023/343 -f 1483/3025/11 1482/3115/343 1466/3026/343 -f 1476/3028/405 1475/3022/11 1459/3024/11 -f 1484/3030/405 1483/3025/11 1467/3027/11 -f 1477/3032/2 1476/3028/405 1460/3029/405 -f 1485/3034/2 1484/3030/405 1468/3031/405 -f 1478/3036/331 1477/3116/2 1461/3037/2 -f 1486/3039/331 1485/3117/2 1469/3040/2 -f 1471/3041/13 1478/3036/331 1462/3038/331 -f 1472/3043/332 1471/3118/13 1455/3044/13 -f 1471/3041/329 1488/3119/329 1494/3045/495 -f 1485/3046/35 1486/3120/495 1502/1937/495 -f 1471/3047/329 1472/3121/496 1487/2425/496 -f 1479/3007/329 1496/3122/329 1502/3048/495 -f 1480/3049/496 1495/2420/496 1496/1938/329 -f 1473/3013/28 1489/3123/28 1487/3051/496 -f 1480/3010/496 1481/3016/28 1497/3052/28 -f 1473/3054/28 1474/3058/497 1490/2427/497 -f 1482/3055/497 1498/2422/497 1497/2421/28 -f 1475/3057/330 1491/1940/330 1490/2427/497 -f 1483/3059/330 1499/1939/330 1498/2422/497 -f 1475/3057/330 1476/3061/498 1492/2428/498 -f 1483/3059/330 1484/3062/498 1500/2423/498 -f 1477/3060/35 1493/1941/35 1492/2428/498 -f 1485/3046/35 1501/2424/35 1500/2423/498 -f 1477/3060/35 1478/3124/495 1494/2429/495 diff --git a/src/main/resources/assets/hbm/models/weapons/.obj b/src/main/resources/assets/hbm/models/weapons/.obj new file mode 100644 index 000000000..a890183df --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/.obj @@ -0,0 +1,7147 @@ +# Blender v2.79 (sub +) OBJ File: '' +# www.blender.org +o Bayonet +v -+.1875++ +.5625++ 6.5625++ +v +.1875++ +.5625++ 6.5625++ +v -+.1875++ +.5625++ 6.+625++ +v +.1875++ +.5625++ 6.+625++ +v -+.1875++ -+.6875++ 6.5625++ +v +.1875++ -+.6875++ 6.5625++ +v -+.1875++ -+.6875++ 6.+625++ +v +.1875++ -+.6875++ 6.+625++ +v -+.1875++ +.5625++ 3.+625++ +v +.1875++ +.5625++ 3.+625++ +v -+.1875++ +.5625++ 2.5625++ +v +.1875++ +.5625++ 2.5625++ +v -+.1875++ -+.6875++ 3.+625++ +v +.1875++ -+.6875++ 3.+625++ +v -+.1875++ -+.6875++ 2.5625++ +v +.1875++ -+.6875++ 2.5625++ +v +.++++++ -+.25++++ 2.3125++ +v -+.132582 -+.3+4917 2.3125++ +v -+.1875++ -+.4375++ 2.3125++ +v -+.132582 -+.57++83 2.3125++ +v +.++++++ -+.625+++ 2.3125++ +v +.132583 -+.57++82 2.3125++ +v +.1875++ -+.4375++ 2.3125++ +v +.132583 -+.3+4918 2.3125++ +v -+.132582 -+.3+4916 11.3125++ +v +.++++++ -+.249998 11.3125++ +v -+.1875++ -+.437499 11.3125++ +v -+.132582 -+.57++81 11.3125++ +v +.++++++ -+.624999 11.3125++ +v +.132583 -+.57++81 11.3125++ +v +.1875++ -+.437499 11.3125++ +v +.132583 -+.3+4916 11.3125++ +v +.++++++ -+.437498 16.3125++ +vt +.+625++ +.52381+ +vt +.+98214 1.++++++ +vt +.+625++ 1.++++++ +vt +.+35714 1.++++++ +vt -+.++++++ +.52381+ +vt -+.++++++ 1.++++++ +vt +.+98214 +.52381+ +vt +.125+++ 1.++++++ +vt +.+625++ +.38+952 +vt +.1875++ +.52381+ +vt +.223214 1.++++++ +vt +.1875++ 1.++++++ +vt +.16+714 1.++++++ +vt +.125+++ +.52381+ +vt +.125+++ 1.++++++ +vt +.223214 +.52381+ +vt +.25++++ 1.++++++ +vt +.1875++ +.38+952 +vt +.2539++ +.4+1751 +vt +.263393 +.38+78+ +vt +.263393 +.523982 +vt +.+35714 +.52381+ +vt +.125+++ +.52381+ +vt +.+98214 +.38+952 +vt +.16+714 +.52381+ +vt +.25++++ +.52381+ +vt +.223214 +.38+952 +vt +.272886 +.4+1751 +vt +.276818 +.452381 +vt +.272886 +.5+3+1+ +vt +.2539++ +.5+3+1+ +vt +.249968 +.452381 +vt 1.++++++ +.142857 +vt +.357143 +.19+476 +vt +.357143 +.142857 +vt 1.++++++ +.+95238 +vt +.357143 +.+47619 +vt 1.++++++ +.+47619 +vt 1.++++++ +.333333 +vt +.357143 +.38+952 +vt +.357143 +.333333 +vt 1.++++++ +.285714 +vt +.357143 +.238+95 +vt 1.++++++ +.238+95 +vt +.357143 +.+95238 +vt +.357143 +.++++++ +vt 1.++++++ -+.++++++ +vt +.357143 +.285714 +vt 1.++++++ +.19+476 +vt +.++++++ +.2619+5 +vt +.++++++ +.3+9524 +vt +.++++++ +.357143 +vt +.++++++ +.+2381+ +vt +.++++++ +.+71429 +vt +.++++++ +.119+48 +vt +.++++++ +.166667 +vt +.++++++ +.214286 +vt 1.++++++ +.38+952 +vn 1.++++ +.++++ +.++++ +vn +.++++ +.++++ 1.++++ +vn -1.++++ +.++++ +.++++ +vn +.++++ +.++++ -1.++++ +vn +.++++ -1.++++ +.++++ +vn +.7+71 +.7+71 -+.++++ +vn -+.++++ +.9998 +.+187 +vn +.7+7+ +.7+7+ +.+187 +vn +.7+7+ -+.7+7+ +.+187 +vn +.7+71 -+.7+71 +.++++ +vn -+.7+71 -+.7+71 +.++++ +vn -+.++++ -+.9998 +.+187 +vn -+.7+7+ -+.7+7+ +.+187 +vn -+.7+7+ +.7+7+ +.+187 +vn -+.7+71 +.7+71 -+.++++ +vn +.9998 -+.++++ +.+187 +vn -+.9998 +.++++ +.+187 +vn -+.++++ 1.++++ -+.++++ +s off +f 6/1/1 4/2/1 2/3/1 +f 1/4/2 6/1/2 2/3/2 +f 7/5/3 1/4/3 3/6/3 +f 8/7/4 3/8/4 4/2/4 +f 5/9/5 8/7/5 6/1/5 +f 14/1+/1 12/11/1 1+/12/1 +f 9/13/2 14/1+/2 1+/12/2 +f 15/14/3 9/13/3 11/15/3 +f 16/16/4 11/17/4 12/11/4 +f 13/18/5 16/16/5 14/1+/5 +f 2+/19/4 19/2+/4 23/21/4 +f 6/1/1 8/7/1 4/2/1 +f 1/4/2 5/22/2 6/1/2 +f 7/5/3 5/22/3 1/4/3 +f 8/7/4 7/23/4 3/8/4 +f 5/9/5 7/24/5 8/7/5 +f 14/1+/1 16/16/1 12/11/1 +f 9/13/2 13/25/2 14/1+/2 +f 15/14/3 13/25/3 9/13/3 +f 16/16/4 15/26/4 11/17/4 +f 13/18/5 15/27/5 16/16/5 +f 19/2+/4 18/28/4 23/21/4 +f 18/28/4 17/29/4 23/21/4 +f 17/29/4 24/3+/4 23/21/4 +f 23/21/4 22/31/4 21/32/4 +f 21/32/4 2+/19/4 23/21/4 +s 1 +f 24/33/6 26/34/7 32/35/8 +f 23/36/1 3+/37/9 22/38/1+ +f 2+/39/11 29/4+/12 28/41/13 +f 19/42/3 25/43/14 18/44/15 +f 24/33/6 31/45/16 23/36/1 +f 22/38/1+ 29/46/12 21/47/5 +f 2+/39/11 27/48/17 19/42/3 +f 18/44/15 26/34/7 17/49/18 +f 25/43/14 27/48/17 33/5+/2 +f 27/48/17 28/41/13 33/51/2 +f 28/41/13 29/4+/12 33/52/2 +f 29/46/12 3+/37/9 33/53/2 +f 3+/37/9 31/45/16 33/54/2 +f 31/45/16 32/35/8 33/55/2 +f 32/35/8 26/34/7 33/56/2 +f 26/34/7 25/43/14 33/57/2 +f 24/33/6 17/49/18 26/34/7 +f 23/36/1 31/45/16 3+/37/9 +f 2+/39/11 21/58/5 29/4+/12 +f 19/42/3 27/48/17 25/43/14 +f 24/33/6 32/35/8 31/45/16 +f 22/38/1+ 3+/37/9 29/46/12 +f 2+/39/11 28/41/13 27/48/17 +f 18/44/15 25/43/14 26/34/7 +o Plane +v +.4375++ +.8125++ 8.++++++ +v +.4375++ 1.1875++ 8.++++++ +v -+.4375++ +.8125++ 8.++++++ +v -+.4375++ 1.1875++ 8.++++++ +v -+.1875++ +.5625++ 8.++++++ +v +.1875++ +.5625++ 8.++++++ +v -+.1875++ 1.4375++ 8.++++++ +v +.1875++ 1.4375++ 8.++++++ +v +.4375++ +.812498 1.5+++++ +v +.4375++ -+.4375++ -1.++++++ +v -+.4375++ +.812498 1.5+++++ +v -+.4375++ -+.4375++ -1.++++++ +v -+.1875++ +.562498 1.4375++ +v +.1875++ +.562498 1.4375++ +v -+.4375++ -+.4375++ -3.75++++ +v +.4375++ -+.4375++ -3.75++++ +v +.4375++ 1.1875++ -1.++++++ +v -+.4375++ 1.1875++ -1.++++++ +v -+.1875++ 1.4375++ -1.++++++ +v +.1875++ 1.4375++ -1.++++++ +v +.4375++ -+.8125++ -+.75++++ +v -+.4375++ -+.8125++ -+.75++++ +v +.4375++ +.+625++ +.125+++ +v -+.4375++ +.+625++ +.125+++ +v +.4375++ -+.125+++ -+.5625++ +v -+.4375++ -+.125+++ -+.5625++ +v +.4375++ +.312498 1.375+++ +v -+.4375++ +.312498 1.375+++ +v +.4375++ +.+62498 +.875+++ +v -+.4375++ +.+62498 +.875+++ +v +.125+++ 1.2165+6 8.++++++ +v +.2165+6 1.125+++ 8.++++++ +v +.25++++ 1.++++++ 8.++++++ +v +.2165+6 +.875+++ 8.++++++ +v +.125+++ +.783494 8.++++++ +v -+.++++++ +.75++++ 8.++++++ +v -+.125+++ +.783494 8.++++++ +v -+.2165+6 +.875+++ 8.++++++ +v -+.25++++ 1.++++++ 8.++++++ +v -+.2165+6 1.125+++ 8.++++++ +v -+.125+++ 1.2165+6 8.++++++ +v -+.++++++ 1.25++++ 8.++++++ +v +.4375++ -+.8125++ -1.++++++ +v -+.4375++ -+.8125++ -1.++++++ +v +.++++++ 1.3125++ -1.125+++ +v -+.226467 1.282685 -1.125+++ +v -+.4375++ 1.195272 -1.125+++ +v -+.618718 1.+56219 -1.125+++ +v -+.757772 +.875+++ -1.125+++ +v -+.845185 +.663967 -1.125+++ +v -+.875+++ +.4375++ -1.125+++ +v -+.845185 +.211+33 -1.125+++ +v -+.757772 +.++++++ -1.125+++ +v -+.618719 -+.181218 -1.125+++ +v -+.4375++ -+.32+272 -1.125+++ +v -+.226467 -+.4+7685 -1.125+++ +v -+.++++++ -+.4375++ -1.125+++ +v +.226466 -+.4+7685 -1.125+++ +v +.4375++ -+.32+272 -1.125+++ +v +.618718 -+.181219 -1.125+++ +v +.757772 +.++++++ -1.125+++ +v +.845185 +.211+33 -1.125+++ +v +.875+++ +.4375++ -1.125+++ +v +.845185 +.663966 -1.125+++ +v +.757772 +.875+++ -1.125+++ +v +.618719 1.+56218 -1.125+++ +v +.4375++ 1.195272 -1.125+++ +v +.226467 1.282685 -1.125+++ +v -+.++++++ 1.25++++ -1.125+++ +v -+.125+++ 1.2165+7 -1.125+++ +v -+.2165+6 1.125+++ -1.125+++ +v -+.25++++ 1.++++++ -1.125+++ +v -+.2165+6 +.875+++ -1.125+++ +v -+.125+++ +.783494 -1.125+++ +v -+.++++++ +.75++++ -1.125+++ +v +.125+++ +.783494 -1.125+++ +v +.2165+6 +.875+++ -1.125+++ +v +.25++++ 1.++++++ -1.125+++ +v +.2165+6 1.125+++ -1.125+++ +v +.125+++ 1.2165+6 -1.125+++ +v +.++++++ -+.375+++ -1.125+++ +v +.125+++ -+.3415+6 -1.125+++ +v +.2165+6 -+.25++++ -1.125+++ +v +.25++++ -+.125+++ -1.125+++ +v +.2165+6 +.++++++ -1.125+++ +v +.125+++ +.+915+6 -1.125+++ +v +.++++++ +.125+++ -1.125+++ +v -+.125+++ +.+915+6 -1.125+++ +v -+.2165+6 +.++++++ -1.125+++ +v -+.25++++ -+.125+++ -1.125+++ +v -+.2165+6 -+.25++++ -1.125+++ +v -+.125+++ -+.3415+6 -1.125+++ +v +.7+3646 +.84375+ -1.125+++ +v +.612139 +.935256 -1.125+++ +v +.487139 +.96875+ -1.125+++ +v +.362139 +.935256 -1.125+++ +v +.27+633 +.84375+ -1.125+++ +v +.237139 +.71875+ -1.125+++ +v +.27+633 +.59375+ -1.125+++ +v +.362139 +.5+2244 -1.125+++ +v +.487139 +.46875+ -1.125+++ +v +.612139 +.5+2244 -1.125+++ +v +.7+3646 +.59375+ -1.125+++ +v +.737139 +.71875+ -1.125+++ +v -+.7+3646 +.+3125+ -1.125+++ +v -+.612139 -+.+6+256 -1.125+++ +v -+.487139 -+.+9375+ -1.125+++ +v -+.362139 -+.+6+256 -1.125+++ +v -+.27+633 +.+3125+ -1.125+++ +v -+.237139 +.15625+ -1.125+++ +v -+.27+633 +.28125+ -1.125+++ +v -+.362139 +.372756 -1.125+++ +v -+.487139 +.4+625+ -1.125+++ +v -+.612139 +.372756 -1.125+++ +v -+.7+3645 +.28125+ -1.125+++ +v -+.737139 +.15625+ -1.125+++ +v +.7+3646 +.+3125+ -1.125+++ +v +.737139 +.15625+ -1.125+++ +v +.7+3646 +.28125+ -1.125+++ +v +.612139 +.372756 -1.125+++ +v +.487139 +.4+625+ -1.125+++ +v +.362139 +.372756 -1.125+++ +v +.27+633 +.28125+ -1.125+++ +v +.237139 +.15625+ -1.125+++ +v +.27+633 +.+3125+ -1.125+++ +v +.362139 -+.+6+256 -1.125+++ +v +.487139 -+.+9375+ -1.125+++ +v +.612139 -+.+6+256 -1.125+++ +v -+.7+3646 +.84375+ -1.125+++ +v -+.737139 +.71875+ -1.125+++ +v -+.7+3646 +.59375+ -1.125+++ +v -+.612139 +.5+2244 -1.125+++ +v -+.487139 +.46875+ -1.125+++ +v -+.362139 +.5+2244 -1.125+++ +v -+.27+633 +.59375+ -1.125+++ +v -+.237139 +.71875+ -1.125+++ +v -+.27+633 +.84375+ -1.125+++ +v -+.362139 +.935256 -1.125+++ +v -+.487139 +.96875+ -1.125+++ +v -+.612139 +.935256 -1.125+++ +v -+.226467 1.282685 -3.++++++ +v +.++++++ 1.3125++ -3.++++++ +v -+.4375++ 1.195272 -3.++++++ +v -+.618718 1.+56219 -3.++++++ +v -+.757772 +.875+++ -3.++++++ +v -+.845185 +.663967 -3.++++++ +v -+.875+++ +.4375++ -3.++++++ +v -+.845185 +.211+33 -3.++++++ +v -+.757772 +.++++++ -3.++++++ +v -+.618719 -+.181218 -3.++++++ +v -+.4375++ -+.32+272 -3.++++++ +v -+.226467 -+.4+7685 -3.++++++ +v -+.++++++ -+.4375++ -3.++++++ +v +.226466 -+.4+7685 -3.++++++ +v +.4375++ -+.32+272 -3.++++++ +v +.618718 -+.181219 -3.++++++ +v +.757772 +.++++++ -3.++++++ +v +.845185 +.211+33 -3.++++++ +v +.875+++ +.4375++ -3.++++++ +v +.845185 +.663966 -3.++++++ +v +.757772 +.875+++ -3.++++++ +v +.618719 1.+56218 -3.++++++ +v +.4375++ 1.195272 -3.++++++ +v +.226467 1.282685 -3.++++++ +v -+.125+++ -+.3415+6 -3.++++++ +v +.++++++ -+.375+++ -3.++++++ +v -+.612139 -+.+6+256 -3.++++++ +v -+.737139 +.15625+ -3.++++++ +v -+.7+3646 +.+3125+ -3.++++++ +v -+.737139 +.71875+ -3.++++++ +v -+.612139 +.935256 -3.++++++ +v -+.7+3646 +.84375+ -3.++++++ +v -+.125+++ 1.2165+7 -3.++++++ +v +.125+++ 1.2165+6 -3.++++++ +v -+.++++++ 1.25++++ -3.++++++ +v +.612139 +.935256 -3.++++++ +v +.737139 +.71875+ -3.++++++ +v +.7+3646 +.84375+ -3.++++++ +v -+.2165+6 1.125+++ -3.++++++ +v -+.25++++ 1.++++++ -3.++++++ +v -+.2165+6 +.875+++ -3.++++++ +v -+.125+++ +.783494 -3.++++++ +v -+.++++++ +.75++++ -3.++++++ +v +.125+++ +.783494 -3.++++++ +v +.2165+6 +.875+++ -3.++++++ +v +.25++++ 1.++++++ -3.++++++ +v +.2165+6 1.125+++ -3.++++++ +v +.125+++ -+.3415+6 -3.++++++ +v +.2165+6 -+.25++++ -3.++++++ +v +.25++++ -+.125+++ -3.++++++ +v +.2165+6 +.++++++ -3.++++++ +v +.125+++ +.+915+6 -3.++++++ +v +.++++++ +.125+++ -3.++++++ +v -+.125+++ +.+915+6 -3.++++++ +v -+.2165+6 +.++++++ -3.++++++ +v -+.25++++ -+.125+++ -3.++++++ +v -+.2165+6 -+.25++++ -3.++++++ +v +.487139 +.96875+ -3.++++++ +v +.362139 +.935256 -3.++++++ +v +.27+633 +.84375+ -3.++++++ +v +.237139 +.71875+ -3.++++++ +v +.27+633 +.59375+ -3.++++++ +v +.362139 +.5+2244 -3.++++++ +v +.487139 +.46875+ -3.++++++ +v +.612139 +.5+2244 -3.++++++ +v +.7+3646 +.59375+ -3.++++++ +v -+.487139 -+.+9375+ -3.++++++ +v -+.362139 -+.+6+256 -3.++++++ +v -+.27+633 +.+3125+ -3.++++++ +v -+.237139 +.15625+ -3.++++++ +v -+.27+633 +.28125+ -3.++++++ +v -+.362139 +.372756 -3.++++++ +v -+.487139 +.4+625+ -3.++++++ +v -+.612139 +.372756 -3.++++++ +v -+.7+3645 +.28125+ -3.++++++ +v +.737139 +.15625+ -3.++++++ +v +.7+3646 +.+3125+ -3.++++++ +v +.7+3646 +.28125+ -3.++++++ +v +.612139 +.372756 -3.++++++ +v +.487139 +.4+625+ -3.++++++ +v +.362139 +.372756 -3.++++++ +v +.27+633 +.28125+ -3.++++++ +v +.237139 +.15625+ -3.++++++ +v +.27+633 +.+3125+ -3.++++++ +v +.362139 -+.+6+256 -3.++++++ +v +.487139 -+.+9375+ -3.++++++ +v +.612139 -+.+6+256 -3.++++++ +v -+.7+3646 +.59375+ -3.++++++ +v -+.612139 +.5+2244 -3.++++++ +v -+.487139 +.46875+ -3.++++++ +v -+.362139 +.5+2244 -3.++++++ +v -+.27+633 +.59375+ -3.++++++ +v -+.237139 +.71875+ -3.++++++ +v -+.27+633 +.84375+ -3.++++++ +v -+.362139 +.935256 -3.++++++ +v -+.487139 +.96875+ -3.++++++ +v -+.++++++ 1.25++++ -1.125+++ +v -+.125+++ 1.2165+6 -1.125+++ +v -+.2165+6 1.125+++ -1.125+++ +v -+.25++++ 1.++++++ -1.125+++ +v -+.2165+6 +.875+++ -1.125+++ +v -+.125+++ +.783494 -1.125+++ +v -+.++++++ +.75++++ -1.125+++ +v +.125+++ +.783494 -1.125+++ +v +.2165+6 +.875+++ -1.125+++ +v +.25++++ 1.++++++ -1.125+++ +v +.2165+6 1.125+++ -1.125+++ +v +.125+++ 1.2165+6 -1.125+++ +v +.125+++ 1.2165+6 -1.++++++ +v +.2165+6 1.125+++ -1.++++++ +v +.25++++ 1.++++++ -1.++++++ +v +.2165+6 +.875+++ -1.++++++ +v +.125+++ +.783494 -1.++++++ +v -+.++++++ +.75++++ -1.++++++ +v -+.125+++ +.783494 -1.++++++ +v -+.2165+6 +.875+++ -1.++++++ +v -+.25++++ 1.++++++ -1.++++++ +v -+.2165+6 1.125+++ -1.++++++ +v -+.125+++ 1.2165+6 -1.++++++ +v -+.++++++ 1.25++++ -1.++++++ +v -+.125+++ 1.2165+7 -3.++++++ +v +.125+++ 1.2165+6 -3.++++++ +v +.++++++ 1.25++++ -3.++++++ +v -+.2165+6 1.125+++ -3.++++++ +v -+.25++++ 1.++++++ -3.++++++ +v -+.2165+6 +.875+++ -3.++++++ +v -+.125+++ +.783494 -3.++++++ +v +.++++++ +.75++++ -3.++++++ +v +.125+++ +.783494 -3.++++++ +v +.2165+6 +.875+++ -3.++++++ +v +.25++++ 1.++++++ -3.++++++ +v +.2165+6 1.125+++ -3.++++++ +v -+.125+++ 1.2165+7 -1.5+++++ +v +.125+++ 1.2165+6 -1.5+++++ +v +.++++++ 1.25++++ -1.5+++++ +v -+.2165+6 1.125+++ -1.5+++++ +v -+.25++++ 1.++++++ -1.5+++++ +v -+.2165+6 +.875+++ -1.5+++++ +v -+.125+++ +.783494 -1.5+++++ +v +.++++++ +.75++++ -1.5+++++ +v +.125+++ +.783494 -1.5+++++ +v +.2165+6 +.875+++ -1.5+++++ +v +.25++++ 1.++++++ -1.5+++++ +v +.2165+6 1.125+++ -1.5+++++ +v +.+9375+ 1.16238+ -1.25++++ +v +.16238+ 1.+9375+ -1.25++++ +v +.1875++ 1.++++++ -1.25++++ +v +.162379 +.9+625+ -1.25++++ +v +.+9375+ +.83762+ -1.25++++ +v +.++++++ +.8125++ -1.25++++ +v -+.+9375+ +.83762+ -1.25++++ +v -+.16238+ +.9+625+ -1.25++++ +v -+.1875++ 1.++++++ -1.25++++ +v -+.16238+ 1.+9375+ -1.25++++ +v -+.+9375+ 1.16238+ -1.25++++ +v +.++++++ 1.1875++ -1.25++++ +v +.++++++ 1.1875++ -1.125+++ +v -+.+9375+ 1.16238+ -1.125+++ +v -+.16238+ 1.+9375+ -1.125+++ +v -+.1875++ 1.++++++ -1.125+++ +v -+.16238+ +.9+625+ -1.125+++ +v -+.+9375+ +.83762+ -1.125+++ +v +.++++++ +.8125++ -1.125+++ +v +.+9375+ +.83762+ -1.125+++ +v +.162379 +.9+625+ -1.125+++ +v +.1875++ 1.++++++ -1.125+++ +v +.16238+ 1.+9375+ -1.125+++ +v +.+9375+ 1.16238+ -1.125+++ +v +.++++++ 1.15625+ -1.125+++ +v -+.+78125 1.135316 -1.125+++ +v -+.135317 1.+78125 -1.125+++ +v -+.15625+ 1.++++++ -1.125+++ +v -+.135317 +.921875 -1.125+++ +v -+.+78125 +.864683 -1.125+++ +v +.++++++ +.84375+ -1.125+++ +v +.+78125 +.864683 -1.125+++ +v +.135316 +.921875 -1.125+++ +v +.15625+ 1.++++++ -1.125+++ +v +.135316 1.+78125 -1.125+++ +v +.+78125 1.135316 -1.125+++ +v +.++++++ 1.15625+ -1.1875++ +v -+.+78125 1.135316 -1.1875++ +v -+.135317 1.+78125 -1.1875++ +v -+.15625+ 1.++++++ -1.1875++ +v -+.135317 +.921875 -1.1875++ +v -+.+78125 +.864683 -1.1875++ +v +.++++++ +.84375+ -1.1875++ +v +.+78125 +.864683 -1.1875++ +v +.135316 +.921875 -1.1875++ +v +.15625+ 1.++++++ -1.1875++ +v +.135316 1.+78125 -1.1875++ +v +.+78125 1.135316 -1.1875++ +v -+.125+++ +.875+++ -3.++++++ +v +.125+++ +.875+++ -3.++++++ +v -+.125+++ 1.3125++ -3.++++++ +v +.125+++ 1.3125++ -3.++++++ +v -+.125+++ 1.3125++ -3.125+++ +v +.125+++ 1.3125++ -3.125+++ +v -+.125+++ 1.1875++ -3.25++++ +v -+.125+++ +.875+++ -3.25++++ +v +.125+++ +.875+++ -3.25++++ +v +.125+++ 1.1875++ -3.25++++ +v -+.21+29+ 1.222315 -3.25++++ +v -+.4+625+ 1.141146 -3.25++++ +v -+.574524 1.+12+24 -3.25++++ +v -+.784815 +.64779+ -3.25++++ +v -+.8125++ +.4375++ -3.25++++ +v -+.784815 +.22721+ -3.25++++ +v -+.574524 -+.137+24 -3.25++++ +v -+.4+625+ -+.266146 -3.25++++ +v -+.21+291 -+.347315 -3.25++++ +v +.21+29+ -+.347315 -3.25++++ +v +.4+625+ -+.266146 -3.25++++ +v +.574524 -+.137+24 -3.25++++ +v +.784815 +.2272+9 -3.25++++ +v +.8125++ +.4375++ -3.25++++ +v +.784815 +.64779+ -3.25++++ +v +.574525 1.+12+24 -3.25++++ +v +.4+625+ 1.141146 -3.25++++ +v +.21+291 1.222315 -3.25++++ +v -+.2165+6 1.125+++ -3.25++++ +v -+.25++++ 1.++++++ -3.25++++ +v -+.2165+6 +.875+++ -3.25++++ +v -+.125+++ +.783494 -3.25++++ +v -+.++++++ +.75++++ -3.25++++ +v +.125+++ +.783494 -3.25++++ +v +.2165+6 +.875+++ -3.25++++ +v +.25++++ 1.++++++ -3.25++++ +v +.2165+6 1.125+++ -3.25++++ +v +.2165+6 -+.25++++ -3.25++++ +v +.25++++ -+.125+++ -3.25++++ +v +.2165+6 +.++++++ -3.25++++ +v +.125+++ +.+915+6 -3.25++++ +v +.++++++ +.125+++ -3.25++++ +v -+.125+++ +.+915+6 -3.25++++ +v -+.2165+6 +.++++++ -3.25++++ +v -+.25++++ -+.125+++ -3.25++++ +v -+.2165+6 -+.25++++ -3.25++++ +v +.487139 +.96875+ -3.25++++ +v +.362139 +.935256 -3.25++++ +v +.27+633 +.84375+ -3.25++++ +v +.237139 +.71875+ -3.25++++ +v +.27+633 +.59375+ -3.25++++ +v +.362139 +.5+2244 -3.25++++ +v +.487139 +.46875+ -3.25++++ +v +.612139 +.5+2244 -3.25++++ +v +.7+3646 +.59375+ -3.25++++ +v -+.487139 -+.+9375+ -3.25++++ +v -+.362139 -+.+6+256 -3.25++++ +v -+.27+633 +.+3125+ -3.25++++ +v -+.237139 +.15625+ -3.25++++ +v -+.27+633 +.28125+ -3.25++++ +v -+.362139 +.372756 -3.25++++ +v -+.487139 +.4+625+ -3.25++++ +v -+.612139 +.372756 -3.25++++ +v -+.7+3645 +.28125+ -3.25++++ +v +.7+3646 +.28125+ -3.25++++ +v +.612139 +.372756 -3.25++++ +v +.487139 +.4+625+ -3.25++++ +v +.362139 +.372756 -3.25++++ +v +.27+633 +.28125+ -3.25++++ +v +.237139 +.15625+ -3.25++++ +v +.27+633 +.+3125+ -3.25++++ +v +.362139 -+.+6+256 -3.25++++ +v +.487139 -+.+9375+ -3.25++++ +v -+.7+3646 +.59375+ -3.25++++ +v -+.612139 +.5+2244 -3.25++++ +v -+.487139 +.46875+ -3.25++++ +v -+.362139 +.5+2244 -3.25++++ +v -+.27+633 +.59375+ -3.25++++ +v -+.237139 +.71875+ -3.25++++ +v -+.27+633 +.84375+ -3.25++++ +v -+.362139 +.935256 -3.25++++ +v -+.487139 +.96875+ -3.25++++ +v -+.1875++ +.562498 1.4375++ +v +.1875++ +.562498 1.4375++ +v -+.1875++ -+.4375+2 1.4375++ +v +.1875++ -+.4375+2 1.4375++ +v -+.1875++ +.562498 2.4375++ +v +.1875++ +.562498 2.4375++ +v +.1875++ +.+625++ 7.4375++ +v -+.1875++ +.+625++ 7.4375++ +v +.++++++ +.562498 2.4375++ +v -+.+9375+ +.537377 2.4375++ +v -+.16238+ +.468748 2.4375++ +v -+.1875++ +.374998 2.4375++ +v -+.16238+ +.281248 2.4375++ +v -+.+9375+ +.212618 2.4375++ +v +.++++++ +.187498 2.4375++ +v +.+9375+ +.212618 2.4375++ +v +.16238+ +.281248 2.4375++ +v +.1875++ +.374998 2.4375++ +v +.16238+ +.468747 2.4375++ +v +.+9375+ +.537377 2.4375++ +v +.++++++ +.562498 7.1875++ +v -+.+9375+ +.537377 7.1875++ +v -+.16238+ +.468748 7.1875++ +v -+.1875++ +.374998 7.1875++ +v -+.16238+ +.281248 7.1875++ +v -+.+9375+ +.212618 7.1875++ +v +.++++++ +.187498 7.1875++ +v +.+9375+ +.212618 7.1875++ +v +.16238+ +.281248 7.1875++ +v +.1875++ +.374998 7.1875++ +v +.16238+ +.468747 7.1875++ +v +.+9375+ +.537377 7.1875++ +v +.++++++ +.+62498 1.4375++ +v -+.+9375+ +.+37377 1.4375++ +v -+.16238+ -+.+31252 1.4375++ +v -+.1875++ -+.125++2 1.4375++ +v -+.16238+ -+.218752 1.4375++ +v -+.+9375+ -+.287382 1.4375++ +v +.++++++ -+.3125+2 1.4375++ +v +.+9375+ -+.287382 1.4375++ +v +.16238+ -+.218752 1.4375++ +v +.1875++ -+.125++2 1.4375++ +v +.16238+ -+.+31253 1.4375++ +v +.+9375+ +.+37377 1.4375++ +v +.++++++ +.+62498 -+.6875++ +v -+.+9375+ +.+37377 -+.6875++ +v -+.16238+ -+.+31252 -+.6875++ +v -+.1875++ -+.125++2 -+.6875++ +v -+.16238+ -+.218752 -+.6875++ +v -+.+9375+ -+.287382 -+.6875++ +v +.++++++ -+.3125+2 -+.6875++ +v +.+9375+ -+.287382 -+.6875++ +v +.16238+ -+.218752 -+.6875++ +v +.1875++ -+.125++2 -+.6875++ +v +.16238+ -+.+31253 -+.6875++ +v +.+9375+ +.+37377 -+.6875++ +v -+.1875++ -+.4375+2 2.+625++ +v -+.1875++ -+.+625+2 2.4375++ +v +.1875++ -+.+625+2 2.4375++ +v +.1875++ -+.4375+2 2.+625++ +v +.1875++ +.+625++ 7.1875++ +v -+.1875++ +.+625++ 7.1875++ +v -+.1875++ +.5625++ 7.5625++ +v +.1875++ +.5625++ 7.5625++ +v -+.1875++ +.5625++ 7.+625++ +v +.1875++ +.5625++ 7.+625++ +v +.4375++ -1.3125++ -4.625+++ +v -+.4375++ -1.3125++ -4.625+++ +v -+.375+++ -+.4375++ -3.25++++ +v +.375+++ -+.4375++ -3.25++++ +v -+.375+++ 1.3125++ -3.25++++ +v +.375+++ 1.3125++ -3.25++++ +v -+.875+++ +.8125++ -3.25++++ +v -+.875+++ +.+625++ -3.25++++ +v +.875+++ +.8125++ -3.25++++ +v +.875+++ +.+625++ -3.25++++ +v -+.375+++ -+.4375++ -3.75++++ +v +.375+++ -+.4375++ -3.75++++ +v +.875+++ +.+625++ -3.75++++ +v +.375+++ 1.3125++ -3.75++++ +v -+.375+++ 1.3125++ -3.75++++ +v -+.875+++ +.+625++ -3.75++++ +v -+.875+++ +.8125++ -3.75++++ +v +.875+++ +.8125++ -3.75++++ +v +.25++++ 1.++++++ -4.25++++ +v -+.25++++ 1.++++++ -4.25++++ +v +.25++++ -+.125+++ -4.25++++ +v -+.25++++ -+.125+++ -4.25++++ +v +.5625++ +.1875++ -4.25++++ +v +.5625++ +.6875++ -4.25++++ +v -+.5625++ +.1875++ -4.25++++ +v -+.5625++ +.6875++ -4.25++++ +v +.125+++ -+.4375++ -3.25++++ +v +.125+++ 1.3125++ -3.25++++ +v +.125+++ -+.4375++ -3.75++++ +v +.125+++ 1.3125++ -3.75++++ +v -+.125+++ -+.4375++ -3.25++++ +v -+.125+++ 1.3125++ -3.25++++ +v -+.125+++ -+.4375++ -3.75++++ +v -+.125+++ 1.3125++ -3.75++++ +v +.125+++ 1.++++++ -4.25++++ +v +.125+++ -+.125+++ -4.25++++ +v -+.125+++ 1.++++++ -4.25++++ +v -+.125+++ -+.125+++ -4.25++++ +v +.6875++ 1.125+++ -3.25++++ +v +.6875++ 1.125+++ -3.75++++ +v +.4375++ +.875+++ -4.25++++ +v +.6875++ -+.25++++ -3.25++++ +v -+.6875++ -+.25++++ -3.25++++ +v +.6875++ -+.25++++ -3.75++++ +v -+.6875++ -+.25++++ -3.75++++ +v -+.4375++ -+.++++++ -4.25++++ +v +.4375++ -+.++++++ -4.25++++ +v -+.6875++ 1.125+++ -3.25++++ +v -+.6875++ 1.125+++ -3.75++++ +v -+.4375++ +.875+++ -4.25++++ +v -+.375+++ -+.4375++ -1.++++++ +v +.375+++ -+.4375++ -1.++++++ +v -+.375+++ 1.3125++ -1.++++++ +v +.375+++ 1.3125++ -1.++++++ +v -+.875+++ +.8125++ -1.++++++ +v -+.875+++ +.+625++ -1.++++++ +v +.875+++ +.8125++ -1.++++++ +v +.875+++ +.+625++ -1.++++++ +v +.25++++ -+.4375++ -1.++++++ +v +.25++++ 1.3125++ -1.++++++ +v -+.25++++ -+.4375++ -1.++++++ +v -+.25++++ 1.3125++ -1.++++++ +v +.6875++ 1.125+++ -1.++++++ +v +.6875++ -+.25++++ -1.++++++ +v -+.6875++ -+.25++++ -1.++++++ +v -+.6875++ 1.125+++ -1.++++++ +v +.6875++ -+.25++++ -1.125+++ +v +.875+++ +.+625++ -1.125+++ +v +.25++++ 1.3125++ -1.125+++ +v +.375+++ 1.3125++ -1.125+++ +v -+.6875++ -+.25++++ -1.125+++ +v -+.875+++ +.+625++ -1.125+++ +v -+.875+++ +.8125++ -1.125+++ +v -+.6875++ 1.125+++ -1.125+++ +v +.875+++ +.8125++ -1.125+++ +v +.6875++ 1.125+++ -1.125+++ +v +.375+++ -+.4375++ -1.125+++ +v +.25++++ -+.4375++ -1.125+++ +v -+.25++++ -+.4375++ -1.125+++ +v -+.375+++ -+.4375++ -1.125+++ +v -+.375+++ 1.3125++ -1.125+++ +v -+.25++++ 1.3125++ -1.125+++ +v -+.++++++ 1.25++++ -1.125+++ +v -+.125+++ 1.2165+6 -1.125+++ +v -+.2165+6 1.125+++ -1.125+++ +v -+.25++++ 1.++++++ -1.125+++ +v -+.2165+6 +.875+++ -1.125+++ +v -+.125+++ +.783494 -1.125+++ +v -+.++++++ +.75++++ -1.125+++ +v +.125+++ +.783494 -1.125+++ +v +.2165+6 +.875+++ -1.125+++ +v +.25++++ 1.++++++ -1.125+++ +v +.2165+6 1.125+++ -1.125+++ +v +.125+++ 1.2165+6 -1.125+++ +v -+.125+++ +.625+++ -3.875+++ +v +.125+++ -+.4375++ -4.875+++ +v -+.125+++ +.9375++ -4.25++++ +v +.125+++ -+.75++++ -4.791266 +v -+.125+++ +.9375++ -4.375+++ +v +.125+++ -+.978766 -4.5625++ +v -+.125+++ 1.4375++ -4.625+++ +v +.125+++ -1.+625++ -4.25++++ +v -+.125+++ 1.4375++ -4.75++++ +v +.125+++ -+.978766 -3.9375++ +v -+.125+++ 1.5625++ -4.75++++ +v +.125+++ -+.75++++ -3.7+8734 +v -+.125+++ 1.5625++ -4.5+++++ +v +.125+++ -+.4375++ -3.625+++ +v -+.125+++ -+.125+++ -3.625+++ +v +.125+++ -+.125+++ -3.7+8734 +v -+.125+++ +.375+++ -3.875+++ +v +.125+++ +.1+3766 -3.9375++ +v -+.125+++ 1.+625++ -4.25++++ +v +.125+++ +.1875++ -4.25++++ +v -+.125+++ 1.3125++ -3.75++++ +v +.125+++ +.1+3766 -4.5625++ +v -+.125+++ 1.3125++ -3.5+++++ +v +.125+++ -+.125+++ -4.791265 +v -+.4375++ +.1875++ -3.75++++ +v +.4375++ +.1875++ -3.75++++ +v -+.4375++ +.1875++ -4.25++++ +v +.4375++ +.1875++ -4.25++++ +v +.4375++ -+.4375++ -4.875+++ +v +.4375++ +.1+3766 -4.5625++ +v +.4375++ -+.125+++ -4.791265 +v -+.4375++ -+.4375++ -4.875+++ +v -+.4375++ +.1+3766 -4.5625++ +v -+.4375++ -+.125+++ -4.791265 +v +.125+++ +.1875++ -4.25++++ +v +.125+++ -+.4375++ -4.875+++ +v +.125+++ +.1+3766 -4.5625++ +v +.125+++ -+.125+++ -4.791265 +v -+.125+++ +.1875++ -4.25++++ +v -+.125+++ -+.4375++ -4.875+++ +v -+.125+++ +.1+3766 -4.5625++ +v -+.125+++ -+.125+++ -4.791265 +v +.125+++ +.1875++ -3.75++++ +v -+.125+++ +.1875++ -3.75++++ +v +.4375++ -+.4375++ -4.625+++ +v -+.4375++ -+.4375++ -4.625+++ +v +.125+++ -+.4375++ -3.75++++ +v -+.125+++ -+.4375++ -3.75++++ +v +.125+++ -+.4375++ -4.25++++ +v -+.125+++ -+.4375++ -4.25++++ +v -+.125+++ +.875+++ -3.625+++ +v +.125+++ 1.125+++ -3.25++++ +v -+.125+++ 1.25++++ -3.5+++++ +v +.125+++ +.875+++ -3.25++++ +v -+.125+++ +.875+++ -3.25++++ +v +.125+++ 1.25++++ -3.5+++++ +v +.125+++ +.875+++ -3.625+++ +v -+.125+++ 1.125+++ -3.25++++ +v -+.125+++ -+.125+++ -4.791265 +v +.125+++ 1.3125++ -3.5+++++ +v -+.125+++ +.1+3766 -4.5625++ +v +.125+++ 1.3125++ -3.75++++ +v -+.125+++ +.1875++ -4.25++++ +v +.125+++ 1.+625++ -4.25++++ +v -+.125+++ +.1+3766 -3.9375++ +v +.125+++ 1.5625++ -4.5+++++ +v -+.125+++ -+.125+++ -3.7+8734 +v +.125+++ 1.5625++ -4.75++++ +v -+.125+++ -+.4375++ -3.625+++ +v +.125+++ 1.4375++ -4.75++++ +v -+.125+++ -+.75++++ -3.7+8734 +v +.125+++ 1.4375++ -4.625+++ +v -+.125+++ -+.978766 -3.9375++ +v +.125+++ +.9375++ -4.375+++ +v -+.125+++ -1.+625++ -4.25++++ +v +.125+++ +.9375++ -4.25++++ +v +.125+++ +.625+++ -3.875+++ +v -+.125+++ -+.978766 -4.5625++ +v +.125+++ +.375+++ -3.875+++ +v -+.125+++ -+.75++++ -4.791266 +v +.125+++ -+.125+++ -3.625+++ +v -+.125+++ -+.4375++ -4.875+++ +v +.4375++ +.+625++ -+.5+++++ +v +.8125++ +.+625++ -1.++++++ +v +.4375++ +.3125++ -+.5+++++ +v +.8125++ +.3125++ -1.++++++ +v +.4375++ +.+625++ -1.++++++ +v +.4375++ +.3125++ -1.++++++ +v -+.4375++ +.+625++ -+.5+++++ +v -+.8125++ +.+625++ -1.++++++ +v -+.4375++ +.3125++ -+.5+++++ +v -+.8125++ +.3125++ -1.++++++ +v -+.4375++ +.+625++ -1.++++++ +v -+.4375++ +.3125++ -1.++++++ +v +.4375++ +.5625++ -+.5+++++ +v +.8125++ +.5625++ -1.++++++ +v +.4375++ +.8125++ -+.5+++++ +v +.8125++ +.8125++ -1.++++++ +v +.4375++ +.5625++ -1.++++++ +v +.4375++ +.8125++ -1.++++++ +v -+.4375++ +.5625++ -+.5+++++ +v -+.8125++ +.5625++ -1.++++++ +v -+.4375++ +.8125++ -+.5+++++ +v -+.8125++ +.8125++ -1.++++++ +v -+.4375++ +.5625++ -1.++++++ +v -+.4375++ +.8125++ -1.++++++ +v +.5+++++ +.437498 +.75++++ +v -+.5+++++ +.437498 +.75++++ +v -+.25++++ -+.+625+2 1.75++++ +v +.25++++ -+.+625+2 1.75++++ +v -+.25++++ -+.195+85 1.8+4917 +v +.25++++ -+.195+85 1.8+4917 +v -+.25++++ -+.25+++2 1.9375++ +v +.25++++ -+.25+++2 1.9375++ +v -+.25++++ -+.195+85 2.+7++82 +v +.25++++ -+.195+85 2.+7++82 +v -+.25++++ -+.+625+2 2.125+++ +v +.25++++ -+.+625+2 2.125+++ +v -+.25++++ +.+7++8+ 2.+7++82 +v +.25++++ +.+7++8+ 2.+7++82 +v -+.25++++ +.124998 1.9375++ +v +.25++++ +.124998 1.9375++ +v -+.25++++ +.+7++8+ 1.8+4917 +v +.25++++ +.+7++8+ 1.8+4917 +v -+.5+++++ +.3+4915 +.8+4917 +v +.5+++++ +.3+4915 +.8+4917 +v -+.5+++++ +.249998 +.9375++ +v +.5+++++ +.249998 +.9375++ +v -+.5+++++ +.3+4915 1.+7++82 +v +.5+++++ +.3+4915 1.+7++82 +v -+.5+++++ +.437498 1.125+++ +v +.5+++++ +.437498 1.125+++ +v -+.5+++++ +.57++8+ 1.+7++82 +v +.5+++++ +.57++8+ 1.+7++82 +v -+.5+++++ +.624998 +.9375++ +v +.5+++++ +.624998 +.9375++ +v -+.5+++++ +.57++8+ +.8+4917 +v +.5+++++ +.57++8+ +.8+4917 +v +.4375++ +.3+4915 +.8+4917 +v +.4375++ +.249998 +.9375++ +v +.4375++ +.3+4915 1.+7++82 +v +.4375++ +.437498 1.125+++ +v +.4375++ +.57++8+ 1.+7++82 +v +.4375++ +.624998 +.9375++ +v +.4375++ +.57++8+ +.8+4917 +v +.4375++ +.437498 +.75++++ +v -+.4375++ +.437498 +.75++++ +v -+.4375++ +.57++8+ +.8+4917 +v -+.4375++ +.624998 +.9375++ +v -+.4375++ +.57++8+ 1.+7++82 +v -+.4375++ +.437498 1.125+++ +v -+.4375++ +.3+4915 1.+7++82 +v -+.4375++ +.249998 +.9375++ +v -+.4375++ +.3+4915 +.8+4917 +v +.1875++ -+.195+85 1.8+4917 +v +.1875++ -+.25+++2 1.9375++ +v +.1875++ -+.195+85 2.+7++82 +v +.1875++ -+.+625+2 2.125+++ +v +.1875++ +.+7++8+ 2.+7++82 +v +.1875++ +.124998 1.9375++ +v +.1875++ +.+7++8+ 1.8+4917 +v +.1875++ -+.+625+2 1.75++++ +v -+.1875++ -+.+625+2 1.75++++ +v -+.1875++ +.+7++8+ 1.8+4917 +v -+.1875++ +.124998 1.9375++ +v -+.1875++ +.+7++8+ 2.+7++82 +v -+.1875++ -+.+625+2 2.125+++ +v -+.1875++ -+.195+85 2.+7++82 +v -+.1875++ -+.25+++2 1.9375++ +v -+.1875++ -+.195+85 1.8+4917 +v +.1875++ 1.4375++ -2.1875++ +v -+.1875++ 1.4375++ -2.1875++ +v +.1875++ 2.6875++ -2.1875++ +v -+.1875++ 2.6875++ -2.1875++ +v +.125+++ 2.5625++ -2.1875++ +v -+.125+++ 2.5625++ -2.1875++ +v +.125+++ 1.75++++ -2.1875++ +v -+.125+++ 1.75++++ -2.1875++ +v +.125+++ 2.5625++ -2.3125++ +v -+.125+++ 2.5625++ -2.3125++ +v +.125+++ 1.75++++ -2.3125++ +v -+.125+++ 1.75++++ -2.3125++ +v +.1875++ 2.6875++ -2.3125++ +v -+.1875++ 2.6875++ -2.3125++ +v +.1875++ 1.4375++ -2.3125++ +v -+.1875++ 1.4375++ -2.3125++ +v -+.1875++ 1.5625++ -2.125+++ +v -+.1875++ 1.3125++ -2.125+++ +v -+.1875++ 1.5625++ -3.375+++ +v -+.1875++ 1.3125++ -3.625+++ +v -+.3125++ 1.5625++ -3.375+++ +v -+.3125++ 1.5625++ -2.125+++ +v -+.3125++ 1.3125++ -2.125+++ +v -+.3125++ 1.3125++ -3.625+++ +v -+.375+++ 1.4375++ -2.3125++ +v +.25++++ 1.4375++ -2.3125++ +v -+.375+++ 1.3933+6 -2.294194 +v +.25++++ 1.3933+6 -2.294194 +v -+.375+++ 1.375+++ -2.25++++ +v +.25++++ 1.375+++ -2.25++++ +v -+.375+++ 1.3933+6 -2.2+58+6 +v +.25++++ 1.3933+6 -2.2+58+6 +v -+.375+++ 1.4375++ -2.1875++ +v +.25++++ 1.4375++ -2.1875++ +v -+.375+++ 1.481694 -2.2+58+6 +v +.25++++ 1.481694 -2.2+58+6 +v -+.375+++ 1.5+++++ -2.25++++ +v +.25++++ 1.5+++++ -2.25++++ +v -+.375+++ 1.481694 -2.294194 +v +.25++++ 1.481694 -2.294194 +v +.125+++ 1.75++++ -2.15625+ +v +.125+++ 1.875+++ -2.15625+ +v +.125+++ 1.75++++ -2.34375+ +v +.125+++ 1.875+++ -2.34375+ +v +.25++++ 1.75++++ -2.15625+ +v +.25++++ 1.875+++ -2.15625+ +v +.25++++ 1.75++++ -2.34375+ +v +.25++++ 1.875+++ -2.34375+ +v +.+625++ 1.8125++ -2.15625+ +v +.+625++ 1.8125++ -2.34375+ +v -+.125+++ 1.75++++ -2.15625+ +v -+.125+++ 1.875+++ -2.15625+ +v -+.125+++ 1.75++++ -2.34375+ +v -+.125+++ 1.875+++ -2.34375+ +v -+.25++++ 1.75++++ -2.15625+ +v -+.25++++ 1.875+++ -2.15625+ +v -+.25++++ 1.75++++ -2.34375+ +v -+.25++++ 1.875+++ -2.34375+ +v -+.+625++ 1.8125++ -2.15625+ +v -+.+625++ 1.8125++ -2.34375+ +v -+.125+++ 1.8125++ 7.5+++++ +v +.125+++ 1.8125++ 7.5+++++ +v -+.125+++ 1.8125++ 7.++++++ +v +.125+++ 1.8125++ 7.++++++ +v -+.125+++ 1.5625++ 7.++++++ +v -+.125+++ 1.5625++ 7.5+++++ +v +.125+++ 1.5625++ 7.5+++++ +v +.125+++ 1.5625++ 7.++++++ +v -+.125+++ 1.4375++ 6.875+++ +v -+.125+++ 1.4375++ 7.625+++ +v +.125+++ 1.4375++ 7.625+++ +v +.125+++ 1.4375++ 6.875+++ +v -+.375+++ -+.9375++ -1.++++++ +v +.375+++ -+.9375++ -1.++++++ +v -+.375+++ -1.4375++ -4.625+++ +v +.375+++ -1.4375++ -4.625+++ +v -+.375+++ -1.3125++ -4.625+++ +v -+.375+++ -+.8125++ -1.++++++ +v +.375+++ -+.8125++ -1.++++++ +v +.375+++ -1.3125++ -4.625+++ +v +.1875++ +.1875++ 7.3125++ +v +.1875++ +.224112 7.224112 +v -+.25++++ +.3125++ 7.1875++ +v +.25++++ +.3125++ 7.1875++ +v -+.25++++ +.224112 7.224112 +v +.25++++ +.224112 7.224112 +v -+.25++++ +.1875++ 7.3125++ +v +.25++++ +.1875++ 7.3125++ +v -+.25++++ +.224112 7.4++888 +v +.25++++ +.224112 7.4++888 +v -+.25++++ +.3125++ 7.4375++ +v +.25++++ +.3125++ 7.4375++ +v -+.25++++ +.4++888 7.4++888 +v +.25++++ +.4++888 7.4++888 +v -+.25++++ +.4375++ 7.3125++ +v +.25++++ +.4375++ 7.3125++ +v -+.25++++ +.4++888 7.224112 +v +.25++++ +.4++888 7.224112 +v +.1875++ +.224112 7.4++888 +v +.1875++ +.3125++ 7.4375++ +v +.1875++ +.4++888 7.4++888 +v +.1875++ +.4375++ 7.3125++ +v +.1875++ +.4++888 7.224112 +v +.1875++ +.3125++ 7.1875++ +v -+.1875++ +.3125++ 7.1875++ +v -+.1875++ +.4++888 7.224112 +v -+.1875++ +.4375++ 7.3125++ +v -+.1875++ +.4++888 7.4++888 +v -+.1875++ +.3125++ 7.4375++ +v -+.1875++ +.224112 7.4++888 +v -+.1875++ +.1875++ 7.3125++ +v -+.1875++ +.224112 7.224112 +v +.5+++++ -+.4375+2 -4.4375++ +v -+.5+++++ -+.4375+2 -4.4375++ +v -+.5+++++ -+.57++85 -4.382583 +v +.5+++++ -+.57++85 -4.382583 +v -+.5+++++ -+.625++2 -4.25++++ +v +.5+++++ -+.625++2 -4.25++++ +v -+.5+++++ -+.57++85 -4.117417 +v +.5+++++ -+.57++85 -4.117417 +v -+.5+++++ -+.4375+2 -4.+625++ +v +.5+++++ -+.4375+2 -4.+625++ +v -+.5+++++ -+.3+492+ -4.117417 +v +.5+++++ -+.3+492+ -4.117417 +v -+.5+++++ -+.25+++2 -4.25++++ +v +.5+++++ -+.25+++2 -4.25++++ +v -+.5+++++ -+.3+492+ -4.382583 +v +.5+++++ -+.3+492+ -4.382583 +v +.4375++ -+.57++85 -4.382583 +v +.4375++ -+.625++2 -4.25++++ +v +.4375++ -+.57++85 -4.117417 +v +.4375++ -+.4375+2 -4.+625++ +v +.4375++ -+.3+492+ -4.117417 +v +.4375++ -+.25+++2 -4.25++++ +v +.4375++ -+.3+492+ -4.382583 +v +.4375++ -+.4375+2 -4.4375++ +v -+.4375++ -+.4375+2 -4.4375++ +v -+.4375++ -+.3+492+ -4.382583 +v -+.4375++ -+.25+++2 -4.25++++ +v -+.4375++ -+.3+492+ -4.117417 +v -+.4375++ -+.4375+2 -4.+625++ +v -+.4375++ -+.57++85 -4.117417 +v -+.4375++ -+.625++2 -4.25++++ +v -+.4375++ -+.57++85 -4.382583 +v +.4375++ -4.3125++ -5.625+++ +v -+.4375++ -4.3125++ -5.625+++ +v +.4375++ -3.3125++ -5.75++++ +v -+.4375++ -3.3125++ -5.75++++ +v +.4375++ -2.3125++ -5.625+++ +v -+.4375++ -2.3125++ -5.625+++ +v +.4375++ -1.5625++ -5.125+++ +v -+.4375++ -1.5625++ -5.125+++ +v +.4375++ -4.3125++ -8.++++++ +v -+.4375++ -4.3125++ -8.++++++ +v +.4375++ -3.8125++ -8.++++++ +v -+.4375++ -3.8125++ -8.++++++ +v +.4375++ -1.4375++ -7.++++++ +v -+.4375++ -1.4375++ -7.++++++ +v +.4375++ -+.8125++ -6.375+++ +v -+.4375++ -+.8125++ -6.375+++ +v +.4375++ -+.4375++ -5.5+++++ +v -+.4375++ -+.4375++ -5.5+++++ +v +.6875++ -1.3125++ -4.875+++ +v +.6875++ -1.5625++ -5.375+++ +v +.6875++ -2.3125++ -5.875+++ +v +.6875++ -3.3125++ -6.++++++ +v +.6875++ -4.+625++ -5.875+++ +v +.6875++ -4.+625++ -7.75++++ +v +.6875++ -3.8125++ -7.75++++ +v +.6875++ -1.6875++ -6.75++++ +v +.6875++ -1.+625++ -6.125+++ +v +.6875++ -+.6875++ -5.25++++ +v +.6875++ -+.6875++ -4.875+++ +v -+.6875++ -1.3125++ -4.875+++ +v -+.6875++ -+.6875++ -4.875+++ +v -+.6875++ -+.6875++ -5.25++++ +v -+.6875++ -1.+625++ -6.125+++ +v -+.6875++ -1.6875++ -6.75++++ +v -+.6875++ -3.8125++ -7.75++++ +v -+.6875++ -4.+625++ -7.75++++ +v -+.6875++ -4.+625++ -5.875+++ +v -+.6875++ -3.3125++ -6.++++++ +v -+.6875++ -2.3125++ -5.875+++ +v -+.6875++ -1.5625++ -5.375+++ +v +.4375++ -1.+625++ -3.1875++ +v +.4375++ -1.+25888 -3.275888 +v -+.5+++++ -+.9375++ -3.3125++ +v +.5+++++ -+.9375++ -3.3125++ +v -+.5+++++ -1.+25888 -3.275888 +v +.5+++++ -1.+25888 -3.275888 +v -+.5+++++ -1.+625++ -3.1875++ +v +.5+++++ -1.+625++ -3.1875++ +v -+.5+++++ -1.+25888 -3.+99112 +v +.5+++++ -1.+25888 -3.+99112 +v -+.5+++++ -+.9375++ -3.+625++ +v +.5+++++ -+.9375++ -3.+625++ +v -+.5+++++ -+.849112 -3.+99112 +v +.5+++++ -+.849112 -3.+99112 +v -+.5+++++ -+.8125++ -3.1875++ +v +.5+++++ -+.8125++ -3.1875++ +v -+.5+++++ -+.849112 -3.275888 +v +.5+++++ -+.849112 -3.275888 +v +.4375++ -1.+25888 -3.+99112 +v +.4375++ -+.9375++ -3.+625++ +v +.4375++ -+.849112 -3.+99112 +v +.4375++ -+.8125++ -3.1875++ +v +.4375++ -+.849112 -3.275888 +v +.4375++ -+.9375++ -3.3125++ +v -+.4375++ -+.9375++ -3.3125++ +v -+.4375++ -+.849112 -3.275888 +v -+.4375++ -+.8125++ -3.1875++ +v -+.4375++ -+.849112 -3.+99112 +v -+.4375++ -+.9375++ -3.+625++ +v -+.4375++ -1.+25888 -3.+99112 +v -+.4375++ -1.+625++ -3.1875++ +v -+.4375++ -1.+25888 -3.275888 +v -+.25++++ -2.1875++ -3.875+++ +v +.25++++ -2.1875++ -3.875+++ +v -+.25++++ -1.4375++ -4.625+++ +v +.25++++ -1.4375++ -4.625+++ +v -+.25++++ -1.6875++ -4.125+++ +v +.25++++ -1.6875++ -4.125+++ +v -+.25++++ -1.9375++ -2.375+++ +v +.25++++ -1.9375++ -2.375+++ +v -+.25++++ -1.6875++ -2.125+++ +v +.25++++ -1.6875++ -2.125+++ +v -+.25++++ -1.1875++ -2.125+++ +v +.25++++ -1.1875++ -2.125+++ +v -+.25++++ -1.+625++ -2.++++++ +v +.25++++ -1.+625++ -2.++++++ +v -+.25++++ -2.125+++ -3.8125++ +v +.25++++ -2.125+++ -3.8125++ +v -+.25++++ -1.875+++ -2.4375++ +v +.25++++ -1.875+++ -2.4375++ +v -+.25++++ -1.6875++ -2.25++++ +v +.25++++ -1.6875++ -2.25++++ +v -+.25++++ -1.3125++ -2.25++++ +v +.25++++ -1.3125++ -2.25++++ +v -+.25++++ -1.125+++ -2.4375++ +v +.25++++ -1.125+++ -2.4375++ +v -+.25++++ -1.375+++ -4.1875++ +v +.25++++ -1.375+++ -4.1875++ +v -+.125+++ -1.25++++ -3.625+++ +v +.125+++ -1.25++++ -3.625+++ +v -+.125+++ -1.625+++ -3.6875++ +v +.125+++ -1.625+++ -3.6875++ +v -+.125+++ -2.++++++ -3.5625++ +v +.125+++ -2.++++++ -3.5625++ +v -+.125+++ -1.625+++ -3.625+++ +v +.125+++ -1.625+++ -3.625+++ +v -+.125+++ -1.25++++ -3.5+++++ +v +.125+++ -1.25++++ -3.5+++++ +v -+.25++++ -1.75++++ -3.9375++ +v +.25++++ -1.75++++ -3.9375++ +v -+.25++++ -1.3125++ -3.9375++ +v +.25++++ -1.3125++ -3.9375++ +v +.++++++ 1.15625+ -1.1875++ +v -+.+78125 1.135316 -1.1875++ +v -+.135317 1.+78125 -1.1875++ +v -+.15625+ 1.++++++ -1.1875++ +v -+.135317 +.921875 -1.1875++ +v -+.+78125 +.864683 -1.1875++ +v +.++++++ +.84375+ -1.1875++ +v +.+78125 +.864683 -1.1875++ +v +.135317 +.921875 -1.1875++ +v +.15625+ 1.++++++ -1.1875++ +v +.135317 1.+78125 -1.1875++ +v +.+78125 1.135316 -1.1875++ +v +.++++++ 1.125+++ -1.125+++ +v -+.+625++ 1.1+8253 -1.125+++ +v -+.1+8253 1.+625++ -1.125+++ +v -+.125+++ 1.++++++ -1.125+++ +v -+.1+8253 +.9375++ -1.125+++ +v -+.+625++ +.891747 -1.125+++ +v +.++++++ +.875+++ -1.125+++ +v +.+625++ +.891747 -1.125+++ +v +.1+8253 +.9375++ -1.125+++ +v +.125+++ 1.++++++ -1.125+++ +v +.1+8253 1.+625++ -1.125+++ +v +.+625++ 1.1+8253 -1.125+++ +v +.125+++ -+.3415+7 -3.++++++ +v -+.125+++ -+.3415+6 -3.++++++ +v +.++++++ -+.375+++ -3.++++++ +v +.2165+7 -+.25++++ -3.++++++ +v +.25++++ -+.125+++ -3.++++++ +v +.2165+7 +.++++++ -3.++++++ +v +.125+++ +.+915+7 -3.++++++ +v +.++++++ +.125+++ -3.++++++ +v -+.125+++ +.+915+7 -3.++++++ +v -+.2165+6 +.++++++ -3.++++++ +v -+.25++++ -+.125+++ -3.++++++ +v -+.2165+6 -+.25++++ -3.++++++ +v +.125+++ -+.3415+7 -1.5+++++ +v -+.125+++ -+.3415+6 -1.5+++++ +v +.++++++ -+.375+++ -1.5+++++ +v +.2165+7 -+.25++++ -1.5+++++ +v +.25++++ -+.125+++ -1.5+++++ +v +.2165+7 +.++++++ -1.5+++++ +v +.125+++ +.+915+7 -1.5+++++ +v +.++++++ +.125+++ -1.5+++++ +v -+.125+++ +.+915+7 -1.5+++++ +v -+.2165+6 +.++++++ -1.5+++++ +v -+.25++++ -+.125+++ -1.5+++++ +v -+.2165+6 -+.25++++ -1.5+++++ +v -+.+9375+ -+.28738+ -1.25++++ +v -+.16238+ -+.21875+ -1.25++++ +v -+.1875++ -+.125+++ -1.25++++ +v -+.162379 -+.+3125+ -1.25++++ +v -+.+9375+ +.+3738+ -1.25++++ +v +.++++++ +.+625++ -1.25++++ +v +.+9375+ +.+3738+ -1.25++++ +v +.16238+ -+.+3125+ -1.25++++ +v +.1875++ -+.125+++ -1.25++++ +v +.16238+ -+.21875+ -1.25++++ +v +.+9375+ -+.28738+ -1.25++++ +v +.++++++ -+.3125++ -1.25++++ +v +.++++++ -+.3125++ -1.125+++ +v +.+9375+ -+.28738+ -1.125+++ +v +.16238+ -+.21875+ -1.125+++ +v +.1875++ -+.125+++ -1.125+++ +v +.16238+ -+.+3125+ -1.125+++ +v +.+9375+ +.+3738+ -1.125+++ +v +.++++++ +.+625++ -1.125+++ +v -+.+9375+ +.+3738+ -1.125+++ +v -+.162379 -+.+3125+ -1.125+++ +v -+.1875++ -+.125+++ -1.125+++ +v -+.16238+ -+.21875+ -1.125+++ +v -+.+9375+ -+.28738+ -1.125+++ +v +.++++++ -+.28125+ -1.125+++ +v +.+78125 -+.26+316 -1.125+++ +v +.135317 -+.2+3125 -1.125+++ +v +.15625+ -+.125+++ -1.125+++ +v +.135317 -+.+46874 -1.125+++ +v +.+78125 +.+1+317 -1.125+++ +v +.++++++ +.+31251 -1.125+++ +v -+.+78125 +.+1+317 -1.125+++ +v -+.135316 -+.+46874 -1.125+++ +v -+.15625+ -+.125+++ -1.125+++ +v -+.135316 -+.2+3125 -1.125+++ +v -+.+78125 -+.26+316 -1.125+++ +v +.++++++ -+.28125+ -1.1875++ +v +.+78125 -+.26+316 -1.1875++ +v +.135317 -+.2+3125 -1.1875++ +v +.15625+ -+.125+++ -1.1875++ +v +.135317 -+.+46874 -1.1875++ +v +.+78125 +.+1+317 -1.1875++ +v +.++++++ +.+31251 -1.1875++ +v -+.+78125 +.+1+317 -1.1875++ +v -+.135316 -+.+46874 -1.1875++ +v -+.15625+ -+.125+++ -1.1875++ +v -+.135316 -+.2+3125 -1.1875++ +v -+.+78125 -+.26+316 -1.1875++ +v +.125+++ +.++++++ -3.++++++ +v -+.125+++ +.++++++ -3.++++++ +v +.125+++ -+.4375++ -3.++++++ +v -+.125+++ -+.4375++ -3.++++++ +v +.125+++ -+.4375++ -3.125+++ +v -+.125+++ -+.4375++ -3.125+++ +v +.125+++ -+.3125++ -3.25++++ +v +.125+++ +.++++++ -3.25++++ +v -+.125+++ +.++++++ -3.25++++ +v -+.125+++ -+.3125++ -3.25++++ +v +.++++++ -+.28125+ -1.1875++ +v +.+78125 -+.26+316 -1.1875++ +v +.135317 -+.2+3125 -1.1875++ +v +.15625+ -+.125+++ -1.1875++ +v +.135317 -+.+46874 -1.1875++ +v +.+78125 +.+1+317 -1.1875++ +v +.++++++ +.+31251 -1.1875++ +v -+.+78125 +.+1+317 -1.1875++ +v -+.135317 -+.+46874 -1.1875++ +v -+.15625+ -+.125+++ -1.1875++ +v -+.135317 -+.2+3125 -1.1875++ +v -+.+78125 -+.26+316 -1.1875++ +v +.++++++ -+.25++++ -1.125+++ +v +.+625++ -+.233253 -1.125+++ +v +.1+8254 -+.1875++ -1.125+++ +v +.125+++ -+.125+++ -1.125+++ +v +.1+8254 -+.+625++ -1.125+++ +v +.+625++ -+.+16747 -1.125+++ +v +.++++++ +.++++++ -1.125+++ +v -+.+625++ -+.+16746 -1.125+++ +v -+.1+8253 -+.+625++ -1.125+++ +v -+.125+++ -+.125+++ -1.125+++ +v -+.1+8253 -+.1875++ -1.125+++ +v -+.+625++ -+.233253 -1.125+++ +v +.61214+ +.935257 -3.++++++ +v +.737139 +.71875+ -3.++++++ +v +.7+3646 +.84375+ -3.++++++ +v +.487139 +.96875+ -3.++++++ +v +.362139 +.935256 -3.++++++ +v +.27+633 +.84375+ -3.++++++ +v +.237139 +.71875+ -3.++++++ +v +.27+633 +.59375+ -3.++++++ +v +.362139 +.5+2244 -3.++++++ +v +.487139 +.46875+ -3.++++++ +v +.612139 +.5+2244 -3.++++++ +v +.7+3645 +.59375+ -3.++++++ +v +.61214+ +.935257 -1.5+++++ +v +.737139 +.71875+ -1.5+++++ +v +.7+3646 +.84375+ -1.5+++++ +v +.487139 +.96875+ -1.5+++++ +v +.362139 +.935256 -1.5+++++ +v +.27+633 +.84375+ -1.5+++++ +v +.237139 +.71875+ -1.5+++++ +v +.27+633 +.59375+ -1.5+++++ +v +.362139 +.5+2244 -1.5+++++ +v +.487139 +.46875+ -1.5+++++ +v +.612139 +.5+2244 -1.5+++++ +v +.7+3645 +.59375+ -1.5+++++ +v +.67464+ +.71875+ -1.25++++ +v +.649519 +.625+++ -1.25++++ +v +.58+889 +.55637+ -1.25++++ +v +.487139 +.53125+ -1.25++++ +v +.393389 +.55637+ -1.25++++ +v +.32476+ +.625+++ -1.25++++ +v +.299639 +.71875+ -1.25++++ +v +.32476+ +.8125++ -1.25++++ +v +.393389 +.88113+ -1.25++++ +v +.487139 +.9+625+ -1.25++++ +v +.58+89+ +.88113+ -1.25++++ +v +.649519 +.8125++ -1.25++++ +v +.649519 +.8125++ -1.125+++ +v +.58+89+ +.88113+ -1.125+++ +v +.487139 +.9+625+ -1.125+++ +v +.393389 +.88113+ -1.125+++ +v +.32476+ +.8125++ -1.125+++ +v +.299639 +.71875+ -1.125+++ +v +.32476+ +.625+++ -1.125+++ +v +.393389 +.55637+ -1.125+++ +v +.487139 +.53125+ -1.125+++ +v +.58+889 +.55637+ -1.125+++ +v +.649519 +.625+++ -1.125+++ +v +.67464+ +.71875+ -1.125+++ +v +.622456 +.796875 -1.125+++ +v +.565264 +.854+66 -1.125+++ +v +.487139 +.875+++ -1.125+++ +v +.4+9+14 +.854+66 -1.125+++ +v +.351822 +.796875 -1.125+++ +v +.33+889 +.71875+ -1.125+++ +v +.351822 +.64+625 -1.125+++ +v +.4+9+14 +.583433 -1.125+++ +v +.487139 +.5625++ -1.125+++ +v +.565264 +.583433 -1.125+++ +v +.622456 +.64+625 -1.125+++ +v +.643389 +.71875+ -1.125+++ +v +.622456 +.796875 -1.1875++ +v +.565264 +.854+66 -1.1875++ +v +.487139 +.875+++ -1.1875++ +v +.4+9+14 +.854+66 -1.1875++ +v +.351822 +.796875 -1.1875++ +v +.33+889 +.71875+ -1.1875++ +v +.351822 +.64+625 -1.1875++ +v +.4+9+14 +.583433 -1.1875++ +v +.487139 +.5625++ -1.1875++ +v +.565264 +.583433 -1.1875++ +v +.622456 +.64+625 -1.1875++ +v +.643389 +.71875+ -1.1875++ +v +.316386 +.7645+3 -3.++++++ +v +.441386 +.547997 -3.++++++ +v +.695272 +.983253 -3.++++++ +v +.82+272 +.766747 -3.++++++ +v +.695272 +.983253 -3.125+++ +v +.82+272 +.766747 -3.125+++ +v +.587+19 +.92+753 -3.25++++ +v +.316386 +.7645+3 -3.25++++ +v +.441386 +.547997 -3.25++++ +v +.712+19 +.7+4247 -3.25++++ +v +.622456 +.796875 -1.1875++ +v +.565264 +.854+66 -1.1875++ +v +.487139 +.875+++ -1.1875++ +v +.4+9+14 +.854+66 -1.1875++ +v +.351822 +.796875 -1.1875++ +v +.33+889 +.71875+ -1.1875++ +v +.351822 +.64+625 -1.1875++ +v +.4+9+14 +.583433 -1.1875++ +v +.487139 +.5625++ -1.1875++ +v +.565264 +.583433 -1.1875++ +v +.622456 +.64+625 -1.1875++ +v +.643389 +.71875+ -1.1875++ +v +.595392 +.78125+ -1.125+++ +v +.54964+ +.827++3 -1.125+++ +v +.487139 +.84375+ -1.125+++ +v +.424639 +.827++3 -1.125+++ +v +.378886 +.78125+ -1.125+++ +v +.362139 +.71875+ -1.125+++ +v +.378886 +.65625+ -1.125+++ +v +.424639 +.61+497 -1.125+++ +v +.487139 +.59375+ -1.125+++ +v +.549639 +.61+497 -1.125+++ +v +.595393 +.65625+ -1.125+++ +v +.61214+ +.71875+ -1.125+++ +v -+.61214+ -+.+6+257 -3.++++++ +v -+.737139 +.15625+ -3.++++++ +v -+.7+3646 +.+3125+ -3.++++++ +v -+.487139 -+.+9375+ -3.++++++ +v -+.362139 -+.+6+256 -3.++++++ +v -+.27+633 +.+3125+ -3.++++++ +v -+.237139 +.15625+ -3.++++++ +v -+.27+633 +.28125+ -3.++++++ +v -+.362139 +.372756 -3.++++++ +v -+.487139 +.4+625+ -3.++++++ +v -+.612139 +.372756 -3.++++++ +v -+.7+3645 +.28125+ -3.++++++ +v -+.61214+ -+.+6+257 -1.5+++++ +v -+.737139 +.15625+ -1.5+++++ +v -+.7+3646 +.+3125+ -1.5+++++ +v -+.487139 -+.+9375+ -1.5+++++ +v -+.362139 -+.+6+256 -1.5+++++ +v -+.27+633 +.+3125+ -1.5+++++ +v -+.237139 +.15625+ -1.5+++++ +v -+.27+633 +.28125+ -1.5+++++ +v -+.362139 +.372756 -1.5+++++ +v -+.487139 +.4+625+ -1.5+++++ +v -+.612139 +.372756 -1.5+++++ +v -+.7+3645 +.28125+ -1.5+++++ +v -+.67464+ +.15625+ -1.25++++ +v -+.649519 +.25++++ -1.25++++ +v -+.58+889 +.31863+ -1.25++++ +v -+.487139 +.34375+ -1.25++++ +v -+.393389 +.31863+ -1.25++++ +v -+.324759 +.25++++ -1.25++++ +v -+.299639 +.15625+ -1.25++++ +v -+.324759 +.+625++ -1.25++++ +v -+.393389 -+.++613+ -1.25++++ +v -+.487139 -+.+3125+ -1.25++++ +v -+.58+89+ -+.++613+ -1.25++++ +v -+.649519 +.+625++ -1.25++++ +v -+.649519 +.+625++ -1.125+++ +v -+.58+89+ -+.++613+ -1.125+++ +v -+.487139 -+.+3125+ -1.125+++ +v -+.393389 -+.++613+ -1.125+++ +v -+.324759 +.+625++ -1.125+++ +v -+.299639 +.15625+ -1.125+++ +v -+.324759 +.25++++ -1.125+++ +v -+.393389 +.31863+ -1.125+++ +v -+.487139 +.34375+ -1.125+++ +v -+.58+889 +.31863+ -1.125+++ +v -+.649519 +.25++++ -1.125+++ +v -+.67464+ +.15625+ -1.125+++ +v -+.622456 +.+78125 -1.125+++ +v -+.565264 +.+2+934 -1.125+++ +v -+.487139 -+.++++++ -1.125+++ +v -+.4+9+14 +.+2+934 -1.125+++ +v -+.351822 +.+78125 -1.125+++ +v -+.33+889 +.15625+ -1.125+++ +v -+.351822 +.234375 -1.125+++ +v -+.4+9+14 +.291567 -1.125+++ +v -+.487139 +.3125++ -1.125+++ +v -+.565264 +.291567 -1.125+++ +v -+.622456 +.234375 -1.125+++ +v -+.643389 +.15625+ -1.125+++ +v -+.622456 +.+78125 -1.1875++ +v -+.565264 +.+2+934 -1.1875++ +v -+.487139 -+.++++++ -1.1875++ +v -+.4+9+14 +.+2+934 -1.1875++ +v -+.351822 +.+78125 -1.1875++ +v -+.33+889 +.15625+ -1.1875++ +v -+.351822 +.234375 -1.1875++ +v -+.4+9+14 +.291567 -1.1875++ +v -+.487139 +.3125++ -1.1875++ +v -+.565264 +.291567 -1.1875++ +v -+.622456 +.234375 -1.1875++ +v -+.643389 +.15625+ -1.1875++ +v -+.316386 +.11+497 -3.++++++ +v -+.441386 +.327++3 -3.++++++ +v -+.695272 -+.1+8253 -3.++++++ +v -+.82+272 +.1+8253 -3.++++++ +v -+.695272 -+.1+8253 -3.125+++ +v -+.82+272 +.1+8253 -3.125+++ +v -+.587+19 -+.+45753 -3.25++++ +v -+.316386 +.11+497 -3.25++++ +v -+.441386 +.327++3 -3.25++++ +v -+.712+19 +.17+753 -3.25++++ +v -+.622456 +.+78125 -1.1875++ +v -+.565264 +.+2+934 -1.1875++ +v -+.487139 -+.++++++ -1.1875++ +v -+.4+9+14 +.+2+934 -1.1875++ +v -+.351822 +.+78125 -1.1875++ +v -+.33+889 +.15625+ -1.1875++ +v -+.351822 +.234375 -1.1875++ +v -+.4+9+14 +.291567 -1.1875++ +v -+.487139 +.3125+1 -1.1875++ +v -+.565264 +.291567 -1.1875++ +v -+.622456 +.234375 -1.1875++ +v -+.643389 +.15625+ -1.1875++ +v -+.595392 +.+9375+ -1.125+++ +v -+.549639 +.+47997 -1.125+++ +v -+.487139 +.+3125+ -1.125+++ +v -+.424639 +.+47997 -1.125+++ +v -+.378886 +.+9375+ -1.125+++ +v -+.362139 +.15625+ -1.125+++ +v -+.378886 +.21875+ -1.125+++ +v -+.424639 +.2645+3 -1.125+++ +v -+.487139 +.28125+ -1.125+++ +v -+.549639 +.2645+3 -1.125+++ +v -+.595393 +.21875+ -1.125+++ +v -+.61214+ +.15625+ -1.125+++ +v +.73714+ +.15625+ -3.++++++ +v +.612139 -+.+6+256 -3.++++++ +v +.7+3646 +.+3125+ -3.++++++ +v +.7+3646 +.28125+ -3.++++++ +v +.612139 +.372756 -3.++++++ +v +.487139 +.4+625+ -3.++++++ +v +.362139 +.372756 -3.++++++ +v +.27+633 +.28125+ -3.++++++ +v +.237139 +.15625+ -3.++++++ +v +.27+633 +.+3125+ -3.++++++ +v +.362139 -+.+6+256 -3.++++++ +v +.487139 -+.+9375+ -3.++++++ +v +.73714+ +.15625+ -1.5+++++ +v +.612139 -+.+6+256 -1.5+++++ +v +.7+3646 +.+3125+ -1.5+++++ +v +.7+3646 +.28125+ -1.5+++++ +v +.612139 +.372756 -1.5+++++ +v +.487139 +.4+625+ -1.5+++++ +v +.362139 +.372756 -1.5+++++ +v +.27+633 +.28125+ -1.5+++++ +v +.237139 +.15625+ -1.5+++++ +v +.27+633 +.+3125+ -1.5+++++ +v +.362139 -+.+6+256 -1.5+++++ +v +.487139 -+.+9375+ -1.5+++++ +v +.58+89+ -+.++613+ -1.25++++ +v +.487139 -+.+3125+ -1.25++++ +v +.393389 -+.++613+ -1.25++++ +v +.32476+ +.+625++ -1.25++++ +v +.299639 +.15625+ -1.25++++ +v +.32476+ +.25++++ -1.25++++ +v +.393389 +.31863+ -1.25++++ +v +.487139 +.34375+ -1.25++++ +v +.58+889 +.31863+ -1.25++++ +v +.649519 +.25++++ -1.25++++ +v +.67464+ +.15625+ -1.25++++ +v +.649519 +.+625++ -1.25++++ +v +.649519 +.+625++ -1.125+++ +v +.67464+ +.15625+ -1.125+++ +v +.649519 +.25++++ -1.125+++ +v +.58+889 +.31863+ -1.125+++ +v +.487139 +.34375+ -1.125+++ +v +.393389 +.31863+ -1.125+++ +v +.32476+ +.25++++ -1.125+++ +v +.299639 +.15625+ -1.125+++ +v +.32476+ +.+625++ -1.125+++ +v +.393389 -+.++613+ -1.125+++ +v +.487139 -+.+3125+ -1.125+++ +v +.58+89+ -+.++613+ -1.125+++ +v +.622456 +.+78125 -1.125+++ +v +.643389 +.15625+ -1.125+++ +v +.622456 +.234375 -1.125+++ +v +.565264 +.291567 -1.125+++ +v +.487139 +.3125+1 -1.125+++ +v +.4+9+14 +.291567 -1.125+++ +v +.351822 +.234375 -1.125+++ +v +.33+889 +.15625+ -1.125+++ +v +.351822 +.+78125 -1.125+++ +v +.4+9+14 +.+2+934 -1.125+++ +v +.487139 +.++++++ -1.125+++ +v +.565264 +.+2+934 -1.125+++ +v +.622456 +.+78125 -1.1875++ +v +.643389 +.15625+ -1.1875++ +v +.622456 +.234375 -1.1875++ +v +.565264 +.291567 -1.1875++ +v +.487139 +.3125+1 -1.1875++ +v +.4+9+14 +.291567 -1.1875++ +v +.351822 +.234375 -1.1875++ +v +.33+889 +.15625+ -1.1875++ +v +.351822 +.+78125 -1.1875++ +v +.4+9+14 +.+2+934 -1.1875++ +v +.487139 +.++++++ -1.1875++ +v +.565264 +.+2+934 -1.1875++ +v +.441386 +.327++3 -3.++++++ +v +.316386 +.11+497 -3.++++++ +v +.82+272 +.1+8253 -3.++++++ +v +.695272 -+.1+8253 -3.++++++ +v +.82+272 +.1+8253 -3.125+++ +v +.695272 -+.1+8253 -3.125+++ +v +.712+19 +.17+753 -3.25++++ +v +.441386 +.327++3 -3.25++++ +v +.316386 +.11+497 -3.25++++ +v +.587+19 -+.+45753 -3.25++++ +v +.622456 +.+78125 -1.1875++ +v +.643389 +.15625+ -1.1875++ +v +.622456 +.234375 -1.1875++ +v +.565264 +.291567 -1.1875++ +v +.487139 +.3125+1 -1.1875++ +v +.4+9+14 +.291567 -1.1875++ +v +.351822 +.234375 -1.1875++ +v +.33+889 +.15625+ -1.1875++ +v +.351822 +.+78125 -1.1875++ +v +.4+9+14 +.+2+934 -1.1875++ +v +.487139 -+.++++++ -1.1875++ +v +.565264 +.+2+934 -1.1875++ +v +.595393 +.+9375+ -1.125+++ +v +.61214+ +.15625+ -1.125+++ +v +.595393 +.21875+ -1.125+++ +v +.549639 +.2645+3 -1.125+++ +v +.48714+ +.28125+ -1.125+++ +v +.424639 +.2645+3 -1.125+++ +v +.378886 +.21875+ -1.125+++ +v +.362139 +.15625+ -1.125+++ +v +.378886 +.+9375+ -1.125+++ +v +.424639 +.+47997 -1.125+++ +v +.487139 +.+3125+ -1.125+++ +v +.54964+ +.+47997 -1.125+++ +v -+.73714+ +.71875+ -3.++++++ +v -+.612139 +.935256 -3.++++++ +v -+.7+3646 +.84375+ -3.++++++ +v -+.7+3646 +.59375+ -3.++++++ +v -+.612139 +.5+2244 -3.++++++ +v -+.487139 +.46875+ -3.++++++ +v -+.362139 +.5+2244 -3.++++++ +v -+.27+633 +.59375+ -3.++++++ +v -+.237139 +.71875+ -3.++++++ +v -+.27+633 +.84375+ -3.++++++ +v -+.362139 +.935256 -3.++++++ +v -+.487139 +.96875+ -3.++++++ +v -+.73714+ +.71875+ -1.5+++++ +v -+.612139 +.935256 -1.5+++++ +v -+.7+3646 +.84375+ -1.5+++++ +v -+.7+3646 +.59375+ -1.5+++++ +v -+.612139 +.5+2244 -1.5+++++ +v -+.487139 +.46875+ -1.5+++++ +v -+.362139 +.5+2244 -1.5+++++ +v -+.27+633 +.59375+ -1.5+++++ +v -+.237139 +.71875+ -1.5+++++ +v -+.27+633 +.84375+ -1.5+++++ +v -+.362139 +.935256 -1.5+++++ +v -+.487139 +.96875+ -1.5+++++ +v -+.58+89+ +.88113+ -1.25++++ +v -+.487139 +.9+625+ -1.25++++ +v -+.393389 +.88113+ -1.25++++ +v -+.32476+ +.8125++ -1.25++++ +v -+.299639 +.71875+ -1.25++++ +v -+.324759 +.625+++ -1.25++++ +v -+.393389 +.55637+ -1.25++++ +v -+.487139 +.53125+ -1.25++++ +v -+.58+889 +.55637+ -1.25++++ +v -+.649519 +.625+++ -1.25++++ +v -+.67464+ +.71875+ -1.25++++ +v -+.649519 +.8125++ -1.25++++ +v -+.649519 +.8125++ -1.125+++ +v -+.67464+ +.71875+ -1.125+++ +v -+.649519 +.625+++ -1.125+++ +v -+.58+889 +.55637+ -1.125+++ +v -+.487139 +.53125+ -1.125+++ +v -+.393389 +.55637+ -1.125+++ +v -+.324759 +.625+++ -1.125+++ +v -+.299639 +.71875+ -1.125+++ +v -+.32476+ +.8125++ -1.125+++ +v -+.393389 +.88113+ -1.125+++ +v -+.487139 +.9+625+ -1.125+++ +v -+.58+89+ +.88113+ -1.125+++ +v -+.622456 +.796875 -1.125+++ +v -+.643389 +.71875+ -1.125+++ +v -+.622456 +.64+625 -1.125+++ +v -+.565264 +.583433 -1.125+++ +v -+.487139 +.562499 -1.125+++ +v -+.4+9+14 +.583433 -1.125+++ +v -+.351822 +.64+625 -1.125+++ +v -+.33+889 +.71875+ -1.125+++ +v -+.351822 +.796875 -1.125+++ +v -+.4+9+14 +.854+66 -1.125+++ +v -+.487139 +.875+++ -1.125+++ +v -+.565264 +.854+66 -1.125+++ +v -+.622456 +.796875 -1.1875++ +v -+.643389 +.71875+ -1.1875++ +v -+.622456 +.64+625 -1.1875++ +v -+.565264 +.583433 -1.1875++ +v -+.487139 +.562499 -1.1875++ +v -+.4+9+14 +.583433 -1.1875++ +v -+.351822 +.64+625 -1.1875++ +v -+.33+889 +.71875+ -1.1875++ +v -+.351822 +.796875 -1.1875++ +v -+.4+9+14 +.854+66 -1.1875++ +v -+.487139 +.875+++ -1.1875++ +v -+.565264 +.854+66 -1.1875++ +v -+.441386 +.547997 -3.++++++ +v -+.316386 +.7645+3 -3.++++++ +v -+.82+272 +.766747 -3.++++++ +v -+.695272 +.983253 -3.++++++ +v -+.82+272 +.766747 -3.125+++ +v -+.695272 +.983253 -3.125+++ +v -+.712+19 +.7+4247 -3.25++++ +v -+.441386 +.547997 -3.25++++ +v -+.316386 +.7645+3 -3.25++++ +v -+.587+19 +.92+753 -3.25++++ +v -+.622456 +.796875 -1.1875++ +v -+.643389 +.71875+ -1.1875++ +v -+.622456 +.64+625 -1.1875++ +v -+.565264 +.583433 -1.1875++ +v -+.487139 +.562499 -1.1875++ +v -+.4+9+14 +.583433 -1.1875++ +v -+.351822 +.64+625 -1.1875++ +v -+.33+889 +.71875+ -1.1875++ +v -+.351822 +.796875 -1.1875++ +v -+.4+9+14 +.854+66 -1.1875++ +v -+.487139 +.875+++ -1.1875++ +v -+.565264 +.854+66 -1.1875++ +v -+.595392 +.78125+ -1.125+++ +v -+.612139 +.71875+ -1.125+++ +v -+.595393 +.65625+ -1.125+++ +v -+.549639 +.61+497 -1.125+++ +v -+.487139 +.59375+ -1.125+++ +v -+.424639 +.61+497 -1.125+++ +v -+.378886 +.65625+ -1.125+++ +v -+.362139 +.71875+ -1.125+++ +v -+.378886 +.78125+ -1.125+++ +v -+.424639 +.827++3 -1.125+++ +v -+.487139 +.84375+ -1.125+++ +v -+.549639 +.827++3 -1.125+++ +vt +.+34653 +.253333 +vt +.294554 +.293333 +vt +.+34653 +.293333 +vt +.+34653 +.373333 +vt +.292+79 +.333333 +vt +.391+89 +.373333 +vt +.+34653 +.333333 +vt +.+34653 +.413333 +vt +.391+89 +.413333 +vt +.+34653 +.453333 +vt +.+34653 +.573333 +vt +.292+79 +.533333 +vt +.294554 +.573333 +vt +.391+89 +.493333 +vt +.+34653 +.493333 +vt +.+34653 +.533333 +vt +.+259+1 +.446667 +vt +.+27228 +.433333 +vt +.311881 +.16++++ +vt +.168317 +.166667 +vt +.168317 +.16++++ +vt +.391+89 +.16++++ +vt +.391+89 +.2+++++ +vt +.381188 +.16++++ +vt +.391+89 +.666667 +vt +.391+89 +.7+6667 +vt +.381188 +.7+6667 +vt +.346535 +.253333 +vt +.373762 +.233333 +vt +.373762 +.633333 +vt +.346535 +.613333 +vt +.925439 +.139993 +vt +.926256 +.123329 +vt +.927582 +.13666+ +vt +.9312+6 +.14642+ +vt +.93+945 +.159321 +vt +.955445 +.186653 +vt +.95+496 +.176415 +vt +.955445 +.179988 +vt +.96+395 +.176415 +vt +.964413 +.183473 +vt +.985452 +.139993 +vt +.979685 +.14642+ +vt +.9833+9 +.13666+ +vt +.955445 +.++++13 +vt +.95+496 +.+1+251 +vt +.946478 +.++3193 +vt +.984635 +.123329 +vt +.988913 +.117486 +vt +.925439 +.+46673 +vt +.9312+6 +.+4+247 +vt +.927582 +.+5+++6 +vt +.926256 +.+63338 +vt +.921978 +.+6918+ +vt +.96+395 +.+1+251 +vt +.955445 +.++6679 +vt +.985452 +.+46673 +vt +.979685 +.+4+247 +vt +.979946 +.+27346 +vt +.984635 +.+63338 +vt +.9833+9 +.+5+++6 +vt +.979685 +.1++238 +vt +.974735 +.+9++++ +vt +.979685 +.+86428 +vt +.974735 +.+96666 +vt +.969786 +.+86428 +vt +.966162 +.1+9998 +vt +.969786 +.1++238 +vt +.9833+9 +.1+9998 +vt +.9833+9 +.+76669 +vt +.965345 +.153325 +vt +.966162 +.13666+ +vt +.969786 +.14642+ +vt +.964+19 +.139993 +vt +.964836 +.123329 +vt +.96+395 +.13+234 +vt +.964+19 +.166656 +vt +.974735 +.149992 +vt +.97277+ +.174151 +vt +.99++94 +.+93333 +vt +.945546 +.153325 +vt +.936156 +.149992 +vt +.9411+5 +.14642+ +vt +.946872 +.139993 +vt +.944729 +.13666+ +vt +.946+55 +.123329 +vt +.95+496 +.13+234 +vt +.944729 +.1+9998 +vt +.955445 +.126662 +vt +.946872 +.+2++11 +vt +.9411+5 +.+4+247 +vt +.936156 +.+36675 +vt +.945546 +.+33342 +vt +.944729 +.+5+++6 +vt +.946872 +.+46673 +vt +.946+55 +.+63338 +vt +.95+496 +.+56433 +vt +.944729 +.+76669 +vt +.965345 +.+33342 +vt +.974735 +.+36675 +vt +.969786 +.+4+247 +vt +.964+19 +.+46673 +vt +.966162 +.+5+++6 +vt +.96+395 +.+56433 +vt +.964836 +.+63338 +vt +.966162 +.+76669 +vt +.955445 +.+6+++5 +vt +.964+19 +.+2++11 +vt +.97277+ +.+12516 +vt +.938121 +.+12516 +vt +.9312+6 +.+86428 +vt +.927582 +.1+9998 +vt +.927582 +.+76669 +vt +.936156 +.+96666 +vt +.9312+6 +.1++238 +vt +.936156 +.+9++++ +vt +.9411+5 +.1++238 +vt +.9411+5 +.+86428 +vt +.92+797 +.+93333 +vt +.946872 +.166656 +vt +.938121 +.174151 +vt +.++++++ +.413333 +vt +.++8752 +.42++++ +vt +.++7426 +.433333 +vt +.+24752 +.386667 +vt +.+22277 +.41+239 +vt +.+17327 +.4+6667 +vt +.++99+1 +.48++++ +vt +.+12376 +.456427 +vt +.+17327 +.46++++ +vt +.+22277 +.456427 +vt +.+259+1 +.42++++ +vt +.+12376 +.41+239 +vt +.++++++ +.453333 +vt +.398548 +.433333 +vt +.399874 +.446661 +vt +.391+89 +.453333 +vt +.4+3497 +.456418 +vt +.4++99+ +.48++++ +vt +.4++99+ +.386667 +vt +.399874 +.42+++5 +vt +.418342 +.433333 +vt +.417+16 +.42+++5 +vt +.465347 +.386667 +vt +.417+16 +.446661 +vt +.465347 +.48++++ +vt +.413394 +.456418 +vt +.413394 +.41+249 +vt +.4+8445 +.459989 +vt +.4+3497 +.41+249 +vt +.4+8445 +.4+6677 +vt +.925743 +.4+++++ +vt +.923267 +.413333 +vt +.923267 +.4+++++ +vt +.925743 +.386667 +vt +.923267 +.386667 +vt +.925743 +.373333 +vt +.923267 +.373333 +vt +.925743 +.36++++ +vt +.923267 +.36++++ +vt +.925743 +.52++++ +vt +.923267 +.5+6667 +vt +.925743 +.5+6667 +vt +.923267 +.493333 +vt +.925743 +.493333 +vt +.923267 +.48++++ +vt +.925743 +.48++++ +vt +.923267 +.466667 +vt +.925743 +.466667 +vt +.923267 +.453333 +vt +.925743 +.453333 +vt +.923267 +.44++++ +vt +.925743 +.44++++ +vt +.925743 +.426667 +vt +.923267 +.426667 +vt +.925743 +.413333 +vt +.922116 +.53333+ +vt +.93+693 +.519993 +vt +.93927+ +.56+++4 +vt +.962871 +.546667 +vt +.95297+ +.593333 +vt +.95297+ +.546667 +vt +.972772 +.6+6667 +vt +.982673 +.593333 +vt +.982673 +.6+6667 +vt +.972772 +.546667 +vt +.972772 +.58++++ +vt +.982673 +.58++++ +vt +.982673 +.546667 +vt +.972772 +.593333 +vt +.972772 +.52++++ +vt +.982673 +.52++++ +vt +.92+792 +.+13333 +vt +.91+891 +.+26667 +vt +.91+891 +.++6667 +vt +.92+792 +.146667 +vt +.91+891 +.133333 +vt +.92+792 +.133333 +vt +.92+792 +.146667 +vt +.91+891 +.133333 +vt +.92+792 +.133333 +vt +.915842 +.34++++ +vt +.91+891 +.34++++ +vt +.913366 +.333333 +vt +.91+891 +.32++++ +vt +.913366 +.3+6667 +vt +.91+891 +.3+++++ +vt +.915842 +.3+++++ +vt +.92+792 +.+13333 +vt +.91+891 +.+26667 +vt +.91+891 +.++6667 +vt +.91+891 +.24++++ +vt +.913366 +.253333 +vt +.91+891 +.26++++ +vt +.915842 +.26++++ +vt +.913366 +.226667 +vt +.91+891 +.22++++ +vt +.915842 +.22++++ +vt +.92+792 +.146667 +vt +.91+891 +.133333 +vt +.92+792 +.133333 +vt +.915842 +.18++++ +vt +.91+891 +.18++++ +vt +.913366 +.173333 +vt +.91+891 +.16++++ +vt +.913366 +.626667 +vt +.91+891 +.64++++ +vt +.91+891 +.62++++ +vt +.915842 +.62++++ +vt +.92+792 +.+13333 +vt +.91+891 +.+26667 +vt +.91+891 +.++6667 +vt +.91+891 +.56++++ +vt +.913366 +.573333 +vt +.91+891 +.58++++ +vt +.913366 +.546667 +vt +.91+891 +.54++++ +vt +.915842 +.54++++ +vt +.915842 +.58++++ +vt +.92+792 +.146667 +vt +.91+891 +.133333 +vt +.92+792 +.133333 +vt +.92+792 +.+13333 +vt +.91+891 +.+26667 +vt +.91+891 +.++6667 +vt +.92+792 +.146667 +vt +.91+891 +.133333 +vt +.92+792 +.133333 +vt +.915842 +.5+++++ +vt +.91+891 +.5+++++ +vt +.913366 +.493333 +vt +.91+891 +.48++++ +vt +.913366 +.466667 +vt +.91+891 +.46++++ +vt +.915842 +.46++++ +vt +.92+792 +.+13333 +vt +.91+891 +.+26667 +vt +.91+891 +.++6667 +vt +.913366 +.386667 +vt +.91+891 +.4+++++ +vt +.91+891 +.38++++ +vt +.913366 +.413333 +vt +.91+891 +.42++++ +vt +.915842 +.42++++ +vt +.915842 +.38++++ +vt +.92+792 +.+13333 +vt +.91+891 +.+26667 +vt +.91+891 +.++6667 +vt +.92+792 +.146667 +vt +.91+891 +.133333 +vt +.92+792 +.133333 +vt +.928734 +.266429 +vt +.928734 +.28+237 +vt +.92+8+2 +.273333 +vt +.938632 +.326412 +vt +.943+72 +.333316 +vt +.936886 +.348367 +vt +.969+55 +.348367 +vt +.962868 +.333316 +vt +.9673+8 +.326412 +vt +.9772+6 +.28+237 +vt +.9772+6 +.266429 +vt +.985139 +.273333 +vt +.9673+8 +.22+255 +vt +.962868 +.213351 +vt +.969+55 +.1983++ +vt +.936886 +.1983++ +vt +.943+72 +.213351 +vt +.938632 +.22+255 +vt +.95297+ +.24++1+ +vt +.957919 +.236438 +vt +.962359 +.243342 +vt +.638614 +.52++++ +vt +.653465 +.626667 +vt +.638614 +.626667 +vt +.584158 +.56++++ +vt +.544554 +.626667 +vt +.5693+7 +.52++++ +vt +.599+1+ +.56++++ +vt +.613861 +.52++++ +vt +.41+891 +.533333 +vt +.42+792 +.573333 +vt +.41+891 +.573333 +vt +.992574 +.546667 +vt +.992574 +.593333 +vt +.44+594 +.533333 +vt +.42+792 +.533333 +vt +.391+89 +.573333 +vt +.425743 +.626667 +vt +.4+5941 +.48++++ +vt +.311881 +.246667 +vt +.168317 +.253333 +vt +.168317 +.246667 +vt +.334158 +.773333 +vt +.35396+ +.8+6667 +vt +.35396+ +.926667 +vt +.294554 +.96++++ +vt +.274752 +.926667 +vt +.274752 +.8+6667 +vt +.41+891 +.9+6667 +vt +.41+891 +.826667 +vt +.44+594 +.96++++ +vt +.188119 +.773333 +vt +.198+2+ +.773333 +vt +.21+396 +.793333 +vt +.+99+1+ +.72++++ +vt +.+72933 +.726679 +vt +.+99+1+ +.64++++ +vt +.+297+3 +.72++++ +vt +.+5578+ +.726679 +vt +.+54453 +.74++16 +vt +.1+396+ +.72++++ +vt +.1+396+ +.64++++ +vt +.128713 +.773333 +vt +.++++++ +.586667 +vt +.++495+ +.586667 +vt +.+17327 +.6+6667 +vt +.+72933 +.753353 +vt +.+7426+ +.74++16 +vt +.+792+8 +.773333 +vt +.+54455 +.773333 +vt +.+495+5 +.773333 +vt +.+5578+ +.753353 +vt +.576733 +.3+6667 +vt +.564356 +.32++++ +vt +.566832 +.3+6667 +vt +.+64356 +.76669+ +vt +.+74257 +.773333 +vt +.+54455 +.586667 +vt +.+74257 +.586667 +vt +.+64356 +.713342 +vt +.+693+8 +.716916 +vt +.+91584 +.6+6667 +vt +.+37129 +.6+6667 +vt +.+594+5 +.716916 +vt +.777228 +.773333 +vt +.767327 +.74++++ +vt +.777228 +.74++++ +vt +.777228 +.7+6667 +vt +.767327 +.7+6667 +vt +.767327 +.673333 +vt +.767327 +.64++++ +vt +.777228 +.673333 +vt +.777228 +.64++++ +vt +.767327 +.6+6667 +vt +.777228 +.6+6667 +vt +.767327 +.573333 +vt +.767327 +.54++++ +vt +.777228 +.573333 +vt +.777228 +.5+6667 +vt +.777228 +.54++++ +vt +.722772 +.64++++ +vt +.712871 +.72++++ +vt +.712871 +.64++++ +vt +.767327 +.813333 +vt +.762376 +.786667 +vt +.767327 +.786667 +vt +.7++516 +.515696 +vt +.725227 +.515696 +vt +.725227 +.63+971 +vt +.762376 +.813333 +vt +.742574 +.786667 +vt +.742574 +.813333 +vt +.737624 +.786667 +vt +.663366 +.673333 +vt +.673267 +.713333 +vt +.663366 +.713333 +vt +.673267 +.646667 +vt +.673267 +.673333 +vt +.542+79 +.633333 +vt +.544554 +.666667 +vt +.534653 +.666667 +vt +.534653 +.2+++++ +vt +.542+79 +.233333 +vt +.532178 +.26++++ +vt +.737624 +.813333 +vt +.732673 +.786667 +vt +.599+1+ +.386667 +vt +.574257 +.42++++ +vt +.574257 +.386667 +vt +.574257 +.48++++ +vt +.599+1+ +.446667 +vt +.599+1+ +.48++++ +vt +.574257 +.446667 +vt +.732673 +.813333 +vt +.722772 +.786667 +vt +.7896+4 +.633333 +vt +.8+198+ +.626667 +vt +.8+198+ +.693333 +vt +.811881 +.693333 +vt +.811881 +.626667 +vt +.824257 +.633333 +vt +.722772 +.813333 +vt +.7+297+ +.786667 +vt +.712871 +.76++++ +vt +.693+69 +.786667 +vt +.693+69 +.76++++ +vt +.688119 +.713333 +vt +.673267 +.74++++ +vt +.693+69 +.786667 +vt +.683168 +.76++++ +vt +.693+69 +.76++++ +vt +.663366 +.766667 +vt +.673267 +.773333 +vt +.663366 +.773333 +vt +.663366 +.74++++ +vt +.673267 +.766667 +vt +.698+2+ +.686667 +vt +.712871 +.733333 +vt +.712871 +.72++++ +vt +.688119 +.713333 +vt +.727723 +.773333 +vt +.717822 +.72++++ +vt +.691471 +.6+661+ +vt +.688119 +.6+6667 +vt +.7++516 +.63+971 +vt +.688119 +.6+6667 +vt +.688119 +.573333 +vt +.691471 +.6+661+ +vt +.663366 +.646667 +vt +.673267 +.62++++ +vt +.727723 +.773333 +vt +.673267 +.74++++ +vt +.673267 +.713333 +vt +.725227 +.63+971 +vt +.737582 +.573333 +vt +.7++516 +.515696 +vt +.663366 +.62++++ +vt +.673267 +.566667 +vt +.663366 +.533333 +vt +.663366 +.566667 +vt +.693+69 +.76++++ +vt +.683168 +.753333 +vt +.777228 +.8+6667 +vt +.767327 +.773333 +vt +.698+2+ +.686667 +vt +.698+2+ +.66++++ +vt +.4+5941 +.2+++++ +vt +.415842 +.253333 +vt +.4+5941 +.253333 +vt +.415842 +.2+++++ +vt +.43+693 +.2+++++ +vt +.43+693 +.253333 +vt +.391+89 +.253333 +vt +.391+89 +.2+++++ +vt +.445545 +.253333 +vt +.455446 +.2+++++ +vt +.455446 +.253333 +vt +.445545 +.2+++++ +vt +.43+693 +.253333 +vt +.43+693 +.2+++++ +vt +.47+297 +.2+++++ +vt +.47+297 +.253333 +vt +.4+5941 +.2+++++ +vt +.415842 +.253333 +vt +.4+5941 +.253333 +vt +.415842 +.2+++++ +vt +.43+693 +.2+++++ +vt +.43+693 +.253333 +vt +.391+89 +.253333 +vt +.391+89 +.2+++++ +vt +.445545 +.253333 +vt +.455446 +.2+++++ +vt +.455446 +.253333 +vt +.445545 +.2+++++ +vt +.43+693 +.253333 +vt +.43+693 +.2+++++ +vt +.47+297 +.2+++++ +vt +.47+297 +.253333 +vt +.55198+ +.626784 +vt +.559362 +.646667 +vt +.55198+ +.66655+ +vt +.559362 +.646667 +vt +.55198+ +.66655+ +vt +.544598 +.646667 +vt +.55198+ +.626784 +vt +.559362 +.646667 +vt +.55198+ +.66655+ +vt +.55198+ +.66655+ +vt +.54676+ +.66+726 +vt +.5572++ +.6326+7 +vt +.5594+6 +.32++++ +vt +.547+3+ +.3+6667 +vt +.556931 +.3+6667 +vt +.544554 +.186667 +vt +.556931 +.22++++ +vt +.547+3+ +.22++++ +vt +.544554 +.32++++ +vt +.566832 +.22++++ +vt +.5792+8 +.186667 +vt +.576733 +.22++++ +vt +.5792+8 +.32++++ +vt +.564356 +.186667 +vt +.55198+ +.3+6667 +vt +.576733 +.293333 +vt +.566832 +.293333 +vt +.5594+6 +.186667 +vt +.5792+8 +.173333 +vt +.564356 +.173333 +vt +.55198+ +.22++++ +vt +.566832 +.233333 +vt +.576733 +.233333 +vt +.584158 +.32++++ +vt +.584158 +.186667 +vt +.564356 +.333333 +vt +.5792+8 +.333333 +vt +.5594+6 +.1+6667 +vt +.6+8911 +.133333 +vt +.5594+6 +.133333 +vt +.6+8911 +.146667 +vt +.5594+6 +.173333 +vt +.5594+6 +.146667 +vt +.618812 +.133333 +vt +.554455 +.146667 +vt +.554455 +.173333 +vt +.618812 +.+93333 +vt +.618812 +.1+6667 +vt +.646+4+ +.1+6549 +vt +.6436+8 +.1+++++ +vt +.646+4+ +.+93451 +vt +.646+4+ +.119882 +vt +.64432+ +.117964 +vt +.647759 +.1+87+3 +vt +.653465 +.146667 +vt +.655941 +.126667 +vt +.655941 +.146667 +vt +.648515 +.126667 +vt +.653465 +.113333 +vt +.653465 +.126667 +vt +.641+89 +.146667 +vt +.648515 +.16++++ +vt +.641+89 +.16++++ +vt +.655941 +.153333 +vt +.653465 +.16++++ +vt +.648515 +.113333 +vt +.653465 +.+93333 +vt +.648515 +.146667 +vt +.655941 +.+93333 +vt +.655941 +.126667 +vt +.658416 +.146667 +vt +.655941 +.146667 +vt +.663366 +.113333 +vt +.663366 +.126667 +vt +.658416 +.126667 +vt +.663366 +.16++++ +vt +.67+792 +.146667 +vt +.67+792 +.16++++ +vt +.658416 +.16++++ +vt +.663366 +.146667 +vt +.658416 +.+93333 +vt +.658416 +.113333 +vt +.655941 +.+93333 +vt +.5297+3 +.+4++++ +vt +.5495+5 +.+66667 +vt +.5297+3 +.+66667 +vt +.5297+3 +.+13333 +vt +.554455 +.++++++ +vt +.5495+5 +.+13333 +vt +.5495+5 +.+4++++ +vt +.5297+3 +.+93333 +vt +.5495+5 +.+93333 +vt +.524752 +.1+6667 +vt +.5+99+1 +.+13333 +vt +.366337 +.+93333 +vt +.366337 +.+13333 +vt +.158416 +.16++++ +vt +.514852 +.+93333 +vt +.5+99+1 +.+93333 +vt +.361386 +.+13333 +vt +.5+99+1 +.1+6667 +vt +.366337 +.1+6667 +vt +.5+99+1 +.++++++ +vt +.54676+ +.66+726 +vt +.544598 +.646667 +vt +.54676+ +.6326+7 +vt +.566832 +.653279 +vt +.563345 +.64939+ +vt +.57+318 +.63+61+ +vt +.566832 +.653279 +vt +.5619+1 +.64++++ +vt +.566832 +.626721 +vt +.55198+ +.626784 +vt +.559362 +.646667 +vt +.55198+ +.66655+ +vt +.7+5446 +.12++++ +vt +.7896+4 +.+93333 +vt +.695545 +.+93333 +vt +.566832 +.653279 +vt +.563345 +.64939+ +vt +.57+318 +.63+61+ +vt +.566832 +.653279 +vt +.5619+1 +.64++++ +vt +.566832 +.626721 +vt +.933168 +.693333 +vt +.935644 +.74++++ +vt +.943+69 +.746667 +vt +.93+693 +.7+++++ +vt +.871287 +.693333 +vt +.933168 +.693333 +vt +.866337 +.72++++ +vt +.861386 +.72++++ +vt +.866337 +.76++++ +vt +.861386 +.773333 +vt +.873762 +.78++++ +vt +.856436 +.786667 +vt +.871287 +.693333 +vt +.93+693 +.7+++++ +vt +.866337 +.72++++ +vt +.861386 +.72++++ +vt +.866337 +.76++++ +vt +.861386 +.773333 +vt +.873762 +.78++++ +vt +.856436 +.786667 +vt +.945545 +.78++++ +vt +.962871 +.773333 +vt +.962871 +.773333 +vt +.945545 +.78++++ +vt +.943+69 +.746667 +vt +.844+59 +.813333 +vt +.844+59 +.773333 +vt +.846535 +.813333 +vt +.831683 +.813333 +vt +.834158 +.773333 +vt +.834158 +.813333 +vt +.935644 +.74++++ +vt +.935644 +.786667 +vt +.935644 +.786667 +vt +.5+++++ +.2+++++ +vt +.534653 +.1+6667 +vt +.5+++++ +.666667 +vt +.534653 +.76++++ +vt +.946782 +.556675 +vt +.951+67 +.563337 +vt +.946782 +.583325 +vt +.941426 +.528338 +vt +.952138 +.528338 +vt +.946782 +.553323 +vt +.925743 +.4+++++ +vt +.923267 +.413333 +vt +.923267 +.4+++++ +vt +.925743 +.386667 +vt +.923267 +.386667 +vt +.925743 +.373333 +vt +.923267 +.373333 +vt +.925743 +.36++++ +vt +.923267 +.36++++ +vt +.925743 +.52++++ +vt +.923267 +.5+6667 +vt +.925743 +.5+6667 +vt +.923267 +.493333 +vt +.925743 +.493333 +vt +.923267 +.48++++ +vt +.925743 +.48++++ +vt +.923267 +.466667 +vt +.925743 +.466667 +vt +.923267 +.453333 +vt +.925743 +.453333 +vt +.923267 +.44++++ +vt +.925743 +.44++++ +vt +.925743 +.426667 +vt +.923267 +.426667 +vt +.925743 +.413333 +vt +.922116 +.53333+ +vt +.93+693 +.519993 +vt +.93927+ +.56+++4 +vt +.962871 +.546667 +vt +.95297+ +.593333 +vt +.95297+ +.546667 +vt +.972772 +.6+6667 +vt +.982673 +.593333 +vt +.982673 +.6+6667 +vt +.972772 +.546667 +vt +.972772 +.58++++ +vt +.982673 +.58++++ +vt +.982673 +.546667 +vt +.972772 +.593333 +vt +.972772 +.52++++ +vt +.982673 +.52++++ +vt +.992574 +.546667 +vt +.992574 +.593333 +vt +.946782 +.556675 +vt +.951+67 +.563337 +vt +.946782 +.583325 +vt +.941426 +.528338 +vt +.952138 +.528338 +vt +.946782 +.553323 +vt +.925743 +.4+++++ +vt +.923267 +.413333 +vt +.923267 +.4+++++ +vt +.925743 +.386667 +vt +.923267 +.386667 +vt +.925743 +.373333 +vt +.923267 +.373333 +vt +.925743 +.36++++ +vt +.923267 +.36++++ +vt +.925743 +.52++++ +vt +.923267 +.5+6667 +vt +.925743 +.5+6667 +vt +.923267 +.493333 +vt +.925743 +.493333 +vt +.923267 +.48++++ +vt +.925743 +.48++++ +vt +.923267 +.466667 +vt +.925743 +.466667 +vt +.923267 +.453333 +vt +.925743 +.453333 +vt +.923267 +.44++++ +vt +.925743 +.44++++ +vt +.925743 +.426667 +vt +.923267 +.426667 +vt +.925743 +.413333 +vt +.922116 +.56+++4 +vt +.93+693 +.519993 +vt +.93927+ +.56+++4 +vt +.962871 +.546667 +vt +.95297+ +.593333 +vt +.95297+ +.546667 +vt +.972772 +.6+6667 +vt +.982673 +.593333 +vt +.982673 +.6+6667 +vt +.972772 +.546667 +vt +.972772 +.58++++ +vt +.982673 +.546667 +vt +.972772 +.593333 +vt +.982673 +.58++++ +vt +.972772 +.52++++ +vt +.982673 +.52++++ +vt +.992574 +.546667 +vt +.992574 +.593333 +vt +.946782 +.556675 +vt +.951+67 +.563337 +vt +.946782 +.583325 +vt +.941426 +.528338 +vt +.952138 +.528338 +vt +.946782 +.553323 +vt +.925743 +.4+++++ +vt +.923267 +.413333 +vt +.923267 +.4+++++ +vt +.925743 +.386667 +vt +.923267 +.386667 +vt +.925743 +.373333 +vt +.923267 +.373333 +vt +.925743 +.36++++ +vt +.923267 +.36++++ +vt +.925743 +.52++++ +vt +.923267 +.5+6667 +vt +.925743 +.5+6667 +vt +.923267 +.493333 +vt +.925743 +.493333 +vt +.923267 +.48++++ +vt +.925743 +.48++++ +vt +.923267 +.466667 +vt +.925743 +.466667 +vt +.923267 +.453333 +vt +.925743 +.453333 +vt +.923267 +.44++++ +vt +.925743 +.44++++ +vt +.925743 +.426667 +vt +.923267 +.426667 +vt +.925743 +.413333 +vt +.922116 +.56+++4 +vt +.93+693 +.519993 +vt +.93927+ +.56+++4 +vt +.962871 +.546667 +vt +.95297+ +.593333 +vt +.95297+ +.546667 +vt +.972772 +.6+6667 +vt +.982673 +.593333 +vt +.982673 +.6+6667 +vt +.972772 +.546667 +vt +.972772 +.58++++ +vt +.982673 +.58++++ +vt +.982673 +.546667 +vt +.972772 +.52++++ +vt +.982673 +.52++++ +vt +.992574 +.546667 +vt +.992574 +.593333 +vt +.946782 +.556675 +vt +.951+67 +.563337 +vt +.946782 +.583325 +vt +.941426 +.528338 +vt +.952138 +.528338 +vt +.946782 +.553323 +vt +.925743 +.4+++++ +vt +.923267 +.413333 +vt +.923267 +.4+++++ +vt +.925743 +.386667 +vt +.923267 +.386667 +vt +.925743 +.373333 +vt +.923267 +.373333 +vt +.925743 +.36++++ +vt +.923267 +.36++++ +vt +.925743 +.52++++ +vt +.923267 +.5+6667 +vt +.925743 +.5+6667 +vt +.923267 +.493333 +vt +.925743 +.493333 +vt +.923267 +.48++++ +vt +.925743 +.48++++ +vt +.923267 +.466667 +vt +.925743 +.466667 +vt +.923267 +.453333 +vt +.925743 +.453333 +vt +.923267 +.44++++ +vt +.925743 +.44++++ +vt +.925743 +.426667 +vt +.923267 +.426667 +vt +.925743 +.413333 +vt +.922116 +.56+++4 +vt +.93+693 +.519993 +vt +.93927+ +.56+++4 +vt +.962871 +.546667 +vt +.95297+ +.593333 +vt +.95297+ +.546667 +vt +.972772 +.6+6667 +vt +.982673 +.593333 +vt +.982673 +.6+6667 +vt +.972772 +.546667 +vt +.972772 +.58++++ +vt +.982673 +.58++++ +vt +.982673 +.546667 +vt +.972772 +.593333 +vt +.972772 +.52++++ +vt +.982673 +.52++++ +vt +.992574 +.546667 +vt +.992574 +.593333 +vt +.946782 +.556675 +vt +.951+67 +.563337 +vt +.946782 +.583325 +vt +.941426 +.528338 +vt +.952138 +.528338 +vt +.946782 +.553323 +vt +.925743 +.4+++++ +vt +.923267 +.413333 +vt +.923267 +.4+++++ +vt +.925743 +.386667 +vt +.923267 +.386667 +vt +.925743 +.373333 +vt +.923267 +.373333 +vt +.925743 +.36++++ +vt +.923267 +.36++++ +vt +.925743 +.52++++ +vt +.923267 +.5+6667 +vt +.925743 +.5+6667 +vt +.923267 +.493333 +vt +.925743 +.493333 +vt +.923267 +.48++++ +vt +.925743 +.48++++ +vt +.923267 +.466667 +vt +.925743 +.466667 +vt +.923267 +.453333 +vt +.925743 +.453333 +vt +.923267 +.44++++ +vt +.925743 +.44++++ +vt +.925743 +.426667 +vt +.923267 +.426667 +vt +.925743 +.413333 +vt +.922116 +.53333+ +vt +.93+693 +.519993 +vt +.93927+ +.56+++4 +vt +.962871 +.546667 +vt +.95297+ +.593333 +vt +.95297+ +.546667 +vt +.972772 +.6+6667 +vt +.982673 +.593333 +vt +.982673 +.6+6667 +vt +.972772 +.546667 +vt +.972772 +.58++++ +vt +.982673 +.546667 +vt +.972772 +.593333 +vt +.982673 +.58++++ +vt +.972772 +.52++++ +vt +.982673 +.52++++ +vt +.992574 +.546667 +vt +.992574 +.593333 +vt +.946782 +.556675 +vt +.951+67 +.563337 +vt +.946782 +.583325 +vt +.941426 +.528338 +vt +.952138 +.528338 +vt +.946782 +.553323 +vt +.294554 +.253333 +vt +.311881 +.166667 +vt +.297+3+ +.28++++ +vt +.316832 +.253333 +vt +.297+3+ +.586667 +vt +.316832 +.613333 +vt +.921978 +.117486 +vt +.946478 +.183473 +vt +.979946 +.15932+ +vt +.93+945 +.+27346 +vt +.964413 +.++3193 +vt +.988913 +.+6918+ +vt +.++8752 +.446667 +vt +.++99+1 +.386667 +vt +.+24752 +.48++++ +vt +.923267 +.52++++ +vt +.935645 +.569767 +vt +.93+693 +.573341 +vt +.925741 +.569767 +vt +.922116 +.56+++4 +vt +.92+789 +.546667 +vt +.925741 +.523566 +vt +.935645 +.523566 +vt +.93927+ +.53333+ +vt +.94+597 +.546667 +vt +.962871 +.593333 +vt +.967822 +.593333 +vt +.92+792 +.+26667 +vt +.91+891 +.153333 +vt +.91+891 +.153333 +vt +.913366 +.32++++ +vt +.92+792 +.+26667 +vt +.913366 +.24++++ +vt +.91+891 +.153333 +vt +.913366 +.16++++ +vt +.913366 +.64++++ +vt +.92+792 +.+26667 +vt +.913366 +.56++++ +vt +.91+891 +.153333 +vt +.92+792 +.+26667 +vt +.91+891 +.153333 +vt +.913366 +.48++++ +vt +.92+792 +.+26667 +vt +.913366 +.4+++++ +vt +.92+792 +.+26667 +vt +.91+891 +.153333 +vt +.921897 +.25+9+9 +vt +.925111 +.256671 +vt +.933683 +.27+++1 +vt +.933683 +.276666 +vt +.925111 +.289995 +vt +.921897 +.295758 +vt +.93+223 +.334598 +vt +.933683 +.329984 +vt +.942255 +.316654 +vt +.944398 +.319986 +vt +.944398 +.346645 +vt +.944644 +.357+23 +vt +.975717 +.334598 +vt +.972257 +.329984 +vt +.961296 +.357+23 +vt +.961542 +.346645 +vt +.961542 +.319986 +vt +.963685 +.316654 +vt +.984+43 +.295758 +vt +.98+829 +.289995 +vt +.972257 +.276666 +vt +.972257 +.27+++1 +vt +.98+829 +.256671 +vt +.984+43 +.25+9+9 +vt +.975717 +.212+69 +vt +.972257 +.216683 +vt +.963685 +.23++13 +vt +.961542 +.22668+ +vt +.961542 +.2+++21 +vt +.961296 +.189644 +vt +.93+223 +.212+68 +vt +.933683 +.216683 +vt +.944644 +.189644 +vt +.944398 +.2+++21 +vt +.944398 +.22668+ +vt +.942255 +.23++13 +vt +.948+21 +.31+229 +vt +.943581 +.3+3325 +vt +.95297+ +.3+6657 +vt +.942255 +.289995 +vt +.962359 +.3+3325 +vt +.957919 +.31+229 +vt +.963685 +.289995 +vt +.938632 +.28+237 +vt +.938632 +.266429 +vt +.942255 +.256671 +vt +.9673+8 +.28+237 +vt +.963685 +.256671 +vt +.943581 +.243342 +vt +.948+21 +.236438 +vt +.9673+8 +.266429 +vt +.653465 +.52++++ +vt +.584158 +.626667 +vt +.544554 +.52++++ +vt +.599+1+ +.626667 +vt +.987624 +.593333 +vt +.44+594 +.573333 +vt +.391+89 +.533333 +vt +.4+5941 +.626667 +vt +.425743 +.48++++ +vt +.311881 +.253333 +vt +.334158 +.96++++ +vt +.314356 +.96++++ +vt +.314356 +.773333 +vt +.294554 +.773333 +vt +.314356 +.773333 +vt +.314356 +.96++++ +vt +.418317 +.793333 +vt +.44+594 +.773333 +vt +.43+693 +.773333 +vt +.43+693 +.96++++ +vt +.418317 +.94++++ +vt +.217822 +.826667 +vt +.217822 +.9+6667 +vt +.21+396 +.94++++ +vt +.188119 +.96++++ +vt +.198+2+ +.96++++ +vt +.+297+3 +.64++++ +vt +.111386 +.6+6667 +vt +.128713 +.586667 +vt +.123762 +.586667 +vt +.123762 +.773333 +vt +.111386 +.753333 +vt +.+24752 +.64++++ +vt +.+24752 +.72++++ +vt +.+17327 +.753333 +vt +.++++++ +.773333 +vt +.++495+ +.773333 +vt +.+91584 +.753333 +vt +.+693+8 +.763116 +vt +.+37129 +.753333 +vt +.+594+5 +.763116 +vt +.+792+8 +.586667 +vt +.+495+5 +.586667 +vt +.767327 +.5+6667 +vt +.722772 +.72++++ +vt +.734271 +.54++56 +vt +.737582 +.573333 +vt +.734271 +.6+6611 +vt +.712871 +.639888 +vt +.7++516 +.63+971 +vt +.68816+ +.573333 +vt +.691471 +.54++56 +vt +.712871 +.5+6779 +vt +.5+++++ +.6+++++ +vt +.5198+2 +.6+++++ +vt +.532178 +.6+6667 +vt +.5+++++ +.266667 +vt +.5198+2 +.266667 +vt +.544554 +.2+++++ +vt +.599+1+ +.42++++ +vt +.777228 +.693333 +vt +.7797+3 +.66++++ +vt +.834158 +.66++++ +vt +.836634 +.693333 +vt +.7+297+ +.813333 +vt +.712871 +.786667 +vt +.683168 +.786667 +vt +.712871 +.64++++ +vt +.698+2+ +.66++++ +vt +.683168 +.753333 +vt +.683168 +.76++++ +vt +.722772 +.786667 +vt +.732673 +.786667 +vt +.732673 +.773333 +vt +.688119 +.573333 +vt +.712871 +.733333 +vt +.717822 +.72++++ +vt +.732673 +.773333 +vt +.734271 +.54++56 +vt +.725227 +.515696 +vt +.712871 +.5+6779 +vt +.691471 +.54++56 +vt +.68816+ +.573333 +vt +.712871 +.639888 +vt +.734271 +.6+6611 +vt +.673267 +.533333 +vt +.683168 +.76++++ +vt +.767327 +.8+6667 +vt +.5572++ +.6326+7 +vt +.5572++ +.66+726 +vt +.54676+ +.66+726 +vt +.544598 +.646667 +vt +.54676+ +.6326+7 +vt +.5572++ +.66+726 +vt +.54676+ +.66+726 +vt +.54676+ +.6326+7 +vt +.55198+ +.626784 +vt +.5572++ +.6326+7 +vt +.54676+ +.66+726 +vt +.544598 +.646667 +vt +.54676+ +.6326+7 +vt +.5572++ +.6326+7 +vt +.5572++ +.66+726 +vt +.544598 +.646667 +vt +.54676+ +.6326+7 +vt +.55198+ +.626784 +vt +.559362 +.646667 +vt +.5572++ +.66+726 +vt +.55198+ +.22++++ +vt +.55198+ +.3+6667 +vt +.618812 +.173333 +vt +.618812 +.146667 +vt +.5594+6 +.+93333 +vt +.647759 +.+95369 +vt +.648471 +.1+++++ +vt +.647759 +.1+4631 +vt +.64432+ +.1+4631 +vt +.64432+ +.+95369 +vt +.6436+8 +.113333 +vt +.64432+ +.1+87+3 +vt +.646+4+ +.1+6785 +vt +.648471 +.113333 +vt +.647759 +.117964 +vt +.655941 +.12++++ +vt +.648515 +.+93333 +vt +.655941 +.113333 +vt +.655941 +.12++++ +vt +.655941 +.153333 +vt +.663366 +.+93333 +vt +.655941 +.113333 +vt +.524752 +.++++++ +vt +.554455 +.1+6667 +vt +.158416 +.253333 +vt +.514852 +.+13333 +vt +.361386 +.+93333 +vt +.366337 +.++++++ +vt +.55198+ +.626784 +vt +.5572++ +.6326+7 +vt +.559362 +.646667 +vt +.5572++ +.66+726 +vt +.55198+ +.66655+ +vt +.5619+1 +.64++++ +vt +.563345 +.63+61+ +vt +.566832 +.626721 +vt +.571762 +.64++++ +vt +.57+318 +.64939+ +vt +.57+318 +.63+61+ +vt +.571762 +.64++++ +vt +.57+318 +.64939+ +vt +.563345 +.64939+ +vt +.563345 +.63+61+ +vt +.54676+ +.66+726 +vt +.544598 +.646667 +vt +.54676+ +.6326+7 +vt +.5572++ +.6326+7 +vt +.5572++ +.66+726 +vt +.7797+3 +.12++++ +vt +.5619+1 +.64++++ +vt +.563345 +.63+61+ +vt +.566832 +.626721 +vt +.571762 +.64++++ +vt +.57+318 +.64939+ +vt +.57+318 +.63+61+ +vt +.571762 +.64++++ +vt +.57+318 +.64939+ +vt +.563345 +.64939+ +vt +.563345 +.63+61+ +vt +.873762 +.7+++++ +vt +.873762 +.7+++++ +vt +.849+1+ +.853333 +vt +.844+59 +.853333 +vt +.834158 +.853333 +vt +.8292+8 +.853333 +vt +.9443+8 +.58154+ +vt +.942497 +.576663 +vt +.941835 +.57++++ +vt +.942497 +.563337 +vt +.9443+8 +.55846+ +vt +.949256 +.55846+ +vt +.95173+ +.57++++ +vt +.951+67 +.576663 +vt +.949256 +.58154+ +vt +.94369+ +.551+92 +vt +.941426 +.544995 +vt +.94+598 +.536667 +vt +.94369+ +.522242 +vt +.946782 +.52++1+ +vt +.949874 +.522242 +vt +.952966 +.536667 +vt +.952138 +.544995 +vt +.949874 +.551+92 +vt +.923267 +.52++++ +vt +.935645 +.569767 +vt +.93+693 +.573341 +vt +.925741 +.569767 +vt +.922116 +.56+++4 +vt +.92+789 +.546667 +vt +.925741 +.523566 +vt +.935645 +.523566 +vt +.93927+ +.53333+ +vt +.94+597 +.546667 +vt +.962871 +.593333 +vt +.967822 +.593333 +vt +.987624 +.593333 +vt +.9443+8 +.58154+ +vt +.942497 +.576663 +vt +.941835 +.57++++ +vt +.942497 +.563337 +vt +.9443+8 +.55846+ +vt +.949256 +.55846+ +vt +.95173+ +.57++++ +vt +.951+67 +.576663 +vt +.949256 +.58154+ +vt +.94369+ +.551+92 +vt +.941426 +.544995 +vt +.94+598 +.536667 +vt +.94369+ +.522242 +vt +.946782 +.52++1+ +vt +.949874 +.522242 +vt +.952966 +.536667 +vt +.952138 +.544995 +vt +.949874 +.551+92 +vt +.923267 +.52++++ +vt +.935645 +.569767 +vt +.93+693 +.573341 +vt +.925741 +.569767 +vt +.92+789 +.546667 +vt +.922116 +.53333+ +vt +.925741 +.523566 +vt +.935645 +.523566 +vt +.93927+ +.53333+ +vt +.94+597 +.546667 +vt +.962871 +.593333 +vt +.967822 +.593333 +vt +.987624 +.593333 +vt +.9443+8 +.58154+ +vt +.942497 +.576663 +vt +.941835 +.57++++ +vt +.942497 +.563337 +vt +.9443+8 +.55846+ +vt +.949256 +.55846+ +vt +.95173+ +.57++++ +vt +.951+67 +.576663 +vt +.949256 +.58154+ +vt +.94369+ +.551+92 +vt +.941426 +.544995 +vt +.94+598 +.536667 +vt +.94369+ +.522242 +vt +.946782 +.52++1+ +vt +.949874 +.522242 +vt +.952966 +.536667 +vt +.952138 +.544995 +vt +.949874 +.551+92 +vt +.923267 +.52++++ +vt +.935645 +.569767 +vt +.93+693 +.573341 +vt +.925741 +.569767 +vt +.92+789 +.546667 +vt +.922116 +.53333+ +vt +.925741 +.523566 +vt +.935645 +.523566 +vt +.93927+ +.53333+ +vt +.94+597 +.546667 +vt +.962871 +.593333 +vt +.972772 +.593333 +vt +.967822 +.593333 +vt +.987624 +.593333 +vt +.9443+8 +.58154+ +vt +.942497 +.576663 +vt +.941835 +.57++++ +vt +.942497 +.563337 +vt +.9443+8 +.55846+ +vt +.949256 +.55846+ +vt +.95173+ +.57++++ +vt +.951+67 +.576663 +vt +.949256 +.58154+ +vt +.94369+ +.551+92 +vt +.941426 +.544995 +vt +.94+598 +.536667 +vt +.94369+ +.522242 +vt +.946782 +.52++1+ +vt +.949874 +.522242 +vt +.952966 +.536667 +vt +.952138 +.544995 +vt +.949874 +.551+92 +vt +.923267 +.52++++ +vt +.935645 +.569767 +vt +.93+693 +.573341 +vt +.925741 +.569767 +vt +.92+789 +.546667 +vt +.922116 +.53333+ +vt +.925741 +.523566 +vt +.935645 +.523566 +vt +.93927+ +.53333+ +vt +.94+597 +.546667 +vt +.962871 +.593333 +vt +.967822 +.593333 +vt +.987624 +.593333 +vt +.9443+8 +.58154+ +vt +.942497 +.576663 +vt +.941835 +.57++++ +vt +.942497 +.563337 +vt +.9443+8 +.55846+ +vt +.949256 +.55846+ +vt +.95173+ +.57++++ +vt +.951+67 +.576663 +vt +.949256 +.58154+ +vt +.94369+ +.551+92 +vt +.941426 +.544995 +vt +.94+598 +.536667 +vt +.94369+ +.522242 +vt +.946782 +.52++1+ +vt +.949874 +.522242 +vt +.952966 +.536667 +vt +.952138 +.544995 +vt +.949874 +.551+92 +vt +.923267 +.52++++ +vt +.935645 +.569767 +vt +.93+693 +.573341 +vt +.925741 +.569767 +vt +.922116 +.56+++4 +vt +.92+789 +.546667 +vt +.925741 +.523566 +vt +.935645 +.523566 +vt +.93927+ +.53333+ +vt +.94+597 +.546667 +vt +.962871 +.593333 +vt +.967822 +.593333 +vt +.987624 +.593333 +vt +.9443+8 +.58154+ +vt +.942497 +.576663 +vt +.941835 +.57++++ +vt +.942497 +.563337 +vt +.9443+8 +.55846+ +vt +.949256 +.55846+ +vt +.95173+ +.57++++ +vt +.951+67 +.576663 +vt +.949256 +.58154+ +vt +.94369+ +.551+92 +vt +.941426 +.544995 +vt +.94+598 +.536667 +vt +.94369+ +.522242 +vt +.946782 +.52++1+ +vt +.949874 +.522242 +vt +.952966 +.536667 +vt +.952138 +.544995 +vt +.949874 +.551+92 +vt +.131188 +.253333 +vt +.131188 +.16++++ +vt +.1+396+ +.253333 +vt +.1+396+ +.16++++ +vt +.+74257 +.16++++ +vt +.+44554 +.226667 +vt +.+54455 +.253333 +vt +.+34653 +.253333 +vt +.+44554 +.186667 +vt +.+34653 +.16++++ +vt +.+54455 +.16++++ +vt +.+74257 +.253333 +vt +.++++++ +.+93333 +vt +.361386 +.+8++++ +vt +.361386 +.+93333 +vt -+.++++++ +.+26667 +vt +.361386 +.+13333 +vt +.361386 +.+26667 +vt +.++++++ +.146667 +vt +.361386 +.133333 +vt +.361386 +.146667 +vt +.++++++ +.+66667 +vt +.361386 +.+53333 +vt +.361386 +.+66667 +vt +.++++++ +.+8++++ +vt +.++++++ +.133333 +vt +.361386 +.12++++ +vt +.++++++ +.1+6667 +vt +.361386 +.1+6667 +vt -+.++++++ +.+53333 +vt +.361386 +.+4++++ +vt -+.++++++ +.+13333 +vt +.361386 -+.++++++ +vt +.++++++ +.12++++ +vt -+.++++++ +.+4++++ +vt +.++++++ +.16++++ +vt +.361386 +.16++++ +vt +.836634 +.34++++ +vt +.91+891 +.36++++ +vt +.836634 +.36++++ +vt +.836634 +.12++++ +vt +.836634 +.133333 +vt +.836634 +.146667 +vt +.91+891 +.16++++ +vt +.836634 +.16++++ +vt +.836634 +.+13333 +vt +.836634 +.+26667 +vt +.836634 +.38++++ +vt +.836634 +.1+6667 +vt +.91+891 +.12++++ +vt +.836634 +.133333 +vt +.91+891 +.146667 +vt +.836634 -+.++++++ +vt +.91+891 +.+13333 +vt +.836634 +.4+++++ +vt +.836634 +.+93333 +vt +.91+891 +.1+6667 +vt +.836634 +.12++++ +vt +.836634 +.146667 +vt +.91+891 +.16++++ +vt +.836634 +.16++++ +vt +.836634 +.+8++++ +vt +.91+891 +.+93333 +vt +.836634 +.1+6667 +vt +.91+891 +.12++++ +vt +.836634 +.133333 +vt +.91+891 +.146667 +vt +.836634 +.+66667 +vt +.91+891 +.+8++++ +vt +.836634 +.+93333 +vt +.91+891 +.1+6667 +vt +.836634 +.12++++ +vt +.836634 +.42++++ +vt +.836634 +.+53333 +vt +.91+891 +.+66667 +vt +.836634 +.+8++++ +vt +.91+891 +.+93333 +vt +.836634 +.1+6667 +vt +.91+891 +.12++++ +vt +.91+891 +.44++++ +vt +.836634 +.44++++ +vt +.91+891 +.+4++++ +vt +.91+891 +.+53333 +vt +.836634 +.+66667 +vt +.91+891 +.+8++++ +vt +.836634 +.+93333 +vt +.91+891 +.1+6667 +vt +.836634 +.46++++ +vt +.836634 +.+4++++ +vt +.836634 +.+53333 +vt +.91+891 +.+66667 +vt +.836634 +.+8++++ +vt +.91+891 +.+93333 +vt +.836634 +.48++++ +vt +.836634 +.+13333 +vt +.836634 +.+26667 +vt +.836634 +.+4++++ +vt +.91+891 +.+53333 +vt +.836634 +.+66667 +vt +.91+891 +.+8++++ +vt +.836634 +.5+++++ +vt +.836634 -+.++++++ +vt +.91+891 +.+13333 +vt +.836634 +.+26667 +vt +.91+891 +.+4++++ +vt +.836634 +.+53333 +vt +.91+891 +.+66667 +vt +.91+891 +.52++++ +vt +.836634 +.52++++ +vt +.836634 +.+13333 +vt +.836634 +.+4++++ +vt +.91+891 +.+53333 +vt +.836634 +.54++++ +vt +.836634 -+.++++++ +vt +.91+891 +.+13333 +vt +.836634 +.+26667 +vt +.91+891 +.+4++++ +vt +.836634 +.56++++ +vt +.836634 +.146667 +vt +.91+891 +.16++++ +vt +.836634 +.16++++ +vt +.836634 +.+13333 +vt +.836634 +.58++++ +vt +.836634 +.133333 +vt +.91+891 +.146667 +vt +.836634 -+.++++++ +vt +.91+891 +.+13333 +vt +.91+891 +.6+++++ +vt +.836634 +.6+++++ +vt +.836634 +.12++++ +vt +.836634 +.146667 +vt +.91+891 +.16++++ +vt +.836634 +.16++++ +vt +.836634 +.62++++ +vt +.836634 +.1+6667 +vt +.91+891 +.12++++ +vt +.836634 +.133333 +vt +.91+891 +.146667 +vt +.836634 +.64++++ +vt +.836634 +.+93333 +vt +.91+891 +.1+6667 +vt +.836634 +.12++++ +vt +.836634 +.146667 +vt +.91+891 +.16++++ +vt +.836634 +.16++++ +vt +.836634 +.16++++ +vt +.836634 +.18++++ +vt +.836634 +.+8++++ +vt +.91+891 +.+93333 +vt +.836634 +.1+6667 +vt +.91+891 +.12++++ +vt +.836634 +.133333 +vt +.91+891 +.146667 +vt +.91+891 +.2+++++ +vt +.836634 +.2+++++ +vt +.836634 +.+66667 +vt +.91+891 +.+8++++ +vt +.836634 +.+93333 +vt +.91+891 +.1+6667 +vt +.836634 +.12++++ +vt +.836634 +.22++++ +vt +.836634 +.+53333 +vt +.91+891 +.+66667 +vt +.836634 +.+8++++ +vt +.91+891 +.+93333 +vt +.836634 +.1+6667 +vt +.91+891 +.12++++ +vt +.836634 +.24++++ +vt +.836634 +.+4++++ +vt +.91+891 +.+53333 +vt +.836634 +.+66667 +vt +.91+891 +.+8++++ +vt +.836634 +.+93333 +vt +.91+891 +.1+6667 +vt +.836634 +.26++++ +vt +.836634 +.+26667 +vt +.91+891 +.+4++++ +vt +.836634 +.+53333 +vt +.91+891 +.+66667 +vt +.836634 +.+8++++ +vt +.91+891 +.+93333 +vt +.91+891 +.28++++ +vt +.836634 +.28++++ +vt +.836634 +.+13333 +vt +.836634 +.+4++++ +vt +.91+891 +.+53333 +vt +.836634 +.+66667 +vt +.91+891 +.+8++++ +vt +.836634 +.3+++++ +vt +.836634 -+.++++++ +vt +.91+891 +.+13333 +vt +.836634 +.+26667 +vt +.91+891 +.+4++++ +vt +.836634 +.+53333 +vt +.91+891 +.+66667 +vt +.836634 +.32++++ +vt +.836634 +.146667 +vt +.91+891 +.16++++ +vt +.836634 +.16++++ +vt +.836634 +.+13333 +vt +.836634 +.+4++++ +vt +.91+891 +.+53333 +vt +.91+891 +.146667 +vt +.836634 -+.++++++ +vt +.91+891 +.+13333 +vt +.91+891 +.+4++++ +vt 1.++++++ +.373333 +vt +.94+594 +.36++++ +vt 1.++++++ +.36++++ +vt 1.++++++ +.493333 +vt +.94+594 +.48++++ +vt 1.++++++ +.48++++ +vt 1.++++++ +.426667 +vt +.94+594 +.413333 +vt 1.++++++ +.413333 +vt 1.++++++ +.453333 +vt +.94+594 +.44++++ +vt 1.++++++ +.44++++ +vt 1.++++++ +.386667 +vt +.94+594 +.373333 +vt 1.++++++ +.5+6667 +vt +.94+594 +.493333 +vt +.94+594 +.426667 +vt 1.++++++ +.466667 +vt +.94+594 +.453333 +vt 1.++++++ +.4+++++ +vt +.94+594 +.386667 +vt 1.++++++ +.52++++ +vt +.94+594 +.5+6667 +vt +.94+594 +.466667 +vt +.94+594 +.4+++++ +vt +.93+693 +.4+++++ +vt +.93+693 +.36++++ +vt +.93+693 +.48++++ +vt +.93+693 +.413333 +vt +.93+693 +.44++++ +vt +.93+693 +.373333 +vt +.93+693 +.493333 +vt +.93+693 +.426667 +vt +.93+693 +.453333 +vt +.93+693 +.386667 +vt +.93+693 +.5+6667 +vt +.93+693 +.466667 +vt +.94+594 +.52++++ +vt +.92+792 +.373333 +vt +.92+792 +.493333 +vt +.92+792 +.426667 +vt +.92+792 +.453333 +vt +.92+792 +.386667 +vt +.92+792 +.5+6667 +vt +.92+792 +.466667 +vt +.92+792 +.4+++++ +vt +.92+792 +.36++++ +vt +.92+792 +.48++++ +vt +.92+792 +.413333 +vt +.92+792 +.44++++ +vt +.92+792 +.36++++ +vt +.92+792 +.44++++ +vt +.92+792 +.42++++ +vt +.92+792 +.52++++ +vt +.92+792 +.54++++ +vt +.92+792 +.58++++ +vt +.92+792 +.62++++ +vt +.92+792 +.6+++++ +vt +.92+792 +.2+++++ +vt +.92+792 +.18++++ +vt +.92+792 +.3+++++ +vt +.92+792 +.28++++ +vt +.92+792 +.26++++ +vt +.92+792 +.+93333 +vt +.92+792 +.12++++ +vt +.92+792 +.+53333 +vt +.92+792 +.+8++++ +vt +.92+792 +.1+6667 +vt +.92+792 +.+4++++ +vt +.92+792 +.+66667 +vt +.92+792 +.+93333 +vt +.92+792 +.+53333 +vt +.92+792 +.+8++++ +vt +.92+792 +.+4++++ +vt +.92+792 +.+66667 +vt +.92+792 +.+53333 +vt +.92+792 +.+4++++ +vt +.92+792 +.12++++ +vt +.92+792 +.1+6667 +vt +.92+792 +.+93333 +vt +.92+792 +.12++++ +vt +.92+792 +.+8++++ +vt +.92+792 +.1+6667 +vt +.92+792 +.+66667 +vt +.92+792 +.+93333 +vt +.92+792 +.12++++ +vt +.92+792 +.+53333 +vt +.92+792 +.+8++++ +vt +.92+792 +.1+6667 +vt +.92+792 +.+4++++ +vt +.92+792 +.+66667 +vt +.92+792 +.+93333 +vt +.92+792 +.+53333 +vt +.92+792 +.+8++++ +vt +.92+792 +.+4++++ +vt +.92+792 +.+66667 +vt +.92+792 +.+53333 +vt +.92+792 +.+4++++ +vt +.92+792 +.12++++ +vt +.92+792 +.1+6667 +vt +.92+792 +.+93333 +vt +.92+792 +.12++++ +vt +.92+792 +.+8++++ +vt +.92+792 +.1+6667 +vt +.92+792 +.+66667 +vt +.188119 +.866667 +vt -+.++++++ +.853333 +vt +.188119 +.853333 +vt +.188119 +.986667 +vt -+.++++++ +.973333 +vt +.188119 +.973333 +vt +.188119 +.92++++ +vt -+.++++++ +.9+6667 +vt +.188119 +.9+6667 +vt +.188119 +.946667 +vt -+.++++++ +.933333 +vt +.188119 +.933333 +vt +.188119 +.88++++ +vt -+.++++++ +.866667 +vt +.188119 1.++++++ +vt -+.++++++ +.986667 +vt +.188119 +.96++++ +vt -+.++++++ +.946667 +vt +.188119 +.893333 +vt -+.++++++ +.88++++ +vt -+.++++++ +.84++++ +vt +.188119 +.84++++ +vt -+.++++++ +.96++++ +vt -+.++++++ +.893333 +vt -+.++++++ +.92++++ +vt +.658416 +.773333 +vt +.574257 +.786667 +vt +.574257 +.773333 +vt +.658416 +.733333 +vt +.574257 +.746667 +vt +.574257 +.733333 +vt +.658416 +.666667 +vt +.574257 +.68++++ +vt +.574257 +.666667 +vt +.658416 +.626667 +vt +.574257 +.64++++ +vt +.574257 +.626667 +vt +.658416 +.746667 +vt +.574257 +.76++++ +vt +.658416 +.68++++ +vt +.574257 +.693333 +vt +.658416 +.7+6667 +vt +.574257 +.72++++ +vt +.574257 +.7+6667 +vt +.658416 +.64++++ +vt +.574257 +.653333 +vt +.658416 +.76++++ +vt +.658416 +.693333 +vt +.658416 +.72++++ +vt +.658416 +.653333 +vt +.599+1+ +.52++++ +vt +.584158 +.52++++ +vt +.613861 +.48++++ +vt +.638614 +.48++++ +vt +.257426 +.76++++ +vt +.237624 +.733333 +vt +.257426 +.746667 +vt +.237624 +.94++++ +vt +.217822 +.94++++ +vt +.41+891 +.973333 +vt +.391+89 +.94++++ +vt +.41+891 +.94++++ +vt +.391+89 +.793333 +vt +.41+891 +.793333 +vt +.217822 +.76++++ +vt +.237624 +.793333 +vt +.217822 +.793333 +vt +.237624 +.9+6667 +vt +.391+89 +.826667 +vt +.391+89 1.++++++ +vt +.391+89 +.973333 +vt +.371287 +.76++++ +vt +.391+89 +.733333 +vt +.391+89 +.76++++ +vt +.237624 +.826667 +vt +.257426 +.893333 +vt +.257426 +.94++++ +vt +.237624 +.973333 +vt +.217822 1.++++++ +vt +.217822 +.973333 +vt +.371287 +.94++++ +vt +.391+89 +.9+6667 +vt +.371287 +.84++++ +vt +.371287 +.793333 +vt +.41+891 +.733333 +vt +.41+891 +.76++++ +vt +.237624 +.76++++ +vt +.257426 +.793333 +vt +.237624 1.++++++ +vt +.257426 +.973333 +vt +.257426 +.986667 +vt +.371287 +.973333 +vt +.371287 +.986667 +vt +.262376 +.913333 +vt +.358911 +.8+6667 +vt +.366337 +.82++++ +vt +.257426 +.813333 +vt +.371287 +.92++++ +vt +.1+396+ +.753333 +vt +.+37129 +.786667 +vt +.+495+5 +.786667 +vt +.+495+5 +.573333 +vt +.+37129 +.586667 +vt +.+37129 +.573333 +vt +.+297+3 +.753333 +vt +.+24752 +.753333 +vt +.+91584 +.573333 +vt +.+792+8 +.573333 +vt +.+54455 +.573333 +vt +.+24752 +.6+6667 +vt +.+792+8 +.786667 +vt +.+91584 +.773333 +vt +.+91584 +.786667 +vt +.+74257 +.573333 +vt +.+54455 +.786667 +vt +.+99+1+ +.6+6667 +vt +.1+396+ +.6+6667 +vt +.618812 +.48++++ +vt +.631188 +.42++++ +vt +.618812 +.386667 +vt +.631188 +.386667 +vt +.655941 +.386667 +vt +.643564 +.42++++ +vt +.643564 +.386667 +vt +.631188 +.446667 +vt +.631188 +.48++++ +vt +.643564 +.446667 +vt +.655941 +.48++++ +vt +.643564 +.48++++ +vt +.618812 +.42++++ +vt +.5594+6 +.68++++ +vt +.561881 +.666667 +vt +.561881 +.68++++ +vt +.561881 +.653333 +vt +.5594+6 +.666667 +vt +.5594+6 +.653333 +vt +.5594+6 +.693333 +vt +.561881 +.693333 +vt +.561881 +.653333 +vt +.5594+6 +.666667 +vt +.5594+6 +.653333 +vt +.561881 +.666667 +vt +.5594+6 +.68++++ +vt +.561881 +.666667 +vt +.5594+6 +.68++++ +vt +.561881 +.68++++ +vt +.5594+6 +.693333 +vt +.561881 +.64++++ +vt +.5594+6 +.64++++ +vt +.561881 +.68++++ +vt +.5594+6 +.693333 +vt +.561881 +.693333 +vt +.5594+6 +.7+6667 +vt +.561881 +.64++++ +vt +.5594+6 +.64++++ +vt +.561881 +.693333 +vt +.5594+6 +.7+6667 +vt +.561881 +.7+6667 +vt +.5594+6 +.72++++ +vt +.561881 +.7+6667 +vt +.5594+6 +.72++++ +vt +.561881 +.72++++ +vt +.5594+6 +.733333 +vt +.561881 +.72++++ +vt +.5594+6 +.733333 +vt +.561881 +.626667 +vt +.5594+6 +.626667 +vt +.561881 +.626667 +vt +.5594+6 +.626667 +vt +.5594+6 +.666667 +vt +.561881 +.653333 +vt +.5594+6 +.7+6667 +vt +.561881 +.7+6667 +vt +.5594+6 +.72++++ +vt +.561881 +.72++++ +vt +.5594+6 +.733333 +vt +.561881 +.733333 +vt +.5594+6 +.64++++ +vt +.561881 +.626667 +vt +.561881 +.64++++ +vt +.5594+6 +.653333 +vt +.5594+6 +.666667 +vt +.561881 +.653333 +vt +.561881 +.666667 +vt +.5594+6 +.68++++ +vt +.561881 +.68++++ +vt +.5594+6 +.693333 +vt +.561881 +.693333 +vt +.5594+6 +.7+6667 +vt +.561881 +.7+6667 +vt +.5594+6 +.72++++ +vt +.561881 +.72++++ +vt +.5594+6 +.733333 +vt +.561881 +.733333 +vt +.5594+6 +.64++++ +vt +.561881 +.626667 +vt +.561881 +.64++++ +vt +.5594+6 +.653333 +vt +.643564 +.133333 +vt +.618812 +.14++++ +vt +.618812 +.133333 +vt +.643564 +.14++++ +vt +.618812 +.146667 +vt +.643564 +.+93333 +vt +.618812 +.1+++++ +vt +.618812 +.+93333 +vt +.643564 +.1+++++ +vt +.618812 +.1+6667 +vt +.643564 +.1+6667 +vt +.618812 +.113333 +vt +.643564 +.113333 +vt +.618812 +.12++++ +vt +.643564 +.12++++ +vt +.618812 +.126667 +vt +.643564 +.126667 +vt +.5594+6 +.+66667 +vt +.5198+2 +.+4++++ +vt +.5594+6 +.+4++++ +vt +.564356 +.+66667 +vt +.5198+2 +.+66667 +vt +.514852 +.+4++++ +vt +.561881 +.64++++ +vt +.5594+6 +.653333 +vt +.5594+6 +.64++++ +vt +.571782 +.72++++ +vt +.574257 +.7+6667 +vt +.574257 +.72++++ +vt +.574257 +.653333 +vt +.571782 +.666667 +vt +.571782 +.653333 +vt +.561881 +.68++++ +vt +.5594+6 +.693333 +vt +.5594+6 +.68++++ +vt +.571782 +.7+6667 +vt +.574257 +.693333 +vt +.574257 +.666667 +vt +.571782 +.68++++ +vt +.571782 +.693333 +vt +.574257 +.68++++ +vt +.574257 +.68++++ +vt +.571782 +.693333 +vt +.561881 +.653333 +vt +.5594+6 +.666667 +vt +.571782 +.68++++ +vt +.574257 +.666667 +vt +.574257 +.693333 +vt +.571782 +.7+6667 +vt +.571782 +.653333 +vt +.574257 +.64++++ +vt +.574257 +.653333 +vt +.571782 +.666667 +vt +.574257 +.7+6667 +vt +.571782 +.72++++ +vt +.571782 +.64++++ +vt +.574257 +.626667 +vt +.574257 +.72++++ +vt +.571782 +.733333 +vt +.5594+6 +.693333 +vt +.561881 +.68++++ +vt +.561881 +.693333 +vt +.574257 +.64++++ +vt +.571782 +.64++++ +vt +.574257 +.626667 +vt +.571782 +.626667 +vt +.561881 +.666667 +vt +.571782 +.733333 +vt +.574257 +.733333 +vt +.5594+6 +.68++++ +vt +.561881 +.666667 +vt +.561881 +.693333 +vt +.5594+6 +.7+6667 +vt +.561881 +.7+6667 +vt +.5594+6 +.72++++ +vt +.561881 +.72++++ +vt +.5594+6 +.733333 +vt +.561881 +.626667 +vt +.5594+6 +.626667 +vt +.5594+6 +.666667 +vt +.561881 +.653333 +vt +.5594+6 +.7+6667 +vt +.561881 +.7+6667 +vt +.5594+6 +.72++++ +vt +.561881 +.72++++ +vt +.5594+6 +.733333 +vt +.561881 +.733333 +vt +.5594+6 +.64++++ +vt +.561881 +.626667 +vt +.561881 +.64++++ +vt +.5594+6 +.653333 +vt +.655941 +.+93333 +vt +.695545 +.++++++ +vt +.695545 +.+93333 +vt +.616337 +.+93333 +vt +.655941 +.++++++ +vt +.586634 +.+93333 +vt +.616337 +.++++++ +vt +.566832 +.+93333 +vt +.566832 +.+86667 +vt +.7896+4 +.++++++ +vt +.824257 +.146667 +vt +.7896+4 +.+93333 +vt +.824257 +.+93333 +vt +.824257 +.4+++++ +vt +.7896+4 +.146667 +vt +.7896+4 +.466667 +vt +.7896+4 +.4+++++ +vt +.824257 +.466667 +vt +.7896+4 +.56++++ +vt +.7896+4 +.626667 +vt +.655941 +.413333 +vt +.665842 +.48++++ +vt +.655941 +.5+6667 +vt +.675743 +.386667 +vt +.665842 +.413333 +vt +.695545 +.3+6667 +vt +.685644 +.386667 +vt +.7++495 +.2+++++ +vt +.7+5446 +.3+6667 +vt +.7+5446 +.12++++ +vt +.7797+3 +.12++++ +vt +.74++99 +.373333 +vt +.75++++ +.4+++++ +vt +.725248 +.466667 +vt +.69+594 +.5+6667 +vt +.715347 +.44++++ +vt +.665842 +.48++++ +vt +.655941 +.5+6667 +vt +.665842 +.5+6667 +vt +.665842 +.413333 +vt +.68+693 +.48++++ +vt +.685644 +.386667 +vt +.655941 +.413333 +vt +.715347 +.44++++ +vt +.69+594 +.5+6667 +vt +.725248 +.466667 +vt +.74++99 +.373333 +vt +.75++++ +.4+++++ +vt +.7896+4 +.146667 +vt +.7++495 +.2+++++ +vt +.7+5446 +.3+6667 +vt +.695545 +.3+6667 +vt +.675743 +.386667 +vt +.68+693 +.48++++ +vt +.665842 +.5+6667 +vt +.586634 +.++++++ +vt +.566832 +.++6667 +vt +.566832 +.++++++ +vt +.824257 +.56++++ +vt +.824257 +.626667 +vt +.7797+3 +.146667 +vt +.7797+3 +.146667 +vt +.71+396 +.2+++++ +vt +.571782 +.72++++ +vt +.574257 +.7+6667 +vt +.574257 +.72++++ +vt +.574257 +.653333 +vt +.571782 +.666667 +vt +.571782 +.653333 +vt +.571782 +.7+6667 +vt +.574257 +.693333 +vt +.574257 +.666667 +vt +.571782 +.68++++ +vt +.571782 +.693333 +vt +.574257 +.68++++ +vt +.574257 +.68++++ +vt +.571782 +.693333 +vt +.571782 +.68++++ +vt +.574257 +.666667 +vt +.574257 +.693333 +vt +.571782 +.7+6667 +vt +.571782 +.653333 +vt +.574257 +.64++++ +vt +.574257 +.653333 +vt +.571782 +.666667 +vt +.574257 +.7+6667 +vt +.571782 +.72++++ +vt +.571782 +.64++++ +vt +.574257 +.626667 +vt +.574257 +.72++++ +vt +.571782 +.733333 +vt +.574257 +.64++++ +vt +.571782 +.64++++ +vt +.574257 +.626667 +vt +.571782 +.626667 +vt +.571782 +.733333 +vt +.574257 +.733333 +vt +.972772 +.64++++ +vt +.95297+ +.693333 +vt +.95297+ +.64++++ +vt +.933168 +.64++++ +vt +.861386 +.693333 +vt +.871287 +.64++++ +vt +.841584 +.693333 +vt +.861386 +.64++++ +vt +.836634 +.693333 +vt +.841584 +.64++++ +vt +.935644 +.84++++ +vt +.878713 +.786667 +vt +.935644 +.786667 +vt +.878713 +.84++++ +vt +.871287 +.786667 +vt +.871287 +.84++++ +vt +.856436 +.786667 +vt +.856436 +.84++++ +vt +.849+1+ +.786667 +vt +.95+495 +.84++++ +vt +.95+495 +.786667 +vt +.967822 +.84++++ +vt +.834158 +.733333 +vt +.834158 +.693333 +vt +.844+59 +.733333 +vt +.949874 +.584425 +vt +.952138 +.578328 +vt +.952966 +.57++++ +vt +.952138 +.561672 +vt +.949874 +.555575 +vt +.946782 +.553343 +vt +.94369+ +.555575 +vt +.941426 +.561672 +vt +.94+598 +.57++++ +vt +.941426 +.578328 +vt +.94369+ +.584425 +vt +.946782 +.586657 +vt 1.++++++ +.373333 +vt +.94+594 +.36++++ +vt 1.++++++ +.36++++ +vt 1.++++++ +.493333 +vt +.94+594 +.48++++ +vt 1.++++++ +.48++++ +vt 1.++++++ +.426667 +vt +.94+594 +.413333 +vt 1.++++++ +.413333 +vt 1.++++++ +.453333 +vt +.94+594 +.44++++ +vt 1.++++++ +.44++++ +vt 1.++++++ +.386667 +vt +.94+594 +.373333 +vt 1.++++++ +.5+6667 +vt +.94+594 +.493333 +vt +.94+594 +.426667 +vt 1.++++++ +.466667 +vt +.94+594 +.453333 +vt 1.++++++ +.4+++++ +vt +.94+594 +.386667 +vt 1.++++++ +.52++++ +vt +.94+594 +.5+6667 +vt +.94+594 +.466667 +vt +.94+594 +.4+++++ +vt +.93+693 +.4+++++ +vt +.93+693 +.36++++ +vt +.93+693 +.48++++ +vt +.93+693 +.413333 +vt +.93+693 +.44++++ +vt +.93+693 +.373333 +vt +.93+693 +.493333 +vt +.93+693 +.426667 +vt +.93+693 +.453333 +vt +.93+693 +.386667 +vt +.93+693 +.5+6667 +vt +.93+693 +.466667 +vt +.94+594 +.52++++ +vt +.92+792 +.373333 +vt +.92+792 +.493333 +vt +.92+792 +.426667 +vt +.92+792 +.453333 +vt +.92+792 +.386667 +vt +.92+792 +.5+6667 +vt +.92+792 +.466667 +vt +.92+792 +.4+++++ +vt +.92+792 +.36++++ +vt +.92+792 +.48++++ +vt +.92+792 +.413333 +vt +.92+792 +.44++++ +vt +.949874 +.584425 +vt +.952138 +.578328 +vt +.952966 +.57++++ +vt +.952138 +.561672 +vt +.949874 +.555575 +vt +.946782 +.553343 +vt +.94369+ +.555575 +vt +.941426 +.561672 +vt +.94+598 +.57++++ +vt +.941426 +.578328 +vt +.94369+ +.584425 +vt +.946782 +.586657 +vt 1.++++++ +.373333 +vt +.94+594 +.36++++ +vt 1.++++++ +.36++++ +vt 1.++++++ +.493333 +vt +.94+594 +.48++++ +vt 1.++++++ +.48++++ +vt 1.++++++ +.426667 +vt +.94+594 +.413333 +vt 1.++++++ +.413333 +vt 1.++++++ +.453333 +vt +.94+594 +.44++++ +vt 1.++++++ +.44++++ +vt 1.++++++ +.386667 +vt +.94+594 +.373333 +vt 1.++++++ +.5+6667 +vt +.94+594 +.493333 +vt +.94+594 +.426667 +vt 1.++++++ +.466667 +vt +.94+594 +.453333 +vt 1.++++++ +.4+++++ +vt +.94+594 +.386667 +vt 1.++++++ +.52++++ +vt +.94+594 +.5+6667 +vt +.94+594 +.466667 +vt +.94+594 +.4+++++ +vt +.93+693 +.4+++++ +vt +.93+693 +.36++++ +vt +.93+693 +.48++++ +vt +.93+693 +.413333 +vt +.93+693 +.44++++ +vt +.93+693 +.373333 +vt +.93+693 +.493333 +vt +.93+693 +.426667 +vt +.93+693 +.453333 +vt +.93+693 +.386667 +vt +.93+693 +.5+6667 +vt +.93+693 +.466667 +vt +.93+693 +.52++++ +vt +.92+792 +.373333 +vt +.92+792 +.493333 +vt +.92+792 +.426667 +vt +.92+792 +.453333 +vt +.92+792 +.386667 +vt +.92+792 +.5+6667 +vt +.92+792 +.466667 +vt +.92+792 +.4+++++ +vt +.92+792 +.36++++ +vt +.92+792 +.48++++ +vt +.92+792 +.413333 +vt +.92+792 +.44++++ +vt +.949874 +.584425 +vt +.952138 +.578328 +vt +.952966 +.57++++ +vt +.952138 +.561672 +vt +.949874 +.555575 +vt +.946782 +.553343 +vt +.94369+ +.555575 +vt +.941426 +.561672 +vt +.94+598 +.57++++ +vt +.941426 +.578328 +vt +.94369+ +.584425 +vt +.946782 +.586657 +vt 1.++++++ +.373333 +vt +.94+594 +.36++++ +vt 1.++++++ +.36++++ +vt 1.++++++ +.493333 +vt +.94+594 +.48++++ +vt 1.++++++ +.48++++ +vt 1.++++++ +.426667 +vt +.94+594 +.413333 +vt 1.++++++ +.413333 +vt 1.++++++ +.453333 +vt +.94+594 +.44++++ +vt 1.++++++ +.44++++ +vt 1.++++++ +.386667 +vt +.94+594 +.373333 +vt 1.++++++ +.5+6667 +vt +.94+594 +.493333 +vt +.94+594 +.426667 +vt 1.++++++ +.466667 +vt +.94+594 +.453333 +vt 1.++++++ +.4+++++ +vt +.94+594 +.386667 +vt 1.++++++ +.52++++ +vt +.94+594 +.5+6667 +vt +.94+594 +.466667 +vt +.94+594 +.4+++++ +vt +.93+693 +.4+++++ +vt +.93+693 +.36++++ +vt +.93+693 +.48++++ +vt +.93+693 +.413333 +vt +.93+693 +.44++++ +vt +.93+693 +.373333 +vt +.93+693 +.493333 +vt +.93+693 +.426667 +vt +.93+693 +.453333 +vt +.93+693 +.386667 +vt +.93+693 +.5+6667 +vt +.93+693 +.466667 +vt +.94+594 +.52++++ +vt +.92+792 +.373333 +vt +.92+792 +.493333 +vt +.92+792 +.426667 +vt +.92+792 +.453333 +vt +.92+792 +.386667 +vt +.92+792 +.5+6667 +vt +.92+792 +.466667 +vt +.92+792 +.4+++++ +vt +.92+792 +.36++++ +vt +.92+792 +.48++++ +vt +.92+792 +.413333 +vt +.92+792 +.44++++ +vt +.949874 +.584425 +vt +.952138 +.578328 +vt +.952966 +.57++++ +vt +.952138 +.561672 +vt +.949874 +.555575 +vt +.946782 +.553343 +vt +.94369+ +.555575 +vt +.941426 +.561672 +vt +.94+598 +.57++++ +vt +.941426 +.578328 +vt +.94369+ +.584425 +vt +.946782 +.586657 +vt 1.++++++ +.373333 +vt +.94+594 +.36++++ +vt 1.++++++ +.36++++ +vt 1.++++++ +.493333 +vt +.94+594 +.48++++ +vt 1.++++++ +.48++++ +vt 1.++++++ +.426667 +vt +.94+594 +.413333 +vt 1.++++++ +.413333 +vt 1.++++++ +.453333 +vt +.94+594 +.44++++ +vt 1.++++++ +.44++++ +vt 1.++++++ +.386667 +vt +.94+594 +.373333 +vt 1.++++++ +.5+6667 +vt +.94+594 +.493333 +vt +.94+594 +.426667 +vt 1.++++++ +.466667 +vt +.94+594 +.453333 +vt 1.++++++ +.4+++++ +vt +.94+594 +.386667 +vt 1.++++++ +.52++++ +vt +.94+594 +.5+6667 +vt +.94+594 +.466667 +vt +.94+594 +.4+++++ +vt +.93+693 +.4+++++ +vt +.93+693 +.36++++ +vt +.93+693 +.48++++ +vt +.93+693 +.413333 +vt +.93+693 +.44++++ +vt +.93+693 +.373333 +vt +.93+693 +.493333 +vt +.93+693 +.426667 +vt +.93+693 +.453333 +vt +.93+693 +.386667 +vt +.93+693 +.5+6667 +vt +.93+693 +.466667 +vt +.94+594 +.52++++ +vt +.92+792 +.373333 +vt +.92+792 +.493333 +vt +.92+792 +.426667 +vt +.92+792 +.453333 +vt +.92+792 +.386667 +vt +.92+792 +.5+6667 +vt +.92+792 +.466667 +vt +.92+792 +.4+++++ +vt +.92+792 +.36++++ +vt +.92+792 +.48++++ +vt +.92+792 +.413333 +vt +.92+792 +.44++++ +vt +.949874 +.584425 +vt +.952138 +.578328 +vt +.952966 +.57++++ +vt +.952138 +.561672 +vt +.949874 +.555575 +vt +.946782 +.553343 +vt +.94369+ +.555575 +vt +.941426 +.561672 +vt +.94+598 +.57++++ +vt +.941426 +.578328 +vt +.94369+ +.584425 +vt +.946782 +.586657 +vt 1.++++++ +.373333 +vt +.94+594 +.36++++ +vt 1.++++++ +.36++++ +vt 1.++++++ +.493333 +vt +.94+594 +.48++++ +vt 1.++++++ +.48++++ +vt 1.++++++ +.426667 +vt +.94+594 +.413333 +vt 1.++++++ +.413333 +vt 1.++++++ +.453333 +vt +.94+594 +.44++++ +vt 1.++++++ +.44++++ +vt 1.++++++ +.386667 +vt +.94+594 +.373333 +vt 1.++++++ +.5+6667 +vt +.94+594 +.493333 +vt +.94+594 +.426667 +vt 1.++++++ +.466667 +vt +.94+594 +.453333 +vt 1.++++++ +.4+++++ +vt +.94+594 +.386667 +vt 1.++++++ +.52++++ +vt +.94+594 +.5+6667 +vt +.94+594 +.466667 +vt +.94+594 +.4+++++ +vt +.93+693 +.4+++++ +vt +.93+693 +.36++++ +vt +.93+693 +.48++++ +vt +.93+693 +.413333 +vt +.93+693 +.44++++ +vt +.93+693 +.373333 +vt +.93+693 +.493333 +vt +.93+693 +.426667 +vt +.93+693 +.453333 +vt +.93+693 +.386667 +vt +.93+693 +.5+6667 +vt +.93+693 +.466667 +vt +.93+693 +.52++++ +vt +.92+792 +.373333 +vt +.92+792 +.493333 +vt +.92+792 +.426667 +vt +.92+792 +.453333 +vt +.92+792 +.386667 +vt +.92+792 +.5+6667 +vt +.92+792 +.466667 +vt +.92+792 +.4+++++ +vt +.92+792 +.36++++ +vt +.92+792 +.48++++ +vt +.92+792 +.413333 +vt +.92+792 +.44++++ +vt +.949874 +.584425 +vt +.952138 +.578328 +vt +.952966 +.57++++ +vt +.952138 +.561672 +vt +.949874 +.555575 +vt +.946782 +.553343 +vt +.94369+ +.555575 +vt +.941426 +.561672 +vt +.94+598 +.57++++ +vt +.941426 +.578328 +vt +.94369+ +.584425 +vt +.946782 +.586657 +vt -+.++++++ -+.++++++ +vt +.91+891 -+.++++++ +vt +.91+891 -+.++++++ +vt +.91+891 -+.++++++ +vt +.91+891 -+.++++++ +vt +.91+891 -+.++++++ +vt +.91+891 -+.++++++ +vt +.93+693 +.52++++ +vt +.92+792 +.52++++ +vt +.92+792 +.34++++ +vt +.92+792 +.38++++ +vt +.92+792 +.46++++ +vt +.92+792 +.5+++++ +vt +.92+792 +.22++++ +vt -+.++++++ 1.++++++ +vt +.658416 +.786667 +vt +.41+891 1.++++++ +vt +.371287 +.746667 +vt +.257426 +.84++++ +vt +.371287 +.893333 +vt +.217822 +.733333 +vt +.262376 +.82++++ +vt +.2698+2 +.8+6667 +vt +.2698+2 +.926667 +vt +.366337 +.913333 +vt +.358911 +.926667 +vt +.257426 +.92++++ +vt +.371287 +.813333 +vt +.+99+1+ +.753333 +vt +.+37129 +.773333 +vt +.+91584 +.586667 +vt +.+297+3 +.6+6667 +vt +.+74257 +.786667 +vt +.618812 +.446667 +vt +.655941 +.42++++ +vt +.655941 +.446667 +vt +.561881 +.733333 +vt +.561881 +.733333 +vt +.5594+6 +.626667 +vt +.5594+6 +.626667 +vt +.643564 +.146667 +vt +.564356 +.+4++++ +vt +.514852 +.+66667 +vt +.571782 +.626667 +vt +.574257 +.733333 +vt +.561881 +.733333 +vt +.5594+6 +.626667 +vt +.71+396 +.2+++++ +vt +.571782 +.626667 +vt +.574257 +.733333 +vt +.972772 +.693333 +vt +.836634 +.64++++ +vt +.849+1+ +.84++++ +vt +.967822 +.786667 +vt +.844+59 +.693333 +vt +.93+693 +.52++++ +vt +.92+792 +.52++++ +vt +.94+594 +.52++++ +vt +.92+792 +.52++++ +vt +.93+693 +.52++++ +vt +.92+792 +.52++++ +vt +.93+693 +.52++++ +vt +.92+792 +.52++++ +vt +.94+594 +.52++++ +vt +.92+792 +.52++++ +vn +.++++ -1.++++ +.++++ +vn 1.++++ +.++++ +.++++ +vn +.7+71 -+.7+71 +.++++ +vn +.7+71 +.7+71 +.++++ +vn +.++++ 1.++++ +.++++ +vn -+.7+71 -+.7+71 +.++++ +vn -+.7+71 +.7+71 +.++++ +vn -1.++++ +.++++ +.++++ +vn +.++++ +.++++ 1.++++ +vn +.++++ -+.99+6 +.1366 +vn +.++++ +.++++ -1.++++ +vn +.++++ +.7+71 -+.7+71 +vn +.5529 +.8318 +.+493 +vn -+.5542 -+.8324 +.++++ +vn +.4438 -+.8961 +.++++ +vn -+.4439 +.8947 +.+493 +vn -+.998+ +.+637 +.++++ +vn +.9968 -+.+63+ +.+493 +vn -+.4438 +.8961 +.++++ +vn +.4439 -+.8947 +.+493 +vn +.5542 +.8324 +.++++ +vn -+.5529 -+.8318 +.+493 +vn -+.9968 +.+63+ +.+493 +vn +.998+ -+.+637 +.++++ +vn +.++++ -+.2425 -+.97+1 +vn +.++++ -+.2425 +.97+1 +vn +.++++ -+.7+71 +.7+71 +vn +.++++ -+.9659 +.2588 +vn +.++++ -+.9659 -+.2588 +vn +.++++ -+.7+71 -+.7+71 +vn +.++++ -+.2588 -+.9659 +vn +.++++ +.2588 -+.9659 +vn +.++++ +.9659 -+.2588 +vn +.++++ -+.4472 -+.8944 +vn +.++++ +.4472 +.8944 +vn +.++++ +.8944 -+.4472 +vn +.++++ +.8944 +.4472 +vn +.++++ -+.2588 +.9659 +vn +.8+++ +.++++ +.6+++ +vn -+.8+++ +.++++ +.6+++ +vn +.866+ +.5+++ +.++++ +vn +.5+++ -+.866+ +.++++ +vn +.6124 +.3536 -+.7+71 +vn -+.866+ -+.5+++ +.++++ +vn -+.5+++ +.866+ +.++++ +vn -+.6124 -+.3536 -+.7+71 +vn +.866+ -+.5+++ +.++++ +vn -+.5+++ -+.866+ +.++++ +vn +.6124 -+.3536 -+.7+71 +vn -+.866+ +.5+++ +.++++ +vn +.5+++ +.866+ -+.++++ +vn -+.6124 +.3536 -+.7+71 +vn +.4438 +.8961 +.++++ +vn -+.4439 -+.8947 +.+493 +vn +.5529 -+.8318 +.+493 +vn -+.5542 +.8324 +.++++ +vn -+.9968 -+.+63+ +.+493 +vn +.998+ +.+637 +.++++ +vn -+.5529 +.8318 +.+493 +vn +.5542 -+.8324 +.++++ +vn +.4439 +.8947 +.+493 +vn -+.4438 -+.8961 +.++++ +vn -+.998+ -+.+637 +.++++ +vn +.9968 +.+63+ +.+493 +vn +.++++ -+.2631 +.9648 +vn +.++++ -+.9912 +.1327 +vn +.++++ -+.9732 +.2298 +vn +.++++ -+.6257 +.78++ +vn +.4963 +.8597 -+.121+ +vn +.8181 +.5751 +.++++ +vn -+.9+71 -+.421+ +.++++ +vn +.2986 +.951+ -+.+8+2 +vn +.2588 +.9659 +.++++ +vn -+.+89+ +.996+ +.++++ +vn -+.9+71 +.421+ +.++++ +vn -+.2986 +.951+ -+.+8+2 +vn -+.2588 +.9659 +.++++ +vn -+.4963 +.8597 -+.121+ +vn -+.6743 +.7341 -+.+8+2 +vn -+.+89+ -+.996+ -+.++++ +vn -+.9729 +.2169 -+.+8+2 +vn -+.9659 +.2588 +.++++ +vn -+.9927 +.++++ -+.121+ +vn +.8181 -+.5751 +.++++ +vn -+.9729 -+.2169 -+.+8+2 +vn -+.9659 -+.2588 +.++++ +vn +.9+71 +.421+ +.++++ +vn -+.6743 -+.7341 -+.+8+2 +vn -+.4963 -+.8597 -+.121+ +vn -+.8181 -+.5751 +.++++ +vn -+.2986 -+.951+ -+.+8+2 +vn -+.2588 -+.9659 -+.++++ +vn +.+89+ -+.996+ +.++++ +vn +.2986 -+.951+ -+.+8+2 +vn +.2588 -+.9659 +.++++ +vn +.4963 -+.8597 -+.121+ +vn +.9+71 -+.421+ +.++++ +vn +.6743 -+.7341 -+.+8+2 +vn +.9729 -+.2169 -+.+8+2 +vn +.9659 -+.2588 +.++++ +vn +.9927 -+.++++ -+.121+ +vn +.+89+ +.996+ +.++++ +vn +.9729 +.2169 -+.+8+2 +vn +.9659 +.2588 +.++++ +vn -+.8181 +.5751 +.++++ +vn +.6743 +.7341 -+.+8+2 +vn -+.++++ -+.9928 +.1198 +vn -+.9928 +.++++ +.1198 +vn +.8598 +.4964 +.1198 +vn +.++++ +.9928 +.1198 +vn +.4964 -+.8598 +.1198 +vn -+.8598 -+.4964 +.1198 +vn +.4964 +.8598 +.1198 +vn -+.4964 +.8598 +.1198 +vn +.8598 -+.4964 +.1198 +vn -+.4964 -+.8598 +.1198 +vn -+.8598 +.4964 +.1198 +vn +.9928 -+.++++ +.1198 +vn +.9922 -+.++++ +.1247 +vn -+.++++ -+.9922 +.1247 +vn -+.9922 +.++++ +.1247 +vn +.8593 +.4961 +.1247 +vn +.++++ +.9922 +.1247 +vn +.4961 -+.8593 +.1247 +vn -+.8593 -+.4961 +.1247 +vn +.4961 +.8593 +.1247 +vn -+.4961 +.8593 +.1247 +vn +.8593 -+.4961 +.1247 +vn -+.4961 -+.8593 +.1247 +vn -+.8593 +.4961 +.1247 +vn +.4851 +.84+2 -+.2425 +vn -+.4851 +.84+2 -+.2425 +vn -+.3714 +.8967 -+.24+6 +vn -+.97+1 +.++++ -+.2425 +vn -+.9623 -+.1267 -+.24+6 +vn -+.59+9 -+.77+1 -+.24+6 +vn -+.3714 -+.8967 -+.24+6 +vn -+.4851 -+.84+2 -+.2425 +vn +.4851 -+.84+2 -+.2425 +vn +.3714 -+.8967 -+.24+6 +vn +.9623 +.1267 -+.24+6 +vn +.97+1 +.++++ -+.2425 +vn +.9623 -+.1267 -+.24+6 +vn -+.++++ -+.3827 +.9239 +vn +.++++ -+.9239 +.3827 +vn +.1493 -+.5124 -+.8457 +vn +.++++ -+.9612 -+.2757 +vn +.++++ -+.4848 -+.8746 +vn +.9637 +.2669 +.++++ +vn +.6767 +.6767 -+.29+2 +vn -+.2669 +.9637 +.++++ +vn -+.6767 +.6767 -+.29+2 +vn -+.9637 -+.2669 -+.++++ +vn -+.6767 -+.6767 -+.29+2 +vn +.2669 -+.9637 -+.++++ +vn +.6767 -+.6767 -+.29+2 +vn +.9637 -+.2669 -+.++++ +vn +.9234 +.2618 -+.28+6 +vn -+.9637 +.2669 +.++++ +vn -+.9234 -+.2618 -+.28+6 +vn +.++++ +.9612 -+.2757 +vn -+.2618 +.9234 -+.28+6 +vn -+.1493 -+.5124 -+.8457 +vn -+.2618 -+.9234 -+.28+6 +vn +.9234 -+.2618 -+.28+6 +vn +.5124 +.1493 -+.8457 +vn +.36+6 +.36+6 -+.86+2 +vn +.2618 +.9234 -+.28+6 +vn +.2669 +.9637 +.++++ +vn -+.36+6 +.36+6 -+.86+2 +vn -+.9234 +.2618 -+.28+6 +vn -+.5124 -+.1493 -+.8457 +vn -+.36+6 -+.36+6 -+.86+2 +vn -+.2669 -+.9637 -+.++++ +vn +.2618 -+.9234 -+.28+6 +vn +.36+6 -+.36+6 -+.86+2 +vn +.1493 +.5124 -+.8457 +vn +.++++ +.4848 -+.8746 +vn -+.1493 +.5124 -+.8457 +vn +.5124 -+.1493 -+.8457 +vn -+.5124 +.1493 -+.8457 +vn +.++++ +.9914 -+.13+5 +vn +.++++ +.866+ -+.5+++ +vn +.++++ +.5+++ -+.866+ +vn +.++++ +.7+71 +.7+71 +vn +.++++ +.3827 -+.9239 +vn +.++++ +.3827 +.9239 +vn +.++++ +.124+ +.9923 +vn +.++++ -+.3487 +.9372 +vn +.++++ -+.7497 +.6618 +vn +.++++ -+.8944 +.4472 +vn +.4827 -+.8385 +.2526 +vn -+.3664 +.1841 -+.9121 +vn +.3914 -+.65+7 -+.65+7 +vn -+.288+ +.++++ -+.9576 +vn -+.4351 +.5+68 -+.7442 +vn +.3664 +.1841 -+.9121 +vn +.4356 +.7425 -+.5+89 +vn +.4351 +.5+68 -+.7442 +vn -+.4356 +.7425 -+.5+89 +vn +.4+81 +.89+6 -+.2++7 +vn +.5+54 +.8629 +.++++ +vn +.6679 -+.3282 +.6679 +vn +.9+54 +.3++2 +.3++2 +vn +.8165 +.4+82 +.4+82 +vn +.5+2+ -+.7+43 +.5+2+ +vn +.8291 -+.3755 +.4142 +vn +.6777 -+.2856 +.6777 +vn +.9197 -+.2724 +.2827 +vn +.7+1+ +.+116 +.7131 +vn +.9391 -+.1+95 +.3258 +vn +.9+13 -+.2656 +.3422 +vn +.9+54 -+.3++2 -+.3++2 +vn +.9398 +.1849 -+.2875 +vn +.94+1 +.2864 -+.185+ +vn -+.9+54 +.3++2 +.3++2 +vn -+.8165 +.4+82 +.4+82 +vn -+.5+54 +.8629 +.++++ +vn -+.8291 -+.3755 +.4142 +vn -+.9189 +.39+9 -+.+524 +vn -+.9197 -+.2724 +.2827 +vn -+.6679 -+.3282 +.6679 +vn -+.94+1 +.2864 -+.185+ +vn -+.4+81 +.89+6 -+.2++7 +vn -+.9398 +.1849 -+.2875 +vn -+.8959 +.++++ -+.4444 +vn -+.7+1+ +.+116 +.7131 +vn -+.8632 +.+665 +.5++5 +vn -+.6556 +.+937 +.7493 +vn -+.9391 -+.1+95 +.3258 +vn -+.6777 -+.2856 +.6777 +vn -+.5+2+ -+.7+43 +.5+2+ +vn +.9189 +.39+9 -+.+524 +vn +.9++9 +.1+53 -+.421+ +vn -+.9++9 +.1+53 -+.421+ +vn -+.9361 +.++68 +.3518 +vn +.++++ -+.8944 -+.4472 +vn +.++++ -+.8892 +.4576 +vn +.++++ -+.9864 +.1644 +vn +.++++ +.9839 -+.1789 +vn +.++++ +.8858 -+.4641 +vn +.++++ -+.3827 -+.9239 +vn +.++++ +.3162 +.9487 +vn +.++++ +.16+2 +.9871 +vn +.++++ -+.+782 -+.9969 +vn +.++++ +.1644 -+.9864 +vn +.++++ -+.3162 -+.9487 +vn +.++++ -+.+782 +.9969 +vn +.++++ +.1644 +.9864 +vn +.++++ -+.3162 +.9487 +vn +.4472 +.7746 +.4472 +vn +.7746 +.4472 +.4472 +vn +.8944 +.++++ +.4472 +vn +.7746 -+.4472 +.4472 +vn +.4472 -+.7746 +.4472 +vn -+.4472 -+.7746 +.4472 +vn -+.7746 -+.4472 +.4472 +vn -+.8944 -+.++++ +.4472 +vn -+.7746 +.4472 +.4472 +vn -+.4472 +.7746 +.4472 +vn +.59+9 +.77+1 -+.24+6 +vn +.3714 +.8967 -+.24+6 +vn -+.59+9 +.77+1 -+.24+6 +vn -+.9623 +.1267 -+.24+6 +vn +.59+9 -+.77+1 -+.24+6 +vn +.9361 +.++68 +.3518 +s off +f 38/59/19 47/6+/19 39/61/19 +f 35/62/2+ 42/63/2+ 5+/64/2+ +f 39/61/21 42/63/21 34/65/21 +f 41/66/22 5+/64/22 53/67/22 +f 53/67/23 4+/68/23 41/66/23 +f 38/69/24 44/7+/24 46/71/24 +f 4+/68/25 51/72/25 37/73/25 +f 37/73/26 44/7+/26 36/74/26 +f 4+/68/27 74/75/27 75/76/27 +f 515/77/28 855/78/28 77/79/28 +f 76/8+/2+ 43/81/2+ 54/82/2+ +f 45/83/26 77/84/26 55/85/26 +f 54/82/2+ 43/81/2+ 5+/64/2+ +f 55/85/26 51/72/26 45/83/26 +f 5+/64/2+ 56/86/2+ 58/87/2+ +f 51/72/26 59/88/26 57/89/26 +f 82/9+/27 163/91/27 162/92/27 +f 82/9+/27 173/93/27 81/94/27 +f 78/95/27 1+3/96/27 1+2/97/27 +f 78/95/27 113/98/27 1+1/99/27 +f 98/1++/27 127/1+1/27 126/1+2/27 +f 9+/1+3/27 125/1+4/27 89/1+5/27 +f 98/1++/27 137/1+6/27 97/1+7/27 +f 86/1+8/27 139/1+9/27 138/11+/27 +f 86/1+8/27 149/111/27 85/112/27 +f 9+/1+3/27 115/113/27 114/114/27 +f 94/115/27 161/116/27 93/117/27 +f 94/115/27 151/118/27 15+/119/27 +f 135/12+/27 154/121/27 153/122/27 +f 134/123/27 155/124/27 154/121/27 +f 132/125/27 155/124/27 133/126/27 +f 136/127/27 153/122/27 152/128/27 +f 111/129/27 13+/13+/27 129/131/27 +f 11+/132/27 131/133/27 13+/13+/27 +f 1+9/134/27 132/125/27 131/133/27 +f 112/135/27 129/131/27 128/136/27 +f 112/135/27 128/136/27 1++/137/27 +f 136/127/27 152/128/27 96/138/27 +f 1+5/139/27 172/14+/27 171/141/27 +f 1+6/142/27 171/141/27 17+/143/27 +f 1+6/142/27 169/144/27 1+7/145/27 +f 1+7/145/27 168/146/27 1+8/147/27 +f 124/148/27 141/149/27 14+/15+/27 +f 123/151/27 142/152/27 141/149/27 +f 122/153/27 143/154/27 142/152/27 +f 121/155/27 144/156/27 143/154/27 +f 117/157/27 16+/158/27 159/159/27 +f 118/16+/27 159/159/27 158/161/27 +f 119/162/27 158/161/27 157/163/27 +f 119/162/27 156/164/27 12+/165/27 +f 16+/158/27 116/166/27 92/167/27 +f 124/148/27 14+/15+/27 88/168/27 +f 147/169/27 164/17+/27 148/171/27 +f 147/169/27 166/172/27 165/173/27 +f 146/174/27 167/175/27 166/172/27 +f 144/156/27 167/175/27 145/176/27 +f 148/171/27 164/17+/27 84/177/27 +f 144/156/27 12+/165/27 156/164/27 +f 172/14+/27 1+4/178/27 8+/179/27 +f 39/18+/27 68/181/27 69/182/27 +f 35/183/27 65/184/27 66/185/27 +f 36/186/27 71/187/27 72/188/27 +f 4+/68/27 73/189/27 74/75/27 +f 35/183/27 64/19+/27 65/184/27 +f 39/18+/27 67/191/27 68/181/27 +f 38/192/27 71/187/27 36/186/27 +f 293/193/29 292/194/29 52/195/29 +f 52/195/29 291/196/29 51/197/29 +f 5+/198/29 282/199/29 53/67/29 +f 287/2++/29 286/2+1/29 43/2+2/29 +f 288/2+3/29 45/2+4/29 289/2+5/29 +f 286/2+1/29 285/2+6/29 43/2+2/29 +f 291/196/29 29+/2+7/29 51/197/29 +f 283/2+8/29 5+/198/29 284/2+9/29 +f 285/2+6/29 5+/198/29 43/2+2/29 +f 51/197/29 289/2+5/29 45/2+4/29 +f 339/21+/27 352/211/27 351/212/27 +f 338/213/27 351/212/27 35+/214/27 +f 337/215/27 35+/214/27 349/216/27 +f 336/217/27 349/216/27 348/218/27 +f 336/219/27 347/22+/27 335/221/27 +f 335/221/27 346/222/27 334/223/27 +f 334/223/27 345/224/27 333/225/27 +f 333/225/27 344/226/27 332/227/27 +f 332/227/27 343/228/27 331/229/27 +f 331/229/27 342/23+/27 33+/231/27 +f 341/232/27 342/23+/27 353/233/27 +f 34+/234/27 353/233/27 352/211/27 +f 3+3/235/29 3+1/236/29 297/237/29 +f 367/238/27 368/239/27 366/24+/27 +f 369/241/23 37+/242/23 368/243/23 +f 367/238/2+ 374/244/2+ 375/245/2+ +f 372/246/29 374/244/29 373/247/29 +f 371/248/3+ 372/246/3+ 37+/242/3+ +f 373/247/19 367/249/19 366/25+/19 +f 387/251/31 259/252/31 189/253/31 +f 388/254/32 251/255/32 43+/256/32 +f 391/257/33 231/258/33 412/259/33 +f 231/26+/29 195/261/29 2+9/262/29 +f 194/263/29 2+9/262/29 195/261/29 +f 21+/264/29 194/263/29 193/265/29 +f 21+/264/29 193/265/29 239/266/29 +f 39+/267/34 239/268/34 193/269/34 +f 19+/27+/29 249/271/29 191/272/29 +f 251/273/29 191/272/29 249/271/29 +f 26+/274/29 19+/27+/29 189/275/29 +f 26+/274/29 189/275/29 259/276/29 +f 385/277/35 222/278/35 4+3/279/35 +f 222/28+/29 187/281/29 221/282/29 +f 186/283/29 221/282/29 187/281/29 +f 198/284/29 186/285/29 185/286/29 +f 198/284/29 185/286/29 23+/287/29 +f 384/288/36 23+/289/36 185/29+/36 +f 182/291/29 2++/292/29 183/293/29 +f 2+1/294/29 182/291/29 181/295/29 +f 2+1/294/29 181/295/29 248/296/29 +f 2++/292/29 24+/297/29 183/293/29 +f 382/298/37 24+/299/37 421/3++/37 +f 381/3+1/38 248/3+2/38 181/3+3/38 +f 379/3+4/39 261/3+5/39 439/3+6/39 +f 261/3+7/29 179/3+8/29 2+3/3+9/29 +f 178/31+/29 2+3/3+9/29 179/3+8/29 +f 2+4/311/29 178/31+/29 177/312/29 +f 2+4/311/29 177/312/29 269/313/29 +f 378/314/4+ 269/315/4+ 177/316/4+ +f 2+7/317/29 175/318/29 197/319/29 +f 175/318/29 2+6/32+/29 174/321/29 +f 2+6/32+/29 212/322/29 174/321/29 +f 2+7/317/29 197/319/29 22+/323/29 +f 393/324/41 22+/325/41 197/326/41 +f 376/327/42 212/328/42 394/329/42 +f 431/33+/29 419/331/29 389/332/29 +f 413/333/29 4+1/334/29 392/335/29 +f 377/336/29 395/337/29 446/338/29 +f 44+/339/29 428/34+/29 38+/341/29 +f 422/342/29 41+/343/29 383/344/29 +f 386/345/29 4+4/346/29 437/347/29 +f 4+7/348/29 4+8/349/29 424/35+/29 +f 451/351/29 448/352/29 449/353/29 +f 5+5/354/26 448/355/26 5+4/356/26 +f 449/353/2+ 5+6/357/2+ 5+7/358/2+ +f 455/359/19 5+8/36+/19 454/361/19 +f 372/246/26 366/362/26 368/363/26 +f 512/364/43 5+8/36+/43 5+9/365/43 +f 511/366/44 455/359/44 454/361/44 +f 513/367/2+ 454/361/2+ 5+8/36+/2+ +f 51+/368/26 5+9/365/26 455/359/26 +f 857/369/28 76/37+/28 856/371/28 +f 546/372/2+ 551/373/2+ 55+/374/2+ +f 543/375/26 548/376/26 549/377/26 +f 52+/378/27 521/379/27 545/38+/27 +f 54+/381/27 517/382/27 555/383/27 +f 586/384/29 6++/385/29 585/386/29 +f 588/387/29 6+4/388/29 6+5/389/29 +f 568/39+/27 569/391/27 575/392/27 +f 572/393/27 565/394/27 577/395/27 +f 598/396/29 599/397/29 594/398/29 +f 582/399/29 583/4++/29 6+6/4+1/29 +f 787/4+2/29 79+/4+3/29 786/4+4/29 +f 596/4+5/29 595/4+6/29 582/399/29 +f 591/4+7/29 592/4+8/29 6+2/4+9/29 +f 6+1/41+/29 592/4+8/29 584/411/29 +f 58+/412/29 591/4+7/29 6+3/413/29 +f 619/414/45 68+/415/45 617/416/45 +f 615/417/46 68+/415/46 682/418/46 +f 685/419/47 615/417/47 682/418/47 +f 687/42+/48 613/421/48 685/419/48 +f 611/422/49 689/423/49 6+9/424/49 +f 666/425/5+ 6+9/424/5+ 689/423/5+ +f 668/426/3+ 631/427/3+ 666/425/3+ +f 668/426/51 627/428/51 629/429/51 +f 67+/43+/29 683/431/29 627/432/29 +f 61+/433/19 681/434/19 683/435/19 +f 617/436/2+ 613/437/2+ 629/438/2+ +f 612/439/52 679/44+/52 681/434/52 +f 614/441/19 677/442/19 679/44+/19 +f 658/443/19 661/444/19 662/445/19 +f 658/443/45 684/446/45 664/447/45 +f 641/448/26 639/449/26 653/45+/26 +f 652/451/2+ 638/452/2+ 637/453/2+ +f 616/454/29 675/455/29 677/442/29 +f 633/456/27 654/457/27 49/458/27 +f 48/459/27 651/46+/27 632/461/27 +f 655/462/23 45/2+4/23 43/2+2/23 +f 618/463/23 673/464/23 675/455/23 +f 645/465/26 643/466/26 656/467/26 +f 657/468/2+ 647/469/2+ 649/47+/2+ +f 62+/471/53 671/472/53 673/464/53 +f 628/473/54 671/474/54 626/475/54 +f 664/476/2+ 659/477/2+ 661/444/2+ +f 63+/478/23 669/479/23 628/48+/23 +f 66+/481/27 667/482/27 63+/483/27 +f 665/484/55 663/485/55 66+/481/55 +f 661/444/27 665/484/27 662/445/27 +f 6+8/486/26 626/487/26 61+/488/26 +f 628/48+/26 626/487/26 658/489/26 +f 614/49+/26 612/491/26 626/487/26 +f 674/492/26 622/493/26 672/494/26 +f 688/495/2+ 621/496/2+ 623/497/2+ +f 6+8/498/27 686/499/27 684/446/27 +f 679/5++/2+ 675/455/2+ 673/464/2+ +f 665/5+1/26 658/489/26 662/5+2/26 +f 668/5+3/26 689/5+4/26 68+/5+5/26 +f 624/5+6/53 688/5+7/53 686/499/53 +f 676/5+8/27 688/5+7/27 622/5+9/27 +f 664/476/2+ 669/51+/2+ 663/511/2+ +f 621/512/56 678/513/56 619/414/56 +f 684/514/2+ 686/515/2+ 627/432/2+ +f 691/516/57 692/517/57 69+/518/57 +f 693/519/23 695/52+/23 692/521/23 +f 691/516/19 69+/522/19 694/523/19 +f 698/524/58 697/525/58 696/526/58 +f 699/527/23 698/528/23 7+1/529/23 +f 697/525/19 7++/53+/19 696/531/19 +f 7+3/532/57 7+4/533/57 7+2/534/57 +f 7+5/535/23 7+7/536/23 7+4/537/23 +f 7+3/532/19 7+2/538/19 7+6/539/19 +f 71+/54+/58 7+9/541/58 7+8/542/58 +f 711/543/23 71+/544/23 713/545/23 +f 7+9/541/19 712/546/19 7+8/547/19 +f 721/548/2+ 717/549/2+ 729/55+/2+ +f 732/551/26 736/552/26 74+/553/26 +f 735/554/2+ 714/555/2+ 743/556/2+ +f 728/557/26 73+/558/26 722/559/26 +f 78+/56+/27 783/561/27 782/562/27 +f 779/563/27 784/564/27 785/565/27 +f 781/566/27 785/565/27 783/561/27 +f 784/564/27 78+/56+/27 782/562/27 +f 788/567/29 793/568/29 789/569/29 +f 789/569/29 791/57+/29 787/4+2/29 +f 788/567/29 79+/4+3/29 792/571/29 +f 785/565/2+ 787/572/2+ 783/561/2+ +f 783/573/19 786/4+4/19 782/574/19 +f 778/575/2+ 79+/4+3/2+ 78+/56+/2+ +f 779/576/19 792/571/19 778/577/19 +f 782/562/26 788/578/26 784/564/26 +f 784/579/23 789/569/23 785/58+/23 +f 781/581/26 793/568/26 779/582/26 +f 78+/583/23 791/57+/23 781/584/23 +f 795/585/2+ 796/586/2+ 794/587/2+ +f 798/588/26 8++/589/26 799/59+/26 +f 797/591/3+ 798/588/3+ 796/586/3+ +f 794/592/27 8++/589/27 795/593/27 +f 795/585/19 8+1/594/19 797/595/19 +f 796/586/23 799/59+/23 794/587/23 +f 815/596/2+ 811/597/2+ 8+7/598/2+ +f 814/599/26 816/6++/26 8+8/6+1/26 +f 819/6+2/25 827/6+3/25 826/6+4/25 +f 825/6+5/29 82+/6+6/29 821/6+7/29 +f 825/6+8/2+ 822/6+9/2+ 824/61+/2+ +f 819/6+2/27 826/611/27 818/612/27 +f 824/613/19 818/614/19 82+/6+6/19 +f 821/6+7/23 823/615/23 825/6+5/23 +f 826/616/24 82+/6+6/24 818/614/24 +f 837/617/22 829/618/22 836/619/22 +f 834/62+/29 835/621/29 831/622/29 +f 832/623/26 835/624/26 834/625/26 +f 828/626/27 829/618/27 833/627/27 +f 828/628/19 834/62+/19 83+/629/19 +f 833/627/23 831/622/23 835/621/23 +f 83+/629/21 836/63+/21 828/628/21 +f 839/631/23 84+/632/23 838/633/23 +f 844/634/2+ 849/635/2+ 845/636/2+ +f 839/631/2+ 845/636/2+ 841/637/2+ +f 84+/632/26 843/638/26 838/633/26 +f 842/639/26 847/64+/26 843/638/26 +f 852/641/28 851/642/28 85+/643/28 +f 55/644/19 855/78/19 856/371/19 +f 852/641/29 857/645/29 853/646/29 +f 851/642/27 855/647/27 85+/643/27 +f 851/642/2+ 857/648/2+ 856/649/2+ +f 85+/643/26 854/65+/26 852/641/26 +f 9+4/651/26 891/652/26 892/653/26 +f 872/654/26 874/655/26 866/656/26 +f 873/657/2+ 869/658/2+ 865/659/2+ +f 895/66+/2+ 89+/661/2+ 9+3/662/2+ +f 958/663/24 931/664/24 923/665/24 +f 647/469/23 656/467/23 643/466/23 +f 976/666/26 978/667/26 97+/668/26 +f 977/669/2+ 973/67+/2+ 969/671/2+ +f 994/672/26 1+3+/673/26 998/674/26 +f 1++9/675/2+ 1++1/676/2+ 995/677/2+ +f 1++1/676/2+ 1+13/678/2+ 1++3/679/2+ +f 1++3/679/2+ 1+15/68+/2+ 1++5/681/2+ +f 1++5/681/2+ 1+17/682/2+ 1++7/683/2+ +f 1+++/684/26 1++8/685/26 994/672/26 +f 1+12/686/26 1+++/684/26 1++2/687/26 +f 1+14/688/26 1++2/687/26 1++4/689/26 +f 1+16/69+/26 1++4/689/26 1++6/691/26 +f 998/674/26 1+18/692/26 996/693/26 +f 997/694/2+ 1+19/695/2+ 999/696/2+ +f 1+22/697/26 1+24/698/26 1+26/699/26 +f 1+27/7++/2+ 1+25/7+1/2+ 1+23/7+2/2+ +f 1+31/7+3/2+ 995/677/2+ 999/696/2+ +f 998/674/26 1+32/7+4/26 1+18/692/26 +f 1+33/7+5/2+ 999/696/2+ 1+19/695/2+ +f 49/7+6/2+ 76/8+/2+ 514/7+7/2+ +f 77/84/26 48/7+8/26 515/7+9/26 +f 1+52/71+/27 1+54/711/27 1+46/712/27 +f 358/713/27 362/714/27 354/715/27 +f 11+3/716/27 1116/717/27 1115/718/27 +f 11+2/719/27 1115/718/27 1114/72+/27 +f 11+1/721/27 1114/72+/27 1113/722/27 +f 11++/723/27 1113/722/27 1112/724/27 +f 11++/725/27 1111/726/27 1+99/727/27 +f 1+99/727/27 111+/728/27 1+98/729/27 +f 1+98/729/27 11+9/73+/27 1+97/731/27 +f 1+97/731/27 11+8/732/27 1+96/733/27 +f 1+96/733/27 11+7/734/27 1+95/735/27 +f 1+95/735/27 11+6/736/27 1+94/737/27 +f 11+5/738/27 11+6/736/27 1117/739/27 +f 11+4/74+/27 1117/739/27 1116/717/27 +f 1+67/741/29 1+65/742/29 1+61/743/29 +f 1131/744/27 1132/745/27 113+/746/27 +f 1133/747/19 1134/748/19 1132/749/19 +f 1131/744/26 1138/75+/26 1139/751/26 +f 1136/752/29 1138/75+/29 1137/753/29 +f 1135/754/48 1136/752/48 1134/748/48 +f 1137/753/23 1131/755/23 113+/756/23 +f 1136/752/2+ 113+/757/2+ 1132/758/2+ +f 1158/759/27 116+/76+/27 1152/761/27 +f 1122/762/27 1126/763/27 1118/764/27 +f 12+9/765/27 1222/766/27 1221/767/27 +f 12+8/768/27 1221/767/27 122+/769/27 +f 12+7/77+/27 122+/769/27 1219/771/27 +f 12+6/772/27 1219/771/27 1218/773/27 +f 12+6/774/27 1217/775/27 12+5/776/27 +f 12+5/776/27 1216/777/27 12+4/778/27 +f 12+4/778/27 1215/779/27 12+3/78+/27 +f 12+3/78+/27 1214/781/27 12+2/782/27 +f 12+2/782/27 1213/783/27 12+1/784/27 +f 12+1/784/27 1212/785/27 12++/786/27 +f 1211/787/27 1212/785/27 1223/788/27 +f 121+/789/27 1223/788/27 1222/766/27 +f 1175/79+/29 1171/791/29 1167/792/29 +f 1237/793/27 1238/794/27 1236/795/27 +f 1239/796/59 124+/797/59 1238/798/59 +f 1237/793/6+ 1244/799/6+ 1245/8++/6+ +f 1243/8+1/29 1245/8++/29 1244/799/29 +f 1241/8+2/61 1242/8+3/61 124+/797/61 +f 1243/8+1/62 1237/8+4/62 1236/8+5/62 +f 1242/8+3/63 1236/8+6/63 1238/8+7/63 +f 1264/8+8/27 1266/8+9/27 1258/81+/27 +f 1228/811/27 1232/812/27 1224/813/27 +f 1315/814/27 1328/815/27 1327/816/27 +f 1314/817/27 1327/816/27 1326/818/27 +f 1313/819/27 1326/818/27 1325/82+/27 +f 1312/821/27 1325/82+/27 1324/822/27 +f 1312/823/27 1323/824/27 1311/825/27 +f 1311/825/27 1322/826/27 131+/827/27 +f 131+/827/27 1321/828/27 13+9/829/27 +f 13+9/829/27 132+/83+/27 13+8/831/27 +f 13+8/831/27 1319/832/27 13+7/833/27 +f 13+7/833/27 1318/834/27 13+6/835/27 +f 1317/836/27 1318/834/27 1329/837/27 +f 1316/838/27 1329/837/27 1328/815/27 +f 1281/839/29 1277/84+/29 1273/841/29 +f 1343/842/27 1344/843/27 1342/844/27 +f 1345/845/62 1346/846/62 1344/847/62 +f 1343/842/63 135+/848/63 1351/849/63 +f 1348/85+/29 135+/848/29 1349/851/29 +f 1346/846/64 1351/849/64 1348/85+/64 +f 1349/851/59 1343/852/59 1342/853/59 +f 1348/85+/6+ 1342/854/6+ 1344/855/6+ +f 137+/856/27 1372/857/27 1364/858/27 +f 1334/859/27 1338/86+/27 133+/861/27 +f 1421/862/27 1434/863/27 1433/864/27 +f 142+/865/27 1433/864/27 1432/866/27 +f 1419/867/27 1432/866/27 1431/868/27 +f 1418/869/27 1431/868/27 143+/87+/27 +f 1418/871/27 1429/872/27 1417/873/27 +f 1417/873/27 1428/874/27 1416/875/27 +f 1416/875/27 1427/876/27 1415/877/27 +f 1415/877/27 1426/878/27 1414/879/27 +f 1414/879/27 1425/88+/27 1413/881/27 +f 1413/881/27 1424/882/27 1412/883/27 +f 1423/884/27 1424/882/27 1435/885/27 +f 1422/886/27 1435/885/27 1434/863/27 +f 1387/887/29 1383/888/29 1379/889/29 +f 1449/89+/27 145+/891/27 1448/892/27 +f 1451/893/65 1452/894/65 145+/895/65 +f 1449/89+/66 1456/896/66 1457/897/66 +f 1454/898/29 1456/896/29 1455/899/29 +f 1453/9++/67 1454/898/67 1452/894/67 +f 1455/899/68 1449/9+1/68 1448/9+2/68 +f 1454/898/69 1448/9+3/69 145+/9+4/69 +f 1476/9+5/27 1478/9+6/27 147+/9+7/27 +f 144+/9+8/27 1444/9+9/27 1436/91+/27 +f 1527/911/27 154+/912/27 1539/913/27 +f 1526/914/27 1539/913/27 1538/915/27 +f 1525/916/27 1538/915/27 1537/917/27 +f 1524/918/27 1537/917/27 1536/919/27 +f 1524/92+/27 1535/921/27 1523/922/27 +f 1523/922/27 1534/923/27 1522/924/27 +f 1522/924/27 1533/925/27 1521/926/27 +f 1521/926/27 1532/927/27 152+/928/27 +f 152+/928/27 1531/929/27 1519/93+/27 +f 1519/93+/27 153+/931/27 1518/932/27 +f 1529/933/27 153+/931/27 1541/934/27 +f 1528/935/27 1541/934/27 154+/912/27 +f 1491/936/29 1489/937/29 1485/938/29 +f 1555/939/27 1556/94+/27 1554/941/27 +f 1557/942/68 1558/943/68 1556/944/68 +f 1555/939/69 1562/945/69 1563/946/69 +f 1561/947/29 1563/946/29 1562/945/29 +f 1559/948/7+ 156+/949/7+ 1558/943/7+ +f 1561/947/65 1555/95+/65 1554/951/65 +f 156+/949/66 1554/952/66 1556/953/66 +f 1582/954/27 1584/955/27 1576/956/27 +f 1546/957/27 155+/958/27 1542/959/27 +f 38/59/19 46/96+/19 47/6+/19 +f 35/62/2+ 34/65/2+ 42/63/2+ +f 39/61/21 47/6+/21 42/63/21 +f 41/66/22 35/62/22 5+/64/22 +f 53/67/23 52/195/23 4+/68/23 +f 38/69/24 36/74/24 44/7+/24 +f 4+/68/25 52/195/25 51/72/25 +f 37/73/26 51/72/26 44/7+/26 +f 64/19+/27 41/66/27 75/76/27 +f 41/66/27 4+/68/27 75/76/27 +f 515/77/28 854/961/28 855/78/28 +f 5+/64/2+ 42/63/2+ 56/86/2+ +f 42/63/2+ 6+/962/2+ 62/963/2+ +f 56/86/2+ 42/63/2+ 62/963/2+ +f 58/87/2+ 54/82/2+ 5+/64/2+ +f 61/964/26 44/7+/26 63/965/26 +f 44/7+/26 51/72/26 57/89/26 +f 51/72/26 55/85/26 59/88/26 +f 57/89/26 63/965/26 44/7+/26 +f 82/9+/27 83/966/27 163/91/27 +f 82/9+/27 162/92/27 173/93/27 +f 78/95/27 79/967/27 1+3/96/27 +f 78/95/27 1+2/97/27 113/98/27 +f 98/1++/27 99/968/27 127/1+1/27 +f 9+/1+3/27 114/114/27 125/1+4/27 +f 98/1++/27 126/1+2/27 137/1+6/27 +f 86/1+8/27 87/969/27 139/1+9/27 +f 86/1+8/27 138/11+/27 149/111/27 +f 9+/1+3/27 91/97+/27 115/113/27 +f 94/115/27 15+/119/27 161/116/27 +f 94/115/27 95/971/27 151/118/27 +f 135/12+/27 134/123/27 154/121/27 +f 134/123/27 133/126/27 155/124/27 +f 132/125/27 156/164/27 155/124/27 +f 136/127/27 135/12+/27 153/122/27 +f 111/129/27 11+/132/27 13+/13+/27 +f 11+/132/27 1+9/134/27 131/133/27 +f 1+9/134/27 1+8/147/27 132/125/27 +f 112/135/27 111/129/27 129/131/27 +f 127/1+1/27 99/968/27 128/136/27 +f 99/968/27 1++/137/27 128/136/27 +f 1++/137/27 1+1/99/27 112/135/27 +f 1+1/99/27 113/98/27 112/135/27 +f 151/118/27 95/971/27 152/128/27 +f 95/971/27 96/138/27 152/128/27 +f 96/138/27 97/1+7/27 136/127/27 +f 97/1+7/27 137/1+6/27 136/127/27 +f 1+5/139/27 1+4/178/27 172/14+/27 +f 1+6/142/27 1+5/139/27 171/141/27 +f 1+6/142/27 17+/143/27 169/144/27 +f 1+7/145/27 169/144/27 168/146/27 +f 124/148/27 123/151/27 141/149/27 +f 123/151/27 122/153/27 142/152/27 +f 122/153/27 121/155/27 143/154/27 +f 121/155/27 12+/165/27 144/156/27 +f 117/157/27 116/166/27 16+/158/27 +f 118/16+/27 117/157/27 159/159/27 +f 119/162/27 118/16+/27 158/161/27 +f 119/162/27 157/163/27 156/164/27 +f 91/97+/27 92/167/27 116/166/27 +f 92/167/27 93/117/27 16+/158/27 +f 91/97+/27 116/166/27 115/113/27 +f 93/117/27 161/116/27 16+/158/27 +f 139/1+9/27 87/969/27 14+/15+/27 +f 87/969/27 88/168/27 14+/15+/27 +f 88/168/27 89/1+5/27 124/148/27 +f 89/1+5/27 125/1+4/27 124/148/27 +f 147/169/27 165/173/27 164/17+/27 +f 147/169/27 146/174/27 166/172/27 +f 146/174/27 145/176/27 167/175/27 +f 144/156/27 168/146/27 167/175/27 +f 163/91/27 83/966/27 164/17+/27 +f 83/966/27 84/177/27 164/17+/27 +f 84/177/27 85/112/27 148/171/27 +f 85/112/27 149/111/27 148/171/27 +f 156/164/27 132/125/27 144/156/27 +f 132/125/27 1+8/147/27 144/156/27 +f 1+8/147/27 168/146/27 144/156/27 +f 79/967/27 8+/179/27 1+4/178/27 +f 8+/179/27 81/94/27 172/14+/27 +f 79/967/27 1+4/178/27 1+3/96/27 +f 81/94/27 173/93/27 172/14+/27 +f 7+/972/27 38/192/27 69/182/27 +f 38/192/27 39/18+/27 69/182/27 +f 67/191/27 34/973/27 66/185/27 +f 34/973/27 35/183/27 66/185/27 +f 73/189/27 37/974/27 72/188/27 +f 37/974/27 36/186/27 72/188/27 +f 4+/68/27 37/974/27 73/189/27 +f 35/183/27 41/66/27 64/19+/27 +f 39/18+/27 34/973/27 67/191/27 +f 38/192/27 7+/972/27 71/187/27 +f 52/195/29 53/67/29 293/193/29 +f 53/67/29 282/199/29 293/193/29 +f 52/195/29 292/194/29 291/196/29 +f 5+/198/29 283/2+8/29 282/199/29 +f 43/2+2/29 45/2+4/29 287/2++/29 +f 45/2+4/29 288/2+3/29 287/2++/29 +f 285/2+6/29 284/2+9/29 5+/198/29 +f 51/197/29 29+/2+7/29 289/2+5/29 +f 339/21+/27 34+/234/27 352/211/27 +f 338/213/27 339/21+/27 351/212/27 +f 337/215/27 338/213/27 35+/214/27 +f 336/217/27 337/215/27 349/216/27 +f 336/219/27 348/975/27 347/22+/27 +f 335/221/27 347/22+/27 346/222/27 +f 334/223/27 346/222/27 345/224/27 +f 333/225/27 345/224/27 344/226/27 +f 332/227/27 344/226/27 343/228/27 +f 331/229/27 343/228/27 342/23+/27 +f 341/232/27 33+/231/27 342/23+/27 +f 34+/234/27 341/232/27 353/233/27 +f 297/237/29 294/976/29 296/977/29 +f 296/977/29 295/978/29 297/237/29 +f 295/978/29 3+5/979/29 297/237/29 +f 3+5/979/29 3+4/98+/29 3+3/235/29 +f 3+3/235/29 3+2/981/29 3+1/236/29 +f 3+1/236/29 3++/982/29 299/983/29 +f 299/983/29 298/984/29 3+1/236/29 +f 298/984/29 297/237/29 3+1/236/29 +f 3+5/979/29 3+3/235/29 297/237/29 +f 367/238/27 369/985/27 368/239/27 +f 369/241/23 371/248/23 37+/242/23 +f 371/986/2+ 369/985/2+ 375/245/2+ +f 369/985/2+ 367/238/2+ 375/245/2+ +f 372/246/29 375/245/29 374/244/29 +f 371/248/3+ 375/245/3+ 372/246/3+ +f 373/247/19 374/244/19 367/249/19 +f 387/251/71 438/987/71 259/252/71 +f 388/254/72 191/988/72 251/255/72 +f 391/257/73 195/989/73 231/258/73 +f 194/263/29 211/99+/29 2+9/262/29 +f 21+/264/29 211/99+/29 194/263/29 +f 39+/267/74 42+/991/74 239/268/74 +f 19+/27+/29 25+/992/29 249/271/29 +f 26+/274/29 25+/992/29 19+/27+/29 +f 385/277/75 187/993/75 222/278/75 +f 186/283/29 199/994/29 221/282/29 +f 198/284/29 199/995/29 186/285/29 +f 384/288/76 411/996/76 23+/289/76 +f 182/291/29 2+2/997/29 2++/292/29 +f 2+1/294/29 2+2/997/29 182/291/29 +f 382/298/77 183/998/77 24+/299/77 +f 381/3+1/78 429/999/78 248/3+2/78 +f 379/3+4/79 179/1+++/79 261/3+5/79 +f 178/31+/29 2+5/1++1/29 2+3/3+9/29 +f 2+4/311/29 2+5/1++1/29 178/31+/29 +f 378/314/8+ 447/1++2/8+ 269/315/8+ +f 2+7/317/29 2+8/1++3/29 175/318/29 +f 175/318/29 2+8/1++3/29 2+6/32+/29 +f 393/324/81 4+2/1++4/81 22+/325/81 +f 376/327/82 174/1++5/82 212/328/82 +f 389/332/29 388/1++6/29 43+/1++7/29 +f 431/33+/29 432/1++8/29 419/331/29 +f 432/1++8/29 418/1++9/29 419/331/29 +f 389/332/29 43+/1++7/29 431/33+/29 +f 42+/1+1+/29 39+/1+11/29 389/332/29 +f 419/331/29 42+/1+1+/29 389/332/29 +f 392/335/29 391/1+12/29 412/1+13/29 +f 413/333/29 414/1+14/29 4+1/334/29 +f 414/1+14/29 4++/1+15/29 4+1/334/29 +f 392/335/29 412/1+13/29 413/333/29 +f 4+2/1+16/29 393/1+17/29 392/335/29 +f 4+1/334/29 4+2/1+16/29 392/335/29 +f 378/1+18/29 377/336/29 447/1+19/29 +f 377/336/29 376/1+2+/29 394/1+21/29 +f 395/337/29 377/336/29 394/1+21/29 +f 395/337/29 396/1+22/29 446/338/29 +f 396/1+22/29 445/1+23/29 446/338/29 +f 446/338/29 447/1+19/29 377/336/29 +f 38+/341/29 379/1+24/29 439/1+25/29 +f 44+/339/29 441/1+26/29 428/34+/29 +f 441/1+26/29 427/1+27/29 428/34+/29 +f 38+/341/29 439/1+25/29 44+/339/29 +f 429/1+28/29 381/1+29/29 38+/341/29 +f 428/34+/29 429/1+28/29 38+/341/29 +f 383/344/29 382/1+3+/29 421/1+31/29 +f 422/342/29 423/1+32/29 41+/343/29 +f 423/1+32/29 4+9/1+33/29 41+/343/29 +f 383/344/29 421/1+31/29 422/342/29 +f 411/1+34/29 384/1+35/29 383/344/29 +f 41+/343/29 411/1+34/29 383/344/29 +f 387/1+36/29 386/345/29 438/1+37/29 +f 386/345/29 385/1+38/29 4+3/1+39/29 +f 4+4/346/29 386/345/29 4+3/1+39/29 +f 4+4/346/29 4+5/1+4+/29 437/347/29 +f 4+5/1+4+/29 436/1+41/29 437/347/29 +f 437/347/29 438/1+37/29 386/345/29 +f 399/1+42/29 4++/1+15/29 415/1+43/29 +f 4++/1+15/29 414/1+14/29 415/1+43/29 +f 398/1+44/29 399/1+42/29 416/1+45/29 +f 399/1+42/29 415/1+43/29 416/1+45/29 +f 445/1+23/29 396/1+22/29 444/1+46/29 +f 396/1+22/29 397/1+47/29 444/1+46/29 +f 397/1+47/29 398/1+44/29 443/1+48/29 +f 398/1+44/29 416/1+45/29 443/1+48/29 +f 417/1+49/29 418/1++9/29 432/1++8/29 +f 416/1+45/29 417/1+49/29 433/1+5+/29 +f 443/1+48/29 444/1+46/29 397/1+47/29 +f 416/1+45/29 433/1+5+/29 434/1+51/29 +f 417/1+49/29 432/1++8/29 433/1+5+/29 +f 443/1+48/29 416/1+45/29 434/1+51/29 +f 427/1+27/29 441/1+26/29 442/1+52/29 +f 442/1+52/29 443/1+48/29 425/1+53/29 +f 443/1+48/29 434/1+51/29 425/1+53/29 +f 435/1+54/29 436/1+41/29 4+6/1+55/29 +f 436/1+41/29 4+5/1+4+/29 4+6/1+55/29 +f 434/1+51/29 435/1+54/29 4+7/348/29 +f 425/1+53/29 434/1+51/29 4+7/348/29 +f 426/1+56/29 427/1+27/29 442/1+52/29 +f 425/1+53/29 426/1+56/29 442/1+52/29 +f 435/1+54/29 4+6/1+55/29 4+7/348/29 +f 4+9/1+33/29 423/1+32/29 424/35+/29 +f 424/35+/29 425/1+53/29 4+7/348/29 +f 4+8/349/29 4+9/1+33/29 424/35+/29 +f 451/351/29 45+/1+57/29 448/352/29 +f 452/1+58/26 448/355/26 5+5/354/26 +f 448/355/26 45+/1+59/26 5+4/356/26 +f 5+7/358/2+ 451/351/2+ 449/353/2+ +f 449/353/2+ 453/1+6+/2+ 5+6/357/2+ +f 455/359/19 5+9/365/19 5+8/36+/19 +f 368/363/26 37+/1+61/26 372/246/26 +f 372/246/26 373/247/26 366/362/26 +f 512/364/43 513/1+62/43 5+8/36+/43 +f 511/366/44 51+/1+63/44 455/359/44 +f 513/367/2+ 511/1+64/2+ 454/361/2+ +f 51+/368/26 512/1+65/26 5+9/365/26 +f 857/369/28 514/1+66/28 76/37+/28 +f 55+/374/2+ 547/1+67/2+ 546/372/2+ +f 547/1+67/2+ 545/1+68/2+ 546/372/2+ +f 545/1+68/2+ 544/1+69/2+ 546/372/2+ +f 549/377/26 542/1+7+/26 543/375/26 +f 542/1+7+/26 54+/1+71/26 543/375/26 +f 54+/1+71/26 541/1+72/26 543/375/26 +f 521/379/27 556/1+73/27 544/1+74/27 +f 556/1+73/27 516/1+75/27 544/1+74/27 +f 544/1+74/27 545/38+/27 521/379/27 +f 545/38+/27 518/1+76/27 561/1+77/27 +f 561/1+77/27 52+/378/27 545/38+/27 +f 555/383/27 523/1+78/27 54+/381/27 +f 523/1+78/27 522/1+79/27 54+/381/27 +f 522/1+79/27 552/1+8+/27 541/1+81/27 +f 552/1+8+/27 519/1+82/27 541/1+81/27 +f 541/1+81/27 54+/381/27 522/1+79/27 +f 586/384/29 599/397/29 6++/385/29 +f 588/387/29 581/1+83/29 6+4/388/29 +f 569/391/27 578/1+84/27 574/1+85/27 +f 578/1+84/27 564/1+86/27 574/1+85/27 +f 574/1+85/27 575/392/27 569/391/27 +f 575/392/27 566/1+87/27 579/1+88/27 +f 579/1+88/27 568/39+/27 575/392/27 +f 577/395/27 571/1+89/27 572/393/27 +f 571/1+89/27 57+/1+9+/27 572/393/27 +f 57+/1+9+/27 576/1+91/27 573/1+92/27 +f 576/1+91/27 567/1+93/27 573/1+92/27 +f 573/1+92/27 572/393/27 57+/1+9+/27 +f 599/397/29 586/384/29 587/1+94/29 +f 587/1+94/29 594/398/29 599/397/29 +f 594/398/29 595/4+6/29 598/396/29 +f 595/4+6/29 597/1+95/29 598/396/29 +f 589/1+96/29 588/387/29 6+5/389/29 +f 6+6/4+1/29 6+7/1+97/29 582/399/29 +f 589/1+96/29 6+5/389/29 583/4++/29 +f 6+5/389/29 6+6/4+1/29 583/4++/29 +f 787/4+2/29 791/57+/29 79+/4+3/29 +f 596/4+5/29 597/1+95/29 595/4+6/29 +f 582/399/29 6+7/1+97/29 596/4+5/29 +f 584/411/29 585/386/29 6+1/41+/29 +f 585/386/29 6++/385/29 6+1/41+/29 +f 6+1/41+/29 6+2/4+9/29 592/4+8/29 +f 592/4+8/29 593/1+98/29 584/411/29 +f 6+3/413/29 6+4/388/29 581/1+83/29 +f 581/1+83/29 58+/412/29 6+3/413/29 +f 58+/412/29 59+/1+99/29 591/4+7/29 +f 6+3/413/29 591/4+7/29 6+2/4+9/29 +f 619/414/45 678/513/45 68+/415/45 +f 615/417/46 617/416/46 68+/415/46 +f 685/419/47 613/421/47 615/417/47 +f 687/42+/48 611/422/48 613/421/48 +f 611/422/49 687/42+/49 689/423/49 +f 666/425/5+ 631/427/5+ 6+9/424/5+ +f 668/426/3+ 629/429/3+ 631/427/3+ +f 668/426/51 67+/11++/51 627/428/51 +f 67+/43+/29 61+/11+1/29 683/431/29 +f 61+/433/19 612/439/19 681/434/19 +f 613/437/2+ 611/11+2/2+ 6+9/11+3/2+ +f 6+9/11+3/2+ 631/11+4/2+ 613/437/2+ +f 631/11+4/2+ 629/438/2+ 613/437/2+ +f 629/438/2+ 627/11+5/2+ 625/11+6/2+ +f 625/11+6/2+ 623/497/2+ 621/11+7/2+ +f 621/11+7/2+ 619/11+8/2+ 617/436/2+ +f 617/436/2+ 615/11+9/2+ 613/437/2+ +f 629/438/2+ 625/11+6/2+ 621/11+7/2+ +f 621/11+7/2+ 617/436/2+ 629/438/2+ +f 612/439/52 614/441/52 679/44+/52 +f 614/441/19 616/454/19 677/442/19 +f 658/443/19 664/447/19 661/444/19 +f 658/443/45 6+8/498/45 684/446/45 +f 515/7+9/26 48/7+8/26 653/45+/26 +f 48/7+8/26 632/111+/26 634/1111/26 +f 653/45+/26 48/7+8/26 634/1111/26 +f 634/1111/26 64+/1112/26 653/45+/26 +f 64+/1112/26 641/448/26 653/45+/26 +f 633/1113/2+ 49/7+6/2+ 635/1114/2+ +f 49/7+6/2+ 514/7+7/2+ 652/451/2+ +f 652/451/2+ 636/1115/2+ 638/452/2+ +f 49/7+6/2+ 652/451/2+ 635/1114/2+ +f 637/453/2+ 635/1114/2+ 652/451/2+ +f 616/454/29 618/463/29 675/455/29 +f 633/456/27 65+/1116/27 654/457/27 +f 48/459/27 655/462/27 651/46+/27 +f 43/2+2/23 49/458/23 654/457/23 +f 655/462/23 48/459/23 45/2+4/23 +f 43/2+2/23 654/457/23 655/462/23 +f 618/463/23 62+/471/23 673/464/23 +f 642/1117/26 644/1118/26 656/467/26 +f 644/1118/26 645/465/26 656/467/26 +f 649/47+/2+ 648/1119/2+ 657/468/2+ +f 648/1119/2+ 646/112+/2+ 657/468/2+ +f 62+/471/53 626/1121/53 671/472/53 +f 628/473/54 669/1122/54 671/474/54 +f 664/476/2+ 663/511/2+ 659/477/2+ +f 63+/478/23 667/1123/23 669/479/23 +f 66+/481/27 663/485/27 667/482/27 +f 665/484/55 659/477/55 663/485/55 +f 661/444/27 659/477/27 665/484/27 +f 61+/488/26 67+/1124/26 6+8/486/26 +f 67+/1124/26 672/494/26 624/1125/26 +f 6+8/486/26 67+/1124/26 624/1125/26 +f 626/487/26 6+8/486/26 658/489/26 +f 658/489/26 66+/1126/26 628/48+/26 +f 66+/1126/26 63+/1127/26 628/48+/26 +f 61+/488/26 626/487/26 612/491/26 +f 626/487/26 62+/1128/26 614/49+/26 +f 62+/1128/26 618/1129/26 614/49+/26 +f 618/1129/26 616/113+/26 614/49+/26 +f 674/492/26 676/1131/26 622/493/26 +f 622/493/26 624/1125/26 672/494/26 +f 623/497/2+ 625/11+6/2+ 688/495/2+ +f 625/11+6/2+ 686/515/2+ 688/495/2+ +f 6+8/498/27 624/5+6/27 686/499/27 +f 673/464/2+ 671/1132/2+ 679/5++/2+ +f 671/1132/2+ 683/431/2+ 681/1133/2+ +f 679/5++/2+ 671/1132/2+ 681/1133/2+ +f 679/5++/2+ 677/1134/2+ 675/455/2+ +f 665/5+1/26 66+/1126/26 658/489/26 +f 689/5+4/26 687/1135/26 685/1136/26 +f 685/1136/26 682/1137/26 689/5+4/26 +f 682/1137/26 68+/5+5/26 689/5+4/26 +f 68+/5+5/26 678/1138/26 676/1139/26 +f 676/1139/26 674/492/26 68+/5+5/26 +f 674/492/26 672/494/26 68+/5+5/26 +f 672/494/26 67+/114+/26 668/5+3/26 +f 668/5+3/26 666/1141/26 689/5+4/26 +f 672/494/26 668/5+3/26 68+/5+5/26 +f 624/5+6/53 622/5+9/53 688/5+7/53 +f 676/5+8/27 621/1142/27 688/5+7/27 +f 664/476/2+ 684/514/2+ 671/1132/2+ +f 671/1132/2+ 669/51+/2+ 664/476/2+ +f 669/51+/2+ 667/1143/2+ 663/511/2+ +f 621/512/56 676/1144/56 678/513/56 +f 625/11+6/2+ 627/432/2+ 686/515/2+ +f 627/432/2+ 683/431/2+ 684/514/2+ +f 683/431/2+ 671/1132/2+ 684/514/2+ +f 691/516/57 693/519/57 692/517/57 +f 698/524/58 699/527/58 697/525/58 +f 7+3/532/57 7+5/535/57 7+4/533/57 +f 71+/54+/58 711/543/58 7+9/541/58 +f 721/548/2+ 719/1145/2+ 717/549/2+ +f 717/549/2+ 731/1146/2+ 729/55+/2+ +f 729/55+/2+ 727/1147/2+ 725/1148/2+ +f 725/1148/2+ 723/1149/2+ 729/55+/2+ +f 723/1149/2+ 721/548/2+ 729/55+/2+ +f 732/551/26 734/115+/26 736/552/26 +f 736/552/26 738/1151/26 74+/553/26 +f 74+/553/26 742/1152/26 732/551/26 +f 742/1152/26 744/1153/26 732/551/26 +f 744/1153/26 715/1154/26 732/551/26 +f 743/556/2+ 741/1155/2+ 739/1156/2+ +f 739/1156/2+ 737/1157/2+ 743/556/2+ +f 737/1157/2+ 735/554/2+ 743/556/2+ +f 735/554/2+ 733/1158/2+ 714/555/2+ +f 714/555/2+ 745/1159/2+ 743/556/2+ +f 73+/558/26 716/116+/26 722/559/26 +f 716/116+/26 718/1161/26 722/559/26 +f 718/1161/26 72+/1162/26 722/559/26 +f 722/559/26 724/1163/26 726/1164/26 +f 726/1164/26 728/557/26 722/559/26 +f 78+/56+/27 781/566/27 783/561/27 +f 779/563/27 778/575/27 784/564/27 +f 781/566/27 779/563/27 785/565/27 +f 784/564/27 778/575/27 78+/56+/27 +f 788/567/29 792/571/29 793/568/29 +f 789/569/29 793/568/29 791/57+/29 +f 788/567/29 786/4+4/29 79+/4+3/29 +f 785/565/2+ 789/1165/2+ 787/572/2+ +f 783/573/19 787/4+2/19 786/4+4/19 +f 778/575/2+ 792/571/2+ 79+/4+3/2+ +f 779/576/19 793/568/19 792/571/19 +f 782/562/26 786/1166/26 788/578/26 +f 784/579/23 788/567/23 789/569/23 +f 781/581/26 791/57+/26 793/568/26 +f 78+/583/23 79+/4+3/23 791/57+/23 +f 795/585/2+ 797/595/2+ 796/586/2+ +f 798/588/26 8+1/1167/26 8++/589/26 +f 797/591/3+ 8+1/1168/3+ 798/588/3+ +f 794/592/27 799/59+/27 8++/589/27 +f 795/585/19 8++/1169/19 8+1/594/19 +f 796/586/23 798/588/23 799/59+/23 +f 8+7/598/2+ 8+5/117+/2+ 8+3/1171/2+ +f 8+3/1171/2+ 817/1172/2+ 815/596/2+ +f 815/596/2+ 813/1173/2+ 811/597/2+ +f 811/597/2+ 8+9/1174/2+ 8+7/598/2+ +f 8+7/598/2+ 8+3/1171/2+ 815/596/2+ +f 816/6++/26 8+2/1175/26 8+8/6+1/26 +f 8+2/1175/26 8+4/1176/26 8+8/6+1/26 +f 8+4/1176/26 8+6/1177/26 8+8/6+1/26 +f 8+8/6+1/26 81+/1178/26 812/1179/26 +f 812/1179/26 814/599/26 8+8/6+1/26 +f 819/6+2/25 821/6+7/25 827/6+3/25 +f 824/613/29 82+/6+6/29 825/6+5/29 +f 82+/6+6/29 827/118+/29 821/6+7/29 +f 825/6+8/2+ 823/615/2+ 822/6+9/2+ +f 818/612/27 822/6+9/27 823/615/27 +f 823/615/27 819/6+2/27 818/612/27 +f 824/613/19 822/1181/19 818/614/19 +f 821/6+7/23 819/6+2/23 823/615/23 +f 826/616/24 827/1182/24 82+/6+6/24 +f 837/617/22 831/622/22 829/618/22 +f 837/1183/29 83+/629/29 831/622/29 +f 83+/629/29 834/62+/29 831/622/29 +f 832/623/26 833/627/26 835/624/26 +f 833/627/27 832/623/27 828/626/27 +f 828/626/27 836/1184/27 829/618/27 +f 828/628/19 832/1185/19 834/62+/19 +f 833/627/23 829/618/23 831/622/23 +f 83+/629/21 837/1186/21 836/63+/21 +f 839/631/23 841/637/23 84+/632/23 +f 844/634/2+ 848/1187/2+ 849/635/2+ +f 839/631/2+ 844/634/2+ 845/636/2+ +f 84+/632/26 842/639/26 843/638/26 +f 842/639/26 846/1188/26 847/64+/26 +f 852/641/28 853/646/28 851/642/28 +f 76/37+/19 54/1189/19 856/371/19 +f 54/1189/19 55/644/19 856/371/19 +f 55/644/19 77/79/19 855/78/19 +f 852/641/29 854/119+/29 857/645/29 +f 851/642/27 856/1191/27 855/647/27 +f 851/642/2+ 853/646/2+ 857/648/2+ +f 85+/643/26 855/1192/26 854/65+/26 +f 892/653/26 894/1193/26 896/1194/26 +f 896/1194/26 898/1195/26 892/653/26 +f 898/1195/26 9++/1196/26 892/653/26 +f 9++/1196/26 9+2/1197/26 892/653/26 +f 9+2/1197/26 9+4/651/26 892/653/26 +f 874/655/26 86+/1198/26 862/1199/26 +f 862/1199/26 864/12++/26 874/655/26 +f 864/12++/26 866/656/26 874/655/26 +f 866/656/26 868/12+1/26 87+/12+2/26 +f 87+/12+2/26 872/654/26 866/656/26 +f 865/659/2+ 863/12+3/2+ 861/12+4/2+ +f 861/12+4/2+ 875/12+5/2+ 873/657/2+ +f 873/657/2+ 871/12+6/2+ 869/658/2+ +f 869/658/2+ 867/12+7/2+ 865/659/2+ +f 865/659/2+ 861/12+4/2+ 873/657/2+ +f 9+3/662/2+ 9+1/12+8/2+ 899/12+9/2+ +f 899/12+9/2+ 897/121+/2+ 895/66+/2+ +f 895/66+/2+ 893/1211/2+ 89+/661/2+ +f 89+/661/2+ 9+5/1212/2+ 9+3/662/2+ +f 9+3/662/2+ 899/12+9/2+ 895/66+/2+ +f 958/663/24 957/1213/24 931/664/24 +f 647/469/23 657/468/23 656/467/23 +f 978/667/26 964/1214/26 97+/668/26 +f 964/1214/26 966/1215/26 97+/668/26 +f 966/1215/26 968/1216/26 97+/668/26 +f 97+/668/26 972/1217/26 974/1218/26 +f 974/1218/26 976/666/26 97+/668/26 +f 969/671/2+ 967/1219/2+ 965/122+/2+ +f 965/122+/2+ 979/1221/2+ 977/669/2+ +f 977/669/2+ 975/1222/2+ 973/67+/2+ +f 973/67+/2+ 971/1223/2+ 969/671/2+ +f 969/671/2+ 965/122+/2+ 977/669/2+ +f 994/672/26 1++8/685/26 1+3+/673/26 +f 1++9/675/2+ 1+11/1224/2+ 1++1/676/2+ +f 1++1/676/2+ 1+11/1224/2+ 1+13/678/2+ +f 1++3/679/2+ 1+13/678/2+ 1+15/68+/2+ +f 1++5/681/2+ 1+15/68+/2+ 1+17/682/2+ +f 1+++/684/26 1+1+/1225/26 1++8/685/26 +f 1+12/686/26 1+1+/1225/26 1+++/684/26 +f 1+14/688/26 1+12/686/26 1++2/687/26 +f 1+16/69+/26 1+14/688/26 1++4/689/26 +f 1+28/1226/26 1+2+/1227/26 1+26/699/26 +f 1+2+/1227/26 1+22/697/26 1+26/699/26 +f 1+23/7+2/2+ 1+21/1228/2+ 1+27/7++/2+ +f 1+21/1228/2+ 1+29/1229/2+ 1+27/7++/2+ +f 1+31/7+3/2+ 1++9/675/2+ 995/677/2+ +f 998/674/26 1+3+/673/26 1+32/7+4/26 +f 1+33/7+5/2+ 1+31/7+3/2+ 999/696/2+ +f 49/7+6/2+ 43/81/2+ 76/8+/2+ +f 77/84/26 45/83/26 48/7+8/26 +f 1+46/712/27 1+47/123+/27 1+48/1231/27 +f 1+48/1231/27 1+49/1232/27 1+46/712/27 +f 1+49/1232/27 1+5+/1233/27 1+46/712/27 +f 1+5+/1233/27 1+51/1234/27 1+52/71+/27 +f 1+52/71+/27 1+53/1235/27 1+54/711/27 +f 1+54/711/27 1+55/1236/27 1+46/712/27 +f 1+55/1236/27 1+56/1237/27 1+46/712/27 +f 1+56/1237/27 1+57/1238/27 1+46/712/27 +f 1+5+/1233/27 1+52/71+/27 1+46/712/27 +f 354/715/27 355/1239/27 358/713/27 +f 355/1239/27 356/124+/27 358/713/27 +f 356/124+/27 357/1241/27 358/713/27 +f 358/713/27 359/1242/27 362/714/27 +f 359/1242/27 36+/1243/27 362/714/27 +f 36+/1243/27 361/1244/27 362/714/27 +f 362/714/27 363/1245/27 364/1246/27 +f 364/1246/27 365/1247/27 362/714/27 +f 365/1247/27 354/715/27 362/714/27 +f 11+3/716/27 11+4/74+/27 1116/717/27 +f 11+2/719/27 11+3/716/27 1115/718/27 +f 11+1/721/27 11+2/719/27 1114/72+/27 +f 11++/723/27 11+1/721/27 1113/722/27 +f 11++/725/27 1112/1248/27 1111/726/27 +f 1+99/727/27 1111/726/27 111+/728/27 +f 1+98/729/27 111+/728/27 11+9/73+/27 +f 1+97/731/27 11+9/73+/27 11+8/732/27 +f 1+96/733/27 11+8/732/27 11+7/734/27 +f 1+95/735/27 11+7/734/27 11+6/736/27 +f 11+5/738/27 1+94/737/27 11+6/736/27 +f 11+4/74+/27 11+5/738/27 1117/739/27 +f 1+61/743/29 1+58/1249/29 1+6+/125+/29 +f 1+6+/125+/29 1+59/1251/29 1+61/743/29 +f 1+59/1251/29 1+69/1252/29 1+61/743/29 +f 1+69/1252/29 1+68/1253/29 1+67/741/29 +f 1+67/741/29 1+66/1254/29 1+65/742/29 +f 1+65/742/29 1+64/1255/29 1+63/1256/29 +f 1+63/1256/29 1+62/1257/29 1+65/742/29 +f 1+62/1257/29 1+61/743/29 1+65/742/29 +f 1+69/1252/29 1+67/741/29 1+61/743/29 +f 1131/744/27 1133/1258/27 1132/745/27 +f 1133/747/19 1135/754/19 1134/748/19 +f 1135/1259/26 1133/1258/26 1139/751/26 +f 1133/1258/26 1131/744/26 1139/751/26 +f 1136/752/29 1139/751/29 1138/75+/29 +f 1135/754/48 1139/751/48 1136/752/48 +f 1137/753/23 1138/75+/23 1131/755/23 +f 1132/758/2+ 1134/126+/2+ 1136/752/2+ +f 1136/752/2+ 1137/753/2+ 113+/757/2+ +f 1152/761/27 1153/1261/27 1154/1262/27 +f 1154/1262/27 1155/1263/27 1152/761/27 +f 1155/1263/27 1156/1264/27 1152/761/27 +f 1156/1264/27 1157/1265/27 1158/759/27 +f 1158/759/27 1159/1266/27 116+/76+/27 +f 116+/76+/27 1161/1267/27 1152/761/27 +f 1161/1267/27 1162/1268/27 1152/761/27 +f 1162/1268/27 1163/1269/27 1152/761/27 +f 1156/1264/27 1158/759/27 1152/761/27 +f 1118/764/27 1119/127+/27 1122/762/27 +f 1119/127+/27 112+/1271/27 1122/762/27 +f 112+/1271/27 1121/1272/27 1122/762/27 +f 1122/762/27 1123/1273/27 1126/763/27 +f 1123/1273/27 1124/1274/27 1126/763/27 +f 1124/1274/27 1125/1275/27 1126/763/27 +f 1126/763/27 1127/1276/27 1128/1277/27 +f 1128/1277/27 1129/1278/27 1126/763/27 +f 1129/1278/27 1118/764/27 1126/763/27 +f 12+9/765/27 121+/789/27 1222/766/27 +f 12+8/768/27 12+9/765/27 1221/767/27 +f 12+7/77+/27 12+8/768/27 122+/769/27 +f 12+6/772/27 12+7/77+/27 1219/771/27 +f 12+6/774/27 1218/1279/27 1217/775/27 +f 12+5/776/27 1217/775/27 1216/777/27 +f 12+4/778/27 1216/777/27 1215/779/27 +f 12+3/78+/27 1215/779/27 1214/781/27 +f 12+2/782/27 1214/781/27 1213/783/27 +f 12+1/784/27 1213/783/27 1212/785/27 +f 1211/787/27 12++/786/27 1212/785/27 +f 121+/789/27 1211/787/27 1223/788/27 +f 1167/792/29 1164/128+/29 1166/1281/29 +f 1166/1281/29 1165/1282/29 1167/792/29 +f 1165/1282/29 1175/79+/29 1167/792/29 +f 1175/79+/29 1174/1283/29 1173/1284/29 +f 1173/1284/29 1172/1285/29 1171/791/29 +f 1171/791/29 117+/1286/29 1169/1287/29 +f 1169/1287/29 1168/1288/29 1171/791/29 +f 1168/1288/29 1167/792/29 1171/791/29 +f 1175/79+/29 1173/1284/29 1171/791/29 +f 1237/793/27 1239/1289/27 1238/794/27 +f 1239/796/59 1241/8+2/59 124+/797/59 +f 1241/129+/6+ 1239/1289/6+ 1245/8++/6+ +f 1239/1289/6+ 1237/793/6+ 1245/8++/6+ +f 1243/8+1/29 1242/8+3/29 1245/8++/29 +f 1241/8+2/61 1245/8++/61 1242/8+3/61 +f 1243/8+1/62 1244/799/62 1237/8+4/62 +f 1238/8+7/63 124+/1291/63 1242/8+3/63 +f 1242/8+3/63 1243/8+1/63 1236/8+6/63 +f 1258/81+/27 1259/1292/27 126+/1293/27 +f 126+/1293/27 1261/1294/27 1258/81+/27 +f 1261/1294/27 1262/1295/27 1258/81+/27 +f 1262/1295/27 1263/1296/27 1264/8+8/27 +f 1264/8+8/27 1265/1297/27 1266/8+9/27 +f 1266/8+9/27 1267/1298/27 1258/81+/27 +f 1267/1298/27 1268/1299/27 1258/81+/27 +f 1268/1299/27 1269/13++/27 1258/81+/27 +f 1262/1295/27 1264/8+8/27 1258/81+/27 +f 1224/813/27 1225/13+1/27 1228/811/27 +f 1225/13+1/27 1226/13+2/27 1228/811/27 +f 1226/13+2/27 1227/13+3/27 1228/811/27 +f 1228/811/27 1229/13+4/27 1232/812/27 +f 1229/13+4/27 123+/13+5/27 1232/812/27 +f 123+/13+5/27 1231/13+6/27 1232/812/27 +f 1232/812/27 1233/13+7/27 1234/13+8/27 +f 1234/13+8/27 1235/13+9/27 1232/812/27 +f 1235/13+9/27 1224/813/27 1232/812/27 +f 1315/814/27 1316/838/27 1328/815/27 +f 1314/817/27 1315/814/27 1327/816/27 +f 1313/819/27 1314/817/27 1326/818/27 +f 1312/821/27 1313/819/27 1325/82+/27 +f 1312/823/27 1324/131+/27 1323/824/27 +f 1311/825/27 1323/824/27 1322/826/27 +f 131+/827/27 1322/826/27 1321/828/27 +f 13+9/829/27 1321/828/27 132+/83+/27 +f 13+8/831/27 132+/83+/27 1319/832/27 +f 13+7/833/27 1319/832/27 1318/834/27 +f 1317/836/27 13+6/835/27 1318/834/27 +f 1316/838/27 1317/836/27 1329/837/27 +f 1273/841/29 127+/1311/29 1272/1312/29 +f 1272/1312/29 1271/1313/29 1273/841/29 +f 1271/1313/29 1281/839/29 1273/841/29 +f 1281/839/29 128+/1314/29 1279/1315/29 +f 1279/1315/29 1278/1316/29 1277/84+/29 +f 1277/84+/29 1276/1317/29 1275/1318/29 +f 1275/1318/29 1274/1319/29 1277/84+/29 +f 1274/1319/29 1273/841/29 1277/84+/29 +f 1281/839/29 1279/1315/29 1277/84+/29 +f 1343/842/27 1345/132+/27 1344/843/27 +f 1345/845/62 1347/1321/62 1346/846/62 +f 1347/1322/63 1345/132+/63 1351/849/63 +f 1345/132+/63 1343/842/63 1351/849/63 +f 1348/85+/29 1351/849/29 135+/848/29 +f 1346/846/64 1347/1321/64 1351/849/64 +f 1349/851/59 135+/848/59 1343/852/59 +f 1344/855/6+ 1346/1323/6+ 1348/85+/6+ +f 1348/85+/6+ 1349/851/6+ 1342/854/6+ +f 1364/858/27 1365/1324/27 1366/1325/27 +f 1366/1325/27 1367/1326/27 1364/858/27 +f 1367/1326/27 1368/1327/27 1364/858/27 +f 1368/1327/27 1369/1328/27 137+/856/27 +f 137+/856/27 1371/1329/27 1372/857/27 +f 1372/857/27 1373/133+/27 1364/858/27 +f 1373/133+/27 1374/1331/27 1364/858/27 +f 1374/1331/27 1375/1332/27 1364/858/27 +f 1368/1327/27 137+/856/27 1364/858/27 +f 133+/861/27 1331/1333/27 1334/859/27 +f 1331/1333/27 1332/1334/27 1334/859/27 +f 1332/1334/27 1333/1335/27 1334/859/27 +f 1334/859/27 1335/1336/27 1338/86+/27 +f 1335/1336/27 1336/1337/27 1338/86+/27 +f 1336/1337/27 1337/1338/27 1338/86+/27 +f 1338/86+/27 1339/1339/27 134+/134+/27 +f 134+/134+/27 1341/1341/27 1338/86+/27 +f 1341/1341/27 133+/861/27 1338/86+/27 +f 1421/862/27 1422/886/27 1434/863/27 +f 142+/865/27 1421/862/27 1433/864/27 +f 1419/867/27 142+/865/27 1432/866/27 +f 1418/869/27 1419/867/27 1431/868/27 +f 1418/871/27 143+/1342/27 1429/872/27 +f 1417/873/27 1429/872/27 1428/874/27 +f 1416/875/27 1428/874/27 1427/876/27 +f 1415/877/27 1427/876/27 1426/878/27 +f 1414/879/27 1426/878/27 1425/88+/27 +f 1413/881/27 1425/88+/27 1424/882/27 +f 1423/884/27 1412/883/27 1424/882/27 +f 1422/886/27 1423/884/27 1435/885/27 +f 1379/889/29 1376/1343/29 1378/1344/29 +f 1378/1344/29 1377/1345/29 1379/889/29 +f 1377/1345/29 1387/887/29 1379/889/29 +f 1387/887/29 1386/1346/29 1385/1347/29 +f 1385/1347/29 1384/1348/29 1383/888/29 +f 1383/888/29 1382/1349/29 1381/135+/29 +f 1381/135+/29 138+/1351/29 1383/888/29 +f 138+/1351/29 1379/889/29 1383/888/29 +f 1387/887/29 1385/1347/29 1383/888/29 +f 1449/89+/27 1451/1352/27 145+/891/27 +f 1451/893/65 1453/9++/65 1452/894/65 +f 1453/1353/66 1451/1352/66 1457/897/66 +f 1451/1352/66 1449/89+/66 1457/897/66 +f 1454/898/29 1457/897/29 1456/896/29 +f 1453/9++/67 1457/897/67 1454/898/67 +f 1455/899/68 1456/896/68 1449/9+1/68 +f 145+/9+4/69 1452/1354/69 1454/898/69 +f 1454/898/69 1455/899/69 1448/9+3/69 +f 147+/9+7/27 1471/1355/27 1472/1356/27 +f 1472/1356/27 1473/1357/27 147+/9+7/27 +f 1473/1357/27 1474/1358/27 147+/9+7/27 +f 1474/1358/27 1475/1359/27 1476/9+5/27 +f 1476/9+5/27 1477/136+/27 1478/9+6/27 +f 1478/9+6/27 1479/1361/27 147+/9+7/27 +f 1479/1361/27 148+/1362/27 147+/9+7/27 +f 148+/1362/27 1481/1363/27 147+/9+7/27 +f 1474/1358/27 1476/9+5/27 147+/9+7/27 +f 1436/91+/27 1437/1364/27 144+/9+8/27 +f 1437/1364/27 1438/1365/27 144+/9+8/27 +f 1438/1365/27 1439/1366/27 144+/9+8/27 +f 144+/9+8/27 1441/1367/27 1444/9+9/27 +f 1441/1367/27 1442/1368/27 1444/9+9/27 +f 1442/1368/27 1443/1369/27 1444/9+9/27 +f 1444/9+9/27 1445/137+/27 1446/1371/27 +f 1446/1371/27 1447/1372/27 1444/9+9/27 +f 1447/1372/27 1436/91+/27 1444/9+9/27 +f 1527/911/27 1528/935/27 154+/912/27 +f 1526/914/27 1527/911/27 1539/913/27 +f 1525/916/27 1526/914/27 1538/915/27 +f 1524/918/27 1525/916/27 1537/917/27 +f 1524/92+/27 1536/1373/27 1535/921/27 +f 1523/922/27 1535/921/27 1534/923/27 +f 1522/924/27 1534/923/27 1533/925/27 +f 1521/926/27 1533/925/27 1532/927/27 +f 152+/928/27 1532/927/27 1531/929/27 +f 1519/93+/27 1531/929/27 153+/931/27 +f 1529/933/27 1518/932/27 153+/931/27 +f 1528/935/27 1529/933/27 1541/934/27 +f 1485/938/29 1482/1374/29 1484/1375/29 +f 1484/1375/29 1483/1376/29 1485/938/29 +f 1483/1376/29 1493/1377/29 1485/938/29 +f 1493/1377/29 1492/1378/29 1491/936/29 +f 1491/936/29 149+/1379/29 1489/937/29 +f 1489/937/29 1488/138+/29 1487/1381/29 +f 1487/1381/29 1486/1382/29 1489/937/29 +f 1486/1382/29 1485/938/29 1489/937/29 +f 1493/1377/29 1491/936/29 1485/938/29 +f 1555/939/27 1557/1383/27 1556/94+/27 +f 1557/942/68 1559/948/68 1558/943/68 +f 1559/1384/69 1557/1383/69 1563/946/69 +f 1557/1383/69 1555/939/69 1563/946/69 +f 1561/947/29 156+/949/29 1563/946/29 +f 1559/948/7+ 1563/946/7+ 156+/949/7+ +f 1561/947/65 1562/945/65 1555/95+/65 +f 1556/953/66 1558/1385/66 156+/949/66 +f 156+/949/66 1561/947/66 1554/952/66 +f 1576/956/27 1577/1386/27 1578/1387/27 +f 1578/1387/27 1579/1388/27 1576/956/27 +f 1579/1388/27 158+/1389/27 1576/956/27 +f 158+/1389/27 1581/139+/27 1582/954/27 +f 1582/954/27 1583/1391/27 1584/955/27 +f 1584/955/27 1585/1392/27 1576/956/27 +f 1585/1392/27 1586/1393/27 1576/956/27 +f 1586/1393/27 1587/1394/27 1576/956/27 +f 158+/1389/27 1582/954/27 1576/956/27 +f 1542/959/27 1543/1395/27 1546/957/27 +f 1543/1395/27 1544/1396/27 1546/957/27 +f 1544/1396/27 1545/1397/27 1546/957/27 +f 1546/957/27 1547/1398/27 155+/958/27 +f 1547/1398/27 1548/1399/27 155+/958/27 +f 1548/1399/27 1549/14++/27 155+/958/27 +f 155+/958/27 1551/14+1/27 1552/14+2/27 +f 1552/14+2/27 1553/14+3/27 155+/958/27 +f 1553/14+3/27 1542/959/27 155+/958/27 +s 1 +f 55/644/83 58/14+4/45 59/14+5/45 +f 59/14+5/45 56/14+6/84 57/14+7/84 +f 56/14+6/84 63/14+8/85 57/14+7/84 +f 47/14+9/44 6+/141+/86 42/1411/44 +f 46/1412/44 44/1413/44 61/1414/86 +f 61/1414/86 47/14+9/44 46/1412/44 +f 6+/141+/86 63/14+8/85 62/1415/85 +f 64/1416/66 27+/1417/19 281/1418/66 +f 71/1419/59 275/142+/69 274/1421/59 +f 68/1422/63 278/1423/68 277/1424/63 +f 74/1425/6+ 272/1426/65 271/1427/6+ +f 75/1428/19 271/1427/6+ 27+/1417/19 +f 67/1429/68 279/143+/26 278/1423/68 +f 65/1431/62 281/1418/66 28+/1432/62 +f 73/1433/65 273/1434/2+ 272/1426/65 +f 7+/1435/69 276/1436/23 275/142+/69 +f 66/1437/26 28+/1432/62 279/143+/26 +f 72/1438/2+ 274/1421/59 273/1434/2+ +f 69/1439/23 277/1424/63 276/144+/23 +f 99/1441/22 196/1442/87 1++/1443/69 +f 165/1444/69 261/3+5/88 164/1445/59 +f 139/1446/69 2+2/1447/59 138/1448/59 +f 113/1449/66 22+/325/89 112/145+/62 +f 1++/1443/69 197/319/9+ 1+1/1451/91 +f 166/1452/23 262/1453/69 165/1444/69 +f 14+/1454/23 2++/1455/69 139/1446/69 +f 1+2/1456/19 2+7/1457/66 113/1449/66 +f 1+1/1451/91 175/318/23 78/1458/23 +f 167/1459/63 263/146+/23 166/1452/23 +f 141/1461/63 24+/299/92 14+/1454/23 +f 115/1462/63 199/1463/23 114/1464/23 +f 168/1465/68 264/1466/63 167/1459/63 +f 142/1467/68 241/1468/63 141/1461/63 +f 116/1469/68 221/147+/63 115/1462/63 +f 169/1471/26 265/1472/68 168/1465/68 +f 143/1473/26 242/1474/68 142/1467/68 +f 117/1475/26 222/278/93 116/1469/68 +f 78/1458/23 174/321/94 79/1476/95 +f 17+/1477/62 266/1478/26 169/1471/26 +f 144/1479/62 243/148+/26 143/1473/26 +f 118/1481/62 223/1482/26 117/1475/26 +f 79/1476/95 176/1483/96 8+/1484/63 +f 17+/1477/62 268/1485/66 267/1486/62 +f 145/1487/66 244/1488/62 144/1479/62 +f 119/1489/66 224/149+/62 118/1481/62 +f 8+/1484/63 177/312/97 81/1491/25 +f 171/1492/66 269/315/98 268/1485/66 +f 146/1493/19 245/1494/66 145/1487/66 +f 12+/1495/19 225/1496/66 119/1489/66 +f 81/1491/25 178/31+/68 82/1497/68 +f 173/1498/6+ 269/315/98 172/1499/19 +f 147/15++/6+ 246/15+1/19 146/1493/19 +f 121/15+2/6+ 226/15+3/19 12+/1495/19 +f 82/1497/68 179/3+8/99 83/15+4/1++ +f 162/15+5/65 2+4/15+6/6+ 173/1498/6+ +f 148/15+7/65 247/15+8/6+ 147/15++/6+ +f 122/15+9/65 227/151+/6+ 121/15+2/6+ +f 83/15+4/1++ 18+/1511/1+1 84/1512/26 +f 149/1513/2+ 248/3+2/1+2 148/15+7/65 +f 123/1514/2+ 228/1515/65 122/15+9/65 +f 84/1512/26 181/295/1+3 85/1516/1+4 +f 138/1517/59 2+1/1518/2+ 149/1513/2+ +f 124/1519/59 229/152+/2+ 123/1514/2+ +f 85/1516/1+4 182/291/62 86/1521/62 +f 151/1522/26 25+/1523/68 15+/1524/68 +f 125/1525/69 23+/289/1+5 124/1519/59 +f 86/1521/62 183/293/1+6 87/1526/24 +f 152/1527/62 249/1528/26 151/1522/26 +f 114/1529/23 198/153+/69 125/1525/69 +f 87/1526/24 184/1531/1+7 88/1532/66 +f 153/1533/66 251/255/1+8 152/1527/62 +f 127/1534/66 211/1535/62 126/1536/62 +f 88/1532/66 185/286/1+9 89/1537/11+ +f 154/1538/19 252/1539/66 153/1533/66 +f 128/154+/19 2+9/1541/66 127/1534/66 +f 89/1537/11+ 186/285/19 9+/1542/19 +f 155/1543/6+ 253/1544/19 154/1538/19 +f 129/1545/6+ 231/258/111 128/154+/19 +f 1+3/1546/6+ 2+8/1547/19 1+2/1548/19 +f 9+/1549/19 187/281/112 91/155+/113 +f 156/1551/65 254/1552/6+ 155/1543/6+ +f 13+/1553/65 232/1554/6+ 129/1545/6+ +f 1+4/1555/65 2+6/1556/6+ 1+3/1546/6+ +f 91/155+/113 188/1557/114 92/1558/6+ +f 157/1559/2+ 255/156+/65 156/1551/65 +f 131/1561/2+ 233/1562/65 13+/1553/65 +f 1+5/1563/2+ 212/328/115 1+4/1555/65 +f 92/1558/6+ 189/275/116 93/1564/21 +f 158/1565/59 256/1566/2+ 157/1559/2+ +f 132/1567/59 234/1568/2+ 131/1561/2+ +f 1+6/1569/59 213/157+/2+ 1+5/1563/2+ +f 94/1571/65 189/275/116 19+/27+/65 +f 159/1572/69 257/1573/59 158/1565/59 +f 133/1574/69 235/1575/59 132/1567/59 +f 1+7/1576/69 214/1577/59 1+6/1569/59 +f 94/1571/65 191/272/117 95/1578/118 +f 16+/1579/23 258/158+/69 159/1572/69 +f 134/1581/23 236/1582/69 133/1574/69 +f 1+8/1583/23 215/1584/69 1+7/1576/69 +f 95/1578/118 192/1585/119 96/1586/2+ +f 161/1587/63 259/252/12+ 16+/1579/23 +f 135/1588/63 237/1589/23 134/1581/23 +f 1+9/159+/63 216/1591/23 1+8/1583/23 +f 96/1586/2+ 193/265/121 97/1592/122 +f 15+/1593/68 26+/1594/63 161/1587/63 +f 136/1595/68 238/1596/63 135/1588/63 +f 11+/1597/68 217/1598/63 1+9/159+/63 +f 97/1592/122 194/263/59 98/1599/59 +f 163/16++/2+ 2+5/16+1/65 162/16+2/65 +f 137/16+3/26 239/268/123 136/1595/68 +f 111/16+4/26 218/16+5/68 11+/1597/68 +f 98/1599/59 195/261/124 99/1441/22 +f 164/1445/59 2+3/16+6/2+ 163/16++/2+ +f 126/16+7/62 21+/16+8/26 137/16+3/26 +f 112/145+/62 219/16+9/26 111/16+4/26 +f 3+2/161+/6+ 313/1611/125 3+1/1612/19 +f 299/1613/62 31+/1614/126 298/1615/26 +f 295/1616/69 317/1617/127 3+5/1618/59 +f 294/1619/63 3+8/162+/128 296/1621/23 +f 3+3/1622/65 314/1623/129 3+2/161+/6+ +f 3++/1624/66 311/1625/13+ 299/1613/62 +f 296/1621/23 3+7/1626/131 295/1616/69 +f 297/1627/68 3+6/1628/132 294/1619/63 +f 3+4/1629/2+ 315/163+/133 3+3/1622/65 +f 3+1/1631/19 312/1632/134 3++/1624/66 +f 298/1615/26 3+9/1633/135 297/1627/68 +f 3+5/1618/59 316/1634/136 3+4/1629/2+ +f 32+/1635/137 34+/234/59 339/21+/2+ +f 323/1636/138 337/215/6+ 336/217/19 +f 326/1637/139 334/223/62 333/225/26 +f 319/1638/14+ 341/232/69 34+/234/59 +f 329/1639/141 331/229/63 33+/231/23 +f 322/164+/142 338/213/65 337/215/6+ +f 325/1641/143 335/221/66 334/223/62 +f 318/1642/144 33+/231/23 341/232/69 +f 328/1643/145 332/227/68 331/229/63 +f 321/1644/146 339/21+/2+ 338/213/65 +f 324/1645/147 336/219/19 335/221/66 +f 327/1646/148 333/225/26 332/227/68 +f 317/1617/127 32+/1635/137 316/1634/136 +f 3+7/1626/131 319/1638/14+ 317/1617/127 +f 3+8/162+/128 318/1642/144 3+7/1626/131 +f 3+8/162+/128 328/1643/145 329/1639/141 +f 3+9/1633/135 328/1643/145 3+6/1628/132 +f 31+/1614/126 327/1646/148 3+9/1633/135 +f 311/1625/13+ 326/1637/139 31+/1614/126 +f 311/1625/13+ 324/1645/147 325/1641/143 +f 313/1647/125 324/1645/147 312/1632/134 +f 313/1611/125 322/164+/142 323/1636/138 +f 315/163+/133 322/164+/142 314/1623/129 +f 315/163+/133 32+/1635/137 321/1644/146 +f 35+/214/68 361/1648/63 349/216/63 +f 347/22+/69 358/1649/59 346/222/59 +f 342/23+/19 365/165+/66 353/233/66 +f 344/226/65 355/1651/6+ 343/228/6+ +f 351/212/26 362/1652/68 35+/214/68 +f 348/975/23 359/1653/69 347/22+/69 +f 345/224/2+ 356/1654/65 344/226/65 +f 352/211/62 363/1655/26 351/212/26 +f 349/216/63 36+/1656/23 348/218/23 +f 346/222/59 357/1657/2+ 345/224/2+ +f 353/233/66 364/1658/62 352/211/62 +f 343/228/6+ 354/1659/19 342/23+/19 +f 195/261/124 392/166+/149 196/1442/87 +f 392/166+/149 197/319/9+ 196/1442/87 +f 377/1661/15+ 177/312/97 176/1483/96 +f 376/1662/151 176/1483/96 174/321/94 +f 179/3+8/99 38+/1663/152 18+/1511/1+1 +f 381/1664/153 18+/1511/1+1 38+/1663/152 +f 382/1665/154 184/1531/1+7 183/293/1+6 +f 384/1666/155 184/1531/1+7 383/1667/156 +f 386/1668/157 189/275/116 188/1557/114 +f 385/1669/158 188/1557/114 187/281/112 +f 39+/167+/159 192/1585/119 389/1671/16+ +f 388/1672/161 192/1585/119 191/272/117 +f 244/1488/62 424/1673/26 243/148+/26 +f 224/149+/62 4+4/1674/26 223/1482/26 +f 268/1485/66 445/1675/62 267/1486/62 +f 245/1494/66 425/1676/62 244/1488/62 +f 225/1496/66 4+5/1677/62 224/149+/62 +f 269/315/98 446/1678/66 268/1485/66 +f 246/15+1/19 426/1679/66 245/1494/66 +f 226/15+3/19 4+6/168+/66 225/1496/66 +f 247/15+8/6+ 427/1681/19 246/15+1/19 +f 227/151+/6+ 4+7/1682/19 226/15+3/19 +f 248/3+2/1+2 428/1683/6+ 247/15+8/6+ +f 228/1515/65 4+8/1684/6+ 227/151+/6+ +f 229/152+/2+ 4+9/1685/65 228/1515/65 +f 23+/289/1+5 41+/1686/2+ 229/152+/2+ +f 252/1539/66 43+/256/24 251/255/1+8 +f 253/1544/19 431/1687/66 252/1539/66 +f 254/1552/6+ 432/1688/19 253/1544/19 +f 232/1554/6+ 412/259/113 231/258/111 +f 255/156+/65 433/1689/6+ 254/1552/6+ +f 233/1562/65 413/169+/6+ 232/1554/6+ +f 256/1566/2+ 434/1691/65 255/156+/65 +f 234/1568/2+ 414/1692/65 233/1562/65 +f 213/157+/2+ 394/329/118 212/328/115 +f 257/1573/59 435/1693/2+ 256/1566/2+ +f 235/1575/59 415/1694/2+ 234/1568/2+ +f 214/1577/59 395/1695/2+ 213/157+/2+ +f 258/158+/69 436/1696/59 257/1573/59 +f 236/1582/69 416/1697/59 235/1575/59 +f 215/1584/69 396/1698/59 214/1577/59 +f 259/252/12+ 437/1699/69 258/158+/69 +f 237/1589/23 417/17++/69 236/1582/69 +f 216/1591/23 397/17+1/69 215/1584/69 +f 238/1596/63 418/17+2/23 237/1589/23 +f 217/1598/63 398/17+3/23 216/1591/23 +f 239/268/123 419/17+4/63 238/1596/63 +f 218/16+5/68 399/17+5/63 217/1598/63 +f 219/16+9/26 4++/17+6/68 218/16+5/68 +f 22+/325/89 4+1/17+7/26 219/16+9/26 +f 262/1453/69 439/3+6/22 261/3+5/88 +f 263/146+/23 44+/17+8/69 262/1453/69 +f 264/1466/63 441/17+9/23 263/146+/23 +f 241/1468/63 421/3++/95 24+/299/92 +f 265/1472/68 442/171+/63 264/1466/63 +f 242/1474/68 422/1711/63 241/1468/63 +f 266/1478/26 443/1712/68 265/1472/68 +f 243/148+/26 423/1713/68 242/1474/68 +f 223/1482/26 4+3/279/1++ 222/278/93 +f 267/1486/62 444/1714/26 266/1478/26 +f 452/1+58/27 5+6/357/162 453/1+6+/27 +f 464/1715/65 475/1716/6+ 463/1717/6+ +f 461/1718/66 472/1719/62 46+/172+/62 +f 456/1721/23 479/1722/69 467/1723/69 +f 458/1724/68 469/1725/63 457/1726/63 +f 465/1727/2+ 476/1728/65 464/1715/65 +f 462/1729/19 473/173+/66 461/1718/66 +f 459/1731/26 47+/1732/68 458/1724/68 +f 466/1733/59 477/1734/2+ 465/1727/2+ +f 463/1717/6+ 474/1735/19 462/1736/19 +f 46+/172+/62 471/1737/26 459/1731/26 +f 467/1723/69 478/1738/59 466/1733/59 +f 457/1726/63 468/1739/23 456/1721/23 +f 497/174+/66 486/1741/19 485/1742/66 +f 494/1743/68 483/1744/26 482/1745/68 +f 5+1/1746/2+ 49+/1747/59 489/1748/2+ +f 498/1749/19 487/175+/6+ 486/1751/19 +f 495/1752/26 484/1753/62 483/1744/26 +f 5+2/1754/59 491/1755/69 49+/1747/59 +f 492/1756/23 481/1757/63 48+/1758/23 +f 499/1759/6+ 488/176+/65 487/175+/6+ +f 496/1761/62 485/1742/66 484/1753/62 +f 5+3/1762/69 48+/1758/23 491/1755/69 +f 493/1763/63 482/1745/68 481/1757/63 +f 5++/1764/65 489/1748/2+ 488/176+/65 +f 5+7/1765/163 5+5/354/162 5+4/1766/163 +f 451/351/19 5+4/1767/163 45+/1768/19 +f 534/1769/164 542/177+/165 549/1771/166 +f 522/1+79/167 553/1772/168 552/1773/22 +f 518/1774/169 562/1775/17+ 561/1776/25 +f 521/379/171 558/1777/172 556/1778/24 +f 517/1779/173 557/178+/174 555/1781/21 +f 523/1+78/175 531/1782/176 522/1+79/167 +f 52+/378/177 529/1783/178 521/379/171 +f 518/1774/169 547/1784/179 528/1785/18+ +f 535/1786/181 546/1787/165 524/1788/182 +f 526/1789/183 537/179+/184 531/1782/176 +f 554/1791/185 527/1792/186 553/1772/168 +f 527/1792/186 541/1793/23 519/1794/187 +f 528/1785/18+ 563/1795/188 562/1775/17+ +f 53+/1796/189 538/1797/19+ 529/1783/178 +f 559/1798/191 524/1788/182 558/1777/172 +f 524/1788/182 544/1799/19 516/18++/192 +f 525/18+1/193 56+/18+2/194 557/178+/174 +f 517/1779/173 542/177+/165 525/18+1/193 +f 543/18+3/179 532/18+4/195 548/18+5/196 +f 533/18+6/197 547/1784/179 55+/18+7/196 +f 537/179+/184 548/376/196 554/18+8/185 +f 551/373/166 535/18+9/181 559/181+/191 +f 531/1782/176 554/1791/185 553/1772/168 +f 552/1773/22 527/1792/186 519/1794/187 +f 526/1789/183 56+/18+2/194 536/1811/198 +f 529/1783/178 559/1798/191 558/1777/172 +f 555/1781/21 526/1789/183 523/1+78/175 +f 516/18++/192 558/1777/172 524/1788/182 +f 53+/1796/189 563/1795/188 539/1812/199 +f 561/1776/25 53+/1796/189 52+/378/177 +f 568/39+/177 585/386/171 569/391/171 +f 579/1813/25 586/384/177 568/39+/177 +f 576/1814/22 583/4++/187 567/1815/187 +f 571/1+89/175 588/387/167 57+/1+9+/167 +f 565/1816/173 58+/1817/21 577/1818/21 +f 57+/1+9+/167 589/1819/22 576/182+/22 +f 578/1821/24 593/1+98/192 564/1822/192 +f 572/1823/19 59+/1+99/173 565/1816/173 +f 577/1824/21 581/1+83/175 571/1+89/175 +f 566/1825/169 587/1826/25 579/1827/25 +f 564/1822/192 592/4+8/19 574/1828/19 +f 573/1829/23 583/4++/187 582/399/23 +f 569/391/171 584/183+/24 578/1831/24 +f 651/46+/23 634/1832/2++ 632/461/23 +f 644/1833/2+1 635/1834/2++ 637/1835/2+1 +f 636/1836/5+ 645/1837/2+2 638/1838/2+2 +f 638/1838/2+2 644/1833/2+1 637/1835/2+1 +f 634/1832/2++ 648/1839/2+1 64+/184+/2+1 +f 649/1841/2+2 639/1842/5+ 641/1843/2+2 +f 648/1839/2+1 641/1843/2+2 64+/184+/2+1 +f 65+/1116/23 635/1834/2++ 642/1844/2++ +f 756/1845/23 744/1846/3+ 742/1847/23 +f 769/1848/29 731/1849/3+ 717/185+/29 +f 757/1851/2+3 742/1847/23 74+/1852/2+3 +f 753/1853/29 745/1854/3+ 714/1855/29 +f 768/1856/3+ 729/1857/23 731/1849/3+ +f 752/1858/3+ 743/1859/23 745/1854/3+ +f 767/186+/23 727/1861/2+3 729/1857/23 +f 746/1862/48 714/1855/29 733/1863/48 +f 751/1864/23 741/1865/2+3 743/1859/23 +f 766/1866/2+3 725/1867/27 727/1861/2+3 +f 762/1868/48 717/185+/29 719/1869/48 +f 75+/187+/2+3 739/1871/27 741/1865/2+3 +f 765/1872/27 723/1873/45 725/1867/27 +f 749/1874/27 737/1875/45 739/1871/27 +f 748/1876/45 735/1877/19 737/1875/45 +f 764/1878/45 721/1879/19 723/1873/45 +f 747/188+/19 733/1863/48 735/1881/19 +f 763/1882/19 719/1869/48 721/1883/19 +f 755/1884/3+ 715/1885/29 744/1846/3+ +f 758/1886/27 74+/1852/2+3 738/1887/27 +f 759/1888/45 738/1887/27 736/1889/45 +f 76+/189+/19 736/1889/45 734/1891/19 +f 761/1892/48 734/1893/19 732/1894/48 +f 754/1895/29 732/1894/48 715/1885/29 +f 771/1896/3+ 716/1897/29 73+/1898/3+ +f 772/1899/23 73+/1898/3+ 728/19++/23 +f 773/19+1/2+3 728/19++/23 726/19+2/2+3 +f 774/19+3/27 726/19+2/2+3 724/19+4/27 +f 775/19+5/45 724/19+4/27 722/19+6/45 +f 776/19+7/19 722/19+6/45 72+/19+8/19 +f 777/19+9/48 72+/191+/19 718/1911/48 +f 77+/1912/29 718/1911/48 716/1897/29 +f 8+3/1913/29 8+4/1914/48 8+2/1915/29 +f 8+5/1916/48 8+6/1917/19 8+4/1914/48 +f 8+7/1918/19 8+8/1919/45 8+6/192+/19 +f 8+9/1921/45 81+/1922/27 8+8/1919/45 +f 811/1923/27 812/1924/2+3 81+/1922/27 +f 813/1925/2+3 814/1926/23 812/1924/2+3 +f 815/1927/23 816/1928/3+ 814/1926/23 +f 817/1929/3+ 8+2/1915/29 816/1928/3+ +f 841/637/29 842/193+/2+4 84+/632/29 +f 838/633/27 844/1931/2+5 839/631/27 +f 845/1932/2+4 846/1933/3+ 842/193+/2+4 +f 843/1934/2+5 848/1935/2+3 844/1931/2+5 +f 9+6/1936/48 89+/1937/29 893/1938/48 +f 887/1939/45 868/194+/27 866/1941/45 +f 881/1942/29 875/1943/3+ 861/1944/29 +f 911/1945/23 9+1/1946/2+3 9+3/1947/23 +f 886/1948/27 87+/1949/2+3 868/194+/27 +f 88+/195+/3+ 873/1951/23 875/1943/3+ +f 885/1952/2+3 872/1953/23 87+/1949/2+3 +f 879/1954/23 871/1955/2+3 873/1951/23 +f 913/1956/29 9+5/1957/3+ 89+/1937/29 +f 884/1958/23 874/1959/3+ 872/1953/23 +f 878/196+/2+3 869/1961/27 871/1955/2+3 +f 882/1962/29 862/1963/48 86+/1964/29 +f 883/1965/3+ 86+/1964/29 874/1959/3+ +f 877/1966/27 867/1967/45 869/1961/27 +f 889/1968/48 864/1969/19 862/1963/48 +f 876/197+/45 865/1971/19 867/1967/45 +f 917/1972/2+3 9+2/1973/23 9++/1974/2+3 +f 859/1975/48 861/1944/29 863/1976/48 +f 858/1977/19 863/1976/48 865/1978/19 +f 912/1979/3+ 9+3/1947/23 9+5/1957/3+ +f 888/198+/19 866/1941/45 864/1981/19 +f 916/1982/23 9+4/1983/3+ 9+2/1973/23 +f 91+/1984/2+3 899/1985/27 9+1/1946/2+3 +f 9+9/1986/27 897/1987/45 899/1985/27 +f 9+8/1988/45 895/1989/19 897/1987/45 +f 9+7/199+/19 893/1938/48 895/1991/19 +f 915/1992/3+ 891/1993/29 9+4/1983/3+ +f 918/1994/27 9++/1974/2+3 898/1995/27 +f 919/1996/45 898/1995/27 896/1997/45 +f 92+/1998/19 896/1997/45 894/1999/19 +f 921/2+++/48 894/2++1/19 892/2++2/48 +f 914/2++3/29 892/2++2/48 891/1993/29 +f 924/2++4/27 923/2++5/2+6 922/2++6/2+6 +f 926/2++7/2+7 925/2++8/27 924/2++4/27 +f 928/2++9/2+8 927/2+1+/2+7 926/2++7/2+7 +f 514/2+11/2+9 857/2+12/2+9 928/2++9/2+8 +f 931/2+13/19 922/2++6/21+ 923/2++5/19 +f 933/2+14/211 93+/2+15/212 931/2+16/213 +f 935/2+17/214 932/2+18/215 933/2+14/211 +f 935/2+17/214 936/2+19/216 934/2+2+/217 +f 937/2+21/218 938/2+22/219 936/2+19/216 +f 636/2+23/22+ 938/2+22/219 643/466/23 +f 514/2+24/221 95+/2+25/222 652/2+26/223 +f 928/2+27/224 94+/2+28/225 514/2+24/221 +f 926/2+29/226 941/2+3+/227 928/2+27/224 +f 924/2+31/228 942/2+32/229 926/2+29/226 +f 944/2+33/23+ 924/2+31/228 922/2++6/21+ +f 945/2+34/231 922/2++6/21+ 93+/2+15/212 +f 932/2+18/215 945/2+34/231 93+/2+15/212 +f 947/2+35/232 932/2+18/215 934/2+36/217 +f 936/2+37/216 947/2+35/232 934/2+36/217 +f 938/2+38/219 948/2+39/233 936/2+37/216 +f 952/2+4+/234 653/2+41/235 639/2+42/236 +f 951/2+43/237 953/2+44/238 961/2+45/239 +f 952/2+4+/234 515/2+46/24+ 653/2+41/235 +f 954/2+47/241 939/2+48/242 937/2+49/218 +f 955/2+5+/243 937/2+49/218 935/2+51/214 +f 933/2+52/211 955/2+5+/243 935/2+51/214 +f 957/1213/244 933/2+52/211 931/664/213 +f 925/2+53/245 958/663/246 923/665/247 +f 96+/2+54/248 925/2+53/245 927/2+55/249 +f 961/2+45/239 927/2+55/249 929/2+56/25+ +f 951/2+43/237 929/2+56/25+ 515/2+46/24+ +f 94+/2+28/225 949/2+57/251 95+/2+25/222 +f 949/2+57/251 938/2+38/219 636/2+58/22+ +f 857/2+12/2+9 929/2+59/2+8 928/2++9/2+8 +f 929/2+59/2+8 854/2+6+/2+9 515/2+61/2+9 +f 647/469/23 939/2+62/242 639/2+63/236 +f 938/2+22/219 647/469/23 643/466/23 +f 944/2+33/23+ 945/2+34/231 946/2+64/252 +f 942/2+32/229 947/2+35/232 948/2+39/233 +f 941/2+3+/227 948/2+39/233 949/2+57/251 +f 958/663/246 956/2+65/253 957/1213/244 +f 96+/2+54/248 955/2+5+/243 959/2+66/254 +f 961/2+45/239 954/2+47/241 96+/2+54/248 +f 991/2+67/45 972/2+68/27 97+/2+69/45 +f 985/2+7+/29 979/2+71/3+ 965/2+72/29 +f 99+/2+73/27 974/2+74/2+3 972/2+68/27 +f 984/2+75/3+ 977/2+76/23 979/2+71/3+ +f 989/2+77/2+3 976/2+78/23 974/2+74/2+3 +f 983/2+79/23 975/2+8+/2+3 977/2+76/23 +f 988/2+81/23 978/2+82/3+ 976/2+78/23 +f 982/2+83/2+3 973/2+84/27 975/2+8+/2+3 +f 986/2+85/29 966/2+86/48 964/2+87/29 +f 987/2+88/3+ 964/2+87/29 978/2+82/3+ +f 981/2+89/27 971/2+9+/45 973/2+84/27 +f 993/2+91/48 968/2+92/19 966/2+86/48 +f 98+/2+93/45 969/2+94/19 971/2+9+/45 +f 963/2+95/48 965/2+72/29 967/2+96/48 +f 962/2+97/19 967/2+96/48 969/2+98/19 +f 992/2+99/19 97+/2+69/45 968/21++/19 +f 996/21+1/255 999/21+2/48 998/21+3/48 +f 998/21+3/48 995/677/52 994/21+4/52 +f 1++1/676/256 994/21+4/257 995/677/257 +f 1++3/21+5/162 1+++/21+6/256 1++1/676/256 +f 1++5/21+7/162 1++2/21+8/162 1++3/21+5/162 +f 1++7/21+9/45 1++4/211+/162 1++5/21+7/162 +f 1++8/2111/258 1+11/2112/259 1++9/2113/258 +f 1+1+/2114/259 1+13/2115/2+4 1+11/2112/259 +f 1+12/2116/2+4 1+15/2117/26+ 1+13/2115/2+4 +f 1+14/2118/26+ 1+17/2119/48 1+15/2117/26+ +f 1++9/2113/261 1+3+/212+/262 1++8/2111/261 +f 1+31/2121/262 1+32/2122/27 1+3+/212+/262 +f 1+23/7+2/263 1+2+/1227/264 1+21/1228/264 +f 1+25/7+1/265 1+22/697/263 1+23/7+2/263 +f 1+27/2123/266 1+24/698/267 1+25/7+1/267 +f 1+29/2124/268 1+26/2125/266 1+27/2123/266 +f 1+45/2126/269 1+56/1237/27+ 1+44/2127/27+ +f 1+44/2127/27+ 1+55/1236/271 1+43/2128/271 +f 1+43/2128/271 1+54/711/272 1+42/2129/272 +f 1+42/2129/272 1+53/1235/273 1+41/213+/273 +f 1+4+/2131/2+9 1+53/1235/273 1+52/71+/2+9 +f 1+39/2132/274 1+52/71+/2+9 1+51/1234/274 +f 1+38/2133/275 1+51/1234/274 1+5+/1233/275 +f 1+37/2134/276 1+5+/1233/275 1+49/1232/276 +f 1+36/2135/277 1+49/1232/276 1+48/1231/277 +f 1+35/2136/278 1+48/1231/277 1+47/123+/278 +f 1+34/2137/55 1+47/123+/278 1+46/712/55 +f 1+34/2137/55 1+57/1238/269 1+45/2126/269 +f 1+66/2138/63 1+77/2139/128 1+65/214+/23 +f 1+63/2141/59 1+74/2142/136 1+62/2143/2+ +f 1+59/2144/66 1+81/2145/13+ 1+69/2146/62 +f 1+58/2147/6+ 1+72/2148/125 1+6+/2149/19 +f 1+67/215+/68 1+78/2151/132 1+66/2138/63 +f 1+64/2152/69 1+75/2153/127 1+63/2141/59 +f 1+6+/2149/19 1+71/2154/134 1+59/2144/66 +f 1+61/2155/65 1+7+/2156/129 1+58/2147/6+ +f 1+68/2157/26 1+79/2158/135 1+67/215+/68 +f 1+65/2159/23 1+76/216+/131 1+64/2152/69 +f 1+62/2143/2+ 1+73/2161/133 1+61/2155/65 +f 1+69/2146/62 1+8+/2162/126 1+68/2157/26 +f 1+84/2163/139 11+4/74+/62 11+3/716/26 +f 1+87/2164/141 11+1/721/63 11++/723/23 +f 1+9+/2165/137 1+98/729/59 1+97/731/2+ +f 1+83/2166/143 11+5/738/66 11+4/74+/62 +f 1+93/2167/138 1+95/735/6+ 1+94/737/19 +f 1+86/2168/145 11+2/719/68 11+1/721/63 +f 1+89/2169/14+ 1+99/727/69 1+98/729/59 +f 1+82/217+/147 1+94/737/19 11+5/738/66 +f 1+92/2171/142 1+96/733/65 1+95/735/6+ +f 1+85/2172/148 11+3/716/26 11+2/719/68 +f 1+88/2173/144 11++/725/23 1+99/727/69 +f 1+91/2174/146 1+97/731/2+ 1+96/733/65 +f 1+81/2145/13+ 1+84/2163/139 1+8+/2162/126 +f 1+71/2154/134 1+83/2166/143 1+81/2145/13+ +f 1+72/2148/125 1+82/217+/147 1+71/2154/134 +f 1+72/2148/125 1+92/2171/142 1+93/2167/138 +f 1+73/2161/133 1+92/2171/142 1+7+/2156/129 +f 1+74/2142/136 1+91/2174/146 1+73/2161/133 +f 1+75/2153/127 1+9+/2165/137 1+74/2142/136 +f 1+76/216+/131 1+89/2169/14+ 1+75/2153/127 +f 1+77/2175/128 1+88/2173/144 1+76/216+/131 +f 1+78/2151/132 1+87/2164/141 1+77/2139/128 +f 1+79/2158/135 1+86/2168/145 1+78/2151/132 +f 1+79/2158/135 1+84/2163/139 1+85/2172/148 +f 1114/72+/65 1125/2176/6+ 1113/722/6+ +f 1111/726/66 1122/2177/62 111+/728/62 +f 11+6/736/23 1129/2178/69 1117/739/69 +f 11+8/732/68 1119/2179/63 11+7/734/63 +f 1115/718/2+ 1126/218+/65 1114/72+/65 +f 1112/1248/19 1123/2181/66 1111/726/66 +f 11+9/73+/26 112+/2182/68 11+8/732/68 +f 1116/717/59 1127/2183/2+ 1115/718/2+ +f 1113/722/6+ 1124/2184/19 1112/724/19 +f 111+/728/62 1121/2185/26 11+9/73+/26 +f 1117/739/69 1128/2186/59 1116/717/59 +f 11+7/734/63 1118/2187/23 11+6/736/23 +f 1151/2188/274 1162/1268/275 115+/2189/275 +f 115+/2189/275 1161/1267/276 1149/219+/276 +f 1149/219+/276 116+/76+/277 1148/2191/277 +f 1148/2191/277 1159/1266/278 1147/2192/278 +f 1147/2192/278 1158/759/55 1146/2193/55 +f 1145/2194/269 1158/759/55 1157/1265/269 +f 1144/2195/27+ 1157/1265/269 1156/1264/27+ +f 1143/2196/271 1156/1264/27+ 1155/1263/271 +f 1142/2197/272 1155/1263/271 1154/1262/272 +f 1141/2198/273 1154/1262/272 1153/1261/273 +f 114+/2199/2+9 1153/1261/273 1152/761/2+9 +f 114+/2199/2+9 1163/1269/274 1151/2188/274 +f 1172/22++/66 1183/22+1/13+ 1171/22+2/62 +f 1169/22+3/68 118+/22+4/132 1168/22+5/63 +f 1165/22+6/2+ 1187/22+7/133 1175/22+8/65 +f 1164/22+9/69 1178/221+/127 1166/2211/59 +f 1173/2212/19 1184/2213/134 1172/22++/66 +f 117+/2214/26 1181/2215/135 1169/22+3/68 +f 1166/2211/59 1177/2216/136 1165/22+6/2+ +f 1167/2217/23 1176/2218/131 1164/22+9/69 +f 1174/2219/6+ 1185/222+/125 1173/2212/19 +f 1171/2221/62 1182/2222/126 117+/2214/26 +f 1168/22+5/63 1179/2223/128 1167/2217/23 +f 1175/22+8/65 1186/2224/129 1174/2219/6+ +f 119+/2225/142 121+/789/65 12+9/765/6+ +f 1193/2226/143 12+7/77+/66 12+6/772/62 +f 1196/2227/145 12+4/778/68 12+3/78+/63 +f 1189/2228/146 1211/787/2+ 121+/789/65 +f 1199/2229/14+ 12+1/784/69 12++/786/59 +f 1192/223+/147 12+8/768/19 12+7/77+/66 +f 1195/2231/148 12+5/776/26 12+4/778/68 +f 1188/2232/137 12++/786/59 1211/787/2+ +f 1198/2233/144 12+2/782/23 12+1/784/69 +f 1191/2234/138 12+9/765/6+ 12+8/768/19 +f 1194/2235/139 12+6/774/62 12+5/776/26 +f 1197/2236/141 12+3/78+/63 12+2/782/23 +f 1187/22+7/133 119+/2225/142 1186/2224/129 +f 1177/2216/136 1189/2228/146 1187/22+7/133 +f 1178/221+/127 1188/2232/137 1177/2216/136 +f 1178/221+/127 1198/2233/144 1199/2229/14+ +f 1179/2223/128 1198/2233/144 1176/2218/131 +f 118+/22+4/132 1197/2236/141 1179/2223/128 +f 118+/22+4/132 1195/2231/148 1196/2227/145 +f 1182/2222/126 1195/2231/148 1181/2215/135 +f 1182/2222/126 1193/2237/143 1194/2235/139 +f 1183/22+1/13+ 1192/223+/147 1193/2226/143 +f 1185/222+/125 1192/223+/147 1184/2213/134 +f 1185/222+/125 119+/2225/142 1191/2234/138 +f 122+/769/23 1231/2238/69 1219/771/69 +f 1217/775/2+ 1228/2239/65 1216/777/65 +f 1212/785/62 1235/224+/26 1223/788/26 +f 1214/781/19 1225/2241/66 1213/783/66 +f 1221/767/63 1232/2242/23 122+/769/23 +f 1218/1279/59 1229/2243/2+ 1217/775/2+ +f 1215/779/6+ 1226/2244/19 1214/781/19 +f 1222/766/68 1233/2245/63 1221/767/63 +f 1219/771/69 123+/2246/59 1218/773/59 +f 1216/777/65 1227/2247/6+ 1215/779/6+ +f 1223/788/26 1234/2248/68 1222/766/68 +f 1213/783/66 1224/2249/62 1212/785/62 +f 1257/225+/271 1268/1299/272 1256/2251/272 +f 1256/2251/272 1267/1298/273 1255/2252/273 +f 1255/2252/273 1266/8+9/2+9 1254/2253/2+9 +f 1254/2253/2+9 1265/1297/274 1253/2254/274 +f 1253/2254/274 1264/8+8/275 1252/2255/275 +f 1251/2256/276 1264/8+8/275 1263/1296/276 +f 125+/2257/277 1263/1296/276 1262/1295/277 +f 1249/2258/278 1262/1295/277 1261/1294/278 +f 1248/2259/55 1261/1294/278 126+/1293/55 +f 1247/226+/269 126+/1293/55 1259/1292/269 +f 1246/2261/27+ 1259/1292/269 1258/81+/27+ +f 1246/2261/27+ 1269/13++/271 1257/225+/271 +f 1278/2262/69 1289/2263/127 1277/2264/59 +f 1275/2265/65 1286/2266/129 1274/2267/6+ +f 1271/2268/26 1293/2269/135 1281/227+/68 +f 127+/2271/66 1284/2272/13+ 1272/2273/62 +f 1279/2274/23 129+/2275/131 1278/2262/69 +f 1276/2276/2+ 1287/2277/133 1275/2265/65 +f 1272/2273/62 1283/2278/126 1271/2268/26 +f 1273/2279/19 1282/228+/134 127+/2271/66 +f 128+/2281/63 1291/2282/128 1279/2274/23 +f 1277/2283/59 1288/2284/136 1276/2276/2+ +f 1274/2267/6+ 1285/2285/125 1273/2279/19 +f 1281/227+/68 1292/2286/132 128+/2281/63 +f 1296/2287/145 1316/838/68 1315/814/63 +f 1299/2288/14+ 1313/819/69 1312/821/59 +f 13+2/2289/142 131+/827/65 13+9/829/6+ +f 1295/229+/148 1317/836/26 1316/838/68 +f 13+5/2291/143 13+7/833/66 13+6/835/62 +f 1298/2292/144 1314/817/23 1313/819/69 +f 13+1/2293/146 1311/825/2+ 131+/827/65 +f 1294/2294/139 13+6/835/62 1317/836/26 +f 13+4/2295/147 13+8/831/19 13+7/833/66 +f 1297/2296/141 1315/814/63 1314/817/23 +f 13++/2297/137 1312/823/59 1311/825/2+ +f 13+3/2298/138 13+9/829/6+ 13+8/831/19 +f 1293/2269/135 1296/2287/145 1292/2286/132 +f 1283/2278/126 1295/229+/148 1293/2269/135 +f 1284/2272/13+ 1294/2294/139 1283/2278/126 +f 1284/2272/13+ 13+4/2295/147 13+5/2291/143 +f 1285/2285/125 13+4/2295/147 1282/228+/134 +f 1286/2266/129 13+3/2298/138 1285/2285/125 +f 1286/2266/129 13+1/2293/146 13+2/2289/142 +f 1288/2284/136 13+1/2293/146 1287/2277/133 +f 1289/2299/127 13++/2297/137 1288/2284/136 +f 129+/2275/131 1299/2288/14+ 1289/2263/127 +f 1291/2282/128 1298/2292/144 129+/2275/131 +f 1291/2282/128 1296/2287/145 1297/2296/141 +f 1326/818/19 1337/23++/66 1325/82+/66 +f 1323/824/26 1334/23+1/68 1322/826/68 +f 1318/834/59 1341/23+2/2+ 1329/837/2+ +f 132+/83+/23 1331/23+3/69 1319/832/69 +f 1327/816/6+ 1338/23+4/19 1326/818/19 +f 1324/131+/62 1335/23+5/26 1323/824/26 +f 1321/828/63 1332/23+6/23 132+/83+/23 +f 1328/815/65 1339/23+7/6+ 1327/816/6+ +f 1325/82+/66 1336/23+8/62 1324/822/62 +f 1322/826/68 1333/23+9/63 1321/828/63 +f 1329/837/2+ 134+/231+/65 1328/815/65 +f 1319/832/69 133+/2311/59 1318/834/59 +f 1363/2312/276 1374/1331/277 1362/2313/277 +f 1361/2314/278 1374/1331/277 1373/133+/278 +f 1361/2314/278 1372/857/55 136+/2315/55 +f 136+/2315/55 1371/1329/269 1359/2316/269 +f 1358/2317/27+ 1371/1329/269 137+/856/27+ +f 1357/2318/271 137+/856/27+ 1369/1328/271 +f 1356/2319/272 1369/1328/271 1368/1327/272 +f 1355/232+/273 1368/1327/272 1367/1326/273 +f 1354/2321/2+9 1367/1326/273 1366/1325/2+9 +f 1353/2322/274 1366/1325/2+9 1365/1324/274 +f 1352/2323/275 1365/1324/274 1364/858/275 +f 1352/2323/275 1375/1332/276 1363/2312/276 +f 1384/2324/26 1395/2325/135 1383/2326/68 +f 1381/2327/23 1392/2328/131 138+/2329/69 +f 1377/233+/6+ 1399/2331/125 1387/2332/19 +f 1376/2333/2+ 139+/2334/133 1378/2335/65 +f 1385/2336/62 1396/2337/126 1384/2324/26 +f 1382/2338/63 1393/2339/128 1381/2327/23 +f 1378/2335/65 1389/234+/129 1377/233+/6+ +f 1379/2341/59 1388/2342/136 1376/2333/2+ +f 1386/2343/66 1397/2344/13+ 1385/2336/62 +f 1383/2345/68 1394/2346/132 1382/2338/63 +f 138+/2329/69 1391/2347/127 1379/2341/59 +f 1387/2332/19 1398/2348/134 1386/2343/66 +f 14+2/2349/147 1422/886/19 1421/862/66 +f 14+5/235+/148 1419/867/26 1418/869/68 +f 14+8/2351/144 1416/875/23 1415/877/69 +f 14+1/2352/138 1423/884/6+ 1422/886/19 +f 1411/2353/146 1413/881/2+ 1412/883/65 +f 14+4/2354/139 142+/865/62 1419/867/26 +f 14+7/2355/141 1417/873/63 1416/875/23 +f 14++/2356/142 1412/883/65 1423/884/6+ +f 141+/2357/137 1414/879/59 1413/881/2+ +f 14+3/2358/143 1421/862/66 142+/865/62 +f 14+6/2359/145 1418/871/68 1417/873/63 +f 14+9/236+/14+ 1415/877/69 1414/879/59 +f 1399/2331/125 14+2/2349/147 1398/2348/134 +f 1389/234+/129 14+1/2352/138 1399/2331/125 +f 139+/2334/133 14++/2356/142 1389/234+/129 +f 139+/2334/133 141+/2357/137 1411/2353/146 +f 1391/2347/127 141+/2357/137 1388/2342/136 +f 1392/2328/131 14+9/236+/14+ 1391/2347/127 +f 1392/2328/131 14+7/2355/141 14+8/2351/144 +f 1393/2339/128 14+6/2359/145 14+7/2355/141 +f 1395/2361/135 14+6/2359/145 1394/2346/132 +f 1396/2337/126 14+5/235+/148 1395/2325/135 +f 1397/2344/13+ 14+4/2354/139 1396/2337/126 +f 1397/2344/13+ 14+2/2349/147 14+3/2358/143 +f 1432/866/59 1443/2362/2+ 1431/868/2+ +f 1429/872/6+ 144+/2363/19 1428/874/19 +f 1424/882/68 1447/2364/63 1435/885/63 +f 1426/878/62 1437/2365/26 1425/88+/26 +f 1433/864/69 1444/2366/59 1432/866/59 +f 143+/1342/65 1441/2367/6+ 1429/872/6+ +f 1427/876/66 1438/2368/62 1426/878/62 +f 1434/863/23 1445/2369/69 1433/864/69 +f 1431/868/2+ 1442/237+/65 143+/87+/65 +f 1428/874/19 1439/2371/66 1427/876/66 +f 1435/885/63 1446/2372/23 1434/863/23 +f 1425/88+/26 1436/2373/68 1424/882/68 +f 1469/2374/273 148+/1362/2+9 1468/2375/2+9 +f 1468/2375/2+9 1479/1361/274 1467/2376/274 +f 1467/2376/274 1478/9+6/275 1466/2377/275 +f 1466/2377/275 1477/136+/276 1465/2378/276 +f 1464/2379/277 1477/136+/276 1476/9+5/277 +f 1463/238+/278 1476/9+5/277 1475/1359/278 +f 1462/2381/55 1475/1359/278 1474/1358/55 +f 1461/2382/269 1474/1358/55 1473/1357/269 +f 146+/2383/27+ 1473/1357/269 1472/1356/27+ +f 1459/2384/271 1472/1356/27+ 1471/1355/271 +f 1458/2385/272 1471/1355/271 147+/9+7/272 +f 1458/2385/272 1481/1363/273 1469/2374/273 +f 149+/2386/2+ 15+1/2387/133 1489/2388/65 +f 1487/2389/19 1498/239+/134 1486/2391/66 +f 1483/2392/63 15+5/2393/128 1493/2394/23 +f 1482/2395/26 1496/2396/135 1484/2397/68 +f 1491/2398/59 15+2/2399/136 149+/2386/2+ +f 1488/24++/6+ 1499/24+1/125 1487/2389/19 +f 1484/2397/68 1495/24+2/132 1483/2392/63 +f 1485/24+3/62 1494/24+4/126 1482/2395/26 +f 1492/24+5/69 15+3/24+6/127 1491/2398/59 +f 1489/24+7/65 15++/24+8/129 1488/24++/6+ +f 1486/2391/66 1497/24+9/13+ 1485/24+3/62 +f 1493/2394/23 15+4/241+/131 1492/24+5/69 +f 15+8/2411/144 1528/935/23 1527/911/69 +f 1511/2412/146 1525/916/2+ 1524/918/65 +f 1514/2413/147 1522/924/19 1521/926/66 +f 15+7/2414/141 1529/933/63 1528/935/23 +f 1517/2415/148 1519/93+/26 1518/932/68 +f 151+/2416/137 1526/914/59 1525/916/2+ +f 1513/2417/138 1523/922/6+ 1522/924/19 +f 15+6/2418/145 1518/932/68 1529/933/63 +f 1516/2419/139 152+/928/62 1519/93+/26 +f 15+9/242+/14+ 1527/911/69 1526/914/59 +f 1512/2421/142 1524/92+/65 1523/922/6+ +f 1515/2422/143 1521/926/66 152+/928/62 +f 15+5/2393/128 15+8/2411/144 15+4/241+/131 +f 15+5/2393/128 15+6/2418/145 15+7/2414/141 +f 1496/2396/135 15+6/2418/145 1495/24+2/132 +f 1496/2396/135 1516/2419/139 1517/2415/148 +f 1497/24+9/13+ 1516/2419/139 1494/24+4/126 +f 1497/24+9/13+ 1514/2413/147 1515/2422/143 +f 1499/24+1/125 1514/2413/147 1498/239+/134 +f 1499/24+1/125 1512/2421/142 1513/2417/138 +f 15++/24+8/129 1511/2423/146 1512/2421/142 +f 15+2/2399/136 1511/2412/146 15+1/2387/133 +f 15+3/24+6/127 151+/2416/137 15+2/2399/136 +f 15+3/24+6/127 15+8/2411/144 15+9/242+/14+ +f 1538/915/62 1549/2424/26 1537/917/26 +f 1535/921/63 1546/2425/23 1534/923/23 +f 153+/931/65 1553/2426/6+ 1541/934/6+ +f 1532/927/59 1543/2427/2+ 1531/929/2+ +f 1539/913/66 155+/2428/62 1538/915/62 +f 1536/1373/68 1547/2429/63 1535/921/63 +f 1533/925/69 1544/243+/59 1532/927/59 +f 154+/912/19 1551/2431/66 1539/913/66 +f 1537/917/26 1548/2432/68 1536/919/68 +f 1534/923/23 1545/2433/69 1533/925/69 +f 1541/934/6+ 1552/2434/19 154+/912/19 +f 1531/929/2+ 1542/2435/65 153+/931/65 +f 1575/2436/278 1586/1393/55 1574/2437/55 +f 1574/2437/55 1585/1392/269 1573/2438/269 +f 1573/2438/269 1584/955/27+ 1572/2439/27+ +f 1572/2439/27+ 1583/1391/271 1571/244+/271 +f 1571/244+/271 1582/954/272 157+/2441/272 +f 1569/2442/273 1582/954/272 1581/139+/273 +f 1568/2443/2+9 1581/139+/273 158+/1389/2+9 +f 1567/2444/274 158+/1389/2+9 1579/1388/274 +f 1566/2445/275 1579/1388/274 1578/1387/275 +f 1565/2446/276 1578/1387/275 1577/1386/276 +f 1564/2447/277 1577/1386/276 1576/956/277 +f 1564/2447/277 1587/1394/278 1575/2436/278 +f 55/644/83 54/1189/83 58/14+4/45 +f 59/14+5/45 58/14+4/45 56/14+6/84 +f 56/14+6/84 62/1415/85 63/14+8/85 +f 61/1414/86 6+/141+/86 47/14+9/44 +f 6+/141+/86 61/1414/86 63/14+8/85 +f 64/1416/66 75/1428/19 27+/1417/19 +f 71/1419/59 7+/1435/69 275/142+/69 +f 68/1422/63 67/1429/68 278/1423/68 +f 74/1425/6+ 73/1433/65 272/1426/65 +f 75/1428/19 74/1425/6+ 271/1427/6+ +f 67/1429/68 66/1437/26 279/143+/26 +f 65/1431/62 64/1416/66 281/1418/66 +f 73/1433/65 72/1438/2+ 273/1434/2+ +f 7+/1435/69 69/2448/23 276/1436/23 +f 66/1437/26 65/1431/62 28+/1432/62 +f 72/1438/2+ 71/1419/59 274/1421/59 +f 69/1439/23 68/1422/63 277/1424/63 +f 99/1441/22 195/261/124 196/1442/87 +f 165/1444/69 262/1453/69 261/3+5/88 +f 139/1446/69 2++/1455/69 2+2/1447/59 +f 113/1449/66 2+7/1457/66 22+/325/89 +f 1++/1443/69 196/1442/87 197/319/9+ +f 166/1452/23 263/146+/23 262/1453/69 +f 14+/1454/23 24+/299/92 2++/1455/69 +f 1+2/1456/19 2+8/2449/19 2+7/1457/66 +f 1+1/1451/91 197/319/9+ 175/318/23 +f 167/1459/63 264/1466/63 263/146+/23 +f 141/1461/63 241/1468/63 24+/299/92 +f 115/1462/63 221/147+/63 199/1463/23 +f 168/1465/68 265/1472/68 264/1466/63 +f 142/1467/68 242/1474/68 241/1468/63 +f 116/1469/68 222/278/93 221/147+/63 +f 169/1471/26 266/1478/26 265/1472/68 +f 143/1473/26 243/148+/26 242/1474/68 +f 117/1475/26 223/1482/26 222/278/93 +f 78/1458/23 175/318/23 174/321/94 +f 17+/1477/62 267/1486/62 266/1478/26 +f 144/1479/62 244/1488/62 243/148+/26 +f 118/1481/62 224/149+/62 223/1482/26 +f 79/1476/95 174/321/94 176/1483/96 +f 17+/1477/62 171/1492/66 268/1485/66 +f 145/1487/66 245/1494/66 244/1488/62 +f 119/1489/66 225/1496/66 224/149+/62 +f 8+/1484/63 176/1483/96 177/312/97 +f 171/1492/66 172/1499/19 269/315/98 +f 146/1493/19 246/15+1/19 245/1494/66 +f 12+/1495/19 226/15+3/19 225/1496/66 +f 81/1491/25 177/312/97 178/31+/68 +f 173/1498/6+ 2+4/15+6/6+ 269/315/98 +f 147/15++/6+ 247/15+8/6+ 246/15+1/19 +f 121/15+2/6+ 227/151+/6+ 226/15+3/19 +f 82/1497/68 178/31+/68 179/3+8/99 +f 162/15+5/65 2+5/245+/65 2+4/15+6/6+ +f 148/15+7/65 248/3+2/1+2 247/15+8/6+ +f 122/15+9/65 228/1515/65 227/151+/6+ +f 83/15+4/1++ 179/3+8/99 18+/1511/1+1 +f 149/1513/2+ 2+1/1518/2+ 248/3+2/1+2 +f 123/1514/2+ 229/152+/2+ 228/1515/65 +f 84/1512/26 18+/1511/1+1 181/295/1+3 +f 138/1517/59 2+2/2451/59 2+1/1518/2+ +f 124/1519/59 23+/289/1+5 229/152+/2+ +f 85/1516/1+4 181/295/1+3 182/291/62 +f 151/1522/26 249/1528/26 25+/1523/68 +f 125/1525/69 198/153+/69 23+/289/1+5 +f 86/1521/62 182/291/62 183/293/1+6 +f 152/1527/62 251/255/1+8 249/1528/26 +f 114/1529/23 199/2452/23 198/153+/69 +f 87/1526/24 183/293/1+6 184/1531/1+7 +f 153/1533/66 252/1539/66 251/255/1+8 +f 127/1534/66 2+9/1541/66 211/1535/62 +f 88/1532/66 184/1531/1+7 185/286/1+9 +f 154/1538/19 253/1544/19 252/1539/66 +f 128/154+/19 231/258/111 2+9/1541/66 +f 89/1537/11+ 185/286/1+9 186/285/19 +f 155/1543/6+ 254/1552/6+ 253/1544/19 +f 129/1545/6+ 232/1554/6+ 231/258/111 +f 1+3/1546/6+ 2+6/1556/6+ 2+8/1547/19 +f 9+/1549/19 186/283/19 187/281/112 +f 156/1551/65 255/156+/65 254/1552/6+ +f 13+/1553/65 233/1562/65 232/1554/6+ +f 1+4/1555/65 212/328/115 2+6/1556/6+ +f 91/155+/113 187/281/112 188/1557/114 +f 157/1559/2+ 256/1566/2+ 255/156+/65 +f 131/1561/2+ 234/1568/2+ 233/1562/65 +f 1+5/1563/2+ 213/157+/2+ 212/328/115 +f 92/1558/6+ 188/1557/114 189/275/116 +f 158/1565/59 257/1573/59 256/1566/2+ +f 132/1567/59 235/1575/59 234/1568/2+ +f 1+6/1569/59 214/1577/59 213/157+/2+ +f 94/1571/65 93/1564/21 189/275/116 +f 159/1572/69 258/158+/69 257/1573/59 +f 133/1574/69 236/1582/69 235/1575/59 +f 1+7/1576/69 215/1584/69 214/1577/59 +f 94/1571/65 19+/27+/65 191/272/117 +f 16+/1579/23 259/252/12+ 258/158+/69 +f 134/1581/23 237/1589/23 236/1582/69 +f 1+8/1583/23 216/1591/23 215/1584/69 +f 95/1578/118 191/272/117 192/1585/119 +f 161/1587/63 26+/1594/63 259/252/12+ +f 135/1588/63 238/1596/63 237/1589/23 +f 1+9/159+/63 217/1598/63 216/1591/23 +f 96/1586/2+ 192/1585/119 193/265/121 +f 15+/1593/68 25+/2453/68 26+/1594/63 +f 136/1595/68 239/268/123 238/1596/63 +f 11+/1597/68 218/16+5/68 217/1598/63 +f 97/1592/122 193/265/121 194/263/59 +f 163/16++/2+ 2+3/16+6/2+ 2+5/16+1/65 +f 137/16+3/26 21+/16+8/26 239/268/123 +f 111/16+4/26 219/16+9/26 218/16+5/68 +f 98/1599/59 194/263/59 195/261/124 +f 164/1445/59 261/3+5/88 2+3/16+6/2+ +f 126/16+7/62 211/2454/62 21+/16+8/26 +f 112/145+/62 22+/325/89 219/16+9/26 +f 3+2/161+/6+ 314/1623/129 313/1611/125 +f 299/1613/62 311/1625/13+ 31+/1614/126 +f 295/1616/69 3+7/1626/131 317/1617/127 +f 294/1619/63 3+6/1628/132 3+8/162+/128 +f 3+3/1622/65 315/163+/133 314/1623/129 +f 3++/1624/66 312/1632/134 311/1625/13+ +f 296/1621/23 3+8/162+/128 3+7/1626/131 +f 297/1627/68 3+9/1633/135 3+6/1628/132 +f 3+4/1629/2+ 316/1634/136 315/163+/133 +f 3+1/1631/19 313/1647/125 312/1632/134 +f 298/1615/26 31+/1614/126 3+9/1633/135 +f 3+5/1618/59 317/1617/127 316/1634/136 +f 32+/1635/137 319/1638/14+ 34+/234/59 +f 323/1636/138 322/164+/142 337/215/6+ +f 326/1637/139 325/1641/143 334/223/62 +f 319/1638/14+ 318/1642/144 341/232/69 +f 329/1639/141 328/1643/145 331/229/63 +f 322/164+/142 321/1644/146 338/213/65 +f 325/1641/143 324/1645/147 335/221/66 +f 318/1642/144 329/1639/141 33+/231/23 +f 328/1643/145 327/1646/148 332/227/68 +f 321/1644/146 32+/1635/137 339/21+/2+ +f 324/1645/147 323/2455/138 336/219/19 +f 327/1646/148 326/1637/139 333/225/26 +f 317/1617/127 319/1638/14+ 32+/1635/137 +f 3+7/1626/131 318/1642/144 319/1638/14+ +f 3+8/162+/128 329/1639/141 318/1642/144 +f 3+8/162+/128 3+6/1628/132 328/1643/145 +f 3+9/1633/135 327/1646/148 328/1643/145 +f 31+/1614/126 326/1637/139 327/1646/148 +f 311/1625/13+ 325/1641/143 326/1637/139 +f 311/1625/13+ 312/1632/134 324/1645/147 +f 313/1647/125 323/2455/138 324/1645/147 +f 313/1611/125 314/1623/129 322/164+/142 +f 315/163+/133 321/1644/146 322/164+/142 +f 315/163+/133 316/1634/136 32+/1635/137 +f 35+/214/68 362/1652/68 361/1648/63 +f 347/22+/69 359/1653/69 358/1649/59 +f 342/23+/19 354/1659/19 365/165+/66 +f 344/226/65 356/1654/65 355/1651/6+ +f 351/212/26 363/1655/26 362/1652/68 +f 348/975/23 36+/2456/23 359/1653/69 +f 345/224/2+ 357/1657/2+ 356/1654/65 +f 352/211/62 364/1658/62 363/1655/26 +f 349/216/63 361/1648/63 36+/1656/23 +f 346/222/59 358/1649/59 357/1657/2+ +f 353/233/66 365/165+/66 364/1658/62 +f 343/228/6+ 355/1651/6+ 354/1659/19 +f 195/261/124 391/2457/279 392/166+/149 +f 392/166+/149 393/2458/28+ 197/319/9+ +f 377/1661/15+ 378/2459/281 177/312/97 +f 376/1662/151 377/1661/15+ 176/1483/96 +f 179/3+8/99 379/246+/282 38+/1663/152 +f 381/1664/153 181/295/1+3 18+/1511/1+1 +f 382/1665/154 383/1667/156 184/1531/1+7 +f 384/1666/155 185/286/1+9 184/1531/1+7 +f 386/1668/157 387/2461/283 189/275/116 +f 385/1669/158 386/1668/157 188/1557/114 +f 39+/167+/159 193/265/121 192/1585/119 +f 388/1672/161 389/1671/16+ 192/1585/119 +f 244/1488/62 425/1676/62 424/1673/26 +f 224/149+/62 4+5/1677/62 4+4/1674/26 +f 268/1485/66 446/1678/66 445/1675/62 +f 245/1494/66 426/1679/66 425/1676/62 +f 225/1496/66 4+6/168+/66 4+5/1677/62 +f 269/315/98 447/1++2/11+ 446/1678/66 +f 246/15+1/19 427/1681/19 426/1679/66 +f 226/15+3/19 4+7/1682/19 4+6/168+/66 +f 247/15+8/6+ 428/1683/6+ 427/1681/19 +f 227/151+/6+ 4+8/1684/6+ 4+7/1682/19 +f 248/3+2/1+2 429/999/21 428/1683/6+ +f 228/1515/65 4+9/1685/65 4+8/1684/6+ +f 229/152+/2+ 41+/1686/2+ 4+9/1685/65 +f 23+/289/1+5 411/996/122 41+/1686/2+ +f 252/1539/66 431/1687/66 43+/256/24 +f 253/1544/19 432/1688/19 431/1687/66 +f 254/1552/6+ 433/1689/6+ 432/1688/19 +f 232/1554/6+ 413/169+/6+ 412/259/113 +f 255/156+/65 434/1691/65 433/1689/6+ +f 233/1562/65 414/1692/65 413/169+/6+ +f 256/1566/2+ 435/1693/2+ 434/1691/65 +f 234/1568/2+ 415/1694/2+ 414/1692/65 +f 213/157+/2+ 395/1695/2+ 394/329/118 +f 257/1573/59 436/1696/59 435/1693/2+ +f 235/1575/59 416/1697/59 415/1694/2+ +f 214/1577/59 396/1698/59 395/1695/2+ +f 258/158+/69 437/1699/69 436/1696/59 +f 236/1582/69 417/17++/69 416/1697/59 +f 215/1584/69 397/17+1/69 396/1698/59 +f 259/252/12+ 438/987/91 437/1699/69 +f 237/1589/23 418/17+2/23 417/17++/69 +f 216/1591/23 398/17+3/23 397/17+1/69 +f 238/1596/63 419/17+4/63 418/17+2/23 +f 217/1598/63 399/17+5/63 398/17+3/23 +f 239/268/123 42+/991/25 419/17+4/63 +f 218/16+5/68 4++/17+6/68 399/17+5/63 +f 219/16+9/26 4+1/17+7/26 4++/17+6/68 +f 22+/325/89 4+2/1++4/1+4 4+1/17+7/26 +f 262/1453/69 44+/17+8/69 439/3+6/22 +f 263/146+/23 441/17+9/23 44+/17+8/69 +f 264/1466/63 442/171+/63 441/17+9/23 +f 241/1468/63 422/1711/63 421/3++/95 +f 265/1472/68 443/1712/68 442/171+/63 +f 242/1474/68 423/1713/68 422/1711/63 +f 266/1478/26 444/1714/26 443/1712/68 +f 243/148+/26 424/1673/26 423/1713/68 +f 223/1482/26 4+4/1674/26 4+3/279/1++ +f 267/1486/62 445/1675/62 444/1714/26 +f 452/1+58/27 5+5/354/162 5+6/357/162 +f 464/1715/65 476/1728/65 475/1716/6+ +f 461/1718/66 473/173+/66 472/1719/62 +f 456/1721/23 468/1739/23 479/1722/69 +f 458/1724/68 47+/1732/68 469/1725/63 +f 465/1727/2+ 477/1734/2+ 476/1728/65 +f 462/1729/19 474/2462/19 473/173+/66 +f 459/1731/26 471/1737/26 47+/1732/68 +f 466/1733/59 478/1738/59 477/1734/2+ +f 463/1717/6+ 475/1716/6+ 474/1735/19 +f 46+/172+/62 472/1719/62 471/1737/26 +f 467/1723/69 479/1722/69 478/1738/59 +f 457/1726/63 469/1725/63 468/1739/23 +f 497/174+/66 498/2463/19 486/1741/19 +f 494/1743/68 495/1752/26 483/1744/26 +f 5+1/1746/2+ 5+2/1754/59 49+/1747/59 +f 498/1749/19 499/1759/6+ 487/175+/6+ +f 495/1752/26 496/1761/62 484/1753/62 +f 5+2/1754/59 5+3/1762/69 491/1755/69 +f 492/1756/23 493/1763/63 481/1757/63 +f 499/1759/6+ 5++/1764/65 488/176+/65 +f 496/1761/62 497/174+/66 485/1742/66 +f 5+3/1762/69 492/1756/23 48+/1758/23 +f 493/1763/63 494/1743/68 482/1745/68 +f 5++/1764/65 5+1/1746/2+ 489/1748/2+ +f 5+7/1765/163 5+6/357/162 5+5/354/162 +f 451/351/19 5+7/358/163 5+4/1767/163 +f 534/1769/164 525/18+1/193 542/177+/165 +f 522/1+79/167 531/1782/176 553/1772/168 +f 518/1774/169 528/1785/18+ 562/1775/17+ +f 521/379/171 529/1783/178 558/1777/172 +f 517/1779/173 525/18+1/193 557/178+/174 +f 523/1+78/175 526/1789/183 531/1782/176 +f 52+/378/177 53+/1796/189 529/1783/178 +f 518/1774/169 545/2464/23 547/1784/179 +f 535/1786/181 551/2465/166 546/1787/165 +f 526/1789/183 536/2466/198 537/179+/184 +f 554/1791/185 532/18+4/195 527/1792/186 +f 527/1792/186 543/18+3/179 541/1793/23 +f 528/1785/18+ 533/18+6/197 563/1795/188 +f 53+/1796/189 539/2467/199 538/1797/19+ +f 559/1798/191 535/1786/181 524/1788/182 +f 524/1788/182 546/1787/165 544/1799/19 +f 525/18+1/193 534/1769/164 56+/18+2/194 +f 517/1779/173 54+/2468/19 542/177+/165 +f 543/18+3/179 527/1792/186 532/18+4/195 +f 533/18+6/197 528/1785/18+ 547/1784/179 +f 537/179+/184 536/2466/198 549/377/166 +f 536/2466/198 56+/2469/194 549/377/166 +f 56+/2469/194 534/247+/164 549/377/166 +f 549/377/166 548/376/196 537/179+/184 +f 548/376/196 532/2471/195 554/18+8/185 +f 559/181+/191 538/1797/19+ 551/373/166 +f 538/1797/19+ 539/2467/199 551/373/166 +f 539/2467/199 563/2472/188 55+/374/196 +f 563/2472/188 533/2473/197 55+/374/196 +f 55+/374/196 551/373/166 539/2467/199 +f 531/1782/176 537/2474/184 554/1791/185 +f 552/1773/22 553/1772/168 527/1792/186 +f 526/1789/183 557/178+/174 56+/18+2/194 +f 529/1783/178 538/2475/19+ 559/1798/191 +f 555/1781/21 557/178+/174 526/1789/183 +f 516/18++/192 556/1778/24 558/1777/172 +f 53+/1796/189 562/1775/17+ 563/1795/188 +f 561/1776/25 562/1775/17+ 53+/1796/189 +f 568/39+/177 586/384/177 585/386/171 +f 579/1813/25 587/2476/25 586/384/177 +f 576/1814/22 589/2477/22 583/4++/187 +f 571/1+89/175 581/1+83/175 588/387/167 +f 565/1816/173 59+/1+99/173 58+/1817/21 +f 57+/1+9+/167 588/387/167 589/1819/22 +f 578/1821/24 584/2478/24 593/1+98/192 +f 572/1823/19 591/4+7/19 59+/1+99/173 +f 577/1824/21 58+/2479/21 581/1+83/175 +f 566/1825/169 594/398/169 587/1826/25 +f 564/1822/192 593/1+98/192 592/4+8/19 +f 566/1825/169 575/248+/23 594/398/169 +f 575/248+/23 573/1829/23 595/4+6/23 +f 594/398/169 575/248+/23 595/4+6/23 +f 573/1829/23 567/1815/187 583/4++/187 +f 582/399/23 595/4+6/23 573/1829/23 +f 569/391/171 585/386/171 584/183+/24 +f 651/46+/23 646/2481/2++ 634/1832/2++ +f 644/1833/2+1 642/1844/2++ 635/1834/2++ +f 636/1836/5+ 643/2482/5+ 645/1837/2+2 +f 638/1838/2+2 645/1837/2+2 644/1833/2+1 +f 634/1832/2++ 646/2481/2++ 648/1839/2+1 +f 649/1841/2+2 647/2483/5+ 639/1842/5+ +f 648/1839/2+1 649/1841/2+2 641/1843/2+2 +f 65+/1116/23 633/456/23 635/1834/2++ +f 756/1845/23 755/1884/3+ 744/1846/3+ +f 769/1848/29 768/1856/3+ 731/1849/3+ +f 757/1851/2+3 756/1845/23 742/1847/23 +f 753/1853/29 752/1858/3+ 745/1854/3+ +f 768/1856/3+ 767/186+/23 729/1857/23 +f 752/1858/3+ 751/1864/23 743/1859/23 +f 767/186+/23 766/1866/2+3 727/1861/2+3 +f 746/1862/48 753/1853/29 714/1855/29 +f 751/1864/23 75+/187+/2+3 741/1865/2+3 +f 766/1866/2+3 765/1872/27 725/1867/27 +f 762/1868/48 769/1848/29 717/185+/29 +f 75+/187+/2+3 749/1874/27 739/1871/27 +f 765/1872/27 764/1878/45 723/1873/45 +f 749/1874/27 748/1876/45 737/1875/45 +f 748/1876/45 747/2484/19 735/1877/19 +f 764/1878/45 763/2485/19 721/1879/19 +f 747/188+/19 746/1862/48 733/1863/48 +f 763/1882/19 762/1868/48 719/1869/48 +f 755/1884/3+ 754/1895/29 715/1885/29 +f 758/1886/27 757/1851/2+3 74+/1852/2+3 +f 759/1888/45 758/1886/27 738/1887/27 +f 76+/189+/19 759/1888/45 736/1889/45 +f 761/1892/48 76+/2486/19 734/1893/19 +f 754/1895/29 761/1892/48 732/1894/48 +f 771/1896/3+ 77+/1912/29 716/1897/29 +f 772/1899/23 771/1896/3+ 73+/1898/3+ +f 773/19+1/2+3 772/1899/23 728/19++/23 +f 774/19+3/27 773/19+1/2+3 726/19+2/2+3 +f 775/19+5/45 774/19+3/27 724/19+4/27 +f 776/19+7/19 775/19+5/45 722/19+6/45 +f 777/19+9/48 776/2487/19 72+/191+/19 +f 77+/1912/29 777/19+9/48 718/1911/48 +f 8+3/1913/29 8+5/1916/48 8+4/1914/48 +f 8+5/1916/48 8+7/2488/19 8+6/1917/19 +f 8+7/1918/19 8+9/1921/45 8+8/1919/45 +f 8+9/1921/45 811/1923/27 81+/1922/27 +f 811/1923/27 813/1925/2+3 812/1924/2+3 +f 813/1925/2+3 815/1927/23 814/1926/23 +f 815/1927/23 817/1929/3+ 816/1928/3+ +f 817/1929/3+ 8+3/1913/29 8+2/1915/29 +f 841/637/29 845/1932/2+4 842/193+/2+4 +f 838/633/27 843/1934/2+5 844/1931/2+5 +f 845/1932/2+4 849/2489/3+ 846/1933/3+ +f 843/1934/2+5 847/249+/2+3 848/1935/2+3 +f 9+6/1936/48 913/1956/29 89+/1937/29 +f 887/1939/45 886/1948/27 868/194+/27 +f 881/1942/29 88+/195+/3+ 875/1943/3+ +f 911/1945/23 91+/1984/2+3 9+1/1946/2+3 +f 886/1948/27 885/1952/2+3 87+/1949/2+3 +f 88+/195+/3+ 879/1954/23 873/1951/23 +f 885/1952/2+3 884/1958/23 872/1953/23 +f 879/1954/23 878/196+/2+3 871/1955/2+3 +f 913/1956/29 912/1979/3+ 9+5/1957/3+ +f 884/1958/23 883/1965/3+ 874/1959/3+ +f 878/196+/2+3 877/1966/27 869/1961/27 +f 882/1962/29 889/1968/48 862/1963/48 +f 883/1965/3+ 882/1962/29 86+/1964/29 +f 877/1966/27 876/197+/45 867/1967/45 +f 889/1968/48 888/2491/19 864/1969/19 +f 876/197+/45 858/2492/19 865/1971/19 +f 917/1972/2+3 916/1982/23 9+2/1973/23 +f 859/1975/48 881/1942/29 861/1944/29 +f 858/1977/19 859/1975/48 863/1976/48 +f 912/1979/3+ 911/1945/23 9+3/1947/23 +f 888/198+/19 887/1939/45 866/1941/45 +f 916/1982/23 915/1992/3+ 9+4/1983/3+ +f 91+/1984/2+3 9+9/1986/27 899/1985/27 +f 9+9/1986/27 9+8/1988/45 897/1987/45 +f 9+8/1988/45 9+7/2493/19 895/1989/19 +f 9+7/199+/19 9+6/1936/48 893/1938/48 +f 915/1992/3+ 914/2++3/29 891/1993/29 +f 918/1994/27 917/1972/2+3 9++/1974/2+3 +f 919/1996/45 918/1994/27 898/1995/27 +f 92+/1998/19 919/1996/45 896/1997/45 +f 921/2+++/48 92+/2494/19 894/2++1/19 +f 914/2++3/29 921/2+++/48 892/2++2/48 +f 924/2++4/27 925/2++8/27 923/2++5/2+6 +f 926/2++7/2+7 927/2+1+/2+7 925/2++8/27 +f 928/2++9/2+8 929/2+59/2+8 927/2+1+/2+7 +f 931/2+13/19 93+/2+15/212 922/2++6/21+ +f 933/2+14/211 932/2+18/215 93+/2+15/212 +f 935/2+17/214 934/2+2+/217 932/2+18/215 +f 935/2+17/214 937/2+21/218 936/2+19/216 +f 937/2+21/218 939/2+62/242 938/2+22/219 +f 514/2+24/221 94+/2+28/225 95+/2+25/222 +f 928/2+27/224 941/2+3+/227 94+/2+28/225 +f 926/2+29/226 942/2+32/229 941/2+3+/227 +f 924/2+31/228 943/2495/284 942/2+32/229 +f 944/2+33/23+ 943/2495/284 924/2+31/228 +f 945/2+34/231 944/2+33/23+ 922/2++6/21+ +f 932/2+18/215 946/2+64/252 945/2+34/231 +f 947/2+35/232 946/2+64/252 932/2+18/215 +f 936/2+37/216 948/2+39/233 947/2+35/232 +f 938/2+38/219 949/2+57/251 948/2+39/233 +f 639/2+42/236 939/2+48/242 953/2+44/238 +f 953/2+44/238 952/2+4+/234 639/2+42/236 +f 951/2+43/237 952/2+4+/234 953/2+44/238 +f 952/2+4+/234 951/2+43/237 515/2+46/24+ +f 954/2+47/241 953/2+44/238 939/2+48/242 +f 955/2+5+/243 954/2+47/241 937/2+49/218 +f 933/2+52/211 956/2+65/253 955/2+5+/243 +f 957/1213/244 956/2+65/253 933/2+52/211 +f 925/2+53/245 959/2+66/254 958/663/246 +f 96+/2+54/248 959/2+66/254 925/2+53/245 +f 961/2+45/239 96+/2+54/248 927/2+55/249 +f 951/2+43/237 961/2+45/239 929/2+56/25+ +f 94+/2+28/225 941/2+3+/227 949/2+57/251 +f 636/2+58/22+ 652/2+26/223 95+/2+25/222 +f 95+/2+25/222 949/2+57/251 636/2+58/22+ +f 857/2+12/2+9 854/2+6+/2+9 929/2+59/2+8 +f 938/2+22/219 939/2+62/242 647/469/23 +f 946/2+64/252 947/2+35/232 943/2495/284 +f 943/2495/284 944/2+33/23+ 946/2+64/252 +f 942/2+32/229 943/2495/284 947/2+35/232 +f 941/2+3+/227 942/2+32/229 948/2+39/233 +f 958/663/246 959/2+66/254 956/2+65/253 +f 959/2+66/254 955/2+5+/243 956/2+65/253 +f 96+/2+54/248 954/2+47/241 955/2+5+/243 +f 961/2+45/239 953/2+44/238 954/2+47/241 +f 991/2+67/45 99+/2+73/27 972/2+68/27 +f 985/2+7+/29 984/2+75/3+ 979/2+71/3+ +f 99+/2+73/27 989/2+77/2+3 974/2+74/2+3 +f 984/2+75/3+ 983/2+79/23 977/2+76/23 +f 989/2+77/2+3 988/2+81/23 976/2+78/23 +f 983/2+79/23 982/2+83/2+3 975/2+8+/2+3 +f 988/2+81/23 987/2+88/3+ 978/2+82/3+ +f 982/2+83/2+3 981/2+89/27 973/2+84/27 +f 986/2+85/29 993/2+91/48 966/2+86/48 +f 987/2+88/3+ 986/2+85/29 964/2+87/29 +f 981/2+89/27 98+/2+93/45 971/2+9+/45 +f 993/2+91/48 992/2496/19 968/2+92/19 +f 98+/2+93/45 962/2497/19 969/2+94/19 +f 963/2+95/48 985/2+7+/29 965/2+72/29 +f 962/2+97/19 963/2+95/48 967/2+96/48 +f 992/2+99/19 991/2+67/45 97+/2+69/45 +f 996/21+1/255 997/2498/255 999/21+2/48 +f 998/21+3/48 999/21+2/48 995/677/52 +f 1++1/676/256 1+++/21+6/256 994/21+4/257 +f 1++3/21+5/162 1++2/21+8/162 1+++/21+6/256 +f 1++5/21+7/162 1++4/211+/162 1++2/21+8/162 +f 1++7/21+9/45 1++6/2499/45 1++4/211+/162 +f 1++8/2111/258 1+1+/2114/259 1+11/2112/259 +f 1+1+/2114/259 1+12/2116/2+4 1+13/2115/2+4 +f 1+12/2116/2+4 1+14/2118/26+ 1+15/2117/26+ +f 1+14/2118/26+ 1+16/25++/48 1+17/2119/48 +f 1++9/2113/261 1+31/2121/262 1+3+/212+/262 +f 1+31/2121/262 1+33/25+1/27 1+32/2122/27 +f 1+23/7+2/263 1+22/697/263 1+2+/1227/264 +f 1+25/7+1/265 1+24/698/265 1+22/697/263 +f 1+27/2123/266 1+26/2125/266 1+24/698/267 +f 1+29/2124/268 1+28/25+2/268 1+26/2125/266 +f 1+45/2126/269 1+57/1238/269 1+56/1237/27+ +f 1+44/2127/27+ 1+56/1237/27+ 1+55/1236/271 +f 1+43/2128/271 1+55/1236/271 1+54/711/272 +f 1+42/2129/272 1+54/711/272 1+53/1235/273 +f 1+4+/2131/2+9 1+41/213+/273 1+53/1235/273 +f 1+39/2132/274 1+4+/2131/2+9 1+52/71+/2+9 +f 1+38/2133/275 1+39/2132/274 1+51/1234/274 +f 1+37/2134/276 1+38/2133/275 1+5+/1233/275 +f 1+36/2135/277 1+37/2134/276 1+49/1232/276 +f 1+35/2136/278 1+36/2135/277 1+48/1231/277 +f 1+34/2137/55 1+35/2136/278 1+47/123+/278 +f 1+34/2137/55 1+46/712/55 1+57/1238/269 +f 1+66/2138/63 1+78/2151/132 1+77/2139/128 +f 1+63/2141/59 1+75/2153/127 1+74/2142/136 +f 1+59/2144/66 1+71/2154/134 1+81/2145/13+ +f 1+58/2147/6+ 1+7+/2156/129 1+72/2148/125 +f 1+67/215+/68 1+79/2158/135 1+78/2151/132 +f 1+64/2152/69 1+76/216+/131 1+75/2153/127 +f 1+6+/2149/19 1+72/2148/125 1+71/2154/134 +f 1+61/2155/65 1+73/2161/133 1+7+/2156/129 +f 1+68/2157/26 1+8+/2162/126 1+79/2158/135 +f 1+65/2159/23 1+77/2175/128 1+76/216+/131 +f 1+62/2143/2+ 1+74/2142/136 1+73/2161/133 +f 1+69/2146/62 1+81/2145/13+ 1+8+/2162/126 +f 1+84/2163/139 1+83/2166/143 11+4/74+/62 +f 1+87/2164/141 1+86/2168/145 11+1/721/63 +f 1+9+/2165/137 1+89/2169/14+ 1+98/729/59 +f 1+83/2166/143 1+82/217+/147 11+5/738/66 +f 1+93/2167/138 1+92/2171/142 1+95/735/6+ +f 1+86/2168/145 1+85/2172/148 11+2/719/68 +f 1+89/2169/14+ 1+88/2173/144 1+99/727/69 +f 1+82/217+/147 1+93/2167/138 1+94/737/19 +f 1+92/2171/142 1+91/2174/146 1+96/733/65 +f 1+85/2172/148 1+84/2163/139 11+3/716/26 +f 1+88/2173/144 1+87/25+3/141 11++/725/23 +f 1+91/2174/146 1+9+/2165/137 1+97/731/2+ +f 1+81/2145/13+ 1+83/2166/143 1+84/2163/139 +f 1+71/2154/134 1+82/217+/147 1+83/2166/143 +f 1+72/2148/125 1+93/2167/138 1+82/217+/147 +f 1+72/2148/125 1+7+/2156/129 1+92/2171/142 +f 1+73/2161/133 1+91/2174/146 1+92/2171/142 +f 1+74/2142/136 1+9+/2165/137 1+91/2174/146 +f 1+75/2153/127 1+89/2169/14+ 1+9+/2165/137 +f 1+76/216+/131 1+88/2173/144 1+89/2169/14+ +f 1+77/2175/128 1+87/25+3/141 1+88/2173/144 +f 1+78/2151/132 1+86/2168/145 1+87/2164/141 +f 1+79/2158/135 1+85/2172/148 1+86/2168/145 +f 1+79/2158/135 1+8+/2162/126 1+84/2163/139 +f 1114/72+/65 1126/218+/65 1125/2176/6+ +f 1111/726/66 1123/2181/66 1122/2177/62 +f 11+6/736/23 1118/2187/23 1129/2178/69 +f 11+8/732/68 112+/2182/68 1119/2179/63 +f 1115/718/2+ 1127/2183/2+ 1126/218+/65 +f 1112/1248/19 1124/25+4/19 1123/2181/66 +f 11+9/73+/26 1121/2185/26 112+/2182/68 +f 1116/717/59 1128/2186/59 1127/2183/2+ +f 1113/722/6+ 1125/2176/6+ 1124/2184/19 +f 111+/728/62 1122/2177/62 1121/2185/26 +f 1117/739/69 1129/2178/69 1128/2186/59 +f 11+7/734/63 1119/2179/63 1118/2187/23 +f 1151/2188/274 1163/1269/274 1162/1268/275 +f 115+/2189/275 1162/1268/275 1161/1267/276 +f 1149/219+/276 1161/1267/276 116+/76+/277 +f 1148/2191/277 116+/76+/277 1159/1266/278 +f 1147/2192/278 1159/1266/278 1158/759/55 +f 1145/2194/269 1146/2193/55 1158/759/55 +f 1144/2195/27+ 1145/2194/269 1157/1265/269 +f 1143/2196/271 1144/2195/27+ 1156/1264/27+ +f 1142/2197/272 1143/2196/271 1155/1263/271 +f 1141/2198/273 1142/2197/272 1154/1262/272 +f 114+/2199/2+9 1141/2198/273 1153/1261/273 +f 114+/2199/2+9 1152/761/2+9 1163/1269/274 +f 1172/22++/66 1184/2213/134 1183/22+1/13+ +f 1169/22+3/68 1181/2215/135 118+/22+4/132 +f 1165/22+6/2+ 1177/2216/136 1187/22+7/133 +f 1164/22+9/69 1176/2218/131 1178/221+/127 +f 1173/2212/19 1185/222+/125 1184/2213/134 +f 117+/2214/26 1182/2222/126 1181/2215/135 +f 1166/2211/59 1178/221+/127 1177/2216/136 +f 1167/2217/23 1179/2223/128 1176/2218/131 +f 1174/2219/6+ 1186/2224/129 1185/222+/125 +f 1171/2221/62 1183/25+5/13+ 1182/2222/126 +f 1168/22+5/63 118+/22+4/132 1179/2223/128 +f 1175/22+8/65 1187/22+7/133 1186/2224/129 +f 119+/2225/142 1189/2228/146 121+/789/65 +f 1193/2226/143 1192/223+/147 12+7/77+/66 +f 1196/2227/145 1195/2231/148 12+4/778/68 +f 1189/2228/146 1188/2232/137 1211/787/2+ +f 1199/2229/14+ 1198/2233/144 12+1/784/69 +f 1192/223+/147 1191/2234/138 12+8/768/19 +f 1195/2231/148 1194/2235/139 12+5/776/26 +f 1188/2232/137 1199/2229/14+ 12++/786/59 +f 1198/2233/144 1197/2236/141 12+2/782/23 +f 1191/2234/138 119+/2225/142 12+9/765/6+ +f 1194/2235/139 1193/2237/143 12+6/774/62 +f 1197/2236/141 1196/2227/145 12+3/78+/63 +f 1187/22+7/133 1189/2228/146 119+/2225/142 +f 1177/2216/136 1188/2232/137 1189/2228/146 +f 1178/221+/127 1199/2229/14+ 1188/2232/137 +f 1178/221+/127 1176/2218/131 1198/2233/144 +f 1179/2223/128 1197/2236/141 1198/2233/144 +f 118+/22+4/132 1196/2227/145 1197/2236/141 +f 118+/22+4/132 1181/2215/135 1195/2231/148 +f 1182/2222/126 1194/2235/139 1195/2231/148 +f 1182/2222/126 1183/25+5/13+ 1193/2237/143 +f 1183/22+1/13+ 1184/2213/134 1192/223+/147 +f 1185/222+/125 1191/2234/138 1192/223+/147 +f 1185/222+/125 1186/2224/129 119+/2225/142 +f 122+/769/23 1232/2242/23 1231/2238/69 +f 1217/775/2+ 1229/2243/2+ 1228/2239/65 +f 1212/785/62 1224/2249/62 1235/224+/26 +f 1214/781/19 1226/2244/19 1225/2241/66 +f 1221/767/63 1233/2245/63 1232/2242/23 +f 1218/1279/59 123+/25+6/59 1229/2243/2+ +f 1215/779/6+ 1227/2247/6+ 1226/2244/19 +f 1222/766/68 1234/2248/68 1233/2245/63 +f 1219/771/69 1231/2238/69 123+/2246/59 +f 1216/777/65 1228/2239/65 1227/2247/6+ +f 1223/788/26 1235/224+/26 1234/2248/68 +f 1213/783/66 1225/2241/66 1224/2249/62 +f 1257/225+/271 1269/13++/271 1268/1299/272 +f 1256/2251/272 1268/1299/272 1267/1298/273 +f 1255/2252/273 1267/1298/273 1266/8+9/2+9 +f 1254/2253/2+9 1266/8+9/2+9 1265/1297/274 +f 1253/2254/274 1265/1297/274 1264/8+8/275 +f 1251/2256/276 1252/2255/275 1264/8+8/275 +f 125+/2257/277 1251/2256/276 1263/1296/276 +f 1249/2258/278 125+/2257/277 1262/1295/277 +f 1248/2259/55 1249/2258/278 1261/1294/278 +f 1247/226+/269 1248/2259/55 126+/1293/55 +f 1246/2261/27+ 1247/226+/269 1259/1292/269 +f 1246/2261/27+ 1258/81+/27+ 1269/13++/271 +f 1278/2262/69 129+/2275/131 1289/2263/127 +f 1275/2265/65 1287/2277/133 1286/2266/129 +f 1271/2268/26 1283/2278/126 1293/2269/135 +f 127+/2271/66 1282/228+/134 1284/2272/13+ +f 1279/2274/23 1291/2282/128 129+/2275/131 +f 1276/2276/2+ 1288/2284/136 1287/2277/133 +f 1272/2273/62 1284/2272/13+ 1283/2278/126 +f 1273/2279/19 1285/2285/125 1282/228+/134 +f 128+/2281/63 1292/2286/132 1291/2282/128 +f 1277/2283/59 1289/2299/127 1288/2284/136 +f 1274/2267/6+ 1286/2266/129 1285/2285/125 +f 1281/227+/68 1293/2269/135 1292/2286/132 +f 1296/2287/145 1295/229+/148 1316/838/68 +f 1299/2288/14+ 1298/2292/144 1313/819/69 +f 13+2/2289/142 13+1/2293/146 131+/827/65 +f 1295/229+/148 1294/2294/139 1317/836/26 +f 13+5/2291/143 13+4/2295/147 13+7/833/66 +f 1298/2292/144 1297/2296/141 1314/817/23 +f 13+1/2293/146 13++/2297/137 1311/825/2+ +f 1294/2294/139 13+5/2291/143 13+6/835/62 +f 13+4/2295/147 13+3/2298/138 13+8/831/19 +f 1297/2296/141 1296/2287/145 1315/814/63 +f 13++/2297/137 1299/25+7/14+ 1312/823/59 +f 13+3/2298/138 13+2/2289/142 13+9/829/6+ +f 1293/2269/135 1295/229+/148 1296/2287/145 +f 1283/2278/126 1294/2294/139 1295/229+/148 +f 1284/2272/13+ 13+5/2291/143 1294/2294/139 +f 1284/2272/13+ 1282/228+/134 13+4/2295/147 +f 1285/2285/125 13+3/2298/138 13+4/2295/147 +f 1286/2266/129 13+2/2289/142 13+3/2298/138 +f 1286/2266/129 1287/2277/133 13+1/2293/146 +f 1288/2284/136 13++/2297/137 13+1/2293/146 +f 1289/2299/127 1299/25+7/14+ 13++/2297/137 +f 129+/2275/131 1298/2292/144 1299/2288/14+ +f 1291/2282/128 1297/2296/141 1298/2292/144 +f 1291/2282/128 1292/2286/132 1296/2287/145 +f 1326/818/19 1338/23+4/19 1337/23++/66 +f 1323/824/26 1335/23+5/26 1334/23+1/68 +f 1318/834/59 133+/2311/59 1341/23+2/2+ +f 132+/83+/23 1332/23+6/23 1331/23+3/69 +f 1327/816/6+ 1339/23+7/6+ 1338/23+4/19 +f 1324/131+/62 1336/25+8/62 1335/23+5/26 +f 1321/828/63 1333/23+9/63 1332/23+6/23 +f 1328/815/65 134+/231+/65 1339/23+7/6+ +f 1325/82+/66 1337/23++/66 1336/23+8/62 +f 1322/826/68 1334/23+1/68 1333/23+9/63 +f 1329/837/2+ 1341/23+2/2+ 134+/231+/65 +f 1319/832/69 1331/23+3/69 133+/2311/59 +f 1363/2312/276 1375/1332/276 1374/1331/277 +f 1361/2314/278 1362/2313/277 1374/1331/277 +f 1361/2314/278 1373/133+/278 1372/857/55 +f 136+/2315/55 1372/857/55 1371/1329/269 +f 1358/2317/27+ 1359/2316/269 1371/1329/269 +f 1357/2318/271 1358/2317/27+ 137+/856/27+ +f 1356/2319/272 1357/2318/271 1369/1328/271 +f 1355/232+/273 1356/2319/272 1368/1327/272 +f 1354/2321/2+9 1355/232+/273 1367/1326/273 +f 1353/2322/274 1354/2321/2+9 1366/1325/2+9 +f 1352/2323/275 1353/2322/274 1365/1324/274 +f 1352/2323/275 1364/858/275 1375/1332/276 +f 1384/2324/26 1396/2337/126 1395/2325/135 +f 1381/2327/23 1393/2339/128 1392/2328/131 +f 1377/233+/6+ 1389/234+/129 1399/2331/125 +f 1376/2333/2+ 1388/2342/136 139+/2334/133 +f 1385/2336/62 1397/2344/13+ 1396/2337/126 +f 1382/2338/63 1394/2346/132 1393/2339/128 +f 1378/2335/65 139+/2334/133 1389/234+/129 +f 1379/2341/59 1391/2347/127 1388/2342/136 +f 1386/2343/66 1398/2348/134 1397/2344/13+ +f 1383/2345/68 1395/2361/135 1394/2346/132 +f 138+/2329/69 1392/2328/131 1391/2347/127 +f 1387/2332/19 1399/2331/125 1398/2348/134 +f 14+2/2349/147 14+1/2352/138 1422/886/19 +f 14+5/235+/148 14+4/2354/139 1419/867/26 +f 14+8/2351/144 14+7/2355/141 1416/875/23 +f 14+1/2352/138 14++/2356/142 1423/884/6+ +f 1411/2353/146 141+/2357/137 1413/881/2+ +f 14+4/2354/139 14+3/2358/143 142+/865/62 +f 14+7/2355/141 14+6/2359/145 1417/873/63 +f 14++/2356/142 1411/2353/146 1412/883/65 +f 141+/2357/137 14+9/236+/14+ 1414/879/59 +f 14+3/2358/143 14+2/2349/147 1421/862/66 +f 14+6/2359/145 14+5/25+9/148 1418/871/68 +f 14+9/236+/14+ 14+8/2351/144 1415/877/69 +f 1399/2331/125 14+1/2352/138 14+2/2349/147 +f 1389/234+/129 14++/2356/142 14+1/2352/138 +f 139+/2334/133 1411/2353/146 14++/2356/142 +f 139+/2334/133 1388/2342/136 141+/2357/137 +f 1391/2347/127 14+9/236+/14+ 141+/2357/137 +f 1392/2328/131 14+8/2351/144 14+9/236+/14+ +f 1392/2328/131 1393/2339/128 14+7/2355/141 +f 1393/2339/128 1394/2346/132 14+6/2359/145 +f 1395/2361/135 14+5/25+9/148 14+6/2359/145 +f 1396/2337/126 14+4/2354/139 14+5/235+/148 +f 1397/2344/13+ 14+3/2358/143 14+4/2354/139 +f 1397/2344/13+ 1398/2348/134 14+2/2349/147 +f 1432/866/59 1444/2366/59 1443/2362/2+ +f 1429/872/6+ 1441/2367/6+ 144+/2363/19 +f 1424/882/68 1436/2373/68 1447/2364/63 +f 1426/878/62 1438/2368/62 1437/2365/26 +f 1433/864/69 1445/2369/69 1444/2366/59 +f 143+/1342/65 1442/251+/65 1441/2367/6+ +f 1427/876/66 1439/2371/66 1438/2368/62 +f 1434/863/23 1446/2372/23 1445/2369/69 +f 1431/868/2+ 1443/2362/2+ 1442/237+/65 +f 1428/874/19 144+/2363/19 1439/2371/66 +f 1435/885/63 1447/2364/63 1446/2372/23 +f 1425/88+/26 1437/2365/26 1436/2373/68 +f 1469/2374/273 1481/1363/273 148+/1362/2+9 +f 1468/2375/2+9 148+/1362/2+9 1479/1361/274 +f 1467/2376/274 1479/1361/274 1478/9+6/275 +f 1466/2377/275 1478/9+6/275 1477/136+/276 +f 1464/2379/277 1465/2378/276 1477/136+/276 +f 1463/238+/278 1464/2379/277 1476/9+5/277 +f 1462/2381/55 1463/238+/278 1475/1359/278 +f 1461/2382/269 1462/2381/55 1474/1358/55 +f 146+/2383/27+ 1461/2382/269 1473/1357/269 +f 1459/2384/271 146+/2383/27+ 1472/1356/27+ +f 1458/2385/272 1459/2384/271 1471/1355/271 +f 1458/2385/272 147+/9+7/272 1481/1363/273 +f 149+/2386/2+ 15+2/2399/136 15+1/2387/133 +f 1487/2389/19 1499/24+1/125 1498/239+/134 +f 1483/2392/63 1495/24+2/132 15+5/2393/128 +f 1482/2395/26 1494/24+4/126 1496/2396/135 +f 1491/2398/59 15+3/24+6/127 15+2/2399/136 +f 1488/24++/6+ 15++/24+8/129 1499/24+1/125 +f 1484/2397/68 1496/2396/135 1495/24+2/132 +f 1485/24+3/62 1497/24+9/13+ 1494/24+4/126 +f 1492/24+5/69 15+4/241+/131 15+3/24+6/127 +f 1489/24+7/65 15+1/2511/133 15++/24+8/129 +f 1486/2391/66 1498/239+/134 1497/24+9/13+ +f 1493/2394/23 15+5/2393/128 15+4/241+/131 +f 15+8/2411/144 15+7/2414/141 1528/935/23 +f 1511/2412/146 151+/2416/137 1525/916/2+ +f 1514/2413/147 1513/2417/138 1522/924/19 +f 15+7/2414/141 15+6/2418/145 1529/933/63 +f 1517/2415/148 1516/2419/139 1519/93+/26 +f 151+/2416/137 15+9/242+/14+ 1526/914/59 +f 1513/2417/138 1512/2421/142 1523/922/6+ +f 15+6/2418/145 1517/2415/148 1518/932/68 +f 1516/2419/139 1515/2422/143 152+/928/62 +f 15+9/242+/14+ 15+8/2411/144 1527/911/69 +f 1512/2421/142 1511/2423/146 1524/92+/65 +f 1515/2422/143 1514/2413/147 1521/926/66 +f 15+5/2393/128 15+7/2414/141 15+8/2411/144 +f 15+5/2393/128 1495/24+2/132 15+6/2418/145 +f 1496/2396/135 1517/2415/148 15+6/2418/145 +f 1496/2396/135 1494/24+4/126 1516/2419/139 +f 1497/24+9/13+ 1515/2422/143 1516/2419/139 +f 1497/24+9/13+ 1498/239+/134 1514/2413/147 +f 1499/24+1/125 1513/2417/138 1514/2413/147 +f 1499/24+1/125 15++/24+8/129 1512/2421/142 +f 15++/24+8/129 15+1/2511/133 1511/2423/146 +f 15+2/2399/136 151+/2416/137 1511/2412/146 +f 15+3/24+6/127 15+9/242+/14+ 151+/2416/137 +f 15+3/24+6/127 15+4/241+/131 15+8/2411/144 +f 1538/915/62 155+/2428/62 1549/2424/26 +f 1535/921/63 1547/2429/63 1546/2425/23 +f 153+/931/65 1542/2435/65 1553/2426/6+ +f 1532/927/59 1544/243+/59 1543/2427/2+ +f 1539/913/66 1551/2431/66 155+/2428/62 +f 1536/1373/68 1548/2512/68 1547/2429/63 +f 1533/925/69 1545/2433/69 1544/243+/59 +f 154+/912/19 1552/2434/19 1551/2431/66 +f 1537/917/26 1549/2424/26 1548/2432/68 +f 1534/923/23 1546/2425/23 1545/2433/69 +f 1541/934/6+ 1553/2426/6+ 1552/2434/19 +f 1531/929/2+ 1543/2427/2+ 1542/2435/65 +f 1575/2436/278 1587/1394/278 1586/1393/55 +f 1574/2437/55 1586/1393/55 1585/1392/269 +f 1573/2438/269 1585/1392/269 1584/955/27+ +f 1572/2439/27+ 1584/955/27+ 1583/1391/271 +f 1571/244+/271 1583/1391/271 1582/954/272 +f 1569/2442/273 157+/2441/272 1582/954/272 +f 1568/2443/2+9 1569/2442/273 1581/139+/273 +f 1567/2444/274 1568/2443/2+9 158+/1389/2+9 +f 1566/2445/275 1567/2444/274 1579/1388/274 +f 1565/2446/276 1566/2445/275 1578/1387/275 +f 1564/2447/277 1565/2446/276 1577/1386/276 +f 1564/2447/277 1576/956/277 1587/1394/278 diff --git a/src/main/resources/assets/hbm/models/weapons/UAC pistol.obj b/src/main/resources/assets/hbm/models/weapons/UAC pistol.obj deleted file mode 100644 index 0a7aa02dd..000000000 --- a/src/main/resources/assets/hbm/models/weapons/UAC pistol.obj +++ /dev/null @@ -1,9409 +0,0 @@ -# Blender 3.6.1 -# www.blender.org -mtllib UAC pistol.mtl -o bool_obj_bool_obj_data.002 -v -0.395192 7.596701 -3.479156 -v 0.584592 7.596701 -3.479156 -v 0.584592 6.166869 -3.479156 -v -0.395192 6.166869 -3.479156 -v -0.395192 8.736673 -5.713195 -v 0.584592 8.736673 -5.713195 -v -0.395192 9.164925 -5.571519 -v 0.584592 9.164925 -5.571519 -v -0.395192 9.566045 -5.817651 -v 0.584592 9.566045 -5.817651 -v -0.395192 9.328085 -6.240386 -v 0.584592 9.328085 -6.240386 -v -0.395192 8.650138 -6.472074 -v 0.584592 8.650138 -6.472074 -v -0.395192 8.023209 -6.974555 -v 0.584592 8.023209 -6.974555 -v -0.395192 7.262578 -7.039774 -v 0.584592 7.262578 -7.039774 -v -0.395192 7.029797 -6.702054 -v 0.584592 7.029797 -6.702054 -v -0.395192 7.269280 -6.422195 -v 0.584592 7.269280 -6.422195 -v -0.395192 7.572928 -6.422195 -v 0.584592 7.572928 -6.422195 -v -0.395192 8.226030 -6.011785 -v 0.584592 8.226030 -6.011785 -v -0.395192 6.903951 -4.234125 -v 0.584592 6.903951 -4.234125 -v -0.395192 6.148036 -4.191928 -v 0.584592 6.148036 -4.191928 -v -0.395192 7.596701 -3.479156 -v 0.584592 7.596701 -3.479156 -v 0.584592 6.166869 -3.479156 -v -0.395192 6.166869 -3.479156 -v -0.395192 8.736673 -5.713195 -v 0.584592 8.736673 -5.713195 -v -0.395192 9.164925 -5.571519 -v 0.584592 9.164925 -5.571519 -v -0.395192 9.566045 -5.817651 -v 0.584592 9.566045 -5.817651 -v -0.395192 9.328085 -6.240386 -v 0.584592 9.328085 -6.240386 -v -0.395192 8.650138 -6.472074 -v 0.584592 8.650138 -6.472074 -v -0.395192 8.023209 -6.974555 -v 0.584592 8.023209 -6.974555 -v -0.395192 7.262578 -7.039774 -v 0.584592 7.262578 -7.039774 -v -0.395192 7.029797 -6.702054 -v 0.584592 7.029797 -6.702054 -v -0.395192 7.269280 -6.422195 -v 0.584592 7.269280 -6.422195 -v -0.395192 7.572928 -6.422195 -v 0.584592 7.572928 -6.422195 -v -0.395192 8.226030 -6.011785 -v 0.584592 8.226030 -6.011785 -v -0.395192 6.903951 -4.234125 -v 0.584592 6.903951 -4.234125 -v -0.395192 6.148036 -4.191928 -v 0.584592 6.148036 -4.191928 -vn 1.0000 -0.0000 -0.0000 -vn -1.0000 -0.0000 -0.0000 -vn -0.0000 0.5222 0.8528 -vn -0.0000 -0.6977 0.7164 -vn -0.0000 0.3799 0.9250 -vn -0.0000 0.1152 0.9933 -vn -0.0000 0.9679 0.2511 -vn -0.0000 0.6394 -0.7689 -vn -0.0000 0.4816 -0.8764 -vn -0.0000 0.3715 -0.9284 -vn -0.0000 -0.4267 -0.9044 -vn -0.0000 -0.9986 0.0521 -vn -0.0000 -0.4182 0.9083 -vn -0.0000 -0.2769 0.9609 -vn -0.0000 -0.9829 0.1841 -vn -0.0000 -0.4738 -0.8807 -vn -0.0000 -0.7356 -0.6775 -vt 0.382588 0.627146 -vt 0.395485 0.647711 -s 0 -f 22/1/1 20/1/1 18/1/1 -f 17/1/2 21/1/2 23/1/2 -f 25/1/2 15/1/2 23/1/2 -f 16/1/1 26/1/1 24/1/1 -f 14/1/1 6/1/1 26/1/1 -f 13/1/2 25/1/2 5/1/2 -f 5/1/2 11/1/2 13/1/2 -f 12/1/1 6/1/1 14/1/1 -f 7/1/2 9/1/2 11/1/2 -f 12/1/1 10/1/1 8/1/1 -f 6/1/1 28/1/1 26/1/1 -f 28/1/1 3/2/1 30/1/1 -f 27/1/2 5/1/2 25/1/2 -f 27/1/2 4/2/2 1/1/2 -f 16/1/1 24/1/1 18/1/1 -f 24/1/1 22/1/1 18/1/1 -f 23/1/2 15/1/2 17/1/2 -f 17/1/2 19/1/2 21/1/2 -f 25/1/2 13/1/2 15/1/2 -f 16/1/1 14/1/1 26/1/1 -f 5/1/2 7/1/2 11/1/2 -f 12/1/1 8/1/1 6/1/1 -f 6/1/1 2/1/1 28/1/1 -f 28/1/1 2/1/1 3/2/1 -f 27/1/2 1/1/2 5/1/2 -f 27/1/2 29/1/2 4/2/2 -s 1 -f 31/1/3 33/2/4 32/1/3 -f 32/1/3 35/1/5 31/1/3 -f 36/1/5 37/1/6 35/1/5 -f 38/1/6 39/1/7 37/1/6 -f 40/1/7 41/1/8 39/1/7 -f 42/1/8 43/1/9 41/1/8 -f 44/1/9 45/1/10 43/1/9 -f 46/1/10 47/1/11 45/1/10 -f 48/1/11 49/1/12 47/1/11 -f 50/1/12 51/1/13 49/1/12 -f 52/1/13 53/1/14 51/1/13 -f 54/1/14 55/1/15 53/1/14 -f 56/1/15 57/1/16 55/1/15 -f 58/1/16 59/1/17 57/1/16 -f 34/2/4 60/1/17 33/2/4 -f 31/1/3 34/2/4 33/2/4 -f 32/1/3 36/1/5 35/1/5 -f 36/1/5 38/1/6 37/1/6 -f 38/1/6 40/1/7 39/1/7 -f 40/1/7 42/1/8 41/1/8 -f 42/1/8 44/1/9 43/1/9 -f 44/1/9 46/1/10 45/1/10 -f 46/1/10 48/1/11 47/1/11 -f 48/1/11 50/1/12 49/1/12 -f 50/1/12 52/1/13 51/1/13 -f 52/1/13 54/1/14 53/1/14 -f 54/1/14 56/1/15 55/1/15 -f 56/1/15 58/1/16 57/1/16 -f 58/1/16 60/1/17 59/1/17 -f 34/2/4 59/1/17 60/1/17 -o lower_pistol_0 -v 1.709833 6.807342 5.318411 -v 1.709833 6.807342 5.149457 -v 1.965886 6.807342 5.149457 -v 1.363295 6.807342 7.165411 -v 1.363295 6.807342 5.318411 -v 1.882584 6.807342 5.848535 -v 2.253843 6.902664 -4.747439 -v 2.253843 6.534985 -3.056432 -v 1.924818 6.534985 -3.056432 -v 1.924818 6.930664 -2.831019 -v 1.924818 6.534985 -3.056432 -v 2.253843 6.534985 -3.056432 -v 2.253843 6.534985 -3.056432 -v 2.253843 6.902664 -4.747439 -v 2.253843 7.162436 -4.697546 -v 1.924818 6.930664 -2.831019 -v 1.592578 6.930664 -2.831019 -v 1.592578 7.603653 -2.269644 -v 1.592578 6.534985 -3.056432 -v 1.592578 6.902664 -4.747439 -v 1.924818 6.125614 -1.931486 -v 1.592578 6.902664 -4.747439 -v 1.592578 7.162436 -4.697546 -v 2.253843 7.162436 -4.697546 -v 2.253843 7.603653 -2.269644 -v 2.253843 7.371370 -2.466393 -v 1.924818 7.371370 -2.466393 -v 2.253843 7.371370 -2.466393 -v 2.253843 7.603653 -2.269644 -v 2.253843 6.966193 -1.398448 -v 2.253843 7.603653 -2.269644 -v 1.592578 7.603653 -2.269644 -v 1.592578 6.966193 -1.398448 -v 1.592578 7.162436 -4.697546 -v 1.592578 6.902664 -4.747439 -v 1.592578 6.534985 -3.056432 -v 2.253843 6.930664 -2.831019 -v 2.253843 7.162436 -4.697546 -v 1.592578 7.162436 -4.697546 -v 1.924818 7.371370 -2.466393 -v 1.924818 6.726052 -1.549974 -v 1.924818 6.125614 -1.931486 -v 2.253843 6.966193 -1.398448 -v 1.592578 6.966193 -1.398448 -v 1.924818 6.726052 -1.549974 -v 1.709833 7.483092 5.149457 -v 1.709833 6.807342 5.149457 -v 1.709833 7.118924 5.318411 -v 1.363295 7.118924 5.318411 -v 1.363295 6.807342 7.165411 -v 1.363295 7.118924 10.804634 -v 1.363295 6.201985 10.638463 -v 1.363295 6.617642 11.001134 -v 1.363295 7.118924 10.804634 -v 1.882584 7.118924 7.165411 -v 1.363295 7.118924 5.318411 -v 2.249606 7.118924 10.804634 -v 2.249606 7.118924 7.165411 -v 1.709833 7.483090 5.848535 -v 1.709833 7.483090 5.848535 -v 1.882584 7.118924 5.848535 -v 1.965886 7.483090 5.848535 -v 2.249606 7.118924 10.804634 -v 2.249606 6.617642 11.001134 -v 2.249606 6.201985 10.638463 -v 2.249606 7.118924 7.165411 -v 1.363295 6.915578 11.004506 -v 1.363295 6.411725 10.933464 -v 1.709833 7.118924 5.848535 -v 1.709833 7.118924 5.848535 -v 1.882584 6.807342 5.848535 -v 1.965886 6.807342 5.848535 -v 2.249606 6.411725 10.933464 -v 2.249606 6.807342 7.165411 -v 2.249606 6.807342 7.165411 -v 2.249606 6.201985 10.638463 -v 1.363295 6.201985 10.638463 -v 1.363295 6.915578 11.004506 -v 2.249606 6.915578 11.004506 -v 1.363295 6.617642 11.001134 -v 2.249606 6.617642 11.001134 -v 1.363295 6.411725 10.933464 -v 2.249606 6.411725 10.933464 -v 1.882584 6.807342 7.165411 -v 1.709833 7.118924 5.318411 -v 1.363295 6.807342 5.318411 -v 1.363295 7.118924 5.318411 -v 1.709833 7.118924 5.318411 -v 1.709833 6.807342 5.149457 -v 1.709833 7.483092 5.149457 -v 1.965886 7.483092 5.149457 -v 1.965886 7.483092 5.149457 -v 1.709833 7.483092 5.149457 -v 1.709833 7.483090 5.848535 -v 1.965886 6.807342 5.149457 -v 1.965886 7.483092 5.149457 -v 1.965886 7.483090 5.848535 -v 1.882584 6.807342 5.848535 -v 1.882584 7.118924 5.848535 -v 1.882584 7.118924 7.165411 -v 1.882584 6.807342 7.165411 -v 1.882584 7.118924 7.165411 -v 2.249606 7.118924 7.165411 -v 1.363295 6.807342 5.318411 -v 1.882584 7.118924 5.848535 -v 1.709833 6.807342 5.318411 -v 1.709833 7.118924 5.848535 -v 2.249606 6.915578 11.004506 -v 0.741864 8.870750 5.649786 -v 0.685393 8.586851 5.649786 -v 0.685393 8.586853 22.443676 -v -1.051055 4.245723 5.289183 -v -1.051055 4.815591 5.698347 -v -1.582758 4.978196 4.997455 -v -1.051055 0.126899 9.525374 -v -1.051055 0.126897 6.278877 -v -1.051055 -0.223472 3.408138 -v -1.051055 5.194829 19.361946 -v -1.051055 4.834130 12.349441 -v -1.051055 4.834130 19.361946 -v -1.582758 5.194829 5.282278 -v -1.373788 7.218986 19.361946 -v -1.373788 6.342139 19.361946 -v -0.857694 7.218986 19.361946 -v -1.051055 5.194829 19.361946 -v -0.857694 5.453609 19.361946 -v -1.373788 5.534112 19.361946 -v 0.741864 8.870753 22.443676 -v 0.685393 8.586853 22.443676 -v 0.912610 8.492737 22.443676 -v 0.987802 8.870753 22.443676 -v 0.912610 8.492737 22.443676 -v 0.912610 8.492735 5.649786 -v 0.987802 8.870750 5.649786 -v 0.912610 8.492735 5.649786 -v 0.685393 8.586851 5.649786 -v 0.524577 8.346173 5.649786 -v 0.524577 8.346175 22.443676 -v 0.524577 8.346175 22.443676 -v 0.698482 8.172271 22.443676 -v 0.698482 8.172271 22.443676 -v 0.698482 8.172269 5.649786 -v 0.698482 8.172269 5.649786 -v 0.524577 8.346173 5.649786 -v 0.283899 8.185357 5.649786 -v 0.283899 8.185359 22.443676 -v 0.283899 8.185359 22.443676 -v 0.378015 7.958142 22.443676 -v 0.378015 7.958142 22.443676 -v 0.378015 7.958138 5.649786 -v 0.378015 7.958138 5.649786 -v 0.283899 8.185357 5.649786 -v 0.000000 8.128886 5.649786 -v 0.000000 8.128888 22.443676 -v 0.000000 8.128888 22.443676 -v 0.000000 7.882950 22.443676 -v 0.000000 7.882950 22.443676 -v 0.000000 7.882946 5.649786 -v 0.000000 7.882946 5.649786 -v 0.000000 8.128886 5.649786 -v 0.000000 8.128886 5.649786 -v -0.283899 8.185357 5.649786 -v -0.283899 8.185359 22.443676 -v -0.283899 8.185359 22.443676 -v -0.378015 7.958142 22.443676 -v 0.000000 7.882950 22.443676 -v -0.378015 7.958142 22.443676 -v -0.378015 7.958138 5.649786 -v -0.378015 7.958138 5.649786 -v -0.283899 8.185357 5.649786 -v -0.524577 8.346173 5.649786 -v -0.524577 8.346175 22.443676 -v -0.524577 8.346175 22.443676 -v -0.698482 8.172271 22.443676 -v -0.698482 8.172271 22.443676 -v -0.698482 8.172269 5.649786 -v -0.698482 8.172269 5.649786 -v -0.524577 8.346173 5.649786 -v -0.685393 8.586851 5.649786 -v -0.685393 8.586853 22.443676 -v -0.685393 8.586853 22.443676 -v -0.912610 8.492737 22.443676 -v -0.912610 8.492737 22.443676 -v -0.912610 8.492735 5.649786 -v -0.912610 8.492735 5.649786 -v -0.685393 8.586851 5.649786 -v -0.741864 8.870750 5.649786 -v -0.741864 8.870753 22.443676 -v -0.741864 8.870753 22.443676 -v -0.987802 8.870753 22.443676 -v -0.987802 8.870753 22.443676 -v -0.987802 8.870750 5.649786 -v -0.987802 8.870750 5.649786 -v -0.741864 8.870750 5.649786 -v -0.685393 9.154650 5.649786 -v -0.685393 9.154652 22.443676 -v -0.685393 9.154652 22.443676 -v -0.912610 9.248768 22.443676 -v -0.912610 9.248768 22.443676 -v -0.912610 9.248766 5.649786 -v -0.912610 9.248766 5.649786 -v -0.685393 9.154650 5.649786 -v -0.524577 9.395328 5.649786 -v -0.524577 9.395329 22.443676 -v -0.524577 9.395329 22.443676 -v -0.698482 9.569234 22.443676 -v -0.698482 9.569234 22.443676 -v -0.698482 9.569232 5.649784 -v -0.698482 9.569232 5.649784 -v -0.524577 9.395328 5.649786 -v -0.283899 9.556144 5.649784 -v -0.283899 9.556146 22.443676 -v -0.283899 9.556146 22.443676 -v -0.378015 9.783361 22.443676 -v -0.378015 9.783361 22.443676 -v -0.378015 9.783360 5.649784 -v -0.378015 9.783360 5.649784 -v -0.283899 9.556144 5.649784 -v 0.000000 9.612615 5.649784 -v 0.000000 9.612617 22.443676 -v 0.000000 9.612617 22.443676 -v 0.000000 9.858554 22.443676 -v 0.000000 9.858554 22.443676 -v 0.000000 9.858552 5.649784 -v 0.000000 9.858552 5.649784 -v 0.000000 9.612615 5.649784 -v 0.283899 9.556144 5.649784 -v 0.283899 9.556146 22.443676 -v 0.283899 9.556146 22.443676 -v 0.378015 9.783361 22.443676 -v 0.378015 9.783361 22.443676 -v 0.378015 9.783360 5.649784 -v 0.378015 9.783360 5.649784 -v 0.283899 9.556144 5.649784 -v 0.524577 9.395328 5.649786 -v 0.524577 9.395329 22.443676 -v 0.524577 9.395329 22.443676 -v 0.698482 9.569234 22.443676 -v 0.698482 9.569234 22.443676 -v 0.698482 9.569232 5.649784 -v 0.698482 9.569232 5.649784 -v 0.524577 9.395328 5.649786 -v 0.685393 9.154650 5.649786 -v 0.685393 9.154652 22.443676 -v 0.685393 9.154652 22.443676 -v 0.912610 9.248768 22.443676 -v 0.912610 9.248768 22.443676 -v 0.912610 9.248766 5.649786 -v 0.912610 9.248766 5.649786 -v 0.685393 9.154650 5.649786 -v 0.741864 8.870753 22.443676 -v 0.987802 8.870753 22.443676 -v 0.987802 8.870750 5.649786 -v 0.741864 8.870750 5.649786 -v 1.133210 1.741260 4.213062 -v 1.133210 1.619134 4.668841 -v 1.133210 1.560808 4.635167 -v 1.133210 1.285481 5.002494 -v 1.133210 1.251807 4.944168 -v 1.133210 0.829702 5.124619 -v 1.133210 0.829702 5.057271 -v 1.133210 0.373924 5.002494 -v 1.133210 0.407598 4.944168 -v 1.133210 0.040271 4.668841 -v 1.133210 0.098596 4.635167 -v 1.133210 -0.081855 4.213062 -v 1.133210 -0.014506 4.213062 -v 1.133210 0.040271 3.757283 -v 1.133210 0.098596 3.790958 -v 1.133210 0.373924 3.423630 -v 1.133210 0.407598 3.481956 -v 1.133210 0.829702 3.301505 -v 1.133210 0.829702 3.368853 -v 1.133210 1.285481 3.423630 -v 1.133210 1.251807 3.481956 -v 1.133210 1.619134 3.757283 -v 1.133210 1.560808 3.790958 -v 1.133210 1.673911 4.213062 -v 1.133210 1.560808 3.790958 -v 1.133210 1.673911 4.213062 -v 1.469249 1.673911 4.213062 -v 1.020556 1.741260 4.213062 -v 1.020556 1.619134 4.668841 -v 1.133210 1.619134 4.668841 -v 1.469249 1.673911 4.213062 -v 1.469249 1.560808 4.635167 -v 1.469249 0.829702 4.213062 -v 1.133210 1.251807 3.481956 -v 1.469249 1.560808 3.790958 -v 1.020556 1.285481 5.002494 -v 1.133210 1.285481 5.002494 -v 1.469249 1.251807 4.944168 -v 1.133210 0.829702 3.368853 -v 1.469249 1.251807 3.481956 -v 1.020556 0.829702 5.124619 -v 1.133210 0.829702 5.124619 -v 1.469249 0.829702 5.057271 -v 1.133210 0.407598 3.481956 -v 1.133210 0.829702 3.368853 -v 1.469249 0.829702 3.368853 -v 1.020556 0.373924 5.002494 -v 1.133210 0.373924 5.002494 -v 1.469249 0.407598 4.944168 -v 1.133210 0.098596 3.790958 -v 1.469249 0.407598 3.481956 -v 1.020556 0.040271 4.668841 -v 1.133210 0.040271 4.668841 -v 1.469249 0.098596 4.635167 -v 1.133210 -0.014506 4.213062 -v 1.469249 0.098596 3.790958 -v 1.020556 -0.081855 4.213062 -v 1.133210 -0.081855 4.213062 -v 1.469249 -0.014506 4.213062 -v 1.133210 0.098596 4.635167 -v 1.469249 -0.014506 4.213062 -v 1.020556 0.040271 3.757283 -v 1.133210 0.040271 3.757283 -v 1.469249 0.098596 3.790958 -v 1.133210 0.407598 4.944168 -v 1.469249 0.098596 4.635167 -v 1.020556 0.373924 3.423630 -v 1.133210 0.373924 3.423630 -v 1.469249 0.407598 3.481956 -v 1.133210 0.829702 5.057271 -v 1.469249 0.407598 4.944168 -v 1.020556 0.829702 3.301505 -v 1.133210 0.829702 3.301505 -v 1.469249 0.829702 3.368853 -v 1.133210 1.251807 4.944168 -v 1.469249 0.829702 5.057271 -v 1.020556 0.829702 3.301505 -v 1.020556 1.285481 3.423630 -v 1.133210 1.285481 3.423630 -v 1.469249 1.251807 3.481956 -v 1.133210 1.560808 4.635167 -v 1.469249 1.251807 4.944168 -v 1.020556 1.619134 3.757283 -v 1.133210 1.619134 3.757283 -v 1.469249 1.560808 3.790958 -v 1.469249 1.560808 4.635167 -v 1.133210 1.741260 4.213062 -v -2.120367 6.032114 -1.127586 -v -2.168285 6.052625 -0.925915 -v -2.124553 6.332816 -1.081475 -v -1.803483 -8.183756 -0.940652 -v -1.550631 -8.207280 -0.940179 -v -1.803497 2.273637 3.302741 -v -2.107996 4.322828 -0.236828 -v -2.163024 4.259209 -0.066218 -v -2.116467 4.647215 -0.174769 -v -2.168202 1.521683 2.220641 -v -2.172835 -7.439816 -1.372816 -v -2.137654 1.534970 2.385706 -v -1.849792 2.296251 3.228978 -v -1.880736 2.578792 3.289423 -v -1.879857 2.017154 3.056580 -v -1.803508 -5.875546 -4.913877 -v -1.803499 -6.096517 -4.976789 -v -2.130997 -6.177514 -4.485744 -v -1.550631 -5.813593 -4.933241 -v -1.550631 -6.027864 -4.968081 -v -1.839455 4.411472 -0.653382 -v -2.137789 6.702975 -0.434407 -v -1.803504 7.006510 -0.872318 -v -1.803507 7.133335 -0.533684 -v -1.550631 7.026423 -0.881129 -v -1.803483 6.443164 -1.419199 -v -2.176839 -6.680809 -4.296600 -v -2.176541 -6.266698 -4.325727 -v -2.177566 -6.820210 -4.161255 -v -2.121354 -6.703001 -4.498363 -v -2.173862 1.655341 1.737604 -v -1.978566 2.889965 3.247607 -v -1.933436 2.830892 2.688685 -v -2.119590 3.136953 3.088691 -v -1.971355 2.842444 2.231860 -v -2.159245 3.192134 2.951774 -v -2.171134 2.757730 1.304274 -v -2.032148 2.748445 1.721616 -v -2.176745 2.987958 1.594733 -v -2.167308 3.176706 2.349641 -v -1.838198 2.378400 2.963018 -v -1.857113 2.122498 2.578046 -v -2.068853 1.609260 2.541311 -v -1.962750 1.737307 2.831918 -v -1.945670 1.985472 2.045092 -v -2.173443 2.217372 1.117763 -v -2.176554 1.911733 1.296362 -v -2.047754 2.044644 1.547692 -v -1.847373 2.496792 2.548999 -v -1.977065 2.428715 1.644999 -v -1.883795 2.419949 2.091068 -v -2.169390 2.475281 1.132310 -v -2.174314 6.129676 4.109241 -v -2.176527 6.514084 3.866836 -v -2.108078 6.117068 4.317319 -v -2.174668 5.841984 -0.795250 -v -2.179727 5.017104 -0.002164 -v -2.141465 5.765682 -0.955082 -v -2.145445 -6.930309 -4.281384 -v -2.119612 -7.822574 -1.480974 -v -2.176766 -7.604493 -1.548244 -v -2.174624 4.663060 0.053574 -v -2.163947 6.294227 -0.887580 -v -2.176857 6.557230 -0.328894 -v -1.803505 6.986403 4.265716 -v -2.129669 6.678270 3.948848 -v -1.550631 7.011675 4.277203 -v -1.803498 6.146347 4.785964 -v -1.550631 5.888646 4.797830 -v -1.550631 6.141140 4.807180 -v -1.803494 -8.338592 -1.148251 -v -2.121051 -7.647707 -1.285313 -v -1.284940 0.829702 3.740532 -v -1.284940 1.075818 2.934655 -v -1.284940 0.583586 2.934655 -v -1.284940 0.442691 4.456008 -v -1.284940 0.606261 4.619579 -v -1.353546 0.606261 4.619579 -v -1.284940 0.382820 4.232567 -v -1.353546 0.442691 4.456008 -v -1.284940 0.829702 4.679450 -v -1.353546 0.829702 4.679450 -v -1.284940 0.442691 4.009126 -v -1.353546 0.382820 4.232567 -v -1.284940 0.606261 3.845556 -v -1.353546 0.442691 4.009126 -v -1.284940 1.053144 4.619579 -v -1.353546 1.053144 4.619579 -v -1.284940 0.829702 3.785685 -v -1.353546 0.606261 3.845556 -v -1.284940 1.053144 3.845556 -v -1.353546 0.829702 3.785685 -v -1.284940 1.216714 4.456008 -v -1.353546 1.216714 4.456008 -v -1.284940 1.216714 4.009126 -v -1.353546 1.053144 3.845556 -v -1.284940 1.276585 4.232567 -v -1.353546 1.216714 4.009126 -v -1.353546 1.276585 4.232567 -v -1.284940 0.403587 4.478585 -v -1.284940 0.583685 4.658682 -v -1.284940 0.606261 4.619579 -v -1.284940 0.337667 4.232567 -v -1.284940 0.442691 4.456008 -v -1.284940 0.829702 4.724603 -v -1.284940 0.829702 4.679450 -v -1.284940 0.403587 3.986549 -v -1.284940 0.382820 4.232567 -v -1.284940 0.583685 3.806452 -v -1.284940 0.442691 4.009126 -v -1.284940 1.075720 4.658682 -v -1.284940 1.053144 4.619579 -v -1.284940 0.606261 3.845556 -v -1.284940 1.075720 3.806452 -v -1.284940 0.829702 3.785685 -v -1.284940 1.255818 4.478585 -v -1.284940 1.216714 4.456008 -v -1.284940 1.255818 3.986549 -v -1.284940 1.053144 3.845556 -v -1.284940 1.321738 4.232567 -v -1.284940 1.216714 4.009126 -v -1.284940 1.276585 4.232567 -v -1.353546 0.606261 4.619579 -v -1.353546 0.829702 4.232567 -v -1.353546 0.442691 4.456008 -v -1.284940 0.583685 4.658682 -v -1.284940 0.403587 4.478585 -v -0.991334 0.403587 4.478585 -v -1.284940 0.829702 4.724603 -v -0.991334 0.583685 4.658682 -v -1.353546 0.382820 4.232567 -v -1.284940 0.337667 4.232567 -v -0.991334 0.337667 4.232567 -v -1.353546 0.829702 4.679450 -v -1.353546 0.442691 4.009126 -v -1.284940 0.403587 3.986549 -v -0.991334 0.403587 3.986549 -v -1.284940 1.075720 4.658682 -v -0.991334 0.829702 4.724603 -v -1.353546 0.606261 3.845556 -v -1.284940 0.583685 3.806452 -v -0.991334 0.583685 3.806452 -v -1.353546 1.053144 4.619579 -v -1.353546 0.829702 3.785685 -v -1.284940 1.075720 3.806452 -v -0.991334 1.075720 3.806452 -v -0.991334 1.075818 2.934655 -v -1.284940 1.255818 4.478585 -v -0.991334 1.075720 4.658682 -v -1.353546 1.053144 3.845556 -v -1.284940 0.714416 2.803811 -v -1.284940 0.944989 2.803811 -v -0.991334 0.944989 2.803811 -v -1.353546 1.216714 4.456008 -v -1.353546 1.216714 4.009126 -v -1.284940 1.255818 3.986549 -v -0.991334 1.255818 3.986549 -v -1.284940 1.321738 4.232567 -v -0.991334 1.255818 4.478585 -v -1.353546 1.276585 4.232567 -v -0.991334 1.321738 4.232567 -v -1.284940 1.075818 2.934655 -v -1.284940 0.583586 2.934655 -v -0.991334 0.583586 2.934655 -v -1.284940 0.583586 2.934655 -v -1.284940 0.944989 2.803811 -v -1.702916 6.787141 -2.070845 -v -1.702916 6.582519 -2.070845 -v -1.702916 6.727209 -1.926155 -v -1.702916 6.787141 -2.070845 -v -1.702916 6.727209 -1.926155 -v 1.979996 6.727209 -1.926155 -v 1.979996 6.787141 -2.070845 -v 1.979996 6.727209 -1.926155 -v 1.979996 6.582519 -2.070845 -v -1.702916 6.582519 -1.866223 -v -1.702916 6.582519 -1.866223 -v 1.979996 6.582519 -1.866223 -v 1.979996 6.582519 -1.866223 -v -1.702916 6.437829 -1.926155 -v -1.702916 6.437829 -1.926155 -v 1.979996 6.437829 -1.926155 -v 1.979996 6.437829 -1.926155 -v -1.702916 6.377896 -2.070845 -v -1.702916 6.437829 -1.926155 -v -1.702916 6.377896 -2.070845 -v 1.979996 6.377896 -2.070845 -v 1.979996 6.377896 -2.070845 -v -1.702916 6.437829 -2.215535 -v -1.702916 6.437829 -2.215535 -v 1.979996 6.437829 -2.215535 -v 1.979996 6.437829 -2.215535 -v -1.702916 6.582519 -2.275470 -v -1.702916 6.582519 -2.275470 -v 1.979996 6.582519 -2.275470 -v -1.425465 5.714321 12.324278 -v -1.425465 5.534113 12.470450 -v -1.425465 6.342139 12.470448 -v 1.979996 6.582519 -2.275470 -v -1.702916 6.727209 -2.215535 -v -1.373788 5.534112 19.361946 -v -1.702916 6.727209 -2.215535 -v 1.979996 6.727209 -2.215535 -v 1.979996 6.727209 -2.215535 -v -1.425465 5.714321 12.324278 -v -1.425465 6.129150 12.324278 -v -1.582758 6.173633 12.234967 -v -1.425465 5.534113 12.470450 -v -1.582758 5.657323 12.234967 -v 1.979996 6.787141 -2.070845 -v 0.000000 6.215096 -5.421185 -v -1.582758 6.749187 -4.912819 -v 1.582758 6.749187 -4.912819 -v 1.488590 5.921740 -5.685918 -v 0.000000 6.031167 -5.736896 -v -1.582758 5.957942 -5.266879 -v -1.582758 5.870734 -4.399592 -v -1.582758 6.749187 -4.912819 -v 1.582758 5.957942 -5.266879 -v 1.582758 6.154637 -5.365934 -v 1.582758 6.749187 -4.912819 -v 1.582758 5.848899 -5.238699 -v 1.582758 5.870734 -4.399592 -v 0.983988 5.324528 -5.327059 -v -1.425465 6.342139 12.470448 -v -1.582758 6.342139 12.374790 -v -1.582758 5.848899 -5.238699 -v -1.484238 5.789523 -5.649559 -v -0.983988 5.324528 -5.327059 -v 1.488590 5.921740 -5.685918 -v -1.425465 6.342139 12.470448 -v -1.373788 6.342139 19.361946 -v -1.582758 6.342139 18.331852 -v -1.051055 0.805344 10.660654 -v -1.051055 0.446520 11.231197 -v -1.051055 3.374606 10.660654 -v -1.051055 -0.223472 11.574593 -v -1.051055 0.200443 10.158533 -v -0.836559 7.218984 0.486122 -v -1.148529 7.218984 0.843370 -v -1.148529 -7.632975 -5.164886 -v -1.092400 5.576506 -6.393807 -v -1.582758 6.342139 18.331852 -v -1.582758 7.218986 18.331852 -v -1.582758 6.342139 12.374790 -v -1.051055 5.194829 6.202400 -v -1.051055 5.194829 19.361946 -v -1.582758 5.194829 18.331852 -v -1.373788 5.194829 19.361946 -v -0.580398 3.816195 5.489355 -v -0.580398 5.143754 5.307024 -v -0.580398 4.250059 5.891655 -v -1.148529 7.218986 4.965837 -v -1.148529 -8.749960 -1.489983 -v -0.580398 4.410829 6.286258 -v -0.580398 4.410829 8.504850 -v -1.051055 4.410829 9.595867 -v -1.582758 7.218984 -4.804955 -v -0.843982 7.218986 5.409400 -v -1.148529 7.218986 4.965837 -v -0.957142 7.218986 5.409400 -v -1.582758 7.218986 5.409400 -v -1.582758 7.218986 5.409400 -v -1.582758 7.218986 18.331852 -v -0.857694 7.218986 12.938876 -v -1.213076 8.145895 -1.953277 -v -0.692288 8.145895 -1.953277 -v -0.427195 9.430100 -1.953277 -v -0.708688 7.624437 -1.953277 -v -0.397424 7.218984 -1.953277 -v -1.213076 7.624437 -1.953277 -v -1.213076 7.218984 -1.953277 -v -1.213076 7.218984 -1.953277 -v -0.836559 7.218984 0.486122 -v -0.397424 7.218984 -1.953277 -v -0.843982 7.218986 5.409400 -v -0.957142 7.218986 5.409400 -v -0.957142 7.863286 5.710876 -v -1.488590 5.921740 -5.685918 -v -1.582758 6.154637 -5.365934 -v -1.582758 5.957942 -5.266879 -v -1.488590 5.921740 -5.685918 -v 1.582758 5.957942 -5.266879 -v 1.484238 5.789523 -5.649559 -v -1.051055 0.730363 5.438924 -v -1.052369 1.419883 5.161799 -v -1.051770 1.087353 3.958939 -v -1.052369 2.312512 5.048415 -v -1.052369 3.020581 5.130578 -v -1.051055 4.245723 5.289183 -v -1.582758 0.545047 3.068055 -v -1.582758 -0.142682 2.781362 -v -1.051055 -0.223472 3.408138 -v -1.582758 4.606297 4.761065 -v -1.582758 1.087353 3.294126 -v -1.051770 1.087353 3.958939 -v 1.494327 1.329366 3.504859 -v 1.493618 0.998143 3.367662 -v 1.582758 -0.142682 2.781362 -v -1.582758 -2.770208 -4.057409 -v -1.582758 2.997752 -1.677936 -v -1.582758 0.676579 2.788985 -v -1.582758 0.955821 2.788985 -v -1.582758 1.087353 2.951361 -v -1.582758 7.218984 0.532608 -v -0.443586 5.533402 -6.767138 -v -0.528251 5.631948 -6.753191 -v 0.000000 5.631948 -6.801857 -v 1.239158 -6.459404 -6.210184 -v 1.239158 -6.716359 -6.316617 -v 1.239158 -5.908381 -6.182570 -v -1.239158 -6.459404 -6.210184 -v -1.239158 -6.352970 -5.953228 -v -1.239158 -5.908381 -6.182570 -v 1.239158 -7.503078 -5.592237 -v 1.239158 -6.973310 -5.696270 -v 1.239158 -6.751893 -5.355608 -v 1.239158 -7.188475 -6.627295 -v 1.239158 -7.079744 -5.953228 -v 1.239158 -6.352970 -5.953228 -v 1.239158 -6.111135 -5.821548 -v 1.239158 -6.459404 -5.696270 -v 1.239158 -6.353005 -5.417202 -v 1.239158 -6.716359 -5.589839 -v -1.239158 -7.503078 -5.592237 -v -1.239158 -7.079744 -5.953228 -v -1.239158 -7.188475 -6.627295 -v -1.239158 -6.716359 -5.589839 -v -1.239158 -6.973310 -5.696270 -v -1.239158 -6.751893 -5.355608 -v -1.239158 -6.459404 -5.696270 -v -1.239158 -6.353005 -5.417202 -v -1.239158 -6.111135 -5.821548 -v -1.239158 -6.716359 -6.316617 -v 1.239158 -6.973310 -6.210184 -v -1.239158 -6.973310 -6.210184 -v -1.148529 7.218984 0.843370 -v -1.582758 -8.611731 0.338330 -v -1.582758 -7.606416 0.140502 -v -1.539709 -9.237019 0.112446 -v -1.582758 -6.783546 -5.235445 -v -1.582758 -7.547009 -5.447709 -v -1.582758 -6.272799 -5.294005 -v -1.582758 -6.767919 0.122680 -v -1.582758 -5.973763 -5.781600 -v -1.582758 -3.887019 -5.026795 -v 0.000000 5.385467 -6.635780 -v 0.000000 5.533402 -6.815804 -v -0.957142 7.218986 7.609766 -v -1.582758 7.218984 -4.804955 -v -1.213076 7.218984 -4.804955 -v -1.582758 4.316335 -1.880566 -v -1.582758 5.060399 -2.393605 -v -1.213076 9.430100 -1.953277 -v -1.213076 9.430100 -4.335176 -v -1.213076 8.145895 -4.804955 -v -1.582758 5.060399 -2.393605 -v -1.582758 5.705914 -3.303000 -v -0.974568 4.768444 -3.230170 -v -1.113677 5.685021 -6.433600 -v -1.488590 5.921740 -5.685918 -v -1.582758 5.705914 -3.303000 -v -1.582758 7.218984 -4.804955 -v -1.213076 7.218984 -4.804955 -v -0.703050 7.624435 -4.804955 -v -0.702042 8.145895 -4.804955 -v -0.419459 8.845671 -4.804955 -v -1.239158 -7.188475 -6.627295 -v -1.239158 -5.908381 -6.182570 -v -0.974568 -7.096979 -6.928317 -v -1.239158 -5.908381 -6.182570 -v -1.239158 -6.111135 -5.821548 -v -1.582758 -5.973763 -5.781600 -v -1.582758 -7.547009 -5.447709 -v -1.582758 -6.783546 -5.235445 -v -1.239158 -6.751893 -5.355608 -v -1.582758 -6.272799 -5.294005 -v 2.119590 3.136953 3.088691 -v 2.108078 6.117068 4.317319 -v 1.803502 5.931036 4.779142 -v 1.880736 2.578792 3.289423 -v 1.978566 2.889965 3.247607 -v 1.803497 2.273637 3.302741 -v 1.962750 1.737307 2.831918 -v 1.879857 2.017154 3.056580 -v 1.803483 -8.183756 -0.940652 -v 2.068853 1.609260 2.541311 -v 2.137654 1.534970 2.385706 -v 1.803499 -6.096517 -4.976789 -v 2.130997 -6.177514 -4.485744 -v 2.121354 -6.703001 -4.498363 -v 1.550631 -7.022316 -4.915741 -v 1.550631 -6.027864 -4.968081 -v 2.116467 4.647215 -0.174769 -v 2.107996 4.322828 -0.236828 -v 1.839455 4.411472 -0.653382 -v 2.138861 4.925927 -0.212349 -v 1.832909 4.741830 -0.615315 -v 2.141465 5.765682 -0.955082 -v 1.803493 4.979961 -0.698811 -v 2.120367 6.032114 -1.127586 -v 1.803477 5.747915 -1.279529 -v 2.124553 6.332816 -1.081475 -v 1.803468 6.136785 -1.467315 -v 1.803507 7.133335 -0.533684 -v 1.803500 7.103070 4.086895 -v 2.129669 6.678270 3.948848 -v 1.550631 4.920799 -0.676702 -v 1.550631 5.750243 -1.260870 -v 1.550631 6.117420 -1.448277 -v 1.550631 6.431123 -1.427431 -v 1.803483 6.443164 -1.419199 -v 1.550631 4.711940 -0.618973 -v 1.839455 4.411472 -0.653382 -v 2.179727 5.017104 -0.002164 -v 2.174624 4.663060 0.053574 -v 2.119612 -7.822574 -1.480974 -v 2.176766 -7.604493 -1.548244 -v 2.121051 -7.647707 -1.285313 -v 1.803505 -7.014567 -4.882656 -v 2.137789 6.702975 -0.434407 -v 1.550631 4.418573 -0.651555 -v 1.550631 5.888646 4.797830 -v 1.550631 -8.207280 -0.940179 -v 2.163024 4.259209 -0.066218 -v 2.172835 -7.439816 -1.372816 -v 1.803508 -5.875546 -4.913877 -v 1.803504 7.006510 -0.872318 -v 1.550631 7.026423 -0.881129 -v 2.176857 6.557230 -0.328894 -v 2.163947 6.294227 -0.887580 -v 2.176527 6.514084 3.866836 -v 2.168285 6.052625 -0.925915 -v -0.823032 5.400961 -6.289595 -v -1.373788 7.218986 19.361946 -v -0.857694 7.218986 19.361946 -v 1.092400 5.576506 -6.393807 -v 0.443586 5.533402 -6.767138 -v 0.823032 5.400961 -6.289595 -v 0.403942 7.218984 -4.804955 -v 1.213076 7.218984 -4.804955 -v 0.974568 5.132453 -4.066989 -v 1.213076 8.145895 -4.804955 -v 1.213076 8.845671 -4.804955 -v 1.213076 9.430100 -4.335176 -v 0.703050 7.624435 -4.804955 -v 0.708688 7.624437 -1.953277 -v 1.213076 7.624437 -1.953277 -v 1.213076 7.624437 -1.953277 -v 1.213076 7.218984 -1.953277 -v 1.213076 7.218984 -4.804955 -v 0.703050 7.624435 -4.804955 -v 0.702042 8.145895 -4.804955 -v 0.692288 8.145895 -1.953277 -v 0.692288 8.145895 -1.953277 -v 0.702042 8.145895 -4.804955 -v 1.213076 8.145895 -4.804955 -v 1.213076 9.430100 -4.335176 -v 0.450662 9.430100 -4.335176 -v 0.427195 9.430100 -1.953277 -v 1.582758 7.218984 -4.804955 -v 0.528251 5.631948 -6.753191 -v 0.000000 5.631948 -6.801857 -v 1.113677 5.685021 -6.433600 -v 1.582758 6.154637 -5.365934 -v -0.403942 7.218984 -4.804955 -v 1.213076 7.218984 -1.953277 -v 1.582758 7.218984 -4.804955 -v 1.213076 7.218984 -4.804955 -v 0.703050 7.624435 -4.804955 -v 0.419459 8.845671 -4.804955 -v 1.213076 7.624435 -4.804955 -v 1.213076 8.845671 -4.804955 -v 1.213076 8.145895 -4.804955 -v 0.702042 8.145895 -4.804955 -v 0.450662 9.430100 -4.335176 -v 1.213076 9.430100 -4.335176 -v 0.836559 7.218984 0.486122 -v 0.397424 7.218984 -1.953277 -v -1.582758 6.154637 -5.365934 -v 1.582758 2.997752 -1.677936 -v 1.582758 4.606297 4.761065 -v 1.582758 5.060399 -2.393605 -v 1.582758 5.705914 -3.303000 -v 1.582758 7.218984 0.532608 -v 1.582758 4.978196 4.997455 -v 1.582758 7.218986 5.409400 -v 1.582758 6.173633 12.234967 -v 1.582758 5.194829 5.282278 -v 1.582758 5.194829 18.331852 -v 1.582758 5.534113 12.374792 -v 1.582758 4.316335 -1.880566 -v 1.582758 7.218984 -4.804955 -v 1.582758 6.342139 12.374790 -v 1.582758 5.657323 12.234967 -v 1.582758 7.218986 18.331852 -v 1.582758 7.218986 5.409400 -v 0.857694 7.218986 12.938876 -v 1.148529 7.218986 4.965837 -v 0.957142 7.218986 5.409400 -v 0.857694 7.218986 19.361946 -v 1.373788 7.218986 19.361946 -v 0.957142 7.218986 7.609766 -v 1.148529 7.218984 0.843370 -v 0.957142 7.218986 6.277359 -v 0.857694 5.453765 12.938878 -v 0.580191 5.127948 12.938878 -v 0.580398 5.127513 19.361946 -v 0.857694 7.218986 12.938876 -v 0.857694 5.453609 19.361946 -v -1.803494 -8.338592 -1.148251 -v -1.803496 -7.249155 -4.729249 -v -1.550631 -7.254868 -4.756801 -v -1.550631 -8.362582 -1.129570 -v -1.803505 -7.014567 -4.882656 -v -1.803500 7.103070 4.086895 -v -1.550631 7.159328 -0.581058 -v -1.839455 4.411472 -0.653382 -v -1.550631 4.418573 -0.651555 -v -1.803502 5.931036 4.779142 -v -2.138861 4.925927 -0.212349 -v -1.550631 -7.022316 -4.915741 -v -1.832909 4.741830 -0.615315 -v -1.803493 4.979961 -0.698811 -v -1.803477 5.747915 -1.279529 -v -1.803468 6.136785 -1.467315 -v -1.550631 4.920799 -0.676702 -v -1.550631 5.750243 -1.260870 -v -1.550631 6.117420 -1.448277 -v -1.550631 6.431123 -1.427431 -v -1.550631 4.711940 -0.618973 -v 2.168202 1.521683 2.220641 -v 1.849792 2.296251 3.228978 -v 1.550631 -5.813593 -4.933241 -v 2.176839 -6.680809 -4.296600 -v 2.177566 -6.820210 -4.161255 -v 2.145445 -6.930309 -4.281384 -v 2.173862 1.655341 1.737604 -v 1.933436 2.830892 2.688685 -v 1.971355 2.842444 2.231860 -v 2.167308 3.176706 2.349641 -v 2.159245 3.192134 2.951774 -v 2.032148 2.748445 1.721616 -v 2.171134 2.757730 1.304274 -v 2.176745 2.987958 1.594733 -v 1.838198 2.378400 2.963018 -v 1.857113 2.122498 2.578046 -v 1.945670 1.985472 2.045092 -v 2.047754 2.044644 1.547692 -v 2.176554 1.911733 1.296362 -v 2.173443 2.217372 1.117763 -v 1.847373 2.496792 2.548999 -v 1.977065 2.428715 1.644999 -v 1.883795 2.419949 2.091068 -v 2.169390 2.475281 1.132310 -v 2.174314 6.129676 4.109241 -v 2.174668 5.841984 -0.795250 -v 2.176541 -6.266698 -4.325727 -v 1.803505 6.986403 4.265716 -v 1.803498 6.146347 4.785964 -v 1.550631 7.011675 4.277203 -v 1.550631 6.141140 4.807180 -v 1.803494 -8.338592 -1.148251 -v 1.550631 -8.362582 -1.129570 -v 1.803494 -8.338592 -1.148251 -v 1.803496 -7.249155 -4.729249 -v 1.550631 -7.254868 -4.756801 -v 1.550631 7.159328 -0.581058 -v 1.550631 7.128139 4.054966 -v -1.239158 -6.353005 -5.417202 -v -1.113677 5.685021 -6.433600 -v -1.582758 6.173633 12.234967 -v -1.582758 5.657323 12.234967 -v -0.974568 4.193733 -2.693952 -v -1.582758 4.316335 -1.880566 -v -1.582758 5.870734 -4.399592 -v -0.974568 5.132453 -4.066989 -v -0.974568 2.986196 -2.567274 -v -1.582758 2.997752 -1.677936 -v -0.974568 -2.299957 -4.683156 -v -1.582758 -2.770208 -4.057409 -v -0.974568 -3.532902 -5.626941 -v -1.582758 -3.887019 -5.026795 -v -1.582758 -5.973763 -5.781600 -v -0.427195 9.430100 -1.953277 -v -0.397424 7.218984 -1.953277 -v -0.450662 9.430100 -4.335176 -v -0.580398 4.410829 6.286258 -v -0.580398 5.143754 8.504850 -v 0.403942 7.218984 -4.804955 -v -0.580398 3.410161 5.307024 -v 0.397424 7.218984 -1.953277 -v 0.450662 9.430100 -4.335176 -v 0.419459 8.845671 -4.804955 -v -0.857694 5.453765 12.938878 -v -0.857694 5.453609 19.361946 -v -0.580398 5.127513 19.361946 -v -0.857694 7.218986 12.938876 -v -0.857694 7.218986 19.361946 -v -0.957142 7.863286 7.609766 -v -0.957142 7.218986 5.409400 -v -0.957142 7.218986 6.277359 -v -0.957142 7.863286 5.710876 -v -1.213076 8.845671 -4.804955 -v -0.703050 7.624435 -4.804955 -v -1.213076 7.624435 -4.804955 -v -1.213076 7.624437 -1.953277 -v -1.213076 7.624437 -1.953277 -v -1.213076 7.624435 -4.804955 -v -1.213076 7.218984 -4.804955 -v -1.148529 -8.749960 -1.489983 -v -0.843982 -8.845317 -1.176258 -v -1.539709 -9.237019 0.112446 -v -0.703050 7.624435 -4.804955 -v -0.708688 7.624437 -1.953277 -v -0.692288 8.145895 -1.953277 -v -0.580398 3.410161 5.307024 -v -0.580398 3.816195 5.489355 -v -1.051055 3.816077 5.489355 -v -1.051055 4.250059 5.891655 -v -0.580398 4.250059 5.891655 -v -1.051055 4.410829 6.286258 -v -0.692288 8.145895 -1.953277 -v -1.213076 8.145895 -1.953277 -v -1.213076 8.145895 -4.804955 -v -1.052369 3.020581 5.130578 -v -1.582758 5.534112 18.331852 -v -1.582758 5.534113 12.374792 -v -1.582758 5.194829 18.331852 -v -1.051055 3.986081 11.231197 -v -1.213076 9.430100 -4.335176 -v -1.213076 9.430100 -1.953277 -v -0.427195 9.430100 -1.953277 -v -1.051055 4.197898 10.160744 -v -1.051055 4.410829 9.595867 -v -1.051055 5.194829 6.202400 -v -1.051055 4.410829 6.286258 -v -1.051055 4.815591 5.698347 -v -1.051055 4.250059 5.891655 -v 1.051203 0.060934 3.592092 -v 1.051055 -0.223472 3.408138 -v 1.358388 0.595196 3.367662 -v -1.051055 0.491169 10.501270 -v -1.051055 3.846212 10.532600 -v -1.051055 3.816077 5.489355 -v -1.051055 0.303245 5.858099 -v -1.051055 0.145063 11.660562 -v -0.403942 7.218984 -4.804955 -v -0.419459 8.845671 -4.804955 -v -0.580398 5.127513 19.361946 -v -1.213076 7.624435 -4.804955 -v -1.213076 8.845671 -4.804955 -v -1.213076 9.430100 -4.335176 -v -0.528251 5.631948 -6.753191 -v -1.051055 -7.663412 0.798396 -v -1.051055 -6.827383 0.859534 -v -1.051055 -9.408401 0.676295 -v -1.051055 -8.710466 0.929090 -v -0.832096 -2.281892 2.617995 -v -1.051055 -0.223472 3.408138 -v -1.051055 -6.827383 0.859534 -v -0.832096 -3.798709 2.025143 -v -0.832096 -3.666983 2.980051 -v -0.832096 -2.992427 3.243009 -v -1.051055 4.834130 19.361946 -v -1.582758 5.534113 12.374792 -v -1.582758 5.534112 18.331852 -v -1.373788 5.534112 19.361946 -v -1.373788 7.218986 19.361946 -v -1.373788 5.194829 19.361946 -v -0.372438 10.036927 5.890270 -v -0.372438 10.296735 5.890270 -v 0.372438 10.036927 5.890270 -v -0.570611 9.870735 5.890270 -v 0.570611 9.870735 5.890270 -v 0.667251 10.036927 5.890270 -v -0.667251 10.036927 5.890270 -v -0.372438 10.036927 5.890270 -v -0.667251 10.036927 5.890270 -v -0.666265 10.036927 11.908642 -v -1.159394 7.167399 5.890272 -v -1.159394 7.167401 11.908642 -v -1.159394 9.473121 11.908642 -v -1.018901 7.167401 11.908642 -v -1.018901 9.373809 11.908642 -v -1.159394 9.473121 11.908642 -v -1.018901 7.167399 5.890272 -v -1.159394 7.167399 5.890272 -v -1.159394 9.473121 5.890272 -v -0.570611 9.870735 11.908642 -v -0.666265 10.036927 11.908642 -v 1.018901 9.373809 5.890272 -v 1.018901 7.167399 5.890272 -v 1.018901 7.167401 11.908642 -v 1.018901 9.373809 11.908642 -v 0.570611 9.870735 11.908642 -v -0.372438 10.036929 8.085607 -v 0.372438 10.036929 8.085607 -v 0.372438 10.296735 5.890270 -v 1.018901 7.167399 5.890272 -v 1.018901 9.373809 5.890272 -v 1.159394 9.473121 5.890272 -v 0.372438 10.036927 5.890270 -v 0.372438 10.296735 5.890270 -v 0.372438 10.036929 8.085607 -v 0.372438 10.036927 5.890270 -v 0.372438 10.036929 8.085607 -v 0.666265 10.036927 11.908642 -v 1.159394 7.167399 5.890272 -v 1.159394 9.473121 5.890272 -v 1.159394 9.473121 11.908642 -v 1.018901 7.167401 11.908642 -v 1.159394 7.167401 11.908642 -v 1.159394 9.473121 11.908642 -v 0.570611 9.870735 11.908642 -v 1.018901 9.373809 11.908642 -v 0.667251 10.036927 5.890270 -v -1.018901 9.373809 5.890272 -v -1.018901 9.373809 11.908642 -v -1.018901 7.167401 11.908642 -v -0.372438 10.036929 8.085607 -v -0.372438 10.296735 5.890270 -v -0.372438 10.036927 5.890270 -v -0.372438 10.036929 8.085607 -v -0.570611 9.870735 5.890270 -v -0.570611 9.870735 11.908642 -v 0.570611 9.870735 5.890270 -v 0.372438 10.296735 5.890270 -v 1.592578 6.930664 -2.831019 -v 1.924818 6.930664 -2.831019 -v 1.924818 6.930664 -2.831019 -v 2.253843 6.726052 -1.549974 -v 1.592578 6.125614 -1.931486 -v 1.592578 6.966193 -1.398448 -v 1.924818 6.125614 -1.931486 -v 1.592578 6.125614 -1.931486 -v 1.592578 7.603653 -2.269644 -v 1.592578 6.930664 -2.831019 -v 1.924818 6.534985 -3.056432 -v 1.924818 6.726052 -1.549974 -v 1.924818 7.371370 -2.466393 -v 2.253843 7.371370 -2.466393 -v -1.051770 0.545047 3.730687 -v 1.360567 1.614293 3.789785 -v 1.051232 1.834943 4.322482 -v 1.050937 1.614293 3.789785 -v 1.360567 1.614293 3.789785 -v -1.582758 0.676579 2.788985 -v -1.582758 0.545047 3.068055 -v -1.051770 0.545047 2.951361 -v 1.050937 0.595196 3.367662 -v 1.050937 1.614293 3.789785 -v 1.052369 1.419883 5.161799 -v 1.051232 1.834943 4.322482 -v -1.051770 0.545047 3.730687 -v 1.051055 0.126897 6.278877 -v 1.051055 -0.223472 3.408138 -v 1.051055 0.303245 5.858099 -v 1.051232 1.834943 4.322482 -v 1.050937 0.998143 3.367662 -v 1.358388 0.595196 3.367662 -v 1.493618 0.998143 3.367662 -v 1.050937 0.998143 3.367662 -v -1.051770 1.087353 3.958939 -v -1.582758 1.087353 3.294126 -v -1.582758 1.087353 2.951361 -v 1.050937 0.062500 3.588312 -v 1.051055 0.730363 5.438924 -v 1.050937 1.329366 3.504859 -v 1.239158 -6.352970 -5.953228 -v -1.239158 -6.352970 -5.953228 -v -1.239158 -6.459404 -6.210184 -v -1.239158 -6.973310 -6.210184 -v 1.239158 -6.973310 -6.210184 -v 1.239158 -6.716359 -6.316617 -v -1.239158 -7.079744 -5.953228 -v -1.239158 -6.716359 -5.589839 -v 1.239158 -6.716359 -5.589839 -v 1.239158 -6.973310 -5.696270 -v -0.836559 -7.541790 -5.464879 -v -1.148529 -7.632975 -5.164886 -v -1.239158 -7.503078 -5.592237 -v -0.843982 -8.845317 -1.176258 -v -1.582758 -7.547009 -5.447709 -v -0.974568 -7.096979 -6.928317 -v -1.239158 -7.188475 -6.627295 -v -0.857694 5.453765 12.938878 -v 0.857694 5.453765 12.938878 -v 0.857694 7.218986 12.938876 -v -0.580191 5.127948 12.938878 -v 0.580191 5.127948 12.938878 -v 0.427195 9.430100 -1.953277 -v -1.051055 -9.408401 0.676295 -v -0.580191 5.127948 12.938878 -v 0.403942 7.218984 -4.804955 -v 1.239158 -6.459404 -6.210184 -v -1.239158 -6.459404 -5.696270 -v 1.239158 -6.459404 -5.696270 -v 1.239158 -7.079744 -5.953228 -v 1.239158 -6.352970 -5.953228 -v 0.957142 7.218986 5.409400 -v 0.843982 7.218986 5.409400 -v 0.957142 7.863286 5.710876 -v 1.213076 7.624437 -1.953277 -v 0.708688 7.624437 -1.953277 -v 0.397424 7.218984 -1.953277 -v 0.692288 8.145895 -1.953277 -v 0.427195 9.430100 -1.953277 -v 1.213076 8.145895 -1.953277 -v 1.213076 9.430100 -1.953277 -v -0.957142 7.218986 6.277359 -v 1.582758 7.218986 18.331852 -v 0.843982 7.218986 5.409400 -v 1.582758 5.870734 -4.399592 -v 0.580398 4.410829 6.286258 -v 1.051055 4.410829 6.286258 -v 1.051055 4.410829 9.595867 -v -0.580398 4.410829 8.504850 -v -0.580398 5.143754 8.504850 -v 0.580398 5.143754 8.504850 -v 0.580398 5.143754 5.307024 -v 0.580398 3.816195 5.489355 -v 0.580398 4.250059 5.891655 -v 1.582758 5.194829 18.331852 -v 1.373788 5.194829 19.361946 -v 1.051055 5.194829 19.361946 -v 1.051055 5.194829 6.202400 -v 1.582758 5.194829 5.282278 -v 1.582758 6.342139 18.331852 -v 1.051055 4.834130 12.349441 -v -1.051055 4.834130 12.349441 -v -1.051055 3.986081 11.231197 -v -1.051055 4.197898 10.160744 -v 1.051055 -0.223472 11.574593 -v 1.051055 0.126899 9.525374 -v 1.051055 0.200443 10.158533 -v -1.051770 0.545047 2.951361 -v -1.051770 1.087353 2.951361 -v -1.051770 0.955821 2.753111 -v 1.050937 0.062500 3.588312 -v 1.051203 0.060934 3.592092 -v 1.358388 0.595196 3.367662 -v -1.582758 0.955821 2.788985 -v -1.051770 0.955821 2.753111 -v 1.051055 0.446520 11.231197 -v 1.051055 0.805344 10.660654 -v 1.051055 3.374606 10.660654 -v 1.425465 6.342139 12.470448 -v 1.582758 6.342139 12.374790 -v 1.582758 6.342139 18.331852 -v 1.425465 6.129150 12.324278 -v 1.582758 6.173633 12.234967 -v 1.582758 6.342139 12.374790 -v 1.425465 5.534113 12.470450 -v 1.582758 5.534113 12.374792 -v 1.582758 5.657323 12.234967 -v 1.425465 5.714321 12.324278 -v 1.425465 6.342139 12.470448 -v 1.373788 6.342139 19.361946 -v 1.373788 5.534112 19.361946 -v 1.425465 5.714321 12.324278 -v 1.425465 6.129150 12.324278 -v 1.051055 5.194829 19.361946 -v 1.373788 5.194829 19.361946 -v 1.373788 5.534112 19.361946 -v 1.373788 6.342139 19.361946 -v 1.373788 7.218986 19.361946 -v 0.857694 7.218986 19.361946 -v -1.582758 0.676579 2.788985 -v -1.051770 0.676579 2.753111 -v 1.051055 5.194829 6.202400 -v 1.051055 4.815591 5.698347 -v 1.051055 4.834130 12.349441 -v 1.051055 5.194829 19.361946 -v 1.051055 4.834130 19.361946 -v 1.051203 0.060934 3.592092 -v 1.050937 0.062500 3.588312 -v 1.051055 -0.223472 3.408138 -v 1.051055 4.245723 5.289183 -v 1.582758 5.534112 18.331852 -v 1.373788 5.534112 19.361946 -v 1.373788 5.194829 19.361946 -v 1.373788 7.218986 19.361946 -v 1.373788 6.342139 19.361946 -v 1.373788 5.534112 19.361946 -v 1.051055 4.834130 19.361946 -v 0.857694 5.453609 19.361946 -v 0.580398 5.127513 19.361946 -v -1.051055 0.145063 11.660562 -v -1.051055 -0.223472 11.574593 -v 1.051055 -0.223472 11.574593 -v 1.494327 1.329366 3.504859 -v 1.051055 -0.223472 11.574593 -v -1.051055 -0.223472 11.574593 -v -1.051055 -0.223472 3.408138 -v -1.051055 0.446520 11.231197 -v -1.051055 0.145063 11.660562 -v 1.051055 0.145063 11.660562 -v 1.051055 0.446520 11.231197 -v -1.051055 4.834130 19.361946 -v -0.832096 -2.992427 3.243009 -v 0.832096 -2.992427 3.243009 -v 0.832096 -2.281892 2.617995 -v -0.832096 -3.666983 2.980051 -v 0.832096 -3.666983 2.980051 -v 0.832096 -2.992427 3.243009 -v 0.832096 -3.798709 2.025143 -v 0.832096 -2.281892 2.617995 -v 0.832096 -2.992427 3.243009 -v -0.832096 -3.798709 2.025143 -v 0.832096 -3.798709 2.025143 -v 0.832096 -3.666983 2.980051 -v 1.051055 -0.223472 3.408138 -v 1.051055 -6.827383 0.859534 -v 1.582758 -6.767919 0.122680 -v 1.582758 -7.606416 0.140502 -v 1.051055 -7.663412 0.798396 -v 1.051055 -8.710466 0.929090 -v 0.832096 -2.281892 2.617995 -v 0.832096 -3.798709 2.025143 -v 1.051055 -6.827383 0.859534 -v 1.051055 -9.408401 0.676295 -v 1.539709 -9.237019 0.112446 -v 1.582758 -8.611731 0.338330 -v 1.051055 -7.663412 0.798396 -v -1.051055 -7.663412 0.798396 -v -1.051055 -8.710466 0.929090 -v -0.832096 -3.798709 2.025143 -v -1.051055 -9.408401 0.676295 -v 1.051055 -9.408401 0.676295 -v 1.051055 -8.710466 0.929090 -v -0.403942 7.218984 -4.804955 -v 1.051055 0.491169 10.501270 -v 1.051055 0.145063 11.660562 -v 1.051055 4.245723 5.289183 -v 1.052369 3.020581 5.130578 -v 1.052369 2.312512 5.048415 -v 1.051055 3.816077 5.489355 -v 1.051055 4.250059 5.891655 -v 1.051055 4.410829 6.286258 -v 1.051055 4.815591 5.698347 -v 1.051055 5.194829 6.202400 -v 1.051055 4.410829 9.595867 -v 1.051055 4.197898 10.160744 -v 1.051055 3.986081 11.231197 -v 1.051055 3.846212 10.532600 -v 1.050937 1.329366 3.504859 -v -1.052369 3.020581 5.130578 -v -1.052369 2.312512 5.048415 -v 1.052369 2.312512 5.048415 -v 1.052369 3.020581 5.130578 -v 1.051055 3.816077 5.489355 -v 0.580398 3.410161 5.307024 -v 0.580398 4.250059 5.891655 -v 1.051055 4.250059 5.891655 -v 0.580398 3.816195 5.489355 -v -1.051055 0.126899 9.525374 -v -1.051055 0.200443 10.158533 -v 1.051055 0.200443 10.158533 -v -1.051055 0.491169 10.501270 -v 1.051055 0.491169 10.501270 -v -1.051055 0.126897 6.278877 -v 1.051055 0.126899 9.525374 -v -1.051055 0.805344 10.660654 -v 1.051055 0.805344 10.660654 -v -1.051055 0.303245 5.858099 -v 1.051055 0.126897 6.278877 -v -1.051055 3.374606 10.660654 -v 1.051055 3.374606 10.660654 -v -1.051055 0.730363 5.438924 -v 1.051055 0.303245 5.858099 -v -1.051055 3.846212 10.532600 -v 1.051055 3.846212 10.532600 -v -1.052369 1.419883 5.161799 -v 1.051055 0.730363 5.438924 -v 1.051055 4.197898 10.160744 -v 1.052369 1.419883 5.161799 -v 0.580398 5.143754 5.307024 -v -0.580398 5.143754 5.307024 -v -0.580398 3.410161 5.307024 -v 0.580398 3.410161 5.307024 -v 0.580398 4.410829 6.286258 -v 0.580398 5.143754 8.504850 -v -0.580398 5.143754 8.504850 -v -0.580398 5.143754 5.307024 -v 0.580398 4.410829 8.504850 -v 0.580398 5.143754 8.504850 -v 0.580398 4.410829 8.504850 -v 1.582758 -3.887019 -5.026795 -v 1.582758 -5.973763 -5.781600 -v 1.239158 -5.908381 -6.182570 -v 0.974568 -7.096979 -6.928317 -v 0.974568 -3.532902 -5.626941 -v 0.974568 -2.299957 -4.683156 -v 1.582758 -2.770208 -4.057409 -v 0.974568 2.986196 -2.567274 -v 1.582758 2.997752 -1.677936 -v 0.974568 4.768444 -3.230170 -v 1.582758 5.705914 -3.303000 -v 0.974568 4.193733 -2.693952 -v 1.582758 4.316335 -1.880566 -v 1.582758 5.060399 -2.393605 -v 1.113677 5.685021 -6.433600 -v 1.488590 5.921740 -5.685918 -v 0.528251 5.631948 -6.753191 -v 1.239158 -6.353005 -5.417202 -v 1.582758 -6.272799 -5.294005 -v 1.582758 -6.783546 -5.235445 -v 1.239158 -6.111135 -5.821548 -v 1.582758 -7.547009 -5.447709 -v 1.239158 -7.503078 -5.592237 -v 1.239158 -6.751893 -5.355608 -v 1.239158 -5.908381 -6.182570 -v 1.582758 -5.973763 -5.781600 -v 1.239158 -7.188475 -6.627295 -v 1.213076 9.430100 -1.953277 -v 1.213076 8.145895 -1.953277 -v 1.582758 -2.770208 -4.057409 -v 1.582758 -3.887019 -5.026795 -v 1.582758 -6.272799 -5.294005 -v 1.582758 -5.973763 -5.781600 -v 1.582758 -6.783546 -5.235445 -v 1.582758 -7.547009 -5.447709 -v 1.582758 -7.547009 -5.447709 -v 1.148529 -7.632975 -5.164886 -v 1.239158 -7.503078 -5.592237 -v 0.836559 -7.541790 -5.464879 -v 0.974568 -7.096979 -6.928317 -v 1.239158 -7.188475 -6.627295 -v 1.539709 -9.237019 0.112446 -v 1.051055 -9.408401 0.676295 -v 0.843982 -8.845317 -1.176258 -v 0.843982 -8.845317 -1.176258 -v 0.843982 7.218986 5.409400 -v 1.148529 7.218986 4.965837 -v 1.148529 7.218984 0.843370 -v 1.148529 -7.632975 -5.164886 -v 0.836559 7.218984 0.486122 -v 0.836559 -7.541790 -5.464879 -v 1.148529 -7.632975 -5.164886 -v -0.836559 -7.541790 -5.464879 -v -0.843982 7.218986 5.409400 -v 1.148529 -8.749960 -1.489983 -v 0.957142 7.863286 7.609766 -v -0.957142 7.863286 7.609766 -v -0.957142 7.218986 7.609766 -v 0.957142 7.218986 5.409400 -v 0.957142 7.863286 5.710876 -v 0.957142 7.863286 7.609766 -v -0.957142 7.863286 7.609766 -v 0.957142 7.863286 7.609766 -v 0.957142 7.863286 5.710876 -v 0.957142 7.218986 7.609766 -v 0.957142 7.218986 6.277359 -v 2.253843 6.930664 -2.831019 -v 2.253843 6.930664 -2.831019 -v 1.592578 6.125614 -1.931486 -v 2.253843 6.902664 -4.747439 -v 2.253843 6.726052 -1.549974 -v 2.253843 6.966193 -1.398448 -v 1.709833 6.807342 5.318411 -v 1.965886 6.807342 5.149457 -v 1.965886 7.483090 5.848535 -v 1.965886 6.807342 5.848535 -v 1.882584 6.807342 7.165411 -v 2.249606 6.807342 7.165411 -v -1.051055 5.194829 6.202400 -v -1.373788 5.194829 19.361946 -v 0.000000 8.128888 22.443676 -v 0.000000 7.882946 5.649786 -v 1.469249 0.829702 3.368853 -v 1.133210 0.829702 3.301505 -v -0.991334 0.714416 2.803811 -v -0.991334 0.583586 2.934655 -v -1.284940 0.714416 2.803811 -v 1.979996 6.437829 -1.926155 -v -1.425465 6.129150 12.324278 -v -1.373788 6.342139 19.361946 -v -1.582758 6.342139 12.374790 -v -1.582758 5.194829 5.282278 -v -1.213076 9.430100 -1.953277 -v -1.051770 0.545047 3.730687 -v -1.213076 8.145895 -1.953277 -v -1.239158 -7.503078 -5.592237 -v 1.213076 7.624435 -4.804955 -v 1.213076 7.624435 -4.804955 -v 0.708688 7.624437 -1.953277 -v 1.213076 8.145895 -1.953277 -v 1.213076 9.430100 -1.953277 -v 0.857694 7.218986 19.361946 -v -1.550631 -8.362582 -1.129570 -v -1.550631 7.128139 4.054966 -v 1.550631 -8.362582 -1.129570 -v -0.580398 4.410829 8.504850 -v -0.957142 7.218986 7.609766 -v -0.708688 7.624437 -1.953277 -v -1.213076 7.218984 -1.953277 -v -0.702042 8.145895 -4.804955 -v -0.702042 8.145895 -4.804955 -v -0.450662 9.430100 -4.335176 -v -1.213076 8.145895 -4.804955 -v -0.450662 9.430100 -4.335176 -v -0.832096 -2.281892 2.617995 -v -1.373788 6.342139 19.361946 -v -1.373788 5.534112 19.361946 -v -1.159394 9.473121 5.890272 -v -1.159394 7.167401 11.908642 -v -1.018901 9.373809 5.890272 -v -0.372438 10.296735 5.890270 -v 1.159394 7.167399 5.890272 -v 1.159394 7.167401 11.908642 -v 0.666265 10.036927 11.908642 -v -1.018901 7.167399 5.890272 -v 2.253843 6.726052 -1.549974 -v -1.051770 0.676579 2.753111 -v 1.050937 0.595196 3.367662 -v -1.051770 1.087353 2.951361 -v -1.239158 -6.716359 -6.316617 -v -1.239158 -6.973310 -5.696270 -v -0.857694 7.218986 12.938876 -v -1.239158 -6.352970 -5.953228 -v 1.213076 7.218984 -1.953277 -v 0.580398 4.410829 8.504850 -v 1.051055 3.986081 11.231197 -v -1.051770 0.676579 2.753111 -v 1.050937 0.062500 3.588312 -v 1.373788 6.342139 19.361946 -v 1.425465 6.342139 12.470448 -v 1.425465 5.534113 12.470450 -v 1.582758 5.534112 18.331852 -v 1.051055 0.145063 11.660562 -v 1.051055 -0.223472 3.408138 -v 1.051055 4.834130 19.361946 -v -0.832096 -2.281892 2.617995 -v -0.832096 -2.992427 3.243009 -v 0.832096 -3.666983 2.980051 -v -0.832096 -3.666983 2.980051 -v 1.052369 3.020581 5.130578 -v 0.580398 3.410161 5.307024 -v 0.580398 5.143754 5.307024 -v 1.148529 -8.749960 -1.489983 -v 1.148529 7.218984 0.843370 -v 0.957142 7.218986 7.609766 -v -0.957142 7.863286 5.710876 -v 1.965886 6.807342 5.848535 -vn -0.0000 -1.0000 -0.0000 -vn -0.0000 -0.9983 -0.0575 -vn -0.0000 -0.9772 -0.2125 -vn -0.0000 -0.9666 -0.2562 -vn -0.0000 -0.4950 0.8689 -vn 1.0000 -0.0000 -0.0000 -vn -0.0053 0.6390 -0.7692 -vn -0.0000 0.6406 -0.7679 -vn -0.0035 0.6415 -0.7671 -vn -0.0000 -0.9606 -0.2778 -vn -0.0000 -0.9397 -0.3420 -vn -0.0000 0.1886 -0.9821 -vn -0.0000 0.6463 -0.7631 -vn -0.0036 0.6433 -0.7656 -vn -0.0000 0.8070 0.5905 -vn -1.0000 -0.0000 -0.0000 -vn -0.0000 0.9924 0.1232 -vn -0.0000 -0.5336 0.8457 -vn -0.0011 -0.5347 0.8451 -vn -0.0008 -0.5346 0.8451 -vn 0.0002 0.9819 0.1892 -vn -0.0000 1.0000 -0.0000 -vn -0.0000 0.8598 0.5106 -vn -0.0000 -0.0000 1.0000 -vn -0.0000 -0.9851 -0.1717 -vn -0.0000 -0.9356 0.3532 -vn -0.0000 -0.9999 0.0171 -vn -0.0000 0.3735 0.9276 -vn -0.0000 -0.2142 0.9768 -vn -0.0000 -0.1128 0.9936 -vn -0.0000 -0.6774 0.7356 -vn -0.0000 -0.5021 0.8648 -vn -0.0000 -0.9934 -0.1149 -vn -0.0000 -0.0000 -1.0000 -vn -0.9978 0.0662 -0.0000 -vn -0.8965 0.4430 -0.0000 -vn -0.9472 0.3207 -0.0000 -vn -0.9575 -0.1451 0.2492 -vn -0.9344 -0.2629 0.2404 -vn -0.9389 -0.2242 0.2612 -vn -0.8781 -0.1764 0.4448 -vn -0.9776 -0.1677 0.1269 -vn 0.9978 -0.0662 -0.0000 -vn 0.8965 -0.4430 -0.0000 -vn 0.9472 -0.3207 -0.0000 -vn -0.6588 0.7523 -0.0000 -vn -0.7523 0.6588 -0.0000 -vn 0.6588 -0.7523 -0.0000 -vn 0.7523 -0.6588 -0.0000 -vn -0.3207 0.9472 -0.0001 -vn -0.4430 0.8965 -0.0001 -vn 0.3207 -0.9472 -0.0000 -vn 0.4430 -0.8965 -0.0000 -vn 0.0662 0.9978 -0.0000 -vn -0.0661 0.9978 -0.0000 -vn -0.0662 -0.9978 -0.0000 -vn 0.0661 -0.9978 -0.0000 -vn 0.0661 0.9978 -0.0000 -vn 0.4430 0.8965 -0.0000 -vn 0.3207 0.9472 -0.0000 -vn -0.0661 -0.9978 -0.0000 -vn -0.4430 -0.8965 -0.0000 -vn -0.3207 -0.9472 -0.0000 -vn 0.7523 0.6588 -0.0000 -vn 0.6588 0.7523 -0.0000 -vn -0.7523 -0.6588 -0.0000 -vn -0.6588 -0.7523 -0.0000 -vn 0.9472 0.3207 -0.0000 -vn 0.8965 0.4430 -0.0001 -vn -0.9472 -0.3207 -0.0000 -vn -0.8965 -0.4430 -0.0000 -vn 0.9978 0.0662 -0.0000 -vn -0.9978 -0.0662 -0.0000 -vn 0.8965 -0.4430 0.0001 -vn -0.3207 0.9472 -0.0000 -vn -0.4430 0.8965 -0.0000 -vn 0.0662 -0.9978 -0.0000 -vn -0.0662 0.9978 -0.0000 -vn -0.4430 -0.8965 0.0001 -vn -0.3207 -0.9472 0.0001 -vn 0.8965 0.4430 -0.0000 -vn -0.0000 0.9071 -0.4210 -vn -0.0000 0.9960 0.0890 -vn -0.0000 0.9960 -0.0890 -vn -0.0000 0.9960 0.0889 -vn -0.0000 0.8181 0.5750 -vn -0.0000 0.9071 0.4210 -vn -0.0000 0.5751 -0.8181 -vn -0.0000 0.8181 -0.5751 -vn -0.0000 0.4210 0.9071 -vn -0.0000 0.5750 0.8181 -vn -0.0000 0.0890 -0.9960 -vn -0.0000 0.4210 -0.9071 -vn -0.0000 -0.0889 0.9960 -vn -0.0000 0.0889 0.9960 -vn -0.0000 -0.4210 -0.9071 -vn -0.0000 0.0889 -0.9960 -vn -0.0000 -0.0890 -0.9960 -vn -0.0000 -0.5750 0.8181 -vn -0.0000 -0.4210 0.9071 -vn -0.0000 -0.8181 -0.5751 -vn -0.0000 -0.5751 -0.8181 -vn -0.0000 -0.9071 0.4210 -vn -0.0000 -0.8181 0.5750 -vn -0.0000 -0.9960 -0.0890 -vn -0.0000 -0.9071 -0.4210 -vn -0.0000 -0.9960 -0.0889 -vn -0.0000 -0.9960 0.0889 -vn -0.0000 -0.9960 0.0890 -vn -0.0000 -0.8181 -0.5750 -vn -0.0000 -0.5751 0.8181 -vn -0.0000 -0.8181 0.5751 -vn -0.0000 -0.5750 -0.8181 -vn -0.0000 -0.0890 0.9960 -vn -0.0000 0.0890 0.9960 -vn -0.0000 0.5750 -0.8181 -vn -0.0000 0.8181 0.5751 -vn -0.0000 0.5751 0.8181 -vn -0.0000 0.8181 -0.5750 -vn -0.0000 0.9960 -0.0889 -vn -0.8737 -0.1315 -0.4684 -vn -0.9862 -0.0041 -0.1656 -vn -0.8872 0.2205 -0.4054 -vn -0.7168 -0.3702 0.5909 -vn -0.0822 -0.6000 0.7957 -vn -0.6767 -0.2422 0.6953 -vn -0.9125 0.1216 -0.3905 -vn -0.9940 0.0221 -0.1068 -vn -0.9139 -0.0027 -0.4059 -vn -0.9673 0.2232 0.1202 -vn -0.9954 -0.0433 0.0853 -vn -0.9560 0.1006 0.2757 -vn -0.9685 -0.0991 0.2284 -vn -0.9504 -0.2074 0.2318 -vn -0.9883 0.1182 0.0969 -vn -0.4530 0.2801 -0.8464 -vn -0.4864 0.0390 -0.8729 -vn -0.9142 0.0704 -0.3992 -vn -0.1396 0.2721 -0.9521 -vn -0.0360 0.1283 -0.9911 -vn -0.8460 0.1204 -0.5194 -vn -0.9076 0.3995 -0.1294 -vn -0.4854 0.7468 -0.4545 -vn -0.5755 0.8091 -0.1186 -vn -0.0534 0.7747 -0.6301 -vn -0.3445 0.4756 -0.8094 -vn -0.9779 -0.0642 -0.1992 -vn -0.9947 0.0245 -0.0996 -vn -0.9931 -0.0834 -0.0820 -vn -0.9058 -0.1444 -0.3984 -vn -0.9566 0.2613 0.1289 -vn -0.9201 -0.3126 0.2362 -vn -0.9313 -0.3635 0.0218 -vn -0.9227 -0.2852 0.2592 -vn -0.9128 -0.3909 0.1182 -vn -0.9312 -0.3570 0.0740 -vn -0.9684 -0.1692 0.1830 -vn -0.9038 -0.3696 0.2156 -vn -0.9809 -0.1776 0.0789 -vn -0.9786 -0.2002 0.0480 -vn -0.9987 -0.0475 -0.0201 -vn -0.9688 0.2308 0.0903 -vn -0.9376 0.0952 0.3344 -vn -0.9649 0.1135 0.2367 -vn -0.9495 0.2763 0.1486 -vn -0.9832 0.0556 0.1736 -vn -0.9844 0.1276 0.1212 -vn -0.9290 0.2500 0.2729 -vn -0.9956 -0.0665 0.0653 -vn -0.9625 -0.0724 0.2614 -vn -0.9851 -0.1084 0.1335 -vn -0.9833 -0.0502 0.1751 -vn -0.9846 -0.0087 0.1745 -vn -0.9900 0.1007 0.0988 -vn -0.8989 0.0907 0.4287 -vn -0.9942 -0.0403 -0.1002 -vn -0.9968 -0.0448 -0.0663 -vn -0.8695 -0.2858 -0.4029 -vn -0.9335 -0.3023 -0.1926 -vn -0.9089 -0.4170 0.0072 -vn -0.9846 -0.1696 0.0430 -vn -0.9932 -0.0221 -0.1146 -vn -0.9900 0.0999 -0.0998 -vn -0.9920 0.1239 -0.0234 -vn -0.5747 0.5494 0.6065 -vn -0.8998 0.4026 0.1680 -vn -0.0745 0.7122 0.6980 -vn -0.3706 0.2403 0.8972 -vn -0.0963 -0.2070 0.9736 -vn -0.0758 0.2517 0.9648 -vn -0.6409 -0.7662 -0.0458 -vn -0.9298 -0.2330 0.2848 -vn -0.0000 -0.5750 0.8182 -vn -0.0000 -0.5750 -0.8182 -vn -0.0000 -0.8182 -0.5750 -vn -0.0000 0.5750 0.8182 -vn -0.0000 -0.0889 -0.9960 -vn -0.0000 -0.9239 -0.3826 -vn -0.0000 0.9239 -0.3826 -vn -0.0001 0.9675 -0.2527 -vn -0.0000 -0.3827 -0.9239 -vn -0.0000 0.3827 -0.9239 -vn -0.0000 0.8629 -0.5054 -vn -0.0000 -0.9676 -0.2526 -vn -0.0000 -0.8629 -0.5054 -vn 0.0002 -0.9676 -0.2526 -vn -0.0000 0.9906 0.1368 -vn -0.0000 0.6038 0.7972 -vn -0.0000 0.7972 0.6038 -vn -0.0000 -0.1368 0.9906 -vn -0.0000 0.1368 0.9906 -vn -0.0000 -0.7972 0.6037 -vn -0.0000 -0.6038 0.7972 -vn -0.0000 -0.7972 0.6038 -vn -0.0000 -0.9906 -0.1368 -vn -0.0000 -0.9906 0.1368 -vn -0.0000 -0.6038 -0.7972 -vn -0.0000 -0.7972 -0.6038 -vn -0.0000 0.1368 -0.9906 -vn -0.0000 -0.1368 -0.9906 -vn -1.0000 -0.0000 0.0037 -vn -1.0000 -0.0000 0.0075 -vn -0.0000 0.7972 -0.6038 -vn -0.0000 0.6038 -0.7972 -vn -0.5344 0.1812 0.8256 -vn -0.5073 -0.3627 0.7818 -vn -0.5247 -0.1884 0.8302 -vn -0.3422 0.8174 0.4635 -vn -0.5018 0.4301 0.7505 -vn -0.0000 0.9906 -0.1368 -vn 0.0138 0.7488 -0.6626 -vn -0.0105 0.4047 -0.9144 -vn 0.0087 0.3748 -0.9271 -vn 0.0713 0.8730 -0.4825 -vn -0.0055 0.9136 -0.4067 -vn -0.9958 -0.0324 -0.0853 -vn -0.9474 -0.3190 -0.0268 -vn 0.9932 -0.0426 -0.1083 -vn 0.9930 -0.0531 -0.1054 -vn 0.9015 -0.4270 -0.0701 -vn 0.9474 -0.3190 -0.0268 -vn 0.4260 -0.8999 -0.0934 -vn -0.4482 -0.5058 0.7370 -vn -0.4877 -0.5255 0.6971 -vn -0.9280 -0.3587 -0.1012 -vn -0.8534 -0.4727 -0.2197 -vn -0.4260 -0.8989 -0.1030 -vn 0.9394 -0.1625 -0.3019 -vn 0.5145 -0.3209 0.7952 -vn 0.9295 -0.1383 0.3419 -vn 0.9268 -0.1407 0.3483 -vn -0.6818 -0.5955 -0.4249 -vn -0.9911 -0.0000 0.1331 -vn -0.9978 -0.0000 0.0666 -vn 0.9404 0.1281 -0.3149 -vn 0.9304 0.1374 -0.3398 -vn -0.0000 -0.9918 0.1279 -vn -0.0000 -0.9960 -0.0893 -vn 0.1721 0.4024 -0.8991 -vn -0.0000 0.4238 -0.9058 -vn -0.9476 -0.1416 -0.2864 -vn -0.9930 -0.0531 -0.1054 -vn -0.9476 -0.1416 -0.2865 -vn 0.8934 -0.3903 -0.2225 -vn -1.0000 -0.0006 0.0001 -vn -1.0000 -0.0010 -0.0002 -vn -0.9886 -0.0584 0.1389 -vn -1.0000 -0.0000 -0.0006 -vn -1.0000 0.0008 -0.0006 -vn -0.8859 -0.1792 0.4279 -vn -0.9569 -0.1081 0.2694 -vn -0.9391 -0.1502 0.3090 -vn -0.9371 -0.1343 0.3223 -vn 0.4203 -0.4751 0.7730 -vn 0.3339 -0.2816 0.8996 -vn 0.8896 -0.1729 0.4226 -vn -0.9473 0.1523 -0.2819 -vn -0.9802 0.0091 -0.1979 -vn -0.2835 -0.4795 -0.8305 -vn -0.2965 -0.1206 -0.9474 -vn -0.0364 0.1142 -0.9928 -vn 0.9363 0.1191 -0.3304 -vn -0.9363 0.1191 -0.3304 -vn 0.9910 0.0439 -0.1265 -vn -0.9910 0.0439 -0.1265 -vn -0.8724 -0.1036 0.4777 -vn -0.9603 0.0267 0.2778 -vn -0.9801 -0.1117 0.1641 -vn -0.9999 -0.0132 -0.0001 -vn -0.9719 -0.0333 0.2329 -vn -0.9376 0.1183 -0.3271 -vn -0.9212 0.1912 -0.3389 -vn -0.0000 -0.9072 -0.4206 -vn 0.0208 -0.2762 -0.9609 -vn -0.0000 0.2238 -0.9746 -vn -0.0000 0.1500 -0.9887 -vn -0.9257 -0.1856 -0.3295 -vn -0.9477 -0.2262 -0.2251 -vn -0.9436 -0.3063 -0.1256 -vn -0.5812 -0.6406 -0.5019 -vn -0.0856 0.9400 -0.3303 -vn -0.0807 0.8763 -0.4749 -vn 0.0006 0.2651 -0.9642 -vn -0.9910 0.0440 -0.1265 -vn -0.9363 0.1191 -0.3303 -vn -0.4139 0.3096 -0.8560 -vn -0.3758 -0.8080 -0.4538 -vn -0.3691 -0.8001 -0.4728 -vn -0.3743 -0.7996 -0.4696 -vn -0.3715 0.2637 -0.8902 -vn -0.3430 0.0002 -0.9393 -vn -0.3595 0.1300 -0.9240 -vn -0.3937 -0.6141 -0.6841 -vn 0.9227 -0.2852 0.2592 -vn 0.8989 0.0907 0.4287 -vn 0.6998 -0.1880 0.6892 -vn 0.9504 -0.2074 0.2318 -vn 0.9201 -0.3126 0.2362 -vn 0.6767 -0.2422 0.6953 -vn 0.9649 0.1135 0.2367 -vn 0.9883 0.1182 0.0969 -vn 0.7168 -0.3702 0.5909 -vn 0.9376 0.0952 0.3344 -vn 0.9560 0.1006 0.2757 -vn 0.4864 0.0390 -0.8729 -vn 0.9142 0.0704 -0.3992 -vn 0.9058 -0.1444 -0.3984 -vn 0.0717 -0.2461 -0.9666 -vn 0.0360 0.1283 -0.9911 -vn 0.9139 -0.0027 -0.4059 -vn 0.9125 0.1216 -0.3905 -vn 0.8460 0.1204 -0.5194 -vn 0.9083 -0.1711 -0.3818 -vn 0.4795 -0.1233 -0.8689 -vn 0.8695 -0.2858 -0.4029 -vn 0.3927 -0.4709 -0.7900 -vn 0.8737 -0.1315 -0.4684 -vn 0.3129 -0.4800 -0.8196 -vn 0.8872 0.2205 -0.4054 -vn 0.3805 -0.0664 -0.9224 -vn 0.5755 0.8091 -0.1186 -vn 0.3592 0.8985 0.2523 -vn 0.8999 0.4025 0.1679 -vn 0.0333 -0.3953 -0.9180 -vn -0.0238 -0.5460 -0.8375 -vn -0.0633 -0.2827 -0.9571 -vn -0.0221 0.3133 -0.9494 -vn 0.3445 0.4756 -0.8094 -vn 0.0128 -0.0140 -0.9998 -vn 0.0009 0.2043 -0.9789 -vn 0.9968 -0.0448 -0.0663 -vn 0.9932 -0.0221 -0.1146 -vn 0.9089 -0.4170 0.0072 -vn 0.9846 -0.1696 0.0430 -vn 0.9298 -0.2330 0.2848 -vn 0.4446 -0.3490 -0.8249 -vn 0.9076 0.3995 -0.1294 -vn 0.0550 0.2948 -0.9540 -vn 0.0963 -0.2070 0.9736 -vn 0.0822 -0.6000 0.7957 -vn 0.9940 0.0221 -0.1068 -vn 0.9954 -0.0433 0.0853 -vn 0.4530 0.2801 -0.8464 -vn 0.4854 0.7468 -0.4545 -vn 0.0534 0.7747 -0.6301 -vn 0.9920 0.1239 -0.0234 -vn 0.9900 0.0999 -0.0998 -vn 0.9900 0.1007 0.0988 -vn 0.9862 -0.0041 -0.1656 -vn -0.1765 -0.9638 -0.1996 -vn 0.6818 -0.5955 -0.4249 -vn 0.3051 -0.5726 -0.7609 -vn 0.2122 -0.9513 -0.2235 -vn -0.0000 0.0901 -0.9959 -vn 0.4259 -0.8802 -0.2092 -vn 0.9999 0.0167 0.0007 -vn 1.0000 0.0019 0.0034 -vn -0.0000 0.9018 -0.4322 -vn 0.0616 0.9395 -0.3370 -vn -0.0000 0.9364 -0.3510 -vn 0.0856 0.9400 -0.3303 -vn 0.0516 0.7096 -0.7027 -vn -0.0000 0.1126 -0.9936 -vn -0.0000 0.2651 -0.9642 -vn -0.0000 0.2199 -0.9755 -vn -0.0000 0.9018 -0.4321 -vn -0.0613 0.7646 -0.6415 -vn 0.9666 0.0118 -0.2559 -vn 0.9053 -0.1764 0.3864 -vn 0.9477 -0.2262 -0.2251 -vn 0.9436 -0.3063 -0.1256 -vn 0.9389 -0.2242 0.2612 -vn 0.9776 -0.1677 0.1269 -vn 0.9978 -0.0000 0.0666 -vn 0.9257 -0.1856 -0.3295 -vn -0.8895 0.4570 -0.0000 -vn -0.2763 0.9611 0.0002 -vn -0.5527 0.8333 0.0001 -vn -0.9736 0.2284 -0.0000 -vn -0.0976 -0.7839 0.6132 -vn -0.6439 -0.6219 -0.4457 -vn -0.0928 -0.7999 -0.5929 -vn -0.0690 -0.9541 -0.2914 -vn -0.4446 -0.3490 -0.8249 -vn -0.3592 0.8985 0.2523 -vn -0.1134 0.9756 -0.1878 -vn -0.0002 0.2043 -0.9789 -vn -0.0550 0.2948 -0.9540 -vn -0.6998 -0.1881 0.6892 -vn -0.9083 -0.1711 -0.3818 -vn -0.0717 -0.2461 -0.9666 -vn -0.4795 -0.1233 -0.8689 -vn -0.3927 -0.4709 -0.7900 -vn -0.3129 -0.4800 -0.8196 -vn -0.3805 -0.0664 -0.9224 -vn -0.0333 -0.3953 -0.9180 -vn 0.0238 -0.5460 -0.8375 -vn 0.0633 -0.2827 -0.9571 -vn 0.0221 0.3133 -0.9494 -vn -0.0128 -0.0140 -0.9998 -vn 0.9673 0.2232 0.1202 -vn 0.9685 -0.0991 0.2284 -vn 0.1396 0.2721 -0.9521 -vn 0.9779 -0.0642 -0.1992 -vn 0.9931 -0.0834 -0.0820 -vn 0.9335 -0.3023 -0.1926 -vn 0.9566 0.2613 0.1289 -vn 0.9313 -0.3635 0.0219 -vn 0.9128 -0.3909 0.1182 -vn 0.9786 -0.2002 0.0480 -vn 0.9312 -0.3570 0.0740 -vn 0.9038 -0.3696 0.2156 -vn 0.9684 -0.1692 0.1830 -vn 0.9809 -0.1776 0.0789 -vn 0.9987 -0.0475 -0.0201 -vn 0.9688 0.2308 0.0903 -vn 0.9495 0.2763 0.1486 -vn 0.9290 0.2500 0.2729 -vn 0.9844 0.1276 0.1212 -vn 0.9832 0.0556 0.1736 -vn 0.9956 -0.0665 0.0653 -vn 0.9625 -0.0724 0.2614 -vn 0.9851 -0.1084 0.1335 -vn 0.9833 -0.0502 0.1751 -vn 0.9846 -0.0087 0.1745 -vn 0.9942 -0.0403 -0.1002 -vn 0.9947 0.0245 -0.0996 -vn 0.5747 0.5494 0.6065 -vn 0.3706 0.2403 0.8972 -vn 0.0745 0.7122 0.6980 -vn 0.0758 0.2517 0.9648 -vn 0.6409 -0.7662 -0.0458 -vn 0.1193 -0.7677 0.6296 -vn 0.0973 -0.7840 0.6130 -vn 0.6439 -0.6219 -0.4457 -vn 0.0928 -0.7999 -0.5929 -vn 0.1134 0.9756 -0.1878 -vn 0.0654 0.9680 0.2423 -vn -0.3723 -0.3800 -0.8468 -vn -0.6432 -0.3414 -0.6854 -vn -0.4592 -0.4012 -0.7925 -vn -0.4263 -0.8678 -0.2554 -vn -0.3935 0.1531 -0.9065 -vn -0.5149 0.4477 -0.7311 -vn -0.4133 0.4461 -0.7938 -vn -0.9212 0.1912 -0.3390 -vn -0.9375 0.1183 -0.3271 -vn 0.9999 0.0135 -0.0099 -vn 0.9998 0.0213 0.0011 -vn 0.9996 0.0271 0.0029 -vn -0.9998 0.0213 0.0011 -vn -0.9996 0.0271 0.0029 -vn -0.9997 0.0252 0.0067 -vn 0.8895 0.4570 -0.0000 -vn 0.9736 0.2284 -0.0000 -vn 0.4196 0.9077 -0.0000 -vn -0.0000 -0.9568 -0.2908 -vn -0.9999 0.0167 0.0007 -vn -0.9995 0.0314 -0.0020 -vn -0.0004 -0.2799 0.9600 -vn 0.0001 -0.5968 0.8024 -vn -0.0004 -0.5061 0.8625 -vn 0.0001 -0.7783 0.6279 -vn -0.0000 -0.8622 0.5066 -vn -0.0000 -0.9667 0.2558 -vn -0.0004 -0.2668 0.9638 -vn -0.9911 -0.0000 0.1332 -vn -0.9894 -0.1160 0.0873 -vn 0.8417 -0.2936 0.4532 -vn 0.4395 -0.3448 0.8294 -vn 0.4540 -0.0806 0.8873 -vn -1.0000 0.0006 0.0012 -vn 1.0000 0.0095 -0.0023 -vn 0.9997 0.0252 0.0067 -vn 0.0001 0.2199 -0.9755 -vn -0.0616 0.9395 -0.3370 -vn -0.4392 0.0051 0.8984 -vn -0.3221 -0.2815 0.9039 -vn -0.4149 -0.3225 0.8508 -vn -0.4184 -0.0205 0.9080 -vn 0.0147 -0.3602 0.9328 -vn -0.3221 -0.2814 0.9039 -vn -0.1337 0.9663 0.2198 -vn -0.9800 -0.0000 0.1988 -vn -0.5451 0.8383 -0.0000 -vn -0.2015 0.9795 0.0001 -vn -0.9362 0.3516 0.0001 -vn -0.9334 -0.3588 -0.0000 -vn -0.5359 -0.8443 -0.0000 -vn -0.0000 0.9989 0.0471 -vn -0.0000 0.9992 0.0392 -vn -0.0000 0.9931 0.1175 -vn -0.0000 0.9992 0.0393 -vn 0.1595 0.9872 0.0003 -vn 0.9363 0.3512 -0.0000 -vn 0.9362 0.3516 0.0001 -vn 0.5451 0.8383 0.0001 -vn 0.9334 -0.3588 -0.0000 -vn 0.4063 -0.9137 -0.0000 -vn -0.2679 -0.9634 -0.0000 -vn -0.0000 -0.5363 0.8440 -vn -0.0005 -0.5361 0.8442 -vn -0.0000 -0.8176 -0.5758 -vn -0.9850 -0.0671 0.1589 -vn 0.4464 -0.6134 0.6515 -vn -0.0000 -0.9239 0.3827 -vn -0.0000 -0.7929 0.6094 -vn 0.4465 -0.6134 0.6515 -vn 0.0655 0.8693 0.4899 -vn 0.0479 0.9748 0.2177 -vn 0.0450 0.9407 0.3362 -vn 1.0000 -0.0001 -0.0003 -vn 1.0000 0.0004 -0.0008 -vn 1.0000 -0.0007 -0.0006 -vn 0.9756 -0.0842 0.2027 -vn 1.0000 0.0004 -0.0001 -vn 0.4540 -0.0805 0.8873 -vn -0.0000 -0.1298 0.9915 -vn 0.0112 -0.9503 0.3111 -vn 1.0000 0.0002 -0.0001 -vn 1.0000 -0.0007 -0.0000 -vn -0.0000 -0.7071 0.7071 -vn -0.0000 0.6037 0.7972 -vn -0.0000 0.7972 0.6037 -vn -0.0000 0.7071 -0.7071 -vn 0.4240 0.3427 -0.8383 -vn -0.9999 0.0135 -0.0099 -vn 0.4193 0.9079 0.0001 -vn -1.0000 0.0095 -0.0023 -vn 0.0001 -0.7972 -0.6037 -vn -0.0001 -0.6037 -0.7972 -vn -0.1722 0.3928 -0.9033 -vn -0.0000 -0.9929 -0.1193 -vn 0.9911 -0.0000 0.1332 -vn -0.0000 -0.9478 0.3188 -vn -0.0000 -0.4448 0.8956 -vn -0.0000 -0.8814 -0.4724 -vn -0.9418 0.2820 0.1830 -vn -0.7726 0.5655 0.2886 -vn 0.0646 -0.2831 0.9569 -vn 0.0405 -0.5936 0.8037 -vn 0.5073 -0.3627 0.7818 -vn 0.5247 -0.1884 0.8302 -vn 0.4877 -0.5255 0.6971 -vn 0.3422 0.8174 0.4635 -vn 0.1337 0.9663 0.2198 -vn 0.5018 0.4301 0.7505 -vn 0.5344 0.1812 0.8256 -vn 1.0000 -0.0000 0.0037 -vn 1.0000 -0.0000 0.0075 -vn 0.0674 -0.0000 0.9977 -vn 0.9894 -0.1160 0.0873 -vn 0.9344 -0.2629 0.2404 -vn -0.9978 -0.0354 0.0555 -vn 0.9575 -0.1436 0.2500 -vn 0.9800 -0.0000 0.1988 -vn -0.0000 -0.2272 0.9739 -vn 0.0002 0.6059 0.7955 -vn -0.0000 0.8184 0.5746 -vn -0.0002 0.3029 0.9530 -vn -0.0000 0.6605 0.7508 -vn -0.0000 -0.3632 0.9317 -vn -0.0000 -0.9906 0.1367 -vn 0.4395 -0.3449 0.8294 -vn 0.3228 -0.2420 0.9150 -vn 0.9719 -0.0333 0.2329 -vn 0.9603 0.0267 0.2778 -vn 0.4392 0.0417 0.8974 -vn 0.4198 -0.1075 0.9012 -vn -0.0197 -0.3607 0.9325 -vn -0.0257 -0.3607 0.9323 -vn 0.5470 -0.3017 0.7809 -vn 0.9801 -0.1117 0.1641 -vn 0.8724 -0.1036 0.4777 -vn -0.4184 -0.0204 0.9080 -vn 0.0385 -0.3613 0.9316 -vn 0.5470 -0.3018 0.7808 -vn 0.4198 -0.1076 0.9012 -vn 1.0000 0.0009 -0.0015 -vn 1.0000 0.0001 -0.0016 -vn 1.0000 0.0006 0.0012 -vn -0.0000 -0.4993 0.8664 -vn -0.0000 -0.2667 0.9638 -vn -0.0000 0.0459 0.9989 -vn -0.0000 -0.0351 0.9994 -vn 0.0006 -0.3409 0.9401 -vn 0.0003 -0.5061 0.8625 -vn 0.0003 -0.3136 0.9496 -vn -0.0000 -0.7783 0.6279 -vn -0.0001 -0.5968 0.8024 -vn -0.0000 0.9970 -0.0770 -vn -0.0000 0.8727 -0.4883 -vn -0.0001 0.9526 -0.3041 -vn -0.0000 0.5657 -0.8246 -vn -0.0000 0.6710 -0.7415 -vn -0.0000 0.9914 0.1311 -vn -0.0000 0.9993 -0.0385 -vn -0.0000 0.1546 -0.9880 -vn -0.0000 0.3091 -0.9510 -vn -0.0000 0.8635 0.5044 -vn -0.0000 0.9650 0.2623 -vn -0.0000 -0.1761 -0.9844 -vn -0.0000 -0.0880 -0.9961 -vn -0.0000 0.6016 0.7988 -vn -0.0000 0.7882 0.6154 -vn -0.0000 -0.5913 -0.8065 -vn -0.0000 -0.4311 -0.9023 -vn -0.0000 0.2927 0.9562 -vn -0.0000 0.4905 0.8714 -vn -0.0000 -0.8104 -0.5859 -vn -0.0000 0.2098 0.9777 -vn -0.0002 -0.2799 0.9600 -vn 0.9212 0.1912 -0.3390 -vn 0.9375 0.1183 -0.3271 -vn 0.9363 0.1191 -0.3303 -vn 0.5457 0.2840 -0.7884 -vn 0.4129 0.3969 -0.8198 -vn 0.3689 0.4766 -0.7979 -vn 0.9473 0.1523 -0.2819 -vn 0.5471 0.1521 -0.8231 -vn 0.4428 -0.7141 -0.5422 -vn 0.4578 -0.2885 -0.8409 -vn 0.6432 -0.3414 -0.6854 -vn 0.2347 -0.0372 -0.9713 -vn 0.3723 -0.3800 -0.8468 -vn 0.3937 -0.6141 -0.6841 -vn 0.3430 0.0002 -0.9393 -vn 0.3691 -0.8001 -0.4728 -vn 0.3715 0.2637 -0.8902 -vn 0.4024 0.2750 -0.8731 -vn 0.3595 0.1300 -0.9240 -vn 0.3758 -0.8080 -0.4538 -vn 0.3743 -0.7997 -0.4695 -vn 0.9910 0.0440 -0.1265 -vn 0.9212 0.1912 -0.3389 -vn 0.9376 0.1183 -0.3271 -vn 0.9999 -0.0132 -0.0001 -vn -0.5587 0.3131 -0.7680 -vn -0.1722 0.3928 -0.9034 -vn -0.9404 0.1281 -0.3149 -vn -0.9295 -0.1383 0.3419 -vn -0.9268 -0.1407 0.3483 -vn -0.3897 -0.3446 0.8541 -vn -0.3829 -0.3454 0.8568 -vn -0.9268 -0.1406 0.3483 -vn 0.2529 -0.3618 0.8973 -vn 0.1722 0.4024 -0.8991 -vn -0.0000 -0.6037 0.7972 -vn -0.4024 0.2750 -0.8731 -vn 0.9995 0.0314 -0.0020 -vn -0.1193 -0.7677 0.6296 -vn -0.0654 0.9680 0.2423 -vn 0.0690 -0.9541 -0.2914 -vn -1.0000 0.0019 0.0034 -vn -0.9363 0.3512 -0.0000 -vn 0.0373 0.8327 0.5525 -vn -0.0000 0.1951 0.9808 -vn -0.0000 -0.9574 0.2887 -vn -0.0000 0.3827 0.9239 -vn 0.4482 -0.5058 0.7370 -vn 0.0004 -0.3409 0.9401 -vn -0.9304 0.1374 -0.3398 -vt 0.359688 0.958662 -vt 0.362249 0.958669 -vt 0.362239 0.962551 -vt 0.331697 0.953329 -vt 0.359702 0.953407 -vt 0.351642 0.961259 -vt 0.811898 0.853744 -vt 0.802908 0.853744 -vt 0.802908 0.855453 -vt 0.510231 0.845136 -vt 0.505784 0.850420 -vt 0.501968 0.847202 -vt 0.477758 0.837077 -vt 0.479214 0.833341 -vt 0.823042 0.855453 -vt 0.823042 0.857179 -vt 0.827595 0.857179 -vt 0.802908 0.857179 -vt 0.811898 0.857179 -vt 0.796689 0.855453 -vt 0.813272 0.857179 -vt 0.813272 0.853744 -vt 0.827595 0.853744 -vt 0.826014 0.853744 -vt 0.826014 0.855453 -vt 0.520442 0.836072 -vt 0.524015 0.833150 -vt 0.535257 0.845043 -vt 0.833203 0.857179 -vt 0.897698 0.596442 -vt 0.896258 0.600185 -vt 0.920512 0.610205 -vt 0.823042 0.853744 -vt 0.516880 0.839562 -vt 0.528775 0.851703 -vt 0.521438 0.859613 -vt 0.833202 0.853744 -vt 0.834678 0.855453 -vt 0.790690 0.954682 -vt 0.780443 0.954656 -vt 0.785161 0.957230 -vt 0.422440 0.965570 -vt 0.450495 0.970002 -vt 0.505626 0.964699 -vt 0.503252 0.978629 -vt 0.508685 0.972269 -vt 0.260623 0.953127 -vt 0.205415 0.960844 -vt 0.177430 0.952890 -vt 0.260584 0.966567 -vt 0.205400 0.966410 -vt 0.790662 0.965283 -vt 0.939733 0.972563 -vt 0.945259 0.969952 -vt 0.939739 0.968680 -vt 0.597353 0.964711 -vt 0.600376 0.972295 -vt 0.594912 0.978629 -vt 0.542169 0.965022 -vt 0.508689 0.967750 -vt 0.507691 0.975401 -vt 0.185454 0.958168 -vt 0.785140 0.965268 -vt 0.949984 0.969959 -vt 0.949986 0.968695 -vt 0.599367 0.975424 -vt 0.542195 0.969746 -vt 0.331659 0.966768 -vt 0.278202 0.966617 -vt 0.278240 0.953177 -vt 0.264946 0.953139 -vt 0.264908 0.966579 -vt 0.269464 0.953153 -vt 0.269426 0.966592 -vt 0.272751 0.953162 -vt 0.272713 0.966602 -vt 0.331675 0.961203 -vt 0.177415 0.958145 -vt 0.364426 0.953420 -vt 0.364412 0.958675 -vt 0.968179 0.972572 -vt 0.957932 0.972563 -vt 0.957935 0.968680 -vt 0.794573 0.954693 -vt 0.804820 0.954720 -vt 0.794545 0.965293 -vt 0.516662 0.969893 -vt 0.516635 0.965166 -vt 0.536604 0.965056 -vt 0.536631 0.969780 -vt 0.422489 0.970295 -vt 0.185446 0.960788 -vt 0.780437 0.957218 -vt 0.945255 0.972571 -vt 0.600401 0.967777 -vt 0.035908 0.941334 -vt 0.035908 0.941635 -vt 0.054072 0.941633 -vt 0.370583 0.810248 -vt 0.374948 0.806042 -vt 0.367858 0.802066 -vt 0.164734 0.678016 -vt 0.213982 0.678118 -vt 0.257519 0.683519 -vt 0.015729 0.600923 -vt 0.122051 0.606551 -vt 0.015721 0.606392 -vt 0.370634 0.800249 -vt 0.812069 0.443349 -vt 0.825366 0.443346 -vt 0.812071 0.451175 -vt 0.842764 0.448237 -vt 0.838841 0.451170 -vt 0.837618 0.443344 -vt 0.051468 0.951958 -vt 0.051191 0.952073 -vt 0.051240 0.952323 -vt 0.035954 0.945310 -vt 0.035954 0.944910 -vt 0.054117 0.944908 -vt 0.053269 0.945680 -vt 0.052868 0.945681 -vt 0.052918 0.945431 -vt 0.035908 0.941935 -vt 0.054072 0.941933 -vt 0.051191 0.945097 -vt 0.050890 0.945097 -vt 0.050841 0.945347 -vt 0.035954 0.944510 -vt 0.054117 0.944508 -vt 0.052499 0.945529 -vt 0.052640 0.945316 -vt 0.035908 0.942235 -vt 0.054072 0.942234 -vt 0.050890 0.952073 -vt 0.050613 0.951958 -vt 0.050471 0.952170 -vt 0.035954 0.944110 -vt 0.054117 0.944108 -vt 0.052215 0.945246 -vt 0.052428 0.945104 -vt 0.035908 0.942536 -vt 0.054072 0.942534 -vt 0.050400 0.951745 -vt 0.050188 0.951887 -vt 0.036076 0.944336 -vt 0.036076 0.943936 -vt 0.054239 0.943934 -vt 0.052062 0.944877 -vt 0.052312 0.944827 -vt 0.035908 0.937730 -vt 0.035908 0.938031 -vt 0.054072 0.938027 -vt 0.050286 0.951468 -vt 0.050035 0.951517 -vt 0.035954 0.943134 -vt 0.035954 0.942734 -vt 0.054117 0.942732 -vt 0.052061 0.944477 -vt 0.052312 0.944526 -vt 0.035908 0.945006 -vt 0.035908 0.945307 -vt 0.054072 0.945304 -vt 0.050286 0.951167 -vt 0.050035 0.951117 -vt 0.035954 0.942334 -vt 0.054117 0.942332 -vt 0.052214 0.944107 -vt 0.052426 0.944249 -vt 0.035908 0.945607 -vt 0.054072 0.945604 -vt 0.050401 0.950890 -vt 0.050188 0.950748 -vt 0.035954 0.941934 -vt 0.054117 0.941932 -vt 0.052496 0.943824 -vt 0.052638 0.944036 -vt 0.035908 0.938631 -vt 0.035908 0.938932 -vt 0.054072 0.938929 -vt 0.050613 0.950677 -vt 0.050471 0.950465 -vt 0.035954 0.941534 -vt 0.054117 0.941532 -vt 0.052865 0.943670 -vt 0.052915 0.943920 -vt 0.035908 0.939232 -vt 0.054072 0.939229 -vt 0.050891 0.950562 -vt 0.050841 0.950312 -vt 0.035954 0.941134 -vt 0.054117 0.941132 -vt 0.053265 0.943670 -vt 0.053216 0.943920 -vt 0.035908 0.939532 -vt 0.054072 0.939530 -vt 0.051191 0.950562 -vt 0.051241 0.950312 -vt 0.035954 0.940734 -vt 0.054117 0.940732 -vt 0.053635 0.943822 -vt 0.053494 0.944035 -vt 0.035908 0.939833 -vt 0.054072 0.939830 -vt 0.051468 0.950678 -vt 0.051610 0.950465 -vt 0.035954 0.940334 -vt 0.054117 0.940332 -vt 0.053918 0.944104 -vt 0.053706 0.944247 -vt 0.035908 0.940133 -vt 0.054072 0.940130 -vt 0.051681 0.950890 -vt 0.051893 0.950748 -vt 0.035954 0.939934 -vt 0.054117 0.939932 -vt 0.054072 0.944474 -vt 0.053822 0.944524 -vt 0.035908 0.940433 -vt 0.054072 0.940431 -vt 0.051796 0.951167 -vt 0.052046 0.951118 -vt 0.035954 0.946910 -vt 0.035954 0.946510 -vt 0.054117 0.946508 -vt 0.054073 0.944874 -vt 0.053822 0.944824 -vt 0.035908 0.940734 -vt 0.054072 0.940731 -vt 0.051796 0.951468 -vt 0.052046 0.951518 -vt 0.035954 0.946110 -vt 0.054117 0.946108 -vt 0.053920 0.945244 -vt 0.053708 0.945102 -vt 0.035908 0.941034 -vt 0.054072 0.941032 -vt 0.051681 0.951746 -vt 0.051893 0.951887 -vt 0.035954 0.945710 -vt 0.054117 0.945708 -vt 0.053638 0.945527 -vt 0.053496 0.945315 -vt 0.054072 0.941332 -vt 0.051610 0.952170 -vt 0.054117 0.945308 -vt 0.053218 0.945430 -vt 0.395541 0.956521 -vt 0.399095 0.962729 -vt 0.398106 0.962988 -vt 0.399068 0.969883 -vt 0.398081 0.969613 -vt 0.395468 0.976063 -vt 0.394748 0.975338 -vt 0.389257 0.979614 -vt 0.388998 0.978628 -vt 0.382104 0.979585 -vt 0.382373 0.978601 -vt 0.375923 0.975984 -vt 0.376648 0.975264 -vt 0.372372 0.969775 -vt 0.373359 0.969515 -vt 0.372399 0.962623 -vt 0.373386 0.962892 -vt 0.375999 0.956443 -vt 0.376720 0.957167 -vt 0.382206 0.952890 -vt 0.382469 0.953878 -vt 0.389360 0.952919 -vt 0.389091 0.953904 -vt 0.394817 0.957240 -vt 0.838965 0.931013 -vt 0.832339 0.930980 -vt 0.832314 0.936076 -vt 0.337664 0.995947 -vt 0.344817 0.995957 -vt 0.344820 0.994249 -vt 0.253929 0.963378 -vt 0.253961 0.970006 -vt 0.241579 0.966752 -vt 0.845592 0.931046 -vt 0.838941 0.936108 -vt 0.351970 0.995967 -vt 0.351972 0.994259 -vt 0.250678 0.975761 -vt 0.852219 0.931079 -vt 0.845567 0.936141 -vt 0.359124 0.995976 -vt 0.359126 0.994268 -vt 0.244954 0.979102 -vt 0.779328 0.930717 -vt 0.772701 0.930684 -vt 0.772676 0.935780 -vt 0.366278 0.995986 -vt 0.366281 0.994278 -vt 0.238328 0.979135 -vt 0.785955 0.930750 -vt 0.779303 0.935813 -vt 0.373434 0.995995 -vt 0.373437 0.994286 -vt 0.232572 0.975848 -vt 0.792581 0.930783 -vt 0.785929 0.935845 -vt 0.380592 0.996004 -vt 0.380594 0.994295 -vt 0.229232 0.970128 -vt 0.799208 0.930816 -vt 0.792556 0.935878 -vt 0.387750 0.996012 -vt 0.387752 0.994303 -vt 0.229199 0.963502 -vt 0.805834 0.930849 -vt 0.799183 0.935911 -vt 0.394910 0.996020 -vt 0.394911 0.994310 -vt 0.232484 0.957745 -vt 0.812460 0.930881 -vt 0.805809 0.935944 -vt 0.402070 0.996027 -vt 0.402072 0.994318 -vt 0.238206 0.954406 -vt 0.819087 0.930915 -vt 0.812435 0.935977 -vt 0.316208 0.995915 -vt 0.323359 0.995926 -vt 0.323362 0.994218 -vt 0.244832 0.954373 -vt 0.825713 0.930947 -vt 0.819061 0.936010 -vt 0.330512 0.995936 -vt 0.330514 0.994229 -vt 0.250586 0.957656 -vt 0.825687 0.936043 -vt 0.337666 0.994239 -vt 0.295338 0.103287 -vt 0.295221 0.104723 -vt 0.293302 0.103617 -vt 0.409234 0.135866 -vt 0.410611 0.137862 -vt 0.319804 0.145507 -vt 0.309657 0.110962 -vt 0.309823 0.112593 -vt 0.306707 0.110882 -vt 0.328674 0.137629 -vt 0.404333 0.130464 -vt 0.328247 0.138878 -vt 0.319775 0.144719 -vt 0.317240 0.144505 -vt 0.322554 0.143866 -vt 0.403938 0.100755 -vt 0.405721 0.101225 -vt 0.404279 0.105677 -vt 0.403791 0.098527 -vt 0.405876 0.098902 -vt 0.309891 0.106421 -vt 0.290334 0.107950 -vt 0.287801 0.103905 -vt 0.286363 0.106300 -vt 0.286167 0.102470 -vt 0.292374 0.100537 -vt 0.407173 0.108601 -vt 0.404441 0.107178 -vt 0.407718 0.109926 -vt 0.407977 0.107246 -vt 0.328434 0.133594 -vt 0.314711 0.143246 -vt 0.316677 0.139029 -vt 0.312958 0.141183 -vt 0.317532 0.135389 -vt 0.312794 0.139989 -vt 0.319955 0.127728 -vt 0.319269 0.131437 -vt 0.317360 0.129659 -vt 0.314226 0.135381 -vt 0.319718 0.142303 -vt 0.322593 0.139719 -vt 0.327219 0.140192 -vt 0.325454 0.142462 -vt 0.324800 0.135588 -vt 0.325027 0.127340 -vt 0.327174 0.129527 -vt 0.325386 0.131443 -vt 0.319686 0.138706 -vt 0.322039 0.131554 -vt 0.321220 0.135209 -vt 0.322767 0.126903 -vt 0.288842 0.142654 -vt 0.286523 0.140196 -vt 0.288488 0.144289 -vt 0.296744 0.105669 -vt 0.303415 0.111921 -vt 0.297301 0.104416 -vt 0.408817 0.109428 -vt 0.407352 0.130669 -vt 0.405962 0.129635 -vt 0.306196 0.112876 -vt 0.293525 0.104978 -vt 0.291353 0.108873 -vt 0.281673 0.142822 -vt 0.285169 0.140549 -vt 0.279556 0.143871 -vt 0.286951 0.148225 -vt 0.288440 0.150917 -vt 0.286064 0.150224 -vt 0.410802 0.134669 -vt 0.405654 0.131658 -vt 0.200676 0.976738 -vt 0.198506 0.962311 -vt 0.206953 0.963581 -vt 0.177491 0.953870 -vt 0.174541 0.955967 -vt 0.174214 0.955054 -vt 0.179011 0.950603 -vt 0.176755 0.953254 -vt 0.170974 0.956250 -vt 0.171141 0.955319 -vt 0.178740 0.946996 -vt 0.178071 0.950430 -vt 0.176717 0.943925 -vt 0.177824 0.947310 -vt 0.167756 0.954771 -vt 0.168348 0.954049 -vt 0.173219 0.942341 -vt 0.176033 0.944690 -vt 0.169417 0.942815 -vt 0.173064 0.943346 -vt 0.165672 0.951916 -vt 0.166544 0.951571 -vt 0.166596 0.945097 -vt 0.169843 0.943734 -vt 0.165246 0.948395 -vt 0.167364 0.945664 -vt 0.166181 0.948525 -vt 0.178034 0.954320 -vt 0.174785 0.956657 -vt 0.179705 0.950732 -vt 0.170851 0.956935 -vt 0.179415 0.946774 -vt 0.177257 0.943358 -vt 0.167318 0.955307 -vt 0.173333 0.941582 -vt 0.169069 0.942125 -vt 0.165031 0.952168 -vt 0.166033 0.944684 -vt 0.164562 0.948303 -vt 0.507413 0.952649 -vt 0.505313 0.947007 -vt 0.509953 0.950848 -vt 0.813137 0.936030 -vt 0.816999 0.936042 -vt 0.817012 0.931590 -vt 0.809275 0.936018 -vt 0.813150 0.931578 -vt 0.511269 0.948024 -vt 0.820861 0.936053 -vt 0.820874 0.931600 -vt 0.504339 0.952914 -vt 0.511023 0.944905 -vt 0.824723 0.936065 -vt 0.824738 0.931614 -vt 0.805411 0.936006 -vt 0.809288 0.931566 -vt 0.509232 0.942284 -vt 0.828587 0.936077 -vt 0.828600 0.931624 -vt 0.501546 0.951644 -vt 0.506263 0.940940 -vt 0.789963 0.935960 -vt 0.789976 0.931508 -vt 0.776758 0.931469 -vt 0.801550 0.935995 -vt 0.805426 0.931555 -vt 0.503041 0.941329 -vt 0.770442 0.935901 -vt 0.773938 0.935912 -vt 0.773952 0.931460 -vt 0.499743 0.949165 -vt 0.500563 0.943259 -vt 0.793825 0.935972 -vt 0.793838 0.931519 -vt 0.797687 0.935984 -vt 0.801564 0.931543 -vt 0.499379 0.946119 -vt 0.797702 0.931532 -vt 0.776744 0.935920 -vt 0.196413 0.977281 -vt 0.841807 0.936117 -vt 0.767649 0.931441 -vt 0.767636 0.935893 -vt 0.179609 0.928425 -vt 0.171162 0.927155 -vt 0.173740 0.925126 -vt 0.204601 0.978514 -vt 0.267733 0.946344 -vt 0.264866 0.947523 -vt 0.267728 0.948720 -vt 0.113559 0.986588 -vt 0.113545 0.988963 -vt 0.169391 0.989268 -vt 0.912369 0.968520 -vt 0.914046 0.966837 -vt 0.915237 0.969701 -vt 0.266045 0.950393 -vt 0.113533 0.991338 -vt 0.169378 0.991642 -vt 0.916421 0.966832 -vt 0.263670 0.950389 -vt 0.113520 0.993713 -vt 0.169365 0.994017 -vt 0.918104 0.968508 -vt 0.261993 0.948704 -vt 0.113623 0.974714 -vt 0.113610 0.977089 -vt 0.169456 0.977394 -vt 0.918104 0.970883 -vt 0.262000 0.946331 -vt 0.113597 0.979464 -vt 0.169443 0.979768 -vt 0.916433 0.972566 -vt 0.263683 0.944656 -vt 0.113584 0.981839 -vt 0.169430 0.982143 -vt 0.278275 0.840654 -vt 0.280295 0.842503 -vt 0.278989 0.832199 -vt 0.914053 0.972571 -vt 0.266059 0.944661 -vt 0.369894 0.831101 -vt 0.113571 0.984213 -vt 0.169417 0.984518 -vt 0.912375 0.970895 -vt 0.467682 0.428415 -vt 0.467409 0.426444 -vt 0.466533 0.426181 -vt 0.468381 0.429055 -vt 0.466914 0.428943 -vt 0.169404 0.986893 -vt 0.920370 0.565509 -vt 0.944401 0.554243 -vt 0.896376 0.554167 -vt 0.897668 0.571337 -vt 0.920362 0.571097 -vt 0.277841 0.781228 -vt 0.285343 0.783006 -vt 0.281869 0.774704 -vt 0.160089 0.800284 -vt 0.159623 0.798905 -vt 0.163138 0.795437 -vt 0.479286 0.894667 -vt 0.489683 0.897471 -vt 0.480471 0.884403 -vt 0.467929 0.425487 -vt 0.467205 0.425127 -vt 0.477729 0.848052 -vt 0.472954 0.850913 -vt 0.479582 0.858578 -vt 0.157244 0.800156 -vt 0.498939 0.421464 -vt 0.494112 0.421021 -vt 0.147537 0.667691 -vt 0.138873 0.673114 -vt 0.147618 0.628731 -vt 0.133643 0.683264 -vt 0.155132 0.676881 -vt 0.525965 0.426373 -vt 0.523581 0.425654 -vt 0.523015 0.509761 -vt 0.465526 0.858808 -vt 0.481265 0.779540 -vt 0.480607 0.772219 -vt 0.431532 0.784011 -vt 0.379766 0.803761 -vt 0.488548 0.791601 -vt 0.479552 0.788234 -vt 0.488196 0.788828 -vt 0.816605 0.798274 -vt 0.800394 0.810525 -vt 0.816251 0.807239 -vt 0.503573 0.417403 -vt 0.502943 0.507827 -vt 0.397927 0.482081 -vt 0.364284 0.482080 -vt 0.347740 0.489217 -vt 0.283364 0.770711 -vt 0.524484 0.428283 -vt 0.525220 0.427780 -vt 0.524484 0.428095 -vt 0.372721 0.781916 -vt 0.523960 0.436055 -vt 0.499903 0.435989 -vt 0.509939 0.437367 -vt 0.524487 0.427059 -vt 0.631458 0.968590 -vt 0.631414 0.976488 -vt 0.650864 0.980618 -vt 0.623508 0.976194 -vt 0.617333 0.980879 -vt 0.623551 0.968546 -vt 0.617403 0.968511 -vt 0.536680 0.427704 -vt 0.532638 0.428317 -vt 0.536677 0.429055 -vt 0.505929 0.440946 -vt 0.506151 0.441448 -vt 0.507140 0.440872 -vt 0.274031 0.781088 -vt 0.277202 0.779388 -vt 0.476868 0.846792 -vt 0.471771 0.849575 -vt 0.478536 0.895923 -vt 0.474524 0.892209 -vt 0.226741 0.668989 -vt 0.230965 0.658537 -vt 0.249203 0.663617 -vt 0.232711 0.644999 -vt 0.231484 0.634255 -vt 0.229111 0.615665 -vt 0.344606 0.838417 -vt 0.341288 0.844146 -vt 0.348270 0.846461 -vt 0.365181 0.805114 -vt 0.347197 0.834015 -vt 0.354449 0.835871 -vt 0.213549 0.839343 -vt 0.212248 0.841388 -vt 0.206815 0.848170 -vt 0.278298 0.859067 -vt 0.305848 0.811373 -vt 0.341603 0.836850 -vt 0.341929 0.834401 -vt 0.344203 0.833531 -vt 0.330160 0.776947 -vt 0.462094 0.867217 -vt 0.461172 0.865919 -vt 0.460357 0.872288 -vt 0.542334 0.734232 -vt 0.542982 0.739274 -vt 0.542761 0.725538 -vt 0.612699 0.710711 -vt 0.608902 0.708625 -vt 0.613102 0.701990 -vt 0.528420 0.748113 -vt 0.532710 0.740699 -vt 0.528989 0.736149 -vt 0.546000 0.748127 -vt 0.535991 0.743464 -vt 0.538550 0.732135 -vt 0.536918 0.728310 -vt 0.534592 0.733283 -vt 0.531071 0.731273 -vt 0.532323 0.736601 -vt 0.598796 0.724641 -vt 0.606324 0.719957 -vt 0.616313 0.724533 -vt 0.602661 0.713126 -vt 0.603047 0.717217 -vt 0.599324 0.712678 -vt 0.604936 0.709796 -vt 0.601402 0.707792 -vt 0.607249 0.704798 -vt 0.613286 0.715728 -vt 0.540303 0.742946 -vt 0.610621 0.719398 -vt 0.532048 0.427799 -vt 0.308951 0.916386 -vt 0.308804 0.907417 -vt 0.306065 0.921446 -vt 0.262659 0.892397 -vt 0.259718 0.898761 -vt 0.262865 0.887867 -vt 0.309964 0.899927 -vt 0.259034 0.884614 -vt 0.268399 0.867508 -vt 0.464315 0.872081 -vt 0.461623 0.872221 -vt 0.520840 0.428085 -vt 0.512013 0.428226 -vt 0.944412 0.546931 -vt 0.938804 0.546922 -vt 0.305612 0.799576 -vt 0.301983 0.792453 -vt 0.533427 0.430789 -vt 0.529482 0.430804 -vt 0.528712 0.432934 -vt 0.516798 0.838874 -vt 0.502642 0.840441 -vt 0.512413 0.853965 -vt 0.937195 0.583071 -vt 0.943054 0.571410 -vt 0.294765 0.785732 -vt 0.415487 0.757689 -vt 0.372231 0.763177 -vt 0.415472 0.763294 -vt 0.931076 0.540758 -vt 0.931073 0.532847 -vt 0.926803 0.522223 -vt 0.717079 0.850025 -vt 0.697889 0.850599 -vt 0.717428 0.855838 -vt 0.604947 0.699432 -vt 0.592611 0.724172 -vt 0.593958 0.711478 -vt 0.597415 0.704236 -vt 0.288507 0.148770 -vt 0.413761 0.103579 -vt 0.304331 0.110232 -vt 0.306789 0.105923 -vt 0.304667 0.104836 -vt 0.297557 0.100926 -vt 0.294488 0.100201 -vt 0.281002 0.141297 -vt 0.305962 0.103033 -vt 0.298304 0.099009 -vt 0.294755 0.098165 -vt 0.291840 0.098506 -vt 0.307621 0.103550 -vt 0.411997 0.105183 -vt 0.310018 0.103888 -vt 0.467771 0.862417 -vt 0.497984 0.436373 -vt 0.497981 0.437334 -vt 0.466787 0.885072 -vt 0.462614 0.877138 -vt 0.468717 0.881368 -vt 0.914272 0.546883 -vt 0.901996 0.546863 -vt 0.498218 0.886038 -vt 0.530203 0.432638 -vt 0.530198 0.431479 -vt 0.530971 0.430508 -vt 0.530207 0.434348 -vt 0.534930 0.434344 -vt 0.534933 0.435180 -vt 0.534935 0.435851 -vt 0.530211 0.435865 -vt 0.741145 0.587771 -vt 0.741138 0.579863 -vt 0.784380 0.579822 -vt 0.741104 0.572114 -vt 0.536277 0.431807 -vt 0.536268 0.430545 -vt 0.532323 0.430534 -vt 0.896388 0.546854 -vt 0.912374 0.587741 -vt 0.920334 0.588416 -vt 0.903490 0.583017 -vt 0.896258 0.565379 -vt 0.926528 0.546902 -vt 0.536670 0.431723 -vt 0.541392 0.432348 -vt 0.541394 0.431735 -vt 0.909744 0.540724 -vt 0.914078 0.522204 -vt 0.902006 0.540711 -vt 0.902038 0.522185 -vt 0.902020 0.532800 -vt 0.909773 0.532813 -vt 0.913623 0.510828 -vt 0.902057 0.510809 -vt 0.532631 0.431088 -vt 0.536673 0.430372 -vt 0.944483 0.565456 -vt 0.180820 0.822971 -vt 0.225631 0.818815 -vt 0.178050 0.808817 -vt 0.172700 0.803752 -vt 0.199189 0.797410 -vt 0.227672 0.816516 -vt 0.038689 0.814747 -vt 0.082486 0.817672 -vt 0.037050 0.828634 -vt 0.119684 0.819896 -vt 0.083750 0.821563 -vt 0.229782 0.815148 -vt 0.231420 0.801261 -vt 0.180716 0.814159 -vt 0.164279 0.792464 -vt 0.083280 0.816529 -vt 0.082798 0.820883 -vt 0.499887 0.441882 -vt 0.523943 0.441948 -vt 0.509930 0.440560 -vt 0.525209 0.431585 -vt 0.524475 0.431266 -vt 0.524472 0.432302 -vt 0.497973 0.440527 -vt 0.497970 0.441488 -vt 0.519850 0.440772 -vt 0.532038 0.431603 -vt 0.523038 0.431262 -vt 0.520831 0.431256 -vt 0.507889 0.443620 -vt 0.508686 0.443623 -vt 0.508723 0.431665 -vt 0.504603 0.443610 -vt 0.507926 0.431663 -vt 0.413032 0.107126 -vt 0.415337 0.106231 -vt 0.412617 0.135954 -vt 0.284455 0.105100 -vt 0.278808 0.141349 -vt 0.464288 0.857946 -vt 0.430491 0.785523 -vt 0.430922 0.789755 -vt 0.525633 0.853031 -vt 0.527890 0.837636 -vt 0.488410 0.844488 -vt 0.497813 0.855843 -vt 0.547036 0.854081 -vt 0.545883 0.836789 -vt 0.642072 0.855004 -vt 0.644582 0.840304 -vt 0.664836 0.856850 -vt 0.665550 0.844082 -vt 0.696641 0.843246 -vt 0.541561 0.435406 -vt 0.541562 0.439068 -vt 0.537616 0.435406 -vt 0.818748 0.813198 -vt 0.834622 0.844873 -vt 0.541397 0.430395 -vt 0.819014 0.791969 -vt 0.520041 0.434440 -vt 0.516080 0.430794 -vt 0.515306 0.431766 -vt 0.541405 0.427105 -vt 0.511643 0.443632 -vt 0.511681 0.431675 -vt 0.510884 0.431672 -vt 0.507074 0.443643 -vt 0.507113 0.431685 -vt 0.503826 0.431675 -vt 0.510646 0.441203 -vt 0.507810 0.441837 -vt 0.528708 0.431775 -vt 0.528715 0.434644 -vt 0.528717 0.435489 -vt 0.533441 0.435479 -vt 0.528719 0.436161 -vt 0.067244 0.893667 -vt 0.062278 0.889043 -vt 0.041841 0.899568 -vt 0.533439 0.434643 -vt 0.533438 0.433779 -vt 0.420110 0.482081 -vt 0.413360 0.482081 -vt 0.413362 0.489218 -vt 0.404388 0.489218 -vt 0.404388 0.482081 -vt 0.397926 0.489218 -vt 0.786497 0.853755 -vt 0.783792 0.853765 -vt 0.783848 0.868579 -vt 0.426594 0.489238 -vt 0.479489 0.785493 -vt 0.432181 0.790646 -vt 0.138986 0.619442 -vt 0.527793 0.430554 -vt 0.523847 0.430532 -vt 0.523840 0.431833 -vt 0.155225 0.616260 -vt 0.163798 0.613046 -vt 0.215285 0.601246 -vt 0.213992 0.613134 -vt 0.222920 0.607011 -vt 0.219973 0.615583 -vt 0.213518 0.848409 -vt 0.212031 0.850131 -vt 0.212061 0.844251 -vt 0.149944 0.672461 -vt 0.149575 0.621583 -vt 0.226063 0.622177 -vt 0.220370 0.675456 -vt 0.132351 0.677672 -vt 0.536839 0.439070 -vt 0.536838 0.436375 -vt 0.843786 0.455374 -vt 0.938814 0.540771 -vt 0.938843 0.522242 -vt 0.938861 0.510866 -vt 0.928295 0.587766 -vt 0.316290 0.909189 -vt 0.317939 0.901895 -vt 0.312259 0.924673 -vt 0.315534 0.918706 -vt 0.185045 0.846782 -vt 0.151621 0.850208 -vt 0.258963 0.849871 -vt 0.693736 0.480570 -vt 0.706500 0.473447 -vt 0.706497 0.462469 -vt 0.767028 0.809971 -vt 0.762580 0.817109 -vt 0.761558 0.809972 -vt 0.467778 0.429604 -vt 0.494848 0.426750 -vt 0.499402 0.425107 -vt 0.489382 0.771430 -vt 0.510766 0.435967 -vt 0.510768 0.435484 -vt 0.512152 0.435975 -vt 0.510395 0.436275 -vt 0.512519 0.436286 -vt 0.512701 0.435978 -vt 0.510217 0.435965 -vt 0.503404 0.438795 -vt 0.503403 0.439344 -vt 0.514607 0.439360 -vt 0.503395 0.445030 -vt 0.514599 0.445047 -vt 0.514605 0.440754 -vt 0.458385 0.056417 -vt 0.424924 0.056311 -vt 0.423411 0.058436 -vt 0.509540 0.441305 -vt 0.509278 0.441304 -vt 0.509296 0.437010 -vt 0.417408 0.049490 -vt 0.414883 0.050932 -vt 0.508711 0.419461 -vt 0.504603 0.419473 -vt 0.504635 0.430677 -vt 0.508743 0.430665 -vt 0.509989 0.430662 -vt 0.515352 0.424554 -vt 0.513966 0.424552 -vt 0.513960 0.428667 -vt 0.513321 0.441323 -vt 0.513348 0.437216 -vt 0.513611 0.437033 -vt 0.513479 0.428610 -vt 0.503406 0.437409 -vt 0.507493 0.437415 -vt 0.514611 0.436879 -vt 0.503416 0.431174 -vt 0.503409 0.435467 -vt 0.514613 0.435484 -vt 0.458463 0.025487 -vt 0.458468 0.023357 -vt 0.423510 0.023271 -vt 0.417457 0.032182 -vt 0.425010 0.025404 -vt 0.503407 0.436860 -vt 0.513327 0.419448 -vt 0.513359 0.430652 -vt 0.517467 0.430640 -vt 0.507491 0.438802 -vt 0.515346 0.428669 -vt 0.515827 0.428613 -vt 0.512081 0.419451 -vt 0.512113 0.430656 -vt 0.509957 0.419458 -vt 0.512155 0.435491 -vt 0.924937 0.604905 -vt 0.834678 0.853744 -vt 0.936206 0.619330 -vt 0.946414 0.608213 -vt 0.838373 0.855453 -vt 0.838373 0.857178 -vt 0.935119 0.596362 -vt 0.252649 0.671850 -vt 0.216060 0.837967 -vt 0.688976 0.721051 -vt 0.688964 0.729778 -vt 0.693650 0.729782 -vt 0.987930 0.703465 -vt 0.987937 0.709256 -vt 0.996010 0.707585 -vt 0.100906 0.686438 -vt 0.107408 0.671030 -vt 0.128190 0.674115 -vt 0.115506 0.667738 -vt 0.995866 0.719402 -vt 0.144996 0.693831 -vt 0.101437 0.698854 -vt 0.138634 0.691115 -vt 0.220429 0.837505 -vt 0.100946 0.680329 -vt 0.693601 0.747407 -vt 0.695654 0.741310 -vt 0.688953 0.741304 -vt 0.995821 0.679724 -vt 0.987837 0.689859 -vt 0.987873 0.695057 -vt 0.104197 0.694536 -vt 0.132322 0.684597 -vt 0.103059 0.675321 -vt 0.632078 0.866868 -vt 0.594498 0.866868 -vt 0.594498 0.862650 -vt 0.594498 0.854215 -vt 0.632078 0.854215 -vt 0.632078 0.858432 -vt 0.203347 0.487944 -vt 0.165767 0.487944 -vt 0.165767 0.483727 -vt 0.166763 0.745860 -vt 0.204344 0.745860 -vt 0.204344 0.750077 -vt 0.130247 0.889012 -vt 0.125486 0.893737 -vt 0.132258 0.895120 -vt 0.500600 0.507658 -vt 0.129961 0.900327 -vt 0.153438 0.891133 -vt 0.148662 0.895139 -vt 0.509791 0.440921 -vt 0.506598 0.440935 -vt 0.506583 0.437649 -vt 0.509277 0.441530 -vt 0.507117 0.441540 -vt 0.520025 0.430778 -vt 0.032914 0.892147 -vt 0.510846 0.443630 -vt 0.515317 0.434461 -vt 0.632078 0.862650 -vt 0.166763 0.741642 -vt 0.204344 0.741642 -vt 0.204344 0.754295 -vt 0.166763 0.754295 -vt 0.204344 0.737425 -vt 0.506125 0.436830 -vt 0.505931 0.437397 -vt 0.507183 0.437514 -vt 0.701232 0.980835 -vt 0.701178 0.973187 -vt 0.694996 0.968511 -vt 0.709083 0.972881 -vt 0.728527 0.968723 -vt 0.709139 0.980778 -vt 0.728612 0.980639 -vt 0.523046 0.428091 -vt 0.120536 0.807751 -vt 0.524476 0.431078 -vt 0.165680 0.801658 -vt 0.397927 0.464479 -vt 0.397927 0.457342 -vt 0.347741 0.457341 -vt 0.842467 0.852745 -vt 0.822154 0.857297 -vt 0.787926 0.822949 -vt 0.775618 0.839118 -vt 0.784584 0.838795 -vt 0.126237 0.820376 -vt 0.126494 0.822480 -vt 0.043968 0.831329 -vt 0.121011 0.813305 -vt 0.377326 0.801464 -vt 0.377276 0.833340 -vt 0.398558 0.833373 -vt 0.338586 0.489217 -vt 0.225253 0.699679 -vt 0.194218 0.694159 -vt 0.203825 0.693107 -vt 0.264472 0.671874 -vt 0.264488 0.663647 -vt 0.268153 0.665649 -vt 0.688940 0.756131 -vt 0.689025 0.756305 -vt 0.987901 0.699231 -vt 0.995953 0.699177 -vt 0.220114 0.689486 -vt 0.211500 0.683987 -vt 0.211760 0.645028 -vt 0.468430 0.425751 -vt 0.467704 0.425373 -vt 0.494826 0.421949 -vt 0.467887 0.426702 -vt 0.467013 0.426422 -vt 0.468799 0.429341 -vt 0.468185 0.429873 -vt 0.467346 0.429192 -vt 0.468121 0.428683 -vt 0.231220 0.830499 -vt 0.321420 0.821180 -vt 0.322517 0.831775 -vt 0.230329 0.838968 -vt 0.229651 0.833246 -vt 0.842765 0.480112 -vt 0.842765 0.485006 -vt 0.837620 0.485005 -vt 0.825367 0.485004 -vt 0.812070 0.485004 -vt 0.812071 0.477177 -vt 0.995981 0.703411 -vt 0.236699 0.817843 -vt 0.233036 0.819558 -vt 0.237514 0.623066 -vt 0.343890 0.618285 -vt 0.343855 0.623755 -vt 0.169223 0.700762 -vt 0.169246 0.700790 -vt 0.167737 0.702484 -vt 0.229706 0.822739 -vt 0.119645 0.817818 -vt 0.126369 0.818161 -vt 0.127194 0.807182 -vt 0.127669 0.812736 -vt 0.500038 0.426193 -vt 0.767029 0.841847 -vt 0.838841 0.477179 -vt 0.762580 0.834710 -vt 0.761559 0.841847 -vt 0.460186 0.833470 -vt 0.465924 0.833478 -vt 0.465974 0.801603 -vt 0.695669 0.735883 -vt 0.589758 0.833672 -vt 0.452231 0.833457 -vt 0.460236 0.801593 -vt 0.452281 0.801581 -vt 0.270941 0.833175 -vt 0.731733 0.462463 -vt 0.731730 0.448114 -vt 0.731735 0.473442 -vt 0.744502 0.480559 -vt 0.744475 0.455864 -vt 0.706503 0.488064 -vt 0.731738 0.488059 -vt 0.151521 0.818331 -vt 0.187828 0.891142 -vt 0.181881 0.889467 -vt 0.180828 0.895063 -vt 0.186407 0.896580 -vt 0.185602 0.903706 -vt 0.184965 0.821547 -vt 0.209662 0.821469 -vt 0.258863 0.817994 -vt 0.182995 0.908105 -vt 0.178426 0.905528 -vt 0.180717 0.901802 -vt 0.271574 0.817954 -vt 0.271675 0.849831 -vt 0.287676 0.849781 -vt 0.209741 0.846705 -vt 0.298932 0.849746 -vt 0.298832 0.817868 -vt 0.287576 0.817904 -vt 0.843786 0.472975 -vt 0.541400 0.429057 -vt 0.209051 0.688734 -vt 0.226594 0.694100 -vt 0.130403 0.631285 -vt 0.127876 0.649844 -vt 0.126560 0.660571 -vt 0.133395 0.637819 -vt 0.139538 0.631279 -vt 0.145537 0.628880 -vt 0.136663 0.622685 -vt 0.144343 0.616985 -vt 0.195720 0.629210 -vt 0.204263 0.632495 -vt 0.220473 0.635814 -vt 0.209866 0.637864 -vt 0.688958 0.735877 -vt 0.161690 0.489238 -vt 0.172499 0.489238 -vt 0.172498 0.457322 -vt 0.426595 0.457322 -vt 0.413362 0.457342 -vt 0.420110 0.464479 -vt 0.404388 0.464479 -vt 0.404389 0.457342 -vt 0.413361 0.464479 -vt 0.262632 0.489217 -vt 0.272298 0.489217 -vt 0.272298 0.457341 -vt 0.279113 0.489217 -vt 0.279113 0.457341 -vt 0.213404 0.489217 -vt 0.262632 0.457341 -vt 0.284455 0.489217 -vt 0.284455 0.457341 -vt 0.206486 0.489217 -vt 0.213404 0.457341 -vt 0.323415 0.489217 -vt 0.323415 0.457341 -vt 0.197411 0.489217 -vt 0.206485 0.457341 -vt 0.330825 0.489217 -vt 0.330825 0.457341 -vt 0.186143 0.489237 -vt 0.197411 0.457342 -vt 0.338586 0.457341 -vt 0.186142 0.457322 -vt 0.781838 0.791904 -vt 0.769305 0.841505 -vt 0.790535 0.841313 -vt 0.814282 0.865143 -vt 0.364285 0.464478 -vt 0.665099 0.895783 -vt 0.696240 0.896784 -vt 0.697528 0.889426 -vt 0.717390 0.884099 -vt 0.664335 0.883183 -vt 0.642311 0.884975 -vt 0.644805 0.899444 -vt 0.547257 0.887636 -vt 0.546159 0.904698 -vt 0.512670 0.887203 -vt 0.503448 0.900859 -vt 0.526257 0.888227 -vt 0.528278 0.903634 -vt 0.517264 0.902279 -vt 0.465653 0.886011 -vt 0.473472 0.893576 -vt 0.461836 0.878509 -vt 0.527098 0.727704 -vt 0.523628 0.734935 -vt 0.522247 0.747613 -vt 0.534645 0.722946 -vt 0.717036 0.890009 -vt 0.534917 0.430491 -vt 0.534926 0.432618 -vt 0.159128 0.858047 -vt 0.151495 0.864134 -vt 0.146839 0.879266 -vt 0.144046 0.876731 -vt 0.146573 0.882660 -vt 0.144209 0.887363 -vt 0.130019 0.852326 -vt 0.125529 0.858905 -vt 0.132303 0.857539 -vt 0.130277 0.863641 -vt 0.153474 0.861577 -vt 0.148708 0.857559 -vt 0.041897 0.852873 -vt 0.032952 0.860271 -vt 0.062309 0.863447 -vt 0.491739 0.507629 -vt 0.492032 0.416482 -vt 0.489346 0.417357 -vt 0.469285 0.425479 -vt 0.469311 0.509589 -vt 0.534748 0.426440 -vt 0.534114 0.509991 -vt 0.536433 0.509863 -vt 0.525331 0.509924 -vt 0.500893 0.416511 -vt 0.067286 0.858835 -vt 0.519860 0.437209 -vt 0.519310 0.440420 -vt 0.529931 0.440635 -vt 0.530292 0.436681 -vt 0.510722 0.437437 -vt 0.930383 0.894023 -vt 0.928759 0.883534 -vt 0.907068 0.886893 -vt 0.506415 0.841924 -vt 0.796689 0.857179 -vt 0.532339 0.848213 -vt 0.968182 0.968689 -vt 0.804792 0.965320 -vt 0.842763 0.443343 -vt 0.050841 0.952323 -vt 0.054072 0.949210 -vt 0.035908 0.949211 -vt 0.054072 0.949510 -vt 0.054605 0.944456 -vt 0.036442 0.944458 -vt 0.054605 0.944056 -vt 0.054072 0.944703 -vt 0.035908 0.944706 -vt 0.054072 0.945003 -vt 0.054117 0.943132 -vt 0.054072 0.945905 -vt 0.035908 0.945908 -vt 0.054072 0.946205 -vt 0.035908 0.946208 -vt 0.054072 0.946505 -vt 0.035908 0.946508 -vt 0.054072 0.946806 -vt 0.054117 0.946908 -vt 0.852193 0.936174 -vt 0.316211 0.994208 -vt 0.770455 0.931449 -vt 0.841820 0.931664 -vt 0.177713 0.925811 -vt 0.169469 0.975019 -vt 0.277487 0.834962 -vt 0.368558 0.820578 -vt 0.650931 0.968701 -vt 0.351976 0.840046 -vt 0.533435 0.432916 -vt 0.530209 0.435193 -vt 0.784387 0.587733 -vt 0.784346 0.571925 -vt 0.532332 0.431836 -vt 0.504640 0.431653 -vt 0.842494 0.837028 -vt 0.514929 0.443643 -vt 0.927409 0.934733 -vt 0.929762 0.924701 -vt 0.906663 0.929866 -vt 0.533442 0.436150 -vt 0.528715 0.433781 -vt 0.786503 0.868569 -vt 0.527785 0.431817 -vt 0.938826 0.532859 -vt 0.927294 0.510847 -vt 0.693752 0.455875 -vt 0.490040 0.778751 -vt 0.488357 0.785906 -vt 0.503401 0.440738 -vt 0.458378 0.058547 -vt 0.509556 0.437196 -vt 0.513582 0.441326 -vt 0.514620 0.431192 -vt 0.414941 0.030725 -vt 0.517435 0.419436 -vt 0.688948 0.747403 -vt 0.995924 0.695002 -vt 0.594498 0.858432 -vt 0.203347 0.483727 -vt 0.166763 0.750077 -vt 0.509776 0.437635 -vt 0.165767 0.466857 -vt 0.203347 0.466857 -vt 0.165767 0.471074 -vt 0.695084 0.980879 -vt 0.829999 0.865170 -vt 0.398608 0.801497 -vt 0.268144 0.669886 -vt 0.499658 0.422525 -vt 0.232286 0.840869 -vt 0.495422 0.427721 -vt 0.589808 0.801796 -vt 0.270991 0.801299 -vt 0.706494 0.448119 -vt 0.161689 0.457323 -vt 0.769370 0.804329 -vt 0.489394 0.507784 -vt 0.537143 0.425757 -vt 0.519297 0.436720 -vt 0.507859 0.436561 -vt 0.351639 0.962522 -s 1 -f 61/3/18 62/4/18 63/5/18 -f 64/6/19 65/7/18 66/8/18 -f 67/9/20 68/10/20 69/11/21 -f 70/12/22 71/13/22 72/14/22 -f 73/14/23 74/15/23 75/16/23 -f 76/17/24 77/18/25 78/19/26 -f 79/20/27 80/21/20 67/9/20 -f 79/20/27 69/11/21 81/22/28 -f 82/21/29 83/23/29 84/24/29 -f 85/25/30 86/26/30 87/27/31 -f 88/28/23 89/29/23 90/30/23 -f 91/25/32 92/19/32 93/31/32 -f 79/20/27 67/9/20 69/11/21 -f 94/32/33 95/33/33 96/34/33 -f 97/35/34 98/24/34 99/23/34 -f 100/36/23 101/37/23 102/38/23 -f 103/39/35 104/31/36 105/40/37 -f 106/41/33 107/42/33 108/43/33 -f 109/44/33 110/45/33 111/46/33 -f 111/46/33 112/47/33 113/48/33 -f 114/49/38 115/50/39 116/51/39 -f 117/52/40 118/53/39 114/49/38 -f 106/41/33 108/43/33 119/54/33 -f 120/55/41 121/56/41 122/57/41 -f 123/58/23 124/59/23 125/60/23 -f 123/58/23 125/60/23 126/61/23 -f 127/62/33 111/46/33 113/48/33 -f 110/45/33 112/47/33 111/46/33 -f 112/47/33 128/63/33 113/48/33 -f 115/50/39 129/64/39 116/51/39 -f 118/53/39 115/50/39 114/49/38 -f 108/43/33 130/65/33 119/54/33 -f 131/66/41 132/67/41 121/56/41 -f 121/56/41 132/67/41 122/57/41 -f 124/59/23 133/68/23 125/60/23 -f 125/60/23 134/69/23 126/61/23 -f 135/70/42 136/71/43 137/72/44 -f 138/73/45 139/74/45 117/52/40 -f 138/73/45 140/75/46 141/76/47 -f 140/75/46 142/77/48 143/78/49 -f 142/77/48 137/72/44 136/71/43 -f 144/79/50 137/72/44 64/6/19 -f 145/80/39 116/51/39 129/64/39 -f 146/7/51 147/81/51 148/82/51 -f 149/83/51 150/84/51 151/85/51 -f 152/86/39 153/41/39 154/54/39 -f 155/87/23 156/86/23 157/88/23 -f 158/89/23 159/90/23 160/91/23 -f 161/92/51 162/91/51 163/61/51 -f 109/44/33 164/93/33 110/45/33 -f 129/64/39 115/50/39 165/94/39 -f 107/42/33 166/95/33 108/43/33 -f 120/55/41 167/96/41 121/56/41 -f 123/58/23 168/97/23 124/59/23 -f 169/98/52 170/99/53 171/100/54 -f 172/101/55 173/102/56 174/103/57 -f 175/104/33 176/105/33 177/106/58 -f 178/107/33 179/108/33 180/109/33 -f 181/110/59 174/103/57 173/102/56 -f 182/111/41 183/112/41 184/113/41 -f 185/114/41 186/115/41 187/116/41 -f 188/117/41 189/118/41 190/119/41 -f 191/120/60 192/121/61 193/122/62 -f 194/123/51 195/124/51 196/125/51 -f 170/99/53 197/126/63 198/127/64 -f 189/128/41 199/129/41 200/130/41 -f 192/121/61 201/131/65 202/132/66 -f 195/124/51 203/133/51 204/134/51 -f 197/126/63 205/135/67 206/136/68 -f 199/137/41 207/138/41 208/139/41 -f 201/131/65 209/140/69 210/141/70 -f 203/133/51 211/142/51 212/143/51 -f 205/135/67 213/144/71 214/145/72 -f 207/138/41 215/146/41 216/147/41 -f 209/148/69 217/149/73 218/150/74 -f 211/142/51 219/151/51 220/152/51 -f 221/153/75 222/154/76 223/155/77 -f 215/146/41 224/156/41 225/157/41 -f 226/158/78 227/159/79 228/160/80 -f 219/151/51 229/161/51 230/162/51 -f 222/163/76 231/164/81 232/165/82 -f 224/156/41 233/166/41 234/167/41 -f 227/159/79 235/168/83 236/169/84 -f 229/161/51 237/170/51 238/171/51 -f 231/164/81 239/172/85 240/173/86 -f 233/166/41 241/174/41 242/175/41 -f 235/168/83 243/176/87 244/177/88 -f 237/170/51 245/178/51 246/179/51 -f 239/180/85 247/181/60 248/182/89 -f 241/174/41 249/183/41 250/184/41 -f 243/176/87 251/185/52 252/186/90 -f 245/178/51 253/187/51 254/188/51 -f 247/181/60 255/189/91 256/190/62 -f 249/183/41 257/191/41 258/192/41 -f 251/185/52 259/193/53 260/194/54 -f 253/187/51 261/195/51 262/196/51 -f 255/189/91 263/197/65 264/198/66 -f 257/191/41 265/199/41 266/200/41 -f 259/193/53 267/201/63 268/202/64 -f 261/195/51 269/203/51 270/204/51 -f 263/197/65 271/205/69 272/206/70 -f 265/199/41 273/207/41 274/208/41 -f 267/201/63 275/209/92 276/210/93 -f 269/203/51 277/211/51 278/212/51 -f 271/205/69 279/213/73 280/214/94 -f 273/207/41 281/215/41 282/216/41 -f 275/209/92 283/217/71 284/218/95 -f 277/211/51 285/219/51 286/220/51 -f 279/213/73 287/221/96 288/222/97 -f 281/215/41 289/223/41 290/224/41 -f 283/225/71 291/226/76 292/227/77 -f 285/219/51 293/228/51 294/229/51 -f 287/221/96 295/230/83 296/231/84 -f 289/223/41 297/232/41 298/233/41 -f 291/226/76 299/234/81 300/235/82 -f 293/228/51 301/236/51 302/237/51 -f 295/230/83 303/238/87 304/239/88 -f 297/232/41 305/240/41 306/241/41 -f 299/234/81 307/242/85 308/243/98 -f 301/236/51 309/244/51 310/245/51 -f 303/238/87 169/98/52 311/246/90 -f 305/240/41 188/117/41 312/247/41 -f 307/242/85 191/120/60 313/248/89 -f 309/244/51 194/123/51 314/249/51 -f 315/250/23 316/251/23 317/252/23 -f 316/251/23 318/253/23 319/254/23 -f 318/253/23 320/255/23 321/256/23 -f 320/255/23 322/257/23 323/258/23 -f 322/257/23 324/259/23 325/260/23 -f 324/259/23 326/261/23 327/262/23 -f 326/261/23 328/263/23 329/264/23 -f 328/263/23 330/265/23 331/266/23 -f 330/265/23 332/267/23 333/268/23 -f 332/267/23 334/269/23 335/270/23 -f 334/269/23 336/271/23 337/272/23 -f 336/271/23 315/250/23 338/273/23 -f 339/274/99 340/275/100 341/276/101 -f 342/277/102 343/278/103 344/279/104 -f 345/280/23 346/281/23 347/282/23 -f 348/283/105 339/274/99 349/284/106 -f 343/278/103 350/285/107 351/286/108 -f 346/281/23 352/287/23 347/282/23 -f 353/288/109 348/283/105 354/289/110 -f 350/285/107 355/290/111 356/291/112 -f 352/287/23 357/292/23 347/282/23 -f 358/293/113 359/294/114 360/295/115 -f 355/290/111 361/296/116 362/297/117 -f 357/292/23 363/298/23 347/282/23 -f 364/299/118 358/293/113 365/300/119 -f 361/296/116 366/301/120 367/302/121 -f 363/298/23 368/303/23 347/282/23 -f 369/304/122 364/299/118 370/305/123 -f 366/301/120 371/306/124 372/307/125 -f 368/303/23 373/308/23 347/282/23 -f 374/309/120 369/304/122 375/310/126 -f 371/306/124 376/311/127 377/312/123 -f 373/308/23 378/313/23 347/282/23 -f 379/314/128 374/309/120 380/315/129 -f 376/311/127 381/316/113 382/317/130 -f 378/313/23 383/318/23 347/282/23 -f 384/319/131 379/314/128 385/320/117 -f 381/316/113 386/321/114 387/322/115 -f 383/318/23 388/323/23 347/282/23 -f 389/324/107 384/319/131 390/325/132 -f 391/326/109 392/327/133 393/328/110 -f 388/323/23 394/329/23 347/282/23 -f 395/330/134 389/324/107 396/331/135 -f 392/327/133 397/332/99 398/333/136 -f 394/329/23 399/334/23 347/282/23 -f 340/275/100 395/330/134 400/335/104 -f 397/332/99 342/277/102 401/336/137 -f 399/334/23 345/280/23 347/282/23 -f 402/337/138 403/338/139 404/339/140 -f 405/340/141 406/341/142 407/342/143 -f 408/343/144 409/344/145 410/345/146 -f 411/346/147 412/347/148 413/348/149 -f 414/349/150 407/342/143 415/350/151 -f 416/351/152 407/342/143 414/349/150 -f 417/352/153 418/353/154 419/354/155 -f 420/355/156 421/356/157 417/352/153 -f 408/343/144 422/357/158 417/352/153 -f 423/358/159 424/359/160 404/339/140 -f 424/359/160 423/358/159 425/360/161 -f 424/359/160 426/361/162 427/362/163 -f 428/363/164 429/364/165 419/354/155 -f 430/365/166 428/363/164 431/366/167 -f 411/346/147 432/367/168 412/347/148 -f 433/368/169 434/369/170 415/350/151 -f 435/370/171 434/369/170 433/368/169 -f 436/371/172 434/369/170 437/372/173 -f 438/373/174 439/374/175 440/375/176 -f 441/376/177 440/375/176 439/374/175 -f 414/349/150 415/350/151 442/377/178 -f 443/378/179 413/348/149 444/379/180 -f 445/380/181 416/351/152 443/378/179 -f 411/346/147 413/348/149 446/381/182 -f 432/367/168 411/346/147 446/381/182 -f 446/381/182 413/348/149 443/378/179 -f 447/382/183 448/383/184 449/384/185 -f 434/369/170 442/377/178 415/350/151 -f 443/378/179 442/377/178 450/385/186 -f 451/386/187 452/387/188 436/371/172 -f 452/387/188 450/385/186 434/369/170 -f 446/381/182 452/387/188 451/386/187 -f 450/385/186 452/387/188 446/381/182 -f 449/384/185 451/386/187 447/382/183 -f 438/373/174 453/388/189 451/386/187 -f 454/389/190 437/372/173 435/370/171 -f 455/390/191 454/389/190 456/391/192 -f 457/392/193 403/338/139 402/337/138 -f 458/393/194 457/392/193 459/394/195 -f 429/364/165 409/344/145 408/343/144 -f 460/395/196 461/396/197 462/397/198 -f 437/372/173 434/369/170 435/370/171 -f 450/385/186 442/377/178 434/369/170 -f 416/351/152 414/349/150 442/377/178 -f 442/377/178 443/378/179 416/351/152 -f 445/380/181 443/378/179 444/379/180 -f 432/367/168 449/384/185 448/383/184 -f 453/388/189 447/382/183 451/386/187 -f 439/374/175 438/373/174 451/386/187 -f 462/397/198 412/347/148 430/365/166 -f 432/367/168 448/383/184 412/347/148 -f 412/347/148 448/383/184 429/364/165 -f 453/388/189 409/344/145 447/382/183 -f 438/373/174 409/344/145 453/388/189 -f 438/373/174 440/375/176 409/344/145 -f 440/375/176 441/376/177 463/398/199 -f 437/372/173 454/389/190 441/376/177 -f 441/376/177 455/390/191 458/393/194 -f 464/399/200 457/392/193 465/400/201 -f 403/338/139 457/392/193 464/399/200 -f 429/364/165 428/363/164 430/365/166 -f 412/347/148 429/364/165 430/365/166 -f 448/383/184 447/382/183 429/364/165 -f 409/344/145 429/364/165 447/382/183 -f 440/375/176 463/398/199 409/344/145 -f 441/376/177 458/393/194 463/398/199 -f 454/389/190 455/390/191 441/376/177 -f 455/390/191 465/400/201 458/393/194 -f 457/392/193 458/393/194 465/400/201 -f 466/401/202 467/402/203 456/391/192 -f 468/403/204 466/401/202 469/404/205 -f 470/405/206 471/406/207 469/404/205 -f 472/407/208 405/340/141 473/408/209 -f 474/409/33 475/410/33 476/411/33 -f 477/412/121 478/413/117 479/414/210 -f 480/415/125 477/412/121 481/416/120 -f 478/413/117 482/417/112 483/418/111 -f 484/419/123 480/415/125 485/420/124 -f 486/421/211 484/419/123 487/422/212 -f 482/417/112 488/423/213 489/424/107 -f 490/425/214 486/421/211 491/426/113 -f 492/427/110 490/425/214 493/428/114 -f 488/423/213 494/429/104 495/430/103 -f 496/431/136 492/427/110 497/432/133 -f 498/433/137 496/431/136 499/434/99 -f 494/429/104 498/433/137 500/435/102 -f 501/436/33 502/437/33 503/413/33 -f 504/438/33 501/436/33 505/412/33 -f 502/437/33 506/439/33 507/417/33 -f 508/440/33 504/438/33 509/415/33 -f 510/441/33 508/440/33 511/419/33 -f 506/439/33 512/442/33 513/423/33 -f 474/443/33 510/441/33 514/421/33 -f 515/444/33 474/443/33 516/425/33 -f 512/442/33 517/445/33 518/429/33 -f 519/446/33 515/444/33 520/427/33 -f 521/447/33 519/446/33 522/431/33 -f 517/445/33 521/447/33 523/433/33 -f 524/448/33 525/449/33 526/450/33 -f 527/451/116 528/452/120 529/453/121 -f 530/454/111 527/451/116 531/455/117 -f 526/450/33 525/449/33 532/456/33 -f 528/452/120 533/457/124 534/458/125 -f 535/459/33 525/449/33 524/448/33 -f 532/456/33 525/449/33 536/460/33 -f 533/457/124 537/461/127 538/462/123 -f 539/463/107 530/454/111 540/464/112 -f 536/460/33 525/449/33 541/465/33 -f 537/461/127 542/466/215 543/467/215 -f 544/468/33 525/449/33 535/459/33 -f 541/465/33 525/449/33 545/469/33 -f 546/470/216 547/471/216 548/472/217 -f 549/473/103 539/463/107 550/474/108 -f 545/469/33 525/449/33 551/475/33 -f 552/476/218 553/477/219 554/478/219 -f 555/479/33 525/449/33 544/468/33 -f 551/475/33 525/449/33 556/480/33 -f 546/470/216 557/481/99 558/482/136 -f 559/483/102 549/473/103 560/484/104 -f 556/480/33 525/449/33 561/485/33 -f 557/481/99 559/483/102 562/486/137 -f 561/485/33 525/449/33 555/479/33 -f 563/487/220 548/472/217 554/478/219 -f 474/409/33 515/488/33 475/410/33 -f 543/467/215 542/466/215 564/489/221 -f 565/490/222 566/491/223 552/476/218 -f 476/492/33 475/493/33 567/494/33 -f 476/411/33 510/495/33 474/409/33 -f 568/496/33 569/497/33 570/498/33 -f 571/499/224 572/500/225 573/501/226 -f 574/502/23 575/503/23 576/504/23 -f 570/498/33 569/497/33 577/505/33 -f 572/500/225 578/506/227 579/507/228 -f 575/503/23 580/508/23 576/504/23 -f 577/505/33 569/497/33 581/509/33 -f 578/506/227 582/510/229 583/511/230 -f 580/508/23 584/512/23 576/504/23 -f 581/509/33 569/497/33 585/513/33 -f 586/514/231 587/515/232 588/516/233 -f 584/512/23 589/517/23 576/504/23 -f 585/513/33 569/497/33 590/518/33 -f 587/515/232 591/519/234 592/520/235 -f 589/517/23 593/521/23 576/504/23 -f 590/518/33 569/497/33 594/522/33 -f 591/519/234 595/523/236 596/524/237 -f 597/525/33 598/526/238 599/527/238 -f 593/521/23 600/528/23 576/504/23 -f 594/522/33 569/497/33 601/529/33 -f 599/527/238 598/526/238 602/530/239 -f 595/523/236 603/531/240 604/532/241 -f 600/528/23 605/533/23 576/504/23 -f 606/534/242 607/535/243 608/536/244 -f 609/537/245 606/534/242 610/538/246 -f 601/529/33 569/497/33 568/496/33 -f 603/531/240 571/499/224 611/539/247 -f 605/533/23 574/502/23 576/504/23 -f 612/540/248 613/541/249 614/542/250 -f 615/543/251 616/544/252 612/540/248 -f 617/545/253 618/546/254 619/547/33 -f 620/548/255 621/549/256 622/550/23 -f 623/551/257 624/552/258 625/553/259 -f 607/535/243 626/554/260 627/555/261 -f 628/556/262 629/557/263 630/558/264 -f 620/548/255 631/559/265 621/549/256 -f 632/554/18 633/560/18 634/561/18 -f 635/562/33 636/563/33 637/564/33 -f 175/104/33 638/565/33 639/566/33 -f 640/567/266 641/568/267 642/569/268 -f 630/558/264 629/557/263 643/570/269 -f 644/571/270 645/572/271 646/573/33 -f 647/574/18 648/575/18 649/576/18 -f 650/577/18 649/576/18 648/575/18 -f 651/578/23 652/579/23 653/580/23 -f 654/581/272 655/582/273 642/569/268 -f 656/583/274 657/584/18 658/585/275 -f 619/547/33 618/546/254 659/586/33 -f 660/587/39 661/588/39 662/589/39 -f 645/572/271 663/590/33 646/573/33 -f 664/591/39 665/592/39 666/593/39 -f 662/589/39 661/588/39 664/594/39 -f 667/595/41 668/596/41 669/597/41 -f 668/596/41 670/598/41 671/599/41 -f 672/600/41 673/601/41 671/599/41 -f 674/602/39 675/603/39 676/604/39 -f 677/605/276 678/606/277 679/607/277 -f 680/608/278 617/545/253 681/609/279 -f 628/556/262 682/610/253 683/611/280 -f 684/612/255 623/551/257 685/613/281 -f 686/614/282 687/615/283 688/616/284 -f 688/616/284 687/615/283 689/617/285 -f 688/616/284 689/617/285 690/618/286 -f 688/616/284 690/618/286 691/619/55 -f 692/620/287 693/621/288 694/622/58 -f 695/623/289 696/624/290 697/625/284 -f 698/626/291 699/627/292 700/628/293 -f 701/629/294 693/621/288 702/630/295 -f 703/631/33 704/632/33 702/630/295 -f 704/632/33 705/633/33 702/630/295 -f 706/634/33 702/630/295 705/633/33 -f 693/621/288 703/631/33 702/630/295 -f 703/631/33 693/621/288 692/620/287 -f 707/635/296 708/636/297 709/637/298 -f 710/638/23 711/639/23 712/640/299 -f 713/641/33 714/642/33 715/643/300 -f 716/644/23 717/645/23 718/646/23 -f 716/644/23 719/647/301 720/648/23 -f 710/638/23 712/640/299 721/649/23 -f 721/649/23 722/650/23 723/651/23 -f 723/651/23 724/652/23 725/653/23 -f 726/654/33 727/655/33 728/656/302 -f 729/657/33 730/658/33 731/659/33 -f 732/660/33 729/657/33 733/661/33 -f 714/642/33 732/660/33 734/662/33 -f 713/641/33 715/643/300 735/663/33 -f 711/639/23 736/664/23 719/647/301 -f 720/648/23 717/645/23 716/644/23 -f 717/645/23 725/653/23 718/646/23 -f 719/647/301 736/664/23 720/648/23 -f 712/640/299 722/650/23 721/649/23 -f 722/650/23 724/652/23 723/651/23 -f 724/652/23 718/646/23 725/653/23 -f 737/665/33 735/663/33 728/656/302 -f 730/658/33 727/655/33 726/654/33 -f 727/655/33 737/665/33 728/656/302 -f 730/658/33 726/654/33 731/659/33 -f 729/657/33 731/659/33 733/661/33 -f 732/660/33 733/661/33 734/662/33 -f 715/643/300 728/656/302 735/663/33 -f 738/666/39 675/603/39 674/602/39 -f 739/667/303 740/668/304 741/669/305 -f 742/670/33 743/671/306 740/668/304 -f 744/672/33 742/670/33 745/673/307 -f 746/674/308 744/672/33 747/675/309 -f 701/629/294 747/675/309 745/673/307 -f 748/676/310 707/635/296 749/677/311 -f 750/678/39 664/594/39 666/679/39 -f 751/680/312 752/681/313 613/541/249 -f 753/682/314 702/630/295 706/634/33 -f 754/683/315 753/682/314 706/634/33 -f 619/547/33 681/609/279 617/545/253 -f 755/684/33 756/685/33 757/686/33 -f 758/687/315 759/688/316 760/689/317 -f 616/544/252 761/690/318 762/691/319 -f 659/586/33 763/692/316 706/634/33 -f 663/590/33 706/634/33 174/103/57 -f 764/693/39 674/694/39 765/695/39 -f 766/696/51 767/697/51 768/698/320 -f 769/699/321 770/700/322 771/701/323 -f 772/643/324 773/662/325 774/702/326 -f 775/703/327 776/704/328 777/659/329 -f 778/705/330 774/702/326 773/662/325 -f 779/370/331 780/391/332 781/706/333 -f 781/706/333 782/350/334 783/368/335 -f 784/342/336 785/380/337 786/351/338 -f 787/340/339 788/379/340 785/380/337 -f 789/348/341 788/379/340 787/340/339 -f 784/342/336 787/340/339 785/380/337 -f 790/353/342 791/354/343 792/366/344 -f 793/707/345 794/356/346 790/353/342 -f 795/345/347 796/343/348 797/357/349 -f 798/708/350 795/345/347 799/709/351 -f 800/394/352 798/708/350 801/710/353 -f 802/337/354 800/394/352 803/711/355 -f 804/339/356 802/337/354 805/712/357 -f 806/360/358 807/713/359 808/402/360 -f 809/714/361 801/710/353 799/709/351 -f 810/715/362 803/711/355 801/710/353 -f 811/716/363 805/712/357 803/711/355 -f 812/717/364 813/362/365 805/712/357 -f 814/718/366 799/709/351 815/357/367 -f 816/393/368 817/398/369 798/708/350 -f 818/396/370 819/397/371 820/408/372 -f 783/368/335 779/370/331 781/706/333 -f 820/408/372 789/348/341 787/340/339 -f 821/719/373 790/353/342 792/366/344 -f 821/719/373 793/707/345 790/353/342 -f 801/710/353 798/708/350 799/709/351 -f 803/711/355 800/394/352 801/710/353 -f 805/712/357 802/337/354 803/711/355 -f 813/362/365 804/339/356 805/712/357 -f 822/358/374 806/360/358 808/402/360 -f 814/718/366 809/714/361 799/709/351 -f 809/714/361 810/715/362 801/710/353 -f 810/715/362 811/716/363 803/711/355 -f 811/716/363 812/717/364 805/712/357 -f 823/720/375 814/718/366 815/357/367 -f 824/405/376 825/341/377 784/342/336 -f 817/398/369 826/344/378 795/345/347 -f 820/408/372 827/347/379 789/348/341 -f 781/706/333 784/342/336 782/350/334 -f 790/353/342 794/356/346 828/352/380 -f 813/362/365 829/359/381 804/339/356 -f 812/717/364 830/361/382 813/362/365 -f 831/400/383 822/358/374 808/402/360 -f 832/399/384 804/339/356 822/358/374 -f 833/390/385 831/400/383 808/402/360 -f 831/400/383 832/399/384 822/358/374 -f 832/399/384 834/338/386 804/339/356 -f 643/570/269 707/635/296 835/721/387 -f 836/722/39 837/723/39 665/592/39 -f 625/553/259 838/724/388 685/613/281 -f 839/725/389 838/724/388 840/726/390 -f 841/727/391 842/728/313 614/542/250 -f 843/729/392 625/553/259 624/552/258 -f 844/730/23 845/731/23 846/732/23 -f 847/733/39 848/734/39 849/735/39 -f 850/735/23 851/736/23 852/737/23 -f 853/738/393 854/739/394 855/740/393 -f 856/740/18 857/739/18 858/741/18 -f 859/742/395 860/743/395 861/744/39 -f 738/666/39 664/594/39 661/588/39 -f 842/728/313 862/745/312 614/542/250 -f 863/746/396 864/747/397 616/544/252 -f 616/544/252 615/543/251 865/748/398 -f 612/540/248 614/542/250 866/749/399 -f 614/542/250 613/541/249 867/750/400 -f 868/751/39 869/752/39 870/753/39 -f 871/754/51 841/727/391 872/755/401 -f 873/756/51 842/728/313 841/727/391 -f 874/757/402 875/758/51 876/759/51 -f 872/755/401 877/760/403 878/761/403 -f 865/748/398 863/746/396 616/544/252 -f 879/762/39 868/751/39 880/763/39 -f 616/544/252 762/691/319 881/764/404 -f 700/628/293 882/765/405 883/766/406 -f 884/767/407 885/768/408 886/769/23 -f 883/766/406 886/769/23 887/770/409 -f 888/771/23 889/772/23 890/773/410 -f 891/774/411 890/773/410 892/775/23 -f 890/776/410 887/770/409 888/777/23 -f 882/765/405 886/769/23 883/766/406 -f 882/765/405 893/778/412 886/769/23 -f 893/778/412 884/767/407 886/769/23 -f 885/768/408 894/779/23 886/769/23 -f 886/769/23 888/777/23 887/770/409 -f 888/771/23 895/780/23 889/772/23 -f 889/772/23 896/781/23 890/773/410 -f 890/773/410 896/781/23 892/775/23 -f 897/782/39 898/783/39 899/784/39 -f 900/785/39 901/786/39 898/787/39 -f 902/788/39 903/789/39 897/782/39 -f 898/783/39 904/790/39 899/784/39 -f 898/787/39 905/791/39 900/785/39 -f 906/792/39 904/793/39 898/787/39 -f 905/791/39 898/787/39 869/752/39 -f 907/794/413 908/795/414 909/796/415 -f 910/797/33 907/794/413 911/798/416 -f 406/341/142 405/340/141 912/407/417 -f 913/799/418 472/407/208 461/396/197 -f 914/800/419 915/801/420 472/407/208 -f 914/800/419 913/799/418 916/719/421 -f 431/366/167 916/719/421 913/799/418 -f 917/713/422 467/402/203 466/401/202 -f 918/802/423 426/361/162 424/359/160 -f 918/802/423 425/360/161 917/713/422 -f 917/713/422 466/401/202 468/403/204 -f 417/352/153 919/357/424 920/720/425 -f 407/342/143 470/405/206 921/706/426 -f 410/345/146 463/398/199 922/708/427 -f 412/347/148 462/397/198 473/408/209 -f 456/391/192 921/706/426 469/404/205 -f 456/391/192 435/370/171 921/706/426 -f 415/350/151 921/706/426 433/368/169 -f 445/380/181 407/342/143 416/351/152 -f 444/379/180 405/340/141 445/380/181 -f 444/379/180 413/348/149 405/340/141 -f 405/340/141 407/342/143 445/380/181 -f 419/354/155 418/353/154 431/366/167 -f 421/356/157 923/707/428 418/353/154 -f 410/345/146 924/709/429 422/357/158 -f 410/345/146 922/708/427 924/709/429 -f 922/708/427 459/394/195 925/710/430 -f 459/394/195 402/337/138 926/711/431 -f 402/337/138 404/339/140 927/712/432 -f 917/713/422 425/360/161 467/402/203 -f 925/710/430 928/714/433 924/709/429 -f 926/711/431 929/715/434 925/710/430 -f 927/712/432 930/716/435 926/711/431 -f 427/362/163 931/717/436 927/712/432 -f 924/709/429 932/718/437 919/357/424 -f 463/398/199 458/393/194 922/708/427 -f 462/397/198 461/396/197 473/408/209 -f 435/370/171 433/368/169 921/706/426 -f 413/348/149 473/408/209 405/340/141 -f 418/353/154 916/719/421 431/366/167 -f 923/707/428 916/719/421 418/353/154 -f 922/708/427 925/710/430 924/709/429 -f 459/394/195 926/711/431 925/710/430 -f 402/337/138 927/712/432 926/711/431 -f 404/339/140 427/362/163 927/712/432 -f 425/360/161 423/358/159 467/402/203 -f 928/714/433 932/718/437 924/709/429 -f 929/715/434 928/714/433 925/710/430 -f 930/716/435 929/715/434 926/711/431 -f 931/717/436 930/716/435 927/712/432 -f 932/718/437 920/720/425 919/357/424 -f 406/341/142 470/405/206 407/342/143 -f 409/344/145 463/398/199 410/345/146 -f 412/347/148 473/408/209 413/348/149 -f 407/342/143 921/706/426 415/350/151 -f 421/356/157 418/353/154 417/352/153 -f 424/359/160 427/362/163 404/339/140 -f 426/361/162 931/717/436 427/362/163 -f 423/358/159 465/400/201 467/402/203 -f 404/339/140 464/399/200 423/358/159 -f 465/400/201 455/390/191 467/402/203 -f 464/399/200 465/400/201 423/358/159 -f 403/338/139 464/399/200 404/339/140 -f 834/338/386 802/337/354 804/339/356 -f 825/341/377 787/340/339 784/342/336 -f 826/344/378 796/343/348 795/345/347 -f 827/347/379 933/346/438 789/348/341 -f 784/342/336 934/349/439 782/350/334 -f 784/342/336 786/351/338 934/349/439 -f 790/353/342 828/352/380 791/354/343 -f 794/356/346 935/355/440 828/352/380 -f 796/343/348 791/354/343 828/352/380 -f 829/359/381 822/358/374 804/339/356 -f 822/358/374 829/359/381 806/360/358 -f 830/361/382 829/359/381 813/362/365 -f 936/363/441 792/366/344 791/354/343 -f 937/365/442 938/395/443 792/366/344 -f 939/367/444 933/346/438 827/347/379 -f 940/369/445 783/368/335 782/350/334 -f 940/369/445 779/370/331 783/368/335 -f 941/371/446 942/376/447 943/372/448 -f 944/374/449 945/373/450 946/375/451 -f 942/376/447 941/371/446 944/374/449 -f 782/350/334 934/349/439 947/377/452 -f 789/348/341 948/378/453 788/379/340 -f 786/351/338 785/380/337 948/378/453 -f 789/348/341 933/346/438 949/381/454 -f 939/367/444 950/384/455 949/381/454 -f 789/348/341 949/381/454 948/378/453 -f 951/383/456 952/382/457 950/384/455 -f 947/377/452 940/369/445 782/350/334 -f 947/377/452 948/378/453 953/385/458 -f 954/386/459 944/374/449 941/371/446 -f 955/387/460 941/371/446 940/369/445 -f 949/381/454 950/384/455 954/386/459 -f 953/385/458 948/378/453 949/381/454 -f 954/386/459 950/384/455 952/382/457 -f 956/388/461 945/373/450 954/386/459 -f 957/389/462 780/391/332 779/370/331 -f 833/390/385 808/402/360 780/391/332 -f 958/392/463 800/394/352 802/337/354 -f 816/393/368 798/708/350 800/394/352 -f 959/364/464 791/354/343 796/343/348 -f 938/395/443 937/365/442 819/397/371 -f 940/369/445 943/372/448 779/370/331 -f 947/377/452 953/385/458 940/369/445 -f 934/349/439 786/351/338 947/377/452 -f 948/378/453 947/377/452 786/351/338 -f 948/378/453 785/380/337 788/379/340 -f 950/384/455 939/367/444 951/383/456 -f 952/382/457 956/388/461 954/386/459 -f 945/373/450 944/374/449 954/386/459 -f 827/347/379 819/397/371 937/365/442 -f 951/383/456 939/367/444 827/347/379 -f 951/383/456 827/347/379 959/364/464 -f 826/344/378 956/388/461 952/382/457 -f 826/344/378 945/373/450 956/388/461 -f 946/375/451 945/373/450 826/344/378 -f 942/376/447 946/375/451 817/398/369 -f 957/389/462 943/372/448 942/376/447 -f 833/390/385 942/376/447 816/393/368 -f 958/392/463 832/399/384 831/400/383 -f 958/392/463 834/338/386 832/399/384 -f 936/363/441 959/364/464 937/365/442 -f 959/364/464 827/347/379 937/365/442 -f 952/382/457 951/383/456 959/364/464 -f 959/364/464 826/344/378 952/382/457 -f 817/398/369 946/375/451 826/344/378 -f 816/393/368 942/376/447 817/398/369 -f 833/390/385 957/389/462 942/376/447 -f 831/400/383 833/390/385 816/393/368 -f 816/393/368 958/392/463 831/400/383 -f 960/401/465 961/404/466 780/391/332 -f 962/403/467 963/406/468 961/404/466 -f 824/405/376 781/706/333 961/404/466 -f 964/407/469 818/396/370 820/408/372 -f 825/341/377 965/801/470 966/407/471 -f 967/799/472 938/395/443 818/396/370 -f 968/800/473 967/799/472 964/407/469 -f 968/800/473 793/707/345 821/719/373 -f 792/366/344 938/395/443 967/799/472 -f 808/402/360 807/713/359 960/401/465 -f 969/802/474 806/360/358 829/359/381 -f 969/802/474 970/803/475 807/713/359 -f 807/713/359 970/803/475 962/403/467 -f 828/352/380 935/355/440 823/720/375 -f 824/405/376 784/342/336 781/706/333 -f 817/398/369 795/345/347 798/708/350 -f 819/397/371 827/347/379 820/408/372 -f 781/706/333 780/391/332 961/404/466 -f 971/661/476 777/659/329 776/704/328 -f 972/804/477 708/636/297 707/635/296 -f 646/573/33 663/590/33 973/805/33 -f 643/570/269 629/557/263 683/611/280 -f 835/721/387 707/635/296 748/676/310 -f 974/806/33 973/805/33 181/110/59 -f 835/721/387 630/558/264 643/570/269 -f 760/689/317 975/807/478 976/808/314 -f 977/809/254 978/810/479 759/688/316 -f 975/807/478 979/811/480 980/812/295 -f 628/556/262 630/558/264 977/809/254 -f 978/810/479 760/689/317 759/688/316 -f 979/811/480 981/813/481 982/814/294 -f 981/813/481 983/815/482 984/816/483 -f 984/816/483 983/815/482 770/700/322 -f 771/701/323 770/700/322 983/815/482 -f 985/817/484 984/816/483 770/700/322 -f 682/610/253 628/556/262 977/809/254 -f 986/818/485 987/819/486 988/820/487 -f 989/821/23 652/579/23 990/822/23 -f 676/604/39 880/763/39 991/823/39 -f 989/821/23 653/580/23 652/579/23 -f 651/578/23 992/824/23 652/579/23 -f 993/825/488 994/826/489 995/827/490 -f 664/594/39 738/666/39 764/828/39 -f 996/829/491 997/830/492 998/831/493 -f 999/832/23 1000/833/23 997/834/492 -f 1001/835/33 1002/606/33 1003/836/33 -f 752/681/313 867/750/400 613/541/249 -f 1004/607/33 1002/606/33 1001/835/33 -f 1005/837/33 757/686/33 756/685/33 -f 1006/838/39 1007/839/39 1008/840/39 -f 1009/840/33 1010/839/33 1011/841/33 -f 1012/842/494 1013/843/494 1014/844/494 -f 1015/838/495 1016/845/496 1017/846/495 -f 1018/847/497 1019/848/498 1020/849/499 -f 1021/850/500 1020/849/499 1019/848/498 -f 1022/851/501 656/583/274 1023/852/502 -f 1024/853/18 1025/854/18 1026/855/18 -f 1020/849/499 1027/856/503 1018/847/497 -f 837/723/39 666/593/39 665/592/39 -f 1028/857/504 1029/858/33 1030/576/271 -f 636/563/33 1031/859/33 637/564/33 -f 1032/860/395 1033/861/39 1034/862/39 -f 1035/863/33 1031/859/33 179/108/33 -f 1036/864/33 179/108/33 1037/865/505 -f 1038/866/33 1037/865/505 1039/867/56 -f 1040/868/33 1039/867/56 691/619/55 -f 1041/869/506 1042/870/507 1043/871/508 -f 638/565/33 636/563/33 1044/872/33 -f 637/564/33 1031/859/33 1045/873/33 -f 1045/873/33 1031/859/33 1035/863/33 -f 1036/864/33 1035/863/33 179/108/33 -f 1038/866/33 1036/864/33 1037/865/505 -f 1037/865/505 179/108/33 178/107/33 -f 1040/868/33 1038/866/33 1039/867/56 -f 1046/874/509 1040/868/33 691/619/55 -f 1046/874/509 691/619/55 690/618/286 -f 177/106/58 176/105/33 1047/875/33 -f 686/614/282 177/106/58 1047/875/33 -f 1048/876/33 636/563/33 638/565/33 -f 639/566/33 638/565/33 1044/872/33 -f 1044/872/33 636/563/33 635/562/33 -f 1049/877/510 1050/878/511 987/819/486 -f 1051/879/41 186/115/41 185/114/41 -f 184/113/41 183/112/41 186/115/41 -f 1052/880/51 766/696/51 867/750/400 -f 1053/881/512 768/698/320 767/697/51 -f 768/698/320 1053/881/512 1054/882/403 -f 1055/883/513 761/690/318 616/544/252 -f 745/673/307 740/668/304 1056/884/514 -f 693/621/288 1057/885/515 694/622/58 -f 1058/886/516 1059/887/517 739/667/303 -f 1060/888/518 1061/889/58 1062/890/519 -f 740/668/304 739/667/303 1059/887/517 -f 745/673/307 1057/885/515 693/621/288 -f 974/806/33 181/110/59 1029/858/33 -f 612/540/248 881/764/404 613/541/249 -f 864/747/397 1055/883/513 616/544/252 -f 1063/891/33 1064/892/33 1065/893/33 -f 763/692/316 754/683/315 706/634/33 -f 706/634/33 695/623/289 174/103/57 -f 973/805/33 663/590/33 181/110/59 -f 181/110/59 1030/576/271 1029/858/33 -f 174/103/57 181/110/59 663/590/33 -f 630/558/264 978/810/479 977/809/254 -f 1066/894/41 1051/895/41 185/896/41 -f 187/116/41 186/115/41 183/112/41 -f 676/604/39 675/603/39 880/763/39 -f 1067/897/520 1068/898/39 1069/899/39 -f 1070/900/521 645/572/271 644/571/270 -f 1028/857/504 1030/576/271 1071/577/521 -f 1072/901/51 1073/902/51 1074/903/51 -f 1075/904/51 1072/901/51 1076/905/51 -f 1074/903/51 1077/906/51 1076/905/51 -f 1072/901/51 1074/903/51 1076/905/51 -f 1075/904/51 1078/907/51 1072/901/51 -f 1079/908/39 1080/909/522 1081/910/523 -f 1082/911/33 1083/912/33 1084/913/524 -f 1085/914/41 1086/915/41 1087/916/41 -f 1088/917/51 1089/918/51 1090/919/51 -f 1091/920/41 1092/921/41 1087/916/41 -f 1084/913/524 1081/910/523 1080/909/522 -f 1093/922/525 1094/923/33 1095/924/33 -f 1093/922/525 1096/925/525 1097/926/526 -f 1098/927/527 1099/928/528 1100/929/529 -f 1101/930/51 1102/931/51 1103/932/51 -f 1103/932/51 1102/931/51 1076/905/51 -f 1104/933/23 1105/929/23 1106/928/23 -f 1107/934/39 1108/935/530 1109/936/531 -f 1110/937/23 1111/938/532 1112/939/533 -f 1113/940/41 1114/941/41 1115/942/41 -f 1092/921/41 1091/920/41 1116/943/41 -f 1116/943/41 1117/944/41 1115/942/41 -f 1112/939/533 1111/938/532 1118/945/534 -f 1119/946/535 1120/947/535 1121/948/23 -f 1109/936/531 1108/935/530 1122/949/527 -f 1090/919/51 1078/907/51 1075/904/51 -f 1123/950/33 1124/951/33 1125/927/33 -f 1119/946/535 1126/952/536 1127/953/536 -f 1128/954/537 1097/926/526 1127/953/536 -f 1073/902/51 1129/955/51 1074/903/51 -f 1130/956/33 94/32/33 96/34/33 -f 1131/17/34 97/35/34 99/23/34 -f 1132/12/23 100/36/23 102/38/23 -f 1133/957/35 103/39/35 105/40/37 -f 1134/958/33 1135/959/33 1130/956/33 -f 1136/960/538 105/40/37 1137/961/539 -f 96/34/33 1134/958/33 1130/956/33 -f 1135/959/33 1138/962/33 1130/956/33 -f 1131/17/34 99/23/34 1139/18/34 -f 102/38/23 1140/13/23 1132/12/23 -f 105/40/37 104/31/36 1137/961/539 -f 1141/37/540 1142/36/540 1143/28/540 -f 1144/963/541 177/106/58 686/614/282 -f 883/766/406 1145/964/542 698/626/291 -f 883/766/406 698/626/291 700/628/293 -f 699/627/292 1043/871/508 700/628/293 -f 705/633/33 696/624/290 695/623/289 -f 1146/965/543 1147/966/544 1148/967/545 -f 1149/968/546 1150/969/547 1151/970/548 -f 1152/971/549 1153/972/550 1154/973/551 -f 1153/972/550 1155/974/552 1154/973/551 -f 1042/870/507 700/628/293 1043/871/508 -f 1151/970/548 1150/969/547 1156/975/39 -f 1157/976/23 1158/977/553 1159/978/23 -f 1160/979/552 1145/964/542 883/766/406 -f 1152/971/549 1161/980/23 1153/972/550 -f 1162/981/554 1163/982/292 1164/983/555 -f 1165/984/18 1166/985/18 1167/986/556 -f 1168/987/557 1152/971/549 1169/988/558 -f 1161/980/23 1170/989/23 1153/972/550 -f 714/642/33 734/662/33 715/643/300 -f 711/639/23 719/647/301 712/640/299 -f 1171/990/18 1172/991/18 1173/992/559 -f 1174/993/560 1175/994/561 1176/995/41 -f 1175/996/561 1174/997/560 1177/998/39 -f 1178/999/51 1179/1000/51 1180/1001/562 -f 1181/1002/494 1182/1003/494 1183/1004/494 -f 1184/1005/563 655/582/273 654/581/272 -f 1182/1003/494 1185/1006/494 1183/1004/494 -f 1186/1007/494 1181/1002/494 1187/1008/494 -f 618/546/254 763/692/316 659/586/33 -f 1188/1009/41 1189/1010/41 1190/1011/41 -f 1191/1012/41 1192/1013/41 1189/1010/41 -f 993/825/488 1193/1014/564 994/826/489 -f 701/629/294 745/673/307 693/621/288 -f 747/675/309 744/672/33 745/673/307 -f 1182/1003/494 1012/842/494 1014/844/494 -f 1194/1015/494 1014/844/494 1013/843/494 -f 742/670/33 740/668/304 745/673/307 -f 1187/1008/494 1181/1002/494 1183/1004/494 -f 743/671/306 741/669/305 740/668/304 -f 675/603/39 879/762/39 880/763/39 -f 1050/878/511 988/820/487 987/819/486 -f 908/795/414 1195/1016/565 998/831/493 -f 1196/1017/566 993/825/488 995/827/490 -f 1176/995/41 1197/1018/559 1173/992/559 -f 1178/999/51 1198/1019/567 1199/1020/568 -f 1180/1001/562 1200/1021/39 1177/1022/39 -f 1201/1023/18 1199/1020/568 1198/1019/567 -f 1202/1024/277 1203/1025/569 1204/1026/277 -f 677/605/276 679/607/277 1204/1026/277 -f 1205/1027/41 1206/1028/41 1207/1029/41 -f 1208/1030/41 1209/1031/41 1207/1029/41 -f 1210/1032/41 1211/1033/41 1209/1031/41 -f 1212/1034/39 662/589/39 664/594/39 -f 888/771/23 1213/1035/411 895/780/23 -f 900/785/39 1214/1036/39 901/786/39 -f 1215/1037/258 622/550/23 894/779/23 -f 1216/1038/274 1217/1039/502 1218/1040/570 -f 1219/1041/51 1220/822/51 1221/1042/51 -f 1222/1043/33 1223/1044/33 1224/1045/33 -f 1225/774/18 1226/1046/18 1227/1047/18 -f 1228/1048/18 1229/773/18 1225/774/18 -f 1213/1035/411 1230/1049/571 895/780/23 -f 1231/1050/572 1232/1051/572 1233/1052/573 -f 1234/1053/574 658/585/275 1218/1040/570 -f 1235/1054/23 1236/1055/23 1237/1056/23 -f 1238/1057/33 1239/1058/33 1240/1059/33 -f 1241/1060/575 1242/1061/575 1243/981/576 -f 1167/986/556 1244/1062/577 1245/1063/578 -f 1246/1064/23 1247/1065/23 1248/1066/23 -f 1249/1067/18 1250/1068/18 1251/1069/18 -f 1252/1070/579 1253/1071/580 1254/1068/581 -f 1255/1072/582 1256/1073/583 1257/1074/584 -f 1258/1075/585 1257/1074/584 1253/1071/580 -f 1259/1076/586 1260/1077/587 1261/1078/587 -f 1262/1079/23 1263/1080/23 1259/1076/586 -f 1264/1081/41 1265/1082/41 1266/1083/41 -f 1267/1084/41 1268/1085/41 1269/1086/41 -f 1244/1062/577 1270/968/588 1271/1087/588 -f 890/776/410 1272/1088/589 1273/1089/590 -f 1274/1090/23 1275/1091/23 1276/1092/23 -f 1277/1093/575 1278/1094/575 1279/1095/591 -f 1236/1055/23 1235/1054/23 1158/977/553 -f 1158/977/553 1168/987/557 1159/978/23 -f 1280/1096/592 883/766/406 887/770/409 -f 1281/1097/571 1282/1098/593 1283/1046/593 -f 1284/1099/593 1285/1100/593 1230/1049/571 -f 1256/1073/583 1255/1072/582 1286/1101/39 -f 1051/895/41 1066/894/41 1287/1102/41 -f 1288/1103/41 1266/1083/41 1267/1084/41 -f 1289/1104/41 1287/1102/41 1264/1105/41 -f 1290/1106/594 1291/1107/594 1292/1108/594 -f 1280/1096/592 1160/979/552 883/766/406 -f 695/623/289 706/634/33 705/633/33 -f 1293/1109/291 1148/967/545 1147/966/544 -f 1294/1108/18 1295/1107/18 1296/1110/18 -f 1152/971/549 1154/973/551 1169/988/558 -f 1297/1111/595 1298/1106/596 1299/1112/596 -f 1233/1052/573 1297/1111/595 1300/1113/597 -f 1301/1114/18 1232/1051/572 1231/1050/572 -f 1302/893/598 1303/1115/598 1304/1116/598 -f 1305/892/599 1306/1117/599 1307/1115/599 -f 1308/1118/23 1309/1119/23 1310/1115/23 -f 1311/1120/600 1312/1121/600 1313/1117/600 -f 1314/1122/601 1061/889/58 1060/888/518 -f 1315/1123/602 1316/1124/603 700/628/293 -f 1317/1125/604 1318/1126/605 1319/1127/606 -f 1320/1128/607 1321/1129/608 1322/1130/602 -f 1323/1131/609 1324/1132/610 1325/1133/611 -f 1315/1123/602 700/628/293 1042/870/507 -f 1316/1124/603 1315/1123/602 1318/1126/605 -f 1326/1134/605 1327/1135/514 1328/1136/612 -f 1327/1135/514 1326/1134/605 1322/1130/602 -f 1321/1129/608 1329/1137/613 1062/890/519 -f 1330/1138/516 1331/1139/614 1332/1140/615 -f 1267/1084/41 1269/1086/41 1288/1103/41 -f 1288/1103/41 1289/1141/41 1264/1081/41 -f 1333/1142/39 676/604/39 991/823/39 -f 1246/1064/23 1334/1143/23 1247/1065/23 -f 1235/1054/23 1237/1056/23 1334/1143/23 -f 1246/1064/23 1335/1144/23 1235/1054/23 -f 1144/963/541 686/614/282 688/616/284 -f 688/616/284 1239/1058/33 1238/1057/33 -f 1155/974/552 1336/1145/592 1337/1146/616 -f 1159/978/23 1168/987/557 1169/988/558 -f 1338/1147/617 1154/973/551 1155/974/552 -f 1336/1145/592 1339/1148/618 1337/1146/616 -f 1340/1149/23 1339/1148/618 1336/1145/592 -f 1341/1150/23 1340/1149/23 1342/1151/590 -f 1274/1090/23 1343/1152/589 1275/1091/23 -f 1344/1153/23 1341/1150/23 1343/1152/589 -f 1345/1154/23 1344/1153/23 1274/1090/23 -f 1346/1155/23 1347/1156/23 1345/1154/23 -f 1346/1155/23 1248/1066/23 1347/1156/23 -f 1246/1064/23 1235/1054/23 1334/1143/23 -f 1163/982/292 1293/1109/291 1348/1157/619 -f 1342/1151/590 1340/1149/23 1336/1145/592 -f 1343/1152/589 1341/1150/23 1342/1151/590 -f 1274/1090/23 1344/1153/23 1343/1152/589 -f 1346/1155/23 1345/1154/23 1274/1090/23 -f 1349/1158/620 1350/1159/621 1351/1160/622 -f 1346/1155/23 1246/1064/23 1248/1066/23 -f 892/775/23 1281/1097/571 891/774/411 -f 899/784/39 902/788/39 897/782/39 -f 1352/1161/623 1353/1162/624 1354/1163/625 -f 1018/847/497 1027/856/503 1352/1161/623 -f 1355/1164/501 1356/1165/626 1217/1039/502 -f 1356/1165/626 1355/1164/501 1357/1166/627 -f 1357/1166/627 1354/1163/625 1353/1162/624 -f 1358/1167/628 1359/1168/629 1360/1169/630 -f 1359/1168/629 1361/1170/631 1362/1171/632 -f 1363/1172/633 1358/1167/628 1364/1173/634 -f 1361/1170/631 1365/1174/635 1366/1175/636 -f 1367/1176/637 1363/1172/633 1368/1177/638 -f 1365/1174/635 1369/1178/639 1370/1179/640 -f 1371/1180/641 1367/1176/637 1372/1181/642 -f 1369/1178/639 1373/1182/643 1374/1183/644 -f 1375/1184/645 1371/1180/641 1376/1185/646 -f 1373/1182/643 1234/1053/574 1377/1186/647 -f 1350/1159/621 1375/1184/645 1378/1187/648 -f 1379/1043/41 1380/579/41 1381/1188/649 -f 1382/1189/33 1223/1044/33 1222/1043/33 -f 1224/1045/33 1383/1190/33 1222/1043/33 -f 1384/1042/18 1385/822/18 1386/579/18 -f 1383/1190/33 1387/1191/33 1388/1042/33 -f 657/584/18 1389/1192/18 1218/1040/570 -f 620/548/255 622/550/23 1215/1037/258 -f 1390/1193/650 1391/1194/651 1392/1195/652 -f 1392/1195/652 1393/1196/653 1394/1197/654 -f 1394/1197/654 1390/1193/650 1392/1195/652 -f 1395/1198/655 1396/1199/656 1390/1193/650 -f 1397/1200/657 1398/1201/405 1396/1199/656 -f 1399/1202/658 843/729/392 1400/1203/408 -f 625/553/259 685/613/281 623/551/257 -f 1401/1204/659 1402/1205/412 1398/1201/405 -f 843/729/392 624/552/258 1400/1203/408 -f 1399/1202/658 1403/1206/407 1402/1205/412 -f 625/553/259 840/726/390 838/724/388 -f 749/677/311 839/725/389 748/676/310 -f 839/725/389 840/726/390 748/676/310 -f 838/724/388 1404/1207/660 1405/1208/265 -f 749/677/311 709/637/298 1406/1209/661 -f 1404/1207/660 838/724/388 839/725/389 -f 1407/652/662 1408/1210/663 1409/1211/664 -f 1408/1210/663 1407/652/662 1410/650/665 -f 1411/1212/666 1412/644/667 1413/646/668 -f 1410/650/665 1414/640/669 1415/1213/670 -f 1392/1195/652 1416/1214/671 1393/1196/653 -f 771/701/323 983/815/482 1394/1197/654 -f 983/815/482 981/813/481 1395/1198/655 -f 979/811/480 975/807/478 1401/1204/659 -f 1395/1198/655 981/813/481 979/811/480 -f 975/807/478 760/689/317 1399/1202/658 -f 1400/1203/408 1403/1206/407 1399/1202/658 -f 1417/1215/23 1418/1216/23 844/730/23 -f 684/612/255 624/552/258 623/551/257 -f 835/721/387 748/676/310 840/726/390 -f 1399/1202/658 760/689/317 978/810/479 -f 835/721/387 840/726/390 625/553/259 -f 843/729/392 978/810/479 630/558/264 -f 1419/1217/656 882/765/405 700/628/293 -f 1420/1218/672 1419/1217/656 1316/1124/603 -f 1421/1219/23 1422/1220/673 1420/1218/672 -f 1423/1221/23 1421/1219/23 1316/1124/603 -f 1424/1222/674 1423/1221/23 1317/1125/604 -f 1317/1125/604 1325/1133/611 1324/1132/610 -f 905/791/39 869/752/39 868/751/39 -f 1316/1124/603 1419/1217/656 700/628/293 -f 1421/1219/23 1420/1218/672 1316/1124/603 -f 1317/1125/604 1423/1221/23 1316/1124/603 -f 1324/1132/610 1424/1222/674 1317/1125/604 -f 885/768/408 1215/1037/258 894/779/23 -f 1425/1223/494 1426/1224/494 1427/1225/494 -f 1428/1226/494 1429/1227/494 1430/1228/494 -f 1428/1226/494 1430/1228/494 1427/1225/494 -f 1426/1224/494 1428/1226/494 1427/1225/494 -f 1426/1224/494 1425/1223/494 1431/1229/494 -f 1431/1229/494 1432/1230/494 1433/1231/494 -f 1194/1015/494 1013/843/494 1433/1231/494 -f 1434/1232/675 1435/1233/676 1436/1234/677 -f 1436/1234/677 1437/1235/678 1438/1236/679 -f 1439/1237/680 1440/1238/681 1441/1239/682 -f 1442/1240/683 1440/1238/681 1439/1237/680 -f 1184/1005/563 1443/1241/684 1435/1233/676 -f 1181/1002/494 1186/1007/494 1429/1227/494 -f 1433/1231/494 1444/1242/494 1431/1229/494 -f 750/1243/39 666/593/39 899/784/39 -f 1445/1244/41 1446/1245/41 1447/1246/41 -f 1448/1024/23 1449/1026/23 1450/1247/23 -f 1451/835/39 1452/1247/39 1453/1026/39 -f 1450/1248/23 1454/1249/23 1455/1250/23 -f 1456/1251/22 70/12/22 72/14/22 -f 1457/1251/23 73/14/23 75/16/23 -f 87/27/31 76/17/24 78/19/26 -f 1458/1252/28 79/20/27 81/22/28 -f 1459/9/29 82/21/29 84/24/29 -f 78/19/26 85/25/30 87/27/31 -f 1460/1253/23 88/28/23 90/30/23 -f 1461/39/32 91/25/32 93/31/32 -f 144/79/50 135/70/42 137/72/44 -f 114/49/38 138/73/45 117/52/40 -f 139/74/45 138/73/45 141/76/47 -f 141/76/47 140/75/46 143/78/49 -f 143/78/49 142/77/48 136/71/43 -f 1462/3/51 146/7/51 148/82/51 -f 1463/1254/51 149/83/51 151/85/51 -f 1464/88/39 152/86/39 154/54/39 -f 1465/1255/23 155/87/23 157/88/23 -f 1466/92/23 158/89/23 160/91/23 -f 1467/69/51 161/92/51 163/61/51 -f 311/246/90 169/98/52 171/100/54 -f 695/623/289 172/101/55 174/103/57 -f 638/565/33 175/104/33 177/106/58 -f 1468/574/505 181/110/59 173/102/56 -f 1469/1256/41 185/114/41 187/116/41 -f 312/247/41 188/117/41 190/119/41 -f 313/248/89 191/120/60 193/122/62 -f 314/249/51 194/123/51 196/125/51 -f 171/100/54 170/99/53 198/127/64 -f 190/119/41 189/118/41 200/1257/41 -f 193/122/62 192/121/61 202/132/66 -f 196/125/51 195/124/51 204/134/51 -f 198/127/64 197/126/63 206/136/68 -f 200/1257/41 199/137/41 208/139/41 -f 202/132/66 201/131/65 210/141/70 -f 204/134/51 203/133/51 212/143/51 -f 206/1258/68 205/1259/67 214/1260/72 -f 208/139/41 207/138/41 216/147/41 -f 210/1261/70 209/1262/69 218/1263/74 -f 212/143/51 211/142/51 220/152/51 -f 1470/1264/95 221/1265/75 223/1266/77 -f 216/147/41 215/146/41 225/157/41 -f 1471/1267/94 226/158/78 228/160/80 -f 220/152/51 219/151/51 230/162/51 -f 223/1266/77 222/163/76 232/165/82 -f 225/157/41 224/156/41 234/167/41 -f 228/160/80 227/159/79 236/169/84 -f 230/162/51 229/161/51 238/171/51 -f 232/165/82 231/164/81 240/173/86 -f 234/167/41 233/166/41 242/175/41 -f 236/169/84 235/168/83 244/177/88 -f 238/171/51 237/170/51 246/179/51 -f 240/173/86 239/172/85 248/1268/89 -f 242/175/41 241/174/41 250/184/41 -f 244/177/88 243/176/87 252/186/90 -f 246/179/51 245/178/51 254/188/51 -f 248/1268/89 247/1269/60 256/1270/62 -f 250/184/41 249/183/41 258/192/41 -f 252/186/90 251/185/52 260/194/54 -f 254/188/51 253/187/51 262/196/51 -f 256/1270/62 255/1271/91 264/1272/66 -f 258/192/41 257/191/41 266/200/41 -f 260/194/54 259/193/53 268/202/64 -f 262/196/51 261/195/51 270/204/51 -f 264/1272/66 263/1273/65 272/1274/70 -f 266/200/41 265/199/41 274/208/41 -f 268/202/64 267/201/63 276/210/93 -f 270/204/51 269/203/51 278/212/51 -f 272/206/70 271/205/69 280/214/94 -f 274/208/41 273/207/41 282/216/41 -f 276/210/93 275/209/92 284/218/95 -f 278/212/51 277/211/51 286/220/51 -f 280/214/94 279/213/73 288/222/97 -f 282/216/41 281/215/41 290/224/41 -f 284/1275/95 283/225/71 292/227/77 -f 286/220/51 285/219/51 294/229/51 -f 288/222/97 287/221/96 296/231/84 -f 290/224/41 289/223/41 298/233/41 -f 292/227/77 291/226/76 300/235/82 -f 294/229/51 293/228/51 302/237/51 -f 296/231/84 295/230/83 304/239/88 -f 298/233/41 297/232/41 306/241/41 -f 300/235/82 299/234/81 308/243/98 -f 302/237/51 301/236/51 310/245/51 -f 304/239/88 303/238/87 311/246/90 -f 306/241/41 305/240/41 312/247/41 -f 308/243/98 307/242/85 313/248/89 -f 310/245/51 309/244/51 314/249/51 -f 338/273/23 315/250/23 317/252/23 -f 317/252/23 316/251/23 319/254/23 -f 319/254/23 318/253/23 321/256/23 -f 321/256/23 320/255/23 323/258/23 -f 323/258/23 322/257/23 325/260/23 -f 325/260/23 324/259/23 327/262/23 -f 327/262/23 326/261/23 329/264/23 -f 329/264/23 328/263/23 331/266/23 -f 331/266/23 330/265/23 333/268/23 -f 333/268/23 332/267/23 335/270/23 -f 335/270/23 334/269/23 337/272/23 -f 337/272/23 336/271/23 338/273/23 -f 349/284/106 339/274/99 341/276/101 -f 401/336/137 342/277/102 344/279/104 -f 354/289/110 348/283/105 349/284/106 -f 344/279/104 343/278/103 351/286/108 -f 1472/1276/214 353/288/109 354/289/110 -f 351/286/108 350/285/107 356/291/112 -f 365/300/119 358/293/113 360/295/115 -f 356/291/112 355/290/111 362/297/117 -f 370/305/123 364/299/118 365/300/119 -f 362/297/117 361/296/116 367/302/121 -f 375/310/126 369/304/122 370/305/123 -f 367/302/121 366/301/120 372/307/125 -f 380/315/129 374/309/120 375/310/126 -f 372/307/125 371/306/124 377/312/123 -f 385/320/117 379/314/128 380/315/129 -f 377/312/123 376/311/127 382/317/130 -f 390/325/132 384/319/131 385/320/117 -f 382/317/130 381/316/113 387/322/115 -f 396/331/135 389/324/107 390/325/132 -f 1473/1277/214 391/326/109 393/328/110 -f 400/335/104 395/330/134 396/331/135 -f 393/328/110 392/327/133 398/333/136 -f 341/276/101 340/275/100 400/335/104 -f 398/333/136 397/332/99 401/336/137 -f 419/354/155 408/343/144 417/352/153 -f 431/366/167 428/363/164 419/354/155 -f 460/395/196 430/365/166 431/366/167 -f 441/376/177 436/371/172 437/372/173 -f 436/371/172 441/376/177 439/374/175 -f 449/384/185 432/367/168 446/381/182 -f 439/374/175 451/386/187 436/371/172 -f 436/371/172 452/387/188 434/369/170 -f 449/384/185 446/381/182 451/386/187 -f 443/378/179 450/385/186 446/381/182 -f 456/391/192 454/389/190 435/370/171 -f 467/402/203 455/390/191 456/391/192 -f 459/394/195 457/392/193 402/337/138 -f 922/708/427 458/393/194 459/394/195 -f 419/354/155 429/364/165 408/343/144 -f 430/365/166 460/395/196 462/397/198 -f 469/404/205 466/401/202 456/391/192 -f 471/406/207 468/403/204 469/404/205 -f 921/706/426 470/405/206 469/404/205 -f 461/396/197 472/407/208 473/408/209 -f 481/416/120 477/412/121 479/414/210 -f 485/420/124 480/415/125 481/416/120 -f 479/414/210 478/413/117 483/418/111 -f 487/422/212 484/419/123 485/420/124 -f 491/426/113 486/421/211 487/422/212 -f 483/418/111 482/417/112 489/424/107 -f 493/428/114 490/425/214 491/426/113 -f 497/432/133 492/427/110 493/428/114 -f 489/424/107 488/423/213 495/430/103 -f 499/434/99 496/431/136 497/432/133 -f 500/435/102 498/433/137 499/434/99 -f 495/430/103 494/429/104 500/435/102 -f 505/412/33 501/436/33 503/413/33 -f 509/415/33 504/438/33 505/412/33 -f 503/413/33 502/437/33 507/417/33 -f 511/419/33 508/440/33 509/415/33 -f 514/421/33 510/441/33 511/419/33 -f 507/417/33 506/439/33 513/423/33 -f 516/425/33 474/443/33 514/421/33 -f 520/427/33 515/444/33 516/425/33 -f 513/423/33 512/442/33 518/429/33 -f 522/431/33 519/446/33 520/427/33 -f 523/433/33 521/447/33 522/431/33 -f 518/429/33 517/445/33 523/433/33 -f 531/455/117 527/451/116 529/453/121 -f 540/464/112 530/454/111 531/455/117 -f 529/453/121 528/452/120 534/458/125 -f 534/458/125 533/457/124 538/462/123 -f 550/474/108 539/463/107 540/464/112 -f 538/462/123 537/461/127 543/467/215 -f 563/487/220 546/470/216 548/472/217 -f 560/484/104 549/473/103 550/474/108 -f 1474/1278/218 552/476/218 554/478/219 -f 547/471/216 546/470/216 558/482/136 -f 562/486/137 559/483/102 560/484/104 -f 558/482/136 557/481/99 562/486/137 -f 553/477/219 563/487/220 554/478/219 -f 1475/1279/222 543/467/215 564/489/221 -f 1474/1278/218 565/490/222 552/476/218 -f 1476/1280/33 476/492/33 567/494/33 -f 611/539/247 571/499/224 573/501/226 -f 573/501/226 572/500/225 579/507/228 -f 579/507/228 578/506/227 583/511/230 -f 1477/1281/685 586/514/231 588/516/233 -f 588/516/233 587/515/232 592/520/235 -f 592/520/235 591/519/234 596/524/237 -f 1478/1282/33 597/525/33 599/527/238 -f 1479/1283/239 599/527/238 602/530/239 -f 596/524/237 595/523/236 604/532/241 -f 610/538/246 606/534/242 608/536/244 -f 1067/897/520 609/537/245 610/538/246 -f 604/532/241 603/531/240 611/539/247 -f 866/749/399 615/543/251 612/540/248 -f 608/536/244 607/535/243 627/555/261 -f 1480/555/18 632/554/18 634/561/18 -f 1442/1240/683 640/567/266 642/569/268 -f 1481/110/18 647/574/18 649/576/18 -f 641/568/267 654/581/272 642/569/268 -f 1023/852/502 656/583/274 658/585/275 -f 1482/1284/41 667/595/41 669/597/41 -f 669/597/41 668/596/41 671/599/41 -f 670/598/41 672/600/41 671/599/41 -f 629/557/263 628/556/262 683/611/280 -f 1405/1208/265 684/612/255 685/613/281 -f 1483/1285/541 692/620/287 694/622/58 -f 172/101/55 695/623/289 697/625/284 -f 749/677/311 707/635/296 709/637/298 -f 764/828/39 738/666/39 674/602/39 -f 1484/1286/33 755/684/33 757/686/33 -f 867/750/400 766/696/51 768/698/320 -f 1485/654/686 775/703/327 777/659/329 -f 971/661/476 778/705/330 773/662/325 -f 799/709/351 795/345/347 797/357/349 -f 1486/1287/39 847/733/39 849/735/39 -f 1487/1287/23 850/735/23 852/737/23 -f 1488/1288/687 853/738/393 855/740/393 -f 1489/1289/18 856/740/18 858/741/18 -f 1490/1290/39 859/742/395 861/744/39 -f 841/727/391 614/542/250 867/750/400 -f 876/759/51 871/754/51 872/755/401 -f 871/754/51 873/756/51 841/727/391 -f 872/755/401 874/757/402 876/759/51 -f 874/757/402 872/755/401 878/761/403 -f 612/540/248 616/544/252 881/764/404 -f 901/786/39 906/792/39 898/787/39 -f 911/798/416 907/794/413 909/796/415 -f 1491/1291/33 910/797/33 911/798/416 -f 1492/801/688 406/341/142 912/407/417 -f 460/395/196 913/799/418 461/396/197 -f 913/799/418 914/800/419 472/407/208 -f 923/707/428 914/800/419 916/719/421 -f 460/395/196 431/366/167 913/799/418 -f 425/360/161 918/802/423 424/359/160 -f 1493/803/689 918/802/423 917/713/422 -f 1493/803/689 917/713/422 468/403/204 -f 420/355/156 417/352/153 920/720/425 -f 408/343/144 410/345/146 422/357/158 -f 797/357/349 796/343/348 828/352/380 -f 959/364/464 936/363/441 791/354/343 -f 936/363/441 937/365/442 792/366/344 -f 940/369/445 941/371/446 943/372/448 -f 946/375/451 942/376/447 944/374/449 -f 933/346/438 939/367/444 949/381/454 -f 955/387/460 954/386/459 941/371/446 -f 953/385/458 955/387/460 940/369/445 -f 955/387/460 949/381/454 954/386/459 -f 955/387/460 953/385/458 949/381/454 -f 943/372/448 957/389/462 779/370/331 -f 957/389/462 833/390/385 780/391/332 -f 834/338/386 958/392/463 802/337/354 -f 958/392/463 816/393/368 800/394/352 -f 826/344/378 959/364/464 796/343/348 -f 818/396/370 938/395/443 819/397/371 -f 808/402/360 960/401/465 780/391/332 -f 960/401/465 962/403/467 961/404/466 -f 963/406/468 824/405/376 961/404/466 -f 787/340/339 964/407/469 820/408/372 -f 787/340/339 825/341/377 966/407/471 -f 964/407/469 967/799/472 818/396/370 -f 1494/801/690 968/800/473 964/407/469 -f 967/799/472 968/800/473 821/719/373 -f 821/719/373 792/366/344 967/799/472 -f 830/361/382 969/802/474 829/359/381 -f 806/360/358 969/802/474 807/713/359 -f 960/401/465 807/713/359 962/403/467 -f 815/357/367 828/352/380 823/720/375 -f 778/705/330 971/661/476 776/704/328 -f 643/570/269 972/804/477 707/635/296 -f 972/804/477 643/570/269 683/611/280 -f 758/687/315 760/689/317 976/808/314 -f 976/808/314 975/807/478 980/812/295 -f 980/812/295 979/811/480 982/814/294 -f 982/814/294 981/813/481 984/816/483 -f 1495/1292/23 989/821/23 990/822/23 -f 1195/1016/565 996/829/491 998/831/493 -f 996/829/491 999/1293/23 997/830/492 -f 1496/1294/33 1001/1295/33 1003/1296/33 -f 1497/845/39 1006/838/39 1008/840/39 -f 1498/1297/33 1009/840/33 1011/841/33 -f 1499/1298/691 1015/838/495 1017/846/495 -f 1022/851/501 1021/850/500 1019/848/498 -f 1021/850/500 1022/851/501 1023/852/502 -f 1500/1299/18 1024/853/18 1026/855/18 -f 1501/1300/395 1032/860/395 1034/862/39 -f 752/681/313 1052/880/51 867/750/400 -f 1502/1301/51 1053/881/512 767/697/51 -f 1503/1302/403 768/698/320 1054/882/403 -f 1057/885/515 745/673/307 1056/884/514 -f 741/669/305 1058/886/516 739/667/303 -f 1329/1137/613 1060/888/518 1062/890/519 -f 1056/884/514 740/668/304 1059/887/517 -f 1504/1303/33 1063/891/33 1065/893/33 -f 609/537/245 1067/897/520 1069/899/39 -f 1505/1304/521 1070/900/521 644/571/270 -f 1506/1305/521 1028/857/504 1071/577/521 -f 1122/949/527 1079/908/39 1081/910/523 -f 1507/1306/692 1082/911/33 1084/913/524 -f 1508/1307/41 1085/914/41 1087/916/41 -f 1509/1308/51 1088/917/51 1090/919/51 -f 1086/915/41 1091/920/41 1087/916/41 -f 1507/1306/692 1084/913/524 1080/909/522 -f 1096/925/525 1093/922/525 1095/924/33 -f 1128/954/537 1093/922/525 1097/926/526 -f 1510/950/529 1098/927/527 1100/929/529 -f 1511/1309/51 1101/930/51 1103/932/51 -f 1077/906/51 1103/932/51 1076/905/51 -f 1118/945/534 1107/934/39 1109/936/531 -f 1512/1310/23 1110/937/23 1112/939/533 -f 1117/944/41 1113/940/41 1115/942/41 -f 1513/1311/41 1092/921/41 1116/943/41 -f 1513/1311/41 1116/943/41 1115/942/41 -f 1109/936/531 1112/939/533 1118/945/534 -f 1514/1312/23 1119/946/535 1121/948/23 -f 1081/910/523 1109/936/531 1122/949/527 -f 1509/1308/51 1090/919/51 1075/904/51 -f 1120/947/535 1119/946/535 1127/953/536 -f 1126/952/536 1128/954/537 1127/953/536 -f 1515/1253/540 1141/37/540 1143/28/540 -f 1516/1087/693 1149/968/546 1151/970/548 -f 1517/1313/694 1162/981/554 1164/983/555 -f 1518/1314/695 1165/984/18 1167/986/556 -f 1197/1018/559 1171/990/18 1173/992/559 -f 1519/1315/41 1174/993/560 1176/995/41 -f 1200/1316/39 1175/996/561 1177/998/39 -f 1520/1317/562 1178/999/51 1180/1001/562 -f 1443/1241/684 1184/1005/563 654/581/272 -f 1521/1318/41 1188/1009/41 1190/1011/41 -f 1188/1009/41 1191/1012/41 1189/1010/41 -f 1185/1006/494 1182/1003/494 1014/844/494 -f 909/796/415 908/795/414 998/831/493 -f 1519/1315/41 1176/995/41 1173/992/559 -f 1179/1000/51 1178/999/51 1199/1020/568 -f 1520/1317/562 1180/1001/562 1177/1022/39 -f 1522/1319/18 1201/1320/18 1198/1321/567 -f 1203/1025/569 677/605/276 1204/1026/277 -f 1523/1322/41 1205/1027/41 1207/1029/41 -f 1206/1028/41 1208/1030/41 1207/1029/41 -f 1208/1030/41 1210/1032/41 1209/1031/41 -f 750/678/39 1212/1034/39 664/594/39 -f 1389/1192/18 1216/1038/274 1218/1040/570 -f 1524/1323/51 1219/1041/51 1221/1042/51 -f 1227/1047/18 1228/1048/18 1225/774/18 -f 1525/1324/573 1231/1050/572 1233/1052/573 -f 1377/1186/647 1234/1053/574 1218/1040/570 -f 1526/1325/33 1238/1057/33 1240/1059/33 -f 1517/1313/694 1527/1060/696 1162/981/554 -f 1518/1314/695 1167/986/556 1245/1063/578 -f 1528/1326/18 1249/1067/18 1251/1069/18 -f 1529/1067/697 1252/1070/579 1254/1068/581 -f 1258/1075/585 1255/1072/582 1257/1074/584 -f 1252/1070/579 1258/1075/585 1253/1071/580 -f 1530/1327/586 1259/1076/586 1261/1078/587 -f 1530/1327/586 1262/1079/23 1259/1076/586 -f 1288/1103/41 1264/1081/41 1266/1083/41 -f 1245/1063/578 1244/1062/577 1271/1087/588 -f 887/770/409 890/776/410 1273/1089/590 -f 1157/976/23 1236/1055/23 1158/977/553 -f 1273/1089/590 1280/1096/592 887/770/409 -f 891/774/411 1281/1097/571 1283/1046/593 -f 1213/1035/411 1284/1099/593 1230/1049/571 -f 1531/1328/39 1256/1073/583 1286/1101/39 -f 1289/1104/41 1051/895/41 1287/1102/41 -f 1532/1112/594 1290/1106/594 1292/1108/594 -f 1348/1157/619 1293/1109/291 1147/966/544 -f 1533/1329/18 1294/1108/18 1296/1110/18 -f 1300/1113/597 1297/1111/595 1299/1112/596 -f 1525/1324/573 1233/1052/573 1300/1113/597 -f 1534/1330/18 1301/1114/18 1231/1050/572 -f 1535/1331/598 1302/893/598 1304/1116/598 -f 1536/893/599 1305/892/599 1307/1115/599 -f 1537/1117/23 1308/1118/23 1310/1115/23 -f 1538/892/600 1311/1120/600 1313/1117/600 -f 1320/1128/607 1314/1122/601 1060/888/518 -f 1325/1133/611 1317/1125/604 1319/1127/606 -f 1314/1122/601 1320/1128/607 1322/1130/602 -f 1319/1127/606 1323/1131/609 1325/1133/611 -f 1317/1125/604 1316/1124/603 1318/1126/605 -f 1332/1140/615 1326/1134/605 1328/1136/612 -f 1062/890/519 1327/1135/514 1322/1130/602 -f 1322/1130/602 1321/1129/608 1062/890/519 -f 1328/1136/612 1330/1138/516 1332/1140/615 -f 1144/963/541 688/616/284 1238/1057/33 -f 1337/1146/616 1338/1147/617 1155/974/552 -f 1164/983/555 1163/982/292 1348/1157/619 -f 1539/1332/698 1349/1158/620 1351/1160/622 -f 1354/1163/625 1018/847/497 1352/1161/623 -f 1216/1038/274 1355/1164/501 1217/1039/502 -f 1353/1162/624 1356/1165/626 1357/1166/627 -f 1364/1173/634 1358/1167/628 1360/1169/630 -f 1360/1169/630 1359/1168/629 1362/1171/632 -f 1368/1177/638 1363/1172/633 1364/1173/634 -f 1362/1171/632 1361/1170/631 1366/1175/636 -f 1372/1181/642 1367/1176/637 1368/1177/638 -f 1366/1175/636 1365/1174/635 1370/1179/640 -f 1376/1185/646 1371/1180/641 1372/1181/642 -f 1370/1179/640 1369/1178/639 1374/1183/644 -f 1378/1187/648 1375/1184/645 1376/1185/646 -f 1374/1183/644 1373/1182/643 1377/1186/647 -f 1351/1160/622 1350/1159/621 1378/1187/648 -f 1540/1333/625 1379/1043/41 1381/1188/649 -f 1541/1043/18 1384/1042/18 1386/579/18 -f 1222/1043/33 1383/1190/33 1388/1042/33 -f 658/585/275 657/584/18 1218/1040/570 -f 1394/1197/654 1395/1198/655 1390/1193/650 -f 1395/1198/655 1397/1200/657 1396/1199/656 -f 1397/1200/657 1401/1204/659 1398/1201/405 -f 1401/1204/659 1399/1202/658 1402/1205/412 -f 685/613/281 838/724/388 1405/1208/265 -f 839/725/389 749/677/311 1406/1209/661 -f 1406/1209/661 1404/1207/660 839/725/389 -f 1413/646/668 1407/652/662 1409/1211/664 -f 1415/1213/670 1408/1210/663 1410/650/665 -f 1409/1211/664 1411/1212/666 1413/646/668 -f 1393/1196/653 771/701/323 1394/1197/654 -f 1394/1197/654 983/815/482 1395/1198/655 -f 1397/1200/657 979/811/480 1401/1204/659 -f 1397/1200/657 1395/1198/655 979/811/480 -f 1401/1204/659 975/807/478 1399/1202/658 -f 846/732/23 1417/1215/23 844/730/23 -f 843/729/392 1399/1202/658 978/810/479 -f 630/558/264 835/721/387 625/553/259 -f 625/553/259 843/729/392 630/558/264 -f 879/762/39 905/791/39 868/751/39 -f 1444/1242/494 1426/1224/494 1431/1229/494 -f 1432/1230/494 1194/1015/494 1433/1231/494 -f 1542/1334/699 1434/1232/675 1436/1234/677 -f 1542/1334/699 1436/1234/677 1438/1236/679 -f 1543/1335/678 1439/1237/680 1441/1239/682 -f 640/567/266 1442/1240/683 1439/1237/680 -f 1434/1232/675 1184/1005/563 1435/1233/676 -f 1428/1226/494 1181/1002/494 1429/1227/494 -f 904/790/39 750/1243/39 899/784/39 -f 1544/1336/41 1445/1244/41 1447/1246/41 -f 1545/607/39 1451/835/39 1453/1026/39 -f 1448/1024/23 1450/1247/23 1455/1337/23 -f 61/3/18 63/5/18 1546/1338/18 -f 61/3/18 66/8/18 65/7/18 -f 66/8/18 61/3/18 1546/1338/18 -f 144/79/50 64/6/19 66/8/18 -o mag_pistol_0 -v -1.109136 1.854146 1.546994 -v -1.109136 6.483851 2.313159 -v -1.109136 1.746315 1.309461 -v 1.109136 6.483851 2.313159 -v 1.109136 6.193875 2.563060 -v 1.109136 1.854146 1.546994 -v 1.109136 1.746315 1.309461 -v -1.109136 6.193875 2.563060 -v -1.109136 7.455005 0.432839 -v -0.855096 7.454038 0.681170 -v -0.637953 7.455005 0.432839 -v -1.109136 7.447666 2.316916 -v -0.851242 7.447666 2.316916 -v -0.645065 7.456246 0.114418 -v -0.808240 7.456246 0.114418 -v -0.882817 -7.449296 -6.242331 -v -1.332151 -7.578506 -5.806304 -v -1.109136 -7.583717 -5.788713 -v -1.260158 -8.694220 -2.041335 -v -1.109136 -8.686133 -2.068619 -v -0.818644 -8.777006 -1.761972 -v -0.549908 -9.201518 -0.329462 -v 0.549908 -9.201518 -0.329462 -v 0.855096 7.454038 0.681170 -v 1.109136 7.455005 0.432839 -v 0.637953 7.455005 0.432839 -v 0.645065 7.456246 0.114418 -v 0.808240 7.456246 0.114418 -v -0.413784 6.208827 -0.016872 -v 0.413784 6.208827 -0.016872 -v 0.440888 6.323021 -0.358271 -v 0.851242 7.447666 2.316916 -v -0.791829 -7.487275 -6.114170 -v 0.791829 -7.487275 -6.114170 -v 0.882817 -7.449296 -6.242331 -v 1.109136 -7.583717 -5.788713 -v 1.332151 -7.578506 -5.806304 -v 1.109136 -8.686133 -2.068619 -v -0.527911 -9.865828 -0.558221 -v 0.527911 -9.865828 -0.558221 -v 0.549908 -9.201518 -0.329462 -v 0.527911 -9.865828 -0.558221 -v -0.527911 -9.865828 -0.558221 -v -1.263812 -9.320386 -2.284039 -v -0.889556 -7.991921 -6.487401 -v 0.889556 -7.991921 -6.487401 -v 1.326758 -8.130615 -6.048564 -v 1.263812 -9.320386 -2.284039 -v -1.326758 -8.130615 -6.048564 -v 1.260158 -8.694220 -2.041335 -v 0.818644 -8.777006 -1.761972 -v -0.440888 6.323021 -0.358271 -v 1.109136 7.447666 2.316916 -v -0.549908 -9.201518 -0.329462 -v -0.330292 5.643600 3.823889 -v 0.330292 5.643600 3.823889 -v -0.639183 4.693711 3.350439 -v -0.784649 4.758710 3.184808 -v -0.823423 6.188931 3.832170 -v -0.613250 5.916150 3.869261 -v 0.639183 4.693711 3.350439 -v 0.613250 5.916150 3.869261 -v -0.791829 -7.487275 -6.114170 -v -0.440888 6.323021 -0.358271 -v 0.791829 -7.487275 -6.114170 -v 1.109136 6.187973 4.078713 -v 1.109136 1.608211 2.157616 -v 1.109136 7.455005 0.432839 -v 1.109136 -7.583717 -5.788713 -v 1.109136 1.421237 1.150594 -v 1.109136 1.152737 1.225781 -v 0.613250 6.186937 4.344059 -v 0.613250 5.905007 4.230341 -v 0.807799 6.186931 4.345726 -v -0.367306 5.610397 4.110494 -v -0.804550 1.432484 2.382775 -v 0.367306 5.610397 4.110494 -v -0.613250 6.186937 4.344059 -v -0.807799 6.186931 4.345726 -v -0.613250 5.905007 4.230341 -v -0.818644 -8.777006 -1.761972 -v 0.818644 -8.777006 -1.761972 -v -0.775337 0.764493 2.107609 -v -1.109136 1.608211 2.157616 -v -1.109136 7.455005 0.432839 -v -1.109136 1.421237 1.150594 -v -1.109136 -7.583717 -5.788713 -v -1.109136 1.152737 1.225781 -v -0.629678 6.747400 -0.181056 -v 0.440888 6.323021 -0.358271 -v 0.629678 6.747400 -0.181056 -v -0.784480 5.973367 0.123958 -v -0.784649 4.758710 3.184808 -v 0.784480 5.973367 0.123958 -v 1.109136 7.447666 2.316916 -v 1.109136 -8.686133 -2.068619 -v 0.804550 1.432484 2.382775 -v 0.775337 0.764493 2.107609 -v -1.109136 0.828570 1.868721 -v -1.109136 -8.686133 -2.068619 -v -1.109136 6.187973 4.078713 -v -0.613250 6.189570 3.985306 -v -1.109136 6.193875 2.563060 -v -1.109136 6.187973 4.078713 -v -0.823423 6.188931 3.832170 -v -0.808240 7.456246 0.114418 -v -1.109136 7.447666 2.316916 -v -1.109136 6.483851 2.313159 -v -0.839998 6.483851 2.313159 -v -0.855295 6.193875 2.563060 -v -0.855096 7.454038 0.681170 -v -0.851242 7.447666 2.316916 -v -0.839998 6.483851 2.313159 -v -0.613250 5.916150 3.869261 -v -0.613250 5.905007 4.230341 -v -0.367306 5.610397 4.110494 -v -0.613250 6.189570 3.985306 -v -0.613250 6.186937 4.344059 -v -0.804550 1.432484 2.382775 -v -0.804550 1.432484 2.382775 -v -0.836434 1.761413 1.534160 -v -0.864811 1.209287 1.297543 -v -0.866598 1.383340 1.228519 -v -1.109136 1.608211 2.157616 -v -1.109136 1.854146 1.546994 -v -0.836434 1.761413 1.534160 -v -1.109136 1.746315 1.309461 -v -0.853872 1.693580 1.365606 -v -1.109136 1.421237 1.150594 -v -0.866598 1.383340 1.228519 -v -1.109136 1.152737 1.225781 -v -0.864811 1.209287 1.297543 -v -1.109136 0.828570 1.868721 -v -0.775337 0.764493 2.107609 -v -0.818644 -8.777006 -1.761972 -v -1.326758 -8.130615 -6.048564 -v -1.332151 -7.578506 -5.806304 -v -0.882817 -7.449296 -6.242331 -v -1.263812 -9.320386 -2.284039 -v -1.260158 -8.694220 -2.041335 -v -0.527911 -9.865828 -0.558221 -v -0.549908 -9.201518 -0.329462 -v -0.855295 6.193875 2.563060 -v -0.637953 7.455005 0.432839 -v -0.610240 6.670014 0.107511 -v -0.586664 6.044359 -0.058251 -v -0.413784 6.208827 -0.016872 -v -0.629678 6.747400 -0.181056 -v -0.645065 7.456246 0.114418 -v -0.610240 6.670014 0.107511 -v -0.784480 5.973367 0.123958 -v -0.637953 7.455005 0.432839 -v -0.413784 6.208827 -0.016872 -v -0.440888 6.323021 -0.358271 -v -0.807799 6.186931 4.345726 -v -0.613250 6.189570 3.985306 -v 0.586664 6.044359 -0.058251 -v 0.889556 -7.991921 -6.487401 -v -0.889556 -7.991921 -6.487401 -v 0.784480 5.973367 0.123958 -v 0.855096 7.454038 0.681170 -v 0.610240 6.670014 0.107511 -v 0.637953 7.455005 0.432839 -v 0.645065 7.456246 0.114418 -v 0.610240 6.670014 0.107511 -v 1.109136 6.187973 4.078713 -v 1.109136 6.193875 2.563060 -v 0.823423 6.188931 3.832170 -v 0.851242 7.447666 2.316916 -v 0.839998 6.483851 2.313159 -v 0.855295 6.193875 2.563060 -v 0.413784 6.208827 -0.016872 -v 0.440888 6.323021 -0.358271 -v 0.413784 6.208827 -0.016872 -v 0.629678 6.747400 -0.181056 -v 0.807799 6.186931 4.345726 -v 0.613250 6.189570 3.985306 -v 0.784649 4.758710 3.184808 -v 0.586664 6.044359 -0.058251 -v 0.613250 6.186937 4.344059 -v 0.613250 6.189570 3.985306 -v 0.823423 6.188931 3.832170 -v 0.808240 7.456246 0.114418 -v 1.109136 7.447666 2.316916 -v 0.851242 7.447666 2.316916 -v 0.839998 6.483851 2.313159 -v 1.109136 6.483851 2.313159 -v 0.855295 6.193875 2.563060 -v -0.330292 5.643600 3.823889 -v 0.367306 5.610397 4.110494 -v 0.613250 5.916150 3.869261 -v 0.330292 5.643600 3.823889 -v 0.613250 5.905007 4.230341 -v 0.613250 6.186937 4.344059 -v 0.807799 6.186931 4.345726 -v 0.804550 1.432484 2.382775 -v 0.804550 1.432484 2.382775 -v 0.775337 0.764493 2.107609 -v 0.864811 1.209287 1.297543 -v 0.866598 1.383340 1.228519 -v 0.853872 1.693580 1.365606 -v 0.836434 1.761413 1.534160 -v 1.109136 1.608211 2.157616 -v 0.804550 1.432484 2.382775 -v 0.836434 1.761413 1.534160 -v 1.109136 1.854146 1.546994 -v 0.853872 1.693580 1.365606 -v 1.109136 1.746315 1.309461 -v 0.866598 1.383340 1.228519 -v 1.109136 1.421237 1.150594 -v 0.864811 1.209287 1.297543 -v 1.109136 1.152737 1.225781 -v 0.775337 0.764493 2.107609 -v 1.109136 0.828570 1.868721 -v 0.775337 0.764493 2.107609 -v 0.818644 -8.777006 -1.761972 -v -0.613250 6.186937 4.344059 -v 1.326758 -8.130615 -6.048564 -v 0.882817 -7.449296 -6.242331 -v 1.332151 -7.578506 -5.806304 -v 1.260158 -8.694220 -2.041335 -v 1.263812 -9.320386 -2.284039 -v 0.549908 -9.201518 -0.329462 -v 0.637953 7.455005 0.432839 -v 0.610240 6.670014 0.107511 -v 0.586664 6.044359 -0.058251 -v -0.586664 6.044359 -0.058251 -v -0.639183 4.693711 3.350439 -v 0.639183 4.693711 3.350439 -v 0.784649 4.758710 3.184808 -v -1.109136 7.447666 2.316916 -v -0.851242 7.447666 2.316916 -v -0.807799 6.186931 4.345726 -v -0.775337 0.764493 2.107609 -v -0.853872 1.693580 1.365606 -v -0.804550 1.432484 2.382775 -v -0.775337 0.764493 2.107609 -v 0.613250 6.189570 3.985306 -v 1.109136 0.828570 1.868721 -v 0.527911 -9.865828 -0.558221 -v 0.645065 7.456246 0.114418 -v -0.645065 7.456246 0.114418 -vn -1.0000 -0.0000 -0.0000 -vn 1.0000 -0.0000 -0.0000 -vn -0.0000 1.0000 0.0039 -vn -0.0000 0.9588 0.2841 -vn -0.0000 0.9484 0.3172 -vn -0.0000 -0.3256 0.9455 -vn -0.0000 -0.9535 -0.3014 -vn 0.1103 0.4144 -0.9034 -vn -0.0735 0.4256 -0.9019 -vn 0.3275 0.3966 -0.8576 -vn 0.9708 0.1320 -0.2001 -vn 0.7758 0.2586 -0.5755 -vn 0.4477 0.3447 -0.8251 -vn -0.3560 0.3788 -0.8543 -vn -0.5482 0.3301 -0.7685 -vn -0.1944 0.3772 -0.9055 -vn -0.0010 0.3847 -0.9230 -vn 0.1540 0.3797 -0.9122 -vn 0.8357 -0.2111 0.5070 -vn 0.9636 -0.1035 0.2467 -vn 0.9886 0.0575 -0.1389 -vn 0.9535 0.1154 -0.2784 -vn -0.0080 -0.3741 0.9274 -vn 0.0012 -0.3791 0.9254 -vn 0.2219 -0.3696 0.9023 -vn -0.0036 -0.3819 0.9242 -vn -0.1726 -0.3764 0.9102 -vn 0.0022 -0.3819 0.9242 -vn 0.0080 -0.3741 0.9274 -vn -0.2219 -0.3696 0.9023 -vn -0.0011 -0.3791 0.9254 -vn -0.4729 -0.3319 0.8162 -vn 0.3572 -0.3516 0.8653 -vn -0.1539 -0.3721 0.9154 -vn -0.9636 -0.1035 0.2467 -vn -0.9886 0.0575 -0.1389 -vn -0.9535 0.1154 -0.2784 -vn 0.0010 0.3847 -0.9230 -vn -0.0000 0.9310 0.3651 -vn -0.0000 0.9300 0.3676 -vn -0.0000 0.9302 0.3669 -vn 0.9710 -0.0914 0.2209 -vn 0.2322 -0.3719 0.8988 -vn 0.1539 -0.3734 0.9148 -vn -0.8442 -0.2022 0.4964 -vn -0.9710 -0.0914 0.2209 -vn -0.8357 -0.2111 0.5070 -vn 0.5563 0.3246 -0.7649 -vn 0.0001 0.9608 0.2772 -vn -0.0015 1.0000 0.0040 -vn -0.0014 1.0000 0.0023 -vn -0.5115 0.3297 -0.7935 -vn -0.0000 -0.0039 1.0000 -vn 0.0001 0.4597 0.8881 -vn -0.0000 0.2278 0.9737 -vn -0.0000 0.8351 0.5501 -vn 0.9387 -0.0984 0.3305 -vn 0.9999 0.0117 -0.0023 -vn 0.9998 0.0092 0.0149 -vn 0.9323 0.3580 0.0512 -vn 0.9411 0.3379 0.0104 -vn 0.5309 0.8401 0.1116 -vn -0.9980 -0.0211 0.0598 -vn -0.9970 0.0146 0.0763 -vn -0.9979 -0.0076 0.0647 -vn -0.9959 0.0068 0.0899 -vn -0.2927 -0.8910 -0.3470 -vn -0.3083 -0.9391 0.1520 -vn -0.3077 -0.9451 -0.1103 -vn -0.3087 -0.5872 0.7483 -vn -0.2906 -0.7546 0.5883 -vn -0.3189 0.0702 0.9452 -vn -0.3014 -0.1559 0.9407 -vn -0.2877 0.6969 0.6569 -vn -0.3131 0.5002 0.8073 -vn -0.1491 0.8829 0.4452 -vn -0.2405 0.8515 0.4659 -vn -0.9295 0.1497 -0.3372 -vn -0.9281 0.1420 -0.3443 -vn -0.3883 0.3779 -0.8405 -vn -0.9660 -0.0947 0.2406 -vn -0.9906 -0.0493 0.1279 -vn -0.9257 -0.1502 0.3472 -vn -0.9273 -0.1397 0.3472 -vn 0.9997 0.0240 0.0100 -vn 0.9368 -0.1053 0.3338 -vn 0.8731 -0.0619 0.4836 -vn 0.2534 -0.2345 0.9385 -vn 0.0038 -0.2478 0.9688 -vn 0.9613 0.2751 0.0139 -vn 0.9983 0.0446 -0.0387 -vn 0.8731 -0.0618 0.4836 -vn 0.9557 -0.0568 0.2888 -vn 0.9367 -0.1053 0.3338 -vn 0.9220 0.3843 0.0481 -vn 0.9207 0.3862 0.0561 -vn -0.0011 1.0000 0.0067 -vn -0.0020 1.0000 0.0042 -vn -0.1880 -0.2385 0.9528 -vn 0.2591 0.4017 -0.8784 -vn -0.3925 0.3826 -0.8364 -vn -0.9557 -0.0568 0.2888 -vn -0.9387 -0.0984 0.3305 -vn -0.8731 -0.0618 0.4836 -vn -0.9367 -0.1053 0.3338 -vn -0.9983 0.0446 -0.0387 -vn 0.0015 1.0000 0.0040 -vn -0.0000 0.9608 0.2772 -vn 0.0014 1.0000 0.0023 -vn -0.9999 0.0117 -0.0023 -vn -0.9998 0.0092 0.0149 -vn -0.9997 0.0240 0.0100 -vn -0.0056 -0.2495 0.9684 -vn -0.9207 0.3862 0.0561 -vn -0.9220 0.3843 0.0482 -vn -0.9613 0.2751 0.0139 -vn 0.0011 1.0000 0.0067 -vn 0.0020 1.0000 0.0042 -vn -0.9140 0.1852 -0.3611 -vn -0.0000 1.0000 0.0073 -vn -0.5563 0.3246 -0.7649 -vn -0.7857 0.2615 -0.5606 -vn 0.5115 0.3297 -0.7935 -vn -0.0000 0.4597 0.8881 -vn 0.2491 0.9578 0.1431 -vn -0.4021 0.9083 0.1151 -vn -0.9323 0.3580 0.0512 -vn -0.3771 0.9132 0.1545 -vn -0.9411 0.3379 0.0104 -vn 0.9980 -0.0211 0.0598 -vn 0.9949 -0.0724 0.0701 -vn 0.9979 -0.0076 0.0647 -vn 0.9959 0.0068 0.0899 -vn 0.9944 -0.0057 0.1052 -vn 0.9970 0.0146 0.0763 -vn 0.2927 -0.8910 -0.3470 -vn 0.2692 -0.9013 -0.3393 -vn 0.3091 -0.9446 -0.1104 -vn 0.3083 -0.9391 0.1520 -vn 0.2906 -0.7546 0.5883 -vn 0.3087 -0.5872 0.7483 -vn 0.3014 -0.1559 0.9407 -vn 0.3189 0.0702 0.9452 -vn 0.3131 0.5002 0.8073 -vn 0.2877 0.6969 0.6569 -vn 0.2405 0.8515 0.4659 -vn 0.8442 -0.2022 0.4964 -vn 0.1539 -0.3733 0.9148 -vn 0.9294 0.1498 -0.3372 -vn 0.5126 0.3515 -0.7834 -vn 0.9281 0.1420 -0.3443 -vn 0.9906 -0.0493 0.1279 -vn 0.9660 -0.0947 0.2406 -vn 0.9273 -0.1397 0.3472 -vn -0.9368 -0.1053 0.3338 -vn -0.8731 -0.0619 0.4836 -vn -0.0000 0.9318 0.3630 -vn -0.0000 0.9309 0.3653 -vn -0.0000 0.9302 0.3671 -vn -0.9949 -0.0724 0.0701 -vn -0.9944 -0.0057 0.1052 -vn -0.2692 -0.9013 -0.3393 -vn -0.1539 -0.3720 0.9154 -vn 0.1491 0.8829 0.4452 -vn 0.9257 -0.1502 0.3472 -vn -0.0000 0.3847 -0.9230 -vt 0.318637 0.836460 -vt 0.322686 0.835525 -vt 0.318469 0.836302 -vt 0.322662 0.829447 -vt 0.322506 0.829146 -vt 0.318606 0.828545 -vt 0.318439 0.828704 -vt 0.322533 0.835828 -vt 0.335540 0.815841 -vt 0.335689 0.816068 -vt 0.335880 0.815923 -vt 0.335363 0.817407 -vt 0.335570 0.817415 -vt 0.335928 0.815727 -vt 0.335827 0.815658 -vt 0.338110 0.834998 -vt 0.338521 0.834581 -vt 0.338361 0.834565 -vt 0.338450 0.830987 -vt 0.338327 0.831013 -vt 0.338045 0.830721 -vt 0.337797 0.829353 -vt 0.336791 0.829355 -vt 0.338509 0.816056 -vt 0.338639 0.815806 -vt 0.338293 0.815922 -vt 0.338229 0.815719 -vt 0.338328 0.815642 -vt 0.336756 0.815704 -vt 0.337372 0.815710 -vt 0.337407 0.815436 -vt 0.338796 0.817419 -vt 0.338027 0.834876 -vt 0.336577 0.834878 -vt 0.336494 0.835000 -vt 0.336242 0.834568 -vt 0.336082 0.834585 -vt 0.336266 0.831016 -vt 0.351326 0.453820 -vt 0.352262 0.453765 -vt 0.352318 0.454386 -vt 0.365837 0.453882 -vt 0.365836 0.454819 -vt 0.367442 0.455473 -vt 0.371353 0.455145 -vt 0.371355 0.453566 -vt 0.370947 0.453178 -vt 0.367444 0.453230 -vt 0.370945 0.455532 -vt 0.336143 0.830990 -vt 0.336546 0.830723 -vt 0.336722 0.815432 -vt 0.339004 0.817387 -vt 0.351343 0.454443 -vt 0.336608 0.810165 -vt 0.336600 0.809579 -vt 0.335671 0.810452 -vt 0.335670 0.810656 -vt 0.337063 0.810641 -vt 0.336849 0.810420 -vt 0.335654 0.809318 -vt 0.336833 0.809316 -vt 0.308406 0.833228 -vt 0.321347 0.832873 -vt 0.308400 0.831858 -vt 0.323003 0.827899 -vt 0.318606 0.827962 -vt 0.322837 0.831313 -vt 0.308428 0.831448 -vt 0.318119 0.828727 -vt 0.317924 0.828577 -vt 0.334726 0.805815 -vt 0.334724 0.806084 -vt 0.334898 0.805815 -vt 0.333853 0.806363 -vt 0.333448 0.810373 -vt 0.334505 0.806366 -vt 0.333637 0.805810 -vt 0.333465 0.805809 -vt 0.333636 0.806080 -vt 0.333393 0.820149 -vt 0.334845 0.820155 -vt 0.333471 0.811014 -vt 0.318642 0.837043 -vt 0.322847 0.833658 -vt 0.318149 0.836281 -vt 0.308437 0.833638 -vt 0.317955 0.836433 -vt 0.321830 0.833071 -vt 0.321344 0.832110 -vt 0.321826 0.831909 -vt 0.338990 0.829527 -vt 0.338986 0.832448 -vt 0.340382 0.829528 -vt 0.323455 0.829763 -vt 0.308753 0.828027 -vt 0.334875 0.810379 -vt 0.334847 0.811020 -vt 0.317906 0.837069 -vt 0.308789 0.837056 -vt 0.323039 0.837070 -vt 0.337112 0.810416 -vt 0.335399 0.818676 -vt 0.335644 0.820232 -vt 0.335864 0.819933 -vt 0.322740 0.833285 -vt 0.335368 0.818297 -vt 0.335604 0.818285 -vt 0.335628 0.818648 -vt 0.336965 0.813654 -vt 0.337545 0.812323 -vt 0.336761 0.811981 -vt 0.336450 0.819974 -vt 0.336387 0.820399 -vt 0.336865 0.820333 -vt 0.336109 0.820051 -vt 0.336132 0.820332 -vt 0.318573 0.837406 -vt 0.297273 0.862936 -vt 0.296468 0.862987 -vt 0.296450 0.863484 -vt 0.296375 0.863361 -vt 0.296982 0.862655 -vt 0.296349 0.862774 -vt 0.296171 0.863007 -vt 0.296386 0.863086 -vt 0.296139 0.863393 -vt 0.296301 0.863656 -vt 0.296981 0.863857 -vt 0.297271 0.863612 -vt 0.308818 0.837437 -vt 0.360171 0.453244 -vt 0.360165 0.453779 -vt 0.359601 0.453718 -vt 0.363650 0.453662 -vt 0.363616 0.454257 -vt 0.365371 0.453864 -vt 0.365306 0.454484 -vt 0.336615 0.811674 -vt 0.336865 0.813929 -vt 0.336111 0.813900 -vt 0.335542 0.813822 -vt 0.335664 0.813999 -vt 0.336339 0.815514 -vt 0.336384 0.815738 -vt 0.335562 0.813576 -vt 0.335975 0.820462 -vt 0.335363 0.814848 -vt 0.358032 0.453178 -vt 0.359611 0.453190 -vt 0.335454 0.806199 -vt 0.336854 0.806081 -vt 0.335993 0.805859 -vt 0.337754 0.815749 -vt 0.338970 0.820225 -vt 0.339108 0.818663 -vt 0.338736 0.819939 -vt 0.337473 0.807394 -vt 0.336699 0.807758 -vt 0.336562 0.808069 -vt 0.335538 0.814723 -vt 0.337796 0.815517 -vt 0.338647 0.820469 -vt 0.338501 0.820063 -vt 0.335647 0.809115 -vt 0.335427 0.805954 -vt 0.338482 0.820342 -vt 0.337096 0.809313 -vt 0.337040 0.809089 -vt 0.322734 0.831687 -vt 0.338866 0.818294 -vt 0.339103 0.818281 -vt 0.338879 0.818655 -vt 0.336917 0.819991 -vt 0.337747 0.820341 -vt 0.338164 0.819987 -vt 0.337700 0.819998 -vt 0.338225 0.820410 -vt 0.323089 0.827553 -vt 0.318534 0.827599 -vt 0.299359 0.862966 -vt 0.299357 0.863640 -vt 0.300188 0.863503 -vt 0.300265 0.863381 -vt 0.300257 0.863103 -vt 0.300174 0.863004 -vt 0.299646 0.862698 -vt 0.300297 0.862779 -vt 0.300477 0.863024 -vt 0.300502 0.863417 -vt 0.300332 0.863678 -vt 0.317870 0.827942 -vt 0.317895 0.827574 -vt 0.308779 0.827646 -vt 0.357471 0.453223 -vt 0.358034 0.453706 -vt 0.357469 0.453758 -vt 0.354011 0.454184 -vt 0.353986 0.453589 -vt 0.336746 0.805809 -vt 0.335925 0.814967 -vt 0.340207 0.829355 -vt 0.339165 0.829353 -vt 0.339115 0.832606 -vt 0.340249 0.832608 -vt 0.340379 0.832450 -vt 0.323476 0.835203 -vt 0.323128 0.837416 -vt 0.317935 0.837436 -vt 0.299652 0.863857 -vt 0.322736 0.831880 -vt 0.322741 0.833092 -s 0 -f 1547/1339/700 1548/1340/700 1549/1341/700 -f 1550/1342/701 1551/1343/701 1552/1344/701 -f 1550/1342/701 1552/1344/701 1553/1345/701 -f 1547/1339/700 1554/1346/700 1548/1340/700 -f 1555/1347/702 1556/1348/702 1557/1349/702 -f 1555/1347/702 1558/1350/702 1559/1351/702 -f 1557/1349/702 1560/1352/702 1561/1353/702 -f 1562/1354/703 1563/1355/703 1564/1356/703 -f 1563/1355/703 1565/1357/703 1566/1358/703 -f 1561/1353/702 1555/1347/702 1557/1349/702 -f 1567/1359/703 1568/1360/703 1569/1361/703 -f 1570/1362/702 1571/1363/702 1572/1364/702 -f 1573/1365/702 1572/1364/702 1574/1366/702 -f 1575/1367/704 1576/1368/704 1577/1369/704 -f 1571/1363/702 1570/1362/702 1578/1370/702 -f 1562/1354/703 1579/1371/703 1580/1372/703 -f 1581/1373/703 1580/1372/703 1582/1374/703 -f 1583/1375/703 1582/1374/703 1584/1376/703 -f 1585/1377/705 1586/1378/705 1587/1379/705 -f 1571/1363/702 1574/1366/702 1572/1364/702 -f 1588/1380/706 1589/1381/706 1590/1382/706 -f 1591/1383/706 1592/1384/706 1593/1385/706 -f 1594/1386/706 1590/1382/706 1595/1387/706 -f 1596/1388/703 1584/1376/703 1597/1389/703 -f 1556/1348/702 1555/1347/702 1559/1351/702 -f 1579/1371/703 1562/1354/703 1564/1356/703 -f 1564/1356/703 1563/1355/703 1566/1358/703 -f 1597/1389/703 1567/1359/703 1569/1361/703 -f 1598/1390/704 1575/1367/704 1577/1369/704 -f 1599/1391/702 1571/1363/702 1578/1370/702 -f 1581/1373/703 1562/1354/703 1580/1372/703 -f 1583/1375/703 1581/1373/703 1582/1374/703 -f 1596/1388/703 1583/1375/703 1584/1376/703 -f 1600/1392/705 1585/1377/705 1587/1379/705 -f 1594/1386/706 1588/1380/706 1590/1382/706 -f 1595/1387/706 1591/1383/706 1593/1385/706 -f 1593/1385/706 1594/1386/706 1595/1387/706 -f 1569/1361/703 1596/1388/703 1597/1389/703 -f 1567/1359/703 1566/1358/703 1568/1360/703 -s 1 -f 1601/1393/707 1602/1394/708 1603/1395/709 -f 1603/1395/709 1604/1396/710 1605/1397/711 -f 1603/1395/709 1606/1398/712 1601/1393/707 -f 1602/1394/708 1607/1399/713 1603/1395/709 -f 1602/1394/708 1608/1400/714 1607/1399/713 -f 1609/1401/715 1610/1402/716 1611/1403/717 -f 1612/1404/718 1613/1405/719 1551/1343/701 -f 1614/1406/720 1550/1342/701 1553/1345/701 -f 1615/1407/721 1614/1406/720 1616/1408/701 -f 1616/1408/701 1617/1409/701 1615/1407/721 -f 1618/1410/722 1619/1411/723 1620/1412/724 -f 1621/1413/725 1622/1414/726 1623/1415/727 -f 1624/1416/728 1625/1417/729 1626/1418/730 -f 1627/1419/731 1628/1420/732 1629/1421/733 -f 1547/1339/700 1630/1422/734 1554/1346/700 -f 1549/1341/700 1631/1423/735 1632/1424/700 -f 1632/1424/700 1633/1425/736 1634/1426/700 -f 1609/1401/715 1635/1427/716 1610/1402/716 -f 1610/1402/716 1636/1428/737 1611/1403/717 -f 1611/1403/717 1636/1428/737 1637/1429/737 -f 1638/1430/738 1639/1431/739 1640/1432/740 -f 1614/1406/720 1641/1433/701 1550/1342/701 -f 1613/1405/719 1552/1344/701 1551/1343/701 -f 1614/1406/720 1553/1345/701 1616/1408/701 -f 1617/1409/701 1642/1434/741 1615/1407/721 -f 1619/1411/723 1643/1435/742 1620/1412/724 -f 1619/1411/723 1623/1415/727 1643/1435/742 -f 1622/1414/726 1643/1435/742 1623/1415/727 -f 1621/1413/725 1626/1418/730 1622/1414/726 -f 1625/1417/729 1622/1414/726 1626/1418/730 -f 1628/1420/732 1644/1436/743 1629/1421/733 -f 1645/1437/744 1634/1426/700 1646/1438/745 -f 1548/1340/700 1631/1423/735 1549/1341/700 -f 1630/1422/734 1647/1439/746 1554/1346/700 -f 1631/1423/735 1633/1425/736 1632/1424/700 -f 1633/1425/736 1646/1438/745 1634/1426/700 -f 1605/1397/711 1648/1440/747 1606/1398/712 -f 1649/1441/748 1650/1442/749 1651/1443/750 -f 1652/1444/751 1609/1401/715 1633/1425/736 -f 1653/1350/752 1654/1445/753 1655/1446/754 -f 1654/1445/753 1649/1441/748 1656/1447/755 -f 1657/1448/756 1658/1449/757 1659/1450/758 -f 1660/1451/759 1661/1452/760 1662/1453/761 -f 1660/1451/759 1663/1454/701 1664/1455/701 -f 1647/1439/746 1630/1422/734 1665/1456/726 -f 1666/1457/762 1667/1458/763 1668/1459/764 -f 1669/1460/765 1668/1459/764 1667/1458/763 -f 1670/1461/766 1671/1462/767 1672/1458/768 -f 1671/1462/767 1673/1463/769 1674/1464/770 -f 1673/1463/769 1675/1465/771 1676/1460/772 -f 1675/1465/771 1677/1466/773 1678/1459/774 -f 1677/1466/773 1679/1467/775 1680/1468/776 -f 1645/1437/744 1646/1438/745 1681/1469/731 -f 1682/1470/777 1683/1471/778 1684/1472/779 -f 1682/1470/777 1685/1473/780 1686/1474/781 -f 1685/1473/780 1687/1475/782 1688/1476/783 -f 1604/1396/710 1689/1477/784 1605/1397/711 -f 1690/1478/785 1657/1448/756 1691/1479/786 -f 1691/1479/786 1692/1480/787 1693/1481/788 -f 1694/1482/789 1695/1352/790 1696/1483/791 -f 1657/1448/756 1697/1484/792 1691/1479/786 -f 1695/1352/790 1698/1349/793 1696/1483/791 -f 1697/1484/792 1659/1450/758 1689/1477/784 -f 1699/1367/794 1700/1390/795 1694/1482/789 -f 1650/1442/749 1701/1485/796 1702/1454/797 -f 1697/1484/792 1657/1448/756 1659/1450/758 -f 1656/1447/755 1649/1441/748 1651/1443/750 -f 1604/1396/710 1697/1484/792 1689/1477/784 -f 1691/1479/786 1697/1484/792 1692/1480/787 -f 1692/1480/787 1703/1486/798 1693/1481/788 -f 1696/1483/791 1699/1367/794 1694/1482/789 -f 1704/1487/799 1705/1488/800 1684/1472/779 -f 1706/1489/801 1707/1490/802 1708/1491/803 -f 1709/1364/804 1710/1365/805 1711/1492/803 -f 1712/1493/806 1713/1494/807 1714/1495/808 -f 1715/1496/809 1707/1490/802 1716/1497/810 -f 1716/1497/810 1706/1489/801 1717/1498/811 -f 1693/1481/788 1703/1486/798 1718/1499/812 -f 1719/1369/813 1720/1368/814 1721/1500/815 -f 1722/1501/816 1712/1493/806 1723/1502/817 -f 1707/1490/802 1706/1489/801 1716/1497/810 -f 1706/1489/801 1724/1503/818 1717/1498/811 -f 1706/1489/801 1708/1491/803 1725/1504/798 -f 1720/1368/814 1711/1492/803 1721/1500/815 -f 1712/1493/806 1714/1495/808 1723/1502/817 -f 1722/1501/816 1723/1502/817 1726/1505/819 -f 1608/1400/714 1727/1506/820 1728/1507/821 -f 1651/1443/750 1650/1442/749 1702/1454/797 -f 1729/1508/822 1614/1406/720 1615/1407/721 -f 1730/1391/752 1731/1370/752 1732/1509/754 -f 1733/1510/823 1732/1509/754 1734/1511/755 -f 1735/1512/824 1662/1453/761 1736/1513/825 -f 1737/1514/826 1738/1515/827 1736/1513/825 -f 1737/1514/826 1739/1516/828 1740/1505/700 -f 1612/1404/718 1741/1517/724 1742/1518/742 -f 1743/1519/829 1744/1520/830 1745/1521/831 -f 1746/1522/832 1747/1523/833 1748/1524/834 -f 1749/1525/835 1750/1519/836 1751/1524/837 -f 1752/1526/838 1751/1524/837 1753/1523/839 -f 1754/1527/840 1753/1523/839 1755/1522/841 -f 1756/1528/842 1755/1522/841 1757/1521/843 -f 1758/1529/844 1757/1521/843 1759/1520/845 -f 1760/1530/846 1761/1531/847 1762/1532/732 -f 1702/1454/797 1701/1485/796 1763/1455/819 -f 1764/1533/848 1704/1487/799 1765/1534/849 -f 1764/1533/848 1766/1535/850 1767/1536/851 -f 1768/1537/852 1767/1536/851 1769/1379/853 -f 1717/1498/811 1724/1503/818 1728/1507/821 -f 1707/1490/802 1770/1538/854 1708/1491/803 -f 1703/1486/798 1771/1539/855 1718/1499/812 -f 1710/1365/805 1721/1500/815 1711/1492/803 -f 1713/1494/807 1734/1511/755 1714/1495/808 -f 1566/1358/703 1565/1357/703 1568/1360/703 -f 1629/1421/733 1644/1436/743 1622/1414/726 -f 1772/1540/856 1773/1541/856 1638/1430/738 -f 1774/1542/857 1775/1543/857 1776/1544/858 -f 1639/1431/739 1776/1544/858 1640/1432/740 -f 1728/1507/821 1724/1503/818 1608/1400/714 -f 1617/1409/701 1760/1530/846 1642/1434/741 -f 1644/1436/743 1643/1435/742 1622/1414/726 -f 1548/1340/700 1777/1545/700 1631/1423/735 -f 1724/1503/818 1607/1399/713 1608/1400/714 -f 1606/1398/712 1603/1395/709 1605/1397/711 -f 1631/1423/735 1652/1444/751 1633/1425/736 -f 1778/1351/752 1653/1350/752 1655/1446/754 -f 1655/1446/754 1654/1445/753 1656/1447/755 -f 1735/1512/824 1660/1451/759 1662/1453/761 -f 1661/1452/760 1660/1451/759 1664/1455/701 -f 1779/1546/729 1647/1439/746 1665/1456/726 -f 1780/1468/859 1666/1457/762 1668/1459/764 -f 1781/1464/860 1669/1460/765 1667/1458/763 -f 1782/1457/861 1670/1461/766 1672/1458/768 -f 1672/1458/768 1671/1462/767 1674/1464/770 -f 1674/1464/770 1673/1463/769 1676/1460/772 -f 1676/1460/772 1675/1465/771 1678/1459/774 -f 1678/1459/774 1677/1466/773 1680/1468/776 -f 1783/1547/862 1645/1437/744 1681/1469/731 -f 1705/1488/800 1682/1470/777 1684/1472/779 -f 1683/1471/778 1682/1470/777 1686/1474/781 -f 1686/1474/781 1685/1473/780 1688/1476/783 -f 1765/1534/849 1704/1487/799 1684/1472/779 -f 1611/1403/717 1729/1508/822 1615/1407/721 -f 1733/1510/823 1730/1391/752 1732/1509/754 -f 1713/1494/807 1733/1510/823 1734/1511/755 -f 1738/1515/827 1735/1512/824 1736/1513/825 -f 1739/1516/828 1737/1514/826 1736/1513/825 -f 1784/1502/700 1737/1514/826 1740/1505/700 -f 1613/1405/719 1612/1404/718 1742/1518/742 -f 1748/1524/834 1743/1519/829 1745/1521/831 -f 1745/1521/831 1746/1522/832 1748/1524/834 -f 1752/1526/838 1749/1525/835 1751/1524/837 -f 1754/1527/840 1752/1526/838 1753/1523/839 -f 1756/1528/842 1754/1527/840 1755/1522/841 -f 1758/1529/844 1756/1528/842 1757/1521/843 -f 1785/1548/863 1758/1529/844 1759/1520/845 -f 1642/1434/741 1760/1530/846 1762/1532/732 -f 1766/1535/850 1764/1533/848 1765/1534/849 -f 1768/1537/852 1764/1533/848 1767/1536/851 -f 1786/1378/864 1768/1537/852 1769/1379/853 -f 1640/1432/740 1772/1540/856 1638/1430/738 -f 1639/1431/739 1774/1542/857 1776/1544/858 -f 1611/1403/717 1637/1429/737 1787/1549/865 -f 1611/1403/717 1787/1549/865 1729/1508/822 -f 1609/1401/715 1652/1444/751 1788/1550/865 -f 1609/1401/715 1788/1550/865 1635/1427/716 -o slide_pistol_0 -v 1.014517 11.207904 -2.625851 -v 1.014517 11.207904 -2.300617 -v 1.014517 10.723700 -1.978916 -v -1.014517 10.157009 -2.625851 -v -1.014517 11.207904 -2.625851 -v -0.335502 10.613042 -2.625851 -v -1.526129 9.326169 3.920664 -v -1.526129 9.326169 3.413726 -v -1.526129 8.752565 3.413726 -v -1.705540 8.752565 3.920664 -v -1.705540 7.184847 3.920666 -v -1.705540 8.402290 6.532843 -v -1.526129 8.752565 3.920664 -v -1.705540 8.752565 3.920664 -v -1.705540 8.752759 6.288157 -v -1.526129 8.752565 3.920664 -v -1.524936 8.752759 6.288157 -v 1.705540 7.247200 -1.820038 -v 1.526129 7.247200 -1.820038 -v 1.526043 7.614016 -2.276283 -v 1.321148 7.184847 12.021433 -v -1.171832 7.184847 11.897295 -v 1.156401 7.184847 11.897295 -v 1.526043 7.614016 -2.276283 -v 1.526129 7.247200 -1.820038 -v 1.526043 7.184847 -2.765843 -v 1.321148 7.184847 11.214214 -v -1.705540 7.184847 2.105287 -v -1.705540 8.757562 2.105287 -v -1.705540 8.927025 1.935822 -v 1.526129 7.247200 -1.820038 -v 1.526129 7.184847 -1.313099 -v 1.526043 7.184847 -2.765843 -v -1.524936 9.326169 6.288157 -v -1.326382 10.025589 6.288155 -v -1.705540 9.660696 6.288155 -v -1.705540 9.326169 6.288157 -v 0.813732 7.184847 16.849926 -v 1.705540 7.184847 12.021433 -v 1.705540 7.184847 18.319260 -v 1.326382 7.184847 19.492821 -v -1.705540 7.967402 7.346314 -v -1.705540 8.055083 6.892087 -v 1.705540 7.637858 11.214214 -v 1.705540 7.184847 11.214214 -v 1.705540 7.967402 7.346314 -v -1.705540 7.184847 3.920666 -v -1.526129 7.184847 3.920666 -v -1.171832 7.184845 5.830760 -v 1.705540 7.184847 3.920666 -v 1.705540 7.184847 11.214214 -v 1.156401 7.184845 5.830760 -v 1.705540 7.184847 -2.765843 -v 1.705540 7.184845 -4.842924 -v 1.705540 8.782389 -4.842924 -v 1.705540 7.614016 -2.276283 -v 1.231429 7.184845 -4.842924 -v 1.526129 7.184847 -1.313099 -v 1.231024 7.184847 1.879622 -v -1.526129 7.184847 2.105287 -v -1.526129 7.184847 2.612226 -v -1.526129 8.752565 2.612224 -v 1.705540 7.184847 3.920666 -v 1.321148 7.184847 11.214214 -v 1.705540 7.184847 11.214214 -v 1.705540 7.637858 11.214214 -v -0.813732 7.184847 16.849926 -v 1.526129 7.184847 3.920666 -v 0.000000 9.832475 21.944122 -v 0.947015 10.390599 21.944122 -v -0.947015 10.390599 21.944122 -v 1.705540 8.055083 6.892087 -v -1.171832 7.184847 11.897295 -v -1.171832 8.402287 11.660702 -v -1.171832 8.578353 11.777044 -v 0.167762 11.355712 20.190464 -v -0.167762 11.355712 20.190464 -v -0.167762 10.787160 20.190464 -v 0.814306 10.492235 20.190464 -v 0.814306 10.492235 19.285318 -v 0.359371 10.492235 19.285318 -v 0.893030 10.492235 20.116810 -v 0.893030 10.492235 19.372772 -v -1.526129 7.184847 3.413727 -v 1.526129 7.184847 3.413727 -v -0.393269 7.184847 1.879622 -v 0.393269 7.184847 1.879622 -v -1.333642 8.402290 6.532843 -v -1.333642 8.055083 6.892087 -v -1.333642 7.967402 7.346314 -v -1.016029 10.321228 11.777044 -v -0.947015 10.390597 11.777044 -v -0.654714 10.019367 11.777044 -v -0.813732 7.184847 16.849926 -v 0.813732 7.184847 16.849926 -v 0.813732 5.420444 16.849926 -v 0.471660 5.087640 16.849926 -v -0.471660 5.087640 16.849926 -v -0.813732 5.420444 16.849926 -v -1.333642 7.184847 21.944122 -v -1.333642 7.184847 19.492821 -v -0.813732 7.184847 21.944122 -v -1.526129 7.184847 0.796844 -v -1.705540 7.184847 0.796844 -v -1.705540 7.184847 -0.004658 -v -0.728164 8.051682 1.879622 -v -0.393269 9.417000 1.879622 -v -0.393269 7.184847 1.879622 -v -0.728164 7.586768 1.879622 -v -1.238688 7.184847 1.879622 -v 1.231024 9.417000 1.879622 -v 1.231024 8.051682 1.879622 -v 0.728164 8.051682 1.879622 -v 1.526129 7.184847 2.105287 -v 1.526129 7.184847 2.612226 -v 1.705540 7.184847 -1.313099 -v 1.705540 7.184847 -0.511597 -v 1.526129 7.184847 -0.511597 -v 1.705540 7.184847 2.612226 -v 1.705540 7.184847 3.413727 -v 1.526129 7.184847 3.920666 -v 1.526129 9.833411 3.920664 -v 1.705540 9.660696 3.920664 -v 0.408756 10.107763 -3.259712 -v -0.409408 10.107763 -3.259712 -v -0.409408 10.390597 -3.172267 -v 1.705540 9.660696 3.413726 -v 1.526129 9.833411 3.413726 -v 1.526129 7.184847 3.413727 -v -0.392768 7.184845 -4.842924 -v 0.393269 9.417000 1.879622 -v 0.393269 7.184847 1.879622 -v 0.392768 7.184845 -4.842924 -v 1.705540 7.184847 2.612226 -v 1.526129 7.184847 2.612226 -v 1.526129 9.833411 2.612224 -v 1.526129 7.184847 2.105287 -v 1.705540 7.184847 2.105287 -v 1.705540 9.660696 2.105287 -v 0.392768 8.782389 -4.842924 -v 0.392768 9.417337 -4.333549 -v 1.231024 7.184847 1.879622 -v 1.231024 7.586768 1.879622 -v 1.231429 7.587345 -4.842924 -v 0.408756 10.390597 -3.531360 -v 0.408756 10.107763 -3.763228 -v 0.408756 10.107763 -3.259712 -v 1.526129 9.833411 1.303783 -v 1.705540 9.660696 1.303783 -v 1.705540 7.184847 1.303783 -v 0.728571 7.587345 -4.842924 -v 0.728571 8.051105 -4.842924 -v 1.231429 8.051105 -4.842924 -v 1.705540 9.660696 0.796844 -v 1.526129 9.833411 0.796844 -v 1.526129 7.184847 0.796844 -v 0.813732 7.184847 21.944122 -v 1.231024 9.417000 1.879622 -v 0.393269 9.417000 1.879622 -v 0.392768 9.417337 -4.333549 -v 1.231024 7.586768 1.879622 -v 0.728164 7.586768 1.879622 -v 0.728571 7.587345 -4.842924 -v 1.526129 9.833411 -0.004658 -v 1.705540 9.660696 -0.004658 -v 1.705540 7.184847 -0.004658 -v 1.705540 7.184845 -4.842924 -v 1.231429 7.184845 -4.842924 -v 1.231429 7.587345 -4.842924 -v 1.526129 7.184847 -0.511597 -v 1.705540 7.184847 -0.511597 -v 1.705540 9.660696 -0.511597 -v 1.231429 9.417337 -4.333549 -v 1.231429 8.782389 -4.842924 -v 1.231024 9.417000 1.879622 -v 0.728164 7.586768 1.879622 -v 0.728164 8.051682 1.879622 -v 0.728571 8.051105 -4.842924 -v 1.526129 9.833411 -1.313099 -v 1.705540 9.660696 -1.313099 -v 1.705540 7.184847 -1.313099 -v 1.231024 8.051682 1.879622 -v 0.728164 8.051682 1.879622 -v 1.231024 8.051682 1.879622 -v 1.231429 8.051105 -4.842924 -v 0.947015 10.390597 -2.821982 -v -0.947015 10.390597 -2.821982 -v -1.132077 10.212755 -2.753816 -v 1.526129 7.247200 -1.820038 -v 1.705540 7.247200 -1.820038 -v 1.705540 9.660696 -1.820038 -v 1.705540 8.752767 6.288157 -v 1.705540 8.402290 6.532843 -v -1.132077 10.212755 0.576709 -v -0.947015 10.390597 0.637663 -v 0.947015 10.390597 0.637663 -v 1.326382 7.184847 21.944122 -v 1.526129 7.184847 -0.004658 -v -1.526129 7.184847 2.612226 -v -1.238688 7.184847 1.879622 -v 1.705540 7.184847 2.105287 -v 1.526129 7.184847 1.303783 -v 1.705540 7.184847 1.303783 -v 1.526129 7.184847 0.796844 -v 1.705540 7.184847 -0.004658 -v 0.728164 7.586768 1.879622 -v 1.231024 7.586768 1.879622 -v 1.231024 7.184847 1.879622 -v 0.393269 7.184847 1.879622 -v -1.238688 9.417000 1.879622 -v -1.526129 7.184847 2.105287 -v -1.705540 7.184847 -1.313099 -v -1.526129 7.184847 -1.313099 -v -1.526129 7.184847 -0.511597 -v -1.705540 7.184847 2.612226 -v -1.526129 9.326169 3.920664 -v -1.705540 9.326169 3.920664 -v -1.705540 9.660696 3.920664 -v -1.526129 7.184847 3.920666 -v -1.705540 7.184847 3.920666 -v -1.705540 8.752565 3.920664 -v -1.705540 7.184847 3.413727 -v -1.526129 7.184847 3.413727 -v -1.526129 8.752565 3.413726 -v -1.705540 9.326169 3.413726 -v -1.526129 9.326169 3.413726 -v -1.526129 9.833411 3.413726 -v -1.705540 7.184847 2.612226 -v -1.705540 7.184847 3.413727 -v -1.705540 8.752565 3.413726 -v -0.393269 9.417000 1.879622 -v -0.392768 8.782389 -4.842924 -v -0.392768 7.184845 -4.842924 -v -1.526129 9.326169 2.612224 -v -1.705540 9.326169 2.612224 -v -1.705540 9.660696 2.612224 -v -1.526129 7.184847 2.612226 -v -1.705540 7.184847 2.612226 -v -1.705540 8.752565 2.612224 -v -0.392768 9.417337 -4.333549 -v -1.238688 7.184847 1.879622 -v -1.238688 7.184845 -4.842924 -v -1.238688 7.587345 -4.842924 -v -0.409408 10.390597 -3.531360 -v -0.409408 10.390597 -3.172267 -v -0.409408 10.107763 -3.259712 -v -1.526129 9.833411 1.303783 -v -1.526129 7.184847 1.303783 -v -1.705540 7.184847 1.303783 -v -0.728571 7.587345 -4.842924 -v -1.238688 7.587345 -4.842924 -v -1.238688 8.051105 -4.842924 -v -1.705540 9.660696 0.796844 -v -1.705540 7.184847 0.796844 -v -1.526129 7.184847 0.796844 -v -1.238688 9.417000 1.879622 -v -1.238688 9.417337 -4.333549 -v -0.392768 9.417337 -4.333549 -v -1.238688 7.586768 1.879622 -v -1.238688 7.587345 -4.842924 -v -0.728571 7.587345 -4.842924 -v -1.526129 9.833411 -0.004658 -v -1.526129 7.184847 -0.004658 -v -1.705540 7.184847 -0.004658 -v -1.238688 7.184845 -4.842924 -v -1.705540 7.184845 -4.842924 -v -1.526129 7.184847 -0.511597 -v -1.526129 9.833411 -0.511597 -v -1.705540 9.660696 -0.511597 -v -1.238688 8.782389 -4.842924 -v -1.238688 9.417337 -4.333549 -v -1.238688 9.417000 1.879622 -v -0.728164 7.586768 1.879622 -v -0.728571 7.587345 -4.842924 -v -0.728571 8.051105 -4.842924 -v -1.526129 7.184847 -0.004658 -v -1.238688 7.184845 -4.842924 -v -1.526129 9.833411 -1.313099 -v -1.526129 7.184847 -1.313099 -v -1.705540 7.184847 -1.313099 -v -1.238688 8.051682 1.879622 -v -1.238688 8.051105 -4.842924 -v -0.728164 8.051682 1.879622 -v -0.728571 8.051105 -4.842924 -v -1.238688 8.051105 -4.842924 -v -1.705540 7.184845 -4.842924 -v -1.526129 7.184847 -1.820038 -v -1.705540 7.184847 2.105287 -v -1.705540 7.184847 1.303783 -v -1.526129 7.184847 -1.820038 -v -1.526129 9.833411 -1.820038 -v -1.705540 9.660696 -1.820038 -v -1.526129 7.184847 1.303783 -v -1.526129 7.184847 3.413727 -v -1.526129 7.184847 3.920666 -v -1.526129 8.752565 3.920664 -v -0.947015 10.390597 6.288155 -v -0.654714 10.019367 6.288155 -v -0.409408 10.390597 6.288155 -v -1.171832 9.475291 6.288155 -v -0.409408 10.019367 5.830758 -v -0.409408 10.390597 5.830758 -v -0.409408 10.390597 6.288155 -v 0.408756 10.019367 5.830758 -v 0.408756 10.019367 6.288155 -v 0.408756 10.390597 6.288155 -v 0.408756 10.019367 5.830758 -v 0.408756 10.390597 5.830758 -v -0.409408 10.390597 5.830758 -v 0.408756 10.019367 6.288155 -v 0.632517 10.019367 6.288155 -v 0.408756 10.390597 6.288155 -v 0.958007 9.683089 6.288155 -v 1.018419 10.321527 6.288155 -v -1.171832 9.475291 11.777044 -v -1.171832 7.184845 5.830760 -v -1.171832 8.752774 6.288157 -v -1.171832 8.402290 6.532843 -v -0.409408 10.019367 6.288155 -v -1.333642 8.402287 11.660702 -v -1.171832 8.402287 11.660702 -v -1.171832 8.402290 6.532843 -v -0.409408 10.019367 5.830758 -v -0.654714 10.019367 5.830758 -v -1.171832 9.475291 5.830758 -v -1.171832 7.184845 5.830760 -v 1.156401 7.184845 5.830760 -v 1.156401 9.475291 5.830758 -v 1.014517 11.207904 -2.625851 -v 0.335502 10.613042 -2.625851 -v 0.335502 11.207904 -2.625851 -v -0.167762 11.355712 20.190464 -v 0.167762 11.355712 20.190464 -v 0.167762 11.355712 19.816681 -v 0.143185 11.207904 -2.300617 -v 0.143185 11.269897 -2.300617 -v 0.143185 11.269897 -2.690544 -v 1.014517 11.207904 -2.625851 -v 0.335502 11.207904 -2.625851 -v 0.335502 11.207904 -2.300617 -v 1.014517 11.207904 -2.300617 -v 0.335502 11.207904 -2.625851 -v 0.335502 11.269897 -2.690544 -v 0.335502 11.269897 -2.300617 -v 0.335502 10.613042 -2.625851 -v 0.335502 10.613042 -2.690544 -v 0.335502 11.269897 -2.690544 -v 0.143185 11.269897 -2.300617 -v 0.335502 11.269897 -2.300617 -v 0.335502 11.269897 -2.690544 -v -0.720340 8.093419 11.897295 -v -0.389845 7.872592 11.897295 -v -1.171832 7.184847 11.897295 -v -0.941169 8.423914 11.897295 -v -1.018714 8.813759 11.897295 -v 0.000000 7.795045 11.897295 -v 0.471660 5.087640 21.944122 -v 0.813732 5.420444 21.944122 -v -0.813732 5.420444 21.944122 -v 0.813732 7.184847 21.944122 -v -1.333642 7.184847 21.944122 -v -0.813732 7.184847 21.944122 -v -0.720340 8.093421 21.944122 -v -1.018714 8.813761 21.944122 -v -1.326382 10.025591 21.944122 -v -0.720340 9.534101 21.944122 -v 0.720340 9.534101 21.944122 -v 1.326382 10.025591 21.944122 -v 1.018714 8.813761 21.944122 -v 1.326382 7.184847 21.944122 -v 0.720340 8.093421 21.944122 -v 0.941169 9.203606 21.944122 -v 0.389845 9.754930 21.944122 -v -0.941169 9.203606 21.944122 -v -0.941169 8.423916 21.944122 -v -0.389845 7.872591 21.944122 -v 0.000000 7.795045 21.944122 -v 0.389845 7.872591 21.944122 -v 0.941169 8.423916 21.944122 -v -0.471660 5.087640 21.944122 -v -0.389845 9.754930 21.944122 -v 1.321148 7.637858 11.214214 -v 1.321148 7.444347 12.021433 -v 1.321148 7.184847 12.021433 -v 1.705540 7.184847 12.021433 -v 1.321148 7.184847 12.021433 -v 1.321148 7.444347 12.021433 -v 1.705540 7.637858 11.214214 -v 1.705540 7.444347 12.021433 -v 1.321148 7.444347 12.021433 -v -1.526129 9.326169 3.413726 -v -1.705540 9.326169 3.413726 -v -1.705540 9.326169 2.612224 -v -1.524936 9.326169 6.288157 -v -1.705540 9.326169 6.288157 -v -1.705540 9.326169 3.920664 -v -1.526129 8.752565 2.612224 -v -1.705540 8.752565 2.612224 -v -1.705540 8.752565 3.413726 -v -1.526129 8.752565 2.612224 -v 0.632517 10.019367 5.830758 -v 0.335502 10.613042 -2.690544 -v 0.143185 10.723700 -2.690544 -v 0.143185 11.269897 -2.690544 -v -0.335502 10.613042 -2.690544 -v -0.143185 10.723700 -2.690544 -v -0.335502 10.613042 -2.625851 -v -0.335502 10.613042 -2.690544 -v 0.335502 10.613042 -2.690544 -v 0.143185 10.723700 -2.690544 -v 0.143185 10.723700 -1.978916 -v -0.814306 10.492235 20.190464 -v -0.359371 10.492235 20.190464 -v -0.359371 10.492235 19.285318 -v -0.893030 10.492235 20.116810 -v -0.814306 10.492235 19.285318 -v -0.335502 11.207904 -2.625851 -v -0.335502 10.613042 -2.625851 -v -0.335502 11.207904 -2.625851 -v -0.335502 11.269897 -2.690544 -v -0.335502 11.269897 -2.690544 -v -0.143185 11.269897 -2.690544 -v -0.143185 10.723700 -2.690544 -v -0.143185 11.269897 -2.690544 -v -0.143185 11.207904 -2.300617 -v -0.335502 11.207904 -2.625851 -v -0.335502 11.207904 -2.300617 -v -0.335502 11.269897 -2.300617 -v -0.143185 11.269897 -2.300617 -v -0.143185 11.269897 -2.690544 -v -0.335502 11.269897 -2.690544 -v -0.143185 11.269897 -2.300617 -v -0.335502 11.207904 -2.625851 -v -1.014517 11.207904 -2.625851 -v -0.335502 11.207904 -2.300617 -v -1.014517 11.207904 -2.300617 -v 1.014517 10.157009 -2.625851 -v 1.014517 10.606321 -1.825949 -v 1.014517 10.491154 -1.431076 -v 1.014517 10.157009 -2.625851 -v 0.167762 10.787160 20.190464 -v -0.359371 10.492235 20.190464 -v -1.014517 11.207904 -2.625851 -v -1.014517 10.157009 -2.625851 -v -1.014517 10.723700 -1.978916 -v -1.014517 10.606321 -1.825949 -v -1.014517 10.491154 -1.431076 -v 0.359371 10.492235 20.190464 -v -1.014517 11.207904 -2.300617 -v -0.451145 8.974197 5.975873 -v 0.000000 8.787328 5.975873 -v -0.345291 9.132619 5.975873 -v 0.186870 8.336183 5.975873 -v 0.000000 8.299012 5.975873 -v -0.186870 9.238472 5.975873 -v 0.000000 9.275643 5.975873 -v 0.345291 8.442036 5.975873 -v 0.186870 9.238472 5.975873 -v 0.345291 9.132619 5.975873 -v 0.451145 8.600457 5.975873 -v 0.451145 8.974197 5.975873 -v 0.488316 8.787328 5.975873 -v -0.488316 8.787328 5.975873 -v -0.186870 8.336183 5.975873 -v -0.451145 8.600457 5.975873 -v -0.345291 8.442036 5.975873 -v -1.659889 9.270180 6.250484 -v -1.659889 9.270180 2.190354 -v -1.659889 8.796173 2.190354 -v -1.659889 9.139336 2.059509 -v -1.659889 8.927017 2.059509 -v -1.360494 9.270180 6.250484 -v -1.659889 9.270180 6.250484 -v -1.659889 8.796173 6.250484 -v -1.705540 8.752759 6.288157 -v -1.524936 8.752759 6.288157 -v -1.524936 9.326169 6.288157 -v 1.705540 7.614016 -2.276283 -v -1.705540 7.184847 1.303783 -v -1.705540 9.151711 1.935822 -v 1.321148 7.637858 11.214214 -v 0.359371 10.492235 20.190464 -v -1.238688 7.586768 1.879622 -v 0.393269 9.417000 1.879622 -v 1.705540 7.184847 3.920666 -v 0.408756 10.390597 -3.172267 -v 1.705540 7.184847 3.413727 -v 0.392768 7.184845 -4.842924 -v 1.705540 9.660696 2.612224 -v 1.526129 9.833411 2.105287 -v 1.231429 7.184845 -4.842924 -v 0.408756 10.390597 -3.172267 -v 1.526129 7.184847 1.303783 -v 1.705540 7.184847 0.796844 -v 1.231429 9.417337 -4.333549 -v 1.231429 7.587345 -4.842924 -v 1.526129 7.184847 -0.004658 -v 1.526129 9.833411 -0.511597 -v 0.728571 7.587345 -4.842924 -v 1.526129 7.184847 -1.313099 -v 1.231429 8.051105 -4.842924 -v 0.728571 8.051105 -4.842924 -v 1.132077 10.212755 -2.753816 -v 1.526129 9.833411 -1.820038 -v 1.132077 10.212755 0.576709 -v 1.705540 7.184847 0.796844 -v -1.238688 8.051682 1.879622 -v -1.705540 7.184847 -0.511597 -v -1.705540 7.184847 3.413727 -v -1.526129 9.833411 3.920664 -v -1.526129 8.752565 3.920664 -v -1.705540 8.752565 3.413726 -v -1.705540 9.660696 3.413726 -v -1.705540 8.752565 2.612224 -v -0.393269 7.184847 1.879622 -v -1.526129 9.833411 2.612224 -v -1.526129 8.752565 2.612224 -v -1.705540 7.184847 18.319260 -v -1.238688 7.586768 1.879622 -v -0.409408 10.107763 -3.763228 -v -1.705540 9.660696 1.303783 -v -0.728571 8.051105 -4.842924 -v -1.526129 9.833411 0.796844 -v -0.393269 9.417000 1.879622 -v -0.728164 7.586768 1.879622 -v -1.705540 9.660696 -0.004658 -v -1.705540 7.184847 -0.511597 -v -0.728164 8.051682 1.879622 -v -1.705540 9.660696 -1.313099 -v -1.238688 8.051682 1.879622 -v -1.705540 7.184847 -1.820038 -v -1.705540 7.184847 -1.820038 -v -1.705540 7.184845 -4.842924 -v -1.705540 7.184847 -1.820038 -v -1.705540 8.782389 -4.842924 -v -1.526129 8.752565 3.413726 -v -0.409408 10.019367 6.288155 -v 0.408756 10.390597 5.830758 -v -1.326382 10.025589 11.777044 -v -1.333642 8.402290 6.532843 -v -0.167762 11.355712 19.816681 -v 0.335502 11.207904 -2.300617 -v 0.335502 11.207904 -2.625851 -v 0.143185 11.269897 -2.690544 -v 1.321148 7.184847 11.214214 -v 1.705540 7.444347 12.021433 -v 1.321148 7.637858 11.214214 -v -1.526129 9.326169 2.612224 -v -1.526129 9.326169 3.920664 -v -1.526129 8.752565 3.413726 -v -1.526129 9.326169 2.612224 -v 0.335502 11.269897 -2.690544 -v 0.335502 10.613042 -2.625851 -v -0.893030 10.492235 19.372772 -v -0.335502 10.613042 -2.690544 -v -0.143185 10.723700 -1.978916 -v -0.335502 11.269897 -2.690544 -v -0.335502 11.269897 -2.300617 -v -1.659889 8.796173 6.250484 -v -1.360494 8.796173 6.250484 -v -1.705540 8.402290 6.532843 -v -1.333642 8.402290 6.532843 -v -1.524936 8.752759 6.288157 -v -1.171832 8.752774 6.288157 -v -0.654714 10.019367 11.897295 -v -0.654714 10.019367 11.777044 -v 0.632517 10.019367 11.777044 -v 0.632517 10.019367 11.777044 -v -1.705540 9.660696 6.288155 -v -1.705540 9.660696 3.920664 -v -1.705540 9.326169 3.920664 -v -1.526129 8.752565 2.110280 -v -1.526129 9.321173 2.105287 -v -1.524936 9.151711 1.935822 -v -1.526129 7.184847 1.303783 -v -1.526129 9.833411 1.303783 -v -1.526129 9.833411 0.796844 -v -1.705540 9.660696 1.303783 -v 1.526129 9.833411 -1.820038 -v 1.526129 9.833411 -1.313099 -v -1.171832 9.475291 11.777044 -v 1.705540 7.184847 18.319260 -v 1.705540 7.184847 12.021433 -v 1.705540 7.444347 12.021433 -v 1.705540 9.660696 -1.820038 -v 1.705540 7.247200 -1.820038 -v 1.705540 7.967403 18.319260 -v 1.526043 7.184847 -2.765843 -v 1.705540 7.184845 -4.842924 -v 1.705540 7.184847 -2.765843 -v -1.526129 9.321173 2.105287 -v -1.705540 9.321173 2.105287 -v -1.705540 9.151711 1.935822 -v -1.705540 8.927025 1.935822 -v -1.705540 8.757562 2.105287 -v -1.526129 8.752565 2.110280 -v 1.018714 8.813759 11.876556 -v 1.156401 9.475291 11.866869 -v 1.156401 7.184847 11.897295 -v -1.014517 10.157009 0.196239 -v -1.014517 10.369081 0.196239 -v 0.167762 10.787160 19.556133 -v 0.167762 11.355712 19.816681 -v 0.167762 11.355712 20.190464 -v 0.359371 10.492235 20.190464 -v 0.359371 10.492235 19.285318 -v 0.872165 9.770430 11.711021 -v 1.156401 9.475291 11.866869 -v 0.632517 10.019367 11.897295 -v 1.018419 10.321527 11.521419 -v 1.019789 10.321230 19.320282 -v 1.326382 10.025591 21.944122 -v 0.872165 9.770430 11.711021 -v 0.947015 10.390597 11.752499 -v 1.018419 10.321527 11.521419 -v 1.018419 10.321527 6.288155 -v 0.958007 9.683089 6.288155 -v 0.958007 9.683130 11.555178 -v 0.632517 10.019367 5.830758 -v 1.156401 9.475291 5.830758 -v 0.958007 9.683089 6.288155 -v 1.326382 7.967403 19.492821 -v 1.326382 7.967402 7.346314 -v 1.326382 8.055083 6.892087 -v 1.326382 8.402290 6.532843 -v 1.326382 10.025589 6.288155 -v -1.333642 7.967403 19.492821 -v -1.333642 8.578353 11.777044 -v -1.333642 8.402287 11.660702 -v -1.326382 10.025591 21.944122 -v -1.326382 10.025589 11.777044 -v 0.947015 10.390599 19.208494 -v 0.947015 10.390597 11.752499 -v 0.869641 10.390597 11.777044 -v -0.409408 10.390597 -3.531360 -v -0.409408 10.107763 -3.763228 -v -0.947015 10.390597 -3.531360 -v 0.869641 10.390597 11.777044 -v -1.238688 8.782389 -4.842924 -v -1.333642 8.578353 11.777044 -v -1.526129 7.184847 -0.004658 -v -1.526129 9.833411 -0.004658 -v -1.526129 9.833411 -0.511597 -v -0.947015 10.390597 0.637663 -v -0.947015 10.390597 6.288155 -v -0.409408 10.390597 5.830758 -v 0.408756 10.390597 5.830758 -v 0.947015 10.390597 0.637663 -v 0.408756 10.390597 6.288155 -v 1.018419 10.321527 6.288155 -v -1.171832 9.475291 5.830758 -v -1.171832 9.475291 6.288155 -v 1.018419 10.321527 6.288155 -v 1.326382 10.025589 6.288155 -v 1.132077 10.212755 0.576709 -v -0.409408 10.390597 6.288155 -v -1.526129 9.833411 2.105287 -v -1.526129 9.833411 2.612224 -v -1.132077 10.212755 0.576709 -v -1.526129 9.833411 3.920664 -v -1.326382 10.025589 6.288155 -v -1.526129 9.833411 3.413726 -v 0.947015 10.390597 -3.531360 -v 0.947015 10.390597 -2.821982 -v 1.132077 10.212755 -2.753816 -v 0.947015 10.390599 19.208494 -v -0.947015 10.390599 19.208494 -v -1.016029 10.321230 19.320282 -v 0.947015 10.390599 20.281315 -v -0.947015 10.390599 20.281315 -v -0.947015 10.390599 21.944122 -v 1.705540 7.184847 2.612226 -v 1.705540 9.660696 2.612224 -v 1.705540 9.660696 3.413726 -v 1.019789 10.321230 20.144449 -v -1.016029 10.321230 20.144449 -v 1.326382 7.967403 19.492821 -v 1.326382 7.184847 19.492821 -v 0.471660 5.087640 16.849926 -v 0.813732 5.420444 16.849926 -v 0.813732 5.420444 21.944122 -v 0.408756 10.390597 -3.531360 -v 0.408756 10.390597 -3.172267 -v 1.019789 10.321230 20.144449 -v -0.409408 10.107763 -3.763228 -v -0.409408 10.107763 -3.259712 -v 0.408756 10.107763 -3.259712 -v 1.705540 7.967402 7.346314 -v 1.326382 7.967402 7.346314 -v 1.326382 7.967403 19.492821 -v 1.326382 7.184847 21.944122 -v 1.326382 7.184847 19.492821 -v 1.526129 7.184847 1.303783 -v 1.526129 7.184847 0.796844 -v 1.526129 9.833411 0.796844 -v 1.705540 8.402290 6.532843 -v 1.326382 8.402290 6.532843 -v 1.326382 8.055083 6.892087 -v 1.705540 8.055083 6.892087 -v 1.705540 9.660696 6.288155 -v 1.326382 10.025589 6.288155 -v 1.326382 8.752767 6.288157 -v 1.705540 9.660696 -4.131682 -v 1.231429 9.417337 -4.333549 -v 0.408756 10.107763 -3.763228 -v -0.392768 9.417337 -4.333549 -v -0.409408 10.390597 -3.172267 -v -0.947015 10.390597 -2.821982 -v 0.392768 9.417337 -4.333549 -v 0.392768 8.782389 -4.842924 -v 1.231429 8.782389 -4.842924 -v 1.705540 8.782389 -4.842924 -v 1.705540 9.660696 -4.131682 -v 0.947015 10.390597 -3.531360 -v 1.526129 9.833411 2.612224 -v 1.705540 9.660696 6.288155 -v 1.705540 9.660696 3.920664 -v 1.526129 9.833411 3.920664 -v -1.132077 10.212755 0.576709 -v 1.132077 10.212755 0.576709 -v 1.132077 10.212755 -2.753816 -v 1.705540 9.660696 -1.313099 -v 1.705540 9.660696 -0.511597 -v 1.705540 7.184847 -0.511597 -v 1.705540 9.660696 -0.004658 -v 1.705540 9.660696 0.796844 -v 1.705540 7.184847 0.796844 -v 1.526129 7.184847 2.612226 -v 1.526129 7.184847 2.105287 -v 1.526129 9.833411 2.105287 -v 1.705540 9.660696 3.920664 -v 1.705540 9.660696 6.288155 -v 1.019789 10.321230 19.320282 -v -0.471660 5.087640 16.849926 -v 0.471660 5.087640 21.944122 -v 0.813732 7.184847 16.849926 -v 0.813732 7.184847 21.944122 -v 0.947015 10.390599 20.281315 -v 0.947015 10.390599 21.944122 -v 1.705540 8.752767 6.288157 -v 1.526129 7.184847 3.920666 -v 1.526129 7.184847 3.413727 -v 1.526129 9.833411 3.413726 -v 0.392768 7.184845 -4.842924 -v -0.392768 7.184845 -4.842924 -v -0.392768 8.782389 -4.842924 -v 0.408756 10.390597 -3.531360 -v 1.526129 7.184847 -0.004658 -v 1.526129 7.184847 -0.511597 -v 1.526129 9.833411 -0.511597 -v 1.705540 7.184847 1.303783 -v 1.705540 9.660696 1.303783 -v 1.705540 9.660696 2.105287 -v 1.526129 9.833411 3.413726 -v 1.526129 9.833411 -0.511597 -v 1.526129 9.833411 -1.313099 -v 1.526129 9.833411 -1.820038 -v 1.526129 9.833411 -0.004658 -v 1.526129 9.833411 2.105287 -v 1.526129 9.833411 1.303783 -v 1.705540 7.184847 -2.765843 -v 1.705540 7.614016 -2.276283 -v 1.526043 7.614016 -2.276283 -v -0.947015 10.390597 -3.531360 -v -1.705540 9.660696 -4.131682 -v -1.132077 10.212755 -2.753816 -v -1.705540 7.184847 18.319260 -v -1.705540 7.967403 18.319260 -v -1.526129 9.833411 -1.313099 -v -1.526129 9.833411 -0.511597 -v -1.705540 9.660696 -1.820038 -v -1.526129 9.833411 -1.820038 -v -1.705540 9.660696 3.413726 -v -1.705540 9.660696 2.612224 -v -1.705540 9.326169 2.612224 -v -1.333642 7.184847 19.492821 -v -0.471660 5.087640 21.944122 -v -0.813732 5.420444 21.944122 -v -0.409408 10.390597 -3.531360 -v -1.705540 7.184847 2.105287 -v -1.526129 7.184847 2.105287 -v -1.526129 9.833411 2.105287 -v -1.705540 7.967402 7.346314 -v -1.705540 7.967403 18.319260 -v -1.333642 7.967403 19.492821 -v -1.333642 7.184847 19.492821 -v -1.705540 9.321173 2.105287 -v -1.705540 9.660696 2.105287 -v -1.705540 8.055083 6.892087 -v -1.333642 8.055083 6.892087 -v -1.333642 7.967402 7.346314 -v -1.705540 9.660696 -0.511597 -v -1.238688 9.417337 -4.333549 -v -1.705540 9.660696 -4.131682 -v -1.526129 9.833411 1.303783 -v -1.705540 8.782389 -4.842924 -v -1.705540 9.660696 -1.313099 -v -1.705540 7.184847 -1.313099 -v -1.705540 7.184847 -0.511597 -v -1.705540 9.660696 -0.004658 -v -1.705540 7.184847 -0.004658 -v -1.705540 7.184847 0.796844 -v -1.526129 9.833411 -0.004658 -v -1.705540 9.660696 0.796844 -v -1.526129 9.833411 0.796844 -v -0.813732 5.420444 16.849926 -v -0.813732 7.184847 21.944122 -v -1.526129 7.184847 -1.313099 -v -1.526129 9.833411 -1.313099 -v -1.526129 9.833411 -1.820038 -v -0.947015 10.390597 11.777044 -v -1.016029 10.321228 11.777044 -v -1.705540 8.752759 6.288157 -v -1.526129 9.833411 3.920664 -v -1.526129 9.833411 3.413726 -v -1.526129 9.326169 3.413726 -v 1.326382 8.752767 6.288157 -v -1.171832 8.402290 6.532843 -v -1.171832 8.578353 11.777044 -v -1.171832 8.402287 11.660702 -v 0.632517 10.019367 5.830758 -v 0.632517 10.019367 6.288155 -v 0.408756 10.019367 6.288155 -v -0.654714 10.019367 5.830758 -v -0.409408 10.019367 5.830758 -v -0.409408 10.019367 6.288155 -v 0.632517 10.019367 6.288155 -v 0.958007 9.683130 11.555178 -v 1.156401 7.184845 5.830760 -v 1.156401 7.184847 11.897295 -v 0.941169 9.203604 11.872110 -v 1.018714 8.813759 11.876556 -v 1.018714 8.813761 21.944122 -v 0.720340 9.534099 11.876594 -v 0.941169 9.203606 21.944122 -v 0.389845 9.754928 11.891424 -v 0.720340 9.534101 21.944122 -v 0.000000 9.832473 11.897295 -v 0.389845 9.754930 21.944122 -v 0.814306 10.296816 20.190464 -v 0.814306 10.492235 20.190464 -v 0.000000 9.832475 21.944122 -v -0.389845 9.754930 21.944122 -v -0.389845 9.754928 11.897295 -v -0.720340 9.534101 21.944122 -v -0.720340 9.534099 11.896715 -v 0.893030 10.296816 20.116810 -v 0.893030 10.492235 20.116810 -v 0.893030 10.296816 19.372772 -v 0.893030 10.492235 19.372772 -v -0.941169 9.203604 11.897295 -v -0.941169 9.203606 21.944122 -v -1.018714 8.813761 21.944122 -v -1.018714 8.813759 11.897295 -v -0.941169 8.423916 21.944122 -v -0.941169 8.423914 11.897295 -v -0.720340 8.093421 21.944122 -v -0.720340 8.093419 11.897295 -v -0.389845 7.872591 21.944122 -v -0.389845 7.872592 11.897295 -v 0.000000 7.795045 21.944122 -v 0.000000 7.795045 11.897295 -v 0.000000 7.795045 21.944122 -v 0.389845 7.872591 21.944122 -v 0.389845 7.872592 11.897295 -v 0.720340 8.093421 21.944122 -v 0.720340 8.093419 11.890940 -v 0.814306 10.296816 19.285318 -v 0.814306 10.492235 19.285318 -v 0.893030 10.492235 19.372772 -v 0.941169 8.423914 11.883168 -v 0.941169 8.423916 21.944122 -v 0.359371 10.492235 19.285318 -v -0.814306 10.296816 19.285318 -v -0.359371 10.492235 19.285318 -v -0.167762 10.787160 19.556133 -v 0.167762 10.787160 19.556133 -v -0.167762 11.355712 19.816681 -v 0.167762 11.355712 19.816681 -v -0.814306 10.157009 0.372429 -v 0.814306 10.157009 0.372429 -v 0.814306 10.357646 0.372429 -v 1.014517 10.157009 0.196239 -v 1.014517 10.369081 0.196239 -v -0.143185 10.723700 -1.978916 -v 0.143185 10.723700 -1.978916 -v 0.143185 10.723700 -2.690544 -v 0.143185 11.207904 -2.300617 -v 0.143185 10.723700 -1.978916 -v 0.335502 11.207904 -2.300617 -v 1.014517 10.723700 -1.978916 -v 1.014517 11.207904 -2.300617 -v 1.014517 10.606321 -1.825949 -v -1.014517 10.606321 -1.825949 -v -1.014517 10.491154 -1.431076 -v 1.014517 10.491154 -1.431076 -v -0.814306 10.357646 0.372429 -v 0.814306 10.357646 0.372429 -v 1.014517 10.369081 0.196239 -v -1.014517 10.369081 0.196239 -v -1.171832 9.475291 11.897295 -v 0.632517 10.019367 11.897295 -v 0.720340 9.534099 11.876594 -v 0.000000 9.832473 11.897295 -v -0.654714 10.019367 11.897295 -v -0.720340 9.534099 11.896715 -v -1.171832 9.475291 11.897295 -v 0.941169 8.423914 11.883168 -v 0.720340 8.093419 11.890940 -v 0.389845 7.872592 11.897295 -v -0.941169 9.203604 11.897295 -v -0.389845 9.754928 11.897295 -v 0.389845 9.754928 11.891424 -v 0.941169 9.203604 11.872110 -v -1.524936 8.927025 1.935822 -v -1.526129 9.833411 2.105287 -v -1.526129 9.321173 2.105287 -v -1.526129 9.326169 2.612224 -v 0.335502 11.269897 -2.300617 -v 0.143185 11.269897 -2.300617 -v -0.167762 10.787160 19.556133 -v -0.167762 10.787160 20.190464 -v -0.167762 11.355712 20.190464 -v -0.359371 10.492235 20.190464 -v -0.814306 10.492235 20.190464 -v -0.814306 10.296816 20.190464 -v -0.893030 10.296816 20.116810 -v -0.893030 10.296816 19.372772 -v -0.893030 10.492235 20.116810 -v -0.893030 10.296816 19.372772 -v -0.893030 10.492235 19.372772 -v -0.814306 10.492235 19.285318 -v -0.143185 10.723700 -1.978916 -v -1.014517 10.723700 -1.978916 -v -0.814306 10.357646 0.372429 -v -0.335502 11.269897 -2.300617 -v -0.335502 11.207904 -2.300617 -v -0.143185 11.207904 -2.300617 -v 1.526129 9.833411 0.796844 -v -0.451145 8.974197 5.975873 -v -0.345291 9.132619 5.975873 -v -0.345291 9.132619 5.773399 -v -0.186870 9.238472 5.975873 -v -0.186870 9.238472 5.773399 -v 0.345291 8.442036 5.975873 -v 0.186870 8.336183 5.975873 -v 0.186870 8.336183 5.773399 -v 0.000000 9.275643 5.975873 -v 0.000000 9.275643 5.773399 -v 0.186870 9.238472 5.975873 -v 0.186870 9.238472 5.773399 -v 0.451145 8.600457 5.975873 -v 0.345291 8.442036 5.773399 -v 0.345291 9.132619 5.975873 -v 0.345291 9.132619 5.773399 -v 0.451145 8.974197 5.975873 -v 0.451145 8.974197 5.773399 -v 0.488316 8.787328 5.975873 -v 0.451145 8.600457 5.773399 -v 0.488316 8.787328 5.773399 -v -0.186870 8.336183 5.975873 -v -0.345291 8.442036 5.975873 -v -0.345291 8.442036 5.773399 -v -0.451145 8.600457 5.975873 -v -0.488316 8.787328 5.975873 -v -0.488316 8.787328 5.773399 -v 0.000000 8.299012 5.975873 -v -0.186870 8.336183 5.773399 -v 0.000000 8.299012 5.773399 -v -0.451145 8.974197 5.773399 -v -0.451145 8.600457 5.773399 -v -1.360494 8.796173 2.190354 -v -1.659889 8.796173 2.190354 -v -1.659889 8.927017 2.059509 -v -1.659889 9.139336 2.059509 -v -1.360494 9.139336 2.059509 -v -1.360494 8.927017 2.059509 -v -1.360494 9.270180 2.190354 -v -1.659889 9.270180 2.190354 -v -1.659889 9.270180 6.250484 -v -1.360494 8.796173 6.250484 -v -1.659889 8.796173 6.250484 -v -1.705540 9.326169 6.288157 -v -1.524936 8.927025 1.935822 -v -1.526129 7.184847 0.796844 -v -1.526129 8.752565 2.110280 -v -1.524936 9.151711 1.935822 -v 0.167762 10.787160 20.190464 -v -1.526129 7.184847 -0.511597 -v 0.947015 10.390599 21.944122 -v 1.705540 7.184847 3.413727 -v 0.408756 10.107763 -3.763228 -v 1.705540 7.967403 18.319260 -v 1.526129 9.833411 1.303783 -v -1.132077 10.212755 -2.753816 -v 1.705540 7.184847 -1.313099 -v 1.705540 7.184847 -0.004658 -v 1.526129 9.833411 2.612224 -v 1.526129 9.833411 3.920664 -v 1.526129 9.833411 -0.004658 -v 1.705540 7.184847 2.105287 -v 1.526043 7.184847 -2.765843 -v -1.705540 9.326169 3.413726 -v -1.333642 7.967403 19.492821 -v -1.705540 9.660696 2.105287 -v -1.333642 7.184847 21.944122 -v -0.813732 7.184847 16.849926 -v -1.526129 7.184847 -1.820038 -v -1.526129 9.326169 3.920664 -v -1.333642 8.402287 11.660702 -v 0.408756 10.019367 5.830758 -v -0.654714 10.019367 6.288155 -v 0.869641 10.390597 11.777044 -v 0.000000 7.795045 11.897295 -v 0.893030 10.296816 19.372772 -v -0.143185 10.723700 -2.690544 -v -1.526129 9.833411 2.612224 -v -0.167762 11.355712 19.816681 -v -0.359371 10.492235 19.285318 -v -0.893030 10.492235 19.372772 -v -0.143185 11.269897 -2.300617 -v -1.014517 11.207904 -2.300617 -v -1.360494 9.270180 6.250484 -vn 1.0000 -0.0000 -0.0000 -vn -0.0000 -0.0000 -1.0000 -vn -1.0000 -0.0000 -0.0000 -vn -0.0000 1.0000 -0.0001 -vn -1.0000 -0.0000 0.0005 -vn -0.0000 -0.7793 -0.6266 -vn -0.0000 -1.0000 -0.0000 -vn 1.0000 0.0001 -0.0001 -vn 1.0000 -0.0005 -0.0001 -vn -0.0000 -0.0000 1.0000 -vn -0.0000 1.0000 -0.0000 -vn -0.0000 0.2954 -0.9554 -vn 1.0000 -0.0000 -0.0001 -vn -1.0000 -0.0000 -0.0001 -vn -0.0000 -1.0000 -0.0001 -vn -1.0000 0.0001 -0.0001 -vn -0.0000 0.3579 0.9338 -vn -0.0000 0.3242 -0.9460 -vn -0.0000 -0.9724 -0.2331 -vn -0.0000 0.6488 0.7610 -vn -0.0000 0.6112 0.7915 -vn -0.0000 0.3594 0.9332 -vn -0.0000 0.3979 0.9174 -vn 0.3944 -0.9189 -0.0000 -vn -0.2584 -0.9660 -0.0000 -vn -0.0544 0.0347 -0.9979 -vn -0.9202 0.3915 -0.0000 -vn -0.9202 0.3914 -0.0000 -vn -1.0000 -0.0000 -0.0023 -vn -1.0000 -0.0001 -0.0070 -vn -0.7948 0.6069 -0.0000 -vn -0.8837 0.4681 -0.0000 -vn -0.9815 0.1914 -0.0000 -vn 0.9202 0.3914 -0.0000 -vn 0.7785 0.6277 -0.0000 -vn 0.8716 -0.4902 0.0001 -vn 0.9946 -0.0000 0.1036 -vn 0.9501 0.3120 -0.0000 -vn 0.9922 -0.0000 0.1244 -vn -0.0000 -0.9849 0.1730 -vn -0.0000 -0.8848 0.4659 -vn -0.0000 -0.5054 0.8629 -vn 0.0001 -0.2527 0.9675 -vn -0.0000 -0.3827 0.9239 -vn -0.0001 0.5055 0.8628 -vn -0.0151 0.3827 0.9237 -vn -0.0075 0.3820 0.9241 -vn -0.0098 -0.0134 -0.9999 -vn -0.0135 0.0030 -0.9999 -vn -0.0078 -0.0088 -0.9999 -vn -0.9112 -0.0000 0.4119 -vn 0.9588 0.2841 -0.0000 -vn 0.8386 0.5448 -0.0000 -vn -0.8061 -0.3082 -0.5053 -vn -0.8143 -0.5805 -0.0013 -vn -0.5167 -0.8561 -0.0000 -vn 0.6940 0.7200 -0.0000 -vn 0.4341 0.8971 0.0825 -vn 0.9006 0.4347 0.0001 -vn -0.6892 0.1308 -0.7126 -vn -0.9536 0.0970 -0.2850 -vn -0.9956 0.0942 -0.0000 -vn -0.8233 -0.5676 0.0006 -vn -0.9600 -0.2555 -0.1143 -vn -0.3908 -0.9205 0.0012 -vn -0.9277 -0.3732 0.0009 -vn -0.8233 -0.5676 0.0008 -vn 0.8835 0.4684 -0.0000 -vn -0.9987 0.0005 0.0512 -vn -1.0000 0.0021 -0.0000 -vn -0.9198 0.3925 -0.0002 -vn -0.8535 0.5212 0.0001 -vn 0.1239 0.9740 0.1894 -vn 0.4932 0.8699 -0.0000 -vn -0.0000 0.9039 -0.4278 -vn -0.0000 0.8020 -0.5974 -vn -0.2691 0.9151 -0.3004 -vn -0.1559 0.0685 -0.9854 -vn -0.0000 0.2196 -0.9756 -vn -0.0000 0.2883 -0.9575 -vn -0.8561 0.5167 -0.0000 -vn -0.2979 0.9546 -0.0000 -vn -0.2469 0.9690 -0.0000 -vn 0.0544 0.9985 0.0027 -vn 0.3979 0.9174 0.0029 -vn 0.1126 0.9936 -0.0000 -vn 0.4235 0.9059 0.0029 -vn 0.9695 -0.2451 -0.0000 -vn 0.8716 -0.4902 -0.0000 -vn 0.4233 0.9060 0.0029 -vn 0.6497 0.7602 -0.0000 -vn -0.8837 0.4680 -0.0000 -vn -0.6017 0.7987 -0.0000 -vn -0.8561 0.5168 -0.0000 -vn -0.6934 0.7206 -0.0000 -vn -0.8186 0.5743 -0.0000 -vn 0.2692 0.9150 -0.3004 -vn 0.1831 0.9831 -0.0000 -vn 0.5496 0.8354 -0.0000 -vn -0.2622 0.9451 0.1950 -vn -0.4802 0.8651 0.1452 -vn 0.3027 0.9480 -0.0986 -vn -0.3083 0.9299 -0.2006 -vn -0.2470 0.9690 -0.0000 -vn 0.3052 0.9313 -0.1990 -vn -0.3051 0.9470 -0.1000 -vn 0.9878 -0.0000 0.1556 -vn 0.4972 -0.8676 -0.0000 -vn 0.9665 -0.2568 -0.0000 -vn 0.8580 -0.5136 -0.0000 -vn -0.0000 0.9980 0.0635 -vn -0.0000 0.9919 0.1269 -vn 0.8837 0.4681 -0.0000 -vn -0.0000 0.6730 0.7397 -vn -0.0000 0.6239 0.7815 -vn -0.0000 0.8374 0.5466 -vn -0.0000 0.9284 0.3717 -vn -0.0000 0.1989 0.9800 -vn 0.0033 0.6337 -0.7736 -vn 0.0022 0.6324 -0.7747 -vn -0.0001 0.7210 -0.6930 -vn -0.0000 0.6324 -0.7746 -vn -0.2468 0.9691 -0.0000 -vn -0.0000 0.6332 -0.7740 -vn -0.0001 0.4392 -0.8984 -vn 0.0028 0.4406 -0.8977 -vn 0.8561 0.5169 -0.0001 -vn 0.2691 0.9151 -0.3004 -vn 0.7948 0.6069 -0.0000 -vn 0.8561 0.5168 -0.0000 -vn 0.9660 0.2584 -0.0000 -vn 0.9660 0.2584 0.0001 -vn 0.8561 0.5168 -0.0002 -vn 0.8561 0.5168 -0.0001 -vn -0.3763 -0.9265 -0.0000 -vn 0.2486 -0.9686 -0.0000 -vn 0.3737 0.9275 -0.0000 -vn -0.0001 0.2196 -0.9756 -vn 0.8837 0.4680 -0.0000 -vn 0.7785 0.6276 -0.0000 -vn 0.9202 0.3915 -0.0000 -vn -0.0000 -0.7520 0.6592 -vn -0.8561 0.5169 -0.0001 -vn -0.6262 0.7797 -0.0000 -vn -0.9883 -0.0000 0.1528 -vn -0.9881 0.0006 0.1536 -vn -0.8580 -0.5136 -0.0000 -vn -0.0139 -0.0016 0.9999 -vn -0.0000 -0.0032 1.0000 -vn -0.9881 0.0014 0.1536 -vn -0.0000 0.9284 0.3716 -vn -0.0000 0.8374 0.5465 -vn -0.0022 0.6324 -0.7746 -vn -0.0027 0.6339 -0.7734 -vn -0.0015 0.4406 -0.8977 -vn -0.9660 0.2584 -0.0000 -vn -0.9665 -0.2568 -0.0000 -vn -0.3839 0.9234 -0.0000 -vn -0.6994 0.7147 -0.0000 -vn -0.0000 0.5725 0.8199 -vn -0.0000 0.5724 0.8199 -vn -0.0000 0.2878 -0.9577 -vn -0.0000 0.5513 -0.8343 -vn -0.3908 -0.9205 0.0007 -vn -0.3902 -0.9207 -0.0000 -vn -0.9601 -0.2554 -0.1143 -vn -0.9472 -0.3207 -0.0000 -vn -0.9978 0.0661 -0.0000 -vn -0.9978 -0.0662 -0.0000 -vn -0.7523 -0.6588 -0.0000 -vn -0.8965 -0.4430 -0.0000 -vn -0.4430 -0.8965 -0.0000 -vn -0.6588 -0.7523 -0.0000 -vn -0.0661 -0.9978 -0.0000 -vn -0.3207 -0.9472 -0.0000 -vn 0.1802 -0.0001 0.9836 -vn 0.4855 -0.0001 0.8742 -vn 0.0662 -0.9978 -0.0000 -vn 0.3827 -0.9239 -0.0000 -vn 0.3828 -0.9238 -0.0000 -vn 0.7071 -0.7071 -0.0000 -vn 0.8510 -0.0001 0.5252 -vn 0.9649 -0.0001 0.2626 -vn 0.9715 -0.0000 -0.2369 -vn 0.8806 -0.0000 -0.4739 -vn 0.8965 -0.4430 -0.0000 -vn 0.9472 -0.3207 -0.0000 -vn 0.9978 0.0662 -0.0000 -vn 0.9978 -0.0662 -0.0000 -vn 0.8965 0.4430 -0.0000 -vn 0.9472 0.3207 -0.0000 -vn 0.6588 0.7523 -0.0000 -vn 0.7523 0.6588 0.0001 -vn 0.3207 0.9472 -0.0000 -vn 0.4430 0.8965 -0.0000 -vn -0.0662 0.9978 -0.0000 -vn 0.0661 0.9978 -0.0000 -vn -0.0661 0.9978 -0.0000 -vn -0.3827 0.9239 -0.0000 -vn -0.3831 0.9237 -0.0000 -vn -0.7071 0.7071 -0.0000 -vn 0.4068 -0.0000 -0.9135 -vn -0.8965 0.4430 -0.0000 -vn -0.9472 0.3207 -0.0000 -vn -0.0000 0.2895 -0.9572 -vn -0.3241 -0.0000 -0.9460 -vn -0.0000 0.2399 -0.9708 -vn -0.0000 0.5962 -0.8028 -vn -0.0000 0.5087 -0.8609 -vn -0.0000 0.4166 -0.9091 -vn -0.2336 -0.0000 0.9723 -vn 0.3531 -0.0000 0.9356 -vn 0.9112 -0.0000 0.4119 -vn -0.0000 0.8520 0.5235 -vn -0.0003 0.7892 0.6142 -vn -0.0000 0.1917 0.9814 -vn -0.0000 0.7892 0.6142 -vn -0.0000 0.4287 0.9035 -vn -0.0000 0.6411 0.7674 -vn -0.0000 0.5534 0.8329 -vn -0.0000 0.8920 0.4521 -vn -0.0000 0.8459 0.5334 -vn -0.0000 0.9771 0.2126 -vn -0.0000 0.9896 0.1439 -vn -0.0000 0.9979 0.0648 -vn -0.0000 0.9977 0.0682 -vn -0.0000 0.9974 0.0716 -vn 0.9695 -0.2451 -0.0001 -vn -0.0111 0.0273 -0.9996 -vn -0.0194 0.0258 -0.9995 -vn -0.0030 0.0101 -0.9999 -vn -0.0000 0.0008 -1.0000 -vn -0.0005 0.0005 -1.0000 -vn -0.0009 -0.0000 -1.0000 -vn -0.0148 -0.0140 -0.9998 -vn -0.0126 -0.0131 -0.9998 -vn -0.0055 -0.0061 -1.0000 -vn -0.0004 -0.0004 -1.0000 -vn 0.0004 0.0004 -1.0000 -vn -0.0138 0.0348 -0.9993 -vn -0.0152 -0.0072 -0.9999 -vn -0.0000 0.2527 0.9675 -vn -0.9588 0.2841 -0.0000 -vn -0.8386 0.5448 -0.0000 -vn -0.4855 -0.0000 0.8742 -vn -0.2428 -0.0000 0.9701 -vn -0.8510 -0.0000 0.5252 -vn -0.9715 0.0001 -0.2369 -vn -0.9649 -0.0000 0.2626 -vn -0.9715 -0.0000 -0.2370 -vn -0.8806 -0.0000 -0.4739 -vn -0.4068 -0.0000 -0.9135 -vn -0.0000 0.8521 0.5234 -vn -0.4670 -0.0000 0.8842 -vn -0.6588 0.7523 -0.0000 -vn -0.7523 0.6588 -0.0000 -vn -0.3207 0.9472 -0.0000 -vn -0.4430 0.8965 -0.0000 -vn 0.6588 -0.7523 -0.0000 -vn 0.3207 -0.9472 -0.0000 -vn 0.4430 -0.8965 -0.0000 -vn 0.7523 -0.6588 -0.0000 -vn 0.7523 0.6588 -0.0000 -vn 0.9978 -0.0661 -0.0000 -vn 0.9978 0.0661 -0.0000 -vn -0.9978 -0.0661 -0.0000 -vn 0.0661 -0.9978 -0.0000 -vn -0.0001 -0.8629 -0.5054 -vn -0.0000 -0.9675 -0.2527 -vn -0.0001 -0.5054 -0.8629 -vn -0.0000 0.2527 -0.9675 -vn -0.0000 0.5054 -0.8629 -vn -0.0000 -0.2527 -0.9675 -vn -0.0000 0.9675 -0.2527 -vn 0.0001 0.8629 -0.5054 -vn -1.0000 -0.0000 -0.0068 -vn -1.0000 -0.0000 -0.0028 -vn -0.0000 -0.3821 0.9241 -vn 0.3738 0.9275 -0.0000 -vn 0.0001 0.7210 -0.6930 -vn 0.7948 0.6069 -0.0002 -vn -0.6262 0.7797 -0.0001 -vn 0.7948 0.6069 0.0002 -vn -0.0000 -0.9849 0.1731 -vn -0.9987 -0.0000 0.0512 -vn -1.0000 0.0026 -0.0000 -vn 0.0662 0.9978 -0.0000 -vn 0.9715 -0.0000 -0.2370 -vt 0.665882 0.347767 -vt 0.666023 0.347766 -vt 0.666162 0.347974 -vt 0.668422 0.348903 -vt 0.668420 0.348450 -vt 0.668128 0.348707 -vt 0.670331 0.347891 -vt 0.670113 0.347891 -vt 0.670112 0.348138 -vt 0.648961 0.347035 -vt 0.648963 0.347711 -vt 0.650088 0.347182 -vt 0.670330 0.348139 -vt 0.670330 0.348216 -vt 0.671351 0.348220 -vt 0.671351 0.348142 -vt 0.655673 0.344315 -vt 0.655725 0.344372 -vt 0.655911 0.344201 -vt 0.649593 0.340884 -vt 0.649645 0.341960 -vt 0.649646 0.340955 -vt 0.656134 0.344371 -vt 0.649941 0.340885 -vt 0.655073 0.340475 -vt 0.655070 0.339797 -vt 0.654996 0.339724 -vt 0.671575 0.327451 -vt 0.671356 0.327477 -vt 0.671982 0.327480 -vt 0.644693 0.340192 -vt 0.644385 0.340134 -vt 0.644557 0.340283 -vt 0.644700 0.340269 -vt 0.647509 0.341099 -vt 0.649593 0.340718 -vt 0.646875 0.340713 -vt 0.646368 0.340876 -vt 0.650439 0.347369 -vt 0.650243 0.347332 -vt 0.648903 0.346602 -vt 0.648902 0.346797 -vt 0.650571 0.346464 -vt 0.653087 0.342196 -vt 0.653087 0.342119 -vt 0.652263 0.341965 -vt 0.653089 0.340724 -vt 0.649942 0.340719 -vt 0.652265 0.340960 -vt 0.652957 0.336625 -vt 0.652061 0.336628 -vt 0.652064 0.337317 -vt 0.653168 0.336809 -vt 0.656866 0.340895 -vt 0.655346 0.340806 -vt 0.653970 0.340890 -vt 0.671253 0.338233 -vt 0.671472 0.338233 -vt 0.671470 0.337557 -vt 0.652046 0.346806 -vt 0.665497 0.338599 -vt 0.665663 0.338599 -vt 0.665663 0.338404 -vt 0.647507 0.341802 -vt 0.653089 0.340802 -vt 0.669772 0.341914 -vt 0.669364 0.341701 -vt 0.670181 0.341704 -vt 0.650766 0.346427 -vt 0.652276 0.346675 -vt 0.652808 0.346599 -vt 0.652882 0.346653 -vt 0.666531 0.348446 -vt 0.666675 0.348446 -vt 0.666674 0.348692 -vt 0.671544 0.335436 -vt 0.671154 0.335438 -vt 0.671154 0.335634 -vt 0.671512 0.335403 -vt 0.671191 0.335404 -vt 0.653306 0.342119 -vt 0.653308 0.340802 -vt 0.653969 0.341610 -vt 0.653969 0.341314 -vt 0.657096 0.340687 -vt 0.657251 0.340835 -vt 0.657446 0.340872 -vt 0.666338 0.341178 -vt 0.666344 0.341136 -vt 0.666141 0.341132 -vt 0.671982 0.327709 -vt 0.671281 0.327706 -vt 0.671277 0.328466 -vt 0.671424 0.328610 -vt 0.671831 0.328612 -vt 0.671979 0.328470 -vt 0.645308 0.342022 -vt 0.646366 0.342024 -vt 0.645309 0.341798 -vt 0.654435 0.342121 -vt 0.654435 0.342199 -vt 0.654781 0.342199 -vt 0.671983 0.325746 -vt 0.671796 0.325132 -vt 0.671793 0.326094 -vt 0.671982 0.325897 -vt 0.672220 0.326096 -vt 0.671777 0.334214 -vt 0.671776 0.334827 -vt 0.672010 0.334827 -vt 0.653873 0.340803 -vt 0.653654 0.340803 -vt 0.655346 0.340729 -vt 0.655001 0.340728 -vt 0.655001 0.340805 -vt 0.653654 0.340725 -vt 0.653308 0.340725 -vt 0.671788 0.332239 -vt 0.671789 0.331098 -vt 0.671711 0.331172 -vt 0.652553 0.348753 -vt 0.652553 0.349106 -vt 0.652681 0.349106 -vt 0.672085 0.331172 -vt 0.672007 0.331098 -vt 0.672006 0.332240 -vt 0.656870 0.341615 -vt 0.668193 0.332067 -vt 0.669156 0.332072 -vt 0.669169 0.329174 -vt 0.671795 0.322170 -vt 0.671872 0.322170 -vt 0.671867 0.321028 -vt 0.672090 0.322169 -vt 0.672168 0.322168 -vt 0.672163 0.321101 -vt 0.668481 0.329171 -vt 0.668206 0.329389 -vt 0.666338 0.332059 -vt 0.666535 0.332060 -vt 0.666549 0.329162 -vt 0.652436 0.348631 -vt 0.652336 0.348753 -vt 0.671870 0.322396 -vt 0.671793 0.322471 -vt 0.671795 0.323538 -vt 0.670269 0.345604 -vt 0.670270 0.345453 -vt 0.670505 0.345454 -vt 0.672166 0.322470 -vt 0.672088 0.322396 -vt 0.672090 0.323538 -vt 0.645310 0.341095 -vt 0.667770 0.332065 -vt 0.666770 0.332061 -vt 0.666784 0.329163 -vt 0.671056 0.346443 -vt 0.670979 0.346517 -vt 0.670974 0.347585 -vt 0.670666 0.345804 -vt 0.670503 0.345803 -vt 0.670504 0.345605 -vt 0.671270 0.347586 -vt 0.671347 0.347586 -vt 0.671352 0.346519 -vt 0.667782 0.329387 -vt 0.667509 0.329166 -vt 0.666922 0.332062 -vt 0.666935 0.329164 -vt 0.671361 0.326336 -vt 0.671283 0.326410 -vt 0.671279 0.327477 -vt 0.667157 0.332063 -vt 0.667170 0.329165 -vt 0.657272 0.345497 -vt 0.657273 0.344680 -vt 0.657191 0.344600 -vt 0.671652 0.327452 -vt 0.671656 0.326411 -vt 0.651028 0.346127 -vt 0.650922 0.346278 -vt 0.655755 0.344598 -vt 0.655674 0.344677 -vt 0.655673 0.345494 -vt 0.645310 0.340874 -vt 0.654782 0.340805 -vt 0.653652 0.342120 -vt 0.653968 0.342037 -vt 0.653873 0.340726 -vt 0.654218 0.340804 -vt 0.654219 0.340726 -vt 0.654437 0.340804 -vt 0.654782 0.340727 -vt 0.672010 0.334979 -vt 0.671775 0.334978 -vt 0.671775 0.335176 -vt 0.672199 0.335177 -vt 0.672223 0.325134 -vt 0.653871 0.342120 -vt 0.655345 0.342200 -vt 0.655345 0.342122 -vt 0.655000 0.342122 -vt 0.653652 0.342197 -vt 0.656756 0.344189 -vt 0.656833 0.344189 -vt 0.656833 0.344045 -vt 0.671877 0.347120 -vt 0.671954 0.347119 -vt 0.671951 0.346443 -vt 0.671581 0.347121 -vt 0.671659 0.347121 -vt 0.671655 0.346445 -vt 0.656460 0.344190 -vt 0.656538 0.344190 -vt 0.656537 0.343971 -vt 0.671606 0.348023 -vt 0.671952 0.348024 -vt 0.671954 0.347348 -vt 0.667304 0.332303 -vt 0.667016 0.335199 -vt 0.666328 0.335196 -vt 0.671469 0.337246 -vt 0.671546 0.337245 -vt 0.671544 0.337101 -vt 0.671549 0.338232 -vt 0.671547 0.337557 -vt 0.667291 0.334981 -vt 0.669169 0.332311 -vt 0.669156 0.335209 -vt 0.668958 0.335208 -vt 0.652436 0.349228 -vt 0.652591 0.349228 -vt 0.672007 0.329730 -vt 0.672007 0.330872 -vt 0.672084 0.330872 -vt 0.669596 0.345601 -vt 0.669357 0.345600 -vt 0.669358 0.345449 -vt 0.671711 0.329804 -vt 0.671711 0.330872 -vt 0.671788 0.330872 -vt 0.667731 0.332305 -vt 0.667718 0.334983 -vt 0.668972 0.332310 -vt 0.668720 0.335207 -vt 0.672007 0.332466 -vt 0.672006 0.333607 -vt 0.672083 0.333608 -vt 0.669356 0.345798 -vt 0.669196 0.345797 -vt 0.671787 0.333607 -vt 0.671789 0.332465 -vt 0.671711 0.332540 -vt 0.667991 0.335204 -vt 0.668734 0.332309 -vt 0.668569 0.335206 -vt 0.654781 0.342122 -vt 0.656868 0.342041 -vt 0.672089 0.323764 -vt 0.672090 0.324906 -vt 0.672168 0.324906 -vt 0.668344 0.332307 -vt 0.668331 0.335205 -vt 0.668582 0.332308 -vt 0.656869 0.342187 -vt 0.655687 0.342123 -vt 0.653870 0.342198 -vt 0.654216 0.342198 -vt 0.671872 0.324906 -vt 0.671870 0.323765 -vt 0.671793 0.323839 -vt 0.654216 0.342121 -vt 0.671874 0.346444 -vt 0.644214 0.339986 -vt 0.644362 0.339846 -vt 0.644193 0.339756 -vt 0.644615 0.340046 -vt 0.644334 0.339545 -vt 0.644175 0.339559 -vt 0.661765 0.343274 -vt 0.661774 0.343476 -vt 0.661938 0.343468 -vt 0.644761 0.345897 -vt 0.644761 0.345737 -vt 0.644408 0.345736 -vt 0.661779 0.343575 -vt 0.661664 0.343724 -vt 0.661914 0.343724 -vt 0.666088 0.341451 -vt 0.652408 0.344048 -vt 0.653077 0.344280 -vt 0.652920 0.344378 -vt 0.644352 0.339741 -vt 0.665748 0.341793 -vt 0.665706 0.341738 -vt 0.663936 0.343063 -vt 0.644408 0.345896 -vt 0.644302 0.345896 -vt 0.644079 0.346130 -vt 0.644077 0.347117 -vt 0.645080 0.347119 -vt 0.645082 0.346132 -vt 0.667545 0.348453 -vt 0.667839 0.348708 -vt 0.667838 0.348452 -vt 0.671547 0.336174 -vt 0.671546 0.336029 -vt 0.671385 0.336030 -vt 0.645949 0.348760 -vt 0.645922 0.348760 -vt 0.645922 0.348928 -vt 0.645519 0.348898 -vt 0.645812 0.348899 -vt 0.645813 0.348759 -vt 0.645520 0.348758 -vt 0.645839 0.348927 -vt 0.645839 0.348759 -vt 0.665999 0.338618 -vt 0.666027 0.338619 -vt 0.666027 0.338335 -vt 0.671398 0.339640 -vt 0.671245 0.339741 -vt 0.671571 0.340011 -vt 0.671500 0.339488 -vt 0.671536 0.339308 -vt 0.671066 0.339776 -vt 0.669561 0.343988 -vt 0.669414 0.343844 -vt 0.670116 0.343846 -vt 0.669417 0.343083 -vt 0.670343 0.343087 -vt 0.670119 0.343086 -vt 0.670101 0.342715 -vt 0.670239 0.342384 -vt 0.670344 0.341862 -vt 0.670103 0.342052 -vt 0.669440 0.342050 -vt 0.669200 0.341858 -vt 0.669301 0.342381 -vt 0.669196 0.343083 -vt 0.669438 0.342713 -vt 0.669338 0.342202 -vt 0.669592 0.341949 -vt 0.670204 0.342205 -vt 0.670203 0.342563 -vt 0.669948 0.342816 -vt 0.669769 0.342851 -vt 0.669589 0.342815 -vt 0.669336 0.342560 -vt 0.669968 0.343989 -vt 0.669951 0.341950 -vt 0.665497 0.338404 -vt 0.665149 0.338488 -vt 0.665150 0.338600 -vt 0.664984 0.338600 -vt 0.665458 0.338243 -vt 0.665110 0.338327 -vt 0.670113 0.347813 -vt 0.669767 0.347812 -vt 0.671352 0.347895 -vt 0.671352 0.347817 -vt 0.670331 0.347814 -vt 0.669766 0.348137 -vt 0.669766 0.348214 -vt 0.670112 0.348215 -vt 0.644857 0.345897 -vt 0.666110 0.338571 -vt 0.666110 0.338335 -vt 0.666316 0.338619 -vt 0.666233 0.338571 -vt 0.666316 0.338647 -vt 0.646157 0.348929 -vt 0.646158 0.348622 -vt 0.671549 0.336766 -vt 0.671548 0.336570 -vt 0.671158 0.336572 -vt 0.671517 0.336801 -vt 0.671159 0.336768 -vt 0.668127 0.348451 -vt 0.666344 0.338619 -vt 0.666344 0.338363 -vt 0.666317 0.338336 -vt 0.666234 0.338336 -vt 0.646280 0.348929 -vt 0.646516 0.348930 -vt 0.646490 0.348762 -vt 0.646626 0.348903 -vt 0.646626 0.348763 -vt 0.646599 0.348763 -vt 0.646517 0.348762 -vt 0.646599 0.348931 -vt 0.646918 0.348904 -vt 0.646919 0.348764 -vt 0.665884 0.348220 -vt 0.666228 0.348025 -vt 0.666399 0.348073 -vt 0.667547 0.348906 -vt 0.666529 0.348691 -vt 0.666756 0.348819 -vt 0.669247 0.347752 -vt 0.669249 0.348205 -vt 0.668969 0.347962 -vt 0.668904 0.348013 -vt 0.668734 0.348063 -vt 0.666446 0.348817 -vt 0.669107 0.347753 -vt 0.651009 0.348764 -vt 0.651047 0.348947 -vt 0.651082 0.348764 -vt 0.650945 0.349104 -vt 0.650893 0.349053 -vt 0.651150 0.348791 -vt 0.651202 0.348842 -vt 0.651013 0.349131 -vt 0.651231 0.348909 -vt 0.651231 0.348982 -vt 0.651086 0.349131 -vt 0.651204 0.349050 -vt 0.651153 0.349102 -vt 0.650942 0.348793 -vt 0.650864 0.348986 -vt 0.650891 0.348845 -vt 0.650864 0.348913 -vt 0.672001 0.336533 -vt 0.671992 0.338283 -vt 0.672197 0.338284 -vt 0.672049 0.338339 -vt 0.672140 0.338340 -vt 0.665496 0.328592 -vt 0.665496 0.328721 -vt 0.665700 0.328722 -vt 0.649982 0.347032 -vt 0.655858 0.344144 -vt 0.654727 0.340476 -vt 0.654996 0.339627 -vt 0.671545 0.335632 -vt 0.672221 0.325898 -vt 0.672200 0.334214 -vt 0.671711 0.332239 -vt 0.652681 0.348753 -vt 0.672084 0.332240 -vt 0.656871 0.341319 -vt 0.671790 0.321103 -vt 0.672085 0.321027 -vt 0.666351 0.329161 -vt 0.652591 0.348631 -vt 0.671872 0.323538 -vt 0.672168 0.323538 -vt 0.671051 0.347585 -vt 0.671275 0.346444 -vt 0.657189 0.345576 -vt 0.671579 0.326337 -vt 0.655754 0.345574 -vt 0.654437 0.340727 -vt 0.672221 0.325747 -vt 0.654999 0.342199 -vt 0.653306 0.342197 -vt 0.656755 0.343970 -vt 0.671578 0.346445 -vt 0.656460 0.344046 -vt 0.671609 0.347347 -vt 0.666342 0.332298 -vt 0.671466 0.337028 -vt 0.646872 0.342185 -vt 0.652336 0.349106 -vt 0.672085 0.329805 -vt 0.669596 0.345450 -vt 0.671789 0.329730 -vt 0.672085 0.332540 -vt 0.671710 0.333607 -vt 0.672166 0.323838 -vt 0.655687 0.342193 -vt 0.671795 0.324906 -vt 0.652075 0.340487 -vt 0.653379 0.340482 -vt 0.652073 0.339798 -vt 0.661929 0.343266 -vt 0.666317 0.341361 -vt 0.663978 0.343119 -vt 0.671386 0.336174 -vt 0.665999 0.338362 -vt 0.664984 0.338489 -vt 0.669767 0.347890 -vt 0.666027 0.338646 -vt 0.671197 0.336802 -vt 0.646282 0.348623 -vt 0.672205 0.336534 -vt 0.665701 0.328592 -vt 0.645130 0.340230 -vt 0.645115 0.340070 -vt 0.644939 0.340169 -vt 0.644925 0.340018 -vt 0.653589 0.346722 -vt 0.653589 0.346671 -vt 0.654138 0.346662 -vt 0.665807 0.340688 -vt 0.656870 0.339398 -vt 0.655850 0.339403 -vt 0.655851 0.339547 -vt 0.669550 0.348136 -vt 0.669549 0.347891 -vt 0.669475 0.347964 -vt 0.654722 0.339409 -vt 0.653268 0.346667 -vt 0.645840 0.346789 -vt 0.648555 0.346796 -vt 0.648555 0.346685 -vt 0.653368 0.337690 -vt 0.653364 0.336650 -vt 0.645841 0.346452 -vt 0.655971 0.340807 -vt 0.656866 0.340731 -vt 0.655971 0.340730 -vt 0.671250 0.337251 -vt 0.671173 0.337252 -vt 0.671174 0.337355 -vt 0.671175 0.337452 -vt 0.671176 0.337555 -vt 0.671254 0.337557 -vt 0.670598 0.339307 -vt 0.670569 0.339021 -vt 0.670567 0.340009 -vt 0.668033 0.348210 -vt 0.668032 0.348119 -vt 0.671272 0.335785 -vt 0.654284 0.346628 -vt 0.654463 0.346686 -vt 0.654139 0.346714 -vt 0.653167 0.344749 -vt 0.668714 0.344925 -vt 0.673954 0.344135 -vt 0.665656 0.340670 -vt 0.665851 0.340483 -vt 0.665756 0.340431 -vt 0.664125 0.338873 -vt 0.663934 0.339073 -vt 0.665576 0.340641 -vt 0.654003 0.344111 -vt 0.654328 0.344094 -vt 0.654215 0.344297 -vt 0.669114 0.339976 -vt 0.644900 0.339700 -vt 0.651779 0.345198 -vt 0.651935 0.345050 -vt 0.652048 0.344354 -vt 0.651583 0.345233 -vt 0.662656 0.340850 -vt 0.659345 0.340602 -vt 0.659296 0.340678 -vt 0.674047 0.345242 -vt 0.653814 0.345328 -vt 0.653827 0.348209 -vt 0.646508 0.344057 -vt 0.649684 0.344093 -vt 0.649669 0.344043 -vt 0.669763 0.344216 -vt 0.669762 0.344374 -vt 0.669531 0.344215 -vt 0.665873 0.340511 -vt 0.669360 0.345109 -vt 0.665821 0.341739 -vt 0.654433 0.338957 -vt 0.656867 0.338944 -vt 0.656669 0.338713 -vt 0.656667 0.338361 -vt 0.654429 0.338141 -vt 0.656864 0.338360 -vt 0.656863 0.338096 -vt 0.653400 0.344098 -vt 0.653390 0.344296 -vt 0.652050 0.344171 -vt 0.649802 0.344145 -vt 0.656863 0.337912 -vt 0.654402 0.338030 -vt 0.656866 0.338712 -vt 0.655067 0.339300 -vt 0.655286 0.339299 -vt 0.654407 0.339067 -vt 0.655849 0.339296 -vt 0.656869 0.339171 -vt 0.655631 0.339297 -vt 0.652632 0.338147 -vt 0.652938 0.338146 -vt 0.652967 0.338035 -vt 0.662503 0.338903 -vt 0.662477 0.339733 -vt 0.662538 0.339781 -vt 0.670633 0.340349 -vt 0.670698 0.344205 -vt 0.674042 0.344163 -vt 0.655278 0.336619 -vt 0.655279 0.337686 -vt 0.655624 0.337686 -vt 0.662902 0.338878 -vt 0.662914 0.339780 -vt 0.662981 0.339739 -vt 0.645309 0.346450 -vt 0.645308 0.346788 -vt 0.666773 0.346076 -vt 0.666773 0.346282 -vt 0.668969 0.346283 -vt 0.652633 0.338379 -vt 0.652788 0.338378 -vt 0.642744 0.343779 -vt 0.670357 0.344943 -vt 0.661163 0.348102 -vt 0.661163 0.347939 -vt 0.655926 0.347949 -vt 0.674018 0.338472 -vt 0.669132 0.338416 -vt 0.661578 0.348101 -vt 0.661577 0.347938 -vt 0.661362 0.347939 -vt 0.661362 0.348102 -vt 0.662153 0.348100 -vt 0.662310 0.347937 -vt 0.661761 0.347938 -vt 0.670672 0.344629 -vt 0.670508 0.344764 -vt 0.670115 0.344376 -vt 0.669789 0.344760 -vt 0.652789 0.338731 -vt 0.652941 0.338962 -vt 0.670084 0.344762 -vt 0.670082 0.345113 -vt 0.670506 0.345115 -vt 0.670670 0.345116 -vt 0.652372 0.337694 -vt 0.670348 0.344219 -vt 0.655279 0.337793 -vt 0.656863 0.337685 -vt 0.655843 0.337686 -vt 0.655843 0.337793 -vt 0.653587 0.337690 -vt 0.653932 0.337689 -vt 0.653928 0.336621 -vt 0.654151 0.337688 -vt 0.654496 0.337687 -vt 0.654493 0.336620 -vt 0.652049 0.345739 -vt 0.651029 0.345736 -vt 0.662560 0.338873 -vt 0.666774 0.345670 -vt 0.668969 0.346078 -vt 0.666773 0.347043 -vt 0.668969 0.347044 -vt 0.670627 0.345147 -vt 0.673942 0.345184 -vt 0.646451 0.344107 -vt 0.661762 0.348101 -vt 0.670079 0.345801 -vt 0.669784 0.345800 -vt 0.669787 0.345111 -vt 0.670116 0.344218 -vt 0.654713 0.336619 -vt 0.654715 0.337686 -vt 0.655060 0.337686 -vt 0.655624 0.337793 -vt 0.653933 0.337796 -vt 0.653587 0.337797 -vt 0.653369 0.337798 -vt 0.654151 0.337795 -vt 0.655060 0.337793 -vt 0.654715 0.337794 -vt 0.656181 0.344310 -vt 0.655958 0.344139 -vt 0.652635 0.338964 -vt 0.652378 0.339418 -vt 0.652971 0.339073 -vt 0.655170 0.347691 -vt 0.655169 0.347353 -vt 0.653593 0.339306 -vt 0.653939 0.339305 -vt 0.653375 0.339415 -vt 0.653374 0.339307 -vt 0.655631 0.339404 -vt 0.655286 0.339406 -vt 0.655287 0.339550 -vt 0.655701 0.347689 -vt 0.668970 0.345671 -vt 0.668970 0.345465 -vt 0.652634 0.338732 -vt 0.668641 0.344399 -vt 0.670385 0.344396 -vt 0.671176 0.338233 -vt 0.671248 0.337030 -vt 0.645543 0.340191 -vt 0.650254 0.339752 -vt 0.650742 0.339545 -vt 0.669187 0.349359 -vt 0.669193 0.350916 -vt 0.655068 0.339554 -vt 0.655068 0.339408 -vt 0.645344 0.340210 -vt 0.645329 0.340050 -vt 0.645528 0.340032 -vt 0.653939 0.339413 -vt 0.669362 0.344758 -vt 0.669202 0.344621 -vt 0.654722 0.339302 -vt 0.669200 0.345108 -vt 0.653593 0.339414 -vt 0.653597 0.340482 -vt 0.653943 0.340480 -vt 0.654158 0.339412 -vt 0.654162 0.340479 -vt 0.654508 0.340478 -vt 0.654157 0.339304 -vt 0.654504 0.339410 -vt 0.654503 0.339303 -vt 0.666774 0.345464 -vt 0.668970 0.344705 -vt 0.659341 0.339758 -vt 0.659342 0.339807 -vt 0.644946 0.340247 -vt 0.652042 0.344901 -vt 0.645109 0.340001 -vt 0.665779 0.341683 -vt 0.661666 0.343279 -vt 0.661676 0.343481 -vt 0.653725 0.344114 -vt 0.653832 0.344119 -vt 0.653822 0.344318 -vt 0.654014 0.344308 -vt 0.654333 0.346558 -vt 0.655311 0.344043 -vt 0.655447 0.346648 -vt 0.661438 0.342326 -vt 0.661436 0.342143 -vt 0.657096 0.342143 -vt 0.661436 0.342509 -vt 0.657096 0.342326 -vt 0.661430 0.342692 -vt 0.657096 0.342509 -vt 0.661427 0.342875 -vt 0.657096 0.342692 -vt 0.666250 0.348901 -vt 0.666250 0.348816 -vt 0.657096 0.342875 -vt 0.657096 0.343058 -vt 0.661427 0.343058 -vt 0.657096 0.343240 -vt 0.661427 0.343240 -vt 0.666203 0.348900 -vt 0.666204 0.348816 -vt 0.665882 0.348899 -vt 0.665883 0.348814 -vt 0.661427 0.343423 -vt 0.657096 0.343423 -vt 0.657096 0.343606 -vt 0.661427 0.343606 -vt 0.657096 0.343789 -vt 0.661427 0.343789 -vt 0.657096 0.343972 -vt 0.661427 0.343972 -vt 0.657096 0.344155 -vt 0.661427 0.344155 -vt 0.657096 0.344338 -vt 0.661427 0.344338 -vt 0.657096 0.341411 -vt 0.657096 0.341594 -vt 0.661427 0.341594 -vt 0.657096 0.341777 -vt 0.661430 0.341777 -vt 0.649012 0.349171 -vt 0.649012 0.349086 -vt 0.648961 0.349086 -vt 0.661433 0.341960 -vt 0.657096 0.341960 -vt 0.649208 0.349086 -vt 0.649714 0.349170 -vt 0.649518 0.349086 -vt 0.649435 0.348914 -vt 0.649290 0.348914 -vt 0.649435 0.348644 -vt 0.649290 0.348644 -vt 0.667918 0.348211 -vt 0.667216 0.348214 -vt 0.667216 0.348127 -vt 0.667101 0.348214 -vt 0.667100 0.348123 -vt 0.656458 0.342453 -vt 0.656457 0.342704 -vt 0.656541 0.342453 -vt 0.656833 0.342705 -vt 0.656833 0.342454 -vt 0.656832 0.342788 -vt 0.655958 0.342785 -vt 0.655957 0.342962 -vt 0.656832 0.342965 -vt 0.656041 0.343742 -vt 0.656743 0.343745 -vt 0.656829 0.343669 -vt 0.655955 0.343666 -vt 0.653267 0.346719 -vt 0.670795 0.338787 -vt 0.670736 0.338975 -vt 0.671068 0.338839 -vt 0.671350 0.338788 -vt 0.671399 0.338977 -vt 0.671573 0.339023 -vt 0.670633 0.339486 -vt 0.670735 0.339638 -vt 0.670887 0.339740 -vt 0.671500 0.339129 -vt 0.671247 0.338875 -vt 0.670888 0.338874 -vt 0.670634 0.339127 -vt 0.671253 0.337451 -vt 0.656541 0.342427 -vt 0.656458 0.342426 -vt 0.671274 0.336420 -vt 0.671548 0.336419 -vt 0.666952 0.348820 -vt 0.666952 0.348904 -vt 0.666998 0.348905 -vt 0.667319 0.348906 -vt 0.666998 0.348820 -vt 0.649765 0.349170 -vt 0.649765 0.349086 -vt 0.649714 0.349086 -vt 0.656334 0.342703 -vt 0.655958 0.342702 -vt 0.667918 0.348124 -vt 0.656252 0.342426 -vt 0.656251 0.342452 -vt 0.656334 0.342453 -vt 0.654496 0.337794 -vt 0.651103 0.348667 -vt 0.651206 0.348710 -vt 0.650889 0.349185 -vt 0.651285 0.348789 -vt 0.651328 0.348892 -vt 0.650992 0.349228 -vt 0.651328 0.349003 -vt 0.651285 0.349106 -vt 0.651103 0.349228 -vt 0.651206 0.349185 -vt 0.650767 0.348892 -vt 0.650889 0.348710 -vt 0.650767 0.349003 -vt 0.650810 0.349106 -vt 0.650992 0.348667 -vt 0.650810 0.348789 -vt 0.663495 0.328582 -vt 0.663495 0.328711 -vt 0.663575 0.328712 -vt 0.663666 0.328712 -vt 0.663667 0.328583 -vt 0.663575 0.328583 -vt 0.663746 0.328583 -vt 0.663746 0.328713 -vt 0.661745 0.328574 -vt 0.661745 0.328703 -vt 0.656871 0.339542 -vt 0.669475 0.348061 -vt 0.671252 0.337354 -vt 0.671545 0.335784 -vt 0.674011 0.340319 -vt 0.655624 0.336619 -vt 0.662967 0.338908 -vt 0.656433 0.348111 -vt 0.653583 0.336623 -vt 0.654148 0.336621 -vt 0.655059 0.336619 -vt 0.655632 0.339548 -vt 0.655699 0.347352 -vt 0.659343 0.339981 -vt 0.671171 0.337105 -vt 0.674072 0.350895 -vt 0.666774 0.344703 -vt 0.653715 0.344312 -vt 0.659330 0.338958 -vt 0.661427 0.341411 -vt 0.648961 0.349171 -vt 0.667319 0.348822 -vt 0.656334 0.342426 -vt 0.655959 0.342451 -s 0 -f 1789/1551/866 1790/1552/866 1791/1553/866 -f 1792/1554/867 1793/1555/867 1794/1556/867 -f 1795/1557/868 1796/1558/868 1797/1559/868 -f 1798/1560/868 1799/1561/868 1800/1562/868 -f 1801/1563/869 1802/1564/869 1803/1565/869 -f 1795/1557/870 1804/1563/870 1805/1566/870 -f 1806/1567/871 1807/1568/871 1808/1569/871 -f 1809/1570/872 1810/1571/872 1811/1572/872 -f 1812/1569/873 1813/1568/873 1814/1573/873 -f 1809/1570/872 1811/1572/872 1815/1574/872 -f 1816/1575/868 1817/1576/868 1818/1577/868 -f 1819/1578/874 1820/1579/874 1821/1580/874 -f 1822/1581/875 1823/1582/875 1824/1583/875 -f 1824/1583/875 1825/1584/875 1822/1581/875 -f 1826/1585/872 1809/1570/872 1827/1586/872 -f 1828/1587/872 1829/1588/872 1826/1585/872 -f 1799/1561/868 1830/1589/868 1831/1590/868 -f 1832/1591/866 1833/1592/866 1834/1593/866 -f 1835/1594/872 1836/1595/872 1837/1596/872 -f 1838/1597/872 1839/1598/872 1840/1599/872 -f 1828/1587/872 1826/1585/872 1827/1586/872 -f 1841/1600/866 1842/1601/866 1843/1602/866 -f 1843/1602/866 1844/1603/866 1841/1600/866 -f 1845/1604/872 1846/1605/872 1847/1606/872 -f 1848/1607/868 1849/1608/868 1850/1609/868 -f 1833/1592/866 1851/1610/866 1834/1593/866 -f 1852/1611/875 1853/1612/875 1854/1613/875 -f 1839/1598/872 1815/1574/872 1840/1599/872 -f 1811/1572/872 1840/1599/872 1815/1574/872 -f 1826/1585/872 1855/1614/872 1809/1570/872 -f 1840/1599/872 1856/1615/872 1838/1597/872 -f 1857/1616/875 1858/1617/875 1859/1618/875 -f 1860/1619/866 1834/1593/866 1851/1610/866 -f 1861/1620/866 1862/1621/866 1863/1622/866 -f 1864/1623/875 1865/1624/875 1866/1625/875 -f 1867/1626/876 1868/1627/876 1869/1628/876 -f 1870/1629/876 1871/1630/876 1868/1627/876 -f 1840/1599/872 1837/1596/872 1836/1595/872 -f 1872/1631/872 1873/1632/872 1856/1615/872 -f 1874/1633/872 1875/1634/872 1873/1632/872 -f 1876/1635/868 1877/1636/868 1878/1637/868 -f 1879/1638/867 1880/1639/867 1881/1640/867 -f 1882/1641/867 1883/1642/867 1884/1643/867 -f 1885/1644/867 1886/1645/867 1887/1646/867 -f 1888/1647/872 1889/1648/872 1890/1649/872 -f 1891/1650/872 1892/1651/872 1893/1652/872 -f 1894/1653/867 1895/1654/867 1896/1655/867 -f 1897/1656/867 1896/1655/867 1898/1657/867 -f 1899/1658/867 1900/1659/867 1901/1660/867 -f 1902/1661/872 1903/1662/872 1847/1606/872 -f 1904/1663/872 1905/1664/872 1906/1665/872 -f 1907/1666/872 1908/1667/872 1873/1632/872 -f 1909/1668/867 1910/1669/867 1911/1670/867 -f 1912/1671/877 1913/1672/877 1914/1673/877 -f 1915/1674/875 1916/1675/875 1917/1676/875 -f 1875/1634/872 1874/1633/872 1918/1677/872 -f 1919/1678/878 1920/1679/878 1921/1680/878 -f 1922/1681/867 1923/1682/867 1924/1683/867 -f 1925/1684/875 1926/1685/875 1927/1686/875 -f 1928/1687/873 1929/1688/873 1919/1678/873 -f 1930/1689/879 1931/1690/879 1932/1691/879 -f 1933/1692/868 1934/1693/868 1935/1671/868 -f 1936/1694/867 1937/1695/867 1938/1696/867 -f 1939/1697/867 1940/1698/867 1941/1699/867 -f 1942/1700/875 1943/1701/875 1944/1702/875 -f 1829/1588/872 1945/1703/872 1826/1585/872 -f 1946/1704/880 1947/1678/880 1948/1688/880 -f 1949/1690/880 1950/1705/880 1951/1706/880 -f 1952/1707/867 1953/1708/867 1954/1709/867 -f 1955/1710/867 1956/1711/867 1957/1712/867 -f 1958/1713/875 1959/1714/875 1960/1715/875 -f 1957/1712/867 1941/1699/867 1955/1710/867 -f 1961/1716/881 1962/1717/881 1963/1704/881 -f 1964/1705/879 1965/1718/879 1966/1719/879 -f 1967/1720/867 1968/1721/867 1969/1722/867 -f 1970/1723/879 1963/1704/879 1962/1717/879 -f 1971/1718/869 1972/1723/869 1973/1724/869 -f 1974/1725/882 1975/1726/882 1976/1727/882 -f 1977/1578/875 1978/1728/875 1979/1729/875 -f 1980/1730/866 1981/1731/866 1851/1610/866 -f 1982/1732/883 1983/1733/883 1984/1734/883 -f 1829/1588/872 1985/1735/872 1945/1703/872 -f 1906/1665/872 1986/1736/872 1847/1606/872 -f 1873/1632/872 1875/1634/872 1847/1606/872 -f 1872/1631/872 1987/1737/872 1988/1738/872 -f 1989/1739/872 1902/1661/872 1847/1606/872 -f 1847/1606/872 1990/1740/872 1991/1741/872 -f 1992/1742/872 1990/1740/872 1847/1606/872 -f 1992/1742/872 1986/1736/872 1993/1743/872 -f 1994/1744/867 1995/1745/867 1996/1746/867 -f 1901/1660/867 1994/1744/867 1997/1747/867 -f 1998/1748/867 1895/1654/867 1894/1653/867 -f 1987/1737/872 1999/1749/872 1988/1738/872 -f 2000/1750/872 2001/1751/872 2002/1752/872 -f 2003/1753/872 1987/1737/872 1872/1631/872 -f 2004/1754/867 2005/1755/867 2006/1756/867 -f 2007/1757/867 2008/1758/867 2009/1759/867 -f 2010/1760/875 2011/1761/875 2012/1762/875 -f 2013/1763/875 2014/1764/875 2015/1765/875 -f 2016/1766/868 2017/1767/868 2018/1768/868 -f 2019/1769/879 2020/1770/879 2021/1771/879 -f 2022/1772/867 2023/1773/867 2024/1774/867 -f 2025/1608/867 2026/1775/867 2027/1776/867 -f 1835/1594/872 1810/1571/872 1889/1648/872 -f 2028/1777/881 2020/1770/881 2019/1769/881 -f 2029/1778/866 2030/1779/866 2031/1780/866 -f 2032/1781/866 2033/1782/866 2034/1672/866 -f 2035/1783/867 2036/1784/867 2037/1785/867 -f 1855/1614/872 1889/1648/872 1810/1571/872 -f 2038/1786/867 2039/1787/867 2040/1788/867 -f 2041/1789/875 2042/1790/875 2043/1791/875 -f 1890/1649/872 1889/1648/872 1855/1614/872 -f 2044/1792/880 2045/1793/880 2046/1777/880 -f 2047/1794/880 2048/1780/880 2049/1795/880 -f 2050/1796/867 2051/1797/867 2052/1798/867 -f 2053/1799/867 2054/1800/867 2039/1787/867 -f 2055/1801/875 2056/1802/875 2057/1803/875 -f 2040/1788/867 2039/1787/867 2054/1800/867 -f 2058/1804/866 2059/1793/866 2060/1792/866 -f 2061/1805/878 2062/1795/878 2063/1806/878 -f 1988/1738/872 2064/1807/872 2002/1752/872 -f 2065/1808/872 1988/1738/872 2001/1751/872 -f 2066/1809/867 2067/1810/867 2068/1811/867 -f 2069/1812/866 2070/1813/866 2058/1804/866 -f 2071/1814/869 2072/1806/869 2073/1813/869 -f 2074/1815/872 2065/1808/872 2075/1816/872 -f 2076/1817/872 2077/1818/872 1988/1738/872 -f 2078/1819/875 2079/1820/875 2080/1821/875 -f 2081/1822/872 1988/1738/872 2077/1818/872 -f 2082/1761/868 2083/1757/868 2084/1823/868 -f 1891/1650/872 2064/1807/872 1988/1738/872 -f 2085/1824/875 2086/1825/875 2087/1826/875 -f 1823/1582/875 2088/1827/875 2086/1825/875 -f 1823/1582/875 1822/1581/875 2088/1827/875 -f 2089/1828/866 2090/1829/866 2091/1826/866 -f 2092/1830/868 2093/1831/868 2094/1832/868 -f 2095/1833/875 2096/1834/875 2097/1835/875 -f 2098/1831/875 2099/1836/875 2100/1832/875 -f 2101/1837/875 2102/1838/875 2100/1832/875 -f 1879/1638/867 1881/1640/867 2103/1839/867 -f 2104/1840/866 2105/1841/866 2106/1842/866 -f 2086/1825/875 2107/1843/875 2087/1826/875 -f 2108/1844/876 2109/1845/876 2110/1846/876 -f 2111/1847/875 2112/1848/875 2113/1849/875 -f 2114/1850/875 2115/1851/875 2116/1852/875 -f 2117/1853/867 2118/1854/867 2119/1855/867 -f 2120/1856/876 2121/1857/876 2122/1858/876 -f 2123/1859/868 2124/1860/868 2125/1861/868 -f 2126/1862/876 2127/1863/876 2128/1864/876 -f 2128/1864/876 2129/1865/876 2126/1862/876 -f 2130/1863/866 2131/1866/866 2132/1867/866 -f 2133/1868/866 2134/1869/866 2135/1870/866 -f 2136/1860/876 2137/1867/876 2138/1866/876 -f 2106/1842/866 1862/1621/866 1861/1620/866 -f 1837/1596/872 1810/1571/872 1835/1594/872 -f 2139/1871/867 2140/1872/867 2141/1873/867 -f 2142/1874/867 2139/1871/867 2141/1873/867 -f 2143/1875/867 2142/1874/867 2141/1873/867 -f 2104/1840/866 2106/1842/866 1861/1620/866 -f 2140/1872/867 2144/1876/867 2141/1873/867 -f 2145/1877/875 2146/1878/875 2147/1879/875 -f 2147/1879/875 2146/1878/875 2148/1880/875 -f 2149/1881/875 2150/1882/875 2151/1883/875 -f 2152/1884/875 2153/1885/875 2149/1881/875 -f 1859/1618/875 2153/1885/875 2154/1886/875 -f 2155/1887/875 2156/1888/875 1858/1617/875 -f 2157/1889/875 2158/1890/875 2156/1888/875 -f 2159/1891/875 2148/1880/875 2158/1890/875 -f 2160/1892/875 2157/1889/875 2156/1888/875 -f 2155/1887/875 2160/1892/875 2156/1888/875 -f 1857/1616/875 2161/1893/875 1858/1617/875 -f 2162/1894/875 2154/1886/875 2153/1885/875 -f 2152/1884/875 2162/1894/875 2153/1885/875 -f 2163/1895/875 2152/1884/875 2149/1881/875 -f 2164/1896/875 2151/1883/875 2150/1882/875 -f 2165/1897/875 2164/1896/875 2150/1882/875 -f 2165/1897/875 2150/1882/875 2148/1880/875 -f 2159/1891/875 2166/1898/875 2148/1880/875 -f 2157/1889/875 2167/1899/875 2158/1890/875 -f 2168/1900/875 2145/1877/875 2147/1879/875 -f 2150/1882/875 2147/1879/875 2148/1880/875 -f 2163/1895/875 2149/1881/875 2151/1883/875 -f 2169/1901/875 1859/1618/875 2154/1886/875 -f 2161/1893/875 2155/1887/875 1858/1617/875 -f 2167/1899/875 2159/1891/875 2158/1890/875 -f 2166/1898/875 2165/1897/875 2148/1880/875 -f 2169/1901/875 1857/1616/875 1859/1618/875 -f 2170/1902/866 2171/1903/866 2172/1904/866 -f 1855/1614/872 1810/1571/872 1809/1570/872 -f 2173/1905/867 2174/1904/867 2175/1903/867 -f 2176/1906/884 2177/1907/884 2178/1903/884 -f 2179/1558/872 2180/1908/872 2181/1909/872 -f 2182/1910/872 2183/1911/872 2184/1912/872 -f 2185/1913/876 2186/1914/876 2187/1915/876 -f 2188/1913/868 1797/1559/868 1796/1558/868 -f 2116/1852/875 2189/1916/875 2095/1833/875 -f 2111/1847/875 2113/1849/875 2116/1852/875 -f 2190/1869/867 2191/1917/867 2192/1918/867 -f 2190/1869/867 2193/1919/867 2194/1920/867 -f 2195/1921/872 2196/1919/872 2197/1869/872 -f 2198/1922/868 2199/1923/868 2123/1859/868 -f 2200/1924/876 2201/1925/876 2202/1926/876 -f 2203/1927/876 2200/1924/876 2204/1928/876 -f 1794/1556/867 1793/1555/867 2205/1929/867 -f 2206/1930/868 2207/1931/868 2208/1932/868 -f 2193/1919/867 2209/1932/867 2210/1933/867 -f 2211/1934/866 2212/1935/866 2213/1936/866 -f 2214/1937/868 2215/1938/868 2216/1939/868 -f 2217/1940/876 2218/1935/876 2219/1941/876 -f 2220/1940/866 2213/1936/866 2212/1935/866 -f 2221/1937/876 2222/1942/876 2223/1938/876 -f 2224/1943/876 2223/1938/876 2222/1942/876 -f 2225/1944/866 2226/1945/866 2227/1946/866 -f 2225/1944/866 1791/1553/866 2226/1945/866 -f 1794/1556/867 2118/1854/867 2228/1947/867 -f 2118/1854/867 2117/1853/867 2228/1947/867 -f 2229/1948/875 1866/1625/875 2230/1949/875 -f 2231/1950/868 2232/1951/868 2233/1952/868 -f 2234/1953/868 2233/1952/868 2232/1951/868 -f 2235/1954/868 2234/1953/868 2232/1951/868 -f 1792/1554/867 1794/1556/867 2228/1947/867 -f 2236/1955/875 2229/1948/875 2230/1949/875 -f 2237/1956/868 2231/1950/868 2233/1952/868 -f 2225/1944/866 1789/1551/866 1791/1553/866 -f 2229/1948/875 1864/1623/875 1866/1625/875 -f 2238/1957/875 2239/1958/875 2240/1959/875 -f 2241/1960/875 2239/1958/875 2242/1961/875 -f 2240/1959/875 2239/1958/875 2243/1962/875 -f 2243/1962/875 2239/1958/875 2244/1963/875 -f 2245/1964/875 2239/1958/875 2241/1960/875 -f 2244/1963/875 2239/1958/875 2246/1965/875 -f 2246/1965/875 2239/1958/875 2247/1966/875 -f 2248/1967/875 2239/1958/875 2245/1964/875 -f 2247/1966/875 2239/1958/875 2249/1968/875 -f 2249/1968/875 2239/1958/875 2250/1969/875 -f 2250/1969/875 2239/1958/875 2248/1967/875 -f 2251/1970/875 2239/1958/875 2238/1957/875 -f 2242/1961/875 2239/1958/875 2252/1971/875 -f 2253/1972/875 2239/1958/875 2251/1970/875 -f 2252/1971/875 2239/1958/875 2254/1973/875 -f 2254/1973/875 2239/1958/875 2253/1972/875 -f 2255/1974/868 2256/1975/868 2257/1976/868 -f 2258/1977/868 2259/1978/868 2257/1976/868 -f 2260/1979/875 2261/1980/875 2262/1981/875 -f 1804/1563/868 1795/1557/868 1797/1559/868 -f 2263/1982/868 1798/1560/868 1800/1562/868 -f 2264/1566/869 1801/1563/869 1803/1565/869 -f 2265/1910/870 1795/1557/870 1805/1566/870 -f 2266/1983/871 1806/1567/871 1808/1569/871 -f 2267/1984/868 1816/1575/868 1818/1577/868 -f 1818/1577/868 2268/1985/868 2267/1984/868 -f 1800/1562/868 1799/1561/868 1831/1590/868 -f 2269/1902/875 1852/1611/875 1854/1613/875 -f 1981/1731/866 1860/1619/866 1851/1610/866 -f 2270/1986/876 1867/1626/876 1869/1628/876 -f 1867/1626/876 1870/1629/876 1868/1627/876 -f 1856/1615/872 1840/1599/872 1836/1595/872 -f 1836/1595/872 1872/1631/872 1856/1615/872 -f 1872/1631/872 1874/1633/872 1873/1632/872 -f 1887/1646/867 1882/1641/867 1884/1643/867 -f 1884/1643/867 1885/1644/867 1887/1646/867 -f 2064/1807/872 1891/1650/872 1893/1652/872 -f 1897/1656/867 1894/1653/867 1896/1655/867 -f 2271/1987/867 1897/1656/867 1898/1657/867 -f 2272/1988/867 1899/1658/867 1901/1660/867 -f 1846/1605/872 1904/1663/872 1906/1665/872 -f 1903/1662/872 1907/1666/872 1873/1632/872 -f 2273/1989/867 1909/1668/867 1911/1670/867 -f 2274/1990/877 1912/1671/877 1914/1673/877 -f 2275/1991/875 1915/1674/875 1917/1676/875 -f 2276/1992/872 1875/1634/872 1918/1677/872 -f 1928/1687/878 1919/1678/878 1921/1680/878 -f 2277/1993/867 1922/1681/867 1924/1683/867 -f 2278/1994/875 1925/1684/875 1927/1686/875 -f 2279/1995/879 1930/1689/879 1932/1691/879 -f 2280/1996/868 1933/1692/868 1935/1671/868 -f 2281/1997/867 1936/1694/867 1938/1696/867 -f 1957/1712/867 1939/1697/867 1941/1699/867 -f 2282/1998/875 1942/1700/875 1944/1702/875 -f 2283/1716/880 1946/1704/880 1948/1688/880 -f 2284/1691/880 1949/1690/880 1951/1706/880 -f 2285/1999/867 1952/1707/867 1954/1709/867 -f 2286/2000/875 1958/1713/875 1960/1715/875 -f 2287/1706/879 1964/1705/879 1966/1719/879 -f 2288/1579/867 1967/1720/867 1969/1722/867 -f 2289/1724/879 1970/1723/879 1962/1717/879 -f 2290/1719/869 1971/1718/869 1973/1724/869 -f 2291/2001/882 1974/1725/882 1976/1727/882 -f 2292/2002/875 1977/1578/875 1979/1729/875 -f 2293/2003/883 1982/1732/883 1984/1734/883 -f 1846/1605/872 1906/1665/872 1847/1606/872 -f 1903/1662/872 1873/1632/872 1847/1606/872 -f 1874/1633/872 1872/1631/872 1988/1738/872 -f 1991/1741/872 1989/1739/872 1847/1606/872 -f 1986/1736/872 1992/1742/872 1847/1606/872 -f 2294/2004/872 1992/1742/872 1993/1743/872 -f 1997/1747/867 1994/1744/867 1996/1746/867 -f 2272/1988/867 1901/1660/867 1997/1747/867 -f 2295/2005/867 1998/1748/867 1894/1653/867 -f 2296/2006/872 2000/1750/872 2002/1752/872 -f 2297/2007/872 2003/1753/872 1872/1631/872 -f 2298/2008/867 2004/1754/867 2006/1756/867 -f 2299/1823/867 2007/1757/867 2009/1759/867 -f 2300/2009/875 2010/1760/875 2012/1762/875 -f 2301/2010/875 2013/1763/875 2015/1765/875 -f 2302/2011/868 2016/1766/868 2018/1768/868 -f 2303/2012/879 2019/1769/879 2021/1771/879 -f 2304/2013/867 2022/1772/867 2024/1774/867 -f 2305/1609/867 2025/1608/867 2027/1776/867 -f 2306/2014/872 1835/1594/872 1889/1648/872 -f 2307/1794/866 2029/1778/866 2031/1780/866 -f 2308/2015/866 2032/1781/866 2034/1672/866 -f 2309/2016/867 2035/1783/867 2037/1785/867 -f 2310/2017/867 2038/1786/867 2040/1788/867 -f 2311/2018/875 2041/1789/875 2043/1791/875 -f 2312/1769/880 2044/1792/880 2046/1777/880 -f 2313/1805/880 2047/1794/880 2049/1795/880 -f 2314/2019/867 2050/1796/867 2052/1798/867 -f 2315/2020/875 2055/1801/875 2057/1803/875 -f 2316/1814/878 2061/1805/878 2063/1806/878 -f 2001/1751/872 1988/1738/872 2002/1752/872 -f 2075/1816/872 2065/1808/872 2001/1751/872 -f 2317/2021/867 2066/1809/867 2068/1811/867 -f 2060/1792/866 2069/1812/866 2058/1804/866 -f 2318/1812/869 2071/1814/869 2073/1813/869 -f 2319/2022/872 2074/1815/872 2075/1816/872 -f 1999/1749/872 2076/1817/872 1988/1738/872 -f 2320/2023/875 2078/1819/875 2080/1821/875 -f 2321/2024/868 2322/2025/868 2323/2026/868 -f 2324/1762/868 2082/1761/868 2084/1823/868 -f 2081/1822/872 1891/1650/872 1988/1738/872 -f 2085/1824/875 1823/1582/875 2086/1825/875 -f 2325/1843/866 2089/1828/866 2091/1826/866 -f 2326/2027/868 2092/1830/868 2094/1832/868 -f 2111/1847/875 2095/1833/875 2097/1835/875 -f 2099/1836/875 2101/1837/875 2100/1832/875 -f 2327/2028/867 1879/1638/867 2103/1839/867 -f 2328/2029/876 2108/1844/876 2110/1846/876 -f 2113/1849/875 2114/1850/875 2116/1852/875 -f 2329/2030/876 2120/1856/876 2122/1858/876 -f 2330/1864/866 2130/1863/866 2132/1867/866 -f 2331/2031/866 2133/1868/866 2135/1870/866 -f 2332/1861/876 2136/1860/876 2138/1866/876 -f 2333/1611/866 2170/1902/866 2172/1904/866 -f 2334/2032/867 2173/1905/867 2175/1903/867 -f 2335/1902/884 2176/1906/884 2178/1903/884 -f 2336/2033/872 2179/1558/872 2181/1909/872 -f 2337/1557/872 2182/1910/872 2184/1912/872 -f 2338/1559/876 2185/1913/876 2187/1915/876 -f 2339/2033/868 2188/1913/868 1796/1558/868 -f 2095/1833/875 2111/1847/875 2116/1852/875 -f 2340/1870/867 2190/1869/867 2192/1918/867 -f 2191/1917/867 2190/1869/867 2194/1920/867 -f 2341/2034/872 2195/1921/872 2197/1869/872 -f 2125/1861/868 2198/1922/868 2123/1859/868 -f 2204/1928/876 2200/1924/876 2202/1926/876 -f 2342/2035/876 2203/1927/876 2204/1928/876 -f 2343/1919/868 2206/1930/868 2208/1932/868 -f 2194/1920/867 2193/1919/867 2210/1933/867 -f 2344/2036/866 2211/1934/866 2213/1936/866 -f 2345/1941/868 2214/1937/868 2216/1939/868 -f 2346/1939/876 2217/1940/876 2219/1941/876 -f 2347/2037/868 2255/1974/868 2257/1976/868 -f 2256/1975/868 2258/1977/868 2257/1976/868 -f 2348/2038/875 2260/1979/875 2262/1981/875 -s 1 -f 2349/2039/885 2350/2040/886 2351/2041/887 -f 2351/2041/887 2352/2042/888 2088/1827/875 -f 2353/2043/889 2354/2044/889 2355/2045/890 -f 2356/2046/891 1881/1640/867 1880/1639/867 -f 2357/2047/892 2358/2048/893 2359/2049/868 -f 2360/2050/894 2361/2051/894 2362/2052/895 -f 2363/1784/868 2364/1783/896 2365/2018/897 -f 2268/1985/868 2366/2053/898 2267/1984/868 -f 2367/2002/899 2368/1720/900 1820/1579/866 -f 2369/2054/901 2354/2044/889 2353/2043/889 -f 2370/2055/902 2371/2056/866 2372/2057/866 -f 1844/1603/866 1843/1602/866 2373/2058/903 -f 2373/2058/903 2374/2059/866 1844/1603/866 -f 2372/2057/866 1832/1591/866 2375/2060/904 -f 1832/1591/866 1834/1593/866 2375/2060/904 -f 1846/1605/872 1845/1604/872 2376/2061/905 -f 2377/2062/872 2378/2063/906 2376/2061/905 -f 2370/2055/902 2372/2057/866 2375/2060/904 -f 2379/2064/907 2380/2065/908 2381/2066/909 -f 2382/2067/910 2383/2068/911 2384/2069/912 -f 2385/2070/913 2386/2071/914 2387/2072/915 -f 2388/2073/916 2389/2074/916 2235/1954/868 -f 2390/2075/917 2391/1858/866 2392/1857/866 -f 2393/1986/918 2394/1628/918 2390/2075/917 -f 2395/2076/919 2396/2077/920 2397/2078/921 -f 2398/2079/922 2399/2080/923 2400/2081/924 -f 2401/2082/919 2402/2083/925 2403/2084/926 -f 2404/2085/927 2405/2086/928 2406/2087/929 -f 2407/2088/930 2408/2089/931 2409/2090/932 -f 2400/2081/924 2410/2091/902 2411/2092/866 -f 2412/2093/866 2413/2094/866 2414/2095/933 -f 2411/2096/866 2412/2093/866 2414/2095/933 -f 2415/2097/934 2416/2098/935 2417/2099/868 -f 2418/2100/936 2419/2101/937 2416/2102/935 -f 2415/2097/934 2417/2099/868 1876/1635/868 -f 2420/2103/938 2421/2104/939 2422/2105/876 -f 2423/2106/940 2424/2107/941 2425/2108/942 -f 2356/2046/891 2426/2109/943 2401/2082/919 -f 2427/2110/944 2040/1788/867 2054/1800/867 -f 2103/1839/867 2428/2111/945 2327/2028/867 -f 2429/1797/868 2430/1796/896 2431/1802/946 -f 2432/2112/947 2433/2113/948 2434/2114/876 -f 2435/2115/949 2436/2116/950 2432/2112/947 -f 2435/2115/949 2437/2117/951 2438/2118/952 -f 2439/2119/953 2440/2120/954 2105/1841/866 -f 2414/2095/933 2441/2121/955 2398/2122/922 -f 2442/2123/933 2443/2124/956 2436/2116/950 -f 2444/2125/876 2434/2114/876 2433/2113/948 -f 2445/2126/957 2446/2127/896 2447/2128/958 -f 2448/2129/959 2449/2130/960 2447/2128/958 -f 2432/2112/947 2447/2128/958 2449/2130/960 -f 2450/2131/961 2448/2129/959 2447/2128/958 -f 2451/2132/962 2452/2133/963 2453/2134/964 -f 2454/2135/938 2455/2136/965 2456/2137/966 -f 2457/2138/967 2458/2139/968 2459/2140/969 -f 2460/2141/866 2461/2142/899 2462/2143/899 -f 2463/2144/970 2464/2145/971 2458/2146/968 -f 2375/2060/904 2465/2147/902 2466/2148/972 -f 2467/2149/973 2468/2150/974 2469/2151/975 -f 2451/2132/962 2470/2152/940 2471/2153/876 -f 2400/2081/924 2414/2154/933 2398/2079/922 -f 2400/2081/924 2399/2080/923 2472/2155/970 -f 2473/2015/941 2474/1672/876 2475/1671/876 -f 2476/2156/976 2477/2157/977 2478/2158/876 -f 2400/2081/924 2479/2159/866 2480/2160/972 -f 2481/1997/866 2482/1702/866 2483/1701/978 -f 2484/2161/979 2485/2162/980 2486/2163/981 -f 2487/2164/982 2486/2163/981 2477/2157/977 -f 2488/2165/875 2489/2166/875 2490/2167/983 -f 2491/2168/984 2492/2169/985 2493/2170/986 -f 2494/2171/987 2424/2107/941 2493/2170/986 -f 2495/2172/876 2496/2173/988 2452/2133/963 -f 2494/2171/987 2497/2174/989 2498/2175/990 -f 2499/2176/944 2492/2169/985 2500/2177/991 -f 2492/2169/985 2497/2174/989 2493/2170/986 -f 2501/2178/992 2373/2058/903 1843/1602/866 -f 2493/2170/986 2502/2179/993 2491/2168/984 -f 2471/2153/876 2452/2133/963 2451/2132/962 -f 2462/2143/899 2461/2142/899 2503/2180/994 -f 2504/2181/995 2505/2182/996 2506/2183/994 -f 2507/1732/958 2508/2003/956 2509/2001/964 -f 2510/2184/997 2511/2185/998 2512/2186/866 -f 2492/2169/985 2491/2168/984 2500/2177/991 -f 2513/2187/996 2514/2188/999 2515/2189/866 -f 2516/1682/866 2517/1684/866 2518/1994/978 -f 2519/2190/996 2520/2191/995 1980/1730/866 -f 2521/2192/923 2456/2137/966 2464/2145/971 -f 2522/2193/1000 2467/2149/973 2523/2194/1001 -f 2468/2150/974 2524/2195/866 2525/2196/866 -f 2526/2197/967 2527/2198/1002 2400/2081/924 -f 2398/2122/922 2421/2104/939 2399/2199/923 -f 2485/2162/980 2484/2161/979 2528/2200/888 -f 2529/1668/866 2530/1676/866 2531/1675/978 -f 2532/2201/867 2533/2202/867 2534/2203/1003 -f 2493/2170/986 2535/2204/940 2502/2179/993 -f 2499/2176/944 2500/2177/991 1955/1710/867 -f 2536/1999/866 2537/1713/866 2538/2000/978 -f 2539/2205/866 2540/2206/899 2541/2207/899 -f 1980/1730/866 1851/1610/866 2519/2190/996 -f 2542/2208/1004 2503/2180/994 2443/2124/956 -f 2543/2209/1004 2544/2210/1005 2443/2124/956 -f 2373/2058/903 2501/2178/992 2453/2134/964 -f 2544/2210/1005 2545/2211/1006 2453/2134/964 -f 2511/2185/998 2510/2184/997 2544/2210/1005 -f 2546/2212/994 2543/2209/1004 2443/2124/956 -f 2514/2188/999 2513/2187/996 2546/2212/994 -f 2547/2213/1004 2548/2214/994 2443/2124/956 -f 2541/2207/899 2540/2206/899 2548/2214/994 -f 2503/2180/994 2547/2213/1004 2443/2124/956 -f 2442/2123/933 2506/2183/994 2443/2124/956 -f 2549/2215/906 2550/2216/1007 2551/1569/1007 -f 2552/2217/942 2553/2218/1008 2554/2219/1009 -f 1799/1561/868 2555/2220/1010 2556/2221/1010 -f 2554/2219/1009 2557/2222/896 2558/2223/959 -f 2559/2224/893 2560/2225/892 2554/2219/1009 -f 2561/2226/893 2562/2227/893 2563/2228/868 -f 2560/2225/892 2557/2222/896 2554/2219/1009 -f 2556/2221/1010 2555/2220/1010 2564/2229/1011 -f 2522/2193/1000 2565/2230/1000 2566/2231/1012 -f 2567/2232/940 2552/2217/942 2495/2172/876 -f 2419/2101/937 2418/2100/936 2456/2233/966 -f 2456/2233/966 2418/2100/936 2464/2234/971 -f 2568/2235/1013 2569/1607/1014 2384/2069/912 -f 2380/2065/908 2379/2064/907 2570/2236/875 -f 2438/2118/952 2436/2116/950 2435/2115/949 -f 2571/2237/976 2572/2238/876 2573/2239/876 -f 2418/2100/936 2415/2240/934 2574/2241/1015 -f 2575/2242/868 2576/2243/959 2366/2053/898 -f 2349/2039/885 2577/2244/1016 2578/2245/1017 -f 2577/2244/1016 2571/2237/976 2579/2246/977 -f 2580/2247/959 2558/2223/959 2557/2222/896 -f 2581/2248/1018 2582/2249/1019 2424/2107/941 -f 2576/2243/959 2445/2126/957 2583/2250/896 -f 2581/2248/1018 2427/2110/944 2584/2251/1020 -f 2494/2171/987 2581/2248/1018 2424/2107/941 -f 2559/2224/893 2553/2218/1008 2323/2026/868 -f 2425/2108/942 2424/2107/941 2582/2249/1019 -f 2496/2173/988 2495/2172/876 2552/2217/942 -f 2561/2226/893 2450/2131/961 2446/2127/896 -f 2357/2047/892 2449/2130/960 2448/2129/959 -f 2585/2252/1021 2586/2253/868 2587/2254/868 -f 2582/2249/1019 2581/2248/1018 2584/2251/1020 -f 2588/2255/1021 2589/2256/868 2590/2257/868 -f 2322/2025/868 2559/2224/893 2323/2026/868 -f 2558/2223/959 2591/2258/896 2447/2128/958 -f 2592/2259/959 2593/2260/957 2591/2258/896 -f 2594/2261/1022 2566/2231/1012 2595/2262/868 -f 2458/2139/968 2464/2234/971 2418/2100/936 -f 2596/1810/868 2597/1809/896 2598/1820/893 -f 2599/2263/1023 2600/2264/1024 2456/2137/966 -f 2349/2039/885 2351/2041/887 2601/2265/1025 -f 2602/2008/959 2603/1765/961 2604/1764/868 -f 2583/2250/896 2445/2126/957 2447/2128/958 -f 2413/2094/866 2605/2266/866 2414/2095/933 -f 2426/2109/943 2402/2083/925 2401/2082/919 -f 2105/1841/866 2104/1840/866 2439/2119/953 -f 2350/2040/886 2606/2267/1026 2352/2042/888 -f 2428/2111/945 2607/2268/1027 2608/1845/1028 -f 2428/2111/945 2103/1839/867 2607/2268/1027 -f 2609/2269/1029 2610/2270/1030 2611/1831/872 -f 2612/2271/889 2613/2272/872 2614/2273/872 -f 2440/2120/954 2439/2119/953 2612/2271/889 -f 2407/2088/930 2409/2090/932 2615/2274/1030 -f 2599/2263/1023 2455/2136/965 2454/2135/938 -f 2416/2102/935 2415/2240/934 2418/2100/936 -f 2421/2104/939 2420/2103/938 2399/2199/923 -f 2396/2077/920 2616/2275/1031 2409/2090/932 -f 2408/2089/931 2617/2276/868 2618/2277/868 -f 2396/2077/920 2395/2076/919 2616/2275/1031 -f 2397/2078/921 2355/2045/890 2395/2076/919 -f 2619/2278/1032 2620/2279/1033 2621/2280/1034 -f 2622/2281/1035 2619/2278/1032 2623/2282/1036 -f 2624/2283/1037 2622/2281/1035 2625/2284/1038 -f 2626/2285/1039 2624/2283/1037 2627/2286/1040 -f 2628/2287/1041 2629/2288/1042 2236/1955/875 -f 2630/2289/1043 2631/2290/1044 2632/2291/1045 -f 2633/2292/1046 2634/2293/1046 2632/2291/1045 -f 2635/2294/1047 2636/2295/1048 2629/2288/1042 -f 2637/2296/1049 2638/2297/1050 2636/2295/1048 -f 2639/2298/1051 2634/2293/1046 2633/2292/1046 -f 2640/2299/1052 2641/2300/1053 2642/2301/1054 -f 2641/2300/1053 2643/2302/1055 2644/2303/1056 -f 2643/2302/1055 2645/2304/1057 2646/2305/1058 -f 2645/2304/1057 2647/2306/1059 2648/2307/1060 -f 2647/2306/1059 2649/2308/1061 2650/2309/1062 -f 2651/2310/1063 2652/2311/1064 2653/2312/1065 -f 2654/2313/1066 2655/2314/1066 2653/2312/1065 -f 2656/2315/1067 2657/2316/1067 2658/2317/1050 -f 2659/2318/1068 2655/2314/1066 2654/2313/1066 -f 2620/2279/1033 2659/2318/1068 2660/2319/1069 -f 2656/2315/1067 2661/2320/1070 2657/2316/1067 -f 2662/2321/1071 2663/2322/1072 2661/2320/1070 -f 2664/2323/1073 2665/2324/1074 2661/2320/1070 -f 2666/2325/1075 2667/2326/1075 2665/2324/1074 -f 2668/2327/1076 2669/2328/1077 2670/2329/1077 -f 2671/2330/1078 2672/2331/1078 2670/2329/1077 -f 2673/2036/1079 2674/1923/1080 2675/1922/876 -f 2676/2332/1081 2677/2333/1082 2678/2334/1083 -f 2679/2335/1084 2680/2336/1085 2678/2334/1083 -f 2677/2333/1082 2681/2337/1086 2679/2335/1084 -f 2682/2338/1087 2681/2337/1086 2677/2333/1082 -f 2683/2339/1088 2684/2340/1089 2681/2337/1086 -f 2685/2341/1090 2686/2342/1090 2687/2343/1091 -f 2688/2344/1092 2687/2343/1091 2684/2340/1089 -f 1863/1622/866 2369/2054/901 2689/2345/1093 -f 2690/2346/1094 2386/2071/914 2691/2347/1095 -f 2692/2348/1096 2693/2349/1097 2690/2346/1094 -f 2694/2350/1098 2695/2351/1099 2693/2349/1097 -f 2143/1875/867 2141/1873/867 2695/2351/1099 -f 2144/1876/867 2387/2072/915 2141/1873/867 -f 2696/2352/1100 2385/2070/913 2387/2072/915 -f 2697/2353/1101 2696/2352/1100 2387/2072/915 -f 2698/2354/1102 2697/2353/1101 2387/2072/915 -f 2144/1876/867 2698/2354/1102 2387/2072/915 -f 2699/2355/1103 2143/1875/867 2695/2351/1099 -f 2694/2350/1098 2699/2355/1103 2695/2351/1099 -f 2692/2348/1096 2700/2356/1104 2693/2349/1097 -f 2701/2357/1105 2692/2348/1096 2690/2346/1094 -f 2702/2358/1106 2691/2347/1095 2386/2071/914 -f 2385/2070/913 2702/2358/1106 2386/2071/914 -f 1861/1620/866 1863/1622/866 2689/2345/1093 -f 2701/2357/1105 2690/2346/1094 2691/2347/1095 -f 2700/2356/1104 2694/2350/1098 2693/2349/1097 -f 2381/2066/909 2382/2067/910 2703/2359/1107 -f 2360/2050/894 2188/1913/868 2339/2033/868 -f 2704/2236/897 2705/2064/894 2706/1772/868 -f 2707/2360/875 2708/2361/875 2676/2332/1081 -f 2709/2362/1108 2710/2363/1108 2711/1856/868 -f 2712/1925/1109 2710/2363/1108 2709/2362/1108 -f 2713/2364/1110 2714/2365/1111 2230/1949/875 -f 2715/2366/1112 2714/2365/1111 2713/2364/1110 -f 2716/2367/1113 2715/2366/1112 2717/2368/1114 -f 2662/2321/1071 2718/2369/1115 2719/2370/1116 -f 2663/2322/1072 2662/2321/1071 2720/2371/1117 -f 2682/2338/1087 2721/2372/1118 2722/2373/1084 -f 2388/2073/916 2668/2327/1076 2723/2374/1119 -f 2724/2375/875 2725/2376/1083 2726/2377/1081 -f 2721/2372/1118 2726/2377/1081 2725/2376/1083 -f 2722/2373/1084 2721/2372/1118 2725/2376/1083 -f 2227/1946/866 2672/2331/1078 2671/2330/1078 -f 2230/1949/875 2714/2365/1111 2628/2287/1041 -f 2225/1944/866 2227/1946/866 2671/2330/1078 -f 2236/1955/875 2230/1949/875 2628/2287/1041 -f 2232/1951/868 2388/2073/916 2235/1954/868 -f 2548/2214/994 2727/2378/1004 2443/2124/956 -f 2544/2210/1005 2453/2134/964 2443/2124/956 -f 2591/2258/896 2593/2260/957 2447/2128/958 -f 2558/2223/959 2447/2128/958 2554/2219/1009 -f 2728/1957/1068 2729/1959/1120 2730/2379/1121 -f 2729/1959/1120 2731/1962/1122 2732/2380/1123 -f 2733/1964/1124 2734/1960/1125 2735/2381/1126 -f 2731/1962/1122 2736/1963/1062 2737/2382/1063 -f 2736/1963/1062 2738/1965/1060 2739/2383/1059 -f 2740/1967/1051 2733/1964/1124 2741/2384/1127 -f 2738/1965/1060 2742/1966/1128 2743/2385/1057 -f 2742/1966/1128 2744/1968/1056 2745/2386/1055 -f 2746/1969/1129 2740/1967/1051 2747/2387/1052 -f 2744/1968/1056 2746/1969/1129 2748/2388/1130 -f 2749/1971/1037 2750/1973/1035 2751/2389/1038 -f 2752/1972/1032 2753/1970/1033 2754/2390/1131 -f 2755/1961/1039 2749/1971/1037 2756/2391/1040 -f 2734/1960/1125 2755/1961/1039 2757/2392/1132 -f 2753/1970/1033 2728/1957/1068 2758/2393/1069 -f 2750/1973/1035 2752/1972/1032 2759/2394/1036 -f 2760/2395/1133 2761/2396/1134 2762/2397/1135 -f 2763/2398/1136 2764/2399/1137 2765/2400/1138 -f 2766/2401/1139 2767/2402/1140 2768/1980/876 -f 2769/2403/872 2770/2404/872 2761/2396/1134 -f 2764/2399/1137 2763/2398/1136 2767/2402/1140 -f 1822/1581/875 2351/2041/887 2088/1827/875 -f 2397/2078/921 2353/2043/889 2355/2045/890 -f 2426/2109/943 2356/2046/891 1880/1639/867 -f 2771/2405/868 2357/2047/892 2359/2049/868 -f 2772/2406/1141 2360/2050/894 2362/2052/895 -f 2773/1791/868 2363/1784/868 2365/2018/897 -f 1819/1578/866 2367/2002/899 1820/1579/866 -f 2689/2345/1093 2369/2054/901 2353/2043/889 -f 1845/1604/872 2377/2062/872 2376/2061/905 -f 2774/2069/1142 1848/1607/868 1850/1609/868 -f 2775/2407/1143 2379/2064/907 2381/2066/909 -f 2703/2359/1107 2382/2067/910 2384/2069/912 -f 2776/2408/917 2390/2075/917 2392/1857/866 -f 2776/2408/917 2393/1986/918 2390/2075/917 -f 2406/2087/929 2401/2082/919 2403/2084/926 -f 2403/2084/926 2404/2085/927 2406/2087/929 -f 2414/2154/933 2400/2081/924 2411/2092/866 -f 1878/1637/868 2415/2097/934 1876/1635/868 -f 2584/2251/1020 2427/2110/944 2054/1800/867 -f 2777/1801/868 2429/1797/868 2431/1802/946 -f 2434/2114/876 2435/2115/949 2432/2112/947 -f 2438/2118/952 2442/2123/933 2436/2116/950 -f 2433/2113/948 2432/2112/947 2449/2130/960 -f 2446/2127/896 2450/2131/961 2447/2128/958 -f 2501/2178/992 2451/2132/962 2453/2134/964 -f 2521/2192/923 2454/2135/938 2456/2137/966 -f 2778/2409/1144 2457/2138/967 2459/2140/969 -f 2779/2410/866 2460/2141/866 2462/2143/899 -f 2457/2411/967 2463/2144/970 2458/2146/968 -f 2370/2055/902 2375/2060/904 2466/2148/972 -f 2523/2194/1001 2467/2149/973 2469/2151/975 -f 2780/1693/1145 2473/2015/941 2475/1671/876 -f 2781/2412/876 2476/2156/976 2478/2158/876 -f 2410/2091/902 2400/2081/924 2480/2160/972 -f 2782/1694/1146 2481/1997/866 2483/1701/978 -f 2487/2164/982 2484/2161/979 2486/2163/981 -f 2476/2156/976 2487/2164/982 2477/2157/977 -f 2528/2200/888 2488/2165/875 2490/2167/983 -f 2497/2174/989 2494/2171/987 2493/2170/986 -f 2471/2153/876 2495/2172/876 2452/2133/963 -f 2534/2203/1003 2494/2171/987 2498/2175/990 -f 2542/2208/1004 2462/2143/899 2503/2180/994 -f 2442/2123/933 2504/2181/995 2506/2183/994 -f 2783/1727/1147 2507/1732/958 2509/2001/964 -f 2784/2413/866 2510/2184/997 2512/2186/866 -f 2785/2414/866 2513/2187/996 2515/2189/866 -f 2786/1683/1146 2516/1682/866 2518/1994/978 -f 2463/2144/970 2521/2192/923 2464/2145/971 -f 2565/2230/1000 2522/2193/1000 2523/2194/1001 -f 2469/2151/975 2468/2150/974 2525/2196/866 -f 2472/2155/970 2526/2197/967 2400/2081/924 -f 2490/2167/983 2485/2162/980 2528/2200/888 -f 2787/1669/1148 2529/1668/866 2531/1675/978 -f 2498/2175/990 2532/2201/867 2534/2203/1003 -f 1941/1699/867 2499/2176/944 1955/1710/867 -f 2788/1707/1146 2536/1999/866 2538/2000/978 -f 2789/2415/866 2539/2205/866 2541/2207/899 -f 2506/2183/994 2542/2208/1004 2443/2124/956 -f 2545/2211/1006 2373/2058/903 2453/2134/964 -f 2543/2209/1004 2511/2185/998 2544/2210/1005 -f 2727/2378/1004 2546/2212/994 2443/2124/956 -f 2727/2378/1004 2514/2188/999 2546/2212/994 -f 2547/2213/1004 2541/2207/899 2548/2214/994 -f 2790/1573/1149 2549/2215/906 2551/1569/1007 -f 2496/2173/988 2552/2217/942 2554/2219/1009 -f 1830/1589/868 1799/1561/868 2556/2221/1010 -f 2553/2218/1008 2559/2224/893 2554/2219/1009 -f 2791/2416/868 2561/2226/893 2563/2228/868 -f 2792/2417/1150 2556/2221/1010 2564/2229/1011 -f 2594/2261/1022 2522/2193/1000 2566/2231/1012 -f 2600/2264/1024 2419/2418/937 2456/2137/966 -f 2383/2068/911 2568/2235/1013 2384/2069/912 -f 2793/2419/875 2380/2065/908 2570/2236/875 -f 2579/2246/977 2571/2237/976 2573/2239/876 -f 2794/2420/1151 2418/2100/936 2574/2241/1015 -f 2268/1985/868 2575/2242/868 2366/2053/898 -f 2350/2040/886 2349/2039/885 2578/2245/1017 -f 2578/2245/1017 2577/2244/1016 2579/2246/977 -f 2585/2252/1021 2580/2247/959 2557/2222/896 -f 2366/2053/898 2576/2243/959 2583/2250/896 -f 2562/2227/893 2561/2226/893 2446/2127/896 -f 2358/2048/893 2357/2047/892 2448/2129/959 -f 2580/2247/959 2585/2252/1021 2587/2254/868 -f 2592/2259/959 2588/2255/1021 2590/2257/868 -f 2588/2255/1021 2592/2259/959 2591/2258/896 -f 2795/2421/868 2594/2261/1022 2595/2262/868 -f 2459/2140/969 2458/2139/968 2418/2100/936 -f 2796/1819/868 2596/1810/868 2598/1820/893 -f 2455/2136/965 2599/2263/1023 2456/2137/966 -f 2797/1754/868 2602/2008/959 2604/1764/868 -f 2593/2260/957 2583/2250/896 2447/2128/958 -f 2351/2041/887 2350/2040/886 2352/2042/888 -f 2798/1844/1028 2428/2111/945 2608/1845/1028 -f 2799/1830/872 2609/2269/1029 2611/1831/872 -f 2800/2422/889 2612/2271/889 2614/2273/872 -f 2800/2422/889 2440/2120/954 2612/2271/889 -f 2801/2423/876 2599/2263/1023 2454/2135/938 -f 2408/2089/931 2396/2077/920 2409/2090/932 -f 2396/2077/920 2408/2089/931 2618/2277/868 -f 2623/2282/1036 2619/2278/1032 2621/2280/1034 -f 2625/2284/1038 2622/2281/1035 2623/2282/1036 -f 2627/2286/1040 2624/2283/1037 2625/2284/1038 -f 2630/2289/1043 2626/2285/1039 2627/2286/1040 -f 2626/2285/1039 2630/2289/1043 2632/2291/1045 -f 2631/2290/1044 2633/2292/1046 2632/2291/1045 -f 2628/2287/1041 2635/2294/1047 2629/2288/1042 -f 2635/2294/1047 2637/2296/1049 2636/2295/1048 -f 2640/2299/1052 2639/2298/1051 2633/2292/1046 -f 2639/2298/1051 2640/2299/1052 2642/2301/1054 -f 2642/2301/1054 2641/2300/1053 2644/2303/1056 -f 2644/2303/1056 2643/2302/1055 2646/2305/1058 -f 2646/2305/1058 2645/2304/1057 2648/2307/1060 -f 2648/2307/1060 2647/2306/1059 2650/2309/1062 -f 2802/2424/1152 2651/2310/1063 2653/2312/1065 -f 2652/2311/1064 2654/2313/1066 2653/2312/1065 -f 2803/2425/1153 2656/2315/1067 2658/2317/1050 -f 2660/2319/1069 2659/2318/1068 2654/2313/1066 -f 2621/2280/1034 2620/2279/1033 2660/2319/1069 -f 2656/2315/1067 2662/2321/1071 2661/2320/1070 -f 2663/2322/1072 2664/2323/1073 2661/2320/1070 -f 2664/2323/1073 2666/2325/1075 2665/2324/1074 -f 2723/2374/1119 2668/2327/1076 2670/2329/1077 -f 2669/2328/1077 2671/2330/1078 2670/2329/1077 -f 2804/1934/876 2673/2036/1079 2675/1922/876 -f 2677/2333/1082 2679/2335/1084 2678/2334/1083 -f 2721/2372/1118 2682/2338/1087 2677/2333/1082 -f 2682/2338/1087 2683/2339/1088 2681/2337/1086 -f 2688/2344/1092 2685/2341/1090 2687/2343/1091 -f 2683/2339/1088 2688/2344/1092 2684/2340/1089 -f 2775/2407/1143 2381/2066/909 2703/2359/1107 -f 2361/2051/894 2360/2050/894 2339/2033/868 -f 2805/2013/896 2704/2236/897 2706/1772/868 -f 2678/2334/1083 2707/2360/875 2676/2332/1081 -f 2806/2030/868 2709/2362/1108 2711/1856/868 -f 2807/1926/1109 2712/1925/1109 2709/2362/1108 -f 2717/2368/1114 2715/2366/1112 2713/2364/1110 -f 2808/2426/1116 2716/2367/1113 2717/2368/1114 -f 2720/2371/1117 2662/2321/1071 2719/2370/1116 -f 2389/2074/916 2388/2073/916 2723/2374/1119 -f 2809/2427/875 2724/2375/875 2726/2377/1081 -f 2810/2428/1085 2722/2373/1084 2725/2376/1083 -f 2758/2393/1069 2728/1957/1068 2730/2379/1121 -f 2730/2379/1121 2729/1959/1120 2732/2380/1123 -f 2741/2384/1127 2733/1964/1124 2735/2381/1126 -f 2732/2380/1123 2731/1962/1122 2737/2382/1063 -f 2737/2382/1063 2736/1963/1062 2739/2383/1059 -f 2747/2387/1052 2740/1967/1051 2741/2384/1127 -f 2739/2383/1059 2738/1965/1060 2743/2385/1057 -f 2743/2385/1057 2742/1966/1128 2745/2386/1055 -f 2748/2388/1130 2746/1969/1129 2747/2387/1052 -f 2745/2386/1055 2744/1968/1056 2748/2388/1130 -f 2756/2391/1040 2749/1971/1037 2751/2389/1038 -f 2759/2394/1036 2752/1972/1032 2754/2390/1131 -f 2757/2392/1132 2755/1961/1039 2756/2391/1040 -f 2735/2381/1126 2734/1960/1125 2757/2392/1132 -f 2754/2390/1131 2753/1970/1033 2758/2393/1069 -f 2751/2389/1038 2750/1973/1035 2759/2394/1036 -f 2765/2400/1138 2760/2395/1133 2762/2397/1135 -f 2762/2397/1135 2763/2398/1136 2765/2400/1138 -f 2811/1979/876 2766/2401/1139 2768/1980/876 -f 2760/2395/1133 2769/2403/872 2761/2396/1134 -f 2766/2401/1139 2764/2399/1137 2767/2402/1140 -o trigger_pistol_0 -v 0.255916 1.582615 6.859656 -v 0.255916 1.449703 6.660409 -v 0.255916 1.810704 6.457509 -v 0.255916 2.466018 6.344805 -v 0.255916 1.892926 6.633237 -v 0.577175 1.435799 6.186546 -v 0.577175 1.810704 6.457509 -v 0.577175 1.449703 6.660409 -v 0.577175 3.484048 5.722968 -v 0.577175 3.243770 6.479858 -v 0.577175 2.895700 6.381779 -v 0.577175 1.924940 5.885275 -v 0.577175 2.439333 5.691723 -v 0.577175 2.466018 6.344805 -v 0.577175 3.484048 5.722968 -v 0.401255 3.484048 5.722968 -v 0.401255 3.243770 6.479858 -v 0.401255 3.588840 6.684443 -v 0.401255 3.243770 6.479858 -v 0.401255 3.484048 5.722968 -v 0.401255 4.331120 5.796535 -v 0.401255 4.331120 7.553139 -v 0.401255 3.911054 6.978125 -v 0.401255 4.776393 4.607953 -v 0.401255 5.500355 4.607955 -v 0.401255 5.500353 7.553141 -v -0.401255 4.331120 5.796535 -v -0.401255 4.776393 4.607953 -v 0.401255 4.776393 4.607953 -v -0.401255 5.500355 4.607955 -v 0.401255 5.500355 4.607955 -v 0.401255 4.776393 4.607953 -v 0.577175 2.851677 5.639833 -v -0.577175 3.484048 5.722968 -v -0.577175 3.243770 6.479858 -v -0.401255 3.243770 6.479858 -v -0.255916 1.582615 6.859656 -v -0.255916 1.892926 6.633237 -v -0.255916 1.810704 6.457509 -v -0.401255 3.243770 6.479858 -v -0.401255 3.588840 6.684443 -v -0.401255 3.484048 5.722968 -v -0.401255 4.331120 7.553139 -v -0.401255 4.331120 5.796535 -v -0.401255 3.911054 6.978125 -v -0.401255 4.776393 4.607953 -v -0.401255 5.500355 4.607955 -v -0.401255 5.500353 7.553141 -v -0.255916 2.466018 6.344805 -v -0.577175 2.466018 6.344805 -v -0.577175 2.895700 6.381779 -v -0.577175 2.851677 5.639833 -v -0.577175 1.810704 6.457509 -v -0.577175 1.435799 6.186546 -v -0.577175 1.449703 6.660409 -v -0.577175 3.484048 5.722968 -v -0.577175 1.924940 5.885275 -v -0.577175 2.439333 5.691723 -v 0.577175 3.243770 6.479858 -v 0.401255 4.331120 5.796535 -v -0.401255 4.776393 4.607953 -v -0.401255 3.484048 5.722968 -v -0.255916 1.449703 6.660409 -v -0.577175 3.243770 6.479858 -v -0.255916 1.892926 6.633237 -v 0.255916 1.892926 6.633237 -v 0.255916 2.466018 6.344805 -v 0.577175 2.895700 6.381779 -v 0.577175 3.243770 6.479858 -v 0.401255 3.243770 6.479858 -v -0.401255 3.243770 6.479858 -v -0.577175 2.895700 6.381779 -v -0.136434 1.170199 7.267153 -v 0.136434 1.170199 7.267153 -v 0.255916 1.274902 7.159120 -v -0.255916 1.274902 7.159120 -v 0.255916 1.582615 6.859656 -v -0.255916 1.582615 6.859656 -v -0.136434 1.170199 7.267153 -v -0.140214 0.908800 7.158844 -v 0.140214 0.908800 7.158844 -v 0.255916 1.049089 7.041913 -v 0.255916 1.274902 7.159120 -v 0.136434 1.170199 7.267153 -v 0.255916 2.466018 6.344805 -v 0.577175 2.466018 6.344805 -v 0.577175 1.049089 7.041913 -v 0.255916 1.049089 7.041913 -v 0.140214 0.908800 7.158844 -v -0.140214 0.908800 7.158844 -v -0.238265 0.780517 7.270253 -v 0.238265 0.780517 7.270253 -v 0.577175 1.810704 6.457509 -v 0.255916 1.810704 6.457509 -v 0.255916 1.449703 6.660409 -v 0.577175 1.449703 6.660409 -v -0.242153 0.574700 7.190140 -v 0.242153 0.574700 7.190140 -v 0.238265 0.780517 7.270253 -v 0.557295 0.748790 6.906375 -v 0.577175 1.049089 7.041913 -v 0.577175 1.022907 6.562050 -v -0.255916 2.466018 6.344805 -v -0.401255 4.331120 5.796535 -v 0.401255 4.331120 5.796535 -v 0.401255 3.484048 5.722968 -v 0.401255 3.588840 6.684443 -v -0.401255 3.588840 6.684443 -v 0.401255 3.911054 6.978125 -v 0.401255 4.331120 7.553139 -v -0.401255 4.331120 7.553139 -v -0.401255 3.911054 6.978125 -v 0.401255 5.500353 7.553141 -v -0.401255 5.500353 7.553141 -v 0.577175 2.851677 5.639833 -v 0.577175 3.484048 5.722968 -v -0.577175 2.851677 5.639833 -v -0.401255 3.484048 5.722968 -v 0.577175 1.022907 6.562050 -v -0.577175 1.022907 6.562050 -v -0.577175 1.435799 6.186546 -v 0.577175 1.435799 6.186546 -v -0.577175 1.924940 5.885275 -v -0.577175 2.439333 5.691723 -v 0.577175 2.439333 5.691723 -v 0.577175 1.924940 5.885275 -v 0.242153 0.574700 7.190140 -v -0.242153 0.574700 7.190140 -v -0.557295 0.748790 6.906375 -v 0.557295 0.748790 6.906375 -v -0.577175 3.243770 6.479858 -v -0.255916 1.049089 7.041913 -v -0.577175 2.466018 6.344805 -v -0.255916 1.274902 7.159120 -v -0.577175 1.049089 7.041913 -v -0.577175 3.484048 5.722968 -v -0.577175 1.810704 6.457509 -v -0.577175 1.449703 6.660409 -v -0.255916 1.449703 6.660409 -v -0.255916 1.810704 6.457509 -v -0.255916 1.049089 7.041913 -v -0.557295 0.748790 6.906375 -v -0.238265 0.780517 7.270253 -v -0.577175 1.022907 6.562050 -v -0.577175 1.049089 7.041913 -v -0.255916 2.466018 6.344805 -vn 1.0000 -0.0000 -0.0000 -vn -0.0000 0.9531 0.3026 -vn -0.0000 -0.9364 -0.3508 -vn -0.0000 -0.0000 -1.0000 -vn -1.0000 -0.0000 -0.0000 -vn -0.0000 0.4977 0.8674 -vn -0.0000 0.5444 0.8388 -vn -0.0000 0.1395 0.9902 -vn -0.0000 -0.1979 0.9802 -vn -0.0000 -0.2712 0.9625 -vn -0.0000 -0.3535 0.9354 -vn -0.0000 -0.3697 0.9291 -vn -0.0000 -0.1606 0.9870 -vn -0.0000 0.7181 0.6960 -vn -0.0000 0.7113 0.7029 -vn -0.0000 0.7044 0.7098 -vn -0.0000 0.6629 0.7487 -vn -0.0000 0.6268 0.7792 -vn -0.4404 -0.3550 0.8247 -vn -0.4552 -0.3352 0.8249 -vn 0.2991 -0.3616 0.8831 -vn 0.9038 -0.1780 0.3893 -vn 0.9745 -0.1034 0.1993 -vn 0.5796 -0.3268 0.7465 -vn 0.0001 0.1395 0.9902 -vn -0.0000 0.0850 0.9964 -vn -0.0023 0.6611 0.7503 -vn -0.0000 0.6735 0.7392 -vn -0.0023 0.6496 0.7603 -vn 0.0017 0.6512 0.7589 -vn 0.0038 0.6541 0.7564 -vn -0.0023 0.6547 0.7559 -vn -0.0000 0.3882 0.9216 -vn -0.0000 0.2799 0.9600 -vn -0.0000 0.5604 0.8282 -vn -0.0000 0.6274 0.7787 -vn -0.2580 -0.3462 0.9020 -vn 0.3908 -0.3275 0.8603 -vn 0.3829 -0.3520 0.8541 -vn 0.8580 -0.2283 0.4601 -vn 0.9627 -0.1436 0.2294 -vn 0.9997 -0.0226 0.0012 -vn -0.0000 0.1148 0.9934 -vn -0.0000 0.0865 -0.9963 -vn -0.0000 0.1129 -0.9936 -vn -0.0000 -0.5671 0.8236 -vn -0.0000 -0.6219 0.7831 -vn -0.0000 -0.7215 0.6924 -vn -0.0001 -0.5953 0.8035 -vn 0.0001 -0.2977 0.9547 -vn -0.0000 -0.7663 0.6425 -vn -0.0000 -0.0000 1.0000 -vn -0.0000 0.0456 -0.9990 -vn -0.0000 0.1303 -0.9915 -vn -0.0000 0.0285 -0.9996 -vn -0.0000 0.1158 -0.9933 -vn -0.0000 -0.7114 -0.7028 -vn -0.0000 -0.7480 -0.6637 -vn -0.0000 -0.6258 -0.7800 -vn -0.0000 -0.5761 -0.8174 -vn -0.0000 -0.4689 -0.8832 -vn -0.0000 -0.2781 -0.9606 -vn -0.0000 -0.2019 -0.9794 -vn -0.0000 -0.4113 -0.9115 -vn -0.0000 -0.8524 -0.5229 -vn -0.0000 -0.8304 -0.5572 -vn -0.0000 -0.8071 -0.5904 -vn -0.9038 -0.1780 0.3893 -vn -0.9745 -0.1034 0.1993 -vn 0.0023 0.6611 0.7503 -vn -0.8580 -0.2283 0.4601 -vn -0.5059 -0.3351 0.7948 -vn -0.9997 -0.0226 0.0012 -vn -0.9627 -0.1436 0.2294 -vn -0.0000 0.1149 0.9934 -vt 0.482997 0.972676 -vt 0.483169 0.972693 -vt 0.483177 0.972380 -vt 0.483034 0.971858 -vt 0.483023 0.972386 -vt 0.471310 0.981774 -vt 0.471246 0.981454 -vt 0.471009 0.981626 -vt 0.472210 0.980596 -vt 0.471654 0.980527 -vt 0.471614 0.980779 -vt 0.471647 0.981549 -vt 0.471923 0.981275 -vt 0.471511 0.981066 -vt 0.472225 0.980472 -vt 0.471669 0.980404 -vt 0.471639 0.980122 -vt 0.472428 0.979907 -vt 0.471300 0.979390 -vt 0.471545 0.979829 -vt 0.473322 0.979971 -vt 0.473535 0.979507 -vt 0.471644 0.978639 -vt 0.480249 0.946278 -vt 0.480249 0.945382 -vt 0.480816 0.945382 -vt 0.480249 0.944870 -vt 0.480816 0.944870 -vt 0.472077 0.981026 -vt 0.468113 0.980573 -vt 0.468670 0.980511 -vt 0.468657 0.980387 -vt 0.482644 0.972678 -vt 0.482622 0.972386 -vt 0.482468 0.972377 -vt 0.468690 0.980106 -vt 0.468100 0.980449 -vt 0.469037 0.979378 -vt 0.467904 0.979882 -vt 0.468786 0.979814 -vt 0.467009 0.979936 -vt 0.466802 0.979469 -vt 0.468701 0.978624 -vt 0.482618 0.971864 -vt 0.468807 0.981051 -vt 0.468707 0.980763 -vt 0.468241 0.981005 -vt 0.469067 0.981441 -vt 0.469000 0.981761 -vt 0.469302 0.981616 -vt 0.468666 0.981532 -vt 0.468393 0.981256 -vt 0.480816 0.946278 -vt 0.482469 0.972694 -vt 0.480078 0.973332 -vt 0.480077 0.973077 -vt 0.479953 0.973077 -vt 0.479387 0.973079 -vt 0.479263 0.973334 -vt 0.482753 0.972998 -vt 0.482894 0.972996 -vt 0.482958 0.972932 -vt 0.482686 0.972938 -vt 0.482726 0.973162 -vt 0.482929 0.973155 -vt 0.483051 0.973046 -vt 0.479852 0.973637 -vt 0.480079 0.973637 -vt 0.480081 0.974789 -vt 0.479855 0.974790 -vt 0.479773 0.974919 -vt 0.479575 0.974919 -vt 0.479506 0.975040 -vt 0.479843 0.975039 -vt 0.480080 0.974106 -vt 0.479853 0.974107 -vt 0.479854 0.974399 -vt 0.480081 0.974399 -vt 0.469982 0.982043 -vt 0.470324 0.982045 -vt 0.470322 0.981889 -vt 0.470645 0.982004 -vt 0.470647 0.981771 -vt 0.470947 0.981928 -vt 0.479491 0.973638 -vt 0.480816 0.946878 -vt 0.479953 0.972794 -vt 0.479386 0.972795 -vt 0.479952 0.972486 -vt 0.479951 0.971983 -vt 0.479384 0.971985 -vt 0.479385 0.972488 -vt 0.479949 0.971158 -vt 0.479382 0.971159 -vt 0.480940 0.947328 -vt 0.480940 0.946878 -vt 0.480125 0.947328 -vt 0.480249 0.946878 -vt 0.480940 0.948810 -vt 0.480125 0.948810 -vt 0.480125 0.948416 -vt 0.480940 0.948415 -vt 0.480125 0.948010 -vt 0.480125 0.947622 -vt 0.480940 0.947622 -vt 0.480940 0.948010 -vt 0.480704 0.949355 -vt 0.480362 0.949355 -vt 0.480139 0.949120 -vt 0.480926 0.949120 -vt 0.479262 0.973079 -vt 0.482592 0.973062 -vt 0.479264 0.973639 -vt 0.479266 0.974791 -vt 0.480125 0.946878 -vt 0.479265 0.974108 -vt 0.479265 0.974401 -vt 0.479492 0.974400 -vt 0.479492 0.974108 -vt 0.479493 0.974791 -vt 0.469662 0.981998 -vt 0.469986 0.981887 -vt 0.469361 0.981919 -vt 0.469663 0.981765 -s 0 -f 2812/2429/1154 2813/2430/1154 2814/2431/1154 -f 2814/2431/1154 2815/2432/1154 2816/2433/1154 -f 2817/2434/1154 2818/2435/1154 2819/2436/1154 -f 2820/2437/1154 2821/2438/1154 2822/2439/1154 -f 2817/2434/1154 2823/2440/1154 2818/2435/1154 -f 2824/2441/1154 2825/2442/1154 2818/2435/1154 -f 2826/2437/1155 2827/2443/1155 2828/2444/1155 -f 2829/2445/1154 2830/2444/1154 2831/2443/1154 -f 2832/2446/1154 2833/2447/1154 2834/2448/1154 -f 2829/2445/1154 2831/2443/1154 2832/2446/1154 -f 2832/2446/1154 2835/2449/1154 2836/2450/1154 -f 2837/2451/1154 2833/2447/1154 2832/2446/1154 -f 2838/2452/1156 2839/2453/1156 2840/2454/1156 -f 2841/2455/1157 2842/2456/1157 2843/2454/1157 -f 2825/2442/1154 2824/2441/1154 2844/2457/1154 -f 2845/2458/1155 2846/2459/1155 2847/2460/1155 -f 2848/2461/1158 2849/2462/1158 2850/2463/1158 -f 2851/2460/1158 2852/2464/1158 2853/2465/1158 -f 2854/2466/1158 2855/2467/1158 2856/2468/1158 -f 2852/2464/1158 2856/2468/1158 2855/2467/1158 -f 2857/2469/1158 2855/2467/1158 2858/2470/1158 -f 2859/2471/1158 2858/2470/1158 2855/2467/1158 -f 2860/2472/1158 2850/2463/1158 2849/2462/1158 -f 2861/2473/1158 2862/2474/1158 2863/2475/1158 -f 2864/2476/1158 2865/2477/1158 2866/2478/1158 -f 2867/2458/1158 2863/2475/1158 2862/2474/1158 -f 2868/2479/1158 2865/2477/1158 2864/2476/1158 -f 2869/2480/1158 2868/2479/1158 2864/2476/1158 -f 2816/2433/1154 2812/2429/1154 2814/2431/1154 -f 2844/2457/1154 2820/2437/1154 2822/2439/1154 -f 2823/2440/1154 2824/2441/1154 2818/2435/1154 -f 2870/2438/1155 2826/2437/1155 2828/2444/1155 -f 2834/2448/1154 2829/2445/1154 2832/2446/1154 -f 2836/2450/1154 2837/2451/1154 2832/2446/1154 -f 2871/2481/1156 2838/2452/1156 2840/2454/1156 -f 2872/2453/1157 2841/2455/1157 2843/2454/1157 -f 2822/2439/1154 2825/2442/1154 2844/2457/1154 -f 2873/2465/1155 2845/2458/1155 2847/2460/1155 -f 2874/2482/1158 2848/2461/1158 2850/2463/1158 -f 2853/2465/1158 2852/2464/1158 2855/2467/1158 -f 2854/2466/1158 2859/2471/1158 2855/2467/1158 -f 2869/2480/1158 2861/2473/1158 2863/2475/1158 -f 2875/2459/1158 2867/2458/1158 2862/2474/1158 -f 2861/2473/1158 2869/2480/1158 2864/2476/1158 -s 1 -f 2876/2462/1159 2877/2433/1160 2878/2432/1161 -f 2879/2483/1162 2880/2484/1163 2881/2485/1164 -f 2882/2486/1165 2883/2487/1166 2879/2483/1162 -f 2884/2488/1167 2885/2489/1167 2886/2490/1168 -f 2887/2491/1169 2886/2490/1168 2888/2429/1170 -f 2877/2433/1160 2876/2462/1159 2889/2461/1171 -f 2890/2488/1172 2891/2492/1173 2892/2493/1174 -f 2893/2494/1175 2894/2490/1176 2895/2489/1177 -f 2896/2495/1178 2897/2496/1179 2879/2483/1162 -f 2813/2430/1154 2812/2429/1154 2894/2490/1176 -f 2898/2497/1180 2899/2498/1181 2900/2499/1182 -f 2901/2500/1183 2902/2501/1184 2903/2502/1185 -f 2904/2503/1186 2905/2504/1187 2906/2505/1188 -f 2897/2496/1179 2896/2495/1178 2905/2504/1187 -f 2899/2498/1181 2898/2497/1180 2907/2506/1189 -f 2908/2507/1190 2909/2508/1191 2910/2509/1192 -f 2911/2510/1193 2912/2511/1194 2910/2509/1192 -f 2913/2512/1195 2819/2436/1154 2912/2511/1194 -f 2913/2512/1195 2817/2434/1154 2819/2436/1154 -f 2883/2487/1166 2914/2513/1196 2896/2495/1178 -f 2915/2452/1197 2916/2481/1197 2917/2514/1198 -f 2918/2515/1199 2919/2516/1200 2882/2486/1165 -f 2919/2516/1200 2918/2515/1199 2920/2517/1201 -f 2921/2518/1202 2922/2519/1203 2923/2520/1204 -f 2924/2521/1205 2925/2522/1205 2922/2519/1203 -f 2926/2523/1206 2917/2514/1198 2927/2524/1207 -f 2928/2525/1208 2929/2526/1209 2917/2514/1198 -f 2930/2527/1210 2931/2528/1211 2932/2529/1212 -f 2933/2530/1213 2932/2529/1212 2934/2531/1214 -f 2935/2532/1215 2936/2533/1216 2937/2534/1217 -f 2928/2525/1208 2926/2523/1206 2936/2533/1216 -f 2938/2535/1218 2939/2536/1218 2940/2537/1219 -f 2931/2528/1211 2930/2527/1210 2941/2538/1220 -f 2942/2539/1163 2883/2487/1166 2882/2486/1165 -f 2943/2540/1221 2891/2492/1173 2890/2488/1172 -f 2944/2541/1179 2914/2513/1196 2883/2487/1166 -f 2874/2482/1158 2943/2540/1221 2945/2491/1222 -f 2946/2542/1223 2902/2501/1184 2901/2500/1183 -f 2929/2526/1209 2928/2525/1208 2947/2543/1207 -f 2948/2544/1186 2949/2545/1189 2950/2546/1188 -f 2944/2541/1179 2948/2544/1186 2951/2547/1187 -f 2952/2548/1181 2950/2546/1188 2949/2545/1189 -f 2953/2549/1224 2908/2507/1190 2954/2550/1225 -f 2955/2551/1226 2953/2549/1224 2956/2552/1227 -f 2865/2477/1158 2955/2551/1226 2866/2478/1158 -f 2957/2472/1228 2876/2462/1159 2878/2432/1161 -f 2881/2485/1164 2882/2486/1165 2879/2483/1162 -f 2887/2491/1169 2884/2488/1167 2886/2490/1168 -f 2889/2461/1171 2887/2491/1169 2888/2429/1170 -f 2888/2429/1170 2877/2433/1160 2889/2461/1171 -f 2895/2489/1177 2890/2488/1172 2892/2493/1174 -f 2892/2493/1174 2893/2494/1175 2895/2489/1177 -f 2893/2494/1175 2813/2430/1154 2894/2490/1176 -f 2903/2502/1185 2898/2497/1180 2900/2499/1182 -f 2900/2499/1182 2901/2500/1183 2903/2502/1185 -f 2907/2506/1189 2904/2503/1186 2906/2505/1188 -f 2904/2503/1186 2897/2496/1179 2905/2504/1187 -f 2906/2505/1188 2899/2498/1181 2907/2506/1189 -f 2954/2550/1225 2908/2507/1190 2910/2509/1192 -f 2909/2508/1191 2911/2510/1193 2910/2509/1192 -f 2911/2510/1193 2913/2512/1195 2912/2511/1194 -f 2879/2483/1162 2883/2487/1166 2896/2495/1178 -f 2929/2526/1209 2915/2452/1197 2917/2514/1198 -f 2881/2485/1164 2918/2515/1199 2882/2486/1165 -f 2923/2520/1204 2919/2516/1200 2920/2517/1201 -f 2920/2517/1201 2921/2518/1202 2923/2520/1204 -f 2921/2518/1202 2924/2521/1205 2922/2519/1203 -f 2926/2523/1206 2928/2525/1208 2917/2514/1198 -f 2933/2530/1213 2930/2527/1210 2932/2529/1212 -f 2937/2534/1217 2933/2530/1213 2934/2531/1214 -f 2934/2531/1214 2935/2532/1215 2937/2534/1217 -f 2935/2532/1215 2928/2525/1208 2936/2533/1216 -f 2941/2538/1220 2938/2535/1218 2940/2537/1219 -f 2940/2537/1219 2931/2528/1211 2941/2538/1220 -f 2945/2491/1222 2943/2540/1221 2890/2488/1172 -f 2848/2461/1158 2874/2482/1158 2945/2491/1222 -f 2952/2548/1181 2946/2542/1223 2901/2500/1183 -f 2951/2547/1187 2948/2544/1186 2950/2546/1188 -f 2914/2513/1196 2944/2541/1179 2951/2547/1187 -f 2946/2542/1223 2952/2548/1181 2949/2545/1189 -f 2956/2552/1227 2953/2549/1224 2954/2550/1225 -f 2866/2478/1158 2955/2551/1226 2956/2552/1227 diff --git a/src/main/resources/assets/hbm/models/weapons/_blacksand.obj b/src/main/resources/assets/hbm/models/weapons/_blacksand.obj deleted file mode 100644 index 118fd9227..000000000 --- a/src/main/resources/assets/hbm/models/weapons/_blacksand.obj +++ /dev/null @@ -1,3402 +0,0 @@ -# Blender v2.79 (sub 0) OBJ File: 'aberrator.blend' -# www.blender.org -o Cylinder -v 0.000000 3.000000 -1.000000 -v 0.000000 3.000000 4.000000 -v 0.500000 2.866025 -1.000000 -v 0.500000 2.866025 4.000000 -v 0.866025 2.500000 -1.000000 -v 0.866025 2.500000 4.000000 -v 1.000000 2.000000 -1.000000 -v 1.000000 2.000000 4.000000 -v 0.866025 1.500000 -1.000000 -v 0.866025 1.500000 4.000000 -v 0.500000 1.133975 -1.000000 -v 0.500000 1.133975 4.000000 -v 0.000000 1.000000 -1.000000 -v 0.000000 1.000000 4.000000 -v -0.500000 1.133975 -1.000000 -v -0.500000 1.133975 4.000000 -v -0.866025 1.500000 -1.000000 -v -0.866025 1.500000 4.000000 -v -1.000000 2.000000 -1.000000 -v -1.000000 2.000000 4.000000 -v -0.866026 2.500000 -1.000000 -v -0.866026 2.500000 4.000000 -v -0.500000 2.866025 -1.000000 -v -0.500000 2.866025 4.000000 -v 0.000000 2.500000 4.500000 -v 0.000000 2.500000 7.500000 -v 0.250000 2.433013 4.500000 -v 0.250000 2.433012 7.500000 -v 0.433013 2.250000 4.500000 -v 0.433013 2.250000 7.500000 -v 0.500000 2.000000 4.500000 -v 0.500000 2.000000 7.500000 -v 0.433013 1.750000 4.500000 -v 0.433013 1.750000 7.500000 -v 0.250000 1.566987 4.500000 -v 0.250000 1.566987 7.500000 -v 0.000000 1.500000 4.500000 -v 0.000000 1.500000 7.500000 -v -0.250000 1.566987 4.500000 -v -0.250000 1.566987 7.500000 -v -0.433013 1.750000 4.500000 -v -0.433013 1.750000 7.500000 -v -0.500000 2.000000 4.500000 -v -0.500000 2.000000 7.500000 -v -0.433013 2.250000 4.500000 -v -0.433013 2.250000 7.500000 -v -0.250000 2.433012 4.500000 -v -0.250000 2.433012 7.500000 -v 0.000000 2.933013 4.250000 -v 0.000000 2.750000 4.433012 -v 0.000000 1.066987 4.250000 -v 0.000000 1.250000 4.433012 -v 0.933013 2.000000 4.250000 -v 0.750000 2.000000 4.433012 -v -0.933013 2.000000 4.250000 -v -0.750000 2.000000 4.433012 -v 0.466506 2.808013 4.250000 -v 0.375000 2.649519 4.433012 -v -0.466506 1.191987 4.250000 -v -0.375000 1.350481 4.433012 -v 0.808013 1.533494 4.250000 -v 0.649519 1.625000 4.433012 -v -0.808013 2.466506 4.250000 -v -0.649519 2.375000 4.433012 -v 0.808013 2.466506 4.250000 -v 0.649519 2.375000 4.433012 -v -0.808013 1.533494 4.250000 -v -0.649519 1.625000 4.433012 -v 0.466506 1.191987 4.250000 -v 0.375000 1.350481 4.433012 -v -0.466506 2.808013 4.250000 -v -0.375000 2.649519 4.433012 -v 0.000000 2.750000 7.500000 -v -0.375000 2.649519 7.500000 -v -0.649519 2.375000 7.500000 -v -0.750000 2.000000 7.500000 -v -0.649519 1.625000 7.500000 -v -0.375000 1.350481 7.500000 -v 0.000000 1.250000 7.500000 -v 0.375000 1.350481 7.500000 -v 0.649519 1.625000 7.500000 -v 0.750000 1.999999 7.500000 -v 0.649519 2.374999 7.500000 -v 0.375000 2.649519 7.500000 -v 0.000000 2.750000 7.875000 -v -0.375000 2.649519 7.875000 -v -0.649519 2.375000 7.875000 -v -0.750000 2.000000 7.875000 -v -0.649519 1.625000 7.875000 -v -0.375000 1.350481 7.875000 -v 0.000000 1.250000 7.875000 -v 0.375000 1.350481 7.875000 -v 0.649519 1.625000 7.875000 -v 0.750000 1.999999 7.875000 -v 0.649519 2.374999 7.875000 -v 0.375000 2.649519 7.875000 -v 0.000000 2.750000 8.375000 -v -0.375000 2.649519 8.375000 -v -0.649519 2.375000 8.375000 -v -0.750000 2.000000 8.375000 -v -0.649519 1.625000 8.375000 -v -0.375000 1.350481 8.375000 -v 0.000000 1.250000 8.375000 -v 0.375000 1.350481 8.375000 -v 0.649519 1.625000 8.375000 -v 0.750000 1.999999 8.375000 -v 0.649519 2.374999 8.375000 -v 0.375000 2.649519 8.375000 -v 0.000000 2.750000 8.750000 -v -0.375000 2.649519 8.750000 -v -0.649519 2.375000 8.750000 -v -0.750000 2.000000 8.750000 -v -0.649519 1.625000 8.750000 -v -0.375000 1.350481 8.750000 -v 0.000000 1.250000 8.750000 -v 0.375000 1.350481 8.750000 -v 0.649519 1.625000 8.750000 -v 0.750000 1.999999 8.750000 -v 0.649519 2.374999 8.750000 -v 0.375000 2.649519 8.750000 -v 0.000000 2.999999 7.875000 -v -0.500000 2.866025 7.875000 -v -0.866025 2.499999 7.875000 -v -1.000000 1.999999 7.875000 -v -0.866025 1.499999 7.875000 -v -0.500000 1.133974 7.875000 -v 0.000000 0.999999 7.875000 -v 0.500000 1.133973 7.875000 -v 0.866025 1.499999 7.875000 -v 1.000000 1.999999 7.875000 -v 0.866025 2.499999 7.875000 -v 0.500000 2.866024 7.875000 -v 0.000000 2.999999 8.375000 -v -0.500000 2.866025 8.375000 -v -0.866025 2.499999 8.375000 -v -1.000000 1.999999 8.375000 -v -0.866025 1.499999 8.375000 -v -0.500000 1.133974 8.375000 -v 0.000000 0.999999 8.375000 -v 0.500000 1.133973 8.375000 -v 0.866025 1.499999 8.375000 -v 1.000000 1.999999 8.375000 -v 0.866025 2.499999 8.375000 -v 0.500000 2.866024 8.375000 -v 0.000000 2.375000 8.750000 -v -0.187500 2.324759 8.750000 -v -0.324759 2.187500 8.750000 -v -0.375000 2.000000 8.750000 -v -0.324759 1.812500 8.750000 -v -0.187500 1.675241 8.750000 -v 0.000000 1.625000 8.750000 -v 0.187500 1.675241 8.750000 -v 0.324759 1.812500 8.750000 -v 0.375000 2.000000 8.750000 -v 0.324759 2.187500 8.750000 -v 0.187500 2.324759 8.750000 -v 0.000000 2.375000 8.250000 -v -0.187500 2.324759 8.250000 -v -0.324759 2.187500 8.250000 -v -0.375000 2.000000 8.250000 -v -0.324759 1.812500 8.250000 -v -0.187500 1.675241 8.250000 -v 0.000000 1.625000 8.250000 -v 0.187500 1.675241 8.250000 -v 0.324759 1.812500 8.250000 -v 0.375000 2.000000 8.250000 -v 0.324759 2.187500 8.250000 -v 0.187500 2.324759 8.250000 -v 0.000000 2.500000 -1.000000 -v 0.250000 2.433013 -1.000000 -v 0.433013 2.250000 -1.000000 -v 0.500000 2.000000 -1.000000 -v 0.433013 1.750000 -1.000000 -v 0.250000 1.566988 -1.000000 -v 0.000000 1.500000 -1.000000 -v -0.250000 1.566987 -1.000000 -v -0.433013 1.750000 -1.000000 -v -0.500000 2.000000 -1.000000 -v -0.433013 2.250000 -1.000000 -v -0.250000 2.433012 -1.000000 -v 0.000000 2.500000 2.000000 -v 0.250000 2.433013 2.000000 -v 0.433012 2.250000 2.000000 -v 0.500000 2.000000 2.000000 -v 0.433012 1.750000 2.000000 -v 0.250000 1.566988 2.000000 -v 0.000000 1.500000 2.000000 -v -0.250000 1.566988 2.000000 -v -0.433013 1.750000 2.000000 -v -0.500000 2.000000 2.000000 -v -0.433013 2.250000 2.000000 -v -0.250000 2.433013 2.000000 -v 0.000000 3.000000 -2.000000 -v 0.000000 2.500000 -2.649519 -v -0.250000 2.433012 1.500000 -v -0.250000 2.433012 -1.000000 -v 0.500000 2.866025 -2.000000 -v 0.433012 2.750000 -2.375000 -v 0.250000 2.433013 -2.649519 -v -0.187500 2.324759 2.000000 -v -0.433013 2.250000 -1.000000 -v -0.500000 2.000000 -1.000000 -v -0.433013 1.750000 -1.000000 -v 0.866025 2.500000 -2.000000 -v 0.750000 2.433013 -2.375000 -v 0.433012 2.250000 -2.649519 -v -0.324759 2.187500 2.000000 -v -0.375000 2.000000 2.000000 -v -0.250000 1.566987 -1.000000 -v 0.000000 1.500000 -1.000000 -v 1.000000 2.000000 -2.000000 -v 0.866025 2.000000 -2.375000 -v 0.500000 2.000000 -2.649519 -v -0.324759 1.812500 2.000000 -v -0.187500 1.675241 2.000000 -v 0.250000 1.566988 -1.000000 -v 0.433013 1.750000 -1.000000 -v 0.866025 1.500000 -2.000000 -v 0.750000 1.566988 -2.375000 -v 0.433012 1.750000 -2.649519 -v 0.000000 1.625000 2.000000 -v 0.187500 1.675241 2.000000 -v 0.500000 2.000000 -1.000000 -v 0.433013 2.250000 -1.000000 -v 0.500000 1.133975 -2.000000 -v 0.433012 1.250000 -2.375000 -v 0.250000 1.566988 -2.649519 -v 0.324759 1.812500 2.000000 -v 0.375000 2.000000 2.000000 -v 0.250000 2.433013 -1.000000 -v 0.000000 2.500000 -1.000000 -v 0.000000 1.000000 -2.000000 -v 0.000000 1.133975 -2.375000 -v 0.000000 1.500000 -2.649519 -v 0.000000 2.000000 -2.750000 -v 0.324759 2.187500 2.000000 -v -0.500000 2.866025 -1.000000 -v -0.866025 2.500000 -1.000000 -v -0.500000 1.133975 -2.000000 -v -0.433013 1.250000 -2.375000 -v -0.250000 1.566988 -2.649519 -v 0.187500 2.324759 2.000000 -v 0.000000 2.375000 2.000000 -v -1.000000 2.000000 -1.000000 -v -0.866025 1.500000 -1.000000 -v -0.866025 1.500000 -2.000000 -v -0.750000 1.566988 -2.375000 -v -0.433013 1.750000 -2.649519 -v 0.250000 2.433013 1.500000 -v 0.433012 2.250000 1.500000 -v -0.500000 1.133975 -1.000000 -v 0.000000 1.000000 -1.000000 -v -1.000000 2.000000 -2.000000 -v -0.866025 2.000000 -2.375000 -v -0.500000 2.000000 -2.649519 -v 0.500000 2.000000 1.500000 -v 0.433012 1.750000 1.500000 -v 0.500000 1.133975 -1.000000 -v 0.866025 1.500000 -1.000000 -v -0.866025 2.500000 -2.000000 -v -0.750000 2.433013 -2.375000 -v -0.433013 2.250000 -2.649519 -v 0.250000 1.566988 1.500000 -v 0.000000 1.500000 1.500000 -v 1.000000 2.000000 -1.000000 -v 0.866025 2.500000 -1.000000 -v -0.500000 2.866025 -2.000000 -v -0.433013 2.750000 -2.375000 -v -0.250000 2.433013 -2.649519 -v -0.250000 1.566987 1.500000 -v -0.433013 1.750000 1.500000 -v 0.500000 2.866025 -1.000000 -v 0.000000 3.000000 -1.000000 -v -0.500000 2.000000 1.500000 -v 0.000000 2.866025 -2.375000 -v -0.433013 2.250000 1.500000 -v 0.000000 2.500000 1.500000 -v -0.250000 1.000000 -1.125000 -v 0.250000 1.000000 -1.125000 -v -0.250000 1.000000 -2.500000 -v 0.250000 1.000000 -2.500000 -v -0.250000 -1.500000 -3.000000 -v -0.250000 -1.500000 -1.625000 -v 0.250000 -1.500000 -1.625000 -v 0.250000 -1.500000 -3.000000 -v -0.250000 1.375000 -2.500000 -v -0.250000 1.375000 -1.125000 -v 0.250000 1.375000 -1.125000 -v 0.250000 1.375000 -2.500000 -v 0.500000 1.000000 -1.375000 -v 0.500000 1.000000 -2.250000 -v 0.500000 -1.500000 -1.875000 -v 0.500000 -1.500000 -2.750000 -v 0.500000 1.375000 -1.375000 -v 0.500000 1.375000 -2.250000 -v -0.500000 1.000000 -2.250000 -v -0.500000 1.000000 -1.375000 -v -0.500000 -1.500000 -2.750000 -v -0.500000 -1.500000 -1.875000 -v -0.500000 1.375000 -2.250000 -v -0.500000 1.375000 -1.375000 -v -0.125000 2.937500 -0.750000 -v 0.125000 2.937500 -0.750000 -v -0.125000 2.937500 -1.000000 -v 0.125000 2.937500 -1.000000 -v -0.125000 3.062500 -0.750000 -v 0.125000 3.062500 -0.750000 -v -0.125000 3.062500 -1.250000 -v 0.125000 3.062500 -1.250000 -v -0.125000 0.250000 -1.375000 -v 0.125000 0.250000 -1.375000 -v -0.125000 0.250000 -0.875000 -v 0.125000 0.250000 -0.875000 -v -0.125000 1.125000 -1.125000 -v 0.125000 1.125000 -1.125000 -v -0.812500 2.500000 3.500000 -v -0.812500 1.500000 3.500000 -v -0.812500 2.500000 0.500000 -v -0.812500 1.500000 0.500000 -v -1.312500 2.500000 0.500000 -v -1.312500 2.500000 3.500000 -v -1.312500 1.500000 3.500000 -v -1.312500 1.500000 0.500000 -v -1.125000 2.375000 3.500000 -v -1.213388 2.338388 3.500000 -v -1.250000 2.250000 3.500000 -v -1.213388 2.161612 3.500000 -v -1.125000 2.125000 3.500000 -v -1.036612 2.161612 3.500000 -v -1.000000 2.250000 3.500000 -v -1.036612 2.338388 3.500000 -v -1.125000 2.375000 4.250000 -v -1.213388 2.338388 4.250000 -v -1.250000 2.250000 4.250000 -v -1.213388 2.161612 4.250000 -v -1.125000 2.125000 4.250000 -v -1.036612 2.161612 4.250000 -v -1.000000 2.250000 4.250000 -v -1.036612 2.338388 4.250000 -v -0.750000 2.375000 5.125000 -v -0.838388 2.338388 5.125000 -v -0.875000 2.250000 5.125000 -v -0.838388 2.161612 5.125000 -v -0.750000 2.125000 5.125000 -v -0.661612 2.161612 5.125000 -v -0.625000 2.250000 5.125000 -v -0.661612 2.338388 5.125000 -v -0.750000 2.375000 7.875000 -v -0.838388 2.338388 7.875000 -v -0.875000 2.250000 7.875000 -v -0.838388 2.161612 7.875000 -v -0.750000 2.125000 7.875000 -v -0.661612 2.161612 7.875000 -v -0.625000 2.250000 7.875000 -v -0.661612 2.338388 7.875000 -v -1.125000 1.875000 3.500000 -v -1.213388 1.838388 3.500000 -v -1.250000 1.750000 3.500000 -v -1.213388 1.661612 3.500000 -v -1.125000 1.625000 3.500000 -v -1.036612 1.661612 3.500000 -v -1.000000 1.750000 3.500000 -v -1.036612 1.838388 3.500000 -v -1.125000 1.875000 4.250000 -v -1.213388 1.838388 4.250000 -v -1.250000 1.750000 4.250000 -v -1.213388 1.661612 4.250000 -v -1.125000 1.625000 4.250000 -v -1.036612 1.661612 4.250000 -v -1.000000 1.750000 4.250000 -v -1.036612 1.838388 4.250000 -v -0.750000 1.875000 5.125000 -v -0.838388 1.838388 5.125000 -v -0.875000 1.750000 5.125000 -v -0.838388 1.661612 5.125000 -v -0.750000 1.625000 5.125000 -v -0.661612 1.661612 5.125000 -v -0.625000 1.750000 5.125000 -v -0.661612 1.838388 5.125000 -v -0.750000 1.875000 7.875000 -v -0.838388 1.838388 7.875000 -v -0.875000 1.750000 7.875000 -v -0.838388 1.661612 7.875000 -v -0.750000 1.625000 7.875000 -v -0.661612 1.661612 7.875000 -v -0.625000 1.750000 7.875000 -v -0.661612 1.838388 7.875000 -v 1.312500 2.500000 2.750000 -v 1.312500 1.500000 2.750000 -v 0.812500 2.500000 2.750000 -v 0.812500 1.500000 2.750000 -v 1.312500 2.500000 1.750000 -v 1.312500 1.500000 1.750000 -v 0.812500 2.500000 1.750000 -v 0.812500 1.500000 1.750000 -v 1.312500 2.375000 2.625000 -v 1.312500 1.625000 2.625000 -v 1.312500 2.375000 1.875000 -v 1.312500 1.625000 1.875000 -v 1.562500 2.250000 2.500000 -v 1.562500 1.750000 2.500000 -v 1.562500 2.250000 2.000000 -v 1.562500 1.750000 2.000000 -v 0.750000 2.974112 2.411612 -v 0.750000 2.937500 2.500000 -v 0.750000 2.974112 2.588388 -v 0.750000 3.062500 2.625000 -v 0.750000 3.062500 2.375000 -v 0.750000 3.150888 2.411612 -v 0.750000 3.187500 2.500000 -v 0.750000 3.150888 2.588388 -v -0.750000 3.150888 2.411612 -v -0.750000 3.187500 2.500000 -v -0.750000 3.150888 2.588388 -v -0.750000 3.062500 2.625000 -v -0.750000 3.062500 2.375000 -v -0.750000 2.974112 2.411612 -v -0.750000 2.937500 2.500000 -v -0.750000 2.974112 2.588388 -v 0.974112 2.500000 2.088388 -v 0.937500 2.500000 2.000000 -v 0.974112 2.500000 1.911612 -v 1.062500 2.500000 1.875000 -v 1.062500 2.500000 2.125000 -v 1.150888 2.500000 2.088388 -v 1.187500 2.500000 2.000000 -v 1.150888 2.500000 1.911612 -v 0.974112 2.750000 2.088388 -v 0.937500 2.750000 2.000000 -v 0.974112 2.750000 1.911612 -v 1.062500 2.750000 1.875000 -v 1.062500 2.750000 2.125000 -v 1.150888 2.750000 2.088388 -v 1.187500 2.750000 2.000000 -v 1.150888 2.750000 1.911612 -v -0.974112 2.750000 2.411612 -v -0.937500 2.750000 2.500000 -v -0.974112 2.750000 2.588388 -v -1.062500 2.750000 2.625000 -v -1.062500 2.750000 2.375000 -v -1.150888 2.750000 2.411612 -v -1.187500 2.750000 2.500000 -v -1.150888 2.750000 2.588388 -v -0.974112 2.500000 2.411612 -v -0.937500 2.500000 2.500000 -v -0.974112 2.500000 2.588388 -v -1.062500 2.500000 2.625000 -v -1.062500 2.500000 2.375000 -v -1.150888 2.500000 2.411612 -v -1.187500 2.500000 2.500000 -v -1.150888 2.500000 2.588388 -v -1.150888 2.500000 2.088388 -v -1.187500 2.500000 2.000000 -v -1.150888 2.500000 1.911612 -v -1.062500 2.500000 1.875000 -v -1.062500 2.500000 2.125000 -v -0.974112 2.500000 2.088388 -v -0.937500 2.500000 2.000000 -v -0.974112 2.500000 1.911612 -v -1.150888 2.750000 2.088388 -v -1.187500 2.750000 2.000000 -v -1.150888 2.750000 1.911612 -v -1.062500 2.750000 1.875000 -v -1.062500 2.750000 2.125000 -v -0.974112 2.750000 2.088388 -v -0.937500 2.750000 2.000000 -v -0.974112 2.750000 1.911612 -v 1.150888 2.750000 2.411612 -v 1.187500 2.750000 2.500000 -v 1.150888 2.750000 2.588388 -v 1.062500 2.750000 2.625000 -v 1.062500 2.750000 2.375000 -v 0.974112 2.750000 2.411612 -v 0.937500 2.750000 2.500000 -v 0.974112 2.750000 2.588388 -v -0.750000 2.974112 2.088388 -v -0.750000 2.937500 2.000000 -v -0.750000 2.974112 1.911612 -v -0.750000 3.062500 1.875000 -v -0.750000 3.062500 2.125000 -v -0.750000 3.150888 2.088388 -v -0.750000 3.187500 2.000000 -v -0.750000 3.150888 1.911612 -v 1.150888 2.500000 2.411612 -v 1.187500 2.500000 2.500000 -v 1.150888 2.500000 2.588388 -v 1.062500 2.500000 2.625000 -v 1.062500 2.500000 2.375000 -v 0.974112 2.500000 2.411612 -v 0.937500 2.500000 2.500000 -v 0.974112 2.500000 2.588388 -v 0.750000 3.150888 2.088388 -v 0.750000 3.187500 2.000000 -v 0.750000 3.150888 1.911612 -v 0.750000 3.062500 1.875000 -v 0.750000 3.062500 2.125000 -v 0.750000 2.974112 2.088388 -v 0.750000 2.937500 2.000000 -v 0.750000 2.974112 1.911612 -v 0.530330 1.646447 4.375000 -v 0.353553 1.469670 4.375000 -v 0.176776 1.646447 4.375000 -v 0.353553 1.823223 4.375000 -v 0.176776 1.646447 7.500000 -v 0.353553 1.823223 7.500000 -v 0.353553 1.469670 7.500000 -v 0.530330 1.646447 7.500000 -v -0.530330 2.353554 4.375000 -v -0.353553 2.530330 4.375000 -v -0.176777 2.353554 4.375000 -v -0.353553 2.176777 4.375000 -v -0.176777 2.353554 7.500000 -v -0.353553 2.176777 7.500000 -v -0.353553 2.530330 7.500000 -v -0.530330 2.353554 7.500000 -v -0.353554 1.469670 4.375000 -v -0.530330 1.646447 4.375000 -v -0.353554 1.823224 4.375000 -v -0.176777 1.646447 4.375000 -v -0.353554 1.823224 7.500000 -v -0.176777 1.646447 7.500000 -v -0.530330 1.646447 7.500000 -v -0.353554 1.469670 7.500000 -v 0.353554 2.530330 4.375000 -v 0.530330 2.353554 4.375000 -v 0.353554 2.176777 4.375000 -v 0.176777 2.353553 4.375000 -v 0.353554 2.176777 7.500000 -v 0.176777 2.353553 7.500000 -v 0.530330 2.353554 7.500000 -v 0.353554 2.530330 7.500000 -v -1.062500 2.500000 0.690000 -v -1.193315 2.500000 0.744185 -v -1.247500 2.500000 0.875000 -v -1.193315 2.500000 1.005815 -v -1.062500 2.500000 1.060000 -v -0.931685 2.500000 1.005815 -v -0.877500 2.500000 0.875000 -v -0.931685 2.500000 0.744185 -v -1.062500 3.250000 0.690000 -v -1.193315 3.250000 0.744185 -v -1.247500 3.250000 0.875000 -v -1.193315 3.250000 1.005815 -v -1.062500 3.250000 1.060000 -v -0.931685 3.250000 1.005815 -v -0.877500 3.250000 0.875000 -v -0.931685 3.250000 0.744185 -v -0.931685 3.250000 1.244185 -v -0.877500 3.250000 1.375000 -v -0.931685 3.250000 1.505815 -v -1.062500 3.250000 1.560000 -v -1.193315 3.250000 1.505815 -v -1.247500 3.250000 1.375000 -v -1.193315 3.250000 1.244185 -v -1.062500 3.250000 1.190000 -v -0.931685 2.500000 1.244185 -v -0.877500 2.500000 1.375000 -v -0.931685 2.500000 1.505815 -v -1.062500 2.500000 1.560000 -v -1.193315 2.500000 1.505815 -v -1.247500 2.500000 1.375000 -v -1.193315 2.500000 1.244185 -v -1.062500 2.500000 1.190000 -v -1.062500 2.500000 2.940000 -v -1.193315 2.500000 2.994185 -v -1.247500 2.500000 3.125000 -v -1.193315 2.500000 3.255815 -v -1.062500 2.500000 3.310000 -v -0.931685 2.500000 3.255815 -v -0.877500 2.500000 3.125000 -v -0.931685 2.500000 2.994185 -v -1.062500 3.250000 2.940000 -v -1.193315 3.250000 2.994185 -v -1.247500 3.250000 3.125000 -v -1.193315 3.250000 3.255815 -v -1.062500 3.250000 3.310000 -v -0.931685 3.250000 3.255815 -v -0.877500 3.250000 3.125000 -v -0.931685 3.250000 2.994185 -v -1.437500 2.375000 1.000000 -v -1.570083 2.320082 1.000000 -v -1.625000 2.187500 1.000000 -v -1.570083 2.054917 1.000000 -v -1.437500 2.000000 1.000000 -v -1.304917 2.054917 1.000000 -v -1.250000 2.187500 1.000000 -v -1.304917 2.320082 1.000000 -v -1.437500 2.375000 2.000000 -v -1.570083 2.320082 2.000000 -v -1.625000 2.187500 2.000000 -v -1.570083 2.054917 2.000000 -v -1.437500 2.000000 2.000000 -v -1.304917 2.054917 2.000000 -v -1.250000 2.187500 2.000000 -v -1.304917 2.320082 2.000000 -v -1.304917 1.945082 2.000000 -v -1.250000 1.812500 2.000000 -v -1.304917 1.679917 2.000000 -v -1.437500 1.625000 2.000000 -v -1.570083 1.679917 2.000000 -v -1.625000 1.812500 2.000000 -v -1.570083 1.945082 2.000000 -v -1.437500 2.000000 2.000000 -v -1.304917 1.945082 1.000000 -v -1.250000 1.812500 1.000000 -v -1.304917 1.679917 1.000000 -v -1.437500 1.625000 1.000000 -v -1.570083 1.679917 1.000000 -v -1.625000 1.812500 1.000000 -v -1.570083 1.945082 1.000000 -v -1.437500 2.000000 1.000000 -v -1.312500 2.437500 1.000000 -v -1.312500 1.562500 1.000000 -v -1.312500 2.437500 0.750000 -v -1.312500 1.562500 0.750000 -v -1.687500 2.437500 0.875000 -v -1.687500 2.437500 1.000000 -v -1.687500 1.562500 1.000000 -v -1.687500 1.562500 0.875000 -v -1.312500 2.437500 2.250000 -v -1.312500 1.562500 2.250000 -v -1.312500 2.437500 2.000000 -v -1.312500 1.562500 2.000000 -v -1.687500 2.437500 2.000000 -v -1.687500 2.437500 2.125000 -v -1.687500 1.562500 2.125000 -v -1.687500 1.562500 2.000000 -v 0.000000 2.375000 -2.625000 -v -0.187500 2.324760 -2.625000 -v -0.324759 2.187500 -2.625000 -v -0.375000 2.000000 -2.625000 -v -0.324759 1.812500 -2.625000 -v -0.187500 1.675241 -2.625000 -v 0.000000 1.625000 -2.625000 -v 0.187500 1.675241 -2.625000 -v 0.324759 1.812500 -2.625000 -v 0.375000 2.000000 -2.625000 -v 0.324759 2.187500 -2.625000 -v 0.187500 2.324760 -2.625000 -v 0.000000 2.375000 -3.000000 -v -0.187500 2.324760 -3.000000 -v -0.324759 2.187500 -3.000000 -v -0.375000 2.000000 -3.000000 -v -0.324759 1.812500 -3.000000 -v -0.187500 1.675241 -3.000000 -v 0.000000 1.625000 -3.000000 -v 0.187500 1.675241 -3.000000 -v 0.324759 1.812500 -3.000000 -v 0.375000 2.000000 -3.000000 -v 0.324759 2.187500 -3.000000 -v 0.187500 2.324760 -3.000000 -v -1.312500 2.250000 3.250000 -v -1.312500 1.750000 3.250000 -v -1.312500 2.250000 2.125000 -v -1.312500 1.750000 2.125000 -v -1.562500 2.250000 2.125000 -v -1.562500 2.250000 3.250000 -v -1.562500 1.750000 3.250000 -v -1.562500 1.750000 2.125000 -v -0.093750 2.162380 -2.875000 -v 0.000000 2.187500 -2.875000 -v -0.162380 2.093750 -2.875000 -v -0.187500 2.000000 -2.875000 -v -0.162380 1.906250 -2.875000 -v -0.093750 1.837620 -2.875000 -v 0.000000 1.812500 -2.875000 -v 0.093750 1.837620 -2.875000 -v 0.162380 1.906250 -2.875000 -v 0.187500 2.000000 -2.875000 -v 0.162380 2.093750 -2.875000 -v 0.093750 2.162380 -2.875000 -v 1.250000 0.875000 -0.125000 -v -1.250000 0.875000 -0.125000 -v 1.250000 0.963389 -0.088388 -v -1.250000 0.963389 -0.088388 -v 1.250000 1.000000 0.000000 -v -1.250000 1.000000 0.000000 -v 1.250000 0.963389 0.088388 -v -1.250000 0.963389 0.088388 -v 1.250000 0.875000 0.125000 -v -1.250000 0.875000 0.125000 -v 1.250000 0.786612 0.088388 -v -1.250000 0.786612 0.088388 -v 1.250000 0.750000 0.000000 -v -1.250000 0.750000 0.000000 -v 1.250000 0.786612 -0.088388 -v -1.250000 0.786612 -0.088388 -v 0.812500 1.750000 -1.750000 -v 0.812500 2.250000 -1.750000 -v 0.812500 2.250000 -1.125000 -v 0.812500 1.750000 -1.125000 -v 1.062500 1.750000 -1.750000 -v 1.062500 2.250000 -1.125000 -v 1.062500 2.250000 -1.750000 -v 1.062500 1.750000 -1.125000 -v 1.187500 1.750000 -1.625000 -v 1.187500 2.250000 -1.625000 -v 1.062500 1.750000 -0.187500 -v 1.187500 1.750000 -0.187500 -v 1.062500 0.687500 -0.062500 -v 1.062500 0.812500 -0.187500 -v 1.187500 0.812500 -0.187500 -v 1.187500 0.687500 -0.062500 -v 1.062500 0.812500 0.187500 -v 1.062500 0.687500 0.062500 -v 1.187500 0.687500 0.062500 -v 1.187500 0.812500 0.187500 -v 1.062500 2.250000 -0.062500 -v 1.062500 2.000000 0.187500 -v 1.187500 2.000000 0.187500 -v 1.187500 2.250000 -0.062500 -v -0.562500 0.687500 -0.062500 -v -0.562500 0.812500 -0.187500 -v -0.562500 0.812500 0.187500 -v -0.562500 0.687500 0.062500 -v 0.562500 0.687500 -0.062500 -v 0.562500 0.812500 -0.187500 -v 0.562500 0.812500 0.187500 -v 0.562500 0.687500 0.062500 -v -0.562500 1.312500 -0.187500 -v -0.562500 1.312500 0.187500 -v 0.562500 1.312500 -0.187500 -v 0.562500 1.312500 0.187500 -v -0.812500 1.750000 -1.750000 -v -0.812500 2.250000 -1.750000 -v -0.812500 2.250000 -1.125000 -v -0.812500 1.750000 -1.125000 -v -1.062500 1.750000 -1.750000 -v -1.062500 2.250000 -1.125000 -v -1.062500 2.250000 -1.750000 -v -1.062500 1.750000 -1.125000 -v -1.187500 1.750000 -1.625000 -v -1.187500 2.250000 -1.625000 -v -1.062500 1.750000 -0.187500 -v -1.187500 1.750000 -0.187500 -v -1.062500 0.687500 -0.062500 -v -1.062500 0.812500 -0.187500 -v -1.187500 0.812500 -0.187500 -v -1.187500 0.687500 -0.062500 -v -1.062500 0.812500 0.187500 -v -1.062500 0.687500 0.062500 -v -1.187500 0.687500 0.062500 -v -1.187500 0.812500 0.187500 -v -1.062500 2.250000 -0.062500 -v -1.062500 2.000000 0.187500 -v -1.187500 2.000000 0.187500 -v -1.187500 2.250000 -0.062500 -vt 0.460000 0.266667 -vt 0.486667 0.226667 -vt 0.486667 0.253333 -vt 0.153333 0.546667 -vt 0.140000 0.580000 -vt 0.140000 0.540000 -vt 0.153333 0.493333 -vt 0.140000 0.526667 -vt 0.140000 0.486667 -vt 0.153333 0.440000 -vt 0.140000 0.473333 -vt 0.140000 0.433333 -vt 0.153333 0.386667 -vt 0.140000 0.420000 -vt 0.140000 0.380000 -vt 0.153333 0.333333 -vt 0.140000 0.366667 -vt 0.140000 0.326667 -vt 0.153333 0.280000 -vt 0.140000 0.313333 -vt 0.140000 0.273333 -vt 0.153333 0.226667 -vt 0.140000 0.260000 -vt 0.140000 0.220000 -vt 0.153333 0.173333 -vt 0.140000 0.206667 -vt 0.140000 0.166667 -vt 0.153333 0.120000 -vt 0.140000 0.153333 -vt 0.140000 0.113333 -vt 0.153333 0.066667 -vt 0.140000 0.100000 -vt 0.140000 0.060000 -vt 0.153333 0.040000 -vt 0.140000 0.006667 -vt 0.153333 0.013333 -vt 0.153333 0.600000 -vt 0.140000 0.633333 -vt 0.140000 0.593333 -vt 0.120000 0.273333 -vt 0.106667 0.320000 -vt 0.106667 0.266667 -vt 0.120000 0.220000 -vt 0.106667 0.213333 -vt 0.120000 0.206667 -vt 0.106667 0.160000 -vt 0.120000 0.166667 -vt 0.120000 0.113333 -vt 0.106667 0.106667 -vt 0.120000 0.060000 -vt 0.106667 0.053333 -vt 0.120000 0.006667 -vt 0.106667 0.000000 -vt 0.120000 0.633333 -vt 0.106667 0.586667 -vt 0.120000 0.593333 -vt 0.120000 0.580000 -vt 0.106667 0.533333 -vt 0.120000 0.540000 -vt 0.120000 0.526667 -vt 0.106667 0.480000 -vt 0.120000 0.486667 -vt 0.120000 0.473333 -vt 0.106667 0.426667 -vt 0.120000 0.433333 -vt 0.120000 0.420000 -vt 0.106667 0.373333 -vt 0.120000 0.380000 -vt 0.120000 0.366667 -vt 0.120000 0.326667 -vt 0.080000 0.160000 -vt 0.066667 0.206667 -vt 0.066667 0.166667 -vt 0.080000 0.213333 -vt 0.066667 0.260000 -vt 0.066667 0.220000 -vt 0.066667 0.273333 -vt 0.080000 0.320000 -vt 0.066667 0.313333 -vt 0.066667 0.366667 -vt 0.066667 0.326667 -vt 0.080000 0.373333 -vt 0.066667 0.420000 -vt 0.066667 0.380000 -vt 0.080000 0.426667 -vt 0.066667 0.473333 -vt 0.066667 0.433333 -vt 0.080000 0.480000 -vt 0.066667 0.526667 -vt 0.066667 0.486667 -vt 0.080000 0.533333 -vt 0.066667 0.580000 -vt 0.066667 0.540000 -vt 0.080000 0.586667 -vt 0.066667 0.633333 -vt 0.066667 0.593333 -vt 0.066667 0.006667 -vt 0.080000 0.053333 -vt 0.066667 0.046667 -vt 0.066667 0.060000 -vt 0.080000 0.106667 -vt 0.066667 0.100000 -vt 0.066667 0.113333 -vt 0.066667 0.153333 -vt 0.046667 0.046667 -vt 0.026667 0.013333 -vt 0.046667 0.006667 -vt 0.046667 0.526667 -vt 0.026667 0.493333 -vt 0.046667 0.486667 -vt 0.046667 0.220000 -vt 0.026667 0.246667 -vt 0.026667 0.226667 -vt 0.046667 0.366667 -vt 0.026667 0.333333 -vt 0.046667 0.326667 -vt 0.046667 0.100000 -vt 0.026667 0.066667 -vt 0.046667 0.060000 -vt 0.046667 0.580000 -vt 0.026667 0.546667 -vt 0.046667 0.540000 -vt 0.046667 0.313333 -vt 0.026667 0.280000 -vt 0.046667 0.273333 -vt 0.046667 0.420000 -vt 0.026667 0.386667 -vt 0.046667 0.380000 -vt 0.046667 0.113333 -vt 0.026667 0.140000 -vt 0.026667 0.120000 -vt 0.046667 0.633333 -vt 0.026667 0.600000 -vt 0.046667 0.593333 -vt 0.046667 0.473333 -vt 0.026667 0.440000 -vt 0.046667 0.433333 -vt 0.046667 0.206667 -vt 0.026667 0.173333 -vt 0.046667 0.166667 -vt 0.197303 0.699979 -vt 0.180000 0.719959 -vt 0.162697 0.660021 -vt 0.460000 0.480000 -vt 0.486667 0.440000 -vt 0.486667 0.466667 -vt 0.486667 0.520000 -vt 0.460000 0.533333 -vt 0.486667 0.573333 -vt 0.460000 0.586667 -vt 0.460000 0.640000 -vt 0.486667 0.600000 -vt 0.486667 0.626667 -vt 0.460000 0.053333 -vt 0.486667 0.013333 -vt 0.486667 0.040000 -vt 0.486667 0.093333 -vt 0.460000 0.106667 -vt 0.460000 0.160000 -vt 0.486667 0.120000 -vt 0.486667 0.146667 -vt 0.460000 0.373333 -vt 0.486667 0.333333 -vt 0.486667 0.360000 -vt 0.460000 0.320000 -vt 0.486667 0.280000 -vt 0.486667 0.306667 -vt 0.486667 0.200000 -vt 0.460000 0.213333 -vt 0.486667 0.413333 -vt 0.460000 0.426667 -vt 0.159989 0.693333 -vt 0.146661 0.739503 -vt 0.106677 0.693333 -vt 0.732697 0.846687 -vt 0.767303 0.846687 -vt 0.750000 0.906626 -vt 0.773468 0.906787 -vt 0.796667 0.826426 -vt 0.819865 0.906787 -vt 0.099472 0.693390 -vt 0.099472 0.799943 -vt 0.053333 0.853219 -vt 0.840000 0.106667 -vt 0.826667 0.080000 -vt 0.840000 0.000000 -vt 0.153333 0.840000 -vt 0.180000 0.813333 -vt 0.180000 0.840000 -vt 0.973333 0.493333 -vt 0.986667 0.440000 -vt 0.986667 0.493333 -vt 0.986667 0.413333 -vt 0.973333 0.440000 -vt 0.973333 0.413333 -vt 0.973333 0.506667 -vt 0.986667 0.506667 -vt 0.966667 0.466667 -vt 0.966667 0.493333 -vt 0.993333 0.466667 -vt 0.106667 0.840000 -vt 0.153333 0.813333 -vt 0.166667 0.720000 -vt 0.166667 0.933333 -vt 0.226667 0.800000 -vt 0.386667 0.693333 -vt 0.386667 0.800000 -vt 0.386667 0.640000 -vt 0.226667 0.693333 -vt 0.226667 0.640000 -vt 0.226667 0.853333 -vt 0.386667 0.853333 -vt 0.200000 0.693333 -vt 0.200000 0.800000 -vt 0.413333 0.800000 -vt 0.413333 0.693333 -vt 0.873333 0.586667 -vt 0.846667 0.480000 -vt 0.873333 0.480000 -vt 0.966667 0.480000 -vt 0.940000 0.586667 -vt 0.940000 0.480000 -vt 0.880000 0.600000 -vt 0.933333 0.653333 -vt 0.880000 0.653333 -vt 0.893333 0.506667 -vt 0.926667 0.480000 -vt 0.920000 0.506667 -vt 0.880000 0.413333 -vt 0.933333 0.466667 -vt 0.880000 0.466667 -vt 0.926667 0.586667 -vt 0.933333 0.600000 -vt 0.933333 0.493333 -vt 0.880000 0.573333 -vt 0.886667 0.480000 -vt 0.920000 0.560000 -vt 0.893333 0.560000 -vt 0.933333 0.573333 -vt 0.886667 0.586667 -vt 0.880000 0.493333 -vt 0.560000 0.666667 -vt 0.726667 0.693333 -vt 0.560000 0.693333 -vt 0.726667 0.640000 -vt 0.560000 0.666667 -vt 0.560000 0.640000 -vt 0.560000 0.720000 -vt 0.726667 0.720000 -vt 0.726667 0.640000 -vt 0.560000 0.640000 -vt 0.560000 0.720000 -vt 0.726667 0.693333 -vt 0.726667 0.720000 -vt 0.560000 0.693333 -vt 0.560000 0.666667 -vt 0.726667 0.693333 -vt 0.560000 0.693333 -vt 0.726667 0.640000 -vt 0.560000 0.666667 -vt 0.560000 0.640000 -vt 0.560000 0.720000 -vt 0.726667 0.720000 -vt 0.726667 0.640000 -vt 0.560000 0.640000 -vt 0.560000 0.720000 -vt 0.726667 0.693333 -vt 0.726667 0.720000 -vt 0.560000 0.693333 -vt 0.000156 0.953333 -vt 0.010000 0.933646 -vt 0.019844 0.953333 -vt 0.053490 0.953333 -vt 0.063333 0.933646 -vt 0.073177 0.953333 -vt 0.000156 0.953333 -vt 0.010000 0.933646 -vt 0.019844 0.953333 -vt 0.480000 0.773333 -vt 0.486667 0.680000 -vt 0.486667 0.773333 -vt 0.433333 0.773333 -vt 0.440000 0.680000 -vt 0.440000 0.773333 -vt 0.440000 0.813333 -vt 0.413333 0.680000 -vt 0.413333 0.773333 -vt 0.460000 0.773333 -vt 0.460000 0.680000 -vt 0.440000 0.640000 -vt 0.433333 0.680000 -vt 0.426667 0.640000 -vt 0.480000 0.813333 -vt 0.493333 0.813333 -vt 0.460000 0.680000 -vt 0.460000 0.773333 -vt 0.506667 0.773333 -vt 0.506667 0.680000 -vt 0.480000 0.640000 -vt 0.480000 0.680000 -vt 0.773333 0.493333 -vt 0.833333 0.440000 -vt 0.833333 0.493333 -vt 0.833333 0.413333 -vt 0.773333 0.440000 -vt 0.773333 0.413333 -vt 0.773333 0.520000 -vt 0.833333 0.520000 -vt 0.791947 0.530054 -vt 0.791947 0.549945 -vt 0.774720 0.549945 -vt 0.846667 0.493333 -vt 0.846667 0.440000 -vt 0.793333 0.800031 -vt 0.799985 0.813334 -vt 0.793333 0.826636 -vt 0.788646 0.777292 -vt 0.793333 0.773409 -vt 0.798021 0.777292 -vt 0.556667 0.993333 -vt 0.556667 0.966667 -vt 0.550000 0.953333 -vt 0.550000 0.953333 -vt 0.556667 0.900000 -vt 0.556667 0.953333 -vt 0.523333 0.993333 -vt 0.523333 0.966667 -vt 0.570000 0.900000 -vt 0.570000 0.953333 -vt 0.556667 0.900000 -vt 0.570000 0.953333 -vt 0.556667 0.953333 -vt 0.453333 0.800000 -vt 0.446667 0.926667 -vt 0.446667 0.800000 -vt 0.480000 0.953333 -vt 0.523333 0.966667 -vt 0.473333 0.900000 -vt 0.466667 0.953333 -vt 0.523333 0.953333 -vt 0.473333 0.900000 -vt 0.466667 0.953333 -vt 0.473333 0.800000 -vt 0.460000 0.786667 -vt 0.453333 0.800000 -vt 0.473333 0.800000 -vt 0.460000 0.786667 -vt 0.466667 0.773333 -vt 0.466667 0.786667 -vt 0.473333 0.773333 -vt 0.460000 0.773333 -vt 0.453333 0.786667 -vt 0.453333 0.773333 -vt 0.480000 0.900000 -vt 0.453333 0.953333 -vt 0.453333 0.926667 -vt 0.453333 0.926667 -vt 0.206667 0.920000 -vt 0.266667 0.933333 -vt 0.206667 0.933333 -vt 0.266667 0.946667 -vt 0.206667 0.946667 -vt 0.206667 0.906667 -vt 0.266667 0.920000 -vt 0.266667 0.853333 -vt 0.266667 0.906667 -vt 0.206667 1.000000 -vt 0.173333 0.946667 -vt 0.173333 0.906667 -vt 0.200000 0.906667 -vt 0.273333 0.946667 -vt 0.550000 0.953333 -vt 0.556667 0.993333 -vt 0.523333 0.993333 -vt 0.556667 0.900000 -vt 0.550000 0.953333 -vt 0.556667 0.953333 -vt 0.523333 0.993333 -vt 0.556667 0.993333 -vt 0.570000 0.900000 -vt 0.570000 0.953333 -vt 0.570000 0.953333 -vt 0.556667 0.900000 -vt 0.556667 0.953333 -vt 0.446667 0.926667 -vt 0.453333 0.800000 -vt 0.446667 0.800000 -vt 0.523333 0.966667 -vt 0.480000 0.953333 -vt 0.473333 0.900000 -vt 0.550000 0.900000 -vt 0.473333 0.900000 -vt 0.523333 0.953333 -vt 0.466667 0.953333 -vt 0.466667 0.786667 -vt 0.460000 0.786667 -vt 0.523333 0.966667 -vt 0.466667 0.953333 -vt 0.466667 0.966667 -vt 0.460000 0.786667 -vt 0.466667 0.786667 -vt 0.473333 0.800000 -vt 0.466667 0.773333 -vt 0.473333 0.773333 -vt 0.453333 0.786667 -vt 0.460000 0.773333 -vt 0.453333 0.773333 -vt 0.480000 0.900000 -vt 0.473333 0.800000 -vt 0.453333 0.953333 -vt 0.453333 0.926667 -vt 0.453333 0.926667 -vt 0.153333 0.573333 -vt 0.153333 0.520000 -vt 0.153333 0.466667 -vt 0.153333 0.413333 -vt 0.153333 0.360000 -vt 0.153333 0.306667 -vt 0.153333 0.253333 -vt 0.153333 0.200000 -vt 0.153333 0.146667 -vt 0.153333 0.093333 -vt 0.140000 0.046667 -vt 0.153333 0.626667 -vt 0.120000 0.313333 -vt 0.120000 0.260000 -vt 0.120000 0.153333 -vt 0.120000 0.100000 -vt 0.120000 0.046667 -vt 0.106667 0.640000 -vt 0.080000 0.266667 -vt 0.080000 0.640000 -vt 0.080000 0.000000 -vt 0.026667 0.033333 -vt 0.026667 0.513333 -vt 0.046667 0.260000 -vt 0.026667 0.353333 -vt 0.026667 0.086667 -vt 0.026667 0.566667 -vt 0.026667 0.300000 -vt 0.026667 0.406667 -vt 0.046667 0.153333 -vt 0.026667 0.620000 -vt 0.026667 0.460000 -vt 0.026667 0.193333 -vt 0.170010 0.714606 -vt 0.162697 0.699979 -vt 0.160021 0.680000 -vt 0.170010 0.645395 -vt 0.180000 0.640041 -vt 0.189990 0.645395 -vt 0.197303 0.660021 -vt 0.199979 0.680000 -vt 0.189990 0.714606 -vt 0.486667 0.493333 -vt 0.486667 0.546667 -vt 0.460000 -0.000000 -vt 0.486667 0.066667 -vt 0.486667 0.173333 -vt 0.486667 0.386667 -vt 0.133333 0.746646 -vt 0.120005 0.739503 -vt 0.110248 0.719989 -vt 0.110248 0.666677 -vt 0.146661 0.647164 -vt 0.120005 0.647164 -vt 0.133333 0.640021 -vt 0.156418 0.666677 -vt 0.156418 0.719989 -vt 0.740010 0.901272 -vt 0.732697 0.886646 -vt 0.730020 0.866667 -vt 0.740010 0.832061 -vt 0.750000 0.826708 -vt 0.759990 0.832061 -vt 0.769980 0.866667 -vt 0.767303 0.886646 -vt 0.759990 0.901272 -vt 0.810060 0.926396 -vt 0.796667 0.933574 -vt 0.783273 0.926396 -vt 0.769880 0.880000 -vt 0.773468 0.853213 -vt 0.783273 0.833603 -vt 0.810060 0.833603 -vt 0.819865 0.853213 -vt 0.823454 0.880000 -vt 0.026695 0.838944 -vt 0.007195 0.799943 -vt 0.000057 0.746667 -vt 0.007195 0.693390 -vt 0.026695 0.654390 -vt 0.053333 0.640114 -vt 0.079972 0.654390 -vt 0.106610 0.746667 -vt 0.079971 0.838944 -vt 0.826667 0.026667 -vt 0.886667 0.000000 -vt 0.886667 0.106667 -vt 0.900000 0.026667 -vt 0.900000 0.080000 -vt 0.993333 0.493333 -vt 0.106667 0.813333 -vt 0.846667 0.586667 -vt 0.966667 0.586667 -vt 0.933333 0.413333 -vt 0.726667 0.666667 -vt 0.726667 0.666667 -vt 0.726667 0.666667 -vt 0.726667 0.666667 -vt 0.003040 0.939412 -vt 0.016961 0.939412 -vt 0.016961 0.967254 -vt 0.010000 0.973020 -vt 0.003040 0.967254 -vt 0.056373 0.939412 -vt 0.070294 0.939412 -vt 0.070294 0.967254 -vt 0.063333 0.973020 -vt 0.056373 0.967254 -vt 0.003040 0.939412 -vt 0.016961 0.939412 -vt 0.016961 0.967254 -vt 0.010000 0.973020 -vt 0.003040 0.967254 -vt 0.426667 0.813333 -vt 0.493333 0.640000 -vt 0.788306 0.557226 -vt 0.783333 0.559891 -vt 0.778361 0.557226 -vt 0.773388 0.540000 -vt 0.774720 0.530054 -vt 0.778361 0.522774 -vt 0.783333 0.520109 -vt 0.788306 0.522773 -vt 0.793279 0.540000 -vt 0.788630 0.822740 -vt 0.786682 0.813334 -vt 0.788630 0.803927 -vt 0.798037 0.803927 -vt 0.798037 0.822740 -vt 0.799962 0.786667 -vt 0.798021 0.796041 -vt 0.793333 0.799924 -vt 0.788646 0.796041 -vt 0.786704 0.786667 -vt 0.523333 0.993333 -vt 0.550000 0.900000 -vt 0.556667 0.966667 -vt 0.556667 0.993333 -vt 0.570000 0.900000 -vt 0.480000 0.966667 -vt 0.523333 0.900000 -vt 0.466667 0.966667 -vt 0.466667 0.786667 -vt 0.473333 0.786667 -vt 0.480000 0.800000 -vt 0.446667 0.953333 -vt 0.206667 0.853333 -vt 0.266667 1.000000 -vt 0.200000 0.946667 -vt 0.273333 0.906667 -vt 0.300000 0.906667 -vt 0.300000 0.946667 -vt 0.556667 0.966667 -vt 0.556667 0.966667 -vt 0.570000 0.900000 -vt 0.480000 0.966667 -vt 0.523333 0.900000 -vt 0.453333 0.800000 -vt 0.473333 0.786667 -vt 0.480000 0.800000 -vt 0.446667 0.953333 -vt 0.193333 0.320000 -vt 0.193333 0.266667 -vt 0.193333 0.213333 -vt 0.193333 0.160000 -vt 0.193333 0.106667 -vt 0.193333 0.053333 -vt 0.193333 0.640000 -vt 0.193333 0.586667 -vt 0.193333 0.533333 -vt 0.193333 0.480000 -vt 0.193333 0.426667 -vt 0.193333 0.373333 -vt 0.486667 0.480000 -vt 0.646667 0.453333 -vt 0.646667 0.480000 -vt 0.486667 0.453333 -vt 0.646667 0.426667 -vt 0.486667 0.426667 -vt 0.646667 0.400000 -vt 0.486667 0.400000 -vt 0.646667 0.373333 -vt 0.486667 0.373333 -vt 0.646667 0.346667 -vt 0.486667 0.346667 -vt 0.646667 0.320000 -vt 0.486667 0.640000 -vt 0.646667 0.613333 -vt 0.646667 0.640000 -vt 0.486667 0.613333 -vt 0.646667 0.586667 -vt 0.486667 0.586667 -vt 0.646667 0.560000 -vt 0.486667 0.560000 -vt 0.646667 0.533333 -vt 0.486667 0.533333 -vt 0.646667 0.506667 -vt 0.486667 0.506667 -vt 0.166667 0.313333 -vt 0.180000 0.266667 -vt 0.180000 0.320000 -vt 0.166667 0.220000 -vt 0.180000 0.213333 -vt 0.166667 0.166667 -vt 0.180000 0.160000 -vt 0.166667 0.113333 -vt 0.180000 0.106667 -vt 0.166667 0.100000 -vt 0.180000 0.053333 -vt 0.180000 0.373333 -vt 0.166667 0.326667 -vt 0.180000 0.426667 -vt 0.166667 0.380000 -vt 0.166667 0.473333 -vt 0.180000 0.480000 -vt 0.166667 0.526667 -vt 0.166667 0.486667 -vt 0.166667 0.580000 -vt 0.180000 0.533333 -vt 0.180000 0.586667 -vt 0.180000 0.640000 -vt 0.166667 0.593333 -vt 0.166667 0.006667 -vt 0.180000 -0.000000 -vt 0.153333 0.200000 -vt 0.166667 0.206667 -vt 0.153333 0.253333 -vt 0.153333 0.226667 -vt 0.153333 0.280000 -vt 0.153333 0.306667 -vt 0.153333 0.333333 -vt 0.166667 0.366667 -vt 0.153333 0.360000 -vt 0.153333 0.386667 -vt 0.166667 0.420000 -vt 0.153333 0.413333 -vt 0.153333 0.440000 -vt 0.153333 0.466667 -vt 0.153333 0.520000 -vt 0.153333 0.546667 -vt 0.153333 0.573333 -vt 0.153333 0.600000 -vt 0.166667 0.633333 -vt 0.153333 0.626667 -vt 0.153333 0.040000 -vt 0.166667 0.046667 -vt 0.153333 0.066667 -vt 0.153333 0.093333 -vt 0.153333 0.120000 -vt 0.166667 0.153333 -vt 0.153333 0.146667 -vt 0.193333 -0.000000 -vt 0.000000 0.333333 -vt 0.000000 0.066667 -vt 0.000000 0.546667 -vt 0.000000 0.280000 -vt 0.000000 0.386667 -vt 0.000000 0.120000 -vt 0.000000 0.600000 -vt 0.000000 0.440000 -vt 0.000000 0.173333 -vt 0.000000 0.013333 -vt 0.000000 0.493333 -vt 0.000000 0.226667 -vt 0.646667 0.266667 -vt 0.486667 0.240000 -vt 0.646667 0.240000 -vt 0.646667 0.133333 -vt 0.486667 0.106667 -vt 0.646667 0.106667 -vt 0.646667 0.186667 -vt 0.486667 0.160000 -vt 0.646667 0.160000 -vt 0.646667 0.053333 -vt 0.486667 0.026667 -vt 0.646667 0.026667 -vt 0.646667 0.293333 -vt 0.486667 0.266667 -vt 0.486667 0.133333 -vt 0.646667 0.213333 -vt 0.486667 0.186667 -vt 0.646667 0.080000 -vt 0.486667 0.053333 -vt 0.646667 0.320000 -vt 0.486667 0.293333 -vt 0.486667 0.213333 -vt 0.486667 0.080000 -vt 0.486667 -0.000000 -vt 0.646667 0.000000 -vt 0.746667 0.306667 -vt 0.720000 0.266667 -vt 0.746667 0.280000 -vt 0.850000 0.973333 -vt 0.823333 0.946667 -vt 0.850000 0.946667 -vt 0.823333 0.920000 -vt 0.850000 0.920000 -vt 0.773333 0.293333 -vt 0.700000 0.320000 -vt 0.720000 0.320000 -vt 0.850000 0.760000 -vt 0.823333 0.780000 -vt 0.823333 0.760000 -vt 0.850000 0.840000 -vt 0.823333 0.860000 -vt 0.823333 0.840000 -vt 0.850000 0.680000 -vt 0.823333 0.653333 -vt 0.850000 0.653333 -vt 0.773333 0.240000 -vt 0.746667 0.253333 -vt 0.746667 0.226667 -vt 0.700000 0.266667 -vt 0.720000 0.213333 -vt 0.850000 0.813333 -vt 0.823333 0.833333 -vt 0.823333 0.813333 -vt 0.850000 0.786667 -vt 0.823333 0.806667 -vt 0.823333 0.786667 -vt 0.773333 0.186667 -vt 0.746667 0.200000 -vt 0.746667 0.173333 -vt 0.700000 0.213333 -vt 0.720000 0.160000 -vt 0.850000 0.893333 -vt 0.823333 0.866667 -vt 0.850000 0.866667 -vt 0.773333 0.133333 -vt 0.746667 0.146667 -vt 0.746667 0.120000 -vt 0.700000 0.106667 -vt 0.720000 0.106667 -vt 0.983333 0.680000 -vt 0.983333 0.653333 -vt 0.983333 0.813333 -vt 0.983333 0.786667 -vt 0.983333 0.893333 -vt 0.983333 0.866667 -vt 0.773333 0.080000 -vt 0.746667 0.093333 -vt 0.746667 0.066667 -vt 0.720000 0.053333 -vt 0.983333 0.973333 -vt 0.983333 0.946667 -vt 0.983333 0.840000 -vt 0.983333 0.760000 -vt 0.773333 0.026667 -vt 0.746667 0.040000 -vt 0.746667 0.013333 -vt 0.700000 0.000000 -vt 0.720000 0.000000 -vt 0.983333 0.920000 -vt 0.850000 0.733333 -vt 0.983333 0.733333 -vt 0.700000 0.640000 -vt 0.720000 0.586667 -vt 0.720000 0.640000 -vt 0.850000 0.706667 -vt 0.983333 0.706667 -vt 0.746667 0.600000 -vt 0.746667 0.626667 -vt 0.773333 0.613333 -vt 0.823333 0.700000 -vt 0.823333 0.680000 -vt 0.746667 0.546667 -vt 0.746667 0.573333 -vt 0.773333 0.560000 -vt 0.700000 0.533333 -vt 0.720000 0.533333 -vt 0.746667 0.520000 -vt 0.720000 0.480000 -vt 0.746667 0.493333 -vt 0.700000 0.053333 -vt 0.646667 0.000000 -vt 0.700000 0.480000 -vt 0.646667 0.426667 -vt 0.700000 0.426667 -vt 0.773333 0.506667 -vt 0.700000 0.586667 -vt 0.646667 0.533333 -vt 0.746667 0.440000 -vt 0.746667 0.466667 -vt 0.646667 0.213333 -vt 0.646667 0.373333 -vt 0.700000 0.373333 -vt 0.773333 0.453333 -vt 0.720000 0.426667 -vt 0.646667 0.320000 -vt 0.746667 0.413333 -vt 0.720000 0.373333 -vt 0.746667 0.386667 -vt 0.646667 0.266667 -vt 0.700000 0.160000 -vt 0.646667 0.106667 -vt 0.773333 0.400000 -vt 0.646667 0.586667 -vt 0.746667 0.360000 -vt 0.746667 0.333333 -vt 0.646667 0.480000 -vt 0.646667 0.053333 -vt 0.773333 0.346667 -vt 0.646667 0.160000 -vt 0.823333 0.706667 -vt 0.823333 0.733333 -vt 0.823333 0.913333 -vt 0.823333 0.893333 -vt 0.820000 0.373333 -vt 0.840000 0.413333 -vt 0.820000 0.413333 -vt 0.793333 0.106667 -vt 0.773333 0.373333 -vt 0.773333 0.106667 -vt 0.906667 0.373333 -vt 0.933333 0.106667 -vt 0.933333 0.373333 -vt 0.793333 0.373333 -vt 0.820000 0.106667 -vt 0.886667 0.373333 -vt 0.840000 0.373333 -vt 0.906667 0.413333 -vt 0.793333 0.413333 -vt 0.906667 0.106667 -vt 0.953333 0.373333 -vt 1.000000 0.106667 -vt 1.000000 0.373333 -vt 0.953333 0.413333 -vt 0.953333 0.106667 -vt 0.933333 0.413333 -vt 0.560000 0.760000 -vt 0.600000 0.766667 -vt 0.560000 0.766667 -vt 0.560000 0.720000 -vt 0.600000 0.726667 -vt 0.560000 0.726667 -vt 0.560000 0.733333 -vt 0.600000 0.740000 -vt 0.560000 0.740000 -vt 0.560000 0.746667 -vt 0.600000 0.753333 -vt 0.560000 0.753333 -vt 0.600000 0.773333 -vt 0.560000 0.773333 -vt 0.600000 0.733333 -vt 0.600000 0.746667 -vt 0.600000 0.760000 -vt 0.646667 0.746667 -vt 0.646667 0.753333 -vt 0.646667 0.766667 -vt 0.646667 0.773333 -vt 0.646667 0.733333 -vt 0.646667 0.760000 -vt 0.600000 0.720000 -vt 0.646667 0.726667 -vt 0.646667 0.740000 -vt 0.793333 0.766667 -vt 0.646667 0.720000 -vt 0.793333 0.726667 -vt 0.793333 0.740000 -vt 0.793333 0.753333 -vt 0.793333 0.773333 -vt 0.793333 0.733333 -vt 0.793333 0.746667 -vt 0.793333 0.760000 -vt 0.560000 0.760000 -vt 0.600000 0.766667 -vt 0.560000 0.766667 -vt 0.560000 0.720000 -vt 0.600000 0.726667 -vt 0.560000 0.726667 -vt 0.560000 0.733333 -vt 0.600000 0.740000 -vt 0.560000 0.740000 -vt 0.560000 0.746667 -vt 0.600000 0.753333 -vt 0.560000 0.753333 -vt 0.600000 0.773333 -vt 0.560000 0.773333 -vt 0.600000 0.733333 -vt 0.600000 0.746667 -vt 0.600000 0.760000 -vt 0.646667 0.746667 -vt 0.646667 0.753333 -vt 0.646667 0.766667 -vt 0.646667 0.773333 -vt 0.646667 0.733333 -vt 0.646667 0.760000 -vt 0.600000 0.720000 -vt 0.646667 0.726667 -vt 0.646667 0.740000 -vt 0.793333 0.766667 -vt 0.646667 0.720000 -vt 0.793333 0.726667 -vt 0.793333 0.740000 -vt 0.793333 0.753333 -vt 0.793333 0.773333 -vt 0.793333 0.733333 -vt 0.793333 0.746667 -vt 0.793333 0.760000 -vt 0.506667 0.820000 -vt 0.533333 0.826667 -vt 0.506667 0.826667 -vt 0.506667 0.813333 -vt 0.533333 0.820000 -vt 0.506667 0.806667 -vt 0.533333 0.813333 -vt 0.506667 0.800000 -vt 0.533333 0.806667 -vt 0.533333 0.793333 -vt 0.506667 0.793333 -vt 0.533333 0.786667 -vt 0.506667 0.786667 -vt 0.533333 0.780000 -vt 0.506667 0.780000 -vt 0.613333 0.826667 -vt 0.653333 0.820000 -vt 0.640000 0.813333 -vt 0.653333 0.813333 -vt 0.653333 0.780000 -vt 0.640000 0.773333 -vt 0.653333 0.773333 -vt 0.653333 0.806667 -vt 0.640000 0.800000 -vt 0.653333 0.800000 -vt 0.653333 0.793333 -vt 0.640000 0.786667 -vt 0.653333 0.786667 -vt 0.653333 0.826667 -vt 0.640000 0.820000 -vt 0.640000 0.780000 -vt 0.640000 0.793333 -vt 0.640000 0.806667 -vt 0.613333 0.820000 -vt 0.613333 0.813333 -vt 0.533333 0.800000 -vt 0.613333 0.806667 -vt 0.613333 0.800000 -vt 0.613333 0.793333 -vt 0.613333 0.786667 -vt 0.640000 0.780000 -vt 0.640000 0.786667 -vt 0.640000 0.793333 -vt 0.493333 0.806667 -vt 0.506667 0.813333 -vt 0.493333 0.813333 -vt 0.493333 0.793333 -vt 0.506667 0.800000 -vt 0.493333 0.800000 -vt 0.493333 0.820000 -vt 0.506667 0.826667 -vt 0.493333 0.826667 -vt 0.493333 0.780000 -vt 0.506667 0.786667 -vt 0.493333 0.786667 -vt 0.506667 0.806667 -vt 0.506667 0.793333 -vt 0.493333 0.773333 -vt 0.506667 0.780000 -vt 0.506667 0.820000 -vt 0.640000 0.800000 -vt 0.640000 0.806667 -vt 0.640000 0.813333 -vt 0.640000 0.820000 -vt 0.640000 0.826667 -vt 0.613333 0.773333 -vt 0.640000 0.773333 -vt 0.533333 0.773333 -vt 0.613333 0.780000 -vt 0.506667 0.773333 -vt 0.493333 0.813333 -vt 0.493333 0.820000 -vt 0.493333 0.773333 -vt 0.493333 0.780000 -vt 0.493333 0.786667 -vt 0.493333 0.793333 -vt 0.493333 0.800000 -vt 0.493333 0.806667 -vt 0.493333 0.826667 -vt 0.653333 0.813333 -vt 0.653333 0.806667 -vt 0.653333 0.800000 -vt 0.653333 0.793333 -vt 0.653333 0.786667 -vt 0.653333 0.780000 -vt 0.653333 0.826667 -vt 0.653333 0.820000 -vt 0.653333 0.773333 -vt 0.533333 0.773333 -vt 0.506667 0.773333 -vt 0.613333 0.780000 -vt 0.533333 0.780000 -vt 0.613333 0.773333 -vt 0.613333 0.826667 -vt 0.640000 0.826667 -vt 0.613333 0.820000 -vt 0.613333 0.806667 -vt 0.613333 0.793333 -vt 0.613333 0.786667 -vt 0.533333 0.786667 -vt 0.533333 0.793333 -vt 0.613333 0.800000 -vt 0.533333 0.800000 -vt 0.533333 0.806667 -vt 0.613333 0.813333 -vt 0.533333 0.813333 -vt 0.533333 0.820000 -vt 0.533333 0.826667 -vt 0.026667 0.853333 -vt 0.020000 0.933333 -vt 0.020000 0.853333 -vt 0.013333 0.853333 -vt 0.006667 0.933333 -vt 0.006667 0.853333 -vt 0.053333 0.853333 -vt 0.046667 0.933333 -vt 0.046667 0.853333 -vt 0.033333 0.853333 -vt 0.026667 0.933333 -vt 0.013333 0.933333 -vt 0.000000 0.933333 -vt 0.000000 0.853333 -vt 0.040000 0.933333 -vt 0.040000 0.853333 -vt 0.033333 0.933333 -vt 0.093333 0.853333 -vt 0.086667 0.933333 -vt 0.086667 0.853333 -vt 0.100000 0.853333 -vt 0.093333 0.933333 -vt 0.060000 0.853333 -vt 0.053333 0.933333 -vt 0.053333 0.853333 -vt 0.073333 0.853333 -vt 0.066667 0.933333 -vt 0.066667 0.853333 -vt 0.080000 0.933333 -vt 0.080000 0.853333 -vt 0.106667 0.853333 -vt 0.100000 0.933333 -vt 0.060000 0.933333 -vt 0.073333 0.933333 -vt 0.026667 0.853333 -vt 0.020000 0.933333 -vt 0.020000 0.853333 -vt 0.013333 0.853333 -vt 0.006667 0.933333 -vt 0.006667 0.853333 -vt 0.053333 0.853333 -vt 0.046667 0.933333 -vt 0.046667 0.853333 -vt 0.033333 0.853333 -vt 0.026667 0.933333 -vt 0.013333 0.933333 -vt 0.000000 0.933333 -vt 0.000000 0.853333 -vt 0.040000 0.933333 -vt 0.040000 0.853333 -vt 0.033333 0.933333 -vt 0.506667 0.733333 -vt 0.560000 0.746667 -vt 0.506667 0.746667 -vt 0.506667 0.653333 -vt 0.560000 0.666667 -vt 0.506667 0.666667 -vt 0.506667 0.680000 -vt 0.560000 0.693333 -vt 0.506667 0.693333 -vt 0.506667 0.706667 -vt 0.560000 0.720000 -vt 0.506667 0.720000 -vt 0.560000 0.733333 -vt 0.506667 0.640000 -vt 0.560000 0.653333 -vt 0.560000 0.680000 -vt 0.560000 0.706667 -vt 0.506667 0.693333 -vt 0.560000 0.706667 -vt 0.506667 0.706667 -vt 0.506667 0.666667 -vt 0.560000 0.680000 -vt 0.506667 0.680000 -vt 0.506667 0.640000 -vt 0.560000 0.653333 -vt 0.506667 0.653333 -vt 0.506667 0.720000 -vt 0.560000 0.733333 -vt 0.506667 0.733333 -vt 0.560000 0.720000 -vt 0.560000 0.693333 -vt 0.560000 0.666667 -vt 0.560000 0.746667 -vt 0.506667 0.746667 -vt 0.793333 0.700000 -vt 0.813333 0.720000 -vt 0.793333 0.720000 -vt 0.793333 0.600000 -vt 0.813333 0.620000 -vt 0.793333 0.620000 -vt 0.793333 0.640000 -vt 0.813333 0.660000 -vt 0.793333 0.660000 -vt 0.793333 0.540000 -vt 0.813333 0.560000 -vt 0.793333 0.560000 -vt 0.813333 0.740000 -vt 0.793333 0.740000 -vt 0.813333 0.640000 -vt 0.813333 0.680000 -vt 0.793333 0.680000 -vt 0.813333 0.580000 -vt 0.793333 0.580000 -vt 0.813333 0.760000 -vt 0.793333 0.760000 -vt 0.813333 0.700000 -vt 0.813333 0.600000 -vt 0.793333 0.520000 -vt 0.813333 0.540000 -vt 0.823333 0.673333 -vt 0.823333 0.573333 -vt 0.823333 0.753333 -vt 0.823333 0.680000 -vt 0.823333 0.693333 -vt 0.823333 0.580000 -vt 0.823333 0.593333 -vt 0.813333 0.520000 -vt 0.823333 0.533333 -vt 0.823333 0.700000 -vt 0.823333 0.713333 -vt 0.823333 0.613333 -vt 0.823333 0.640000 -vt 0.823333 0.653333 -vt 0.823333 0.553333 -vt 0.823333 0.720000 -vt 0.823333 0.733333 -vt 0.823333 0.633333 -vt 0.653333 0.813333 -vt 0.786667 0.806667 -vt 0.786667 0.813333 -vt 0.653333 0.806667 -vt 0.786667 0.800000 -vt 0.653333 0.800000 -vt 0.786667 0.793333 -vt 0.653333 0.793333 -vt 0.653333 0.786667 -vt 0.786667 0.780000 -vt 0.653333 0.780000 -vt 0.786667 0.773333 -vt 0.653333 0.826667 -vt 0.786667 0.820000 -vt 0.786667 0.826667 -vt 0.653333 0.820000 -vt 0.486667 0.320000 -vt 0.166667 0.273333 -vt 0.166667 0.260000 -vt 0.166667 0.060000 -vt 0.166667 0.433333 -vt 0.166667 0.540000 -vt 0.153333 0.173333 -vt 0.153333 0.493333 -vt 0.153333 0.013333 -vt 0.000000 0.353333 -vt 0.000000 0.086667 -vt 0.000000 0.566667 -vt 0.000000 0.300000 -vt 0.000000 0.406667 -vt 0.000000 0.140000 -vt 0.000000 0.620000 -vt 0.000000 0.460000 -vt 0.000000 0.193333 -vt 0.000000 0.033333 -vt 0.000000 0.513333 -vt 0.000000 0.246667 -vt 0.486667 0.320000 -vt 0.823333 0.966667 -vt 0.823333 0.940000 -vt 0.823333 0.673333 -vt 0.823333 0.886667 -vt 0.646667 0.640000 -vt 0.823333 0.726667 -vt 0.823333 0.753333 -vt 0.886667 0.413333 -vt 1.000000 0.413333 -vt 0.773333 0.413333 -vt 0.793333 0.720000 -vt 0.793333 0.720000 -vt 0.053333 0.933333 -vt 0.106667 0.933333 -vt 0.053333 0.933333 -vt 0.560000 0.640000 -vt 0.560000 0.640000 -vt 0.823333 0.660000 -vt 0.823333 0.560000 -vt 0.823333 0.740000 -vt 0.823333 0.520000 -vt 0.823333 0.600000 -vt 0.823333 0.540000 -vt 0.823333 0.620000 -vt 0.653333 0.773333 -vn -0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 -0.8944 -0.4472 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.2747 0.9615 -vn 0.4472 -0.8944 0.0000 -vn 0.4472 0.0000 -0.8944 -vn 0.4472 0.8944 0.0000 -vn 0.4472 0.0000 0.8944 -vn 0.7071 -0.7071 0.0000 -vn 0.7071 0.7071 0.0000 -vn -0.7071 -0.7071 0.0000 -vn -0.7071 0.7071 0.0000 -vn -0.3162 0.0000 -0.9487 -vn -0.3162 0.0000 0.9487 -vn 0.7071 0.0000 -0.7071 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 0.7071 0.7071 -vn -0.7071 0.0000 -0.7071 -vn -0.0000 0.9918 0.1278 -vn 0.5000 0.8660 0.0000 -vn 0.4959 0.8589 0.1278 -vn 0.8660 0.5000 0.0000 -vn 0.8589 0.4959 0.1278 -vn 0.9918 -0.0000 0.1278 -vn 0.8660 -0.5000 0.0000 -vn 0.8589 -0.4959 0.1278 -vn 0.5000 -0.8660 -0.0000 -vn 0.4959 -0.8589 0.1278 -vn 0.0000 -0.9918 0.1278 -vn -0.5000 -0.8660 0.0000 -vn -0.4959 -0.8589 0.1278 -vn -0.8660 -0.5000 0.0000 -vn -0.8589 -0.4959 0.1278 -vn -0.9918 -0.0000 0.1278 -vn -0.8660 0.5000 0.0000 -vn -0.8589 0.4959 0.1278 -vn -0.5000 0.8660 0.0000 -vn -0.4959 0.8589 0.1278 -vn 0.0000 0.5309 0.8474 -vn 0.4380 0.7586 0.4823 -vn -0.0000 0.8760 0.4823 -vn 0.4598 0.2654 0.8474 -vn 0.7586 0.4380 0.4823 -vn 0.5309 0.0000 0.8474 -vn 0.8760 0.0000 0.4823 -vn 0.4598 -0.2655 0.8474 -vn 0.7586 -0.4380 0.4823 -vn 0.4380 -0.7586 0.4823 -vn -0.4380 0.7586 0.4823 -vn -0.7586 0.4380 0.4823 -vn -0.2654 0.4598 0.8474 -vn -0.5309 0.0000 0.8474 -vn -0.8760 -0.0000 0.4823 -vn -0.4598 -0.2654 0.8474 -vn -0.2654 -0.4598 0.8474 -vn -0.7586 -0.4380 0.4823 -vn -0.4380 -0.7586 0.4823 -vn 0.0000 -0.8760 0.4823 -vn -0.0000 -0.5309 0.8474 -vn 0.2241 0.1294 0.9659 -vn 0.1294 0.2241 0.9659 -vn -0.0000 0.2588 0.9659 -vn -0.1294 0.2241 0.9659 -vn -0.4598 0.2654 0.8474 -vn -0.2241 0.1294 0.9659 -vn -0.2588 0.0000 0.9659 -vn -0.2241 -0.1294 0.9659 -vn -0.1294 -0.2241 0.9659 -vn 0.0000 -0.2588 0.9659 -vn 0.1294 -0.2241 0.9659 -vn 0.2655 -0.4598 0.8474 -vn 0.2241 -0.1294 0.9659 -vn 0.2588 0.0000 0.9659 -vn 0.0000 0.4383 -0.8988 -vn 0.4103 0.7106 -0.5716 -vn 0.2191 0.3796 -0.8988 -vn 0.0000 -0.9701 0.2425 -vn -0.4851 -0.8402 0.2425 -vn -0.8402 -0.4851 0.2425 -vn 0.0000 0.9861 -0.1662 -vn 0.0000 0.8205 -0.5716 -vn 0.8402 0.4851 0.2425 -vn 0.4851 0.8402 0.2425 -vn -0.4851 0.8402 0.2425 -vn -0.8402 0.4851 0.2425 -vn 0.4851 -0.8402 0.2425 -vn 0.3796 0.2191 -0.8988 -vn 0.4930 0.8540 -0.1662 -vn 0.7106 0.4103 -0.5716 -vn -0.0000 0.9701 0.2425 -vn 0.4383 0.0000 -0.8988 -vn 0.8540 0.4930 -0.1662 -vn 0.8205 0.0000 -0.5716 -vn -0.9701 -0.0000 0.2425 -vn 0.3796 -0.2191 -0.8988 -vn 0.8540 -0.4930 -0.1662 -vn 0.7106 -0.4103 -0.5716 -vn 0.2191 -0.3796 -0.8988 -vn 0.4103 -0.7106 -0.5716 -vn -0.0000 -0.4383 -0.8988 -vn 0.0000 -0.9861 -0.1662 -vn 0.0000 -0.8205 -0.5716 -vn -0.4103 -0.7106 -0.5716 -vn -0.2191 -0.3796 -0.8988 -vn 0.8402 -0.4851 0.2425 -vn -0.3796 -0.2191 -0.8988 -vn -0.8540 -0.4930 -0.1662 -vn -0.7106 -0.4103 -0.5716 -vn -0.8205 0.0000 -0.5716 -vn -0.4383 0.0000 -0.8988 -vn 0.4930 -0.8540 -0.1662 -vn -0.9861 0.0000 -0.1662 -vn -0.8540 0.4930 -0.1662 -vn -0.4930 -0.8540 -0.1662 -vn -0.3796 0.2191 -0.8988 -vn -0.4930 0.8540 -0.1662 -vn -0.7106 0.4103 -0.5716 -vn -0.4103 0.7106 -0.5716 -vn -0.2191 0.3796 -0.8988 -vn 0.9861 0.0000 -0.1662 -vn 0.9701 -0.0000 0.2425 -vn 0.3735 -0.0899 0.9233 -vn 0.9239 0.0000 0.3827 -vn 0.3827 0.0000 0.9239 -vn -0.3941 -0.1802 0.9012 -vn -0.9147 -0.0417 0.4019 -vn -0.9382 -0.0679 0.3394 -vn 0.3902 0.0926 -0.9161 -vn -0.3606 0.1829 -0.9146 -vn -0.3902 0.0926 -0.9161 -vn -0.3735 -0.0899 0.9233 -vn 0.3941 -0.1802 0.9012 -vn 0.9319 0.0343 -0.3612 -vn 0.9147 -0.0417 0.4019 -vn 0.3827 0.0000 -0.9239 -vn -0.3827 0.0000 0.9239 -vn 0.9382 -0.0679 0.3394 -vn 0.9033 0.0841 -0.4207 -vn 0.3606 0.1829 -0.9146 -vn -0.9319 0.0343 -0.3612 -vn -0.9239 0.0000 -0.3827 -vn -0.9033 0.0841 -0.4207 -vn -0.3827 0.0000 -0.9239 -vn 0.6724 0.7267 -0.1405 -vn 0.6724 -0.7267 -0.1405 -vn -0.7193 -0.6784 0.1495 -vn -0.7193 0.6784 0.1495 -vn 0.9774 0.0000 -0.2114 -vn -0.0487 -0.9986 0.0209 -vn -0.9814 -0.0000 0.1920 -vn -0.0487 0.9986 0.0209 -vn -0.9774 0.0000 0.2114 -vn -0.6724 0.7267 0.1405 -vn 0.7193 0.6784 -0.1495 -vn 0.9814 -0.0000 -0.1920 -vn 0.0487 -0.9986 -0.0209 -vn 0.0487 0.9986 -0.0209 -vn 0.7193 -0.6784 -0.1495 -vn -0.6724 -0.7267 0.1405 -vn 0.6233 -0.2820 -0.7294 -vn 0.4202 -0.9074 -0.0000 -vn 0.9074 -0.4202 0.0000 -vn -0.0899 0.0899 -0.9919 -vn 0.2820 -0.6233 -0.7294 -vn -0.7023 0.3032 -0.6441 -vn -0.9356 0.3532 0.0000 -vn -0.3032 0.7023 -0.6441 -vn -0.3032 0.7023 0.6441 -vn -0.7023 0.3032 0.6441 -vn -0.0899 0.0899 0.9919 -vn 0.2820 -0.6233 0.7294 -vn 0.6233 -0.2820 0.7294 -vn -0.4202 -0.9074 0.0000 -vn 0.0899 0.0899 -0.9919 -vn -0.7071 0.0000 0.7071 -vn -0.9074 -0.4202 -0.0000 -vn 0.9356 0.3532 -0.0000 -vn 0.7071 0.0000 0.7071 -vn 0.0899 0.0899 0.9919 -vn -0.6233 -0.2820 -0.7294 -vn -0.6233 -0.2820 0.7294 -vn 0.7023 0.3032 0.6441 -vn 0.7023 0.3032 -0.6441 -vn -0.2820 -0.6233 -0.7294 -vn -0.3532 0.9356 -0.0000 -vn 0.3032 0.7023 -0.6441 -vn 0.3532 0.9356 0.0000 -vn 0.3032 0.7023 0.6441 -vn -0.2820 -0.6233 0.7294 -vn 0.2774 -0.4804 -0.8321 -vn 0.4804 -0.2774 -0.8321 -vn -0.4804 0.2774 -0.8321 -vn -0.5547 0.0000 -0.8321 -vn 0.2774 0.4804 -0.8321 -vn -0.0000 0.5547 -0.8321 -vn 0.5547 0.0000 -0.8321 -vn 0.5547 -0.0000 -0.8320 -vn -0.4804 -0.2774 -0.8321 -vn -0.4804 -0.2773 -0.8321 -vn -0.2774 0.4804 -0.8321 -vn -0.2773 0.4804 -0.8321 -vn 0.4804 0.2774 -0.8321 -vn -0.2774 -0.4804 -0.8321 -vn -0.2774 -0.4804 -0.8320 -vn -0.0000 -0.5547 -0.8321 -vn 0.0000 0.7071 -0.7071 -vn 0.2655 0.4598 0.8474 -vn 0.9239 0.0000 -0.3827 -vn -0.9239 0.0000 0.3827 -s off -f 3/1/1 171/2/1 170/3/1 -f 42/4/1 78/5/1 77/6/1 -f 44/7/1 77/8/1 76/9/1 -f 46/10/1 76/11/1 75/12/1 -f 48/13/1 75/14/1 74/15/1 -f 26/16/1 74/17/1 73/18/1 -f 28/19/1 73/20/1 84/21/1 -f 30/22/1 84/23/1 83/24/1 -f 32/25/1 83/26/1 82/27/1 -f 34/28/1 82/29/1 81/30/1 -f 36/31/1 81/32/1 80/33/1 -f 36/34/1 79/35/1 38/36/1 -f 40/37/1 79/38/1 78/39/1 -f 96/40/1 121/41/1 132/42/1 -f 95/43/1 132/42/1 131/44/1 -f 95/45/1 130/46/1 94/47/1 -f 93/48/1 130/46/1 129/49/1 -f 92/50/1 129/49/1 128/51/1 -f 91/52/1 128/51/1 127/53/1 -f 91/54/1 126/55/1 90/56/1 -f 90/57/1 125/58/1 89/59/1 -f 89/60/1 124/61/1 88/62/1 -f 88/63/1 123/64/1 87/65/1 -f 87/66/1 122/67/1 86/68/1 -f 86/69/1 121/41/1 85/70/1 -f 142/71/2 107/72/2 106/73/2 -f 143/74/2 108/75/2 107/76/2 -f 108/77/2 133/78/2 97/79/2 -f 133/78/2 98/80/2 97/81/2 -f 134/82/2 99/83/2 98/84/2 -f 135/85/2 100/86/2 99/87/2 -f 136/88/2 101/89/2 100/90/2 -f 137/91/2 102/92/2 101/93/2 -f 138/94/2 103/95/2 102/96/2 -f 103/97/2 140/98/2 104/99/2 -f 104/100/2 141/101/2 105/102/2 -f 105/103/2 142/71/2 106/104/2 -f 116/105/2 151/106/2 115/107/2 -f 113/108/2 148/109/2 112/110/2 -f 119/111/2 156/112/2 155/113/2 -f 110/114/2 145/115/2 109/116/2 -f 117/117/2 152/118/2 116/119/2 -f 114/120/2 149/121/2 113/122/2 -f 109/123/2 156/124/2 120/125/2 -f 111/126/2 146/127/2 110/128/2 -f 117/129/2 154/130/2 153/131/2 -f 115/132/2 150/133/2 114/134/2 -f 112/135/2 147/136/2 111/137/2 -f 119/138/2 154/139/2 118/140/2 -f 167/141/2 157/142/2 161/143/2 -f 19/144/1 179/145/1 178/146/1 -f 19/144/1 177/147/1 17/148/1 -f 17/148/1 176/149/1 15/150/1 -f 13/151/1 176/152/1 175/153/1 -f 11/154/1 175/155/1 174/156/1 -f 11/154/1 173/157/1 9/158/1 -f 7/159/1 173/160/1 172/161/1 -f 23/162/1 169/163/1 180/164/1 -f 1/165/1 170/166/1 169/167/1 -f 7/159/1 171/168/1 5/169/1 -f 23/162/1 179/170/1 21/171/1 -f 190/172/1 192/173/1 184/174/1 -f 214/175/2 228/176/2 243/177/2 -f 224/178/1 210/179/1 201/180/1 -f 259/181/2 266/182/2 273/183/2 -f 292/184/3 284/185/3 299/186/3 -f 313/187/3 310/188/3 311/189/3 -f 307/190/4 308/191/4 306/192/4 -f 304/193/5 309/194/5 305/195/5 -f 303/196/2 306/192/2 302/197/2 -f 305/198/6 307/190/6 303/199/6 -f 304/200/7 306/192/7 308/191/7 -f 315/201/8 312/202/8 313/187/8 -f 312/202/7 314/203/7 310/188/7 -f 313/187/6 311/189/6 315/204/6 -f 320/205/7 322/206/7 321/207/7 -f 317/208/3 323/209/3 319/210/3 -f 318/211/4 321/207/4 316/212/4 -f 319/213/1 320/205/1 318/214/1 -f 316/215/2 322/206/2 317/216/2 -f 388/217/2 391/218/2 389/219/2 -f 395/220/1 392/221/1 393/222/1 -f 388/223/4 394/224/4 390/225/4 -f 401/226/9 399/227/9 403/228/9 -f 391/229/3 393/230/3 389/231/3 -f 388/223/6 398/232/6 392/233/6 -f 392/221/6 399/234/6 393/222/6 -f 389/219/6 396/235/6 388/217/6 -f 393/230/6 397/236/6 389/231/6 -f 401/226/6 402/237/6 400/238/6 -f 403/228/10 398/239/10 402/237/10 -f 402/237/11 396/240/11 400/238/11 -f 400/238/12 397/241/12 401/226/12 -f 506/242/13 500/243/13 507/244/13 -f 510/245/14 514/246/14 512/247/14 -f 505/248/14 500/243/14 503/249/14 -f 502/250/15 506/242/15 504/251/15 -f 513/252/15 508/253/15 511/254/15 -f 514/246/16 508/253/16 515/255/16 -f 522/256/15 516/257/15 523/258/15 -f 526/259/13 530/260/13 528/261/13 -f 521/262/13 516/257/13 519/263/13 -f 518/264/16 522/256/16 520/265/16 -f 529/266/16 524/267/16 527/268/16 -f 530/260/14 524/267/14 531/269/14 -f 540/270/4 542/271/4 544/272/4 -f 555/273/4 553/274/4 551/275/4 -f 572/276/4 574/277/4 576/278/4 -f 624/279/7 626/280/7 625/281/7 -f 616/282/7 618/283/7 617/284/7 -f 612/285/4 616/282/4 617/284/4 -f 615/286/17 616/282/17 614/287/17 -f 612/288/2 618/283/2 613/289/2 -f 613/290/3 619/291/3 615/292/3 -f 622/293/4 625/281/4 620/294/4 -f 623/295/1 624/279/1 622/296/1 -f 620/297/18 626/280/18 621/298/18 -f 623/299/3 626/280/3 627/300/3 -f 656/301/7 658/302/7 657/303/7 -f 653/304/3 659/305/3 655/306/3 -f 654/307/4 657/303/4 652/308/4 -f 664/309/1 662/310/1 670/311/1 -f 652/312/2 658/302/2 653/313/2 -f 685/314/7 681/315/7 677/316/7 -f 682/317/6 684/318/6 686/319/6 -f 688/320/3 692/321/3 696/322/3 -f 697/323/19 692/324/19 694/325/19 -f 690/326/4 693/327/4 697/323/4 -f 694/325/1 688/328/1 689/329/1 -f 691/330/2 693/331/2 690/332/2 -f 707/333/2 709/334/2 704/335/2 -f 699/336/3 695/337/3 696/322/3 -f 699/338/6 697/323/6 711/339/6 -f 693/340/7 698/341/7 708/342/7 -f 702/343/6 699/338/6 707/333/6 -f 693/327/4 711/339/4 697/323/4 -f 705/344/7 704/345/7 701/346/7 -f 706/347/3 700/348/3 703/349/3 -f 701/350/20 703/349/20 700/348/20 -f 705/351/21 707/352/21 704/353/21 -f 702/343/1 698/354/1 699/338/1 -f 711/355/22 709/334/22 710/356/22 -f 711/339/6 710/356/6 699/338/6 -f 709/357/7 708/342/7 698/341/7 -f 712/358/3 719/359/3 715/360/3 -f 715/360/21 718/361/21 714/362/21 -f 713/363/20 716/364/20 712/358/20 -f 713/363/1 722/365/1 717/366/1 -f 718/361/2 721/367/2 714/362/2 -f 721/368/7 720/369/7 713/370/7 -f 718/371/6 719/359/6 716/364/6 -f 732/372/3 724/373/3 727/374/3 -f 728/375/23 733/376/23 730/377/23 -f 733/376/4 726/378/4 725/379/4 -f 724/380/1 730/377/1 725/381/1 -f 729/382/2 727/383/2 726/384/2 -f 745/385/2 743/386/2 740/387/2 -f 731/388/3 735/389/3 732/372/3 -f 735/390/7 733/376/7 732/391/7 -f 734/392/6 729/393/6 744/394/6 -f 739/395/7 742/396/7 743/386/7 -f 729/397/4 747/398/4 744/399/4 -f 741/400/6 736/401/6 737/402/6 -f 736/403/3 742/396/3 739/395/3 -f 739/395/20 737/404/20 736/403/20 -f 743/405/21 741/406/21 740/407/21 -f 734/408/1 738/409/1 735/390/1 -f 745/385/22 747/410/22 746/411/22 -f 747/398/7 735/390/7 746/411/7 -f 745/412/6 734/392/6 744/394/6 -f 3/1/1 5/169/1 171/2/1 -f 42/4/1 40/413/1 78/5/1 -f 44/7/1 42/414/1 77/8/1 -f 46/10/1 44/415/1 76/11/1 -f 48/13/1 46/416/1 75/14/1 -f 26/16/1 48/417/1 74/17/1 -f 28/19/1 26/418/1 73/20/1 -f 30/22/1 28/419/1 84/23/1 -f 32/25/1 30/420/1 83/26/1 -f 34/28/1 32/421/1 82/29/1 -f 36/31/1 34/422/1 81/32/1 -f 36/34/1 80/423/1 79/35/1 -f 40/37/1 38/424/1 79/38/1 -f 96/40/1 85/425/1 121/41/1 -f 95/43/1 96/426/1 132/42/1 -f 95/45/1 131/44/1 130/46/1 -f 93/48/1 94/427/1 130/46/1 -f 92/50/1 93/428/1 129/49/1 -f 91/52/1 92/429/1 128/51/1 -f 91/54/1 127/430/1 126/55/1 -f 90/57/1 126/55/1 125/58/1 -f 89/60/1 125/58/1 124/61/1 -f 88/63/1 124/61/1 123/64/1 -f 87/66/1 123/64/1 122/67/1 -f 86/69/1 122/67/1 121/41/1 -f 142/71/2 143/74/2 107/72/2 -f 143/74/2 144/431/2 108/75/2 -f 108/77/2 144/431/2 133/78/2 -f 133/78/2 134/82/2 98/80/2 -f 134/82/2 135/85/2 99/83/2 -f 135/85/2 136/88/2 100/86/2 -f 136/88/2 137/91/2 101/89/2 -f 137/91/2 138/94/2 102/92/2 -f 138/94/2 139/432/2 103/95/2 -f 103/97/2 139/433/2 140/98/2 -f 104/100/2 140/98/2 141/101/2 -f 105/103/2 141/101/2 142/71/2 -f 116/105/2 152/434/2 151/106/2 -f 113/108/2 149/435/2 148/109/2 -f 119/111/2 120/436/2 156/112/2 -f 110/114/2 146/437/2 145/115/2 -f 117/117/2 153/438/2 152/118/2 -f 114/120/2 150/439/2 149/121/2 -f 109/123/2 145/440/2 156/124/2 -f 111/126/2 147/441/2 146/127/2 -f 117/129/2 118/442/2 154/130/2 -f 115/132/2 151/443/2 150/133/2 -f 112/135/2 148/444/2 147/136/2 -f 119/138/2 155/445/2 154/139/2 -f 157/142/2 158/446/2 161/143/2 -f 158/446/2 159/447/2 161/143/2 -f 159/447/2 160/448/2 161/143/2 -f 161/143/2 162/449/2 163/450/2 -f 163/450/2 164/451/2 161/143/2 -f 164/451/2 165/452/2 161/143/2 -f 165/452/2 166/453/2 167/141/2 -f 167/141/2 168/454/2 157/142/2 -f 165/452/2 167/141/2 161/143/2 -f 19/144/1 21/171/1 179/145/1 -f 19/144/1 178/455/1 177/147/1 -f 17/148/1 177/456/1 176/149/1 -f 13/151/1 15/150/1 176/152/1 -f 11/154/1 13/457/1 175/155/1 -f 11/154/1 174/458/1 173/157/1 -f 7/159/1 9/158/1 173/160/1 -f 23/162/1 1/165/1 169/163/1 -f 1/165/1 3/1/1 170/166/1 -f 7/159/1 172/459/1 171/168/1 -f 23/162/1 180/460/1 179/170/1 -f 192/173/1 181/461/1 184/174/1 -f 181/461/1 182/462/1 184/174/1 -f 182/462/1 183/463/1 184/174/1 -f 184/174/1 185/464/1 188/465/1 -f 185/464/1 186/466/1 188/465/1 -f 186/466/1 187/467/1 188/465/1 -f 188/465/1 189/468/1 190/172/1 -f 190/172/1 191/469/1 192/173/1 -f 188/465/1 190/172/1 184/174/1 -f 243/177/2 200/470/2 207/471/2 -f 207/471/2 208/472/2 214/175/2 -f 214/175/2 215/473/2 221/474/2 -f 221/474/2 222/475/2 214/175/2 -f 222/475/2 228/176/2 214/175/2 -f 228/176/2 229/476/2 236/477/2 -f 236/477/2 242/478/2 243/177/2 -f 243/177/2 207/471/2 214/175/2 -f 228/176/2 236/477/2 243/177/2 -f 201/180/1 196/479/1 224/178/1 -f 196/479/1 231/480/1 224/178/1 -f 231/480/1 230/481/1 224/178/1 -f 224/178/1 223/482/1 217/483/1 -f 217/483/1 216/484/1 224/178/1 -f 216/484/1 210/179/1 224/178/1 -f 210/179/1 209/485/1 203/486/1 -f 203/486/1 202/487/1 210/179/1 -f 202/487/1 201/180/1 210/179/1 -f 273/183/2 237/488/2 238/489/2 -f 238/489/2 244/490/2 245/491/2 -f 245/491/2 251/492/2 259/181/2 -f 251/492/2 252/493/2 259/181/2 -f 252/493/2 258/494/2 259/181/2 -f 259/181/2 265/495/2 266/182/2 -f 266/182/2 272/496/2 273/183/2 -f 273/183/2 238/489/2 259/181/2 -f 238/489/2 245/491/2 259/181/2 -f 284/185/3 283/497/3 299/186/3 -f 299/186/3 298/498/3 293/499/3 -f 298/498/3 282/500/3 293/499/3 -f 282/500/3 285/501/3 293/499/3 -f 293/499/3 292/184/3 299/186/3 -f 313/187/3 312/202/3 310/188/3 -f 307/190/4 309/194/4 308/191/4 -f 304/193/5 308/191/5 309/194/5 -f 303/196/2 307/190/2 306/192/2 -f 305/198/6 309/194/6 307/190/6 -f 304/200/7 302/502/7 306/192/7 -f 315/201/8 314/503/8 312/202/8 -f 320/205/7 323/209/7 322/206/7 -f 317/208/3 322/206/3 323/209/3 -f 318/211/4 320/205/4 321/207/4 -f 319/213/1 323/209/1 320/205/1 -f 316/215/2 321/207/2 322/206/2 -f 388/217/2 390/504/2 391/218/2 -f 395/220/1 394/505/1 392/221/1 -f 388/223/4 392/233/4 394/224/4 -f 401/226/9 397/236/9 399/227/9 -f 391/229/3 395/506/3 393/230/3 -f 388/223/6 396/240/6 398/232/6 -f 392/221/6 398/239/6 399/234/6 -f 389/219/6 397/241/6 396/235/6 -f 393/230/6 399/227/6 397/236/6 -f 401/226/6 403/228/6 402/237/6 -f 403/228/10 399/234/10 398/239/10 -f 402/237/11 398/232/11 396/240/11 -f 400/238/12 396/235/12 397/241/12 -f 506/242/13 501/507/13 500/243/13 -f 510/245/14 509/508/14 514/246/14 -f 505/248/14 507/244/14 500/243/14 -f 502/250/15 501/507/15 506/242/15 -f 513/252/15 515/255/15 508/253/15 -f 514/246/16 509/508/16 508/253/16 -f 522/256/15 517/509/15 516/257/15 -f 526/259/13 525/510/13 530/260/13 -f 521/262/13 523/258/13 516/257/13 -f 518/264/16 517/509/16 522/256/16 -f 529/266/16 531/269/16 524/267/16 -f 530/260/14 525/510/14 524/267/14 -f 540/270/4 541/511/4 542/271/4 -f 542/271/4 543/512/4 544/272/4 -f 544/272/4 545/513/4 546/514/4 -f 546/514/4 547/515/4 544/272/4 -f 547/515/4 540/270/4 544/272/4 -f 555/273/4 554/516/4 553/274/4 -f 553/274/4 552/517/4 551/275/4 -f 551/275/4 550/518/4 549/519/4 -f 549/519/4 548/520/4 551/275/4 -f 548/520/4 555/273/4 551/275/4 -f 572/276/4 573/521/4 574/277/4 -f 574/277/4 575/522/4 576/278/4 -f 576/278/4 577/523/4 578/524/4 -f 578/524/4 579/525/4 576/278/4 -f 579/525/4 572/276/4 576/278/4 -f 624/279/7 627/300/7 626/280/7 -f 616/282/7 619/291/7 618/283/7 -f 612/285/4 614/526/4 616/282/4 -f 615/286/17 619/291/17 616/282/17 -f 612/288/2 617/284/2 618/283/2 -f 613/290/3 618/283/3 619/291/3 -f 622/293/4 624/279/4 625/281/4 -f 623/295/1 627/300/1 624/279/1 -f 620/297/18 625/281/18 626/280/18 -f 623/299/3 621/527/3 626/280/3 -f 656/301/7 659/305/7 658/302/7 -f 653/304/3 658/302/3 659/305/3 -f 654/307/4 656/301/4 657/303/4 -f 662/310/1 660/528/1 670/311/1 -f 660/528/1 661/529/1 670/311/1 -f 661/529/1 671/530/1 670/311/1 -f 670/311/1 669/531/1 668/532/1 -f 668/532/1 667/533/1 670/311/1 -f 667/533/1 666/534/1 670/311/1 -f 666/534/1 665/535/1 664/309/1 -f 664/309/1 663/536/1 662/310/1 -f 666/534/1 664/309/1 670/311/1 -f 652/312/2 657/303/2 658/302/2 -f 677/316/7 675/537/7 673/538/7 -f 673/538/7 687/539/7 685/314/7 -f 685/314/7 683/540/7 681/315/7 -f 681/315/7 679/541/7 677/316/7 -f 677/316/7 673/538/7 685/314/7 -f 686/319/6 672/542/6 674/543/6 -f 674/543/6 676/544/6 686/319/6 -f 676/544/6 678/545/6 686/319/6 -f 678/545/6 680/546/6 686/319/6 -f 680/546/6 682/317/6 686/319/6 -f 696/322/3 695/337/3 691/547/3 -f 691/547/3 688/320/3 696/322/3 -f 697/323/19 696/548/19 692/324/19 -f 697/323/4 694/549/4 689/550/4 -f 689/550/4 690/326/4 697/323/4 -f 694/325/1 692/324/1 688/328/1 -f 691/330/2 695/551/2 693/331/2 -f 707/333/2 710/356/2 709/334/2 -f 699/336/3 698/552/3 695/337/3 -f 699/338/6 696/548/6 697/323/6 -f 693/340/7 695/553/7 698/341/7 -f 699/338/6 710/356/6 707/333/6 -f 707/333/6 706/347/6 703/349/6 -f 703/349/6 702/343/6 707/333/6 -f 693/327/4 708/554/4 711/339/4 -f 709/357/7 698/341/7 704/345/7 -f 698/341/7 701/346/7 704/345/7 -f 701/346/7 700/555/7 705/344/7 -f 706/347/3 705/351/3 700/348/3 -f 701/350/20 702/556/20 703/349/20 -f 705/351/21 706/347/21 707/352/21 -f 702/343/1 701/557/1 698/354/1 -f 711/355/22 708/558/22 709/334/22 -f 712/358/3 716/364/3 719/359/3 -f 715/360/21 719/359/21 718/361/21 -f 713/363/20 717/366/20 716/364/20 -f 713/363/1 720/559/1 722/365/1 -f 718/361/2 723/560/2 721/367/2 -f 713/370/7 712/358/7 715/360/7 -f 715/360/7 714/561/7 713/370/7 -f 714/561/7 721/368/7 713/370/7 -f 716/364/6 717/562/6 718/371/6 -f 717/562/6 722/563/6 718/371/6 -f 722/563/6 723/564/6 718/371/6 -f 727/374/3 731/388/3 732/372/3 -f 732/372/3 728/565/3 724/373/3 -f 728/375/23 732/391/23 733/376/23 -f 725/379/4 730/566/4 733/376/4 -f 733/376/4 729/397/4 726/378/4 -f 724/380/1 728/375/1 730/377/1 -f 729/382/2 731/567/2 727/383/2 -f 745/385/2 746/411/2 743/386/2 -f 731/388/3 734/568/3 735/389/3 -f 735/390/7 747/398/7 733/376/7 -f 734/392/6 731/569/6 729/393/6 -f 743/386/7 746/411/7 735/390/7 -f 735/390/7 738/409/7 743/386/7 -f 738/409/7 739/395/7 743/386/7 -f 729/397/4 733/376/4 747/398/4 -f 737/402/6 734/392/6 740/570/6 -f 734/392/6 745/412/6 740/570/6 -f 740/570/6 741/400/6 737/402/6 -f 736/403/3 741/406/3 742/396/3 -f 739/395/20 738/571/20 737/404/20 -f 743/405/21 742/396/21 741/406/21 -f 734/408/1 737/572/1 738/409/1 -f 745/385/22 744/573/22 747/410/22 -s 1 -f 2/574/24 3/1/25 1/165/4 -f 4/575/26 5/169/27 3/1/25 -f 6/576/28 7/159/6 5/169/27 -f 8/577/29 9/158/30 7/159/6 -f 10/578/31 11/154/32 9/158/30 -f 12/579/33 13/457/3 11/154/32 -f 14/580/34 15/150/35 13/151/3 -f 16/581/36 17/148/37 15/150/35 -f 18/582/38 19/144/7 17/148/37 -f 20/583/39 21/171/40 19/144/7 -f 22/584/41 23/162/42 21/171/40 -f 24/585/43 1/165/4 23/162/42 -f 26/586/4 27/587/25 25/588/4 -f 28/589/25 29/590/27 27/587/25 -f 30/591/27 31/592/6 29/590/27 -f 32/593/6 33/594/30 31/592/6 -f 34/595/30 35/596/32 33/594/30 -f 36/597/32 37/598/3 35/596/32 -f 38/599/3 39/600/35 37/601/3 -f 40/602/35 41/603/37 39/600/35 -f 42/604/37 43/605/7 41/603/37 -f 44/606/7 45/607/40 43/605/7 -f 46/608/40 47/609/42 45/607/40 -f 48/610/42 25/588/4 47/609/42 -f 50/611/44 57/612/45 49/613/46 -f 57/612/45 66/614/47 65/615/48 -f 65/615/48 54/616/49 53/617/50 -f 53/617/50 62/618/51 61/619/52 -f 62/620/51 69/621/53 61/619/52 -f 71/622/54 50/623/44 49/613/46 -f 63/624/55 72/625/56 71/622/54 -f 56/626/57 63/624/55 55/627/58 -f 55/627/58 68/628/59 56/629/57 -f 60/630/60 67/631/61 59/632/62 -f 51/633/63 60/634/60 59/632/62 -f 69/621/53 52/635/64 51/636/63 -f 29/637/65 54/616/49 66/638/47 -f 66/614/47 27/639/66 29/640/65 -f 27/641/66 50/611/44 25/642/67 -f 25/643/67 72/644/56 47/645/68 -f 47/646/68 64/647/69 45/648/70 -f 45/649/70 56/626/57 43/650/71 -f 41/651/72 56/629/57 68/628/59 -f 41/652/72 60/630/60 39/653/73 -f 39/654/73 52/655/64 37/656/74 -f 35/657/75 52/635/64 70/658/76 -f 35/659/75 62/620/51 33/660/77 -f 33/661/77 54/662/49 31/663/78 -f 65/615/48 8/577/29 6/576/28 -f 6/576/28 57/612/45 65/615/48 -f 2/574/24 57/612/45 4/575/26 -f 71/622/54 2/574/24 24/585/43 -f 24/585/43 63/624/55 71/622/54 -f 22/584/41 55/627/58 63/624/55 -f 67/631/61 20/583/39 18/582/38 -f 18/582/38 59/632/62 67/631/61 -f 14/580/34 59/632/62 16/581/36 -f 69/621/53 14/664/34 12/579/33 -f 12/579/33 61/619/52 69/621/53 -f 8/577/29 61/619/52 10/578/31 -f 82/29/6 93/48/30 81/30/30 -f 79/38/3 90/56/35 78/39/35 -f 76/11/7 87/65/40 75/12/40 -f 83/26/27 94/47/6 82/27/6 -f 80/423/32 91/52/3 79/35/3 -f 77/8/37 88/62/7 76/9/7 -f 84/23/25 95/43/27 83/24/27 -f 74/17/42 85/70/4 73/18/4 -f 81/32/30 92/50/32 80/33/32 -f 78/5/35 89/59/37 77/6/37 -f 73/20/4 96/40/25 84/21/25 -f 75/14/40 86/68/42 74/15/42 -f 97/79/4 120/125/25 108/77/25 -f 99/83/40 110/128/42 98/84/42 -f 106/104/6 117/129/30 105/103/30 -f 103/95/3 114/134/35 102/96/35 -f 100/86/7 111/137/40 99/87/40 -f 107/72/27 118/140/6 106/73/6 -f 104/99/32 115/107/3 103/97/3 -f 101/89/37 112/110/7 100/90/7 -f 108/75/25 119/111/27 107/76/27 -f 98/80/42 109/116/4 97/81/4 -f 105/102/30 116/119/32 104/100/32 -f 102/92/35 113/122/37 101/93/37 -f 131/44/27 142/71/6 130/46/6 -f 128/51/32 139/433/3 127/53/3 -f 125/58/37 136/88/7 124/61/7 -f 132/42/25 143/74/27 131/44/27 -f 122/67/42 133/78/4 121/41/4 -f 129/49/30 140/98/32 128/51/32 -f 126/55/35 137/91/37 125/58/37 -f 121/41/4 144/431/25 132/42/25 -f 123/64/40 134/82/42 122/67/42 -f 130/46/6 141/101/30 129/49/30 -f 127/430/3 138/94/35 126/55/35 -f 124/61/7 135/85/40 123/64/40 -f 146/437/32 157/665/3 145/115/3 -f 153/438/40 164/666/42 152/118/42 -f 150/439/25 161/667/27 149/121/27 -f 145/440/3 168/668/35 156/124/35 -f 147/441/30 158/669/32 146/127/32 -f 154/130/7 165/670/40 153/131/40 -f 151/443/4 162/671/25 150/133/25 -f 148/444/6 159/672/30 147/136/30 -f 155/445/37 166/673/7 154/139/7 -f 152/434/42 163/674/4 151/106/4 -f 149/435/27 160/675/6 148/109/6 -f 156/112/35 167/676/37 155/113/37 -f 173/677/40 184/678/7 172/679/7 -f 180/680/32 191/681/30 179/682/30 -f 170/683/35 181/684/3 169/685/3 -f 177/686/27 188/687/25 176/688/25 -f 174/689/42 185/690/40 173/677/40 -f 169/685/3 192/691/32 180/680/32 -f 171/692/37 182/693/35 170/683/35 -f 178/694/6 189/695/27 177/686/27 -f 175/696/4 186/697/42 174/689/42 -f 172/679/7 183/698/37 171/692/37 -f 179/682/30 190/699/6 178/694/6 -f 176/688/25 187/700/4 175/701/4 -f 194/702/79 198/703/80 199/704/81 -f 264/705/82 215/706/83 270/707/83 -f 270/707/83 214/708/84 271/709/84 -f 235/710/1 194/702/79 199/704/81 -f 193/711/85 198/703/80 275/712/86 -f 250/713/87 242/714/88 236/715/87 -f 195/716/89 207/717/90 200/718/89 -f 263/719/91 221/720/82 264/721/82 -f 235/722/1 199/723/81 206/724/92 -f 197/725/93 205/726/94 198/703/80 -f 277/727/95 200/728/89 243/729/95 -f 198/703/80 206/724/92 199/723/81 -f 249/730/88 243/731/95 242/732/88 -f 235/733/1 206/734/92 213/735/96 -f 204/736/97 212/737/98 205/726/94 -f 274/738/99 207/739/90 276/740/90 -f 205/726/94 213/735/96 206/734/92 -f 235/741/1 213/742/96 220/743/100 -f 212/737/98 218/744/101 219/745/102 -f 216/746/32 264/721/3 210/747/3 -f 213/742/96 219/745/102 220/743/100 -f 231/748/4 249/730/25 230/749/25 -f 202/750/7 276/740/40 201/751/40 -f 235/752/1 220/753/100 227/754/103 -f 218/744/101 226/755/104 219/745/102 -f 210/756/3 270/707/35 209/757/35 -f 220/753/100 226/755/104 227/754/103 -f 196/758/42 277/727/4 231/748/4 -f 224/759/27 249/730/25 250/713/27 -f 235/760/1 227/761/103 234/762/105 -f 226/755/104 232/763/106 233/764/107 -f 209/757/35 271/709/37 203/765/37 -f 226/755/104 234/762/105 227/761/103 -f 201/751/40 195/716/42 196/758/42 -f 224/759/27 256/766/6 223/767/6 -f 232/768/106 240/769/108 233/770/107 -f 223/767/6 257/771/30 217/772/30 -f 233/770/107 241/773/109 234/774/105 -f 203/765/37 274/738/7 202/750/7 -f 216/746/32 257/771/30 263/719/32 -f 235/775/1 234/774/105 241/773/109 -f 263/719/91 228/776/110 222/777/91 -f 240/769/108 248/778/111 241/779/109 -f 235/780/1 241/779/109 248/778/111 -f 240/769/108 246/781/112 247/782/113 -f 248/783/111 254/784/114 255/785/115 -f 225/786/116 252/787/3 232/763/106 -f 253/788/117 238/789/40 260/790/118 -f 235/791/1 248/783/111 255/785/115 -f 246/781/112 254/784/114 247/782/113 -f 239/792/119 245/793/37 246/781/112 -f 254/784/114 262/794/120 255/795/115 -f 197/725/93 266/796/27 204/736/97 -f 260/790/118 237/797/42 267/798/121 -f 235/799/1 255/795/115 262/794/120 -f 254/784/114 260/790/118 261/800/122 -f 267/798/121 273/801/4 193/711/85 -f 262/802/120 268/803/123 269/804/124 -f 193/711/85 272/805/25 197/725/93 -f 211/806/125 259/807/30 218/744/101 -f 235/808/1 262/802/120 269/804/124 -f 260/790/118 268/803/123 261/800/122 -f 232/768/106 251/809/35 239/792/119 -f 269/810/124 275/712/86 194/811/79 -f 246/781/112 244/812/7 253/788/117 -f 218/744/101 258/813/32 225/786/116 -f 235/814/1 269/810/124 194/811/79 -f 267/798/121 275/712/86 268/803/123 -f 204/736/97 265/815/6 211/806/125 -f 256/766/126 228/816/110 257/771/110 -f 250/713/87 229/817/126 256/766/126 -f 274/738/99 214/818/84 208/819/99 -f 279/820/127 294/821/128 288/822/129 -f 283/823/130 297/824/131 299/825/132 -f 281/826/133 282/827/134 280/828/135 -f 278/829/136 284/830/137 279/820/127 -f 291/831/138 294/821/128 290/832/139 -f 280/828/135 289/833/140 281/826/133 -f 279/820/127 287/834/141 278/829/136 -f 291/831/138 292/184/142 293/499/143 -f 281/826/133 293/499/143 285/835/144 -f 289/833/140 291/831/138 281/826/133 -f 284/830/137 290/832/139 279/820/127 -f 296/836/145 299/837/132 297/838/131 -f 297/838/131 300/839/146 296/836/145 -f 287/834/141 297/824/131 278/829/136 -f 280/828/135 298/840/147 296/836/145 -f 280/828/135 300/839/146 286/841/148 -f 324/842/4 339/843/149 331/844/14 -f 330/845/6 337/846/150 329/847/13 -f 328/848/3 335/849/151 327/850/15 -f 326/851/7 333/852/152 325/853/16 -f 331/844/14 338/854/153 330/855/6 -f 329/847/13 336/856/154 328/848/3 -f 327/850/15 334/857/155 326/851/7 -f 325/853/16 332/858/156 324/842/4 -f 333/852/152 342/859/157 341/860/158 -f 338/854/153 347/861/159 346/862/160 -f 337/846/150 344/863/161 336/856/154 -f 335/849/151 342/859/157 334/857/155 -f 332/858/156 341/860/158 340/864/162 -f 339/843/149 340/864/162 347/861/159 -f 338/865/153 345/866/163 337/846/150 -f 336/856/154 343/867/164 335/849/151 -f 340/864/162 355/868/14 347/861/159 -f 346/869/160 353/870/13 345/866/163 -f 344/863/161 351/871/15 343/867/164 -f 342/859/157 349/872/16 341/860/158 -f 347/861/159 354/873/6 346/862/160 -f 345/866/163 352/874/3 344/863/161 -f 343/867/164 350/875/7 342/859/157 -f 341/860/158 348/876/4 340/864/162 -f 356/877/4 371/878/149 363/879/14 -f 362/880/6 369/881/150 361/882/13 -f 360/883/3 367/884/151 359/885/15 -f 358/886/7 365/887/152 357/888/16 -f 363/879/14 370/889/153 362/890/6 -f 361/882/13 368/891/154 360/883/3 -f 359/885/15 366/892/155 358/886/7 -f 357/888/16 364/893/156 356/877/4 -f 365/887/152 374/894/157 373/895/158 -f 370/889/153 379/896/159 378/897/160 -f 369/881/150 376/898/161 368/891/154 -f 367/884/151 374/894/157 366/892/155 -f 364/893/156 373/895/158 372/899/162 -f 371/878/149 372/899/162 379/896/159 -f 370/900/153 377/901/163 369/881/150 -f 368/891/154 375/902/164 367/884/151 -f 372/899/162 387/903/14 379/896/159 -f 378/904/160 385/905/13 377/901/163 -f 376/898/161 383/906/15 375/902/164 -f 374/894/157 381/907/16 373/895/158 -f 379/896/159 386/908/6 378/897/160 -f 377/901/163 384/909/3 376/898/161 -f 375/902/164 382/910/7 374/894/157 -f 373/895/158 380/911/4 372/899/162 -f 436/912/165 418/913/166 437/914/167 -f 440/915/168 417/916/169 436/912/165 -f 441/917/170 416/918/168 440/915/168 -f 442/919/171 412/920/172 441/917/170 -f 414/921/173 442/919/171 443/922/174 -f 415/923/175 443/922/174 439/924/175 -f 419/925/176 439/924/175 438/926/177 -f 417/916/169 405/927/178 418/913/166 -f 422/928/23 431/929/179 423/930/1 -f 420/931/180 429/932/181 421/933/7 -f 427/934/19 434/935/182 426/936/6 -f 425/937/183 432/938/184 424/939/2 -f 421/940/7 430/941/185 422/928/23 -f 424/939/2 428/942/186 420/931/180 -f 426/936/6 433/943/187 425/937/183 -f 423/930/1 435/944/188 427/934/19 -f 416/918/168 404/945/189 417/916/169 -f 412/920/172 408/946/179 416/918/168 -f 413/947/190 409/948/191 412/920/172 -f 414/921/173 410/949/192 413/947/190 -f 415/923/175 411/950/193 414/921/173 -f 419/925/176 407/951/184 415/923/175 -f 407/951/184 475/952/186 471/953/184 -f 411/950/193 471/953/184 470/954/187 -f 454/955/23 463/956/168 455/957/1 -f 452/958/180 461/959/171 453/960/7 -f 459/961/19 466/962/167 458/963/6 -f 457/964/183 464/965/175 456/966/2 -f 453/960/7 462/967/170 454/955/23 -f 456/966/2 460/968/174 452/958/180 -f 458/969/6 465/970/177 457/964/183 -f 455/957/1 467/971/165 459/961/19 -f 469/972/182 411/950/193 470/954/187 -f 409/948/191 469/972/182 468/973/188 -f 472/974/179 409/948/191 468/973/188 -f 404/945/189 472/974/179 473/975/185 -f 405/927/178 473/975/185 474/976/181 -f 475/952/186 405/977/178 474/978/181 -f 418/979/166 406/980/194 419/925/176 -f 418/979/166 438/926/177 437/981/167 -f 448/982/1 436/912/165 444/983/19 -f 445/984/6 438/926/177 446/985/183 -f 447/986/2 443/922/174 451/987/180 -f 450/988/7 441/917/170 449/989/23 -f 446/985/183 439/924/175 447/986/2 -f 444/983/19 437/914/167 445/990/6 -f 451/987/180 442/919/171 450/988/7 -f 449/989/23 440/915/168 448/982/1 -f 488/991/1 468/973/188 484/992/19 -f 485/993/6 470/954/187 486/994/183 -f 487/995/2 475/952/186 491/996/180 -f 490/997/7 473/975/185 489/998/23 -f 486/994/183 471/953/184 487/995/2 -f 484/992/19 469/972/182 485/993/6 -f 491/996/180 474/978/181 490/999/7 -f 489/998/23 472/974/179 488/991/1 -f 477/1000/166 465/970/177 466/1001/167 -f 477/1000/166 497/1002/194 476/1003/176 -f 428/942/186 498/1004/178 429/932/181 -f 498/1005/178 430/941/185 429/1006/181 -f 499/1007/189 431/929/179 430/941/185 -f 431/929/179 494/1008/191 435/944/188 -f 494/1008/191 434/935/182 435/944/188 -f 434/935/182 492/1009/193 433/943/187 -f 492/1009/193 432/938/184 433/943/187 -f 432/938/184 497/1002/194 428/942/186 -f 476/1003/176 496/1010/184 480/1011/175 -f 480/1011/175 492/1009/193 481/1012/173 -f 481/1012/173 493/1013/192 482/1014/190 -f 482/1014/190 494/1008/191 483/1015/172 -f 483/1015/172 495/1016/179 479/1017/168 -f 479/1017/168 499/1007/189 478/1018/169 -f 478/1018/169 498/1005/178 477/1019/166 -f 476/1003/176 464/965/175 465/970/177 -f 464/965/175 481/1012/173 460/968/174 -f 481/1012/173 461/959/171 460/968/174 -f 461/959/171 483/1015/172 462/967/170 -f 483/1015/172 463/956/168 462/967/170 -f 463/956/168 478/1018/169 467/971/165 -f 467/971/165 477/1019/166 466/962/167 -f 538/1020/6 545/1021/183 537/1022/183 -f 536/1023/2 543/1024/180 535/1025/180 -f 534/1026/7 541/1027/23 533/1028/23 -f 539/1029/19 546/1030/6 538/1020/6 -f 537/1022/183 544/1031/2 536/1023/2 -f 535/1025/180 542/1032/7 534/1033/7 -f 533/1028/23 540/1034/1 532/1035/1 -f 532/1035/1 547/1036/19 539/1029/19 -f 563/1037/1 548/1038/19 556/1039/19 -f 562/1040/23 555/1041/1 563/1037/1 -f 560/1042/180 553/1043/7 561/1044/7 -f 558/1045/183 551/1046/2 559/1047/2 -f 556/1039/19 549/1048/6 557/1049/6 -f 561/1050/7 554/1051/23 562/1040/23 -f 559/1047/2 552/1052/180 560/1042/180 -f 557/1049/6 550/1053/183 558/1045/183 -f 570/1054/6 577/1055/183 569/1056/183 -f 568/1057/2 575/1058/180 567/1059/180 -f 566/1060/7 573/1061/23 565/1062/23 -f 571/1063/19 578/1064/6 570/1054/6 -f 569/1056/183 576/1065/2 568/1057/2 -f 567/1059/180 574/1066/7 566/1067/7 -f 565/1062/23 572/1068/1 564/1069/1 -f 564/1069/1 579/1070/19 571/1063/19 -f 587/1071/14 594/1072/6 586/1073/6 -f 585/1074/13 592/1075/3 584/1076/3 -f 583/1077/15 590/1078/7 582/1079/7 -f 581/1080/16 588/1081/4 580/1082/4 -f 580/1082/4 595/1083/14 587/1071/14 -f 586/1084/6 593/1085/13 585/1074/13 -f 584/1076/3 591/1086/15 583/1077/15 -f 582/1079/7 589/1087/16 581/1080/16 -f 609/1088/7 602/1089/16 610/1090/16 -f 607/1091/3 600/1092/15 608/1093/15 -f 605/1094/6 598/1095/13 606/1096/13 -f 611/1097/4 596/1098/14 604/1099/14 -f 610/1090/16 603/1100/4 611/1097/4 -f 608/1093/15 601/1101/7 609/1088/7 -f 606/1096/13 599/1102/3 607/1091/3 -f 604/1099/14 597/1103/6 605/1104/6 -f 631/1105/7 644/1106/37 632/1107/37 -f 638/1108/27 651/1109/25 639/1110/25 -f 628/1111/4 641/1112/42 629/1113/42 -f 635/1114/32 648/1115/30 636/1116/30 -f 632/1107/37 645/1117/35 633/1118/35 -f 639/1110/25 640/1119/4 628/1111/4 -f 629/1113/42 642/1120/40 630/1121/40 -f 636/1116/30 649/1122/6 637/1123/6 -f 633/1118/35 646/1124/3 634/1125/3 -f 630/1121/40 643/1126/7 631/1105/7 -f 637/1123/6 650/1127/27 638/1108/27 -f 634/1128/3 647/1129/32 635/1114/32 -f 641/1112/195 662/1130/196 642/1120/196 -f 648/1115/197 669/1131/198 649/1122/198 -f 645/1117/199 666/1132/200 646/1124/200 -f 643/1126/201 662/1133/196 663/1134/202 -f 650/1127/203 669/1135/198 670/1136/204 -f 646/1137/200 667/1138/205 647/1129/206 -f 644/1106/207 663/1139/202 664/1140/207 -f 650/1127/203 671/1141/208 651/1109/209 -f 641/1112/195 661/1142/210 660/1143/195 -f 647/1129/206 668/1144/197 648/1115/197 -f 645/1117/199 664/1145/207 665/1146/199 -f 651/1109/209 661/1147/210 640/1119/210 -f 673/1148/1 674/1149/211 672/1150/1 -f 675/1151/211 676/1152/4 674/1149/211 -f 677/1153/4 678/1154/22 676/1152/4 -f 679/1155/22 680/546/2 678/1154/22 -f 681/1156/2 682/1157/21 680/546/2 -f 683/1158/21 684/1159/3 682/1157/21 -f 685/1160/3 686/1161/20 684/1162/3 -f 687/1163/20 672/1150/1 686/1161/20 -f 2/574/24 4/575/26 3/1/25 -f 4/575/26 6/576/28 5/169/27 -f 6/576/28 8/577/29 7/159/6 -f 8/577/29 10/578/31 9/158/30 -f 10/578/31 12/579/33 11/154/32 -f 12/579/33 14/664/34 13/457/3 -f 14/580/34 16/581/36 15/150/35 -f 16/581/36 18/582/38 17/148/37 -f 18/582/38 20/583/39 19/144/7 -f 20/583/39 22/584/41 21/171/40 -f 22/584/41 24/585/43 23/162/42 -f 24/585/43 2/574/24 1/165/4 -f 26/586/4 28/589/25 27/587/25 -f 28/589/25 30/591/27 29/590/27 -f 30/591/27 32/593/6 31/592/6 -f 32/593/6 34/595/30 33/594/30 -f 34/595/30 36/597/32 35/596/32 -f 36/597/32 38/1164/3 37/598/3 -f 38/599/3 40/602/35 39/600/35 -f 40/602/35 42/604/37 41/603/37 -f 42/604/37 44/606/7 43/605/7 -f 44/606/7 46/608/40 45/607/40 -f 46/608/40 48/610/42 47/609/42 -f 48/610/42 26/586/4 25/588/4 -f 50/611/44 58/1165/212 57/612/45 -f 57/612/45 58/1166/212 66/614/47 -f 65/615/48 66/638/47 54/616/49 -f 53/617/50 54/662/49 62/618/51 -f 62/620/51 70/1167/76 69/621/53 -f 71/622/54 72/644/56 50/623/44 -f 63/624/55 64/647/69 72/625/56 -f 56/626/57 64/1168/69 63/624/55 -f 55/627/58 67/631/61 68/628/59 -f 60/630/60 68/1169/59 67/631/61 -f 51/633/63 52/655/64 60/634/60 -f 69/621/53 70/658/76 52/635/64 -f 29/637/65 31/1170/78 54/616/49 -f 66/614/47 58/1166/212 27/639/66 -f 27/641/66 58/1165/212 50/611/44 -f 25/643/67 50/623/44 72/644/56 -f 47/646/68 72/625/56 64/647/69 -f 45/649/70 64/1168/69 56/626/57 -f 41/651/72 43/1171/71 56/629/57 -f 41/652/72 68/1169/59 60/630/60 -f 39/654/73 60/634/60 52/655/64 -f 35/657/75 37/1172/74 52/635/64 -f 35/659/75 70/1167/76 62/620/51 -f 33/661/77 62/618/51 54/662/49 -f 65/615/48 53/617/50 8/577/29 -f 6/576/28 4/575/26 57/612/45 -f 2/574/24 49/613/46 57/612/45 -f 71/622/54 49/613/46 2/574/24 -f 24/585/43 22/584/41 63/624/55 -f 22/584/41 20/583/39 55/627/58 -f 67/631/61 55/627/58 20/583/39 -f 18/582/38 16/581/36 59/632/62 -f 14/580/34 51/633/63 59/632/62 -f 69/621/53 51/636/63 14/664/34 -f 12/579/33 10/578/31 61/619/52 -f 8/577/29 53/617/50 61/619/52 -f 82/29/6 94/427/6 93/48/30 -f 79/38/3 91/54/3 90/56/35 -f 76/11/7 88/63/7 87/65/40 -f 83/26/27 95/45/27 94/47/6 -f 80/423/32 92/429/32 91/52/3 -f 77/8/37 89/60/37 88/62/7 -f 84/23/25 96/426/25 95/43/27 -f 74/17/42 86/69/42 85/70/4 -f 81/32/30 93/428/30 92/50/32 -f 78/5/35 90/57/35 89/59/37 -f 73/20/4 85/425/4 96/40/25 -f 75/14/40 87/66/40 86/68/42 -f 97/79/4 109/123/4 120/125/25 -f 99/83/40 111/126/40 110/128/42 -f 106/104/6 118/442/6 117/129/30 -f 103/95/3 115/132/3 114/134/35 -f 100/86/7 112/135/7 111/137/40 -f 107/72/27 119/138/27 118/140/6 -f 104/99/32 116/105/32 115/107/3 -f 101/89/37 113/108/37 112/110/7 -f 108/75/25 120/436/25 119/111/27 -f 98/80/42 110/114/42 109/116/4 -f 105/102/30 117/117/30 116/119/32 -f 102/92/35 114/120/35 113/122/37 -f 131/44/27 143/74/27 142/71/6 -f 128/51/32 140/98/32 139/433/3 -f 125/58/37 137/91/37 136/88/7 -f 132/42/25 144/431/25 143/74/27 -f 122/67/42 134/82/42 133/78/4 -f 129/49/30 141/101/30 140/98/32 -f 126/55/35 138/94/35 137/91/37 -f 121/41/4 133/78/4 144/431/25 -f 123/64/40 135/85/40 134/82/42 -f 130/46/6 142/71/6 141/101/30 -f 127/430/3 139/432/3 138/94/35 -f 124/61/7 136/88/7 135/85/40 -f 146/437/32 158/1173/32 157/665/3 -f 153/438/40 165/1174/40 164/666/42 -f 150/439/25 162/1175/25 161/667/27 -f 145/440/3 157/1176/3 168/668/35 -f 147/441/30 159/1177/30 158/669/32 -f 154/130/7 166/1178/7 165/670/40 -f 151/443/4 163/1179/4 162/671/25 -f 148/444/6 160/1180/6 159/672/30 -f 155/445/37 167/1181/37 166/673/7 -f 152/434/42 164/1182/42 163/674/4 -f 149/435/27 161/1183/27 160/675/6 -f 156/112/35 168/1184/35 167/676/37 -f 173/677/40 185/690/40 184/678/7 -f 180/680/32 192/691/32 191/681/30 -f 170/683/35 182/693/35 181/684/3 -f 177/686/27 189/695/27 188/687/25 -f 174/689/42 186/697/42 185/690/40 -f 169/685/3 181/684/3 192/691/32 -f 171/692/37 183/698/37 182/693/35 -f 178/694/6 190/699/6 189/695/27 -f 175/696/4 187/1185/4 186/697/42 -f 172/679/7 184/678/7 183/698/37 -f 179/682/30 191/681/30 190/699/6 -f 176/688/25 188/687/25 187/700/4 -f 194/702/79 275/712/86 198/703/80 -f 264/705/82 221/1186/82 215/706/83 -f 270/707/83 215/1187/83 214/708/84 -f 193/711/85 197/725/93 198/703/80 -f 250/713/87 249/730/88 242/714/88 -f 195/716/89 276/740/90 207/717/90 -f 263/719/91 222/1188/91 221/720/82 -f 197/725/93 204/736/97 205/726/94 -f 277/727/95 195/716/89 200/728/89 -f 198/703/80 205/726/94 206/724/92 -f 249/730/88 277/727/95 243/731/95 -f 204/736/97 211/806/125 212/737/98 -f 274/738/99 208/1189/99 207/739/90 -f 205/726/94 212/737/98 213/735/96 -f 212/737/98 211/806/125 218/744/101 -f 216/746/32 263/719/32 264/721/3 -f 213/742/96 212/737/98 219/745/102 -f 231/748/4 277/727/4 249/730/25 -f 202/750/7 274/738/7 276/740/40 -f 218/744/101 225/786/116 226/755/104 -f 210/756/3 264/705/3 270/707/35 -f 220/753/100 219/745/102 226/755/104 -f 196/758/42 195/716/42 277/727/4 -f 224/759/27 230/749/25 249/730/25 -f 226/755/104 225/786/116 232/763/106 -f 209/757/35 270/707/35 271/709/37 -f 226/755/104 233/764/107 234/762/105 -f 201/751/40 276/740/40 195/716/42 -f 224/759/27 250/713/27 256/766/6 -f 232/768/106 239/792/119 240/769/108 -f 223/767/6 256/766/6 257/771/30 -f 233/770/107 240/769/108 241/773/109 -f 203/765/37 271/709/37 274/738/7 -f 216/746/32 217/772/30 257/771/30 -f 263/719/91 257/771/110 228/776/110 -f 240/769/108 247/782/113 248/778/111 -f 240/769/108 239/792/119 246/781/112 -f 248/783/111 247/782/113 254/784/114 -f 225/786/116 258/813/32 252/787/3 -f 253/788/117 244/812/7 238/789/40 -f 246/781/112 253/788/117 254/784/114 -f 239/792/119 251/809/35 245/793/37 -f 254/784/114 261/800/122 262/794/120 -f 197/725/93 272/805/25 266/796/27 -f 260/790/118 238/789/40 237/797/42 -f 254/784/114 253/788/117 260/790/118 -f 267/798/121 237/797/42 273/801/4 -f 262/802/120 261/800/122 268/803/123 -f 193/711/85 273/801/4 272/805/25 -f 211/806/125 265/815/6 259/807/30 -f 260/790/118 267/798/121 268/803/123 -f 232/768/106 252/1190/3 251/809/35 -f 269/810/124 268/803/123 275/712/86 -f 246/781/112 245/793/37 244/812/7 -f 218/744/101 259/807/30 258/813/32 -f 267/798/121 193/711/85 275/712/86 -f 204/736/97 266/796/27 265/815/6 -f 256/766/126 229/1191/126 228/816/110 -f 250/713/87 236/1192/87 229/817/126 -f 274/738/99 271/709/84 214/818/84 -f 279/820/127 290/832/139 294/821/128 -f 283/823/130 278/829/136 297/824/131 -f 281/826/133 285/835/144 282/827/134 -f 278/829/136 283/823/130 284/830/137 -f 291/831/138 295/1193/213 294/821/128 -f 280/828/135 286/841/148 289/833/140 -f 279/820/127 288/822/129 287/834/141 -f 291/831/138 290/832/139 292/184/142 -f 281/826/133 291/831/138 293/499/143 -f 289/833/140 295/1193/213 291/831/138 -f 284/830/137 292/184/142 290/832/139 -f 296/836/145 298/840/147 299/837/132 -f 297/838/131 301/1194/214 300/839/146 -f 287/834/141 301/1195/214 297/824/131 -f 280/828/135 282/827/134 298/840/147 -f 280/828/135 296/836/145 300/839/146 -f 324/842/4 332/858/156 339/843/149 -f 330/845/6 338/865/153 337/846/150 -f 328/848/3 336/856/154 335/849/151 -f 326/851/7 334/857/155 333/852/152 -f 331/844/14 339/843/149 338/854/153 -f 329/847/13 337/846/150 336/856/154 -f 327/850/15 335/849/151 334/857/155 -f 325/853/16 333/852/152 332/858/156 -f 333/852/152 334/857/155 342/859/157 -f 338/854/153 339/843/149 347/861/159 -f 337/846/150 345/866/163 344/863/161 -f 335/849/151 343/867/164 342/859/157 -f 332/858/156 333/852/152 341/860/158 -f 339/843/149 332/858/156 340/864/162 -f 338/865/153 346/869/160 345/866/163 -f 336/856/154 344/863/161 343/867/164 -f 340/864/162 348/876/4 355/868/14 -f 346/869/160 354/1196/6 353/870/13 -f 344/863/161 352/874/3 351/871/15 -f 342/859/157 350/875/7 349/872/16 -f 347/861/159 355/868/14 354/873/6 -f 345/866/163 353/870/13 352/874/3 -f 343/867/164 351/871/15 350/875/7 -f 341/860/158 349/872/16 348/876/4 -f 356/877/4 364/893/156 371/878/149 -f 362/880/6 370/900/153 369/881/150 -f 360/883/3 368/891/154 367/884/151 -f 358/886/7 366/892/155 365/887/152 -f 363/879/14 371/878/149 370/889/153 -f 361/882/13 369/881/150 368/891/154 -f 359/885/15 367/884/151 366/892/155 -f 357/888/16 365/887/152 364/893/156 -f 365/887/152 366/892/155 374/894/157 -f 370/889/153 371/878/149 379/896/159 -f 369/881/150 377/901/163 376/898/161 -f 367/884/151 375/902/164 374/894/157 -f 364/893/156 365/887/152 373/895/158 -f 371/878/149 364/893/156 372/899/162 -f 370/900/153 378/904/160 377/901/163 -f 368/891/154 376/898/161 375/902/164 -f 372/899/162 380/911/4 387/903/14 -f 378/904/160 386/1197/6 385/905/13 -f 376/898/161 384/909/3 383/906/15 -f 374/894/157 382/910/7 381/907/16 -f 379/896/159 387/903/14 386/908/6 -f 377/901/163 385/905/13 384/909/3 -f 375/902/164 383/906/15 382/910/7 -f 373/895/158 381/907/16 380/911/4 -f 436/912/165 417/916/169 418/913/166 -f 440/915/168 416/918/168 417/916/169 -f 441/917/170 412/920/172 416/918/168 -f 442/919/171 413/947/190 412/920/172 -f 414/921/173 413/947/190 442/919/171 -f 415/923/175 414/921/173 443/922/174 -f 419/925/176 415/923/175 439/924/175 -f 417/916/169 404/945/189 405/927/178 -f 422/928/23 430/941/185 431/929/179 -f 420/931/180 428/942/186 429/932/181 -f 427/934/19 435/944/188 434/935/182 -f 425/937/183 433/943/187 432/938/184 -f 421/940/7 429/1006/181 430/941/185 -f 424/939/2 432/938/184 428/942/186 -f 426/936/6 434/935/182 433/943/187 -f 423/930/1 431/929/179 435/944/188 -f 416/918/168 408/946/179 404/945/189 -f 412/920/172 409/948/191 408/946/179 -f 413/947/190 410/949/192 409/948/191 -f 414/921/173 411/950/193 410/949/192 -f 415/923/175 407/951/184 411/950/193 -f 419/925/176 406/980/194 407/951/184 -f 407/951/184 406/980/194 475/952/186 -f 411/950/193 407/951/184 471/953/184 -f 454/955/23 462/967/170 463/956/168 -f 452/958/180 460/968/174 461/959/171 -f 459/961/19 467/971/165 466/962/167 -f 457/964/183 465/970/177 464/965/175 -f 453/960/7 461/959/171 462/967/170 -f 456/966/2 464/965/175 460/968/174 -f 458/969/6 466/1001/167 465/970/177 -f 455/957/1 463/956/168 467/971/165 -f 469/972/182 410/949/192 411/950/193 -f 409/948/191 410/949/192 469/972/182 -f 472/974/179 408/946/179 409/948/191 -f 404/945/189 408/946/179 472/974/179 -f 405/927/178 404/945/189 473/975/185 -f 475/952/186 406/980/194 405/977/178 -f 418/979/166 405/977/178 406/980/194 -f 418/979/166 419/925/176 438/926/177 -f 448/982/1 440/915/168 436/912/165 -f 445/984/6 437/981/167 438/926/177 -f 447/986/2 439/924/175 443/922/174 -f 450/988/7 442/919/171 441/917/170 -f 446/985/183 438/926/177 439/924/175 -f 444/983/19 436/912/165 437/914/167 -f 451/987/180 443/922/174 442/919/171 -f 449/989/23 441/917/170 440/915/168 -f 488/991/1 472/974/179 468/973/188 -f 485/993/6 469/972/182 470/954/187 -f 487/995/2 471/953/184 475/952/186 -f 490/997/7 474/976/181 473/975/185 -f 486/994/183 470/954/187 471/953/184 -f 484/992/19 468/973/188 469/972/182 -f 491/996/180 475/952/186 474/978/181 -f 489/998/23 473/975/185 472/974/179 -f 477/1000/166 476/1003/176 465/970/177 -f 477/1000/166 498/1004/178 497/1002/194 -f 428/942/186 497/1002/194 498/1004/178 -f 498/1005/178 499/1007/189 430/941/185 -f 499/1007/189 495/1016/179 431/929/179 -f 431/929/179 495/1016/179 494/1008/191 -f 494/1008/191 493/1013/192 434/935/182 -f 434/935/182 493/1013/192 492/1009/193 -f 492/1009/193 496/1010/184 432/938/184 -f 432/938/184 496/1010/184 497/1002/194 -f 476/1003/176 497/1002/194 496/1010/184 -f 480/1011/175 496/1010/184 492/1009/193 -f 481/1012/173 492/1009/193 493/1013/192 -f 482/1014/190 493/1013/192 494/1008/191 -f 483/1015/172 494/1008/191 495/1016/179 -f 479/1017/168 495/1016/179 499/1007/189 -f 478/1018/169 499/1007/189 498/1005/178 -f 476/1003/176 480/1011/175 464/965/175 -f 464/965/175 480/1011/175 481/1012/173 -f 481/1012/173 482/1014/190 461/959/171 -f 461/959/171 482/1014/190 483/1015/172 -f 483/1015/172 479/1017/168 463/956/168 -f 463/956/168 479/1017/168 478/1018/169 -f 467/971/165 478/1018/169 477/1019/166 -f 538/1020/6 546/1030/6 545/1021/183 -f 536/1023/2 544/1031/2 543/1024/180 -f 534/1026/7 542/1198/7 541/1027/23 -f 539/1029/19 547/1036/19 546/1030/6 -f 537/1022/183 545/1021/183 544/1031/2 -f 535/1025/180 543/1024/180 542/1032/7 -f 533/1028/23 541/1027/23 540/1034/1 -f 532/1035/1 540/1034/1 547/1036/19 -f 563/1037/1 555/1041/1 548/1038/19 -f 562/1040/23 554/1051/23 555/1041/1 -f 560/1042/180 552/1052/180 553/1043/7 -f 558/1045/183 550/1053/183 551/1046/2 -f 556/1039/19 548/1038/19 549/1048/6 -f 561/1050/7 553/1199/7 554/1051/23 -f 559/1047/2 551/1046/2 552/1052/180 -f 557/1049/6 549/1048/6 550/1053/183 -f 570/1054/6 578/1064/6 577/1055/183 -f 568/1057/2 576/1065/2 575/1058/180 -f 566/1060/7 574/1200/7 573/1061/23 -f 571/1063/19 579/1070/19 578/1064/6 -f 569/1056/183 577/1055/183 576/1065/2 -f 567/1059/180 575/1058/180 574/1066/7 -f 565/1062/23 573/1061/23 572/1068/1 -f 564/1069/1 572/1068/1 579/1070/19 -f 587/1071/14 595/1083/14 594/1072/6 -f 585/1074/13 593/1085/13 592/1075/3 -f 583/1077/15 591/1086/15 590/1078/7 -f 581/1080/16 589/1087/16 588/1081/4 -f 580/1082/4 588/1081/4 595/1083/14 -f 586/1084/6 594/1201/6 593/1085/13 -f 584/1076/3 592/1075/3 591/1086/15 -f 582/1079/7 590/1078/7 589/1087/16 -f 609/1088/7 601/1101/7 602/1089/16 -f 607/1091/3 599/1102/3 600/1092/15 -f 605/1094/6 597/1202/6 598/1095/13 -f 611/1097/4 603/1100/4 596/1098/14 -f 610/1090/16 602/1089/16 603/1100/4 -f 608/1093/15 600/1092/15 601/1101/7 -f 606/1096/13 598/1095/13 599/1102/3 -f 604/1099/14 596/1098/14 597/1103/6 -f 631/1105/7 643/1126/7 644/1106/37 -f 638/1108/27 650/1127/27 651/1109/25 -f 628/1111/4 640/1119/4 641/1112/42 -f 635/1114/32 647/1129/32 648/1115/30 -f 632/1107/37 644/1106/37 645/1117/35 -f 639/1110/25 651/1109/25 640/1119/4 -f 629/1113/42 641/1112/42 642/1120/40 -f 636/1116/30 648/1115/30 649/1122/6 -f 633/1118/35 645/1117/35 646/1124/3 -f 630/1121/40 642/1120/40 643/1126/7 -f 637/1123/6 649/1122/6 650/1127/27 -f 634/1128/3 646/1137/3 647/1129/32 -f 641/1112/195 660/1203/195 662/1130/196 -f 648/1115/197 668/1204/197 669/1131/198 -f 645/1117/199 665/1205/199 666/1132/200 -f 643/1126/201 642/1120/196 662/1133/196 -f 650/1127/203 649/1122/198 669/1135/198 -f 646/1137/200 666/1206/200 667/1138/205 -f 644/1106/207 643/1126/201 663/1139/202 -f 650/1127/203 670/1207/204 671/1141/208 -f 641/1112/195 640/1119/210 661/1142/210 -f 647/1129/206 667/1208/205 668/1144/197 -f 645/1117/199 644/1106/207 664/1145/207 -f 651/1109/209 671/1209/208 661/1147/210 -f 673/1148/1 675/1151/211 674/1149/211 -f 675/1151/211 677/1153/4 676/1152/4 -f 677/1153/4 679/1155/22 678/1154/22 -f 679/1155/22 681/1156/2 680/546/2 -f 681/1156/2 683/1158/21 682/1157/21 -f 683/1158/21 685/1210/3 684/1159/3 -f 685/1160/3 687/1163/20 686/1161/20 -f 687/1163/20 673/1148/1 672/1150/1 diff --git a/src/main/resources/assets/hbm/models/weapons/aberrator.obj b/src/main/resources/assets/hbm/models/weapons/aberrator.obj new file mode 100644 index 000000000..9bfc03b8c --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/aberrator.obj @@ -0,0 +1,2707 @@ +# Blender v2.79 (sub 0) OBJ File: 'aberrator2.blend' +# www.blender.org +o Misc +v -5.125000 5.875000 -2.750000 +v -4.875000 5.875000 -2.750000 +v -5.125000 5.625000 -3.125000 +v -4.875000 5.625000 -3.125000 +v -4.750000 5.875000 -2.875000 +v -4.750000 5.625000 -3.250000 +v -5.125000 4.875000 -4.187500 +v -4.875000 4.875000 -4.187500 +v -4.875000 4.500000 -4.187500 +v -5.125000 4.500000 -4.187500 +v -4.875000 4.250000 -3.937500 +v -5.125000 4.250000 -3.937500 +v -5.125000 5.875000 -3.812500 +v -4.875000 5.875000 -3.812500 +v -5.125000 4.250000 -3.562500 +v -4.875000 4.250000 -3.562500 +v -5.125000 4.500000 -3.312500 +v -4.875000 4.500000 -3.312500 +v -4.750000 4.375000 -3.562500 +v -4.750000 4.500000 -3.437500 +v -4.750000 4.375000 -3.937500 +v -4.750000 4.875000 -4.062500 +v -4.750000 4.500000 -4.062500 +v -4.750000 5.875000 -3.687500 +v -5.250000 5.875000 -2.875000 +v -5.250000 5.625000 -3.250000 +v -5.250000 4.500000 -3.437500 +v -5.250000 4.375000 -3.562500 +v -5.250000 4.875000 -4.062500 +v -5.250000 4.500000 -4.062500 +v -5.250000 4.375000 -3.937500 +v -5.250000 5.875000 -3.687500 +v -3.062500 6.062500 1.250000 +v -2.937500 6.062500 1.250000 +v -3.062500 6.187500 1.250000 +v -2.937500 6.187500 1.250000 +v -3.062500 6.187500 3.000000 +v -3.062500 6.062500 3.000000 +v -2.937500 6.062500 3.000000 +v -2.937500 6.187500 3.000000 +v -3.062500 6.688500 3.500000 +v -3.062500 6.688500 3.625000 +v -2.937500 6.688500 3.625000 +v -2.937500 6.688500 3.500000 +v -3.062500 6.751000 3.500000 +v -3.062500 6.751000 3.625000 +v -2.937500 6.751000 3.625000 +v -2.937500 6.751000 3.500000 +v -3.062500 6.437500 0.875000 +v -2.937500 6.437500 0.875000 +v -3.062500 6.562500 0.875000 +v -2.937500 6.562500 0.875000 +v -3.062500 6.437500 -0.625000 +v -2.937500 6.437500 -0.625000 +v -3.062500 6.562500 -0.625000 +v -2.937500 6.562500 -0.625000 +v -4.125000 6.000000 -0.625000 +v -3.875000 6.000000 -0.625000 +v -4.125000 6.250000 -0.625000 +v -3.875000 6.250000 -0.625000 +v -4.125000 6.250000 3.375000 +v -4.125000 6.000000 3.375000 +v -3.875000 6.000000 3.375000 +v -3.875000 6.250000 3.375000 +v -4.125000 6.250000 3.625000 +v -3.875000 6.250000 3.625000 +v -4.125000 6.750000 3.375000 +v -3.875000 6.750000 3.375000 +v -4.125000 6.750000 3.625000 +v -3.875000 6.750000 3.625000 +v -4.187500 5.937500 2.562500 +v -4.187500 6.312500 2.562500 +v -4.187500 5.937500 2.187500 +v -4.187500 6.312500 2.187500 +v -3.812500 5.937500 2.562500 +v -3.812500 6.312500 2.562500 +v -3.812500 5.937500 2.187500 +v -3.812500 6.312500 2.187500 +v -4.125000 5.937500 2.500000 +v -3.875000 5.937500 2.500000 +v -4.125000 5.937500 2.250000 +v -3.875000 5.937500 2.250000 +v -4.125000 5.687500 2.250000 +v -4.125000 5.687500 2.500000 +v -3.875000 5.687500 2.500000 +v -3.875000 5.687500 2.250000 +v -4.375000 5.687500 2.500000 +v -4.125000 5.687500 2.750000 +v -3.875000 5.687500 2.750000 +v -3.625000 5.687500 2.500000 +v -4.125000 5.687500 2.000000 +v -4.375000 5.687500 2.250000 +v -3.625000 5.687500 2.250000 +v -3.875000 5.687500 2.000000 +v -4.375000 3.937500 2.250000 +v -4.125000 3.937500 2.000000 +v -4.125000 3.937500 2.750000 +v -4.375000 3.937500 2.500000 +v -3.625000 3.937500 2.500000 +v -3.875000 3.937500 2.750000 +v -3.875000 3.937500 2.000000 +v -3.625000 3.937500 2.250000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.853553 0.146447 +vt 0.146447 0.146447 +vt 0.146447 0.853553 +vt 0.853553 0.146447 +vt 0.146447 0.146447 +vt 0.146447 0.853553 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 0.500000 1.000000 +vt 0.853553 0.853553 +vt 1.000000 0.500000 +vt 0.500000 0.000000 +vt 0.000000 0.500000 +vt 0.500000 1.000000 +vt 0.853553 0.853553 +vt 1.000000 0.500000 +vt 0.500000 0.000000 +vt 0.000000 0.500000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.500000 +vt 0.146447 0.853553 +vt 0.853553 0.853553 +vt 0.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.146447 0.146447 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 0.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 0.500000 1.000000 +vt 1.000000 0.500000 +vt 0.853553 0.146447 +vt 0.500000 0.000000 +vt 0.146447 0.146447 +vt 1.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 0.146447 0.853553 +vt 0.500000 1.000000 +vt 0.853553 0.853553 +vt 0.853553 0.146447 +vt 0.500000 0.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.7064 -0.7078 +vn 0.0000 -0.7065 0.7077 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn -0.1874 -0.8173 0.5449 +vn 0.3489 -0.5574 0.7534 +vn 0.1874 -0.8173 0.5449 +vn 0.3399 -0.4124 0.8452 +vn -0.3416 -0.8756 0.3416 +vn 0.3416 -0.8756 0.3416 +vn -0.3416 -0.3416 -0.8756 +vn 0.3651 0.1614 -0.9169 +vn 0.3416 -0.3416 -0.8756 +vn 0.3416 -0.8756 -0.3416 +vn -0.3416 -0.8756 -0.3416 +vn -0.3651 0.1614 -0.9169 +vn 0.3945 0.3227 -0.8604 +vn -0.3489 -0.5574 0.7534 +vn 0.8727 -0.2257 -0.4330 +vn 0.9059 0.0823 -0.4153 +vn 0.9467 0.1131 -0.3016 +vn 0.9488 -0.1495 0.2781 +vn 0.8727 -0.4330 0.2257 +vn 0.8755 -0.2542 0.4110 +vn 0.8727 -0.4330 -0.2257 +vn 0.6522 -0.6307 0.4205 +vn -0.8727 -0.4330 0.2257 +vn -0.8755 -0.2542 0.4110 +vn -0.9059 0.0823 -0.4153 +vn -0.3945 0.3227 -0.8604 +vn -0.9467 0.1131 -0.3016 +vn -0.6522 -0.6307 0.4205 +vn -0.9488 -0.1495 0.2781 +vn -0.8727 -0.2257 -0.4330 +vn -0.3399 -0.4124 0.8452 +vn -0.8727 -0.4330 -0.2257 +vn -0.3827 0.0000 0.9239 +vn 0.3827 0.0000 0.9239 +vn 0.3827 0.0000 -0.9239 +vn -0.3827 0.0000 -0.9239 +vn 0.9239 0.0000 0.3827 +vn 0.9239 0.0000 -0.3827 +vn -0.9239 0.0000 -0.3827 +vn -0.9239 0.0000 0.3827 +s off +f 35/1/1 40/2/1 36/3/1 +f 34/4/2 38/5/2 33/6/2 +f 36/7/3 39/8/3 34/9/3 +f 33/10/4 37/11/4 35/12/4 +f 37/13/5 44/14/5 40/15/5 +f 39/16/6 42/17/6 38/18/6 +f 40/19/3 43/20/3 39/21/3 +f 37/22/4 42/23/4 41/24/4 +f 44/25/3 47/26/3 43/27/3 +f 42/28/4 45/29/4 41/30/4 +f 41/31/7 48/32/7 44/33/7 +f 43/34/8 46/35/8 42/36/8 +f 36/7/9 51/37/9 35/12/9 +f 33/10/10 50/38/10 34/9/10 +f 36/3/3 50/39/3 52/40/3 +f 35/1/4 49/41/4 33/6/4 +f 49/42/2 54/43/2 50/44/2 +f 50/45/3 56/46/3 52/47/3 +f 51/48/4 53/49/4 49/50/4 +f 52/51/1 55/52/1 51/53/1 +f 62/54/4 65/55/4 61/56/4 +f 63/57/11 65/58/11 62/54/11 +f 59/59/1 64/60/1 60/61/1 +f 58/62/2 62/63/2 57/64/2 +f 60/65/3 63/66/3 58/67/3 +f 57/68/4 61/69/4 59/70/4 +f 64/71/3 66/72/3 63/73/3 +f 61/74/7 68/75/7 64/71/7 +f 64/76/3 70/77/3 66/78/3 +f 66/72/8 69/79/8 65/80/8 +f 65/55/4 67/81/4 61/82/4 +f 72/83/4 73/84/4 71/85/4 +f 74/86/7 77/87/7 73/88/7 +f 78/89/3 75/90/3 77/91/3 +f 76/92/8 71/93/8 75/94/8 +f 77/95/2 71/93/2 73/88/2 +f 74/86/1 76/96/1 78/97/1 +f 82/98/7 83/99/7 81/100/7 +f 79/101/8 85/102/8 80/103/8 +f 80/104/3 86/105/3 82/106/3 +f 81/107/4 84/108/4 79/109/4 +f 90/110/1 94/111/1 92/112/1 +f 96/113/2 102/114/2 100/115/2 +f 35/1/1 37/116/1 40/2/1 +f 34/4/2 39/117/2 38/5/2 +f 36/7/3 40/118/3 39/8/3 +f 33/10/4 38/119/4 37/11/4 +f 37/13/5 41/120/5 44/14/5 +f 39/16/6 43/121/6 42/17/6 +f 40/19/3 44/122/3 43/20/3 +f 37/22/4 38/123/4 42/23/4 +f 44/25/3 48/124/3 47/26/3 +f 42/28/4 46/125/4 45/29/4 +f 41/31/7 45/126/7 48/32/7 +f 43/34/8 47/127/8 46/35/8 +f 36/7/9 52/128/9 51/37/9 +f 33/10/10 49/129/10 50/38/10 +f 36/3/3 34/4/3 50/39/3 +f 35/1/4 51/130/4 49/41/4 +f 49/42/2 53/131/2 54/43/2 +f 50/45/3 54/132/3 56/46/3 +f 51/48/4 55/133/4 53/49/4 +f 52/51/1 56/134/1 55/52/1 +f 63/57/11 66/135/11 65/58/11 +f 59/59/1 61/56/1 64/60/1 +f 58/62/2 63/73/2 62/63/2 +f 60/65/3 64/136/3 63/66/3 +f 57/68/4 62/137/4 61/69/4 +f 61/74/7 67/138/7 68/75/7 +f 64/76/3 68/139/3 70/77/3 +f 66/72/8 70/140/8 69/79/8 +f 65/55/4 69/141/4 67/81/4 +f 72/83/4 74/142/4 73/84/4 +f 74/86/7 78/143/7 77/87/7 +f 78/89/3 76/144/3 75/90/3 +f 76/92/8 72/145/8 71/93/8 +f 77/95/2 75/146/2 71/93/2 +f 74/86/1 72/145/1 76/96/1 +f 82/98/7 86/147/7 83/99/7 +f 79/101/8 84/148/8 85/102/8 +f 80/104/3 85/149/3 86/105/3 +f 81/107/4 83/150/4 84/108/4 +f 92/112/1 87/151/1 88/152/1 +f 88/152/1 89/153/1 90/110/1 +f 90/110/1 93/154/1 94/111/1 +f 94/111/1 91/155/1 92/112/1 +f 92/112/1 88/152/1 90/110/1 +f 100/115/2 97/156/2 98/157/2 +f 98/157/2 95/158/2 96/113/2 +f 96/113/2 101/159/2 102/114/2 +f 102/114/2 99/160/2 100/115/2 +f 100/115/2 98/157/2 96/113/2 +s 1 +f 1/161/12 4/162/13 2/163/14 +f 18/164/15 15/165/16 16/166/17 +f 10/167/18 8/168/19 9/169/20 +f 15/170/16 11/171/21 16/166/17 +f 12/172/22 9/173/20 11/174/21 +f 7/175/23 14/176/24 8/177/19 +f 3/178/25 18/179/15 4/180/13 +f 8/181/19 23/182/26 9/169/20 +f 22/183/27 24/184/28 6/185/29 +f 18/186/15 19/187/30 20/188/31 +f 11/174/21 23/189/26 21/190/32 +f 18/164/15 6/191/29 4/180/13 +f 11/192/21 19/193/30 16/166/17 +f 14/194/24 22/195/27 8/177/19 +f 4/196/13 5/197/33 2/163/14 +f 28/198/34 27/199/35 29/200/36 +f 13/201/37 29/202/36 32/203/38 +f 3/204/25 25/205/39 26/206/40 +f 10/167/18 29/207/36 7/208/23 +f 15/209/16 27/210/35 28/211/34 +f 12/172/22 30/212/41 10/213/18 +f 17/214/42 26/215/40 27/216/35 +f 15/170/16 31/217/43 12/218/22 +f 88/219/44 100/220/45 89/221/45 +f 94/222/46 96/223/47 91/224/47 +f 90/225/48 102/226/49 93/227/49 +f 100/228/45 90/229/48 89/221/45 +f 94/222/46 102/226/49 101/230/46 +f 96/231/47 92/232/50 91/224/47 +f 88/219/44 98/233/51 97/234/44 +f 92/235/50 98/233/51 87/236/51 +f 1/161/12 3/237/25 4/162/13 +f 18/164/15 17/238/42 15/165/16 +f 10/167/18 7/239/23 8/168/19 +f 15/170/16 12/240/22 11/171/21 +f 12/172/22 10/241/18 9/173/20 +f 7/175/23 13/242/37 14/176/24 +f 3/178/25 17/238/42 18/179/15 +f 8/181/19 22/243/27 23/182/26 +f 24/184/28 5/244/33 6/185/29 +f 6/185/29 20/245/31 22/183/27 +f 20/245/31 19/246/30 22/183/27 +f 19/246/30 21/247/32 23/248/26 +f 23/248/26 22/183/27 19/246/30 +f 18/186/15 16/249/17 19/187/30 +f 11/174/21 9/250/20 23/189/26 +f 18/164/15 20/251/31 6/191/29 +f 11/192/21 21/252/32 19/193/30 +f 14/194/24 24/253/28 22/195/27 +f 4/196/13 6/254/29 5/197/33 +f 26/255/40 25/256/39 32/257/38 +f 32/257/38 29/200/36 26/255/40 +f 29/200/36 30/258/41 28/198/34 +f 26/255/40 29/200/36 27/199/35 +f 30/258/41 31/259/43 28/198/34 +f 13/201/37 7/175/23 29/202/36 +f 3/204/25 1/161/12 25/205/39 +f 10/167/18 30/260/41 29/207/36 +f 15/209/16 17/261/42 27/210/35 +f 12/172/22 31/262/43 30/212/41 +f 17/214/42 3/178/25 26/215/40 +f 15/170/16 28/263/34 31/217/43 +f 88/219/44 97/264/44 100/220/45 +f 94/222/46 101/265/46 96/223/47 +f 90/225/48 99/266/48 102/226/49 +f 100/228/45 99/266/48 90/229/48 +f 94/222/46 93/267/49 102/226/49 +f 96/231/47 95/268/50 92/232/50 +f 88/219/44 87/269/51 98/233/51 +f 92/235/50 95/268/50 98/233/51 +o Bullet +v 0.000000 1.718750 -0.750000 +v 0.066291 1.691291 -0.750000 +v 0.000000 1.812500 -1.750000 +v 0.000000 1.812500 -1.000000 +v 0.132582 1.757582 -1.750000 +v 0.132582 1.757582 -1.000000 +v 0.187500 1.625000 -1.750000 +v 0.187500 1.625000 -1.000000 +v 0.132582 1.492418 -1.750000 +v 0.132582 1.492418 -1.000000 +v 0.000000 1.437500 -1.750000 +v 0.000000 1.437500 -1.000000 +v -0.132583 1.492418 -1.750000 +v -0.132583 1.492418 -1.000000 +v -0.187500 1.625000 -1.750000 +v -0.187500 1.625000 -1.000000 +v -0.132583 1.757582 -1.750000 +v -0.132583 1.757582 -1.000000 +v 0.093750 1.625000 -0.750000 +v 0.066291 1.558709 -0.750000 +v 0.000000 1.531250 -0.750000 +v -0.066291 1.558709 -0.750000 +v -0.093750 1.625000 -0.750000 +v -0.066291 1.691291 -0.750000 +vt 0.382058 0.920049 +vt 0.361903 0.920049 +vt 0.361903 0.886403 +vt 0.371981 0.927017 +vt 0.357729 0.903226 +vt 0.371981 0.879434 +vt 0.382058 0.886403 +vt 0.386232 0.903226 +vt 0.299517 0.830645 +vt 0.280193 0.838710 +vt 0.280193 0.830645 +vt 0.299517 0.879032 +vt 0.357488 0.862903 +vt 0.357488 0.879032 +vt 0.299517 0.862903 +vt 0.280193 0.870968 +vt 0.280193 0.862903 +vt 0.357488 0.846774 +vt 0.299517 0.927419 +vt 0.280193 0.911290 +vt 0.299517 0.911290 +vt 0.299517 0.846774 +vt 0.357488 0.830645 +vt 0.280193 0.846774 +vt 0.357488 0.814516 +vt 0.299517 0.943548 +vt 0.280193 0.927419 +vt 0.357488 0.927419 +vt 0.357488 0.943548 +vt 0.299517 0.895161 +vt 0.280193 0.879032 +vt 0.357488 0.911290 +vt 0.280193 0.814516 +vt 0.299517 0.814516 +vt 0.386581 0.891129 +vt 0.393720 0.879212 +vt 0.400858 0.891129 +vt 0.357488 0.895161 +vt 0.280193 0.895161 +vt 0.280193 0.919355 +vt 0.280193 0.854839 +vt 0.280193 0.935484 +vt 0.280193 0.887097 +vt 0.280193 0.822581 +vt 0.398768 0.899556 +vt 0.393720 0.903046 +vt 0.388672 0.899556 +vt 0.388672 0.882702 +vt 0.398768 0.882702 +vt 0.280193 0.903226 +vn 0.0000 0.0000 -1.0000 +vn 0.6967 -0.6967 0.1712 +vn 0.6509 0.0000 0.7591 +vn 0.4603 -0.4603 0.7591 +vn 0.0000 0.9852 0.1712 +vn 0.7071 0.7071 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.6967 0.6967 0.1712 +vn 0.0000 0.6509 0.7591 +vn 0.4603 0.4603 0.7591 +vn 1.0000 0.0000 0.0000 +vn -0.6967 -0.6967 0.1712 +vn -0.6509 0.0000 0.7591 +vn -0.9852 -0.0000 0.1712 +vn 0.9852 -0.0000 0.1712 +vn 0.7071 -0.7071 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.9852 0.1712 +vn -0.4603 -0.4603 0.7591 +vn -0.7071 -0.7071 0.0000 +vn -0.6967 0.6967 0.1712 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -0.6509 0.7591 +vn -0.7071 0.7071 0.0000 +vn -0.4603 0.4603 0.7591 +s off +f 119/270/52 107/271/52 111/272/52 +f 119/270/52 105/273/52 107/271/52 +f 107/271/52 109/274/52 111/272/52 +f 111/272/52 113/275/52 115/276/52 +f 115/276/52 117/277/52 111/272/52 +f 117/277/52 119/270/52 111/272/52 +s 1 +f 112/278/53 121/279/54 122/280/55 +f 106/281/56 107/282/57 105/283/58 +f 108/284/59 103/285/60 104/286/61 +f 108/284/59 109/287/62 107/282/57 +f 116/288/63 125/289/64 118/290/65 +f 110/291/66 111/292/67 109/287/62 +f 108/284/59 121/293/54 110/291/66 +f 112/278/53 113/294/68 111/292/67 +f 114/295/69 124/296/70 116/288/63 +f 114/295/69 115/297/71 113/298/68 +f 120/299/72 103/300/60 106/281/56 +f 116/288/63 117/301/73 115/297/71 +f 112/278/53 123/302/74 114/303/69 +f 125/304/64 123/305/74 121/306/54 +f 118/290/65 119/307/75 117/301/73 +f 118/290/65 126/308/76 120/299/72 +f 120/299/72 105/283/58 119/307/75 +f 112/278/53 110/291/66 121/279/54 +f 106/281/56 108/284/59 107/282/57 +f 108/284/59 106/281/56 103/285/60 +f 108/284/59 110/291/66 109/287/62 +f 116/288/63 124/309/70 125/289/64 +f 110/291/66 112/278/53 111/292/67 +f 108/284/59 104/310/61 121/293/54 +f 112/278/53 114/303/69 113/294/68 +f 114/295/69 123/311/74 124/296/70 +f 114/295/69 116/288/63 115/297/71 +f 120/299/72 126/312/76 103/300/60 +f 116/288/63 118/290/65 117/301/73 +f 112/278/53 122/313/55 123/302/74 +f 121/306/54 104/314/61 103/315/60 +f 103/315/60 126/316/76 125/304/64 +f 125/304/64 124/317/70 123/305/74 +f 123/305/74 122/318/55 121/306/54 +f 121/306/54 103/315/60 125/304/64 +f 118/290/65 120/299/72 119/307/75 +f 118/290/65 125/319/64 126/308/76 +f 120/299/72 106/281/56 105/283/58 +o Magazine +v -0.250000 1.625000 -0.750000 +v 0.250000 1.625000 -0.750000 +v -0.250000 1.625000 -1.750000 +v 0.250000 1.625000 -1.750000 +v -0.312500 0.125000 -0.687500 +v 0.312500 0.125000 -0.687500 +v -0.312500 0.125000 -1.812500 +v 0.312500 0.125000 -1.812500 +v -0.375000 0.125000 -0.625000 +v 0.375000 0.125000 -0.625000 +v -0.375000 0.125000 -1.875000 +v 0.375000 0.125000 -1.875000 +v -0.375000 0.000000 -0.625000 +v 0.375000 0.000000 -0.625000 +v -0.375000 0.000000 -1.875000 +v 0.375000 0.000000 -1.875000 +v -0.312500 1.625000 -0.687500 +v 0.312500 1.625000 -0.687500 +v -0.312500 1.625000 -1.812500 +v 0.312500 1.625000 -1.812500 +v -0.250000 1.375000 -0.750000 +v 0.250000 1.375000 -0.750000 +v -0.250000 1.375000 -1.750000 +v 0.250000 1.375000 -1.750000 +vt 0.584541 0.524194 +vt 0.676328 0.516129 +vt 0.671498 0.524194 +vt 0.874396 0.193548 +vt 0.961353 -0.000000 +vt 0.961353 0.193548 +vt 0.787440 0.274194 +vt 0.710145 0.306452 +vt 0.710145 0.274194 +vt 0.739130 0.193548 +vt 0.826087 -0.000000 +vt 0.826087 0.193548 +vt 0.690821 0.193548 +vt 0.739130 -0.000000 +vt 0.874396 -0.000000 +vt 0.685990 0.500000 +vt 0.676328 0.403226 +vt 0.685990 0.403226 +vt 0.584541 0.604839 +vt 0.579710 0.516129 +vt 0.676328 0.612903 +vt 0.671498 0.604839 +vt 0.579710 0.612903 +vt 0.579710 0.500000 +vt 0.579710 0.403226 +vt 0.676328 0.387097 +vt 0.579710 0.387097 +vt 0.676328 0.500000 +vt 0.570048 0.403226 +vt 0.570048 0.500000 +vt 0.743961 0.266129 +vt 0.743961 0.201613 +vt 0.821256 0.266129 +vt 0.739130 0.274194 +vt 0.821256 0.201613 +vt 0.826087 0.274194 +vt 0.787440 0.370968 +vt 0.710145 0.370968 +vt 0.690821 0.306452 +vt 0.690821 0.370968 +vt 0.806763 0.370968 +vt 0.787440 0.306452 +vt 0.806763 0.306452 +vt 0.710145 0.403226 +vt 0.787440 0.403226 +vt 0.690821 -0.000000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +s off +f 132/320/77 138/321/77 134/322/77 +f 145/323/78 131/324/78 143/325/78 +f 130/326/78 148/327/78 128/328/78 +f 144/329/79 134/330/79 146/331/79 +f 143/332/80 132/333/80 144/329/80 +f 146/331/81 133/334/81 145/323/81 +f 138/335/81 141/336/81 137/337/81 +f 131/338/77 136/339/77 132/320/77 +f 134/322/77 137/340/77 133/341/77 +f 133/341/77 135/342/77 131/338/77 +f 141/336/82 140/343/82 139/344/82 +f 137/345/78 139/344/78 135/346/78 +f 136/339/79 142/347/79 138/321/79 +f 135/348/80 140/343/80 136/349/80 +f 127/350/77 144/329/77 128/351/77 +f 129/352/77 143/353/77 127/350/77 +f 128/351/77 146/331/77 130/354/77 +f 130/354/77 145/355/77 129/352/77 +f 148/327/77 149/356/77 147/357/77 +f 128/358/81 147/357/81 127/359/81 +f 129/360/80 150/361/80 130/362/80 +f 127/363/79 149/356/79 129/364/79 +f 132/320/77 136/339/77 138/321/77 +f 145/323/78 133/334/78 131/324/78 +f 130/326/78 150/361/78 148/327/78 +f 144/329/79 132/333/79 134/330/79 +f 143/332/80 131/365/80 132/333/80 +f 146/331/81 134/330/81 133/334/81 +f 138/335/81 142/347/81 141/336/81 +f 131/338/77 135/342/77 136/339/77 +f 134/322/77 138/321/77 137/340/77 +f 133/341/77 137/340/77 135/342/77 +f 141/336/82 142/347/82 140/343/82 +f 137/345/78 141/336/78 139/344/78 +f 136/339/79 140/343/79 142/347/79 +f 135/348/80 139/344/80 140/343/80 +f 127/350/77 143/353/77 144/329/77 +f 129/352/77 145/355/77 143/353/77 +f 128/351/77 144/329/77 146/331/77 +f 130/354/77 146/331/77 145/355/77 +f 148/327/77 150/361/77 149/356/77 +f 128/358/81 148/327/81 147/357/81 +f 129/360/80 149/356/80 150/361/80 +f 127/363/79 147/357/79 149/356/79 +o Sight +v 0.250000 2.375000 -1.875000 +v 0.250000 2.375000 -3.125000 +v -0.250000 2.375000 -1.875000 +v -0.250000 2.375000 -3.125000 +v 0.250000 2.500000 -1.875000 +v 0.250000 2.500000 -3.125000 +v -0.250000 2.500000 -1.875000 +v -0.250000 2.500000 -3.125000 +v 0.250000 2.500000 -3.125000 +v -0.250000 2.500000 -3.125000 +v 0.250000 2.625000 -3.125000 +v -0.250000 2.625000 -3.125000 +v 0.250000 2.500000 -3.000000 +v -0.250000 2.500000 -3.000000 +v 0.250000 2.625000 -3.000000 +v -0.250000 2.625000 -3.000000 +v 0.062500 2.625000 -3.125000 +v 0.062500 2.625000 -3.000000 +v 0.000000 2.562500 -3.125000 +v 0.000000 2.562500 -3.000000 +v -0.062500 2.625000 -3.125000 +v -0.062500 2.625000 -3.000000 +vt 0.009662 0.903226 +vt 0.106280 0.838710 +vt 0.106280 0.903226 +vt 0.106280 0.983871 +vt 0.009662 0.919355 +vt 0.106280 0.919355 +vt 0.115942 0.983871 +vt 0.115942 0.919355 +vt 0.009662 1.000000 +vt 0.106280 1.000000 +vt -0.000000 0.919355 +vt 0.009662 0.983871 +vt -0.000000 0.983871 +vt 0.125604 0.895161 +vt 0.135266 0.919355 +vt 0.125604 0.919355 +vt 0.125604 0.854839 +vt 0.135266 0.879032 +vt 0.125604 0.879032 +vt 0.135266 0.935484 +vt 0.125604 0.887097 +vt 0.135266 0.854839 +vt 0.125604 0.838710 +vt 0.135266 0.838710 +vt 0.144928 0.919355 +vt 0.140097 0.887097 +vt 0.144928 0.854839 +vt 0.135266 0.887097 +vt 0.120773 0.887097 +vt 0.115942 0.919355 +vt 0.115942 0.854839 +vt 0.009662 0.838710 +vt 0.135266 0.895161 +vt 0.125604 0.935484 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +s off +f 151/366/83 154/367/83 152/368/83 +f 158/369/84 155/370/84 156/371/84 +f 154/372/85 156/371/85 152/373/85 +f 152/368/86 155/370/86 151/366/86 +f 153/374/87 158/369/87 154/375/87 +f 151/376/88 157/377/88 153/378/88 +f 172/379/84 162/380/84 166/381/84 +f 165/382/84 167/383/84 168/384/84 +f 160/385/87 166/381/87 162/380/87 +f 167/383/89 170/386/89 168/384/89 +f 161/387/86 163/388/86 159/389/86 +f 160/390/85 169/391/85 159/392/85 +f 169/393/90 172/379/90 170/386/90 +f 170/394/88 164/395/88 163/396/88 +f 151/366/83 153/397/83 154/367/83 +f 158/369/84 157/377/84 155/370/84 +f 154/372/85 158/369/85 156/371/85 +f 152/368/86 156/371/86 155/370/86 +f 153/374/87 157/377/87 158/369/87 +f 151/376/88 155/370/88 157/377/88 +f 172/379/84 171/398/84 162/380/84 +f 165/382/84 161/387/84 167/383/84 +f 160/385/87 164/399/87 166/381/87 +f 167/383/89 169/393/89 170/386/89 +f 161/387/86 165/382/86 163/388/86 +f 160/390/85 162/380/85 171/398/85 +f 169/391/85 167/383/85 159/392/85 +f 167/383/85 161/387/85 159/392/85 +f 160/390/85 171/398/85 169/391/85 +f 169/393/90 171/398/90 172/379/90 +f 163/396/88 165/382/88 168/384/88 +f 170/394/88 172/379/88 164/395/88 +f 172/379/88 166/381/88 164/395/88 +f 163/396/88 168/384/88 170/394/88 +o Hammer +v -0.125000 1.250000 -3.500000 +v 0.125000 1.250000 -3.500000 +v -0.125000 2.312500 -3.500000 +v 0.125000 2.312500 -3.500000 +v -0.125000 2.187500 -3.750000 +v -0.125000 1.250000 -3.750000 +v 0.125000 1.250000 -3.750000 +v 0.125000 2.187500 -3.750000 +v 0.187500 2.125000 -4.187500 +v 0.187500 2.301777 -4.114277 +v 0.187500 2.375000 -3.937500 +v 0.187500 2.301777 -3.760723 +v 0.187500 2.125000 -3.687500 +v 0.187500 1.948223 -3.760723 +v 0.187500 1.875000 -3.937500 +v 0.187500 1.948223 -4.114277 +v -0.187500 2.125000 -4.187500 +v -0.187500 2.301777 -4.114277 +v -0.187500 2.375000 -3.937500 +v -0.187500 2.301777 -3.760723 +v -0.187500 2.125000 -3.687500 +v -0.187500 1.948223 -3.760723 +v -0.187500 1.875000 -3.937500 +v -0.187500 1.948223 -4.114277 +v -0.187500 2.036612 -4.025888 +v -0.187500 2.000000 -3.937500 +v -0.187500 2.036612 -3.849112 +v -0.187500 2.125000 -3.812500 +v -0.187500 2.213388 -3.849112 +v -0.187500 2.250000 -3.937500 +v -0.187500 2.213388 -4.025888 +v -0.187500 2.125000 -4.062500 +v 0.187500 2.036612 -4.025888 +v 0.187500 2.000000 -3.937500 +v 0.187500 2.036612 -3.849112 +v 0.187500 2.125000 -3.812500 +v 0.187500 2.213388 -3.849112 +v 0.187500 2.250000 -3.937500 +v 0.187500 2.213388 -4.025888 +v 0.187500 2.125000 -4.062500 +vt 0.908213 0.467742 +vt 0.888889 0.604839 +vt 0.888889 0.467742 +vt 0.946860 0.588710 +vt 0.927536 0.467742 +vt 0.946860 0.467742 +vt 0.927536 0.620968 +vt 0.946860 0.620968 +vt 0.927536 0.588710 +vt 0.908213 0.604839 +vt 0.966184 0.467742 +vt 0.212560 0.870968 +vt 0.198068 0.887097 +vt 0.198068 0.870968 +vt 0.241546 0.870968 +vt 0.227053 0.887097 +vt 0.227053 0.870968 +vt 0.270531 0.870968 +vt 0.256039 0.887097 +vt 0.256039 0.870968 +vt 0.169082 0.806452 +vt 0.183575 0.822581 +vt 0.169082 0.822581 +vt 0.227053 0.806452 +vt 0.241546 0.822581 +vt 0.227053 0.822581 +vt 0.183575 0.870968 +vt 0.169082 0.887097 +vt 0.169082 0.870968 +vt 0.198068 0.806452 +vt 0.212560 0.822581 +vt 0.198068 0.822581 +vt 0.256039 0.806452 +vt 0.270531 0.822581 +vt 0.256039 0.822581 +vt 0.222222 0.887097 +vt 0.212560 0.887097 +vt 0.154589 0.870968 +vt 0.164251 0.887097 +vt 0.154589 0.887097 +vt 0.193237 0.887097 +vt 0.183575 0.887097 +vt 0.222222 0.806452 +vt 0.251208 0.806452 +vt 0.154589 0.822581 +vt 0.164251 0.806452 +vt 0.193237 0.806452 +vt 0.251208 0.887097 +vt 0.241546 0.887097 +vt 0.966184 0.604839 +vt 0.207729 0.887097 +vt 0.236715 0.887097 +vt 0.265700 0.887097 +vt 0.178744 0.806452 +vt 0.236715 0.806452 +vt 0.178744 0.887097 +vt 0.207729 0.806452 +vt 0.265700 0.806452 +vt 0.212560 0.806452 +vt 0.241546 0.806452 +vt 0.154589 0.806452 +vt 0.183575 0.806452 +vt 0.154589 0.935484 +vt 0.227053 0.935484 +vt 0.256039 0.935484 +vt 0.169082 0.935484 +vt 0.183575 0.935484 +vt 0.212560 0.935484 +vt 0.241546 0.935484 +vt 0.198068 0.935484 +vt 0.164251 0.935484 +vt 0.236715 0.935484 +vt 0.265700 0.935484 +vt 0.178744 0.935484 +vt 0.193237 0.935484 +vt 0.222222 0.935484 +vt 0.251208 0.935484 +vt 0.207729 0.935484 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.8944 -0.4472 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -1.0000 0.0000 +s off +f 174/400/91 175/401/91 173/402/91 +f 177/403/92 179/404/92 178/405/92 +f 176/406/93 177/403/93 175/407/93 +f 174/400/94 180/408/94 176/409/94 +f 173/410/95 177/403/95 178/405/95 +f 183/411/94 211/412/94 182/413/94 +f 185/414/94 209/415/94 184/416/94 +f 187/417/94 207/418/94 186/419/94 +f 197/420/95 189/421/95 196/422/95 +f 201/423/95 193/424/95 192/425/95 +f 181/426/94 205/427/94 188/428/94 +f 203/429/95 191/430/95 190/431/95 +f 199/432/95 195/433/95 194/434/95 +f 183/411/94 209/435/94 210/436/94 +f 187/437/94 205/438/94 206/439/94 +f 181/426/94 211/440/94 212/441/94 +f 191/430/95 201/442/95 192/425/95 +f 193/424/95 199/443/95 194/434/95 +f 195/444/95 197/445/95 196/422/95 +f 189/421/95 203/446/95 190/431/95 +f 185/414/94 207/447/94 208/448/94 +f 174/400/91 176/409/91 175/401/91 +f 177/403/92 180/408/92 179/404/92 +f 176/406/93 180/408/93 177/403/93 +f 174/400/94 179/404/94 180/408/94 +f 173/410/95 175/449/95 177/403/95 +f 183/411/94 210/450/94 211/412/94 +f 185/414/94 208/451/94 209/415/94 +f 187/417/94 206/452/94 207/418/94 +f 197/420/95 204/453/95 189/421/95 +f 201/423/95 200/454/95 193/424/95 +f 181/426/94 212/455/94 205/427/94 +f 203/429/95 202/456/95 191/430/95 +f 199/432/95 198/457/95 195/433/95 +f 183/411/94 184/416/94 209/435/94 +f 187/437/94 188/428/94 205/438/94 +f 181/426/94 182/413/94 211/440/94 +f 191/430/95 202/458/95 201/442/95 +f 193/424/95 200/459/95 199/443/95 +f 195/444/95 198/460/95 197/445/95 +f 189/421/95 204/461/95 203/446/95 +f 185/414/94 186/419/94 207/447/94 +s 1 +f 193/424/91 186/419/96 185/414/91 +f 191/430/97 184/416/98 183/411/97 +f 189/421/92 182/413/99 181/426/92 +f 196/422/100 181/426/92 188/428/100 +f 194/434/96 187/417/101 186/419/96 +f 192/425/98 185/414/91 184/416/98 +f 190/431/99 183/411/97 182/413/99 +f 195/444/101 188/428/100 187/437/101 +f 205/438/98 198/462/97 206/439/97 +f 208/451/92 201/463/100 209/415/100 +f 206/452/97 199/464/99 207/418/99 +f 212/455/91 197/465/98 205/427/98 +f 211/440/96 204/466/91 212/441/91 +f 209/435/100 202/467/101 210/436/101 +f 207/447/99 200/468/92 208/448/92 +f 210/450/101 203/469/96 211/412/96 +f 193/424/91 194/434/96 186/419/96 +f 191/430/97 192/425/98 184/416/98 +f 189/421/92 190/431/99 182/413/99 +f 196/422/100 189/421/92 181/426/92 +f 194/434/96 195/433/101 187/417/101 +f 192/425/98 193/424/91 185/414/91 +f 190/431/99 191/430/97 183/411/97 +f 195/444/101 196/422/100 188/428/100 +f 205/438/98 197/470/98 198/462/97 +f 208/451/92 200/471/92 201/463/100 +f 206/452/97 198/472/97 199/464/99 +f 212/455/91 204/473/91 197/465/98 +f 211/440/96 203/474/96 204/466/91 +f 209/435/100 201/475/100 202/467/101 +f 207/447/99 199/476/99 200/468/92 +f 210/450/101 202/477/101 203/469/96 +o Slide +v -0.250000 1.750000 -0.625000 +v 0.250000 1.750000 -0.625000 +v 0.250000 1.750000 -3.250000 +v 0.250000 2.250000 -3.250000 +v -0.250000 2.250000 -3.250000 +v -0.250000 1.750000 -3.250000 +v -0.500000 1.750000 -3.250000 +v 0.500000 1.750000 -3.250000 +v -0.500000 2.250000 -3.250000 +v 0.500000 2.250000 -3.250000 +v -0.500000 1.750000 -3.500000 +v 0.500000 1.750000 -3.500000 +v -0.500000 2.250000 -3.500000 +v 0.500000 2.250000 -3.500000 +v 0.625000 2.250000 -3.375000 +v 0.625000 1.750000 -3.375000 +v -0.625000 1.750000 -3.375000 +v -0.625000 2.250000 -3.375000 +v -0.187500 2.250000 -0.687500 +v 0.187500 2.250000 -0.687500 +v -0.187500 2.250000 -3.000000 +v 0.187500 2.250000 -3.000000 +v -0.187500 2.187500 -0.687500 +v 0.187500 2.187500 -0.687500 +v -0.187500 2.187500 -3.000000 +v 0.187500 2.187500 -3.000000 +v -0.125000 2.250000 -0.687500 +v -0.125000 2.250000 -3.000000 +v -0.125000 2.187500 -0.687500 +v -0.125000 2.187500 -3.000000 +v 0.125000 2.250000 -0.687500 +v 0.125000 2.250000 -3.000000 +v 0.125000 2.187500 -0.687500 +v 0.125000 2.187500 -3.000000 +v -0.250000 2.250000 -0.625000 +v 0.250000 2.250000 -0.625000 +vt 0.328502 0.685484 +vt 0.507246 0.677419 +vt 0.507246 0.685484 +vt 0.507246 0.669355 +vt 0.328502 0.661290 +vt 0.507246 0.661290 +vt 0.840580 0.814516 +vt 0.637681 0.750000 +vt 0.840580 0.750000 +vt 0.357488 0.814516 +vt 0.541063 0.806452 +vt 0.560386 0.814516 +vt 0.618357 0.717742 +vt 0.628019 0.701613 +vt 0.637681 0.717742 +vt 0.328502 0.677419 +vt 0.507246 0.685484 +vt 0.328502 0.685484 +vt 0.507246 0.661290 +vt 0.328502 0.669355 +vt 0.328502 0.661290 +vt 0.362319 0.766129 +vt 0.541063 0.798387 +vt 0.362319 0.798387 +vt 0.507246 0.677419 +vt 0.507246 0.669355 +vt 0.328502 0.677419 +vt 0.328502 0.669355 +vt 0.560386 0.750000 +vt 0.579710 0.717742 +vt 0.512077 0.677419 +vt 0.512077 0.677419 +vt 0.512077 0.669355 +vt 0.357488 0.750000 +vt 0.323671 0.669355 +vt 0.323671 0.669355 +vt 0.318841 0.750000 +vt 0.318841 0.814516 +vt 0.541063 0.758065 +vt 0.357488 0.879032 +vt 0.560386 0.879032 +vt 0.560386 0.685484 +vt 0.637681 0.814516 +vt 0.362319 0.806452 +vt 0.618357 0.846774 +vt 0.637681 0.846774 +vt 0.628019 0.862903 +vt 0.541063 0.766129 +vt 0.570048 0.862903 +vt 0.560386 0.846774 +vt 0.579710 0.846774 +vt 0.560386 0.717742 +vt 0.570048 0.701613 +vt 0.512077 0.669355 +vt 0.362319 0.758065 +vt 0.323671 0.677419 +vt 0.323671 0.677419 +vt 0.357488 0.685484 +vt 0.618357 0.653226 +vt 0.579710 0.685484 +vt 0.579710 0.653226 +vt 0.579710 0.911290 +vt 0.618357 0.879032 +vt 0.618357 0.911290 +vt 0.618357 0.701613 +vt 0.579710 0.701613 +vt 0.579710 0.862903 +vt 0.618357 0.862903 +vt 0.618357 0.685484 +vt 0.579710 0.879032 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.3827 0.0000 0.9239 +vn -0.3827 0.0000 0.9239 +vn 0.3827 0.0000 -0.9239 +vn -0.3827 0.0000 -0.9239 +s off +f 243/478/102 246/479/102 244/480/102 +f 238/481/103 232/482/103 234/483/103 +f 213/484/104 215/485/104 214/486/104 +f 247/487/105 233/488/105 217/489/105 +f 224/490/104 228/491/104 220/492/104 +f 235/493/102 233/494/102 231/495/102 +f 240/496/103 241/497/103 239/498/103 +f 243/499/105 240/500/105 239/501/105 +f 237/502/105 241/497/105 242/503/105 +f 238/481/105 245/504/105 236/505/105 +f 216/506/105 226/507/105 217/489/105 +f 242/503/106 233/508/106 237/502/106 +f 244/509/106 238/481/106 234/510/106 +f 247/487/105 248/511/105 243/499/105 +f 245/504/107 232/512/107 236/505/107 +f 235/493/107 239/513/107 241/497/107 +f 214/514/106 247/487/106 213/515/106 +f 234/516/105 248/511/105 216/506/105 +f 213/517/103 217/489/103 218/518/103 +f 248/511/102 215/519/102 216/506/102 +f 243/478/102 245/504/102 246/479/102 +f 238/481/103 236/505/103 232/482/103 +f 213/484/104 218/520/104 215/485/104 +f 247/487/105 231/521/105 233/488/105 +f 220/492/104 215/485/104 224/490/104 +f 215/485/104 218/520/104 223/522/104 +f 223/522/104 218/520/104 219/523/104 +f 219/523/104 229/524/104 223/522/104 +f 223/522/104 224/490/104 215/485/104 +f 235/493/102 237/502/102 233/494/102 +f 240/496/103 242/503/103 241/497/103 +f 243/499/105 244/525/105 240/500/105 +f 237/502/105 235/493/105 241/497/105 +f 238/481/105 246/479/105 245/504/105 +f 217/489/105 233/488/105 240/500/105 +f 244/525/105 234/516/105 216/506/105 +f 217/489/105 240/500/105 244/525/105 +f 230/526/105 221/527/105 225/528/105 +f 221/527/105 217/489/105 225/528/105 +f 226/507/105 225/528/105 217/489/105 +f 222/529/105 227/530/105 226/507/105 +f 217/489/105 244/525/105 216/506/105 +f 216/506/105 222/529/105 226/507/105 +f 242/503/106 240/531/106 233/508/106 +f 244/509/106 246/479/106 238/481/106 +f 232/532/105 243/499/105 248/511/105 +f 243/499/105 239/501/105 247/487/105 +f 239/501/105 231/521/105 247/487/105 +f 245/504/107 243/533/107 232/512/107 +f 235/493/107 231/534/107 239/513/107 +f 214/514/106 248/511/106 247/487/106 +f 234/516/105 232/532/105 248/511/105 +f 213/517/103 247/487/103 217/489/103 +f 248/511/102 214/535/102 215/519/102 +s 1 +f 215/536/106 222/537/108 216/538/106 +f 217/539/106 219/540/109 218/541/106 +f 228/542/102 226/507/110 227/543/102 +f 230/544/103 223/522/111 229/545/103 +f 226/507/110 223/522/111 225/528/111 +f 220/546/108 227/543/102 222/537/108 +f 221/547/109 229/545/103 219/540/109 +f 215/536/106 220/546/108 222/537/108 +f 217/539/106 221/547/109 219/540/109 +f 228/542/102 224/490/110 226/507/110 +f 230/544/103 225/528/111 223/522/111 +f 226/507/110 224/490/110 223/522/111 +f 220/546/108 228/542/102 227/543/102 +f 221/547/109 230/544/103 229/545/103 +o Gun +v 0.000000 2.312500 4.000000 +v -0.156250 2.270633 4.000000 +v -0.270633 2.156250 4.000000 +v -0.312500 2.000000 4.000000 +v -0.270633 1.843750 4.000000 +v -0.156250 1.729367 4.000000 +v 0.000000 1.687500 4.000000 +v 0.156250 1.729367 4.000000 +v 0.270633 1.843750 4.000000 +v 0.312500 2.000000 4.000000 +v 0.270633 2.156250 4.000000 +v 0.156250 2.270633 4.000000 +v 0.000000 2.312500 0.125000 +v -0.156250 2.270633 0.125000 +v -0.270633 2.156250 0.125000 +v -0.312500 2.000000 0.125000 +v -0.270633 1.843750 0.125000 +v -0.156250 1.729367 0.125000 +v 0.000000 1.687500 0.125000 +v 0.156250 1.729367 0.125000 +v 0.270633 1.843750 0.125000 +v 0.312500 2.000000 0.125000 +v 0.270633 2.156250 0.125000 +v 0.156250 2.270633 0.125000 +v 0.000000 2.375000 0.000000 +v -0.187500 2.324760 0.000000 +v -0.324759 2.187500 0.000000 +v -0.375000 2.000000 0.000000 +v -0.324759 1.812500 0.000000 +v -0.187500 1.675241 0.000000 +v 0.000000 1.625000 0.000000 +v 0.187500 1.675241 0.000000 +v 0.324759 1.812500 0.000000 +v 0.375000 2.000000 0.000000 +v 0.324760 2.187500 0.000000 +v 0.187500 2.324759 0.000000 +v 0.000000 2.375000 -0.250000 +v -0.187500 2.324760 -0.250000 +v -0.324759 2.187500 -0.250000 +v -0.375000 2.000000 -0.250000 +v -0.324759 1.812500 -0.250000 +v -0.187500 1.675241 -0.250000 +v 0.000000 1.625000 -0.250000 +v 0.187500 1.675241 -0.250000 +v 0.324759 1.812500 -0.250000 +v 0.375000 2.000000 -0.250000 +v 0.324760 2.187500 -0.250000 +v 0.187500 2.324759 -0.250000 +v -0.375000 0.625000 -0.625000 +v 0.375000 0.625000 -0.625000 +v -0.375000 0.625000 -1.875000 +v 0.375000 0.625000 -1.875000 +v -0.187500 2.375000 -0.250000 +v -0.375000 2.187500 -0.250000 +v 0.375000 2.187500 -0.250000 +v 0.187500 2.375000 -0.250000 +v -0.375000 2.187500 -0.625000 +v -0.187500 2.375000 -0.625000 +v 0.187500 2.375000 -0.625000 +v 0.375000 2.187500 -0.625000 +v -0.375000 2.187500 -1.750000 +v 0.375000 2.187500 -1.750000 +v -0.375000 1.000000 -1.875000 +v 0.375000 1.000000 -1.875000 +v -0.375000 1.125000 -2.000000 +v 0.375000 1.125000 -2.000000 +v -0.375000 1.125000 -2.375000 +v 0.375000 1.125000 -2.375000 +v -0.375000 0.875000 -2.625000 +v 0.375000 0.875000 -2.625000 +v -0.375000 2.375000 -1.750000 +v 0.375000 2.375000 -1.750000 +v -0.375000 1.625000 -0.250000 +v 0.375000 1.625000 -0.250000 +v -0.375000 1.625000 -0.625000 +v 0.375000 1.625000 -0.625000 +v -0.375000 2.375000 -2.125000 +v 0.375000 2.375000 -2.125000 +v 0.250000 1.687500 -1.750000 +v 0.250000 1.687500 -0.625000 +v -0.250000 1.687500 -0.625000 +v -0.250000 1.687500 -1.750000 +v -0.250000 2.187500 -1.750000 +v -0.250000 2.187500 -0.625000 +v 0.250000 2.187500 -0.625000 +v 0.250000 2.187500 -1.750000 +v -0.375000 2.000000 -2.125000 +v 0.375000 2.000000 -2.125000 +v -0.375000 2.000000 -3.250000 +v 0.375000 2.000000 -3.250000 +v -0.375000 1.750000 -3.250000 +v 0.375000 1.750000 -3.250000 +v 0.312500 2.375000 -2.125000 +v 0.312500 2.000000 -2.125000 +v 0.312500 2.000000 -3.250000 +v 0.312500 2.375000 -3.250000 +v -0.312500 2.375000 -2.125000 +v -0.312500 2.000000 -2.125000 +v -0.312500 2.000000 -3.250000 +v -0.312500 2.375000 -3.250000 +v 0.000000 2.250000 4.000000 +v -0.125000 2.216506 4.000000 +v -0.216506 2.125000 4.000000 +v -0.250000 2.000000 4.000000 +v -0.216506 1.875000 4.000000 +v -0.125000 1.783494 4.000000 +v 0.000000 1.750000 4.000000 +v 0.125000 1.783493 4.000000 +v 0.216506 1.875000 4.000000 +v 0.250000 2.000000 4.000000 +v 0.216506 2.125000 4.000000 +v 0.125000 2.216506 4.000000 +v 0.000000 2.250000 -0.625000 +v -0.125000 2.216506 -0.625000 +v -0.216506 2.125000 -0.625000 +v -0.250000 2.000000 -0.625000 +v -0.216506 1.875000 -0.625000 +v -0.125000 1.783494 -0.625000 +v 0.000000 1.750000 -0.625000 +v 0.125000 1.783493 -0.625000 +v 0.216506 1.875000 -0.625000 +v 0.250000 2.000000 -0.625000 +v 0.216506 2.125000 -0.625000 +v 0.125000 2.216506 -0.625000 +v -0.125000 0.687500 -1.875000 +v 0.125000 0.687500 -1.875000 +v -0.125000 0.687500 -2.500000 +v 0.125000 0.687500 -2.500000 +v -0.125000 0.875000 -2.625000 +v 0.125000 0.875000 -2.625000 +v -0.125000 0.625000 -1.875000 +v 0.125000 0.625000 -1.875000 +v -0.125000 0.625000 -2.500000 +v 0.125000 0.625000 -2.500000 +v -0.125000 0.875000 -2.750000 +v 0.125000 0.875000 -2.750000 +v 0.375000 2.000000 -0.250000 +v 0.375000 1.875000 -0.250000 +v 0.375000 2.000000 -3.250000 +v 0.375000 1.875000 -3.250000 +v 0.500000 2.000000 -0.375000 +v 0.500000 1.875000 -0.375000 +v 0.500000 2.000000 -3.250000 +v 0.500000 1.875000 -3.250000 +v -0.500000 2.000000 -0.375000 +v -0.500000 1.875000 -0.375000 +v -0.500000 2.000000 -3.250000 +v -0.500000 1.875000 -3.250000 +v -0.375000 2.000000 -0.250000 +v -0.375000 1.875000 -0.250000 +v -0.375000 2.000000 -3.250000 +v -0.375000 1.875000 -3.250000 +v -0.125000 2.250000 3.875000 +v 0.125000 2.250000 3.875000 +v -0.125000 2.250000 3.625000 +v 0.125000 2.250000 3.625000 +v -0.125000 2.375000 3.875000 +v 0.125000 2.375000 3.875000 +v -0.125000 2.375000 3.625000 +v 0.125000 2.375000 3.625000 +v -0.062500 2.500000 3.625000 +v -0.062500 2.500000 3.875000 +v 0.062500 2.500000 3.875000 +v 0.062500 2.500000 3.625000 +v -0.062500 2.625000 3.625000 +v -0.062500 2.625000 3.875000 +v 0.062500 2.625000 3.875000 +v 0.062500 2.625000 3.625000 +v 0.375000 2.375000 -1.750000 +v 0.375000 2.375000 -2.125000 +v 0.375000 2.500000 -1.750000 +v 0.375000 2.500000 -2.125000 +v 0.375000 2.625000 -1.875000 +v 0.375000 2.625000 -2.000000 +v 0.250000 2.375000 -1.750000 +v 0.250000 2.375000 -2.125000 +v 0.250000 2.500000 -1.750000 +v 0.250000 2.500000 -2.125000 +v 0.250000 2.625000 -1.875000 +v 0.250000 2.625000 -2.000000 +v -0.250000 2.375000 -1.750000 +v -0.250000 2.375000 -2.125000 +v -0.250000 2.500000 -1.750000 +v -0.250000 2.500000 -2.125000 +v -0.250000 2.625000 -1.875000 +v -0.250000 2.625000 -2.000000 +v -0.375000 2.375000 -1.750000 +v -0.375000 2.375000 -2.125000 +v -0.375000 2.500000 -1.750000 +v -0.375000 2.500000 -2.125000 +v -0.375000 2.625000 -1.875000 +v -0.375000 2.625000 -2.000000 +v -0.375000 0.875000 -3.875000 +v 0.375000 0.875000 -3.875000 +v -0.375000 1.750000 -3.500000 +v 0.375000 1.750000 -3.500000 +v -0.375000 1.250000 -4.000000 +v 0.375000 1.250000 -4.000000 +v -0.375000 1.625000 -3.875000 +v 0.375000 1.625000 -3.875000 +v -0.125000 0.875000 -2.375000 +v 0.125000 0.875000 -2.375000 +v -0.125000 1.125000 -2.375000 +v 0.125000 1.125000 -2.375000 +v -0.125000 0.750000 -2.250000 +v 0.125000 0.750000 -2.250000 +v -0.125000 0.875000 -2.312500 +v 0.125000 0.875000 -2.312500 +v -0.125000 1.125000 -2.250000 +v 0.125000 1.125000 -2.250000 +v -0.125000 0.875000 -2.750000 +v 0.125000 0.875000 -2.750000 +v -0.125000 0.375000 -3.125000 +v 0.125000 0.375000 -3.125000 +v -0.125000 -1.000000 -3.375000 +v 0.125000 -1.000000 -3.375000 +v -0.125000 -1.000000 -4.500000 +v 0.125000 -1.000000 -4.500000 +v -0.125000 -0.500000 -4.500000 +v 0.125000 -0.500000 -4.500000 +v -0.125000 0.187500 -4.312500 +v 0.125000 0.187500 -4.312500 +v -0.125000 0.875000 -3.812500 +v 0.125000 0.875000 -3.812500 +v 0.250000 0.375000 -3.250000 +v 0.250000 0.875000 -2.875000 +v 0.250000 -0.875000 -3.500000 +v 0.250000 -0.875000 -4.375000 +v 0.250000 -0.500000 -4.375000 +v 0.250000 0.187500 -4.187500 +v 0.250000 0.875000 -3.687500 +v -0.250000 0.875000 -2.875000 +v -0.250000 0.375000 -3.250000 +v -0.250000 -0.875000 -3.500000 +v -0.250000 -0.875000 -4.375000 +v -0.250000 -0.500000 -4.375000 +v -0.250000 0.187500 -4.187500 +v -0.250000 0.875000 -3.687500 +v -0.187500 2.875000 -0.375000 +v 0.187500 2.875000 -0.375000 +v -0.187500 2.875000 -0.500000 +v 0.187500 2.875000 -0.500000 +v -0.312500 2.750000 -0.375000 +v -0.312500 2.750000 -0.500000 +v 0.312500 2.750000 -0.375000 +v 0.312500 2.750000 -0.500000 +v -0.312500 2.250000 -0.375000 +v -0.312500 2.250000 -0.500000 +v 0.312500 2.250000 -0.375000 +v 0.312500 2.250000 -0.500000 +v 0.250000 2.750000 -0.375000 +v 0.250000 2.750000 -0.500000 +v 0.250000 2.250000 -0.375000 +v 0.250000 2.250000 -0.500000 +v -0.250000 2.750000 -0.375000 +v -0.250000 2.750000 -0.500000 +v -0.250000 2.250000 -0.375000 +v -0.250000 2.250000 -0.500000 +v -0.187500 2.812500 -0.375000 +v 0.187500 2.812500 -0.375000 +v -0.187500 2.812500 -0.500000 +v 0.187500 2.812500 -0.500000 +v -0.062500 1.437500 -0.625000 +v 0.062500 1.437500 -0.625000 +v -0.062500 1.562500 -0.625000 +v 0.062500 1.562500 -0.625000 +v -0.062500 1.562500 3.375000 +v -0.062500 1.437500 3.375000 +v 0.062500 1.437500 3.375000 +v 0.062500 1.562500 3.375000 +v -0.125000 1.625000 3.625000 +v -0.125000 1.375000 3.625000 +v 0.125000 1.375000 3.625000 +v 0.125000 1.625000 3.625000 +v 0.125000 1.625000 3.375000 +v 0.125000 1.375000 3.375000 +v -0.125000 1.375000 3.375000 +v -0.125000 1.625000 3.375000 +v 0.062500 1.625000 3.437500 +v 0.062500 1.625000 3.562500 +v -0.062500 1.625000 3.562500 +v -0.062500 1.625000 3.437500 +v 0.062500 1.750000 3.437500 +v 0.062500 1.750000 3.562500 +v -0.062500 1.750000 3.562500 +v -0.062500 1.750000 3.437500 +vt 0.057971 0.564516 +vt 0.028986 0.564516 +vt 0.028986 0.540323 +vt 0.014493 0.491935 +vt 0.024155 0.516129 +vt 0.014493 0.500000 +vt 0.154589 0.193548 +vt 0.057971 0.290323 +vt 0.057971 0.193548 +vt 0.057971 0.491935 +vt 0.028986 0.516129 +vt 0.028986 0.491935 +vt 0.028986 0.637097 +vt 0.057971 0.612903 +vt 0.057971 0.637097 +vt 0.405797 0.290323 +vt 0.502415 0.387097 +vt 0.405797 0.387097 +vt 0.458937 0.403226 +vt 0.371981 0.387097 +vt 0.458937 0.387097 +vt -0.000000 0.491935 +vt 0.024155 0.564516 +vt 0.014493 0.588710 +vt 0.014493 0.580645 +vt 0.570048 0.387097 +vt 0.512077 0.516129 +vt 0.512077 0.387097 +vt 0.458937 0.467742 +vt 0.371981 0.467742 +vt 0.371981 0.427419 +vt 0.371981 0.596774 +vt 0.458937 0.612903 +vt 0.371981 0.612903 +vt 0.497585 0.467742 +vt 0.497585 0.451613 +vt 0.512259 0.451621 +vt 0.458937 0.532258 +vt 0.458937 0.596774 +vt 0.371981 0.572581 +vt 0.364768 0.483874 +vt 0.357696 0.472068 +vt 0.173913 0.604839 +vt 0.260870 0.524194 +vt 0.260870 0.604839 +vt 0.144928 0.491935 +vt 0.173913 0.516129 +vt 0.144928 0.516129 +vt 0.154589 0.338710 +vt 0.057971 0.419355 +vt 0.164251 0.354839 +vt 0.173913 0.467742 +vt 0.193237 0.354839 +vt 0.260870 0.467742 +vt 0.260870 0.435484 +vt 0.265700 0.475806 +vt 0.178744 0.524194 +vt 0.178744 0.475806 +vt 0.178744 0.604839 +vt 0.265700 0.653226 +vt 0.178744 0.653226 +vt 0.173913 0.524194 +vt 0.173913 0.524194 +vt 0.173913 0.475806 +vt 0.173913 0.604839 +vt 0.173913 0.653226 +vt 0.178744 0.661290 +vt 0.265700 0.661290 +vt 0.178744 0.467742 +vt 0.265700 0.467742 +vt 0.608696 0.290323 +vt 0.628019 0.298387 +vt 0.628019 0.379032 +vt 0.657005 0.298387 +vt 0.657005 0.379032 +vt 0.173913 0.612903 +vt 0.144928 0.637097 +vt 0.144928 0.612903 +vt 0.057971 0.709677 +vt 0.154589 0.790323 +vt 0.164251 0.774194 +vt 0.173913 0.661290 +vt 0.193237 0.774194 +vt 0.260870 0.661290 +vt 0.260870 0.693548 +vt 0.362319 0.290323 +vt 0.357488 0.266129 +vt 0.362319 0.266129 +vt 0.362319 -0.000000 +vt 0.357488 0.024194 +vt 0.357488 0.000000 +vt 0.362319 0.024194 +vt 0.357488 0.048387 +vt 0.362319 0.048387 +vt 0.357488 0.072581 +vt 0.362319 0.072581 +vt 0.357488 0.096774 +vt 0.362319 0.096774 +vt 0.357488 0.120968 +vt 0.362319 0.120968 +vt 0.357488 0.145161 +vt 0.362319 0.169355 +vt 0.362319 0.145161 +vt 0.362319 0.193548 +vt 0.357488 0.169355 +vt 0.362319 0.217742 +vt 0.357488 0.193548 +vt 0.362319 0.241935 +vt 0.357488 0.217742 +vt 0.357488 0.241935 +vt 0.000000 0.588710 +vt 0.231884 0.241935 +vt 0.280193 0.233871 +vt 0.280193 0.241935 +vt 0.280193 0.193548 +vt 0.231884 0.201613 +vt 0.231884 0.193548 +vt 0.309179 0.201613 +vt 0.299517 0.193548 +vt 0.309179 0.233871 +vt 0.299517 0.241935 +vt 0.647343 0.830645 +vt 0.869565 0.814516 +vt 0.637681 0.814516 +vt 0.869565 0.830645 +vt 0.647343 0.846774 +vt 0.647343 0.830645 +vt 0.869565 0.814516 +vt 0.637681 0.814516 +vt 0.637681 0.830645 +vt 0.637681 0.846774 +vt 0.869565 0.862903 +vt 0.869565 0.846774 +vt 0.879227 0.846774 +vt 0.879227 0.830645 +vt 0.637681 0.846774 +vt 0.647343 0.846774 +vt 0.869565 0.862903 +vt 0.869565 0.846774 +vt 0.879227 0.830645 +vt 0.869565 0.830645 +vt 0.222222 0.266129 +vt 0.212560 0.241935 +vt 0.222222 0.233871 +vt 0.183575 0.306452 +vt 0.202899 0.290323 +vt 0.202899 0.306452 +vt 0.231884 0.266129 +vt 0.231884 0.233871 +vt 0.154589 0.233871 +vt 0.164251 0.266129 +vt 0.154589 0.266129 +vt 0.202899 0.193548 +vt 0.183575 0.209677 +vt 0.183575 0.193548 +vt 0.164251 0.233871 +vt 0.173913 0.258065 +vt 0.183575 0.241935 +vt 0.202899 0.258065 +vt 0.183575 0.258065 +vt 0.212560 0.258065 +vt 0.202899 0.241935 +vt 0.173913 0.241935 +vt 0.318841 0.370968 +vt 0.309179 0.419355 +vt 0.280193 0.435484 +vt 0.309179 0.806452 +vt 0.280193 0.693548 +vt 0.318841 0.758065 +vt 0.724638 0.419355 +vt 0.714976 0.467742 +vt 0.714976 0.419355 +vt 0.734300 0.435484 +vt 0.724638 0.467742 +vt 0.763285 0.467742 +vt 0.753623 0.419355 +vt 0.763285 0.419355 +vt 0.753623 0.467742 +vt 0.743961 0.435484 +vt 0.734300 0.451613 +vt 0.743961 0.467742 +vt 0.734300 0.467742 +vt 0.743961 0.451613 +vt 0.734300 0.403226 +vt 0.743961 0.419355 +vt 0.734300 0.419355 +vt 0.724638 0.419355 +vt 0.714976 0.467742 +vt 0.714976 0.419355 +vt 0.743961 0.483871 +vt 0.734300 0.483871 +vt 0.734300 0.435484 +vt 0.724638 0.467742 +vt 0.763285 0.467742 +vt 0.753623 0.419355 +vt 0.763285 0.419355 +vt 0.753623 0.467742 +vt 0.743961 0.435484 +vt 0.734300 0.451613 +vt 0.743961 0.467742 +vt 0.734300 0.467742 +vt 0.743961 0.451613 +vt 0.734300 0.403226 +vt 0.743961 0.419355 +vt 0.734300 0.419355 +vt 0.743961 0.483871 +vt 0.734300 0.483871 +vt 0.338164 0.290323 +vt 0.318841 0.258065 +vt 0.338164 0.258065 +vt 0.318841 0.241935 +vt 0.318841 0.225806 +vt 0.338164 0.241935 +vt 0.318841 0.193548 +vt 0.338164 0.225806 +vt 0.342995 0.241935 +vt 0.342995 0.258065 +vt 0.314010 0.258065 +vt 0.314010 0.241935 +vt 0.700483 0.483871 +vt 0.690821 0.532258 +vt 0.690821 0.483871 +vt 0.700483 0.532258 +vt 0.690821 0.548387 +vt 0.700483 0.467742 +vt 0.690821 0.467742 +vt 0.700483 0.403226 +vt 0.700483 0.548387 +vt 0.690821 0.612903 +vt 0.685990 0.403226 +vt 0.690821 0.403226 +vt 0.705314 0.467742 +vt 0.705314 0.612903 +vt 0.700483 0.612903 +vt 0.685990 0.548387 +vt 0.705314 0.532258 +vt 0.685990 0.483871 +vt 0.685990 0.475806 +vt 0.705314 0.475806 +vt 0.705314 0.540323 +vt 0.685990 0.540323 +vt 0.714976 0.548387 +vt 0.714976 0.612903 +vt 0.714976 0.540323 +vt 0.705314 0.548387 +vt 0.714976 0.483871 +vt 0.714976 0.532258 +vt 0.714976 0.467742 +vt 0.714976 0.475806 +vt 0.714976 0.403226 +vt 0.705314 0.403226 +vt 0.753623 0.516129 +vt 0.739130 0.524194 +vt 0.734300 0.516129 +vt 0.772947 0.516129 +vt 0.792271 0.548387 +vt 0.772947 0.548387 +vt 0.927536 0.661290 +vt 0.618357 0.645161 +vt 0.927536 0.645161 +vt 0.927536 0.629032 +vt 0.618357 0.612903 +vt 0.927536 0.612903 +vt 0.618357 0.629032 +vt 0.927536 0.677419 +vt 0.618357 0.661290 +vt 0.734300 0.483871 +vt 0.753623 0.483871 +vt 0.753623 0.580645 +vt 0.734300 0.548387 +vt 0.753623 0.548387 +vt 0.768116 0.540323 +vt 0.758454 0.540323 +vt 0.758454 0.524194 +vt 0.768116 0.524194 +vt 0.714976 0.548387 +vt 0.743961 0.596774 +vt 0.753623 0.580645 +vt 0.753623 0.596774 +vt 0.739130 0.540323 +vt 0.748792 0.540323 +vt 0.748792 0.524194 +vt 0.734300 0.596774 +vt 0.743961 0.580645 +vt 0.724638 0.596774 +vt 0.734300 0.580645 +vt 0.714976 0.596774 +vt 0.724638 0.580645 +vt 0.338244 0.472084 +vt 0.333333 0.467742 +vt 0.347826 0.467742 +vt 0.331172 0.483889 +vt 0.338244 0.527946 +vt 0.347826 0.532258 +vt 0.333333 0.532258 +vt 0.331172 0.516141 +vt 0.318841 0.475806 +vt 0.333333 0.451613 +vt 0.318841 0.524194 +vt 0.333333 0.548387 +vt 0.328502 0.500000 +vt 0.028986 0.709677 +vt 0.028986 0.661290 +vt 0.028986 0.467742 +vt 0.357696 0.527931 +vt 0.364768 0.516126 +vt 0.371981 0.532258 +vt 0.367150 0.500000 +vt 0.512077 0.564516 +vt 0.526954 0.570992 +vt 0.516346 0.588701 +vt 0.555937 0.570992 +vt 0.570048 0.564516 +vt 0.566545 0.588701 +vt 0.570048 0.516129 +vt 0.541063 0.564516 +vt 0.057971 0.516129 +vt 0.154589 0.290323 +vt 0.028986 0.612903 +vt 0.502415 0.290323 +vt 0.371981 0.403226 +vt 0.512077 0.548387 +vt 0.497585 0.532258 +vt 0.497585 0.548387 +vt 0.265700 0.524194 +vt 0.265700 0.604839 +vt 0.628019 0.387097 +vt 0.608696 0.387097 +vt 0.628019 0.290323 +vt 0.154589 0.838710 +vt 0.057971 0.838710 +vt 0.357488 0.290323 +vt 0.231884 0.233871 +vt 0.280193 0.201613 +vt 0.637681 0.862903 +vt 0.637681 0.830645 +vt 0.637681 0.862903 +vt 0.879227 0.846774 +vt 0.183575 0.290323 +vt 0.202899 0.209677 +vt 0.212560 0.322581 +vt 0.309179 0.322581 +vt 0.212560 0.806452 +vt 0.309179 0.709677 +vt 0.743961 0.403226 +vt 0.743961 0.403226 +vt 0.318841 0.290323 +vt 0.338164 0.193548 +vt 0.347826 0.290323 +vt 0.309179 0.290323 +vt 0.685990 0.467742 +vt 0.685990 0.612903 +vt 0.705314 0.483871 +vt 0.685990 0.532258 +vt 0.792271 0.516129 +vt 0.618357 0.677419 +vt 0.734300 0.580645 +vt 0.714976 0.516129 +vt 0.714976 0.580645 +vt 0.028986 0.419355 +vt 0.512077 0.612903 +vt 0.570048 0.612903 +vt 0.661836 0.266129 +vt 0.661836 0.193548 +vt 0.661836 0.072581 +vt 0.661836 0.000000 +vt 0.661836 0.217742 +vt 0.661836 0.096774 +vt 0.661836 0.145161 +vt 0.661836 0.024194 +vt 0.661836 0.241935 +vt 0.661836 0.120968 +vt 0.661836 0.169355 +vt 0.661836 0.048387 +vt 0.671498 0.120968 +vt 0.671498 0.145161 +vt 0.671498 0.193548 +vt 0.671498 0.217742 +vt 0.671498 0.241935 +vt 0.671498 0.290323 +vt 0.661836 0.290323 +vt 0.671498 -0.000000 +vt 0.671498 0.048387 +vt 0.671498 0.072581 +vt 0.690821 0.241935 +vt 0.671498 0.096774 +vt 0.690821 0.120968 +vt 0.671498 0.169355 +vt 0.690821 0.145161 +vt 0.690821 0.169355 +vt 0.671498 0.024194 +vt 0.690821 0.048387 +vt 0.690821 0.266129 +vt 0.671498 0.266129 +vt 0.690821 0.193548 +vt 0.690821 0.072581 +vt 0.690821 0.290323 +vt 0.690821 0.217742 +vt 0.690821 0.096774 +vt 0.690821 0.024194 +vt 0.347826 0.290323 +vt 0.357488 0.387097 +vt 0.347826 0.387097 +vt 0.318841 0.290323 +vt 0.318841 0.387097 +vt 0.357488 0.290323 +vt 0.386473 0.387097 +vt 0.386473 0.290323 +vt 0.531401 0.290323 +vt 0.560386 0.387097 +vt 0.531401 0.387097 +vt 0.202899 0.225806 +vt 0.183575 0.225806 +vt 0.000000 0.129032 +vt 0.357488 0.145161 +vt 0.000000 0.145161 +vt 0.000000 0.177419 +vt 0.357488 0.193548 +vt 0.000000 0.193548 +vt -0.000000 0.032258 +vt 0.357488 0.048387 +vt 0.000000 0.048387 +vt 0.000000 0.112903 +vt 0.357488 0.129032 +vt 0.000000 0.080645 +vt 0.357488 0.096774 +vt 0.000000 0.096774 +vt 0.000000 0.161290 +vt 0.357488 0.177419 +vt -0.000000 0.016129 +vt 0.357488 0.032258 +vt 0.357488 0.112903 +vt 0.000000 0.064516 +vt 0.357488 0.080645 +vt 0.357488 0.161290 +vt -0.000000 -0.000000 +vt 0.357488 0.016129 +vt 0.357488 0.064516 +vt 0.280193 0.274194 +vt 0.231884 0.274194 +vt 0.299517 0.274194 +vt 0.202899 0.274194 +vt 0.183575 0.274194 +vt 0.589372 0.290323 +vt 0.589372 0.387097 +vt 0.826087 0.467742 +vt 0.845411 0.403226 +vt 0.845411 0.467742 +vt 0.826087 0.403226 +vt 0.845411 0.225806 +vt 0.893720 0.193548 +vt 0.980676 0.225806 +vt 0.893720 0.225806 +vt 1.000000 0.225806 +vt 0.980676 0.290323 +vt 1.000000 0.290323 +vt 0.980676 0.379032 +vt 1.000000 0.379032 +vt 0.980676 0.467742 +vt 0.980676 0.290323 +vt 0.971014 0.241935 +vt 0.971014 0.290323 +vt 0.903382 0.241935 +vt 0.884058 0.403226 +vt 0.956522 0.379032 +vt 0.932367 0.467742 +vt 0.966184 0.379032 +vt 0.874396 0.403226 +vt 0.855072 0.467742 +vt 0.971014 0.241935 +vt 0.922705 0.467742 +vt 0.971014 0.290323 +vt 0.855072 0.467742 +vt 0.922705 0.467742 +vt 0.884058 0.403226 +vt 0.874396 0.403226 +vt 0.903382 0.241935 +vt 0.893720 0.225806 +vt 0.966184 0.379032 +vt 0.956522 0.379032 +vt 0.980676 0.225806 +vt 0.932367 0.467742 +vt 0.690821 -0.000000 +vt 0.560386 0.290323 +vt 0.357488 -0.000000 +vt 0.826087 0.225806 +vt 0.980676 0.193548 +vt 1.000000 0.467742 +vt 0.845411 0.467742 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -0.0000 -1.0000 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 0.4472 0.8944 +vn 0.0000 -0.2425 0.9701 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.7746 0.4472 0.4472 +vn 0.4472 0.7746 0.4472 +vn 0.0000 0.8944 0.4472 +vn -0.4472 0.7746 0.4472 +vn -0.7746 0.4472 0.4472 +vn -0.8944 0.0000 0.4472 +vn -0.7746 -0.4472 0.4472 +vn -0.4472 -0.7746 0.4472 +vn -0.0000 -0.8944 0.4472 +vn 0.4472 -0.7746 0.4472 +vn 0.7746 -0.4472 0.4472 +vn 0.8944 -0.0000 0.4472 +vn 0.0000 -0.3827 -0.9239 +vn 0.0000 -0.9239 -0.3827 +vn 0.0000 -0.9239 0.3827 +vn 0.0000 -0.7071 0.7071 +vn 0.9732 0.2298 0.0000 +vn 0.0000 0.8817 0.4719 +vn 0.0000 0.5547 0.8321 +vn 0.8944 0.4472 0.0000 +vn -0.8944 0.4472 0.0000 +vn -0.9732 0.2298 0.0000 +vn 0.0000 0.9871 -0.1602 +vn 0.0000 -0.3162 -0.9487 +vn -0.2769 -0.5765 0.7687 +vn 0.3772 -0.3920 0.8391 +vn 0.2769 -0.5765 0.7687 +vn -0.3772 -0.3920 0.8391 +vn 0.3963 -0.7012 0.5926 +vn -0.3963 -0.7012 0.5926 +vn 0.3914 -0.6507 -0.6507 +vn -0.3914 -0.6507 -0.6507 +vn 0.3700 0.1206 -0.9212 +vn -0.3700 0.1206 -0.9212 +vn 0.3488 0.3945 -0.8501 +vn -0.3488 0.3945 -0.8501 +vn 0.3732 0.5457 -0.7503 +vn -0.9054 -0.3002 -0.3002 +vn -0.9111 0.0583 -0.4080 +vn 0.9094 -0.3348 0.2468 +vn 0.9366 -0.1313 0.3248 +vn 0.8935 0.2104 -0.3966 +vn 0.8120 -0.3502 0.4670 +vn 0.9054 -0.3002 -0.3002 +vn 0.9567 0.1712 -0.2354 +vn 0.9111 0.0583 -0.4080 +vn -0.8120 -0.3502 0.4670 +vn -0.9567 0.1712 -0.2354 +vn -0.9366 -0.1313 0.3248 +vn -0.9094 -0.3348 0.2468 +vn -0.8935 0.2104 -0.3966 +vn -0.3732 0.5457 -0.7503 +s off +f 306/548/112 301/549/112 285/550/112 +f 303/551/113 296/552/113 295/553/113 +f 299/554/114 298/555/114 297/556/114 +f 308/557/115 304/558/115 303/559/115 +f 302/560/116 306/561/116 305/562/116 +f 317/563/114 442/564/114 318/565/114 +f 334/566/112 308/567/112 310/568/112 +f 294/569/113 303/551/113 295/553/113 +f 286/570/113 302/571/113 287/572/113 +f 298/573/113 323/574/113 297/575/113 +f 296/552/113 304/558/113 285/550/113 +f 285/550/113 301/549/113 286/570/113 +f 327/576/117 328/577/117 370/578/117 +f 332/579/112 309/580/112 305/581/112 +f 334/582/113 310/583/113 320/584/113 +f 330/585/112 328/577/112 327/576/112 +f 331/586/118 332/579/118 364/587/118 +f 328/577/119 368/588/119 369/589/119 +f 334/582/113 330/585/113 327/576/113 +f 345/590/112 344/591/112 348/592/112 +f 310/593/118 326/594/118 320/595/118 +f 312/596/118 310/593/118 324/597/118 +f 312/596/118 314/598/118 336/599/118 +f 314/598/118 316/600/118 336/599/118 +f 338/601/118 336/599/118 340/602/118 +f 343/603/118 341/604/118 342/605/118 +f 345/606/117 347/607/117 346/608/117 +f 320/595/112 341/609/112 345/590/112 +f 342/605/119 326/610/119 336/611/119 +f 325/612/119 346/608/119 335/613/119 +f 335/614/112 347/607/112 337/615/112 +f 343/603/112 336/616/112 338/617/112 +f 339/618/119 347/619/119 343/620/119 +f 343/620/119 348/621/119 344/622/119 +f 325/623/117 309/624/117 319/625/117 +f 323/626/117 309/624/117 311/627/117 +f 313/628/117 311/627/117 335/629/117 +f 315/630/117 313/628/117 335/629/117 +f 337/631/117 339/632/117 335/629/117 +f 255/633/113 354/634/113 254/635/113 +f 255/636/113 356/637/113 355/638/113 +f 256/639/113 357/640/113 356/637/113 +f 257/641/113 358/642/113 357/640/113 +f 258/643/113 359/644/113 358/642/113 +f 259/645/113 360/646/113 359/644/113 +f 260/647/113 349/648/113 360/646/113 +f 250/649/113 349/648/113 249/650/113 +f 251/651/113 350/652/113 250/649/113 +f 252/653/113 351/654/113 251/651/113 +f 253/655/113 352/656/113 252/653/113 +f 254/635/113 353/657/113 253/655/113 +f 287/572/113 302/571/113 288/658/113 +f 374/659/118 382/660/118 376/661/118 +f 375/662/117 379/663/117 373/664/117 +f 383/665/117 375/662/117 377/666/117 +f 376/661/118 384/667/118 378/668/118 +f 394/669/114 400/670/114 398/671/114 +f 392/672/118 389/673/118 390/674/118 +f 388/675/114 390/674/114 386/676/114 +f 386/677/120 389/673/120 385/678/120 +f 387/679/112 389/673/112 391/680/112 +f 387/681/119 392/672/119 388/682/119 +f 394/669/121 397/683/121 393/684/121 +f 393/684/112 399/685/112 395/686/112 +f 395/686/119 400/687/119 396/688/119 +f 393/684/117 396/688/117 394/669/117 +f 407/689/119 412/690/119 408/691/119 +f 401/692/117 407/693/117 403/694/117 +f 403/695/119 408/691/119 404/696/119 +f 402/697/113 405/698/113 401/699/113 +f 404/700/118 406/701/118 402/702/118 +f 406/703/113 410/704/113 405/698/113 +f 415/705/112 413/706/112 414/707/112 +f 409/708/119 416/709/119 412/690/119 +f 411/710/113 414/707/113 410/704/113 +f 340/602/118 336/599/118 316/600/118 +f 315/630/117 335/629/117 339/632/117 +f 446/711/118 448/712/118 444/713/118 +f 441/714/117 443/715/117 445/716/117 +f 420/717/118 417/718/118 418/719/118 +f 422/720/118 419/721/118 420/717/118 +f 423/722/117 426/723/117 424/724/117 +f 425/725/117 428/726/117 426/723/117 +f 421/727/122 425/728/122 419/729/122 +f 422/720/112 427/730/112 421/727/112 +f 418/731/119 426/732/119 420/733/119 +f 432/734/118 429/735/118 430/736/118 +f 420/733/123 428/726/123 422/720/123 +f 419/729/113 423/737/113 417/738/113 +f 434/739/118 431/740/118 432/734/118 +f 435/741/117 438/742/117 436/743/117 +f 437/744/117 440/745/117 438/742/117 +f 433/746/122 437/747/122 431/748/122 +f 434/739/112 439/749/112 433/746/112 +f 430/750/119 438/751/119 432/752/119 +f 432/752/123 440/745/123 434/739/123 +f 431/748/113 435/753/113 429/754/113 +f 451/755/119 450/756/119 449/757/119 +f 454/758/124 449/757/124 450/756/124 +f 456/759/125 453/760/125 454/758/125 +f 458/761/126 455/762/126 456/759/126 +f 449/757/117 453/763/117 455/764/117 +f 456/765/118 454/766/118 450/756/118 +f 490/767/112 487/768/112 488/769/112 +f 489/770/116 491/771/116 487/768/116 +f 488/769/115 494/772/115 490/767/115 +f 493/773/118 498/774/118 494/772/118 +f 492/775/117 495/776/117 491/771/117 +f 493/773/113 501/777/113 497/778/113 +f 498/774/119 500/779/119 494/772/119 +f 492/775/119 506/780/119 496/781/119 +f 495/776/113 503/782/113 491/771/113 +f 490/767/119 509/783/119 489/770/119 +f 487/768/113 508/784/113 488/769/113 +f 508/785/113 493/773/113 488/769/113 +f 494/772/119 510/786/119 490/767/119 +f 509/787/119 492/775/119 489/770/119 +f 491/771/113 507/788/113 487/768/113 +f 506/780/118 503/789/118 505/790/118 +f 507/791/127 504/792/127 509/787/127 +f 509/783/114 508/793/114 507/794/114 +f 510/786/128 499/795/128 508/796/128 +f 501/797/117 500/779/117 502/798/117 +f 523/799/112 528/800/112 522/801/112 +f 524/802/114 520/803/114 525/804/114 +f 513/805/112 518/806/112 514/807/112 +f 512/808/114 516/809/114 511/810/114 +f 514/807/118 517/811/118 512/808/118 +f 511/812/117 515/813/117 513/805/117 +f 523/799/118 521/814/118 524/815/118 +f 525/816/117 519/817/117 526/818/117 +f 516/819/119 526/818/119 515/820/119 +f 518/821/119 524/802/119 517/822/119 +f 517/822/119 525/804/119 516/819/119 +f 515/820/119 523/799/119 518/821/119 +f 520/823/113 522/801/113 519/817/113 +f 529/824/117 534/825/117 530/826/117 +f 522/801/112 529/827/112 519/817/112 +f 519/817/112 530/828/112 526/818/112 +f 526/818/112 527/829/112 523/799/112 +f 528/830/113 533/831/113 529/824/113 +f 527/832/118 532/833/118 528/830/118 +f 530/834/119 531/835/119 527/832/119 +f 371/836/119 333/837/119 370/838/119 +f 333/837/119 371/836/119 372/839/119 +f 363/840/119 364/841/119 332/842/119 +f 332/842/119 362/843/119 363/840/119 +f 333/837/119 307/844/119 308/845/119 +f 306/846/119 332/842/119 305/847/119 +f 372/839/119 361/848/119 307/844/119 +f 362/843/119 306/846/119 361/848/119 +f 307/844/119 361/848/119 306/846/119 +f 323/626/117 321/849/117 288/850/117 +f 294/851/118 324/597/118 308/557/118 +f 365/852/119 366/853/119 329/854/119 +f 328/577/119 329/854/119 367/855/119 +f 321/856/113 290/857/113 289/858/113 +f 292/859/113 322/860/113 293/861/113 +f 324/862/114 322/860/114 291/863/114 +f 304/558/112 307/864/112 285/550/112 +f 307/864/112 306/548/112 285/550/112 +f 303/551/113 304/558/113 296/552/113 +f 299/554/114 300/865/114 298/555/114 +f 308/557/115 307/864/115 304/558/115 +f 302/560/116 301/866/116 306/561/116 +f 317/563/114 441/867/114 442/564/114 +f 334/566/112 333/868/112 308/567/112 +f 286/570/113 301/549/113 302/571/113 +f 298/573/113 324/862/113 323/574/113 +f 333/868/117 334/566/117 370/578/117 +f 334/566/117 327/576/117 370/578/117 +f 332/579/112 331/586/112 309/580/112 +f 320/584/113 319/869/113 331/870/113 +f 319/869/113 309/871/113 331/870/113 +f 331/870/113 334/582/113 320/584/113 +f 330/585/112 329/854/112 328/577/112 +f 364/587/118 329/854/118 330/585/118 +f 330/585/118 331/586/118 364/587/118 +f 328/577/119 367/855/119 368/588/119 +f 369/589/119 370/838/119 328/577/119 +f 334/582/113 331/870/113 330/585/113 +f 345/590/112 341/609/112 344/591/112 +f 310/593/118 336/599/118 326/594/118 +f 298/555/118 300/865/118 312/596/118 +f 312/596/118 336/599/118 310/593/118 +f 310/593/118 308/557/118 324/597/118 +f 324/597/118 298/555/118 312/596/118 +f 343/603/118 344/872/118 341/604/118 +f 345/606/117 348/873/117 347/607/117 +f 325/623/112 319/625/112 345/590/112 +f 319/625/112 320/595/112 345/590/112 +f 320/595/112 326/594/112 341/609/112 +f 342/605/119 341/604/119 326/610/119 +f 325/612/119 345/606/119 346/608/119 +f 335/614/112 346/608/112 347/607/112 +f 343/603/112 342/605/112 336/616/112 +f 338/874/119 340/875/119 343/620/119 +f 340/875/119 339/618/119 343/620/119 +f 339/618/119 337/876/119 347/619/119 +f 343/620/119 347/619/119 348/621/119 +f 325/623/117 335/629/117 309/624/117 +f 299/877/117 297/878/117 311/627/117 +f 297/878/117 323/626/117 311/627/117 +f 323/626/117 305/562/117 309/624/117 +f 309/624/117 335/629/117 311/627/117 +f 255/633/113 355/879/113 354/634/113 +f 255/636/113 256/639/113 356/637/113 +f 256/639/113 257/641/113 357/640/113 +f 257/641/113 258/643/113 358/642/113 +f 258/643/113 259/645/113 359/644/113 +f 259/645/113 260/647/113 360/646/113 +f 260/647/113 249/650/113 349/648/113 +f 250/649/113 350/652/113 349/648/113 +f 251/651/113 351/654/113 350/652/113 +f 252/653/113 352/656/113 351/654/113 +f 253/655/113 353/657/113 352/656/113 +f 254/635/113 354/634/113 353/657/113 +f 374/659/118 380/880/118 382/660/118 +f 375/662/117 381/881/117 379/663/117 +f 383/665/117 381/881/117 375/662/117 +f 376/661/118 382/660/118 384/667/118 +f 394/669/114 396/688/114 400/670/114 +f 392/672/118 391/680/118 389/673/118 +f 388/675/114 392/672/114 390/674/114 +f 386/677/120 390/674/120 389/673/120 +f 387/679/112 385/882/112 389/673/112 +f 387/681/119 391/680/119 392/672/119 +f 394/669/121 398/883/121 397/683/121 +f 393/684/112 397/884/112 399/685/112 +f 395/686/119 399/885/119 400/687/119 +f 393/684/117 395/686/117 396/688/117 +f 407/689/119 409/708/119 412/690/119 +f 401/692/117 405/886/117 407/693/117 +f 403/695/119 407/689/119 408/691/119 +f 402/697/113 406/703/113 405/698/113 +f 404/700/118 408/887/118 406/701/118 +f 406/703/113 411/710/113 410/704/113 +f 415/705/112 416/709/112 413/706/112 +f 409/708/119 413/706/119 416/709/119 +f 411/710/113 415/705/113 414/707/113 +f 316/600/118 318/888/118 340/602/118 +f 318/888/118 442/889/118 340/602/118 +f 441/714/117 317/890/117 339/632/117 +f 317/890/117 315/630/117 339/632/117 +f 444/713/118 340/602/118 442/889/118 +f 442/889/118 446/711/118 444/713/118 +f 339/632/117 443/715/117 441/714/117 +f 443/715/117 447/891/117 445/716/117 +f 420/717/118 419/721/118 417/718/118 +f 422/720/118 421/727/118 419/721/118 +f 423/722/117 425/725/117 426/723/117 +f 425/725/117 427/730/117 428/726/117 +f 421/727/122 427/730/122 425/728/122 +f 422/720/112 428/726/112 427/730/112 +f 418/731/119 424/892/119 426/732/119 +f 432/734/118 431/740/118 429/735/118 +f 420/733/123 426/732/123 428/726/123 +f 419/729/113 425/728/113 423/737/113 +f 434/739/118 433/746/118 431/740/118 +f 435/741/117 437/744/117 438/742/117 +f 437/744/117 439/749/117 440/745/117 +f 433/746/122 439/749/122 437/747/122 +f 434/739/112 440/745/112 439/749/112 +f 430/750/119 436/893/119 438/751/119 +f 432/752/123 438/751/123 440/745/123 +f 431/748/113 437/747/113 435/753/113 +f 451/755/119 452/894/119 450/756/119 +f 454/758/124 453/760/124 449/757/124 +f 456/759/125 455/762/125 453/760/125 +f 458/761/126 457/895/126 455/762/126 +f 457/896/117 451/755/117 455/764/117 +f 451/755/117 449/757/117 455/764/117 +f 450/756/118 452/894/118 456/765/118 +f 452/894/118 458/897/118 456/765/118 +f 490/767/112 489/770/112 487/768/112 +f 489/770/116 492/775/116 491/771/116 +f 488/769/115 493/773/115 494/772/115 +f 493/773/118 497/778/118 498/774/118 +f 492/775/117 496/781/117 495/776/117 +f 493/773/113 499/898/113 501/777/113 +f 498/774/119 502/798/119 500/779/119 +f 492/775/119 504/792/119 506/780/119 +f 495/776/113 505/899/113 503/782/113 +f 490/767/119 510/900/119 509/783/119 +f 487/768/113 507/901/113 508/784/113 +f 508/785/113 499/898/113 493/773/113 +f 494/772/119 500/779/119 510/786/119 +f 509/787/119 504/792/119 492/775/119 +f 491/771/113 503/782/113 507/788/113 +f 506/780/118 504/792/118 503/789/118 +f 507/791/127 503/789/127 504/792/127 +f 509/783/114 510/900/114 508/793/114 +f 510/786/128 500/779/128 499/795/128 +f 501/797/117 499/795/117 500/779/117 +f 523/799/112 527/829/112 528/800/112 +f 524/802/114 521/902/114 520/803/114 +f 513/805/112 515/813/112 518/806/112 +f 512/808/114 517/811/114 516/809/114 +f 514/807/118 518/806/118 517/811/118 +f 511/812/117 516/903/117 515/813/117 +f 523/799/118 522/801/118 521/814/118 +f 525/816/117 520/904/117 519/817/117 +f 516/819/119 525/804/119 526/818/119 +f 518/821/119 523/799/119 524/802/119 +f 517/822/119 524/802/119 525/804/119 +f 515/820/119 526/818/119 523/799/119 +f 520/823/113 521/905/113 522/801/113 +f 529/824/117 533/831/117 534/825/117 +f 522/801/112 528/800/112 529/827/112 +f 519/817/112 529/827/112 530/828/112 +f 526/818/112 530/828/112 527/829/112 +f 528/830/113 532/833/113 533/831/113 +f 527/832/118 531/835/118 532/833/118 +f 530/834/119 534/906/119 531/835/119 +f 333/837/119 372/839/119 307/844/119 +f 306/846/119 362/843/119 332/842/119 +f 288/850/117 302/560/117 305/562/117 +f 305/562/117 323/626/117 288/850/117 +f 308/557/118 303/559/118 294/851/118 +f 294/851/118 322/907/118 324/597/118 +f 329/854/119 364/841/119 365/852/119 +f 366/853/119 367/855/119 329/854/119 +f 289/858/113 288/908/113 321/856/113 +f 321/856/113 291/863/113 290/857/113 +f 292/859/113 291/863/113 322/860/113 +f 322/860/113 294/909/113 293/861/113 +f 321/856/114 323/574/114 291/863/114 +f 323/574/114 324/862/114 291/863/114 +s 1 +f 266/910/129 255/633/114 254/635/129 +f 263/911/130 252/653/117 251/651/130 +f 270/912/118 259/645/131 258/643/118 +f 267/913/114 256/639/132 255/636/114 +f 264/914/117 253/655/133 252/653/117 +f 271/915/131 260/647/134 259/645/131 +f 261/916/112 250/649/135 249/650/112 +f 268/917/132 257/641/136 256/639/132 +f 265/918/133 254/635/129 253/655/133 +f 272/919/134 249/650/112 260/647/134 +f 262/920/135 251/651/130 250/649/135 +f 269/921/136 258/643/118 257/641/136 +f 271/915/137 284/922/138 272/919/138 +f 284/922/138 261/916/139 272/919/138 +f 273/923/139 262/920/140 261/916/139 +f 262/920/140 275/924/141 263/911/141 +f 275/924/141 264/914/142 263/911/141 +f 276/925/142 265/918/143 264/914/142 +f 277/926/143 266/910/144 265/918/143 +f 266/910/144 279/927/145 267/928/145 +f 279/929/145 268/917/146 267/913/145 +f 268/917/146 281/930/147 269/921/147 +f 281/930/147 270/912/148 269/921/147 +f 282/931/148 271/915/137 270/912/148 +f 276/925/117 289/932/133 277/926/133 +f 283/933/131 296/934/134 284/922/134 +f 274/935/135 285/936/112 286/937/135 +f 280/938/132 293/939/136 281/930/136 +f 277/926/133 290/940/129 278/941/129 +f 284/922/134 285/936/112 273/923/112 +f 274/935/135 287/942/130 275/924/130 +f 281/930/136 294/943/118 282/931/118 +f 278/941/129 291/944/114 279/927/114 +f 275/924/130 288/945/117 276/925/117 +f 282/931/118 295/946/131 283/933/131 +f 279/929/114 292/947/132 280/938/132 +f 311/948/149 314/949/150 312/950/149 +f 299/951/119 312/950/149 300/952/119 +f 313/953/150 316/954/151 314/949/150 +f 315/955/151 318/565/152 316/954/151 +f 445/956/119 448/957/123 446/958/119 +f 412/959/153 415/705/118 411/960/153 +f 359/961/133 370/962/117 358/963/117 +f 356/964/135 367/965/112 355/966/112 +f 353/967/131 364/968/118 352/969/118 +f 360/970/129 371/971/133 359/961/133 +f 350/972/132 361/973/114 349/974/114 +f 357/975/130 368/976/135 356/964/135 +f 354/977/134 365/978/131 353/967/131 +f 349/974/114 372/979/129 360/970/129 +f 351/980/136 362/981/132 350/972/132 +f 358/963/117 369/982/130 357/975/130 +f 355/983/112 366/984/134 354/977/134 +f 352/969/118 363/985/136 351/980/136 +f 374/659/112 375/986/154 373/987/112 +f 376/661/154 377/988/155 375/986/154 +f 382/660/150 379/663/114 381/881/150 +f 381/881/150 384/667/124 382/660/150 +f 408/887/156 411/960/153 406/701/156 +f 405/886/157 409/989/158 407/693/157 +f 410/990/158 413/706/117 409/989/158 +f 448/957/123 443/991/159 444/992/159 +f 441/867/160 446/958/119 442/564/160 +f 339/618/112 444/992/159 443/991/159 +f 459/993/161 462/994/162 460/995/163 +f 461/996/164 464/997/165 462/994/162 +f 463/998/166 466/999/167 464/1000/165 +f 465/1001/168 468/1002/169 466/999/167 +f 467/1003/170 470/1004/171 468/1002/169 +f 469/1005/172 472/1006/173 470/1004/171 +f 467/1007/170 483/1008/174 484/1009/175 +f 466/999/167 475/1010/176 464/1000/165 +f 473/1011/177 475/1010/176 478/1012/178 +f 472/1013/173 478/1012/178 470/1014/171 +f 462/1015/162 474/1016/179 460/995/163 +f 468/1002/169 476/1017/180 466/999/167 +f 479/1018/181 474/1016/179 473/1011/177 +f 462/1015/162 475/1010/176 473/1011/177 +f 470/1014/171 477/1019/182 468/1002/169 +f 480/1020/183 486/1021/184 481/1022/185 +f 461/1023/164 482/1024/186 463/1025/166 +f 469/1026/172 484/1009/175 485/1027/187 +f 463/1025/166 483/1008/174 465/1028/168 +f 471/1029/188 485/1027/187 486/1021/184 +f 461/1023/164 480/1020/183 481/1022/185 +f 481/1022/185 485/1027/187 482/1024/186 +f 485/1027/187 481/1022/185 486/1021/184 +f 484/1009/175 483/1008/174 482/1024/186 +f 482/1024/186 485/1027/187 484/1009/175 +f 477/1019/182 475/1010/176 476/1017/180 +f 478/1012/178 475/1010/176 477/1019/182 +f 478/1012/178 479/1018/181 473/1011/177 +f 266/910/129 267/928/114 255/633/114 +f 263/911/130 264/914/117 252/653/117 +f 270/912/118 271/915/131 259/645/131 +f 267/913/114 268/917/132 256/639/132 +f 264/914/117 265/918/133 253/655/133 +f 271/915/131 272/919/134 260/647/134 +f 261/916/112 262/920/135 250/649/135 +f 268/917/132 269/921/136 257/641/136 +f 265/918/133 266/910/129 254/635/129 +f 272/919/134 261/916/112 249/650/112 +f 262/920/135 263/911/130 251/651/130 +f 269/921/136 270/912/118 258/643/118 +f 271/915/137 283/933/137 284/922/138 +f 284/922/138 273/923/139 261/916/139 +f 273/923/139 274/935/140 262/920/140 +f 262/920/140 274/935/140 275/924/141 +f 275/924/141 276/925/142 264/914/142 +f 276/925/142 277/926/143 265/918/143 +f 277/926/143 278/941/144 266/910/144 +f 266/910/144 278/941/144 279/927/145 +f 279/929/145 280/938/146 268/917/146 +f 268/917/146 280/938/146 281/930/147 +f 281/930/147 282/931/148 270/912/148 +f 282/931/148 283/933/137 271/915/137 +f 276/925/117 288/945/117 289/932/133 +f 283/933/131 295/946/131 296/934/134 +f 274/935/135 273/923/112 285/936/112 +f 280/938/132 292/947/132 293/939/136 +f 277/926/133 289/932/133 290/940/129 +f 284/922/134 296/934/134 285/936/112 +f 274/935/135 286/937/135 287/942/130 +f 281/930/136 293/939/136 294/943/118 +f 278/941/129 290/940/129 291/944/114 +f 275/924/130 287/942/130 288/945/117 +f 282/931/118 294/943/118 295/946/131 +f 279/929/114 291/1030/114 292/947/132 +f 311/948/149 313/953/150 314/949/150 +f 299/951/119 311/948/149 312/950/149 +f 313/953/150 315/955/151 316/954/151 +f 315/955/151 317/563/152 318/565/152 +f 445/956/119 447/1031/123 448/957/123 +f 412/959/153 416/709/118 415/705/118 +f 359/961/133 371/971/133 370/962/117 +f 356/964/135 368/976/135 367/965/112 +f 353/967/131 365/978/131 364/968/118 +f 360/970/129 372/979/129 371/971/133 +f 350/972/132 362/981/132 361/973/114 +f 357/975/130 369/982/130 368/976/135 +f 354/977/134 366/984/134 365/978/131 +f 349/974/114 361/973/114 372/979/129 +f 351/980/136 363/985/136 362/981/132 +f 358/963/117 370/962/117 369/982/130 +f 355/983/112 367/1032/112 366/984/134 +f 352/969/118 364/968/118 363/985/136 +f 374/659/112 376/661/154 375/986/154 +f 376/661/154 378/668/155 377/988/155 +f 382/660/150 380/880/114 379/663/114 +f 381/881/150 383/665/124 384/667/124 +f 408/887/156 412/959/153 411/960/153 +f 405/886/157 410/990/158 409/989/158 +f 410/990/158 414/707/117 413/706/117 +f 448/957/123 447/1031/123 443/991/159 +f 441/867/160 445/956/119 446/958/119 +f 339/618/112 340/875/112 444/992/159 +f 459/993/161 461/996/164 462/994/162 +f 461/996/164 463/1033/166 464/997/165 +f 463/998/166 465/1034/168 466/999/167 +f 465/1001/168 467/1003/170 468/1002/169 +f 467/1003/170 469/1005/172 470/1004/171 +f 469/1005/172 471/1035/188 472/1006/173 +f 467/1007/170 465/1028/168 483/1008/174 +f 466/999/167 476/1017/180 475/1010/176 +f 472/1013/173 479/1018/181 478/1012/178 +f 462/1015/162 473/1011/177 474/1016/179 +f 468/1002/169 477/1019/182 476/1017/180 +f 462/1015/162 464/1000/165 475/1010/176 +f 470/1014/171 478/1012/178 477/1019/182 +f 461/1023/164 481/1022/185 482/1024/186 +f 469/1026/172 467/1007/170 484/1009/175 +f 463/1025/166 482/1024/186 483/1008/174 +f 471/1029/188 469/1026/172 485/1027/187 +f 461/1023/164 459/1036/161 480/1020/183 diff --git a/src/main/resources/assets/hbm/models/weapons/am180.obj b/src/main/resources/assets/hbm/models/weapons/am180.obj new file mode 100644 index 000000000..ed63feb9a --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/am180.obj @@ -0,0 +1,4369 @@ +# Blender v2.79 (sub 0) OBJ File: 'am180.blend' +# www.blender.org +o Mag +v 0.574255 2.611670 3.643148 +v 0.000000 2.611670 2.937500 +v 0.000000 2.611670 3.718750 +v 0.718750 2.611670 2.744912 +v 0.372052 2.611670 2.888518 +v 1.568893 2.611670 3.068893 +v 1.109375 2.611670 3.421494 +v 1.921494 2.611670 2.609375 +v 1.016466 2.611670 2.516466 +v 2.143148 2.611670 2.074255 +v 1.244912 2.611670 2.218750 +v 2.218750 2.611670 1.500000 +v 1.388518 2.611670 1.872052 +v 1.388518 2.611670 1.127948 +v 1.437500 2.611670 1.500000 +v 2.143148 2.611670 0.925745 +v 1.244912 2.611670 0.781250 +v 1.568893 2.611670 -0.068893 +v 1.921494 2.611670 0.390625 +v 1.109375 2.611670 -0.421494 +v 1.016466 2.611670 0.483534 +v 0.574255 2.611670 -0.643148 +v 0.718750 2.611670 0.255088 +v 0.000000 2.611670 -0.718750 +v 0.372052 2.611670 0.111482 +v -0.574255 2.611670 -0.643148 +v 0.000000 2.611670 0.062500 +v -1.109375 2.611670 -0.421494 +v -0.372052 2.611670 0.111482 +v -1.568893 2.611670 -0.068893 +v -0.718750 2.611670 0.255088 +v -1.921494 2.611670 0.390625 +v -1.016466 2.611670 0.483534 +v -2.143148 2.611670 0.925746 +v -1.244911 2.611670 0.781250 +v -2.218750 2.611670 1.500000 +v -1.388518 2.611670 1.127948 +v -2.143148 2.611670 2.074255 +v -1.437500 2.611670 1.500000 +v -1.921494 2.611670 2.609375 +v -1.388518 2.611670 1.872052 +v -1.568893 2.611670 3.068893 +v -1.244912 2.611670 2.218750 +v -1.109375 2.611670 3.421494 +v -1.016466 2.611670 2.516466 +v -0.372052 2.611670 2.888518 +v -0.718750 2.611670 2.744912 +v -0.574255 2.611670 3.643148 +v 1.016466 2.111670 0.483534 +v 0.718750 2.111670 0.255088 +v 1.149048 2.486670 0.616117 +v 0.815595 2.111670 0.949570 +v 1.149048 2.111670 0.616117 +v 0.550430 2.486670 0.684405 +v 0.883884 2.486670 0.350952 +v -0.815595 2.486670 2.050431 +v -1.149048 2.111670 2.383884 +v -1.149048 2.486670 2.383884 +v -0.883883 2.486670 2.649049 +v -0.500000 2.424170 0.633975 +v -0.156677 2.424170 0.684405 +v 0.000000 2.424170 0.500000 +v 0.550430 2.424170 0.684405 +v 0.500000 2.424170 0.633975 +v 0.326286 2.424170 0.813814 +v 0.067467 2.424170 0.813814 +v 0.500000 2.424170 2.366026 +v 0.156677 2.424170 2.315596 +v 0.000000 2.424170 2.500000 +v -0.067467 2.424170 2.186186 +v -0.550430 2.424170 2.315596 +v -0.500000 2.424170 2.366026 +v -0.326286 2.424170 2.186186 +v 0.326286 2.486670 0.813814 +v 0.067467 2.486670 0.813814 +v -0.067467 2.486670 2.186186 +v 0.062500 2.549170 1.391747 +v 0.125000 2.486670 1.500000 +v 0.062500 2.486670 1.391747 +v 0.062500 2.549170 1.608253 +v -0.062500 2.486670 1.608253 +v 0.062500 2.486670 1.608253 +v -0.062500 2.549170 1.391747 +v -0.062500 2.486670 1.391747 +v 0.125000 2.549170 1.500000 +v -0.062500 2.549170 1.608253 +v -0.125000 2.486670 1.500000 +v -0.125000 2.549170 1.500000 +v 0.437500 2.549170 1.016747 +v 0.500000 2.486670 1.125000 +v 0.437500 2.486670 1.016747 +v 0.437500 2.549170 1.233253 +v 0.312500 2.486670 1.233253 +v 0.437500 2.486670 1.233253 +v 0.312500 2.549170 1.016747 +v 0.312500 2.486670 1.016747 +v 0.500000 2.549170 1.125000 +v 0.312500 2.549170 1.233253 +v 0.250000 2.486670 1.125000 +v 0.250000 2.549170 1.125000 +v -0.312500 2.549170 1.766747 +v -0.250000 2.486670 1.875000 +v -0.312500 2.486670 1.766747 +v -0.312500 2.549170 1.983253 +v -0.437500 2.486670 1.983253 +v -0.312500 2.486670 1.983253 +v -0.437500 2.549170 1.766747 +v -0.437500 2.486670 1.766747 +v -0.250000 2.549170 1.875000 +v -0.437500 2.549170 1.983253 +v -0.500000 2.486670 1.875000 +v -0.500000 2.549170 1.875000 +v 1.244912 2.111670 0.781250 +v 0.815595 2.486670 0.949570 +v -0.815595 2.111670 2.050431 +v -0.550430 2.486670 2.315596 +v -1.000000 2.486670 1.500000 +v -0.866025 2.486670 2.000000 +v -0.326286 2.486670 2.186186 +v 0.156677 2.486670 2.315596 +v 0.866025 2.486670 2.000000 +v 0.500000 2.486670 2.366026 +v -0.866025 2.486670 1.000000 +v -0.156677 2.486670 0.684405 +v -0.500000 2.486670 0.633975 +v 1.000000 2.486670 1.500000 +v 0.866025 2.486670 1.000000 +v 0.574255 2.111670 3.643148 +v 0.000000 2.111670 3.718750 +v 1.921494 2.111670 0.390625 +v 2.143148 2.111670 0.925745 +v -1.568893 2.111670 -0.068893 +v -1.109375 2.111670 -0.421494 +v -0.574255 2.111670 3.643148 +v 2.218750 2.111670 1.500000 +v -0.574255 2.111670 -0.643148 +v -1.109375 2.111670 3.421494 +v 2.143148 2.111670 2.074255 +v 0.000000 2.111670 -0.718750 +v -1.568893 2.111670 3.068893 +v 1.921494 2.111670 2.609375 +v 0.574255 2.111670 -0.643148 +v -1.921494 2.111670 2.609375 +v 1.568893 2.111670 3.068893 +v 1.109375 2.111670 -0.421494 +v -2.143148 2.111670 2.074255 +v -2.218750 2.111670 1.500000 +v -2.143148 2.111670 0.925746 +v 1.109375 2.111670 3.421494 +v 1.568893 2.111670 -0.068893 +v -1.921494 2.111670 0.390625 +v -0.372052 2.111670 0.111482 +v 1.437500 2.111670 1.500000 +v -0.372052 2.111670 2.888518 +v -0.718750 2.111670 0.255088 +v 1.388518 2.111670 1.127948 +v 0.000000 2.111670 2.937500 +v -1.016466 2.111670 0.483534 +v 0.372052 2.111670 2.888518 +v -1.244911 2.111670 0.781250 +v -1.437500 2.111670 1.500000 +v 0.718750 2.111670 2.744912 +v -1.388518 2.111670 1.127948 +v -1.388518 2.111670 1.872052 +v 1.016466 2.111670 2.516466 +v 0.372052 2.111670 0.111482 +v 1.244912 2.111670 2.218750 +v 0.000000 2.111670 0.062500 +v 1.388518 2.111670 1.872052 +v -0.718750 2.111670 2.744912 +v 1.000000 2.111670 1.500000 +v 0.866025 2.111670 2.000000 +v 0.866025 2.111670 1.000000 +v -0.883883 2.111670 2.649049 +v 0.000000 2.111670 0.500000 +v -0.500000 2.111670 0.633975 +v -0.866025 2.111670 2.000000 +v -1.000000 2.111670 1.500000 +v 0.500000 2.111670 2.366026 +v -0.866025 2.111670 1.000000 +v 0.500000 2.111670 0.633975 +v 0.550430 2.111670 0.684405 +v 0.883884 2.111670 0.350952 +v -0.500000 2.111670 2.366026 +v -1.016466 2.111670 2.516466 +v -0.550430 2.111670 2.315596 +v 0.031250 2.611670 1.445874 +v 0.062500 2.611670 1.500000 +v -0.062500 2.611670 1.500000 +v -0.031250 2.611670 1.554127 +v -0.031250 2.611670 1.445874 +v 0.031250 2.611670 1.554127 +v -1.244912 2.111670 2.218750 +v 0.000000 2.111670 2.500000 +vt 0.033582 0.955224 +vt 0.005597 1.000000 +vt 0.000000 0.955224 +vt 0.061567 1.000000 +vt 0.039179 1.000000 +vt 0.100746 0.955224 +vt 0.072761 1.000000 +vt 0.067164 0.955224 +vt 0.134328 0.955224 +vt 0.106343 1.000000 +vt 0.167910 0.955224 +vt 0.139925 1.000000 +vt 0.201493 0.955224 +vt 0.173507 1.000000 +vt 0.229478 1.000000 +vt 0.207089 1.000000 +vt 0.235075 0.955224 +vt 0.263060 1.000000 +vt 0.240672 1.000000 +vt 0.302239 0.955224 +vt 0.274254 1.000000 +vt 0.268657 0.955224 +vt 0.335821 0.955224 +vt 0.307836 1.000000 +vt 0.369403 0.955224 +vt 0.341418 1.000000 +vt 0.402985 0.955224 +vt 0.375000 1.000000 +vt 0.436567 0.955224 +vt 0.408582 1.000000 +vt 0.470149 0.955224 +vt 0.442164 1.000000 +vt 0.503731 0.955224 +vt 0.475746 1.000000 +vt 0.537313 0.955224 +vt 0.509328 1.000000 +vt 0.570895 0.955224 +vt 0.542910 1.000000 +vt 0.604478 0.955224 +vt 0.576492 1.000000 +vt 0.638060 0.955224 +vt 0.610075 1.000000 +vt 0.671642 0.955224 +vt 0.643657 1.000000 +vt 0.705224 0.955224 +vt 0.677239 1.000000 +vt 0.738806 0.955224 +vt 0.710821 1.000000 +vt 0.766791 1.000000 +vt 0.744403 1.000000 +vt 0.805970 0.955224 +vt 0.777986 1.000000 +vt 0.772388 0.955224 +vt 0.201493 0.895522 +vt 0.179104 0.925373 +vt 0.201493 0.925373 +vt 0.223881 0.895522 +vt 0.223881 0.925373 +vt 0.567164 0.902985 +vt 0.597015 0.925373 +vt 0.567164 0.925373 +vt 0.597015 0.880597 +vt 0.567164 0.880597 +vt 0.567164 0.902985 +vt 0.537313 0.925373 +vt 0.537313 0.902985 +vt 0.537313 0.880597 +vt 0.566630 0.343284 +vt 0.563619 0.322787 +vt 0.574627 0.313433 +vt 0.563619 0.280571 +vt 0.566630 0.283582 +vt 0.555892 0.293953 +vt 0.555892 0.309405 +vt 0.545310 0.283582 +vt 0.548321 0.304079 +vt 0.537312 0.313433 +vt 0.556049 0.317459 +vt 0.548321 0.346295 +vt 0.545310 0.343284 +vt 0.556047 0.332913 +vt 0.637981 0.779028 +vt 0.637981 0.794480 +vt 0.556049 0.802535 +vt 0.619403 0.876866 +vt 0.611940 0.880597 +vt 0.619403 0.880597 +vt 0.604478 0.876866 +vt 0.597015 0.880597 +vt 0.604478 0.880597 +vt 0.626866 0.876866 +vt 0.626866 0.880597 +vt 0.611940 0.876866 +vt 0.641791 0.876866 +vt 0.634328 0.880597 +vt 0.641791 0.880597 +vt 0.634328 0.876866 +vt 0.619403 0.876866 +vt 0.611940 0.880597 +vt 0.619403 0.880597 +vt 0.604478 0.876866 +vt 0.597015 0.880597 +vt 0.604478 0.880597 +vt 0.626866 0.876866 +vt 0.626866 0.880597 +vt 0.611940 0.876866 +vt 0.641791 0.876866 +vt 0.634328 0.880597 +vt 0.641791 0.880597 +vt 0.634328 0.876866 +vt 0.600746 0.872135 +vt 0.600746 0.859209 +vt 0.611940 0.865672 +vt 0.619403 0.876866 +vt 0.611940 0.880597 +vt 0.619403 0.880597 +vt 0.604478 0.876866 +vt 0.597015 0.880597 +vt 0.604478 0.880597 +vt 0.626866 0.876866 +vt 0.626866 0.880597 +vt 0.611940 0.876866 +vt 0.641791 0.876866 +vt 0.634328 0.880597 +vt 0.641791 0.880597 +vt 0.634328 0.876866 +vt 0.600746 0.872135 +vt 0.600746 0.859209 +vt 0.611940 0.865672 +vt 0.027985 1.000000 +vt 0.095149 1.000000 +vt 0.128731 1.000000 +vt 0.162313 1.000000 +vt 0.195895 1.000000 +vt 0.296642 1.000000 +vt 0.330224 1.000000 +vt 0.363807 1.000000 +vt 0.397388 1.000000 +vt 0.430970 1.000000 +vt 0.464552 1.000000 +vt 0.498134 1.000000 +vt 0.531716 1.000000 +vt 0.565298 1.000000 +vt 0.598881 1.000000 +vt 0.632463 1.000000 +vt 0.666045 1.000000 +vt 0.699627 1.000000 +vt 0.733209 1.000000 +vt 0.800373 1.000000 +vt 0.179104 0.895522 +vt 0.597015 0.902985 +vt 0.567164 0.925373 +vt 0.567164 0.880597 +vt 0.597015 0.858209 +vt 0.567164 0.850210 +vt 0.556049 0.817987 +vt 0.564153 0.847200 +vt 0.548323 0.831369 +vt 0.548323 0.789154 +vt 0.567164 0.746804 +vt 0.545312 0.768657 +vt 0.626866 0.850210 +vt 0.645707 0.807861 +vt 0.648718 0.828358 +vt 0.597015 0.738806 +vt 0.626866 0.746804 +vt 0.629876 0.749815 +vt 0.645707 0.765646 +vt 0.597015 0.876866 +vt 0.597015 0.876866 +vt 0.608209 0.872135 +vt 0.597015 0.865672 +vt 0.608209 0.859209 +vt 0.597015 0.876866 +vt 0.608209 0.872135 +vt 0.597015 0.865672 +vt 0.608209 0.859209 +vt 0.033582 0.925373 +vt 0.000000 0.925373 +vt 0.268657 0.925373 +vt 0.235075 0.925373 +vt 0.503731 0.925373 +vt 0.470149 0.925373 +vt 0.805970 0.925373 +vt 0.772388 0.925373 +vt 0.201493 0.925373 +vt 0.436567 0.925373 +vt 0.738806 0.925373 +vt 0.167910 0.925373 +vt 0.402985 0.925373 +vt 0.705224 0.925373 +vt 0.134328 0.925373 +vt 0.369403 0.925373 +vt 0.671642 0.925373 +vt 0.100746 0.925373 +vt 0.335821 0.925373 +vt 0.638060 0.925373 +vt 0.604478 0.925373 +vt 0.570895 0.925373 +vt 0.067164 0.925373 +vt 0.302239 0.925373 +vt 0.537313 0.925373 +vt 0.313433 0.925373 +vt 0.291045 0.895522 +vt 0.291045 0.925373 +vt 0.156716 0.925373 +vt 0.134328 0.895522 +vt 0.134328 0.925373 +vt 0.537313 0.925373 +vt 0.514925 0.895522 +vt 0.514925 0.925373 +vt 0.335821 0.925373 +vt 0.313433 0.895522 +vt 0.156716 0.895522 +vt 0.022388 0.925373 +vt 0.000000 0.895522 +vt 0.000000 0.925373 +vt 0.358209 0.925373 +vt 0.335821 0.895522 +vt 0.044776 0.925373 +vt 0.022388 0.895522 +vt 0.380597 0.925373 +vt 0.358209 0.895522 +vt 0.425373 0.925373 +vt 0.402985 0.895522 +vt 0.402985 0.925373 +vt 0.067164 0.925373 +vt 0.044776 0.895522 +vt 0.380597 0.895522 +vt 0.447761 0.925373 +vt 0.425373 0.895522 +vt 0.246269 0.925373 +vt 0.089552 0.925373 +vt 0.067164 0.895522 +vt 0.268657 0.925373 +vt 0.246269 0.895522 +vt 0.111940 0.925373 +vt 0.089552 0.895522 +vt 0.268657 0.895522 +vt 0.111940 0.895522 +vt 0.492537 0.895522 +vt 0.492537 0.925373 +vt 0.720149 0.902985 +vt 0.690298 0.925373 +vt 0.690298 0.902985 +vt 0.660448 0.925373 +vt 0.660448 0.921642 +vt 0.690298 0.902985 +vt 0.660448 0.902985 +vt 0.660448 0.899254 +vt 0.750000 0.902985 +vt 0.720149 0.925373 +vt 0.567164 0.876866 +vt 0.537313 0.858209 +vt 0.630597 0.880597 +vt 0.660448 0.880597 +vt 0.750000 0.880597 +vt 0.720149 0.902985 +vt 0.720149 0.880597 +vt 0.630597 0.921642 +vt 0.660448 0.902985 +vt 0.690298 0.880597 +vt 0.600746 0.899254 +vt 0.600746 0.880597 +vt 0.597015 0.880597 +vt 0.597015 0.899254 +vt 0.567164 0.858209 +vt 0.597015 0.858209 +vt 0.597015 0.876866 +vt 0.753731 0.902985 +vt 0.750000 0.902985 +vt 0.600746 0.902985 +vt 0.600746 0.921642 +vt 0.470149 0.925373 +vt 0.470149 0.895522 +vt 0.597015 0.921642 +vt 0.597015 0.902985 +vt 0.750000 0.925373 +vt 0.753731 0.902985 +vt 0.753731 0.925373 +vt 0.597015 0.902985 +vt 0.611940 0.899254 +vt 0.611940 0.902985 +vt 0.626866 0.902985 +vt 0.626866 0.899254 +vt 0.641791 0.902985 +vt 0.641791 0.899254 +vt 0.641791 0.925373 +vt 0.626866 0.925373 +vt 0.641791 0.921642 +vt 0.611940 0.925373 +vt 0.626866 0.921642 +vt 0.597015 0.925373 +vt 0.619403 0.873134 +vt 0.611940 0.873134 +vt 0.634328 0.873134 +vt 0.597015 0.873134 +vt 0.626866 0.873134 +vt 0.604478 0.873134 +vt 0.617537 0.858709 +vt 0.619403 0.861940 +vt 0.613806 0.865172 +vt 0.537313 0.895522 +vt 0.447761 0.895522 +vt 0.567164 0.858209 +vt 0.630597 0.899254 +vt 0.630597 0.902985 +vt 0.753731 0.880597 +vt 0.611940 0.921642 +vt 0.641791 0.873134 +vt 0.617537 0.865172 +vt 0.611940 0.861940 +vt 0.613806 0.858709 +vn 0.0000 1.0000 0.0000 +vn -0.7934 0.0000 0.6088 +vn -0.6088 0.0000 0.7934 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.8660 0.0000 -0.5000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.8660 0.0000 0.5000 +vn -0.8660 0.0000 0.5000 +vn -0.8660 0.0000 -0.5000 +vn 0.2588 0.0000 0.9659 +vn 0.9659 0.0000 -0.2588 +vn -0.5000 0.0000 -0.8660 +vn -0.2588 0.0000 0.9659 +vn 1.0000 0.0000 -0.0000 +vn -0.2588 0.0000 -0.9659 +vn -0.5000 0.0000 0.8660 +vn 0.9659 0.0000 0.2588 +vn -0.7071 0.0000 0.7071 +vn 0.2588 0.0000 -0.9659 +vn 0.5000 0.0000 -0.8660 +vn -0.9659 0.0000 0.2588 +vn -1.0000 0.0000 -0.0000 +vn -0.9659 0.0000 -0.2588 +vn 0.5000 0.0000 0.8660 +vn 0.7071 0.0000 -0.7071 +vn -0.9239 0.0000 0.3827 +vn -0.3827 0.0000 0.9239 +vn 0.3144 0.0000 0.9493 +vn 0.4129 0.0000 0.9108 +vn -0.3144 0.0000 -0.9493 +vn -0.4129 0.0000 -0.9108 +vn 0.6430 0.0000 0.7659 +vn -0.6430 0.0000 -0.7659 +vn -0.6088 0.0000 -0.7934 +vn 0.3285 0.0000 -0.9445 +vn -0.3285 0.0000 0.9445 +vn 0.6088 0.0000 0.7934 +vn -0.3536 0.7071 -0.6124 +vn 0.2400 0.8773 -0.4156 +vn 0.3536 0.7071 -0.6124 +vn 0.4799 0.8773 -0.0000 +vn 0.7071 0.7071 -0.0000 +vn -0.3536 0.7071 0.6124 +vn -0.4799 0.8773 -0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.3536 0.7071 0.6124 +vn -0.2400 0.8773 0.4157 +vn -0.2400 0.8773 -0.4156 +vn 0.2400 0.8773 0.4157 +s off +f 1/1/1 2/2/1 3/3/1 +f 1/1/1 4/4/1 5/5/1 +f 6/6/1 4/7/1 7/8/1 +f 8/9/1 9/10/1 6/6/1 +f 10/11/1 11/12/1 8/9/1 +f 12/13/1 13/14/1 10/11/1 +f 12/13/1 14/15/1 15/16/1 +f 16/17/1 17/18/1 14/19/1 +f 18/20/1 17/21/1 19/22/1 +f 20/23/1 21/24/1 18/20/1 +f 22/25/1 23/26/1 20/23/1 +f 24/27/1 25/28/1 22/25/1 +f 26/29/1 27/30/1 24/27/1 +f 28/31/1 29/32/1 26/29/1 +f 30/33/1 31/34/1 28/31/1 +f 32/35/1 33/36/1 30/33/1 +f 34/37/1 35/38/1 32/35/1 +f 36/39/1 37/40/1 34/37/1 +f 38/41/1 39/42/1 36/39/1 +f 40/43/1 41/44/1 38/41/1 +f 42/45/1 43/46/1 40/43/1 +f 44/47/1 45/48/1 42/45/1 +f 44/47/1 46/49/1 47/50/1 +f 3/51/1 46/52/1 48/53/1 +f 49/54/2 17/55/2 21/56/2 +f 50/57/3 21/56/3 23/58/3 +f 51/59/4 52/60/4 53/61/4 +f 54/62/1 51/59/1 55/63/1 +f 56/64/5 57/65/5 58/66/5 +f 59/67/1 56/64/1 58/66/1 +f 60/68/1 61/69/1 62/70/1 +f 63/71/1 64/72/1 65/73/1 +f 62/70/1 65/73/1 64/72/1 +f 66/74/1 62/70/1 61/69/1 +f 67/75/1 68/76/1 69/77/1 +f 70/78/1 69/77/1 68/76/1 +f 71/79/1 72/80/1 73/81/1 +f 69/77/1 73/81/1 72/80/1 +f 74/82/1 75/83/1 76/84/1 +f 77/85/6 78/86/6 79/87/6 +f 80/88/7 81/89/7 82/90/7 +f 83/91/8 79/87/8 84/92/8 +f 85/93/9 82/90/9 78/86/9 +f 86/94/10 87/95/10 81/96/10 +f 88/97/11 84/92/11 87/95/11 +f 89/98/6 90/99/6 91/100/6 +f 92/101/7 93/102/7 94/103/7 +f 95/104/8 91/100/8 96/105/8 +f 97/106/9 94/103/9 90/99/9 +f 98/107/10 99/108/10 93/109/10 +f 100/110/11 96/105/11 99/108/11 +f 92/111/1 89/112/1 100/113/1 +f 101/114/6 102/115/6 103/116/6 +f 104/117/7 105/118/7 106/119/7 +f 107/120/8 103/116/8 108/121/8 +f 109/122/9 106/119/9 102/115/9 +f 110/123/10 111/124/10 105/125/10 +f 112/126/11 108/121/11 111/124/11 +f 104/127/1 101/128/1 112/129/1 +f 1/1/1 5/130/1 2/2/1 +f 1/1/1 7/8/1 4/4/1 +f 6/6/1 9/131/1 4/7/1 +f 8/9/1 11/132/1 9/10/1 +f 10/11/1 13/133/1 11/12/1 +f 12/13/1 15/134/1 13/14/1 +f 12/13/1 16/17/1 14/15/1 +f 16/17/1 19/22/1 17/18/1 +f 18/20/1 21/135/1 17/21/1 +f 20/23/1 23/136/1 21/24/1 +f 22/25/1 25/137/1 23/26/1 +f 24/27/1 27/138/1 25/28/1 +f 26/29/1 29/139/1 27/30/1 +f 28/31/1 31/140/1 29/32/1 +f 30/33/1 33/141/1 31/34/1 +f 32/35/1 35/142/1 33/36/1 +f 34/37/1 37/143/1 35/38/1 +f 36/39/1 39/144/1 37/40/1 +f 38/41/1 41/145/1 39/42/1 +f 40/43/1 43/146/1 41/44/1 +f 42/45/1 45/147/1 43/46/1 +f 44/47/1 47/148/1 45/48/1 +f 44/47/1 48/53/1 46/49/1 +f 3/51/1 2/149/1 46/52/1 +f 49/54/2 113/150/2 17/55/2 +f 50/57/3 49/54/3 21/56/3 +f 51/59/4 114/151/4 52/60/4 +f 54/62/1 114/151/1 51/59/1 +f 56/64/5 115/152/5 57/65/5 +f 59/67/1 116/153/1 56/64/1 +f 62/70/1 66/74/1 65/73/1 +f 69/77/1 70/78/1 73/81/1 +f 117/154/1 118/155/1 119/156/1 +f 118/155/1 56/157/1 119/156/1 +f 56/157/1 116/158/1 119/156/1 +f 76/84/1 120/159/1 121/160/1 +f 120/159/1 122/161/1 121/160/1 +f 119/156/1 76/84/1 75/83/1 +f 117/154/1 119/156/1 75/83/1 +f 123/162/1 117/154/1 75/83/1 +f 124/163/1 125/164/1 123/162/1 +f 75/83/1 124/163/1 123/162/1 +f 121/160/1 126/165/1 76/84/1 +f 126/165/1 127/166/1 74/82/1 +f 76/84/1 126/165/1 74/82/1 +f 127/166/1 114/167/1 74/82/1 +f 114/167/1 54/168/1 74/82/1 +f 77/85/6 85/93/6 78/86/6 +f 80/88/7 86/169/7 81/89/7 +f 83/91/8 77/85/8 79/87/8 +f 85/93/9 80/88/9 82/90/9 +f 86/94/10 88/97/10 87/95/10 +f 88/97/11 83/91/11 84/92/11 +f 89/98/6 97/106/6 90/99/6 +f 92/101/7 98/170/7 93/102/7 +f 95/104/8 89/98/8 91/100/8 +f 97/106/9 92/101/9 94/103/9 +f 98/107/10 100/110/10 99/108/10 +f 100/110/11 95/104/11 96/105/11 +f 100/113/1 98/171/1 92/111/1 +f 92/111/1 97/172/1 89/112/1 +f 89/112/1 95/173/1 100/113/1 +f 101/114/6 109/122/6 102/115/6 +f 104/117/7 110/174/7 105/118/7 +f 107/120/8 101/114/8 103/116/8 +f 109/122/9 104/117/9 106/119/9 +f 110/123/10 112/126/10 111/124/10 +f 112/126/11 107/120/11 108/121/11 +f 112/129/1 110/175/1 104/127/1 +f 104/127/1 109/176/1 101/128/1 +f 101/128/1 107/177/1 112/129/1 +s 1 +f 128/178/12 3/3/7 129/179/7 +f 130/180/6 16/17/13 131/181/13 +f 132/182/5 28/31/14 133/183/14 +f 129/184/7 48/53/15 134/185/15 +f 131/181/13 12/13/16 135/186/16 +f 133/183/14 26/29/17 136/187/17 +f 134/185/15 44/47/18 137/188/18 +f 135/186/16 10/11/19 138/189/19 +f 136/187/17 24/27/8 139/190/8 +f 137/188/18 42/45/20 140/191/20 +f 138/189/19 8/9/9 141/192/9 +f 139/190/8 22/25/21 142/193/21 +f 140/191/20 40/43/10 143/194/10 +f 141/192/9 6/6/4 144/195/4 +f 142/193/21 20/23/22 145/196/22 +f 143/194/10 38/41/23 146/197/23 +f 147/198/24 34/37/25 148/199/25 +f 144/195/4 7/8/26 149/200/26 +f 145/196/22 18/20/27 150/201/27 +f 146/197/23 36/39/24 147/198/24 +f 148/199/25 32/35/11 151/202/11 +f 149/200/26 1/1/12 128/178/12 +f 150/201/27 19/22/6 130/180/6 +f 151/202/11 30/33/5 132/182/5 +f 31/203/26 152/204/12 29/205/12 +f 14/206/23 153/207/24 15/208/24 +f 2/209/8 154/210/21 46/211/21 +f 33/212/4 155/213/26 31/203/26 +f 17/55/28 156/214/23 14/206/23 +f 5/215/17 157/216/8 2/217/8 +f 35/218/9 158/219/4 33/212/4 +f 4/220/14 159/221/17 5/215/17 +f 37/222/19 160/223/9 35/218/9 +f 41/224/13 161/225/16 39/226/16 +f 9/227/5 162/228/14 4/220/14 +f 39/226/16 163/229/19 37/222/19 +f 43/230/6 164/231/13 41/224/13 +f 25/232/15 50/57/29 23/58/29 +f 11/233/11 165/234/5 9/227/5 +f 27/235/7 166/236/15 25/232/15 +f 13/237/25 167/238/11 11/233/11 +f 29/205/12 168/239/7 27/235/7 +f 15/208/24 169/240/25 13/237/25 +f 46/211/21 170/241/22 47/242/22 +f 171/243/16 121/244/9 172/245/9 +f 121/244/9 122/246/30 67/247/31 +f 123/248/11 125/249/32 60/250/33 +f 173/251/6 126/252/16 171/243/16 +f 71/253/34 59/67/4 174/254/4 +f 60/250/33 175/255/8 176/256/14 +f 177/257/10 117/258/24 178/259/24 +f 69/260/7 179/261/26 67/247/31 +f 178/259/24 123/248/11 180/262/11 +f 175/255/8 64/263/22 181/264/22 +f 182/265/27 64/263/22 63/266/27 +f 183/267/5 182/268/5 63/269/35 +f 177/257/10 56/270/20 118/271/10 +f 184/272/18 69/260/7 72/273/18 +f 45/274/27 170/241/22 185/275/27 +f 185/275/27 43/230/6 45/274/27 +f 184/272/18 71/276/20 186/277/20 +f 127/278/6 52/279/27 114/280/27 +f 54/281/36 65/282/17 74/283/17 +f 75/284/21 65/282/17 66/285/21 +f 124/286/37 66/285/21 61/287/37 +f 124/286/37 60/250/33 125/249/32 +f 120/288/38 67/247/31 122/246/30 +f 76/289/15 68/290/38 120/288/38 +f 119/291/12 70/292/15 76/289/15 +f 71/276/34 119/291/12 116/293/39 +f 83/91/40 187/294/41 77/85/42 +f 77/85/42 188/295/43 85/93/44 +f 86/94/45 189/296/46 88/97/47 +f 80/88/48 190/297/49 86/169/45 +f 83/91/40 189/296/46 191/298/50 +f 85/93/44 192/299/51 80/88/48 +f 191/300/50 189/301/46 192/302/51 +f 128/178/12 1/1/12 3/3/7 +f 130/180/6 19/22/6 16/17/13 +f 132/182/5 30/33/5 28/31/14 +f 129/184/7 3/51/7 48/53/15 +f 131/181/13 16/17/13 12/13/16 +f 133/183/14 28/31/14 26/29/17 +f 134/185/15 48/53/15 44/47/18 +f 135/186/16 12/13/16 10/11/19 +f 136/187/17 26/29/17 24/27/8 +f 137/188/18 44/47/18 42/45/20 +f 138/189/19 10/11/19 8/9/9 +f 139/190/8 24/27/8 22/25/21 +f 140/191/20 42/45/20 40/43/10 +f 141/192/9 8/9/9 6/6/4 +f 142/193/21 22/25/21 20/23/22 +f 143/194/10 40/43/10 38/41/23 +f 147/198/24 36/39/24 34/37/25 +f 144/195/4 6/6/4 7/8/26 +f 145/196/22 20/23/22 18/20/27 +f 146/197/23 38/41/23 36/39/24 +f 148/199/25 34/37/25 32/35/11 +f 149/200/26 7/8/26 1/1/12 +f 150/201/27 18/20/27 19/22/6 +f 151/202/11 32/35/11 30/33/5 +f 31/203/26 155/213/26 152/204/12 +f 14/206/23 156/214/23 153/207/24 +f 2/209/8 157/303/8 154/210/21 +f 33/212/4 158/219/4 155/213/26 +f 17/55/28 113/150/28 156/214/23 +f 5/215/17 159/221/17 157/216/8 +f 35/218/9 160/223/9 158/219/4 +f 4/220/14 162/228/14 159/221/17 +f 37/222/19 163/229/19 160/223/9 +f 41/224/13 164/231/13 161/225/16 +f 9/227/5 165/234/5 162/228/14 +f 39/226/16 161/225/16 163/229/19 +f 43/230/6 193/304/6 164/231/13 +f 25/232/15 166/236/15 50/57/29 +f 11/233/11 167/238/11 165/234/5 +f 27/235/7 168/239/7 166/236/15 +f 13/237/25 169/240/25 167/238/11 +f 29/205/12 152/204/12 168/239/7 +f 15/208/24 153/207/24 169/240/25 +f 46/211/21 154/210/21 170/241/22 +f 171/243/16 126/252/16 121/244/9 +f 179/261/26 172/245/9 67/247/31 +f 172/245/9 121/244/9 67/247/31 +f 60/250/33 176/256/14 180/262/11 +f 180/262/11 123/248/11 60/250/33 +f 173/251/6 127/278/6 126/252/16 +f 174/254/4 186/305/4 71/253/34 +f 71/253/34 116/153/39 59/67/4 +f 60/250/33 62/306/8 175/255/8 +f 177/257/10 118/271/10 117/258/24 +f 69/260/7 194/307/7 179/261/26 +f 178/259/24 117/258/24 123/248/11 +f 175/255/8 62/306/8 64/263/22 +f 182/265/27 181/264/22 64/263/22 +f 63/269/35 54/62/36 55/63/5 +f 55/63/5 183/267/5 63/269/35 +f 177/257/10 115/308/20 56/270/20 +f 184/272/18 194/307/7 69/260/7 +f 45/274/27 47/242/22 170/241/22 +f 185/275/27 193/304/6 43/230/6 +f 184/272/18 72/273/18 71/276/20 +f 127/278/6 173/251/6 52/279/27 +f 54/281/36 63/266/35 65/282/17 +f 75/284/21 74/283/17 65/282/17 +f 124/286/37 75/284/21 66/285/21 +f 124/286/37 61/287/37 60/250/33 +f 120/288/38 68/290/38 67/247/31 +f 76/289/15 70/292/15 68/290/38 +f 119/291/12 73/309/12 70/292/15 +f 71/276/34 73/309/12 119/291/12 +f 83/91/40 191/298/50 187/294/41 +f 77/85/42 187/294/41 188/295/43 +f 86/94/45 190/310/49 189/296/46 +f 80/88/48 192/299/51 190/297/49 +f 83/91/40 88/97/47 189/296/46 +f 85/93/44 188/295/43 192/299/51 +f 189/301/46 190/311/49 192/302/51 +f 192/302/51 188/312/43 187/313/41 +f 187/313/41 191/300/50 192/302/51 +o MagPlate +v -0.239382 2.111670 3.718485 +v -0.239382 2.111670 3.780985 +v 0.239382 2.111670 3.718485 +v -1.590990 2.049170 3.090990 +v -1.948557 2.049170 2.625000 +v -0.239382 2.049170 3.718485 +v 0.239382 2.049170 3.780985 +v 0.239382 2.049170 3.718485 +v 0.239382 2.111670 3.780985 +v -0.239382 2.049170 3.780985 +v 0.582343 2.111670 3.673333 +v 1.125000 2.111670 3.448557 +v 1.590990 2.111670 3.090990 +v 1.948557 2.111670 2.625000 +v 2.173333 2.111670 2.082343 +v 2.250000 2.111670 1.500000 +v 2.173333 2.111670 0.917657 +v 1.948557 2.111670 0.375000 +v 1.590990 2.111670 -0.090990 +v 1.125000 2.111670 -0.448557 +v 0.582343 2.111670 -0.673333 +v 0.000000 2.111670 -0.750000 +v -0.582343 2.111670 -0.673333 +v -1.125000 2.111670 -0.448557 +v -1.590990 2.111670 -0.090991 +v -1.948557 2.111670 0.375000 +v -2.173333 2.111670 0.917658 +v -2.250000 2.111670 1.500000 +v -2.173333 2.111670 2.082343 +v -1.948557 2.111670 2.625000 +v -1.590990 2.111670 3.090990 +v -1.125000 2.111670 3.448557 +v -0.582343 2.111670 3.673333 +v -0.582343 2.049170 3.673333 +v -1.125000 2.049170 3.448557 +v 1.125000 2.049170 3.448557 +v 0.582343 2.049170 3.673333 +v 1.948557 2.049170 2.625000 +v 1.590990 2.049170 3.090990 +v 2.250000 2.049170 1.500000 +v 2.173333 2.049170 2.082343 +v 1.948557 2.049170 0.375000 +v 2.173333 2.049170 0.917657 +v 1.125000 2.049170 -0.448557 +v 1.590990 2.049170 -0.090990 +v 0.000000 2.049170 -0.750000 +v 0.582343 2.049170 -0.673333 +v -1.125000 2.049170 -0.448557 +v -0.582343 2.049170 -0.673333 +v -1.948557 2.049170 0.375000 +v -1.590990 2.049170 -0.090991 +v -2.250000 2.049170 1.500000 +v -2.173333 2.049170 0.917658 +v -2.173333 2.049170 2.082343 +vt 0.148620 0.891768 +vt 0.148620 0.895526 +vt 0.120037 0.891768 +vt 0.308001 0.854042 +vt 0.286653 0.826028 +vt 0.388694 0.891765 +vt 0.022388 0.619403 +vt 0.018657 0.623134 +vt 0.022388 0.623134 +vt 0.018657 0.619403 +vt 0.000000 0.623134 +vt 0.391791 0.615672 +vt 0.388060 0.619403 +vt 0.391791 0.619403 +vt 0.120037 0.895526 +vt 0.099562 0.889054 +vt 0.067164 0.875541 +vt 0.039344 0.854046 +vt 0.017997 0.826032 +vt 0.004577 0.793409 +vt 0.000000 0.758400 +vt 0.004577 0.723392 +vt 0.017997 0.690770 +vt 0.039344 0.662756 +vt 0.067164 0.641260 +vt 0.099562 0.627747 +vt 0.134328 0.623138 +vt 0.169095 0.627747 +vt 0.201493 0.641260 +vt 0.229313 0.662756 +vt 0.250660 0.690770 +vt 0.264080 0.723392 +vt 0.268657 0.758403 +vt 0.264080 0.793409 +vt 0.250660 0.826032 +vt 0.229313 0.854046 +vt 0.201493 0.875541 +vt 0.169095 0.889054 +vt 0.417277 0.891765 +vt 0.417276 0.895522 +vt 0.388694 0.895522 +vt 0.368218 0.889050 +vt 0.335821 0.875538 +vt 0.470149 0.875538 +vt 0.437752 0.889050 +vt 0.519317 0.826028 +vt 0.497970 0.854042 +vt 0.537313 0.758398 +vt 0.532736 0.793405 +vt 0.519317 0.690766 +vt 0.532736 0.723389 +vt 0.470149 0.641256 +vt 0.497970 0.662752 +vt 0.402985 0.623134 +vt 0.437752 0.627744 +vt 0.335821 0.641256 +vt 0.368218 0.627744 +vt 0.286653 0.690766 +vt 0.308001 0.662752 +vt 0.268657 0.758395 +vt 0.273234 0.723389 +vt 0.273234 0.793405 +vt 0.000000 0.619403 +vt 0.388060 0.615672 +vt 0.302239 0.615672 +vt 0.268657 0.619403 +vt 0.302239 0.619403 +vt 0.410448 0.619403 +vt 0.376866 0.623134 +vt 0.410448 0.623134 +vt 0.175373 0.619403 +vt 0.141791 0.623134 +vt 0.175373 0.623134 +vt 0.335821 0.615672 +vt 0.335821 0.619403 +vt 0.033582 0.615672 +vt -0.000000 0.619403 +vt 0.033582 0.619403 +vt 0.208955 0.619403 +vt 0.208955 0.623134 +vt 0.369403 0.615672 +vt 0.369403 0.619403 +vt 0.067164 0.615672 +vt 0.067164 0.619403 +vt 0.242537 0.619403 +vt 0.242537 0.623134 +vt 0.100746 0.615672 +vt 0.100746 0.619403 +vt 0.276119 0.619403 +vt 0.276119 0.623134 +vt 0.041045 0.619403 +vt 0.041045 0.623134 +vt 0.134328 0.615672 +vt 0.134328 0.619403 +vt 0.309702 0.619403 +vt 0.309702 0.623134 +vt 0.074627 0.619403 +vt 0.074627 0.623134 +vt 0.167910 0.615672 +vt 0.167910 0.619403 +vt 0.235075 0.615672 +vt 0.201493 0.619403 +vt 0.235075 0.619403 +vt 0.343284 0.619403 +vt 0.343284 0.623134 +vt 0.108209 0.619403 +vt 0.108209 0.623134 +vt 0.201493 0.615672 +vt 0.268657 0.615672 +vt 0.376866 0.619403 +vt 0.141791 0.619403 +vt 0.000000 0.615672 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn -0.7071 0.0000 0.7071 +vn -0.8660 0.0000 0.5000 +vn -0.0000 0.0000 -1.0000 +vn 0.2588 0.0000 -0.9659 +vn 0.9659 0.0000 0.2588 +vn 0.8660 0.0000 0.5000 +vn -0.5000 0.0000 0.8660 +vn -0.2588 0.0000 -0.9659 +vn -0.2588 0.0000 0.9659 +vn -0.5000 0.0000 -0.8660 +vn 0.9659 0.0000 -0.2588 +vn -0.7071 0.0000 -0.7071 +vn 0.8660 0.0000 -0.5000 +vn 0.2588 0.0000 0.9659 +vn 0.1305 0.0000 0.9914 +vn -0.8660 0.0000 -0.5000 +vn 0.7071 0.0000 -0.7071 +vn 0.5000 0.0000 0.8660 +vn -0.9659 0.0000 -0.2588 +vn -0.9659 0.0000 0.2588 +vn 0.5000 0.0000 -0.8660 +vn -0.1305 0.0000 0.9914 +vn 0.7071 0.0000 0.7071 +s off +f 195/314/52 196/315/52 197/316/52 +f 198/317/53 199/318/53 200/319/53 +f 197/320/54 201/321/54 202/322/54 +f 203/323/55 204/324/55 201/321/55 +f 196/325/56 200/326/56 204/327/56 +f 196/315/52 203/328/52 197/316/52 +f 197/316/52 205/329/52 206/330/52 +f 206/330/52 207/331/52 197/316/52 +f 207/331/52 208/332/52 197/316/52 +f 208/332/52 209/333/52 197/316/52 +f 209/333/52 210/334/52 197/316/52 +f 210/334/52 211/335/52 197/316/52 +f 211/335/52 212/336/52 197/316/52 +f 212/336/52 213/337/52 197/316/52 +f 213/337/52 214/338/52 197/316/52 +f 214/338/52 215/339/52 197/316/52 +f 215/339/52 216/340/52 197/316/52 +f 197/316/52 216/340/52 195/314/52 +f 216/340/52 217/341/52 195/314/52 +f 217/341/52 218/342/52 195/314/52 +f 218/342/52 219/343/52 195/314/52 +f 219/343/52 220/344/52 195/314/52 +f 220/344/52 221/345/52 195/314/52 +f 221/345/52 222/346/52 195/314/52 +f 222/346/52 223/347/52 195/314/52 +f 223/347/52 224/348/52 195/314/52 +f 224/348/52 225/349/52 195/314/52 +f 225/349/52 226/350/52 195/314/52 +f 226/350/52 227/351/52 195/314/52 +f 202/352/53 201/353/53 204/354/53 +f 200/319/53 228/355/53 229/356/53 +f 202/352/53 204/354/53 200/319/53 +f 230/357/53 231/358/53 202/352/53 +f 232/359/53 233/360/53 202/352/53 +f 233/360/53 230/357/53 202/352/53 +f 234/361/53 235/362/53 202/352/53 +f 235/362/53 232/359/53 202/352/53 +f 236/363/53 237/364/53 202/352/53 +f 237/364/53 234/361/53 202/352/53 +f 238/365/53 239/366/53 202/352/53 +f 239/366/53 236/363/53 202/352/53 +f 240/367/53 241/368/53 202/352/53 +f 241/368/53 238/365/53 202/352/53 +f 242/369/53 243/370/53 200/319/53 +f 243/370/53 240/367/53 200/319/53 +f 200/319/53 240/367/53 202/352/53 +f 244/371/53 245/372/53 200/319/53 +f 245/372/53 242/369/53 200/319/53 +f 246/373/53 247/374/53 200/319/53 +f 247/374/53 244/371/53 200/319/53 +f 199/318/53 248/375/53 200/319/53 +f 248/375/53 246/373/53 200/319/53 +f 229/356/53 198/317/53 200/319/53 +f 197/320/54 203/323/54 201/321/54 +f 203/323/55 196/376/55 204/324/55 +f 196/325/56 195/377/56 200/326/56 +s 1 +f 225/378/57 199/379/58 198/380/57 +f 216/381/59 241/382/60 240/383/59 +f 209/384/61 232/385/62 235/386/61 +f 226/387/63 198/380/57 229/388/63 +f 217/389/64 240/390/59 243/391/64 +f 210/392/54 235/386/61 234/393/54 +f 227/394/65 229/388/63 228/395/65 +f 218/396/66 243/391/64 242/397/66 +f 211/398/67 234/393/54 237/399/67 +f 219/400/68 242/397/66 245/401/68 +f 212/402/69 237/399/67 236/403/69 +f 205/404/70 202/322/71 231/405/70 +f 220/406/72 245/401/68 244/407/72 +f 213/408/73 236/403/69 239/409/73 +f 206/410/74 231/405/70 230/411/74 +f 221/412/75 244/407/72 247/413/75 +f 223/414/76 246/415/56 248/416/76 +f 214/417/77 239/409/73 238/418/77 +f 195/377/78 228/395/65 200/326/78 +f 207/419/79 230/411/74 233/420/79 +f 222/421/56 247/413/75 246/415/56 +f 224/422/58 248/416/76 199/379/58 +f 215/423/60 238/418/77 241/382/60 +f 208/424/62 233/420/79 232/385/62 +f 225/378/57 224/422/58 199/379/58 +f 216/381/59 215/423/60 241/382/60 +f 209/384/61 208/424/62 232/385/62 +f 226/387/63 225/378/57 198/380/57 +f 217/389/64 216/425/59 240/390/59 +f 210/392/54 209/384/61 235/386/61 +f 227/394/65 226/387/63 229/388/63 +f 218/396/66 217/389/64 243/391/64 +f 211/398/67 210/392/54 234/393/54 +f 219/400/68 218/396/66 242/397/66 +f 212/402/69 211/398/67 237/399/67 +f 205/404/70 197/320/71 202/322/71 +f 220/406/72 219/400/68 245/401/68 +f 213/408/73 212/402/69 236/403/69 +f 206/410/74 205/404/70 231/405/70 +f 221/412/75 220/406/72 244/407/72 +f 223/414/76 222/421/56 246/415/56 +f 214/417/77 213/408/73 239/409/73 +f 195/377/78 227/394/65 228/395/65 +f 207/419/79 206/410/74 230/411/74 +f 222/421/56 221/412/75 247/413/75 +f 224/422/58 223/414/76 248/416/76 +f 215/423/60 214/417/77 238/418/77 +f 208/424/62 207/419/79 233/420/79 +o Silencer +v 0.000000 1.736670 16.750000 +v -0.088388 1.773282 11.875000 +v -0.088388 1.773282 16.750000 +v 0.125000 1.861670 16.750000 +v 0.088388 1.773282 11.875000 +v 0.088388 1.773282 16.750000 +v 0.000000 1.986670 16.750000 +v 0.088388 1.950058 11.875000 +v 0.088388 1.950058 16.750000 +v -0.125000 1.861670 16.750000 +v -0.088388 1.950058 11.875000 +v -0.088388 1.950058 16.750000 +v -0.125000 1.861670 11.875000 +v 0.000000 1.736670 11.875000 +v 0.125000 1.861670 11.875000 +v 0.000000 1.986670 11.875000 +v -0.281250 2.348809 16.750000 +v -0.487139 2.142920 16.750000 +v -0.281250 1.374531 16.750000 +v 0.281250 1.374531 16.750000 +v 0.487139 1.580420 16.750000 +v 0.000000 1.299170 16.750000 +v 0.562500 1.861670 16.750000 +v 0.281250 2.348809 16.750000 +v 0.000000 2.424170 16.750000 +v -0.487139 1.580420 16.750000 +v -0.562500 1.861670 16.750000 +v 0.000000 2.424170 11.875000 +v 0.281250 2.348809 11.875000 +v -0.487139 1.580420 11.875000 +v -0.562500 1.861670 11.875000 +v -0.487139 2.142920 11.875000 +v 0.487139 1.580420 11.875000 +v 0.281250 1.374531 11.875000 +v 0.487139 2.142920 16.750000 +v 0.487139 2.142920 11.875000 +v -0.281250 2.348809 11.875000 +v 0.000000 1.299170 11.875000 +v 0.562500 1.861670 11.875000 +v -0.281250 1.374531 11.875000 +vt 0.287313 0.361940 +vt -0.000000 0.354478 +vt 0.287313 0.354478 +vt 0.287313 0.376866 +vt -0.000000 0.369403 +vt 0.287313 0.369403 +vt 0.287313 0.391791 +vt -0.000000 0.384328 +vt 0.287313 0.384328 +vt 0.287313 0.347015 +vt -0.000000 0.339552 +vt 0.287313 0.339552 +vt -0.000000 0.347015 +vt -0.000000 0.361940 +vt -0.000000 0.376866 +vt -0.000000 0.332090 +vt 0.287313 0.332090 +vt 0.026119 0.410448 +vt 0.026119 0.429104 +vt -0.000000 0.421642 +vt 0.026119 0.485075 +vt -0.000000 0.500000 +vt -0.000000 0.492537 +vt 0.026119 0.522388 +vt 0.026119 0.541045 +vt 0.000000 0.533582 +vt 0.000000 0.511194 +vt 0.026119 0.503731 +vt 0.000000 0.555970 +vt 0.026119 0.559702 +vt -0.000000 0.611940 +vt 0.026119 0.597015 +vt 0.026119 0.615672 +vt 0.000000 0.444030 +vt 0.000000 0.436567 +vt 0.000000 0.399254 +vt 0.026119 0.391791 +vt 0.026119 0.466418 +vt -0.000000 0.455224 +vt 0.026119 0.447761 +vt 0.313433 0.615672 +vt 0.313433 0.597015 +vt 0.313433 0.466418 +vt 0.313433 0.447761 +vt 0.313433 0.429104 +vt 0.313433 0.541045 +vt 0.313433 0.522388 +vt 0.026119 0.578358 +vt 0.313433 0.578358 +vt 0.313433 0.410448 +vt 0.313433 0.503731 +vt 0.313433 0.559702 +vt 0.313433 0.391791 +vt 0.313433 0.485075 +vt 0.376007 0.565419 +vt 0.376007 0.598760 +vt 0.347015 0.615672 +vt 0.000000 0.477612 +vt -0.000000 0.589552 +vt -0.000000 0.567164 +vt -0.000000 0.574627 +vt -0.000000 0.391791 +vt -0.000000 0.518657 +vt 0.000000 0.548507 +vt 0.000000 0.604478 +vt 0.000000 0.406716 +vt 0.000000 0.462687 +vt 0.330345 0.611081 +vt 0.318023 0.598760 +vt 0.313433 0.582090 +vt 0.318023 0.565419 +vt 0.330345 0.553098 +vt 0.347015 0.548507 +vt 0.363685 0.553098 +vt 0.380597 0.582090 +vt 0.363685 0.611081 +vn 0.0000 1.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.0000 -1.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.5000 0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.8660 0.5000 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.0000 0.0000 -1.0000 +s 1 +f 249/426/80 250/427/81 251/428/81 +f 252/429/82 253/430/83 254/431/83 +f 255/432/84 256/433/85 257/434/85 +f 258/435/86 259/436/87 260/437/87 +f 258/435/86 250/427/81 261/438/86 +f 254/431/83 262/439/80 249/426/80 +f 252/429/82 256/433/85 263/440/82 +f 260/437/87 264/441/84 255/442/84 +f 265/443/88 266/444/88 260/445/88 +f 267/446/88 249/447/88 251/448/88 +f 268/449/88 269/450/88 254/451/88 +f 268/449/88 249/452/88 270/453/88 +f 252/454/88 269/450/88 271/455/88 +f 255/456/88 272/457/88 273/458/88 +f 266/444/88 258/459/88 260/460/88 +f 265/443/88 255/461/88 273/462/88 +f 274/463/88 258/464/88 275/465/88 +f 276/466/80 272/457/89 277/467/89 +f 278/468/90 267/446/91 274/463/90 +f 279/469/82 266/444/92 280/470/92 +f 281/471/93 268/449/94 282/472/94 +f 277/467/89 283/473/95 284/474/95 +f 278/468/90 275/465/82 279/469/82 +f 280/470/92 265/443/96 285/475/96 +f 282/472/94 270/453/84 286/476/84 +f 284/474/95 271/455/86 287/477/86 +f 276/478/80 265/443/96 273/462/80 +f 286/476/84 267/446/91 288/479/91 +f 287/477/86 269/450/93 281/471/93 +f 282/480/97 288/481/97 279/482/97 +f 274/463/88 267/446/88 251/483/88 +f 283/473/88 272/457/88 257/484/88 +f 252/485/88 283/473/88 257/486/88 +f 249/426/80 262/439/80 250/427/81 +f 252/429/82 263/440/82 253/430/83 +f 255/432/84 264/487/84 256/433/85 +f 258/435/86 261/438/86 259/436/87 +f 258/435/86 251/428/81 250/427/81 +f 254/431/83 253/430/83 262/439/80 +f 252/429/82 257/434/85 256/433/85 +f 260/437/87 259/436/87 264/441/84 +f 267/446/88 270/453/88 249/447/88 +f 268/449/88 254/488/88 249/452/88 +f 252/454/88 254/489/88 269/450/88 +f 255/456/88 257/490/88 272/457/88 +f 266/444/88 275/465/88 258/459/88 +f 265/443/88 260/491/88 255/461/88 +f 274/463/88 251/492/88 258/464/88 +f 276/466/80 273/458/80 272/457/89 +f 278/468/90 288/479/91 267/446/91 +f 279/469/82 275/465/82 266/444/92 +f 281/471/93 269/450/93 268/449/94 +f 277/467/89 272/457/89 283/473/95 +f 278/468/90 274/463/90 275/465/82 +f 280/470/92 266/444/92 265/443/96 +f 282/472/94 268/449/94 270/453/84 +f 284/474/95 283/473/95 271/455/86 +f 276/478/80 285/475/96 265/443/96 +f 286/476/84 270/453/84 267/446/91 +f 287/477/86 271/455/86 269/450/93 +f 279/482/97 280/493/97 285/494/97 +f 285/494/97 276/495/97 277/496/97 +f 277/496/97 284/497/97 287/498/97 +f 287/498/97 281/499/97 277/496/97 +f 281/499/97 282/480/97 277/496/97 +f 282/480/97 286/500/97 288/481/97 +f 288/481/97 278/501/97 279/482/97 +f 279/482/97 285/494/97 282/480/97 +f 285/494/97 277/496/97 282/480/97 +f 252/485/88 271/455/88 283/473/88 +o Bolt +v 0.625000 1.745043 -1.673765 +v 0.625000 1.861670 -1.705015 +v 0.625000 1.947047 -1.619638 +v 0.375000 1.947047 -1.619638 +v 0.375000 1.915797 -1.503012 +v 0.375000 1.947047 -1.557138 +v 0.375000 1.745044 -1.503012 +v 0.375000 1.713794 -1.619638 +v 0.375000 1.713794 -1.557138 +v 0.625000 1.947047 -1.557138 +v 0.625000 1.915797 -1.503012 +v 0.625000 1.861670 -1.471762 +v 0.625000 1.799170 -1.471762 +v 0.625000 1.745043 -1.503012 +v 0.625000 1.713793 -1.557138 +v 0.625000 1.713793 -1.619638 +v 0.625000 1.799170 -1.705015 +v 0.625000 1.915797 -1.673765 +v 0.375000 1.915797 -1.673765 +v 0.375000 1.745044 -1.673765 +v 0.343750 1.986670 -3.250000 +v 0.375000 1.869253 -3.279029 +v 0.343750 1.895141 -3.341529 +v 0.343750 1.765699 -3.341529 +v 0.375000 1.791587 -3.279029 +v 0.343750 1.674170 -3.250000 +v 0.343750 1.674170 -1.312500 +v 0.375000 1.791587 -1.283471 +v 0.343750 1.765699 -1.220971 +v 0.375000 1.869253 -1.283471 +v 0.343750 1.895141 -1.220971 +v 0.343750 1.986670 -1.312500 +v 0.375000 1.924170 -1.338388 +v 0.375000 1.736670 -3.224112 +v 0.375000 1.736670 -1.338388 +v 0.375000 1.861670 -1.471762 +v 0.375000 1.799170 -1.705015 +v 0.375000 1.861670 -1.705015 +v 0.375000 1.799170 -1.471762 +v 0.375000 1.924170 -3.224112 +vt 0.595015 0.509462 +vt 0.587553 0.507463 +vt 0.582090 0.512926 +vt 0.597015 0.500000 +vt 0.593284 0.507463 +vt 0.597015 0.503731 +vt 0.593284 0.507463 +vt 0.589552 0.500000 +vt 0.589552 0.503731 +vt 0.582090 0.516925 +vt 0.584089 0.520388 +vt 0.587553 0.522388 +vt 0.591552 0.522388 +vt 0.595015 0.520388 +vt 0.597015 0.516925 +vt 0.597015 0.512926 +vt 0.591552 0.507463 +vt 0.584089 0.509462 +vt 0.593284 0.496269 +vt 0.593284 0.496269 +vt 0.570895 0.507463 +vt 0.567164 0.500000 +vt 0.570895 0.500000 +vt 0.570895 0.492537 +vt 0.567164 0.492537 +vt 0.570895 0.485075 +vt 0.570895 0.369403 +vt 0.567164 0.361940 +vt 0.570895 0.361940 +vt 0.567164 0.354478 +vt 0.570895 0.354478 +vt 0.570895 0.347015 +vt 0.567164 0.623134 +vt 0.570895 0.623134 +vt 0.567164 0.485075 +vt 0.574627 0.567164 +vt 0.582090 0.563433 +vt 0.570895 0.563433 +vt 0.597015 0.529851 +vt 0.582090 0.526119 +vt 0.582090 0.529851 +vt 0.597015 0.555970 +vt 0.582090 0.552239 +vt 0.582090 0.555970 +vt 0.597015 0.544776 +vt 0.582090 0.541045 +vt 0.582090 0.544776 +vt 0.597015 0.533582 +vt 0.582090 0.533582 +vt 0.597015 0.559702 +vt 0.582090 0.559702 +vt 0.597015 0.567164 +vt 0.582090 0.563433 +vt 0.582090 0.567164 +vt 0.597015 0.548507 +vt 0.582090 0.548507 +vt 0.597015 0.537313 +vt 0.582090 0.537313 +vt 0.597015 0.563433 +vt 0.597015 0.526119 +vt 0.582090 0.522388 +vt 0.597015 0.552239 +vt 0.597015 0.541045 +vt 0.582090 0.451493 +vt 0.574627 0.447761 +vt 0.578358 0.447761 +vt 0.567164 0.507463 +vt 0.567164 0.369403 +vt 0.567164 0.347015 +vt 0.578358 0.567164 +vt 0.597015 0.522388 +vt 0.570895 0.451493 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.9078 0.3874 -0.1605 +vn 0.9644 0.1012 -0.2444 +vn 0.9078 0.1605 -0.3874 +vn 0.9078 -0.1605 -0.3874 +vn 0.9644 -0.1012 -0.2444 +vn 0.9078 -0.3874 -0.1605 +vn 0.9078 -0.3874 0.1605 +vn 0.9644 -0.1012 0.2444 +vn 0.9078 -0.1605 0.3874 +vn 0.9644 0.1012 0.2444 +vn 0.9078 0.1605 0.3874 +vn 0.9078 0.3874 0.1605 +vn 0.9644 0.2444 0.1012 +vn 0.9644 -0.2444 -0.1012 +vn 0.9644 -0.2444 0.1012 +vn 0.0000 0.2588 0.9659 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.2588 -0.9659 +vn 0.0000 -0.2588 -0.9659 +vn -0.0000 -0.9659 -0.2588 +vn -0.0000 -0.9659 0.2588 +vn 0.0000 -0.2588 0.9659 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.9659 0.2588 +vn 0.0000 0.9659 -0.2588 +vn -0.0000 -0.7071 -0.7071 +vn -0.0000 -0.7071 0.7071 +vn 0.9644 0.2444 -0.1012 +s off +f 289/502/98 290/503/98 291/504/98 +f 292/505/99 293/506/99 294/507/99 +f 295/508/99 296/509/99 297/510/99 +f 291/504/98 298/511/98 299/512/98 +f 299/512/98 300/513/98 301/514/98 +f 301/514/98 302/515/98 289/502/98 +f 302/515/98 303/516/98 289/502/98 +f 303/516/98 304/517/98 289/502/98 +f 289/502/98 305/518/98 290/503/98 +f 290/503/98 306/519/98 291/504/98 +f 291/504/98 299/512/98 289/502/98 +f 299/512/98 301/514/98 289/502/98 +f 292/505/99 307/520/99 293/506/99 +f 295/508/99 308/521/99 296/509/99 +s 1 +f 309/522/100 310/523/101 311/524/102 +f 312/525/103 310/523/101 313/526/104 +f 313/526/104 314/527/105 312/525/103 +f 315/528/106 316/529/107 317/530/108 +f 317/530/108 318/531/109 319/532/110 +f 318/531/109 320/533/111 319/532/110 +f 321/534/112 309/522/100 320/535/111 +f 322/536/113 315/528/106 314/527/105 +f 318/537/109 323/538/114 321/539/112 +f 300/540/115 293/541/116 324/542/115 +f 290/543/117 325/544/118 326/545/117 +f 304/546/119 297/547/120 296/548/119 +f 301/549/121 324/542/115 327/550/121 +f 306/551/122 326/545/117 307/552/122 +f 298/553/123 292/554/124 294/555/123 +f 289/556/125 296/548/119 308/557/125 +f 302/558/126 327/550/121 295/559/126 +f 291/560/124 307/552/122 292/554/124 +f 299/561/116 294/562/123 293/541/116 +f 305/563/118 308/557/125 325/544/118 +f 303/564/120 295/559/126 297/547/120 +f 322/565/113 321/539/112 323/538/114 +f 310/566/101 322/565/113 313/567/104 +f 309/522/100 328/568/127 310/523/101 +f 312/525/103 311/524/102 310/523/101 +f 313/526/104 322/536/113 314/527/105 +f 315/528/106 323/569/114 316/529/107 +f 317/530/108 316/529/107 318/531/109 +f 318/531/109 321/570/112 320/533/111 +f 321/534/112 328/568/127 309/522/100 +f 322/536/113 323/569/114 315/528/106 +f 318/537/109 316/571/107 323/538/114 +f 300/540/115 299/561/116 293/541/116 +f 290/543/117 305/563/118 325/544/118 +f 304/546/119 303/564/120 297/547/120 +f 301/549/121 300/540/115 324/542/115 +f 306/551/122 290/543/117 326/545/117 +f 298/553/123 291/560/124 292/554/124 +f 289/556/125 304/546/119 296/548/119 +f 302/558/126 301/549/121 327/550/121 +f 291/560/124 306/551/122 307/552/122 +f 299/561/116 298/572/123 294/562/123 +f 305/563/118 289/556/125 308/557/125 +f 303/564/120 302/558/126 295/559/126 +f 322/565/113 328/573/127 321/539/112 +f 310/566/101 328/573/127 322/565/113 +o Trigger +v 0.125000 0.528950 -1.431801 +v 0.125000 0.562727 -1.589303 +v 0.125000 0.600647 -1.534195 +v 0.125000 0.754238 -1.641741 +v -0.125000 0.600647 -1.534195 +v -0.125000 0.562727 -1.589303 +v -0.125000 0.528950 -1.431801 +v -0.125000 0.754238 -1.641741 +v 0.125000 0.754238 -1.750000 +v 0.125000 0.941738 -1.641741 +v 0.125000 0.861670 -1.812500 +v 0.125000 1.111670 -1.562500 +v -0.125000 0.941738 -1.641741 +v -0.125000 0.754238 -1.750000 +v -0.125000 0.861670 -1.812500 +v -0.125000 1.111670 -1.562500 +vt 0.582090 0.358209 +vt 0.578358 0.365672 +vt 0.582090 0.365672 +vt 0.582090 0.376866 +vt 0.597015 0.365672 +vt 0.600746 0.365672 +vt 0.597015 0.358209 +vt 0.597015 0.376866 +vt 0.574627 0.380597 +vt 0.582090 0.391791 +vt 0.582090 0.380597 +vt 0.574627 0.391791 +vt 0.582090 0.410448 +vt 0.582090 0.399254 +vt 0.597015 0.391791 +vt 0.604478 0.380597 +vt 0.597015 0.380597 +vt 0.604478 0.391791 +vt 0.597015 0.399254 +vt 0.597015 0.410448 +vt 0.570895 0.391791 +vt 0.608209 0.391791 +vt 0.582090 0.324627 +vt 0.597015 0.332090 +vt 0.597015 0.324627 +vt 0.582090 0.347015 +vt 0.597015 0.347015 +vt 0.582090 0.332090 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -0.2164 0.9763 +vn 0.0000 -0.4226 0.9063 +vn 0.0000 0.3007 0.9537 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.8192 0.5736 +vn 0.0000 -0.5029 -0.8644 +vn 0.0000 -0.5749 -0.8182 +vn 0.0000 -0.8567 -0.5158 +vn 0.0000 -0.9778 -0.2097 +s off +f 329/574/128 330/575/128 331/576/128 +f 330/575/128 332/577/128 331/576/128 +f 333/578/129 334/579/129 335/580/129 +f 336/581/129 334/579/129 333/578/129 +f 337/582/128 338/583/128 332/584/128 +f 339/585/128 340/586/128 338/587/128 +f 341/588/129 342/589/129 336/590/129 +f 343/591/129 341/592/129 344/593/129 +f 330/575/128 337/582/128 332/577/128 +f 336/581/129 342/589/129 334/579/129 +f 337/582/128 339/594/128 338/583/128 +f 341/588/129 343/595/129 342/589/129 +s 1 +f 341/592/130 340/586/131 344/593/131 +f 336/590/132 338/583/130 341/588/130 +f 333/578/133 332/577/132 336/581/132 +f 335/580/134 331/576/133 333/578/133 +f 339/596/135 342/597/136 343/598/135 +f 342/597/136 330/599/137 334/600/137 +f 335/580/138 330/599/137 329/574/138 +f 341/592/130 338/587/130 340/586/131 +f 336/590/132 332/584/132 338/583/130 +f 333/578/133 331/576/133 332/577/132 +f 335/580/134 329/574/134 331/576/133 +f 339/596/135 337/601/136 342/597/136 +f 342/597/136 337/601/136 330/599/137 +f 335/580/138 334/600/137 330/599/137 +o Gun +v 0.343750 1.299170 2.437500 +v -0.343750 1.299170 -2.062500 +v 0.343750 1.299170 -2.062500 +v 0.125000 2.424170 -0.750000 +v 0.343750 2.049170 -0.750000 +v 0.343750 2.424170 -0.750000 +v -0.343750 2.424170 -0.750000 +v -0.125000 2.049170 -0.750000 +v -0.125000 2.424170 -0.750000 +v 0.125000 2.236670 -0.812500 +v 0.125000 2.424170 -0.812500 +v -0.125000 2.236670 -0.812500 +v -0.125000 2.424170 -0.812500 +v 0.343750 2.299170 -1.187500 +v 0.218750 2.424170 -1.187500 +v 0.343750 2.424170 -1.125000 +v -0.343750 2.424170 -1.125000 +v -0.218750 2.424170 -1.187500 +v -0.343750 2.299170 -1.187500 +v 0.218750 2.424170 -5.375000 +v -0.218750 2.424170 -5.375000 +v 0.343750 2.299170 -5.562500 +v 0.125000 2.049170 -0.750000 +v 0.125000 1.861670 11.875000 +v 0.220971 2.082641 11.875000 +v 0.088388 1.950058 11.875000 +v 0.220971 1.640699 11.875000 +v 0.312500 1.861670 11.875000 +v 0.000000 1.736670 11.875000 +v 0.088388 1.773282 11.875000 +v -0.220971 1.640699 11.875000 +v 0.000000 1.549170 11.875000 +v -0.088388 1.950058 11.875000 +v -0.312500 1.861670 11.875000 +v -0.125000 1.861670 11.875000 +v -0.088388 1.773282 11.875000 +v 0.218750 1.799170 2.250000 +v 0.218750 2.049170 2.062500 +v 0.218750 1.861670 2.363165 +v -0.218750 1.861670 2.363165 +v -0.218750 2.049170 2.437500 +v -0.218750 2.049170 2.062500 +v 0.239382 2.049170 3.750000 +v -0.239382 2.049170 2.437500 +v -0.239382 2.049170 3.750000 +v 0.343750 2.049170 1.625000 +v -0.343750 1.799170 1.625000 +v 0.343750 1.799170 1.625000 +v 0.093750 2.517920 -5.031250 +v 0.156250 2.486670 -5.031250 +v 0.156250 2.424170 -5.031250 +v -0.093750 2.517920 -2.406250 +v -0.156250 2.486670 -2.406250 +v -0.156250 2.424170 -2.406250 +v 0.093750 2.517920 -2.406250 +v -0.093750 2.517920 -5.031250 +v 0.343750 1.299170 -5.562500 +v 0.343750 1.799170 2.437500 +v -0.343750 2.049170 -0.750000 +v -0.343750 2.299170 -5.562500 +v -0.343750 2.049170 1.625000 +v -0.343750 1.299170 2.437500 +v -0.218750 2.486670 -4.093750 +v 0.218750 2.486670 -4.968750 +v 0.218750 2.486670 -4.093750 +v -0.156250 2.549170 -4.093750 +v -0.218750 2.486670 -4.968750 +v -0.218750 2.611670 -4.093750 +v -0.218750 2.799170 -4.968750 +v -0.156250 2.799170 -4.968750 +v -0.156250 2.611670 -4.093750 +v 0.218750 2.611670 -4.093750 +v 0.156250 2.799170 -4.968750 +v 0.156250 2.611670 -4.093750 +v 0.093750 2.549170 -4.968750 +v -0.093750 2.736670 -4.968750 +v 0.093750 2.736670 -4.968750 +v -0.156250 2.549170 -4.968750 +v 0.156250 2.549170 -4.968750 +v 0.156250 2.549170 -4.093750 +v 0.093750 2.861670 -4.468750 +v -0.093750 2.861670 -4.406250 +v 0.093750 2.861670 -4.406250 +v -0.093750 2.674170 -4.468750 +v -0.093750 2.861670 -4.468750 +v 0.000000 2.830420 -4.468750 +v -0.022097 2.821268 -4.468750 +v 0.022097 2.821268 -4.468750 +v 0.093750 2.674170 -4.468750 +v 0.031250 2.799170 -4.468750 +v -0.031250 2.799170 -4.468750 +v -0.022097 2.777073 -4.468750 +v 0.022097 2.777073 -4.468750 +v 0.000000 2.767920 -4.468750 +v 0.000000 2.830420 -4.406250 +v 0.022097 2.821268 -4.406250 +v -0.022097 2.821268 -4.406250 +v -0.031250 2.799170 -4.406250 +v -0.156250 2.665242 -4.343750 +v 0.156250 2.549170 -4.343750 +v 0.156250 2.665242 -4.343750 +v -0.156250 2.678635 -4.406250 +v -0.093750 2.549170 -4.406250 +v -0.156250 2.549170 -4.406250 +v 0.093750 2.549170 -4.406250 +v 0.156250 2.678635 -4.406250 +v 0.156250 2.549170 -4.406250 +v -0.093750 2.678635 -4.406250 +v 0.022097 2.777073 -4.406250 +v 0.093750 2.678635 -4.406250 +v 0.031250 2.799170 -4.406250 +v 0.250000 2.580420 -4.781250 +v 0.250000 2.642920 -4.843750 +v 0.250000 2.705420 -4.781250 +v -0.343750 2.642920 -4.906250 +v -0.343750 2.517920 -4.781250 +v -0.343750 2.642920 -4.656250 +v 0.281250 0.924170 0.812500 +v 0.140625 0.924170 1.056070 +v -0.140625 0.924170 1.056070 +v 0.187500 1.174170 0.812500 +v 0.243570 1.174170 0.671875 +v 0.132583 1.174170 0.679918 +v 0.243570 1.174170 0.953125 +v 0.132583 1.174170 0.945082 +v 0.140625 1.174170 1.056070 +v 0.140625 1.174170 0.568930 +v 0.000000 1.174170 1.000000 +v 0.000000 1.174170 0.625000 +v -0.140625 1.174170 0.568930 +v -0.132583 1.174170 0.679917 +v -0.243570 1.174170 0.671875 +v -0.187500 1.174170 0.812500 +v -0.243570 1.174170 0.953125 +v -0.132583 1.174170 0.945082 +v -0.140625 1.174170 1.056070 +v 0.218750 0.394023 -1.004259 +v 0.218750 0.565917 -0.875000 +v 0.218750 0.565917 -0.812500 +v 0.218750 0.674170 -0.812500 +v 0.218750 0.674170 -0.750000 +v 0.218750 0.424170 -1.125000 +v 0.218750 0.456523 -1.004259 +v -0.156250 1.916588 1.934359 +v -0.156250 2.049170 1.625000 +v -0.156250 1.861670 1.625000 +v 0.156250 2.049170 1.625000 +v 0.156250 1.916588 1.934359 +v 0.156250 1.861670 1.625000 +v -0.156250 2.049170 2.062500 +v 0.156250 2.049170 2.062500 +v -0.218750 0.394023 -1.004259 +v -0.218750 0.424170 -1.125000 +v -0.218750 0.361670 -1.125000 +v -0.218750 0.565917 -0.875000 +v -0.218750 0.565917 -0.812500 +v -0.218750 0.674170 -0.812500 +v 0.281250 1.299170 -0.750000 +v 0.218750 1.236670 -1.937500 +v 0.281250 1.299170 -2.062500 +v 0.218750 0.361670 -1.125000 +v 0.218750 0.424170 -1.562500 +v 0.218750 0.503411 -1.732433 +v 0.218750 0.361670 -1.937500 +v 0.218750 0.674170 -1.812500 +v 0.218750 0.861670 -1.812500 +v 0.218750 1.111670 -1.562500 +v 0.218750 0.861670 -0.812500 +v 0.218750 1.236670 -0.750000 +v 0.218750 1.111670 -1.062500 +v -0.218750 0.424170 -1.562500 +v -0.218750 0.361670 -1.937500 +v -0.218750 0.503411 -1.732433 +v -0.218750 0.674170 -1.812500 +v -0.218750 0.861670 -0.812500 +v -0.218750 0.674170 -0.750000 +v -0.218750 1.236670 -0.750000 +v -0.218750 1.111670 -1.562500 +v -0.218750 1.111670 -1.062500 +v -0.218750 1.236670 -1.937500 +v -0.218750 0.861670 -1.812500 +v -0.281250 1.299170 -0.750000 +v -0.281250 1.299170 -2.062500 +v -0.343750 1.299170 -5.562500 +v 0.156250 2.109449 11.875000 +v -0.220971 2.082641 11.875000 +v -0.156250 2.109449 11.875000 +v 0.093750 2.421949 11.000000 +v 0.156250 2.421949 11.000000 +v 0.156250 2.109449 11.000000 +v -0.093750 2.421949 11.000000 +v 0.093750 2.421949 11.875000 +v 0.170671 2.863656 11.312500 +v -0.170671 2.863656 11.812500 +v -0.159818 2.802105 11.875000 +v -0.093750 2.421949 11.875000 +v -0.031250 2.421949 11.437500 +v 0.015625 2.796949 11.437500 +v 0.031250 2.421949 11.437500 +v -0.015625 2.796949 11.437500 +v 0.015625 2.796949 11.625000 +v -0.015625 2.796949 11.625000 +v -0.031250 2.421949 11.875000 +v 0.031250 2.421949 11.875000 +v 0.088388 1.950058 11.000000 +v 0.000000 1.986670 11.000000 +v 0.000000 1.736670 11.000000 +v 0.000000 2.174170 3.750000 +v -0.022097 2.777073 -4.406250 +v 0.000000 2.767920 -4.406250 +v 0.371209 1.780864 2.702665 +v 0.218750 1.799170 1.625000 +v 0.218750 1.916588 1.934359 +v 0.218750 1.861670 1.625000 +v 0.218750 2.049170 2.437500 +v -0.218750 1.916588 1.934359 +v -0.218750 1.861670 1.625000 +v -0.218750 1.799170 1.625000 +v -0.218750 1.799170 2.250000 +v 0.239382 2.049170 2.437500 +v -0.156250 2.424170 -5.031250 +v -0.156250 2.486670 -5.031250 +v 0.156250 2.424170 -2.406250 +v 0.156250 2.486670 -2.406250 +v -0.343750 1.799170 2.437500 +v 0.218750 2.799170 -4.968750 +v -0.093750 2.549170 -4.968750 +v -0.156250 2.549170 -4.343750 +v 0.250000 2.687115 -4.737056 +v 0.250000 2.642920 -4.718750 +v 0.250000 2.598726 -4.737056 +v 0.250000 2.598726 -4.825444 +v 0.250000 2.687115 -4.825444 +v -0.343750 2.731309 -4.692862 +v -0.343750 2.767920 -4.781250 +v -0.343750 2.731309 -4.869638 +v -0.343750 2.554532 -4.869638 +v -0.343750 2.554532 -4.692862 +v -0.243570 0.924170 0.953125 +v -0.281250 0.924170 0.812500 +v -0.243570 0.924170 0.671875 +v -0.140625 0.924170 0.568930 +v 0.000000 0.924170 0.531250 +v 0.140625 0.924170 0.568930 +v 0.243570 0.924170 0.671875 +v 0.243570 0.924170 0.953125 +v 0.000000 0.924170 1.093750 +v 0.281250 1.174170 0.812500 +v 0.000000 1.174170 1.093750 +v 0.000000 1.174170 0.531250 +v -0.281250 1.174170 0.812500 +v -0.218750 0.456523 -1.004259 +v -0.156250 2.109449 11.000000 +v -0.156250 2.421949 11.000000 +v 0.159818 2.802105 11.875000 +v 0.170671 2.863656 11.812500 +v -0.170671 2.863656 11.312500 +v -0.088388 1.950058 11.000000 +v -0.125000 1.861670 11.000000 +v -0.088388 1.773282 11.000000 +v 0.088388 1.773282 11.000000 +v 0.125000 1.861670 11.000000 +v -0.156250 2.132303 3.750000 +v 0.156250 2.132303 3.750000 +v 0.220971 1.640699 11.000000 +v 0.220971 2.082641 11.000000 +v 0.000000 1.549170 11.000000 +v 0.312500 1.861670 11.000000 +v -0.312500 1.861670 11.000000 +v -0.220971 1.640699 11.000000 +v 0.000000 2.174170 4.062500 +v 0.156250 2.132303 4.062500 +v -0.156250 2.132303 4.062500 +v 0.295753 1.799170 4.062500 +v 0.312500 1.861670 2.363165 +v 0.312500 1.861670 4.062500 +v 0.270633 2.017920 2.427792 +v 0.270633 2.017920 4.062500 +v -0.270633 2.017920 2.437500 +v -0.312500 1.861670 4.062500 +v -0.270633 2.017920 4.062500 +v 0.295753 1.799170 2.250000 +v -0.295753 1.799170 4.062500 +v -0.312500 1.861670 2.363165 +v -0.295753 1.799170 2.250000 +v 0.000000 2.049170 7.625000 +v -0.132583 1.994253 7.625000 +v 0.187500 1.861670 7.625000 +v 0.437500 1.736670 2.812500 +v 0.343750 1.799170 2.812500 +v -0.343750 1.799170 2.812500 +v -0.371209 1.780864 2.702665 +v 0.437500 1.111670 2.812500 +v 0.312500 1.299170 8.000000 +v 0.312500 1.049170 2.812500 +v -0.437500 1.361670 8.000000 +v -0.437500 1.736670 2.812500 +v -0.437500 1.111670 2.812500 +v -0.312500 1.799170 7.875000 +v -0.312500 1.299170 8.000000 +v -0.312500 1.049170 2.812500 +v 0.437500 1.361670 8.000000 +v 0.312500 1.799170 7.875000 +v 0.132583 1.994253 10.812500 +v 0.000000 2.174170 11.000000 +v -0.132583 1.994253 10.812500 +v -0.220971 2.082641 11.000000 +v -0.132583 1.729087 10.812500 +v 0.132583 1.729087 10.812500 +v 0.187500 1.861670 10.812500 +v 0.000000 2.049170 10.812500 +v -0.187500 1.861670 10.812500 +v 0.000000 1.674170 10.812500 +v -0.187500 1.861670 7.625000 +v -0.132583 1.729087 7.625000 +v 0.000000 1.674170 8.000000 +v 0.132583 1.994253 7.625000 +v 0.132583 1.729087 7.625000 +v 0.218750 2.598726 -4.737056 +v 0.218750 2.580420 -4.781250 +v 0.218750 2.687115 -4.737056 +v 0.218750 2.642920 -4.718750 +v 0.218750 2.642920 -4.843750 +v 0.218750 2.687115 -4.825444 +v 0.218750 2.598726 -4.825444 +v 0.218750 2.705420 -4.781250 +v -0.218750 2.709212 -4.847541 +v -0.281250 2.767920 -4.781250 +v -0.218750 2.736670 -4.781250 +v -0.281250 2.554532 -4.869638 +v -0.218750 2.642920 -4.875000 +v -0.218750 2.576629 -4.847541 +v -0.218750 2.576629 -4.714959 +v -0.281250 2.517920 -4.781250 +v -0.218750 2.549170 -4.781250 +v -0.281250 2.731309 -4.692862 +v -0.218750 2.642920 -4.687500 +v -0.218750 2.709212 -4.714959 +v -0.281250 2.731309 -4.869638 +v -0.281250 2.554532 -4.692862 +v -0.281250 2.642920 -4.906250 +v -0.281250 2.642920 -4.656250 +v 0.000000 1.299170 0.625000 +v -0.132583 1.299170 0.679917 +v 0.187500 1.299170 0.812500 +v 0.132583 1.299170 0.679918 +v 0.000000 1.299170 1.000000 +v 0.132583 1.299170 0.945082 +v -0.187500 1.299170 0.812500 +v -0.132583 1.299170 0.945082 +v -0.218750 0.969924 -0.875000 +v 0.218750 0.969924 -0.875000 +v 0.156250 0.799411 -3.472389 +v -0.218750 1.017962 -3.851390 +v 0.218750 1.017962 -3.851390 +v 0.156250 1.706500 -6.971929 +v -0.156250 1.749912 -6.725727 +v 0.156250 1.749912 -6.725727 +v 0.156250 -0.261926 -2.410389 +v -0.093750 -0.394406 -2.622401 +v 0.093750 -0.394406 -2.622401 +v 0.156250 0.572834 -3.366735 +v -0.156250 0.799411 -3.472389 +v 0.093750 1.812155 -7.198505 +v -0.156250 1.706500 -6.971929 +v 0.093750 -0.074426 -2.410389 +v -0.156250 -0.261926 -2.410389 +v 0.218750 0.262663 -3.404819 +v -0.156250 0.572834 -3.366735 +v 0.031250 1.892503 -7.294261 +v -0.093750 1.812155 -7.198505 +v 0.093750 0.152151 -2.304735 +v -0.093750 -0.074426 -2.410389 +v 0.218750 -0.607686 -4.014244 +v -0.218750 0.262663 -3.404819 +v -0.156250 1.100554 -12.294434 +v 0.156250 1.100554 -12.294434 +v -0.218750 0.272674 -2.161101 +v -0.093750 0.152151 -2.304735 +v 0.218750 -0.848001 -4.083153 +v -0.218750 -0.607686 -4.014244 +v 0.218750 0.730171 -12.235770 +v 0.343750 0.730171 -12.110770 +v 0.343750 0.361670 -1.937500 +v 0.218750 0.272674 -2.161101 +v 0.218750 -1.259117 -3.933519 +v -0.218750 -0.848001 -4.083153 +v 0.218750 -0.894829 -12.235770 +v -0.218750 0.730171 -12.235770 +v 0.218750 -1.474552 -3.552739 +v -0.218750 -1.259117 -3.933519 +v 0.218750 -1.445037 -12.118820 +v -0.218750 -0.894829 -12.235770 +v 0.218750 -1.441887 -3.241951 +v -0.218750 -1.474552 -3.552739 +v 0.093750 -1.752219 -11.903729 +v -0.218750 -1.445037 -12.118820 +v 0.156250 -1.289697 -3.043612 +v -0.218750 -1.441887 -3.241951 +v 0.093750 -1.428696 -10.696322 +v -0.093750 -1.752219 -11.903729 +v 0.093750 -1.102197 -3.043612 +v -0.156250 -1.289697 -3.043612 +v 0.218750 0.301005 -7.510611 +v -0.093750 -1.428696 -10.696322 +v 0.093750 -0.897409 -2.900218 +v -0.093750 -1.102197 -3.043612 +v 0.218750 0.585548 -6.749564 +v -0.218750 0.301005 -7.510611 +v 0.218750 2.174170 -5.687500 +v -0.343750 2.174170 -5.562500 +v 0.343750 2.174170 -5.562500 +v 0.156250 -0.803659 -2.737838 +v -0.093750 -0.897409 -2.900218 +v 0.218750 0.795839 -5.964749 +v -0.218750 0.585548 -6.749564 +v 0.218750 2.093290 -5.989352 +v -0.218750 2.174170 -5.687500 +v 0.093750 -0.616159 -2.737838 +v -0.156250 -0.803659 -2.737838 +v -0.218750 0.795839 -5.964749 +v -0.218750 2.093290 -5.989352 +v -0.093750 -0.616159 -2.737838 +v 0.343750 -0.848001 -3.895653 +v 0.343750 -1.071617 -3.746019 +v 0.343750 -0.769829 -12.110770 +v 0.343750 -1.191887 -3.241951 +v 0.343750 -1.164697 -3.168612 +v 0.343750 -1.502219 -12.028729 +v 0.343750 -1.053696 -10.696322 +v 0.343750 -0.977197 -3.168612 +v 0.343750 0.551005 -7.573111 +v 0.343750 -0.772409 -3.025218 +v 0.343750 0.835548 -6.874564 +v 0.343750 -0.741159 -2.862838 +v 0.343750 1.045839 -6.089749 +v 0.343750 2.049170 -5.687500 +v 0.343750 1.968290 -5.926852 +v 0.343750 -0.491159 -2.862838 +v -0.343750 1.045839 -6.089749 +v -0.343750 1.142962 -3.851390 +v 0.343750 1.562412 -6.725727 +v 0.343750 -0.331906 -2.747401 +v 0.343750 1.142962 -3.851390 +v 0.343750 0.799411 -3.222389 +v 0.343750 1.456500 -6.971929 +v 0.343750 -0.199426 -2.535389 +v 0.343750 0.510334 -3.179235 +v 0.343750 1.374655 -7.198505 +v 0.343750 0.050574 -2.535389 +v -0.343750 0.137663 -3.279819 +v 0.343750 0.277151 -2.429735 +v 0.343750 -0.607686 -3.889244 +v 0.343750 0.137663 -3.279819 +v 0.343750 0.397674 -2.161101 +v -0.343750 0.361670 -1.937500 +v 0.343750 1.236670 -1.937500 +v -0.343750 1.236670 -1.937500 +v -0.343750 -1.502219 -12.028729 +v -0.343750 -0.769829 -12.110770 +v 0.343750 -1.224552 -3.552739 +v -0.343750 0.730171 -12.110770 +v -0.343750 -1.053696 -10.696322 +v -0.343750 0.551005 -7.573111 +v -0.343750 0.835548 -6.874564 +v -0.343750 1.374655 -7.198505 +v -0.343750 1.456500 -6.971929 +v -0.343750 1.562412 -6.725727 +v -0.343750 1.968290 -5.926852 +v -0.343750 -0.848001 -3.895653 +v -0.343750 -0.977197 -3.168612 +v -0.343750 -0.607686 -3.889244 +v -0.343750 -0.772409 -3.025218 +v -0.343750 -0.741159 -2.862838 +v -0.343750 -0.491159 -2.862838 +v -0.343750 0.050574 -2.535389 +v -0.343750 0.277151 -2.429735 +v -0.343750 0.510334 -3.179235 +v -0.343750 -0.199426 -2.535389 +v -0.343750 -0.331906 -2.747401 +v -0.343750 0.397674 -2.161101 +v -0.343750 0.799411 -3.222389 +v -0.031250 1.892503 -7.294261 +v -0.343750 2.049170 -5.687500 +v -0.343750 -1.071617 -3.746019 +v -0.343750 -1.191887 -3.241951 +v -0.343750 -1.164697 -3.168612 +v -0.343750 -1.224552 -3.552739 +v 0.000000 1.986670 11.875000 +v 0.156250 2.421949 11.875000 +v -0.156250 2.421949 11.875000 +v 0.232221 2.852803 11.812500 +v 0.221368 2.791252 11.875000 +v -0.221368 2.791252 11.875000 +v -0.232221 2.852803 11.812500 +v -0.232221 2.852803 11.312500 +v 0.232221 2.852803 11.312500 +v 0.371209 1.225947 2.702665 +v -0.371209 1.225947 2.702665 +v -0.437500 1.736670 8.000000 +v 0.437500 1.736670 8.000000 +vt 0.742537 0.847015 +vt 0.701493 0.578358 +vt 0.742537 0.578358 +vt 0.615672 0.432836 +vt 0.630597 0.410448 +vt 0.630597 0.432836 +vt 0.589552 0.432836 +vt 0.604478 0.410448 +vt 0.604478 0.432836 +vt 0.611940 0.421642 +vt 0.611940 0.432836 +vt 0.608209 0.421642 +vt 0.608209 0.708955 +vt 0.619403 0.723881 +vt 0.608209 0.723881 +vt 0.828358 0.992537 +vt 0.839552 0.992537 +vt 0.833955 1.000000 +vt 0.835821 0.421642 +vt 0.839552 0.429104 +vt 0.828358 0.429104 +vt 0.839552 0.742537 +vt 0.839552 0.679105 +vt 0.828358 0.731343 +vt 0.839552 0.697761 +vt 0.839552 0.723881 +vt 0.597015 0.708955 +vt 0.488806 0.466418 +vt 0.500000 0.477612 +vt 0.488806 0.473881 +vt 0.488806 0.458955 +vt 0.500000 0.447761 +vt 0.500000 0.462687 +vt 0.488806 0.436567 +vt 0.488806 0.444030 +vt 0.488806 0.429104 +vt 0.500000 0.417910 +vt 0.500000 0.432836 +vt 0.488806 0.391791 +vt 0.500000 0.402985 +vt 0.488806 0.399254 +vt 0.488806 0.406716 +vt 0.488806 0.414179 +vt 0.764925 0.880597 +vt 0.776119 0.895522 +vt 0.757463 0.884328 +vt 0.757463 0.906716 +vt 0.753731 0.895522 +vt 0.776119 0.895522 +vt 0.664179 0.850746 +vt 0.742537 0.880597 +vt 0.664179 0.880597 +vt 0.787313 0.798507 +vt 0.828358 0.813433 +vt 0.787313 0.813433 +vt 0.630597 0.455224 +vt 0.623134 0.458955 +vt 0.615672 0.436567 +vt 0.604478 0.436567 +vt 0.597015 0.458955 +vt 0.634328 0.238806 +vt 0.636194 0.235075 +vt 0.641791 0.235075 +vt 0.634328 0.414179 +vt 0.636194 0.410448 +vt 0.641791 0.410448 +vt 0.623134 0.410448 +vt 0.634328 0.253731 +vt 0.634328 0.410448 +vt 0.802239 0.369403 +vt 0.742537 0.369403 +vt 0.802239 0.630597 +vt 0.809702 0.656716 +vt 0.787313 0.656716 +vt 0.772388 0.798507 +vt 0.772388 0.847015 +vt 0.634328 0.656716 +vt 0.641791 0.630597 +vt 0.656716 0.656716 +vt 0.641791 0.369403 +vt 0.671642 0.798507 +vt 0.656716 0.798507 +vt 0.701493 0.847015 +vt 0.828358 0.656716 +vt 0.828358 0.798507 +vt 0.514925 0.574627 +vt 0.567164 0.600746 +vt 0.514925 0.600746 +vt 0.488806 0.600746 +vt 0.492537 0.604478 +vt 0.436567 0.600746 +vt 0.488806 0.608209 +vt 0.436567 0.619403 +vt 0.462687 0.597015 +vt 0.410448 0.600746 +vt 0.410448 0.597015 +vt 0.410448 0.544776 +vt 0.462687 0.548507 +vt 0.410448 0.548507 +vt 0.514925 0.608209 +vt 0.552239 0.574627 +vt 0.541045 0.563433 +vt 0.552239 0.563433 +vt 0.462687 0.582090 +vt 0.410448 0.585821 +vt 0.410448 0.582090 +vt 0.410448 0.559702 +vt 0.462687 0.563433 +vt 0.410448 0.563433 +vt 0.507463 0.555970 +vt 0.496269 0.552239 +vt 0.507463 0.552239 +vt 0.410448 0.600746 +vt 0.414179 0.604478 +vt 0.511194 0.563433 +vt 0.541045 0.552239 +vt 0.496269 0.555970 +vt 0.501866 0.557836 +vt 0.500546 0.558382 +vt 0.503185 0.558382 +vt 0.507463 0.567164 +vt 0.503731 0.559702 +vt 0.500000 0.559702 +vt 0.496269 0.567164 +vt 0.500546 0.561021 +vt 0.503185 0.561021 +vt 0.501866 0.561567 +vt 0.496269 0.541045 +vt 0.501866 0.543044 +vt 0.507463 0.541045 +vt 0.503185 0.543590 +vt 0.500546 0.543590 +vt 0.500000 0.544909 +vt 0.473881 0.582090 +vt 0.481343 0.600746 +vt 0.473881 0.600746 +vt 0.470149 0.582090 +vt 0.462687 0.585821 +vt 0.462687 0.582090 +vt 0.462687 0.597015 +vt 0.470149 0.600746 +vt 0.462687 0.600746 +vt 0.470149 0.585821 +vt 0.503185 0.546229 +vt 0.507463 0.552239 +vt 0.503731 0.544909 +vt 0.496269 0.552239 +vt 0.507463 0.567164 +vt 0.511194 0.555970 +vt 0.511194 0.567164 +vt 0.492537 0.555970 +vt 0.496269 0.555970 +vt 0.496269 0.567164 +vt 0.511194 0.589552 +vt 0.514925 0.593284 +vt 0.511194 0.597015 +vt 0.477612 0.552239 +vt 0.470149 0.544776 +vt 0.462687 0.552239 +vt 0.313433 0.531716 +vt 0.321828 0.546258 +vt 0.338619 0.546258 +vt 0.320896 0.447761 +vt 0.324627 0.455224 +vt 0.320896 0.455224 +vt 0.324627 0.440298 +vt 0.320896 0.440298 +vt 0.320896 0.436567 +vt 0.324627 0.432836 +vt 0.324627 0.462687 +vt 0.320896 0.458955 +vt 0.320896 0.425373 +vt 0.320896 0.432836 +vt 0.320896 0.470149 +vt 0.320896 0.462687 +vt 0.324627 0.477612 +vt 0.320896 0.477612 +vt 0.324627 0.485075 +vt 0.320896 0.481343 +vt 0.320896 0.492537 +vt 0.320896 0.485075 +vt 0.324627 0.500000 +vt 0.320896 0.500000 +vt 0.324627 0.507463 +vt 0.320896 0.503731 +vt 0.320896 0.514925 +vt 0.320896 0.507463 +vt 0.541045 0.679105 +vt 0.537313 0.690298 +vt 0.541045 0.694030 +vt 0.537313 0.701493 +vt 0.541045 0.701493 +vt 0.537313 0.671642 +vt 0.537313 0.679105 +vt 0.779851 0.850746 +vt 0.798507 0.843284 +vt 0.798507 0.854478 +vt 0.798507 0.843284 +vt 0.779851 0.835821 +vt 0.798507 0.832090 +vt 0.764925 0.876866 +vt 0.742537 0.880597 +vt 0.764925 0.858209 +vt 0.567164 0.679105 +vt 0.570895 0.671642 +vt 0.567164 0.671642 +vt 0.570895 0.690298 +vt 0.567164 0.694030 +vt 0.570895 0.701493 +vt 0.570895 0.694030 +vt 0.496269 0.537313 +vt 0.429104 0.533582 +vt 0.421642 0.537313 +vt 0.541045 0.671642 +vt 0.537313 0.645522 +vt 0.402581 0.489807 +vt 0.392969 0.485076 +vt 0.414179 0.481343 +vt 0.407109 0.500000 +vt 0.407109 0.511194 +vt 0.414179 0.533582 +vt 0.392969 0.526118 +vt 0.537313 0.712687 +vt 0.541045 0.735075 +vt 0.347015 0.533580 +vt 0.364690 0.526118 +vt 0.570895 0.645522 +vt 0.567164 0.623134 +vt 0.450314 0.485075 +vt 0.440703 0.489807 +vt 0.429104 0.481343 +vt 0.436174 0.500000 +vt 0.570895 0.712687 +vt 0.567164 0.701493 +vt 0.567164 0.735075 +vt 0.496269 0.533580 +vt 0.450314 0.526118 +vt 0.478594 0.526118 +vt 0.429104 0.533580 +vt 0.436174 0.511194 +vt 0.414179 0.533582 +vt 0.347015 0.537313 +vt 0.421642 0.537313 +vt 0.742537 0.328358 +vt 0.802239 0.328358 +vt 0.500000 0.481343 +vt 0.488806 0.481343 +vt 0.500000 0.388060 +vt 0.488806 0.384328 +vt 0.500000 0.384328 +vt 0.369403 0.507463 +vt 0.369403 0.511194 +vt 0.350746 0.511194 +vt 0.451493 0.481343 +vt 0.462687 0.429104 +vt 0.462687 0.481343 +vt 0.488806 0.462687 +vt 0.425373 0.432836 +vt 0.429104 0.429104 +vt 0.451493 0.429104 +vt 0.514925 0.384328 +vt 0.518657 0.365672 +vt 0.518657 0.384328 +vt 0.488806 0.361940 +vt 0.500000 0.365672 +vt 0.488806 0.365672 +vt 0.503731 0.365672 +vt 0.488806 0.384328 +vt 0.526119 0.365672 +vt 0.500000 0.361940 +vt 0.526119 0.361940 +vt 0.529851 0.365672 +vt 0.544776 0.384328 +vt 0.476066 0.374680 +vt 0.481343 0.376866 +vt 0.481343 0.361940 +vt 0.656716 0.865672 +vt 0.500546 0.546229 +vt 0.501866 0.546775 +vt 0.623134 0.708955 +vt 0.597015 0.458955 +vt 0.597015 0.708955 +vt 0.858209 0.421642 +vt 0.858209 0.406716 +vt 0.888060 0.421642 +vt 0.615672 0.410448 +vt 0.589552 0.410448 +vt 0.608209 0.432836 +vt 0.619403 0.708955 +vt 0.828358 0.690298 +vt 0.597015 0.723881 +vt 0.488806 0.451493 +vt 0.488806 0.421642 +vt 0.802239 0.880597 +vt 0.783582 0.888060 +vt 0.802239 0.884328 +vt 0.753731 0.895522 +vt 0.783582 0.902985 +vt 0.802239 0.906716 +vt 0.802239 0.910448 +vt 0.764925 0.910448 +vt 0.742537 0.850746 +vt 0.589552 0.455224 +vt 0.641791 0.253731 +vt 0.636194 0.253731 +vt 0.634328 0.250000 +vt 0.641791 0.429104 +vt 0.636194 0.429104 +vt 0.634328 0.425373 +vt 0.623134 0.253731 +vt 0.809702 0.634328 +vt 0.634328 0.634328 +vt 0.701493 0.369403 +vt 0.671642 0.847015 +vt 0.567164 0.574627 +vt 0.492537 0.608209 +vt 0.511194 0.604478 +vt 0.511194 0.608209 +vt 0.462687 0.600746 +vt 0.462687 0.544776 +vt 0.567164 0.619403 +vt 0.541045 0.574627 +vt 0.432836 0.604478 +vt 0.432836 0.619403 +vt 0.414179 0.619403 +vt 0.410448 0.619403 +vt 0.511194 0.552239 +vt 0.481343 0.582090 +vt 0.470149 0.597015 +vt 0.507463 0.574627 +vt 0.507463 0.555970 +vt 0.496269 0.574627 +vt 0.492537 0.567164 +vt 0.462687 0.574627 +vt 0.462687 0.563433 +vt 0.508556 0.595922 +vt 0.507463 0.593284 +vt 0.508556 0.590645 +vt 0.513832 0.590645 +vt 0.513832 0.595922 +vt 0.464872 0.557516 +vt 0.470149 0.559702 +vt 0.475426 0.557516 +vt 0.475426 0.546962 +vt 0.464872 0.546962 +vt 0.344765 0.540112 +vt 0.347015 0.531716 +vt 0.344765 0.523321 +vt 0.338619 0.517175 +vt 0.330224 0.514925 +vt 0.321828 0.517175 +vt 0.315682 0.523321 +vt 0.315682 0.540112 +vt 0.330224 0.548507 +vt 0.324627 0.447761 +vt 0.324627 0.425373 +vt 0.324627 0.470149 +vt 0.324627 0.492537 +vt 0.324627 0.514925 +vt 0.537313 0.682836 +vt 0.537313 0.694030 +vt 0.772388 0.843284 +vt 0.772388 0.843284 +vt 0.791045 0.858209 +vt 0.791045 0.876866 +vt 0.764925 0.880597 +vt 0.742537 0.854478 +vt 0.764925 0.854478 +vt 0.570895 0.679105 +vt 0.570895 0.682836 +vt 0.496269 0.533582 +vt 0.541045 0.623134 +vt 0.347015 0.533582 +vt 0.350746 0.492537 +vt 0.369403 0.496269 +vt 0.369403 0.492537 +vt 0.485075 0.429104 +vt 0.488806 0.432836 +vt 0.425373 0.462687 +vt 0.514925 0.365672 +vt 0.486620 0.374680 +vt 0.488806 0.369403 +vt 0.486620 0.364126 +vt 0.476066 0.364126 +vt 0.473881 0.369403 +vt 0.660448 0.876866 +vt 0.660448 0.854478 +vt 0.623134 0.458955 +vt 0.776119 0.876866 +vt 0.794776 0.880597 +vt 0.776119 0.880597 +vt 0.552239 0.447761 +vt 0.552239 0.477612 +vt 0.552239 0.432836 +vt 0.552239 0.462687 +vt 0.552239 0.481343 +vt 0.552239 0.402985 +vt 0.552239 0.417910 +vt 0.552239 0.384328 +vt 0.231343 0.279851 +vt 0.212687 0.291045 +vt 0.212687 0.279851 +vt 0.231343 0.291045 +vt 0.212687 0.302239 +vt 0.212687 0.253731 +vt 0.313433 0.257463 +vt 0.212687 0.257463 +vt 0.309702 0.268657 +vt 0.212687 0.268657 +vt 0.309702 0.313433 +vt 0.212687 0.324627 +vt 0.212687 0.313433 +vt 0.649251 0.864581 +vt 0.656716 0.860243 +vt 0.656716 0.864583 +vt 0.639900 0.861656 +vt 0.638062 0.864582 +vt 0.638060 0.863421 +vt 0.212687 0.328358 +vt 0.313433 0.324627 +vt 0.320896 0.328358 +vt 0.656716 0.871099 +vt 0.649259 0.866761 +vt 0.656716 0.866761 +vt 0.639900 0.869687 +vt 0.649252 0.872045 +vt 0.000000 0.291045 +vt 0.000000 0.302239 +vt 0.000000 0.263060 +vt 0.858209 0.350746 +vt 0.854478 0.358209 +vt 0.850746 0.350746 +vt 0.809702 0.350746 +vt 0.809702 0.373134 +vt 0.805970 0.358209 +vt 0.899254 0.399254 +vt 0.906716 0.089552 +vt 0.906716 0.399254 +vt 0.966418 0.089552 +vt 0.988806 0.399254 +vt 0.951493 0.399254 +vt 0.802239 0.350746 +vt 0.809702 0.055970 +vt 0.944030 0.089552 +vt 0.944030 0.399254 +vt 0.861940 0.399254 +vt 0.884328 0.089552 +vt 0.850746 0.055970 +vt 0.567164 0.473881 +vt 0.552239 0.373134 +vt 0.567164 0.384328 +vt 0.552239 0.388060 +vt 0.567164 0.414179 +vt 0.567164 0.444030 +vt 0.567164 0.451493 +vt 0.567164 0.458955 +vt 0.552239 0.492537 +vt 0.567164 0.481343 +vt 0.567164 0.488806 +vt 0.567164 0.391791 +vt 0.567164 0.399254 +vt 0.567164 0.429104 +vt 0.511194 0.291045 +vt 0.320896 0.283582 +vt 0.511194 0.283582 +vt 0.511194 0.298507 +vt 0.320896 0.291045 +vt 0.492537 0.305970 +vt 0.320896 0.313433 +vt 0.320896 0.305970 +vt 0.511194 0.328358 +vt 0.320896 0.320896 +vt 0.511194 0.320896 +vt 0.320896 0.276119 +vt 0.511194 0.276119 +vt 0.320896 0.298507 +vt 0.511194 0.313433 +vt 0.511194 0.335821 +vt 0.320896 0.328358 +vt 0.638060 0.253731 +vt 0.641791 0.585821 +vt 0.638060 0.429104 +vt 0.638060 0.410448 +vt 0.638060 0.585821 +vt 0.634328 0.429104 +vt 0.000000 0.319030 +vt 0.850746 0.373134 +vt 0.850746 0.421642 +vt 0.000000 0.257463 +vt 0.000000 0.250000 +vt 0.492537 0.582090 +vt 0.488806 0.578358 +vt 0.492537 0.578358 +vt 0.481343 0.582090 +vt 0.477612 0.578358 +vt 0.481343 0.578358 +vt 0.473881 0.582090 +vt 0.470149 0.578358 +vt 0.473881 0.578358 +vt 0.466418 0.582090 +vt 0.462687 0.578358 +vt 0.466418 0.578358 +vt 0.488806 0.582090 +vt 0.485075 0.578358 +vt 0.485075 0.582090 +vt 0.477612 0.582090 +vt 0.470149 0.582090 +vt 0.500000 0.597015 +vt 0.503731 0.600746 +vt 0.500000 0.600746 +vt 0.507463 0.597015 +vt 0.511194 0.600746 +vt 0.507463 0.600746 +vt 0.488806 0.597015 +vt 0.492537 0.600746 +vt 0.488806 0.600746 +vt 0.496269 0.597015 +vt 0.496269 0.600746 +vt 0.503731 0.597015 +vt 0.511194 0.597015 +vt 0.514925 0.600746 +vt 0.485075 0.597015 +vt 0.485075 0.600746 +vt 0.492537 0.597015 +vt 0.417910 0.537313 +vt 0.410448 0.541045 +vt 0.410448 0.537313 +vt 0.432836 0.541045 +vt 0.425373 0.537313 +vt 0.432836 0.537313 +vt 0.447761 0.537313 +vt 0.440298 0.541045 +vt 0.440298 0.537313 +vt 0.462687 0.541045 +vt 0.455224 0.537313 +vt 0.462687 0.537313 +vt 0.470149 0.541045 +vt 0.470149 0.537313 +vt 0.417910 0.541045 +vt 0.447761 0.541045 +vt 0.462687 0.544776 +vt 0.410448 0.544776 +vt 0.425373 0.544776 +vt 0.425373 0.541045 +vt 0.440298 0.544776 +vt 0.455224 0.544776 +vt 0.455224 0.541045 +vt 0.417910 0.544776 +vt 0.432836 0.544776 +vt 0.447761 0.544776 +vt 0.320896 0.485075 +vt 0.313433 0.477612 +vt 0.320896 0.477612 +vt 0.320896 0.500000 +vt 0.313433 0.492537 +vt 0.320896 0.492537 +vt 0.320896 0.514925 +vt 0.313433 0.507463 +vt 0.320896 0.507463 +vt 0.320896 0.470149 +vt 0.313433 0.462687 +vt 0.320896 0.462687 +vt 0.313433 0.470149 +vt 0.313433 0.485075 +vt 0.313433 0.500000 +vt 0.313433 0.455224 +vt 0.320896 0.455224 +vt 0.339552 0.440298 +vt 0.339552 0.492537 +vt 0.339552 0.507463 +vt 0.339552 0.470149 +vt 0.339552 0.447761 +vt 0.339552 0.514925 +vt 0.339552 0.477612 +vt 0.339552 0.455224 +vt 0.339552 0.432836 +vt 0.339552 0.485075 +vt 0.339552 0.500000 +vt 0.339552 0.462687 +vt 0.794776 0.854478 +vt 0.776119 0.858209 +vt 0.776119 0.854478 +vt 0.570895 0.656716 +vt 0.597015 0.649254 +vt 0.570895 0.649254 +vt 0.597015 0.656716 +vt 0.570895 0.667910 +vt 0.597015 0.667910 +vt 0.597015 0.675373 +vt 0.570895 0.675373 +vt 0.489199 0.517656 +vt 0.570895 0.686567 +vt 0.597015 0.686567 +vt 0.570895 0.694030 +vt 0.597015 0.694030 +vt 0.597015 0.708955 +vt 0.570895 0.708955 +vt 0.597015 0.738806 +vt 0.570895 0.738806 +vt 0.597015 0.567164 +vt 0.570895 0.589552 +vt 0.597015 0.589552 +vt 0.597015 0.600746 +vt 0.570895 0.600746 +vt 0.597015 0.611940 +vt 0.570895 0.611940 +vt 0.597015 0.623134 +vt 0.570895 0.623134 +vt 0.492734 0.511194 +vt 0.000000 0.324627 +vt -0.000000 0.332090 +vt 0.858209 0.970149 +vt 0.880597 0.996269 +vt 0.854478 0.996269 +vt 0.970149 0.910448 +vt 0.988806 0.925373 +vt 0.970149 0.925373 +vt 0.858209 0.679105 +vt 0.873134 0.694030 +vt 0.861940 0.694030 +vt 0.858209 0.940298 +vt 0.876866 0.955224 +vt 0.858209 0.955224 +vt 0.973881 0.895522 +vt 0.988806 0.910448 +vt 0.861940 0.667910 +vt 0.876866 0.679105 +vt 0.854478 0.921642 +vt 0.876866 0.940298 +vt 0.977612 0.888060 +vt 0.985075 0.895522 +vt 0.861940 0.652985 +vt 0.873134 0.667910 +vt 0.854478 0.858209 +vt 0.880597 0.921642 +vt 0.988806 0.585821 +vt 0.970149 0.585821 +vt 0.880597 0.641791 +vt 0.873134 0.652985 +vt 0.854478 0.843284 +vt 0.880597 0.858209 +vt 0.902985 0.977612 +vt 0.906716 1.000000 +vt 0.891791 0.977612 +vt 0.847015 0.626866 +vt 0.854478 0.641791 +vt 0.854478 0.817164 +vt 0.880597 0.843284 +vt 0.902985 0.880597 +vt 0.929105 0.977612 +vt 0.854478 0.791045 +vt 0.880597 0.817164 +vt 0.902985 0.847015 +vt 0.929105 0.880597 +vt 0.854478 0.772388 +vt 0.880597 0.791045 +vt 0.910448 0.824627 +vt 0.929105 0.847015 +vt 0.858209 0.757463 +vt 0.880597 0.772388 +vt 0.947761 0.899254 +vt 0.958955 0.973881 +vt 0.947761 0.973881 +vt 0.861940 0.746269 +vt 0.876866 0.757463 +vt 0.940298 0.682836 +vt 0.958955 0.899254 +vt 0.861940 0.731343 +vt 0.873134 0.746269 +vt 0.940298 0.634328 +vt 0.966418 0.682836 +vt 0.966418 0.992537 +vt 1.000000 1.000000 +vt 0.958955 1.000000 +vt 0.858209 0.720149 +vt 0.873134 0.731343 +vt 0.940298 0.585821 +vt 0.966418 0.634328 +vt 0.966418 0.973881 +vt 0.992537 0.992537 +vt 0.861940 0.708955 +vt 0.876866 0.720149 +vt 0.940298 0.458955 +vt 0.966418 0.585821 +vt 0.992537 0.973881 +vt 0.873134 0.708955 +vt 0.843284 0.843284 +vt 0.925373 1.000000 +vt 0.839552 0.817164 +vt 0.891791 0.884328 +vt 0.839552 0.772388 +vt 0.854478 0.757463 +vt 0.839552 0.764925 +vt 0.839552 0.757463 +vt 0.679105 0.022388 +vt 0.761194 0.022388 +vt 0.682836 0.048507 +vt 0.858209 0.746269 +vt 0.847015 0.757463 +vt 0.843284 0.746269 +vt 0.492537 0.130597 +vt 0.500000 0.149254 +vt 0.858209 0.731343 +vt 0.843284 0.731343 +vt 0.447761 0.149254 +vt 0.451493 0.167910 +vt 0.847015 0.720149 +vt 0.406716 0.179104 +vt 0.399254 0.160448 +vt 0.402985 0.246269 +vt 0.384328 0.238806 +vt 0.399254 0.235075 +vt 0.858209 0.708955 +vt 0.843284 0.708955 +vt 0.406716 0.179104 +vt 0.399254 0.160448 +vt 0.276119 0.182836 +vt 0.447761 0.208955 +vt 0.858209 0.694030 +vt 0.843284 0.694030 +vt 0.843284 1.000000 +vt 0.843284 0.955224 +vt 0.462687 0.223881 +vt 0.462687 0.201493 +vt 0.847015 0.679105 +vt 0.843284 0.940298 +vt 0.477612 0.197761 +vt 0.477612 0.231343 +vt 0.858209 0.667910 +vt 0.843284 0.667910 +vt 0.891791 0.921642 +vt 0.485075 0.235075 +vt 0.858209 0.652985 +vt 0.843284 0.652985 +vt 0.843284 0.858209 +vt 0.843284 0.921642 +vt 0.779851 0.182836 +vt 0.768657 0.156716 +vt 0.384328 0.250000 +vt 0.376866 0.246269 +vt 0.847015 0.638060 +vt 0.895522 0.764925 +vt 0.936567 0.817164 +vt 0.895522 0.817164 +vt 0.936567 0.824627 +vt 0.895522 0.824627 +vt 0.447761 0.227612 +vt 0.895522 0.847015 +vt 0.902985 0.824627 +vt 0.936567 0.847015 +vt 0.940298 0.884328 +vt 0.768657 0.067164 +vt 0.376866 0.194030 +vt 0.167910 0.194030 +vt 0.276119 0.182836 +vt 0.839552 0.791045 +vt 0.839552 0.802239 +vt 0.276119 0.063433 +vt 0.235075 0.059701 +vt 0.268657 0.052239 +vt 0.227612 0.070896 +vt 0.276119 0.078358 +vt 0.242537 0.123134 +vt 0.216418 0.070896 +vt 0.216418 0.085821 +vt 0.197761 0.119403 +vt 0.235075 0.145522 +vt 0.190299 0.134328 +vt 0.197761 0.104478 +vt 0.208955 0.097015 +vt 0.175373 0.141791 +vt 0.160448 0.190299 +vt 0.160448 0.138060 +vt 0.238806 0.164179 +vt 0.768657 0.067164 +vt 0.761194 0.022388 +vt 0.768657 0.156716 +vt 0.682836 0.048507 +vt 0.500000 0.149254 +vt 0.451493 0.167910 +vt 0.477612 0.197761 +vt 0.462687 0.201493 +vt 0.447761 0.208955 +vt 0.399254 0.235075 +vt 0.276119 0.063433 +vt 0.235075 0.059701 +vt 0.276119 0.078358 +vt 0.227612 0.070896 +vt 0.242537 0.123134 +vt 0.216418 0.070896 +vt 0.216418 0.085821 +vt 0.197761 0.119403 +vt 0.190299 0.134328 +vt 0.235075 0.145522 +vt 0.197761 0.104478 +vt 0.208955 0.097015 +vt 0.175373 0.141791 +vt 0.238806 0.164179 +vt 0.940298 0.977612 +vt 0.779851 0.182836 +vt 0.485075 0.235075 +vt 0.477612 0.231343 +vt 0.462687 0.223881 +vt 0.447761 0.227612 +vt 0.402985 0.246269 +vt 0.384328 0.238806 +vt 0.384328 0.250000 +vt 0.376866 0.246269 +vt 0.929105 0.824627 +vt 0.679105 0.022388 +vt 0.750000 0.003731 +vt 0.492537 0.130597 +vt 0.447761 0.149254 +vt 0.966418 0.458955 +vt 0.977612 0.458955 +vt 0.376866 0.194030 +vt 0.167910 0.194030 +vt 0.876866 0.970149 +vt 0.891791 1.000000 +vt 0.891791 0.955224 +vt 0.891791 0.940298 +vt 0.891791 0.858209 +vt 0.891791 0.843284 +vt 0.895522 0.817164 +vt 0.895522 0.772388 +vt 0.880597 0.757463 +vt 0.895522 0.764925 +vt 0.876866 0.746269 +vt 0.888060 0.757463 +vt 0.876866 0.731343 +vt 0.891791 0.746269 +vt 0.888060 0.720149 +vt 0.876866 0.708955 +vt 0.876866 0.694030 +vt 0.891791 0.708955 +vt 0.888060 0.679105 +vt 0.876866 0.667910 +vt 0.876866 0.652985 +vt 0.891791 0.667910 +vt 0.888060 0.638060 +vt 0.891791 0.652985 +vt 0.888060 0.626866 +vt 0.160448 0.190299 +vt 0.160448 0.138060 +vt 0.235075 0.048507 +vt 0.238806 0.044776 +vt 0.257463 0.041045 +vt 0.895522 0.791045 +vt 0.895522 0.802239 +vt 0.257463 0.041045 +vt 0.238806 0.044776 +vt 0.268657 0.052239 +vt 0.235075 0.048507 +vt 0.339552 0.436567 +vt 0.343284 0.430970 +vt 0.350746 0.440298 +vt 0.350746 0.369403 +vt 0.369403 0.421642 +vt 0.350746 0.421642 +vt 0.429104 0.354478 +vt 0.451493 0.358209 +vt 0.429104 0.358209 +vt 0.369403 0.436567 +vt 0.369403 0.440298 +vt 0.455224 0.354478 +vt 0.485075 0.358209 +vt 0.455224 0.358209 +vt 0.395523 0.417910 +vt 0.391791 0.421642 +vt 0.429104 0.361940 +vt 0.451493 0.358209 +vt 0.451493 0.361940 +vt 0.455224 0.361940 +vt 0.455224 0.358209 +vt 0.485075 0.361940 +vt 0.395523 0.473881 +vt 0.395523 0.444030 +vt 0.485075 0.354478 +vt 0.514925 0.358209 +vt 0.514925 0.354478 +vt 0.485075 0.358209 +vt 0.514925 0.358209 +vt 0.514925 0.361940 +vt 0.451493 0.429104 +vt 0.458955 0.376866 +vt 0.458955 0.429104 +vt 0.436567 0.429104 +vt 0.444030 0.376866 +vt 0.444030 0.429104 +vt 0.481343 0.429104 +vt 0.488806 0.376866 +vt 0.488806 0.429104 +vt 0.466418 0.376866 +vt 0.466418 0.429104 +vt 0.451493 0.376866 +vt 0.429104 0.429104 +vt 0.436567 0.376866 +vt 0.473881 0.429104 +vt 0.481343 0.376866 +vt 0.473881 0.376866 +vt 0.309702 0.272388 +vt 0.231343 0.272388 +vt 0.231343 0.309702 +vt 0.902985 0.414179 +vt 0.899254 0.402985 +vt 0.891791 0.406716 +vt 0.962687 0.421642 +vt 0.958955 0.406716 +vt 0.992537 0.406716 +vt 0.951493 0.402985 +vt 0.947761 0.414179 +vt 0.904851 0.429104 +vt 0.906716 0.055970 +vt 0.951493 0.063433 +vt 0.899254 0.063433 +vt 0.354085 0.517656 +vt 0.350550 0.511194 +vt 0.929105 0.458955 +vt 0.339552 0.425373 +vt 0.638060 0.866761 +vt 0.649252 0.859298 +vt 0.000000 0.313433 +vt 0.000000 0.279851 +vt 0.000000 0.268657 +vt 0.992537 0.421642 +vt 0.794776 0.876866 +vt 0.231343 0.302239 +vt 0.320896 0.253731 +vt 0.899254 0.089552 +vt 0.988806 0.089552 +vt 0.802239 0.048507 +vt 0.861940 0.089552 +vt 0.951493 0.089552 +vt 0.858209 0.048507 +vt 0.567164 0.466418 +vt 0.567164 0.376866 +vt 0.567164 0.406716 +vt 0.567164 0.436567 +vt 0.567164 0.421642 +vt 0.320896 0.335821 +vt 0.634328 0.585821 +vt 0.809702 0.421642 +vt 0.462687 0.582090 +vt 0.514925 0.597015 +vt 0.470149 0.544776 +vt 0.313433 0.514925 +vt 0.339552 0.425373 +vt 0.794776 0.858209 +vt 0.537313 0.738806 +vt 0.570895 0.738806 +vt 0.570895 0.567164 +vt 0.981343 0.888060 +vt 0.921642 0.824627 +vt 0.750000 0.003731 +vt 0.936567 0.764925 +vt 0.895522 0.757463 +vt 0.891791 0.731343 +vt 0.891791 0.694030 +vt 0.369403 0.369403 +vt 0.451493 0.354478 +vt 0.369403 0.425373 +vt 0.395523 0.388060 +vt 0.429104 0.358209 +vt 0.391791 0.440298 +vt 0.429104 0.376866 +vt 0.309702 0.309702 +vt 0.945896 0.429104 +vt 0.944030 0.055970 +vt 0.899254 0.085821 +vt 0.951493 0.085821 +vt 0.638060 0.867922 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.4082 0.4082 -0.8165 +vn -0.4082 0.4082 -0.8165 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0000 0.8320 -0.5547 +vn 0.0000 0.3162 0.9487 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.9778 0.2095 +vn 0.0000 0.9923 0.1240 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.9852 0.1716 0.0000 +vn 0.9852 0.1712 -0.0025 +vn -0.9991 0.0416 0.0000 +vn 0.0000 0.5547 0.8321 +vn 0.9991 0.0416 0.0000 +vn 0.9947 0.0000 -0.1030 +vn 0.0000 0.8321 -0.5547 +vn -0.9852 0.1712 -0.0025 +vn 0.9852 0.1716 0.0000 +vn 0.0000 0.8828 -0.4698 +vn 0.0000 0.9846 -0.1748 +vn 0.3827 0.9239 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.0000 0.9998 0.0175 +vn 0.4997 0.8660 0.0171 +vn -0.4997 0.8660 0.0171 +vn 0.9654 -0.2604 0.0171 +vn 0.9950 -0.1001 0.0000 +vn 0.9998 -0.0000 0.0175 +vn 0.8892 0.4576 0.0000 +vn 0.8660 0.4997 0.0171 +vn -0.8817 0.4718 0.0000 +vn -0.9998 -0.0000 0.0175 +vn -0.8660 0.4997 0.0171 +vn 0.0048 0.6652 -0.7466 +vn 0.0000 0.8754 -0.4835 +vn 0.0336 0.3645 -0.9306 +vn 0.0308 0.3429 -0.9389 +vn 0.0000 0.2967 -0.9550 +vn -0.9654 -0.2604 0.0171 +vn -0.9945 -0.1050 0.0000 +vn -0.9659 -0.2588 0.0000 +vn -0.0217 0.6807 -0.7322 +vn -0.1528 0.3440 -0.9265 +vn 0.0000 0.6945 -0.7195 +vn 0.0000 0.9998 0.0207 +vn -0.7070 0.7070 0.0208 +vn 0.9998 -0.0006 0.0198 +vn 0.8932 0.4073 -0.1902 +vn 0.5547 0.8321 0.0000 +vn 0.2903 0.9569 0.0009 +vn -0.2903 0.9569 0.0009 +vn -0.0212 0.9998 0.0000 +vn -0.5547 0.8321 0.0000 +vn 0.4468 -0.8936 0.0431 +vn 0.2311 -0.9718 0.0468 +vn 0.2279 -0.9725 0.0469 +vn -0.8932 0.4073 -0.1902 +vn -0.9817 0.0000 -0.1905 +vn -0.1753 0.9688 0.1753 +vn -0.2311 -0.9718 0.0468 +vn -0.2279 -0.9725 0.0469 +vn 0.9817 0.0000 -0.1905 +vn -0.4468 -0.8936 0.0431 +vn 0.1753 0.9688 0.1753 +vn 0.8321 -0.0000 -0.5547 +vn 0.5883 0.5883 -0.5547 +vn -0.5883 0.5883 -0.5547 +vn -0.8321 -0.0000 -0.5547 +vn -0.5883 -0.5883 -0.5547 +vn 0.0000 -0.8321 -0.5547 +vn 0.5883 -0.5883 -0.5547 +vn 0.8320 0.0000 -0.5547 +vn -0.8320 0.0000 -0.5547 +vn -0.9998 -0.0006 0.0198 +vn -0.8917 -0.4523 0.0158 +vn 0.7070 0.7070 0.0208 +vn 0.8917 -0.4523 0.0158 +vn -0.8507 0.5257 0.0000 +vn 0.8507 0.5257 0.0000 +vn -0.4472 0.8944 0.0000 +vn 0.4472 0.8944 0.0000 +vn 0.0212 0.9998 0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.4472 0.6325 -0.6325 +vn 0.4472 -0.6325 -0.6325 +vn 0.4472 -0.0000 -0.8944 +vn 0.4472 -0.6325 0.6325 +vn 0.4472 -0.8944 -0.0000 +vn 0.4472 0.6325 0.6325 +vn 0.4472 -0.0000 0.8944 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.5000 0.0000 0.8660 +vn 0.8660 0.0000 0.5000 +vn -0.8660 0.0000 -0.5000 +vn -0.8660 0.0000 0.5000 +vn -0.5000 0.0000 0.8660 +vn 0.5000 0.0000 -0.8660 +vn -0.5000 0.0000 -0.8660 +vn 0.8660 0.0000 -0.5000 +vn 0.0000 -0.9914 0.1305 +vn 0.0000 -0.8793 0.4762 +vn 0.0000 -0.6302 0.7764 +vn 0.0000 -0.2588 0.9659 +vn 0.0000 0.6950 -0.7190 +vn 0.0000 0.8860 -0.4636 +vn 0.0000 0.9914 -0.1305 +vn 0.0000 0.6412 -0.7674 +vn 0.0000 0.2588 -0.9659 +vn 0.0000 -0.2588 -0.9659 +vn 0.0000 -0.6620 -0.7495 +vn 0.0000 -0.7977 -0.6030 +vn 0.0000 -0.9239 0.3827 +vn 0.0000 -0.3827 0.9239 +vn 0.0000 0.7079 0.7064 +vn 0.0000 0.4245 0.9054 +vn 0.0000 0.9763 0.2164 +vn 0.3617 -0.6800 -0.6378 +vn -0.4283 -0.8116 -0.3974 +vn 0.4283 -0.8116 -0.3974 +vn 0.0000 0.9946 0.1041 +vn 0.0000 0.9528 -0.3037 +vn 0.2707 -0.8502 0.4515 +vn -0.2581 -0.6859 0.6804 +vn 0.2581 -0.6859 0.6804 +vn 0.4210 -0.1018 -0.9013 +vn -0.3617 -0.6800 -0.6378 +vn 0.0000 0.8601 0.5101 +vn 0.2571 -0.1631 0.9525 +vn -0.2939 0.0980 0.9508 +vn 0.2939 0.0980 0.9508 +vn 0.4989 0.3637 -0.7867 +vn -0.4210 -0.1018 -0.9013 +vn 0.0000 0.7660 0.6428 +vn 0.2599 -0.6377 0.7251 +vn -0.2571 -0.1631 0.9525 +vn 0.3812 0.3641 -0.8498 +vn -0.4989 0.3637 -0.7867 +vn 0.0000 0.9877 -0.1564 +vn -0.3656 -0.8719 0.3258 +vn -0.2599 -0.6377 0.7251 +vn 0.4369 -0.0300 -0.8990 +vn -0.3812 0.3641 -0.8498 +vn 0.4071 -0.0353 -0.9127 +vn 0.1358 -0.1326 -0.9818 +vn 0.7071 0.0028 -0.7071 +vn 0.3053 -0.9310 0.1999 +vn 0.3656 -0.8719 0.3258 +vn 0.4786 -0.5779 -0.6610 +vn -0.4369 -0.0300 -0.8990 +vn 0.3801 -0.0892 -0.9206 +vn -0.4071 -0.0353 -0.9127 +vn 0.4872 -0.8552 -0.1771 +vn -0.4786 -0.5779 -0.6610 +vn 0.2373 -0.3758 -0.8958 +vn -0.3801 -0.0892 -0.9206 +vn 0.4942 -0.7969 0.3475 +vn -0.4872 -0.8552 -0.1771 +vn 0.0464 -0.5855 -0.8093 +vn -0.2373 -0.3758 -0.8958 +vn 0.3436 -0.7133 0.6108 +vn -0.4942 -0.7969 0.3475 +vn 0.0000 -0.9283 0.3718 +vn 0.0000 -0.9659 0.2588 +vn 0.2689 -0.2349 0.9341 +vn -0.2532 0.0844 0.9637 +vn 0.2532 0.0844 0.9637 +vn 0.5452 -0.7653 0.3421 +vn 0.2726 -0.7450 0.6088 +vn -0.2689 -0.2349 0.9341 +vn 0.5496 -0.7960 0.2536 +vn -0.5452 -0.7653 0.3421 +vn 0.0000 0.9945 -0.1044 +vn 0.2686 -0.8754 0.4020 +vn -0.2726 -0.7450 0.6088 +vn 0.5439 -0.8274 0.1401 +vn -0.5496 -0.7960 0.2536 +vn 0.0000 0.9404 -0.3400 +vn 0.2611 -0.1819 0.9480 +vn 0.3902 -0.9157 0.0962 +vn -0.5439 -0.8274 0.1401 +vn -0.2611 -0.1819 0.9480 +vn 0.8328 -0.0769 -0.5481 +vn -0.1358 -0.1326 -0.9818 +vn 0.8962 -0.3180 -0.3092 +vn 0.7188 -0.0240 -0.6948 +vn 0.8128 -0.5252 0.2521 +vn 0.6507 -0.7120 0.2640 +vn 0.8077 -0.5485 0.2161 +vn 0.9322 -0.3484 0.0980 +vn 0.9464 -0.2954 0.1306 +vn 0.4576 0.0558 0.8874 +vn 0.5398 -0.2890 0.7906 +vn 0.9747 -0.2052 0.0886 +vn 0.5706 -0.6782 0.4631 +vn 0.9789 -0.1943 0.0638 +vn 0.4954 -0.8429 0.2102 +vn 0.9793 -0.1994 0.0343 +vn 0.7293 0.6317 -0.2627 +vn 0.9364 0.3106 -0.1634 +vn 0.9284 0.3428 -0.1432 +vn 0.4718 0.0643 0.8793 +vn 0.5046 -0.2779 0.8174 +vn -0.9793 -0.1994 0.0343 +vn -0.7249 -0.6853 0.0697 +vn 0.9300 0.3408 -0.1376 +vn 0.4666 -0.6348 0.6159 +vn 0.6337 -0.7027 -0.3235 +vn 0.7008 -0.3789 -0.6044 +vn 0.8048 0.5815 -0.1191 +vn 0.9451 0.3045 -0.1184 +vn 0.4634 -0.7810 0.4187 +vn 0.7152 0.0555 -0.6967 +vn 0.9654 0.2563 -0.0474 +vn 0.8634 0.4934 -0.1052 +vn 0.5213 -0.2174 0.8252 +vn -0.7979 0.3019 -0.5218 +vn 0.8618 0.4995 -0.0885 +vn 0.6057 -0.5861 0.5382 +vn 0.6936 0.2622 -0.6709 +vn 0.7979 0.3019 -0.5218 +vn 0.9003 0.4329 -0.0461 +vn 0.9716 0.2354 -0.0255 +vn 0.6590 0.6590 -0.3626 +vn 0.8518 0.3705 -0.3705 +vn 0.7047 -0.7047 0.0827 +vn 0.0000 0.5257 0.8507 +vn 0.0000 0.8944 0.4472 +vn 0.6830 0.6830 -0.2589 +vn 0.4122 -0.4345 -0.8008 +vn -0.4122 -0.4345 -0.8008 +vn -0.7188 -0.0240 -0.6948 +vn 0.8812 -0.4406 -0.1711 +vn -0.9322 -0.3484 0.0980 +vn -0.9716 0.2354 -0.0255 +vn -0.9464 -0.2954 0.1306 +vn -0.9747 -0.2052 0.0886 +vn -0.9789 -0.1943 0.0638 +vn -0.9654 0.2563 -0.0474 +vn -0.9451 0.3045 -0.1184 +vn -0.9291 0.3446 -0.1345 +vn -0.9266 0.3439 -0.1522 +vn -0.7071 0.0028 -0.7071 +vn -0.9003 0.4329 -0.0461 +vn -0.8618 0.4995 -0.0885 +vn -0.8634 0.4934 -0.1052 +vn -0.8048 0.5815 -0.1191 +vn -0.6914 0.6800 -0.2443 +vn -0.7374 0.6175 -0.2737 +vn -0.9364 0.3106 -0.1634 +vn -0.6590 0.6590 -0.3626 +vn -0.8517 0.3705 -0.3705 +vn -0.0464 -0.5855 -0.8093 +vn -0.8077 -0.5485 0.2161 +vn -0.7385 -0.6513 0.1745 +vn -0.3902 -0.9157 0.0962 +vn -0.6337 -0.7027 -0.3235 +vn -0.7008 -0.3789 -0.6044 +vn -0.7152 0.0555 -0.6967 +vn -0.6936 0.2622 -0.6709 +vn -0.8328 -0.0769 -0.5481 +vn -0.8962 -0.3180 -0.3092 +vn -0.8128 -0.5252 0.2521 +vn -0.3436 -0.7133 0.6108 +vn -0.4576 0.0558 0.8874 +vn -0.5398 -0.2890 0.7906 +vn -0.4954 -0.8429 0.2102 +vn -0.2686 -0.8754 0.4020 +vn -0.4718 0.0643 0.8793 +vn -0.5046 -0.2779 0.8174 +vn -0.4634 -0.7810 0.4187 +vn -0.2707 -0.8502 0.4515 +vn -0.5213 -0.2174 0.8252 +vn -0.7047 -0.7047 0.0827 +vn -0.6057 -0.5861 0.5382 +vn -0.3053 -0.9310 0.1999 +vn -0.8812 -0.4406 -0.1711 +vn -0.9978 -0.0657 0.0000 +vn 0.9962 -0.0872 0.0000 +vn 0.0665 0.3772 0.9238 +vn 0.1604 0.9098 0.3827 +vn 0.1540 0.8732 -0.4625 +vn 0.9848 -0.1736 -0.0000 +vn 0.9848 -0.1737 -0.0000 +vn -0.0665 0.3772 0.9238 +vn -0.0665 0.3769 0.9239 +vn -0.1604 0.9098 0.3827 +vn -0.1499 0.8739 -0.4623 +vn -0.9848 -0.1736 0.0000 +vn -0.9962 -0.0872 -0.0000 +vn 0.1499 0.8739 -0.4623 +vn 0.0079 0.5854 -0.8107 +vn 0.0000 0.5871 -0.8095 +vn -0.1540 0.8732 -0.4625 +vn -0.0079 0.5854 -0.8107 +vn 0.0960 -0.5481 -0.8309 +vn 0.0622 -0.7750 -0.6288 +vn 0.2862 -0.5725 -0.7684 +vn 0.9144 -0.0000 -0.4049 +vn 0.9269 0.0000 -0.3754 +vn -0.9947 0.0000 -0.1030 +vn -0.9269 0.0000 -0.3754 +vn -0.9577 0.0000 -0.2879 +vn -0.0960 -0.5481 -0.8309 +vn -0.2862 -0.5725 -0.7684 +vn -0.0622 -0.7750 -0.6288 +vn 0.0000 -0.9639 -0.2662 +vn 0.0000 0.3604 0.9328 +vn 0.7249 -0.6853 0.0697 +vn -0.1469 0.2439 -0.9586 +vn 0.0000 0.6769 -0.7360 +vn -0.5000 0.8660 0.0000 +vn 0.9659 -0.2588 0.0000 +vn -0.9328 0.3604 0.0000 +vn 0.9328 0.3604 0.0000 +vn 0.7385 -0.6513 0.1745 +vn -0.6507 -0.7120 0.2640 +vn -0.5706 -0.6782 0.4631 +vn -0.4666 -0.6348 0.6159 +vn 0.9978 -0.0657 -0.0000 +vn 0.0665 0.3769 0.9239 +vn -0.9848 -0.1737 -0.0000 +vn -0.0622 -0.7751 -0.6288 +s off +f 345/602/139 346/603/139 347/604/139 +f 348/605/140 349/606/140 350/607/140 +f 351/608/140 352/609/140 353/610/140 +f 354/611/141 348/605/141 355/612/141 +f 356/613/142 353/610/142 352/609/142 +f 354/614/140 357/615/140 356/616/140 +f 358/617/143 359/618/143 360/619/143 +f 361/620/144 362/621/144 363/622/144 +f 358/617/145 364/623/145 359/618/145 +f 365/624/146 363/622/146 362/621/146 +f 366/625/147 365/626/147 364/627/147 +f 356/616/148 367/628/148 354/614/148 +f 368/629/140 369/630/140 370/631/140 +f 368/632/140 371/633/140 372/634/140 +f 373/635/140 371/633/140 374/636/140 +f 373/637/140 375/638/140 376/639/140 +f 377/640/140 378/641/140 379/642/140 +f 379/643/140 375/638/140 380/644/140 +f 381/645/142 382/646/142 383/647/142 +f 384/648/141 385/649/141 386/650/141 +f 387/651/149 388/652/149 389/653/149 +f 390/654/140 391/655/140 392/656/140 +f 360/657/149 359/658/149 355/659/149 +f 351/608/149 353/610/149 357/660/149 +f 355/659/149 362/661/149 357/660/149 +f 393/662/150 394/663/150 395/664/150 +f 396/665/140 397/666/140 398/667/140 +f 399/668/149 400/669/149 396/670/149 +f 366/671/142 347/604/142 401/672/142 +f 358/673/142 350/674/142 349/675/142 +f 358/673/142 349/675/142 347/604/142 +f 349/675/142 392/676/142 347/604/142 +f 345/602/142 392/676/142 402/677/142 +f 351/678/141 363/679/141 403/680/141 +f 404/681/141 346/603/141 363/679/141 +f 363/679/141 346/603/141 403/680/141 +f 403/680/141 391/682/141 405/683/141 +f 406/684/141 391/682/141 346/603/141 +f 390/654/149 403/685/149 405/686/149 +f 407/687/139 408/688/139 409/689/139 +f 407/690/140 409/689/140 410/691/140 +f 411/692/141 412/693/141 413/694/141 +f 414/695/151 412/696/151 415/697/151 +f 416/698/151 417/699/151 418/700/151 +f 408/688/142 416/701/142 409/689/142 +f 419/702/150 420/703/150 421/704/150 +f 422/705/142 415/706/142 410/707/142 +f 418/708/141 423/709/141 424/710/141 +f 425/711/149 426/712/149 427/713/149 +f 423/709/149 410/707/149 424/710/149 +f 408/714/150 411/692/150 423/715/150 +f 428/716/152 421/717/152 420/703/152 +f 429/718/150 425/711/150 430/719/150 +f 431/720/150 429/718/150 430/719/150 +f 425/711/150 432/721/150 430/719/150 +f 425/711/150 433/722/150 434/723/150 +f 429/718/150 435/724/150 428/725/150 +f 436/726/150 428/725/150 435/724/150 +f 433/722/150 437/727/150 434/723/150 +f 433/722/150 428/725/150 438/728/150 +f 426/729/140 439/730/140 427/731/140 +f 440/732/140 427/731/140 439/730/140 +f 441/733/140 426/729/140 442/734/140 +f 443/735/140 444/736/140 445/737/140 +f 446/738/150 447/739/150 448/740/150 +f 449/741/150 450/742/150 451/743/150 +f 452/744/151 446/738/151 443/735/151 +f 453/745/140 454/746/140 455/747/140 +f 427/731/140 455/747/140 454/746/140 +f 426/729/140 452/748/140 442/734/140 +f 452/749/141 429/750/141 428/751/141 +f 425/752/142 427/753/142 454/754/142 +f 456/755/142 457/756/142 458/757/142 +f 459/758/141 460/759/141 461/760/141 +f 462/761/139 463/762/139 464/763/139 +f 465/764/149 466/765/149 467/766/149 +f 468/767/149 465/764/149 469/768/149 +f 468/767/149 469/769/149 470/770/149 +f 466/765/149 471/771/149 467/772/149 +f 472/773/149 470/770/149 469/774/149 +f 471/771/149 473/775/149 467/776/149 +f 473/775/149 474/777/149 475/778/149 +f 474/777/149 476/779/149 475/780/149 +f 476/779/149 477/781/149 475/782/149 +f 477/781/149 478/783/149 479/784/149 +f 478/783/149 480/785/149 479/786/149 +f 480/785/149 472/787/149 479/788/149 +f 481/789/142 482/790/142 483/791/142 +f 483/791/142 484/792/142 485/793/142 +f 481/789/142 486/794/142 487/795/142 +f 488/796/141 489/797/141 490/798/141 +f 491/799/142 492/800/142 493/801/142 +f 494/802/149 385/803/149 495/804/149 +f 496/805/141 497/806/141 498/807/141 +f 499/808/141 496/805/141 500/809/141 +f 500/809/141 501/810/141 499/811/141 +f 502/812/153 503/813/153 504/814/153 +f 505/815/142 506/816/142 486/794/142 +f 507/817/142 506/818/142 508/819/142 +f 509/820/142 507/817/142 508/819/142 +f 510/821/142 508/819/142 503/822/142 +f 510/821/142 503/822/142 511/823/142 +f 485/793/142 512/824/142 513/825/142 +f 511/823/142 513/826/142 514/827/142 +f 498/807/141 515/828/141 516/829/141 +f 515/830/141 517/831/141 516/832/141 +f 517/831/141 518/833/141 516/832/141 +f 519/834/141 520/835/141 521/836/141 +f 521/837/141 522/838/141 523/839/141 +f 522/838/141 524/840/141 525/841/141 +f 525/841/141 516/832/141 518/833/141 +f 524/842/154 526/843/154 527/844/154 +f 366/671/150 528/845/150 404/846/150 +f 369/630/140 529/847/140 370/848/140 +f 530/849/140 377/850/140 531/851/140 +f 532/852/150 533/853/150 534/854/150 +f 535/855/149 536/856/149 532/857/149 +f 537/858/155 532/857/155 536/856/155 +f 538/859/156 539/860/156 540/861/156 +f 541/862/150 542/863/150 543/864/150 +f 544/865/149 545/866/149 542/867/149 +f 546/868/157 541/862/157 547/869/157 +f 548/870/158 546/871/158 547/872/158 +f 543/864/159 545/873/159 548/874/159 +f 549/875/140 550/876/140 551/877/140 +f 389/653/150 552/878/150 387/651/150 +f 553/879/140 452/748/140 554/880/140 +f 452/748/140 454/746/140 554/880/140 +f 365/881/149 359/882/149 364/883/149 +f 402/884/160 555/885/160 345/886/160 +f 345/602/139 406/684/139 346/603/139 +f 348/605/140 367/887/140 349/606/140 +f 351/608/140 403/888/140 352/609/140 +f 354/611/141 367/887/141 348/605/141 +f 356/613/142 357/889/142 353/610/142 +f 354/614/140 355/890/140 357/615/140 +f 358/617/145 366/625/145 364/623/145 +f 365/624/146 404/891/146 363/622/146 +f 366/625/161 404/891/161 365/626/161 +f 356/616/148 352/892/148 367/628/148 +f 368/629/140 372/634/140 369/630/140 +f 368/632/140 374/893/140 371/633/140 +f 373/635/140 376/639/140 371/633/140 +f 373/637/140 380/894/140 375/638/140 +f 377/640/140 530/849/140 378/641/140 +f 379/643/140 378/641/140 375/638/140 +f 381/645/142 556/895/142 557/896/142 +f 556/895/142 558/897/142 557/896/142 +f 557/896/142 382/646/142 381/645/142 +f 382/646/142 559/898/142 383/647/142 +f 560/899/141 561/900/141 562/901/141 +f 562/901/141 563/902/141 560/899/141 +f 563/902/141 384/648/141 386/650/141 +f 560/899/141 563/902/141 386/650/141 +f 387/651/149 564/903/149 388/652/149 +f 390/654/140 405/686/140 391/655/140 +f 348/605/149 350/607/149 355/659/149 +f 350/607/149 360/657/149 355/659/149 +f 362/661/149 361/904/149 357/660/149 +f 361/904/149 351/608/149 357/660/149 +f 355/659/149 359/658/149 362/661/149 +f 395/664/150 565/905/150 393/662/150 +f 565/905/150 566/906/150 400/907/150 +f 393/662/150 565/905/150 400/907/150 +f 398/667/140 567/908/140 396/665/140 +f 567/908/140 568/909/140 399/910/140 +f 396/665/140 567/908/140 399/910/140 +f 399/668/149 393/911/149 400/669/149 +f 366/671/142 358/673/142 347/604/142 +f 358/673/142 360/912/142 350/674/142 +f 349/675/142 390/654/142 392/676/142 +f 345/602/142 347/604/142 392/676/142 +f 351/678/141 361/913/141 363/679/141 +f 404/681/141 528/914/141 346/603/141 +f 403/680/141 346/603/141 391/682/141 +f 406/684/141 569/915/141 391/682/141 +f 390/654/149 349/675/149 403/685/149 +f 407/687/139 411/916/139 408/688/139 +f 415/917/140 412/693/140 410/691/140 +f 412/693/140 407/690/140 410/691/140 +f 409/689/140 416/701/140 424/918/140 +f 416/701/140 418/919/140 424/918/140 +f 409/689/140 424/918/140 410/691/140 +f 411/692/141 407/690/141 412/693/141 +f 414/695/151 413/920/151 412/696/151 +f 416/698/151 570/921/151 417/699/151 +f 408/688/142 570/922/142 416/701/142 +f 419/702/150 571/923/150 420/703/150 +f 422/705/142 414/695/142 415/706/142 +f 418/708/141 417/699/141 423/709/141 +f 425/711/149 429/718/149 426/712/149 +f 423/709/149 422/705/149 410/707/149 +f 411/692/150 413/694/150 422/924/150 +f 413/694/150 414/925/150 422/924/150 +f 417/926/150 570/927/150 423/715/150 +f 570/927/150 408/714/150 423/715/150 +f 411/692/150 422/924/150 423/715/150 +f 428/716/152 433/928/152 421/717/152 +f 431/720/150 435/724/150 429/718/150 +f 425/711/150 434/723/150 432/721/150 +f 436/726/150 438/728/150 428/725/150 +f 433/722/150 438/728/150 437/727/150 +f 440/732/140 455/747/140 427/731/140 +f 441/733/140 439/730/140 426/729/140 +f 443/735/140 572/929/140 444/736/140 +f 446/738/150 452/744/150 447/739/150 +f 449/741/150 454/930/150 450/742/150 +f 443/735/151 445/737/151 454/930/151 +f 445/737/151 450/742/151 454/930/151 +f 454/930/151 452/744/151 443/735/151 +f 453/745/140 554/880/140 454/746/140 +f 428/751/141 420/703/141 571/923/141 +f 571/923/141 447/931/141 428/751/141 +f 447/931/141 452/749/141 428/751/141 +f 452/749/141 426/932/141 429/750/141 +f 454/754/142 449/933/142 433/934/142 +f 449/933/142 419/935/142 433/934/142 +f 419/935/142 421/936/142 433/934/142 +f 433/934/142 425/752/142 454/754/142 +f 458/757/142 573/937/142 574/938/142 +f 574/938/142 575/939/142 456/755/142 +f 456/755/142 576/940/142 457/756/142 +f 457/756/142 577/941/142 458/757/142 +f 458/757/142 574/938/142 456/755/142 +f 461/760/141 578/942/141 579/943/141 +f 579/943/141 580/944/141 459/758/141 +f 459/758/141 581/945/141 460/759/141 +f 460/759/141 582/946/141 461/760/141 +f 461/760/141 579/943/141 459/758/141 +f 464/763/139 583/947/139 584/948/139 +f 584/948/139 585/949/139 586/950/139 +f 586/950/139 587/951/139 588/952/139 +f 588/952/139 589/953/139 462/761/139 +f 462/761/139 590/954/139 463/762/139 +f 463/762/139 591/955/139 464/763/139 +f 464/763/139 584/948/139 462/761/139 +f 584/948/139 586/950/139 462/761/139 +f 586/950/139 588/952/139 462/761/139 +f 465/764/149 592/956/149 466/765/149 +f 468/767/149 592/956/149 465/764/149 +f 472/773/149 593/957/149 470/770/149 +f 471/771/149 594/958/149 473/775/149 +f 473/775/149 594/958/149 474/777/149 +f 476/779/149 595/959/149 477/781/149 +f 477/781/149 595/959/149 478/783/149 +f 480/785/149 593/960/149 472/787/149 +f 481/789/142 487/961/142 482/790/142 +f 483/791/142 482/962/142 484/792/142 +f 481/789/142 505/815/142 486/794/142 +f 488/796/141 494/963/141 489/797/141 +f 491/799/142 495/964/142 492/800/142 +f 491/965/149 489/966/149 494/802/149 +f 494/802/149 386/967/149 385/803/149 +f 385/803/149 559/968/149 495/804/149 +f 559/968/149 382/969/149 495/804/149 +f 495/804/149 491/965/149 494/802/149 +f 496/805/141 596/970/141 497/806/141 +f 499/808/141 596/971/141 496/805/141 +f 500/809/141 520/835/141 501/810/141 +f 502/812/153 513/972/153 503/813/153 +f 505/815/142 508/973/142 506/816/142 +f 510/821/142 509/820/142 508/819/142 +f 485/793/142 484/792/142 512/824/142 +f 511/823/142 503/822/142 513/826/142 +f 498/807/141 497/806/141 515/828/141 +f 519/834/141 501/810/141 520/835/141 +f 521/837/141 524/840/141 522/838/141 +f 525/841/141 524/840/141 516/832/141 +f 524/842/154 521/974/154 526/843/154 +f 366/671/150 401/672/150 528/845/150 +f 534/854/150 597/975/150 535/976/150 +f 597/975/150 598/977/150 535/976/150 +f 535/976/150 532/852/150 534/854/150 +f 535/855/149 540/861/149 536/856/149 +f 536/856/162 599/978/162 600/979/162 +f 600/979/155 537/858/155 536/856/155 +f 540/861/163 535/855/163 601/980/163 +f 601/980/163 538/859/163 540/861/163 +f 541/862/150 544/981/150 542/863/150 +f 544/865/149 546/871/149 545/866/149 +f 546/868/157 544/981/157 541/862/157 +f 548/870/158 545/866/158 546/871/158 +f 543/864/159 542/863/159 545/873/159 +f 550/876/140 602/982/140 603/983/140 +f 603/983/140 604/984/140 550/876/140 +f 604/984/140 551/877/140 550/876/140 +f 551/877/140 605/985/140 606/986/140 +f 606/986/140 549/875/140 551/877/140 +f 607/987/150 552/878/150 389/653/150 +f 552/878/150 608/988/150 387/651/150 +f 553/879/140 442/734/140 452/748/140 +f 365/881/149 362/989/149 359/882/149 +s 1 +f 488/990/164 561/991/165 560/992/164 +f 376/639/139 609/993/153 371/633/153 +f 372/634/142 610/994/145 369/630/145 +f 375/638/154 611/995/139 376/639/139 +f 371/633/153 612/996/142 372/634/142 +f 534/997/166 369/630/145 610/994/145 +f 530/849/146 613/998/141 378/641/141 +f 378/641/141 614/999/154 375/638/154 +f 597/1000/167 530/849/146 531/851/167 +f 608/1001/168 615/1002/169 616/1003/170 +f 552/1004/149 617/1005/171 615/1002/169 +f 618/1006/172 619/1007/173 620/1008/174 +f 620/1008/174 621/1009/175 622/1010/176 +f 623/1011/177 624/1012/178 625/1013/179 +f 383/1014/180 626/1015/181 381/1016/181 +f 621/1017/182 559/1018/183 564/1019/184 +f 627/1020/185 628/1021/186 629/1022/187 +f 629/1023/181 384/1024/188 563/1025/181 +f 623/1026/189 384/1024/188 628/1027/190 +f 615/1002/169 617/1005/171 630/1028/191 +f 631/1029/192 630/1028/191 617/1005/171 +f 622/1010/176 632/1030/193 620/1008/174 +f 633/1031/194 555/1032/195 634/1033/196 +f 635/1034/197 569/1035/198 636/1036/199 +f 637/1037/200 638/1038/201 639/1039/202 +f 640/1040/141 641/1041/203 642/1042/204 +f 641/1043/203 643/1044/205 635/1034/197 +f 639/1039/202 644/1045/206 645/1046/207 +f 633/1047/194 646/1048/142 637/1037/208 +f 644/1045/206 642/1042/209 645/1046/207 +f 647/1049/210 633/1031/194 634/1033/196 +f 612/996/211 648/1050/212 610/994/212 +f 649/1051/161 650/1052/213 651/1053/213 +f 613/998/214 652/1054/215 614/999/215 +f 611/995/216 653/1055/217 609/993/217 +f 612/996/211 653/1056/217 654/1057/218 +f 649/1058/161 648/1059/212 655/1060/161 +f 613/998/214 650/1061/213 656/1062/219 +f 614/999/215 657/1063/216 611/995/216 +f 658/1064/220 650/1065/146 631/1066/192 +f 659/1067/221 656/1068/141 658/1064/220 +f 660/1069/139 653/1070/153 657/1071/139 +f 661/1072/222 654/1073/142 632/1074/193 +f 631/1066/192 655/1075/149 630/1076/191 +f 660/1069/139 652/1077/154 659/1067/221 +f 632/1074/193 653/1070/153 662/1078/223 +f 630/1079/191 648/1080/145 661/1072/222 +f 398/667/141 566/1081/224 565/905/141 +f 395/1082/142 568/1083/225 567/908/142 +f 397/1084/224 400/669/226 566/1081/224 +f 394/1085/225 399/1086/227 568/1083/225 +f 625/1013/179 624/1012/178 658/1087/220 +f 402/1088/228 392/1089/149 569/1035/198 +f 618/1006/172 632/1090/193 662/1091/223 +f 439/1092/139 431/1093/153 430/1094/139 +f 553/1095/145 438/1096/149 436/1097/145 +f 453/1098/146 434/1099/141 437/1100/146 +f 440/1101/154 430/1102/139 432/1103/154 +f 441/1104/153 435/1105/142 431/1093/153 +f 442/1106/142 436/1097/145 435/1105/142 +f 554/1107/149 437/1100/146 438/1096/149 +f 455/1108/141 432/1103/154 434/1099/141 +f 456/1109/139 663/1110/229 664/1111/139 +f 574/1112/140 665/1113/230 666/1114/140 +f 577/1115/231 667/1116/150 668/1117/231 +f 576/1118/232 664/1111/139 669/1119/232 +f 575/1120/229 666/1114/140 663/1110/229 +f 573/1121/230 670/1122/149 665/1113/230 +f 458/1123/149 668/1117/231 670/1124/149 +f 457/1125/150 669/1119/232 667/1116/150 +f 671/1126/233 672/1127/227 673/1128/227 +f 674/1129/234 675/1130/235 676/1131/234 +f 677/1132/236 678/1133/237 679/1134/237 +f 680/1135/238 681/1136/239 682/1137/238 +f 672/1138/227 682/1137/238 673/1139/227 +f 675/1130/235 683/1140/233 671/1126/233 +f 678/1133/237 676/1131/234 679/1134/237 +f 681/1136/239 684/1141/236 677/1132/236 +f 672/1138/149 578/1142/230 680/1135/230 +f 683/1140/231 579/1143/149 672/1127/149 +f 674/1129/232 459/1144/150 685/1145/150 +f 684/1141/229 460/1146/139 678/1133/139 +f 680/1135/230 461/1147/140 686/1148/140 +f 685/1145/150 580/1149/231 683/1140/231 +f 678/1133/139 581/1150/232 674/1129/232 +f 686/1148/140 582/1151/229 684/1141/229 +f 687/1152/150 475/1153/240 688/1154/240 +f 689/1155/142 467/1156/241 690/1157/241 +f 691/1158/140 469/1159/242 692/1160/242 +f 693/1161/141 479/1162/243 694/1163/243 +f 688/1154/240 477/1164/141 693/1161/141 +f 690/1157/241 473/1165/150 687/1152/150 +f 692/1160/242 465/1166/142 689/1155/142 +f 694/1163/243 472/1167/140 691/1168/140 +f 470/770/244 590/1169/245 468/767/245 +f 476/779/246 584/1170/141 595/959/141 +f 478/783/247 464/1171/248 480/785/248 +f 471/771/249 587/1172/150 594/958/150 +f 468/767/245 462/1173/142 592/956/142 +f 480/785/248 591/1174/140 593/960/140 +f 594/958/150 586/1175/250 474/777/250 +f 592/956/142 589/1176/251 466/765/251 +f 593/957/140 463/1177/244 470/770/244 +f 474/777/250 585/1178/246 476/779/246 +f 595/959/141 583/1179/247 478/783/247 +f 466/765/251 588/1180/249 471/771/249 +f 498/807/252 481/789/253 496/805/253 +f 481/789/253 500/809/254 496/805/253 +f 500/809/254 485/793/255 520/835/255 +f 488/990/164 386/967/256 494/802/256 +f 558/1181/165 492/1182/164 557/1183/164 +f 382/969/256 492/1182/164 495/804/256 +f 596/1184/257 486/1185/258 497/1186/258 +f 487/1187/257 499/1188/259 482/1189/259 +f 484/1190/260 499/1188/259 501/1191/260 +f 521/836/140 485/793/255 513/825/140 +f 523/839/141 695/1192/141 521/837/141 +f 519/1193/261 484/1190/260 501/1191/260 +f 512/1194/261 695/1195/262 696/1196/262 +f 514/1197/263 695/1195/262 523/1198/263 +f 511/1199/264 523/1198/139 522/1200/264 +f 511/1201/264 525/1202/265 510/1203/265 +f 509/1204/140 525/1202/265 518/1205/140 +f 507/1206/266 518/1205/267 517/1207/266 +f 506/1208/268 517/1207/266 515/1209/268 +f 486/1185/258 515/1209/268 497/1186/258 +f 516/829/139 505/815/252 498/807/252 +f 519/1210/141 521/837/141 695/1192/141 +f 658/1211/220 627/1020/185 659/1212/221 +f 697/1213/269 698/1214/270 699/1215/271 +f 700/1216/272 701/1217/273 702/1218/273 +f 703/1219/274 704/1220/275 705/1221/276 +f 706/1222/277 707/1223/278 697/1224/269 +f 708/1225/279 709/1226/272 700/1216/272 +f 710/1227/280 711/1228/281 703/1219/282 +f 712/1229/283 713/1230/284 706/1222/277 +f 714/1231/285 715/1232/279 708/1225/279 +f 716/1233/286 717/1234/287 710/1227/280 +f 718/1235/288 719/1236/289 712/1229/283 +f 720/1237/290 714/1231/290 721/1238/290 +f 716/1233/286 722/1239/291 723/1240/292 +f 724/1241/293 725/1242/294 718/1235/288 +f 726/1243/295 721/1244/296 727/1245/297 +f 728/1246/298 722/1239/291 729/1247/299 +f 730/1248/300 731/1249/301 724/1241/293 +f 732/1250/302 733/1251/303 726/1243/295 +f 734/1252/304 735/1253/305 730/1248/300 +f 736/1254/306 737/1255/307 732/1250/302 +f 738/1256/308 739/1257/309 734/1252/304 +f 740/1258/310 741/1259/311 736/1254/306 +f 742/1260/312 743/1261/313 738/1256/308 +f 744/1262/314 745/1263/315 740/1264/315 +f 746/1265/316 747/1266/317 742/1260/318 +f 748/1267/319 749/1268/314 744/1262/314 +f 750/1269/320 751/1270/321 746/1265/316 +f 752/1271/322 753/1272/323 748/1267/319 +f 754/1273/324 755/1274/149 756/1275/149 +f 757/1276/325 758/1277/326 750/1269/320 +f 759/1278/327 760/1279/328 752/1271/322 +f 761/1280/329 762/1281/324 754/1273/324 +f 763/1282/330 764/1283/281 757/1276/282 +f 699/1284/331 765/1285/332 759/1278/327 +f 702/1218/273 766/1286/329 761/1280/329 +f 705/1221/276 767/1287/333 763/1282/330 +f 718/1235/288 768/1288/334 724/1241/293 +f 721/1244/296 733/1251/303 720/1289/335 +f 730/1248/300 768/1288/334 769/1290/336 +f 726/1243/295 770/1291/337 732/1250/302 +f 738/1256/308 734/1252/304 771/1292/338 +f 742/1293/312 771/1294/338 772/1295/339 +f 744/1296/340 773/1297/341 774/1298/342 +f 746/1299/316 772/1300/343 775/1301/344 +f 748/1302/319 744/1296/340 776/1303/345 +f 750/1304/320 775/1301/344 777/1305/346 +f 752/1306/322 748/1302/319 778/1307/347 +f 750/1304/320 779/1308/348 757/1276/325 +f 752/1306/322 780/1309/349 759/1310/327 +f 761/1311/350 781/1312/351 782/1313/352 +f 763/1314/330 779/1308/353 783/1315/354 +f 784/1316/355 765/1317/332 785/1318/356 +f 786/1319/357 761/1311/350 782/1313/352 +f 705/1320/276 783/1315/354 787/1321/358 +f 697/1213/269 788/1322/359 789/1323/360 +f 700/1324/361 786/1319/357 790/1325/362 +f 705/1320/276 791/1326/363 703/1219/274 +f 792/1327/364 706/1222/277 789/1323/360 +f 700/1324/361 793/1328/365 708/1329/366 +f 710/1330/280 791/1326/353 794/1331/367 +f 719/1236/289 795/1332/368 713/1230/284 +f 708/1329/366 793/1328/365 714/1333/369 +f 716/1334/286 794/1331/367 796/1335/370 +f 797/1336/371 712/1229/283 798/1337/372 +f 721/1338/373 714/1333/369 727/1339/374 +f 754/1340/375 756/1341/376 781/1312/351 +f 729/1247/299 799/1342/377 728/1246/298 +f 800/1343/140 801/1344/378 802/1345/378 +f 802/1345/378 347/1346/379 346/1347/379 +f 727/1339/374 714/1333/369 793/1328/365 +f 761/1311/350 786/1319/357 702/1348/380 +f 736/1254/306 773/1349/381 740/1350/310 +f 741/1259/311 803/1351/382 737/1255/307 +f 803/1351/382 804/1352/383 737/1255/307 +f 770/1353/142 727/1339/374 773/1297/341 +f 697/1224/269 789/1323/360 706/1222/277 +f 712/1229/283 797/1336/371 718/1235/288 +f 778/1307/347 748/1302/319 776/1303/345 +f 773/1297/341 727/1339/374 774/1298/342 +f 727/1339/374 776/1303/345 774/1298/342 +f 778/1307/347 776/1303/345 793/1328/365 +f 793/1328/365 790/1325/362 778/1307/347 +f 786/1319/357 778/1307/347 790/1325/362 +f 786/1319/357 782/1313/352 780/1309/349 +f 756/1341/376 401/1354/142 781/1312/351 +f 401/1354/142 782/1313/352 781/1312/351 +f 401/1354/142 347/1355/142 788/1356/142 +f 730/1248/300 769/1290/336 734/1252/304 +f 771/1292/338 734/1252/304 805/1357/384 +f 734/1252/304 769/1290/336 805/1358/384 +f 768/1359/142 775/1360/142 769/1361/142 +f 777/1362/142 797/1363/142 798/1364/142 +f 779/1365/142 777/1362/142 783/1366/142 +f 777/1362/142 798/1364/142 783/1366/142 +f 794/1367/142 792/1368/142 796/1369/142 +f 791/1370/142 787/1371/142 794/1367/142 +f 783/1366/142 798/1364/142 787/1371/142 +f 794/1367/142 787/1371/142 798/1364/142 +f 798/1364/142 792/1368/142 794/1367/142 +f 799/1372/142 796/1369/142 792/1368/142 +f 799/1372/142 801/1373/142 728/1374/142 +f 799/1372/142 789/1375/142 347/1355/142 +f 788/1356/142 347/1355/142 789/1375/142 +f 792/1368/142 789/1375/142 799/1372/142 +f 788/1356/142 780/1309/349 401/1354/142 +f 776/1303/345 744/1296/340 774/1298/342 +f 804/1376/141 803/1377/385 806/1378/386 +f 803/1377/385 807/1379/387 806/1378/386 +f 808/1380/388 806/1378/386 807/1379/387 +f 809/1381/389 810/1382/390 808/1380/388 +f 810/1382/390 809/1381/389 811/1383/391 +f 812/1384/392 809/1381/389 784/1316/355 +f 812/1384/392 784/1316/355 813/1385/393 +f 814/1386/141 815/1387/141 816/1388/141 +f 816/1388/141 817/1389/141 795/1390/141 +f 818/1391/141 819/1392/141 817/1389/141 +f 817/1389/141 819/1392/141 795/1390/141 +f 820/1393/141 821/1394/141 822/1395/141 +f 823/1396/141 820/1393/141 824/1397/141 +f 819/1392/141 824/1397/141 795/1390/141 +f 820/1393/141 795/1390/141 824/1397/141 +f 795/1390/141 820/1393/141 822/1395/141 +f 825/1398/141 822/1395/141 821/1394/141 +f 822/1395/141 825/1398/141 826/1399/141 +f 806/1400/394 720/1289/335 733/1251/303 +f 720/1401/395 806/1378/386 827/1402/396 +f 806/1378/386 810/1382/390 827/1402/396 +f 827/1402/396 810/1382/390 715/1403/397 +f 810/1382/390 709/1404/398 715/1403/397 +f 709/1404/398 812/1384/392 701/1405/399 +f 701/1405/399 813/1385/393 766/1406/400 +f 828/1407/401 766/1406/400 813/1385/393 +f 762/1408/402 828/1407/401 755/1409/403 +f 804/1352/383 733/1251/303 737/1255/307 +f 736/1254/306 732/1250/302 773/1349/381 +f 732/1250/302 770/1291/337 773/1349/381 +f 741/1259/311 745/1410/404 803/1351/382 +f 749/1411/405 803/1377/385 745/1412/406 +f 807/1379/387 749/1411/405 808/1380/388 +f 749/1411/405 753/1413/323 808/1380/388 +f 808/1380/388 753/1413/323 809/1381/389 +f 753/1413/323 760/1414/328 809/1381/389 +f 784/1316/355 760/1414/328 765/1317/332 +f 698/1415/407 785/1416/356 765/1285/332 +f 528/1417/141 755/1409/403 828/1407/401 +f 813/1385/393 528/1417/141 828/1407/401 +f 785/1318/141 528/1417/141 784/1316/355 +f 528/1417/141 785/1318/141 346/1418/141 +f 707/1419/278 785/1420/408 698/1214/270 +f 713/1230/284 826/1421/409 707/1223/278 +f 826/1421/409 713/1230/284 822/1422/410 +f 712/1229/283 706/1222/277 798/1337/372 +f 795/1332/368 719/1236/289 816/1423/411 +f 719/1236/289 725/1242/294 816/1423/411 +f 814/1424/412 725/1242/294 731/1249/301 +f 735/1253/305 814/1424/412 731/1249/301 +f 739/1257/309 829/1425/413 735/1253/305 +f 739/1257/309 743/1261/313 830/1426/414 +f 747/1427/415 830/1428/414 743/1261/313 +f 751/1429/321 831/1430/416 747/1266/317 +f 758/1431/326 815/1432/417 751/1429/321 +f 818/1433/418 758/1431/326 764/1283/419 +f 767/1434/333 818/1433/420 764/1283/281 +f 704/1435/275 819/1436/421 767/1434/333 +f 823/1437/422 704/1435/275 711/1228/423 +f 717/1438/287 823/1437/420 711/1228/281 +f 723/1439/292 820/1440/424 717/1438/287 +f 825/1441/425 821/1442/426 722/1239/291 +f 722/1239/291 800/1443/427 825/1441/425 +f 802/1444/141 825/1398/141 800/1445/141 +f 825/1398/141 346/1418/141 826/1399/141 +f 785/1318/141 826/1399/141 346/1418/141 +f 772/1446/142 771/1447/142 775/1360/142 +f 775/1360/142 771/1447/142 769/1361/142 +f 771/1447/142 805/1448/142 769/1361/142 +f 830/1426/414 832/1449/428 739/1257/309 +f 829/1425/413 739/1257/309 832/1450/428 +f 832/1451/141 830/1452/141 829/1453/141 +f 831/1454/141 815/1387/141 830/1452/141 +f 815/1387/141 829/1453/141 830/1452/141 +f 795/1332/368 822/1422/410 713/1230/284 +f 798/1337/372 706/1222/277 792/1327/364 +f 377/1455/140 833/1456/140 531/1457/140 +f 531/1457/141 598/977/429 597/975/141 +f 534/1458/142 834/1459/430 529/1460/142 +f 834/1461/140 599/1462/431 536/1463/140 +f 540/1464/140 835/1465/140 531/1457/140 +f 836/1466/432 537/1467/433 600/1468/432 +f 599/1462/431 836/1466/432 600/1468/432 +f 836/1469/434 837/1470/435 834/1459/430 +f 835/1471/140 539/1472/436 838/1473/437 +f 539/1472/436 839/1474/438 838/1473/437 +f 538/1475/438 840/1476/439 839/1474/438 +f 840/1477/440 835/1465/441 839/1478/440 +f 537/1467/433 841/1479/442 532/1480/443 +f 532/1480/443 841/1479/442 533/1481/444 +f 601/1482/445 535/1483/446 840/1476/439 +f 535/1483/446 598/1484/444 840/1476/439 +f 374/1485/146 551/1486/149 373/1487/149 +f 370/1488/154 606/1489/141 368/1490/141 +f 377/1491/153 550/1492/139 833/1493/139 +f 373/1487/149 604/1494/145 380/1495/145 +f 368/1490/141 605/1496/146 374/1485/146 +f 833/1497/139 549/1498/154 370/1488/154 +f 379/1499/142 602/1500/153 377/1491/153 +f 380/1495/145 603/1501/142 379/1499/142 +f 621/1009/175 564/1502/145 387/1503/145 +f 625/1013/179 389/1504/146 623/1011/177 +f 555/1032/195 402/1088/228 634/1033/196 +f 639/1039/447 842/1505/448 637/1506/449 +f 555/885/450 633/1047/194 842/1507/451 +f 555/885/450 842/1507/451 345/886/160 +f 641/1043/203 635/1034/197 636/1036/199 +f 406/1508/452 843/1509/453 636/1510/454 +f 636/1510/454 843/1509/453 641/1041/203 +f 645/1046/455 642/1511/456 843/1512/457 +f 843/1512/457 639/1039/447 645/1046/455 +f 843/1512/457 345/1513/458 842/1505/448 +f 637/1037/208 842/1507/451 633/1047/194 +f 642/1042/204 641/1041/203 843/1509/453 +f 647/1514/210 844/1515/459 845/1516/459 +f 644/1045/140 638/1038/140 845/1516/459 +f 696/1517/142 513/826/142 512/1518/142 +f 696/1517/142 514/827/142 513/826/142 +f 699/1284/331 759/1278/327 788/1519/460 +f 788/1356/460 759/1310/327 780/1309/349 +f 370/1520/140 529/1460/140 833/1456/140 +f 531/1457/140 833/1456/140 529/1460/140 +f 623/1026/189 385/1521/461 384/1024/188 +f 383/1014/180 621/1017/182 619/1522/462 +f 658/1523/220 631/1029/192 625/1013/179 +f 617/1005/171 625/1013/179 631/1029/192 +f 616/1003/170 661/1524/222 622/1010/176 +f 661/1524/222 632/1525/193 622/1010/176 +f 615/1002/169 630/1028/191 616/1003/170 +f 630/1028/191 661/1524/222 616/1003/170 +f 799/1342/377 729/1247/299 796/1335/370 +f 716/1334/286 796/1335/370 729/1247/299 +f 722/1239/291 821/1442/426 723/1439/292 +f 636/1510/454 569/1526/452 406/1508/452 +f 488/990/164 490/1527/165 561/991/165 +f 376/639/139 611/995/139 609/993/153 +f 372/634/142 612/996/142 610/994/145 +f 375/638/154 614/999/154 611/995/139 +f 371/633/153 609/993/153 612/996/142 +f 534/997/166 529/847/166 369/630/145 +f 530/849/146 651/1053/146 613/998/141 +f 378/641/141 613/998/141 614/999/154 +f 597/1000/167 651/1053/146 530/849/146 +f 608/1001/168 552/1004/149 615/1002/169 +f 552/1004/149 607/1528/463 617/1005/171 +f 618/1006/172 626/1529/464 619/1007/173 +f 620/1008/174 619/1007/173 621/1009/175 +f 623/1011/177 628/1021/186 624/1012/178 +f 383/1014/180 619/1522/462 626/1015/181 +f 621/1017/182 383/1014/180 559/1018/183 +f 627/1020/185 624/1012/178 628/1021/186 +f 629/1023/181 628/1027/190 384/1024/188 +f 637/1037/200 646/1530/200 638/1038/201 +f 640/1040/141 844/1531/465 641/1041/203 +f 641/1043/203 844/1532/465 643/1044/205 +f 639/1039/202 638/1038/201 644/1045/206 +f 633/1047/194 845/1533/466 646/1048/142 +f 644/1045/206 640/1534/209 642/1042/209 +f 647/1049/210 845/1535/466 633/1031/194 +f 612/996/211 654/1536/218 648/1050/212 +f 649/1051/161 655/1537/161 650/1052/213 +f 613/998/214 656/1538/219 652/1054/215 +f 611/995/216 657/1539/216 653/1055/217 +f 612/996/211 609/993/217 653/1056/217 +f 649/1058/161 610/994/212 648/1059/212 +f 613/998/214 651/1053/213 650/1061/213 +f 614/999/215 652/1540/215 657/1063/216 +f 658/1064/220 656/1068/141 650/1065/146 +f 659/1067/221 652/1077/154 656/1068/141 +f 660/1069/139 662/1078/223 653/1070/153 +f 661/1072/222 648/1080/145 654/1073/142 +f 631/1066/192 650/1065/146 655/1075/149 +f 660/1069/139 657/1071/139 652/1077/154 +f 632/1074/193 654/1073/142 653/1070/153 +f 630/1079/191 655/1541/149 648/1080/145 +f 398/667/141 397/1084/224 566/1081/224 +f 395/1082/142 394/1085/225 568/1083/225 +f 397/1084/224 396/670/226 400/669/226 +f 394/1085/225 393/1542/227 399/1086/227 +f 392/1089/149 391/1543/149 569/1035/198 +f 569/1035/198 635/1034/197 402/1088/228 +f 635/1034/197 643/1044/205 634/1033/196 +f 402/1088/228 635/1034/197 634/1033/196 +f 643/1044/205 647/1049/210 634/1033/196 +f 618/1006/172 620/1008/174 632/1090/193 +f 439/1092/139 441/1104/153 431/1093/153 +f 553/1095/145 554/1107/149 438/1096/149 +f 453/1098/146 455/1108/141 434/1099/141 +f 440/1101/154 439/1544/139 430/1102/139 +f 441/1104/153 442/1106/142 435/1105/142 +f 442/1106/142 553/1095/145 436/1097/145 +f 554/1107/149 453/1098/146 437/1100/146 +f 455/1108/141 440/1101/154 432/1103/154 +f 456/1109/139 575/1120/229 663/1110/229 +f 574/1112/140 573/1121/230 665/1113/230 +f 577/1115/231 457/1125/150 667/1116/150 +f 576/1118/232 456/1109/139 664/1111/139 +f 575/1120/229 574/1112/140 666/1114/140 +f 573/1121/230 458/1545/149 670/1122/149 +f 458/1123/149 577/1115/231 668/1117/231 +f 457/1125/150 576/1118/232 669/1119/232 +f 671/1126/233 683/1140/233 672/1127/227 +f 674/1129/234 685/1145/235 675/1130/235 +f 677/1132/236 684/1141/236 678/1133/237 +f 680/1135/238 686/1148/239 681/1136/239 +f 672/1138/227 680/1135/238 682/1137/238 +f 675/1130/235 685/1145/235 683/1140/233 +f 678/1133/237 674/1129/234 676/1131/234 +f 681/1136/239 686/1148/239 684/1141/236 +f 672/1138/149 579/1546/149 578/1142/230 +f 683/1140/231 580/1149/231 579/1143/149 +f 674/1129/232 581/1150/232 459/1144/150 +f 684/1141/229 582/1151/229 460/1146/139 +f 680/1135/230 578/1142/230 461/1147/140 +f 685/1145/150 459/1144/150 580/1149/231 +f 678/1133/139 460/1146/139 581/1150/232 +f 686/1148/140 461/1147/140 582/1151/229 +f 687/1152/150 473/1165/150 475/1153/240 +f 689/1155/142 465/1166/142 467/1156/241 +f 691/1158/140 472/1547/140 469/1159/242 +f 693/1161/141 477/1164/141 479/1162/243 +f 688/1154/240 475/1153/240 477/1164/141 +f 690/1157/241 467/1156/241 473/1165/150 +f 692/1160/242 469/1159/242 465/1166/142 +f 694/1163/243 479/1162/243 472/1167/140 +f 470/770/244 463/1177/244 590/1169/245 +f 476/779/246 585/1178/246 584/1170/141 +f 478/783/247 583/1179/247 464/1171/248 +f 471/771/249 588/1180/249 587/1172/150 +f 468/767/245 590/1169/245 462/1173/142 +f 480/785/248 464/1171/248 591/1174/140 +f 594/958/150 587/1172/150 586/1175/250 +f 592/956/142 462/1173/142 589/1176/251 +f 593/957/140 591/1548/140 463/1177/244 +f 474/777/250 586/1175/250 585/1178/246 +f 595/959/141 584/1170/141 583/1179/247 +f 466/765/251 589/1176/251 588/1180/249 +f 498/807/252 505/815/252 481/789/253 +f 481/789/253 483/791/254 500/809/254 +f 500/809/254 483/791/254 485/793/255 +f 488/990/164 560/992/164 386/967/256 +f 558/1181/165 493/1549/165 492/1182/164 +f 382/969/256 557/1183/164 492/1182/164 +f 596/1184/257 487/1187/257 486/1185/258 +f 487/1187/257 596/1184/257 499/1188/259 +f 484/1190/260 482/1189/259 499/1188/259 +f 513/825/140 502/1550/140 526/1551/140 +f 521/836/140 520/835/255 485/793/255 +f 513/825/140 526/1551/140 521/836/140 +f 519/1193/261 512/1194/261 484/1190/260 +f 512/1194/261 519/1193/261 695/1195/262 +f 514/1197/263 696/1196/262 695/1195/262 +f 511/1199/264 514/1197/139 523/1198/139 +f 511/1201/264 522/1552/264 525/1202/265 +f 509/1204/140 510/1203/265 525/1202/265 +f 507/1206/266 509/1204/267 518/1205/267 +f 506/1208/268 507/1206/266 517/1207/266 +f 486/1185/258 506/1208/268 515/1209/268 +f 516/829/139 508/973/139 505/815/252 +f 658/1211/220 624/1012/178 627/1020/185 +f 697/1213/269 707/1419/278 698/1214/270 +f 700/1216/272 709/1226/272 701/1217/273 +f 703/1219/274 711/1228/423 704/1220/275 +f 706/1222/277 713/1230/284 707/1223/278 +f 708/1225/279 715/1232/279 709/1226/272 +f 710/1227/280 717/1234/287 711/1228/281 +f 712/1229/283 719/1236/289 713/1230/284 +f 714/1231/285 827/1553/285 715/1232/279 +f 716/1233/286 723/1240/292 717/1234/287 +f 718/1235/288 725/1242/294 719/1236/289 +f 720/1237/290 827/1553/290 714/1231/290 +f 716/1233/286 729/1247/299 722/1239/291 +f 724/1241/293 731/1249/301 725/1242/294 +f 728/1246/298 800/1443/427 722/1239/291 +f 730/1248/300 735/1253/305 731/1249/301 +f 732/1250/302 737/1255/307 733/1251/303 +f 734/1252/304 739/1257/309 735/1253/305 +f 736/1254/306 741/1259/311 737/1255/307 +f 738/1256/308 743/1261/313 739/1257/309 +f 740/1258/310 745/1554/404 741/1259/311 +f 742/1260/312 747/1266/415 743/1261/313 +f 744/1262/314 749/1268/314 745/1263/315 +f 746/1265/316 751/1270/321 747/1266/317 +f 748/1267/319 753/1272/323 749/1268/314 +f 750/1269/320 758/1277/326 751/1270/321 +f 752/1271/322 760/1279/328 753/1272/323 +f 754/1273/324 762/1281/324 755/1274/149 +f 757/1276/325 764/1283/419 758/1277/326 +f 759/1278/327 765/1285/332 760/1279/328 +f 761/1280/329 766/1286/329 762/1281/324 +f 763/1282/330 767/1287/333 764/1283/281 +f 699/1284/331 698/1415/407 765/1285/332 +f 702/1218/273 701/1217/273 766/1286/329 +f 705/1221/276 704/1220/275 767/1287/333 +f 718/1235/288 797/1336/371 768/1288/334 +f 721/1244/296 726/1243/295 733/1251/303 +f 730/1248/300 724/1241/293 768/1288/334 +f 726/1243/295 727/1245/297 770/1291/337 +f 742/1293/312 738/1256/308 771/1294/338 +f 744/1296/340 740/1555/467 773/1297/341 +f 746/1299/316 742/1260/318 772/1300/343 +f 750/1304/320 746/1299/316 775/1301/344 +f 750/1304/320 777/1305/346 779/1308/348 +f 752/1306/322 778/1307/347 780/1309/349 +f 761/1311/350 754/1340/375 781/1312/351 +f 763/1314/330 757/1276/282 779/1308/353 +f 705/1320/276 763/1314/330 783/1315/354 +f 697/1213/269 699/1215/271 788/1322/359 +f 700/1324/361 702/1348/380 786/1319/357 +f 705/1320/276 787/1321/358 791/1326/363 +f 700/1324/361 790/1325/362 793/1328/365 +f 710/1330/280 703/1219/282 791/1326/353 +f 716/1334/286 710/1330/280 794/1331/367 +f 800/1343/140 728/1556/140 801/1344/378 +f 802/1345/378 801/1344/378 347/1346/379 +f 727/1339/374 793/1328/365 776/1303/345 +f 786/1319/357 780/1309/349 778/1307/347 +f 401/1354/142 780/1309/349 782/1313/352 +f 768/1359/142 797/1363/142 775/1360/142 +f 777/1362/142 775/1360/142 797/1363/142 +f 799/1372/142 347/1355/142 801/1373/142 +f 808/1380/388 810/1382/390 806/1378/386 +f 812/1384/392 811/1383/391 809/1381/389 +f 814/1386/141 829/1453/141 815/1387/141 +f 816/1388/141 815/1387/141 817/1389/141 +f 810/1382/390 811/1383/391 709/1404/398 +f 709/1404/398 811/1383/391 812/1384/392 +f 701/1405/399 812/1384/392 813/1385/393 +f 828/1407/401 762/1408/402 766/1406/400 +f 804/1352/383 806/1400/394 733/1251/303 +f 749/1411/405 807/1379/387 803/1377/385 +f 784/1316/355 809/1381/389 760/1414/328 +f 813/1385/393 784/1316/355 528/1417/141 +f 707/1419/278 826/1421/409 785/1420/408 +f 814/1424/412 816/1423/411 725/1242/294 +f 735/1253/305 829/1425/413 814/1424/412 +f 747/1427/415 831/1557/468 830/1428/414 +f 751/1429/321 815/1432/417 831/1430/416 +f 758/1431/326 817/1558/469 815/1432/417 +f 818/1433/418 817/1558/469 758/1431/326 +f 767/1434/333 819/1436/421 818/1433/420 +f 704/1435/275 824/1559/470 819/1436/421 +f 823/1437/422 824/1559/470 704/1435/275 +f 717/1438/287 820/1440/424 823/1437/420 +f 723/1439/292 821/1442/426 820/1440/424 +f 802/1444/141 346/1418/141 825/1398/141 +f 531/1457/141 835/1465/441 598/977/429 +f 534/1458/142 533/1560/471 834/1459/430 +f 834/1461/140 837/1561/472 599/1462/431 +f 531/1457/140 529/1460/140 536/1562/140 +f 529/1460/140 834/1459/140 536/1562/140 +f 536/1562/140 540/1464/140 531/1457/140 +f 836/1466/432 841/1479/442 537/1467/433 +f 599/1462/431 837/1561/472 836/1466/432 +f 834/1459/430 533/1560/471 841/1563/434 +f 841/1563/434 836/1469/434 834/1459/430 +f 835/1471/140 540/1564/140 539/1472/436 +f 539/1472/436 538/1475/438 839/1474/438 +f 538/1475/438 601/1482/445 840/1476/439 +f 598/977/429 835/1465/441 840/1477/440 +f 835/1465/441 838/1565/473 839/1478/440 +f 374/1485/146 605/1496/146 551/1486/149 +f 370/1488/154 549/1498/154 606/1489/141 +f 377/1491/153 602/1500/153 550/1492/139 +f 373/1487/149 551/1486/149 604/1494/145 +f 368/1490/141 606/1489/141 605/1496/146 +f 833/1497/139 550/1566/139 549/1498/154 +f 379/1499/142 603/1501/142 602/1500/153 +f 380/1495/145 604/1494/145 603/1501/142 +f 608/1001/168 616/1003/170 387/1503/145 +f 616/1003/170 622/1010/176 387/1503/145 +f 622/1010/176 621/1009/175 387/1503/145 +f 625/1013/179 617/1005/171 389/1504/146 +f 617/1005/171 607/1528/463 389/1504/146 +f 389/1504/146 388/1567/146 623/1011/177 +f 843/1512/457 842/1505/448 639/1039/447 +f 843/1512/474 406/1568/458 345/1513/458 +f 647/1514/210 643/1569/205 844/1515/459 +f 638/1038/140 646/1570/140 845/1516/459 +f 845/1516/459 844/1515/459 644/1045/140 +f 844/1515/459 640/1571/140 644/1045/140 +f 623/1026/189 388/1572/150 385/1521/461 +l 716 799 diff --git a/src/main/resources/assets/hbm/models/weapons/amat.obj b/src/main/resources/assets/hbm/models/weapons/amat.obj new file mode 100644 index 000000000..cfb16ab61 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/amat.obj @@ -0,0 +1,10682 @@ +# Blender v2.79 (sub 0) OBJ File: 'amat.blend' +# www.blender.org +o Bolt +v -0.625260 0.501309 -5.750000 +v -0.601343 0.443566 -5.937500 +v -0.529589 0.270339 -5.875000 +v 0.000001 0.669195 -2.664513 +v 0.044195 0.625001 -2.477013 +v 0.044195 0.625001 -2.664513 +v -0.044193 0.625001 -2.477013 +v 0.000001 0.580807 -2.477013 +v 0.000001 0.580807 -2.664513 +v 0.000001 0.669195 -2.477013 +v -0.044193 0.625001 -2.664513 +v -0.529589 0.270339 -5.750000 +v -0.553507 0.328081 -5.687500 +v -0.601343 0.443566 -5.687500 +v -0.625260 0.501309 -5.875000 +v -0.553507 0.328081 -5.937500 +v -0.163320 0.692650 -5.750000 +v -0.091567 0.519423 -5.937500 +v -0.139403 0.634908 -5.687500 +v -0.091567 0.519423 -5.687500 +v -0.611249 0.467484 -5.812500 +v -0.923879 0.242317 -5.724112 +v -0.577425 0.385824 -5.724112 +v -0.923879 0.242317 -5.900887 +v -0.543600 0.304163 -5.812500 +v -0.890055 0.160657 -5.812500 +v -0.957704 0.323978 -5.812500 +v -1.046370 0.048074 -5.856694 +v -0.964710 0.177570 -5.945082 +v -0.930885 0.095909 -5.856694 +v -1.154849 0.146647 -5.724112 +v -1.154849 0.146647 -5.900887 +v -1.121025 0.064986 -5.812500 +v -1.032359 0.340890 -5.856694 +v -1.114019 0.211394 -5.945082 +v -1.147844 0.293054 -5.856694 +v -1.032359 0.340890 -5.768305 +v -1.114019 0.211394 -5.679918 +v -0.998534 0.259230 -5.679918 +v -0.930885 0.095909 -5.768305 +v -0.998534 0.259230 -5.945082 +v -0.964710 0.177570 -5.679918 +v -1.046370 0.048074 -5.768305 +v -1.080195 0.129734 -5.945082 +v -1.080195 0.129734 -5.679918 +v -1.188674 0.228307 -5.812500 +v -1.147844 0.293054 -5.768305 +v -0.067650 0.461680 -5.750000 +v -0.067650 0.461680 -5.875000 +v -0.139403 0.634908 -5.937500 +v 0.120699 0.834059 -6.562500 +v 0.120699 0.415942 -6.562500 +v -0.241401 0.625001 -6.562500 +v -0.120735 0.625001 -2.664513 +v 0.060369 0.520440 -2.664513 +v 0.060369 0.729561 -2.664513 +v -0.120701 0.834059 -6.562500 +v -0.209058 0.745701 -2.937500 +v -0.120699 0.834059 -2.937500 +v -0.209060 0.745701 -6.562500 +v -0.241399 0.625001 -2.937500 +v -0.209058 0.504301 -2.937500 +v -0.209060 0.504301 -6.562500 +v -0.120699 0.415942 -2.937500 +v -0.120701 0.415942 -6.562500 +v 0.000001 0.383601 -2.937500 +v -0.000001 0.383601 -6.562500 +v 0.120701 0.415942 -2.937500 +v 0.209059 0.504301 -2.937500 +v 0.209057 0.504301 -6.562500 +v 0.241401 0.625001 -2.937500 +v 0.241399 0.625001 -6.562500 +v 0.209059 0.745701 -2.937500 +v 0.209058 0.745701 -6.562500 +v 0.120701 0.834059 -2.937500 +v 0.000001 0.866401 -2.937500 +v 0.120737 0.625001 -2.789513 +v 0.104561 0.564633 -2.789513 +v 0.060369 0.520440 -2.789513 +v 0.000001 0.504265 -2.789513 +v -0.060367 0.520440 -2.789513 +v -0.104560 0.564633 -2.789513 +v -0.060367 0.729561 -2.789513 +v 0.000001 0.745737 -2.789513 +v -0.120735 0.625001 -2.789513 +v 0.060369 0.729561 -2.789513 +v -0.104560 0.685369 -2.789513 +v 0.104562 0.685369 -2.789513 +v 0.104562 0.685369 -2.664513 +v 0.000001 0.504265 -2.664513 +v 0.120737 0.625001 -2.664513 +v -0.104560 0.685369 -2.664513 +v 0.000001 0.745737 -2.664513 +v -0.060367 0.520440 -2.664513 +v 0.104561 0.564633 -2.664513 +v -0.060367 0.729561 -2.664513 +v -0.104560 0.564633 -2.664513 +v -0.163320 0.692650 -5.875000 +v -0.577425 0.385824 -5.900888 +v -0.000001 0.866401 -6.562500 +vt 0.751740 0.819444 +vt 0.744780 0.812500 +vt 0.747100 0.791667 +vt 0.832947 0.979167 +vt 0.839907 0.986111 +vt 0.832947 0.986111 +vt 0.842227 0.979167 +vt 0.842227 0.986111 +vt 0.839907 0.972222 +vt 0.832947 0.965278 +vt 0.839907 0.965278 +vt 0.839907 0.993056 +vt 0.839907 0.979167 +vt 0.832947 0.972222 +vt 0.751740 0.791667 +vt 0.754060 0.798611 +vt 0.754060 0.812500 +vt 0.747100 0.819444 +vt 0.744780 0.798611 +vt 0.832947 0.993056 +vt 0.682135 0.791667 +vt 0.700696 0.777778 +vt 0.700696 0.791667 +vt 0.700696 0.770833 +vt 0.682135 0.756944 +vt 0.700696 0.756944 +vt 0.682135 0.798611 +vt 0.700696 0.812500 +vt 0.682135 0.812500 +vt 0.703016 0.791667 +vt 0.716937 0.805556 +vt 0.703016 0.805556 +vt 0.716937 0.777778 +vt 0.703016 0.763889 +vt 0.716937 0.763889 +vt 0.716937 0.819444 +vt 0.703016 0.819444 +vt 0.716937 0.791667 +vt 0.733179 0.770833 +vt 0.728538 0.756944 +vt 0.733179 0.756944 +vt 0.733179 0.791667 +vt 0.728538 0.777778 +vt 0.733179 0.777778 +vt 0.721578 0.791667 +vt 0.726218 0.777778 +vt 0.726218 0.791667 +vt 0.728538 0.812500 +vt 0.733179 0.798611 +vt 0.733179 0.812500 +vt 0.740139 0.777778 +vt 0.742459 0.770833 +vt 0.742459 0.777778 +vt 0.719258 0.770833 +vt 0.721578 0.777778 +vt 0.719258 0.777778 +vt 0.740139 0.791667 +vt 0.742459 0.791667 +vt 0.742459 0.798611 +vt 0.719258 0.798611 +vt 0.719258 0.791667 +vt 0.735499 0.777778 +vt 0.728538 0.770833 +vt 0.735499 0.791667 +vt 0.728538 0.791667 +vt 0.728538 0.798611 +vt 0.728538 0.750000 +vt 0.733179 0.750000 +vt 0.733179 0.819444 +vt 0.728538 0.819444 +vt 0.740139 0.798611 +vt 0.735499 0.798611 +vt 0.721578 0.798611 +vt 0.740139 0.770833 +vt 0.726218 0.770833 +vt 0.682135 0.819444 +vt 0.700696 0.819444 +vt 0.700696 0.750000 +vt 0.682135 0.750000 +vt 0.682135 0.770833 +vt 0.700696 0.736111 +vt 0.682135 0.736111 +vt 0.831122 0.898258 +vt 0.831122 0.853076 +vt 0.844195 0.875667 +vt 0.835439 0.935015 +vt 0.835439 0.912417 +vt 0.841978 0.923716 +vt 0.682135 0.895833 +vt 0.816705 0.881944 +vt 0.816705 0.895833 +vt 0.682135 0.881944 +vt 0.816705 0.868056 +vt 0.682135 0.868056 +vt 0.816705 0.854167 +vt 0.682135 0.854167 +vt 0.816705 0.840278 +vt 0.682135 0.840278 +vt 0.816705 0.826389 +vt 0.682135 0.993056 +vt 0.816705 0.979167 +vt 0.816705 0.993056 +vt 0.682135 0.979167 +vt 0.816705 0.965278 +vt 0.682135 0.965278 +vt 0.816705 0.951389 +vt 0.682135 0.951389 +vt 0.816705 0.937500 +vt 0.682135 0.937500 +vt 0.816705 0.923611 +vt 0.682135 0.923611 +vt 0.816705 0.909722 +vt 0.823666 0.947917 +vt 0.823666 0.961806 +vt 0.823666 0.968750 +vt 0.823666 0.975694 +vt 0.823666 0.982639 +vt 0.823666 0.989583 +vt 0.823666 0.836806 +vt 0.823666 0.850694 +vt 0.823666 0.899306 +vt 0.823666 0.906250 +vt 0.823666 0.892361 +vt 0.823666 0.864583 +vt 0.823666 0.913194 +vt 0.823666 0.920139 +vt 0.823666 0.878472 +vt 0.823666 0.934028 +vt 0.830626 0.923611 +vt 0.825986 0.916667 +vt 0.830626 0.916667 +vt 0.830626 0.944444 +vt 0.825986 0.937500 +vt 0.830626 0.937500 +vt 0.830626 0.979167 +vt 0.825986 0.972222 +vt 0.830626 0.972222 +vt 0.825986 0.909722 +vt 0.830626 0.909722 +vt 0.825986 0.930556 +vt 0.830626 0.930556 +vt 0.825986 0.965278 +vt 0.830626 0.965278 +vt 0.830626 0.958333 +vt 0.825986 0.951389 +vt 0.830626 0.951389 +vt 0.830626 0.993056 +vt 0.825986 0.986111 +vt 0.830626 0.986111 +vt 0.825986 0.923611 +vt 0.825986 0.958333 +vt 0.825986 0.944444 +vt 0.825986 0.979167 +vt 0.682135 0.777778 +vt 0.700696 0.798611 +vt 0.703016 0.777778 +vt 0.726218 0.798611 +vt 0.735499 0.770833 +vt 0.721578 0.770833 +vt 0.843027 0.888710 +vt 0.839837 0.898258 +vt 0.835479 0.901753 +vt 0.827932 0.888710 +vt 0.826764 0.875667 +vt 0.827932 0.862624 +vt 0.835479 0.849581 +vt 0.839837 0.853076 +vt 0.843027 0.862624 +vt 0.841394 0.930240 +vt 0.839798 0.935015 +vt 0.837619 0.936763 +vt 0.833844 0.930240 +vt 0.833260 0.923716 +vt 0.833844 0.917193 +vt 0.837619 0.910670 +vt 0.839798 0.912417 +vt 0.841394 0.917193 +vt 0.682135 0.826389 +vt 0.682135 0.909722 +vt 0.823666 0.940972 +vt 0.823666 0.954861 +vt 0.823666 0.829861 +vt 0.823666 0.843750 +vt 0.823666 0.885417 +vt 0.823666 0.857639 +vt 0.823666 0.871528 +vt 0.823666 0.927083 +vt 0.825986 0.993056 +vn -0.9239 -0.3827 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.0000 0.0000 1.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 -0.7071 -0.0000 +vn -0.7071 0.7071 -0.0000 +vn -0.3536 0.8536 0.3827 +vn -0.3536 0.8536 -0.3827 +vn -0.1464 0.3536 -0.9239 +vn 0.1464 -0.3536 -0.9239 +vn -0.1464 0.3536 0.9239 +vn 0.1464 -0.3536 0.9239 +vn -0.3827 0.9239 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn 0.3827 -0.9239 -0.0000 +vn 0.0138 -0.9259 -0.3776 +vn 0.4601 -0.2181 -0.8607 +vn 0.6449 -0.6644 -0.3776 +vn -0.8089 -0.3351 0.4831 +vn -0.8089 -0.3351 -0.4831 +vn -0.6241 -0.7814 0.0000 +vn -0.0138 0.9259 -0.3776 +vn -0.4601 0.2181 -0.8607 +vn -0.6449 0.6644 -0.3776 +vn -0.0138 0.9259 0.3776 +vn -0.4601 0.2181 0.8607 +vn 0.1711 0.4796 0.8607 +vn 0.6449 -0.6644 0.3776 +vn 0.9503 -0.3114 -0.0000 +vn 0.1711 0.4796 -0.8607 +vn 0.7010 0.2904 -0.6513 +vn 0.4601 -0.2181 0.8607 +vn 0.7010 0.2904 0.6513 +vn 0.4518 0.8921 -0.0000 +vn 0.0138 -0.9259 0.3776 +vn -0.1711 -0.4796 -0.8607 +vn -0.1711 -0.4796 0.8607 +vn -0.9938 0.1112 0.0000 +vn -0.6449 0.6644 0.3776 +vn 0.3536 -0.8536 0.3827 +vn 0.3536 -0.8536 -0.3827 +vn -0.5000 0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.0000 -1.0000 0.0000 +vn 0.5000 -0.8660 -0.0000 +vn 0.8660 -0.5000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn 0.8660 0.5000 -0.0000 +vn 0.5000 0.8660 -0.0000 +vn 0.0000 1.0000 -0.0000 +vn 0.6712 0.3875 0.6319 +vn 0.7750 -0.0000 0.6319 +vn 0.6712 -0.3875 0.6319 +vn 0.3875 -0.6712 0.6319 +vn -0.0000 -0.7750 0.6319 +vn -0.3875 -0.6712 0.6319 +vn -0.6712 -0.3875 0.6319 +vn -0.0000 0.7750 0.6319 +vn -0.3875 0.6712 0.6319 +vn -0.6712 0.3875 0.6319 +vn -0.7750 -0.0000 0.6319 +vn 0.3875 0.6712 0.6319 +s off +f 1/1/1 2/2/1 3/3/1 +f 4/4/2 5/5/2 6/6/2 +f 5/5/3 7/7/3 8/8/3 +f 7/9/4 9/10/4 8/11/4 +f 8/12/5 6/6/5 5/5/5 +f 10/13/6 11/14/6 7/9/6 +f 3/3/1 12/15/1 1/1/1 +f 12/15/1 13/16/1 1/1/1 +f 13/16/1 14/17/1 1/1/1 +f 1/1/1 15/18/1 2/2/1 +f 2/2/1 16/19/1 3/3/1 +f 4/4/2 10/13/2 5/5/2 +f 5/5/3 10/13/3 7/7/3 +f 7/9/4 11/14/4 9/10/4 +f 8/12/5 9/20/5 6/6/5 +f 10/13/6 4/4/6 11/14/6 +s 1 +f 17/21/7 15/22/8 1/23/7 +f 2/24/9 18/25/10 16/26/10 +f 19/27/11 13/28/12 20/29/12 +f 21/30/13 22/31/3 23/32/3 +f 24/33/14 25/34/15 26/35/15 +f 23/32/3 26/36/15 25/37/15 +f 21/30/13 24/33/14 27/38/13 +f 28/39/16 29/40/17 30/41/18 +f 31/42/19 32/43/20 33/44/21 +f 34/45/22 35/46/23 36/47/24 +f 37/48/25 38/49/26 39/50/27 +f 40/51/28 30/52/18 26/53/29 +f 29/54/17 41/55/30 24/56/31 +f 42/57/32 22/58/33 39/59/27 +f 34/45/22 37/60/25 27/61/34 +f 43/62/35 33/44/21 28/39/16 +f 35/46/23 44/63/36 32/43/20 +f 45/64/37 38/49/26 31/42/19 +f 36/47/24 46/65/38 47/66/39 +f 40/51/28 22/58/33 42/57/32 +f 30/41/18 24/67/31 26/68/29 +f 34/45/22 24/56/31 41/55/30 +f 37/48/25 22/69/33 27/70/34 +f 45/64/37 39/71/27 38/72/26 +f 36/47/24 37/73/25 34/45/22 +f 31/42/19 47/66/39 46/65/38 +f 45/64/37 33/44/21 43/62/35 +f 36/47/24 32/43/20 46/65/38 +f 44/63/36 33/44/21 32/43/20 +f 43/62/35 30/74/18 40/51/28 +f 41/55/30 44/75/36 35/46/23 +f 42/57/32 43/62/35 40/51/28 +f 48/76/40 13/28/12 12/77/40 +f 1/23/7 19/27/11 17/21/7 +f 3/78/41 18/25/10 49/79/41 +f 15/22/8 50/80/9 2/24/9 +f 12/81/40 49/79/41 48/82/40 +f 51/83/14 52/84/14 53/85/14 +f 54/86/3 55/87/3 56/88/3 +f 57/89/42 58/90/43 59/91/42 +f 60/92/43 61/93/44 58/90/43 +f 53/94/44 62/95/45 61/93/44 +f 63/96/45 64/97/46 62/95/45 +f 65/98/46 66/99/47 64/97/46 +f 67/100/47 68/101/48 66/102/47 +f 52/103/48 69/104/49 68/101/48 +f 70/105/49 71/106/50 69/104/49 +f 72/107/50 73/108/51 71/106/50 +f 74/109/51 75/110/52 73/108/51 +f 51/111/52 76/112/53 75/110/52 +f 76/112/53 57/89/42 59/91/42 +f 73/108/54 77/113/55 71/106/55 +f 71/106/55 78/114/56 69/104/56 +f 68/101/57 78/115/56 79/116/57 +f 66/102/58 79/117/57 80/118/58 +f 66/99/58 81/119/59 64/97/59 +f 64/97/59 82/120/60 62/95/60 +f 76/112/61 83/121/62 84/122/61 +f 58/90/63 83/123/62 59/91/62 +f 62/95/60 85/124/64 61/93/64 +f 75/110/65 84/125/61 86/126/65 +f 61/93/64 87/127/63 58/90/63 +f 75/110/65 88/128/54 73/108/54 +f 78/129/49 55/130/48 79/131/48 +f 86/132/52 89/133/51 88/134/51 +f 82/135/45 54/136/44 85/137/44 +f 79/131/48 90/138/47 80/139/47 +f 88/134/51 91/140/50 77/141/50 +f 85/137/44 92/142/43 87/143/43 +f 83/144/42 93/145/53 84/146/53 +f 80/147/47 94/148/46 81/149/46 +f 77/141/50 95/150/49 78/129/49 +f 87/143/43 96/151/42 83/144/42 +f 84/146/53 56/152/52 86/132/52 +f 81/149/46 97/153/45 82/135/45 +f 17/21/7 98/154/8 15/22/8 +f 2/24/9 50/80/9 18/25/10 +f 19/27/11 14/155/11 13/28/12 +f 21/30/13 27/38/13 22/31/3 +f 24/33/14 99/156/14 25/34/15 +f 23/32/3 22/31/3 26/36/15 +f 21/30/13 99/156/14 24/33/14 +f 28/39/16 44/63/36 29/40/17 +f 31/42/19 46/65/38 32/43/20 +f 34/45/22 41/55/30 35/46/23 +f 37/48/25 47/66/39 38/49/26 +f 40/51/28 26/53/29 22/58/33 +f 30/41/18 29/40/17 24/67/31 +f 34/45/22 27/61/34 24/56/31 +f 37/48/25 39/50/27 22/69/33 +f 45/64/37 42/57/32 39/71/27 +f 36/47/24 47/157/39 37/73/25 +f 31/42/19 38/49/26 47/66/39 +f 45/64/37 31/42/19 33/44/21 +f 36/47/24 35/46/23 32/43/20 +f 44/63/36 28/39/16 33/44/21 +f 43/62/35 28/158/16 30/74/18 +f 41/55/30 29/159/17 44/75/36 +f 42/57/32 45/64/37 43/62/35 +f 48/76/40 20/29/12 13/28/12 +f 1/23/7 14/155/11 19/27/11 +f 3/78/41 16/26/10 18/25/10 +f 15/22/8 98/154/8 50/80/9 +f 12/81/40 3/78/41 49/79/41 +f 53/85/14 60/160/14 57/161/14 +f 57/161/14 100/162/14 51/83/14 +f 51/83/14 74/163/14 72/164/14 +f 72/164/14 70/165/14 51/83/14 +f 70/165/14 52/84/14 51/83/14 +f 52/84/14 67/166/14 65/167/14 +f 65/167/14 63/168/14 53/85/14 +f 53/85/14 57/161/14 51/83/14 +f 52/84/14 65/167/14 53/85/14 +f 56/88/3 93/169/3 96/170/3 +f 96/170/3 92/171/3 54/86/3 +f 54/86/3 97/172/3 94/173/3 +f 94/173/3 90/174/3 55/87/3 +f 55/87/3 95/175/3 91/176/3 +f 91/176/3 89/177/3 55/87/3 +f 89/177/3 56/88/3 55/87/3 +f 56/88/3 96/170/3 54/86/3 +f 54/86/3 94/173/3 55/87/3 +f 57/89/42 60/92/43 58/90/43 +f 60/92/43 53/94/44 61/93/44 +f 53/94/44 63/96/45 62/95/45 +f 63/96/45 65/98/46 64/97/46 +f 65/98/46 67/178/47 66/99/47 +f 67/100/47 52/103/48 68/101/48 +f 52/103/48 70/105/49 69/104/49 +f 70/105/49 72/107/50 71/106/50 +f 72/107/50 74/109/51 73/108/51 +f 74/109/51 51/111/52 75/110/52 +f 51/111/52 100/179/53 76/112/53 +f 76/112/53 100/179/53 57/89/42 +f 73/108/54 88/180/54 77/113/55 +f 71/106/55 77/181/55 78/114/56 +f 68/101/57 69/104/56 78/115/56 +f 66/102/58 68/101/57 79/117/57 +f 66/99/58 80/182/58 81/119/59 +f 64/97/59 81/183/59 82/120/60 +f 76/112/61 59/91/62 83/121/62 +f 58/90/63 87/184/63 83/123/62 +f 62/95/60 82/185/60 85/124/64 +f 75/110/65 76/112/61 84/125/61 +f 61/93/64 85/186/64 87/127/63 +f 75/110/65 86/187/65 88/128/54 +f 78/129/49 95/150/49 55/130/48 +f 86/132/52 56/152/52 89/133/51 +f 82/135/45 97/153/45 54/136/44 +f 79/131/48 55/130/48 90/138/47 +f 88/134/51 89/133/51 91/140/50 +f 85/137/44 54/136/44 92/142/43 +f 83/144/42 96/151/42 93/145/53 +f 80/147/47 90/188/47 94/148/46 +f 77/141/50 91/140/50 95/150/49 +f 87/143/43 92/142/43 96/151/42 +f 84/146/53 93/145/53 56/152/52 +f 81/149/46 94/148/46 97/153/45 +o Gun +v -0.115482 1.092648 -0.625000 +v -0.163318 1.208133 -0.625000 +v 0.163322 1.208133 -0.625000 +v 0.341508 0.966506 -0.500000 +v 0.125002 0.158494 -0.500000 +v -0.466504 0.750000 -0.500000 +v 0.341509 0.283494 0.500000 +v 0.466509 0.750000 0.500000 +v -0.341503 0.966506 0.500000 +v -0.312500 0.125000 -7.293341 +v -0.312500 0.206660 -7.375000 +v -0.312500 0.125000 -7.456659 +v 0.312500 0.125000 -7.456659 +v 0.312500 0.206660 -7.375000 +v 0.312500 0.125000 -7.293341 +v -0.187499 -0.250000 -8.000000 +v -0.249999 0.000000 -8.000000 +v -0.249999 -0.250000 -8.000000 +v 0.312501 -0.250000 -8.000000 +v 0.250001 0.000000 -8.000000 +v 0.250001 -0.250000 -8.000000 +v 0.000001 -0.250000 -8.000000 +v -0.187499 0.000000 -8.000000 +v 0.187501 -0.250000 -8.000000 +v 0.000001 0.000000 -8.000000 +v 0.187501 0.000000 -8.000000 +v -0.312499 0.000000 -8.000000 +v -0.312499 -0.250000 -8.000000 +v -0.312499 0.250000 -8.000000 +v 0.312501 0.000000 -8.000000 +v 0.250001 0.250000 -8.000000 +v -0.249999 0.250000 -8.000000 +v -0.312499 0.375000 -8.000000 +v 0.312501 0.250000 -8.000000 +v 0.250001 0.375000 -8.000000 +v 0.187500 0.750000 -6.500000 +v 0.375000 0.500000 -6.500000 +v 0.187500 0.500000 -6.500000 +v 0.375002 0.875000 -1.500000 +v 0.187502 1.062500 -1.500000 +v 0.187502 0.875000 -1.500000 +v 0.000002 1.062500 -1.500000 +v -0.187498 1.062500 -3.250000 +v -0.187498 1.062500 -1.500000 +v 0.000002 0.875000 -1.500000 +v 0.000002 0.500000 -1.500000 +v 0.187502 0.500000 -1.500000 +v -0.374998 0.875000 -1.500000 +v -0.374998 0.500000 -3.250000 +v -0.374998 0.500000 -1.500000 +v -0.187498 0.875000 -1.500000 +v -0.187498 0.500000 -1.500000 +v 0.375002 0.875000 -3.250000 +v 0.375002 0.500000 -1.500000 +v 0.375002 0.500000 -3.250000 +v 0.375001 0.750000 -3.500000 +v 0.187501 0.937500 -3.500000 +v 0.187502 1.062500 -3.250000 +v 0.000002 1.062500 -3.250000 +v 0.375001 0.750000 -5.625000 +v 0.187500 0.937500 -6.500000 +v 0.187501 0.937500 -5.625000 +v 0.000001 0.500000 -3.500000 +v 0.000001 0.750000 -5.000000 +v 0.000001 0.500000 -5.000000 +v 0.000001 0.750000 -3.500000 +v -0.124999 0.750000 -5.000000 +v -0.187498 0.875000 -3.250000 +v -0.374998 0.875000 -3.250000 +v 0.187501 0.937500 -5.375000 +v 0.187501 1.062500 -5.000000 +v 0.187501 0.937500 -5.000000 +v 0.000002 0.875000 -3.250000 +v -0.187498 0.500000 -3.250000 +v 0.000001 0.937500 -3.500000 +v 0.000000 0.937500 -6.500000 +v -0.125000 0.750000 -6.500000 +v -0.187500 0.937500 -6.500000 +v 0.000002 0.500000 -3.250000 +v 0.000000 0.750000 -6.500000 +v 0.000000 0.500000 -6.500000 +v 0.375000 0.750000 -6.500000 +v 0.375001 0.500000 -5.625000 +v 0.375001 0.500000 -3.500000 +v 0.375001 0.750000 -5.000000 +v 0.187501 1.062500 -6.375000 +v 0.187501 1.062500 -5.625000 +v 0.000001 0.750000 -5.375000 +v 0.000001 0.500000 -5.375000 +v 0.000001 0.500000 -5.625000 +v 0.000001 0.750000 -5.625000 +v 0.375001 0.500000 -5.000000 +v 0.375001 0.750000 -5.375000 +v 0.375001 0.500000 -5.375000 +v -0.187499 1.062500 -3.625000 +v -0.187499 0.937500 -3.500000 +v -0.187499 0.937500 -5.375000 +v -0.187499 1.062500 -5.625000 +v -0.187499 0.937500 -5.625000 +v -0.124999 0.750000 -5.375000 +v 0.000001 1.062500 -3.625000 +v -0.124999 0.750000 -5.625000 +v -0.124999 0.750000 -3.500000 +v -0.187499 0.937500 -5.000000 +v -0.374999 0.750000 -5.375000 +v 0.000001 1.062500 -6.375000 +v -0.187499 1.062500 -5.375000 +v 0.187501 1.062500 -5.375000 +v -0.374999 0.750000 -5.625000 +v -0.187499 0.500000 -5.625000 +v -0.374999 0.500000 -5.625000 +v -0.374999 0.500000 -5.375000 +v -0.187499 0.500000 -5.375000 +v 0.000001 1.062500 -5.625000 +v 0.187501 1.062500 -3.625000 +v 0.000001 1.062500 -5.000000 +v 0.000001 1.062500 -5.375000 +v -0.187499 1.062500 -5.000000 +v -0.187499 1.062500 -6.375000 +v 0.000002 0.375000 -1.500000 +v 0.375002 0.375000 -1.500000 +v 0.375001 0.375000 -5.000000 +v -0.187499 0.500000 -5.000000 +v -0.374998 0.375000 -1.500000 +v 0.000000 0.375000 -6.500000 +v -0.187500 0.500000 -6.500000 +v 0.375001 0.375000 -5.375000 +v 0.187500 0.375000 -6.500000 +v 0.375001 0.375000 -3.500000 +v 0.375002 0.375000 -3.250000 +v 0.187502 0.375000 -1.500000 +v 0.375000 0.375000 -6.500000 +v 0.375001 0.375000 -5.625000 +v -0.187498 0.375000 -1.500000 +v -0.187499 0.500000 -3.500000 +v -0.187500 0.375000 -6.500000 +v -0.375000 0.500000 -6.500000 +v -0.374999 0.375000 -5.000000 +v -0.374999 0.500000 -5.000000 +v -0.374999 0.375000 -3.500000 +v -0.374999 0.500000 -3.500000 +v -0.374999 0.375000 -5.625000 +v -0.374999 0.375000 -5.375000 +v -0.374998 0.375000 -3.250000 +v -0.437503 0.250003 -2.000000 +v -0.437504 0.000004 -1.000000 +v -0.437504 0.250004 -1.000000 +v -0.437504 0.000004 -0.500000 +v -0.437504 0.250004 -0.500000 +v 0.312494 0.000003 -2.000000 +v 0.437496 0.000004 -1.000000 +v 0.312492 0.000004 -1.000000 +v 0.312492 0.000004 -0.500000 +v 0.437496 0.250004 -0.500000 +v 0.312492 0.250004 -0.500000 +v 0.437496 0.000004 -0.500000 +v 0.312498 0.000001 -5.000000 +v 0.437497 0.000002 -4.000000 +v 0.312496 0.000002 -4.000000 +v 0.312495 0.000002 -3.375000 +v 0.437498 0.000003 -3.000000 +v 0.312496 0.000003 -3.000000 +v 0.250000 0.250000 -7.000000 +v 0.249999 0.000001 -6.500000 +v 0.250000 0.000000 -7.000000 +v -0.250000 0.250000 -7.500000 +v -0.250000 0.000000 -7.000000 +v -0.250000 0.250000 -7.000000 +v -0.437501 0.250001 -6.312500 +v -0.437501 0.000001 -6.000000 +v -0.437501 0.250001 -6.000000 +v -0.437502 0.000001 -5.187500 +v -0.437502 0.250001 -5.000001 +v -0.437502 0.250001 -5.187501 +v -0.437502 0.000001 -5.000000 +v -0.437503 0.250002 -4.000001 +v -0.437503 0.250002 -3.375000 +v -0.437502 0.000003 -3.000000 +v -0.437502 0.250003 -3.000000 +v -0.437503 0.250003 -2.500000 +v -0.437503 0.000003 -2.000000 +v 0.312498 0.000001 -5.187500 +v 0.312498 -0.124999 -5.000000 +v 0.312498 -0.124999 -5.187500 +v -0.312501 0.000001 -6.500000 +v -0.312501 -0.124999 -6.312500 +v -0.312501 0.000001 -6.312500 +v 0.312499 0.000001 -6.500000 +v 0.249999 -0.124999 -6.500000 +v -0.312502 0.000001 -5.000000 +v -0.250002 -0.124999 -5.000000 +v -0.250002 0.000001 -5.000000 +v 0.249999 0.375001 -6.500000 +v 0.312498 0.250001 -6.500000 +v 0.249998 0.250001 -6.500000 +v -0.312500 0.375001 -6.312500 +v -0.437502 0.375001 -6.500000 +v -0.437501 0.375001 -6.312500 +v 0.437499 0.375001 -6.312500 +v 0.312499 0.375001 -6.500000 +v 0.312500 0.375001 -6.312500 +v -0.437504 0.375004 -1.000000 +v -0.312508 0.375004 -0.500000 +v -0.312507 0.375004 -1.000000 +v -0.437503 0.375003 -2.000000 +v -0.312505 0.375003 -2.687501 +v -0.437502 0.375003 -3.000000 +v -0.437503 0.375003 -2.687500 +v 0.437497 0.375003 -2.500000 +v 0.437497 0.250003 -2.000000 +v 0.437497 0.250003 -2.500000 +v 0.437497 0.375002 -3.375000 +v 0.437498 0.250003 -3.000000 +v 0.437497 0.250002 -3.375000 +v 0.437498 0.375002 -5.000000 +v 0.437497 0.250002 -4.000000 +v 0.437498 0.250001 -5.000000 +v 0.437498 0.375001 -5.187500 +v 0.437498 0.250001 -5.187500 +v 0.437499 0.250001 -6.000000 +v 0.437499 0.250001 -6.312500 +v 0.437496 0.375004 -1.000000 +v 0.437496 0.250004 -1.000000 +v -0.312504 0.375002 -4.000000 +v -0.437503 0.375002 -3.625001 +v -0.312505 0.375002 -3.625000 +v 0.437497 0.375003 -2.000000 +v -0.312502 0.375002 -5.000000 +v -0.437503 0.375002 -4.000001 +v -0.312501 0.375001 -6.000000 +v -0.437501 0.375001 -5.687501 +v -0.312501 0.375001 -5.687500 +v 0.437497 0.000003 -2.000000 +v 0.250000 0.250000 -7.500000 +v 0.250000 0.000000 -7.500000 +v 0.437499 0.000001 -6.000000 +v 0.437499 0.000001 -6.312500 +v 0.437498 0.000001 -5.000000 +v 0.437498 0.000001 -5.187500 +v 0.437497 0.000002 -3.375000 +v 0.437497 0.000003 -2.500000 +v -0.437503 0.375003 -2.500000 +v -0.437503 0.375002 -3.375001 +v -0.437502 0.375002 -5.000001 +v -0.437502 0.375001 -5.187501 +v -0.437501 0.375001 -6.000000 +v 0.312492 0.375004 -0.500000 +v 0.437496 0.375004 -0.500000 +v -0.437504 0.375004 -0.500000 +v -0.250001 -0.124999 -6.000000 +v -0.250001 -0.124999 -6.312500 +v -0.250001 -0.124999 -5.687500 +v -0.312501 -0.124999 -6.000000 +v -0.312502 0.250001 -6.500000 +v -0.312501 0.375001 -6.500000 +v 0.437498 0.250001 -6.500000 +v -0.312508 0.250004 -0.500000 +v 0.249992 0.375004 -0.500000 +v 0.437499 0.375001 -5.687500 +v 0.312499 0.375001 -6.000000 +v 0.312499 0.375001 -5.687500 +v 0.437497 0.375002 -4.000000 +v 0.312498 0.375002 -5.000000 +v 0.312496 0.375002 -4.000000 +v 0.437497 0.375002 -3.625000 +v 0.312495 0.375002 -3.625000 +v 0.437497 0.375003 -2.687500 +v 0.312496 0.375003 -3.000000 +v 0.312495 0.375003 -2.687500 +v 0.312494 0.375003 -2.000000 +v 0.312493 0.375004 -1.000000 +v -0.250006 0.375003 -2.000001 +v -0.250007 0.375004 -1.000000 +v -0.250008 0.375004 -0.500000 +v -0.437502 0.000001 -6.500000 +v -0.437501 0.000001 -6.312500 +v 0.312499 0.000001 -6.312500 +v 0.312499 -0.124999 -6.000000 +v 0.312499 -0.124999 -6.312500 +v -0.250001 0.000001 -6.500000 +v -0.250002 0.250001 -6.500000 +v -0.312505 0.000003 -2.687500 +v -0.437503 0.000003 -2.687500 +v -0.312501 0.000001 -6.000000 +v -0.312501 -0.124999 -5.687500 +v -0.312501 0.000001 -5.687500 +v 0.437497 0.000003 -2.687500 +v 0.249995 0.000003 -2.500000 +v 0.249994 0.000003 -2.000000 +v -0.437503 0.000002 -3.375000 +v -0.312504 0.000003 -3.000000 +v -0.312504 0.000002 -4.000000 +v -0.437503 0.000002 -4.000000 +v 0.249996 0.000002 -4.000000 +v 0.249998 0.000001 -5.000000 +v -0.312502 0.000001 -5.187500 +v -0.312508 0.000004 -0.500000 +v 0.249992 0.000004 -1.000000 +v 0.249992 0.000004 -0.500000 +v 0.249992 0.250004 -0.500000 +v -0.312508 0.000004 -1.000000 +v -0.187506 0.000003 -2.000000 +v -0.250008 0.000004 -1.000000 +v -0.250006 0.000003 -2.000000 +v -0.000008 0.000004 -1.000000 +v -0.187508 0.000004 -1.000000 +v -0.000006 0.000003 -2.000000 +v 0.187492 0.000004 -1.000000 +v -0.250008 0.000004 -0.500000 +v -0.187508 0.250004 -0.500000 +v -0.250008 0.250004 -0.500000 +v -0.187508 0.000004 -0.500000 +v -0.000008 0.250004 -0.500000 +v -0.000008 0.000004 -0.500000 +v 0.187492 0.250004 -0.500000 +v 0.187492 0.000004 -0.500000 +v -0.250000 0.000000 -7.500000 +v -0.250000 -0.125000 -7.000000 +v -0.187500 0.000000 -7.500000 +v -0.250000 -0.125000 -7.500000 +v -0.187502 0.000001 -5.000000 +v -0.250004 0.000002 -4.000000 +v -0.000004 0.000002 -4.000000 +v -0.187504 0.000002 -4.000000 +v -0.000002 0.000001 -5.000000 +v 0.187496 0.000002 -4.000000 +v 0.312496 -0.187497 -3.000000 +v 0.312495 -0.187498 -3.375000 +v -0.250005 0.000002 -3.625000 +v -0.312505 -0.187498 -3.625000 +v -0.312505 0.000002 -3.625000 +v -0.250005 0.000003 -2.500000 +v -0.187505 0.000003 -2.500000 +v -0.000005 0.000003 -2.500000 +v 0.187494 0.000003 -2.000000 +v -0.187502 0.250001 -6.500000 +v -0.187500 0.250000 -7.000000 +v -0.000002 0.250001 -6.500000 +v 0.000000 0.250000 -7.000000 +v 0.187498 0.250001 -6.500000 +v 0.187500 0.250000 -7.000000 +v 0.250000 -0.125000 -7.000000 +v -0.250001 -0.124999 -6.500000 +v 0.187493 0.375004 -1.000000 +v 0.249993 0.375004 -1.000000 +v -0.000007 0.375004 -1.000000 +v 0.187492 0.375004 -0.500000 +v -0.187507 0.375004 -1.000000 +v -0.000008 0.375004 -0.500000 +v 0.249994 0.375003 -2.000000 +v -0.000006 0.375003 -2.000000 +v -0.187500 0.250000 -7.500000 +v -0.249999 0.250000 -7.750000 +v 0.000000 0.250000 -7.500000 +v -0.187499 0.250000 -7.750000 +v -0.249999 0.375000 -7.750000 +v 0.000001 0.250000 -7.750000 +v -0.187499 0.375000 -7.750000 +v -0.187508 0.375004 -0.500000 +v 0.187500 -0.124999 -5.687500 +v 0.249999 -0.124999 -6.000000 +v 0.249999 -0.124999 -5.687500 +v 0.187499 -0.187499 -5.375000 +v 0.249998 -0.499999 -5.375000 +v 0.187499 -0.499999 -5.375000 +v 0.249998 -0.187499 -5.000000 +v 0.312498 -0.499999 -5.000000 +v 0.312498 -0.187499 -5.000000 +v 0.187500 -0.124999 -6.312500 +v 0.249999 -0.124999 -6.312500 +v -0.250000 -0.625000 -7.000000 +v -0.250001 -0.687499 -6.500000 +v -0.250001 -0.624999 -6.500000 +v -0.250001 0.375001 -6.500000 +v -0.187501 0.375001 -6.500000 +v -0.000001 0.375001 -6.500000 +v 0.187498 0.000001 -5.187500 +v 0.187498 0.000001 -5.000000 +v 0.249998 -0.499999 -5.187500 +v 0.249998 -0.499999 -5.000000 +v -0.187502 0.000001 -5.187500 +v -0.187501 -0.687499 -6.500000 +v -0.187501 -0.624999 -6.500000 +v 0.249998 0.000001 -5.187500 +v -0.312502 -0.562499 -5.187500 +v -0.312502 -0.874999 -5.374999 +v -0.312502 -0.874999 -5.187499 +v 0.437498 0.000001 -5.375000 +v 0.312498 0.000001 -5.625000 +v 0.437499 0.000001 -5.625000 +v -0.312502 0.000001 -5.375000 +v -0.437501 0.000001 -5.625000 +v -0.312501 0.000001 -5.625000 +v -0.312502 -0.124999 -5.187500 +v 0.312498 0.375001 -5.375000 +v 0.312498 0.375001 -5.187500 +v -0.250002 -0.562499 -5.000000 +v -0.250002 -0.874999 -5.187499 +v -0.250002 -0.562499 -5.187500 +v -0.437501 0.375001 -5.625001 +v -0.437502 0.250001 -5.375001 +v -0.437502 0.375001 -5.375001 +v 0.437499 0.250001 -5.625000 +v -0.312502 0.375001 -5.375000 +v -0.312502 0.375001 -5.187500 +v 0.437499 0.375001 -5.625000 +v 0.437498 0.250001 -5.375000 +v 0.312498 -0.124999 -5.375000 +v 0.312498 -0.124999 -5.625000 +v -0.437501 0.250001 -5.625001 +v -0.187501 -0.562499 -5.375000 +v -0.000002 -0.562499 -5.187500 +v -0.187502 -0.562499 -5.187500 +v 0.187499 -0.874999 -5.187500 +v 0.249998 -0.874999 -5.374999 +v 0.249998 -0.874999 -5.187499 +v -0.250002 -0.874999 -5.374999 +v -0.250002 -0.562499 -5.375000 +v -0.312502 -0.562499 -5.000000 +v -0.250002 -0.874999 -4.999999 +v 0.312498 -0.562499 -5.000000 +v 0.312498 -0.874999 -5.187499 +v 0.312498 -0.562499 -5.187500 +v 0.312498 -0.562499 -5.375000 +v 0.249998 -0.562499 -5.375000 +v 0.249998 -0.124999 -5.000000 +v 0.249998 -0.187499 -5.187500 +v -0.312502 -0.562499 -5.375000 +v -0.187501 -0.874999 -5.187500 +v -0.187500 -0.874999 -5.375000 +v -0.312501 -0.124999 -6.500000 +v -0.312505 0.000003 -2.500000 +v -0.312506 0.000003 -2.000000 +v 0.312495 0.000002 -3.625000 +v 0.249995 -0.187498 -3.625000 +v 0.249995 0.000002 -3.625000 +v 0.000000 0.000000 -7.500000 +v -0.187500 -0.125000 -7.500000 +v -0.187506 0.375003 -2.000001 +v -0.187501 -0.124999 -5.687500 +v -0.187500 -0.124999 -6.000000 +v -0.187500 -0.124999 -6.312500 +v 0.187499 -0.562499 -5.375000 +v 0.187500 -0.874999 -5.375000 +v 0.249998 -0.562499 -5.000000 +v 0.312498 -0.874999 -4.999999 +v 0.312498 -0.874999 -5.374999 +v 0.312499 -0.124999 -5.687500 +v 0.187500 0.250000 -7.500000 +v 0.187500 -0.125000 -7.500000 +v 0.187500 0.000000 -7.500000 +v 0.187495 0.000003 -2.500000 +v 0.187501 0.250000 -7.750000 +v 0.187501 0.000000 -8.000000 +v 0.250001 0.000000 -7.750000 +v 0.187501 0.000000 -7.750000 +v 0.187499 0.375001 -6.500000 +v 0.000001 0.000000 -7.750000 +v -0.187499 0.000000 -7.750000 +v -0.249999 0.000000 -7.750000 +v 0.250001 0.250000 -7.750000 +v 0.250000 -0.125000 -7.500000 +v 0.000000 -0.125000 -7.500000 +v 0.250000 -0.625000 -7.000000 +v 0.249999 -0.687499 -6.500000 +v 0.250000 -0.687500 -7.000000 +v 0.187499 -0.624999 -6.500000 +v 0.249999 -0.624999 -6.500000 +v 0.249999 -0.124999 -5.625000 +v -0.187502 -0.124999 -5.375000 +v -0.250001 -0.124999 -5.625000 +v -0.187500 -0.124999 -5.625000 +v -0.437501 0.000001 -5.687500 +v -0.437501 0.250001 -5.687501 +v 0.312499 0.000001 -5.687500 +v 0.437499 0.250001 -5.687500 +v 0.437499 0.000001 -5.687500 +v 0.249998 -0.124999 -5.375000 +v 0.187500 -0.124999 -5.625000 +v -0.312502 -0.124999 -5.375000 +v 0.437498 0.375001 -5.375000 +v 0.312499 0.375001 -5.625000 +v -0.250002 -0.124999 -5.375000 +v -0.312501 -0.124999 -5.625000 +v -0.312501 0.375001 -5.625000 +v -0.250002 -0.187499 -5.375000 +v -0.312502 -0.499999 -5.375000 +v -0.312502 -0.187499 -5.375000 +v -0.250002 -0.499999 -5.000000 +v -0.250002 -0.187499 -5.187500 +v -0.250002 -0.187499 -5.000000 +v 0.312498 -0.187499 -5.375000 +v 0.249998 -0.187499 -5.375000 +v 0.312498 -0.499999 -5.187500 +v 0.312498 -0.187499 -5.187500 +v 0.249998 -0.124999 -5.187500 +v -0.312502 -0.187499 -5.000000 +v -0.187501 -0.187499 -5.375000 +v -0.250002 -0.499999 -5.375000 +v -0.312502 -0.499999 -5.187500 +v -0.312502 -0.187499 -5.187500 +v -0.000001 -0.562499 -5.375000 +v -0.000001 -0.499999 -5.375000 +v 0.250000 -0.187500 -7.000000 +v 0.250000 -0.375000 -7.187466 +v 0.250000 -0.187500 -7.428173 +v -0.250000 -0.375000 -7.000000 +v -0.250000 -0.625000 -7.124958 +v -0.250000 -0.187500 -7.000000 +v -0.250000 -0.375000 -7.187466 +v -0.187500 -0.187500 -7.500000 +v 0.187499 -0.124999 -6.500000 +v 0.249999 -0.187499 -6.500000 +v 0.187499 -0.374999 -6.500000 +v 0.249999 -0.374999 -6.500000 +v 0.250000 -0.375000 -7.000000 +v -0.250000 -0.187500 -7.428173 +v -0.187501 -0.187499 -6.500000 +v -0.187501 -0.124999 -6.500000 +v -0.250001 -0.374999 -6.500000 +v -0.187501 -0.374999 -6.500000 +v 0.000000 -0.187500 -7.500000 +v -0.250001 -0.187499 -6.500000 +v 0.312499 -0.124999 -6.500000 +v 0.312499 0.000001 -6.000000 +v 0.437498 0.000001 -6.500000 +v 0.437498 0.375001 -6.500000 +v 0.437499 0.375001 -6.000000 +v -0.437502 0.250001 -6.500000 +v 0.187499 -0.687499 -6.500000 +v -0.000000 -0.687499 -6.312500 +v -0.000001 -0.687499 -6.500000 +v -0.187500 -0.374999 -6.312500 +v -0.187500 -0.624999 -6.312500 +v 0.187500 -0.187499 -6.312500 +v 0.187499 -0.187499 -6.500000 +v 0.187500 -0.687499 -6.312500 +v -0.187500 -0.687499 -6.312500 +v 0.187500 -0.374999 -6.312500 +v -0.187500 -0.187499 -6.312500 +v 0.187500 -0.187499 -6.000000 +v -0.000000 -0.687499 -6.000000 +v 0.187500 -0.624999 -6.312500 +v 0.187500 -0.687499 -6.000000 +v -0.187500 -0.687499 -6.000000 +v -0.187500 -0.624999 -6.000000 +v 0.187500 -0.124999 -6.000000 +v 0.187500 -0.187499 -5.687500 +v 0.187500 -0.624999 -5.691199 +v 0.187500 -0.687499 -5.687500 +v -0.187500 -0.187499 -5.687500 +v -0.187500 -0.624999 -5.687500 +v 0.187500 -0.624999 -5.625000 +v 0.187500 -0.187499 -5.625000 +v -0.187500 -0.187499 -5.625000 +v -0.187500 -0.499999 -5.687500 +v -0.187500 -0.499999 -5.625000 +v 0.187500 -0.499999 -5.687500 +v 0.187500 -0.499999 -5.625000 +v -0.187500 -0.624999 -5.625000 +v -0.250002 0.000001 -5.187500 +v -0.250002 -0.124999 -5.187500 +v -0.312502 -0.124999 -5.000000 +v 0.249998 -0.562499 -5.187500 +v -0.000002 0.000001 -5.187500 +v 0.187498 -0.124999 -5.375000 +v -0.187501 -0.499999 -5.375000 +v -0.187500 -0.687499 -5.687500 +v 0.187500 -0.624999 -6.000000 +v -0.187500 -0.187499 -6.000000 +v 0.187499 -0.812499 -6.500000 +v -0.187501 -0.812499 -6.500000 +v 0.250000 -0.625000 -7.124958 +v 0.250000 -0.687500 -7.124958 +v -0.250000 -0.687500 -7.124958 +v -0.250000 -0.750000 -7.000000 +v -0.250000 -0.687500 -7.000000 +v 0.250000 -0.750000 -7.000000 +v 0.249999 -0.999999 -6.812462 +v 0.250000 -1.000000 -7.187500 +v -0.250001 -0.999999 -6.812464 +v -0.250000 -1.000000 -7.187500 +v -0.250001 -0.749999 -6.500000 +v -0.250000 -1.250000 -7.375000 +v -0.250000 -1.000000 -7.249994 +v -0.250000 -1.250000 -7.557529 +v -0.250000 -0.750000 -7.124958 +v 0.250000 -0.750000 -7.124958 +v 0.250000 -1.000000 -7.249994 +v 0.249999 -0.749999 -6.500000 +v 0.250000 -1.537015 -7.749912 +v 0.250000 -1.500000 -7.562500 +v 0.250000 -1.749999 -7.562450 +v 0.250000 -1.250000 -7.557529 +v 0.250000 -1.500000 -7.750004 +v 0.250000 -1.250000 -7.375000 +v -0.250000 -1.500000 -7.562500 +v -0.250000 -1.537015 -7.749912 +v -0.250000 -1.749999 -7.562450 +v -0.250000 -1.500000 -7.750004 +v 0.187500 -0.187500 -7.500000 +v 0.249999 -0.804100 -6.567194 +v -0.250000 -1.875000 -7.132376 +v -0.250000 -1.890714 -7.265713 +v -0.250000 -1.926450 -7.158102 +v 0.249999 -1.749981 -7.187485 +v 0.250000 -1.890714 -7.265713 +v -0.312502 -0.499999 -5.000000 +v 0.312498 -0.499999 -5.375000 +v -0.312502 -0.874999 -4.999999 +v 0.312498 0.000001 -5.375000 +v -0.437502 0.000001 -5.375000 +v 0.187498 -0.124999 -5.187500 +v -0.000002 -0.124999 -5.187500 +v 0.187498 -0.562499 -5.187500 +v -0.187502 -0.124999 -5.187500 +v -0.187502 -0.499999 -5.187500 +v -0.187502 -0.187499 -5.187500 +v 0.187498 -0.187499 -5.187500 +v -0.000002 -0.187499 -5.187500 +v 0.187498 -0.499999 -5.187500 +v -0.000002 -0.499999 -5.187500 +v 0.249998 -0.874999 -4.999999 +v -0.250002 -0.499999 -5.187500 +v 0.187495 0.000002 -3.625000 +v -0.000005 0.000002 -3.625000 +v -0.187505 0.000002 -3.625000 +v -0.437503 0.000002 -3.625000 +v 0.312495 0.375002 -3.375000 +v 0.437497 0.000002 -3.625000 +v -0.312505 0.375002 -3.375000 +v 0.437497 0.250002 -3.625000 +v -0.437503 0.250002 -3.625000 +v 0.249995 0.000003 -2.687500 +v 0.249995 -0.124997 -2.687500 +v -0.312505 -0.187498 -3.375000 +v -0.312505 0.000002 -3.375000 +v 0.312495 0.000003 -2.500000 +v -0.437503 0.000003 -2.500000 +v 0.312495 0.375003 -2.500000 +v 0.437497 0.250003 -2.687500 +v -0.312506 0.375003 -2.000001 +v -0.437503 0.250003 -2.687500 +v 0.249995 -0.624998 -3.375000 +v 0.249995 -0.187498 -3.375000 +v -0.312504 -0.624997 -3.000000 +v -0.312504 -0.187497 -3.000000 +v -0.250005 -0.187498 -3.625000 +v -0.250005 -0.624998 -3.375000 +v -0.250005 -0.624998 -3.625000 +v -0.250004 -0.624997 -3.000000 +v -0.250004 -0.187497 -3.000000 +v -0.312505 -0.624998 -3.625000 +v -0.187505 -0.187498 -3.375000 +v -0.250005 -0.187498 -3.375000 +v 0.187495 -0.124997 -2.687500 +v -0.000005 -0.124997 -2.687500 +v -0.187505 -0.124997 -2.687500 +v -0.250005 -0.124997 -2.687500 +v 0.249996 0.000003 -3.000000 +v -0.250004 0.000003 -3.000000 +v -0.250005 0.000003 -2.687500 +v -0.187504 -0.187497 -3.000000 +v -0.000004 -0.187497 -3.000000 +v 0.187496 -0.187497 -3.000000 +v 0.437498 0.375003 -3.000000 +v 0.312495 0.000003 -2.687500 +v 0.249996 -0.187497 -3.000000 +v -0.312505 0.375003 -2.500001 +v -0.000004 -0.187498 -3.375000 +v -0.187505 -0.624998 -3.375000 +v -0.250005 0.000002 -3.375000 +v -0.187505 0.000002 -3.375000 +v -0.000004 -0.624997 -3.000000 +v -0.312504 0.375003 -3.000000 +v 0.312495 -0.187498 -3.625000 +v 0.312496 -0.624997 -3.000000 +v 0.249996 -0.624997 -3.000000 +v -0.187504 -0.624997 -3.000000 +v -0.000004 -0.624998 -3.375000 +v 0.187496 -0.624997 -3.000000 +v -0.312505 -0.624998 -3.375000 +v 0.187495 -0.624998 -3.375000 +v 0.249995 -0.624998 -3.625000 +v 0.312495 -0.624998 -3.375000 +v 0.187495 -0.187498 -3.375000 +v 0.312495 -0.624998 -3.625000 +v 0.249995 0.000002 -3.375000 +v 0.187495 0.000002 -3.375000 +v -0.000004 0.000002 -3.375000 +v 0.000001 0.000000 -8.000000 +v -0.187499 0.000000 -8.000000 +v -0.249999 0.000000 -8.000000 +v 0.250001 0.250000 -8.000000 +v 0.250001 0.000000 -8.000000 +v -0.249999 0.250000 -8.000000 +v -0.249999 0.500000 -7.750000 +v 0.000002 0.499999 -9.000000 +v -0.187499 0.499998 -11.000000 +v -0.187498 0.499999 -9.000000 +v 0.000001 0.375000 -7.750000 +v 0.187501 0.375000 -7.750000 +v 0.000001 0.500000 -7.750000 +v -0.187499 0.500000 -8.000000 +v -0.187499 0.500000 -7.750000 +v 0.187501 0.500000 -7.750000 +v 0.000001 0.500000 -8.000000 +v -0.249999 0.750000 -7.750000 +v 0.250001 0.375000 -7.750000 +v 0.187502 0.499999 -9.000000 +v 0.000001 0.499998 -11.000000 +v 0.187501 0.750000 -7.750000 +v 0.125004 0.937500 -7.750000 +v 0.098594 0.875000 -7.750000 +v 0.250001 0.500000 -7.750000 +v -0.249999 0.750000 -8.000000 +v -0.187499 0.750000 -7.750000 +v -0.187499 0.750000 -8.000000 +v -0.098586 0.875000 -7.750000 +v -0.124996 0.937499 -8.000000 +v -0.098587 0.874999 -8.000000 +v -0.124996 0.937500 -7.750000 +v -0.249998 0.749999 -9.000000 +v 0.187501 0.500000 -8.000000 +v -0.098588 0.874999 -9.000000 +v -0.187498 0.749999 -9.000000 +v -0.124998 0.937499 -9.000000 +v -0.000000 -0.499999 -5.625000 +v -0.000000 -0.624999 -5.625000 +v -0.000000 -0.687499 -5.687500 +v -0.250001 -1.249999 -7.000000 +v 0.249999 -1.249999 -7.000000 +v -0.250001 -0.804100 -6.567196 +v -0.250001 -1.499999 -7.187477 +v 0.249999 -1.499999 -7.187477 +v 0.250000 -1.875000 -7.132376 +v 0.250000 -1.926450 -7.158102 +v -0.250001 -1.749981 -7.187485 +v -0.250000 0.750000 -6.500000 +v -0.249999 0.500000 -6.000000 +v -0.250000 0.500000 -6.500000 +v -0.249999 0.750000 -6.000000 +v -0.374999 0.500000 -6.000000 +v -0.374999 0.750000 -6.000000 +v -0.375000 0.500000 -6.500000 +v -0.375000 0.750000 -6.500000 +v -0.375899 0.625000 -5.999100 +v -0.438399 0.500000 -5.999100 +v -0.375899 0.500000 -5.999100 +v -0.438399 0.625000 -5.999100 +v -0.438399 0.500000 -6.124100 +v -0.375899 0.500000 -6.124100 +v -0.438399 0.625000 -6.124100 +v -0.438399 0.625000 -6.186600 +v -0.375899 0.500000 -6.186600 +v -0.438399 0.500000 -6.186600 +v -0.375899 0.625000 -6.124100 +v -0.500899 0.625000 -6.124100 +v -0.500899 0.500000 -6.186600 +v -0.500899 0.500000 -6.124100 +v -0.500899 0.625000 -6.186600 +v -0.115482 1.323617 -0.625000 +v 0.000002 1.371453 -0.625000 +v 0.115487 1.323617 -0.625000 +v 0.115487 1.092648 -0.625000 +v 0.000002 1.044812 -0.625000 +v -0.341504 0.966506 -0.500000 +v -0.124998 1.272706 -0.500000 +v 0.125002 1.272706 -0.500000 +v 0.466508 0.750000 -0.500000 +v 0.466508 0.500000 -0.500000 +v 0.341508 0.283494 -0.500000 +v -0.124998 0.158494 -0.500000 +v -0.341504 0.283494 -0.500000 +v -0.466504 0.500000 -0.500000 +v 0.125003 1.272706 0.500000 +v -0.124997 1.272706 0.500000 +v -0.466503 0.750000 0.500000 +v -0.466503 0.500000 0.500000 +v -0.341503 0.283494 0.500000 +v -0.124997 0.158494 0.500000 +v 0.125003 0.158494 0.500000 +v 0.466509 0.500000 0.500000 +v 0.341509 0.966506 0.500000 +v -0.312500 0.043340 -7.375000 +v -0.312500 0.067258 -7.317257 +v -0.312500 0.182743 -7.317257 +v -0.312500 0.182743 -7.432743 +v -0.312500 0.067258 -7.432743 +v 0.312500 0.067258 -7.317257 +v 0.312500 0.043340 -7.375000 +v 0.312500 0.067258 -7.432743 +v 0.312500 0.182743 -7.432743 +v 0.312500 0.182743 -7.317257 +v -0.249999 0.375000 -8.000000 +v 0.312501 0.375000 -8.000000 +v -0.375000 0.375000 -6.500000 +v 0.187494 0.375003 -2.000000 +v -0.000001 -0.812499 -6.500000 +v 0.187501 0.499998 -11.000000 +v 0.250001 0.750000 -7.750000 +v -0.375899 0.625000 -6.186600 +v -0.115481 1.323617 0.625000 +v 0.000003 1.371453 0.625000 +v -0.163317 1.208133 0.625000 +v -0.115481 1.092648 0.625000 +v 0.000003 1.044812 0.625000 +v 0.115488 1.092648 0.625000 +v 0.163323 1.208133 0.625000 +v 0.115488 1.323617 0.625000 +v -0.250000 0.067258 -7.317257 +v -0.250000 0.125000 -7.293341 +v -0.250000 0.043340 -7.375000 +v -0.250000 0.067258 -7.432743 +v -0.250000 0.125000 -7.456659 +v -0.250000 0.182743 -7.432743 +v -0.250000 0.206660 -7.375000 +v -0.250000 0.182743 -7.317257 +v 0.250000 0.067258 -7.317257 +v 0.250000 0.125000 -7.293341 +v 0.250000 0.043340 -7.375000 +v 0.250000 0.067258 -7.432743 +v 0.250000 0.125000 -7.456659 +v 0.250000 0.182743 -7.432743 +v 0.250000 0.206660 -7.375000 +v 0.250000 0.182743 -7.317257 +v -0.312501 0.375000 -11.000000 +v -0.312499 0.250000 -11.625000 +v -0.312501 0.250000 -11.000000 +v -0.312501 0.250000 -9.000000 +v -0.312499 0.375000 -9.000000 +v -0.312501 0.250000 -10.000000 +v -0.312501 0.375000 -10.500000 +v -0.312501 0.250000 -10.500000 +v -0.312500 0.375000 -10.000000 +v -0.312501 -0.250000 -11.000000 +v -0.312500 -0.625000 -11.625000 +v -0.312501 -0.625000 -11.000000 +v -0.312501 -0.250000 -10.500000 +v -0.312501 -0.625000 -10.500000 +v -0.312501 -0.000000 -10.000000 +v -0.312501 -0.250000 -10.000000 +v -0.312501 -0.000000 -10.500000 +v -0.312501 -0.000000 -9.000000 +v -0.312500 -0.250000 -9.000000 +v -0.312501 -0.000000 -11.000000 +v -0.312500 -0.250000 -11.625000 +v -0.249999 1.000000 -11.000000 +v -0.312500 0.625000 -11.625000 +v -0.312500 0.625000 -11.000000 +v -0.249999 -0.625000 -11.937500 +v -0.312499 -0.250000 -11.937500 +v -0.249999 -0.250000 -11.937500 +v 0.250001 0.375000 -9.000000 +v 0.312499 0.375000 -10.000000 +v 0.250000 0.375000 -10.000000 +v 0.250000 0.625000 -10.500000 +v 0.250001 1.000000 -11.000000 +v 0.187501 1.000000 -11.000000 +v 0.250001 0.625000 -11.937500 +v 0.250001 0.937500 -12.000000 +v 0.312501 0.625000 -11.937500 +v 0.250001 0.375000 -11.937500 +v 0.312501 0.250000 -11.937500 +v 0.250001 0.250000 -11.937500 +v -0.187499 1.000000 -11.625000 +v -0.187499 1.000000 -11.000000 +v -0.312499 -0.375000 -9.000000 +v -0.249999 -0.375000 -9.000000 +v -0.250000 0.375000 -10.000000 +v -0.249999 0.375000 -9.000000 +v -0.250000 0.625000 -10.500000 +v -0.312500 0.625000 -10.500000 +v 0.312501 0.375000 -9.000000 +v -0.187500 -1.000000 -11.625000 +v -0.125000 -1.000000 -11.000000 +v -0.187500 -1.000000 -11.000000 +v -0.125000 -1.000000 -11.625000 +v 0.000000 -1.000000 -11.000000 +v -0.000000 -1.000000 -11.625000 +v 0.125000 -1.000000 -11.000000 +v -0.124999 1.000000 -11.000000 +v 0.000001 1.000000 -11.000000 +v -0.124999 1.000000 -11.625000 +v 0.125001 1.000000 -11.000000 +v 0.000001 1.000000 -11.625000 +v -0.124999 -0.937500 -12.000000 +v 0.000001 -0.937500 -12.000000 +v 0.312500 0.625000 -10.500000 +v -0.125000 -1.000000 -10.500000 +v -0.187500 -1.000000 -10.500000 +v 0.000000 -1.000000 -10.500000 +v 0.125000 -1.000000 -10.500000 +v -0.187499 -0.937500 -12.000000 +v 0.187501 -0.937500 -12.000000 +v 0.250000 -1.000000 -11.625000 +v 0.187501 -1.000000 -11.625000 +v -0.312500 -0.500000 -10.000000 +v -0.250000 -0.500000 -10.000000 +v 0.187501 0.937500 -12.000000 +v 0.250001 1.000000 -11.625000 +v -0.250000 -1.000000 -11.000000 +v 0.250000 -0.625000 -10.375000 +v 0.312500 -0.500000 -10.000000 +v 0.250000 -0.500000 -10.000000 +v 0.187501 1.000000 -11.625000 +v 0.125001 0.937500 -12.000000 +v 0.125001 1.000000 -11.625000 +v -0.250000 -0.625000 -10.375000 +v -0.250000 -1.000000 -10.500000 +v 0.125000 -1.000000 -11.625000 +v 0.187499 -1.000000 -11.000000 +v 0.000001 0.937500 -12.000000 +v 0.187500 -1.000000 -10.500000 +v 0.125001 -0.937500 -12.000000 +v 0.250001 -0.625000 -11.937500 +v 0.250001 -0.937500 -12.000000 +v -0.124999 0.937500 -12.000000 +v -0.187499 0.937500 -12.000000 +v -0.249999 0.937500 -12.000000 +v -0.249999 1.000000 -11.625000 +v -0.312499 -0.000000 -11.937500 +v -0.249999 -0.000000 -11.937500 +v 0.250001 -0.000000 -11.937500 +v 0.312501 -0.250000 -11.937500 +v 0.250001 -0.250000 -11.937500 +v 0.250000 -1.000000 -10.500000 +v 0.312500 -0.625000 -10.375000 +v -0.249999 -0.937500 -12.000000 +v -0.312499 -0.625000 -11.937500 +v 0.312501 0.375000 -11.937500 +v -0.187500 0.625000 -10.500000 +v 0.000000 0.625000 -10.500000 +v 0.187500 0.625000 -10.500000 +v -0.187499 0.625000 -11.937500 +v -0.250000 0.625000 -11.937500 +v 0.000001 0.625000 -11.937500 +v 0.187501 0.625000 -11.937500 +v -0.187499 -0.250000 -11.937500 +v -0.187499 -0.000000 -11.937500 +v 0.000001 -0.250000 -11.937500 +v 0.000001 -0.000000 -11.937500 +v 0.187501 -0.250000 -11.937500 +v -0.187499 -0.625000 -11.937500 +v 0.000001 -0.625000 -11.937500 +v 0.187501 -0.625000 -11.937500 +v -0.249999 0.250000 -11.937500 +v -0.187499 0.375000 -11.937500 +v -0.187499 0.250000 -11.937500 +v 0.000001 0.250000 -11.937500 +v 0.000001 0.375000 -11.937500 +v 0.187501 0.250000 -11.937500 +v 0.187501 -0.000000 -11.937500 +v 0.187501 0.375000 -11.937500 +v -0.250001 0.375000 -11.937500 +v -0.312500 -0.625000 -10.375000 +v 0.250001 -0.375000 -9.000000 +v -0.312499 0.250000 -11.937500 +v -0.312501 0.375000 -11.937500 +v 0.249999 -1.000000 -11.000000 +v 0.000000 -0.625000 -10.375000 +v -0.187500 -0.625000 -10.375000 +v 0.187500 -0.625000 -10.375000 +v 0.187500 -0.500000 -10.000000 +v -0.187500 -0.500000 -10.000000 +v 0.000000 -0.500000 -10.000000 +v 0.000001 -0.375000 -9.000000 +v 0.187501 -0.375000 -9.000000 +v -0.187499 -0.375000 -9.000000 +v -0.250000 -1.000000 -11.625000 +v -0.312500 0.625000 -11.937500 +v 0.312501 -0.625000 -11.937500 +v 0.312501 -0.375000 -9.000000 +v 0.312501 -0.000000 -11.937500 +v 0.312499 -0.000000 -9.000000 +v 0.312499 -0.250000 -9.000000 +v 0.312501 -0.000000 -11.625000 +v 0.312499 -0.250000 -11.000000 +v 0.312500 -0.250000 -11.625000 +v 0.312499 -0.000000 -10.500000 +v 0.312498 -0.250000 -10.000000 +v 0.312499 -0.250000 -10.500000 +v 0.312499 -0.000000 -10.000000 +v 0.312500 0.625000 -11.000000 +v 0.312501 0.625000 -11.625000 +v 0.312499 -0.000000 -11.000000 +v 0.312499 -0.625000 -10.500000 +v 0.312499 -0.625000 -11.000000 +v 0.312500 -0.625000 -11.625000 +v 0.312499 0.375000 -11.000000 +v 0.312499 0.250000 -10.500000 +v 0.312499 0.250000 -11.000000 +v 0.312499 0.250000 -9.000000 +v 0.312499 0.250000 -10.000000 +v 0.312499 0.375000 -10.500000 +v 0.312501 0.375000 -11.625000 +v 0.312501 0.250000 -11.625000 +v -0.312499 -0.000000 -11.625000 +v -0.312501 0.375000 -11.625000 +v 0.000000 0.375000 -10.000000 +v 0.187500 0.375000 -10.000000 +v -0.187500 0.375000 -10.000000 +v -0.249999 0.375000 -8.000000 +v 0.187500 -0.625000 -7.187500 +v 0.000000 -0.687500 -7.187500 +v 0.000000 -0.625000 -7.187500 +v -0.187500 -0.687500 -7.187500 +v -0.187500 -0.625000 -7.187500 +v 0.000000 -0.375000 -7.257999 +v -0.187500 -0.375000 -7.257999 +v -0.187500 -0.750000 -7.187500 +v 0.187500 -0.687500 -7.187500 +v 0.000000 -0.750000 -7.187500 +v 0.000000 -1.000000 -7.320660 +v -0.187500 -1.000000 -7.320660 +v 0.187500 -1.000000 -7.320660 +v -0.000001 -0.999999 -6.750000 +v -0.000001 -1.499999 -7.125000 +v -0.187501 -1.249999 -6.937500 +v -0.187501 -1.499999 -7.125000 +v -0.000001 -1.874999 -7.062500 +v -0.187501 -1.749999 -7.125000 +v -0.187501 -1.874999 -7.062500 +v -0.000001 -1.749999 -7.125000 +v 0.187499 -1.749999 -7.124998 +v -0.000001 -1.249999 -6.937500 +v -0.187501 -0.999999 -6.750000 +v 0.187499 -1.249999 -6.937498 +v 0.187499 -0.999999 -6.749998 +v 0.000000 -1.500000 -7.812500 +v 0.187500 -1.562500 -7.812498 +v 0.000000 -1.562500 -7.812498 +v 0.000000 -1.250000 -7.628700 +v 0.187500 -1.500000 -7.812500 +v 0.187500 -1.250000 -7.628700 +v -0.187500 -1.500000 -7.812500 +v -0.187500 -1.562500 -7.812498 +v -0.187500 -1.250000 -7.628700 +v 0.187499 -1.874999 -7.062498 +v -0.000001 -1.999999 -7.125000 +v 0.187500 -1.999999 -7.124998 +v -0.187500 -1.999999 -7.125000 +v 0.187499 -1.499999 -7.124998 +v -0.187500 -1.802307 -7.601681 +v 0.000000 -1.802307 -7.601681 +v -0.187500 -1.937500 -7.312498 +v 0.187500 -1.802307 -7.601681 +v 0.000000 -1.937500 -7.312498 +v 0.187500 -1.937500 -7.312498 +v 0.250001 0.500000 -8.000000 +v -0.249999 0.500000 -8.000000 +v 0.187501 0.750000 -8.000000 +v -0.249998 0.499999 -9.000000 +v -0.249999 0.374998 -11.000000 +v -0.249998 0.374999 -9.000000 +v 0.250002 0.374999 -9.000000 +v 0.250001 0.499998 -11.000000 +v 0.250002 0.499999 -9.000000 +v 0.250004 0.749999 -8.000000 +v 0.250001 0.749998 -11.000000 +v 0.250002 0.749999 -9.000000 +v -0.187499 0.749998 -11.000000 +v 0.187502 0.749999 -9.000000 +v 0.098593 0.874999 -8.000000 +v 0.098592 0.874999 -11.000000 +v 0.125004 0.937499 -8.000000 +v 0.124999 0.937498 -11.000000 +v -0.125001 0.937498 -11.000000 +v 0.125002 0.937499 -9.000000 +v 0.187501 0.749998 -11.000000 +v 0.250001 0.375000 -8.000000 +v -0.249999 0.749998 -11.000000 +v -0.249999 0.499998 -11.000000 +v -0.098591 0.874998 -11.000000 +v 0.187500 -0.750000 -7.187500 +v 0.187500 -0.375000 -7.257999 +v -0.093748 0.974879 -1.500000 +v -0.256127 0.881130 1.000000 +v -0.093747 0.974879 1.000000 +v -0.256128 0.881130 -1.500000 +v -0.349877 0.718750 1.000000 +v -0.349878 0.718750 -1.500000 +v -0.349877 0.531250 1.000000 +v -0.349878 0.531250 -1.500000 +v -0.256127 0.368870 1.000000 +v -0.256128 0.368870 -1.500000 +v -0.093747 0.275120 1.000000 +v 0.093752 0.275120 -1.500000 +v 0.093753 0.275120 1.000000 +v 0.256133 0.368870 1.000000 +v 0.256132 0.368870 -1.500000 +v 0.349883 0.531250 1.000000 +v 0.349882 0.531250 -1.500000 +v 0.349883 0.718750 1.000000 +v 0.349882 0.718750 -1.500000 +v 0.256133 0.881129 1.000000 +v 0.256132 0.881129 -1.500000 +v 0.093753 0.974879 1.000000 +v 0.093752 0.974879 -1.500000 +v -0.233250 0.687500 1.500000 +v 0.062503 0.391747 1.500000 +v -0.062494 0.391748 9.750000 +v -0.062497 0.391747 1.500000 +v 0.170756 0.795753 1.500000 +v -0.170750 0.795753 1.500000 +v 0.233256 0.687500 1.500000 +v 0.233256 0.562500 1.500000 +v 0.170756 0.454247 1.500000 +v -0.170750 0.454247 1.500000 +v -0.233250 0.562500 1.500000 +v 0.062503 0.858253 1.500000 +v -0.062497 0.858253 1.500000 +v -0.233247 0.687501 9.750000 +v 0.233259 0.687501 9.750000 +v 0.062506 0.391748 9.750000 +v -0.233247 0.562501 9.750000 +v 0.170759 0.795754 9.750000 +v -0.062494 0.858254 9.750000 +v 0.170759 0.454248 9.750000 +v -0.170747 0.454248 9.750000 +v 0.062506 0.858254 9.750000 +v -0.170747 0.795754 9.750000 +v 0.233259 0.562501 9.750000 +v -0.000008 0.000004 -0.755020 +v -0.173235 -0.249996 -0.826773 +v -0.000008 -0.249996 -0.755020 +v -0.173235 0.000004 -0.826773 +v -0.244988 -0.249996 -1.000000 +v -0.244988 0.000004 -1.000000 +v -0.173235 -0.249996 -1.173227 +v -0.173235 0.000004 -1.173227 +v -0.000008 -0.249996 -1.244980 +v -0.000008 0.000004 -1.244980 +v 0.173220 -0.249996 -1.173227 +v 0.173220 0.000004 -1.173227 +v 0.244972 -0.249996 -1.000000 +v 0.244972 0.000004 -1.000000 +v 0.173220 -0.249996 -0.826773 +v 0.173220 0.000004 -0.826773 +v 0.250001 0.374998 -11.000000 +v -0.093748 0.275120 -1.500000 +v 0.374992 -0.062496 -1.250000 +v 0.374992 -0.187496 -0.750000 +v 0.374992 -0.187496 -1.250000 +v -0.375008 -0.062496 -0.750000 +v 0.374992 -0.062496 -0.687500 +v 0.374992 -0.062496 -0.750000 +v -0.375008 -0.187496 -1.250000 +v -0.375008 -0.187496 -0.750000 +v -0.375008 -0.062496 -1.250000 +v -0.375008 -0.187496 -1.312500 +v -0.375008 -0.187496 -0.687500 +v 0.374992 -0.187496 -0.687500 +v -0.375008 -0.062496 -0.687500 +v -0.187508 -0.687496 -0.687500 +v 0.187492 -0.687496 -0.687500 +v -0.375008 -0.062496 -1.312500 +v 0.374992 -0.187496 -1.312500 +v 0.374992 -0.062496 -1.312500 +v -0.187508 -0.687496 -1.250000 +v 0.187492 -0.687496 -1.250000 +v -0.375008 -0.499996 -0.687500 +v 0.374992 -0.499996 -1.312500 +v 0.187492 -0.687496 -1.312500 +v 0.374992 -0.499996 -0.750000 +v -0.375008 -0.499996 -1.250000 +v 0.187492 -0.687496 -0.750000 +v -0.187508 -0.687496 -0.750000 +v -0.187508 -0.687496 -1.312500 +v 0.374992 -0.499996 -0.687500 +v -0.375008 -0.499996 -0.750000 +v -0.375008 -0.499996 -1.312500 +v 0.374992 -0.499996 -1.250000 +v 0.062500 -0.187499 -6.187500 +v 0.062500 -0.312499 -6.125000 +v 0.062500 -0.312499 -6.187500 +v -0.062500 -0.312499 -6.125000 +v -0.062500 -0.187499 -6.187500 +v -0.062500 -0.312499 -6.187500 +v -0.062500 -0.562499 -6.062500 +v -0.062500 -0.437499 -6.125000 +v -0.062500 -0.437499 -6.187500 +v 0.062500 -0.562499 -6.062500 +v 0.062500 -0.437499 -6.187500 +v 0.062500 -0.437499 -6.125000 +v 0.062500 -0.124999 -6.062500 +v 0.062500 -0.187499 -6.062500 +v -0.062500 -0.187499 -6.062500 +v -0.062500 -0.124999 -6.187500 +v 0.062500 -0.124999 -6.187500 +v -0.062500 -0.124999 -6.062500 +v 0.124999 -0.442256 -5.413582 +v 0.124999 -0.812629 -5.499346 +v 0.124999 -0.788711 -5.557089 +v 0.124999 -0.466174 -5.355840 +v -0.125001 -0.812629 -5.499346 +v -0.125001 -0.466174 -5.355840 +v -0.125001 -0.788711 -5.557089 +v -0.125001 -0.442256 -5.413582 +v 0.159801 1.241865 -0.687500 +v 0.644946 0.982933 -0.687500 +v 0.089144 1.344980 -0.687500 +v 0.136849 1.118991 -1.062500 +v 0.618837 0.942851 -1.062500 +v 0.555804 0.846085 -1.062500 +v 0.033735 1.048334 -1.062500 +v 0.466662 0.709238 -1.062500 +v -0.089140 1.071285 -1.062500 +v 0.492771 0.749320 -1.062500 +v 0.466662 0.709238 -0.687500 +v -0.089139 1.071285 -0.687500 +v 0.136849 1.118991 -0.687500 +v 0.618837 0.942851 -0.687500 +v 0.159801 1.241865 -1.062500 +v 0.644946 0.982933 -1.062500 +v 0.033735 1.048334 -0.687500 +v 0.492771 0.749320 -0.687500 +v 0.555804 0.846085 -0.687500 +v 0.089144 1.344980 -1.062500 +v 1.077873 0.643837 -0.687500 +v 1.200747 0.620886 -0.687500 +v 0.974758 0.573180 -1.062500 +v 1.077872 0.643837 -1.062500 +v 0.951807 0.450306 -1.062500 +v 1.022464 0.347191 -1.062500 +v 1.022464 0.347191 -0.687500 +v 0.974758 0.573180 -0.687500 +v 1.200747 0.620886 -1.062500 +v 0.951807 0.450305 -0.687500 +v 0.136849 1.118991 -1.125000 +v -0.159796 1.174400 -1.062500 +v -0.136845 1.297274 -1.125000 +v -0.159796 1.174400 -1.125000 +v 0.089144 1.344980 -1.125000 +v 0.033735 1.048334 -1.125000 +v -0.089140 1.071285 -1.125000 +v -0.136845 1.297274 -1.062500 +v -0.033731 1.367931 -1.125000 +v 0.159801 1.241865 -1.125000 +v -0.033731 1.367931 -1.062500 +v 0.159801 1.241865 -0.625000 +v -0.033731 1.367931 -0.625000 +v -0.159796 1.174400 -0.625000 +v -0.033731 1.367931 -0.687500 +v -0.136845 1.297274 -0.687500 +v -0.159796 1.174400 -0.687500 +v 0.033735 1.048334 -0.625000 +v 0.136849 1.118991 -0.625000 +v 0.089144 1.344980 -0.625000 +v -0.089140 1.071285 -0.625000 +v -0.136845 1.297274 -0.625000 +v 0.974758 0.573180 -2.562500 +v 1.145338 0.324240 -2.562500 +v 1.248453 0.394896 -1.062500 +v 1.145338 0.324240 -1.062500 +v 1.200747 0.620885 -2.562500 +v 0.951807 0.450305 -2.562500 +v 1.022464 0.347191 -2.562500 +v 1.248453 0.394896 -2.562500 +v 1.271404 0.517771 -1.062500 +v 1.077872 0.643837 -2.562500 +v 1.271404 0.517771 -2.562500 +v 1.271404 0.517771 -0.625000 +v 1.077873 0.643837 -0.625000 +v 0.951807 0.450305 -0.625000 +v 1.271404 0.517771 -0.687500 +v 1.248453 0.394897 -0.687500 +v 1.145338 0.324240 -0.687500 +v 0.974758 0.573180 -0.625000 +v 1.248453 0.394897 -0.625000 +v 1.145338 0.324240 -0.625000 +v 1.200747 0.620886 -0.625000 +v 1.022464 0.347191 -0.625000 +vt 0.712271 0.389253 +vt 0.714181 0.403050 +vt 0.701143 0.403049 +vt 0.726469 0.305411 +vt 0.734446 0.216313 +vt 0.756238 0.281538 +vt 0.751567 0.361696 +vt 0.756154 0.412933 +vt 0.726503 0.436712 +vt 0.152017 0.420167 +vt 0.152017 0.433749 +vt 0.147479 0.433749 +vt 0.161230 0.420206 +vt 0.161230 0.433711 +vt 0.156718 0.433711 +vt 0.160093 0.750000 +vt 0.169374 0.756944 +vt 0.160093 0.756944 +vt 0.160093 0.694444 +vt 0.169374 0.701389 +vt 0.160093 0.701389 +vt 0.160093 0.729167 +vt 0.169374 0.750000 +vt 0.160093 0.708333 +vt 0.169374 0.729167 +vt 0.169374 0.708333 +vt 0.169374 0.763889 +vt 0.160093 0.763889 +vt 0.259861 0.729167 +vt 0.250580 0.722222 +vt 0.259861 0.722222 +vt 0.259861 0.743056 +vt 0.250580 0.736111 +vt 0.259861 0.736111 +vt 0.250580 0.729167 +vt 0.245940 0.722222 +vt 0.250580 0.743056 +vt 0.245940 0.736111 +vt 0.412993 0.076389 +vt 0.406032 0.048611 +vt 0.412993 0.048611 +vt 0.220418 0.090278 +vt 0.213457 0.111111 +vt 0.213457 0.090278 +vt 0.408353 0.333333 +vt 0.343387 0.312500 +vt 0.408353 0.312500 +vt 0.206497 0.090278 +vt 0.206497 0.048611 +vt 0.213457 0.048611 +vt 0.408353 0.284722 +vt 0.343387 0.243056 +vt 0.408353 0.243056 +vt 0.199536 0.090278 +vt 0.192575 0.048611 +vt 0.199536 0.048611 +vt 0.285383 0.090278 +vt 0.220418 0.048611 +vt 0.285383 0.048611 +vt 0.294664 0.076389 +vt 0.199536 0.111111 +vt 0.192575 0.090278 +vt 0.206497 0.111111 +vt 0.294664 0.104167 +vt 0.285383 0.118056 +vt 0.220418 0.118056 +vt 0.285383 0.138889 +vt 0.220418 0.138889 +vt 0.373550 0.076389 +vt 0.406032 0.104167 +vt 0.373550 0.104167 +vt 0.308585 0.291667 +vt 0.252900 0.319444 +vt 0.252900 0.291667 +vt 0.408353 0.118056 +vt 0.352668 0.131944 +vt 0.352668 0.118056 +vt 0.324826 0.354167 +vt 0.324826 0.333333 +vt 0.331787 0.333333 +vt 0.338747 0.222222 +vt 0.352668 0.208333 +vt 0.352668 0.222222 +vt 0.331787 0.291667 +vt 0.317865 0.333333 +vt 0.324826 0.291667 +vt 0.294664 0.138889 +vt 0.419954 0.097222 +vt 0.424594 0.076389 +vt 0.426914 0.097222 +vt 0.317865 0.291667 +vt 0.308585 0.319444 +vt 0.419954 0.076389 +vt 0.419954 0.048611 +vt 0.412993 0.097222 +vt 0.406032 0.076389 +vt 0.373550 0.048611 +vt 0.294664 0.048611 +vt 0.350348 0.076389 +vt 0.329466 0.222222 +vt 0.301624 0.208333 +vt 0.329466 0.208333 +vt 0.334107 0.333333 +vt 0.343387 0.333333 +vt 0.238979 0.319444 +vt 0.238979 0.291667 +vt 0.350348 0.104167 +vt 0.229698 0.291667 +vt 0.197216 0.319444 +vt 0.197216 0.291667 +vt 0.229698 0.319444 +vt 0.350348 0.048611 +vt 0.364269 0.076389 +vt 0.364269 0.048611 +vt 0.410673 0.187500 +vt 0.403712 0.166667 +vt 0.410673 0.166667 +vt 0.338747 0.152778 +vt 0.329466 0.166667 +vt 0.329466 0.152778 +vt 0.338747 0.131944 +vt 0.338747 0.118056 +vt 0.410673 0.208333 +vt 0.403712 0.187500 +vt 0.364269 0.104167 +vt 0.296984 0.131944 +vt 0.329466 0.131944 +vt 0.408353 0.152778 +vt 0.417633 0.145833 +vt 0.417633 0.166667 +vt 0.408353 0.131944 +vt 0.352668 0.152778 +vt 0.283063 0.173611 +vt 0.280742 0.194444 +vt 0.273782 0.173611 +vt 0.294664 0.166667 +vt 0.301624 0.187500 +vt 0.294664 0.187500 +vt 0.338747 0.166667 +vt 0.329466 0.118056 +vt 0.296984 0.118056 +vt 0.417633 0.118056 +vt 0.338747 0.208333 +vt 0.257541 0.194444 +vt 0.255220 0.173611 +vt 0.264501 0.173611 +vt 0.257541 0.145833 +vt 0.264501 0.145833 +vt 0.273782 0.145833 +vt 0.292343 0.145833 +vt 0.283063 0.173611 +vt 0.283063 0.145833 +vt 0.280742 0.145833 +vt 0.264501 0.201389 +vt 0.329466 0.187500 +vt 0.403712 0.208333 +vt 0.352668 0.187500 +vt 0.338747 0.187500 +vt 0.352668 0.166667 +vt 0.408353 0.222222 +vt 0.301624 0.166667 +vt 0.296984 0.152778 +vt 0.294664 0.208333 +vt 0.229698 0.270833 +vt 0.206497 0.034722 +vt 0.220418 0.034722 +vt 0.350348 0.034722 +vt 0.252900 0.270833 +vt 0.408353 0.229167 +vt 0.317865 0.270833 +vt 0.419954 0.034722 +vt 0.426914 0.048611 +vt 0.364269 0.034722 +vt 0.412993 0.034722 +vt 0.294664 0.034722 +vt 0.285383 0.034722 +vt 0.213457 0.034722 +vt 0.406032 0.034722 +vt 0.373550 0.034722 +vt 0.199536 0.034722 +vt 0.308585 0.270833 +vt 0.317865 0.250000 +vt 0.426914 0.034722 +vt 0.433875 0.048611 +vt 0.238979 0.270833 +vt 0.264501 0.243056 +vt 0.278422 0.229167 +vt 0.278422 0.243056 +vt 0.334107 0.229167 +vt 0.334107 0.243056 +vt 0.222738 0.243056 +vt 0.255220 0.229167 +vt 0.255220 0.243056 +vt 0.264501 0.229167 +vt 0.343387 0.229167 +vt 0.252900 0.250000 +vt 0.197216 0.270833 +vt 0.229698 0.250000 +vt 0.308585 0.250000 +vt 0.373550 0.479167 +vt 0.410673 0.451389 +vt 0.410673 0.479167 +vt 0.429234 0.451389 +vt 0.429234 0.479167 +vt 0.373550 0.368056 +vt 0.410673 0.354167 +vt 0.410673 0.368056 +vt 0.443155 0.576389 +vt 0.433875 0.590278 +vt 0.433875 0.576389 +vt 0.429234 0.354167 +vt 0.429234 0.368056 +vt 0.262181 0.368056 +vt 0.299304 0.354167 +vt 0.299304 0.368056 +vt 0.322506 0.368056 +vt 0.336427 0.354167 +vt 0.336427 0.368056 +vt 0.150812 0.444444 +vt 0.169374 0.472222 +vt 0.150812 0.472222 +vt 0.132251 0.250000 +vt 0.150812 0.222222 +vt 0.150812 0.250000 +vt 0.213457 0.479167 +vt 0.225058 0.451389 +vt 0.225058 0.479167 +vt 0.255220 0.451389 +vt 0.262181 0.479167 +vt 0.255220 0.479167 +vt 0.262181 0.451389 +vt 0.299304 0.479167 +vt 0.322506 0.479167 +vt 0.336427 0.451389 +vt 0.336427 0.479167 +vt 0.354988 0.479167 +vt 0.373550 0.451389 +vt 0.396752 0.993056 +vt 0.389791 0.979167 +vt 0.396752 0.979167 +vt 0.296984 0.993056 +vt 0.303944 0.979167 +vt 0.303944 0.993056 +vt 0.445476 0.993056 +vt 0.447796 0.979167 +vt 0.447796 0.993056 +vt 0.352668 0.993056 +vt 0.354988 0.979167 +vt 0.354988 0.993056 +vt 0.206497 0.569444 +vt 0.201856 0.576389 +vt 0.201856 0.569444 +vt 0.213457 0.506944 +vt 0.206497 0.493056 +vt 0.213457 0.493056 +vt 0.213457 0.590278 +vt 0.206497 0.576389 +vt 0.213457 0.576389 +vt 0.410673 0.493056 +vt 0.429234 0.506944 +vt 0.410673 0.506944 +vt 0.373550 0.493056 +vt 0.348028 0.506944 +vt 0.336427 0.493056 +vt 0.348028 0.493056 +vt 0.354988 0.590278 +vt 0.373550 0.604167 +vt 0.354988 0.604167 +vt 0.322506 0.590278 +vt 0.336427 0.604167 +vt 0.322506 0.604167 +vt 0.262181 0.590278 +vt 0.299304 0.604167 +vt 0.262181 0.604167 +vt 0.255220 0.590278 +vt 0.255220 0.604167 +vt 0.225058 0.604167 +vt 0.213457 0.604167 +vt 0.410673 0.590278 +vt 0.429234 0.604167 +vt 0.410673 0.604167 +vt 0.299304 0.506944 +vt 0.313225 0.493056 +vt 0.313225 0.506944 +vt 0.373550 0.590278 +vt 0.262181 0.506944 +vt 0.299304 0.493056 +vt 0.225058 0.506944 +vt 0.236659 0.493056 +vt 0.236659 0.506944 +vt 0.410673 0.631944 +vt 0.373550 0.631944 +vt 0.429234 0.631944 +vt 0.132251 0.444444 +vt 0.132251 0.472222 +vt 0.225058 0.631944 +vt 0.213457 0.631944 +vt 0.262181 0.631944 +vt 0.255220 0.631944 +vt 0.299304 0.631944 +vt 0.336427 0.631944 +vt 0.322506 0.631944 +vt 0.354988 0.631944 +vt 0.354988 0.493056 +vt 0.322506 0.493056 +vt 0.262181 0.493056 +vt 0.255220 0.493056 +vt 0.225058 0.493056 +vt 0.429234 0.576389 +vt 0.429234 0.590278 +vt 0.429234 0.493056 +vt 0.313225 0.965278 +vt 0.301624 0.958333 +vt 0.301624 0.965278 +vt 0.324826 0.965278 +vt 0.313225 0.958333 +vt 0.201856 0.506944 +vt 0.206497 0.506944 +vt 0.201856 0.590278 +vt 0.433875 0.506944 +vt 0.429234 0.569444 +vt 0.236659 0.590278 +vt 0.225058 0.576389 +vt 0.236659 0.576389 +vt 0.299304 0.590278 +vt 0.262181 0.576389 +vt 0.299304 0.576389 +vt 0.313225 0.590278 +vt 0.313225 0.576389 +vt 0.348028 0.590278 +vt 0.336427 0.576389 +vt 0.348028 0.576389 +vt 0.373550 0.576389 +vt 0.410673 0.576389 +vt 0.373550 0.513889 +vt 0.410673 0.513889 +vt 0.429234 0.513889 +vt 0.206497 0.451389 +vt 0.213457 0.437500 +vt 0.213457 0.451389 +vt 0.206497 0.368056 +vt 0.213457 0.354167 +vt 0.213457 0.368056 +vt 0.438515 0.993056 +vt 0.426914 0.979167 +vt 0.438515 0.979167 +vt 0.169374 0.222222 +vt 0.169374 0.250000 +vt 0.348028 0.437500 +vt 0.348028 0.451389 +vt 0.315545 0.993056 +vt 0.327146 0.979167 +vt 0.327146 0.993056 +vt 0.348028 0.354167 +vt 0.354988 0.375000 +vt 0.373550 0.375000 +vt 0.322506 0.451389 +vt 0.336427 0.437500 +vt 0.299304 0.437500 +vt 0.299304 0.451389 +vt 0.299304 0.375000 +vt 0.262181 0.375000 +vt 0.262181 0.437500 +vt 0.255220 0.437500 +vt 0.262181 0.354167 +vt 0.255220 0.368056 +vt 0.255220 0.354167 +vt 0.429234 0.437500 +vt 0.410673 0.375000 +vt 0.429234 0.375000 +vt 0.443155 0.493056 +vt 0.433875 0.493056 +vt 0.443155 0.569444 +vt 0.433875 0.569444 +vt 0.410673 0.437500 +vt 0.373550 0.423611 +vt 0.410673 0.430556 +vt 0.373550 0.430556 +vt 0.410673 0.402778 +vt 0.410673 0.423611 +vt 0.373550 0.402778 +vt 0.410673 0.381944 +vt 0.443155 0.513889 +vt 0.433875 0.520833 +vt 0.433875 0.513889 +vt 0.443155 0.520833 +vt 0.433875 0.541667 +vt 0.443155 0.541667 +vt 0.433875 0.562500 +vt 0.429234 0.423611 +vt 0.429234 0.430556 +vt 0.429234 0.402778 +vt 0.429234 0.381944 +vt 0.132251 0.222222 +vt 0.150812 0.208333 +vt 0.187933 0.632198 +vt 0.190243 0.618374 +vt 0.190243 0.632198 +vt 0.262181 0.423611 +vt 0.299304 0.430556 +vt 0.262181 0.430556 +vt 0.299304 0.402778 +vt 0.299304 0.423611 +vt 0.262181 0.402778 +vt 0.299304 0.381944 +vt 0.412993 0.777778 +vt 0.399072 0.756944 +vt 0.412993 0.756944 +vt 0.350348 0.777778 +vt 0.352668 0.756944 +vt 0.352668 0.777778 +vt 0.354988 0.430556 +vt 0.354988 0.423611 +vt 0.354988 0.402778 +vt 0.373550 0.381944 +vt 0.257536 0.639044 +vt 0.276084 0.645983 +vt 0.257536 0.645984 +vt 0.276084 0.666802 +vt 0.257536 0.666803 +vt 0.276084 0.687621 +vt 0.257536 0.687622 +vt 0.169374 0.486111 +vt 0.150812 0.486111 +vt 0.169374 0.208333 +vt 0.410673 0.562500 +vt 0.410673 0.569444 +vt 0.410673 0.541667 +vt 0.429234 0.562500 +vt 0.410673 0.520833 +vt 0.429234 0.541667 +vt 0.373550 0.569444 +vt 0.373550 0.541667 +vt 0.238987 0.645984 +vt 0.229713 0.639044 +vt 0.238987 0.639044 +vt 0.238987 0.666803 +vt 0.229713 0.645984 +vt 0.225075 0.639044 +vt 0.229713 0.666803 +vt 0.225075 0.645984 +vt 0.429234 0.520833 +vt 0.417633 0.972222 +vt 0.429234 0.965278 +vt 0.417633 0.965278 +vt 0.410673 0.944444 +vt 0.408353 0.909722 +vt 0.410673 0.909722 +vt 0.387471 0.972222 +vt 0.389791 0.937500 +vt 0.389791 0.972222 +vt 0.440835 0.972222 +vt 0.440835 0.965278 +vt 0.150812 0.152778 +vt 0.169374 0.145833 +vt 0.169374 0.152778 +vt 0.206497 0.513889 +vt 0.201856 0.520833 +vt 0.201856 0.513889 +vt 0.206497 0.520833 +vt 0.201856 0.541667 +vt 0.206497 0.541667 +vt 0.201856 0.562500 +vt 0.255220 0.381944 +vt 0.262181 0.381944 +vt 0.380510 0.937500 +vt 0.387471 0.937500 +vt 0.255220 0.423611 +vt 0.171694 0.097222 +vt 0.174014 0.090278 +vt 0.174014 0.097222 +vt 0.255220 0.375000 +vt 0.345708 0.930556 +vt 0.338747 0.895833 +vt 0.345708 0.895833 +vt 0.248260 0.354167 +vt 0.238979 0.368056 +vt 0.238979 0.354167 +vt 0.248260 0.437500 +vt 0.238979 0.451389 +vt 0.238979 0.437500 +vt 0.338747 0.993056 +vt 0.345708 0.979167 +vt 0.345708 0.993056 +vt 0.248260 0.576389 +vt 0.255220 0.576389 +vt 0.354988 0.930556 +vt 0.361949 0.895833 +vt 0.361949 0.930556 +vt 0.238979 0.493056 +vt 0.248260 0.479167 +vt 0.248260 0.493056 +vt 0.238979 0.604167 +vt 0.248260 0.631944 +vt 0.238979 0.631944 +vt 0.248260 0.506944 +vt 0.255220 0.506944 +vt 0.238979 0.590278 +vt 0.248260 0.604167 +vt 0.412993 0.993056 +vt 0.403712 0.979167 +vt 0.412993 0.979167 +vt 0.238979 0.479167 +vt 0.378190 0.881944 +vt 0.371230 0.861111 +vt 0.378190 0.861111 +vt 0.396752 0.881944 +vt 0.403712 0.888889 +vt 0.396752 0.888889 +vt 0.345708 0.888889 +vt 0.338747 0.888889 +vt 0.331787 0.902778 +vt 0.334107 0.868056 +vt 0.334107 0.902778 +vt 0.352668 0.930556 +vt 0.354988 0.895833 +vt 0.389791 0.930556 +vt 0.396752 0.895833 +vt 0.396752 0.930556 +vt 0.406032 0.902778 +vt 0.408353 0.868056 +vt 0.408353 0.902778 +vt 0.387471 0.979167 +vt 0.380510 0.972222 +vt 0.336427 0.868056 +vt 0.336427 0.902778 +vt 0.345708 0.881944 +vt 0.338747 0.881944 +vt 0.294664 0.993056 +vt 0.296984 0.979167 +vt 0.354988 0.437500 +vt 0.373550 0.437500 +vt 0.422274 0.777778 +vt 0.424594 0.756944 +vt 0.424594 0.777778 +vt 0.443155 0.506944 +vt 0.181005 0.632198 +vt 0.187933 0.618374 +vt 0.373550 0.520833 +vt 0.324826 0.972222 +vt 0.313225 0.972222 +vt 0.301624 0.972222 +vt 0.410673 0.902778 +vt 0.410673 0.868056 +vt 0.387471 0.930556 +vt 0.389791 0.895833 +vt 0.403712 0.895833 +vt 0.387471 0.993056 +vt 0.389791 0.993056 +vt 0.429234 0.958333 +vt 0.440835 0.958333 +vt 0.417633 0.958333 +vt 0.238987 0.687622 +vt 0.443155 0.562500 +vt 0.171767 0.632198 +vt 0.174076 0.618374 +vt 0.174076 0.632198 +vt 0.354988 0.381944 +vt 0.276084 0.694561 +vt 0.257536 0.694561 +vt 0.238987 0.694561 +vt 0.229713 0.687622 +vt 0.174076 0.687498 +vt 0.171767 0.659848 +vt 0.174076 0.659848 +vt 0.206497 0.562500 +vt 0.181005 0.659848 +vt 0.187933 0.659848 +vt 0.190243 0.659848 +vt 0.122970 0.444444 +vt 0.122970 0.472222 +vt 0.122970 0.250000 +vt 0.132251 0.486111 +vt 0.181005 0.618374 +vt 0.150812 0.541667 +vt 0.169374 0.548611 +vt 0.150812 0.548611 +vt 0.187935 0.097222 +vt 0.190255 0.090278 +vt 0.190255 0.097222 +vt 0.406033 0.958333 +vt 0.415313 0.965278 +vt 0.415313 0.958333 +vt 0.336427 0.972222 +vt 0.327146 0.965278 +vt 0.327146 0.972222 +vt 0.236659 0.451389 +vt 0.236659 0.479167 +vt 0.415313 0.993056 +vt 0.415313 0.979167 +vt 0.236659 0.604167 +vt 0.236659 0.631944 +vt 0.236659 0.437500 +vt 0.236659 0.368056 +vt 0.236659 0.354167 +vt 0.406033 0.965278 +vt 0.415313 0.972222 +vt 0.329466 0.993056 +vt 0.338747 0.979167 +vt 0.248260 0.590278 +vt 0.238979 0.576389 +vt 0.336427 0.965278 +vt 0.327146 0.958333 +vt 0.238979 0.506944 +vt 0.334107 0.944444 +vt 0.336427 0.909722 +vt 0.336427 0.944444 +vt 0.354988 0.937500 +vt 0.361949 0.972222 +vt 0.354988 0.972222 +vt 0.406032 0.944444 +vt 0.408353 0.944444 +vt 0.396752 0.937500 +vt 0.396752 0.972222 +vt 0.380510 0.979167 +vt 0.352668 0.972222 +vt 0.331787 0.944444 +vt 0.334107 0.909722 +vt 0.338747 0.972222 +vt 0.345708 0.937500 +vt 0.345708 0.972222 +vt 0.371230 0.881944 +vt 0.364269 0.888889 +vt 0.364269 0.881944 +vt 0.371230 0.888889 +vt 0.150812 0.493056 +vt 0.143852 0.513889 +vt 0.134571 0.493056 +vt 0.150812 0.180556 +vt 0.146172 0.152778 +vt 0.150812 0.201389 +vt 0.143852 0.180556 +vt 0.187933 0.611461 +vt 0.187935 0.152778 +vt 0.190255 0.145833 +vt 0.190255 0.152778 +vt 0.187935 0.125000 +vt 0.190255 0.125000 +vt 0.169374 0.493056 +vt 0.150812 0.513889 +vt 0.169374 0.541667 +vt 0.134571 0.201389 +vt 0.171694 0.152778 +vt 0.174014 0.145833 +vt 0.174014 0.152778 +vt 0.171694 0.125000 +vt 0.174014 0.125000 +vt 0.181005 0.611461 +vt 0.169374 0.201389 +vt 0.169374 0.180556 +vt 0.447796 0.965278 +vt 0.447796 0.958333 +vt 0.294664 0.965278 +vt 0.294664 0.972222 +vt 0.447796 0.972222 +vt 0.445476 0.979167 +vt 0.225058 0.354167 +vt 0.225058 0.368056 +vt 0.225058 0.437500 +vt 0.294664 0.958333 +vt 0.206497 0.604167 +vt 0.206497 0.631944 +vt 0.206497 0.590278 +vt 0.225058 0.590278 +vt 0.315545 0.979167 +vt 0.206497 0.479167 +vt 0.412993 0.847222 +vt 0.419954 0.868056 +vt 0.412993 0.868056 +vt 0.412993 0.895833 +vt 0.419954 0.923611 +vt 0.412993 0.923611 +vt 0.412993 0.888889 +vt 0.419954 0.895833 +vt 0.412993 0.784722 +vt 0.419954 0.791667 +vt 0.412993 0.791667 +vt 0.412993 0.840278 +vt 0.419954 0.847222 +vt 0.419954 0.888889 +vt 0.412993 0.944444 +vt 0.419954 0.951389 +vt 0.412993 0.951389 +vt 0.419954 0.812500 +vt 0.412993 0.812500 +vt 0.419954 0.944444 +vt 0.431555 0.951389 +vt 0.419954 0.784722 +vt 0.431555 0.791667 +vt 0.431555 0.868056 +vt 0.419954 0.840278 +vt 0.431555 0.847222 +vt 0.431555 0.888889 +vt 0.431555 0.895833 +vt 0.426914 0.993056 +vt 0.329466 0.979167 +vt 0.324826 0.958333 +vt 0.431555 0.784722 +vt 0.443155 0.791667 +vt 0.443155 0.840278 +vt 0.443155 0.847222 +vt 0.443155 0.944444 +vt 0.443155 0.951389 +vt 0.443155 0.895833 +vt 0.445476 0.840278 +vt 0.445476 0.784722 +vt 0.445476 0.791667 +vt 0.445476 0.951389 +vt 0.445476 0.944444 +vt 0.443155 0.909722 +vt 0.445476 0.909722 +vt 0.443155 0.826389 +vt 0.445476 0.826389 +vt 0.445476 0.895833 +vt 0.361949 0.993056 +vt 0.361949 0.979167 +vt 0.331787 0.951389 +vt 0.334107 0.951389 +vt 0.352668 0.979167 +vt 0.380510 0.930556 +vt 0.406032 0.951389 +vt 0.408353 0.951389 +vt 0.255220 0.402778 +vt 0.336427 0.951389 +vt 0.410673 0.951389 +vt 0.454756 0.791667 +vt 0.454756 0.944444 +vt 0.454756 0.826389 +vt 0.454756 0.909722 +vt 0.443155 0.888889 +vt 0.408353 0.812500 +vt 0.401392 0.854167 +vt 0.401392 0.812500 +vt 0.392111 0.854167 +vt 0.380510 0.812500 +vt 0.392111 0.812500 +vt 0.380510 0.854167 +vt 0.368910 0.812500 +vt 0.329466 0.812500 +vt 0.341067 0.854167 +vt 0.329466 0.854167 +vt 0.352668 0.854167 +vt 0.341067 0.812500 +vt 0.352668 0.812500 +vt 0.364269 0.812500 +vt 0.364269 0.854167 +vt 0.368910 0.854167 +vt 0.180974 0.090278 +vt 0.187935 0.076389 +vt 0.187935 0.090278 +vt 0.174014 0.076389 +vt 0.146172 0.541667 +vt 0.146172 0.548611 +vt 0.146172 0.145833 +vt 0.150812 0.138889 +vt 0.150812 0.145833 +vt 0.150812 0.555556 +vt 0.157773 0.583333 +vt 0.143852 0.583333 +vt 0.157773 0.111111 +vt 0.143852 0.111111 +vt 0.171694 0.083333 +vt 0.136891 0.083333 +vt 0.141531 0.111111 +vt 0.129930 0.083333 +vt 0.146172 0.138889 +vt 0.146172 0.555556 +vt 0.141531 0.583333 +vt 0.190255 0.083333 +vt 0.122970 0.645833 +vt 0.129930 0.638889 +vt 0.129930 0.666667 +vt 0.129930 0.611111 +vt 0.122970 0.638889 +vt 0.136891 0.611111 +vt 0.129930 0.055556 +vt 0.122970 0.048611 +vt 0.129930 0.027778 +vt 0.122970 0.055556 +vt 0.171767 0.618374 +vt 0.174076 0.611461 +vt 0.171694 0.145833 +vt 0.169374 0.513889 +vt 0.187935 0.145833 +vt 0.169374 0.555556 +vt 0.167053 0.562500 +vt 0.145833 0.014434 +vt 0.140890 0.012691 +vt 0.144880 0.008725 +vt 0.143790 0.666758 +vt 0.140890 0.682373 +vt 0.403712 0.972222 +vt 0.352668 0.937500 +vt 0.403712 0.937500 +vt 0.403712 0.930556 +vt 0.352668 0.888889 +vt 0.352668 0.895833 +vt 0.248260 0.368056 +vt 0.248260 0.451389 +vt 0.403712 0.993056 +vt 0.378190 0.993056 +vt 0.380510 0.993056 +vt 0.371230 0.993056 +vt 0.378190 0.979167 +vt 0.364269 0.993056 +vt 0.371230 0.979167 +vt 0.352668 0.861111 +vt 0.352668 0.881944 +vt 0.389791 0.861111 +vt 0.389791 0.881944 +vt 0.378190 0.930556 +vt 0.380510 0.895833 +vt 0.364269 0.930556 +vt 0.364269 0.895833 +vt 0.364269 0.979167 +vt 0.364269 0.937500 +vt 0.364269 0.972222 +vt 0.378190 0.972222 +vt 0.371230 0.972222 +vt 0.378190 0.937500 +vt 0.371230 0.937500 +vt 0.371230 0.930556 +vt 0.387471 0.895833 +vt 0.364269 0.861111 +vt 0.406032 0.909722 +vt 0.331787 0.909722 +vt 0.361949 0.937500 +vt 0.338747 0.937500 +vt 0.313225 0.375000 +vt 0.313225 0.381944 +vt 0.313225 0.430556 +vt 0.313225 0.437500 +vt 0.313225 0.402778 +vt 0.313225 0.423611 +vt 0.313225 0.368056 +vt 0.313225 0.451389 +vt 0.322506 0.576389 +vt 0.313225 0.631944 +vt 0.322506 0.506944 +vt 0.313225 0.604167 +vt 0.313225 0.479167 +vt 0.313225 0.354167 +vt 0.343387 0.701389 +vt 0.350348 0.701389 +vt 0.343387 0.687500 +vt 0.361949 0.756944 +vt 0.361949 0.777778 +vt 0.348028 0.375000 +vt 0.354988 0.368056 +vt 0.373550 0.354167 +vt 0.354988 0.354167 +vt 0.354988 0.451389 +vt 0.354988 0.576389 +vt 0.348028 0.604167 +vt 0.348028 0.631944 +vt 0.373550 0.506944 +vt 0.348028 0.479167 +vt 0.433875 0.708333 +vt 0.433875 0.756944 +vt 0.375870 0.708333 +vt 0.375870 0.756944 +vt 0.350348 0.756944 +vt 0.341067 0.708333 +vt 0.350348 0.708333 +vt 0.378190 0.708333 +vt 0.378190 0.756944 +vt 0.352668 0.708333 +vt 0.338747 0.756944 +vt 0.341067 0.756944 +vt 0.412993 0.652778 +vt 0.422274 0.645833 +vt 0.422274 0.652778 +vt 0.412993 0.673611 +vt 0.422274 0.673611 +vt 0.412993 0.694444 +vt 0.422274 0.694444 +vt 0.412993 0.701389 +vt 0.422274 0.701389 +vt 0.396752 0.777778 +vt 0.399072 0.777778 +vt 0.331787 0.673611 +vt 0.343387 0.659722 +vt 0.343387 0.673611 +vt 0.375870 0.777778 +vt 0.378190 0.777778 +vt 0.350348 0.673611 +vt 0.401392 0.701389 +vt 0.401392 0.694444 +vt 0.401392 0.673611 +vt 0.401392 0.652778 +vt 0.412993 0.645833 +vt 0.336427 0.590278 +vt 0.336427 0.375000 +vt 0.348028 0.368056 +vt 0.348028 0.430556 +vt 0.331787 0.701389 +vt 0.331787 0.680556 +vt 0.354988 0.506944 +vt 0.331787 0.756944 +vt 0.338747 0.708333 +vt 0.341067 0.777778 +vt 0.338747 0.777778 +vt 0.380510 0.756944 +vt 0.387471 0.708333 +vt 0.387471 0.756944 +vt 0.336427 0.506944 +vt 0.422274 0.756944 +vt 0.322506 0.437500 +vt 0.322506 0.354167 +vt 0.396752 0.666667 +vt 0.399072 0.708333 +vt 0.396752 0.708333 +vt 0.378190 0.666667 +vt 0.380510 0.708333 +vt 0.380510 0.666667 +vt 0.387471 0.666667 +vt 0.394432 0.708333 +vt 0.375870 0.666667 +vt 0.394432 0.666667 +vt 0.375870 0.638889 +vt 0.396752 0.638889 +vt 0.399072 0.666667 +vt 0.412993 0.708333 +vt 0.436195 0.708333 +vt 0.436195 0.756944 +vt 0.361949 0.708333 +vt 0.394432 0.756944 +vt 0.396752 0.756944 +vt 0.424594 0.708333 +vt 0.422274 0.708333 +vt 0.443155 0.708333 +vt 0.443155 0.756944 +vt 0.322506 0.375000 +vt 0.322506 0.381944 +vt 0.322506 0.402778 +vt 0.322506 0.423611 +vt 0.322506 0.430556 +vt 0.436195 0.777778 +vt 0.331787 0.777778 +vt 0.433875 0.777778 +vt 0.192575 0.493056 +vt 0.201856 0.493056 +vt 0.192575 0.569444 +vt 0.192575 0.590278 +vt 0.181005 0.687498 +vt 0.187933 0.687498 +vt 0.190243 0.687498 +vt 0.113689 0.444444 +vt 0.113689 0.472222 +vt 0.113689 0.222222 +vt 0.113689 0.250000 +vt 0.220438 0.639044 +vt 0.076566 0.527778 +vt 0.002320 0.506944 +vt 0.076566 0.506944 +vt 0.225075 0.666803 +vt 0.229713 0.694561 +vt 0.225075 0.687622 +vt 0.122970 0.527778 +vt 0.113689 0.506944 +vt 0.122970 0.506944 +vt 0.122970 0.548611 +vt 0.113689 0.527778 +vt 0.220438 0.645984 +vt 0.211164 0.639044 +vt 0.225075 0.694561 +vt 0.220438 0.687622 +vt 0.076566 0.548611 +vt 0.002320 0.527778 +vt 0.220438 0.666803 +vt 0.211137 0.687500 +vt 0.204176 0.694444 +vt 0.204176 0.687500 +vt 0.220438 0.694561 +vt 0.285383 0.701389 +vt 0.294664 0.708333 +vt 0.285383 0.708333 +vt 0.194896 0.708333 +vt 0.204176 0.701389 +vt 0.204176 0.708333 +vt 0.194896 0.694444 +vt 0.203016 0.687500 +vt 0.248260 0.701389 +vt 0.113689 0.548611 +vt 0.241299 0.708333 +vt 0.247100 0.708333 +vt 0.241299 0.701389 +vt 0.459397 0.847222 +vt 0.450116 0.868056 +vt 0.450116 0.847222 +vt 0.445476 0.868056 +vt 0.445476 0.847222 +vt 0.443155 0.868056 +vt 0.445476 0.888889 +vt 0.459397 0.868056 +vt 0.450116 0.888889 +vt 0.150812 0.083333 +vt 0.150812 0.611111 +vt 0.167053 0.131944 +vt 0.143852 0.055556 +vt 0.143852 0.638889 +vt 0.146172 0.680556 +vt 0.144880 0.686339 +vt 0.143852 0.027778 +vt 0.301624 0.687500 +vt 0.320186 0.715278 +vt 0.301624 0.715278 +vt 0.320186 0.687500 +vt 0.329466 0.673611 +vt 0.329466 0.687500 +vt 0.320186 0.673611 +vt 0.301624 0.645833 +vt 0.320186 0.645833 +vt 0.301624 0.673611 +vt 0.292343 0.687500 +vt 0.292343 0.673611 +vt 0.294664 0.666667 +vt 0.292343 0.652778 +vt 0.294664 0.652778 +vt 0.292343 0.666667 +vt 0.287703 0.652778 +vt 0.290023 0.645833 +vt 0.285383 0.638889 +vt 0.290023 0.638889 +vt 0.290023 0.680556 +vt 0.285383 0.673611 +vt 0.290023 0.673611 +vt 0.280742 0.666667 +vt 0.278422 0.652778 +vt 0.280742 0.652778 +vt 0.285383 0.645833 +vt 0.283063 0.638889 +vt 0.285383 0.680556 +vt 0.283063 0.673611 +vt 0.285383 0.666667 +vt 0.283063 0.652778 +vt 0.285383 0.652778 +vt 0.283063 0.666667 +vt 0.287703 0.666667 +vt 0.283063 0.645833 +vt 0.712271 0.416846 +vt 0.707662 0.422560 +vt 0.703052 0.416846 +vt 0.703052 0.389253 +vt 0.707662 0.383539 +vt 0.751633 0.305411 +vt 0.743656 0.339175 +vt 0.734446 0.339175 +vt 0.721864 0.281537 +vt 0.721864 0.253971 +vt 0.726469 0.230097 +vt 0.743656 0.216313 +vt 0.751633 0.230097 +vt 0.756238 0.253971 +vt 0.743622 0.470343 +vt 0.734448 0.470343 +vt 0.721916 0.412933 +vt 0.721916 0.385475 +vt 0.726503 0.361695 +vt 0.734448 0.347966 +vt 0.743622 0.347966 +vt 0.756154 0.385475 +vt 0.751567 0.436712 +vt 0.147479 0.420167 +vt 0.149748 0.417354 +vt 0.152957 0.426958 +vt 0.149748 0.436562 +vt 0.146540 0.426958 +vt 0.155784 0.426958 +vt 0.156718 0.420206 +vt 0.158974 0.417409 +vt 0.162164 0.426958 +vt 0.158974 0.436507 +vt 0.169374 0.694444 +vt 0.245940 0.729167 +vt 0.245940 0.743056 +vt 0.343387 0.284722 +vt 0.294664 0.118056 +vt 0.296984 0.222222 +vt 0.334107 0.312500 +vt 0.417633 0.138889 +vt 0.292343 0.173611 +vt 0.273782 0.201389 +vt 0.192575 0.034722 +vt 0.433875 0.034722 +vt 0.222738 0.229167 +vt 0.238979 0.250000 +vt 0.197216 0.250000 +vt 0.443155 0.590278 +vt 0.169374 0.444444 +vt 0.206497 0.437500 +vt 0.206497 0.354167 +vt 0.132251 0.208333 +vt 0.276084 0.639044 +vt 0.373550 0.562500 +vt 0.429234 0.972222 +vt 0.255220 0.430556 +vt 0.171694 0.090278 +vt 0.338747 0.930556 +vt 0.403712 0.881944 +vt 0.331787 0.868056 +vt 0.406032 0.868056 +vt 0.294664 0.979167 +vt 0.171767 0.687498 +vt 0.122970 0.222222 +vt 0.406033 0.972222 +vt 0.336427 0.958333 +vt 0.378190 0.888889 +vt 0.431555 0.944444 +vt 0.431555 0.840278 +vt 0.443155 0.784722 +vt 0.454756 0.784722 +vt 0.454756 0.951389 +vt 0.408353 0.854167 +vt 0.180974 0.076389 +vt 0.389791 0.888889 +vt 0.378190 0.895833 +vt 0.331787 0.652778 +vt 0.401392 0.645833 +vt 0.336427 0.430556 +vt 0.331787 0.708333 +vt 0.378190 0.638889 +vt 0.399072 0.638889 +vt 0.443155 0.777778 +vt 0.192575 0.513889 +vt 0.211164 0.645984 +vt 0.002320 0.548611 +vt 0.211137 0.694444 +vt 0.294664 0.701389 +vt 0.194896 0.701389 +vt 0.196056 0.687500 +vt 0.248260 0.708333 +vt 0.242459 0.708333 +vt 0.459397 0.888889 +vt 0.169374 0.138889 +vt 0.278422 0.666667 +vt 0.283063 0.680556 +vt 0.651972 0.416667 +vt 0.698376 0.402778 +vt 0.698376 0.416667 +vt 0.651972 0.402778 +vt 0.698376 0.388889 +vt 0.651972 0.388889 +vt 0.698376 0.375000 +vt 0.651972 0.375000 +vt 0.698376 0.361111 +vt 0.651972 0.472222 +vt 0.698376 0.458333 +vt 0.698376 0.472222 +vt 0.651972 0.458333 +vt 0.698376 0.444444 +vt 0.651972 0.444444 +vt 0.698376 0.430556 +vt 0.651972 0.430556 +vt 0.703062 0.437534 +vt 0.712396 0.437535 +vt 0.712396 0.465473 +vt 0.758701 0.472222 +vt 0.795824 0.430556 +vt 0.795824 0.472222 +vt 0.758701 0.430556 +vt 0.795824 0.402778 +vt 0.758701 0.402778 +vt 0.795824 0.375000 +vt 0.758701 0.375000 +vt 0.795824 0.347222 +vt 0.758701 0.319444 +vt 0.795824 0.319444 +vt 0.795824 0.291667 +vt 0.758701 0.291667 +vt 0.795824 0.263889 +vt 0.758701 0.263889 +vt 0.795824 0.236111 +vt 0.758701 0.236111 +vt 0.795824 0.208333 +vt 0.758701 0.208333 +vt 0.795824 0.180556 +vt 0.758701 0.138889 +vt 0.795824 0.138889 +vt 0.139211 0.416667 +vt 0.141531 0.423611 +vt 0.139211 0.423611 +vt 0.141531 0.416667 +vt 0.143852 0.423611 +vt 0.125290 0.416667 +vt 0.127610 0.423611 +vt 0.125290 0.423611 +vt 0.127610 0.416667 +vt 0.129930 0.423611 +vt 0.129930 0.416667 +vt 0.132251 0.423611 +vt 0.132251 0.416667 +vt 0.134571 0.423611 +vt 0.134571 0.416667 +vt 0.136891 0.423611 +vt 0.136891 0.416667 +vt 0.141531 0.430556 +vt 0.139211 0.437500 +vt 0.139211 0.430556 +vt 0.143852 0.430556 +vt 0.141531 0.437500 +vt 0.127610 0.430556 +vt 0.125290 0.437500 +vt 0.125290 0.430556 +vt 0.129930 0.430556 +vt 0.127610 0.437500 +vt 0.132251 0.430556 +vt 0.129930 0.437500 +vt 0.134571 0.430556 +vt 0.132251 0.437500 +vt 0.136891 0.430556 +vt 0.134571 0.437500 +vt 0.136891 0.437500 +vt 0.215777 0.923611 +vt 0.192575 0.909722 +vt 0.215777 0.909722 +vt 0.327146 0.923611 +vt 0.290023 0.909722 +vt 0.327146 0.909722 +vt 0.290023 0.923611 +vt 0.252900 0.909722 +vt 0.234339 0.923611 +vt 0.234339 0.909722 +vt 0.252900 0.923611 +vt 0.215777 0.854167 +vt 0.192575 0.812500 +vt 0.215777 0.812500 +vt 0.234339 0.854167 +vt 0.234339 0.812500 +vt 0.252900 0.881944 +vt 0.252900 0.854167 +vt 0.234339 0.881944 +vt 0.290023 0.881944 +vt 0.290023 0.854167 +vt 0.327146 0.881944 +vt 0.327146 0.854167 +vt 0.215777 0.881944 +vt 0.192575 0.854167 +vt 0.215777 0.993056 +vt 0.192575 0.951389 +vt 0.215777 0.951389 +vt 0.174014 0.812500 +vt 0.176334 0.854167 +vt 0.174014 0.854167 +vt 0.208817 0.736111 +vt 0.171694 0.743056 +vt 0.171694 0.736111 +vt 0.306264 0.805556 +vt 0.283063 0.805556 +vt 0.283063 0.798611 +vt 0.155452 0.951389 +vt 0.155452 0.986111 +vt 0.153132 0.951389 +vt 0.155452 0.923611 +vt 0.153132 0.909722 +vt 0.155452 0.909722 +vt 0.259861 0.756944 +vt 0.283063 0.750000 +vt 0.283063 0.756944 +vt 0.122970 0.763889 +vt 0.122970 0.756944 +vt 0.171694 0.729167 +vt 0.208817 0.722222 +vt 0.208817 0.729167 +vt 0.306264 0.750000 +vt 0.306264 0.743056 +vt 0.208817 0.743056 +vt 0.016241 0.750000 +vt 0.039443 0.743056 +vt 0.039443 0.750000 +vt 0.016241 0.743056 +vt 0.039443 0.729167 +vt 0.016241 0.729167 +vt 0.039443 0.715278 +vt 0.283063 0.763889 +vt 0.283063 0.777778 +vt 0.259861 0.763889 +vt 0.283063 0.791667 +vt 0.259861 0.777778 +vt 0.002320 0.743056 +vt 0.002320 0.729167 +vt 0.327146 0.812500 +vt 0.306264 0.812500 +vt 0.058005 0.743056 +vt 0.058005 0.750000 +vt 0.058005 0.729167 +vt 0.058005 0.715278 +vt 0.002320 0.750000 +vt 0.002320 0.708333 +vt 0.016241 0.701389 +vt 0.016241 0.708333 +vt 0.085847 0.763889 +vt 0.085847 0.756944 +vt 0.245940 0.798611 +vt 0.259861 0.805556 +vt 0.245940 0.805556 +vt 0.039443 0.756944 +vt 0.071926 0.701389 +vt 0.085847 0.694444 +vt 0.085847 0.701389 +vt 0.259861 0.798611 +vt 0.245940 0.791667 +vt 0.259861 0.791667 +vt 0.071926 0.756944 +vt 0.058005 0.756944 +vt 0.016241 0.715278 +vt 0.039443 0.708333 +vt 0.245940 0.777778 +vt 0.058005 0.708333 +vt 0.002320 0.715278 +vt 0.155452 0.812500 +vt 0.155452 0.777778 +vt 0.157773 0.777778 +vt 0.245940 0.763889 +vt 0.245940 0.756944 +vt 0.245940 0.750000 +vt 0.259861 0.750000 +vt 0.176334 0.881944 +vt 0.174014 0.881944 +vt 0.155452 0.881944 +vt 0.153132 0.854167 +vt 0.155452 0.854167 +vt 0.058005 0.701389 +vt 0.071926 0.694444 +vt 0.174014 0.777778 +vt 0.176334 0.812500 +vt 0.153132 0.923611 +vt 0.306264 0.756944 +vt 0.306264 0.777778 +vt 0.306264 0.798611 +vt 0.171694 0.986111 +vt 0.171694 0.951389 +vt 0.174014 0.951389 +vt 0.169374 0.986111 +vt 0.164733 0.951389 +vt 0.160093 0.986111 +vt 0.157773 0.951389 +vt 0.171694 0.854167 +vt 0.171694 0.881944 +vt 0.164733 0.854167 +vt 0.164733 0.881944 +vt 0.157773 0.854167 +vt 0.171694 0.812500 +vt 0.164733 0.812500 +vt 0.157773 0.812500 +vt 0.174014 0.909722 +vt 0.171694 0.923611 +vt 0.171694 0.909722 +vt 0.164733 0.909722 +vt 0.164733 0.923611 +vt 0.157773 0.909722 +vt 0.157773 0.881944 +vt 0.157773 0.986111 +vt 0.157773 0.923611 +vt 0.174014 0.923611 +vt 0.160093 0.777778 +vt 0.164733 0.777778 +vt 0.169374 0.777778 +vt 0.171694 0.777778 +vt 0.071926 0.763889 +vt 0.122970 0.701389 +vt 0.176334 0.909722 +vt 0.176334 0.923611 +vt 0.039443 0.701389 +vt 0.071926 0.729167 +vt 0.071926 0.750000 +vt 0.071926 0.708333 +vt 0.085847 0.708333 +vt 0.085847 0.750000 +vt 0.085847 0.729167 +vt 0.122970 0.729167 +vt 0.122970 0.708333 +vt 0.122970 0.750000 +vt 0.327146 0.743056 +vt 0.327146 0.750000 +vt 0.174014 0.986111 +vt 0.016241 0.756944 +vt 0.176334 0.951389 +vt 0.002320 0.756944 +vt 0.153132 0.812500 +vt 0.122970 0.694444 +vt 0.153132 0.881944 +vt 0.039443 0.881944 +vt 0.002320 0.854167 +vt 0.039443 0.854167 +vt 0.136891 0.881944 +vt 0.113689 0.854167 +vt 0.136891 0.854167 +vt 0.095128 0.881944 +vt 0.076566 0.854167 +vt 0.095128 0.854167 +vt 0.076566 0.881944 +vt 0.136891 0.993056 +vt 0.113689 0.951389 +vt 0.136891 0.951389 +vt 0.113689 0.881944 +vt 0.095128 0.812500 +vt 0.113689 0.812500 +vt 0.136891 0.812500 +vt 0.113689 0.923611 +vt 0.095128 0.909722 +vt 0.113689 0.909722 +vt 0.076566 0.923611 +vt 0.039443 0.909722 +vt 0.076566 0.909722 +vt 0.095128 0.923611 +vt 0.136891 0.923611 +vt 0.136891 0.909722 +vt 0.039443 0.923611 +vt 0.002320 0.909722 +vt 0.002320 0.881944 +vt 0.136891 0.770833 +vt 0.148492 0.812500 +vt 0.148492 0.881944 +vt 0.148492 0.951389 +vt 0.150812 0.986111 +vt 0.148492 0.909722 +vt 0.148492 0.923611 +vt 0.095128 0.951389 +vt 0.113689 0.993056 +vt 0.148492 0.854167 +vt 0.113689 0.770833 +vt 0.095128 0.770833 +vt 0.090487 0.812500 +vt 0.039443 0.840278 +vt 0.076566 0.826389 +vt 0.192575 0.881944 +vt 0.180974 0.923611 +vt 0.192575 0.923611 +vt 0.180974 0.909722 +vt 0.192575 0.993056 +vt 0.180974 0.951389 +vt 0.180974 0.881944 +vt 0.180974 0.854167 +vt 0.180974 0.812500 +vt 0.234339 0.951389 +vt 0.192575 0.770833 +vt 0.178654 0.777778 +vt 0.215777 0.770833 +vt 0.234339 0.770833 +vt 0.290023 0.840278 +vt 0.238979 0.812500 +vt 0.327146 0.805556 +vt 0.327146 0.777778 +vt 0.327146 0.798611 +vt 0.327146 0.756944 +vt 0.113689 0.263889 +vt 0.174062 0.541539 +vt 0.180990 0.534627 +vt 0.180990 0.541539 +vt 0.187919 0.534627 +vt 0.187919 0.541539 +vt 0.174062 0.604126 +vt 0.180974 0.569444 +vt 0.180974 0.604167 +vt 0.187935 0.569444 +vt 0.187935 0.604167 +vt 0.187919 0.527714 +vt 0.174062 0.534627 +vt 0.180990 0.527714 +vt 0.180974 0.500000 +vt 0.187935 0.500000 +vt 0.174014 0.500000 +vt 0.187935 0.166667 +vt 0.180974 0.201389 +vt 0.180974 0.166667 +vt 0.180974 0.270833 +vt 0.187935 0.236111 +vt 0.187935 0.270833 +vt 0.180974 0.312500 +vt 0.187935 0.298611 +vt 0.187935 0.312500 +vt 0.180974 0.298611 +vt 0.174014 0.298611 +vt 0.180974 0.236111 +vt 0.187935 0.201389 +vt 0.174014 0.236111 +vt 0.174014 0.201389 +vt 0.174014 0.166667 +vt 0.180974 0.423611 +vt 0.174014 0.416667 +vt 0.180974 0.416667 +vt 0.180974 0.458333 +vt 0.174014 0.423611 +vt 0.174014 0.458333 +vt 0.187935 0.423611 +vt 0.187935 0.416667 +vt 0.187935 0.458333 +vt 0.174014 0.312500 +vt 0.180974 0.326389 +vt 0.174014 0.326389 +vt 0.187935 0.326389 +vt 0.174014 0.270833 +vt 0.187935 0.381944 +vt 0.180974 0.381944 +vt 0.187935 0.347222 +vt 0.174014 0.381944 +vt 0.180974 0.347222 +vt 0.174014 0.347222 +vt 0.122970 0.430556 +vt 0.113689 0.416667 +vt 0.122970 0.416667 +vt 0.122970 0.263889 +vt 0.113689 0.277778 +vt 0.113689 0.576389 +vt 0.076566 0.277778 +vt 0.002320 0.263889 +vt 0.076566 0.263889 +vt 0.076566 0.305556 +vt 0.076566 0.430556 +vt 0.002320 0.416667 +vt 0.076566 0.416667 +vt 0.113689 0.388889 +vt 0.122970 0.388889 +vt 0.002320 0.388889 +vt 0.076566 0.388889 +vt 0.002320 0.479167 +vt 0.076566 0.479167 +vt 0.113689 0.479167 +vt 0.122970 0.479167 +vt 0.122970 0.277778 +vt 0.113689 0.305556 +vt 0.076566 0.576389 +vt 0.113689 0.597222 +vt 0.002320 0.597222 +vt 0.113689 0.361111 +vt 0.122970 0.361111 +vt 0.076566 0.333333 +vt 0.002320 0.361111 +vt 0.002320 0.333333 +vt 0.122970 0.576389 +vt 0.113689 0.333333 +vt 0.076566 0.361111 +vt 0.076566 0.618056 +vt 0.122970 0.333333 +vt 0.122970 0.618056 +vt 0.122970 0.597222 +vt 0.002320 0.576389 +vt 0.113689 0.430556 +vt 0.002320 0.305556 +vt 0.002320 0.277778 +vt 0.002320 0.618056 +vt 0.076566 0.631944 +vt 0.002320 0.631944 +vt 0.190255 0.600694 +vt 0.190255 0.607639 +vt 0.171694 0.600694 +vt 0.171694 0.607639 +vt 0.171694 0.170139 +vt 0.171694 0.163194 +vt 0.190255 0.170139 +vt 0.190255 0.163194 +vt 0.171694 0.527778 +vt 0.174062 0.527714 +vt 0.190255 0.534722 +vt 0.190255 0.527778 +vt 0.190255 0.541667 +vt 0.190255 0.562500 +vt 0.171694 0.534722 +vt 0.174014 0.569444 +vt 0.171694 0.562500 +vt 0.190255 0.500000 +vt 0.190255 0.458333 +vt 0.190255 0.423611 +vt 0.190255 0.416667 +vt 0.171694 0.500000 +vt 0.171694 0.458333 +vt 0.171694 0.423611 +vt 0.171694 0.416667 +vt 0.171694 0.201389 +vt 0.171694 0.236111 +vt 0.171694 0.298611 +vt 0.171694 0.270833 +vt 0.190255 0.201389 +vt 0.190255 0.236111 +vt 0.190255 0.298611 +vt 0.190255 0.270833 +vt 0.171694 0.541667 +vt 0.171694 0.305556 +vt 0.190255 0.305556 +vt 0.190255 0.381944 +vt 0.171694 0.381944 +vt 0.190255 0.347222 +vt 0.171694 0.333333 +vt 0.171694 0.347222 +vt 0.190255 0.333333 +vt 0.190255 0.319444 +vt 0.190255 0.312500 +vt 0.171694 0.319444 +vt 0.171694 0.312500 +vt 0.654292 0.583333 +vt 0.747100 0.562500 +vt 0.747100 0.583333 +vt 0.654292 0.562500 +vt 0.747100 0.541667 +vt 0.654292 0.541667 +vt 0.747100 0.520833 +vt 0.654292 0.520833 +vt 0.747100 0.500000 +vt 0.654292 0.500000 +vt 0.747100 0.479167 +vt 0.747100 0.729167 +vt 0.654292 0.708333 +vt 0.747100 0.708333 +vt 0.747100 0.687500 +vt 0.654292 0.687500 +vt 0.747100 0.666667 +vt 0.654292 0.666667 +vt 0.747100 0.645833 +vt 0.654292 0.645833 +vt 0.747100 0.625000 +vt 0.654292 0.625000 +vt 0.747100 0.604167 +vt 0.654292 0.604167 +vt 0.765661 0.538194 +vt 0.450116 0.194444 +vt 0.756380 0.208333 +vt 0.450116 0.208333 +vt 0.765661 0.625000 +vt 0.765661 0.555556 +vt 0.765661 0.645833 +vt 0.765661 0.663194 +vt 0.765661 0.684028 +vt 0.765661 0.704861 +vt 0.765661 0.711806 +vt 0.765661 0.725694 +vt 0.765661 0.496528 +vt 0.765661 0.517361 +vt 0.765661 0.600694 +vt 0.765661 0.562500 +vt 0.765661 0.576389 +vt 0.450116 0.069444 +vt 0.756380 0.083333 +vt 0.450116 0.083333 +vt 0.450116 0.138889 +vt 0.756380 0.152778 +vt 0.450116 0.152778 +vt 0.450116 0.180556 +vt 0.756380 0.194444 +vt 0.450116 0.055556 +vt 0.756380 0.069444 +vt 0.450116 0.125000 +vt 0.756380 0.138889 +vt 0.450116 0.097222 +vt 0.756380 0.111111 +vt 0.450116 0.111111 +vt 0.450116 0.166667 +vt 0.756380 0.180556 +vt 0.450116 0.041667 +vt 0.756380 0.055556 +vt 0.756380 0.125000 +vt 0.756380 0.097222 +vt 0.756380 0.166667 +vt 0.058005 0.256944 +vt 0.051044 0.229167 +vt 0.058005 0.229167 +vt 0.051044 0.256944 +vt 0.044084 0.229167 +vt 0.044084 0.256944 +vt 0.037123 0.229167 +vt 0.037123 0.256944 +vt 0.030162 0.229167 +vt 0.030162 0.256944 +vt 0.023202 0.229167 +vt 0.023202 0.256944 +vt 0.016241 0.229167 +vt 0.016241 0.256944 +vt 0.009281 0.229167 +vt 0.009281 0.256944 +vt 0.002320 0.229167 +vt 0.017940 0.175716 +vt 0.020555 0.194611 +vt 0.017940 0.213507 +vt 0.651972 0.361111 +vt 0.707729 0.471259 +vt 0.703062 0.465473 +vt 0.701129 0.451504 +vt 0.707729 0.431749 +vt 0.714329 0.451503 +vt 0.758701 0.347222 +vt 0.758701 0.180556 +vt 0.143852 0.416667 +vt 0.143852 0.437500 +vt 0.171694 0.722222 +vt 0.002320 0.701389 +vt 0.164733 0.986111 +vt 0.002320 0.923611 +vt 0.150812 0.777778 +vt 0.178654 0.986111 +vt 0.252900 0.826389 +vt 0.002320 0.430556 +vt 0.122970 0.305556 +vt 0.113689 0.618056 +vt 0.654292 0.479167 +vt 0.654292 0.729167 +vt 0.765661 0.524306 +vt 0.765661 0.611111 +vt 0.765661 0.541667 +vt 0.765661 0.631944 +vt 0.765661 0.649306 +vt 0.765661 0.670139 +vt 0.765661 0.690972 +vt 0.765661 0.482639 +vt 0.765661 0.503472 +vt 0.765661 0.586806 +vt 0.756380 0.041667 +vt 0.002320 0.256944 +vt 0.011627 0.221333 +vt 0.005314 0.175716 +vt 0.005314 0.213507 +vt 0.002699 0.194611 +vt 0.011627 0.167889 +vt 0.825986 0.388889 +vt 0.844548 0.402778 +vt 0.825986 0.402778 +vt 0.844548 0.305556 +vt 0.846868 0.388889 +vt 0.844548 0.388889 +vt 0.825986 0.291667 +vt 0.844548 0.291667 +vt 0.825986 0.305556 +vt 0.823666 0.291667 +vt 0.825986 0.208333 +vt 0.844548 0.208333 +vt 0.851508 0.305556 +vt 0.851508 0.388889 +vt 0.846868 0.402778 +vt 0.846868 0.305556 +vt 0.870070 0.326389 +vt 0.870070 0.368056 +vt 0.823666 0.305556 +vt 0.819026 0.388889 +vt 0.819026 0.305556 +vt 0.823666 0.388889 +vt 0.800464 0.277778 +vt 0.800464 0.236111 +vt 0.819026 0.215278 +vt 0.851508 0.298611 +vt 0.863109 0.305556 +vt 0.819026 0.395833 +vt 0.807425 0.388889 +vt 0.798144 0.326389 +vt 0.800464 0.368056 +vt 0.798144 0.368056 +vt 0.863109 0.395833 +vt 0.851508 0.395833 +vt 0.807425 0.298611 +vt 0.819026 0.298611 +vt 0.872390 0.368056 +vt 0.872390 0.326389 +vt 0.800464 0.326389 +vt 0.870070 0.395833 +vt 0.872390 0.298611 +vt 0.800464 0.298611 +vt 0.798144 0.395833 +vt 0.870070 0.236111 +vt 0.870070 0.277778 +vt 0.846868 0.291667 +vt 0.863109 0.388889 +vt 0.823666 0.402778 +vt 0.807425 0.215278 +vt 0.863109 0.298611 +vt 0.807425 0.395833 +vt 0.807425 0.305556 +vt 0.872390 0.395833 +vt 0.870070 0.298611 +vt 0.798144 0.298611 +vt 0.800464 0.395833 +vt 0.851508 0.215278 +vt 0.863109 0.215278 +vt 0.276102 0.986111 +vt 0.273782 0.972222 +vt 0.276102 0.972222 +vt 0.283063 0.972222 +vt 0.280742 0.986111 +vt 0.280742 0.972222 +vt 0.285383 0.944444 +vt 0.283063 0.958333 +vt 0.280742 0.958333 +vt 0.271462 0.944444 +vt 0.276102 0.958333 +vt 0.273782 0.958333 +vt 0.271462 0.993056 +vt 0.271462 0.986111 +vt 0.285383 0.986111 +vt 0.280742 0.993056 +vt 0.276102 0.993056 +vt 0.285383 0.993056 +vt 0.257541 0.986111 +vt 0.255220 0.944444 +vt 0.257541 0.944444 +vt 0.255220 0.986111 +vt 0.245940 0.944444 +vt 0.269142 0.986111 +vt 0.266821 0.944444 +vt 0.269142 0.944444 +vt 0.266821 0.986111 +vt 0.266821 0.937500 +vt 0.257541 0.937500 +vt 0.257541 0.993056 +vt 0.266821 0.993056 +vt 0.245940 0.986111 +vt 0.613152 0.363030 +vt 0.614850 0.302109 +vt 0.614849 0.375000 +vt 0.583553 0.357710 +vt 0.579458 0.302109 +vt 0.583553 0.302109 +vt 0.587647 0.363030 +vt 0.589344 0.302109 +vt 0.589327 0.375000 +vt 0.587647 0.302109 +vt 0.603248 0.302083 +vt 0.603248 0.375000 +vt 0.609053 0.357710 +vt 0.613152 0.302109 +vt 0.579458 0.363030 +vt 0.577762 0.302109 +vt 0.604953 0.363030 +vt 0.603255 0.302109 +vt 0.604953 0.302109 +vt 0.609053 0.302109 +vt 0.628770 0.302083 +vt 0.628770 0.375000 +vt 0.613152 0.241189 +vt 0.614849 0.229167 +vt 0.583553 0.246508 +vt 0.579458 0.241189 +vt 0.587647 0.241189 +vt 0.589327 0.229167 +vt 0.603248 0.229167 +vt 0.609053 0.246508 +vt 0.577726 0.229167 +vt 0.604953 0.241189 +vt 0.628770 0.229167 +vt 0.577726 0.375000 +vt 0.292343 0.986111 +vt 0.287703 0.972222 +vt 0.292343 0.972222 +vt 0.276102 0.937500 +vt 0.280742 0.937500 +vt 0.292343 0.958333 +vt 0.287703 0.944444 +vt 0.292343 0.944444 +vt 0.287703 0.958333 +vt 0.287703 0.993056 +vt 0.287703 0.986111 +vt 0.292343 0.993056 +vt 0.559165 0.388889 +vt 0.556845 0.375000 +vt 0.559165 0.375000 +vt 0.559165 0.416667 +vt 0.556845 0.430556 +vt 0.556845 0.416667 +vt 0.559165 0.472222 +vt 0.556845 0.458333 +vt 0.559165 0.458333 +vt 0.559165 0.402778 +vt 0.556845 0.388889 +vt 0.556845 0.402778 +vt 0.559165 0.430556 +vt 0.556845 0.444444 +vt 0.559165 0.486111 +vt 0.556845 0.472222 +vt 0.559165 0.444444 +vt 0.552383 0.402320 +vt 0.552383 0.431210 +vt 0.542731 0.431210 +vt 0.552420 0.450847 +vt 0.552420 0.479492 +vt 0.542850 0.479493 +vt 0.573086 0.458333 +vt 0.573086 0.444444 +vt 0.573086 0.430556 +vt 0.573086 0.416667 +vt 0.573086 0.402778 +vt 0.575406 0.388889 +vt 0.573086 0.375000 +vt 0.575406 0.375000 +vt 0.575406 0.416667 +vt 0.575406 0.472222 +vt 0.575406 0.458333 +vt 0.573086 0.388889 +vt 0.575406 0.402778 +vt 0.575406 0.430556 +vt 0.575406 0.486111 +vt 0.573086 0.472222 +vt 0.575406 0.444444 +vt 0.631090 0.326389 +vt 0.686775 0.312500 +vt 0.686775 0.326389 +vt 0.631090 0.284722 +vt 0.686775 0.270833 +vt 0.686775 0.284722 +vt 0.631090 0.243056 +vt 0.686775 0.229167 +vt 0.686775 0.243056 +vt 0.631090 0.312500 +vt 0.686775 0.298611 +vt 0.631090 0.298611 +vt 0.631090 0.270833 +vt 0.686775 0.256944 +vt 0.631090 0.229167 +vt 0.686775 0.215278 +vt 0.631090 0.256944 +vt 0.717029 0.306052 +vt 0.707512 0.306052 +vt 0.707512 0.277568 +vt 0.707598 0.256881 +vt 0.707598 0.228715 +vt 0.717008 0.228714 +vt 0.700696 0.256944 +vt 0.700696 0.243056 +vt 0.700696 0.270833 +vt 0.700696 0.284722 +vt 0.700696 0.298611 +vt 0.700696 0.326389 +vt 0.703016 0.312500 +vt 0.703016 0.326389 +vt 0.703016 0.270833 +vt 0.703016 0.284722 +vt 0.703016 0.243056 +vt 0.700696 0.229167 +vt 0.703016 0.229167 +vt 0.703016 0.298611 +vt 0.703016 0.256944 +vt 0.703016 0.215278 +vt 0.556845 0.486111 +vt 0.540732 0.416765 +vt 0.542731 0.402320 +vt 0.547557 0.396337 +vt 0.554382 0.416765 +vt 0.547557 0.437193 +vt 0.554402 0.465170 +vt 0.547635 0.485425 +vt 0.540868 0.465170 +vt 0.542850 0.450847 +vt 0.547635 0.444914 +vt 0.573086 0.486111 +vt 0.631090 0.215278 +vt 0.712271 0.271669 +vt 0.717029 0.277568 +vt 0.719000 0.291810 +vt 0.712271 0.311950 +vt 0.705542 0.291810 +vt 0.718957 0.242798 +vt 0.717008 0.256881 +vt 0.712303 0.262714 +vt 0.705648 0.242798 +vt 0.712303 0.222881 +vt 0.700696 0.312500 +vt 0.700696 0.215278 +vn -0.0000 -0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 -0.0000 +vn 0.0000 1.0000 -0.0000 +vn 0.6667 0.6667 -0.3333 +vn 0.7071 0.7071 -0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.8944 -0.4472 +vn 0.0000 0.7071 0.7071 +vn -0.9487 -0.3162 0.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.8944 0.4472 +vn 0.9701 -0.2425 -0.0000 +vn -0.9457 -0.3152 -0.0788 +vn 0.0000 -0.8321 0.5547 +vn 0.0000 -0.9806 0.1961 +vn -0.9211 -0.3892 0.0000 +vn 0.0000 -0.7071 0.7071 +vn -0.0099 0.0296 -0.9995 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 -0.7071 -0.0000 +vn -0.8165 0.5773 0.0000 +vn -0.8422 0.5392 0.0000 +vn -0.9659 0.2588 0.0000 +vn -0.9659 -0.2588 0.0000 +vn -0.2588 -0.9659 0.0000 +vn 0.2588 -0.9659 -0.0000 +vn 0.9659 -0.2588 -0.0000 +vn 0.9659 0.2588 -0.0000 +vn 0.8422 0.5392 -0.0000 +vn 0.8165 0.5773 -0.0000 +vn 0.0000 -0.7071 -0.7071 +vn -0.9966 -0.0825 -0.0000 +vn -0.9864 0.1644 0.0000 +vn -0.9966 0.0825 0.0000 +vn 0.0000 0.0985 -0.9951 +vn 0.0000 0.9732 0.2298 +vn 0.0000 0.9522 0.3054 +vn 0.0000 0.8507 0.5257 +vn 0.0000 0.9454 0.3259 +vn 0.0000 0.9487 0.3162 +vn 0.0000 -0.0985 -0.9951 +vn 0.0000 -0.1961 -0.9806 +vn 0.0000 -0.0921 -0.9958 +vn 0.0000 0.9966 -0.0825 +vn 0.0000 -0.9923 0.1240 +vn 0.0000 0.8522 0.5232 +vn 0.0000 -0.9966 -0.0825 +vn 0.0000 -0.9864 -0.1644 +vn 0.0000 -0.8112 0.5847 +vn 0.0000 -0.9752 0.2212 +vn 0.0000 0.9864 -0.1644 +vn 0.0000 -0.7907 0.6121 +vn 0.0000 0.1961 -0.9806 +vn 0.0000 -0.7907 0.6122 +vn 0.0000 -0.7254 0.6883 +vn 0.0000 0.0921 -0.9958 +vn 0.9853 0.1706 -0.0077 +vn 0.9966 0.0825 0.0000 +vn 0.9966 -0.0825 -0.0000 +vn 0.9853 -0.1706 -0.0077 +vn 0.9955 -0.0941 -0.0084 +vn 0.9955 0.0941 -0.0084 +vn 0.9813 0.1899 -0.0317 +vn 0.9995 0.0322 -0.0000 +vn 0.9864 0.1644 -0.0000 +vn 0.9864 -0.1644 -0.0000 +vn 0.9987 -0.0507 -0.0000 +vn -0.9853 0.1706 -0.0077 +vn -0.9955 0.0941 -0.0084 +vn -0.9955 -0.0941 -0.0084 +vn -0.9995 0.0322 0.0000 +vn -0.9853 -0.1706 -0.0077 +vn -0.9813 -0.1899 -0.0317 +vn -0.9864 -0.1644 0.0000 +vn -0.9987 -0.0507 0.0000 +vn 0.0000 0.8944 0.4472 +vn 0.0000 -0.1370 -0.9906 +vn 0.0000 -0.7905 -0.6125 +vn 0.0000 -0.5590 -0.8291 +vn 0.0000 0.2423 -0.9702 +vn 0.0000 0.6359 -0.7717 +vn 0.0000 -0.8000 0.6000 +vn -0.0000 -0.3162 0.9487 +vn 0.0000 -0.6000 0.8000 +vn 0.0000 0.2298 0.9732 +vn 0.0000 0.3117 -0.9502 +vn 0.0000 -0.3528 -0.9357 +vn 0.0000 0.6900 -0.7238 +vn -0.0000 -0.9239 0.3827 +vn 0.0000 -0.8000 -0.6000 +vn 0.0000 -0.9288 -0.3705 +vn -0.9526 -0.3042 0.0000 +vn -0.9814 0.1922 -0.0000 +vn 0.9571 0.2898 0.0000 +vn 0.9526 -0.3042 -0.0000 +vn 0.9795 -0.2017 -0.0000 +vn -0.4585 -0.8887 0.0000 +vn 0.4719 0.8817 -0.0000 +vn -0.3097 0.9508 -0.0000 +vn -0.4719 0.8817 0.0000 +vn 0.3012 -0.9536 -0.0000 +vn -0.9571 0.2898 0.0000 +vn 0.4585 -0.8887 0.0000 +vn -0.5902 -0.6229 -0.5135 +vn -0.5834 -0.6334 -0.5085 +vn -0.6022 -0.6022 -0.5240 +vn 0.5834 -0.6334 -0.5085 +vn 0.5902 -0.6229 -0.5135 +vn 0.6022 -0.6022 -0.5240 +vn 0.6079 -0.6270 0.4871 +vn 0.5997 -0.6334 0.4890 +vn 0.6145 -0.6145 0.4948 +vn -0.5997 -0.6334 0.4890 +vn -0.6079 -0.6270 0.4871 +vn -0.6145 -0.6145 0.4947 +vn 0.7073 0.0000 -0.7069 +vn 0.6994 0.1498 -0.6989 +vn 0.6991 0.1855 -0.6906 +vn -0.7073 0.0000 -0.7069 +vn -0.6991 0.1855 -0.6906 +vn -0.6994 0.1498 -0.6989 +vn -0.7049 -0.0823 -0.7045 +vn -0.5834 -0.6333 -0.5085 +vn -0.6546 -0.4858 -0.5792 +vn -0.6943 -0.3555 -0.6257 +vn 0.7088 -0.0935 -0.6992 +vn 0.6546 -0.4858 -0.5792 +vn 0.6943 -0.3555 -0.6257 +vn -0.6691 0.4379 -0.6005 +vn -0.6341 0.5325 -0.5606 +vn -0.6149 0.5746 -0.5402 +vn -0.6414 0.5129 -0.5706 +vn -0.6853 0.2653 -0.6783 +vn -0.6932 0.1991 -0.6927 +vn -0.7338 -0.2367 -0.6368 +vn 0.6691 0.4379 -0.6005 +vn 0.6149 0.5746 -0.5402 +vn 0.6341 0.5325 -0.5606 +vn 0.6853 0.2653 -0.6783 +vn 0.6414 0.5129 -0.5706 +vn 0.7338 -0.2367 -0.6368 +vn 0.6931 0.1991 -0.6927 +vn 0.5718 -0.5982 0.5614 +vn 0.6247 -0.4686 0.6247 +vn 0.5968 -0.5359 0.5971 +vn 0.6806 -0.2708 0.6808 +vn 0.6247 -0.4685 0.6247 +vn 0.7005 0.1352 0.7007 +vn 0.6924 -0.2021 0.6926 +vn -0.5718 -0.5982 0.5614 +vn -0.5968 -0.5359 0.5971 +vn -0.6247 -0.4686 0.6247 +vn -0.6247 -0.4685 0.6247 +vn -0.6806 -0.2708 0.6808 +vn -0.7005 0.1352 0.7007 +vn -0.6924 -0.2021 0.6926 +vn -0.7088 -0.0935 -0.6992 +vn 0.7049 -0.0823 -0.7045 +vn 0.7389 -0.0063 0.6738 +vn 0.7043 0.1684 0.6896 +vn 0.7454 0.0000 0.6667 +vn -0.7389 -0.0063 0.6738 +vn -0.7043 0.1684 0.6896 +vn -0.7228 -0.5530 -0.4145 +vn -0.7221 -0.5534 -0.4151 +vn 0.7228 -0.5530 -0.4145 +vn 0.7340 -0.2418 -0.6346 +vn 0.7221 -0.5534 -0.4151 +vn 0.7002 -0.6597 -0.2729 +vn -0.7002 -0.6597 -0.2729 +vn -0.6957 -0.6697 -0.2597 +vn 0.7899 -0.5710 0.2235 +vn 0.6957 -0.6697 -0.2597 +vn -0.7899 -0.5710 0.2235 +vn -0.7454 -0.0000 0.6667 +vn -0.2588 0.9659 0.0000 +vn 0.2588 0.9659 -0.0000 +vn -0.9389 -0.2516 0.2347 +vn -0.9389 0.2516 0.2347 +vn 0.2516 0.9389 0.2347 +vn 0.6873 0.6874 0.2347 +vn -0.6873 0.6874 0.2347 +vn 0.9389 0.2516 0.2347 +vn 0.9389 -0.2516 0.2347 +vn 0.6873 -0.6873 0.2347 +vn 0.2516 -0.9389 0.2347 +vn -0.2516 -0.9389 0.2347 +vn -0.6873 -0.6873 0.2347 +vn -0.2516 0.9389 0.2347 +vn -0.7071 0.0000 0.7071 +vn -0.7071 -0.0000 -0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.9813 -0.1899 -0.0317 +vn -0.9813 0.1899 -0.0317 +vn -0.7341 -0.2418 -0.6346 +vn 0.7904 -0.5644 0.2383 +vn -0.7904 -0.5644 0.2383 +vn 0.0000 -0.3827 0.9239 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 -0.9239 -0.3827 +vn 0.0000 0.9239 0.3827 +vn -0.5458 -0.8379 0.0000 +vn 0.5458 0.8379 0.0000 +vn 0.0000 -0.2298 0.9732 +vn 0.0000 -0.3827 -0.9239 +vn 0.0000 0.4472 0.8944 +vn 0.2065 -0.9784 -0.0000 +vn 0.8379 -0.5458 -0.0000 +vn -0.9784 -0.2065 0.0000 +vn -0.8379 0.5458 0.0000 +vn 0.9784 0.2065 -0.0000 +vn 0.4261 0.9047 0.0000 +vn -0.6553 -0.7554 0.0000 +vn -0.2065 0.9784 -0.0000 +vn 0.6553 0.7554 -0.0000 +vn -0.4261 -0.9047 0.0000 +s off +f 101/189/66 102/190/66 103/191/66 +f 104/192/66 105/193/66 106/194/66 +f 107/195/67 108/196/67 109/197/67 +f 110/198/68 111/199/68 112/200/68 +f 113/201/69 114/202/69 115/203/69 +f 116/204/67 117/205/67 118/206/67 +f 119/207/67 120/208/67 121/209/67 +f 122/210/67 123/211/67 116/204/67 +f 124/212/67 125/213/67 122/210/67 +f 121/209/67 126/214/67 124/212/67 +f 118/206/67 127/215/67 128/216/67 +f 117/217/67 129/218/67 127/219/67 +f 130/220/67 131/221/67 120/222/67 +f 132/223/67 133/224/67 129/218/67 +f 134/225/67 135/226/67 131/221/67 +f 136/227/66 137/228/66 138/229/66 +f 139/230/67 140/231/67 141/232/67 +f 142/233/70 143/234/70 144/235/70 +f 140/231/67 145/236/67 141/232/67 +f 141/232/67 146/237/67 147/238/67 +f 148/239/68 149/240/68 150/241/68 +f 151/242/67 150/243/67 152/244/67 +f 153/245/69 154/246/69 155/247/69 +f 145/236/67 152/244/67 146/237/67 +f 155/247/69 156/248/69 153/245/69 +f 151/242/67 144/249/67 148/250/67 +f 142/251/67 151/242/67 145/236/67 +f 153/245/71 157/252/71 158/253/71 +f 139/230/67 147/238/67 154/246/67 +f 140/254/70 159/255/70 142/256/70 +f 140/254/72 153/245/72 158/253/72 +f 143/234/73 148/239/73 144/235/73 +f 160/257/72 161/258/72 162/259/72 +f 163/260/68 164/261/68 165/262/68 +f 166/263/74 167/264/74 164/265/74 +f 143/266/66 168/267/66 169/268/66 +f 170/269/69 171/270/69 172/271/69 +f 168/267/66 149/272/66 169/268/66 +f 173/273/66 174/274/66 168/267/66 +f 158/253/75 175/275/75 159/255/75 +f 176/276/66 177/277/66 178/278/66 +f 179/279/68 166/280/68 163/260/68 +f 180/281/66 138/229/66 181/282/66 +f 176/276/66 136/227/66 180/281/66 +f 136/227/66 161/283/66 182/284/66 +f 183/285/69 182/284/69 160/257/69 +f 184/286/69 185/287/69 156/248/69 +f 162/288/69 186/289/69 187/290/69 +f 175/291/75 143/234/75 159/292/75 +f 165/262/68 188/293/68 189/294/68 +f 156/248/72 172/295/72 157/252/72 +f 190/296/68 180/297/68 181/298/68 +f 189/294/68 191/299/68 190/296/68 +f 192/300/69 193/301/69 185/287/69 +f 194/302/69 160/257/69 193/301/69 +f 175/303/76 195/304/76 196/305/76 +f 197/306/68 198/307/68 199/308/68 +f 164/265/74 200/309/74 188/310/74 +f 157/311/76 201/312/76 175/303/76 +f 185/287/72 170/313/72 172/295/72 +f 193/301/72 162/259/72 170/313/72 +f 199/308/77 177/314/77 202/315/77 +f 196/316/68 168/317/68 143/318/68 +f 196/316/77 167/264/77 203/319/77 +f 204/320/77 200/309/77 167/264/77 +f 200/321/67 197/322/67 205/323/67 +f 178/324/78 206/325/78 176/326/78 +f 204/320/68 207/327/68 197/306/68 +f 191/328/74 177/314/74 180/329/74 +f 188/310/74 202/315/74 191/328/74 +f 173/330/79 203/319/79 166/263/79 +f 162/288/69 208/331/69 170/269/69 +f 199/332/66 202/333/66 209/334/66 +f 209/334/66 210/335/66 211/336/66 +f 209/334/68 212/337/68 205/323/68 +f 200/338/80 210/339/80 202/340/80 +f 205/323/67 213/341/67 200/321/67 +f 205/323/73 199/342/73 209/334/73 +f 187/290/70 206/325/70 214/343/70 +f 215/344/70 216/345/70 201/312/70 +f 171/270/70 217/346/70 216/345/70 +f 208/331/70 214/343/70 217/346/70 +f 216/345/70 195/304/70 201/312/70 +f 206/325/70 198/307/70 214/343/70 +f 217/346/70 218/347/70 216/345/70 +f 214/343/70 207/327/70 217/346/70 +f 172/271/69 215/344/69 157/348/69 +f 199/308/68 219/349/68 178/350/68 +f 204/320/68 195/304/68 218/347/68 +f 176/326/78 186/289/78 161/351/78 +f 181/298/70 210/352/70 190/296/70 +f 152/244/67 220/353/67 146/237/67 +f 147/238/67 221/354/67 154/246/67 +f 184/286/69 222/355/69 192/300/69 +f 189/294/70 223/356/70 165/262/70 +f 149/240/68 224/357/68 150/241/68 +f 163/260/70 174/358/70 179/279/70 +f 225/359/66 226/360/66 181/282/66 +f 192/300/69 227/361/69 194/302/69 +f 137/228/66 228/362/66 138/229/66 +f 155/247/69 229/363/69 184/286/69 +f 154/246/69 230/364/69 155/247/69 +f 146/237/67 231/365/67 147/238/67 +f 183/285/69 232/366/69 137/228/69 +f 138/229/66 225/359/66 181/282/66 +f 194/302/69 233/367/69 183/285/69 +f 150/243/67 234/368/67 152/244/67 +f 235/369/70 149/370/70 174/358/70 +f 236/371/66 237/372/66 226/360/66 +f 165/262/70 235/369/70 163/260/70 +f 190/296/70 213/373/70 189/294/70 +f 212/374/68 238/375/68 239/376/68 +f 239/376/68 240/377/68 241/378/68 +f 237/379/68 242/380/68 211/381/68 +f 211/381/68 243/382/68 212/374/68 +f 241/378/68 244/383/68 149/240/68 +f 213/373/70 239/384/70 223/356/70 +f 226/385/70 211/386/70 210/352/70 +f 223/356/70 241/387/70 235/369/70 +f 196/316/81 203/319/81 168/317/81 +f 245/388/68 246/389/68 247/390/68 +f 247/390/68 248/391/68 249/392/68 +f 250/393/74 251/394/74 252/395/74 +f 253/396/67 254/397/67 255/398/67 +f 252/395/74 256/399/74 253/400/74 +f 257/401/74 258/402/74 259/403/74 +f 260/404/74 261/405/74 262/406/74 +f 263/407/69 264/408/69 265/409/69 +f 266/410/68 267/411/68 268/412/68 +f 269/413/68 270/414/68 271/415/68 +f 272/416/68 273/417/68 274/418/68 +f 275/419/68 276/420/68 273/417/68 +f 277/421/68 278/422/68 279/423/68 +f 280/424/68 281/425/68 245/388/68 +f 282/426/69 283/427/69 284/428/69 +f 285/429/68 286/430/68 287/431/68 +f 288/432/66 289/433/66 264/434/66 +f 290/435/67 291/436/67 292/437/67 +f 293/438/66 294/439/66 295/440/66 +f 296/441/70 297/442/70 298/443/70 +f 299/444/70 300/445/70 301/446/70 +f 302/447/70 303/448/70 304/449/70 +f 304/449/70 305/450/70 302/447/70 +f 306/451/70 307/452/70 308/453/70 +f 309/454/69 310/455/69 311/456/69 +f 312/457/69 313/458/69 314/459/69 +f 315/460/69 316/461/69 317/462/69 +f 318/463/69 317/462/69 319/464/69 +f 299/444/69 320/465/69 321/466/69 +f 322/467/69 254/468/69 323/469/69 +f 324/470/70 325/471/70 326/472/70 +f 327/473/69 323/469/69 310/455/69 +f 328/474/70 329/475/70 324/470/70 +f 330/476/70 331/477/70 332/478/70 +f 310/455/69 251/479/69 333/480/69 +f 323/469/69 256/481/69 251/479/69 +f 334/482/69 265/409/69 335/483/69 +f 321/466/69 336/484/69 337/485/69 +f 319/464/69 338/486/69 339/487/69 +f 317/462/69 258/488/69 338/486/69 +f 314/459/69 261/489/69 340/490/69 +f 311/456/69 333/480/69 341/491/69 +f 280/424/68 305/450/68 342/492/68 +f 277/421/68 307/452/68 343/493/68 +f 344/494/68 276/420/68 329/475/68 +f 345/495/68 273/417/68 344/494/68 +f 298/443/68 271/415/68 346/496/68 +f 347/497/67 254/397/67 348/498/67 +f 302/447/68 249/392/68 349/499/68 +f 305/450/68 247/390/68 302/447/68 +f 350/500/74 286/501/74 351/502/74 +f 352/503/74 353/504/74 350/500/74 +f 354/505/66 297/442/66 355/506/66 +f 300/445/66 356/507/66 294/439/66 +f 349/499/67 357/508/67 303/448/67 +f 358/509/67 255/398/67 347/497/67 +f 359/510/70 360/511/70 361/512/70 +f 362/513/70 363/514/70 364/515/70 +f 365/516/70 364/515/70 366/517/70 +f 367/518/70 368/519/70 369/520/70 +f 322/467/70 370/521/70 371/522/70 +f 372/523/70 304/449/70 373/524/70 +f 371/522/70 348/498/70 322/467/70 +f 304/449/70 374/525/70 373/524/70 +f 375/526/74 287/527/74 376/528/74 +f 288/529/74 337/530/74 377/531/74 +f 377/532/69 378/533/69 379/534/69 +f 268/412/68 380/535/68 381/536/68 +f 278/422/74 382/537/74 383/538/74 +f 384/539/68 385/540/68 386/541/68 +f 387/542/74 262/406/74 261/405/74 +f 388/543/74 250/393/74 389/544/74 +f 390/545/74 391/546/74 278/422/74 +f 275/419/74 392/547/74 393/548/74 +f 257/401/74 394/549/74 395/550/74 +f 290/551/74 272/416/74 396/552/74 +f 338/553/74 282/554/74 339/555/74 +f 246/389/74 397/556/74 248/391/74 +f 398/557/74 253/400/74 399/558/74 +f 248/559/67 357/508/67 249/560/67 +f 399/561/67 255/398/67 400/562/67 +f 281/425/74 401/563/74 246/389/74 +f 250/393/74 398/557/74 389/544/74 +f 402/564/74 403/565/74 404/566/74 +f 402/564/74 405/567/74 406/568/74 +f 407/569/74 408/570/74 405/567/74 +f 409/571/67 410/572/67 411/573/67 +f 412/574/67 413/575/67 410/572/67 +f 414/576/67 415/577/67 413/575/67 +f 403/565/74 412/578/74 409/579/74 +f 406/568/74 414/580/74 412/578/74 +f 405/567/74 416/581/74 414/580/74 +f 417/582/68 418/583/68 267/411/68 +f 419/584/66 420/585/66 417/586/66 +f 421/587/74 422/588/74 292/589/74 +f 421/587/74 423/590/74 424/591/74 +f 425/592/74 426/593/74 423/590/74 +f 260/594/69 427/595/69 428/596/69 +f 429/597/66 430/598/66 431/599/66 +f 432/600/74 402/564/74 404/566/74 +f 433/601/74 407/569/74 402/564/74 +f 434/602/74 435/603/74 407/569/74 +f 268/604/70 436/605/70 437/606/70 +f 437/606/70 438/607/70 439/608/70 +f 439/608/70 440/609/70 441/610/70 +f 265/409/69 289/611/69 442/612/69 +f 267/411/68 443/613/68 380/535/68 +f 444/614/70 358/509/70 445/615/70 +f 446/616/70 447/617/70 444/614/70 +f 448/618/70 449/619/70 446/616/70 +f 450/620/70 444/614/70 445/615/70 +f 444/614/70 451/621/70 446/616/70 +f 451/621/70 448/618/70 446/616/70 +f 452/622/70 453/623/70 266/624/70 +f 454/625/70 455/626/70 452/622/70 +f 455/626/67 456/627/67 453/623/67 +f 457/628/67 458/629/67 455/626/67 +f 374/525/67 410/572/67 459/630/67 +f 459/630/67 413/575/67 449/619/67 +f 449/619/67 415/577/67 447/617/67 +f 460/631/74 461/632/74 462/633/74 +f 463/634/66 464/635/66 465/636/66 +f 466/637/67 467/638/67 468/639/67 +f 461/632/74 469/640/74 470/641/74 +f 471/642/68 472/643/68 473/644/68 +f 474/645/66 436/646/66 381/647/66 +f 475/648/66 438/649/66 436/646/66 +f 476/650/66 440/651/66 438/649/66 +f 425/592/74 477/652/74 478/653/74 +f 466/637/68 479/654/68 480/655/68 +f 292/589/74 481/656/74 421/587/74 +f 473/657/67 482/658/67 483/659/67 +f 478/653/74 484/660/74 395/550/74 +f 485/661/68 486/662/68 487/663/68 +f 488/664/74 489/665/74 490/666/74 +f 491/667/74 492/668/74 493/669/74 +f 491/670/68 494/671/68 396/672/68 +f 318/463/70 495/673/70 496/674/70 +f 497/675/69 498/676/69 499/677/69 +f 500/678/68 501/679/68 502/680/68 +f 503/681/69 488/682/69 490/683/69 +f 504/684/70 345/495/70 505/685/70 +f 506/686/69 507/687/69 503/681/69 +f 489/688/69 508/689/69 509/690/69 +f 492/668/68 501/679/68 510/691/68 +f 511/692/74 512/693/74 513/694/74 +f 514/695/74 515/696/74 516/697/74 +f 498/698/74 486/662/74 517/699/74 +f 511/700/66 517/701/66 518/702/66 +f 519/703/67 520/704/67 497/675/67 +f 521/705/69 522/706/69 523/707/69 +f 524/708/66 515/709/66 525/710/66 +f 526/711/68 527/712/68 466/637/68 +f 518/702/66 486/713/66 528/714/66 +f 529/715/74 517/699/74 530/716/74 +f 380/717/66 531/718/66 285/429/66 +f 355/506/66 381/647/66 354/505/66 +f 303/448/67 411/573/67 374/525/67 +f 532/719/74 404/566/74 533/720/74 +f 534/721/66 535/722/66 536/723/66 +f 292/589/74 392/547/74 290/551/74 +f 401/563/74 409/579/74 397/556/74 +f 397/724/67 411/573/67 357/508/67 +f 404/566/74 401/563/74 533/720/74 +f 537/725/66 538/726/66 419/584/66 +f 373/524/70 459/630/70 448/618/70 +f 539/727/70 373/524/70 448/618/70 +f 350/500/74 540/728/74 352/503/74 +f 541/729/74 351/502/74 542/730/74 +f 543/731/66 515/709/66 544/732/66 +f 545/733/67 546/734/67 521/705/67 +f 522/706/74 515/696/74 547/735/74 +f 395/736/67 283/427/67 257/737/67 +f 378/738/74 470/641/74 379/739/74 +f 548/740/74 461/632/74 378/738/74 +f 370/521/70 445/615/70 371/522/70 +f 445/615/70 347/497/70 371/522/70 +f 549/741/70 457/628/70 454/625/70 +f 389/544/74 408/570/74 435/603/74 +f 416/742/67 400/562/67 415/577/67 +f 408/570/74 399/558/74 416/581/74 +f 335/743/66 550/744/66 551/745/66 +f 395/550/74 426/593/74 478/653/74 +f 552/746/74 389/544/74 435/603/74 +f 441/610/70 295/747/70 263/748/70 +f 334/749/70 553/750/70 549/741/70 +f 554/751/74 555/752/74 556/753/74 +f 447/617/67 400/562/67 358/509/67 +f 557/754/66 295/440/66 440/651/66 +f 263/748/70 549/741/70 441/610/70 +f 556/753/74 335/743/74 551/745/74 +f 441/610/70 454/625/70 439/608/70 +f 439/608/70 452/622/70 437/606/70 +f 437/606/70 266/624/70 268/604/70 +f 558/755/74 551/745/74 537/725/74 +f 559/756/74 537/725/74 419/584/74 +f 560/757/74 419/584/74 417/586/74 +f 561/758/69 335/483/69 555/759/69 +f 453/760/68 417/582/68 266/410/68 +f 335/483/69 442/612/69 562/761/69 +f 551/745/66 563/762/66 537/725/66 +f 564/763/69 565/764/69 566/765/69 +f 567/766/67 565/767/67 568/768/67 +f 508/769/74 569/770/74 509/771/74 +f 570/772/74 571/773/74 572/774/74 +f 573/775/68 510/691/68 574/776/68 +f 575/777/69 509/690/69 548/778/69 +f 359/510/69 503/681/69 576/779/69 +f 576/779/69 490/683/69 577/780/69 +f 331/477/68 510/691/68 500/678/68 +f 493/669/74 573/775/74 386/781/74 +f 490/666/74 575/782/74 577/783/74 +f 578/784/74 579/785/74 569/770/74 +f 493/786/68 580/787/68 491/670/68 +f 581/788/70 582/789/70 495/673/70 +f 583/790/74 584/791/74 571/773/74 +f 585/792/70 502/680/70 504/684/70 +f 586/793/66 587/794/66 588/795/66 +f 589/796/69 590/797/69 591/798/69 +f 592/799/66 464/635/66 593/800/66 +f 468/639/69 594/801/69 595/802/69 +f 395/736/68 596/803/68 526/711/68 +f 597/804/67 589/796/67 591/798/67 +f 598/805/66 599/806/66 586/793/66 +f 588/807/68 600/808/68 601/809/68 +f 602/810/66 465/811/66 543/812/66 +f 511/692/66 603/813/66 602/810/66 +f 604/814/69 605/815/69 606/816/69 +f 607/817/68 608/818/68 471/642/68 +f 609/819/68 610/820/68 607/817/68 +f 442/612/69 606/816/69 562/761/69 +f 563/762/66 611/821/66 538/726/66 +f 612/822/67 613/823/67 289/824/67 +f 614/825/67 568/768/67 615/826/67 +f 442/612/69 613/827/69 604/814/69 +f 616/828/69 568/829/69 564/763/69 +f 420/585/66 538/726/66 611/821/66 +f 418/583/68 617/830/68 609/819/68 +f 443/831/67 618/832/67 619/833/67 +f 620/834/67 483/659/67 621/835/67 +f 550/744/66 622/836/66 563/762/66 +f 418/583/68 623/837/68 443/613/68 +f 607/817/68 473/644/68 620/838/68 +f 379/739/74 289/839/74 624/840/74 +f 542/730/74 443/841/74 619/842/74 +f 470/641/74 612/843/74 289/839/74 +f 288/432/69 379/534/69 624/844/69 +f 377/531/74 336/845/74 625/846/74 +f 376/528/74 384/847/74 270/414/74 +f 351/502/74 531/848/74 443/841/74 +f 297/442/68 269/413/68 298/443/68 +f 356/849/69 337/485/69 626/850/69 +f 627/851/69 321/466/69 356/849/69 +f 628/852/70 301/446/70 360/511/70 +f 330/476/70 298/443/70 346/496/70 +f 287/431/68 353/853/68 384/539/68 +f 629/854/68 376/528/68 269/413/68 +f 630/855/74 631/856/74 632/857/74 +f 483/858/68 633/859/68 621/860/68 +f 482/861/68 634/862/68 483/858/68 +f 612/863/69 635/864/69 636/865/69 +f 567/866/69 637/867/69 630/855/69 +f 632/857/74 638/868/74 482/861/74 +f 618/869/68 542/870/68 619/871/68 +f 636/865/69 639/872/69 614/873/69 +f 640/874/68 541/875/68 542/870/68 +f 469/876/69 641/877/69 635/864/69 +f 637/867/74 642/878/74 631/856/74 +f 643/879/69 644/880/69 637/867/69 +f 631/856/74 645/881/74 638/868/74 +f 638/868/68 646/882/68 634/862/68 +f 577/783/74 625/846/74 336/845/74 +f 386/781/74 270/414/74 384/847/74 +f 346/496/68 574/776/68 331/477/68 +f 320/465/69 577/780/69 336/484/69 +f 628/852/69 576/779/69 320/465/69 +f 575/777/69 378/533/69 625/883/69 +f 270/414/68 574/776/68 271/415/68 +f 509/771/74 462/633/74 548/740/74 +f 571/773/74 540/728/74 572/774/74 +f 569/770/74 460/631/74 462/633/74 +f 386/541/68 584/884/68 493/786/68 +f 506/686/70 361/512/70 582/789/70 +f 571/773/74 385/885/74 352/503/74 +f 332/478/70 500/678/70 585/792/70 +f 647/886/69 648/887/69 641/877/69 +f 644/880/69 649/888/69 650/889/69 +f 541/875/68 651/890/68 540/891/68 +f 645/881/68 652/892/68 646/882/68 +f 650/889/69 649/888/69 653/893/69 +f 648/887/69 579/894/69 654/895/69 +f 572/896/68 651/890/68 655/897/68 +f 655/897/68 656/898/68 657/899/68 +f 653/893/69 658/900/69 659/901/69 +f 657/899/68 652/892/68 660/902/68 +f 658/900/69 654/895/69 659/901/69 +f 291/436/69 661/903/69 292/437/69 +f 580/787/68 601/809/68 494/671/68 +f 591/798/69 662/904/69 291/436/69 +f 570/905/66 586/793/66 583/906/66 +f 663/907/67 591/798/67 291/436/67 +f 480/655/68 664/908/68 545/733/68 +f 283/427/69 595/802/69 284/428/69 +f 508/909/66 593/800/66 578/910/66 +f 421/587/74 665/911/74 425/592/74 +f 583/906/66 588/795/66 580/912/66 +f 526/711/67 468/639/67 283/427/67 +f 578/910/66 463/634/66 666/913/66 +f 579/894/69 463/914/69 654/895/69 +f 598/915/68 572/896/68 655/897/68 +f 465/916/69 654/895/69 463/914/69 +f 655/897/68 667/917/68 598/915/68 +f 652/892/68 668/918/68 660/902/68 +f 635/919/67 633/920/67 639/921/67 +f 634/922/70 669/923/70 643/924/70 +f 646/925/70 649/926/70 669/923/70 +f 635/927/74 670/928/74 640/929/74 +f 651/930/74 641/931/74 648/932/74 +f 651/930/66 658/933/66 656/934/66 +f 658/933/66 652/935/66 656/934/66 +f 632/936/67 671/937/67 630/938/67 +f 672/939/67 632/936/67 482/658/67 +f 673/940/69 566/765/69 674/941/69 +f 675/942/68 676/943/68 677/944/68 +f 678/945/69 679/946/69 680/947/69 +f 608/818/68 677/944/68 471/642/68 +f 681/948/68 676/943/68 682/949/68 +f 482/658/67 683/950/67 672/939/67 +f 684/951/68 685/952/68 686/953/68 +f 682/949/68 687/954/68 685/952/68 +f 688/955/69 680/947/69 689/956/69 +f 630/938/67 690/957/67 565/767/67 +f 691/958/69 692/959/69 693/960/69 +f 694/961/69 692/959/69 695/962/69 +f 689/956/69 696/963/69 694/961/69 +f 697/964/68 698/965/68 699/966/68 +f 697/964/68 686/953/68 700/967/68 +f 639/921/67 634/922/67 643/924/67 +f 614/873/69 643/879/69 567/866/69 +f 621/860/68 640/874/68 618/869/68 +f 609/819/68 620/838/68 623/837/68 +f 550/744/66 562/968/66 701/969/66 +f 623/970/67 621/835/67 618/832/67 +f 604/814/69 615/971/69 616/828/69 +f 636/972/67 615/826/67 613/823/67 +f 565/764/69 690/973/69 702/974/69 +f 616/828/69 673/940/69 605/815/69 +f 703/975/68 704/976/68 705/977/68 +f 693/960/69 706/978/69 707/979/69 +f 508/689/69 595/802/69 592/980/69 +f 494/671/68 597/804/68 663/907/68 +f 601/809/68 708/981/68 597/804/68 +f 592/980/69 594/801/69 709/982/69 +f 546/734/74 516/697/74 522/706/74 +f 523/707/69 547/735/69 524/983/69 +f 520/984/74 487/663/74 498/698/74 +f 505/685/70 344/494/70 328/474/70 +f 315/460/70 496/674/70 363/514/70 +f 396/672/68 663/907/68 290/435/68 +f 519/703/68 487/663/68 710/985/68 +f 339/555/74 711/986/74 488/664/74 +f 396/552/74 712/987/74 491/667/74 +f 502/680/68 274/418/68 345/495/68 +f 507/687/69 339/487/69 488/682/69 +f 581/788/69 319/464/69 507/687/69 +f 711/988/69 284/428/69 508/689/69 +f 712/987/68 274/418/68 501/679/68 +f 477/989/67 596/803/67 484/990/67 +f 665/991/67 713/992/67 477/989/67 +f 481/993/67 714/994/67 665/991/67 +f 514/995/68 543/812/68 544/996/68 +f 511/692/69 529/997/69 530/998/69 +f 715/999/67 516/1000/67 664/908/67 +f 513/1001/67 498/676/67 529/1002/67 +f 661/903/67 716/1003/67 481/993/67 +f 590/797/67 717/1004/67 718/1005/67 +f 719/1006/67 479/654/67 527/712/67 +f 720/1007/67 721/1008/67 719/1006/67 +f 718/1005/67 722/1009/67 720/1007/67 +f 716/1003/67 720/1007/67 714/994/67 +f 714/994/67 719/1006/67 713/992/67 +f 713/992/67 527/712/67 596/803/67 +f 662/904/67 718/1005/67 716/1003/67 +f 717/1004/67 499/677/67 513/1001/67 +f 479/654/67 715/999/67 664/908/67 +f 721/1008/67 512/1010/67 715/999/67 +f 722/1009/67 513/1001/67 512/1010/67 +f 600/808/68 519/703/68 708/981/68 +f 709/982/69 523/707/69 524/983/69 +f 545/733/68 516/1000/68 723/1011/68 +f 715/1012/74 602/810/74 543/812/74 +f 480/655/67 521/705/67 467/638/67 +f 465/636/66 525/710/66 543/731/66 +f 599/806/66 528/714/66 587/794/66 +f 709/1013/66 525/710/66 464/635/66 +f 467/638/69 523/707/69 594/801/69 +f 708/981/67 497/675/67 589/796/67 +f 667/1014/66 518/702/66 599/806/66 +f 497/675/69 724/1015/69 589/796/69 +f 587/1016/68 485/661/68 600/808/68 +f 426/593/74 536/1017/74 725/1018/74 +f 392/547/74 429/1019/74 431/1020/74 +f 423/590/74 725/1018/74 726/1021/74 +f 424/591/74 726/1021/74 727/1022/74 +f 422/588/74 727/1022/74 429/1019/74 +f 394/549/74 534/1023/74 536/1017/74 +f 393/548/74 431/1020/74 728/1024/74 +f 312/457/70 366/517/70 729/1025/70 +f 276/420/68 325/471/68 329/475/68 +f 316/461/69 730/1026/69 258/488/69 +f 326/472/70 343/493/70 731/1027/70 +f 362/513/69 732/1028/69 316/461/69 +f 393/548/68 733/1029/68 276/420/68 +f 259/403/74 730/1030/74 534/1023/74 +f 734/1031/69 388/1032/69 735/1033/69 +f 382/537/74 432/600/74 532/719/74 +f 431/599/68 736/1034/68 737/1035/68 +f 734/1036/74 738/1037/74 388/543/74 +f 333/1038/74 738/1037/74 341/1039/74 +f 739/1040/74 533/720/74 281/425/74 +f 327/473/70 740/1041/70 370/521/70 +f 308/453/68 280/424/68 342/492/68 +f 741/1042/69 341/491/69 387/1043/69 +f 367/518/69 311/456/69 741/1042/69 +f 742/1044/70 342/492/70 305/450/70 +f 743/1045/68 739/1040/68 280/424/68 +f 535/722/68 744/1046/68 745/1047/68 +f 736/1034/68 746/1048/68 747/1049/68 +f 748/1050/69 749/1051/69 750/1052/69 +f 747/1049/67 751/1053/67 752/1054/67 +f 748/1050/66 753/1055/66 430/598/66 +f 754/1056/66 749/1051/66 755/1057/66 +f 756/1058/82 388/1059/82 552/1060/82 +f 757/1061/82 552/1060/82 434/1062/82 +f 758/1063/82 434/1062/82 433/1064/82 +f 759/1065/82 433/1064/82 432/1066/82 +f 760/1067/67 427/595/67 262/1068/67 +f 761/1069/68 759/1070/68 762/1071/68 +f 391/1072/67 752/1054/67 761/1073/67 +f 432/1074/68 762/1071/68 759/1070/68 +f 752/1075/83 758/1063/83 759/1065/83 +f 763/1076/83 757/1061/83 758/1063/83 +f 764/1077/83 756/1058/83 757/1061/83 +f 765/1078/83 735/1079/83 756/1058/83 +f 279/423/68 383/538/68 743/1045/68 +f 766/1080/69 741/1042/69 313/458/69 +f 313/458/69 387/1043/69 261/489/69 +f 307/452/68 743/1045/68 308/453/68 +f 760/1081/74 767/1082/74 734/1036/74 +f 391/546/74 762/1083/74 382/537/74 +f 760/1084/69 735/1033/69 768/1085/69 +f 341/1039/74 767/1082/74 387/542/74 +f 383/538/74 532/719/74 739/1040/74 +f 309/454/70 369/520/70 740/1041/70 +f 769/1086/70 308/453/70 342/492/70 +f 770/1087/66 771/1088/66 754/1056/66 +f 755/1057/69 429/597/69 772/1089/69 +f 755/1057/66 773/1090/66 754/1056/66 +f 763/1091/67 774/1092/67 764/1093/67 +f 737/1035/68 747/1049/68 391/1072/68 +f 731/1027/70 307/452/70 775/1094/70 +f 766/1080/70 729/1025/70 368/519/70 +f 534/721/69 428/596/69 776/1095/69 +f 728/1024/74 737/1096/74 390/545/74 +f 733/1029/68 343/493/68 325/471/68 +f 732/1028/69 340/490/69 730/1026/69 +f 365/516/69 314/459/69 732/1028/69 +f 733/1029/68 390/545/68 277/421/68 +f 534/1023/74 340/1097/74 260/404/74 +f 744/1098/74 777/1099/74 778/1100/74 +f 749/1101/74 779/1102/74 751/1053/74 +f 771/1103/74 774/1092/74 779/1102/74 +f 780/1104/74 781/1105/74 774/1092/74 +f 782/1106/74 751/1053/74 746/1048/74 +f 783/1107/74 778/1100/74 781/1105/74 +f 753/1108/74 749/1101/74 782/1106/74 +f 784/1109/74 785/1110/74 744/1098/74 +f 752/1054/67 779/1102/67 763/1091/67 +f 428/596/69 777/1099/69 785/1111/69 +f 745/1047/66 783/1112/66 786/1113/66 +f 430/598/68 782/1114/68 736/1034/68 +f 765/1115/67 778/1100/67 768/1116/67 +f 776/1095/66 784/1117/66 535/722/66 +f 776/1095/69 785/1111/69 787/1118/69 +f 768/1116/67 777/1099/67 427/595/67 +f 764/1093/67 781/1105/67 765/1115/67 +f 786/1113/66 780/1119/66 770/1120/66 +f 725/1018/74 788/1121/74 789/1122/74 +f 726/1021/74 789/1122/74 790/1123/74 +f 727/1022/74 790/1123/74 773/1124/74 +f 429/1019/74 773/1124/74 772/1125/74 +f 770/1120/66 789/1126/66 786/1113/66 +f 745/1047/68 536/723/68 535/722/68 +f 754/1056/66 790/1127/66 770/1087/66 +f 786/1113/66 788/1128/66 745/1047/66 +f 381/647/66 375/1129/66 629/1130/66 +f 264/1131/66 356/507/66 626/1132/66 +f 791/1133/74 556/753/74 558/755/74 +f 792/1134/74 558/755/74 559/756/74 +f 793/1135/74 559/756/74 560/757/74 +f 794/1136/69 555/759/69 795/1137/69 +f 793/1138/68 453/760/68 796/1139/68 +f 458/629/67 797/1140/67 456/627/67 +f 798/1141/70 799/1142/70 800/1143/70 +f 553/750/67 801/1144/67 457/628/67 +f 561/1145/67 802/1146/67 553/750/67 +f 803/1147/70 804/1148/70 805/1149/70 +f 806/1150/70 807/1151/70 803/1147/70 +f 805/1152/67 808/1153/67 797/1140/67 +f 809/1154/67 806/1155/67 802/1146/67 +f 801/1144/67 805/1152/67 458/629/67 +f 810/1156/70 811/1157/70 798/1141/70 +f 802/1146/67 803/1158/67 801/1144/67 +f 812/1159/67 813/1160/67 814/1161/67 +f 815/1162/67 812/1159/67 806/1155/67 +f 816/1163/70 817/1164/70 818/1165/70 +f 819/1166/84 820/1167/84 821/1168/84 +f 822/1169/67 814/1170/67 813/1160/67 +f 818/1165/70 823/1171/70 816/1163/70 +f 824/1172/70 798/1141/70 807/1151/70 +f 807/1151/70 800/1143/70 804/1148/70 +f 820/1167/84 825/1173/84 821/1168/84 +f 826/1174/67 827/1175/67 823/1171/67 +f 465/1176/74 828/1177/74 659/1178/74 +f 659/1178/67 829/1179/67 653/1180/67 +f 653/1180/85 830/1181/85 650/889/85 +f 650/889/74 642/878/74 644/880/74 +f 830/1181/74 645/881/74 642/878/74 +f 668/918/85 829/1179/85 660/1182/85 +f 828/1177/67 660/1182/67 829/1179/67 +f 603/1183/74 657/1184/74 828/1177/74 +f 831/1185/68 682/949/68 684/951/68 +f 680/947/69 832/1186/69 696/963/69 +f 677/944/68 676/943/68 833/1187/68 +f 834/1188/68 684/951/68 697/964/68 +f 696/963/69 835/1189/69 692/959/69 +f 693/960/69 835/1189/69 706/978/69 +f 707/979/69 836/1190/69 837/1191/69 +f 834/1188/68 699/966/68 838/1192/68 +f 838/1192/68 699/966/68 704/976/68 +f 674/941/69 678/945/69 688/955/69 +f 839/1193/69 840/1194/69 841/1195/69 +f 842/1196/67 843/1197/67 840/1198/67 +f 844/1199/68 845/1200/68 843/1201/68 +f 846/1202/66 841/1203/66 845/1204/66 +f 842/1196/70 846/1202/70 844/1199/70 +f 847/1205/67 848/1206/67 849/1207/67 +f 850/1208/68 851/1209/68 848/1206/68 +f 848/1210/74 852/1211/74 849/1212/74 +f 847/1213/70 853/1214/70 850/1215/70 +f 854/1216/66 855/1217/66 856/1218/66 +f 851/1219/74 855/1220/74 852/1211/74 +f 857/1221/70 854/1222/70 853/1214/70 +f 854/1222/70 858/1223/70 853/1214/70 +f 858/1223/68 859/1224/68 860/1225/68 +f 856/1218/66 861/1226/66 854/1216/66 +f 853/1227/67 860/1225/67 851/1209/67 +f 851/1219/74 859/1224/74 856/1228/74 +f 102/190/66 862/1229/66 103/191/66 +f 862/1229/66 863/1230/66 103/191/66 +f 863/1230/66 864/1231/66 103/191/66 +f 103/191/66 865/1232/66 866/1233/66 +f 866/1233/66 101/189/66 103/191/66 +f 106/194/66 867/1234/66 104/192/66 +f 867/1234/66 868/1235/66 104/192/66 +f 868/1235/66 869/1236/66 104/192/66 +f 104/192/66 870/1237/66 871/1238/66 +f 871/1238/66 872/1239/66 105/193/66 +f 105/193/66 873/1240/66 874/1241/66 +f 874/1241/66 875/1242/66 105/193/66 +f 875/1242/66 106/194/66 105/193/66 +f 104/192/66 871/1238/66 105/193/66 +f 876/1243/67 877/1244/67 109/197/67 +f 109/197/67 878/1245/67 879/1246/67 +f 879/1246/67 880/1247/67 881/1248/67 +f 881/1248/67 882/1249/67 879/1246/67 +f 882/1249/67 107/195/67 879/1246/67 +f 107/195/67 883/1250/67 108/196/67 +f 108/196/67 884/1251/67 109/197/67 +f 884/1251/67 876/1243/67 109/197/67 +f 109/197/67 879/1246/67 107/195/67 +f 885/1252/68 886/1253/68 110/198/68 +f 110/198/68 887/1254/68 111/199/68 +f 111/199/68 888/1255/68 112/200/68 +f 112/200/68 889/1256/68 885/1252/68 +f 885/1252/68 110/198/68 112/200/68 +f 115/203/69 890/1257/69 891/1258/69 +f 891/1258/69 892/1259/69 113/201/69 +f 113/201/69 893/1260/69 114/202/69 +f 114/202/69 894/1261/69 115/203/69 +f 115/203/69 891/1258/69 113/201/69 +f 116/204/67 123/211/67 117/205/67 +f 119/207/67 130/1262/67 120/208/67 +f 122/210/67 125/213/67 123/211/67 +f 124/212/67 126/214/67 125/213/67 +f 121/209/67 120/208/67 126/214/67 +f 118/206/67 117/205/67 127/215/67 +f 117/217/67 132/223/67 129/218/67 +f 130/220/67 134/225/67 131/221/67 +f 132/223/67 895/1263/67 133/224/67 +f 134/225/67 896/1264/67 135/226/67 +f 136/227/66 182/284/66 137/228/66 +f 142/233/70 159/292/70 143/234/70 +f 140/231/67 142/251/67 145/236/67 +f 141/232/67 145/236/67 146/237/67 +f 148/239/68 169/1265/68 149/240/68 +f 151/242/67 148/250/67 150/243/67 +f 153/245/69 139/230/69 154/246/69 +f 145/236/67 151/242/67 152/244/67 +f 155/247/69 184/286/69 156/248/69 +f 142/251/67 144/249/67 151/242/67 +f 153/245/71 156/248/71 157/252/71 +f 139/230/67 141/232/67 147/238/67 +f 140/254/70 158/253/70 159/255/70 +f 140/254/72 139/230/72 153/245/72 +f 143/234/73 169/1265/73 148/239/73 +f 160/257/72 182/284/72 161/258/72 +f 163/260/68 166/280/68 164/261/68 +f 166/263/74 203/319/74 167/264/74 +f 170/269/69 208/331/69 171/270/69 +f 168/267/66 174/274/66 149/272/66 +f 173/273/66 179/279/66 174/274/66 +f 158/253/75 157/1266/75 175/275/75 +f 176/276/66 180/281/66 177/277/66 +f 179/279/68 173/273/68 166/280/68 +f 180/281/66 136/227/66 138/229/66 +f 176/276/66 161/283/66 136/227/66 +f 183/285/69 137/228/69 182/284/69 +f 184/286/69 192/300/69 185/287/69 +f 162/288/69 161/1267/69 186/289/69 +f 175/291/75 196/1268/75 143/234/75 +f 165/262/68 164/261/68 188/293/68 +f 156/248/72 185/287/72 172/295/72 +f 190/296/68 191/299/68 180/297/68 +f 189/294/68 188/293/68 191/299/68 +f 192/300/69 194/302/69 193/301/69 +f 194/302/69 183/285/69 160/257/69 +f 175/303/76 201/312/76 195/304/76 +f 197/306/68 207/327/68 198/307/68 +f 164/265/74 167/264/74 200/309/74 +f 157/311/76 215/344/76 201/312/76 +f 185/287/72 193/301/72 170/313/72 +f 193/301/72 160/257/72 162/259/72 +f 199/308/77 178/350/77 177/314/77 +f 196/316/77 204/320/77 167/264/77 +f 204/320/77 197/306/77 200/309/77 +f 178/324/78 219/349/78 206/325/78 +f 204/320/68 218/347/68 207/327/68 +f 191/328/74 202/315/74 177/314/74 +f 188/310/74 200/309/74 202/315/74 +f 173/330/79 168/1269/79 203/319/79 +f 162/288/69 187/290/69 208/331/69 +f 209/334/66 202/333/66 210/335/66 +f 209/334/68 211/336/68 212/337/68 +f 200/338/80 213/1270/80 210/339/80 +f 205/323/67 212/337/67 213/341/67 +f 205/323/73 197/1271/73 199/342/73 +f 187/290/70 186/289/70 206/325/70 +f 215/344/70 171/270/70 216/345/70 +f 171/270/70 208/331/70 217/346/70 +f 208/331/70 187/290/70 214/343/70 +f 216/345/70 218/347/70 195/304/70 +f 206/325/70 219/349/70 198/307/70 +f 217/346/70 207/327/70 218/347/70 +f 214/343/70 198/307/70 207/327/70 +f 172/271/69 171/270/69 215/344/69 +f 199/308/68 198/307/68 219/349/68 +f 204/320/68 196/316/68 195/304/68 +f 176/326/78 206/325/78 186/289/78 +f 181/298/70 226/385/70 210/352/70 +f 152/244/67 234/368/67 220/353/67 +f 147/238/67 231/365/67 221/354/67 +f 184/286/69 229/363/69 222/355/69 +f 189/294/70 213/373/70 223/356/70 +f 149/240/68 244/383/68 224/357/68 +f 163/260/70 235/369/70 174/358/70 +f 225/359/66 236/371/66 226/360/66 +f 192/300/69 222/355/69 227/361/69 +f 137/228/66 232/366/66 228/362/66 +f 155/247/69 230/364/69 229/363/69 +f 154/246/69 221/354/69 230/364/69 +f 146/237/67 220/353/67 231/365/67 +f 183/285/69 233/367/69 232/366/69 +f 138/229/66 228/362/66 225/359/66 +f 194/302/69 227/361/69 233/367/69 +f 150/243/67 224/1272/67 234/368/67 +f 235/369/70 241/387/70 149/370/70 +f 236/371/66 897/1273/66 237/372/66 +f 165/262/70 223/356/70 235/369/70 +f 190/296/70 210/352/70 213/373/70 +f 212/374/68 243/382/68 238/375/68 +f 239/376/68 238/375/68 240/377/68 +f 237/379/68 897/1274/68 242/380/68 +f 211/381/68 242/380/68 243/382/68 +f 241/378/68 240/377/68 244/383/68 +f 213/373/70 212/1275/70 239/384/70 +f 226/385/70 237/1276/70 211/386/70 +f 223/356/70 239/384/70 241/387/70 +f 245/388/68 281/425/68 246/389/68 +f 247/390/68 246/389/68 248/391/68 +f 250/393/74 333/1038/74 251/394/74 +f 253/396/67 256/1277/67 254/397/67 +f 252/395/74 251/394/74 256/399/74 +f 257/401/74 338/553/74 258/402/74 +f 260/404/74 340/1097/74 261/405/74 +f 263/407/69 295/1278/69 264/408/69 +f 266/410/68 417/582/68 267/411/68 +f 269/413/68 376/528/68 270/414/68 +f 272/416/68 275/419/68 273/417/68 +f 275/419/68 393/548/68 276/420/68 +f 277/421/68 390/545/68 278/422/68 +f 280/424/68 739/1040/68 281/425/68 +f 282/426/69 257/737/69 283/427/69 +f 285/429/68 531/718/68 286/430/68 +f 288/432/66 624/844/66 289/433/66 +f 290/435/67 663/907/67 291/436/67 +f 293/438/66 300/445/66 294/439/66 +f 296/441/70 355/506/70 297/442/70 +f 299/444/70 627/851/70 300/445/70 +f 302/447/70 349/499/70 303/448/70 +f 304/449/70 742/1044/70 305/450/70 +f 306/451/70 775/1094/70 307/452/70 +f 309/454/69 327/473/69 310/455/69 +f 312/457/69 766/1080/69 313/458/69 +f 315/460/69 362/513/69 316/461/69 +f 318/463/69 315/460/69 317/462/69 +f 299/444/69 628/852/69 320/465/69 +f 322/467/69 348/498/69 254/468/69 +f 324/470/70 329/475/70 325/471/70 +f 327/473/69 322/467/69 323/469/69 +f 328/474/70 344/494/70 329/475/70 +f 330/476/70 346/496/70 331/477/70 +f 310/455/69 323/469/69 251/479/69 +f 323/469/69 254/468/69 256/481/69 +f 334/482/69 263/407/69 265/409/69 +f 321/466/69 320/465/69 336/484/69 +f 319/464/69 317/462/69 338/486/69 +f 317/462/69 316/461/69 258/488/69 +f 314/459/69 313/458/69 261/489/69 +f 311/456/69 310/455/69 333/480/69 +f 280/424/68 245/388/68 305/450/68 +f 277/421/68 279/423/68 307/452/68 +f 344/494/68 273/417/68 276/420/68 +f 345/495/68 274/418/68 273/417/68 +f 298/443/68 269/413/68 271/415/68 +f 347/497/67 255/398/67 254/397/67 +f 302/447/68 247/390/68 249/392/68 +f 305/450/68 245/388/68 247/390/68 +f 350/500/74 353/504/74 286/501/74 +f 352/503/74 385/885/74 353/504/74 +f 354/505/66 629/1130/66 297/442/66 +f 300/445/66 627/851/66 356/507/66 +f 349/499/67 249/560/67 357/508/67 +f 358/509/67 400/562/67 255/398/67 +f 359/510/70 628/852/70 360/511/70 +f 362/513/70 315/460/70 363/514/70 +f 365/516/70 362/513/70 364/515/70 +f 367/518/70 766/1080/70 368/519/70 +f 322/467/70 327/473/70 370/521/70 +f 372/523/70 742/1044/70 304/449/70 +f 371/522/70 347/497/70 348/498/70 +f 304/449/70 303/448/70 374/525/70 +f 375/526/74 285/1279/74 287/527/74 +f 288/529/74 626/1280/74 337/530/74 +f 377/532/69 625/883/69 378/533/69 +f 268/412/68 267/411/68 380/535/68 +f 278/422/74 391/546/74 382/537/74 +f 384/539/68 353/853/68 385/540/68 +f 387/542/74 767/1082/74 262/406/74 +f 388/543/74 738/1037/74 250/393/74 +f 390/545/74 737/1096/74 391/546/74 +f 275/419/74 290/551/74 392/547/74 +f 257/401/74 259/403/74 394/549/74 +f 290/551/74 275/419/74 272/416/74 +f 338/553/74 257/401/74 282/554/74 +f 246/389/74 401/563/74 397/556/74 +f 398/557/74 252/395/74 253/400/74 +f 248/559/67 397/724/67 357/508/67 +f 399/561/67 253/396/67 255/398/67 +f 281/425/74 533/720/74 401/563/74 +f 250/393/74 252/395/74 398/557/74 +f 402/564/74 406/568/74 403/565/74 +f 402/564/74 407/569/74 405/567/74 +f 407/569/74 435/603/74 408/570/74 +f 409/571/67 412/574/67 410/572/67 +f 412/574/67 414/576/67 413/575/67 +f 414/576/67 416/742/67 415/577/67 +f 403/565/74 406/568/74 412/578/74 +f 406/568/74 405/567/74 414/580/74 +f 405/567/74 408/570/74 416/581/74 +f 417/582/68 420/1281/68 418/583/68 +f 419/584/66 538/726/66 420/585/66 +f 421/587/74 424/591/74 422/588/74 +f 421/587/74 425/592/74 423/590/74 +f 425/592/74 478/653/74 426/593/74 +f 260/594/69 262/1068/69 427/595/69 +f 429/597/66 748/1050/66 430/598/66 +f 432/600/74 433/601/74 402/564/74 +f 433/601/74 434/602/74 407/569/74 +f 434/602/74 552/746/74 435/603/74 +f 268/604/70 381/1282/70 436/605/70 +f 437/606/70 436/605/70 438/607/70 +f 439/608/70 438/607/70 440/609/70 +f 265/409/69 264/408/69 289/611/69 +f 267/411/68 418/583/68 443/613/68 +f 444/614/70 447/617/70 358/509/70 +f 446/616/70 449/619/70 447/617/70 +f 448/618/70 459/630/70 449/619/70 +f 450/620/70 898/1283/70 444/614/70 +f 444/614/70 898/1283/70 451/621/70 +f 451/621/70 539/727/70 448/618/70 +f 452/622/70 455/626/70 453/623/70 +f 454/625/70 457/628/70 455/626/70 +f 455/626/67 458/629/67 456/627/67 +f 457/628/67 801/1144/67 458/629/67 +f 374/525/67 411/573/67 410/572/67 +f 459/630/67 410/572/67 413/575/67 +f 449/619/67 413/575/67 415/577/67 +f 460/631/74 647/1284/74 461/632/74 +f 463/634/66 593/800/66 464/635/66 +f 466/637/67 480/655/67 467/638/67 +f 461/632/74 647/1284/74 469/640/74 +f 471/642/68 677/944/68 472/643/68 +f 474/645/66 475/648/66 436/646/66 +f 475/648/66 476/650/66 438/649/66 +f 476/650/66 557/754/66 440/651/66 +f 425/592/74 665/911/74 477/652/74 +f 466/637/68 527/712/68 479/654/68 +f 292/589/74 661/1285/74 481/656/74 +f 473/657/67 472/1286/67 482/658/67 +f 478/653/74 477/652/74 484/660/74 +f 485/661/68 528/1287/68 486/662/68 +f 488/664/74 711/986/74 489/665/74 +f 491/667/74 712/987/74 492/668/74 +f 491/670/68 580/787/68 494/671/68 +f 318/463/70 581/788/70 495/673/70 +f 497/675/69 520/704/69 498/676/69 +f 500/678/68 510/691/68 501/679/68 +f 503/681/69 507/687/69 488/682/69 +f 504/684/70 502/680/70 345/495/70 +f 506/686/69 581/788/69 507/687/69 +f 489/688/69 711/988/69 508/689/69 +f 492/668/68 712/987/68 501/679/68 +f 511/692/74 602/810/74 512/693/74 +f 514/695/74 544/1288/74 515/696/74 +f 498/698/74 487/663/74 486/662/74 +f 511/700/66 530/1289/66 517/701/66 +f 519/703/67 710/985/67 520/704/67 +f 521/705/69 546/734/69 522/706/69 +f 524/708/66 547/1290/66 515/709/66 +f 526/711/68 596/803/68 527/712/68 +f 518/702/66 517/701/66 486/713/66 +f 529/715/74 498/698/74 517/699/74 +f 380/717/66 443/1291/66 531/718/66 +f 355/506/66 474/645/66 381/647/66 +f 303/448/67 357/508/67 411/573/67 +f 532/719/74 432/600/74 404/566/74 +f 534/721/66 776/1095/66 535/722/66 +f 292/589/74 422/588/74 392/547/74 +f 401/563/74 403/565/74 409/579/74 +f 397/724/67 409/571/67 411/573/67 +f 404/566/74 403/565/74 401/563/74 +f 537/725/66 563/762/66 538/726/66 +f 373/524/70 374/525/70 459/630/70 +f 539/727/70 372/523/70 373/524/70 +f 350/500/74 541/729/74 540/728/74 +f 541/729/74 350/500/74 351/502/74 +f 543/731/66 525/710/66 515/709/66 +f 545/733/67 723/1011/67 546/734/67 +f 522/706/74 516/697/74 515/696/74 +f 395/736/67 526/711/67 283/427/67 +f 378/738/74 461/632/74 470/641/74 +f 548/740/74 462/633/74 461/632/74 +f 370/521/70 450/620/70 445/615/70 +f 445/615/70 358/509/70 347/497/70 +f 549/741/70 553/750/70 457/628/70 +f 389/544/74 398/557/74 408/570/74 +f 416/742/67 399/561/67 400/562/67 +f 408/570/74 398/557/74 399/558/74 +f 335/743/66 562/968/66 550/744/66 +f 395/550/74 394/549/74 426/593/74 +f 552/746/74 388/543/74 389/544/74 +f 441/610/70 440/609/70 295/747/70 +f 334/749/70 561/1145/70 553/750/70 +f 554/751/74 795/1292/74 555/752/74 +f 447/617/67 415/577/67 400/562/67 +f 557/754/66 293/438/66 295/440/66 +f 263/748/70 334/749/70 549/741/70 +f 556/753/74 555/752/74 335/743/74 +f 441/610/70 549/741/70 454/625/70 +f 439/608/70 454/625/70 452/622/70 +f 437/606/70 452/622/70 266/624/70 +f 558/755/74 556/753/74 551/745/74 +f 559/756/74 558/755/74 537/725/74 +f 560/757/74 559/756/74 419/584/74 +f 561/758/69 334/482/69 335/483/69 +f 453/760/68 560/1293/68 417/582/68 +f 335/483/69 265/409/69 442/612/69 +f 551/745/66 550/744/66 563/762/66 +f 564/763/69 568/829/69 565/764/69 +f 567/766/67 630/938/67 565/767/67 +f 508/769/74 578/784/74 569/770/74 +f 570/772/74 583/790/74 571/773/74 +f 573/775/68 492/668/68 510/691/68 +f 575/777/69 489/688/69 509/690/69 +f 359/510/69 506/686/69 503/681/69 +f 576/779/69 503/681/69 490/683/69 +f 331/477/68 574/776/68 510/691/68 +f 493/669/74 492/668/74 573/775/74 +f 490/666/74 489/665/74 575/782/74 +f 578/784/74 666/1294/74 579/785/74 +f 493/786/68 584/884/68 580/787/68 +f 581/788/70 506/686/70 582/789/70 +f 583/790/74 580/1295/74 584/791/74 +f 585/792/70 500/678/70 502/680/70 +f 586/793/66 599/806/66 587/794/66 +f 589/796/69 724/1015/69 590/797/69 +f 592/799/66 709/1013/66 464/635/66 +f 468/639/69 467/638/69 594/801/69 +f 395/736/68 484/990/68 596/803/68 +f 597/804/67 708/981/67 589/796/67 +f 598/805/66 667/1014/66 599/806/66 +f 588/807/68 587/1016/68 600/808/68 +f 602/810/66 603/813/66 465/811/66 +f 511/692/66 667/1296/66 603/813/66 +f 604/814/69 616/828/69 605/815/69 +f 607/817/68 610/820/68 608/818/68 +f 609/819/68 617/830/68 610/820/68 +f 442/612/69 604/814/69 606/816/69 +f 563/762/66 622/836/66 611/821/66 +f 612/822/67 636/972/67 613/823/67 +f 614/825/67 567/766/67 568/768/67 +f 442/612/69 289/611/69 613/827/69 +f 616/828/69 615/971/69 568/829/69 +f 418/583/68 420/1281/68 617/830/68 +f 443/831/67 623/970/67 618/832/67 +f 620/834/67 473/657/67 483/659/67 +f 550/744/66 701/969/66 622/836/66 +f 418/583/68 609/819/68 623/837/68 +f 607/817/68 471/642/68 473/644/68 +f 379/739/74 470/641/74 289/839/74 +f 542/730/74 351/502/74 443/841/74 +f 470/641/74 469/640/74 612/843/74 +f 288/432/69 377/532/69 379/534/69 +f 377/531/74 337/530/74 336/845/74 +f 376/528/74 287/527/74 384/847/74 +f 351/502/74 286/501/74 531/848/74 +f 297/442/68 629/854/68 269/413/68 +f 356/849/69 321/466/69 337/485/69 +f 627/851/69 299/444/69 321/466/69 +f 628/852/70 299/444/70 301/446/70 +f 330/476/70 296/441/70 298/443/70 +f 287/431/68 286/430/68 353/853/68 +f 629/854/68 375/526/68 376/528/68 +f 630/855/74 637/867/74 631/856/74 +f 483/858/68 634/862/68 633/859/68 +f 482/861/68 638/868/68 634/862/68 +f 612/863/69 469/876/69 635/864/69 +f 567/866/69 643/879/69 637/867/69 +f 632/857/74 631/856/74 638/868/74 +f 618/869/68 640/874/68 542/870/68 +f 636/865/69 635/864/69 639/872/69 +f 640/874/68 670/1297/68 541/875/68 +f 469/876/69 647/886/69 641/877/69 +f 637/867/74 644/880/74 642/878/74 +f 643/879/69 669/1298/69 644/880/69 +f 631/856/74 642/878/74 645/881/74 +f 638/868/68 645/881/68 646/882/68 +f 577/783/74 575/782/74 625/846/74 +f 386/781/74 573/775/74 270/414/74 +f 346/496/68 271/415/68 574/776/68 +f 320/465/69 576/779/69 577/780/69 +f 628/852/69 359/510/69 576/779/69 +f 575/777/69 548/778/69 378/533/69 +f 270/414/68 573/775/68 574/776/68 +f 509/771/74 569/770/74 462/633/74 +f 571/773/74 352/503/74 540/728/74 +f 569/770/74 579/785/74 460/631/74 +f 386/541/68 385/540/68 584/884/68 +f 506/686/70 359/510/70 361/512/70 +f 571/773/74 584/791/74 385/885/74 +f 332/478/70 331/477/70 500/678/70 +f 647/886/69 460/1299/69 648/887/69 +f 644/880/69 669/1298/69 649/888/69 +f 541/875/68 670/1297/68 651/890/68 +f 645/881/68 668/918/68 652/892/68 +f 648/887/69 460/1299/69 579/894/69 +f 572/896/68 540/891/68 651/890/68 +f 655/897/68 651/890/68 656/898/68 +f 653/893/69 649/888/69 658/900/69 +f 657/899/68 656/898/68 652/892/68 +f 658/900/69 648/887/69 654/895/69 +f 291/436/69 662/904/69 661/903/69 +f 580/787/68 588/807/68 601/809/68 +f 591/798/69 590/797/69 662/904/69 +f 570/905/66 598/805/66 586/793/66 +f 663/907/67 597/804/67 591/798/67 +f 480/655/68 479/654/68 664/908/68 +f 283/427/69 468/639/69 595/802/69 +f 508/909/66 592/799/66 593/800/66 +f 421/587/74 481/656/74 665/911/74 +f 583/906/66 586/793/66 588/795/66 +f 526/711/67 466/637/67 468/639/67 +f 578/910/66 593/800/66 463/634/66 +f 579/894/69 666/1300/69 463/914/69 +f 598/915/68 570/1301/68 572/896/68 +f 465/916/69 659/901/69 654/895/69 +f 655/897/68 657/899/68 667/917/68 +f 635/919/67 640/1302/67 633/920/67 +f 634/922/70 646/925/70 669/923/70 +f 646/925/70 652/935/70 649/926/70 +f 635/927/74 641/931/74 670/928/74 +f 651/930/74 670/928/74 641/931/74 +f 651/930/66 648/932/66 658/933/66 +f 658/933/86 649/926/86 652/935/86 +f 632/936/67 899/1303/67 671/937/67 +f 672/939/67 899/1303/67 632/936/67 +f 673/940/69 564/763/69 566/765/69 +f 675/942/68 687/954/68 676/943/68 +f 678/945/69 702/974/69 679/946/69 +f 608/818/68 675/942/68 677/944/68 +f 681/948/68 833/1187/68 676/943/68 +f 482/658/67 472/1286/67 683/950/67 +f 684/951/68 682/949/68 685/952/68 +f 682/949/68 676/943/68 687/954/68 +f 688/955/69 678/945/69 680/947/69 +f 630/938/67 671/937/67 690/957/67 +f 691/958/69 695/962/69 692/959/69 +f 694/961/69 696/963/69 692/959/69 +f 689/956/69 680/947/69 696/963/69 +f 697/964/68 700/967/68 698/965/68 +f 697/964/68 684/951/68 686/953/68 +f 639/921/67 633/920/67 634/922/67 +f 614/873/69 639/872/69 643/879/69 +f 621/860/68 633/859/68 640/874/68 +f 609/819/68 607/817/68 620/838/68 +f 623/970/67 620/834/67 621/835/67 +f 604/814/69 613/827/69 615/971/69 +f 636/972/67 614/825/67 615/826/67 +f 678/945/69 566/765/69 702/974/69 +f 566/765/69 565/764/69 702/974/69 +f 616/828/69 564/763/69 673/940/69 +f 703/975/68 838/1192/68 704/976/68 +f 508/689/69 284/428/69 595/802/69 +f 494/671/68 601/809/68 597/804/68 +f 601/809/68 600/808/68 708/981/68 +f 592/980/69 595/802/69 594/801/69 +f 546/734/74 723/1304/74 516/697/74 +f 523/707/69 522/706/69 547/735/69 +f 520/984/74 710/985/74 487/663/74 +f 505/685/70 345/495/70 344/494/70 +f 315/460/70 318/463/70 496/674/70 +f 396/672/68 494/671/68 663/907/68 +f 519/703/68 485/661/68 487/663/68 +f 339/555/74 282/554/74 711/986/74 +f 396/552/74 272/416/74 712/987/74 +f 502/680/68 501/679/68 274/418/68 +f 507/687/69 319/464/69 339/487/69 +f 581/788/69 318/463/69 319/464/69 +f 711/988/69 282/426/69 284/428/69 +f 712/987/68 272/416/68 274/418/68 +f 477/989/67 713/992/67 596/803/67 +f 665/991/67 714/994/67 713/992/67 +f 481/993/67 716/1003/67 714/994/67 +f 514/995/68 715/1012/68 543/812/68 +f 511/692/69 513/694/69 529/997/69 +f 715/999/67 514/1305/67 516/1000/67 +f 513/1001/67 499/677/67 498/676/67 +f 661/903/67 662/904/67 716/1003/67 +f 590/797/67 724/1015/67 717/1004/67 +f 719/1006/67 721/1008/67 479/654/67 +f 720/1007/67 722/1009/67 721/1008/67 +f 718/1005/67 717/1004/67 722/1009/67 +f 716/1003/67 718/1005/67 720/1007/67 +f 714/994/67 720/1007/67 719/1006/67 +f 713/992/67 719/1006/67 527/712/67 +f 662/904/67 590/797/67 718/1005/67 +f 717/1004/67 724/1015/67 499/677/67 +f 479/654/67 721/1008/67 715/999/67 +f 721/1008/67 722/1009/67 512/1010/67 +f 722/1009/67 717/1004/67 513/1001/67 +f 600/808/68 485/661/68 519/703/68 +f 709/982/69 594/801/69 523/707/69 +f 545/733/68 664/908/68 516/1000/68 +f 715/1012/74 512/693/74 602/810/74 +f 480/655/67 545/733/67 521/705/67 +f 465/636/66 464/635/66 525/710/66 +f 599/806/66 518/702/66 528/714/66 +f 709/1013/66 524/708/66 525/710/66 +f 467/638/69 521/705/69 523/707/69 +f 708/981/67 519/703/67 497/675/67 +f 667/1014/66 511/700/66 518/702/66 +f 497/675/69 499/677/69 724/1015/69 +f 587/1016/68 528/1287/68 485/661/68 +f 426/593/74 394/549/74 536/1017/74 +f 392/547/74 422/588/74 429/1019/74 +f 423/590/74 426/593/74 725/1018/74 +f 424/591/74 423/590/74 726/1021/74 +f 422/588/74 424/591/74 727/1022/74 +f 394/549/74 259/403/74 534/1023/74 +f 393/548/74 392/547/74 431/1020/74 +f 312/457/70 365/516/70 366/517/70 +f 276/420/68 733/1029/68 325/471/68 +f 316/461/69 732/1028/69 730/1026/69 +f 326/472/70 325/471/70 343/493/70 +f 362/513/69 365/516/69 732/1028/69 +f 393/548/68 728/1024/68 733/1029/68 +f 259/403/74 258/402/74 730/1030/74 +f 382/537/74 762/1083/74 432/600/74 +f 431/599/68 430/598/68 736/1034/68 +f 734/1036/74 767/1082/74 738/1037/74 +f 333/1038/74 250/393/74 738/1037/74 +f 739/1040/74 532/719/74 533/720/74 +f 327/473/70 309/454/70 740/1041/70 +f 308/453/68 743/1045/68 280/424/68 +f 741/1042/69 311/456/69 341/491/69 +f 367/518/69 309/454/69 311/456/69 +f 742/1044/70 769/1086/70 342/492/70 +f 743/1045/68 383/538/68 739/1040/68 +f 535/722/68 784/1117/68 744/1046/68 +f 736/1034/68 782/1114/68 746/1048/68 +f 748/1050/69 755/1057/69 749/1051/69 +f 747/1049/67 746/1048/67 751/1053/67 +f 748/1050/66 750/1052/66 753/1055/66 +f 754/1056/66 771/1088/66 749/1051/66 +f 756/1058/82 735/1079/82 388/1059/82 +f 757/1061/82 756/1058/82 552/1060/82 +f 758/1063/82 757/1061/82 434/1062/82 +f 759/1065/82 758/1063/82 433/1064/82 +f 760/1067/67 768/1116/67 427/595/67 +f 761/1069/68 752/1306/68 759/1070/68 +f 391/1072/67 747/1049/67 752/1054/67 +f 752/1075/83 763/1076/83 758/1063/83 +f 763/1076/83 764/1077/83 757/1061/83 +f 764/1077/83 765/1078/83 756/1058/83 +f 765/1078/83 768/1307/83 735/1079/83 +f 279/423/68 278/422/68 383/538/68 +f 766/1080/69 367/518/69 741/1042/69 +f 313/458/69 741/1042/69 387/1043/69 +f 307/452/68 279/423/68 743/1045/68 +f 760/1081/74 262/406/74 767/1082/74 +f 391/546/74 761/1308/74 762/1083/74 +f 760/1084/69 734/1031/69 735/1033/69 +f 341/1039/74 738/1037/74 767/1082/74 +f 383/538/74 382/537/74 532/719/74 +f 309/454/70 367/518/70 369/520/70 +f 769/1086/70 306/451/70 308/453/70 +f 770/1087/66 780/1309/66 771/1088/66 +f 755/1057/69 748/1050/69 429/597/69 +f 755/1057/66 772/1089/66 773/1090/66 +f 763/1091/67 779/1102/67 774/1092/67 +f 737/1035/68 736/1034/68 747/1049/68 +f 731/1027/70 343/493/70 307/452/70 +f 766/1080/70 312/457/70 729/1025/70 +f 534/721/69 260/594/69 428/596/69 +f 728/1024/74 431/1020/74 737/1096/74 +f 733/1029/68 277/421/68 343/493/68 +f 732/1028/69 314/459/69 340/490/69 +f 365/516/69 312/457/69 314/459/69 +f 733/1029/68 728/1024/68 390/545/68 +f 534/1023/74 730/1030/74 340/1097/74 +f 744/1098/74 785/1110/74 777/1099/74 +f 749/1101/74 771/1103/74 779/1102/74 +f 771/1103/74 780/1104/74 774/1092/74 +f 780/1104/74 783/1107/74 781/1105/74 +f 782/1106/74 749/1101/74 751/1053/74 +f 783/1107/74 744/1098/74 778/1100/74 +f 753/1108/74 750/1310/74 749/1101/74 +f 784/1109/74 787/1311/74 785/1110/74 +f 752/1054/67 751/1053/67 779/1102/67 +f 428/596/69 427/595/69 777/1099/69 +f 745/1047/66 744/1046/66 783/1112/66 +f 430/598/68 753/1055/68 782/1114/68 +f 765/1115/67 781/1105/67 778/1100/67 +f 776/1095/66 787/1118/66 784/1117/66 +f 776/1095/69 428/596/69 785/1111/69 +f 768/1116/67 778/1100/67 777/1099/67 +f 764/1093/67 774/1092/67 781/1105/67 +f 786/1113/66 783/1112/66 780/1119/66 +f 725/1018/74 536/1017/74 788/1121/74 +f 726/1021/74 725/1018/74 789/1122/74 +f 727/1022/74 726/1021/74 790/1123/74 +f 429/1019/74 727/1022/74 773/1124/74 +f 770/1120/66 790/1312/66 789/1126/66 +f 745/1047/68 788/1128/68 536/723/68 +f 754/1056/66 773/1090/66 790/1127/66 +f 786/1113/66 789/1126/66 788/1128/66 +f 381/647/66 380/1313/66 375/1129/66 +f 264/1131/66 295/440/66 356/507/66 +f 791/1133/74 554/751/74 556/753/74 +f 792/1134/74 791/1133/74 558/755/74 +f 793/1135/74 792/1134/74 559/756/74 +f 794/1136/69 561/758/69 555/759/69 +f 793/1138/68 560/1293/68 453/760/68 +f 458/629/67 805/1152/67 797/1140/67 +f 798/1141/70 811/1157/70 799/1142/70 +f 553/750/67 802/1146/67 801/1144/67 +f 561/1145/67 809/1154/67 802/1146/67 +f 803/1147/70 807/1151/70 804/1148/70 +f 806/1150/70 824/1172/70 807/1151/70 +f 805/1152/67 817/1314/67 808/1153/67 +f 809/1154/67 815/1162/67 806/1155/67 +f 801/1144/67 803/1158/67 805/1152/67 +f 810/1156/70 900/1315/70 811/1157/70 +f 802/1146/67 806/1155/67 803/1158/67 +f 812/1159/67 901/1316/67 813/1160/67 +f 815/1162/67 901/1316/67 812/1159/67 +f 816/1163/70 808/1317/70 817/1164/70 +f 819/1166/84 822/1318/84 820/1167/84 +f 822/1169/67 819/1319/67 814/1170/67 +f 818/1165/70 826/1320/70 823/1171/70 +f 824/1172/70 810/1156/70 798/1141/70 +f 807/1151/70 798/1141/70 800/1143/70 +f 820/1167/84 827/1175/84 825/1173/84 +f 826/1174/67 825/1321/67 827/1175/67 +f 465/1176/74 603/1183/74 828/1177/74 +f 659/1178/67 828/1177/67 829/1179/67 +f 653/1180/85 829/1179/85 830/1181/85 +f 650/889/74 830/1181/74 642/878/74 +f 830/1181/74 668/918/74 645/881/74 +f 668/918/85 830/1181/85 829/1179/85 +f 828/1177/67 657/1184/67 660/1182/67 +f 603/1183/74 667/1322/74 657/1184/74 +f 831/1185/68 681/948/68 682/949/68 +f 680/947/69 679/946/69 832/1186/69 +f 683/1323/68 472/643/68 833/1187/68 +f 472/643/68 677/944/68 833/1187/68 +f 834/1188/68 831/1185/68 684/951/68 +f 696/963/69 832/1186/69 835/1189/69 +f 693/960/69 692/959/69 835/1189/69 +f 707/979/69 706/978/69 836/1190/69 +f 834/1188/68 697/964/68 699/966/68 +f 674/941/69 566/765/69 678/945/69 +f 839/1193/69 842/1196/69 840/1194/69 +f 842/1196/67 844/1199/67 843/1197/67 +f 844/1199/68 846/1202/68 845/1200/68 +f 846/1202/66 839/1193/66 841/1203/66 +f 842/1196/70 839/1193/70 846/1202/70 +f 847/1205/67 850/1208/67 848/1206/67 +f 850/1208/68 853/1227/68 851/1209/68 +f 848/1210/74 851/1219/74 852/1211/74 +f 847/1213/70 857/1221/70 853/1214/70 +f 854/1216/66 902/1324/66 855/1217/66 +f 851/1219/74 856/1228/74 855/1220/74 +f 857/1221/70 902/1325/70 854/1222/70 +f 854/1222/70 861/1226/70 858/1223/70 +f 858/1223/68 861/1226/68 859/1224/68 +f 856/1218/66 859/1224/66 861/1226/66 +f 853/1227/67 858/1223/67 860/1225/67 +f 851/1219/74 860/1225/74 859/1224/74 +s 1 +f 863/1326/70 903/1327/73 904/1328/70 +f 862/1329/73 905/1330/68 903/1327/73 +f 102/1331/68 906/1332/87 905/1330/68 +f 101/1333/87 907/1334/74 906/1332/87 +f 866/1335/74 908/1336/88 907/1337/74 +f 865/1338/88 909/1339/69 908/1336/88 +f 103/1340/69 910/1341/72 909/1339/69 +f 864/1342/72 904/1328/70 910/1341/72 +f 906/1343/67 908/1344/67 910/1345/67 +f 868/1346/89 109/1347/90 877/1348/89 +f 867/1349/90 878/1350/91 109/1347/90 +f 106/1351/91 879/1352/92 878/1350/91 +f 875/1353/92 880/1354/87 879/1352/92 +f 880/1354/87 873/1355/93 881/1356/93 +f 873/1355/93 882/1357/94 881/1356/93 +f 105/1358/94 107/1359/88 882/1357/94 +f 872/1360/88 883/1361/95 107/1359/88 +f 871/1362/95 108/1363/96 883/1361/95 +f 870/1364/96 884/1365/97 108/1363/96 +f 884/1365/97 869/1366/98 876/1367/98 +f 110/1368/67 911/1369/85 912/1370/67 +f 886/1371/85 913/1372/74 911/1369/85 +f 885/1373/74 914/1374/99 913/1375/74 +f 889/1376/99 915/1377/66 914/1374/99 +f 112/1378/66 916/1379/78 915/1377/66 +f 888/1380/78 917/1381/70 916/1379/78 +f 111/1382/70 918/1383/76 917/1381/70 +f 887/1384/76 912/1370/67 918/1383/76 +f 919/1385/85 115/1386/67 920/1387/67 +f 921/1388/74 890/1389/85 919/1385/85 +f 922/1390/99 891/1391/74 921/1392/74 +f 923/1393/66 892/1394/99 922/1390/99 +f 924/1395/78 113/1396/66 923/1393/66 +f 925/1397/70 893/1398/78 924/1395/78 +f 926/1399/76 114/1400/70 925/1397/70 +f 920/1387/67 894/1401/76 926/1399/76 +f 927/1402/68 928/1403/68 929/1404/68 +f 133/1405/68 930/1406/68 129/1407/68 +f 931/1408/68 932/1409/68 930/1406/68 +f 933/1410/68 929/1404/68 934/1411/68 +f 935/1412/68 934/1411/68 932/1409/68 +f 936/1413/68 937/1414/100 938/1415/100 +f 939/1416/68 938/1415/100 940/1417/100 +f 941/1418/68 939/1416/68 942/1419/68 +f 943/1420/68 936/1413/68 939/1416/68 +f 944/1421/68 942/1419/68 945/1422/68 +f 127/1423/68 945/1422/68 128/1424/68 +f 946/1425/68 947/1426/68 936/1413/68 +f 948/1427/101 949/1428/102 950/1429/102 +f 951/1430/103 952/1431/66 953/1432/66 +f 954/1433/70 955/1434/104 956/1435/105 +f 957/1436/106 958/1437/107 959/1438/108 +f 960/1439/109 961/1440/110 962/1441/111 +f 963/1442/66 964/1443/66 965/1444/66 +f 966/1445/112 948/1446/107 967/1447/108 +f 118/206/113 968/1448/113 969/1449/113 +f 970/1450/105 931/1451/70 971/1452/70 +f 972/1453/106 948/1446/107 973/1454/114 +f 135/226/70 974/1455/70 954/1433/70 +f 975/1456/115 976/1457/74 977/1458/74 +f 978/1459/115 979/1460/74 976/1457/74 +f 980/1461/115 981/1462/74 979/1460/74 +f 982/1463/108 966/1445/112 967/1447/108 +f 983/1464/108 984/1465/112 982/1463/108 +f 985/1466/108 986/1467/112 983/1464/108 +f 980/1461/115 987/1468/116 988/1469/116 +f 957/1436/106 955/1470/104 989/1471/114 +f 977/1458/74 990/1472/117 991/1473/117 +f 976/1457/74 992/1474/117 990/1472/117 +f 979/1460/74 993/1475/117 992/1474/117 +f 978/1459/115 994/1476/116 987/1468/116 +f 995/1477/116 996/1478/115 997/1479/115 +f 969/1449/113 998/1480/118 999/1481/118 +f 1000/1482/119 1001/1483/112 961/1484/119 +f 971/1452/70 133/224/70 895/1263/70 +f 991/1473/117 1002/1485/74 977/1458/74 +f 1003/1486/85 1004/1487/118 1005/1488/118 +f 1006/1489/112 1007/1490/119 1008/1491/112 +f 1009/1492/85 1010/1493/120 991/1473/117 +f 1011/1494/115 1012/1495/74 981/1462/74 +f 959/1438/108 1008/1491/112 985/1466/108 +f 1008/1491/112 1013/1496/119 986/1467/112 +f 993/1475/117 1012/1495/74 1014/1497/117 +f 997/1479/115 1015/1498/116 995/1477/116 +f 1016/1499/103 1017/1500/121 995/1501/121 +f 986/1467/112 1018/1502/119 984/1465/112 +f 959/1438/108 1001/1483/112 1006/1489/112 +f 984/1465/112 1019/1503/119 966/1445/112 +f 1011/1494/115 988/1469/116 1015/1498/116 +f 966/1445/112 1020/1504/119 1021/1505/112 +f 953/1432/66 1022/1506/66 1023/1507/66 +f 1024/1508/66 1025/1509/66 1026/1510/66 +f 1003/1486/85 1027/1511/122 1028/1512/123 +f 951/1430/103 1029/1513/121 1030/1514/124 +f 960/1439/109 1031/1515/66 963/1442/66 +f 967/1447/108 1032/1516/106 982/1463/108 +f 982/1463/108 1033/1517/106 983/1464/108 +f 1033/1517/106 985/1466/108 983/1464/108 +f 1034/1518/106 959/1438/108 985/1466/108 +f 1019/1519/110 1035/1520/109 1036/1521/109 +f 1018/1522/110 1037/1523/109 1035/1520/109 +f 1037/1523/109 1007/1524/110 1038/1525/109 +f 1023/1507/66 1039/1526/66 953/1432/66 +f 1040/1527/66 1041/1528/66 1039/1526/66 +f 1042/1529/66 1043/1530/66 1041/1528/66 +f 953/1432/66 1044/1531/103 951/1430/103 +f 1039/1526/66 1045/1532/103 1044/1531/103 +f 1041/1528/66 1046/1533/103 1045/1532/103 +f 1047/1534/66 1048/1535/66 1049/1536/66 +f 1048/1535/66 1050/1537/66 1049/1536/66 +f 1051/1538/66 1052/1539/66 1050/1537/66 +f 1047/1534/66 1040/1527/66 1023/1507/66 +f 1049/1536/66 1042/1529/66 1040/1527/66 +f 1050/1537/66 1053/1540/66 1042/1529/66 +f 1038/1525/109 1000/1541/110 960/1439/109 +f 1053/1540/66 1026/1510/66 1043/1530/66 +f 1043/1530/66 1016/1499/103 1046/1533/103 +f 1054/1542/66 965/1444/66 1052/1539/66 +f 1052/1539/66 1024/1508/66 1053/1540/66 +f 1038/1525/109 963/1442/66 1054/1542/66 +f 1037/1523/109 1054/1542/66 1051/1538/66 +f 1035/1520/109 1051/1538/66 1048/1535/66 +f 1036/1521/109 1048/1535/66 1055/1543/66 +f 1046/1533/103 995/1501/121 1015/1544/121 +f 1045/1532/103 1015/1544/121 988/1545/121 +f 987/1546/121 1045/1532/103 988/1545/121 +f 994/1547/121 1044/1531/103 987/1546/121 +f 999/1481/118 1056/1548/123 1009/1492/85 +f 1057/1549/113 119/207/113 121/209/113 +f 1055/1543/66 1058/1550/66 1059/1551/66 +f 1023/1507/66 1058/1550/66 1047/1534/66 +f 997/1479/115 1060/1552/74 1012/1495/74 +f 990/1472/117 1061/1553/85 1062/1554/85 +f 993/1475/117 1061/1553/85 992/1474/117 +f 1014/1497/117 1063/1555/85 993/1475/117 +f 991/1473/117 1062/1554/85 1009/1492/85 +f 1062/1554/85 999/1481/118 1009/1492/85 +f 1003/1486/85 1064/1556/118 1063/1555/85 +f 1061/1553/85 1065/1557/118 1062/1554/85 +f 1063/1555/85 1066/1558/118 1061/1553/85 +f 1064/1556/118 1067/1559/113 1066/1558/118 +f 1065/1557/118 969/1449/113 999/1481/118 +f 1005/1488/118 1068/1560/113 1064/1556/118 +f 1066/1558/118 1069/1561/113 1065/1557/118 +f 1068/1560/113 122/210/113 1067/1559/113 +f 1069/1561/113 118/206/113 969/1449/113 +f 1057/1549/113 124/212/113 1068/1560/113 +f 1067/1559/113 116/204/113 1069/1561/113 +f 972/1453/106 935/1562/104 970/1563/105 +f 1036/1521/109 1020/1564/110 1019/1519/110 +f 977/1458/74 1070/1565/115 975/1456/115 +f 1055/1543/66 1071/1566/111 1036/1521/109 +f 975/1456/115 1029/1567/116 994/1476/116 +f 1026/1510/66 1072/1568/124 1016/1499/103 +f 1005/1488/118 1073/1569/113 1057/1549/113 +f 1014/1497/117 1060/1552/74 1027/1511/122 +f 965/1444/66 1074/1570/66 1024/1508/66 +f 1075/1571/69 119/1572/69 1076/1573/69 +f 1077/1574/69 1078/1575/69 1079/1576/69 +f 1080/1577/69 1081/1578/69 1082/1579/69 +f 1083/1580/69 1076/1573/69 1081/1578/69 +f 1001/1581/125 1084/1582/126 1085/1583/126 +f 1086/1584/69 1082/1579/69 1078/1575/69 +f 1078/1575/69 1087/1585/127 1088/1586/127 +f 1079/1576/69 1088/1586/127 1089/1587/127 +f 1090/1588/69 1091/1589/69 1092/1590/69 +f 955/1591/69 1093/1592/69 1094/1593/69 +f 1095/1594/69 1094/1593/69 1091/1589/69 +f 1096/1595/69 1092/1590/69 1097/1596/69 +f 974/1597/69 134/1598/69 1093/1592/69 +f 1093/1592/69 130/1599/69 1075/1571/69 +f 1097/1596/69 1086/1584/69 1077/1574/69 +f 1091/1589/69 1083/1580/69 1080/1577/69 +f 1094/1593/69 1075/1571/69 1083/1580/69 +f 1092/1590/69 1080/1577/69 1086/1584/69 +f 996/1600/128 1072/1601/129 1089/1587/127 +f 1079/1576/69 1074/1602/69 1077/1574/69 +f 1096/1595/69 962/1603/130 1085/1583/126 +f 1001/1581/125 962/1603/130 961/1604/131 +f 1077/1574/69 964/1605/69 1097/1596/69 +f 1097/1596/69 1031/1606/69 1096/1595/69 +f 1090/1588/69 989/1607/132 1095/1594/69 +f 1085/1583/126 1090/1588/69 1096/1595/69 +f 955/1591/69 1095/1594/69 989/1607/132 +f 1084/1582/126 958/1608/133 989/1607/132 +f 1089/1587/127 1025/1609/69 1079/1576/69 +f 1089/1587/127 1060/1610/134 996/1600/128 +f 1088/1586/127 1027/1611/134 1060/1610/134 +f 1027/1611/134 1087/1585/127 1028/1612/135 +f 119/1572/69 1073/1613/69 1076/1573/69 +f 1073/1613/69 1081/1578/69 1076/1573/69 +f 1004/1614/69 1082/1579/69 1081/1578/69 +f 1087/1585/127 1082/1579/69 1028/1612/135 +f 929/1404/68 1098/1615/68 946/1425/68 +f 129/1407/68 944/1421/68 127/1423/68 +f 930/1406/68 941/1418/68 944/1421/68 +f 934/1411/68 946/1425/68 943/1420/68 +f 932/1409/68 943/1420/68 941/1418/68 +f 949/1428/102 1059/1616/68 1099/1617/68 +f 1099/1617/68 1058/1618/68 928/1403/68 +f 1021/1619/136 1071/1620/137 949/1428/102 +f 947/1426/68 1022/1621/68 952/1622/68 +f 937/1414/100 952/1622/68 1030/1623/138 +f 1098/1615/68 1058/1618/68 1022/1621/68 +f 950/1429/102 973/1624/139 948/1427/101 +f 950/1429/102 933/1410/68 973/1624/139 +f 950/1429/102 1099/1617/68 927/1402/68 +f 933/1410/68 935/1412/68 973/1624/139 +f 1070/1625/140 1030/1623/138 1029/1626/141 +f 938/1415/100 1070/1625/140 1002/1627/142 +f 940/1417/100 1002/1627/142 1010/1628/142 +f 945/1422/68 968/1629/68 128/1424/68 +f 942/1419/68 968/1629/68 945/1422/68 +f 1010/1628/142 1056/1630/143 940/1417/100 +f 1056/1630/143 942/1419/68 939/1416/68 +f 940/1417/100 1056/1630/143 939/1416/68 +f 1034/1518/106 956/1631/105 957/1436/106 +f 1032/1516/106 1100/1632/144 1033/1517/106 +f 1033/1517/106 1101/1633/144 1034/1518/106 +f 1032/1516/106 970/1563/105 1102/1634/144 +f 453/760/68 1103/1635/68 796/1139/68 +f 1104/1636/145 1105/1637/66 1106/1638/145 +f 1106/1638/145 1107/1639/66 1108/1640/145 +f 701/1641/146 1109/1642/147 622/1643/146 +f 622/1643/146 1110/1644/147 611/1645/146 +f 1105/1637/66 1111/1646/148 1107/1639/66 +f 1112/1647/66 1113/1648/148 1105/1637/66 +f 1111/1646/148 1114/1649/149 1115/1650/149 +f 1113/1648/148 1116/1651/149 1114/1649/149 +f 672/1652/150 1117/1653/85 899/1654/150 +f 1118/1655/151 1119/1656/152 1120/1657/151 +f 1121/1658/67 1122/1659/153 1123/1660/67 +f 1124/1661/153 1120/1657/151 1122/1659/153 +f 1125/1662/153 1118/1655/151 1124/1661/153 +f 1126/1663/152 1127/1664/85 1119/1656/152 +f 1128/1665/152 1117/1653/85 1126/1663/152 +f 899/1654/150 1129/1666/85 671/1667/150 +f 1130/1668/154 1131/1669/155 1132/1670/155 +f 1133/1671/156 1134/1672/154 1130/1668/154 +f 1114/1649/149 1135/1673/156 1133/1671/156 +f 1136/1674/154 1132/1670/155 1137/1675/155 +f 1138/1676/156 1130/1668/154 1136/1674/154 +f 1115/1650/149 1133/1671/156 1138/1676/156 +f 1106/1638/145 1110/1644/147 1109/1642/147 +f 1109/1642/147 1104/1636/145 1106/1638/145 +f 1139/1677/67 1140/1678/157 1141/1679/157 +f 1121/1658/67 1142/1680/157 1140/1678/157 +f 1143/1681/151 1126/1663/152 1118/1655/151 +f 1121/1658/67 1125/1662/153 1124/1661/153 +f 1132/1670/155 1144/1682/158 1137/1675/155 +f 1131/1669/155 1145/1683/158 1132/1670/155 +f 1145/1683/158 1146/1684/159 1144/1682/158 +f 1147/1685/158 1148/1686/159 1145/1683/158 +f 1140/1678/157 1149/1687/159 1141/1679/157 +f 1140/1678/157 1146/1684/159 1148/1686/159 +f 809/1688/69 1150/1689/69 815/1690/69 +f 456/1691/68 1151/1692/68 1103/1635/68 +f 794/1136/69 809/1688/69 561/758/69 +f 806/1150/68 1152/1693/160 824/1172/68 +f 1153/1694/68 1154/1695/68 1155/1696/68 +f 1151/1692/68 823/1697/161 1153/1694/68 +f 1156/1698/69 1157/1699/69 1158/1700/69 +f 815/1690/69 1159/1701/162 901/1702/162 +f 1158/1700/69 1160/1703/162 1161/1704/162 +f 800/1143/69 1162/1705/163 826/1706/164 +f 805/1149/69 818/1707/69 817/1708/69 +f 797/1709/68 816/1710/68 1151/1692/68 +f 824/1172/68 1163/1711/160 810/1156/68 +f 1163/1711/160 1164/1712/165 1165/1713/165 +f 901/1702/162 1166/1714/166 813/1715/166 +f 827/1716/167 1167/1717/166 1168/1718/168 +f 812/1719/160 1164/1712/165 1152/1693/160 +f 820/1720/70 1169/1721/166 827/1716/167 +f 825/1722/169 1165/1713/165 1164/1712/165 +f 822/1723/70 1166/1714/166 820/1720/70 +f 819/1724/74 1164/1712/165 814/1725/165 +f 810/1156/68 1170/1726/160 900/1315/68 +f 804/1148/69 826/1706/164 818/1707/69 +f 1150/1689/69 1161/1704/162 1159/1701/162 +f 1171/1727/69 1158/1700/69 1150/1689/69 +f 1153/1694/68 1172/1728/170 1173/1729/68 +f 1103/1635/68 1153/1694/68 1155/1696/68 +f 1174/1730/171 826/1731/164 1162/1732/163 +f 827/1716/167 1172/1728/170 823/1697/161 +f 611/1645/172 617/1733/173 420/1734/174 +f 606/1735/175 701/1641/176 562/1736/177 +f 671/1667/178 702/1737/179 690/1738/180 +f 833/1739/181 672/1652/182 683/1740/183 +f 1112/1647/184 688/1741/185 1175/1742/186 +f 675/1743/187 1111/1646/188 687/1744/189 +f 608/1745/190 1107/1639/187 675/1743/187 +f 617/1733/191 1110/1644/192 610/1746/193 +f 1104/1636/194 674/1747/184 1112/1647/184 +f 1176/1748/195 606/1735/175 605/1749/196 +f 1111/1646/188 685/1750/197 687/1744/189 +f 1115/1650/198 686/1751/199 685/1750/197 +f 1138/1676/200 700/1752/201 686/1751/199 +f 1136/1674/202 698/1753/203 700/1752/201 +f 689/1754/204 1175/1742/186 688/1741/185 +f 694/1755/205 1116/1651/206 689/1754/204 +f 695/1756/207 1135/1673/208 694/1755/205 +f 691/1757/209 1134/1672/210 695/1756/207 +f 1129/1666/211 702/1737/179 671/1667/178 +f 1128/1665/212 679/1758/213 1129/1666/211 +f 1143/1681/214 832/1759/215 1128/1665/212 +f 1143/1681/214 706/1760/216 835/1761/217 +f 833/1739/181 1127/1664/218 672/1652/182 +f 681/1762/219 1119/1656/220 1127/1664/218 +f 831/1763/221 1120/1657/222 1119/1656/220 +f 838/1764/223 1120/1657/222 834/1765/224 +f 610/1746/193 1108/1640/225 608/1745/190 +f 1104/1636/194 605/1749/196 673/1766/226 +f 836/1767/227 1125/1662/228 1139/1677/229 +f 703/1768/230 1122/1659/231 838/1764/223 +f 698/1753/203 1144/1682/232 699/1769/233 +f 691/1757/209 1147/1685/234 1131/1669/235 +f 693/1770/236 1149/1687/237 1147/1685/234 +f 699/1769/233 1146/1684/238 704/1771/239 +f 837/1772/240 1149/1687/237 707/1773/241 +f 1146/1684/238 705/1774/242 704/1771/239 +f 705/1775/242 1123/1660/243 703/1776/230 +f 1139/1677/229 837/1777/240 836/1778/227 +f 1167/1717/166 1161/1704/162 1160/1703/162 +f 1166/1714/166 1161/1704/162 1169/1721/166 +f 1177/1779/244 1178/1780/73 1179/1781/244 +f 1180/1782/73 1181/1783/91 1178/1780/73 +f 1182/1784/91 1183/1785/92 1181/1783/91 +f 1184/1786/92 1185/1787/87 1183/1785/92 +f 1186/1788/87 1187/1789/93 1185/1787/87 +f 1187/1790/93 1188/1791/94 1189/1792/94 +f 1188/1791/94 1190/1793/88 1189/1792/94 +f 1191/1794/88 1192/1795/95 1190/1793/88 +f 1193/1796/95 1194/1797/96 1192/1795/95 +f 1195/1798/96 1196/1799/72 1194/1797/96 +f 1197/1800/72 1198/1801/245 1196/1799/72 +f 1199/1802/245 1179/1781/244 1198/1801/245 +f 1183/1785/246 1200/1803/247 1181/1783/247 +f 1201/1804/94 1202/1805/93 1203/1806/93 +f 1198/1801/248 1204/1807/249 1196/1799/249 +f 1181/1783/247 1205/1808/250 1178/1780/250 +f 1196/1799/249 1206/1809/251 1194/1797/251 +f 1194/1797/251 1207/1810/252 1192/1795/252 +f 1192/1795/252 1208/1811/253 1190/1793/253 +f 1190/1793/253 1201/1812/254 1189/1792/254 +f 1187/1790/255 1201/1813/254 1203/1814/255 +f 1187/1789/255 1209/1815/256 1185/1787/256 +f 1185/1787/256 1210/1816/246 1183/1785/246 +f 1179/1781/257 1211/1817/248 1198/1801/248 +f 1179/1781/257 1205/1818/250 1212/1819/257 +f 1210/1820/92 1213/1821/91 1200/1822/91 +f 1204/1823/72 1214/1824/96 1206/1825/96 +f 1208/1826/88 1215/1827/94 1201/1804/94 +f 1209/1828/87 1216/1829/92 1210/1820/92 +f 1211/1830/245 1217/1831/72 1204/1823/72 +f 1205/1832/73 1218/1833/244 1212/1834/244 +f 1207/1835/95 1219/1836/88 1208/1826/88 +f 1203/1837/93 1220/1838/87 1209/1828/87 +f 1212/1834/244 1221/1839/245 1211/1830/245 +f 1200/1822/91 1222/1840/73 1205/1832/73 +f 1206/1825/96 1223/1841/95 1207/1835/95 +f 1224/1842/67 1225/1843/258 1226/1844/67 +f 1227/1845/258 1228/1846/68 1225/1843/258 +f 1229/1847/68 1230/1848/259 1228/1846/68 +f 1231/1849/259 1232/1850/66 1230/1848/259 +f 1233/1851/66 1234/1852/260 1232/1850/66 +f 1235/1853/260 1236/1854/69 1234/1852/260 +f 1237/1855/69 1238/1856/261 1236/1854/69 +f 1239/1857/261 1226/1858/67 1238/1856/261 +f 1234/1859/74 1236/1860/74 1238/1861/74 +f 863/1326/70 862/1329/73 903/1327/73 +f 862/1329/73 102/1331/68 905/1330/68 +f 102/1331/68 101/1333/87 906/1332/87 +f 101/1333/87 866/1862/74 907/1334/74 +f 866/1335/74 865/1338/88 908/1336/88 +f 865/1338/88 103/1340/69 909/1339/69 +f 103/1340/69 864/1342/72 910/1341/72 +f 864/1342/72 863/1326/70 904/1328/70 +f 910/1345/67 904/1863/67 903/1864/67 +f 903/1864/67 905/1865/67 906/1343/67 +f 906/1343/67 907/1866/67 908/1344/67 +f 908/1344/67 909/1867/67 910/1345/67 +f 910/1345/67 903/1864/67 906/1343/67 +f 868/1346/89 867/1349/90 109/1347/90 +f 867/1349/90 106/1351/91 878/1350/91 +f 106/1351/91 875/1353/92 879/1352/92 +f 875/1353/92 874/1868/87 880/1354/87 +f 880/1354/87 874/1868/87 873/1355/93 +f 873/1355/93 105/1358/94 882/1357/94 +f 105/1358/94 872/1360/88 107/1359/88 +f 872/1360/88 871/1362/95 883/1361/95 +f 871/1362/95 870/1364/96 108/1363/96 +f 870/1364/96 104/1869/97 884/1365/97 +f 884/1365/97 104/1869/97 869/1366/98 +f 110/1368/67 886/1371/85 911/1369/85 +f 886/1371/85 885/1870/74 913/1372/74 +f 885/1373/74 889/1376/99 914/1374/99 +f 889/1376/99 112/1378/66 915/1377/66 +f 112/1378/66 888/1380/78 916/1379/78 +f 888/1380/78 111/1382/70 917/1381/70 +f 111/1382/70 887/1384/76 918/1383/76 +f 887/1384/76 110/1368/67 912/1370/67 +f 919/1385/85 890/1389/85 115/1386/67 +f 921/1388/74 891/1871/74 890/1389/85 +f 922/1390/99 892/1394/99 891/1391/74 +f 923/1393/66 113/1396/66 892/1394/99 +f 924/1395/78 893/1398/78 113/1396/66 +f 925/1397/70 114/1400/70 893/1398/78 +f 926/1399/76 894/1401/76 114/1400/70 +f 920/1387/67 115/1386/67 894/1401/76 +f 927/1402/68 1099/1617/68 928/1403/68 +f 133/1405/68 931/1408/68 930/1406/68 +f 931/1408/68 935/1412/68 932/1409/68 +f 933/1410/68 927/1402/68 929/1404/68 +f 935/1412/68 933/1410/68 934/1411/68 +f 936/1413/68 947/1426/68 937/1414/100 +f 939/1416/68 936/1413/68 938/1415/100 +f 941/1418/68 943/1420/68 939/1416/68 +f 943/1420/68 946/1425/68 936/1413/68 +f 944/1421/68 941/1418/68 942/1419/68 +f 127/1423/68 944/1421/68 945/1422/68 +f 946/1425/68 1098/1615/68 947/1426/68 +f 948/1427/101 1021/1619/136 949/1428/102 +f 951/1430/103 1030/1514/124 952/1431/66 +f 954/1433/70 974/1455/70 955/1434/104 +f 957/1436/106 989/1471/114 958/1437/107 +f 960/1439/109 1000/1541/110 961/1440/110 +f 963/1442/66 1031/1515/66 964/1443/66 +f 966/1445/112 1021/1505/112 948/1446/107 +f 118/206/113 128/216/113 968/1448/113 +f 970/1450/105 935/1872/104 931/1451/70 +f 972/1453/106 967/1447/108 948/1446/107 +f 135/226/70 896/1264/70 974/1455/70 +f 975/1456/115 978/1459/115 976/1457/74 +f 978/1459/115 980/1461/115 979/1460/74 +f 980/1461/115 1011/1494/115 981/1462/74 +f 982/1463/108 984/1465/112 966/1445/112 +f 983/1464/108 986/1467/112 984/1465/112 +f 985/1466/108 1008/1491/112 986/1467/112 +f 980/1461/115 978/1459/115 987/1468/116 +f 957/1436/106 956/1631/105 955/1470/104 +f 977/1458/74 976/1457/74 990/1472/117 +f 976/1457/74 979/1460/74 992/1474/117 +f 979/1460/74 981/1462/74 993/1475/117 +f 978/1459/115 975/1456/115 994/1476/116 +f 995/1477/116 1017/1873/116 996/1478/115 +f 969/1449/113 968/1448/113 998/1480/118 +f 1000/1482/119 1006/1489/112 1001/1483/112 +f 971/1452/70 931/1451/70 133/224/70 +f 991/1473/117 1010/1493/120 1002/1485/74 +f 1003/1486/85 1028/1512/123 1004/1487/118 +f 1006/1489/112 1000/1482/119 1007/1490/119 +f 1009/1492/85 1056/1548/123 1010/1493/120 +f 1011/1494/115 997/1479/115 1012/1495/74 +f 959/1438/108 1006/1489/112 1008/1491/112 +f 1008/1491/112 1007/1490/119 1013/1496/119 +f 993/1475/117 981/1462/74 1012/1495/74 +f 997/1479/115 1011/1494/115 1015/1498/116 +f 1016/1499/103 1072/1568/124 1017/1500/121 +f 986/1467/112 1013/1496/119 1018/1502/119 +f 959/1438/108 958/1437/107 1001/1483/112 +f 984/1465/112 1018/1502/119 1019/1503/119 +f 1011/1494/115 980/1461/115 988/1469/116 +f 966/1445/112 1019/1503/119 1020/1504/119 +f 953/1432/66 952/1431/66 1022/1506/66 +f 1024/1508/66 1074/1570/66 1025/1509/66 +f 1003/1486/85 1014/1497/117 1027/1511/122 +f 951/1430/103 994/1547/121 1029/1513/121 +f 960/1439/109 962/1441/111 1031/1515/66 +f 967/1447/108 972/1453/106 1032/1516/106 +f 982/1463/108 1032/1516/106 1033/1517/106 +f 1033/1517/106 1034/1518/106 985/1466/108 +f 1034/1518/106 957/1436/106 959/1438/108 +f 1019/1519/110 1018/1522/110 1035/1520/109 +f 1018/1522/110 1013/1874/110 1037/1523/109 +f 1037/1523/109 1013/1874/110 1007/1524/110 +f 1023/1507/66 1040/1527/66 1039/1526/66 +f 1040/1527/66 1042/1529/66 1041/1528/66 +f 1042/1529/66 1053/1540/66 1043/1530/66 +f 953/1432/66 1039/1526/66 1044/1531/103 +f 1039/1526/66 1041/1528/66 1045/1532/103 +f 1041/1528/66 1043/1530/66 1046/1533/103 +f 1047/1534/66 1055/1543/66 1048/1535/66 +f 1048/1535/66 1051/1538/66 1050/1537/66 +f 1051/1538/66 1054/1542/66 1052/1539/66 +f 1047/1534/66 1049/1536/66 1040/1527/66 +f 1049/1536/66 1050/1537/66 1042/1529/66 +f 1050/1537/66 1052/1539/66 1053/1540/66 +f 1038/1525/109 1007/1524/110 1000/1541/110 +f 1053/1540/66 1024/1508/66 1026/1510/66 +f 1043/1530/66 1026/1510/66 1016/1499/103 +f 1054/1542/66 963/1442/66 965/1444/66 +f 1052/1539/66 965/1444/66 1024/1508/66 +f 1038/1525/109 960/1439/109 963/1442/66 +f 1037/1523/109 1038/1525/109 1054/1542/66 +f 1035/1520/109 1037/1523/109 1051/1538/66 +f 1036/1521/109 1035/1520/109 1048/1535/66 +f 1046/1533/103 1016/1499/103 995/1501/121 +f 1045/1532/103 1046/1533/103 1015/1544/121 +f 987/1546/121 1044/1531/103 1045/1532/103 +f 994/1547/121 951/1430/103 1044/1531/103 +f 999/1481/118 998/1480/118 1056/1548/123 +f 1057/1549/113 1073/1569/113 119/207/113 +f 1055/1543/66 1047/1534/66 1058/1550/66 +f 1023/1507/66 1022/1506/66 1058/1550/66 +f 997/1479/115 996/1478/115 1060/1552/74 +f 990/1472/117 992/1474/117 1061/1553/85 +f 993/1475/117 1063/1555/85 1061/1553/85 +f 1014/1497/117 1003/1486/85 1063/1555/85 +f 991/1473/117 990/1472/117 1062/1554/85 +f 1062/1554/85 1065/1557/118 999/1481/118 +f 1003/1486/85 1005/1488/118 1064/1556/118 +f 1061/1553/85 1066/1558/118 1065/1557/118 +f 1063/1555/85 1064/1556/118 1066/1558/118 +f 1064/1556/118 1068/1560/113 1067/1559/113 +f 1065/1557/118 1069/1561/113 969/1449/113 +f 1005/1488/118 1057/1549/113 1068/1560/113 +f 1066/1558/118 1067/1559/113 1069/1561/113 +f 1068/1560/113 124/212/113 122/210/113 +f 1069/1561/113 116/204/113 118/206/113 +f 1057/1549/113 121/209/113 124/212/113 +f 1067/1559/113 122/210/113 116/204/113 +f 972/1453/106 973/1454/114 935/1562/104 +f 1036/1521/109 1071/1566/111 1020/1564/110 +f 977/1458/74 1002/1485/74 1070/1565/115 +f 1055/1543/66 1059/1551/66 1071/1566/111 +f 975/1456/115 1070/1565/115 1029/1567/116 +f 1026/1510/66 1025/1509/66 1072/1568/124 +f 1005/1488/118 1004/1487/118 1073/1569/113 +f 1014/1497/117 1012/1495/74 1060/1552/74 +f 965/1444/66 964/1443/66 1074/1570/66 +f 1075/1571/69 130/1599/69 119/1572/69 +f 1077/1574/69 1086/1584/69 1078/1575/69 +f 1080/1577/69 1083/1580/69 1081/1578/69 +f 1083/1580/69 1075/1571/69 1076/1573/69 +f 1001/1581/125 958/1608/133 1084/1582/126 +f 1086/1584/69 1080/1577/69 1082/1579/69 +f 1078/1575/69 1082/1579/69 1087/1585/127 +f 1079/1576/69 1078/1575/69 1088/1586/127 +f 1090/1588/69 1095/1594/69 1091/1589/69 +f 955/1591/69 974/1597/69 1093/1592/69 +f 1095/1594/69 955/1591/69 1094/1593/69 +f 1096/1595/69 1090/1588/69 1092/1590/69 +f 974/1597/69 896/1875/69 134/1598/69 +f 1093/1592/69 134/1598/69 130/1599/69 +f 1097/1596/69 1092/1590/69 1086/1584/69 +f 1091/1589/69 1094/1593/69 1083/1580/69 +f 1094/1593/69 1093/1592/69 1075/1571/69 +f 1092/1590/69 1091/1589/69 1080/1577/69 +f 996/1600/128 1017/1876/262 1072/1601/129 +f 1079/1576/69 1025/1609/69 1074/1602/69 +f 1096/1595/69 1031/1606/69 962/1603/130 +f 1001/1581/125 1085/1583/126 962/1603/130 +f 1077/1574/69 1074/1602/69 964/1605/69 +f 1097/1596/69 964/1605/69 1031/1606/69 +f 1090/1588/69 1084/1582/126 989/1607/132 +f 1085/1583/126 1084/1582/126 1090/1588/69 +f 1089/1587/127 1072/1601/129 1025/1609/69 +f 1089/1587/127 1088/1586/127 1060/1610/134 +f 1088/1586/127 1087/1585/127 1027/1611/134 +f 1073/1613/69 1004/1614/69 1081/1578/69 +f 1004/1614/69 1028/1612/135 1082/1579/69 +f 929/1404/68 928/1403/68 1098/1615/68 +f 129/1407/68 930/1406/68 944/1421/68 +f 930/1406/68 932/1409/68 941/1418/68 +f 934/1411/68 929/1404/68 946/1425/68 +f 932/1409/68 934/1411/68 943/1420/68 +f 949/1428/102 1071/1620/137 1059/1616/68 +f 1099/1617/68 1059/1616/68 1058/1618/68 +f 1021/1619/136 1020/1877/263 1071/1620/137 +f 947/1426/68 1098/1615/68 1022/1621/68 +f 937/1414/100 947/1426/68 952/1622/68 +f 1098/1615/68 928/1403/68 1058/1618/68 +f 950/1429/102 927/1402/68 933/1410/68 +f 950/1429/102 949/1428/102 1099/1617/68 +f 1070/1625/140 937/1414/100 1030/1623/138 +f 938/1415/100 937/1414/100 1070/1625/140 +f 940/1417/100 938/1415/100 1002/1627/142 +f 942/1419/68 998/1878/68 968/1629/68 +f 1056/1630/143 998/1878/68 942/1419/68 +f 1034/1518/106 1101/1633/144 956/1631/105 +f 1032/1516/106 1102/1634/144 1100/1632/144 +f 1033/1517/106 1100/1632/144 1101/1633/144 +f 1032/1516/106 972/1453/106 970/1563/105 +f 453/760/68 456/1691/68 1103/1635/68 +f 1104/1636/145 1112/1647/66 1105/1637/66 +f 1106/1638/145 1105/1637/66 1107/1639/66 +f 701/1641/146 1176/1748/147 1109/1642/147 +f 622/1643/146 1109/1642/147 1110/1644/147 +f 1105/1637/66 1113/1648/148 1111/1646/148 +f 1112/1647/66 1175/1742/148 1113/1648/148 +f 1111/1646/148 1113/1648/148 1114/1649/149 +f 1113/1648/148 1175/1742/148 1116/1651/149 +f 672/1652/150 1127/1664/85 1117/1653/85 +f 1118/1655/151 1126/1663/152 1119/1656/152 +f 1121/1658/67 1124/1661/153 1122/1659/153 +f 1124/1661/153 1118/1655/151 1120/1657/151 +f 1125/1662/153 1143/1681/151 1118/1655/151 +f 1126/1663/152 1117/1653/85 1127/1664/85 +f 1128/1665/152 1129/1666/85 1117/1653/85 +f 899/1654/150 1117/1653/85 1129/1666/85 +f 1130/1668/154 1134/1672/154 1131/1669/155 +f 1133/1671/156 1135/1673/156 1134/1672/154 +f 1114/1649/149 1116/1651/149 1135/1673/156 +f 1136/1674/154 1130/1668/154 1132/1670/155 +f 1138/1676/156 1133/1671/156 1130/1668/154 +f 1115/1650/149 1114/1649/149 1133/1671/156 +f 1106/1638/145 1108/1640/145 1110/1644/147 +f 1109/1642/147 1176/1748/147 1104/1636/145 +f 1139/1677/67 1121/1658/67 1140/1678/157 +f 1121/1658/67 1123/1660/67 1142/1680/157 +f 1143/1681/151 1128/1665/152 1126/1663/152 +f 1121/1658/67 1139/1677/67 1125/1662/153 +f 1132/1670/155 1145/1683/158 1144/1682/158 +f 1131/1669/155 1147/1685/158 1145/1683/158 +f 1145/1683/158 1148/1686/159 1146/1684/159 +f 1147/1685/158 1149/1687/159 1148/1686/159 +f 1140/1678/157 1148/1686/159 1149/1687/159 +f 1140/1678/157 1142/1680/157 1146/1684/159 +f 809/1688/69 1171/1727/69 1150/1689/69 +f 456/1691/68 797/1709/68 1151/1692/68 +f 794/1136/69 1171/1727/69 809/1688/69 +f 806/1150/68 812/1719/160 1152/1693/160 +f 1153/1694/68 1173/1729/68 1154/1695/68 +f 1151/1692/68 816/1710/68 823/1697/161 +f 1156/1698/69 1240/1879/69 1157/1699/69 +f 815/1690/69 1150/1689/69 1159/1701/162 +f 1158/1700/69 1157/1699/69 1160/1703/162 +f 800/1143/69 799/1142/69 1162/1705/163 +f 805/1149/69 804/1148/69 818/1707/69 +f 797/1709/68 808/1880/68 816/1710/68 +f 824/1172/68 1152/1693/160 1163/1711/160 +f 1165/1713/165 1170/1726/160 1163/1711/160 +f 1163/1711/160 1152/1693/160 1164/1712/165 +f 901/1702/162 1159/1701/162 1166/1714/166 +f 827/1716/167 1169/1721/166 1167/1717/166 +f 812/1719/160 814/1725/165 1164/1712/165 +f 820/1720/70 1166/1714/166 1169/1721/166 +f 1164/1712/165 821/1881/74 825/1722/169 +f 825/1722/169 1174/1730/171 1165/1713/165 +f 822/1723/70 813/1715/166 1166/1714/166 +f 819/1724/74 821/1881/74 1164/1712/165 +f 810/1156/68 1163/1711/160 1170/1726/160 +f 804/1148/69 800/1143/69 826/1706/164 +f 1150/1689/69 1158/1700/69 1161/1704/162 +f 1171/1727/69 1156/1698/69 1158/1700/69 +f 1153/1694/68 823/1697/161 1172/1728/170 +f 1103/1635/68 1151/1692/68 1153/1694/68 +f 1174/1730/171 825/1722/169 826/1731/164 +f 827/1716/167 1168/1718/168 1172/1728/170 +f 1112/1647/184 674/1747/184 688/1741/185 +f 675/1743/187 1107/1639/187 1111/1646/188 +f 608/1745/190 1108/1640/225 1107/1639/187 +f 617/1733/191 611/1645/172 1110/1644/192 +f 1104/1636/194 673/1766/226 674/1747/184 +f 1176/1748/195 701/1641/176 606/1735/175 +f 1111/1646/188 1115/1650/198 685/1750/197 +f 1115/1650/198 1138/1676/200 686/1751/199 +f 1138/1676/200 1136/1674/202 700/1752/201 +f 1136/1674/202 1137/1675/264 698/1753/203 +f 689/1754/204 1116/1651/206 1175/1742/186 +f 694/1755/205 1135/1673/208 1116/1651/206 +f 695/1756/207 1134/1672/210 1135/1673/208 +f 691/1757/209 1131/1669/235 1134/1672/210 +f 1129/1666/211 679/1758/213 702/1737/179 +f 1128/1665/212 832/1759/215 679/1758/213 +f 1143/1681/214 835/1761/217 832/1759/215 +f 1143/1681/214 1125/1662/228 706/1760/216 +f 833/1739/181 681/1762/219 1127/1664/218 +f 681/1762/219 831/1763/221 1119/1656/220 +f 831/1763/221 834/1765/224 1120/1657/222 +f 838/1764/223 1122/1659/231 1120/1657/222 +f 610/1746/193 1110/1644/192 1108/1640/225 +f 1104/1636/194 1176/1748/195 605/1749/196 +f 836/1767/227 706/1760/216 1125/1662/228 +f 703/1768/230 1123/1660/243 1122/1659/231 +f 698/1753/203 1137/1675/264 1144/1682/232 +f 691/1757/209 693/1770/236 1147/1685/234 +f 693/1770/236 707/1773/241 1149/1687/237 +f 699/1769/233 1144/1682/232 1146/1684/238 +f 837/1772/240 1141/1679/265 1149/1687/237 +f 1146/1684/238 1142/1680/266 705/1774/242 +f 705/1775/242 1142/1680/266 1123/1660/243 +f 1139/1677/229 1141/1679/265 837/1777/240 +f 1167/1717/166 1169/1721/166 1161/1704/162 +f 1166/1714/166 1159/1701/162 1161/1704/162 +f 1177/1779/244 1180/1782/73 1178/1780/73 +f 1180/1782/73 1182/1784/91 1181/1783/91 +f 1182/1784/91 1184/1786/92 1183/1785/92 +f 1184/1786/92 1186/1788/87 1185/1787/87 +f 1186/1788/87 1241/1882/93 1187/1789/93 +f 1187/1790/93 1241/1883/93 1188/1791/94 +f 1188/1791/94 1191/1794/88 1190/1793/88 +f 1191/1794/88 1193/1796/95 1192/1795/95 +f 1193/1796/95 1195/1798/96 1194/1797/96 +f 1195/1798/96 1197/1800/72 1196/1799/72 +f 1197/1800/72 1199/1802/245 1198/1801/245 +f 1199/1802/245 1177/1779/244 1179/1781/244 +f 1183/1785/246 1210/1884/246 1200/1803/247 +f 1201/1804/94 1215/1827/94 1202/1805/93 +f 1198/1801/248 1211/1885/248 1204/1807/249 +f 1181/1783/247 1200/1886/247 1205/1808/250 +f 1196/1799/249 1204/1887/249 1206/1809/251 +f 1194/1797/251 1206/1888/251 1207/1810/252 +f 1192/1795/252 1207/1889/252 1208/1811/253 +f 1190/1793/253 1208/1890/253 1201/1812/254 +f 1187/1790/255 1189/1792/254 1201/1813/254 +f 1187/1789/255 1203/1891/255 1209/1815/256 +f 1185/1787/256 1209/1892/256 1210/1816/246 +f 1179/1781/257 1212/1893/257 1211/1817/248 +f 1179/1781/257 1178/1780/250 1205/1818/250 +f 1210/1820/92 1216/1829/92 1213/1821/91 +f 1204/1823/72 1217/1831/72 1214/1824/96 +f 1208/1826/88 1219/1836/88 1215/1827/94 +f 1209/1828/87 1220/1838/87 1216/1829/92 +f 1211/1830/245 1221/1839/245 1217/1831/72 +f 1205/1832/73 1222/1840/73 1218/1833/244 +f 1207/1835/95 1223/1841/95 1219/1836/88 +f 1203/1837/93 1202/1894/93 1220/1838/87 +f 1212/1834/244 1218/1833/244 1221/1839/245 +f 1200/1822/91 1213/1821/91 1222/1840/73 +f 1206/1825/96 1214/1824/96 1223/1841/95 +f 1224/1842/67 1227/1845/258 1225/1843/258 +f 1227/1845/258 1229/1847/68 1228/1846/68 +f 1229/1847/68 1231/1849/259 1230/1848/259 +f 1231/1849/259 1233/1851/66 1232/1850/66 +f 1233/1851/66 1235/1853/260 1234/1852/260 +f 1235/1853/260 1237/1855/69 1236/1854/69 +f 1237/1855/69 1239/1857/261 1238/1856/261 +f 1239/1857/261 1224/1895/67 1226/1858/67 +f 1238/1861/74 1226/1896/74 1230/1897/74 +f 1226/1896/74 1225/1898/74 1230/1897/74 +f 1225/1898/74 1228/1899/74 1230/1897/74 +f 1230/1897/74 1232/1900/74 1238/1861/74 +f 1232/1900/74 1234/1859/74 1238/1861/74 +s off +f 1242/1901/69 1243/1902/69 1244/1903/69 +f 1245/1904/70 1246/1905/70 1247/1906/70 +f 1245/1904/68 1248/1907/68 1249/1908/68 +f 1250/1909/68 1251/1910/68 1248/1907/68 +f 1249/1908/74 1244/1911/74 1243/1912/74 +f 1247/1906/70 1250/1909/70 1245/1904/70 +f 1246/1905/67 1252/1913/67 1253/1914/67 +f 1247/1906/69 1253/1915/69 1243/1902/69 +f 1249/1908/68 1254/1916/68 1245/1904/68 +f 1255/1917/67 1256/1918/67 1253/1914/67 +f 1257/1919/66 1258/1920/66 1251/1921/66 +f 1244/1903/69 1259/1922/69 1242/1901/69 +f 1260/1923/67 1261/1924/67 1244/1925/67 +f 1242/1901/70 1257/1919/70 1250/1909/70 +f 1249/1926/68 1262/1927/68 1252/1913/68 +f 1244/1928/69 1263/1929/69 1258/1920/69 +f 1260/1930/74 1264/1931/74 1261/1932/74 +f 1253/1914/69 1265/1933/69 1243/1934/69 +f 1251/1921/68 1266/1935/68 1248/1936/68 +f 1267/1937/74 1255/1917/74 1268/1938/74 +f 1264/1931/66 1269/1939/66 1251/1921/66 +f 1267/1937/88 1270/1940/88 1256/1918/88 +f 1255/1917/87 1271/1941/87 1268/1938/87 +f 1260/1930/87 1272/1942/87 1269/1939/87 +f 1264/1931/88 1273/1943/88 1261/1932/88 +f 1267/1944/66 1268/1945/66 1249/1926/66 +f 1242/1901/69 1247/1906/69 1243/1902/69 +f 1245/1904/70 1254/1916/70 1246/1905/70 +f 1245/1904/68 1250/1909/68 1248/1907/68 +f 1250/1909/68 1257/1919/68 1251/1910/68 +f 1249/1908/74 1248/1907/74 1244/1911/74 +f 1247/1906/70 1242/1901/70 1250/1909/70 +f 1246/1905/67 1254/1916/67 1252/1913/67 +f 1247/1906/69 1246/1905/69 1253/1915/69 +f 1249/1908/68 1252/1946/68 1254/1916/68 +f 1270/1947/67 1253/1914/67 1256/1918/67 +f 1253/1914/67 1252/1913/67 1255/1917/67 +f 1252/1913/67 1262/1927/67 1255/1917/67 +f 1257/1919/66 1259/1922/66 1258/1920/66 +f 1244/1903/69 1258/1948/69 1259/1922/69 +f 1273/1949/67 1244/1925/67 1261/1924/67 +f 1244/1925/67 1248/1936/67 1260/1923/67 +f 1248/1936/67 1266/1935/67 1260/1923/67 +f 1242/1901/70 1259/1922/70 1257/1919/70 +f 1249/1926/68 1271/1950/68 1262/1927/68 +f 1244/1928/69 1273/1951/69 1263/1929/69 +f 1260/1930/74 1269/1939/74 1264/1931/74 +f 1253/1914/69 1270/1947/69 1265/1933/69 +f 1251/1921/68 1272/1952/68 1266/1935/68 +f 1267/1937/74 1256/1918/74 1255/1917/74 +f 1272/1952/66 1251/1921/66 1269/1939/66 +f 1251/1921/66 1258/1920/66 1264/1931/66 +f 1258/1920/66 1263/1929/66 1264/1931/66 +f 1267/1937/88 1265/1953/88 1270/1940/88 +f 1255/1917/87 1262/1954/87 1271/1941/87 +f 1260/1930/87 1266/1955/87 1272/1942/87 +f 1264/1931/88 1263/1956/88 1273/1943/88 +f 1271/1950/66 1249/1926/66 1268/1945/66 +f 1249/1926/66 1243/1957/66 1267/1944/66 +f 1243/1957/66 1265/1958/66 1267/1944/66 +f 1274/1959/69 1275/1960/69 1276/1961/69 +f 1277/1962/68 1278/1963/68 1279/1964/68 +f 1280/1965/68 1281/1966/68 1282/1967/68 +f 1277/1962/68 1282/1967/68 1281/1966/68 +f 1283/1968/69 1284/1969/69 1285/1970/69 +f 1276/1961/69 1285/1970/69 1284/1969/69 +f 1274/1959/69 1286/1971/69 1287/1972/69 +f 1288/1973/68 1289/1974/68 1278/1963/68 +f 1274/1959/69 1287/1972/69 1275/1960/69 +f 1277/1962/68 1288/1973/68 1278/1963/68 +f 1277/1962/68 1279/1964/68 1282/1967/68 +f 1276/1961/69 1275/1960/69 1285/1970/69 +f 1274/1959/69 1290/1975/69 1286/1971/69 +f 1288/1973/68 1291/1976/68 1289/1974/68 +f 1292/1977/69 1293/1978/69 1294/1979/69 +f 1295/1980/267 1296/1981/267 1293/1978/267 +f 1297/1982/68 1298/1983/68 1296/1984/68 +f 1299/1985/268 1294/1979/268 1298/1983/268 +f 1296/1986/269 1294/1979/269 1293/1987/269 +f 1295/1988/270 1299/1985/270 1297/1989/270 +f 1292/1977/69 1295/1980/69 1293/1978/69 +f 1295/1980/267 1297/1990/267 1296/1981/267 +f 1297/1982/68 1299/1985/68 1298/1983/68 +f 1299/1985/268 1292/1977/268 1294/1979/268 +f 1296/1986/269 1298/1983/269 1294/1979/269 +f 1295/1988/270 1292/1977/270 1299/1985/270 +f 1300/1991/67 1301/1992/67 1302/1993/67 +f 1303/1994/66 1304/1995/66 1305/1996/66 +f 1306/1997/66 1307/1998/66 1308/1999/66 +f 1303/1994/66 1309/2000/66 1306/1997/66 +f 1308/1999/271 1310/2001/271 1311/2002/271 +f 1312/2003/67 1313/2004/67 1300/1991/67 +f 1314/2005/66 1315/2006/66 1304/1995/66 +f 1316/2007/67 1310/2008/67 1317/2009/67 +f 1312/2003/67 1317/2009/67 1318/2010/67 +f 1302/1993/272 1315/2011/272 1319/2012/272 +f 1301/1992/67 1320/2013/67 1321/2014/67 +f 1322/2015/66 1304/1995/66 1323/2016/66 +f 1307/1998/66 1324/2017/66 1325/2018/66 +f 1309/2000/66 1322/2015/66 1324/2017/66 +f 1310/2001/271 1325/2018/271 1326/2019/271 +f 1313/2004/67 1327/2020/67 1320/2013/67 +f 1323/2016/66 1315/2006/66 1328/2021/66 +f 1329/2022/67 1310/2008/67 1326/2019/67 +f 1327/2020/67 1317/2009/67 1329/2022/67 +f 1315/2011/272 1321/2014/272 1328/2023/272 +f 1300/1991/67 1313/2004/67 1301/1992/67 +f 1303/1994/66 1314/2005/66 1304/1995/66 +f 1306/1997/66 1309/2000/66 1307/1998/66 +f 1303/1994/66 1305/1996/66 1309/2000/66 +f 1308/1999/271 1307/1998/271 1310/2001/271 +f 1312/2003/67 1318/2010/67 1313/2004/67 +f 1314/2005/66 1319/2024/66 1315/2006/66 +f 1316/2007/67 1311/2002/67 1310/2008/67 +f 1312/2003/67 1316/2007/67 1317/2009/67 +f 1302/1993/272 1301/1992/272 1315/2011/272 +f 1301/1992/67 1313/2004/67 1320/2013/67 +f 1322/2015/66 1305/1996/66 1304/1995/66 +f 1307/1998/66 1309/2000/66 1324/2017/66 +f 1309/2000/66 1305/1996/66 1322/2015/66 +f 1310/2001/271 1307/1998/271 1325/2018/271 +f 1313/2004/67 1318/2010/67 1327/2020/67 +f 1323/2016/66 1304/1995/66 1315/2006/66 +f 1329/2022/67 1317/2009/67 1310/2008/67 +f 1327/2020/67 1318/2010/67 1317/2009/67 +f 1315/2011/272 1301/1992/272 1321/2014/272 +s 1 +f 1287/2025/273 1277/2026/273 1275/2027/273 +f 1278/1963/66 1276/1961/66 1279/1964/66 +f 1278/1963/66 1290/1975/66 1274/1959/66 +f 1282/1967/274 1283/2028/99 1280/2029/99 +f 1279/1964/66 1284/1969/274 1282/1967/274 +f 1285/2030/153 1280/2031/275 1283/2032/275 +f 1275/2027/273 1281/2033/153 1285/2030/153 +f 1287/2025/273 1291/2034/67 1288/2035/273 +f 1287/2025/273 1288/2035/273 1277/2026/273 +f 1278/1963/66 1274/1959/66 1276/1961/66 +f 1278/1963/66 1289/1974/66 1290/1975/66 +f 1282/1967/274 1284/1969/274 1283/2028/99 +f 1279/1964/66 1276/1961/66 1284/1969/274 +f 1285/2030/153 1281/2033/153 1280/2031/275 +f 1275/2027/273 1277/2026/273 1281/2033/153 +f 1287/2025/273 1286/2036/67 1291/2034/67 +f 1306/2037/276 1330/2038/277 1303/2039/277 +f 1331/2040/278 1332/2041/279 1333/2042/278 +f 1314/2043/280 1334/2044/272 1319/2045/281 +f 1308/2046/282 1335/2047/276 1306/2037/276 +f 1331/2040/278 1336/2048/271 1308/2046/282 +f 1337/2049/279 1338/2050/283 1332/2041/279 +f 1303/2051/277 1339/2052/280 1314/2043/280 +f 1340/2053/283 1334/2044/272 1338/2050/283 +f 1341/2054/67 1342/2055/67 1343/2056/67 +f 1335/2057/66 1333/2058/66 1338/2059/66 +f 1302/2060/281 1340/2053/283 1344/2061/283 +f 1344/2061/283 1337/2049/279 1345/2062/279 +f 1346/2063/278 1308/2046/282 1311/2064/282 +f 1345/2062/279 1331/2040/278 1346/2063/278 +f 1347/2065/276 1312/2066/277 1348/2067/277 +f 1343/2068/278 1345/2062/279 1346/2063/278 +f 1341/2069/280 1302/2060/281 1349/2070/272 +f 1347/2065/276 1311/2064/282 1316/2071/276 +f 1350/2072/271 1346/2063/278 1311/2064/282 +f 1351/2073/279 1344/2061/283 1345/2062/279 +f 1348/2074/277 1300/2075/280 1341/2069/280 +f 1349/2070/272 1344/2061/283 1342/2076/283 +f 1352/2077/279 1324/2078/278 1322/2079/279 +f 1353/2080/276 1354/2081/277 1355/2082/276 +f 1356/2083/272 1323/2084/283 1328/2085/284 +f 1357/2086/278 1325/2087/285 1324/2078/278 +f 1358/2088/271 1355/2082/276 1325/2087/285 +f 1359/2089/277 1360/2090/280 1354/2081/277 +f 1361/2091/283 1322/2092/279 1323/2084/283 +f 1362/2093/280 1328/2085/284 1360/2090/280 +f 1363/2094/67 1364/2095/67 1365/2096/67 +f 1361/2097/66 1362/2098/66 1353/2099/66 +f 1366/2100/280 1328/2085/284 1321/2101/284 +f 1367/2102/277 1360/2090/280 1366/2100/280 +f 1325/2087/285 1368/2103/276 1326/2104/285 +f 1355/2082/276 1367/2102/277 1368/2103/276 +f 1327/2105/279 1365/2106/278 1369/2107/279 +f 1368/2103/276 1370/2108/277 1371/2109/276 +f 1372/2110/272 1320/2111/283 1364/2112/283 +f 1365/2106/278 1326/2104/285 1373/2113/271 +f 1373/2113/271 1368/2103/276 1371/2109/276 +f 1370/2108/277 1366/2100/280 1363/2114/280 +f 1320/2111/283 1369/2115/279 1364/2112/283 +f 1366/2100/280 1372/2110/272 1363/2114/280 +f 1306/2037/276 1335/2047/276 1330/2038/277 +f 1331/2040/278 1337/2049/279 1332/2041/279 +f 1314/2043/280 1339/2052/280 1334/2044/272 +f 1308/2046/282 1336/2048/271 1335/2047/276 +f 1331/2040/278 1333/2042/278 1336/2048/271 +f 1337/2049/279 1340/2053/283 1338/2050/283 +f 1303/2051/277 1330/2116/277 1339/2052/280 +f 1340/2053/283 1319/2045/281 1334/2044/272 +f 1343/2056/67 1350/2117/67 1347/2118/67 +f 1347/2118/67 1348/2119/67 1341/2054/67 +f 1341/2054/67 1349/2120/67 1342/2055/67 +f 1342/2055/67 1351/2121/67 1343/2056/67 +f 1343/2056/67 1347/2118/67 1341/2054/67 +f 1335/2057/66 1336/2122/66 1333/2058/66 +f 1333/2058/66 1332/2123/66 1338/2059/66 +f 1338/2059/66 1334/2124/66 1339/2125/66 +f 1339/2125/66 1330/2126/66 1338/2059/66 +f 1330/2126/66 1335/2057/66 1338/2059/66 +f 1302/2060/281 1319/2045/281 1340/2053/283 +f 1344/2061/283 1340/2053/283 1337/2049/279 +f 1346/2063/278 1331/2040/278 1308/2046/282 +f 1345/2062/279 1337/2049/279 1331/2040/278 +f 1347/2065/276 1316/2071/276 1312/2066/277 +f 1343/2068/278 1351/2073/279 1345/2062/279 +f 1341/2069/280 1300/2075/280 1302/2060/281 +f 1347/2065/276 1350/2072/271 1311/2064/282 +f 1350/2072/271 1343/2068/278 1346/2063/278 +f 1351/2073/279 1342/2076/283 1344/2061/283 +f 1348/2074/277 1312/2127/277 1300/2075/280 +f 1349/2070/272 1302/2060/281 1344/2061/283 +f 1352/2077/279 1357/2086/278 1324/2078/278 +f 1353/2080/276 1359/2089/277 1354/2081/277 +f 1356/2083/272 1361/2091/283 1323/2084/283 +f 1357/2086/278 1358/2088/271 1325/2087/285 +f 1358/2088/271 1353/2080/276 1355/2082/276 +f 1359/2089/277 1362/2093/280 1360/2090/280 +f 1361/2091/283 1352/2128/279 1322/2092/279 +f 1362/2093/280 1356/2083/272 1328/2085/284 +f 1365/2096/67 1373/2129/67 1371/2130/67 +f 1371/2130/67 1370/2131/67 1363/2094/67 +f 1363/2094/67 1372/2132/67 1364/2095/67 +f 1364/2095/67 1369/2133/67 1365/2096/67 +f 1365/2096/67 1371/2130/67 1363/2094/67 +f 1353/2099/66 1358/2134/66 1357/2135/66 +f 1357/2135/66 1352/2136/66 1353/2099/66 +f 1352/2136/66 1361/2097/66 1353/2099/66 +f 1361/2097/66 1356/2137/66 1362/2098/66 +f 1362/2098/66 1359/2138/66 1353/2099/66 +f 1366/2100/280 1360/2090/280 1328/2085/284 +f 1367/2102/277 1354/2081/277 1360/2090/280 +f 1325/2087/285 1355/2082/276 1368/2103/276 +f 1355/2082/276 1354/2081/277 1367/2102/277 +f 1327/2105/279 1329/2139/278 1365/2106/278 +f 1368/2103/276 1367/2102/277 1370/2108/277 +f 1372/2110/272 1321/2101/284 1320/2111/283 +f 1365/2106/278 1329/2139/278 1326/2104/285 +f 1373/2113/271 1326/2104/285 1368/2103/276 +f 1370/2108/277 1367/2102/277 1366/2100/280 +f 1320/2111/283 1327/2140/279 1369/2115/279 +f 1366/2100/280 1321/2101/284 1372/2110/272 +o Scope +v 0.000000 1.327482 -7.000000 +v -0.181111 1.311306 -7.000000 +v -0.148759 1.367342 -7.000000 +v -0.313694 1.443889 -7.000000 +v -0.257658 1.476241 -7.000000 +v -0.362222 1.625000 -7.000000 +v -0.297517 1.625000 -7.000000 +v -0.257658 1.773759 -7.000000 +v -0.313694 1.806111 -7.000000 +v -0.181111 1.938693 -7.000000 +v -0.148759 1.882657 -7.000000 +v 0.000000 1.922517 -7.000000 +v 0.000000 1.987222 -7.000000 +v 0.181111 1.938694 -7.000000 +v 0.148759 1.882658 -7.000000 +v 0.257658 1.773759 -7.000000 +v 0.313694 1.806111 -7.000000 +v 0.297517 1.625000 -7.000000 +v 0.362222 1.625000 -7.000000 +v 0.313694 1.443889 -7.000000 +v 0.257658 1.476241 -7.000000 +v 0.181111 1.311306 -7.000000 +v 0.148759 1.367342 -7.000000 +v 0.000000 1.262778 -7.000000 +v 0.297517 1.625000 -6.875000 +v 0.148759 1.367342 -6.875000 +v -0.297517 1.625000 -6.875000 +v -0.209127 1.262778 -1.875000 +v 0.000002 1.142037 -1.875000 +v 0.000002 1.206742 -1.875000 +v -0.362220 1.415871 -1.875000 +v -0.241479 1.206742 -1.875000 +v -0.482961 1.625000 -1.875000 +v -0.418256 1.383518 -1.875000 +v -0.362220 1.834129 -1.875000 +v -0.418256 1.625000 -1.875000 +v -0.209127 1.987222 -1.875000 +v -0.418256 1.866482 -1.875000 +v 0.000002 2.107963 -1.875000 +v -0.241480 2.043258 -1.875000 +v 0.209131 1.987222 -1.875000 +v 0.000002 2.043258 -1.875000 +v 0.362224 1.834129 -1.875000 +v 0.241483 2.043258 -1.875000 +v 0.418260 1.625000 -1.875000 +v 0.418260 1.866482 -1.875000 +v 0.362224 1.415871 -1.875000 +v 0.482965 1.625000 -1.875000 +v 0.209131 1.262778 -1.875000 +v 0.418260 1.383519 -1.875000 +v 0.241484 1.206742 -1.875000 +v 0.362224 1.415871 -2.000000 +v 0.362224 1.834129 -2.000000 +v 0.000002 2.043258 -2.000000 +v -0.437499 1.567258 -4.807742 +v -0.437499 1.543340 -4.750000 +v -0.437499 1.706660 -4.750000 +v -0.249999 1.500000 -4.937500 +v -0.124999 1.875000 -4.937500 +v 0.250001 1.750000 -4.937500 +v 0.125001 1.875000 -4.562500 +v -0.249999 1.750000 -4.562500 +v -0.124999 1.375000 -4.562500 +v -0.057741 2.062500 -4.807742 +v -0.081659 2.062500 -4.750000 +v 0.081661 2.062500 -4.750000 +v 0.250001 1.125000 -5.312500 +v 0.250001 0.937500 -5.250000 +v 0.250001 0.937500 -5.312500 +v 0.250001 1.125000 -5.250000 +v -0.249999 0.937500 -5.250000 +v -0.249999 1.125000 -5.312500 +v -0.249999 0.937500 -5.500000 +v -0.249999 0.937500 -5.312500 +v -0.249999 1.125000 -5.500000 +v 0.250001 0.937500 -5.500000 +v -0.249999 1.125000 -5.250000 +v -0.124999 1.250000 -5.312500 +v 0.125001 1.250000 -5.500000 +v 0.250001 1.375000 -5.312500 +v 0.125001 1.250000 -5.312500 +v 0.250001 1.125000 -5.500000 +v -0.124999 1.250000 -5.250000 +v 0.125001 1.250000 -5.250000 +v -0.124999 1.250000 -5.500000 +v 0.250001 1.375000 -5.500000 +v 0.250001 1.437500 -5.312500 +v 0.250001 1.375000 -5.250000 +v -0.249999 1.375000 -5.250000 +v -0.249999 1.375000 -5.312500 +v -0.249999 1.375000 -5.500000 +v -0.249999 1.437500 -5.312500 +v -0.249999 1.437500 -5.500000 +v 0.250001 1.437500 -5.500000 +v -0.249999 1.750000 -5.312500 +v 0.250001 1.750000 -5.312500 +v -0.249999 1.750000 -5.500000 +v 0.125001 1.875000 -5.312500 +v -0.124999 1.875000 -5.500000 +v -0.124999 1.875000 -5.312500 +v 0.125001 1.875000 -5.500000 +v 0.250001 1.750000 -5.500000 +v 0.250001 0.937500 -4.250000 +v 0.250001 1.125000 -4.187500 +v 0.250001 0.937500 -4.187500 +v -0.249999 0.937500 -4.250000 +v 0.250001 1.125000 -4.250000 +v -0.249999 0.937500 -4.000000 +v -0.249999 1.125000 -4.187500 +v -0.249999 0.937500 -4.187500 +v 0.250001 0.937500 -4.000000 +v -0.249999 1.125000 -4.000000 +v -0.124999 1.250000 -4.187500 +v -0.249999 1.125000 -4.250000 +v 0.250001 1.375000 -4.187500 +v 0.125001 1.250000 -4.000000 +v 0.125001 1.250000 -4.187500 +v 0.250001 1.125000 -4.000000 +v -0.124999 1.250000 -4.250000 +v 0.125001 1.250000 -4.250000 +v 0.250001 1.375000 -4.000000 +v -0.124999 1.250000 -4.000000 +v 0.250001 1.437500 -4.187500 +v 0.250001 1.375000 -4.250000 +v -0.249999 1.375000 -4.250000 +v -0.249999 1.375000 -4.187500 +v -0.249999 1.375000 -4.000000 +v -0.249999 1.437500 -4.187500 +v -0.249999 1.437500 -4.000000 +v 0.250001 1.437500 -4.000000 +v -0.124999 1.875000 -4.187500 +v 0.125001 1.875000 -4.187500 +v 0.250001 1.750000 -4.187500 +v -0.249999 1.750000 -4.000000 +v -0.124999 1.875000 -4.000000 +v 0.250001 1.750000 -4.000000 +v -0.249999 1.750000 -4.187500 +v 0.125001 1.875000 -4.000000 +v 0.000000 1.327482 -6.875000 +v -0.148759 1.367342 -6.875000 +v -0.257658 1.476241 -6.875000 +v -0.257658 1.773759 -6.875000 +v -0.148759 1.882657 -6.875000 +v 0.000000 1.922517 -6.875000 +v 0.148759 1.882658 -6.875000 +v 0.257658 1.773759 -6.875000 +v 0.257658 1.476241 -6.875000 +v -0.362220 1.415871 -2.000000 +v -0.209127 1.262778 -2.000000 +v 0.000002 1.206742 -2.000000 +v 0.209131 1.262778 -2.000000 +v 0.418260 1.625000 -2.000000 +v 0.209131 1.987222 -2.000000 +v -0.209127 1.987222 -2.000000 +v -0.362220 1.834129 -2.000000 +v -0.418256 1.625000 -2.000000 +v -0.437499 1.567258 -4.692258 +v -0.437499 1.625000 -4.668340 +v -0.437499 1.682742 -4.692258 +v -0.437499 1.682742 -4.807742 +v -0.437499 1.625000 -4.831660 +v 0.125001 1.375000 -4.937500 +v -0.124999 1.375000 -4.937500 +v -0.249999 1.750000 -4.937500 +v 0.125001 1.875000 -4.937500 +v 0.250001 1.500000 -4.937500 +v 0.125001 1.375000 -4.562500 +v 0.250001 1.500000 -4.562500 +v 0.250001 1.750000 -4.562500 +v -0.124999 1.875000 -4.562500 +v -0.249999 1.500000 -4.562500 +v -0.057741 2.062500 -4.692258 +v 0.000001 2.062500 -4.668340 +v 0.057743 2.062500 -4.692258 +v 0.057743 2.062500 -4.807742 +v 0.000001 2.062500 -4.831660 +v -0.241479 1.206742 -2.500000 +v 0.000002 1.142037 -2.500000 +v -0.418256 1.383518 -2.500000 +v -0.482961 1.625000 -2.500000 +v -0.418256 1.866482 -2.500000 +v -0.241480 2.043258 -2.500000 +v 0.000002 2.107963 -2.500000 +v 0.241483 2.043258 -2.500000 +v 0.418260 1.866482 -2.500000 +v 0.482965 1.625000 -2.500000 +v 0.418260 1.383519 -2.500000 +v 0.241484 1.206742 -2.500000 +v -0.120740 1.834129 -3.750000 +v 0.209130 1.745741 -3.750000 +v 0.120742 1.834129 -5.750000 +v 0.120742 1.834129 -3.750000 +v -0.209128 1.745741 -3.750000 +v -0.241480 1.625000 -3.750000 +v 0.120742 1.415871 -3.750000 +v -0.120740 1.415871 -3.750000 +v 0.000001 1.383518 -3.750000 +v -0.209128 1.504259 -3.750000 +v 0.209130 1.504259 -3.750000 +v 0.241482 1.625000 -3.750000 +v 0.000001 1.866482 -3.750000 +v -0.120740 1.415871 -5.750000 +v 0.000000 1.262778 -6.750000 +v 0.000001 1.383518 -5.750000 +v -0.209128 1.745741 -5.750000 +v 0.120742 1.415871 -5.750000 +v 0.209130 1.745741 -5.750000 +v -0.120740 1.834129 -5.750000 +v -0.209128 1.504259 -5.750000 +v 0.241482 1.625000 -5.750000 +v 0.000001 1.866481 -5.750000 +v -0.241480 1.625000 -5.750000 +v 0.209130 1.504259 -5.750000 +v 0.181111 1.311306 -6.750000 +v 0.313694 1.443889 -6.750000 +v 0.181111 1.938694 -6.750000 +v -0.181111 1.938693 -6.750000 +v -0.313694 1.806111 -6.750000 +v -0.181111 1.311306 -6.750000 +v 0.313694 1.806111 -6.750000 +v -0.313694 1.443889 -6.750000 +v 0.362222 1.625000 -6.750000 +v 0.000000 1.987222 -6.750000 +v -0.362222 1.625000 -6.750000 +v -0.312499 1.567258 -4.692258 +v -0.312499 1.625000 -4.668340 +v -0.312499 1.543340 -4.750000 +v -0.312499 1.567258 -4.807742 +v -0.312499 1.625000 -4.831660 +v -0.312499 1.682742 -4.807742 +v -0.312499 1.706660 -4.750000 +v -0.312499 1.682742 -4.692258 +v -0.312499 1.750000 -4.625000 +v -0.312499 1.500000 -4.875000 +v -0.312499 1.500000 -4.625000 +v 0.125001 1.937500 -4.625000 +v -0.124999 1.937500 -4.875000 +v -0.124999 1.937500 -4.625000 +v 0.312501 1.750000 -4.875000 +v 0.312501 1.500000 -4.625000 +v 0.312501 1.500000 -4.875000 +v 0.125001 1.312500 -4.875000 +v 0.125001 1.312500 -4.625000 +v 0.125001 1.937500 -4.875000 +v -0.124999 1.312500 -4.625000 +v -0.124999 1.312500 -4.875000 +v -0.312499 1.750000 -4.875000 +v 0.312501 1.750000 -4.625000 +v -0.057741 1.937500 -4.692258 +v 0.000001 1.937500 -4.668340 +v -0.081659 1.937500 -4.750000 +v -0.057741 1.937500 -4.807742 +v 0.000001 1.937500 -4.831660 +v 0.057743 1.937500 -4.807742 +v 0.081661 1.937500 -4.750000 +v 0.057743 1.937500 -4.692258 +vt 0.450116 0.413194 +vt 0.452436 0.430556 +vt 0.450116 0.427083 +vt 0.450116 0.434028 +vt 0.452436 0.451389 +vt 0.450116 0.447917 +vt 0.450116 0.454861 +vt 0.452436 0.472222 +vt 0.450116 0.468750 +vt 0.450116 0.489583 +vt 0.452436 0.493056 +vt 0.450116 0.496528 +vt 0.452436 0.513889 +vt 0.450116 0.510417 +vt 0.450116 0.531250 +vt 0.452436 0.534722 +vt 0.450116 0.538194 +vt 0.452436 0.555556 +vt 0.450116 0.552083 +vt 0.450116 0.572917 +vt 0.452436 0.576389 +vt 0.450116 0.593750 +vt 0.452436 0.597222 +vt 0.450116 0.600694 +vt 0.452436 0.618056 +vt 0.450116 0.614583 +vt 0.450116 0.621528 +vt 0.452436 0.638889 +vt 0.450116 0.635417 +vt 0.450116 0.656250 +vt 0.452436 0.659722 +vt 0.531965 0.697845 +vt 0.536912 0.672200 +vt 0.551752 0.697844 +vt 0.649652 0.434028 +vt 0.647332 0.409722 +vt 0.649652 0.413194 +vt 0.649652 0.461806 +vt 0.647332 0.437500 +vt 0.649652 0.440972 +vt 0.649652 0.468750 +vt 0.647332 0.493056 +vt 0.647332 0.465278 +vt 0.649652 0.517361 +vt 0.649652 0.496528 +vt 0.649652 0.545139 +vt 0.647332 0.520833 +vt 0.649652 0.524306 +vt 0.649652 0.552083 +vt 0.647332 0.576389 +vt 0.647332 0.548611 +vt 0.649652 0.600694 +vt 0.649652 0.579861 +vt 0.649652 0.628472 +vt 0.647332 0.604167 +vt 0.649652 0.607639 +vt 0.649652 0.656250 +vt 0.647332 0.631944 +vt 0.649652 0.635417 +vt 0.649652 0.684028 +vt 0.647332 0.659722 +vt 0.649652 0.663194 +vt 0.649652 0.711806 +vt 0.647332 0.687500 +vt 0.649652 0.690972 +vt 0.649652 0.739583 +vt 0.647332 0.715278 +vt 0.649652 0.718750 +vt 0.528938 0.419586 +vt 0.528938 0.462778 +vt 0.516441 0.484374 +vt 0.432736 0.190963 +vt 0.435062 0.188080 +vt 0.435062 0.207770 +vt 0.429234 0.305556 +vt 0.424594 0.347222 +vt 0.410673 0.333333 +vt 0.424594 0.284722 +vt 0.410673 0.270833 +vt 0.415313 0.229167 +vt 0.446725 0.190813 +vt 0.447713 0.197945 +vt 0.440973 0.197945 +vt 0.487239 0.284722 +vt 0.484919 0.263889 +vt 0.487239 0.263889 +vt 0.450116 0.284722 +vt 0.431555 0.263889 +vt 0.450116 0.263889 +vt 0.459397 0.284722 +vt 0.452436 0.263889 +vt 0.459397 0.263889 +vt 0.482599 0.284722 +vt 0.464037 0.263889 +vt 0.482599 0.263889 +vt 0.461717 0.284722 +vt 0.459397 0.305556 +vt 0.494200 0.305556 +vt 0.487239 0.326389 +vt 0.487239 0.305556 +vt 0.494200 0.284722 +vt 0.468677 0.298611 +vt 0.464037 0.284722 +vt 0.436195 0.298611 +vt 0.431555 0.284722 +vt 0.484919 0.305556 +vt 0.484919 0.284722 +vt 0.477958 0.298611 +vt 0.464037 0.312500 +vt 0.452436 0.305556 +vt 0.452436 0.284722 +vt 0.461717 0.263889 +vt 0.494200 0.263889 +vt 0.494200 0.326389 +vt 0.487239 0.333333 +vt 0.484919 0.326389 +vt 0.445476 0.298611 +vt 0.431555 0.312500 +vt 0.461717 0.305556 +vt 0.459397 0.326389 +vt 0.452436 0.326389 +vt 0.461717 0.326389 +vt 0.459397 0.333333 +vt 0.452436 0.333333 +vt 0.450116 0.312500 +vt 0.431555 0.319444 +vt 0.482599 0.312500 +vt 0.464037 0.319444 +vt 0.431555 0.354167 +vt 0.450116 0.354167 +vt 0.452436 0.368056 +vt 0.438515 0.402778 +vt 0.447796 0.381944 +vt 0.447796 0.402778 +vt 0.477958 0.368056 +vt 0.468677 0.368056 +vt 0.464037 0.354167 +vt 0.454756 0.402778 +vt 0.431555 0.381944 +vt 0.438515 0.381944 +vt 0.494200 0.333333 +vt 0.487239 0.368056 +vt 0.526682 0.256944 +vt 0.508121 0.229167 +vt 0.526682 0.229167 +vt 0.526682 0.263889 +vt 0.524362 0.284722 +vt 0.524362 0.263889 +vt 0.515081 0.263889 +vt 0.496520 0.284722 +vt 0.496520 0.263889 +vt 0.559165 0.263889 +vt 0.552204 0.284722 +vt 0.552204 0.263889 +vt 0.547564 0.263889 +vt 0.529002 0.284722 +vt 0.529002 0.263889 +vt 0.529002 0.229167 +vt 0.547564 0.250000 +vt 0.529002 0.250000 +vt 0.552204 0.305556 +vt 0.549884 0.284722 +vt 0.524362 0.326389 +vt 0.517401 0.305556 +vt 0.524362 0.305556 +vt 0.517401 0.284722 +vt 0.542923 0.298611 +vt 0.547564 0.284722 +vt 0.510441 0.298611 +vt 0.515081 0.284722 +vt 0.526682 0.305556 +vt 0.526682 0.284722 +vt 0.547564 0.312500 +vt 0.533643 0.298611 +vt 0.559165 0.305556 +vt 0.559165 0.284722 +vt 0.547564 0.256944 +vt 0.529002 0.256944 +vt 0.549884 0.263889 +vt 0.517401 0.263889 +vt 0.524362 0.333333 +vt 0.517401 0.326389 +vt 0.526682 0.326389 +vt 0.515081 0.312500 +vt 0.501160 0.298611 +vt 0.552204 0.326389 +vt 0.549884 0.305556 +vt 0.559165 0.326389 +vt 0.552204 0.333333 +vt 0.549884 0.326389 +vt 0.559165 0.333333 +vt 0.515081 0.319444 +vt 0.496520 0.312500 +vt 0.547564 0.319444 +vt 0.529002 0.312500 +vt 0.510441 0.368056 +vt 0.501160 0.368056 +vt 0.496520 0.354167 +vt 0.559165 0.368056 +vt 0.491879 0.402778 +vt 0.482599 0.381944 +vt 0.491879 0.381944 +vt 0.529002 0.354167 +vt 0.529002 0.319444 +vt 0.547564 0.354167 +vt 0.498840 0.381944 +vt 0.475638 0.402778 +vt 0.482599 0.402778 +vt 0.524362 0.368056 +vt 0.517401 0.333333 +vt 0.452436 0.409722 +vt 0.450116 0.475694 +vt 0.450116 0.517361 +vt 0.450116 0.559028 +vt 0.450116 0.579861 +vt 0.450116 0.642361 +vt 0.541859 0.668232 +vt 0.546806 0.672200 +vt 0.550427 0.683038 +vt 0.550427 0.712651 +vt 0.546806 0.723489 +vt 0.541859 0.727457 +vt 0.536912 0.723489 +vt 0.533291 0.712651 +vt 0.533291 0.683038 +vt 0.649652 0.489583 +vt 0.649652 0.572917 +vt 0.647332 0.743056 +vt 0.503943 0.419586 +vt 0.509225 0.403776 +vt 0.516441 0.397990 +vt 0.523656 0.403776 +vt 0.530872 0.441182 +vt 0.523656 0.478588 +vt 0.509225 0.478588 +vt 0.503943 0.462778 +vt 0.502010 0.441182 +vt 0.437388 0.190963 +vt 0.438351 0.197925 +vt 0.437388 0.204886 +vt 0.432736 0.204886 +vt 0.431772 0.197925 +vt 0.415313 0.291667 +vt 0.424594 0.291667 +vt 0.429234 0.333333 +vt 0.415313 0.347222 +vt 0.410673 0.305556 +vt 0.424594 0.229167 +vt 0.429234 0.243056 +vt 0.429234 0.270833 +vt 0.415313 0.284722 +vt 0.410673 0.243056 +vt 0.446725 0.205077 +vt 0.444343 0.208031 +vt 0.441960 0.205077 +vt 0.441960 0.190813 +vt 0.444343 0.187858 +vt 0.450116 0.319444 +vt 0.482599 0.319444 +vt 0.445476 0.368056 +vt 0.436195 0.368056 +vt 0.459397 0.368056 +vt 0.482599 0.354167 +vt 0.454756 0.381944 +vt 0.431555 0.402778 +vt 0.494200 0.368056 +vt 0.508121 0.256944 +vt 0.547564 0.229167 +vt 0.496520 0.319444 +vt 0.515081 0.354167 +vt 0.552204 0.368056 +vt 0.542923 0.368056 +vt 0.533643 0.368056 +vt 0.498840 0.402778 +vt 0.475638 0.381944 +vt 0.517401 0.368056 +vt 0.624130 0.437500 +vt 0.624130 0.409722 +vt 0.624130 0.465278 +vt 0.624130 0.493056 +vt 0.624130 0.520833 +vt 0.624130 0.548611 +vt 0.624130 0.576389 +vt 0.624130 0.604167 +vt 0.624130 0.631944 +vt 0.624130 0.659722 +vt 0.624130 0.687500 +vt 0.993039 0.298611 +vt 0.997680 0.326389 +vt 0.993039 0.326389 +vt 0.624130 0.715278 +vt 0.624130 0.743056 +vt 0.577726 0.555556 +vt 0.575406 0.604167 +vt 0.501160 0.590278 +vt 0.575406 0.590278 +vt 0.577726 0.527778 +vt 0.577726 0.500000 +vt 0.577726 0.722222 +vt 0.577726 0.430556 +vt 0.577726 0.416667 +vt 0.577726 0.472222 +vt 0.577726 0.694444 +vt 0.577726 0.444444 +vt 0.577726 0.666667 +vt 0.577726 0.638889 +vt 0.577726 0.611111 +vt 0.577726 0.583333 +vt 0.498840 0.427083 +vt 0.461717 0.409722 +vt 0.498840 0.413194 +vt 0.575406 0.562500 +vt 0.501160 0.548611 +vt 0.575406 0.548611 +vt 0.575406 0.659722 +vt 0.501160 0.645833 +vt 0.575406 0.645833 +vt 0.575406 0.520833 +vt 0.501160 0.506944 +vt 0.575406 0.506944 +vt 0.575406 0.618056 +vt 0.501160 0.604167 +vt 0.575406 0.576389 +vt 0.501160 0.562500 +vt 0.575406 0.534722 +vt 0.501160 0.520833 +vt 0.575406 0.631944 +vt 0.501160 0.618056 +vt 0.501160 0.576389 +vt 0.501160 0.534722 +vt 0.501160 0.631944 +vt 0.575406 0.493056 +vt 0.501160 0.493056 +vt 0.461717 0.638889 +vt 0.461717 0.618056 +vt 0.498840 0.569444 +vt 0.461717 0.555556 +vt 0.498840 0.555556 +vt 0.498840 0.496528 +vt 0.461717 0.513889 +vt 0.461717 0.493056 +vt 0.498840 0.642361 +vt 0.461717 0.659722 +vt 0.498840 0.447917 +vt 0.461717 0.430556 +vt 0.498840 0.434028 +vt 0.498840 0.593750 +vt 0.461717 0.576389 +vt 0.498840 0.579861 +vt 0.498840 0.531250 +vt 0.498840 0.517361 +vt 0.498840 0.468750 +vt 0.461717 0.451389 +vt 0.498840 0.454861 +vt 0.498840 0.600694 +vt 0.461717 0.597222 +vt 0.498840 0.552083 +vt 0.461717 0.534722 +vt 0.498840 0.538194 +vt 0.498840 0.479167 +vt 0.461717 0.472222 +vt 0.498840 0.635417 +vt 0.498840 0.621528 +vt 0.445476 0.475694 +vt 0.445476 0.621528 +vt 0.445476 0.427083 +vt 0.445476 0.413194 +vt 0.445476 0.559028 +vt 0.445476 0.510417 +vt 0.445476 0.496528 +vt 0.445476 0.642361 +vt 0.445476 0.447917 +vt 0.445476 0.434028 +vt 0.445476 0.593750 +vt 0.445476 0.579861 +vt 0.445476 0.517361 +vt 0.445476 0.454861 +vt 0.445476 0.614583 +vt 0.445476 0.600694 +vt 0.445476 0.552083 +vt 0.445476 0.538194 +vt 0.993039 0.215278 +vt 0.997680 0.243056 +vt 0.993039 0.243056 +vt 0.993039 0.409722 +vt 0.997680 0.437500 +vt 0.993039 0.437500 +vt 0.993039 0.131944 +vt 0.997680 0.159722 +vt 0.993039 0.159722 +vt 0.997680 0.354167 +vt 0.993039 0.354167 +vt 0.997680 0.270833 +vt 0.993039 0.270833 +vt 0.997680 0.187500 +vt 0.993039 0.187500 +vt 0.997680 0.381944 +vt 0.993039 0.381944 +vt 0.997680 0.298611 +vt 0.997680 0.215278 +vt 0.997680 0.409722 +vt 0.993039 0.104167 +vt 0.997680 0.131944 +vt 0.431555 0.180556 +vt 0.429234 0.166667 +vt 0.431555 0.166667 +vt 0.447796 0.180556 +vt 0.445476 0.166667 +vt 0.447796 0.166667 +vt 0.443155 0.180556 +vt 0.443155 0.166667 +vt 0.440835 0.166667 +vt 0.440835 0.180556 +vt 0.438515 0.166667 +vt 0.436195 0.180556 +vt 0.436195 0.166667 +vt 0.433875 0.166667 +vt 0.433875 0.180556 +vt 0.477958 0.250000 +vt 0.487239 0.222222 +vt 0.487239 0.250000 +vt 0.459397 0.250000 +vt 0.468677 0.222222 +vt 0.468677 0.250000 +vt 0.450116 0.222222 +vt 0.440835 0.250000 +vt 0.440835 0.222222 +vt 0.431555 0.222222 +vt 0.431555 0.250000 +vt 0.459397 0.222222 +vt 0.496520 0.250000 +vt 0.496520 0.222222 +vt 0.505800 0.222222 +vt 0.505800 0.250000 +vt 0.488399 0.215278 +vt 0.477958 0.215278 +vt 0.477958 0.222222 +vt 0.469838 0.215278 +vt 0.459397 0.215278 +vt 0.458237 0.215278 +vt 0.440835 0.215278 +vt 0.432715 0.215278 +vt 0.496520 0.215278 +vt 0.439675 0.256944 +vt 0.450116 0.256944 +vt 0.450116 0.250000 +vt 0.458237 0.256944 +vt 0.468677 0.256944 +vt 0.476798 0.256944 +vt 0.487239 0.256944 +vt 0.488399 0.256944 +vt 0.505800 0.256944 +vt 0.445476 0.159722 +vt 0.443155 0.145833 +vt 0.445476 0.145833 +vt 0.440835 0.159722 +vt 0.440835 0.145833 +vt 0.438515 0.145833 +vt 0.438515 0.159722 +vt 0.436195 0.145833 +vt 0.436195 0.159722 +vt 0.433875 0.145833 +vt 0.431555 0.159722 +vt 0.431555 0.145833 +vt 0.429234 0.145833 +vt 0.447796 0.159722 +vt 0.447796 0.145833 +vt 0.577726 0.569444 +vt 0.577726 0.541667 +vt 0.577726 0.513889 +vt 0.577726 0.736111 +vt 0.577726 0.486111 +vt 0.577726 0.708333 +vt 0.577726 0.458333 +vt 0.577726 0.680556 +vt 0.577726 0.652778 +vt 0.577726 0.625000 +vt 0.577726 0.597222 +vt 0.501160 0.659722 +vt 0.498840 0.510417 +vt 0.498840 0.656250 +vt 0.498840 0.614583 +vt 0.498840 0.493056 +vt 0.445476 0.489583 +vt 0.445476 0.635417 +vt 0.445476 0.572917 +vt 0.445476 0.656250 +vt 0.445476 0.531250 +vt 0.445476 0.468750 +vt 0.997680 0.104167 +vt 0.429234 0.180556 +vt 0.445476 0.180556 +vt 0.438515 0.180556 +vt 0.495360 0.215278 +vt 0.487239 0.215278 +vt 0.476798 0.215278 +vt 0.468677 0.215278 +vt 0.451276 0.215278 +vt 0.450116 0.215278 +vt 0.439675 0.215278 +vt 0.505800 0.215278 +vt 0.432715 0.256944 +vt 0.440835 0.256944 +vt 0.451276 0.256944 +vt 0.459397 0.256944 +vt 0.469838 0.256944 +vt 0.477958 0.256944 +vt 0.495360 0.256944 +vt 0.496520 0.256944 +vt 0.443155 0.159722 +vt 0.433875 0.159722 +vt 0.429234 0.159722 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 -0.0000 +vn 1.0000 0.0000 -0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.7071 -0.7071 +vn -0.5000 -0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn -0.8660 0.5000 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.8660 0.5000 -0.0000 +vn 0.8660 -0.5000 -0.0000 +vn 0.5000 -0.8660 -0.0000 +vn 0.0000 0.9818 -0.1897 +vn -0.4909 0.8503 -0.1897 +vn -0.8503 0.4909 -0.1897 +vn -0.9818 0.0000 -0.1897 +vn -0.0000 -0.9818 -0.1897 +vn 0.4909 -0.8503 -0.1897 +vn -0.4909 -0.8503 -0.1897 +vn -0.8503 -0.4909 -0.1897 +vn 0.8503 -0.4909 -0.1897 +vn 0.9818 -0.0000 -0.1897 +vn 0.8503 0.4909 -0.1897 +vn 0.4909 0.8503 -0.1897 +vn -0.4964 -0.8598 0.1199 +vn -0.0000 -0.9928 0.1199 +vn 0.8598 0.4964 0.1199 +vn 0.4964 0.8598 0.1199 +vn -0.8598 0.4964 0.1199 +vn -0.4964 0.8598 0.1199 +vn 0.4964 -0.8598 0.1199 +vn -0.8598 -0.4964 0.1199 +vn 0.9928 0.0000 0.1199 +vn -0.0000 0.9928 0.1199 +vn -0.9928 0.0000 0.1199 +vn 0.8598 -0.4964 0.1199 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -0.7071 -0.7071 +vn -0.9239 0.3827 0.0000 +vn -0.9239 -0.3827 0.0000 +vn 0.3827 0.9239 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.9239 0.3827 -0.0000 +vn 0.9239 -0.3827 -0.0000 +vn 0.3827 -0.9239 -0.0000 +vn -0.3827 -0.9239 0.0000 +vn -0.6635 -0.3458 -0.6635 +vn -0.2418 -0.6861 -0.6861 +vn -0.6861 -0.2418 -0.6861 +vn -0.6635 0.3458 -0.6635 +vn -0.6861 0.2418 -0.6861 +vn -0.3458 0.6635 -0.6635 +vn -0.2418 0.6861 -0.6861 +vn 0.3458 0.6635 -0.6635 +vn 0.2418 0.6861 -0.6861 +vn 0.6861 0.2418 -0.6861 +vn 0.6635 -0.3458 -0.6635 +vn 0.6861 -0.2418 -0.6861 +vn 0.3458 -0.6635 -0.6635 +vn 0.2418 -0.6861 -0.6861 +vn -0.3458 -0.6635 -0.6635 +vn 0.6635 -0.3458 0.6635 +vn 0.2418 -0.6861 0.6861 +vn 0.6861 -0.2418 0.6861 +vn 0.6635 0.3458 0.6635 +vn 0.6861 0.2418 0.6861 +vn 0.3458 0.6635 0.6635 +vn 0.2418 0.6861 0.6861 +vn -0.3458 0.6635 0.6635 +vn -0.2418 0.6861 0.6861 +vn -0.6635 0.3458 0.6635 +vn -0.6861 0.2418 0.6861 +vn -0.6635 -0.3458 0.6635 +vn -0.6861 -0.2418 0.6861 +vn -0.2418 -0.6861 0.6861 +vn 0.3458 -0.6635 0.6635 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.6635 0.3458 -0.6635 +vn -0.3458 -0.6635 0.6635 +s off +f 1374/2141/286 1375/2142/286 1376/2143/286 +f 1376/2144/286 1377/2145/286 1378/2146/286 +f 1378/2147/286 1379/2148/286 1380/2149/286 +f 1381/2150/286 1379/2148/286 1382/2151/286 +f 1381/2152/286 1383/2153/286 1384/2154/286 +f 1385/2155/286 1383/2153/286 1386/2156/286 +f 1385/2157/286 1387/2158/286 1388/2159/286 +f 1389/2160/286 1387/2158/286 1390/2161/286 +f 1391/2162/286 1390/2161/286 1392/2163/286 +f 1391/2164/286 1393/2165/286 1394/2166/286 +f 1394/2167/286 1395/2168/286 1396/2169/286 +f 1374/2170/286 1395/2168/286 1397/2171/286 +f 1398/2172/286 1399/2173/286 1400/2174/286 +f 1401/2175/287 1402/2176/287 1403/2177/287 +f 1404/2178/287 1405/2179/287 1401/2180/287 +f 1404/2181/287 1406/2182/287 1407/2183/287 +f 1408/2184/287 1406/2182/287 1409/2185/287 +f 1410/2186/287 1411/2187/287 1408/2188/287 +f 1410/2189/287 1412/2190/287 1413/2191/287 +f 1414/2192/287 1412/2190/287 1415/2193/287 +f 1416/2194/287 1417/2195/287 1414/2196/287 +f 1418/2197/287 1419/2198/287 1416/2199/287 +f 1420/2200/287 1421/2201/287 1418/2202/287 +f 1422/2203/287 1423/2204/287 1420/2205/287 +f 1403/2206/287 1424/2207/287 1422/2208/287 +f 1425/2209/287 1426/2210/287 1427/2211/287 +f 1428/2212/288 1429/2213/288 1430/2214/288 +f 1431/2215/286 1432/2216/286 1433/2217/286 +f 1434/2218/287 1435/2219/287 1436/2220/287 +f 1437/2221/289 1438/2222/289 1439/2223/289 +f 1440/2224/290 1441/2225/290 1442/2226/290 +f 1443/2227/287 1444/2228/287 1441/2229/287 +f 1445/2230/288 1446/2231/288 1447/2232/288 +f 1448/2233/286 1449/2234/286 1446/2235/286 +f 1450/2236/291 1451/2237/291 1445/2230/291 +f 1452/2238/292 1453/2239/292 1454/2240/292 +f 1455/2241/293 1454/2240/293 1440/2224/293 +f 1448/2233/286 1452/2242/286 1455/2243/286 +f 1443/2227/287 1456/2244/287 1450/2245/287 +f 1440/2224/293 1457/2246/293 1443/2247/293 +f 1458/2248/286 1459/2249/286 1452/2242/286 +f 1445/2230/291 1458/2250/291 1448/2251/291 +f 1450/2236/288 1447/2232/288 1444/2252/288 +f 1455/2241/290 1442/2226/290 1449/2253/290 +f 1459/2254/290 1460/2255/290 1453/2239/290 +f 1453/2239/290 1460/2255/290 1461/2256/290 +f 1457/2257/287 1462/2258/287 1456/2244/287 +f 1456/2259/294 1463/2260/294 1451/2237/294 +f 1451/2237/294 1464/2261/294 1458/2250/294 +f 1454/2240/292 1461/2256/292 1457/2246/292 +f 1463/2260/288 1462/2262/288 1465/2263/288 +f 1463/2260/288 1466/2264/288 1464/2261/288 +f 1461/2265/295 1465/2266/295 1462/2258/295 +f 1464/2267/286 1467/2268/286 1459/2249/286 +f 1468/2269/287 1465/2266/287 1469/2270/287 +f 1465/2263/288 1470/2271/288 1466/2264/288 +f 1471/2272/289 1472/2273/289 1473/2274/289 +f 1472/2275/286 1474/2276/286 1475/2277/286 +f 1472/2273/291 1468/2278/291 1473/2274/291 +f 1471/2272/293 1475/2279/293 1474/2280/293 +f 1467/2281/290 1469/2282/290 1460/2255/290 +f 1446/2283/296 1441/2284/296 1444/2285/296 +f 1476/2286/290 1477/2287/290 1478/2288/290 +f 1479/2289/286 1480/2290/286 1476/2291/286 +f 1481/2292/288 1482/2293/288 1483/2294/288 +f 1484/2295/287 1485/2296/287 1481/2297/287 +f 1484/2298/296 1483/2299/296 1478/2300/296 +f 1486/2301/291 1487/2302/291 1482/2293/291 +f 1488/2303/292 1489/2304/292 1490/2305/292 +f 1490/2305/293 1491/2306/293 1477/2287/293 +f 1489/2307/287 1485/2296/287 1491/2308/287 +f 1492/2309/286 1480/2290/286 1487/2310/286 +f 1493/2311/293 1477/2287/293 1480/2312/293 +f 1494/2313/287 1495/2314/287 1489/2307/287 +f 1495/2315/291 1482/2293/291 1485/2316/291 +f 1478/2300/296 1479/2317/296 1476/2318/296 +f 1483/2294/288 1487/2302/288 1479/2319/288 +f 1478/2288/290 1491/2306/290 1484/2320/290 +f 1496/2321/290 1494/2322/290 1488/2303/290 +f 1488/2303/290 1497/2323/290 1496/2321/290 +f 1498/2324/286 1493/2325/286 1492/2309/286 +f 1499/2326/294 1492/2327/294 1486/2301/294 +f 1500/2328/294 1486/2301/294 1495/2315/294 +f 1497/2323/292 1490/2305/292 1493/2311/292 +f 1499/2326/288 1501/2329/288 1498/2330/288 +f 1502/2331/288 1499/2326/288 1500/2328/288 +f 1501/2332/297 1497/2333/297 1498/2324/297 +f 1503/2334/287 1500/2335/287 1494/2313/287 +f 1504/2336/286 1505/2337/286 1506/2338/286 +f 1507/2339/288 1501/2329/288 1502/2331/288 +f 1508/2340/289 1505/2341/289 1504/2342/289 +f 1507/2343/287 1502/2344/287 1509/2345/287 +f 1510/2346/291 1508/2340/291 1504/2342/291 +f 1509/2347/293 1505/2341/293 1511/2348/293 +f 1506/2349/290 1503/2350/290 1496/2321/290 +f 1374/2141/286 1397/2351/286 1375/2142/286 +f 1376/2144/286 1375/2142/286 1377/2145/286 +f 1378/2147/286 1377/2145/286 1379/2148/286 +f 1381/2150/286 1380/2352/286 1379/2148/286 +f 1381/2152/286 1382/2151/286 1383/2153/286 +f 1385/2155/286 1384/2353/286 1383/2153/286 +f 1385/2157/286 1386/2156/286 1387/2158/286 +f 1389/2160/286 1388/2354/286 1387/2158/286 +f 1391/2162/286 1389/2355/286 1390/2161/286 +f 1391/2164/286 1392/2163/286 1393/2165/286 +f 1394/2167/286 1393/2165/286 1395/2168/286 +f 1374/2170/286 1396/2356/286 1395/2168/286 +f 1399/2173/286 1512/2357/286 1400/2174/286 +f 1512/2357/286 1513/2358/286 1400/2174/286 +f 1513/2358/286 1514/2359/286 1400/2174/286 +f 1400/2174/286 1515/2360/286 1516/2361/286 +f 1516/2361/286 1517/2362/286 1518/2363/286 +f 1518/2363/286 1519/2364/286 1398/2172/286 +f 1398/2172/286 1520/2365/286 1399/2173/286 +f 1400/2174/286 1516/2361/286 1518/2363/286 +f 1518/2363/286 1398/2172/286 1400/2174/286 +f 1401/2175/287 1405/2179/287 1402/2176/287 +f 1404/2178/287 1407/2183/287 1405/2179/287 +f 1404/2181/287 1409/2366/287 1406/2182/287 +f 1408/2184/287 1411/2187/287 1406/2182/287 +f 1410/2186/287 1413/2191/287 1411/2187/287 +f 1410/2189/287 1415/2367/287 1412/2190/287 +f 1414/2192/287 1417/2195/287 1412/2190/287 +f 1416/2194/287 1419/2198/287 1417/2195/287 +f 1418/2197/287 1421/2201/287 1419/2198/287 +f 1420/2200/287 1423/2204/287 1421/2201/287 +f 1422/2203/287 1424/2207/287 1423/2204/287 +f 1403/2206/287 1402/2368/287 1424/2207/287 +f 1521/2369/287 1522/2370/287 1523/2371/287 +f 1523/2371/287 1524/2372/287 1425/2209/287 +f 1425/2209/287 1525/2373/287 1426/2210/287 +f 1426/2210/287 1526/2374/287 1427/2211/287 +f 1427/2211/287 1527/2375/287 1528/2376/287 +f 1528/2376/287 1529/2377/287 1427/2211/287 +f 1529/2377/287 1521/2369/287 1427/2211/287 +f 1521/2369/287 1523/2371/287 1427/2211/287 +f 1523/2371/287 1425/2209/287 1427/2211/287 +f 1429/2213/288 1530/2378/288 1430/2214/288 +f 1530/2378/288 1531/2379/288 1430/2214/288 +f 1531/2379/288 1532/2380/288 1430/2214/288 +f 1430/2214/288 1533/2381/288 1534/2382/288 +f 1534/2382/288 1428/2212/288 1430/2214/288 +f 1535/2383/286 1536/2384/286 1431/2215/286 +f 1431/2215/286 1537/2385/286 1432/2216/286 +f 1432/2216/286 1538/2386/286 1433/2217/286 +f 1433/2217/286 1539/2387/286 1535/2383/286 +f 1535/2383/286 1431/2215/286 1433/2217/286 +f 1436/2220/287 1540/2388/287 1541/2389/287 +f 1541/2389/287 1542/2390/287 1436/2220/287 +f 1542/2390/287 1434/2218/287 1436/2220/287 +f 1434/2218/287 1543/2391/287 1435/2219/287 +f 1435/2219/287 1544/2392/287 1436/2220/287 +f 1438/2222/289 1545/2393/289 1439/2223/289 +f 1545/2393/289 1546/2394/289 1439/2223/289 +f 1546/2394/289 1547/2395/289 1439/2223/289 +f 1439/2223/289 1548/2396/289 1549/2397/289 +f 1549/2397/289 1437/2221/289 1439/2223/289 +f 1440/2224/290 1443/2247/290 1441/2225/290 +f 1443/2227/287 1450/2245/287 1444/2228/287 +f 1445/2230/288 1448/2251/288 1446/2231/288 +f 1448/2233/286 1455/2243/286 1449/2234/286 +f 1450/2236/291 1456/2259/291 1451/2237/291 +f 1452/2238/292 1459/2254/292 1453/2239/292 +f 1455/2241/293 1452/2238/293 1454/2240/293 +f 1448/2233/286 1458/2248/286 1452/2242/286 +f 1443/2227/287 1457/2257/287 1456/2244/287 +f 1440/2224/293 1454/2240/293 1457/2246/293 +f 1458/2248/286 1464/2267/286 1459/2249/286 +f 1445/2230/291 1451/2237/291 1458/2250/291 +f 1450/2236/288 1445/2230/288 1447/2232/288 +f 1455/2241/290 1440/2224/290 1442/2226/290 +f 1459/2254/290 1467/2281/290 1460/2255/290 +f 1457/2257/287 1461/2265/287 1462/2258/287 +f 1456/2259/294 1462/2262/294 1463/2260/294 +f 1451/2237/294 1463/2260/294 1464/2261/294 +f 1454/2240/292 1453/2239/292 1461/2256/292 +f 1463/2260/288 1465/2263/288 1466/2264/288 +f 1461/2265/295 1460/2398/295 1465/2266/295 +f 1464/2267/286 1466/2399/286 1467/2268/286 +f 1465/2266/287 1460/2398/287 1469/2270/287 +f 1469/2270/287 1471/2400/287 1473/2401/287 +f 1473/2401/287 1468/2269/287 1469/2270/287 +f 1465/2263/288 1468/2402/288 1470/2271/288 +f 1471/2272/289 1474/2280/289 1472/2273/289 +f 1475/2277/286 1467/2268/286 1466/2399/286 +f 1466/2399/286 1470/2403/286 1475/2277/286 +f 1470/2403/286 1472/2275/286 1475/2277/286 +f 1472/2273/291 1470/2404/291 1468/2278/291 +f 1471/2272/293 1469/2405/293 1475/2279/293 +f 1467/2281/290 1475/2406/290 1469/2282/290 +f 1446/2283/296 1449/2407/296 1441/2284/296 +f 1476/2286/290 1480/2312/290 1477/2287/290 +f 1479/2289/286 1487/2310/286 1480/2290/286 +f 1481/2292/288 1485/2316/288 1482/2293/288 +f 1484/2295/287 1491/2308/287 1485/2296/287 +f 1484/2298/296 1481/2408/296 1483/2299/296 +f 1486/2301/291 1492/2327/291 1487/2302/291 +f 1488/2303/292 1494/2322/292 1489/2304/292 +f 1490/2305/293 1489/2304/293 1491/2306/293 +f 1489/2307/287 1495/2314/287 1485/2296/287 +f 1492/2309/286 1493/2325/286 1480/2290/286 +f 1493/2311/293 1490/2305/293 1477/2287/293 +f 1494/2313/287 1500/2335/287 1495/2314/287 +f 1495/2315/291 1486/2301/291 1482/2293/291 +f 1478/2300/296 1483/2299/296 1479/2317/296 +f 1483/2294/288 1482/2293/288 1487/2302/288 +f 1478/2288/290 1477/2287/290 1491/2306/290 +f 1496/2321/290 1503/2350/290 1494/2322/290 +f 1498/2324/286 1497/2333/286 1493/2325/286 +f 1499/2326/294 1498/2330/294 1492/2327/294 +f 1500/2328/294 1499/2326/294 1486/2301/294 +f 1497/2323/292 1488/2303/292 1490/2305/292 +f 1502/2331/288 1501/2329/288 1499/2326/288 +f 1501/2332/297 1496/2409/297 1497/2333/297 +f 1503/2334/287 1502/2344/287 1500/2335/287 +f 1506/2338/286 1496/2409/286 1501/2332/286 +f 1501/2332/286 1510/2410/286 1506/2338/286 +f 1510/2410/286 1504/2336/286 1506/2338/286 +f 1507/2339/288 1510/2411/288 1501/2329/288 +f 1508/2340/289 1511/2348/289 1505/2341/289 +f 1502/2344/287 1503/2334/287 1509/2345/287 +f 1509/2345/287 1511/2412/287 1508/2413/287 +f 1508/2413/287 1507/2343/287 1509/2345/287 +f 1510/2346/291 1507/2414/291 1508/2340/291 +f 1509/2347/293 1506/2415/293 1505/2341/293 +f 1506/2349/290 1509/2416/290 1503/2350/290 +s 1 +f 1402/2176/296 1550/2417/298 1551/2418/296 +f 1405/2179/298 1552/2419/299 1550/2417/298 +f 1552/2419/299 1406/2182/288 1553/2420/288 +f 1553/2420/288 1411/2187/300 1554/2421/300 +f 1411/2187/300 1555/2422/301 1554/2421/300 +f 1413/2191/301 1556/2423/289 1555/2422/301 +f 1412/2190/289 1557/2424/302 1556/2423/289 +f 1417/2195/302 1558/2425/303 1557/2424/302 +f 1419/2198/303 1559/2426/290 1558/2425/303 +f 1421/2201/290 1560/2427/304 1559/2426/290 +f 1414/2428/298 1426/2429/299 1416/2430/299 +f 1560/2427/304 1424/2207/305 1561/2431/305 +f 1424/2207/305 1551/2432/296 1561/2431/305 +f 1556/2423/306 1562/2433/307 1555/2422/307 +f 1563/2434/303 1564/2435/302 1565/2436/302 +f 1555/2422/307 1566/2437/308 1554/2421/308 +f 1554/2421/308 1567/2438/309 1553/2420/309 +f 1551/2432/310 1568/2439/311 1561/2431/311 +f 1551/2418/310 1569/2440/312 1570/2441/310 +f 1553/2420/309 1571/2442/313 1552/2419/313 +f 1561/2431/311 1572/2443/314 1560/2427/314 +f 1552/2419/313 1569/2444/312 1550/2417/312 +f 1560/2427/314 1573/2445/315 1559/2426/315 +f 1559/2426/315 1563/2446/316 1558/2425/316 +f 1558/2425/316 1565/2447/317 1557/2424/317 +f 1557/2424/317 1574/2448/306 1556/2423/306 +f 1575/2449/318 1576/2450/319 1577/2451/319 +f 1562/2452/301 1578/2453/300 1566/2454/300 +f 1570/2455/296 1579/2456/305 1568/2457/305 +f 1571/2458/299 1575/2459/298 1569/2460/298 +f 1573/2461/290 1580/2462/303 1563/2434/303 +f 1574/2463/289 1581/2464/301 1562/2452/301 +f 1567/2465/288 1582/2466/299 1571/2458/299 +f 1572/2467/304 1583/2468/290 1573/2461/290 +f 1574/2463/289 1564/2435/302 1584/2469/289 +f 1567/2465/288 1578/2453/300 1585/2470/288 +f 1568/2457/305 1586/2471/304 1572/2467/304 +f 1570/2472/296 1575/2459/298 1577/2473/296 +f 1587/2474/305 1393/2165/304 1588/2475/304 +f 1580/2476/320 1589/2477/321 1564/2478/321 +f 1578/2479/322 1590/2480/323 1591/2481/322 +f 1579/2482/324 1576/2483/319 1587/2474/324 +f 1582/2484/325 1592/2485/318 1575/2486/318 +f 1583/2487/326 1593/2488/320 1580/2489/320 +f 1584/2490/327 1590/2480/323 1581/2491/323 +f 1585/2492/328 1594/2493/325 1582/2494/325 +f 1583/2495/326 1588/2475/329 1595/2496/326 +f 1564/2497/321 1596/2498/327 1584/2499/327 +f 1585/2500/328 1591/2481/322 1597/2501/328 +f 1579/2502/324 1588/2475/329 1586/2503/329 +f 1381/2150/304 1400/2504/290 1380/2352/290 +f 1592/2485/298 1397/2351/296 1576/2450/296 +f 1593/2488/303 1387/2158/302 1589/2477/302 +f 1590/2480/301 1382/2151/300 1591/2481/300 +f 1576/2483/296 1395/2168/305 1587/2474/305 +f 1594/2493/299 1375/2142/298 1592/2485/298 +f 1595/2496/290 1390/2161/303 1593/2488/303 +f 1596/2498/289 1383/2153/301 1590/2480/301 +f 1597/2501/288 1377/2145/299 1594/2493/299 +f 1588/2475/304 1392/2163/290 1595/2496/290 +f 1589/2477/302 1386/2156/289 1596/2498/289 +f 1591/2481/300 1379/2148/288 1597/2501/288 +f 1396/2169/301 1520/2505/300 1394/2167/300 +f 1374/2141/289 1513/2506/302 1512/2507/289 +f 1389/2160/299 1518/2508/298 1388/2354/298 +f 1381/2152/304 1516/2509/305 1515/2510/304 +f 1374/2170/289 1399/2511/301 1396/2356/301 +f 1376/2144/302 1514/2512/303 1513/2513/302 +f 1389/2355/299 1398/2514/288 1519/2515/299 +f 1385/2155/296 1516/2516/305 1384/2353/305 +f 1380/2149/290 1514/2517/303 1378/2147/303 +f 1391/2164/288 1520/2518/300 1398/2519/288 +f 1385/2157/296 1518/2520/298 1517/2521/296 +f 1408/2522/304 1527/2523/305 1410/2524/305 +f 1422/2525/301 1523/2526/289 1403/2527/289 +f 1401/2528/302 1521/2529/303 1404/2530/303 +f 1416/2430/299 1525/2531/288 1418/2532/288 +f 1410/2524/305 1427/2533/296 1415/2534/296 +f 1404/2530/303 1529/2535/290 1409/2536/290 +f 1418/2532/288 1425/2537/300 1420/2538/300 +f 1415/2534/296 1526/2539/298 1414/2428/298 +f 1409/2536/290 1528/2540/304 1408/2522/304 +f 1420/2538/300 1524/2541/301 1422/2525/301 +f 1403/2542/289 1522/2543/302 1401/2528/302 +f 1531/2544/287 1598/2545/330 1599/2546/287 +f 1530/2547/330 1600/2548/296 1598/2549/330 +f 1600/2548/296 1428/2550/331 1601/2551/331 +f 1428/2550/331 1602/2552/286 1601/2551/331 +f 1534/2553/286 1603/2554/297 1602/2552/286 +f 1603/2554/297 1430/2555/289 1604/2556/289 +f 1430/2555/289 1605/2557/295 1604/2556/289 +f 1532/2558/295 1599/2546/287 1605/2557/295 +f 1606/2559/332 1607/2560/333 1608/2561/333 +f 1609/2562/334 1610/2563/335 1611/2564/335 +f 1612/2565/336 1613/2566/337 1614/2567/337 +f 1615/2568/338 1613/2566/337 1616/2569/338 +f 1609/2562/334 1612/2565/336 1617/2570/334 +f 1618/2571/339 1607/2560/333 1619/2572/339 +f 1610/2563/335 1606/2559/332 1611/2564/335 +f 1618/2571/339 1615/2573/338 1616/2574/338 +f 1431/2575/340 1619/2572/341 1607/2560/342 +f 1537/2576/343 1607/2560/342 1620/2577/344 +f 1432/2578/345 1620/2577/344 1610/2563/346 +f 1538/2579/347 1610/2563/346 1617/2570/348 +f 1612/2565/349 1538/2580/347 1617/2570/348 +f 1539/2581/350 1612/2565/349 1614/2567/351 +f 1535/2582/352 1614/2567/351 1615/2568/353 +f 1536/2583/354 1615/2573/353 1619/2572/341 +f 1541/2584/355 1616/2569/356 1613/2566/357 +f 1542/2585/358 1613/2566/357 1621/2586/359 +f 1434/2587/360 1621/2586/359 1609/2562/361 +f 1543/2588/362 1609/2562/361 1611/2564/363 +f 1435/2589/364 1611/2564/363 1606/2559/365 +f 1544/2590/366 1606/2559/365 1608/2561/367 +f 1618/2571/368 1544/2591/366 1608/2561/367 +f 1540/2592/369 1618/2571/368 1616/2574/356 +f 1546/2593/287 1622/2594/370 1623/2595/287 +f 1622/2594/370 1438/2596/288 1624/2597/288 +f 1438/2596/288 1625/2598/371 1624/2597/288 +f 1437/2599/371 1626/2600/286 1625/2598/371 +f 1549/2601/286 1627/2602/372 1626/2600/286 +f 1627/2602/372 1439/2603/290 1628/2604/290 +f 1439/2603/290 1629/2605/373 1628/2604/290 +f 1547/2606/373 1623/2595/287 1629/2607/373 +f 1402/2176/296 1405/2179/298 1550/2417/298 +f 1405/2179/298 1407/2183/299 1552/2419/299 +f 1552/2419/299 1407/2183/299 1406/2182/288 +f 1553/2420/288 1406/2182/288 1411/2187/300 +f 1411/2187/300 1413/2191/301 1555/2422/301 +f 1413/2191/301 1412/2190/289 1556/2423/289 +f 1412/2190/289 1417/2195/302 1557/2424/302 +f 1417/2195/302 1419/2198/303 1558/2425/303 +f 1419/2198/303 1421/2201/290 1559/2426/290 +f 1421/2201/290 1423/2204/304 1560/2427/304 +f 1414/2428/298 1526/2539/298 1426/2429/299 +f 1560/2427/304 1423/2204/304 1424/2207/305 +f 1424/2207/305 1402/2368/296 1551/2432/296 +f 1556/2423/306 1574/2608/306 1562/2433/307 +f 1563/2434/303 1580/2462/303 1564/2435/302 +f 1555/2422/307 1562/2609/307 1566/2437/308 +f 1554/2421/308 1566/2610/308 1567/2438/309 +f 1551/2432/310 1570/2611/310 1568/2439/311 +f 1551/2418/310 1550/2417/312 1569/2440/312 +f 1553/2420/309 1567/2612/309 1571/2442/313 +f 1561/2431/311 1568/2613/311 1572/2443/314 +f 1552/2419/313 1571/2614/313 1569/2444/312 +f 1560/2427/314 1572/2615/314 1573/2445/315 +f 1559/2426/315 1573/2616/315 1563/2446/316 +f 1558/2425/316 1563/2617/316 1565/2447/317 +f 1557/2424/317 1565/2618/317 1574/2448/306 +f 1575/2449/318 1592/2485/318 1576/2450/319 +f 1562/2452/301 1581/2464/301 1578/2453/300 +f 1570/2455/296 1577/2619/296 1579/2456/305 +f 1571/2458/299 1582/2466/299 1575/2459/298 +f 1573/2461/290 1583/2468/290 1580/2462/303 +f 1574/2463/289 1584/2469/289 1581/2464/301 +f 1567/2465/288 1585/2470/288 1582/2466/299 +f 1572/2467/304 1586/2471/304 1583/2468/290 +f 1574/2463/289 1565/2436/302 1564/2435/302 +f 1567/2465/288 1566/2454/300 1578/2453/300 +f 1568/2457/305 1579/2456/305 1586/2471/304 +f 1570/2472/296 1569/2460/298 1575/2459/298 +f 1587/2474/305 1395/2168/305 1393/2165/304 +f 1580/2476/320 1593/2488/320 1589/2477/321 +f 1578/2479/322 1581/2620/323 1590/2480/323 +f 1579/2482/324 1577/2621/319 1576/2483/319 +f 1582/2484/325 1594/2493/325 1592/2485/318 +f 1583/2487/326 1595/2496/326 1593/2488/320 +f 1584/2490/327 1596/2498/327 1590/2480/323 +f 1585/2492/328 1597/2501/328 1594/2493/325 +f 1583/2495/326 1586/2622/329 1588/2475/329 +f 1564/2497/321 1589/2477/321 1596/2498/327 +f 1585/2500/328 1578/2623/322 1591/2481/322 +f 1579/2502/324 1587/2474/324 1588/2475/329 +f 1381/2150/304 1515/2624/304 1400/2504/290 +f 1592/2485/298 1375/2142/298 1397/2351/296 +f 1593/2488/303 1390/2161/303 1387/2158/302 +f 1590/2480/301 1383/2153/301 1382/2151/300 +f 1576/2483/296 1397/2171/296 1395/2168/305 +f 1594/2493/299 1377/2145/299 1375/2142/298 +f 1595/2496/290 1392/2163/290 1390/2161/303 +f 1596/2498/289 1386/2156/289 1383/2153/301 +f 1597/2501/288 1379/2148/288 1377/2145/299 +f 1588/2475/304 1393/2165/304 1392/2163/290 +f 1589/2477/302 1387/2158/302 1386/2156/289 +f 1591/2481/300 1382/2151/300 1379/2148/288 +f 1396/2169/301 1399/2625/301 1520/2505/300 +f 1374/2141/289 1376/2143/302 1513/2506/302 +f 1389/2160/299 1519/2626/299 1518/2508/298 +f 1381/2152/304 1384/2154/305 1516/2509/305 +f 1374/2170/289 1512/2627/289 1399/2511/301 +f 1376/2144/302 1378/2146/303 1514/2512/303 +f 1389/2355/299 1391/2162/288 1398/2514/288 +f 1385/2155/296 1517/2628/296 1516/2516/305 +f 1380/2149/290 1400/2629/290 1514/2517/303 +f 1391/2164/288 1394/2166/300 1520/2518/300 +f 1385/2157/296 1388/2159/298 1518/2520/298 +f 1408/2522/304 1528/2540/304 1527/2523/305 +f 1422/2525/301 1524/2541/301 1523/2526/289 +f 1401/2528/302 1522/2543/302 1521/2529/303 +f 1416/2430/299 1426/2429/299 1525/2531/288 +f 1410/2524/305 1527/2523/305 1427/2533/296 +f 1404/2530/303 1521/2529/303 1529/2535/290 +f 1418/2532/288 1525/2531/288 1425/2537/300 +f 1415/2534/296 1427/2533/296 1526/2539/298 +f 1409/2536/290 1529/2535/290 1528/2540/304 +f 1420/2538/300 1425/2537/300 1524/2541/301 +f 1403/2542/289 1523/2630/289 1522/2543/302 +f 1531/2544/287 1530/2631/330 1598/2545/330 +f 1530/2547/330 1429/2632/296 1600/2548/296 +f 1600/2548/296 1429/2632/296 1428/2550/331 +f 1428/2550/331 1534/2553/286 1602/2552/286 +f 1534/2553/286 1533/2633/297 1603/2554/297 +f 1603/2554/297 1533/2633/297 1430/2555/289 +f 1430/2555/289 1532/2558/295 1605/2557/295 +f 1532/2558/295 1531/2544/287 1599/2546/287 +f 1606/2559/332 1620/2577/332 1607/2560/333 +f 1609/2562/334 1617/2570/334 1610/2563/335 +f 1612/2565/336 1621/2586/336 1613/2566/337 +f 1615/2568/338 1614/2567/337 1613/2566/337 +f 1609/2562/334 1621/2586/336 1612/2565/336 +f 1618/2571/339 1608/2561/333 1607/2560/333 +f 1610/2563/335 1620/2577/332 1606/2559/332 +f 1618/2571/339 1619/2572/339 1615/2573/338 +f 1431/2575/340 1536/2634/354 1619/2572/341 +f 1537/2576/343 1431/2635/340 1607/2560/342 +f 1432/2578/345 1537/2636/343 1620/2577/344 +f 1538/2579/347 1432/2637/345 1610/2563/346 +f 1612/2565/349 1433/2638/374 1538/2580/347 +f 1539/2581/350 1433/2639/374 1612/2565/349 +f 1535/2582/352 1539/2640/350 1614/2567/351 +f 1536/2583/354 1535/2641/352 1615/2573/353 +f 1541/2584/355 1540/2642/369 1616/2569/356 +f 1542/2585/358 1541/2643/355 1613/2566/357 +f 1434/2587/360 1542/2644/358 1621/2586/359 +f 1543/2588/362 1434/2645/360 1609/2562/361 +f 1435/2589/364 1543/2646/362 1611/2564/363 +f 1544/2590/366 1435/2647/364 1606/2559/365 +f 1618/2571/368 1436/2648/375 1544/2591/366 +f 1540/2592/369 1436/2649/375 1618/2571/368 +f 1546/2593/287 1545/2650/370 1622/2594/370 +f 1622/2594/370 1545/2650/370 1438/2596/288 +f 1438/2596/288 1437/2599/371 1625/2598/371 +f 1437/2599/371 1549/2601/286 1626/2600/286 +f 1549/2601/286 1548/2651/372 1627/2602/372 +f 1627/2602/372 1548/2651/372 1439/2603/290 +f 1439/2603/290 1547/2652/373 1629/2605/373 +f 1547/2606/373 1546/2593/287 1623/2595/287 +o Magazine +v 0.249996 0.000002 -3.562500 +v 0.249996 -1.124998 -3.375000 +v 0.249996 -1.124998 -3.562500 +v -0.187504 0.000002 -3.375000 +v -0.250004 -1.124998 -3.375000 +v -0.187504 -1.124998 -3.375000 +v -0.250004 0.000002 -5.000000 +v -0.250004 -1.124998 -5.187500 +v -0.250004 -1.124998 -5.000000 +v 0.187496 0.000002 -5.187500 +v 0.249996 -1.124998 -5.187500 +v 0.187496 -1.124998 -5.187500 +v -0.187504 -1.124998 -3.562500 +v -0.250004 -1.281248 -3.562500 +v -0.250004 -1.124998 -3.562500 +v 0.249996 0.000002 -5.000000 +v 0.187496 0.000002 -5.000000 +v -0.187504 -1.499998 -5.000000 +v 0.187496 -1.531248 -5.187500 +v 0.187496 -1.499998 -5.000000 +v 0.187496 -1.312498 -3.750000 +v 0.249996 -1.374998 -4.187500 +v 0.249996 -1.312498 -3.750000 +v 0.249996 0.000002 -4.812500 +v 0.249996 -1.124998 -4.375000 +v 0.249996 -1.124998 -4.812500 +v -0.250004 0.000002 -3.750000 +v -0.250004 -1.124998 -4.187500 +v -0.250004 -1.124998 -3.750000 +v -0.250004 -1.312498 -3.750000 +v 0.249996 0.000002 -3.750000 +v 0.187496 0.000002 -4.187500 +v 0.187496 0.000002 -3.750000 +v -0.250004 -1.499998 -5.000000 +v 0.249996 -1.531248 -5.187500 +v 0.249996 -1.499998 -5.000000 +v -0.250004 0.000002 -3.562500 +v 0.249996 0.000002 -4.187500 +v 0.249996 -1.124998 -3.750000 +v 0.249996 -1.124998 -4.187500 +v -0.250004 0.000002 -3.375000 +v -0.187504 -1.124998 -3.750000 +v -0.187504 -1.281248 -3.562500 +v 0.249996 0.000002 -3.375000 +v 0.187496 0.000002 -3.562500 +v 0.187496 0.000002 -3.375000 +v 0.187496 -1.124998 -5.000000 +v 0.249996 -1.124998 -5.000000 +v 0.249996 0.000002 -4.375000 +v 0.187496 0.000002 -4.812500 +v 0.187496 0.000002 -4.375000 +v -0.250004 -1.124998 -4.812500 +v -0.250004 -1.406248 -4.375000 +v -0.250004 -1.124998 -4.375000 +v -0.250004 0.000002 -4.375000 +v 0.249996 0.000002 -5.187500 +v -0.187504 -1.374998 -4.187500 +v 0.187496 -1.406248 -4.375000 +v 0.187496 -1.374998 -4.187500 +v 0.249996 -1.468748 -4.812500 +v 0.249996 -1.406248 -4.375000 +v -0.187504 -1.312498 -3.750000 +v 0.187496 -1.468748 -4.812500 +v -0.187504 0.000002 -4.375000 +v -0.250004 0.000002 -4.812500 +v -0.187504 -1.124998 -5.000000 +v -0.187504 -1.468748 -4.812500 +v -0.187504 -1.124998 -4.812500 +v -0.187504 0.000002 -3.750000 +v -0.250004 0.000002 -4.187500 +v 0.187496 -1.249998 -3.375000 +v 0.187496 -1.124998 -3.375000 +v -0.187504 0.000002 -5.000000 +v -0.250004 0.000002 -5.187500 +v 0.249996 -1.249998 -3.375000 +v 0.249996 -1.281248 -3.562500 +v -0.187504 -1.124998 -5.187500 +v 0.187496 -1.124998 -3.750000 +v 0.187496 -1.281248 -3.562500 +v -0.250004 -1.531248 -5.187500 +v 0.187496 -1.124998 -4.812500 +v -0.187504 -1.531248 -5.187500 +v 0.124996 0.000002 -4.812500 +v 0.124996 -0.187498 -4.375000 +v 0.124996 0.000002 -4.375000 +v -0.125004 0.000002 -4.812500 +v -0.125004 -0.187498 -5.000000 +v -0.125004 0.000002 -5.000000 +v -0.125004 0.000002 -5.125000 +v 0.124996 -0.187498 -5.125000 +v 0.124996 0.000002 -5.125000 +v 0.124996 -0.187498 -5.000000 +v 0.124996 0.000002 -5.000000 +v 0.124996 0.000002 -3.437500 +v -0.125004 -0.187498 -3.437500 +v -0.125004 0.000002 -3.437500 +v -0.125004 -0.187498 -5.125000 +v 0.124996 -0.187498 -4.187500 +v 0.124996 0.000002 -4.187500 +v -0.187504 0.000002 -5.187500 +v -0.187504 0.000002 -4.187500 +v -0.187504 -1.124998 -4.375000 +v -0.187504 -1.124998 -4.187500 +v -0.187504 0.000002 -3.562500 +v -0.187504 0.000002 -4.812500 +v -0.187504 -1.249998 -3.375000 +v -0.187504 -1.406248 -4.375000 +v 0.187496 -1.124998 -4.187500 +v 0.187496 -1.124998 -4.375000 +v 0.187496 -1.124998 -3.562500 +v -0.250004 -1.249998 -3.375000 +v -0.250004 -1.374998 -4.187500 +v -0.250004 -1.468748 -4.812500 +v 0.187496 0.125002 -4.375000 +v -0.125004 0.000002 -3.750000 +v -0.125004 0.000002 -3.562500 +v -0.125004 0.000002 -4.187500 +v -0.125004 0.000002 -4.375000 +v -0.125004 0.125002 -4.375000 +v 0.124996 0.000002 -3.562500 +v 0.124996 0.000002 -3.750000 +v 0.124996 -0.187498 -4.812500 +v -0.125004 -0.187498 -4.812500 +v -0.125004 -0.187498 -4.375000 +v 0.124996 -0.187498 -3.437500 +v -0.125004 -0.187498 -3.562500 +v 0.124996 -0.187498 -3.562500 +v -0.125004 -0.187498 -3.750000 +v 0.124996 -0.187498 -3.750000 +v -0.125004 -0.187498 -4.187500 +v -0.125004 0.125002 -4.812500 +v -0.187504 0.125002 -4.375000 +v 0.124996 0.125002 -4.375000 +v 0.187496 0.125002 -4.812500 +v 0.124996 0.125002 -4.812500 +v -0.187504 0.125002 -4.812500 +vt 0.582367 0.993056 +vt 0.575406 0.868056 +vt 0.582367 0.868056 +vt 0.559165 0.993056 +vt 0.556845 0.868056 +vt 0.559165 0.868056 +vt 0.487239 0.993056 +vt 0.480278 0.868056 +vt 0.487239 0.868056 +vt 0.464037 0.993056 +vt 0.461717 0.868056 +vt 0.464037 0.868056 +vt 0.547564 0.868056 +vt 0.549884 0.850694 +vt 0.549884 0.868056 +vt 0.468677 0.812500 +vt 0.461717 0.805556 +vt 0.468677 0.805556 +vt 0.069606 0.208333 +vt 0.062645 0.166667 +vt 0.069606 0.166667 +vt 0.116009 0.166667 +vt 0.099768 0.159722 +vt 0.116009 0.159722 +vt 0.633411 0.993056 +vt 0.617169 0.868056 +vt 0.633411 0.868056 +vt 0.538283 0.993056 +vt 0.522042 0.868056 +vt 0.538283 0.868056 +vt 0.538283 0.847222 +vt 0.515081 0.812500 +vt 0.498840 0.805556 +vt 0.515081 0.805556 +vt 0.487239 0.826389 +vt 0.062645 0.159722 +vt 0.069606 0.159722 +vt 0.549884 0.993056 +vt 0.610209 0.993056 +vt 0.593967 0.868056 +vt 0.610209 0.868056 +vt 0.556845 0.993056 +vt 0.540603 0.868056 +vt 0.547564 0.850694 +vt 0.529002 0.812500 +vt 0.522042 0.805556 +vt 0.529002 0.805556 +vt 0.645012 0.993056 +vt 0.642691 0.868056 +vt 0.645012 0.868056 +vt 0.491879 0.812500 +vt 0.475638 0.805556 +vt 0.491879 0.805556 +vt 0.498840 0.868056 +vt 0.515081 0.836806 +vt 0.515081 0.868056 +vt 0.515081 0.993056 +vt 0.651972 0.993056 +vt 0.651972 0.868056 +vt 0.099768 0.208333 +vt 0.092807 0.166667 +vt 0.099768 0.166667 +vt 0.076566 0.159722 +vt 0.092807 0.159722 +vt 0.116009 0.208333 +vt 0.635731 0.829861 +vt 0.642691 0.826389 +vt 0.645012 0.826389 +vt 0.491879 0.763889 +vt 0.475638 0.756944 +vt 0.491879 0.756944 +vt 0.529002 0.763889 +vt 0.522042 0.756944 +vt 0.529002 0.756944 +vt 0.651972 0.822917 +vt 0.489559 0.868056 +vt 0.496520 0.829861 +vt 0.496520 0.868056 +vt 0.515081 0.763889 +vt 0.498840 0.756944 +vt 0.515081 0.756944 +vt 0.610209 0.840278 +vt 0.573086 0.854167 +vt 0.573086 0.868056 +vt 0.468677 0.763889 +vt 0.461717 0.756944 +vt 0.468677 0.756944 +vt 0.575406 0.854167 +vt 0.582367 0.850694 +vt 0.480278 0.993056 +vt 0.477958 0.868056 +vt 0.573086 0.993056 +vt 0.575406 0.993056 +vt 0.591647 0.868056 +vt 0.584687 0.850694 +vt 0.591647 0.847222 +vt 0.122970 0.208333 +vt 0.122970 0.166667 +vt 0.480278 0.822917 +vt 0.116009 0.215278 +vt 0.635731 0.868056 +vt 0.593967 0.847222 +vt 0.069606 0.215278 +vt 0.062645 0.208333 +vt 0.552204 0.819444 +vt 0.568446 0.798611 +vt 0.568446 0.819444 +vt 0.552204 0.750000 +vt 0.545244 0.770833 +vt 0.545244 0.750000 +vt 0.533643 0.770833 +vt 0.540603 0.798611 +vt 0.533643 0.798611 +vt 0.540603 0.819444 +vt 0.545244 0.798611 +vt 0.545244 0.819444 +vt 0.610209 0.798611 +vt 0.603248 0.770833 +vt 0.610209 0.770833 +vt 0.540603 0.770833 +vt 0.540603 0.750000 +vt 0.575406 0.798611 +vt 0.575406 0.819444 +vt 0.477958 0.993056 +vt 0.663573 0.993056 +vt 0.656613 0.868056 +vt 0.663573 0.868056 +vt 0.547564 0.993056 +vt 0.496520 0.993056 +vt 0.129930 0.166667 +vt 0.122970 0.159722 +vt 0.129930 0.159722 +vt 0.498840 0.993056 +vt 0.540603 0.993056 +vt 0.665893 0.993056 +vt 0.665893 0.868056 +vt 0.129930 0.208333 +vt 0.477958 0.822917 +vt 0.654292 0.868056 +vt 0.656613 0.993056 +vt 0.654292 0.993056 +vt 0.489559 0.993056 +vt 0.092807 0.208333 +vt 0.076566 0.166667 +vt 0.677494 0.993056 +vt 0.670534 0.868056 +vt 0.677494 0.868056 +vt 0.591647 0.993056 +vt 0.584687 0.868056 +vt 0.642691 0.993056 +vt 0.679814 0.993056 +vt 0.679814 0.868056 +vt 0.076566 0.208333 +vt 0.584687 0.993056 +vt 0.092807 0.215278 +vt 0.129930 0.215278 +vt 0.668213 0.868056 +vt 0.670534 0.993056 +vt 0.668213 0.993056 +vt 0.635731 0.993056 +vt 0.593967 0.993056 +vt 0.099768 0.215278 +vt 0.617343 0.837301 +vt 0.633411 0.829861 +vt 0.498840 0.829861 +vt 0.559165 0.854167 +vt 0.556845 0.854167 +vt 0.464037 0.822917 +vt 0.522024 0.840782 +vt 0.540603 0.847222 +vt 0.489559 0.826389 +vt 0.656613 0.861111 +vt 0.663573 0.861111 +vt 0.670534 0.861111 +vt 0.677494 0.861111 +vt 0.526682 0.770833 +vt 0.526682 0.798611 +vt 0.468677 0.770833 +vt 0.475638 0.763889 +vt 0.475638 0.770833 +vt 0.658933 0.854167 +vt 0.675174 0.840278 +vt 0.675174 0.854167 +vt 0.522042 0.763889 +vt 0.515081 0.770833 +vt 0.522042 0.770833 +vt 0.498840 0.770833 +vt 0.491879 0.770833 +vt 0.498840 0.763889 +vt 0.464037 0.770833 +vt 0.464037 0.798611 +vt 0.461717 0.763889 +vt 0.658933 0.812500 +vt 0.675174 0.798611 +vt 0.675174 0.812500 +vt 0.522042 0.798611 +vt 0.475638 0.798611 +vt 0.468677 0.798611 +vt 0.515081 0.798611 +vt 0.498840 0.798611 +vt 0.491879 0.798611 +vt 0.552204 0.798611 +vt 0.552204 0.770833 +vt 0.568446 0.770833 +vt 0.603248 0.798611 +vt 0.598608 0.770833 +vt 0.598608 0.798611 +vt 0.591647 0.770833 +vt 0.591647 0.798611 +vt 0.575406 0.770833 +vt 0.568446 0.750000 +vt 0.598608 0.819444 +vt 0.603248 0.819444 +vt 0.603248 0.750000 +vt 0.598608 0.750000 +vt 0.591647 0.750000 +vt 0.591647 0.819444 +vt 0.575406 0.750000 +vt 0.658933 0.798611 +vt 0.675174 0.791667 +vt 0.675174 0.833333 +vt 0.658933 0.840278 +vt 0.658933 0.833333 +vt 0.679814 0.798611 +vt 0.679814 0.791667 +vt 0.675174 0.819444 +vt 0.658933 0.819444 +vt 0.654292 0.791667 +vt 0.654292 0.798611 +vt 0.679814 0.840278 +vt 0.679814 0.833333 +vt 0.675174 0.777778 +vt 0.658933 0.791667 +vt 0.658933 0.777778 +vt 0.654292 0.833333 +vt 0.654292 0.840278 +vt 0.461717 0.993056 +vt 0.461717 0.812500 +vt 0.617169 0.993056 +vt 0.522042 0.993056 +vt 0.498840 0.812500 +vt 0.522042 0.812500 +vt 0.475638 0.812500 +vt 0.062645 0.215278 +vt 0.076566 0.215278 +vt 0.122970 0.215278 +vt 0.461717 0.822917 +vn 1.0000 0.0000 -0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 -0.0000 +vn 0.0000 -0.9864 0.1644 +vn 0.0000 -0.9899 0.1414 +s off +f 1630/2653/376 1631/2654/376 1632/2655/376 +f 1633/2656/377 1634/2657/377 1635/2658/377 +f 1636/2659/378 1637/2660/378 1638/2661/378 +f 1639/2662/379 1640/2663/379 1641/2664/379 +f 1642/2665/379 1643/2666/379 1644/2667/379 +f 1645/2668/380 1639/2669/380 1646/2670/380 +f 1647/2671/381 1648/2672/381 1649/2673/381 +f 1650/2674/382 1651/2675/382 1652/2676/382 +f 1653/2677/376 1654/2678/376 1655/2679/376 +f 1656/2680/378 1657/2681/378 1658/2682/378 +f 1657/2681/378 1659/2683/378 1658/2682/378 +f 1660/2684/380 1661/2685/380 1662/2686/380 +f 1637/2660/378 1663/2687/378 1638/2661/378 +f 1649/2673/381 1664/2688/381 1665/2689/381 +f 1666/2690/379 1642/2665/379 1644/2667/379 +f 1667/2691/376 1668/2692/376 1669/2693/376 +f 1670/2694/378 1644/2667/378 1634/2657/378 +f 1671/2695/378 1672/2696/378 1642/2665/378 +f 1673/2697/380 1674/2698/380 1675/2699/380 +f 1645/2700/377 1676/2701/377 1677/2702/377 +f 1678/2703/380 1679/2704/380 1680/2705/380 +f 1681/2706/378 1682/2707/378 1683/2708/378 +f 1684/2709/378 1681/2706/378 1683/2708/378 +f 1685/2710/376 1677/2702/376 1640/2711/376 +f 1686/2712/381 1687/2713/381 1688/2714/381 +f 1687/2713/382 1689/2715/382 1690/2716/382 +f 1691/2717/382 1688/2714/382 1650/2674/382 +f 1676/2701/376 1692/2718/376 1649/2719/376 +f 1676/2701/377 1665/2720/377 1677/2702/377 +f 1693/2721/380 1694/2722/380 1684/2723/380 +f 1633/2724/380 1666/2725/380 1670/2726/380 +f 1640/2711/376 1665/2720/376 1664/2727/376 +f 1695/2728/378 1696/2729/378 1697/2730/378 +f 1698/2731/380 1699/2732/380 1656/2733/380 +f 1651/2734/376 1654/2678/376 1669/2693/376 +f 1635/2658/377 1700/2735/377 1701/2736/377 +f 1702/2737/380 1703/2738/380 1636/2739/380 +f 1632/2655/376 1704/2740/376 1705/2741/376 +f 1703/2742/379 1706/2743/379 1637/2660/379 +f 1675/2744/377 1635/2658/377 1701/2736/377 +f 1673/2745/377 1701/2736/377 1631/2654/377 +f 1707/2746/376 1708/2747/376 1650/2748/376 +f 1672/2749/381 1650/2674/381 1708/2750/381 +f 1706/2743/379 1709/2751/379 1637/2660/379 +f 1659/2752/382 1686/2712/382 1691/2717/382 +f 1655/2679/379 1692/2718/379 1710/2753/379 +f 1669/2693/376 1652/2754/376 1651/2734/376 +f 1663/2755/381 1711/2756/381 1647/2671/381 +f 1712/2757/378 1713/2758/378 1714/2759/378 +f 1715/2760/376 1716/2761/376 1717/2762/376 +f 1718/2763/377 1719/2764/377 1720/2765/377 +f 1720/2766/378 1721/2767/378 1722/2768/378 +f 1723/2769/379 1724/2770/379 1725/2771/379 +f 1717/2762/376 1726/2772/376 1718/2773/376 +f 1714/2759/378 1727/2774/378 1728/2775/378 +f 1729/2776/379 1641/2664/379 1706/2743/379 +f 1730/2777/378 1731/2778/378 1732/2779/378 +f 1733/2780/378 1671/2695/378 1642/2665/378 +f 1734/2781/378 1695/2728/378 1697/2730/378 +f 1700/2782/381 1705/2783/381 1704/2784/381 +f 1694/2785/379 1697/2730/379 1681/2706/379 +f 1658/2682/377 1698/2786/377 1656/2680/377 +f 1699/2787/379 1732/2779/379 1657/2788/379 +f 1735/2789/381 1708/2750/381 1700/2782/381 +f 1641/2664/379 1711/2790/379 1706/2743/379 +f 1683/2791/377 1693/2792/377 1684/2793/377 +f 1638/2661/377 1702/2794/377 1636/2659/377 +f 1736/2795/382 1692/2796/382 1687/2713/382 +f 1680/2797/376 1737/2798/376 1738/2799/376 +f 1662/2800/376 1739/2801/376 1707/2746/376 +f 1646/2802/376 1710/2753/376 1676/2701/376 +f 1678/2803/377 1738/2799/377 1654/2804/377 +f 1696/2805/381 1649/2673/381 1692/2796/381 +f 1632/2655/379 1674/2806/379 1630/2653/379 +f 1682/2807/382 1696/2805/382 1736/2795/382 +f 1740/2808/381 1672/2749/381 1735/2789/381 +f 1669/2809/379 1661/2810/379 1667/2811/379 +f 1655/2679/379 1679/2812/379 1653/2677/379 +f 1688/2714/381 1690/2716/381 1651/2675/381 +f 1660/2813/377 1707/2746/377 1668/2692/377 +f 1736/2795/381 1741/2814/381 1682/2807/381 +f 1655/2679/376 1690/2815/376 1689/2816/376 +f 1701/2736/377 1704/2740/377 1631/2654/377 +f 1697/2730/379 1742/2817/379 1681/2706/379 +f 1707/2746/377 1652/2754/377 1668/2692/377 +f 1634/2657/377 1735/2818/377 1635/2658/377 +f 1644/2667/378 1740/2819/378 1634/2657/378 +f 1632/2655/379 1708/2747/379 1739/2801/379 +f 1640/2663/379 1648/2820/379 1641/2664/379 +f 1683/2708/378 1741/2821/378 1657/2681/378 +f 1658/2682/377 1691/2822/377 1671/2695/377 +f 1638/2661/377 1647/2823/377 1695/2728/377 +f 1732/2779/380 1683/2824/380 1657/2825/380 +f 1738/2799/380 1669/2826/380 1654/2827/380 +f 1725/2828/380 1675/2699/380 1723/2829/380 +f 1717/2830/380 1734/2831/380 1715/2832/380 +f 1679/2833/376 1743/2834/376 1680/2835/376 +f 1725/2828/380 1733/2836/380 1633/2724/380 +f 1744/2837/380 1733/2836/380 1745/2838/380 +f 1746/2839/380 1698/2731/380 1744/2837/380 +f 1747/2840/380 1730/2841/380 1746/2839/380 +f 1718/2842/380 1702/2737/380 1717/2830/380 +f 1720/2843/380 1729/2844/380 1718/2842/380 +f 1715/2845/376 1748/2846/376 1747/2847/376 +f 1723/2829/380 1674/2698/380 1749/2848/380 +f 1712/2849/380 1646/2670/380 1722/2850/380 +f 1749/2848/380 1662/2686/380 1750/2851/380 +f 1750/2851/380 1661/2685/380 1728/2852/380 +f 1728/2852/380 1680/2705/380 1714/2853/380 +f 1720/2843/380 1646/2670/380 1639/2669/380 +f 1751/2854/380 1716/2761/380 1752/2855/380 +f 1713/2758/380 1752/2855/380 1753/2856/380 +f 1754/2857/380 1755/2858/380 1724/2770/380 +f 1756/2859/380 1757/2860/380 1755/2858/380 +f 1758/2861/380 1759/2862/380 1757/2860/380 +f 1727/2774/380 1753/2856/380 1759/2862/380 +f 1721/2767/380 1726/2772/380 1716/2761/380 +f 1747/2863/376 1752/2855/376 1715/2760/376 +f 1749/2864/378 1754/2857/378 1723/2865/378 +f 1725/2866/376 1755/2858/376 1745/2867/376 +f 1722/2768/378 1751/2854/378 1712/2757/378 +f 1745/2867/376 1757/2860/376 1744/2868/376 +f 1750/2869/378 1756/2859/378 1749/2864/378 +f 1744/2868/376 1759/2862/376 1746/2870/376 +f 1728/2775/378 1758/2861/378 1750/2869/378 +f 1746/2870/376 1753/2856/376 1747/2863/376 +f 1760/2871/380 1761/2872/380 1748/2846/380 +f 1762/2873/380 1763/2874/380 1764/2875/380 +f 1747/2876/377 1761/2872/377 1693/2877/377 +f 1714/2878/378 1764/2875/378 1712/2879/378 +f 1734/2880/379 1760/2871/379 1715/2881/379 +f 1680/2882/377 1762/2873/377 1714/2883/377 +f 1693/2884/378 1765/2885/378 1734/2886/378 +f 1712/2887/379 1763/2874/379 1679/2888/379 +f 1630/2653/376 1673/2745/376 1631/2654/376 +f 1633/2656/377 1670/2694/377 1634/2657/377 +f 1636/2659/378 1703/2742/378 1637/2660/378 +f 1639/2662/379 1685/2889/379 1640/2663/379 +f 1642/2665/379 1672/2696/379 1643/2666/379 +f 1645/2668/380 1685/2890/380 1639/2669/380 +f 1647/2671/381 1711/2756/381 1648/2672/381 +f 1650/2674/382 1688/2714/382 1651/2675/382 +f 1653/2677/376 1678/2891/376 1654/2678/376 +f 1656/2680/378 1699/2892/378 1657/2681/378 +f 1657/2681/378 1741/2821/378 1659/2683/378 +f 1660/2684/380 1667/2893/380 1661/2685/380 +f 1637/2660/378 1709/2751/378 1663/2687/378 +f 1649/2673/381 1648/2672/381 1664/2688/381 +f 1666/2690/379 1733/2780/379 1642/2665/379 +f 1667/2691/376 1660/2813/376 1668/2692/376 +f 1670/2694/378 1666/2690/378 1644/2667/378 +f 1671/2695/378 1691/2822/378 1672/2696/378 +f 1673/2697/380 1630/2894/380 1674/2698/380 +f 1645/2700/377 1646/2802/377 1676/2701/377 +f 1678/2703/380 1653/2895/380 1679/2704/380 +f 1681/2706/378 1742/2817/378 1682/2707/378 +f 1684/2709/378 1694/2785/378 1681/2706/378 +f 1685/2710/376 1645/2700/376 1677/2702/376 +f 1686/2712/381 1736/2795/381 1687/2713/381 +f 1687/2713/382 1692/2796/382 1689/2715/382 +f 1691/2717/382 1686/2712/382 1688/2714/382 +f 1676/2701/376 1710/2753/376 1692/2718/376 +f 1676/2701/377 1649/2719/377 1665/2720/377 +f 1693/2721/380 1734/2831/380 1694/2722/380 +f 1633/2724/380 1733/2836/380 1666/2725/380 +f 1640/2711/376 1677/2702/376 1665/2720/376 +f 1695/2728/378 1647/2823/378 1696/2729/378 +f 1698/2731/380 1730/2841/380 1699/2732/380 +f 1651/2734/376 1690/2815/376 1654/2678/376 +f 1635/2658/377 1735/2818/377 1700/2735/377 +f 1702/2737/380 1729/2844/380 1703/2738/380 +f 1632/2655/376 1631/2654/376 1704/2740/376 +f 1703/2742/379 1729/2776/379 1706/2743/379 +f 1675/2744/377 1633/2656/377 1635/2658/377 +f 1673/2745/377 1675/2744/377 1701/2736/377 +f 1707/2746/376 1739/2801/376 1708/2747/376 +f 1672/2749/381 1691/2717/381 1650/2674/381 +f 1706/2743/379 1711/2790/379 1709/2751/379 +f 1659/2752/382 1741/2814/382 1686/2712/382 +f 1655/2679/379 1689/2816/379 1692/2718/379 +f 1669/2693/376 1668/2692/376 1652/2754/376 +f 1663/2755/381 1709/2896/381 1711/2756/381 +f 1712/2757/378 1751/2854/378 1713/2758/378 +f 1715/2760/376 1752/2855/376 1716/2761/376 +f 1718/2763/377 1726/2772/377 1719/2764/377 +f 1720/2766/378 1719/2764/378 1721/2767/378 +f 1723/2769/379 1754/2857/379 1724/2770/379 +f 1717/2762/376 1716/2761/376 1726/2772/376 +f 1714/2759/378 1713/2758/378 1727/2774/378 +f 1729/2776/379 1639/2662/379 1641/2664/379 +f 1730/2777/378 1693/2792/378 1731/2778/378 +f 1733/2780/378 1698/2786/378 1671/2695/378 +f 1734/2781/378 1702/2794/378 1695/2728/378 +f 1700/2782/381 1708/2750/381 1705/2783/381 +f 1694/2785/379 1734/2781/379 1697/2730/379 +f 1658/2682/377 1671/2695/377 1698/2786/377 +f 1699/2787/379 1730/2777/379 1732/2779/379 +f 1735/2789/381 1672/2749/381 1708/2750/381 +f 1641/2664/379 1648/2820/379 1711/2790/379 +f 1683/2791/377 1731/2778/377 1693/2792/377 +f 1638/2661/377 1695/2728/377 1702/2794/377 +f 1736/2795/382 1696/2805/382 1692/2796/382 +f 1680/2797/376 1661/2810/376 1737/2798/376 +f 1662/2800/376 1674/2806/376 1739/2801/376 +f 1646/2802/376 1679/2812/376 1710/2753/376 +f 1678/2803/377 1680/2797/377 1738/2799/377 +f 1696/2805/381 1647/2671/381 1649/2673/381 +f 1632/2655/379 1739/2801/379 1674/2806/379 +f 1682/2807/382 1742/2897/382 1696/2805/382 +f 1740/2808/381 1643/2898/381 1672/2749/381 +f 1669/2809/379 1737/2798/379 1661/2810/379 +f 1655/2679/379 1710/2753/379 1679/2812/379 +f 1688/2714/381 1687/2713/381 1690/2716/381 +f 1660/2813/377 1662/2800/377 1707/2746/377 +f 1736/2795/381 1686/2712/381 1741/2814/381 +f 1655/2679/376 1654/2678/376 1690/2815/376 +f 1701/2736/377 1700/2735/377 1704/2740/377 +f 1697/2730/379 1696/2729/379 1742/2817/379 +f 1707/2746/377 1650/2748/377 1652/2754/377 +f 1634/2657/377 1740/2819/377 1735/2818/377 +f 1644/2667/378 1643/2666/378 1740/2819/378 +f 1632/2655/379 1705/2741/379 1708/2747/379 +f 1640/2663/379 1664/2899/379 1648/2820/379 +f 1683/2708/378 1682/2707/378 1741/2821/378 +f 1658/2682/377 1659/2683/377 1691/2822/377 +f 1638/2661/377 1663/2687/377 1647/2823/377 +f 1732/2779/380 1731/2778/380 1683/2824/380 +f 1738/2799/380 1737/2798/380 1669/2826/380 +f 1725/2828/380 1633/2724/380 1675/2699/380 +f 1717/2830/380 1702/2737/380 1734/2831/380 +f 1679/2833/376 1763/2874/376 1743/2834/376 +f 1725/2828/380 1745/2838/380 1733/2836/380 +f 1744/2837/380 1698/2731/380 1733/2836/380 +f 1746/2839/380 1730/2841/380 1698/2731/380 +f 1747/2840/380 1693/2721/380 1730/2841/380 +f 1718/2842/380 1729/2844/380 1702/2737/380 +f 1720/2843/380 1639/2669/380 1729/2844/380 +f 1715/2845/376 1760/2871/376 1748/2846/376 +f 1723/2829/380 1675/2699/380 1674/2698/380 +f 1712/2849/380 1679/2704/380 1646/2670/380 +f 1749/2848/380 1674/2698/380 1662/2686/380 +f 1750/2851/380 1662/2686/380 1661/2685/380 +f 1728/2852/380 1661/2685/380 1680/2705/380 +f 1720/2843/380 1722/2850/380 1646/2670/380 +f 1751/2854/380 1721/2767/380 1716/2761/380 +f 1713/2758/380 1751/2854/380 1752/2855/380 +f 1754/2857/380 1756/2859/380 1755/2858/380 +f 1756/2859/380 1758/2861/380 1757/2860/380 +f 1758/2861/380 1727/2774/380 1759/2862/380 +f 1727/2774/380 1713/2758/380 1753/2856/380 +f 1721/2767/380 1719/2764/380 1726/2772/380 +f 1747/2863/376 1753/2856/376 1752/2855/376 +f 1749/2864/378 1756/2859/378 1754/2857/378 +f 1725/2866/376 1724/2770/376 1755/2858/376 +f 1722/2768/378 1721/2767/378 1751/2854/378 +f 1745/2867/376 1755/2858/376 1757/2860/376 +f 1750/2869/378 1758/2861/378 1756/2859/378 +f 1744/2868/376 1757/2860/376 1759/2862/376 +f 1728/2775/378 1727/2774/378 1758/2861/378 +f 1746/2870/376 1759/2862/376 1753/2856/376 +f 1760/2871/380 1765/2885/380 1761/2872/380 +f 1762/2873/380 1743/2834/380 1763/2874/380 +f 1747/2876/377 1748/2846/377 1761/2872/377 +f 1714/2878/378 1762/2873/378 1764/2875/378 +f 1734/2880/379 1765/2885/379 1760/2871/379 +f 1680/2882/377 1743/2834/377 1762/2873/377 +f 1693/2884/378 1761/2872/378 1765/2885/378 +f 1712/2887/379 1764/2875/379 1763/2874/379 +o Bullet +v -0.000004 0.125002 -5.125000 +v 0.108249 -0.062498 -5.125000 +v -0.108257 -0.062498 -5.125000 +v -0.108257 0.062502 -5.125000 +v 0.108249 0.062502 -5.125000 +v -0.000004 -0.124998 -5.125000 +v -0.000004 0.125002 -5.000000 +v -0.108257 0.062502 -4.187500 +v -0.000004 0.125002 -4.187500 +v -0.108257 0.062502 -5.000000 +v -0.108257 -0.062498 -4.187500 +v -0.108257 -0.062498 -5.000000 +v -0.000004 -0.124998 -4.187500 +v -0.000004 -0.124998 -5.000000 +v 0.108249 -0.062498 -4.187500 +v 0.108249 -0.062498 -5.000000 +v 0.108249 0.062502 -4.187500 +v 0.108249 0.062502 -5.000000 +v -0.081194 0.046877 -4.062500 +v 0.108249 -0.062498 -5.062500 +v 0.108249 0.062502 -5.062500 +v -0.108257 -0.062498 -5.062500 +v -0.000004 0.125002 -5.062500 +v -0.000004 -0.124998 -5.062500 +v -0.108257 0.062502 -5.062500 +v 0.081186 0.046877 -4.062500 +v 0.081186 -0.046873 -3.875000 +v 0.081186 -0.046873 -4.062500 +v -0.000004 0.093752 -4.062500 +v -0.081194 -0.046873 -4.062500 +v -0.000004 -0.093748 -4.062500 +v -0.000004 0.093752 -3.875000 +v 0.061566 0.035550 -3.630179 +v 0.081186 0.046877 -3.875000 +v -0.081194 -0.046873 -3.875000 +v -0.000004 -0.093748 -3.875000 +v -0.081194 0.046877 -3.875000 +v 0.029434 -0.016994 -3.495243 +v 0.061566 -0.035546 -3.630179 +v -0.000004 -0.071094 -3.630179 +v -0.061574 0.035550 -3.630179 +v -0.061574 -0.035546 -3.630179 +v -0.000004 0.071097 -3.630179 +v -0.000004 -0.033991 -3.495243 +v -0.000004 0.000002 -3.449988 +v -0.029442 -0.016994 -3.495243 +v -0.000004 0.033994 -3.495243 +v 0.029434 0.016998 -3.495243 +v -0.029442 0.016998 -3.495243 +v -0.000004 0.106333 -5.062500 +v -0.101131 0.032860 -5.000000 +v -0.000004 0.106333 -5.000000 +v -0.101131 0.032860 -5.062500 +v -0.062504 -0.086022 -5.000000 +v -0.062504 -0.086022 -5.062500 +v 0.062496 -0.086022 -5.000000 +v 0.101123 0.032860 -5.062500 +v 0.101123 0.032860 -5.000000 +v 0.062496 -0.086022 -5.062500 +vt 0.450079 0.707515 +vt 0.446288 0.687865 +vt 0.453869 0.687865 +vt 0.453869 0.700965 +vt 0.446288 0.700965 +vt 0.450079 0.681315 +vt 0.470998 0.708333 +vt 0.501160 0.694444 +vt 0.501160 0.708333 +vt 0.470998 0.694444 +vt 0.501160 0.680556 +vt 0.470998 0.680556 +vt 0.501160 0.666667 +vt 0.470998 0.750000 +vt 0.501160 0.736111 +vt 0.501160 0.750000 +vt 0.470998 0.736111 +vt 0.501160 0.722222 +vt 0.470998 0.722222 +vt 0.505800 0.692840 +vt 0.457077 0.708333 +vt 0.459397 0.722222 +vt 0.457077 0.722222 +vt 0.446341 0.722697 +vt 0.453909 0.722697 +vt 0.450125 0.742314 +vt 0.450192 0.750663 +vt 0.454045 0.757321 +vt 0.450192 0.777295 +vt 0.457077 0.763889 +vt 0.459397 0.777778 +vt 0.457077 0.777778 +vt 0.457077 0.736111 +vt 0.459397 0.750000 +vt 0.457077 0.750000 +vt 0.459397 0.736111 +vt 0.457077 0.694444 +vt 0.459397 0.708333 +vt 0.459397 0.763889 +vt 0.505800 0.724166 +vt 0.512759 0.734608 +vt 0.505800 0.734608 +vt 0.505800 0.706763 +vt 0.505800 0.678917 +vt 0.505800 0.720685 +vt 0.505800 0.738089 +vt 0.505800 0.748531 +vt 0.512759 0.710243 +vt 0.522045 0.719424 +vt 0.512759 0.720685 +vt 0.505800 0.668475 +vt 0.512759 0.678917 +vt 0.505800 0.696321 +vt 0.512759 0.706763 +vt 0.505800 0.710243 +vt 0.512759 0.748531 +vt 0.505800 0.682398 +vt 0.512759 0.692840 +vt 0.522045 0.725428 +vt 0.526682 0.731280 +vt 0.522045 0.733346 +vt 0.512759 0.738089 +vt 0.522045 0.747269 +vt 0.512759 0.682398 +vt 0.522045 0.691578 +vt 0.512759 0.724166 +vt 0.512759 0.668475 +vt 0.522045 0.677656 +vt 0.522045 0.697582 +vt 0.522045 0.705501 +vt 0.526682 0.745203 +vt 0.526682 0.741417 +vt 0.529002 0.743056 +vt 0.522045 0.669737 +vt 0.526681 0.675589 +vt 0.526682 0.703435 +vt 0.522045 0.711505 +vt 0.526681 0.717357 +vt 0.522045 0.683659 +vt 0.526682 0.689512 +vt 0.526682 0.685726 +vt 0.529002 0.687500 +vt 0.526682 0.727494 +vt 0.529002 0.729167 +vt 0.526681 0.671803 +vt 0.529002 0.673611 +vt 0.526682 0.699648 +vt 0.529002 0.701389 +vt 0.526681 0.713571 +vt 0.529002 0.715278 +vt 0.461717 0.722222 +vt 0.464037 0.708333 +vt 0.464037 0.722222 +vt 0.461717 0.708333 +vt 0.464037 0.694444 +vt 0.461717 0.694444 +vt 0.464037 0.680556 +vt 0.464037 0.750000 +vt 0.461717 0.736111 +vt 0.464037 0.736111 +vt 0.470998 0.666667 +vt 0.446341 0.735775 +vt 0.450125 0.716158 +vt 0.453909 0.735775 +vt 0.454045 0.770637 +vt 0.446340 0.770637 +vt 0.446340 0.757321 +vt 0.459397 0.694444 +vt 0.512759 0.696321 +vt 0.522045 0.739350 +vt 0.461717 0.680556 +vt 0.461717 0.750000 +vn 0.0000 0.0000 -1.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.8660 0.5000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.8660 -0.5000 -0.0000 +vn 0.8660 0.5000 -0.0000 +vn -0.8402 -0.4851 0.2425 +vn -0.8402 0.4851 0.2425 +vn 0.0000 0.0000 1.0000 +vn 0.8402 0.4851 0.2425 +vn 0.8402 -0.4851 0.2425 +vn -0.0000 0.9701 0.2425 +vn -0.0000 -0.9701 0.2425 +vn -0.0000 0.9957 0.0921 +vn 0.8527 0.4923 0.1746 +vn 0.8623 0.4979 0.0921 +vn 0.7865 -0.4541 0.4185 +vn 0.8527 -0.4923 0.1746 +vn 0.8623 -0.4979 0.0921 +vn -0.0000 -0.9846 0.1746 +vn -0.0000 -0.9957 0.0921 +vn -0.8623 -0.4979 0.0921 +vn -0.8527 0.4923 0.1746 +vn -0.8623 0.4979 0.0921 +vn -0.8527 -0.4923 0.1746 +vn 0.0000 0.9846 0.1746 +vn 0.0000 -0.9082 0.4185 +vn -0.7865 -0.4541 0.4185 +vn 0.0000 0.9082 0.4185 +vn 0.7865 0.4541 0.4185 +vn -0.7865 0.4541 0.4185 +vn -0.9511 0.3090 0.0000 +vn -0.5878 -0.8090 0.0000 +vn 0.5878 -0.8090 -0.0000 +vn 0.9511 0.3090 -0.0000 +s off +f 1766/2900/383 1767/2901/383 1768/2902/383 +f 1768/2902/383 1769/2903/383 1766/2900/383 +f 1766/2900/383 1770/2904/383 1767/2901/383 +f 1767/2901/383 1771/2905/383 1768/2902/383 +s 1 +f 1772/2906/384 1773/2907/385 1774/2908/384 +f 1775/2909/385 1776/2910/386 1773/2907/385 +f 1777/2911/386 1778/2912/387 1776/2910/386 +f 1779/2913/387 1780/2914/388 1778/2915/387 +f 1781/2916/388 1782/2917/389 1780/2914/388 +f 1783/2918/389 1774/2908/384 1782/2917/389 +f 1776/2910/390 1784/2919/391 1773/2907/391 +f 1785/2920/388 1770/2921/389 1786/2922/389 +f 1787/2923/392 1785/2924/392 1788/2925/392 +f 1779/2926/383 1777/2927/383 1772/2928/383 +f 1787/2929/386 1771/2930/387 1789/2931/387 +f 1788/2932/384 1769/2933/385 1790/2934/385 +f 1786/2922/389 1766/2935/384 1788/2932/384 +f 1789/2936/387 1767/2937/388 1785/2920/388 +f 1790/2934/385 1768/2938/386 1787/2929/386 +f 1791/2939/389 1792/2940/388 1793/2941/388 +f 1782/2917/393 1793/2941/394 1780/2914/394 +f 1773/2907/391 1794/2942/395 1774/2908/395 +f 1778/2912/396 1795/2943/390 1776/2910/390 +f 1774/2908/395 1791/2944/393 1782/2917/393 +f 1778/2915/396 1793/2945/394 1796/2946/396 +f 1797/2947/397 1798/2948/398 1799/2949/399 +f 1796/2950/387 1800/2951/386 1795/2943/386 +f 1784/2952/385 1797/2953/384 1794/2942/384 +f 1794/2954/384 1799/2949/389 1791/2944/389 +f 1793/2945/388 1801/2955/387 1796/2946/387 +f 1795/2956/386 1802/2957/385 1784/2919/385 +f 1798/2958/398 1803/2959/400 1804/2960/401 +f 1792/2961/402 1805/2962/403 1801/2955/404 +f 1800/2963/405 1806/2964/406 1802/2957/407 +f 1799/2965/399 1804/2960/401 1792/2940/402 +f 1801/2966/404 1807/2967/408 1800/2951/405 +f 1797/2953/397 1806/2968/406 1808/2969/409 +f 1809/2970/410 1803/2971/400 1810/2972/392 +f 1805/2973/403 1811/2974/411 1807/2967/408 +f 1806/2968/406 1812/2975/412 1808/2969/409 +f 1808/2976/409 1813/2977/413 1798/2948/398 +f 1805/2962/403 1803/2971/400 1809/2970/410 +f 1807/2978/408 1814/2979/414 1806/2964/406 +f 1814/2979/414 1811/2980/411 1810/2981/392 +f 1803/2959/400 1813/2982/413 1810/2983/392 +f 1811/2974/411 1809/2984/410 1810/2985/392 +f 1812/2975/412 1814/2986/414 1810/2987/392 +f 1813/2977/413 1812/2988/412 1810/2989/392 +f 1815/2990/384 1816/2991/415 1817/2992/384 +f 1818/2993/415 1819/2994/416 1816/2991/415 +f 1820/2995/416 1821/2996/417 1819/2994/416 +f 1821/2997/417 1822/2998/418 1823/2999/418 +f 1822/2998/418 1817/2992/384 1823/2999/418 +f 1772/2906/384 1775/2909/385 1773/2907/385 +f 1775/2909/385 1777/2911/386 1776/2910/386 +f 1777/2911/386 1779/3000/387 1778/2912/387 +f 1779/2913/387 1781/2916/388 1780/2914/388 +f 1781/2916/388 1783/2918/389 1782/2917/389 +f 1783/2918/389 1772/2906/384 1774/2908/384 +f 1776/2910/390 1795/2956/390 1784/2919/391 +f 1785/2920/388 1767/2937/388 1770/2921/389 +f 1788/2925/392 1790/3001/392 1787/2923/392 +f 1787/2923/392 1789/3002/392 1785/2924/392 +f 1785/2924/392 1786/3003/392 1788/2925/392 +f 1777/2927/383 1775/3004/383 1772/2928/383 +f 1772/2928/383 1783/3005/383 1781/3006/383 +f 1781/3006/383 1779/2926/383 1772/2928/383 +f 1787/2929/386 1768/2938/386 1771/2930/387 +f 1788/2932/384 1766/2935/384 1769/2933/385 +f 1786/2922/389 1770/2921/389 1766/2935/384 +f 1789/2936/387 1771/3007/387 1767/2937/388 +f 1790/2934/385 1769/2933/385 1768/2938/386 +f 1791/2939/389 1799/2965/389 1792/2940/388 +f 1782/2917/393 1791/2939/393 1793/2941/394 +f 1773/2907/391 1784/2952/391 1794/2942/395 +f 1778/2912/396 1796/2950/396 1795/2943/390 +f 1774/2908/395 1794/2954/395 1791/2944/393 +f 1778/2915/396 1780/2914/394 1793/2945/394 +f 1797/2947/397 1808/2976/409 1798/2948/398 +f 1796/2950/387 1801/2966/387 1800/2951/386 +f 1784/2952/385 1802/3008/385 1797/2953/384 +f 1794/2954/384 1797/2947/384 1799/2949/389 +f 1793/2945/388 1792/2961/388 1801/2955/387 +f 1795/2956/386 1800/2963/386 1802/2957/385 +f 1798/2958/398 1813/2982/413 1803/2959/400 +f 1792/2961/402 1804/3009/401 1805/2962/403 +f 1800/2963/405 1807/2978/408 1806/2964/406 +f 1799/2965/399 1798/2958/398 1804/2960/401 +f 1801/2966/404 1805/2973/403 1807/2967/408 +f 1797/2953/397 1802/3008/407 1806/2968/406 +f 1805/2973/403 1809/2984/410 1811/2974/411 +f 1806/2968/406 1814/2986/414 1812/2975/412 +f 1808/2976/409 1812/2988/412 1813/2977/413 +f 1805/2962/403 1804/3009/401 1803/2971/400 +f 1807/2978/408 1811/2980/411 1814/2979/414 +f 1815/2990/384 1818/2993/415 1816/2991/415 +f 1818/2993/415 1820/2995/416 1819/2994/416 +f 1820/2995/416 1824/3010/417 1821/2996/417 +f 1821/2997/417 1824/3011/417 1822/2998/418 +f 1822/2998/418 1815/2990/384 1817/2992/384 +o BipodRight +v -0.437506 -0.437496 3.125000 +v -0.468755 -0.374996 3.187500 +v -0.437506 -0.437496 3.187500 +v -0.531255 -0.374996 3.125000 +v -0.843755 -0.374996 3.187500 +v -0.531256 -0.374996 3.187500 +v -0.843756 -0.812497 3.125000 +v -0.843755 -0.874997 3.187500 +v -0.843755 -0.812497 3.187500 +v -0.531255 -0.874997 3.125000 +v -0.468755 -0.874997 3.187500 +v -0.531256 -0.874997 3.187500 +v -0.531256 -0.812497 3.187500 +v -0.531255 -0.812497 3.125000 +v -0.468756 -0.874997 3.125000 +v -0.531255 -0.624997 3.125000 +v -0.531255 -0.437496 3.125000 +v -0.843755 -0.437496 3.187500 +v -0.531256 -0.624997 3.187500 +v -0.531256 -0.437496 3.187500 +v -0.843756 -0.437496 3.125000 +v -0.843755 -0.624997 3.187500 +v -0.437506 -0.812497 3.125000 +v -0.343756 -0.624997 3.187500 +v -0.437506 -0.812497 3.187500 +v -0.531255 -0.624997 3.312500 +v -0.843756 -0.624997 3.125000 +v -0.843756 -0.874997 3.125000 +v -0.468756 -0.374996 3.125000 +v -0.531255 -0.437496 3.312500 +v -0.843756 -0.374996 3.125000 +v -0.343755 -0.624997 3.125000 +v -0.437506 -0.437496 3.312500 +v -0.343756 -0.624997 3.312498 +v -0.437506 -0.812497 3.312500 +v -0.531255 -0.812497 3.312500 +v -0.437507 -0.812497 -1.187500 +v -0.437508 -0.437497 -0.312500 +v -0.437508 -0.812497 -0.312500 +v -0.437507 -0.437497 -1.187500 +v -0.625006 -0.437497 -0.312500 +v -0.625008 -0.812497 -1.187500 +v -0.625006 -0.812497 -0.312500 +v -0.593757 -0.718747 0.000000 +v -0.625008 -0.437497 -1.187500 +v -0.593757 -0.531247 0.000000 +v -0.468756 -0.531247 0.000000 +v -0.468756 -0.718747 0.000000 +v -0.343756 -0.562497 0.000000 +v -0.406257 -0.437497 0.625000 +v -0.343756 -0.562497 0.625000 +v -0.718756 -0.437497 0.000000 +v -0.718757 -0.437497 0.625000 +v -0.718756 -0.687497 0.000000 +v -0.718757 -0.812497 0.625000 +v -0.718757 -0.687497 0.625000 +v -0.718756 -0.812497 0.000000 +v -0.406257 -0.812497 0.625000 +v -0.343756 -0.687497 0.625000 +v -0.406256 -0.812497 0.000000 +v -0.406256 -0.437497 0.000000 +v -0.718756 -0.562497 0.000000 +v -0.718757 -0.562497 0.625000 +v -0.843756 -0.687497 0.312500 +v -0.343756 -0.687497 0.000000 +v -0.843756 -0.562497 0.312500 +v -0.781256 -0.406247 0.268307 +v -0.781256 -0.406247 0.356695 +v -0.737062 -0.406247 0.312500 +v -0.781256 -0.843747 0.356695 +v -0.781256 -0.843747 0.268307 +v -0.737062 -0.843747 0.312500 +v -0.825451 -0.406247 0.312500 +v -0.825451 -0.843747 0.312500 +v -0.367937 -0.624997 0.625000 +v -0.415771 -0.509512 3.125000 +v -0.367935 -0.624997 3.125000 +v -0.415772 -0.509512 0.625000 +v -0.531255 -0.461677 3.125000 +v -0.531257 -0.461677 0.625000 +v -0.646740 -0.509512 3.125000 +v -0.646741 -0.509512 0.625000 +v -0.694575 -0.624997 3.125000 +v -0.646741 -0.740482 0.625000 +v -0.646740 -0.740481 3.125000 +v -0.531255 -0.788317 3.125000 +v -0.415772 -0.740482 0.625000 +v -0.415771 -0.740481 3.125000 +v -0.694577 -0.624997 0.625000 +v -0.531257 -0.788317 0.625000 +vt 0.972158 0.423611 +vt 0.969838 0.430556 +vt 0.969838 0.423611 +vt 0.921114 0.430556 +vt 0.932715 0.437500 +vt 0.921114 0.437500 +vt 0.932715 0.381944 +vt 0.935035 0.375000 +vt 0.935035 0.381944 +vt 0.921114 0.375000 +vt 0.918793 0.368056 +vt 0.921114 0.368056 +vt 0.946636 0.375000 +vt 0.946636 0.381944 +vt 0.921114 0.381944 +vt 0.918793 0.375000 +vt 0.917633 0.423611 +vt 0.921114 0.402778 +vt 0.921114 0.423611 +vt 0.935035 0.423611 +vt 0.946636 0.402778 +vt 0.946636 0.423611 +vt 0.932715 0.423611 +vt 0.935035 0.402778 +vt 0.972158 0.381944 +vt 0.969838 0.402778 +vt 0.969838 0.381944 +vt 0.953596 0.381944 +vt 0.958237 0.402778 +vt 0.953596 0.402778 +vt 0.932715 0.402778 +vt 0.932715 0.375000 +vt 0.948956 0.375000 +vt 0.950116 0.381944 +vt 0.932715 0.368056 +vt 0.918793 0.430556 +vt 0.918793 0.437500 +vt 0.958237 0.423611 +vt 0.953596 0.423611 +vt 0.972158 0.375000 +vt 0.969838 0.375000 +vt 0.917633 0.381944 +vt 0.932715 0.430556 +vt 0.948956 0.430556 +vt 0.950116 0.423611 +vt 0.935035 0.430556 +vt 0.946636 0.430556 +vt 0.972158 0.402778 +vt 0.961717 0.423611 +vt 0.965197 0.402778 +vt 0.961717 0.381944 +vt 0.961717 0.437500 +vt 0.961717 0.368056 +vt 0.958237 0.381944 +vt 0.958237 0.368056 +vt 0.965197 0.381944 +vt 0.944316 0.708333 +vt 0.930394 0.611111 +vt 0.944316 0.611111 +vt 0.930394 0.708333 +vt 0.923434 0.611111 +vt 0.909513 0.708333 +vt 0.909513 0.611111 +vt 0.902552 0.611111 +vt 0.908353 0.576389 +vt 0.923434 0.729167 +vt 0.923434 0.708333 +vt 0.924594 0.576389 +vt 0.929234 0.576389 +vt 0.940835 0.576389 +vt 0.919954 0.576389 +vt 0.988399 0.673611 +vt 0.983759 0.604167 +vt 0.988399 0.604167 +vt 0.972158 0.673611 +vt 0.972158 0.604167 +vt 0.962877 0.673611 +vt 0.958237 0.604167 +vt 0.962877 0.604167 +vt 0.958237 0.673611 +vt 0.946636 0.604167 +vt 0.958237 0.569444 +vt 0.962877 0.562500 +vt 0.958237 0.708333 +vt 0.972158 0.708333 +vt 0.967517 0.673611 +vt 0.967517 0.715278 +vt 0.972158 0.569444 +vt 0.967517 0.604167 +vt 0.967517 0.562500 +vt 0.860789 0.618056 +vt 0.860789 0.548611 +vt 0.865429 0.583333 +vt 0.997680 0.604167 +vt 0.993039 0.673611 +vt 0.993039 0.604167 +vt 0.865429 0.618056 +vt 0.870070 0.583333 +vt 0.870070 0.618056 +vt 0.870070 0.548611 +vt 0.865429 0.548611 +vt 0.874710 0.548611 +vt 0.874710 0.618056 +vt 0.995360 0.694444 +vt 0.993039 0.687500 +vt 0.995360 0.687500 +vt 0.976798 0.687500 +vt 0.974478 0.694444 +vt 0.974478 0.687500 +vt 0.972158 0.430556 +vt 0.914153 0.402778 +vt 0.958237 0.437500 +vt 0.965197 0.423611 +vt 0.902552 0.708333 +vt 0.903712 0.576389 +vt 0.909513 0.729167 +vt 0.933875 0.576389 +vt 0.912993 0.576389 +vt 0.983759 0.673611 +vt 0.946636 0.673611 +vt 0.962877 0.715278 +vt 0.997680 0.673611 +vt 0.993039 0.694444 +vt 0.976798 0.694444 +vt 0.902552 0.527778 +vt 0.995360 0.513889 +vt 0.995360 0.527778 +vt 0.902552 0.513889 +vt 0.995360 0.500000 +vt 0.902552 0.500000 +vt 0.995360 0.486111 +vt 0.902552 0.486111 +vt 0.995360 0.472222 +vt 0.902552 0.458333 +vt 0.995360 0.458333 +vt 0.995360 0.444444 +vt 0.995360 0.555556 +vt 0.902552 0.541667 +vt 0.995360 0.541667 +vt 0.976798 0.708333 +vt 0.993039 0.701389 +vt 0.993039 0.708333 +vt 0.976798 0.680556 +vt 0.993039 0.680556 +vt 0.902552 0.472222 +vt 0.902552 0.444444 +vt 0.902552 0.555556 +vt 0.976798 0.701389 +vn 0.8944 0.4472 -0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.8944 -0.4472 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 -0.9578 0.2873 +vn 0.0000 0.9578 0.2873 +vn 0.9950 0.0000 0.0995 +vn -0.9950 0.0000 0.0995 +vn -0.9285 0.0000 -0.3714 +vn -0.9285 0.0000 0.3714 +vn 0.7071 0.7071 -0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 -0.7071 -0.0000 +s off +f 1825/3012/419 1826/3013/419 1827/3014/419 +f 1828/3015/420 1829/3016/420 1830/3017/420 +f 1831/3018/421 1832/3019/421 1833/3020/421 +f 1834/3021/422 1835/3022/422 1836/3023/422 +f 1833/3020/423 1836/3024/423 1837/3025/423 +f 1838/3026/424 1839/3027/424 1834/3021/424 +f 1825/3028/424 1840/3029/424 1841/3030/424 +f 1842/3031/423 1843/3032/423 1844/3033/423 +f 1845/3034/421 1846/3035/421 1842/3031/421 +f 1847/3036/425 1848/3037/425 1849/3038/425 +f 1837/3039/421 1850/3040/421 1843/3041/421 +f 1841/3030/424 1851/3042/424 1845/3034/424 +f 1838/3026/424 1852/3043/424 1831/3018/424 +f 1837/3025/423 1835/3044/423 1849/3045/423 +f 1852/3043/422 1836/3023/422 1832/3046/422 +f 1853/3047/420 1830/3017/420 1826/3048/420 +f 1843/3041/421 1854/3049/421 1844/3050/421 +f 1840/3029/424 1831/3018/424 1851/3042/424 +f 1839/3051/425 1849/3038/425 1835/3052/425 +f 1840/3029/424 1847/3053/424 1838/3026/424 +f 1846/3035/423 1837/3025/423 1843/3032/423 +f 1851/3042/421 1833/3020/421 1846/3035/421 +f 1828/3015/424 1845/3034/424 1855/3054/424 +f 1826/3055/423 1844/3033/423 1827/3056/423 +f 1855/3054/421 1842/3031/421 1829/3057/421 +f 1829/3057/423 1844/3033/423 1830/3058/423 +f 1853/3047/424 1841/3030/424 1828/3015/424 +f 1856/3059/419 1827/3014/419 1848/3037/419 +f 1857/3060/423 1850/3040/423 1858/3061/423 +f 1850/3040/423 1859/3062/423 1858/3061/423 +f 1827/3063/420 1854/3049/420 1857/3060/420 +f 1849/3064/422 1860/3065/422 1837/3066/422 +f 1827/3014/419 1858/3061/419 1848/3037/419 +f 1849/3038/425 1858/3061/425 1859/3067/425 +f 1861/3068/426 1862/3069/426 1863/3070/426 +f 1864/3071/420 1865/3072/420 1862/3069/420 +f 1865/3072/421 1866/3073/421 1867/3074/421 +f 1866/3073/422 1863/3075/422 1867/3074/422 +f 1863/3075/427 1868/3076/427 1867/3074/427 +f 1864/3077/424 1866/3073/424 1869/3078/424 +f 1862/3069/428 1870/3079/428 1871/3080/428 +f 1862/3069/429 1872/3081/429 1863/3070/429 +f 1867/3074/430 1870/3082/430 1865/3072/430 +f 1873/3083/419 1874/3084/419 1875/3085/419 +f 1874/3084/420 1876/3086/420 1877/3087/420 +f 1878/3088/421 1879/3089/421 1880/3090/421 +f 1881/3091/422 1882/3092/422 1879/3089/422 +f 1880/3090/423 1882/3093/423 1883/3094/423 +f 1878/3088/424 1884/3095/424 1881/3091/424 +f 1885/3096/424 1886/3097/424 1876/3086/424 +f 1873/3098/424 1878/3088/424 1886/3097/424 +f 1874/3099/423 1887/3100/423 1875/3101/423 +f 1887/3100/423 1883/3094/423 1875/3101/423 +f 1876/3086/421 1887/3100/421 1877/3087/421 +f 1878/3102/422 1880/3103/422 1888/3104/422 +f 1882/3105/425 1889/3106/425 1883/3107/425 +f 1889/3106/426 1875/3085/426 1883/3107/426 +f 1878/3108/431 1890/3109/431 1886/3110/431 +f 1887/3111/432 1888/3104/432 1880/3112/432 +f 1887/3113/420 1886/3114/420 1890/3109/420 +f 1891/3115/420 1892/3116/420 1893/3117/420 +f 1894/3118/422 1895/3119/422 1896/3120/422 +f 1825/3012/419 1853/3121/419 1826/3013/419 +f 1828/3015/420 1855/3054/420 1829/3016/420 +f 1831/3018/421 1852/3043/421 1832/3019/421 +f 1834/3021/422 1839/3027/422 1835/3022/422 +f 1833/3020/423 1832/3019/423 1836/3024/423 +f 1838/3026/424 1847/3053/424 1839/3027/424 +f 1825/3028/424 1856/3122/424 1840/3029/424 +f 1842/3031/423 1846/3035/423 1843/3032/423 +f 1845/3034/421 1851/3042/421 1846/3035/421 +f 1847/3036/425 1856/3059/425 1848/3037/425 +f 1837/3039/421 1860/3065/421 1850/3040/421 +f 1841/3030/424 1840/3029/424 1851/3042/424 +f 1838/3026/424 1834/3021/424 1852/3043/424 +f 1837/3025/423 1836/3024/423 1835/3044/423 +f 1852/3043/422 1834/3021/422 1836/3023/422 +f 1853/3047/420 1828/3015/420 1830/3017/420 +f 1843/3041/421 1850/3040/421 1854/3049/421 +f 1840/3029/424 1838/3026/424 1831/3018/424 +f 1839/3051/425 1847/3036/425 1849/3038/425 +f 1840/3029/424 1856/3122/424 1847/3053/424 +f 1846/3035/423 1833/3020/423 1837/3025/423 +f 1851/3042/421 1831/3018/421 1833/3020/421 +f 1828/3015/424 1841/3030/424 1845/3034/424 +f 1826/3055/423 1830/3058/423 1844/3033/423 +f 1855/3054/421 1845/3034/421 1842/3031/421 +f 1829/3057/423 1842/3031/423 1844/3033/423 +f 1853/3047/424 1825/3028/424 1841/3030/424 +f 1856/3059/419 1825/3012/419 1827/3014/419 +f 1857/3060/423 1854/3049/423 1850/3040/423 +f 1850/3040/423 1860/3065/423 1859/3062/423 +f 1827/3063/420 1844/3123/420 1854/3049/420 +f 1849/3064/422 1859/3062/422 1860/3065/422 +f 1827/3014/419 1857/3124/419 1858/3061/419 +f 1849/3038/425 1848/3037/425 1858/3061/425 +f 1861/3068/426 1864/3071/426 1862/3069/426 +f 1864/3071/420 1869/3078/420 1865/3072/420 +f 1865/3072/421 1869/3078/421 1866/3073/421 +f 1866/3073/422 1861/3125/422 1863/3075/422 +f 1863/3075/427 1872/3126/427 1868/3076/427 +f 1864/3077/424 1861/3127/424 1866/3073/424 +f 1862/3069/428 1865/3072/428 1870/3079/428 +f 1862/3069/429 1871/3128/429 1872/3081/429 +f 1867/3074/430 1868/3129/430 1870/3082/430 +f 1873/3083/419 1885/3130/419 1874/3084/419 +f 1874/3084/420 1885/3130/420 1876/3086/420 +f 1878/3088/421 1881/3091/421 1879/3089/421 +f 1881/3091/422 1884/3131/422 1882/3092/422 +f 1880/3090/423 1879/3089/423 1882/3093/423 +f 1878/3088/424 1889/3132/424 1884/3095/424 +f 1885/3096/424 1873/3098/424 1886/3097/424 +f 1873/3098/424 1889/3132/424 1878/3088/424 +f 1874/3099/423 1877/3087/423 1887/3100/423 +f 1887/3100/423 1880/3090/423 1883/3094/423 +f 1876/3086/421 1886/3097/421 1887/3100/421 +f 1882/3105/425 1884/3133/425 1889/3106/425 +f 1889/3106/426 1873/3083/426 1875/3085/426 +f 1878/3108/431 1888/3104/431 1890/3109/431 +f 1887/3111/432 1890/3109/432 1888/3104/432 +f 1891/3115/420 1897/3134/420 1892/3116/420 +f 1894/3118/422 1898/3135/422 1895/3119/422 +s 1 +f 1899/3136/426 1900/3137/433 1901/3138/426 +f 1902/3139/433 1903/3140/420 1900/3137/433 +f 1904/3141/420 1905/3142/434 1903/3140/420 +f 1906/3143/434 1907/3144/421 1905/3142/434 +f 1907/3144/421 1908/3145/435 1909/3146/435 +f 1908/3145/435 1910/3147/422 1909/3146/435 +f 1910/3148/422 1911/3149/436 1912/3150/436 +f 1911/3149/436 1901/3138/426 1912/3150/436 +f 1896/3151/426 1891/3152/424 1893/3153/426 +f 1897/3134/421 1894/3118/423 1892/3116/423 +f 1892/3116/423 1896/3154/426 1893/3155/426 +f 1891/3152/424 1898/3135/421 1897/3134/421 +f 1899/3136/426 1902/3139/433 1900/3137/433 +f 1902/3139/433 1904/3141/420 1903/3140/420 +f 1904/3141/420 1906/3143/434 1905/3142/434 +f 1906/3143/434 1913/3156/421 1907/3144/421 +f 1907/3144/421 1913/3156/421 1908/3145/435 +f 1908/3145/435 1914/3157/422 1910/3147/422 +f 1910/3148/422 1914/3158/422 1911/3149/436 +f 1911/3149/436 1899/3136/426 1901/3138/426 +f 1896/3151/426 1895/3159/424 1891/3152/424 +f 1897/3134/421 1898/3135/421 1894/3118/423 +f 1892/3116/423 1894/3118/423 1896/3154/426 +f 1891/3152/424 1895/3159/424 1898/3135/421 +o BipodHingeRight +v -0.187508 -0.374997 -1.250000 +v -0.187508 -0.499997 -0.750000 +v -0.187508 -0.499997 -1.250000 +v -0.187508 -0.374997 -0.750000 +v -0.312508 -0.499997 -0.750000 +v -0.312508 -0.499997 -1.250000 +v -0.437508 -0.874997 -1.250000 +v -0.437508 -0.499997 -1.250000 +v -0.312508 -0.374997 -1.250000 +v -0.312508 -0.374997 -0.750000 +v -0.437507 -0.374997 -0.750000 +v -0.437508 -0.499997 -0.750000 +v -0.437507 -0.374997 -1.250000 +v -0.312508 -0.874997 -0.750000 +v -0.312508 -0.874997 -1.250000 +v -0.437508 -0.874997 -0.750000 +vt 0.900232 0.312500 +vt 0.918793 0.326389 +vt 0.900232 0.326389 +vt 0.918793 0.312500 +vt 0.923434 0.298611 +vt 0.923434 0.312500 +vt 0.895592 0.270833 +vt 0.900232 0.229167 +vt 0.900232 0.270833 +vt 0.900232 0.298611 +vt 0.895592 0.312500 +vt 0.895592 0.298611 +vt 0.918793 0.340278 +vt 0.918793 0.298611 +vt 0.918793 0.284722 +vt 0.918793 0.270833 +vt 0.923434 0.284722 +vt 0.900232 0.284722 +vt 0.918793 0.215278 +vt 0.900232 0.215278 +vt 0.918793 0.229167 +vt 0.877030 0.270833 +vt 0.895592 0.229167 +vt 0.923434 0.229167 +vt 0.923434 0.270833 +vt 0.900232 0.340278 +vt 0.895592 0.284722 +vt 0.877030 0.229167 +vn 1.0000 0.0000 -0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.0000 -1.0000 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 1.0000 -0.0000 +vn -1.0000 0.0000 0.0000 +s off +f 1915/3160/437 1916/3161/437 1917/3162/437 +f 1918/3163/438 1919/3164/438 1916/3165/438 +f 1920/3166/439 1921/3167/439 1922/3168/439 +f 1923/3169/439 1917/3170/439 1920/3171/439 +f 1919/3172/440 1917/3162/440 1916/3161/440 +f 1918/3163/441 1923/3169/441 1924/3173/441 +f 1925/3174/442 1922/3168/442 1926/3175/442 +f 1923/3169/441 1925/3174/441 1924/3173/441 +f 1919/3164/438 1925/3174/438 1926/3176/438 +f 1920/3171/439 1927/3177/439 1923/3169/439 +f 1928/3178/440 1921/3167/440 1929/3179/440 +f 1922/3168/442 1930/3180/442 1926/3175/442 +f 1919/3181/437 1929/3182/437 1920/3166/437 +f 1926/3175/438 1928/3183/438 1919/3184/438 +f 1915/3160/437 1918/3163/437 1916/3161/437 +f 1918/3163/438 1924/3173/438 1919/3164/438 +f 1920/3166/439 1929/3182/439 1921/3167/439 +f 1923/3169/439 1915/3160/439 1917/3170/439 +f 1919/3172/440 1920/3185/440 1917/3162/440 +f 1918/3163/441 1915/3160/441 1923/3169/441 +f 1925/3174/442 1927/3177/442 1922/3168/442 +f 1923/3169/441 1927/3177/441 1925/3174/441 +f 1919/3164/438 1924/3173/438 1925/3174/438 +f 1920/3171/439 1922/3186/439 1927/3177/439 +f 1928/3178/440 1930/3180/440 1921/3167/440 +f 1922/3168/442 1921/3167/442 1930/3180/442 +f 1919/3181/437 1928/3187/437 1929/3182/437 +f 1926/3175/438 1930/3180/438 1928/3183/438 +o MuzzleBrake +v 0.375006 0.937501 9.750000 +v 0.375006 0.625001 10.500000 +v 0.375006 0.625001 9.750000 +v -0.374994 0.937501 10.500000 +v -0.374994 0.625001 9.750000 +v -0.374994 0.625001 10.500000 +v 0.125006 0.937501 9.750000 +v 0.125006 0.625001 9.750000 +v -0.374994 0.312501 10.500000 +v -0.124994 0.312501 9.750000 +v -0.124994 0.312501 10.500000 +v 0.375006 0.937501 10.500000 +v 0.125006 0.937501 10.500000 +v -0.437494 0.937501 10.750000 +v -0.390619 1.000001 10.562500 +v -0.437494 0.312501 10.750000 +v -0.499994 0.250001 11.000000 +v -0.499994 0.312501 11.000000 +v -0.124994 0.937501 11.750000 +v -0.687494 0.812501 11.750000 +v -0.124994 0.812501 11.750000 +v 0.625006 0.937501 11.500000 +v 0.687506 0.812501 11.750000 +v 0.625006 0.812501 11.500000 +v -0.624994 0.312501 11.500000 +v -0.687494 0.437501 11.750000 +v -0.624994 0.437501 11.500000 +v 0.437506 0.937501 10.750000 +v 0.390631 1.000001 10.562500 +v 0.437506 1.000001 10.750000 +v -0.624994 1.125001 11.500000 +v -0.124994 1.125001 11.750000 +v -0.124994 1.125001 11.500000 +v 0.500006 1.000001 11.000000 +v 0.500006 0.937501 11.000000 +v -0.687494 0.937501 11.750000 +v -0.624994 0.937501 11.500000 +v 0.687506 0.937501 11.750000 +v 0.125006 1.125001 11.750000 +v 0.125006 0.937501 11.750000 +v -0.390619 0.250001 10.562500 +v -0.437494 0.250001 10.750000 +v 0.625006 0.125001 11.500000 +v 0.125006 0.125001 11.750000 +v 0.125006 0.125001 11.500000 +v -0.687494 0.312501 11.750000 +v -0.124994 0.125001 11.750000 +v -0.124994 0.312501 11.750000 +v 0.437506 0.312501 10.750000 +v 0.390631 0.250001 10.562500 +v 0.375006 0.312501 10.500000 +v 0.687506 0.312501 11.750000 +v 0.625006 0.312501 11.500000 +v 0.125006 0.250001 10.750000 +v 0.125006 0.250001 10.562500 +v 0.500006 0.312501 11.000000 +v 0.437506 0.250001 10.750000 +v 0.562506 0.312501 11.250000 +v 0.500006 0.250001 11.000000 +v 0.562506 0.187501 11.250000 +v 0.125006 0.250001 11.000000 +v 0.125006 0.187501 11.250000 +v -0.499994 0.937501 11.000000 +v -0.437494 1.000001 10.750000 +v -0.562494 0.937501 11.250000 +v -0.499994 1.000001 11.000000 +v -0.562494 1.062501 11.250000 +v 0.687506 1.125001 11.750000 +v 0.562506 1.062501 11.250000 +v 0.625006 1.125001 11.500000 +v 0.562506 0.937501 11.250000 +v -0.124994 1.000001 11.000000 +v -0.124994 1.000001 10.750000 +v -0.124994 1.062501 11.250000 +v -0.593744 0.437501 11.375000 +v 0.593756 0.812501 11.375000 +v -0.687494 0.125001 11.750000 +v -0.562494 0.187501 11.250000 +v -0.624994 0.125001 11.500000 +v -0.562494 0.312501 11.250000 +v 0.593756 0.625001 11.375000 +v 0.625006 0.437501 11.500000 +v 0.593756 0.437501 11.375000 +v -0.593744 0.625001 11.375000 +v -0.624994 0.812501 11.500000 +v -0.593744 0.812501 11.375000 +v -0.624994 0.625001 11.500000 +v 0.625006 0.625001 11.500000 +v 0.687506 0.437501 11.750000 +v -0.187494 0.625001 11.750000 +v -0.124994 0.437501 11.750000 +v 0.375006 0.312501 9.750000 +v 0.125006 0.312501 9.750000 +v -0.374994 0.312501 9.750000 +v 0.687506 0.625001 11.750000 +v -0.687494 0.625001 11.750000 +v -0.124994 1.000001 10.562500 +v -0.124994 0.937501 10.500000 +v 0.125006 0.312501 10.500000 +v 0.125006 1.000001 10.750000 +v 0.125006 1.000001 10.562500 +v -0.124994 0.250001 10.562500 +v 0.125006 0.312501 11.750000 +v 0.125006 0.437501 11.750000 +v 0.187506 0.625001 11.750000 +v -0.124994 0.625001 9.750000 +v 0.125006 1.125001 11.500000 +v 0.125006 1.062501 11.250000 +v 0.125006 1.000001 11.000000 +v -0.124994 0.125001 11.500000 +v -0.124994 0.187501 11.250000 +v -0.124994 0.250001 11.000000 +v -0.124994 0.250001 10.750000 +v 0.687506 0.125001 11.750000 +v -0.687494 1.125001 11.750000 +v 0.125006 0.812501 11.750000 +v -0.374994 0.937501 9.750000 +v -0.124994 0.937501 9.750000 +v -0.192252 1.000001 9.932741 +v -0.192251 1.000001 9.817257 +v -0.307735 1.000001 9.817257 +v -0.192252 1.000001 10.182741 +v -0.192251 1.000001 10.067257 +v -0.307735 1.000001 10.067257 +v -0.192252 1.000001 10.432741 +v -0.192251 1.000001 10.317257 +v -0.307735 1.000001 10.317257 +v -0.307735 0.250001 9.817257 +v -0.192251 0.250001 9.817257 +v -0.192252 0.250001 9.932741 +v -0.307735 0.250001 10.067257 +v -0.192251 0.250001 10.067257 +v -0.192252 0.250001 10.182741 +v -0.307735 0.250001 10.317257 +v -0.192251 0.250001 10.317257 +v -0.192252 0.250001 10.432741 +v -0.307736 1.000001 9.932741 +v -0.249993 1.000001 9.956659 +v -0.168333 1.000001 9.875000 +v -0.249994 1.000001 9.793339 +v -0.331654 1.000001 9.874998 +v -0.307736 1.000001 10.182741 +v -0.249993 1.000001 10.206659 +v -0.168333 1.000001 10.125000 +v -0.249994 1.000001 10.043339 +v -0.331654 1.000001 10.124998 +v -0.307736 1.000001 10.432741 +v -0.249993 1.000001 10.456659 +v -0.168333 1.000001 10.375000 +v -0.249994 1.000001 10.293339 +v -0.331654 1.000001 10.374998 +v -0.249993 0.250001 9.956659 +v -0.307736 0.250001 9.932741 +v -0.331654 0.250001 9.874998 +v -0.249994 0.250001 9.793339 +v -0.168333 0.250001 9.875000 +v -0.249993 0.250001 10.206659 +v -0.307736 0.250001 10.182741 +v -0.331654 0.250001 10.124998 +v -0.249994 0.250001 10.043339 +v -0.168333 0.250001 10.125000 +v -0.249993 0.250001 10.456659 +v -0.307736 0.250001 10.432741 +v -0.331654 0.250001 10.374998 +v -0.249994 0.250001 10.293339 +v -0.168333 0.250001 10.375000 +v -0.124994 0.937501 10.750000 +v -0.124994 0.625001 10.500000 +v -0.124994 0.312501 10.750000 +v -0.124994 0.312501 11.000000 +v -0.124994 0.312501 11.250000 +v -0.124994 0.437501 11.375000 +v -0.187494 0.625001 11.375000 +v -0.124994 0.812501 11.375000 +v -0.124994 0.937501 11.250000 +v -0.124994 0.937501 11.000000 +v 0.125006 0.437501 11.375000 +v 0.125006 0.937501 11.000000 +v 0.125006 0.937501 10.750000 +v 0.125006 0.937501 11.250000 +v 0.125006 0.812501 11.375000 +v 0.187506 0.625001 11.375000 +v 0.125006 0.312501 11.250000 +v 0.125006 0.312501 11.000000 +v 0.125006 0.312501 10.750000 +v 0.125006 0.625001 10.500000 +v -0.192252 0.937501 9.932741 +v -0.249993 0.937501 9.956659 +v -0.307736 0.937501 9.932741 +v -0.331654 0.937501 9.874998 +v -0.307735 0.937501 9.817257 +v -0.249994 0.937501 9.793339 +v -0.192251 0.937501 9.817257 +v -0.168333 0.937501 9.875000 +v -0.192252 0.937501 10.182741 +v -0.249993 0.937501 10.206659 +v -0.307736 0.937501 10.182741 +v -0.331654 0.937501 10.124998 +v -0.307735 0.937501 10.067257 +v -0.249994 0.937501 10.043339 +v -0.192251 0.937501 10.067257 +v -0.168333 0.937501 10.125000 +v -0.192252 0.937501 10.432741 +v -0.249993 0.937501 10.456659 +v -0.307736 0.937501 10.432741 +v -0.331654 0.937501 10.374998 +v -0.307735 0.937501 10.317257 +v -0.249994 0.937501 10.293339 +v -0.192251 0.937501 10.317257 +v -0.168333 0.937501 10.375000 +v -0.249993 0.312501 9.956659 +v -0.192252 0.312501 9.932741 +v -0.307736 0.312501 9.932741 +v -0.331654 0.312501 9.874998 +v -0.307735 0.312501 9.817257 +v -0.249994 0.312501 9.793339 +v -0.168333 0.312501 9.875000 +v -0.192251 0.312501 9.817257 +v -0.249993 0.312501 10.206659 +v -0.192252 0.312501 10.182741 +v -0.307736 0.312501 10.182741 +v -0.331654 0.312501 10.124998 +v -0.307735 0.312501 10.067257 +v -0.249994 0.312501 10.043339 +v -0.168333 0.312501 10.125000 +v -0.192251 0.312501 10.067257 +v -0.249993 0.312501 10.456659 +v -0.192252 0.312501 10.432741 +v -0.307736 0.312501 10.432741 +v -0.331654 0.312501 10.374998 +v -0.307735 0.312501 10.317257 +v -0.249994 0.312501 10.293339 +v -0.168333 0.312501 10.375000 +v -0.192251 0.312501 10.317257 +vt 0.918793 0.972222 +vt 0.890951 0.937500 +vt 0.918793 0.937500 +vt 0.872390 0.875000 +vt 0.844548 0.840278 +vt 0.872390 0.840278 +vt 0.930394 0.993056 +vt 0.921114 0.958333 +vt 0.930394 0.958333 +vt 0.814385 0.701389 +vt 0.842227 0.729167 +vt 0.814385 0.729167 +vt 0.795824 0.659722 +vt 0.767981 0.631944 +vt 0.795824 0.631944 +vt 0.881671 0.875000 +vt 0.874710 0.881944 +vt 0.881671 0.805556 +vt 0.890951 0.798611 +vt 0.890951 0.805556 +vt 0.865429 0.763889 +vt 0.844548 0.750000 +vt 0.865429 0.750000 +vt 0.853828 0.972222 +vt 0.844548 0.958333 +vt 0.853828 0.958333 +vt 0.909513 0.805556 +vt 0.918793 0.819444 +vt 0.909513 0.819444 +vt 0.881671 0.972222 +vt 0.888631 0.979167 +vt 0.881671 0.979167 +vt 0.832947 0.548611 +vt 0.842227 0.604167 +vt 0.832947 0.604167 +vt 0.872390 0.979167 +vt 0.872390 0.972222 +vt 0.918793 0.875000 +vt 0.909513 0.895833 +vt 0.909513 0.875000 +vt 0.895592 0.763889 +vt 0.874710 0.784722 +vt 0.874710 0.763889 +vt 0.874710 0.798611 +vt 0.881671 0.798611 +vt 0.777262 0.812500 +vt 0.767981 0.756944 +vt 0.777262 0.756944 +vt 0.844548 0.694444 +vt 0.865429 0.673611 +vt 0.865429 0.694444 +vt 0.881671 0.902778 +vt 0.888631 0.895833 +vt 0.890951 0.902778 +vt 0.844548 0.902778 +vt 0.853828 0.881944 +vt 0.853828 0.902778 +vt 0.812065 0.786458 +vt 0.805104 0.756944 +vt 0.812065 0.756944 +vt 0.872390 0.902778 +vt 0.881671 0.895833 +vt 0.863109 0.902778 +vt 0.872390 0.895833 +vt 0.863109 0.888889 +vt 0.805104 0.791667 +vt 0.795824 0.756944 +vt 0.795824 0.798611 +vt 0.786543 0.756944 +vt 0.786543 0.805556 +vt 0.890951 0.875000 +vt 0.881671 0.881944 +vt 0.900232 0.875000 +vt 0.890951 0.881944 +vt 0.900232 0.888889 +vt 0.844548 0.993056 +vt 0.844548 0.972222 +vt 0.863109 0.986111 +vt 0.853828 0.993056 +vt 0.863109 0.972222 +vt 0.805104 0.569444 +vt 0.814385 0.604167 +vt 0.805104 0.604167 +vt 0.814385 0.562500 +vt 0.823666 0.604167 +vt 0.823666 0.555556 +vt 0.904872 0.819444 +vt 0.858469 0.958333 +vt 0.918793 0.784722 +vt 0.918793 0.805556 +vt 0.900232 0.791667 +vt 0.909513 0.784722 +vt 0.900232 0.805556 +vt 0.858469 0.937500 +vt 0.853828 0.916667 +vt 0.858469 0.916667 +vt 0.904872 0.840278 +vt 0.909513 0.861111 +vt 0.904872 0.861111 +vt 0.890951 0.972222 +vt 0.909513 0.840278 +vt 0.918793 0.861111 +vt 0.853828 0.937500 +vt 0.844548 0.916667 +vt 0.863109 0.729167 +vt 0.844548 0.708333 +vt 0.865429 0.708333 +vt 0.872390 0.805556 +vt 0.921114 0.923611 +vt 0.930394 0.923611 +vt 0.844548 0.805556 +vt 0.918793 0.902778 +vt 0.844548 0.937500 +vt 0.844548 0.729167 +vt 0.918793 0.840278 +vt 0.795824 0.576389 +vt 0.798144 0.604167 +vt 0.795824 0.604167 +vt 0.814385 0.784722 +vt 0.814385 0.756944 +vt 0.798144 0.574653 +vt 0.798144 0.661458 +vt 0.805104 0.631944 +vt 0.805104 0.666667 +vt 0.798144 0.631944 +vt 0.812065 0.729167 +vt 0.812065 0.699653 +vt 0.895592 0.708333 +vt 0.874710 0.694444 +vt 0.895592 0.694444 +vt 0.874710 0.708333 +vt 0.895592 0.750000 +vt 0.877030 0.729167 +vt 0.895592 0.729167 +vt 0.948956 0.958333 +vt 0.939675 0.923611 +vt 0.948956 0.923611 +vt 0.939675 0.958333 +vt 0.823666 0.680556 +vt 0.832947 0.631944 +vt 0.832947 0.687500 +vt 0.823666 0.631944 +vt 0.814385 0.673611 +vt 0.814385 0.631944 +vt 0.786543 0.680556 +vt 0.777262 0.729167 +vt 0.777262 0.673611 +vt 0.786543 0.729167 +vt 0.795824 0.687500 +vt 0.795824 0.729167 +vt 0.805104 0.694444 +vt 0.805104 0.729167 +vt 0.895592 0.673611 +vt 0.874710 0.673611 +vt 0.767981 0.729167 +vt 0.767981 0.666667 +vt 0.844548 0.784722 +vt 0.844548 0.763889 +vt 0.865429 0.784722 +vt 0.842227 0.631944 +vt 0.842227 0.694444 +vt 0.874710 0.750000 +vt 0.767981 0.576389 +vt 0.767981 0.604167 +vt 0.842227 0.784722 +vt 0.842227 0.756944 +vt 0.948956 0.993056 +vt 0.939675 0.993056 +vt 0.152017 0.420167 +vt 0.152017 0.433749 +vt 0.147479 0.433749 +vt 0.152017 0.420167 +vt 0.152017 0.433749 +vt 0.147479 0.433749 +vt 0.152017 0.420167 +vt 0.152017 0.433749 +vt 0.147479 0.433749 +vt 0.147479 0.433749 +vt 0.152017 0.433749 +vt 0.152017 0.420167 +vt 0.147479 0.433749 +vt 0.152017 0.433749 +vt 0.152017 0.420167 +vt 0.147479 0.433749 +vt 0.152017 0.433749 +vt 0.152017 0.420167 +vt 0.844548 0.875000 +vt 0.921114 0.993056 +vt 0.842227 0.701389 +vt 0.767981 0.659722 +vt 0.842227 0.541667 +vt 0.918793 0.895833 +vt 0.895592 0.784722 +vt 0.767981 0.819444 +vt 0.844548 0.673611 +vt 0.844548 0.881944 +vt 0.147479 0.420167 +vt 0.149748 0.417354 +vt 0.152957 0.426958 +vt 0.149748 0.436562 +vt 0.146540 0.426958 +vt 0.147479 0.420167 +vt 0.149748 0.417354 +vt 0.152957 0.426958 +vt 0.149748 0.436562 +vt 0.146540 0.426958 +vt 0.147479 0.420167 +vt 0.149748 0.417354 +vt 0.152957 0.426958 +vt 0.149748 0.436562 +vt 0.146540 0.426958 +vt 0.149748 0.417354 +vt 0.147479 0.420167 +vt 0.146540 0.426958 +vt 0.149748 0.436562 +vt 0.152957 0.426958 +vt 0.149748 0.417354 +vt 0.147479 0.420167 +vt 0.146540 0.426958 +vt 0.149748 0.436562 +vt 0.152957 0.426958 +vt 0.149748 0.417354 +vt 0.147479 0.420167 +vt 0.146540 0.426958 +vt 0.149748 0.436562 +vt 0.152957 0.426958 +vt 0.879350 0.458333 +vt 0.895592 0.430556 +vt 0.895592 0.458333 +vt 0.798144 0.430556 +vt 0.814385 0.458333 +vt 0.798144 0.458333 +vt 0.814385 0.423611 +vt 0.823666 0.458333 +vt 0.823666 0.416667 +vt 0.832947 0.458333 +vt 0.832947 0.409722 +vt 0.839907 0.458333 +vt 0.839907 0.406250 +vt 0.846868 0.451389 +vt 0.853828 0.406250 +vt 0.853828 0.458333 +vt 0.860789 0.409722 +vt 0.860789 0.458333 +vt 0.870070 0.416667 +vt 0.870070 0.458333 +vt 0.879350 0.423611 +vt 0.867749 0.666667 +vt 0.860789 0.625000 +vt 0.867749 0.625000 +vt 0.877030 0.666667 +vt 0.877030 0.625000 +vt 0.870070 0.486111 +vt 0.879350 0.520833 +vt 0.870070 0.527778 +vt 0.879350 0.486111 +vt 0.860789 0.486111 +vt 0.860789 0.534722 +vt 0.853828 0.486111 +vt 0.853828 0.539931 +vt 0.846868 0.493056 +vt 0.846868 0.539931 +vt 0.883991 0.666667 +vt 0.883991 0.625000 +vt 0.839907 0.539931 +vt 0.890951 0.666667 +vt 0.890951 0.625000 +vt 0.832947 0.534722 +vt 0.839907 0.486111 +vt 0.832947 0.486111 +vt 0.823666 0.527778 +vt 0.823666 0.486111 +vt 0.814385 0.520833 +vt 0.814385 0.486111 +vt 0.798144 0.513889 +vt 0.798144 0.486111 +vt 0.895592 0.513889 +vt 0.895592 0.486111 +vt 0.860789 0.666667 +vt 0.853828 0.625000 +vt 0.853828 0.666667 +vt 0.844548 0.625000 +vt 0.139211 0.423611 +vt 0.141531 0.416667 +vt 0.141531 0.423611 +vt 0.143852 0.423611 +vt 0.125290 0.416667 +vt 0.127610 0.423611 +vt 0.125290 0.423611 +vt 0.127610 0.416667 +vt 0.129930 0.423611 +vt 0.129930 0.416667 +vt 0.132251 0.423611 +vt 0.132251 0.416667 +vt 0.134571 0.423611 +vt 0.134571 0.416667 +vt 0.136891 0.423611 +vt 0.136891 0.416667 +vt 0.139211 0.423611 +vt 0.141531 0.416667 +vt 0.141531 0.423611 +vt 0.143852 0.423611 +vt 0.125290 0.416667 +vt 0.127610 0.423611 +vt 0.125290 0.423611 +vt 0.127610 0.416667 +vt 0.129930 0.423611 +vt 0.129930 0.416667 +vt 0.132251 0.423611 +vt 0.132251 0.416667 +vt 0.134571 0.423611 +vt 0.134571 0.416667 +vt 0.136891 0.423611 +vt 0.136891 0.416667 +vt 0.139211 0.423611 +vt 0.141531 0.416667 +vt 0.141531 0.423611 +vt 0.143852 0.423611 +vt 0.125290 0.416667 +vt 0.127610 0.423611 +vt 0.125290 0.423611 +vt 0.127610 0.416667 +vt 0.129930 0.423611 +vt 0.129930 0.416667 +vt 0.132251 0.423611 +vt 0.132251 0.416667 +vt 0.134571 0.423611 +vt 0.134571 0.416667 +vt 0.136891 0.423611 +vt 0.136891 0.416667 +vt 0.141531 0.423611 +vt 0.139211 0.416667 +vt 0.139211 0.423611 +vt 0.143852 0.423611 +vt 0.141531 0.416667 +vt 0.127610 0.423611 +vt 0.125290 0.416667 +vt 0.125290 0.423611 +vt 0.129930 0.423611 +vt 0.127610 0.416667 +vt 0.132251 0.423611 +vt 0.129930 0.416667 +vt 0.134571 0.416667 +vt 0.132251 0.416667 +vt 0.136891 0.423611 +vt 0.134571 0.423611 +vt 0.136891 0.416667 +vt 0.141531 0.423611 +vt 0.139211 0.416667 +vt 0.139211 0.423611 +vt 0.143852 0.423611 +vt 0.141531 0.416667 +vt 0.127610 0.423611 +vt 0.125290 0.416667 +vt 0.125290 0.423611 +vt 0.129930 0.423611 +vt 0.127610 0.416667 +vt 0.132251 0.423611 +vt 0.129930 0.416667 +vt 0.134571 0.416667 +vt 0.132251 0.416667 +vt 0.136891 0.423611 +vt 0.134571 0.423611 +vt 0.136891 0.416667 +vt 0.141531 0.423611 +vt 0.139211 0.416667 +vt 0.139211 0.423611 +vt 0.143852 0.423611 +vt 0.141531 0.416667 +vt 0.127610 0.423611 +vt 0.125290 0.416667 +vt 0.125290 0.423611 +vt 0.129930 0.423611 +vt 0.127610 0.416667 +vt 0.132251 0.423611 +vt 0.129930 0.416667 +vt 0.134571 0.416667 +vt 0.132251 0.416667 +vt 0.136891 0.423611 +vt 0.134571 0.423611 +vt 0.136891 0.416667 +vt 0.846868 0.406250 +vt 0.844548 0.666667 +vt 0.139211 0.416667 +vt 0.143852 0.416667 +vt 0.139211 0.416667 +vt 0.143852 0.416667 +vt 0.139211 0.416667 +vt 0.143852 0.416667 +vt 0.143852 0.416667 +vt 0.143852 0.416667 +vt 0.143852 0.416667 +vn 1.0000 0.0000 -0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.9701 -0.0000 -0.2425 +vn 0.0000 0.0000 1.0000 +vn 0.9701 0.0000 -0.2425 +vn 0.0000 -0.9701 -0.2425 +vn 0.0000 0.9701 -0.2425 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.9013 0.4332 +vn 0.0000 -0.6247 0.7809 +vn 0.0000 0.6247 0.7809 +vn 0.0000 0.9013 0.4332 +vn 0.0000 0.9254 0.3789 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 0.9008 -0.4343 +vn 0.0000 0.5391 -0.8422 +vn 0.0000 0.3600 -0.9330 +vn 0.0000 -0.3600 -0.9330 +vn 0.0000 -0.5391 -0.8422 +vn 0.0000 -0.9008 -0.4343 +vn 0.0000 -0.9239 -0.3827 +vn 0.0000 -0.9254 0.3789 +vn 0.5847 0.8112 -0.0000 +vn -0.5847 0.8112 0.0000 +vn -0.5847 -0.8112 0.0000 +vn 0.5847 -0.8112 0.0000 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 -0.7071 +s off +f 1931/3188/443 1932/3189/443 1933/3190/443 +f 1934/3191/444 1935/3192/444 1936/3193/444 +f 1937/3194/445 1933/3195/445 1938/3196/445 +f 1939/3197/446 1940/3198/446 1941/3199/446 +f 1942/3200/447 1937/3201/447 1943/3202/447 +f 1944/3203/448 1945/3204/448 1934/3191/448 +f 1946/3205/448 1947/3206/448 1948/3207/448 +f 1949/3208/449 1950/3209/449 1951/3210/449 +f 1952/3211/450 1953/3212/450 1954/3213/450 +f 1955/3214/448 1956/3215/448 1957/3216/448 +f 1958/3217/450 1959/3218/450 1960/3219/450 +f 1961/3220/447 1962/3221/447 1963/3222/447 +f 1958/3217/450 1964/3223/450 1965/3224/450 +f 1966/3225/448 1961/3226/448 1967/3227/448 +f 1968/3228/449 1969/3229/449 1970/3230/449 +f 1946/3205/448 1971/3231/448 1972/3232/448 +f 1973/3233/446 1974/3234/446 1975/3235/446 +f 1976/3236/449 1977/3237/449 1978/3238/449 +f 1979/3239/450 1980/3240/450 1981/3241/450 +f 1982/3242/450 1973/3243/450 1983/3244/450 +f 1980/3245/446 1984/3246/446 1985/3247/446 +f 1986/3248/450 1987/3249/450 1979/3239/450 +f 1988/3250/450 1989/3251/450 1986/3248/450 +f 1983/3244/450 1990/3252/450 1988/3250/450 +f 1987/3253/446 1991/3254/446 1984/3246/446 +f 1989/3255/451 1992/3256/451 1991/3254/451 +f 1990/3257/451 1975/3235/451 1992/3256/451 +f 1993/3258/448 1994/3259/448 1944/3203/448 +f 1995/3260/448 1996/3261/448 1993/3258/448 +f 1967/3227/448 1997/3262/448 1995/3260/448 +f 1952/3211/450 1998/3263/450 1968/3264/450 +f 1952/3211/450 1999/3265/450 2000/3266/450 +f 2001/3267/450 1964/3223/450 1999/3265/450 +f 1994/3268/447 2002/3269/447 2003/3270/447 +f 1996/3271/452 2004/3272/452 2002/3269/452 +f 1997/3273/452 1963/3222/452 2004/3272/452 +f 2005/3274/448 1955/3214/448 1957/3216/448 +f 2006/3275/450 1952/3211/450 1954/3213/450 +f 1955/3214/448 2007/3276/448 1976/3277/448 +f 1955/3214/448 2008/3278/448 2009/3279/448 +f 2010/3280/448 1947/3206/448 2008/3278/448 +f 2011/3281/450 2012/3282/450 2013/3283/450 +f 2014/3284/448 2015/3285/448 2016/3286/448 +f 1942/3287/450 1958/3217/450 1932/3189/450 +f 1944/3203/448 1934/3191/448 1936/3193/448 +f 2017/3288/448 1950/3289/448 2015/3285/448 +f 2018/3290/450 2019/3291/450 2012/3282/450 +f 2020/3292/449 1956/3293/449 2021/3294/449 +f 1981/3241/450 1932/3189/450 1979/3239/450 +f 1939/3295/448 1946/3205/448 1936/3193/448 +f 1938/3196/445 2022/3296/445 2023/3297/445 +f 1936/3193/444 2024/3298/444 1939/3295/444 +f 1933/3190/443 1981/3241/443 2022/3299/443 +f 2015/3285/448 1966/3225/448 1967/3227/448 +f 2016/3286/448 1967/3227/448 1995/3260/448 +f 2006/3275/450 2018/3290/450 2011/3281/450 +f 1954/3213/450 2025/3300/450 2018/3290/450 +f 2020/3292/449 1950/3209/449 2026/3301/449 +f 2021/3294/449 1976/3236/449 1978/3238/449 +f 2012/3282/450 1982/3242/450 1983/3244/450 +f 2013/3283/450 1983/3244/450 1988/3250/450 +f 2005/3274/448 2017/3288/448 2014/3284/448 +f 1957/3216/448 2026/3302/448 2017/3288/448 +f 1934/3303/453 2027/3304/453 2028/3305/453 +f 1981/3306/454 1985/3247/454 2029/3307/454 +f 1945/3308/447 2003/3270/447 2027/3304/447 +f 1959/3309/447 2030/3310/447 1960/3311/447 +f 2027/3304/447 2030/3310/447 2031/3312/447 +f 1939/3197/454 2032/3313/454 1971/3314/454 +f 2029/3307/454 2032/3313/454 1941/3199/454 +f 1942/3200/453 2031/3312/453 1959/3309/453 +f 2028/3305/453 2031/3312/453 1943/3202/453 +f 2019/3315/449 2033/3316/449 1982/3317/449 +f 2034/3318/449 1978/3238/449 2033/3316/449 +f 1953/3319/449 2035/3320/449 2025/3321/449 +f 1935/3322/445 1940/3323/445 2024/3324/445 +f 2036/3325/445 2023/3297/445 1940/3323/445 +f 2019/3315/449 2035/3320/449 2034/3318/449 +f 1999/3326/452 2037/3327/452 2000/3328/452 +f 2004/3272/452 2037/3327/452 2038/3329/452 +f 1964/3330/452 2038/3329/452 1999/3326/452 +f 2002/3269/452 2038/3329/452 2039/3331/452 +f 1960/3311/447 2039/3331/447 1964/3330/447 +f 2003/3270/447 2039/3331/447 2030/3310/447 +f 2008/3332/451 2040/3333/451 2009/3334/451 +f 1992/3256/451 2040/3333/451 2041/3335/451 +f 1947/3336/451 2041/3335/451 2008/3332/451 +f 1991/3254/451 2041/3335/451 2042/3337/451 +f 1972/3338/446 2042/3337/446 1947/3336/446 +f 1984/3246/446 2042/3337/446 2043/3339/446 +f 1971/3314/446 2043/3339/446 1972/3338/446 +f 1985/3247/446 2043/3339/446 2032/3313/446 +f 2033/3316/449 2044/3340/449 1982/3317/449 +f 1978/3238/449 1974/3341/449 2033/3316/449 +f 2009/3334/446 1977/3342/446 2007/3343/446 +f 1975/3235/446 1977/3342/446 2040/3333/446 +f 1949/3208/449 2045/3344/449 1966/3345/449 +f 1970/3230/449 1962/3346/449 1949/3208/449 +f 2000/3328/447 1969/3347/447 1998/3348/447 +f 1963/3222/447 1969/3347/447 2037/3327/447 +f 1968/3228/449 2046/3349/449 1953/3319/449 +f 1970/3230/449 1951/3210/449 2046/3349/449 +f 2028/3305/447 2047/3350/447 1934/3303/447 +f 1943/3202/447 2048/3351/447 2028/3305/447 +f 2029/3307/446 2022/3352/446 1981/3306/446 +f 1941/3199/446 2023/3353/446 2029/3307/446 +f 2047/3354/445 2036/3325/445 1935/3322/445 +f 2048/3355/445 1938/3196/445 2036/3325/445 +f 2049/3356/447 2050/3357/447 2051/3358/447 +f 2052/3359/447 2053/3360/447 2054/3361/447 +f 2055/3362/447 2056/3363/447 2057/3364/447 +f 2058/3365/446 2059/3366/446 2060/3367/446 +f 2061/3368/446 2062/3369/446 2063/3370/446 +f 2064/3371/446 2065/3372/446 2066/3373/446 +f 1931/3188/443 1942/3287/443 1932/3189/443 +f 1934/3191/444 2047/3374/444 1935/3192/444 +f 1937/3194/445 1931/3375/445 1933/3195/445 +f 1939/3197/446 2024/3376/446 1940/3198/446 +f 1942/3200/447 1931/3377/447 1937/3201/447 +f 1944/3203/448 1994/3259/448 1945/3204/448 +f 1946/3205/448 1972/3232/448 1947/3206/448 +f 1949/3208/449 1966/3345/449 1950/3209/449 +f 1952/3211/450 1968/3264/450 1953/3212/450 +f 1955/3214/448 1976/3277/448 1956/3215/448 +f 1958/3217/450 1942/3287/450 1959/3218/450 +f 1961/3220/447 2045/3378/447 1962/3221/447 +f 1958/3217/450 1960/3219/450 1964/3223/450 +f 1966/3225/448 2045/3379/448 1961/3226/448 +f 1968/3228/449 1998/3380/449 1969/3229/449 +f 1946/3205/448 1939/3295/448 1971/3231/448 +f 1973/3233/446 2044/3381/446 1974/3234/446 +f 1976/3236/449 2007/3382/449 1977/3237/449 +f 1979/3239/450 1987/3249/450 1980/3240/450 +f 1982/3242/450 2044/3383/450 1973/3243/450 +f 1980/3245/446 1987/3253/446 1984/3246/446 +f 1986/3248/450 1989/3251/450 1987/3249/450 +f 1988/3250/450 1990/3252/450 1989/3251/450 +f 1983/3244/450 1973/3243/450 1990/3252/450 +f 1987/3253/446 1989/3255/446 1991/3254/446 +f 1989/3255/451 1990/3257/451 1992/3256/451 +f 1990/3257/451 1973/3233/451 1975/3235/451 +f 1993/3258/448 1996/3261/448 1994/3259/448 +f 1995/3260/448 1997/3262/448 1996/3261/448 +f 1967/3227/448 1961/3226/448 1997/3262/448 +f 1952/3211/450 2000/3266/450 1998/3263/450 +f 1952/3211/450 2001/3267/450 1999/3265/450 +f 2001/3267/450 1965/3224/450 1964/3223/450 +f 1994/3268/447 1996/3271/447 2002/3269/447 +f 1996/3271/452 1997/3273/452 2004/3272/452 +f 1997/3273/452 1961/3220/452 1963/3222/452 +f 2005/3274/448 2010/3280/448 1955/3214/448 +f 2006/3275/450 2001/3267/450 1952/3211/450 +f 1955/3214/448 2009/3279/448 2007/3276/448 +f 1955/3214/448 2010/3280/448 2008/3278/448 +f 2010/3280/448 1948/3207/448 1947/3206/448 +f 2011/3281/450 2018/3290/450 2012/3282/450 +f 2014/3284/448 2017/3288/448 2015/3285/448 +f 2017/3288/448 2026/3302/448 1950/3289/448 +f 2018/3290/450 2025/3300/450 2019/3291/450 +f 2020/3292/449 2026/3301/449 1956/3293/449 +f 1938/3196/445 1933/3195/445 2022/3296/445 +f 1936/3193/444 1935/3192/444 2024/3298/444 +f 1933/3190/443 1932/3189/443 1981/3241/443 +f 2015/3285/448 1950/3289/448 1966/3225/448 +f 2016/3286/448 2015/3285/448 1967/3227/448 +f 2006/3275/450 1954/3213/450 2018/3290/450 +f 1954/3213/450 1953/3212/450 2025/3300/450 +f 2020/3292/449 1951/3210/449 1950/3209/449 +f 2021/3294/449 1956/3293/449 1976/3236/449 +f 2012/3282/450 2019/3291/450 1982/3242/450 +f 2013/3283/450 2012/3282/450 1983/3244/450 +f 2005/3274/448 1957/3216/448 2017/3288/448 +f 1957/3216/448 1956/3215/448 2026/3302/448 +f 1934/3303/453 1945/3308/453 2027/3304/453 +f 1981/3306/454 1980/3245/454 1985/3247/454 +f 1945/3308/447 1994/3268/447 2003/3270/447 +f 1959/3309/447 2031/3312/447 2030/3310/447 +f 2027/3304/447 2003/3270/447 2030/3310/447 +f 1939/3197/454 1941/3199/454 2032/3313/454 +f 2029/3307/454 1985/3247/454 2032/3313/454 +f 1942/3200/453 1943/3202/453 2031/3312/453 +f 2028/3305/453 2027/3304/453 2031/3312/453 +f 2019/3315/449 2034/3318/449 2033/3316/449 +f 2034/3318/449 2021/3294/449 1978/3238/449 +f 1953/3319/449 2046/3349/449 2035/3320/449 +f 1935/3322/445 2036/3325/445 1940/3323/445 +f 2036/3325/445 1938/3196/445 2023/3297/445 +f 2019/3315/449 2025/3321/449 2035/3320/449 +f 1999/3326/452 2038/3329/452 2037/3327/452 +f 2004/3272/452 1963/3222/452 2037/3327/452 +f 1964/3330/452 2039/3331/452 2038/3329/452 +f 2002/3269/452 2004/3272/452 2038/3329/452 +f 1960/3311/447 2030/3310/447 2039/3331/447 +f 2003/3270/447 2002/3269/447 2039/3331/447 +f 2008/3332/451 2041/3335/451 2040/3333/451 +f 1992/3256/451 1975/3235/451 2040/3333/451 +f 1947/3336/451 2042/3337/451 2041/3335/451 +f 1991/3254/451 1992/3256/451 2041/3335/451 +f 1972/3338/446 2043/3339/446 2042/3337/446 +f 1984/3246/446 1991/3254/446 2042/3337/446 +f 1971/3314/446 2032/3313/446 2043/3339/446 +f 1985/3247/446 1984/3246/446 2043/3339/446 +f 2033/3316/449 1974/3341/449 2044/3340/449 +f 1978/3238/449 1977/3237/449 1974/3341/449 +f 2009/3334/446 2040/3333/446 1977/3342/446 +f 1975/3235/446 1974/3234/446 1977/3342/446 +f 1949/3208/449 1962/3346/449 2045/3344/449 +f 1970/3230/449 1969/3229/449 1962/3346/449 +f 2000/3328/447 2037/3327/447 1969/3347/447 +f 1963/3222/447 1962/3221/447 1969/3347/447 +f 1968/3228/449 1970/3230/449 2046/3349/449 +f 1970/3230/449 1949/3208/449 1951/3210/449 +f 2028/3305/447 2048/3351/447 2047/3350/447 +f 1943/3202/447 1937/3201/447 2048/3351/447 +f 2029/3307/446 2023/3353/446 2022/3352/446 +f 1941/3199/446 1940/3198/446 2023/3353/446 +f 2047/3354/445 2048/3355/445 2036/3325/445 +f 2048/3355/445 1937/3194/445 1938/3196/445 +f 2067/3384/447 2068/3385/447 2049/3356/447 +f 2049/3356/447 2069/3386/447 2050/3357/447 +f 2050/3357/447 2070/3387/447 2051/3358/447 +f 2051/3358/447 2071/3388/447 2067/3384/447 +f 2067/3384/447 2049/3356/447 2051/3358/447 +f 2072/3389/447 2073/3390/447 2052/3359/447 +f 2052/3359/447 2074/3391/447 2053/3360/447 +f 2053/3360/447 2075/3392/447 2054/3361/447 +f 2054/3361/447 2076/3393/447 2072/3389/447 +f 2072/3389/447 2052/3359/447 2054/3361/447 +f 2077/3394/447 2078/3395/447 2055/3362/447 +f 2055/3362/447 2079/3396/447 2056/3363/447 +f 2056/3363/447 2080/3397/447 2057/3364/447 +f 2057/3364/447 2081/3398/447 2077/3394/447 +f 2077/3394/447 2055/3362/447 2057/3364/447 +f 2060/3367/446 2082/3399/446 2083/3400/446 +f 2083/3400/446 2084/3401/446 2058/3365/446 +f 2058/3365/446 2085/3402/446 2059/3366/446 +f 2059/3366/446 2086/3403/446 2060/3367/446 +f 2060/3367/446 2083/3400/446 2058/3365/446 +f 2063/3370/446 2087/3404/446 2088/3405/446 +f 2088/3405/446 2089/3406/446 2061/3368/446 +f 2061/3368/446 2090/3407/446 2062/3369/446 +f 2062/3369/446 2091/3408/446 2063/3370/446 +f 2063/3370/446 2088/3405/446 2061/3368/446 +f 2066/3373/446 2092/3409/446 2093/3410/446 +f 2093/3410/446 2094/3411/446 2064/3371/446 +f 2064/3371/446 2095/3412/446 2065/3372/446 +f 2065/3372/446 2096/3413/446 2066/3373/446 +f 2066/3373/446 2093/3410/446 2064/3371/446 +s 1 +f 2097/3414/455 1936/3415/456 2098/3416/456 +f 1936/3417/457 2099/3418/458 2098/3419/457 +f 1946/3420/459 2100/3421/447 2099/3418/458 +f 1948/3422/447 2101/3423/460 2100/3421/447 +f 2010/3424/461 2102/3425/462 2101/3423/460 +f 2005/3426/463 2103/3427/445 2102/3425/462 +f 2103/3427/445 2016/3428/464 2104/3429/465 +f 2104/3429/465 1995/3430/466 2105/3431/467 +f 2105/3431/467 1993/3432/446 2106/3433/446 +f 2106/3433/446 1944/3434/468 2097/3414/455 +f 2102/3435/469 2020/3436/443 2021/3437/469 +f 2107/3438/470 2021/3437/469 2034/3439/470 +f 2108/3440/446 1958/3441/468 1965/3442/446 +f 2106/3433/446 2109/3443/455 2108/3440/446 +f 2110/3444/467 1965/3442/446 2001/3445/466 +f 2105/3431/467 2108/3440/446 2110/3444/467 +f 2111/3446/465 2001/3445/466 2006/3447/464 +f 2104/3429/465 2110/3444/467 2111/3446/465 +f 2112/3448/445 2006/3447/464 2011/3449/445 +f 2112/3450/444 2034/3439/470 2035/3451/444 +f 2013/3452/463 2112/3448/445 2011/3449/445 +f 2111/3453/471 2035/3451/444 2046/3454/471 +f 1988/3455/461 2107/3456/462 2013/3452/463 +f 2101/3423/460 2107/3456/462 2113/3457/460 +f 1986/3458/447 2113/3457/460 1988/3455/461 +f 2100/3421/447 2113/3457/460 2114/3459/447 +f 1979/3460/459 2114/3459/447 1986/3458/447 +f 2099/3418/458 2114/3459/447 2115/3461/458 +f 1932/3462/457 2115/3461/458 1979/3460/459 +f 2098/3419/457 2115/3461/458 2116/3463/457 +f 2109/3443/455 1932/3464/456 1958/3441/468 +f 2097/3414/455 2116/3465/456 2109/3443/455 +f 2103/3466/443 1951/3467/472 2020/3436/443 +f 2104/3468/472 2046/3469/471 1951/3467/472 +f 2117/3470/473 2068/3471/449 2118/3472/449 +f 2068/3471/449 2119/3473/474 2118/3472/449 +f 2067/3474/474 2120/3475/444 2119/3476/474 +f 2071/3477/444 2121/3478/475 2120/3475/444 +f 2051/3479/475 2122/3480/445 2121/3478/475 +f 2070/3481/445 2123/3482/476 2122/3480/445 +f 2050/3483/476 2124/3484/443 2123/3482/476 +f 2069/3485/443 2117/3470/473 2124/3484/443 +f 2125/3486/473 2073/3487/449 2126/3488/449 +f 2073/3487/449 2127/3489/474 2126/3488/449 +f 2072/3490/474 2128/3491/444 2127/3492/474 +f 2076/3493/444 2129/3494/475 2128/3491/444 +f 2054/3495/475 2130/3496/445 2129/3494/475 +f 2075/3497/445 2131/3498/476 2130/3496/445 +f 2053/3499/476 2132/3500/443 2131/3498/476 +f 2074/3501/443 2125/3486/473 2132/3500/443 +f 2133/3502/473 2078/3503/449 2134/3504/449 +f 2078/3503/449 2135/3505/474 2134/3504/449 +f 2077/3506/474 2136/3507/444 2135/3508/474 +f 2081/3509/444 2137/3510/475 2136/3507/444 +f 2057/3511/475 2138/3512/445 2137/3510/475 +f 2080/3513/445 2139/3514/476 2138/3512/445 +f 2056/3515/476 2140/3516/443 2139/3514/476 +f 2079/3517/443 2133/3502/473 2140/3516/443 +f 2141/3518/449 2060/3519/473 2142/3520/473 +f 2143/3521/474 2082/3522/449 2141/3518/449 +f 2144/3523/444 2083/3524/474 2143/3525/474 +f 2145/3526/475 2084/3527/444 2144/3523/444 +f 2146/3528/445 2058/3529/475 2145/3526/475 +f 2146/3528/445 2059/3530/476 2085/3531/445 +f 2147/3532/443 2059/3530/476 2148/3533/476 +f 2142/3520/473 2086/3534/443 2147/3532/443 +f 2149/3535/449 2063/3536/473 2150/3537/473 +f 2151/3538/474 2087/3539/449 2149/3535/449 +f 2152/3540/444 2088/3541/474 2151/3542/474 +f 2153/3543/475 2089/3544/444 2152/3540/444 +f 2154/3545/445 2061/3546/475 2153/3543/475 +f 2154/3545/445 2062/3547/476 2090/3548/445 +f 2155/3549/443 2062/3547/476 2156/3550/476 +f 2150/3537/473 2091/3551/443 2155/3549/443 +f 2157/3552/449 2066/3553/473 2158/3554/473 +f 2159/3555/474 2092/3556/449 2157/3552/449 +f 2160/3557/444 2093/3558/474 2159/3559/474 +f 2161/3560/475 2094/3561/444 2160/3557/444 +f 2162/3562/445 2064/3563/475 2161/3560/475 +f 2162/3562/445 2065/3564/476 2095/3565/445 +f 2163/3566/443 2065/3564/476 2164/3567/476 +f 2158/3554/473 2096/3568/443 2163/3566/443 +f 2097/3414/455 1944/3434/468 1936/3415/456 +f 1936/3417/457 1946/3420/459 2099/3418/458 +f 1946/3420/459 1948/3422/447 2100/3421/447 +f 1948/3422/447 2010/3424/461 2101/3423/460 +f 2010/3424/461 2005/3426/463 2102/3425/462 +f 2005/3426/463 2014/3569/445 2103/3427/445 +f 2103/3427/445 2014/3569/445 2016/3428/464 +f 2104/3429/465 2016/3428/464 1995/3430/466 +f 2105/3431/467 1995/3430/466 1993/3432/446 +f 2106/3433/446 1993/3432/446 1944/3434/468 +f 2102/3435/469 2103/3466/443 2020/3436/443 +f 2107/3438/470 2102/3435/469 2021/3437/469 +f 2108/3440/446 2109/3443/455 1958/3441/468 +f 2106/3433/446 2097/3414/455 2109/3443/455 +f 2110/3444/467 2108/3440/446 1965/3442/446 +f 2105/3431/467 2106/3433/446 2108/3440/446 +f 2111/3446/465 2110/3444/467 2001/3445/466 +f 2104/3429/465 2105/3431/467 2110/3444/467 +f 2112/3448/445 2111/3446/465 2006/3447/464 +f 2112/3450/444 2107/3438/470 2034/3439/470 +f 2013/3452/463 2107/3456/462 2112/3448/445 +f 2111/3453/471 2112/3450/444 2035/3451/444 +f 1988/3455/461 2113/3457/460 2107/3456/462 +f 2101/3423/460 2102/3425/462 2107/3456/462 +f 1986/3458/447 2114/3459/447 2113/3457/460 +f 2100/3421/447 2101/3423/460 2113/3457/460 +f 1979/3460/459 2115/3461/458 2114/3459/447 +f 2099/3418/458 2100/3421/447 2114/3459/447 +f 1932/3462/457 2116/3463/457 2115/3461/458 +f 2098/3419/457 2099/3418/458 2115/3461/458 +f 2109/3443/455 2116/3465/456 1932/3464/456 +f 2097/3414/455 2098/3416/456 2116/3465/456 +f 2103/3466/443 2104/3468/472 1951/3467/472 +f 2104/3468/472 2111/3570/471 2046/3469/471 +f 2117/3470/473 2049/3571/473 2068/3471/449 +f 2068/3471/449 2067/3572/474 2119/3473/474 +f 2067/3474/474 2071/3477/444 2120/3475/444 +f 2071/3477/444 2051/3479/475 2121/3478/475 +f 2051/3479/475 2070/3481/445 2122/3480/445 +f 2070/3481/445 2050/3483/476 2123/3482/476 +f 2050/3483/476 2069/3485/443 2124/3484/443 +f 2069/3485/443 2049/3571/473 2117/3470/473 +f 2125/3486/473 2052/3573/473 2073/3487/449 +f 2073/3487/449 2072/3574/474 2127/3489/474 +f 2072/3490/474 2076/3493/444 2128/3491/444 +f 2076/3493/444 2054/3495/475 2129/3494/475 +f 2054/3495/475 2075/3497/445 2130/3496/445 +f 2075/3497/445 2053/3499/476 2131/3498/476 +f 2053/3499/476 2074/3501/443 2132/3500/443 +f 2074/3501/443 2052/3573/473 2125/3486/473 +f 2133/3502/473 2055/3575/473 2078/3503/449 +f 2078/3503/449 2077/3576/474 2135/3505/474 +f 2077/3506/474 2081/3509/444 2136/3507/444 +f 2081/3509/444 2057/3511/475 2137/3510/475 +f 2057/3511/475 2080/3513/445 2138/3512/445 +f 2080/3513/445 2056/3515/476 2139/3514/476 +f 2056/3515/476 2079/3517/443 2140/3516/443 +f 2079/3517/443 2055/3575/473 2133/3502/473 +f 2141/3518/449 2082/3522/449 2060/3519/473 +f 2143/3521/474 2083/3577/474 2082/3522/449 +f 2144/3523/444 2084/3527/444 2083/3524/474 +f 2145/3526/475 2058/3529/475 2084/3527/444 +f 2146/3528/445 2085/3531/445 2058/3529/475 +f 2146/3528/445 2148/3533/476 2059/3530/476 +f 2147/3532/443 2086/3534/443 2059/3530/476 +f 2142/3520/473 2060/3519/473 2086/3534/443 +f 2149/3535/449 2087/3539/449 2063/3536/473 +f 2151/3538/474 2088/3578/474 2087/3539/449 +f 2152/3540/444 2089/3544/444 2088/3541/474 +f 2153/3543/475 2061/3546/475 2089/3544/444 +f 2154/3545/445 2090/3548/445 2061/3546/475 +f 2154/3545/445 2156/3550/476 2062/3547/476 +f 2155/3549/443 2091/3551/443 2062/3547/476 +f 2150/3537/473 2063/3536/473 2091/3551/443 +f 2157/3552/449 2092/3556/449 2066/3553/473 +f 2159/3555/474 2093/3579/474 2092/3556/449 +f 2160/3557/444 2094/3561/444 2093/3558/474 +f 2161/3560/475 2064/3563/475 2094/3561/444 +f 2162/3562/445 2095/3565/445 2064/3563/475 +f 2162/3562/445 2164/3567/476 2065/3564/476 +f 2163/3566/443 2096/3568/443 2065/3564/476 +f 2158/3554/473 2066/3553/473 2096/3568/443 +o BipodHingeLeft +v 0.187492 -0.499997 -0.750000 +v 0.187492 -0.374997 -1.250000 +v 0.187492 -0.499997 -1.250000 +v 0.312492 -0.499997 -0.750000 +v 0.187492 -0.374997 -0.750000 +v 0.437492 -0.874997 -1.250000 +v 0.312492 -0.499997 -1.250000 +v 0.437492 -0.499997 -1.250000 +v 0.312492 -0.374997 -1.250000 +v 0.312492 -0.374997 -0.750000 +v 0.437492 -0.374997 -0.750000 +v 0.437492 -0.499997 -0.750000 +v 0.437492 -0.374997 -1.250000 +v 0.312492 -0.874997 -0.750000 +v 0.312492 -0.874997 -1.250000 +v 0.437492 -0.874997 -0.750000 +vt 0.930394 0.326389 +vt 0.948956 0.312500 +vt 0.948956 0.326389 +vt 0.925754 0.298611 +vt 0.930394 0.312500 +vt 0.925754 0.312500 +vt 0.948956 0.229167 +vt 0.953596 0.270833 +vt 0.948956 0.270833 +vt 0.953596 0.312500 +vt 0.948956 0.298611 +vt 0.953596 0.298611 +vt 0.930394 0.340278 +vt 0.930394 0.298611 +vt 0.930394 0.284722 +vt 0.930394 0.270833 +vt 0.948956 0.284722 +vt 0.930394 0.215278 +vt 0.948956 0.215278 +vt 0.930394 0.229167 +vt 0.953596 0.229167 +vt 0.972158 0.270833 +vt 0.925754 0.229167 +vt 0.925754 0.270833 +vt 0.948956 0.340278 +vt 0.925754 0.284722 +vt 0.953596 0.284722 +vt 0.972158 0.229167 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 -0.0000 +s off +f 2165/3580/477 2166/3581/477 2167/3582/477 +f 2168/3583/478 2169/3584/478 2165/3585/478 +f 2170/3586/479 2171/3587/479 2172/3588/479 +f 2167/3589/479 2173/3590/479 2171/3591/479 +f 2167/3582/480 2168/3592/480 2165/3580/480 +f 2173/3590/481 2169/3584/481 2174/3593/481 +f 2172/3588/482 2175/3594/482 2176/3595/482 +f 2175/3594/481 2173/3590/481 2174/3593/481 +f 2168/3583/478 2175/3594/478 2174/3593/478 +f 2177/3596/479 2171/3591/479 2173/3590/479 +f 2170/3586/480 2178/3597/480 2179/3598/480 +f 2180/3599/482 2172/3588/482 2176/3595/482 +f 2179/3600/477 2168/3601/477 2171/3587/477 +f 2178/3602/478 2176/3595/478 2168/3603/478 +f 2165/3580/477 2169/3584/477 2166/3581/477 +f 2168/3583/478 2174/3593/478 2169/3584/478 +f 2170/3586/479 2179/3600/479 2171/3587/479 +f 2167/3589/479 2166/3581/479 2173/3590/479 +f 2167/3582/480 2171/3604/480 2168/3592/480 +f 2173/3590/481 2166/3581/481 2169/3584/481 +f 2172/3588/482 2177/3596/482 2175/3594/482 +f 2175/3594/481 2177/3596/481 2173/3590/481 +f 2168/3583/478 2176/3605/478 2175/3594/478 +f 2177/3596/479 2172/3606/479 2171/3591/479 +f 2170/3586/480 2180/3599/480 2178/3597/480 +f 2180/3599/482 2170/3586/482 2172/3588/482 +f 2179/3600/477 2178/3607/477 2168/3601/477 +f 2178/3602/478 2180/3599/478 2176/3595/478 +o BipodLeft +v 0.468744 -0.374996 3.187500 +v 0.437494 -0.437496 3.125000 +v 0.437494 -0.437496 3.187500 +v 0.843744 -0.374996 3.187500 +v 0.531244 -0.374996 3.125000 +v 0.531244 -0.374996 3.187500 +v 0.843744 -0.874997 3.187500 +v 0.843744 -0.812497 3.125000 +v 0.843744 -0.812497 3.187500 +v 0.468744 -0.874997 3.187500 +v 0.531244 -0.874997 3.125000 +v 0.531244 -0.874997 3.187500 +v 0.531244 -0.812497 3.187500 +v 0.531244 -0.812497 3.125000 +v 0.468744 -0.874997 3.125000 +v 0.437494 -0.812497 3.125000 +v 0.531244 -0.624997 3.125000 +v 0.531244 -0.437496 3.125000 +v 0.531244 -0.624997 3.187500 +v 0.843744 -0.437496 3.187500 +v 0.531244 -0.437496 3.187500 +v 0.843744 -0.624997 3.187500 +v 0.843744 -0.437496 3.125000 +v 0.343744 -0.624997 3.187500 +v 0.437494 -0.812497 3.187500 +v 0.531244 -0.624997 3.312500 +v 0.843744 -0.624997 3.125000 +v 0.843744 -0.874997 3.125000 +v 0.468744 -0.374996 3.125000 +v 0.531244 -0.437496 3.312500 +v 0.343744 -0.624997 3.125000 +v 0.843744 -0.374996 3.125000 +v 0.437494 -0.437496 3.312500 +v 0.437494 -0.812497 3.312500 +v 0.343744 -0.624997 3.312498 +v 0.531244 -0.812497 3.312500 +v 0.437492 -0.437497 -0.312500 +v 0.437492 -0.812497 -1.187500 +v 0.437492 -0.812497 -0.312500 +v 0.624992 -0.437497 -0.312500 +v 0.437492 -0.437497 -1.187500 +v 0.624992 -0.812497 -1.187500 +v 0.624992 -0.437497 -1.187500 +v 0.624992 -0.812497 -0.312500 +v 0.593744 -0.718747 -0.000000 +v 0.593744 -0.531247 -0.000000 +v 0.468743 -0.718747 -0.000000 +v 0.406243 -0.437497 0.625000 +v 0.343743 -0.562497 -0.000000 +v 0.343743 -0.562497 0.625000 +v 0.718743 -0.437497 -0.000000 +v 0.406243 -0.437497 -0.000000 +v 0.718743 -0.812497 0.625000 +v 0.718743 -0.687497 -0.000000 +v 0.718743 -0.687497 0.625000 +v 0.406243 -0.812497 0.625000 +v 0.718743 -0.812497 -0.000000 +v 0.343743 -0.687497 0.625000 +v 0.406243 -0.812497 -0.000000 +v 0.343743 -0.687497 -0.000000 +v 0.718743 -0.562497 -0.000000 +v 0.718743 -0.562497 0.625000 +v 0.718743 -0.437497 0.625000 +v 0.843743 -0.687497 0.312500 +v 0.843743 -0.562497 0.312500 +v 0.781243 -0.406247 0.356695 +v 0.781243 -0.406247 0.268306 +v 0.737049 -0.406247 0.312500 +v 0.781243 -0.843747 0.356695 +v 0.781243 -0.843747 0.268307 +v 0.825437 -0.843747 0.312500 +v 0.468743 -0.531247 -0.000000 +v 0.825437 -0.406247 0.312500 +v 0.737049 -0.843747 0.312500 +v 0.415760 -0.509512 3.125000 +v 0.367923 -0.624997 0.625000 +v 0.367924 -0.624997 3.125000 +v 0.531244 -0.461677 3.125000 +v 0.415759 -0.509512 0.625000 +v 0.646729 -0.509512 3.125000 +v 0.531244 -0.461677 0.625000 +v 0.694564 -0.624997 3.125000 +v 0.646728 -0.509512 0.625000 +v 0.646729 -0.740481 3.125000 +v 0.694564 -0.624997 0.625000 +v 0.531244 -0.788317 3.125000 +v 0.646728 -0.740482 0.625000 +v 0.415760 -0.740481 3.125000 +v 0.531244 -0.788317 0.625000 +v 0.415759 -0.740482 0.625000 +vt 0.877030 0.340278 +vt 0.874710 0.333333 +vt 0.877030 0.333333 +vt 0.893271 0.416667 +vt 0.904872 0.409722 +vt 0.904872 0.416667 +vt 0.890951 0.354167 +vt 0.893271 0.361111 +vt 0.890951 0.361111 +vt 0.907193 0.347222 +vt 0.904872 0.354167 +vt 0.904872 0.347222 +vt 0.879350 0.354167 +vt 0.879350 0.361111 +vt 0.904872 0.361111 +vt 0.907193 0.354167 +vt 0.908353 0.361111 +vt 0.904872 0.381944 +vt 0.908353 0.402778 +vt 0.904872 0.402778 +vt 0.879350 0.381944 +vt 0.890951 0.402778 +vt 0.879350 0.402778 +vt 0.890951 0.381944 +vt 0.893271 0.402778 +vt 0.877030 0.312500 +vt 0.874710 0.291667 +vt 0.877030 0.291667 +vt 0.888631 0.312500 +vt 0.893271 0.291667 +vt 0.893271 0.312500 +vt 0.893271 0.381944 +vt 0.893271 0.354167 +vt 0.877030 0.354167 +vt 0.875870 0.361111 +vt 0.893271 0.347222 +vt 0.907193 0.409722 +vt 0.907193 0.416667 +vt 0.888631 0.333333 +vt 0.893271 0.333333 +vt 0.874710 0.284722 +vt 0.877030 0.284722 +vt 0.911833 0.381944 +vt 0.893271 0.409722 +vt 0.877030 0.409722 +vt 0.879350 0.409722 +vt 0.890951 0.409722 +vt 0.874710 0.312500 +vt 0.885151 0.333333 +vt 0.885151 0.291667 +vt 0.881671 0.312500 +vt 0.885151 0.347222 +vt 0.888631 0.347222 +vt 0.888631 0.291667 +vt 0.885151 0.277778 +vt 0.888631 0.277778 +vt 0.921114 0.041667 +vt 0.907192 0.138889 +vt 0.907192 0.041667 +vt 0.928074 0.041667 +vt 0.921114 0.138889 +vt 0.941995 0.138889 +vt 0.928074 0.138889 +vt 0.948956 0.041667 +vt 0.941995 0.041667 +vt 0.943155 0.006944 +vt 0.928074 0.159722 +vt 0.926914 0.006944 +vt 0.910673 0.006944 +vt 0.931554 0.006944 +vt 0.867749 0.111111 +vt 0.863109 0.180556 +vt 0.863109 0.111111 +vt 0.879350 0.180556 +vt 0.867749 0.180556 +vt 0.893271 0.111111 +vt 0.888631 0.180556 +vt 0.888631 0.111111 +vt 0.904872 0.111111 +vt 0.893271 0.180556 +vt 0.893271 0.076389 +vt 0.888631 0.069444 +vt 0.893271 0.215278 +vt 0.888631 0.222222 +vt 0.883991 0.180556 +vt 0.879350 0.215278 +vt 0.883991 0.222222 +vt 0.879350 0.076389 +vt 0.883991 0.111111 +vt 0.879350 0.111111 +vt 0.883991 0.069444 +vt 0.844548 0.618056 +vt 0.849188 0.583333 +vt 0.844548 0.548611 +vt 0.853828 0.111111 +vt 0.858469 0.180556 +vt 0.853828 0.180556 +vt 0.858469 0.111111 +vt 0.853828 0.583333 +vt 0.849188 0.618056 +vt 0.853828 0.618056 +vt 0.853828 0.548611 +vt 0.849188 0.548611 +vt 0.858469 0.548611 +vt 0.858469 0.618056 +vt 0.816705 0.187500 +vt 0.819026 0.194444 +vt 0.819026 0.187500 +vt 0.800464 0.187500 +vt 0.798144 0.194444 +vt 0.800464 0.194444 +vt 0.874710 0.340278 +vt 0.875870 0.402778 +vt 0.881671 0.333333 +vt 0.881671 0.291667 +vt 0.948956 0.138889 +vt 0.947796 0.006944 +vt 0.941995 0.159722 +vt 0.922274 0.006944 +vt 0.917633 0.006944 +vt 0.938515 0.006944 +vt 0.904872 0.180556 +vt 0.816705 0.194444 +vt 0.798144 0.187500 +vt 0.851508 0.090278 +vt 0.758701 0.104167 +vt 0.851508 0.104167 +vt 0.851508 0.076389 +vt 0.758701 0.090278 +vt 0.851508 0.062500 +vt 0.758701 0.076389 +vt 0.851508 0.048611 +vt 0.758701 0.062500 +vt 0.851508 0.034722 +vt 0.758701 0.048611 +vt 0.851508 0.020833 +vt 0.758701 0.034722 +vt 0.851508 0.118056 +vt 0.758701 0.131944 +vt 0.851508 0.131944 +vt 0.758701 0.118056 +vt 0.800464 0.208333 +vt 0.816705 0.201389 +vt 0.800464 0.201389 +vt 0.800464 0.180556 +vt 0.816705 0.180556 +vt 0.758701 0.020833 +vt 0.816705 0.208333 +vn -0.8944 0.4472 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.0000 -1.0000 +vn -0.8944 -0.4472 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -0.9578 0.2873 +vn 0.0000 0.9578 0.2873 +vn -0.9950 0.0000 0.0995 +vn 0.9950 0.0000 0.0995 +vn 0.9285 0.0000 -0.3714 +vn 0.9285 0.0000 0.3714 +vn -0.7071 0.7071 0.0000 +vn 0.7071 0.7071 -0.0000 +vn 0.7071 -0.7071 -0.0000 +vn -0.7071 -0.7071 0.0000 +s off +f 2181/3608/483 2182/3609/483 2183/3610/483 +f 2184/3611/484 2185/3612/484 2186/3613/484 +f 2187/3614/485 2188/3615/485 2189/3616/485 +f 2190/3617/486 2191/3618/486 2192/3619/486 +f 2192/3620/487 2189/3616/487 2193/3621/487 +f 2194/3622/488 2195/3623/488 2196/3624/488 +f 2197/3625/488 2182/3626/488 2198/3627/488 +f 2199/3628/487 2200/3629/487 2201/3630/487 +f 2202/3631/485 2203/3632/485 2200/3629/485 +f 2204/3633/489 2196/3634/489 2205/3635/489 +f 2206/3636/485 2193/3637/485 2199/3638/485 +f 2207/3639/488 2198/3627/488 2203/3632/488 +f 2208/3640/488 2194/3622/488 2188/3615/488 +f 2190/3641/487 2193/3621/487 2205/3642/487 +f 2192/3619/486 2208/3640/486 2187/3643/486 +f 2186/3613/484 2209/3644/484 2181/3645/484 +f 2210/3646/485 2199/3638/485 2201/3647/485 +f 2188/3615/488 2197/3625/488 2207/3639/488 +f 2205/3635/489 2195/3648/489 2190/3649/489 +f 2197/3625/488 2196/3624/488 2211/3650/488 +f 2193/3621/487 2202/3631/487 2199/3628/487 +f 2189/3616/485 2207/3639/485 2202/3631/485 +f 2203/3632/488 2185/3612/488 2212/3651/488 +f 2181/3652/487 2201/3630/487 2186/3653/487 +f 2200/3629/485 2212/3651/485 2184/3654/485 +f 2201/3630/487 2184/3654/487 2186/3653/487 +f 2198/3627/488 2209/3644/488 2185/3612/488 +f 2183/3610/483 2211/3655/483 2204/3633/483 +f 2213/3656/487 2206/3636/487 2210/3646/487 +f 2214/3657/487 2206/3636/487 2215/3658/487 +f 2183/3659/484 2210/3646/484 2201/3660/484 +f 2216/3661/486 2205/3662/486 2193/3663/486 +f 2215/3658/483 2183/3610/483 2204/3633/483 +f 2205/3635/489 2215/3658/489 2204/3633/489 +f 2217/3664/490 2218/3665/490 2219/3666/490 +f 2220/3667/484 2221/3668/484 2217/3664/484 +f 2220/3667/485 2222/3669/485 2223/3670/485 +f 2219/3671/486 2222/3669/486 2224/3672/486 +f 2225/3673/491 2219/3671/491 2224/3672/491 +f 2222/3669/488 2221/3674/488 2223/3670/488 +f 2217/3664/492 2226/3675/492 2220/3667/492 +f 2227/3676/493 2217/3664/493 2219/3666/493 +f 2226/3677/494 2224/3672/494 2220/3667/494 +f 2228/3678/483 2229/3679/483 2230/3680/483 +f 2228/3678/484 2231/3681/484 2232/3682/484 +f 2233/3683/485 2234/3684/485 2235/3685/485 +f 2236/3686/486 2237/3687/486 2233/3683/486 +f 2236/3688/487 2235/3685/487 2238/3689/487 +f 2234/3684/488 2239/3690/488 2240/3691/488 +f 2241/3692/488 2232/3693/488 2231/3681/488 +f 2234/3684/488 2229/3694/488 2241/3692/488 +f 2228/3695/487 2242/3696/487 2243/3697/487 +f 2238/3689/487 2242/3696/487 2230/3698/487 +f 2242/3696/485 2231/3681/485 2243/3697/485 +f 2234/3699/486 2244/3700/486 2235/3701/486 +f 2236/3702/489 2240/3703/489 2239/3704/489 +f 2230/3680/490 2240/3703/490 2238/3705/490 +f 2245/3706/495 2234/3707/495 2241/3708/495 +f 2244/3700/496 2242/3709/496 2235/3710/496 +f 2242/3711/484 2245/3706/484 2241/3712/484 +f 2246/3713/484 2247/3714/484 2248/3715/484 +f 2249/3716/486 2250/3717/486 2251/3718/486 +f 2181/3608/483 2209/3719/483 2182/3609/483 +f 2184/3611/484 2212/3651/484 2185/3612/484 +f 2187/3614/485 2208/3640/485 2188/3615/485 +f 2190/3617/486 2195/3623/486 2191/3618/486 +f 2192/3620/487 2187/3614/487 2189/3616/487 +f 2194/3622/488 2191/3618/488 2195/3623/488 +f 2197/3625/488 2211/3650/488 2182/3626/488 +f 2199/3628/487 2202/3631/487 2200/3629/487 +f 2202/3631/485 2207/3639/485 2203/3632/485 +f 2204/3633/489 2211/3655/489 2196/3634/489 +f 2206/3636/485 2216/3661/485 2193/3637/485 +f 2207/3639/488 2197/3625/488 2198/3627/488 +f 2208/3640/488 2191/3618/488 2194/3622/488 +f 2190/3641/487 2192/3620/487 2193/3621/487 +f 2192/3619/486 2191/3618/486 2208/3640/486 +f 2186/3613/484 2185/3612/484 2209/3644/484 +f 2210/3646/485 2206/3636/485 2199/3638/485 +f 2188/3615/488 2194/3622/488 2197/3625/488 +f 2205/3635/489 2196/3634/489 2195/3648/489 +f 2197/3625/488 2194/3622/488 2196/3624/488 +f 2193/3621/487 2189/3616/487 2202/3631/487 +f 2189/3616/485 2188/3615/485 2207/3639/485 +f 2203/3632/488 2198/3627/488 2185/3612/488 +f 2181/3652/487 2183/3720/487 2201/3630/487 +f 2200/3629/485 2203/3632/485 2212/3651/485 +f 2201/3630/487 2200/3629/487 2184/3654/487 +f 2198/3627/488 2182/3626/488 2209/3644/488 +f 2183/3610/483 2182/3609/483 2211/3655/483 +f 2213/3656/487 2215/3658/487 2206/3636/487 +f 2214/3657/487 2216/3661/487 2206/3636/487 +f 2183/3659/484 2213/3656/484 2210/3646/484 +f 2216/3661/486 2214/3657/486 2205/3662/486 +f 2215/3658/483 2213/3721/483 2183/3610/483 +f 2205/3635/489 2214/3722/489 2215/3658/489 +f 2217/3664/490 2221/3668/490 2218/3665/490 +f 2220/3667/484 2223/3670/484 2221/3668/484 +f 2220/3667/485 2224/3672/485 2222/3669/485 +f 2219/3671/486 2218/3723/486 2222/3669/486 +f 2225/3673/491 2227/3724/491 2219/3671/491 +f 2222/3669/488 2218/3725/488 2221/3674/488 +f 2217/3664/492 2252/3726/492 2226/3675/492 +f 2227/3676/493 2252/3727/493 2217/3664/493 +f 2226/3677/494 2225/3728/494 2224/3672/494 +f 2228/3678/483 2232/3682/483 2229/3679/483 +f 2228/3678/484 2243/3697/484 2231/3681/484 +f 2233/3683/485 2237/3687/485 2234/3684/485 +f 2236/3686/486 2239/3729/486 2237/3687/486 +f 2236/3688/487 2233/3683/487 2235/3685/487 +f 2234/3684/488 2237/3687/488 2239/3690/488 +f 2241/3692/488 2229/3694/488 2232/3693/488 +f 2234/3684/488 2240/3691/488 2229/3694/488 +f 2228/3695/487 2230/3698/487 2242/3696/487 +f 2238/3689/487 2235/3685/487 2242/3696/487 +f 2242/3696/485 2241/3692/485 2231/3681/485 +f 2236/3702/489 2238/3705/489 2240/3703/489 +f 2230/3680/490 2229/3679/490 2240/3703/490 +f 2245/3706/495 2244/3700/495 2234/3707/495 +f 2244/3700/496 2245/3706/496 2242/3709/496 +f 2246/3713/484 2253/3730/484 2247/3714/484 +f 2249/3716/486 2254/3731/486 2250/3717/486 +s 1 +f 2255/3732/497 2256/3733/490 2257/3734/490 +f 2258/3735/484 2259/3736/497 2255/3732/497 +f 2260/3737/498 2261/3738/484 2258/3735/484 +f 2262/3739/485 2263/3740/498 2260/3737/498 +f 2264/3741/499 2265/3742/485 2262/3739/485 +f 2266/3743/486 2267/3744/499 2264/3741/499 +f 2268/3745/500 2269/3746/486 2266/3747/486 +f 2257/3734/490 2270/3748/500 2268/3745/500 +f 2254/3749/490 2247/3750/488 2250/3751/488 +f 2249/3716/487 2253/3730/485 2246/3713/487 +f 2254/3752/490 2246/3713/487 2248/3753/490 +f 2251/3718/485 2247/3750/488 2253/3730/485 +f 2255/3732/497 2259/3736/497 2256/3733/490 +f 2258/3735/484 2261/3738/484 2259/3736/497 +f 2260/3737/498 2263/3740/498 2261/3738/484 +f 2262/3739/485 2265/3742/485 2263/3740/498 +f 2264/3741/499 2267/3744/499 2265/3742/485 +f 2266/3743/486 2269/3754/486 2267/3744/499 +f 2268/3745/500 2270/3748/500 2269/3746/486 +f 2257/3734/490 2256/3733/490 2270/3748/500 +f 2254/3749/490 2248/3755/490 2247/3750/488 +f 2249/3716/487 2251/3718/485 2253/3730/485 +f 2254/3752/490 2249/3716/487 2246/3713/487 +f 2251/3718/485 2250/3751/488 2247/3750/488 diff --git a/src/main/resources/assets/hbm/models/weapons/animations/am180.json b/src/main/resources/assets/hbm/models/weapons/animations/am180.json new file mode 100644 index 000000000..696b981a7 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/animations/am180.json @@ -0,0 +1 @@ +{"anim": {"Fire": {"Gun": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 11.111111442248026, 0.0, "AUTO_CLAMPED"], [0.049645546823740005, 33.333333333333336, "BEZIER", "AUTO", 22.22222089767456, 0.049645546823740005, "AUTO_CLAMPED", 61.111108462015785, 0.049645546823740005, "AUTO_CLAMPED"], [-0.0984705239534378, 83.33333333333334, "BEZIER", "AUTO", 88.88889153798421, -0.0984705239534378, "AUTO_CLAMPED", 155.5555502573649, -0.0984705239534378, "AUTO_CLAMPED"], [0.0, 116.66666666666667, "BEZIER", "AUTO", 194.44444974263507, 0.0, "AUTO_CLAMPED", 272.2222328186035, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 11.111111442248026, -0.0, "AUTO_CLAMPED"], [-0.11763561517000198, 33.333333333333336, "BEZIER", "AUTO", 22.22222089767456, -0.06207846477627754, "AUTO_CLAMPED", 61.111108462015785, -0.25652849674224854, "AUTO_CLAMPED"], [-0.35466307401657104, 83.33333333333334, "BEZIER", "AUTO", 88.88889153798421, -0.35466307401657104, "AUTO_CLAMPED", 155.5555502573649, -0.35466307401657104, "AUTO_CLAMPED"], [-0.0, 116.66666666666667, "BEZIER", "AUTO", 194.44444974263507, -0.0, "AUTO_CLAMPED", 272.2222328186035, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 11.111111442248026, 0.0, "AUTO_CLAMPED"], [0.137577086687088, 33.333333333333336, "BEZIER", "AUTO", 22.22222089767456, 0.137577086687088, "AUTO_CLAMPED", 61.111108462015785, 0.137577086687088, "AUTO_CLAMPED"], [0.027738595381379128, 83.33333333333334, "BEZIER", "AUTO", 88.88889153798421, 0.04755187779664993, "AUTO_CLAMPED", 155.5555502573649, 0.0, "AUTO_CLAMPED"], [0.0, 116.66666666666667, "BEZIER", "AUTO", 194.44444974263507, 0.0, "AUTO_CLAMPED", 272.2222328186035, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 11.111111442248026, 0.0, "AUTO_CLAMPED"], [-1.5968555392666686, 33.333333333333336, "BEZIER", "AUTO", 22.22222089767456, -1.5968555392666686, "AUTO_CLAMPED", 61.111108462015785, -1.5968555392666686, "AUTO_CLAMPED"], [-0.2641522033845276, 83.33333333333334, "BEZIER", "AUTO", 88.88889153798421, -0.4528323639051482, "AUTO_CLAMPED", 155.5555502573649, 0.0, "AUTO_CLAMPED"], [0.0, 116.66666666666667, "BEZIER", "AUTO", 194.44444974263507, 0.0, "AUTO_CLAMPED", 272.2222328186035, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 11.111111442248026, -0.0, "AUTO_CLAMPED"], [0.8132398352613003, 33.333333333333336, "BEZIER", "AUTO", 22.22222089767456, 0.8132398352613003, "AUTO_CLAMPED", 61.111108462015785, 0.8132398352613003, "AUTO_CLAMPED"], [-2.1020325519800904, 83.33333333333334, "BEZIER", "AUTO", 88.88889153798421, -2.1020325519800904, "AUTO_CLAMPED", 155.5555502573649, -2.1020325519800904, "AUTO_CLAMPED"], [-0.0, 116.66666666666667, "BEZIER", "AUTO", 194.44444974263507, -0.0, "AUTO_CLAMPED", 272.2222328186035, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 11.111111442248026, 0.0, "AUTO_CLAMPED"], [0.11745385395824333, 33.333333333333336, "BEZIER", "AUTO", 22.22222089767456, 0.11745385395824333, "AUTO_CLAMPED", 61.111108462015785, 0.11745385395824333, "AUTO_CLAMPED"], [0.07823202625797401, 83.33333333333334, "BEZIER", "AUTO", 88.88889153798421, 0.10131339657798917, "AUTO_CLAMPED", 155.5555502573649, 0.045918111145006095, "AUTO_CLAMPED"], [0.0, 116.66666666666667, "BEZIER", "AUTO", 194.44444974263507, 0.0, "AUTO_CLAMPED", 272.2222328186035, 0.0, "AUTO_CLAMPED"]]}}, "Trigger": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.0, "AUTO_CLAMPED"]], "z": [[-1.5625001192092896, 0.0, "BEZIER", "AUTO", 16.666666666666668, -1.5625001192092896, "AUTO_CLAMPED"]], "y": [[1.111669898033142, 0.0, "BEZIER", "AUTO", 16.666666666666668, 1.111669898033142, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 5.555555721124013, 0.0, "AUTO_CLAMPED"], [29.4423193041891, 16.666666666666668, "BEZIER", "AUTO", 11.11111044883728, 29.4423193041891, "AUTO_CLAMPED", 38.888891537984215, 29.4423193041891, "AUTO_CLAMPED"], [29.4423193041891, 66.66666666666666, "BEZIER", "AUTO", 61.111108462015785, 29.4423193041891, "AUTO_CLAMPED", 133.33333333333334, 29.4423193041891, "AUTO_CLAMPED"], [0.0, 150.0, "BEZIER", "AUTO", 183.33333333333331, 0.0, "AUTO_CLAMPED", 283.3333333333333, 0.0, "AUTO_CLAMPED"]]}}}, "FireDry": {"Bolt": {"location": {"x": [[0.4437499940395355, 0.0, "BEZIER", "AUTO", 933.3333333333334, 0.4437499940395355, "AUTO_CLAMPED"]], "z": [[-1.8655332326889038, 0.0, "BEZIER", "AUTO", 122.22222487131755, -1.8655332326889038, "AUTO_CLAMPED"], [-1.8655332326889038, 366.66666666666663, "BEZIER", "EASE_IN", 244.44443384806314, -1.8655332326889038, "AUTO_CLAMPED", 405.55556615193683, -1.8655332326889038, "AUTO_CLAMPED"], [-3.3269410133361816, 116.66666666666669, "BEZIER", "AUTO", 444.44443384806317, -3.3269410133361816, "AUTO_CLAMPED", 516.6666666666666, -3.3269410133361816, "AUTO_CLAMPED"], [-3.3269410133361816, 100.00000000000006, "EXPO", "EASE_IN", 550.0, -3.3269410133361816, "AUTO_CLAMPED"], [-1.8655332326889038, 83.33333333333326, "BEZIER", "AUTO", 694.444465637207, -1.8655332326889038, "AUTO_CLAMPED"]], "y": [[1.8304203748703003, 0.0, "BEZIER", "AUTO", 933.3333333333334, 1.8304203748703003, "AUTO_CLAMPED"]]}}, "Gun": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 33.333333333333336, 0.0, "AUTO_CLAMPED"], [0.0, 100.0, "BEZIER", "AUTO", 66.66666666666667, 0.0, "AUTO_CLAMPED", 177.77776718139648, 0.0, "AUTO_CLAMPED"], [0.378823459148407, 233.33333333333331, "BEZIER", "AUTO", 255.55556615193686, 0.378823459148407, "AUTO_CLAMPED", 377.7777671813965, 0.378823459148407, "AUTO_CLAMPED"], [0.3284962773323059, 133.33333333333337, "BEZIER", "AUTO", 422.2222328186035, 0.378823459148407, "AUTO_CLAMPED", 505.5555661519369, 0.28446000814437866, "AUTO_CLAMPED"], [0.0780496671795845, 116.66666666666669, "BEZIER", "AUTO", 544.444465637207, 0.12340082228183746, "AUTO_CLAMPED", 605.555534362793, 0.052134718745946884, "AUTO_CLAMPED"], [0.052134718745946884, 66.66666666666663, "BEZIER", "AUTO", 627.7777989705403, 0.052134718745946884, "AUTO_CLAMPED", 677.7777989705404, 0.052134718745946884, "AUTO_CLAMPED"], [0.06624312698841095, 83.33333333333326, "BEZIER", "AUTO", 705.555534362793, 0.06624312698841095, "AUTO_CLAMPED", 794.444465637207, 0.06624312698841095, "AUTO_CLAMPED"], [0.0, 183.33333333333337, "BEZIER", "AUTO", 855.555534362793, 0.0, "AUTO_CLAMPED", 977.7777989705404, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 33.333333333333336, -0.0, "AUTO_CLAMPED"], [-0.0, 100.0, "BEZIER", "AUTO", 66.66666666666667, -0.0, "AUTO_CLAMPED", 177.77776718139648, -0.0, "AUTO_CLAMPED"], [0.3215503692626953, 233.33333333333331, "BEZIER", "AUTO", 255.55556615193686, 0.3215503692626953, "AUTO_CLAMPED", 377.7777671813965, 0.3215503692626953, "AUTO_CLAMPED"], [0.27883198857307434, 133.33333333333337, "BEZIER", "AUTO", 422.2222328186035, 0.3215503692626953, "AUTO_CLAMPED", 505.5555661519369, 0.2414534091949463, "AUTO_CLAMPED"], [-0.044656865298748016, 116.66666666666669, "BEZIER", "AUTO", 544.444465637207, -0.010165050625801086, "AUTO_CLAMPED", 605.555534362793, -0.06436647474765778, "AUTO_CLAMPED"], [-0.06436647474765778, 66.66666666666663, "BEZIER", "AUTO", 627.7777989705403, -0.06436647474765778, "AUTO_CLAMPED", 677.7777989705404, -0.06436647474765778, "AUTO_CLAMPED"], [0.21741850674152374, 83.33333333333326, "BEZIER", "AUTO", 705.555534362793, 0.21741850674152374, "AUTO_CLAMPED", 794.444465637207, 0.21741850674152374, "AUTO_CLAMPED"], [-0.0, 183.33333333333337, "BEZIER", "AUTO", 855.555534362793, -0.0, "AUTO_CLAMPED", 977.7777989705404, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 33.333333333333336, 0.0, "AUTO_CLAMPED"], [0.0, 100.0, "BEZIER", "AUTO", 66.66666666666667, 0.0, "AUTO_CLAMPED", 177.77776718139648, 0.0, "AUTO_CLAMPED"], [-0.03033590316772461, 233.33333333333331, "BEZIER", "AUTO", 255.55556615193686, -0.03033590316772461, "AUTO_CLAMPED", 377.7777671813965, -0.03033590316772461, "AUTO_CLAMPED"], [-0.013926569372415543, 133.33333333333337, "BEZIER", "AUTO", 422.2222328186035, -0.022176561877131462, "AUTO_CLAMPED", 505.5555661519369, -0.006707826163619757, "AUTO_CLAMPED"], [0.000580325722694397, 116.66666666666669, "BEZIER", "AUTO", 544.444465637207, 0.000580325722694397, "AUTO_CLAMPED", 605.555534362793, 0.000580325722694397, "AUTO_CLAMPED"], [-0.08202043920755386, 66.66666666666663, "BEZIER", "AUTO", 627.7777989705403, -0.08202043920755386, "AUTO_CLAMPED", 677.7777989705404, -0.08202043920755386, "AUTO_CLAMPED"], [0.007577709853649139, 83.33333333333326, "BEZIER", "AUTO", 705.555534362793, 0.007577709853649139, "AUTO_CLAMPED", 794.444465637207, 0.007577709853649139, "AUTO_CLAMPED"], [0.0, 183.33333333333337, "BEZIER", "AUTO", 855.555534362793, 0.0, "AUTO_CLAMPED", 977.7777989705404, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, 0.0, "AUTO_CLAMPED"], [0.0, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, 0.0, "AUTO_CLAMPED", 200.0, 0.0, "AUTO_CLAMPED"], [-9.762812852427766, 199.99999999999997, "BEZIER", "AUTO", 266.6666666666667, -9.762812852427766, "AUTO_CLAMPED", 377.7777671813965, -9.762812852427766, "AUTO_CLAMPED"], [-8.46581115546112, 133.33333333333337, "BEZIER", "AUTO", 422.2222328186035, -8.46581115546112, "AUTO_CLAMPED", 505.5555661519369, -8.46581115546112, "AUTO_CLAMPED"], [-9.922516335601005, 116.66666666666669, "BEZIER", "AUTO", 544.444465637207, -9.922516335601005, "AUTO_CLAMPED", 605.555534362793, -9.922516335601005, "AUTO_CLAMPED"], [-5.976405705364225, 66.66666666666663, "BEZIER", "AUTO", 627.7777989705403, -7.419544849151995, "AUTO_CLAMPED", 677.7777989705404, -4.172482309238042, "AUTO_CLAMPED"], [-3.5616000082690333, 83.33333333333326, "BEZIER", "AUTO", 705.555534362793, -4.02454510757062, "AUTO_CLAMPED", 794.444465637207, -2.5431206190508133, "AUTO_CLAMPED"], [0.0, 183.33333333333337, "BEZIER", "AUTO", 855.555534362793, 0.0, "AUTO_CLAMPED", 977.7777989705404, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, -0.0, "AUTO_CLAMPED"], [-0.0, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, -0.0, "AUTO_CLAMPED", 200.0, -0.0, "AUTO_CLAMPED"], [12.070624489948354, 199.99999999999997, "BEZIER", "AUTO", 266.6666666666667, 12.070624489948354, "AUTO_CLAMPED", 377.7777671813965, 12.070624489948354, "AUTO_CLAMPED"], [10.467026700197236, 133.33333333333337, "BEZIER", "AUTO", 422.2222328186035, 11.083953291694883, "AUTO_CLAMPED", 505.5555661519369, 9.927215505749972, "AUTO_CLAMPED"], [8.542568821353722, 116.66666666666669, "BEZIER", "AUTO", 544.444465637207, 9.67049003919035, "AUTO_CLAMPED", 605.555534362793, 7.8980422891937, "AUTO_CLAMPED"], [6.156128899881594, 66.66666666666663, "BEZIER", "AUTO", 627.7777989705403, 6.969043500744525, "AUTO_CLAMPED", 677.7777989705404, 5.139985862246341, "AUTO_CLAMPED"], [3.4902371246036825, 83.33333333333326, "BEZIER", "AUTO", 705.555534362793, 4.305224474436301, "AUTO_CLAMPED", 794.444465637207, 1.6972648695945567, "AUTO_CLAMPED"], [-0.0, 183.33333333333337, "BEZIER", "AUTO", 855.555534362793, -0.0, "AUTO_CLAMPED", 977.7777989705404, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, 0.0, "AUTO_CLAMPED"], [0.0, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, 0.0, "AUTO_CLAMPED", 200.0, 0.0, "AUTO_CLAMPED"], [6.133171353420711, 199.99999999999997, "BEZIER", "AUTO", 266.6666666666667, 6.133171353420711, "AUTO_CLAMPED", 377.7777671813965, 6.133171353420711, "AUTO_CLAMPED"], [5.3183716203468565, 133.33333333333337, "BEZIER", "AUTO", 422.2222328186035, 6.133171353420711, "AUTO_CLAMPED", 505.5555661519369, 4.60542196062894, "AUTO_CLAMPED"], [2.264997877368833, 116.66666666666669, "BEZIER", "AUTO", 544.444465637207, 2.684597955867284, "AUTO_CLAMPED", 605.555534362793, 2.0252264344330624, "AUTO_CLAMPED"], [2.0252264344330624, 66.66666666666663, "BEZIER", "AUTO", 627.7777989705403, 2.147129516305334, "AUTO_CLAMPED", 677.7777989705404, 1.8728476888144283, "AUTO_CLAMPED"], [0.9566294649628159, 83.33333333333326, "BEZIER", "AUTO", 705.555534362793, 1.339521972427503, "AUTO_CLAMPED", 794.444465637207, 0.11426602324569855, "AUTO_CLAMPED"], [0.0, 183.33333333333337, "BEZIER", "AUTO", 855.555534362793, 0.0, "AUTO_CLAMPED", 977.7777989705404, 0.0, "AUTO_CLAMPED"]]}}, "Trigger": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.0, "AUTO_CLAMPED"]], "z": [[-1.5625001192092896, 0.0, "BEZIER", "AUTO", 16.666666666666668, -1.5625001192092896, "AUTO_CLAMPED"]], "y": [[1.111669898033142, 0.0, "BEZIER", "AUTO", 16.666666666666668, 1.111669898033142, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 5.555555721124013, 0.0, "AUTO_CLAMPED"], [29.4423193041891, 16.666666666666668, "BEZIER", "AUTO", 11.11111044883728, 29.4423193041891, "AUTO_CLAMPED", 38.888891537984215, 29.4423193041891, "AUTO_CLAMPED"], [29.4423193041891, 66.66666666666666, "BEZIER", "AUTO", 61.111108462015785, 29.4423193041891, "AUTO_CLAMPED", 133.33333333333334, 29.4423193041891, "AUTO_CLAMPED"], [0.0, 150.0, "BEZIER", "AUTO", 183.33333333333331, 0.0, "AUTO_CLAMPED", 283.3333333333333, 0.0, "AUTO_CLAMPED"]]}}}, "Inspect": {"Gun": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, 0.0, "AUTO_CLAMPED"], [0.07114996761083603, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 0.07114996761083603, "AUTO_CLAMPED", 211.11111640930176, 0.07114996761083603, "AUTO_CLAMPED"], [0.06900998950004578, 133.33333333333334, "BEZIER", "AUTO", 255.55555025736493, 0.07114996761083603, "AUTO_CLAMPED", 355.55556615193683, 0.06633501499891281, "AUTO_CLAMPED"], [0.04820222035050392, 166.66666666666669, "BEZIER", "AUTO", 411.1111005147298, 0.04820222035050392, "AUTO_CLAMPED", 527.7777671813965, 0.04820222035050392, "AUTO_CLAMPED"], [0.05328037589788437, 183.33333333333331, "BEZIER", "AUTO", 588.8888676961262, 0.05328037589788437, "AUTO_CLAMPED", 1138.888931274414, 0.05328037589788437, "AUTO_CLAMPED"], [0.05328037589788437, 1466.6666666666665, "BEZIER", "AUTO", 1627.7777353922527, 0.05328037589788437, "AUTO_CLAMPED", 2166.6666666666665, 0.05328037589788437, "AUTO_CLAMPED"], [0.0, 150.0, "BEZIER", "AUTO", 2216.666666666667, 0.0, "AUTO_CLAMPED", 2400.0, 0.0, "AUTO_CLAMPED"], [0.0, 400.0, "BEZIER", "AUTO", 2533.333333333333, 0.0, "AUTO_CLAMPED", 2694.4445292154946, 0.0, "AUTO_CLAMPED"], [-0.005077464040368795, 83.33333333333348, "BEZIER", "AUTO", 2722.222137451172, -0.005077464040368795, "AUTO_CLAMPED", 2811.1111958821616, -0.005077464040368795, "AUTO_CLAMPED"], [0.03527374938130379, 183.33333333333303, "BEZIER", "AUTO", 2872.222137451172, 0.03527374938130379, "AUTO_CLAMPED", 2977.777862548828, 0.03527374938130379, "AUTO_CLAMPED"], [-0.020133668556809425, 133.33333333333348, "BEZIER", "AUTO", 3022.222137451172, -0.020133668556809425, "AUTO_CLAMPED", 3166.6666666666665, -0.020133668556809425, "AUTO_CLAMPED"], [0.0, 300.0, "BEZIER", "AUTO", 3266.6666666666665, 0.0, "AUTO_CLAMPED", 3466.666666666667, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, -0.0, "AUTO_CLAMPED"], [0.10114581137895584, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 0.10114581137895584, "AUTO_CLAMPED", 211.11111640930176, 0.10114581137895584, "AUTO_CLAMPED"], [-0.1629212200641632, 133.33333333333334, "BEZIER", "AUTO", 255.55555025736493, -0.1629212200641632, "AUTO_CLAMPED", 355.55556615193683, -0.1629212200641632, "AUTO_CLAMPED"], [-0.004916742444038391, 166.66666666666669, "BEZIER", "AUTO", 411.1111005147298, -0.027451736852526665, "AUTO_CLAMPED", 527.7777671813965, 0.019871752709150314, "AUTO_CLAMPED"], [0.019871752709150314, 183.33333333333331, "BEZIER", "AUTO", 588.8888676961262, 0.019871752709150314, "AUTO_CLAMPED", 1138.888931274414, 0.019871752709150314, "AUTO_CLAMPED"], [0.019871752709150314, 1466.6666666666665, "BEZIER", "AUTO", 1627.7777353922527, 0.019871752709150314, "AUTO_CLAMPED", 2166.6666666666665, 0.019871752709150314, "AUTO_CLAMPED"], [-0.0, 150.0, "BEZIER", "AUTO", 2216.666666666667, -0.0, "AUTO_CLAMPED", 2400.0, -0.0, "AUTO_CLAMPED"], [-0.0, 400.0, "BEZIER", "AUTO", 2533.333333333333, -0.0, "AUTO_CLAMPED", 2694.4445292154946, -0.0, "AUTO_CLAMPED"], [0.01262839324772358, 83.33333333333348, "BEZIER", "AUTO", 2722.222137451172, 0.0035094833001494408, "AUTO_CLAMPED", 2811.1111958821616, 0.03268999606370926, "AUTO_CLAMPED"], [0.07990105450153351, 183.33333333333303, "BEZIER", "AUTO", 2872.222137451172, 0.07990105450153351, "AUTO_CLAMPED", 2977.777862548828, 0.07990105450153351, "AUTO_CLAMPED"], [0.07229746878147125, 133.33333333333348, "BEZIER", "AUTO", 3022.222137451172, 0.07987289875745773, "AUTO_CLAMPED", 3166.6666666666665, 0.05525274574756622, "AUTO_CLAMPED"], [-0.0, 300.0, "BEZIER", "AUTO", 3266.6666666666665, -0.0, "AUTO_CLAMPED", 3466.666666666667, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, 0.0, "AUTO_CLAMPED"], [-0.29975396394729614, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, -0.12830781936645508, "AUTO_CLAMPED", 211.11111640930176, -0.43691086769104004, "AUTO_CLAMPED"], [-0.6016762852668762, 133.33333333333334, "BEZIER", "AUTO", 255.55555025736493, -0.6016762852668762, "AUTO_CLAMPED", 355.55556615193683, -0.6016762852668762, "AUTO_CLAMPED"], [-0.2427852749824524, 166.66666666666669, "BEZIER", "AUTO", 411.1111005147298, -0.2427852749824524, "AUTO_CLAMPED", 527.7777671813965, -0.2427852749824524, "AUTO_CLAMPED"], [-0.5669558644294739, 183.33333333333331, "BEZIER", "AUTO", 588.8888676961262, -0.5669558644294739, "AUTO_CLAMPED", 1138.888931274414, -0.5669558644294739, "AUTO_CLAMPED"], [-0.5669558644294739, 1466.6666666666665, "BEZIER", "AUTO", 1627.7777353922527, -0.5669558644294739, "AUTO_CLAMPED", 2227.777862548828, -0.5669558644294739, "AUTO_CLAMPED"], [0.0, 333.3333333333335, "BEZIER", "AUTO", 2338.8888041178384, 0.0, "AUTO_CLAMPED", 2522.222137451172, 0.0, "AUTO_CLAMPED"], [0.0, 216.66666666666652, "BEZIER", "AUTO", 2594.4445292154946, 0.0, "AUTO_CLAMPED", 2694.4445292154946, 0.0, "AUTO_CLAMPED"], [0.13483214378356934, 83.33333333333348, "BEZIER", "AUTO", 2722.222137451172, 0.0764673575758934, "AUTO_CLAMPED", 2811.1111958821616, 0.2632346749305725, "AUTO_CLAMPED"], [0.3040197491645813, 183.33333333333303, "BEZIER", "AUTO", 2872.222137451172, 0.3040197491645813, "AUTO_CLAMPED", 2977.777862548828, 0.3040197491645813, "AUTO_CLAMPED"], [-0.47273141145706177, 133.33333333333348, "BEZIER", "AUTO", 3022.222137451172, -0.47273141145706177, "AUTO_CLAMPED", 3166.6666666666665, -0.47273141145706177, "AUTO_CLAMPED"], [0.0, 300.0, "BEZIER", "AUTO", 3266.6666666666665, 0.0, "AUTO_CLAMPED", 3466.666666666667, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, 0.0, "AUTO_CLAMPED"], [2.9641926033154022, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 2.9641926033154022, "AUTO_CLAMPED", 211.11111640930176, 2.9641926033154022, "AUTO_CLAMPED"], [2.9641926033154022, 133.33333333333334, "BEZIER", "AUTO", 255.55555025736493, 2.9641926033154022, "AUTO_CLAMPED", 355.55556615193683, 2.9641926033154022, "AUTO_CLAMPED"], [-1.8676834254716639, 166.66666666666669, "BEZIER", "AUTO", 411.1111005147298, -1.8676834254716639, "AUTO_CLAMPED", 527.7777671813965, -1.8676834254716639, "AUTO_CLAMPED"], [0.692141648494032, 183.33333333333331, "BEZIER", "AUTO", 588.8888676961262, 0.692141648494032, "AUTO_CLAMPED", 1138.888931274414, 0.692141648494032, "AUTO_CLAMPED"], [0.692141648494032, 1466.6666666666665, "BEZIER", "AUTO", 1627.7777353922527, 0.692141648494032, "AUTO_CLAMPED", 2183.333333333333, 0.692141648494032, "AUTO_CLAMPED"], [0.0, 200.0, "BEZIER", "AUTO", 2250.0, 0.692141648494032, "AUTO_CLAMPED", 2433.333333333333, -1.2112479248851957, "AUTO_CLAMPED"], [-7.739051707015083, 350.0, "BEZIER", "AUTO", 2550.0, -7.739051707015083, "AUTO_CLAMPED", 2722.222137451172, -7.739051707015083, "AUTO_CLAMPED"], [-7.646921846621719, 166.66666666666697, "BEZIER", "AUTO", 2777.777862548828, -7.646921846621719, "AUTO_CLAMPED", 2866.6666666666665, -7.646921846621719, "AUTO_CLAMPED"], [-7.646921846621719, 99.99999999999955, "BEZIER", "AUTO", 2900.0, -7.646921846621719, "AUTO_CLAMPED", 2977.777862548828, -7.646921846621719, "AUTO_CLAMPED"], [-7.646921846621719, 133.33333333333348, "BEZIER", "AUTO", 3022.222137451172, -7.646921846621719, "AUTO_CLAMPED", 3166.6666666666665, -7.646921846621719, "AUTO_CLAMPED"], [0.0, 300.0, "BEZIER", "AUTO", 3266.6666666666665, 0.0, "AUTO_CLAMPED", 3466.666666666667, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, -0.0, "AUTO_CLAMPED"], [-0.97928136045834, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, -0.97928136045834, "AUTO_CLAMPED", 211.11111640930176, -0.97928136045834, "AUTO_CLAMPED"], [-0.97928136045834, 133.33333333333334, "BEZIER", "AUTO", 255.55555025736493, -0.97928136045834, "AUTO_CLAMPED", 355.55556615193683, -0.97928136045834, "AUTO_CLAMPED"], [-0.8304706416290971, 166.66666666666669, "BEZIER", "AUTO", 411.1111005147298, -0.8304706416290971, "AUTO_CLAMPED", 527.7777671813965, -0.8304706416290971, "AUTO_CLAMPED"], [-0.8304706416290971, 183.33333333333331, "BEZIER", "AUTO", 588.8888676961262, -0.8304706416290971, "AUTO_CLAMPED", 1138.888931274414, -0.8304706416290971, "AUTO_CLAMPED"], [-0.8304706416290971, 1466.6666666666665, "BEZIER", "AUTO", 1627.7777353922527, -0.8304706416290971, "AUTO_CLAMPED", 2250.0, -0.8304706416290971, "AUTO_CLAMPED"], [-0.0, 400.0, "BEZIER", "AUTO", 2383.3333333333335, -0.0, "AUTO_CLAMPED", 2622.222137451172, -0.0, "AUTO_CLAMPED"], [-8.823071883961452, 316.66666666666697, "BEZIER", "AUTO", 2727.777862548828, -8.823071883961452, "AUTO_CLAMPED", 2866.6666666666665, -8.823071883961452, "AUTO_CLAMPED"], [-8.823071883961452, 99.99999999999955, "BEZIER", "AUTO", 2900.0, -8.823071883961452, "AUTO_CLAMPED", 2977.777862548828, -8.823071883961452, "AUTO_CLAMPED"], [-8.823071883961452, 133.33333333333348, "BEZIER", "AUTO", 3022.222137451172, -8.823071883961452, "AUTO_CLAMPED", 3166.6666666666665, -8.823071883961452, "AUTO_CLAMPED"], [-0.0, 300.0, "BEZIER", "AUTO", 3266.6666666666665, -0.0, "AUTO_CLAMPED", 3466.666666666667, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, 0.0, "AUTO_CLAMPED"], [0.35034732308023736, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 0.35034732308023736, "AUTO_CLAMPED", 211.11111640930176, 0.35034732308023736, "AUTO_CLAMPED"], [0.35034732308023736, 133.33333333333334, "BEZIER", "AUTO", 255.55555025736493, 0.35034732308023736, "AUTO_CLAMPED", 355.55556615193683, 0.35034732308023736, "AUTO_CLAMPED"], [0.007649265755435478, 166.66666666666669, "BEZIER", "AUTO", 411.1111005147298, 0.007649265755435478, "AUTO_CLAMPED", 527.7777671813965, 0.007649265755435478, "AUTO_CLAMPED"], [0.007649265755435478, 183.33333333333331, "BEZIER", "AUTO", 588.8888676961262, 0.007649265755435478, "AUTO_CLAMPED", 1138.888931274414, 0.007649265755435478, "AUTO_CLAMPED"], [0.007649265755435478, 1466.6666666666665, "BEZIER", "AUTO", 1627.7777353922527, 0.007649265755435478, "AUTO_CLAMPED", 2250.0, 0.007649265755435478, "AUTO_CLAMPED"], [0.0, 400.0, "BEZIER", "AUTO", 2383.3333333333335, 0.0, "AUTO_CLAMPED", 2622.222137451172, 0.0, "AUTO_CLAMPED"], [1.1941439572647203, 316.66666666666697, "BEZIER", "AUTO", 2727.777862548828, 1.1941439572647203, "AUTO_CLAMPED", 2866.6666666666665, 1.1941439572647203, "AUTO_CLAMPED"], [1.1941439572647203, 99.99999999999955, "BEZIER", "AUTO", 2900.0, 1.1941439572647203, "AUTO_CLAMPED", 2977.777862548828, 1.1941439572647203, "AUTO_CLAMPED"], [1.1941439572647203, 133.33333333333348, "BEZIER", "AUTO", 3022.222137451172, 1.1941439572647203, "AUTO_CLAMPED", 3166.6666666666665, 1.1941439572647203, "AUTO_CLAMPED"], [0.0, 300.0, "BEZIER", "AUTO", 3266.6666666666665, 0.0, "AUTO_CLAMPED", 3466.666666666667, 0.0, "AUTO_CLAMPED"]]}}, "Mag": {"location": {"x": [[1.6590982809816524e-08, 0.0, "BEZIER", "AUTO", 55.555554231007896, 1.6590982809816524e-08, "AUTO_CLAMPED"], [1.6590982809816524e-08, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 1.6590982809816524e-08, "AUTO_CLAMPED", 277.7777671813965, 1.6590982809816524e-08, "AUTO_CLAMPED"], [-0.00021278602071106434, 333.33333333333337, "BEZIER", "AUTO", 388.88889948527014, 1.658918336033821e-08, "AUTO_CLAMPED", 555.555534362793, -0.0003191873256582767, "AUTO_CLAMPED"], [-0.11996961385011673, 166.66666666666663, "BEZIER", "AUTO", 611.1111323038737, -0.11996961385011673, "AUTO_CLAMPED", 794.444465637207, -0.11996961385011673, "AUTO_CLAMPED"], [5.424437999725342, 383.33333333333337, "BEZIER", "AUTO", 922.2222010294596, 5.351675987243652, "AUTO_CLAMPED", 1083.3333333333333, 5.443419456481934, "AUTO_CLAMPED"], [5.443419456481934, 100.0, "BEZIER", "AUTO", 1116.6666666666667, 5.43773889541626, "AUTO_CLAMPED", 1266.6666666666665, 5.463301658630371, "AUTO_CLAMPED"], [5.622357368469238, 350.0, "BEZIER", "AUTO", 1383.3333333333333, 5.622357368469238, "AUTO_CLAMPED", 1594.4444020589192, 5.622357368469238, "AUTO_CLAMPED"], [5.575819969177246, 283.33333333333326, "BACK", "AUTO", 1688.888931274414, 5.588100433349609, "AUTO_CLAMPED", 14.701579093933105], [5.515981674194336, 316.66666666666674, "BEZIER", "AUTO", 2283.333333333333, 5.412052154541016, "AUTO_CLAMPED"], [-0.003756664227694273, 550.0, "BEZIER", "AUTO", 2466.666666666667, -0.0037566630635410547, "AUTO_CLAMPED", 2688.8888041178384, -0.0037566644605249166, "AUTO_CLAMPED"], [-0.0037566644605249166, 116.66666666666652, "BEZIER", "AUTO", 2727.777862548828, -0.0037566644605249166, "AUTO_CLAMPED", 2838.8888041178384, -0.0037566644605249166, "AUTO_CLAMPED"], [1.6590982809816524e-08, 216.66666666666697, "BEZIER", "AUTO", 2911.1111958821616, 1.6590982809816524e-08, "AUTO_CLAMPED", 3055.5554707845054, 1.6590982809816524e-08, "AUTO_CLAMPED"]], "z": [[1.5, 0.0, "BEZIER", "AUTO", 55.555554231007896, 1.5, "AUTO_CLAMPED"], [1.5, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 1.5, "AUTO_CLAMPED", 277.7777671813965, 1.5, "AUTO_CLAMPED"], [1.6245688199996948, 333.33333333333337, "BEZIER", "AUTO", 388.88889948527014, 1.6245688199996948, "AUTO_CLAMPED", 555.555534362793, 1.6245688199996948, "AUTO_CLAMPED"], [1.6012111902236938, 166.66666666666663, "BEZIER", "AUTO", 611.1111323038737, 1.6012111902236938, "AUTO_CLAMPED", 794.444465637207, 1.6012111902236938, "AUTO_CLAMPED"], [2.137399435043335, 383.33333333333337, "BEZIER", "AUTO", 922.2222010294596, 2.016054153442383, "AUTO_CLAMPED", 1083.3333333333333, 2.1690547466278076, "AUTO_CLAMPED"], [2.213783025741577, 100.0, "BEZIER", "AUTO", 1116.6666666666667, 2.180736780166626, "AUTO_CLAMPED", 1266.6666666666665, 2.3294453620910645, "AUTO_CLAMPED"], [2.7068216800689697, 350.0, "BEZIER", "AUTO", 1383.3333333333333, 2.7068216800689697, "AUTO_CLAMPED", 1594.4444020589192, 2.7068216800689697, "AUTO_CLAMPED"], [2.5465469360351562, 283.33333333333326, "BACK", "AUTO", 1688.888931274414, 2.596926212310791, "AUTO_CLAMPED", 6.601579666137695], [2.3682148456573486, 316.66666666666674, "BEZIER", "AUTO", 2283.333333333333, 2.124948024749756, "AUTO_CLAMPED"], [1.4047539234161377, 550.0, "BEZIER", "AUTO", 2466.666666666667, 1.4047539234161377, "AUTO_CLAMPED", 2688.8888041178384, 1.4047539234161377, "AUTO_CLAMPED"], [1.634982943534851, 116.66666666666652, "BEZIER", "AUTO", 2727.777862548828, 1.634982943534851, "AUTO_CLAMPED", 2838.8888041178384, 1.634982943534851, "AUTO_CLAMPED"], [1.5, 216.66666666666697, "BEZIER", "AUTO", 2911.1111958821616, 1.5, "AUTO_CLAMPED", 3055.5554707845054, 1.5, "AUTO_CLAMPED"]], "y": [[2.3913047313690186, 0.0, "BEZIER", "AUTO", 55.555554231007896, 2.3913047313690186, "AUTO_CLAMPED"], [2.3913047313690186, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 2.3913047313690186, "AUTO_CLAMPED", 277.7777671813965, 2.3913047313690186, "AUTO_CLAMPED"], [3.190911054611206, 333.33333333333337, "BEZIER", "AUTO", 388.88889948527014, 2.6377265453338623, "AUTO_CLAMPED", 555.555534362793, 3.467503309249878, "AUTO_CLAMPED"], [3.820786476135254, 166.66666666666663, "BEZIER", "AUTO", 611.1111323038737, 3.820786476135254, "AUTO_CLAMPED", 794.444465637207, 3.820786476135254, "AUTO_CLAMPED"], [2.135780096054077, 383.33333333333337, "BEZIER", "AUTO", 922.2222010294596, 3.0386812686920166, "AUTO_CLAMPED", 1083.3333333333333, 1.9002406597137451, "AUTO_CLAMPED"], [1.6564807891845703, 100.0, "BEZIER", "AUTO", 1116.6666666666667, 1.6564807891845703, "AUTO_CLAMPED", 1266.6666666666665, 1.6564807891845703, "AUTO_CLAMPED"], [9.165933609008789, 350.0, "BEZIER", "AUTO", 1383.3333333333333, 9.165933609008789, "AUTO_CLAMPED", 1594.4444020589192, 9.165933609008789, "AUTO_CLAMPED"], [2.7490081787109375, 283.33333333333326, "BACK", "AUTO", 1688.888931274414, 3.3798696994781494, "AUTO_CLAMPED", 9.001579284667969], [1.6357232332229614, 499.9999999999998, "BEZIER", "AUTO", 2405.5554707845054, 1.6357232332229614, "AUTO_CLAMPED"], [3.1212010383605957, 366.66666666666697, "BEZIER", "AUTO", 2527.777862548828, 3.1212010383605957, "AUTO_CLAMPED", 2688.8888041178384, 3.1212010383605957, "AUTO_CLAMPED"], [2.9346296787261963, 116.66666666666652, "BEZIER", "AUTO", 2727.777862548828, 3.0464632511138916, "AUTO_CLAMPED", 2838.8888041178384, 2.7269389629364014, "AUTO_CLAMPED"], [2.3913047313690186, 216.66666666666697, "BEZIER", "AUTO", 2911.1111958821616, 2.3913047313690186, "AUTO_CLAMPED", 3055.5554707845054, 2.3913047313690186, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, 0.0, "AUTO_CLAMPED"], [0.0, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 0.0, "AUTO_CLAMPED", 277.7777671813965, 0.0, "AUTO_CLAMPED"], [19.9088334682391, 333.33333333333337, "BEZIER", "AUTO", 388.88889948527014, 19.9088334682391, "AUTO_CLAMPED", 555.555534362793, 19.9088334682391, "AUTO_CLAMPED"], [19.9088334682391, 166.66666666666663, "BEZIER", "AUTO", 611.1111323038737, 19.9088334682391, "AUTO_CLAMPED", 794.444465637207, 19.9088334682391, "AUTO_CLAMPED"], [17.756861134368812, 383.33333333333337, "BEZIER", "AUTO", 922.2222010294596, 17.756861134368812, "AUTO_CLAMPED", 1083.3333333333333, 17.756861134368812, "AUTO_CLAMPED"], [27.787557421139063, 100.0, "BEZIER", "AUTO", 1116.6666666666667, 27.787557421139063, "AUTO_CLAMPED", 1361.111068725586, 27.787557421139063, "AUTO_CLAMPED"], [-346.42714006153335, 633.3333333333333, "BACK", "AUTO", 1572.2222646077473, -337.1036586368992, "AUTO_CLAMPED", 1.7015800476074219], [-351.08888077385046, 316.66666666666674, "BEZIER", "AUTO", 2283.333333333333, -351.08888077385046, "AUTO_CLAMPED"], [-344.7845342076587, 550.0, "BEZIER", "AUTO", 2466.666666666667, -344.7845342076587, "AUTO_CLAMPED", 2688.8888041178384, -344.7845342076587, "AUTO_CLAMPED"], [-344.7845342076587, 116.66666666666652, "BEZIER", "AUTO", 2727.777862548828, -344.7845342076587, "AUTO_CLAMPED", 2838.8888041178384, -344.7845342076587, "AUTO_CLAMPED"], [-360.00001001791264, 216.66666666666697, "BEZIER", "AUTO", 2911.1111958821616, -360.00001001791264, "AUTO_CLAMPED", 3055.5554707845054, -360.00001001791264, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, -0.0, "AUTO_CLAMPED"], [-0.0, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, -0.0, "AUTO_CLAMPED", 277.7777671813965, -0.0, "AUTO_CLAMPED"], [0.06078959074761263, 333.33333333333337, "BEZIER", "AUTO", 388.88889948527014, 0.06078959074761263, "AUTO_CLAMPED", 555.555534362793, 0.06078959074761263, "AUTO_CLAMPED"], [0.06078959074761263, 166.66666666666663, "BEZIER", "AUTO", 611.1111323038737, 0.06078959074761263, "AUTO_CLAMPED", 794.444465637207, 0.06078959074761263, "AUTO_CLAMPED"], [12.226716510597948, 383.33333333333337, "BEZIER", "AUTO", 922.2222010294596, 12.226716510597948, "AUTO_CLAMPED", 1083.3333333333333, 12.226716510597948, "AUTO_CLAMPED"], [7.483050240507481, 100.0, "BEZIER", "AUTO", 1116.6666666666667, 9.542523029995575, "AUTO_CLAMPED", 1361.111068725586, -5.560278564615314, "AUTO_CLAMPED"], [-5.560278991502137, 633.3333333333333, "BACK", "AUTO", 1572.2222646077473, -5.560278991502137, "AUTO_CLAMPED", 9.001579284667969], [1.8954325630787217, 316.66666666666674, "BEZIER", "AUTO", 2283.333333333333, 1.8954325630787217, "AUTO_CLAMPED"], [1.877165435586934, 550.0, "BEZIER", "AUTO", 2466.666666666667, 1.877165435586934, "AUTO_CLAMPED", 2688.8888041178384, 1.877165435586934, "AUTO_CLAMPED"], [1.877165435586934, 116.66666666666652, "BEZIER", "AUTO", 2727.777862548828, 1.877165435586934, "AUTO_CLAMPED", 2838.8888041178384, 1.877165435586934, "AUTO_CLAMPED"], [-0.0, 216.66666666666697, "BEZIER", "AUTO", 2911.1111958821616, -0.0, "AUTO_CLAMPED", 3055.5554707845054, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, 0.0, "AUTO_CLAMPED"], [0.0, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 0.0, "AUTO_CLAMPED", 277.7777671813965, 0.0, "AUTO_CLAMPED"], [0.35444556998437726, 333.33333333333337, "BEZIER", "AUTO", 388.88889948527014, 0.35444556998437726, "AUTO_CLAMPED", 555.555534362793, 0.35444556998437726, "AUTO_CLAMPED"], [0.35444556998437726, 166.66666666666663, "BEZIER", "AUTO", 611.1111323038737, 0.35444556998437726, "AUTO_CLAMPED", 794.444465637207, 0.35444556998437726, "AUTO_CLAMPED"], [1.9508375635219841, 383.33333333333337, "BEZIER", "AUTO", 922.2222010294596, 1.9508375635219841, "AUTO_CLAMPED", 1083.3333333333333, 1.9508375635219841, "AUTO_CLAMPED"], [-0.5366209624963392, 100.0, "BEZIER", "AUTO", 1116.6666666666667, -0.12644982674495836, "AUTO_CLAMPED", 1361.111068725586, -3.134371675684736, "AUTO_CLAMPED"], [-3.134371462241324, 633.3333333333333, "BACK", "AUTO", 1572.2222646077473, -3.134371462241324, "AUTO_CLAMPED", 6.901579856872559], [-0.4163264435344581, 316.66666666666674, "BEZIER", "AUTO", 2283.333333333333, -0.3268274065907398, "AUTO_CLAMPED"], [-0.3268274065907398, 550.0, "BEZIER", "AUTO", 2466.666666666667, -0.3268274065907398, "AUTO_CLAMPED", 2688.8888041178384, -0.3268274065907398, "AUTO_CLAMPED"], [-0.3268274065907398, 116.66666666666652, "BEZIER", "AUTO", 2727.777862548828, -0.3268274065907398, "AUTO_CLAMPED", 2838.8888041178384, -0.3268274065907398, "AUTO_CLAMPED"], [0.0, 216.66666666666697, "BEZIER", "AUTO", 2911.1111958821616, 0.0, "AUTO_CLAMPED", 3055.5554707845054, 0.0, "AUTO_CLAMPED"]]}}}, "Jammed": {"Bolt": {"location": {"x": [[0.4437499940395355, 0.0, "BEZIER", "AUTO", 305.55556615193683, 0.4437499940395355, "AUTO_CLAMPED"]], "z": [[-1.8655332326889038, 0.0, "BEZIER", "AUTO", 122.22222487131755, -1.8655332326889038, "AUTO_CLAMPED"], [-1.8655332326889038, 366.66666666666663, "BEZIER", "EASE_IN", 244.44443384806314, -1.8655332326889038, "AUTO_CLAMPED", 405.55556615193683, -1.8655332326889038, "AUTO_CLAMPED"], [-3.3269410133361816, 116.66666666666669, "BEZIER", "AUTO", 444.44443384806317, -3.3269410133361816, "AUTO_CLAMPED", 516.6666666666666, -3.3269410133361816, "AUTO_CLAMPED"], [-3.3269410133361816, 100.00000000000006, "EXPO", "EASE_IN", 550.0, -3.3269410133361816, "AUTO_CLAMPED"], [-2.962660312652588, 49.999999999999886, "EXPO", "AUTO"], [-3.3269410133361816, 466.66666666666674, "EXPO", "EASE_IN"], [-1.8655332326889038, 83.33333333333326, "BEZIER", "AUTO", 1211.111068725586, -1.8655332326889038, "AUTO_CLAMPED"]], "y": [[1.8304203748703003, 0.0, "BEZIER", "AUTO", 305.55556615193683, 1.8304203748703003, "AUTO_CLAMPED"]]}}, "Gun": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 33.333333333333336, 0.0, "AUTO_CLAMPED"], [0.0, 100.0, "BEZIER", "AUTO", 66.66666666666667, 0.0, "AUTO_CLAMPED", 177.77776718139648, 0.0, "AUTO_CLAMPED"], [0.378823459148407, 233.33333333333331, "BEZIER", "AUTO", 255.55556615193686, 0.378823459148407, "AUTO_CLAMPED", 377.7777671813965, 0.378823459148407, "AUTO_CLAMPED"], [0.3284962773323059, 133.33333333333337, "BEZIER", "AUTO", 422.2222328186035, 0.378823459148407, "AUTO_CLAMPED", 505.5555661519369, 0.28446000814437866, "AUTO_CLAMPED"], [0.0780496671795845, 116.66666666666669, "BEZIER", "AUTO", 544.444465637207, 0.09820573776960373, "AUTO_CLAMPED", 633.3333333333333, 0.052134718745946884, "AUTO_CLAMPED"], [0.052134718745946884, 149.9999999999999, "BEZIER", "AUTO", 683.3333333333334, 0.052134718745946884, "AUTO_CLAMPED", 866.6666666666667, 0.052134718745946884, "AUTO_CLAMPED"], [0.0780496671795845, 400.0, "BEZIER", "AUTO", 1000.0, 0.0780496671795845, "AUTO_CLAMPED", 1161.111068725586, 0.0780496671795845, "AUTO_CLAMPED"], [-0.02280152216553688, 83.33333333333326, "BEZIER", "AUTO", 1188.888931274414, -0.02280152216553688, "AUTO_CLAMPED", 1244.4444020589192, -0.02280152216553688, "AUTO_CLAMPED"], [0.06624312698841095, 83.33333333333348, "BEZIER", "AUTO", 1272.2222646077475, 0.06624312698841095, "AUTO_CLAMPED", 1355.5555979410808, 0.06624312698841095, "AUTO_CLAMPED"], [0.0, 166.66666666666652, "BEZIER", "AUTO", 1411.111068725586, 0.0, "AUTO_CLAMPED", 1522.2222646077475, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 33.333333333333336, -0.0, "AUTO_CLAMPED"], [-0.0, 100.0, "BEZIER", "AUTO", 66.66666666666667, -0.0, "AUTO_CLAMPED", 177.77776718139648, -0.0, "AUTO_CLAMPED"], [0.3215503692626953, 233.33333333333331, "BEZIER", "AUTO", 255.55556615193686, 0.3215503692626953, "AUTO_CLAMPED", 377.7777671813965, 0.3215503692626953, "AUTO_CLAMPED"], [0.27883198857307434, 133.33333333333337, "BEZIER", "AUTO", 422.2222328186035, 0.3215503692626953, "AUTO_CLAMPED", 505.5555661519369, 0.2414534091949463, "AUTO_CLAMPED"], [-0.044656865298748016, 116.66666666666669, "BEZIER", "AUTO", 544.444465637207, -0.029327169060707092, "AUTO_CLAMPED", 633.3333333333333, -0.06436647474765778, "AUTO_CLAMPED"], [-0.06436647474765778, 149.9999999999999, "BEZIER", "AUTO", 683.3333333333334, -0.06436647474765778, "AUTO_CLAMPED", 866.6666666666667, -0.06436647474765778, "AUTO_CLAMPED"], [-0.044656865298748016, 400.0, "BEZIER", "AUTO", 1000.0, -0.06436647474765778, "AUTO_CLAMPED", 1161.111068725586, -0.04055069759488106, "AUTO_CLAMPED"], [0.3886209726333618, 83.33333333333326, "BEZIER", "AUTO", 1188.888931274414, 0.3886209726333618, "AUTO_CLAMPED", 1244.4444020589192, 0.3886209726333618, "AUTO_CLAMPED"], [0.21741850674152374, 83.33333333333348, "BEZIER", "AUTO", 1272.2222646077475, 0.2926041781902313, "AUTO_CLAMPED", 1355.5555979410808, 0.06704716384410858, "AUTO_CLAMPED"], [-0.0, 166.66666666666652, "BEZIER", "AUTO", 1411.111068725586, -0.0, "AUTO_CLAMPED", 1522.2222646077475, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 33.333333333333336, 0.0, "AUTO_CLAMPED"], [0.0, 100.0, "BEZIER", "AUTO", 66.66666666666667, 0.0, "AUTO_CLAMPED", 177.77776718139648, 0.0, "AUTO_CLAMPED"], [-0.03033590316772461, 233.33333333333331, "BEZIER", "AUTO", 255.55556615193686, -0.03033590316772461, "AUTO_CLAMPED", 377.7777671813965, -0.03033590316772461, "AUTO_CLAMPED"], [-0.013926569372415543, 133.33333333333337, "BEZIER", "AUTO", 422.2222328186035, -0.022176561877131462, "AUTO_CLAMPED", 505.5555661519369, -0.006707826163619757, "AUTO_CLAMPED"], [0.000580325722694397, 116.66666666666669, "BEZIER", "AUTO", 544.444465637207, 0.000580325722694397, "AUTO_CLAMPED", 633.3333333333333, 0.000580325722694397, "AUTO_CLAMPED"], [-0.08202043920755386, 149.9999999999999, "BEZIER", "AUTO", 683.3333333333334, -0.08202043920755386, "AUTO_CLAMPED", 866.6666666666667, -0.08202043920755386, "AUTO_CLAMPED"], [0.000580325722694397, 400.0, "BEZIER", "AUTO", 1000.0, 0.000580325722694397, "AUTO_CLAMPED", 1161.111068725586, 0.000580325722694397, "AUTO_CLAMPED"], [-0.027275841683149338, 83.33333333333326, "BEZIER", "AUTO", 1188.888931274414, -0.027275841683149338, "AUTO_CLAMPED", 1244.4444020589192, -0.027275841683149338, "AUTO_CLAMPED"], [0.007577709853649139, 83.33333333333348, "BEZIER", "AUTO", 1272.2222646077475, 0.007577709853649139, "AUTO_CLAMPED", 1355.5555979410808, 0.007577709853649139, "AUTO_CLAMPED"], [0.0, 166.66666666666652, "BEZIER", "AUTO", 1411.111068725586, 0.0, "AUTO_CLAMPED", 1522.2222646077475, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, 0.0, "AUTO_CLAMPED"], [0.0, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, 0.0, "AUTO_CLAMPED", 200.0, 0.0, "AUTO_CLAMPED"], [-9.762812852427766, 199.99999999999997, "BEZIER", "AUTO", 266.6666666666667, -9.762812852427766, "AUTO_CLAMPED", 377.7777671813965, -9.762812852427766, "AUTO_CLAMPED"], [-8.46581115546112, 133.33333333333337, "BEZIER", "AUTO", 422.2222328186035, -8.46581115546112, "AUTO_CLAMPED", 505.5555661519369, -8.46581115546112, "AUTO_CLAMPED"], [-9.922516335601005, 116.66666666666669, "BEZIER", "AUTO", 544.444465637207, -9.922516335601005, "AUTO_CLAMPED", 633.3333333333333, -9.922516335601005, "AUTO_CLAMPED"], [-5.976405705364225, 149.9999999999999, "BEZIER", "AUTO", 683.3333333333334, -5.976405705364225, "AUTO_CLAMPED", 866.6666666666667, -5.976405705364225, "AUTO_CLAMPED"], [-9.922516335601005, 400.0, "BEZIER", "AUTO", 1000.0, -9.922516335601005, "AUTO_CLAMPED", 1161.111068725586, -9.922516335601005, "AUTO_CLAMPED"], [-1.247449955198673, 83.33333333333326, "BEZIER", "AUTO", 1188.888931274414, -1.247449955198673, "AUTO_CLAMPED", 1244.4444020589192, -1.247449955198673, "AUTO_CLAMPED"], [-3.5616000082690333, 83.33333333333348, "BEZIER", "AUTO", 1272.2222646077475, -3.5616000082690333, "AUTO_CLAMPED", 1355.5555979410808, -3.5616000082690333, "AUTO_CLAMPED"], [0.0, 166.66666666666652, "BEZIER", "AUTO", 1411.111068725586, 0.0, "AUTO_CLAMPED", 1522.2222646077475, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, -0.0, "AUTO_CLAMPED"], [-0.0, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, -0.0, "AUTO_CLAMPED", 200.0, -0.0, "AUTO_CLAMPED"], [12.070624489948354, 199.99999999999997, "BEZIER", "AUTO", 266.6666666666667, 12.070624489948354, "AUTO_CLAMPED", 377.7777671813965, 12.070624489948354, "AUTO_CLAMPED"], [10.467026700197236, 133.33333333333337, "BEZIER", "AUTO", 422.2222328186035, 11.19349074296167, "AUTO_CLAMPED", 505.5555661519369, 9.831370876221769, "AUTO_CLAMPED"], [8.542568821353722, 116.66666666666669, "BEZIER", "AUTO", 544.444465637207, 9.311070970912292, "AUTO_CLAMPED", 633.3333333333333, 7.55449487299946, "AUTO_CLAMPED"], [6.156128899881594, 149.9999999999999, "BEZIER", "AUTO", 683.3333333333334, 6.156128899881594, "AUTO_CLAMPED", 866.6666666666667, 6.156128899881594, "AUTO_CLAMPED"], [8.542568821353722, 400.0, "BEZIER", "AUTO", 1000.0, 8.542568821353722, "AUTO_CLAMPED", 1161.111068725586, 8.542568821353722, "AUTO_CLAMPED"], [6.806507196613024, 83.33333333333326, "BEZIER", "AUTO", 1188.888931274414, 7.8036123625973355, "AUTO_CLAMPED", 1244.4444020589192, 5.80940160374189, "AUTO_CLAMPED"], [3.4902371246036825, 83.33333333333348, "BEZIER", "AUTO", 1272.2222646077475, 4.554145169208715, "AUTO_CLAMPED", 1355.5555979410808, 1.3624208219502054, "AUTO_CLAMPED"], [-0.0, 166.66666666666652, "BEZIER", "AUTO", 1411.111068725586, -0.0, "AUTO_CLAMPED", 1522.2222646077475, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, 0.0, "AUTO_CLAMPED"], [0.0, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, 0.0, "AUTO_CLAMPED", 200.0, 0.0, "AUTO_CLAMPED"], [6.133171353420711, 199.99999999999997, "BEZIER", "AUTO", 266.6666666666667, 6.133171353420711, "AUTO_CLAMPED", 377.7777671813965, 6.133171353420711, "AUTO_CLAMPED"], [5.3183716203468565, 133.33333333333337, "BEZIER", "AUTO", 422.2222328186035, 6.133171353420711, "AUTO_CLAMPED", 505.5555661519369, 4.60542196062894, "AUTO_CLAMPED"], [2.264997877368833, 116.66666666666669, "BEZIER", "AUTO", 544.444465637207, 2.451486801145922, "AUTO_CLAMPED", 633.3333333333333, 2.0252264344330624, "AUTO_CLAMPED"], [2.0252264344330624, 149.9999999999999, "BEZIER", "AUTO", 683.3333333333334, 2.0252264344330624, "AUTO_CLAMPED", 866.6666666666667, 2.0252264344330624, "AUTO_CLAMPED"], [2.264997877368833, 400.0, "BEZIER", "AUTO", 1000.0, 2.0252264344330624, "AUTO_CLAMPED", 1161.111068725586, 2.3149502524203096, "AUTO_CLAMPED"], [4.3664396179857174, 83.33333333333326, "BEZIER", "AUTO", 1188.888931274414, 4.3664396179857174, "AUTO_CLAMPED", 1244.4444020589192, 4.3664396179857174, "AUTO_CLAMPED"], [0.9566294649628159, 83.33333333333348, "BEZIER", "AUTO", 1272.2222646077475, 1.4349441974442239, "AUTO_CLAMPED", 1355.5555979410808, 0.0, "AUTO_CLAMPED"], [0.0, 166.66666666666652, "BEZIER", "AUTO", 1411.111068725586, 0.0, "AUTO_CLAMPED", 1522.2222646077475, 0.0, "AUTO_CLAMPED"]]}}}, "Reload": {"Bolt": {"location": {"x": [[0.4437499940395355, 0.0, "BEZIER", "AUTO", 933.3333333333334, 0.4437499940395355, "AUTO_CLAMPED"]], "z": [[-1.8655332326889038, 0.0, "BEZIER", "AUTO", 916.6666666666666, -1.8655332326889038, "AUTO_CLAMPED"], [-1.8655332326889038, 2750.0, "BEZIER", "EASE_IN", 1833.3333333333333, -1.8655332326889038, "AUTO_CLAMPED", 2788.8888041178384, -1.8655332326889038, "AUTO_CLAMPED"], [-3.3269410133361816, 116.66666666666652, "BEZIER", "AUTO", 2827.777862548828, -3.3269410133361816, "AUTO_CLAMPED", 2900.0, -3.3269410133361816, "AUTO_CLAMPED"], [-3.3269410133361816, 100.00000000000045, "EXPO", "EASE_IN", 2933.333333333333, -3.3269410133361816, "AUTO_CLAMPED"], [-1.8655332326889038, 83.33333333333303, "BEZIER", "AUTO", 3077.777862548828, -1.8655332326889038, "AUTO_CLAMPED"]], "y": [[1.8304203748703003, 0.0, "BEZIER", "AUTO", 933.3333333333334, 1.8304203748703003, "AUTO_CLAMPED"]]}}, "Gun": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, 0.0, "AUTO_CLAMPED"], [0.07114996761083603, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 0.07114996761083603, "AUTO_CLAMPED", 205.5555502573649, 0.07114996761083603, "AUTO_CLAMPED"], [0.06900998950004578, 116.66666666666666, "BEZIER", "AUTO", 244.4444497426351, 0.07114996761083603, "AUTO_CLAMPED", 344.44443384806317, 0.0656471699476242, "AUTO_CLAMPED"], [0.04820222035050392, 183.33333333333337, "BEZIER", "AUTO", 405.55556615193683, 0.04820222035050392, "AUTO_CLAMPED", 561.1111323038737, 0.04820222035050392, "AUTO_CLAMPED"], [0.05328037589788437, 283.3333333333333, "BEZIER", "AUTO", 655.555534362793, 0.05328037589788437, "AUTO_CLAMPED", 894.444465637207, 0.05328037589788437, "AUTO_CLAMPED"], [-0.06346340477466583, 433.33333333333326, "BEZIER", "AUTO", 1038.8888676961262, -0.06346340477466583, "AUTO_CLAMPED", 1538.888931274414, -0.06346340477466583, "AUTO_CLAMPED"], [0.17794586718082428, 1066.6666666666667, "BEZIER", "AUTO", 1894.4444020589192, -0.06346340477466583, "AUTO_CLAMPED", 2305.5554707845054, 0.21566607058048248, "AUTO_CLAMPED"], [0.3289692997932434, 166.66666666666652, "BEZIER", "AUTO", 2361.111195882161, 0.3043280839920044, "AUTO_CLAMPED", 2461.1111958821616, 0.3486822843551636, "AUTO_CLAMPED"], [0.3486822843551636, 133.33333333333348, "BEZIER", "AUTO", 2505.5554707845054, 0.34406736493110657, "AUTO_CLAMPED", 2611.111195882161, 0.35502779483795166, "AUTO_CLAMPED"], [0.378823459148407, 183.33333333333348, "BEZIER", "AUTO", 2672.222137451172, 0.378823459148407, "AUTO_CLAMPED", 2777.777862548828, 0.378823459148407, "AUTO_CLAMPED"], [0.3284962773323059, 133.33333333333303, "BEZIER", "AUTO", 2822.222137451172, 0.378823459148407, "AUTO_CLAMPED", 2905.5554707845054, 0.28446000814437866, "AUTO_CLAMPED"], [0.0780496671795845, 116.66666666666697, "BEZIER", "AUTO", 2944.4445292154946, 0.12340082228183746, "AUTO_CLAMPED", 3005.5554707845054, 0.052134718745946884, "AUTO_CLAMPED"], [0.052134718745946884, 66.66666666666652, "BEZIER", "AUTO", 3027.777862548828, 0.052134718745946884, "AUTO_CLAMPED", 3077.777862548828, 0.052134718745946884, "AUTO_CLAMPED"], [0.06624312698841095, 83.33333333333348, "BEZIER", "AUTO", 3105.555470784505, 0.06624312698841095, "AUTO_CLAMPED", 3194.4445292154946, 0.06624312698841095, "AUTO_CLAMPED"], [0.0, 183.33333333333303, "BEZIER", "AUTO", 3255.5554707845054, 0.0, "AUTO_CLAMPED", 3377.777862548828, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, -0.0, "AUTO_CLAMPED"], [0.10114581137895584, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 0.10114581137895584, "AUTO_CLAMPED", 205.5555502573649, 0.10114581137895584, "AUTO_CLAMPED"], [-0.1629212200641632, 116.66666666666666, "BEZIER", "AUTO", 244.4444497426351, -0.1629212200641632, "AUTO_CLAMPED", 344.44443384806317, -0.1629212200641632, "AUTO_CLAMPED"], [-0.004916742444038391, 183.33333333333337, "BEZIER", "AUTO", 405.55556615193683, -0.020956357941031456, "AUTO_CLAMPED", 561.1111323038737, 0.019871752709150314, "AUTO_CLAMPED"], [0.019871752709150314, 283.3333333333333, "BEZIER", "AUTO", 655.555534362793, 0.019871752709150314, "AUTO_CLAMPED", 894.444465637207, 0.019871752709150314, "AUTO_CLAMPED"], [-0.05724658444523811, 433.33333333333326, "BEZIER", "AUTO", 1038.8888676961262, -0.05724658444523811, "AUTO_CLAMPED", 1538.888931274414, -0.05724658444523811, "AUTO_CLAMPED"], [0.06616419553756714, 1066.6666666666667, "BEZIER", "AUTO", 1894.4444020589192, -0.057246580719947815, "AUTO_CLAMPED", 2305.5554707845054, 0.08544713258743286, "AUTO_CLAMPED"], [0.35016486048698425, 166.66666666666652, "BEZIER", "AUTO", 2361.111195882161, 0.35016486048698425, "AUTO_CLAMPED", 2461.1111958821616, 0.35016486048698425, "AUTO_CLAMPED"], [0.22380617260932922, 133.33333333333348, "BEZIER", "AUTO", 2505.5554707845054, 0.22380617260932922, "AUTO_CLAMPED", 2611.111195882161, 0.22380617260932922, "AUTO_CLAMPED"], [0.3215503692626953, 183.33333333333348, "BEZIER", "AUTO", 2672.222137451172, 0.3215503692626953, "AUTO_CLAMPED", 2777.777862548828, 0.3215503692626953, "AUTO_CLAMPED"], [0.27883198857307434, 133.33333333333303, "BEZIER", "AUTO", 2822.222137451172, 0.3215503692626953, "AUTO_CLAMPED", 2905.5554707845054, 0.2414534091949463, "AUTO_CLAMPED"], [-0.044656865298748016, 116.66666666666697, "BEZIER", "AUTO", 2944.4445292154946, -0.010165050625801086, "AUTO_CLAMPED", 3005.5554707845054, -0.06436647474765778, "AUTO_CLAMPED"], [-0.06436647474765778, 66.66666666666652, "BEZIER", "AUTO", 3027.777862548828, -0.06436647474765778, "AUTO_CLAMPED", 3077.777862548828, -0.06436647474765778, "AUTO_CLAMPED"], [0.21741850674152374, 83.33333333333348, "BEZIER", "AUTO", 3105.555470784505, 0.21741850674152374, "AUTO_CLAMPED", 3194.4445292154946, 0.21741850674152374, "AUTO_CLAMPED"], [-0.0, 183.33333333333303, "BEZIER", "AUTO", 3255.5554707845054, -0.0, "AUTO_CLAMPED", 3377.777862548828, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, 0.0, "AUTO_CLAMPED"], [-0.29975396394729614, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, -0.11118181049823761, "AUTO_CLAMPED", 205.5555502573649, -0.431754469871521, "AUTO_CLAMPED"], [-0.6016762852668762, 116.66666666666666, "BEZIER", "AUTO", 244.4444497426351, -0.6016762852668762, "AUTO_CLAMPED", 344.44443384806317, -0.6016762852668762, "AUTO_CLAMPED"], [-0.2427852749824524, 183.33333333333337, "BEZIER", "AUTO", 405.55556615193683, -0.2427852749824524, "AUTO_CLAMPED", 561.1111323038737, -0.2427852749824524, "AUTO_CLAMPED"], [-0.5669558644294739, 283.3333333333333, "BEZIER", "AUTO", 655.555534362793, -0.4411567151546478, "AUTO_CLAMPED", 894.444465637207, -0.7593545913696289, "AUTO_CLAMPED"], [-0.7819992303848267, 433.33333333333326, "BEZIER", "AUTO", 1038.8888676961262, -0.7819992303848267, "AUTO_CLAMPED", 1538.888931274414, -0.7819992303848267, "AUTO_CLAMPED"], [-0.31888678669929504, 1066.6666666666667, "BEZIER", "AUTO", 1894.4444020589192, -0.4946317672729492, "AUTO_CLAMPED", 2305.5554707845054, -0.2914266288280487, "AUTO_CLAMPED"], [-0.2666915953159332, 166.66666666666652, "BEZIER", "AUTO", 2361.111195882161, -0.2666915953159332, "AUTO_CLAMPED", 2461.1111958821616, -0.2666915953159332, "AUTO_CLAMPED"], [-1.1831088066101074, 133.33333333333348, "BEZIER", "AUTO", 2505.5554707845054, -1.1831088066101074, "AUTO_CLAMPED", 2611.111195882161, -1.1831088066101074, "AUTO_CLAMPED"], [-0.03033590316772461, 183.33333333333348, "BEZIER", "AUTO", 2672.222137451172, -0.05289873480796814, "AUTO_CLAMPED", 2777.777862548828, -0.013926569372415543, "AUTO_CLAMPED"], [-0.013926569372415543, 133.33333333333303, "BEZIER", "AUTO", 2822.222137451172, -0.018347715958952904, "AUTO_CLAMPED", 2905.5554707845054, -0.010058065876364708, "AUTO_CLAMPED"], [0.000580325722694397, 116.66666666666697, "BEZIER", "AUTO", 2944.4445292154946, 0.000580325722694397, "AUTO_CLAMPED", 3005.5554707845054, 0.000580325722694397, "AUTO_CLAMPED"], [-0.08202043920755386, 66.66666666666652, "BEZIER", "AUTO", 3027.777862548828, -0.08202043920755386, "AUTO_CLAMPED", 3077.777862548828, -0.08202043920755386, "AUTO_CLAMPED"], [0.007577709853649139, 83.33333333333348, "BEZIER", "AUTO", 3105.555470784505, 0.007577709853649139, "AUTO_CLAMPED", 3194.4445292154946, 0.007577709853649139, "AUTO_CLAMPED"], [0.0, 183.33333333333303, "BEZIER", "AUTO", 3255.5554707845054, 0.0, "AUTO_CLAMPED", 3377.777862548828, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, 0.0, "AUTO_CLAMPED"], [2.9641926033154022, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 2.9641926033154022, "AUTO_CLAMPED", 205.5555502573649, 2.9641926033154022, "AUTO_CLAMPED"], [2.9641926033154022, 116.66666666666666, "BEZIER", "AUTO", 244.4444497426351, 2.9641926033154022, "AUTO_CLAMPED", 344.44443384806317, 2.9641926033154022, "AUTO_CLAMPED"], [-1.8676834254716639, 183.33333333333337, "BEZIER", "AUTO", 405.55556615193683, -1.8676834254716639, "AUTO_CLAMPED", 527.7777671813965, -1.8676834254716639, "AUTO_CLAMPED"], [0.692141648494032, 183.33333333333331, "BEZIER", "AUTO", 588.8888676961262, -0.02622915371246545, "AUTO_CLAMPED", 877.7777989705403, 3.3697056300941135, "AUTO_CLAMPED"], [3.3697056300941135, 683.3333333333333, "BEZIER", "AUTO", 1105.5555979410808, 3.3697056300941135, "AUTO_CLAMPED", 1638.8889312744138, 3.3697056300941135, "AUTO_CLAMPED"], [-4.827653264332706, 916.6666666666667, "BEZIER", "AUTO", 1944.4444020589194, 3.3697058435375253, "AUTO_CLAMPED", 2305.5554707845054, -6.318082076612705, "AUTO_CLAMPED"], [-9.225060960015261, 166.66666666666652, "BEZIER", "AUTO", 2361.111195882161, -9.225060960015261, "AUTO_CLAMPED", 2461.1111958821616, -9.225060960015261, "AUTO_CLAMPED"], [-5.332826008177896, 133.33333333333348, "BEZIER", "AUTO", 2505.5554707845054, -5.332826008177896, "AUTO_CLAMPED", 2611.111195882161, -5.332826008177896, "AUTO_CLAMPED"], [-9.762812852427766, 183.33333333333348, "BEZIER", "AUTO", 2672.222137451172, -9.762812852427766, "AUTO_CLAMPED", 2777.777862548828, -9.762812852427766, "AUTO_CLAMPED"], [-8.46581115546112, 133.33333333333303, "BEZIER", "AUTO", 2822.222137451172, -8.46581115546112, "AUTO_CLAMPED", 2905.5554707845054, -8.46581115546112, "AUTO_CLAMPED"], [-9.922516335601005, 116.66666666666697, "BEZIER", "AUTO", 2944.4445292154946, -9.922516335601005, "AUTO_CLAMPED", 3005.5554707845054, -9.922516335601005, "AUTO_CLAMPED"], [-5.976405705364225, 66.66666666666652, "BEZIER", "AUTO", 3027.777862548828, -7.419543141604702, "AUTO_CLAMPED", 3077.777862548828, -4.172483589898511, "AUTO_CLAMPED"], [-3.5616000082690333, 83.33333333333348, "BEZIER", "AUTO", 3105.555470784505, -4.024545961344266, "AUTO_CLAMPED", 3194.4445292154946, -2.543118911503521, "AUTO_CLAMPED"], [0.0, 183.33333333333303, "BEZIER", "AUTO", 3255.5554707845054, 0.0, "AUTO_CLAMPED", 3377.777862548828, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, -0.0, "AUTO_CLAMPED"], [-0.97928136045834, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, -0.97928136045834, "AUTO_CLAMPED", 205.5555502573649, -0.97928136045834, "AUTO_CLAMPED"], [-0.97928136045834, 116.66666666666666, "BEZIER", "AUTO", 244.4444497426351, -0.97928136045834, "AUTO_CLAMPED", 344.44443384806317, -0.97928136045834, "AUTO_CLAMPED"], [-0.8304706416290971, 183.33333333333337, "BEZIER", "AUTO", 405.55556615193683, -0.8304706416290971, "AUTO_CLAMPED", 527.7777671813965, -0.8304706416290971, "AUTO_CLAMPED"], [-0.8304706416290971, 183.33333333333331, "BEZIER", "AUTO", 588.8888676961262, -0.8304706416290971, "AUTO_CLAMPED", 877.7777989705403, -0.8304706416290971, "AUTO_CLAMPED"], [13.812658261344582, 683.3333333333333, "BEZIER", "AUTO", 1105.5555979410808, 13.812658261344582, "AUTO_CLAMPED", 1638.8889312744138, 13.812658261344582, "AUTO_CLAMPED"], [3.3376227374586827, 916.6666666666667, "BEZIER", "AUTO", 1944.4444020589194, 3.3376227374586827, "AUTO_CLAMPED", 2305.5554707845054, 3.3376227374586827, "AUTO_CLAMPED"], [5.674417428948574, 166.66666666666652, "BEZIER", "AUTO", 2361.111195882161, 5.674417428948574, "AUTO_CLAMPED", 2461.1111958821616, 5.674417428948574, "AUTO_CLAMPED"], [3.6080137050002086, 133.33333333333348, "BEZIER", "AUTO", 2505.5554707845054, 3.6080137050002086, "AUTO_CLAMPED", 2611.111195882161, 3.6080137050002086, "AUTO_CLAMPED"], [12.070624489948354, 183.33333333333348, "BEZIER", "AUTO", 2672.222137451172, 12.070624489948354, "AUTO_CLAMPED", 2777.777862548828, 12.070624489948354, "AUTO_CLAMPED"], [10.467026700197236, 133.33333333333303, "BEZIER", "AUTO", 2822.222137451172, 11.08395414546853, "AUTO_CLAMPED", 2905.5554707845054, 9.927215505749972, "AUTO_CLAMPED"], [8.542568821353722, 116.66666666666697, "BEZIER", "AUTO", 2944.4445292154946, 9.67049003919035, "AUTO_CLAMPED", 3005.5554707845054, 7.8980422891937, "AUTO_CLAMPED"], [6.156128899881594, 66.66666666666652, "BEZIER", "AUTO", 3027.777862548828, 6.969043500744525, "AUTO_CLAMPED", 3077.777862548828, 5.139985862246341, "AUTO_CLAMPED"], [3.4902371246036825, 83.33333333333348, "BEZIER", "AUTO", 3105.555470784505, 4.305224474436301, "AUTO_CLAMPED", 3194.4445292154946, 1.697264656151145, "AUTO_CLAMPED"], [-0.0, 183.33333333333303, "BEZIER", "AUTO", 3255.5554707845054, -0.0, "AUTO_CLAMPED", 3377.777862548828, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, 0.0, "AUTO_CLAMPED"], [0.35034732308023736, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 0.35034732308023736, "AUTO_CLAMPED", 205.5555502573649, 0.35034732308023736, "AUTO_CLAMPED"], [0.35034732308023736, 116.66666666666666, "BEZIER", "AUTO", 244.4444497426351, 0.35034732308023736, "AUTO_CLAMPED", 344.44443384806317, 0.35034732308023736, "AUTO_CLAMPED"], [0.007649265755435478, 183.33333333333337, "BEZIER", "AUTO", 405.55556615193683, 0.007649265755435478, "AUTO_CLAMPED", 527.7777671813965, 0.007649265755435478, "AUTO_CLAMPED"], [0.007649265755435478, 183.33333333333331, "BEZIER", "AUTO", 588.8888676961262, 0.007649265755435478, "AUTO_CLAMPED", 877.7777989705403, 0.007649265755435478, "AUTO_CLAMPED"], [0.22848543578639705, 683.3333333333333, "BEZIER", "AUTO", 1105.5555979410808, 0.0800165065601324, "AUTO_CLAMPED", 1638.8889312744138, 0.42765108394132434, "AUTO_CLAMPED"], [0.7637636524610204, 916.6666666666667, "BEZIER", "AUTO", 1944.4444020589194, 0.7637636524610204, "AUTO_CLAMPED", 2305.5554707845054, 0.7637636524610204, "AUTO_CLAMPED"], [0.04634753594369751, 166.66666666666652, "BEZIER", "AUTO", 2361.111195882161, 0.04634753594369751, "AUTO_CLAMPED", 2461.1111958821616, 0.04634753594369751, "AUTO_CLAMPED"], [0.6907170204435554, 133.33333333333348, "BEZIER", "AUTO", 2505.5554707845054, 0.0463475292735909, "AUTO_CLAMPED", 2611.111195882161, 1.576725050791937, "AUTO_CLAMPED"], [6.133171353420711, 183.33333333333348, "BEZIER", "AUTO", 2672.222137451172, 6.133171353420711, "AUTO_CLAMPED", 2777.777862548828, 6.133171353420711, "AUTO_CLAMPED"], [5.3183716203468565, 133.33333333333303, "BEZIER", "AUTO", 2822.222137451172, 6.133171353420711, "AUTO_CLAMPED", 2905.5554707845054, 4.60542196062894, "AUTO_CLAMPED"], [2.264997877368833, 116.66666666666697, "BEZIER", "AUTO", 2944.4445292154946, 2.684597955867284, "AUTO_CLAMPED", 3005.5554707845054, 2.0252264344330624, "AUTO_CLAMPED"], [2.0252264344330624, 66.66666666666652, "BEZIER", "AUTO", 3027.777862548828, 2.147129516305334, "AUTO_CLAMPED", 3077.777862548828, 1.8728476888144283, "AUTO_CLAMPED"], [0.9566294649628159, 83.33333333333348, "BEZIER", "AUTO", 3105.555470784505, 1.339521972427503, "AUTO_CLAMPED", 3194.4445292154946, 0.11426586316313989, "AUTO_CLAMPED"], [0.0, 183.33333333333303, "BEZIER", "AUTO", 3255.5554707845054, 0.0, "AUTO_CLAMPED", 3377.777862548828, 0.0, "AUTO_CLAMPED"]]}}, "Mag": {"location": {"x": [[1.6590982809816524e-08, 0.0, "BEZIER", "AUTO", 55.555554231007896, 1.6590982809816524e-08, "AUTO_CLAMPED"], [1.6590982809816524e-08, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 1.6590982809816524e-08, "AUTO_CLAMPED", 250.0, 1.6590982809816524e-08, "AUTO_CLAMPED"], [-0.00021278602071106434, 250.00000000000003, "BEZIER", "AUTO", 333.3333333333333, 1.658918336033821e-08, "AUTO_CLAMPED", 461.1111005147298, -0.00032628074404783547, "AUTO_CLAMPED"], [-0.08896885067224503, 133.33333333333331, "BEZIER", "AUTO", 505.5555661519369, -0.08896885067224503, "AUTO_CLAMPED", 594.444465637207, -0.08896885067224503, "AUTO_CLAMPED"], [0.49737149477005005, 133.33333333333337, "BEZIER", "AUTO", 638.8888676961263, -0.07979017496109009, "AUTO_CLAMPED", 744.444465637207, 1.2909687757492065, "AUTO_CLAMPED"], [4.048333168029785, 183.33333333333337, "BEZIER", "AUTO", 805.555534362793, 3.1584081649780273, "AUTO_CLAMPED", 911.1111323038737, 4.69555139541626, "AUTO_CLAMPED"], [6.1233038902282715, 133.33333333333326, "BEZIER", "EASE_IN", 955.555534362793, 4.825736999511719, "AUTO_CLAMPED", 1100.0, 9.042829513549805, "AUTO_CLAMPED"], [17.87222671508789, 300.0, "CONSTANT", "AUTO", 1200.0, 17.87222671508789, "AUTO_CLAMPED"], [4.58225154876709, 216.66666666666652, "BEZIER", "AUTO", 1650.0, 2.1092658042907715, "AUTO_CLAMPED"], [2.1092658042907715, 400.0000000000002, "BEZIER", "AUTO", 1783.3333333333333, 2.669361114501953, "AUTO_CLAMPED", 2000.0, 1.7592062950134277, "AUTO_CLAMPED"], [0.5067520141601562, 249.99999999999977, "BEZIER", "AUTO", 2083.3333333333335, 0.9715721607208252, "AUTO_CLAMPED", 2227.777862548828, 0.165883868932724, "AUTO_CLAMPED"], [-0.001381576294079423, 183.33333333333348, "BEZIER", "AUTO", 2288.8888041178384, -0.001381576294079423, "AUTO_CLAMPED", 2400.0, -0.001381576294079423, "AUTO_CLAMPED"], [1.6590982809816524e-08, 150.0, "BEZIER", "AUTO", 2450.0, 1.6590982809816524e-08, "AUTO_CLAMPED", 2550.0, 1.6590982809816524e-08, "AUTO_CLAMPED"]], "z": [[1.5, 0.0, "BEZIER", "AUTO", 55.555554231007896, 1.5, "AUTO_CLAMPED"], [1.5, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 1.5, "AUTO_CLAMPED", 250.0, 1.5, "AUTO_CLAMPED"], [1.6245688199996948, 250.00000000000003, "BEZIER", "AUTO", 333.3333333333333, 1.6245688199996948, "AUTO_CLAMPED", 461.1111005147298, 1.6245688199996948, "AUTO_CLAMPED"], [1.6176480054855347, 133.33333333333331, "BEZIER", "AUTO", 505.5555661519369, 1.6193782091140747, "AUTO_CLAMPED", 594.444465637207, 1.6159178018569946, "AUTO_CLAMPED"], [1.6000792980194092, 133.33333333333337, "BEZIER", "AUTO", 638.8888676961263, 1.6176480054855347, "AUTO_CLAMPED", 744.444465637207, 1.5759223699569702, "AUTO_CLAMPED"], [-1.4766695499420166, 183.33333333333337, "BEZIER", "AUTO", 805.555534362793, -1.4766695499420166, "AUTO_CLAMPED", 911.1111323038737, -1.4766695499420166, "AUTO_CLAMPED"], [-1.1554278135299683, 133.33333333333326, "BEZIER", "EASE_IN", 955.555534362793, -1.4023916721343994, "AUTO_CLAMPED", 1100.0, -0.5997589826583862, "AUTO_CLAMPED"], [0.8301324844360352, 300.0, "CONSTANT", "AUTO", 1200.0, 0.8301324844360352, "AUTO_CLAMPED"], [-2.845935821533203, 216.66666666666652, "BEZIER", "AUTO", 1650.0, -2.845935821533203, "AUTO_CLAMPED"], [-2.06758451461792, 400.0000000000002, "BEZIER", "AUTO", 1783.3333333333333, -2.845935821533203, "AUTO_CLAMPED", 2000.0, -1.5811150074005127, "AUTO_CLAMPED"], [1.2230087518692017, 249.99999999999977, "BEZIER", "AUTO", 2083.3333333333335, 0.7558850049972534, "AUTO_CLAMPED", 2227.777862548828, 1.5655661821365356, "AUTO_CLAMPED"], [1.5655661821365356, 183.33333333333348, "BEZIER", "AUTO", 2288.8888041178384, 1.5655661821365356, "AUTO_CLAMPED", 2400.0, 1.5655661821365356, "AUTO_CLAMPED"], [1.5, 150.0, "BEZIER", "AUTO", 2450.0, 1.5, "AUTO_CLAMPED", 2550.0, 1.5, "AUTO_CLAMPED"]], "y": [[2.3913047313690186, 0.0, "BEZIER", "AUTO", 55.555554231007896, 2.3913047313690186, "AUTO_CLAMPED"], [2.3913047313690186, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 2.3913047313690186, "AUTO_CLAMPED", 250.0, 2.3913047313690186, "AUTO_CLAMPED"], [3.190911054611206, 250.00000000000003, "BEZIER", "AUTO", 333.3333333333333, 2.795443058013916, "AUTO_CLAMPED", 461.1111005147298, 3.401827335357666, "AUTO_CLAMPED"], [3.736901044845581, 133.33333333333331, "BEZIER", "AUTO", 505.5555661519369, 3.6102774143218994, "AUTO_CLAMPED", 594.444465637207, 3.8635246753692627, "AUTO_CLAMPED"], [3.9083218574523926, 133.33333333333337, "BEZIER", "AUTO", 638.8888676961263, 3.9083218574523926, "AUTO_CLAMPED", 777.7777989705403, 3.9083218574523926, "AUTO_CLAMPED"], [2.154109477996826, 283.33333333333326, "BEZIER", "AUTO", 938.4711583455404, 0.7801735401153564, "ALIGNED", 1088.4118398030598, 8.086616516113281, "ALIGNED"], [-8.979971885681152, 333.33333333333337, "CONSTANT", "AUTO", 1262.9019419352214, -4.779057025909424, "ALIGNED"], [-4.248352527618408, 216.66666666666652, "BEZIER", "AUTO", 1650.0, 0.3588838577270508, "AUTO_CLAMPED"], [2.7332305908203125, 400.0000000000002, "BEZIER", "AUTO", 1783.3333333333333, 2.5646088123321533, "AUTO_CLAMPED", 2000.0, 2.8386192321777344, "AUTO_CLAMPED"], [2.8386192321777344, 249.99999999999977, "BEZIER", "AUTO", 2083.3333333333335, 2.8386192321777344, "AUTO_CLAMPED", 2227.777862548828, 2.8386192321777344, "AUTO_CLAMPED"], [2.8217806816101074, 183.33333333333348, "BEZIER", "AUTO", 2288.8888041178384, 2.8386192321777344, "AUTO_CLAMPED", 2400.0, 2.8080036640167236, "AUTO_CLAMPED"], [2.3913047313690186, 150.0, "BEZIER", "AUTO", 2450.0, 2.3913047313690186, "AUTO_CLAMPED", 2550.0, 2.3913047313690186, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, 0.0, "AUTO_CLAMPED"], [0.0, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 0.0, "AUTO_CLAMPED", 250.0, 0.0, "AUTO_CLAMPED"], [19.9088334682391, 250.00000000000003, "BEZIER", "AUTO", 333.3333333333333, 19.9088334682391, "AUTO_CLAMPED", 450.0, 19.9088334682391, "AUTO_CLAMPED"], [19.9088334682391, 99.99999999999994, "BEZIER", "AUTO", 483.3333333333333, 19.9088334682391, "AUTO_CLAMPED", 588.8888676961262, 19.9088334682391, "AUTO_CLAMPED"], [19.65956571447948, 216.66666666666663, "BEZIER", "AUTO", 661.1111323038737, 19.9088334682391, "AUTO_CLAMPED", 822.2222010294596, 19.352774107530017, "AUTO_CLAMPED"], [6.8487506359690835, 266.66666666666674, "BEZIER", "EASE_IN", 911.1111323038737, 6.8487506359690835, "AUTO_CLAMPED", 1100.0, 6.8487506359690835, "AUTO_CLAMPED"], [18.430997390354484, 300.0, "CONSTANT", "AUTO", 1203.1758626302083, 16.18389759681885, "ALIGNED"], [3.7309174095858877, 216.66666666666652, "BEZIER", "AUTO", 1622.2222646077473, 3.7309174095858877, "AUTO_CLAMPED"], [6.951205607953391, 316.66666666666674, "BEZIER", "AUTO", 1727.7777353922525, 5.1776103861761795, "AUTO_CLAMPED", 1944.4444020589194, 8.81814817134352, "AUTO_CLAMPED"], [11.202414385112291, 333.33333333333326, "BEZIER", "AUTO", 2055.5555979410806, 11.047306765476826, "AUTO_CLAMPED", 2227.777862548828, 11.287723447845751, "AUTO_CLAMPED"], [11.287723447845751, 183.33333333333348, "BEZIER", "AUTO", 2288.8888041178384, 11.287723447845751, "AUTO_CLAMPED", 2400.0, 11.287723447845751, "AUTO_CLAMPED"], [0.0, 150.0, "BEZIER", "AUTO", 2450.0, 0.0, "AUTO_CLAMPED", 2550.0, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, -0.0, "AUTO_CLAMPED"], [-0.0, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, -0.0, "AUTO_CLAMPED", 250.0, -0.0, "AUTO_CLAMPED"], [0.06078959074761263, 250.00000000000003, "BEZIER", "AUTO", 333.3333333333333, 0.06078959074761263, "AUTO_CLAMPED", 450.0, 0.06078959074761263, "AUTO_CLAMPED"], [0.06078959074761263, 99.99999999999994, "BEZIER", "AUTO", 483.3333333333333, 0.06078959074761263, "AUTO_CLAMPED", 588.8888676961262, 0.06078959074761263, "AUTO_CLAMPED"], [7.811642957513978, 216.66666666666663, "BEZIER", "AUTO", 661.1111323038737, 7.811642957513978, "AUTO_CLAMPED", 822.2222010294596, 7.811642957513978, "AUTO_CLAMPED"], [-38.30911379034874, 266.66666666666674, "BEZIER", "EASE_IN", 911.3918304443359, 13.807524520409672, "ALIGNED", 1077.3877461751301, -83.82624232502783, "ALIGNED"], [-352.32899724031466, 300.0, "CONSTANT", "AUTO", 1261.3759358723958, -321.9006410916913, "ALIGNED"], [-69.20970580309225, 216.66666666666652, "BEZIER", "AUTO", 1622.2222646077473, -43.611167661881616, "AUTO_CLAMPED"], [-43.611167661881616, 316.66666666666674, "BEZIER", "AUTO", 1727.7777353922525, -51.158690619285785, "AUTO_CLAMPED", 1944.4444020589194, -35.66640773253867, "AUTO_CLAMPED"], [-3.7350402825236366, 333.33333333333326, "BEZIER", "AUTO", 2055.5555979410806, -10.995832752344318, "AUTO_CLAMPED", 2227.777862548828, 0.25839587469851427, "AUTO_CLAMPED"], [0.2583960614614994, 183.33333333333348, "BEZIER", "AUTO", 2288.8888041178384, 0.2583960614614994, "AUTO_CLAMPED", 2400.0, 0.2583960614614994, "AUTO_CLAMPED"], [-0.0, 150.0, "BEZIER", "AUTO", 2450.0, -0.0, "AUTO_CLAMPED", 2550.0, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, 0.0, "AUTO_CLAMPED"], [0.0, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 0.0, "AUTO_CLAMPED", 250.0, 0.0, "AUTO_CLAMPED"], [0.35444556998437726, 250.00000000000003, "BEZIER", "AUTO", 333.3333333333333, 0.35444556998437726, "AUTO_CLAMPED", 450.0, 0.35444556998437726, "AUTO_CLAMPED"], [0.35444556998437726, 99.99999999999994, "BEZIER", "AUTO", 483.3333333333333, 0.35444556998437726, "AUTO_CLAMPED", 588.8888676961262, 0.35444556998437726, "AUTO_CLAMPED"], [3.2815099586626775, 216.66666666666663, "BEZIER", "AUTO", 661.1111323038737, 3.2815099586626775, "AUTO_CLAMPED", 822.2222010294596, 3.2815099586626775, "AUTO_CLAMPED"], [-16.578976228979897, 266.66666666666674, "BEZIER", "EASE_IN", 911.1111323038737, -16.578976228979897, "AUTO_CLAMPED", 1100.0, -16.578976228979897, "AUTO_CLAMPED"], [-8.980774975481523, 300.0, "CONSTANT", "AUTO", 1200.0, -8.980774975481523, "AUTO_CLAMPED"], [-10.256062647303052, 216.66666666666652, "BEZIER", "AUTO", 1622.2222646077473, -10.955330584339789, "AUTO_CLAMPED"], [-11.29071421692857, 316.66666666666674, "BEZIER", "AUTO", 1727.7777353922525, -10.97447645835698, "AUTO_CLAMPED", 1944.4444020589194, -11.623596292733836, "AUTO_CLAMPED"], [-12.285666165777036, 333.33333333333326, "BEZIER", "AUTO", 2055.5555979410806, -12.285666165777036, "AUTO_CLAMPED", 2183.333333333333, -12.285666165777036, "AUTO_CLAMPED"], [-1.6670543025653557, 50.000000000000455, "BEZIER", "AUTO", 2200.0, -1.9612403685147366, "AUTO_CLAMPED", 2311.1111958821616, 0.0, "AUTO_CLAMPED"], [0.0, 283.33333333333303, "BEZIER", "AUTO", 2405.5554707845054, 0.0, "AUTO_CLAMPED", 2594.4445292154946, 0.0, "AUTO_CLAMPED"]]}}}}, "offset": {"Bolt": [0.4437499940395355, 1.8304203748703003, -1.8655332326889038], "Mag": [1.6590982809816524e-08, 2.3913047313690186, 1.5], "MagPlate": [8.392404104995421e-09, 2.080420970916748, 1.7499605417251587], "Silencer": [2.45330426196233e-07, 1.8616708517074585, 11.875], "Trigger": [2.9753691066503052e-08, 1.111669898033142, -1.562500238418579]}, "hierarchy": {"Bolt": "Gun", "Mag": "Gun", "MagPlate": "Mag", "Silencer": "Gun", "Trigger": "Gun"}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/animations/benelli.json b/src/main/resources/assets/hbm/models/weapons/animations/benelli.json deleted file mode 100644 index 0e37a1ce0..000000000 --- a/src/main/resources/assets/hbm/models/weapons/animations/benelli.json +++ /dev/null @@ -1 +0,0 @@ -{"anim": {"Fire": {"Body": {"location": {"x": [[0.0, 0.0], [0.0, 33.333333333333336], [0.0, 66.66666666666666], [0.0, 66.66666666666666], [0.0, 83.33333333333334], [0.0, 100.0]], "z": [[-0.0, 0.0], [1.2799978256225586, 33.333333333333336], [3.300405740737915, 66.66666666666666], [3.3889946937561035, 66.66666666666666], [2.0333967208862305, 83.33333333333334], [-0.0, 100.0]], "y": [[0.0, 0.0], [0.9528294205665588, 33.333333333333336], [1.7167738676071167, 66.66666666666666], [0.5139352083206177, 66.66666666666666], [0.30836111307144165, 83.33333333333334], [0.0, 100.0]]}, "rotation_euler": {"x": [[0.0, 0.0], [-5.1962657672336, 16.666666666666668], [6.746534720605728, 100.0], [1.678380570478235, 49.999999999999986], [1.0070283636312822, 83.33333333333334], [0.0, 100.0]], "z": [[-0.0, 0.0], [-0.0, 16.666666666666668], [-0.0, 100.0], [0.0, 49.999999999999986], [0.0, 83.33333333333334], [-0.0, 100.0]], "y": [[0.0, 0.0], [0.0, 16.666666666666668], [0.0, 100.0], [0.0, 49.999999999999986], [0.0, 83.33333333333334], [0.0, 100.0]]}}, "Bolt": {"location": {"z": [[-0.0, 0.0], [4.257456302642822, 66.66666666666667], [4.257456302642822, 33.33333333333333], [2.882056713104248, 66.66666666666666], [-0.0, 83.33333333333334]]}}}, "Reload": {"Body": {"location": {"x": [[0.0, 0.0], [0.5007915496826172, 83.33333333333333], [0.46001285314559937, 83.33333333333333], [0.15397095680236816, 100.00000000000003], [0.03881697356700897, 116.66666666666663], [0.03881697356700897, 116.66666666666669], [0.6601351499557495, 383.33333333333326], [0.4018043577671051, 133.33333333333337], [0.8223400712013245, 83.33333333333337], [0.6317735910415649, 83.33333333333326], [0.15794339776039124, 116.66666666666674], [0.0, 66.66666666666674]], "z": [[-0.0, 0.0], [0.4146515130996704, 83.33333333333333], [0.3180652856826782, 83.33333333333333], [-0.12122371792793274, 100.00000000000003], [-0.2061876803636551, 116.66666666666663], [-0.2061876803636551, 116.66666666666669], [-0.6247760653495789, 383.33333333333326], [-1.290284276008606, 133.33333333333337], [-1.3669732809066772, 83.33333333333337], [-1.4020495414733887, 83.33333333333326], [-0.35051238536834717, 116.66666666666674], [-0.0, 66.66666666666674]], "y": [[0.0, 0.0], [1.4644715785980225, 83.33333333333333], [1.9239956140518188, 83.33333333333333], [-0.3446009159088135, 100.00000000000003], [-0.7123041152954102, 116.66666666666663], [-0.7123041152954102, 116.66666666666669], [0.6297056674957275, 383.33333333333326], [0.5360619425773621, 133.33333333333337], [1.523516058921814, 83.33333333333337], [0.8995347023010254, 83.33333333333326], [0.22488367557525635, 116.66666666666674], [0.0, 66.66666666666674]]}, "rotation_euler": {"x": [[0.0, 0.0], [8.444355823730817, 116.66666666666667], [10.09434425832466, 83.33333333333333], [10.670753313892146, 33.33333333333334], [4.141512097107088, 116.66666666666666], [1.1253919134096066, 150.0], [-4.873045847782964, 350.0], [-4.873045847782964, 166.66666666666663], [-1.8423141819035325, 50.000000000000114], [-0.5846049624063828, 116.66666666666652], [-0.1461512406015957, 116.66666666666674], [0.0, 66.66666666666674]], "z": [[-0.0, 0.0], [-9.164495111323818, 116.66666666666667], [-10.54833497962436, 83.33333333333333], [-10.991167733141198, 33.33333333333334], [-9.358875464913211, 116.66666666666666], [-10.721522963766496, 150.0], [-22.99460365222414, 350.0], [-22.99460365222414, 166.66666666666663], [-24.61038393813362, 50.000000000000114], [-19.906907354893153, 116.66666666666652], [-4.976726838723288, 116.66666666666674], [-0.0, 66.66666666666674]], "y": [[-0.0, 0.0], [-1.7598609920167847, 116.66666666666667], [-2.1381843163701446, 83.33333333333333], [-2.2967894197474803, 33.33333333333334], [-2.016966814735813, 116.66666666666666], [-2.2765310786692226, 150.0], [0.2646153489071927, 350.0], [0.2646153489071927, 166.66666666666663], [-1.4523905282968463, 50.000000000000114], [-0.7688532106097378, 116.66666666666652], [-0.19221331599264765, 116.66666666666674], [0.0, 66.66666666666674]]}}, "Drum": {"location": {"x": [[0.0, 0.0], [0.0, 266.6666666666667], [0.0, 99.99999999999994], [0.0, 316.66666666666674], [-7.078051567077637e-08, 183.33333333333337], [-7.078051567077637e-08, 66.66666666666663], [-7.078051567077637e-08, 83.33333333333326]], "z": [[-0.0, 0.0], [-0.0, 266.6666666666667], [-0.0, 99.99999999999994], [-0.0, 316.66666666666674], [-0.16810643672943115, 183.33333333333337], [-0.16810643672943115, 66.66666666666663], [-0.0, 83.33333333333326]], "y": [[0.0, 0.0], [0.0, 266.6666666666667], [-3.731025218963623, 99.99999999999994], [-3.731025218963623, 316.66666666666674], [-0.9465155601501465, 183.33333333333337], [-0.9465155601501465, 66.66666666666663], [0.0, 83.33333333333326]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 266.6666666666667], [0.0, 99.99999999999994], [0.0, 316.66666666666674], [18.37620219773806, 183.33333333333337], [18.37620219773806, 66.66666666666663], [0.0, 83.33333333333326]], "z": [[0.0, 0.0], [0.0, 266.6666666666667], [0.0, 99.99999999999994], [0.0, 316.66666666666674], [3.379190651762519e-06, 183.33333333333337], [3.379190651762519e-06, 66.66666666666663], [-0.0, 83.33333333333326]], "y": [[0.0, 0.0], [0.0, 266.6666666666667], [0.0, 99.99999999999994], [0.0, 316.66666666666674], [-3.3751875801959914e-07, 183.33333333333337], [-3.3751875801959914e-07, 66.66666666666663], [-3.3751875801959914e-07, 83.33333333333326]]}}}, "ReloadEmpty": {"Body": {"location": {"x": [[0.0, 0.0], [0.5007915496826172, 83.33333333333333], [0.46001285314559937, 83.33333333333333], [0.15397095680236816, 100.00000000000003], [0.03881697356700897, 116.66666666666663], [0.03881697356700897, 116.66666666666669], [0.6601351499557495, 383.33333333333326], [0.4018043577671051, 133.33333333333337], [0.8223400712013245, 83.33333333333337], [0.6317735910415649, 133.33333333333348], [-1.6643010377883911, 99.99999999999977], [-2.1745400428771973, 83.33333333333348], [-1.930220603942871, 233.33333333333326], [-2.2005791664123535, 100.0], [0.0, 233.33333333333348]], "z": [[-0.0, 0.0], [0.4146515130996704, 83.33333333333333], [0.3180652856826782, 83.33333333333333], [-0.12122371792793274, 100.00000000000003], [-0.2061876803636551, 116.66666666666663], [-0.2061876803636551, 116.66666666666669], [-0.6247760653495789, 383.33333333333326], [-1.290284276008606, 133.33333333333337], [-1.3669732809066772, 83.33333333333337], [-1.4020495414733887, 133.33333333333348], [-1.1939475536346436, 99.99999999999977], [-1.147702693939209, 83.33333333333348], [-0.7498241662979126, 233.33333333333326], [-1.5017924308776855, 100.0], [-0.0, 233.33333333333348]], "y": [[0.0, 0.0], [1.4644715785980225, 83.33333333333333], [1.9239956140518188, 83.33333333333333], [-0.3446009159088135, 100.00000000000003], [-0.7123041152954102, 116.66666666666663], [-0.7123041152954102, 116.66666666666669], [0.6297056674957275, 383.33333333333326], [0.5360619425773621, 133.33333333333337], [1.523516058921814, 83.33333333333337], [0.8995347023010254, 133.33333333333348], [0.7137325406074524, 99.99999999999977], [0.672443151473999, 83.33333333333348], [0.7088958621025085, 233.33333333333326], [0.8606953024864197, 100.0], [0.0, 233.33333333333348]]}, "rotation_euler": {"x": [[0.0, 0.0], [8.444355823730817, 116.66666666666667], [10.09434425832466, 83.33333333333333], [10.670753313892146, 33.33333333333334], [4.141512097107088, 116.66666666666666], [1.1253919134096066, 150.0], [-4.873045847782964, 350.0], [-4.873045847782964, 166.66666666666663], [-1.8423141819035325, 50.000000000000114], [-0.5846049624063828, 100.0], [4.828984724334035, 166.66666666666652], [5.661844758233873, 83.33333333333348], [9.69551499853563, 233.33333333333326], [3.8410456722158806, 133.33333333333326], [0.0, 200.00000000000023]], "z": [[-0.0, 0.0], [-9.164495111323818, 116.66666666666667], [-10.54833497962436, 83.33333333333333], [-10.991167733141198, 33.33333333333334], [-9.358875464913211, 116.66666666666666], [-10.721522963766496, 150.0], [-22.99460365222414, 350.0], [-22.99460365222414, 166.66666666666663], [-24.61038393813362, 50.000000000000114], [-19.906907354893153, 100.0], [48.29071467736494, 166.66666666666652], [58.78265705388074, 83.33333333333348], [56.59382389660719, 233.33333333333326], [58.250277959024096, 133.33333333333326], [-0.0, 200.00000000000023]], "y": [[-0.0, 0.0], [-1.7598609920167847, 116.66666666666667], [-2.1381843163701446, 83.33333333333333], [-2.2967894197474803, 33.33333333333334], [-2.016966814735813, 116.66666666666666], [-2.2765310786692226, 150.0], [0.2646153489071927, 350.0], [0.2646153489071927, 166.66666666666663], [-1.4523905282968463, 50.000000000000114], [-0.7688532106097378, 100.0], [18.290462833086888, 166.66666666666652], [21.222664751320654, 83.33333333333348], [22.87163463395452, 233.33333333333326], [21.677345321726527, 133.33333333333326], [0.0, 200.00000000000023]]}}, "Bolt": {"location": {"z": [[-0.0, 0.0], [-0.0, 1416.6666666666667], [4.2012176513671875, 150.0], [4.2012176513671875, 50.0], [2.4794747829437256, 50.0], [-0.0, 49.99999999999977]]}}, "Drum": {"location": {"x": [[0.0, 0.0], [0.0, 266.6666666666667], [0.0, 99.99999999999994], [0.0, 316.66666666666674], [-7.078051567077637e-08, 183.33333333333337], [-7.078051567077637e-08, 66.66666666666663], [-7.078051567077637e-08, 83.33333333333326]], "z": [[-0.0, 0.0], [-0.0, 266.6666666666667], [-0.0, 99.99999999999994], [-0.0, 316.66666666666674], [-0.16810643672943115, 183.33333333333337], [-0.16810643672943115, 66.66666666666663], [-0.0, 83.33333333333326]], "y": [[0.0, 0.0], [0.0, 266.6666666666667], [-3.731025218963623, 99.99999999999994], [-3.731025218963623, 316.66666666666674], [-0.9465155601501465, 183.33333333333337], [-0.9465155601501465, 66.66666666666663], [0.0, 83.33333333333326]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 266.6666666666667], [0.0, 99.99999999999994], [0.0, 316.66666666666674], [18.37620219773806, 183.33333333333337], [18.37620219773806, 66.66666666666663], [0.0, 83.33333333333326]], "z": [[0.0, 0.0], [0.0, 266.6666666666667], [0.0, 99.99999999999994], [0.0, 316.66666666666674], [3.379190651762519e-06, 183.33333333333337], [3.379190651762519e-06, 66.66666666666663], [-0.0, 83.33333333333326]], "y": [[0.0, 0.0], [0.0, 266.6666666666667], [0.0, 99.99999999999994], [0.0, 316.66666666666674], [-3.3751875801959914e-07, 183.33333333333337], [-3.3751875801959914e-07, 66.66666666666663], [-3.3751875801959914e-07, 83.33333333333326]]}}}}, "offset": {}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/animations/congolake.json b/src/main/resources/assets/hbm/models/weapons/animations/congolake.json index 0fd6911a6..192bd4f63 100644 --- a/src/main/resources/assets/hbm/models/weapons/animations/congolake.json +++ b/src/main/resources/assets/hbm/models/weapons/animations/congolake.json @@ -1 +1 @@ -{"anim": {"Fire": {"Gun": {"location": {"x": [[0.0, 0.0], [0.0, 50.0], [-0.015234995633363724, 133.33333333333331], [-0.0032073669135570526, 166.66666666666669], [0.0, 150.0], [0.1729116439819336, 183.33333333333337], [0.13706907629966736, 83.33333333333326], [0.13706907629966736, 200.0], [0.08123889565467834, 166.66666666666663], [0.0, 116.66666666666674]], "z": [[-0.0, 0.0], [-0.7130982875823975, 50.0], [-0.8931010961532593, 133.33333333333331], [-0.1880212426185608, 166.66666666666669], [-0.0, 150.0], [0.07001475989818573, 183.33333333333337], [0.3594728708267212, 83.33333333333326], [0.3594728708267212, 200.0], [0.052131712436676025, 166.66666666666663], [-0.0, 116.66666666666674]], "y": [[0.0, 0.0], [-0.05462139472365379, 50.0], [0.33006909489631653, 133.33333333333331], [0.06948822736740112, 166.66666666666669], [0.0, 150.0], [0.1356278508901596, 183.33333333333337], [0.16076654195785522, 83.33333333333326], [0.16076654195785522, 200.0], [0.13280370831489563, 166.66666666666663], [0.0, 116.66666666666674]]}, "rotation_euler": {"x": [[0.0, 0.0], [5.533829083941263, 83.33333333333333], [-6.777895961066664, 133.33333333333337], [-1.4269255553586289, 166.66666666666663], [0.0, 116.66666666666669], [-1.6187724423744758, 216.66666666666663], [-3.0496036919995886, 100.0], [-1.5771150119048625, 216.66666666666663], [-1.3797563756722266, 133.33333333333348], [0.0, 116.66666666666652]], "z": [[-0.0, 0.0], [0.20789931232904474, 83.33333333333333], [-0.2137078679498249, 133.33333333333337], [-0.04499113641374835, 166.66666666666663], [-0.0, 116.66666666666669], [6.481160527009576, 216.66666666666663], [6.3670886839075465, 100.0], [2.910396325865089, 216.66666666666663], [2.9018462096847024, 133.33333333333348], [-0.0, 116.66666666666652]], "y": [[0.0, 0.0], [0.299797573280649, 83.33333333333333], [-0.3922261210480681, 133.33333333333337], [-0.08257391881641295, 166.66666666666663], [0.0, 116.66666666666669], [-1.7981676810899783, 216.66666666666663], [-1.8284025806680975, 100.0], [4.424185025436767, 216.66666666666663], [0.5393851613977845, 133.33333333333348], [0.0, 116.66666666666652]]}}, "Loop": {"rotation_euler": {"z": [[0.0, 0.0], [28.83552188323058, 50.0], [-11.070683087911195, 50.0], [-2.56723823045354, 33.33333333333334], [7.0765451287518255, 49.99999999999997], [80.15762477840892, 116.66666666666669], [60.820607917294126, 50.0], [-0.0, 83.33333333333337]]}, "location": {"x": [[0.2532634139060974, 0.0]], "z": [[3.4837722778320312, 0.0]], "y": [[1.4936577081680298, 0.0]]}}, "Pump": {"location": {"z": [[-0.0, 683.3333333333334], [-0.10627399384975433, 49.999999999999886], [-0.7439179420471191, 66.66666666666674], [-0.7439179420471191, 200.0], [-0.18597948551177979, 66.66666666666674], [-0.0, 66.66666666666652]]}}, "Shell": {"location": {"x": [[1.5205265935236412e-09, 0.0, "CONSTANT"], [-2.204763704938273e-09, 683.3333333333334], [-2.204763704938273e-09, 66.66666666666663], [1.5205265935236412e-09, 116.66666666666674], [-0.01397116482257843, 66.66666666666663], [-0.01397116482257843, 49.999999999999886], [1.5205265935236412e-09, 150.0]], "z": [[1.2549771070480347, 0.0, "CONSTANT"], [1.2549771070480347, 683.3333333333334], [0.4066495895385742, 66.66666666666663], [0.4066495895385742, 116.66666666666674], [0.4519183039665222, 66.66666666666663], [0.4519183039665222, 49.999999999999886], [1.2549771070480347, 150.0]], "y": [[1.7459099292755127, 0.0, "CONSTANT"], [1.199751853942871, 683.3333333333334], [1.199751853942871, 66.66666666666663], [1.5027252435684204, 116.66666666666674], [1.5814520120620728, 66.66666666666663], [1.5814520120620728, 49.999999999999886], [1.7459099292755127, 150.0]]}, "rotation_euler": {"x": [[0.0, 0.0, "CONSTANT"], [0.0, 683.3333333333334], [0.0, 66.66666666666663], [-24.580495030325643, 116.66666666666674], [-15.192167789711336, 66.66666666666663], [-15.192167789711336, 49.999999999999886], [0.0, 150.0]], "z": [[0.0, 0.0, "CONSTANT"], [0.0, 683.3333333333334], [0.0, 66.66666666666663], [0.0, 116.66666666666674], [-9.025331207124422e-09, 66.66666666666663], [-9.025331207124422e-09, 49.999999999999886], [0.0, 150.0]], "y": [[0.0, 0.0, "CONSTANT"], [0.0, 683.3333333333334], [0.0, 66.66666666666663], [8.004127933608693e-08, 116.66666666666674], [1.31019960381489e-07, 66.66666666666663], [1.31019960381489e-07, 49.999999999999886], [0.0, 150.0]]}}, "Sight": {"rotation_euler": {"x": [[0.0, 0.0], [-10.132303034637006, 50.0], [0.0, 33.33333333333333], [0.0, 99.99999999999999], [-7.955241708397972, 83.33333333333337], [-10.701222787779573, 99.99999999999994], [0.0, 116.66666666666669]]}, "location": {"x": [[0.0, 0.0]], "z": [[2.990000009536743, 0.0]], "y": [[2.104297161102295, 0.0]]}}}, "FireEmpty": {"Gun": {"location": {"x": [[0.0, 0.0], [0.0, 50.0], [-0.015234995633363724, 133.33333333333331], [-0.0032073669135570526, 166.66666666666669], [0.0, 150.0], [0.1729116439819336, 183.33333333333337], [0.13706907629966736, 83.33333333333326], [0.13706907629966736, 200.0], [0.08123889565467834, 166.66666666666663], [0.0, 116.66666666666674]], "z": [[-0.0, 0.0], [-0.7130982875823975, 50.0], [-0.8931010961532593, 133.33333333333331], [-0.1880212426185608, 166.66666666666669], [-0.0, 150.0], [0.07001475989818573, 183.33333333333337], [0.3594728708267212, 83.33333333333326], [0.3594728708267212, 200.0], [0.052131712436676025, 166.66666666666663], [-0.0, 116.66666666666674]], "y": [[0.0, 0.0], [-0.05462139472365379, 50.0], [0.33006909489631653, 133.33333333333331], [0.06948822736740112, 166.66666666666669], [0.0, 150.0], [0.1356278508901596, 183.33333333333337], [0.16076654195785522, 83.33333333333326], [0.16076654195785522, 200.0], [0.13280370831489563, 166.66666666666663], [0.0, 116.66666666666674]]}, "rotation_euler": {"x": [[0.0, 0.0], [5.533829083941263, 83.33333333333333], [-6.777895961066664, 133.33333333333337], [-1.4269255553586289, 166.66666666666663], [0.0, 116.66666666666669], [-1.6187724423744758, 216.66666666666663], [-3.0496036919995886, 100.0], [-1.5771150119048625, 216.66666666666663], [-1.3797563756722266, 133.33333333333348], [0.0, 116.66666666666652]], "z": [[-0.0, 0.0], [0.20789931232904474, 83.33333333333333], [-0.2137078679498249, 133.33333333333337], [-0.04499113641374835, 166.66666666666663], [-0.0, 116.66666666666669], [6.481160527009576, 216.66666666666663], [6.3670886839075465, 100.0], [2.910396325865089, 216.66666666666663], [2.9018462096847024, 133.33333333333348], [-0.0, 116.66666666666652]], "y": [[0.0, 0.0], [0.299797573280649, 83.33333333333333], [-0.3922261210480681, 133.33333333333337], [-0.08257391881641295, 166.66666666666663], [0.0, 116.66666666666669], [-1.7981676810899783, 216.66666666666663], [-1.8284025806680975, 100.0], [4.424185025436767, 216.66666666666663], [0.5393851613977845, 133.33333333333348], [0.0, 116.66666666666652]]}}, "Loop": {"rotation_euler": {"z": [[0.0, 0.0], [28.83552188323058, 50.0], [-11.070683087911195, 50.0], [-2.56723823045354, 33.33333333333334], [7.0765451287518255, 49.99999999999997], [80.15762477840892, 116.66666666666669], [60.820607917294126, 50.0], [-0.0, 83.33333333333337]]}, "location": {"x": [[0.2532634139060974, 0.0]], "z": [[3.4837722778320312, 0.0]], "y": [[1.4936577081680298, 0.0]]}}, "Pump": {"location": {"z": [[-0.0, 683.3333333333334], [-0.10627399384975433, 49.999999999999886], [-0.7439179420471191, 66.66666666666674], [-0.7439179420471191, 200.0], [-0.18597948551177979, 66.66666666666674], [-0.0, 66.66666666666652]]}}, "Shell": {"location": {"x": [[1.5205265935236412e-09, 0.0]], "z": [[1.2549771070480347, 0.0]], "y": [[-4.465472221374512, 0.0]]}}, "Sight": {"rotation_euler": {"x": [[0.0, 0.0], [-10.132303034637006, 50.0], [0.0, 33.33333333333333], [0.0, 99.99999999999999], [-7.955241708397972, 83.33333333333337], [-10.701222787779573, 99.99999999999994], [0.0, 116.66666666666669]]}, "location": {"x": [[0.0, 0.0]], "z": [[2.990000009536743, 0.0]], "y": [[2.104297161102295, 0.0]]}}}, "Reload": {"GuardInner": {"location": {"x": [[3.725290298461914e-09, 0.0]], "z": [[0.8854429721832275, 0.0]], "y": [[0.8707519173622131, 0.0]]}, "rotation_euler": {"x": [[0.0, 350.0], [16.02038116054145, 83.33333333333337], [23.71116221314476, 83.33333333333326], [23.71116221314476, 66.66666666666674], [0.0, 83.33333333333326]]}}, "GuardOuter": {"location": {"x": [[0.0, 0.0]], "z": [[-0.07262593507766724, 0.0]], "y": [[0.8707519173622131, 0.0]]}, "rotation_euler": {"x": [[0.0, 350.0], [-17.139458137176558, 83.33333333333337], [-29.355340260203572, 83.33333333333326], [-29.355340260203572, 100.00000000000011], [0.0, 99.99999999999989]]}}, "Gun": {"location": {"x": [[1.7611019611358643, 0.0], [1.7662079334259033, 150.0], [1.7611019611358643, 250.0], [1.613909363746643, 100.0], [1.7571532726287842, 116.66666666666674], [1.7611019611358643, 99.99999999999989]], "z": [[0.31467199325561523, 0.0], [0.30754023790359497, 150.0], [0.31467199325561523, 250.0], [0.4306454658508301, 100.0], [0.3806498050689697, 116.66666666666674], [0.31467199325561523, 99.99999999999989]], "y": [[0.8750439286231995, 0.0], [0.8376463055610657, 150.0], [0.8750439286231995, 250.0], [1.1308174133300781, 100.0], [1.108587384223938, 116.66666666666674], [0.8750439286231995, 99.99999999999989]]}, "rotation_euler": {"x": [[-18.983153297952903, 0.0], [-20.857867762844858, 250.0], [-18.983153297952903, 100.0], [-20.627756982159838, 116.66666666666669], [-20.258341078257818, 116.66666666666669], [-18.983153297952903, 133.33333333333326]], "z": [[86.04810969222216, 0.0], [87.57263523572567, 250.0], [86.04810969222216, 100.0], [89.15816119870658, 116.66666666666669], [86.00693048171614, 116.66666666666669], [86.04810969222216, 133.33333333333326]], "y": [[29.613753637261834, 0.0], [28.64577410544575, 250.0], [29.613753637261834, 100.0], [25.730953311102372, 116.66666666666669], [27.311677651096765, 116.66666666666669], [29.613753637261834, 133.33333333333326]]}}, "Shell": {"location": {"x": [[1.5205265935236412e-09, 0.0], [1.5205265935236412e-09, 216.66666666666669], [3.600797242597764e-07, 133.33333333333331], [1.9156854591528827e-07, 83.33333333333337], [2.418599649445241e-07, 83.33333333333326], [2.3999731979529315e-07, 100.00000000000011]], "z": [[-2.2731080055236816, 0.0], [-2.2731080055236816, 216.66666666666669], [0.2386959344148636, 133.33333333333331], [0.33605021238327026, 83.33333333333337], [0.4338737428188324, 83.33333333333326], [1.2500436305999756, 100.00000000000011]], "y": [[-1.4170563220977783, 0.0], [-1.4170563220977783, 216.66666666666669], [0.5333303213119507, 133.33333333333331], [0.8954256176948547, 83.33333333333337], [1.1207358837127686, 83.33333333333326], [1.2056175470352173, 100.00000000000011]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 216.66666666666669], [-23.121160227355304, 133.33333333333331], [-14.526026270149163, 83.33333333333337], [-5.042295800981765, 83.33333333333326], [0.0, 100.00000000000011]], "z": [[0.0, 0.0], [-0.0, 216.66666666666669], [-0.0, 133.33333333333331], [2.551953161995936e-07, 83.33333333333337], [7.134593799244011e-07, 83.33333333333326], [-0.0, 100.00000000000011]], "y": [[0.0, 0.0], [0.0, 216.66666666666669], [1.7075472925031877e-06, 133.33333333333331], [1.688370023551335e-06, 83.33333333333337], [1.6331417525071545e-06, 83.33333333333326], [0.0, 100.00000000000011]]}}}, "ReloadEmpty": {"Gun": {"location": {"x": [[0.0, 0.0], [1.2511006593704224, 183.33333333333331], [1.6423077583312988, 216.66666666666669], [1.6554410457611084, 150.0], [1.7105761766433716, 66.66666666666674], [1.7476284503936768, 116.66666666666652], [1.7611019611358643, 133.33333333333348]], "z": [[-0.0, 0.0], [0.26347818970680237, 183.33333333333331], [0.32502928376197815, 216.66666666666669], [0.30153536796569824, 150.0], [0.3000105023384094, 66.66666666666674], [0.3107622563838959, 116.66666666666652], [0.31467199325561523, 133.33333333333348]], "y": [[0.0, 0.0], [0.42658743262290955, 183.33333333333331], [-0.009814918041229248, 216.66666666666669], [-0.1131410151720047, 150.0], [-0.20051059126853943, 66.66666666666674], [0.5882294178009033, 116.66666666666652], [0.8750439286231995, 133.33333333333348]]}, "rotation_euler": {"x": [[0.0, 0.0], [-14.617513238986898, 116.66666666666667], [-37.38541266737456, 233.33333333333331], [-36.45018560017598, 166.66666666666663], [-30.74254485044399, 66.66666666666674], [-21.750068053366945, 149.9999999999999], [-18.983153297952903, 133.33333333333348]], "z": [[-0.0, 0.0], [32.06710636071164, 116.66666666666667], [40.97562647251089, 233.33333333333331], [38.71689657436601, 166.66666666666663], [32.11341504328433, 66.66666666666674], [73.35759772377095, 149.9999999999999], [86.04810969222216, 133.33333333333348]], "y": [[0.0, 0.0], [21.50487279989995, 116.66666666666667], [44.292741993873435, 233.33333333333331], [46.044774308440914, 166.66666666666663], [49.72028010083778, 66.66666666666674], [34.34470124134409, 149.9999999999999], [29.613753637261834, 133.33333333333348]]}}, "Pump": {"location": {"z": [[-0.0, 83.33333333333333], [-0.10627399384975433, 50.000000000000014], [-0.7439179420471191, 66.66666666666666], [-0.7439179420471191, 483.33333333333337], [-0.18597948551177979, 66.66666666666663], [-0.0, 66.66666666666663]]}}, "Shell": {"location": {"x": [[1.5205265935236412e-09, 0.0], [1.8807575702667236, 216.66666666666669], [0.1613924205303192, 216.66666666666669], [0.010319530963897705, 100.0], [2.558298035637563e-07, 83.33333333333337]], "z": [[-2.2731080055236816, 0.0], [-1.77922523021698, 216.66666666666669], [0.5386117100715637, 216.66666666666669], [0.9011819362640381, 100.0], [1.2500436305999756, 83.33333333333337]], "y": [[-1.4170563220977783, 0.0], [-0.7542737126350403, 216.66666666666669], [1.8265879154205322, 216.66666666666669], [1.7011022567749023, 100.0], [1.7520724534988403, 83.33333333333337]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 166.66666666666666], [17.895010248068782, 216.66666666666666], [3.92045772037468, 116.66666666666669], [0.0, 116.66666666666674]], "z": [[0.0, 0.0], [-0.0, 166.66666666666666], [-7.282242678909106, 216.66666666666666], [-2.104055355191472, 116.66666666666669], [-0.0, 116.66666666666674]], "y": [[0.0, 0.0], [0.0, 166.66666666666666], [-21.433229238148392, 216.66666666666666], [-7.3901921111938655, 116.66666666666669], [0.0, 116.66666666666674]]}}}, "ReloadEnd": {"Gun": {"location": {"x": [[1.7611019611358643, 0.0], [-0.31797051429748535, 216.66666666666669], [0.0, 83.33333333333331]], "z": [[0.31467199325561523, 0.0], [0.010336088016629219, 216.66666666666669], [-0.0, 83.33333333333331]], "y": [[0.8750439286231995, 0.0], [0.0250311940908432, 216.66666666666669], [0.0, 83.33333333333331]]}, "rotation_euler": {"x": [[-18.983153297952903, 0.0], [0.09662330444411844, 216.66666666666669], [0.0, 83.33333333333331]], "z": [[86.04810969222216, 0.0], [-9.502314560125358, 216.66666666666669], [-0.0, 83.33333333333331]], "y": [[29.613753637261834, 0.0], [-0.24104249845162748, 216.66666666666669], [0.0, 83.33333333333331]]}}}, "ReloadStart": {"GuardInner": {"location": {"x": [[3.725290298461914e-09, 0.0]], "z": [[0.8854429721832275, 0.0]], "y": [[0.8707519173622131, 0.0]]}, "rotation_euler": {"x": [[0.0, 350.0], [16.02038116054145, 83.33333333333337], [23.71116221314476, 83.33333333333326], [23.71116221314476, 66.66666666666674], [0.0, 83.33333333333326]]}}, "GuardOuter": {"location": {"x": [[0.0, 0.0]], "z": [[-0.07262593507766724, 0.0]], "y": [[0.8707519173622131, 0.0]]}, "rotation_euler": {"x": [[0.0, 350.0], [-17.139458137176558, 83.33333333333337], [-29.355340260203572, 83.33333333333326], [-29.355340260203572, 100.00000000000011], [0.0, 99.99999999999989]]}}, "Gun": {"location": {"x": [[0.0, 0.0], [1.2318342924118042, 183.33333333333331], [1.642445683479309, 83.33333333333337], [1.7611019611358643, 133.33333333333331], [1.613909363746643, 100.0], [1.7571532726287842, 116.66666666666674], [1.7611019611358643, 66.66666666666663]], "z": [[-0.0, 0.0], [0.2732446491718292, 183.33333333333331], [0.36432620882987976, 83.33333333333337], [0.31467199325561523, 133.33333333333331], [0.4306454658508301, 100.0], [0.3806498050689697, 116.66666666666674], [0.31467199325561523, 66.66666666666663]], "y": [[0.0, 0.0], [0.7328978776931763, 183.33333333333331], [0.9771971702575684, 83.33333333333337], [0.8750439286231995, 133.33333333333331], [1.1308174133300781, 100.0], [1.108587384223938, 116.66666666666674], [0.8750439286231995, 66.66666666666663]]}, "rotation_euler": {"x": [[0.0, 0.0], [-14.617513238986898, 150.0], [-19.490018221164963, 83.33333333333334], [-18.983153297952903, 116.66666666666666], [-20.627756982159838, 133.33333333333331], [-20.258341078257818, 100.00000000000006], [-18.983153297952903, 100.0]], "z": [[-0.0, 0.0], [65.44332775888294, 150.0], [87.25777034517726, 83.33333333333334], [86.04810969222216, 116.66666666666666], [89.15816119870658, 133.33333333333331], [86.00693048171614, 100.00000000000006], [86.04810969222216, 100.0]], "y": [[0.0, 0.0], [21.504871092352655, 150.0], [28.673161456470208, 83.33333333333334], [29.613753637261834, 116.66666666666666], [25.730953311102372, 133.33333333333331], [27.311677651096765, 100.00000000000006], [29.613753637261834, 100.0]]}}, "Shell": {"location": {"x": [[1.5205265935236412e-09, 0.0], [1.5205265935236412e-09, 216.66666666666669], [3.600797242597764e-07, 133.33333333333331], [1.9156854591528827e-07, 83.33333333333337], [2.418599649445241e-07, 83.33333333333326], [2.3999731979529315e-07, 100.00000000000011]], "z": [[-2.2731080055236816, 0.0], [-2.2731080055236816, 216.66666666666669], [0.2386959344148636, 133.33333333333331], [0.33605021238327026, 83.33333333333337], [0.4338737428188324, 83.33333333333326], [1.2500436305999756, 100.00000000000011]], "y": [[-1.4170563220977783, 0.0], [-1.4170563220977783, 216.66666666666669], [0.5333303213119507, 133.33333333333331], [0.8954256176948547, 83.33333333333337], [1.1207358837127686, 83.33333333333326], [1.2056175470352173, 100.00000000000011]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 216.66666666666669], [-23.121160227355304, 133.33333333333331], [-14.526026270149163, 83.33333333333337], [-5.042295800981765, 83.33333333333326], [0.0, 100.00000000000011]], "z": [[0.0, 0.0], [-0.0, 216.66666666666669], [-0.0, 133.33333333333331], [2.551953161995936e-07, 83.33333333333337], [7.134593799244011e-07, 83.33333333333326], [-0.0, 100.00000000000011]], "y": [[0.0, 0.0], [0.0, 216.66666666666669], [1.7075472925031877e-06, 133.33333333333331], [1.688370023551335e-06, 83.33333333333337], [1.6331417525071545e-06, 83.33333333333326], [0.0, 100.00000000000011]]}}}}, "offset": {"GuardInner": [3.725290298461914e-09, 0.8707519173622131, 0.8854429721832275], "GuardOuter": [0.0, 0.8707519173622131, -0.07262593507766724], "Loop": [0.2532634139060974, 1.4936577081680298, 3.4837722778320312], "Pump": [1.1568772606551647e-09, 0.0, -0.0], "Shell": [1.5205265935236412e-09, 1.7459099292755127, 1.2549771070480347], "ShellFore": [1.5205265935236412e-09, 1.7459099292755127, 1.2549771070480347], "Sight": [0.0, 2.104297161102295, 2.990000009536743]}} \ No newline at end of file +{"anim": {"Equip": {"Gun": {"location": {"x": [[-0.23637241125106812, 0.0, "BACK", "AUTO", 1.7015800476074219], [0.0, 716.6666666666666, "BEZIER", "AUTO", 955.555534362793, 0.0, "AUTO_CLAMPED"]], "z": [[-2.670673370361328, 0.0, "BACK", "AUTO", 1.7015800476074219], [-0.0, 716.6666666666666, "BEZIER", "AUTO", 955.555534362793, -0.0, "AUTO_CLAMPED"]], "y": [[-4.068621635437012, 0.0, "BACK", "AUTO", 1.7015800476074219], [0.0, 716.6666666666666, "BEZIER", "AUTO", 955.555534362793, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[88.63504384036447, 0.0, "BACK", "AUTO", 1.7015800476074219], [-3.8488709345706, 516.6666666666666, "BEZIER", "EASE_OUT", 611.1111323038737, -3.8488709345706, "AUTO_CLAMPED"], [0.0, 283.33333333333337, "BEZIER", "AUTO", 705.555534362793, 0.0, "AUTO_CLAMPED", 894.444465637207, 0.0, "AUTO_CLAMPED"]], "z": [[1.9343983654068213, 0.0, "BACK", "AUTO", 1.7015800476074219], [6.406567604197043, 516.6666666666666, "BEZIER", "EASE_OUT", 611.1111323038737, 6.406567604197043, "AUTO_CLAMPED"], [-0.0, 283.33333333333337, "BEZIER", "AUTO", 705.555534362793, -0.0, "AUTO_CLAMPED", 894.444465637207, -0.0, "AUTO_CLAMPED"]], "y": [[-3.580704901151205, 0.0, "BACK", "AUTO", 1.7015800476074219], [-0.8266392790306901, 516.6666666666666, "BEZIER", "EASE_OUT", 611.1111323038737, -0.2922556837352062, "AUTO_CLAMPED"], [0.0, 283.33333333333337, "BEZIER", "AUTO", 705.555534362793, 0.0, "AUTO_CLAMPED", 894.444465637207, 0.0, "AUTO_CLAMPED"]]}}, "Loop": {"rotation_euler": {"z": [[-0.0, 0.0, "BEZIER", "AUTO", 72.22222487131755, -0.0, "AUTO_CLAMPED"], [-0.0, 216.66666666666669, "BEZIER", "AUTO", 144.44443384806317, -0.0, "AUTO_CLAMPED", 277.7777671813965, -0.0, "AUTO_CLAMPED"], [40.12815367576864, 183.33333333333331, "BOUNCE", "AUTO", 338.8888994852702, 40.12815367576864, "AUTO_CLAMPED"], [-0.0, 450.0, "BEZIER", "AUTO", 1000.0, -0.0, "AUTO_CLAMPED"]]}, "location": {"x": [[0.2532634139060974, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.2532634139060974, "AUTO_CLAMPED"]], "z": [[3.4837722778320312, 0.0, "BEZIER", "AUTO", 16.666666666666668, 3.4837722778320312, "AUTO_CLAMPED"]], "y": [[1.4936577081680298, 0.0, "BEZIER", "AUTO", 16.666666666666668, 1.4936577081680298, "AUTO_CLAMPED"]]}}, "Sight": {"rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 83.33333333333333, 0.0, "AUTO_CLAMPED"], [0.0, 250.0, "BEZIER", "AUTO", 166.66666666666666, 0.0, "AUTO_CLAMPED", 300.0, 0.0, "AUTO_CLAMPED"], [-23.23367222600563, 150.0, "BOUNCE", "AUTO", 350.0, -23.23367222600563, "AUTO_CLAMPED"], [0.0, 383.33333333333337, "BEZIER", "AUTO", 911.1111323038737, 0.0, "AUTO_CLAMPED"]]}, "location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.0, "AUTO_CLAMPED"]], "z": [[2.990000009536743, 0.0, "BEZIER", "AUTO", 16.666666666666668, 2.990000009536743, "AUTO_CLAMPED"]], "y": [[2.104297161102295, 0.0, "BEZIER", "AUTO", 16.666666666666668, 2.104297161102295, "AUTO_CLAMPED"]]}}}, "Fire": {"Gun": {"location": {"x": [[0.0, 0.0, "LINEAR", "AUTO"], [0.0, 50.0, "LINEAR", "AUTO"], [-0.015234995633363724, 133.33333333333331, "LINEAR", "AUTO"], [-0.0032073669135570526, 166.66666666666669, "LINEAR", "AUTO"], [0.0, 150.0, "LINEAR", "AUTO"], [0.1729116439819336, 183.33333333333337, "LINEAR", "AUTO"], [0.13706907629966736, 83.33333333333326, "LINEAR", "AUTO"], [0.13706907629966736, 200.0, "LINEAR", "AUTO"], [0.08123889565467834, 166.66666666666663, "LINEAR", "AUTO"], [0.0, 116.66666666666674, "LINEAR", "AUTO"]], "z": [[-0.0, 0.0, "LINEAR", "AUTO"], [-0.7130982875823975, 50.0, "LINEAR", "AUTO"], [-0.8931010961532593, 133.33333333333331, "LINEAR", "AUTO"], [-0.1880212426185608, 166.66666666666669, "LINEAR", "AUTO"], [-0.0, 150.0, "LINEAR", "AUTO"], [0.07001475989818573, 183.33333333333337, "LINEAR", "AUTO"], [0.3594728708267212, 83.33333333333326, "LINEAR", "AUTO"], [0.3594728708267212, 200.0, "LINEAR", "AUTO"], [0.052131712436676025, 166.66666666666663, "LINEAR", "AUTO"], [-0.0, 116.66666666666674, "LINEAR", "AUTO"]], "y": [[0.0, 0.0, "LINEAR", "AUTO"], [-0.05462139472365379, 50.0, "LINEAR", "AUTO"], [0.33006909489631653, 133.33333333333331, "LINEAR", "AUTO"], [0.06948822736740112, 166.66666666666669, "LINEAR", "AUTO"], [0.0, 150.0, "LINEAR", "AUTO"], [0.1356278508901596, 183.33333333333337, "LINEAR", "AUTO"], [0.16076654195785522, 83.33333333333326, "LINEAR", "AUTO"], [0.16076654195785522, 200.0, "LINEAR", "AUTO"], [0.13280370831489563, 166.66666666666663, "LINEAR", "AUTO"], [0.0, 116.66666666666674, "LINEAR", "AUTO"]]}, "rotation_euler": {"x": [[0.0, 0.0, "LINEAR", "AUTO"], [5.533829083941263, 83.33333333333333, "LINEAR", "AUTO"], [-6.777895961066664, 133.33333333333337, "LINEAR", "AUTO"], [-1.4269255553586289, 166.66666666666663, "LINEAR", "AUTO"], [0.0, 116.66666666666669, "LINEAR", "AUTO"], [-1.6187724423744758, 216.66666666666663, "LINEAR", "AUTO"], [-3.0496036919995886, 100.0, "LINEAR", "AUTO"], [-1.5771150119048625, 216.66666666666663, "LINEAR", "AUTO"], [-1.3797563756722266, 133.33333333333348, "LINEAR", "AUTO"], [0.0, 116.66666666666652, "LINEAR", "AUTO"]], "z": [[-0.0, 0.0, "LINEAR", "AUTO"], [0.20789931232904474, 83.33333333333333, "LINEAR", "AUTO"], [-0.2137078679498249, 133.33333333333337, "LINEAR", "AUTO"], [-0.04499113641374835, 166.66666666666663, "LINEAR", "AUTO"], [-0.0, 116.66666666666669, "LINEAR", "AUTO"], [6.481160527009576, 216.66666666666663, "LINEAR", "AUTO"], [6.3670886839075465, 100.0, "LINEAR", "AUTO"], [2.910396325865089, 216.66666666666663, "LINEAR", "AUTO"], [2.9018462096847024, 133.33333333333348, "LINEAR", "AUTO"], [-0.0, 116.66666666666652, "LINEAR", "AUTO"]], "y": [[0.0, 0.0, "LINEAR", "AUTO"], [0.299797573280649, 83.33333333333333, "LINEAR", "AUTO"], [-0.3922261210480681, 133.33333333333337, "LINEAR", "AUTO"], [-0.08257391881641295, 166.66666666666663, "LINEAR", "AUTO"], [0.0, 116.66666666666669, "LINEAR", "AUTO"], [-1.7981676810899783, 216.66666666666663, "LINEAR", "AUTO"], [-1.8284025806680975, 100.0, "LINEAR", "AUTO"], [4.424185025436767, 216.66666666666663, "LINEAR", "AUTO"], [0.5393851613977845, 133.33333333333348, "LINEAR", "AUTO"], [0.0, 116.66666666666652, "LINEAR", "AUTO"]]}}, "Loop": {"rotation_euler": {"z": [[0.0, 0.0, "LINEAR", "AUTO"], [28.83552188323058, 50.0, "LINEAR", "AUTO"], [-11.070683087911195, 50.0, "LINEAR", "AUTO"], [-2.56723823045354, 33.33333333333334, "LINEAR", "AUTO"], [7.0765451287518255, 49.99999999999997, "LINEAR", "AUTO"], [80.15762477840892, 116.66666666666669, "LINEAR", "AUTO"], [60.820607917294126, 50.0, "LINEAR", "AUTO"], [-0.0, 83.33333333333337, "LINEAR", "AUTO"]]}, "location": {"x": [[0.2532634139060974, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.2532634139060974, "AUTO_CLAMPED"]], "z": [[3.4837722778320312, 0.0, "BEZIER", "AUTO", 16.666666666666668, 3.4837722778320312, "AUTO_CLAMPED"]], "y": [[1.4936577081680298, 0.0, "BEZIER", "AUTO", 16.666666666666668, 1.4936577081680298, "AUTO_CLAMPED"]]}}, "Pump": {"location": {"z": [[-0.0, 683.3333333333334, "LINEAR", "AUTO"], [-0.10627399384975433, 49.999999999999886, "LINEAR", "AUTO"], [-0.7439179420471191, 66.66666666666674, "LINEAR", "AUTO"], [-0.7439179420471191, 200.0, "LINEAR", "AUTO"], [-0.18597948551177979, 66.66666666666674, "LINEAR", "AUTO"], [-0.0, 66.66666666666652, "LINEAR", "AUTO"]]}}, "Shell": {"location": {"x": [[1.5205265935236412e-09, 0.0, "CONSTANT", "AUTO"], [-2.204763704938273e-09, 683.3333333333334, "LINEAR", "AUTO"], [-2.204763704938273e-09, 66.66666666666663, "LINEAR", "AUTO"], [1.5205265935236412e-09, 116.66666666666674, "LINEAR", "AUTO"], [-0.01397116482257843, 66.66666666666663, "LINEAR", "AUTO"], [-0.01397116482257843, 49.999999999999886, "LINEAR", "AUTO"], [1.5205265935236412e-09, 150.0, "BEZIER", "AUTO", 1183.3333333333333, 1.5205265935236412e-09, "AUTO_CLAMPED"]], "z": [[1.2549771070480347, 0.0, "CONSTANT", "AUTO"], [1.2549771070480347, 683.3333333333334, "LINEAR", "AUTO"], [0.4066495895385742, 66.66666666666663, "LINEAR", "AUTO"], [0.4066495895385742, 116.66666666666674, "LINEAR", "AUTO"], [0.4519183039665222, 66.66666666666663, "LINEAR", "AUTO"], [0.4519183039665222, 49.999999999999886, "LINEAR", "AUTO"], [1.2549771070480347, 150.0, "BEZIER", "AUTO", 1183.3333333333333, 1.2549771070480347, "AUTO_CLAMPED"]], "y": [[1.7459099292755127, 0.0, "CONSTANT", "AUTO"], [1.199751853942871, 683.3333333333334, "LINEAR", "AUTO"], [1.199751853942871, 66.66666666666663, "LINEAR", "AUTO"], [1.5027252435684204, 116.66666666666674, "LINEAR", "AUTO"], [1.5814520120620728, 66.66666666666663, "LINEAR", "AUTO"], [1.5814520120620728, 49.999999999999886, "LINEAR", "AUTO"], [1.7459099292755127, 150.0, "BEZIER", "AUTO", 1183.3333333333333, 1.7459099292755127, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "CONSTANT", "AUTO"], [0.0, 683.3333333333334, "LINEAR", "AUTO"], [0.0, 66.66666666666663, "LINEAR", "AUTO"], [-24.580495030325643, 116.66666666666674, "LINEAR", "AUTO"], [-15.192167789711336, 66.66666666666663, "LINEAR", "AUTO"], [-15.192167789711336, 49.999999999999886, "LINEAR", "AUTO"], [0.0, 150.0, "BEZIER", "AUTO", 1183.3333333333333, 0.0, "AUTO_CLAMPED"]], "z": [[0.0, 0.0, "CONSTANT", "AUTO"], [0.0, 683.3333333333334, "LINEAR", "AUTO"], [0.0, 66.66666666666663, "LINEAR", "AUTO"], [0.0, 116.66666666666674, "LINEAR", "AUTO"], [-9.025331207124422e-09, 66.66666666666663, "LINEAR", "AUTO"], [-9.025331207124422e-09, 49.999999999999886, "LINEAR", "AUTO"], [0.0, 150.0, "BEZIER", "AUTO", 1183.3333333333333, 0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "CONSTANT", "AUTO"], [0.0, 683.3333333333334, "LINEAR", "AUTO"], [0.0, 66.66666666666663, "LINEAR", "AUTO"], [8.004127933608693e-08, 116.66666666666674, "LINEAR", "AUTO"], [1.31019960381489e-07, 66.66666666666663, "LINEAR", "AUTO"], [1.31019960381489e-07, 49.999999999999886, "LINEAR", "AUTO"], [0.0, 150.0, "BEZIER", "AUTO", 1183.3333333333333, 0.0, "AUTO_CLAMPED"]]}}, "Sight": {"rotation_euler": {"x": [[0.0, 0.0, "LINEAR", "AUTO"], [-10.132303034637006, 50.0, "LINEAR", "AUTO"], [0.0, 33.33333333333333, "LINEAR", "AUTO"], [0.0, 99.99999999999999, "LINEAR", "AUTO"], [-7.955241708397972, 83.33333333333337, "LINEAR", "AUTO"], [-10.701222787779573, 99.99999999999994, "LINEAR", "AUTO"], [0.0, 116.66666666666669, "LINEAR", "AUTO"]]}, "location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.0, "AUTO_CLAMPED"]], "z": [[2.990000009536743, 0.0, "BEZIER", "AUTO", 16.666666666666668, 2.990000009536743, "AUTO_CLAMPED"]], "y": [[2.104297161102295, 0.0, "BEZIER", "AUTO", 16.666666666666668, 2.104297161102295, "AUTO_CLAMPED"]]}}}, "FireEmpty": {"Gun": {"location": {"x": [[0.0, 0.0, "LINEAR", "AUTO"], [0.0, 50.0, "LINEAR", "AUTO"], [-0.015234995633363724, 133.33333333333331, "LINEAR", "AUTO"], [-0.0032073669135570526, 166.66666666666669, "LINEAR", "AUTO"], [0.0, 150.0, "LINEAR", "AUTO"], [0.1729116439819336, 183.33333333333337, "LINEAR", "AUTO"], [0.13706907629966736, 83.33333333333326, "LINEAR", "AUTO"], [0.13706907629966736, 200.0, "LINEAR", "AUTO"], [0.08123889565467834, 166.66666666666663, "LINEAR", "AUTO"], [0.0, 116.66666666666674, "LINEAR", "AUTO"]], "z": [[-0.0, 0.0, "LINEAR", "AUTO"], [-0.7130982875823975, 50.0, "LINEAR", "AUTO"], [-0.8931010961532593, 133.33333333333331, "LINEAR", "AUTO"], [-0.1880212426185608, 166.66666666666669, "LINEAR", "AUTO"], [-0.0, 150.0, "LINEAR", "AUTO"], [0.07001475989818573, 183.33333333333337, "LINEAR", "AUTO"], [0.3594728708267212, 83.33333333333326, "LINEAR", "AUTO"], [0.3594728708267212, 200.0, "LINEAR", "AUTO"], [0.052131712436676025, 166.66666666666663, "LINEAR", "AUTO"], [-0.0, 116.66666666666674, "LINEAR", "AUTO"]], "y": [[0.0, 0.0, "LINEAR", "AUTO"], [-0.05462139472365379, 50.0, "LINEAR", "AUTO"], [0.33006909489631653, 133.33333333333331, "LINEAR", "AUTO"], [0.06948822736740112, 166.66666666666669, "LINEAR", "AUTO"], [0.0, 150.0, "LINEAR", "AUTO"], [0.1356278508901596, 183.33333333333337, "LINEAR", "AUTO"], [0.16076654195785522, 83.33333333333326, "LINEAR", "AUTO"], [0.16076654195785522, 200.0, "LINEAR", "AUTO"], [0.13280370831489563, 166.66666666666663, "LINEAR", "AUTO"], [0.0, 116.66666666666674, "LINEAR", "AUTO"]]}, "rotation_euler": {"x": [[0.0, 0.0, "LINEAR", "AUTO"], [5.533829083941263, 83.33333333333333, "LINEAR", "AUTO"], [-6.777895961066664, 133.33333333333337, "LINEAR", "AUTO"], [-1.4269255553586289, 166.66666666666663, "LINEAR", "AUTO"], [0.0, 116.66666666666669, "LINEAR", "AUTO"], [-1.6187724423744758, 216.66666666666663, "LINEAR", "AUTO"], [-3.0496036919995886, 100.0, "LINEAR", "AUTO"], [-1.5771150119048625, 216.66666666666663, "LINEAR", "AUTO"], [-1.3797563756722266, 133.33333333333348, "LINEAR", "AUTO"], [0.0, 116.66666666666652, "LINEAR", "AUTO"]], "z": [[-0.0, 0.0, "LINEAR", "AUTO"], [0.20789931232904474, 83.33333333333333, "LINEAR", "AUTO"], [-0.2137078679498249, 133.33333333333337, "LINEAR", "AUTO"], [-0.04499113641374835, 166.66666666666663, "LINEAR", "AUTO"], [-0.0, 116.66666666666669, "LINEAR", "AUTO"], [6.481160527009576, 216.66666666666663, "LINEAR", "AUTO"], [6.3670886839075465, 100.0, "LINEAR", "AUTO"], [2.910396325865089, 216.66666666666663, "LINEAR", "AUTO"], [2.9018462096847024, 133.33333333333348, "LINEAR", "AUTO"], [-0.0, 116.66666666666652, "LINEAR", "AUTO"]], "y": [[0.0, 0.0, "LINEAR", "AUTO"], [0.299797573280649, 83.33333333333333, "LINEAR", "AUTO"], [-0.3922261210480681, 133.33333333333337, "LINEAR", "AUTO"], [-0.08257391881641295, 166.66666666666663, "LINEAR", "AUTO"], [0.0, 116.66666666666669, "LINEAR", "AUTO"], [-1.7981676810899783, 216.66666666666663, "LINEAR", "AUTO"], [-1.8284025806680975, 100.0, "LINEAR", "AUTO"], [4.424185025436767, 216.66666666666663, "LINEAR", "AUTO"], [0.5393851613977845, 133.33333333333348, "LINEAR", "AUTO"], [0.0, 116.66666666666652, "LINEAR", "AUTO"]]}}, "Loop": {"rotation_euler": {"z": [[0.0, 0.0, "LINEAR", "AUTO"], [28.83552188323058, 50.0, "LINEAR", "AUTO"], [-11.070683087911195, 50.0, "LINEAR", "AUTO"], [-2.56723823045354, 33.33333333333334, "LINEAR", "AUTO"], [7.0765451287518255, 49.99999999999997, "LINEAR", "AUTO"], [80.15762477840892, 116.66666666666669, "LINEAR", "AUTO"], [60.820607917294126, 50.0, "LINEAR", "AUTO"], [-0.0, 83.33333333333337, "LINEAR", "AUTO"]]}, "location": {"x": [[0.2532634139060974, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.2532634139060974, "AUTO_CLAMPED"]], "z": [[3.4837722778320312, 0.0, "BEZIER", "AUTO", 16.666666666666668, 3.4837722778320312, "AUTO_CLAMPED"]], "y": [[1.4936577081680298, 0.0, "BEZIER", "AUTO", 16.666666666666668, 1.4936577081680298, "AUTO_CLAMPED"]]}}, "Pump": {"location": {"z": [[-0.0, 683.3333333333334, "LINEAR", "AUTO"], [-0.10627399384975433, 49.999999999999886, "LINEAR", "AUTO"], [-0.7439179420471191, 66.66666666666674, "LINEAR", "AUTO"], [-0.7439179420471191, 200.0, "LINEAR", "AUTO"], [-0.18597948551177979, 66.66666666666674, "LINEAR", "AUTO"], [-0.0, 66.66666666666652, "LINEAR", "AUTO"]]}}, "Shell": {"location": {"x": [[1.5205265935236412e-09, 0.0, "BEZIER", "AUTO", 16.666666666666668, 1.5205265935236412e-09, "AUTO_CLAMPED"]], "z": [[1.2549771070480347, 0.0, "BEZIER", "AUTO", 16.666666666666668, 1.2549771070480347, "AUTO_CLAMPED"]], "y": [[-4.465472221374512, 0.0, "BEZIER", "AUTO", 16.666666666666668, -4.465472221374512, "AUTO_CLAMPED"]]}}, "Sight": {"rotation_euler": {"x": [[0.0, 0.0, "LINEAR", "AUTO"], [-10.132303034637006, 50.0, "LINEAR", "AUTO"], [0.0, 33.33333333333333, "LINEAR", "AUTO"], [0.0, 99.99999999999999, "LINEAR", "AUTO"], [-7.955241708397972, 83.33333333333337, "LINEAR", "AUTO"], [-10.701222787779573, 99.99999999999994, "LINEAR", "AUTO"], [0.0, 116.66666666666669, "LINEAR", "AUTO"]]}, "location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.0, "AUTO_CLAMPED"]], "z": [[2.990000009536743, 0.0, "BEZIER", "AUTO", 16.666666666666668, 2.990000009536743, "AUTO_CLAMPED"]], "y": [[2.104297161102295, 0.0, "BEZIER", "AUTO", 16.666666666666668, 2.104297161102295, "AUTO_CLAMPED"]]}}}, "Inspect": {"Gun": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 50.0, 0.0, "AUTO_CLAMPED"], [-0.12323401868343353, 150.0, "BEZIER", "AUTO", 100.0, -0.12323401868343353, "AUTO_CLAMPED", 244.44443384806314, -0.12323401868343353, "AUTO_CLAMPED"], [0.6714629530906677, 283.33333333333337, "BEZIER", "AUTO", 338.8888994852702, 0.6316179633140564, "AUTO_CLAMPED", 550.0, 0.720683217048645, "AUTO_CLAMPED"], [0.720683217048645, 350.0, "BEZIER", "AUTO", 666.6666666666666, 0.6878942847251892, "AUTO_CLAMPED", 822.2222010294596, 0.7316128611564636, "AUTO_CLAMPED"], [0.7498289346694946, 116.66666666666663, "BEZIER", "AUTO", 861.1111323038737, 0.7498289346694946, "AUTO_CLAMPED", 938.8888676961263, 0.7498289346694946, "AUTO_CLAMPED"], [-0.2174956500530243, 116.66666666666663, "BEZIER", "AUTO", 977.7777989705404, -0.2174956500530243, "AUTO_CLAMPED", 1055.555534362793, -0.2174956500530243, "AUTO_CLAMPED"], [0.6381056308746338, 116.66666666666663, "BEZIER", "AUTO", 1094.4444020589192, 0.25491249561309814, "AUTO_CLAMPED", 1177.7777353922525, 1.0760406255722046, "AUTO_CLAMPED"], [1.39745032787323, 133.33333333333326, "BEZIER", "AUTO", 1222.2222646077473, 1.39745032787323, "AUTO_CLAMPED", 1305.5555979410806, 1.39745032787323, "AUTO_CLAMPED"], [0.7498289346694946, 116.66666666666674, "BEZIER", "AUTO", 1344.4444020589192, 0.7582998871803284, "AUTO_CLAMPED", 1416.6666666666667, 0.7425681352615356, "AUTO_CLAMPED"], [0.7425681352615356, 100.00000000000023, "BEZIER", "AUTO", 1450.0, 0.7498289346694946, "AUTO_CLAMPED", 1572.2222646077473, 0.7232059836387634, "AUTO_CLAMPED"], [0.0, 266.6666666666665, "BEZIER", "AUTO", 1661.111068725586, 0.0, "AUTO_CLAMPED", 1838.888931274414, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 50.0, -0.0, "AUTO_CLAMPED"], [0.004470236599445343, 150.0, "BEZIER", "AUTO", 100.0, 0.004470236599445343, "AUTO_CLAMPED", 244.44443384806314, 0.004470236599445343, "AUTO_CLAMPED"], [-0.7847118377685547, 283.33333333333337, "BEZIER", "AUTO", 338.8888994852702, -0.7847118377685547, "AUTO_CLAMPED", 550.0, -0.7847118377685547, "AUTO_CLAMPED"], [-0.7614920139312744, 350.0, "BEZIER", "AUTO", 666.6666666666666, -0.7614920139312744, "AUTO_CLAMPED", 822.2222010294596, -0.7614920139312744, "AUTO_CLAMPED"], [-0.8043150305747986, 116.66666666666663, "BEZIER", "AUTO", 861.1111323038737, -0.8043150305747986, "AUTO_CLAMPED", 938.8888676961263, -0.8043150305747986, "AUTO_CLAMPED"], [0.2914704382419586, 116.66666666666663, "BEZIER", "AUTO", 977.7777989705404, 0.2914704382419586, "AUTO_CLAMPED", 1055.555534362793, 0.2914704382419586, "AUTO_CLAMPED"], [-1.007084608078003, 116.66666666666663, "BEZIER", "AUTO", 1094.4444020589192, -0.7027649879455566, "AUTO_CLAMPED", 1177.7777353922525, -1.3548784255981445, "AUTO_CLAMPED"], [-1.3548784255981445, 133.33333333333326, "BEZIER", "AUTO", 1222.2222646077473, -1.3548784255981445, "AUTO_CLAMPED", 1305.5555979410806, -1.3548784255981445, "AUTO_CLAMPED"], [-0.8043150305747986, 116.66666666666674, "BEZIER", "AUTO", 1344.4444020589192, -0.9178578853607178, "AUTO_CLAMPED", 1416.6666666666667, -0.7069925665855408, "AUTO_CLAMPED"], [-0.7069925665855408, 100.00000000000023, "BEZIER", "AUTO", 1450.0, -0.7431455850601196, "AUTO_CLAMPED", 1572.2222646077473, -0.6105844974517822, "AUTO_CLAMPED"], [-0.0, 266.6666666666665, "BEZIER", "AUTO", 1661.111068725586, -0.0, "AUTO_CLAMPED", 1838.888931274414, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 50.0, 0.0, "AUTO_CLAMPED"], [-0.8819321990013123, 150.0, "BEZIER", "AUTO", 100.0, -0.8819321990013123, "AUTO_CLAMPED", 244.44443384806314, -0.8819321990013123, "AUTO_CLAMPED"], [0.7901571393013, 283.33333333333337, "BEZIER", "AUTO", 338.8888994852702, 0.7901571393013, "AUTO_CLAMPED", 550.0, 0.7901571393013, "AUTO_CLAMPED"], [0.597180962562561, 350.0, "BEZIER", "AUTO", 666.6666666666666, 0.7901571393013, "AUTO_CLAMPED", 822.2222010294596, 0.5328555703163147, "AUTO_CLAMPED"], [0.0791918933391571, 116.66666666666663, "BEZIER", "AUTO", 861.1111323038737, 0.0791918933391571, "AUTO_CLAMPED", 938.8888676961263, 0.0791918933391571, "AUTO_CLAMPED"], [2.510791063308716, 116.66666666666663, "BEZIER", "AUTO", 977.7777989705404, 0.9371596574783325, "AUTO_CLAMPED", 1055.555534362793, 4.084422588348389, "AUTO_CLAMPED"], [5.609644889831543, 116.66666666666663, "BEZIER", "AUTO", 1077.044932047526, 5.669650554656982, "ALIGNED", 1188.8394673665364, 5.550473213195801, "ALIGNED"], [1.905346393585205, 133.33333333333326, "BEZIER", "AUTO", 1222.2222646077473, 3.3027164936065674, "AUTO_CLAMPED", 1305.5555979410806, 0.6826475858688354, "AUTO_CLAMPED"], [0.0791918933391571, 116.66666666666674, "BEZIER", "AUTO", 1344.4444020589192, 0.37730181217193604, "AUTO_CLAMPED", 1416.6666666666667, -0.17633089423179626, "AUTO_CLAMPED"], [-0.42653748393058777, 100.00000000000023, "BEZIER", "AUTO", 1450.0, -0.42653748393058777, "AUTO_CLAMPED", 1572.2222646077473, -0.42653748393058777, "AUTO_CLAMPED"], [0.0, 266.6666666666665, "BEZIER", "AUTO", 1661.111068725586, 0.0, "AUTO_CLAMPED", 1838.888931274414, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, 0.0, "AUTO_CLAMPED"], [-4.633752304645683, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, -4.633752304645683, "AUTO_CLAMPED", 166.66666666666666, -4.633752304645683, "AUTO_CLAMPED"], [5.477748961987227, 100.0, "BEZIER", "AUTO", 200.0, 5.477748961987227, "AUTO_CLAMPED", 344.44443384806317, 5.477748961987227, "AUTO_CLAMPED"], [-30.605503934936856, 333.33333333333326, "BEZIER", "AUTO", 455.55556615193683, -29.397615716071368, "AUTO_CLAMPED", 638.8888676961263, -31.390630764935235, "AUTO_CLAMPED"], [-31.390630764935235, 216.66666666666674, "BEZIER", "AUTO", 711.1111323038737, -31.390630764935235, "AUTO_CLAMPED", 822.2222010294596, -31.390630764935235, "AUTO_CLAMPED"], [-17.61978265282124, 116.66666666666663, "BEZIER", "EASE_IN_OUT", 861.1111323038737, -19.94842124466849, "AUTO_CLAMPED", 1066.6666666666667, -7.639905534796823, "AUTO_CLAMPED"], [-7.639905534796823, 500.0, "BEZIER", "AUTO", 1233.3333333333335, -17.248046192148713, "AUTO_CLAMPED", 1427.7777353922525, -6.0385489008671165, "AUTO_CLAMPED"], [-2.2699262857418203, 83.33333333333348, "BEZIER", "AUTO", 1455.5555979410808, -3.903406153111743, "AUTO_CLAMPED", 1555.5555979410806, 1.977121198665251, "AUTO_CLAMPED"], [2.8329244783173966, 216.66666666666652, "BEZIER", "AUTO", 1627.7777353922527, 2.8329244783173966, "AUTO_CLAMPED", 1750.0, 2.8329244783173966, "AUTO_CLAMPED"], [0.0, 149.99999999999977, "BEZIER", "AUTO", 1800.0, 0.0, "AUTO_CLAMPED", 1900.0, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, -0.0, "AUTO_CLAMPED"], [-3.1105595018039556, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, -1.7627949851521283, "AUTO_CLAMPED", 177.77778307596842, -4.458324018455783, "AUTO_CLAMPED"], [-6.432775040042382, 133.33333333333334, "BEZIER", "AUTO", 222.22221692403158, -5.391058066607309, "AUTO_CLAMPED", 366.66666666666663, -8.776637696662767, "AUTO_CLAMPED"], [-11.67222638585068, 299.99999999999994, "BEZIER", "AUTO", 466.6666666666667, -11.67222638585068, "AUTO_CLAMPED", 638.8888676961263, -11.67222638585068, "AUTO_CLAMPED"], [-4.456549023045226, 216.66666666666674, "BEZIER", "AUTO", 711.1111323038737, -4.456549023045226, "AUTO_CLAMPED", 822.2222010294596, -4.456549023045226, "AUTO_CLAMPED"], [-13.314149220808385, 116.66666666666663, "BEZIER", "EASE_IN_OUT", 861.1111323038737, -4.456549023045226, "AUTO_CLAMPED", 1066.6666666666667, -51.27529219370166, "AUTO_CLAMPED"], [-361.35626702102377, 500.0, "BEZIER", "AUTO", 1233.3333333333335, -361.35626702102377, "AUTO_CLAMPED", 1427.7777353922525, -361.35626702102377, "AUTO_CLAMPED"], [-355.8403428511049, 83.33333333333348, "BEZIER", "AUTO", 1455.5555979410808, -357.0212279170867, "AUTO_CLAMPED", 1555.5555979410806, -352.7700635361574, "AUTO_CLAMPED"], [-352.7700635361574, 216.66666666666652, "BEZIER", "AUTO", 1627.7777353922527, -352.7700635361574, "AUTO_CLAMPED", 1750.0, -352.7700635361574, "AUTO_CLAMPED"], [-360.00001001791264, 149.99999999999977, "BEZIER", "AUTO", 1800.0, -360.00001001791264, "AUTO_CLAMPED", 1900.0, -360.00001001791264, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, 0.0, "AUTO_CLAMPED"], [0.33971415928555554, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, 0.33971415928555554, "AUTO_CLAMPED", 177.77778307596842, 0.33971415928555554, "AUTO_CLAMPED"], [-0.41244006589672083, 133.33333333333334, "BEZIER", "AUTO", 222.22221692403158, -0.41244006589672083, "AUTO_CLAMPED", 366.66666666666663, -0.41244006589672083, "AUTO_CLAMPED"], [44.46649859126397, 299.99999999999994, "BEZIER", "AUTO", 466.6666666666667, 44.46649859126397, "AUTO_CLAMPED", 638.8888676961263, 44.46649859126397, "AUTO_CLAMPED"], [44.02138882343258, 216.66666666666674, "BEZIER", "AUTO", 711.1111323038737, 44.02138882343258, "AUTO_CLAMPED", 822.2222010294596, 44.02138882343258, "AUTO_CLAMPED"], [47.94823533200216, 116.66666666666663, "BEZIER", "EASE_IN_OUT", 861.1111323038737, 47.88392910096649, "AUTO_CLAMPED", 1066.6666666666667, 48.223830049917595, "AUTO_CLAMPED"], [48.223830049917595, 500.0, "BEZIER", "AUTO", 1233.3333333333335, 47.94823533200216, "AUTO_CLAMPED", 1427.7777353922525, 48.26976307208593, "AUTO_CLAMPED"], [48.38842053344197, 83.33333333333348, "BEZIER", "AUTO", 1455.5555979410808, 48.38842053344197, "AUTO_CLAMPED", 1555.5555979410806, 48.38842053344197, "AUTO_CLAMPED"], [5.144987695152906, 216.66666666666652, "BEZIER", "AUTO", 1627.7777353922527, 12.57663649328781, "AUTO_CLAMPED", 1750.0, 0.0, "AUTO_CLAMPED"], [0.0, 149.99999999999977, "BEZIER", "AUTO", 1800.0, 0.0, "AUTO_CLAMPED", 1900.0, 0.0, "AUTO_CLAMPED"]]}}, "Loop": {"rotation_euler": {"z": [[-0.0, 516.6666666666666, "BEZIER", "AUTO", 544.444465637207, -0.0, "AUTO_CLAMPED"], [46.517741002802204, 83.33333333333337, "BOUNCE", "AUTO", 572.2222010294596, 46.517741002802204, "AUTO_CLAMPED"], [-0.0, 250.0, "BEZIER", "AUTO", 866.6666666666667, -0.0, "AUTO_CLAMPED"], [-0.0, 50.0, "BEZIER", "EASE_IN", 883.3333333333333, -0.0, "AUTO_CLAMPED", 983.3333333333333, -0.0, "AUTO_CLAMPED"], [142.2283622194905, 250.0, "BEZIER", "AUTO", 1066.6666666666667, 142.2283622194905, "AUTO_CLAMPED", 1216.6666666666665, 142.2283622194905, "AUTO_CLAMPED"], [142.2283622194905, 200.0, "BOUNCE", "AUTO", 1283.3333333333333, 142.2283622194905, "AUTO_CLAMPED"], [-0.0, 300.0, "BEZIER", "AUTO", 1750.0, -0.0, "AUTO_CLAMPED"]]}, "location": {"x": [[0.2532634139060974, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.2532634139060974, "AUTO_CLAMPED"]], "z": [[3.4837722778320312, 0.0, "BEZIER", "AUTO", 16.666666666666668, 3.4837722778320312, "AUTO_CLAMPED"]], "y": [[1.4936577081680298, 0.0, "BEZIER", "AUTO", 16.666666666666668, 1.4936577081680298, "AUTO_CLAMPED"]]}}, "Pump": {"location": {"z": [[-0.0, 483.3333333333333, "BEZIER", "AUTO", 533.3333333333334, -0.0, "AUTO_CLAMPED"], [-0.5437495112419128, 149.99999999999994, "BEZIER", "AUTO", 583.3333333333334, -0.5437495112419128, "AUTO_CLAMPED", 894.444465637207, -0.5437495112419128, "AUTO_CLAMPED"], [-0.5437495112419128, 783.3333333333335, "BEZIER", "AUTO", 1155.5555979410808, -0.5437495112419128, "AUTO_CLAMPED", 1461.111068725586, -0.5437495112419128, "AUTO_CLAMPED"], [-0.0, 133.33333333333326, "BEZIER", "AUTO", 1505.5555979410806, -0.0, "AUTO_CLAMPED", 1594.4444020589192, -0.0, "AUTO_CLAMPED"]]}}, "Shell": {"location": {"z": [[1.2549771070480347, 0.0, "BEZIER", "AUTO", 161.11111640930176, 1.2549771070480347, "AUTO_CLAMPED"], [1.2549771070480347, 483.3333333333333, "BEZIER", "AUTO", 322.22220102945965, 1.2549771070480347, "AUTO_CLAMPED", 533.3333333333334, 1.2549771070480347, "AUTO_CLAMPED"], [0.6961657404899597, 149.99999999999994, "BEZIER", "AUTO", 583.3333333333334, 0.6961657404899597, "AUTO_CLAMPED", 894.444465637207, 0.6961657404899597, "AUTO_CLAMPED"], [0.6961657404899597, 783.3333333333335, "BEZIER", "AUTO", 1155.5555979410808, 0.6961657404899597, "AUTO_CLAMPED", 1461.111068725586, 0.6961657404899597, "AUTO_CLAMPED"], [1.2549771070480347, 133.33333333333326, "BEZIER", "AUTO", 1505.5555979410806, 1.2549771070480347, "AUTO_CLAMPED", 1594.4444020589192, 1.2549771070480347, "AUTO_CLAMPED"]], "x": [[1.5205265935236412e-09, 0.0, "BEZIER", "AUTO", 16.666666666666668, 1.5205265935236412e-09, "AUTO_CLAMPED"]], "y": [[1.7459099292755127, 0.0, "BEZIER", "AUTO", 16.666666666666668, 1.7459099292755127, "AUTO_CLAMPED"]]}}, "Sight": {"rotation_euler": {"x": [[0.0, 1083.3333333333333, "BEZIER", "AUTO", 1161.111068725586, 0.0, "AUTO_CLAMPED"], [-59.84361082822633, 233.33333333333348, "BOUNCE", "AUTO", 1238.888931274414, -59.84361082822633, "AUTO_CLAMPED"], [0.0, 350.0, "BEZIER", "AUTO", 1783.3333333333333, 0.0, "AUTO_CLAMPED"]]}, "location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.0, "AUTO_CLAMPED"]], "z": [[2.990000009536743, 0.0, "BEZIER", "AUTO", 16.666666666666668, 2.990000009536743, "AUTO_CLAMPED"]], "y": [[2.104297161102295, 0.0, "BEZIER", "AUTO", 16.666666666666668, 2.104297161102295, "AUTO_CLAMPED"]]}}}, "Jammed": {"Gun": {"location": {"x": [[1.7611019611358643, 0.0, "BEZIER", "AUTO", 72.22222487131755, 1.7611019611358643, "AUTO_CLAMPED"], [0.4335063397884369, 216.66666666666669, "BEZIER", "AUTO", 144.44443384806317, 0.4335063397884369, "AUTO_CLAMPED", 261.11111640930176, 0.4335063397884369, "AUTO_CLAMPED"], [0.5203688144683838, 133.33333333333331, "BEZIER", "AUTO", 305.55556615193683, 0.5203688144683838, "AUTO_CLAMPED", 394.44443384806317, 0.5203688144683838, "AUTO_CLAMPED"], [0.5093004703521729, 133.33333333333331, "BEZIER", "AUTO", 438.88889948527014, 0.5203688144683838, "AUTO_CLAMPED", 516.6666666666666, 0.5009992122650146, "AUTO_CLAMPED"], [0.46423017978668213, 100.00000000000006, "BEZIER", "AUTO", 550.0, 0.46423017978668213, "AUTO_CLAMPED", 611.1111323038737, 0.46423017978668213, "AUTO_CLAMPED"], [0.5423690676689148, 83.33333333333326, "BEZIER", "AUTO", 638.8888676961263, 0.5423690676689148, "AUTO_CLAMPED", 716.6666666666666, 0.5423690676689148, "AUTO_CLAMPED"], [0.46423017978668213, 150.0, "BEZIER", "AUTO", 766.6666666666666, 0.483991414308548, "AUTO_CLAMPED", 877.7777989705403, 0.4400775730609894, "AUTO_CLAMPED"], [0.4400775730609894, 183.33333333333337, "BEZIER", "AUTO", 938.8888676961263, 0.46423017978668213, "AUTO_CLAMPED", 1072.2222646077473, 0.4115335941314697, "AUTO_CLAMPED"], [0.0, 216.66666666666652, "BEZIER", "AUTO", 1144.4444020589192, 0.0, "AUTO_CLAMPED", 1288.888931274414, 0.0, "AUTO_CLAMPED"]], "z": [[0.31467199325561523, 0.0, "BEZIER", "AUTO", 72.22222487131755, 0.31467199325561523, "AUTO_CLAMPED"], [0.1592063307762146, 216.66666666666669, "BEZIER", "AUTO", 144.44443384806317, 0.1592063307762146, "AUTO_CLAMPED", 261.11111640930176, 0.1592063307762146, "AUTO_CLAMPED"], [0.6345540285110474, 133.33333333333331, "BEZIER", "AUTO", 305.55556615193683, 0.6345540285110474, "AUTO_CLAMPED", 394.44443384806317, 0.6345540285110474, "AUTO_CLAMPED"], [0.5526263117790222, 133.33333333333331, "BEZIER", "AUTO", 438.88889948527014, 0.6345540285110474, "AUTO_CLAMPED", 516.6666666666666, 0.49118053913116455, "AUTO_CLAMPED"], [0.21367275714874268, 100.00000000000006, "BEZIER", "AUTO", 550.0, 0.3746391534805298, "AUTO_CLAMPED", 611.1111323038737, 0.07953411340713501, "AUTO_CLAMPED"], [-0.08545513451099396, 83.33333333333326, "BEZIER", "AUTO", 638.8888676961263, -0.08545513451099396, "AUTO_CLAMPED", 716.6666666666666, -0.08545513451099396, "AUTO_CLAMPED"], [0.21367275714874268, 150.0, "BEZIER", "AUTO", 766.6666666666666, 0.21367275714874268, "AUTO_CLAMPED", 877.7777989705403, 0.21367275714874268, "AUTO_CLAMPED"], [-0.23178784549236298, 183.33333333333337, "BEZIER", "AUTO", 938.8888676961263, -0.23178784549236298, "AUTO_CLAMPED", 1072.2222646077473, -0.23178784549236298, "AUTO_CLAMPED"], [-0.0, 216.66666666666652, "BEZIER", "AUTO", 1144.4444020589192, -0.0, "AUTO_CLAMPED", 1288.888931274414, -0.0, "AUTO_CLAMPED"]], "y": [[0.8750439286231995, 0.0, "BEZIER", "AUTO", 72.22222487131755, 0.8750439286231995, "AUTO_CLAMPED"], [0.8282241821289062, 216.66666666666669, "BEZIER", "AUTO", 144.44443384806317, 0.8282241821289062, "AUTO_CLAMPED", 261.11111640930176, 0.8282241821289062, "AUTO_CLAMPED"], [0.8524319529533386, 133.33333333333331, "BEZIER", "AUTO", 305.55556615193683, 0.8524319529533386, "AUTO_CLAMPED", 394.44443384806317, 0.8524319529533386, "AUTO_CLAMPED"], [0.694107174873352, 133.33333333333331, "BEZIER", "AUTO", 438.88889948527014, 0.7370265126228333, "AUTO_CLAMPED", 516.6666666666666, 0.6619176864624023, "AUTO_CLAMPED"], [0.5792746543884277, 100.00000000000006, "BEZIER", "AUTO", 550.0, 0.6705016493797302, "AUTO_CLAMPED", 611.1111323038737, 0.5032521486282349, "AUTO_CLAMPED"], [0.3579166531562805, 83.33333333333326, "BEZIER", "AUTO", 638.8888676961263, 0.3579166531562805, "AUTO_CLAMPED", 716.6666666666666, 0.3579166531562805, "AUTO_CLAMPED"], [0.5792746543884277, 150.0, "BEZIER", "AUTO", 766.6666666666666, 0.5792746543884277, "AUTO_CLAMPED", 877.7777989705403, 0.5792746543884277, "AUTO_CLAMPED"], [0.12604567408561707, 183.33333333333337, "BEZIER", "AUTO", 938.8888676961263, 0.23269972205162048, "AUTO_CLAMPED", 1072.2222646077473, 0.0, "AUTO_CLAMPED"], [0.0, 216.66666666666652, "BEZIER", "AUTO", 1144.4444020589192, 0.0, "AUTO_CLAMPED", 1288.888931274414, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[-18.983153297952903, 0.0, "BEZIER", "AUTO", 88.88889153798421, -18.983153297952903, "AUTO_CLAMPED"], [-19.09516157015194, 266.6666666666667, "BEZIER", "AUTO", 177.77776718139648, -18.983153297952903, "AUTO_CLAMPED", 300.0, -19.137165526000228, "AUTO_CLAMPED"], [-22.28346484640992, 99.99999999999994, "BEZIER", "AUTO", 333.3333333333333, -22.28346484640992, "AUTO_CLAMPED", 405.55556615193683, -22.28346484640992, "AUTO_CLAMPED"], [-17.511022135572542, 116.66666666666669, "BEZIER", "AUTO", 444.44443384806317, -18.973317825548083, "AUTO_CLAMPED", 516.6666666666666, -16.25762607381455, "AUTO_CLAMPED"], [-14.249356651213104, 100.00000000000006, "BEZIER", "AUTO", 550.0, -16.361834269981436, "AUTO_CLAMPED", 611.1111323038737, -12.488958208686002, "AUTO_CLAMPED"], [-9.18919392913623, 83.33333333333326, "BEZIER", "AUTO", 638.8888676961263, -9.18919392913623, "AUTO_CLAMPED", 716.6666666666666, -9.18919392913623, "AUTO_CLAMPED"], [-14.249356651213104, 150.0, "BEZIER", "AUTO", 766.6666666666666, -14.249356651213104, "AUTO_CLAMPED", 877.7777989705403, -14.249356651213104, "AUTO_CLAMPED"], [-4.831175507510316, 183.33333333333337, "BEZIER", "AUTO", 938.8888676961263, -7.957230147220092, "AUTO_CLAMPED", 1094.4444020589192, 0.0, "AUTO_CLAMPED"], [0.0, 283.33333333333326, "BEZIER", "AUTO", 1188.888931274414, 0.0, "AUTO_CLAMPED", 1377.7777353922527, 0.0, "AUTO_CLAMPED"]], "z": [[86.04810969222216, 0.0, "BEZIER", "AUTO", 88.88889153798421, 86.04810969222216, "AUTO_CLAMPED"], [12.109782818233683, 266.6666666666667, "BEZIER", "AUTO", 177.77776718139648, 12.109782818233683, "AUTO_CLAMPED", 300.0, 12.109782818233683, "AUTO_CLAMPED"], [14.211438856035777, 99.99999999999994, "BEZIER", "AUTO", 333.3333333333333, 14.211438856035777, "AUTO_CLAMPED", 405.55556615193683, 14.211438856035777, "AUTO_CLAMPED"], [11.62535165135053, 116.66666666666669, "BEZIER", "AUTO", 444.44443384806317, 12.759742765878451, "AUTO_CLAMPED", 516.6666666666666, 10.65301616639127, "AUTO_CLAMPED"], [9.913802721767361, 100.00000000000006, "BEZIER", "AUTO", 550.0, 9.913802721767361, "AUTO_CLAMPED", 611.1111323038737, 9.913802721767361, "AUTO_CLAMPED"], [14.555850291160024, 83.33333333333326, "BEZIER", "AUTO", 638.8888676961263, 14.555850291160024, "AUTO_CLAMPED", 716.6666666666666, 14.555850291160024, "AUTO_CLAMPED"], [9.913802721767361, 150.0, "BEZIER", "AUTO", 766.6666666666666, 9.913802721767361, "AUTO_CLAMPED", 877.7777989705403, 9.913802721767361, "AUTO_CLAMPED"], [10.868919299829018, 183.33333333333337, "BEZIER", "AUTO", 938.8888676961263, 10.868919299829018, "AUTO_CLAMPED", 1094.4444020589192, 10.868919299829018, "AUTO_CLAMPED"], [-0.0, 283.33333333333326, "BEZIER", "AUTO", 1188.888931274414, -0.0, "AUTO_CLAMPED", 1377.7777353922527, -0.0, "AUTO_CLAMPED"]], "y": [[29.613753637261834, 0.0, "BEZIER", "AUTO", 88.88889153798421, 29.613753637261834, "AUTO_CLAMPED"], [14.500921909854782, 266.6666666666667, "BEZIER", "AUTO", 177.77776718139648, 14.500921909854782, "AUTO_CLAMPED", 300.0, 14.500921909854782, "AUTO_CLAMPED"], [14.956577489764673, 99.99999999999994, "BEZIER", "AUTO", 333.3333333333333, 14.956577489764673, "AUTO_CLAMPED", 405.55556615193683, 14.956577489764673, "AUTO_CLAMPED"], [12.810625967647754, 116.66666666666669, "BEZIER", "AUTO", 444.44443384806317, 13.804464595661505, "AUTO_CLAMPED", 516.6666666666666, 11.958763920590117, "AUTO_CLAMPED"], [8.863413542520487, 100.00000000000006, "BEZIER", "AUTO", 550.0, 11.223185844151947, "AUTO_CLAMPED", 611.1111323038737, 6.896936339903054, "AUTO_CLAMPED"], [3.8025490185063964, 83.33333333333326, "BEZIER", "AUTO", 638.8888676961263, 3.8025490185063964, "AUTO_CLAMPED", 716.6666666666666, 3.8025490185063964, "AUTO_CLAMPED"], [8.863413542520487, 150.0, "BEZIER", "AUTO", 766.6666666666666, 8.863413542520487, "AUTO_CLAMPED", 877.7777989705403, 8.863413542520487, "AUTO_CLAMPED"], [4.843448503675183, 183.33333333333337, "BEZIER", "AUTO", 938.8888676961263, 6.679401645027318, "AUTO_CLAMPED", 1094.4444020589192, 2.0060666865941186, "AUTO_CLAMPED"], [0.0, 283.33333333333326, "BEZIER", "AUTO", 1188.888931274414, 0.0, "AUTO_CLAMPED", 1377.7777353922527, 0.0, "AUTO_CLAMPED"]]}}, "Pump": {"location": {"z": [[-0.0, 250.0, "BEZIER", "AUTO", 294.4444338480631, -0.0, "AUTO_CLAMPED"], [-0.7347903847694397, 133.33333333333331, "BEZIER", "AUTO", 338.8888994852702, -0.7347903847694397, "AUTO_CLAMPED", 438.88889948527014, -0.7347903847694397, "AUTO_CLAMPED"], [-0.7347903847694397, 166.66666666666669, "BEZIER", "EASE_OUT", 494.4444338480631, -0.7347903847694397, "AUTO_CLAMPED", 561.1111323038737, -0.7347903847694397, "AUTO_CLAMPED"], [-0.5442891716957092, 33.33333333333337, "BEZIER", "AUTO", 572.2222010294596, -0.5442891716957092, "AUTO_CLAMPED", 627.7777989705403, -0.5442891716957092, "AUTO_CLAMPED"], [-0.5442891716957092, 133.33333333333326, "BEZIER", "AUTO", 672.2222010294596, -0.5442891716957092, "AUTO_CLAMPED", 733.3333333333333, -0.5442891716957092, "AUTO_CLAMPED"], [-0.7347903847694397, 50.0, "BEZIER", "EASE_OUT", 750.0, -0.7347903847694397, "AUTO_CLAMPED", 805.555534362793, -0.7347903847694397, "AUTO_CLAMPED"], [-0.7347903847694397, 116.66666666666663, "BEZIER", "EASE_OUT", 844.444465637207, -0.7347903847694397, "AUTO_CLAMPED", 916.6666666666666, -0.7347903847694397, "AUTO_CLAMPED"], [-0.0, 100.0, "BEZIER", "AUTO", 950.0, -0.0, "AUTO_CLAMPED", 1016.6666666666666, -0.0, "AUTO_CLAMPED"]]}}, "Shell": {"location": {"x": [[-0.0016984597314149141, 0.0, "BEZIER", "AUTO", 83.33333333333333, -0.0016984597314149141, "AUTO_CLAMPED"], [-0.0016984597314149141, 250.0, "BEZIER", "AUTO", 166.66666666666666, -0.0016984597314149141, "AUTO_CLAMPED", 294.4444338480631, -0.0016984597314149141, "AUTO_CLAMPED"], [-0.007186012342572212, 133.33333333333331, "BEZIER", "AUTO", 338.8888994852702, -0.007186012342572212, "AUTO_CLAMPED", 438.88889948527014, -0.007186012342572212, "AUTO_CLAMPED"], [-0.007186012342572212, 166.66666666666669, "BEZIER", "AUTO", 494.4444338480631, -0.007186012342572212, "AUTO_CLAMPED", 561.1111323038737, -0.007186012342572212, "AUTO_CLAMPED"], [-0.005604023113846779, 33.33333333333337, "BEZIER", "AUTO", 572.2222010294596, -0.005604023113846779, "AUTO_CLAMPED", 627.7777989705403, -0.005604023113846779, "AUTO_CLAMPED"], [-0.005604023113846779, 133.33333333333326, "BEZIER", "AUTO", 672.2222010294596, -0.005604023113846779, "AUTO_CLAMPED", 733.3333333333333, -0.005604023113846779, "AUTO_CLAMPED"], [-0.00728671345859766, 50.0, "BEZIER", "AUTO", 750.0, -0.00728671345859766, "AUTO_CLAMPED", 805.555534362793, -0.00728671345859766, "AUTO_CLAMPED"], [-0.00728671345859766, 116.66666666666663, "BEZIER", "AUTO", 844.444465637207, -0.00728671345859766, "AUTO_CLAMPED", 916.6666666666666, -0.00728671345859766, "AUTO_CLAMPED"], [1.5205265935236412e-09, 100.0, "CONSTANT", "AUTO", 950.0, 1.5205265935236412e-09, "AUTO_CLAMPED"], [-0.00728671345859766, 33.33333333333337, "BEZIER", "AUTO", 1027.7777989705403, -0.00728671345859766, "AUTO_CLAMPED"]], "z": [[1.2552038431167603, 0.0, "BEZIER", "AUTO", 83.33333333333333, 1.2552038431167603, "AUTO_CLAMPED"], [1.2552038431167603, 250.0, "BEZIER", "AUTO", 166.66666666666666, 1.2552038431167603, "AUTO_CLAMPED", 294.4444338480631, 1.2552038431167603, "AUTO_CLAMPED"], [0.5118296146392822, 133.33333333333331, "BEZIER", "AUTO", 338.8888994852702, 0.5118296146392822, "AUTO_CLAMPED", 438.88889948527014, 0.5118296146392822, "AUTO_CLAMPED"], [0.5118296146392822, 166.66666666666669, "BEZIER", "AUTO", 494.4444338480631, 0.5118296146392822, "AUTO_CLAMPED", 561.1111323038737, 0.5118296146392822, "AUTO_CLAMPED"], [0.7032749652862549, 33.33333333333337, "BEZIER", "AUTO", 572.2222010294596, 0.7032749652862549, "AUTO_CLAMPED", 627.7777989705403, 0.7032749652862549, "AUTO_CLAMPED"], [0.7032749652862549, 133.33333333333326, "BEZIER", "AUTO", 672.2222010294596, 0.7032749652862549, "AUTO_CLAMPED", 733.3333333333333, 0.7032749652862549, "AUTO_CLAMPED"], [0.5241438150405884, 50.0, "BEZIER", "AUTO", 750.0, 0.5241438150405884, "AUTO_CLAMPED", 805.555534362793, 0.5241438150405884, "AUTO_CLAMPED"], [0.5241438150405884, 116.66666666666663, "BEZIER", "AUTO", 844.444465637207, 0.5241438150405884, "AUTO_CLAMPED", 916.6666666666666, 0.5241438150405884, "AUTO_CLAMPED"], [1.2549771070480347, 100.0, "CONSTANT", "AUTO", 950.0, 1.2549771070480347, "AUTO_CLAMPED"], [0.5241438150405884, 33.33333333333337, "BEZIER", "AUTO", 1027.7777989705403, 0.5241438150405884, "AUTO_CLAMPED"]], "y": [[1.7186778783798218, 0.0, "BEZIER", "AUTO", 83.33333333333333, 1.7186778783798218, "AUTO_CLAMPED"], [1.7186778783798218, 250.0, "BEZIER", "AUTO", 166.66666666666666, 1.7186778783798218, "AUTO_CLAMPED", 294.4444338480631, 1.7186778783798218, "AUTO_CLAMPED"], [1.6501657962799072, 133.33333333333331, "BEZIER", "AUTO", 338.8888994852702, 1.6501657962799072, "AUTO_CLAMPED", 438.88889948527014, 1.6501657962799072, "AUTO_CLAMPED"], [1.6501657962799072, 166.66666666666669, "BEZIER", "AUTO", 494.4444338480631, 1.6501657962799072, "AUTO_CLAMPED", 561.1111323038737, 1.6501657962799072, "AUTO_CLAMPED"], [1.6572562456130981, 33.33333333333337, "BEZIER", "AUTO", 572.2222010294596, 1.6572562456130981, "AUTO_CLAMPED", 627.7777989705403, 1.6572562456130981, "AUTO_CLAMPED"], [1.6572562456130981, 133.33333333333326, "BEZIER", "AUTO", 672.2222010294596, 1.6572562456130981, "AUTO_CLAMPED", 733.3333333333333, 1.6572562456130981, "AUTO_CLAMPED"], [1.6632939577102661, 50.0, "BEZIER", "AUTO", 750.0, 1.6632939577102661, "AUTO_CLAMPED", 805.555534362793, 1.6632939577102661, "AUTO_CLAMPED"], [1.6632939577102661, 116.66666666666663, "BEZIER", "AUTO", 844.444465637207, 1.6632939577102661, "AUTO_CLAMPED", 916.6666666666666, 1.6632939577102661, "AUTO_CLAMPED"], [1.7459099292755127, 100.0, "CONSTANT", "AUTO", 950.0, 1.7459099292755127, "AUTO_CLAMPED"], [1.6632939577102661, 33.33333333333337, "BEZIER", "AUTO", 1027.7777989705403, 1.6632939577102661, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[-7.092402266683656, 0.0, "BEZIER", "AUTO", 83.33333333333333, -7.092402266683656, "AUTO_CLAMPED"], [-7.092402266683656, 250.0, "BEZIER", "AUTO", 166.66666666666666, -7.092402266683656, "AUTO_CLAMPED", 294.4444338480631, -7.092402266683656, "AUTO_CLAMPED"], [-7.092402266683656, 133.33333333333331, "BEZIER", "AUTO", 338.8888994852702, -7.092402266683656, "AUTO_CLAMPED", 438.88889948527014, -7.092402266683656, "AUTO_CLAMPED"], [-7.092402266683656, 166.66666666666669, "BEZIER", "AUTO", 494.4444338480631, -7.092402266683656, "AUTO_CLAMPED", 561.1111323038737, -7.092402266683656, "AUTO_CLAMPED"], [-15.248571491877302, 33.33333333333337, "BEZIER", "AUTO", 572.2222010294596, -15.248571491877302, "AUTO_CLAMPED", 627.7777989705403, -15.248571491877302, "AUTO_CLAMPED"], [-15.248571491877302, 133.33333333333326, "BEZIER", "AUTO", 672.2222010294596, -15.248571491877302, "AUTO_CLAMPED", 733.3333333333333, -15.248571491877302, "AUTO_CLAMPED"], [-7.092402266683656, 50.0, "BEZIER", "AUTO", 750.0, -7.092402266683656, "AUTO_CLAMPED", 805.555534362793, -7.092402266683656, "AUTO_CLAMPED"], [-7.092402266683656, 116.66666666666663, "BEZIER", "AUTO", 844.444465637207, -7.092402266683656, "AUTO_CLAMPED", 916.6666666666666, -7.092402266683656, "AUTO_CLAMPED"], [0.0, 100.0, "CONSTANT", "AUTO", 950.0, 0.0, "AUTO_CLAMPED"], [-7.092402266683656, 33.33333333333337, "BEZIER", "AUTO", 1027.7777989705403, -7.092402266683656, "AUTO_CLAMPED"]], "z": [[0.9713454276947256, 0.0, "BEZIER", "AUTO", 83.33333333333333, 0.9713454276947256, "AUTO_CLAMPED"], [0.9713454276947256, 250.0, "BEZIER", "AUTO", 166.66666666666666, 0.9713454276947256, "AUTO_CLAMPED", 294.4444338480631, 0.9713454276947256, "AUTO_CLAMPED"], [0.9713454276947256, 133.33333333333331, "BEZIER", "AUTO", 338.8888994852702, 0.9713454276947256, "AUTO_CLAMPED", 438.88889948527014, 0.9713454276947256, "AUTO_CLAMPED"], [0.9713454276947256, 166.66666666666669, "BEZIER", "AUTO", 494.4444338480631, 0.9713454276947256, "AUTO_CLAMPED", 561.1111323038737, 0.9713454276947256, "AUTO_CLAMPED"], [1.0169068448835306, 33.33333333333337, "BEZIER", "AUTO", 572.2222010294596, 1.0169068448835306, "AUTO_CLAMPED", 627.7777989705403, 1.0169068448835306, "AUTO_CLAMPED"], [1.0169068448835306, 133.33333333333326, "BEZIER", "AUTO", 672.2222010294596, 1.0169068448835306, "AUTO_CLAMPED", 733.3333333333333, 1.0169068448835306, "AUTO_CLAMPED"], [0.9713454276947256, 50.0, "BEZIER", "AUTO", 750.0, 0.9713454276947256, "AUTO_CLAMPED", 805.555534362793, 0.9713454276947256, "AUTO_CLAMPED"], [0.9713454276947256, 116.66666666666663, "BEZIER", "AUTO", 844.444465637207, 0.9713454276947256, "AUTO_CLAMPED", 916.6666666666666, 0.9713454276947256, "AUTO_CLAMPED"], [-0.0, 100.0, "CONSTANT", "AUTO", 950.0, -0.0, "AUTO_CLAMPED"], [0.9713454276947256, 33.33333333333337, "BEZIER", "AUTO", 1027.7777989705403, 0.9713454276947256, "AUTO_CLAMPED"]], "y": [[0.39039896540381036, 0.0, "BEZIER", "AUTO", 83.33333333333333, 0.39039896540381036, "AUTO_CLAMPED"], [0.39039896540381036, 250.0, "BEZIER", "AUTO", 166.66666666666666, 0.39039896540381036, "AUTO_CLAMPED", 294.4444338480631, 0.39039896540381036, "AUTO_CLAMPED"], [0.39039896540381036, 133.33333333333331, "BEZIER", "AUTO", 338.8888994852702, 0.39039896540381036, "AUTO_CLAMPED", 438.88889948527014, 0.39039896540381036, "AUTO_CLAMPED"], [0.39039896540381036, 166.66666666666669, "BEZIER", "AUTO", 494.4444338480631, 0.39039896540381036, "AUTO_CLAMPED", 561.1111323038737, 0.39039896540381036, "AUTO_CLAMPED"], [0.24863083861951166, 33.33333333333337, "BEZIER", "AUTO", 572.2222010294596, 0.24863083861951166, "AUTO_CLAMPED", 627.7777989705403, 0.24863083861951166, "AUTO_CLAMPED"], [0.24863083861951166, 133.33333333333326, "BEZIER", "AUTO", 672.2222010294596, 0.24863083861951166, "AUTO_CLAMPED", 733.3333333333333, 0.24863083861951166, "AUTO_CLAMPED"], [0.39039896540381036, 50.0, "BEZIER", "AUTO", 750.0, 0.39039896540381036, "AUTO_CLAMPED", 805.555534362793, 0.39039896540381036, "AUTO_CLAMPED"], [0.39039896540381036, 116.66666666666663, "BEZIER", "AUTO", 844.444465637207, 0.39039896540381036, "AUTO_CLAMPED", 916.6666666666666, 0.39039896540381036, "AUTO_CLAMPED"], [0.0, 100.0, "CONSTANT", "AUTO", 950.0, 0.0, "AUTO_CLAMPED"], [0.39039896540381036, 33.33333333333337, "BEZIER", "AUTO", 1027.7777989705403, 0.39039896540381036, "AUTO_CLAMPED"]]}}}, "Reload": {"GuardInner": {"location": {"x": [[3.725290298461914e-09, 0.0, "LINEAR", "AUTO"]], "z": [[0.8854429721832275, 0.0, "LINEAR", "AUTO"]], "y": [[0.8707519173622131, 0.0, "LINEAR", "AUTO"]]}, "rotation_euler": {"x": [[0.0, 350.0, "LINEAR", "AUTO"], [16.02038116054145, 83.33333333333337, "LINEAR", "AUTO"], [23.71116221314476, 83.33333333333326, "LINEAR", "AUTO"], [23.71116221314476, 66.66666666666674, "LINEAR", "AUTO"], [0.0, 83.33333333333326, "LINEAR", "AUTO"]]}}, "GuardOuter": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.0, "AUTO_CLAMPED"]], "z": [[-0.07262593507766724, 0.0, "BEZIER", "AUTO", 16.666666666666668, -0.07262593507766724, "AUTO_CLAMPED"]], "y": [[0.8707519173622131, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.8707519173622131, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 350.0, "BEZIER", "AUTO", 377.7777671813965, 0.0, "AUTO_CLAMPED"], [-17.139458137176558, 83.33333333333337, "BEZIER", "AUTO", 405.55556615193683, -9.800624779672956, "AUTO_CLAMPED", 461.1111005147298, -24.478291494680157, "AUTO_CLAMPED"], [-29.355340260203572, 83.33333333333326, "BEZIER", "AUTO", 488.8888994852702, -29.355340260203572, "AUTO_CLAMPED", 550.0, -29.355340260203572, "AUTO_CLAMPED"], [-29.355340260203572, 100.00000000000011, "BEZIER", "AUTO", 583.3333333333334, -29.355340260203572, "AUTO_CLAMPED", 650.0, -29.355340260203572, "AUTO_CLAMPED"], [0.0, 99.99999999999989, "BEZIER", "AUTO", 683.3333333333334, 0.0, "AUTO_CLAMPED", 750.0, 0.0, "AUTO_CLAMPED"]]}}, "Gun": {"location": {"x": [[1.7611019611358643, 0.0, "LINEAR", "AUTO"], [1.7662079334259033, 150.0, "LINEAR", "AUTO"], [1.7611019611358643, 250.0, "LINEAR", "AUTO"], [1.613909363746643, 100.0, "LINEAR", "AUTO"], [1.7571532726287842, 116.66666666666674, "LINEAR", "AUTO"], [1.7611019611358643, 99.99999999999989, "LINEAR", "AUTO"]], "z": [[0.31467199325561523, 0.0, "LINEAR", "AUTO"], [0.30754023790359497, 150.0, "LINEAR", "AUTO"], [0.31467199325561523, 250.0, "LINEAR", "AUTO"], [0.4306454658508301, 100.0, "LINEAR", "AUTO"], [0.3806498050689697, 116.66666666666674, "LINEAR", "AUTO"], [0.31467199325561523, 99.99999999999989, "LINEAR", "AUTO"]], "y": [[0.8750439286231995, 0.0, "LINEAR", "AUTO"], [0.8376463055610657, 150.0, "LINEAR", "AUTO"], [0.8750439286231995, 250.0, "LINEAR", "AUTO"], [1.1308174133300781, 100.0, "LINEAR", "AUTO"], [1.108587384223938, 116.66666666666674, "LINEAR", "AUTO"], [0.8750439286231995, 99.99999999999989, "LINEAR", "AUTO"]]}, "rotation_euler": {"x": [[-18.983153297952903, 0.0, "LINEAR", "AUTO"], [-20.857867762844858, 250.0, "LINEAR", "AUTO"], [-18.983153297952903, 100.0, "LINEAR", "AUTO"], [-20.627756982159838, 116.66666666666669, "LINEAR", "AUTO"], [-20.258341078257818, 116.66666666666669, "LINEAR", "AUTO"], [-18.983153297952903, 133.33333333333326, "LINEAR", "AUTO"]], "z": [[86.04810969222216, 0.0, "LINEAR", "AUTO"], [87.57263523572567, 250.0, "LINEAR", "AUTO"], [86.04810969222216, 100.0, "LINEAR", "AUTO"], [89.15816119870658, 116.66666666666669, "LINEAR", "AUTO"], [86.00693048171614, 116.66666666666669, "LINEAR", "AUTO"], [86.04810969222216, 133.33333333333326, "LINEAR", "AUTO"]], "y": [[29.613753637261834, 0.0, "LINEAR", "AUTO"], [28.64577410544575, 250.0, "LINEAR", "AUTO"], [29.613753637261834, 100.0, "LINEAR", "AUTO"], [25.730953311102372, 116.66666666666669, "LINEAR", "AUTO"], [27.311677651096765, 116.66666666666669, "LINEAR", "AUTO"], [29.613753637261834, 133.33333333333326, "LINEAR", "AUTO"]]}}, "Shell": {"location": {"x": [[1.5205265935236412e-09, 0.0, "LINEAR", "AUTO"], [1.5205265935236412e-09, 216.66666666666669, "LINEAR", "AUTO"], [3.600797242597764e-07, 133.33333333333331, "LINEAR", "AUTO"], [1.9156854591528827e-07, 83.33333333333337, "LINEAR", "AUTO"], [2.418599649445241e-07, 83.33333333333326, "LINEAR", "AUTO"], [2.3999731979529315e-07, 100.00000000000011, "LINEAR", "AUTO"]], "z": [[-2.2731080055236816, 0.0, "LINEAR", "AUTO"], [-2.2731080055236816, 216.66666666666669, "LINEAR", "AUTO"], [0.2386959344148636, 133.33333333333331, "LINEAR", "AUTO"], [0.33605021238327026, 83.33333333333337, "LINEAR", "AUTO"], [0.4338737428188324, 83.33333333333326, "LINEAR", "AUTO"], [1.2500436305999756, 100.00000000000011, "LINEAR", "AUTO"]], "y": [[-1.4170563220977783, 0.0, "LINEAR", "AUTO"], [-1.4170563220977783, 216.66666666666669, "LINEAR", "AUTO"], [0.5333303213119507, 133.33333333333331, "LINEAR", "AUTO"], [0.8954256176948547, 83.33333333333337, "LINEAR", "AUTO"], [1.1207358837127686, 83.33333333333326, "LINEAR", "AUTO"], [1.2056175470352173, 100.00000000000011, "LINEAR", "AUTO"]]}, "rotation_euler": {"x": [[0.0, 0.0, "LINEAR", "AUTO"], [0.0, 216.66666666666669, "LINEAR", "AUTO"], [-23.121160227355304, 133.33333333333331, "LINEAR", "AUTO"], [-14.526026270149163, 83.33333333333337, "LINEAR", "AUTO"], [-5.042295800981765, 83.33333333333326, "LINEAR", "AUTO"], [0.0, 100.00000000000011, "LINEAR", "AUTO"]], "z": [[0.0, 0.0, "LINEAR", "AUTO"], [-0.0, 216.66666666666669, "LINEAR", "AUTO"], [-0.0, 133.33333333333331, "LINEAR", "AUTO"], [2.551953161995936e-07, 83.33333333333337, "LINEAR", "AUTO"], [7.134593799244011e-07, 83.33333333333326, "LINEAR", "AUTO"], [-0.0, 100.00000000000011, "LINEAR", "AUTO"]], "y": [[0.0, 0.0, "LINEAR", "AUTO"], [0.0, 216.66666666666669, "LINEAR", "AUTO"], [1.7075472925031877e-06, 133.33333333333331, "LINEAR", "AUTO"], [1.688370023551335e-06, 83.33333333333337, "LINEAR", "AUTO"], [1.6331417525071545e-06, 83.33333333333326, "LINEAR", "AUTO"], [0.0, 100.00000000000011, "LINEAR", "AUTO"]]}}}, "ReloadEmpty": {"Gun": {"location": {"x": [[0.0, 0.0, "LINEAR", "AUTO"], [1.2511006593704224, 183.33333333333331, "LINEAR", "AUTO"], [1.6423077583312988, 216.66666666666669, "LINEAR", "AUTO"], [1.6554410457611084, 150.0, "LINEAR", "AUTO"], [1.7105761766433716, 66.66666666666674, "LINEAR", "AUTO"], [1.7476284503936768, 116.66666666666652, "LINEAR", "AUTO"], [1.7611019611358643, 133.33333333333348, "LINEAR", "AUTO"]], "z": [[-0.0, 0.0, "LINEAR", "AUTO"], [0.26347818970680237, 183.33333333333331, "LINEAR", "AUTO"], [0.32502928376197815, 216.66666666666669, "LINEAR", "AUTO"], [0.30153536796569824, 150.0, "LINEAR", "AUTO"], [0.3000105023384094, 66.66666666666674, "LINEAR", "AUTO"], [0.3107622563838959, 116.66666666666652, "LINEAR", "AUTO"], [0.31467199325561523, 133.33333333333348, "LINEAR", "AUTO"]], "y": [[0.0, 0.0, "LINEAR", "AUTO"], [0.42658743262290955, 183.33333333333331, "LINEAR", "AUTO"], [-0.009814918041229248, 216.66666666666669, "LINEAR", "AUTO"], [-0.1131410151720047, 150.0, "LINEAR", "AUTO"], [-0.20051059126853943, 66.66666666666674, "LINEAR", "AUTO"], [0.5882294178009033, 116.66666666666652, "LINEAR", "AUTO"], [0.8750439286231995, 133.33333333333348, "LINEAR", "AUTO"]]}, "rotation_euler": {"x": [[0.0, 0.0, "LINEAR", "AUTO"], [-14.617513238986898, 116.66666666666667, "LINEAR", "AUTO"], [-37.38541266737456, 233.33333333333331, "LINEAR", "AUTO"], [-36.45018560017598, 166.66666666666663, "LINEAR", "AUTO"], [-30.74254485044399, 66.66666666666674, "LINEAR", "AUTO"], [-21.750068053366945, 149.9999999999999, "LINEAR", "AUTO"], [-18.983153297952903, 133.33333333333348, "LINEAR", "AUTO"]], "z": [[-0.0, 0.0, "LINEAR", "AUTO"], [32.06710636071164, 116.66666666666667, "LINEAR", "AUTO"], [40.97562647251089, 233.33333333333331, "LINEAR", "AUTO"], [38.71689657436601, 166.66666666666663, "LINEAR", "AUTO"], [32.11341504328433, 66.66666666666674, "LINEAR", "AUTO"], [73.35759772377095, 149.9999999999999, "LINEAR", "AUTO"], [86.04810969222216, 133.33333333333348, "LINEAR", "AUTO"]], "y": [[0.0, 0.0, "LINEAR", "AUTO"], [21.50487279989995, 116.66666666666667, "LINEAR", "AUTO"], [44.292741993873435, 233.33333333333331, "LINEAR", "AUTO"], [46.044774308440914, 166.66666666666663, "LINEAR", "AUTO"], [49.72028010083778, 66.66666666666674, "LINEAR", "AUTO"], [34.34470124134409, 149.9999999999999, "LINEAR", "AUTO"], [29.613753637261834, 133.33333333333348, "LINEAR", "AUTO"]]}}, "Pump": {"location": {"z": [[-0.0, 83.33333333333333, "LINEAR", "AUTO"], [-0.10627399384975433, 50.000000000000014, "LINEAR", "AUTO"], [-0.7439179420471191, 66.66666666666666, "LINEAR", "AUTO"], [-0.7439179420471191, 483.33333333333337, "LINEAR", "AUTO"], [-0.18597948551177979, 66.66666666666663, "LINEAR", "AUTO"], [-0.0, 66.66666666666663, "LINEAR", "AUTO"]]}}, "Shell": {"location": {"x": [[1.5205265935236412e-09, 0.0, "LINEAR", "AUTO"], [1.8807575702667236, 216.66666666666669, "LINEAR", "AUTO"], [0.1613924205303192, 216.66666666666669, "LINEAR", "AUTO"], [0.010319530963897705, 100.0, "LINEAR", "AUTO"], [2.558298035637563e-07, 83.33333333333337, "LINEAR", "AUTO"]], "z": [[-2.2731080055236816, 0.0, "LINEAR", "AUTO"], [-1.77922523021698, 216.66666666666669, "LINEAR", "AUTO"], [0.5386117100715637, 216.66666666666669, "LINEAR", "AUTO"], [0.9011819362640381, 100.0, "LINEAR", "AUTO"], [1.2500436305999756, 83.33333333333337, "LINEAR", "AUTO"]], "y": [[-1.4170563220977783, 0.0, "LINEAR", "AUTO"], [-0.7542737126350403, 216.66666666666669, "LINEAR", "AUTO"], [1.8265879154205322, 216.66666666666669, "LINEAR", "AUTO"], [1.7011022567749023, 100.0, "LINEAR", "AUTO"], [1.7520724534988403, 83.33333333333337, "LINEAR", "AUTO"]]}, "rotation_euler": {"x": [[0.0, 0.0, "LINEAR", "AUTO"], [0.0, 166.66666666666666, "LINEAR", "AUTO"], [17.895010248068782, 216.66666666666666, "LINEAR", "AUTO"], [3.92045772037468, 116.66666666666669, "LINEAR", "AUTO"], [0.0, 116.66666666666674, "LINEAR", "AUTO"]], "z": [[0.0, 0.0, "LINEAR", "AUTO"], [-0.0, 166.66666666666666, "LINEAR", "AUTO"], [-7.282242678909106, 216.66666666666666, "LINEAR", "AUTO"], [-2.104055355191472, 116.66666666666669, "LINEAR", "AUTO"], [-0.0, 116.66666666666674, "LINEAR", "AUTO"]], "y": [[0.0, 0.0, "LINEAR", "AUTO"], [0.0, 166.66666666666666, "LINEAR", "AUTO"], [-21.433229238148392, 216.66666666666666, "LINEAR", "AUTO"], [-7.3901921111938655, 116.66666666666669, "LINEAR", "AUTO"], [0.0, 116.66666666666674, "LINEAR", "AUTO"]]}}}, "ReloadEnd": {"Gun": {"location": {"x": [[1.7611019611358643, 0.0, "LINEAR", "AUTO"], [-0.31797051429748535, 216.66666666666669, "LINEAR", "AUTO"], [0.0, 83.33333333333331, "LINEAR", "AUTO"]], "z": [[0.31467199325561523, 0.0, "LINEAR", "AUTO"], [0.010336088016629219, 216.66666666666669, "LINEAR", "AUTO"], [-0.0, 83.33333333333331, "LINEAR", "AUTO"]], "y": [[0.8750439286231995, 0.0, "LINEAR", "AUTO"], [0.0250311940908432, 216.66666666666669, "LINEAR", "AUTO"], [0.0, 83.33333333333331, "LINEAR", "AUTO"]]}, "rotation_euler": {"x": [[-18.983153297952903, 0.0, "LINEAR", "AUTO"], [0.09662330444411844, 216.66666666666669, "LINEAR", "AUTO"], [0.0, 83.33333333333331, "LINEAR", "AUTO"]], "z": [[86.04810969222216, 0.0, "LINEAR", "AUTO"], [-9.502314560125358, 216.66666666666669, "LINEAR", "AUTO"], [-0.0, 83.33333333333331, "LINEAR", "AUTO"]], "y": [[29.613753637261834, 0.0, "LINEAR", "AUTO"], [-0.24104249845162748, 216.66666666666669, "LINEAR", "AUTO"], [0.0, 83.33333333333331, "LINEAR", "AUTO"]]}}}, "ReloadStart": {"GuardInner": {"location": {"x": [[3.725290298461914e-09, 0.0, "LINEAR", "AUTO"]], "z": [[0.8854429721832275, 0.0, "LINEAR", "AUTO"]], "y": [[0.8707519173622131, 0.0, "LINEAR", "AUTO"]]}, "rotation_euler": {"x": [[0.0, 350.0, "LINEAR", "AUTO"], [16.02038116054145, 83.33333333333337, "LINEAR", "AUTO"], [23.71116221314476, 83.33333333333326, "LINEAR", "AUTO"], [23.71116221314476, 66.66666666666674, "LINEAR", "AUTO"], [0.0, 83.33333333333326, "LINEAR", "AUTO"]]}}, "GuardOuter": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.0, "AUTO_CLAMPED"]], "z": [[-0.07262593507766724, 0.0, "BEZIER", "AUTO", 16.666666666666668, -0.07262593507766724, "AUTO_CLAMPED"]], "y": [[0.8707519173622131, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.8707519173622131, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 350.0, "BEZIER", "AUTO", 377.7777671813965, 0.0, "AUTO_CLAMPED"], [-17.139458137176558, 83.33333333333337, "BEZIER", "AUTO", 405.55556615193683, -9.800624779672956, "AUTO_CLAMPED", 461.1111005147298, -24.478291494680157, "AUTO_CLAMPED"], [-29.355340260203572, 83.33333333333326, "BEZIER", "AUTO", 488.8888994852702, -29.355340260203572, "AUTO_CLAMPED", 550.0, -29.355340260203572, "AUTO_CLAMPED"], [-29.355340260203572, 100.00000000000011, "BEZIER", "AUTO", 583.3333333333334, -29.355340260203572, "AUTO_CLAMPED", 650.0, -29.355340260203572, "AUTO_CLAMPED"], [0.0, 99.99999999999989, "BEZIER", "AUTO", 683.3333333333334, 0.0, "AUTO_CLAMPED", 750.0, 0.0, "AUTO_CLAMPED"]]}}, "Gun": {"location": {"x": [[0.0, 0.0, "LINEAR", "AUTO"], [1.2318342924118042, 183.33333333333331, "LINEAR", "AUTO"], [1.642445683479309, 83.33333333333337, "LINEAR", "AUTO"], [1.7611019611358643, 133.33333333333331, "LINEAR", "AUTO"], [1.613909363746643, 100.0, "LINEAR", "AUTO"], [1.7571532726287842, 116.66666666666674, "LINEAR", "AUTO"], [1.7611019611358643, 66.66666666666663, "LINEAR", "AUTO"]], "z": [[-0.0, 0.0, "LINEAR", "AUTO"], [0.2732446491718292, 183.33333333333331, "LINEAR", "AUTO"], [0.36432620882987976, 83.33333333333337, "LINEAR", "AUTO"], [0.31467199325561523, 133.33333333333331, "LINEAR", "AUTO"], [0.4306454658508301, 100.0, "LINEAR", "AUTO"], [0.3806498050689697, 116.66666666666674, "LINEAR", "AUTO"], [0.31467199325561523, 66.66666666666663, "LINEAR", "AUTO"]], "y": [[0.0, 0.0, "LINEAR", "AUTO"], [0.7328978776931763, 183.33333333333331, "LINEAR", "AUTO"], [0.9771971702575684, 83.33333333333337, "LINEAR", "AUTO"], [0.8750439286231995, 133.33333333333331, "LINEAR", "AUTO"], [1.1308174133300781, 100.0, "LINEAR", "AUTO"], [1.108587384223938, 116.66666666666674, "LINEAR", "AUTO"], [0.8750439286231995, 66.66666666666663, "LINEAR", "AUTO"]]}, "rotation_euler": {"x": [[0.0, 0.0, "LINEAR", "AUTO"], [-14.617513238986898, 150.0, "LINEAR", "AUTO"], [-19.490018221164963, 83.33333333333334, "LINEAR", "AUTO"], [-18.983153297952903, 116.66666666666666, "LINEAR", "AUTO"], [-20.627756982159838, 133.33333333333331, "LINEAR", "AUTO"], [-20.258341078257818, 100.00000000000006, "LINEAR", "AUTO"], [-18.983153297952903, 100.0, "LINEAR", "AUTO"]], "z": [[-0.0, 0.0, "LINEAR", "AUTO"], [65.44332775888294, 150.0, "LINEAR", "AUTO"], [87.25777034517726, 83.33333333333334, "LINEAR", "AUTO"], [86.04810969222216, 116.66666666666666, "LINEAR", "AUTO"], [89.15816119870658, 133.33333333333331, "LINEAR", "AUTO"], [86.00693048171614, 100.00000000000006, "LINEAR", "AUTO"], [86.04810969222216, 100.0, "LINEAR", "AUTO"]], "y": [[0.0, 0.0, "LINEAR", "AUTO"], [21.504871092352655, 150.0, "LINEAR", "AUTO"], [28.673161456470208, 83.33333333333334, "LINEAR", "AUTO"], [29.613753637261834, 116.66666666666666, "LINEAR", "AUTO"], [25.730953311102372, 133.33333333333331, "LINEAR", "AUTO"], [27.311677651096765, 100.00000000000006, "LINEAR", "AUTO"], [29.613753637261834, 100.0, "LINEAR", "AUTO"]]}}, "Shell": {"location": {"x": [[1.5205265935236412e-09, 0.0, "LINEAR", "AUTO"], [1.5205265935236412e-09, 216.66666666666669, "LINEAR", "AUTO"], [3.600797242597764e-07, 133.33333333333331, "LINEAR", "AUTO"], [1.9156854591528827e-07, 83.33333333333337, "LINEAR", "AUTO"], [2.418599649445241e-07, 83.33333333333326, "LINEAR", "AUTO"], [2.3999731979529315e-07, 100.00000000000011, "LINEAR", "AUTO"]], "z": [[-2.2731080055236816, 0.0, "LINEAR", "AUTO"], [-2.2731080055236816, 216.66666666666669, "LINEAR", "AUTO"], [0.2386959344148636, 133.33333333333331, "LINEAR", "AUTO"], [0.33605021238327026, 83.33333333333337, "LINEAR", "AUTO"], [0.4338737428188324, 83.33333333333326, "LINEAR", "AUTO"], [1.2500436305999756, 100.00000000000011, "LINEAR", "AUTO"]], "y": [[-1.4170563220977783, 0.0, "LINEAR", "AUTO"], [-1.4170563220977783, 216.66666666666669, "LINEAR", "AUTO"], [0.5333303213119507, 133.33333333333331, "LINEAR", "AUTO"], [0.8954256176948547, 83.33333333333337, "LINEAR", "AUTO"], [1.1207358837127686, 83.33333333333326, "LINEAR", "AUTO"], [1.2056175470352173, 100.00000000000011, "LINEAR", "AUTO"]]}, "rotation_euler": {"x": [[0.0, 0.0, "LINEAR", "AUTO"], [0.0, 216.66666666666669, "LINEAR", "AUTO"], [-23.121160227355304, 133.33333333333331, "LINEAR", "AUTO"], [-14.526026270149163, 83.33333333333337, "LINEAR", "AUTO"], [-5.042295800981765, 83.33333333333326, "LINEAR", "AUTO"], [0.0, 100.00000000000011, "LINEAR", "AUTO"]], "z": [[0.0, 0.0, "LINEAR", "AUTO"], [-0.0, 216.66666666666669, "LINEAR", "AUTO"], [-0.0, 133.33333333333331, "LINEAR", "AUTO"], [2.551953161995936e-07, 83.33333333333337, "LINEAR", "AUTO"], [7.134593799244011e-07, 83.33333333333326, "LINEAR", "AUTO"], [-0.0, 100.00000000000011, "LINEAR", "AUTO"]], "y": [[0.0, 0.0, "LINEAR", "AUTO"], [0.0, 216.66666666666669, "LINEAR", "AUTO"], [1.7075472925031877e-06, 133.33333333333331, "LINEAR", "AUTO"], [1.688370023551335e-06, 83.33333333333337, "LINEAR", "AUTO"], [1.6331417525071545e-06, 83.33333333333326, "LINEAR", "AUTO"], [0.0, 100.00000000000011, "LINEAR", "AUTO"]]}}}}, "offset": {"GuardInner": [3.725290298461914e-09, 0.8707519173622131, 0.8854429721832275], "GuardOuter": [0.0, 0.8707519173622131, -0.07262593507766724], "Loop": [0.2532634139060974, 1.4936577081680298, 3.4837722778320312], "Pump": [1.6174453776329756e-08, 1.1175870895385742e-08, -0.0], "Shell": [1.5205265935236412e-09, 1.7459099292755127, 1.2549771070480347], "ShellFore": [1.5205265935236412e-09, 1.7459099292755127, 1.2549771070480347], "Sight": [0.0, 2.104297161102295, 2.990000009536743]}, "hierarchy": {"GuardInner": "GuardOuter", "GuardOuter": "Gun", "Loop": "Gun", "Pump": "Gun", "Shell": "Gun", "ShellFore": "Shell", "Sight": "Gun"}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/animations/cursed.json b/src/main/resources/assets/hbm/models/weapons/animations/cursed.json deleted file mode 100644 index 62c3a6aef..000000000 --- a/src/main/resources/assets/hbm/models/weapons/animations/cursed.json +++ /dev/null @@ -1 +0,0 @@ -{"anim": {"Fire": {"Body": {"location": {"z": [[-0.0, 0.0], [-0.0, 16.666666666666668], [0.1901400089263916, 50.0], [-0.0, 183.33333333333331]], "y": [[0.0, 0.0], [0.0, 16.666666666666668], [0.040800124406814575, 50.0], [0.0, 183.33333333333331]]}, "rotation_euler": {"x": [[0.0, 33.333333333333336], [38.989947046815615, 66.66666666666666], [0.0, 250.0]]}}, "Slide": {"location": {"z": [[-0.0, 0.0], [0.12989415228366852, 16.666666666666668], [0.12989415228366852, 50.0], [0.09892651438713074, 83.33333333333333], [-0.0, 83.33333333333334]]}}}, "Reload": {"Body": {"location": {"x": [[0.0, 0.0], [0.0, 100.0], [0.017018239945173264, 116.66666666666669], [-0.09787648171186447, 83.33333333333331], [-0.12292511016130447, 266.66666666666663], [-0.10135655850172043, 133.33333333333337], [-0.1491556018590927, 150.0], [-0.13177432119846344, 400.0], [0.0, 283.33333333333326]], "z": [[-0.0, 0.0], [0.08164123445749283, 100.0], [-0.08178003877401352, 116.66666666666669], [-0.09053938835859299, 83.33333333333331], [-0.05708351731300354, 233.33333333333337], [-0.03883926570415497, 166.66666666666663], [0.0013935839524492621, 150.0], [0.006992057431489229, 400.0], [-0.0, 283.33333333333326]], "y": [[0.0, 0.0], [0.18025973439216614, 100.0], [0.44325628876686096, 116.66666666666669], [0.21647267043590546, 83.33333333333331], [0.27539756894111633, 200.0], [0.10282676666975021, 200.0], [0.16902926564216614, 150.0], [-0.034092918038368225, 400.0], [0.0, 283.33333333333326]]}, "rotation_euler": {"x": [[0.0, 0.0], [14.347078728989414, 66.66666666666667], [22.703222659589517, 99.99999999999999], [15.15270124913971, 83.33333333333334], [1.8531396048511795, 100.0], [-18.417429219568255, 266.66666666666674], [-18.417429219568255, 99.99999999999989], [59.33201599901403, 200.0], [72.57186642203102, 216.66666666666663], [62.294070966562636, 116.66666666666674], [54.952785571147, 83.33333333333326], [0.0, 200.0]], "z": [[0.0, 0.0], [-10.592385430902713, 66.66666666666667], [-15.994342771878069, 99.99999999999999], [-11.103182835529408, 83.33333333333334], [-9.371659871492183, 100.0], [-9.698956560103671, 266.66666666666674], [-9.698956560103671, 149.9999999999999], [-50.8729052591287, 150.0], [-75.4402931564371, 216.66666666666663], [-52.8528848919616, 116.66666666666674], [-36.719021845907676, 83.33333333333326], [-0.0, 200.0]], "y": [[0.0, 0.0], [-3.154393948349805, 66.66666666666667], [-4.726022183917031, 99.99999999999999], [-3.3394954899517355, 83.33333333333334], [-2.877424441420499, 100.0], [-5.679812424619238, 266.66666666666674], [-5.679812424619238, 183.33333333333326], [-0.6765985391814631, 116.66666666666663], [21.457408107810238, 216.66666666666663], [34.27835619884117, 116.66666666666674], [43.4361748002513, 83.33333333333326], [0.0, 200.0]]}}, "Magazine": {"location": {"z": [[-0.0, 0.0], [-0.0, 300.0], [0.14596298336982727, 183.33333333333331], [0.41417545080184937, 249.99999999999994], [0.11441206932067871, 200.0000000000001], [-0.0, 133.33333333333337]], "y": [[0.0, 0.0], [0.0, 300.0], [-0.6360859274864197, 183.33333333333331], [-0.6360859274864197, 249.99999999999994], [-0.4159921109676361, 200.0000000000001], [0.0, 133.33333333333337]]}}, "Slide": {"location": {"z": [[-0.0, 0.0], [0.13051199913024902, 16.666666666666668], [0.13051199913024902, 1133.3333333333333], [0.0854932963848114, 66.66666666666652], [-0.0, 50.0]]}}}}, "offset": {}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/animations/flamethrower.json b/src/main/resources/assets/hbm/models/weapons/animations/flamethrower.json new file mode 100644 index 000000000..334a5ca74 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/animations/flamethrower.json @@ -0,0 +1 @@ +{"anim": {"Reload": {"Gauge": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 292.80862808227545, 0.0, "AUTO_CLAMPED"], [0.0, 750.0, "BEZIER", "AUTO", 457.1913719177246, 0.0, "AUTO_CLAMPED", 1238.0144119262698, 0.0, "AUTO_CLAMPED"], [0.0, 1250.0, "BEZIER", "AUTO", 1511.9855880737305, 0.0, "AUTO_CLAMPED", 2195.2056884765625, 0.0, "AUTO_CLAMPED"], [0.0, 500.0, "BEZIER", "AUTO", 2304.7943115234375, 0.0, "AUTO_CLAMPED", 2988.0144119262695, 0.0, "AUTO_CLAMPED"], [0.0, 1250.0, "LINEAR", "AUTO", 3261.9857788085938, 0.0, "AUTO_CLAMPED"], [0.0, 750.0, "BEZIER", "AUTO", 4792.808532714844, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 292.80862808227545, -0.0, "AUTO_CLAMPED"], [-1.0132989883422852, 750.0, "BEZIER", "AUTO", 457.1913719177246, -1.0132989883422852, "AUTO_CLAMPED", 1238.0144119262698, -1.0132989883422852, "AUTO_CLAMPED"], [-1.0132989883422852, 1250.0, "BEZIER", "AUTO", 1511.9855880737305, -1.0132989883422852, "AUTO_CLAMPED", 2195.2056884765625, -1.0132989883422852, "AUTO_CLAMPED"], [-1.0132989883422852, 500.0, "BEZIER", "AUTO", 2304.7943115234375, -1.0132989883422852, "AUTO_CLAMPED", 2988.0144119262695, -1.0132989883422852, "AUTO_CLAMPED"], [-1.0132989883422852, 1250.0, "LINEAR", "AUTO", 3261.9857788085938, -1.0132989883422852, "AUTO_CLAMPED"], [-0.0, 750.0, "BEZIER", "AUTO", 4792.808532714844, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 292.80862808227545, 0.0, "AUTO_CLAMPED"], [0.0, 750.0, "BEZIER", "AUTO", 457.1913719177246, 0.0, "AUTO_CLAMPED", 1238.0144119262698, 0.0, "AUTO_CLAMPED"], [0.0, 1250.0, "BEZIER", "AUTO", 1511.9855880737305, 0.0, "AUTO_CLAMPED", 2195.2056884765625, 0.0, "AUTO_CLAMPED"], [2.400388240814209, 500.0, "BEZIER", "AUTO", 2304.7943115234375, 2.400388240814209, "AUTO_CLAMPED", 2988.0144119262695, 2.400388240814209, "AUTO_CLAMPED"], [2.400388240814209, 1250.0, "LINEAR", "AUTO", 3261.9857788085938, 2.400388240814209, "AUTO_CLAMPED"], [0.0, 750.0, "BEZIER", "AUTO", 4792.808532714844, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 292.80862808227545, 0.0, "AUTO_CLAMPED"], [31.53669436033596, 750.0, "BEZIER", "AUTO", 457.1913719177246, 31.53669436033596, "AUTO_CLAMPED", 1238.0144119262698, 31.53669436033596, "AUTO_CLAMPED"], [31.53669436033596, 1250.0, "BEZIER", "AUTO", 1511.9855880737305, 31.53669436033596, "AUTO_CLAMPED", 2195.2056884765625, 31.53669436033596, "AUTO_CLAMPED"], [-23.37867031189583, 500.0, "BEZIER", "AUTO", 2304.7943115234375, -23.37867031189583, "AUTO_CLAMPED", 2988.0144119262695, -23.37867031189583, "AUTO_CLAMPED"], [-23.37867031189583, 1250.0, "LINEAR", "AUTO", 3261.9857788085938, -23.37867031189583, "AUTO_CLAMPED"], [0.0, 750.0, "BEZIER", "AUTO", 4792.808532714844, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 292.80862808227545, -0.0, "AUTO_CLAMPED"], [0.0, 750.0, "BEZIER", "AUTO", 457.1913719177246, 0.0, "AUTO_CLAMPED", 1238.0144119262698, 0.0, "AUTO_CLAMPED"], [0.0, 1250.0, "BEZIER", "AUTO", 1511.9855880737305, 0.0, "AUTO_CLAMPED", 2195.2056884765625, 0.0, "AUTO_CLAMPED"], [0.0, 500.0, "BEZIER", "AUTO", 2304.7943115234375, 0.0, "AUTO_CLAMPED", 2988.0144119262695, 0.0, "AUTO_CLAMPED"], [-0.0, 1250.0, "LINEAR", "AUTO", 3261.9857788085938, -0.0, "AUTO_CLAMPED"], [-0.0, 750.0, "BEZIER", "AUTO", 4792.808532714844, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 292.80862808227545, 0.0, "AUTO_CLAMPED"], [0.0, 750.0, "BEZIER", "AUTO", 457.1913719177246, 0.0, "AUTO_CLAMPED", 1238.0144119262698, 0.0, "AUTO_CLAMPED"], [0.0, 1250.0, "BEZIER", "AUTO", 1511.9855880737305, 0.0, "AUTO_CLAMPED", 2195.2056884765625, 0.0, "AUTO_CLAMPED"], [0.0, 500.0, "BEZIER", "AUTO", 2304.7943115234375, 0.0, "AUTO_CLAMPED", 2988.0144119262695, 0.0, "AUTO_CLAMPED"], [0.0, 1250.0, "LINEAR", "AUTO", 3261.9857788085938, 0.0, "AUTO_CLAMPED"], [0.0, 750.0, "BEZIER", "AUTO", 4792.808532714844, 0.0, "AUTO_CLAMPED"]]}}, "Gun": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 292.80862808227545, 0.0, "AUTO_CLAMPED"], [0.0, 750.0, "BEZIER", "AUTO", 457.1913719177246, 0.0, "AUTO_CLAMPED", 1238.0144119262698, 0.0, "AUTO_CLAMPED"], [0.0, 1250.0, "BEZIER", "AUTO", 1511.9855880737305, 0.0, "AUTO_CLAMPED", 2195.2056884765625, 0.0, "AUTO_CLAMPED"], [0.0, 500.0, "BEZIER", "AUTO", 2304.7943115234375, 0.0, "AUTO_CLAMPED", 2988.0144119262695, 0.0, "AUTO_CLAMPED"], [0.0, 1250.0, "LINEAR", "AUTO", 3261.9857788085938, 0.0, "AUTO_CLAMPED"], [0.0, 750.0, "BEZIER", "AUTO", 4792.808532714844, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 292.80862808227545, -0.0, "AUTO_CLAMPED"], [-1.0132989883422852, 750.0, "BEZIER", "AUTO", 457.1913719177246, -1.0132989883422852, "AUTO_CLAMPED", 1238.0144119262698, -1.0132989883422852, "AUTO_CLAMPED"], [-1.0132989883422852, 1250.0, "BEZIER", "AUTO", 1511.9855880737305, -1.0132989883422852, "AUTO_CLAMPED", 2195.2056884765625, -1.0132989883422852, "AUTO_CLAMPED"], [-1.0132989883422852, 500.0, "BEZIER", "AUTO", 2304.7943115234375, -1.0132989883422852, "AUTO_CLAMPED", 2988.0144119262695, -1.0132989883422852, "AUTO_CLAMPED"], [-1.0132989883422852, 1250.0, "LINEAR", "AUTO", 3261.9857788085938, -1.0132989883422852, "AUTO_CLAMPED"], [-0.0, 750.0, "BEZIER", "AUTO", 4792.808532714844, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 292.80862808227545, 0.0, "AUTO_CLAMPED"], [0.0, 750.0, "BEZIER", "AUTO", 457.1913719177246, 0.0, "AUTO_CLAMPED", 1238.0144119262698, 0.0, "AUTO_CLAMPED"], [0.0, 1250.0, "BEZIER", "AUTO", 1511.9855880737305, 0.0, "AUTO_CLAMPED", 2195.2056884765625, 0.0, "AUTO_CLAMPED"], [2.400388240814209, 500.0, "BEZIER", "AUTO", 2304.7943115234375, 2.400388240814209, "AUTO_CLAMPED", 2988.0144119262695, 2.400388240814209, "AUTO_CLAMPED"], [2.400388240814209, 1250.0, "LINEAR", "AUTO", 3261.9857788085938, 2.400388240814209, "AUTO_CLAMPED"], [0.0, 750.0, "BEZIER", "AUTO", 4792.808532714844, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 292.80862808227545, 0.0, "AUTO_CLAMPED"], [31.53669436033596, 750.0, "BEZIER", "AUTO", 457.1913719177246, 31.53669436033596, "AUTO_CLAMPED", 1238.0144119262698, 31.53669436033596, "AUTO_CLAMPED"], [31.53669436033596, 1250.0, "BEZIER", "AUTO", 1511.9855880737305, 31.53669436033596, "AUTO_CLAMPED", 2195.2056884765625, 31.53669436033596, "AUTO_CLAMPED"], [-23.37867031189583, 500.0, "BEZIER", "AUTO", 2304.7943115234375, -23.37867031189583, "AUTO_CLAMPED", 2988.0144119262695, -23.37867031189583, "AUTO_CLAMPED"], [-23.37867031189583, 1250.0, "LINEAR", "AUTO", 3261.9857788085938, -23.37867031189583, "AUTO_CLAMPED"], [0.0, 750.0, "BEZIER", "AUTO", 4792.808532714844, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 292.80862808227545, -0.0, "AUTO_CLAMPED"], [0.0, 750.0, "BEZIER", "AUTO", 457.1913719177246, 0.0, "AUTO_CLAMPED", 1238.0144119262698, 0.0, "AUTO_CLAMPED"], [0.0, 1250.0, "BEZIER", "AUTO", 1511.9855880737305, 0.0, "AUTO_CLAMPED", 2195.2056884765625, 0.0, "AUTO_CLAMPED"], [0.0, 500.0, "BEZIER", "AUTO", 2304.7943115234375, 0.0, "AUTO_CLAMPED", 2988.0144119262695, 0.0, "AUTO_CLAMPED"], [0.0, 1250.0, "LINEAR", "AUTO", 3261.9857788085938, 0.0, "AUTO_CLAMPED"], [0.0, 750.0, "BEZIER", "AUTO", 4792.808532714844, 0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 292.80862808227545, 0.0, "AUTO_CLAMPED"], [0.0, 750.0, "BEZIER", "AUTO", 457.1913719177246, 0.0, "AUTO_CLAMPED", 1238.0144119262698, 0.0, "AUTO_CLAMPED"], [0.0, 1250.0, "BEZIER", "AUTO", 1511.9855880737305, 0.0, "AUTO_CLAMPED", 2195.2056884765625, 0.0, "AUTO_CLAMPED"], [0.0, 500.0, "BEZIER", "AUTO", 2304.7943115234375, 0.0, "AUTO_CLAMPED", 2988.0144119262695, 0.0, "AUTO_CLAMPED"], [0.0, 1250.0, "LINEAR", "AUTO", 3261.9857788085938, 0.0, "AUTO_CLAMPED"], [0.0, 750.0, "BEZIER", "AUTO", 4792.808532714844, 0.0, "AUTO_CLAMPED"]]}}, "Tank": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 292.80862808227545, 0.0, "AUTO_CLAMPED"], [0.0, 750.0, "LINEAR", "AUTO", 457.1913719177246, 0.0, "AUTO_CLAMPED"], [-0.044564783573150635, 400.0000000000002, "LINEAR", "AUTO"], [-0.044564783573150635, 349.9999999999998, "BEZIER", "AUTO", 1695.2056884765625, -0.044564783573150635, "AUTO_CLAMPED"], [-0.044564783573150635, 500.0, "BEZIER", "AUTO", 1804.7943115234375, -0.044564783573150635, "AUTO_CLAMPED", 2195.2056884765625, -0.044564783573150635, "AUTO_CLAMPED"], [-0.044564783573150635, 500.0, "BEZIER", "AUTO", 2304.7943115234375, -0.044564783573150635, "AUTO_CLAMPED", 2695.2056884765625, -0.044564783573150635, "AUTO_CLAMPED"], [-0.044564783573150635, 500.0, "BEZIER", "AUTO", 2804.7943115234375, -0.044564783573150635, "AUTO_CLAMPED", 3097.6028442382812, -0.044564783573150635, "AUTO_CLAMPED"], [-0.044564783573150635, 250.0, "BEZIER", "AUTO", 3152.3971557617188, -0.044564783573150635, "AUTO_CLAMPED", 3347.6028442382812, -0.044564783573150635, "AUTO_CLAMPED"], [-0.044564783573150635, 250.0, "LINEAR", "AUTO", 3402.3971557617188, -0.044564783573150635, "AUTO_CLAMPED"], [0.0, 250.0, "LINEAR", "AUTO"], [0.0, 750.0, "BEZIER", "AUTO", 4792.808532714844, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 292.80862808227545, -0.0, "AUTO_CLAMPED"], [-1.0132989883422852, 750.0, "LINEAR", "AUTO", 457.1913719177246, -1.0132989883422852, "AUTO_CLAMPED"], [2.5499136447906494, 400.0000000000002, "LINEAR", "AUTO"], [1.4521247148513794, 349.9999999999998, "BEZIER", "AUTO", 1695.2056884765625, 1.4521247148513794, "AUTO_CLAMPED"], [3.9383955001831055, 500.0, "BEZIER", "AUTO", 1804.7943115234375, 3.9383955001831055, "AUTO_CLAMPED", 2195.2056884765625, 3.9383955001831055, "AUTO_CLAMPED"], [3.9383955001831055, 500.0, "BEZIER", "AUTO", 2304.7943115234375, 3.9383955001831055, "AUTO_CLAMPED", 2695.2056884765625, 3.9383955001831055, "AUTO_CLAMPED"], [4.342286586761475, 500.0, "BEZIER", "AUTO", 2804.7943115234375, 3.9470109939575195, "AUTO_CLAMPED", 3097.6028442382812, 4.539924621582031, "AUTO_CLAMPED"], [5.1528000831604, 250.0, "BEZIER", "AUTO", 3152.3971557617188, 5.1528000831604, "AUTO_CLAMPED", 3347.6028442382812, 5.1528000831604, "AUTO_CLAMPED"], [2.7643589973449707, 250.0, "LINEAR", "AUTO", 3402.3971557617188, 3.9673728942871094, "AUTO_CLAMPED"], [-1.0099999904632568, 250.0, "LINEAR", "AUTO"], [-0.0, 750.0, "BEZIER", "AUTO", 4792.808532714844, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 292.80862808227545, 0.0, "AUTO_CLAMPED"], [0.0, 750.0, "LINEAR", "AUTO", 457.1913719177246, 0.0, "AUTO_CLAMPED"], [-2.2834606170654297, 400.0000000000002, "LINEAR", "AUTO"], [-5.361827373504639, 349.9999999999998, "BEZIER", "AUTO", 1695.2056884765625, -7.615589141845703, "AUTO_CLAMPED"], [-12.509732246398926, 500.0, "BEZIER", "AUTO", 1804.7943115234375, -12.509732246398926, "AUTO_CLAMPED", 2195.2056884765625, -12.509732246398926, "AUTO_CLAMPED"], [-12.509732246398926, 500.0, "BEZIER", "AUTO", 2304.7943115234375, -12.509732246398926, "AUTO_CLAMPED", 2695.2056884765625, -12.509732246398926, "AUTO_CLAMPED"], [-4.52110481262207, 500.0, "BEZIER", "AUTO", 2804.7943115234375, -7.63911247253418, "AUTO_CLAMPED", 3097.6028442382812, -2.9621009826660156, "AUTO_CLAMPED"], [-0.5289543867111206, 250.0, "BEZIER", "AUTO", 3152.3971557617188, -2.206026554107666, "AUTO_CLAMPED", 3347.6028442382812, 1.1481177806854248, "AUTO_CLAMPED"], [4.070199966430664, 250.0, "LINEAR", "AUTO", 3402.3971557617188, 4.070199966430664, "AUTO_CLAMPED"], [2.4000000953674316, 250.0, "LINEAR", "AUTO"], [0.0, 750.0, "BEZIER", "AUTO", 4792.808532714844, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 292.80862808227545, 0.0, "AUTO_CLAMPED"], [31.53669436033596, 750.0, "LINEAR", "AUTO", 457.1913719177246, 31.53669436033596, "AUTO_CLAMPED"], [31.53669436033596, 400.0000000000002, "LINEAR", "AUTO"], [60.02500016201436, 349.9999999999998, "BEZIER", "AUTO", 1695.2056884765625, 60.02500016201436, "AUTO_CLAMPED"], [60.02500016201436, 500.0, "BEZIER", "AUTO", 1804.7943115234375, 60.02500016201436, "AUTO_CLAMPED", 2195.2056884765625, 60.02500016201436, "AUTO_CLAMPED"], [60.02500016201436, 500.0, "BEZIER", "AUTO", 2304.7943115234375, 60.02500016201436, "AUTO_CLAMPED", 2695.2056884765625, 60.02500016201436, "AUTO_CLAMPED"], [60.02500016201436, 500.0, "BEZIER", "AUTO", 2804.7943115234375, 60.02500016201436, "AUTO_CLAMPED", 3097.6028442382812, 60.02500016201436, "AUTO_CLAMPED"], [23.514188095218056, 250.0, "BEZIER", "AUTO", 3152.3971557617188, 39.881238922178085, "AUTO_CLAMPED", 3347.6028442382812, 7.147137268258023, "AUTO_CLAMPED"], [-23.820132758710436, 250.0, "LINEAR", "AUTO", 3402.3971557617188, -23.820132758710436, "AUTO_CLAMPED"], [-23.820132758710436, 250.0, "LINEAR", "AUTO"], [0.0, 750.0, "BEZIER", "AUTO", 4792.808532714844, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 292.80862808227545, -0.0, "AUTO_CLAMPED"], [0.0, 750.0, "LINEAR", "AUTO", 457.1913719177246, 0.0, "AUTO_CLAMPED"], [0.0, 400.0000000000002, "LINEAR", "AUTO"], [0.0, 349.9999999999998, "BEZIER", "AUTO", 1695.2056884765625, 0.0, "AUTO_CLAMPED"], [0.0, 500.0, "BEZIER", "AUTO", 1804.7943115234375, 0.0, "AUTO_CLAMPED", 2195.2056884765625, 0.0, "AUTO_CLAMPED"], [0.0, 500.0, "BEZIER", "AUTO", 2304.7943115234375, 0.0, "AUTO_CLAMPED", 2695.2056884765625, 0.0, "AUTO_CLAMPED"], [0.0, 500.0, "BEZIER", "AUTO", 2804.7943115234375, 0.0, "AUTO_CLAMPED", 3097.6028442382812, 0.0, "AUTO_CLAMPED"], [0.0, 250.0, "BEZIER", "AUTO", 3152.3971557617188, 0.0, "AUTO_CLAMPED", 3347.6028442382812, 0.0, "AUTO_CLAMPED"], [0.0, 250.0, "LINEAR", "AUTO", 3402.3971557617188, 0.0, "AUTO_CLAMPED"], [0.0, 250.0, "LINEAR", "AUTO"], [0.0, 750.0, "BEZIER", "AUTO", 4792.808532714844, 0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 292.80862808227545, 0.0, "AUTO_CLAMPED"], [0.0, 750.0, "LINEAR", "AUTO", 457.1913719177246, 0.0, "AUTO_CLAMPED"], [0.0, 400.0000000000002, "LINEAR", "AUTO"], [0.0, 349.9999999999998, "BEZIER", "AUTO", 1695.2056884765625, 0.0, "AUTO_CLAMPED"], [0.0, 500.0, "BEZIER", "AUTO", 1804.7943115234375, 0.0, "AUTO_CLAMPED", 2195.2056884765625, 0.0, "AUTO_CLAMPED"], [0.0, 500.0, "BEZIER", "AUTO", 2304.7943115234375, 0.0, "AUTO_CLAMPED", 2695.2056884765625, 0.0, "AUTO_CLAMPED"], [0.0, 500.0, "BEZIER", "AUTO", 2804.7943115234375, 0.0, "AUTO_CLAMPED", 3097.6028442382812, 0.0, "AUTO_CLAMPED"], [0.0, 250.0, "BEZIER", "AUTO", 3152.3971557617188, 0.0, "AUTO_CLAMPED", 3347.6028442382812, 0.0, "AUTO_CLAMPED"], [0.0, 250.0, "LINEAR", "AUTO", 3402.3971557617188, 0.0, "AUTO_CLAMPED"], [0.0, 250.0, "LINEAR", "AUTO"], [0.0, 750.0, "BEZIER", "AUTO", 4792.808532714844, 0.0, "AUTO_CLAMPED"]]}}}}, "offset": {}, "hierarchy": {}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/animations/ks23.json b/src/main/resources/assets/hbm/models/weapons/animations/ks23.json deleted file mode 100644 index fb0675f87..000000000 --- a/src/main/resources/assets/hbm/models/weapons/animations/ks23.json +++ /dev/null @@ -1 +0,0 @@ -{"anim": {"Fire": {"Body": {"location": {"z": [[-0.0, 0.0], [0.34807687997817993, 33.333333333333336], [0.13398613035678864, 200.0], [-0.08360463380813599, 83.33333333333329], [-0.34655845165252686, 100.00000000000006], [-0.4278261363506317, 66.66666666666663], [-0.0, 216.66666666666669]], "y": [[0.0, 0.0], [0.3529239892959595, 50.0], [0.14532163739204407, 183.33333333333334], [0.2893771231174469, 83.33333333333329], [0.6147624254226685, 100.00000000000006], [0.5851793885231018, 66.66666666666663], [0.0, 216.66666666666669]], "x": [[0.0, 0.0], [0.0, 233.33333333333334], [-0.11603647470474243, 83.33333333333329], [-0.2742908000946045, 100.00000000000006], [-0.3180012106895447, 66.66666666666663], [0.0, 216.66666666666669]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 16.666666666666668], [15.266058483699828, 83.33333333333333], [6.633028929431163, 133.33333333333334], [21.336039061353695, 83.33333333333329], [62.11162978364242, 100.00000000000006], [56.06470621707923, 99.99999999999994], [0.0, 150.0]], "z": [[-0.0, 0.0], [-0.0, 233.33333333333334], [-17.404254326014197, 83.33333333333329], [-37.01021671588742, 100.00000000000006], [-35.68124290341594, 99.99999999999994], [-0.0, 150.0]], "y": [[0.0, 0.0], [0.0, 233.33333333333334], [1.3580200456906015, 83.33333333333329], [12.396626003938477, 100.00000000000006], [15.095872367697911, 99.99999999999994], [0.0, 150.0]]}}, "Bolt": {"location": {"z": [[-0.0, 0.0], [-0.0, 266.6666666666667], [0.7143759727478027, 83.33333333333331], [0.7143759727478027, 100.0], [-0.0, 100.0]]}}}, "Reload": {"Body": {"location": {"x": [[-0.7295733690261841, 0.0], [-0.6248612403869629, 266.6666666666667], [-0.7295733690261841, 266.6666666666667]], "z": [[-0.29214829206466675, 0.0], [-0.3179074227809906, 266.6666666666667], [-0.29214829206466675, 266.6666666666667]], "y": [[0.2915276288986206, 0.0], [0.745927095413208, 266.6666666666667], [0.2915276288986206, 266.6666666666667]]}, "rotation_euler": {"x": [[2.2122143889063857, 0.0], [11.92072318200773, 266.6666666666667], [2.2122143889063857, 266.6666666666667]], "z": [[-48.21786729477217, 0.0], [-58.83050935920585, 266.6666666666667], [-48.21786729477217, 266.6666666666667]], "y": [[27.10300512666912, 0.0], [24.162893849376477, 266.6666666666667], [27.10300512666912, 266.6666666666667]]}}, "Guard": {"location": {"x": [[0.0, 0.0], [0.0, 216.66666666666669], [-0.009601704776287079, 33.333333333333314], [-0.009601704776287079, 66.66666666666663], [0.0, 83.33333333333337]], "z": [[-0.0, 0.0], [-0.0, 216.66666666666669], [-0.01663617603480816, 33.333333333333314], [-0.01663617603480816, 66.66666666666663], [-0.0, 83.33333333333337]], "y": [[0.0, 0.0], [0.0, 216.66666666666669], [0.20640075206756592, 33.333333333333314], [0.20640075206756592, 66.66666666666663], [0.0, 83.33333333333337]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 216.66666666666669], [13.692764535748763, 33.333333333333314], [13.692764535748763, 66.66666666666663], [0.0, 83.33333333333337]], "z": [[0.0, 0.0], [0.0, 216.66666666666669], [-1.7075472925031877e-06, 33.333333333333314], [-1.7075472925031877e-06, 66.66666666666663], [-0.0, 83.33333333333337]], "y": [[0.0, 0.0], [0.0, 216.66666666666669], [-8.537736462515939e-07, 33.333333333333314], [-8.537736462515939e-07, 66.66666666666663], [0.0, 83.33333333333337]]}}, "Shell": {"location": {"x": [[0.0, 0.0], [9.313225746154785e-09, 133.33333333333334], [0.0043092877604067326, 83.33333333333334], [0.004309257958084345, 83.33333333333331], [0.004309284035116434, 50.0]], "z": [[-0.0, 0.0], [0.30239760875701904, 133.33333333333334], [0.5154579877853394, 83.33333333333334], [0.11890840530395508, 83.33333333333331], [-0.12080879509449005, 50.0]], "y": [[-2.0212161540985107, 0.0], [-1.4118856191635132, 133.33333333333334], [-0.4431022107601166, 83.33333333333334], [-0.2641807496547699, 83.33333333333331], [-0.2624862790107727, 50.0]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 133.33333333333334], [21.14787588745631, 83.33333333333334], [0.40499606683590605, 83.33333333333331], [0.40499606683590605, 50.0]], "z": [[-0.0, 0.0], [-0.0, 133.33333333333334], [0.0, 83.33333333333334], [-1.0271807443729786e-06, 83.33333333333331], [-1.0271807443729786e-06, 50.0]], "y": [[0.0, 0.0], [0.0, 133.33333333333334], [-1.9209907040660864e-06, 83.33333333333334], [-4.784677867278997e-06, 83.33333333333331], [-4.784677867278997e-06, 50.0]]}}}, "ReloadEmptyStart": {"Body": {"location": {"x": [[0.0, 0.0], [-0.8907862305641174, 216.66666666666669], [-0.912574291229248, 83.33333333333331], [-0.8907862305641174, 183.33333333333331], [-0.7295733690261841, 316.6666666666667]], "z": [[-0.0, 0.0], [-0.10736510902643204, 216.66666666666669], [-0.1299014389514923, 83.33333333333331], [-0.10736510902643204, 183.33333333333331], [-0.29214829206466675, 316.6666666666667]], "y": [[0.0, 0.0], [0.1955999732017517, 216.66666666666669], [0.07320505380630493, 83.33333333333331], [0.1955999732017517, 183.33333333333331], [0.2915276288986206, 316.6666666666667]]}, "rotation_euler": {"x": [[0.0, 0.0], [14.341662388977594, 216.66666666666669], [10.053024175167023, 83.33333333333331], [14.341662388977594, 183.33333333333331], [2.2122143889063857, 316.6666666666667]], "z": [[-0.0, 0.0], [47.39059819759481, 216.66666666666669], [51.027851515545024, 83.33333333333331], [47.39059819759481, 183.33333333333331], [-48.21786729477217, 316.6666666666667]], "y": [[0.0, 0.0], [-9.334892963190004, 216.66666666666669], [-8.375116488567105, 83.33333333333331], [-9.334892963190004, 183.33333333333331], [27.10300512666912, 316.6666666666667]]}}, "Bolt": {"location": {"z": [[-0.0, 0.0], [-0.0, 183.33333333333331], [0.5467166900634766, 66.66666666666669], [0.5467166900634766, 133.33333333333331], [-0.0, 150.00000000000006]]}}, "Shell": {"location": {"x": [[0.0, 0.0], [0.0, 183.33333333333331], [0.4347861707210541, 66.66666666666669], [0.12760140001773834, 33.333333333333314], [0.0, 66.66666666666669]], "z": [[-0.0, 0.0], [-0.0, 183.33333333333331], [0.34638845920562744, 66.66666666666669], [0.43973004817962646, 33.333333333333314], [-0.0, 66.66666666666669]], "y": [[-2.0212161540985107, 0.0], [-2.0212161540985107, 183.33333333333331], [-0.5793730020523071, 66.66666666666669], [-0.010208487510681152, 33.333333333333314], [0.0, 66.66666666666669]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 183.33333333333331], [0.0, 66.66666666666669], [1.2806606729328905e-06, 33.333333333333314], [0.0, 66.66666666666669]], "z": [[0.0, 0.0], [0.0, 183.33333333333331], [0.0, 66.66666666666669], [0.0, 33.333333333333314], [-0.0, 66.66666666666669]], "y": [[0.0, 0.0], [0.0, 183.33333333333331], [19.145008290714692, 66.66666666666669], [25.845758545766532, 33.333333333333314], [0.0, 66.66666666666669]]}}}, "ReloadEnd": {"Body": {"location": {"x": [[-0.7295733690261841, 0.0], [0.0, 400.0]], "z": [[-0.29214829206466675, 0.0], [-0.0, 400.0]], "y": [[0.2915276288986206, 0.0], [0.0, 400.0]]}, "rotation_euler": {"x": [[2.2122143889063857, 0.0], [0.0, 400.0]], "z": [[-48.21786729477217, 0.0], [-0.0, 400.0]], "y": [[27.10300512666912, 0.0], [0.0, 400.0]]}}}, "ReloadStart": {"Body": {"location": {"x": [[0.0, 0.0], [-0.7295733690261841, 133.33333333333334], [-0.7095879912376404, 116.66666666666666], [-0.7295733690261841, 150.0]], "z": [[-0.0, 0.0], [-0.29214829206466675, 133.33333333333334], [-0.28021347522735596, 116.66666666666666], [-0.29214829206466675, 150.0]], "y": [[0.0, 0.0], [0.2915276288986206, 133.33333333333334], [0.4674150049686432, 116.66666666666666], [0.2915276288986206, 150.0]]}, "rotation_euler": {"x": [[0.0, 0.0], [2.2122143889063857, 133.33333333333334], [6.795230554293333, 116.66666666666666], [2.2122143889063857, 150.0]], "z": [[-0.0, 0.0], [-48.21786729477217, 133.33333333333334], [-51.976428187476394, 116.66666666666666], [-48.21786729477217, 150.0]], "y": [[0.0, 0.0], [27.10300512666912, 133.33333333333334], [26.74002155341796, 116.66666666666666], [27.10300512666912, 150.0]]}}, "Guard": {"location": {"x": [[0.0, 0.0], [0.0, 216.66666666666669], [-0.009601704776287079, 33.333333333333314], [-0.009601704776287079, 66.66666666666663], [0.0, 83.33333333333337]], "z": [[-0.0, 0.0], [-0.0, 216.66666666666669], [-0.01663617603480816, 33.333333333333314], [-0.01663617603480816, 66.66666666666663], [-0.0, 83.33333333333337]], "y": [[0.0, 0.0], [0.0, 216.66666666666669], [0.20640075206756592, 33.333333333333314], [0.20640075206756592, 66.66666666666663], [0.0, 83.33333333333337]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 216.66666666666669], [13.692764535748763, 33.333333333333314], [13.692764535748763, 66.66666666666663], [0.0, 83.33333333333337]], "z": [[0.0, 0.0], [0.0, 216.66666666666669], [-1.7075472925031877e-06, 33.333333333333314], [-1.7075472925031877e-06, 66.66666666666663], [-0.0, 83.33333333333337]], "y": [[0.0, 0.0], [0.0, 216.66666666666669], [-8.537736462515939e-07, 33.333333333333314], [-8.537736462515939e-07, 66.66666666666663], [0.0, 83.33333333333337]]}}, "Shell": {"location": {"x": [[0.0, 0.0], [9.313225746154785e-09, 133.33333333333334], [0.0043092877604067326, 83.33333333333334], [0.004309257958084345, 83.33333333333331], [0.004309284035116434, 50.0]], "z": [[-0.0, 0.0], [0.30239760875701904, 133.33333333333334], [0.5154579877853394, 83.33333333333334], [0.11890840530395508, 83.33333333333331], [-0.12080879509449005, 50.0]], "y": [[-2.0212161540985107, 0.0], [-1.4118856191635132, 133.33333333333334], [-0.4431022107601166, 83.33333333333334], [-0.2641807496547699, 83.33333333333331], [-0.2624862790107727, 50.0]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 133.33333333333334], [21.14787588745631, 83.33333333333334], [0.40499606683590605, 83.33333333333331], [0.40499606683590605, 50.0]], "z": [[-0.0, 0.0], [-0.0, 133.33333333333334], [0.0, 83.33333333333334], [-1.0271807443729786e-06, 83.33333333333331], [-1.0271807443729786e-06, 50.0]], "y": [[0.0, 0.0], [0.0, 133.33333333333334], [-1.9209907040660864e-06, 83.33333333333334], [-4.784677867278997e-06, 83.33333333333331], [-4.784677867278997e-06, 50.0]]}}}}, "offset": {"Bolt": [-2.9802322387695312e-08, -7.450580596923828e-09, -0.0]}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/animations/lag.json b/src/main/resources/assets/hbm/models/weapons/animations/lag.json new file mode 100644 index 000000000..dbb5b84c6 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/animations/lag.json @@ -0,0 +1 @@ +{"anim": {"Dryfire": {"Grip": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 194.44444974263507, 0.0, "AUTO_CLAMPED"], [0.0, 583.3333333333334, "BEZIER", "AUTO", 388.8888676961263, 0.0, "AUTO_CLAMPED", 644.444465637207, 0.0, "AUTO_CLAMPED"], [0.07023310661315918, 183.33333333333326, "BEZIER", "AUTO", 705.555534362793, 0.07023310661315918, "AUTO_CLAMPED", 777.7777989705403, 0.07023310661315918, "AUTO_CLAMPED"], [0.07023310661315918, 33.33333333333337, "BEZIER", "AUTO", 788.8888676961263, 0.07023310661315918, "AUTO_CLAMPED", 850.0, 0.07023310661315918, "AUTO_CLAMPED"], [-0.005564689636230469, 150.0, "BEZIER", "AUTO", 900.0, -0.005564689636230469, "AUTO_CLAMPED", 977.7777989705404, -0.005564689636230469, "AUTO_CLAMPED"], [0.0, 83.33333333333326, "BEZIER", "AUTO", 1005.5555343627929, 0.0, "AUTO_CLAMPED", 1061.1111323038738, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 194.44444974263507, -0.0, "AUTO_CLAMPED"], [-0.0, 583.3333333333334, "BEZIER", "AUTO", 388.8888676961263, -0.0, "AUTO_CLAMPED", 644.444465637207, -0.0, "AUTO_CLAMPED"], [-0.0, 183.33333333333326, "BEZIER", "AUTO", 705.555534362793, -0.0, "AUTO_CLAMPED", 777.7777989705403, -0.0, "AUTO_CLAMPED"], [-0.0, 33.33333333333337, "BEZIER", "AUTO", 788.8888676961263, -0.0, "AUTO_CLAMPED", 850.0, -0.0, "AUTO_CLAMPED"], [-0.0, 150.0, "BEZIER", "AUTO", 900.0, -0.0, "AUTO_CLAMPED", 977.7777989705404, -0.0, "AUTO_CLAMPED"], [-0.0, 83.33333333333326, "BEZIER", "AUTO", 1005.5555343627929, -0.0, "AUTO_CLAMPED", 1061.1111323038738, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 194.44444974263507, 0.0, "AUTO_CLAMPED"], [0.0, 583.3333333333334, "BEZIER", "AUTO", 388.8888676961263, 0.0, "AUTO_CLAMPED", 644.444465637207, 0.0, "AUTO_CLAMPED"], [0.17485475540161133, 183.33333333333326, "BEZIER", "AUTO", 705.555534362793, 0.17485475540161133, "AUTO_CLAMPED", 777.7777989705403, 0.17485475540161133, "AUTO_CLAMPED"], [0.17485475540161133, 33.33333333333337, "BEZIER", "AUTO", 788.8888676961263, 0.17485475540161133, "AUTO_CLAMPED", 850.0, 0.17485475540161133, "AUTO_CLAMPED"], [-0.016497015953063965, 150.0, "BEZIER", "AUTO", 900.0, -0.016497015953063965, "AUTO_CLAMPED", 977.7777989705404, -0.016497015953063965, "AUTO_CLAMPED"], [0.0, 83.33333333333326, "BEZIER", "AUTO", 1005.5555343627929, 0.0, "AUTO_CLAMPED", 1061.1111323038738, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 172.22221692403158, 0.0, "AUTO_CLAMPED"], [0.0, 516.6666666666666, "BEZIER", "AUTO", 344.44446563720703, 0.0, "AUTO_CLAMPED", 583.3333333333334, 0.0, "AUTO_CLAMPED"], [-2.1999998762362876, 200.0, "BEZIER", "AUTO", 650.0, -2.1999998762362876, "AUTO_CLAMPED", 744.444465637207, -2.1999998762362876, "AUTO_CLAMPED"], [-2.1999998762362876, 83.33333333333337, "BEZIER", "AUTO", 772.2222010294596, -2.1999998762362876, "AUTO_CLAMPED", 877.7777989705403, -2.1999998762362876, "AUTO_CLAMPED"], [0.0, 233.33333333333326, "BEZIER", "AUTO", 955.555534362793, 0.0, "AUTO_CLAMPED", 1111.111068725586, 0.0, "AUTO_CLAMPED"]], "z": [[0.0, 0.0, "BEZIER", "AUTO", 194.44444974263507, 0.0, "AUTO_CLAMPED"], [0.0, 583.3333333333334, "BEZIER", "AUTO", 388.8888676961263, 0.0, "AUTO_CLAMPED", 644.444465637207, 0.0, "AUTO_CLAMPED"], [-2.575079927950949, 183.33333333333326, "BEZIER", "AUTO", 705.555534362793, -2.575079927950949, "AUTO_CLAMPED", 777.7777989705403, -2.575079927950949, "AUTO_CLAMPED"], [-2.575079927950949, 33.33333333333337, "BEZIER", "AUTO", 788.8888676961263, -2.575079927950949, "AUTO_CLAMPED", 850.0, -2.575079927950949, "AUTO_CLAMPED"], [0.2377203317919303, 150.0, "BEZIER", "AUTO", 900.0, 0.2377203317919303, "AUTO_CLAMPED", 977.7777989705404, 0.2377203317919303, "AUTO_CLAMPED"], [-0.0, 83.33333333333326, "BEZIER", "AUTO", 1005.5555343627929, -0.0, "AUTO_CLAMPED", 1061.1111323038738, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 194.44444974263507, 0.0, "AUTO_CLAMPED"], [0.0, 583.3333333333334, "BEZIER", "AUTO", 388.8888676961263, 0.0, "AUTO_CLAMPED", 644.444465637207, 0.0, "AUTO_CLAMPED"], [0.0, 183.33333333333326, "BEZIER", "AUTO", 705.555534362793, 0.0, "AUTO_CLAMPED", 777.7777989705403, 0.0, "AUTO_CLAMPED"], [0.0, 33.33333333333337, "BEZIER", "AUTO", 788.8888676961263, 0.0, "AUTO_CLAMPED", 877.7777989705403, 0.0, "AUTO_CLAMPED"], [0.0, 233.33333333333326, "BEZIER", "AUTO", 955.555534362793, 0.0, "AUTO_CLAMPED", 1111.111068725586, 0.0, "AUTO_CLAMPED"]]}}, "Hammer": {"location": {"x": [[3.125, 0.0, "BEZIER", "AUTO", 16.666666666666668, 3.125, "AUTO_CLAMPED"]], "z": [[1.862645149230957e-08, 0.0, "BEZIER", "AUTO", 16.666666666666668, 1.862645149230957e-08, "AUTO_CLAMPED"]], "y": [[0.125, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.125, "AUTO_CLAMPED"]]}, "rotation_euler": {"z": [[-0.0, 0.0, "BEZIER", "AUTO", 11.111111442248026, -0.0, "AUTO_CLAMPED"], [25.00000012650595, 33.333333333333336, "BEZIER", "AUTO", 22.22222089767456, 25.00000012650595, "AUTO_CLAMPED", 216.66666666666669, 25.00000012650595, "AUTO_CLAMPED"], [25.00000012650595, 550.0, "BEZIER", "AUTO", 400.0, 25.00000012650595, "AUTO_CLAMPED", 627.7777989705403, 25.00000012650595, "AUTO_CLAMPED"], [-60.000001669652114, 133.33333333333326, "BEZIER", "AUTO", 672.2222010294596, -60.000001669652114, "AUTO_CLAMPED", 733.3333333333333, -60.000001669652114, "AUTO_CLAMPED"], [-60.000001669652114, 50.0, "BEZIER", "AUTO", 750.0, -60.000001669652114, "AUTO_CLAMPED", 783.3333333333334, -60.000001669652114, "AUTO_CLAMPED"], [-0.0, 50.0, "BEZIER", "AUTO", 800.0, -0.0, "AUTO_CLAMPED", 833.3333333333334, -0.0, "AUTO_CLAMPED"]], "x": [[0.0, 583.3333333333334, "BEZIER", "AUTO", 627.7777989705403, 0.0, "AUTO_CLAMPED"], [0.0, 133.33333333333326, "BEZIER", "AUTO", 672.2222010294596, 0.0, "AUTO_CLAMPED", 733.3333333333333, 0.0, "AUTO_CLAMPED"], [0.0, 50.0, "BEZIER", "AUTO", 750.0, 0.0, "AUTO_CLAMPED", 783.3333333333334, 0.0, "AUTO_CLAMPED"]], "y": [[0.0, 583.3333333333334, "BEZIER", "AUTO", 627.7777989705403, 0.0, "AUTO_CLAMPED"], [0.0, 133.33333333333326, "BEZIER", "AUTO", 672.2222010294596, 0.0, "AUTO_CLAMPED", 733.3333333333333, 0.0, "AUTO_CLAMPED"], [0.0, 50.0, "BEZIER", "AUTO", 750.0, 0.0, "AUTO_CLAMPED", 783.3333333333334, 0.0, "AUTO_CLAMPED"]]}}}, "Firing": {"Bullet": {"location": {"x": [[1.59375, 0.0, "BEZIER", "AUTO", 11.111111442248026, 1.59375, "AUTO_CLAMPED"], [1.59375, 33.333333333333336, "QUAD", "EASE_OUT", 22.22222089767456, 1.59375, "AUTO_CLAMPED"], [0.90625, 66.66666666666666, "SINE", "EASE_IN"], [-0.5937501192092896, 100.0, "BEZIER", "AUTO", 233.33333333333334, -0.5937501192092896, "AUTO_CLAMPED"]], "y": [[0.5625, 0.0, "BEZIER", "AUTO", 11.111111442248026, 0.5625, "AUTO_CLAMPED"], [0.5625, 33.333333333333336, "QUAD", "AUTO", 22.22222089767456, 0.5625, "AUTO_CLAMPED"], [0.875, 66.66666666666666, "SINE", "AUTO"], [0.9999978542327881, 66.66666666666666, "BEZIER", "AUTO", 188.88888359069824, 0.9999978542327881, "AUTO_CLAMPED"]]}, "rotation_euler": {"z": [[-19.99999941818584, 0.0, "BEZIER", "AUTO", 11.111111442248026, -19.99999941818584, "AUTO_CLAMPED"], [-19.99999941818584, 33.333333333333336, "QUAD", "AUTO", 22.22222089767456, -19.99999941818584, "AUTO_CLAMPED"], [-7.500000208706514, 66.66666666666666, "SINE", "AUTO"], [-0.0, 66.66666666666666, "BEZIER", "AUTO", 188.88888359069824, -0.0, "AUTO_CLAMPED"]]}}, "Grip": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 11.111111442248026, 0.0, "AUTO_CLAMPED"], [0.0, 33.333333333333336, "QUAD", "EASE_OUT", 22.22222089767456, 0.0, "AUTO_CLAMPED"], [0.5237600207328796, 49.99999999999999, "BEZIER", "AUTO", 108.33333333333334, 0.5237600207328796, "ALIGNED"], [0.3084455132484436, 50.000000000000014, "BEZIER", "AUTO", 116.66666666666667, 0.43553054332733154, "AUTO_CLAMPED", 161.11111640930176, 0.09663715958595276, "AUTO_CLAMPED"], [-0.04659605026245117, 83.33333333333334, "BEZIER", "AUTO", 188.88888359069824, -0.04659605026245117, "AUTO_CLAMPED", 233.33333333333334, -0.04659605026245117, "AUTO_CLAMPED"], [0.0, 50.0, "BEZIER", "AUTO", 250.0, 0.0, "AUTO_CLAMPED", 283.3333333333333, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 11.111111442248026, -0.0, "AUTO_CLAMPED"], [-0.0, 33.333333333333336, "QUAD", "EASE_OUT", 22.22222089767456, -0.0, "AUTO_CLAMPED"], [6.210800052031118e-08, 49.99999999999999, "BEZIER", "AUTO", 100.0, 6.210800052031118e-08, "AUTO_CLAMPED"], [6.210800052031118e-08, 50.000000000000014, "BEZIER", "AUTO", 116.66666666666667, 6.210800052031118e-08, "AUTO_CLAMPED", 161.11111640930176, 6.210800052031118e-08, "AUTO_CLAMPED"], [-1.2910305713376147e-08, 83.33333333333334, "BEZIER", "AUTO", 188.88888359069824, -1.2910305713376147e-08, "AUTO_CLAMPED", 233.33333333333334, -1.2910305713376147e-08, "AUTO_CLAMPED"], [-1.063667554035419e-08, 50.0, "BEZIER", "AUTO", 250.0, -1.063667554035419e-08, "AUTO_CLAMPED", 283.3333333333333, -1.063667554035419e-08, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 11.111111442248026, 0.0, "AUTO_CLAMPED"], [0.0, 33.333333333333336, "QUAD", "EASE_OUT", 22.22222089767456, 0.0, "AUTO_CLAMPED"], [0.431023508310318, 49.99999999999999, "BEZIER", "AUTO", 108.33333333333334, 0.431023508310318, "ALIGNED"], [0.2511425018310547, 50.000000000000014, "BEZIER", "AUTO", 116.66666666666667, 0.3581860363483429, "AUTO_CLAMPED", 161.11111640930176, 0.07273662090301514, "AUTO_CLAMPED"], [-0.05201435089111328, 83.33333333333334, "BEZIER", "AUTO", 188.88888359069824, -0.05201435089111328, "AUTO_CLAMPED", 233.33333333333334, -0.05201435089111328, "AUTO_CLAMPED"], [0.0, 50.0, "BEZIER", "AUTO", 250.0, 0.0, "AUTO_CLAMPED", 283.3333333333333, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"z": [[0.0, 0.0, "BEZIER", "AUTO", 11.111111442248026, 0.0, "AUTO_CLAMPED"], [0.0, 33.333333333333336, "QUAD", "EASE_OUT", 22.22222089767456, 0.0, "AUTO_CLAMPED"], [-2.49999992727323, 49.99999999999999, "BEZIER", "AUTO", 100.0, -2.49999992727323, "AUTO_CLAMPED"], [-1.2580600137440534, 50.000000000000014, "BEZIER", "AUTO", 116.67113304138184, -4.465294226503781, "ALIGNED", 161.0812822977702, 4.083021345262861, "ALIGNED"], [1.3109028394749147, 83.33333333333334, "BACK", "EASE_OUT", 188.88888359069824, 1.3109028394749147, "ALIGNED", 3.6015799045562744], [-0.0, 216.66666666666669, "BEZIER", "AUTO", 505.5555661519369, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 11.111111442248026, 0.0, "AUTO_CLAMPED"], [0.0, 33.333333333333336, "QUAD", "EASE_OUT", 22.22222089767456, 0.0, "AUTO_CLAMPED"], [0.6000007957649733, 49.99999999999999, "BEZIER", "AUTO", 100.0, 0.6000007957649733, "AUTO_CLAMPED"], [-0.4999999961268166, 50.000000000000014, "BEZIER", "AUTO", 116.66666666666667, -0.4999999961268166, "AUTO_CLAMPED", 233.33333333333334, -0.4999999961268166, "AUTO_CLAMPED"], [0.0, 300.0, "BEZIER", "AUTO", 333.3333333333333, 0.0, "AUTO_CLAMPED", 533.3333333333334, 0.0, "AUTO_CLAMPED"]]}}, "Hammer": {"rotation_euler": {"z": [[-0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, -0.0, "ALIGNED"], [25.00000012650595, 33.333333333333336, "BEZIER", "AUTO", 22.22222089767456, 25.00000012650595, "AUTO_CLAMPED", 55.55555820465088, 25.00000012650595, "AUTO_CLAMPED"], [-45.00000125223908, 66.66666666666666, "BEZIER", "AUTO", 77.77777512868245, -45.00000125223908, "AUTO_CLAMPED", 133.33333333333334, -45.00000125223908, "AUTO_CLAMPED"], [-0.0, 100.0, "BEZIER", "AUTO", 166.66666666666666, -0.0, "AUTO_CLAMPED", 233.33333333333334, -0.0, "AUTO_CLAMPED"]]}, "location": {"x": [[3.125, 0.0, "BEZIER", "AUTO", 16.666666666666668, 3.125, "AUTO_CLAMPED"]], "z": [[1.862645149230957e-08, 0.0, "BEZIER", "AUTO", 16.666666666666668, 1.862645149230957e-08, "AUTO_CLAMPED"]], "y": [[0.125, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.125, "AUTO_CLAMPED"]]}}, "Slide": {"location": {"x": [[-3.25, 0.0, "SINE", "EASE_OUT"], [-3.25, 33.333333333333336, "QUAD", "EASE_OUT"], [-1.75, 66.66666666666666, "SINE", "EASE_IN"], [-3.25, 100.0, "SINE", "EASE_OUT"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 16.666666666666668, -0.0, "AUTO_CLAMPED"]], "y": [[0.75, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.75, "AUTO_CLAMPED"]]}}}, "Inspect": {"Bullet": {"location": {"x": [[1.59375, 0.0, "CONSTANT", "AUTO"], [-0.59375, 16.666666666666668, "BEZIER", "AUTO", 944.4444656372069, -0.59375, "AUTO_CLAMPED"], [-0.59375, 2783.3333333333335, "BEZIER", "AUTO", 1872.2221374511719, -0.59375, "AUTO_CLAMPED", 3727.777862548828, -0.59375, "AUTO_CLAMPED"]], "y": [[0.5625, 0.0, "CONSTANT", "AUTO"], [1.0, 16.666666666666668, "BEZIER", "AUTO", 944.4444656372069, 1.0, "AUTO_CLAMPED"], [1.0, 2783.3333333333335, "BEZIER", "AUTO", 1872.2221374511719, 1.0, "AUTO_CLAMPED", 3727.777862548828, 1.0, "AUTO_CLAMPED"]]}}, "Grip": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 11.111111442248026, 0.0, "AUTO_CLAMPED"], [0.0, 33.333333333333336, "BEZIER", "EASE_IN", 22.22222089767456, 0.0, "AUTO_CLAMPED", 116.66666666666667, 0.0, "AUTO_CLAMPED"], [-1.71687650680542, 249.99999999999997, "BEZIER", "AUTO", 200.0, -1.71687650680542, "AUTO_CLAMPED", 383.3333333333333, -1.71687650680542, "AUTO_CLAMPED"], [0.5513148307800293, 300.00000000000006, "BEZIER", "AUTO", 483.3333333333333, -0.29949963092803955, "AUTO_CLAMPED", 683.3333333333334, 1.4021292924880981, "AUTO_CLAMPED"], [1.6863813400268555, 299.9999999999999, "BEZIER", "AUTO", 783.3333333333334, 1.6863813400268555, "AUTO_CLAMPED", 1322.2222646077473, 1.6863813400268555, "AUTO_CLAMPED"], [1.0514655113220215, 1316.6666666666667, "BEZIER", "AUTO", 1761.111068725586, 1.6863813400268555, "AUTO_CLAMPED", 2344.4445292154946, 0.8425058722496033, "AUTO_CLAMPED"], [-1.970992922782898, 433.3333333333335, "BEZIER", "AUTO", 2488.8888041178384, -1.970992922782898, "AUTO_CLAMPED", 2688.8888041178384, -1.970992922782898, "AUTO_CLAMPED"], [0.0, 166.66666666666652, "BEZIER", "EASE_IN", 2744.4445292154946, 0.0, "AUTO_CLAMPED", 2855.555470784505, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 11.111111442248026, -0.0, "AUTO_CLAMPED"], [-0.0, 33.333333333333336, "BEZIER", "EASE_IN_OUT", 22.22222089767456, -0.0, "AUTO_CLAMPED", 116.66666666666667, -0.0, "AUTO_CLAMPED"], [2.112370729446411, 249.99999999999997, "BEZIER", "AUTO", 200.0, 1.0917030572891235, "AUTO_CLAMPED", 361.11110051472986, 3.0649938583374023, "AUTO_CLAMPED"], [3.955737590789795, 233.33333333333331, "BEZIER", "AUTO", 438.88889948527014, 3.955737590789795, "AUTO_CLAMPED", 538.8888676961263, 3.955737590789795, "AUTO_CLAMPED"], [3.7618730068206787, 66.66666666666674, "BEZIER", "AUTO", 561.1111323038737, 3.8623299598693848, "AUTO_CLAMPED", 683.3333333333334, 3.309816360473633, "AUTO_CLAMPED"], [2.715005397796631, 299.9999999999999, "BEZIER", "AUTO", 783.3333333333334, 2.715005397796631, "AUTO_CLAMPED", 1322.2222646077473, 2.715005397796631, "AUTO_CLAMPED"], [4.174439907073975, 1316.6666666666667, "BEZIER", "AUTO", 1761.111068725586, 2.715005397796631, "AUTO_CLAMPED", 2277.777862548828, 4.433073997497559, "AUTO_CLAMPED"], [5.207278251647949, 233.33333333333303, "BEZIER", "AUTO", 2355.555470784505, 5.207278251647949, "AUTO_CLAMPED", 2555.5554707845054, 5.207278251647949, "AUTO_CLAMPED"], [-0.0, 366.66666666666697, "BEZIER", "EASE_IN_OUT", 2677.777862548828, -0.0, "AUTO_CLAMPED", 2922.222137451172, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 11.111111442248026, 0.0, "AUTO_CLAMPED"], [0.0, 33.333333333333336, "BEZIER", "EASE_IN_OUT", 22.22222089767456, 0.0, "AUTO_CLAMPED", 216.66666666666669, 0.0, "AUTO_CLAMPED"], [0.9560011625289917, 550.0, "BEZIER", "AUTO", 400.0, 0.6512281894683838, "AUTO_CLAMPED", 683.3333333333334, 1.1222410202026367, "AUTO_CLAMPED"], [1.235924243927002, 299.9999999999999, "BEZIER", "AUTO", 783.3333333333334, 1.1854032278060913, "AUTO_CLAMPED", 1072.2222646077473, 1.331352949142456, "AUTO_CLAMPED"], [1.3816792964935303, 566.6666666666667, "BEZIER", "AUTO", 1261.111068725586, 1.3816792964935303, "AUTO_CLAMPED", 1700.0, 1.3816792964935303, "AUTO_CLAMPED"], [0.991679310798645, 750.0, "BEZIER", "AUTO", 1950.0, 0.991679310798645, "AUTO_CLAMPED", 2277.777862548828, 0.991679310798645, "AUTO_CLAMPED"], [0.991679310798645, 233.33333333333303, "BEZIER", "AUTO", 2355.555470784505, 0.991679310798645, "AUTO_CLAMPED", 2555.5554707845054, 0.991679310798645, "AUTO_CLAMPED"], [0.0, 366.66666666666697, "BEZIER", "EASE_IN_OUT", 2677.777862548828, 0.0, "AUTO_CLAMPED", 2922.222137451172, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 11.111111442248026, 0.0, "AUTO_CLAMPED"], [0.0, 33.333333333333336, "BEZIER", "EASE_IN_OUT", 22.22222089767456, 0.0, "AUTO_CLAMPED", 216.66666666666669, 0.0, "AUTO_CLAMPED"], [5.020503228661193, 550.0, "BEZIER", "AUTO", 400.0, 3.059422302374893, "AUTO_CLAMPED", 683.3333333333334, 6.090183850331944, "AUTO_CLAMPED"], [7.589897451014929, 299.9999999999999, "BEZIER", "AUTO", 783.3333333333334, 6.833084743334013, "AUTO_CLAMPED", 1322.2222646077473, 10.911463694395382, "AUTO_CLAMPED"], [14.500997041935651, 1316.6666666666667, "BEZIER", "AUTO", 1761.111068725586, 14.500997041935651, "AUTO_CLAMPED", 2238.8888041178384, 14.500997041935651, "AUTO_CLAMPED"], [14.500997041935651, 116.66666666666652, "BEZIER", "AUTO", 2277.777862548828, 14.500997041935651, "AUTO_CLAMPED", 2477.777862548828, 14.500997041935651, "AUTO_CLAMPED"], [0.0, 483.3333333333335, "BEZIER", "EASE_IN_OUT", 2638.888804117839, 0.0, "AUTO_CLAMPED", 2961.1111958821616, 0.0, "AUTO_CLAMPED"]], "z": [[0.0, 0.0, "BEZIER", "AUTO", 11.111111442248026, 0.0, "AUTO_CLAMPED"], [0.0, 33.333333333333336, "BEZIER", "EASE_IN_OUT", 22.22222089767456, 0.0, "AUTO_CLAMPED", 216.66666666666669, 0.0, "AUTO_CLAMPED"], [-2.5185520017194545, 550.0, "BEZIER", "AUTO", 400.0, -1.7974633178318207, "AUTO_CLAMPED", 683.3333333333334, -2.9118731408296927, "AUTO_CLAMPED"], [-2.9849506154201286, 299.9999999999999, "BEZIER", "AUTO", 783.3333333333334, -2.9849506154201286, "AUTO_CLAMPED", 1322.2222646077473, -2.9849506154201286, "AUTO_CLAMPED"], [-2.6852116056755273, 1316.6666666666667, "BEZIER", "AUTO", 1761.111068725586, -2.6852116056755273, "AUTO_CLAMPED", 2238.8888041178384, -2.6852116056755273, "AUTO_CLAMPED"], [-2.6852116056755273, 116.66666666666652, "BEZIER", "AUTO", 2277.777862548828, -2.6852116056755273, "AUTO_CLAMPED", 2477.777862548828, -2.6852116056755273, "AUTO_CLAMPED"], [0.0, 483.3333333333335, "BEZIER", "EASE_IN_OUT", 2638.888804117839, 0.0, "AUTO_CLAMPED", 2961.1111958821616, 0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 11.111111442248026, 0.0, "AUTO_CLAMPED"], [0.0, 33.333333333333336, "BEZIER", "EASE_IN_OUT", 22.22222089767456, 0.0, "AUTO_CLAMPED", 216.66666666666669, 0.0, "AUTO_CLAMPED"], [133.86457701475643, 550.0, "BEZIER", "AUTO", 400.0, 95.5376944872819, "AUTO_CLAMPED", 683.3333333333334, 154.77014681876466, "AUTO_CLAMPED"], [158.65432513558918, 299.9999999999999, "BEZIER", "AUTO", 783.3333333333334, 158.65432513558918, "AUTO_CLAMPED", 983.3333333333333, 158.65432513558918, "AUTO_CLAMPED"], [157.74876499505052, 300.0, "BEZIER", "AUTO", 1083.3333333333333, 158.02887105291276, "AUTO_CLAMPED", 1333.3333333333333, 157.32859907806804, "AUTO_CLAMPED"], [157.32859907806804, 450.0, "BEZIER", "AUTO", 1483.3333333333335, 157.32859907806804, "AUTO_CLAMPED", 1822.2222646077473, 157.32859907806804, "AUTO_CLAMPED"], [155.08037401086662, 566.6666666666667, "BEZIER", "AUTO", 2011.1110687255857, 157.32859907806804, "AUTO_CLAMPED", 2277.777862548828, 154.1546374915198, "AUTO_CLAMPED"], [108.19301732112919, 233.33333333333303, "BEZIER", "AUTO", 2355.555470784505, 135.62436159403188, "AUTO_CLAMPED", 2555.5554707845054, 65.08662112947903, "AUTO_CLAMPED"], [0.0, 366.66666666666697, "BEZIER", "EASE_IN_OUT", 2677.777862548828, 0.0, "AUTO_CLAMPED", 2922.222137451172, 0.0, "AUTO_CLAMPED"]]}}}, "Jam": {"Grip": {"location": {"x": [[0.0, 0.0, "BEZIER", "EASE_IN_OUT", 16.666666666666668, 0.0, "AUTO_CLAMPED"], [0.0, 50.0, "QUAD", "EASE_IN_OUT", 33.333333333333336, 0.0, "AUTO_CLAMPED"], [0.7684813737869263, 250.0, "BACK", "EASE_OUT", 1.7015800476074219], [-0.07987856864929199, 300.0, "SINE", "AUTO"], [-0.07659769058227539, 366.66666666666663, "BEZIER", "AUTO", 1044.444465637207, -0.07659769058227539, "AUTO_CLAMPED"], [-0.07659769058227539, 233.33333333333337, "QUAD", "EASE_OUT", 1122.2222646077473, -0.07659769058227539, "AUTO_CLAMPED"], [0.34417805075645447, 200.0, "QUAD", "EASE_IN"], [0.27417799830436707, 316.6666666666665, "BEZIER", "AUTO", 1733.3333333333335, 0.27417799830436707, "AUTO_CLAMPED"], [0.27417805790901184, 50.0, "QUAD", "EASE_IN", 1750.0, 0.27417805790901184, "AUTO_CLAMPED"], [-0.016215801239013672, 166.66666666666674, "BACK", "AUTO", 1.7015800476074219], [0.0, 266.66666666666674, "BEZIER", "EASE_IN_OUT", 2288.8888041178384, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "EASE_IN_OUT", 16.666666666666668, -0.0, "AUTO_CLAMPED"], [-0.0, 50.0, "QUAD", "EASE_IN_OUT", 33.333333333333336, -0.0, "AUTO_CLAMPED"], [-0.172386035323143, 250.0, "BACK", "EASE_OUT", 1.7015800476074219], [-0.04781261831521988, 183.33333333333331, "BEZIER", "AUTO", 522.2222328186035, -0.04781261831521988, "AUTO_CLAMPED"], [-0.04781261831521988, 116.66666666666669, "SINE", "AUTO", 561.1111323038737, -0.04781261831521988, "AUTO_CLAMPED"], [-0.25952833890914917, 366.66666666666663, "BEZIER", "AUTO", 1044.444465637207, -0.25952833890914917, "AUTO_CLAMPED"], [-0.25952833890914917, 233.33333333333337, "QUAD", "EASE_OUT", 1122.2222646077473, -0.25952833890914917, "AUTO_CLAMPED"], [-1.6563783884048462, 200.0, "QUAD", "EASE_IN"], [-0.9063783884048462, 316.6666666666665, "BEZIER", "AUTO", 1733.3333333333335, -0.9063783884048462, "AUTO_CLAMPED"], [-0.9063783884048462, 50.0, "QUAD", "EASE_IN", 1750.0, -0.9063783884048462, "AUTO_CLAMPED"], [-0.19053393602371216, 166.66666666666674, "BACK", "AUTO", 1.7015800476074219], [-0.0, 266.66666666666674, "BEZIER", "EASE_IN_OUT", 2288.8888041178384, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "EASE_IN_OUT", 16.666666666666668, 0.0, "AUTO_CLAMPED"], [0.0, 50.0, "QUAD", "EASE_IN_OUT", 33.333333333333336, 0.0, "AUTO_CLAMPED"], [1.9825199842453003, 250.0, "BACK", "EASE_OUT", 1.7015800476074219], [0.699442982673645, 300.0, "SINE", "AUTO"], [0.6867120265960693, 366.66666666666663, "BEZIER", "AUTO", 1044.444465637207, 0.6867120265960693, "AUTO_CLAMPED"], [0.6867120265960693, 233.33333333333337, "QUAD", "EASE_OUT", 1122.2222646077473, 0.6867120265960693, "AUTO_CLAMPED"], [0.8148880004882812, 200.0, "QUAD", "EASE_IN"], [1.2448880672454834, 316.6666666666665, "BEZIER", "AUTO", 1733.3333333333335, 1.2448880672454834, "AUTO_CLAMPED"], [1.2448880672454834, 50.0, "QUAD", "EASE_IN", 1750.0, 1.2448880672454834, "AUTO_CLAMPED"], [0.44753724336624146, 166.66666666666674, "BACK", "AUTO", 1.7015800476074219], [0.0, 266.66666666666674, "BEZIER", "EASE_IN_OUT", 2288.8888041178384, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "EASE_IN_OUT", 16.666666666666668, 0.0, "AUTO_CLAMPED"], [0.0, 50.0, "QUAD", "EASE_IN_OUT", 33.333333333333336, 0.0, "AUTO_CLAMPED"], [-2.9187993795349088, 250.0, "BACK", "EASE_OUT", 1.7015800476074219], [-0.4350010878597721, 183.33333333333331, "BEZIER", "AUTO", 522.2222328186035, -0.4350010878597721, "AUTO_CLAMPED"], [-0.4350010878597721, 116.66666666666669, "SINE", "AUTO", 561.1111323038737, -0.4350010878597721, "AUTO_CLAMPED"], [-2.977798553585479, 366.66666666666663, "BEZIER", "AUTO", 1044.444465637207, -2.977798553585479, "AUTO_CLAMPED"], [-2.977798553585479, 233.33333333333337, "QUAD", "EASE_OUT", 1122.2222646077473, -2.977798553585479, "AUTO_CLAMPED"], [-3.8259987654743424, 200.0, "QUAD", "EASE_IN"], [-2.426001230918489, 316.6666666666665, "BEZIER", "AUTO", 1733.3333333333335, -2.426001230918489, "AUTO_CLAMPED"], [-2.426001230918489, 50.0, "QUAD", "EASE_IN", 1750.0, -2.426001230918489, "AUTO_CLAMPED"], [-0.46099678784084064, 166.66666666666674, "BACK", "AUTO", 1.7015800476074219], [0.0, 266.66666666666674, "BEZIER", "EASE_IN_OUT", 2288.8888041178384, 0.0, "AUTO_CLAMPED"]], "z": [[0.0, 0.0, "BEZIER", "EASE_IN_OUT", 16.666666666666668, 0.0, "AUTO_CLAMPED"], [0.0, 50.0, "QUAD", "EASE_IN_OUT", 33.333333333333336, 0.0, "AUTO_CLAMPED"], [-9.06172296242993, 250.0, "BACK", "EASE_OUT", 1.7015800476074219], [0.7263285595589442, 300.0, "SINE", "AUTO"], [0.9408103199582433, 366.66666666666663, "BEZIER", "AUTO", 1044.444465637207, 0.9408103199582433, "AUTO_CLAMPED"], [0.9408103199582433, 233.33333333333337, "QUAD", "EASE_OUT", 1122.2222646077473, 0.9408103199582433, "AUTO_CLAMPED"], [-1.024439796486114, 200.0, "QUAD", "EASE_IN"], [-7.224439641736934, 316.6666666666665, "BEZIER", "AUTO", 1733.3333333333335, -7.224439641736934, "AUTO_CLAMPED"], [-7.224439641736934, 50.0, "QUAD", "EASE_IN", 1750.0, -7.224439641736934, "AUTO_CLAMPED"], [-0.6818431639686808, 166.66666666666674, "BACK", "AUTO", 1.7015800476074219], [0.0, 266.66666666666674, "BEZIER", "EASE_IN_OUT", 2288.8888041178384, 0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "EASE_IN_OUT", 16.666666666666668, 0.0, "AUTO_CLAMPED"], [0.0, 50.0, "QUAD", "EASE_IN_OUT", 33.333333333333336, 0.0, "AUTO_CLAMPED"], [-0.3186239491911578, 250.0, "BACK", "EASE_OUT", 1.7015800476074219], [-0.04786912399892983, 183.33333333333331, "BEZIER", "AUTO", 522.2222328186035, -0.04786912399892983, "AUTO_CLAMPED"], [-0.04786912399892983, 116.66666666666669, "SINE", "AUTO", 561.1111323038737, -0.04786912399892983, "AUTO_CLAMPED"], [-3.0794514052291326, 366.66666666666663, "BEZIER", "AUTO", 1044.444465637207, -3.0794514052291326, "AUTO_CLAMPED"], [-3.0794514052291326, 233.33333333333337, "QUAD", "EASE_OUT", 1122.2222646077473, -3.0794514052291326, "AUTO_CLAMPED"], [-6.585746518014926, 200.0, "QUAD", "EASE_IN"], [-3.3857467562467116, 316.6666666666665, "BEZIER", "AUTO", 1733.3333333333335, -3.3857467562467116, "AUTO_CLAMPED"], [-3.3857467562467116, 50.0, "QUAD", "EASE_IN", 1750.0, -3.3857467562467116, "AUTO_CLAMPED"], [-0.7094660497977991, 166.66666666666674, "BACK", "AUTO", 1.7015800476074219], [0.0, 266.66666666666674, "BEZIER", "EASE_IN_OUT", 2288.8888041178384, 0.0, "AUTO_CLAMPED"]]}}, "Magazine": {"location": {"x": [[2.125, 0.0, "BEZIER", "AUTO", 111.11110846201579, 2.125, "AUTO_CLAMPED"], [2.125, 333.3333333333333, "BEZIER", "EASE_OUT", 222.22223281860352, 2.125, "AUTO_CLAMPED", 400.0, 2.125, "AUTO_CLAMPED"], [3.215369939804077, 200.00000000000006, "BEZIER", "AUTO", 466.6666666666667, 3.0801353454589844, "AUTO_CLAMPED", 588.8888676961262, 3.3280653953552246, "AUTO_CLAMPED"], [3.3280653953552246, 166.66666666666663, "BEZIER", "EASE_IN_OUT", 655.555534362793, 3.3280653953552246, "ALIGNED", 811.1111323038737, 3.3280653953552246, "ALIGNED"], [2.663938045501709, 300.0, "CUBIC", "EASE_IN", 900.0, 2.8518593311309814, "AUTO_CLAMPED"], [2.5386571884155273, 200.0, "QUAD", "EASE_IN_OUT"], [3.517561435699463, 500.0, "QUAD", "AUTO"], [3.215369939804077, 116.66666666666674, "BEZIER", "EASE_IN", 1861.111068725586, 2.8700082302093506, "AUTO_CLAMPED"], [2.125, 133.33333333333326, "BEZIER", "AUTO", 1905.5555979410808, 2.125, "AUTO_CLAMPED", 1994.4444020589192, 2.125, "AUTO_CLAMPED"]], "z": [[-2.443810274144198e-07, 0.0, "BEZIER", "AUTO", 194.44444974263507, -2.443810274144198e-07, "AUTO_CLAMPED"], [-2.443810274144198e-07, 583.3333333333334, "BEZIER", "AUTO", 388.8888676961263, -2.443810274144198e-07, "AUTO_CLAMPED", 722.2222010294597, -2.443810274144198e-07, "AUTO_CLAMPED"], [4.639456748962402, 416.66666666666663, "CUBIC", "EASE_IN", 861.1111323038737, 4.639456748962402, "AUTO_CLAMPED"], [1.1628408432006836, 200.0, "QUAD", "EASE_IN_OUT"], [1.921958327293396, 200.0, "QUAD", "AUTO"], [-0.0, 300.0, "QUAD", "EASE_IN_OUT"], [-2.443810274144198e-07, 116.66666666666674, "BEZIER", "AUTO", 1861.111068725586, -2.443810274144198e-07, "AUTO_CLAMPED"], [-2.443810274144198e-07, 133.33333333333326, "BEZIER", "AUTO", 1905.5555979410808, -2.443810274144198e-07, "AUTO_CLAMPED", 1994.4444020589192, -2.443810274144198e-07, "AUTO_CLAMPED"]], "y": [[-1.5, 0.0, "BEZIER", "AUTO", 111.11110846201579, -1.5, "AUTO_CLAMPED"], [-1.5, 333.3333333333333, "BEZIER", "EASE_OUT", 222.22223281860352, -1.5, "AUTO_CLAMPED", 400.0, -1.5, "AUTO_CLAMPED"], [-5.614299774169922, 200.00000000000006, "BEZIER", "AUTO", 466.6666666666667, -5.13734769821167, "AUTO_CLAMPED", 588.8888676961262, -6.0117597579956055, "AUTO_CLAMPED"], [-6.0117597579956055, 166.66666666666663, "BEZIER", "EASE_IN_OUT", 655.555534362793, -6.0117597579956055, "ALIGNED", 811.1111323038737, -6.0117597579956055, "ALIGNED"], [-2.2079570293426514, 300.0, "CUBIC", "EASE_IN", 900.0, -2.2079570293426514, "AUTO_CLAMPED"], [-3.1993041038513184, 200.0, "QUAD", "EASE_IN_OUT"], [-6.543550491333008, 500.0, "QUAD", "AUTO"], [-5.614299774169922, 116.66666666666674, "BEZIER", "EASE_IN", 1861.111068725586, -4.5522990226745605, "AUTO_CLAMPED"], [-1.5, 133.33333333333326, "BEZIER", "AUTO", 1905.5555979410808, -1.5, "AUTO_CLAMPED", 1994.4444020589192, -1.5, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 177.77778307596842, 0.0, "AUTO_CLAMPED"], [0.0, 533.3333333333334, "BEZIER", "AUTO", 366.6665395100911, 0.0, "ALIGNED", 616.6666666666667, 0.0, "ALIGNED"], [7.889100717796508, 216.66666666666663, "BEZIER", "EASE_IN", 677.7777989705404, 7.889100717796508, "AUTO_CLAMPED", 833.3333333333334, 7.889100717796508, "AUTO_CLAMPED"], [7.889100717796508, 250.0, "CUBIC", "EASE_IN", 916.6666666666666, 7.889100717796508, "AUTO_CLAMPED"], [-9.461601510030203, 200.0, "QUAD", "EASE_IN_OUT"], [0.09899676183016481, 166.66666666666674, "QUAD", "AUTO"], [0.0, 333.33333333333326, "QUAD", "AUTO"], [0.0, 116.66666666666674, "BEZIER", "AUTO", 1861.111068725586, 0.0, "AUTO_CLAMPED"], [0.0, 133.33333333333326, "BEZIER", "AUTO", 1905.5555979410808, 0.0, "AUTO_CLAMPED", 1994.4444020589192, 0.0, "AUTO_CLAMPED"]], "z": [[0.0, 0.0, "BEZIER", "AUTO", 177.77778307596842, 0.0, "AUTO_CLAMPED"], [-0.0, 533.3333333333334, "BEZIER", "AUTO", 355.55553436279297, -0.0, "AUTO_CLAMPED", 588.8888676961262, -0.0, "AUTO_CLAMPED"], [-0.051977426088786305, 166.66666666666663, "BEZIER", "EASE_IN_OUT", 655.555534362793, -0.015593215153433329, "ALIGNED", 811.1111323038737, -0.1429379300817956, "ALIGNED"], [-3.0519773961795793, 300.0, "CUBIC", "EASE_IN", 900.0, -3.0519773961795793, "AUTO_CLAMPED"], [-2.346791954000674, 200.0, "QUAD", "EASE_IN_OUT"], [-3.453324221007995, 166.66666666666674, "QUAD", "AUTO"], [-0.0, 333.33333333333326, "BEZIER", "AUTO", 1783.3333333333333, -0.0, "AUTO_CLAMPED"], [0.0, 250.0, "BEZIER", "AUTO", 1866.6666666666667, 0.0, "AUTO_CLAMPED", 2033.3333333333333, 0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 177.77778307596842, 0.0, "AUTO_CLAMPED"], [0.0, 533.3333333333334, "BEZIER", "AUTO", 355.55553436279297, 0.0, "AUTO_CLAMPED", 588.8888676961262, 0.0, "AUTO_CLAMPED"], [-0.0825022485208741, 166.66666666666663, "BEZIER", "EASE_IN_OUT", 655.555534362793, -0.0825022485208741, "ALIGNED", 811.1111323038737, -0.0825022485208741, "ALIGNED"], [-0.0825022485208741, 300.0, "CUBIC", "EASE_IN", 900.0, -0.0825022485208741, "AUTO_CLAMPED"], [-1.7667953415716402, 200.0, "QUAD", "EASE_IN_OUT"], [-1.1941604991291164, 166.66666666666674, "QUAD", "AUTO"], [0.0, 333.33333333333326, "BEZIER", "AUTO", 1783.3333333333333, 0.0, "AUTO_CLAMPED"], [0.0, 250.0, "BEZIER", "AUTO", 1866.6666666666667, 0.0, "AUTO_CLAMPED", 2033.3333333333333, 0.0, "AUTO_CLAMPED"]]}}}, "Reload": {"Bullet": {"location": {"x": [[1.59375, 0.0, "BEZIER", "AUTO", 666.6666666666666, 1.59375, "AUTO_CLAMPED"], [1.59375, 2000.0, "BEZIER", "AUTO", 1333.3333333333333, 1.59375, "AUTO_CLAMPED", 2066.6666666666665, 1.59375, "AUTO_CLAMPED"], [0.90625, 200.0, "LINEAR", "AUTO", 2133.3333333333335, 0.90625, "AUTO_CLAMPED"], [0.90625, 133.33333333333348, "LINEAR", "AUTO"], [-0.5937501192092896, 99.99999999999955, "BEZIER", "AUTO", 2466.666666666667, -0.5937501192092896, "AUTO_CLAMPED"]], "y": [[0.5625, 0.0, "BEZIER", "AUTO", 666.6666666666666, 0.5625, "AUTO_CLAMPED"], [0.5625, 2000.0, "BEZIER", "AUTO", 1333.3333333333333, 0.5625, "AUTO_CLAMPED", 2066.6666666666665, 0.5625, "AUTO_CLAMPED"], [0.875, 200.0, "BEZIER", "AUTO", 2133.3333333333335, 0.875, "AUTO_CLAMPED", 2244.4445292154946, 0.875, "AUTO_CLAMPED"], [0.875, 133.33333333333348, "SINE", "EASE_OUT", 2288.8888041178384, 0.875, "AUTO_CLAMPED"], [0.9999978542327881, 33.33333333333303, "BEZIER", "AUTO", 2377.777862548828, 0.9999978542327881, "AUTO_CLAMPED"]]}, "rotation_euler": {"z": [[0.0, 0.0, "CONSTANT", "AUTO"], [-19.99999941818584, 2000.0, "BEZIER", "AUTO", 2066.6666666666665, -19.99999941818584, "AUTO_CLAMPED"], [-7.500000208706514, 200.0, "BEZIER", "AUTO", 2133.3333333333335, -7.500000208706514, "AUTO_CLAMPED", 2244.4445292154946, -7.500000208706514, "AUTO_CLAMPED"], [-7.500000208706514, 133.33333333333348, "SINE", "EASE_OUT", 2288.8888041178384, -7.500000208706514, "AUTO_CLAMPED"], [-0.0, 33.33333333333303, "BEZIER", "AUTO", 2377.777862548828, -0.0, "AUTO_CLAMPED"]]}}, "Grip": {"location": {"x": [[0.0, 0.0, "BEZIER", "EASE_IN_OUT", 5.555555721124013, 0.0, "AUTO_CLAMPED"], [0.0, 16.666666666666668, "QUAD", "EASE_IN_OUT", 11.11111044883728, 0.0, "AUTO_CLAMPED"], [-0.5098327398300171, 283.3333333333333, "BACK", "EASE_OUT", 1.7015800476074219], [0.23206636309623718, 233.33333333333337, "BEZIER", "EASE_IN_OUT", 733.3333333333333, 0.23206636309623718, "AUTO_CLAMPED"], [0.23206636309623718, 599.9999999999999, "BEZIER", "EASE_IN", 933.3333333333334, 0.23206636309623718, "AUTO_CLAMPED", 1266.6666666666665, 0.23206636309623718, "AUTO_CLAMPED"], [0.38155651092529297, 400.0, "BACK", "AUTO", 1483.3333333333335, 0.38155651092529297, "ALIGNED", 1.7015800476074219], [0.3984723687171936, 266.66666666666674, "LINEAR", "AUTO"], [0.3984723687171936, 166.66666666666652, "BEZIER", "AUTO", 2011.1111958821612, 0.3984723687171936, "ALIGNED"], [0.0, 633.3333333333335, "QUAD", "EASE_IN_OUT", 2388.888804117839, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "EASE_IN_OUT", 5.555555721124013, -0.0, "AUTO_CLAMPED"], [-0.0, 16.666666666666668, "QUAD", "EASE_IN_OUT", 11.11111044883728, -0.0, "AUTO_CLAMPED"], [-1.590022325515747, 283.3333333333333, "BACK", "EASE_OUT", 1.7015800476074219], [-0.16680538654327393, 233.33333333333337, "BEZIER", "EASE_IN_OUT", 733.3333333333333, -0.16680538654327393, "AUTO_CLAMPED"], [-0.16680538654327393, 599.9999999999999, "BEZIER", "EASE_IN", 933.3333333333334, -0.16680538654327393, "AUTO_CLAMPED", 1266.6666666666665, -0.16680538654327393, "AUTO_CLAMPED"], [-0.13560596108436584, 400.0, "BACK", "AUTO", 1466.6666666666665, -0.13560596108436584, "ALIGNED", 1.7015800476074219], [-0.29175129532814026, 266.66666666666674, "LINEAR", "AUTO"], [-0.29175129532814026, 166.66666666666652, "BEZIER", "AUTO", 2011.1111958821612, -0.29175129532814026, "ALIGNED"], [-0.0, 633.3333333333335, "QUAD", "EASE_IN_OUT", 2388.888804117839, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "EASE_IN_OUT", 5.555555721124013, 0.0, "AUTO_CLAMPED"], [0.0, 16.666666666666668, "QUAD", "EASE_IN_OUT", 11.11111044883728, 0.0, "AUTO_CLAMPED"], [3.8397903442382812, 283.3333333333333, "BACK", "EASE_OUT", 1.7015800476074219], [0.3740246295928955, 533.3333333333334, "BEZIER", "EASE_IN_OUT", 933.3333333333334, 0.3740246295928955, "AUTO_CLAMPED"], [0.3740246295928955, 299.9999999999999, "BEZIER", "EASE_IN", 1033.3333333333333, 0.3740246295928955, "AUTO_CLAMPED", 1266.6666666666665, 0.3740246295928955, "AUTO_CLAMPED"], [0.5059270858764648, 400.0, "BACK", "AUTO", 1466.6666666666665, 0.5059270858764648, "ALIGNED", 3.9015798568725586], [1.2094907760620117, 266.66666666666674, "LINEAR", "AUTO"], [1.2094907760620117, 166.66666666666652, "BEZIER", "AUTO", 2011.1111958821612, 1.2094907760620117, "ALIGNED"], [0.0, 633.3333333333335, "QUAD", "EASE_IN_OUT", 2388.888804117839, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "EASE_IN_OUT", 5.555555721124013, 0.0, "AUTO_CLAMPED"], [0.0, 16.666666666666668, "QUAD", "EASE_IN_OUT", 11.11111044883728, 0.0, "AUTO_CLAMPED"], [-16.158301462904227, 283.3333333333333, "BACK", "EASE_OUT", 1.7015800476074219], [-10.301796740211811, 233.33333333333337, "BEZIER", "EASE_IN_OUT", 733.3333333333333, -10.301796740211811, "AUTO_CLAMPED"], [-10.301796740211811, 599.9999999999999, "BEZIER", "EASE_IN", 933.3333333333334, -10.301796740211811, "AUTO_CLAMPED", 1266.6666666666665, -10.301796740211811, "AUTO_CLAMPED"], [-19.784100553616323, 400.0, "BACK", "AUTO", 1400.0, -19.784100553616323, "AUTO_CLAMPED", 1.7015800476074219], [-16.903297516434197, 266.66666666666674, "LINEAR", "AUTO"], [-16.903297516434197, 100.0, "BEZIER", "AUTO", 1944.4445292154949, -8.062240890614454, "ALIGNED"], [0.0, 766.6666666666665, "QUAD", "EASE_IN_OUT", 2411.1111958821616, 0.0, "AUTO_CLAMPED"]], "z": [[0.0, 0.0, "BEZIER", "EASE_IN_OUT", 5.555555721124013, 0.0, "AUTO_CLAMPED"], [0.0, 16.666666666666668, "QUAD", "EASE_IN_OUT", 11.11111044883728, 0.0, "AUTO_CLAMPED"], [-16.899083289716298, 283.3333333333333, "BACK", "EASE_OUT", 2.5], [-5.380695815862754, 533.3333333333334, "BEZIER", "EASE_IN_OUT", 1066.6666666666667, -5.380695815862754, "AUTO_CLAMPED"], [-11.906051935670543, 699.9999999999999, "BACK", "AUTO", 1300.0, -6.886808876911218, "AUTO_CLAMPED", 6.0], [-20.04334209111145, 266.66666666666674, "LINEAR", "AUTO"], [-20.04334209111145, 166.66666666666652, "BEZIER", "AUTO", 2177.777862548828, -30.043338385109788, "ALIGNED"], [0.0, 700.0, "QUAD", "EASE_IN_OUT", 2433.333333333333, 0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "EASE_IN_OUT", 5.555555721124013, 0.0, "AUTO_CLAMPED"], [0.0, 16.666666666666668, "QUAD", "EASE_IN_OUT", 11.11111044883728, 0.0, "AUTO_CLAMPED"], [-1.7823402117923546, 283.3333333333333, "BACK", "EASE_OUT", 1.7015800476074219], [6.773653132931616, 233.33333333333337, "BEZIER", "EASE_IN_OUT", 733.3333333333333, 6.773653132931616, "AUTO_CLAMPED"], [6.773653132931616, 599.9999999999999, "BEZIER", "EASE_IN", 933.3333333333334, 6.773653132931616, "AUTO_CLAMPED", 1266.6666666666665, 6.773653132931616, "AUTO_CLAMPED"], [18.416894757265702, 400.0, "BACK", "AUTO", 1400.0, 17.224420567809638, "AUTO_CLAMPED", 1.7015800476074219], [19.211877550236412, 266.66666666666674, "BEZIER", "AUTO", 1844.4445292154946, 19.211877550236412, "ALIGNED"], [19.211877550236412, 100.0, "BEZIER", "AUTO", 1866.6666666666667, 19.211877550236412, "ALIGNED", 1944.4445292154949, 19.211877550236412, "ALIGNED"], [0.0, 266.6666666666665, "QUAD", "EASE_IN_OUT", 2077.7777353922525, 0.0, "AUTO_CLAMPED"]]}}, "Hammer": {"rotation_euler": {"z": [[-0.0, 0.0, "BEZIER", "AUTO", 666.6666666666666, -0.0, "AUTO_CLAMPED"], [-0.0, 2000.0, "BEZIER", "AUTO", 1333.3333333333333, -0.0, "AUTO_CLAMPED", 2066.6666666666665, -0.0, "AUTO_CLAMPED"], [-45.00000125223908, 200.0, "BEZIER", "AUTO", 2133.3333333333335, -45.00000125223908, "AUTO_CLAMPED", 2244.4445292154946, -45.00000125223908, "AUTO_CLAMPED"], [-45.00000125223908, 133.33333333333348, "LINEAR", "AUTO", 2288.8888041178384, -45.00000125223908, "AUTO_CLAMPED"], [-0.0, 133.33333333333348, "BEZIER", "AUTO", 2511.111195882161, -0.0, "AUTO_CLAMPED"]]}, "location": {"x": [[3.125, 0.0, "BEZIER", "AUTO", 16.666666666666668, 3.125, "AUTO_CLAMPED"]], "z": [[1.862645149230957e-08, 0.0, "BEZIER", "AUTO", 16.666666666666668, 1.862645149230957e-08, "AUTO_CLAMPED"]], "y": [[0.125, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.125, "AUTO_CLAMPED"]]}}, "Magazine": {"location": {"x": [[2.125, 0.0, "LINEAR", "AUTO"], [2.125, 366.66666666666663, "LINEAR", "AUTO"], [3.215367555618286, 133.33333333333337, "LINEAR", "EASE_IN"], [6.216582298278809, 266.66666666666663, "CONSTANT", "AUTO"], [1.6932545900344849, 233.33333333333337, "BEZIER", "AUTO", 1133.3333333333333, 1.6932545900344849, "AUTO_CLAMPED"], [3.215367555618286, 400.0, "LINEAR", "EASE_IN", 1266.6666666666665, 3.215367555618286, "AUTO_CLAMPED"], [2.125, 166.66666666666674, "BEZIER", "AUTO", 1622.2222646077473, 2.125, "AUTO_CLAMPED"]], "z": [[-2.443810274144198e-07, 0.0, "LINEAR", "AUTO"], [-2.443810274144198e-07, 366.66666666666663, "LINEAR", "AUTO"], [-0.0, 133.33333333333337, "BEZIER", "EASE_IN", 522.2222010294596, -0.020347656682133675, "ALIGNED"], [-0.0, 266.66666666666663, "CONSTANT", "AUTO", 761.1110687255859, -7.450580596923828e-09, "ALIGNED"], [15.77025318145752, 233.33333333333337, "BEZIER", "AUTO", 1133.3333333333333, 15.77025318145752, "AUTO_CLAMPED"], [-0.0, 400.0, "BEZIER", "EASE_IN", 1266.6666666666665, 5.865144885319751e-07, "AUTO_CLAMPED", 1455.5555979410808, -2.443810274144198e-07, "AUTO_CLAMPED"], [-2.443810274144198e-07, 166.66666666666674, "BEZIER", "AUTO", 1511.111068725586, -2.443810274144198e-07, "AUTO_CLAMPED", 1622.2222646077473, -2.443810274144198e-07, "AUTO_CLAMPED"]], "y": [[-1.5, 0.0, "LINEAR", "AUTO"], [-1.5, 366.66666666666663, "LINEAR", "AUTO"], [-5.614295482635498, 133.33333333333337, "LINEAR", "EASE_IN"], [-16.93880844116211, 266.66666666666663, "CONSTANT", "AUTO"], [-21.048290252685547, 233.33333333333337, "BEZIER", "AUTO", 1133.3333333333333, -21.048290252685547, "AUTO_CLAMPED"], [-5.614295482635498, 400.0, "LINEAR", "EASE_IN", 1266.6666666666665, -11.369051933288574, "AUTO_CLAMPED"], [-1.5, 166.66666666666674, "BEZIER", "AUTO", 1622.2222646077473, -1.5, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "LINEAR", "AUTO"], [0.0, 366.66666666666663, "LINEAR", "AUTO"], [0.0, 133.33333333333337, "BEZIER", "EASE_IN", 555.555534362793, 0.0, "ALIGNED"], [0.0, 266.66666666666663, "CONSTANT", "AUTO", 677.7777989705404, 0.0, "AUTO_CLAMPED"], [-15.976201789442515, 233.33333333333337, "BEZIER", "AUTO", 1133.3333333333333, -15.976201789442515, "AUTO_CLAMPED"], [0.0, 400.0, "BEZIER", "EASE_IN", 1266.6666666666665, 0.0, "AUTO_CLAMPED", 1455.5555979410808, 0.0, "AUTO_CLAMPED"], [0.0, 166.66666666666674, "BEZIER", "AUTO", 1511.111068725586, 0.0, "AUTO_CLAMPED", 1622.2222646077473, 0.0, "AUTO_CLAMPED"]], "z": [[0.0, 0.0, "LINEAR", "AUTO"], [0.0, 366.66666666666663, "LINEAR", "AUTO"], [0.0, 133.33333333333337, "BEZIER", "EASE_IN", 555.555534362793, 0.0, "ALIGNED"], [0.0, 266.66666666666663, "CONSTANT", "AUTO", 677.7777989705404, 0.0, "AUTO_CLAMPED"], [-7.264861555018716, 233.33333333333337, "BEZIER", "AUTO", 1133.3333333333333, -7.264861555018716, "AUTO_CLAMPED"], [0.0, 400.0, "BEZIER", "EASE_IN", 1266.6666666666665, 0.0, "AUTO_CLAMPED", 1455.5555979410808, 0.0, "AUTO_CLAMPED"], [-0.0, 166.66666666666674, "BEZIER", "AUTO", 1511.111068725586, -0.0, "AUTO_CLAMPED", 1622.2222646077473, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "LINEAR", "AUTO"], [0.0, 366.66666666666663, "LINEAR", "AUTO"], [0.0, 133.33333333333337, "BEZIER", "EASE_IN", 555.555534362793, 0.0, "ALIGNED"], [0.0, 266.66666666666663, "CONSTANT", "AUTO", 677.7777989705404, 0.0, "AUTO_CLAMPED"], [-3.817224960598638, 233.33333333333337, "BEZIER", "AUTO", 1133.3333333333333, -3.817224960598638, "AUTO_CLAMPED"], [0.0, 400.0, "BEZIER", "EASE_IN", 1266.6666666666665, 0.0, "AUTO_CLAMPED", 1455.5555979410808, 0.0, "AUTO_CLAMPED"], [0.0, 166.66666666666674, "BEZIER", "AUTO", 1511.111068725586, 0.0, "AUTO_CLAMPED", 1622.2222646077473, 0.0, "AUTO_CLAMPED"]]}}, "Slide": {"location": {"x": [[-3.25, 0.0, "BEZIER", "AUTO", 666.6666666666666, -3.25, "AUTO_CLAMPED"], [-3.25, 2000.0, "BEZIER", "AUTO", 1766.6666666666665, -3.25, "ALIGNED", 2022.2221374511719, -3.25, "ALIGNED"], [-1.75, 200.0, "LINEAR", "AUTO", 2161.1111958821616, -1.75, "ALIGNED"], [-1.75, 133.33333333333348, "LINEAR", "AUTO"], [-3.25, 99.99999999999955, "BEZIER", "AUTO", 2433.333333333333, -3.25, "ALIGNED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 16.666666666666668, -0.0, "AUTO_CLAMPED"]], "y": [[0.75, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.75, "AUTO_CLAMPED"]]}}}}, "offset": {"Bullet": [1.59375, 0.5625, -2.443810274144198e-07], "Decal": [-2.3125, 0.6875, 0.3850004971027374], "DecalM": [0.0, 0.0, -10.609639167785645], "GripM": [0.0, 0.0, -10.609639167785645], "Hammer": [3.125, 0.125, 1.862645149230957e-08], "Magazine": [2.125, -1.5, -2.443810274144198e-07], "Slide": [-3.25, 0.75, -0.0], "SlideM": [0.0, 0.0, -10.609639167785645], "Text": [-6.25, 0.6875, 0.3850004971027374], "TextM": [0.0, 0.0, -10.609639167785645]}, "hierarchy": {"Bullet": "Magazine", "Decal": "Slide", "DecalM": "SlideM", "Hammer": "Grip", "Magazine": "Grip", "Slide": "Grip", "SlideM": "GripM", "Text": "Slide", "TextM": "SlideM"}, "rotmode": {"Bullet": "XYZ", "Decal": "XYZ", "DecalM": "XYZ", "GripM": "XYZ", "Hammer": "XYZ", "Magazine": "XYZ", "Slide": "XYZ", "SlideM": "XYZ", "Text": "XYZ", "TextM": "XYZ"}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/animations/novac.json b/src/main/resources/assets/hbm/models/weapons/animations/novac.json deleted file mode 100644 index 126e29cb0..000000000 --- a/src/main/resources/assets/hbm/models/weapons/animations/novac.json +++ /dev/null @@ -1 +0,0 @@ -{"anim": {"Fire": {"Body": {"rotation_euler": {"x": [[0.0, 0.0], [29.145301697941925, 66.66666666666667], [0.0, 566.6666666666666]]}, "location": {"z": [[-0.0, 0.0], [0.7235583066940308, 33.333333333333336], [-0.0, 599.9999999999999]], "y": [[0.0, 0.0], [0.7866886854171753, 33.333333333333336], [0.0, 599.9999999999999]]}}, "Hammer": {"rotation_euler": {"x": [[0.0, 0.0], [-42.84400081430579, 16.666666666666668], [-42.84400081430579, 250.00000000000003], [0.0, 200.0]]}, "location": {"x": [[0.0, 0.0]], "z": [[1.1140995025634766, 0.0]], "y": [[0.48292604088783264, 0.0]]}}}, "Reload": {"Body": {"location": {"x": [[0.0, 0.0], [0.04879806935787201, 166.66666666666666], [-0.1566363126039505, 133.33333333333334], [0.0, 166.66666666666669]], "z": [[-0.0, 0.0], [-0.7191624641418457, 166.66666666666666], [-1.058491826057434, 133.33333333333334], [-0.0, 166.66666666666669]], "y": [[0.0, 0.0], [0.7507638931274414, 166.66666666666666], [0.9907249212265015, 133.33333333333334], [0.0, 166.66666666666669]]}, "rotation_euler": {"x": [[0.0, 0.0], [-19.391663497116777, 166.66666666666666], [45.102665825653546, 133.33333333333334], [0.0, 166.66666666666669]], "z": [[-0.0, 0.0], [0.5174686318159474, 166.66666666666666], [3.009666081818643, 133.33333333333334], [-0.0, 166.66666666666669]], "y": [[-0.0, 0.0], [1.4431158784559095, 166.66666666666666], [-0.8437833740125396, 133.33333333333334], [0.0, 166.66666666666669]]}}}}, "offset": {"Cylinder": [3.725290298461914e-09, 0.5323800444602966, 0.4562000334262848], "Hammer": [0.0, 0.48292604088783264, 1.1140995025634766], "Trigger": [0.0, 0.12013805657625198, 0.7557680010795593]}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/animations/python.json b/src/main/resources/assets/hbm/models/weapons/animations/python.json deleted file mode 100644 index 8659ec6c1..000000000 --- a/src/main/resources/assets/hbm/models/weapons/animations/python.json +++ /dev/null @@ -1 +0,0 @@ -{"anim": {"Fire": {"Body": {"location": {"z": [[-0.0, 0.0], [0.1901400089263916, 50.0], [-0.0, 283.3333333333333]], "y": [[0.0, 0.0], [0.22623062133789062, 50.0], [0.0, 283.3333333333333]]}, "rotation_euler": {"x": [[0.0, 16.666666666666668], [50.512076610560676, 66.66666666666666], [0.0, 250.0]]}}, "Hammer": {"rotation_euler": {"x": [[0.0, 0.0], [-44.61753114928588, 16.666666666666668], [-44.61753114928588, 183.33333333333334], [0.0, 300.0]]}, "location": {"x": [[0.00012800097465515137, 0.0]], "z": [[0.1478099822998047, 0.0]], "y": [[0.1151699647307396, 0.0]]}}}, "Reload": {"Body": {"location": {"x": [[0.0, 0.0], [0.1266033947467804, 216.66666666666669], [-0.1256844699382782, 66.66666666666663], [-0.10699314624071121, 100.0], [-0.05540347099304199, 183.33333333333331], [-0.04984791576862335, 83.33333333333337], [-0.04814600944519043, 100.0], [-0.0495946928858757, 50.0], [-0.1901838481426239, 216.66666666666663], [-0.209717258810997, 366.66666666666663], [-0.2682616710662842, 83.33333333333326], [0.06351689994335175, 100.00000000000023], [0.059162016957998276, 83.33333333333326], [0.0, 199.99999999999977]], "z": [[-0.0, 0.0], [0.018239933997392654, 216.66666666666669], [-0.003715081140398979, 66.66666666666663], [0.003378540277481079, 100.0], [0.06673367321491241, 183.33333333333331], [0.13605912029743195, 83.33333333333337], [0.11836071312427521, 100.0], [0.13753235340118408, 50.0], [0.2322661280632019, 216.66666666666663], [0.20868675410747528, 366.66666666666663], [0.15863937139511108, 83.33333333333326], [0.2003980427980423, 100.00000000000023], [0.09448619186878204, 83.33333333333326], [-0.0, 199.99999999999977]], "y": [[0.0, 0.0], [0.04348362237215042, 216.66666666666669], [0.04043026641011238, 66.66666666666663], [0.0498494915664196, 100.0], [0.21255171298980713, 183.33333333333331], [0.027551360428333282, 83.33333333333337], [0.09703753143548965, 100.0], [0.024584002792835236, 50.0], [-0.3309659957885742, 216.66666666666663], [-0.3340303301811218, 366.66666666666663], [-0.1700890064239502, 83.33333333333326], [0.016301512718200684, 100.00000000000023], [-0.015913818031549454, 83.33333333333326], [0.0, 199.99999999999977]]}, "rotation_euler": {"x": [[0.0, 0.0], [3.3686347844983024, 150.0], [0.02222707974050119, 166.66666666666663], [4.537149524119608, 100.00000000000006], [61.414745582626026, 233.33333333333331], [52.280518454609116, 133.33333333333337], [-71.68136001842309, 199.9999999999999], [-67.29034068404862, 366.66666666666674], [-53.072130549224426, 116.66666666666652], [-7.130840436898373, 100.00000000000023], [-2.7997762896148553, 83.33333333333326], [0.0, 199.99999999999977]], "z": [[0.0, 0.0], [-17.712562234959403, 150.0], [13.30397138517142, 166.66666666666663], [5.758366003376731, 100.00000000000006], [5.603675025280636, 233.33333333333331], [6.040763589705493, 133.33333333333337], [-1.4811513876747122, 199.9999999999999], [-0.9937320130296772, 366.66666666666674], [5.75973417564485, 116.66666666666652], [-7.87355264592462, 100.00000000000023], [-5.935155631645579, 83.33333333333326], [-0.0, 199.99999999999977]], "y": [[0.0, 0.0], [-3.362418245136533, 150.0], [5.488280686800564, 166.66666666666663], [2.9251945710321565, 100.00000000000006], [-3.2122371128833507, 233.33333333333331], [-2.2836878362589266, 133.33333333333337], [6.285038902068653, 199.9999999999999], [6.379913644734715, 366.66666666666674], [24.273973215848397, 116.66666666666652], [-30.381999654726528, 100.00000000000023], [-9.056688259237983, 83.33333333333326], [0.0, 199.99999999999977]]}}, "Cylinder": {"location": {"x": [[-0.0010489225387573242, 0.0], [-0.0010489225387573242, 283.3333333333333], [-0.07956840097904205, 83.33333333333331], [-0.07956840097904205, 1200.0], [-0.0010489225387573242, 83.33333333333326]], "z": [[0.07426249980926514, 0.0], [0.07426249980926514, 283.3333333333333], [0.07129553705453873, 83.33333333333331], [0.07129553705453873, 1200.0], [0.07426249980926514, 83.33333333333326]], "y": [[0.10388392210006714, 0.0], [0.10388392210006714, 283.3333333333333], [0.07195358723402023, 83.33333333333331], [0.07195358723402023, 1200.0], [0.10388392210006714, 83.33333333333326]]}}}}, "offset": {"Cylinder": [-0.0010489225387573242, 0.10388392210006714, 0.07426249980926514], "Grip": [0.0, -1.8214237229585706e-08, -0.0], "Hammer": [0.00012800097465515137, 0.1151699647307396, 0.1478099822998047]}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/animations/spas12.json b/src/main/resources/assets/hbm/models/weapons/animations/spas12.json index f54a77a32..2545eff3c 100644 --- a/src/main/resources/assets/hbm/models/weapons/animations/spas12.json +++ b/src/main/resources/assets/hbm/models/weapons/animations/spas12.json @@ -1 +1 @@ -{"anim": {"Fire": {"MainBody": {"location": {"z": [[-0.0, 0.0], [0.7581773996353149, 16.666666666666668], [0.8946337699890137, 50.0], [1.6292921304702759, 50.0], [0.27919262647628784, 383.3333333333333], [0.13398613035678864, 33.33333333333337], [-0.08360463380813599, 83.33333333333337], [-0.28197288513183594, 116.66666666666652], [-0.4585123360157013, 83.33333333333337], [-0.0, 216.66666666666663]], "y": [[0.0, 0.0], [-0.055255696177482605, 16.666666666666668], [0.06926095485687256, 50.0], [-0.035571567714214325, 50.0], [0.14532151818275452, 383.3333333333333], [0.14532163739204407, 33.33333333333337], [0.2893771231174469, 83.33333333333337], [0.059010088443756104, 116.66666666666652], [0.3883959650993347, 83.33333333333337], [0.0, 216.66666666666663]], "x": [[0.0, 0.0], [0.09942026436328888, 16.666666666666668], [-0.04042813181877136, 50.0], [0.13011114299297333, 50.0], [0.026651103049516678, 383.3333333333333], [0.0, 33.33333333333337], [-0.11603647470474243, 83.33333333333337], [-0.3945091962814331, 116.66666666666652], [-0.30177658796310425, 83.33333333333337], [0.0, 216.66666666666663]]}, "rotation_euler": {"x": [[0.0, 0.0], [-8.462898079780109, 16.666666666666668], [19.266058025827537, 83.33333333333333], [1.500494163239071, 233.33333333333331], [6.633028929431163, 216.66666666666669], [8.546770241466927, 100.0], [12.210589580193902, 133.33333333333337], [7.617799627548077, 66.66666666666663], [0.539266273417544, 116.66666666666663], [0.0, 33.33333333333337]], "z": [[-0.0, 0.0], [-2.3773901342652737, 16.666666666666668], [-0.0, 316.66666666666663], [-0.0, 216.66666666666669], [-2.5606105990811003, 100.0], [-8.612766944322175, 133.33333333333337], [-9.193280943580838, 66.66666666666663], [-1.0644272457036594, 116.66666666666663], [-0.0, 33.33333333333337]], "y": [[0.0, 0.0], [-2.661507434160998, 16.666666666666668], [-0.0, 316.66666666666663], [0.0, 216.66666666666669], [5.899426058323597, 100.0], [-1.813550761204728, 133.33333333333337], [-5.824772090695357, 66.66666666666663], [-0.9415905623492115, 116.66666666666663], [0.0, 33.33333333333337]]}}, "PumpGrip": {"location": {"z": [[-0.0, 0.0], [-0.0, 550.0], [1.3243759870529175, 100.0], [1.0643759965896606, 216.66666666666674], [-0.0, 66.66666666666663]]}}}, "FireAlt": {"MainBody": {"location": {"x": [[0.0, 0.0], [0.0, 216.66666666666669], [0.0, 499.99999999999994], [-0.11603647470474243, 66.66666666666674], [-0.3945091962814331, 83.33333333333337], [-0.30177658796310425, 83.33333333333326], [0.0, 233.33333333333326]], "z": [[-0.0, 0.0], [1.8780767917633057, 33.333333333333336], [0.46677228808403015, 183.33333333333334], [0.13398613035678864, 499.99999999999994], [-0.08360463380813599, 66.66666666666674], [-0.28197288513183594, 83.33333333333337], [-0.4585123360157013, 83.33333333333326], [-0.0, 233.33333333333326]], "y": [[0.0, 0.0], [0.7429239749908447, 50.0], [1.0745543241500854, 166.66666666666669], [0.14532163739204407, 499.99999999999994], [0.2893771231174469, 66.66666666666674], [0.059010088443756104, 83.33333333333337], [0.3883959650993347, 83.33333333333326], [0.0, 233.33333333333326]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 16.666666666666668], [22.4874603988034, 100.0], [13.903672239582296, 66.66666666666664], [6.633028929431163, 83.33333333333337], [8.546770241466927, 550.0], [12.210589580193902, 100.0], [7.269988465764457, 66.66666666666663], [0.0, 150.0]], "z": [[-0.0, 0.0], [-11.095223957599051, 116.66666666666667], [-0.0, 150.0], [-2.5606105990811003, 550.0], [-8.612766944322175, 100.0], [-12.303416119882606, 66.66666666666663], [-0.0, 150.0]], "y": [[0.0, 0.0], [-2.9238404860292015, 116.66666666666667], [0.0, 150.0], [5.899426058323597, 550.0], [-1.813550761204728, 100.0], [-6.207043691275808, 66.66666666666663], [0.0, 150.0]]}}, "PumpGrip": {"location": {"z": [[-0.0, 0.0], [-0.0, 816.6666666666666], [1.3243759870529175, 100.0], [1.0643759965896606, 216.66666666666663], [-0.0, 66.66666666666674]]}}}, "Reload": {"MainBody": {"location": {"x": [[-0.7295733690261841, 0.0], [-0.7295733690261841, 83.33333333333333], [-0.7295733690261841, 99.99999999999999], [-0.5556169748306274, 133.33333333333331], [-0.6492857933044434, 116.66666666666674], [-0.7295733690261841, 100.0]], "z": [[-0.29214829206466675, 0.0], [-0.29214829206466675, 83.33333333333333], [-0.29214829206466675, 99.99999999999999], [-0.30703651905059814, 133.33333333333331], [-0.29901978373527527, 116.66666666666674], [-0.29214829206466675, 100.0]], "y": [[0.2915276288986206, 0.0], [0.2915276288986206, 83.33333333333333], [0.2915276288986206, 99.99999999999999], [0.4859994053840637, 133.33333333333331], [0.38128381967544556, 116.66666666666674], [0.2915276288986206, 100.0]]}, "rotation_euler": {"x": [[2.2122143889063857, 0.0], [1.6652197564429725, 83.33333333333333], [2.2122143889063857, 133.33333333333337], [9.618481563755287, 116.66666666666663], [5.616534990827301, 100.00000000000006], [2.2122143889063857, 100.0]], "z": [[-48.21786729477217, 0.0], [-45.59814140842461, 83.33333333333333], [-48.21786729477217, 133.33333333333337], [-53.60401787046082, 116.66666666666663], [-50.637738430910574, 100.00000000000006], [-48.21786729477217, 100.0]], "y": [[27.10300512666912, 0.0], [27.402903365198746, 83.33333333333333], [27.10300512666912, 133.33333333333337], [28.044826741511347, 116.66666666666663], [27.549100149288286, 100.00000000000006], [27.10300512666912, 100.0]]}}, "Shell": {"location": {"x": [[0.0, 0.0], [-5.029141902923584e-08, 133.33333333333334], [0.004309347365051508, 83.33333333333334], [0.004309249576181173, 83.33333333333331], [0.004309284035116434, 50.0]], "z": [[1.5591249465942383, 0.0], [1.0179417133331299, 133.33333333333334], [-0.1231224536895752, 83.33333333333334], [-0.11966821551322937, 83.33333333333331], [-0.12080879509449005, 50.0]], "y": [[-2.6872029304504395, 0.0], [-2.3433218002319336, 133.33333333333334], [-1.7275460958480835, 83.33333333333334], [-0.3831302523612976, 83.33333333333331], [-0.2624862790107727, 50.0]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 133.33333333333334], [21.14787588745631, 83.33333333333334], [0.40499606683590605, 83.33333333333331], [0.40499606683590605, 50.0]], "z": [[-0.0, 0.0], [-0.0, 133.33333333333334], [-0.0, 83.33333333333334], [-1.0271807443729786e-06, 83.33333333333331], [-1.0271807443729786e-06, 50.0]], "y": [[0.0, 0.0], [0.0, 133.33333333333334], [-1.9209907040660864e-06, 83.33333333333334], [-4.784677867278997e-06, 83.33333333333331], [-4.784677867278997e-06, 50.0]]}}}, "ReloadEmptyStart": {"MainBody": {"location": {"x": [[0.0, 0.0], [-0.3959049880504608, 100.0], [-0.8907862305641174, 50.0], [-0.912574291229248, 133.33333333333331], [-0.8907862305641174, 183.33333333333337], [-0.7295733690261841, 333.3333333333333]], "z": [[-0.0, 0.0], [-0.04771782457828522, 100.0], [-0.10736510902643204, 50.0], [-0.1299014389514923, 133.33333333333331], [-0.10736510902643204, 183.33333333333337], [-0.29214829206466675, 333.3333333333333]], "y": [[0.0, 0.0], [0.08693332225084305, 100.0], [0.1955999732017517, 50.0], [0.07320505380630493, 133.33333333333331], [0.1955999732017517, 183.33333333333337], [0.2915276288986206, 333.3333333333333]]}, "rotation_euler": {"x": [[0.0, 0.0], [5.215149959628216, 116.66666666666667], [14.341662388977594, 66.66666666666664], [10.053024175167023, 150.0], [14.341662388977594, 183.33333333333331], [9.347183888601442, 83.33333333333337], [3.4013761500584048, 133.33333333333326], [2.2122143889063857, 66.66666666666674]], "z": [[-0.0, 0.0], [17.232944643893813, 116.66666666666667], [47.39059819759481, 66.66666666666664], [51.027851515545024, 150.0], [47.39059819759481, 183.33333333333331], [8.022402104733061, 83.33333333333337], [-38.844487923156436, 133.33333333333326], [-48.21786729477217, 66.66666666666674]], "y": [[0.0, 0.0], [-3.394506473857253, 116.66666666666667], [-9.334892963190004, 66.66666666666664], [-8.375116488567105, 150.0], [-9.334892963190004, 183.33333333333331], [5.668946020536571, 83.33333333333337], [23.530662511496125, 133.33333333333326], [27.10300512666912, 66.66666666666674]]}}, "PumpGrip": {"location": {"z": [[-0.0, 0.0], [-0.0, 183.33333333333331], [1.0550689697265625, 66.66666666666669], [1.0550689697265625, 166.66666666666669], [-0.0, 99.99999999999994]]}}, "Shell": {"location": {"x": [[1.089231252670288, 0.0], [0.8341609239578247, 150.0], [1.3178642988204956, 100.0], [1.0271152257919312, 33.333333333333314], [0.0, 66.66666666666669]], "z": [[1.2379006147384644, 0.0], [1.0393552780151367, 150.0], [1.1692359447479248, 100.0], [0.8952870965003967, 33.333333333333314], [-0.0, 66.66666666666669]], "y": [[-2.3190526962280273, 0.0], [-3.043679714202881, 150.0], [0.42155078053474426, 100.0], [0.3692183494567871, 33.333333333333314], [0.0, 66.66666666666669]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 150.0], [-4.686586806083493, 100.0], [-4.686586806083493, 33.333333333333314], [0.0, 66.66666666666669]], "z": [[-0.0, 0.0], [-0.0, 150.0], [-0.5807879005165506, 100.0], [-0.5807879005165506, 33.333333333333314], [-0.0, 66.66666666666669]], "y": [[0.0, 0.0], [0.0, 150.0], [15.393064143768921, 100.0], [15.393064143768921, 33.333333333333314], [0.0, 66.66666666666669]]}}}, "ReloadEnd": {"MainBody": {"location": {"x": [[-0.7295733690261841, 0.0], [-0.5471799969673157, 166.66666666666666], [-0.15633714199066162, 100.00000000000003], [0.0, 150.0]], "z": [[-0.29214829206466675, 0.0], [-0.21911121904850006, 166.66666666666666], [-0.06260320544242859, 100.00000000000003], [-0.0, 150.0]], "y": [[0.2915276288986206, 0.0], [0.21864572167396545, 166.66666666666666], [0.0624702125787735, 100.00000000000003], [0.0, 150.0]]}, "rotation_euler": {"x": [[2.2122143889063857, 0.0], [1.6591607383189364, 166.66666666666666], [0.47404597097185575, 100.00000000000003], [0.0, 150.0]], "z": [[-48.21786729477217, 0.0], [-36.16339961730548, 166.66666666666666], [-10.332401110335347, 100.00000000000003], [-0.0, 150.0]], "y": [[27.10300512666912, 0.0], [20.327254271888663, 166.66666666666666], [5.807786690890005, 100.00000000000003], [0.0, 150.0]]}}}, "ReloadStart": {"MainBody": {"location": {"x": [[0.0, 0.0], [-0.7295733690261841, 166.66666666666666], [-0.7152981162071228, 50.00000000000003], [-0.7095879912376404, 66.66666666666663], [-0.7295733690261841, 116.66666666666669]], "z": [[-0.0, 0.0], [-0.29214829206466675, 166.66666666666666], [-0.28362342715263367, 50.00000000000003], [-0.28021347522735596, 66.66666666666663], [-0.29214829206466675, 116.66666666666669]], "y": [[0.0, 0.0], [0.2915276288986206, 166.66666666666666], [0.4171614646911621, 50.00000000000003], [0.4674150049686432, 66.66666666666663], [0.2915276288986206, 116.66666666666669]]}, "rotation_euler": {"x": [[0.0, 0.0], [2.2122143889063857, 166.66666666666666], [5.485797059263618, 50.00000000000003], [6.795230554293333, 66.66666666666663], [2.2122143889063857, 116.66666666666669]], "z": [[-0.0, 0.0], [-48.21786729477217, 166.66666666666666], [-50.902555110315724, 50.00000000000003], [-51.976428187476394, 66.66666666666663], [-48.21786729477217, 116.66666666666669]], "y": [[0.0, 0.0], [27.10300512666912, 166.66666666666666], [26.843731145775436, 50.00000000000003], [26.74002155341796, 66.66666666666663], [27.10300512666912, 116.66666666666669]]}}, "Shell": {"location": {"x": [[0.0, 0.0], [1.2852251529693604e-07, 133.33333333333334], [0.0, 83.33333333333334], [0.004309284035116434, 83.33333333333331], [0.004309284035116434, 50.0]], "z": [[-0.0, 0.0], [0.8857776522636414, 133.33333333333334], [-0.0984112098813057, 83.33333333333334], [-0.2392037808895111, 83.33333333333331], [-0.12080879509449005, 50.0]], "y": [[-2.806074380874634, 0.0], [-2.2905659675598145, 133.33333333333334], [-1.7331905364990234, 83.33333333333334], [-0.3817155361175537, 83.33333333333331], [-0.2624862790107727, 50.0]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 133.33333333333334], [21.14787588745631, 83.33333333333334], [0.40499606683590605, 83.33333333333331], [0.40499606683590605, 50.0]], "z": [[-0.0, 0.0], [-0.0, 133.33333333333334], [-0.0, 83.33333333333334], [-1.0271807443729786e-06, 83.33333333333331], [-1.0271807443729786e-06, 50.0]], "y": [[0.0, 0.0], [0.0, 133.33333333333334], [-1.9209907040660864e-06, 83.33333333333334], [-4.784677867278997e-06, 83.33333333333331], [-4.784677867278997e-06, 50.0]]}}}}, "offset": {}} \ No newline at end of file +{"anim": {"Fire": {"MainBody": {"location": {"z": [[-0.0, 0.0, "BEZIER", "AUTO", 5.555555721124013, -0.0, "AUTO_CLAMPED"], [0.7581773996353149, 16.666666666666668, "BEZIER", "AUTO", 11.11111044883728, 0.7126919627189636, "AUTO_CLAMPED", 33.333333333333336, 0.8946337699890137, "AUTO_CLAMPED"], [0.8946337699890137, 50.0, "BEZIER", "AUTO", 50.0, 0.7581773996353149, "AUTO_CLAMPED", 83.33333333333333, 1.0310901403427124, "AUTO_CLAMPED"], [1.6292921304702759, 50.0, "BEZIER", "AUTO", 100.0, 1.6292921304702759, "AUTO_CLAMPED", 244.44443384806314, 1.6292921304702759, "AUTO_CLAMPED"], [0.27919262647628784, 383.3333333333333, "BEZIER", "AUTO", 372.2222328186035, 0.8619835376739502, "AUTO_CLAMPED", 511.11110051472986, 0.2285151481628418, "AUTO_CLAMPED"], [0.13398613035678864, 33.33333333333337, "BEZIER", "AUTO", 522.2222328186035, 0.1792329102754593, "AUTO_CLAMPED", 555.555534362793, 0.043492577970027924, "AUTO_CLAMPED"], [-0.08360463380813599, 66.66666666666663, "BEZIER", "AUTO", 577.7777989705404, -0.030859101563692093, "AUTO_CLAMPED", 638.8888676961263, -0.17590931057929993, "AUTO_CLAMPED"], [-0.28197288513183594, 116.66666666666663, "BEZIER", "AUTO", 677.7777989705404, -0.20204517245292664, "AUTO_CLAMPED", 750.0, -0.35048234462738037, "AUTO_CLAMPED"], [-0.4585123360157013, 100.0, "BEZIER", "AUTO", 783.3333333333334, -0.4585123360157013, "AUTO_CLAMPED", 905.5555343627929, -0.4585123360157013, "AUTO_CLAMPED"], [-0.0, 266.66666666666663, "BEZIER", "AUTO", 994.444465637207, -0.0, "AUTO_CLAMPED", 1172.2222646077473, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 5.555555721124013, 0.0, "AUTO_CLAMPED"], [-0.055255696177482605, 16.666666666666668, "BEZIER", "AUTO", 11.11111044883728, -0.055255696177482605, "AUTO_CLAMPED", 33.333333333333336, -0.055255696177482605, "AUTO_CLAMPED"], [0.06926095485687256, 50.0, "BEZIER", "AUTO", 50.0, 0.06926095485687256, "AUTO_CLAMPED", 83.33333333333333, 0.06926095485687256, "AUTO_CLAMPED"], [-0.035571567714214325, 50.0, "BEZIER", "AUTO", 100.0, -0.035571567714214325, "AUTO_CLAMPED", 244.44443384806314, -0.035571567714214325, "AUTO_CLAMPED"], [0.14532151818275452, 383.3333333333333, "BEZIER", "AUTO", 372.2222328186035, 0.14532014727592468, "AUTO_CLAMPED", 511.11110051472986, 0.14532163739204407, "AUTO_CLAMPED"], [0.14532163739204407, 33.33333333333337, "BEZIER", "AUTO", 522.2222328186035, 0.14532151818275452, "AUTO_CLAMPED", 555.555534362793, 0.14532187581062317, "AUTO_CLAMPED"], [0.2893771231174469, 66.66666666666663, "BEZIER", "AUTO", 577.7777989705404, 0.2893771231174469, "AUTO_CLAMPED", 638.8888676961263, 0.2893771231174469, "AUTO_CLAMPED"], [0.059010088443756104, 116.66666666666663, "BEZIER", "AUTO", 677.7777989705404, 0.059010088443756104, "AUTO_CLAMPED", 750.0, 0.059010088443756104, "AUTO_CLAMPED"], [0.3883959650993347, 100.0, "BEZIER", "AUTO", 783.3333333333334, 0.3883959650993347, "AUTO_CLAMPED", 905.5555343627929, 0.3883959650993347, "AUTO_CLAMPED"], [0.0, 266.66666666666663, "BEZIER", "AUTO", 994.444465637207, 0.0, "AUTO_CLAMPED", 1172.2222646077473, 0.0, "AUTO_CLAMPED"]], "x": [[0.0, 0.0, "BEZIER", "AUTO", 5.555555721124013, 0.0, "AUTO_CLAMPED"], [0.09942026436328888, 16.666666666666668, "BEZIER", "AUTO", 11.11111044883728, 0.09942026436328888, "AUTO_CLAMPED", 33.333333333333336, 0.09942026436328888, "AUTO_CLAMPED"], [-0.04042813181877136, 50.0, "BEZIER", "AUTO", 50.0, -0.04042813181877136, "AUTO_CLAMPED", 83.33333333333333, -0.04042813181877136, "AUTO_CLAMPED"], [0.13011114299297333, 50.0, "BEZIER", "AUTO", 100.0, 0.13011114299297333, "AUTO_CLAMPED", 244.44443384806314, 0.13011114299297333, "AUTO_CLAMPED"], [0.026651103049516678, 383.3333333333333, "BEZIER", "AUTO", 372.2222328186035, 0.11272260546684265, "AUTO_CLAMPED", 511.11110051472986, 0.019166624173521996, "AUTO_CLAMPED"], [0.0, 33.33333333333337, "BEZIER", "AUTO", 522.2222328186035, 0.011162804439663887, "AUTO_CLAMPED", 555.555534362793, -0.022325608879327774, "AUTO_CLAMPED"], [-0.11603647470474243, 66.66666666666663, "BEZIER", "AUTO", 577.7777989705404, -0.05728715658187866, "AUTO_CLAMPED", 638.8888676961263, -0.21884778141975403, "AUTO_CLAMPED"], [-0.3945091962814331, 116.66666666666663, "BEZIER", "AUTO", 677.7777989705404, -0.3945091962814331, "AUTO_CLAMPED", 750.0, -0.3945091962814331, "AUTO_CLAMPED"], [-0.30177658796310425, 100.0, "BEZIER", "AUTO", 783.3333333333334, -0.35092929005622864, "AUTO_CLAMPED", 905.5555343627929, -0.1707027107477188, "AUTO_CLAMPED"], [0.0, 266.66666666666663, "BEZIER", "AUTO", 994.444465637207, 0.0, "AUTO_CLAMPED", 1172.2222646077473, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 5.555555721124013, 0.0, "AUTO_CLAMPED"], [-8.462898079780109, 16.666666666666668, "BEZIER", "AUTO", 11.11111044883728, -8.462898079780109, "AUTO_CLAMPED", 44.44444179534912, -8.462898079780109, "AUTO_CLAMPED"], [11.626710005221716, 83.33333333333333, "BEZIER", "AUTO", 72.22222487131755, 11.626710005221716, "AUTO_CLAMPED", 177.77776718139648, 11.626710005221716, "AUTO_CLAMPED"], [1.500494163239071, 233.33333333333331, "BEZIER", "AUTO", 255.55556615193686, 1.500494163239071, "AUTO_CLAMPED", 405.55556615193683, 1.500494163239071, "AUTO_CLAMPED"], [6.633028929431163, 216.66666666666669, "BEZIER", "AUTO", 477.7777671813965, 4.961353790448882, "AUTO_CLAMPED", 577.7777989705404, 7.275981102987497, "AUTO_CLAMPED"], [8.391754829385256, 83.33333333333326, "BEZIER", "AUTO", 605.555534362793, 7.6542608848848985, "AUTO_CLAMPED", 683.3333333333334, 9.719244783259548, "AUTO_CLAMPED"], [12.210589580193902, 150.0000000000001, "BEZIER", "AUTO", 733.3333333333333, 12.210589580193902, "AUTO_CLAMPED", 805.555534362793, 12.210589580193902, "AUTO_CLAMPED"], [7.617799627548077, 66.66666666666663, "BEZIER", "AUTO", 827.7777989705404, 9.69863554121268, "AUTO_CLAMPED", 888.8888676961263, 3.976336778635024, "AUTO_CLAMPED"], [0.539266273417544, 116.66666666666663, "BEZIER", "AUTO", 927.7777989705404, 1.6551651843761848, "AUTO_CLAMPED", 977.7777989705404, 0.22043800552066753, "AUTO_CLAMPED"], [0.0, 33.33333333333337, "BEZIER", "AUTO", 988.8888676961262, 0.0, "AUTO_CLAMPED", 1011.1111323038738, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 5.555555721124013, -0.0, "AUTO_CLAMPED"], [-2.3773901342652737, 16.666666666666668, "BEZIER", "AUTO", 11.11111044883728, -2.3773901342652737, "AUTO_CLAMPED", 122.22222487131755, -2.3773901342652737, "AUTO_CLAMPED"], [-0.0, 316.66666666666663, "BEZIER", "AUTO", 227.77776718139648, -0.0, "AUTO_CLAMPED", 405.55556615193683, -0.0, "AUTO_CLAMPED"], [-0.0, 216.66666666666669, "BEZIER", "AUTO", 477.7777671813965, -0.0, "AUTO_CLAMPED", 577.7777989705404, -0.0, "AUTO_CLAMPED"], [-2.549341854167637, 83.33333333333326, "BEZIER", "AUTO", 605.555534362793, -1.2295183607498625, "AUTO_CLAMPED", 683.3333333333334, -4.925024014253585, "AUTO_CLAMPED"], [-8.612766944322175, 150.0000000000001, "BEZIER", "AUTO", 733.3333333333333, -7.593291201258779, "AUTO_CLAMPED", 805.555534362793, -9.065867179708835, "AUTO_CLAMPED"], [-9.193280943580838, 66.66666666666663, "BEZIER", "AUTO", 827.7777989705404, -9.193280943580838, "AUTO_CLAMPED", 888.8888676961263, -9.193280943580838, "AUTO_CLAMPED"], [-1.0644272457036594, 116.66666666666663, "BEZIER", "AUTO", 927.7777989705404, -3.4164384247255755, "AUTO_CLAMPED", 977.7777989705404, -0.3924239830905869, "AUTO_CLAMPED"], [-0.0, 33.33333333333337, "BEZIER", "AUTO", 988.8888676961262, -0.0, "AUTO_CLAMPED", 1011.1111323038738, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 5.555555721124013, 0.0, "AUTO_CLAMPED"], [-2.661507434160998, 16.666666666666668, "BEZIER", "AUTO", 11.11111044883728, -2.661507434160998, "AUTO_CLAMPED", 122.22222487131755, -2.661507434160998, "AUTO_CLAMPED"], [-0.0, 316.66666666666663, "BEZIER", "AUTO", 227.77776718139648, -0.0, "AUTO_CLAMPED", 405.55556615193683, -0.0, "AUTO_CLAMPED"], [0.0, 216.66666666666669, "BEZIER", "AUTO", 477.7777671813965, 0.0, "AUTO_CLAMPED", 577.7777989705404, 0.0, "AUTO_CLAMPED"], [2.434119977964107, 83.33333333333326, "BEZIER", "AUTO", 605.555534362793, 2.434119977964107, "AUTO_CLAMPED", 683.3333333333334, 2.434119977964107, "AUTO_CLAMPED"], [-1.813550761204728, 150.0000000000001, "BEZIER", "AUTO", 733.3333333333333, 1.9640603828683056, "AUTO_CLAMPED", 805.555534362793, -3.4924891660390824, "AUTO_CLAMPED"], [-5.824772090695357, 66.66666666666663, "BEZIER", "AUTO", 827.7777989705404, -5.824772090695357, "AUTO_CLAMPED", 888.8888676961263, -5.824772090695357, "AUTO_CLAMPED"], [-0.9415905623492115, 116.66666666666663, "BEZIER", "AUTO", 927.7777989705404, -2.7657766751435897, "AUTO_CLAMPED", 977.7777989705404, -0.42039451487628826, "AUTO_CLAMPED"], [0.0, 33.33333333333337, "BEZIER", "AUTO", 988.8888676961262, 0.0, "AUTO_CLAMPED", 1011.1111323038738, 0.0, "AUTO_CLAMPED"]]}}, "PumpGrip": {"location": {"z": [[-0.0, 0.0, "LINEAR", "AUTO"], [-0.0, 550.0, "BEZIER", "AUTO", 583.3333333333334, -0.0, "AUTO_CLAMPED"], [1.3243759870529175, 100.0, "BEZIER", "AUTO", 616.6666666666667, 1.3243759870529175, "AUTO_CLAMPED", 722.2222010294597, 1.3243759870529175, "AUTO_CLAMPED"], [1.0643759965896606, 216.66666666666674, "BEZIER", "AUTO", 794.444465637207, 1.3243759870529175, "AUTO_CLAMPED", 888.8888676961263, 0.9843760132789612, "AUTO_CLAMPED"], [-0.0, 66.66666666666663, "BEZIER", "AUTO", 911.1111323038737, -0.0, "AUTO_CLAMPED", 955.555534362793, -0.0, "AUTO_CLAMPED"]]}}}, "FireAlt": {"MainBody": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 72.22222487131755, 0.0, "AUTO_CLAMPED"], [0.0, 216.66666666666669, "BEZIER", "AUTO", 144.44443384806317, 0.0, "AUTO_CLAMPED", 383.3333333333333, 0.0, "AUTO_CLAMPED"], [0.0, 499.99999999999994, "BEZIER", "AUTO", 550.0, 0.0, "AUTO_CLAMPED", 738.8888676961262, 0.0, "AUTO_CLAMPED"], [-0.11603647470474243, 66.66666666666674, "BEZIER", "AUTO", 761.1111323038738, -0.03429786115884781, "AUTO_CLAMPED", 811.1111323038737, -0.21820974349975586, "AUTO_CLAMPED"], [-0.3945091962814331, 83.33333333333337, "BEZIER", "AUTO", 838.8888676961262, -0.3945091962814331, "AUTO_CLAMPED", 894.444465637207, -0.3945091962814331, "AUTO_CLAMPED"], [-0.30177658796310425, 83.33333333333326, "BEZIER", "AUTO", 922.2222010294596, -0.34912535548210144, "AUTO_CLAMPED", 1033.3333333333333, -0.15973030030727386, "AUTO_CLAMPED"], [0.0, 250.0, "BEZIER", "AUTO", 1116.6666666666667, 0.0, "AUTO_CLAMPED", 1283.3333333333333, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 11.111111442248026, -0.0, "AUTO_CLAMPED"], [1.8780767917633057, 33.333333333333336, "BEZIER", "AUTO", 22.22222089767456, 1.8780767917633057, "AUTO_CLAMPED", 94.44444974263509, 1.8780767917633057, "AUTO_CLAMPED"], [0.46677228808403015, 183.33333333333334, "BEZIER", "AUTO", 155.5555502573649, 0.5887938737869263, "AUTO_CLAMPED", 383.3333333333333, 0.13398614525794983, "AUTO_CLAMPED"], [0.13398613035678864, 499.99999999999994, "BEZIER", "AUTO", 550.0, 0.46677225828170776, "AUTO_CLAMPED", 738.8888676961262, 0.08961464464664459, "AUTO_CLAMPED"], [-0.08360463380813599, 66.66666666666674, "BEZIER", "AUTO", 761.1111323038738, -0.01296059787273407, "AUTO_CLAMPED", 811.1111323038737, -0.17190967500209808, "AUTO_CLAMPED"], [-0.28197288513183594, 83.33333333333337, "BEZIER", "AUTO", 838.8888676961262, -0.21032220125198364, "AUTO_CLAMPED", 894.444465637207, -0.35362356901168823, "AUTO_CLAMPED"], [-0.4585123360157013, 83.33333333333326, "BEZIER", "AUTO", 922.2222010294596, -0.4585123360157013, "AUTO_CLAMPED", 1033.3333333333333, -0.4585123360157013, "AUTO_CLAMPED"], [-0.0, 250.0, "BEZIER", "AUTO", 1116.6666666666667, -0.0, "AUTO_CLAMPED", 1283.3333333333333, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 16.666666666666668, 0.0, "AUTO_CLAMPED"], [0.7429239749908447, 50.0, "BEZIER", "AUTO", 33.333333333333336, 0.6434348821640015, "AUTO_CLAMPED", 105.5555502573649, 1.0745543241500854, "AUTO_CLAMPED"], [1.0745543241500854, 166.66666666666669, "BEZIER", "AUTO", 161.11111640930176, 1.0745543241500854, "AUTO_CLAMPED", 383.3333333333333, 1.0745543241500854, "AUTO_CLAMPED"], [0.14532163739204407, 499.99999999999994, "BEZIER", "AUTO", 550.0, 0.14532163739204407, "AUTO_CLAMPED", 738.8888676961262, 0.14532163739204407, "AUTO_CLAMPED"], [0.2893771231174469, 66.66666666666674, "BEZIER", "AUTO", 761.1111323038738, 0.2893771231174469, "AUTO_CLAMPED", 811.1111323038737, 0.2893771231174469, "AUTO_CLAMPED"], [0.059010088443756104, 83.33333333333337, "BEZIER", "AUTO", 838.8888676961262, 0.059010088443756104, "AUTO_CLAMPED", 894.444465637207, 0.059010088443756104, "AUTO_CLAMPED"], [0.3883959650993347, 83.33333333333326, "BEZIER", "AUTO", 922.2222010294596, 0.3883959650993347, "AUTO_CLAMPED", 1033.3333333333333, 0.3883959650993347, "AUTO_CLAMPED"], [0.0, 250.0, "BEZIER", "AUTO", 1116.6666666666667, 0.0, "AUTO_CLAMPED", 1283.3333333333333, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 5.555555721124013, 0.0, "AUTO_CLAMPED"], [0.0, 16.666666666666668, "BEZIER", "AUTO", 11.11111044883728, 0.0, "AUTO_CLAMPED", 55.555554231007896, 0.0, "AUTO_CLAMPED"], [17.70531540425002, 116.66666666666667, "BEZIER", "AUTO", 94.44444974263509, 17.70531540425002, "AUTO_CLAMPED", 150.0, 17.70531540425002, "AUTO_CLAMPED"], [13.903672239582296, 49.99999999999997, "BEZIER", "AUTO", 166.66666666666666, 15.701645260280928, "AUTO_CLAMPED", 222.22221692403158, 9.70840015040486, "AUTO_CLAMPED"], [6.633028929431163, 116.66666666666669, "BEZIER", "AUTO", 261.11111640930176, 6.633028929431163, "AUTO_CLAMPED", 472.2222010294596, 6.633028929431163, "AUTO_CLAMPED"], [8.546770241466927, 516.6666666666666, "BEZIER", "AUTO", 644.444465637207, 6.633028929431163, "AUTO_CLAMPED", 850.0, 8.917171400156718, "AUTO_CLAMPED"], [12.210589580193902, 100.0, "BEZIER", "AUTO", 883.3333333333333, 12.210589580193902, "AUTO_CLAMPED", 938.8888676961263, 12.210589580193902, "AUTO_CLAMPED"], [7.269988465764457, 66.66666666666663, "BEZIER", "AUTO", 961.1111323038737, 9.449915910133958, "AUTO_CLAMPED", 1038.8888676961262, 1.8201694279538818, "AUTO_CLAMPED"], [0.0, 166.66666666666674, "BEZIER", "AUTO", 1094.4444020589192, 0.0, "AUTO_CLAMPED", 1205.5555979410808, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, -0.0, "AUTO_CLAMPED"], [-11.299828250602307, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, -11.299828250602307, "AUTO_CLAMPED", 188.88888359069824, -11.299828250602307, "AUTO_CLAMPED"], [-0.0, 166.66666666666666, "BEZIER", "AUTO", 244.4444497426351, -0.0, "AUTO_CLAMPED", 472.2222010294596, -0.0, "AUTO_CLAMPED"], [-2.5606105990811003, 516.6666666666666, "BEZIER", "AUTO", 644.444465637207, -0.0, "AUTO_CLAMPED", 850.0, -3.0562125403518103, "AUTO_CLAMPED"], [-8.612766944322175, 100.0, "BEZIER", "AUTO", 883.3333333333333, -5.840664660233507, "AUTO_CLAMPED", 938.8888676961263, -10.46083513371462, "AUTO_CLAMPED"], [-12.303416119882606, 66.66666666666663, "BEZIER", "AUTO", 961.1111323038737, -12.303416119882606, "AUTO_CLAMPED", 1038.8888676961262, -12.303416119882606, "AUTO_CLAMPED"], [-0.0, 166.66666666666674, "BEZIER", "AUTO", 1094.4444020589192, -0.0, "AUTO_CLAMPED", 1205.5555979410808, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, 0.0, "AUTO_CLAMPED"], [-1.977470392086568, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, -1.977470392086568, "AUTO_CLAMPED", 188.88888359069824, -1.977470392086568, "AUTO_CLAMPED"], [0.0, 166.66666666666666, "BEZIER", "AUTO", 244.4444497426351, -0.9796583015231601, "AUTO_CLAMPED", 472.2222010294596, 3.0369407347217963, "AUTO_CLAMPED"], [5.899426058323597, 516.6666666666666, "BEZIER", "AUTO", 644.444465637207, 5.899426058323597, "AUTO_CLAMPED", 850.0, 5.899426058323597, "AUTO_CLAMPED"], [-1.813550761204728, 100.0, "BEZIER", "AUTO", 883.3333333333333, 1.7061153006550123, "AUTO_CLAMPED", 938.8888676961263, -4.159995015887966, "AUTO_CLAMPED"], [-6.207043691275808, 66.66666666666663, "BEZIER", "AUTO", 961.1111323038737, -6.207043691275808, "AUTO_CLAMPED", 1038.8888676961262, -6.207043691275808, "AUTO_CLAMPED"], [0.0, 166.66666666666674, "BEZIER", "AUTO", 1094.4444020589192, 0.0, "AUTO_CLAMPED", 1205.5555979410808, 0.0, "AUTO_CLAMPED"]]}}, "PumpGrip": {"location": {"z": [[-0.0, 0.0, "LINEAR", "AUTO"], [-0.0, 816.6666666666666, "BEZIER", "AUTO", 850.0, -0.0, "AUTO_CLAMPED"], [1.3243759870529175, 100.0, "BEZIER", "AUTO", 883.3333333333333, 1.3243759870529175, "AUTO_CLAMPED", 988.8888676961262, 1.3243759870529175, "AUTO_CLAMPED"], [1.0643759965896606, 216.66666666666663, "BEZIER", "AUTO", 1061.1111323038738, 1.3243759870529175, "AUTO_CLAMPED", 1155.5555979410808, 0.9843760132789612, "AUTO_CLAMPED"], [-0.0, 66.66666666666674, "LINEAR", "AUTO", 1177.7777353922525, -0.0, "AUTO_CLAMPED"]]}}}, "FireDry": {"MainBody": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 83.33333333333333, 0.0, "AUTO_CLAMPED"], [0.0, 250.0, "BEZIER", "AUTO", 166.66666666666666, 0.0, "AUTO_CLAMPED", 327.7777671813965, 0.0, "AUTO_CLAMPED"], [-0.14821384847164154, 233.33333333333331, "BEZIER", "AUTO", 405.55556615193683, -0.10107992589473724, "AUTO_CLAMPED", 533.3333333333334, -0.17851422727108002, "AUTO_CLAMPED"], [-0.18652059137821198, 149.99999999999994, "BEZIER", "AUTO", 583.3333333333334, -0.18652059137821198, "AUTO_CLAMPED", 694.444465637207, -0.18652059137821198, "AUTO_CLAMPED"], [-0.1720721423625946, 183.33333333333337, "BEZIER", "AUTO", 755.555534362793, -0.1720721423625946, "AUTO_CLAMPED", 850.0, -0.1720721423625946, "AUTO_CLAMPED"], [-0.21047449111938477, 100.0, "BEZIER", "AUTO", 883.3333333333333, -0.21047449111938477, "AUTO_CLAMPED", 961.1111323038737, -0.21047449111938477, "AUTO_CLAMPED"], [-0.16133126616477966, 133.33333333333337, "BEZIER", "AUTO", 1005.5555343627929, -0.1923203021287918, "AUTO_CLAMPED", 1133.3333333333333, -0.10322683304548264, "AUTO_CLAMPED"], [0.0, 250.0, "BEZIER", "AUTO", 1216.6666666666665, 0.0, "AUTO_CLAMPED", 1383.3333333333333, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 83.33333333333333, -0.0, "AUTO_CLAMPED"], [-0.0, 250.0, "BEZIER", "AUTO", 166.66666666666666, -0.0, "AUTO_CLAMPED", 327.7777671813965, -0.0, "AUTO_CLAMPED"], [-0.1766490787267685, 233.33333333333331, "BEZIER", "AUTO", 405.55556615193683, -0.08031249046325684, "AUTO_CLAMPED", 533.3333333333334, -0.23857975006103516, "AUTO_CLAMPED"], [-0.3071326017379761, 149.99999999999994, "BEZIER", "AUTO", 583.3333333333334, -0.3071326017379761, "AUTO_CLAMPED", 694.444465637207, -0.3071326017379761, "AUTO_CLAMPED"], [0.25795137882232666, 183.33333333333337, "BEZIER", "AUTO", 755.555534362793, 0.25795137882232666, "AUTO_CLAMPED", 850.0, 0.25795137882232666, "AUTO_CLAMPED"], [0.08236825466156006, 100.0, "BEZIER", "AUTO", 883.3333333333333, 0.15054117143154144, "AUTO_CLAMPED", 961.1111323038737, -0.008528970181941986, "AUTO_CLAMPED"], [-0.02967098355293274, 133.33333333333337, "BEZIER", "AUTO", 1005.5555343627929, -0.02967098355293274, "AUTO_CLAMPED", 1133.3333333333333, -0.02967098355293274, "AUTO_CLAMPED"], [-0.0, 250.0, "BEZIER", "AUTO", 1216.6666666666665, -0.0, "AUTO_CLAMPED", 1383.3333333333333, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 83.33333333333333, 0.0, "AUTO_CLAMPED"], [0.0, 250.0, "BEZIER", "AUTO", 166.66666666666666, 0.0, "AUTO_CLAMPED", 327.7777671813965, 0.0, "AUTO_CLAMPED"], [0.30453160405158997, 233.33333333333331, "BEZIER", "AUTO", 405.55556615193683, 0.30453160405158997, "AUTO_CLAMPED", 533.3333333333334, 0.30453160405158997, "AUTO_CLAMPED"], [-0.02473139762878418, 149.99999999999994, "BEZIER", "AUTO", 583.3333333333334, 0.09544896334409714, "AUTO_CLAMPED", 694.444465637207, -0.1716185063123703, "AUTO_CLAMPED"], [-0.185700923204422, 183.33333333333337, "BEZIER", "AUTO", 755.555534362793, -0.185700923204422, "AUTO_CLAMPED", 850.0, -0.185700923204422, "AUTO_CLAMPED"], [-0.015024490654468536, 100.0, "BEZIER", "AUTO", 883.3333333333333, -0.08966775238513947, "AUTO_CLAMPED", 961.1111323038737, 0.08449985831975937, "AUTO_CLAMPED"], [0.14599764347076416, 133.33333333333337, "BEZIER", "AUTO", 1005.5555343627929, 0.14599764347076416, "AUTO_CLAMPED", 1133.3333333333333, 0.14599764347076416, "AUTO_CLAMPED"], [0.0, 250.0, "BEZIER", "AUTO", 1216.6666666666665, 0.0, "AUTO_CLAMPED", 1383.3333333333333, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 83.33333333333333, 0.0, "AUTO_CLAMPED"], [0.0, 250.0, "BEZIER", "AUTO", 166.66666666666666, 0.0, "AUTO_CLAMPED", 327.7777671813965, 0.0, "AUTO_CLAMPED"], [10.013142700603318, 233.33333333333331, "BEZIER", "AUTO", 405.55556615193683, 10.013142700603318, "AUTO_CLAMPED", 533.3333333333334, 10.013142700603318, "AUTO_CLAMPED"], [8.468210259407087, 149.99999999999994, "BEZIER", "AUTO", 583.3333333333334, 9.67957333701282, "AUTO_CLAMPED", 683.3333333333334, 7.256847181801352, "AUTO_CLAMPED"], [3.8440996205485227, 150.0000000000001, "BEZIER", "AUTO", 733.3333333333333, 5.167689536406736, "AUTO_CLAMPED", 838.8888676961262, 2.3734442059157104, "AUTO_CLAMPED"], [1.3950524775967643, 166.66666666666663, "BEZIER", "AUTO", 894.444465637207, 1.8479337200431605, "AUTO_CLAMPED", 1050.0, 0.5798664653088336, "AUTO_CLAMPED"], [0.0, 300.0, "BEZIER", "AUTO", 1150.0, 0.0, "AUTO_CLAMPED", 1350.0, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 83.33333333333333, -0.0, "AUTO_CLAMPED"], [-0.0, 250.0, "BEZIER", "AUTO", 166.66666666666666, -0.0, "AUTO_CLAMPED", 327.7777671813965, -0.0, "AUTO_CLAMPED"], [-1.0905663796572982, 233.33333333333331, "BEZIER", "AUTO", 405.55556615193683, -1.0905663796572982, "AUTO_CLAMPED", 533.3333333333334, -1.0905663796572982, "AUTO_CLAMPED"], [-0.9023532600016038, 149.99999999999994, "BEZIER", "AUTO", 583.3333333333334, -1.0494438383770615, "AUTO_CLAMPED", 683.3333333333334, -0.7552627349869991, "AUTO_CLAMPED"], [-0.31931371825604976, 150.0000000000001, "BEZIER", "AUTO", 733.3333333333333, -0.5022042795988796, "AUTO_CLAMPED", 838.8888676961262, -0.1161019967708965, "AUTO_CLAMPED"], [0.0004827262459451294, 166.66666666666663, "BEZIER", "AUTO", 894.444465637207, 0.0004827262459451294, "AUTO_CLAMPED", 1050.0, 0.0004827262459451294, "AUTO_CLAMPED"], [-0.0, 300.0, "BEZIER", "AUTO", 1150.0, -0.0, "AUTO_CLAMPED", 1350.0, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 83.33333333333333, 0.0, "AUTO_CLAMPED"], [0.0, 250.0, "BEZIER", "AUTO", 166.66666666666666, 0.0, "AUTO_CLAMPED", 327.7777671813965, 0.0, "AUTO_CLAMPED"], [-1.2307371226298867, 233.33333333333331, "BEZIER", "AUTO", 405.55556615193683, -1.2307371226298867, "AUTO_CLAMPED", 533.3333333333334, -1.2307371226298867, "AUTO_CLAMPED"], [-1.1005413373315729, 149.99999999999994, "BEZIER", "AUTO", 583.3333333333334, -1.2009474660082877, "AUTO_CLAMPED", 683.3333333333334, -1.0001352086548583, "AUTO_CLAMPED"], [-0.741974762039298, 150.0000000000001, "BEZIER", "AUTO", 733.3333333333333, -0.8291126079230281, "AUTO_CLAMPED", 838.8888676961262, -0.6451549095636632, "AUTO_CLAMPED"], [-0.5715324072218015, 166.66666666666663, "BEZIER", "AUTO", 894.444465637207, -0.6518964129961715, "AUTO_CLAMPED", 1050.0, -0.42687716481142374, "AUTO_CLAMPED"], [0.0, 300.0, "BEZIER", "AUTO", 1150.0, 0.0, "AUTO_CLAMPED", 1350.0, 0.0, "AUTO_CLAMPED"]]}}, "PumpGrip": {"location": {"z": [[-0.0, 0.0, "LINEAR", "AUTO"], [-0.0, 550.0, "BEZIER", "AUTO", 583.3333333333334, -0.0, "AUTO_CLAMPED"], [1.3243759870529175, 100.0, "BEZIER", "AUTO", 616.6666666666667, 1.3243759870529175, "AUTO_CLAMPED", 722.2222010294597, 1.3243759870529175, "AUTO_CLAMPED"], [1.0643759965896606, 216.66666666666674, "BEZIER", "AUTO", 794.444465637207, 1.3243759870529175, "AUTO_CLAMPED", 888.8888676961263, 0.9843760132789612, "AUTO_CLAMPED"], [-0.0, 66.66666666666663, "BEZIER", "AUTO", 911.1111323038737, -0.0, "AUTO_CLAMPED", 955.555534362793, -0.0, "AUTO_CLAMPED"]]}}}, "Inspect": {"MainBody": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 105.55555820465088, 0.0, "AUTO_CLAMPED"], [-0.26629936695098877, 316.66666666666663, "BEZIER", "AUTO", 211.1111005147298, -0.26629936695098877, "AUTO_CLAMPED", 338.8888994852702, -0.26629936695098877, "AUTO_CLAMPED"], [-0.017356067895889282, 66.66666666666669, "BEZIER", "AUTO", 361.11110051472986, -0.1009325236082077, "AUTO_CLAMPED", 405.55556615193683, 0.06622038781642914, "AUTO_CLAMPED"], [0.11843034625053406, 66.66666666666669, "BEZIER", "AUTO", 427.7777671813965, 0.06800641119480133, "AUTO_CLAMPED", 483.3333333333333, 0.19406625628471375, "AUTO_CLAMPED"], [0.5941287279129028, 100.0, "BEZIER", "AUTO", 516.6666666666666, 0.37913745641708374, "AUTO_CLAMPED", 611.1111323038737, 0.9882794618606567, "AUTO_CLAMPED"], [1.6117087602615356, 183.33333333333326, "BEZIER", "AUTO", 672.2222010294596, 1.4829950332641602, "AUTO_CLAMPED", 766.6666666666666, 1.6819162368774414, "AUTO_CLAMPED"], [1.6819162368774414, 100.00000000000011, "BEZIER", "AUTO", 800.0, 1.6819162368774414, "AUTO_CLAMPED", 866.6666666666667, 1.6819162368774414, "AUTO_CLAMPED"], [1.6105526685714722, 100.0, "BEZIER", "AUTO", 900.0, 1.6105526685714722, "AUTO_CLAMPED", 983.3333333333333, 1.6105526685714722, "AUTO_CLAMPED"], [1.7710378170013428, 149.9999999999999, "BEZIER", "AUTO", 1033.3333333333333, 1.7710378170013428, "AUTO_CLAMPED", 1116.6666666666667, 1.7710378170013428, "AUTO_CLAMPED"], [1.6593616008758545, 100.0, "BEZIER", "AUTO", 1150.0, 1.7710378170013428, "AUTO_CLAMPED", 1255.5555979410806, 1.4173964262008667, "AUTO_CLAMPED"], [0.0, 216.66666666666674, "BEZIER", "AUTO", 1327.7777353922527, 0.0, "AUTO_CLAMPED", 1472.2222646077473, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 105.55555820465088, -0.0, "AUTO_CLAMPED"], [-2.5266575813293457, 316.66666666666663, "BEZIER", "AUTO", 211.1111005147298, -2.5266575813293457, "AUTO_CLAMPED", 338.8888994852702, -2.5266575813293457, "AUTO_CLAMPED"], [-2.423205614089966, 66.66666666666669, "BEZIER", "AUTO", 361.11110051472986, -2.4301905632019043, "AUTO_CLAMPED", 405.55556615193683, -2.4162206649780273, "AUTO_CLAMPED"], [-2.4162206649780273, 66.66666666666669, "BEZIER", "AUTO", 427.7777671813965, -2.4162206649780273, "AUTO_CLAMPED", 483.3333333333333, -2.4162206649780273, "AUTO_CLAMPED"], [-2.464684247970581, 100.0, "BEZIER", "AUTO", 516.6666666666666, -2.4381086826324463, "AUTO_CLAMPED", 611.1111323038737, -2.513406276702881, "AUTO_CLAMPED"], [-2.631500720977783, 183.33333333333326, "BEZIER", "AUTO", 672.2222010294596, -2.5778839588165283, "AUTO_CLAMPED", 766.6666666666666, -2.6607463359832764, "AUTO_CLAMPED"], [-2.686760425567627, 100.00000000000011, "BEZIER", "AUTO", 800.0, -2.686760425567627, "AUTO_CLAMPED", 866.6666666666667, -2.686760425567627, "AUTO_CLAMPED"], [-2.6478917598724365, 100.0, "BEZIER", "AUTO", 900.0, -2.679433584213257, "AUTO_CLAMPED", 983.3333333333333, -2.600579023361206, "AUTO_CLAMPED"], [-2.4987831115722656, 149.9999999999999, "BEZIER", "AUTO", 1033.3333333333333, -2.4987831115722656, "AUTO_CLAMPED", 1116.6666666666667, -2.4987831115722656, "AUTO_CLAMPED"], [-2.541956901550293, 100.0, "BEZIER", "AUTO", 1150.0, -2.541956901550293, "AUTO_CLAMPED", 1255.5555979410806, -2.541956901550293, "AUTO_CLAMPED"], [-0.0, 216.66666666666674, "BEZIER", "AUTO", 1327.7777353922527, -0.0, "AUTO_CLAMPED", 1472.2222646077473, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 105.55555820465088, 0.0, "AUTO_CLAMPED"], [1.279327630996704, 316.66666666666663, "BEZIER", "AUTO", 211.1111005147298, 1.018487572669983, "AUTO_CLAMPED", 338.8888994852702, 1.334241271018982, "AUTO_CLAMPED"], [1.3850702047348022, 66.66666666666669, "BEZIER", "AUTO", 361.11110051472986, 1.3555750846862793, "AUTO_CLAMPED", 405.55556615193683, 1.4145653247833252, "AUTO_CLAMPED"], [1.5013269186019897, 66.66666666666669, "BEZIER", "AUTO", 427.7777671813965, 1.4522218704223633, "AUTO_CLAMPED", 483.3333333333333, 1.5749845504760742, "AUTO_CLAMPED"], [1.6744012832641602, 100.0, "BEZIER", "AUTO", 516.6666666666666, 1.6744012832641602, "AUTO_CLAMPED", 611.1111323038737, 1.6744012832641602, "AUTO_CLAMPED"], [1.6744012832641602, 183.33333333333326, "BEZIER", "AUTO", 672.2222010294596, 1.6744012832641602, "AUTO_CLAMPED", 766.6666666666666, 1.6744012832641602, "AUTO_CLAMPED"], [1.9445902109146118, 100.00000000000011, "BEZIER", "AUTO", 800.0, 1.9445902109146118, "AUTO_CLAMPED", 866.6666666666667, 1.9445902109146118, "AUTO_CLAMPED"], [1.8480366468429565, 100.0, "BEZIER", "AUTO", 900.0, 1.8963457345962524, "AUTO_CLAMPED", 983.3333333333333, 1.7755730152130127, "AUTO_CLAMPED"], [1.702963948249817, 149.9999999999999, "BEZIER", "AUTO", 1033.3333333333333, 1.702963948249817, "AUTO_CLAMPED", 1116.6666666666667, 1.702963948249817, "AUTO_CLAMPED"], [1.7295565605163574, 100.0, "BEZIER", "AUTO", 1150.0, 1.7295565605163574, "AUTO_CLAMPED", 1255.5555979410806, 1.7295565605163574, "AUTO_CLAMPED"], [0.0, 216.66666666666674, "BEZIER", "AUTO", 1327.7777353922527, 0.0, "AUTO_CLAMPED", 1472.2222646077473, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 83.33333333333333, 0.0, "AUTO_CLAMPED"], [45.21538785262085, 250.0, "BEZIER", "AUTO", 166.66666666666666, 45.21538785262085, "AUTO_CLAMPED", 350.0, 45.21538785262085, "AUTO_CLAMPED"], [24.574402501585993, 300.0, "BEZIER", "AUTO", 450.0, 33.5531540335259, "AUTO_CLAMPED", 644.444465637207, 16.094471637563164, "AUTO_CLAMPED"], [10.008142148357223, 283.33333333333337, "BEZIER", "AUTO", 738.8888676961262, 10.008142148357223, "AUTO_CLAMPED", 866.6666666666667, 10.008142148357223, "AUTO_CLAMPED"], [17.11625256947144, 100.0, "BEZIER", "AUTO", 900.0, 17.11625256947144, "AUTO_CLAMPED", 983.3333333333333, 17.11625256947144, "AUTO_CLAMPED"], [13.858683491066714, 149.9999999999999, "BEZIER", "AUTO", 1033.3333333333333, 14.0008146050528, "AUTO_CLAMPED", 1127.7777353922527, 13.73234462821534, "AUTO_CLAMPED"], [13.73234462821534, 133.33333333333326, "BEZIER", "AUTO", 1172.2222646077473, 13.858683491066714, "AUTO_CLAMPED", 1322.2222646077473, 13.43229014910845, "AUTO_CLAMPED"], [0.0, 316.66666666666674, "BEZIER", "AUTO", 1427.7777353922525, 0.0, "AUTO_CLAMPED", 1638.8889312744138, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 83.33333333333333, -0.0, "AUTO_CLAMPED"], [64.57814769671742, 250.0, "BEZIER", "AUTO", 166.66666666666666, 50.78887685686462, "AUTO_CLAMPED", 350.0, 81.12527133850297, "AUTO_CLAMPED"], [81.12527133850297, 300.0, "BEZIER", "AUTO", 450.0, 78.5323334540802, "AUTO_CLAMPED", 644.444465637207, 83.57416053333017, "AUTO_CLAMPED"], [90.64872021146763, 283.33333333333337, "BEZIER", "AUTO", 738.8888676961262, 90.64872021146763, "AUTO_CLAMPED", 866.6666666666667, 90.64872021146763, "AUTO_CLAMPED"], [89.44265906820513, 100.0, "BEZIER", "AUTO", 900.0, 89.44265906820513, "AUTO_CLAMPED", 983.3333333333333, 89.44265906820513, "AUTO_CLAMPED"], [92.26923723356653, 149.9999999999999, "BEZIER", "AUTO", 1033.3333333333333, 92.26923723356653, "AUTO_CLAMPED", 1127.7777353922527, 92.26923723356653, "AUTO_CLAMPED"], [90.42948479948856, 133.33333333333326, "BEZIER", "AUTO", 1172.2222646077473, 92.26923723356653, "AUTO_CLAMPED", 1322.2222646077473, 86.06006935345884, "AUTO_CLAMPED"], [-0.0, 316.66666666666674, "BEZIER", "AUTO", 1427.7777353922525, -0.0, "AUTO_CLAMPED", 1638.8889312744138, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 83.33333333333333, 0.0, "AUTO_CLAMPED"], [51.0063774007945, 250.0, "BEZIER", "AUTO", 166.66666666666666, 47.77261409296821, "AUTO_CLAMPED", 350.0, 54.88689473622389, "AUTO_CLAMPED"], [54.88689473622389, 300.0, "BEZIER", "AUTO", 450.0, 53.85283141664063, "AUTO_CLAMPED", 644.444465637207, 55.86351274979275, "AUTO_CLAMPED"], [58.68484874496615, 283.33333333333337, "BEZIER", "AUTO", 738.8888676961262, 58.68484874496615, "AUTO_CLAMPED", 866.6666666666667, 58.68484874496615, "AUTO_CLAMPED"], [58.346330909321985, 100.0, "BEZIER", "AUTO", 900.0, 58.346330909321985, "AUTO_CLAMPED", 983.3333333333333, 58.346330909321985, "AUTO_CLAMPED"], [59.502880011291076, 149.9999999999999, "BEZIER", "AUTO", 1033.3333333333333, 59.502880011291076, "AUTO_CLAMPED", 1127.7777353922527, 59.502880011291076, "AUTO_CLAMPED"], [57.137930426268746, 133.33333333333326, "BEZIER", "AUTO", 1172.2222646077473, 59.502880011291076, "AUTO_CLAMPED", 1322.2222646077473, 51.52117558872753, "AUTO_CLAMPED"], [0.0, 316.66666666666674, "BEZIER", "AUTO", 1427.7777353922525, 0.0, "AUTO_CLAMPED", 1638.8889312744138, 0.0, "AUTO_CLAMPED"]]}}, "PumpGrip": {"location": {"z": [[-0.0, 0.0, "BEZIER", "AUTO", 77.77777512868245, -0.0, "AUTO_CLAMPED"], [-0.0, 233.33333333333334, "BEZIER", "AUTO", 155.55556615193686, -0.0, "AUTO_CLAMPED", 272.2222328186035, -0.0, "AUTO_CLAMPED"], [1.0609124898910522, 116.66666666666666, "BEZIER", "AUTO", 311.1111005147298, 1.0609124898910522, "AUTO_CLAMPED", 550.0, 1.0609124898910522, "AUTO_CLAMPED"], [1.0609124898910522, 600.0, "QUAD", "EASE_IN", 750.0, 1.0609124898910522, "AUTO_CLAMPED"], [-0.0, 133.33333333333326, "BEZIER", "AUTO", 1127.7777353922527, -0.0, "AUTO_CLAMPED"]]}}, "Shell": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 77.77776718139648, 0.0, "AUTO_CLAMPED"], [0.09711318463087082, 233.33333333333334, "BEZIER", "AUTO", 155.55556615193686, 0.09711318463087082, "AUTO_CLAMPED", 266.6666666666667, 0.09711318463087082, "AUTO_CLAMPED"], [0.09711318463087082, 99.99999999999997, "BEZIER", "AUTO", 300.0, 0.09711318463087082, "AUTO_CLAMPED", 338.8888994852702, 0.09711318463087082, "AUTO_CLAMPED"], [0.1717265248298645, 16.666666666666686, "QUAD", "EASE_OUT", 344.44443384806317, 0.12953773140907288, "AUTO_CLAMPED"], [3.2667922973632812, 233.33333333333337, "QUAD", "EASE_IN_OUT"], [0.23389390110969543, 233.33333333333326, "QUAD", "EASE_OUT"], [0.3322022557258606, 50.000000000000114, "QUAD", "EASE_IN_OUT"], [0.09610268473625183, 83.33333333333326, "QUAD", "EASE_IN"], [0.0961027443408966, 133.33333333333326, "BEZIER", "AUTO", 1127.7777353922527, 0.0961027443408966, "AUTO_CLAMPED"]], "z": [[-2.9000000953674316, 0.0, "BEZIER", "AUTO", 77.77776718139648, -2.9000000953674316, "AUTO_CLAMPED"], [-2.731125831604004, 233.33333333333334, "BEZIER", "AUTO", 155.55556615193686, -2.9000000953674316, "AUTO_CLAMPED", 266.6666666666667, -2.6587512493133545, "AUTO_CLAMPED"], [-1.736064076423645, 99.99999999999997, "BEZIER", "AUTO", 300.0, -1.9049280881881714, "AUTO_CLAMPED", 338.8888994852702, -1.7079200744628906, "AUTO_CLAMPED"], [-1.696025013923645, 16.666666666666686, "QUAD", "EASE_OUT", 344.44443384806317, -1.696025013923645, "AUTO_CLAMPED"], [-2.1708288192749023, 233.33333333333337, "QUAD", "EASE_IN_OUT"], [-1.8607081174850464, 233.33333333333326, "QUAD", "EASE_OUT"], [-1.8212902545928955, 50.000000000000114, "QUAD", "EASE_IN_OUT"], [-1.7331995964050293, 83.33333333333326, "QUAD", "EASE_IN"], [-2.7515883445739746, 133.33333333333326, "BEZIER", "AUTO", 1127.7777353922527, -2.7515883445739746, "AUTO_CLAMPED"]], "y": [[1.600000023841858, 0.0, "BEZIER", "AUTO", 77.77776718139648, 1.600000023841858, "AUTO_CLAMPED"], [1.6872104406356812, 233.33333333333334, "BEZIER", "AUTO", 155.55556615193686, 1.6872104406356812, "AUTO_CLAMPED", 266.6666666666667, 1.6872104406356812, "AUTO_CLAMPED"], [1.6872104406356812, 99.99999999999997, "BEZIER", "AUTO", 300.0, 1.6872104406356812, "AUTO_CLAMPED", 338.8888994852702, 1.6872104406356812, "AUTO_CLAMPED"], [1.6872103214263916, 16.666666666666686, "QUAD", "EASE_OUT", 344.44443384806317, 1.6872104406356812, "AUTO_CLAMPED"], [0.6765189170837402, 233.33333333333337, "QUAD", "EASE_IN_OUT"], [1.718790054321289, 233.33333333333326, "QUAD", "EASE_OUT"], [1.718790054321289, 50.000000000000114, "QUAD", "EASE_IN_OUT"], [1.6789368391036987, 83.33333333333326, "QUAD", "EASE_IN"], [1.6789368391036987, 133.33333333333326, "BEZIER", "AUTO", 1127.7777353922527, 1.6789368391036987, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 77.77776718139648, 0.0, "AUTO_CLAMPED"], [0.0, 233.33333333333334, "BEZIER", "AUTO", 155.55556615193686, 0.0, "AUTO_CLAMPED", 266.6666666666667, 0.0, "AUTO_CLAMPED"], [0.0, 99.99999999999997, "BEZIER", "AUTO", 300.0, 0.0, "AUTO_CLAMPED", 338.8888994852702, 0.0, "AUTO_CLAMPED"], [-2.68231656683564e-06, 16.666666666666686, "QUAD", "EASE_OUT", 344.44443384806317, -2.5741321112339668e-06, "AUTO_CLAMPED"], [-5.711481934348984e-06, 466.66666666666663, "QUAD", "EASE_OUT"], [-5.711481934348984e-06, 50.000000000000114, "QUAD", "EASE_IN_OUT"], [0.0, 83.33333333333326, "QUAD", "EASE_IN"], [0.0, 133.33333333333326, "BEZIER", "AUTO", 1127.7777353922527, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 77.77776718139648, -0.0, "AUTO_CLAMPED"], [-0.0, 233.33333333333334, "BEZIER", "AUTO", 155.55556615193686, -0.0, "AUTO_CLAMPED", 266.6666666666667, -0.0, "AUTO_CLAMPED"], [-0.0, 99.99999999999997, "BEZIER", "AUTO", 300.0, -0.0, "AUTO_CLAMPED", 338.8888994852702, -0.0, "AUTO_CLAMPED"], [-1.7882108410015936e-06, 16.666666666666686, "QUAD", "EASE_OUT", 344.44443384806317, -1.7713721194070523e-06, "AUTO_CLAMPED"], [-2.2596944349822487e-06, 466.66666666666663, "QUAD", "EASE_OUT"], [-2.2596944349822487e-06, 50.000000000000114, "QUAD", "EASE_IN_OUT"], [-0.0, 83.33333333333326, "QUAD", "EASE_IN"], [-0.0, 133.33333333333326, "BEZIER", "AUTO", 1127.7777353922527, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 77.77776718139648, 0.0, "AUTO_CLAMPED"], [0.0, 233.33333333333334, "BEZIER", "AUTO", 155.55556615193686, 0.0, "AUTO_CLAMPED", 266.6666666666667, 0.0, "AUTO_CLAMPED"], [0.0, 99.99999999999997, "BEZIER", "AUTO", 300.0, 0.0, "AUTO_CLAMPED", 338.8888994852702, 0.0, "AUTO_CLAMPED"], [-17.27483248652621, 16.666666666666686, "QUAD", "EASE_OUT", 344.44443384806317, -8.28723500583749, "AUTO_CLAMPED"], [-1069.6500258383642, 466.66666666666663, "QUAD", "EASE_OUT"], [-1069.6500258383642, 50.000000000000114, "QUAD", "EASE_IN_OUT"], [-1080.0000027329813, 83.33333333333326, "QUAD", "EASE_IN"], [-1080.0000027329813, 133.33333333333326, "BEZIER", "AUTO", 1127.7777353922527, -1080.0000027329813, "AUTO_CLAMPED"]]}}}, "Jammed": {"MainBody": {"location": {"x": [[-0.7295733690261841, 0.0, "BEZIER", "AUTO", 55.555554231007896, -0.7295733690261841, "AUTO_CLAMPED"], [-0.1906633973121643, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, -0.3445723056793213, "AUTO_CLAMPED", 200.0, -0.09831805527210236, "AUTO_CLAMPED"], [-0.04989950358867645, 100.00000000000003, "BEZIER", "AUTO", 233.33333333333334, -0.08916591107845306, "AUTO_CLAMPED", 333.3333333333333, 0.028633318841457367, "AUTO_CLAMPED"], [0.2286735624074936, 200.0, "BEZIER", "AUTO", 400.0, 0.22762319445610046, "AUTO_CLAMPED", 616.6666666666667, 0.23103690147399902, "AUTO_CLAMPED"], [0.23103690147399902, 449.99999999999994, "BEZIER", "AUTO", 766.6666666666666, 0.23103690147399902, "AUTO_CLAMPED", 927.7777989705404, 0.23103690147399902, "AUTO_CLAMPED"], [0.18799884617328644, 33.33333333333337, "BEZIER", "AUTO", 938.8888676961263, 0.18799884617328644, "AUTO_CLAMPED", 1000.0, 0.18799884617328644, "AUTO_CLAMPED"], [0.23103690147399902, 150.0, "BEZIER", "AUTO", 1050.0, 0.23103690147399902, "AUTO_CLAMPED", 1150.0, 0.23103690147399902, "AUTO_CLAMPED"], [0.03553652763366699, 150.0, "BEZIER", "AUTO", 1200.0, 0.08990925550460815, "AUTO_CLAMPED", 1261.111068725586, 0.02345369942486286, "AUTO_CLAMPED"], [0.015655018389225006, 33.33333333333326, "BEZIER", "AUTO", 1272.2222646077475, 0.015655018389225006, "AUTO_CLAMPED", 1366.6666666666667, 0.015655018389225006, "AUTO_CLAMPED"], [0.23103690147399902, 250.0, "BEZIER", "AUTO", 1450.0, 0.23103690147399902, "AUTO_CLAMPED", 1605.5555979410808, 0.23103690147399902, "AUTO_CLAMPED"], [0.0, 216.66666666666674, "BEZIER", "AUTO", 1677.7777353922525, 0.0, "AUTO_CLAMPED", 1822.2222646077473, 0.0, "AUTO_CLAMPED"]], "z": [[-0.29214829206466675, 0.0, "BEZIER", "AUTO", 61.111112435658775, -0.29214829206466675, "AUTO_CLAMPED"], [-0.7353980541229248, 183.33333333333331, "BEZIER", "AUTO", 122.22221692403157, -0.7353980541229248, "AUTO_CLAMPED", 216.66666666666669, -0.7353980541229248, "AUTO_CLAMPED"], [-0.6644507646560669, 100.0, "BEZIER", "AUTO", 250.0, -0.6644507646560669, "AUTO_CLAMPED", 350.0, -0.6644507646560669, "AUTO_CLAMPED"], [-1.0157172679901123, 200.0, "BEZIER", "AUTO", 416.6666666666667, -0.9963687062263489, "AUTO_CLAMPED", 633.3333333333333, -1.0592515468597412, "AUTO_CLAMPED"], [-1.0592515468597412, 450.00000000000006, "BEZIER", "AUTO", 783.3333333333334, -1.0157172679901123, "AUTO_CLAMPED", 944.4444656372069, -1.0624762773513794, "AUTO_CLAMPED"], [-1.0901333093643188, 33.33333333333326, "BEZIER", "AUTO", 955.555534362793, -1.0901333093643188, "AUTO_CLAMPED", 1016.6666666666666, -1.0901333093643188, "AUTO_CLAMPED"], [-1.0592515468597412, 150.0000000000001, "BEZIER", "AUTO", 1066.6666666666667, -1.0592515468597412, "AUTO_CLAMPED", 1166.6666666666667, -1.0592515468597412, "AUTO_CLAMPED"], [-1.1155942678451538, 149.99999999999977, "BEZIER", "AUTO", 1216.6666666666665, -1.0592515468597412, "AUTO_CLAMPED", 1277.7777353922527, -1.1281148195266724, "AUTO_CLAMPED"], [-1.1526213884353638, 33.333333333333485, "BEZIER", "AUTO", 1288.888931274414, -1.1526213884353638, "AUTO_CLAMPED", 1383.3333333333333, -1.1526213884353638, "AUTO_CLAMPED"], [-1.0592515468597412, 250.0, "BEZIER", "AUTO", 1466.6666666666665, -1.1526213884353638, "AUTO_CLAMPED", 1616.6666666666667, -0.9845556616783142, "AUTO_CLAMPED"], [-0.0, 200.0, "BEZIER", "AUTO", 1683.3333333333333, -0.0, "AUTO_CLAMPED", 1816.6666666666667, -0.0, "AUTO_CLAMPED"]], "y": [[0.2915276288986206, 0.0, "BEZIER", "AUTO", 55.555554231007896, 0.2915276288986206, "AUTO_CLAMPED"], [0.22574126720428467, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 0.22574126720428467, "AUTO_CLAMPED", 200.0, 0.22574126720428467, "AUTO_CLAMPED"], [0.517949640750885, 100.00000000000003, "BEZIER", "AUTO", 233.39649836222333, 0.3859146237373352, "ALIGNED", 329.8230489095052, 0.7685902118682861, "ALIGNED"], [0.7685902118682861, 200.0, "BEZIER", "AUTO", 400.0, 0.7576487064361572, "AUTO_CLAMPED", 616.6666666666667, 0.793208658695221, "AUTO_CLAMPED"], [0.9315266609191895, 449.99999999999994, "BEZIER", "AUTO", 766.6666666666666, 0.9315266609191895, "AUTO_CLAMPED", 927.7777989705404, 0.9315266609191895, "AUTO_CLAMPED"], [0.7277153134346008, 33.33333333333337, "BEZIER", "AUTO", 938.8888676961263, 0.7277153134346008, "AUTO_CLAMPED", 1000.0, 0.7277153134346008, "AUTO_CLAMPED"], [0.9315266609191895, 150.0, "BEZIER", "AUTO", 1050.0, 0.8033905625343323, "AUTO_CLAMPED", 1150.0, 1.0596626996994019, "AUTO_CLAMPED"], [1.2402596473693848, 150.0, "BEZIER", "AUTO", 1200.0, 1.2402596473693848, "AUTO_CLAMPED", 1261.111068725586, 1.2402596473693848, "AUTO_CLAMPED"], [0.5438048839569092, 33.33333333333326, "BEZIER", "AUTO", 1272.2222646077475, 0.5438048839569092, "AUTO_CLAMPED", 1366.6666666666667, 0.5438048839569092, "AUTO_CLAMPED"], [0.9315266609191895, 250.0, "BEZIER", "AUTO", 1450.0, 0.9315266609191895, "AUTO_CLAMPED", 1605.5555979410808, 0.9315266609191895, "AUTO_CLAMPED"], [0.0, 216.66666666666674, "BEZIER", "AUTO", 1677.7777353922525, 0.0, "AUTO_CLAMPED", 1822.2222646077473, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[2.2122143889063857, 0.0, "BEZIER", "AUTO", 116.66666666666667, 2.2122143889063857, "AUTO_CLAMPED"], [-11.605778036736565, 350.0, "BEZIER", "AUTO", 233.33333333333334, -11.605778036736565, "AUTO_CLAMPED", 416.6666666666667, -11.605778036736565, "AUTO_CLAMPED"], [13.54058109085171, 200.0, "BEZIER", "AUTO", 483.3333333333333, 12.773715625373004, "AUTO_CLAMPED", 672.2222010294596, 14.946501253191611, "AUTO_CLAMPED"], [14.946501253191611, 366.66666666666663, "BEZIER", "AUTO", 794.444465637207, 14.946501253191611, "AUTO_CLAMPED", 938.8888676961263, 14.946501253191611, "AUTO_CLAMPED"], [8.062115385888454, 66.66666666666663, "BEZIER", "AUTO", 961.1111323038737, 8.062115385888454, "AUTO_CLAMPED", 1022.2222010294597, 8.062115385888454, "AUTO_CLAMPED"], [14.946501253191611, 116.66666666666674, "BEZIER", "AUTO", 1061.1111323038738, 14.946501253191611, "AUTO_CLAMPED", 1150.0, 14.946501253191611, "AUTO_CLAMPED"], [11.862608517454676, 150.0, "BEZIER", "AUTO", 1200.0, 14.946501253191611, "AUTO_CLAMPED", 1272.2222646077475, 10.491989334066341, "AUTO_CLAMPED"], [6.561224004460465, 66.66666666666674, "BEZIER", "AUTO", 1294.4444020589192, 6.561224004460465, "AUTO_CLAMPED", 1355.5555979410808, 6.561224004460465, "AUTO_CLAMPED"], [14.946501253191611, 116.66666666666652, "BEZIER", "AUTO", 1394.4444020589192, 14.946501253191611, "AUTO_CLAMPED", 1461.111068725586, 14.946501253191611, "AUTO_CLAMPED"], [14.006491346026728, 83.33333333333326, "BEZIER", "AUTO", 1488.888931274414, 14.750078673040385, "AUTO_CLAMPED", 1550.0, 13.114186041346153, "AUTO_CLAMPED"], [9.6433169853511, 100.00000000000023, "BEZIER", "AUTO", 1583.3333333333333, 11.433959505523017, "AUTO_CLAMPED", 1700.0, 5.1667102580344855, "AUTO_CLAMPED"], [0.0, 250.0, "BEZIER", "AUTO", 1783.3333333333333, 0.0, "AUTO_CLAMPED", 1950.0, 0.0, "AUTO_CLAMPED"]], "z": [[-48.21786729477217, 0.0, "BEZIER", "AUTO", 116.66666666666667, -48.21786729477217, "AUTO_CLAMPED"], [10.971158693967647, 350.0, "BEZIER", "AUTO", 233.33333333333334, -18.476973101205132, "AUTO_CLAMPED", 472.22223281860346, 41.821582967257406, "AUTO_CLAMPED"], [75.12389147332541, 366.66666666666663, "BEZIER", "AUTO", 594.444465637207, 72.35069123632766, "AUTO_CLAMPED", 783.3333333333334, 76.63654614805147, "AUTO_CLAMPED"], [76.63654614805147, 200.0, "BEZIER", "AUTO", 850.0, 75.12389147332541, "AUTO_CLAMPED", 938.8888676961263, 77.14076437296013, "AUTO_CLAMPED"], [81.97817755072997, 66.66666666666663, "BEZIER", "AUTO", 961.1111323038737, 81.97817755072997, "AUTO_CLAMPED", 1022.2222010294597, 81.97817755072997, "AUTO_CLAMPED"], [76.63654614805147, 116.66666666666674, "BEZIER", "AUTO", 1061.1111323038738, 76.63654614805147, "AUTO_CLAMPED", 1150.0, 76.63654614805147, "AUTO_CLAMPED"], [81.10338058221308, 150.0, "BEZIER", "AUTO", 1200.0, 76.63654614805147, "AUTO_CLAMPED", 1272.2222646077475, 83.08864336636898, "AUTO_CLAMPED"], [86.807483293955, 66.66666666666674, "BEZIER", "AUTO", 1294.4444020589192, 86.807483293955, "AUTO_CLAMPED", 1355.5555979410808, 86.807483293955, "AUTO_CLAMPED"], [76.63654614805147, 116.66666666666652, "BEZIER", "AUTO", 1394.4444020589192, 76.63654614805147, "AUTO_CLAMPED", 1461.111068725586, 76.63654614805147, "AUTO_CLAMPED"], [77.04931497016284, 83.33333333333326, "BEZIER", "AUTO", 1488.888931274414, 77.04931497016284, "AUTO_CLAMPED", 1550.0, 77.04931497016284, "AUTO_CLAMPED"], [73.88012768584443, 100.00000000000023, "BEZIER", "AUTO", 1583.3333333333333, 77.04931497016284, "AUTO_CLAMPED", 1733.3333333333335, 62.7879756058246, "AUTO_CLAMPED"], [-0.0, 349.9999999999998, "BEZIER", "AUTO", 1849.9999999999998, -0.0, "AUTO_CLAMPED", 2083.3333333333335, -0.0, "AUTO_CLAMPED"]], "y": [[27.10300512666912, 0.0, "BEZIER", "AUTO", 116.66666666666667, 27.10300512666912, "AUTO_CLAMPED"], [-0.509413544267828, 350.0, "BEZIER", "AUTO", 233.33333333333334, -0.509413544267828, "AUTO_CLAMPED", 450.0, -0.509413544267828, "AUTO_CLAMPED"], [23.16085216416954, 300.0, "BEZIER", "AUTO", 550.0, 17.89713102180607, "AUTO_CLAMPED", 738.8888676961262, 27.839716160735865, "AUTO_CLAMPED"], [27.839716160735865, 266.66666666666663, "BEZIER", "AUTO", 827.7777989705404, 24.69888782185135, "AUTO_CLAMPED", 938.8888676961263, 28.624923245456994, "AUTO_CLAMPED"], [29.802734726312334, 66.66666666666663, "BEZIER", "AUTO", 961.1111323038737, 29.802734726312334, "AUTO_CLAMPED", 1022.2222010294597, 29.802734726312334, "AUTO_CLAMPED"], [27.839716160735865, 116.66666666666674, "BEZIER", "AUTO", 1061.1111323038738, 27.839716160735865, "AUTO_CLAMPED", 1150.0, 27.839716160735865, "AUTO_CLAMPED"], [29.329365050790013, 150.0, "BEZIER", "AUTO", 1200.0, 28.62709866070764, "AUTO_CLAMPED", 1272.2222646077475, 29.641484205292087, "AUTO_CLAMPED"], [29.93678743405759, 66.66666666666674, "BEZIER", "AUTO", 1294.4444020589192, 29.93678743405759, "AUTO_CLAMPED", 1355.5555979410808, 29.93678743405759, "AUTO_CLAMPED"], [27.839716160735865, 116.66666666666652, "BEZIER", "AUTO", 1394.4444020589192, 29.75232110004847, "AUTO_CLAMPED", 1461.111068725586, 26.473570751253888, "AUTO_CLAMPED"], [24.22572134445684, 83.33333333333326, "BEZIER", "AUTO", 1488.888931274414, 24.22572134445684, "AUTO_CLAMPED", 1550.0, 24.22572134445684, "AUTO_CLAMPED"], [29.605232976272244, 100.00000000000023, "BEZIER", "AUTO", 1583.3333333333333, 29.605232976272244, "AUTO_CLAMPED", 1716.6666666666665, 29.605232976272244, "AUTO_CLAMPED"], [0.0, 300.0, "BEZIER", "AUTO", 1816.6666666666667, 0.0, "AUTO_CLAMPED", 2016.6666666666665, 0.0, "AUTO_CLAMPED"]]}}, "PumpGrip": {"location": {"z": [[-0.0, 0.0, "BEZIER", "AUTO", 77.77777512868245, -0.0, "AUTO_CLAMPED"], [-0.0, 233.33333333333334, "BEZIER", "AUTO", 155.55556615193686, -0.0, "AUTO_CLAMPED", 266.6666666666667, -0.0, "AUTO_CLAMPED"], [0.7575316429138184, 99.99999999999997, "BEZIER", "AUTO", 300.0, 0.7575316429138184, "AUTO_CLAMPED", 694.4444020589192, 0.7575316429138184, "AUTO_CLAMPED"], [0.7575316429138184, 1083.3333333333335, "BEZIER", "AUTO", 1055.5555979410806, 0.7575316429138184, "AUTO_CLAMPED", 1455.5555979410808, 0.7575316429138184, "AUTO_CLAMPED"], [-0.0, 116.66666666666652, "BEZIER", "AUTO", 1494.4444020589192, -0.0, "AUTO_CLAMPED", 1572.2222646077473, -0.0, "AUTO_CLAMPED"]]}}, "Shell": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 77.77777512868245, 0.0, "AUTO_CLAMPED"], [0.10088974982500076, 233.33333333333334, "BEZIER", "AUTO", 155.55556615193686, 0.0, "AUTO_CLAMPED", 266.6666666666667, 0.14412821829319, "AUTO_CLAMPED"], [0.21595029532909393, 99.99999999999997, "BEZIER", "AUTO", 300.0, 0.21595029532909393, "AUTO_CLAMPED", 527.7777989705403, 0.21595029532909393, "AUTO_CLAMPED"], [0.21595029532909393, 583.3333333333333, "BEZIER", "AUTO", 722.2222010294597, 0.21595029532909393, "AUTO_CLAMPED", 922.2222010294596, 0.21595029532909393, "AUTO_CLAMPED"], [0.17595839500427246, 16.666666666666742, "BEZIER", "AUTO", 927.7777989705404, 0.17595839500427246, "AUTO_CLAMPED", 1038.8888676961262, 0.17595839500427246, "AUTO_CLAMPED"], [0.17595839500427246, 316.66666666666663, "BEZIER", "AUTO", 1144.4444020589192, 0.17595839500427246, "AUTO_CLAMPED", 1261.111068725586, 0.17595839500427246, "AUTO_CLAMPED"], [0.09587424248456955, 33.33333333333326, "BEZIER", "AUTO", 1272.2222646077475, 0.09587424248456955, "AUTO_CLAMPED", 1338.888931274414, 0.09587424248456955, "AUTO_CLAMPED"], [0.09587424248456955, 166.66666666666674, "BEZIER", "AUTO", 1394.4444020589192, 0.09587424248456955, "AUTO_CLAMPED", 1477.7777353922525, 0.09587424248456955, "AUTO_CLAMPED"], [0.09587424248456955, 83.33333333333326, "BEZIER", "AUTO", 1505.5555979410806, 0.09587424248456955, "AUTO_CLAMPED", 1561.111068725586, 0.09587424248456955, "AUTO_CLAMPED"]], "z": [[-2.9000000953674316, 0.0, "BEZIER", "AUTO", 77.77777512868245, -2.9000000953674316, "AUTO_CLAMPED"], [-2.7272896766662598, 233.33333333333334, "BEZIER", "AUTO", 155.55556615193686, -2.9000000953674316, "AUTO_CLAMPED", 266.6666666666667, -2.653270959854126, "AUTO_CLAMPED"], [-2.0865931510925293, 99.99999999999997, "BEZIER", "AUTO", 300.0, -2.0865931510925293, "AUTO_CLAMPED", 527.7777989705403, -2.0865931510925293, "AUTO_CLAMPED"], [-2.0865931510925293, 583.3333333333333, "BEZIER", "AUTO", 722.2222010294597, -2.0865931510925293, "AUTO_CLAMPED", 922.2222010294596, -2.0865931510925293, "AUTO_CLAMPED"], [-2.091643810272217, 16.666666666666742, "BEZIER", "AUTO", 927.7777989705404, -2.091643810272217, "AUTO_CLAMPED", 1038.8888676961262, -2.091643810272217, "AUTO_CLAMPED"], [-2.091643810272217, 316.66666666666663, "BEZIER", "AUTO", 1144.4444020589192, -2.091643810272217, "AUTO_CLAMPED", 1261.111068725586, -2.091643810272217, "AUTO_CLAMPED"], [-2.091643810272217, 33.33333333333326, "BEZIER", "AUTO", 1272.2222646077475, -2.091643810272217, "AUTO_CLAMPED", 1338.888931274414, -2.091643810272217, "AUTO_CLAMPED"], [-2.091643810272217, 166.66666666666674, "BEZIER", "AUTO", 1394.4444020589192, -2.091643810272217, "AUTO_CLAMPED", 1477.7777353922525, -2.091643810272217, "AUTO_CLAMPED"], [-2.7139627933502197, 83.33333333333326, "BEZIER", "AUTO", 1505.5555979410806, -2.7139627933502197, "AUTO_CLAMPED", 1561.111068725586, -2.7139627933502197, "AUTO_CLAMPED"]], "y": [[1.600000023841858, 0.0, "BEZIER", "AUTO", 77.77777512868245, 1.600000023841858, "AUTO_CLAMPED"], [1.6788396835327148, 233.33333333333334, "BEZIER", "AUTO", 155.55556615193686, 1.620819330215454, "AUTO_CLAMPED", 266.6666666666667, 1.7037055492401123, "AUTO_CLAMPED"], [1.7354042530059814, 99.99999999999997, "BEZIER", "AUTO", 300.0, 1.7354042530059814, "AUTO_CLAMPED", 527.7777989705403, 1.7354042530059814, "AUTO_CLAMPED"], [1.7354042530059814, 583.3333333333333, "BEZIER", "AUTO", 722.2222010294597, 1.7354042530059814, "AUTO_CLAMPED", 922.2222010294596, 1.7354042530059814, "AUTO_CLAMPED"], [1.713067889213562, 16.666666666666742, "BEZIER", "AUTO", 927.7777989705404, 1.713067889213562, "AUTO_CLAMPED", 1038.8888676961262, 1.713067889213562, "AUTO_CLAMPED"], [1.713067889213562, 316.66666666666663, "BEZIER", "AUTO", 1144.4444020589192, 1.713067889213562, "AUTO_CLAMPED", 1261.111068725586, 1.713067889213562, "AUTO_CLAMPED"], [1.6614195108413696, 33.33333333333326, "BEZIER", "AUTO", 1272.2222646077475, 1.6614195108413696, "AUTO_CLAMPED", 1338.888931274414, 1.6614195108413696, "AUTO_CLAMPED"], [1.6614195108413696, 166.66666666666674, "BEZIER", "AUTO", 1394.4444020589192, 1.6614195108413696, "AUTO_CLAMPED", 1477.7777353922525, 1.6614195108413696, "AUTO_CLAMPED"], [1.6614195108413696, 83.33333333333326, "BEZIER", "AUTO", 1505.5555979410806, 1.6614195108413696, "AUTO_CLAMPED", 1561.111068725586, 1.6614195108413696, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 77.77777512868245, 0.0, "AUTO_CLAMPED"], [0.0, 233.33333333333334, "BEZIER", "AUTO", 155.55556615193686, 0.0, "AUTO_CLAMPED", 266.6666666666667, 0.0, "AUTO_CLAMPED"], [-13.527462858777055, 99.99999999999997, "BEZIER", "AUTO", 300.0, -13.527462858777055, "AUTO_CLAMPED", 527.7777989705403, -13.527462858777055, "AUTO_CLAMPED"], [-13.527462858777055, 583.3333333333333, "BEZIER", "AUTO", 722.2222010294597, -13.527462858777055, "AUTO_CLAMPED", 922.2222010294596, -13.527462858777055, "AUTO_CLAMPED"], [-7.794041560022856, 16.666666666666742, "BEZIER", "AUTO", 927.7777989705404, -7.794041560022856, "AUTO_CLAMPED", 1038.8888676961262, -7.794041560022856, "AUTO_CLAMPED"], [-7.794041560022856, 316.66666666666663, "BEZIER", "AUTO", 1144.4444020589192, -7.794041560022856, "AUTO_CLAMPED", 1261.111068725586, -7.794041560022856, "AUTO_CLAMPED"], [0.0, 33.33333333333326, "BEZIER", "AUTO", 1272.2222646077475, 0.0, "AUTO_CLAMPED", 1338.888931274414, 0.0, "AUTO_CLAMPED"], [0.0, 166.66666666666674, "BEZIER", "AUTO", 1394.4444020589192, 0.0, "AUTO_CLAMPED", 1477.7777353922525, 0.0, "AUTO_CLAMPED"], [0.0, 83.33333333333326, "BEZIER", "AUTO", 1505.5555979410806, 0.0, "AUTO_CLAMPED", 1561.111068725586, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 77.77777512868245, -0.0, "AUTO_CLAMPED"], [-0.0, 233.33333333333334, "BEZIER", "AUTO", 155.55556615193686, -0.0, "AUTO_CLAMPED", 266.6666666666667, -0.0, "AUTO_CLAMPED"], [19.831365462672814, 99.99999999999997, "BEZIER", "AUTO", 300.0, 19.831365462672814, "AUTO_CLAMPED", 527.7777989705403, 19.831365462672814, "AUTO_CLAMPED"], [19.831365462672814, 583.3333333333333, "BEZIER", "AUTO", 722.2222010294597, 19.831365462672814, "AUTO_CLAMPED", 922.2222010294596, 19.831365462672814, "AUTO_CLAMPED"], [16.99874599499054, 16.666666666666742, "BEZIER", "AUTO", 927.7777989705404, 16.99874599499054, "AUTO_CLAMPED", 1038.8888676961262, 16.99874599499054, "AUTO_CLAMPED"], [16.99874599499054, 316.66666666666663, "BEZIER", "AUTO", 1144.4444020589192, 16.99874599499054, "AUTO_CLAMPED", 1261.111068725586, 16.99874599499054, "AUTO_CLAMPED"], [-0.0, 33.33333333333326, "BEZIER", "AUTO", 1272.2222646077475, -0.0, "AUTO_CLAMPED", 1338.888931274414, -0.0, "AUTO_CLAMPED"], [-0.0, 166.66666666666674, "BEZIER", "AUTO", 1394.4444020589192, -0.0, "AUTO_CLAMPED", 1477.7777353922525, -0.0, "AUTO_CLAMPED"], [-0.0, 83.33333333333326, "BEZIER", "AUTO", 1505.5555979410806, -0.0, "AUTO_CLAMPED", 1561.111068725586, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 77.77777512868245, 0.0, "AUTO_CLAMPED"], [0.0, 233.33333333333334, "BEZIER", "AUTO", 155.55556615193686, 0.0, "AUTO_CLAMPED", 266.6666666666667, 0.0, "AUTO_CLAMPED"], [36.84236140193977, 99.99999999999997, "BEZIER", "AUTO", 300.0, 36.84236140193977, "AUTO_CLAMPED", 527.7777989705403, 36.84236140193977, "AUTO_CLAMPED"], [36.84236140193977, 583.3333333333333, "BEZIER", "AUTO", 722.2222010294597, 36.84236140193977, "AUTO_CLAMPED", 922.2222010294596, 36.84236140193977, "AUTO_CLAMPED"], [21.77011978122281, 16.666666666666742, "BEZIER", "AUTO", 927.7777989705404, 21.77011978122281, "AUTO_CLAMPED", 1038.8888676961262, 21.77011978122281, "AUTO_CLAMPED"], [21.77011978122281, 316.66666666666663, "BEZIER", "AUTO", 1144.4444020589192, 21.77011978122281, "AUTO_CLAMPED", 1261.111068725586, 21.77011978122281, "AUTO_CLAMPED"], [0.0, 33.33333333333326, "BEZIER", "AUTO", 1272.2222646077475, 0.0, "AUTO_CLAMPED", 1338.888931274414, 0.0, "AUTO_CLAMPED"], [0.0, 166.66666666666674, "BEZIER", "AUTO", 1394.4444020589192, 0.0, "AUTO_CLAMPED", 1477.7777353922525, 0.0, "AUTO_CLAMPED"], [0.0, 83.33333333333326, "BEZIER", "AUTO", 1505.5555979410806, 0.0, "AUTO_CLAMPED", 1561.111068725586, 0.0, "AUTO_CLAMPED"]]}}}, "Reload": {"MainBody": {"location": {"x": [[-0.7295733690261841, 0.0, "LINEAR", "AUTO"], [-0.7295733690261841, 83.33333333333333, "LINEAR", "AUTO"], [-0.7295733690261841, 99.99999999999999, "LINEAR", "AUTO"], [-0.5556169748306274, 133.33333333333331, "LINEAR", "AUTO"], [-0.6492857933044434, 116.66666666666674, "LINEAR", "AUTO"], [-0.7295733690261841, 100.0, "LINEAR", "AUTO"]], "z": [[-0.29214829206466675, 0.0, "LINEAR", "AUTO"], [-0.29214829206466675, 83.33333333333333, "LINEAR", "AUTO"], [-0.29214829206466675, 99.99999999999999, "LINEAR", "AUTO"], [-0.30703651905059814, 133.33333333333331, "LINEAR", "AUTO"], [-0.29901978373527527, 116.66666666666674, "LINEAR", "AUTO"], [-0.29214829206466675, 100.0, "LINEAR", "AUTO"]], "y": [[0.2915276288986206, 0.0, "LINEAR", "AUTO"], [0.2915276288986206, 83.33333333333333, "LINEAR", "AUTO"], [0.2915276288986206, 99.99999999999999, "LINEAR", "AUTO"], [0.4859994053840637, 133.33333333333331, "LINEAR", "AUTO"], [0.38128381967544556, 116.66666666666674, "LINEAR", "AUTO"], [0.2915276288986206, 100.0, "LINEAR", "AUTO"]]}, "rotation_euler": {"x": [[2.2122143889063857, 0.0, "LINEAR", "AUTO"], [1.6652197564429725, 83.33333333333333, "LINEAR", "AUTO"], [2.2122143889063857, 133.33333333333337, "LINEAR", "AUTO"], [9.618481563755287, 116.66666666666663, "LINEAR", "AUTO"], [5.616534990827301, 100.00000000000006, "LINEAR", "AUTO"], [2.2122143889063857, 100.0, "LINEAR", "AUTO"]], "z": [[-48.21786729477217, 0.0, "LINEAR", "AUTO"], [-45.59814140842461, 83.33333333333333, "LINEAR", "AUTO"], [-48.21786729477217, 133.33333333333337, "LINEAR", "AUTO"], [-53.60401787046082, 116.66666666666663, "LINEAR", "AUTO"], [-50.637738430910574, 100.00000000000006, "LINEAR", "AUTO"], [-48.21786729477217, 100.0, "LINEAR", "AUTO"]], "y": [[27.10300512666912, 0.0, "LINEAR", "AUTO"], [27.402903365198746, 83.33333333333333, "LINEAR", "AUTO"], [27.10300512666912, 133.33333333333337, "LINEAR", "AUTO"], [28.044826741511347, 116.66666666666663, "LINEAR", "AUTO"], [27.549100149288286, 100.00000000000006, "LINEAR", "AUTO"], [27.10300512666912, 100.0, "LINEAR", "AUTO"]]}}, "Shell": {"location": {"x": [[-5.960464477539063e-08, 0.0, "BEZIER", "AUTO", 44.444445768992104, -5.960464477539063e-08, "AUTO_CLAMPED"], [1.2852251529693604e-07, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, -5.960464477539063e-08, "AUTO_CLAMPED", 161.11111640930176, 2.461019903421402e-07, "AUTO_CLAMPED"], [0.0043095857836306095, 83.33333333333334, "BEZIER", "AUTO", 188.88888359069824, 0.004309445153921843, "AUTO_CLAMPED", 244.4444497426351, 0.0043097264133393764, "AUTO_CLAMPED"], [0.0043097264133393764, 83.33333333333331, "BEZIER", "AUTO", 272.2222328186035, 0.0043097264133393764, "AUTO_CLAMPED", 316.66666666666663, 0.0043097264133393764, "AUTO_CLAMPED"], [0.004309403244405985, 50.0, "BEZIER", "AUTO", 333.3333333333333, 0.004309403244405985, "AUTO_CLAMPED", 366.66666666666663, 0.004309403244405985, "AUTO_CLAMPED"]], "z": [[-1.3408751487731934, 0.0, "BEZIER", "AUTO", 44.444445768992104, -1.3408751487731934, "AUTO_CLAMPED"], [-1.88205885887146, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, -1.7226817607879639, "AUTO_CLAMPED", 161.11111640930176, -1.981669545173645, "AUTO_CLAMPED"], [-2.250572919845581, 83.33333333333334, "BEZIER", "AUTO", 188.88888359069824, -1.9943935871124268, "AUTO_CLAMPED", 244.4444497426351, -2.5067522525787354, "AUTO_CLAMPED"], [-3.008287191390991, 83.33333333333331, "BEZIER", "AUTO", 272.2222328186035, -3.0063869953155518, "AUTO_CLAMPED", 316.66666666666663, -3.009427309036255, "AUTO_CLAMPED"], [-3.009427309036255, 50.0, "BEZIER", "AUTO", 333.3333333333333, -3.009427309036255, "AUTO_CLAMPED", 366.66666666666663, -3.009427309036255, "AUTO_CLAMPED"]], "y": [[-1.0872026681900024, 0.0, "BEZIER", "AUTO", 44.444445768992104, -1.0872026681900024, "AUTO_CLAMPED"], [-0.7433216571807861, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, -1.0872026681900024, "AUTO_CLAMPED", 161.11111640930176, -0.5283960103988647, "AUTO_CLAMPED"], [0.8109492063522339, 83.33333333333334, "BEZIER", "AUTO", 188.88888359069824, 0.385259211063385, "AUTO_CLAMPED", 244.4444497426351, 1.2366392612457275, "AUTO_CLAMPED"], [1.2373285293579102, 83.33333333333331, "BEZIER", "AUTO", 272.2222328186035, 1.1743639707565308, "AUTO_CLAMPED", 316.66666666666663, 1.2751072645187378, "AUTO_CLAMPED"], [1.3579723834991455, 50.0, "BEZIER", "AUTO", 333.3333333333333, 1.3579723834991455, "AUTO_CLAMPED", 366.66666666666663, 1.3579723834991455, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, 0.0, "AUTO_CLAMPED"], [0.0, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, 0.0, "AUTO_CLAMPED", 161.11111640930176, 0.0, "AUTO_CLAMPED"], [21.14787588745631, 83.33333333333334, "BEZIER", "AUTO", 188.88888359069824, 21.14787588745631, "AUTO_CLAMPED", 244.4444497426351, 21.14787588745631, "AUTO_CLAMPED"], [0.40499606683590605, 83.33333333333331, "BEZIER", "AUTO", 272.2222328186035, 0.40499606683590605, "AUTO_CLAMPED", 316.66666666666663, 0.40499606683590605, "AUTO_CLAMPED"], [0.40499606683590605, 50.0, "BEZIER", "AUTO", 333.3333333333333, 0.40499606683590605, "AUTO_CLAMPED", 366.66666666666663, 0.40499606683590605, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, -0.0, "AUTO_CLAMPED"], [-0.0, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, -0.0, "AUTO_CLAMPED", 161.11111640930176, -0.0, "AUTO_CLAMPED"], [-0.0, 83.33333333333334, "BEZIER", "AUTO", 188.88888359069824, -0.0, "AUTO_CLAMPED", 244.4444497426351, -0.0, "AUTO_CLAMPED"], [-1.0271807443729786e-06, 83.33333333333331, "BEZIER", "AUTO", 272.2222328186035, -1.0271807443729786e-06, "AUTO_CLAMPED", 316.66666666666663, -1.0271807443729786e-06, "AUTO_CLAMPED"], [-1.0271807443729786e-06, 50.0, "BEZIER", "AUTO", 333.3333333333333, -1.0271807443729786e-06, "AUTO_CLAMPED", 366.66666666666663, -1.0271807443729786e-06, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, 0.0, "AUTO_CLAMPED"], [0.0, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, 0.0, "AUTO_CLAMPED", 161.11111640930176, 0.0, "AUTO_CLAMPED"], [-1.9209907040660864e-06, 83.33333333333334, "BEZIER", "AUTO", 188.88888359069824, -7.248212372463371e-07, "AUTO_CLAMPED", 244.4444497426351, -3.1171601708858352e-06, "AUTO_CLAMPED"], [-4.784677867278997e-06, 83.33333333333331, "BEZIER", "AUTO", 272.2222328186035, -4.784677867278997e-06, "AUTO_CLAMPED", 316.66666666666663, -4.784677867278997e-06, "AUTO_CLAMPED"], [-4.784677867278997e-06, 50.0, "BEZIER", "AUTO", 333.3333333333333, -4.784677867278997e-06, "AUTO_CLAMPED", 366.66666666666663, -4.784677867278997e-06, "AUTO_CLAMPED"]]}}}, "ReloadEmptyStart": {"MainBody": {"location": {"x": [[0.0, 0.0, "LINEAR", "AUTO"], [-0.3959049880504608, 100.0, "LINEAR", "AUTO"], [-0.8907862305641174, 50.0, "LINEAR", "AUTO"], [-0.912574291229248, 133.33333333333331, "LINEAR", "AUTO"], [-0.8907862305641174, 183.33333333333337, "LINEAR", "AUTO"], [-0.7295733690261841, 333.3333333333333, "LINEAR", "AUTO"]], "z": [[-0.0, 0.0, "LINEAR", "AUTO"], [-0.04771782457828522, 100.0, "LINEAR", "AUTO"], [-0.10736510902643204, 50.0, "LINEAR", "AUTO"], [-0.1299014389514923, 133.33333333333331, "LINEAR", "AUTO"], [-0.10736510902643204, 183.33333333333337, "LINEAR", "AUTO"], [-0.29214829206466675, 333.3333333333333, "LINEAR", "AUTO"]], "y": [[0.0, 0.0, "LINEAR", "AUTO"], [0.08693332225084305, 100.0, "LINEAR", "AUTO"], [0.1955999732017517, 50.0, "LINEAR", "AUTO"], [0.07320505380630493, 133.33333333333331, "LINEAR", "AUTO"], [0.1955999732017517, 183.33333333333337, "LINEAR", "AUTO"], [0.2915276288986206, 333.3333333333333, "LINEAR", "AUTO"]]}, "rotation_euler": {"x": [[0.0, 0.0, "LINEAR", "AUTO"], [5.215149959628216, 116.66666666666667, "LINEAR", "AUTO"], [14.341662388977594, 66.66666666666664, "LINEAR", "AUTO"], [10.053024175167023, 150.0, "LINEAR", "AUTO"], [14.341662388977594, 183.33333333333331, "LINEAR", "AUTO"], [9.347183888601442, 83.33333333333337, "LINEAR", "AUTO"], [3.4013761500584048, 133.33333333333326, "LINEAR", "AUTO"], [2.2122143889063857, 66.66666666666674, "LINEAR", "AUTO"]], "z": [[-0.0, 0.0, "LINEAR", "AUTO"], [17.232944643893813, 116.66666666666667, "LINEAR", "AUTO"], [47.39059819759481, 66.66666666666664, "LINEAR", "AUTO"], [51.027851515545024, 150.0, "LINEAR", "AUTO"], [47.39059819759481, 183.33333333333331, "LINEAR", "AUTO"], [8.022402104733061, 83.33333333333337, "LINEAR", "AUTO"], [-38.844487923156436, 133.33333333333326, "LINEAR", "AUTO"], [-48.21786729477217, 66.66666666666674, "LINEAR", "AUTO"]], "y": [[0.0, 0.0, "LINEAR", "AUTO"], [-3.394506473857253, 116.66666666666667, "LINEAR", "AUTO"], [-9.334892963190004, 66.66666666666664, "LINEAR", "AUTO"], [-8.375116488567105, 150.0, "LINEAR", "AUTO"], [-9.334892963190004, 183.33333333333331, "LINEAR", "AUTO"], [5.668946020536571, 83.33333333333337, "LINEAR", "AUTO"], [23.530662511496125, 133.33333333333326, "LINEAR", "AUTO"], [27.10300512666912, 66.66666666666674, "LINEAR", "AUTO"]]}}, "PumpGrip": {"location": {"z": [[-0.0, 0.0, "LINEAR", "AUTO"], [-0.0, 183.33333333333331, "LINEAR", "AUTO"], [1.0550689697265625, 66.66666666666669, "LINEAR", "AUTO"], [1.0550689697265625, 166.66666666666669, "LINEAR", "AUTO"], [-0.0, 99.99999999999994, "LINEAR", "AUTO"]]}}, "Shell": {"location": {"x": [[1.089231252670288, 0.0, "LINEAR", "AUTO"], [0.8341608047485352, 150.0, "LINEAR", "AUTO"], [0.5637267231941223, 100.0, "LINEAR", "AUTO"], [0.27297717332839966, 33.333333333333314, "LINEAR", "AUTO"], [1.1920928955078125e-07, 66.66666666666669, "LINEAR", "AUTO"]], "z": [[-1.6620994806289673, 0.0, "LINEAR", "AUTO"], [-1.8606443405151367, 150.0, "LINEAR", "AUTO"], [-1.7523975372314453, 100.0, "LINEAR", "AUTO"], [-2.0263478755950928, 33.333333333333314, "LINEAR", "AUTO"], [-2.9000000953674316, 66.66666666666669, "LINEAR", "AUTO"]], "y": [[-0.7190526723861694, 0.0, "LINEAR", "AUTO"], [-1.443679928779602, 150.0, "LINEAR", "AUTO"], [1.7873222827911377, 100.0, "LINEAR", "AUTO"], [1.7349900007247925, 33.333333333333314, "LINEAR", "AUTO"], [1.5999999046325684, 66.66666666666669, "LINEAR", "AUTO"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 50.0, 0.0, "AUTO_CLAMPED"], [0.0, 150.0, "BEZIER", "AUTO", 100.0, 0.0, "AUTO_CLAMPED", 183.33333333333331, 0.0, "AUTO_CLAMPED"], [-4.686586806083493, 100.0, "BEZIER", "AUTO", 216.66666666666669, -4.686586806083493, "AUTO_CLAMPED", 261.11111640930176, -4.686586806083493, "AUTO_CLAMPED"], [-4.686586806083493, 33.333333333333314, "BEZIER", "AUTO", 272.2222328186035, -4.686586806083493, "AUTO_CLAMPED", 305.55556615193683, -4.686586806083493, "AUTO_CLAMPED"], [0.0, 66.66666666666669, "BEZIER", "AUTO", 327.7777671813965, 0.0, "AUTO_CLAMPED", 372.2222328186035, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 50.0, -0.0, "AUTO_CLAMPED"], [-0.0, 150.0, "BEZIER", "AUTO", 100.0, -0.0, "AUTO_CLAMPED", 183.33333333333331, -0.0, "AUTO_CLAMPED"], [-0.5807879005165506, 100.0, "BEZIER", "AUTO", 216.66666666666669, -0.5807879005165506, "AUTO_CLAMPED", 261.11111640930176, -0.5807879005165506, "AUTO_CLAMPED"], [-0.5807879005165506, 33.333333333333314, "BEZIER", "AUTO", 272.2222328186035, -0.5807879005165506, "AUTO_CLAMPED", 305.55556615193683, -0.5807879005165506, "AUTO_CLAMPED"], [-0.0, 66.66666666666669, "BEZIER", "AUTO", 327.7777671813965, -0.0, "AUTO_CLAMPED", 372.2222328186035, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 50.0, 0.0, "AUTO_CLAMPED"], [0.0, 150.0, "BEZIER", "AUTO", 100.0, 0.0, "AUTO_CLAMPED", 183.33333333333331, 0.0, "AUTO_CLAMPED"], [15.393064143768921, 100.0, "BEZIER", "AUTO", 216.66666666666669, 15.393064143768921, "AUTO_CLAMPED", 261.11111640930176, 15.393064143768921, "AUTO_CLAMPED"], [15.393064143768921, 33.333333333333314, "BEZIER", "AUTO", 272.2222328186035, 15.393064143768921, "AUTO_CLAMPED", 305.55556615193683, 15.393064143768921, "AUTO_CLAMPED"], [0.0, 66.66666666666669, "BEZIER", "AUTO", 327.7777671813965, 0.0, "AUTO_CLAMPED", 372.2222328186035, 0.0, "AUTO_CLAMPED"]]}}}, "ReloadEnd": {"MainBody": {"location": {"x": [[-0.7295733690261841, 0.0, "LINEAR", "AUTO"], [-0.5471799969673157, 166.66666666666666, "LINEAR", "AUTO"], [-0.15633714199066162, 100.00000000000003, "LINEAR", "AUTO"], [0.0, 150.0, "LINEAR", "AUTO"]], "z": [[-0.29214829206466675, 0.0, "LINEAR", "AUTO"], [-0.21911121904850006, 166.66666666666666, "LINEAR", "AUTO"], [-0.06260320544242859, 100.00000000000003, "LINEAR", "AUTO"], [-0.0, 150.0, "LINEAR", "AUTO"]], "y": [[0.2915276288986206, 0.0, "LINEAR", "AUTO"], [0.21864572167396545, 166.66666666666666, "LINEAR", "AUTO"], [0.0624702125787735, 100.00000000000003, "LINEAR", "AUTO"], [0.0, 150.0, "LINEAR", "AUTO"]]}, "rotation_euler": {"x": [[2.2122143889063857, 0.0, "LINEAR", "AUTO"], [1.6591607383189364, 166.66666666666666, "LINEAR", "AUTO"], [0.47404597097185575, 100.00000000000003, "LINEAR", "AUTO"], [0.0, 150.0, "LINEAR", "AUTO"]], "z": [[-48.21786729477217, 0.0, "LINEAR", "AUTO"], [-36.16339961730548, 166.66666666666666, "LINEAR", "AUTO"], [-10.332401110335347, 100.00000000000003, "LINEAR", "AUTO"], [-0.0, 150.0, "LINEAR", "AUTO"]], "y": [[27.10300512666912, 0.0, "LINEAR", "AUTO"], [20.327254271888663, 166.66666666666666, "LINEAR", "AUTO"], [5.807786690890005, 100.00000000000003, "LINEAR", "AUTO"], [0.0, 150.0, "LINEAR", "AUTO"]]}}}, "ReloadStart": {"MainBody": {"location": {"x": [[0.0, 0.0, "LINEAR", "AUTO"], [-0.7295733690261841, 166.66666666666666, "LINEAR", "AUTO"], [-0.7152981162071228, 50.00000000000003, "LINEAR", "AUTO"], [-0.7095879912376404, 66.66666666666663, "LINEAR", "AUTO"], [-0.7295733690261841, 116.66666666666669, "LINEAR", "AUTO"]], "z": [[-0.0, 0.0, "LINEAR", "AUTO"], [-0.29214829206466675, 166.66666666666666, "LINEAR", "AUTO"], [-0.28362342715263367, 50.00000000000003, "LINEAR", "AUTO"], [-0.28021347522735596, 66.66666666666663, "LINEAR", "AUTO"], [-0.29214829206466675, 116.66666666666669, "LINEAR", "AUTO"]], "y": [[0.0, 0.0, "LINEAR", "AUTO"], [0.2915276288986206, 166.66666666666666, "LINEAR", "AUTO"], [0.4171614646911621, 50.00000000000003, "LINEAR", "AUTO"], [0.4674150049686432, 66.66666666666663, "LINEAR", "AUTO"], [0.2915276288986206, 116.66666666666669, "LINEAR", "AUTO"]]}, "rotation_euler": {"x": [[0.0, 0.0, "LINEAR", "AUTO"], [2.2122143889063857, 166.66666666666666, "LINEAR", "AUTO"], [5.485797059263618, 50.00000000000003, "LINEAR", "AUTO"], [6.795230554293333, 66.66666666666663, "LINEAR", "AUTO"], [2.2122143889063857, 116.66666666666669, "LINEAR", "AUTO"]], "z": [[-0.0, 0.0, "LINEAR", "AUTO"], [-48.21786729477217, 166.66666666666666, "LINEAR", "AUTO"], [-50.902555110315724, 50.00000000000003, "LINEAR", "AUTO"], [-51.976428187476394, 66.66666666666663, "LINEAR", "AUTO"], [-48.21786729477217, 116.66666666666669, "LINEAR", "AUTO"]], "y": [[0.0, 0.0, "LINEAR", "AUTO"], [27.10300512666912, 166.66666666666666, "LINEAR", "AUTO"], [26.843731145775436, 50.00000000000003, "LINEAR", "AUTO"], [26.74002155341796, 66.66666666666663, "LINEAR", "AUTO"], [27.10300512666912, 116.66666666666669, "LINEAR", "AUTO"]]}}, "Shell": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, 0.0, "AUTO_CLAMPED"], [1.8812716007232666e-07, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, 1.5194885349956166e-07, "AUTO_CLAMPED", 161.11111640930176, 2.1073859102216375e-07, "AUTO_CLAMPED"], [2.384185791015625e-07, 83.33333333333334, "BEZIER", "AUTO", 188.88888359069824, 1.8812716007232666e-07, "AUTO_CLAMPED", 244.4444497426351, 2.8870999813079834e-07, "AUTO_CLAMPED"], [0.004309164825826883, 83.33333333333331, "BEZIER", "AUTO", 272.2222328186035, 0.004308667965233326, "AUTO_CLAMPED", 316.66666666666663, 0.00430946284905076, "AUTO_CLAMPED"], [0.00430946284905076, 50.0, "BEZIER", "AUTO", 333.3333333333333, 0.00430946284905076, "AUTO_CLAMPED", 366.66666666666663, 0.00430946284905076, "AUTO_CLAMPED"]], "z": [[-2.9000000953674316, 0.0, "BEZIER", "AUTO", 44.444445768992104, -2.9000000953674316, "AUTO_CLAMPED"], [-2.0142228603363037, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, -2.0142228603363037, "AUTO_CLAMPED", 161.11111640930176, -2.0142228603363037, "AUTO_CLAMPED"], [-2.2258617877960205, 83.33333333333334, "BEZIER", "AUTO", 188.88888359069824, -2.0142228603363037, "AUTO_CLAMPED", 244.4444497426351, -2.4375007152557373, "AUTO_CLAMPED"], [-3.127822160720825, 83.33333333333331, "BEZIER", "AUTO", 272.2222328186035, -3.127822160720825, "AUTO_CLAMPED", 316.66666666666663, -3.127822160720825, "AUTO_CLAMPED"], [-3.009427070617676, 50.0, "BEZIER", "AUTO", 333.3333333333333, -3.009427070617676, "AUTO_CLAMPED", 366.66666666666663, -3.009427070617676, "AUTO_CLAMPED"]], "y": [[-1.2060743570327759, 0.0, "BEZIER", "AUTO", 44.444445768992104, -1.2060743570327759, "AUTO_CLAMPED"], [-0.690565824508667, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, -1.2060743570327759, "AUTO_CLAMPED", 161.11111640930176, -0.36837297677993774, "AUTO_CLAMPED"], [0.8053045272827148, 83.33333333333334, "BEZIER", "AUTO", 188.88888359069824, 0.4213707149028778, "AUTO_CLAMPED", 244.4444497426351, 1.1892383098602295, "AUTO_CLAMPED"], [1.2387430667877197, 83.33333333333331, "BEZIER", "AUTO", 272.2222328186035, 1.1673623323440552, "AUTO_CLAMPED", 316.66666666666663, 1.2815715074539185, "AUTO_CLAMPED"], [1.3579723834991455, 50.0, "BEZIER", "AUTO", 333.3333333333333, 1.3579723834991455, "AUTO_CLAMPED", 366.66666666666663, 1.3579723834991455, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, 0.0, "AUTO_CLAMPED"], [0.0, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, 0.0, "AUTO_CLAMPED", 161.11111640930176, 0.0, "AUTO_CLAMPED"], [21.14787588745631, 83.33333333333334, "BEZIER", "AUTO", 188.88888359069824, 21.14787588745631, "AUTO_CLAMPED", 244.4444497426351, 21.14787588745631, "AUTO_CLAMPED"], [0.40499606683590605, 83.33333333333331, "BEZIER", "AUTO", 272.2222328186035, 0.40499606683590605, "AUTO_CLAMPED", 316.66666666666663, 0.40499606683590605, "AUTO_CLAMPED"], [0.40499606683590605, 50.0, "BEZIER", "AUTO", 333.3333333333333, 0.40499606683590605, "AUTO_CLAMPED", 366.66666666666663, 0.40499606683590605, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, -0.0, "AUTO_CLAMPED"], [-0.0, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, -0.0, "AUTO_CLAMPED", 161.11111640930176, -0.0, "AUTO_CLAMPED"], [-0.0, 83.33333333333334, "BEZIER", "AUTO", 188.88888359069824, -0.0, "AUTO_CLAMPED", 244.4444497426351, -0.0, "AUTO_CLAMPED"], [-1.0271807443729786e-06, 83.33333333333331, "BEZIER", "AUTO", 272.2222328186035, -1.0271807443729786e-06, "AUTO_CLAMPED", 316.66666666666663, -1.0271807443729786e-06, "AUTO_CLAMPED"], [-1.0271807443729786e-06, 50.0, "BEZIER", "AUTO", 333.3333333333333, -1.0271807443729786e-06, "AUTO_CLAMPED", 366.66666666666663, -1.0271807443729786e-06, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, 0.0, "AUTO_CLAMPED"], [0.0, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, 0.0, "AUTO_CLAMPED", 161.11111640930176, 0.0, "AUTO_CLAMPED"], [-1.9209907040660864e-06, 83.33333333333334, "BEZIER", "AUTO", 188.88888359069824, -7.248212372463371e-07, "AUTO_CLAMPED", 244.4444497426351, -3.1171601708858352e-06, "AUTO_CLAMPED"], [-4.784677867278997e-06, 83.33333333333331, "BEZIER", "AUTO", 272.2222328186035, -4.784677867278997e-06, "AUTO_CLAMPED", 316.66666666666663, -4.784677867278997e-06, "AUTO_CLAMPED"], [-4.784677867278997e-06, 50.0, "BEZIER", "AUTO", 333.3333333333333, -4.784677867278997e-06, "AUTO_CLAMPED", 366.66666666666663, -4.784677867278997e-06, "AUTO_CLAMPED"]]}}}}, "offset": {"PumpGrip": [-3.073364496231079e-08, 2.8870999813079834e-08, -0.0], "Shell": [0.0, 1.600000023841858, -2.9000000953674316], "ShellFore": [0.0, 1.600260615348816, -2.8731613159179688]}, "hierarchy": {"PumpGrip": "MainBody", "Shell": "MainBody", "ShellFore": "Shell"}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/animations/stg77.json b/src/main/resources/assets/hbm/models/weapons/animations/stg77.json new file mode 100644 index 000000000..4681ba0f0 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/animations/stg77.json @@ -0,0 +1 @@ +{"anim": {"Fire": {"Gun": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 5.555555721124013, 0.0, "AUTO_CLAMPED"], [7.314687019273744e-18, 16.666666666666668, "BEZIER", "AUTO", 11.11111044883728, 1.8286713412281298e-18, "AUTO_CLAMPED", 27.77777910232544, 1.8286718375364973e-17, "AUTO_CLAMPED"], [4.3888125424364915e-17, 33.33333333333333, "BEZIER", "AUTO", 38.888887564341225, 4.3888125424364915e-17, "AUTO_CLAMPED", 105.5555502573649, 4.3888125424364915e-17, "AUTO_CLAMPED"], [0.0, 166.66666666666669, "BEZIER", "AUTO", 161.11111640930176, 0.0, "AUTO_CLAMPED", 272.2222328186035, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 5.555555721124013, -0.0, "AUTO_CLAMPED"], [-0.3074626326560974, 16.666666666666668, "BEZIER", "AUTO", 11.11111044883728, -0.2629571557044983, "AUTO_CLAMPED", 27.77777910232544, -0.39647355675697327, "AUTO_CLAMPED"], [-0.39647355675697327, 33.33333333333333, "BEZIER", "AUTO", 38.888887564341225, -0.39647355675697327, "AUTO_CLAMPED", 105.5555502573649, -0.39647355675697327, "AUTO_CLAMPED"], [-0.0, 166.66666666666669, "BEZIER", "AUTO", 161.11111640930176, -0.0, "AUTO_CLAMPED", 272.2222328186035, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 5.555555721124013, 0.0, "AUTO_CLAMPED"], [0.03294242173433304, 16.666666666666668, "BEZIER", "AUTO", 11.11111044883728, 0.00823560357093811, "AUTO_CLAMPED", 27.77777910232544, 0.0823560580611229, "AUTO_CLAMPED"], [0.19765454530715942, 33.33333333333333, "BEZIER", "AUTO", 38.888887564341225, 0.19765454530715942, "AUTO_CLAMPED", 105.5555502573649, 0.19765454530715942, "AUTO_CLAMPED"], [0.0, 166.66666666666669, "BEZIER", "AUTO", 161.11111640930176, 0.0, "AUTO_CLAMPED", 272.2222328186035, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 5.555555721124013, 0.0, "AUTO_CLAMPED"], [1.0804245092351814, 16.666666666666668, "BEZIER", "AUTO", 11.11111044883728, 1.0804245092351814, "AUTO_CLAMPED", 44.44444179534912, 1.0804245092351814, "AUTO_CLAMPED"], [-1.8890702418668548, 83.33333333333333, "BEZIER", "AUTO", 72.22222487131755, -1.8890702418668548, "AUTO_CLAMPED", 138.88888359069824, -1.8890702418668548, "AUTO_CLAMPED"], [-6.830189170012751e-06, 116.66666666666669, "BEZIER", "AUTO", 177.77778307596842, -6.830189170012751e-06, "AUTO_CLAMPED", 255.55555025736493, -6.830189170012751e-06, "AUTO_CLAMPED"]], "z": [[0.0, 0.0, "BEZIER", "AUTO", 5.555555721124013, 0.0, "AUTO_CLAMPED"], [-6.286747389742679e-16, 16.666666666666668, "BEZIER", "AUTO", 11.11111044883728, -6.286747389742679e-16, "AUTO_CLAMPED", 44.44444179534912, -6.286747389742679e-16, "AUTO_CLAMPED"], [4.294603873921931e-18, 83.33333333333333, "BEZIER", "AUTO", 72.22222487131755, 4.294603873921931e-18, "AUTO_CLAMPED", 138.88888359069824, 4.294603873921931e-18, "AUTO_CLAMPED"], [-0.0, 116.66666666666669, "BEZIER", "AUTO", 177.77778307596842, -0.0, "AUTO_CLAMPED", 255.55555025736493, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 5.555555721124013, 0.0, "AUTO_CLAMPED"], [1.2765992093518362e-18, 16.666666666666668, "BEZIER", "AUTO", 11.11111044883728, 1.2765992093518362e-18, "AUTO_CLAMPED", 44.44444179534912, 1.2765992093518362e-18, "AUTO_CLAMPED"], [-3.3053638735980754e-16, 83.33333333333333, "BEZIER", "AUTO", 72.22222487131755, -3.3053638735980754e-16, "AUTO_CLAMPED", 138.88888359069824, -3.3053638735980754e-16, "AUTO_CLAMPED"], [0.0, 116.66666666666669, "BEZIER", "AUTO", 177.77778307596842, 0.0, "AUTO_CLAMPED", 255.55555025736493, 0.0, "AUTO_CLAMPED"]]}}, "Safety": {"location": {"x": [[-1.485612965979044e-08, 0.0, "BEZIER", "AUTO", 5.555555721124013, -1.485612965979044e-08, "AUTO_CLAMPED"], [0.25, 16.666666666666668, "BEZIER", "AUTO", 11.11111044883728, 0.25, "AUTO_CLAMPED", 677.7777989705404, 0.25, "AUTO_CLAMPED"], [0.25, 1983.3333333333333, "BEZIER", "AUTO", 1338.8888041178386, 0.25, "AUTO_CLAMPED", 2027.7777353922525, 0.25, "AUTO_CLAMPED"], [0.0, 83.33333333333348, "BEZIER", "AUTO", 2055.5555979410806, 0.0, "AUTO_CLAMPED", 2111.111068725586, 0.0, "AUTO_CLAMPED"]]}}}, "FireDry": {"Gun": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, 0.0, "AUTO_CLAMPED"], [0.0, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, 0.0, "AUTO_CLAMPED", 194.44444974263507, 0.0, "AUTO_CLAMPED"], [-0.1619010716676712, 183.3333333333333, "BEZIER", "AUTO", 255.55555025736493, -0.1049237996339798, "AUTO_CLAMPED", 350.0, -0.1929795891046524, "AUTO_CLAMPED"], [-0.23081070184707642, 100.00000000000006, "BEZIER", "AUTO", 383.3333333333333, -0.20979301631450653, "AUTO_CLAMPED", 461.1111005147298, -0.25883427262306213, "AUTO_CLAMPED"], [-0.2943320870399475, 133.33333333333331, "BEZIER", "AUTO", 505.5555661519369, -0.2943320870399475, "AUTO_CLAMPED", 572.2222010294596, -0.2943320870399475, "AUTO_CLAMPED"], [-0.21849314868450165, 66.66666666666674, "BEZIER", "AUTO", 594.444465637207, -0.25429102778434753, "AUTO_CLAMPED", 705.555534362793, -0.07530158758163452, "AUTO_CLAMPED"], [0.0, 266.6666666666665, "BEZIER", "AUTO", 794.444465637207, 0.0, "AUTO_CLAMPED", 972.2222010294597, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, -0.0, "AUTO_CLAMPED"], [-0.0, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, -0.0, "AUTO_CLAMPED", 194.44444974263507, -0.0, "AUTO_CLAMPED"], [0.0017719045281410217, 183.3333333333333, "BEZIER", "AUTO", 255.55555025736493, 0.0017719045281410217, "AUTO_CLAMPED", 350.0, 0.0017719045281410217, "AUTO_CLAMPED"], [-0.30075472593307495, 100.00000000000006, "BEZIER", "AUTO", 383.3333333333333, -0.23500275611877441, "AUTO_CLAMPED", 461.1111005147298, -0.38842400908470154, "AUTO_CLAMPED"], [-0.38842400908470154, 133.33333333333331, "BEZIER", "AUTO", 505.5555661519369, -0.38842400908470154, "AUTO_CLAMPED", 572.2222010294596, -0.38842400908470154, "AUTO_CLAMPED"], [-0.08043090999126434, 66.66666666666674, "BEZIER", "AUTO", 594.444465637207, -0.10053864121437073, "AUTO_CLAMPED", 705.555534362793, -0.0, "AUTO_CLAMPED"], [-0.0, 266.6666666666665, "BEZIER", "AUTO", 794.444465637207, -0.0, "AUTO_CLAMPED", 972.2222010294597, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, 0.0, "AUTO_CLAMPED"], [0.0, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, 0.0, "AUTO_CLAMPED", 194.44444974263507, 0.0, "AUTO_CLAMPED"], [0.8948926329612732, 183.3333333333333, "BEZIER", "AUTO", 255.55555025736493, 0.8948926329612732, "AUTO_CLAMPED", 350.0, 0.8948926329612732, "AUTO_CLAMPED"], [0.8227108120918274, 100.00000000000006, "BEZIER", "AUTO", 383.3333333333333, 0.8227108120918274, "AUTO_CLAMPED", 461.1111005147298, 0.8227108120918274, "AUTO_CLAMPED"], [0.9215061664581299, 133.33333333333331, "BEZIER", "AUTO", 505.5555661519369, 0.9215061664581299, "AUTO_CLAMPED", 572.2222010294596, 0.9215061664581299, "AUTO_CLAMPED"], [0.8227109313011169, 66.66666666666674, "BEZIER", "AUTO", 594.444465637207, 0.8827967643737793, "AUTO_CLAMPED", 705.555534362793, 0.5823675394058228, "AUTO_CLAMPED"], [0.0, 266.6666666666665, "BEZIER", "AUTO", 794.444465637207, 0.0, "AUTO_CLAMPED", 972.2222010294597, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, 0.0, "AUTO_CLAMPED"], [0.0, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, 0.0, "AUTO_CLAMPED", 194.44444974263507, 0.0, "AUTO_CLAMPED"], [-8.03014668547821, 183.3333333333333, "BEZIER", "AUTO", 255.55555025736493, -5.0853387993575385, "AUTO_CLAMPED", 350.0, -9.636405687684693, "AUTO_CLAMPED"], [-11.123879162488192, 100.00000000000006, "BEZIER", "AUTO", 383.3333333333333, -10.605811875263665, "AUTO_CLAMPED", 461.1111005147298, -11.8146349762718, "AUTO_CLAMPED"], [-11.8146349762718, 133.33333333333331, "BEZIER", "AUTO", 505.5555661519369, -11.8146349762718, "AUTO_CLAMPED", 572.2222010294596, -11.8146349762718, "AUTO_CLAMPED"], [-7.397934984391721, 66.66666666666674, "BEZIER", "AUTO", 594.444465637207, -9.24741873048965, "AUTO_CLAMPED", 705.555534362793, 0.0, "AUTO_CLAMPED"], [0.0, 266.6666666666665, "BEZIER", "AUTO", 794.444465637207, 0.0, "AUTO_CLAMPED", 972.2222010294597, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, -0.0, "AUTO_CLAMPED"], [-0.0, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, -0.0, "AUTO_CLAMPED", 194.44444974263507, -0.0, "AUTO_CLAMPED"], [4.904490331174411, 183.3333333333333, "BEZIER", "AUTO", 255.55555025736493, 3.6124584506025945, "AUTO_CLAMPED", 350.0, 5.60923522615185, "AUTO_CLAMPED"], [5.641247895904876, 100.00000000000006, "BEZIER", "AUTO", 383.3333333333333, 5.62360509039191, "AUTO_CLAMPED", 461.1111005147298, 5.664771494293223, "AUTO_CLAMPED"], [5.694113986967598, 133.33333333333331, "BEZIER", "AUTO", 505.5555661519369, 5.694113986967598, "AUTO_CLAMPED", 572.2222010294596, 5.694113986967598, "AUTO_CLAMPED"], [5.0084014141124, 66.66666666666674, "BEZIER", "AUTO", 594.444465637207, 5.4078961904586835, "AUTO_CLAMPED", 705.555534362793, 3.4104218818404406, "AUTO_CLAMPED"], [-0.0, 266.6666666666665, "BEZIER", "AUTO", 794.444465637207, -0.0, "AUTO_CLAMPED", 972.2222010294597, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, 0.0, "AUTO_CLAMPED"], [0.0, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, 0.0, "AUTO_CLAMPED", 194.44444974263507, 0.0, "AUTO_CLAMPED"], [-2.5315146335470806, 183.3333333333333, "BEZIER", "AUTO", 255.55555025736493, -1.7923157030751582, "AUTO_CLAMPED", 350.0, -2.934714147187862, "AUTO_CLAMPED"], [-3.140443713856877, 100.00000000000006, "BEZIER", "AUTO", 383.3333333333333, -3.0245894048248863, "AUTO_CLAMPED", 461.1111005147298, -3.2949163393429433, "AUTO_CLAMPED"], [-3.495574063666401, 133.33333333333331, "BEZIER", "AUTO", 505.5555661519369, -3.495574063666401, "AUTO_CLAMPED", 572.2222010294596, -3.495574063666401, "AUTO_CLAMPED"], [-1.197574526497065, 66.66666666666674, "BEZIER", "AUTO", 594.444465637207, -1.4969681848017575, "AUTO_CLAMPED", 705.555534362793, 0.0, "AUTO_CLAMPED"], [0.0, 266.6666666666665, "BEZIER", "AUTO", 794.444465637207, 0.0, "AUTO_CLAMPED", 972.2222010294597, 0.0, "AUTO_CLAMPED"]]}}, "Handle": {"location": {"x": [[0.375, 0.0, "BEZIER", "AUTO", 72.22222487131755, 0.375, "AUTO_CLAMPED"], [0.375, 216.66666666666669, "BEZIER", "AUTO", 144.44443384806317, 0.375, "AUTO_CLAMPED", 266.6666666666667, 0.375, "AUTO_CLAMPED"], [0.29343682527542114, 149.99999999999994, "BEZIER", "EASE_IN", 316.66666666666663, 0.29343682527542114, "AUTO_CLAMPED", 405.55556615193683, 0.29343682527542114, "AUTO_CLAMPED"], [0.29343682527542114, 116.66666666666669, "QUAD", "EASE_IN", 444.44443384806317, 0.29343682527542114, "AUTO_CLAMPED"], [0.375, 50.00000000000006, "BEZIER", "AUTO", 550.0, 0.375, "AUTO_CLAMPED"]], "z": [[2.375, 0.0, "BEZIER", "AUTO", 72.22222487131755, 2.375, "AUTO_CLAMPED"], [2.375, 216.66666666666669, "BEZIER", "AUTO", 144.44443384806317, 2.375, "AUTO_CLAMPED", 266.6666666666667, 2.375, "AUTO_CLAMPED"], [0.3861556053161621, 149.99999999999994, "BEZIER", "EASE_IN", 316.66666666666663, 0.3861556053161621, "AUTO_CLAMPED", 405.55556615193683, 0.3861556053161621, "AUTO_CLAMPED"], [0.3861556053161621, 116.66666666666669, "QUAD", "EASE_IN", 444.44443384806317, 0.3861556053161621, "AUTO_CLAMPED"], [2.375, 50.00000000000006, "BEZIER", "AUTO", 550.0, 2.375, "AUTO_CLAMPED"]], "y": [[-0.062499821186065674, 0.0, "BEZIER", "AUTO", 72.22222487131755, -0.062499821186065674, "AUTO_CLAMPED"], [-0.062499821186065674, 216.66666666666669, "BEZIER", "AUTO", 144.44443384806317, -0.062499821186065674, "AUTO_CLAMPED", 266.6666666666667, -0.062499821186065674, "AUTO_CLAMPED"], [-0.10900178551673889, 149.99999999999994, "BEZIER", "EASE_IN", 316.66666666666663, -0.10900178551673889, "AUTO_CLAMPED", 405.55556615193683, -0.10900178551673889, "AUTO_CLAMPED"], [-0.10900178551673889, 116.66666666666669, "QUAD", "EASE_IN", 444.44443384806317, -0.10900178551673889, "AUTO_CLAMPED"], [-0.062499821186065674, 50.00000000000006, "BEZIER", "AUTO", 550.0, -0.062499821186065674, "AUTO_CLAMPED"]]}}, "Safety": {"location": {"x": [[-1.485612965979044e-08, 0.0, "BEZIER", "AUTO", 5.555555721124013, -1.485612965979044e-08, "AUTO_CLAMPED"], [0.25, 16.666666666666668, "BEZIER", "AUTO", 11.11111044883728, 0.25, "AUTO_CLAMPED", 677.7777989705404, 0.25, "AUTO_CLAMPED"], [0.25, 1983.3333333333333, "BEZIER", "AUTO", 1338.8888041178386, 0.25, "AUTO_CLAMPED", 2027.7777353922525, 0.25, "AUTO_CLAMPED"], [0.0, 83.33333333333348, "BEZIER", "AUTO", 2055.5555979410806, 0.0, "AUTO_CLAMPED", 2111.111068725586, 0.0, "AUTO_CLAMPED"]]}}}, "Inspect": {"Barrel": {"location": {"x": [[-3.4825498573809455e-07, 0.0, "BEZIER", "AUTO", 194.44444974263507, -3.4825498573809455e-07, "AUTO_CLAMPED"], [-3.4825498573809455e-07, 583.3333333333334, "BEZIER", "AUTO", 388.8888676961263, -3.4825498573809455e-07, "AUTO_CLAMPED", 661.1111323038737, -3.4825498573809455e-07, "AUTO_CLAMPED"], [-3.476189931461704e-07, 233.33333333333326, "BEZIER", "AUTO", 738.8888676961262, -3.478257042388577e-07, "AUTO_CLAMPED", 961.1111323038737, -3.4723512953860336e-07, "AUTO_CLAMPED"], [-3.2426760299131274e-07, 433.33333333333337, "BEZIER", "AUTO", 1105.5555979410808, -3.476189931461704e-07, "AUTO_CLAMPED", 1277.7777353922527, -3.197769444795995e-07, "AUTO_CLAMPED"], [1.0077298879623413, 83.33333333333326, "BEZIER", "AUTO", 1305.5555979410806, 0.5834590196609497, "AUTO_CLAMPED", 1416.6666666666667, 2.2805423736572266, "AUTO_CLAMPED"], [2.2805423736572266, 250.0, "BEZIER", "AUTO", 1500.0, 2.219541549682617, "AUTO_CLAMPED", 1638.8889312744138, 2.321209669113159, "AUTO_CLAMPED"], [2.416100025177002, 166.66666666666674, "BEZIER", "AUTO", 1694.4444020589194, 2.416100025177002, "AUTO_CLAMPED", 1827.7777353922527, 2.416100025177002, "AUTO_CLAMPED"], [0.6327074766159058, 233.33333333333348, "BEZIER", "AUTO", 1905.5555979410808, 0.8426411747932434, "AUTO_CLAMPED", 2266.6666666666665, -0.13205105066299438, "AUTO_CLAMPED"], [-0.13205105066299438, 850.0, "BEZIER", "AUTO", 2550.0, -0.13205105066299438, "AUTO_CLAMPED", 2944.4445292154946, -0.13205105066299438, "AUTO_CLAMPED"], [1.7186524868011475, 333.33333333333303, "BEZIER", "AUTO", 3055.5554707845054, 0.9271268844604492, "AUTO_CLAMPED", 3222.222137451172, 2.114415168762207, "AUTO_CLAMPED"], [2.443265438079834, 166.66666666666697, "BEZIER", "AUTO", 3277.7778625488277, 2.443265438079834, "AUTO_CLAMPED", 3461.1111958821616, 2.443265438079834, "AUTO_CLAMPED"], [-3.2426760299131274e-07, 383.3333333333335, "BEZIER", "AUTO", 3588.8888041178384, -2.8295360721131146e-07, "AUTO_CLAMPED", 3788.8888041178384, -3.476189931461704e-07, "AUTO_CLAMPED"], [-3.476189931461704e-07, 216.66666666666606, "BEZIER", "AUTO", 3861.111195882161, -3.4734756582111004e-07, "AUTO_CLAMPED", 3983.3333333333335, -3.478068890672148e-07, "AUTO_CLAMPED"], [-3.4825498573809455e-07, 150.0, "BEZIER", "AUTO", 4033.333333333333, -3.4825498573809455e-07, "AUTO_CLAMPED", 4133.333333333333, -3.4825498573809455e-07, "AUTO_CLAMPED"]], "z": [[2.999999761581421, 0.0, "BEZIER", "AUTO", 194.44444974263507, 2.999999761581421, "AUTO_CLAMPED"], [2.999999761581421, 583.3333333333334, "BEZIER", "AUTO", 388.8888676961263, 2.999999761581421, "AUTO_CLAMPED", 661.1111323038737, 2.999999761581421, "AUTO_CLAMPED"], [3.153888702392578, 233.33333333333326, "BEZIER", "AUTO", 738.8888676961262, 2.999999761581421, "AUTO_CLAMPED", 961.1111323038737, 3.4396824836730957, "AUTO_CLAMPED"], [8.80422592163086, 433.33333333333337, "BEZIER", "AUTO", 1105.5555979410808, 7.72268009185791, "AUTO_CLAMPED", 1277.7777353922527, 9.012215614318848, "AUTO_CLAMPED"], [9.101808547973633, 83.33333333333326, "BEZIER", "AUTO", 1305.5555979410806, 9.101808547973633, "AUTO_CLAMPED", 1416.6666666666667, 9.101808547973633, "AUTO_CLAMPED"], [9.039411544799805, 250.0, "BEZIER", "AUTO", 1500.0, 9.101808547973633, "AUTO_CLAMPED", 1638.8889312744138, 8.99781322479248, "AUTO_CLAMPED"], [4.012010097503662, 166.66666666666674, "BEZIER", "AUTO", 1694.4444020589194, 4.076910972595215, "AUTO_CLAMPED", 1827.7777353922527, 3.9211485385894775, "AUTO_CLAMPED"], [3.9211485385894775, 233.33333333333348, "BEZIER", "AUTO", 1905.5555979410808, 3.926347017288208, "AUTO_CLAMPED", 2266.6666666666665, 3.9022114276885986, "AUTO_CLAMPED"], [3.7453043460845947, 850.0, "BEZIER", "AUTO", 2550.0, 3.7453043460845947, "AUTO_CLAMPED", 2944.4445292154946, 3.7453043460845947, "AUTO_CLAMPED"], [4.118513107299805, 333.33333333333303, "BEZIER", "AUTO", 3055.5554707845054, 3.7453043460845947, "AUTO_CLAMPED", 3222.222137451172, 4.305117607116699, "AUTO_CLAMPED"], [5.457437992095947, 166.66666666666697, "BEZIER", "AUTO", 3277.7778625488277, 4.835398197174072, "AUTO_CLAMPED", 3461.1111958821616, 6.888129711151123, "AUTO_CLAMPED"], [8.80422592163086, 383.3333333333335, "BEZIER", "AUTO", 3588.8888041178384, 8.80422592163086, "AUTO_CLAMPED", 3788.8888041178384, 8.80422592163086, "AUTO_CLAMPED"], [3.153888702392578, 216.66666666666606, "BEZIER", "AUTO", 3861.111195882161, 3.3761727809906006, "AUTO_CLAMPED", 3983.3333333333335, 2.999999761581421, "AUTO_CLAMPED"], [2.999999761581421, 150.0, "BEZIER", "AUTO", 4033.333333333333, 2.999999761581421, "AUTO_CLAMPED", 4133.333333333333, 2.999999761581421, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 194.44444974263507, 0.0, "AUTO_CLAMPED"], [0.0, 583.3333333333334, "BEZIER", "AUTO", 388.8888676961263, 0.0, "AUTO_CLAMPED", 661.1111323038737, 0.0, "AUTO_CLAMPED"], [-1.14656162342186e-09, 233.33333333333326, "BEZIER", "AUTO", 738.8888676961262, 0.0, "AUTO_CLAMPED", 961.1111323038737, -3.2758902257512545e-09, "AUTO_CLAMPED"], [-4.3244856584578883e-08, 433.33333333333337, "BEZIER", "AUTO", 1105.5555979410808, -4.3244856584578883e-08, "AUTO_CLAMPED", 1277.7777353922527, -4.3244856584578883e-08, "AUTO_CLAMPED"], [0.451265811920166, 83.33333333333326, "BEZIER", "AUTO", 1305.5555979410806, 0.451265811920166, "AUTO_CLAMPED", 1416.6666666666667, 0.451265811920166, "AUTO_CLAMPED"], [0.202208012342453, 250.0, "BEZIER", "AUTO", 1500.0, 0.202208012342453, "AUTO_CLAMPED", 1638.8889312744138, 0.202208012342453, "AUTO_CLAMPED"], [1.4557093381881714, 166.66666666666674, "BEZIER", "AUTO", 1694.4444020589194, 0.9137952327728271, "AUTO_CLAMPED", 1827.7777353922527, 2.2143890857696533, "AUTO_CLAMPED"], [2.640509605407715, 233.33333333333348, "BEZIER", "AUTO", 1905.5555979410808, 2.640509605407715, "AUTO_CLAMPED", 2266.6666666666665, 2.640509605407715, "AUTO_CLAMPED"], [2.3980705738067627, 850.0, "BEZIER", "AUTO", 2550.0, 2.5700769424438477, "AUTO_CLAMPED", 2944.4445292154946, 2.3306171894073486, "AUTO_CLAMPED"], [2.0349507331848145, 333.33333333333303, "BEZIER", "AUTO", 3055.5554707845054, 2.2475428581237793, "AUTO_CLAMPED", 3222.222137451172, 1.928654670715332, "AUTO_CLAMPED"], [1.5582460165023804, 166.66666666666697, "BEZIER", "AUTO", 3277.7778625488277, 1.789979100227356, "AUTO_CLAMPED", 3461.1111958821616, 1.0252599716186523, "AUTO_CLAMPED"], [-4.3244856584578883e-08, 383.3333333333335, "BEZIER", "AUTO", 3588.8888041178384, -4.3244856584578883e-08, "AUTO_CLAMPED", 3788.8888041178384, -4.3244856584578883e-08, "AUTO_CLAMPED"], [-1.14656162342186e-09, 216.66666666666606, "BEZIER", "AUTO", 3861.111195882161, -2.8027060672286552e-09, "AUTO_CLAMPED", 3983.3333333333335, 0.0, "AUTO_CLAMPED"], [0.0, 150.0, "BEZIER", "AUTO", 4033.333333333333, 0.0, "AUTO_CLAMPED", 4133.333333333333, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[4.2688682312579694e-07, 0.0, "BEZIER", "AUTO", 194.44444974263507, 4.2688682312579694e-07, "AUTO_CLAMPED"], [4.2688682312579694e-07, 583.3333333333334, "BEZIER", "AUTO", 388.8888676961263, 4.2688682312579694e-07, "AUTO_CLAMPED", 683.3333333333334, 4.2688682312579694e-07, "AUTO_CLAMPED"], [4.2688682312579694e-07, 299.9999999999999, "BEZIER", "AUTO", 783.3333333333334, 4.2688682312579694e-07, "AUTO_CLAMPED", 972.2222010294597, 4.2688682312579694e-07, "AUTO_CLAMPED"], [4.2688682312579694e-07, 266.66666666666674, "BEZIER", "AUTO", 1061.1111323038738, 4.2688682312579694e-07, "AUTO_CLAMPED", 1166.6666666666667, 4.2688682312579694e-07, "AUTO_CLAMPED"], [4.2688682312579694e-07, 50.0, "BEZIER", "AUTO", 1183.3333333333333, 4.2688682312579694e-07, "AUTO_CLAMPED", 1244.4444020589192, 4.2688682312579694e-07, "AUTO_CLAMPED"], [-4.966584861579466, 133.33333333333326, "BEZIER", "AUTO", 1288.888931274414, -4.966584861579466, "AUTO_CLAMPED", 1394.4444020589192, -4.966584861579466, "AUTO_CLAMPED"], [1.9358982322598737, 183.33333333333326, "BEZIER", "AUTO", 1455.5555979410808, 1.9358982322598737, "AUTO_CLAMPED", 1688.888931274414, 1.9358982322598737, "AUTO_CLAMPED"], [-6.827979603816252, 516.6666666666667, "BEZIER", "AUTO", 1861.111068725586, -5.420612722032778, "AUTO_CLAMPED", 2300.0, -9.007128406620371, "AUTO_CLAMPED"], [-9.007128406620371, 800.0000000000002, "BEZIER", "AUTO", 2566.6666666666665, -9.007128406620371, "AUTO_CLAMPED", 2922.222137451172, -9.007128406620371, "AUTO_CLAMPED"], [2.9107004827265666, 266.6666666666665, "BEZIER", "AUTO", 3011.111195882161, 2.9107004827265666, "AUTO_CLAMPED", 3244.4445292154946, 2.9107004827265666, "AUTO_CLAMPED"], [0.48410032959523186, 433.33333333333303, "BEZIER", "AUTO", 3388.888804117839, 1.3711487364924237, "AUTO_CLAMPED", 3577.777862548828, 0.21116234182352578, "AUTO_CLAMPED"], [4.2688682312579694e-07, 133.33333333333348, "BEZIER", "AUTO", 3622.2221374511714, 4.2688682312579694e-07, "AUTO_CLAMPED", 3755.5554707845054, 4.2688682312579694e-07, "AUTO_CLAMPED"], [4.2688682312579694e-07, 266.6666666666665, "BEZIER", "AUTO", 3844.4445292154946, 4.2688682312579694e-07, "AUTO_CLAMPED", 3983.3333333333335, 4.2688682312579694e-07, "AUTO_CLAMPED"], [4.2688682312579694e-07, 150.0, "BEZIER", "AUTO", 4033.333333333333, 4.2688682312579694e-07, "AUTO_CLAMPED", 4133.333333333333, 4.2688682312579694e-07, "AUTO_CLAMPED"]], "z": [[5.336085289072462e-08, 0.0, "BEZIER", "AUTO", 194.44444974263507, 5.336085289072462e-08, "AUTO_CLAMPED"], [5.336085289072462e-08, 583.3333333333334, "BEZIER", "AUTO", 388.8888676961263, 5.336085289072462e-08, "AUTO_CLAMPED", 683.3333333333334, 5.336085289072462e-08, "AUTO_CLAMPED"], [21.229704968807646, 299.9999999999999, "BEZIER", "AUTO", 783.3333333333334, 21.229704968807646, "AUTO_CLAMPED", 972.2222010294597, 21.229704968807646, "AUTO_CLAMPED"], [-0.0, 266.66666666666674, "BEZIER", "AUTO", 1061.1111323038738, -0.0, "AUTO_CLAMPED", 1166.6666666666667, -0.0, "AUTO_CLAMPED"], [-0.0, 50.0, "BEZIER", "AUTO", 1183.3333333333333, -0.0, "AUTO_CLAMPED", 1244.4444020589192, -0.0, "AUTO_CLAMPED"], [-2.0298756588237254, 133.33333333333326, "BEZIER", "AUTO", 1288.888931274414, -2.0298756588237254, "AUTO_CLAMPED", 1394.4444020589192, -2.0298756588237254, "AUTO_CLAMPED"], [-0.5952278809173096, 183.33333333333326, "BEZIER", "AUTO", 1455.5555979410808, -2.0298756588237254, "AUTO_CLAMPED", 1688.888931274414, 3.447870101512328, "AUTO_CLAMPED"], [106.08308992424222, 516.6666666666667, "BEZIER", "AUTO", 1861.111068725586, 106.08308992424222, "AUTO_CLAMPED", 2300.0, 106.08308992424222, "AUTO_CLAMPED"], [105.00005414830997, 800.0000000000002, "BEZIER", "AUTO", 2566.6666666666665, 106.08308992424222, "AUTO_CLAMPED", 2922.222137451172, 104.63904449972894, "AUTO_CLAMPED"], [64.47990225569596, 266.6666666666665, "BEZIER", "AUTO", 3011.111195882161, 81.97973483386073, "AUTO_CLAMPED", 3244.4445292154946, 36.042676023725505, "AUTO_CLAMPED"], [21.229704968807646, 433.33333333333303, "BEZIER", "AUTO", 3388.888804117839, 21.229704968807646, "AUTO_CLAMPED", 3666.6666666666665, 21.229704968807646, "AUTO_CLAMPED"], [21.229704968807646, 400.0, "BEZIER", "AUTO", 3800.0, 21.229704968807646, "AUTO_CLAMPED", 3983.3333333333335, 21.229704968807646, "AUTO_CLAMPED"], [5.336085289072462e-08, 150.0, "BEZIER", "AUTO", 4033.333333333333, 5.336085289072462e-08, "AUTO_CLAMPED", 4133.333333333333, 5.336085289072462e-08, "AUTO_CLAMPED"]], "y": [[2.3678878470259048e-07, 0.0, "BEZIER", "AUTO", 194.44444974263507, 2.3678878470259048e-07, "AUTO_CLAMPED"], [2.3678878470259048e-07, 583.3333333333334, "BEZIER", "AUTO", 388.8888676961263, 2.3678878470259048e-07, "AUTO_CLAMPED", 683.3333333333334, 2.3678878470259048e-07, "AUTO_CLAMPED"], [2.3678878470259048e-07, 299.9999999999999, "BEZIER", "AUTO", 783.3333333333334, 2.3678878470259048e-07, "AUTO_CLAMPED", 972.2222010294597, 2.3678878470259048e-07, "AUTO_CLAMPED"], [2.3678878470259048e-07, 266.66666666666674, "BEZIER", "AUTO", 1061.1111323038738, 2.3678878470259048e-07, "AUTO_CLAMPED", 1166.6666666666667, 2.3678878470259048e-07, "AUTO_CLAMPED"], [2.3678878470259048e-07, 50.0, "BEZIER", "AUTO", 1183.3333333333333, 2.3678878470259048e-07, "AUTO_CLAMPED", 1244.4444020589192, 2.3678878470259048e-07, "AUTO_CLAMPED"], [1.115360179787856, 133.33333333333326, "BEZIER", "AUTO", 1288.888931274414, 1.115360179787856, "AUTO_CLAMPED", 1394.4444020589192, 1.115360179787856, "AUTO_CLAMPED"], [-4.12851638155067, 183.33333333333326, "BEZIER", "AUTO", 1455.5555979410808, -4.12851638155067, "AUTO_CLAMPED", 1688.888931274414, -4.12851638155067, "AUTO_CLAMPED"], [9.113779249189182, 516.6666666666667, "BEZIER", "AUTO", 1861.111068725586, 9.113779249189182, "AUTO_CLAMPED", 2300.0, 9.113779249189182, "AUTO_CLAMPED"], [7.091429391613753, 800.0000000000002, "BEZIER", "AUTO", 2566.6666666666665, 9.113779249189182, "AUTO_CLAMPED", 2922.222137451172, 6.417312772421942, "AUTO_CLAMPED"], [3.5139701109787724, 266.6666666666665, "BEZIER", "AUTO", 3011.111195882161, 3.5139701109787724, "AUTO_CLAMPED", 3244.4445292154946, 3.5139701109787724, "AUTO_CLAMPED"], [5.187581608590752, 433.33333333333303, "BEZIER", "AUTO", 3388.888804117839, 5.187581608590752, "AUTO_CLAMPED", 3577.777862548828, 5.187581608590752, "AUTO_CLAMPED"], [2.3678878470259048e-07, 133.33333333333348, "BEZIER", "AUTO", 3622.2221374511714, 2.3678878470259048e-07, "AUTO_CLAMPED", 3755.5554707845054, 2.3678878470259048e-07, "AUTO_CLAMPED"], [2.3678878470259048e-07, 266.6666666666665, "BEZIER", "AUTO", 3844.4445292154946, 2.3678878470259048e-07, "AUTO_CLAMPED", 3983.3333333333335, 2.3678878470259048e-07, "AUTO_CLAMPED"], [2.3678878470259048e-07, 150.0, "BEZIER", "AUTO", 4033.333333333333, 2.3678878470259048e-07, "AUTO_CLAMPED", 4133.333333333333, 2.3678878470259048e-07, "AUTO_CLAMPED"]]}}, "Breech": {"location": {"x": [[-1.485612965979044e-08, 0.0, "BEZIER", "AUTO", 55.555554231007896, -1.485612965979044e-08, "AUTO_CLAMPED"], [-1.485612965979044e-08, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, -1.485612965979044e-08, "AUTO_CLAMPED", 194.44444974263507, -1.485612965979044e-08, "AUTO_CLAMPED"], [-1.2877069188732548e-08, 83.33333333333334, "BEZIER", "AUTO", 222.22221692403158, -1.2877069188732548e-08, "AUTO_CLAMPED", 1605.5555979410808, -1.2877069188732548e-08, "AUTO_CLAMPED"], [-1.2877069188732548e-08, 4066.666666666666, "QUAD", "EASE_IN", 2961.1109415690103, -1.2877069188732548e-08, "AUTO_CLAMPED"], [-1.2877069188732548e-08, 83.33333333333394, "BEZIER", "AUTO", 4427.777608235677, -1.2877069188732548e-08, "AUTO_CLAMPED"]], "z": [[-8.634078341174245e-08, 0.0, "BEZIER", "AUTO", 55.555554231007896, -8.634078341174245e-08, "AUTO_CLAMPED"], [-8.634078341174245e-08, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, -8.634078341174245e-08, "AUTO_CLAMPED", 194.44444974263507, -8.634078341174245e-08, "AUTO_CLAMPED"], [-1.5, 83.33333333333334, "BEZIER", "AUTO", 222.22221692403158, -1.5, "AUTO_CLAMPED", 1605.5555979410808, -1.5, "AUTO_CLAMPED"], [-1.5, 4066.666666666666, "QUAD", "EASE_IN", 2961.1109415690103, -1.5, "AUTO_CLAMPED"], [-0.0, 83.33333333333394, "BEZIER", "AUTO", 4427.777608235677, -0.0, "AUTO_CLAMPED"]], "y": [[2.3298342421984586e-11, 0.0, "BEZIER", "AUTO", 55.555554231007896, 2.3298342421984586e-11, "AUTO_CLAMPED"], [2.3298342421984586e-11, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 2.3298342421984586e-11, "AUTO_CLAMPED", 194.44444974263507, 2.3298342421984586e-11, "AUTO_CLAMPED"], [2.3298342421984586e-11, 83.33333333333334, "BEZIER", "AUTO", 222.22221692403158, 2.3298342421984586e-11, "AUTO_CLAMPED", 1605.5555979410808, 2.3298342421984586e-11, "AUTO_CLAMPED"], [2.3298342421984586e-11, 4066.666666666666, "QUAD", "EASE_IN", 2961.1109415690103, 2.3298342421984586e-11, "AUTO_CLAMPED"], [2.3298342421984586e-11, 83.33333333333394, "BEZIER", "AUTO", 4427.777608235677, 2.3298342421984586e-11, "AUTO_CLAMPED"]]}}, "Gun": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 50.0, 0.0, "AUTO_CLAMPED"], [-0.02083667740225792, 150.0, "BEZIER", "AUTO", 100.0, -0.02083667740225792, "AUTO_CLAMPED", 177.77778307596842, -0.02083667740225792, "AUTO_CLAMPED"], [0.0423724502325058, 83.33333333333334, "BEZIER", "AUTO", 205.5555502573649, 0.03780621662735939, "AUTO_CLAMPED", 272.2222328186035, 0.04876517504453659, "AUTO_CLAMPED"], [0.04876517504453659, 116.66666666666666, "BEZIER", "AUTO", 311.1111005147298, 0.04459141194820404, "AUTO_CLAMPED", 427.7777671813965, 0.05711269751191139, "AUTO_CLAMPED"], [0.15443837642669678, 233.33333333333337, "BEZIER", "AUTO", 505.5555661519369, 0.098850317299366, "AUTO_CLAMPED", 638.8888676961263, 0.1941441297531128, "AUTO_CLAMPED"], [0.27173158526420593, 166.66666666666663, "BEZIER", "AUTO", 694.444465637207, 0.2409164309501648, "AUTO_CLAMPED", 777.7777989705403, 0.2871391475200653, "AUTO_CLAMPED"], [0.29855743050575256, 83.33333333333337, "BEZIER", "AUTO", 805.555534362793, 0.29855743050575256, "AUTO_CLAMPED", 961.1111323038737, 0.29855743050575256, "AUTO_CLAMPED"], [0.2740669250488281, 383.33333333333314, "BEZIER", "AUTO", 1088.888931274414, 0.2740669250488281, "AUTO_CLAMPED", 1255.5555979410806, 0.2740669250488281, "AUTO_CLAMPED"], [0.2740669250488281, 116.66666666666674, "BEZIER", "AUTO", 1294.4444020589192, 0.2740669250488281, "AUTO_CLAMPED", 1472.2222646077473, 0.2740669250488281, "AUTO_CLAMPED"], [0.4802725315093994, 416.66666666666674, "BEZIER", "AUTO", 1611.111068725586, 0.2740669250488281, "AUTO_CLAMPED", 1827.7777353922527, 0.5957476496696472, "AUTO_CLAMPED"], [1.9431005716323853, 233.33333333333348, "BEZIER", "AUTO", 1905.5555979410808, 1.9431005716323853, "AUTO_CLAMPED", 2266.6666666666665, 1.9431005716323853, "AUTO_CLAMPED"], [1.907791018486023, 850.0, "BEZIER", "AUTO", 2550.0, 1.9431005716323853, "AUTO_CLAMPED", 3000.0, 1.8870207071304321, "AUTO_CLAMPED"], [0.3691011667251587, 500.0, "BEZIER", "AUTO", 3166.6666666666665, 1.1041052341461182, "AUTO_CLAMPED", 3388.888804117839, 0.12409980595111847, "AUTO_CLAMPED"], [-0.11557845771312714, 166.66666666666652, "BEZIER", "AUTO", 3444.4445292154946, -0.11557845771312714, "AUTO_CLAMPED", 3611.111195882161, -0.11557845771312714, "AUTO_CLAMPED"], [-0.020050223916769028, 333.3333333333335, "BEZIER", "AUTO", 3722.222137451172, -0.08285386860370636, "AUTO_CLAMPED", 3894.4445292154946, 0.014491777867078781, "AUTO_CLAMPED"], [0.05813262239098549, 183.33333333333303, "BEZIER", "AUTO", 3955.555470784505, 0.05813262239098549, "AUTO_CLAMPED", 4038.888804117838, 0.05813262239098549, "AUTO_CLAMPED"], [-0.02910347655415535, 66.66666666666652, "BEZIER", "AUTO", 4061.1111958821616, -0.020191330462694168, "AUTO_CLAMPED", 4144.444529215494, -0.0536118783056736, "AUTO_CLAMPED"], [-0.0536118783056736, 183.33333333333394, "BEZIER", "AUTO", 4205.555470784505, -0.0536118783056736, "AUTO_CLAMPED", 4311.110941569011, -0.0536118783056736, "AUTO_CLAMPED"], [-0.06167206913232803, 133.33333333333303, "BEZIER", "AUTO", 4355.555725097656, -0.0536118783056736, "AUTO_CLAMPED", 4433.333333333334, -0.06771720945835114, "AUTO_CLAMPED"], [-0.1415620893239975, 100.0, "BEZIER", "AUTO", 4466.666666666667, -0.1415620893239975, "AUTO_CLAMPED", 4550.0, -0.1415620893239975, "AUTO_CLAMPED"], [-0.08136281371116638, 150.0, "BEZIER", "AUTO", 4600.0, -0.11289574205875397, "AUTO_CLAMPED", 4711.11094156901, -0.04282256215810776, "AUTO_CLAMPED"], [0.0, 183.33333333333303, "BEZIER", "AUTO", 4772.222391764322, 0.0, "AUTO_CLAMPED", 4894.444274902344, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 50.0, -0.0, "AUTO_CLAMPED"], [0.06308488547801971, 150.0, "BEZIER", "AUTO", 100.0, 0.050379302352666855, "AUTO_CLAMPED", 177.77778307596842, 0.07014354318380356, "AUTO_CLAMPED"], [0.07014354318380356, 83.33333333333334, "BEZIER", "AUTO", 205.5555502573649, 0.07014354318380356, "AUTO_CLAMPED", 272.2222328186035, 0.07014354318380356, "AUTO_CLAMPED"], [-0.2970268726348877, 116.66666666666666, "BEZIER", "AUTO", 311.1111005147298, -0.2970268726348877, "AUTO_CLAMPED", 427.7777671813965, -0.2970268726348877, "AUTO_CLAMPED"], [0.48283126950263977, 233.33333333333337, "BEZIER", "AUTO", 505.5555661519369, 0.4784080684185028, "AUTO_CLAMPED", 638.8888676961263, 0.4859907031059265, "AUTO_CLAMPED"], [0.4859907031059265, 166.66666666666663, "BEZIER", "AUTO", 694.444465637207, 0.4859907031059265, "AUTO_CLAMPED", 777.7777989705403, 0.4859907031059265, "AUTO_CLAMPED"], [0.48505380749702454, 83.33333333333337, "BEZIER", "AUTO", 805.555534362793, 0.4859907031059265, "AUTO_CLAMPED", 961.1111323038737, 0.4807440936565399, "AUTO_CLAMPED"], [-0.9854410886764526, 383.33333333333314, "BEZIER", "AUTO", 1088.888931274414, -0.9854410886764526, "AUTO_CLAMPED", 1255.5555979410806, -0.9854410886764526, "AUTO_CLAMPED"], [-0.9854410886764526, 116.66666666666674, "BEZIER", "AUTO", 1294.4444020589192, -0.9854410886764526, "AUTO_CLAMPED", 1472.2222646077473, -0.9854410886764526, "AUTO_CLAMPED"], [-0.260303258895874, 416.66666666666674, "BEZIER", "AUTO", 1611.111068725586, -0.5004230737686157, "AUTO_CLAMPED", 1827.7777353922527, -0.12583616375923157, "AUTO_CLAMPED"], [-0.059579282999038696, 233.33333333333348, "BEZIER", "AUTO", 1905.5555979410808, -0.06816916912794113, "AUTO_CLAMPED", 2266.6666666666665, -0.02828754484653473, "AUTO_CLAMPED"], [-0.02828754484653473, 850.0, "BEZIER", "AUTO", 2550.0, -0.02828754484653473, "AUTO_CLAMPED", 3000.0, -0.02828754484653473, "AUTO_CLAMPED"], [-0.7562031745910645, 500.0, "BEZIER", "AUTO", 3166.6666666666665, -0.028287529945373535, "AUTO_CLAMPED", 3388.888804117839, -0.9988417625427246, "AUTO_CLAMPED"], [-1.45088529586792, 166.66666666666652, "BEZIER", "AUTO", 3444.4445292154946, -1.45088529586792, "AUTO_CLAMPED", 3611.111195882161, -1.45088529586792, "AUTO_CLAMPED"], [-0.34966766834259033, 333.3333333333335, "BEZIER", "AUTO", 3722.222137451172, -1.0736470222473145, "AUTO_CLAMPED", 3894.4445292154946, 0.04852098226547241, "AUTO_CLAMPED"], [0.551598072052002, 183.33333333333303, "BEZIER", "AUTO", 3955.555470784505, 0.551598072052002, "AUTO_CLAMPED", 4038.888804117838, 0.551598072052002, "AUTO_CLAMPED"], [0.21308356523513794, 66.66666666666652, "BEZIER", "AUTO", 4061.1111958821616, 0.21308356523513794, "AUTO_CLAMPED", 4144.444529215494, 0.21308356523513794, "AUTO_CLAMPED"], [0.28127816319465637, 183.33333333333394, "BEZIER", "AUTO", 4205.555470784505, 0.2418711632490158, "AUTO_CLAMPED", 4311.110941569011, 0.30993780493736267, "AUTO_CLAMPED"], [0.5588431358337402, 133.33333333333303, "BEZIER", "AUTO", 4355.555725097656, 0.3442142605781555, "AUTO_CLAMPED", 4433.333333333334, 0.7198147773742676, "AUTO_CLAMPED"], [0.9822345972061157, 100.0, "BEZIER", "AUTO", 4466.666666666667, 0.9822345972061157, "AUTO_CLAMPED", 4550.0, 0.9822345972061157, "AUTO_CLAMPED"], [0.5645393133163452, 150.0, "BEZIER", "AUTO", 4600.0, 0.7833319306373596, "AUTO_CLAMPED", 4711.11094156901, 0.2971261441707611, "AUTO_CLAMPED"], [-0.0, 183.33333333333303, "BEZIER", "AUTO", 4772.222391764322, -0.0, "AUTO_CLAMPED", 4894.444274902344, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 50.0, 0.0, "AUTO_CLAMPED"], [0.29495516419410706, 150.0, "BEZIER", "AUTO", 100.0, 0.012983113527297974, "AUTO_CLAMPED", 177.77778307596842, 0.45160630345344543, "AUTO_CLAMPED"], [0.6912786960601807, 83.33333333333334, "BEZIER", "AUTO", 205.5555502573649, 0.6912786960601807, "AUTO_CLAMPED", 272.2222328186035, 0.6912786960601807, "AUTO_CLAMPED"], [0.65456223487854, 116.66666666666666, "BEZIER", "AUTO", 311.1111005147298, 0.6773354411125183, "AUTO_CLAMPED", 427.7777671813965, 0.6090157628059387, "AUTO_CLAMPED"], [0.5281488299369812, 233.33333333333337, "BEZIER", "AUTO", 505.5555661519369, 0.5281493067741394, "AUTO_CLAMPED", 638.8888676961263, 0.5281484723091125, "AUTO_CLAMPED"], [0.5281484723091125, 166.66666666666663, "BEZIER", "AUTO", 694.444465637207, 0.5281488299369812, "AUTO_CLAMPED", 777.7777989705403, 0.5281482934951782, "AUTO_CLAMPED"], [0.4392372965812683, 83.33333333333337, "BEZIER", "AUTO", 805.555534362793, 0.4585650563240051, "AUTO_CLAMPED", 961.1111323038737, 0.35032957792282104, "AUTO_CLAMPED"], [0.35032957792282104, 383.33333333333314, "BEZIER", "AUTO", 1088.888931274414, 0.35032957792282104, "AUTO_CLAMPED", 1255.5555979410806, 0.35032957792282104, "AUTO_CLAMPED"], [0.35032957792282104, 116.66666666666674, "BEZIER", "AUTO", 1294.4444020589192, 0.35032957792282104, "AUTO_CLAMPED", 1472.2222646077473, 0.35032957792282104, "AUTO_CLAMPED"], [-0.15319062769412994, 416.66666666666674, "BEZIER", "AUTO", 1611.111068725586, -0.15319062769412994, "AUTO_CLAMPED", 1827.7777353922527, -0.15319062769412994, "AUTO_CLAMPED"], [-0.0010606944561004639, 233.33333333333348, "BEZIER", "AUTO", 1905.5555979410808, -0.03289319574832916, "AUTO_CLAMPED", 2266.6666666666665, 0.11490055918693542, "AUTO_CLAMPED"], [0.11490055918693542, 850.0, "BEZIER", "AUTO", 2550.0, 0.11490055918693542, "AUTO_CLAMPED", 3000.0, 0.11490055918693542, "AUTO_CLAMPED"], [-0.09989842027425766, 500.0, "BEZIER", "AUTO", 3166.6666666666665, -0.09989842027425766, "AUTO_CLAMPED", 3388.888804117839, -0.09989842027425766, "AUTO_CLAMPED"], [-0.08923035115003586, 166.66666666666652, "BEZIER", "AUTO", 3444.4445292154946, -0.09767797589302063, "AUTO_CLAMPED", 3611.111195882161, -0.07233510911464691, "AUTO_CLAMPED"], [0.008636273443698883, 333.3333333333335, "BEZIER", "AUTO", 3722.222137451172, -0.03053111955523491, "AUTO_CLAMPED", 3894.4445292154946, 0.030178340151906013, "AUTO_CLAMPED"], [0.06862585991621017, 183.33333333333303, "BEZIER", "AUTO", 3955.555470784505, 0.050922829657793045, "AUTO_CLAMPED", 4038.888804117838, 0.0750633254647255, "AUTO_CLAMPED"], [0.10057792067527771, 66.66666666666652, "BEZIER", "AUTO", 4061.1111958821616, 0.08109861612319946, "AUTO_CLAMPED", 4144.444529215494, 0.1541460007429123, "AUTO_CLAMPED"], [0.3093843460083008, 183.33333333333394, "BEZIER", "AUTO", 4205.555470784505, 0.3093843460083008, "AUTO_CLAMPED", 4311.110941569011, 0.3093843460083008, "AUTO_CLAMPED"], [0.26554036140441895, 133.33333333333303, "BEZIER", "AUTO", 4355.555725097656, 0.26554036140441895, "AUTO_CLAMPED", 4433.333333333334, 0.26554036140441895, "AUTO_CLAMPED"], [0.29273808002471924, 100.0, "BEZIER", "AUTO", 4466.666666666667, 0.29273808002471924, "AUTO_CLAMPED", 4550.0, 0.29273808002471924, "AUTO_CLAMPED"], [0.16825121641159058, 150.0, "BEZIER", "AUTO", 4600.0, 0.23345857858657837, "AUTO_CLAMPED", 4711.11094156901, 0.08855333179235458, "AUTO_CLAMPED"], [0.0, 183.33333333333303, "BEZIER", "AUTO", 4772.222391764322, 0.0, "AUTO_CLAMPED", 4894.444274902344, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 50.0, 0.0, "AUTO_CLAMPED"], [-2.9534568266006116, 150.0, "BEZIER", "AUTO", 100.0, -1.3133897753847399, "AUTO_CLAMPED", 177.77778307596842, -3.86460512909737, "AUTO_CLAMPED"], [-5.710508148522921, 83.33333333333334, "BEZIER", "AUTO", 205.5555502573649, -4.876580470678446, "AUTO_CLAMPED", 272.2222328186035, -6.87800732439201, "AUTO_CLAMPED"], [-7.696533779431753, 116.66666666666666, "BEZIER", "AUTO", 311.1111005147298, -7.696533779431753, "AUTO_CLAMPED", 427.7777671813965, -7.696533779431753, "AUTO_CLAMPED"], [-5.8089520919171385, 233.33333333333337, "BEZIER", "AUTO", 505.5555661519369, -6.371148377595473, "AUTO_CLAMPED", 638.8888676961263, -5.4073834993841094, "AUTO_CLAMPED"], [-4.539861962993749, 166.66666666666663, "BEZIER", "AUTO", 694.444465637207, -5.3951971612443375, "AUTO_CLAMPED", 777.7777989705403, -4.112194363868455, "AUTO_CLAMPED"], [-3.127623662228175, 83.33333333333337, "BEZIER", "AUTO", 805.555534362793, -3.473739656437163, "AUTO_CLAMPED", 961.1111323038737, -1.535489704668689, "AUTO_CLAMPED"], [-1.535489704668689, 383.33333333333314, "BEZIER", "AUTO", 1088.888931274414, -3.127623662228175, "AUTO_CLAMPED", 1255.5555979410806, -1.0509272700874235, "AUTO_CLAMPED"], [2.7294481796087613, 116.66666666666674, "BEZIER", "AUTO", 1294.4444020589192, 0.9161917568685786, "AUTO_CLAMPED", 1394.4444020589192, 5.578851129629048, "AUTO_CLAMPED"], [8.048309866028566, 183.33333333333326, "BEZIER", "AUTO", 1455.5555979410808, 8.048309866028566, "AUTO_CLAMPED", 1716.6666666666665, 8.048309866028566, "AUTO_CLAMPED"], [-1.0452921505787514, 600.0, "BEZIER", "AUTO", 1916.6666666666667, -1.0452921505787514, "AUTO_CLAMPED", 2355.555470784505, -1.0452921505787514, "AUTO_CLAMPED"], [0.4828017398792832, 716.666666666667, "BEZIER", "AUTO", 2594.4445292154946, -1.0452921505787514, "AUTO_CLAMPED", 2955.555470784505, 1.264617208790677, "AUTO_CLAMPED"], [8.048309866028566, 366.6666666666665, "BEZIER", "AUTO", 3077.777862548828, 8.048309866028566, "AUTO_CLAMPED", 3300.0, 8.048309866028566, "AUTO_CLAMPED"], [2.595919902325716, 300.0, "BEZIER", "AUTO", 3400.0, 4.856025443258115, "AUTO_CLAMPED", 3611.111195882161, 0.08469114405698466, "AUTO_CLAMPED"], [-1.5691175007170122, 333.3333333333335, "BEZIER", "AUTO", 3722.222137451172, -1.2756998310492575, "AUTO_CLAMPED", 3894.4445292154946, -1.7304971550012538, "AUTO_CLAMPED"], [-2.1712955793624857, 183.33333333333303, "BEZIER", "AUTO", 3955.555470784505, -1.5691175007170122, "AUTO_CLAMPED", 4100.0, -2.992447601807864, "AUTO_CLAMPED"], [-11.065961719647424, 250.00000000000045, "BEZIER", "AUTO", 4183.333333333334, -11.065961719647424, "AUTO_CLAMPED", 4311.110941569011, -11.065961719647424, "AUTO_CLAMPED"], [-9.540283581721457, 133.33333333333303, "BEZIER", "AUTO", 4355.555725097656, -11.065961719647424, "AUTO_CLAMPED", 4433.333333333334, -8.396025405163806, "AUTO_CLAMPED"], [-4.054896760694865, 100.0, "BEZIER", "AUTO", 4466.666666666667, -4.523611662297819, "AUTO_CLAMPED", 4550.0, -3.35182419484702, "AUTO_CLAMPED"], [-3.35182419484702, 150.0, "BEZIER", "AUTO", 4600.0, -3.9688641247962066, "AUTO_CLAMPED", 4711.11094156901, -2.597664161885008, "AUTO_CLAMPED"], [0.0, 183.33333333333303, "BEZIER", "AUTO", 4772.222391764322, 0.0, "AUTO_CLAMPED", 4894.444274902344, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 50.0, -0.0, "AUTO_CLAMPED"], [2.436934656232387, 150.0, "BEZIER", "AUTO", 100.0, -0.0, "AUTO_CLAMPED", 177.77778307596842, 3.7907874327556343, "AUTO_CLAMPED"], [8.29600667627908, 83.33333333333334, "BEZIER", "AUTO", 205.5555502573649, 7.150087909979468, "AUTO_CLAMPED", 272.2222328186035, 9.900292607589074, "AUTO_CLAMPED"], [9.900292607589074, 116.66666666666666, "BEZIER", "AUTO", 311.1111005147298, 9.900292607589074, "AUTO_CLAMPED", 427.7777671813965, 9.900292607589074, "AUTO_CLAMPED"], [9.537960463630007, 233.33333333333337, "BEZIER", "AUTO", 505.5555661519369, 9.900292607589074, "AUTO_CLAMPED", 638.8888676961263, 9.27915178937353, "AUTO_CLAMPED"], [3.2866599212968675, 166.66666666666663, "BEZIER", "AUTO", 694.444465637207, 3.3280098865321244, "AUTO_CLAMPED", 777.7777989705403, 3.265984938679239, "AUTO_CLAMPED"], [3.265984938679239, 83.33333333333337, "BEZIER", "AUTO", 805.555534362793, 3.265984938679239, "AUTO_CLAMPED", 961.1111323038737, 3.265984938679239, "AUTO_CLAMPED"], [3.2300122533114854, 383.33333333333314, "BEZIER", "AUTO", 1088.888931274414, 3.265984938679239, "AUTO_CLAMPED", 1255.5555979410806, 3.21906410040219, "AUTO_CLAMPED"], [2.471013671652754, 116.66666666666674, "BEZIER", "AUTO", 1294.4444020589192, 2.699584671566761, "AUTO_CLAMPED", 1394.4444020589192, 2.111830885231297, "AUTO_CLAMPED"], [1.7888114958658243, 183.33333333333326, "BEZIER", "AUTO", 1455.5555979410808, 2.471013671652754, "AUTO_CLAMPED", 1716.6666666666665, -0.44385013153805253, "AUTO_CLAMPED"], [-53.90040026911519, 600.0, "BEZIER", "AUTO", 1916.6666666666667, -53.75442205107909, "AUTO_CLAMPED", 2355.555470784505, -54.07476475334186, "AUTO_CLAMPED"], [-54.07476475334186, 716.666666666667, "BEZIER", "AUTO", 2594.4445292154946, -54.07476475334186, "AUTO_CLAMPED", 2955.555470784505, -54.07476475334186, "AUTO_CLAMPED"], [1.7888114958658243, 366.6666666666665, "BEZIER", "AUTO", 3077.777862548828, 1.7888114958658243, "AUTO_CLAMPED", 3300.0, 1.7888114958658243, "AUTO_CLAMPED"], [1.7386759863672265, 300.0, "BEZIER", "AUTO", 3400.0, 1.770021752180825, "AUTO_CLAMPED", 3611.111195882161, 1.7038473576854507, "AUTO_CLAMPED"], [1.1032046842210548, 333.3333333333335, "BEZIER", "AUTO", 3722.222137451172, 1.653517507960625, "AUTO_CLAMPED", 3894.4445292154946, 0.8005326418364618, "AUTO_CLAMPED"], [0.3466162255244121, 183.33333333333303, "BEZIER", "AUTO", 3955.555470784505, 0.3466162255244121, "AUTO_CLAMPED", 4100.0, 0.3466162255244121, "AUTO_CLAMPED"], [3.3507091664650157, 250.00000000000045, "BEZIER", "AUTO", 4183.333333333334, 3.275644106826106, "AUTO_CLAMPED", 4311.110941569011, 3.390743893398222, "AUTO_CLAMPED"], [3.390743893398222, 133.33333333333303, "BEZIER", "AUTO", 4355.555725097656, 3.390743893398222, "AUTO_CLAMPED", 4433.333333333334, 3.390743893398222, "AUTO_CLAMPED"], [2.507234591708155, 100.0, "BEZIER", "AUTO", 4466.666666666667, 2.9874869634797308, "AUTO_CLAMPED", 4550.0, 1.786855927329085, "AUTO_CLAMPED"], [0.49128061932106065, 150.0, "BEZIER", "AUTO", 4600.0, 0.8932375187805756, "AUTO_CLAMPED", 4711.11094156901, -0.0, "AUTO_CLAMPED"], [-0.0, 183.33333333333303, "BEZIER", "AUTO", 4772.222391764322, -0.0, "AUTO_CLAMPED", 4894.444274902344, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 50.0, 0.0, "AUTO_CLAMPED"], [-0.7983665113742158, 150.0, "BEZIER", "AUTO", 100.0, -0.6190833838106369, "AUTO_CLAMPED", 177.77778307596842, -0.8979682785544556, "AUTO_CLAMPED"], [-0.992514745253534, 83.33333333333334, "BEZIER", "AUTO", 205.5555502573649, -0.8618291606865364, "AUTO_CLAMPED", 272.2222328186035, -1.1754745956638424, "AUTO_CLAMPED"], [-1.6854107561248821, 116.66666666666666, "BEZIER", "AUTO", 311.1111005147298, -1.6854107561248821, "AUTO_CLAMPED", 427.7777671813965, -1.6854107561248821, "AUTO_CLAMPED"], [-1.1982608537869455, 233.33333333333337, "BEZIER", "AUTO", 505.5555661519369, -1.5772293108517543, "AUTO_CLAMPED", 638.8888676961263, -0.9275690377568215, "AUTO_CLAMPED"], [-0.1777374637585329, 166.66666666666663, "BEZIER", "AUTO", 694.444465637207, -0.5187205841464696, "AUTO_CLAMPED", 777.7777989705403, -0.007245896894457941, "AUTO_CLAMPED"], [0.2512206008928572, 83.33333333333337, "BEZIER", "AUTO", 805.555534362793, 0.14627936000938632, "AUTO_CLAMPED", 961.1111323038737, 0.7339503036207379, "AUTO_CLAMPED"], [0.7339503036207379, 383.33333333333314, "BEZIER", "AUTO", 1088.888931274414, 0.2512206008928572, "AUTO_CLAMPED", 1255.5555979410806, 0.8808680461936824, "AUTO_CLAMPED"], [1.674447235289954, 116.66666666666674, "BEZIER", "AUTO", 1294.4444020589192, 1.270214335372091, "AUTO_CLAMPED", 1394.4444020589192, 2.309670302748478, "AUTO_CLAMPED"], [2.9816544088153627, 183.33333333333326, "BEZIER", "AUTO", 1455.5555979410808, 2.9816544088153627, "AUTO_CLAMPED", 1716.6666666666665, 2.9816544088153627, "AUTO_CLAMPED"], [-9.653015000198872, 600.0, "BEZIER", "AUTO", 1916.6666666666667, -9.653015000198872, "AUTO_CLAMPED", 2355.555470784505, -9.653015000198872, "AUTO_CLAMPED"], [-9.131150981569462, 716.666666666667, "BEZIER", "AUTO", 2594.4445292154946, -9.653015000198872, "AUTO_CLAMPED", 2955.555470784505, -8.864151202950849, "AUTO_CLAMPED"], [2.9816544088153627, 366.6666666666665, "BEZIER", "AUTO", 3077.777862548828, 2.9816544088153627, "AUTO_CLAMPED", 3300.0, 2.9816544088153627, "AUTO_CLAMPED"], [2.453467982892049, 300.0, "BEZIER", "AUTO", 3400.0, 2.9324793946687984, "AUTO_CLAMPED", 3611.111195882161, 1.92123296233821, "AUTO_CLAMPED"], [0.15764028579621828, 333.3333333333335, "BEZIER", "AUTO", 3722.222137451172, 0.8583350386783988, "AUTO_CLAMPED", 3894.4445292154946, -0.22774182562093837, "AUTO_CLAMPED"], [-1.1207623258128072, 183.33333333333303, "BEZIER", "AUTO", 3955.555470784505, -0.5035574574673355, "AUTO_CLAMPED", 4100.0, -1.962405342655047, "AUTO_CLAMPED"], [-3.472777026651014, 250.00000000000045, "BEZIER", "AUTO", 4183.333333333334, -3.4388632164311965, "AUTO_CLAMPED", 4311.110941569011, -3.4908644347902658, "AUTO_CLAMPED"], [-3.4908644347902658, 133.33333333333303, "BEZIER", "AUTO", 4355.555725097656, -3.4908644347902658, "AUTO_CLAMPED", 4433.333333333334, -3.4908644347902658, "AUTO_CLAMPED"], [-2.2245484298869593, 100.0, "BEZIER", "AUTO", 4466.666666666667, -2.7440901841985643, "AUTO_CLAMPED", 4550.0, -1.445235798419552, "AUTO_CLAMPED"], [-0.8577322211232923, 150.0, "BEZIER", "AUTO", 4600.0, -1.1771962302215087, "AUTO_CLAMPED", 4711.11094156901, -0.4672762396481682, "AUTO_CLAMPED"], [0.0, 183.33333333333303, "BEZIER", "AUTO", 4772.222391764322, 0.0, "AUTO_CLAMPED", 4894.444274902344, 0.0, "AUTO_CLAMPED"]]}}, "Handle": {"location": {"x": [[0.375, 0.0, "BEZIER", "AUTO", 55.555554231007896, 0.375, "AUTO_CLAMPED"], [0.375, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 0.375, "AUTO_CLAMPED", 194.44444974263507, 0.375, "AUTO_CLAMPED"], [0.375, 83.33333333333334, "BEZIER", "AUTO", 222.22221692403158, 0.375, "AUTO_CLAMPED", 272.2222328186035, 0.375, "AUTO_CLAMPED"], [0.375, 66.66666666666663, "BEZIER", "AUTO", 294.4444338480631, 0.375, "AUTO_CLAMPED", 1650.0, 0.375, "AUTO_CLAMPED"], [0.375, 3999.9999999999995, "QUAD", "EASE_IN", 2983.3333333333335, 0.375, "AUTO_CLAMPED"], [0.375, 83.33333333333394, "BEZIER", "AUTO", 4427.777608235677, 0.375, "AUTO_CLAMPED"]], "z": [[2.375, 0.0, "BEZIER", "AUTO", 55.555554231007896, 2.375, "AUTO_CLAMPED"], [2.375, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 2.375, "AUTO_CLAMPED", 194.44444974263507, 2.375, "AUTO_CLAMPED"], [0.3762938976287842, 83.33333333333334, "BEZIER", "AUTO", 222.22221692403158, 0.3762938976287842, "AUTO_CLAMPED", 272.2222328186035, 0.3762938976287842, "AUTO_CLAMPED"], [0.3762938976287842, 66.66666666666663, "BEZIER", "AUTO", 294.4444338480631, 0.3762938976287842, "AUTO_CLAMPED", 1650.0, 0.3762938976287842, "AUTO_CLAMPED"], [0.3762938976287842, 3999.9999999999995, "QUAD", "EASE_IN", 2983.3333333333335, 0.3762938976287842, "AUTO_CLAMPED"], [2.375, 83.33333333333394, "BEZIER", "AUTO", 4427.777608235677, 2.375, "AUTO_CLAMPED"]], "y": [[-0.062499821186065674, 0.0, "BEZIER", "AUTO", 55.555554231007896, -0.062499821186065674, "AUTO_CLAMPED"], [-0.062499821186065674, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, -0.062499821186065674, "AUTO_CLAMPED", 194.44444974263507, -0.062499821186065674, "AUTO_CLAMPED"], [-0.062499821186065674, 83.33333333333334, "BEZIER", "AUTO", 222.22221692403158, -0.062499821186065674, "AUTO_CLAMPED", 272.2222328186035, -0.062499821186065674, "AUTO_CLAMPED"], [-0.062499821186065674, 66.66666666666663, "BEZIER", "AUTO", 294.4444338480631, -0.062499821186065674, "AUTO_CLAMPED", 1650.0, -0.062499821186065674, "AUTO_CLAMPED"], [-0.062499821186065674, 3999.9999999999995, "QUAD", "EASE_IN", 2983.3333333333335, -0.062499821186065674, "AUTO_CLAMPED"], [-0.062499821186065674, 83.33333333333394, "BEZIER", "AUTO", 4427.777608235677, -0.062499821186065674, "AUTO_CLAMPED"]]}, "rotation_euler": {"z": [[-0.0, 0.0, "BEZIER", "AUTO", 83.33333333333333, -0.0, "AUTO_CLAMPED"], [-0.0, 250.0, "BEZIER", "AUTO", 166.66666666666666, -0.0, "AUTO_CLAMPED", 272.2222328186035, -0.0, "AUTO_CLAMPED"], [-0.0, 66.66666666666663, "BEZIER", "AUTO", 294.4444338480631, -0.0, "AUTO_CLAMPED", 344.44443384806317, -0.0, "AUTO_CLAMPED"], [33.709797591950974, 83.33333333333337, "BEZIER", "AUTO", 372.2222328186035, 33.709797591950974, "AUTO_CLAMPED", 1683.3333333333333, 33.709797591950974, "AUTO_CLAMPED"], [33.709797591950974, 3850.0, "BEZIER", "AUTO", 2966.666666666667, 33.709797591950974, "AUTO_CLAMPED", 4283.333333333333, 33.709797591950974, "AUTO_CLAMPED"], [-0.0, 100.0, "BEZIER", "AUTO", 4316.666666666666, -0.0, "AUTO_CLAMPED", 4383.333333333333, -0.0, "AUTO_CLAMPED"]]}}, "Lever": {"location": {"x": [[-1.485612965979044e-08, 0.0, "BEZIER", "AUTO", 16.666666666666668, -1.485612965979044e-08, "AUTO_CLAMPED"]], "z": [[-8.634078341174245e-08, 0.0, "BEZIER", "AUTO", 16.666666666666668, -8.634078341174245e-08, "AUTO_CLAMPED"]], "y": [[2.3298342421984586e-11, 0.0, "BEZIER", "AUTO", 16.666666666666668, 2.3298342421984586e-11, "AUTO_CLAMPED"]]}, "rotation_euler": {"z": [[-0.0, 500.0, "BEZIER", "AUTO", 527.7777671813965, -0.0, "AUTO_CLAMPED"], [-9.99999970909292, 83.33333333333337, "BEZIER", "AUTO", 555.555534362793, -9.99999970909292, "AUTO_CLAMPED", 638.8888676961263, -9.99999970909292, "AUTO_CLAMPED"], [-9.99999970909292, 166.66666666666663, "BEZIER", "AUTO", 694.444465637207, -9.99999970909292, "AUTO_CLAMPED", 777.7777989705403, -9.99999970909292, "AUTO_CLAMPED"], [-0.0, 83.33333333333337, "BEZIER", "AUTO", 805.555534362793, -0.0, "AUTO_CLAMPED", 861.1111323038737, -0.0, "AUTO_CLAMPED"]]}}}, "Reload": {"Gun": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, 0.0, "AUTO_CLAMPED"], [-0.06027263402938843, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, -0.031955964863300323, "AUTO_CLAMPED", 216.66666666666669, -0.08575763553380966, "AUTO_CLAMPED"], [-0.10829480737447739, 149.99999999999997, "BEZIER", "AUTO", 266.6666666666667, -0.10829480737447739, "AUTO_CLAMPED", 377.7777671813965, -0.10829480737447739, "AUTO_CLAMPED"], [-0.044792406260967255, 183.33333333333337, "BEZIER", "AUTO", 438.88889948527014, -0.044792406260967255, "AUTO_CLAMPED", 611.1111323038737, -0.044792406260967255, "AUTO_CLAMPED"], [-0.9130013585090637, 333.33333333333337, "BEZIER", "AUTO", 722.2222010294597, -0.9130013585090637, "AUTO_CLAMPED", 955.555534362793, -0.9130013585090637, "AUTO_CLAMPED"], [-0.8715896010398865, 366.66666666666663, "BEZIER", "AUTO", 1077.7777353922527, -0.8715896010398865, "AUTO_CLAMPED", 1405.5555979410808, -0.8715896010398865, "AUTO_CLAMPED"], [-1.1114810705184937, 616.6666666666667, "BEZIER", "AUTO", 1611.111068725586, -1.1114810705184937, "AUTO_CLAMPED", 1872.2222646077473, -1.1114810705184937, "AUTO_CLAMPED"], [-1.1057782173156738, 166.66666666666674, "BEZIER", "AUTO", 1927.7777353922525, -1.1057782173156738, "AUTO_CLAMPED", 2016.6666666666665, -1.1057782173156738, "AUTO_CLAMPED"], [-1.2333530187606812, 100.0, "BEZIER", "AUTO", 2050.0, -1.2333530187606812, "AUTO_CLAMPED", 2138.888804117839, -1.2333530187606812, "AUTO_CLAMPED"], [-1.1345771551132202, 166.66666666666652, "BEZIER", "AUTO", 2194.4445292154946, -1.195904016494751, "AUTO_CLAMPED", 2311.1111958821616, -1.067117691040039, "AUTO_CLAMPED"], [-0.9707659482955933, 183.33333333333303, "BEZIER", "AUTO", 2372.222137451172, -0.9707659482955933, "AUTO_CLAMPED", 2461.1111958821616, -0.9707659482955933, "AUTO_CLAMPED"], [-0.9749962091445923, 83.33333333333348, "BEZIER", "AUTO", 2488.8888041178384, -0.9749962091445923, "AUTO_CLAMPED", 2555.5554707845054, -0.9749962091445923, "AUTO_CLAMPED"], [-0.9614148139953613, 116.66666666666697, "BEZIER", "AUTO", 2594.4445292154946, -0.9749962091445923, "AUTO_CLAMPED", 2716.666666666667, -0.9323118329048157, "AUTO_CLAMPED"], [0.0, 250.0, "BEZIER", "AUTO", 2800.0, 0.0, "AUTO_CLAMPED", 2966.666666666667, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, -0.0, "AUTO_CLAMPED"], [-0.039887718856334686, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, -0.0, "AUTO_CLAMPED", 216.66666666666669, -0.07578666508197784, "AUTO_CLAMPED"], [-0.5982881784439087, 149.99999999999997, "BEZIER", "AUTO", 266.6666666666667, -0.5982881784439087, "AUTO_CLAMPED", 377.7777671813965, -0.5982881784439087, "AUTO_CLAMPED"], [0.1292285919189453, 183.33333333333337, "BEZIER", "AUTO", 438.88889948527014, 0.1192409098148346, "AUTO_CLAMPED", 611.1111323038737, 0.1473880112171173, "AUTO_CLAMPED"], [0.1473880112171173, 333.33333333333337, "BEZIER", "AUTO", 722.2222010294597, 0.1292285919189453, "AUTO_CLAMPED", 955.555534362793, 0.16736337542533875, "AUTO_CLAMPED"], [0.30984991788864136, 366.66666666666663, "BEZIER", "AUTO", 1077.7777353922527, 0.26116254925727844, "AUTO_CLAMPED", 1405.5555979410808, 0.39173322916030884, "AUTO_CLAMPED"], [0.39173322916030884, 616.6666666666667, "BEZIER", "AUTO", 1611.111068725586, 0.39173322916030884, "AUTO_CLAMPED", 1872.2222646077473, 0.39173322916030884, "AUTO_CLAMPED"], [-0.06899482011795044, 166.66666666666674, "BEZIER", "AUTO", 1927.7777353922525, 0.07043655216693878, "AUTO_CLAMPED", 2016.6666666666665, -0.15265364944934845, "AUTO_CLAMPED"], [-0.17084091901779175, 100.0, "BEZIER", "AUTO", 2050.0, -0.17084091901779175, "AUTO_CLAMPED", 2138.888804117839, -0.17084091901779175, "AUTO_CLAMPED"], [0.2747926712036133, 166.66666666666652, "BEZIER", "AUTO", 2194.4445292154946, 0.1940881907939911, "AUTO_CLAMPED", 2311.1111958821616, 0.363567590713501, "AUTO_CLAMPED"], [0.363567590713501, 183.33333333333303, "BEZIER", "AUTO", 2372.222137451172, 0.2747926712036133, "AUTO_CLAMPED", 2461.1111958821616, 0.4039198160171509, "AUTO_CLAMPED"], [0.8713808059692383, 83.33333333333348, "BEZIER", "AUTO", 2488.8888041178384, 0.8713808059692383, "AUTO_CLAMPED", 2555.5554707845054, 0.8713808059692383, "AUTO_CLAMPED"], [0.3006858229637146, 116.66666666666697, "BEZIER", "AUTO", 2594.4445292154946, 0.4410058856010437, "AUTO_CLAMPED", 2716.666666666667, -0.0, "AUTO_CLAMPED"], [-0.0, 250.0, "BEZIER", "AUTO", 2800.0, -0.0, "AUTO_CLAMPED", 2966.666666666667, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 55.555554231007896, 0.0, "AUTO_CLAMPED"], [0.4887576997280121, 166.66666666666666, "BEZIER", "AUTO", 111.11111640930176, 0.3054804801940918, "AUTO_CLAMPED", 216.66666666666669, 0.6537071466445923, "AUTO_CLAMPED"], [0.7476427555084229, 149.99999999999997, "BEZIER", "AUTO", 266.6666666666667, 0.7196719646453857, "AUTO_CLAMPED", 377.7777671813965, 0.781829297542572, "AUTO_CLAMPED"], [0.9780957698822021, 183.33333333333337, "BEZIER", "AUTO", 438.88889948527014, 0.7592593431472778, "AUTO_CLAMPED", 611.1111323038737, 1.375980257987976, "AUTO_CLAMPED"], [2.5719027519226074, 333.33333333333337, "BEZIER", "AUTO", 722.2222010294597, 2.5719027519226074, "AUTO_CLAMPED", 955.555534362793, 2.5719027519226074, "AUTO_CLAMPED"], [1.7368642091751099, 366.66666666666663, "BEZIER", "AUTO", 1077.7777353922527, 1.7368642091751099, "AUTO_CLAMPED", 1405.5555979410808, 1.7368642091751099, "AUTO_CLAMPED"], [2.4045543670654297, 616.6666666666667, "BEZIER", "AUTO", 1611.111068725586, 2.4045543670654297, "AUTO_CLAMPED", 1872.2222646077473, 2.4045543670654297, "AUTO_CLAMPED"], [2.0934579372406006, 166.66666666666674, "BEZIER", "AUTO", 1927.7777353922525, 2.1594762802124023, "AUTO_CLAMPED", 2016.6666666666665, 2.053846836090088, "AUTO_CLAMPED"], [1.9846371412277222, 100.0, "BEZIER", "AUTO", 2050.0, 2.078697443008423, "AUTO_CLAMPED", 2138.888804117839, 1.8278698921203613, "AUTO_CLAMPED"], [1.3036167621612549, 166.66666666666652, "BEZIER", "AUTO", 2194.4445292154946, 1.340794563293457, "AUTO_CLAMPED", 2311.1111958821616, 1.2627211809158325, "AUTO_CLAMPED"], [1.2627211809158325, 183.33333333333303, "BEZIER", "AUTO", 2372.222137451172, 1.2627211809158325, "AUTO_CLAMPED", 2461.1111958821616, 1.2627211809158325, "AUTO_CLAMPED"], [1.5373237133026123, 83.33333333333348, "BEZIER", "AUTO", 2488.8888041178384, 1.5373237133026123, "AUTO_CLAMPED", 2555.5554707845054, 1.5373237133026123, "AUTO_CLAMPED"], [1.2078009843826294, 116.66666666666697, "BEZIER", "AUTO", 2594.4445292154946, 1.4098081588745117, "AUTO_CLAMPED", 2716.666666666667, 0.7749283313751221, "AUTO_CLAMPED"], [0.0, 250.0, "BEZIER", "AUTO", 2800.0, 0.0, "AUTO_CLAMPED", 2966.666666666667, 0.0, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, 0.0, "AUTO_CLAMPED"], [-7.947998292783174, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, -7.947998292783174, "AUTO_CLAMPED", 200.0, -7.947998292783174, "AUTO_CLAMPED"], [-7.806066108056663, 199.99999999999997, "BEZIER", "AUTO", 266.6666666666667, -7.806066108056663, "AUTO_CLAMPED", 411.1111005147298, -7.806066108056663, "AUTO_CLAMPED"], [-12.494120977924887, 233.33333333333331, "BEZIER", "AUTO", 488.8888994852702, -7.806066108056663, "AUTO_CLAMPED", 633.3333333333333, -16.512453601558555, "AUTO_CLAMPED"], [-34.233983874898186, 200.0, "BEZIER", "AUTO", 700.0, -34.233983874898186, "AUTO_CLAMPED", 900.0, -34.233983874898186, "AUTO_CLAMPED"], [-30.0797330481022, 400.0000000000001, "BEZIER", "AUTO", 1033.3333333333333, -30.0797330481022, "AUTO_CLAMPED", 1383.3333333333333, -30.0797330481022, "AUTO_CLAMPED"], [-39.29156478546879, 650.0, "BEZIER", "AUTO", 1600.0, -37.85145354991745, "AUTO_CLAMPED", 1872.2222646077473, -39.66082530256719, "AUTO_CLAMPED"], [-41.294691929398866, 166.66666666666674, "BEZIER", "AUTO", 1927.7777353922525, -39.61380286522624, "AUTO_CLAMPED", 2016.6666666666665, -42.303224001864606, "AUTO_CLAMPED"], [-43.933805307705505, 100.0, "BEZIER", "AUTO", 2050.0, -43.933805307705505, "AUTO_CLAMPED", 2138.888804117839, -43.933805307705505, "AUTO_CLAMPED"], [-32.51975324229214, 166.66666666666652, "BEZIER", "AUTO", 2194.4445292154946, -35.980196868292815, "AUTO_CLAMPED", 2305.5554707845054, -29.059309616291465, "AUTO_CLAMPED"], [-27.806946620645437, 166.66666666666652, "BEZIER", "AUTO", 2361.111195882161, -30.092023973513637, "AUTO_CLAMPED", 2450.0, -26.435900550433974, "AUTO_CLAMPED"], [-22.543387695274756, 100.0, "BEZIER", "AUTO", 2483.3333333333335, -23.870447347231334, "AUTO_CLAMPED", 2572.222137451172, -20.331622177862887, "AUTO_CLAMPED"], [-19.089285899918437, 166.66666666666652, "BEZIER", "AUTO", 2627.777862548828, -21.559835332151042, "AUTO_CLAMPED", 2777.777862548828, -14.88935135285882, "AUTO_CLAMPED"], [0.0, 283.33333333333394, "BEZIER", "AUTO", 2872.222137451172, 0.0, "AUTO_CLAMPED", 3061.1111958821616, 0.0, "AUTO_CLAMPED"]], "z": [[-0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, -0.0, "AUTO_CLAMPED"], [11.053427468746804, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, 11.053427468746804, "AUTO_CLAMPED", 200.0, 11.053427468746804, "AUTO_CLAMPED"], [7.8228555668102, 199.99999999999997, "BEZIER", "AUTO", 266.6666666666667, 7.8228555668102, "AUTO_CLAMPED", 411.1111005147298, 7.8228555668102, "AUTO_CLAMPED"], [17.08093707636789, 233.33333333333331, "BEZIER", "AUTO", 488.8888994852702, 10.958562971364497, "AUTO_CLAMPED", 633.3333333333333, 22.328685821357283, "AUTO_CLAMPED"], [29.770721629672483, 200.0, "BEZIER", "AUTO", 700.0, 29.770721629672483, "AUTO_CLAMPED", 900.0, 29.770721629672483, "AUTO_CLAMPED"], [20.79820776799209, 400.0000000000001, "BEZIER", "AUTO", 1033.3333333333333, 20.79820776799209, "AUTO_CLAMPED", 1383.3333333333333, 20.79820776799209, "AUTO_CLAMPED"], [31.411958030618603, 650.0, "BEZIER", "AUTO", 1600.0, 30.32892225468636, "AUTO_CLAMPED", 1872.2222646077473, 31.68965986189298, "AUTO_CLAMPED"], [33.02801493918947, 166.66666666666674, "BEZIER", "AUTO", 1927.7777353922525, 31.411958030618603, "AUTO_CLAMPED", 2016.6666666666665, 33.99764908433199, "AUTO_CLAMPED"], [36.74340562124463, 100.0, "BEZIER", "AUTO", 2050.0, 36.74340562124463, "AUTO_CLAMPED", 2138.888804117839, 36.74340562124463, "AUTO_CLAMPED"], [23.01222724783006, 166.66666666666652, "BEZIER", "AUTO", 2194.4445292154946, 26.45975157101566, "AUTO_CLAMPED", 2305.5554707845054, 19.564702924644468, "AUTO_CLAMPED"], [17.208031528896193, 166.66666666666652, "BEZIER", "AUTO", 2361.111195882161, 22.953306620954947, "AUTO_CLAMPED", 2450.0, 13.760866644415668, "AUTO_CLAMPED"], [7.025505686405259, 100.0, "BEZIER", "AUTO", 2483.3333333333335, 7.025505686405259, "AUTO_CLAMPED", 2572.222137451172, 7.025505686405259, "AUTO_CLAMPED"], [7.114583306013272, 166.66666666666652, "BEZIER", "AUTO", 2627.777862548828, 7.114583306013272, "AUTO_CLAMPED", 2777.777862548828, 7.114583306013272, "AUTO_CLAMPED"], [-0.0, 283.33333333333394, "BEZIER", "AUTO", 2872.222137451172, -0.0, "AUTO_CLAMPED", 3061.1111958821616, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 44.444445768992104, 0.0, "AUTO_CLAMPED"], [-0.5836962804425067, 133.33333333333334, "BEZIER", "AUTO", 88.88888359069824, -0.5836962804425067, "AUTO_CLAMPED", 200.0, -0.5836962804425067, "AUTO_CLAMPED"], [0.9077218954109396, 199.99999999999997, "BEZIER", "AUTO", 266.6666666666667, 0.9077218954109396, "AUTO_CLAMPED", 411.1111005147298, 0.9077218954109396, "AUTO_CLAMPED"], [-0.11387248695562946, 233.33333333333331, "BEZIER", "AUTO", 488.8888994852702, 0.9077218954109396, "AUTO_CLAMPED", 633.3333333333333, -0.9895248299443609, "AUTO_CLAMPED"], [-3.443730153101654, 200.0, "BEZIER", "AUTO", 700.0, -2.733326873283682, "AUTO_CLAMPED", 900.0, -4.864536712737598, "AUTO_CLAMPED"], [-4.864536712737598, 400.0000000000001, "BEZIER", "AUTO", 1033.3333333333333, -4.864536712737598, "AUTO_CLAMPED", 1383.3333333333333, -4.864536712737598, "AUTO_CLAMPED"], [-2.6581730211855623, 650.0, "BEZIER", "AUTO", 1600.0, -2.6581730211855623, "AUTO_CLAMPED", 1872.2222646077473, -2.6581730211855623, "AUTO_CLAMPED"], [-6.302553641534681, 166.66666666666674, "BEZIER", "AUTO", 1927.7777353922525, -6.302553641534681, "AUTO_CLAMPED", 2016.6666666666665, -6.302553641534681, "AUTO_CLAMPED"], [-2.311909751022596, 100.0, "BEZIER", "AUTO", 2050.0, -2.311909751022596, "AUTO_CLAMPED", 2138.888804117839, -2.311909751022596, "AUTO_CLAMPED"], [-6.151943274580845, 166.66666666666652, "BEZIER", "AUTO", 2194.4445292154946, -4.8060570599507715, "AUTO_CLAMPED", 2305.5554707845054, -7.497829062324096, "AUTO_CLAMPED"], [-7.695458024637476, 166.66666666666652, "BEZIER", "AUTO", 2361.111195882161, -7.695458024637476, "AUTO_CLAMPED", 2450.0, -7.695458024637476, "AUTO_CLAMPED"], [-7.258249078128498, 100.0, "BEZIER", "AUTO", 2483.3333333333335, -7.258249078128498, "AUTO_CLAMPED", 2572.222137451172, -7.258249078128498, "AUTO_CLAMPED"], [-9.170077937196657, 166.66666666666652, "BEZIER", "AUTO", 2627.777862548828, -9.170077937196657, "AUTO_CLAMPED", 2777.777862548828, -9.170077937196657, "AUTO_CLAMPED"], [0.0, 283.33333333333394, "BEZIER", "AUTO", 2872.222137451172, 0.0, "AUTO_CLAMPED", 3061.1111958821616, 0.0, "AUTO_CLAMPED"]]}}, "Handle": {"location": {"x": [[0.375, 0.0, "BEZIER", "AUTO", 61.111112435658775, 0.375, "AUTO_CLAMPED"], [0.375, 183.33333333333331, "QUAD", "EASE_OUT", 122.22221692403157, 0.375, "AUTO_CLAMPED"], [0.375, 150.0, "BEZIER", "AUTO", 366.66666666666663, 0.375, "AUTO_CLAMPED"], [0.375, 100.00000000000006, "BEZIER", "AUTO", 400.0, 0.375, "AUTO_CLAMPED", 1038.8888676961262, 0.375, "AUTO_CLAMPED"], [0.375, 1816.6666666666665, "BEZIER", "AUTO", 1644.4445292154949, 0.375, "AUTO_CLAMPED", 2277.777862548828, 0.375, "AUTO_CLAMPED"], [0.375, 83.33333333333348, "QUAD", "EASE_IN", 2305.5554707845054, 0.375, "AUTO_CLAMPED"], [0.375, 83.33333333333303, "BEZIER", "AUTO", 2444.4445292154946, 0.375, "AUTO_CLAMPED"]], "z": [[2.375, 0.0, "BEZIER", "AUTO", 61.111112435658775, 2.375, "AUTO_CLAMPED"], [2.375, 183.33333333333331, "QUAD", "EASE_OUT", 122.22221692403157, 2.375, "AUTO_CLAMPED"], [0.3507676124572754, 150.0, "BEZIER", "AUTO", 366.66666666666663, 0.3507676124572754, "AUTO_CLAMPED"], [0.3507676124572754, 100.00000000000006, "BEZIER", "AUTO", 400.0, 0.3507676124572754, "AUTO_CLAMPED", 1038.8888676961262, 0.3507676124572754, "AUTO_CLAMPED"], [0.3507676124572754, 1816.6666666666665, "BEZIER", "AUTO", 1644.4445292154949, 0.3507676124572754, "AUTO_CLAMPED", 2277.777862548828, 0.3507676124572754, "AUTO_CLAMPED"], [0.3507676124572754, 83.33333333333348, "QUAD", "EASE_IN", 2305.5554707845054, 0.3507676124572754, "AUTO_CLAMPED"], [2.375, 83.33333333333303, "BEZIER", "AUTO", 2444.4445292154946, 2.375, "AUTO_CLAMPED"]], "y": [[-0.062499821186065674, 0.0, "BEZIER", "AUTO", 61.111112435658775, -0.062499821186065674, "AUTO_CLAMPED"], [-0.062499821186065674, 183.33333333333331, "QUAD", "EASE_OUT", 122.22221692403157, -0.062499821186065674, "AUTO_CLAMPED"], [-0.06249997019767761, 150.0, "BEZIER", "AUTO", 366.66666666666663, -0.06249997019767761, "AUTO_CLAMPED"], [-0.06249997019767761, 100.00000000000006, "BEZIER", "AUTO", 400.0, -0.06249997019767761, "AUTO_CLAMPED", 1038.8888676961262, -0.06249997019767761, "AUTO_CLAMPED"], [-0.06249997019767761, 1816.6666666666665, "BEZIER", "AUTO", 1644.4445292154949, -0.06249997019767761, "AUTO_CLAMPED", 2277.777862548828, -0.06249997019767761, "AUTO_CLAMPED"], [-0.06249997019767761, 83.33333333333348, "QUAD", "EASE_IN", 2305.5554707845054, -0.06249997019767761, "AUTO_CLAMPED"], [-0.062499821186065674, 83.33333333333303, "BEZIER", "AUTO", 2444.4445292154946, -0.062499821186065674, "AUTO_CLAMPED"]]}, "rotation_euler": {"z": [[0.0, 0.0, "BEZIER", "AUTO", 61.111112435658775, 0.0, "AUTO_CLAMPED"], [0.0, 183.33333333333331, "QUAD", "EASE_OUT", 122.22221692403157, 0.0, "AUTO_CLAMPED"], [0.0, 150.0, "BEZIER", "AUTO", 366.66666666666663, 0.0, "AUTO_CLAMPED"], [35.69566826294301, 100.00000000000006, "BEZIER", "AUTO", 400.0, 35.69566826294301, "AUTO_CLAMPED", 1038.8888676961262, 35.69566826294301, "AUTO_CLAMPED"], [35.69566826294301, 1816.6666666666665, "BEZIER", "AUTO", 1644.4445292154949, 35.69566826294301, "AUTO_CLAMPED", 2288.8888041178384, 35.69566826294301, "AUTO_CLAMPED"], [-0.0, 116.66666666666652, "QUAD", "EASE_IN", 2327.777862548828, -0.0, "AUTO_CLAMPED"], [-0.0, 50.0, "BEZIER", "AUTO", 2433.333333333333, -0.0, "AUTO_CLAMPED"]]}}, "Magazine": {"location": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 250.0, 0.0, "AUTO_CLAMPED"], [0.0, 750.0, "BEZIER", "AUTO", 500.0, 0.0, "AUTO_CLAMPED", 777.7777989705403, 0.0, "AUTO_CLAMPED"], [3.725290298461914e-09, 83.33333333333337, "BEZIER", "AUTO", 805.555534362793, 3.725290298461914e-09, "AUTO_CLAMPED", 888.8888676961263, 3.725290298461914e-09, "AUTO_CLAMPED"], [3.725290298461914e-09, 166.66666666666663, "BEZIER", "AUTO", 944.4444656372069, 3.725290298461914e-09, "AUTO_CLAMPED", 1061.1111323038738, 3.725290298461914e-09, "AUTO_CLAMPED"], [2.275148391723633, 183.33333333333326, "BEZIER", "EASE_IN", 1122.4605560302734, 1.95159113407135, "ALIGNED", 1279.7747294108074, 2.7877635955810547, "ALIGNED"], [1.1207209825515747, 266.66666666666674, "CONSTANT", "AUTO", 1386.2855275472007, 2.162842035293579, "ALIGNED"], [1.1920928955078125e-07, 183.33333333333326, "BEZIER", "AUTO", 1744.4444020589192, -7.450580596923828e-09, "AUTO_CLAMPED"], [-7.450580596923828e-09, 333.33333333333326, "BEZIER", "AUTO", 1855.5555979410808, -7.450580596923828e-09, "AUTO_CLAMPED", 1988.888931274414, -7.450580596923828e-09, "AUTO_CLAMPED"], [0.0, 66.66666666666674, "BEZIER", "AUTO", 2011.1110687255857, 0.0, "AUTO_CLAMPED", 2055.5555979410806, 0.0, "AUTO_CLAMPED"]], "z": [[-3.7083332538604736, 0.0, "BEZIER", "AUTO", 250.0, -3.7083332538604736, "AUTO_CLAMPED"], [-3.7083332538604736, 750.0, "BEZIER", "AUTO", 500.0, -3.7083332538604736, "AUTO_CLAMPED", 777.7777989705403, -3.7083332538604736, "AUTO_CLAMPED"], [-3.7083332538604736, 83.33333333333337, "BEZIER", "AUTO", 805.555534362793, -3.7083332538604736, "AUTO_CLAMPED", 888.8888676961263, -3.7083332538604736, "AUTO_CLAMPED"], [-3.586667060852051, 166.66666666666663, "BEZIER", "AUTO", 944.4444656372069, -3.7083332538604736, "AUTO_CLAMPED", 1061.1111323038738, -3.452834129333496, "AUTO_CLAMPED"], [0.1384201943874359, 183.33333333333326, "BEZIER", "EASE_IN", 1122.2222646077473, 0.1384201943874359, "AUTO_CLAMPED", 1272.2222646077475, 0.1384201943874359, "AUTO_CLAMPED"], [-0.4952211380004883, 266.66666666666674, "CONSTANT", "AUTO", 1361.111068725586, 0.1384202241897583, "AUTO_CLAMPED"], [-3.7083330154418945, 183.33333333333326, "BEZIER", "AUTO", 1744.4444020589192, -3.7083330154418945, "AUTO_CLAMPED"], [-3.7083330154418945, 333.33333333333326, "BEZIER", "AUTO", 1855.5555979410808, -3.7083330154418945, "AUTO_CLAMPED", 1988.888931274414, -3.7083330154418945, "AUTO_CLAMPED"], [-3.7083332538604736, 66.66666666666674, "BEZIER", "AUTO", 2011.1110687255857, -3.7083332538604736, "AUTO_CLAMPED", 2055.5555979410806, -3.7083332538604736, "AUTO_CLAMPED"]], "y": [[-0.8715280890464783, 0.0, "BEZIER", "AUTO", 250.0, -0.8715280890464783, "AUTO_CLAMPED"], [-0.8715280890464783, 750.0, "BEZIER", "AUTO", 500.0, -0.8715280890464783, "AUTO_CLAMPED", 777.7777989705403, -0.8715280890464783, "AUTO_CLAMPED"], [-0.9779874682426453, 83.33333333333337, "BEZIER", "AUTO", 805.555534362793, -0.8715280890464783, "AUTO_CLAMPED", 888.8888676961263, -1.190906286239624, "AUTO_CLAMPED"], [-2.6450467109680176, 166.66666666666663, "BEZIER", "AUTO", 944.4444656372069, -2.288226842880249, "AUTO_CLAMPED", 1061.1111323038738, -3.037548542022705, "AUTO_CLAMPED"], [-3.938255786895752, 183.33333333333326, "BEZIER", "EASE_IN", 1082.1139017740886, -2.2764382362365723, "ALIGNED", 1409.4801584879558, -7.651127338409424, "ALIGNED"], [-18.826751708984375, 266.66666666666674, "CONSTANT", "AUTO", 1402.2291819254558, -17.237646102905273, "ALIGNED"], [-5.262813568115234, 183.33333333333326, "BEZIER", "AUTO", 1744.4444020589192, -1.393867015838623, "AUTO_CLAMPED"], [-1.393867015838623, 333.33333333333326, "BEZIER", "AUTO", 1855.5555979410808, -2.4820737838745117, "AUTO_CLAMPED", 1988.888931274414, -1.1762256622314453, "AUTO_CLAMPED"], [-0.8715280890464783, 66.66666666666674, "BEZIER", "AUTO", 2011.1110687255857, -0.8715280890464783, "AUTO_CLAMPED", 2055.5555979410806, -0.8715280890464783, "AUTO_CLAMPED"]]}, "rotation_euler": {"x": [[0.0, 0.0, "BEZIER", "AUTO", 250.0, 0.0, "AUTO_CLAMPED"], [0.0, 750.0, "BEZIER", "AUTO", 500.0, 0.0, "AUTO_CLAMPED", 777.7777989705403, 0.0, "AUTO_CLAMPED"], [-4.174188148983252, 83.33333333333337, "BEZIER", "AUTO", 805.555534362793, -4.1741847338886675, "AUTO_CLAMPED", 888.8888676961263, -4.174194979172422, "AUTO_CLAMPED"], [-4.174194979172422, 166.66666666666663, "BEZIER", "AUTO", 944.4444656372069, -4.174188148983252, "AUTO_CLAMPED", 1044.444465637207, -4.174200528701124, "AUTO_CLAMPED"], [-33.8234246189833, 133.33333333333326, "BEZIER", "EASE_IN", 1088.888931274414, -33.07182377252593, "AUTO_CLAMPED", 1238.888931274414, -35.60847748309321, "AUTO_CLAMPED"], [-35.60847748309321, 316.66666666666674, "CONSTANT", "EASE_IN", 1344.4444020589192, -35.60847748309321, "AUTO_CLAMPED"], [0.0, 183.33333333333326, "BEZIER", "AUTO", 1744.4444020589192, 0.0, "AUTO_CLAMPED"], [-12.942791835634793, 333.33333333333326, "BEZIER", "AUTO", 1855.5555979410808, -12.942791835634793, "AUTO_CLAMPED", 1988.888931274414, -12.942791835634793, "AUTO_CLAMPED"], [0.0, 66.66666666666674, "BEZIER", "AUTO", 2011.1110687255857, 0.0, "AUTO_CLAMPED", 2055.5555979410806, 0.0, "AUTO_CLAMPED"]], "z": [[0.0, 0.0, "BEZIER", "AUTO", 250.0, 0.0, "AUTO_CLAMPED"], [3.415094992117375e-06, 750.0, "BEZIER", "AUTO", 500.0, 3.415094992117375e-06, "AUTO_CLAMPED", 777.7777989705403, 3.415094992117375e-06, "AUTO_CLAMPED"], [1.8849241299780381e-06, 83.33333333333337, "BEZIER", "AUTO", 805.555534362793, 1.8849241299780381e-06, "AUTO_CLAMPED", 888.8888676961263, 1.8849241299780381e-06, "AUTO_CLAMPED"], [2.257795465726353e-06, 166.66666666666663, "BEZIER", "AUTO", 944.4444656372069, 1.8849241299780381e-06, "AUTO_CLAMPED", 1044.444465637207, 2.5560926157472046e-06, "AUTO_CLAMPED"], [37.2502910350242, 133.33333333333326, "BEZIER", "EASE_IN", 1088.888931274414, 19.088867550831775, "AUTO_CLAMPED", 1238.888931274414, 80.3836698889905, "AUTO_CLAMPED"], [152.35956815499205, 316.66666666666674, "CONSTANT", "EASE_IN", 1421.4354197184246, 149.74669294838202, "ALIGNED"], [-0.0, 183.33333333333326, "BEZIER", "AUTO", 1744.4444020589192, -0.0, "AUTO_CLAMPED"], [2.1809719917281588e-06, 333.33333333333326, "BEZIER", "AUTO", 1855.5555979410808, 2.1809719917281588e-06, "AUTO_CLAMPED", 1988.888931274414, 2.1809719917281588e-06, "AUTO_CLAMPED"], [-0.0, 66.66666666666674, "BEZIER", "AUTO", 2011.1110687255857, -0.0, "AUTO_CLAMPED", 2055.5555979410806, -0.0, "AUTO_CLAMPED"]], "y": [[0.0, 0.0, "BEZIER", "AUTO", 250.0, 0.0, "AUTO_CLAMPED"], [-2.988207965436078e-06, 750.0, "BEZIER", "AUTO", 500.0, -2.988207965436078e-06, "AUTO_CLAMPED", 777.7777989705403, -2.988207965436078e-06, "AUTO_CLAMPED"], [1.4521725675751222e-06, 83.33333333333337, "BEZIER", "AUTO", 805.555534362793, -2.7954582095194046e-08, "AUTO_CLAMPED", 888.8888676961263, 4.412426968693505e-06, "AUTO_CLAMPED"], [6.561225588819226e-06, 166.66666666666663, "BEZIER", "AUTO", 944.4444656372069, 1.4521722622418728e-06, "AUTO_CLAMPED", 1044.444465637207, 1.0648468575769908e-05, "AUTO_CLAMPED"], [0.704543404396924, 133.33333333333326, "BEZIER", "EASE_IN", 1088.888931274414, 0.704543404396924, "AUTO_CLAMPED", 1238.888931274414, 0.704543404396924, "AUTO_CLAMPED"], [-2.4474770532163017, 316.66666666666674, "CONSTANT", "EASE_IN", 1344.4444020589192, -2.4474770532163017, "AUTO_CLAMPED"], [0.0, 183.33333333333326, "BEZIER", "AUTO", 1744.4444020589192, 0.0, "AUTO_CLAMPED"], [-5.757404055061827e-06, 333.33333333333326, "BEZIER", "AUTO", 1855.5555979410808, -5.757404055061827e-06, "AUTO_CLAMPED", 1988.888931274414, -5.757404055061827e-06, "AUTO_CLAMPED"], [0.0, 66.66666666666674, "BEZIER", "AUTO", 2011.1110687255857, 0.0, "AUTO_CLAMPED", 2055.5555979410806, 0.0, "AUTO_CLAMPED"]]}}}}, "offset": {"Barrel": [-3.4825498573809455e-07, 0.0, 2.999999761581421], "Breech": [-1.485612965979044e-08, 2.3298342421984586e-11, -8.634078341174245e-08], "Bullets": [-2.2280778111394284e-08, -3.766064543553327e-11, 1.7626307080575998e-09], "Handle": [0.375, -0.062499821186065674, 2.375], "Lever": [-1.485612965979044e-08, 2.3298342421984586e-11, -8.634078341174245e-08], "Magazine": [0.0, -0.8715280890464783, -3.7083332538604736], "Safety": [-1.485612965979044e-08, 2.3298342421984586e-11, -0.0]}, "hierarchy": {"Barrel": "Gun", "Breech": "Gun", "Bullets": "Magazine", "Handle": "Gun", "Lever": "Gun", "Magazine": "Gun", "Safety": "Gun"}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/animations/supershotty.json b/src/main/resources/assets/hbm/models/weapons/animations/supershotty.json deleted file mode 100644 index fc1287ec3..000000000 --- a/src/main/resources/assets/hbm/models/weapons/animations/supershotty.json +++ /dev/null @@ -1 +0,0 @@ -{"anim": {"Fire": {"Barrel": {"rotation_euler": {"x": [[0.0, 0.0, "CONSTANT"], [0.0, 466.6666666666667, "CONSTANT"], [-19.363289183757253, 49.99999999999994, "CONSTANT"], [-60.019016916301425, 66.66666666666674, "CONSTANT"], [-60.019016916301425, 683.3333333333331, "CONSTANT"], [-38.91348307905732, 83.33333333333348, "CONSTANT"], [0.0, 50.0, "CONSTANT"]]}}, "BarrelLame": {"rotation_euler": {"x": [[0.0, 0.0], [0.0, 466.6666666666667], [-19.363289183757253, 49.99999999999994], [-60.019016916301425, 66.66666666666674], [-60.019016916301425, 683.3333333333331], [-38.91348307905732, 83.33333333333348], [0.0, 50.0]]}}, "Body": {"location": {"x": [[0.0, 0.0], [-0.03072790987789631, 66.66666666666667], [-0.015153210610151291, 50.0], [0.022971127182245255, 49.999999999999986], [0.0, 133.33333333333334], [-0.07112908363342285, 283.33333333333337], [-0.21566513180732727, 166.66666666666663], [-0.30311062932014465, 166.66666666666663], [0.09931233525276184, 200.0000000000001], [0.09931233525276184, 99.99999999999977], [0.1618872582912445, 33.333333333333485], [0.16223274171352386, 33.33333333333326], [0.08028656989336014, 183.33333333333326], [0.0, 150.00000000000023]], "z": [[-0.0, 0.0], [0.6719817519187927, 66.66666666666667], [0.7913707494735718, 50.0], [0.4098809063434601, 49.999999999999986], [-0.0, 133.33333333333334], [-0.0558139905333519, 283.33333333333337], [-0.33660149574279785, 166.66666666666663], [-0.3699745833873749, 166.66666666666663], [-0.27975839376449585, 200.0000000000001], [-0.27975839376449585, 99.99999999999977], [-0.3401995301246643, 33.333333333333485], [-0.3562721014022827, 33.33333333333326], [-0.2893483638763428, 183.33333333333326], [-0.0, 150.00000000000023]], "y": [[0.0, 0.0], [0.04576312005519867, 66.66666666666667], [-0.05352889001369476, 50.0], [0.05586424842476845, 49.999999999999986], [0.0, 133.33333333333334], [-0.19011610746383667, 283.33333333333337], [-0.17373046278953552, 166.66666666666663], [-0.2395477145910263, 166.66666666666663], [-0.318528413772583, 200.0000000000001], [-0.318528413772583, 99.99999999999977], [-0.5854879021644592, 33.333333333333485], [-0.6872552037239075, 33.33333333333326], [-0.08996553719043732, 183.33333333333326], [0.0, 150.00000000000023]]}, "rotation_euler": {"x": [[0.0, 0.0, "CONSTANT"], [18.96056586236767, 33.333333333333336, "CONSTANT"], [9.480282931183835, 100.0, "CONSTANT"], [0.0, 100.0, "CONSTANT"], [3.672435622364946, 300.0, "CONSTANT"], [4.2845085106836525, 50.0, "CONSTANT"], [1.1277323204173937, 266.66666666666663, "CONSTANT"], [-4.00202896208485, 433.33333333333326, "CONSTANT"], [29.908722186758006, 116.66666666666674, "CONSTANT"], [16.10469643075067, 100.0, "CONSTANT"], [0.0, 116.66666666666674, "CONSTANT"]], "z": [[-0.0, 0.0, "CONSTANT"], [-8.923772777989535, 33.333333333333336, "CONSTANT"], [-4.461886388994768, 100.0, "CONSTANT"], [-0.0, 100.0, "CONSTANT"], [1.4097740965790806, 300.0, "CONSTANT"], [1.6447364460089273, 50.0, "CONSTANT"], [0.7402799146297828, 266.66666666666663, "CONSTANT"], [-0.729462122284099, 433.33333333333326, "CONSTANT"], [-10.496272716449585, 116.66666666666674, "CONSTANT"], [-5.6518389579866275, 100.0, "CONSTANT"], [-0.0, 116.66666666666674, "CONSTANT"]], "y": [[0.0, 0.0, "CONSTANT"], [1.9835915222433687, 33.333333333333336, "CONSTANT"], [0.9917957611216843, 100.0, "CONSTANT"], [0.0, 100.0, "CONSTANT"], [22.84436339614595, 300.0, "CONSTANT"], [26.651758433868473, 50.0, "CONSTANT"], [23.325744883564695, 266.66666666666663, "CONSTANT"], [17.920975212198584, 433.33333333333326, "CONSTANT"], [19.204354096865643, 116.66666666666674, "CONSTANT"], [10.340805658109048, 100.0, "CONSTANT"], [0.0, 116.66666666666674, "CONSTANT"]]}}, "BodyLame": {"location": {"x": [[0.0, 0.0], [-0.03072790987789631, 66.66666666666667], [-0.015153210610151291, 50.0], [0.022971127182245255, 49.999999999999986], [0.0, 133.33333333333334], [-0.07112908363342285, 283.33333333333337], [-0.21566513180732727, 166.66666666666663], [-0.30311062932014465, 166.66666666666663], [0.09931233525276184, 200.0000000000001], [0.09931233525276184, 99.99999999999977], [0.1618872582912445, 33.333333333333485], [0.16223274171352386, 33.33333333333326], [0.08028656989336014, 183.33333333333326], [0.0, 150.00000000000023]], "z": [[-0.0, 0.0], [0.6719817519187927, 66.66666666666667], [0.7913707494735718, 50.0], [0.4098809063434601, 49.999999999999986], [-0.0, 133.33333333333334], [-0.0558139905333519, 283.33333333333337], [-0.33660149574279785, 166.66666666666663], [-0.3699745833873749, 166.66666666666663], [-0.27975839376449585, 200.0000000000001], [-0.27975839376449585, 99.99999999999977], [-0.3401995301246643, 33.333333333333485], [-0.3562721014022827, 33.33333333333326], [-0.2893483638763428, 183.33333333333326], [-0.0, 150.00000000000023]], "y": [[0.0, 0.0], [0.04576312005519867, 66.66666666666667], [-0.05352889001369476, 50.0], [0.05586424842476845, 49.999999999999986], [0.0, 133.33333333333334], [-0.19011610746383667, 283.33333333333337], [-0.17373046278953552, 166.66666666666663], [-0.2395477145910263, 166.66666666666663], [-0.318528413772583, 200.0000000000001], [-0.318528413772583, 99.99999999999977], [-0.5854879021644592, 33.333333333333485], [-0.6872552037239075, 33.33333333333326], [-0.08996553719043732, 183.33333333333326], [0.0, 150.00000000000023]]}, "rotation_euler": {"x": [[0.0, 0.0], [18.96056586236767, 33.333333333333336], [9.480282931183835, 100.0], [0.0, 100.0], [3.672435622364946, 300.0], [4.2845085106836525, 50.0], [1.1277323204173937, 266.66666666666663], [-4.00202896208485, 433.33333333333326], [29.908722186758006, 116.66666666666674], [16.10469643075067, 100.0], [0.0, 116.66666666666674]], "z": [[-0.0, 0.0], [-8.923772777989535, 33.333333333333336], [-4.461886388994768, 100.0], [-0.0, 100.0], [1.4097740965790806, 300.0], [1.6447364460089273, 50.0], [0.7402799146297828, 266.66666666666663], [-0.729462122284099, 433.33333333333326], [-10.496272716449585, 116.66666666666674], [-5.6518389579866275, 100.0], [-0.0, 116.66666666666674]], "y": [[0.0, 0.0], [1.9835915222433687, 33.333333333333336], [0.9917957611216843, 100.0], [0.0, 100.0], [22.84436339614595, 300.0], [26.651758433868473, 50.0], [23.325744883564695, 266.66666666666663], [17.920975212198584, 433.33333333333326], [19.204354096865643, 116.66666666666674], [10.340805658109048, 100.0], [0.0, 116.66666666666674]]}}, "ShellL": {"location": {"x": [[0.0, 0.0], [0.0, 583.3333333333334], [0.09376272559165955, 49.999999999999886], [0.1621313840150833, 83.33333333333337], [0.17189833521842957, 33.33333333333337], [0.17189833521842957, 50.0], [-0.25194650888442993, 66.66666666666674], [-0.7040476202964783, 149.9999999999999, "CONSTANT"], [-1.641493320465088, 16.66666666666663], [-0.48360228538513184, 66.66666666666674], [-0.0976385846734047, 66.66666666666674], [0.0, 116.66666666666652]], "z": [[-0.0, 0.0], [-0.0, 583.3333333333334], [1.188506007194519, 49.999999999999886], [2.0551249980926514, 83.33333333333337], [2.1789276599884033, 33.33333333333337], [2.1789276599884033, 50.0], [0.6366069316864014, 66.66666666666674], [-1.0085352659225464, 149.9999999999999, "CONSTANT"], [-1.0141838788986206, 16.66666666666663], [0.6391998529434204, 66.66666666666674], [1.1903276443481445, 66.66666666666674], [-0.0, 116.66666666666652]], "y": [[0.0, 0.0], [0.0, 583.3333333333334], [0.6720442175865173, 49.999999999999886], [1.162076473236084, 83.33333333333337], [1.2320810556411743, 33.33333333333337], [1.2320810556411743, 50.0], [0.4826660752296448, 66.66666666666674], [-0.3167097568511963, 149.9999999999999, "CONSTANT"], [-1.3532683849334717, 16.66666666666663], [-0.3891531825065613, 66.66666666666674], [-0.0677814781665802, 66.66666666666674], [0.0, 116.66666666666652]]}, "rotation_euler": {"x": [[0.0, 0.0, "CONSTANT"], [0.0, 583.3333333333334, "CONSTANT"], [-5.534420749078115, 166.66666666666663, "CONSTANT"], [7.606445291826578, 166.66666666666663, "CONSTANT"], [0.0, 116.66666666666663, "CONSTANT"]], "z": [[0.0, 0.0, "CONSTANT"], [0.0, 583.3333333333334, "CONSTANT"], [28.371060481933252, 166.66666666666663, "CONSTANT"], [59.14797655182804, 166.66666666666663, "CONSTANT"], [-0.0, 116.66666666666663, "CONSTANT"]], "y": [[0.0, 0.0, "CONSTANT"], [0.0, 583.3333333333334, "CONSTANT"], [-42.628757647896585, 166.66666666666663, "CONSTANT"], [-85.51808701262917, 166.66666666666663, "CONSTANT"], [0.0, 116.66666666666663, "CONSTANT"]]}}, "ShellLLame": {"location": {"x": [[0.0, 0.0], [0.0, 583.3333333333334], [0.09376272559165955, 49.999999999999886], [0.1621313840150833, 83.33333333333337], [0.17189833521842957, 33.33333333333337], [0.17189833521842957, 50.0], [-0.25194650888442993, 66.66666666666674], [-0.7040476202964783, 149.9999999999999, "CONSTANT"], [-1.641493320465088, 16.66666666666663], [-0.48360228538513184, 66.66666666666674], [-0.0976385846734047, 66.66666666666674], [0.0, 116.66666666666652]], "z": [[-0.0, 0.0], [-0.0, 583.3333333333334], [1.188506007194519, 49.999999999999886], [2.0551249980926514, 83.33333333333337], [2.1789276599884033, 33.33333333333337], [2.1789276599884033, 50.0], [0.6366069316864014, 66.66666666666674], [-1.0085352659225464, 149.9999999999999, "CONSTANT"], [-1.0141838788986206, 16.66666666666663], [0.6391998529434204, 66.66666666666674], [1.1903276443481445, 66.66666666666674], [-0.0, 116.66666666666652]], "y": [[0.0, 0.0], [0.0, 583.3333333333334], [0.6720442175865173, 49.999999999999886], [1.162076473236084, 83.33333333333337], [1.2320810556411743, 33.33333333333337], [1.2320810556411743, 50.0], [0.4826660752296448, 66.66666666666674], [-0.3167097568511963, 149.9999999999999, "CONSTANT"], [-1.3532683849334717, 16.66666666666663], [-0.3891531825065613, 66.66666666666674], [-0.0677814781665802, 66.66666666666674], [0.0, 116.66666666666652]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 583.3333333333334], [-5.534420749078115, 166.66666666666663], [7.606445291826578, 166.66666666666663, "CONSTANT"], [0.0, 116.66666666666663]], "z": [[0.0, 0.0], [0.0, 583.3333333333334], [28.371060481933252, 166.66666666666663], [59.14797655182804, 166.66666666666663, "CONSTANT"], [-0.0, 116.66666666666663]], "y": [[0.0, 0.0], [0.0, 583.3333333333334], [-42.628757647896585, 166.66666666666663], [-85.51808701262917, 166.66666666666663, "CONSTANT"], [0.0, 116.66666666666663]]}}, "ShellR": {"location": {"x": [[0.0, 0.0], [0.0, 583.3333333333334], [0.16738982498645782, 33.33333333333337], [0.3459389805793762, 66.66666666666663], [0.368257611989975, 33.33333333333326], [0.368257611989975, 66.66666666666674], [0.37765786051750183, 66.66666666666663], [0.3922804296016693, 116.66666666666663, "CONSTANT"], [-1.7031582593917847, 16.66666666666663], [-0.576391339302063, 66.66666666666674], [-0.20080244541168213, 66.66666666666674], [0.0, 116.66666666666674]], "z": [[-0.0, 0.0], [-0.0, 583.3333333333334], [0.7584316730499268, 33.33333333333337], [1.5674254894256592, 66.66666666666663], [1.668549656867981, 33.33333333333326], [1.668549656867981, 66.66666666666674], [0.5923407077789307, 66.66666666666663], [-1.0817619562149048, 116.66666666666663, "CONSTANT"], [-1.004889726638794, 16.66666666666663], [0.6418739557266235, 66.66666666666674], [1.1907953023910522, 66.66666666666674], [-0.0, 116.66666666666674]], "y": [[0.0, 0.0], [0.0, 583.3333333333334], [0.45365622639656067, 33.33333333333337], [0.9375561475753784, 66.66666666666663], [0.9980437159538269, 33.33333333333326], [0.9980437159538269, 66.66666666666674], [0.2533489465713501, 66.66666666666663], [-0.9050651788711548, 116.66666666666663, "CONSTANT"], [-1.431460976600647, 16.66666666666663], [-0.5393484830856323, 66.66666666666674], [-0.24197767674922943, 66.66666666666674], [0.0, 116.66666666666674]]}, "rotation_euler": {"x": [[0.0, 0.0, "CONSTANT"], [0.0, 583.3333333333334, "CONSTANT"], [7.528320734326326, 133.33333333333326, "CONSTANT"], [45.55883366975119, 166.66666666666663, "CONSTANT"], [0.0, 100.0, "CONSTANT"]], "z": [[0.0, 0.0, "CONSTANT"], [0.0, 583.3333333333334, "CONSTANT"], [-10.561780207005532, 133.33333333333326, "CONSTANT"], [-11.69752028389453, 166.66666666666663, "CONSTANT"], [-0.0, 100.0, "CONSTANT"]], "y": [[0.0, 0.0, "CONSTANT"], [0.0, 583.3333333333334, "CONSTANT"], [18.100727008133102, 133.33333333333326, "CONSTANT"], [65.2065046097911, 166.66666666666663, "CONSTANT"], [0.0, 100.0, "CONSTANT"]]}}, "ShellRLame": {"location": {"x": [[0.0, 0.0], [0.0, 583.3333333333334], [0.16738982498645782, 33.33333333333337], [0.3459389805793762, 66.66666666666663], [0.368257611989975, 33.33333333333326], [0.368257611989975, 66.66666666666674], [0.37765786051750183, 66.66666666666663], [0.3922804296016693, 116.66666666666663, "CONSTANT"], [-1.7031582593917847, 16.66666666666663], [-0.576391339302063, 66.66666666666674], [-0.20080244541168213, 66.66666666666674], [0.0, 116.66666666666674]], "z": [[-0.0, 0.0], [-0.0, 583.3333333333334], [0.7584316730499268, 33.33333333333337], [1.5674254894256592, 66.66666666666663], [1.668549656867981, 33.33333333333326], [1.668549656867981, 66.66666666666674], [0.5923407077789307, 66.66666666666663], [-1.0817619562149048, 116.66666666666663, "CONSTANT"], [-1.004889726638794, 16.66666666666663], [0.6418739557266235, 66.66666666666674], [1.1907953023910522, 66.66666666666674], [-0.0, 116.66666666666674]], "y": [[0.0, 0.0], [0.0, 583.3333333333334], [0.45365622639656067, 33.33333333333337], [0.9375561475753784, 66.66666666666663], [0.9980437159538269, 33.33333333333326], [0.9980437159538269, 66.66666666666674], [0.2533489465713501, 66.66666666666663], [-0.9050651788711548, 116.66666666666663, "CONSTANT"], [-1.431460976600647, 16.66666666666663], [-0.5393484830856323, 66.66666666666674], [-0.24197767674922943, 66.66666666666674], [0.0, 116.66666666666674]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 583.3333333333334], [7.528320734326326, 133.33333333333326], [45.55883366975119, 166.66666666666663, "CONSTANT"], [0.0, 100.0]], "z": [[0.0, 0.0], [0.0, 583.3333333333334], [-10.561780207005532, 133.33333333333326], [-11.69752028389453, 166.66666666666663, "CONSTANT"], [-0.0, 100.0]], "y": [[0.0, 0.0], [0.0, 583.3333333333334], [18.100727008133102, 133.33333333333326], [65.2065046097911, 166.66666666666663, "CONSTANT"], [0.0, 100.0]]}}}}, "offset": {}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/ar15.obj b/src/main/resources/assets/hbm/models/weapons/ar15.obj deleted file mode 100644 index 091d07aee..000000000 --- a/src/main/resources/assets/hbm/models/weapons/ar15.obj +++ /dev/null @@ -1,10408 +0,0 @@ -# Blender 3.6.1 -# www.blender.org -mtllib ar15.mtl -o mag -v 0.065068 1.436829 0.651256 -v 0.065068 1.419299 0.637000 -v 0.059066 1.413296 0.636971 -v 0.041467 1.413228 0.651141 -v 0.065068 1.407295 0.636941 -v 0.065068 1.389627 0.651026 -v 0.071070 1.413296 0.636971 -v 0.088670 1.413228 0.651141 -v 0.065068 1.454777 1.360036 -v 0.020068 1.409778 1.359817 -v 0.065068 1.364778 1.359598 -v 0.110068 1.409778 1.359817 -v 0.110068 1.412166 0.869278 -v 0.065068 1.457165 0.869497 -v 0.065068 1.367166 0.869059 -v 0.020068 1.412166 0.869278 -v -0.035037 1.482139 0.646559 -v -0.035037 1.459440 0.632761 -v -0.042801 1.451676 0.632724 -v -0.065567 1.451609 0.646410 -v -0.035037 1.443911 0.632686 -v -0.035037 1.421079 0.646262 -v -0.027273 1.451676 0.632724 -v -0.004507 1.451609 0.646410 -v -0.035037 1.506397 1.349364 -v -0.093247 1.448188 1.349081 -v -0.035037 1.389978 1.348797 -v 0.023173 1.448188 1.349081 -v 0.023173 1.450556 0.862582 -v -0.035037 1.508766 0.862866 -v -0.035037 1.392347 0.862299 -v -0.093247 1.450556 0.862582 -v -0.107706 1.399587 1.348511 -v -0.107706 0.706169 1.358716 -v -0.107706 0.706620 1.389339 -v -0.107706 1.400038 1.379134 -v -0.107706 0.697607 0.776877 -v -0.107706 0.695354 0.623761 -v -0.100015 0.394515 0.626606 -v -0.100015 0.370726 0.772163 -v -0.103805 0.127366 0.591050 -v -0.103805 0.085949 0.733473 -v -0.107706 -0.074583 0.541713 -v -0.107706 -0.132123 0.684096 -v -0.107706 -0.584175 0.513467 -v -0.107706 -0.526635 0.371085 -v -0.107706 -0.550427 0.362104 -v -0.107706 -0.607967 0.504486 -v 0.133589 1.399587 1.348511 -v 0.133589 1.400038 1.379134 -v 0.133589 0.706620 1.389338 -v 0.133589 0.706169 1.358716 -v 0.133589 0.697607 0.776877 -v 0.126007 0.370727 0.772163 -v 0.126007 0.394515 0.626606 -v 0.133589 0.695354 0.623761 -v 0.129743 0.085949 0.733473 -v 0.129743 0.127366 0.591050 -v 0.133589 -0.132123 0.684096 -v 0.133589 -0.074583 0.541713 -v 0.133589 -0.584175 0.513467 -v 0.133589 -0.607967 0.504486 -v 0.133589 -0.550427 0.362104 -v 0.133589 -0.526635 0.371085 -v -0.107706 1.388772 0.613557 -v 0.133589 1.388772 0.613557 -v -0.107706 -0.814333 1.082995 -v 0.133589 -0.814333 1.082995 -v 0.133589 -0.362281 1.253623 -v -0.107706 -0.362281 1.253623 -v 0.129743 -0.079720 1.303164 -v -0.103805 -0.079720 1.303164 -v 0.126007 0.275573 1.354391 -v -0.100015 0.275573 1.354391 -v -0.107706 -0.826617 1.045538 -v 0.133589 -0.826617 1.045538 -v 0.133589 -0.838125 1.074014 -v -0.107706 -0.838125 1.074015 -v -0.107706 -0.785585 0.944003 -v -0.107706 -0.802859 1.055140 -v -0.107706 -0.761826 0.953604 -v -0.107706 -0.648384 0.604497 -v 0.133589 -0.648384 0.604497 -v 0.133589 -0.699463 0.730893 -v -0.107706 -0.699463 0.730893 -v 0.133589 -0.785585 0.944003 -v 0.133589 -0.761826 0.953604 -v 0.133589 -0.802825 1.054518 -v 0.133589 -0.675671 0.739874 -v 0.133589 -0.624591 0.613478 -v 0.108510 -0.624591 0.613478 -v 0.108510 -0.172539 0.784106 -v 0.133589 -0.172539 0.784106 -v 0.133589 -0.350773 1.225147 -v 0.129743 -0.071437 1.274679 -v 0.129743 0.020090 0.959944 -v 0.133589 -0.223618 0.910502 -v 0.129743 0.056857 0.833512 -v 0.105469 0.056857 0.833512 -v 0.126007 0.280331 1.325280 -v 0.126007 0.332900 1.003619 -v 0.126007 0.354017 0.874404 -v 0.102515 0.354017 0.874404 -v 0.133589 0.701190 1.020352 -v 0.133589 0.699190 0.884427 -v 0.108510 0.699190 0.884427 -v 0.133589 1.391026 0.766673 -v 0.108510 1.392608 0.874223 -v 0.133589 1.392608 0.874223 -v 0.133589 1.394608 1.010147 -v -0.107706 -0.802825 1.054518 -v -0.079881 -0.802825 1.054518 -v -0.079881 -0.826617 1.045538 -v -0.079881 -0.785585 0.944003 -v -0.079881 -0.761793 0.952983 -v -0.107706 -0.675671 0.739874 -v -0.107706 -0.624591 0.613478 -v -0.103805 -0.071437 1.274679 -v -0.107706 -0.350773 1.225147 -v -0.076873 -0.071437 1.274679 -v -0.076873 -0.041902 1.173115 -v -0.079881 -0.309741 1.123612 -v -0.079881 -0.350773 1.225147 -v -0.103805 0.020090 0.959944 -v -0.103805 0.056857 0.833512 -v -0.107706 -0.172539 0.784106 -v -0.107706 -0.223618 0.910502 -v -0.100015 0.280331 1.325280 -v -0.073951 0.280331 1.325280 -v -0.073951 0.297294 1.221481 -v -0.100015 0.332900 1.003619 -v -0.100015 0.354017 0.874405 -v -0.079881 0.706169 1.358716 -v -0.079881 0.704562 1.249526 -v -0.107706 0.701190 1.020352 -v -0.107706 0.699190 0.884427 -v -0.107706 1.391026 0.766673 -v -0.107706 1.392608 0.874223 -v -0.107706 1.394608 1.010147 -v -0.079880 1.397981 1.239322 -v -0.079880 1.399587 1.348511 -v -0.107706 1.395898 1.097803 -v -0.107706 0.702480 1.108007 -v -0.107706 0.704562 1.249526 -v -0.107706 1.397981 1.239322 -v -0.100015 0.319281 1.086947 -v -0.100015 0.297294 1.221481 -v -0.103805 -0.003621 1.041479 -v -0.103805 -0.041902 1.173115 -v -0.107706 -0.256559 0.992014 -v -0.107706 -0.309741 1.123612 -v -0.107706 -0.761793 0.952983 -v -0.107706 -0.708611 0.821385 -v -0.107706 -0.732403 0.812404 -v 0.133589 1.395898 1.097803 -v 0.133589 1.397981 1.239322 -v 0.133589 0.704562 1.249526 -v 0.133589 0.702480 1.108007 -v 0.126007 0.297294 1.221481 -v 0.126007 0.319281 1.086947 -v 0.129743 -0.041902 1.173115 -v 0.129743 -0.003621 1.041479 -v 0.133589 -0.309741 1.123612 -v 0.133589 -0.256559 0.992013 -v 0.133589 -0.761793 0.952983 -v 0.133589 -0.732403 0.812404 -v 0.133589 -0.708611 0.821385 -v 0.133589 -0.802859 1.055139 -v 0.133589 1.468057 1.096741 -v 0.133589 1.470140 1.238260 -v 0.133589 1.466767 1.009086 -v -0.107706 1.468057 1.096741 -v -0.107706 1.470140 1.238260 -v -0.107706 1.466767 1.009086 -v -0.107706 1.471747 1.347449 -v -0.107706 1.464767 0.873161 -v -0.107706 1.463184 0.765611 -v -0.107706 1.460932 0.612495 -v 0.133589 1.471747 1.347449 -v 0.133589 1.464767 0.873161 -v 0.133589 1.463184 0.765611 -v 0.133589 1.460932 0.612495 -v 0.133589 1.472197 1.378073 -v -0.107706 1.472197 1.378073 -v 0.109951 1.397981 1.239322 -v 0.109951 1.399587 1.348511 -v 0.109951 0.706169 1.358716 -v 0.109951 0.704562 1.249526 -v 0.103865 0.280331 1.325280 -v 0.103865 0.297294 1.221481 -v 0.106864 -0.071437 1.274679 -v 0.106864 -0.041902 1.173115 -v 0.109951 -0.350773 1.225147 -v 0.109951 -0.309741 1.123612 -v 0.109951 -0.802825 1.054518 -v 0.109951 -0.761793 0.952983 -v 0.109951 -0.785585 0.944003 -v 0.109951 -0.826617 1.045538 -v 0.110896 -0.708611 0.821385 -v 0.110896 -0.675671 0.739874 -v 0.110896 -0.699463 0.730893 -v 0.110896 -0.732403 0.812404 -v 0.107779 -0.003621 1.041479 -v 0.110896 -0.256559 0.992014 -v 0.110896 -0.223618 0.910502 -v 0.107779 0.020090 0.959944 -v 0.104750 0.319281 1.086947 -v 0.104750 0.332900 1.003619 -v 0.110896 0.702480 1.108007 -v 0.110896 0.701190 1.020352 -v 0.110896 1.394608 1.010147 -v 0.110896 1.395898 1.097803 -v 0.108510 -0.584175 0.513467 -v 0.108510 -0.607967 0.504486 -v 0.108510 -0.648384 0.604497 -v 0.108510 -0.132123 0.684096 -v 0.105469 0.085949 0.733473 -v 0.102515 0.370727 0.772163 -v 0.108510 0.697607 0.776877 -v 0.108510 1.391026 0.766673 -v -0.079881 -0.624591 0.613478 -v -0.079881 -0.648384 0.604497 -v -0.079881 -0.607967 0.504486 -v -0.079881 -0.584175 0.513467 -v -0.076873 0.056857 0.833512 -v -0.076873 0.085949 0.733473 -v -0.079881 -0.132123 0.684096 -v -0.079881 -0.172539 0.784106 -v -0.073951 0.354017 0.874405 -v -0.073951 0.370726 0.772163 -v -0.079881 0.699190 0.884427 -v -0.079881 0.697607 0.776877 -v -0.079880 1.391026 0.766673 -v -0.079880 1.392608 0.874223 -v -0.079881 -0.708611 0.821385 -v -0.079881 -0.732403 0.812404 -v -0.079881 -0.699463 0.730893 -v -0.079881 -0.675671 0.739874 -v -0.076873 -0.003621 1.041479 -v -0.076873 0.020090 0.959944 -v -0.079881 -0.223618 0.910502 -v -0.079881 -0.256559 0.992014 -v -0.073951 0.319281 1.086947 -v -0.073951 0.332900 1.003619 -v -0.079881 0.702480 1.108007 -v -0.079881 0.701190 1.020352 -v -0.079880 1.394608 1.010147 -v -0.079880 1.395898 1.097803 -v -0.107706 -0.584208 0.514088 -v 0.133589 -0.584208 0.514088 -v 0.133589 -0.624624 0.614099 -v -0.107706 -0.624624 0.614099 -v -0.107706 -0.675704 0.740495 -v 0.133589 -0.675704 0.740495 -v 0.133589 -0.708644 0.822006 -v -0.107706 -0.708644 0.822006 -v -0.107706 1.400038 1.379134 -v 0.133589 1.400038 1.379134 -v 0.133589 1.472197 1.378073 -v -0.107706 1.472197 1.378073 -v -0.092393 1.399587 1.348511 -v -0.094841 1.399803 1.363149 -v -0.092393 0.706394 1.374027 -v -0.092393 0.706169 1.358716 -v 0.118276 1.399587 1.348511 -v 0.118276 0.706169 1.358716 -v 0.118276 0.706394 1.374027 -v 0.120724 1.399803 1.363149 -v -0.092393 1.388998 0.628868 -v -0.092393 0.695579 0.639073 -v 0.118276 0.695579 0.639073 -v 0.118276 1.388998 0.628868 -v 0.118276 0.697607 0.776877 -v 0.118276 1.391026 0.766673 -v 0.118276 1.392608 0.874223 -v 0.118276 0.699190 0.884427 -v 0.118276 0.701190 1.020352 -v 0.118276 1.394608 1.010147 -v -0.092393 1.391026 0.766673 -v -0.092393 0.697607 0.776877 -v -0.092393 1.392608 0.874223 -v -0.092393 1.394608 1.010147 -v -0.092393 0.701190 1.020352 -v -0.092393 0.699190 0.884427 -v -0.092393 1.395898 1.097803 -v -0.092393 1.397981 1.239322 -v -0.092393 0.704562 1.249526 -v -0.092393 0.702480 1.108007 -v 0.118276 1.395898 1.097803 -v 0.118276 0.702480 1.108007 -v 0.118276 0.704562 1.249526 -v 0.118276 1.397981 1.239322 -v 0.118276 1.468057 1.096741 -v 0.118276 1.470140 1.238260 -v 0.118276 1.466767 1.009086 -v -0.092393 1.468057 1.096741 -v -0.092393 1.470140 1.238260 -v -0.092393 1.466767 1.009086 -v -0.092393 1.471747 1.347449 -v -0.092393 1.464767 0.873161 -v -0.092393 1.463184 0.765611 -v -0.092393 1.461156 0.627807 -v 0.118276 1.471747 1.347449 -v 0.118276 1.464767 0.873161 -v 0.118276 1.463184 0.765611 -v 0.118276 1.461156 0.627807 -v 0.118276 1.472197 1.378073 -v -0.092393 1.472197 1.378073 -v -0.107706 1.399813 1.363823 -v -0.107706 1.471972 1.362761 -v 0.133589 1.471972 1.362761 -v 0.133589 1.399813 1.363823 -v 0.078397 1.500497 1.250294 -v 0.078397 1.499373 1.127480 -v 0.078397 1.501365 1.345050 -v 0.087913 1.500497 1.250294 -v 0.087913 1.501365 1.345050 -v 0.078397 1.498677 1.051410 -v 0.087913 1.498677 1.051410 -v -0.052514 1.500497 1.250294 -v -0.052514 1.501365 1.345050 -v 0.087913 1.499373 1.127480 -v -0.062030 1.501365 1.345050 -v -0.062030 1.500497 1.250294 -v -0.052514 1.499373 1.127480 -v -0.062030 1.499373 1.127480 -v -0.052514 1.498677 1.051410 -v -0.062030 1.498677 1.051410 -v -0.107706 1.399587 1.348511 -v -0.107706 0.706169 1.358716 -v -0.107706 0.706620 1.389339 -v -0.107706 1.400038 1.379134 -v -0.107706 0.697607 0.776877 -v -0.107706 0.695354 0.623761 -v -0.100015 0.394515 0.626606 -v -0.100015 0.370726 0.772163 -v -0.103805 0.127366 0.591050 -v -0.103805 0.085949 0.733473 -v -0.107706 -0.074583 0.541713 -v -0.107706 -0.132123 0.684096 -v -0.107706 -0.584175 0.513467 -v -0.107706 -0.526635 0.371085 -v 0.133589 1.399587 1.348511 -v 0.133589 1.400038 1.379134 -v 0.133589 0.706620 1.389338 -v 0.133589 0.706169 1.358716 -v 0.133589 0.697607 0.776877 -v 0.126007 0.370727 0.772163 -v 0.126007 0.394515 0.626606 -v 0.133589 0.695354 0.623761 -v 0.129743 0.085949 0.733473 -v 0.129743 0.127366 0.591050 -v 0.133589 -0.132123 0.684096 -v 0.133589 -0.074583 0.541713 -v 0.133589 -0.584175 0.513467 -v 0.133589 -0.526635 0.371085 -v -0.107706 1.388772 0.613557 -v 0.133589 1.388772 0.613557 -v -0.107706 -0.814333 1.082995 -v 0.133589 -0.814333 1.082995 -v 0.133589 -0.362281 1.253623 -v -0.107706 -0.362281 1.253623 -v 0.129743 -0.079720 1.303164 -v -0.103805 -0.079720 1.303164 -v 0.126007 0.275573 1.354391 -v -0.100015 0.275573 1.354391 -v 0.133589 -0.802825 1.054518 -v 0.133589 -0.675671 0.739874 -v 0.133589 -0.624591 0.613478 -v 0.108510 -0.624591 0.613478 -v 0.108510 -0.172539 0.784106 -v 0.133589 -0.172539 0.784106 -v 0.133589 -0.350773 1.225147 -v 0.129743 -0.071437 1.274679 -v 0.129743 0.020090 0.959944 -v 0.133589 -0.223618 0.910502 -v 0.129743 0.056857 0.833512 -v 0.105469 0.056857 0.833512 -v 0.126007 0.280331 1.325280 -v 0.126007 0.332900 1.003619 -v 0.126007 0.354017 0.874404 -v 0.102515 0.354017 0.874404 -v 0.133589 0.701190 1.020352 -v 0.133589 0.699190 0.884427 -v 0.108510 0.699190 0.884427 -v 0.133589 1.391026 0.766673 -v 0.108510 1.392608 0.874223 -v 0.133589 1.392608 0.874223 -v 0.133589 1.394608 1.010147 -v -0.107706 -0.802825 1.054518 -v -0.079881 -0.802825 1.054518 -v -0.079881 -0.761793 0.952983 -v -0.107706 -0.675671 0.739874 -v -0.107706 -0.624591 0.613478 -v -0.103805 -0.071437 1.274679 -v -0.107706 -0.350773 1.225147 -v -0.076873 -0.071437 1.274679 -v -0.076873 -0.041902 1.173115 -v -0.079881 -0.309741 1.123612 -v -0.079881 -0.350773 1.225147 -v -0.103805 0.020090 0.959944 -v -0.103805 0.056857 0.833512 -v -0.107706 -0.172539 0.784106 -v -0.107706 -0.223618 0.910502 -v -0.100015 0.280331 1.325280 -v -0.073951 0.280331 1.325280 -v -0.073951 0.297294 1.221481 -v -0.100015 0.332900 1.003619 -v -0.100015 0.354017 0.874405 -v -0.079881 0.706169 1.358716 -v -0.079881 0.704562 1.249526 -v -0.107706 0.701190 1.020352 -v -0.107706 0.699190 0.884427 -v -0.107706 1.391026 0.766673 -v -0.107706 1.392608 0.874223 -v -0.107706 1.394608 1.010147 -v -0.079880 1.397981 1.239322 -v -0.079880 1.399587 1.348511 -v -0.107706 1.395898 1.097803 -v -0.107706 0.702480 1.108007 -v -0.107706 0.704562 1.249526 -v -0.107706 1.397981 1.239322 -v -0.100015 0.319281 1.086947 -v -0.100015 0.297294 1.221481 -v -0.103805 -0.003621 1.041479 -v -0.103805 -0.041902 1.173115 -v -0.107706 -0.256559 0.992014 -v -0.107706 -0.309741 1.123612 -v -0.107706 -0.761793 0.952983 -v -0.107706 -0.708611 0.821385 -v 0.133589 1.395898 1.097803 -v 0.133589 1.397981 1.239322 -v 0.133589 0.704562 1.249526 -v 0.133589 0.702480 1.108007 -v 0.126007 0.297294 1.221481 -v 0.126007 0.319281 1.086947 -v 0.129743 -0.041902 1.173115 -v 0.129743 -0.003621 1.041479 -v 0.133589 -0.309741 1.123612 -v 0.133589 -0.256559 0.992013 -v 0.133589 -0.761793 0.952983 -v 0.133589 -0.708611 0.821385 -v -0.107706 1.460932 0.612495 -v 0.133589 1.460932 0.612495 -v 0.109951 1.397981 1.239322 -v 0.109951 1.399587 1.348511 -v 0.109951 0.706169 1.358716 -v 0.109951 0.704562 1.249526 -v 0.103865 0.280331 1.325280 -v 0.103865 0.297294 1.221481 -v 0.106864 -0.071437 1.274679 -v 0.106864 -0.041902 1.173115 -v 0.109951 -0.350773 1.225147 -v 0.109951 -0.309741 1.123612 -v 0.109951 -0.802825 1.054518 -v 0.109951 -0.761793 0.952983 -v 0.110896 -0.708611 0.821385 -v 0.110896 -0.675671 0.739874 -v 0.107779 -0.003621 1.041479 -v 0.110896 -0.256559 0.992014 -v 0.110896 -0.223618 0.910502 -v 0.107779 0.020090 0.959944 -v 0.104750 0.319281 1.086947 -v 0.104750 0.332900 1.003619 -v 0.110896 0.702480 1.108007 -v 0.110896 0.701190 1.020352 -v 0.110896 1.394608 1.010147 -v 0.110896 1.395898 1.097803 -v 0.108510 -0.584175 0.513467 -v 0.108510 -0.132123 0.684096 -v 0.105469 0.085949 0.733473 -v 0.102515 0.370727 0.772163 -v 0.108510 0.697607 0.776877 -v 0.108510 1.391026 0.766673 -v -0.079881 -0.624591 0.613478 -v -0.079881 -0.584175 0.513467 -v -0.076873 0.056857 0.833512 -v -0.076873 0.085949 0.733473 -v -0.079881 -0.132123 0.684096 -v -0.079881 -0.172539 0.784106 -v -0.073951 0.354017 0.874405 -v -0.073951 0.370726 0.772163 -v -0.079881 0.699190 0.884427 -v -0.079881 0.697607 0.776877 -v -0.079880 1.391026 0.766673 -v -0.079880 1.392608 0.874223 -v -0.079881 -0.708611 0.821385 -v -0.079881 -0.675671 0.739874 -v -0.076873 -0.003621 1.041479 -v -0.076873 0.020090 0.959944 -v -0.079881 -0.223618 0.910502 -v -0.079881 -0.256559 0.992014 -v -0.073951 0.319281 1.086947 -v -0.073951 0.332900 1.003619 -v -0.079881 0.702480 1.108007 -v -0.079881 0.701190 1.020352 -v -0.079880 1.394608 1.010147 -v -0.079880 1.395898 1.097803 -vn -1.0000 -0.0000 -0.0000 -vn -0.9997 -0.0235 -0.0038 -vn -0.9999 0.0128 0.0037 -vn -0.9999 0.0131 0.0047 -vn -0.9999 0.0139 0.0032 -vn -0.9999 0.0156 0.0062 -vn -0.9998 0.0164 0.0066 -vn 1.0000 -0.0000 -0.0000 -vn 0.9997 -0.0252 0.0004 -vn 0.9999 0.0137 0.0022 -vn 0.9999 0.0148 0.0025 -vn 0.9998 0.0171 0.0043 -vn 0.9998 0.0178 0.0052 -vn 0.9998 0.0172 0.0062 -vn -0.0000 0.3532 -0.9356 -vn -0.0000 -0.9272 -0.3747 -vn -0.0000 -0.3747 0.9272 -vn 0.9999 0.0126 0.0036 -vn 0.9999 0.0164 0.0046 -vn 0.9999 0.0131 0.0038 -vn 0.9999 0.0158 0.0046 -vn 0.9999 0.0154 0.0056 -vn 0.9999 0.0104 0.0017 -vn 0.9999 0.0123 0.0020 -vn 0.9999 0.0131 0.0022 -vn 0.9998 -0.0176 0.0003 -vn 0.9998 -0.0220 0.0003 -vn -0.9999 0.0129 0.0052 -vn -0.9999 0.0115 0.0084 -vn -0.9998 0.0162 0.0061 -vn -0.9999 0.0094 0.0038 -vn -0.9999 0.0091 0.0066 -vn -0.9999 0.0126 0.0049 -vn -0.9999 0.0139 0.0054 -vn -0.9999 0.0148 0.0060 -vn -0.9999 0.0102 0.0030 -vn -0.9999 0.0104 0.0033 -vn -1.0000 0.0080 0.0023 -vn -1.0000 0.0088 0.0020 -vn -0.9999 0.0116 0.0034 -vn -0.9999 0.0120 0.0044 -vn -0.9999 0.0126 0.0029 -vn -0.9998 -0.0179 0.0003 -vn -0.9999 -0.0137 -0.0022 -vn -0.9998 -0.0207 -0.0034 -vn -0.9998 -0.0187 -0.0031 -vn -0.9999 0.0107 0.0031 -vn -0.9999 0.0110 0.0038 -vn -0.9999 0.0136 0.0055 -vn 0.9998 -0.0198 0.0003 -vn 0.9999 0.0113 0.0018 -vn 0.9999 0.0122 0.0020 -vn 0.9999 0.0139 0.0037 -vn 0.9999 0.0144 0.0042 -vn 0.9999 0.0140 0.0050 -vn 1.0000 -0.0015 0.0017 -vn 1.0000 -0.0012 -0.0020 -vn -1.0000 -0.0008 0.0022 -vn -1.0000 -0.0010 -0.0023 -vn -1.0000 -0.0004 -0.0023 -vn -1.0000 -0.0023 0.0010 -vn 1.0000 -0.0009 0.0023 -vn 0.9999 -0.0150 0.0002 -vn 1.0000 0.0086 0.0014 -vn 0.9999 0.0109 0.0032 -vn 0.9999 0.0135 0.0042 -vn 0.9999 0.0115 0.0032 -vn 0.9999 0.0149 0.0046 -vn 0.9999 0.0121 0.0035 -vn 1.0000 0.0095 0.0015 -vn 0.9999 -0.0167 0.0002 -vn 0.9999 0.0125 0.0033 -vn 0.9999 0.0160 0.0052 -vn 0.9999 0.0101 0.0017 -vn 0.9998 -0.0183 0.0003 -vn -0.0000 -0.9999 0.0147 -vn -0.9999 0.0114 0.0045 -vn -0.9999 0.0108 0.0079 -vn -0.9999 0.0153 0.0057 -vn -1.0000 0.0095 0.0027 -vn -0.9999 0.0102 0.0025 -vn -0.9999 -0.0171 -0.0028 -vn -0.9999 0.0102 0.0042 -vn -0.9999 0.0099 0.0072 -vn -0.9999 0.0139 0.0053 -vn -1.0000 0.0087 0.0025 -vn -1.0000 0.0094 0.0022 -vn -0.9999 -0.0153 -0.0025 -vn -0.0000 -0.3532 0.9356 -vn -0.0000 0.3531 -0.9356 -vn -0.0000 -0.3531 0.9356 -vn -0.0000 0.3747 -0.9271 -vn -0.0000 -0.3747 0.9271 -vn -0.0000 0.3747 -0.9272 -vn -0.0000 0.0147 0.9999 -vn 0.0001 -0.0000 -1.0000 -vn -0.0000 -0.0000 -1.0000 -vn -1.0000 -0.0023 -0.0008 -vn -1.0000 0.0024 -0.0010 -vn -1.0000 0.0024 -0.0005 -vn 1.0000 0.0018 0.0016 -vn 1.0000 -0.0021 0.0012 -vn 1.0000 0.0024 0.0010 -vn -1.0000 -0.0010 -0.0024 -vn -0.0000 -0.0157 -0.9999 -vn -0.9994 -0.0339 0.0005 -vn -0.8112 0.0604 0.5816 -vn 0.9863 0.0024 0.1649 -vn -0.0000 -0.0147 -0.9999 -vn -0.7010 -0.1212 0.7028 -vn -0.1631 -0.0109 0.9866 -vn -0.0000 0.9999 -0.0147 -vn -0.5878 0.8090 -0.0079 -vn -0.3071 0.8163 0.4892 -vn 0.7010 -0.1212 0.7028 -vn 0.4897 0.4583 0.7417 -vn -0.0000 -0.0001 -1.0000 -vn -0.6139 -0.7893 0.0125 -vn -0.6122 -0.7906 0.0092 -vn -0.6101 -0.7922 0.0123 -vn -0.0001 0.9999 -0.0147 -vn -0.0000 -0.9999 0.0148 -vn -0.6034 -0.7973 0.0117 -vn -0.6032 -0.7975 0.0092 -vn -0.6015 -0.7988 0.0126 -vn 0.5527 0.8333 -0.0106 -vn 0.5512 0.8343 -0.0123 -vn 0.5496 0.8354 -0.0110 -vn 0.3193 0.8162 0.4815 -vn -0.0000 0.7985 -0.6020 -vn 0.6049 -0.7962 0.0136 -vn 0.6034 -0.7973 0.0117 -vn 0.6046 -0.7965 0.0096 -vn -0.0000 0.9999 -0.0146 -vn -0.0000 -0.0000 1.0000 -vn 0.5590 0.1816 0.8090 -vn 0.5651 0.8249 -0.0121 -vn 0.5646 0.8252 -0.0142 -vn 0.0001 0.9999 -0.0147 -vn -0.0023 1.0000 -0.0079 -vn -0.0000 1.0000 -0.0092 -vn -0.0023 1.0000 -0.0082 -vn -0.0022 1.0000 -0.0081 -vn -0.0000 0.9999 -0.0115 -vn -0.0021 1.0000 -0.0083 -vn 0.0001 1.0000 -0.0068 -vn 0.0023 0.9999 -0.0102 -vn -0.0000 1.0000 -0.0070 -vn 0.0023 0.9999 -0.0101 -vn 0.0022 0.9999 -0.0103 -vn -0.0000 1.0000 -0.0091 -vn 0.0021 0.9999 -0.0100 -vn -0.0001 0.9999 -0.0114 -vn -0.0000 0.0807 0.9967 -vn 0.6133 -0.7897 0.0135 -vn 0.6100 -0.7923 0.0113 -vn 0.6134 -0.7897 0.0099 -vn 0.5612 0.8276 -0.0107 -vn 0.5596 0.8286 -0.0146 -vn 0.5585 0.8295 -0.0106 -vn -0.5512 0.8343 -0.0123 -vn -0.5533 0.8329 -0.0120 -vn -0.5506 0.8347 -0.0099 -vn -0.6188 -0.7855 0.0130 -vn -0.6172 -0.7867 0.0116 -vn -0.5591 0.8290 -0.0146 -vn -0.5617 0.8272 -0.0124 -vn -0.5593 0.8289 -0.0099 -vn 0.6172 -0.7867 0.0116 -vn 0.6154 -0.7882 0.0111 -vn -0.5639 0.8257 -0.0139 -vn -0.5651 0.8250 -0.0121 -vn -1.0000 -0.0024 -0.0018 -vn -1.0000 -0.0026 -0.0020 -vn 1.0000 0.0006 0.0032 -vn 1.0000 -0.0030 0.0014 -vn 1.0000 0.0006 0.0030 -vn 1.0000 -0.0028 0.0013 -vn 1.0000 0.0005 0.0027 -vn 1.0000 -0.0025 0.0011 -vn -1.0000 -0.0020 -0.0019 -vn -1.0000 -0.0030 -0.0018 -vn 1.0000 0.0009 0.0033 -vn 1.0000 -0.0031 0.0014 -vn -0.9997 -0.0256 0.0004 -vn -0.9999 0.0139 0.0023 -vn -0.9999 0.0149 0.0027 -vn -0.9998 0.0179 0.0041 -vn -0.9998 0.0169 0.0057 -vn -0.9998 0.0180 0.0052 -vn 0.9997 -0.0231 -0.0038 -vn 0.9999 0.0126 0.0037 -vn 0.9999 0.0130 0.0025 -vn 0.9999 0.0135 0.0045 -vn 0.9999 0.0151 0.0062 -vn 0.9998 0.0162 0.0065 -vn 0.9999 0.0124 0.0051 -vn 0.9999 0.0095 0.0064 -vn 0.9999 0.0142 0.0082 -vn 0.9999 0.0146 0.0059 -vn 0.9999 0.0101 0.0029 -vn 0.9999 0.0104 0.0022 -vn 0.9999 0.0115 0.0033 -vn 0.9999 0.0122 0.0039 -vn 0.9998 -0.0176 -0.0029 -vn 0.9998 -0.0204 -0.0033 -vn -0.9999 0.0133 0.0039 -vn -0.9999 0.0124 0.0042 -vn -0.9998 0.0166 0.0049 -vn -0.9999 0.0104 0.0027 -vn -0.9999 0.0130 0.0046 -vn -0.9999 0.0158 0.0037 -vn -0.9999 0.0152 0.0051 -vn -0.9999 0.0160 0.0047 -vn -0.9999 0.0105 0.0017 -vn -0.9999 0.0109 0.0018 -vn -1.0000 0.0084 0.0014 -vn -0.9999 0.0125 0.0020 -vn -0.9999 0.0135 0.0024 -vn -0.9998 -0.0178 -0.0029 -vn -0.9999 -0.0146 0.0002 -vn -0.9998 -0.0223 0.0003 -vn -0.9998 -0.0201 0.0003 -vn -0.9999 0.0115 0.0019 -vn -0.9999 0.0125 0.0022 -vn -0.9999 0.0146 0.0042 -vn -0.9999 0.0137 0.0047 -vn 0.9998 -0.0184 -0.0030 -vn 0.9999 0.0106 0.0031 -vn 0.9999 0.0108 0.0025 -vn 0.9999 0.0113 0.0037 -vn 0.9999 0.0128 0.0053 -vn 0.9999 0.0134 0.0054 -vn 1.0000 -0.0002 0.0023 -vn 1.0000 -0.0023 -0.0009 -vn 1.0000 -0.0023 -0.0005 -vn -1.0000 -0.0022 0.0007 -vn -1.0000 -0.0018 -0.0014 -vn 0.9999 -0.0141 -0.0023 -vn 1.0000 0.0082 0.0024 -vn 0.9999 0.0103 0.0042 -vn 1.0000 0.0077 0.0052 -vn 0.9999 0.0112 0.0068 -vn 0.9999 0.0108 0.0045 -vn 0.9999 0.0086 0.0057 -vn 0.9999 0.0124 0.0075 -vn 1.0000 0.0090 0.0026 -vn 1.0000 0.0093 0.0019 -vn 0.9999 -0.0159 -0.0026 -vn 0.9999 0.0115 0.0048 -vn 0.9999 0.0091 0.0061 -vn 0.9999 0.0131 0.0081 -vn 1.0000 0.0096 0.0028 -vn 1.0000 0.0097 0.0025 -vn 0.9998 -0.0173 -0.0028 -vn -0.9999 0.0128 0.0029 -vn -0.9999 0.0129 0.0038 -vn -0.9999 0.0154 0.0059 -vn -0.9999 0.0100 0.0016 -vn -0.9998 -0.0181 0.0003 -vn -0.9999 0.0115 0.0026 -vn -0.9999 0.0117 0.0034 -vn -0.9999 0.0142 0.0049 -vn -1.0000 0.0091 0.0015 -vn -0.9999 -0.0161 0.0002 -vn -1.0000 -0.0007 -0.0023 -vn -1.0000 0.0015 -0.0020 -vn 1.0000 0.0024 0.0002 -vn 1.0000 -0.0010 0.0024 -vn 1.0000 -0.0005 0.0024 -vn -0.9863 0.0024 0.1649 -vn 0.9994 -0.0339 0.0005 -vn 0.8272 0.5267 0.1956 -vn 0.0523 0.0147 0.9985 -vn -0.5622 0.8114 0.1598 -vn -0.0523 0.0147 0.9985 -vn -0.6045 -0.7966 0.0099 -vn -0.6062 -0.7953 0.0064 -vn -0.6024 -0.7982 0.0065 -vn -0.5965 -0.8026 0.0074 -vn -0.5945 -0.8041 0.0065 -vn 0.5446 0.8387 -0.0052 -vn 0.5443 0.8388 -0.0077 -vn 0.0272 0.8176 0.5752 -vn 0.5986 -0.8010 0.0076 -vn 0.5965 -0.8026 0.0074 -vn 0.5591 -0.1816 -0.8090 -vn -0.4756 0.3454 -0.8090 -vn -0.5806 0.8103 0.0800 -vn 0.5620 0.8271 -0.0076 -vn 0.5633 0.8262 -0.0092 -vn 0.5602 0.8283 -0.0084 -vn -0.0026 1.0000 -0.0090 -vn -0.0023 1.0000 -0.0091 -vn 0.0010 1.0000 -0.0068 -vn -0.0011 0.9999 -0.0114 -vn -0.0010 0.9999 -0.0116 -vn 0.0011 1.0000 -0.0070 -vn 0.0026 1.0000 -0.0091 -vn -0.0009 0.9999 -0.0114 -vn 0.0010 1.0000 -0.0071 -vn 0.0023 1.0000 -0.0092 -vn 0.0009 1.0000 -0.0069 -vn -0.0011 0.9999 -0.0112 -vn 0.6062 -0.7953 0.0075 -vn 0.6032 -0.7975 0.0095 -vn 0.6028 -0.7979 0.0055 -vn 0.5523 0.8336 -0.0053 -vn 0.5538 0.8326 -0.0089 -vn 0.5506 0.8347 -0.0094 -vn -0.5443 0.8388 -0.0077 -vn -0.5451 0.8383 -0.0054 -vn -0.6137 -0.7895 0.0096 -vn -0.6160 -0.7877 0.0066 -vn -0.6141 -0.7892 0.0072 -vn -0.5500 0.8351 -0.0079 -vn -0.5528 0.8333 -0.0100 -vn -0.5528 0.8333 -0.0055 -vn 0.6141 -0.7892 0.0072 -vn 0.6127 -0.7902 0.0089 -vn 0.6134 -0.7898 0.0051 -vn -0.5601 0.8284 -0.0071 -vn -0.5625 0.8268 -0.0098 -vn -0.5620 0.8271 -0.0076 -vn -1.0000 0.0013 -0.0027 -vn -1.0000 -0.0028 -0.0010 -vn -1.0000 0.0014 -0.0030 -vn -1.0000 -0.0030 -0.0012 -vn 1.0000 0.0027 0.0019 -vn 1.0000 0.0025 0.0018 -vn 1.0000 0.0022 0.0016 -vn -1.0000 0.0014 -0.0024 -vn -1.0000 -0.0026 -0.0009 -vn -1.0000 0.0016 -0.0031 -vn -1.0000 -0.0032 -0.0013 -vn 1.0000 0.0029 0.0018 -vn -0.0000 0.4647 -0.8855 -vn -0.9102 0.0020 -0.4142 -vn -0.0000 0.9122 -0.4097 -vn -0.4604 0.0043 -0.8877 -vn -0.0000 -0.9082 -0.4186 -vn 0.4604 0.0043 -0.8877 -vn -0.0000 -0.4560 -0.8900 -vn 0.9102 0.0020 -0.4142 -vn -0.0000 0.8137 0.5813 -vn -0.0000 -0.8193 0.5734 -vn 0.8165 -0.0028 0.5773 -vn 0.9989 0.0002 -0.0478 -vn -0.0000 -0.9986 -0.0527 -vn -0.9989 0.0002 -0.0478 -vn -0.8165 -0.0028 0.5773 -vn -0.0000 0.9991 -0.0430 -vn -0.0000 0.8842 -0.4672 -vn -0.3799 0.0045 -0.9250 -vn -0.8819 0.0023 -0.4715 -vn -0.0000 -0.3754 -0.9269 -vn -0.0000 -0.8796 -0.4758 -vn 0.3799 0.0045 -0.9250 -vn 0.8819 0.0023 -0.4715 -vn -0.0000 0.9984 -0.0570 -vn -0.0000 -0.9978 -0.0667 -vn 0.9981 0.0003 -0.0619 -vn -0.9981 0.0003 -0.0619 -vn 0.0010 0.1857 -0.9826 -vn -0.0000 0.2961 -0.9552 -vn -0.0000 -0.0121 -0.9999 -vn -0.0000 0.0611 -0.9981 -vn -0.0004 0.1846 -0.9828 -vn -0.0002 -0.2679 0.9635 -vn 0.0035 -0.2641 0.9645 -vn -0.0000 -0.1578 0.9875 -vn -0.0002 -0.1570 0.9876 -vn -0.0000 -0.1117 0.9937 -vn -0.0000 -0.0328 0.9995 -vn -0.0000 0.2830 -0.9591 -vn -0.0002 0.1732 -0.9849 -vn -0.0032 0.2825 -0.9593 -vn 0.0001 0.1740 -0.9847 -vn -0.0000 0.0826 -0.9966 -vn -0.0000 0.0073 -1.0000 -vn -0.0000 0.0829 -0.9966 -vn -0.0000 -0.2880 0.9576 -vn -0.0001 -0.1775 0.9841 -vn 0.0034 -0.2874 0.9578 -vn -0.0000 -0.0745 0.9972 -vn -0.0000 -0.1776 0.9841 -vn -0.0000 0.0001 1.0000 -vn -0.0000 -0.0748 0.9972 -vn -0.0000 0.0003 1.0000 -vn -0.0000 0.0199 -0.9998 -vn -0.0000 -0.0151 0.9999 -vn -0.0000 -0.0918 0.9958 -vn -0.0000 -0.0155 0.9999 -vn -0.0000 -0.0920 0.9958 -vn -0.0000 0.0971 -0.9953 -vn -0.0000 0.0203 -0.9998 -vn 0.0001 0.1660 -0.9861 -vn -0.0002 0.1651 -0.9863 -vn -0.0000 -0.1684 0.9857 -vn -0.0000 -0.1689 0.9856 -vn -0.0029 0.2734 -0.9619 -vn -0.0000 0.2739 -0.9618 -vn 0.0032 -0.2766 0.9610 -vn -0.0000 -0.2773 0.9608 -vn -0.0000 -0.2689 0.9632 -vn -0.0002 -0.1611 0.9869 -vn 0.0028 -0.2682 0.9634 -vn -0.0000 -0.1049 0.9945 -vn -0.0000 -0.1614 0.9869 -vn -0.0000 -0.0272 0.9996 -vn -0.0000 -0.1051 0.9945 -vn -0.0000 -0.0268 0.9996 -vn -0.0000 0.0316 -0.9995 -vn -0.0000 0.1103 -0.9939 -vn -0.0000 0.0320 -0.9995 -vn -0.0000 0.1584 -0.9874 -vn -0.0000 0.1586 -0.9873 -vn -0.0026 0.2649 -0.9643 -vn -0.0033 0.2653 -0.9642 -vn 0.0011 -0.1786 0.9839 -vn 0.0001 -0.2843 0.9587 -vn 0.0010 0.1741 -0.9847 -vn 0.0001 0.2793 -0.9602 -vn -0.0000 0.0070 -1.0000 -vn -0.0005 0.1732 -0.9849 -vn 0.0012 -0.1692 0.9856 -vn -0.0000 -0.2736 0.9618 -vn -0.0007 0.1654 -0.9862 -vn 0.0008 0.1662 -0.9861 -vn 0.0001 0.2705 -0.9627 -vn -0.0000 -0.1617 0.9868 -vn -0.0000 -0.2655 0.9641 -vn 0.0006 0.1588 -0.9873 -vn 0.0002 0.2622 -0.9650 -vn -0.0000 0.2686 -0.9633 -vn -0.0005 0.1583 -0.9874 -vn -0.0000 0.0315 -0.9995 -vn -0.0000 0.3844 -0.9232 -vn -0.0000 0.0973 -0.9953 -vn -0.0000 0.1104 -0.9939 -vt 0.293178 0.253940 -vt 0.294447 0.228588 -vt 0.295035 0.228647 -vt 0.304352 0.255062 -vt 0.306516 0.266333 -vt 0.303659 0.266999 -vt 0.306561 0.276133 -vt 0.303722 0.277446 -vt 0.307027 0.283572 -vt 0.304150 0.285474 -vt 0.306350 0.302210 -vt 0.309343 0.301189 -vt 0.306466 0.303091 -vt 0.311562 0.308066 -vt 0.310293 0.282714 -vt 0.312150 0.308007 -vt 0.321467 0.281591 -vt 0.323630 0.270321 -vt 0.324407 0.281296 -vt 0.320773 0.269655 -vt 0.323675 0.260521 -vt 0.320836 0.259208 -vt 0.324142 0.253082 -vt 0.323465 0.234444 -vt 0.326458 0.235465 -vt 0.326342 0.236346 -vt 0.344109 0.298827 -vt 0.335283 0.299709 -vt 0.335283 0.298827 -vt 0.335283 0.316891 -vt 0.334749 0.308066 -vt 0.335283 0.308066 -vt 0.332086 0.316891 -vt 0.329413 0.308066 -vt 0.332086 0.308066 -vt 0.308583 0.313537 -vt 0.307778 0.310698 -vt 0.308583 0.311077 -vt 0.358445 0.300384 -vt 0.356072 0.291558 -vt 0.358445 0.291558 -vt 0.344050 0.299709 -vt 0.343168 0.308535 -vt 0.343168 0.299709 -vt 0.311956 0.226836 -vt 0.312647 0.226336 -vt 0.312531 0.227217 -vt 0.318889 0.231420 -vt 0.321559 0.232227 -vt 0.321444 0.233108 -vt 0.309478 0.253954 -vt 0.310331 0.243953 -vt 0.310046 0.254216 -vt 0.316321 0.257119 -vt 0.319244 0.249844 -vt 0.318842 0.258285 -vt 0.309343 0.266992 -vt 0.309915 0.267125 -vt 0.316229 0.268597 -vt 0.318766 0.269187 -vt 0.309705 0.282773 -vt 0.316791 0.282061 -vt 0.319401 0.281799 -vt 0.323324 0.306885 -vt 0.326264 0.306590 -vt 0.318648 0.307354 -vt 0.321258 0.307092 -vt 0.294841 0.309817 -vt 0.295533 0.310318 -vt 0.294957 0.310698 -vt 0.309382 0.311087 -vt 0.310180 0.313158 -vt 0.309382 0.313547 -vt 0.301775 0.305234 -vt 0.304445 0.304426 -vt 0.301891 0.306115 -vt 0.292364 0.282700 -vt 0.293217 0.292701 -vt 0.292641 0.293081 -vt 0.363166 0.279737 -vt 0.365464 0.288654 -vt 0.363407 0.290002 -vt 0.299207 0.279535 -vt 0.302129 0.286810 -vt 0.299575 0.288498 -vt 0.292229 0.269661 -vt 0.292932 0.282437 -vt 0.363089 0.266827 -vt 0.365195 0.278809 -vt 0.299115 0.268057 -vt 0.301727 0.278369 -vt 0.292590 0.253881 -vt 0.363533 0.251241 -vt 0.365129 0.266361 -vt 0.299676 0.254593 -vt 0.301651 0.267466 -vt 0.307293 0.255357 -vt 0.306209 0.229769 -vt 0.309150 0.230064 -vt 0.302287 0.254855 -vt 0.301534 0.229299 -vt 0.304144 0.229561 -vt 0.365629 0.251460 -vt 0.365497 0.225955 -vt 0.367593 0.226175 -vt 0.299850 0.229130 -vt 0.295275 0.254151 -vt 0.297132 0.228857 -vt 0.297479 0.268438 -vt 0.294838 0.269054 -vt 0.297581 0.280286 -vt 0.294957 0.281500 -vt 0.297928 0.289587 -vt 0.295268 0.291345 -vt 0.297469 0.308081 -vt 0.300244 0.307204 -vt 0.297584 0.308962 -vt 0.316965 0.307523 -vt 0.312390 0.282503 -vt 0.315107 0.282230 -vt 0.314593 0.268215 -vt 0.311952 0.267600 -vt 0.314696 0.256367 -vt 0.312071 0.255153 -vt 0.315042 0.247067 -vt 0.314583 0.228573 -vt 0.317358 0.229450 -vt 0.317242 0.230331 -vt 0.306973 0.313537 -vt 0.306973 0.311077 -vt 0.358543 0.291558 -vt 0.356072 0.282733 -vt 0.358543 0.282733 -vt 0.317158 0.310156 -vt 0.314247 0.307796 -vt 0.318841 0.309987 -vt 0.300043 0.226498 -vt 0.297326 0.226225 -vt 0.301727 0.226667 -vt 0.295229 0.226014 -vt 0.304337 0.226929 -vt 0.306403 0.227137 -vt 0.309343 0.227432 -vt 0.312343 0.310639 -vt 0.314440 0.310429 -vt 0.321452 0.309724 -vt 0.323517 0.309517 -vt 0.326458 0.309222 -vt 0.311755 0.310698 -vt 0.294641 0.225955 -vt 0.360993 0.306747 -vt 0.361125 0.281242 -vt 0.363089 0.306527 -vt 0.359028 0.281461 -vt 0.360624 0.266341 -vt 0.358584 0.265875 -vt 0.360690 0.253894 -vt 0.358661 0.252966 -vt 0.360960 0.244048 -vt 0.308583 0.313158 -vt 0.321583 0.311087 -vt 0.320785 0.312673 -vt 0.320785 0.310698 -vt 0.376920 0.252000 -vt 0.378887 0.243782 -vt 0.378547 0.252746 -vt 0.376855 0.263848 -vt 0.378492 0.264224 -vt 0.377413 0.277861 -vt 0.379096 0.277687 -vt 0.379351 0.303149 -vt 0.381034 0.302974 -vt 0.312589 0.313121 -vt 0.313388 0.311087 -vt 0.313388 0.313510 -vt 0.367648 0.251137 -vt 0.370057 0.244028 -vt 0.369644 0.252056 -vt 0.367593 0.262040 -vt 0.369601 0.262504 -vt 0.368253 0.274650 -vt 0.370318 0.274439 -vt 0.372224 0.299729 -vt 0.318376 0.312774 -vt 0.317459 0.310698 -vt 0.318376 0.310698 -vt 0.311790 0.311087 -vt 0.311790 0.313510 -vt 0.372279 0.274758 -vt 0.374688 0.281868 -vt 0.372664 0.283200 -vt 0.372224 0.263855 -vt 0.374275 0.273839 -vt 0.372884 0.251245 -vt 0.374232 0.263392 -vt 0.374949 0.251457 -vt 0.374790 0.225955 -vt 0.376855 0.226167 -vt 0.319986 0.311087 -vt 0.319986 0.313062 -vt 0.381098 0.277104 -vt 0.383066 0.285322 -vt 0.381415 0.286406 -vt 0.381034 0.265256 -vt 0.382726 0.276358 -vt 0.381592 0.251243 -vt 0.382671 0.264880 -vt 0.383275 0.251417 -vt 0.383530 0.225955 -vt 0.385213 0.226130 -vt 0.392620 0.299275 -vt 0.391603 0.298392 -vt 0.392620 0.298392 -vt 0.390368 0.226837 -vt 0.391386 0.225955 -vt 0.391386 0.226837 -vt 0.314405 0.312774 -vt 0.315423 0.310698 -vt 0.315423 0.312774 -vt 0.390151 0.302769 -vt 0.389133 0.301887 -vt 0.390151 0.301887 -vt 0.322501 0.312390 -vt 0.323518 0.310698 -vt 0.323518 0.312390 -vt 0.387899 0.226837 -vt 0.388916 0.225955 -vt 0.388916 0.226837 -vt 0.387682 0.306059 -vt 0.386664 0.305177 -vt 0.387682 0.305177 -vt 0.385430 0.226837 -vt 0.386447 0.225955 -vt 0.386447 0.226837 -vt 0.313388 0.312806 -vt 0.314405 0.310698 -vt 0.314405 0.312806 -vt 0.357950 0.318035 -vt 0.356072 0.309209 -vt 0.357950 0.309209 -vt 0.357978 0.309209 -vt 0.356072 0.300384 -vt 0.357978 0.300384 -vt 0.354444 0.309853 -vt 0.355974 0.318679 -vt 0.354444 0.318679 -vt 0.385202 0.303149 -vt 0.384320 0.311974 -vt 0.384320 0.303149 -vt 0.344050 0.308535 -vt 0.343168 0.317360 -vt 0.319986 0.311077 -vt 0.319181 0.312673 -vt 0.319181 0.310698 -vt 0.310985 0.310698 -vt 0.310180 0.313500 -vt 0.310180 0.311077 -vt 0.311790 0.313500 -vt 0.311790 0.311077 -vt 0.383439 0.311974 -vt 0.318376 0.311077 -vt 0.302190 0.319524 -vt 0.303071 0.310698 -vt 0.303071 0.319524 -vt 0.367121 0.306747 -vt 0.366239 0.315572 -vt 0.366239 0.306747 -vt 0.351814 0.309853 -vt 0.344109 0.282733 -vt 0.351814 0.285362 -vt 0.344109 0.310630 -vt 0.344109 0.285362 -vt 0.358584 0.279706 -vt 0.355926 0.254415 -vt 0.358584 0.254344 -vt 0.349537 0.226101 -vt 0.346806 0.228667 -vt 0.346806 0.226028 -vt 0.351228 0.228785 -vt 0.351228 0.226146 -vt 0.349537 0.282587 -vt 0.346806 0.280021 -vt 0.349537 0.279948 -vt 0.351228 0.279903 -vt 0.351228 0.282542 -vt 0.344700 0.282717 -vt 0.346806 0.282660 -vt 0.353851 0.282472 -vt 0.353851 0.279832 -vt 0.355926 0.279777 -vt 0.355926 0.282416 -vt 0.358584 0.282345 -vt 0.344700 0.225971 -vt 0.353851 0.226217 -vt 0.355926 0.228911 -vt 0.355926 0.226272 -vt 0.358584 0.226343 -vt 0.343168 0.324984 -vt 0.335373 0.299709 -vt 0.343078 0.299709 -vt 0.351814 0.282733 -vt 0.344417 0.228603 -vt 0.344109 0.225955 -vt 0.344417 0.280085 -vt 0.344700 0.280078 -vt 0.334716 0.308066 -vt 0.324943 0.312263 -vt 0.324464 0.314893 -vt 0.324383 0.312228 -vt 0.367593 0.306747 -vt 0.367298 0.315012 -vt 0.367298 0.307307 -vt 0.358428 0.314605 -vt 0.357950 0.311976 -vt 0.358510 0.311941 -vt 0.367593 0.314421 -vt 0.368064 0.314113 -vt 0.389591 0.251223 -vt 0.390151 0.225955 -vt 0.390151 0.251223 -vt 0.299183 0.315122 -vt 0.297725 0.313022 -vt 0.299183 0.312390 -vt 0.358569 0.300384 -vt 0.358274 0.300944 -vt 0.315983 0.312604 -vt 0.315423 0.314712 -vt 0.315423 0.312604 -vt 0.365944 0.307307 -vt 0.363284 0.306747 -vt 0.358274 0.308649 -vt 0.299183 0.317229 -vt 0.297725 0.315392 -vt 0.292577 0.312539 -vt 0.294247 0.310698 -vt 0.294247 0.312806 -vt 0.314965 0.312774 -vt 0.314405 0.313365 -vt 0.358510 0.309209 -vt 0.357950 0.311941 -vt 0.318019 0.310698 -vt 0.317459 0.312774 -vt 0.376419 0.310669 -vt 0.376751 0.309046 -vt 0.376751 0.311120 -vt 0.358569 0.309209 -vt 0.296266 0.312535 -vt 0.297725 0.310698 -vt 0.297725 0.312806 -vt 0.365944 0.315012 -vt 0.358584 0.315012 -vt 0.361208 0.315572 -vt 0.358584 0.315572 -vt 0.323263 0.313195 -vt 0.323823 0.312604 -vt 0.323823 0.313195 -vt 0.376419 0.314421 -vt 0.325401 0.313430 -vt 0.325961 0.310698 -vt 0.325961 0.313430 -vt 0.361208 0.315012 -vt 0.363284 0.315572 -vt 0.292577 0.316376 -vt 0.294247 0.315537 -vt 0.294247 0.317229 -vt 0.329117 0.308626 -vt 0.326458 0.308066 -vt 0.361208 0.307307 -vt 0.358584 0.306747 -vt 0.361208 0.306747 -vt 0.324383 0.312604 -vt 0.323823 0.314296 -vt 0.316441 0.315199 -vt 0.317001 0.312576 -vt 0.317001 0.315199 -vt 0.363284 0.307307 -vt 0.329117 0.316331 -vt 0.329413 0.316891 -vt 0.326458 0.316891 -vt 0.376714 0.299940 -vt 0.376419 0.308766 -vt 0.376419 0.299940 -vt 0.322958 0.312390 -vt 0.387122 0.251223 -vt 0.387682 0.225955 -vt 0.387682 0.251223 -vt 0.313845 0.312806 -vt 0.323061 0.312390 -vt 0.322501 0.315013 -vt 0.376419 0.314126 -vt 0.392060 0.251223 -vt 0.392620 0.225955 -vt 0.392620 0.251223 -vt 0.314863 0.312774 -vt 0.292229 0.312539 -vt 0.292577 0.310710 -vt 0.292229 0.314908 -vt 0.292577 0.314908 -vt 0.294247 0.317217 -vt 0.294595 0.315388 -vt 0.294595 0.317217 -vt 0.294247 0.315388 -vt 0.294595 0.313019 -vt 0.294247 0.313019 -vt 0.294595 0.311551 -vt 0.292229 0.316376 -vt 0.376751 0.313108 -vt 0.376448 0.311591 -vt 0.296266 0.314905 -vt 0.297725 0.315537 -vt 0.296266 0.317229 -vt 0.296266 0.315122 -vt 0.297725 0.311555 -vt 0.299183 0.310698 -vt 0.296266 0.312390 -vt 0.296266 0.316373 -vt 0.297725 0.317229 -vt 0.325098 0.314037 -vt 0.325401 0.312521 -vt 0.325401 0.314508 -vt 0.296266 0.310698 -vt 0.326293 0.312773 -vt 0.325961 0.311149 -vt 0.326293 0.310698 -vt 0.322501 0.310698 -vt 0.321583 0.312576 -vt 0.321583 0.310698 -vt 0.322413 0.312576 -vt 0.321583 0.314106 -vt 0.325401 0.312228 -vt 0.324383 0.310698 -vt 0.325401 0.310698 -vt 0.323518 0.312604 -vt 0.316441 0.312604 -vt 0.385213 0.302065 -vt 0.383562 0.303149 -vt 0.376855 0.298608 -vt 0.374831 0.299940 -vt 0.392843 0.307628 -vt 0.393708 0.306746 -vt 0.393708 0.307628 -vt 0.394795 0.226838 -vt 0.393930 0.225955 -vt 0.394795 0.225955 -vt 0.397293 0.304029 -vt 0.398123 0.303148 -vt 0.398123 0.304029 -vt 0.399178 0.226838 -vt 0.398348 0.225955 -vt 0.399178 0.225955 -vt 0.397068 0.226838 -vt 0.396151 0.225955 -vt 0.397068 0.225955 -vt 0.368033 0.242696 -vt 0.372224 0.227288 -vt 0.377236 0.242698 -vt 0.381034 0.227039 -vt 0.358902 0.242701 -vt 0.363089 0.227303 -vt 0.312383 0.245309 -vt 0.300128 0.306323 -vt 0.304329 0.303546 -vt 0.367593 0.305399 -vt 0.365536 0.306747 -vt 0.295417 0.309437 -vt 0.395014 0.300820 -vt 0.395931 0.299939 -vt 0.395931 0.300820 -vt 0.316689 0.248156 -vt 0.309756 0.243572 -vt 0.335283 0.225955 -vt 0.326458 0.226838 -vt 0.326458 0.225955 -vt 0.321264 0.251180 -vt 0.309227 0.300308 -vt 0.316441 0.310698 -vt 0.317459 0.312576 -vt 0.316441 0.312576 -vt 0.375948 0.314113 -vt 0.368153 0.299940 -vt 0.375859 0.299940 -vt 0.323580 0.233563 -vt 0.344109 0.299709 -vt 0.334749 0.316891 -vt 0.307778 0.313158 -vt 0.312072 0.225955 -vt 0.319005 0.230539 -vt 0.310180 0.310698 -vt 0.292800 0.269528 -vt 0.297993 0.254424 -vt 0.314699 0.227692 -vt 0.307778 0.313158 -vt 0.308583 0.310698 -vt 0.321583 0.313062 -vt 0.312589 0.310698 -vt 0.370159 0.299940 -vt 0.391603 0.299275 -vt 0.390368 0.225955 -vt 0.389133 0.302769 -vt 0.387899 0.225955 -vt 0.386664 0.306059 -vt 0.385430 0.225955 -vt 0.313388 0.310698 -vt 0.356072 0.318035 -vt 0.355974 0.309853 -vt 0.385202 0.311974 -vt 0.344050 0.317360 -vt 0.319986 0.313052 -vt 0.310985 0.313121 -vt 0.383439 0.303149 -vt 0.318376 0.313052 -vt 0.302190 0.310698 -vt 0.367121 0.315572 -vt 0.351814 0.318679 -vt 0.351814 0.310630 -vt 0.349537 0.228740 -vt 0.344700 0.228610 -vt 0.353851 0.228856 -vt 0.358584 0.228983 -vt 0.335283 0.324984 -vt 0.334716 0.316891 -vt 0.324935 0.314893 -vt 0.367593 0.315572 -vt 0.357958 0.314605 -vt 0.367593 0.314126 -vt 0.389591 0.225955 -vt 0.358569 0.300944 -vt 0.315983 0.314712 -vt 0.297725 0.317220 -vt 0.314965 0.313365 -vt 0.358510 0.311941 -vt 0.318019 0.312774 -vt 0.376545 0.308766 -vt 0.358569 0.308649 -vt 0.296266 0.310707 -vt 0.323263 0.312604 -vt 0.363284 0.315012 -vt 0.326458 0.308626 -vt 0.358584 0.307307 -vt 0.324383 0.314296 -vt 0.326458 0.316331 -vt 0.376714 0.308766 -vt 0.322958 0.310698 -vt 0.387122 0.225955 -vt 0.313845 0.310698 -vt 0.323061 0.315013 -vt 0.392060 0.225955 -vt 0.314863 0.310698 -vt 0.292229 0.310710 -vt 0.294247 0.311551 -vt 0.376562 0.313400 -vt 0.325212 0.312228 -vt 0.326087 0.313053 -vt 0.322501 0.312576 -vt 0.322413 0.314106 -vt 0.392843 0.306746 -vt 0.393930 0.226838 -vt 0.397293 0.303148 -vt 0.398348 0.226838 -vt 0.396151 0.226838 -vt 0.370201 0.225955 -vt 0.379383 0.225955 -vt 0.361031 0.225955 -vt 0.395014 0.299939 -vt 0.335283 0.226838 -vt 0.305864 0.312750 -vt 0.305396 0.313502 -vt 0.305396 0.312283 -vt 0.305864 0.313060 -vt 0.306615 0.313499 -vt 0.306174 0.312749 -vt 0.306174 0.313059 -vt 0.306615 0.312279 -vt 0.303071 0.313022 -vt 0.305396 0.310705 -vt 0.305396 0.313029 -vt 0.381792 0.307352 -vt 0.383439 0.316823 -vt 0.381792 0.316815 -vt 0.380147 0.307361 -vt 0.380147 0.316823 -vt 0.378501 0.307352 -vt 0.378501 0.316815 -vt 0.376855 0.316823 -vt 0.351640 0.310686 -vt 0.349994 0.314862 -vt 0.349994 0.310630 -vt 0.380930 0.303153 -vt 0.379364 0.303153 -vt 0.348349 0.310686 -vt 0.305396 0.312275 -vt 0.306398 0.311677 -vt 0.306973 0.312279 -vt 0.306398 0.311275 -vt 0.306973 0.310702 -vt 0.305997 0.311274 -vt 0.305396 0.310698 -vt 0.299183 0.313705 -vt 0.302190 0.310707 -vt 0.302190 0.313713 -vt 0.353943 0.296282 -vt 0.356072 0.286908 -vt 0.356072 0.296293 -vt 0.351814 0.286908 -vt 0.351814 0.296293 -vt 0.353944 0.309842 -vt 0.356072 0.300469 -vt 0.356072 0.309853 -vt 0.351814 0.300469 -vt 0.348349 0.311642 -vt 0.344109 0.312759 -vt 0.344181 0.310630 -vt 0.352827 0.282739 -vt 0.353943 0.286897 -vt 0.353944 0.300457 -vt 0.355060 0.296299 -vt 0.348311 0.312759 -vt 0.344181 0.314888 -vt 0.335426 0.274629 -vt 0.344109 0.282073 -vt 0.335283 0.282073 -vt 0.344109 0.228586 -vt 0.335283 0.253862 -vt 0.335283 0.228586 -vt 0.335564 0.264830 -vt 0.343968 0.274629 -vt 0.326458 0.243600 -vt 0.344109 0.253862 -vt 0.335283 0.243600 -vt 0.326600 0.253984 -vt 0.335143 0.253984 -vt 0.326739 0.267024 -vt 0.335283 0.282798 -vt 0.326458 0.282798 -vt 0.395931 0.283183 -vt 0.395791 0.274739 -vt 0.395014 0.283183 -vt 0.394903 0.274739 -vt 0.395654 0.263837 -vt 0.395014 0.251231 -vt 0.394795 0.263837 -vt 0.395931 0.225955 -vt 0.395014 0.225955 -vt 0.326458 0.308066 -vt 0.397068 0.243600 -vt 0.396927 0.251633 -vt 0.396151 0.243600 -vt 0.396791 0.262080 -vt 0.396039 0.251633 -vt 0.396151 0.274007 -vt 0.395931 0.262080 -vt 0.396151 0.299275 -vt 0.397068 0.274007 -vt 0.397068 0.299275 -vt 0.398123 0.251231 -vt 0.397293 0.225955 -vt 0.398123 0.225955 -vt 0.398348 0.302769 -vt 0.399178 0.277502 -vt 0.399178 0.302769 -vt 0.398900 0.264045 -vt 0.398348 0.277502 -vt 0.398123 0.264045 -vt 0.397845 0.265241 -vt 0.397293 0.251231 -vt 0.397179 0.277090 -vt 0.397982 0.277090 -vt 0.398234 0.252568 -vt 0.399037 0.252568 -vt 0.397293 0.286393 -vt 0.398123 0.286393 -vt 0.398348 0.243600 -vt 0.399178 0.243600 -vt 0.394795 0.243600 -vt 0.394654 0.253448 -vt 0.393930 0.243600 -vt 0.394517 0.265895 -vt 0.393817 0.253448 -vt 0.393930 0.280791 -vt 0.393708 0.265895 -vt 0.393930 0.306059 -vt 0.394795 0.280791 -vt 0.394795 0.306059 -vt 0.393708 0.251231 -vt 0.392843 0.225955 -vt 0.393708 0.225955 -vt 0.393430 0.266816 -vt 0.392843 0.251231 -vt 0.392730 0.279725 -vt 0.393567 0.279725 -vt 0.392843 0.289991 -vt 0.393708 0.289991 -vt 0.392339 0.263150 -vt 0.391603 0.251223 -vt 0.391493 0.273597 -vt 0.391386 0.263150 -vt 0.392478 0.273597 -vt 0.391603 0.281630 -vt 0.391243 0.252037 -vt 0.390368 0.243592 -vt 0.391386 0.243592 -vt 0.391386 0.300820 -vt 0.390368 0.275545 -vt 0.391386 0.275545 -vt 0.391105 0.262939 -vt 0.390258 0.252037 -vt 0.389870 0.264680 -vt 0.389023 0.276157 -vt 0.388916 0.264680 -vt 0.389133 0.251223 -vt 0.390008 0.276157 -vt 0.389133 0.285125 -vt 0.388916 0.304029 -vt 0.387899 0.278754 -vt 0.388916 0.278754 -vt 0.388635 0.264744 -vt 0.387789 0.252895 -vt 0.388774 0.252895 -vt 0.387899 0.243592 -vt 0.388916 0.243592 -vt 0.386664 0.251223 -vt 0.387401 0.266119 -vt 0.386554 0.278567 -vt 0.386447 0.266119 -vt 0.387539 0.278567 -vt 0.386664 0.288414 -vt 0.386305 0.253858 -vt 0.385430 0.243592 -vt 0.386447 0.243592 -vt 0.386166 0.266768 -vt 0.385319 0.253858 -vt 0.385430 0.282352 -vt 0.386447 0.282352 -vt 0.386447 0.307628 -vt 0.387682 0.288414 -vt 0.390151 0.285125 -vt 0.392620 0.281630 -vt 0.383439 0.307361 -vt 0.376855 0.307361 -vt 0.350858 0.314891 -vt 0.381793 0.303149 -vt 0.378501 0.303149 -vt 0.349131 0.314891 -vt 0.305997 0.311675 -vt 0.353943 0.282733 -vt 0.353944 0.296293 -vt 0.348349 0.313876 -vt 0.343831 0.264830 -vt 0.335006 0.267024 -vt 0.395931 0.251231 -vt 0.397068 0.265241 -vt 0.392620 0.266816 -vt 0.391603 0.225955 -vt 0.390368 0.300820 -vt 0.390151 0.262939 -vt 0.389133 0.225955 -vt 0.387899 0.304029 -vt 0.387682 0.264744 -vt 0.386664 0.225955 -vt 0.385213 0.266768 -vt 0.385430 0.307628 -s 0 -f 34/1/1 36/2/1 33/3/1 -f 37/4/2 39/5/2 40/6/2 -f 40/6/3 41/7/4 42/8/5 -f 42/8/6 43/9/7 44/10/7 -f 45/11/1 47/12/1 48/13/1 -f 50/14/8 52/15/8 49/16/8 -f 53/17/9 55/18/9 56/19/9 -f 54/20/10 58/21/11 55/18/10 -f 57/22/12 60/23/13 58/21/14 -f 61/24/8 63/25/8 64/26/8 -f 64/27/15 47/28/15 46/29/15 -f 76/30/16 78/31/16 75/32/16 -f 63/33/16 48/34/16 47/35/16 -f 75/36/1 81/37/1 79/38/1 -f 83/39/16 85/40/16 82/41/16 -f 87/42/17 79/43/17 86/44/17 -f 68/45/8 76/46/8 88/47/8 -f 89/48/8 83/49/8 90/50/8 -f 71/51/18 94/52/19 95/53/20 -f 96/54/21 93/55/21 98/56/22 -f 73/57/23 95/53/23 100/58/23 -f 101/59/24 98/56/25 102/60/24 -f 73/57/26 52/15/26 51/61/26 -f 104/62/27 102/60/27 105/63/27 -f 107/64/8 56/19/8 66/65/8 -f 110/66/8 105/63/8 109/67/8 -f 67/68/1 75/69/1 78/70/1 -f 112/71/8 114/72/8 115/73/8 -f 116/74/1 82/75/1 85/76/1 -f 72/77/28 119/78/29 70/79/30 -f 120/80/31 122/81/32 123/82/33 -f 124/83/34 126/84/35 127/85/35 -f 74/86/36 118/87/37 72/77/36 -f 129/88/38 121/89/38 120/80/39 -f 131/90/40 125/91/41 124/83/42 -f 34/1/43 74/86/43 35/92/43 -f 133/93/44 130/94/44 129/88/44 -f 135/95/45 132/96/45 131/90/45 -f 38/97/1 137/98/1 65/99/1 -f 136/100/1 139/101/1 138/102/1 -f 134/103/1 141/104/1 140/105/1 -f 142/106/1 144/107/1 145/108/1 -f 144/107/46 146/109/46 147/110/46 -f 147/110/47 148/111/48 149/112/47 -f 149/112/49 150/113/49 151/114/49 -f 152/115/1 154/116/1 79/117/1 -f 155/118/8 157/119/8 158/120/8 -f 157/119/50 160/121/50 158/120/50 -f 159/122/51 162/123/52 160/121/51 -f 161/124/53 164/125/54 162/123/55 -f 165/126/8 166/127/8 167/128/8 -f 76/37/8 87/129/8 168/130/8 -f 166/131/16 79/132/16 154/133/16 -f 169/134/56 156/135/8 155/118/8 -f 169/134/57 110/66/8 171/136/8 -f 172/137/58 145/108/1 173/138/59 -f 139/101/1 172/137/60 174/139/1 -f 145/108/1 175/140/1 173/138/61 -f 176/141/1 139/101/1 174/139/1 -f 137/98/1 176/141/1 177/142/1 -f 178/143/1 137/98/1 177/142/1 -f 179/144/8 156/135/8 170/145/62 -f 180/146/8 110/66/8 109/67/8 -f 180/146/8 107/64/8 181/147/8 -f 182/148/8 107/64/8 66/65/8 -f 183/149/8 49/16/8 179/144/8 -f 33/3/1 184/150/1 175/140/1 -f 186/151/8 188/152/8 185/153/8 -f 187/154/63 190/155/63 188/152/63 -f 189/156/64 192/157/64 190/155/64 -f 191/158/65 194/159/66 192/157/65 -f 195/160/1 197/71/1 198/73/1 -f 199/161/1 201/162/1 202/163/1 -f 203/164/67 205/165/68 206/166/69 -f 207/167/70 206/166/70 208/168/70 -f 209/169/71 208/168/71 210/170/71 -f 212/171/8 210/170/8 211/172/8 -f 91/173/1 214/174/1 215/175/1 -f 99/176/72 216/177/73 217/178/20 -f 103/179/74 217/178/74 218/180/74 -f 106/181/75 218/180/75 219/182/75 -f 220/183/8 106/181/8 219/182/8 -f 220/184/76 109/185/76 108/186/76 -f 221/187/8 223/173/8 224/188/8 -f 225/189/77 227/190/78 228/191/79 -f 229/192/80 226/193/80 225/189/81 -f 231/194/82 230/195/82 229/192/82 -f 232/196/1 234/197/1 233/198/1 -f 235/199/8 237/162/8 238/200/8 -f 239/201/83 241/202/84 242/203/85 -f 243/204/86 240/205/86 239/201/87 -f 245/206/88 244/207/88 243/204/88 -f 246/208/1 248/209/1 247/210/1 -f 48/211/89 224/212/89 45/213/89 -f 221/214/90 82/215/90 117/216/90 -f 233/217/76 138/218/76 137/219/76 -f 85/220/89 238/221/89 116/222/89 -f 247/223/76 142/224/76 139/225/76 -f 235/226/15 154/227/15 153/228/15 -f 79/229/91 115/230/91 152/231/91 -f 112/232/90 75/233/90 111/234/90 -f 140/235/76 33/236/76 145/237/76 -f 250/238/16 252/239/16 249/240/16 -f 87/241/16 80/242/16 81/243/16 -f 254/244/16 256/245/16 253/246/16 -f 80/247/92 76/248/92 75/249/92 -f 250/250/93 48/251/93 62/43/93 -f 85/252/1 256/253/1 253/254/1 -f 83/255/8 250/256/8 251/257/8 -f 82/258/1 249/255/1 48/259/1 -f 252/260/94 83/249/94 82/248/94 -f 84/253/8 255/261/8 166/254/8 -f 256/262/92 166/263/92 154/264/92 -f 254/265/93 85/266/93 84/267/93 -f 258/246/95 260/268/95 257/244/95 -f 184/269/96 257/269/97 260/269/97 -f 183/269/97 260/269/97 259/269/97 -f 50/269/97 259/269/97 258/269/97 -f 36/269/97 258/269/97 50/269/97 -f 269/270/95 271/271/95 272/272/95 -f 269/273/8 280/274/8 270/275/8 -f 293/276/98 292/277/1 294/278/99 -f 278/279/1 293/276/100 295/280/1 -f 296/281/101 286/282/8 285/283/8 -f 296/281/102 282/284/8 298/285/8 -f 299/286/8 286/282/8 297/287/103 -f 300/288/8 282/284/8 281/289/8 -f 300/288/8 279/290/8 301/291/8 -f 302/292/8 279/290/8 269/273/8 -f 292/277/1 303/293/1 294/278/104 -f 304/294/1 278/279/1 295/280/1 -f 274/295/1 304/294/1 305/296/1 -f 306/297/1 274/295/1 305/296/1 -f 262/298/105 267/299/105 263/300/105 -f 269/270/95 306/269/95 302/301/95 -f 303/293/106 268/302/106 307/303/107 -f 299/286/108 262/304/108 261/305/108 -f 310/306/109 312/33/109 309/35/109 -f 310/307/110 262/308/110 308/309/111 -f 311/310/112 308/311/113 307/312/114 -f 268/313/115 311/314/115 307/315/116 -f 258/316/97 268/317/117 50/316/97 -f 283/318/95 139/319/95 135/320/95 -f 294/321/118 314/322/119 293/323/120 -f 34/324/76 263/325/76 35/243/76 -f 265/326/76 156/327/76 49/328/76 -f 306/329/121 181/330/121 182/267/121 -f 35/243/122 267/331/122 51/241/122 -f 303/332/123 313/333/124 294/321/125 -f 316/334/126 179/335/127 170/336/128 -f 308/337/129 175/338/112 184/217/112 -f 291/339/76 158/340/76 157/240/76 -f 275/341/76 107/342/76 109/185/76 -f 295/343/130 319/344/130 171/345/130 -f 267/331/76 52/346/76 51/241/76 -f 320/347/131 299/348/132 297/349/133 -f 302/350/134 182/267/134 178/266/134 -f 298/351/112 176/352/112 174/353/112 -f 183/269/135 308/269/136 184/269/135 -f 303/354/112 183/355/112 179/356/112 -f 268/317/112 36/357/112 50/316/112 -f 288/358/76 144/359/76 143/360/76 -f 300/361/112 177/362/112 176/352/112 -f 319/363/137 169/364/138 171/365/137 -f 270/366/76 37/367/76 38/34/76 -f 304/368/112 171/369/112 180/370/112 -f 289/371/76 110/372/76 155/355/76 -f 284/373/76 135/374/76 136/375/76 -f 305/376/112 180/370/112 181/330/112 -f 271/377/76 38/34/76 56/378/76 -f 53/379/76 271/377/76 56/378/76 -f 309/380/76 258/381/76 257/382/76 -f 282/383/76 142/224/76 139/225/76 -f 287/384/95 145/385/95 144/386/95 -f 286/387/76 33/236/76 145/237/76 -f 277/388/76 105/389/76 104/223/76 -f 36/357/97 309/390/97 257/357/97 -f 280/391/95 137/392/95 37/393/95 -f 177/362/139 302/350/139 178/266/139 -f 279/394/76 138/218/76 137/219/76 -f 313/395/140 317/396/141 316/334/142 -f 314/397/143 316/334/144 322/398/145 -f 321/399/141 324/400/146 323/401/141 -f 320/402/147 326/403/148 324/400/149 -f 325/404/150 328/405/151 326/403/152 -f 318/406/151 322/398/153 319/363/151 -f 317/407/154 303/408/154 179/345/154 -f 325/409/155 297/349/156 296/410/157 -f 322/398/158 170/336/159 169/364/160 -f 175/411/161 324/400/162 173/412/163 -f 293/323/164 318/413/165 295/414/165 -f 173/412/166 326/403/167 172/415/168 -f 327/416/169 296/410/170 298/417/169 -f 299/418/154 323/419/154 175/420/154 -f 172/415/171 328/405/172 174/421/172 -f 328/422/130 298/423/130 174/424/130 -f 215/425/16 62/426/16 83/427/16 -f 202/428/16 84/429/16 166/426/16 -f 85/430/16 236/431/16 154/432/16 -f 198/431/16 86/433/16 76/224/16 -f 79/218/16 113/434/16 75/328/16 -f 242/203/173 238/435/1 235/436/1 -f 228/191/174 224/437/1 221/438/1 -f 198/439/90 88/440/90 76/441/90 -f 165/442/91 197/443/91 86/444/91 -f 202/445/15 167/446/15 166/447/15 -f 89/448/89 201/449/89 84/450/89 -f 61/451/89 214/452/89 62/453/89 -f 92/454/175 213/455/8 216/177/176 -f 204/456/177 200/457/8 205/165/178 -f 193/458/179 196/459/8 194/159/180 -f 163/460/8 167/128/8 164/125/8 -f 151/114/1 153/461/1 152/115/1 -f 127/85/1 117/462/1 116/74/1 -f 123/82/181 115/463/1 112/464/1 -f 70/79/182 111/465/1 67/68/1 -f 215/466/90 90/467/90 83/468/90 -f 97/469/8 90/50/8 93/55/8 -f 69/470/183 88/47/8 94/52/184 -f 77/471/91 67/472/91 78/473/91 -f 59/474/8 64/26/8 60/23/8 -f 44/10/1 46/475/1 45/11/1 -f 48/476/16 222/477/16 82/478/16 -f 262/479/112 272/480/112 269/481/112 -f 34/1/1 35/92/1 36/2/1 -f 37/4/185 38/97/185 39/5/185 -f 40/6/186 39/5/186 41/7/187 -f 42/8/188 41/7/189 43/9/190 -f 45/11/1 46/475/1 47/12/1 -f 50/14/8 51/61/8 52/15/8 -f 53/17/191 54/20/191 55/18/191 -f 54/20/192 57/22/193 58/21/194 -f 57/22/195 59/474/196 60/23/196 -f 61/24/8 62/482/8 63/25/8 -f 64/27/15 63/483/15 47/28/15 -f 76/30/16 77/484/16 78/31/16 -f 63/33/16 62/378/16 48/34/16 -f 75/36/1 80/485/1 81/37/1 -f 83/39/16 84/242/16 85/40/16 -f 87/42/17 81/250/17 79/43/17 -f 68/45/8 77/486/8 76/46/8 -f 89/48/8 84/487/8 83/49/8 -f 71/51/197 69/470/198 94/52/199 -f 96/54/200 97/469/200 93/55/200 -f 73/57/201 71/51/202 95/53/201 -f 101/59/203 96/54/203 98/56/204 -f 73/57/205 100/58/205 52/15/205 -f 104/62/206 101/59/206 102/60/206 -f 107/64/8 53/17/8 56/19/8 -f 110/66/8 104/62/8 105/63/8 -f 67/68/1 111/465/1 75/69/1 -f 112/71/8 113/488/8 114/72/8 -f 116/74/1 117/462/1 82/75/1 -f 72/77/207 118/87/208 119/78/209 -f 120/80/210 121/89/47 122/81/211 -f 124/83/212 125/91/213 126/84/214 -f 74/86/215 128/489/215 118/87/216 -f 129/88/217 130/94/217 121/89/217 -f 131/90/218 132/96/218 125/91/219 -f 34/1/220 128/489/220 74/86/220 -f 133/93/221 134/103/221 130/94/221 -f 135/95/222 136/100/222 132/96/222 -f 38/97/1 37/4/1 137/98/1 -f 136/100/1 135/95/1 139/101/1 -f 134/103/1 133/93/1 141/104/1 -f 142/106/1 143/490/1 144/107/1 -f 144/107/223 143/490/223 146/109/223 -f 147/110/224 146/109/224 148/111/225 -f 149/112/226 148/111/227 150/113/226 -f 152/115/1 153/461/1 154/116/1 -f 155/118/8 156/135/8 157/119/8 -f 157/119/228 159/122/228 160/121/228 -f 159/122/229 161/124/230 162/123/231 -f 161/124/232 163/460/233 164/125/233 -f 165/126/8 86/491/8 166/127/8 -f 76/37/8 86/492/8 87/129/8 -f 166/131/16 86/40/16 79/132/16 -f 169/134/234 170/145/235 156/135/8 -f 169/134/236 155/118/8 110/66/8 -f 172/137/237 142/106/1 145/108/1 -f 139/101/1 142/106/1 172/137/238 -f 145/108/1 33/3/1 175/140/1 -f 176/141/1 138/102/1 139/101/1 -f 137/98/1 138/102/1 176/141/1 -f 178/143/1 65/99/1 137/98/1 -f 179/144/8 49/16/8 156/135/8 -f 180/146/8 171/136/8 110/66/8 -f 180/146/8 109/67/8 107/64/8 -f 182/148/8 181/147/8 107/64/8 -f 183/149/8 50/14/8 49/16/8 -f 33/3/1 36/2/1 184/150/1 -f 186/151/8 187/154/8 188/152/8 -f 187/154/239 189/156/239 190/155/239 -f 189/156/240 191/158/240 192/157/240 -f 191/158/241 193/458/242 194/159/243 -f 195/160/1 196/493/1 197/71/1 -f 199/161/1 200/494/1 201/162/1 -f 203/164/244 204/456/245 205/165/246 -f 207/167/247 203/164/248 206/166/247 -f 209/169/249 207/167/249 208/168/249 -f 212/171/8 209/169/8 210/170/8 -f 91/173/1 213/495/1 214/174/1 -f 99/176/250 92/454/251 216/177/252 -f 103/179/253 99/176/254 217/178/253 -f 106/181/255 103/179/255 218/180/255 -f 220/183/8 108/496/8 106/181/8 -f 220/184/76 107/342/76 109/185/76 -f 221/187/8 222/495/8 223/173/8 -f 225/189/256 226/193/257 227/190/258 -f 229/192/259 230/195/259 226/193/259 -f 231/194/260 232/196/260 230/195/260 -f 232/196/1 231/194/1 234/197/1 -f 235/199/8 236/163/8 237/162/8 -f 239/201/261 240/205/262 241/202/263 -f 243/204/264 244/207/264 240/205/264 -f 245/206/265 246/208/265 244/207/265 -f 246/208/1 245/206/1 248/209/1 -f 48/211/89 223/497/89 224/212/89 -f 221/214/90 222/498/90 82/215/90 -f 233/217/76 234/236/76 138/218/76 -f 85/220/89 237/499/89 238/221/89 -f 247/223/76 248/425/76 142/224/76 -f 235/226/15 236/500/15 154/227/15 -f 79/229/91 114/501/91 115/230/91 -f 112/232/90 113/502/90 75/233/90 -f 140/235/76 141/503/76 33/236/76 -f 250/238/16 251/504/16 252/239/16 -f 87/241/16 168/239/16 80/242/16 -f 254/244/16 255/505/16 256/245/16 -f 80/247/94 168/506/94 76/248/94 -f 250/250/93 249/507/93 48/251/93 -f 85/252/1 154/508/1 256/253/1 -f 83/255/8 62/509/8 250/256/8 -f 82/258/1 252/509/1 249/255/1 -f 252/260/94 251/510/94 83/249/94 -f 84/253/8 254/511/8 255/261/8 -f 256/262/92 255/512/92 166/263/92 -f 254/265/93 253/513/93 85/266/93 -f 258/246/95 259/514/95 260/268/95 -f 184/269/97 36/269/97 257/269/97 -f 183/269/97 184/269/97 260/269/97 -f 50/269/97 183/269/97 259/269/96 -f 36/269/97 257/269/97 258/269/97 -f 269/270/95 270/515/95 271/271/95 -f 269/273/8 279/290/8 280/274/8 -f 293/276/266 289/516/1 292/277/1 -f 278/279/1 289/516/1 293/276/267 -f 296/281/268 297/287/269 286/282/8 -f 296/281/270 285/283/8 282/284/8 -f 299/286/8 261/305/8 286/282/8 -f 300/288/8 298/285/8 282/284/8 -f 300/288/8 281/289/8 279/290/8 -f 302/292/8 301/291/8 279/290/8 -f 292/277/1 265/517/1 303/293/1 -f 304/294/1 275/518/1 278/279/1 -f 274/295/1 275/518/1 304/294/1 -f 306/297/1 272/519/1 274/295/1 -f 262/298/105 268/520/105 267/299/105 -f 269/270/95 272/272/95 306/269/95 -f 303/293/271 265/517/271 268/302/271 -f 299/286/272 308/269/273 262/304/272 -f 310/306/109 311/521/109 312/33/109 -f 310/307/274 309/522/274 262/308/274 -f 311/310/112 310/523/112 308/311/275 -f 268/313/276 312/524/276 311/314/276 -f 258/316/112 312/525/112 268/317/112 -f 283/318/95 282/526/95 139/319/95 -f 294/321/277 313/333/278 314/322/279 -f 34/324/76 264/527/76 263/325/76 -f 265/326/76 292/528/76 156/327/76 -f 306/329/112 305/376/112 181/330/112 -f 35/243/122 263/325/122 267/331/122 -f 303/332/280 315/529/280 313/333/281 -f 316/334/282 317/396/283 179/335/283 -f 308/337/284 299/530/112 175/338/112 -f 291/339/76 290/531/76 158/340/76 -f 275/341/76 274/532/76 107/342/76 -f 295/343/130 318/533/130 319/344/130 -f 267/331/76 266/534/76 52/346/76 -f 320/347/285 321/535/286 299/348/286 -f 302/350/134 306/329/134 182/267/134 -f 298/351/112 300/361/112 176/352/112 -f 183/269/97 307/269/287 308/269/288 -f 303/354/112 307/536/289 183/355/112 -f 268/317/112 262/479/112 36/357/112 -f 288/358/76 287/432/76 144/359/76 -f 300/361/112 301/537/112 177/362/112 -f 319/363/290 322/398/291 169/364/292 -f 270/366/76 280/538/76 37/367/76 -f 304/368/112 295/539/112 171/369/112 -f 289/371/76 278/540/76 110/372/76 -f 284/373/76 283/478/76 135/374/76 -f 305/376/112 304/368/112 180/370/112 -f 271/377/76 270/366/76 38/34/76 -f 53/379/76 273/541/76 271/377/76 -f 309/380/76 312/542/76 258/381/76 -f 282/383/76 285/543/76 142/224/76 -f 287/384/95 286/544/95 145/385/95 -f 286/387/76 261/545/76 33/236/76 -f 277/388/76 276/546/76 105/389/76 -f 36/357/112 262/479/112 309/390/112 -f 280/391/95 279/547/95 137/392/95 -f 177/362/112 301/537/112 302/350/112 -f 279/394/76 281/548/76 138/218/76 -f 313/395/293 315/549/141 317/396/141 -f 314/397/294 313/395/295 316/334/296 -f 321/399/141 320/402/297 324/400/298 -f 320/402/299 325/404/300 326/403/301 -f 325/404/302 327/550/151 328/405/151 -f 318/406/151 314/397/303 322/398/304 -f 317/407/154 315/551/154 303/408/154 -f 325/409/305 320/347/306 297/349/307 -f 322/398/308 316/334/309 170/336/310 -f 175/411/311 323/401/311 324/400/312 -f 293/323/313 314/322/314 318/413/315 -f 173/412/316 324/400/317 326/403/318 -f 327/416/319 325/409/320 296/410/321 -f 299/418/154 321/552/154 323/419/154 -f 172/415/322 326/403/323 328/405/324 -f 328/422/130 327/553/130 298/423/130 -f 215/425/16 214/554/16 62/426/16 -f 202/428/16 201/555/16 84/429/16 -f 85/430/16 237/309/16 236/431/16 -f 198/431/16 197/371/16 86/433/16 -f 79/218/16 114/476/16 113/434/16 -f 242/203/325 241/202/326 238/435/1 -f 228/191/327 227/190/328 224/437/1 -f 198/439/90 195/556/90 88/440/90 -f 165/442/91 196/557/91 197/443/91 -f 202/445/15 199/558/15 167/446/15 -f 89/448/89 200/559/89 201/449/89 -f 61/451/89 213/560/89 214/452/89 -f 92/454/329 91/561/8 213/455/8 -f 204/456/330 199/562/8 200/457/8 -f 193/458/331 195/563/8 196/459/8 -f 163/460/8 165/126/8 167/128/8 -f 151/114/1 150/113/1 153/461/1 -f 127/85/1 126/84/1 117/462/1 -f 123/82/332 122/81/333 115/463/1 -f 70/79/334 119/78/335 111/465/1 -f 215/466/90 91/564/90 90/467/90 -f 97/469/8 89/48/8 90/50/8 -f 69/470/336 68/45/8 88/47/8 -f 77/471/89 68/565/89 67/472/89 -f 59/474/8 61/24/8 64/26/8 -f 44/10/1 43/9/1 46/475/1 -f 48/476/16 223/185/16 222/477/16 -f 262/479/112 268/317/112 272/480/112 -s 1 -f 2/566/337 4/567/338 1/568/339 -f 3/569/340 6/570/341 4/567/338 -f 3/569/340 7/571/342 5/572/343 -f 6/570/341 7/571/342 8/573/344 -f 7/571/342 1/568/339 8/573/344 -f 9/574/345 11/575/346 12/576/347 -f 13/577/348 9/578/345 12/579/347 -f 15/580/349 12/579/347 11/581/346 -f 16/582/350 11/581/346 10/583/351 -f 9/584/345 16/582/350 10/583/351 -f 13/585/348 1/586/339 14/587/352 -f 6/588/341 13/577/348 15/580/349 -f 16/582/350 6/589/341 15/580/349 -f 1/586/339 16/590/350 14/587/352 -f 17/591/353 19/592/354 20/593/355 -f 20/593/355 21/594/356 22/595/357 -f 19/592/354 23/596/358 21/594/356 -f 22/595/357 23/596/358 24/597/359 -f 23/596/358 17/591/353 24/597/359 -f 25/598/345 27/599/346 28/600/347 -f 28/601/347 30/602/360 25/603/345 -f 31/604/361 28/601/347 27/605/346 -f 26/606/351 31/607/361 27/608/346 -f 30/609/360 26/606/351 25/268/345 -f 24/610/359 30/611/360 29/612/362 -f 22/613/357 29/614/362 31/604/361 -f 32/615/363 22/616/357 31/607/361 -f 17/617/353 32/618/363 30/611/360 -f 337/619/364 354/620/365 339/621/365 -f 358/622/109 334/623/366 357/624/109 -f 335/625/367 352/626/368 337/619/364 -f 360/565/91 362/627/369 359/472/91 -f 350/628/366 335/625/367 334/623/366 -f 361/629/370 364/630/371 362/627/369 -f 363/631/372 366/632/373 364/630/371 -f 366/632/373 345/633/374 331/634/374 -f 370/564/90 372/635/375 369/467/90 -f 377/636/376 371/637/377 378/638/378 -f 378/638/378 381/639/379 377/636/376 -f 385/640/380 381/639/379 382/641/381 -f 388/642/109 385/640/380 387/643/109 -f 345/633/374 332/644/95 331/634/374 -f 444/303/109 357/624/109 443/471/109 -f 353/645/382 469/560/91 355/451/91 -f 351/646/383 470/647/384 353/645/382 -f 348/648/385 471/649/386 351/646/383 -f 348/648/385 473/650/387 472/651/388 -f 474/652/95 347/653/389 386/654/95 -f 434/655/390 468/656/109 431/657/109 -f 467/658/95 383/659/391 389/660/95 -f 380/661/392 466/662/393 464/663/394 -f 436/664/395 465/665/396 434/655/390 -f 459/666/397 436/664/395 438/667/398 -f 380/661/392 462/668/399 375/669/400 -f 460/670/401 438/667/398 440/671/402 -f 375/669/400 461/672/403 376/673/404 -f 376/673/404 458/559/91 368/448/91 -f 457/558/90 440/671/402 442/446/90 -f 439/674/405 456/557/91 441/442/91 -f 437/675/406 454/676/407 439/674/405 -f 435/677/408 452/678/409 437/675/406 -f 435/677/408 448/679/410 450/680/411 -f 445/681/95 433/682/412 432/683/95 -f 346/684/413 446/685/109 343/686/109 -f 379/687/414 447/688/415 346/684/413 -f 451/689/416 379/687/414 374/690/417 -f 453/691/418 374/690/417 373/692/419 -f 455/556/90 373/692/419 367/440/90 -f 336/693/385 484/694/387 333/393/389 -f 484/694/387 414/392/95 333/393/389 -f 336/693/385 478/695/386 482/696/388 -f 338/697/420 479/698/421 478/695/386 -f 402/699/422 480/700/423 403/701/375 -f 415/702/109 483/703/380 413/704/424 -f 483/703/380 409/705/379 413/704/424 -f 409/705/379 477/706/425 402/699/422 -f 408/707/392 490/708/399 494/709/394 -f 408/707/392 496/710/393 412/320/391 -f 496/710/393 416/319/95 412/320/391 -f 401/711/426 491/712/427 490/708/399 -f 419/713/109 495/714/396 420/715/390 -f 495/714/396 423/716/395 420/715/390 -f 423/716/395 489/717/428 425/718/429 -f 425/718/429 492/719/430 427/720/402 -f 411/721/410 422/385/95 421/386/412 -f 424/722/408 411/721/410 421/386/412 -f 424/722/408 398/723/409 407/724/411 -f 426/725/431 399/726/432 398/723/409 -f 395/727/433 400/728/434 396/729/435 -f 405/730/414 397/731/436 395/727/433 -f 410/732/415 405/730/414 330/733/437 -f 329/734/109 410/732/415 330/733/437 -f 400/728/434 390/234/90 396/729/435 -f 429/231/91 399/726/432 428/735/405 -f 492/719/430 430/228/90 427/720/402 -f 393/222/91 491/712/427 404/736/404 -f 480/700/423 394/216/90 403/701/375 -f 341/213/91 479/698/421 340/737/382 -f 354/620/365 342/29/90 339/621/365 -f 2/566/337 3/569/340 4/567/338 -f 3/569/340 5/572/343 6/570/341 -f 3/569/340 2/566/337 7/571/342 -f 6/570/341 5/572/343 7/571/342 -f 7/571/342 2/566/337 1/568/339 -f 9/574/345 10/263/351 11/575/346 -f 13/577/348 14/738/352 9/578/345 -f 15/580/349 13/577/348 12/579/347 -f 16/582/350 15/580/349 11/581/346 -f 9/584/345 14/739/352 16/582/350 -f 13/585/348 8/740/344 1/586/339 -f 6/588/341 8/741/344 13/577/348 -f 16/582/350 4/742/338 6/589/341 -f 1/586/339 4/743/338 16/590/350 -f 17/591/353 18/744/438 19/592/354 -f 20/593/355 19/592/354 21/594/356 -f 19/592/354 18/744/438 23/596/358 -f 22/595/357 21/594/356 23/596/358 -f 23/596/358 18/744/438 17/591/353 -f 25/598/345 26/414/351 27/599/346 -f 28/601/347 29/614/362 30/602/360 -f 31/604/361 29/614/362 28/601/347 -f 26/606/351 32/615/363 31/607/361 -f 30/609/360 32/615/363 26/606/351 -f 24/610/359 17/617/353 30/611/360 -f 22/613/357 24/745/359 29/614/362 -f 32/615/363 20/746/355 22/616/357 -f 17/617/353 20/747/355 32/618/363 -f 337/619/364 352/626/368 354/620/365 -f 358/622/109 350/628/366 334/623/366 -f 335/625/367 349/748/367 352/626/368 -f 360/565/91 361/629/370 362/627/369 -f 350/628/366 349/748/367 335/625/367 -f 361/629/370 363/631/372 364/630/371 -f 363/631/372 365/749/373 366/632/373 -f 366/632/373 365/749/373 345/633/374 -f 370/564/90 371/637/377 372/635/375 -f 377/636/376 372/635/375 371/637/377 -f 378/638/378 382/641/381 381/639/379 -f 385/640/380 384/750/424 381/639/379 -f 388/642/109 384/750/424 385/640/380 -f 345/633/374 344/32/95 332/644/95 -f 444/303/109 358/622/109 357/624/109 -f 353/645/382 470/647/384 469/560/91 -f 351/646/383 471/649/386 470/647/384 -f 348/648/385 472/651/388 471/649/386 -f 348/648/385 347/653/389 473/650/387 -f 474/652/95 473/650/387 347/653/389 -f 434/655/390 465/665/396 468/656/109 -f 467/658/95 466/662/393 383/659/391 -f 380/661/392 383/659/391 466/662/393 -f 436/664/395 463/751/439 465/665/396 -f 459/666/397 463/751/439 436/664/395 -f 380/661/392 464/663/394 462/668/399 -f 460/670/401 459/666/397 438/667/398 -f 375/669/400 462/668/399 461/672/403 -f 376/673/404 461/672/403 458/559/91 -f 457/558/90 460/670/401 440/671/402 -f 439/674/405 454/676/407 456/557/91 -f 437/675/406 452/678/409 454/676/407 -f 435/677/408 450/680/411 452/678/409 -f 435/677/408 433/682/412 448/679/410 -f 445/681/95 448/679/410 433/682/412 -f 346/684/413 447/688/415 446/685/109 -f 379/687/414 449/752/440 447/688/415 -f 451/689/416 449/752/440 379/687/414 -f 453/691/418 451/689/416 374/690/417 -f 455/556/90 453/691/418 373/692/419 -f 336/693/385 482/696/388 484/694/387 -f 484/694/387 485/753/95 414/392/95 -f 336/693/385 338/697/420 478/695/386 -f 338/697/420 340/737/382 479/698/421 -f 402/699/422 477/706/425 480/700/423 -f 415/702/109 486/754/109 483/703/380 -f 483/703/380 481/755/381 409/705/379 -f 409/705/379 481/755/381 477/706/425 -f 408/707/392 401/711/426 490/708/399 -f 408/707/392 494/709/394 496/710/393 -f 496/710/393 497/756/95 416/319/95 -f 401/711/426 404/736/404 491/712/427 -f 419/713/109 498/757/109 495/714/396 -f 495/714/396 493/758/439 423/716/395 -f 423/716/395 493/758/439 489/717/428 -f 425/718/429 489/717/428 492/719/430 -f 411/721/410 417/759/95 422/385/95 -f 424/722/408 407/724/411 411/721/410 -f 424/722/408 426/725/431 398/723/409 -f 426/725/431 428/735/405 399/726/432 -f 395/727/433 397/731/436 400/728/434 -f 405/730/414 406/760/440 397/731/436 -f 410/732/415 406/760/440 405/730/414 -f 329/734/109 418/761/109 410/732/415 -f 400/728/434 391/232/90 390/234/90 -f 429/231/91 392/230/91 399/726/432 -f 492/719/430 487/226/90 430/228/90 -f 393/222/91 488/221/91 491/712/427 -f 480/700/423 475/214/90 394/216/90 -f 341/213/91 476/212/91 479/698/421 -f 354/620/365 356/27/90 342/29/90 -o main -v -0.202174 1.172312 0.084620 -v 0.012707 1.114738 0.084064 -v 0.012707 1.223542 0.117762 -v -0.147611 1.266498 0.118177 -v -0.080983 1.739653 -5.738497 -v -0.013058 1.757851 -5.738321 -v -0.013058 1.760041 -6.289080 -v -0.079416 1.742262 -6.289251 -v -0.180496 1.276744 -3.709595 -v -0.013059 1.231882 -3.710029 -v 0.428145 1.610595 0.088858 -v 0.403116 1.435555 0.087165 -v 0.290977 1.481865 -3.707612 -v 0.310479 1.618257 -3.706294 -v -0.359479 1.759351 0.090296 -v -0.202174 1.916648 0.091817 -v -0.180496 1.856736 -3.703987 -v -0.303069 1.734170 -3.705173 -v 0.012707 1.974223 0.092373 -v 0.227588 1.916648 0.091817 -v 0.154378 1.856737 -3.703987 -v -0.013059 1.901599 -3.703554 -v -0.359479 1.329609 0.086141 -v -0.303069 1.399311 -3.708410 -v 0.392573 1.424329 0.087057 -v 0.227589 1.172312 0.084620 -v 0.154378 1.276744 -3.709595 -v 0.282936 1.473118 -3.707697 -v 0.384892 1.759351 0.090296 -v 0.276951 1.734170 -3.705173 -v -0.395543 1.624762 0.088995 -v -0.395512 1.502481 0.087813 -v -0.289566 1.512830 0.120559 -v -0.291880 1.604061 0.121441 -v -0.212901 1.671165 0.458115 -v -0.234763 1.589581 0.457326 -v -0.150483 1.592276 0.271604 -v -0.135944 1.646535 0.272128 -v -0.331171 1.629296 -3.706187 -v -0.130708 1.554088 -5.740291 -v -0.140668 1.606321 -5.739786 -v -0.142108 1.647385 -5.739389 -v -0.130708 1.689929 -5.738977 -v 0.054867 1.739653 -5.738497 -v 0.104592 1.689929 -5.738977 -v 0.117192 1.642908 -5.739432 -v 0.109342 1.587577 -5.739967 -v 0.054867 1.504364 -5.740772 -v -0.013058 1.486166 -5.740948 -v -0.080983 1.504364 -5.740772 -v 0.101877 1.693688 -6.289721 -v 0.053300 1.742262 -6.289251 -v -0.013058 1.494624 -6.291646 -v 0.053300 1.512403 -6.291474 -v -0.127993 1.693688 -6.289721 -v -0.139130 1.652125 -6.290123 -v -0.079416 1.512403 -6.291474 -v 0.106518 1.593696 -6.290688 -v 0.114186 1.647750 -6.290165 -v -0.127993 1.560979 -6.291004 -v -0.113470 1.595189 -4.242433 -v -0.114603 1.627501 -4.242120 -v -0.110517 1.626811 -4.253918 -v -0.109429 1.595799 -4.254218 -v -0.064355 1.518801 -4.254962 -v -0.101907 1.556352 -4.254600 -v -0.112639 1.564113 -5.698238 -v -0.070551 1.522027 -5.698646 -v -0.013059 1.710235 -4.253111 -v 0.038238 1.696491 -4.253244 -v 0.044435 1.721179 -5.696720 -v -0.013058 1.736583 -5.696571 -v -0.101907 1.658941 -4.253607 -v -0.064355 1.696491 -4.253244 -v -0.070551 1.721179 -5.696720 -v -0.112639 1.679093 -5.697127 -v 0.085306 1.623429 -4.253951 -v 0.079378 1.581643 -4.254355 -v 0.090544 1.592458 -5.697964 -v 0.097188 1.639292 -5.697512 -v -0.013059 1.505057 -4.255095 -v -0.013058 1.506621 -5.698794 -v -0.122289 1.643082 -5.697475 -v 0.038238 1.518801 -4.254962 -v 0.044435 1.522027 -5.698646 -v 0.075790 1.658941 -4.253607 -v 0.086522 1.679093 -5.697127 -v -0.066506 1.700102 -4.241418 -v -0.013059 1.714422 -4.241280 -v 0.040389 1.700102 -4.241418 -v 0.079515 1.660977 -4.241796 -v 0.040389 1.514963 -4.243208 -v -0.013059 1.500642 -4.243347 -v -0.105632 1.660977 -4.241796 -v -0.066506 1.514963 -4.243208 -v 0.089430 1.623976 -4.242154 -v 0.083254 1.580439 -4.242575 -v -0.105632 1.554087 -4.242830 -v -0.065400 1.515808 -4.132485 -v -0.103717 1.554122 -4.132114 -v -0.013059 1.711140 -4.130596 -v 0.039283 1.697116 -4.130732 -v -0.103717 1.658800 -4.131102 -v -0.065400 1.697116 -4.130732 -v 0.087309 1.622566 -4.131453 -v 0.081261 1.579929 -4.131865 -v -0.013059 1.501784 -4.132620 -v -0.112502 1.626017 -4.131419 -v 0.039283 1.515808 -4.132485 -v 0.077600 1.658800 -4.131102 -v -0.062560 1.692112 -4.121951 -v -0.013059 1.705375 -4.121823 -v 0.036443 1.692112 -4.121951 -v 0.072681 1.655875 -4.122302 -v 0.036443 1.520641 -4.123609 -v -0.013059 1.507378 -4.123737 -v -0.107106 1.624871 -4.122602 -v -0.098798 1.655875 -4.122302 -v -0.062560 1.520641 -4.123609 -v 0.081864 1.621607 -4.122633 -v 0.076143 1.581283 -4.123023 -v -0.098798 1.556877 -4.123259 -v -0.063124 1.516527 -3.799040 -v -0.099774 1.553176 -3.798685 -v -0.013059 1.703364 -3.797233 -v 0.037006 1.689950 -3.797363 -v -0.099774 1.653301 -3.797717 -v -0.063124 1.689950 -3.797363 -v 0.082944 1.618642 -3.798053 -v 0.077158 1.577860 -3.798446 -v -0.013059 1.503113 -3.799170 -v -0.108177 1.621943 -3.798021 -v 0.037006 1.516527 -3.799040 -v 0.073656 1.653301 -3.797718 -v -0.107115 1.591676 -3.798313 -v -0.327621 1.528072 -3.707165 -v -0.331320 1.534015 -3.707108 -v 0.075446 1.575244 -3.798472 -v 0.012707 1.169546 0.336860 -v -0.173550 1.219450 0.337343 -v 0.320127 1.593491 0.121339 -v 0.301600 1.462898 0.120076 -v -0.264973 1.704476 0.122412 -v -0.147611 1.821831 0.123546 -v 0.012707 1.864787 0.123962 -v 0.173026 1.821831 0.123546 -v -0.264973 1.383854 0.119312 -v 0.296118 1.454522 0.119995 -v 0.290387 1.704476 0.122412 -v 0.173026 1.266498 0.118177 -v -0.338471 1.505638 0.340110 -v -0.344450 1.599349 0.341016 -v -0.341160 1.611629 0.341134 -v -0.237064 1.581918 0.361622 -v -0.234763 1.590505 0.361705 -v 0.369865 1.599349 0.341016 -v 0.348341 1.447626 0.339549 -v -0.309899 1.728289 0.342262 -v -0.173550 1.864632 0.343580 -v 0.012707 1.914538 0.344063 -v 0.198964 1.864632 0.343580 -v -0.309899 1.355793 0.338661 -v 0.341971 1.437896 0.339455 -v 0.335314 1.728289 0.342262 -v 0.198964 1.219450 0.337343 -v -0.232883 1.516382 0.360988 -v -0.232883 1.515458 0.456610 -v -0.237064 1.580993 0.457243 -v 0.012707 1.281343 0.358716 -v -0.117548 1.316242 0.359053 -v 0.262479 1.581918 0.361622 -v 0.247426 1.475813 0.360596 -v -0.212901 1.672090 0.362494 -v -0.117548 1.767439 0.363416 -v 0.012707 1.802339 0.363753 -v 0.142962 1.767439 0.363416 -v -0.212901 1.411592 0.359975 -v 0.242972 1.469008 0.360530 -v 0.238316 1.672090 0.362494 -v -0.337211 1.499027 0.340046 -v -0.232002 1.511759 0.360944 -v 0.142962 1.316242 0.359053 -v 0.244253 1.649934 0.362279 -v 0.238316 1.671165 0.458115 -v 0.244253 1.649009 0.457901 -v -0.117548 1.315318 0.454675 -v 0.012707 1.280418 0.454337 -v 0.014100 1.386664 0.269616 -v -0.072528 1.409875 0.269840 -v 0.262479 1.580993 0.457243 -v 0.247426 1.474888 0.456218 -v -0.117548 1.766515 0.459037 -v 0.012707 1.801414 0.459375 -v 0.142962 1.766515 0.459037 -v -0.212901 1.410667 0.455597 -v 0.242972 1.468084 0.456152 -v 0.142962 1.315318 0.454675 -v -0.150483 1.568873 2.692212 -v -0.152013 1.563161 2.692157 -v -0.090311 1.552539 2.876318 -v -0.089384 1.555996 2.876352 -v 0.180214 1.586565 0.271549 -v 0.170203 1.515998 0.270866 -v -0.072528 1.709948 0.272741 -v 0.014100 1.733159 0.272966 -v 0.100728 1.709948 0.272741 -v -0.135944 1.473287 0.270453 -v 0.167240 1.511474 0.270823 -v 0.164144 1.646535 0.272128 -v -0.232002 1.510834 0.456565 -v -0.148646 1.539905 0.271097 -v 0.100728 1.409875 0.269840 -v 0.343803 1.696609 0.341956 -v -0.152013 1.586565 0.271549 -v 0.062685 1.627228 2.877040 -v 0.101074 1.588841 2.876669 -v 0.103464 1.579921 2.876582 -v 0.105235 1.573313 2.876518 -v 0.107006 1.566704 2.876455 -v 0.108777 1.560095 2.876391 -v 0.110381 1.554108 2.876333 -v 0.110801 1.552539 2.876318 -v 0.104741 1.509822 2.875905 -v 0.102948 1.507082 2.875879 -v 0.062685 1.445580 2.875283 -v 0.010245 1.431530 2.875149 -v -0.042194 1.445580 2.875283 -v -0.080583 1.483967 2.875655 -v -0.088272 1.524293 2.876045 -v -0.088627 1.526155 2.876063 -v -0.080583 1.588841 2.876669 -v -0.042194 1.627228 2.877041 -v 0.010245 1.641278 2.877176 -v -0.072528 1.386471 2.690449 -v 0.014100 1.363260 2.690223 -v 0.170203 1.492595 2.691474 -v 0.180214 1.563161 2.692157 -v -0.072528 1.686545 2.693350 -v -0.135944 1.623132 2.692736 -v 0.100728 1.686545 2.693350 -v 0.014100 1.709755 2.693574 -v -0.135944 1.449884 2.691062 -v 0.167240 1.488070 2.691431 -v 0.164144 1.623132 2.692736 -v -0.148646 1.516502 2.691705 -v 0.100728 1.386471 2.690449 -v 0.168092 1.631800 0.271986 -v -0.149233 1.519576 2.691736 -v -0.149233 1.542980 0.271127 -v -0.106057 1.594944 -4.122890 -v -0.111392 1.594373 -4.131725 -v -0.121069 1.608325 -5.697811 -v -0.137723 1.612007 -6.290511 -v 0.179519 1.565755 2.692182 -v 0.168092 1.608397 2.692594 -v 0.261434 1.584893 0.457281 -v 0.179519 1.589158 0.271574 -v 0.368371 1.604925 0.341069 -v 0.261434 1.585817 0.361660 -v 0.100728 1.394411 1.869289 -v 0.167240 1.496009 1.870271 -v 0.167250 1.626038 1.870785 -v 0.164144 1.631071 1.871577 -v -0.150483 1.576812 1.871052 -v -0.150483 1.583054 1.225463 -v -0.148646 1.530683 1.224956 -v -0.148646 1.524441 1.870546 -v -0.135944 1.631071 1.871577 -v 0.014100 1.371200 1.869064 -v -0.135944 1.457824 1.869902 -v 0.100728 1.694484 1.872190 -v 0.014100 1.717695 1.872414 -v -0.072528 1.694484 1.872190 -v 0.170203 1.500535 1.870315 -v -0.072528 1.394411 1.869289 -v -0.072528 1.400652 1.223699 -v 0.014100 1.377441 1.223475 -v -0.072528 1.700726 1.226600 -v -0.135944 1.637313 1.225987 -v 0.100728 1.700726 1.226600 -v 0.014100 1.723936 1.226825 -v -0.135944 1.464065 1.224312 -v 0.167240 1.502251 1.224682 -v 0.170203 1.506776 1.224725 -v 0.164144 1.637313 1.225987 -v 0.100728 1.400652 1.223699 -v 0.167250 1.632280 1.225195 -v 0.179519 1.573694 1.871022 -v 0.173943 1.586038 1.885851 -v 0.173943 1.578241 2.692302 -v 0.176869 1.575644 2.692277 -v 0.171018 1.620883 0.271880 -v 0.171018 1.611792 1.212111 -v 0.171018 1.605276 1.886037 -v 0.171018 1.597479 2.692488 -v 0.248652 1.632594 0.457742 -v 0.350093 1.673134 0.341729 -v 0.248652 1.633518 0.362121 -v 0.257449 1.600686 0.361803 -v 0.257449 1.599761 0.457425 -v 0.362673 1.626186 0.341275 -v 0.176869 1.599047 0.271669 -v 0.179519 1.579936 1.225433 -v 0.356383 1.649660 0.341502 -v 0.253051 1.617102 0.361962 -v 0.253051 1.616178 0.457584 -v 0.173943 1.601835 0.271696 -v 0.173943 1.592745 1.211927 -v 0.165142 1.619919 2.018193 -v 0.165142 1.727819 2.019237 -v 0.165142 1.721288 2.694775 -v 0.165142 1.613388 2.693733 -v -0.095303 1.013033 2.792028 -v 0.123494 1.013033 2.792028 -v 0.116000 1.052989 3.038520 -v -0.087810 1.052989 3.038520 -v -0.136952 1.613388 2.693733 -v -0.136952 1.721288 2.694775 -v -0.136952 1.727819 2.019237 -v -0.136952 1.619919 2.018193 -v 0.160849 1.787674 0.604657 -v 0.071567 1.788325 0.465026 -v 0.071567 1.818650 0.465134 -v 0.160849 1.817999 0.604764 -v 0.165142 0.853355 2.010782 -v 0.165142 0.846824 2.686321 -v 0.165142 0.704381 2.684944 -v 0.165142 0.727369 2.149053 -v 0.160849 1.781589 1.865381 -v 0.160849 1.785356 1.475714 -v 0.160849 1.815681 1.475821 -v 0.160849 1.811914 1.865489 -v -0.136952 1.626064 1.220801 -v -0.136952 1.733744 1.221874 -v -0.136952 1.735452 0.579987 -v -0.136952 1.628328 0.578839 -v -0.136952 1.621289 1.876552 -v -0.136952 1.729189 1.877596 -v -0.136952 1.733066 1.476528 -v -0.136952 1.625166 1.475485 -v 0.165142 1.572264 1.876078 -v 0.165142 0.854725 1.869141 -v 0.165142 0.858602 1.468073 -v 0.165142 1.576142 1.475011 -v -0.136952 0.854725 1.869141 -v -0.136952 0.858602 1.468073 -v 0.165142 0.867278 0.570681 -v -0.136952 0.867278 0.570681 -v -0.045059 1.331867 0.434188 -v 0.073249 1.331867 0.434188 -v -0.149082 0.664598 0.541482 -v 0.177272 0.664598 0.541482 -v 0.177272 0.634672 0.542347 -v -0.149082 0.634672 0.542347 -v 0.165142 1.577140 1.220313 -v 0.165142 0.861067 1.213177 -v 0.165142 1.579656 0.578317 -v 0.160849 1.804238 2.659441 -v 0.160849 1.810583 2.003104 -v 0.165142 1.847536 2.019661 -v 0.165142 1.841005 2.695200 -v 0.177272 0.488173 1.220839 -v -0.149082 0.488173 1.220839 -v 0.177272 0.482640 1.491678 -v -0.149082 0.482640 1.491678 -v -0.149082 0.430054 1.490015 -v 0.177272 0.430054 1.490015 -v -0.149082 0.534324 1.221784 -v 0.177272 0.534324 1.221784 -v -0.075717 -0.281581 2.653725 -v 0.193719 -0.190060 3.037896 -v -0.041226 -0.451792 2.698090 -v -0.096547 -0.401702 2.909541 -v -0.117232 0.805991 2.267262 -v -0.117232 0.806379 2.227041 -v -0.136952 0.722185 2.269905 -v -0.136952 0.721358 2.289179 -v -0.136952 0.853355 2.010782 -v -0.136952 0.727369 2.149053 -v -0.136952 0.846824 2.686321 -v -0.136952 0.704381 2.684944 -v -0.022786 -0.401702 2.909541 -v -0.004345 -0.451792 2.698090 -v 0.121869 -0.144299 3.229982 -v 0.123257 -0.225915 3.282259 -v 0.124737 -0.301523 3.332443 -v 0.124737 -0.351613 3.120992 -v 0.142395 0.475755 1.545882 -v 0.103907 -0.281581 2.653725 -v 0.069416 -0.451792 2.698090 -v 0.032535 -0.451792 2.698090 -v -0.022292 -0.225915 3.282259 -v -0.095067 -0.225915 3.282259 -v -0.096547 -0.301523 3.332443 -v -0.022786 -0.301523 3.332443 -v 0.116000 1.631425 3.044112 -v 0.116000 1.712844 3.044899 -v -0.087810 1.712844 3.044900 -v -0.087810 1.631425 3.044112 -v 0.123494 1.721409 2.798877 -v -0.095303 1.721409 2.798877 -v 0.123494 1.634003 2.798032 -v -0.095303 1.594290 2.797648 -v -0.087810 1.594432 3.043755 -v -0.136952 1.564364 2.693258 -v -0.045059 1.686242 0.436014 -v -0.045059 1.736122 0.436271 -v 0.073249 1.736122 0.436271 -v 0.073249 1.686242 0.436014 -v 0.073249 1.663578 0.435897 -v -0.132658 1.804238 2.659441 -v -0.136952 1.841005 2.695200 -v -0.016114 0.704381 2.684944 -v -0.076533 0.704381 2.684944 -v -0.084974 0.367866 2.901927 -v -0.018928 0.367866 2.901927 -v -0.093679 -0.144299 3.229982 -v 0.089619 0.727369 2.149053 -v -0.154092 0.164347 2.608227 -v -0.069998 0.116802 2.426650 -v 0.165142 0.712044 2.506314 -v 0.104723 0.704381 2.684944 -v 0.113164 0.367866 2.901927 -v 0.182282 0.211892 2.789803 -v -0.136952 0.719706 2.327683 -v -0.061428 0.727369 2.149053 -v 0.115007 0.259436 2.971379 -v 0.057212 0.490206 1.554891 -v -0.085963 0.309675 2.939199 -v -0.019258 0.309675 2.939199 -v 0.098188 0.116802 2.426650 -v -0.086817 0.259436 2.971379 -v 0.114153 0.309675 2.939199 -v -0.152668 0.204099 2.529867 -v -0.069287 0.151311 2.325201 -v 0.180858 0.256887 2.734533 -v -0.086817 0.259436 2.971379 -v -0.019542 0.259436 2.971379 -v 0.114153 0.309675 2.939199 -v 0.142395 0.567844 1.496382 -v 0.115007 0.259436 2.971379 -v 0.097477 0.151311 2.325201 -v -0.085963 0.309675 2.939199 -v -0.151020 0.280015 2.548481 -v -0.093679 -0.144299 3.229982 -v -0.021830 -0.144299 3.229982 -v -0.068462 0.236090 2.371759 -v 0.179210 0.323941 2.725204 -v 0.121869 -0.144299 3.229982 -v 0.113164 0.367866 2.901927 -v 0.057753 0.575638 1.516128 -v 0.096653 0.236090 2.371759 -v -0.132658 1.810583 2.003104 -v -0.136952 1.847536 2.019661 -v -0.132658 1.816339 1.228406 -v -0.132658 1.815681 1.475821 -v -0.136952 1.852783 1.476952 -v -0.136952 1.853461 1.222298 -v -0.043377 1.818650 0.465134 -v -0.132658 1.817999 0.604764 -v -0.136952 1.855168 0.580411 -v -0.045059 1.855839 0.436696 -v -0.132658 1.811914 1.865489 -v -0.136952 1.848906 1.878020 -v 0.160849 1.816339 1.228406 -v 0.165142 1.855168 0.580411 -v 0.165142 1.853461 1.222298 -v 0.073249 1.855839 0.436696 -v 0.165142 1.852783 1.476952 -v 0.165142 1.848906 1.878020 -v -0.136952 1.889541 2.019941 -v -0.136952 1.890910 1.878300 -v 0.165142 1.897173 0.580691 -v 0.165142 1.895465 1.222578 -v -0.136952 1.883009 2.695480 -v -0.136952 1.897173 0.580691 -v -0.045059 1.897843 0.436976 -v 0.165142 1.894787 1.477232 -v 0.165142 1.890910 1.878300 -v -0.136952 1.894787 1.477232 -v -0.136952 1.895465 1.222578 -v 0.165142 1.883009 2.695480 -v 0.073249 1.897843 0.436976 -v 0.165142 1.889541 2.019941 -v -0.043377 1.788325 0.465026 -v 0.160849 1.786014 1.228298 -v -0.132658 1.781589 1.865381 -v -0.132658 1.780258 2.002996 -v -0.132658 1.787674 0.604657 -v -0.132658 1.786014 1.228298 -v -0.132658 1.785356 1.475714 -v -0.132658 1.773913 2.659333 -v 0.160849 1.773913 2.659333 -v 0.160849 1.780258 2.002996 -v 0.165142 1.733744 1.221874 -v 0.165142 1.735452 0.579987 -v 0.165142 1.729189 1.877596 -v 0.165142 1.733066 1.476528 -v -0.136952 1.894787 1.477232 -v -0.136952 1.895465 1.222578 -v -0.136952 1.889541 2.019941 -v -0.136952 1.890910 1.878300 -v -0.136952 1.883009 2.695480 -v 0.165142 1.890910 1.878300 -v 0.165142 1.894787 1.477232 -v 0.165142 1.883009 2.695480 -v 0.165142 1.889541 2.019941 -v 0.165142 1.895465 1.222578 -v 0.165142 1.897173 0.580691 -v -0.136952 1.897173 0.580691 -v 0.165142 0.489549 1.456398 -v 0.165142 0.537184 1.206545 -v -0.136952 0.861067 1.213177 -v -0.136952 0.657256 0.576757 -v -0.136952 0.537184 1.206545 -v -0.136952 0.489549 1.456398 -v 0.165142 0.657256 0.576757 -v -0.084974 0.367866 2.901927 -v -0.096547 -0.301523 3.332443 -v -0.095067 -0.225915 3.282259 -v 0.142395 0.665075 1.471334 -v 0.069416 -0.451792 2.698090 -v 0.105063 -0.381316 2.633466 -v 0.058878 0.664812 1.500463 -v 0.124737 -0.351613 3.120992 -v 0.124737 -0.301523 3.332443 -v 0.123257 -0.225915 3.282259 -v -0.136952 0.712044 2.506314 -v 0.165142 0.719706 2.327683 -v 0.124737 -0.401702 2.909541 -v -0.096547 -0.351613 3.120992 -v -0.022786 -0.351613 3.120992 -v 0.050976 -0.351613 3.120992 -v 0.050976 -0.401702 2.909541 -v 0.050976 -0.301523 3.332443 -v 0.196031 -0.277715 3.065995 -v 0.142395 0.761804 1.498257 -v 0.050020 -0.144299 3.229982 -v 0.050482 -0.225915 3.282259 -v -0.096547 -0.401702 2.909541 -v 0.047732 0.259436 2.971379 -v -0.041226 -0.451792 2.698090 -v 0.047448 0.309675 2.939199 -v -0.076873 -0.381316 2.633466 -v 0.047118 0.367866 2.901927 -v -0.167841 -0.329516 2.849731 -v 0.044304 0.704381 2.684944 -v -0.136952 1.579656 0.578317 -v -0.045059 1.663578 0.435897 -v 0.165142 1.628328 0.578839 -v 0.165142 1.564364 2.693258 -v 0.123494 1.594290 2.797648 -v -0.095303 1.634003 2.798032 -v 0.116000 1.594432 3.043755 -v 0.165142 1.626064 1.220801 -v 0.165142 1.621289 1.876552 -v 0.165142 1.625166 1.475485 -v -0.136952 1.572264 1.876078 -v -0.136952 1.576142 1.475011 -v -0.136952 1.577140 1.220313 -v -0.136952 1.570895 2.017720 -v 0.165142 1.570895 2.017720 -v -0.116550 0.944315 2.275445 -v -0.136952 1.568204 2.296037 -v -0.136952 1.568395 2.276249 -v -0.117232 0.943106 2.228364 -v -0.136952 0.853355 2.010782 -v -0.136952 0.727369 2.149053 -v -0.136952 1.570895 2.017720 -v -0.136952 0.920625 2.011432 -v -0.136952 0.914094 2.686971 -v -0.136952 1.564364 2.693258 -v -0.136952 1.567813 2.336523 -v -0.117232 0.941921 2.350872 -v -0.136952 0.846824 2.686321 -v -0.117232 0.805195 2.349550 -v -0.136952 0.719666 2.328613 -v -0.136952 0.704381 2.684944 -v -0.136952 0.871403 2.686558 -v -0.117232 0.855153 2.350033 -v -0.117232 0.856337 2.227525 -v -0.136952 0.877935 2.011019 -v -0.165627 0.941921 2.350872 -v -0.165627 0.855153 2.350033 -v -0.165627 0.855948 2.267745 -v -0.164657 0.945919 2.272705 -v -0.165627 0.943106 2.228364 -v -0.165627 0.856337 2.227525 -v -0.117232 0.805509 2.317034 -v -0.165627 0.805195 2.349550 -v -0.165627 0.805509 2.317034 -v -0.165627 0.806379 2.227041 -v -0.147144 0.985765 2.289954 -v -0.117999 0.987967 2.292308 -v -0.165627 0.805991 2.267262 -v -0.165627 0.855467 2.317517 -v -0.165183 0.945687 2.314986 -v -0.117232 0.944573 2.316757 -v -0.136952 1.567967 2.320525 -v -0.136952 0.720335 2.313030 -v -0.211344 0.805991 2.267262 -v -0.165627 0.650194 2.265755 -v -0.211344 0.650194 2.265755 -v -0.211344 0.855948 2.267745 -v -0.211344 0.805509 2.317034 -v -0.211344 0.855467 2.317517 -v -0.165627 0.649713 2.315527 -v -0.117232 0.649713 2.315527 -v -0.117232 0.650194 2.265755 -v -0.211344 0.649713 2.315527 -v -0.146461 0.985408 2.298749 -v -0.117232 0.986920 2.296790 -v -0.152245 1.043764 3.043450 -v -0.152245 1.712438 3.046384 -v 0.192843 1.712438 3.046383 -v 0.192843 1.043764 3.043450 -v 0.192843 0.937887 3.521686 -v -0.152245 0.937887 3.521686 -v -0.152244 1.649577 6.527719 -v 0.192843 1.649577 6.527719 -v 0.192843 0.025793 6.210012 -v 0.192843 0.009952 6.375108 -v -0.152244 0.009952 6.375108 -v -0.152244 0.025793 6.210012 -v -0.152245 0.235370 5.571983 -v -0.152245 0.455597 4.937619 -v 0.192843 0.455597 4.937619 -v 0.192843 0.235370 5.571983 -v 0.192843 1.680991 4.788768 -v -0.152245 1.680991 4.788768 -v 0.192843 1.712438 3.046383 -v -0.152245 1.712438 3.046384 -v -0.152245 0.654402 4.400762 -v -0.152245 0.821140 3.880699 -v 0.192843 0.821140 3.880699 -v 0.192843 0.654402 4.400762 -v -0.288967 0.897229 6.368784 -v -0.288967 0.423273 6.295212 -v 0.292823 0.823472 4.014390 -v 0.292823 0.674531 4.478942 -v 0.292823 1.022335 3.266504 -v 0.292823 1.619638 3.269124 -v 0.292823 1.591547 4.825535 -v 0.292823 1.563486 6.378878 -v 0.292823 1.256055 6.410403 -v 0.292823 0.898192 6.390715 -v 0.292823 0.415824 6.315836 -v 0.292823 0.098867 6.242557 -v 0.292823 0.113017 6.095082 -v 0.292823 0.300225 5.525153 -v 0.292823 0.496945 4.958498 -v 0.292823 0.927758 3.693695 -v -0.288967 0.926280 3.718801 -v -0.288967 0.823812 4.033902 -v -0.288967 0.677469 4.490353 -v -0.288967 0.502980 4.961545 -v -0.288967 0.309691 5.518318 -v -0.288967 0.125748 6.078308 -v -0.288967 0.111844 6.223210 -v -0.288967 1.248852 6.388129 -v -0.288967 1.550920 6.357154 -v -0.288967 1.578493 4.830902 -v -0.288967 1.606093 3.301634 -v -0.288967 1.019207 3.299059 -v 0.016027 0.547390 1.862002 -v 0.019306 0.561083 1.849339 -v 0.142395 0.757887 2.116556 -v 0.142395 0.660656 2.141604 -v -0.007293 0.547830 1.861861 -v 0.142395 0.850475 2.015535 -v 0.058021 0.829357 1.886027 -v -0.004014 0.561523 1.849198 -v 0.142395 0.853645 1.817587 -v 0.142395 0.852542 1.886433 -v 0.016027 0.547390 1.862002 -v 0.142395 0.856383 1.617575 -v 0.019306 0.561083 1.849339 -v 0.142395 0.761804 1.498257 -v 0.020285 0.576429 1.939407 -v 0.142395 0.665075 1.471334 -v 0.021168 0.639247 1.973528 -v 0.142395 0.567844 1.496382 -v 0.021222 0.593582 1.885335 -v 0.142395 0.475755 1.545882 -v 0.022105 0.656401 1.919456 -v 0.142395 0.465725 1.813838 -v 0.021638 0.746428 1.919562 -v 0.142395 0.467068 2.018012 -v 0.021638 0.745520 1.976290 -v 0.142395 0.563928 2.114681 -v -0.117211 0.657140 2.235394 -v 0.142678 0.657140 2.235394 -v 0.142678 0.817063 2.235753 -v -0.117211 0.817063 2.235753 -v 0.142678 0.876375 2.233910 -v -0.117211 0.876375 2.233910 -v 0.142678 0.881824 1.819352 -v -0.117211 0.881824 1.819352 -v 0.142678 0.886294 1.452513 -v -0.117211 0.886294 1.452514 -v 0.142678 0.833738 1.450712 -v -0.117211 0.833738 1.450712 -v 0.142678 0.666669 1.449340 -v -0.117211 0.666669 1.449340 -v 0.142678 0.448042 1.451277 -v -0.117211 0.448042 1.451277 -v 0.142678 0.448315 1.507656 -v -0.117211 0.448315 1.507656 -v 0.142678 0.436810 1.815049 -v -0.117211 0.436810 1.815049 -v 0.142678 0.438350 2.049274 -v -0.117211 0.438350 2.049274 -v 0.142678 0.423600 2.287596 -v -0.117211 0.423600 2.287596 -v -0.116928 0.856383 1.617575 -v -0.116928 0.853645 1.817588 -v -0.116928 0.665075 1.471334 -v -0.116928 0.761804 1.498257 -v -0.116928 0.757887 2.116556 -v -0.116928 0.660656 2.141604 -v -0.116928 0.852542 1.886434 -v -0.116928 0.851252 1.967026 -v -0.116928 0.850475 2.015535 -v -0.116928 0.467068 2.018012 -v -0.116928 0.465725 1.813838 -v -0.116928 0.563928 2.114681 -v -0.116928 0.567844 1.496382 -v -0.116928 0.475755 1.545882 -v 0.142395 0.851252 1.967026 -v 0.058021 0.828067 1.966620 -v -0.032555 0.829357 1.886027 -v -0.032555 0.828066 1.966620 -v 0.029331 0.825789 1.966584 -v 0.029331 0.827080 1.885991 -v 0.029331 0.827080 1.885991 -v 0.029331 0.825789 1.966584 -v -0.007293 0.547830 1.861861 -v -0.004014 0.561523 1.849198 -v -0.003075 0.576854 1.939137 -v -0.002139 0.594008 1.885066 -v -0.002192 0.639673 1.973258 -v -0.001255 0.656827 1.919186 -v -0.001728 0.745520 1.976290 -v -0.001728 0.746428 1.919562 -v -0.003864 0.827079 1.885991 -v -0.003864 0.825789 1.966584 -v -0.003864 0.825789 1.966584 -v -0.003864 0.827079 1.885991 -v -0.001728 0.746428 1.919562 -v -0.001728 0.745520 1.976290 -v -0.001255 0.656827 1.919186 -v -0.002192 0.639673 1.973258 -v 0.021638 0.745520 1.976290 -v 0.021638 0.746428 1.919562 -v 0.022105 0.656401 1.919456 -v 0.021222 0.593582 1.885335 -v -0.002139 0.594008 1.885066 -v 0.021168 0.639247 1.973528 -v -0.003075 0.576854 1.939137 -v -0.004014 0.561523 1.849198 -v -0.007293 0.547830 1.861861 -v 0.020285 0.576429 1.939407 -v 0.019306 0.561083 1.849339 -v 0.016027 0.547390 1.862002 -v 0.051594 1.678915 -4.269588 -v 0.051594 1.836478 -4.268064 -v 0.051594 1.834955 -4.110501 -v 0.051594 1.677392 -4.112025 -v -0.053713 1.834955 -4.110501 -v -0.053713 1.677392 -4.112025 -v -0.053713 1.836478 -4.268064 -v -0.053713 1.678915 -4.269588 -v 0.016492 1.678915 -4.269588 -v 0.016492 1.836478 -4.268064 -v -0.018610 1.678915 -4.269588 -v -0.060973 1.854414 -4.149395 -v -0.060973 1.854414 -4.149395 -v -0.041986 2.034586 -4.156837 -v -0.054175 2.034586 -4.156837 -v 0.051832 1.855505 -4.262195 -v 0.051832 1.855505 -4.262195 -v 0.045034 2.035545 -4.256041 -v 0.045034 2.035545 -4.256041 -v 0.051832 1.854414 -4.149395 -v 0.045034 2.034586 -4.156837 -v -0.018610 1.836478 -4.268064 -v -0.060973 1.855505 -4.262195 -v -0.023372 1.855505 -4.262195 -v 0.045034 2.202639 -4.144478 -v 0.011964 2.202639 -4.144478 -v -0.021105 2.202639 -4.144478 -v -0.041986 2.202639 -4.144478 -v -0.021105 2.035545 -4.256041 -v -0.054175 2.035545 -4.256041 -v -0.054175 2.203599 -4.243681 -v -0.021105 2.203599 -4.243681 -v -0.054175 2.035545 -4.256041 -v -0.054175 2.202639 -4.144478 -v -0.054175 2.203599 -4.243681 -v 0.051832 1.854414 -4.149395 -v 0.029869 2.034586 -4.156837 -v -0.060973 1.855505 -4.262195 -v -0.054175 2.406401 -4.124617 -v -0.054175 2.407361 -4.223821 -v -0.054175 2.305480 -4.233752 -v -0.054175 2.305480 -4.233752 -v -0.054175 2.407361 -4.223821 -v 0.029869 2.202639 -4.144478 -v 0.045034 2.406401 -4.124617 -v 0.045034 2.406401 -4.124617 -v 0.045034 2.203599 -4.243681 -v 0.045034 2.203599 -4.243681 -v 0.011964 2.406401 -4.124617 -v 0.045034 2.407361 -4.223821 -v 0.011964 2.407361 -4.223821 -v -0.054175 2.406401 -4.124617 -v 0.045034 2.407361 -4.223821 -v -0.021105 2.332433 -4.236758 -v -0.021105 2.407361 -4.223821 -v 0.045034 2.305480 -4.233752 -v 0.045034 2.305480 -4.233752 -v 0.029869 2.209161 -4.078815 -v 0.029869 2.041107 -4.091175 -v -0.041986 2.041107 -4.091175 -v -0.041986 2.209161 -4.078815 -v 0.045034 2.396599 -4.077962 -v 0.045034 2.391349 -4.052973 -v 0.045034 2.231575 -3.924966 -v 0.045034 2.221483 -4.001532 -v -0.054175 2.231575 -3.924966 -v -0.054175 2.356086 -4.024722 -v -0.054175 2.391349 -4.052973 -v -0.054175 2.221002 -4.005173 -v -0.054175 2.231575 -3.924966 -v -0.054175 2.391349 -4.052973 -v -0.054175 2.396848 -4.079151 -v 0.045034 2.391349 -4.052973 -v 0.045034 2.356086 -4.024722 -v 0.045034 2.231575 -3.924966 -v -0.054175 2.202639 -4.144478 -v -0.054175 2.231575 -3.924966 -v 0.045034 2.231575 -3.924966 -v 0.045034 2.221483 -4.001532 -v -0.021105 2.329133 -4.021715 -v -0.021105 2.391349 -4.052973 -v 0.011964 2.391349 -4.052973 -v 0.011964 2.406401 -4.124617 -v 0.045034 2.231575 -3.924966 -v 0.045034 2.221483 -4.001532 -v -0.054175 2.221002 -4.005173 -v -0.054175 2.231575 -3.924966 -v 0.045034 2.231575 -3.924966 -v 0.045034 2.202639 -4.144478 -v 0.032513 1.878508 -3.660935 -v 0.030422 1.883186 -3.755095 -v -0.044126 1.883495 -3.760848 -v -0.046111 1.878488 -3.662214 -v -0.041869 1.761449 -4.086932 -v -0.041869 1.836041 -4.086211 -v 0.032727 1.836041 -4.086211 -v 0.032727 1.761449 -4.086932 -v -0.041869 1.758805 -3.813482 -v -0.044356 1.830626 -3.814065 -v 0.033298 1.830621 -3.812788 -v 0.032727 1.758805 -3.813482 -v -0.041869 1.757366 -3.664618 -v -0.044356 1.829186 -3.665202 -v 0.033298 1.829182 -3.663924 -v 0.032727 1.757366 -3.664618 -v -0.041869 1.692998 -3.814118 -v -0.041869 1.691559 -3.665255 -v 0.032727 1.685764 -3.665311 -v 0.032727 1.687203 -3.814174 -v -0.021105 2.406401 -4.124617 -v 0.011964 2.329133 -4.021715 -v -0.021105 2.406401 -4.124617 -v 0.011964 2.203599 -4.243681 -v 0.011964 2.332433 -4.236758 -v 0.014230 1.855505 -4.262195 -v 0.011964 2.035545 -4.256041 -v 0.011964 2.231575 -3.924966 -v -0.021105 2.231575 -3.924966 -v 0.045034 2.034866 -4.154024 -v 0.045034 2.202919 -4.141664 -v -0.054175 2.034901 -4.153662 -v -0.054175 2.202955 -4.141303 -v 0.064394 1.969668 2.143186 -v 0.064394 1.862612 2.142151 -v 0.169845 1.862612 2.142151 -v 0.169845 1.969668 2.143186 -v -0.042667 1.969668 2.143186 -v -0.042667 1.862612 2.142151 -v -0.042667 1.857978 2.621482 -v -0.042667 1.965034 2.622517 -v -0.042667 1.970703 2.036130 -v -0.137368 1.970703 2.036130 -v -0.137368 1.969668 2.143186 -v 0.064394 1.970703 2.036130 -v 0.064394 1.863647 2.035095 -v 0.064394 1.876024 0.754992 -v 0.064394 1.983080 0.756027 -v -0.006980 1.862612 2.142151 -v -0.042667 1.863647 2.035095 -v -0.006980 1.863647 2.035095 -v 0.043659 1.969694 2.137586 -v 0.028707 1.970703 2.036130 -v 0.064394 1.984260 0.633930 -v 0.146686 1.983080 0.756027 -v 0.146686 1.984260 0.633930 -v -0.042667 1.876024 0.754992 -v -0.006980 1.876024 0.754992 -v 0.028707 1.983080 0.756027 -v -0.042667 1.983080 0.756027 -v 0.028707 1.877204 0.632895 -v 0.028707 1.984260 0.633930 -v 0.064394 1.877204 0.632895 -v -0.006980 1.984260 0.633930 -v -0.042667 1.984260 0.633930 -v -0.042667 2.167404 0.635701 -v -0.006980 2.167404 0.635701 -v -0.042667 1.877204 0.632895 -v -0.167188 1.877204 0.632895 -v -0.167188 1.984260 0.633930 -v -0.006980 1.877204 0.632895 -v 0.064394 2.245435 0.748596 -v 0.064394 2.194613 0.648864 -v 0.064394 2.268742 0.745889 -v 0.064394 2.166224 0.757797 -v 0.028707 2.166224 0.757797 -v -0.042667 2.166224 0.757797 -v 0.064394 2.167404 0.635701 -v 0.028707 2.268742 0.745889 -v 0.028707 2.188427 0.645871 -v 0.049297 2.273742 0.789901 -v 0.049297 2.257009 0.791845 -v -0.042667 2.188427 0.645871 -v -0.042667 2.245435 0.748596 -v -0.042667 2.268742 0.745889 -v -0.001947 2.273742 0.789901 -v -0.027569 2.273742 0.789901 -v -0.087521 2.381042 2.132420 -v -0.021931 2.381042 2.132420 -v 0.049297 2.200138 0.798452 -v 0.023675 2.200138 0.798452 -v -0.027569 2.200138 0.798452 -v -0.027569 2.257009 0.791845 -v -0.006980 2.268742 0.745889 -v -0.087521 2.142312 2.421078 -v -0.087521 2.146705 2.199071 -v -0.087521 2.018169 2.196527 -v -0.087521 2.013775 2.418534 -v 0.109248 2.381042 2.132420 -v 0.109248 2.338206 2.137396 -v 0.109248 2.192621 2.154307 -v 0.043659 2.192621 2.154307 -v -0.087521 2.192621 2.154307 -v -0.087521 2.338206 2.137396 -v 0.043659 1.964717 2.419892 -v 0.109248 1.964717 2.419892 -v 0.109248 1.959092 2.758076 -v 0.043659 1.959092 2.758076 -v 0.109248 2.146705 2.199071 -v 0.109248 2.142312 2.421078 -v 0.109248 2.013775 2.418534 -v 0.109248 2.018169 2.196527 -v 0.109248 1.969694 2.137586 -v 0.109248 2.182596 2.423408 -v 0.043659 2.146705 2.199071 -v 0.109248 2.008151 2.756719 -v -0.087521 2.008151 2.756719 -v 0.043659 2.018169 2.196527 -v 0.109248 2.367172 2.685050 -v 0.109248 2.421214 2.685298 -v 0.109248 2.331844 2.774648 -v 0.109248 2.299578 2.773926 -v -0.021931 2.421214 2.685298 -v -0.087521 2.421214 2.685298 -v -0.087521 2.331844 2.774648 -v -0.021931 2.331844 2.774648 -v -0.087521 2.367172 2.685050 -v -0.087521 2.183505 2.684207 -v -0.087521 2.189923 2.771473 -v -0.087521 2.299578 2.773926 -v -0.021931 2.299578 2.773926 -v -0.087521 2.368289 2.441457 -v -0.087521 2.182552 2.433985 -v -0.021931 2.422332 2.441705 -v -0.087521 2.422332 2.441705 -v 0.109248 2.368289 2.441457 -v 0.109248 2.422332 2.441705 -v 0.043659 2.183505 2.684207 -v 0.109248 2.183505 2.684207 -v 0.109248 2.189923 2.771473 -v 0.043659 2.189923 2.771473 -v -0.021931 2.400653 2.424308 -v -0.087521 2.400653 2.424308 -v -0.087521 2.351079 2.424104 -v 0.043659 2.182596 2.423408 -v 0.109248 2.184623 2.440614 -v 0.043659 2.184623 2.440614 -v 0.109248 2.351079 2.424104 -v 0.109248 2.400653 2.424308 -v 0.028707 1.862612 2.142151 -v 0.064394 1.857978 2.621482 -v 0.028707 1.857978 2.621482 -v -0.021931 1.969694 2.137586 -v -0.006980 1.965034 2.622517 -v 0.064394 1.965034 2.622517 -v -0.006980 1.854925 2.932631 -v -0.006980 1.956064 2.897519 -v -0.042667 1.956064 2.897519 -v -0.042667 1.854925 2.932631 -v -0.087521 1.964717 2.419892 -v -0.087521 1.959092 2.758076 -v 0.064394 1.956064 2.897519 -v 0.064394 1.854925 2.932631 -v 0.028707 1.854925 2.932631 -v -0.021931 2.182552 2.433985 -v -0.087521 2.176971 2.761593 -v -0.021931 2.176971 2.761593 -v 0.109248 2.176971 2.761593 -v 0.109248 2.136687 2.759263 -v 0.109248 1.956173 2.897150 -v 0.028707 1.956064 2.897519 -v -0.087521 2.136687 2.759263 -v -0.021931 2.136687 2.759263 -v -0.087521 2.147398 2.830651 -v -0.021931 2.147398 2.830651 -v -0.087521 1.969694 2.137586 -v -0.021931 2.008421 2.877196 -v -0.087521 2.008421 2.877196 -v -0.087521 1.956173 2.897150 -v 0.109248 2.008421 2.877196 -v 0.109248 2.147398 2.830651 -v 0.043659 2.147398 2.830651 -v 0.043659 2.008421 2.877196 -v -0.021931 2.018169 2.196527 -v 0.043659 2.136687 2.759263 -v 0.043659 2.176971 2.761593 -v -0.021931 1.959092 2.758076 -v -0.006980 1.857978 2.621482 -v 0.028707 1.965034 2.622517 -v -0.021931 1.964717 2.419892 -v 0.043659 2.381042 2.132420 -v 0.043659 2.400610 2.434885 -v -0.021931 2.183505 2.684207 -v 0.043659 2.422332 2.441705 -v -0.021931 2.189923 2.771473 -v 0.043659 2.421214 2.685298 -v 0.043659 2.331844 2.774648 -v 0.043659 2.299578 2.773926 -v -0.021931 2.146705 2.199071 -v -0.021931 2.192621 2.154307 -v -0.001947 2.200138 0.798452 -v 0.023675 2.273742 0.789901 -v -0.006980 2.166224 0.757797 -v -0.021005 2.297669 2.648355 -v 0.042733 2.297669 2.648355 -v -0.006980 2.188427 0.645871 -v -0.006980 1.983080 0.756027 -v 0.028707 1.876024 0.754992 -v 0.028707 2.167404 0.635701 -v -0.006980 1.970703 2.036130 -v 0.028707 1.863647 2.035095 -v 0.043070 2.298365 2.694150 -v -0.137368 1.862612 2.142151 -v -0.137368 1.863647 2.035095 -v 0.169845 1.863647 2.035095 -v 0.169845 1.970703 2.036130 -v 0.146686 1.876024 0.754992 -v 0.146686 1.877204 0.632895 -v -0.167188 1.876024 0.754992 -v -0.167188 1.983080 0.756027 -v 0.010262 2.021519 2.589287 -v 0.010262 2.020119 2.734168 -v -0.092189 2.020529 2.691733 -v 0.010262 2.131944 2.590354 -v -0.092189 2.130953 2.692801 -v 0.010262 2.130543 2.735235 -v -0.134626 2.021519 2.589287 -v -0.134626 2.131944 2.590354 -v -0.092189 2.022510 2.486840 -v -0.092189 2.132934 2.487908 -v 0.010262 2.022920 2.444405 -v 0.010262 2.133344 2.445473 -v 0.112714 2.022510 2.486840 -v 0.112714 2.132934 2.487908 -v 0.155150 2.021519 2.589287 -v 0.155150 2.131944 2.590354 -v 0.112714 2.020529 2.691733 -v 0.112714 2.130953 2.692801 -v -0.021343 2.298365 2.694150 -v 0.037213 2.320070 2.690015 -v -0.015486 2.320070 2.690015 -v 0.036937 2.319501 2.652549 -v -0.014876 2.327471 2.660462 -v 0.010591 2.316989 2.661640 -v -0.012048 2.332392 2.678925 -v 0.010591 2.319224 2.681524 -v -0.021425 2.352902 2.658721 -v -0.021425 2.354889 2.676396 -v -0.012048 2.377386 2.673867 -v -0.012048 2.375399 2.656192 -v 0.010591 2.386705 2.672819 -v 0.010591 2.388567 2.653594 -v 0.036057 2.380320 2.674655 -v 0.033229 2.375399 2.656192 -v 0.042607 2.354889 2.676396 -v 0.046606 2.352778 2.657617 -v 0.033229 2.332392 2.678925 -v 0.107330 2.208933 2.596382 -v 0.107060 2.218142 2.557761 -v 0.137424 2.218003 2.572124 -v 0.106843 2.243196 2.526961 -v 0.106723 2.279133 2.510081 -v 0.174952 2.278821 2.542352 -v 0.161558 2.242946 2.552840 -v 0.106723 2.318835 2.510465 -v 0.106843 2.354440 2.528037 -v 0.161558 2.354189 2.553916 -v 0.174952 2.318524 2.542736 -v 0.107060 2.378894 2.559315 -v 0.107330 2.387354 2.598107 -v 0.137424 2.378755 2.573678 -v 0.192260 2.317813 2.616197 -v 0.192260 2.278111 2.615814 -v 0.145127 2.378439 2.606371 -v 0.175438 2.353620 2.612828 -v 0.145127 2.217687 2.604817 -v 0.175438 2.242377 2.611752 -v 0.124368 2.217432 2.631223 -v 0.145614 2.277537 2.675148 -v 0.138032 2.241916 2.659334 -v 0.138032 2.353160 2.660410 -v 0.145614 2.317240 2.675532 -v 0.124368 2.378183 2.632777 -v 0.090779 2.217430 2.631458 -v 0.070140 2.277532 2.675675 -v 0.077506 2.241912 2.659757 -v 0.077506 2.353156 2.660832 -v 0.070140 2.317235 2.676059 -v 0.090779 2.378181 2.633012 -v 0.288283 1.507385 2.784997 -v 0.302085 1.508212 2.839944 -v 0.230214 1.516211 2.857877 -v 0.216412 1.515384 2.802931 -v 0.191263 1.579106 2.866714 -v 0.177461 1.578279 2.811768 -v 0.214563 1.649536 2.859801 -v 0.200761 1.648709 2.804855 -v 0.282569 1.674465 2.842344 -v 0.268767 1.673638 2.787397 -v 0.344071 1.635122 2.827487 -v 0.330269 1.634295 2.772541 -v 0.352756 1.561132 2.826420 -v 0.338954 1.560305 2.771473 -v 0.027960 1.486830 1.817147 -v -0.043911 1.494829 1.835080 -v -0.082862 1.557724 1.843918 -v -0.059561 1.628153 1.837005 -v 0.008445 1.653082 1.819547 -v 0.069946 1.613739 1.804691 -v 0.078631 1.539750 1.803623 -v 0.300826 1.568402 2.777984 -v 0.269088 1.535255 2.786455 -v 0.295386 1.614745 2.778653 -v 0.256864 1.639388 2.787958 -v 0.214269 1.623773 2.798893 -v 0.199675 1.579660 2.803223 -v 0.224072 1.540266 2.797688 -v 0.241280 1.499612 2.666382 -v 0.169409 1.507611 2.684315 -v 0.130459 1.570506 2.693152 -v 0.153759 1.640935 2.686239 -v 0.221765 1.665865 2.668782 -v 0.283266 1.626521 2.653925 -v 0.291951 1.552532 2.652858 -v 0.239544 1.532166 2.670439 -v 0.194527 1.537176 2.681670 -v 0.170131 1.576570 2.687206 -v 0.184725 1.620684 2.682875 -v 0.227320 1.636298 2.671942 -v 0.265841 1.611656 2.662636 -v 0.271281 1.565312 2.661968 -v 0.181794 1.572812 1.882358 -v 0.177507 1.551091 1.881797 -v 0.177507 1.550996 1.891630 -v 0.181794 1.572717 1.892192 -v 0.181794 1.575243 1.630875 -v 0.177507 1.553522 1.630314 -v 0.177507 1.551566 1.832629 -v 0.181794 1.573287 1.833191 -v 0.181794 1.579350 1.206084 -v 0.177507 1.557629 1.205523 -v 0.177507 1.557129 1.257250 -v 0.181794 1.578850 1.257811 -v 0.176907 1.641480 1.206685 -v 0.178707 1.627872 1.206553 -v 0.178707 1.627372 1.258281 -v 0.176907 1.640980 1.258412 -v 0.176907 1.637374 1.631476 -v 0.178707 1.623765 1.631345 -v 0.178707 1.621809 1.833660 -v 0.176907 1.635418 1.833792 -v 0.176907 1.634942 1.882959 -v 0.178707 1.621333 1.882828 -v 0.178707 1.621238 1.892661 -v 0.176907 1.634847 1.892793 -v 0.176907 1.639177 1.444944 -v 0.178707 1.625568 1.444813 -v 0.177507 1.555325 1.443782 -v 0.181794 1.577047 1.444343 -v 0.178707 1.627988 1.194507 -v 0.181794 1.579466 1.194038 -v 0.176907 1.641597 1.194639 -v 0.177507 1.557745 1.193477 -v 0.175675 1.644729 1.833882 -v 0.175675 1.644253 1.883049 -v 0.175675 1.650292 1.258502 -v 0.175675 1.648488 1.445034 -v 0.175675 1.646685 1.631566 -v 0.175675 1.650792 1.206775 -v 0.186751 1.573467 1.882365 -v 0.186751 1.573372 1.892198 -v 0.181423 1.547886 1.891600 -v 0.181423 1.547982 1.881767 -v 0.186751 1.575899 1.630882 -v 0.186751 1.573943 1.833197 -v 0.181423 1.548457 1.832599 -v 0.181423 1.550413 1.630284 -v 0.186751 1.580006 1.206090 -v 0.186751 1.579506 1.257818 -v 0.181423 1.554020 1.257220 -v 0.181423 1.554520 1.205493 -v 0.181864 1.642136 1.206691 -v 0.181864 1.641636 1.258418 -v 0.183664 1.628027 1.258287 -v 0.183664 1.628527 1.206560 -v 0.181864 1.638029 1.631482 -v 0.181864 1.636073 1.833798 -v 0.183664 1.622464 1.833666 -v 0.183664 1.624420 1.631351 -v 0.181864 1.635598 1.882965 -v 0.181864 1.635503 1.892799 -v 0.183664 1.621894 1.892667 -v 0.183664 1.621989 1.882834 -v 0.181864 1.639833 1.444950 -v 0.183664 1.626224 1.444819 -v 0.186751 1.577702 1.444350 -v 0.181423 1.552216 1.443752 -v 0.183664 1.628644 1.194514 -v 0.186751 1.580122 1.194044 -v 0.181864 1.642253 1.194645 -v 0.181423 1.554636 1.193447 -v 0.180632 1.645385 1.833888 -v 0.180632 1.644909 1.883055 -v 0.180632 1.650947 1.258508 -v 0.180632 1.649144 1.445040 -v 0.180632 1.647340 1.631572 -v 0.180632 1.651447 1.206781 -v -0.013058 1.760041 -6.289080 -v -0.079416 1.742262 -6.289251 -v 0.101877 1.693688 -6.289721 -v 0.053300 1.742262 -6.289251 -v -0.013058 1.494624 -6.291646 -v 0.053300 1.512403 -6.291474 -v -0.127993 1.693688 -6.289721 -v -0.139130 1.652125 -6.290123 -v -0.079416 1.512403 -6.291474 -v 0.106518 1.593696 -6.290688 -v 0.114186 1.647750 -6.290165 -v -0.127993 1.560979 -6.291004 -v -0.137723 1.612007 -6.290511 -v 0.044758 1.727468 -6.289394 -v -0.013058 1.742959 -6.289245 -v 0.087083 1.685145 -6.289804 -v 0.090698 1.599656 -6.290630 -v 0.097376 1.646731 -6.290175 -v -0.013058 1.511706 -6.291481 -v 0.042944 1.526711 -6.291336 -v -0.070874 1.527197 -6.291331 -v -0.112735 1.569057 -6.290926 -v -0.121277 1.613853 -6.290493 -v -0.070874 1.727468 -6.289394 -v -0.113199 1.685145 -6.289804 -v -0.122553 1.650236 -6.290141 -v -0.066341 1.711473 -5.738770 -v -0.015398 1.725124 -5.738637 -v -0.103634 1.572299 -5.740115 -v -0.111104 1.611475 -5.739737 -v -0.112185 1.642274 -5.739439 -v -0.103634 1.674182 -5.739130 -v 0.035546 1.711473 -5.738770 -v 0.072839 1.674182 -5.739130 -v 0.082290 1.638914 -5.739471 -v 0.076403 1.597417 -5.739872 -v 0.035546 1.535007 -5.740476 -v -0.015398 1.521358 -5.740607 -v -0.066341 1.535007 -5.740476 -v 0.044758 1.727468 -6.289394 -v -0.013058 1.742959 -6.289245 -v 0.087083 1.685145 -6.289804 -v 0.090698 1.599656 -6.290630 -v 0.097376 1.646731 -6.290175 -v -0.013058 1.511706 -6.291481 -v 0.042944 1.526711 -6.291336 -v -0.070874 1.527197 -6.291331 -v -0.112735 1.569057 -6.290926 -v -0.121277 1.613853 -6.290493 -v -0.070874 1.727468 -6.289394 -v -0.113199 1.685145 -6.289804 -v -0.122553 1.650238 -6.290141 -v -0.066341 1.711473 -5.738770 -v -0.015398 1.725124 -5.738637 -v -0.103634 1.572299 -5.740115 -v -0.111104 1.611475 -5.739737 -v -0.112185 1.642274 -5.739439 -v -0.103634 1.674182 -5.739130 -v 0.035546 1.711473 -5.738770 -v 0.072839 1.674182 -5.739130 -v 0.082290 1.638914 -5.739471 -v 0.076403 1.597417 -5.739872 -v 0.035546 1.535007 -5.740476 -v -0.015398 1.521358 -5.740607 -v -0.066341 1.535007 -5.740476 -v -0.080983 1.739653 -5.738497 -v -0.013058 1.757851 -5.738321 -v -0.130708 1.554088 -5.740291 -v -0.140668 1.606321 -5.739786 -v -0.142108 1.647385 -5.739389 -v -0.130708 1.689929 -5.738977 -v 0.054867 1.739653 -5.738497 -v 0.104592 1.689929 -5.738977 -v 0.117192 1.642908 -5.739432 -v 0.109342 1.587577 -5.739967 -v 0.054867 1.504364 -5.740772 -v -0.013058 1.486166 -5.740948 -v -0.080983 1.504364 -5.740772 -v -0.112639 1.564113 -5.698238 -v -0.070551 1.522027 -5.698646 -v 0.044435 1.721179 -5.696720 -v -0.013058 1.736583 -5.696571 -v -0.070551 1.721179 -5.696720 -v -0.112639 1.679093 -5.697127 -v 0.090544 1.592458 -5.697964 -v 0.097188 1.639292 -5.697512 -v -0.013058 1.506621 -5.698794 -v -0.122289 1.643082 -5.697475 -v 0.044435 1.522027 -5.698646 -v 0.086522 1.679093 -5.697127 -v -0.121069 1.608325 -5.697811 -v -0.113470 1.595189 -4.242433 -v -0.114603 1.627501 -4.242120 -v -0.110517 1.626811 -4.253918 -v -0.109429 1.595799 -4.254218 -v -0.064355 1.518801 -4.254962 -v -0.101907 1.556352 -4.254600 -v -0.013059 1.710235 -4.253111 -v 0.038238 1.696491 -4.253244 -v -0.101907 1.658941 -4.253607 -v -0.064355 1.696491 -4.253244 -v 0.085306 1.623429 -4.253951 -v 0.079378 1.581643 -4.254355 -v -0.013059 1.505057 -4.255095 -v 0.038238 1.518801 -4.254962 -v 0.075790 1.658941 -4.253607 -v -0.066506 1.700102 -4.241418 -v -0.013059 1.714422 -4.241280 -v 0.040389 1.700102 -4.241418 -v 0.079515 1.660977 -4.241796 -v 0.040389 1.514963 -4.243208 -v -0.013059 1.500642 -4.243347 -v -0.105632 1.660977 -4.241796 -v -0.066506 1.514963 -4.243208 -v 0.089430 1.623976 -4.242154 -v 0.083254 1.580439 -4.242575 -v -0.105632 1.554087 -4.242830 -v -0.065400 1.515808 -4.132485 -v -0.103717 1.554122 -4.132114 -v -0.013059 1.711140 -4.130596 -v 0.039283 1.697116 -4.130732 -v -0.103717 1.658800 -4.131102 -v -0.065400 1.697116 -4.130732 -v 0.087309 1.622566 -4.131453 -v 0.081261 1.579929 -4.131865 -v -0.013059 1.501784 -4.132620 -v -0.112502 1.626017 -4.131419 -v 0.039283 1.515808 -4.132485 -v 0.077600 1.658800 -4.131102 -v -0.062560 1.692112 -4.121951 -v -0.013059 1.705375 -4.121823 -v 0.036443 1.692112 -4.121951 -v 0.072681 1.655875 -4.122302 -v 0.036443 1.520641 -4.123609 -v -0.013059 1.507378 -4.123737 -v -0.107106 1.624871 -4.122602 -v -0.098798 1.655875 -4.122302 -v -0.062560 1.520641 -4.123609 -v 0.081864 1.621607 -4.122633 -v 0.076143 1.581283 -4.123023 -v -0.098798 1.556877 -4.123259 -v -0.106057 1.594944 -4.122890 -v -0.111392 1.594373 -4.131725 -v -0.180496 1.276744 -3.709595 -v -0.013059 1.231882 -3.710029 -v 0.290977 1.481865 -3.707612 -v 0.310479 1.618257 -3.706294 -v -0.180496 1.856736 -3.703987 -v -0.303069 1.734170 -3.705173 -v 0.154378 1.856737 -3.703987 -v -0.013059 1.901599 -3.703554 -v -0.303069 1.399311 -3.708410 -v 0.154378 1.276744 -3.709595 -v 0.282936 1.473118 -3.707697 -v 0.276951 1.734170 -3.705173 -v -0.331171 1.629296 -3.706187 -v -0.063124 1.516527 -3.799040 -v -0.099774 1.553176 -3.798685 -v -0.013059 1.703364 -3.797233 -v 0.037006 1.689950 -3.797363 -v -0.099774 1.653301 -3.797717 -v -0.063124 1.689950 -3.797363 -v 0.082944 1.618642 -3.798053 -v 0.077158 1.577860 -3.798446 -v -0.013059 1.503113 -3.799170 -v -0.108177 1.621943 -3.798021 -v 0.037006 1.516527 -3.799040 -v 0.073656 1.653301 -3.797718 -v -0.107115 1.591676 -3.798313 -v -0.327621 1.528072 -3.707165 -v -0.331320 1.534015 -3.707108 -v 0.075446 1.575244 -3.798472 -v -0.202174 1.172312 0.084620 -v 0.012707 1.114738 0.084064 -v 0.012707 1.223542 0.117762 -v -0.147611 1.266498 0.118177 -v 0.428145 1.610595 0.088858 -v 0.403116 1.435555 0.087165 -v -0.359479 1.759351 0.090296 -v -0.202174 1.916648 0.091817 -v 0.012707 1.974223 0.092373 -v 0.227588 1.916648 0.091817 -v -0.359479 1.329609 0.086141 -v 0.392573 1.424329 0.087057 -v 0.227589 1.172312 0.084620 -v 0.384892 1.759351 0.090296 -v -0.395543 1.624762 0.088995 -v -0.395512 1.502481 0.087813 -v -0.289566 1.512830 0.120559 -v -0.291880 1.604061 0.121441 -v 0.320127 1.593491 0.121339 -v 0.301600 1.462898 0.120076 -v -0.264973 1.704476 0.122412 -v -0.147611 1.821831 0.123546 -v 0.012707 1.864787 0.123962 -v 0.173026 1.821831 0.123546 -v -0.264973 1.383854 0.119312 -v 0.296118 1.454522 0.119995 -v 0.290387 1.704476 0.122412 -v 0.173026 1.266498 0.118177 -v 0.012707 1.169546 0.336860 -v -0.173550 1.219450 0.337343 -v -0.338471 1.505638 0.340110 -v -0.344450 1.599349 0.341016 -v -0.341160 1.611629 0.341134 -v -0.237064 1.581918 0.361622 -v -0.234763 1.590505 0.361705 -v 0.369865 1.599349 0.341016 -v 0.348341 1.447626 0.339549 -v -0.309899 1.728289 0.342262 -v -0.173550 1.864632 0.343580 -v 0.012707 1.914538 0.344063 -v 0.198964 1.864632 0.343580 -v -0.309899 1.355793 0.338661 -v 0.341971 1.437896 0.339455 -v 0.335314 1.728289 0.342262 -v 0.198964 1.219450 0.337343 -v -0.232883 1.516382 0.360988 -v 0.012707 1.281343 0.358716 -v -0.117548 1.316242 0.359053 -v 0.262479 1.581918 0.361622 -v 0.247426 1.475813 0.360596 -v -0.212901 1.672090 0.362494 -v -0.117548 1.767439 0.363416 -v 0.012707 1.802339 0.363753 -v 0.142962 1.767439 0.363416 -v -0.212901 1.411592 0.359975 -v 0.242972 1.469008 0.360530 -v 0.238316 1.672090 0.362494 -v -0.337211 1.499027 0.340046 -v -0.232002 1.511759 0.360944 -v 0.142962 1.316242 0.359053 -v 0.244253 1.649934 0.362279 -v 0.343803 1.696609 0.341956 -v 0.368371 1.604925 0.341069 -v 0.261434 1.585817 0.361660 -v 0.350093 1.673134 0.341729 -v 0.248652 1.633518 0.362121 -v 0.257449 1.600686 0.361803 -v 0.362673 1.626186 0.341275 -v 0.356383 1.649660 0.341502 -v 0.253051 1.617102 0.361962 -v -0.212901 1.671165 0.458115 -v -0.234763 1.589581 0.457326 -v -0.150483 1.592276 0.271604 -v -0.135944 1.646535 0.272128 -v -0.232883 1.515458 0.456610 -v -0.237064 1.580993 0.457243 -v 0.238316 1.671165 0.458115 -v 0.244253 1.649009 0.457901 -v -0.117548 1.315318 0.454675 -v 0.012707 1.280418 0.454337 -v 0.014100 1.386664 0.269616 -v -0.072528 1.409875 0.269840 -v 0.262479 1.580993 0.457243 -v 0.247426 1.474888 0.456218 -v -0.117548 1.766515 0.459037 -v 0.012707 1.801414 0.459375 -v 0.142962 1.766515 0.459037 -v -0.212901 1.410667 0.455597 -v 0.242972 1.468084 0.456152 -v 0.142962 1.315318 0.454675 -v 0.180214 1.586565 0.271549 -v 0.170203 1.515998 0.270866 -v -0.072528 1.709948 0.272741 -v 0.014100 1.733159 0.272966 -v 0.100728 1.709948 0.272741 -v -0.135944 1.473287 0.270453 -v 0.167240 1.511474 0.270823 -v 0.164144 1.646535 0.272128 -v -0.232002 1.510834 0.456565 -v -0.148646 1.539905 0.271097 -v 0.100728 1.409875 0.269840 -v -0.152013 1.586565 0.271549 -v 0.168092 1.631800 0.271986 -v -0.149233 1.542980 0.271127 -v 0.261434 1.584893 0.457281 -v 0.179519 1.589158 0.271574 -v 0.171018 1.620883 0.271880 -v 0.248652 1.632594 0.457742 -v 0.257449 1.599761 0.457425 -v 0.176869 1.599047 0.271669 -v 0.253051 1.616178 0.457584 -v 0.173943 1.601835 0.271696 -v 0.044032 -0.281581 2.653725 -v 0.103907 -0.281581 2.653725 -v -0.069998 0.116802 2.426650 -v 0.042126 0.116802 2.426650 -v 0.098188 0.116802 2.426650 -v -0.068462 0.236090 2.371759 -v -0.061428 0.727369 2.149053 -v 0.041614 0.236090 2.371759 -v 0.096653 0.236090 2.371759 -v 0.089619 0.727369 2.149053 -v 0.039270 0.727369 2.149053 -v -0.076873 -0.381316 2.633466 -v -0.041226 -0.451792 2.698090 -v -0.004345 -0.451792 2.698090 -v 0.044418 -0.381316 2.633466 -v -0.076533 0.704381 2.684944 -v -0.084974 0.367866 2.901927 -v 0.057443 0.751341 1.513957 -v 0.089619 0.727369 2.149053 -v 0.096653 0.236090 2.371759 -v 0.142395 0.856383 1.617575 -v 0.165142 0.712044 2.506314 -v 0.104723 0.704381 2.684944 -v 0.113164 0.367866 2.901927 -v 0.179210 0.323941 2.725204 -v -0.136952 0.719706 2.327683 -v -0.061428 0.727369 2.149053 -v -0.068462 0.236090 2.371759 -v -0.151020 0.280015 2.548481 -v 0.105063 -0.381316 2.633466 -v 0.069416 -0.451792 2.698090 -v 0.032535 -0.451792 2.698090 -v 0.096653 0.236090 2.371759 -v 0.041614 0.236090 2.371759 -v -0.068462 0.236090 2.371759 -v 0.097477 0.151311 2.325201 -v -0.086817 0.259436 2.971379 -v 0.098188 0.116802 2.426650 -v 0.057406 0.838800 1.623579 -v 0.115007 0.259436 2.971379 -v 0.182282 0.211892 2.789803 -v -0.069998 0.116802 2.426650 -v -0.154092 0.164347 2.608227 -v -0.093679 -0.144299 3.229982 -v 0.103907 -0.281581 2.653725 -v 0.142395 0.852542 1.886433 -v 0.121869 -0.144299 3.229982 -v 0.193719 -0.190060 3.037896 -v -0.075717 -0.281581 2.653725 -v -0.165529 -0.235820 2.845811 -v -0.165529 -0.190060 3.037896 -v 0.041889 0.151311 2.325201 -v 0.193719 -0.235820 2.845811 -v -0.069287 0.151311 2.325201 -v -0.154092 0.211892 2.789803 -v 0.182282 0.164347 2.608227 -v 0.098188 0.116802 2.426650 -v 0.042126 0.116802 2.426650 -v -0.151020 0.323941 2.725204 -v 0.179210 0.280015 2.548481 -v -0.136952 0.712044 2.506314 -v 0.165142 0.719706 2.327683 -v -0.069998 0.116802 2.426650 -v 0.103907 -0.281581 2.653725 -v 0.142395 0.853645 1.817587 -v 0.044032 -0.281581 2.653725 -v 0.058021 0.830456 1.817255 -v -0.075717 -0.281581 2.653725 -v 0.058021 0.829357 1.886027 -v 0.142395 0.850475 2.015535 -v -0.165529 -0.235820 2.845811 -v -0.165529 -0.190060 3.037896 -v -0.167841 -0.277715 3.065995 -v 0.193719 -0.235820 2.845811 -v 0.196031 -0.329516 2.849731 -v -0.154092 0.211892 2.789803 -v 0.182282 0.164347 2.608227 -v -0.152668 0.256887 2.734533 -v 0.180858 0.204099 2.529867 -v -0.151020 0.323941 2.725204 -v 0.179210 0.280015 2.548481 -v 0.124737 -0.401702 2.909541 -v -0.096547 -0.351613 3.120992 -v 0.057384 0.833378 2.008721 -v 0.142395 0.660656 2.141604 -v 0.142395 0.757887 2.116556 -v 0.057482 0.747999 2.100130 -v 0.058887 0.660929 2.112417 -v -0.075717 -0.281581 2.653725 -v -0.015842 -0.281581 2.653725 -v -0.013936 0.116802 2.426650 -v -0.013424 0.236090 2.371759 -v -0.011079 0.727369 2.149053 -v -0.015842 -0.281581 2.653725 -v -0.016228 -0.381316 2.633466 -v -0.013936 0.116802 2.426650 -v -0.013699 0.151311 2.325201 -v -0.013424 0.236090 2.371759 -v 0.058073 0.489282 1.814222 -v 0.142395 0.465725 1.813838 -v 0.057353 0.483818 2.010995 -v 0.142395 0.467068 2.018012 -v 0.057530 0.573790 2.097813 -v 0.142395 0.563928 2.114681 -v -0.116928 0.856383 1.617575 -v -0.116928 0.853645 1.817588 -v -0.116928 0.665075 1.471334 -v -0.116928 0.761804 1.498257 -v -0.116928 0.757887 2.116556 -v -0.116928 0.660656 2.141604 -v -0.116928 0.852542 1.886434 -v -0.116928 0.851252 1.967026 -v -0.116928 0.850475 2.015535 -v -0.116928 0.467068 2.018012 -v -0.116928 0.465725 1.813838 -v -0.116928 0.563928 2.114681 -v -0.116928 0.567844 1.496382 -v -0.116928 0.475755 1.545882 -v 0.142395 0.851252 1.967026 -v 0.058021 0.828067 1.966620 -v -0.032555 0.829357 1.886027 -v -0.032555 0.828066 1.966620 -v 0.029331 0.825789 1.966584 -v 0.029331 0.827080 1.885991 -v -0.031917 0.833378 2.008721 -v -0.033420 0.660929 2.112417 -v -0.032063 0.573790 2.097813 -v -0.031886 0.483818 2.010995 -v -0.032606 0.489282 1.814222 -v -0.031746 0.490206 1.554891 -v -0.032287 0.575638 1.516128 -v -0.033412 0.664812 1.500463 -v -0.031976 0.751341 1.513957 -v -0.031940 0.838800 1.623579 -v -0.032555 0.830456 1.817256 -v -0.032016 0.747999 2.100130 -v -0.003864 0.825789 1.966584 -v -0.003864 0.827079 1.885991 -v 0.288283 1.507385 2.784997 -v 0.302085 1.508212 2.839944 -v 0.230214 1.516211 2.857877 -v 0.216412 1.515384 2.802931 -v 0.191263 1.579106 2.866714 -v 0.177461 1.578279 2.811768 -v 0.214563 1.649536 2.859801 -v 0.200761 1.648709 2.804855 -v 0.282569 1.674465 2.842344 -v 0.268767 1.673638 2.787397 -v 0.344071 1.635122 2.827487 -v 0.330269 1.634295 2.772541 -v 0.352756 1.561132 2.826420 -v 0.338954 1.560305 2.771473 -v 0.027960 1.486830 1.817147 -v -0.043911 1.494829 1.835080 -v -0.082862 1.557724 1.843918 -v -0.059561 1.628153 1.837005 -v 0.008445 1.653082 1.819547 -v 0.069946 1.613739 1.804691 -v 0.078631 1.539750 1.803623 -v 0.300826 1.568402 2.777984 -v 0.269088 1.535255 2.786455 -v 0.295386 1.614745 2.778653 -v 0.256864 1.639388 2.787958 -v 0.214269 1.623773 2.798893 -v 0.199675 1.579660 2.803223 -v 0.224072 1.540266 2.797688 -v 0.241280 1.499612 2.666382 -v 0.169409 1.507611 2.684315 -v 0.130459 1.570506 2.693152 -v 0.153759 1.640935 2.686239 -v 0.221765 1.665865 2.668782 -v 0.283266 1.626521 2.653925 -v 0.291951 1.552532 2.652858 -v 0.239544 1.532166 2.670439 -v 0.194527 1.537176 2.681670 -v 0.170131 1.576570 2.687206 -v 0.184725 1.620684 2.682875 -v 0.227320 1.636298 2.671942 -v 0.265841 1.611656 2.662636 -v 0.271281 1.565312 2.661968 -v 0.010262 2.020119 2.734168 -v -0.092189 2.020529 2.691733 -v -0.092189 2.130953 2.692801 -v 0.010262 2.130543 2.735235 -v -0.134626 2.021519 2.589287 -v -0.134626 2.131944 2.590354 -v -0.092189 2.022510 2.486840 -v -0.092189 2.132934 2.487908 -v 0.010262 2.022920 2.444405 -v 0.010262 2.133344 2.445473 -v 0.112714 2.022510 2.486840 -v 0.112714 2.132934 2.487908 -v 0.155150 2.021519 2.589287 -v 0.155150 2.131944 2.590354 -v 0.112714 2.020529 2.691733 -v 0.112714 2.130953 2.692801 -v 0.192843 1.305413 6.563009 -v 0.192843 1.649577 6.527719 -v -0.152244 1.649577 6.527719 -v -0.152244 1.305413 6.563009 -v 0.192843 0.009952 6.375108 -v -0.152244 0.009952 6.375108 -v 0.192843 0.364782 6.457143 -v 0.192843 0.904788 6.540969 -v -0.152244 0.904788 6.540969 -v -0.152244 0.364782 6.457143 -v -0.288967 0.897229 6.368784 -v -0.288967 0.423273 6.295212 -v 0.292823 1.563486 6.378878 -v 0.292823 1.256055 6.410403 -v 0.292823 0.898192 6.390715 -v 0.292823 0.415824 6.315836 -v 0.292823 0.098867 6.242557 -v -0.288967 0.111844 6.223210 -v -0.288967 1.248852 6.388129 -v -0.288967 1.550920 6.357154 -v 0.292823 1.619638 3.269124 -v 0.292823 1.591547 4.825535 -v 0.292823 1.563486 6.378878 -v -0.288967 1.550920 6.357154 -v -0.288967 1.578493 4.830902 -v -0.288967 1.606093 3.301634 -vn 1.0000 -0.0000 -0.0000 -vn -0.0000 -0.9871 0.1600 -vn -1.0000 -0.0000 -0.0000 -vn 0.8425 0.0019 -0.5387 -vn -0.0000 -1.0000 -0.0097 -vn -0.0000 -0.2819 -0.9594 -vn -0.0000 -0.0289 -0.9996 -vn 0.9934 -0.1149 -0.0011 -vn -0.0000 -0.9775 -0.2111 -vn -0.0000 -0.0316 0.9995 -vn -0.9736 0.2281 0.0100 -vn -0.9733 0.2293 0.0098 -vn -0.9732 0.2300 0.0089 -vn -0.0000 -0.7392 -0.6735 -vn -0.0000 -0.0097 1.0000 -vn -0.0000 -0.9731 0.2305 -vn -0.0000 0.5530 0.8332 -vn -0.0000 0.9994 0.0348 -vn 0.9995 -0.0003 0.0304 -vn -0.9995 -0.0003 0.0304 -vn -0.9284 -0.0036 0.3715 -vn 0.9284 -0.0036 0.3714 -vn -0.0000 1.0000 -0.0012 -vn -0.0000 -0.5366 0.8438 -vn -0.0000 0.0052 -1.0000 -vn 0.8422 0.0034 -0.5392 -vn 0.8410 0.0028 -0.5410 -vn 0.8404 0.0047 -0.5420 -vn -0.0000 -0.6972 0.7169 -vn -0.8420 0.0058 -0.5394 -vn -0.0000 0.5419 0.8404 -vn -0.0000 0.5394 0.8421 -vn -0.9934 -0.1149 -0.0011 -vn -0.9934 -0.1150 -0.0003 -vn -0.7671 -0.4112 -0.4924 -vn 0.9934 -0.1149 -0.0003 -vn -0.0000 -0.6074 -0.7944 -vn 0.7671 -0.4112 -0.4924 -vn -0.8425 0.0036 -0.5387 -vn -0.0000 -0.0067 1.0000 -vn 0.8425 0.0036 -0.5387 -vn -0.0000 0.0067 -1.0000 -vn -0.0000 0.0036 -1.0000 -vn -0.8425 0.0019 -0.5387 -vn -0.0000 -0.0036 1.0000 -vn 0.9966 0.0818 0.0008 -vn -0.0000 0.5586 0.8294 -vn -0.9966 0.0819 0.0008 -vn -0.9966 0.0818 0.0002 -vn -0.8023 0.3076 -0.5116 -vn 0.9966 0.0818 0.0002 -vn -0.0000 0.4825 -0.8759 -vn 0.8023 0.3076 -0.5116 -vn 0.9987 -0.0000 -0.0512 -vn 1.0000 -0.0000 0.0027 -vn 0.7071 -0.0000 0.7071 -vn -0.0000 -0.0000 -0.0000 -vn 0.0025 -0.7128 -0.7013 -vn 0.0025 -0.7071 0.7071 -vn 0.0036 -1.0000 -0.0000 -vn -0.0000 1.0000 0.0047 -vn -0.0000 1.0000 0.0097 -vn -0.0000 1.0000 0.0027 -vn 0.9966 0.0096 -0.0815 -vn 0.7714 0.0075 0.6363 -vn 1.0000 0.0097 -0.0000 -vn 0.3994 0.5930 -0.6992 -vn 0.5573 0.8275 -0.0674 -vn 0.3950 0.5865 0.7071 -vn -0.3535 -0.1464 0.9239 -vn -0.3827 -0.0000 0.9239 -vn -0.0000 -0.0000 1.0000 -vn 0.9793 0.0026 0.2024 -vn 0.7096 0.0019 -0.7046 -vn 1.0000 0.0027 -0.0000 -vn 0.3535 0.1464 0.9239 -vn 0.3827 -0.0000 0.9239 -vn -0.0035 0.9829 0.1840 -vn -0.0037 0.9823 0.1873 -vn 0.0037 0.9823 0.1873 -vn -0.0030 0.9811 0.1935 -vn 0.0015 0.9820 0.1887 -vn 0.0019 0.9820 0.1890 -vn -0.0000 0.9790 0.2038 -vn -0.0000 0.9991 0.0429 -vn -0.0000 -0.9991 -0.0429 -vn -0.0000 -0.0000 -1.0000 -vn -0.8418 0.0058 -0.5397 -vn -0.8407 0.0065 -0.5414 -vn -0.8425 0.0039 -0.5387 -vn 0.8425 0.0028 -0.5387 -vn -0.0000 -0.0096 1.0000 -vn -0.9993 -0.0327 0.0153 -vn 0.9284 -0.0036 0.3715 -vn -0.8390 0.0080 -0.5441 -vn -0.8386 0.0058 -0.5447 -vn 0.8415 0.0028 -0.5403 -vn 0.8406 0.0014 -0.5417 -vn 0.8002 -0.0000 0.5997 -vn 0.7071 -0.0000 -0.7071 -vn 1.0000 -0.0000 -0.0097 -vn -0.0147 0.9816 0.1903 -vn -0.0124 0.9821 0.1881 -vn -0.0155 0.9824 0.1861 -vn -0.0475 0.9810 0.1879 -vn 0.9911 0.0096 0.1327 -vn 0.7072 0.0068 -0.7070 -vn -0.9641 -0.0000 0.2654 -vn -0.7071 -0.0000 -0.7071 -vn -1.0000 -0.0000 0.0097 -vn -0.9725 0.2329 0.0100 -vn -0.9959 -0.0009 0.0906 -vn -0.9983 0.0006 -0.0585 -vn 0.0348 0.9991 -0.0262 -vn -0.0000 0.0097 -1.0000 -vn 0.0479 0.3613 -0.9312 -vn -0.0000 -1.0000 -0.0096 -vn -0.9999 0.0108 0.0001 -vn -0.9993 -0.0321 -0.0206 -vn -0.9994 -0.0321 -0.0163 -vn -0.9743 0.2251 0.0097 -vn -0.9741 0.2258 0.0106 -vn -0.9745 0.2242 0.0022 -vn -0.9995 -0.0315 -0.0025 -vn -0.9996 -0.0272 -0.0022 -vn -0.0000 0.9970 0.0775 -vn -0.9140 0.4057 -0.0091 -vn -0.0250 0.3883 0.9212 -vn -0.0347 0.9719 0.2330 -vn 0.9998 0.0078 0.0165 -vn -0.0000 0.0044 -1.0000 -vn 0.9126 0.0018 -0.4089 -vn -0.8819 0.0021 -0.4715 -vn -0.0000 -0.0022 1.0000 -vn -0.0000 0.0311 0.9995 -vn -0.0000 0.9999 0.0131 -vn -0.0000 0.9999 0.0122 -vn -0.0000 0.0343 -0.9994 -vn -0.0000 0.0082 -1.0000 -vn -0.0000 -0.0089 -1.0000 -vn -0.0000 -1.0000 0.0048 -vn -0.0000 -0.9993 -0.0374 -vn -0.0000 -1.0000 0.0066 -vn -0.0000 -0.9981 -0.0618 -vn -0.0000 0.2181 0.9759 -vn -1.0000 -0.0026 0.0020 -vn -0.9999 -0.0100 -0.0002 -vn -1.0000 0.0047 -0.0047 -vn -1.0000 0.0029 0.0053 -vn 1.0000 0.0029 0.0053 -vn 1.0000 -0.0026 0.0020 -vn 0.9999 -0.0100 -0.0002 -vn 1.0000 0.0022 0.0001 -vn 1.0000 -0.0063 -0.0000 -vn -0.0000 0.0413 0.9991 -vn -0.0001 -0.0000 -1.0000 -vn -0.0000 0.2947 -0.9556 -vn -0.0000 0.8943 0.4474 -vn -0.0000 -0.0733 0.9973 -vn -0.0000 0.0734 -0.9973 -vn 0.9926 0.1211 0.0012 -vn -0.9993 0.0377 0.0004 -vn -0.0000 0.0342 -0.9994 -vn 0.0001 -0.0000 -1.0000 -vn -0.1592 0.3844 0.9093 -vn 0.9885 -0.0111 0.1510 -vn -0.0733 0.9973 -0.0000 -vn -0.0519 0.7052 -0.7071 -vn -0.0720 0.9793 0.1891 -vn 0.0720 -0.9793 0.1891 -vn 0.0734 -0.9973 -0.0000 -vn 0.0519 -0.7052 -0.7071 -vn -0.0000 0.1701 -0.9854 -vn -0.0000 -0.0970 0.9953 -vn -0.9979 -0.0402 -0.0501 -vn 0.2738 0.4318 0.8594 -vn -0.0000 0.9786 0.2056 -vn -0.0000 -0.9951 0.0988 -vn -0.0000 -0.0734 0.9973 -vn 0.4239 -0.9013 0.0895 -vn -0.1710 -0.9768 0.1288 -vn -0.0000 0.9914 -0.1307 -vn 0.9992 -0.0394 0.0052 -vn -0.9996 -0.0272 0.0036 -vn -0.8988 -0.0042 0.4384 -vn 0.7896 -0.0059 0.6136 -vn -1.0000 0.0001 -0.0091 -vn 1.0000 -0.0000 -0.0021 -vn -0.9994 -0.0346 -0.0003 -vn 1.0000 -0.0079 -0.0001 -vn 0.9985 0.0541 0.0005 -vn -0.9992 -0.0342 -0.0218 -vn -0.0132 0.5967 0.8023 -vn -0.0162 -0.0611 0.9980 -vn -0.0775 -0.9969 -0.0096 -vn -0.0000 -0.2860 0.9582 -vn 0.9999 -0.0126 0.0062 -vn 0.9999 -0.0125 -0.0001 -vn 0.9999 -0.0124 -0.0073 -vn -0.9346 -0.3556 -0.0034 -vn 0.0326 -0.5854 -0.8101 -vn 0.0116 0.7093 -0.7048 -vn -0.0000 -0.9914 0.1307 -vn -0.0000 0.9998 0.0199 -vn -0.2738 0.4318 0.8594 -vn -0.1333 0.0532 -0.9896 -vn -0.0000 0.0537 -0.9986 -vn 0.1672 0.0956 -0.9813 -vn -0.0000 0.9999 0.0153 -vn -0.0000 0.0970 -0.9953 -vn -0.0000 0.2948 -0.9556 -vn -0.0000 0.7042 0.7100 -vn -0.0000 1.0000 0.0099 -vn -0.0824 0.7771 -0.6240 -vn 0.9465 0.0372 0.3204 -vn -0.0000 0.9968 -0.0797 -vn -0.0000 -0.7679 0.6406 -vn -0.9465 0.0372 0.3205 -vn -0.0000 0.9936 -0.1129 -vn 0.9990 -0.0051 -0.0442 -vn -0.0000 -1.0000 -0.0055 -vn -0.9990 -0.0051 -0.0442 -vn -0.0000 -0.9999 -0.0166 -vn -0.0000 -0.6981 -0.7160 -vn -0.0000 0.9999 0.0166 -vn -0.0000 0.0198 -0.9998 -vn -0.0000 0.7070 0.7072 -vn -0.0000 -0.0224 0.9997 -vn -0.0000 1.0000 0.0046 -vn -0.0000 -0.9973 0.0734 -vn -0.0000 0.6259 -0.7799 -vn -0.0000 -0.9931 0.1170 -vn -0.0000 -1.0000 -0.0046 -vn -0.0000 0.9978 -0.0670 -vn -0.0000 -0.0198 0.9998 -vn -0.0000 -0.9998 -0.0176 -vn 0.0013 1.0000 0.0096 -vn -0.0000 0.3280 0.9447 -vn -0.0000 -1.0000 -0.0098 -vn -0.0000 0.9999 0.0170 -vn 0.0013 -0.9998 -0.0216 -vn -0.0000 -0.0577 0.9983 -vn -0.0000 0.9889 -0.1484 -vn -0.0000 0.7723 -0.6352 -vn -0.0023 0.3616 0.9323 -vn -0.0038 0.3609 0.9326 -vn -0.0042 0.3593 0.9332 -vn -0.0000 0.3176 0.9482 -vn -0.0016 0.3559 0.9345 -vn -0.0000 0.3568 0.9342 -vn -0.0005 0.3634 0.9316 -vn 0.0017 0.3617 0.9323 -vn 0.0002 0.3635 0.9316 -vn -0.0000 -0.9998 -0.0210 -vn -0.0000 -0.9998 -0.0217 -vn 0.0020 0.9999 0.0166 -vn -0.0000 1.0000 0.0096 -vn -0.0000 -1.0000 0.0038 -vn 0.0312 -0.9995 0.0038 -vn 0.0195 -0.9929 0.1170 -vn -0.1252 0.6209 -0.7738 -vn -0.0000 -0.9973 0.0733 -vn -0.0000 0.9999 -0.0152 -vn -0.0000 0.7797 -0.6261 -vn 0.0014 1.0000 0.0097 -vn -0.0000 0.4355 -0.9002 -vn -1.0000 0.0052 0.0052 -vn -0.0000 0.1871 0.9823 -vn -0.0000 0.9700 0.2429 -vn 0.9659 0.2586 -0.0110 -vn -0.9813 0.1906 0.0275 -vn -0.0000 0.1887 -0.9820 -vn 0.5087 0.8556 -0.0962 -vn 0.9507 0.2307 -0.2071 -vn -0.9239 0.3803 -0.0427 -vn -0.4938 0.8655 0.0838 -vn 0.4938 0.8655 0.0838 -vn 0.8507 0.5109 0.1237 -vn -0.9067 0.3518 -0.2326 -vn -0.2383 0.8589 -0.4533 -vn -0.3827 -0.9181 0.1032 -vn -0.9685 -0.2475 0.0278 -vn 0.9243 -0.3038 0.2310 -vn 0.0998 -0.9949 0.0144 -vn 0.2646 0.6033 0.7523 -vn 0.6990 0.3607 0.6175 -vn -0.6810 0.3558 0.6400 -vn -0.2608 0.5979 0.7580 -vn 0.2436 0.0146 0.9698 -vn -0.2436 -0.0146 -0.9698 -vn -0.1833 -0.0750 -0.9802 -vn -0.1695 -0.0057 -0.9855 -vn -0.2016 0.0541 -0.9780 -vn -0.2753 0.0800 -0.9580 -vn -0.3604 0.0277 -0.9324 -vn -0.3529 -0.0877 -0.9316 -vn -0.2532 -0.1242 -0.9594 -vn -0.9811 0.1936 0.0019 -vn -0.9914 -0.1311 -0.0013 -vn -0.9980 -0.0635 -0.0006 -vn -0.9914 -0.1312 -0.0013 -vn 0.9788 -0.2046 -0.0020 -vn 0.9914 0.1311 0.0013 -vn 0.9980 0.0635 0.0006 -vn 0.9914 0.1312 0.0013 -vn 0.0094 0.0215 -0.9997 -vn -0.6219 -0.7830 -0.0077 -vn -0.1312 0.9913 0.0096 -vn -0.6218 -0.7831 -0.0076 -vn -0.1310 0.9913 0.0096 -vn 0.0002 0.0097 -1.0000 -vn 0.0001 -0.0097 1.0000 -vn -0.0001 0.0097 -1.0000 -vn 0.0020 -0.0263 0.9997 -vn 0.0095 0.0215 -0.9997 -vn 0.0020 -0.0262 0.9997 -vn 0.1312 -0.9913 -0.0096 -vn -0.1034 0.7877 -0.6073 -vn -0.6218 -0.7831 -0.0075 -vn -0.0948 0.7102 0.6976 -vn 0.0001 0.0097 -1.0000 -vn -0.0000 0.0096 -1.0000 -vn -0.9736 0.2282 0.0013 -vn -0.9734 0.2291 0.0022 -vn 0.8390 0.0080 -0.5441 -vn 0.8386 0.0058 -0.5447 -vn -0.8425 0.0028 -0.5387 -vn -1.0000 -0.0000 0.0027 -vn -0.7071 -0.0000 0.7071 -vn -0.9987 -0.0000 -0.0512 -vn 0.9794 -0.0000 -0.2018 -vn 0.0025 -0.7071 -0.7071 -vn 0.0035 -1.0000 -0.0000 -vn 0.0025 -0.7128 0.7013 -vn 0.7240 0.0070 -0.6897 -vn 0.9966 0.0096 0.0815 -vn 0.3950 0.5865 -0.7071 -vn 0.3994 0.5930 0.6992 -vn 0.7072 0.0019 0.7070 -vn 0.9793 0.0026 -0.2024 -vn 0.0147 0.9816 0.1903 -vn 0.0156 0.9824 0.1861 -vn 0.0124 0.9821 0.1881 -vn 0.0475 0.9810 0.1879 -vn -0.0033 0.9814 0.1922 -vn 0.0030 0.9812 0.1932 -vn -0.0020 0.9820 0.1890 -vn 0.9701 0.2425 -0.0000 -vn -0.8415 0.0028 -0.5403 -vn -0.8405 0.0014 -0.5418 -vn 0.8420 0.0058 -0.5394 -vn -0.9995 -0.0327 -0.0003 -vn -0.8422 0.0034 -0.5392 -vn -0.8404 0.0047 -0.5420 -vn -0.8410 0.0028 -0.5410 -vn 0.8418 0.0058 -0.5397 -vn 0.8425 0.0039 -0.5387 -vn 0.8408 0.0065 -0.5414 -vn 1.0000 -0.0000 0.0097 -vn 0.8059 -0.0000 -0.5921 -vn -1.0000 -0.0000 -0.0039 -vn -0.8002 -0.0000 0.5997 -vn 0.0035 0.9829 0.1839 -vn 0.7171 0.0069 0.6969 -vn 0.9911 0.0096 -0.1327 -vn 0.9641 -0.0000 0.2654 -vn -0.9846 0.1294 0.1179 -vn -0.9995 -0.0315 -0.0003 -vn -0.9749 0.2224 0.0095 -vn -0.9997 0.0096 0.0213 -vn -0.0000 0.9980 -0.0633 -vn 0.0651 0.3722 -0.9259 -vn -0.9999 0.0046 -0.0124 -vn -0.9999 0.0027 -0.0144 -vn -0.9996 -0.0273 -0.0004 -vn -0.9995 -0.0316 -0.0003 -vn -0.9738 0.2275 0.0022 -vn -0.9740 0.2267 0.0031 -vn -0.9735 0.2285 0.0022 -vn -0.9996 -0.0274 -0.0003 -vn -0.9999 0.0046 -0.0119 -vn -0.9999 0.0025 -0.0101 -vn 0.0192 0.9943 0.1046 -vn -0.8869 0.4537 0.0873 -vn 0.0385 0.4262 0.9038 -vn -0.0790 0.9958 0.0465 -vn 0.9850 0.0897 -0.1476 -vn -0.9999 -0.0100 -0.0001 -vn -1.0000 -0.0001 0.0017 -vn -1.0000 -0.0000 0.0059 -vn -1.0000 0.0046 0.0060 -vn -0.9999 0.0005 0.0148 -vn -1.0000 -0.0025 0.0081 -vn -0.9999 -0.0035 0.0126 -vn -0.9999 -0.0101 -0.0001 -vn -1.0000 -0.0008 -0.0030 -vn -1.0000 -0.0005 -0.0056 -vn -1.0000 0.0019 -0.0042 -vn -1.0000 -0.0000 -0.0024 -vn -1.0000 -0.0001 -0.0023 -vn -1.0000 -0.0098 -0.0001 -vn -1.0000 -0.0013 -0.0011 -vn -1.0000 0.0098 -0.0001 -vn -1.0000 0.0022 0.0001 -vn -1.0000 -0.0004 -0.0020 -vn -1.0000 -0.0030 -0.0018 -vn -1.0000 -0.0006 -0.0052 -vn -1.0000 0.0008 -0.0030 -vn -0.9999 0.0034 0.0131 -vn -0.9999 -0.0012 0.0136 -vn -0.9998 0.0029 0.0177 -vn -1.0000 -0.0041 0.0081 -vn -1.0000 0.0001 0.0061 -vn -1.0000 0.0024 -0.0000 -vn -1.0000 0.0098 0.0004 -vn 0.9998 0.0029 0.0177 -vn 0.9999 -0.0012 0.0136 -vn 0.9999 0.0034 0.0131 -vn 1.0000 0.0098 0.0004 -vn 1.0000 0.0001 0.0061 -vn 1.0000 -0.0041 0.0081 -vn 1.0000 0.0024 -0.0000 -vn 0.9999 -0.0100 -0.0001 -vn 0.9999 -0.0035 0.0126 -vn 1.0000 -0.0025 0.0081 -vn 0.9999 0.0005 0.0148 -vn 0.9999 -0.0101 -0.0001 -vn 1.0000 -0.0000 0.0059 -vn 1.0000 0.0046 0.0060 -vn 1.0000 -0.0001 0.0017 -vn 1.0000 -0.0005 -0.0056 -vn 1.0000 -0.0008 -0.0030 -vn 1.0000 0.0018 -0.0041 -vn 1.0000 -0.0000 -0.0024 -vn 1.0000 -0.0013 -0.0011 -vn 1.0000 -0.0001 -0.0023 -vn 1.0000 -0.0098 -0.0001 -vn 1.0000 0.0098 -0.0001 -vn 1.0000 0.0008 -0.0030 -vn 1.0000 -0.0006 -0.0051 -vn 1.0000 0.0047 -0.0047 -vn 1.0000 -0.0004 -0.0020 -vn 1.0000 -0.0030 -0.0018 -vn 1.0000 -0.0045 0.0044 -vn 1.0000 -0.0071 -0.0001 -vn 0.9880 0.0321 0.1513 -vn -0.0000 -0.4489 0.8936 -vn 0.0519 -0.7052 0.7071 -vn 0.0720 -0.9793 -0.1891 -vn -0.1672 0.0956 -0.9813 -vn 0.9939 -0.0813 0.0752 -vn 0.9884 -0.0147 0.1510 -vn -0.9980 -0.0569 -0.0287 -vn 0.9968 -0.0499 -0.0623 -vn 0.9969 -0.0707 -0.0356 -vn -0.0000 0.6252 0.7804 -vn 0.9982 -0.0540 -0.0248 -vn -0.9990 -0.0393 -0.0221 -vn 0.9996 0.0172 -0.0213 -vn -1.0000 0.0043 -0.0000 -vn -0.0000 0.5989 0.8008 -vn -0.0164 -0.0607 0.9980 -vn -0.0165 0.0076 0.9998 -vn 0.9999 -0.0115 0.0061 -vn 0.0597 -0.5894 -0.8056 -vn 0.0548 0.7394 -0.6710 -vn -0.0003 0.9998 0.0198 -vn 0.1333 0.0532 -0.9896 -vn -0.4017 0.5726 0.7147 -vn 0.4017 0.5726 0.7147 -vn -0.0014 1.0000 0.0097 -vn -0.0000 0.7946 -0.6071 -vn 0.9465 0.0372 0.3205 -vn 0.0016 0.3559 0.9345 -vn 0.0022 0.3616 0.9323 -vn 0.0042 0.3593 0.9332 -vn 0.0038 0.3609 0.9326 -vn 0.0008 0.3633 0.9317 -vn -0.0018 0.3621 0.9321 -vn 0.0010 0.3630 0.9318 -vn -0.0013 -0.9998 -0.0216 -vn -0.0013 1.0000 0.0096 -vn -0.0111 0.9979 -0.0646 -vn -0.0000 0.2995 -0.9541 -vn -0.9976 0.0689 0.0093 -vn -0.6286 -0.7775 0.0165 -vn -1.0000 0.0053 0.0073 -vn -1.0000 -0.0002 0.0074 -vn -1.0000 0.0075 -0.0000 -vn -1.0000 0.0012 -0.0038 -vn -1.0000 0.0079 -0.0005 -vn 0.9974 0.0718 0.0091 -vn 0.1496 0.9886 -0.0161 -vn -0.9659 0.2585 -0.0111 -vn -0.0803 0.3893 -0.9176 -vn 0.3755 0.8796 -0.2919 -vn 0.9239 0.3803 -0.0427 -vn -0.9239 0.3803 -0.0428 -vn -0.3827 0.9181 -0.1032 -vn 0.2524 0.9247 -0.2851 -vn -0.9103 0.3068 -0.2779 -vn -0.5087 0.8556 -0.0962 -vn -0.1106 -0.9636 -0.2436 -vn -0.9786 -0.1938 -0.0687 -vn 0.9879 -0.1550 -0.0049 -vn -0.0041 -0.9937 0.1117 -vn -0.0023 0.0263 -0.9997 -vn -0.0095 -0.0215 0.9997 -vn -0.0021 0.0262 -0.9997 -vn -0.0094 -0.0215 0.9997 -vn 0.1310 -0.9913 -0.0096 -vn -0.1035 0.7877 -0.6073 -vn -0.1821 0.0393 0.9825 -vn -0.1579 0.0817 0.9841 -vn -0.0000 1.0000 0.0040 -vn -0.5000 0.8660 0.0027 -vn -0.4993 -0.8660 -0.0267 -vn -0.0011 -0.9995 -0.0309 -vn 0.0011 -0.9995 -0.0309 -vn 0.9018 -0.4309 -0.0319 -vn 0.9971 0.0692 -0.0308 -vn 0.9970 0.0714 -0.0307 -vn -0.8653 0.5010 -0.0162 -vn -0.5010 0.8653 -0.0165 -vn -0.8664 0.4991 -0.0162 -vn 0.0011 0.9998 -0.0191 -vn 0.4992 0.8662 -0.0233 -vn -0.0011 0.9998 -0.0191 -vn -0.8797 -0.4751 -0.0221 -vn -0.5005 -0.8653 -0.0267 -vn 0.5870 -0.8089 -0.0336 -vn 0.7893 -0.6132 -0.0307 -vn 0.7850 -0.6187 -0.0307 -vn -0.4987 0.8666 -0.0165 -vn 0.5003 0.8655 -0.0233 -vn 0.8605 0.5086 -0.0279 -vn -0.1906 -0.0335 0.9811 -vn -0.1872 0.0078 0.9823 -vn -0.1869 0.0101 0.9823 -vn 0.5851 -0.8102 -0.0336 -vn -0.9912 0.1311 -0.0167 -vn -0.9913 0.1309 -0.0166 -vn 0.5000 0.8660 0.0027 -vn 0.8660 0.5000 -0.0009 -vn -0.0000 -0.9999 -0.0154 -vn 0.5864 -0.8099 -0.0135 -vn 0.5862 -0.8101 -0.0135 -vn -0.9936 0.1132 -0.0044 -vn -0.8660 0.5000 -0.0009 -vn -0.9936 0.1131 -0.0044 -vn -0.5000 -0.8659 -0.0141 -vn 0.9358 -0.3524 -0.0087 -vn 0.9982 0.0604 -0.0049 -vn 0.9982 0.0605 -0.0049 -vn -0.8838 -0.4678 -0.0102 -vn 0.9358 -0.3525 -0.0087 -vn -0.8838 -0.4679 0.0041 -vn -0.5000 -0.8660 0.0002 -vn 0.5000 0.8659 0.0170 -vn -0.0000 0.9998 0.0183 -vn -0.5000 0.8659 0.0170 -vn -0.8660 0.4999 0.0134 -vn 0.9981 0.0602 0.0089 -vn 0.9358 -0.3525 0.0046 -vn 0.9981 0.0604 0.0089 -vn -0.0000 -1.0000 -0.0011 -vn -0.9935 0.1131 0.0094 -vn -0.9936 0.1130 0.0094 -vn 0.5864 -0.8100 0.0007 -vn 0.5861 -0.8102 0.0007 -vn 0.8660 0.4999 0.0134 -vn 0.9357 -0.3527 0.0046 -vn 0.6006 0.5955 0.5336 -vn 0.7283 0.4152 0.5451 -vn 0.2198 -0.8153 -0.5357 -vn -0.0000 -0.8357 -0.5492 -vn 0.8871 -0.3274 -0.3254 -vn 0.5581 -0.7533 -0.3481 -vn 0.8846 -0.3343 -0.3252 -vn -0.4697 -0.8102 -0.3505 -vn -0.8315 -0.4341 -0.3467 -vn -0.2441 -0.9142 0.3235 -vn -0.4697 0.8168 -0.3349 -vn -0.8136 0.4730 -0.3381 -vn 0.9417 0.0560 -0.3318 -vn 0.9411 0.0639 -0.3320 -vn -0.0000 -0.9361 -0.3518 -vn -0.9369 0.1122 -0.3310 -vn -0.9375 0.1074 -0.3310 -vn 0.1822 0.0393 0.9825 -vn 0.1821 0.0393 0.9825 -vn 0.1821 0.0394 0.9825 -vn 0.1702 -0.1209 0.9780 -vn 0.1130 -0.1548 0.9815 -vn 0.1047 -0.1596 0.9816 -vn 0.5456 -0.7620 -0.3487 -vn 0.1886 -0.0010 0.9821 -vn 0.1878 0.0039 0.9822 -vn -0.8837 -0.4679 0.0154 -vn -0.4999 -0.8660 0.0116 -vn -0.0000 -0.9996 -0.0296 -vn -0.2588 -0.9655 -0.0286 -vn -0.7070 0.7067 0.0261 -vn -0.8658 0.4997 0.0248 -vn -0.8659 0.4997 0.0248 -vn 0.9980 0.0600 0.0199 -vn 0.9357 -0.3524 0.0152 -vn 0.9980 0.0604 0.0199 -vn -0.0000 -0.9999 0.0103 -vn -0.9934 0.1131 0.0204 -vn -0.9934 0.1128 0.0204 -vn 0.5866 -0.8098 0.0120 -vn 0.5858 -0.8104 0.0120 -vn 0.8659 0.4997 0.0248 -vn 0.7070 0.7068 0.0261 -vn 0.7070 0.7067 0.0261 -vn 0.2588 -0.9655 -0.0286 -vn -0.1893 -0.0456 0.9809 -vn -0.1906 -0.0337 0.9811 -vn 0.3383 0.2001 -0.9195 -vn 0.3751 0.0362 -0.9263 -vn 0.3331 0.2137 -0.9184 -vn 0.2948 -0.2253 -0.9286 -vn 0.3442 -0.1181 -0.9314 -vn 0.3304 -0.1463 -0.9324 -vn -0.3207 -0.0291 -0.9467 -vn -0.3108 -0.1408 -0.9400 -vn -0.2987 -0.1576 -0.9412 -vn 0.2095 -0.2501 -0.9453 -vn 0.3112 -0.1946 -0.9302 -vn -0.1672 -0.2717 -0.9477 -vn -0.1608 -0.2749 -0.9479 -vn -0.0000 0.4273 -0.9041 -vn 0.1994 0.3681 -0.9082 -vn -0.2088 0.3617 -0.9086 -vn -0.3331 0.2137 -0.9184 -vn -0.3401 0.1973 -0.9195 -vn 0.3739 0.0324 -0.9269 -vn 0.9356 -0.3528 0.0152 -vn -0.0000 -0.3122 -0.9500 -vn -0.5000 -0.8659 -0.0118 -vn -0.8838 -0.4678 -0.0080 -vn 0.5000 0.8660 0.0049 -vn -0.0000 1.0000 0.0062 -vn -0.5000 0.8660 0.0049 -vn -0.8660 0.5000 0.0014 -vn 0.9358 -0.3524 -0.0066 -vn 0.9982 0.0604 -0.0028 -vn 0.9982 0.0605 -0.0028 -vn -0.0000 -0.9999 -0.0131 -vn -0.9936 0.1132 -0.0023 -vn -0.9936 0.1131 -0.0023 -vn 0.5862 -0.8101 -0.0113 -vn 0.5864 -0.8100 -0.0113 -vn 0.8660 0.5000 0.0014 -vn 0.2877 0.0123 0.9576 -vn 0.2456 0.1353 0.9599 -vn 0.2875 0.0040 0.9578 -vn 0.2520 -0.2136 0.9439 -vn 0.1771 -0.2377 0.9551 -vn 0.1646 -0.2450 0.9554 -vn -0.2930 0.0306 0.9556 -vn -0.2482 0.1340 0.9594 -vn -0.2944 -0.0398 0.9548 -vn -0.2524 -0.1425 0.9571 -vn -0.2914 -0.0406 0.9557 -vn -0.0000 -0.2958 0.9552 -vn 0.1433 0.2389 0.9604 -vn 0.2469 0.1363 0.9594 -vn -0.0000 0.2773 0.9608 -vn -0.1433 0.2389 0.9604 -vn 0.2797 -0.1228 0.9522 -vn 0.2659 -0.1832 0.9464 -vn -0.1433 -0.2575 0.9556 -vn -0.2517 -0.1465 0.9567 -vn -0.4866 -0.8406 -0.2380 -vn -0.0000 -0.9709 -0.2393 -vn 0.1579 0.0817 0.9841 -vn -0.0000 -0.1919 0.9814 -vn -0.1621 -0.0934 0.9823 -vn -0.1893 -0.0455 0.9809 -vn 0.0912 0.1484 0.9847 -vn -0.0912 0.1484 0.9847 -vn -0.0000 0.1729 0.9849 -vn 0.1818 -0.0810 0.9800 -vn -0.0912 -0.1674 0.9817 -vn -0.1608 -0.0957 0.9823 -vn -0.9946 -0.1025 -0.0180 -vn -0.9685 -0.1066 -0.2252 -vn -0.9681 -0.1203 -0.2196 -vn -0.9695 0.0996 -0.2239 -vn -0.8888 -0.2388 0.3913 -vn -0.8264 -0.4164 0.3790 -vn -0.8872 -0.2446 0.3912 -vn 0.9733 0.0582 -0.2219 -vn 0.9147 -0.3399 -0.2185 -vn 0.9130 -0.3446 -0.2184 -vn -0.8428 0.4888 -0.2252 -vn -0.4866 0.8450 -0.2217 -vn -0.0000 0.9754 -0.2205 -vn 0.4866 0.8450 -0.2217 -vn -0.8609 -0.4517 -0.2341 -vn -0.8595 -0.4544 -0.2342 -vn 0.8187 -0.5339 -0.2115 -vn 0.8428 0.4888 -0.2252 -vn 0.5753 -0.7831 -0.2362 -vn -0.9951 0.0989 0.0010 -vn -0.9659 0.2588 0.0025 -vn -0.7876 -0.4941 0.3683 -vn -0.8898 -0.2422 0.3869 -vn -0.8897 -0.2422 0.3869 -vn -0.9009 -0.1935 0.3885 -vn -0.7590 0.4928 0.4255 -vn -0.5352 0.6962 0.4784 -vn -0.5025 0.7178 0.4820 -vn -0.9131 -0.0646 0.4026 -vn -0.9135 -0.0545 0.4031 -vn 0.8994 0.1124 0.4223 -vn 0.8896 0.1656 0.4257 -vn 0.9003 0.1074 0.4219 -vn 0.9066 -0.0888 0.4126 -vn 0.9058 -0.1000 0.4119 -vn -0.7936 -0.4755 0.3795 -vn 0.8851 -0.2410 0.3982 -vn -0.0011 0.8668 0.4986 -vn 0.0008 0.8668 0.4986 -vn 0.8660 0.5000 0.0048 -vn 0.9659 0.2588 0.0025 -vn -0.5000 -0.8660 -0.0084 -vn 0.9358 -0.3525 -0.0034 -vn 0.9982 0.0604 0.0006 -vn -0.5000 0.8660 0.0084 -vn -0.8660 0.5000 0.0048 -vn 0.5000 0.8660 0.0084 -vn -0.8838 -0.4679 -0.0045 -vn 0.8367 -0.5477 -0.0053 -vn 0.8367 -0.5476 -0.0053 -vn -0.9587 -0.1806 -0.2195 -vn 0.5863 -0.8101 -0.0078 -vn -0.9533 0.2538 0.1638 -vn -0.9429 0.0892 0.3210 -vn -0.9156 0.2423 0.3208 -vn 0.8896 0.1654 0.4257 -vn 0.7923 0.3968 0.4635 -vn 0.0022 -0.6241 -0.7813 -vn 0.4237 0.8995 -0.1063 -vn 0.0022 0.6327 -0.7744 -vn -0.0014 0.9861 -0.1661 -vn 0.9234 -0.3460 0.1660 -vn 0.9336 0.0499 0.3548 -vn 0.8767 -0.3375 0.3427 -vn -0.8880 0.4032 0.2212 -vn -0.6700 0.6669 0.3260 -vn -0.1154 -0.4222 -0.8991 -vn -0.0014 -0.9841 -0.1777 -vn -0.4253 -0.8971 -0.1196 -vn -0.9058 -0.3635 0.2177 -vn -0.6674 -0.6706 0.3240 -vn -0.8352 -0.4389 0.3315 -vn 0.8246 -0.5415 0.1640 -vn 0.7888 -0.5195 0.3285 -vn 0.4239 -0.8980 -0.1183 -vn 0.6639 0.6605 0.3508 -vn 0.8069 0.4657 0.3635 -vn 0.8849 0.3985 0.2412 -vn -0.9697 -0.1866 0.1576 -vn -0.9324 -0.1808 0.3130 -vn -0.1202 0.4571 -0.8813 -vn -0.2550 0.9533 -0.1620 -vn -0.9795 -0.1258 0.1573 -vn -0.9823 0.0966 0.1604 -vn -0.4710 -0.8087 0.3523 -vn -0.8040 -0.4565 0.3811 -vn -0.9938 -0.1115 -0.0044 -vn -0.3787 0.0550 -0.9239 -vn -0.3745 0.0494 -0.9259 -vn -0.9936 -0.1117 0.0178 -vn 0.6669 0.6701 -0.3259 -vn 0.8136 0.4730 -0.3381 -vn -0.9937 -0.1116 0.0070 -vn -0.9937 -0.1114 -0.0065 -vn -0.9823 -0.1872 -0.0018 -vn -0.9921 -0.1256 -0.0012 -vn 0.9506 0.2530 0.1801 -vn 0.9831 0.0579 0.1735 -vn 0.1831 -0.0764 0.9801 -vn 0.0010 -0.9390 0.3438 -vn 0.4582 -0.8137 0.3578 -vn -0.0012 -0.9390 0.3438 -vn -0.9417 0.2544 -0.2200 -vn -0.8180 0.4686 0.3336 -vn -0.8837 -0.4680 0.0041 -vn -0.2441 0.9142 -0.3235 -vn 0.1853 -0.2625 -0.9470 -vn -0.8835 -0.4681 0.0154 -vn -0.3744 -0.0300 -0.9268 -vn 0.2733 -0.1317 0.9529 -vn -0.9415 -0.1222 0.3139 -vn -0.8513 0.3099 0.4234 -vn -0.7589 0.4929 0.4255 -vn 0.9503 0.2529 0.1815 -vn 0.9040 0.2388 0.3545 -vn 0.7780 0.4215 0.4659 -vn 0.4424 0.7501 0.4915 -vn 0.9659 0.2589 0.0025 -vn 0.7888 -0.5196 0.3285 -vn 0.8258 -0.5421 0.1553 -vn -0.4611 -0.8146 0.3519 -vn 0.5668 -0.7892 -0.2365 -vn -0.2920 0.0256 0.9561 -vn 0.9024 -0.4297 -0.0319 -vn 0.8533 0.5213 0.0103 -vn 0.9177 0.3972 0.0076 -vn -0.9935 0.1134 0.0016 -vn -0.9937 -0.1118 -0.0016 -vn -0.9935 0.1135 0.0006 -vn -0.2588 0.9659 0.0093 -vn -0.9823 -0.1873 -0.0018 -vn -0.7071 -0.7071 -0.0068 -vn -0.7570 -0.6534 -0.0063 -vn 0.5000 -0.8660 -0.0084 -vn 0.9444 -0.3286 0.0103 -vn 0.7071 0.7071 0.0068 -vn 0.7071 -0.7071 -0.0068 -vn 0.9445 -0.3282 -0.0167 -vn 0.8366 -0.5477 -0.0053 -vn -0.7873 -0.6165 -0.0060 -vn -0.9269 -0.3753 -0.0036 -vn -0.9937 -0.1118 -0.0006 -vn -0.9071 0.4210 0.0041 -vn -0.9951 0.0987 0.0012 -vn -0.8513 -0.5246 -0.0051 -vn 0.6839 -0.7296 -0.0071 -vn 0.8366 -0.5478 -0.0053 -vn 0.8657 0.5005 0.0039 -vn 0.9159 0.4015 0.0035 -vn 0.9661 0.2583 0.0016 -vn 0.9964 0.0177 0.0830 -vn -0.9823 -0.1874 -0.0018 -vn 0.7815 0.6238 0.0060 -vn 0.9857 0.1685 0.0011 -vn 0.9786 0.2056 0.0020 -vn 0.9857 0.1683 0.0023 -vn 0.9632 0.2006 0.1790 -vn 0.8367 -0.5476 -0.0084 -vn 0.9358 -0.3525 -0.0066 -vn 0.9065 0.2362 0.3498 -vn 0.4712 -0.8058 0.3586 -vn 0.7894 -0.4744 0.3895 -vn -0.8470 0.3207 0.4240 -vn 0.8444 0.5082 0.1695 -vn 0.9041 0.2387 0.3545 -vn 0.9579 -0.1245 0.2586 -vn 0.9524 -0.1186 -0.2810 -vn 0.2088 0.3617 -0.9086 -vn -0.1994 0.3681 -0.9082 -vn -0.9393 -0.1024 -0.3274 -vn -0.9394 -0.1021 -0.3274 -vn 0.8603 0.5091 -0.0278 -vn 0.9417 0.2545 -0.2200 -vn 0.4335 0.7551 0.4919 -vn 0.8006 -0.4537 0.3914 -vn 0.8866 0.4626 0.0045 -vn 0.9961 0.0214 -0.0862 -vn 0.8592 0.4785 0.1808 -vn 0.9050 0.2425 0.3496 -vn 0.9075 0.2399 0.3449 -vn 0.9369 -0.3497 0.0009 -vn 0.9983 0.0583 0.0063 -vn -0.9613 -0.2748 -0.0185 -vn -0.9316 -0.3630 -0.0187 -vn -0.1530 -0.9867 0.0547 -vn -0.0792 -0.9967 -0.0160 -vn -0.0791 -0.9967 -0.0160 -vn -0.1418 0.0120 -0.9898 -vn 0.1127 -0.4565 -0.8826 -vn 0.1418 0.0120 -0.9898 -vn -0.2462 -0.4736 -0.8456 -vn -0.3299 0.0091 -0.9440 -vn -0.1260 -0.9413 -0.3133 -vn -0.1127 -0.4565 -0.8826 -vn -0.1337 -0.9906 -0.0294 -vn 0.1533 -0.9880 -0.0158 -vn -0.1534 -0.9880 -0.0158 -vn -0.2650 -0.9641 -0.0154 -vn 0.1530 -0.9867 0.0547 -vn 0.1260 -0.9413 -0.3133 -vn -0.2413 -0.9704 0.0048 -vn -0.2116 -0.9080 -0.3616 -vn 0.0791 -0.9967 -0.0160 -vn 0.2650 -0.9641 -0.0154 -vn 0.2413 -0.9704 0.0048 -vn 0.2116 -0.9080 -0.3616 -vn 0.2464 0.4622 -0.8519 -vn 0.1146 0.4450 -0.8882 -vn 0.1164 0.9181 -0.3790 -vn 0.2088 0.9021 -0.3777 -vn -0.9445 -0.2527 0.2099 -vn -0.7423 -0.6651 0.0812 -vn -0.8371 -0.4874 0.2486 -vn -0.9854 0.0047 0.1703 -vn -0.9998 0.0169 -0.0040 -vn 0.9445 -0.2527 0.2099 -vn 0.7423 -0.6651 0.0812 -vn 0.9352 -0.3329 -0.1212 -vn 0.7729 -0.6171 -0.1477 -vn 0.9080 -0.2753 -0.3160 -vn 0.9843 0.0622 -0.1650 -vn 0.9908 0.0847 0.1058 -vn 0.9564 -0.1410 -0.2558 -vn 0.8789 0.2188 -0.4238 -vn 0.9300 -0.1110 -0.3503 -vn -0.9840 0.0600 -0.1677 -vn -0.9908 0.0847 0.1058 -vn -0.9832 0.0494 0.1759 -vn -0.9475 0.1641 0.2744 -vn -0.9396 0.2056 0.2735 -vn 0.9916 -0.1072 -0.0724 -vn 0.8195 -0.5358 -0.2033 -vn -0.9916 -0.1072 -0.0724 -vn -0.9636 0.2121 0.1629 -vn -0.9343 0.2035 0.2929 -vn 0.9804 0.0160 -0.1961 -vn 0.9094 0.0735 -0.4094 -vn -0.9804 0.0160 -0.1961 -vn -0.9855 0.0749 0.1525 -vn -0.9428 0.1762 0.2830 -vn -0.9094 0.0735 -0.4094 -vn -0.9352 -0.3329 -0.1212 -vn 0.9428 0.1762 0.2830 -vn 0.9855 0.0749 0.1525 -vn 0.2493 0.9683 0.0141 -vn 0.1360 0.9906 0.0155 -vn -0.9564 -0.1410 -0.2558 -vn -0.8195 -0.5358 -0.2033 -vn 0.9396 0.2056 0.2735 -vn 0.9636 0.2121 0.1629 -vn 0.1195 0.8349 0.5373 -vn 0.1960 0.8321 0.5188 -vn -0.8789 0.2188 -0.4238 -vn 0.9475 0.1641 0.2744 -vn 0.9826 0.0512 0.1786 -vn 0.2458 0.3187 0.9154 -vn 0.1231 0.2914 0.9486 -vn 0.1445 0.0045 0.9895 -vn 0.3293 -0.0091 0.9442 -vn 0.9854 0.0047 0.1703 -vn 0.8371 -0.4874 0.2486 -vn -0.7729 -0.6171 -0.1477 -vn -0.1256 -0.9608 -0.2472 -vn 0.0576 -0.9747 -0.2158 -vn 0.1467 -0.9583 -0.2454 -vn 0.2007 -0.9752 -0.0936 -vn -0.2533 -0.9513 -0.1759 -vn 0.2919 -0.9407 -0.1729 -vn -0.1826 -0.9254 -0.3321 -vn 0.2163 -0.9254 -0.3112 -vn -0.1850 -0.9314 -0.3134 -vn -0.1722 -0.9368 -0.3047 -vn 0.2012 -0.9320 -0.3015 -vn -0.1764 -0.9315 -0.3181 -vn 0.2135 -0.9195 -0.3300 -vn 0.2064 -0.9261 -0.3158 -vn 0.3986 -0.8724 -0.2829 -vn 0.4109 -0.8594 -0.3042 -vn -0.3144 0.9491 0.0171 -vn -0.5969 0.8022 0.0145 -vn -0.2092 0.9777 0.0177 -vn 0.4177 -0.8553 -0.3065 -vn 0.3763 -0.8860 -0.2709 -vn 0.4727 -0.8497 -0.2337 -vn 0.2633 -0.9419 -0.2085 -vn 0.3551 0.9347 0.0169 -vn 0.6639 0.7477 0.0135 -vn 0.6044 -0.7930 -0.0761 -vn 0.4200 -0.8590 -0.2929 -vn -0.5365 -0.8400 -0.0806 -vn -0.4144 -0.8788 -0.2367 -vn 0.1780 0.9839 0.0178 -vn -0.3529 -0.8823 -0.3114 -vn 0.2247 0.9743 0.0176 -vn -0.3196 -0.9068 -0.2750 -vn -0.3617 -0.8825 -0.3006 -vn -0.1688 0.9855 0.0178 -vn -0.2230 -0.9518 -0.2107 -vn -0.0543 -0.9749 -0.2158 -vn -0.3595 -0.8784 -0.3148 -vn -0.3423 -0.8938 -0.2899 -vn 0.9172 -0.3289 -0.2248 -vn 0.3319 -0.9414 -0.0595 -vn 0.3285 -0.9427 -0.0585 -vn 0.8159 0.5339 -0.2220 -vn 0.9192 -0.3228 -0.2255 -vn 0.0973 0.9939 -0.0512 -vn 0.8136 0.5375 -0.2215 -vn -0.6909 0.7057 0.1571 -vn -0.6947 0.7017 0.1582 -vn -0.9621 -0.1135 0.2480 -vn -0.9614 -0.1194 0.2480 -vn -0.5071 -0.8484 0.1517 -vn -0.5057 -0.8493 0.1514 -vn 0.9181 -0.3259 -0.2257 -vn 0.3279 -0.9422 -0.0682 -vn 0.8169 0.5359 -0.2133 -vn 0.1006 0.9941 -0.0402 -vn -0.9999 0.0106 -0.0110 -vn -0.9991 0.0430 -0.0037 -vn -0.9998 0.0127 -0.0133 -vn -0.9971 0.0758 -0.0061 -vn -0.9897 0.1348 -0.0485 -vn -0.9999 -0.0137 -0.0031 -vn 0.9971 -0.0762 0.0059 -vn 0.9896 -0.1356 0.0481 -vn 0.9841 -0.1548 0.0874 -vn -0.0000 0.0158 -0.9999 -vn -0.0000 -0.1169 -0.9931 -vn -0.0000 -0.1207 -0.9927 -vn -0.0000 -0.0158 0.9999 -vn -0.0000 0.0284 0.9996 -vn -0.9996 -0.0267 -0.0004 -vn -0.9999 -0.0172 -0.0003 -vn 0.9999 -0.0106 0.0110 -vn 0.9991 -0.0432 0.0036 -vn -0.0000 0.0298 0.9996 -vn -0.0008 0.0483 0.9988 -vn -0.6915 0.7038 0.1631 -vn 0.0009 -0.1992 -0.9800 -vn -0.0000 -0.1957 -0.9807 -vn 0.0147 0.2452 -0.9694 -vn 0.0203 0.6164 -0.7871 -vn 0.0199 0.6195 -0.7848 -vn -0.0150 -0.2579 0.9660 -vn -0.0159 -0.2595 0.9656 -vn -0.9628 -0.1165 0.2436 -vn 0.9990 -0.0449 0.0022 -vn 0.9987 -0.0513 -0.0008 -vn 0.9954 -0.0956 -0.0015 -vn -0.0213 -0.7492 0.6620 -vn -0.5092 -0.8491 0.1407 -vn -0.0212 -0.7581 0.6517 -vn -0.0200 -0.9356 0.3524 -vn -0.0083 -0.6779 -0.7352 -vn -0.0083 -0.6779 -0.7351 -vn 0.0189 0.7409 -0.6714 -vn 0.0180 0.7406 -0.6717 -vn 0.4678 0.0244 0.8835 -vn 0.8432 0.0548 0.5347 -vn 0.4172 0.0927 0.9041 -vn 0.4653 -0.1686 0.8689 -vn 0.8298 -0.0604 0.5548 -vn 0.4643 -0.0912 0.8810 -vn 0.8307 -0.1254 0.5424 -vn 0.8292 -0.1042 0.5491 -vn -0.4283 -0.1721 0.8871 -vn -0.7799 -0.0676 0.6222 -vn -0.7792 -0.1169 0.6157 -vn -0.4275 -0.0931 0.8992 -vn -0.3889 -0.2075 0.8976 -vn 0.4192 -0.2045 0.8845 -vn -0.4320 0.0249 0.9015 -vn 0.1376 -0.9903 0.0208 -vn 0.2230 -0.8487 -0.4796 -vn 0.3750 -0.8730 -0.3118 -vn 0.3558 -0.5474 -0.7575 -vn 0.7601 -0.2043 -0.6169 -vn 0.6250 -0.5899 -0.5113 -vn 0.3558 0.5619 -0.7468 -vn 0.7601 0.2162 -0.6128 -vn 0.4198 0.1988 -0.8856 -vn 0.2230 0.8578 -0.4631 -vn 0.1376 0.9897 0.0400 -vn 0.3750 0.8789 -0.2949 -vn 0.4198 -0.1816 -0.8893 -vn 0.6250 0.5997 -0.4998 -vn 0.9546 0.2082 0.2129 -vn 0.9546 -0.2123 0.2089 -vn 0.4710 0.8750 0.1125 -vn 0.7849 0.5931 0.1791 -vn 0.4710 -0.8770 0.0956 -vn 0.7849 -0.5965 0.1676 -vn 0.2123 -0.8801 0.4246 -vn 0.4303 -0.2187 0.8758 -vn 0.3538 -0.6018 0.7160 -vn 0.4303 0.2017 0.8798 -vn 0.2123 0.8718 0.4415 -vn 0.3538 0.5878 0.7275 -vn 0.0036 -0.8583 0.5132 -vn 0.0058 -0.5627 0.8266 -vn 0.0058 0.5466 0.8373 -vn 0.0069 0.1807 0.9835 -vn 0.0037 0.8482 0.5297 -vn 0.0069 -0.1997 0.9798 -vn -0.7889 0.0070 0.6145 -vn -0.7959 0.0618 0.6023 -vn -0.7809 -0.1407 0.6086 -vn 0.8373 0.0058 0.5467 -vn 0.7071 -0.0068 0.7071 -vn 0.7071 0.0068 -0.7071 -vn -0.7071 0.0068 -0.7071 -vn -0.7071 -0.0068 0.7071 -vn 0.3814 -0.0415 0.9235 -vn 0.2981 -0.1024 0.9490 -vn 0.2765 -0.1043 0.9553 -vn 0.3719 0.1045 0.9224 -vn 0.3905 -0.0244 0.9203 -vn 0.2717 0.1526 0.9502 -vn 0.2482 0.1489 0.9572 -vn 0.1720 0.1002 0.9800 -vn 0.1642 0.0879 0.9825 -vn 0.1476 0.0045 0.9890 -vn 0.1479 0.0025 0.9890 -vn 0.1873 -0.0715 0.9797 -vn 0.1949 -0.0781 0.9777 -vn -0.8654 -0.5001 -0.0323 -vn -0.5005 -0.8651 -0.0335 -vn -0.8660 -0.4989 -0.0323 -vn -0.4992 -0.8659 -0.0335 -vn -0.0007 -0.9995 -0.0324 -vn 0.0007 -0.9995 -0.0324 -vn 0.4995 -0.8658 -0.0293 -vn 0.5003 -0.8654 -0.0293 -vn 0.8658 -0.4997 -0.0250 -vn 0.8659 -0.4997 -0.0250 -vn 0.9934 -0.1132 -0.0203 -vn 0.9934 -0.1127 -0.0203 -vn 0.9936 0.1118 -0.0179 -vn 0.8841 0.4670 -0.0174 -vn 0.9936 0.1115 -0.0179 -vn 0.5005 0.8656 -0.0164 -vn 0.8831 0.4690 -0.0174 -vn 0.0007 0.9998 -0.0175 -vn 0.4992 0.8663 -0.0164 -vn -0.5867 0.8095 -0.0201 -vn -0.0007 0.9998 -0.0175 -vn -0.9357 0.3521 -0.0229 -vn -0.5854 0.8105 -0.0201 -vn -0.9978 -0.0598 -0.0282 -vn -0.9353 0.3532 -0.0228 -vn -0.9978 -0.0605 -0.0282 -vn -0.7929 -0.4205 0.4409 -vn -0.4477 -0.7797 0.4378 -vn 0.4477 0.7711 0.4528 -vn -0.0000 0.8910 0.4539 -vn -0.4477 0.7711 0.4528 -vn -0.7754 0.4434 0.4496 -vn 0.9001 0.0449 0.4334 -vn 0.8504 -0.3199 0.4178 -vn 0.8993 0.0548 0.4339 -vn -0.0000 -0.8997 0.4366 -vn -0.8954 0.1006 0.4337 -vn -0.8962 0.0947 0.4335 -vn 0.5345 -0.7241 0.4359 -vn 0.5188 -0.7350 0.4366 -vn 0.7754 0.4434 0.4496 -vn 0.8473 -0.3286 0.4174 -vn -0.8991 -0.1052 0.4248 -vn -0.8992 -0.1048 0.4248 -vn -0.7903 -0.4254 0.4410 -vn -0.0000 -0.8462 0.5329 -vn 0.4864 -0.6926 0.5327 -vn 0.5045 -0.6802 0.5318 -vn -0.7283 0.4152 0.5451 -vn -0.8437 0.0942 0.5286 -vn -0.8446 0.0874 0.5282 -vn -0.4205 -0.7335 0.5339 -vn 0.8483 0.0400 0.5280 -vn 0.8040 -0.3027 0.5117 -vn 0.8473 0.0513 0.5286 -vn -0.6006 0.5955 0.5336 -vn -0.2198 -0.8153 -0.5357 -vn -0.4205 -0.7335 0.5340 -vn -0.7421 -0.4012 0.5371 -vn 0.8005 -0.3128 0.5112 -vn -0.8488 -0.1005 0.5191 -vn -0.8489 -0.1000 0.5190 -vn -0.8294 -0.4381 -0.3468 -vn -0.7451 -0.3955 0.5370 -vn -0.1154 -0.9429 0.3126 -vn 0.1337 -0.9906 -0.0294 -vn -0.2566 -0.9662 -0.0250 -vn -0.1111 -0.4968 0.8607 -vn 0.1154 -0.9429 0.3126 -vn 0.2460 -0.5123 0.8228 -vn 0.1111 -0.4968 0.8607 -vn 0.9245 0.2144 0.3152 -vn 0.9750 0.1377 0.1746 -vn 0.9896 0.0945 0.1082 -vn -0.9601 -0.0989 -0.2615 -vn -0.9082 -0.1637 -0.3852 -vn -0.9837 -0.0512 -0.1726 -vn -0.2460 -0.5123 0.8228 -vn -0.2136 -0.9247 0.3150 -vn -0.1445 0.0045 0.9895 -vn -0.1231 0.2914 0.9486 -vn -0.2458 0.3187 0.9154 -vn -0.3293 -0.0091 0.9442 -vn 0.2136 -0.9247 0.3150 -vn 0.9333 0.2069 0.2936 -vn 0.9745 0.1360 0.1782 -vn 0.9879 0.1010 0.1179 -vn -0.9682 -0.1082 -0.2257 -vn -0.9060 -0.1974 -0.3744 -vn -0.9847 -0.0673 -0.1606 -vn -0.1195 0.8349 0.5373 -vn -0.1360 0.9906 0.0155 -vn -0.2493 0.9683 0.0141 -vn -0.1960 0.8321 0.5188 -vn -0.1164 0.9181 -0.3790 -vn -0.1146 0.4450 -0.8882 -vn -0.2464 0.4622 -0.8519 -vn -0.2088 0.9021 -0.3777 -vn -0.9333 0.2069 0.2936 -vn -0.9745 0.1360 0.1782 -vn -0.9314 0.2074 0.2990 -vn -0.9879 0.1010 0.1179 -vn 0.9682 -0.1082 -0.2257 -vn 0.9060 -0.1974 -0.3744 -vn 0.9083 -0.1973 -0.3690 -vn 0.9847 -0.0673 -0.1606 -vn -0.0000 -0.4129 -0.9108 -vn -0.0000 -0.4952 -0.8688 -vn -0.9245 0.2144 0.3152 -vn -0.9742 0.1397 0.1774 -vn -0.9313 0.2136 0.2950 -vn -0.9896 0.0945 0.1082 -vn 0.9601 -0.0989 -0.2615 -vn 0.9082 -0.1637 -0.3852 -vn 0.9061 -0.1639 -0.3901 -vn 0.9831 -0.0533 -0.1753 -vn -0.0000 -0.2676 -0.9635 -vn -0.0000 -0.6758 -0.7370 -vn -0.0000 0.4814 -0.8765 -vn -0.0000 -0.3619 -0.9322 -vn -0.0000 -0.3673 -0.9301 -vn -0.0000 -0.9467 -0.3220 -vn -0.0000 0.1991 -0.9800 -vn -0.0000 -0.2060 -0.9786 -vn 0.2566 -0.9662 -0.0250 -vn 0.2462 -0.4736 -0.8456 -vn 0.3299 0.0091 -0.9440 -vn -0.8837 -0.4675 -0.0217 -vn -0.9660 0.1205 -0.2287 -vn 0.9730 0.0636 -0.2220 -vn -0.9921 -0.1257 -0.0012 -vn -0.0001 0.0096 -1.0000 -vn -0.0000 0.0098 -1.0000 -vn -0.0003 0.0095 -1.0000 -vn 0.0001 0.0096 -1.0000 -vn 0.1145 -0.4185 -0.9010 -vn 0.0004 0.0097 -1.0000 -vn -0.0004 0.0096 -1.0000 -vn 0.0003 0.0097 -1.0000 -vn 0.1131 0.4306 -0.8954 -vn -0.9938 -0.1114 -0.0065 -vn -0.9921 -0.1257 -0.0010 -vn 0.9659 0.2588 0.0047 -vn 0.8603 0.5098 0.0061 -vn 0.0792 -0.9967 -0.0160 -vn -0.9080 -0.2753 -0.3160 -vn -0.9300 -0.1109 -0.3503 -vn 0.9343 0.2035 0.2929 -vn 0.9998 0.0169 -0.0040 -vn -0.1859 -0.9781 -0.0938 -vn 0.0983 0.9938 -0.0515 -vn -0.9841 0.1541 -0.0882 -vn 0.9998 -0.0127 0.0133 -vn -0.0000 0.0464 0.9989 -vn 0.0157 0.2484 -0.9685 -vn -0.0198 -0.9356 0.3525 -vn -0.3889 0.0940 0.9165 -vn 0.3783 0.0960 0.9207 -vn 0.9313 0.2136 0.2950 -vn -0.9061 -0.1639 -0.3901 -vn 0.9314 0.2074 0.2990 -vn -0.9083 -0.1973 -0.3690 -vt 0.592751 0.548916 -vt 0.578308 0.637378 -vt 0.578622 0.548873 -vt 0.632210 0.985435 -vt 0.604512 0.953146 -vt 0.631216 0.953146 -vt 0.592328 0.045992 -vt 0.578622 0.134559 -vt 0.578191 0.046062 -vt 0.599869 0.345425 -vt 0.603446 0.363540 -vt 0.599475 0.363553 -vt 0.477931 0.637072 -vt 0.461860 0.566791 -vt 0.478246 0.548567 -vt 0.599869 0.477669 -vt 0.603659 0.528709 -vt 0.599688 0.528721 -vt 0.578926 0.239019 -vt 0.592855 0.323033 -vt 0.578819 0.323116 -vt 0.578712 0.153115 -vt 0.593106 0.205587 -vt 0.578968 0.205656 -vt 0.478312 0.530010 -vt 0.572455 0.477750 -vt 0.572268 0.530296 -vt 0.956132 0.106911 -vt 0.916574 0.159478 -vt 0.916551 0.106929 -vt 0.334247 0.902297 -vt 0.306875 0.841107 -vt 0.322376 0.841105 -vt 0.609285 0.722969 -vt 0.613208 0.765727 -vt 0.609285 0.765726 -vt 0.478617 0.444069 -vt 0.572197 0.360274 -vt 0.572382 0.444382 -vt 0.603289 0.632728 -vt 0.608426 0.548867 -vt 0.608112 0.637373 -vt 0.380372 0.892086 -vt 0.423132 0.803145 -vt 0.423132 0.892064 -vt 0.208241 0.717469 -vt 0.215068 0.760239 -vt 0.208241 0.760221 -vt 0.209086 0.552275 -vt 0.215022 0.462500 -vt 0.215022 0.553431 -vt 0.208242 0.590748 -vt 0.215017 0.625585 -vt 0.209085 0.626742 -vt 0.484960 0.783288 -vt 0.484556 0.794264 -vt 0.482030 0.794348 -vt 0.916543 0.088371 -vt 0.956155 0.070217 -vt 0.956124 0.088353 -vt 0.398908 0.966977 -vt 0.380372 0.927363 -vt 0.398908 0.927403 -vt 0.613207 0.897740 -vt 0.610791 0.870041 -vt 0.615623 0.870044 -vt 0.206106 0.917821 -vt 0.196738 0.928376 -vt 0.196573 0.917821 -vt 0.430167 0.880852 -vt 0.456866 0.891389 -vt 0.430167 0.891447 -vt 0.922000 0.191709 -vt 0.949688 0.159478 -vt 0.950667 0.191709 -vt 0.581286 0.651101 -vt 0.591843 0.683388 -vt 0.581181 0.683355 -vt 0.575751 0.032333 -vt 0.504980 0.000422 -vt 0.575924 0.000076 -vt 0.571767 0.046093 -vt 0.499591 0.032705 -vt 0.592436 0.637421 -vt 0.956124 0.205348 -vt 0.419073 0.961817 -vt 0.306857 0.788154 -vt 0.322359 0.794686 -vt 0.306859 0.794688 -vt 0.540070 0.341778 -vt 0.583504 0.341714 -vt 0.613965 0.683939 -vt 0.609285 0.683388 -vt 0.586312 0.341635 -vt 0.202491 0.788236 -vt 0.195376 0.835123 -vt 0.194576 0.788236 -vt 0.204028 0.835123 -vt 0.195493 0.843228 -vt 0.204232 0.843228 -vt 0.195595 0.850225 -vt 0.204408 0.850225 -vt 0.196408 0.906454 -vt 0.205820 0.906454 -vt 0.603174 0.050663 -vt 0.608445 0.134510 -vt 0.603593 0.136645 -vt 0.603860 0.238132 -vt 0.608792 0.205606 -vt 0.608721 0.238966 -vt 0.603678 0.337899 -vt 0.608541 0.323052 -vt 0.608533 0.341651 -vt 0.608536 0.153065 -vt 0.603681 0.154673 -vt 0.608563 0.444403 -vt 0.603728 0.445243 -vt 0.307034 0.777413 -vt 0.322351 0.772471 -vt 0.322094 0.777412 -vt 0.603840 0.345413 -vt 0.608273 0.360310 -vt 0.608679 0.477764 -vt 0.608492 0.530310 -vt 0.613949 0.134500 -vt 0.614039 0.153055 -vt 0.613773 0.360310 -vt 0.614063 0.444403 -vt 0.613518 0.046001 -vt 0.614037 0.341641 -vt 0.613992 0.530310 -vt 0.614224 0.238955 -vt 0.079009 0.758018 -vt 0.084476 0.797604 -vt 0.079009 0.797592 -vt 0.614179 0.341652 -vt 0.613612 0.637373 -vt 0.306851 0.772472 -vt 0.322349 0.766969 -vt 0.307036 0.781386 -vt 0.322095 0.781384 -vt 0.599757 0.445255 -vt 0.599708 0.154668 -vt 0.599705 0.337894 -vt 0.603686 0.319829 -vt 0.599956 0.205716 -vt 0.599887 0.238127 -vt 0.599620 0.136640 -vt 0.952094 0.409112 -vt 0.956042 0.447570 -vt 0.952094 0.447561 -vt 0.599624 0.546750 -vt 0.599319 0.632740 -vt 0.944740 0.408621 -vt 0.944740 0.448195 -vt 0.592760 0.134490 -vt 0.599201 0.050658 -vt 0.593035 0.238946 -vt 0.592847 0.341632 -vt 0.592850 0.153046 -vt 0.592888 0.444451 -vt 0.322357 0.788153 -vt 0.593003 0.477813 -vt 0.592817 0.530359 -vt 0.592597 0.360358 -vt 0.116890 0.461562 -vt 0.918599 0.993142 -vt 0.937429 0.965601 -vt 0.937429 0.981102 -vt 0.653877 0.604532 -vt 0.614295 0.657080 -vt 0.614296 0.604533 -vt 0.653877 0.497467 -vt 0.614296 0.585975 -vt 0.614296 0.497468 -vt 0.653876 0.690444 -vt 0.614296 0.774545 -vt 0.614295 0.690444 -vt 0.478498 0.477464 -vt 0.436204 0.443481 -vt 0.478690 0.239539 -vt 0.451587 0.322780 -vt 0.436251 0.240204 -vt 0.340120 0.951350 -vt 0.379694 0.903338 -vt 0.379694 0.951249 -vt 0.294668 0.929828 -vt 0.294668 0.902301 -vt 0.752707 0.918935 -vt 0.751117 0.888215 -vt 0.752706 0.886219 -vt 0.792287 0.803738 -vt 0.793877 0.888198 -vt 0.792287 0.886203 -vt 0.793877 0.923538 -vt 0.751117 0.923555 -vt 0.752706 0.803754 -vt 0.793877 0.799119 -vt 0.603543 0.953129 -vt 0.613207 0.925437 -vt 0.613207 0.953135 -vt 0.603543 0.925432 -vt 0.622872 0.925443 -vt 0.632536 0.897751 -vt 0.632536 0.925448 -vt 0.622872 0.897746 -vt 0.622872 0.953140 -vt 0.632536 0.953146 -vt 0.177584 0.906454 -vt 0.187039 0.917821 -vt 0.177506 0.917821 -vt 0.186996 0.906454 -vt 0.177969 0.850225 -vt 0.186782 0.850225 -vt 0.178017 0.843228 -vt 0.186755 0.843228 -vt 0.178072 0.835123 -vt 0.186724 0.835123 -vt 0.178746 0.788236 -vt 0.186661 0.788236 -vt 0.187075 0.928376 -vt 0.177412 0.928376 -vt 0.625288 0.870049 -vt 0.620456 0.870047 -vt 0.571940 0.841637 -vt 0.566696 0.795130 -vt 0.571940 0.770988 -vt 0.916549 0.000018 -vt 0.916557 0.023424 -vt 0.916574 0.070235 -vt 0.946260 0.070221 -vt 0.956147 0.046812 -vt 0.926469 0.070230 -vt 0.583342 0.341636 -vt 0.572442 0.323154 -vt 0.586472 0.341710 -vt 0.593003 0.341700 -vt 0.322360 0.797655 -vt 0.306860 0.797657 -vt 0.576086 0.651085 -vt 0.571888 0.637359 -vt 0.580954 0.032308 -vt 0.592407 0.032252 -vt 0.591439 0.000000 -vt 0.576337 0.683341 -vt 0.456866 0.896203 -vt 0.430167 0.896261 -vt 0.578788 0.444404 -vt 0.578688 0.530316 -vt 0.572545 0.205688 -vt 0.572289 0.153146 -vt 0.572515 0.239053 -vt 0.572198 0.134591 -vt 0.572202 0.548853 -vt 0.484061 0.765155 -vt 0.484797 0.683388 -vt 0.490229 0.765373 -vt 0.479101 0.323708 -vt 0.478528 0.206146 -vt 0.478272 0.153605 -vt 0.456866 0.966661 -vt 0.430167 0.966718 -vt 0.505439 0.683125 -vt 0.499975 0.650854 -vt 0.539880 0.341651 -vt 0.578570 0.360301 -vt 0.580771 0.000052 -vt 0.478181 0.135049 -vt 0.653877 0.585975 -vt 0.603930 0.205721 -vt 0.613926 0.548867 -vt 0.614295 0.205596 -vt 0.603595 0.546738 -vt 0.578874 0.477770 -vt 0.792287 0.918919 -vt 0.751117 0.799136 -vt 0.430167 0.207444 -vt 0.451421 0.360871 -vt 0.478915 0.359892 -vt 0.653876 0.657079 -vt 0.599713 0.319824 -vt 0.603840 0.477656 -vt 0.614045 0.323042 -vt 0.614179 0.477765 -vt 0.215017 0.716530 -vt 0.211212 0.717469 -vt 0.208242 0.588264 -vt 0.215022 0.589505 -vt 0.423132 0.927341 -vt 0.490229 0.783288 -vt 0.500394 0.793738 -vt 0.518666 0.683389 -vt 0.518666 0.768592 -vt 0.430167 0.683388 -vt 0.474180 0.765373 -vt 0.430167 0.768592 -vt 0.474180 0.783288 -vt 0.430167 0.796070 -vt 0.430167 0.777406 -vt 0.474180 0.776742 -vt 0.430167 0.774185 -vt 0.490229 0.776742 -vt 0.518666 0.774186 -vt 0.429471 0.859251 -vt 0.423132 0.847973 -vt 0.429471 0.847959 -vt 0.637805 0.980160 -vt 0.632536 0.991530 -vt 0.632536 0.980160 -vt 0.513905 0.836757 -vt 0.518166 0.830416 -vt 0.518166 0.836757 -vt 0.429301 0.870154 -vt 0.423490 0.876369 -vt 0.423131 0.870065 -vt 0.429472 0.841458 -vt 0.423132 0.834913 -vt 0.429472 0.834915 -vt 0.175808 0.876968 -vt 0.170555 0.881180 -vt 0.170142 0.877377 -vt 0.079009 0.835012 -vt 0.084278 0.828671 -vt 0.084278 0.835012 -vt 0.644326 0.980161 -vt 0.638344 0.991954 -vt 0.478652 0.765069 -vt 0.482204 0.683388 -vt 0.478439 0.783288 -vt 0.478905 0.794451 -vt 0.476863 0.794519 -vt 0.476901 0.683388 -vt 0.648586 0.991530 -vt 0.648586 0.980161 -vt 0.335137 0.832041 -vt 0.339605 0.825701 -vt 0.339605 0.832042 -vt 0.568141 0.976689 -vt 0.562151 0.997093 -vt 0.562151 0.976687 -vt 0.648586 0.973615 -vt 0.644326 0.973615 -vt 0.562151 0.970144 -vt 0.568141 0.970146 -vt 0.423132 0.823548 -vt 0.429472 0.823550 -vt 0.637805 0.973615 -vt 0.632536 0.973615 -vt 0.423132 0.841472 -vt 0.429471 0.841458 -vt 0.518666 0.777407 -vt 0.208241 0.760239 -vt 0.214762 0.766785 -vt 0.208241 0.766785 -vt 0.994011 0.103049 -vt 1.000000 0.109537 -vt 0.994011 0.109550 -vt 0.987671 0.129838 -vt 0.987671 0.109564 -vt 0.676578 0.870586 -vt 0.682567 0.877107 -vt 0.676578 0.877107 -vt 0.683099 0.858255 -vt 0.676578 0.864596 -vt 0.676578 0.858255 -vt 0.683099 0.864596 -vt 0.994011 0.129824 -vt 0.429652 0.823549 -vt 0.423131 0.803145 -vt 0.429652 0.803148 -vt 0.574482 0.976691 -vt 0.568141 0.997095 -vt 0.208241 0.787198 -vt 0.643881 0.991978 -vt 0.640596 0.997196 -vt 0.428929 0.882773 -vt 0.423380 0.878942 -vt 0.428799 0.876495 -vt 0.429498 0.609953 -vt 0.430090 0.606177 -vt 0.430090 0.610014 -vt 0.079009 0.840719 -vt 0.081841 0.835157 -vt 0.084422 0.840719 -vt 0.564074 0.683388 -vt 0.609285 0.770988 -vt 0.564074 0.770977 -vt 0.377898 0.441574 -vt 0.250672 0.327940 -vt 0.418073 0.233161 -vt 0.342620 0.001241 -vt 0.418071 0.029222 -vt 0.339869 0.030331 -vt 0.162332 0.023110 -vt 0.201832 0.227852 -vt 0.037243 0.134816 -vt 0.127550 0.460364 -vt 0.201830 0.428217 -vt 0.215153 0.461561 -vt 0.809290 0.921396 -vt 0.843382 0.900576 -vt 0.843336 0.921403 -vt 0.809336 0.900569 -vt 0.843394 0.892823 -vt 0.118641 0.851735 -vt 0.084590 0.906050 -vt 0.084590 0.851736 -vt 0.118641 0.906049 -vt 0.084590 0.954112 -vt 0.843398 0.950225 -vt 0.877445 0.943352 -vt 0.877447 0.950232 -vt 0.843395 0.943344 -vt 0.877444 0.921469 -vt 0.843394 0.921462 -vt 0.877447 0.892824 -vt 0.711827 0.948422 -vt 0.745877 0.941033 -vt 0.745878 0.948420 -vt 0.711826 0.941035 -vt 0.745878 0.900755 -vt 0.711827 0.900758 -vt 0.745876 0.870067 -vt 0.711824 0.870070 -vt 0.745878 0.838840 -vt 0.809349 0.952553 -vt 0.843394 0.952559 -vt 0.937806 0.326669 -vt 0.928463 0.320316 -vt 0.941060 0.304850 -vt 0.944740 0.278464 -vt 0.940989 0.259068 -vt 0.940971 0.252712 -vt 0.903601 0.239232 -vt 0.890745 0.251728 -vt 0.887036 0.247584 -vt 0.903049 0.320228 -vt 0.887409 0.318546 -vt 0.891070 0.313586 -vt 0.903039 0.333127 -vt 0.891068 0.339776 -vt 0.887408 0.334817 -vt 0.941025 0.348487 -vt 0.928437 0.333026 -vt 0.937772 0.326669 -vt 0.940954 0.394274 -vt 0.940985 0.383714 -vt 0.944702 0.374874 -vt 0.887035 0.405786 -vt 0.903590 0.414130 -vt 0.885514 0.437032 -vt 0.294668 0.787601 -vt 0.274014 0.766969 -vt 0.294658 0.766969 -vt 0.191207 0.997687 -vt 0.177412 0.977214 -vt 0.191207 0.977184 -vt 0.633236 0.849396 -vt 0.653877 0.870041 -vt 0.633236 0.870041 -vt 0.974795 0.364999 -vt 0.970190 0.344362 -vt 0.974789 0.344362 -vt 0.274913 0.996053 -vt 0.279512 0.975408 -vt 0.284111 0.975408 -vt 0.992479 0.619180 -vt 0.990020 0.595605 -vt 0.991617 0.595605 -vt 0.977701 0.619180 -vt 0.983993 0.364999 -vt 0.980026 0.367478 -vt 0.979394 0.364999 -vt 0.079009 0.811427 -vt 0.084097 0.797604 -vt 0.084097 0.812384 -vt 0.978620 0.595605 -vt 0.978693 0.573888 -vt 0.983025 0.573888 -vt 0.984075 0.391048 -vt 0.979764 0.413033 -vt 0.979742 0.391048 -vt 0.639560 0.823300 -vt 0.651150 0.801266 -vt 0.652555 0.823300 -vt 0.293925 0.790098 -vt 0.280321 0.813782 -vt 0.279146 0.790098 -vt 0.980607 0.595605 -vt 0.653151 0.846895 -vt 0.635810 0.774545 -vt 0.648806 0.774545 -vt 0.649978 0.787906 -vt 0.326089 0.714280 -vt 0.326057 0.687635 -vt 0.991690 0.573888 -vt 0.291951 0.835730 -vt 0.278926 0.835802 -vt 0.513905 0.809068 -vt 0.518238 0.796070 -vt 0.518238 0.809068 -vt 0.979776 0.429893 -vt 0.984128 0.439677 -vt 0.979796 0.439677 -vt 0.983125 0.547624 -vt 0.991790 0.547624 -vt 0.290786 0.849082 -vt 0.289621 0.862434 -vt 0.276624 0.862434 -vt 0.271729 0.814719 -vt 0.206401 0.874145 -vt 0.214917 0.853550 -vt 0.214917 0.875628 -vt 0.003180 0.972658 -vt 0.026114 0.968870 -vt 0.002071 0.975814 -vt 0.052246 0.958754 -vt 0.052246 0.987728 -vt 0.034362 0.976909 -vt 0.619928 0.798684 -vt 0.626406 0.776426 -vt 0.629842 0.775739 -vt 0.267218 0.860554 -vt 0.263470 0.855973 -vt 0.638153 0.801266 -vt 0.026114 0.987759 -vt 0.000000 0.981707 -vt 0.325697 0.714280 -vt 0.324102 0.743009 -vt 0.074665 0.997135 -vt 0.070333 0.992094 -vt 0.074706 0.988591 -vt 0.083341 0.812384 -vt 0.079009 0.821766 -vt 0.079009 0.812386 -vt 0.215003 0.902709 -vt 0.206401 0.893297 -vt 0.215003 0.893295 -vt 0.338182 0.929828 -vt 0.328769 0.951578 -vt 0.328769 0.929860 -vt 0.430167 0.495866 -vt 0.430167 0.524692 -vt 0.429573 0.504448 -vt 0.573537 0.779591 -vt 0.571941 0.789237 -vt 0.326089 0.658794 -vt 0.326089 0.687635 -vt 0.324107 0.658931 -vt 0.250236 0.839796 -vt 0.227491 0.794465 -vt 0.260253 0.838378 -vt 0.587472 0.842593 -vt 0.609435 0.797197 -vt 0.630026 0.858997 -vt 0.630026 0.849223 -vt 0.274025 0.787601 -vt 0.270804 0.778095 -vt 0.594377 0.849588 -vt 0.234984 0.787496 -vt 0.270810 0.787863 -vt 0.594203 0.858997 -vt 0.574874 0.849587 -vt 0.215475 0.778095 -vt 0.234979 0.778095 -vt 0.574700 0.867619 -vt 0.574700 0.858997 -vt 0.234974 0.768719 -vt 0.215481 0.787496 -vt 0.574550 0.843124 -vt 0.988517 0.644227 -vt 0.977701 0.693932 -vt 0.978221 0.644242 -vt 0.978470 0.637862 -vt 0.988640 0.637843 -vt 0.978813 0.628498 -vt 0.988585 0.628498 -vt 0.978832 0.619934 -vt 0.108806 0.973623 -vt 0.118578 0.954112 -vt 0.118578 0.973617 -vt 0.564833 0.885043 -vt 0.573452 0.894814 -vt 0.564074 0.894816 -vt 0.419690 0.764999 -vt 0.429464 0.800828 -vt 0.419690 0.800828 -vt 0.188677 0.987786 -vt 0.178905 0.987807 -vt 0.653877 0.849396 -vt 0.638373 0.846895 -vt 0.974975 0.255223 -vt 0.987163 0.210411 -vt 0.987968 0.255223 -vt 0.564089 0.842390 -vt 0.574248 0.849218 -vt 0.564074 0.849385 -vt 0.998778 0.748639 -vt 0.985780 0.777392 -vt 0.985780 0.748635 -vt 0.574171 0.885040 -vt 0.564398 0.885040 -vt 0.339238 0.816319 -vt 0.334905 0.825701 -vt 0.334905 0.816320 -vt 0.083329 0.992246 -vt 0.078997 0.997186 -vt 0.079038 0.988642 -vt 0.984112 0.426355 -vt 0.990093 0.573888 -vt 0.987458 0.547624 -vt 0.975444 0.429893 -vt 0.975431 0.413033 -vt 0.971131 0.439677 -vt 0.971114 0.426355 -vt 0.334905 0.816319 -vt 0.339238 0.788145 -vt 0.513905 0.822065 -vt 0.518238 0.822065 -vt 0.971098 0.413033 -vt 0.975100 0.367478 -vt 0.971077 0.391048 -vt 0.970173 0.367478 -vt 0.975410 0.391048 -vt 0.970196 0.364999 -vt 0.979388 0.344362 -vt 0.983987 0.344362 -vt 0.074665 0.974521 -vt 0.078997 0.974571 -vt 0.083329 0.974622 -vt 0.070333 0.974470 -vt 0.216539 0.985698 -vt 0.221661 0.969636 -vt 0.239249 0.989889 -vt 0.239249 0.969024 -vt 0.757621 0.985335 -vt 0.775203 0.985961 -vt 0.768137 0.992974 -vt 0.752502 0.969271 -vt 0.775203 0.965100 -vt 0.429517 0.570313 -vt 0.429152 0.592327 -vt 0.429152 0.570249 -vt 0.639144 0.823254 -vt 0.980396 0.980045 -vt 0.994210 0.993946 -vt 0.980396 0.993976 -vt 0.340120 0.658795 -vt 0.326089 0.721589 -vt 0.326093 0.658794 -vt 0.367964 0.826510 -vt 0.380372 0.840536 -vt 0.367964 0.840536 -vt 0.970173 0.436184 -vt 0.956155 0.268477 -vt 0.970173 0.268470 -vt 0.764429 0.695330 -vt 0.769335 0.681382 -vt 0.769104 0.695407 -vt 0.356653 0.839803 -vt 0.353937 0.826511 -vt 0.358612 0.826510 -vt 0.998453 0.161577 -vt 0.987671 0.145580 -vt 0.998453 0.145580 -vt 0.764660 0.681305 -vt 0.772105 0.513681 -vt 0.358612 0.658794 -vt 0.795216 0.930937 -vt 0.809243 0.763237 -vt 0.809243 0.930937 -vt 0.766574 0.937582 -vt 0.761899 0.923559 -vt 0.766574 0.923560 -vt 0.775925 0.937585 -vt 0.771250 0.961571 -vt 0.771250 0.937583 -vt 0.775925 0.923563 -vt 0.792239 0.937589 -vt 0.767430 0.513604 -vt 0.772369 0.497686 -vt 0.143020 0.743452 -vt 0.149846 0.756426 -vt 0.139974 0.743848 -vt 0.065658 0.998313 -vt 0.065658 0.974480 -vt 0.116846 0.477622 -vt 0.092893 0.461562 -vt 0.116890 0.461627 -vt 0.177357 0.742010 -vt 0.153431 0.758101 -vt 0.153375 0.742105 -vt 0.695234 0.510606 -vt 0.690540 0.497861 -vt 0.695214 0.497467 -vt 0.141360 0.737780 -vt 0.090122 0.462860 -vt 0.082487 0.476223 -vt 0.079437 0.475830 -vt 0.702608 0.516375 -vt 0.701874 0.692320 -vt 0.699251 0.516375 -vt 0.695248 0.942853 -vt 0.692540 0.937531 -vt 0.695897 0.937531 -vt 0.088341 0.482864 -vt 0.080901 0.481907 -vt 0.699910 0.510606 -vt 0.093277 0.695356 -vt 0.109906 0.666144 -vt 0.110121 0.695231 -vt 0.123100 0.562498 -vt 0.128700 0.561769 -vt 0.693280 0.759883 -vt 0.068074 0.657878 -vt 0.215154 0.925015 -vt 0.223747 0.880705 -vt 0.223747 0.925015 -vt 0.153860 0.524258 -vt 0.170499 0.553452 -vt 0.153666 0.553349 -vt 0.177114 0.524096 -vt 0.176947 0.561087 -vt 0.148582 0.524025 -vt 0.147731 0.559294 -vt 0.152648 0.966526 -vt 0.158772 0.975179 -vt 0.152648 0.975119 -vt 0.340120 0.951351 -vt 0.365901 0.995657 -vt 0.340120 0.995658 -vt 0.158772 0.966586 -vt 0.175604 0.975173 -vt 0.123966 0.490080 -vt 0.128438 0.478280 -vt 0.132663 0.478317 -vt 0.600326 0.954524 -vt 0.591925 0.967422 -vt 0.591734 0.954524 -vt 0.087453 0.729756 -vt 0.072100 0.741319 -vt 0.063389 0.729568 -vt 0.600507 0.971615 -vt 0.591914 0.971615 -vt 0.063638 0.697658 -vt 0.214994 0.788236 -vt 0.206401 0.820151 -vt 0.206401 0.788236 -vt 0.117162 0.522056 -vt 0.124238 0.521992 -vt 0.144422 0.966918 -vt 0.135830 0.978351 -vt 0.135828 0.966918 -vt 0.516702 0.845350 -vt 0.513905 0.836781 -vt 0.516702 0.836757 -vt 0.065921 0.695413 -vt 0.087984 0.696981 -vt 0.144423 0.932748 -vt 0.135830 0.935001 -vt 0.135829 0.932747 -vt 0.144423 0.935002 -vt 0.120031 0.524296 -vt 0.126522 0.524235 -vt 0.093062 0.666268 -vt 0.710468 0.692321 -vt 0.701874 0.730572 -vt 0.087120 0.660330 -vt 0.315963 0.967760 -vt 0.332671 0.993577 -vt 0.315963 0.993537 -vt 0.778454 0.695561 -vt 0.772742 0.758279 -vt 0.773779 0.695484 -vt 0.215154 0.962005 -vt 0.223747 0.962004 -vt 0.363288 0.903337 -vt 0.365247 0.839803 -vt 0.646558 0.973607 -vt 0.632536 0.910815 -vt 0.646554 0.910807 -vt 0.467416 0.966811 -vt 0.462738 0.953124 -vt 0.467413 0.953142 -vt 0.116546 0.695489 -vt 0.110309 0.739539 -vt 0.633361 0.874777 -vt 0.646558 0.870041 -vt 0.340117 0.721590 -vt 0.326914 0.757624 -vt 0.777417 0.758356 -vt 0.772068 0.799042 -vt 0.809290 0.995481 -vt 0.817884 0.952560 -vt 0.817884 0.995481 -vt 0.154015 0.479947 -vt 0.215154 0.862483 -vt 0.225706 0.862434 -vt 0.334905 0.762352 -vt 0.340120 0.770960 -vt 0.334905 0.770944 -vt 0.419073 0.927366 -vt 0.428431 0.935957 -vt 0.419073 0.935959 -vt 0.170848 0.480051 -vt 0.177269 0.479785 -vt 0.348073 0.847546 -vt 0.356667 0.847546 -vt 0.093465 0.739663 -vt 0.088183 0.739903 -vt 0.465464 0.973910 -vt 0.456866 0.966788 -vt 0.456872 0.992634 -vt 0.465464 0.992668 -vt 0.170606 0.464269 -vt 0.177412 0.461562 -vt 0.091945 0.748997 -vt 0.116734 0.739796 -vt 0.110077 0.755319 -vt 0.152490 0.470614 -vt 0.474056 0.992703 -vt 0.482648 0.973979 -vt 0.482648 0.992737 -vt 0.474056 0.973944 -vt 0.482642 0.966892 -vt 0.472091 0.966830 -vt 0.365261 0.847546 -vt 0.373841 0.839802 -vt 0.373854 0.847546 -vt 0.419073 0.944553 -vt 0.428431 0.953144 -vt 0.419073 0.953147 -vt 0.428431 0.944550 -vt 0.334905 0.779536 -vt 0.340120 0.788145 -vt 0.334905 0.788129 -vt 0.340120 0.779552 -vt 0.232341 0.880704 -vt 0.240935 0.862482 -vt 0.240935 0.880704 -vt 0.230382 0.862434 -vt 0.826478 0.996867 -vt 0.835071 0.952559 -vt 0.835071 0.996866 -vt 0.826478 0.952559 -vt 0.768067 0.758202 -vt 0.762718 0.798887 -vt 0.763391 0.758125 -vt 0.767393 0.798965 -vt 0.476766 0.966849 -vt 0.472088 0.953161 -vt 0.476763 0.953180 -vt 0.353937 0.840537 -vt 0.358612 0.903337 -vt 0.353937 0.903338 -vt 0.232341 0.962004 -vt 0.240935 0.925014 -vt 0.240935 0.962004 -vt 0.232341 0.925015 -vt 0.693280 0.692319 -vt 0.684687 0.730569 -vt 0.684687 0.692317 -vt 0.127235 0.934133 -vt 0.118641 0.966917 -vt 0.118642 0.934133 -vt 0.127235 0.966918 -vt 0.325472 0.762047 -vt 0.322673 0.753453 -vt 0.325471 0.753439 -vt 0.118642 0.978350 -vt 0.127236 0.978350 -vt 0.214994 0.820151 -vt 0.206401 0.852067 -vt 0.574740 0.967422 -vt 0.583322 0.971615 -vt 0.574730 0.971615 -vt 0.583142 0.954524 -vt 0.574549 0.954524 -vt 0.158772 0.983773 -vt 0.175604 0.992359 -vt 0.158772 0.992366 -vt 0.175604 0.983766 -vt 0.152648 0.983713 -vt 0.152648 0.992306 -vt 0.702611 0.937531 -vt 0.701874 0.759883 -vt 0.710468 0.759883 -vt 0.699254 0.937531 -vt 0.692537 0.516374 -vt 0.690558 0.510605 -vt 0.695894 0.516374 -vt 0.699924 0.942853 -vt 0.704600 0.942853 -vt 0.693369 0.759882 -vt 0.701720 0.759883 -vt 0.704565 0.497468 -vt 0.704586 0.510607 -vt 0.699889 0.497468 -vt 0.060983 0.974490 -vt 0.056308 0.998333 -vt 0.056308 0.974500 -vt 0.060983 0.998323 -vt 0.776780 0.513758 -vt 0.781720 0.497840 -vt 0.781455 0.513835 -vt 0.777044 0.497763 -vt 0.761899 0.961568 -vt 0.761899 0.937580 -vt 0.766574 0.961569 -vt 0.771250 0.923561 -vt 0.363288 0.826510 -vt 0.367964 0.658794 -vt 0.363288 0.658794 -vt 0.774010 0.681459 -vt 0.778686 0.681536 -vt 0.766588 0.964299 -vt 0.761916 0.965100 -vt 0.591880 0.985865 -vt 0.583288 0.985865 -vt 0.574696 0.985865 -vt 0.062470 0.657157 -vt 0.059426 0.695359 -vt 0.148287 0.521774 -vt 0.056558 0.697603 -vt 0.148014 0.489862 -vt 0.056308 0.729513 -vt 0.600473 0.985865 -vt 0.067872 0.741362 -vt 0.147024 0.478442 -vt 0.078712 0.481625 -vt 0.148794 0.736813 -vt 0.775925 0.961572 -vt 0.771263 0.964300 -vt 0.092849 0.477557 -vt 0.809243 0.752625 -vt 0.805018 0.763237 -vt 0.793132 0.751711 -vt 0.963855 0.501884 -vt 0.961620 0.467660 -vt 0.977701 0.456254 -vt 0.129813 0.978351 -vt 0.143838 0.992378 -vt 0.129813 0.992378 -vt 0.701562 0.997430 -vt 0.689156 0.983526 -vt 0.701562 0.983499 -vt 0.689156 0.997524 -vt 0.676749 0.983499 -vt 0.689156 0.983502 -vt 0.752254 0.681100 -vt 0.966370 0.994041 -vt 0.980396 0.980015 -vt 0.980389 0.994041 -vt 0.941837 0.980047 -vt 0.955653 0.994072 -vt 0.941837 0.994068 -vt 0.340120 0.826511 -vt 0.792269 0.695789 -vt 0.205226 0.977184 -vt 0.191207 0.993187 -vt 0.191207 0.977191 -vt 0.998748 0.239984 -vt 0.987968 0.226077 -vt 0.998748 0.226053 -vt 0.792236 0.514013 -vt 0.961047 0.440110 -vt 0.975075 0.456106 -vt 0.961047 0.456106 -vt 0.901511 0.437032 -vt 0.885514 0.453346 -vt 0.885514 0.437031 -vt 0.930209 0.453344 -vt 0.944140 0.437062 -vt 0.944140 0.453374 -vt 0.751381 0.497339 -vt 0.767694 0.497609 -vt 0.775203 0.965107 -vt 0.792035 0.990880 -vt 0.775203 0.990887 -vt 0.676578 0.949132 -vt 0.650796 0.993444 -vt 0.650796 0.949133 -vt 0.694287 0.965960 -vt 0.676749 0.958696 -vt 0.687022 0.948422 -vt 0.860931 0.967771 -vt 0.843394 0.975035 -vt 0.843395 0.960506 -vt 0.701551 0.948422 -vt 0.853667 0.985309 -vt 0.711824 0.958695 -vt 0.868195 0.985309 -vt 0.711824 0.973225 -vt 0.878469 0.975035 -vt 0.701551 0.983499 -vt 0.878469 0.960506 -vt 0.687022 0.983499 -vt 0.868196 0.950232 -vt 0.676749 0.973225 -vt 0.853668 0.950232 -vt 0.334905 0.832042 -vt 0.337791 0.839709 -vt 0.334905 0.840480 -vt 0.214994 0.915149 -vt 0.206477 0.904696 -vt 0.214917 0.904696 -vt 0.614194 0.772632 -vt 0.610326 0.765805 -vt 0.614194 0.765727 -vt 0.429131 0.870065 -vt 0.423733 0.867188 -vt 0.428642 0.867188 -vt 0.652557 0.880433 -vt 0.647042 0.877582 -vt 0.650896 0.876553 -vt 0.517779 0.830416 -vt 0.514930 0.822831 -vt 0.517779 0.822065 -vt 0.748570 0.842431 -vt 0.746772 0.845709 -vt 0.745994 0.842824 -vt 0.082591 0.845476 -vt 0.080281 0.842470 -vt 0.082750 0.842112 -vt 0.648771 0.872993 -vt 0.651353 0.870266 -vt 0.651090 0.873218 -vt 0.792884 0.763237 -vt 0.795018 0.766236 -vt 0.792500 0.766193 -vt 0.792786 0.769168 -vt 0.424323 0.859859 -vt 0.426913 0.862628 -vt 0.424441 0.862886 -vt 0.335145 0.841235 -vt 0.337857 0.843952 -vt 0.334905 0.843688 -vt 0.745878 0.839845 -vt 0.749226 0.838839 -vt 0.080147 0.825191 -vt 0.082932 0.821878 -vt 0.082752 0.825210 -vt 0.079009 0.828671 -vt 0.083918 0.828671 -vt 0.331509 0.762352 -vt 0.331509 0.765794 -vt 0.329752 0.765305 -vt 0.080261 0.845476 -vt 0.339493 0.845390 -vt 0.327922 0.765685 -vt 0.328799 0.762352 -vt 0.329752 0.765685 -vt 0.415023 0.966977 -vt 0.422427 0.973091 -vt 0.405790 0.986703 -vt 0.401681 0.982583 -vt 0.394076 0.988382 -vt 0.384592 0.968922 -vt 0.438016 0.972646 -vt 0.443651 0.966719 -vt 0.443861 0.971146 -vt 0.435414 0.978176 -vt 0.434320 0.969113 -vt 0.434320 0.986557 -vt 0.438016 0.983571 -vt 0.443651 0.988470 -vt 0.443861 0.984770 -vt 0.451135 0.982242 -vt 0.448548 0.980868 -vt 0.448548 0.974805 -vt 0.451135 0.972561 -vt 0.987062 0.546335 -vt 0.989909 0.547567 -vt 0.987062 0.547624 -vt 0.987062 0.513390 -vt 0.989909 0.539838 -vt 0.987062 0.539894 -vt 0.987062 0.457740 -vt 0.989909 0.464460 -vt 0.987062 0.464517 -vt 0.980704 0.457733 -vt 0.978921 0.464505 -vt 0.978921 0.457728 -vt 0.980704 0.513382 -vt 0.978921 0.539882 -vt 0.978921 0.513378 -vt 0.980704 0.546328 -vt 0.978921 0.547612 -vt 0.978921 0.546324 -vt 0.980704 0.488946 -vt 0.978921 0.488941 -vt 0.980704 0.539887 -vt 0.989909 0.488897 -vt 0.987062 0.488953 -vt 0.980704 0.464509 -vt 0.980704 0.547616 -vt 0.989909 0.546279 -vt 0.987062 0.456162 -vt 0.980704 0.456155 -vt 0.978921 0.456150 -vt 0.989909 0.457684 -vt 0.977701 0.546320 -vt 0.977701 0.539879 -vt 0.977701 0.488938 -vt 0.977701 0.464502 -vt 0.977701 0.513375 -vt 0.977701 0.457725 -vt 0.984359 0.073445 -vt 0.987671 0.072191 -vt 0.987671 0.073480 -vt 0.984359 0.106393 -vt 0.987671 0.079921 -vt 0.987671 0.106428 -vt 0.984359 0.162047 -vt 0.987671 0.155305 -vt 0.987671 0.162082 -vt 0.976200 0.155265 -vt 0.977991 0.162045 -vt 0.976200 0.162043 -vt 0.976200 0.079882 -vt 0.977991 0.106390 -vt 0.976200 0.106388 -vt 0.976200 0.072152 -vt 0.977991 0.073442 -vt 0.976200 0.073440 -vt 0.977991 0.130829 -vt 0.976200 0.130827 -vt 0.984359 0.079886 -vt 0.977991 0.079884 -vt 0.984359 0.155270 -vt 0.987671 0.130866 -vt 0.977991 0.155268 -vt 0.984359 0.130832 -vt 0.977991 0.072154 -vt 0.977991 0.163623 -vt 0.984359 0.163626 -vt 0.976200 0.163620 -vt 0.987671 0.163660 -vt 0.974975 0.079880 -vt 0.974975 0.130825 -vt 0.974975 0.155264 -vt 0.974975 0.106387 -vt 0.974975 0.162041 -vt 0.430167 0.595101 -vt 0.428935 0.598022 -vt 0.429657 0.594690 -vt 0.429655 0.495865 -vt 0.430167 0.494573 -vt 0.430167 0.495862 -vt 0.428812 0.468065 -vt 0.429473 0.461623 -vt 0.429461 0.468065 -vt 0.429655 0.488135 -vt 0.430167 0.461623 -vt 0.430167 0.488131 -vt 0.428675 0.543450 -vt 0.429369 0.519011 -vt 0.429324 0.543450 -vt 0.429655 0.533051 -vt 0.430167 0.526270 -vt 0.430167 0.533047 -vt 0.430167 0.606083 -vt 0.429294 0.604380 -vt 0.429944 0.604299 -vt 0.429849 0.560703 -vt 0.428905 0.566952 -vt 0.429198 0.560631 -vt 0.429655 0.494577 -vt 0.428764 0.494572 -vt 0.429413 0.494572 -vt 0.428719 0.519011 -vt 0.429655 0.557491 -vt 0.430167 0.557487 -vt 0.429585 0.597941 -vt 0.430167 0.569835 -vt 0.429556 0.567024 -vt 0.428888 0.554937 -vt 0.429473 0.551821 -vt 0.429473 0.555230 -vt 0.429505 0.610306 -vt 0.430091 0.613397 -vt 0.429472 0.613181 -vt 0.430167 0.570250 -vt 0.429517 0.594689 -vt 0.429517 0.570249 -vt 0.428663 0.550227 -vt 0.429312 0.550227 -vt 0.429655 0.526273 -vt 0.430167 0.524691 -vt 0.430053 0.558928 -vt 0.429402 0.558856 -vt 0.430167 0.557563 -vt 0.429516 0.557491 -vt 0.974975 0.073438 -vt 0.897883 0.984977 -vt 0.906305 0.987138 -vt 0.897304 0.987138 -vt 0.889508 0.982640 -vt 0.891091 0.981058 -vt 0.887733 0.970365 -vt 0.886392 0.977246 -vt 0.885529 0.970147 -vt 0.891302 0.959518 -vt 0.897301 0.953561 -vt 0.897880 0.955722 -vt 0.905723 0.955722 -vt 0.906302 0.953561 -vt 0.912440 0.959599 -vt 0.914097 0.958060 -vt 0.917060 0.964185 -vt 0.915041 0.964976 -vt 0.912516 0.981058 -vt 0.918599 0.974848 -vt 0.914099 0.982640 -vt 0.905725 0.984977 -vt 0.916437 0.974269 -vt 0.918599 0.969213 -vt 0.916437 0.969536 -vt 0.889506 0.958060 -vt 0.888485 0.976547 -vt 0.242510 0.960493 -vt 0.253520 0.936998 -vt 0.274786 0.954390 -vt 0.603543 0.985435 -vt 0.459280 0.637016 -vt 0.956155 0.159460 -vt 0.613208 0.722969 -vt 0.380372 0.803167 -vt 0.215068 0.717486 -vt 0.211214 0.461562 -vt 0.215017 0.589505 -vt 0.380372 0.966937 -vt 0.603543 0.897735 -vt 0.206401 0.928376 -vt 0.456866 0.880794 -vt 0.922984 0.159478 -vt 0.592732 0.651136 -vt 0.477750 0.046552 -vt 0.916543 0.205348 -vt 0.419073 0.933154 -vt 0.613965 0.722395 -vt 0.608014 0.046012 -vt 0.608679 0.341652 -vt 0.084476 0.758030 -vt 0.306849 0.766971 -vt 0.956042 0.409120 -vt 0.918599 0.953561 -vt 0.653877 0.774544 -vt 0.430167 0.476255 -vt 0.340120 0.903440 -vt 0.334247 0.929824 -vt 0.564074 0.771876 -vt 0.924465 0.000014 -vt 0.956130 0.000000 -vt 0.916566 0.046830 -vt 0.423132 0.859264 -vt 0.513905 0.830416 -vt 0.429301 0.876495 -vt 0.423132 0.841456 -vt 0.175808 0.883270 -vt 0.478997 0.683388 -vt 0.334905 0.825758 -vt 0.214762 0.760239 -vt 1.000000 0.103036 -vt 0.682567 0.870586 -vt 0.683099 0.870586 -vt 1.000000 0.129811 -vt 0.423131 0.823545 -vt 0.574482 0.997097 -vt 0.214762 0.787199 -vt 0.641750 0.997160 -vt 0.423132 0.882773 -vt 0.428935 0.606164 -vt 0.081256 0.835012 -vt 0.609285 0.683399 -vt 0.328497 0.086517 -vt 0.418071 0.436698 -vt 0.315602 0.128778 -vt 0.331002 0.439865 -vt 0.267675 0.431229 -vt 0.226007 0.422400 -vt 0.227511 0.403049 -vt 0.275087 0.253237 -vt 0.297202 0.189990 -vt 0.430166 0.000000 -vt 0.113760 0.371970 -vt 0.101083 0.330457 -vt 0.082991 0.270326 -vt 0.061247 0.208198 -vt 0.014471 0.061035 -vt 0.053960 0.033329 -vt 0.012993 0.042023 -vt 0.116223 0.024813 -vt 0.201830 0.027882 -vt 0.124941 0.427166 -vt 0.809349 0.892817 -vt 0.118641 0.954111 -vt 0.843398 0.892817 -vt 0.711827 0.838842 -vt 0.941045 0.278646 -vt 0.944694 0.326523 -vt 0.915915 0.326561 -vt 0.915744 0.323677 -vt 0.929015 0.239320 -vt 0.916320 0.235872 -vt 0.916020 0.223581 -vt 0.936973 0.223809 -vt 0.944740 0.224153 -vt 0.941019 0.269626 -vt 0.890217 0.278470 -vt 0.886431 0.278262 -vt 0.885514 0.216341 -vt 0.887276 0.325931 -vt 0.915895 0.326788 -vt 0.915726 0.329672 -vt 0.890215 0.374896 -vt 0.886430 0.375105 -vt 0.887275 0.327432 -vt 0.941010 0.374693 -vt 0.944655 0.326811 -vt 0.916001 0.429776 -vt 0.916301 0.417484 -vt 0.928988 0.414029 -vt 0.936939 0.429537 -vt 0.940936 0.400630 -vt 0.944702 0.429189 -vt 0.890743 0.401639 -vt 0.177412 0.997717 -vt 0.288711 0.975408 -vt 0.288711 0.996052 -vt 0.274913 0.975408 -vt 0.984953 0.367478 -vt 0.079009 0.797630 -vt 0.987357 0.573888 -vt 0.984096 0.413033 -vt 0.293346 0.813711 -vt 0.324102 0.714280 -vt 0.980680 0.573888 -vt 0.513905 0.796070 -vt 0.978793 0.547624 -vt 0.270333 0.836739 -vt 0.026114 0.958754 -vt 0.029297 0.973844 -vt 0.026114 0.964797 -vt 0.325697 0.743098 -vt 0.070333 0.997085 -vt 0.083341 0.821764 -vt 0.206401 0.902711 -vt 0.215003 0.904696 -vt 0.338182 0.951546 -vt 0.573537 0.770988 -vt 0.215154 0.793962 -vt 0.594203 0.867619 -vt 0.215470 0.768719 -vt 0.990697 0.693932 -vt 0.988605 0.619180 -vt 0.108806 0.954119 -vt 0.573452 0.885040 -vt 0.429464 0.764999 -vt 0.977404 0.210316 -vt 0.573857 0.841637 -vt 0.998778 0.777396 -vt 0.339238 0.825699 -vt 0.083329 0.997237 -vt 0.975463 0.439677 -vt 0.334905 0.788145 -vt 0.215154 0.976682 -vt 0.232180 0.962005 -vt 0.751117 0.978285 -vt 0.429517 0.592391 -vt 0.637738 0.801221 -vt 0.994210 0.980015 -vt 0.380372 0.826510 -vt 0.956155 0.436191 -vt 0.987671 0.161577 -vt 0.353937 0.658795 -vt 0.795216 0.763237 -vt 0.792239 0.923568 -vt 0.070333 0.998303 -vt 0.177412 0.758007 -vt 0.139172 0.738064 -vt 0.690572 0.942853 -vt 0.684687 0.759883 -vt 0.215154 0.880705 -vt 0.170693 0.524362 -vt 0.365901 0.951350 -vt 0.175604 0.966579 -vt 0.116890 0.490144 -vt 0.600517 0.967422 -vt 0.086470 0.741176 -vt 0.144423 0.978351 -vt 0.513905 0.845374 -vt 0.710468 0.730573 -vt 0.332671 0.967800 -vt 0.367964 0.903337 -vt 0.632540 0.973615 -vt 0.462741 0.966792 -vt 0.340120 0.762352 -vt 0.776744 0.799119 -vt 0.809290 0.952560 -vt 0.148737 0.479713 -vt 0.340120 0.762368 -vt 0.428431 0.927363 -vt 0.116353 0.658502 -vt 0.348060 0.839803 -vt 0.456872 0.973875 -vt 0.116890 0.758018 -vt 0.693280 0.731956 -vt 0.322643 0.762047 -vt 0.214994 0.852067 -vt 0.583332 0.967422 -vt 0.775939 0.964301 -vt 0.797294 0.679213 -vt 0.808675 0.503102 -vt 0.809243 0.746624 -vt 0.809243 0.497339 -vt 0.809243 0.763078 -vt 0.792500 0.719807 -vt 0.795332 0.718870 -vt 0.977701 0.716238 -vt 0.965912 0.540153 -vt 0.961047 0.499568 -vt 0.973478 0.456106 -vt 0.143838 0.978351 -vt 0.689156 0.997457 -vt 0.676749 0.997521 -vt 0.752022 0.695125 -vt 0.966377 0.980015 -vt 0.955653 0.980051 -vt 0.340120 0.840537 -vt 0.792500 0.681764 -vt 0.205226 0.993180 -vt 0.987968 0.240008 -vt 0.792500 0.498018 -vt 0.751117 0.937577 -vt 0.975075 0.440110 -vt 0.901511 0.453347 -vt 0.930209 0.437031 -vt 0.751117 0.513335 -vt 0.792035 0.965100 -vt 0.676578 0.993443 -vt 0.337791 0.832805 -vt 0.206401 0.915149 -vt 0.609285 0.772595 -vt 0.646558 0.880433 -vt 0.513905 0.829630 -vt 0.749221 0.845709 -vt 0.649034 0.870041 -vt 0.795200 0.763275 -vt 0.795200 0.769578 -vt 0.426745 0.859264 -vt 0.339493 0.840480 -vt 0.079060 0.821767 -vt 0.422427 0.982851 -vt 0.415023 0.988909 -vt 0.401681 0.977894 -vt 0.405790 0.969115 -vt 0.384592 0.986087 -vt 0.380372 0.977426 -vt 0.394076 0.966977 -vt 0.401681 0.973057 -vt 0.430167 0.977942 -vt 0.989909 0.513333 -vt 0.989909 0.456105 -vt 0.984359 0.072156 -vt 0.428824 0.461623 -vt 0.429655 0.461627 -vt 0.429517 0.606164 -vt 0.429661 0.570249 -vt 0.428855 0.552038 -vt 0.430091 0.610014 -vt 0.430167 0.594690 -vt 0.428824 0.551821 -vt 0.429655 0.524695 -vt 0.253523 0.971368 -vt 0.245543 0.966763 -vt 0.240935 0.955347 -vt 0.245541 0.941603 -vt 0.240935 0.949578 -vt 0.262733 0.936998 -vt 0.270713 0.941603 -vt 0.273903 0.947124 -vt 0.270715 0.966763 -vt 0.262736 0.971368 -vt 0.084592 0.801748 -vt 0.098817 0.813371 -vt 0.084615 0.817463 -vt 0.965368 0.072295 -vt 0.974975 0.000221 -vt 0.974262 0.072377 -vt 0.000000 0.958754 -vt 0.024796 0.461561 -vt 0.028136 0.958690 -vt 0.745466 0.497017 -vt 0.765274 0.000000 -vt 0.768269 0.496971 -vt 0.634898 0.497077 -vt 0.626957 0.000374 -vt 0.643011 0.000070 -vt 0.913667 0.456106 -vt 0.932258 0.953561 -vt 0.910308 0.953485 -vt 0.691206 0.497077 -vt 0.702953 0.000374 -vt 0.711824 0.497467 -vt 0.711824 0.497339 -vt 0.746398 0.000051 -vt 0.744046 0.497037 -vt 0.885529 0.456203 -vt 0.888382 0.953561 -vt 0.809290 0.497339 -vt 0.780610 0.000062 -vt 0.797237 0.000287 -vt 0.088507 0.788517 -vt 0.098799 0.801224 -vt 0.084590 0.800093 -vt 0.046748 0.461612 -vt 0.056308 0.958754 -vt 0.652531 0.496988 -vt 0.656751 0.000000 -vt 0.684687 0.569730 -vt 0.677785 0.497490 -vt 0.684375 0.497579 -vt 0.952142 0.528317 -vt 0.960182 0.456105 -vt 0.961047 0.528255 -vt 0.189499 0.533702 -vt 0.184131 0.461589 -vt 0.189576 0.461561 -vt 0.943249 0.528419 -vt 0.951482 0.456165 -vt 0.664516 0.569630 -vt 0.671712 0.497467 -vt 0.671724 0.569615 -vt 0.177412 0.533854 -vt 0.183925 0.533731 -vt 0.957588 0.000000 -vt 0.966286 0.000140 -vt 0.201724 0.533731 -vt 0.207886 0.461709 -vt 0.208241 0.533854 -vt 0.654276 0.497579 -vt 0.664670 0.497481 -vt 0.199545 0.728414 -vt 0.205875 0.539375 -vt 0.204467 0.728507 -vt 0.956155 0.266745 -vt 0.965292 0.077756 -vt 0.962879 0.266853 -vt 0.181185 0.728507 -vt 0.185292 0.539271 -vt 0.186103 0.728414 -vt 0.671107 0.764301 -vt 0.665295 0.575161 -vt 0.671396 0.575149 -vt 0.947219 0.723063 -vt 0.952199 0.533837 -vt 0.953936 0.722986 -vt 0.190010 0.539247 -vt 0.190313 0.728393 -vt 0.960661 0.722939 -vt 0.959737 0.533785 -vt 0.675801 0.764319 -vt 0.682367 0.575246 -vt 0.680895 0.764388 -vt 0.969596 0.266915 -vt 0.972821 0.077826 -vt 0.657628 0.764388 -vt 0.665663 0.764313 -vt 0.680488 0.781597 -vt 0.675922 0.780365 -vt 0.681119 0.780436 -vt 0.929730 0.437061 -vt 0.923236 0.438182 -vt 0.923240 0.437032 -vt 0.665501 0.765850 -vt 0.946951 0.724606 -vt 0.942312 0.723150 -vt 0.923202 0.452684 -vt 0.916483 0.454234 -vt 0.916204 0.452684 -vt 0.969859 0.268470 -vt 0.974506 0.266914 -vt 0.974975 0.268469 -vt 0.671173 0.765839 -vt 0.953948 0.724525 -vt 0.190207 0.729927 -vt 0.171617 0.830018 -vt 0.158550 0.824066 -vt 0.159660 0.822151 -vt 0.173205 0.827279 -vt 0.160771 0.820236 -vt 0.161777 0.818501 -vt 0.174643 0.824799 -vt 0.170029 0.832756 -vt 0.157439 0.825981 -vt 0.176934 0.802917 -vt 0.155869 0.780630 -vt 0.166196 0.770646 -vt 0.960956 0.724478 -vt 0.162041 0.818046 -vt 0.175020 0.824148 -vt 0.199682 0.744456 -vt 0.204955 0.730046 -vt 0.204704 0.744552 -vt 0.916382 0.438182 -vt 0.180948 0.744552 -vt 0.185821 0.729949 -vt 0.185966 0.744456 -vt 0.671131 0.780347 -vt 0.954082 0.739033 -vt 0.190261 0.744434 -vt 0.960944 0.738985 -vt 0.681372 0.765929 -vt 0.930098 0.438213 -vt 0.088889 0.787728 -vt 0.101539 0.793128 -vt 0.440501 0.869443 -vt 0.461071 0.848500 -vt 0.463422 0.852570 -vt 0.430888 0.836621 -vt 0.460420 0.843145 -vt 0.430167 0.838000 -vt 0.510020 0.822878 -vt 0.481974 0.834025 -vt 0.502545 0.807421 -vt 0.463420 0.834025 -vt 0.460548 0.842756 -vt 0.476092 0.830631 -vt 0.482875 0.796070 -vt 0.482882 0.880794 -vt 0.469303 0.855964 -vt 0.476094 0.855964 -vt 0.502551 0.869443 -vt 0.485370 0.846691 -vt 0.513905 0.849783 -vt 0.432325 0.855916 -vt 0.657378 0.780436 -vt 0.665577 0.780358 -vt 0.469301 0.830631 -vt 0.460164 0.796070 -vt 0.204188 0.788235 -vt 0.199310 0.745625 -vt 0.204060 0.745715 -vt 0.379021 0.951373 -vt 0.372456 0.993877 -vt 0.372457 0.951350 -vt 0.181464 0.788235 -vt 0.186339 0.745625 -vt 0.186264 0.788144 -vt 0.665725 0.824047 -vt 0.671042 0.781513 -vt 0.671038 0.824037 -vt 0.954484 0.782720 -vt 0.947613 0.740270 -vt 0.954094 0.740195 -vt 0.190373 0.788123 -vt 0.190401 0.745605 -vt 0.961047 0.782675 -vt 0.960584 0.740150 -vt 0.675620 0.824054 -vt 0.680592 0.824121 -vt 0.365901 0.951373 -vt 0.365974 0.993900 -vt 0.319908 0.735256 -vt 0.299345 0.741953 -vt 0.306853 0.729006 -vt 0.321687 0.710648 -vt 0.299258 0.682954 -vt 0.309299 0.673418 -vt 0.215154 0.709299 -vt 0.229038 0.723251 -vt 0.215180 0.727429 -vt 0.219281 0.693932 -vt 0.239850 0.682954 -vt 0.232387 0.698336 -vt 0.284037 0.658945 -vt 0.280410 0.672157 -vt 0.284197 0.766969 -vt 0.309416 0.752496 -vt 0.255052 0.766969 -vt 0.239938 0.741953 -vt 0.258785 0.752751 -vt 0.308912 0.711968 -vt 0.308500 0.710731 -vt 0.254892 0.658945 -vt 0.229673 0.673418 -vt 0.280530 0.752751 -vt 0.229790 0.752496 -vt 0.547492 0.916299 -vt 0.518777 0.937209 -vt 0.518777 0.912821 -vt 0.168441 0.835495 -vt 0.155941 0.828566 -vt 0.144299 0.758101 -vt 0.140556 0.771858 -vt 0.107602 0.780630 -vt 0.101806 0.792577 -vt 0.144439 0.851735 -vt 0.166298 0.839191 -vt 0.097279 0.839191 -vt 0.122987 0.837338 -vt 0.119176 0.851735 -vt 0.163713 0.804204 -vt 0.163379 0.803198 -vt 0.119037 0.758101 -vt 0.097177 0.770646 -vt 0.668553 0.496988 -vt 0.140654 0.837338 -vt 0.177418 0.948673 -vt 0.206065 0.948012 -vt 0.206051 0.960291 -vt 0.961082 0.733791 -vt 0.985598 0.738053 -vt 0.961071 0.735942 -vt 0.574549 0.906380 -vt 0.603269 0.925350 -vt 0.574584 0.923393 -vt 0.516700 0.941636 -vt 0.487695 0.929601 -vt 0.516554 0.926291 -vt 0.516554 0.905298 -vt 0.487864 0.880794 -vt 0.516700 0.884281 -vt 0.547396 0.900959 -vt 0.518666 0.894998 -vt 0.603280 0.926594 -vt 0.574594 0.924464 -vt 0.487695 0.905211 -vt 0.574604 0.891707 -vt 0.603543 0.870041 -vt 0.603293 0.888538 -vt 0.107674 0.828566 -vt 0.547396 0.958310 -vt 0.547492 0.937291 -vt 0.807743 0.965754 -vt 0.807748 0.966879 -vt 0.795222 0.966879 -vt 0.985591 0.738418 -vt 0.961060 0.738093 -vt 0.985585 0.739714 -vt 0.961050 0.740042 -vt 0.961092 0.731640 -vt 0.985606 0.735557 -vt 0.961096 0.755346 -vt 0.985780 0.763202 -vt 0.961343 0.775358 -vt 0.985583 0.740054 -vt 0.961047 0.740553 -vt 0.487710 0.974181 -vt 0.512208 0.976671 -vt 0.512208 0.977076 -vt 0.487734 0.982782 -vt 0.512224 0.982796 -vt 0.985623 0.732196 -vt 0.985613 0.734126 -vt 0.487743 0.983895 -vt 0.512230 0.983537 -vt 0.108806 0.988245 -vt 0.084590 0.971341 -vt 0.108747 0.971188 -vt 0.981173 0.795731 -vt 0.993690 0.798666 -vt 0.981162 0.798660 -vt 0.984992 0.450586 -vt 0.997481 0.433531 -vt 0.997520 0.450586 -vt 0.981156 0.821475 -vt 0.993657 0.807659 -vt 0.993684 0.821481 -vt 0.795512 0.990057 -vt 0.807803 0.977568 -vt 0.808039 0.990057 -vt 0.997540 0.382320 -vt 0.984953 0.399396 -vt 0.985012 0.382320 -vt 0.795276 0.943435 -vt 0.808039 0.930937 -vt 0.807803 0.943435 -vt 0.993692 0.822351 -vt 0.981164 0.822345 -vt 0.997540 0.416453 -vt 0.997481 0.399396 -vt 0.981348 0.782796 -vt 0.993701 0.795737 -vt 0.177479 0.931772 -vt 0.206136 0.928376 -vt 0.206068 0.947145 -vt 0.984992 0.416453 -vt 0.984953 0.433530 -vt 0.395786 0.778739 -vt 0.397696 0.803025 -vt 0.397243 0.803028 -vt 0.487709 0.973571 -vt 0.512198 0.967887 -vt 0.543583 0.970024 -vt 0.535084 0.988163 -vt 0.518800 0.974328 -vt 0.079009 0.950227 -vt 0.068176 0.974446 -vt 0.067652 0.950188 -vt 0.725393 0.814500 -vt 0.733756 0.838744 -vt 0.728191 0.838758 -vt 0.388678 0.778775 -vt 0.387912 0.803145 -vt 0.380372 0.778932 -vt 0.890517 0.000016 -vt 0.896857 0.024066 -vt 0.885514 0.024092 -vt 0.411378 0.778775 -vt 0.411713 0.803144 -vt 0.406682 0.803049 -vt 0.724814 0.814506 -vt 0.727840 0.838761 -vt 0.897383 0.000000 -vt 0.908214 0.024092 -vt 0.751117 0.814615 -vt 0.738555 0.838760 -vt 0.742514 0.814502 -vt 0.402649 0.778743 -vt 0.401397 0.803030 -vt 0.061310 0.974470 -vt 0.056308 0.950227 -vt 0.402246 0.778742 -vt 0.396535 0.778735 -vt 0.961343 0.716238 -vt 0.961107 0.728736 -vt 0.194339 0.788126 -vt 0.485370 0.842440 -vt 0.513904 0.835563 -vt 0.194441 0.729930 -vt 0.194408 0.744437 -vt 0.194565 0.539250 -vt 0.194376 0.728395 -vt 0.194879 0.533706 -vt 0.807755 0.956561 -vt 0.807753 0.957167 -vt 0.795228 0.956561 -vt 0.734929 0.814478 -vt 0.734586 0.814477 -vt 0.177412 0.804354 -vt 0.999441 0.180715 -vt 0.975027 0.191967 -vt 0.975027 0.180610 -vt 0.177479 0.973783 -vt 0.206059 0.961900 -vt 0.206136 0.977184 -vt 0.795276 0.977568 -vt 0.392940 0.803050 -vt 0.201519 0.461589 -vt 0.200358 0.539271 -vt 0.962861 0.268406 -vt 0.440496 0.807421 -vt 0.199827 0.729949 -vt 0.484209 0.838647 -vt 0.199384 0.788144 -vt 0.322643 0.712414 -vt 0.401153 0.803030 -vt 0.985608 0.749300 -vt 0.985615 0.749893 -vt 0.740566 0.814496 -vt 0.737376 0.838756 -vt 0.487695 0.960365 -vt 0.512283 0.959284 -vt 0.981131 0.807137 -vt 0.981129 0.807652 -vt 0.719977 0.838839 -vt 0.711824 0.814634 -vt 0.993876 0.841883 -vt 0.981348 0.841877 -vt 0.974975 0.169267 -vt 0.999363 0.163660 -vt 0.574820 0.948504 -vt 0.603543 0.954524 -vt 0.122889 0.771858 -vt 0.229018 0.709725 -vt 0.747506 0.000036 -vt 0.711824 0.707050 -vt 0.742514 0.706918 -vt 0.741840 0.706815 -vt 0.395786 0.586587 -vt 0.402649 0.671167 -vt 0.395786 0.671163 -vt 0.388678 0.671199 -vt 0.056308 0.842641 -vt 0.067652 0.842602 -vt 0.411378 0.671199 -vt 0.420351 0.461623 -vt 0.428663 0.569356 -vt 0.420351 0.569199 -vt 0.908214 0.131683 -vt 0.896857 0.131658 -vt 0.725393 0.706915 -vt 0.724814 0.706921 -vt 0.944740 0.216341 -vt 0.953343 0.324039 -vt 0.944740 0.323926 -vt 0.885514 0.131684 -vt 0.916543 0.024163 -vt 0.916543 0.131754 -vt 0.079009 0.842640 -vt 0.079009 0.758057 -vt 0.067652 0.758018 -vt 0.916543 0.216341 -vt 0.908214 0.216271 -vt 0.896857 0.216245 -vt 0.885514 0.216271 -vt 0.953343 0.408621 -vt 0.944740 0.408508 -vt 0.725393 0.622333 -vt 0.724814 0.622339 -vt 0.428663 0.653932 -vt 0.420351 0.653775 -vt 0.411378 0.586623 -vt 0.402649 0.586592 -vt 0.056308 0.758058 -vt 0.388678 0.586624 -vt 0.396535 0.461623 -vt 0.419690 0.569289 -vt 0.419690 0.653864 -vt 0.711824 0.622467 -vt 0.724814 0.497368 -vt 0.711824 0.497497 -vt 0.742514 0.497365 -vt 0.741840 0.622233 -vt 0.740566 0.497359 -vt 0.395786 0.461627 -vt 0.388678 0.461663 -vt 0.736590 0.708830 -vt 0.964537 0.782821 -vt 0.953180 0.907774 -vt 0.953180 0.782796 -vt 0.411378 0.461663 -vt 0.402649 0.461632 -vt 0.751117 0.622447 -vt 0.742514 0.622335 -vt 0.665234 0.824160 -vt 0.676578 0.949093 -vt 0.665234 0.949133 -vt 0.419690 0.461820 -vt 0.653877 0.949094 -vt 0.653877 0.824121 -vt 0.380372 0.586781 -vt 0.380372 0.461820 -vt 0.941837 0.782822 -vt 0.941837 0.907800 -vt 0.739123 0.620539 -vt 0.739123 0.497354 -vt 0.739123 0.708834 -vt 0.739123 0.814492 -vt 0.665390 0.824050 -vt 0.658035 0.781597 -vt 0.665789 0.781524 -vt 0.736502 0.838753 -vt 0.999441 0.197793 -vt 0.974975 0.200296 -vt 0.993682 0.800837 -vt 0.981154 0.800830 -vt 0.993666 0.805177 -vt 0.993658 0.807143 -vt 0.961085 0.754455 -vt 0.736236 0.814482 -vt 0.733963 0.838745 -vt 0.734929 0.706893 -vt 0.734929 0.622311 -vt 0.258666 0.672157 -vt 0.675572 0.781530 -vt 0.460171 0.880794 -vt 0.676065 0.765857 -vt 0.481975 0.852570 -vt 0.676658 0.575169 -vt 0.677941 0.569638 -vt 0.787951 0.497050 -vt 0.098801 0.802381 -vt 0.603254 0.898933 -vt 0.603242 0.902036 -vt 0.981146 0.803001 -vt 0.981138 0.805171 -vt 0.993674 0.803007 -vt 0.108806 0.954112 -vt 0.084629 0.959984 -vt 0.487822 0.994475 -vt 0.512283 0.990573 -vt 0.736615 0.497350 -vt 0.736615 0.620535 -vt 0.736590 0.814487 -vt 0.734755 0.838747 -vt 0.735628 0.838750 -vt 0.725393 0.497363 -vt 0.734586 0.497339 -vt 0.669236 0.000000 -vt 0.670015 0.000010 -vt 0.141571 0.871391 -vt 0.137813 0.881955 -vt 0.137813 0.871395 -vt 0.722805 0.961116 -vt 0.734733 0.949684 -vt 0.734899 0.961120 -vt 0.711860 0.948422 -vt 0.711824 0.961220 -vt 0.141486 0.865875 -vt 0.129799 0.853886 -vt 0.141525 0.853886 -vt 0.152648 0.851735 -vt 0.141571 0.890961 -vt 0.129704 0.881950 -vt 0.141571 0.881950 -vt 0.152618 0.881900 -vt 0.129704 0.871391 -vt 0.129786 0.865876 -vt 0.152619 0.871341 -vt 0.152619 0.864985 -vt 0.133463 0.881955 -vt 0.118641 0.881901 -vt 0.118642 0.871341 -vt 0.118642 0.864985 -vt 0.745835 0.973836 -vt 0.734740 0.972499 -vt 0.252083 0.923378 -vt 0.240963 0.936998 -vt 0.240936 0.924291 -vt 0.352550 0.483219 -vt 0.326671 0.480534 -vt 0.353522 0.471079 -vt 0.380201 0.473509 -vt 0.380372 0.461623 -vt 0.269767 0.637645 -vt 0.244046 0.640003 -vt 0.242272 0.628021 -vt 0.217432 0.630370 -vt 0.215153 0.618131 -vt 0.252299 0.539476 -vt 0.271153 0.555217 -vt 0.244867 0.546525 -vt 0.230059 0.531546 -vt 0.218925 0.537587 -vt 0.335063 0.581322 -vt 0.353925 0.565598 -vt 0.357650 0.573647 -vt 0.380372 0.565879 -vt 0.380355 0.556827 -vt 0.250681 0.556462 -vt 0.227657 0.548582 -vt 0.333447 0.564346 -vt 0.356825 0.556726 -vt 0.380341 0.549012 -vt 0.248483 0.617416 -vt 0.224450 0.608577 -vt 0.331258 0.503428 -vt 0.355668 0.494867 -vt 0.380224 0.486206 -vt 0.307032 0.511863 -vt 0.325048 0.492826 -vt 0.297584 0.634355 -vt 0.272885 0.625991 -vt 0.240935 0.897539 -vt 0.251989 0.897599 -vt 0.327631 0.574275 -vt 0.310241 0.571848 -vt 0.297715 0.563714 -vt 0.274052 0.564095 -vt 0.252101 0.863621 -vt 0.240936 0.862436 -vt 0.312646 0.588881 -vt 0.297731 0.554659 -vt 0.274879 0.547165 -vt 0.317455 0.931584 -vt 0.328734 0.942521 -vt 0.317597 0.943258 -vt 0.317759 0.955095 -vt 0.328769 0.955539 -vt 0.297561 0.647055 -vt 0.270889 0.649474 -vt 0.299934 0.489912 -vt 0.867618 0.830107 -vt 0.822419 0.892817 -vt 0.822404 0.830141 -vt 0.822407 0.456140 -vt 0.867633 0.477739 -vt 0.822419 0.477774 -vt 0.867626 0.644515 -vt 0.822418 0.561401 -vt 0.867632 0.561366 -vt 0.867618 0.783050 -vt 0.822404 0.783085 -vt 0.867618 0.714886 -vt 0.822412 0.644550 -vt 0.822404 0.714920 -vt 0.809291 0.765578 -vt 0.809290 0.704690 -vt 0.867628 0.228277 -vt 0.885514 0.433713 -vt 0.867628 0.456104 -vt 0.809298 0.641830 -vt 0.809290 0.807612 -vt 0.885514 0.033397 -vt 0.885514 0.233753 -vt 0.809304 0.492855 -vt 0.809304 0.863598 -vt 0.822414 0.228279 -vt 0.809290 0.436568 -vt 0.809290 0.233058 -vt 0.809293 0.473531 -vt 0.809302 0.567556 -vt 0.885518 0.476008 -vt 0.885529 0.494996 -vt 0.809290 0.029147 -vt 0.822414 0.000002 -vt 0.885516 0.703136 -vt 0.822414 0.456106 -vt 0.885515 0.804264 -vt 0.885527 0.568395 -vt 0.867628 0.000000 -vt 0.885529 0.859274 -vt 0.867633 0.892782 -vt 0.885523 0.641374 -vt 0.885516 0.762963 -vt 0.998360 0.210316 -vt 0.994045 0.226053 -vt 0.994045 0.210368 -vt 0.176233 0.851937 -vt 0.170142 0.866881 -vt 0.170142 0.851735 -vt 0.992872 0.129838 -vt 0.987671 0.129893 -vt 0.998628 0.145531 -vt 0.998628 0.129844 -vt 0.333913 0.951578 -vt 0.339704 0.967233 -vt 0.333913 0.966855 -vt 0.328769 0.952379 -vt 0.328769 0.967656 -vt 0.987968 0.226023 -vt 0.987968 0.210337 -vt 0.676645 0.858216 -vt 0.684000 0.851366 -vt 0.684068 0.858255 -vt 0.170142 0.876968 -vt 0.177312 0.867083 -vt 0.177312 0.876813 -vt 0.684000 0.833320 -vt 0.676629 0.841615 -vt 0.676578 0.833310 -vt 0.992275 0.367142 -vt 0.988253 0.377163 -vt 0.984952 0.368397 -vt 0.995575 0.375908 -vt 0.997769 0.382320 -vt 0.986461 0.354605 -vt 0.991761 0.848265 -vt 0.993959 0.841883 -vt 0.995852 0.843418 -vt 0.999538 0.103036 -vt 0.991430 0.102738 -vt 0.995779 0.102738 -vt 0.993888 0.748339 -vt 0.997645 0.748635 -vt 0.989169 0.344362 -vt 0.993838 0.355507 -vt 0.988454 0.857016 -vt 0.984436 0.847006 -vt 0.989539 0.748339 -vt 0.992877 0.737746 -vt 0.684052 0.824130 -vt 0.676629 0.824121 -vt 0.992482 0.092091 -vt 0.995543 0.092091 -vt 0.995478 0.080354 -vt 0.992486 0.072152 -vt 0.995546 0.072208 -vt 0.989790 0.724001 -vt 0.992850 0.723942 -vt 0.206400 0.884843 -vt 0.214591 0.875824 -vt 0.213631 0.885039 -vt 0.982666 0.869589 -vt 0.990046 0.868698 -vt 0.985368 0.879791 -vt 0.995852 0.878525 -vt 0.992832 0.716238 -vt 0.214591 0.893295 -vt 0.676578 0.851326 -vt 0.684068 0.841663 -vt 0.325697 0.743303 -vt 0.322648 0.753251 -vt 0.322643 0.743098 -vt 0.326089 0.765408 -vt 0.327922 0.762764 -vt 0.327922 0.765819 -vt 0.325698 0.766766 -vt 0.322648 0.762218 -vt 0.325698 0.762047 -vt 0.385194 0.461623 -vt 0.430166 0.456164 -vt 0.261800 0.450042 -vt 0.332693 0.459710 -vt 0.046677 0.011642 -vt 0.563909 0.849501 -vt 0.518666 0.797791 -vt 0.563872 0.797623 -vt 0.563954 0.728457 -vt 0.518867 0.683556 -vt 0.518748 0.728625 -vt 0.564074 0.894829 -vt 0.518703 0.849669 -vt 0.127798 0.987295 -vt 0.128922 0.992230 -vt 0.124631 0.991251 -vt 0.206136 0.942946 -vt 0.215039 0.938320 -vt 0.213269 0.943044 -vt 0.215039 0.933120 -vt 0.206144 0.932998 -vt 0.965577 0.984105 -vt 0.964773 0.989127 -vt 0.961359 0.985362 -vt 0.122082 0.994405 -vt 0.206144 0.938198 -vt 0.958621 0.982311 -vt 0.966221 0.980047 -vt 0.906269 0.437031 -vt 0.911310 0.446662 -vt 0.906112 0.446623 -vt 0.959712 0.989442 -vt 0.955653 0.989665 -vt 0.122721 0.987286 -vt 0.901511 0.446133 -vt 0.901637 0.438441 -vt 0.916203 0.438549 -vt 0.911468 0.437070 -vt 0.118641 0.987260 -vt 0.124631 0.983321 -vt 0.906269 0.454484 -vt 0.901637 0.452437 -vt 0.916077 0.446241 -vt 0.911468 0.454523 -vt 0.961876 0.993274 -vt 0.122082 0.980115 -vt 0.959552 0.996570 -vt 0.128922 0.982341 -vt 0.205226 0.990902 -vt 0.214111 0.995307 -vt 0.206181 0.995318 -vt 0.205226 0.985736 -vt 0.214111 0.980831 -vt 0.215114 0.985722 -vt 0.966221 0.993972 -vt 0.215114 0.990889 -vt 0.206181 0.980842 -vt 0.212305 0.977184 -vt 0.981129 0.782796 -vt 0.974240 0.897625 -vt 0.974240 0.782900 -vt 0.419690 0.653932 -vt 0.429418 0.765000 -vt 0.419690 0.764790 -vt 0.161838 0.966526 -vt 0.170142 0.966465 -vt 0.152648 0.851757 -vt 0.152648 0.966486 -vt 0.284151 0.975407 -vt 0.274913 0.862906 -vt 0.284151 0.863617 -vt 0.292378 0.974224 -vt 0.292378 0.862434 -vt 0.964537 0.897609 -vt 0.964537 0.782884 -vt 0.117617 0.001940 -vt 0.170151 0.000000 -vt 0.000000 0.021548 -vt 0.981779 0.879791 -vt 0.995498 0.893344 -vt 0.981129 0.893313 -vt 0.561951 0.983489 -vt 0.547692 0.996996 -vt 0.547492 0.983496 -vt 0.547692 0.970151 -vt 0.240935 0.984737 -vt 0.255555 0.971368 -vt 0.255398 0.984733 -vt 0.255555 0.998214 -vt 0.255555 0.984684 -vt 0.270025 0.971368 -vt 0.270023 0.984684 -vt 0.270025 0.998210 -vt 0.981779 0.906633 -vt 0.315963 0.981502 -vt 0.311567 0.975442 -vt 0.313947 0.971992 -vt 0.309980 0.989128 -vt 0.312829 0.981398 -vt 0.303146 0.986174 -vt 0.300503 0.989128 -vt 0.299491 0.981398 -vt 0.294668 0.981502 -vt 0.300870 0.975442 -vt 0.296869 0.971992 -vt 0.305449 0.967760 -vt 0.306244 0.972791 -vt 0.481178 0.880826 -vt 0.485389 0.953123 -vt 0.479841 0.953017 -vt 0.966370 0.907841 -vt 0.975434 0.979980 -vt 0.967863 0.980015 -vt 0.975264 0.907800 -vt 0.983014 0.979980 -vt 0.984170 0.907800 -vt 0.988573 0.980015 -vt 0.941837 0.907866 -vt 0.948002 0.980013 -vt 0.943476 0.980046 -vt 0.947354 0.907825 -vt 0.952773 0.979997 -vt 0.959625 0.907800 -vt 0.952738 0.907807 -vt 0.966370 0.907866 -vt 0.958679 0.979991 -vt 0.983870 0.072121 -vt 0.991457 0.000026 -vt 0.992774 0.072151 -vt 0.974975 0.072151 -vt 0.983877 0.000000 -vt 0.456866 0.880945 -vt 0.468639 0.953007 -vt 0.459084 0.953123 -vt 0.475016 0.880794 -vt 0.467766 0.880812 -vt 0.474808 0.952991 -vt 0.957756 0.077634 -vt 0.179780 0.539375 -vt 0.944672 0.533923 -vt 0.656289 0.575246 -vt 0.947229 0.739111 -vt 0.181592 0.745715 -vt 0.916759 0.437032 -vt 0.194322 0.745607 -vt 0.141488 0.916338 -vt 0.129703 0.890961 -vt 0.152618 0.890921 -vt 0.141520 0.930688 -vt 0.129782 0.916338 -vt 0.328679 0.967761 -vt 0.317516 0.966177 -vt 0.297681 0.502185 -vt 0.278294 0.488857 -vt 0.341908 0.645403 -vt 0.152648 0.932747 -vt 0.152618 0.917128 -vt 0.305669 0.955095 -vt 0.305802 0.966177 -vt 0.294708 0.967761 -vt 0.305801 0.943258 -vt 0.294763 0.942521 -vt 0.294797 0.955539 -vt 0.118671 0.932747 -vt 0.118641 0.917128 -vt 0.297700 0.571531 -vt 0.305802 0.931584 -vt 0.263870 0.897599 -vt 0.263756 0.863621 -vt 0.274912 0.897538 -vt 0.274913 0.862434 -vt 0.263775 0.923378 -vt 0.723002 0.972496 -vt 0.734834 0.984075 -vt 0.723142 0.984071 -vt 0.711860 0.973826 -vt 0.711991 0.986279 -vt 0.984170 0.344362 -vt 0.977558 0.279463 -vt 0.984769 0.279463 -vt 0.990767 0.344362 -vt 0.991980 0.279463 -vt 0.555468 0.970144 -vt 0.563362 0.917404 -vt 0.562813 0.970144 -vt 0.570158 0.970144 -vt 0.571207 0.917404 -vt 0.548123 0.970144 -vt 0.555518 0.917404 -vt 0.970977 0.344362 -vt 0.977574 0.344362 -vt 0.380316 0.618326 -vt 0.361050 0.631907 -vt 0.259155 0.475351 -vt 0.240328 0.461623 -vt 0.555437 0.904387 -vt 0.552249 0.894998 -vt 0.557081 0.894998 -vt 0.970347 0.279463 -vt 0.977456 0.268470 -vt 0.977701 0.694015 -vt 0.990998 0.701278 -vt 0.977701 0.701298 -vt 0.547674 0.917404 -vt 0.563383 0.904387 -vt 0.571328 0.904387 -vt 0.118641 0.890922 -vt 0.977701 0.715865 -vt 0.990998 0.708623 -vt 0.990998 0.715969 -vt 0.977701 0.708581 -vt 0.984739 0.268470 -vt 0.992022 0.268470 -vt 0.118671 0.851736 -vt 0.745835 0.948432 -vt 0.745800 0.961230 -vt 0.566744 0.894998 -vt 0.561912 0.894998 -vt 0.002872 0.461611 -vt 0.614295 0.497467 -vt 0.941837 0.456203 -vt 0.686887 0.000070 -vt 0.721291 0.000287 -vt 0.942794 0.456264 -vt 0.177768 0.461709 -vt 0.956464 0.072151 -vt 0.653877 0.569730 -vt 0.657130 0.765929 -vt 0.941837 0.724697 -vt 0.923200 0.454234 -vt 0.180697 0.730046 -vt 0.930209 0.452717 -vt 0.378946 0.993900 -vt 0.947929 0.782795 -vt 0.177412 0.960627 -vt 0.603229 0.905585 -vt 0.487864 0.947429 -vt 0.574820 0.875787 -vt 0.518666 0.961628 -vt 0.795216 0.965754 -vt 0.795226 0.957167 -vt 0.084629 0.982685 -vt 0.795512 0.930937 -vt 0.985012 0.416453 -vt 0.993876 0.782802 -vt 0.997520 0.416453 -vt 0.527971 0.988163 -vt 0.520309 0.982008 -vt 0.521810 0.984608 -vt 0.521205 0.983560 -vt 0.520757 0.982784 -vt 0.544800 0.978450 -vt 0.541244 0.984608 -vt 0.544799 0.973997 -vt 0.543691 0.970247 -vt 0.544799 0.973528 -vt 0.519860 0.981232 -vt 0.519454 0.980529 -vt 0.519348 0.980345 -vt 0.518666 0.974735 -vt 0.521809 0.965183 -vt 0.527969 0.961628 -vt 0.535082 0.961628 -vt 0.541242 0.965183 -vt 0.075051 0.974470 -vt 0.419690 0.778932 -vt 0.904258 0.000016 -vt 0.743763 0.838827 -vt 0.985780 0.723884 -vt 0.194833 0.461565 -vt 0.510690 0.823504 -vt 0.487822 0.947429 -vt 0.428663 0.461780 -vt 0.953343 0.216454 -vt 0.402246 0.461630 -vt 0.964537 0.907799 -vt 0.751117 0.497477 -vt 0.676578 0.824121 -vt 0.419690 0.586780 -vt 0.657883 0.824121 -vt 0.999363 0.210316 -vt 0.603232 0.904847 -vt 0.603277 0.892726 -vt 0.603265 0.895830 -vt 0.734929 0.497341 -vt 0.736236 0.497345 -vt 0.723007 0.949680 -vt 0.133464 0.871395 -vt 0.252085 0.934792 -vt 0.297732 0.502307 -vt 0.301507 0.582836 -vt 0.328639 0.929828 -vt 0.297731 0.658945 -vt 0.867621 0.456105 -vt 0.998360 0.226002 -vt 0.176233 0.867083 -vt 0.992872 0.145525 -vt 0.339704 0.951957 -vt 0.170142 0.867238 -vt 0.684052 0.841624 -vt 0.999650 0.380770 -vt 0.987671 0.103036 -vt 0.999650 0.345644 -vt 0.981129 0.855757 -vt 0.989816 0.737746 -vt 0.992418 0.080298 -vt 0.207361 0.875628 -vt 0.989772 0.716298 -vt 0.207361 0.893099 -vt 0.676645 0.841624 -vt 0.325697 0.753439 -vt 0.326089 0.762352 -vt 0.322643 0.766954 -vt 0.215153 0.440159 -vt 0.518867 0.894998 -vt 0.213269 0.928474 -vt 0.129813 0.996170 -vt 0.916203 0.452545 -vt 0.207904 0.977190 -vt 0.981129 0.897520 -vt 0.429418 0.654142 -vt 0.161837 0.851797 -vt 0.274913 0.974696 -vt 0.215153 0.005436 -vt 0.996148 0.879822 -vt 0.562151 0.996988 -vt 0.241092 0.971372 -vt 0.241092 0.998218 -vt 0.255557 0.971368 -vt 0.255557 0.998210 -vt 0.996148 0.906664 -vt 0.309082 0.986174 -vt 0.487695 0.880950 -vt 0.990700 0.907841 -vt 0.964358 0.980046 -vt 0.976544 0.000026 -vt 0.129804 0.930688 -vt 0.322920 0.658794 -vt 0.274913 0.924289 -vt 0.547492 0.904387 -vt 0.990998 0.693932 -s 0 -f 808/762/441 810/763/441 807/764/441 -f 811/765/442 813/766/442 814/767/442 -f 816/768/443 818/769/443 815/770/443 -f 820/771/444 822/772/444 819/773/444 -f 824/774/441 826/775/441 823/776/441 -f 828/777/441 830/778/441 827/779/441 -f 831/780/443 833/781/443 834/782/443 -f 835/783/443 837/784/443 838/785/443 -f 840/786/441 842/787/441 839/788/441 -f 843/789/445 841/790/445 840/791/445 -f 845/792/446 847/793/446 848/794/446 -f 850/795/447 852/796/447 849/797/447 -f 854/798/441 855/799/441 853/800/441 -f 856/801/448 858/802/448 859/803/448 -f 861/804/449 851/805/449 860/806/449 -f 863/807/450 865/808/450 862/809/450 -f 866/810/443 852/811/443 861/812/443 -f 862/813/441 860/814/441 867/815/441 -f 872/816/451 874/817/452 875/818/453 -f 823/819/454 877/820/454 876/821/454 -f 878/822/455 825/823/455 824/824/455 -f 880/825/456 870/826/456 881/827/456 -f 891/828/457 893/829/457 890/830/457 -f 895/831/455 897/832/455 894/833/455 -f 899/834/458 895/835/458 898/836/458 -f 900/837/459 895/838/459 894/839/459 -f 901/840/460 814/841/460 902/842/460 -f 903/843/461 811/844/461 901/840/461 -f 809/845/462 900/837/462 810/763/462 -f 809/846/463 899/834/463 898/836/463 -f 824/824/464 811/847/464 878/822/464 -f 905/848/465 907/849/465 904/850/465 -f 855/799/466 848/851/467 908/852/468 -f 909/853/469 859/795/469 910/854/469 -f 833/781/470 904/855/470 834/782/470 -f 912/856/471 914/857/471 911/858/471 -f 913/859/472 928/860/472 914/857/472 -f 927/861/472 936/862/472 928/860/472 -f 935/863/472 944/864/472 936/862/472 -f 943/865/472 890/830/472 944/864/472 -f 909/866/473 952/867/473 951/868/473 -f 953/869/474 955/870/474 956/871/474 -f 957/872/475 959/873/475 960/874/475 -f 951/868/473 962/875/473 961/876/473 -f 822/772/476 965/877/476 963/878/476 -f 957/879/477 966/880/477 821/881/477 -f 821/882/478 964/883/478 822/772/478 -f 830/778/448 967/884/448 968/885/448 -f 962/875/443 969/886/443 970/887/443 -f 965/877/441 971/888/441 972/889/441 -f 952/867/443 973/890/443 969/886/443 -f 959/873/479 975/891/479 960/874/479 -f 967/884/441 977/892/441 968/885/441 -f 955/870/443 979/893/443 956/871/443 -f 859/894/480 973/895/480 910/896/480 -f 964/883/481 981/897/481 971/888/481 -f 858/802/441 980/898/441 859/803/441 -f 960/899/482 981/900/482 966/880/482 -f 983/901/483 821/881/483 820/902/483 -f 984/903/441 822/772/441 963/878/441 -f 985/904/443 951/868/443 961/876/443 -f 983/905/484 958/906/484 957/872/484 -f 989/907/443 953/869/443 988/908/443 -f 986/909/443 909/866/443 951/868/443 -f 991/910/485 909/911/485 990/912/485 -f 992/913/441 856/801/441 991/914/441 -f 808/762/486 991/914/486 809/845/486 -f 809/915/487 990/912/487 816/916/487 -f 817/917/488 990/918/488 986/909/488 -f 837/784/489 988/908/489 832/919/489 -f 833/781/490 983/905/490 905/920/490 -f 836/921/488 986/909/488 985/904/488 -f 993/922/491 819/773/491 984/903/491 -f 905/848/492 820/902/492 906/923/492 -f 996/924/486 827/779/486 995/925/486 -f 994/926/493 820/771/493 819/773/493 -f 979/927/494 997/927/495 998/927/496 -f 970/927/497 999/927/497 1000/927/497 -f 969/927/498 1001/927/499 999/927/500 -f 974/928/501 981/929/501 975/930/501 -f 1002/931/502 997/932/502 1000/933/502 -f 1004/934/502 999/935/502 1001/936/502 -f 1006/937/503 1008/938/503 998/939/503 -f 980/927/504 1005/927/505 1004/927/506 -f 972/927/507 1007/927/508 1006/927/509 -f 973/927/510 1004/927/511 1001/927/512 -f 977/927/513 1003/927/514 1002/927/515 -f 971/927/516 1008/927/517 1007/927/512 -f 841/940/441 1010/941/441 854/798/441 -f 1011/942/443 1012/943/443 1013/944/443 -f 844/945/450 1009/946/450 841/947/450 -f 845/792/447 1012/948/447 846/949/447 -f 1009/950/518 867/951/519 1010/952/519 -f 1012/953/520 866/954/520 1013/955/520 -f 1009/950/521 863/956/522 862/957/523 -f 1015/958/524 849/959/524 1012/953/524 -f 892/960/456 1030/961/456 893/962/456 -f 1029/963/456 880/825/456 1030/961/456 -f 1031/964/456 1028/965/456 885/966/456 -f 1030/961/456 1032/967/456 1031/964/456 -f 1033/968/456 885/966/456 884/969/456 -f 893/962/456 1031/964/456 1033/968/456 -f 947/970/472 1037/971/472 883/972/472 -f 944/864/472 1037/971/472 1036/973/472 -f 939/974/472 1036/973/472 947/970/472 -f 936/862/472 1036/973/472 1039/975/472 -f 931/976/472 1039/975/472 939/974/472 -f 928/860/472 1039/975/472 1041/977/472 -f 921/978/472 1041/977/472 931/976/472 -f 914/857/472 1041/977/472 1043/979/472 -f 920/980/471 1043/979/471 921/978/471 -f 1045/981/471 914/857/471 1043/979/471 -f 883/972/457 1033/982/457 884/983/457 -f 890/830/457 1033/982/457 1037/971/457 -f 1032/967/456 888/984/456 1028/965/456 -f 880/825/456 889/985/456 1032/967/456 -f 877/986/525 1026/987/525 912/988/525 -f 825/989/441 919/990/441 826/991/441 -f 877/820/526 924/992/526 923/993/526 -f 916/994/527 924/992/527 826/991/527 -f 834/782/528 1047/995/529 1046/996/530 -f 994/926/531 907/997/531 906/998/531 -f 904/850/465 908/999/465 1047/1000/465 -f 810/763/462 1050/1001/462 1049/1002/462 -f 816/768/461 1051/1003/461 899/1004/461 -f 1051/1003/460 896/1005/460 899/1004/460 -f 900/837/459 1052/1006/459 1050/1001/459 -f 894/833/532 902/1007/532 1052/1008/532 -f 1053/1009/441 994/926/441 993/922/441 -f 1054/1010/441 996/924/441 995/925/441 -f 835/783/443 1057/1011/443 1056/1012/443 -f 1058/1013/443 834/782/443 1046/996/443 -f 903/843/443 818/769/443 1059/1014/443 -f 807/764/441 1049/1002/441 1060/1015/441 -f 1060/1015/441 824/774/441 823/776/441 -f 1061/1016/533 1063/1017/533 1064/1018/533 -f 1011/942/443 1046/996/443 846/1019/443 -f 1056/1012/443 844/1020/443 843/1021/443 -f 1052/1008/455 814/1022/455 813/1023/455 -f 1050/1001/459 813/1024/459 812/1025/459 -f 1049/1002/534 812/1025/534 824/774/534 -f 1047/1000/465 848/794/465 847/793/465 -f 1046/996/535 847/1026/536 846/1019/536 -f 1048/1027/537 908/852/538 907/997/537 -f 815/770/461 901/840/461 1051/1003/461 -f 1051/1003/460 902/842/460 897/1028/460 -f 853/800/441 1048/1027/441 1053/1009/441 -f 807/764/441 839/788/441 1054/1010/441 -f 1059/1014/443 843/1021/443 876/1029/443 -f 818/769/443 1056/1012/443 1059/1014/443 -f 807/764/441 995/925/441 808/762/441 -f 982/927/497 1002/927/497 1005/927/497 -f 1005/1030/502 1000/933/502 999/935/502 -f 978/927/539 1000/927/540 997/927/541 -f 995/925/486 992/913/486 808/762/486 -f 837/784/488 985/904/488 989/907/488 -f 989/907/443 961/876/443 954/1031/443 -f 968/885/441 982/1032/441 858/802/441 -f 955/870/443 970/887/443 978/1033/443 -f 857/1034/448 968/885/448 858/802/448 -f 961/876/473 955/870/473 954/1031/473 -f 876/821/445 840/791/445 823/819/445 -f 1060/1015/441 840/786/441 839/788/441 -f 818/769/443 836/921/443 835/783/443 -f 827/779/441 857/1034/441 992/913/441 -f 844/1020/443 1058/1013/443 1011/942/443 -f 1057/1011/443 831/780/443 1058/1013/443 -f 1055/1035/441 993/922/441 996/924/441 -f 1014/1036/542 866/954/543 863/956/544 -f 1015/958/545 867/951/545 850/1037/545 -f 844/1020/443 1013/944/443 1014/1038/443 -f 854/798/441 1015/1039/441 845/1040/441 -f 976/927/546 1006/927/506 1003/927/547 -f 1003/1041/503 998/939/503 997/932/503 -f 974/927/548 998/927/549 1008/927/550 -f 996/924/491 984/903/491 828/777/491 -f 832/919/489 987/1042/489 833/781/489 -f 988/908/443 958/906/443 987/1042/443 -f 828/777/441 963/878/441 829/1043/441 -f 956/871/443 974/1044/443 959/873/443 -f 967/884/441 972/889/441 976/1045/441 -f 963/878/476 967/884/476 829/1043/476 -f 958/906/474 956/871/474 959/873/474 -f 867/815/441 851/1046/441 850/1047/441 -f 863/1048/443 861/812/443 864/1049/443 -f 864/823/449 860/806/449 865/1050/449 -f 841/940/441 853/800/441 842/787/441 -f 838/785/443 832/919/443 831/780/443 -f 873/1051/551 1066/1052/551 874/817/551 -f 1064/1018/552 1067/1053/552 1068/1054/552 -f 1070/1055/553 1072/1056/553 1069/1057/553 -f 1074/1058/553 1076/1059/553 1073/1060/553 -f 1069/1057/553 1078/1061/553 1077/1062/553 -f 1079/1063/552 1068/1054/552 1080/1064/552 -f 1072/1065/455 1082/1066/455 1078/1067/455 -f 1083/1068/443 1085/1069/443 1086/1070/443 -f 1074/1071/445 1089/1072/445 1087/1073/445 -f 1064/1074/554 1084/1075/554 1061/1076/554 -f 873/1077/555 1086/1078/555 1079/1079/555 -f 1061/1080/556 1091/1081/556 1092/1082/556 -f 872/1083/557 1090/1084/557 873/1085/557 -f 1094/1086/558 1084/1087/558 1083/1068/558 -f 1096/1088/559 1062/1089/560 1061/1016/560 -f 1087/1090/561 875/818/562 1098/1091/561 -f 1087/1090/563 1075/1092/563 1074/1058/563 -f 1071/1093/564 1096/1088/565 1072/1056/564 -f 1081/1094/443 1094/1086/443 1082/1095/443 -f 1096/1096/566 1081/1097/566 1072/1098/566 -f 1093/1099/555 1101/1100/555 1099/1101/555 -f 1088/1102/443 1094/1086/443 1089/1103/443 -f 1093/1099/555 1102/1104/555 1083/1105/555 -f 1079/1079/555 1085/1106/555 1064/1107/555 -f 1093/1108/443 1086/1070/443 1090/1109/443 -f 1078/1067/455 1088/1110/455 1074/1111/455 -f 1079/1063/552 1065/1112/552 873/1051/552 -f 1073/1060/553 1078/1061/553 1074/1058/553 -f 1104/1113/443 1099/1114/443 1103/1115/443 -f 1094/1116/455 1103/1117/455 1089/1118/455 -f 1089/1118/455 1106/1119/455 1087/1120/455 -f 1083/1121/502 1104/1122/502 1094/1123/502 -f 1106/1124/445 1100/1125/445 1107/1126/445 -f 1105/1127/445 1101/1121/445 1100/1125/445 -f 1103/1117/455 1105/1128/455 1089/1118/455 -f 872/1129/441 1106/1130/441 1107/1131/441 -f 872/1132/555 1100/1133/555 1093/1099/555 -f 1099/1114/443 1108/1134/443 1103/1115/443 -f 1095/1135/567 1091/1136/567 1084/1087/567 -f 1096/1137/568 1109/1138/568 1095/1139/568 -f 1092/1140/569 1109/1141/569 1110/1142/569 -f 1061/1143/570 1110/1144/570 1096/1145/570 -f 1112/1146/571 1114/1147/571 1111/1148/571 -f 1143/1149/441 1148/1150/441 1141/1151/441 -f 1114/1152/572 1140/1153/572 1139/1154/572 -f 1158/1155/443 1160/1156/443 1155/1157/443 -f 1111/1158/573 1161/1159/573 1112/1160/573 -f 1190/1161/574 1192/1162/574 1189/1163/574 -f 1191/1164/575 1194/1165/575 1192/1162/575 -f 1193/1166/576 1196/1167/576 1194/1168/576 -f 1195/1169/577 1198/1170/577 1196/1167/577 -f 1197/1171/578 1200/1172/578 1198/1173/578 -f 1199/1174/579 1202/1175/579 1200/1172/579 -f 1201/1176/580 1204/1177/580 1202/1175/580 -f 1203/1178/581 1206/1179/581 1204/1180/581 -f 1205/1181/582 1208/1182/582 1206/1179/582 -f 1207/1183/583 1210/1184/583 1208/1182/583 -f 1209/1185/584 1212/1186/584 1210/1184/584 -f 1211/1187/585 1189/1163/585 1212/1188/585 -f 1200/1189/586 1216/1190/586 1213/1191/586 -f 1196/1192/587 1220/1193/587 1221/1194/587 -f 1224/1195/588 1222/1196/588 1210/1197/588 -f 1225/1198/589 1206/1199/589 1226/1200/589 -f 1180/1201/590 1182/1202/590 1205/1203/590 -f 1174/1204/591 1176/1205/591 1199/1206/591 -f 1227/1207/592 1172/1208/592 1195/1209/592 -f 1209/1210/593 1188/1211/593 1211/1212/593 -f 1264/1213/594 1266/1214/441 1263/1215/441 -f 1265/1216/455 1268/1217/455 1266/1218/455 -f 1267/1219/443 1270/1220/443 1268/1221/443 -f 1272/1222/555 1263/1223/555 1271/1224/555 -f 1268/1225/445 1273/1226/445 1271/1227/445 -f 1274/1228/595 1276/1229/595 1277/1230/595 -f 1278/927/596 1280/927/527 1281/927/527 -f 1282/1231/595 1276/1229/595 1275/1228/595 -f 1269/1232/597 1286/1233/597 1284/1234/597 -f 1267/1235/598 1282/1236/598 1275/1237/598 -f 1283/1238/599 1287/1239/599 1288/1240/599 -f 1292/1241/600 1294/1242/600 1291/1243/600 -f 1277/1244/443 1297/1245/443 1295/1246/443 -f 1278/1247/601 1299/1248/601 1298/1249/601 -f 1282/1231/527 1299/1250/527 1298/1231/527 -f 1285/927/596 1295/927/527 1292/927/527 -f 1300/1251/602 1277/1244/602 1295/1246/602 -f 1286/1233/603 1292/1241/603 1291/1243/603 -f 1301/1252/443 1302/1253/443 1303/1254/443 -f 1304/927/604 1302/927/512 1305/927/605 -f 1287/1255/604 1307/1256/527 1308/1256/527 -f 1281/927/596 1309/927/527 1310/927/527 -f 1276/1229/599 1296/1257/599 1277/1230/599 -f 1299/1248/606 1310/1258/606 1306/1259/606 -f 1287/1239/599 1299/1250/599 1283/1238/599 -f 1292/927/596 1297/927/527 1293/927/527 -f 1308/1260/502 1313/1261/502 1311/1262/502 -f 1314/927/607 1302/927/608 1301/927/609 -f 1312/927/610 1307/927/611 1315/927/612 -f 1316/1263/613 1305/1264/613 1317/1265/613 -f 1287/1239/614 1311/1266/614 1288/1240/614 -f 1318/927/604 1312/927/512 1315/927/605 -f 1296/1257/604 1314/1267/527 1301/1267/527 -f 1318/1268/441 1315/1269/441 1307/1270/441 -f 1306/1259/441 1321/1271/441 1299/1248/441 -f 1290/1272/443 1322/1273/443 1323/1274/443 -f 1325/1275/441 1327/1276/441 1324/1277/441 -f 1290/1278/615 1328/1279/615 1329/1280/615 -f 1331/1281/443 1333/1282/443 1334/1283/443 -f 1307/1270/441 1335/1284/441 1336/1285/441 -f 1296/1286/443 1334/1283/443 1301/1252/443 -f 1324/1277/441 1287/1287/441 1308/1288/441 -f 1328/1289/527 1338/1290/596 1339/1289/527 -f 1326/927/527 1341/927/527 1327/927/527 -f 1343/1291/616 1329/1292/616 1342/1293/616 -f 1335/1294/617 1345/1295/617 1344/1296/617 -f 1299/1297/618 1322/1298/618 1276/1299/618 -f 1321/1300/619 1323/1301/619 1322/1302/619 -f 1306/1303/620 1337/1304/620 1320/1305/620 -f 1296/988/621 1323/1306/621 1331/1307/621 -f 1340/927/527 1347/927/527 1341/927/527 -f 1331/927/596 1349/927/527 1332/927/527 -f 1306/1308/622 1350/1309/622 1351/1310/622 -f 1346/1311/623 1353/1312/623 1347/1313/623 -f 1354/1314/624 1349/1315/624 1348/1281/624 -f 1267/1219/625 1356/1316/625 1357/1317/625 -f 1265/1318/626 1359/1319/626 1266/1214/626 -f 1356/1316/627 1361/1320/627 1357/1317/627 -f 1362/1321/628 1359/1319/628 1358/1322/628 -f 1360/1323/629 1365/1324/629 1361/1320/629 -f 1362/1321/630 1367/1325/630 1363/1326/630 -f 1360/1323/443 1369/1327/443 1364/1328/443 -f 1367/1325/441 1371/1329/441 1363/1326/441 -f 1353/1312/631 1366/1330/631 1362/1321/631 -f 1354/1314/632 1365/1324/632 1355/1331/632 -f 1352/1332/633 1349/1333/633 1355/1334/633 -f 1365/1335/634 1352/1332/634 1355/1334/634 -f 1366/1336/455 1364/1337/455 1367/1338/455 -f 1369/1339/455 1367/1338/455 1364/1337/455 -f 1369/1340/635 1371/1341/635 1370/1342/635 -f 1368/1343/555 1363/1344/555 1371/1345/555 -f 1356/1346/445 1363/1347/445 1360/1348/445 -f 1268/1217/636 1359/1349/636 1356/1350/636 -f 1264/1213/637 1298/1249/638 1265/1318/639 -f 1269/1351/640 1274/1352/640 1300/1251/640 -f 1347/1353/641 1354/1354/641 1348/1355/641 -f 1354/1356/642 1362/1357/642 1361/1358/642 -f 1351/1359/643 1339/1360/643 1338/1361/643 -f 1361/1358/644 1358/1362/644 1357/1363/644 -f 1343/1364/617 1314/1365/617 1330/1366/617 -f 1310/927/604 1319/927/527 1318/927/527 -f 1336/1367/645 1344/1368/645 1373/1369/645 -f 1294/1242/646 1304/1370/646 1316/1263/646 -f 1290/1371/614 1374/1372/614 1314/1267/614 -f 1294/1242/647 1376/1373/647 1375/1374/647 -f 1376/1373/648 1312/1375/648 1319/1376/648 -f 1316/1377/649 1373/1378/649 1376/1364/649 -f 1374/1379/502 1305/1262/502 1314/1380/502 -f 1375/1374/650 1319/1376/650 1309/1381/650 -f 1377/1382/603 1280/1383/603 1279/1384/603 -f 1377/1382/603 1291/1243/603 1378/1385/603 -f 1378/1385/600 1309/1381/600 1280/1383/600 -f 1291/1243/600 1375/1374/600 1378/1385/600 -f 1272/1222/651 1279/1384/651 1264/1386/651 -f 1284/1234/651 1377/1382/651 1272/1222/651 -f 1269/1232/555 1273/1387/555 1270/1388/555 -f 1284/1234/555 1271/1224/555 1273/1387/555 -f 1373/1369/652 1380/1389/652 1379/1390/652 -f 1337/1391/652 1373/1369/652 1379/1390/652 -f 1342/1293/652 1328/1392/652 1380/1389/652 -f 1293/927/604 1303/927/527 1304/927/527 -f 1373/1393/443 1311/1394/443 1288/1395/443 -f 1311/1394/443 1376/1396/443 1288/1395/443 -f 1374/1397/441 1316/1398/441 1317/1399/441 -f 1374/1397/441 1342/1400/441 1289/1401/441 -f 1381/1402/443 1287/1403/443 1283/1404/443 -f 1383/1405/443 1296/1286/443 1277/1244/443 -f 1386/1406/455 1388/1407/455 1385/1408/455 -f 1390/1409/443 1392/1410/443 1389/1411/443 -f 1393/1412/502 1395/1413/502 1389/1414/502 -f 1396/1415/441 1398/1416/441 1399/1417/441 -f 1390/1418/445 1402/1419/445 1400/1420/445 -f 1403/1421/653 1396/1422/653 1404/1423/653 -f 1399/1424/502 1407/1425/502 1405/1426/502 -f 1401/1427/445 1409/1428/445 1402/1419/445 -f 1396/1422/502 1410/1429/502 1404/1423/502 -f 1393/1430/443 1408/1431/443 1401/1432/443 -f 1413/1433/555 1414/1434/555 1412/1435/555 -f 1416/1436/555 1418/1437/555 1415/1438/555 -f 1419/1439/555 1421/1440/555 1416/1436/555 -f 1408/1441/445 1422/1442/445 1409/1428/445 -f 1423/1443/441 1424/1444/441 1425/1445/441 -f 1399/1392/455 1427/1446/455 1410/1447/455 -f 1411/1448/443 1417/1449/443 1416/1450/443 -f 1399/1451/441 1429/1452/441 1426/1453/441 -f 1430/1454/654 1424/1455/654 1431/1456/654 -f 1425/1445/655 1433/1457/655 1423/1443/655 -f 1434/1458/443 1435/1459/443 1436/1460/443 -f 1438/1461/656 1440/1462/656 1437/1463/656 -f 1427/1464/657 1441/1465/657 1442/1466/657 -f 1435/1459/658 1443/1467/658 1444/1468/658 -f 1445/1469/659 1438/1461/659 1437/1463/659 -f 1446/1470/443 1448/1471/443 1449/1472/443 -f 1433/1457/660 1450/1473/660 1451/1474/660 -f 1441/1465/661 1453/1475/661 1442/1466/661 -f 1443/1467/662 1455/1476/662 1444/1468/662 -f 1457/1477/663 1459/1478/663 1456/1479/663 -f 1461/1480/441 1463/1481/441 1460/1482/441 -f 1463/1481/441 1457/1483/441 1464/1484/441 -f 1465/1485/441 1460/1482/441 1452/1486/441 -f 1452/1487/664 1466/1488/664 1453/1489/664 -f 1462/1490/665 1468/1491/665 1467/1492/665 -f 1460/1493/666 1469/1494/666 1466/1488/666 -f 1470/1495/441 1472/1496/441 1473/1497/441 -f 1475/1498/667 1477/1499/667 1474/1500/667 -f 1479/1501/443 1481/1502/443 1478/1503/443 -f 1477/1499/668 1481/1504/668 1482/1505/668 -f 1483/1506/443 1479/1501/443 1478/1503/443 -f 1486/1507/669 1474/1508/669 1485/1509/669 -f 1488/1510/441 1470/1495/441 1487/1511/441 -f 1490/1512/670 1492/1513/670 1489/1514/670 -f 1494/1515/671 1485/1516/671 1493/1517/671 -f 1495/1518/443 1484/1519/443 1483/1506/443 -f 1465/1520/672 1498/1521/672 1496/1522/672 -f 1497/1523/673 1489/1514/673 1498/1521/673 -f 1500/1524/441 1487/1511/441 1499/1525/441 -f 1484/1519/443 1447/1526/443 1446/1470/443 -f 1450/1473/441 1499/1525/441 1451/1474/441 -f 1439/1527/674 1493/1528/674 1440/1462/674 -f 1454/1529/443 1495/1518/443 1455/1476/443 -f 1462/1530/675 1446/1531/675 1449/1532/675 -f 1386/1533/445 1503/1534/445 1501/1535/445 -f 1464/1536/676 1456/1479/676 1403/1537/676 -f 1389/1414/677 1505/1538/677 1504/1539/677 -f 1386/1540/441 1506/1541/441 1502/1542/441 -f 1508/1543/678 1510/1544/678 1507/1545/678 -f 1511/1546/443 1468/1547/443 1449/1472/443 -f 1502/1542/441 1513/1548/441 1514/1549/441 -f 1391/1550/443 1509/1551/443 1392/1410/443 -f 1502/1552/679 1515/1553/679 1503/1534/679 -f 1484/1554/680 1518/1555/680 1516/1556/680 -f 1465/1485/441 1520/1557/441 1461/1480/441 -f 1459/1478/681 1521/1558/681 1522/1559/681 -f 1517/1560/682 1524/1561/682 1518/1562/682 -f 1523/1563/683 1526/1564/683 1524/1565/683 -f 1457/1483/441 1467/1566/441 1458/1567/441 -f 1448/1471/443 1511/1546/443 1449/1472/443 -f 1463/1568/684 1403/1421/684 1469/1569/684 -f 1484/1519/443 1523/1570/443 1517/1571/443 -f 1528/1572/685 1530/1573/686 1508/1543/687 -f 1525/1574/688 1528/1572/688 1526/1575/688 -f 1458/1567/441 1531/1576/441 1521/1577/441 -f 1468/1547/443 1525/1578/443 1523/1570/443 -f 1512/1579/443 1529/1580/443 1468/1547/443 -f 1467/1566/441 1532/1581/441 1531/1576/441 -f 1533/1582/688 1531/1583/688 1532/1584/688 -f 1526/1575/688 1534/1585/688 1533/1582/688 -f 1534/1585/689 1521/1586/690 1531/1583/690 -f 1528/1572/691 1522/1587/692 1534/1585/693 -f 1535/1588/684 1527/1589/684 1448/1590/684 -f 1469/1569/684 1504/1539/684 1535/1588/684 -f 1536/1591/683 1532/1592/683 1520/1593/683 -f 1524/1565/683 1533/1594/683 1536/1591/683 -f 1537/1595/682 1520/1596/682 1519/1597/682 -f 1518/1562/682 1536/1598/682 1537/1595/682 -f 1538/1599/694 1530/1600/694 1512/1601/694 -f 1459/1478/695 1508/1602/695 1538/1599/695 -f 1496/1603/665 1519/1604/665 1465/1605/665 -f 1516/1556/696 1537/1606/696 1496/1603/696 -f 1539/1607/679 1510/1608/679 1391/1609/679 -f 1503/1534/679 1507/1610/679 1539/1607/679 -f 1513/1611/678 1515/1612/678 1514/1613/678 -f 1522/1587/678 1507/1545/678 1515/1612/678 -f 1385/1614/502 1540/1615/502 1506/1616/502 -f 1504/1539/697 1540/1615/697 1403/1421/697 -f 1504/1617/676 1511/1618/676 1527/1619/676 -f 1403/1537/676 1541/1620/676 1504/1617/676 -f 1400/1420/445 1391/1609/445 1390/1418/445 -f 1501/1535/445 1539/1607/445 1400/1420/445 -f 1542/1621/674 1500/1622/674 1450/1623/674 -f 1516/1624/698 1479/1625/698 1484/1626/698 -f 1498/1521/699 1544/1627/699 1516/1624/699 -f 1516/1624/700 1496/1522/700 1498/1521/700 -f 1543/1628/701 1488/1629/701 1500/1630/701 -f 1544/1627/702 1480/1631/702 1479/1625/702 -f 1489/1514/702 1546/1632/702 1544/1627/702 -f 1545/1633/669 1471/1634/669 1488/1508/669 -f 1472/1635/668 1549/1636/668 1473/1637/668 -f 1547/1638/667 1472/1635/667 1471/1639/667 -f 1550/1640/666 1448/1641/666 1447/1642/666 -f 1466/1488/666 1535/1643/666 1550/1640/666 -f 1551/1644/664 1447/1642/664 1454/1645/664 -f 1453/1489/664 1550/1640/664 1551/1644/664 -f 1541/1620/663 1512/1601/663 1511/1618/663 -f 1456/1479/663 1538/1599/663 1541/1620/663 -f 1443/1646/661 1551/1647/661 1454/1648/661 -f 1442/1466/661 1551/1647/661 1552/1649/661 -f 1430/1454/659 1432/1650/659 1425/1651/659 -f 1445/1469/659 1553/1652/659 1430/1454/659 -f 1554/1653/657 1443/1646/657 1428/1654/657 -f 1427/1464/657 1552/1649/657 1554/1653/657 -f 1432/1650/656 1542/1621/656 1450/1623/656 -f 1556/1655/703 1445/1469/703 1555/1656/703 -f 1445/1469/704 1434/1657/704 1436/1658/704 -f 1430/1454/704 1557/1659/704 1445/1469/704 -f 1558/1660/455 1428/1661/455 1411/1662/455 -f 1410/1447/455 1554/1663/455 1558/1660/455 -f 1559/1664/445 1414/1665/445 1398/1666/445 -f 1409/1428/445 1412/1667/445 1559/1664/445 -f 1413/1433/555 1429/1668/555 1405/1669/555 -f 1415/1438/555 1560/1670/555 1413/1433/555 -f 1416/1436/555 1422/1671/555 1419/1439/555 -f 1415/1438/555 1412/1435/555 1422/1671/555 -f 1561/1672/502 1411/1673/502 1393/1412/502 -f 1404/1423/502 1558/1674/502 1561/1672/502 -f 1562/1675/445 1398/1666/445 1397/1676/445 -f 1402/1419/445 1559/1664/445 1562/1675/445 -f 1504/1539/705 1393/1412/705 1389/1414/705 -f 1403/1421/653 1561/1672/653 1504/1539/653 -f 1501/1535/445 1397/1676/445 1386/1533/445 -f 1400/1420/445 1562/1675/445 1501/1535/445 -f 1418/1437/706 1431/1677/706 1560/1670/706 -f 1429/1668/706 1431/1677/706 1424/1678/706 -f 1549/1636/668 1546/1679/668 1492/1680/668 -f 1473/1637/668 1492/1680/668 1491/1681/668 -f 1439/1682/443 1495/1518/443 1494/1683/443 -f 1452/1486/441 1499/1525/441 1465/1485/441 -f 1499/1525/441 1497/1684/441 1465/1485/441 -f 1494/1683/443 1483/1506/443 1486/1685/443 -f 1487/1511/441 1490/1686/441 1497/1684/441 -f 1486/1685/443 1478/1503/443 1475/1687/443 -f 1482/1505/668 1480/1688/668 1546/1679/668 -f 1478/1503/443 1476/1689/443 1475/1687/443 -f 1490/1686/441 1473/1497/441 1491/1690/441 -f 1444/1468/662 1439/1682/662 1438/1691/662 -f 1441/1692/660 1451/1474/660 1452/1486/660 -f 1436/1460/658 1444/1468/658 1438/1691/658 -f 1417/1693/706 1557/1694/706 1418/1437/706 -f 1428/1695/443 1434/1458/443 1417/1449/443 -f 1423/1443/655 1441/1692/655 1426/1453/655 -f 1426/1453/441 1424/1444/441 1423/1443/441 -f 1563/1696/707 1548/1697/707 1547/1698/707 -f 1493/1699/441 1474/1700/441 1482/1701/441 -f 1395/1702/443 1565/1703/443 1564/1704/443 -f 1389/1705/455 1564/1706/455 1390/1707/455 -f 1401/1708/555 1394/1709/555 1393/1710/555 -f 1390/1418/445 1565/1711/445 1401/1427/445 -f 1567/1712/441 1387/1713/441 1566/1714/441 -f 1396/1715/555 1566/1716/555 1397/1717/555 -f 1385/1614/502 1567/1718/502 1396/1422/502 -f 1397/1676/445 1387/1719/445 1386/1533/445 -f 1568/1720/441 1407/1721/441 1406/1722/441 -f 1398/1723/455 1406/1724/455 1399/1725/455 -f 1414/1665/445 1568/1726/445 1398/1666/445 -f 1405/1669/555 1569/957/555 1414/1434/555 -f 1570/1727/443 1421/1728/443 1420/1729/443 -f 1416/1730/502 1571/1731/502 1411/1732/502 -f 1411/1733/455 1570/1734/455 1408/1735/455 -f 1408/1441/445 1420/1736/445 1419/1737/445 -f 1468/1738/666 1520/1739/666 1467/1740/666 -f 1461/1741/663 1523/1742/663 1446/1743/663 -f 1572/1744/445 1573/1745/445 1574/1746/445 -f 1575/1747/502 1576/1748/502 1577/1749/502 -f 1572/1744/445 1574/1746/445 1578/1750/445 -f 1575/1747/502 1579/1751/502 1576/1748/502 -f 1572/1744/445 1578/1750/445 1580/1752/445 -f 1575/1747/502 1581/1753/502 1579/1751/502 -f 1572/1744/445 1580/1752/445 1582/1754/445 -f 1575/1747/502 1583/1755/502 1581/1753/502 -f 1572/1744/445 1582/1754/445 1584/1756/445 -f 1575/1747/502 1585/1757/502 1583/1755/502 -f 1572/1744/445 1584/1756/445 1586/1758/445 -f 1575/1747/502 1587/1759/502 1585/1757/502 -f 1572/1744/445 1586/1758/445 1588/1760/445 -f 1575/1747/502 1589/1761/502 1587/1759/502 -f 1572/1744/445 1588/1760/445 1573/1745/445 -f 1575/1747/502 1577/1749/502 1589/1761/502 -f 1563/1762/708 1592/1763/708 1590/1764/708 -f 1482/1765/703 1563/1766/703 1590/1767/703 -f 1591/1768/709 1594/1769/709 1592/1770/709 -f 1563/1771/710 1593/1772/710 1591/1773/710 -f 1555/1774/711 1592/1775/711 1594/1776/711 -f 1555/1777/712 1593/1778/712 1556/1779/712 -f 1595/1780/713 1596/1781/713 1597/1782/713 -f 1598/1783/714 1596/1784/714 1594/1785/714 -f 1599/1786/715 1601/1787/715 1598/1788/715 -f 1601/1789/716 1602/1790/716 1603/1791/716 -f 1602/1790/717 1605/1792/717 1603/1791/717 -f 1605/1793/718 1606/1794/718 1607/1795/718 -f 1607/1796/719 1608/1797/719 1606/1798/719 -f 1595/1780/720 1608/1799/720 1593/1800/720 -f 1597/1801/721 1594/1802/721 1595/1803/721 -f 1594/1776/722 1599/1786/722 1598/1788/722 -f 1606/1794/723 1593/1772/723 1607/1795/723 -f 1591/1804/724 1595/1803/724 1593/1805/724 -f 1597/1806/725 1596/1807/725 1592/1808/725 -f 1596/1784/726 1599/1809/726 1592/1143/726 -f 1606/1798/727 1608/1797/727 1591/1810/727 -f 1608/1811/728 1597/1812/728 1591/1813/728 -f 1649/1814/729 1647/1815/729 1642/1816/729 -f 1659/1817/730 1660/1818/730 1656/1819/730 -f 1662/1820/731 1641/1821/731 1663/1822/731 -f 1664/1823/732 1654/1824/732 1662/1820/732 -f 1650/1825/733 1664/1823/733 1665/1826/733 -f 1648/1827/734 1665/1826/734 1666/1828/734 -f 1646/1829/735 1666/1828/735 1667/1830/735 -f 1668/1831/736 1646/1829/736 1667/1830/736 -f 1663/1822/737 1644/1832/737 1668/1831/737 -f 1683/1833/738 1685/1834/738 1686/1835/738 -f 1687/1836/738 1689/1837/738 1690/1838/738 -f 1691/1839/738 1693/1840/738 1694/1841/738 -f 1696/1842/739 1698/1843/739 1695/1844/739 -f 1700/1845/739 1702/1846/739 1699/1847/739 -f 1704/1848/739 1706/1849/739 1703/1850/739 -f 1708/1851/739 1699/1847/739 1707/1852/739 -f 1701/1853/740 1683/1833/740 1704/1848/740 -f 1694/1841/738 1709/1854/738 1710/1855/738 -f 1697/1856/739 1707/1852/739 1698/1843/739 -f 1697/1856/740 1710/1855/740 1708/1851/740 -f 1708/1851/740 1687/1836/740 1700/1845/740 -f 1696/1842/740 1694/1841/740 1697/1856/740 -f 1700/1845/740 1690/1838/740 1701/1853/740 -f 1704/1848/740 1686/1835/740 1705/1857/740 -f 1701/1853/739 1703/1850/739 1702/1846/739 -f 1690/1838/738 1684/1858/738 1683/1833/738 -f 1712/1859/740 1696/1842/740 1711/1860/740 -f 1711/1860/739 1695/1844/739 1713/1861/739 -f 1712/1859/738 1692/1862/738 1691/1839/738 -f 1702/1846/741 1716/1863/741 1715/1864/741 -f 1698/1843/739 1718/1865/739 1717/1866/739 -f 1707/1852/741 1719/1867/741 1718/1865/741 -f 1699/1847/741 1715/1864/741 1719/1867/741 -f 1695/1844/739 1717/1866/739 1720/1868/739 -f 1721/1869/742 1723/1870/742 1724/1871/742 -f 1725/1872/742 1727/1873/742 1728/1874/742 -f 1729/1875/742 1731/1876/742 1732/1877/742 -f 1734/1878/743 1736/1879/743 1733/1880/743 -f 1738/1881/743 1740/1882/743 1737/1883/743 -f 1742/1884/743 1744/1885/743 1741/1886/743 -f 1737/1883/743 1746/1887/743 1745/1888/743 -f 1744/1885/744 1726/1889/744 1739/1890/744 -f 1730/1891/742 1748/1892/742 1731/1876/742 -f 1745/1888/743 1735/1893/743 1734/1878/743 -f 1746/1887/744 1730/1891/744 1735/1893/744 -f 1740/1882/744 1747/1894/744 1746/1887/744 -f 1736/1879/744 1730/1891/744 1729/1875/744 -f 1739/1890/744 1725/1872/744 1740/1882/744 -f 1743/1895/744 1721/1869/744 1744/1885/744 -f 1741/1886/743 1739/1890/743 1738/1881/743 -f 1726/1889/742 1724/1871/742 1727/1873/742 -f 1749/1896/744 1729/1875/744 1750/1897/744 -f 1733/1880/743 1749/1896/743 1751/1898/743 -f 1750/1897/742 1732/1877/742 1752/1899/742 -f 1753/1900/743 1741/1886/743 1738/1881/743 -f 1756/1901/745 1734/1878/745 1755/1902/745 -f 1757/1903/745 1745/1888/745 1756/1901/745 -f 1757/1903/745 1738/1881/745 1737/1883/745 -f 1755/1902/745 1733/1880/745 1758/1904/745 -f 1714/1905/746 1750/1906/746 1752/1907/746 -f 1685/1908/747 1724/1909/747 1723/1910/747 -f 1715/1911/748 1754/1912/748 1753/1913/748 -f 1689/1914/749 1728/1915/749 1727/1916/749 -f 1717/1917/750 1756/1918/750 1755/1919/750 -f 1693/1920/749 1732/1921/749 1731/1922/749 -f 1713/1923/751 1749/1924/751 1711/1925/751 -f 1705/1926/752 1722/1927/752 1743/1928/752 -f 1684/1929/749 1727/1916/749 1724/1909/749 -f 1719/1930/750 1753/1913/750 1757/1931/750 -f 1718/1932/748 1757/1931/748 1756/1918/748 -f 1709/1933/749 1731/1922/749 1748/1934/749 -f 1711/1925/753 1750/1906/753 1712/1935/753 -f 1685/1936/754 1722/1927/754 1686/1937/754 -f 1688/1938/755 1725/1939/755 1728/1940/755 -f 1709/1941/756 1747/1942/756 1710/1943/756 -f 1687/1944/757 1747/1945/757 1725/1946/757 -f 1751/1939/758 1720/1947/758 1758/1948/758 -f 1720/1947/750 1755/1919/750 1758/1948/750 -f 1692/1949/759 1752/1950/759 1732/1921/759 -f 1706/1951/752 1743/1928/752 1742/1952/752 -f 1716/1953/760 1742/1952/760 1754/1954/760 -f 1716/1863/741 1703/1850/741 1706/1849/741 -f 1754/1955/745 1742/1884/745 1741/1886/745 -f 1695/1844/739 1720/1868/739 1713/1861/739 -f 1758/1904/745 1733/1880/745 1751/1898/745 -f 1772/1956/555 1759/1957/555 1762/1958/555 -f 1772/1956/555 1761/1959/555 1774/1960/555 -f 1775/1961/555 1769/1962/555 1768/1963/555 -f 1778/1964/555 1763/1965/555 1777/1966/555 -f 1779/1967/555 1763/1965/555 1767/1968/555 -f 1780/1969/761 1767/1968/761 1770/1970/761 -f 1780/1969/555 1771/1971/555 1781/1972/555 -f 1782/1973/555 1765/1974/555 1760/1975/555 -f 1782/1973/555 1759/1957/555 1773/1976/555 -f 1783/1977/753 1766/1978/753 1765/1974/753 -f 1784/1979/555 1771/1971/555 1766/1978/555 -f 1778/1964/762 1768/1963/762 1764/1980/762 -f 1774/1960/555 1769/1962/555 1776/1981/555 -f 1814/1982/555 1812/1983/555 1820/1984/555 -f 808/762/441 809/845/441 810/763/441 -f 811/765/442 812/1985/442 813/766/442 -f 816/768/443 817/917/443 818/769/443 -f 820/771/444 821/882/444 822/772/444 -f 824/774/441 825/1986/441 826/775/441 -f 828/777/441 829/1043/441 830/778/441 -f 831/780/443 832/919/443 833/781/443 -f 835/783/443 836/921/443 837/784/443 -f 840/786/441 841/940/441 842/787/441 -f 843/789/445 844/1987/445 841/790/445 -f 845/792/446 846/949/446 847/793/446 -f 850/795/447 851/1988/447 852/796/447 -f 854/798/441 845/1040/441 855/799/441 -f 856/801/448 857/1034/448 858/802/448 -f 861/804/449 852/1989/449 851/805/449 -f 863/807/450 864/1990/450 865/808/450 -f 866/810/443 849/1991/443 852/811/443 -f 862/813/441 865/1992/441 860/814/441 -f 872/816/763 873/1051/764 874/817/764 -f 823/819/454 826/991/454 877/820/454 -f 878/822/455 879/1993/455 825/823/455 -f 880/825/456 871/1994/456 870/826/456 -f 891/828/457 892/1995/457 893/829/457 -f 895/831/455 896/1996/455 897/832/455 -f 899/834/458 896/1997/458 895/835/458 -f 900/837/459 898/1998/459 895/838/459 -f 901/840/460 811/844/460 814/841/460 -f 903/843/461 878/1999/461 811/844/461 -f 809/845/462 898/1998/462 900/837/462 -f 809/846/463 816/2000/463 899/834/463 -f 824/824/464 812/2001/464 811/847/464 -f 905/848/465 906/923/465 907/849/465 -f 855/799/765 845/1040/766 848/851/766 -f 909/853/469 856/2002/469 859/795/469 -f 833/781/767 905/920/767 904/855/767 -f 912/856/471 913/859/471 914/857/471 -f 913/859/472 927/861/472 928/860/472 -f 927/861/472 935/863/472 936/862/472 -f 935/863/472 943/865/472 944/864/472 -f 943/865/472 891/828/472 890/830/472 -f 909/866/473 910/2003/473 952/867/473 -f 953/869/474 954/1031/474 955/870/474 -f 957/872/475 958/906/475 959/873/475 -f 951/868/473 952/867/473 962/875/473 -f 822/772/476 964/883/476 965/877/476 -f 957/879/477 960/899/477 966/880/477 -f 821/882/478 966/2004/478 964/883/478 -f 830/778/448 829/1043/448 967/884/448 -f 962/875/443 952/867/443 969/886/443 -f 965/877/441 964/883/441 971/888/441 -f 952/867/443 910/2003/443 973/890/443 -f 959/873/479 974/1044/479 975/891/479 -f 967/884/441 976/1045/441 977/892/441 -f 955/870/443 978/1033/443 979/893/443 -f 859/894/480 980/2005/480 973/895/480 -f 964/883/481 966/2004/481 981/897/481 -f 858/802/441 982/1032/441 980/898/441 -f 960/899/482 975/2006/482 981/900/482 -f 983/901/483 957/879/483 821/881/483 -f 984/903/441 819/773/441 822/772/441 -f 985/904/443 986/909/443 951/868/443 -f 983/905/484 987/1042/484 958/906/484 -f 989/907/443 954/1031/443 953/869/443 -f 986/909/443 990/918/443 909/866/443 -f 991/910/485 856/2007/485 909/911/485 -f 992/913/441 857/1034/441 856/801/441 -f 808/762/486 992/913/486 991/914/486 -f 809/915/487 991/910/487 990/912/487 -f 817/917/488 816/768/488 990/918/488 -f 837/784/489 989/907/489 988/908/489 -f 833/781/490 987/1042/490 983/905/490 -f 836/921/488 817/917/488 986/909/488 -f 993/922/491 994/926/491 819/773/491 -f 905/848/492 983/901/492 820/902/492 -f 996/924/486 828/777/486 827/779/486 -f 994/926/493 906/998/493 820/771/493 -f 979/927/768 978/927/769 997/927/770 -f 970/927/541 969/927/496 999/927/771 -f 969/927/772 973/927/773 1001/927/774 -f 974/928/501 971/2008/501 981/929/501 -f 1002/931/502 1003/1041/502 997/932/502 -f 1004/934/502 1005/1030/502 999/935/502 -f 1006/937/503 1007/2009/503 1008/938/503 -f 980/927/775 982/927/506 1005/927/776 -f 972/927/508 971/927/777 1007/927/778 -f 973/927/517 980/927/512 1004/927/516 -f 977/927/779 976/927/515 1003/927/780 -f 971/927/511 974/927/512 1008/927/510 -f 841/940/441 1009/2010/441 1010/941/441 -f 1011/942/443 846/1019/443 1012/943/443 -f 844/945/450 1014/2011/450 1009/946/450 -f 845/792/447 1015/2012/447 1012/948/447 -f 1009/950/781 862/957/782 867/951/783 -f 1012/953/784 849/959/784 866/954/784 -f 1009/950/785 1014/1036/786 863/956/787 -f 1015/958/524 850/1037/524 849/959/524 -f 892/960/456 1029/963/456 1030/961/456 -f 1029/963/456 871/1994/456 880/825/456 -f 1031/964/456 1032/967/456 1028/965/456 -f 1030/961/456 880/825/456 1032/967/456 -f 1033/968/456 1031/964/456 885/966/456 -f 893/962/456 1030/961/456 1031/964/456 -f 947/970/472 1036/973/472 1037/971/472 -f 944/864/472 890/830/472 1037/971/472 -f 939/974/472 1039/975/472 1036/973/472 -f 936/862/472 944/864/472 1036/973/472 -f 931/976/472 1041/977/472 1039/975/472 -f 928/860/472 936/862/472 1039/975/472 -f 921/978/472 1043/979/472 1041/977/472 -f 914/857/472 928/860/472 1041/977/472 -f 920/980/471 1045/981/471 1043/979/471 -f 1045/981/471 911/858/471 914/857/471 -f 883/972/457 1037/971/457 1033/982/457 -f 890/830/457 893/829/457 1033/982/457 -f 1032/967/456 889/985/456 888/984/456 -f 880/825/456 881/827/456 889/985/456 -f 877/986/441 879/2013/441 1026/987/441 -f 825/989/526 920/2014/526 919/990/526 -f 877/820/527 826/991/527 924/992/527 -f 923/993/443 879/2015/443 877/820/443 -f 826/991/788 919/990/788 1027/2016/788 -f 826/991/526 1027/2016/526 916/994/526 -f 834/782/789 904/855/789 1047/995/790 -f 994/926/791 1048/1027/791 907/997/791 -f 904/850/465 907/849/465 908/999/465 -f 810/763/462 900/837/462 1050/1001/462 -f 816/768/461 815/770/461 1051/1003/461 -f 1051/1003/460 897/1028/460 896/1005/460 -f 900/837/459 894/839/459 1052/1006/459 -f 894/833/532 897/832/532 902/1007/532 -f 1053/1009/441 1048/1027/441 994/926/441 -f 1054/1010/441 1055/1035/441 996/924/441 -f 835/783/443 838/785/443 1057/1011/443 -f 1058/1013/443 831/780/443 834/782/443 -f 903/843/443 815/770/443 818/769/443 -f 807/764/441 810/763/441 1049/1002/441 -f 1060/1015/441 1049/1002/441 824/774/441 -f 1061/1016/792 1062/1089/792 1063/1017/792 -f 1011/942/443 1058/1013/443 1046/996/443 -f 1056/1012/443 1057/1011/443 844/1020/443 -f 1052/1008/455 902/1007/455 814/1022/455 -f 1050/1001/459 1052/1006/459 813/1024/459 -f 1049/1002/462 1050/1001/462 812/1025/462 -f 1047/1000/465 908/999/465 848/794/465 -f 1046/996/793 1047/995/794 847/1026/795 -f 1048/1027/796 855/799/797 908/852/798 -f 815/770/461 903/843/461 901/840/461 -f 1051/1003/460 901/840/460 902/842/460 -f 853/800/441 855/799/441 1048/1027/441 -f 807/764/441 1060/1015/441 839/788/441 -f 1059/1014/443 1056/1012/443 843/1021/443 -f 818/769/443 835/783/443 1056/1012/443 -f 807/764/441 1054/1010/441 995/925/441 -f 982/927/799 977/927/496 1002/927/800 -f 1005/1030/502 1002/931/502 1000/933/502 -f 978/927/549 970/927/801 1000/927/802 -f 995/925/486 827/779/486 992/913/486 -f 837/784/488 836/921/488 985/904/488 -f 989/907/443 985/904/443 961/876/443 -f 968/885/441 977/892/441 982/1032/441 -f 955/870/443 962/875/443 970/887/443 -f 857/1034/448 830/778/448 968/885/448 -f 961/876/473 962/875/473 955/870/473 -f 876/821/445 843/789/445 840/791/445 -f 1060/1015/441 823/776/441 840/786/441 -f 818/769/443 817/917/443 836/921/443 -f 827/779/441 830/778/441 857/1034/441 -f 844/1020/443 1057/1011/443 1058/1013/443 -f 1057/1011/443 838/785/443 831/780/443 -f 1055/1035/441 1053/1009/441 993/922/441 -f 1014/1036/803 1013/955/520 866/954/520 -f 1015/958/519 1010/952/519 867/951/519 -f 844/1020/443 1011/942/443 1013/944/443 -f 854/798/441 1010/941/441 1015/1039/441 -f 976/927/506 972/927/804 1006/927/805 -f 1003/1041/503 1006/937/503 998/939/503 -f 974/927/540 979/927/799 998/927/806 -f 996/924/491 993/922/491 984/903/491 -f 832/919/489 988/908/489 987/1042/489 -f 988/908/443 953/869/443 958/906/443 -f 828/777/441 984/903/441 963/878/441 -f 956/871/443 979/893/443 974/1044/443 -f 967/884/441 965/877/441 972/889/441 -f 963/878/476 965/877/476 967/884/476 -f 958/906/474 953/869/474 956/871/474 -f 867/815/441 860/814/441 851/1046/441 -f 863/1048/443 866/810/443 861/812/443 -f 864/823/449 861/804/449 860/806/449 -f 841/940/441 854/798/441 853/800/441 -f 838/785/443 837/784/443 832/919/443 -f 873/1051/807 1065/1112/807 1066/1052/807 -f 1064/1018/808 1063/1017/808 1067/1053/808 -f 1070/1055/808 1071/1093/808 1072/1056/808 -f 1074/1058/809 1075/1092/809 1076/1059/809 -f 1069/1057/553 1072/1056/553 1078/1061/553 -f 1079/1063/552 1064/1018/552 1068/1054/552 -f 1072/1065/455 1081/2017/455 1082/1066/455 -f 1083/1068/810 1084/1087/810 1085/1069/810 -f 1074/1071/445 1088/2018/445 1089/1072/445 -f 1064/1074/811 1085/2019/811 1084/1075/811 -f 873/1077/555 1090/2020/555 1086/1078/555 -f 1061/1080/812 1084/2021/812 1091/1081/812 -f 872/1083/557 1093/1804/557 1090/1084/557 -f 1094/1086/813 1095/1135/814 1084/1087/813 -f 1096/1088/815 1097/2022/816 1062/1089/816 -f 1087/1090/817 872/816/818 875/818/819 -f 1087/1090/561 1098/1091/561 1075/1092/561 -f 1071/1093/816 1097/2022/816 1096/1088/820 -f 1081/1094/821 1095/1135/822 1094/1086/821 -f 1096/1096/823 1095/2023/823 1081/1097/823 -f 1093/1099/555 1100/1133/555 1101/1100/555 -f 1088/1102/443 1082/1095/443 1094/1086/443 -f 1093/1099/555 1099/1101/555 1102/1104/555 -f 1079/1079/555 1086/1078/555 1085/1106/555 -f 1093/1108/443 1083/1068/443 1086/1070/443 -f 1078/1067/455 1082/1066/455 1088/1110/455 -f 1079/1063/552 1080/1064/552 1065/1112/552 -f 1073/1060/553 1077/1062/553 1078/1061/553 -f 1104/1113/443 1102/2024/443 1099/1114/443 -f 1094/1116/455 1104/2025/455 1103/1117/455 -f 1089/1118/455 1105/1128/455 1106/1119/455 -f 1083/1121/502 1102/2026/502 1104/1122/502 -f 1106/1124/445 1105/1127/445 1100/1125/445 -f 1105/1127/445 1108/2027/445 1101/1121/445 -f 1103/1117/455 1108/2028/455 1105/1128/455 -f 872/1129/441 1087/2029/441 1106/1130/441 -f 872/1132/555 1107/2030/555 1100/1133/555 -f 1099/1114/443 1101/2031/443 1108/1134/443 -f 1095/1135/824 1109/2032/824 1091/1136/824 -f 1096/1137/825 1110/2033/825 1109/1138/825 -f 1092/1140/826 1091/2034/826 1109/1141/826 -f 1061/1143/827 1092/2035/827 1110/1144/827 -f 1112/1146/571 1113/2036/571 1114/1147/571 -f 1150/2037/441 1139/1154/441 1140/1153/441 -f 1140/1153/441 1141/1151/441 1150/2037/441 -f 1141/1151/441 1142/2038/441 1143/1149/441 -f 1150/2037/441 1141/1151/441 1137/2039/441 -f 1143/1149/441 1144/2040/441 1148/1150/441 -f 1144/2040/441 1145/2041/441 1148/1150/441 -f 1145/2041/441 1146/2042/441 1147/2043/441 -f 1148/1150/441 1145/2041/441 1147/2043/441 -f 1148/1150/441 1149/2044/441 1141/1151/441 -f 1149/2044/441 1138/2045/441 1141/1151/441 -f 1138/2045/441 1137/2039/441 1141/1151/441 -f 1114/1152/572 1113/2046/572 1140/1153/572 -f 1151/2047/443 1152/2048/443 1160/1156/443 -f 1152/2048/443 1153/2049/443 1160/1156/443 -f 1153/2049/443 1154/2050/443 1160/1156/443 -f 1154/2050/443 1155/1157/443 1160/1156/443 -f 1155/1157/443 1156/2051/443 1136/2052/443 -f 1156/2051/443 1157/2053/443 1136/2052/443 -f 1136/2052/443 1135/2054/443 1155/1157/443 -f 1135/2054/443 1158/1155/443 1155/1157/443 -f 1158/1155/443 1159/2055/443 1160/1156/443 -f 1160/1156/443 1161/1159/443 1151/2047/443 -f 1161/1159/443 1162/2056/443 1151/2047/443 -f 1111/1158/573 1162/2056/573 1161/1159/573 -f 1190/1161/574 1191/1164/574 1192/1162/574 -f 1191/1164/575 1193/2057/575 1194/1165/575 -f 1193/1166/576 1195/1169/576 1196/1167/576 -f 1195/1169/577 1197/2058/577 1198/1170/577 -f 1197/1171/603 1199/1174/603 1200/1172/603 -f 1199/1174/579 1201/1176/579 1202/1175/579 -f 1201/1176/580 1203/2059/580 1204/1177/580 -f 1203/1178/581 1205/1181/581 1206/1179/581 -f 1205/1181/582 1207/1183/582 1208/1182/582 -f 1207/1183/583 1209/1185/583 1210/1184/583 -f 1209/1185/584 1211/2060/584 1212/1186/584 -f 1211/1187/585 1190/1161/585 1189/1163/585 -f 1213/1191/828 1214/2061/828 1196/1192/828 -f 1198/2062/829 1200/1189/829 1213/1191/829 -f 1200/1189/830 1202/2063/831 1216/1190/830 -f 1202/2063/832 1215/2064/833 1216/1190/834 -f 1213/1191/835 1196/1192/835 1198/2062/835 -f 1217/2065/836 1218/2066/836 1189/2067/837 -f 1189/2067/838 1192/2068/839 1217/2065/839 -f 1192/2068/840 1194/2069/840 1217/2065/840 -f 1194/2069/841 1196/1192/841 1221/1194/841 -f 1196/1192/587 1214/2061/587 1219/2070/587 -f 1220/1193/587 1196/1192/587 1219/2070/587 -f 1221/1194/842 1217/2065/842 1194/2069/842 -f 1222/1196/843 1223/2071/843 1208/2072/843 -f 1210/1197/844 1212/2073/844 1224/1195/844 -f 1212/2073/845 1189/2067/846 1224/1195/845 -f 1222/1196/843 1208/2072/843 1210/1197/843 -f 1189/2067/847 1218/2066/848 1224/1195/848 -f 1225/1198/849 1215/2064/850 1202/2063/851 -f 1202/2063/852 1204/2074/853 1225/1198/853 -f 1204/2074/854 1206/1199/854 1225/1198/854 -f 1206/1199/855 1208/2072/855 1226/1200/855 -f 1208/2072/855 1223/2071/855 1226/1200/855 -f 1201/2075/856 1178/2076/857 1180/1201/858 -f 1182/1202/859 1184/2077/859 1207/2078/859 -f 1203/2079/860 1201/2075/861 1180/1201/860 -f 1182/1202/859 1207/2078/859 1205/1203/859 -f 1203/2079/862 1180/1201/862 1205/1203/862 -f 1195/1209/863 1171/2080/863 1174/1204/863 -f 1176/1205/864 1178/2076/865 1201/2075/866 -f 1197/2081/867 1195/1209/867 1174/1204/867 -f 1176/1205/868 1201/2075/869 1199/1206/868 -f 1197/2081/870 1174/1204/870 1199/1206/870 -f 1190/2082/871 1166/2083/872 1165/2084/872 -f 1190/2082/873 1165/2084/874 1191/2085/874 -f 1165/2084/875 1168/2086/875 1193/2087/875 -f 1193/2087/876 1191/2085/876 1165/2084/876 -f 1171/2080/592 1195/1209/592 1172/1208/592 -f 1195/1209/877 1193/2087/877 1168/2086/877 -f 1227/1207/592 1195/1209/592 1168/2086/592 -f 1207/2078/878 1184/2077/878 1186/2088/878 -f 1188/1211/879 1166/2083/879 1190/2082/880 -f 1209/1210/878 1207/2078/878 1186/2088/878 -f 1186/2088/881 1188/1211/881 1209/1210/881 -f 1188/1211/882 1190/2082/883 1211/1212/882 -f 1264/1213/884 1265/1318/885 1266/1214/441 -f 1265/1216/455 1267/2089/455 1268/1217/455 -f 1267/1219/443 1269/1351/443 1270/1220/443 -f 1272/1222/555 1264/1386/555 1263/1223/555 -f 1263/2090/445 1266/2091/445 1271/1227/445 -f 1266/2091/445 1268/1225/445 1271/1227/445 -f 1268/1225/445 1270/2092/445 1273/1226/445 -f 1274/1228/527 1275/1228/527 1276/1229/527 -f 1278/927/527 1279/927/527 1280/927/527 -f 1282/1231/595 1283/1238/595 1276/1229/595 -f 1269/1232/597 1285/2093/597 1286/1233/597 -f 1267/1235/598 1265/2094/598 1282/1236/598 -f 1290/1371/599 1276/1229/599 1289/2095/599 -f 1276/1229/599 1283/1238/599 1288/1240/599 -f 1289/2095/599 1276/1229/599 1288/1240/599 -f 1292/1241/600 1293/2096/600 1294/1242/600 -f 1277/1244/443 1296/1286/443 1297/1245/443 -f 1278/1247/886 1281/2097/886 1299/1248/886 -f 1282/1231/595 1283/1238/595 1299/1250/595 -f 1285/927/527 1300/927/527 1295/927/527 -f 1300/1251/602 1274/1352/602 1277/1244/602 -f 1286/1233/603 1285/2093/603 1292/1241/603 -f 1303/1254/443 1297/1245/443 1296/1286/443 -f 1296/1286/443 1301/1252/443 1303/1254/443 -f 1304/927/527 1303/927/527 1302/927/887 -f 1287/1255/650 1306/2098/650 1307/1256/650 -f 1281/927/527 1280/927/527 1309/927/596 -f 1276/1229/599 1290/1371/599 1296/1257/599 -f 1299/1248/606 1281/2097/606 1310/1258/606 -f 1287/1239/599 1306/2099/599 1299/1250/599 -f 1292/927/527 1295/927/527 1297/927/596 -f 1308/1260/502 1312/2100/502 1313/1261/502 -f 1314/927/611 1305/927/888 1302/927/889 -f 1312/927/497 1308/927/497 1307/927/497 -f 1316/1263/890 1304/1370/890 1305/1264/890 -f 1287/1239/614 1308/2101/614 1311/1266/614 -f 1318/927/527 1319/927/527 1312/927/887 -f 1296/1257/614 1290/1371/614 1314/1267/614 -f 1307/1270/891 1306/1259/891 1318/1268/891 -f 1306/1259/892 1310/1258/892 1318/1268/892 -f 1306/1259/441 1320/2102/441 1321/1271/441 -f 1290/1272/443 1276/1634/443 1322/1273/443 -f 1325/1275/441 1326/2103/441 1327/1276/441 -f 1330/2104/443 1314/2105/443 1329/1280/443 -f 1314/2105/893 1290/1278/893 1329/1280/893 -f 1331/1281/443 1332/1315/443 1333/1282/443 -f 1337/1311/894 1306/1259/894 1336/1285/894 -f 1306/1259/895 1307/1270/895 1336/1285/895 -f 1296/1286/443 1331/1281/443 1334/1283/443 -f 1324/1277/441 1327/1276/441 1287/1287/441 -f 1328/1289/622 1290/2106/622 1338/1290/622 -f 1326/927/527 1340/927/527 1341/927/596 -f 1343/1291/896 1330/2107/896 1329/1292/896 -f 1335/1294/617 1307/2108/617 1345/1295/617 -f 1299/1297/618 1321/2109/618 1322/1298/618 -f 1276/1299/527 1283/2110/527 1299/1297/527 -f 1321/1300/619 1320/2111/619 1323/1301/619 -f 1296/988/618 1290/2112/618 1323/1306/618 -f 1340/927/527 1346/927/527 1347/927/596 -f 1331/927/527 1348/927/527 1349/927/527 -f 1306/1308/527 1337/1309/527 1350/1309/527 -f 1346/1311/897 1352/2113/897 1353/1312/897 -f 1354/1314/898 1355/1331/898 1349/1315/898 -f 1267/1219/625 1268/1221/625 1356/1316/625 -f 1265/1318/626 1358/1322/626 1359/1319/626 -f 1356/1316/629 1360/1323/629 1361/1320/629 -f 1362/1321/630 1363/1326/630 1359/1319/630 -f 1360/1323/629 1364/1328/629 1365/1324/629 -f 1362/1321/630 1366/1330/630 1367/1325/630 -f 1360/1323/443 1368/2114/443 1369/1327/443 -f 1367/1325/441 1370/2115/441 1371/1329/441 -f 1353/1312/899 1352/2113/899 1366/1330/899 -f 1354/1314/900 1361/1320/900 1365/1324/900 -f 1352/1332/901 1346/2116/901 1349/1333/901 -f 1365/1335/902 1366/1336/902 1352/1332/902 -f 1366/1336/903 1365/1335/903 1364/1337/903 -f 1369/1339/455 1370/2117/455 1367/1338/455 -f 1369/1340/635 1368/2118/635 1371/1341/635 -f 1368/1343/555 1360/2119/555 1363/1344/555 -f 1356/1346/445 1359/2120/445 1363/1347/445 -f 1268/1217/636 1266/1218/636 1359/1349/636 -f 1264/1213/904 1278/1247/638 1298/1249/638 -f 1269/1351/640 1267/1219/640 1274/1352/640 -f 1347/1353/905 1353/2121/905 1354/1354/905 -f 1354/1356/906 1353/2122/906 1362/1357/906 -f 1351/1359/643 1350/2123/643 1339/1360/643 -f 1361/1358/907 1362/1357/907 1358/1362/907 -f 1343/1364/617 1372/2124/617 1314/1365/617 -f 1310/927/527 1309/927/527 1319/927/604 -f 1336/1367/896 1335/2125/896 1344/1368/896 -f 1294/1242/650 1293/2096/650 1304/1370/650 -f 1290/1371/614 1289/2095/614 1374/1372/614 -f 1294/1242/647 1316/1263/647 1376/1373/647 -f 1376/1373/613 1313/2126/613 1312/1375/613 -f 1316/1377/649 1342/2127/649 1373/1378/649 -f 1374/1379/502 1317/1260/502 1305/1262/502 -f 1375/1374/908 1376/1373/908 1319/1376/908 -f 1377/1382/603 1378/1385/603 1280/1383/603 -f 1377/1382/603 1286/1233/603 1291/1243/603 -f 1378/1385/600 1375/1374/600 1309/1381/600 -f 1291/1243/600 1294/1242/600 1375/1374/600 -f 1272/1222/651 1377/1382/651 1279/1384/651 -f 1284/1234/597 1286/1233/597 1377/1382/597 -f 1269/1232/555 1284/1234/555 1273/1387/555 -f 1284/1234/555 1272/1222/555 1271/1224/555 -f 1373/1369/652 1342/1293/652 1380/1389/652 -f 1337/1391/909 1336/1367/909 1373/1369/909 -f 1342/1293/910 1329/1292/910 1328/1392/910 -f 1293/927/527 1297/927/527 1303/927/604 -f 1373/1393/443 1344/2128/443 1311/1394/443 -f 1311/1394/443 1313/2129/443 1376/1396/443 -f 1374/1397/441 1289/1401/441 1316/1398/441 -f 1374/1397/441 1343/2130/441 1342/1400/441 -f 1381/1402/443 1382/2131/443 1287/1403/443 -f 1383/1405/443 1384/2132/443 1296/1286/443 -f 1386/1406/455 1387/2133/455 1388/1407/455 -f 1390/1409/443 1391/1550/443 1392/1410/443 -f 1393/1412/502 1394/2134/502 1395/1413/502 -f 1396/1415/441 1397/2135/441 1398/1416/441 -f 1390/1418/445 1401/1427/445 1402/1419/445 -f 1403/1421/911 1385/1614/911 1396/1422/911 -f 1399/1424/502 1406/2136/502 1407/1425/502 -f 1401/1427/445 1408/1441/445 1409/1428/445 -f 1396/1422/502 1399/2137/502 1410/1429/502 -f 1393/1430/443 1411/2138/443 1408/1431/443 -f 1413/1433/555 1405/1669/555 1414/1434/555 -f 1416/1436/555 1417/1693/555 1418/1437/555 -f 1419/1439/555 1420/2139/555 1421/1440/555 -f 1408/1441/445 1419/1737/445 1422/1442/445 -f 1399/1392/455 1426/2140/455 1427/1446/455 -f 1411/1448/443 1428/1695/443 1417/1449/443 -f 1399/1451/441 1405/2141/441 1429/1452/441 -f 1430/1454/912 1425/1651/912 1424/1455/912 -f 1425/1445/913 1432/2142/913 1433/1457/913 -f 1438/1461/656 1439/1527/656 1440/1462/656 -f 1427/1464/657 1426/2143/657 1441/1465/657 -f 1435/1459/658 1428/1695/658 1443/1467/658 -f 1445/1469/659 1436/1658/659 1438/1461/659 -f 1446/1470/443 1447/1526/443 1448/1471/443 -f 1433/1457/660 1432/2142/660 1450/1473/660 -f 1441/1465/661 1452/2144/661 1453/1475/661 -f 1443/1467/662 1454/1529/662 1455/1476/662 -f 1457/1477/663 1458/2145/663 1459/1478/663 -f 1461/1480/441 1462/2146/441 1463/1481/441 -f 1463/1481/441 1462/2146/441 1457/1483/441 -f 1465/1485/441 1461/1480/441 1460/1482/441 -f 1452/1487/664 1460/1493/664 1466/1488/664 -f 1462/1490/665 1449/2147/665 1468/1491/665 -f 1460/1493/666 1463/2148/666 1469/1494/666 -f 1470/1495/441 1471/2149/441 1472/1496/441 -f 1475/1498/667 1476/2150/667 1477/1499/667 -f 1479/1501/443 1480/2151/443 1481/1502/443 -f 1477/1499/668 1476/2150/668 1481/1504/668 -f 1483/1506/443 1484/1519/443 1479/1501/443 -f 1486/1507/669 1475/1633/669 1474/1508/669 -f 1488/1510/441 1471/2149/441 1470/1495/441 -f 1490/1512/702 1491/2152/702 1492/1513/702 -f 1494/1515/671 1486/2153/671 1485/1516/671 -f 1465/1520/672 1497/1523/672 1498/1521/672 -f 1497/1523/673 1490/1512/673 1489/1514/673 -f 1500/1524/441 1488/1510/441 1487/1511/441 -f 1484/1519/443 1454/1529/443 1447/1526/443 -f 1450/1473/441 1500/1524/441 1499/1525/441 -f 1439/1527/674 1494/2154/674 1493/1528/674 -f 1454/1529/443 1484/1519/443 1495/1518/443 -f 1462/1530/675 1461/2155/675 1446/1531/675 -f 1386/1533/445 1502/1552/445 1503/1534/445 -f 1464/1536/676 1457/1477/676 1456/1479/676 -f 1389/1414/502 1392/2156/502 1505/1538/502 -f 1386/1540/441 1385/2157/441 1506/1541/441 -f 1508/1543/678 1509/2158/678 1510/1544/678 -f 1511/1546/443 1512/1579/443 1468/1547/443 -f 1502/1542/441 1506/1541/441 1513/1548/441 -f 1391/1550/443 1510/2159/443 1509/1551/443 -f 1502/1552/679 1514/2160/679 1515/1553/679 -f 1484/1554/680 1517/2161/680 1518/1555/680 -f 1465/1485/441 1519/2162/441 1520/1557/441 -f 1459/1478/694 1458/2145/694 1521/1558/694 -f 1517/1560/682 1523/2163/682 1524/1561/682 -f 1523/1563/683 1525/2164/683 1526/1564/683 -f 1457/1483/441 1462/2146/441 1467/1566/441 -f 1448/1471/443 1527/2165/443 1511/1546/443 -f 1463/1568/684 1464/2166/684 1403/1421/684 -f 1484/1519/443 1446/1470/443 1523/1570/443 -f 1528/1572/914 1529/2167/690 1530/1573/690 -f 1525/1574/688 1529/2167/688 1528/1572/688 -f 1458/1567/441 1467/1566/441 1531/1576/441 -f 1468/1547/443 1529/1580/443 1525/1578/443 -f 1512/1579/443 1530/2168/443 1529/1580/443 -f 1467/1566/441 1520/1557/441 1532/1581/441 -f 1533/1582/688 1534/1585/688 1531/1583/688 -f 1526/1575/688 1528/1572/688 1534/1585/688 -f 1534/1585/915 1522/1587/916 1521/1586/917 -f 1528/1572/918 1508/1543/919 1522/1587/920 -f 1535/1588/684 1504/1539/684 1527/1589/684 -f 1469/1569/684 1403/1421/684 1504/1539/684 -f 1536/1591/683 1533/1594/683 1532/1592/683 -f 1524/1565/683 1526/1564/683 1533/1594/683 -f 1537/1595/682 1536/1598/682 1520/1596/682 -f 1518/1562/682 1524/1561/682 1536/1598/682 -f 1538/1599/921 1508/1602/921 1530/1600/921 -f 1459/1478/695 1522/1559/695 1508/1602/695 -f 1496/1603/665 1537/1606/665 1519/1604/665 -f 1516/1556/680 1518/1555/680 1537/1606/680 -f 1539/1607/679 1507/1610/679 1510/1608/679 -f 1503/1534/679 1515/1553/679 1507/1610/679 -f 1513/1611/678 1522/1587/678 1515/1612/678 -f 1522/1587/678 1508/1543/678 1507/1545/678 -f 1385/1614/922 1403/1421/922 1540/1615/922 -f 1504/1539/697 1505/1538/697 1540/1615/697 -f 1504/1617/676 1541/1620/676 1511/1618/676 -f 1403/1537/676 1456/1479/676 1541/1620/676 -f 1400/1420/445 1539/1607/445 1391/1609/445 -f 1501/1535/445 1503/1534/445 1539/1607/445 -f 1542/1621/923 1543/2169/923 1500/1622/923 -f 1516/1624/698 1544/1627/698 1479/1625/698 -f 1498/1521/673 1489/1514/673 1544/1627/673 -f 1543/1628/924 1545/2170/924 1488/1629/924 -f 1544/1627/702 1546/1632/702 1480/1631/702 -f 1489/1514/702 1492/1513/702 1546/1632/702 -f 1545/1633/669 1547/2171/669 1471/1634/669 -f 1472/1635/668 1548/2172/668 1549/1636/668 -f 1547/1638/667 1548/2172/667 1472/1635/667 -f 1550/1640/666 1535/1643/666 1448/1641/666 -f 1466/1488/666 1469/1494/666 1535/1643/666 -f 1551/1644/664 1550/1640/664 1447/1642/664 -f 1453/1489/664 1466/1488/664 1550/1640/664 -f 1541/1620/663 1538/1599/663 1512/1601/663 -f 1456/1479/663 1459/1478/663 1538/1599/663 -f 1443/1646/661 1552/1649/661 1551/1647/661 -f 1442/1466/661 1453/1475/661 1551/1647/661 -f 1430/1454/659 1553/1652/659 1432/1650/659 -f 1445/1469/659 1437/1463/659 1553/1652/659 -f 1554/1653/657 1552/1649/657 1443/1646/657 -f 1427/1464/657 1442/1466/657 1552/1649/657 -f 1432/1650/656 1553/1652/656 1542/1621/656 -f 1556/1655/703 1430/1454/703 1445/1469/703 -f 1445/1469/704 1557/1659/704 1434/1657/704 -f 1430/1454/704 1431/1456/704 1557/1659/704 -f 1558/1660/455 1554/1663/455 1428/1661/455 -f 1410/1447/455 1427/1446/455 1554/1663/455 -f 1559/1664/445 1412/1667/445 1414/1665/445 -f 1409/1428/445 1422/1442/445 1412/1667/445 -f 1413/1433/555 1560/1670/555 1429/1668/555 -f 1415/1438/555 1418/1437/555 1560/1670/555 -f 1416/1436/555 1415/1438/555 1422/1671/555 -f 1415/1438/555 1413/1433/555 1412/1435/555 -f 1561/1672/502 1558/1674/502 1411/1673/502 -f 1404/1423/502 1410/1429/502 1558/1674/502 -f 1562/1675/445 1559/1664/445 1398/1666/445 -f 1402/1419/445 1409/1428/445 1559/1664/445 -f 1504/1539/653 1561/1672/653 1393/1412/653 -f 1403/1421/653 1404/1423/653 1561/1672/653 -f 1501/1535/445 1562/1675/445 1397/1676/445 -f 1400/1420/445 1402/1419/445 1562/1675/445 -f 1418/1437/706 1557/1694/706 1431/1677/706 -f 1429/1668/706 1560/1670/706 1431/1677/706 -f 1549/1636/668 1482/1505/668 1546/1679/668 -f 1473/1637/668 1549/1636/668 1492/1680/668 -f 1439/1682/443 1455/1476/443 1495/1518/443 -f 1452/1486/441 1451/1474/441 1499/1525/441 -f 1499/1525/441 1487/1511/441 1497/1684/441 -f 1494/1683/443 1495/1518/443 1483/1506/443 -f 1487/1511/441 1470/1495/441 1490/1686/441 -f 1486/1685/443 1483/1506/443 1478/1503/443 -f 1482/1505/668 1481/1504/668 1480/1688/668 -f 1478/1503/443 1481/1502/443 1476/1689/443 -f 1490/1686/441 1470/1495/441 1473/1497/441 -f 1444/1468/662 1455/1476/662 1439/1682/662 -f 1441/1692/660 1433/1457/660 1451/1474/660 -f 1436/1460/658 1435/1459/658 1444/1468/658 -f 1417/1693/706 1434/2173/706 1557/1694/706 -f 1428/1695/443 1435/1459/443 1434/1458/443 -f 1423/1443/655 1433/1457/655 1441/1692/655 -f 1426/1453/441 1429/1452/441 1424/1444/441 -f 1542/2174/925 1553/2175/925 1556/2176/925 -f 1553/2175/926 1430/2177/926 1556/2176/926 -f 1556/2176/927 1563/1696/927 1547/1698/927 -f 1563/1696/928 1549/2178/928 1548/1697/928 -f 1547/1698/929 1545/2179/929 1556/2176/929 -f 1545/2179/930 1543/2180/930 1556/2176/930 -f 1543/2180/931 1542/2174/931 1556/2176/931 -f 1437/2181/932 1440/2182/932 1482/1701/932 -f 1440/2182/441 1493/1699/441 1482/1701/441 -f 1493/1699/441 1485/2183/441 1474/1700/441 -f 1474/1700/441 1477/2184/441 1482/1701/441 -f 1395/1702/443 1394/2185/443 1565/1703/443 -f 1389/1705/455 1395/2186/455 1564/1706/455 -f 1401/1708/555 1565/2187/555 1394/1709/555 -f 1390/1418/445 1564/2188/445 1565/1711/445 -f 1567/1712/441 1388/2189/441 1387/1713/441 -f 1396/1715/555 1567/2190/555 1566/1716/555 -f 1385/1614/502 1388/2191/502 1567/1718/502 -f 1397/1676/445 1566/2192/445 1387/1719/445 -f 1568/1720/441 1569/2193/441 1407/1721/441 -f 1398/1723/455 1568/2194/455 1406/1724/455 -f 1414/1665/445 1569/2195/445 1568/1726/445 -f 1405/1669/555 1407/2196/555 1569/957/555 -f 1570/1727/443 1571/2197/443 1421/1728/443 -f 1416/1730/502 1421/2198/502 1571/1731/502 -f 1411/1733/455 1571/2199/455 1570/1734/455 -f 1408/1441/445 1570/2200/445 1420/1736/445 -f 1468/1738/666 1523/2201/666 1520/1739/666 -f 1461/1741/663 1520/2202/663 1523/1742/663 -f 1563/1762/708 1591/2203/708 1592/1763/708 -f 1482/1765/703 1549/2204/703 1563/1766/703 -f 1591/1768/933 1593/2205/933 1594/1769/933 -f 1563/1771/710 1556/1076/710 1593/1772/710 -f 1555/1774/934 1590/2206/934 1592/1775/934 -f 1555/1777/935 1594/2207/935 1593/1778/935 -f 1595/1780/936 1594/2208/936 1596/1781/936 -f 1598/1783/937 1599/1809/937 1596/1784/937 -f 1599/1786/938 1600/2209/938 1601/1787/938 -f 1601/1789/939 1600/2210/939 1602/1790/939 -f 1602/1790/940 1604/2211/940 1605/1792/940 -f 1605/1793/714 1604/2212/714 1606/1794/714 -f 1607/1796/941 1593/2213/941 1608/1797/941 -f 1595/1780/942 1597/1782/942 1608/1799/942 -f 1597/1801/943 1592/2214/943 1594/1802/943 -f 1594/1776/944 1592/1775/944 1599/1786/944 -f 1606/1794/945 1591/1773/945 1593/1772/945 -f 1591/1804/946 1597/1801/946 1595/1803/946 -f 1645/2215/729 1643/2216/729 1647/1815/729 -f 1643/2216/729 1642/1816/729 1647/1815/729 -f 1642/1816/729 1653/2217/729 1651/2218/729 -f 1651/2218/729 1649/1814/729 1642/1816/729 -f 1661/2219/730 1655/2220/730 1660/1818/730 -f 1655/2220/730 1656/1819/730 1660/1818/730 -f 1656/1819/730 1657/2221/730 1658/2222/730 -f 1658/2222/730 1659/1817/730 1656/1819/730 -f 1662/1820/731 1654/1824/731 1641/1821/731 -f 1664/1823/732 1652/2223/732 1654/1824/732 -f 1650/1825/733 1652/2223/733 1664/1823/733 -f 1648/1827/734 1650/1825/734 1665/1826/734 -f 1646/1829/735 1648/1827/735 1666/1828/735 -f 1668/1831/736 1644/1832/736 1646/1829/736 -f 1663/1822/737 1641/1821/737 1644/1832/737 -f 1683/1833/738 1684/1858/738 1685/1834/738 -f 1687/1836/738 1688/2224/738 1689/1837/738 -f 1691/1839/738 1692/1862/738 1693/1840/738 -f 1696/1842/739 1697/1856/739 1698/1843/739 -f 1700/1845/739 1701/1853/739 1702/1846/739 -f 1704/1848/739 1705/1857/739 1706/1849/739 -f 1708/1851/739 1700/1845/739 1699/1847/739 -f 1701/1853/740 1690/1838/740 1683/1833/740 -f 1694/1841/738 1693/1840/738 1709/1854/738 -f 1697/1856/739 1708/1851/739 1707/1852/739 -f 1697/1856/740 1694/1841/740 1710/1855/740 -f 1708/1851/740 1710/1855/740 1687/1836/740 -f 1696/1842/740 1691/1839/740 1694/1841/740 -f 1700/1845/740 1687/1836/740 1690/1838/740 -f 1704/1848/740 1683/1833/740 1686/1835/740 -f 1701/1853/739 1704/1848/739 1703/1850/739 -f 1690/1838/738 1689/1837/738 1684/1858/738 -f 1712/1859/740 1691/1839/740 1696/1842/740 -f 1711/1860/739 1696/1842/739 1695/1844/739 -f 1712/1859/738 1714/2225/738 1692/1862/738 -f 1702/1846/741 1703/1850/741 1716/1863/741 -f 1698/1843/741 1707/1852/741 1718/1865/741 -f 1707/1852/741 1699/1847/741 1719/1867/741 -f 1699/1847/741 1702/1846/741 1715/1864/741 -f 1695/1844/739 1698/1843/739 1717/1866/739 -f 1721/1869/742 1722/2226/742 1723/1870/742 -f 1725/1872/742 1726/1889/742 1727/1873/742 -f 1729/1875/742 1730/1891/742 1731/1876/742 -f 1734/1878/743 1735/1893/743 1736/1879/743 -f 1738/1881/743 1739/1890/743 1740/1882/743 -f 1742/1884/743 1743/1895/743 1744/1885/743 -f 1737/1883/743 1740/1882/743 1746/1887/743 -f 1744/1885/744 1721/1869/744 1726/1889/744 -f 1730/1891/742 1747/1894/742 1748/1892/742 -f 1745/1888/743 1746/1887/743 1735/1893/743 -f 1746/1887/744 1747/1894/744 1730/1891/744 -f 1740/1882/744 1725/1872/744 1747/1894/744 -f 1736/1879/744 1735/1893/744 1730/1891/744 -f 1739/1890/744 1726/1889/744 1725/1872/744 -f 1743/1895/744 1722/2226/744 1721/1869/744 -f 1741/1886/743 1744/1885/743 1739/1890/743 -f 1726/1889/742 1721/1869/742 1724/1871/742 -f 1749/1896/744 1736/1879/744 1729/1875/744 -f 1733/1880/743 1736/1879/743 1749/1896/743 -f 1750/1897/742 1729/1875/742 1732/1877/742 -f 1753/1900/745 1754/1955/745 1741/1886/745 -f 1756/1901/745 1745/1888/745 1734/1878/745 -f 1757/1903/745 1737/1883/745 1745/1888/745 -f 1757/1903/743 1753/1900/743 1738/1881/743 -f 1755/1902/745 1734/1878/745 1733/1880/745 -f 1714/1905/947 1712/1935/947 1750/1906/947 -f 1685/1908/749 1684/1929/749 1724/1909/749 -f 1715/1911/748 1716/2227/748 1754/1912/748 -f 1689/1914/749 1688/2228/749 1728/1915/749 -f 1717/1917/748 1718/1932/748 1756/1918/748 -f 1693/1920/749 1692/1949/749 1732/1921/749 -f 1713/1923/762 1751/2229/762 1749/1924/762 -f 1705/1926/752 1686/1937/752 1722/1927/752 -f 1684/1929/749 1689/1914/749 1727/1916/749 -f 1719/1930/748 1715/1911/748 1753/1913/748 -f 1718/1932/750 1719/1930/750 1757/1931/750 -f 1709/1933/749 1693/1920/749 1731/1922/749 -f 1711/1925/761 1749/1924/761 1750/1906/761 -f 1685/1936/948 1723/2230/948 1722/1927/948 -f 1688/1938/949 1687/2231/949 1725/1939/949 -f 1709/1941/950 1748/2232/950 1747/1942/950 -f 1687/1944/951 1710/2233/951 1747/1945/951 -f 1751/1939/952 1713/2234/952 1720/1947/952 -f 1720/1947/750 1717/1917/750 1755/1919/750 -f 1692/1949/759 1714/2235/759 1752/1950/759 -f 1706/1951/752 1705/1926/752 1743/1928/752 -f 1716/1953/760 1706/1951/760 1742/1952/760 -f 1772/1956/555 1773/1976/555 1759/1957/555 -f 1772/1956/555 1762/1958/555 1761/1959/555 -f 1775/1961/555 1776/1981/555 1769/1962/555 -f 1778/1964/762 1764/1980/762 1763/1965/762 -f 1779/1967/555 1777/1966/555 1763/1965/555 -f 1780/1969/555 1779/1967/555 1767/1968/555 -f 1780/1969/555 1770/1970/555 1771/1971/555 -f 1782/1973/555 1783/1977/555 1765/1974/555 -f 1782/1973/555 1760/1975/555 1759/1957/555 -f 1783/1977/761 1784/1979/761 1766/1978/761 -f 1784/1979/555 1781/1972/555 1771/1971/555 -f 1778/1964/555 1775/1961/555 1768/1963/555 -f 1774/1960/761 1761/1959/761 1769/1962/761 -f 1823/2236/762 1813/2237/762 1814/1982/762 -f 1814/1982/753 1815/2238/753 1811/2239/753 -f 1815/2238/555 1816/2240/555 1811/2239/555 -f 1811/2239/555 1812/1983/555 1814/1982/555 -f 1812/1983/555 1817/2241/555 1820/1984/555 -f 1817/2241/555 1818/2242/555 1819/2243/555 -f 1820/1984/555 1817/2241/555 1819/2243/555 -f 1820/1984/753 1821/2244/753 1822/2245/753 -f 1822/2245/555 1823/2236/555 1814/1982/555 -f 1820/1984/555 1822/2245/555 1814/1982/555 -s 1 -f 1963/2246/953 1981/2247/954 1968/2248/954 -f 504/2249/955 506/2250/956 503/2251/956 -f 499/2252/957 508/2253/958 500/2254/959 -f 510/2255/960 512/2256/961 509/2257/962 -f 513/2258/963 515/2259/964 516/2260/965 -f 517/2261/966 519/2262/967 520/2263/968 -f 521/2264/969 507/2265/970 499/2266/957 -f 524/2267/971 526/2268/972 523/2269/973 -f 514/2270/974 520/2263/968 515/2271/964 -f 518/2272/975 528/2273/976 519/2274/967 -f 1961/2275/977 1964/2276/978 1962/2277/979 -f 500/2254/959 525/2278/980 524/2279/971 -f 529/2280/981 516/2260/965 537/2281/982 -f 542/2282/983 549/2283/984 550/2284/983 -f 547/2285/985 552/2286/986 546/2287/987 -f 540/2288/988 553/2289/989 554/2290/990 -f 548/2291/991 551/2292/985 547/2285/985 -f 545/2293/992 557/2294/993 544/2295/994 -f 503/2296/956 553/2289/989 541/2297/989 -f 504/2249/955 550/2298/983 505/2299/955 -f 538/2300/995 555/2301/991 548/2302/991 -f 545/2293/992 552/2303/986 556/2304/996 -f 564/2305/997 566/2306/998 563/2307/998 -f 568/2308/999 570/2309/1000 567/2310/1000 -f 572/2311/1001 574/2312/1002 571/2313/1002 -f 575/2314/1003 577/2315/1004 578/2316/1005 -f 563/2317/998 580/2318/1006 579/2319/1006 -f 571/2313/1002 581/2320/1007 561/2321/1008 -f 582/2322/1009 580/2318/1006 583/2323/1010 -f 584/2324/1011 569/2325/999 568/2326/999 -f 572/2327/1001 570/2309/1000 573/2328/1001 -f 582/2329/1009 577/2315/1004 576/2330/1012 -f 1890/2331/1013 1887/2332/1014 1879/2333/1013 -f 1888/2334/1015 1878/2335/1016 1889/2336/1016 -f 1874/2337/1017 1863/2329/1018 1861/2330/1019 -f 1872/2338/1020 1855/2339/1021 1854/2317/1020 -f 1866/2340/1022 1857/2341/1022 1867/2342/1022 -f 1865/2343/1023 1858/2344/1024 1871/2345/1024 -f 1874/2337/1017 1860/2314/1025 1873/2346/1026 -f 1870/2347/1027 1854/2317/1020 1862/2319/1027 -f 1851/2348/1028 1858/2313/1024 1852/2321/1029 -f 1999/2349/1030 1996/2350/1031 2000/2351/1030 -f 1998/2352/1030 2000/2351/1030 1997/2353/1031 -f 1998/2352/1030 1994/2354/1031 1993/2355/1032 -f 1995/2356/1031 1991/2357/1031 1996/2350/1031 -f 1973/2358/1033 1990/2359/1034 1975/2360/1035 -f 1870/2347/1027 1863/2322/1018 1869/2361/1036 -f 1993/2355/1032 1979/2362/1037 1966/2363/1038 -f 598/2364/1039 593/2365/1040 597/2366/1040 -f 587/2340/1041 600/2367/1042 599/2335/1041 -f 602/2368/1043 592/2369/1044 601/2370/1045 -f 603/2371/1046 595/2337/1047 594/2346/1048 -f 605/2372/1049 593/2338/1040 591/2347/1049 -f 601/2370/1045 560/2348/1050 606/2373/1051 -f 607/2374/1052 591/2347/1049 590/2361/1053 -f 608/2332/1054 588/2375/1055 600/2333/1056 -f 602/2376/1057 587/2340/1041 599/2335/1041 -f 1988/2377/1058 1976/2378/1059 1961/2275/977 -f 1913/2379/1060 1921/2380/1061 1926/2381/1062 -f 1912/2382/1063 1922/2383/1064 1904/2384/1065 -f 1928/2385/1066 1916/2386/1067 1910/2387/1068 -f 1912/2382/1063 1925/2388/1069 1930/2389/1070 -f 1910/2387/1068 1915/2390/1071 1902/2391/1072 -f 1909/2392/1073 1918/2393/1074 1917/2394/1073 -f 1906/2395/1075 1919/2396/1076 1907/2397/1077 -f 1905/2398/1078 1922/2383/1064 1921/2380/1061 -f 607/2399/1052 595/2337/1047 604/2400/1079 -f 1902/2391/1072 1923/2401/1080 1903/2402/1080 -f 621/2403/1081 620/2404/1082 617/2405/1081 -f 624/2406/1083 610/2407/1084 623/2408/1084 -f 626/2409/1085 616/2410/1086 625/2411/1086 -f 628/2412/1087 618/2413/1088 627/2414/1089 -f 629/2415/1090 617/2416/1081 614/2417/1090 -f 630/2418/1091 616/2410/1086 615/2419/1092 -f 631/2420/1093 614/2417/1090 613/2421/1094 -f 632/2422/1095 611/2331/1083 624/2423/1083 -f 626/2424/1085 610/2407/1084 609/2425/1085 -f 1935/2426/1096 1957/2427/1097 1949/2428/1098 -f 1942/2429/1099 1958/2430/1100 1943/2431/1101 -f 1945/2432/1102 1951/2433/1103 1937/2434/1103 -f 1946/2435/1104 1955/2436/1105 1947/2437/1106 -f 1932/2438/1107 1958/2430/1100 1933/2439/1107 -f 1940/2440/1108 1957/2427/1097 1944/2441/1109 -f 1939/2442/1110 1952/2443/1111 1953/2444/1110 -f 1942/2429/1099 1950/2445/1112 1956/2446/1113 -f 1931/2447/1114 1955/2436/1105 1941/2448/1115 -f 1940/2440/1108 1953/2444/1110 1954/2449/1108 -f 1938/2450/1111 1951/2433/1103 1952/2443/1111 -f 502/2451/1116 637/2452/1117 638/2453/1116 -f 1992/2454/1031 1987/2455/1118 1991/2357/1031 -f 1959/2456/1119 1990/2359/1034 1977/2457/1119 -f 1988/2377/1058 1985/2458/1120 1989/2459/1121 -f 1971/2460/1122 1987/2455/1118 1974/2461/1118 -f 1969/2462/1123 1983/2463/1124 1970/2464/1124 -f 1973/2358/1033 1980/2465/1125 1986/2466/1033 -f 1960/2467/1126 1985/2458/1120 1972/2468/1127 -f 537/2281/982 530/2469/1128 529/2280/981 -f 1970/2464/1124 1984/2470/1122 1971/2460/1122 -f 531/2471/1129 649/2472/1130 650/2473/1131 -f 2038/2474/1132 2042/2475/1133 2041/2476/1134 -f 639/2477/1135 655/2478/1136 640/2479/1137 -f 641/2480/1138 657/2481/1139 642/2482/1139 -f 643/2483/1140 659/2484/1141 644/2485/1141 -f 645/2486/1142 638/2453/1116 660/2487/1143 -f 640/2479/1137 661/2488/1144 646/2489/1144 -f 643/2483/1140 657/2481/1139 658/2490/1140 -f 647/2491/1145 659/2492/1141 662/2493/1145 -f 1969/2462/1123 1981/2247/954 1982/2494/1123 -f 648/2495/1146 637/2452/1117 501/2496/1117 -f 666/2497/1147 534/2498/1148 653/2499/1148 -f 2041/2476/1134 2040/2500/1149 2039/2501/1150 -f 2039/2501/1150 2036/2502/1151 2035/2503/1150 -f 2008/2504/1150 2037/2505/1152 2038/2474/1132 -f 2019/2506/1153 2031/2507/1154 2020/2508/1155 -f 2035/2503/1150 2021/2509/1156 2013/2510/1157 -f 2005/2511/1158 2030/2512/1159 2034/2513/1160 -f 2006/2514/1161 2034/2513/1160 2032/2515/1162 -f 2008/2504/1150 2028/2516/1163 2033/2517/1150 -f 2002/2518/1164 2032/2515/1162 2003/2519/1164 -f 2020/2520/1155 2011/2521/1165 2010/2522/1166 -f 677/2523/1167 683/2524/1168 681/2525/1168 -f 668/2526/1169 685/2527/445 684/2528/1169 -f 670/2529/1170 688/2530/1171 689/2531/1170 -f 672/2532/1172 533/2533/1173 690/2534/1172 -f 674/2535/1174 691/2536/502 692/2537/1174 -f 675/2538/1175 684/2539/1169 693/2540/1175 -f 670/2529/1170 694/2541/1176 676/2542/1177 -f 672/2543/1172 691/2536/502 673/2544/502 -f 674/2545/1174 682/2546/1167 677/2523/1167 -f 645/2547/1142 660/2548/1143 678/2549/1178 -f 680/2550/1179 685/2527/445 667/2551/445 -f 696/2552/1180 698/2553/1181 699/2554/1182 -f 2029/2555/1183 2026/2556/1184 2030/2512/1159 -f 727/2557/555 731/2558/1185 722/2559/555 -f 732/2560/1186 724/2561/1187 733/2562/1188 -f 734/2563/1189 720/2564/1190 721/2565/1191 -f 737/2566/1192 730/2567/1193 736/2568/1193 -f 713/2569/1194 739/2570/1195 738/2571/1196 -f 740/2572/1197 725/2573/1198 726/2574/1199 -f 741/2575/1200 721/2565/1191 722/2576/1201 -f 731/2577/1185 736/2578/1202 739/2570/1195 -f 738/2579/1203 714/2580/1204 742/2581/1205 -f 743/2582/1206 726/2574/1199 727/2583/1207 -f 733/2562/1188 723/2584/1208 744/2585/1209 -f 746/2586/1210 698/2553/1181 697/2587/1211 -f 2017/2588/1212 2028/2516/1163 2007/2589/1213 -f 615/2419/1092 633/2590/1214 630/2418/1091 -f 1907/2397/1077 1924/2591/1215 1914/2592/1216 -f 606/2373/1051 559/2593/1217 749/2594/1217 -f 1867/2375/1218 1864/2324/1219 1857/2326/1218 -f 561/2321/1008 750/2595/1220 562/2596/1220 -f 554/2290/990 539/2597/1221 540/2288/988 -f 708/2598/1222 665/2599/1223 679/2600/1222 -f 752/2601/1224 720/2564/1190 735/2602/1225 -f 1967/2603/1226 1979/2362/1037 1980/2465/1125 -f 2016/2604/1227 2023/2605/1228 2024/2606/1229 -f 641/2607/1138 651/2608/1230 656/2609/1138 -f 671/2610/1173 534/2498/1148 533/2533/1173 -f 696/2552/1180 729/2611/1231 737/2566/1192 -f 539/2597/1221 558/2612/995 538/2300/995 -f 564/2305/997 750/2595/1220 565/2613/1232 -f 1866/2614/1233 1859/2327/1023 1865/2343/1023 -f 1911/2615/1234 1923/2401/1080 1925/2388/1069 -f 598/2364/1039 559/2593/1217 596/2616/1235 -f 1928/2385/1066 1914/2592/1216 1927/2617/1236 -f 633/2590/1214 620/2404/1082 622/2618/1082 -f 1936/2619/1237 1949/2428/1098 1950/2445/1112 -f 743/2582/1206 728/2620/1238 746/2586/1210 -f 2019/2506/1153 2022/2621/1239 2027/2622/1240 -f 753/2623/1241 714/2580/1204 715/2624/1242 -f 2018/2625/1243 2012/2626/1244 2026/2556/1184 -f 757/2627/1245 688/2530/1171 669/2628/1171 -f 741/2575/1200 723/2629/1246 744/2630/1247 -f 676/2542/1177 695/2631/1179 680/2632/1179 -f 2016/2604/1227 2025/2633/1248 2017/2634/1212 -f 648/2635/1146 661/2488/1144 663/2636/1249 -f 1959/2456/1119 1978/2637/1126 1960/2467/1126 -f 1946/2435/1104 1948/2638/1250 1945/2432/1102 -f 523/2269/973 511/2639/1251 510/2255/960 -f 758/2640/1176 741/2575/1200 744/2630/1247 -f 761/2641/1252 753/2623/1241 760/2642/1253 -f 763/2643/1254 765/2644/1255 762/2645/1256 -f 762/2645/1256 737/2566/1192 766/2646/1148 -f 733/2562/1188 758/2647/1257 767/2648/502 -f 768/2649/1258 743/2582/1206 765/2644/1255 -f 742/2650/1259 769/2651/1169 761/2652/1260 -f 739/2570/1195 771/2653/1261 770/2654/445 -f 772/2655/1262 741/2575/1200 759/2656/1176 -f 740/2657/1263 773/2658/1174 768/2659/1263 -f 738/2571/1196 770/2654/445 769/2660/1169 -f 771/2653/1261 737/2661/1264 766/2662/1264 -f 773/2663/1174 733/2562/1188 767/2648/502 -f 774/2664/1174 767/2648/502 775/2665/502 -f 771/2653/1261 777/2666/1264 776/2667/1261 -f 769/2660/1169 779/2668/445 778/2669/1169 -f 768/2659/1263 774/2670/1174 780/2671/1263 -f 782/2672/1265 759/2656/1176 781/2673/1266 -f 770/2654/445 776/2667/1261 779/2668/445 -f 761/2652/1260 778/2674/1169 783/2675/1267 -f 780/2676/1268 765/2644/1255 764/2677/1269 -f 767/2648/502 784/2678/1257 775/2665/502 -f 763/2643/1254 766/2646/1148 777/2679/1270 -f 712/2680/1271 764/2677/1269 763/2643/1254 -f 760/2681/1272 783/2675/1267 785/2682/1272 -f 781/2673/1266 758/2640/1176 784/2683/1273 -f 706/2684/1274 784/2683/1273 710/2685/1179 -f 707/2686/1275 785/2687/1276 745/2688/1277 -f 535/2689/1148 777/2679/1270 536/2690/1173 -f 734/2563/1189 772/2655/1262 787/2691/1278 -f 746/2586/1210 697/2587/1211 765/2644/1255 -f 710/2692/1179 775/2693/445 686/2694/445 -f 705/2695/1175 764/2677/1269 709/2696/1279 -f 707/2686/1275 778/2697/1174 783/2698/1280 -f 703/2699/502 776/2700/1172 779/2701/502 -f 706/2684/1274 782/2672/1265 781/2673/1266 -f 687/2702/1169 780/2676/1268 705/2695/1175 -f 703/2699/502 778/2703/1174 704/2704/1174 -f 536/2690/1173 776/2705/1172 702/2706/1172 -f 687/2707/1169 775/2693/445 774/2708/1169 -f 745/2688/1277 791/2709/1281 790/2710/1282 -f 792/2711/1283 753/2623/1241 793/2712/1284 -f 636/2713/1285 613/2714/1094 619/2715/1286 -f 793/2712/1284 715/2624/1242 716/2716/1287 -f 2015/2717/1288 2004/2718/1289 2023/2605/1228 -f 681/2525/1168 794/2719/1168 796/2720/1168 -f 757/2627/1245 798/2721/1168 754/2722/1168 -f 2013/2510/1157 2022/2621/1239 2014/2723/1290 -f 789/2724/1291 719/2725/1292 752/2601/1224 -f 786/2726/1293 782/2672/1265 801/2727/1294 -f 1931/2447/1114 1933/2439/1107 1934/2728/1114 -f 627/2414/1089 612/2729/1095 632/2422/1095 -f 1908/2730/1295 1926/2381/1062 1918/2393/1074 -f 608/2332/1054 594/2346/1048 589/2731/1054 -f 1909/2392/1073 1920/2732/1296 1906/2395/1075 -f 1850/2593/1297 1852/2321/1029 1853/2596/1298 -f 584/2324/1011 578/2316/1005 585/2733/1011 -f 544/2295/994 549/2283/984 543/2734/984 -f 509/2257/962 528/2273/976 527/2735/1299 -f 1963/2246/953 1964/2276/978 1965/2736/953 -f 802/2737/1300 799/2738/1300 639/2477/1135 -f 803/2739/1168 798/2721/1168 797/2740/1168 -f 803/2739/1168 794/2719/1168 804/2741/1168 -f 2009/2742/1301 2011/2521/1165 2012/2743/1244 -f 2001/2744/1302 2003/2519/1164 2004/2745/1289 -f 805/2746/1303 791/2709/1281 806/2747/1304 -f 788/2748/1305 718/2749/1306 789/2724/1291 -f 788/2748/1305 716/2716/1287 717/2750/1307 -f 787/2691/1278 793/2712/1284 788/2748/1305 -f 701/2751/1308 700/2752/1309 806/2747/1304 -f 530/2469/1128 635/2753/1310 634/2754/1311 -f 2164/2755/1312 2180/2756/1313 2179/2757/1314 -f 2168/2758/1315 2129/2759/1316 2130/2760/1317 -f 2151/2761/1318 2168/2758/1315 2152/2762/1319 -f 2167/2763/1320 2129/2764/1316 2178/2765/1321 -f 2151/2766/1318 2167/2763/1320 2178/2765/1321 -f 2177/2767/1322 2111/2768/1323 2163/2769/1324 -f 2153/2770/1325 2177/2767/1322 2163/2769/1324 -f 2167/2763/1320 2162/2771/1326 2126/2772/1327 -f 2154/2773/1328 2167/2763/1320 2155/2774/1329 -f 2162/2771/1326 2166/2775/1330 2111/2768/1323 -f 2153/2770/1325 2164/2755/1312 2154/2773/1328 -f 2162/2771/1326 2088/2776/1331 2161/2777/1332 -f 2126/2772/1327 2161/2777/1332 2112/2778/1333 -f 2130/2760/1317 2146/2779/1334 2145/2780/1335 -f 2143/2781/1336 2146/2782/1334 2144/2783/1337 -f 2115/2784/1338 1038/2785/1339 2125/2786/1340 -f 1018/2787/1341 2125/2786/1340 1017/2788/1342 -f 1034/2789/1343 2124/2790/1344 2117/2791/1345 -f 2117/2791/1345 1020/2792/1346 1021/2793/1347 -f 2123/2794/1348 934/2795/1349 2121/2796/1350 -f 950/2797/1351 2121/2796/1350 940/2798/1352 -f 942/2799/1353 2120/2800/1354 2122/2801/1355 -f 1016/2802/1356 2120/2800/1354 941/2803/1357 -f 934/2795/1349 2119/2804/1358 2121/2796/1350 -f 2121/2796/1350 929/2805/1359 940/2798/1352 -f 2120/2800/1354 917/2806/1360 2118/2807/1361 -f 941/2803/1357 2118/2807/1361 930/2808/1362 -f 2116/2809/1363 1034/2789/1343 2117/2791/1345 -f 887/2810/1364 2117/2791/1345 1021/2793/1347 -f 2113/2811/1365 2115/2784/1338 2114/2812/1366 -f 915/2813/1367 2115/2784/1338 1018/2787/1341 -f 868/2814/1368 1044/2815/1369 2113/2811/1365 -f 882/2816/1370 1034/2789/1343 869/2817/1371 -f 2143/2781/1336 2142/2818/1372 2141/2819/1373 -f 932/2820/1374 918/2821/1375 917/2806/1360 -f 937/2822/1376 922/2823/1377 934/2795/1349 -f 926/2824/1378 2142/2818/1372 886/2825/1379 -f 945/2826/1380 932/2820/1374 942/2799/1353 -f 948/2827/1381 934/2795/1349 946/2828/1382 -f 926/2829/1378 938/2830/1383 949/2831/1384 -f 1022/2832/1385 938/2830/1383 1019/2833/1386 -f 1025/2834/1387 1023/2835/1388 1034/2789/1343 -f 1044/2815/1369 1040/2836/1389 1038/2785/1339 -f 1116/2837/1390 1114/2838/1391 1115/2839/1392 -f 1120/2840/1393 1122/2841/1394 1119/2842/1395 -f 1124/2843/1396 1126/2844/1397 1123/2845/1398 -f 1123/2845/1398 1119/2842/1395 1122/2841/1394 -f 1132/2846/1399 1115/2839/1392 1133/2847/1400 -f 1131/2848/1401 1125/2849/1402 1124/2843/1396 -f 1134/2850/1403 1137/2851/1404 1138/2852/1405 -f 1128/2853/1406 2262/2854/1407 1117/2855/1408 -f 1125/2849/1402 1138/2852/1405 1149/2856/1409 -f 1133/2847/1400 1150/2857/1410 1137/2851/1404 -f 1128/2853/1406 2264/2858/1407 2263/2859/1407 -f 1126/2844/1397 1147/2860/1411 1119/2842/1395 -f 1115/2839/1392 1139/2861/1412 1150/2857/1410 -f 1127/2862/1413 2261/2863/1414 2260/2864/1414 -f 1119/2842/1395 1146/2865/1415 1120/2840/1393 -f 1125/2849/1402 1148/2866/1416 1126/2844/1397 -f 1122/2841/1394 1157/2867/1417 1156/2868/1418 -f 1127/2862/1413 2259/2869/1414 1129/2870/1419 -f 1124/2843/1396 1153/2871/1420 1131/2848/1401 -f 1118/2872/1421 1128/2853/1406 1117/2855/1408 -f 1132/2846/1399 1151/2873/1422 1116/2837/1390 -f 1123/2845/1398 1156/2868/1418 1155/2874/1423 -f 1127/2862/1413 1130/2875/1424 1128/2853/1406 -f 1116/2837/1390 1162/2876/1425 1111/2877/1426 -f 1124/2843/1396 1155/2874/1423 1154/2878/1427 -f 1131/2848/1401 1152/2879/1428 1132/2846/1399 -f 2222/2880/1429 2203/2881/1430 2216/2882/1431 -f 2221/2883/1432 2202/2884/1433 2222/2885/1429 -f 2220/2886/1434 2204/1425/1435 2221/2887/1432 -f 2206/2888/1436 2220/2886/1434 2219/2889/1437 -f 2207/2890/1438 2219/2891/1437 2218/2892/1439 -f 2208/2893/1440 2218/2892/1439 2217/2894/1441 -f 2216/2882/1431 2208/2895/1440 2217/2896/1441 -f 2193/2897/1442 2181/2898/1443 2194/2899/1442 -f 2191/2900/1444 2194/2901/1442 2192/2902/1444 -f 2189/2903/1445 2192/2904/1444 2190/2905/1445 -f 1240/2906/1446 1237/2907/1447 1239/2908/1448 -f 1238/2909/1449 1235/2910/1450 1237/2907/1447 -f 1241/2911/1451 1240/2906/1446 1239/2908/1448 -f 1181/2912/1452 1173/2913/1453 1175/2914/1454 -f 1229/2915/1455 1232/2916/1456 1246/2917/1457 -f 1230/1361/1458 1231/2918/1459 1228/2919/1458 -f 1244/2920/1460 1242/2921/1461 1241/2911/1451 -f 1183/2922/1462 1177/2923/1463 1181/2912/1452 -f 1245/2924/1464 1251/2925/1465 1231/2918/1459 -f 2187/2926/1466 2190/2905/1445 2188/2927/1466 -f 1246/2917/1457 1252/2928/1467 1247/2929/1468 -f 1249/2930/1469 1254/2931/1470 1255/2932/1471 -f 1251/2925/1465 1250/2933/1472 1256/2934/1473 -f 2185/2935/1474 2188/2936/1466 2186/2937/1474 -f 1252/2928/1467 1249/2930/1469 1247/2929/1468 -f 1187/2938/1475 1183/2922/1462 1185/2939/1476 -f 1234/2940/1477 1185/2939/1476 1233/2941/1477 -f 1250/2933/1472 1260/2942/1478 1256/2934/1473 -f 2184/2943/1479 2185/2935/1474 2186/2937/1474 -f 2182/2944/1443 2184/2945/1479 2181/2898/1443 -f 1257/2946/1480 1262/2947/1481 1260/2948/1478 -f 1170/2949/1482 1163/2950/1482 1167/2951/1483 -f 1255/2952/1471 1261/2953/1484 1258/2954/1485 -f 2239/2955/1486 2251/2038/1487 2240/2956/1488 -f 2245/2957/1489 2253/2040/1490 2246/2958/1491 -f 2245/2957/1489 2255/2042/1492 2254/2041/1493 -f 2248/2959/1494 2249/2054/1495 2250/2052/1496 -f 2239/2960/1486 2247/2961/1497 2246/2962/1491 -f 2245/2963/1489 2244/2964/1498 2243/1146/1499 -f 2246/2962/1491 2248/2965/1494 2245/2963/1489 -f 2240/2966/1488 2242/2967/1500 2239/2960/1486 -f 1609/2968/1501 1610/2969/1502 1611/2970/1503 -f 1612/2971/1504 1614/2972/1505 1615/2973/1506 -f 1617/2548/1507 1619/2974/1508 1616/2975/1509 -f 1620/2976/1510 1621/2977/1511 1622/2978/1512 -f 1610/2969/1502 1615/2979/1506 1611/2970/1503 -f 1616/2975/1509 1614/2972/1505 1613/2980/1513 -f 1620/2976/1510 1618/2981/1514 1617/2982/1507 -f 1614/2983/1505 1623/2984/1515 1624/2985/1516 -f 1618/2981/1514 1625/2986/1517 1626/2987/1518 -f 1609/2968/1501 1611/2970/1503 1627/2988/1519 -f 1614/2983/1505 1628/2989/1520 1615/2990/1506 -f 1618/2991/1514 1623/2984/1515 1619/2992/1508 -f 1622/2978/1512 1621/2977/1511 1625/2986/1517 -f 1611/2970/1503 1628/2993/1520 1627/2988/1519 -f 1609/2968/1501 1627/2988/1519 1629/2994/1521 -f 1628/2989/1520 1630/2995/1522 1631/2996/1523 -f 1626/2997/1518 1633/2998/1524 1623/2984/1515 -f 1625/2986/1517 1621/2977/1511 1634/2999/1525 -f 1627/2988/1519 1631/3000/1523 1629/2994/1521 -f 1623/2984/1515 1630/2995/1522 1624/2985/1516 -f 1626/2987/1518 1634/2999/1525 1632/3001/1526 -f 1609/2968/1501 1629/2994/1521 1635/3002/1527 -f 1630/3003/1522 1637/3004/1528 1631/3005/1523 -f 1633/3006/1524 1638/3007/1529 1639/3008/1530 -f 1634/2999/1525 1621/2977/1511 1640/3009/1531 -f 1631/3000/1523 1635/3002/1527 1629/2994/1521 -f 1633/3006/1524 1636/3010/1532 1630/3003/1522 -f 1632/3011/1526 1640/3012/1531 1638/3007/1529 -f 2201/3013/1442 2209/3014/1443 2195/3015/1443 -f 2214/3016/1444 2201/3017/1442 2200/3018/1444 -f 2199/3019/1445 2214/2885/1444 2200/3020/1444 -f 2212/3021/1466 2199/3019/1445 2198/3022/1466 -f 2211/3023/1474 2198/3024/1466 2197/3025/1474 -f 2210/3026/1479 2197/3025/1474 2196/3027/1479 -f 2195/3015/1443 2210/3028/1479 2196/3029/1479 -f 2247/3030/1497 2257/1155/1533 2249/2054/1495 -f 2242/3031/1500 2258/2055/1534 2257/1155/1533 -f 2248/2959/1494 2256/2053/1535 2244/3032/1498 -f 2246/2958/1491 2252/1149/1536 2239/2955/1486 -f 2237/3033/1537 2226/3034/455 2223/3035/455 -f 2236/3036/441 2237/3037/1537 2235/3038/441 -f 2233/3039/1538 2236/3036/441 2235/3038/441 -f 2232/3040/555 2233/3041/1538 2231/3042/555 -f 2229/3043/1539 2232/3040/555 2231/3042/555 -f 2228/3044/443 2229/3045/1539 2227/3046/443 -f 2224/3047/1540 2228/3044/443 2227/3046/443 -f 2226/3034/455 2224/3048/1540 2223/3035/455 -f 1675/3049/1541 1676/3050/1542 1669/3051/1543 -f 1674/3052/1544 1682/3053/1545 1675/3049/1541 -f 1680/3054/1546 1674/3052/1544 1673/3055/1547 -f 1679/3056/1548 1673/3055/1547 1672/3057/1549 -f 1678/3058/1550 1672/3057/1549 1671/3059/1551 -f 1670/3060/1552 1678/3058/1550 1671/3059/1551 -f 1669/3051/1543 1677/3061/1553 1670/3060/1552 -f 1792/3062/1554 1798/3063/1555 1800/3064/1556 -f 1791/3065/1557 1799/3066/1558 1798/3067/1555 -f 1786/3068/1559 1808/3069/1560 1799/3066/1558 -f 1785/3070/1561 1809/3071/1562 1808/3069/1560 -f 1790/3072/1563 1810/3073/1564 1809/3074/1562 -f 1789/3075/1565 1807/3076/1566 1810/3073/1564 -f 1787/3077/1567 1807/3076/1566 1788/3078/1568 -f 1797/3079/1569 1806/3080/1570 1787/3077/1567 -f 1796/3081/1571 1805/3082/1572 1797/3083/1569 -f 1795/3084/1573 1803/3085/1574 1796/3081/1571 -f 1795/3086/1573 1801/3087/1575 1804/3088/1576 -f 1793/3089/1577 1801/3087/1575 1794/3090/1578 -f 1792/3062/1554 1802/3091/1579 1793/3089/1577 -f 1837/2613/1580 1836/2302/1581 1838/2306/1581 -f 1839/3092/1582 1825/2249/1583 1840/2309/1583 -f 1841/3093/1584 1829/2297/1585 1842/2312/1585 -f 1844/2316/1586 1833/2293/1587 1832/2295/1588 -f 1838/3094/1581 1835/2285/1589 1845/2318/1589 -f 1842/2312/1585 1828/2288/1590 1846/2320/1591 -f 1847/2323/1592 1835/2285/1589 1834/2287/1593 -f 1848/2733/1594 1830/2282/1582 1839/2325/1582 -f 1841/2328/1584 1825/2249/1583 1824/2251/1584 -f 1847/3095/1592 1833/2293/1587 1843/2315/1595 -f 1846/2320/1591 1827/2597/1596 1849/2595/1597 -f 1837/2613/1580 1827/2597/1596 1826/2300/1598 -f 1848/2733/1594 1832/2295/1588 1831/2734/1594 -f 1893/2417/1599 1886/2374/1600 1892/2421/1601 -f 1895/2410/1602 1885/2373/1603 1894/2419/1604 -f 1893/2417/1599 1876/3096/1605 1884/2372/1599 -f 1897/2413/1606 1883/2400/1607 1882/2371/1608 -f 1888/3097/1609 1880/2370/1602 1895/2410/1602 -f 1889/2336/1016 1879/2367/1610 1890/3098/1610 -f 1896/2405/1611 1877/2364/1612 1876/2366/1605 -f 1892/2714/1601 1883/2400/1607 1898/2715/1613 -f 1894/2419/1604 1901/2594/1614 1900/3099/1615 -f 1850/2593/1297 1855/2305/1021 1875/2616/1616 -f 1899/2404/1617 1901/2594/1614 1877/2364/1612 -f 1891/2729/1014 1882/2371/1608 1887/2332/1014 -f 1873/2346/1026 1864/2324/1219 1868/2731/1219 -f 2176/3100/1618 2109/3101/1619 2177/2767/1322 -f 2148/3102/1620 2176/3100/1618 2177/2767/1322 -f 2175/3103/1621 2081/3104/1622 2176/3100/1618 -f 1022/2832/1385 1035/3105/1623 2060/3106/1624 -f 2065/3107/1625 2067/2828/1626 2064/3108/1627 -f 2068/3109/1628 2070/2826/1629 2071/2799/1630 -f 2150/3110/1631 2176/3100/1618 2147/3111/1632 -f 2174/3112/1633 2060/3106/1624 2175/3113/1621 -f 2150/3114/1631 2174/3112/1633 2175/3113/1621 -f 2173/3115/1634 1022/2832/1385 2174/3112/1633 -f 2159/3116/1635 2174/3112/1633 2149/3117/1636 -f 2173/3115/1634 926/2829/1378 949/2831/1384 -f 2081/3104/1622 1035/3118/1623 2063/3119/1637 -f 2082/3120/1638 2090/2817/1639 2083/2823/1640 -f 2085/2806/1641 2091/2814/1642 2092/2811/1643 -f 2159/3116/1635 2172/3121/1644 2173/3115/1634 -f 2171/3122/1645 926/2824/1378 2172/3123/1644 -f 2157/3124/1646 2172/3123/1644 2160/3125/1647 -f 2170/3126/1648 2141/2819/1373 2171/3122/1645 -f 2157/3124/1646 2170/3126/1648 2171/3122/1645 -f 2169/3127/1649 2143/3128/1336 2170/3129/1648 -f 2158/3130/1650 2170/3129/1648 2156/3131/1651 -f 2079/2808/1652 2093/2812/1653 2086/2813/1654 -f 2097/2807/1655 2092/2811/1643 2093/2812/1653 -f 2098/2804/1656 2087/2810/1657 2080/2805/1658 -f 2083/2823/1640 2095/2809/1659 2098/2804/1656 -f 2168/2758/1315 2145/2780/1335 2169/3127/1649 -f 2158/3130/1650 2168/2758/1315 2169/3127/1649 -f 2135/3132/1660 2050/3133/1660 2134/3134/1660 -f 2049/3135/1660 2134/3134/1660 2048/3136/1660 -f 2046/3137/1661 2132/3138/1661 2133/3139/1661 -f 2045/3140/1661 2132/3138/1661 2131/3141/1661 -f 2047/3142/1661 2043/3143/1661 2046/3137/1661 -f 2052/3144/1660 2050/3133/1660 2053/3145/1660 -f 2058/3146/1662 2101/2801/1663 2059/2802/1664 -f 2103/3147/1665 2071/2799/1630 2101/2801/1663 -f 2104/3148/1666 2062/2797/1667 2061/3149/1668 -f 2064/3108/1627 2102/2794/1669 2104/3148/1666 -f 2057/3150/1670 2073/3151/1671 2074/3152/1671 -f 2075/3153/1672 2094/3154/1673 2076/3133/1672 -f 2078/3155/1674 2100/3156/1675 2094/3157/1673 -f 2106/3158/1676 2057/3150/1670 2108/3143/1676 -f 2110/3141/1676 2137/3159/1670 2054/3160/1677 -f 2108/3143/1676 2137/3159/1670 2136/3138/1676 -f 2081/3104/1622 2107/3161/1678 2109/3101/1619 -f 2109/3101/1619 2088/2776/1331 2111/2768/1323 -f 2096/3162/1674 2138/3163/1675 2105/3164/1675 -f 2094/3157/1673 2138/3163/1675 2139/3165/1673 -f 2077/3136/1672 2139/3166/1673 2096/3167/1674 -f 2076/3133/1672 2139/3166/1673 2140/3134/1672 -f 2126/2772/1327 2128/3168/1679 2129/2764/1316 -f 2130/2760/1317 2128/3169/1679 2127/3170/1680 -f 2137/3159/1670 2055/3171/1671 2054/3160/1677 -f 2057/3150/1670 2056/3172/1671 2137/3159/1670 -f 1963/2246/953 1965/2736/953 1981/2247/954 -f 504/2249/955 505/2299/955 506/2250/956 -f 499/2252/957 507/3173/970 508/2253/958 -f 510/2255/960 511/2639/1251 512/2256/961 -f 513/2258/963 514/3174/974 515/2259/964 -f 517/2261/966 518/3175/975 519/2262/967 -f 521/2264/969 522/3176/1681 507/2265/970 -f 524/2267/971 525/3177/980 526/2268/972 -f 514/2270/974 517/2261/966 520/2263/968 -f 518/2272/975 527/2735/1299 528/2273/976 -f 1961/2275/977 1976/2378/1059 1964/2276/978 -f 500/2254/959 508/2253/958 525/2278/980 -f 529/2280/981 513/2258/963 516/2260/965 -f 542/2282/983 543/2734/984 549/2283/984 -f 547/2285/985 551/2292/985 552/2286/986 -f 540/2288/988 541/2297/989 553/2289/989 -f 548/2291/991 555/3178/991 551/2292/985 -f 545/2293/992 556/2304/996 557/2294/993 -f 503/2296/956 506/3179/956 553/2289/989 -f 504/2249/955 542/3180/983 550/2298/983 -f 538/2300/995 558/2612/995 555/2301/991 -f 545/2293/992 546/3181/987 552/2303/986 -f 564/2305/997 565/2613/1232 566/2306/998 -f 568/2308/999 569/3092/999 570/2309/1000 -f 572/2311/1001 573/3093/1001 574/2312/1002 -f 575/2314/1003 576/2330/1012 577/2315/1004 -f 563/2317/998 566/3094/998 580/2318/1006 -f 571/2313/1002 574/2312/1002 581/2320/1007 -f 582/2322/1009 579/2319/1006 580/2318/1006 -f 584/2324/1011 585/2733/1011 569/2325/999 -f 572/2327/1001 567/2310/1000 570/2309/1000 -f 582/2329/1009 583/3095/1010 577/2315/1004 -f 1890/2331/1013 1891/2729/1014 1887/2332/1014 -f 1888/2334/1015 1881/2376/1015 1878/2335/1016 -f 1874/2337/1017 1869/3182/1036 1863/2329/1018 -f 1872/2338/1020 1875/3183/1616 1855/2339/1021 -f 1866/2340/1022 1856/3184/1022 1857/2341/1022 -f 1865/2343/1023 1859/2327/1023 1858/2344/1024 -f 1874/2337/1017 1861/2330/1019 1860/2314/1025 -f 1870/2347/1027 1872/2338/1020 1854/2317/1020 -f 1851/2348/1028 1871/2369/1024 1858/2313/1024 -f 1999/2349/1030 1995/2356/1031 1996/2350/1031 -f 1998/2352/1030 1999/2349/1030 2000/2351/1030 -f 1998/2352/1030 1997/2353/1031 1994/2354/1031 -f 1995/2356/1031 1992/2454/1031 1991/2357/1031 -f 1973/2358/1033 1986/2466/1033 1990/2359/1034 -f 1870/2347/1027 1862/2319/1027 1863/2322/1018 -f 1993/2355/1032 1994/2354/1031 1979/2362/1037 -f 598/2364/1039 596/2616/1235 593/2365/1040 -f 587/2340/1041 588/2342/1042 600/2367/1042 -f 602/2368/1043 586/3185/1043 592/2369/1044 -f 603/2371/1046 604/2400/1079 595/2337/1047 -f 605/2372/1049 597/3096/1040 593/2338/1040 -f 601/2370/1045 592/2369/1044 560/2348/1050 -f 607/2374/1052 605/2372/1049 591/2347/1049 -f 608/2332/1054 589/2731/1054 588/2375/1055 -f 602/2376/1057 586/3186/1057 587/2340/1041 -f 1988/2377/1058 1989/2459/1121 1976/2378/1059 -f 1913/2379/1060 1905/2398/1078 1921/2380/1061 -f 1912/2382/1063 1930/2389/1070 1922/2383/1064 -f 1928/2385/1066 1927/2617/1236 1916/2386/1067 -f 1912/2382/1063 1911/2615/1234 1925/2388/1069 -f 1910/2387/1068 1916/2386/1067 1915/2390/1071 -f 1909/2392/1073 1908/2730/1295 1918/2393/1074 -f 1906/2395/1075 1920/2732/1296 1919/2396/1076 -f 1905/2398/1078 1904/2384/1065 1922/2383/1064 -f 607/2399/1052 590/3182/1053 595/2337/1047 -f 1902/2391/1072 1915/2390/1071 1923/2401/1080 -f 621/2403/1081 622/2618/1082 620/2404/1082 -f 624/2406/1083 611/3187/1083 610/2407/1084 -f 626/2409/1085 609/3097/1085 616/2410/1086 -f 628/2412/1087 619/2715/1286 618/2413/1088 -f 629/2415/1090 621/3188/1081 617/2416/1081 -f 630/2418/1091 625/2411/1086 616/2410/1086 -f 631/2420/1093 629/2415/1090 614/2417/1090 -f 632/2422/1095 612/2729/1095 611/2331/1083 -f 626/2424/1085 623/2408/1084 610/2407/1084 -f 1935/2426/1096 1944/2441/1109 1957/2427/1097 -f 1942/2429/1099 1956/2446/1113 1958/2430/1100 -f 1945/2432/1102 1948/2638/1250 1951/2433/1103 -f 1946/2435/1104 1941/2448/1115 1955/2436/1105 -f 1932/2438/1107 1943/2431/1101 1958/2430/1100 -f 1940/2440/1108 1954/2449/1108 1957/2427/1097 -f 1939/2442/1110 1938/2450/1111 1952/2443/1111 -f 1942/2429/1099 1936/2619/1237 1950/2445/1112 -f 1931/2447/1114 1934/2728/1114 1955/2436/1105 -f 1940/2440/1108 1939/2442/1110 1953/2444/1110 -f 1938/2450/1111 1937/2434/1103 1951/2433/1103 -f 502/2451/1116 501/2496/1117 637/2452/1117 -f 1992/2454/1031 1974/2461/1118 1987/2455/1118 -f 1959/2456/1119 1975/2360/1035 1990/2359/1034 -f 1988/2377/1058 1972/2468/1127 1985/2458/1120 -f 1971/2460/1122 1984/2470/1122 1987/2455/1118 -f 1969/2462/1123 1982/2494/1123 1983/2463/1124 -f 1973/2358/1033 1967/2603/1226 1980/2465/1125 -f 1960/2467/1126 1978/2637/1126 1985/2458/1120 -f 537/2281/982 635/2753/1310 530/2469/1128 -f 1970/2464/1124 1983/2463/1124 1984/2470/1122 -f 651/2608/1230 532/3189/1682 650/2473/1131 -f 532/3189/1682 531/2471/1129 650/2473/1131 -f 2038/2474/1132 2037/2505/1152 2042/2475/1133 -f 639/2477/1135 654/3190/1683 655/2478/1136 -f 641/2480/1138 656/3191/1138 657/2481/1139 -f 643/2483/1140 658/2490/1140 659/2484/1141 -f 645/2486/1142 502/2451/1116 638/2453/1116 -f 640/2479/1137 655/2478/1136 661/2488/1144 -f 643/2483/1140 642/2482/1139 657/2481/1139 -f 647/2491/1145 644/3192/1141 659/2492/1141 -f 1969/2462/1123 1968/2248/954 1981/2247/954 -f 648/2495/1146 663/3193/1249 637/2452/1117 -f 653/2499/1148 652/3194/1147 666/2497/1147 -f 652/3194/1147 664/3195/1684 666/2497/1147 -f 664/3195/1684 665/2599/1223 666/2497/1147 -f 2041/2476/1134 2042/2475/1133 2040/2500/1149 -f 2039/2501/1150 2040/2500/1149 2036/2502/1151 -f 2008/2504/1150 2033/2517/1150 2037/2505/1152 -f 2019/2506/1153 2027/2622/1240 2031/2507/1154 -f 2035/2503/1150 2036/2502/1151 2021/2509/1156 -f 2005/2511/1158 2029/2555/1183 2030/2512/1159 -f 2006/2514/1161 2005/2511/1158 2034/2513/1160 -f 2008/2504/1150 2007/2589/1213 2028/2516/1163 -f 2002/2518/1164 2006/2514/1161 2032/2515/1162 -f 2020/2520/1155 2031/3196/1154 2011/2521/1165 -f 677/2523/1167 682/2546/1167 683/2524/1168 -f 668/2526/1169 667/2551/445 685/2527/445 -f 670/2529/1170 669/2628/1171 688/2530/1171 -f 672/2532/1172 671/2610/1173 533/2533/1173 -f 674/2535/1174 673/2544/502 691/2536/502 -f 675/2538/1175 668/3197/1169 684/2539/1169 -f 670/2529/1170 689/2531/1170 694/2541/1176 -f 672/2543/1172 690/3198/1172 691/2536/502 -f 674/2545/1174 692/3199/1174 682/2546/1167 -f 649/2472/1130 531/2471/1129 678/2549/1178 -f 531/2471/1129 645/2547/1142 678/2549/1178 -f 680/2550/1179 695/3200/1179 685/2527/445 -f 696/2552/1180 697/2587/1211 698/2553/1181 -f 2029/2555/1183 2018/2625/1243 2026/2556/1184 -f 731/2558/1185 713/3201/1194 717/3202/1685 -f 713/3201/1194 714/3203/1686 715/3204/555 -f 715/3204/555 716/3205/1687 713/3201/1194 -f 716/3205/1687 717/3202/1685 713/3201/1194 -f 729/3206/1688 730/3207/1689 699/3208/761 -f 730/3207/1689 731/2558/1185 727/2557/555 -f 699/3208/761 730/3207/1689 728/3209/555 -f 728/3209/555 698/3210/1690 699/3208/761 -f 717/3202/1685 718/3211/753 722/2559/555 -f 718/3211/753 719/3212/761 722/2559/555 -f 722/2559/555 719/3212/761 720/3213/1691 -f 720/3213/1691 721/3214/1692 722/2559/555 -f 722/2559/555 723/3215/1208 724/3216/1187 -f 724/3216/1187 725/3217/1693 727/2557/555 -f 724/3216/1187 727/2557/555 722/2559/555 -f 725/3217/1693 726/3218/555 727/2557/555 -f 727/2557/555 728/3209/555 730/3207/1689 -f 731/2558/1185 717/3202/1685 722/2559/555 -f 732/2560/1186 725/3219/1693 724/2561/1187 -f 734/2563/1189 735/2602/1225 720/2564/1190 -f 737/2566/1192 729/2611/1231 730/2567/1193 -f 713/2569/1194 731/2577/1185 739/2570/1195 -f 740/2572/1197 732/3220/1198 725/2573/1198 -f 741/2575/1200 734/2563/1189 721/2565/1191 -f 731/2577/1185 730/3221/1689 736/2578/1202 -f 738/2579/1203 713/3222/1203 714/2580/1204 -f 743/2582/1206 740/2572/1197 726/2574/1199 -f 733/2562/1188 724/2561/1187 723/2584/1208 -f 746/2586/1210 728/2620/1238 698/2553/1181 -f 2017/2588/1212 2025/3223/1248 2028/2516/1163 -f 615/2419/1092 748/3099/1214 633/2590/1214 -f 1907/2397/1077 1919/2396/1076 1924/2591/1215 -f 606/2373/1051 560/2348/1050 559/2593/1217 -f 1867/2375/1218 1868/2731/1219 1864/2324/1219 -f 561/2321/1008 581/2320/1007 750/2595/1220 -f 554/2290/990 751/3224/1694 539/2597/1221 -f 665/2599/1223 664/3195/1684 679/2600/1222 -f 679/2600/1222 675/2538/1175 693/2540/1175 -f 693/2540/1175 708/2598/1222 679/2600/1222 -f 752/2601/1224 719/2725/1292 720/2564/1190 -f 1967/2603/1226 1966/2363/1038 1979/2362/1037 -f 2016/2604/1227 2015/2717/1288 2023/2605/1228 -f 641/2607/1138 532/3189/1682 651/2608/1230 -f 671/2610/1173 653/2499/1148 534/2498/1148 -f 696/2552/1180 699/2554/1182 729/2611/1231 -f 539/2597/1221 751/3224/1694 558/2612/995 -f 564/2305/997 562/2596/1220 750/2595/1220 -f 1866/2614/1233 1856/2310/1233 1859/2327/1023 -f 1911/2615/1234 1903/2402/1080 1923/2401/1080 -f 598/2364/1039 749/2594/1217 559/2593/1217 -f 1929/3225/555 1914/2592/1216 1928/2385/1066 -f 1914/2592/1216 1924/2591/1215 1927/2617/1236 -f 633/2590/1214 748/3099/1214 620/2404/1082 -f 1936/2619/1237 1935/2426/1096 1949/2428/1098 -f 743/2582/1206 727/2583/1207 728/2620/1238 -f 2019/2506/1153 2014/2723/1290 2022/2621/1239 -f 753/2623/1241 742/2581/1205 714/2580/1204 -f 2018/2625/1243 2009/3226/1301 2012/2626/1244 -f 757/2627/1245 754/2722/1168 688/2530/1171 -f 741/2575/1200 722/2576/1201 723/2629/1246 -f 676/2542/1177 694/2541/1176 695/2631/1179 -f 2016/2604/1227 2024/2606/1229 2025/2633/1248 -f 648/2635/1146 646/2489/1144 661/2488/1144 -f 1959/2456/1119 1977/2457/1119 1978/2637/1126 -f 1946/2435/1104 1947/2437/1106 1948/2638/1250 -f 523/2269/973 526/2268/972 511/2639/1251 -f 758/2640/1176 759/2656/1176 741/2575/1200 -f 761/2641/1252 742/2581/1205 753/2623/1241 -f 763/2643/1254 764/2677/1269 765/2644/1255 -f 762/2645/1256 696/2552/1180 737/2566/1192 -f 733/2562/1188 744/2585/1209 758/2647/1257 -f 768/2649/1258 740/2572/1197 743/2582/1206 -f 742/2650/1259 738/3227/1196 769/2651/1169 -f 739/2570/1195 736/2578/1202 771/2653/1261 -f 772/2655/1262 734/2563/1189 741/2575/1200 -f 740/2657/1263 732/3228/1186 773/2658/1174 -f 738/2571/1196 739/2570/1195 770/2654/445 -f 771/2653/1261 736/2578/1202 737/2661/1264 -f 773/2663/1174 732/2560/1186 733/2562/1188 -f 774/2664/1174 773/2663/1174 767/2648/502 -f 771/2653/1261 766/2662/1264 777/2666/1264 -f 769/2660/1169 770/2654/445 779/2668/445 -f 768/2659/1263 773/2658/1174 774/2670/1174 -f 782/2672/1265 772/2655/1262 759/2656/1176 -f 770/2654/445 771/2653/1261 776/2667/1261 -f 761/2652/1260 769/2651/1169 778/2674/1169 -f 780/2676/1268 768/2649/1258 765/2644/1255 -f 767/2648/502 758/2647/1257 784/2678/1257 -f 763/2643/1254 762/2645/1256 766/2646/1148 -f 763/2643/1254 535/2689/1148 712/2680/1271 -f 712/2680/1271 747/3229/1695 764/2677/1269 -f 747/3229/1695 709/2696/1279 764/2677/1269 -f 760/2681/1272 761/2652/1260 783/2675/1267 -f 781/2673/1266 759/2656/1176 758/2640/1176 -f 706/2684/1274 781/2673/1266 784/2683/1273 -f 707/2686/1275 783/2698/1280 785/2687/1276 -f 535/2689/1148 763/2643/1254 777/2679/1270 -f 772/2655/1262 786/2726/1293 787/2691/1278 -f 787/2691/1278 788/2748/1305 789/2724/1291 -f 752/2601/1224 735/2602/1225 787/2691/1278 -f 735/2602/1225 734/2563/1189 787/2691/1278 -f 787/2691/1278 789/2724/1291 752/2601/1224 -f 696/2552/1180 762/2645/1256 697/2587/1211 -f 762/2645/1256 765/2644/1255 697/2587/1211 -f 765/2644/1255 743/2582/1206 746/2586/1210 -f 710/2692/1179 784/3230/1273 775/2693/445 -f 705/2695/1175 780/2676/1268 764/2677/1269 -f 707/2686/1275 704/3231/1174 778/2697/1174 -f 703/2699/502 702/3232/1172 776/2700/1172 -f 706/2684/1274 701/2751/1308 782/2672/1265 -f 687/2702/1169 774/3233/1169 780/2676/1268 -f 703/2699/502 779/2701/502 778/2703/1174 -f 536/2690/1173 777/2679/1270 776/2705/1172 -f 687/2707/1169 686/2694/445 775/2693/445 -f 745/2688/1277 785/2687/1276 791/2709/1281 -f 792/2711/1283 760/2642/1253 753/2623/1241 -f 619/2715/1286 628/2412/1087 636/2713/1285 -f 636/2713/1285 631/3234/1093 613/2714/1094 -f 793/2712/1284 753/2623/1241 715/2624/1242 -f 2015/2717/1288 2001/3235/1302 2004/2718/1289 -f 681/2525/1168 683/2524/1168 794/2719/1168 -f 757/2627/1245 797/2740/1168 798/2721/1168 -f 2013/2510/1157 2021/2509/1156 2022/2621/1239 -f 789/2724/1291 718/2749/1306 719/2725/1292 -f 786/2726/1293 772/2655/1262 782/2672/1265 -f 1931/2447/1114 1932/2438/1107 1933/2439/1107 -f 627/2414/1089 618/2413/1088 612/2729/1095 -f 1908/2730/1295 1913/2379/1060 1926/2381/1062 -f 608/2332/1054 603/2371/1046 594/2346/1048 -f 1909/2392/1073 1917/2394/1073 1920/2732/1296 -f 1850/2593/1297 1851/2348/1028 1852/2321/1029 -f 584/2324/1011 575/2314/1003 578/2316/1005 -f 544/2295/994 557/2294/993 549/2283/984 -f 509/2257/962 512/2256/961 528/2273/976 -f 1963/2246/953 1962/2277/979 1964/2276/978 -f 654/3190/1683 639/2477/1135 756/3236/1300 -f 639/2477/1135 647/2491/1145 802/2737/1300 -f 756/3236/1300 639/2477/1135 799/2738/1300 -f 647/2491/1145 662/2493/1145 711/3237/1300 -f 711/3237/1300 795/3238/1300 647/2491/1145 -f 795/3238/1300 802/2737/1300 647/2491/1145 -f 803/2739/1168 804/2741/1168 798/2721/1168 -f 803/2739/1168 796/2720/1168 794/2719/1168 -f 2009/2742/1301 2010/2522/1166 2011/2521/1165 -f 2001/2744/1302 2002/2518/1164 2003/2519/1164 -f 805/2746/1303 790/2710/1282 791/2709/1281 -f 788/2748/1305 717/2750/1307 718/2749/1306 -f 788/2748/1305 793/2712/1284 716/2716/1287 -f 787/2691/1278 792/2711/1283 793/2712/1284 -f 755/3239/1696 800/3240/1697 806/2747/1304 -f 800/3240/1697 805/2746/1303 806/2747/1304 -f 806/2747/1304 801/2727/1294 782/2672/1265 -f 755/3239/1696 806/2747/1304 700/2752/1309 -f 782/2672/1265 701/2751/1308 806/2747/1304 -f 522/3176/1681 521/2264/969 634/2754/1311 -f 521/2264/969 530/2469/1128 634/2754/1311 -f 2164/2755/1312 2163/2769/1324 2180/2756/1313 -f 2168/2758/1315 2178/3241/1321 2129/2759/1316 -f 2151/2761/1318 2178/3241/1321 2168/2758/1315 -f 2167/2763/1320 2126/2772/1327 2129/2764/1316 -f 2151/2766/1318 2155/2774/1329 2167/2763/1320 -f 2177/2767/1322 2109/3101/1619 2111/2768/1323 -f 2153/2770/1325 2148/3102/1620 2177/2767/1322 -f 2167/2763/1320 2164/2755/1312 2162/2771/1326 -f 2154/2773/1328 2164/2755/1312 2167/2763/1320 -f 2162/2771/1326 2165/3242/1698 2166/2775/1330 -f 2153/2770/1325 2163/2769/1324 2164/2755/1312 -f 2162/2771/1326 2111/2768/1323 2088/2776/1331 -f 2126/2772/1327 2162/2771/1326 2161/2777/1332 -f 2130/2760/1317 2127/3170/1680 2146/2779/1334 -f 2143/2781/1336 2145/3243/1335 2146/2782/1334 -f 2115/2784/1338 1044/2815/1369 1038/2785/1339 -f 1018/2787/1341 2115/2784/1338 2125/2786/1340 -f 1034/2789/1343 1023/2835/1388 2124/2790/1344 -f 2117/2791/1345 2124/2790/1344 1020/2792/1346 -f 2123/2794/1348 946/2828/1382 934/2795/1349 -f 950/2797/1351 2123/2794/1348 2121/2796/1350 -f 942/2799/1353 932/2820/1374 2120/2800/1354 -f 1016/2802/1356 2122/2801/1355 2120/2800/1354 -f 934/2795/1349 922/2823/1377 2119/2804/1358 -f 2121/2796/1350 2119/2804/1358 929/2805/1359 -f 2120/2800/1354 932/2820/1374 917/2806/1360 -f 941/2803/1357 2120/2800/1354 2118/2807/1361 -f 2116/2809/1363 869/2817/1371 1034/2789/1343 -f 887/2810/1364 2116/2809/1363 2117/2791/1345 -f 2113/2811/1365 1044/2815/1369 2115/2784/1338 -f 915/2813/1367 2114/2812/1366 2115/2784/1338 -f 868/2814/1368 1042/3244/1699 1044/2815/1369 -f 882/2816/1370 1025/2834/1387 1034/2789/1343 -f 2143/2781/1336 2144/2783/1337 2142/2818/1372 -f 932/2820/1374 933/3245/1700 918/2821/1375 -f 937/2822/1376 925/3120/1701 922/2823/1377 -f 926/2824/1378 2141/2819/1373 2142/2818/1372 -f 945/2826/1380 933/3245/1700 932/2820/1374 -f 948/2827/1381 937/2822/1376 934/2795/1349 -f 926/2829/1378 886/3246/1379 938/2830/1383 -f 1022/2832/1385 949/2831/1384 938/2830/1383 -f 1025/2834/1387 1024/3247/1702 1023/2835/1388 -f 1044/2815/1369 1042/3244/1699 1040/2836/1389 -f 1116/2837/1390 1111/2877/1426 1114/2838/1391 -f 1120/2840/1393 1121/3248/1703 1122/2841/1394 -f 1124/2843/1396 1125/2849/1402 1126/2844/1397 -f 1123/2845/1398 1126/2844/1397 1119/2842/1395 -f 1134/2850/1403 1131/2848/1401 1132/2846/1399 -f 1132/2846/1399 1116/2837/1390 1115/2839/1392 -f 1133/2847/1400 1134/2850/1403 1132/2846/1399 -f 1131/2848/1401 1134/2850/1403 1125/2849/1402 -f 1134/2850/1403 1133/2847/1400 1137/2851/1404 -f 1128/2853/1406 2263/2859/1407 2262/2854/1407 -f 1125/2849/1402 1134/2850/1403 1138/2852/1405 -f 1133/2847/1400 1115/2839/1392 1150/2857/1410 -f 1128/2853/1406 1130/2875/1424 2264/2858/1407 -f 1126/2844/1397 1148/2866/1416 1147/2860/1411 -f 1115/2839/1392 1114/2838/1391 1139/2861/1412 -f 1127/2862/1413 1118/2872/1421 2261/2863/1414 -f 1119/2842/1395 1147/2860/1411 1146/2865/1415 -f 1125/2849/1402 1149/2856/1409 1148/2866/1416 -f 1122/2841/1394 1121/3248/1703 1157/2867/1417 -f 1127/2862/1413 2260/2864/1414 2259/2869/1414 -f 1124/2843/1396 1154/2878/1427 1153/2871/1420 -f 1118/2872/1421 1127/2862/1413 1128/2853/1406 -f 1132/2846/1399 1152/2879/1428 1151/2873/1422 -f 1123/2845/1398 1122/2841/1394 1156/2868/1418 -f 1127/2862/1413 1129/2870/1419 1130/2875/1424 -f 1116/2837/1390 1151/2873/1422 1162/2876/1425 -f 1124/2843/1396 1123/2845/1398 1155/2874/1423 -f 1131/2848/1401 1153/2871/1420 1152/2879/1428 -f 2222/2880/1429 2202/3249/1433 2203/2881/1430 -f 2221/2883/1432 2204/3250/1435 2202/2884/1433 -f 2220/2886/1434 2205/3251/1704 2204/1425/1435 -f 2206/2888/1436 2205/3251/1704 2220/2886/1434 -f 2207/2890/1438 2206/3252/1436 2219/2891/1437 -f 2208/2893/1440 2207/2890/1438 2218/2892/1439 -f 2216/2882/1431 2203/2881/1430 2208/2895/1440 -f 2193/2897/1442 2182/2944/1443 2181/2898/1443 -f 2191/2900/1444 2193/3253/1442 2194/2901/1442 -f 2189/2903/1445 2191/3254/1444 2192/2904/1444 -f 1240/2906/1446 1238/2909/1449 1237/2907/1447 -f 1238/2909/1449 1236/3255/1705 1235/2910/1450 -f 1241/2911/1451 1242/2921/1461 1240/2906/1446 -f 1181/2912/1452 1177/2923/1463 1173/2913/1453 -f 1229/2915/1455 1169/3256/1455 1232/2916/1456 -f 1230/1361/1458 1245/2924/1464 1231/2918/1459 -f 1244/2920/1460 1243/3257/1460 1242/2921/1461 -f 1183/2922/1462 1179/3258/1706 1177/2923/1463 -f 1245/2924/1464 1248/3259/1707 1251/2925/1465 -f 2187/2926/1466 2189/2903/1445 2190/2905/1445 -f 1246/2917/1457 1232/2916/1456 1252/2928/1467 -f 1249/2930/1469 1253/3260/1708 1254/2931/1470 -f 1251/2925/1465 1248/3259/1707 1250/2933/1472 -f 2185/2935/1474 2187/3261/1466 2188/2936/1466 -f 1252/2928/1467 1253/3260/1708 1249/2930/1469 -f 1187/2938/1475 1179/3258/1706 1183/2922/1462 -f 1234/2940/1477 1187/2938/1475 1185/2939/1476 -f 1250/2933/1472 1257/3262/1480 1260/2942/1478 -f 2184/2943/1479 2183/3263/1479 2185/2935/1474 -f 2182/2944/1443 2183/3264/1479 2184/2945/1479 -f 1257/2946/1480 1259/3265/1709 1262/2947/1481 -f 1170/2949/1482 1164/3266/1482 1163/2950/1482 -f 1255/2952/1471 1254/3267/1470 1261/2953/1484 -f 2239/2955/1486 2252/1149/1536 2251/2038/1487 -f 2245/2957/1489 2254/2041/1493 2253/2040/1490 -f 2245/2957/1489 2243/3268/1499 2255/2042/1492 -f 2248/2959/1494 2247/3030/1497 2249/2054/1495 -f 2239/2960/1486 2242/2967/1500 2247/2961/1497 -f 2245/2963/1489 2248/2965/1494 2244/2964/1498 -f 2246/2962/1491 2247/2961/1497 2248/2965/1494 -f 2240/2966/1488 2241/3269/1710 2242/2967/1500 -f 1612/2971/1504 1613/2980/1513 1614/2972/1505 -f 1617/2548/1507 1618/3270/1514 1619/2974/1508 -f 1610/2969/1502 1612/3271/1504 1615/2979/1506 -f 1616/2975/1509 1619/2974/1508 1614/2972/1505 -f 1620/2976/1510 1622/2978/1512 1618/2981/1514 -f 1614/2983/1505 1619/2992/1508 1623/2984/1515 -f 1618/2981/1514 1622/2978/1512 1625/2986/1517 -f 1614/2983/1505 1624/2985/1516 1628/2989/1520 -f 1618/2991/1514 1626/2997/1518 1623/2984/1515 -f 1611/2970/1503 1615/2979/1506 1628/2993/1520 -f 1628/2989/1520 1624/2985/1516 1630/2995/1522 -f 1626/2997/1518 1632/3272/1526 1633/2998/1524 -f 1627/2988/1519 1628/2993/1520 1631/3000/1523 -f 1623/2984/1515 1633/2998/1524 1630/2995/1522 -f 1626/2987/1518 1625/2986/1517 1634/2999/1525 -f 1630/3003/1522 1636/3010/1532 1637/3004/1528 -f 1633/3006/1524 1632/3011/1526 1638/3007/1529 -f 1631/3000/1523 1637/1702/1528 1635/3002/1527 -f 1633/3006/1524 1639/3008/1530 1636/3010/1532 -f 1632/3011/1526 1634/3273/1525 1640/3012/1531 -f 2201/3013/1442 2215/3274/1442 2209/3014/1443 -f 2214/3016/1444 2215/3275/1442 2201/3017/1442 -f 2199/3019/1445 2213/3276/1445 2214/2885/1444 -f 2212/3021/1466 2213/3276/1445 2199/3019/1445 -f 2211/3023/1474 2212/3277/1466 2198/3024/1466 -f 2210/3026/1479 2211/3023/1474 2197/3025/1474 -f 2195/3015/1443 2209/3014/1443 2210/3028/1479 -f 2247/3030/1497 2242/3031/1500 2257/1155/1533 -f 2242/3031/1500 2241/3278/1710 2258/2055/1534 -f 2248/2959/1494 2250/2052/1496 2256/2053/1535 -f 2246/2958/1491 2253/2040/1490 2252/1149/1536 -f 2237/3033/1537 2238/3279/1537 2226/3034/455 -f 2236/3036/441 2238/3280/1537 2237/3037/1537 -f 2233/3039/1538 2234/1104/1538 2236/3036/441 -f 2232/3040/555 2234/3281/1538 2233/3041/1538 -f 2229/3043/1539 2230/3282/1539 2232/3040/555 -f 2228/3044/443 2230/3283/1539 2229/3045/1539 -f 2224/3047/1540 2225/3284/1540 2228/3044/443 -f 2226/3034/455 2225/3285/1540 2224/3048/1540 -f 1675/3049/1541 1682/3053/1545 1676/3050/1542 -f 1674/3052/1544 1681/3286/1711 1682/3053/1545 -f 1680/3054/1546 1681/3286/1711 1674/3052/1544 -f 1679/3056/1548 1680/3054/1546 1673/3055/1547 -f 1678/3058/1550 1679/3056/1548 1672/3057/1549 -f 1670/3060/1552 1677/3061/1553 1678/3058/1550 -f 1669/3051/1543 1676/3050/1542 1677/3061/1553 -f 1792/3062/1554 1791/3287/1557 1798/3063/1555 -f 1791/3065/1557 1786/3068/1559 1799/3066/1558 -f 1786/3068/1559 1785/3070/1561 1808/3069/1560 -f 1785/3070/1561 1790/3288/1563 1809/3071/1562 -f 1790/3072/1563 1789/3075/1565 1810/3073/1564 -f 1789/3075/1565 1788/3078/1568 1807/3076/1566 -f 1787/3077/1567 1806/3080/1570 1807/3076/1566 -f 1797/3079/1569 1805/3289/1572 1806/3080/1570 -f 1796/3081/1571 1803/3085/1574 1805/3082/1572 -f 1795/3084/1573 1804/3290/1576 1803/3085/1574 -f 1795/3086/1573 1794/3090/1578 1801/3087/1575 -f 1793/3089/1577 1802/3091/1579 1801/3087/1575 -f 1792/3062/1554 1800/3064/1556 1802/3091/1579 -f 1837/2613/1580 1826/2300/1598 1836/2302/1581 -f 1839/3092/1582 1830/3180/1582 1825/2249/1583 -f 1841/3093/1584 1824/2296/1584 1829/2297/1585 -f 1844/2316/1586 1843/2315/1595 1833/2293/1587 -f 1838/3094/1581 1836/2291/1581 1835/2285/1589 -f 1842/2312/1585 1829/2297/1585 1828/2288/1590 -f 1847/2323/1592 1845/2318/1589 1835/2285/1589 -f 1848/2733/1594 1831/2734/1594 1830/2282/1582 -f 1841/2328/1584 1840/2309/1583 1825/2249/1583 -f 1847/3095/1592 1834/3181/1593 1833/2293/1587 -f 1846/2320/1591 1828/2288/1590 1827/2597/1596 -f 1837/2613/1580 1849/2595/1597 1827/2597/1596 -f 1848/2733/1594 1844/2316/1586 1832/2295/1588 -f 1893/2417/1599 1884/2372/1599 1886/2374/1600 -f 1895/2410/1602 1880/2370/1602 1885/2373/1603 -f 1893/2417/1599 1896/2416/1611 1876/3096/1605 -f 1897/2413/1606 1898/2715/1613 1883/2400/1607 -f 1888/3097/1609 1881/2368/1609 1880/2370/1602 -f 1889/2336/1016 1878/2335/1016 1879/2367/1610 -f 1896/2405/1611 1899/2404/1617 1877/2364/1612 -f 1892/2714/1601 1886/2399/1600 1883/2400/1607 -f 1894/2419/1604 1885/2373/1603 1901/2594/1614 -f 1850/2593/1297 1853/2596/1298 1855/2305/1021 -f 1899/2404/1617 1900/3099/1615 1901/2594/1614 -f 1891/2729/1014 1897/2413/1606 1882/2371/1608 -f 1873/2346/1026 1860/2314/1025 1864/2324/1219 -f 2176/3100/1618 2081/3104/1622 2109/3101/1619 -f 2148/3102/1620 2147/3111/1632 2176/3100/1618 -f 2175/3103/1621 2060/3291/1624 2081/3104/1622 -f 1022/2832/1385 1019/2833/1386 1035/3105/1623 -f 2065/3107/1625 2066/2827/1712 2067/2828/1626 -f 2068/3109/1628 2069/3292/1713 2070/2826/1629 -f 2150/3110/1631 2175/3103/1621 2176/3100/1618 -f 2174/3112/1633 1022/2832/1385 2060/3106/1624 -f 2150/3114/1631 2149/3117/1636 2174/3112/1633 -f 2173/3115/1634 949/2831/1384 1022/2832/1385 -f 2159/3116/1635 2173/3115/1634 2174/3112/1633 -f 2173/3115/1634 2172/3121/1644 926/2829/1378 -f 2081/3104/1622 2060/3291/1624 1035/3118/1623 -f 2082/3120/1638 2089/2816/1714 2090/2817/1639 -f 2085/2806/1641 2084/2821/1715 2091/2814/1642 -f 2159/3116/1635 2160/948/1647 2172/3121/1644 -f 2171/3122/1645 2141/2819/1373 926/2824/1378 -f 2157/3124/1646 2171/3122/1645 2172/3123/1644 -f 2170/3126/1648 2143/2781/1336 2141/2819/1373 -f 2157/3124/1646 2156/3293/1651 2170/3126/1648 -f 2169/3127/1649 2145/2780/1335 2143/3128/1336 -f 2158/3130/1650 2169/3127/1649 2170/3129/1648 -f 2079/2808/1652 2097/2807/1655 2093/2812/1653 -f 2097/2807/1655 2085/2806/1641 2092/2811/1643 -f 2098/2804/1656 2095/2809/1659 2087/2810/1657 -f 2083/2823/1640 2090/2817/1639 2095/2809/1659 -f 2168/2758/1315 2130/2760/1317 2145/2780/1335 -f 2158/3130/1650 2152/2762/1319 2168/2758/1315 -f 2135/3132/1660 2053/3145/1660 2050/3133/1660 -f 2049/3135/1660 2135/3132/1660 2134/3134/1660 -f 2046/3137/1661 2043/3143/1661 2132/3138/1661 -f 2045/3140/1661 2133/3139/1661 2132/3138/1661 -f 2047/3142/1661 2044/3158/1661 2043/3143/1661 -f 2052/3144/1660 2051/3153/1660 2050/3133/1660 -f 2058/3146/1662 2103/3147/1665 2101/2801/1663 -f 2103/3147/1665 2068/3109/1628 2071/2799/1630 -f 2104/3148/1666 2102/2794/1669 2062/2797/1667 -f 2064/3108/1627 2067/2828/1626 2102/2794/1669 -f 2057/3150/1670 2072/3294/1677 2073/3151/1671 -f 2075/3153/1672 2078/1417/1674 2094/3154/1673 -f 2078/3155/1674 2099/3295/1675 2100/3156/1675 -f 2106/3158/1676 2072/3294/1677 2057/3150/1670 -f 2110/3141/1676 2136/3138/1676 2137/3159/1670 -f 2108/3143/1676 2057/3150/1670 2137/3159/1670 -f 2081/3104/1622 2063/3119/1637 2107/3161/1678 -f 2109/3101/1619 2107/3161/1678 2088/2776/1331 -f 2096/3162/1674 2139/3165/1673 2138/3163/1675 -f 2094/3157/1673 2100/3156/1675 2138/3163/1675 -f 2077/3136/1672 2140/3134/1672 2139/3166/1673 -f 2076/3133/1672 2094/3154/1673 2139/3166/1673 -f 2126/2772/1327 2112/2778/1333 2128/3168/1679 -f 2130/2760/1317 2129/2759/1316 2128/3169/1679 -f 2137/3159/1670 2056/3172/1671 2055/3171/1671 -f 2057/3150/1670 2074/3152/1671 2056/3172/1671 diff --git a/src/main/resources/assets/hbm/models/weapons/benelli_new.obj b/src/main/resources/assets/hbm/models/weapons/benelli_new.obj deleted file mode 100644 index a2d8c70b3..000000000 --- a/src/main/resources/assets/hbm/models/weapons/benelli_new.obj +++ /dev/null @@ -1,5180 +0,0 @@ -# Blender 4.0.1 -# www.blender.org -o Body -v -0.557795 3.198776 0.999861 -v -0.689504 3.198776 0.999861 -v -0.557795 3.375046 0.999861 -v -0.689504 3.198776 1.249144 -v 0.561645 3.197617 0.999051 -v 0.561645 3.373887 0.999051 -v 0.693354 3.197617 0.999051 -v 0.693354 3.197617 1.248335 -v 0.561645 3.373887 1.248335 -v 0.561645 3.197617 1.248335 -v -0.557795 3.375046 1.249144 -v -0.558324 3.200001 1.250000 -v -0.557795 3.198776 1.249144 -v 0.561633 3.197661 -1.749421 -v 0.693341 3.197661 -1.749422 -v 0.561632 3.021391 -1.749422 -v 0.561633 3.021390 3.750661 -v 0.693342 3.197660 3.750661 -v 0.561633 3.197660 3.750661 -v -0.557717 3.199502 -1.749413 -v -0.557717 3.023233 -1.749413 -v -0.689426 3.199503 -1.749413 -v -0.689425 3.199502 3.750652 -v -0.557716 3.023232 3.750652 -v -0.557716 3.199502 3.750652 -v -0.557795 3.198776 3.499861 -v -0.689504 3.198776 3.499861 -v -0.557795 3.375046 3.499861 -v -0.689504 3.198776 3.749144 -v 0.561645 3.197617 3.499051 -v 0.561645 3.373887 3.499051 -v 0.693354 3.197617 3.499051 -v 0.693354 3.197617 3.748335 -v 0.561645 3.373887 3.748335 -v 0.561645 3.197617 3.748335 -v -0.557795 3.375046 3.749144 -v -0.558324 3.200001 3.750000 -v -0.557795 3.198776 3.749144 -v -0.557795 3.198776 2.999861 -v -0.689504 3.198776 2.999861 -v -0.557795 3.375046 2.999861 -v -0.689504 3.198776 3.249144 -v 0.561645 3.197617 2.999051 -v 0.561645 3.373887 2.999051 -v 0.693354 3.197617 2.999051 -v 0.693354 3.197617 3.248334 -v 0.561645 3.373887 3.248334 -v 0.561645 3.197617 3.248334 -v -0.557795 3.375046 3.249144 -v -0.558324 3.200001 3.250000 -v -0.557795 3.198776 3.249144 -v -0.557795 3.198776 2.499861 -v -0.689504 3.198776 2.499861 -v -0.557795 3.375046 2.499861 -v -0.689504 3.198776 2.749144 -v 0.561645 3.197617 2.499051 -v 0.561645 3.373887 2.499051 -v 0.693354 3.197617 2.499051 -v 0.693354 3.197617 2.748335 -v 0.561645 3.373887 2.748335 -v 0.561645 3.197617 2.748335 -v -0.557795 3.375046 2.749144 -v -0.558324 3.200001 2.750000 -v -0.557795 3.198776 2.749144 -v -0.557795 3.198776 1.999861 -v -0.689504 3.198776 1.999861 -v -0.557795 3.375046 1.999861 -v -0.689504 3.198776 2.249144 -v 0.561645 3.197617 1.999051 -v 0.561645 3.373887 1.999051 -v 0.693354 3.197617 1.999051 -v 0.693354 3.197617 2.248335 -v 0.561645 3.373887 2.248335 -v 0.561645 3.197617 2.248335 -v -0.557795 3.375046 2.249144 -v -0.558324 3.200001 2.250000 -v -0.557795 3.198776 2.249144 -v -0.557795 3.198776 1.499861 -v -0.689504 3.198776 1.499861 -v -0.557795 3.375046 1.499861 -v -0.689504 3.198776 1.749144 -v 0.561645 3.197617 1.499051 -v 0.561645 3.373887 1.499051 -v 0.693354 3.197617 1.499051 -v 0.693354 3.197617 1.748335 -v 0.561645 3.373887 1.748335 -v 0.561645 3.197617 1.748335 -v -0.557795 3.375046 1.749144 -v -0.558324 3.200001 1.750000 -v -0.557795 3.198776 1.749144 -v -0.557795 3.198776 0.499861 -v -0.689504 3.198776 0.499861 -v -0.557795 3.375046 0.499861 -v -0.689504 3.198776 0.749144 -v 0.561645 3.197617 0.499051 -v 0.561645 3.373887 0.499051 -v 0.693354 3.197617 0.499051 -v 0.693354 3.197617 0.748335 -v 0.561645 3.373887 0.748335 -v 0.561645 3.197617 0.748335 -v -0.557795 3.375046 0.749144 -v -0.558324 3.200001 0.750000 -v -0.557795 3.198776 0.749144 -v -0.557795 3.198776 -0.000139 -v -0.689504 3.198776 -0.000139 -v -0.557795 3.375046 -0.000139 -v -0.689504 3.198776 0.249144 -v 0.561645 3.197617 -0.000949 -v 0.561645 3.373887 -0.000949 -v 0.693354 3.197617 -0.000949 -v 0.693354 3.197617 0.248335 -v 0.561645 3.373887 0.248335 -v 0.561645 3.197617 0.248335 -v -0.557795 3.375046 0.249144 -v -0.558324 3.200001 0.250000 -v -0.557795 3.198776 0.249144 -v -0.557795 3.198776 -0.500139 -v -0.689504 3.198776 -0.500139 -v -0.557795 3.375046 -0.500139 -v -0.689504 3.198776 -0.250856 -v 0.561645 3.197617 -0.500949 -v 0.561645 3.373887 -0.500949 -v 0.693354 3.197617 -0.500949 -v 0.693354 3.197617 -0.251665 -v 0.561645 3.373887 -0.251665 -v 0.561645 3.197617 -0.251665 -v -0.557795 3.375046 -0.250856 -v -0.558324 3.200001 -0.250000 -v -0.557795 3.198776 -0.250856 -v -0.557795 3.198776 -1.000139 -v -0.689504 3.198776 -1.000139 -v -0.557795 3.375046 -1.000139 -v -0.689504 3.198776 -0.750855 -v 0.561645 3.197617 -1.000948 -v 0.561645 3.373887 -1.000948 -v 0.693354 3.197617 -1.000948 -v 0.693354 3.197617 -0.751665 -v 0.561645 3.373887 -0.751665 -v 0.561645 3.197617 -0.751665 -v -0.557795 3.375046 -0.750855 -v -0.558324 3.200001 -0.749999 -v -0.557795 3.198776 -0.750855 -v -0.557795 3.198776 -1.500139 -v -0.689504 3.198776 -1.500139 -v -0.557795 3.375046 -1.500139 -v -0.689504 3.198776 -1.250856 -v 0.561645 3.197617 -1.500949 -v 0.561645 3.373887 -1.500949 -v 0.693354 3.197617 -1.500949 -v 0.693354 3.197617 -1.251665 -v 0.561645 3.373887 -1.251665 -v 0.561645 3.197617 -1.251665 -v -0.557795 3.375046 -1.250856 -v -0.558324 3.200001 -1.250000 -v -0.557795 3.198776 -1.250856 -v -0.557795 3.198776 -1.751088 -v -0.689504 3.198776 -1.751088 -v -0.557795 3.375046 -1.751088 -v -0.689504 3.198776 -1.501805 -v 0.561645 3.197617 -1.751898 -v 0.561645 3.373887 -1.751898 -v 0.693354 3.197617 -1.751898 -v 0.693354 3.197617 -1.502614 -v 0.561645 3.373887 -1.502614 -v 0.561645 3.197617 -1.502614 -v -0.557795 3.375046 -1.501805 -v -0.558324 3.200001 -1.500949 -v -0.557795 3.198776 -1.501805 -v -0.750000 1.350000 -10.700001 -v -0.692910 1.994415 -10.700001 -v 0.750000 1.350000 -10.700001 -v 0.692910 1.994415 -1.700001 -v 0.692910 1.994415 -10.700001 -v 0.750000 1.350000 -1.700001 -v 0.692910 1.005584 -10.700001 -v 0.692910 1.005584 -1.700001 -v 0.530330 0.713603 -10.700001 -v 0.530330 0.713604 -1.700001 -v 0.287013 0.518508 -10.700001 -v 0.287013 0.518508 -1.700001 -v 0.000000 0.449999 -10.700001 -v 0.000000 0.450000 -1.700001 -v -0.287012 0.518507 -10.700001 -v -0.287012 0.518508 -1.700001 -v -0.530330 0.713603 -10.700001 -v -0.530330 0.713603 -1.700001 -v -0.692910 1.005584 -10.700001 -v -0.692910 1.005584 -1.700001 -v -0.750000 1.350000 -1.700001 -v -0.692910 1.994415 -1.700001 -v 0.000000 3.000000 -1.700000 -v 0.129410 2.982965 -19.500000 -v 0.000000 3.000002 -19.500000 -v 0.129410 2.982962 -1.700000 -v 0.250000 2.933015 -19.500000 -v 0.250000 2.933012 -1.700000 -v 0.353553 2.853556 -19.500000 -v 0.353553 2.853553 -1.700000 -v 0.433013 2.750003 -19.500000 -v 0.433013 2.750000 -1.700000 -v 0.482963 2.629411 -19.500000 -v 0.482963 2.629409 -1.700000 -v 0.500000 2.500002 -19.500000 -v 0.500000 2.500000 -1.700000 -v 0.482963 2.370593 -19.500000 -v 0.482963 2.370590 -1.700000 -v 0.433013 2.250002 -19.500000 -v 0.433013 2.250000 -1.700000 -v 0.353554 2.146449 -19.500000 -v 0.353554 2.146446 -1.700000 -v 0.250000 2.066990 -19.500000 -v 0.250000 2.066987 -1.700000 -v 0.129410 2.017039 -19.500000 -v 0.129410 2.017036 -1.700000 -v 0.000000 2.000002 -19.500000 -v 0.000000 2.000000 -1.700000 -v -0.129409 2.017039 -19.500000 -v -0.129409 2.017036 -1.700000 -v -0.250000 2.066990 -19.500000 -v -0.250000 2.066987 -1.700000 -v -0.353553 2.146449 -19.500000 -v -0.353553 2.146446 -1.700000 -v -0.433013 2.250002 -19.500000 -v -0.433013 2.250000 -1.700000 -v -0.482963 2.370593 -19.500000 -v -0.482963 2.370590 -1.700000 -v -0.500000 2.500002 -19.500000 -v -0.500000 2.500000 -1.700000 -v -0.482963 2.629411 -19.500000 -v -0.482963 2.629409 -1.700000 -v -0.433013 2.750002 -19.500000 -v -0.433013 2.749999 -1.700000 -v -0.353554 2.853556 -19.500000 -v -0.353554 2.853553 -1.700000 -v -0.250000 2.933015 -19.500000 -v -0.250000 2.933012 -1.700000 -v -0.129410 2.982965 -19.500000 -v -0.129410 2.982962 -1.700000 -v 0.217114 2.822435 -19.500000 -v 0.113208 2.865444 -4.500000 -v 0.113208 2.865474 -19.500000 -v 0.000000 2.050002 -17.850000 -v 0.494975 1.844977 -18.550001 -v 0.000000 2.050002 -18.550001 -v 0.494975 1.844977 -17.850000 -v 0.700000 1.350002 -18.550001 -v 0.700000 1.350002 -17.850000 -v 0.494975 0.855028 -18.550001 -v 0.494975 0.855027 -17.850000 -v 0.000000 0.650002 -18.550001 -v 0.000000 0.650002 -17.850000 -v -0.494975 0.855028 -18.550001 -v -0.494975 0.855028 -17.850000 -v -0.700000 1.350002 -18.550001 -v -0.700000 1.350002 -17.850000 -v -0.494975 1.844977 -18.550001 -v -0.494975 1.844977 -17.850000 -v 0.247487 1.102514 -19.300001 -v 0.350000 1.350002 -19.300001 -v 0.247487 1.597489 -19.300001 -v 0.000000 1.700002 -19.300001 -v -0.247487 1.597489 -19.300001 -v -0.350000 1.350002 -19.300001 -v -0.247487 1.102514 -19.300001 -v 0.247487 1.102514 -19.187502 -v 0.000000 1.000002 -19.187502 -v 0.000000 1.000002 -19.300001 -v 0.000000 1.700002 -19.187502 -v 0.247487 1.597489 -19.187502 -v 0.350000 1.350002 -19.187502 -v -0.247487 1.102514 -19.187502 -v 0.000000 1.750000 -1.199998 -v 0.103528 1.736373 -18.200001 -v 0.000000 1.750002 -18.200001 -v 0.103528 1.736370 -1.199998 -v 0.200000 1.696412 -18.200001 -v 0.200000 1.696410 -1.199998 -v 0.282843 1.632845 -18.200001 -v 0.282843 1.632842 -1.199998 -v 0.346410 1.550002 -18.200001 -v 0.346410 1.549999 -1.199998 -v 0.386370 1.453530 -18.200001 -v 0.386370 1.453527 -1.199998 -v 0.400000 1.350002 -18.200001 -v 0.400000 1.349999 -1.199998 -v 0.386370 1.246475 -18.200001 -v 0.386370 1.246472 -1.199998 -v 0.346410 1.150002 -18.200001 -v 0.346410 1.150000 -1.199998 -v 0.282843 1.067160 -18.200001 -v 0.282843 1.067157 -1.199998 -v 0.200000 1.003592 -18.200001 -v 0.200000 1.003590 -1.199998 -v 0.103528 0.963632 -18.200001 -v 0.103528 0.963629 -1.199998 -v 0.000000 0.950002 -18.200001 -v 0.000000 0.950000 -1.199998 -v -0.103527 0.963632 -18.200001 -v -0.103527 0.963629 -1.199998 -v -0.200000 1.003592 -18.200001 -v -0.200000 1.003589 -1.199998 -v -0.282843 1.067160 -18.200001 -v -0.282843 1.067157 -1.199998 -v -0.346410 1.150002 -18.200001 -v -0.346410 1.150000 -1.199998 -v -0.386370 1.246474 -18.200001 -v -0.386370 1.246472 -1.199998 -v -0.400000 1.350002 -18.200001 -v -0.400000 1.349999 -1.199998 -v -0.386370 1.453530 -18.200001 -v -0.386370 1.453527 -1.199998 -v -0.346410 1.550002 -18.200001 -v -0.346410 1.549999 -1.199998 -v -0.282843 1.632845 -18.200001 -v -0.282843 1.632842 -1.199998 -v -0.200000 1.696412 -18.200001 -v -0.200000 1.696410 -1.199998 -v -0.103528 1.736373 -18.200001 -v -0.103528 1.736370 -1.199998 -v 0.000000 1.850002 -15.850002 -v 0.129410 1.832965 -17.850002 -v 0.000000 1.850002 -17.850002 -v 0.129410 1.832965 -15.850002 -v 0.250000 1.783014 -17.850002 -v 0.250000 1.783014 -15.850002 -v 0.353553 1.703555 -17.850002 -v 0.353553 1.703555 -15.850002 -v 0.433013 1.600002 -17.850002 -v 0.433013 1.600002 -15.850002 -v 0.482963 1.479411 -17.850002 -v 0.482963 1.479411 -15.850002 -v 0.500000 1.350002 -17.850002 -v 0.500000 1.350002 -15.850002 -v 0.482963 1.220593 -17.850002 -v 0.482963 1.220593 -15.850002 -v 0.433013 1.100002 -17.850002 -v 0.433013 1.100002 -15.850002 -v 0.353554 0.996449 -17.850002 -v 0.353554 0.996449 -15.850002 -v 0.250000 0.916989 -17.850002 -v 0.250000 0.916989 -15.850002 -v 0.129410 0.867039 -17.850002 -v 0.129410 0.867039 -15.850002 -v 0.000000 0.850002 -17.850002 -v 0.000000 0.850002 -15.850002 -v -0.129409 0.867039 -17.850002 -v -0.129409 0.867039 -15.850002 -v -0.250000 0.916989 -17.850002 -v -0.250000 0.916989 -15.850002 -v -0.353553 0.996449 -17.850002 -v -0.353553 0.996448 -15.850002 -v -0.433013 1.100002 -17.850002 -v -0.433013 1.100002 -15.850002 -v -0.482963 1.220592 -17.850002 -v -0.482963 1.220592 -15.850002 -v -0.500000 1.350002 -17.850002 -v -0.500000 1.350001 -15.850002 -v -0.482963 1.479411 -17.850002 -v -0.482963 1.479411 -15.850002 -v -0.433013 1.600002 -17.850002 -v -0.433013 1.600002 -15.850002 -v -0.353554 1.703555 -17.850002 -v -0.353554 1.703555 -15.850002 -v -0.250000 1.783014 -17.850002 -v -0.250000 1.783014 -15.850002 -v -0.129410 1.832965 -17.850002 -v -0.129410 1.832965 -15.850002 -v 0.000000 1.850002 -15.400005 -v 0.129410 1.832965 -15.600006 -v 0.000000 1.850002 -15.600006 -v 0.129410 1.832965 -15.400005 -v 0.250000 1.783014 -15.600006 -v 0.250000 1.783014 -15.400005 -v 0.353553 1.703555 -15.600006 -v 0.353553 1.703555 -15.400005 -v 0.433013 1.600002 -15.600006 -v 0.433013 1.600002 -15.400005 -v 0.482963 1.479411 -15.600006 -v 0.482963 1.479411 -15.400005 -v 0.500000 1.350002 -15.600006 -v 0.500000 1.350002 -15.400005 -v 0.482963 1.220593 -15.600006 -v 0.482963 1.220593 -15.400005 -v 0.433013 1.100002 -15.600006 -v 0.433013 1.100002 -15.400005 -v 0.353554 0.996449 -15.600006 -v 0.353554 0.996449 -15.400005 -v 0.250000 0.916989 -15.600006 -v 0.250000 0.916989 -15.400005 -v 0.129410 0.867039 -15.600006 -v 0.129410 0.867039 -15.400005 -v 0.000000 0.850002 -15.600006 -v 0.000000 0.850002 -15.400005 -v -0.129409 0.867039 -15.600006 -v -0.129409 0.867039 -15.400005 -v -0.250000 0.916989 -15.600006 -v -0.250000 0.916989 -15.400005 -v -0.353553 0.996448 -15.600006 -v -0.353553 0.996448 -15.400005 -v -0.433013 1.100002 -15.600006 -v -0.433013 1.100002 -15.400005 -v -0.482963 1.220592 -15.600006 -v -0.482963 1.220592 -15.400005 -v -0.500000 1.350002 -15.600006 -v -0.500000 1.350002 -15.400005 -v -0.482963 1.479411 -15.600006 -v -0.482963 1.479411 -15.400005 -v -0.433013 1.600002 -15.600006 -v -0.433013 1.600002 -15.400005 -v -0.353554 1.703555 -15.600006 -v -0.353554 1.703555 -15.400005 -v -0.250000 1.783014 -15.600006 -v -0.250000 1.783014 -15.400005 -v -0.129410 1.832965 -15.600006 -v -0.129410 1.832965 -15.400005 -v 0.000000 1.850002 -15.050005 -v 0.129410 1.832965 -15.250006 -v 0.000000 1.850002 -15.250006 -v 0.129410 1.832965 -15.050005 -v 0.250000 1.783014 -15.250006 -v 0.250000 1.783014 -15.050005 -v 0.353553 1.703555 -15.250006 -v 0.353553 1.703555 -15.050005 -v 0.433013 1.600002 -15.250006 -v 0.433013 1.600002 -15.050005 -v 0.482963 1.479411 -15.250006 -v 0.482963 1.479411 -15.050005 -v 0.500000 1.350002 -15.250006 -v 0.500000 1.350002 -15.050005 -v 0.482963 1.220593 -15.250006 -v 0.482963 1.220593 -15.050005 -v 0.433013 1.100002 -15.250006 -v 0.433013 1.100002 -15.050005 -v 0.353554 0.996449 -15.250006 -v 0.353554 0.996449 -15.050005 -v 0.250000 0.916989 -15.250006 -v 0.250000 0.916989 -15.050005 -v 0.129410 0.867039 -15.250006 -v 0.129410 0.867039 -15.050005 -v 0.000000 0.850002 -15.250006 -v 0.000000 0.850002 -15.050005 -v -0.129409 0.867039 -15.250006 -v -0.129409 0.867039 -15.050005 -v -0.250000 0.916989 -15.250006 -v -0.250000 0.916989 -15.050005 -v -0.353553 0.996449 -15.250006 -v -0.353553 0.996449 -15.050005 -v -0.433013 1.100002 -15.250006 -v -0.433013 1.100002 -15.050005 -v -0.482963 1.220592 -15.250006 -v -0.482963 1.220592 -15.050005 -v -0.500000 1.350002 -15.250006 -v -0.500000 1.350002 -15.050005 -v -0.482963 1.479411 -15.250006 -v -0.482963 1.479411 -15.050005 -v -0.433013 1.600002 -15.250006 -v -0.433013 1.600002 -15.050005 -v -0.353554 1.703555 -15.250006 -v -0.353554 1.703555 -15.050005 -v -0.250000 1.783014 -15.250006 -v -0.250000 1.783014 -15.050005 -v -0.129410 1.832965 -15.250006 -v -0.129410 1.832965 -15.050005 -v 0.000000 1.850000 -10.700005 -v 0.129410 1.832965 -14.900005 -v 0.000000 1.850002 -14.900005 -v 0.129410 1.832962 -10.700005 -v 0.250000 1.783014 -14.900005 -v 0.250000 1.783012 -10.700005 -v 0.353553 1.703555 -14.900005 -v 0.353553 1.703552 -10.700005 -v 0.433013 1.600002 -14.900005 -v 0.433013 1.600000 -10.700005 -v 0.482963 1.479411 -14.900005 -v 0.482963 1.479408 -10.700005 -v 0.500000 1.350002 -14.900005 -v 0.500000 1.350000 -10.700005 -v 0.482963 1.220593 -14.900005 -v 0.482963 1.220590 -10.700005 -v 0.433013 1.100002 -14.900005 -v 0.433013 1.100000 -10.700005 -v 0.353554 0.996449 -14.900005 -v 0.353554 0.996447 -10.700005 -v 0.250000 0.916989 -14.900005 -v 0.250000 0.916986 -10.700005 -v 0.129410 0.867039 -14.900005 -v 0.129410 0.867036 -10.700005 -v 0.000000 0.850002 -14.900005 -v 0.000000 0.850000 -10.700005 -v -0.129409 0.867039 -14.900005 -v -0.129409 0.867036 -10.700005 -v -0.250000 0.916989 -14.900005 -v -0.250000 0.916986 -10.700005 -v -0.353553 0.996449 -14.900005 -v -0.353553 0.996445 -10.700005 -v -0.433013 1.100002 -14.900005 -v -0.433013 1.100000 -10.700005 -v -0.482963 1.220592 -14.900005 -v -0.482963 1.220589 -10.700005 -v -0.500000 1.350002 -14.900005 -v -0.500000 1.349998 -10.700005 -v -0.482963 1.479411 -14.900005 -v -0.482963 1.479408 -10.700005 -v -0.433013 1.600002 -14.900005 -v -0.433013 1.600000 -10.700005 -v -0.353554 1.703555 -14.900005 -v -0.353554 1.703552 -10.700005 -v -0.250000 1.783014 -14.900005 -v -0.250000 1.783012 -10.700005 -v -0.129410 1.832965 -14.900005 -v -0.129410 1.832962 -10.700005 -v 0.000000 2.880378 -19.500000 -v 0.303359 2.756257 -19.500000 -v 0.365776 2.674912 -19.500000 -v 0.401974 2.587523 -19.500000 -v 0.413496 2.500002 -19.500000 -v 0.401974 2.412481 -19.500000 -v 0.365776 2.325092 -19.500000 -v 0.303359 2.243747 -19.500000 -v 0.217114 2.177570 -19.500000 -v 0.113208 2.134531 -19.500000 -v 0.000000 2.119626 -19.500000 -v -0.113207 2.134531 -19.500000 -v -0.217114 2.177570 -19.500000 -v -0.303358 2.243747 -19.500000 -v -0.365776 2.325092 -19.500000 -v -0.401974 2.412481 -19.500000 -v -0.413496 2.500002 -19.500000 -v -0.401974 2.587523 -19.500000 -v -0.365776 2.674912 -19.500000 -v -0.303359 2.756257 -19.500000 -v -0.217115 2.822433 -19.500000 -v -0.113208 2.865474 -19.500000 -v -0.303359 2.756227 -4.500000 -v -0.217115 2.822405 -4.500000 -v -0.303358 2.243718 -4.500000 -v -0.365776 2.325062 -4.500000 -v 0.303359 2.243718 -4.500000 -v 0.217114 2.822405 -4.500000 -v -0.401974 2.412452 -4.500000 -v 0.217114 2.177541 -4.500000 -v 0.303359 2.756227 -4.500000 -v -0.413496 2.499972 -4.500000 -v 0.113208 2.134501 -4.500000 -v 0.365776 2.674883 -4.500000 -v -0.401974 2.587493 -4.500000 -v 0.000000 2.119597 -4.500000 -v 0.401974 2.587494 -4.500000 -v -0.365776 2.674883 -4.500000 -v -0.113207 2.134501 -4.500000 -v 0.413496 2.499973 -4.500000 -v -0.217114 2.177540 -4.500000 -v 0.401974 2.412452 -4.500000 -v 0.000000 2.880348 -4.500000 -v 0.365776 2.325063 -4.500000 -v -0.113208 2.865444 -4.500000 -v -0.247487 1.597489 -19.187502 -v -0.562597 0.647394 5.837500 -v 0.566750 -2.527643 7.135499 -v -0.562597 -2.527643 7.135499 -v -0.562597 -0.180466 8.289835 -v -0.640103 -0.780915 8.274623 -v -0.562597 -0.780915 8.274623 -v -0.562597 -3.377862 7.013357 -v 0.566750 -3.377862 7.013357 -v -0.562597 -2.987606 8.437500 -v 0.566750 -2.987606 8.437500 -v 0.566750 -2.817605 9.400000 -v 0.566750 -2.464953 7.305608 -v 0.645014 -3.026299 7.224965 -v 0.566750 -3.026299 7.224965 -v -0.562597 -0.688222 8.418876 -v 0.566750 -0.688222 8.418876 -v 0.566750 0.185425 9.259533 -v -0.562597 0.582395 8.302500 -v -0.562597 0.185425 9.259533 -v -0.562597 -0.369987 8.426938 -v 0.566750 -0.369987 8.426938 -v 0.566750 0.582395 8.302500 -v -0.745125 2.933334 -1.071110 -v -0.745125 0.800000 -1.699999 -v -0.745125 0.780398 -0.913832 -v 0.749278 0.800000 -1.699999 -v 0.749278 2.933334 -1.699999 -v 0.749278 1.698309 -0.676977 -v 0.749278 2.933304 -1.071133 -v -0.745125 2.933334 -1.699999 -v 0.749278 0.650225 4.306945 -v -0.745125 0.550647 8.300697 -v -0.745125 0.650225 4.306945 -v 0.749278 0.550647 8.300697 -v -0.745125 -3.878246 18.970343 -v 0.749278 2.932952 6.299709 -v 0.749278 -3.878246 18.970343 -v -0.745125 0.817816 19.398920 -v 0.749278 1.917568 8.277368 -v 0.865644 2.325624 6.986647 -v 0.749278 2.325624 6.986647 -v -0.745125 2.237243 7.108925 -v -0.884064 2.308129 6.984412 -v -0.745125 2.308129 6.984412 -v 0.749278 2.123853 8.290171 -v -0.745125 2.123853 8.290171 -v -0.745125 2.933335 6.300001 -v 0.749278 2.527876 7.012211 -v -0.558324 3.200001 3.750000 -v -0.558324 2.900000 -1.750000 -v -0.558324 2.900000 3.750000 -v 0.562478 3.200001 -1.750000 -v 0.562478 2.900000 3.750000 -v 0.562478 2.900000 -1.750000 -v 0.562478 3.200001 3.750000 -v -0.558324 3.200001 -1.750000 -v -0.184724 0.652645 5.427117 -v 0.188877 0.640000 5.690244 -v 0.188877 0.652645 5.427117 -v -0.184724 0.256794 5.586637 -v 0.188877 -0.181354 5.410000 -v -0.184724 -0.181354 5.410000 -v -0.184724 -0.031450 5.624102 -v 0.188877 0.160424 5.735405 -v 0.188877 -0.031450 5.624102 -v 0.188877 0.405741 5.904014 -v 0.188877 0.256794 5.586637 -v -0.184724 0.640000 5.690244 -v 0.188877 0.606441 5.842027 -v -0.184724 0.405741 5.904014 -v -0.184724 0.160424 5.735405 -v -0.184724 0.606441 5.842027 -v -0.371524 0.660000 2.970000 -v 0.375677 0.660000 4.294731 -v 0.375677 0.660000 2.970000 -v 0.375677 0.324113 3.675095 -v -0.371524 0.324113 3.675095 -v -0.371524 0.660000 4.294731 -v 0.375677 0.509328 4.170000 -v -0.371524 -0.124560 4.074054 -v 0.375677 -0.124560 4.074054 -v -0.371524 0.346295 4.124543 -v 0.375677 0.346295 4.124543 -v 0.375677 0.069553 4.199328 -v -0.371524 0.069553 4.199328 -v -0.371524 -0.236114 4.310554 -v 0.375677 -0.146776 4.438249 -v -0.371524 -0.351705 5.529659 -v 0.375677 -0.322895 4.675695 -v 0.375677 -0.351705 5.529659 -v -0.371524 -0.322895 4.675695 -v 0.375677 -0.236114 4.310554 -v 0.375677 -0.262769 5.520746 -v -0.371524 -0.146776 4.438249 -v -0.371524 -0.262769 5.520746 -v -0.371524 -0.202867 5.844228 -v 0.375677 -0.202867 5.844228 -v 0.375677 -0.157875 5.763871 -v -0.371524 0.158226 6.022319 -v 0.375677 0.158226 6.022319 -v -0.371524 0.239107 5.983576 -v 0.375677 0.239107 5.983576 -v -0.371524 -0.157875 5.763871 -v -0.558324 2.930001 6.000000 -v -0.371524 3.441714 5.759016 -v -0.558324 3.441714 5.759016 -v 0.562478 3.441714 5.759016 -v 0.562478 2.930001 6.000000 -v 0.562478 3.523953 4.644015 -v 0.562478 2.930000 3.800829 -v 0.375677 2.930001 6.000000 -v 0.375677 2.930000 3.800829 -v 0.375677 3.427887 3.897640 -v -0.558324 3.830230 5.170968 -v -0.371524 3.823139 5.393547 -v -0.371524 3.830230 5.170968 -v 0.375677 3.523953 4.644015 -v -0.558324 3.523953 4.644015 -v 0.375677 3.823139 5.393547 -v 0.562478 3.823139 5.393547 -v 0.375677 3.830230 5.170968 -v 0.562478 3.830230 5.170968 -v -0.371524 3.523953 4.644015 -v -0.369034 3.427887 3.897640 -v -0.371524 3.427887 3.897640 -v -0.558324 3.427887 3.897640 -v -0.371524 2.930000 3.800829 -v -0.558324 2.930000 3.800829 -v -0.371524 2.930001 6.000000 -v 0.373187 2.930000 3.800829 -v -0.558324 3.823139 5.393547 -v 0.375677 3.441714 5.759016 -v -0.369034 2.930000 3.800829 -v -0.369034 3.523953 4.644015 -v -0.745125 -3.606866 18.872658 -v -0.745125 0.608681 19.257383 -v -0.745125 1.899715 8.276260 -v -0.745125 0.761977 8.347678 -v -0.745125 2.527876 7.012211 -v -0.884064 1.899715 8.276260 -v -0.884064 2.237243 7.108925 -v -0.884064 0.761977 8.347678 -v -0.884064 0.608681 19.257383 -v -0.884064 -3.606866 18.872658 -v 0.749278 2.293221 7.043643 -v 0.749278 -3.628482 18.880440 -v 0.749278 0.817816 19.398920 -v 0.749278 0.745148 8.343928 -v 0.749278 0.625338 19.268656 -v 0.865644 0.745148 8.343928 -v 0.865644 2.293221 7.043643 -v 0.865644 1.917568 8.277368 -v 0.865644 -3.628482 18.880440 -v 0.865644 0.625338 19.268656 -v -0.562597 0.375139 6.127107 -v -0.562597 -2.470536 7.290457 -v -0.562597 -3.057612 7.206118 -v -0.562597 -2.724832 8.420519 -v -0.562597 -2.602371 9.113867 -v -0.562597 -2.817605 9.400000 -v -0.562597 0.126026 8.749284 -v -0.562597 0.318212 8.285953 -v -0.640103 0.375139 6.127107 -v -0.640103 -2.470536 7.290457 -v -0.640103 -2.724832 8.420519 -v -0.640103 0.318212 8.285953 -v -0.640103 -0.180466 8.289835 -v -0.640103 -2.602371 9.113867 -v -0.640103 0.126026 8.749284 -v -0.640103 -3.057612 7.206118 -v 0.566750 0.348518 6.155423 -v 0.566750 0.292381 8.284335 -v 0.566750 0.647394 5.837500 -v 0.566750 -2.581325 9.085890 -v 0.566750 -2.699137 8.418859 -v 0.566750 0.120218 8.699394 -v 0.566750 -0.789978 8.260518 -v 0.566750 -0.161935 8.276430 -v 0.645014 -0.789978 8.260518 -v 0.645014 -2.699137 8.418859 -v 0.645014 -2.464953 7.305608 -v 0.645014 0.292381 8.284335 -v 0.645014 -0.161935 8.276430 -v 0.645014 -2.581325 9.085890 -v 0.645014 0.348518 6.155423 -v 0.645014 0.120218 8.699394 -v 0.749278 2.933104 3.105046 -v -0.745125 2.933334 3.105221 -v 0.749278 0.780398 -0.913832 -v 0.749278 1.335998 -0.650505 -v 0.591463 1.270460 2.786515 -v 0.749278 1.270460 2.787845 -v 0.749278 2.371172 -0.726139 -v 0.749278 2.370995 2.838365 -v 0.591463 1.698309 -0.676977 -v 0.591463 2.370995 2.838365 -v 0.591463 1.666737 2.786487 -v 0.740693 1.668191 5.137841 -v 0.582879 1.668191 5.136976 -v 0.591463 2.371172 -0.726139 -v 0.591463 1.335998 -0.650505 -v 0.749278 1.666737 2.787352 -v 0.582879 1.271914 5.137004 -v 0.740693 1.271914 5.138335 -v -0.371524 0.509328 4.170000 -v 0.562478 3.427887 3.897640 -v -0.369034 3.823139 5.393547 -v -0.369034 3.830230 5.170968 -v 0.212415 3.387585 5.190104 -v 0.249773 3.433107 5.409895 -v 0.212415 3.387585 5.409895 -v 0.249773 3.433107 5.190104 -v 0.277533 3.485043 5.409895 -v 0.277533 3.485043 5.190104 -v 0.294628 3.541395 5.409895 -v 0.294628 3.541395 5.190104 -v 0.300400 3.600000 5.409895 -v 0.300400 3.600000 5.190104 -v 0.294628 3.658606 5.409895 -v 0.294628 3.658606 5.190104 -v 0.277533 3.714958 5.409895 -v 0.277533 3.714958 5.190104 -v 0.249773 3.766893 5.409895 -v 0.249773 3.766893 5.190104 -v 0.212415 3.812415 5.409895 -v 0.212415 3.812415 5.190104 -v 0.166893 3.849773 5.409895 -v 0.166893 3.849773 5.190104 -v 0.114958 3.877533 5.409895 -v 0.114958 3.877533 5.190104 -v 0.058605 3.894629 5.409895 -v 0.058605 3.894629 5.190104 -v 0.000000 3.900400 5.409895 -v 0.000000 3.900400 5.190104 -v -0.058605 3.894629 5.409895 -v -0.058605 3.894629 5.190104 -v -0.114958 3.877533 5.409895 -v -0.114958 3.877533 5.190104 -v -0.166893 3.849773 5.409895 -v -0.166893 3.849773 5.190104 -v -0.212415 3.812415 5.409895 -v -0.212415 3.812415 5.190104 -v -0.249773 3.766893 5.409895 -v -0.249773 3.766893 5.190104 -v -0.277533 3.714958 5.409895 -v -0.277533 3.714958 5.190104 -v -0.294628 3.658606 5.409895 -v -0.294628 3.658606 5.190104 -v -0.300400 3.600000 5.409895 -v -0.300400 3.600000 5.190104 -v -0.294628 3.541395 5.409895 -v -0.294628 3.541395 5.190104 -v -0.277533 3.485043 5.409895 -v -0.277533 3.485043 5.190104 -v -0.249773 3.433107 5.409895 -v -0.249773 3.433107 5.190104 -v -0.212414 3.387585 5.409895 -v 0.146217 3.453784 5.190104 -v 0.171933 3.485118 5.410769 -v 0.171933 3.485118 5.190104 -v 0.202808 3.559659 5.190104 -v 0.191041 3.520869 5.190104 -v 0.206782 3.600000 5.190104 -v 0.202808 3.640342 5.190104 -v 0.171933 3.714882 5.190104 -v 0.191041 3.679132 5.190104 -v 0.146217 3.746217 5.190104 -v 0.114882 3.771934 5.190104 -v 0.040341 3.802809 5.190104 -v 0.079132 3.791041 5.190104 -v 0.000000 3.806782 5.190104 -v -0.040341 3.802809 5.190104 -v -0.114882 3.771934 5.190104 -v -0.079132 3.791041 5.190104 -v -0.146217 3.746217 5.190104 -v -0.171933 3.714881 5.190104 -v -0.202808 3.640342 5.190104 -v -0.191041 3.679132 5.190104 -v -0.206782 3.600000 5.190104 -v -0.202808 3.559659 5.190104 -v -0.191041 3.520869 5.190104 -v -0.171932 3.485118 5.190104 -v -0.212414 3.387585 5.190104 -v -0.040341 3.397192 5.190104 -v 0.000000 3.393219 5.410769 -v 0.000000 3.393219 5.190104 -v -0.114882 3.771934 5.410769 -v 0.191041 3.520869 5.410769 -v -0.146217 3.746217 5.410769 -v 0.202808 3.559659 5.410769 -v -0.171933 3.714881 5.410769 -v 0.206782 3.600000 5.410769 -v -0.191041 3.679132 5.410769 -v 0.202808 3.640342 5.410769 -v -0.202808 3.640342 5.410769 -v 0.191041 3.679132 5.410769 -v -0.206781 3.600000 5.410769 -v 0.171933 3.714882 5.410769 -v -0.202808 3.559659 5.410769 -v 0.146217 3.746217 5.410769 -v -0.191041 3.520869 5.410769 -v 0.114882 3.771934 5.410769 -v -0.171932 3.485118 5.410769 -v 0.079132 3.791041 5.410769 -v 0.040341 3.397192 5.410769 -v 0.040341 3.397192 5.190104 -v -0.146216 3.453784 5.410769 -v -0.146216 3.453784 5.190104 -v 0.040341 3.802809 5.410769 -v 0.079132 3.408959 5.410769 -v 0.079132 3.408959 5.190104 -v -0.114881 3.428067 5.410769 -v -0.114881 3.428067 5.190104 -v 0.000000 3.806782 5.410769 -v 0.114882 3.428067 5.410769 -v 0.114882 3.428067 5.190104 -v -0.079132 3.408959 5.410769 -v -0.079132 3.408959 5.190104 -v -0.040341 3.802809 5.410769 -v 0.146217 3.453784 5.410769 -v -0.040341 3.397192 5.410769 -v -0.079132 3.791041 5.410769 -v 0.169977 3.486425 5.409895 -v 0.188868 3.521769 5.409895 -v 0.200501 3.560118 5.409895 -v 0.204429 3.600000 5.409895 -v 0.200501 3.639883 5.409895 -v 0.188868 3.678232 5.409895 -v 0.169977 3.713575 5.409895 -v 0.144553 3.744554 5.409895 -v 0.113575 3.769978 5.409895 -v 0.078232 3.788868 5.409895 -v 0.039882 3.800502 5.409895 -v 0.000000 3.804430 5.409895 -v -0.039882 3.800502 5.409895 -v -0.078232 3.788868 5.409895 -v -0.113575 3.769978 5.409895 -v -0.144553 3.744554 5.409895 -v -0.169977 3.713575 5.409895 -v -0.188868 3.678231 5.409895 -v -0.200501 3.639883 5.409895 -v -0.204429 3.600000 5.409895 -v -0.200501 3.560118 5.409895 -v -0.188868 3.521769 5.409895 -v -0.169977 3.486425 5.409895 -v -0.144553 3.455447 5.409895 -v -0.371415 3.387367 5.661842 -v -0.371415 2.912633 4.938158 -v -0.371415 2.912633 5.661843 -v -0.371415 3.387367 4.938158 -v 0.390512 2.912633 4.938158 -v 0.390512 3.387367 4.938158 -v 0.390512 2.912633 5.661843 -v 0.390512 3.387367 5.661842 -v 0.212149 3.387367 5.409895 -v 0.212149 3.387367 5.190104 -v -0.212149 3.387367 5.190104 -v -0.212149 3.387367 5.409895 -v 0.000000 3.387367 5.190104 -v 0.042295 3.387367 5.190104 -v 0.088076 3.387367 5.190104 -v 0.142077 3.387367 5.190104 -v -0.142076 3.387367 5.190104 -v -0.088075 3.387367 5.190104 -v -0.042295 3.387367 5.190104 -v 0.039882 3.399499 5.409895 -v 0.000000 3.387367 5.409895 -v 0.042295 3.387367 5.409895 -v 0.078232 3.411133 5.409895 -v 0.088076 3.387367 5.409895 -v 0.113575 3.430023 5.409895 -v 0.142077 3.387367 5.409895 -v 0.144553 3.455447 5.409895 -v -0.088075 3.387367 5.409895 -v -0.113575 3.430023 5.409895 -v -0.142076 3.387367 5.409895 -v -0.042295 3.387367 5.409895 -v -0.078231 3.411133 5.409895 -v -0.039882 3.399499 5.409895 -v 0.000000 3.395571 5.409895 -v -0.285753 2.876173 -17.583353 -v -0.206993 3.392600 -18.284744 -v -0.285753 2.876173 -18.899897 -v 0.285753 2.876173 -18.899897 -v 0.206993 3.392600 -18.284744 -v 0.285753 2.876173 -17.583353 -v 0.206993 3.392600 -17.955841 -v -0.052052 3.504858 -18.120081 -v -0.045935 3.600578 -18.259661 -v -0.052052 3.504858 -18.269205 -v 0.052052 3.504858 -18.269205 -v 0.045935 3.600578 -18.259661 -v 0.052052 3.504858 -18.120081 -v 0.045935 3.600578 -18.122107 -v 0.063413 3.327093 -18.286932 -v -0.063413 3.327093 -18.116322 -v -0.063413 3.327093 -18.286932 -v 0.063413 3.327093 -18.116322 -v -0.197447 3.270683 -17.965662 -v -0.287607 3.625363 -18.247025 -v -0.197447 3.270683 -18.300558 -v -0.199752 3.652223 -18.247025 -v -0.076163 3.307763 -18.300558 -v -0.076163 3.307763 -17.965662 -v -0.199752 3.652223 -17.977015 -v 0.076163 3.307763 -17.965847 -v 0.199752 3.652223 -18.246998 -v 0.076163 3.307763 -18.300491 -v 0.197447 3.270683 -18.300491 -v 0.287607 3.625363 -18.246998 -v 0.197447 3.270683 -17.965847 -v 0.287607 3.625363 -17.977190 -v -0.206993 3.392600 -17.955841 -v -0.045935 3.600578 -18.122107 -v -0.287607 3.625363 -17.977015 -v 0.199752 3.652223 -17.977190 -vn -0.0004 -0.0000 -1.0000 -vn -0.0000 -0.0000 -1.0000 -vn -0.0005 -0.0000 -1.0000 -vn 0.0029 -1.0000 0.0015 -vn 0.0064 -1.0000 0.0034 -vn -0.0000 -1.0000 -0.0000 -vn 0.8011 0.5986 -0.0000 -vn -0.0000 -0.0000 1.0000 -vn 1.0000 -0.0000 -0.0000 -vn 0.0008 0.0005 1.0000 -vn 0.0014 0.0044 1.0000 -vn 0.0015 0.0049 1.0000 -vn 0.0010 1.0000 -0.0000 -vn -0.8011 0.5986 -0.0000 -vn -0.0066 0.0049 1.0000 -vn -0.9179 -0.3969 -0.0000 -vn -0.0007 -0.0000 -1.0000 -vn -0.0009 -1.0000 0.0003 -vn -0.0000 -0.5728 0.8197 -vn -0.0005 -0.8620 0.5069 -vn 0.8506 0.0005 0.5258 -vn 0.8501 -0.0003 0.5266 -vn 0.8501 -0.0000 0.5267 -vn 0.8011 -0.5986 -0.0000 -vn -1.0000 -0.0000 -0.0000 -vn -0.0000 1.0000 -0.0000 -vn -0.8011 -0.5986 -0.0000 -vn -0.0000 -0.5727 0.8197 -vn -0.0005 -0.8619 0.5070 -vn 0.8500 -0.0007 0.5267 -vn 0.8510 0.0008 0.5252 -vn 0.8511 -0.0000 0.5250 -vn -0.0009 -1.0000 0.0004 -vn -0.0001 -0.5735 0.8192 -vn 0.8503 -0.0000 0.5263 -vn 0.8505 0.0002 0.5259 -vn 0.8505 -0.0000 0.5259 -vn -0.9178 -0.3970 -0.0000 -vn 0.8504 -0.0000 0.5262 -vn 0.8505 0.0005 0.5259 -vn 0.8500 -0.0003 0.5267 -vn 0.8500 -0.0000 0.5268 -vn -0.0005 -0.8620 0.5070 -vn -0.8503 -0.0000 -0.5263 -vn -0.0000 -0.5729 0.8196 -vn -0.8504 -0.0000 -0.5261 -vn -0.0000 -0.5731 0.8195 -vn -0.0005 -0.8621 0.5068 -vn -0.8502 -0.0000 -0.5265 -vn -0.9179 -0.3968 -0.0000 -vn 0.0093 -0.9999 0.0049 -vn 0.0007 -0.0000 1.0000 -vn -0.0010 -1.0000 -0.0000 -vn -0.0011 -1.0000 0.0005 -vn -0.0011 -1.0000 0.0003 -vn 0.9961 0.0882 -0.0000 -vn 0.9865 -0.1635 -0.0000 -vn 0.8737 -0.4865 -0.0000 -vn 0.6256 -0.7802 -0.0000 -vn 0.2322 -0.9727 -0.0000 -vn -0.2322 -0.9727 -0.0000 -vn -0.6256 -0.7802 -0.0000 -vn -0.8737 -0.4865 -0.0000 -vn -0.9865 -0.1635 -0.0000 -vn -0.9961 0.0882 -0.0000 -vn 0.1305 0.9914 -0.0000 -vn 0.3827 0.9239 -0.0000 -vn 0.6088 0.7934 -0.0000 -vn 0.7934 0.6088 -0.0000 -vn 0.7933 0.6088 -0.0000 -vn 0.9239 0.3827 -0.0000 -vn 0.9914 0.1305 -0.0000 -vn 0.9914 -0.1305 -0.0000 -vn 0.9239 -0.3827 -0.0000 -vn 0.7934 -0.6088 -0.0000 -vn 0.6088 -0.7934 -0.0000 -vn 0.3827 -0.9239 -0.0000 -vn 0.1305 -0.9914 -0.0000 -vn -0.1305 -0.9914 -0.0000 -vn -0.3827 -0.9239 -0.0000 -vn -0.6088 -0.7934 -0.0000 -vn -0.7934 -0.6088 -0.0000 -vn -0.9239 -0.3827 -0.0000 -vn -0.9914 -0.1305 -0.0000 -vn -0.9914 0.1305 -0.0000 -vn -0.9239 0.3827 -0.0000 -vn -0.7934 0.6088 -0.0000 -vn -0.6088 0.7934 -0.0000 -vn -0.3827 0.9239 -0.0000 -vn -0.1305 0.9914 -0.0000 -vn 0.3514 -0.8484 -0.3959 -vn 0.8484 -0.3514 -0.3959 -vn 0.8484 0.3514 -0.3959 -vn 0.3514 0.8484 -0.3959 -vn -0.3514 0.8484 -0.3959 -vn -0.8484 0.3514 -0.3959 -vn -0.8484 -0.3514 -0.3959 -vn -0.3514 -0.8484 -0.3959 -vn -0.6088 -0.7933 -0.0000 -vn -0.7933 -0.6088 -0.0000 -vn 0.6088 0.7933 -0.0000 -vn 0.6088 -0.7933 -0.0000 -vn 0.5314 0.1600 -0.8319 -vn 0.8527 -0.0000 -0.5224 -vn 0.5314 -0.1600 -0.8319 -vn -0.0000 -0.0001 -1.0000 -vn -0.0000 0.0002 -1.0000 -vn -0.0000 0.0001 1.0000 -vn -0.0000 -0.0001 1.0000 -vn -0.0000 0.0001 -1.0000 -vn 0.7933 -0.6088 -0.0000 -vn -0.0000 -0.3784 -0.9256 -vn -0.0000 -0.0253 0.9997 -vn -0.0000 0.1422 -0.9898 -vn -0.0000 -0.9644 0.2643 -vn -0.0000 -0.9848 0.1739 -vn -0.0000 0.4185 0.9082 -vn -0.0000 0.9237 0.3831 -vn -0.0000 -0.8319 0.5549 -vn -0.0000 0.9997 0.0264 -vn -0.0000 -0.9997 -0.0249 -vn -0.0000 -0.9236 -0.3834 -vn 0.0001 0.6431 0.7658 -vn -0.0000 0.6432 0.7657 -vn 0.0002 0.6431 0.7658 -vn -0.0000 -0.0909 0.9959 -vn -0.0000 0.9535 0.3014 -vn -0.0000 -0.8690 -0.4947 -vn -0.0000 0.9932 0.1168 -vn 0.0001 0.8691 0.4946 -vn 0.0002 0.8692 0.4944 -vn 0.0003 0.8693 0.4942 -vn -0.0000 0.9988 0.0480 -vn -0.0000 0.3739 -0.9275 -vn -0.0000 -0.8192 0.5735 -vn -0.0000 -0.5018 0.8650 -vn -0.0000 -0.3738 -0.9275 -vn -0.0000 0.9764 0.2159 -vn -0.0000 -0.5664 0.8241 -vn -0.0000 0.2951 0.9555 -vn -0.0000 -0.9028 -0.4301 -vn -0.0000 -0.6377 0.7703 -vn -0.0000 -0.6645 -0.7473 -vn -0.0000 -0.2686 0.9633 -vn -0.0000 0.2609 0.9654 -vn -0.0000 -0.9044 -0.4266 -vn -0.0000 0.7413 0.6712 -vn -0.0000 -0.9994 -0.0337 -vn -0.0000 -0.9729 -0.2312 -vn -0.0000 0.9943 0.1065 -vn -0.0000 -0.9039 0.4277 -vn -0.0000 0.9182 -0.3961 -vn -0.0000 -0.4423 0.8969 -vn -0.0000 0.4320 0.9019 -vn -0.0000 0.4842 -0.8749 -vn -0.0000 0.4261 0.9047 -vn -0.0000 0.1909 -0.9816 -vn -0.0000 0.9995 0.0318 -vn -0.0000 0.9918 -0.1277 -vn -0.0000 0.6918 0.7220 -vn -0.0000 0.8646 -0.5025 -vn 1.0000 -0.0007 0.0005 -vn 1.0000 -0.0014 0.0012 -vn -0.0000 -0.6430 -0.7658 -vn -0.0000 -0.6432 -0.7657 -vn -0.0000 -0.8693 -0.4942 -vn -0.6596 -0.0683 0.7485 -vn -0.8378 -0.5043 -0.2093 -vn -0.8500 0.5231 0.0615 -vn -0.8432 0.5126 0.1621 -vn -0.8274 0.4880 0.2778 -vn -0.7765 -0.4066 -0.4813 -vn -0.9847 -0.1471 -0.0934 -vn -0.6634 -0.4810 -0.5732 -vn 0.8711 0.4878 0.0574 -vn 0.8649 0.4785 0.1513 -vn 0.8509 0.4567 0.2597 -vn 0.6244 -0.6823 -0.3803 -vn 0.9324 -0.3053 -0.1935 -vn 0.4276 -0.5944 -0.6811 -vn 0.8498 -0.4812 -0.2153 -vn 0.8540 -0.4746 -0.2131 -vn 0.5116 -0.7935 -0.3296 -vn 0.6942 -0.0654 0.7168 -vn 0.9639 -0.2569 0.0704 -vn 0.9639 -0.2570 0.0704 -vn 0.9648 -0.2588 0.0457 -vn 0.9220 0.1620 0.3516 -vn 0.8935 -0.0114 0.4489 -vn 0.9565 -0.2427 0.1619 -vn 0.9618 0.2530 0.1049 -vn 0.9655 0.2601 0.0069 -vn 0.9180 -0.1501 -0.3671 -vn 0.8977 0.0627 -0.4361 -vn -0.9588 -0.2796 0.0494 -vn -0.9577 -0.2776 0.0761 -vn -0.8823 0.0669 -0.4660 -vn -0.9052 -0.1609 -0.3935 -vn -0.9597 0.2811 0.0074 -vn -0.9553 0.2732 0.1133 -vn -0.9492 -0.2618 0.1747 -vn -0.8776 -0.0121 0.4793 -vn -0.9097 0.1738 0.3771 -vn 0.0001 1.0000 -0.0000 -vn 0.0002 1.0000 -0.0000 -vn 0.0003 1.0000 -0.0000 -vn -0.0000 0.9998 0.0191 -vn -0.0002 0.9998 0.0191 -vn 1.0000 0.0011 0.0004 -vn 1.0000 -0.0019 0.0015 -vn 1.0000 -0.0005 0.0020 -vn 1.0000 -0.0000 0.0012 -vn -0.0000 -1.0000 0.0006 -vn -0.0000 0.0729 0.9973 -vn 0.0047 0.0733 -0.9973 -vn 0.0008 0.0724 -0.9974 -vn -0.0000 0.0722 -0.9974 -vn 1.0000 -0.0000 0.0018 -vn 0.0062 -0.0004 -1.0000 -vn 0.0077 -0.0010 -1.0000 -vn 0.0055 -0.0001 -1.0000 -vn -0.0000 1.0000 -0.0006 -vn 1.0000 -0.0000 0.0037 -vn 1.0000 -0.0026 -0.0033 -vn 0.0003 0.6430 0.7658 -vn -0.0000 0.8690 0.4947 -vn -0.0000 0.6918 0.7221 -vn 1.0000 -0.0041 0.0015 -vn 1.0000 -0.0003 0.0021 -vn 1.0000 -0.0067 -0.0002 -vn 1.0000 0.0001 0.0019 -vn -0.7777 -0.4043 -0.4814 -vn -0.7745 -0.4066 -0.4846 -vn -0.7289 -0.4483 -0.5175 -vn -0.6601 -0.4830 -0.5753 -vn 0.6040 -0.5435 -0.5829 -vn 0.5342 -0.5890 -0.6064 -vn 0.4630 -0.6025 -0.6501 -vn 0.4152 -0.5851 -0.6966 -vn 0.8373 -0.4982 -0.2250 -vn 0.4917 -0.8041 -0.3342 -vn 0.4860 -0.8072 -0.3351 -vn 1.0000 0.0088 0.0025 -vn 0.0055 0.0735 -0.9973 -vn 0.0084 -0.0012 -1.0000 -vn 1.0000 -0.0032 -0.0034 -vn 1.0000 0.0052 -0.0019 -vn 1.0000 -0.0041 -0.0024 -vn 1.0000 0.0022 -0.0022 -vn 1.0000 0.0099 0.0001 -vn 1.0000 -0.0003 0.0037 -vn 0.7730 -0.6344 -0.0000 -vn 0.8819 -0.4714 -0.0000 -vn 0.9569 -0.2903 -0.0000 -vn 0.9952 -0.0980 -0.0000 -vn 0.9952 0.0980 -0.0000 -vn 0.9569 0.2903 -0.0000 -vn 0.8819 0.4714 -0.0000 -vn 0.7730 0.6344 -0.0000 -vn 0.6344 0.7730 -0.0000 -vn 0.4714 0.8819 -0.0000 -vn 0.2903 0.9569 -0.0000 -vn 0.0980 0.9952 -0.0000 -vn -0.0980 0.9952 -0.0000 -vn -0.2903 0.9569 -0.0000 -vn -0.4714 0.8819 -0.0000 -vn -0.6344 0.7730 -0.0000 -vn -0.7730 0.6344 -0.0000 -vn -0.8819 0.4714 -0.0000 -vn -0.9569 0.2903 -0.0000 -vn -0.9952 0.0980 -0.0000 -vn -0.9952 -0.0980 -0.0000 -vn -0.9569 -0.2903 -0.0000 -vn -0.8819 -0.4714 -0.0000 -vn -0.7730 -0.6344 -0.0000 -vn -0.0000 -0.0002 -1.0000 -vn -0.0000 0.0009 -1.0000 -vn 0.4714 -0.8819 -0.0000 -vn 0.6344 -0.7730 -0.0000 -vn -0.6344 -0.7730 -0.0000 -vn -0.4714 -0.8819 -0.0000 -vn -0.2903 -0.9569 -0.0000 -vn -0.0980 -0.9952 -0.0000 -vn 0.0980 -0.9952 -0.0000 -vn 0.2903 -0.9569 -0.0000 -vn -0.0000 -0.0002 1.0000 -vn 0.6339 -0.7734 -0.0000 -vn -0.6348 -0.7726 -0.0000 -vn -0.6346 -0.7728 -0.0000 -vn -0.0000 -0.0003 -1.0000 -vn -0.0000 0.0013 -1.0000 -vn -0.0000 -0.0003 1.0000 -vn -0.9886 0.1508 -0.0000 -vn -0.0000 0.7659 -0.6430 -vn 0.9886 0.1508 -0.0000 -vn -0.0000 0.5850 0.8110 -vn -0.9980 0.0638 -0.0000 -vn -0.0000 0.0992 -0.9951 -vn 0.9980 0.0638 -0.0000 -vn -0.0000 0.0212 0.9998 -vn -0.0000 0.0211 0.9998 -vn -0.9692 -0.2464 -0.0000 -vn -0.0424 0.1386 -0.9894 -vn 0.9412 0.3377 -0.0000 -vn -0.0091 0.0297 0.9995 -vn 0.2924 -0.9563 -0.0000 -vn -0.2924 0.9563 -0.0000 -vn -0.9413 0.3377 -0.0000 -vn -0.9412 0.3377 -0.0000 -vn 0.0423 0.1385 -0.9895 -vn 0.9692 -0.2464 -0.0000 -vn 0.0091 0.0297 0.9995 -vn -0.2924 -0.9563 -0.0000 -vn 0.2924 0.9563 -0.0000 -vn 0.9413 0.3377 -0.0000 -vn 0.0091 0.0296 0.9995 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.498282 0.968169 -vt 0.470782 0.982469 -vt 0.443281 0.982469 -vt 0.443281 0.996769 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.470782 0.996769 -vt 0.415970 0.982469 -vt 0.443281 0.953868 -vt 0.415793 0.982420 -vt 0.443281 0.939568 -vt 0.443281 0.939617 -vt 0.470782 0.939568 -vt 0.498282 0.982469 -vt 0.435064 0.853152 -vt 0.419806 0.853152 -vt 0.557124 0.853152 -vt 0.572381 0.891623 -vt 0.557124 0.828152 -vt 0.572381 0.828152 -vt 0.557124 0.891623 -vt 0.541866 0.828152 -vt 0.541866 0.891623 -vt 0.526609 0.828152 -vt 0.526609 0.891623 -vt 0.511351 0.828152 -vt 0.511351 0.891623 -vt 0.496094 0.828152 -vt 0.496094 0.891623 -vt 0.480836 0.828152 -vt 0.480836 0.891623 -vt 0.465579 0.828152 -vt 0.465579 0.891623 -vt 0.450321 0.828152 -vt 0.450321 0.891623 -vt 0.435064 0.828152 -vt 0.435064 0.891623 -vt 0.419806 0.828152 -vt 0.572381 0.916623 -vt 0.572381 0.853152 -vt 0.526609 0.916623 -vt 0.541866 0.916623 -vt 0.465579 0.916623 -vt 0.541866 0.853152 -vt 0.450321 0.853152 -vt 0.526609 0.853152 -vt 0.465579 0.853152 -vt 0.511351 0.853152 -vt 0.496094 0.853152 -vt 0.480836 0.853152 -vt 0.419806 0.891623 -vt 0.419806 0.916623 -vt 0.557124 0.916623 -vt 0.435064 0.916623 -vt 0.450321 0.916623 -vt 0.480836 0.916623 -vt 0.496094 0.916623 -vt 0.511351 0.916623 -vt 0.603611 0.962891 -vt 0.600511 0.943544 -vt 0.603611 0.943544 -vt 0.600511 0.962891 -vt 0.597411 0.943544 -vt 0.597411 0.962891 -vt 0.594310 0.943544 -vt 0.594310 0.962891 -vt 0.591210 0.943544 -vt 0.591210 0.962891 -vt 0.588109 0.943544 -vt 0.588109 0.962891 -vt 0.585009 0.943544 -vt 0.585009 0.962891 -vt 0.581908 0.943544 -vt 0.581908 0.962891 -vt 0.578808 0.943544 -vt 0.578808 0.962891 -vt 0.575707 0.943544 -vt 0.575707 0.962891 -vt 0.572607 0.943544 -vt 0.572607 0.962891 -vt 0.569507 0.943544 -vt 0.569507 0.962891 -vt 0.566406 0.943544 -vt 0.566406 0.962891 -vt 0.563306 0.943544 -vt 0.563306 0.962891 -vt 0.560205 0.943544 -vt 0.560205 0.962891 -vt 0.557105 0.943544 -vt 0.557105 0.962891 -vt 0.554004 0.943544 -vt 0.554004 0.962891 -vt 0.550904 0.943544 -vt 0.550904 0.962891 -vt 0.547804 0.943544 -vt 0.547804 0.962891 -vt 0.544703 0.943544 -vt 0.544703 0.962891 -vt 0.541603 0.943544 -vt 0.541603 0.962891 -vt 0.538502 0.943544 -vt 0.538502 0.962891 -vt 0.535402 0.943544 -vt 0.556733 0.950828 -vt 0.565662 0.958871 -vt 0.556733 0.966913 -vt 0.535402 0.962891 -vt 0.532301 0.943544 -vt 0.532301 0.962891 -vt 0.529201 0.943544 -vt 0.592763 0.964859 -vt 0.589052 0.965659 -vt 0.603611 0.987891 -vt 0.594310 0.968544 -vt 0.603611 0.968544 -vt 0.594310 0.987891 -vt 0.585009 0.968544 -vt 0.585009 0.987891 -vt 0.575707 0.968544 -vt 0.575707 0.987891 -vt 0.566406 0.968544 -vt 0.566406 0.987891 -vt 0.557105 0.968544 -vt 0.557105 0.987891 -vt 0.547804 0.968544 -vt 0.547804 0.968157 -vt 0.529945 0.958871 -vt 0.547804 0.987891 -vt 0.538502 0.968544 -vt 0.538502 0.987891 -vt 0.529201 0.968544 -vt 0.597637 0.952304 -vt 0.572381 0.952304 -vt 0.572381 0.965437 -vt 0.554118 0.962154 -vt 0.560431 0.965437 -vt 0.556733 0.958871 -vt 0.554118 0.955587 -vt 0.560431 0.952304 -vt 0.547804 0.949584 -vt 0.547804 0.954228 -vt 0.535176 0.952304 -vt 0.541490 0.955587 -vt 0.538874 0.958871 -vt 0.535176 0.965437 -vt 0.541490 0.962154 -vt 0.585009 0.983745 -vt 0.575707 0.983745 -vt 0.566406 0.983745 -vt 0.529201 0.987891 -vt 0.538502 0.983745 -vt 0.529201 0.983745 -vt 0.603611 0.983745 -vt 0.594310 0.983745 -vt 0.557105 0.983745 -vt 0.600511 0.968544 -vt 0.600511 0.987891 -vt 0.597411 0.968544 -vt 0.597411 0.987891 -vt 0.591210 0.968544 -vt 0.591210 0.987891 -vt 0.588109 0.968544 -vt 0.588109 0.987891 -vt 0.581908 0.968544 -vt 0.581908 0.987891 -vt 0.578808 0.968544 -vt 0.578808 0.987891 -vt 0.572607 0.968544 -vt 0.572607 0.987891 -vt 0.569507 0.968544 -vt 0.569507 0.987891 -vt 0.563306 0.968544 -vt 0.563306 0.987891 -vt 0.560205 0.968544 -vt 0.560205 0.987891 -vt 0.554004 0.968544 -vt 0.554004 0.987891 -vt 0.550904 0.968544 -vt 0.550904 0.987891 -vt 0.544703 0.968544 -vt 0.544703 0.987891 -vt 0.541603 0.968544 -vt 0.541603 0.987891 -vt 0.535402 0.968544 -vt 0.535402 0.987891 -vt 0.532301 0.968544 -vt 0.532301 0.987891 -vt 0.567759 0.961274 -vt 0.580387 0.967841 -vt 0.602259 0.956467 -vt 0.585009 0.965935 -vt 0.589631 0.967841 -vt 0.593938 0.966913 -vt 0.597637 0.965437 -vt 0.595844 0.963630 -vt 0.600475 0.963514 -vt 0.598073 0.962119 -vt 0.602259 0.961274 -vt 0.599366 0.960496 -vt 0.602867 0.958871 -vt 0.599778 0.958871 -vt 0.599366 0.957245 -vt 0.598073 0.955622 -vt 0.600475 0.954228 -vt 0.595844 0.954111 -vt 0.592763 0.952882 -vt 0.593938 0.950828 -vt 0.589052 0.952082 -vt 0.589631 0.949901 -vt 0.585009 0.951806 -vt 0.585009 0.949584 -vt 0.580387 0.949901 -vt 0.580965 0.952082 -vt 0.576080 0.950828 -vt 0.577254 0.952882 -vt 0.574174 0.954111 -vt 0.569543 0.954228 -vt 0.571944 0.955622 -vt 0.567759 0.956467 -vt 0.570651 0.957245 -vt 0.567150 0.958871 -vt 0.570240 0.958871 -vt 0.570651 0.960496 -vt 0.571944 0.962119 -vt 0.569543 0.963514 -vt 0.574174 0.963630 -vt 0.577254 0.964859 -vt 0.576079 0.966913 -vt 0.580965 0.965659 -vt 0.585009 0.968157 -vt 0.552426 0.967841 -vt 0.543181 0.967841 -vt 0.538874 0.966913 -vt 0.532338 0.963514 -vt 0.530554 0.961274 -vt 0.530554 0.956467 -vt 0.532338 0.954228 -vt 0.538874 0.950828 -vt 0.543181 0.949901 -vt 0.552426 0.949901 -vt 0.563269 0.954228 -vt 0.565054 0.956467 -vt 0.565054 0.961274 -vt 0.563269 0.963514 -vt 0.529201 0.962891 -vt 0.547804 0.963514 -vt 0.396481 0.835451 -vt 0.459833 0.866080 -vt 0.396481 0.866080 -vt 0.545719 0.522092 -vt 0.497611 0.526046 -vt 0.462657 0.901337 -vt 0.459833 0.868394 -vt 0.462657 0.868394 -vt 0.467752 0.901337 -vt 0.467752 0.868394 -vt 0.523185 0.868394 -vt 0.388562 0.868394 -vt 0.411544 0.779875 -vt 0.390770 0.774974 -vt 0.333129 0.853963 -vt 0.523185 0.853963 -vt 0.564336 0.894415 -vt 0.384270 0.884437 -vt 0.384270 0.894415 -vt 0.333129 0.850928 -vt 0.523185 0.850928 -vt 0.333129 0.845982 -vt 0.625000 0.895044 -vt 0.625000 0.635044 -vt 0.625000 0.505044 -vt 0.563252 0.666138 -vt 0.539872 0.667093 -vt 0.539872 0.666138 -vt 0.360235 0.662320 -vt 0.610235 0.662320 -vt 0.467262 0.676993 -vt 0.389035 0.657551 -vt 0.654591 0.681900 -vt 0.673945 0.683675 -vt 0.539872 0.686553 -vt 0.516493 0.691408 -vt 0.516493 0.686553 -vt 0.371179 0.824396 -vt 0.224012 0.900923 -vt 0.224012 0.824396 -vt 0.504838 0.868908 -vt 0.504838 0.907383 -vt 0.578829 0.907383 -vt 0.371179 0.900923 -vt 0.665512 0.900923 -vt 0.589593 0.872960 -vt 0.579928 0.818991 -vt 0.720909 0.823249 -vt 0.728444 0.813188 -vt 0.518346 0.900923 -vt 0.403568 0.865893 -vt 0.634882 0.842860 -vt 0.875000 0.895044 -vt 0.622404 0.844210 -vt 0.554773 0.879378 -vt 0.554773 0.844210 -vt 0.579328 0.848935 -vt 0.460045 0.910962 -vt 0.460045 0.848935 -vt 0.594184 0.857324 -vt 0.479639 0.916888 -vt 0.479639 0.857324 -vt 0.316829 0.865671 -vt 0.232387 0.909581 -vt 0.232387 0.865671 -vt 0.755432 0.845134 -vt 0.631372 0.909645 -vt 0.631372 0.845134 -vt 0.875000 0.780375 -vt 0.625000 0.886482 -vt 0.625000 0.780375 -vt 0.527665 0.671526 -vt 0.434557 0.728562 -vt 0.434557 0.671526 -vt 0.478702 0.654816 -vt 0.405181 0.693047 -vt 0.405181 0.654816 -vt 0.578288 0.668871 -vt 0.504989 0.711222 -vt 0.504989 0.668871 -vt 0.369079 0.703598 -vt 0.619079 0.688267 -vt 0.619079 0.703598 -vt 0.545910 0.694020 -vt 0.542943 0.694166 -vt 0.538713 0.651138 -vt 0.875000 0.886482 -vt 0.625000 0.894248 -vt 0.348638 0.674242 -vt 0.598638 0.670022 -vt 0.598638 0.674242 -vt 0.862696 0.694629 -vt 0.612696 0.694960 -vt 0.612696 0.694629 -vt 0.528140 0.639470 -vt 0.528140 0.682157 -vt 0.512942 0.688324 -vt 0.875000 0.765044 -vt 0.625000 0.875456 -vt 0.625000 0.765044 -vt 0.560300 0.670191 -vt 0.450392 0.729897 -vt 0.450392 0.670191 -vt 0.737196 0.697591 -vt 0.487196 0.717178 -vt 0.487196 0.697591 -vt 0.252961 0.688828 -vt 0.502961 0.675471 -vt 0.502961 0.688828 -vt 0.585624 0.678619 -vt 0.528884 0.716829 -vt 0.528884 0.678619 -vt 0.571863 0.680723 -vt 0.321863 0.681349 -vt 0.321863 0.680723 -vt 0.424216 0.682430 -vt 0.174216 0.683030 -vt 0.174216 0.682430 -vt 0.324323 0.676884 -vt 0.574323 0.676770 -vt 0.574323 0.676884 -vt 0.216049 0.682677 -vt 0.466049 0.663982 -vt 0.466049 0.682677 -vt 0.216049 0.652466 -vt 0.466049 0.652320 -vt 0.466049 0.652466 -vt 0.601392 0.694569 -vt 0.351392 0.694684 -vt 0.351392 0.694569 -vt 0.485420 0.656087 -vt 0.486296 0.699330 -vt 0.485205 0.699287 -vt 0.181598 0.675854 -vt 0.431598 0.674999 -vt 0.431598 0.675854 -vt 0.456422 0.681871 -vt 0.456979 0.681849 -vt 0.456531 0.703932 -vt 0.410451 0.676654 -vt 0.660451 0.676023 -vt 0.660451 0.676654 -vt 0.532490 0.669456 -vt 0.282490 0.715181 -vt 0.282490 0.669456 -vt 0.375000 0.844421 -vt 0.125000 0.852193 -vt 0.125000 0.844421 -vt 0.626000 0.660251 -vt 0.376000 0.701615 -vt 0.376000 0.660251 -vt 0.593750 0.793481 -vt 0.218750 0.793481 -vt 0.819522 0.793481 -vt 0.604291 0.804188 -vt 0.510661 0.804188 -vt 0.614339 0.751259 -vt 0.375000 0.765044 -vt 0.291667 0.895044 -vt 0.291667 0.765044 -vt 0.625695 0.758273 -vt 0.378906 0.801606 -vt 0.378906 0.758273 -vt 0.664062 0.761468 -vt 0.580729 0.765166 -vt 0.580729 0.761468 -vt 0.625000 0.767416 -vt 0.708333 0.765044 -vt 0.708333 0.767416 -vt 0.677121 0.760761 -vt 0.684017 0.765248 -vt 0.684017 0.797089 -vt 0.677083 0.809854 -vt 0.593750 0.821919 -vt 0.593750 0.809854 -vt 0.630208 0.781780 -vt 0.546875 0.785479 -vt 0.546875 0.781780 -vt 0.109638 0.753166 -vt 0.809234 0.800535 -vt 0.629601 0.752856 -vt 0.382812 0.796190 -vt 0.382812 0.752856 -vt 0.375000 0.635044 -vt 0.375000 0.678377 -vt 0.000000 0.505044 -vt 0.263889 0.765044 -vt 0.263889 0.895044 -vt 0.573022 0.757181 -vt 0.705624 0.783892 -vt 0.573022 0.783892 -vt 0.226495 0.821409 -vt 0.627179 0.805925 -vt 0.648505 0.794114 -vt 0.280702 0.812445 -vt 0.496130 0.766499 -vt 0.444553 0.738474 -vt 0.421875 0.760981 -vt 0.355469 0.819888 -vt 0.581240 0.819888 -vt 0.320312 0.775200 -vt 0.341584 0.755253 -vt 0.894527 0.754523 -vt 0.502440 0.838252 -vt 0.335149 0.925244 -vt 0.335149 0.838252 -vt 0.556540 0.854906 -vt 0.463146 0.903471 -vt 0.463146 0.854906 -vt 0.245835 0.915308 -vt 0.224012 0.839396 -vt 0.224012 0.915923 -vt 0.665512 0.915923 -vt 0.643647 0.915691 -vt 0.597620 0.901828 -vt 0.125000 0.765044 -vt 0.228633 0.780745 -vt 0.574804 0.873659 -vt 0.285018 0.848638 -vt 0.759668 0.871099 -vt 0.578887 0.824122 -vt 0.377872 0.915356 -vt 0.518346 0.915923 -vt 0.371179 0.915923 -vt 0.377872 0.900356 -vt 0.389892 0.832881 -vt 0.511639 0.915711 -vt 0.389892 0.847881 -vt 0.491200 0.874173 -vt 0.497503 0.902923 -vt 0.406788 0.779458 -vt 0.643647 0.900691 -vt 0.245835 0.900308 -vt 0.150429 0.671343 -vt 0.221470 0.868452 -vt 0.251000 0.856936 -vt 0.361735 0.900442 -vt 0.511639 0.900711 -vt 0.236235 0.851817 -vt 0.164872 0.847978 -vt 0.209167 0.860775 -vt 0.150429 0.686343 -vt 0.605366 0.625582 -vt 0.392556 0.635044 -vt 0.410506 0.621173 -vt 0.389781 0.625623 -vt 0.375000 0.618794 -vt 0.390712 0.598254 -vt 0.388734 0.524179 -vt 0.375000 0.505044 -vt 0.382120 0.629248 -vt 0.556923 0.509307 -vt 0.597602 0.514746 -vt 0.507545 0.505044 -vt 0.545076 0.505044 -vt 0.484510 0.505044 -vt 0.391870 0.838038 -vt 0.389721 0.863715 -vt 0.343364 0.852237 -vt 0.603447 0.775430 -vt 0.594972 0.884555 -vt 0.392556 0.765044 -vt 0.375000 0.781294 -vt 0.382120 0.770840 -vt 0.390113 0.874091 -vt 0.392214 0.803595 -vt 0.558295 0.890122 -vt 0.545076 0.895044 -vt 0.498333 0.872319 -vt 0.507545 0.895044 -vt 0.484510 0.895044 -vt 0.548567 0.877213 -vt 0.375000 0.895044 -vt 0.512111 0.852142 -vt 0.478620 0.866125 -vt 0.467060 0.863579 -vt 0.464672 0.866316 -vt 0.333129 0.917808 -vt 0.243618 0.881248 -vt 0.333129 0.868394 -vt 0.342454 0.866584 -vt 0.539872 0.679250 -vt 0.516493 0.680206 -vt 0.516493 0.679250 -vt 0.718065 0.674451 -vt 0.298249 0.674451 -vt 0.167739 0.674451 -vt 0.563252 0.659791 -vt 0.539872 0.659791 -vt 0.563252 0.654936 -vt 0.539872 0.654936 -vt 0.666833 0.705488 -vt 0.666833 0.669427 -vt 0.666833 0.663889 -vt 0.539872 0.680206 -vt 0.440044 0.779617 -vt 0.437493 0.837443 -vt 0.422729 0.709719 -vt 0.360235 0.647539 -vt 0.425280 0.651893 -vt 0.545228 0.642180 -vt 0.610235 0.705405 -vt 0.547899 0.699410 -vt 0.489409 0.751566 -vt 0.570046 0.808982 -vt 0.488685 0.809183 -vt 0.481303 0.837335 -vt 0.559993 0.779904 -vt 0.482026 0.779717 -vt 0.562664 0.837133 -vt 0.432662 0.733550 -vt 0.473921 0.791269 -vt 0.430111 0.791377 -vt 0.415872 0.665231 -vt 0.459833 0.835451 -vt 0.459833 0.901337 -vt 0.564336 0.884437 -vt 0.523185 0.845982 -vt 0.563252 0.667093 -vt 0.610235 0.657539 -vt 0.545228 0.662180 -vt 0.610235 0.647320 -vt 0.467262 0.661993 -vt 0.425280 0.661893 -vt 0.360235 0.647320 -vt 0.360235 0.657539 -vt 0.408389 0.659326 -vt 0.539872 0.691408 -vt 0.578829 0.868908 -vt 0.622404 0.879378 -vt 0.579328 0.910962 -vt 0.594184 0.916888 -vt 0.316829 0.909581 -vt 0.755432 0.909645 -vt 0.527665 0.728562 -vt 0.478702 0.693047 -vt 0.578288 0.711222 -vt 0.369079 0.688267 -vt 0.468469 0.694166 -vt 0.468469 0.651138 -vt 0.551217 0.656212 -vt 0.551217 0.691333 -vt 0.546274 0.693903 -vt 0.875000 0.894248 -vt 0.348638 0.670022 -vt 0.862696 0.694960 -vt 0.427566 0.688324 -vt 0.427566 0.636026 -vt 0.518084 0.636026 -vt 0.521690 0.636204 -vt 0.522133 0.636346 -vt 0.875000 0.875456 -vt 0.560300 0.729897 -vt 0.737196 0.717178 -vt 0.252961 0.675471 -vt 0.585624 0.716829 -vt 0.571863 0.681349 -vt 0.424216 0.683030 -vt 0.324323 0.676770 -vt 0.216049 0.663982 -vt 0.216049 0.652320 -vt 0.601392 0.694684 -vt 0.485158 0.663146 -vt 0.485415 0.656142 -vt 0.485157 0.699244 -vt 0.485525 0.655862 -vt 0.489162 0.650857 -vt 0.578824 0.650857 -vt 0.578824 0.692226 -vt 0.564711 0.699565 -vt 0.485156 0.683510 -vt 0.485156 0.680598 -vt 0.485157 0.699007 -vt 0.485156 0.663466 -vt 0.492385 0.699565 -vt 0.181598 0.674999 -vt 0.456397 0.700163 -vt 0.456397 0.691415 -vt 0.456397 0.682013 -vt 0.456397 0.689928 -vt 0.456529 0.703904 -vt 0.456398 0.700327 -vt 0.456397 0.681893 -vt 0.458443 0.706603 -vt 0.456585 0.704047 -vt 0.504231 0.685476 -vt 0.504231 0.706603 -vt 0.497023 0.681729 -vt 0.460088 0.681729 -vt 0.410451 0.676023 -vt 0.532490 0.715181 -vt 0.375000 0.852193 -vt 0.626000 0.701615 -vt 0.510661 0.750275 -vt 0.613008 0.750275 -vt 0.614339 0.797650 -vt 0.613913 0.799184 -vt 0.625695 0.801606 -vt 0.664062 0.765166 -vt 0.612858 0.797764 -vt 0.612858 0.760761 -vt 0.683725 0.764195 -vt 0.683103 0.797764 -vt 0.677083 0.821919 -vt 0.630208 0.785479 -vt 0.779674 0.760019 -vt 0.781057 0.757208 -vt 0.629601 0.796190 -vt 0.236111 0.765044 -vt 0.705624 0.757181 -vt 0.380237 0.736263 -vt 0.651589 0.807504 -vt 0.272135 0.819888 -vt 0.502440 0.925244 -vt 0.556540 0.903471 -vt 0.285018 0.833638 -vt 0.579240 0.867737 -vt 0.597620 0.886828 -vt 0.491813 0.871153 -vt 0.497503 0.887923 -vt 0.378552 0.866324 -vt 0.341437 0.845898 -vt 0.335206 0.844421 -vt 0.337857 0.839061 -vt 0.391890 0.866446 -vt 0.464894 0.838291 -vt 0.518073 0.839407 -vt 0.514496 0.845523 -vt 0.520786 0.844241 -vt 0.512974 0.866402 -vt 0.587555 0.674451 -vt 0.666833 0.699950 -vt 0.422729 0.699719 -vt 0.360235 0.705405 -vt 0.360235 0.637539 -vt 0.545228 0.652180 -vt 0.610235 0.647539 -vt 0.610235 0.715405 -vt 0.567375 0.751753 -vt 0.474644 0.733651 -vt 0.617682 0.716042 -vt 0.616961 0.710037 -vt 0.617682 0.710037 -vt 0.616961 0.716042 -vt 0.616239 0.710037 -vt 0.616239 0.716042 -vt 0.615517 0.710037 -vt 0.615517 0.716042 -vt 0.614795 0.710037 -vt 0.614795 0.716042 -vt 0.614073 0.710037 -vt 0.614073 0.716042 -vt 0.613352 0.710037 -vt 0.613352 0.716042 -vt 0.612630 0.710037 -vt 0.612630 0.716042 -vt 0.611908 0.710037 -vt 0.611908 0.716042 -vt 0.611186 0.710037 -vt 0.611186 0.716042 -vt 0.610464 0.710037 -vt 0.610464 0.716042 -vt 0.609743 0.710037 -vt 0.609743 0.716042 -vt 0.609021 0.710037 -vt 0.609021 0.716042 -vt 0.608299 0.710037 -vt 0.608299 0.716042 -vt 0.607577 0.710037 -vt 0.607577 0.716042 -vt 0.606855 0.710037 -vt 0.606855 0.716042 -vt 0.606134 0.710037 -vt 0.606134 0.716042 -vt 0.605412 0.710037 -vt 0.605412 0.716042 -vt 0.604690 0.710037 -vt 0.604690 0.716042 -vt 0.603968 0.710037 -vt 0.603968 0.716042 -vt 0.603247 0.710037 -vt 0.603247 0.716042 -vt 0.602525 0.710037 -vt 0.602525 0.716042 -vt 0.601803 0.710037 -vt 0.601803 0.716042 -vt 0.601081 0.710037 -vt 0.601081 0.716042 -vt 0.600359 0.710037 -vt 0.605945 0.708437 -vt 0.606419 0.708136 -vt 0.607856 0.708635 -vt 0.607166 0.709072 -vt 0.608368 0.708137 -vt 0.606989 0.707421 -vt 0.606772 0.707793 -vt 0.607062 0.707034 -vt 0.608683 0.707596 -vt 0.608683 0.706471 -vt 0.608790 0.707034 -vt 0.606989 0.706647 -vt 0.608368 0.705931 -vt 0.606419 0.705932 -vt 0.606772 0.706274 -vt 0.605945 0.705631 -vt 0.607856 0.705432 -vt 0.606326 0.704637 -vt 0.607166 0.704996 -vt 0.605366 0.705384 -vt 0.605368 0.704371 -vt 0.603991 0.705088 -vt 0.604707 0.705201 -vt 0.603247 0.705050 -vt 0.604328 0.704207 -vt 0.602165 0.704207 -vt 0.603247 0.704151 -vt 0.602502 0.705088 -vt 0.601125 0.704371 -vt 0.601127 0.705384 -vt 0.601786 0.705201 -vt 0.600548 0.705631 -vt 0.600167 0.704637 -vt 0.598637 0.705432 -vt 0.599327 0.704996 -vt 0.600074 0.705932 -vt 0.598125 0.705931 -vt 0.599504 0.706647 -vt 0.599721 0.706274 -vt 0.599431 0.707034 -vt 0.597810 0.706471 -vt 0.597810 0.707596 -vt 0.597703 0.707034 -vt 0.599504 0.707421 -vt 0.598125 0.708137 -vt 0.599721 0.707793 -vt 0.598637 0.708635 -vt 0.600074 0.708136 -vt 0.599327 0.709072 -vt 0.602502 0.708980 -vt 0.603247 0.709018 -vt 0.603991 0.708980 -vt 0.600548 0.708437 -vt 0.604707 0.708867 -vt 0.601127 0.708683 -vt 0.605366 0.708683 -vt 0.601786 0.708867 -vt 0.617932 0.708123 -vt 0.618715 0.709072 -vt 0.619404 0.708635 -vt 0.619917 0.708137 -vt 0.618280 0.707784 -vt 0.618495 0.707416 -vt 0.620232 0.707596 -vt 0.620339 0.707034 -vt 0.618568 0.707034 -vt 0.618495 0.706651 -vt 0.620232 0.706471 -vt 0.619917 0.705931 -vt 0.618280 0.706283 -vt 0.619404 0.705432 -vt 0.617932 0.705944 -vt 0.618715 0.704996 -vt 0.617463 0.705647 -vt 0.616891 0.705403 -vt 0.617875 0.704637 -vt 0.616917 0.704371 -vt 0.616239 0.705221 -vt 0.615531 0.705110 -vt 0.615877 0.704207 -vt 0.614795 0.704151 -vt 0.614795 0.705072 -vt 0.614059 0.705110 -vt 0.613714 0.704207 -vt 0.612674 0.704371 -vt 0.613352 0.705221 -vt 0.612699 0.705403 -vt 0.611715 0.704637 -vt 0.610875 0.704996 -vt 0.612128 0.705647 -vt 0.611659 0.705944 -vt 0.610186 0.705432 -vt 0.609674 0.705931 -vt 0.611310 0.706283 -vt 0.611095 0.706651 -vt 0.609358 0.706471 -vt 0.609252 0.707034 -vt 0.611023 0.707034 -vt 0.611095 0.707416 -vt 0.609358 0.707596 -vt 0.609674 0.708137 -vt 0.611310 0.707784 -vt 0.611659 0.708123 -vt 0.610186 0.708635 -vt 0.610875 0.709072 -vt 0.612128 0.708421 -vt 0.618610 0.646303 -vt 0.584515 0.664033 -vt 0.584515 0.646303 -vt 0.618610 0.664033 -vt 0.584515 0.681763 -vt 0.618610 0.681763 -vt 0.584515 0.699492 -vt 0.618610 0.699492 -vt 0.584515 0.717221 -vt 0.550420 0.699492 -vt 0.550420 0.681763 -vt 0.617687 0.710037 -vt 0.617687 0.716042 -vt 0.600355 0.716042 -vt 0.600355 0.710037 -vt 0.603247 0.709074 -vt 0.604027 0.709074 -vt 0.604872 0.709074 -vt 0.607161 0.709074 -vt 0.605868 0.709074 -vt 0.600625 0.709074 -vt 0.599332 0.709074 -vt 0.601621 0.709074 -vt 0.602466 0.709074 -vt 0.615531 0.708958 -vt 0.614795 0.709074 -vt 0.615576 0.709074 -vt 0.616239 0.708846 -vt 0.616420 0.709074 -vt 0.616891 0.708665 -vt 0.617417 0.709074 -vt 0.617463 0.708421 -vt 0.610880 0.709074 -vt 0.613170 0.709074 -vt 0.612699 0.708665 -vt 0.612173 0.709074 -vt 0.614015 0.709074 -vt 0.613352 0.708846 -vt 0.614059 0.708958 -vt 0.628899 0.693320 -vt 0.652705 0.681763 -vt 0.643086 0.693320 -vt 0.643086 0.687935 -vt 0.600359 0.716042 -vt 0.618610 0.717221 -vt 0.614795 0.708996 -vt 0.618710 0.709074 -vt 0.640743 0.693320 -vt 0.652705 0.699492 -vt 0.635992 0.687935 -vt 0.640743 0.687935 -vt 0.638937 0.687935 -vt 0.637406 0.687935 -vt 0.638937 0.693320 -vt 0.635992 0.693320 -vt 0.637406 0.693320 -vt 0.634578 0.687935 -vt 0.633047 0.687935 -vt 0.631242 0.693320 -vt 0.633047 0.693320 -vt 0.634578 0.693320 -vt 0.631242 0.687935 -vt 0.628899 0.687935 -vt 0.543609 0.932938 -vt 0.565766 0.944459 -vt 0.543609 0.944459 -vt 0.543609 0.955981 -vt 0.565766 0.955981 -vt 0.543609 0.967503 -vt 0.565766 0.967503 -vt 0.543609 0.979025 -vt 0.521451 0.967503 -vt 0.521451 0.955981 -vt 0.587924 0.955981 -vt 0.558011 0.932938 -vt 0.558011 0.944459 -vt 0.558011 0.955981 -vt 0.558011 0.967503 -vt 0.542329 0.614065 -vt 0.534574 0.625587 -vt 0.534574 0.614065 -vt 0.565766 0.932938 -vt 0.565766 0.979025 -vt 0.587924 0.967503 -vt 0.542329 0.625587 -vt 0.558011 0.979025 -s 1 -f 1/1/1 2/2/2 3/3/3 -f 1/4/4 4/5/5 2/2/6 -f 5/1/2 6/2/2 7/3/2 -f 6/2/7 8/6/7 7/3/7 -f 8/6/8 9/5/8 10/7/8 -f 7/3/6 10/8/6 5/9/6 -f 5/4/9 6/2/9 9/5/9 -f 10/6/10 11/10/11 12/7/12 -f 3/4/13 9/5/13 6/2/13 -f 2/2/14 11/6/14 3/3/14 -f 12/7/15 11/6/15 4/5/15 -f 13/11/16 12/8/16 1/9/16 -f 6/2/17 1/12/1 3/1/3 -f 10/6/18 12/8/19 13/13/20 -f 12/14/21 13/15/22 11/16/23 -f 14/1/2 15/2/2 16/3/2 -f 15/2/24 17/6/24 16/3/24 -f 17/6/8 18/5/8 19/7/8 -f 14/9/25 17/6/25 19/8/25 -f 14/4/26 18/5/26 15/2/26 -f 20/1/2 21/2/2 22/3/2 -f 21/2/27 23/6/27 22/3/27 -f 23/6/8 24/5/8 25/7/8 -f 22/3/26 25/8/26 20/9/26 -f 20/4/9 24/5/9 21/2/9 -f 26/1/1 27/2/2 28/3/3 -f 26/4/4 29/5/5 27/2/6 -f 30/1/2 31/2/2 32/3/2 -f 31/2/7 33/6/7 32/3/7 -f 33/6/8 34/5/8 35/7/8 -f 32/3/6 35/8/6 30/9/6 -f 30/4/9 31/2/9 34/5/9 -f 35/6/10 36/10/11 37/7/12 -f 28/4/13 34/5/13 31/2/13 -f 27/2/14 36/6/14 28/3/14 -f 37/7/15 36/6/15 29/5/15 -f 38/11/16 37/8/16 26/9/16 -f 31/2/17 26/12/1 28/1/3 -f 35/6/18 37/8/28 38/13/29 -f 37/14/30 38/15/31 36/16/32 -f 39/1/1 40/2/2 41/3/3 -f 39/4/4 42/5/5 40/2/6 -f 43/1/2 44/2/2 45/3/2 -f 44/2/7 46/6/7 45/3/7 -f 46/6/8 47/5/8 48/7/8 -f 45/3/6 48/8/6 43/9/6 -f 43/4/9 44/2/9 47/5/9 -f 48/6/10 49/10/11 50/7/12 -f 41/4/13 47/5/13 44/2/13 -f 40/2/14 49/6/14 41/3/14 -f 50/7/15 49/6/15 42/5/15 -f 51/11/16 50/8/16 39/9/16 -f 44/2/17 39/12/1 41/1/3 -f 48/6/33 50/8/34 51/13/29 -f 50/14/30 51/15/31 49/16/32 -f 52/1/1 53/2/2 54/3/3 -f 52/4/4 55/5/5 53/2/6 -f 56/1/2 57/2/2 58/3/2 -f 57/2/7 59/6/7 58/3/7 -f 59/6/8 60/5/8 61/7/8 -f 58/3/6 61/8/6 56/9/6 -f 56/4/9 57/2/9 60/5/9 -f 61/6/10 62/10/11 63/7/12 -f 54/4/13 60/5/13 57/2/13 -f 53/2/14 62/6/14 54/3/14 -f 63/7/15 62/6/15 55/5/15 -f 64/11/16 63/8/16 52/9/16 -f 57/2/17 52/12/1 54/1/3 -f 61/6/18 63/8/28 64/13/29 -f 63/14/35 64/15/36 62/16/37 -f 65/1/1 66/2/2 67/3/3 -f 65/4/4 68/5/5 66/2/6 -f 69/1/2 70/2/2 71/3/2 -f 70/2/7 72/6/7 71/3/7 -f 72/6/8 73/5/8 74/7/8 -f 71/3/6 74/8/6 69/9/6 -f 69/4/9 70/2/9 73/5/9 -f 74/6/10 75/10/11 76/7/12 -f 67/4/13 73/5/13 70/2/13 -f 66/2/14 75/6/14 67/3/14 -f 76/7/15 75/6/15 68/5/15 -f 77/11/16 76/8/16 65/9/16 -f 70/2/17 65/12/1 67/1/3 -f 74/6/18 76/8/28 77/13/29 -f 76/14/35 77/15/36 75/16/37 -f 78/1/1 79/2/2 80/3/3 -f 78/4/4 81/5/5 79/2/6 -f 82/1/2 83/2/2 84/3/2 -f 83/2/7 85/6/7 84/3/7 -f 85/6/8 86/5/8 87/7/8 -f 84/3/6 87/8/6 82/9/6 -f 82/4/9 83/2/9 86/5/9 -f 87/6/10 88/10/11 89/7/12 -f 80/4/13 86/5/13 83/2/13 -f 79/2/14 88/6/14 80/3/14 -f 89/7/15 88/6/15 81/5/15 -f 90/11/38 89/8/38 78/9/38 -f 83/2/17 78/12/1 80/1/3 -f 87/6/18 89/8/19 90/13/20 -f 89/14/39 90/15/39 88/16/39 -f 91/1/1 92/2/2 93/3/3 -f 91/4/4 94/5/5 92/2/6 -f 95/1/2 96/2/2 97/3/2 -f 96/2/7 98/6/7 97/3/7 -f 98/6/8 99/5/8 100/7/8 -f 97/3/6 100/8/6 95/9/6 -f 95/4/9 96/2/9 99/5/9 -f 100/6/10 101/10/11 102/7/12 -f 93/4/13 99/5/13 96/2/13 -f 92/2/14 101/6/14 93/3/14 -f 102/7/15 101/6/15 94/5/15 -f 103/11/16 102/8/16 91/9/16 -f 96/2/17 91/12/1 93/1/3 -f 100/6/18 102/8/28 103/13/29 -f 102/14/40 103/15/41 101/16/42 -f 104/1/1 105/2/2 106/3/3 -f 104/4/4 107/5/5 105/2/6 -f 108/1/2 109/2/2 110/3/2 -f 109/2/7 111/6/7 110/3/7 -f 111/6/8 112/5/8 113/7/8 -f 110/3/6 113/8/6 108/9/6 -f 108/4/9 109/2/9 112/5/9 -f 113/6/10 114/10/11 115/7/12 -f 106/4/13 112/5/13 109/2/13 -f 105/2/14 114/6/14 106/3/14 -f 115/7/15 114/6/15 107/5/15 -f 116/11/16 115/8/16 104/9/16 -f 109/2/17 104/12/1 106/1/3 -f 113/6/33 115/8/28 116/13/29 -f 115/14/35 116/15/35 114/16/35 -f 117/1/1 118/2/2 119/3/3 -f 117/4/4 120/5/5 118/2/6 -f 121/1/2 122/2/2 123/3/2 -f 122/2/7 124/6/7 123/3/7 -f 124/6/8 125/5/8 126/7/8 -f 123/3/6 126/8/6 121/9/6 -f 121/4/9 122/2/9 125/5/9 -f 126/6/10 127/10/11 128/7/12 -f 119/4/13 125/5/13 122/2/13 -f 118/2/14 127/6/14 119/3/14 -f 128/7/15 127/6/15 120/5/15 -f 129/11/16 128/8/16 117/9/16 -f 122/2/17 117/12/1 119/1/3 -f 126/6/18 128/8/19 129/13/43 -f 128/14/44 127/16/44 129/15/44 -f 130/1/1 131/2/2 132/3/3 -f 130/4/4 133/5/5 131/2/6 -f 134/1/2 135/2/2 136/3/2 -f 135/2/7 137/6/7 136/3/7 -f 137/6/8 138/5/8 139/7/8 -f 136/3/6 139/8/6 134/9/6 -f 134/4/9 135/2/9 138/5/9 -f 139/6/10 140/10/11 141/7/12 -f 132/4/13 138/5/13 135/2/13 -f 131/2/14 140/6/14 132/3/14 -f 141/7/15 140/6/15 133/5/15 -f 142/11/38 141/8/38 130/9/38 -f 135/2/17 130/12/1 132/1/3 -f 139/6/18 141/8/45 142/13/20 -f 141/14/46 140/16/46 142/15/46 -f 143/1/1 144/2/2 145/3/3 -f 143/4/4 146/5/5 144/2/6 -f 147/1/2 148/2/2 149/3/2 -f 148/2/7 150/6/7 149/3/7 -f 150/6/8 151/5/8 152/7/8 -f 149/3/6 152/8/6 147/9/6 -f 147/4/9 148/2/9 151/5/9 -f 152/6/10 153/10/11 154/7/12 -f 145/4/13 151/5/13 148/2/13 -f 144/2/14 153/6/14 145/3/14 -f 154/7/15 153/6/15 146/5/15 -f 155/11/16 154/8/16 143/9/16 -f 148/2/17 143/12/1 145/1/3 -f 152/6/18 154/8/47 155/13/48 -f 154/14/49 153/16/49 155/15/49 -f 156/1/1 157/2/2 158/3/3 -f 156/4/4 159/5/5 157/2/6 -f 160/1/2 161/2/2 162/3/2 -f 161/2/7 163/6/7 162/3/7 -f 163/6/8 164/5/8 165/7/8 -f 162/3/6 165/8/6 160/9/6 -f 160/4/9 161/2/9 164/5/9 -f 165/6/10 166/10/11 167/7/12 -f 158/4/13 164/5/13 161/2/13 -f 157/2/14 166/6/14 158/3/14 -f 167/7/15 166/6/15 159/5/15 -f 168/11/50 167/8/50 156/9/50 -f 161/2/17 156/12/1 158/1/3 -f 165/6/33 167/8/19 168/13/29 -f 167/14/44 166/16/44 168/15/44 -f 1/4/4 12/17/51 4/5/5 -f 6/2/7 9/5/7 8/6/7 -f 7/3/6 8/6/6 10/8/6 -f 5/4/9 9/5/9 10/17/9 -f 10/6/10 9/5/52 11/10/11 -f 3/4/13 11/17/13 9/5/13 -f 2/2/14 4/5/14 11/6/14 -f 6/2/17 5/3/17 1/12/1 -f 13/13/20 1/9/53 10/6/18 -f 1/9/53 5/3/53 10/6/54 -f 15/2/24 18/5/24 17/6/24 -f 14/9/25 16/3/25 17/6/25 -f 14/4/26 19/17/26 18/5/26 -f 21/2/27 24/5/27 23/6/27 -f 22/3/26 23/6/26 25/8/26 -f 20/4/9 25/17/9 24/5/9 -f 26/4/4 37/17/51 29/5/5 -f 31/2/7 34/5/7 33/6/7 -f 32/3/6 33/6/6 35/8/6 -f 30/4/9 34/5/9 35/17/9 -f 35/6/10 34/5/52 36/10/11 -f 28/4/13 36/17/13 34/5/13 -f 27/2/14 29/5/14 36/6/14 -f 31/2/17 30/3/17 26/12/1 -f 38/13/29 26/9/53 35/6/18 -f 26/9/53 30/3/53 35/6/54 -f 39/4/4 50/17/51 42/5/5 -f 44/2/7 47/5/7 46/6/7 -f 45/3/6 46/6/6 48/8/6 -f 43/4/9 47/5/9 48/17/9 -f 48/6/10 47/5/52 49/10/11 -f 41/4/13 49/17/13 47/5/13 -f 40/2/14 42/5/14 49/6/14 -f 44/2/17 43/3/17 39/12/1 -f 51/13/29 39/9/53 48/6/33 -f 39/9/53 43/3/53 48/6/54 -f 52/4/4 63/17/51 55/5/5 -f 57/2/7 60/5/7 59/6/7 -f 58/3/6 59/6/6 61/8/6 -f 56/4/9 60/5/9 61/17/9 -f 61/6/10 60/5/52 62/10/11 -f 54/4/13 62/17/13 60/5/13 -f 53/2/14 55/5/14 62/6/14 -f 57/2/17 56/3/17 52/12/1 -f 64/13/29 52/9/53 61/6/18 -f 52/9/53 56/3/53 61/6/54 -f 65/4/4 76/17/51 68/5/5 -f 70/2/7 73/5/7 72/6/7 -f 71/3/6 72/6/6 74/8/6 -f 69/4/9 73/5/9 74/17/9 -f 74/6/10 73/5/52 75/10/11 -f 67/4/13 75/17/13 73/5/13 -f 66/2/14 68/5/14 75/6/14 -f 70/2/17 69/3/17 65/12/1 -f 77/13/29 65/9/53 74/6/18 -f 65/9/53 69/3/53 74/6/55 -f 78/4/4 89/17/51 81/5/5 -f 83/2/7 86/5/7 85/6/7 -f 84/3/6 85/6/6 87/8/6 -f 82/4/9 86/5/9 87/17/9 -f 87/6/10 86/5/52 88/10/11 -f 80/4/13 88/17/13 86/5/13 -f 79/2/14 81/5/14 88/6/14 -f 83/2/17 82/3/17 78/12/1 -f 90/13/20 78/9/53 87/6/18 -f 78/9/53 82/3/53 87/6/54 -f 91/4/4 102/17/51 94/5/5 -f 96/2/7 99/5/7 98/6/7 -f 97/3/6 98/6/6 100/8/6 -f 95/4/9 99/5/9 100/17/9 -f 100/6/10 99/5/52 101/10/11 -f 93/4/13 101/17/13 99/5/13 -f 92/2/14 94/5/14 101/6/14 -f 96/2/17 95/3/17 91/12/1 -f 103/13/29 91/9/53 100/6/18 -f 91/9/53 95/3/53 100/6/54 -f 104/4/4 115/17/51 107/5/5 -f 109/2/7 112/5/7 111/6/7 -f 110/3/6 111/6/6 113/8/6 -f 108/4/9 112/5/9 113/17/9 -f 113/6/10 112/5/52 114/10/11 -f 106/4/13 114/17/13 112/5/13 -f 105/2/14 107/5/14 114/6/14 -f 109/2/17 108/3/17 104/12/1 -f 116/13/29 104/9/53 113/6/33 -f 104/9/53 108/3/53 113/6/54 -f 117/4/4 128/17/51 120/5/5 -f 122/2/7 125/5/7 124/6/7 -f 123/3/6 124/6/6 126/8/6 -f 121/4/9 125/5/9 126/17/9 -f 126/6/10 125/5/52 127/10/11 -f 119/4/13 127/17/13 125/5/13 -f 118/2/14 120/5/14 127/6/14 -f 122/2/17 121/3/17 117/12/1 -f 129/13/43 117/9/53 126/6/18 -f 117/9/53 121/3/53 126/6/54 -f 130/4/4 141/17/51 133/5/5 -f 135/2/7 138/5/7 137/6/7 -f 136/3/6 137/6/6 139/8/6 -f 134/4/9 138/5/9 139/17/9 -f 139/6/10 138/5/52 140/10/11 -f 132/4/13 140/17/13 138/5/13 -f 131/2/14 133/5/14 140/6/14 -f 135/2/17 134/3/17 130/12/1 -f 142/13/20 130/9/53 139/6/18 -f 130/9/53 134/3/53 139/6/55 -f 143/4/4 154/17/51 146/5/5 -f 148/2/7 151/5/7 150/6/7 -f 149/3/6 150/6/6 152/8/6 -f 147/4/9 151/5/9 152/17/9 -f 152/6/10 151/5/52 153/10/11 -f 145/4/13 153/17/13 151/5/13 -f 144/2/14 146/5/14 153/6/14 -f 148/2/17 147/3/17 143/12/1 -f 155/13/48 143/9/53 152/6/18 -f 143/9/53 147/3/53 152/6/54 -f 156/4/4 167/17/51 159/5/5 -f 161/2/7 164/5/7 163/6/7 -f 162/3/6 163/6/6 165/8/6 -f 160/4/9 164/5/9 165/17/9 -f 165/6/10 164/5/52 166/10/11 -f 158/4/13 166/17/13 164/5/13 -f 157/2/14 159/5/14 166/6/14 -f 161/2/17 160/3/17 156/12/1 -f 168/13/29 156/9/53 165/6/33 -f 156/9/53 160/3/53 165/6/54 -f 169/18/2 170/19/2 171/20/2 -f 172/21/56 171/22/56 173/23/56 -f 174/24/57 175/25/57 171/22/57 -f 176/26/58 177/27/58 175/25/58 -f 178/28/59 179/29/59 177/27/59 -f 180/30/60 181/31/60 179/29/60 -f 182/32/61 183/33/61 181/31/61 -f 184/34/62 185/35/62 183/33/62 -f 186/36/63 187/37/63 185/35/63 -f 188/38/64 169/39/64 187/37/64 -f 189/40/65 170/41/65 169/39/65 -f 170/19/26 172/42/26 173/43/26 -f 178/44/8 176/45/8 186/46/8 -f 170/19/2 173/43/2 171/20/2 -f 171/20/2 175/47/2 187/48/2 -f 175/47/2 177/49/2 185/50/2 -f 177/49/2 179/51/2 185/50/2 -f 179/51/2 181/52/2 183/53/2 -f 185/50/2 179/51/2 183/53/2 -f 185/50/2 187/48/2 175/47/2 -f 187/48/2 169/18/2 171/20/2 -f 172/21/56 174/24/56 171/22/56 -f 174/24/57 176/26/57 175/25/57 -f 176/26/58 178/28/58 177/27/58 -f 178/28/59 180/30/59 179/29/59 -f 180/30/60 182/32/60 181/31/60 -f 182/32/61 184/34/61 183/33/61 -f 184/34/62 186/36/62 185/35/62 -f 186/36/63 188/38/63 187/37/63 -f 188/38/64 189/40/64 169/39/64 -f 189/40/65 190/54/65 170/41/65 -f 170/19/26 190/55/26 172/42/26 -f 176/45/8 174/56/8 189/57/8 -f 174/56/8 172/42/8 189/57/8 -f 172/42/8 190/55/8 189/57/8 -f 189/57/8 188/58/8 176/45/8 -f 188/58/8 186/46/8 176/45/8 -f 186/46/8 184/59/8 178/44/8 -f 184/59/8 182/60/8 180/61/8 -f 178/44/8 184/59/8 180/61/8 -f 191/62/66 192/63/66 193/64/66 -f 194/65/67 195/66/67 192/63/67 -f 196/67/68 197/68/68 195/66/68 -f 198/69/69 199/70/70 197/68/70 -f 200/71/71 201/72/71 199/70/71 -f 202/73/72 203/74/72 201/72/72 -f 204/75/73 205/76/73 203/74/73 -f 206/77/74 207/78/74 205/76/74 -f 208/79/75 209/80/75 207/78/75 -f 210/81/76 211/82/76 209/80/76 -f 212/83/77 213/84/77 211/82/77 -f 214/85/78 215/86/78 213/84/78 -f 216/87/79 217/88/79 215/86/79 -f 218/89/80 219/90/80 217/88/80 -f 220/91/81 221/92/81 219/90/81 -f 222/93/82 223/94/82 221/92/82 -f 224/95/83 225/96/83 223/94/83 -f 226/97/84 227/98/84 225/96/84 -f 228/99/85 229/100/85 227/98/85 -f 230/101/86 231/102/86 229/100/86 -f 232/103/87 233/104/87 231/102/87 -f 234/105/88 235/106/88 233/104/88 -f 212/107/8 204/108/8 196/109/8 -f 236/110/89 237/111/89 235/106/89 -f 238/112/90 193/113/90 237/111/90 -f 239/114/80 240/115/80 241/115/80 -f 242/116/67 243/117/67 244/118/67 -f 245/119/71 246/120/71 243/117/71 -f 247/121/74 248/122/74 246/120/74 -f 249/123/77 250/124/77 248/122/77 -f 251/125/80 252/126/80 250/124/80 -f 253/127/83 254/128/83 252/126/83 -f 247/108/8 242/129/8 255/130/8 -f 255/131/86 256/132/86 254/128/86 -f 257/133/89 244/134/89 256/132/89 -f 248/135/2 252/136/2 256/137/2 -f 250/129/91 258/138/91 248/139/91 -f 248/139/92 259/140/92 246/108/92 -f 246/108/93 260/141/93 243/142/93 -f 260/141/94 244/143/94 243/142/94 -f 261/144/95 256/145/95 244/143/95 -f 262/146/96 254/130/96 256/145/96 -f 263/147/97 252/148/97 254/130/97 -f 264/149/98 250/129/98 252/148/98 -f 265/123/86 259/150/86 258/151/86 -f 266/125/89 258/151/89 267/152/89 -f 268/153/77 262/154/77 261/155/77 -f 269/119/80 261/156/80 260/157/80 -f 270/121/83 260/157/83 259/150/83 -f 271/127/67 267/152/67 264/158/67 -f 272/116/66 273/159/66 274/118/66 -f 275/160/67 276/161/67 273/159/67 -f 277/162/68 278/117/68 276/161/68 -f 279/119/69 280/163/69 278/117/69 -f 281/164/71 282/165/71 280/163/71 -f 283/166/72 284/120/72 282/165/72 -f 285/121/73 286/167/73 284/120/73 -f 287/168/74 288/169/74 286/167/74 -f 289/170/75 290/122/75 288/169/75 -f 291/123/76 292/171/76 290/122/76 -f 293/172/77 294/173/77 292/171/77 -f 295/174/78 296/124/78 294/173/78 -f 297/125/79 298/175/79 296/124/79 -f 299/176/80 300/177/80 298/175/80 -f 301/178/81 302/126/81 300/177/81 -f 303/127/82 304/179/82 302/126/82 -f 305/180/83 306/181/83 304/179/83 -f 307/182/84 308/128/84 306/181/84 -f 309/131/85 310/183/85 308/128/85 -f 311/184/86 312/185/86 310/183/86 -f 313/186/87 314/132/87 312/185/87 -f 315/133/88 316/187/88 314/132/88 -f 309/130/8 293/107/8 277/109/8 -f 317/188/89 318/189/89 316/187/89 -f 319/190/90 274/134/90 318/189/90 -f 310/191/2 318/192/2 286/193/2 -f 320/62/66 321/63/66 322/64/66 -f 323/65/67 324/66/67 321/63/67 -f 325/67/68 326/68/68 324/66/68 -f 327/69/70 328/70/70 326/68/70 -f 329/71/71 330/72/71 328/70/71 -f 331/73/72 332/74/72 330/72/72 -f 333/75/73 334/76/73 332/74/73 -f 335/77/74 336/78/74 334/76/74 -f 337/79/75 338/80/75 336/78/75 -f 339/81/76 340/82/76 338/80/76 -f 341/83/77 342/84/77 340/82/77 -f 343/85/78 344/86/78 342/84/78 -f 345/87/79 346/88/79 344/86/79 -f 347/89/80 348/90/80 346/88/80 -f 349/91/81 350/92/81 348/90/99 -f 351/93/82 352/94/100 350/92/100 -f 353/95/83 354/96/83 352/94/83 -f 355/97/84 356/98/84 354/96/84 -f 357/99/85 358/100/85 356/98/85 -f 359/101/86 360/102/86 358/100/86 -f 361/103/87 362/104/87 360/102/87 -f 363/105/88 364/106/88 362/104/88 -f 341/107/8 333/108/8 325/109/8 -f 365/110/89 366/111/89 364/106/89 -f 367/112/90 322/113/90 366/111/90 -f 350/136/2 358/191/2 366/192/2 -f 368/116/66 369/159/66 370/118/66 -f 371/160/67 372/161/67 369/159/67 -f 373/162/68 374/117/68 372/161/68 -f 375/119/70 376/163/70 374/117/70 -f 377/164/71 378/165/71 376/163/71 -f 379/166/72 380/120/72 378/165/72 -f 381/121/73 382/167/73 380/120/73 -f 383/168/74 384/169/74 382/167/74 -f 385/170/75 386/122/75 384/169/75 -f 387/123/76 388/171/76 386/122/76 -f 389/172/77 390/173/77 388/171/77 -f 391/174/78 392/124/78 390/173/78 -f 393/125/79 394/175/79 392/124/79 -f 395/176/80 396/177/80 394/175/80 -f 397/178/81 398/126/81 396/177/81 -f 399/127/82 400/179/82 398/126/100 -f 401/180/83 402/181/83 400/179/83 -f 403/182/84 404/128/84 402/181/84 -f 405/131/85 406/183/85 404/128/85 -f 407/184/86 408/185/86 406/183/86 -f 409/186/87 410/132/87 408/185/87 -f 411/133/88 412/187/88 410/132/88 -f 389/107/8 381/108/8 373/109/8 -f 413/188/89 414/189/89 412/187/89 -f 415/190/90 370/134/90 414/189/90 -f 398/136/2 406/191/2 414/192/2 -f 416/116/66 417/159/66 418/118/66 -f 419/160/67 420/161/67 417/159/67 -f 421/162/68 422/117/68 420/161/68 -f 423/119/70 424/163/70 422/117/69 -f 425/164/71 426/165/71 424/163/71 -f 427/166/72 428/120/72 426/165/72 -f 429/121/73 430/167/73 428/120/73 -f 431/168/74 432/169/74 430/167/74 -f 433/170/75 434/122/75 432/169/75 -f 435/123/76 436/171/76 434/122/76 -f 437/172/77 438/173/77 436/171/77 -f 439/174/78 440/124/78 438/173/78 -f 441/125/79 442/175/79 440/124/79 -f 443/176/80 444/177/80 442/175/80 -f 445/178/81 446/126/81 444/177/81 -f 447/127/100 448/179/100 446/126/82 -f 449/180/83 450/181/83 448/179/83 -f 451/182/84 452/128/84 450/181/84 -f 453/131/85 454/183/85 452/128/85 -f 455/184/86 456/185/86 454/183/86 -f 457/186/87 458/132/87 456/185/87 -f 459/133/88 460/187/88 458/132/88 -f 437/107/8 429/108/8 421/109/8 -f 461/188/89 462/189/89 460/187/89 -f 463/190/90 418/134/90 462/189/90 -f 446/136/2 454/191/2 462/192/2 -f 464/62/66 465/63/66 466/64/66 -f 467/65/67 468/66/67 465/63/67 -f 469/67/101 470/68/68 468/66/68 -f 471/69/70 472/70/70 470/68/70 -f 473/71/71 474/72/71 472/70/71 -f 475/73/72 476/74/72 474/72/72 -f 477/75/73 478/76/73 476/74/73 -f 479/77/74 480/78/74 478/76/74 -f 481/79/75 482/80/75 480/78/75 -f 483/81/102 484/82/76 482/80/76 -f 485/83/77 486/84/77 484/82/77 -f 487/85/78 488/86/78 486/84/78 -f 489/87/79 490/88/79 488/86/79 -f 491/89/80 492/90/80 490/88/80 -f 493/91/81 494/92/81 492/90/81 -f 495/93/82 496/94/100 494/92/100 -f 497/95/83 498/96/83 496/94/83 -f 499/97/84 500/98/84 498/96/84 -f 501/99/85 502/100/85 500/98/85 -f 503/101/86 504/102/86 502/100/86 -f 505/103/87 506/104/87 504/102/87 -f 507/105/88 508/106/88 506/104/88 -f 485/107/8 477/108/8 469/109/8 -f 509/110/89 510/111/89 508/106/89 -f 511/112/90 466/113/90 510/111/90 -f 494/136/2 502/191/2 510/192/2 -f 512/194/2 192/195/2 241/115/2 -f 241/115/2 195/196/2 239/114/2 -f 239/114/2 197/197/2 513/198/2 -f 513/198/2 199/199/2 514/200/2 -f 514/200/2 201/201/2 515/202/2 -f 515/202/2 203/203/2 516/204/2 -f 517/205/2 203/203/2 205/193/2 -f 518/206/2 205/193/2 207/207/2 -f 519/208/2 207/207/2 209/135/2 -f 520/209/2 209/135/2 211/210/2 -f 521/211/2 211/210/2 213/212/2 -f 522/213/2 213/212/2 215/214/2 -f 522/213/2 217/215/2 523/216/2 -f 523/216/2 219/217/2 524/218/2 -f 524/218/2 221/136/2 525/219/2 -f 525/219/2 223/220/2 526/221/2 -f 526/221/2 225/222/2 527/223/2 -f 527/223/2 227/224/2 528/225/2 -f 529/226/2 227/224/2 229/191/2 -f 530/227/2 229/191/2 231/228/2 -f 531/229/2 231/228/2 233/137/2 -f 532/230/2 233/137/2 235/231/2 -f 533/232/2 235/231/2 237/192/2 -f 512/194/2 237/192/2 193/233/2 -f 534/229/2 535/230/2 536/219/2 -f 527/223/71 537/221/71 526/221/71 -f 520/209/88 538/208/88 519/208/88 -f 513/198/81 539/114/81 239/114/81 -f 528/225/72 540/223/72 527/223/72 -f 521/211/89 541/209/89 520/209/89 -f 514/200/82 542/198/82 513/198/82 -f 529/226/73 543/225/73 528/225/73 -f 522/213/90 544/211/90 521/211/90 -f 515/202/83 545/200/83 514/200/83 -f 530/227/74 546/226/74 529/226/74 -f 523/216/66 547/213/66 522/213/66 -f 516/204/84 548/202/84 515/202/84 -f 531/229/75 549/227/75 530/227/75 -f 524/218/67 550/216/67 523/216/67 -f 517/205/85 551/204/85 516/204/85 -f 532/230/76 534/229/102 531/229/76 -f 525/219/101 552/218/68 524/218/101 -f 518/206/86 553/205/86 517/205/86 -f 533/232/77 535/230/77 532/230/77 -f 241/115/79 554/194/79 512/194/79 -f 526/221/69 536/219/70 525/219/69 -f 519/208/87 555/206/87 518/206/87 -f 512/194/78 556/232/78 533/232/78 -f 271/127/103 263/147/104 557/133/105 -f 191/62/66 194/65/66 192/63/66 -f 194/65/67 196/67/67 195/66/67 -f 196/67/68 198/69/68 197/68/68 -f 198/69/69 200/71/69 199/70/70 -f 200/71/71 202/73/71 201/72/71 -f 202/73/72 204/75/72 203/74/72 -f 204/75/73 206/77/73 205/76/73 -f 206/77/74 208/79/74 207/78/74 -f 208/79/75 210/81/75 209/80/75 -f 210/81/76 212/83/76 211/82/76 -f 212/83/77 214/85/77 213/84/77 -f 214/85/78 216/87/78 215/86/78 -f 216/87/79 218/89/79 217/88/79 -f 218/89/80 220/91/80 219/90/80 -f 220/91/81 222/93/81 221/92/81 -f 222/93/82 224/95/82 223/94/82 -f 224/95/83 226/97/83 225/96/83 -f 226/97/84 228/99/84 227/98/84 -f 228/99/85 230/101/85 229/100/85 -f 230/101/86 232/103/86 231/102/86 -f 232/103/87 234/105/87 233/104/87 -f 234/105/88 236/110/88 235/106/88 -f 196/109/8 194/234/8 191/129/8 -f 191/129/8 238/235/8 196/109/8 -f 238/235/8 236/236/8 196/109/8 -f 236/236/8 234/148/8 232/237/8 -f 232/237/8 230/238/8 228/130/8 -f 228/130/8 226/239/8 224/240/8 -f 224/240/8 222/145/8 228/130/8 -f 222/145/8 220/241/8 228/130/8 -f 220/241/8 218/242/8 216/143/8 -f 216/143/8 214/243/8 212/107/8 -f 212/107/8 210/142/8 208/244/8 -f 208/244/8 206/245/8 204/108/8 -f 204/108/8 202/246/8 200/247/8 -f 200/247/8 198/139/8 204/108/8 -f 198/139/8 196/109/8 204/108/8 -f 236/236/8 232/237/8 228/130/8 -f 220/241/8 216/143/8 228/130/8 -f 216/143/8 212/107/8 228/130/8 -f 212/107/8 208/244/8 204/108/8 -f 196/109/8 236/236/8 212/107/8 -f 236/236/8 228/130/8 212/107/8 -f 236/110/89 238/112/89 237/111/89 -f 238/112/90 191/248/90 193/113/90 -f 239/114/80 539/114/80 240/115/80 -f 242/116/67 245/119/67 243/117/67 -f 245/119/71 247/121/71 246/120/71 -f 247/121/74 249/123/74 248/122/74 -f 249/123/77 251/125/77 250/124/77 -f 251/125/80 253/127/80 252/126/80 -f 253/127/83 255/131/83 254/128/83 -f 247/108/8 245/139/8 242/129/8 -f 242/129/8 257/148/8 255/130/8 -f 255/130/8 253/145/8 247/108/8 -f 253/145/8 251/143/8 247/108/8 -f 251/143/8 249/142/8 247/108/8 -f 255/131/86 257/133/86 256/132/86 -f 257/133/89 242/153/89 244/134/89 -f 256/137/2 244/233/2 248/135/2 -f 244/233/2 243/197/2 248/135/2 -f 243/197/2 246/203/2 248/135/2 -f 248/135/2 250/214/2 252/136/2 -f 252/136/2 254/224/2 256/137/2 -f 250/129/91 267/249/91 258/138/91 -f 248/139/92 258/138/92 259/140/92 -f 246/108/93 259/140/93 260/141/93 -f 260/141/94 261/144/94 244/143/94 -f 261/144/95 262/146/95 256/145/95 -f 262/146/96 263/147/96 254/130/96 -f 263/147/97 264/149/97 252/148/97 -f 264/149/98 267/249/98 250/129/98 -f 265/123/86 270/121/86 259/150/86 -f 266/125/89 265/123/89 258/151/89 -f 268/153/77 557/133/77 262/154/77 -f 269/119/80 268/116/80 261/156/80 -f 270/121/83 269/119/83 260/157/83 -f 271/127/67 266/125/67 267/152/67 -f 272/116/66 275/160/66 273/159/66 -f 275/160/67 277/162/67 276/161/67 -f 277/162/68 279/119/68 278/117/68 -f 279/119/69 281/164/69 280/163/69 -f 281/164/71 283/166/71 282/165/71 -f 283/166/72 285/121/72 284/120/72 -f 285/121/73 287/168/73 286/167/73 -f 287/168/74 289/170/74 288/169/74 -f 289/170/75 291/123/75 290/122/75 -f 291/123/76 293/172/76 292/171/76 -f 293/172/77 295/174/77 294/173/77 -f 295/174/78 297/125/78 296/124/78 -f 297/125/79 299/176/79 298/175/79 -f 299/176/80 301/178/80 300/177/80 -f 301/178/81 303/127/81 302/126/81 -f 303/127/82 305/180/82 304/179/82 -f 305/180/83 307/182/83 306/181/83 -f 307/182/84 309/131/84 308/128/84 -f 309/131/85 311/184/85 310/183/85 -f 311/184/86 313/186/86 312/185/86 -f 313/186/87 315/133/87 314/132/87 -f 315/133/88 317/188/88 316/187/88 -f 277/109/8 275/234/8 317/236/8 -f 275/234/8 272/129/8 317/236/8 -f 272/129/8 319/235/8 317/236/8 -f 317/236/8 315/148/8 313/237/8 -f 313/237/8 311/238/8 309/130/8 -f 309/130/8 307/239/8 305/240/8 -f 305/240/8 303/145/8 301/241/8 -f 301/241/8 299/242/8 297/143/8 -f 297/143/8 295/243/8 293/107/8 -f 293/107/8 291/142/8 289/244/8 -f 289/244/8 287/245/8 293/107/8 -f 287/245/8 285/108/8 293/107/8 -f 285/108/8 283/246/8 281/247/8 -f 281/247/8 279/139/8 277/109/8 -f 317/236/8 313/237/8 277/109/8 -f 313/237/8 309/130/8 277/109/8 -f 309/130/8 305/240/8 293/107/8 -f 305/240/8 301/241/8 293/107/8 -f 301/241/8 297/143/8 293/107/8 -f 285/108/8 281/247/8 293/107/8 -f 281/247/8 277/109/8 293/107/8 -f 317/188/89 319/190/89 318/189/89 -f 319/190/90 272/153/90 274/134/90 -f 318/192/2 274/233/2 273/195/2 -f 273/195/2 276/196/2 318/192/2 -f 276/196/2 278/197/2 318/192/2 -f 278/197/2 280/199/2 286/193/2 -f 280/199/2 282/201/2 286/193/2 -f 282/201/2 284/203/2 286/193/2 -f 286/193/2 288/207/2 290/135/2 -f 290/135/2 292/210/106 294/212/2 -f 294/212/2 296/214/2 298/215/2 -f 298/215/2 300/217/107 302/136/2 -f 302/136/2 304/220/2 306/222/2 -f 306/222/2 308/224/2 310/191/2 -f 310/191/2 312/228/2 314/137/2 -f 314/137/2 316/231/2 310/191/2 -f 316/231/2 318/192/2 310/191/2 -f 286/193/2 290/135/2 294/212/2 -f 294/212/2 298/215/2 286/193/2 -f 298/215/2 302/136/2 286/193/2 -f 302/136/2 306/222/2 310/191/2 -f 318/192/2 278/197/2 286/193/2 -f 302/136/2 310/191/2 286/193/2 -f 320/62/66 323/65/66 321/63/66 -f 323/65/67 325/67/67 324/66/67 -f 325/67/68 327/69/68 326/68/68 -f 327/69/70 329/71/70 328/70/70 -f 329/71/71 331/73/71 330/72/71 -f 331/73/72 333/75/72 332/74/72 -f 333/75/73 335/77/73 334/76/73 -f 335/77/74 337/79/74 336/78/74 -f 337/79/75 339/81/75 338/80/75 -f 339/81/76 341/83/76 340/82/76 -f 341/83/77 343/85/77 342/84/77 -f 343/85/78 345/87/78 344/86/78 -f 345/87/79 347/89/79 346/88/79 -f 347/89/80 349/91/80 348/90/80 -f 349/91/81 351/93/81 350/92/81 -f 351/93/82 353/95/82 352/94/100 -f 353/95/83 355/97/83 354/96/83 -f 355/97/84 357/99/84 356/98/84 -f 357/99/85 359/101/85 358/100/85 -f 359/101/86 361/103/86 360/102/86 -f 361/103/87 363/105/87 362/104/87 -f 363/105/88 365/110/88 364/106/88 -f 325/109/8 323/234/8 320/129/8 -f 320/129/8 367/235/108 365/236/8 -f 365/236/8 363/148/8 361/237/8 -f 361/237/8 359/238/8 365/236/8 -f 359/238/8 357/130/8 365/236/8 -f 357/130/8 355/239/8 353/240/8 -f 353/240/8 351/145/8 357/130/8 -f 351/145/8 349/241/8 357/130/8 -f 349/241/8 347/242/8 345/143/8 -f 345/143/8 343/243/109 341/107/8 -f 341/107/8 339/142/8 337/244/8 -f 337/244/8 335/245/8 341/107/8 -f 335/245/8 333/108/8 341/107/8 -f 333/108/8 331/246/8 329/247/8 -f 329/247/8 327/139/8 333/108/8 -f 327/139/8 325/109/8 333/108/8 -f 325/109/8 320/129/8 365/236/8 -f 349/241/8 345/143/8 357/130/8 -f 345/143/8 341/107/8 357/130/8 -f 325/109/8 365/236/8 341/107/8 -f 365/236/8 357/130/8 341/107/8 -f 365/110/89 367/112/89 366/111/89 -f 367/112/90 320/248/90 322/113/90 -f 366/192/2 322/233/2 321/195/2 -f 321/195/2 324/196/2 366/192/2 -f 324/196/2 326/197/2 366/192/2 -f 326/197/2 328/199/2 330/201/2 -f 330/201/2 332/203/2 326/197/2 -f 332/203/2 334/193/2 326/197/2 -f 334/193/2 336/207/110 338/135/2 -f 338/135/2 340/210/106 342/212/2 -f 342/212/2 344/214/2 350/136/2 -f 344/214/2 346/215/2 350/136/2 -f 346/215/2 348/217/106 350/136/2 -f 350/136/2 352/220/2 354/222/2 -f 354/222/2 356/224/2 350/136/2 -f 356/224/2 358/191/2 350/136/2 -f 358/191/2 360/228/106 362/137/2 -f 362/137/2 364/231/2 358/191/2 -f 364/231/2 366/192/2 358/191/2 -f 334/193/2 338/135/2 350/136/2 -f 338/135/2 342/212/2 350/136/2 -f 366/192/2 326/197/2 350/136/2 -f 326/197/2 334/193/2 350/136/2 -f 368/116/66 371/160/66 369/159/66 -f 371/160/67 373/162/67 372/161/67 -f 373/162/68 375/119/68 374/117/68 -f 375/119/70 377/164/70 376/163/70 -f 377/164/71 379/166/71 378/165/71 -f 379/166/72 381/121/72 380/120/72 -f 381/121/73 383/168/73 382/167/73 -f 383/168/74 385/170/74 384/169/74 -f 385/170/75 387/123/111 386/122/75 -f 387/123/76 389/172/76 388/171/76 -f 389/172/77 391/174/77 390/173/77 -f 391/174/78 393/125/78 392/124/78 -f 393/125/79 395/176/79 394/175/79 -f 395/176/80 397/178/80 396/177/80 -f 397/178/81 399/127/81 398/126/81 -f 399/127/82 401/180/82 400/179/82 -f 401/180/83 403/182/83 402/181/83 -f 403/182/84 405/131/84 404/128/84 -f 405/131/85 407/184/85 406/183/85 -f 407/184/86 409/186/86 408/185/86 -f 409/186/87 411/133/87 410/132/87 -f 411/133/88 413/188/88 412/187/88 -f 373/109/8 371/234/8 368/129/8 -f 368/129/8 415/235/8 413/236/8 -f 413/236/8 411/148/109 409/237/8 -f 409/237/8 407/238/8 413/236/8 -f 407/238/8 405/130/8 413/236/8 -f 405/130/8 403/239/8 401/240/8 -f 401/240/8 399/145/8 405/130/8 -f 399/145/8 397/241/8 405/130/8 -f 397/241/8 395/242/8 393/143/8 -f 393/143/8 391/243/8 389/107/8 -f 389/107/8 387/142/108 385/244/8 -f 385/244/8 383/245/8 389/107/8 -f 383/245/8 381/108/8 389/107/8 -f 381/108/8 379/246/8 377/247/8 -f 377/247/8 375/139/8 381/108/8 -f 375/139/8 373/109/8 381/108/8 -f 373/109/8 368/129/8 413/236/8 -f 397/241/8 393/143/8 405/130/8 -f 393/143/8 389/107/8 405/130/8 -f 373/109/8 413/236/8 389/107/8 -f 413/236/8 405/130/8 389/107/8 -f 413/188/89 415/190/89 414/189/89 -f 415/190/90 368/153/90 370/134/90 -f 414/192/2 370/233/2 369/195/110 -f 369/195/110 372/196/2 414/192/2 -f 372/196/2 374/197/2 414/192/2 -f 374/197/2 376/199/106 378/201/2 -f 378/201/2 380/203/2 374/197/2 -f 380/203/2 382/193/2 374/197/2 -f 382/193/2 384/207/2 386/135/2 -f 386/135/2 388/210/110 390/212/2 -f 390/212/2 392/214/110 394/215/2 -f 394/215/2 396/217/106 398/136/2 -f 398/136/2 400/220/110 402/222/2 -f 402/222/2 404/224/2 398/136/2 -f 404/224/2 406/191/2 398/136/2 -f 406/191/2 408/228/2 410/137/2 -f 410/137/2 412/231/2 406/191/2 -f 412/231/2 414/192/2 406/191/2 -f 382/193/2 386/135/2 390/212/2 -f 390/212/2 394/215/2 382/193/2 -f 394/215/2 398/136/2 382/193/2 -f 414/192/2 374/197/2 398/136/2 -f 374/197/2 382/193/2 398/136/2 -f 416/116/66 419/160/66 417/159/66 -f 419/160/67 421/162/67 420/161/67 -f 421/162/68 423/119/68 422/117/68 -f 423/119/70 425/164/70 424/163/70 -f 425/164/71 427/166/71 426/165/71 -f 427/166/72 429/121/72 428/120/72 -f 429/121/73 431/168/73 430/167/73 -f 431/168/74 433/170/74 432/169/74 -f 433/170/75 435/123/75 434/122/75 -f 435/123/76 437/172/76 436/171/76 -f 437/172/77 439/174/77 438/173/77 -f 439/174/78 441/125/78 440/124/78 -f 441/125/79 443/176/79 442/175/79 -f 443/176/80 445/178/80 444/177/80 -f 445/178/81 447/127/81 446/126/81 -f 447/127/100 449/180/100 448/179/100 -f 449/180/83 451/182/83 450/181/83 -f 451/182/84 453/131/84 452/128/84 -f 453/131/85 455/184/85 454/183/85 -f 455/184/86 457/186/86 456/185/86 -f 457/186/87 459/133/87 458/132/87 -f 459/133/88 461/188/88 460/187/88 -f 421/109/8 419/234/8 416/129/8 -f 416/129/8 463/235/8 461/236/8 -f 461/236/8 459/148/108 457/237/8 -f 457/237/8 455/238/8 461/236/8 -f 455/238/8 453/130/8 461/236/8 -f 453/130/8 451/239/8 449/240/8 -f 449/240/8 447/145/8 453/130/8 -f 447/145/8 445/241/8 453/130/8 -f 445/241/8 443/242/8 441/143/8 -f 441/143/8 439/243/8 437/107/8 -f 437/107/8 435/142/109 433/244/8 -f 433/244/8 431/245/8 437/107/8 -f 431/245/8 429/108/8 437/107/8 -f 429/108/8 427/246/8 425/247/8 -f 425/247/8 423/139/8 429/108/8 -f 423/139/8 421/109/8 429/108/8 -f 421/109/8 416/129/8 461/236/8 -f 445/241/8 441/143/8 453/130/8 -f 441/143/8 437/107/8 453/130/8 -f 421/109/8 461/236/8 437/107/8 -f 461/236/8 453/130/8 437/107/8 -f 461/188/89 463/190/89 462/189/89 -f 463/190/90 416/153/90 418/134/90 -f 462/192/2 418/233/2 417/195/2 -f 417/195/2 420/196/2 462/192/2 -f 420/196/2 422/197/2 462/192/2 -f 422/197/2 424/199/2 426/201/2 -f 426/201/2 428/203/2 422/197/2 -f 428/203/2 430/193/2 422/197/2 -f 430/193/2 432/207/2 434/135/2 -f 434/135/2 436/210/2 438/212/2 -f 438/212/2 440/214/2 446/136/2 -f 440/214/2 442/215/2 446/136/2 -f 442/215/2 444/217/110 446/136/2 -f 446/136/2 448/220/2 450/222/2 -f 450/222/2 452/224/2 446/136/2 -f 452/224/2 454/191/2 446/136/2 -f 454/191/2 456/228/2 458/137/2 -f 458/137/2 460/231/2 454/191/2 -f 460/231/2 462/192/2 454/191/2 -f 430/193/2 434/135/2 446/136/2 -f 434/135/2 438/212/2 446/136/2 -f 462/192/2 422/197/2 446/136/2 -f 422/197/2 430/193/2 446/136/2 -f 464/62/66 467/65/66 465/63/66 -f 467/65/67 469/67/67 468/66/67 -f 469/67/101 471/69/101 470/68/68 -f 471/69/70 473/71/70 472/70/70 -f 473/71/71 475/73/71 474/72/71 -f 475/73/72 477/75/72 476/74/72 -f 477/75/73 479/77/73 478/76/73 -f 479/77/74 481/79/74 480/78/74 -f 481/79/75 483/81/75 482/80/75 -f 483/81/102 485/83/102 484/82/76 -f 485/83/77 487/85/77 486/84/77 -f 487/85/78 489/87/78 488/86/78 -f 489/87/79 491/89/79 490/88/79 -f 491/89/80 493/91/80 492/90/80 -f 493/91/81 495/93/81 494/92/81 -f 495/93/82 497/95/82 496/94/100 -f 497/95/83 499/97/83 498/96/83 -f 499/97/84 501/99/84 500/98/84 -f 501/99/85 503/101/85 502/100/85 -f 503/101/86 505/103/86 504/102/86 -f 505/103/87 507/105/87 506/104/87 -f 507/105/88 509/110/88 508/106/88 -f 469/109/8 467/234/8 464/129/8 -f 464/129/8 511/235/8 469/109/8 -f 511/235/8 509/236/8 469/109/8 -f 509/236/8 507/148/8 505/237/8 -f 505/237/8 503/238/8 509/236/8 -f 503/238/8 501/130/8 509/236/8 -f 501/130/8 499/239/8 497/240/8 -f 497/240/8 495/145/8 501/130/8 -f 495/145/8 493/241/8 501/130/8 -f 493/241/8 491/242/8 489/143/8 -f 489/143/8 487/243/8 485/107/8 -f 485/107/8 483/142/8 481/244/8 -f 481/244/8 479/245/8 485/107/8 -f 479/245/8 477/108/8 485/107/8 -f 477/108/8 475/246/8 473/247/8 -f 473/247/8 471/139/8 477/108/8 -f 471/139/8 469/109/8 477/108/8 -f 493/241/8 489/143/8 501/130/8 -f 489/143/8 485/107/8 501/130/8 -f 469/109/8 509/236/8 485/107/8 -f 509/236/8 501/130/8 485/107/8 -f 509/110/89 511/112/89 510/111/89 -f 511/112/90 464/248/90 466/113/90 -f 510/192/2 466/233/2 465/195/2 -f 465/195/2 468/196/2 510/192/2 -f 468/196/2 470/197/2 510/192/2 -f 470/197/2 472/199/2 474/201/2 -f 474/201/2 476/203/2 470/197/2 -f 476/203/2 478/193/2 470/197/2 -f 478/193/2 480/207/2 482/135/2 -f 482/135/2 484/210/2 486/212/2 -f 486/212/2 488/214/2 494/136/2 -f 488/214/2 490/215/2 494/136/2 -f 490/215/2 492/217/110 494/136/2 -f 494/136/2 496/220/2 498/222/2 -f 498/222/2 500/224/2 494/136/2 -f 500/224/2 502/191/2 494/136/2 -f 502/191/2 504/228/2 506/137/2 -f 506/137/2 508/231/2 502/191/2 -f 508/231/2 510/192/2 502/191/2 -f 478/193/2 482/135/2 494/136/2 -f 482/135/2 486/212/2 494/136/2 -f 510/192/2 470/197/2 494/136/2 -f 470/197/2 478/193/2 494/136/2 -f 512/194/2 193/233/2 192/195/2 -f 241/115/2 192/195/2 195/196/2 -f 239/114/2 195/196/2 197/197/2 -f 513/198/2 197/197/2 199/199/2 -f 514/200/2 199/199/2 201/201/2 -f 515/202/2 201/201/2 203/203/2 -f 517/205/2 516/204/2 203/203/2 -f 518/206/2 517/205/2 205/193/2 -f 519/208/2 518/206/2 207/207/2 -f 520/209/2 519/208/2 209/135/2 -f 521/211/2 520/209/2 211/210/2 -f 522/213/2 521/211/2 213/212/2 -f 522/213/2 215/214/2 217/215/2 -f 523/216/2 217/215/2 219/217/2 -f 524/218/2 219/217/2 221/136/2 -f 525/219/2 221/136/2 223/220/2 -f 526/221/2 223/220/2 225/222/2 -f 527/223/2 225/222/2 227/224/2 -f 529/226/2 528/225/2 227/224/2 -f 530/227/2 529/226/2 229/191/2 -f 531/229/2 530/227/2 231/228/2 -f 532/230/2 531/229/2 233/137/2 -f 533/232/2 532/230/2 235/231/2 -f 512/194/2 533/232/2 237/192/2 -f 556/232/2 554/194/2 547/213/2 -f 554/194/2 240/115/2 544/211/2 -f 240/115/2 539/114/2 544/211/2 -f 539/114/2 542/198/2 541/209/2 -f 544/211/2 539/114/2 541/209/2 -f 542/198/2 545/200/2 555/206/2 -f 545/200/2 548/202/2 553/205/2 -f 548/202/2 551/204/2 553/205/2 -f 553/205/2 555/206/2 545/200/2 -f 555/206/2 538/208/2 542/198/2 -f 538/208/2 541/209/2 542/198/2 -f 544/211/2 547/213/2 554/194/2 -f 547/213/2 550/216/2 556/232/2 -f 550/216/2 552/218/2 556/232/2 -f 552/218/2 536/219/2 535/230/2 -f 556/232/2 552/218/2 535/230/2 -f 536/219/2 537/221/2 549/227/2 -f 537/221/2 540/223/2 546/226/2 -f 540/223/2 543/225/2 546/226/2 -f 546/226/2 549/227/2 537/221/2 -f 549/227/2 534/229/2 536/219/2 -f 527/223/71 540/223/71 537/221/71 -f 520/209/88 541/209/88 538/208/88 -f 513/198/81 542/198/81 539/114/81 -f 528/225/72 543/225/72 540/223/72 -f 521/211/89 544/211/89 541/209/89 -f 514/200/82 545/200/82 542/198/82 -f 529/226/73 546/226/73 543/225/73 -f 522/213/90 547/213/90 544/211/90 -f 515/202/83 548/202/83 545/200/83 -f 530/227/74 549/227/74 546/226/74 -f 523/216/66 550/216/66 547/213/66 -f 516/204/84 551/204/84 548/202/84 -f 531/229/75 534/229/75 549/227/75 -f 524/218/67 552/218/67 550/216/67 -f 517/205/85 553/205/85 551/204/85 -f 532/230/76 535/230/102 534/229/102 -f 525/219/101 536/219/68 552/218/68 -f 518/206/86 555/206/86 553/205/86 -f 533/232/77 556/232/77 535/230/77 -f 241/115/79 240/115/79 554/194/79 -f 526/221/69 537/221/70 536/219/70 -f 519/208/87 538/208/87 555/206/87 -f 512/194/78 554/194/78 556/232/78 -f 557/133/105 268/153/2 269/119/2 -f 269/119/2 270/121/2 557/133/105 -f 270/121/2 265/123/2 271/127/103 -f 557/133/105 270/121/2 271/127/103 -f 265/123/2 266/125/2 271/127/103 -f 271/127/103 264/149/71 263/147/104 -f 263/147/104 262/154/74 557/133/105 -f 558/250/112 559/251/112 560/252/112 -f 561/253/113 562/254/113 563/254/113 -f 564/255/114 559/256/114 565/257/114 -f 566/258/115 565/257/115 567/259/115 -f 568/260/116 566/261/116 567/259/116 -f 569/262/114 570/263/114 571/263/114 -f 572/264/117 568/260/117 573/265/117 -f 574/266/118 575/267/118 576/268/118 -f 573/265/113 577/269/113 572/264/113 -f 578/270/119 576/271/119 577/269/119 -f 579/272/120 558/273/120 575/274/120 -f 580/275/25 581/276/25 582/277/25 -f 583/278/9 584/279/9 585/280/9 -f 586/281/26 587/282/26 580/283/26 -f 588/284/121 589/285/121 590/286/121 -f 591/287/122 592/288/122 589/289/122 -f 589/290/123 591/291/124 593/292/125 -f 594/293/126 595/294/126 592/288/126 -f 596/295/127 597/296/127 598/296/127 -f 599/297/128 600/298/128 601/298/128 -f 595/294/129 602/299/129 603/294/129 -f 604/300/130 605/300/131 593/300/132 -f 605/301/127 603/302/127 602/272/127 -f 606/303/25 607/304/25 608/305/25 -f 609/306/9 610/307/9 611/308/9 -f 612/309/8 608/310/8 610/311/8 -f 611/312/6 608/313/6 607/314/6 -f 613/315/26 612/316/26 609/317/26 -f 614/318/133 615/319/133 616/320/133 -f 617/321/134 618/322/134 619/323/134 -f 618/324/135 620/325/135 619/326/135 -f 621/327/136 620/328/136 622/329/136 -f 616/330/137 617/331/137 614/332/137 -f 623/333/9 621/334/9 624/335/9 -f 625/336/138 626/337/138 615/319/138 -f 621/338/139 627/339/139 628/340/139 -f 629/341/140 623/342/140 626/343/140 -f 625/344/25 614/345/25 617/346/25 -f 630/347/26 631/348/26 632/349/26 -f 630/350/141 633/351/141 634/352/141 -f 635/353/142 636/354/142 631/355/142 -f 637/356/143 633/357/143 638/358/143 -f 636/359/144 639/360/144 640/361/144 -f 641/362/145 639/363/145 642/364/145 -f 638/365/146 643/366/146 637/367/146 -f 642/368/147 644/369/147 641/370/147 -f 645/371/148 646/372/148 647/373/148 -f 648/374/149 649/375/149 646/376/149 -f 650/377/150 651/378/150 652/379/150 -f 649/380/9 641/381/9 644/382/9 -f 653/383/151 647/384/151 654/385/151 -f 651/386/25 642/387/25 643/388/25 -f 652/389/152 655/390/152 650/391/152 -f 654/392/153 656/393/153 653/394/153 -f 657/395/154 658/396/154 656/397/154 -f 659/398/155 660/399/155 658/400/155 -f 661/401/156 662/402/156 663/403/156 -f 664/404/9 665/405/9 666/406/9 -f 667/407/6 668/408/6 669/409/6 -f 670/410/157 667/411/157 669/412/157 -f 671/413/158 672/414/158 673/415/158 -f 666/416/159 670/417/159 674/418/159 -f 663/419/25 671/420/25 675/421/25 -f 676/422/160 664/423/160 677/424/160 -f 678/425/158 677/426/158 679/427/158 -f 680/428/159 681/428/159 682/429/159 -f 683/430/157 684/431/157 685/432/157 -f 685/433/6 684/434/6 686/435/6 -f 687/436/6 669/409/6 668/437/6 -f 674/438/161 679/439/161 666/440/161 -f 662/441/160 672/442/160 688/443/160 -f 680/444/161 675/445/161 671/446/161 -f 689/447/156 665/448/156 664/449/156 -f 689/450/25 678/450/25 674/450/25 -f 690/451/162 681/452/9 691/452/163 -f 587/453/2 583/454/2 581/455/2 -f 613/456/2 611/457/2 607/458/2 -f 692/459/25 589/460/25 592/461/25 -f 692/459/25 595/462/25 693/463/25 -f 693/463/25 603/462/25 694/464/25 -f 599/297/25 589/465/25 695/466/25 -f 599/297/25 696/302/25 604/347/25 -f 601/298/9 603/302/25 696/302/25 -f 697/464/25 698/467/25 699/468/25 -f 694/464/129 700/463/129 693/463/129 -f 692/459/122 699/468/122 695/468/122 -f 601/298/127 697/469/127 694/469/127 -f 695/466/164 698/297/164 599/297/164 -f 693/463/126 701/459/126 692/459/126 -f 702/470/9 591/407/9 593/349/9 -f 703/471/9 704/472/9 594/473/9 -f 703/474/9 591/287/9 705/475/9 -f 598/296/25 593/349/9 605/272/9 -f 598/296/25 602/272/9 596/295/9 -f 706/476/9 602/472/9 704/472/9 -f 707/477/9 708/478/9 709/479/9 -f 705/477/122 710/471/122 703/471/122 -f 702/470/165 707/480/165 705/480/165 -f 706/476/129 709/479/129 596/479/129 -f 598/296/166 708/470/166 702/470/166 -f 703/471/126 711/476/126 706/476/126 -f 595/294/167 700/481/167 701/482/167 -f 589/483/168 592/483/168 701/483/168 -f 603/483/169 697/483/169 700/483/169 -f 600/484/170 697/484/170 603/484/170 -f 604/485/171 600/485/171 696/485/171 -f 589/486/172 698/486/173 600/486/174 -f 602/299/175 704/299/175 711/487/175 -f 602/488/176 709/488/176 597/488/176 -f 593/489/177 605/489/177 597/489/177 -f 597/490/178 708/490/179 579/490/180 -f 710/483/181 594/483/182 579/483/183 -f 710/491/184 711/491/184 704/491/184 -f 712/492/25 575/274/25 558/273/25 -f 712/492/25 560/493/25 713/494/25 -f 714/495/25 566/496/25 715/497/25 -f 716/498/25 566/496/25 717/499/25 -f 714/495/25 560/493/25 564/500/25 -f 718/501/25 575/274/25 719/502/25 -f 563/254/25 577/503/25 561/253/25 -f 718/501/25 577/503/25 576/504/25 -f 716/498/25 572/505/25 563/254/25 -f 720/506/25 721/507/25 562/508/25 -f 716/498/116 722/497/116 715/497/116 -f 712/492/120 723/502/120 719/502/120 -f 718/501/119 724/253/119 561/253/119 -f 714/495/114 721/494/114 713/494/114 -f 713/494/112 720/492/112 712/492/112 -f 563/254/117 725/498/117 716/498/117 -f 719/502/118 726/501/118 718/501/118 -f 715/497/115 727/495/115 714/495/115 -f 728/509/9 579/272/9 729/510/9 -f 728/509/9 559/511/9 730/349/9 -f 571/263/9 567/512/9 565/513/9 -f 731/514/9 567/512/9 732/515/9 -f 571/263/9 559/511/9 569/262/9 -f 733/516/9 579/272/9 574/517/9 -f 734/518/9 578/519/9 573/520/9 -f 733/516/9 578/519/9 735/521/9 -f 731/514/9 573/520/9 568/522/9 -f 736/523/9 737/524/9 738/525/9 -f 728/509/112 738/262/112 569/262/112 -f 731/514/117 736/518/117 734/518/117 -f 733/516/118 739/510/118 729/510/118 -f 571/263/115 737/515/115 732/515/115 -f 734/518/113 740/521/113 735/521/113 -f 732/515/116 741/514/116 731/514/116 -f 729/510/120 742/509/120 728/509/120 -f 735/521/119 743/516/119 733/516/119 -f 567/259/185 565/257/186 570/526/186 -f 567/527/187 737/527/187 741/527/187 -f 741/528/188 736/528/188 573/528/188 -f 736/527/189 740/527/189 578/527/189 -f 578/527/190 740/527/190 743/527/190 -f 743/527/191 739/527/191 579/527/191 -f 742/527/192 730/527/192 579/527/192 -f 742/527/193 738/527/193 559/527/193 -f 559/527/194 738/527/194 570/527/194 -f 566/261/195 717/529/195 725/530/195 -f 566/527/196 722/527/196 727/527/196 -f 727/527/197 721/527/197 560/527/197 -f 720/527/198 558/527/198 560/527/198 -f 575/527/199 558/527/199 720/527/199 -f 575/527/200 723/527/200 726/527/200 -f 726/527/201 724/527/201 577/527/201 -f 577/527/202 724/527/202 562/527/202 -f 572/527/203 562/527/203 725/527/203 -f 583/531/121 582/532/121 581/533/121 -f 744/534/204 580/535/26 745/536/205 -f 745/537/25 582/277/25 590/538/25 -f 604/539/25 590/538/25 589/540/25 -f 593/541/206 745/542/206 604/543/206 -f 746/544/121 590/286/121 582/532/121 -f 747/545/207 748/546/208 749/546/208 -f 749/547/209 746/548/9 747/549/9 -f 750/550/9 744/551/210 751/552/211 -f 752/553/9 753/554/9 754/555/212 -f 754/556/213 755/556/213 756/556/213 -f 750/557/214 752/558/214 585/558/214 -f 751/559/6 757/557/6 750/557/6 -f 585/558/214 758/545/214 747/545/214 -f 759/556/215 753/559/216 751/559/217 -f 758/560/9 754/561/212 748/562/218 -f 755/556/219 760/546/220 756/556/221 -f 749/546/222 760/546/222 761/546/222 -f 754/556/212 760/546/223 748/546/218 -f 751/563/211 744/563/210 755/563/224 -f 558/250/112 730/564/112 559/251/112 -f 561/253/113 724/253/113 562/254/113 -f 564/255/114 560/565/114 559/256/114 -f 566/258/115 564/255/115 565/257/115 -f 568/260/116 717/529/116 566/261/116 -f 569/262/114 738/262/114 570/263/114 -f 572/264/117 717/529/117 568/260/117 -f 574/266/118 579/566/118 575/267/118 -f 573/265/113 578/270/113 577/269/113 -f 578/270/119 574/567/119 576/271/119 -f 579/272/120 730/349/120 558/273/120 -f 580/275/25 587/568/25 581/276/25 -f 586/569/9 750/570/9 584/571/9 -f 750/570/9 585/572/9 584/571/9 -f 585/572/9 747/573/9 583/574/9 -f 747/573/9 746/575/9 583/574/9 -f 586/281/26 584/576/26 587/282/26 -f 588/284/121 591/577/121 589/285/121 -f 591/287/122 594/293/122 592/288/122 -f 589/290/123 593/292/125 604/578/225 -f 594/293/126 704/299/126 595/294/126 -f 596/295/127 709/295/127 597/296/127 -f 599/297/128 698/297/128 600/298/128 -f 595/294/129 704/299/129 602/299/129 -f 604/300/130 696/300/226 605/300/131 -f 605/301/127 696/302/127 603/302/127 -f 606/303/25 613/579/25 607/304/25 -f 609/306/9 612/580/9 610/307/9 -f 612/309/8 606/581/8 608/310/8 -f 611/312/6 610/582/6 608/313/6 -f 613/315/26 606/583/26 612/316/26 -f 614/318/133 625/336/133 615/319/133 -f 617/321/134 624/584/134 618/322/134 -f 618/324/135 622/585/135 620/325/135 -f 621/327/136 628/586/136 620/328/136 -f 616/330/137 624/587/137 617/331/137 -f 622/588/9 618/589/9 624/335/9 -f 624/335/9 616/590/9 615/591/9 -f 615/591/9 626/592/9 623/333/9 -f 621/334/9 622/588/9 624/335/9 -f 615/591/9 623/333/9 624/335/9 -f 625/336/138 629/593/138 626/337/138 -f 621/338/139 623/594/139 627/339/139 -f 629/341/140 627/595/140 623/342/140 -f 619/596/25 620/597/25 617/346/25 -f 620/597/25 628/598/25 617/346/25 -f 628/598/25 627/599/25 617/346/25 -f 627/599/25 629/600/25 625/344/25 -f 617/346/25 627/599/25 625/344/25 -f 630/347/26 635/601/26 631/348/26 -f 630/350/141 632/602/141 633/351/141 -f 635/353/142 762/603/142 636/354/142 -f 637/356/143 634/604/143 633/357/143 -f 636/359/144 762/605/144 639/360/144 -f 641/362/145 640/606/145 639/363/145 -f 638/365/146 649/607/146 643/366/146 -f 642/368/147 651/608/147 644/369/147 -f 645/371/148 648/609/148 646/372/148 -f 648/374/149 643/610/149 649/375/149 -f 650/377/150 644/611/150 651/378/150 -f 647/612/9 646/613/9 650/614/9 -f 646/613/9 649/380/9 644/382/9 -f 649/380/9 638/615/9 641/381/9 -f 638/615/9 633/616/9 641/381/9 -f 633/616/9 632/617/9 631/618/9 -f 633/616/9 631/618/9 636/619/9 -f 659/620/9 657/621/9 655/622/9 -f 657/621/9 654/623/9 655/622/9 -f 633/616/9 636/619/9 640/624/9 -f 633/616/9 640/624/9 641/381/9 -f 655/622/9 654/623/9 647/612/9 -f 650/614/9 655/622/9 647/612/9 -f 644/382/9 650/614/9 646/613/9 -f 653/383/151 645/625/151 647/384/151 -f 653/626/25 656/627/25 660/628/25 -f 656/627/25 658/629/25 660/628/25 -f 643/388/25 648/630/25 651/386/25 -f 648/630/25 645/631/25 652/632/25 -f 634/633/25 637/634/25 642/387/25 -f 637/634/25 643/388/25 642/387/25 -f 635/635/25 630/636/25 634/633/25 -f 762/637/25 635/635/25 634/633/25 -f 645/631/25 653/626/25 660/628/25 -f 645/631/25 660/628/25 652/632/25 -f 639/638/25 762/637/25 634/633/25 -f 642/387/25 639/638/25 634/633/25 -f 648/630/25 652/632/25 651/386/25 -f 652/389/152 660/639/152 655/390/152 -f 654/392/153 657/640/153 656/393/153 -f 657/395/154 659/641/154 658/396/154 -f 659/398/155 655/642/155 660/399/155 -f 661/401/156 686/402/156 662/402/156 -f 665/405/9 667/643/9 666/406/9 -f 667/643/9 763/644/9 666/406/9 -f 666/406/9 679/645/9 664/404/9 -f 679/645/9 677/646/9 664/404/9 -f 667/407/6 665/522/6 668/408/6 -f 670/410/157 763/647/157 667/411/157 -f 671/413/158 688/648/158 672/414/158 -f 666/416/159 763/349/159 670/417/159 -f 685/649/25 661/650/25 675/421/25 -f 661/650/25 663/419/25 675/421/25 -f 663/419/25 688/651/25 671/420/25 -f 675/421/25 683/652/25 685/649/25 -f 676/422/160 689/653/160 664/423/160 -f 678/425/158 676/654/158 677/426/158 -f 682/429/159 683/655/159 675/656/159 -f 680/428/159 691/428/159 681/428/159 -f 682/429/159 675/656/159 680/428/159 -f 683/430/157 682/657/157 684/431/157 -f 686/435/6 661/499/6 685/433/6 -f 684/434/6 690/658/6 686/435/6 -f 674/438/161 678/659/161 679/439/161 -f 688/443/160 663/660/160 662/441/160 -f 662/441/227 764/441/227 672/442/227 -f 671/446/161 673/661/161 680/444/161 -f 673/661/161 765/444/161 680/444/161 -f 765/444/161 691/444/161 680/444/161 -f 689/447/156 668/662/156 665/448/156 -f 669/450/25 668/450/25 674/450/25 -f 668/450/25 689/450/25 674/450/25 -f 689/450/25 676/450/25 678/450/25 -f 674/450/25 670/450/25 669/450/25 -f 691/452/163 765/452/228 662/452/229 -f 765/452/228 764/452/230 662/452/229 -f 662/452/229 686/452/231 691/452/163 -f 686/452/231 690/451/162 691/452/163 -f 587/453/2 584/663/2 583/454/2 -f 613/456/2 609/664/2 611/457/2 -f 692/459/25 695/468/25 589/460/25 -f 692/482/25 592/288/25 595/294/25 -f 693/463/25 595/462/25 603/462/25 -f 599/297/25 604/347/25 589/465/25 -f 599/297/25 601/298/9 696/302/25 -f 601/298/9 694/469/25 603/302/25 -f 699/665/25 701/482/25 700/481/25 -f 697/464/25 600/666/25 698/467/25 -f 699/665/25 700/481/25 697/667/25 -f 694/464/129 697/464/129 700/463/129 -f 692/459/122 701/459/122 699/468/122 -f 601/298/127 600/298/127 697/469/127 -f 695/466/164 699/466/164 698/297/164 -f 693/481/126 700/481/126 701/482/126 -f 702/470/9 705/480/9 591/407/9 -f 703/471/9 706/476/9 704/472/9 -f 703/474/9 594/293/9 591/287/9 -f 598/296/25 702/470/9 593/349/9 -f 598/296/25 605/272/9 602/272/9 -f 706/476/9 596/479/9 602/472/9 -f 708/478/9 597/668/9 709/479/9 -f 709/669/9 711/487/9 707/475/9 -f 711/487/9 710/474/9 707/475/9 -f 705/475/122 707/475/122 710/474/122 -f 702/470/165 708/470/165 707/480/165 -f 706/476/129 711/476/129 709/479/129 -f 598/296/166 597/296/166 708/470/166 -f 703/471/126 710/471/126 711/476/126 -f 595/294/167 701/482/167 592/288/167 -f 589/483/168 701/483/168 699/483/168 -f 603/483/169 700/483/169 595/483/169 -f 600/484/170 603/484/170 696/484/170 -f 698/486/173 589/486/172 699/486/232 -f 589/486/233 600/486/234 604/486/235 -f 602/299/175 711/487/175 709/669/175 -f 602/488/176 597/488/176 605/488/176 -f 593/490/236 597/490/237 579/490/238 -f 579/490/180 708/490/179 707/490/239 -f 710/483/240 579/483/241 707/483/242 -f 710/483/184 704/483/184 594/483/184 -f 712/492/25 719/502/25 575/274/25 -f 712/492/25 558/273/25 560/493/25 -f 714/495/25 564/500/25 566/496/25 -f 716/498/25 715/497/25 566/496/25 -f 714/495/25 713/494/25 560/493/25 -f 718/501/25 576/504/25 575/274/25 -f 563/254/25 572/505/25 577/503/25 -f 718/501/25 561/253/25 577/503/25 -f 716/498/25 717/499/25 572/505/25 -f 722/670/25 725/530/25 562/508/25 -f 724/671/25 726/672/25 723/673/25 -f 727/674/25 722/670/25 721/507/25 -f 722/670/25 562/508/25 721/507/25 -f 562/508/25 724/671/25 720/506/25 -f 724/671/25 723/673/25 720/506/25 -f 716/498/116 725/498/116 722/497/116 -f 712/492/120 720/492/120 723/502/120 -f 718/501/119 726/501/119 724/253/119 -f 714/495/114 727/495/114 721/494/114 -f 713/494/112 721/494/112 720/492/112 -f 563/254/117 562/254/117 725/498/117 -f 719/502/118 723/502/118 726/501/118 -f 715/497/115 722/497/115 727/495/115 -f 728/509/9 730/349/9 579/272/9 -f 728/509/9 569/262/9 559/511/9 -f 571/263/9 732/515/9 567/512/9 -f 731/514/9 568/522/9 567/512/9 -f 571/263/9 565/513/9 559/511/9 -f 733/516/9 729/510/9 579/272/9 -f 734/518/9 735/521/9 578/519/9 -f 733/516/9 574/517/9 578/519/9 -f 731/514/9 734/518/9 573/520/9 -f 737/524/9 570/526/9 738/525/9 -f 738/525/9 742/675/9 736/523/9 -f 742/675/9 739/676/9 740/677/9 -f 736/523/9 742/675/9 740/677/9 -f 739/676/9 743/678/9 740/677/9 -f 736/523/9 741/679/9 737/524/9 -f 728/509/112 742/509/112 738/262/112 -f 731/514/117 741/514/117 736/518/117 -f 733/516/118 743/516/118 739/510/118 -f 571/263/115 570/263/115 737/515/115 -f 734/518/113 736/518/113 740/521/113 -f 732/515/116 737/515/116 741/514/116 -f 729/510/120 739/510/120 742/509/120 -f 735/521/119 740/521/119 743/516/119 -f 567/259/185 570/526/186 737/524/185 -f 567/527/187 741/527/187 568/527/187 -f 741/528/188 573/528/188 568/528/188 -f 736/527/189 578/527/189 573/527/189 -f 578/527/190 743/527/190 574/527/190 -f 743/527/191 579/527/191 574/527/191 -f 742/527/192 579/527/192 739/527/192 -f 742/527/193 559/527/193 730/527/193 -f 559/527/194 570/527/194 565/527/194 -f 566/261/195 725/530/195 722/670/195 -f 566/527/196 727/527/196 564/527/196 -f 727/527/197 560/527/197 564/527/197 -f 720/527/198 560/527/198 721/527/198 -f 575/527/199 720/527/199 723/527/199 -f 575/527/200 726/527/200 576/527/200 -f 726/527/201 577/527/201 576/527/201 -f 577/527/202 562/527/202 572/527/202 -f 572/527/203 725/527/203 717/527/203 -f 583/531/121 746/544/121 582/532/121 -f 744/534/204 586/680/26 580/535/26 -f 745/537/25 580/275/25 582/277/25 -f 604/539/25 745/537/25 590/538/25 -f 593/541/205 744/681/204 745/542/205 -f 746/544/121 588/284/121 590/286/121 -f 747/545/207 758/545/207 748/546/208 -f 749/682/209 588/683/243 746/684/9 -f 750/685/9 586/686/9 744/687/210 -f 752/553/9 757/688/9 753/554/9 -f 754/556/213 759/556/213 755/556/213 -f 750/557/214 757/557/214 752/558/214 -f 751/559/6 753/559/6 757/557/6 -f 585/558/214 752/558/214 758/545/214 -f 759/556/215 754/556/244 753/559/216 -f 758/560/9 752/689/9 754/561/212 -f 755/556/219 761/546/245 760/546/220 -f 749/546/222 748/546/222 760/546/222 -f 754/556/212 756/556/223 760/546/223 -f 591/563/246 588/563/243 761/563/247 -f 588/563/243 749/563/209 761/563/247 -f 744/563/210 593/563/248 755/563/224 -f 593/563/248 591/563/249 761/563/250 -f 755/563/224 593/563/248 761/563/250 -f 759/563/251 751/563/211 755/563/224 -f 766/690/252 767/691/252 768/692/252 -f 769/693/253 770/694/253 767/691/253 -f 771/695/254 772/696/254 770/694/254 -f 773/697/255 774/698/255 772/696/255 -f 775/699/256 776/700/256 774/698/256 -f 777/701/257 778/702/257 776/700/257 -f 779/703/258 780/704/258 778/702/258 -f 781/705/259 782/706/259 780/704/259 -f 783/707/260 784/708/260 782/706/260 -f 785/709/261 786/710/261 784/708/261 -f 787/711/262 788/712/262 786/710/262 -f 789/713/263 790/714/263 788/712/263 -f 791/715/264 792/716/264 790/714/264 -f 793/717/265 794/718/265 792/716/265 -f 795/719/266 796/720/266 794/718/266 -f 797/721/267 798/722/267 796/720/267 -f 799/723/268 800/724/268 798/722/268 -f 801/725/269 802/726/269 800/724/269 -f 803/727/270 804/728/270 802/726/270 -f 805/729/271 806/730/271 804/728/271 -f 807/731/272 808/732/272 806/730/272 -f 809/733/273 810/734/273 808/732/273 -f 811/735/274 812/736/274 810/734/274 -f 813/737/275 814/738/275 812/736/275 -f 815/739/268 816/740/268 817/740/268 -f 815/739/2 769/741/2 766/742/276 -f 817/740/2 771/743/2 769/741/2 -f 818/744/2 771/743/2 819/745/2 -f 820/746/2 773/747/2 818/744/2 -f 820/746/2 777/748/2 775/749/2 -f 821/750/2 779/751/2 777/748/2 -f 822/752/2 779/751/2 823/753/2 -f 824/754/2 781/755/2 822/752/2 -f 824/754/2 785/756/2 783/757/2 -f 825/758/2 787/759/2 785/756/2 -f 826/760/2 787/759/2 827/761/2 -f 828/762/2 789/763/2 826/760/2 -f 828/762/2 793/764/2 791/765/2 -f 829/766/2 795/767/2 793/764/2 -f 830/768/2 795/767/2 831/769/2 -f 832/770/2 797/771/2 830/768/2 -f 832/770/2 801/772/2 799/773/2 -f 833/774/2 803/775/2 801/772/2 -f 834/776/2 803/775/2 835/777/2 -f 836/778/2 805/779/2 834/776/2 -f 836/778/2 809/780/2 807/781/2 -f 837/782/2 811/783/2 809/780/2 -f 838/784/2 813/785/2 811/783/2 -f 839/786/2 840/787/277 813/785/2 -f 841/788/263 842/789/263 843/789/263 -f 831/769/278 844/768/278 830/768/278 -f 817/740/269 845/745/269 819/745/269 -f 830/768/279 846/770/279 832/770/279 -f 819/745/270 847/744/270 818/744/270 -f 832/770/252 848/774/252 833/774/252 -f 818/744/271 849/746/271 820/746/271 -f 833/774/253 850/777/253 835/777/253 -f 820/746/272 851/750/272 821/750/272 -f 835/777/254 852/776/254 834/776/254 -f 821/750/273 853/753/273 823/753/273 -f 834/776/255 854/778/255 836/778/255 -f 823/753/274 855/752/274 822/752/274 -f 836/778/256 856/782/256 837/782/256 -f 822/752/275 857/754/275 824/754/275 -f 837/782/257 858/784/257 838/784/257 -f 824/754/280 859/758/280 825/758/280 -f 838/784/258 860/786/258 839/786/258 -f 825/758/281 861/761/281 827/761/281 -f 843/789/264 862/790/264 863/790/264 -f 839/786/259 864/791/259 865/791/259 -f 827/761/282 866/760/282 826/760/282 -f 863/790/265 867/792/265 868/792/265 -f 865/791/260 869/793/260 870/793/260 -f 826/760/283 871/762/283 828/762/283 -f 868/792/266 872/794/266 873/794/266 -f 870/793/261 874/795/261 875/795/261 -f 828/762/284 876/766/284 829/766/284 -f 873/794/267 877/739/267 815/739/267 -f 875/795/262 878/788/262 841/788/262 -f 829/766/285 879/769/285 831/769/285 -f 880/796/8 768/797/8 767/798/8 -f 880/796/8 770/799/8 881/800/8 -f 882/801/8 770/799/8 772/802/8 -f 882/801/8 774/803/8 883/804/8 -f 884/805/8 774/803/8 776/806/8 -f 884/805/8 778/807/8 885/808/8 -f 885/808/8 780/809/8 886/810/8 -f 886/810/8 782/811/8 887/812/8 -f 888/813/8 782/811/8 784/814/8 -f 888/813/8 786/815/8 889/816/8 -f 890/817/8 786/815/8 788/818/8 -f 890/817/8 790/819/8 891/820/8 -f 892/821/8 790/819/8 792/822/8 -f 892/821/8 794/823/8 893/824/8 -f 894/825/8 794/823/8 796/826/8 -f 894/825/8 798/827/8 895/828/8 -f 896/829/8 798/827/8 800/830/8 -f 896/829/8 802/831/8 897/832/8 -f 898/833/8 802/831/8 804/834/8 -f 898/833/8 806/835/8 899/836/8 -f 900/837/8 806/835/8 808/838/8 -f 900/837/8 810/839/8 901/840/8 -f 902/841/8 810/839/8 812/842/8 -f 902/841/8 814/843/286 903/844/8 -f 904/845/25 905/846/25 906/847/25 -f 907/848/2 908/849/2 905/846/2 -f 909/850/9 910/851/9 908/849/9 -f 911/852/8 906/853/8 910/851/8 -f 908/849/6 906/854/6 905/855/6 -f 766/690/279 912/856/287 913/857/279 -f 814/738/288 914/858/289 915/859/289 -f 863/790/2 916/860/2 843/789/2 -f 868/792/2 917/861/2 863/790/2 -f 873/794/2 918/862/2 868/792/2 -f 815/739/2 913/863/290 919/864/2 -f 865/791/2 920/865/2 914/866/291 -f 870/793/2 921/867/2 920/865/2 -f 875/795/2 922/868/2 921/867/2 -f 841/788/2 916/860/2 922/868/2 -f 923/869/8 924/870/8 925/871/8 -f 926/872/8 925/871/8 927/873/8 -f 928/874/8 927/873/8 929/875/8 -f 930/876/8 928/874/8 929/875/8 -f 903/844/8 814/843/286 915/877/292 -f 931/878/8 932/879/8 933/880/8 -f 934/881/8 935/882/8 931/878/8 -f 924/870/8 936/883/8 934/881/8 -f 912/884/26 911/852/26 909/850/26 -f 907/885/26 915/886/26 914/887/26 -f 766/690/252 769/693/252 767/691/252 -f 769/693/253 771/695/253 770/694/253 -f 771/695/254 773/697/254 772/696/254 -f 773/697/255 775/699/255 774/698/255 -f 775/699/256 777/701/256 776/700/256 -f 777/701/257 779/703/257 778/702/257 -f 779/703/258 781/705/258 780/704/258 -f 781/705/259 783/707/259 782/706/259 -f 783/707/260 785/709/260 784/708/260 -f 785/709/261 787/711/261 786/710/261 -f 787/711/262 789/713/262 788/712/262 -f 789/713/263 791/715/263 790/714/263 -f 791/715/264 793/717/264 792/716/264 -f 793/717/265 795/719/265 794/718/265 -f 795/719/266 797/721/266 796/720/266 -f 797/721/267 799/723/267 798/722/267 -f 799/723/268 801/725/268 800/724/268 -f 801/725/269 803/727/269 802/726/269 -f 803/727/270 805/729/270 804/728/270 -f 805/729/271 807/731/271 806/730/271 -f 807/731/272 809/733/272 808/732/272 -f 809/733/273 811/735/273 810/734/273 -f 811/735/274 813/737/274 812/736/274 -f 813/737/275 840/888/275 814/738/275 -f 815/739/268 877/739/268 816/740/268 -f 815/739/2 817/740/2 769/741/2 -f 817/740/2 819/745/2 771/743/2 -f 818/744/2 773/747/2 771/743/2 -f 820/746/2 775/749/2 773/747/2 -f 820/746/2 821/750/2 777/748/2 -f 821/750/2 823/753/2 779/751/2 -f 822/752/2 781/755/2 779/751/2 -f 824/754/2 783/757/2 781/755/2 -f 824/754/2 825/758/2 785/756/2 -f 825/758/2 827/761/2 787/759/2 -f 826/760/2 789/763/2 787/759/2 -f 828/762/2 791/765/2 789/763/2 -f 828/762/2 829/766/2 793/764/2 -f 829/766/2 831/769/2 795/767/2 -f 830/768/2 797/771/2 795/767/2 -f 832/770/2 799/773/2 797/771/2 -f 832/770/2 833/774/2 801/772/2 -f 833/774/2 835/777/2 803/775/2 -f 834/776/2 805/779/2 803/775/2 -f 836/778/2 807/781/2 805/779/2 -f 836/778/2 837/782/2 809/780/2 -f 837/782/2 838/784/2 811/783/2 -f 838/784/2 839/786/2 813/785/2 -f 839/786/2 865/791/2 840/787/277 -f 841/788/263 878/788/263 842/789/263 -f 831/769/278 879/769/278 844/768/278 -f 817/740/269 816/740/269 845/745/269 -f 830/768/279 844/768/279 846/770/279 -f 819/745/270 845/745/270 847/744/270 -f 832/770/252 846/770/252 848/774/252 -f 818/744/271 847/744/271 849/746/271 -f 833/774/253 848/774/253 850/777/253 -f 820/746/272 849/746/272 851/750/272 -f 835/777/254 850/777/254 852/776/254 -f 821/750/273 851/750/273 853/753/273 -f 834/776/255 852/776/255 854/778/255 -f 823/753/274 853/753/274 855/752/274 -f 836/778/256 854/778/256 856/782/256 -f 822/752/275 855/752/275 857/754/275 -f 837/782/257 856/782/257 858/784/257 -f 824/754/280 857/754/280 859/758/280 -f 838/784/258 858/784/258 860/786/258 -f 825/758/281 859/758/281 861/761/281 -f 843/789/264 842/789/264 862/790/264 -f 839/786/259 860/786/259 864/791/259 -f 827/761/282 861/761/282 866/760/282 -f 863/790/265 862/790/265 867/792/265 -f 865/791/260 864/791/260 869/793/260 -f 826/760/283 866/760/283 871/762/283 -f 868/792/266 867/792/266 872/794/266 -f 870/793/261 869/793/261 874/795/261 -f 828/762/284 871/762/284 876/766/284 -f 873/794/267 872/794/267 877/739/267 -f 875/795/262 874/795/262 878/788/262 -f 829/766/285 876/766/285 879/769/285 -f 880/796/8 930/876/8 768/797/8 -f 880/796/8 767/798/8 770/799/8 -f 882/801/8 881/800/8 770/799/8 -f 882/801/8 772/802/8 774/803/8 -f 884/805/8 883/804/8 774/803/8 -f 884/805/8 776/806/8 778/807/8 -f 885/808/8 778/807/8 780/809/8 -f 886/810/8 780/809/8 782/811/8 -f 888/813/8 887/812/8 782/811/8 -f 888/813/8 784/814/8 786/815/8 -f 890/817/8 889/816/8 786/815/8 -f 890/817/8 788/818/8 790/819/8 -f 892/821/8 891/820/8 790/819/8 -f 892/821/8 792/822/8 794/823/8 -f 894/825/8 893/824/8 794/823/8 -f 894/825/8 796/826/8 798/827/8 -f 896/829/8 895/828/8 798/827/8 -f 896/829/8 800/830/8 802/831/8 -f 898/833/8 897/832/8 802/831/8 -f 898/833/8 804/834/8 806/835/8 -f 900/837/8 899/836/8 806/835/8 -f 900/837/8 808/838/8 810/839/8 -f 902/841/8 901/840/8 810/839/8 -f 902/841/8 812/842/8 814/843/286 -f 904/845/25 907/848/25 905/846/25 -f 907/848/2 909/850/2 908/849/2 -f 909/850/9 911/852/9 910/851/9 -f 911/852/8 904/889/8 906/853/8 -f 908/849/6 910/851/6 906/854/6 -f 766/690/279 768/692/287 912/856/287 -f 814/738/288 840/888/289 914/858/289 -f 863/790/2 917/861/2 916/860/2 -f 868/792/2 918/862/2 917/861/2 -f 873/794/2 919/864/2 918/862/2 -f 919/864/2 873/794/2 815/739/2 -f 815/739/2 766/742/276 913/863/290 -f 914/866/291 840/787/277 865/791/2 -f 865/791/2 870/793/2 920/865/2 -f 870/793/2 875/795/2 921/867/2 -f 875/795/2 841/788/2 922/868/2 -f 841/788/2 843/789/2 916/860/2 -f 923/869/8 937/890/8 924/870/8 -f 926/872/8 923/869/8 925/871/8 -f 928/874/8 926/872/8 927/873/8 -f 929/875/8 912/891/8 930/876/8 -f 912/891/8 768/797/8 930/876/8 -f 915/877/292 933/880/8 903/844/8 -f 933/880/8 932/879/8 903/844/8 -f 931/878/8 935/882/8 932/879/8 -f 934/881/8 936/883/8 935/882/8 -f 924/870/8 937/890/8 936/883/8 -f 933/892/26 915/886/26 904/893/26 -f 909/850/26 907/885/26 916/894/26 -f 907/885/26 914/887/26 920/895/26 -f 920/895/26 921/896/26 907/885/26 -f 921/896/26 922/897/26 907/885/26 -f 907/885/26 922/897/26 916/894/26 -f 933/892/26 904/893/26 931/898/26 -f 904/893/26 911/852/26 924/899/26 -f 931/898/26 904/893/26 934/900/26 -f 924/899/26 934/900/26 904/893/26 -f 916/894/26 917/901/26 909/850/26 -f 917/901/26 918/902/26 909/850/26 -f 929/903/26 927/904/26 911/852/26 -f 927/904/26 925/905/26 911/852/26 -f 925/905/26 924/899/26 911/852/26 -f 918/902/26 919/906/26 909/850/26 -f 919/906/26 913/907/26 909/850/26 -f 912/884/26 929/903/26 911/852/26 -f 913/907/26 912/884/26 909/850/26 -f 907/885/26 904/893/26 915/886/26 -f 938/908/293 939/909/293 940/910/293 -f 939/909/294 941/911/294 940/910/294 -f 942/912/295 943/913/295 941/911/295 -f 944/914/296 938/915/296 943/913/296 -f 941/911/6 938/916/6 940/917/6 -f 939/918/26 944/914/26 942/912/26 -f 945/919/297 946/909/297 947/920/297 -f 946/909/298 948/921/298 947/920/298 -f 949/912/299 950/922/299 948/921/299 -f 951/923/300 945/924/301 950/925/301 -f 952/911/6 953/916/6 954/917/6 -f 946/918/26 951/914/26 949/912/26 -f 950/922/301 953/915/301 955/913/301 -f 948/921/299 955/913/299 952/911/299 -f 947/920/298 952/911/298 954/910/298 -f 953/908/297 947/920/297 954/910/297 -f 956/908/302 957/909/302 958/910/302 -f 958/910/303 959/912/303 960/911/303 -f 959/912/304 961/913/304 960/911/304 -f 962/914/305 956/915/305 961/913/305 -f 960/911/306 956/916/306 958/917/306 -f 957/918/307 962/914/307 959/912/307 -f 963/908/308 964/909/308 965/910/309 -f 964/909/310 966/911/310 965/910/310 -f 967/912/311 968/913/311 966/911/311 -f 969/914/312 963/915/312 968/913/312 -f 966/911/313 963/916/313 965/917/313 -f 964/918/314 969/914/314 967/912/314 -f 938/908/293 970/926/293 939/909/293 -f 939/909/294 942/912/294 941/911/294 -f 942/912/295 944/914/295 943/913/295 -f 944/914/296 970/927/296 938/915/296 -f 941/911/6 943/913/6 938/916/6 -f 939/918/26 970/928/26 944/914/26 -f 945/919/297 971/926/297 946/909/297 -f 946/909/298 949/912/298 948/921/298 -f 949/912/299 951/914/299 950/922/299 -f 951/923/300 971/929/300 945/924/301 -f 952/911/6 955/913/6 953/916/6 -f 946/918/26 971/928/26 951/914/26 -f 950/922/301 945/930/301 953/915/301 -f 948/921/299 950/922/299 955/913/299 -f 947/920/298 948/921/298 952/911/298 -f 953/908/297 945/919/297 947/920/297 -f 956/908/302 972/926/302 957/909/302 -f 958/910/303 957/909/303 959/912/303 -f 959/912/304 962/914/315 961/913/304 -f 962/914/305 972/927/305 956/915/305 -f 960/911/306 961/913/306 956/916/306 -f 957/918/307 972/928/307 962/914/307 -f 963/908/308 973/926/308 964/909/308 -f 964/909/310 967/912/310 966/911/310 -f 967/912/311 969/914/311 968/913/311 -f 969/914/312 973/927/316 963/915/312 -f 966/911/313 968/913/313 963/916/313 -f 964/918/314 973/928/314 969/914/314 -o Shell -v -0.317579 2.171942 1.847565 -v 0.000000 2.303487 -0.098938 -v -0.317579 2.171942 -0.098938 -v 0.449124 1.854363 1.847565 -v 0.317579 1.536785 -0.098938 -v 0.449124 1.854363 -0.098938 -v 0.317579 1.536785 1.847565 -v 0.000000 1.405240 -0.098938 -v 0.000000 1.405239 1.847565 -v -0.317579 1.536785 -0.098938 -v -0.317579 1.536785 1.847565 -v -0.449124 1.854363 -0.098938 -v -0.449124 1.854363 1.847565 -v 0.000000 2.303487 1.847565 -v 0.317579 2.171942 -0.098938 -v 0.317579 2.171942 1.847565 -v 0.353356 2.207720 1.877207 -v 0.499721 1.854363 1.877207 -v 0.353356 1.501007 1.877207 -v 0.000000 1.354642 1.877207 -v -0.353356 1.501007 1.877207 -v -0.499721 1.854363 1.877207 -v -0.353356 2.207720 1.877207 -v 0.000000 2.354084 1.877207 -vn -0.3827 0.9239 -0.0000 -vn 0.9239 -0.3827 -0.0000 -vn 0.3827 -0.9239 -0.0000 -vn -0.3827 -0.9239 -0.0000 -vn -0.9239 -0.3827 -0.0000 -vn -0.9239 0.3827 -0.0000 -vn 0.3827 0.9239 -0.0000 -vn 0.9239 0.3827 -0.0000 -vn -0.0000 -0.0000 -1.0000 -vn 0.2049 0.4948 -0.8445 -vn 0.4948 0.2049 -0.8445 -vn 0.4948 -0.2049 -0.8445 -vn 0.2049 -0.4948 -0.8445 -vn -0.2049 -0.4948 -0.8445 -vn -0.4948 -0.2049 -0.8445 -vn -0.4948 0.2049 -0.8445 -vn -0.2049 0.4948 -0.8445 -vn -0.0000 -0.0000 1.0000 -vt 0.125000 0.577656 -vt 0.000000 0.516094 -vt 0.125000 0.516094 -vt 0.750000 0.577656 -vt 0.625000 0.516094 -vt 0.750000 0.516094 -vt 0.625000 0.577656 -vt 0.500000 0.516094 -vt 0.500000 0.577656 -vt 0.375000 0.516094 -vt 0.375000 0.577656 -vt 0.250000 0.516094 -vt 0.250000 0.577656 -vt 1.000000 0.577656 -vt 0.875000 0.516094 -vt 1.000000 0.516094 -vt 0.875000 0.577656 -vt 0.707574 0.516599 -vt 0.690000 0.537812 -vt 0.707574 0.559026 -vt 0.218750 0.446250 -vt 0.195693 0.450000 -vt 0.195312 0.446250 -vt 0.172255 0.450000 -vt 0.171875 0.446250 -vt 0.148438 0.446250 -vt 0.171494 0.450000 -vt 0.148818 0.450000 -vt 0.125000 0.446250 -vt 0.148057 0.450000 -vt 0.125380 0.450000 -vt 0.101943 0.450000 -vt 0.101562 0.446250 -vt 0.078505 0.450000 -vt 0.078125 0.446250 -vt 0.054688 0.446250 -vt 0.077745 0.450000 -vt 0.055068 0.450000 -vt 0.031250 0.446250 -vt 0.054307 0.450000 -vt 0.031630 0.450000 -vt 0.013897 0.440000 -vt 0.130000 0.381948 -vt 0.246103 0.440000 -vt 0.000000 0.577656 -vt 0.750000 0.567813 -vt 0.792426 0.516599 -vt 0.792426 0.559026 -vt 0.810000 0.537812 -vt 0.750000 0.507812 -vt 0.218369 0.450000 -vt 0.194932 0.450000 -vt 0.124620 0.450000 -vt 0.101182 0.450000 -vt 0.212097 0.481049 -vt 0.130000 0.498052 -vt 0.047903 0.481049 -vt 0.047903 0.398951 -vt 0.212097 0.398951 -s 1 -f 974/931/317 975/932/317 976/933/317 -f 977/934/318 978/935/318 979/936/318 -f 980/937/319 981/938/319 978/935/319 -f 982/939/320 983/940/320 981/938/320 -f 984/941/321 985/942/321 983/940/321 -f 986/943/322 976/933/322 985/942/322 -f 987/944/323 988/945/323 975/946/323 -f 989/947/324 979/936/324 988/945/324 -f 983/948/325 985/949/325 976/950/325 -f 987/951/326 990/952/326 989/953/326 -f 989/953/327 991/954/327 977/955/327 -f 980/956/328 991/957/328 992/958/328 -f 982/959/329 992/960/329 993/961/329 -f 982/959/330 994/962/330 984/963/330 -f 984/963/331 995/964/331 986/965/331 -f 974/966/332 995/967/332 996/968/332 -f 987/969/333 996/970/333 997/971/333 -f 995/972/334 993/973/334 991/974/334 -f 974/931/317 987/975/317 975/932/317 -f 977/934/318 980/937/318 978/935/318 -f 980/937/319 982/939/319 981/938/319 -f 982/939/320 984/941/320 983/940/320 -f 984/941/321 986/943/321 985/942/321 -f 986/943/322 974/931/322 976/933/322 -f 987/944/323 989/947/323 988/945/323 -f 989/947/324 977/934/324 979/936/324 -f 976/950/325 975/976/325 978/977/325 -f 975/976/325 988/978/325 978/977/325 -f 988/978/325 979/979/325 978/977/325 -f 978/977/325 981/980/325 976/950/325 -f 981/980/325 983/948/325 976/950/325 -f 987/951/326 997/981/326 990/952/326 -f 989/953/327 990/982/327 991/954/327 -f 980/956/328 977/955/328 991/957/328 -f 982/959/329 980/956/329 992/960/329 -f 982/959/330 993/983/330 994/962/330 -f 984/963/331 994/984/331 995/964/331 -f 974/966/332 986/965/332 995/967/332 -f 987/969/333 974/966/333 996/970/333 -f 991/974/334 990/985/334 997/986/334 -f 997/986/334 996/987/334 995/972/334 -f 995/972/334 994/988/334 993/973/334 -f 993/973/334 992/989/334 991/974/334 -f 991/974/334 997/986/334 995/972/334 -o Bolt -v 1.237626 1.558533 -0.244676 -v 1.237626 1.347644 -0.338365 -v 1.237626 1.434997 -0.564550 -v 0.258755 0.970245 -0.742828 -v 0.364785 1.014616 5.211916 -v 0.258755 0.970245 5.211916 -v 0.364785 1.014616 -0.742828 -v 0.462503 1.086671 5.211916 -v 0.462503 1.086670 -0.742828 -v 0.548153 1.183639 5.211916 -v 0.548153 1.183639 -0.742828 -v 0.618444 1.301795 5.211916 -v 0.713701 1.734985 -0.742828 -v 0.702840 1.870972 2.886101 -v 0.713701 1.734986 3.385809 -v 0.702840 1.887102 -0.742828 -v 0.670676 2.017243 2.886101 -v 0.670676 2.033372 -0.742828 -v 0.618444 2.152046 2.886101 -v 0.618444 2.168175 -0.742828 -v 0.548153 2.270203 2.886101 -v 0.548153 2.286332 -0.742828 -v 0.462503 2.367172 2.886101 -v 0.462503 2.383301 -0.742828 -v 0.364785 2.439226 2.886101 -v 0.364785 2.455355 -0.742828 -v 0.258755 2.483597 2.886101 -v 0.685123 1.502331 -0.577728 -v 1.237626 1.465275 -0.574402 -v 0.678109 1.472589 -0.574402 -v 0.671364 1.443991 -0.564550 -v 1.237626 1.407092 -0.548553 -v 0.660936 1.417635 -0.548553 -v 0.670676 1.441072 -0.562778 -v 1.237626 1.382633 -0.527024 -v 0.651336 1.394533 -0.527024 -v 1.237626 1.362560 -0.500791 -v 0.643457 1.375574 -0.500791 -v 1.237626 1.347644 -0.470861 -v 0.637602 1.361486 -0.470861 -v 1.237626 1.338459 -0.438386 -v 0.633997 1.352811 -0.438386 -v 1.237626 1.335358 -0.404613 -v 0.632780 1.349882 -0.404613 -v 0.633997 1.352811 -0.370840 -v 1.237626 1.338459 -0.370840 -v 0.637602 1.361486 -0.338365 -v 0.643457 1.375574 -0.308436 -v 1.237626 1.362560 -0.308436 -v 0.651336 1.394533 -0.282203 -v 1.237626 1.382633 -0.282203 -v 0.660936 1.417635 -0.260674 -v 1.237626 1.407092 -0.260674 -v 0.671364 1.443991 -0.244676 -v 0.670676 1.441072 -0.246449 -v 1.237626 1.434997 -0.244676 -v 0.678109 1.472590 -0.234825 -v 1.237626 1.465276 -0.234825 -v 0.685123 1.502331 -0.231499 -v 1.237626 1.496765 -0.231499 -v 0.692138 1.532073 -0.234825 -v 1.237626 1.528254 -0.234825 -v 0.698882 1.560671 -0.244676 -v 1.237626 1.586437 -0.260674 -v 0.703573 1.587027 -0.260674 -v 0.702840 1.577450 -0.254860 -v 0.705341 1.610129 -0.282203 -v 1.237626 1.610896 -0.282203 -v 0.706793 1.629088 -0.308436 -v 1.237626 1.630969 -0.308436 -v 0.707873 1.643176 -0.338366 -v 1.237626 1.645885 -0.338366 -v 0.708536 1.651851 -0.370841 -v 1.237626 1.655070 -0.370841 -v 0.708760 1.654780 -0.404613 -v 1.237626 1.655070 -0.438387 -v 0.708536 1.651851 -0.438387 -v 1.237626 1.645884 -0.470862 -v 0.707873 1.643175 -0.470862 -v 1.237626 1.630969 -0.500791 -v 0.706793 1.629088 -0.500791 -v 1.237626 1.610896 -0.527024 -v 0.705341 1.610129 -0.527024 -v 1.237626 1.586437 -0.548553 -v 0.703573 1.587027 -0.548553 -v 1.237626 1.558532 -0.564551 -v 0.698882 1.560670 -0.564551 -v 0.702840 1.577450 -0.554366 -v 1.237626 1.528253 -0.574402 -v 0.692138 1.532072 -0.574402 -v 1.237626 1.496765 -0.577728 -v 0.618444 1.301795 -0.742828 -v 0.670676 1.436599 5.211916 -v 0.702840 1.582869 -0.742828 -v 1.237626 1.658171 -0.404613 -v 0.258755 2.499726 -0.742828 -v 0.670676 1.436599 -0.742828 -v 0.702840 1.582870 5.211916 -v 0.329833 0.917553 -0.742828 -vn 1.0000 -0.0000 -0.0000 -vn 0.3860 -0.9225 -0.0000 -vn 0.5935 -0.8049 -0.0000 -vn 0.7495 -0.6620 -0.0000 -vn 0.8594 -0.5113 -0.0000 -vn 0.9974 0.0714 0.0003 -vn 0.9968 0.0795 -0.0000 -vn 0.9968 0.0796 -0.0000 -vn 0.9767 0.2148 0.0010 -vn 0.9325 0.3613 0.0016 -vn 0.8594 0.5113 0.0023 -vn 0.7495 0.6620 0.0029 -vn 0.5935 0.8048 0.0036 -vn 0.3860 0.9225 0.0041 -vn -0.0014 -0.1106 -0.9939 -vn -0.0011 -0.1052 -0.9944 -vn -0.0014 -0.1108 -0.9938 -vn -0.0051 -0.3241 -0.9460 -vn -0.0041 -0.3099 -0.9507 -vn -0.0052 -0.3246 -0.9458 -vn -0.0080 -0.4980 -0.8671 -vn -0.0094 -0.5160 -0.8566 -vn -0.0095 -0.5165 -0.8562 -vn -0.0137 -0.6781 -0.7348 -vn -0.0121 -0.6613 -0.7500 -vn -0.0138 -0.6786 -0.7343 -vn -0.0176 -0.8074 -0.5897 -vn -0.0162 -0.7946 -0.6070 -vn -0.0177 -0.8078 -0.5892 -vn -0.0208 -0.9027 -0.4297 -vn -0.0196 -0.8951 -0.4454 -vn -0.0208 -0.9030 -0.4291 -vn -0.0229 -0.9651 -0.2608 -vn -0.0222 -0.9621 -0.2717 -vn -0.0229 -0.9652 -0.2604 -vn -0.0239 -0.9959 -0.0874 -vn -0.0237 -0.9955 -0.0913 -vn -0.0239 -0.9959 -0.0872 -vn -0.0237 -0.9955 0.0913 -vn -0.0239 -0.9959 0.0874 -vn -0.0239 -0.9959 0.0872 -vn -0.0222 -0.9621 0.2717 -vn -0.0229 -0.9651 0.2608 -vn -0.0229 -0.9652 0.2604 -vn -0.0196 -0.8951 0.4454 -vn -0.0208 -0.9027 0.4297 -vn -0.0208 -0.9030 0.4291 -vn -0.0162 -0.7946 0.6070 -vn -0.0176 -0.8074 0.5897 -vn -0.0177 -0.8078 0.5891 -vn -0.0121 -0.6613 0.7500 -vn -0.0137 -0.6781 0.7348 -vn -0.0138 -0.6786 0.7343 -vn -0.0080 -0.4980 0.8671 -vn -0.0095 -0.5168 0.8561 -vn -0.0095 -0.5166 0.8562 -vn -0.0041 -0.3099 0.9508 -vn -0.0051 -0.3241 0.9460 -vn -0.0052 -0.3246 0.9458 -vn -0.0011 -0.1052 0.9944 -vn -0.0014 -0.1106 0.9939 -vn -0.0014 -0.1108 0.9938 -vn 0.0007 0.1052 0.9944 -vn 0.0011 0.1107 0.9939 -vn 0.0011 0.1109 0.9938 -vn 0.0013 0.3099 0.9508 -vn 0.0022 0.3247 0.9458 -vn 0.0023 0.3252 0.9456 -vn 0.0011 0.4977 0.8674 -vn 0.0006 0.5189 0.8548 -vn 0.0014 0.5183 0.8552 -vn -0.0009 0.6615 0.7499 -vn 0.0007 0.6810 0.7323 -vn 0.0008 0.6817 0.7316 -vn -0.0028 0.7948 0.6068 -vn -0.0012 0.8099 0.5866 -vn -0.0012 0.8105 0.5857 -vn -0.0045 0.8954 0.4452 -vn -0.0033 0.9044 0.4266 -vn -0.0032 0.9048 0.4258 -vn -0.0058 0.9624 0.2716 -vn -0.0050 0.9660 0.2585 -vn -0.0049 0.9661 0.2580 -vn -0.0064 0.9958 0.0912 -vn -0.0061 0.9962 0.0866 -vn -0.0061 0.9962 0.0864 -vn -0.0061 0.9962 -0.0866 -vn -0.0064 0.9958 -0.0912 -vn -0.0061 0.9962 -0.0864 -vn -0.0050 0.9660 -0.2586 -vn -0.0058 0.9624 -0.2716 -vn -0.0049 0.9661 -0.2580 -vn -0.0033 0.9044 -0.4266 -vn -0.0045 0.8954 -0.4452 -vn -0.0032 0.9048 -0.4258 -vn -0.0012 0.8099 -0.5866 -vn -0.0028 0.7948 -0.6068 -vn -0.0012 0.8105 -0.5857 -vn 0.0007 0.6810 -0.7323 -vn -0.0009 0.6615 -0.7499 -vn 0.0008 0.6817 -0.7316 -vn 0.0011 0.4979 -0.8673 -vn 0.0021 0.5185 -0.8551 -vn 0.0014 0.5183 -0.8552 -vn 0.0022 0.3247 -0.9458 -vn 0.0013 0.3100 -0.9508 -vn 0.0023 0.3252 -0.9456 -vn 0.0011 0.1107 -0.9939 -vn 0.0007 0.1052 -0.9944 -vn 0.0011 0.1109 -0.9938 -vn 0.9351 -0.3543 0.0111 -vn 0.9914 -0.1289 -0.0237 -vn 0.9549 -0.2969 -0.0005 -vn 0.9733 -0.2295 -0.0002 -vn 0.9737 -0.2276 -0.0068 -vn 0.9736 -0.2281 -0.0069 -vn 0.9734 -0.2288 -0.0072 -vn 0.9977 -0.0677 -0.0018 -vn 0.9985 -0.0542 0.0017 -vn 0.9978 -0.0660 -0.0011 -vn 1.0000 -0.0000 -0.0001 -vn 1.0000 -0.0000 0.0001 -vn 0.9975 0.0712 0.0003 -vn -0.0011 -0.1050 -0.9945 -vn -0.0040 -0.3094 -0.9509 -vn -0.0095 -0.5166 -0.8562 -vn -0.0079 -0.4973 -0.8675 -vn -0.0121 -0.6607 -0.7506 -vn -0.0161 -0.7941 -0.6076 -vn -0.0196 -0.8948 -0.4460 -vn -0.0222 -0.9620 -0.2721 -vn -0.0237 -0.9955 -0.0914 -vn -0.0237 -0.9955 0.0914 -vn -0.0222 -0.9620 0.2721 -vn -0.0196 -0.8948 0.4460 -vn -0.0161 -0.7941 0.6076 -vn -0.0121 -0.6607 0.7506 -vn -0.0094 -0.5160 0.8566 -vn -0.0079 -0.4974 0.8675 -vn -0.0040 -0.3094 0.9509 -vn -0.0011 -0.1050 0.9945 -vn 0.0007 0.1050 0.9945 -vn 0.0012 0.3094 0.9509 -vn 0.0021 0.5185 0.8551 -vn 0.0011 0.4979 0.8673 -vn -0.0010 0.6607 0.7506 -vn -0.0028 0.7942 0.6077 -vn -0.0046 0.8950 0.4460 -vn -0.0059 0.9622 0.2721 -vn -0.0064 0.9958 0.0914 -vn -0.0064 0.9958 -0.0914 -vn -0.0059 0.9622 -0.2722 -vn -0.0046 0.8950 -0.4460 -vn -0.0028 0.7942 -0.6077 -vn -0.0010 0.6607 -0.7506 -vn 0.0006 0.5188 -0.8549 -vn 0.0011 0.4976 -0.8674 -vn 0.0012 0.3094 -0.9509 -vn 0.0007 0.1050 -0.9945 -vn 0.9237 -0.3831 -0.0009 -vn 0.9236 -0.3833 -0.0009 -vn 0.9363 -0.3512 -0.0006 -vn 0.9325 -0.3613 -0.0003 -vn 0.9324 -0.3613 0.0115 -vn 0.9299 -0.3674 0.0157 -vn 0.9254 -0.3788 0.0094 -vn 0.9238 -0.3828 -0.0009 -vn 0.9241 -0.3822 -0.0009 -vn 0.9300 -0.3673 0.0161 -vn 0.9323 -0.3614 0.0138 -vn 0.9246 -0.3810 -0.0009 -vn 0.9361 -0.3515 0.0112 -vn 0.9448 -0.3276 0.0066 -vn 0.9733 -0.2295 0.0002 -vn 0.9766 -0.2149 -0.0000 -vn 0.9767 -0.2148 -0.0000 -vn 0.9734 -0.2293 0.0002 -vn 0.9733 -0.2294 -0.0002 -vn 0.9739 -0.2268 0.0056 -vn 0.9740 -0.2263 0.0056 -vn 0.9760 -0.2179 0.0014 -vn 0.9747 -0.2233 0.0036 -vn 0.9741 -0.2258 -0.0065 -vn 0.9740 -0.2264 -0.0066 -vn 0.9736 -0.2283 0.0058 -vn 0.9973 -0.0735 -0.0022 -vn 0.9972 -0.0750 -0.0022 -vn 0.9974 -0.0713 -0.0022 -vn 0.9975 -0.0704 0.0001 -vn 0.9980 -0.0628 0.0001 -vn 0.9971 -0.0760 0.0003 -vn 0.9971 -0.0761 0.0003 -vn 0.9971 -0.0759 0.0003 -vn 0.9975 -0.0712 -0.0022 -vn 0.9974 -0.0725 -0.0033 -vn 0.9973 -0.0730 -0.0036 -vn 0.9971 -0.0758 0.0003 -vn 0.9972 -0.0753 0.0003 -vn 0.9974 -0.0713 -0.0027 -vn 0.9976 -0.0695 -0.0021 -vt 0.601212 0.686463 -vt 0.607212 0.688948 -vt 0.604727 0.694949 -vt 0.562350 0.784943 -vt 0.743961 0.782105 -vt 0.743961 0.784943 -vt 0.562350 0.782105 -vt 0.743961 0.779268 -vt 0.562350 0.779268 -vt 0.743961 0.776430 -vt 0.562350 0.776430 -vt 0.743961 0.773592 -vt 0.562350 0.765080 -vt 0.743961 0.762242 -vt 0.743961 0.765080 -vt 0.562350 0.762242 -vt 0.743961 0.759404 -vt 0.562350 0.759404 -vt 0.743961 0.756567 -vt 0.562350 0.756567 -vt 0.743961 0.753729 -vt 0.562350 0.753729 -vt 0.743961 0.750891 -vt 0.562350 0.750891 -vt 0.743961 0.748054 -vt 0.562350 0.748054 -vt 0.743961 0.745216 -vt 0.617321 0.697653 -vt 0.616723 0.705057 -vt 0.616723 0.697568 -vt 0.616125 0.705057 -vt 0.616125 0.697486 -vt 0.615527 0.705057 -vt 0.615527 0.697359 -vt 0.616059 0.697478 -vt 0.614929 0.705057 -vt 0.614929 0.697243 -vt 0.614331 0.705057 -vt 0.614331 0.697147 -vt 0.613733 0.705057 -vt 0.613733 0.697076 -vt 0.613135 0.705057 -vt 0.613135 0.697032 -vt 0.612537 0.705057 -vt 0.612537 0.697017 -vt 0.611939 0.697032 -vt 0.611939 0.705057 -vt 0.611341 0.697076 -vt 0.611341 0.705057 -vt 0.610743 0.697147 -vt 0.610743 0.705057 -vt 0.610145 0.697243 -vt 0.610145 0.705057 -vt 0.609547 0.697359 -vt 0.609547 0.705057 -vt 0.608949 0.697486 -vt 0.609015 0.697478 -vt 0.608949 0.705057 -vt 0.608351 0.697568 -vt 0.608351 0.705057 -vt 0.607753 0.697653 -vt 0.607753 0.705057 -vt 0.607155 0.697738 -vt 0.607155 0.705057 -vt 0.606557 0.697820 -vt 0.605959 0.705057 -vt 0.605959 0.697877 -vt 0.606177 0.697868 -vt 0.605361 0.697899 -vt 0.605361 0.705057 -vt 0.604763 0.697916 -vt 0.604763 0.705057 -vt 0.604165 0.697930 -vt 0.604165 0.705057 -vt 0.603567 0.697938 -vt 0.603567 0.705057 -vt 0.602969 0.697940 -vt 0.602372 0.705057 -vt 0.602372 0.697938 -vt 0.601774 0.705057 -vt 0.601774 0.697930 -vt 0.601176 0.705057 -vt 0.601176 0.697916 -vt 0.600578 0.705057 -vt 0.600578 0.697899 -vt 0.599980 0.705057 -vt 0.599980 0.697877 -vt 0.599382 0.705057 -vt 0.599382 0.697820 -vt 0.599762 0.697868 -vt 0.598784 0.705057 -vt 0.598784 0.697738 -vt 0.598186 0.705057 -vt 0.598186 0.697653 -vt 0.562350 0.773592 -vt 0.572667 0.772814 -vt 0.573697 0.772747 -vt 0.743961 0.770755 -vt 0.577845 0.770099 -vt 0.577947 0.769480 -vt 0.562350 0.767917 -vt 0.567489 0.768861 -vt 0.567387 0.769480 -vt 0.572667 0.766370 -vt 0.571637 0.766429 -vt 0.603865 0.695210 -vt 0.602969 0.695298 -vt 0.602074 0.695210 -vt 0.601212 0.694949 -vt 0.600418 0.694524 -vt 0.598727 0.692463 -vt 0.599722 0.693953 -vt 0.599151 0.693257 -vt 0.598465 0.691602 -vt 0.598377 0.690706 -vt 0.598465 0.689810 -vt 0.598727 0.688948 -vt 0.599151 0.688154 -vt 0.599722 0.687459 -vt 0.600418 0.686887 -vt 0.602074 0.686202 -vt 0.602969 0.686113 -vt 0.603865 0.686202 -vt 0.604727 0.686463 -vt 0.605521 0.686887 -vt 0.606217 0.687459 -vt 0.606788 0.688154 -vt 0.607474 0.689810 -vt 0.607562 0.690706 -vt 0.607474 0.691602 -vt 0.607212 0.692463 -vt 0.606788 0.693257 -vt 0.606217 0.693953 -vt 0.605521 0.694524 -vt 0.562350 0.745216 -vt 0.617321 0.705057 -vt 0.606557 0.705057 -vt 0.602969 0.705057 -vt 0.577057 0.771284 -vt 0.577491 0.770755 -vt 0.562350 0.770755 -vt 0.568277 0.771284 -vt 0.567842 0.770755 -vt 0.576399 0.771805 -vt 0.575599 0.772234 -vt 0.568932 0.771805 -vt 0.569733 0.772234 -vt 0.574686 0.772552 -vt 0.570646 0.772552 -vt 0.571637 0.772747 -vt 0.577545 0.768266 -vt 0.577233 0.767917 -vt 0.743961 0.767917 -vt 0.577545 0.770694 -vt 0.577845 0.768861 -vt 0.567789 0.770694 -vt 0.568098 0.767917 -vt 0.567789 0.768266 -vt 0.567489 0.770099 -vt 0.568277 0.767726 -vt 0.573697 0.766429 -vt 0.577057 0.767726 -vt 0.576399 0.767263 -vt 0.568932 0.767263 -vt 0.575599 0.766884 -vt 0.574686 0.766602 -vt 0.569733 0.766884 -vt 0.570646 0.766602 -s 1 -f 998/990/335 999/991/335 1000/992/335 -f 1001/993/336 1002/994/336 1003/995/336 -f 1004/996/337 1005/997/337 1002/994/337 -f 1006/998/338 1007/999/338 1005/997/338 -f 1008/1000/339 1009/1001/339 1007/999/339 -f 1010/1002/340 1011/1003/341 1012/1004/342 -f 1013/1005/343 1014/1006/343 1011/1003/343 -f 1015/1007/344 1016/1008/344 1014/1006/344 -f 1017/1009/345 1018/1010/345 1016/1008/345 -f 1019/1011/346 1020/1012/346 1018/1010/346 -f 1021/1013/347 1022/1014/347 1020/1012/347 -f 1023/1015/348 1024/1016/348 1022/1014/348 -f 1025/1017/349 1026/1018/350 1027/1019/351 -f 1027/1019/352 1000/1020/353 1028/1021/354 -f 1029/1022/355 1030/1023/356 1031/1024/357 -f 1030/1023/358 1032/1025/359 1033/1026/360 -f 1033/1026/361 1034/1027/362 1035/1028/363 -f 1035/1028/364 1036/1029/365 1037/1030/366 -f 1037/1030/367 1038/1031/368 1039/1032/369 -f 1039/1032/370 1040/1033/371 1041/1034/372 -f 1040/1033/373 1042/1035/374 1041/1034/375 -f 1043/1036/376 1044/1037/377 1042/1035/378 -f 999/1038/379 1045/1039/380 1044/1037/381 -f 1046/1040/382 1047/1041/383 1045/1039/384 -f 1048/1042/385 1049/1043/386 1047/1041/387 -f 1050/1044/388 1051/1045/389 1052/1046/390 -f 1053/1047/391 1054/1048/392 1051/1045/393 -f 1055/1049/394 1056/1050/395 1054/1048/396 -f 1057/1051/397 1058/1052/398 1056/1050/399 -f 1059/1053/400 1060/1054/401 1058/1052/402 -f 1061/1055/403 1062/1056/404 1063/1057/405 -f 1061/1055/406 1064/1058/407 1062/1056/408 -f 1065/1059/409 1066/1060/410 1064/1058/411 -f 1067/1061/412 1068/1062/413 1066/1060/414 -f 1069/1063/415 1070/1064/416 1068/1062/417 -f 1071/1065/418 1072/1066/419 1070/1064/420 -f 1072/1066/421 1073/1067/422 1074/1068/423 -f 1074/1068/424 1075/1069/425 1076/1070/426 -f 1076/1070/427 1077/1071/428 1078/1072/429 -f 1078/1072/430 1079/1073/431 1080/1074/432 -f 1080/1074/433 1081/1075/434 1082/1076/435 -f 1083/1077/436 1084/1078/437 1085/1079/438 -f 1084/1078/439 1086/1080/440 1087/1081/441 -f 1087/1081/442 1088/1082/443 1025/1083/444 -f 1089/1084/445 1041/1085/446 1042/1086/447 -f 1090/1087/448 1054/1088/448 1056/1089/448 -f 1091/1090/449 1087/1091/450 1025/1092/451 -f 1010/1002/452 1072/1093/453 1074/1094/454 -f 1000/992/335 1026/1095/335 1088/1096/335 -f 1088/1096/335 1086/1097/335 1083/1098/335 -f 1083/1098/335 1081/1099/335 1075/1100/335 -f 1081/1099/335 1079/1101/335 1075/1100/335 -f 1079/1101/335 1077/1102/335 1075/1100/335 -f 1075/1100/335 1073/1103/335 1092/1104/335 -f 1092/1104/335 1071/1105/335 1069/1106/335 -f 1069/1106/335 1067/1107/335 1065/1108/335 -f 1065/1108/335 1061/1109/455 998/990/335 -f 998/990/335 1059/1110/335 1057/1111/335 -f 1057/1111/335 1055/1112/335 1053/1113/335 -f 1053/1113/335 1050/1114/335 999/991/335 -f 1050/1114/335 1048/1115/335 999/991/335 -f 1048/1115/335 1046/1116/335 999/991/335 -f 999/991/335 1043/1117/335 1040/1118/335 -f 1040/1118/335 1038/1119/335 1036/1120/335 -f 1036/1120/335 1034/1121/335 1000/992/335 -f 1034/1121/335 1032/1122/335 1000/992/335 -f 1032/1122/335 1029/1123/456 1000/992/335 -f 1000/992/335 1088/1096/335 1075/1100/335 -f 1088/1096/335 1083/1098/335 1075/1100/335 -f 1075/1100/335 1092/1104/335 1069/1106/335 -f 1069/1106/335 1065/1108/335 1075/1100/335 -f 1065/1108/335 998/990/335 1075/1100/335 -f 998/990/335 1057/1111/335 999/991/335 -f 1057/1111/335 1053/1113/335 999/991/335 -f 999/991/335 1040/1118/335 1000/992/335 -f 1040/1118/335 1036/1120/335 1000/992/335 -f 1000/992/335 1075/1100/335 998/990/335 -f 1001/993/336 1004/996/336 1002/994/336 -f 1004/996/337 1006/998/337 1005/997/337 -f 1006/998/338 1008/1000/338 1007/999/338 -f 1008/1000/339 1089/1084/339 1009/1001/339 -f 1010/1002/340 1013/1005/457 1011/1003/341 -f 1013/1005/343 1015/1007/343 1014/1006/343 -f 1015/1007/344 1017/1009/344 1016/1008/344 -f 1017/1009/345 1019/1011/345 1018/1010/345 -f 1019/1011/346 1021/1013/346 1020/1012/346 -f 1021/1013/347 1023/1015/347 1022/1014/347 -f 1023/1015/348 1093/1124/348 1024/1016/348 -f 1025/1017/349 1088/1125/458 1026/1018/350 -f 1027/1019/352 1026/1018/459 1000/1020/353 -f 1031/1024/357 1028/1021/460 1029/1022/355 -f 1028/1021/460 1000/1020/461 1029/1022/355 -f 1030/1023/358 1029/1022/462 1032/1025/359 -f 1033/1026/361 1032/1025/463 1034/1027/362 -f 1035/1028/364 1034/1027/464 1036/1029/365 -f 1037/1030/367 1036/1029/465 1038/1031/368 -f 1039/1032/370 1038/1031/466 1040/1033/371 -f 1040/1033/373 1043/1036/467 1042/1035/374 -f 1043/1036/376 999/1038/468 1044/1037/377 -f 999/1038/379 1046/1040/469 1045/1039/380 -f 1046/1040/382 1048/1042/470 1047/1041/383 -f 1048/1042/385 1050/1044/471 1049/1043/386 -f 1052/1046/390 1049/1043/472 1050/1044/388 -f 1050/1044/388 1053/1047/473 1051/1045/389 -f 1053/1047/391 1055/1049/474 1054/1048/392 -f 1055/1049/394 1057/1051/475 1056/1050/395 -f 1057/1051/397 1059/1053/476 1058/1052/398 -f 1059/1053/400 998/1126/477 1060/1054/401 -f 1063/1057/405 1060/1054/478 998/1126/479 -f 998/1126/479 1061/1055/403 1063/1057/405 -f 1061/1055/406 1065/1059/480 1064/1058/407 -f 1065/1059/409 1067/1061/481 1066/1060/410 -f 1067/1061/412 1069/1063/482 1068/1062/413 -f 1069/1063/415 1071/1065/483 1070/1064/416 -f 1071/1065/418 1092/1127/484 1072/1066/419 -f 1072/1066/421 1092/1127/485 1073/1067/422 -f 1074/1068/424 1073/1067/486 1075/1069/425 -f 1076/1070/427 1075/1069/487 1077/1071/428 -f 1078/1072/430 1077/1071/488 1079/1073/431 -f 1080/1074/433 1079/1073/489 1081/1075/434 -f 1085/1079/438 1082/1076/490 1081/1075/491 -f 1081/1075/491 1083/1077/436 1085/1079/438 -f 1084/1078/439 1083/1077/492 1086/1080/440 -f 1087/1081/442 1086/1080/493 1088/1082/443 -f 1049/1128/494 1052/1129/495 1009/1001/496 -f 1052/1129/497 1090/1087/497 1009/1001/497 -f 1009/1001/496 1089/1084/445 1042/1086/447 -f 1089/1084/445 1094/1130/498 1030/1131/499 -f 1094/1130/500 1031/1132/500 1030/1131/500 -f 1047/1133/501 1049/1128/494 1009/1001/496 -f 1045/1134/502 1047/1133/501 1009/1001/496 -f 1089/1084/445 1030/1131/499 1033/1135/503 -f 1089/1084/445 1033/1135/503 1035/1136/504 -f 1044/1137/505 1045/1134/502 1009/1001/496 -f 1042/1086/447 1044/1137/505 1009/1001/496 -f 1089/1084/445 1035/1136/504 1037/1138/506 -f 1089/1084/445 1037/1138/506 1039/1139/507 -f 1089/1084/445 1039/1139/507 1041/1085/446 -f 1060/1140/508 1063/1141/508 1095/1142/509 -f 1095/1142/509 1090/1087/510 1056/1089/511 -f 1090/1087/448 1052/1129/512 1051/1143/512 -f 1090/1087/448 1051/1143/512 1054/1088/448 -f 1058/1144/508 1060/1140/508 1095/1142/509 -f 1056/1089/511 1058/1144/508 1095/1142/509 -f 1028/1145/513 1031/1132/514 1094/1130/515 -f 1094/1130/515 1091/1090/510 1025/1092/516 -f 1091/1090/449 1085/1146/517 1084/1147/518 -f 1091/1090/449 1084/1147/518 1087/1091/450 -f 1027/1148/519 1028/1145/513 1094/1130/515 -f 1025/1092/516 1027/1148/519 1094/1130/515 -f 1082/1149/520 1085/1146/521 1091/1090/522 -f 1010/1002/452 1012/1004/523 1070/1150/524 -f 1012/1004/523 1095/1142/523 1063/1141/525 -f 1010/1002/452 1070/1150/524 1072/1093/453 -f 1063/1141/525 1062/1151/526 1012/1004/523 -f 1062/1151/526 1064/1152/527 1012/1004/523 -f 1082/1149/520 1091/1090/522 1010/1002/528 -f 1080/1153/529 1082/1149/530 1010/1002/452 -f 1064/1152/527 1066/1154/531 1012/1004/523 -f 1066/1154/531 1068/1155/532 1012/1004/523 -f 1078/1156/533 1080/1153/529 1010/1002/452 -f 1076/1157/534 1078/1156/533 1010/1002/452 -f 1068/1155/532 1070/1150/524 1012/1004/523 -f 1074/1094/454 1076/1157/534 1010/1002/452 -l 1001 1096 -o Drum -v -0.685426 -7.905577 2.210387 -v -0.799941 -8.555026 0.065820 -v 0.831222 -7.872484 2.210387 -v 0.973957 -8.516319 0.065820 -v 2.219756 -7.261513 2.210387 -v 2.598012 -7.801718 0.065820 -v 3.268788 -6.165681 2.210387 -v 3.824977 -6.520013 0.065820 -v 3.818609 -4.751818 2.210387 -v 4.468058 -4.866333 0.065820 -v 3.785516 -3.235170 2.210387 -v 4.429352 -3.092435 0.065821 -v 3.174545 -1.846635 2.210387 -v 3.714751 -1.468380 0.065821 -v 2.078714 -0.797604 2.210387 -v 2.433046 -0.241414 0.065821 -v 0.664850 -0.247783 2.210387 -v 0.304407 0.461593 0.065821 -v -0.851797 -0.280876 2.210387 -v -0.388448 0.446475 0.065821 -v -2.240333 -0.891846 2.210387 -v -2.618588 -0.351641 0.065821 -v -3.289364 -1.987678 2.210387 -v -3.845553 -1.633346 0.065821 -v -3.839185 -3.401542 2.210387 -v -4.488634 -3.287026 0.065821 -v -3.806092 -4.918190 2.210387 -v -4.449928 -5.060923 0.065820 -v -3.195122 -6.306724 2.210387 -v -3.735327 -6.684979 0.065820 -v -2.099290 -7.355755 2.210387 -v -2.453621 -7.911944 0.065820 -v 0.841415 -7.918458 -0.801292 -v -0.693603 -7.951953 -0.801292 -v 2.246768 -7.300088 -0.801292 -v 3.308505 -6.190983 -0.801292 -v 3.864985 -4.759995 -0.801292 -v 3.831492 -3.224977 -0.801292 -v 3.213122 -1.819624 -0.801292 -v 2.104017 -0.757886 -0.801292 -v 0.673028 -0.201405 -0.801292 -v -0.861990 -0.234899 -0.801292 -v -2.267343 -0.853270 -0.801292 -v -3.329081 -1.962375 -0.801292 -v -3.885562 -3.393364 -0.801292 -v -3.852067 -4.928381 -0.801292 -v -3.233697 -6.333735 -0.801292 -v -2.124592 -7.395471 -0.801292 -v -0.869009 -8.946727 2.210387 -v 1.060044 -8.904634 2.210387 -v 2.826147 -8.127530 2.210387 -v 4.160430 -6.733721 2.210387 -v 4.859760 -4.935401 2.210387 -v 4.817667 -3.006348 2.210387 -v 4.040561 -1.240244 2.210387 -v 2.646753 0.094039 2.210387 -v 0.331383 0.614584 2.210387 -v -0.422072 0.598144 2.210387 -v -2.846724 -0.025830 2.210387 -v -4.181007 -1.419639 2.210387 -v -4.880335 -3.217959 2.210387 -v -4.838243 -5.147012 2.210387 -v -4.061139 -6.913116 2.210387 -v -2.667329 -8.247398 2.210387 -v -0.592565 -7.378938 2.511454 -v 0.715478 -7.350397 2.511454 -v 1.913029 -6.823462 2.511454 -v 2.817774 -5.878354 2.511454 -v 3.291972 -4.658957 2.511454 -v 3.263430 -3.350914 2.511454 -v 2.736494 -2.153362 2.511454 -v 1.791387 -1.248617 2.511454 -v 0.571989 -0.774420 2.511454 -v -0.736054 -0.802961 2.511454 -v -1.933606 -1.329897 2.511454 -v -2.838351 -2.275005 2.511454 -v -3.312548 -3.494402 2.511454 -v -3.284007 -4.802446 2.511454 -v -2.757071 -5.999998 2.511454 -v -1.811962 -6.904742 2.511454 -v 0.288104 1.947729 0.012726 -v 0.315081 1.999833 2.157292 -v -0.438374 1.983392 2.157292 -v -0.404750 1.932611 0.012726 -vn -0.1707 -0.9683 -0.1824 -vn 0.2128 -0.9599 -0.1824 -vn 0.5640 -0.8054 -0.1824 -vn 0.8292 -0.5283 -0.1824 -vn 0.8293 -0.5283 -0.1824 -vn 0.9683 -0.1707 -0.1824 -vn 0.9599 0.2128 -0.1824 -vn 0.8054 0.5640 -0.1824 -vn 0.6803 0.7107 -0.1790 -vn 0.2621 0.9569 -0.1251 -vn 0.2660 0.9563 -0.1210 -vn 0.2161 0.9611 -0.1719 -vn -0.9998 -0.0120 -0.0152 -vn -0.9998 -0.0118 -0.0151 -vn -0.9998 -0.0115 -0.0149 -vn -0.2939 0.9484 -0.1190 -vn -0.2871 0.9495 -0.1265 -vn -0.2456 0.9542 -0.1711 -vn -0.7107 0.6803 -0.1790 -vn -0.8293 0.5283 -0.1824 -vn -0.8292 0.5283 -0.1824 -vn -0.9683 0.1707 -0.1824 -vn -0.9599 -0.2128 -0.1824 -vn -0.8054 -0.5640 -0.1824 -vn 0.6691 0.4685 -0.5769 -vn 0.7975 0.1768 -0.5769 -vn -0.5283 -0.8293 -0.1824 -vn -0.5283 -0.8292 -0.1824 -vn 0.4790 0.1062 0.8714 -vn 0.4019 0.2814 0.8714 -vn -0.0000 -0.0000 -1.0000 -vn -0.4649 0.6832 -0.5631 -vn -0.6889 0.4389 -0.5769 -vn -0.4389 -0.6889 -0.5769 -vn -0.1418 -0.8044 -0.5769 -vn 0.8044 -0.1418 -0.5769 -vn 0.6889 -0.4389 -0.5769 -vn -0.1094 0.8097 -0.5765 -vn 0.1691 0.8078 -0.5646 -vn -0.2080 0.8092 -0.5495 -vn -0.7975 -0.1768 -0.5769 -vn -0.6691 -0.4685 -0.5769 -vn 0.4685 -0.6691 -0.5769 -vn 0.1768 -0.7975 -0.5769 -vn 0.4389 0.6889 -0.5769 -vn 0.4358 0.6991 -0.5668 -vn -0.8044 0.1418 -0.5769 -vn -0.4685 0.6691 -0.5769 -vn 0.0874 0.8089 -0.5814 -vn -0.0000 -0.0000 1.0000 -vn -0.0003 0.0135 0.9999 -vn -0.0003 0.0134 0.9999 -vn -0.4019 -0.2814 0.8714 -vn -0.4790 -0.1062 0.8714 -vn 0.2636 0.4138 0.8714 -vn -0.2636 -0.4138 0.8714 -vn 0.0852 0.4831 0.8714 -vn -0.0852 -0.4831 0.8714 -vn 0.1062 -0.4790 0.8714 -vn -0.1062 0.4790 0.8714 -vn 0.2814 -0.4019 0.8714 -vn -0.2814 0.4019 0.8714 -vn 0.4138 -0.2636 0.8714 -vn -0.4138 0.2636 0.8714 -vn 0.4831 -0.0852 0.8714 -vn -0.4831 0.0852 0.8714 -vn -0.0218 0.9995 -0.0240 -vn -0.0008 0.0383 0.9993 -vn 0.0008 -0.0357 -0.9994 -vn 0.9999 0.0110 -0.0130 -vn 0.9999 0.0108 -0.0132 -vn 0.9999 0.0113 -0.0129 -vn 0.3128 0.9471 -0.0715 -vn -0.9998 -0.0124 -0.0154 -vn -0.3361 0.9391 -0.0717 -vn 0.9999 0.0105 -0.0133 -vt 0.524803 0.666220 -s 1 -f 1098/1158/535 1146/1158/536 1145/1158/535 -f 1100/1158/536 1147/1158/537 1146/1158/536 -f 1102/1158/537 1148/1158/538 1147/1158/537 -f 1104/1158/539 1149/1158/540 1148/1158/538 -f 1106/1158/540 1150/1158/541 1149/1158/540 -f 1108/1158/541 1151/1158/542 1150/1158/541 -f 1151/1158/542 1112/1158/543 1152/1158/543 -f 1112/1158/544 1153/1158/545 1152/1158/546 -f 1154/1158/547 1180/1158/548 1116/1158/549 -f 1154/1158/550 1118/1158/551 1155/1158/552 -f 1155/1158/553 1120/1158/554 1156/1158/555 -f 1120/1158/554 1157/1158/556 1156/1158/555 -f 1157/1158/556 1124/1158/557 1158/1158/557 -f 1158/1158/557 1126/1158/558 1159/1158/558 -f 1110/1158/559 1134/1158/560 1135/1158/559 -f 1126/1158/558 1160/1158/561 1159/1158/558 -f 1128/1158/562 1145/1158/535 1160/1158/561 -f 1107/1158/563 1167/1158/564 1166/1158/563 -f 1139/1158/565 1135/1158/565 1131/1158/565 -f 1118/1158/566 1140/1158/567 1120/1158/567 -f 1128/1158/568 1130/1158/569 1098/1158/569 -f 1106/1158/570 1132/1158/571 1133/1158/570 -f 1116/1158/572 1137/1158/573 1138/1158/574 -f 1124/1158/575 1143/1158/576 1126/1158/576 -f 1102/1158/577 1129/1158/578 1131/1158/577 -f 1110/1158/559 1136/1158/579 1112/1158/580 -f 1120/1158/567 1141/1158/581 1122/1158/581 -f 1106/1158/570 1134/1158/560 1108/1158/560 -f 1118/1158/566 1138/1158/574 1139/1158/582 -f 1126/1158/576 1144/1158/568 1128/1158/568 -f 1104/1158/571 1131/1158/577 1132/1158/571 -f 1112/1158/580 1137/1158/573 1114/1158/583 -f 1100/1158/578 1130/1158/569 1129/1158/578 -f 1122/1158/581 1142/1158/575 1124/1158/575 -f 1099/1158/584 1145/1158/584 1146/1158/584 -f 1099/1158/584 1147/1158/584 1101/1158/584 -f 1101/1158/584 1148/1158/584 1103/1158/584 -f 1103/1158/584 1149/1158/584 1105/1158/584 -f 1105/1158/584 1150/1158/584 1107/1158/584 -f 1107/1158/584 1151/1158/584 1109/1158/584 -f 1111/1158/584 1151/1158/584 1152/1158/584 -f 1113/1158/584 1152/1158/584 1153/1158/585 -f 1113/1158/584 1154/1158/586 1115/1158/584 -f 1115/1158/584 1155/1158/584 1117/1158/584 -f 1117/1158/584 1156/1158/584 1119/1158/584 -f 1119/1158/584 1157/1158/584 1121/1158/584 -f 1121/1158/584 1158/1158/584 1123/1158/584 -f 1123/1158/584 1159/1158/584 1125/1158/584 -f 1127/1158/584 1159/1158/584 1160/1158/584 -f 1097/1158/584 1160/1158/584 1145/1158/584 -f 1168/1158/584 1172/1158/584 1176/1158/584 -f 1125/1158/587 1174/1158/588 1123/1158/588 -f 1109/1158/564 1168/1158/589 1167/1158/564 -f 1127/1158/590 1175/1158/587 1125/1158/587 -f 1113/1158/591 1168/1158/589 1111/1158/589 -f 1097/1158/592 1162/1158/593 1161/1158/592 -f 1097/1158/592 1176/1158/590 1127/1158/590 -f 1113/1158/591 1170/1158/594 1169/1158/591 -f 1099/1158/593 1163/1158/595 1162/1158/593 -f 1117/1158/596 1170/1158/594 1115/1158/594 -f 1101/1158/595 1164/1158/597 1163/1158/595 -f 1119/1158/598 1171/1158/596 1117/1158/596 -f 1105/1158/599 1164/1158/597 1103/1158/597 -f 1121/1158/600 1172/1158/598 1119/1158/598 -f 1107/1158/563 1165/1158/599 1105/1158/599 -f 1121/1158/600 1174/1158/588 1173/1158/600 -f 1178/1158/601 1180/1158/601 1179/1158/601 -f 1153/1158/585 1179/1158/602 1154/1158/586 -f 1114/1158/603 1180/1158/603 1177/1158/603 -f 1153/1158/604 1177/1158/605 1178/1158/606 -f 1098/1158/535 1100/1158/536 1146/1158/536 -f 1100/1158/536 1102/1158/537 1147/1158/537 -f 1102/1158/537 1104/1158/539 1148/1158/538 -f 1104/1158/539 1106/1158/540 1149/1158/540 -f 1106/1158/540 1108/1158/541 1150/1158/541 -f 1108/1158/541 1110/1158/542 1151/1158/542 -f 1151/1158/542 1110/1158/542 1112/1158/543 -f 1112/1158/544 1114/1158/607 1153/1158/545 -f 1154/1158/547 1179/1158/608 1180/1158/548 -f 1154/1158/550 1116/1158/609 1118/1158/551 -f 1155/1158/553 1118/1158/553 1120/1158/554 -f 1120/1158/554 1122/1158/556 1157/1158/556 -f 1157/1158/556 1122/1158/556 1124/1158/557 -f 1158/1158/557 1124/1158/557 1126/1158/558 -f 1110/1158/559 1108/1158/560 1134/1158/560 -f 1126/1158/558 1128/1158/562 1160/1158/561 -f 1128/1158/562 1098/1158/535 1145/1158/535 -f 1107/1158/563 1109/1158/564 1167/1158/564 -f 1131/1158/565 1129/1158/565 1130/1158/565 -f 1130/1158/565 1144/1158/565 1143/1158/565 -f 1143/1158/565 1142/1158/565 1141/1158/565 -f 1141/1158/565 1140/1158/565 1139/1158/565 -f 1139/1158/565 1138/1158/565 1137/1158/565 -f 1137/1158/565 1136/1158/565 1135/1158/565 -f 1135/1158/565 1134/1158/565 1133/1158/565 -f 1133/1158/565 1132/1158/565 1131/1158/565 -f 1131/1158/565 1130/1158/565 1143/1158/565 -f 1143/1158/565 1141/1158/565 1139/1158/565 -f 1139/1158/565 1137/1158/565 1135/1158/565 -f 1135/1158/565 1133/1158/565 1131/1158/565 -f 1131/1158/565 1143/1158/565 1139/1158/565 -f 1118/1158/566 1139/1158/582 1140/1158/567 -f 1128/1158/568 1144/1158/568 1130/1158/569 -f 1106/1158/570 1104/1158/571 1132/1158/571 -f 1116/1158/572 1114/1158/583 1137/1158/573 -f 1124/1158/575 1142/1158/575 1143/1158/576 -f 1102/1158/577 1100/1158/578 1129/1158/578 -f 1110/1158/559 1135/1158/559 1136/1158/579 -f 1120/1158/567 1140/1158/567 1141/1158/581 -f 1106/1158/570 1133/1158/570 1134/1158/560 -f 1118/1158/566 1116/1158/572 1138/1158/574 -f 1126/1158/576 1143/1158/576 1144/1158/568 -f 1104/1158/571 1102/1158/577 1131/1158/577 -f 1112/1158/580 1136/1158/579 1137/1158/573 -f 1100/1158/578 1098/1158/569 1130/1158/569 -f 1122/1158/581 1141/1158/581 1142/1158/575 -f 1099/1158/584 1097/1158/584 1145/1158/584 -f 1099/1158/584 1146/1158/584 1147/1158/584 -f 1101/1158/584 1147/1158/584 1148/1158/584 -f 1103/1158/584 1148/1158/584 1149/1158/584 -f 1105/1158/584 1149/1158/584 1150/1158/584 -f 1107/1158/584 1150/1158/584 1151/1158/584 -f 1111/1158/584 1109/1158/584 1151/1158/584 -f 1113/1158/584 1111/1158/584 1152/1158/584 -f 1113/1158/584 1153/1158/585 1154/1158/586 -f 1115/1158/584 1154/1158/586 1155/1158/584 -f 1117/1158/584 1155/1158/584 1156/1158/584 -f 1119/1158/584 1156/1158/584 1157/1158/584 -f 1121/1158/584 1157/1158/584 1158/1158/584 -f 1123/1158/584 1158/1158/584 1159/1158/584 -f 1127/1158/584 1125/1158/584 1159/1158/584 -f 1097/1158/584 1127/1158/584 1160/1158/584 -f 1176/1158/584 1161/1158/584 1162/1158/584 -f 1162/1158/584 1163/1158/584 1164/1158/584 -f 1164/1158/584 1165/1158/584 1166/1158/584 -f 1166/1158/584 1167/1158/584 1168/1158/584 -f 1168/1158/584 1169/1158/584 1170/1158/584 -f 1170/1158/584 1171/1158/584 1172/1158/584 -f 1172/1158/584 1173/1158/584 1174/1158/584 -f 1174/1158/584 1175/1158/584 1176/1158/584 -f 1176/1158/584 1162/1158/584 1164/1158/584 -f 1164/1158/584 1166/1158/584 1168/1158/584 -f 1168/1158/584 1170/1158/584 1172/1158/584 -f 1172/1158/584 1174/1158/584 1176/1158/584 -f 1176/1158/584 1164/1158/584 1168/1158/584 -f 1125/1158/587 1175/1158/587 1174/1158/588 -f 1109/1158/564 1111/1158/589 1168/1158/589 -f 1127/1158/590 1176/1158/590 1175/1158/587 -f 1113/1158/591 1169/1158/591 1168/1158/589 -f 1097/1158/592 1099/1158/593 1162/1158/593 -f 1097/1158/592 1161/1158/592 1176/1158/590 -f 1113/1158/591 1115/1158/594 1170/1158/594 -f 1099/1158/593 1101/1158/595 1163/1158/595 -f 1117/1158/596 1171/1158/596 1170/1158/594 -f 1101/1158/595 1103/1158/597 1164/1158/597 -f 1119/1158/598 1172/1158/598 1171/1158/596 -f 1105/1158/599 1165/1158/599 1164/1158/597 -f 1121/1158/600 1173/1158/600 1172/1158/598 -f 1107/1158/563 1166/1158/563 1165/1158/599 -f 1121/1158/600 1123/1158/588 1174/1158/588 -f 1178/1158/601 1177/1158/601 1180/1158/601 -f 1153/1158/585 1178/1158/602 1179/1158/602 -f 1114/1158/603 1116/1158/603 1180/1158/603 -f 1153/1158/604 1114/1158/610 1177/1158/605 diff --git a/src/main/resources/assets/hbm/models/weapons/bio_revolver.obj b/src/main/resources/assets/hbm/models/weapons/bio_revolver.obj index 08d9f49ba..c19fd8ec5 100644 --- a/src/main/resources/assets/hbm/models/weapons/bio_revolver.obj +++ b/src/main/resources/assets/hbm/models/weapons/bio_revolver.obj @@ -384,7 +384,7 @@ vn 0.0000 0.7071 0.7071 vn 0.3827 -0.9239 0.0000 vn -0.3827 -0.9239 0.0000 vn -0.9239 0.3827 0.0000 -vn -0.9239 -0.3827 0.0000 +vn -0.3827 0.9239 0.0000 vn 0.9239 -0.3827 0.0000 vn 0.0000 -0.7071 -0.7071 vn 0.0000 -0.7071 0.7071 @@ -393,6 +393,8 @@ vn 0.0000 -0.5847 0.8112 vn 0.0000 -0.8112 0.5847 vn 0.0000 -0.4472 0.8944 vn 0.0000 -0.8944 0.4472 +vn -0.9239 -0.3827 0.0000 +vn 0.3827 0.9239 0.0000 vn 0.9239 0.3827 0.0000 s off f 2/1/1 16/2/1 4/3/1 @@ -548,11 +550,11 @@ f 82/183/15 75/175/7 74/177/15 f 121/184/30 124/185/31 123/186/31 f 122/187/30 117/188/32 118/189/32 f 123/186/31 120/190/33 119/191/33 -f 128/192/25 134/193/24 126/145/24 -f 131/194/26 133/195/34 125/196/34 -f 131/194/26 140/197/25 132/198/25 -f 130/144/23 136/199/25 128/192/25 -f 125/196/34 135/200/26 127/148/26 +f 128/192/34 134/193/24 126/145/24 +f 131/194/35 133/195/36 125/196/36 +f 140/197/25 131/194/35 132/198/25 +f 130/144/23 136/199/34 128/192/34 +f 125/196/36 135/200/26 127/148/26 f 129/142/22 137/149/22 138/143/23 f 126/145/24 134/193/24 140/146/25 f 127/148/26 135/200/26 137/149/22 @@ -575,11 +577,11 @@ f 82/183/15 83/173/7 75/175/7 f 121/184/30 122/187/30 124/185/31 f 122/187/30 121/184/30 117/188/32 f 123/186/31 124/185/31 120/190/33 -f 128/192/25 136/199/25 134/193/24 -f 131/194/26 139/203/26 133/195/34 -f 131/194/26 139/203/26 140/197/25 -f 130/144/23 138/143/23 136/199/25 -f 125/196/34 133/195/34 135/200/26 +f 128/192/34 136/199/34 134/193/24 +f 131/194/35 139/203/35 133/195/36 +f 140/197/25 139/203/35 131/194/35 +f 130/144/23 138/143/23 136/199/34 +f 125/196/36 133/195/36 135/200/26 o Latch v -0.500000 2.500400 -0.875000 v 0.500000 2.500400 -0.875000 @@ -665,54 +667,54 @@ vn 0.0000 0.0000 -1.0000 vn 0.0000 -0.9487 0.3162 vn 0.0000 0.7071 -0.7071 s off -f 158/204/35 159/205/35 157/206/35 -f 164/207/36 161/208/36 162/209/36 -f 159/205/37 162/210/37 157/206/37 -f 157/206/38 161/208/38 158/204/38 -f 158/204/39 163/211/39 160/212/39 -f 163/211/39 165/213/39 160/212/39 -f 179/214/38 171/215/38 167/216/38 -f 160/212/40 166/217/40 159/205/40 -f 164/218/37 166/217/37 168/219/37 -f 180/220/36 181/221/36 182/222/36 -f 169/223/39 165/224/39 167/216/39 -f 173/225/37 168/226/37 170/227/37 -f 171/228/36 176/229/36 172/230/36 -f 174/231/36 177/232/36 173/233/36 -f 178/234/39 181/235/39 177/232/39 -f 175/236/37 180/237/37 176/229/37 -f 177/238/38 168/226/38 173/225/38 -f 182/239/41 174/240/41 170/227/41 -f 176/229/41 169/223/41 172/241/41 -f 179/242/42 167/243/42 163/244/42 -f 165/213/43 169/223/43 180/237/43 -f 158/204/35 160/212/35 159/205/35 -f 164/207/36 163/244/36 161/208/36 -f 159/205/37 164/218/37 162/210/37 -f 157/206/38 162/209/38 161/208/38 -f 158/204/39 161/245/39 163/211/39 -f 163/211/39 167/246/39 165/213/39 -f 179/214/38 175/247/38 171/215/38 -f 160/212/40 165/213/40 166/217/40 -f 164/218/37 159/205/37 166/217/37 -f 180/220/36 179/242/36 181/221/36 -f 167/216/39 171/215/39 172/241/39 -f 172/241/39 169/223/39 167/216/39 -f 170/227/37 174/240/37 173/225/37 -f 168/226/37 166/248/37 170/227/37 -f 171/228/36 175/236/36 176/229/36 -f 174/231/36 178/234/36 177/232/36 -f 178/234/39 182/239/39 181/235/39 -f 175/236/37 179/249/37 180/237/37 -f 177/238/38 181/250/38 168/226/38 -f 182/239/41 178/234/41 174/240/41 -f 176/229/41 180/237/41 169/223/41 -f 163/244/42 164/207/42 181/221/42 -f 164/207/42 168/251/42 181/221/42 -f 181/221/42 179/242/42 163/244/42 -f 180/237/43 182/239/43 165/213/43 -f 182/239/43 170/227/43 166/217/43 -f 165/213/43 182/239/43 166/217/43 +f 158/204/37 159/205/37 157/206/37 +f 164/207/38 161/208/38 162/209/38 +f 159/205/39 162/210/39 157/206/39 +f 157/206/40 161/208/40 158/204/40 +f 158/204/41 163/211/41 160/212/41 +f 163/211/41 165/213/41 160/212/41 +f 179/214/40 171/215/40 167/216/40 +f 160/212/42 166/217/42 159/205/42 +f 164/218/39 166/217/39 168/219/39 +f 180/220/38 181/221/38 182/222/38 +f 169/223/41 165/224/41 167/216/41 +f 173/225/39 168/226/39 170/227/39 +f 171/228/38 176/229/38 172/230/38 +f 174/231/38 177/232/38 173/233/38 +f 178/234/41 181/235/41 177/232/41 +f 175/236/39 180/237/39 176/229/39 +f 177/238/40 168/226/40 173/225/40 +f 182/239/43 174/240/43 170/227/43 +f 176/229/43 169/223/43 172/241/43 +f 179/242/44 167/243/44 163/244/44 +f 165/213/45 169/223/45 180/237/45 +f 158/204/37 160/212/37 159/205/37 +f 164/207/38 163/244/38 161/208/38 +f 159/205/39 164/218/39 162/210/39 +f 157/206/40 162/209/40 161/208/40 +f 158/204/41 161/245/41 163/211/41 +f 163/211/41 167/246/41 165/213/41 +f 179/214/40 175/247/40 171/215/40 +f 160/212/42 165/213/42 166/217/42 +f 164/218/39 159/205/39 166/217/39 +f 180/220/38 179/242/38 181/221/38 +f 167/216/41 171/215/41 172/241/41 +f 172/241/41 169/223/41 167/216/41 +f 170/227/39 174/240/39 173/225/39 +f 168/226/39 166/248/39 170/227/39 +f 171/228/38 175/236/38 176/229/38 +f 174/231/38 178/234/38 177/232/38 +f 178/234/41 182/239/41 181/235/41 +f 175/236/39 179/249/39 180/237/39 +f 177/238/40 181/250/40 168/226/40 +f 182/239/43 178/234/43 174/240/43 +f 176/229/43 180/237/43 169/223/43 +f 163/244/44 164/207/44 181/221/44 +f 164/207/44 168/251/44 181/221/44 +f 181/221/44 179/242/44 163/244/44 +f 180/237/45 182/239/45 165/213/45 +f 182/239/45 170/227/45 166/217/45 +f 165/213/45 182/239/45 166/217/45 o Hammer v 0.125000 1.750400 -4.125000 v -0.125000 1.750400 -4.125000 @@ -788,42 +790,42 @@ vn 1.0000 0.0000 0.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 1.0000 s off -f 185/252/44 184/253/44 183/254/44 -f 187/255/45 186/256/45 185/252/45 -f 189/257/46 188/258/46 187/259/46 -f 191/260/47 190/261/47 189/262/47 -f 193/263/48 192/264/48 191/260/48 -f 203/265/49 184/266/49 186/267/49 -f 190/268/49 194/269/49 188/270/49 -f 206/271/50 187/259/50 185/272/50 -f 206/271/51 194/273/51 193/263/51 -f 202/274/49 196/275/49 198/276/49 -f 201/277/47 198/276/47 197/278/47 -f 199/279/50 197/278/50 195/280/50 -f 196/275/52 199/281/52 195/282/52 -f 205/283/52 204/284/52 203/265/52 -f 184/253/46 204/284/46 183/254/46 -f 193/263/50 191/285/50 189/257/50 -f 185/252/44 186/256/44 184/253/44 -f 187/255/45 188/286/45 186/256/45 -f 189/257/46 190/287/46 188/258/46 -f 191/260/47 192/264/47 190/261/47 -f 193/263/48 194/273/48 192/264/48 -f 186/267/49 188/270/49 205/283/49 -f 205/283/49 203/265/49 186/267/49 -f 192/288/49 194/269/49 190/268/49 -f 194/269/49 205/283/49 188/270/49 -f 185/272/50 183/289/50 204/284/50 -f 204/284/50 206/271/50 185/272/50 -f 206/271/51 205/290/51 194/273/51 -f 202/274/49 200/291/49 196/275/49 -f 201/277/47 202/274/47 198/276/47 -f 199/279/50 201/277/50 197/278/50 -f 196/275/52 200/291/52 199/281/52 -f 205/283/52 206/271/52 204/284/52 -f 184/253/46 203/265/46 204/284/46 -f 189/257/50 187/259/50 193/263/50 -f 187/259/50 206/271/50 193/263/50 +f 185/252/46 184/253/46 183/254/46 +f 187/255/47 186/256/47 185/252/47 +f 189/257/48 188/258/48 187/259/48 +f 191/260/49 190/261/49 189/262/49 +f 193/263/50 192/264/50 191/260/50 +f 203/265/51 184/266/51 186/267/51 +f 190/268/51 194/269/51 188/270/51 +f 206/271/52 187/259/52 185/272/52 +f 206/271/53 194/273/53 193/263/53 +f 202/274/51 196/275/51 198/276/51 +f 201/277/49 198/276/49 197/278/49 +f 199/279/52 197/278/52 195/280/52 +f 196/275/54 199/281/54 195/282/54 +f 205/283/54 204/284/54 203/265/54 +f 184/253/48 204/284/48 183/254/48 +f 193/263/52 191/285/52 189/257/52 +f 185/252/46 186/256/46 184/253/46 +f 187/255/47 188/286/47 186/256/47 +f 189/257/48 190/287/48 188/258/48 +f 191/260/49 192/264/49 190/261/49 +f 193/263/50 194/273/50 192/264/50 +f 186/267/51 188/270/51 205/283/51 +f 205/283/51 203/265/51 186/267/51 +f 192/288/51 194/269/51 190/268/51 +f 194/269/51 205/283/51 188/270/51 +f 185/272/52 183/289/52 204/284/52 +f 204/284/52 206/271/52 185/272/52 +f 206/271/53 205/290/53 194/273/53 +f 202/274/51 200/291/51 196/275/51 +f 201/277/49 202/274/49 198/276/49 +f 199/279/52 201/277/52 197/278/52 +f 196/275/54 200/291/54 199/281/54 +f 205/283/54 206/271/54 204/284/54 +f 184/253/48 203/265/48 204/284/48 +f 189/257/52 187/259/52 193/263/52 +f 187/259/52 206/271/52 193/263/52 o Drum v 0.000000 2.250000 -0.875000 v -0.625000 2.082532 -0.875000 @@ -1538,339 +1540,339 @@ vn 0.2588 -0.9659 0.0000 vn -0.9659 -0.2588 0.0000 vn -0.2588 0.9659 0.0000 s off -f 245/292/53 274/293/53 244/294/53 -f 244/294/53 275/295/53 243/296/53 -f 246/297/53 273/298/53 245/292/53 -f 241/299/53 326/300/53 240/301/53 -f 324/302/53 241/299/53 242/303/53 -f 323/304/53 242/303/53 243/296/53 -f 294/305/53 321/306/53 293/307/53 -f 293/307/53 322/308/53 292/309/53 -f 322/308/53 291/310/53 292/309/53 -f 288/311/53 261/312/53 262/313/53 -f 289/314/53 260/315/53 261/312/53 -f 290/316/53 259/317/53 260/315/53 -f 278/318/53 305/319/53 277/320/53 -f 257/321/53 310/322/53 256/323/53 -f 258/324/53 309/325/53 257/321/53 -f 259/317/53 308/326/53 258/324/53 -f 277/320/53 306/327/53 276/328/53 -f 306/327/53 275/295/53 276/328/53 -f 275/295/53 259/317/53 323/304/53 -f 230/329/53 272/330/53 246/297/53 -f 220/331/53 240/301/53 326/300/53 -f 222/332/53 320/333/53 294/305/53 -f 224/334/53 288/311/53 262/313/53 -f 226/335/53 256/323/53 310/322/53 -f 228/336/53 304/337/53 278/318/53 -f 233/338/54 318/339/54 317/340/54 -f 238/341/54 265/342/54 264/343/54 -f 270/344/54 297/345/54 296/346/54 -f 249/347/54 302/348/54 301/349/54 -f 253/350/54 280/351/54 254/352/54 -f 286/353/54 313/354/54 312/355/54 -f 284/356/54 313/354/54 285/357/54 -f 283/358/54 314/359/54 284/356/54 -f 233/338/54 316/360/54 234/361/54 -f 234/361/54 315/362/54 235/363/54 -f 237/364/54 266/365/54 265/342/54 -f 236/366/54 267/367/54 266/365/54 -f 269/368/54 298/369/54 297/345/54 -f 267/367/54 298/369/54 268/370/54 -f 250/371/54 301/349/54 300/372/54 -f 251/373/54 300/372/54 299/374/54 -f 252/375/54 281/376/54 253/350/54 -f 251/373/54 282/377/54 252/375/54 -f 251/373/54 267/367/54 315/362/54 -f 208/378/54 318/339/54 232/379/54 -f 218/380/54 238/341/54 264/343/54 -f 216/381/54 270/344/54 296/346/54 -f 214/382/54 302/348/54 248/383/54 -f 212/384/54 254/352/54 280/351/54 -f 210/385/54 286/353/54 312/355/54 -f 333/386/53 331/387/53 329/388/53 -f 341/389/53 339/390/53 337/391/53 -f 349/392/53 347/393/53 345/394/53 -f 357/395/53 355/396/53 353/397/53 -f 365/398/53 363/399/53 361/400/53 -f 373/401/53 371/402/53 369/403/53 -f 379/404/54 381/405/54 375/406/54 -f 387/407/54 389/408/54 383/409/54 -f 393/410/54 395/411/54 397/412/54 -f 403/413/54 405/414/54 399/415/54 -f 409/416/54 411/417/54 413/418/54 -f 417/419/54 419/420/54 421/421/54 -f 245/292/53 273/298/53 274/293/53 -f 244/294/53 274/293/53 275/295/53 -f 246/297/53 272/330/53 273/298/53 -f 241/299/53 325/422/53 326/300/53 -f 324/302/53 325/422/53 241/299/53 -f 323/304/53 324/302/53 242/303/53 -f 294/305/53 320/333/53 321/306/53 -f 293/307/53 321/306/53 322/308/53 -f 322/308/53 323/304/53 291/310/53 -f 288/311/53 289/314/53 261/312/53 -f 289/314/53 290/316/53 260/315/53 -f 290/316/53 291/310/53 259/317/53 -f 278/318/53 304/337/53 305/319/53 -f 257/321/53 309/325/53 310/322/53 -f 258/324/53 308/326/53 309/325/53 -f 259/317/53 307/423/53 308/326/53 -f 277/320/53 305/319/53 306/327/53 -f 306/327/53 307/423/53 275/295/53 -f 323/304/53 243/296/53 275/295/53 -f 275/295/53 307/423/53 259/317/53 -f 259/317/53 291/310/53 323/304/53 -f 230/329/53 229/424/53 272/330/53 -f 229/424/53 271/425/53 272/330/53 -f 239/426/53 219/427/53 246/297/53 -f 219/427/53 230/329/53 246/297/53 -f 220/331/53 219/427/53 240/301/53 -f 219/427/53 239/426/53 240/301/53 -f 319/428/53 221/429/53 326/300/53 -f 221/429/53 220/331/53 326/300/53 -f 222/332/53 221/429/53 320/333/53 -f 221/429/53 319/428/53 320/333/53 -f 287/430/53 223/431/53 294/305/53 -f 223/431/53 222/332/53 294/305/53 -f 224/334/53 223/431/53 288/311/53 -f 223/431/53 287/430/53 288/311/53 -f 255/432/53 225/433/53 262/313/53 -f 225/433/53 224/334/53 262/313/53 -f 226/335/53 225/433/53 256/323/53 -f 225/433/53 255/432/53 256/323/53 -f 303/434/53 227/435/53 310/322/53 -f 227/435/53 226/335/53 310/322/53 -f 228/336/53 227/435/53 304/337/53 -f 227/435/53 303/434/53 304/337/53 -f 271/425/53 229/424/53 278/318/53 -f 229/424/53 228/336/53 278/318/53 -f 233/338/54 232/379/54 318/339/54 -f 238/341/54 237/364/54 265/342/54 -f 270/344/54 269/368/54 297/345/54 -f 249/347/54 248/383/54 302/348/54 -f 253/350/54 281/376/54 280/351/54 -f 286/353/54 285/357/54 313/354/54 -f 284/356/54 314/359/54 313/354/54 -f 283/358/54 315/362/54 314/359/54 -f 233/338/54 317/340/54 316/360/54 -f 234/361/54 316/360/54 315/362/54 -f 237/364/54 236/366/54 266/365/54 -f 236/366/54 235/363/54 267/367/54 -f 269/368/54 268/370/54 298/369/54 -f 267/367/54 299/374/54 298/369/54 -f 250/371/54 249/347/54 301/349/54 -f 251/373/54 250/371/54 300/372/54 -f 252/375/54 282/377/54 281/376/54 -f 251/373/54 283/358/54 282/377/54 -f 315/362/54 283/358/54 251/373/54 -f 251/373/54 299/374/54 267/367/54 -f 267/367/54 235/363/54 315/362/54 -f 231/436/54 207/437/54 232/379/54 -f 207/437/54 208/378/54 232/379/54 -f 208/378/54 209/438/54 318/339/54 -f 209/438/54 311/439/54 318/339/54 -f 263/440/54 217/441/54 264/343/54 -f 217/441/54 218/380/54 264/343/54 -f 218/380/54 207/437/54 238/341/54 -f 207/437/54 231/436/54 238/341/54 -f 295/442/54 215/443/54 296/346/54 -f 215/443/54 216/381/54 296/346/54 -f 216/381/54 217/441/54 270/344/54 -f 217/441/54 263/440/54 270/344/54 -f 247/444/54 213/445/54 248/383/54 -f 213/445/54 214/382/54 248/383/54 -f 214/382/54 215/443/54 302/348/54 -f 215/443/54 295/442/54 302/348/54 -f 279/446/54 211/447/54 280/351/54 -f 211/447/54 212/384/54 280/351/54 -f 212/384/54 213/445/54 254/352/54 -f 213/445/54 247/444/54 254/352/54 -f 311/439/54 209/438/54 312/355/54 -f 209/438/54 210/385/54 312/355/54 -f 210/385/54 211/447/54 286/353/54 -f 211/447/54 279/446/54 286/353/54 -f 329/388/53 328/448/53 327/449/53 -f 327/449/53 334/450/53 333/386/53 -f 333/386/53 332/451/53 331/387/53 -f 331/387/53 330/452/53 329/388/53 -f 329/388/53 327/449/53 333/386/53 -f 337/391/53 336/453/53 335/454/53 -f 335/454/53 342/455/53 341/389/53 -f 341/389/53 340/456/53 339/390/53 -f 339/390/53 338/457/53 337/391/53 -f 337/391/53 335/454/53 341/389/53 -f 345/394/53 344/458/53 343/459/53 -f 343/459/53 350/460/53 345/394/53 -f 350/460/53 349/392/53 345/394/53 -f 349/392/53 348/461/53 347/393/53 -f 347/393/53 346/462/53 345/394/53 -f 353/397/53 352/463/53 351/464/53 -f 351/464/53 358/465/53 357/395/53 -f 357/395/53 356/466/53 355/396/53 -f 355/396/53 354/467/53 353/397/53 -f 353/397/53 351/464/53 357/395/53 -f 361/400/53 360/468/53 359/469/53 -f 359/469/53 366/470/53 361/400/53 -f 366/470/53 365/398/53 361/400/53 -f 365/398/53 364/471/53 363/399/53 -f 363/399/53 362/472/53 361/400/53 -f 369/403/53 368/473/53 367/474/53 -f 367/474/53 374/475/53 369/403/53 -f 374/475/53 373/401/53 369/403/53 -f 373/401/53 372/476/53 371/402/53 -f 371/402/53 370/477/53 369/403/53 -f 375/406/54 376/478/54 377/479/54 -f 377/479/54 378/480/54 379/404/54 -f 379/404/54 380/481/54 381/405/54 -f 381/405/54 382/482/54 375/406/54 -f 375/406/54 377/479/54 379/404/54 -f 383/409/54 384/483/54 385/484/54 -f 385/484/54 386/485/54 387/407/54 -f 387/407/54 388/486/54 389/408/54 -f 389/408/54 390/487/54 383/409/54 -f 383/409/54 385/484/54 387/407/54 -f 391/488/54 392/489/54 393/410/54 -f 393/410/54 394/490/54 395/411/54 -f 395/411/54 396/491/54 397/412/54 -f 397/412/54 398/492/54 391/488/54 -f 391/488/54 393/410/54 397/412/54 -f 399/415/54 400/493/54 401/494/54 -f 401/494/54 402/495/54 403/413/54 -f 403/413/54 404/496/54 405/414/54 -f 405/414/54 406/497/54 399/415/54 -f 399/415/54 401/494/54 403/413/54 -f 407/498/54 408/499/54 409/416/54 -f 409/416/54 410/500/54 411/417/54 -f 411/417/54 412/501/54 413/418/54 -f 413/418/54 414/502/54 407/498/54 -f 407/498/54 409/416/54 413/418/54 -f 415/503/54 416/504/54 417/419/54 -f 417/419/54 418/505/54 419/420/54 -f 419/420/54 420/506/54 421/421/54 -f 421/421/54 422/507/54 415/503/54 -f 415/503/54 417/419/54 421/421/54 +f 245/292/55 274/293/55 244/294/55 +f 244/294/55 275/295/55 243/296/55 +f 246/297/55 273/298/55 245/292/55 +f 241/299/55 326/300/55 240/301/55 +f 324/302/55 241/299/55 242/303/55 +f 323/304/55 242/303/55 243/296/55 +f 294/305/55 321/306/55 293/307/55 +f 293/307/55 322/308/55 292/309/55 +f 322/308/55 291/310/55 292/309/55 +f 288/311/55 261/312/55 262/313/55 +f 289/314/55 260/315/55 261/312/55 +f 290/316/55 259/317/55 260/315/55 +f 278/318/55 305/319/55 277/320/55 +f 257/321/55 310/322/55 256/323/55 +f 258/324/55 309/325/55 257/321/55 +f 259/317/55 308/326/55 258/324/55 +f 277/320/55 306/327/55 276/328/55 +f 306/327/55 275/295/55 276/328/55 +f 275/295/55 259/317/55 323/304/55 +f 230/329/55 272/330/55 246/297/55 +f 220/331/55 240/301/55 326/300/55 +f 222/332/55 320/333/55 294/305/55 +f 224/334/55 288/311/55 262/313/55 +f 226/335/55 256/323/55 310/322/55 +f 228/336/55 304/337/55 278/318/55 +f 233/338/56 318/339/56 317/340/56 +f 238/341/56 265/342/56 264/343/56 +f 270/344/56 297/345/56 296/346/56 +f 249/347/56 302/348/56 301/349/56 +f 253/350/56 280/351/56 254/352/56 +f 286/353/56 313/354/56 312/355/56 +f 284/356/56 313/354/56 285/357/56 +f 283/358/56 314/359/56 284/356/56 +f 233/338/56 316/360/56 234/361/56 +f 234/361/56 315/362/56 235/363/56 +f 237/364/56 266/365/56 265/342/56 +f 236/366/56 267/367/56 266/365/56 +f 269/368/56 298/369/56 297/345/56 +f 267/367/56 298/369/56 268/370/56 +f 250/371/56 301/349/56 300/372/56 +f 251/373/56 300/372/56 299/374/56 +f 252/375/56 281/376/56 253/350/56 +f 251/373/56 282/377/56 252/375/56 +f 251/373/56 267/367/56 315/362/56 +f 208/378/56 318/339/56 232/379/56 +f 218/380/56 238/341/56 264/343/56 +f 216/381/56 270/344/56 296/346/56 +f 214/382/56 302/348/56 248/383/56 +f 212/384/56 254/352/56 280/351/56 +f 210/385/56 286/353/56 312/355/56 +f 333/386/55 331/387/55 329/388/55 +f 341/389/55 339/390/55 337/391/55 +f 349/392/55 347/393/55 345/394/55 +f 357/395/55 355/396/55 353/397/55 +f 365/398/55 363/399/55 361/400/55 +f 373/401/55 371/402/55 369/403/55 +f 379/404/56 381/405/56 375/406/56 +f 387/407/56 389/408/56 383/409/56 +f 393/410/56 395/411/56 397/412/56 +f 403/413/56 405/414/56 399/415/56 +f 409/416/56 411/417/56 413/418/56 +f 417/419/56 419/420/56 421/421/56 +f 245/292/55 273/298/55 274/293/55 +f 244/294/55 274/293/55 275/295/55 +f 246/297/55 272/330/55 273/298/55 +f 241/299/55 325/422/55 326/300/55 +f 324/302/55 325/422/55 241/299/55 +f 323/304/55 324/302/55 242/303/55 +f 294/305/55 320/333/55 321/306/55 +f 293/307/55 321/306/55 322/308/55 +f 322/308/55 323/304/55 291/310/55 +f 288/311/55 289/314/55 261/312/55 +f 289/314/55 290/316/55 260/315/55 +f 290/316/55 291/310/55 259/317/55 +f 278/318/55 304/337/55 305/319/55 +f 257/321/55 309/325/55 310/322/55 +f 258/324/55 308/326/55 309/325/55 +f 259/317/55 307/423/55 308/326/55 +f 277/320/55 305/319/55 306/327/55 +f 306/327/55 307/423/55 275/295/55 +f 323/304/55 243/296/55 275/295/55 +f 275/295/55 307/423/55 259/317/55 +f 259/317/55 291/310/55 323/304/55 +f 230/329/55 229/424/55 272/330/55 +f 229/424/55 271/425/55 272/330/55 +f 239/426/55 219/427/55 246/297/55 +f 219/427/55 230/329/55 246/297/55 +f 220/331/55 219/427/55 240/301/55 +f 219/427/55 239/426/55 240/301/55 +f 319/428/55 221/429/55 326/300/55 +f 221/429/55 220/331/55 326/300/55 +f 222/332/55 221/429/55 320/333/55 +f 221/429/55 319/428/55 320/333/55 +f 287/430/55 223/431/55 294/305/55 +f 223/431/55 222/332/55 294/305/55 +f 224/334/55 223/431/55 288/311/55 +f 223/431/55 287/430/55 288/311/55 +f 255/432/55 225/433/55 262/313/55 +f 225/433/55 224/334/55 262/313/55 +f 226/335/55 225/433/55 256/323/55 +f 225/433/55 255/432/55 256/323/55 +f 303/434/55 227/435/55 310/322/55 +f 227/435/55 226/335/55 310/322/55 +f 228/336/55 227/435/55 304/337/55 +f 227/435/55 303/434/55 304/337/55 +f 271/425/55 229/424/55 278/318/55 +f 229/424/55 228/336/55 278/318/55 +f 233/338/56 232/379/56 318/339/56 +f 238/341/56 237/364/56 265/342/56 +f 270/344/56 269/368/56 297/345/56 +f 249/347/56 248/383/56 302/348/56 +f 253/350/56 281/376/56 280/351/56 +f 286/353/56 285/357/56 313/354/56 +f 284/356/56 314/359/56 313/354/56 +f 283/358/56 315/362/56 314/359/56 +f 233/338/56 317/340/56 316/360/56 +f 234/361/56 316/360/56 315/362/56 +f 237/364/56 236/366/56 266/365/56 +f 236/366/56 235/363/56 267/367/56 +f 269/368/56 268/370/56 298/369/56 +f 267/367/56 299/374/56 298/369/56 +f 250/371/56 249/347/56 301/349/56 +f 251/373/56 250/371/56 300/372/56 +f 252/375/56 282/377/56 281/376/56 +f 251/373/56 283/358/56 282/377/56 +f 315/362/56 283/358/56 251/373/56 +f 251/373/56 299/374/56 267/367/56 +f 267/367/56 235/363/56 315/362/56 +f 231/436/56 207/437/56 232/379/56 +f 207/437/56 208/378/56 232/379/56 +f 208/378/56 209/438/56 318/339/56 +f 209/438/56 311/439/56 318/339/56 +f 263/440/56 217/441/56 264/343/56 +f 217/441/56 218/380/56 264/343/56 +f 218/380/56 207/437/56 238/341/56 +f 207/437/56 231/436/56 238/341/56 +f 295/442/56 215/443/56 296/346/56 +f 215/443/56 216/381/56 296/346/56 +f 216/381/56 217/441/56 270/344/56 +f 217/441/56 263/440/56 270/344/56 +f 247/444/56 213/445/56 248/383/56 +f 213/445/56 214/382/56 248/383/56 +f 214/382/56 215/443/56 302/348/56 +f 215/443/56 295/442/56 302/348/56 +f 279/446/56 211/447/56 280/351/56 +f 211/447/56 212/384/56 280/351/56 +f 212/384/56 213/445/56 254/352/56 +f 213/445/56 247/444/56 254/352/56 +f 311/439/56 209/438/56 312/355/56 +f 209/438/56 210/385/56 312/355/56 +f 210/385/56 211/447/56 286/353/56 +f 211/447/56 279/446/56 286/353/56 +f 329/388/55 328/448/55 327/449/55 +f 327/449/55 334/450/55 333/386/55 +f 333/386/55 332/451/55 331/387/55 +f 331/387/55 330/452/55 329/388/55 +f 329/388/55 327/449/55 333/386/55 +f 337/391/55 336/453/55 335/454/55 +f 335/454/55 342/455/55 341/389/55 +f 341/389/55 340/456/55 339/390/55 +f 339/390/55 338/457/55 337/391/55 +f 337/391/55 335/454/55 341/389/55 +f 345/394/55 344/458/55 343/459/55 +f 343/459/55 350/460/55 345/394/55 +f 350/460/55 349/392/55 345/394/55 +f 349/392/55 348/461/55 347/393/55 +f 347/393/55 346/462/55 345/394/55 +f 353/397/55 352/463/55 351/464/55 +f 351/464/55 358/465/55 357/395/55 +f 357/395/55 356/466/55 355/396/55 +f 355/396/55 354/467/55 353/397/55 +f 353/397/55 351/464/55 357/395/55 +f 361/400/55 360/468/55 359/469/55 +f 359/469/55 366/470/55 361/400/55 +f 366/470/55 365/398/55 361/400/55 +f 365/398/55 364/471/55 363/399/55 +f 363/399/55 362/472/55 361/400/55 +f 369/403/55 368/473/55 367/474/55 +f 367/474/55 374/475/55 369/403/55 +f 374/475/55 373/401/55 369/403/55 +f 373/401/55 372/476/55 371/402/55 +f 371/402/55 370/477/55 369/403/55 +f 375/406/56 376/478/56 377/479/56 +f 377/479/56 378/480/56 379/404/56 +f 379/404/56 380/481/56 381/405/56 +f 381/405/56 382/482/56 375/406/56 +f 375/406/56 377/479/56 379/404/56 +f 383/409/56 384/483/56 385/484/56 +f 385/484/56 386/485/56 387/407/56 +f 387/407/56 388/486/56 389/408/56 +f 389/408/56 390/487/56 383/409/56 +f 383/409/56 385/484/56 387/407/56 +f 391/488/56 392/489/56 393/410/56 +f 393/410/56 394/490/56 395/411/56 +f 395/411/56 396/491/56 397/412/56 +f 397/412/56 398/492/56 391/488/56 +f 391/488/56 393/410/56 397/412/56 +f 399/415/56 400/493/56 401/494/56 +f 401/494/56 402/495/56 403/413/56 +f 403/413/56 404/496/56 405/414/56 +f 405/414/56 406/497/56 399/415/56 +f 399/415/56 401/494/56 403/413/56 +f 407/498/56 408/499/56 409/416/56 +f 409/416/56 410/500/56 411/417/56 +f 411/417/56 412/501/56 413/418/56 +f 413/418/56 414/502/56 407/498/56 +f 407/498/56 409/416/56 413/418/56 +f 415/503/56 416/504/56 417/419/56 +f 417/419/56 418/505/56 419/420/56 +f 419/420/56 420/506/56 421/421/56 +f 421/421/56 422/507/56 415/503/56 +f 415/503/56 417/419/56 421/421/56 s 1 -f 437/508/55 426/509/56 425/510/55 -f 444/511/57 433/512/58 432/513/57 -f 441/514/59 430/515/60 429/516/59 -f 438/517/56 427/518/61 426/509/56 -f 445/519/58 434/520/62 433/512/58 -f 435/521/63 424/522/64 423/523/63 -f 442/524/60 431/525/65 430/515/60 -f 439/526/61 428/527/66 427/518/61 -f 446/528/62 423/523/63 434/520/62 -f 436/529/64 425/510/55 424/522/64 -f 443/530/65 432/513/57 431/525/65 -f 440/531/66 429/532/59 428/527/66 -f 453/533/56 460/534/67 452/535/67 -f 451/536/63 458/537/68 450/538/68 -f 449/539/57 456/540/69 448/541/69 -f 454/542/70 461/543/56 453/533/56 -f 452/535/67 459/544/63 451/545/63 -f 450/538/68 457/546/57 449/539/57 -f 448/541/69 455/547/59 447/548/59 -f 447/548/59 462/549/70 454/542/70 -f 469/550/57 476/551/69 468/552/69 -f 467/553/59 474/554/70 466/555/70 -f 465/556/56 472/557/67 464/558/67 -f 470/559/68 477/560/57 469/550/57 -f 468/552/69 475/561/59 467/562/59 -f 466/555/70 473/563/56 465/556/56 -f 464/558/67 471/564/63 463/565/63 -f 463/565/63 478/566/68 470/559/68 -f 485/567/64 492/568/71 484/569/71 -f 483/570/58 490/571/72 482/572/72 -f 481/573/60 488/574/73 480/575/73 -f 486/576/74 493/577/64 485/567/64 -f 484/569/71 491/578/58 483/579/58 -f 482/572/72 489/580/60 481/573/60 -f 480/575/73 487/581/61 479/582/61 -f 479/582/61 494/583/74 486/576/74 -f 501/584/60 508/585/73 500/586/73 -f 499/587/61 506/588/74 498/589/74 -f 497/590/64 504/591/71 496/592/71 -f 502/593/72 509/594/60 501/584/60 -f 500/586/73 507/595/61 499/596/61 -f 498/589/74 505/597/64 497/590/64 -f 496/592/71 503/598/58 495/599/58 -f 495/599/58 510/600/72 502/593/72 -f 517/601/62 524/602/75 516/603/75 -f 515/604/65 522/605/76 514/606/76 -f 513/607/66 520/608/77 512/609/77 -f 518/610/78 525/611/62 517/601/62 -f 516/603/75 523/612/65 515/613/65 -f 514/606/76 521/614/66 513/607/66 -f 512/609/77 519/615/55 511/616/55 -f 511/616/55 526/617/78 518/610/78 -f 533/618/66 540/619/77 532/620/77 -f 531/621/55 538/622/78 530/623/78 -f 529/624/62 536/625/75 528/626/75 -f 534/627/76 541/628/66 533/618/66 -f 532/620/77 539/629/55 531/630/55 -f 530/623/78 537/631/62 529/624/62 -f 528/626/75 535/632/65 527/633/65 -f 527/633/65 542/634/76 534/627/76 -f 437/508/55 438/517/56 426/509/56 -f 444/511/57 445/519/58 433/512/58 -f 441/514/59 442/524/60 430/515/60 -f 438/517/56 439/526/61 427/518/61 -f 445/519/58 446/528/62 434/520/62 -f 435/521/63 436/529/64 424/522/64 -f 442/524/60 443/530/65 431/525/65 -f 439/526/61 440/531/66 428/527/66 -f 446/528/62 435/521/63 423/523/63 -f 436/529/64 437/508/55 425/510/55 -f 443/530/65 444/511/57 432/513/57 -f 440/531/66 441/635/59 429/532/59 -f 453/533/56 461/543/56 460/534/67 -f 451/536/63 459/636/63 458/537/68 -f 449/539/57 457/546/57 456/540/69 -f 454/542/70 462/549/70 461/543/56 -f 452/535/67 460/534/67 459/544/63 -f 450/538/68 458/537/68 457/546/57 -f 448/541/69 456/540/69 455/547/59 -f 447/548/59 455/547/59 462/549/70 -f 469/550/57 477/560/57 476/551/69 -f 467/553/59 475/637/59 474/554/70 -f 465/556/56 473/563/56 472/557/67 -f 470/559/68 478/566/68 477/560/57 -f 468/552/69 476/551/69 475/561/59 -f 466/555/70 474/554/70 473/563/56 -f 464/558/67 472/557/67 471/564/63 -f 463/565/63 471/564/63 478/566/68 -f 485/567/64 493/577/64 492/568/71 -f 483/570/58 491/638/58 490/571/72 -f 481/573/60 489/580/60 488/574/73 -f 486/576/74 494/583/74 493/577/64 -f 484/569/71 492/568/71 491/578/58 -f 482/572/72 490/571/72 489/580/60 -f 480/575/73 488/574/73 487/581/61 -f 479/582/61 487/581/61 494/583/74 -f 501/584/60 509/594/60 508/585/73 -f 499/587/61 507/639/61 506/588/74 -f 497/590/64 505/597/64 504/591/71 -f 502/593/72 510/600/72 509/594/60 -f 500/586/73 508/585/73 507/595/61 -f 498/589/74 506/588/74 505/597/64 -f 496/592/71 504/591/71 503/598/58 -f 495/599/58 503/598/58 510/600/72 -f 517/601/62 525/611/62 524/602/75 -f 515/604/65 523/640/65 522/605/76 -f 513/607/66 521/614/66 520/608/77 -f 518/610/78 526/617/78 525/611/62 -f 516/603/75 524/602/75 523/612/65 -f 514/606/76 522/605/76 521/614/66 -f 512/609/77 520/608/77 519/615/55 -f 511/616/55 519/615/55 526/617/78 -f 533/618/66 541/628/66 540/619/77 -f 531/621/55 539/641/55 538/622/78 -f 529/624/62 537/631/62 536/625/75 -f 534/627/76 542/634/76 541/628/66 -f 532/620/77 540/619/77 539/629/55 -f 530/623/78 538/622/78 537/631/62 -f 528/626/75 536/625/75 535/632/65 -f 527/633/65 535/632/65 542/634/76 +f 437/508/57 426/509/58 425/510/57 +f 444/511/59 433/512/60 432/513/59 +f 441/514/61 430/515/62 429/516/61 +f 438/517/58 427/518/63 426/509/58 +f 445/519/60 434/520/64 433/512/60 +f 435/521/65 424/522/66 423/523/65 +f 442/524/62 431/525/67 430/515/62 +f 439/526/63 428/527/68 427/518/63 +f 446/528/64 423/523/65 434/520/64 +f 436/529/66 425/510/57 424/522/66 +f 443/530/67 432/513/59 431/525/67 +f 440/531/68 429/532/61 428/527/68 +f 453/533/58 460/534/69 452/535/69 +f 451/536/65 458/537/70 450/538/70 +f 449/539/59 456/540/71 448/541/71 +f 454/542/72 461/543/58 453/533/58 +f 452/535/69 459/544/65 451/545/65 +f 450/538/70 457/546/59 449/539/59 +f 448/541/71 455/547/61 447/548/61 +f 447/548/61 462/549/72 454/542/72 +f 469/550/59 476/551/71 468/552/71 +f 467/553/61 474/554/72 466/555/72 +f 465/556/58 472/557/69 464/558/69 +f 470/559/70 477/560/59 469/550/59 +f 468/552/71 475/561/61 467/562/61 +f 466/555/72 473/563/58 465/556/58 +f 464/558/69 471/564/65 463/565/65 +f 463/565/65 478/566/70 470/559/70 +f 485/567/66 492/568/73 484/569/73 +f 483/570/60 490/571/74 482/572/74 +f 481/573/62 488/574/75 480/575/75 +f 486/576/76 493/577/66 485/567/66 +f 484/569/73 491/578/60 483/579/60 +f 482/572/74 489/580/62 481/573/62 +f 480/575/75 487/581/63 479/582/63 +f 479/582/63 494/583/76 486/576/76 +f 501/584/62 508/585/75 500/586/75 +f 499/587/63 506/588/76 498/589/76 +f 497/590/66 504/591/73 496/592/73 +f 502/593/74 509/594/62 501/584/62 +f 500/586/75 507/595/63 499/596/63 +f 498/589/76 505/597/66 497/590/66 +f 496/592/73 503/598/60 495/599/60 +f 495/599/60 510/600/74 502/593/74 +f 517/601/64 524/602/77 516/603/77 +f 515/604/67 522/605/78 514/606/78 +f 513/607/68 520/608/79 512/609/79 +f 518/610/80 525/611/64 517/601/64 +f 516/603/77 523/612/67 515/613/67 +f 514/606/78 521/614/68 513/607/68 +f 512/609/79 519/615/57 511/616/57 +f 511/616/57 526/617/80 518/610/80 +f 533/618/68 540/619/79 532/620/79 +f 531/621/57 538/622/80 530/623/80 +f 529/624/64 536/625/77 528/626/77 +f 534/627/78 541/628/68 533/618/68 +f 532/620/79 539/629/57 531/630/57 +f 530/623/80 537/631/64 529/624/64 +f 528/626/77 535/632/67 527/633/67 +f 527/633/67 542/634/78 534/627/78 +f 437/508/57 438/517/58 426/509/58 +f 444/511/59 445/519/60 433/512/60 +f 441/514/61 442/524/62 430/515/62 +f 438/517/58 439/526/63 427/518/63 +f 445/519/60 446/528/64 434/520/64 +f 435/521/65 436/529/66 424/522/66 +f 442/524/62 443/530/67 431/525/67 +f 439/526/63 440/531/68 428/527/68 +f 446/528/64 435/521/65 423/523/65 +f 436/529/66 437/508/57 425/510/57 +f 443/530/67 444/511/59 432/513/59 +f 440/531/68 441/635/61 429/532/61 +f 453/533/58 461/543/58 460/534/69 +f 451/536/65 459/636/65 458/537/70 +f 449/539/59 457/546/59 456/540/71 +f 454/542/72 462/549/72 461/543/58 +f 452/535/69 460/534/69 459/544/65 +f 450/538/70 458/537/70 457/546/59 +f 448/541/71 456/540/71 455/547/61 +f 447/548/61 455/547/61 462/549/72 +f 469/550/59 477/560/59 476/551/71 +f 467/553/61 475/637/61 474/554/72 +f 465/556/58 473/563/58 472/557/69 +f 470/559/70 478/566/70 477/560/59 +f 468/552/71 476/551/71 475/561/61 +f 466/555/72 474/554/72 473/563/58 +f 464/558/69 472/557/69 471/564/65 +f 463/565/65 471/564/65 478/566/70 +f 485/567/66 493/577/66 492/568/73 +f 483/570/60 491/638/60 490/571/74 +f 481/573/62 489/580/62 488/574/75 +f 486/576/76 494/583/76 493/577/66 +f 484/569/73 492/568/73 491/578/60 +f 482/572/74 490/571/74 489/580/62 +f 480/575/75 488/574/75 487/581/63 +f 479/582/63 487/581/63 494/583/76 +f 501/584/62 509/594/62 508/585/75 +f 499/587/63 507/639/63 506/588/76 +f 497/590/66 505/597/66 504/591/73 +f 502/593/74 510/600/74 509/594/62 +f 500/586/75 508/585/75 507/595/63 +f 498/589/76 506/588/76 505/597/66 +f 496/592/73 504/591/73 503/598/60 +f 495/599/60 503/598/60 510/600/74 +f 517/601/64 525/611/64 524/602/77 +f 515/604/67 523/640/67 522/605/78 +f 513/607/68 521/614/68 520/608/79 +f 518/610/80 526/617/80 525/611/64 +f 516/603/77 524/602/77 523/612/67 +f 514/606/78 522/605/78 521/614/68 +f 512/609/79 520/608/79 519/615/57 +f 511/616/57 519/615/57 526/617/80 +f 533/618/68 541/628/68 540/619/79 +f 531/621/57 539/641/57 538/622/80 +f 529/624/64 537/631/64 536/625/77 +f 534/627/78 542/634/78 541/628/68 +f 532/620/79 540/619/79 539/629/57 +f 530/623/80 538/622/80 537/631/64 +f 528/626/77 536/625/77 535/632/67 +f 527/633/67 535/632/67 542/634/78 o Grip v 0.000000 2.250000 -3.375000 v -0.625000 2.082532 -3.375000 @@ -2945,540 +2947,540 @@ vn 0.0000 -0.2898 -0.9571 vn 0.0000 -0.8816 -0.4718 vn 0.0000 0.1305 -0.9914 s off -f 948/642/79 946/643/79 944/644/79 -f 553/645/80 543/646/80 547/647/80 -f 582/648/81 576/649/81 574/650/81 -f 576/649/82 585/651/82 577/652/82 -f 572/653/82 582/648/82 574/650/82 -f 585/654/83 575/655/83 577/656/83 -f 575/655/82 581/657/82 573/658/82 -f 579/659/80 574/660/80 575/661/80 -f 579/662/82 586/663/82 578/664/82 -f 597/665/79 594/666/79 595/667/79 -f 607/668/81 605/669/81 601/670/81 -f 618/671/83 598/672/83 600/673/83 -f 594/666/80 602/674/80 595/667/80 -f 620/675/84 625/676/84 621/677/84 -f 597/665/85 624/678/85 596/679/85 -f 600/680/83 587/681/83 602/682/83 -f 578/664/81 590/683/81 592/684/81 -f 761/685/83 747/686/83 745/687/83 -f 763/688/83 751/689/83 747/686/83 -f 765/690/83 749/691/83 751/689/83 -f 767/692/83 753/693/83 749/691/83 -f 769/694/83 757/695/83 753/693/83 -f 771/696/83 755/697/83 757/695/83 -f 755/697/83 775/698/83 759/699/83 -f 779/700/83 775/698/83 777/701/83 -f 746/702/81 760/703/81 744/704/81 -f 774/705/81 754/706/81 758/707/81 -f 774/705/81 778/708/81 776/709/81 -f 785/710/83 783/711/83 781/712/83 -f 787/713/83 791/714/83 783/711/83 -f 789/715/83 795/716/83 791/714/83 -f 793/717/83 799/718/83 795/716/83 -f 799/718/83 801/719/83 803/720/83 -f 800/721/81 798/722/81 802/723/81 -f 796/724/81 794/725/81 798/722/81 -f 794/725/81 788/726/81 790/727/81 -f 786/728/81 790/727/81 788/726/81 -f 782/729/81 784/730/81 780/731/81 -f 809/732/79 812/733/79 808/734/79 -f 807/735/83 813/736/83 809/737/83 -f 808/738/81 810/739/81 805/740/81 -f 819/741/83 814/742/83 806/743/83 -f 816/744/81 815/745/81 818/746/81 -f 816/747/80 817/748/80 819/749/80 -f 805/740/81 815/745/81 804/750/81 -f 814/742/83 807/735/83 806/743/83 -f 579/751/83 593/752/83 591/753/83 -f 578/664/81 586/663/81 596/754/81 -f 916/755/79 919/756/79 917/757/79 -f 944/644/79 943/758/79 942/759/79 -f 942/759/79 949/760/79 948/642/79 -f 948/642/79 947/761/79 946/643/79 -f 946/643/79 945/762/79 944/644/79 -f 944/644/79 942/759/79 948/642/79 -f 543/646/80 544/763/80 545/764/80 -f 545/764/80 546/765/80 543/646/80 -f 546/765/80 547/647/80 543/646/80 -f 547/647/80 548/766/80 549/767/80 -f 549/767/80 550/768/80 551/769/80 -f 551/769/80 552/770/80 553/645/80 -f 553/645/80 554/771/80 543/646/80 -f 547/647/80 549/767/80 551/769/80 -f 551/769/80 553/645/80 547/647/80 -f 582/648/81 584/772/81 576/649/81 -f 576/649/82 584/772/82 585/651/82 -f 572/653/82 580/773/82 582/648/82 -f 585/654/83 583/774/83 575/655/83 -f 575/655/82 583/774/82 581/657/82 -f 575/661/80 573/775/80 579/659/80 -f 579/659/80 578/776/80 574/660/80 -f 578/776/80 572/777/80 574/660/80 -f 574/660/80 576/649/80 577/652/80 -f 574/660/80 577/652/80 575/661/80 -f 579/662/82 587/778/82 586/663/82 -f 597/665/79 596/679/79 594/666/79 -f 605/669/81 603/779/81 601/670/81 -f 601/670/81 586/780/81 599/781/81 -f 599/781/81 619/782/81 601/670/81 -f 619/782/81 617/783/81 601/670/81 -f 617/783/81 615/784/81 601/670/81 -f 615/784/81 613/785/81 601/670/81 -f 613/785/81 611/786/81 601/670/81 -f 611/786/81 609/787/81 601/670/81 -f 609/787/81 607/668/81 601/670/81 -f 598/672/83 587/788/83 600/673/83 -f 600/673/83 602/789/83 604/790/83 -f 604/790/83 606/791/83 600/673/83 -f 606/791/83 608/792/83 600/673/83 -f 608/792/83 610/793/83 600/673/83 -f 610/793/83 612/794/83 600/673/83 -f 612/794/83 614/795/83 600/673/83 -f 614/795/83 616/796/83 600/673/83 -f 616/796/83 618/671/83 600/673/83 -f 594/666/80 603/797/80 602/674/80 -f 620/675/84 624/678/84 625/676/84 -f 597/665/85 625/676/85 624/678/85 -f 587/681/83 579/751/83 597/798/83 -f 579/751/83 623/799/83 625/800/83 -f 597/798/83 579/751/83 625/800/83 -f 623/799/83 621/801/83 625/800/83 -f 597/798/83 595/802/83 587/681/83 -f 595/802/83 602/682/83 587/681/83 -f 580/773/81 572/653/81 592/684/81 -f 572/653/81 578/664/81 592/684/81 -f 578/664/81 622/803/81 590/683/81 -f 622/803/81 588/804/81 590/683/81 -f 761/685/83 763/688/83 747/686/83 -f 763/688/83 765/690/83 751/689/83 -f 765/690/83 767/692/83 749/691/83 -f 767/692/83 769/694/83 753/693/83 -f 769/694/83 771/696/83 757/695/83 -f 771/696/83 773/805/83 755/697/83 -f 755/697/83 773/805/83 775/698/83 -f 779/700/83 759/699/83 775/698/83 -f 746/702/81 762/806/81 760/703/81 -f 774/705/81 772/807/81 754/706/81 -f 774/705/81 758/707/81 778/708/81 -f 785/710/83 787/713/83 783/711/83 -f 787/713/83 789/715/83 791/714/83 -f 789/715/83 793/717/83 795/716/83 -f 793/717/83 797/808/83 799/718/83 -f 799/718/83 797/808/83 801/719/83 -f 800/721/81 796/724/81 798/722/81 -f 796/724/81 792/809/81 794/725/81 -f 794/725/81 792/809/81 788/726/81 -f 786/728/81 782/729/81 790/727/81 -f 782/729/81 786/728/81 784/730/81 -f 809/732/79 813/736/79 812/733/79 -f 807/735/83 811/810/83 813/736/83 -f 808/738/81 812/733/81 810/739/81 -f 819/741/83 817/748/83 814/742/83 -f 816/744/81 804/750/81 815/745/81 -f 816/747/80 818/746/80 817/748/80 -f 805/740/81 810/739/81 815/745/81 -f 814/742/83 811/810/83 807/735/83 -f 589/811/83 623/799/83 591/753/83 -f 623/799/83 579/751/83 591/753/83 -f 579/751/83 573/658/83 593/752/83 -f 573/658/83 581/657/83 593/752/83 -f 620/675/81 622/803/81 624/812/81 -f 622/803/81 578/664/81 624/812/81 -f 586/663/81 601/813/81 603/814/81 -f 603/814/81 594/815/81 586/663/81 -f 594/815/81 596/754/81 586/663/81 -f 596/754/81 624/812/81 578/664/81 -f 916/755/79 918/816/79 919/756/79 +f 948/642/81 946/643/81 944/644/81 +f 553/645/82 543/646/82 547/647/82 +f 582/648/83 576/649/83 574/650/83 +f 576/649/84 585/651/84 577/652/84 +f 572/653/84 582/648/84 574/650/84 +f 585/654/85 575/655/85 577/656/85 +f 575/655/84 581/657/84 573/658/84 +f 579/659/82 574/660/82 575/661/82 +f 579/662/84 586/663/84 578/664/84 +f 597/665/81 594/666/81 595/667/81 +f 607/668/83 605/669/83 601/670/83 +f 618/671/85 598/672/85 600/673/85 +f 594/666/82 602/674/82 595/667/82 +f 620/675/86 625/676/86 621/677/86 +f 597/665/87 624/678/87 596/679/87 +f 600/680/85 587/681/85 602/682/85 +f 578/664/83 590/683/83 592/684/83 +f 761/685/85 747/686/85 745/687/85 +f 763/688/85 751/689/85 747/686/85 +f 765/690/85 749/691/85 751/689/85 +f 767/692/85 753/693/85 749/691/85 +f 769/694/85 757/695/85 753/693/85 +f 771/696/85 755/697/85 757/695/85 +f 755/697/85 775/698/85 759/699/85 +f 779/700/85 775/698/85 777/701/85 +f 746/702/83 760/703/83 744/704/83 +f 774/705/83 754/706/83 758/707/83 +f 774/705/83 778/708/83 776/709/83 +f 785/710/85 783/711/85 781/712/85 +f 787/713/85 791/714/85 783/711/85 +f 789/715/85 795/716/85 791/714/85 +f 793/717/85 799/718/85 795/716/85 +f 799/718/85 801/719/85 803/720/85 +f 800/721/83 798/722/83 802/723/83 +f 796/724/83 794/725/83 798/722/83 +f 794/725/83 788/726/83 790/727/83 +f 786/728/83 790/727/83 788/726/83 +f 782/729/83 784/730/83 780/731/83 +f 809/732/81 812/733/81 808/734/81 +f 807/735/85 813/736/85 809/737/85 +f 808/738/83 810/739/83 805/740/83 +f 819/741/85 814/742/85 806/743/85 +f 816/744/83 815/745/83 818/746/83 +f 816/747/82 817/748/82 819/749/82 +f 805/740/83 815/745/83 804/750/83 +f 814/742/85 807/735/85 806/743/85 +f 579/751/85 593/752/85 591/753/85 +f 578/664/83 586/663/83 596/754/83 +f 916/755/81 919/756/81 917/757/81 +f 944/644/81 943/758/81 942/759/81 +f 942/759/81 949/760/81 948/642/81 +f 948/642/81 947/761/81 946/643/81 +f 946/643/81 945/762/81 944/644/81 +f 944/644/81 942/759/81 948/642/81 +f 543/646/82 544/763/82 545/764/82 +f 545/764/82 546/765/82 543/646/82 +f 546/765/82 547/647/82 543/646/82 +f 547/647/82 548/766/82 549/767/82 +f 549/767/82 550/768/82 551/769/82 +f 551/769/82 552/770/82 553/645/82 +f 553/645/82 554/771/82 543/646/82 +f 547/647/82 549/767/82 551/769/82 +f 551/769/82 553/645/82 547/647/82 +f 582/648/83 584/772/83 576/649/83 +f 576/649/84 584/772/84 585/651/84 +f 572/653/84 580/773/84 582/648/84 +f 585/654/85 583/774/85 575/655/85 +f 575/655/84 583/774/84 581/657/84 +f 575/661/82 573/775/82 579/659/82 +f 579/659/82 578/776/82 574/660/82 +f 578/776/82 572/777/82 574/660/82 +f 574/660/82 576/649/82 577/652/82 +f 574/660/82 577/652/82 575/661/82 +f 579/662/84 587/778/84 586/663/84 +f 597/665/81 596/679/81 594/666/81 +f 605/669/83 603/779/83 601/670/83 +f 601/670/83 586/780/83 599/781/83 +f 599/781/83 619/782/83 601/670/83 +f 619/782/83 617/783/83 601/670/83 +f 617/783/83 615/784/83 601/670/83 +f 615/784/83 613/785/83 601/670/83 +f 613/785/83 611/786/83 601/670/83 +f 611/786/83 609/787/83 601/670/83 +f 609/787/83 607/668/83 601/670/83 +f 598/672/85 587/788/85 600/673/85 +f 600/673/85 602/789/85 604/790/85 +f 604/790/85 606/791/85 600/673/85 +f 606/791/85 608/792/85 600/673/85 +f 608/792/85 610/793/85 600/673/85 +f 610/793/85 612/794/85 600/673/85 +f 612/794/85 614/795/85 600/673/85 +f 614/795/85 616/796/85 600/673/85 +f 616/796/85 618/671/85 600/673/85 +f 594/666/82 603/797/82 602/674/82 +f 620/675/86 624/678/86 625/676/86 +f 597/665/87 625/676/87 624/678/87 +f 587/681/85 579/751/85 597/798/85 +f 579/751/85 623/799/85 625/800/85 +f 597/798/85 579/751/85 625/800/85 +f 623/799/85 621/801/85 625/800/85 +f 597/798/85 595/802/85 587/681/85 +f 595/802/85 602/682/85 587/681/85 +f 580/773/83 572/653/83 592/684/83 +f 572/653/83 578/664/83 592/684/83 +f 578/664/83 622/803/83 590/683/83 +f 622/803/83 588/804/83 590/683/83 +f 761/685/85 763/688/85 747/686/85 +f 763/688/85 765/690/85 751/689/85 +f 765/690/85 767/692/85 749/691/85 +f 767/692/85 769/694/85 753/693/85 +f 769/694/85 771/696/85 757/695/85 +f 771/696/85 773/805/85 755/697/85 +f 755/697/85 773/805/85 775/698/85 +f 779/700/85 759/699/85 775/698/85 +f 746/702/83 762/806/83 760/703/83 +f 774/705/83 772/807/83 754/706/83 +f 774/705/83 758/707/83 778/708/83 +f 785/710/85 787/713/85 783/711/85 +f 787/713/85 789/715/85 791/714/85 +f 789/715/85 793/717/85 795/716/85 +f 793/717/85 797/808/85 799/718/85 +f 799/718/85 797/808/85 801/719/85 +f 800/721/83 796/724/83 798/722/83 +f 796/724/83 792/809/83 794/725/83 +f 794/725/83 792/809/83 788/726/83 +f 786/728/83 782/729/83 790/727/83 +f 782/729/83 786/728/83 784/730/83 +f 809/732/81 813/736/81 812/733/81 +f 807/735/85 811/810/85 813/736/85 +f 808/738/83 812/733/83 810/739/83 +f 819/741/85 817/748/85 814/742/85 +f 816/744/83 804/750/83 815/745/83 +f 816/747/82 818/746/82 817/748/82 +f 805/740/83 810/739/83 815/745/83 +f 814/742/85 811/810/85 807/735/85 +f 589/811/85 623/799/85 591/753/85 +f 623/799/85 579/751/85 591/753/85 +f 579/751/85 573/658/85 593/752/85 +f 573/658/85 581/657/85 593/752/85 +f 620/675/83 622/803/83 624/812/83 +f 622/803/83 578/664/83 624/812/83 +f 586/663/83 601/813/83 603/814/83 +f 603/814/83 594/815/83 586/663/83 +f 594/815/83 596/754/83 586/663/83 +f 596/754/83 624/812/83 578/664/83 +f 916/755/81 918/816/81 919/756/81 s 1 -f 563/817/86 556/818/87 561/819/87 -f 838/820/88 837/821/89 854/822/90 -f 832/823/91 838/820/88 854/822/90 -f 842/824/92 838/820/88 832/823/91 -f 849/825/93 838/820/88 842/824/92 -f 847/826/94 838/820/88 849/825/93 -f 839/827/95 855/828/96 838/820/88 -f 844/829/97 838/820/88 855/828/96 -f 841/830/98 838/820/88 844/829/97 -f 852/831/99 838/820/88 841/830/98 -f 846/832/100 838/820/88 852/831/99 -f 837/821/89 838/820/88 846/832/100 -f 839/827/95 838/820/88 847/826/94 -f 831/833/101 848/834/102 850/835/103 -f 840/836/104 830/837/105 829/838/106 -f 829/838/106 856/839/107 840/836/104 -f 845/840/108 828/841/109 827/842/110 -f 826/843/111 845/840/108 827/842/110 -f 825/844/112 835/845/113 826/843/111 -f 824/846/114 853/847/115 825/844/112 -f 823/848/116 834/849/117 824/846/114 -f 822/850/118 836/851/119 823/848/116 -f 821/852/120 851/853/121 822/850/118 -f 820/854/122 833/855/123 821/852/120 -f 850/835/103 820/854/122 831/833/101 -f 847/826/94 850/835/103 848/834/102 -f 840/836/104 847/826/94 848/834/102 -f 840/836/104 855/828/96 839/827/95 -f 845/840/108 855/828/96 856/839/107 -f 845/840/108 841/830/98 844/829/97 -f 835/845/113 852/831/99 841/830/98 -f 846/832/100 853/847/115 834/849/117 -f 834/849/117 837/821/89 846/832/100 -f 836/851/119 854/822/90 837/821/89 -f 851/853/121 832/823/91 854/822/90 -f 843/856/124 832/823/91 833/855/123 -f 843/856/124 849/825/93 842/824/92 -f 858/857/125 562/858/86 559/859/86 -f 859/860/125 563/817/86 565/861/125 -f 564/862/125 859/860/125 565/861/125 -f 568/863/88 569/864/88 555/865/88 -f 555/865/88 560/866/87 570/867/88 -f 560/866/87 559/859/86 562/858/86 -f 561/819/87 857/868/88 571/869/88 -f 874/870/126 877/871/84 875/872/126 -f 872/873/127 875/872/126 873/874/127 -f 870/875/128 873/874/127 871/876/128 -f 626/877/129 629/878/130 627/879/131 -f 588/880/132 627/879/131 589/881/133 -f 628/882/134 631/883/135 629/878/130 -f 630/884/136 633/885/137 631/883/135 -f 632/886/138 635/887/139 633/888/137 -f 634/889/140 637/890/141 635/891/139 -f 637/890/141 620/892/142 621/893/143 -f 622/894/144 649/895/145 588/896/132 -f 637/897/141 645/898/146 635/899/139 -f 646/900/147 639/901/148 642/902/149 -f 635/899/139 644/903/150 633/904/137 -f 631/905/135 644/903/150 643/906/151 -f 629/907/130 643/906/151 642/902/149 -f 623/908/152 640/909/153 638/910/154 -f 627/911/131 642/902/149 641/912/155 -f 623/908/152 639/901/148 621/913/143 -f 627/911/131 640/909/153 589/914/133 -f 637/897/141 639/901/148 646/900/147 -f 650/915/156 649/895/145 648/916/157 -f 636/917/158 654/918/159 655/919/160 -f 632/886/138 654/918/159 634/920/140 -f 630/884/136 653/921/161 632/886/138 -f 636/917/158 647/922/162 620/892/142 -f 628/923/134 652/924/163 630/884/136 -f 626/925/129 651/926/164 628/923/134 -f 622/894/144 647/922/162 648/916/157 -f 588/896/132 650/915/156 626/925/129 -f 667/927/165 660/928/80 659/929/165 -f 665/930/166 658/931/83 657/932/166 -f 670/933/81 663/934/167 662/935/81 -f 668/936/80 661/937/168 660/928/80 -f 666/938/83 659/929/165 658/931/83 -f 664/939/88 657/932/166 656/940/88 -f 671/941/167 656/940/88 663/934/167 -f 669/942/168 662/935/81 661/943/168 -f 672/944/79 679/945/169 673/946/170 -f 673/946/170 680/947/171 674/948/172 -f 674/948/172 681/949/173 675/950/82 -f 675/951/82 682/952/174 676/953/175 -f 682/952/174 677/954/176 676/953/175 -f 677/954/176 678/955/177 672/956/79 -f 684/957/178 679/945/169 678/958/177 -f 685/959/179 680/947/171 679/945/169 -f 680/947/171 687/960/180 681/949/173 -f 687/961/180 682/952/174 681/962/173 -f 688/963/181 683/964/182 682/952/174 -f 689/965/183 678/955/177 683/964/182 -f 690/966/88 685/959/179 684/957/178 -f 691/967/184 686/968/185 685/959/179 -f 692/969/186 687/960/180 686/968/185 -f 687/961/180 694/970/187 688/963/181 -f 688/963/181 695/971/188 689/965/183 -f 695/971/188 684/972/178 689/965/183 -f 696/973/189 691/967/184 690/966/88 -f 691/967/184 698/974/190 692/969/186 -f 692/969/186 699/975/191 693/976/80 -f 693/977/80 700/978/192 694/970/187 -f 700/978/192 695/971/188 694/970/187 -f 695/971/188 696/979/189 690/980/88 -f 696/973/189 703/981/193 697/982/194 -f 703/981/193 698/974/190 697/982/194 -f 704/983/195 699/975/191 698/974/190 -f 705/984/196 700/978/192 699/985/191 -f 706/986/197 701/987/198 700/978/192 -f 707/988/199 696/979/189 701/987/198 -f 708/989/82 703/981/193 702/990/200 -f 709/991/201 704/983/195 703/981/193 -f 710/992/202 705/993/196 704/983/195 -f 711/994/79 706/986/197 705/984/196 -f 706/986/197 713/995/203 707/988/199 -f 713/995/203 702/996/200 707/988/199 -f 708/989/82 715/997/204 709/991/201 -f 709/991/201 716/998/205 710/992/202 -f 710/992/202 717/999/177 711/1000/79 -f 711/994/79 718/1001/206 712/1002/207 -f 718/1001/206 713/995/203 712/1002/207 -f 713/995/203 714/1003/173 708/1004/82 -f 720/1005/180 715/997/204 714/1006/173 -f 721/1007/208 716/998/205 715/997/204 -f 716/998/205 723/1008/178 717/999/177 -f 723/1009/178 718/1001/206 717/1010/177 -f 724/1011/209 719/1012/210 718/1001/206 -f 725/1013/211 714/1003/173 719/1012/210 -f 726/1014/80 721/1007/208 720/1005/180 -f 727/1015/212 722/1016/213 721/1007/208 -f 728/1017/214 723/1008/178 722/1016/213 -f 723/1009/178 730/1018/215 724/1011/209 -f 724/1011/209 731/1019/216 725/1013/211 -f 731/1019/216 720/1020/180 725/1013/211 -f 732/1021/191 727/1015/212 726/1014/80 -f 727/1015/212 734/1022/217 728/1017/214 -f 734/1022/217 729/1023/88 728/1017/214 -f 729/1024/88 736/1025/218 730/1018/215 -f 736/1025/218 731/1019/216 730/1018/215 -f 731/1019/216 732/1026/191 726/1027/80 -f 732/1021/191 739/1028/219 733/1029/220 -f 739/1028/219 734/1022/217 733/1029/220 -f 740/1030/221 735/1031/189 734/1022/217 -f 735/1032/189 742/1033/222 736/1025/218 -f 742/1033/222 737/1034/223 736/1025/218 -f 743/1035/224 732/1026/191 737/1034/223 -f 672/944/79 739/1028/219 738/1036/196 -f 673/946/170 740/1030/221 739/1028/219 -f 674/948/172 741/1037/200 740/1030/221 -f 675/951/82 742/1033/222 741/1038/200 -f 742/1033/222 677/954/176 743/1035/224 -f 677/954/176 738/1039/196 743/1035/224 -f 905/1040/225 902/1041/226 903/1042/226 -f 903/1042/226 900/1043/227 901/1044/227 -f 901/1044/227 898/1045/228 899/1046/228 -f 899/1046/228 896/1047/229 897/1048/229 -f 897/1048/229 894/1049/80 895/1050/80 -f 889/1051/230 892/1052/231 888/1053/230 -f 888/1053/230 891/1054/232 889/1051/230 -f 887/1055/233 890/1056/232 886/1057/233 -f 883/1058/234 886/1057/233 882/1059/234 -f 885/1060/229 880/1061/235 881/1062/235 -f 882/1059/234 885/1060/229 883/1058/234 -f 881/1062/235 878/1063/236 879/1064/236 -f 750/1065/81 762/806/81 746/702/81 -f 766/1066/81 750/1065/81 748/1067/81 -f 768/1068/81 748/1067/81 752/1069/81 -f 756/1070/81 768/1068/81 752/1069/81 -f 754/706/81 770/1071/81 756/1070/81 -f 935/1072/173 936/1073/82 934/1074/173 -f 933/1075/180 934/1074/173 932/1076/180 -f 930/1077/80 933/1075/180 932/1076/180 -f 929/1078/191 930/1077/80 928/1079/191 -f 927/1080/196 928/1079/191 926/1081/196 -f 925/1082/237 926/1081/196 924/1083/237 -f 868/1084/238 871/876/128 869/1085/238 -f 866/1086/239 869/1085/238 867/1087/239 -f 813/736/240 810/739/241 812/733/242 -f 864/1088/243 867/1087/239 865/1089/243 -f 862/1090/244 865/1089/243 863/1091/244 -f 860/1092/245 863/1091/244 861/1093/245 -f 818/746/246 814/742/247 817/748/248 -f 811/810/249 815/745/250 810/739/241 -f 906/1094/88 909/1095/251 907/1096/88 -f 908/1097/251 911/1098/252 909/1095/251 -f 910/1099/252 913/1100/253 911/1098/252 -f 912/1101/253 915/1102/254 913/1100/253 -f 914/1103/254 917/1104/255 915/1102/254 -f 937/1105/82 938/1106/200 936/1073/82 -f 939/1107/200 940/1108/189 938/1106/200 -f 941/1109/189 922/1110/256 940/1108/189 -f 921/1111/88 923/1112/256 920/1113/88 -f 563/817/86 557/1114/86 556/818/87 -f 831/833/101 830/837/105 848/834/102 -f 840/836/104 848/834/102 830/837/105 -f 829/838/106 828/841/109 856/839/107 -f 845/840/108 856/839/107 828/841/109 -f 826/843/111 835/845/113 845/840/108 -f 825/844/112 853/847/115 835/845/113 -f 824/846/114 834/849/117 853/847/115 -f 823/848/116 836/851/119 834/849/117 -f 822/850/118 851/853/121 836/851/119 -f 821/852/120 833/855/123 851/853/121 -f 820/854/122 843/856/124 833/855/123 -f 850/835/103 843/856/124 820/854/122 -f 847/826/94 849/825/93 850/835/103 -f 840/836/104 839/827/95 847/826/94 -f 840/836/104 856/839/107 855/828/96 -f 845/840/108 844/829/97 855/828/96 -f 845/840/108 835/845/113 841/830/98 -f 835/845/113 853/847/115 852/831/99 -f 846/832/100 852/831/99 853/847/115 -f 834/849/117 836/851/119 837/821/89 -f 836/851/119 851/853/121 854/822/90 -f 851/853/121 833/855/123 832/823/91 -f 843/856/124 842/824/92 832/823/91 -f 843/856/124 850/835/103 849/825/93 -f 858/857/125 564/862/125 562/858/86 -f 859/860/125 557/1114/86 563/817/86 -f 564/862/125 858/857/125 859/860/125 -f 568/863/88 566/1115/88 567/1116/88 -f 569/864/88 571/869/88 857/868/88 -f 568/863/88 567/1116/88 569/864/88 -f 555/865/88 570/867/88 568/863/88 -f 569/864/88 857/868/88 555/865/88 -f 555/865/88 558/1117/87 560/866/87 -f 560/866/87 558/1117/87 559/859/86 -f 561/819/87 556/818/87 857/868/88 -f 874/870/126 876/1118/84 877/871/84 -f 872/873/127 874/870/126 875/872/126 -f 870/875/128 872/873/127 873/874/127 -f 626/877/129 628/882/134 629/878/130 -f 588/880/132 626/877/129 627/879/131 -f 628/882/134 630/884/136 631/883/135 -f 630/884/136 632/886/138 633/885/137 -f 632/886/138 634/920/140 635/887/139 -f 634/889/140 636/1119/158 637/890/141 -f 637/890/141 636/1119/158 620/892/142 -f 622/894/144 648/916/157 649/895/145 -f 637/897/141 646/900/147 645/898/146 -f 639/901/148 638/910/154 642/902/149 -f 638/910/154 640/909/153 641/912/155 -f 641/912/155 642/902/149 638/910/154 -f 642/902/149 643/906/151 646/900/147 -f 643/906/151 644/903/150 645/898/146 -f 646/900/147 643/906/151 645/898/146 -f 635/899/139 645/898/146 644/903/150 -f 631/905/135 633/904/137 644/903/150 -f 629/907/130 631/905/135 643/906/151 -f 623/908/152 589/914/133 640/909/153 -f 627/911/131 629/907/130 642/902/149 -f 623/908/152 638/910/154 639/901/148 -f 627/911/131 641/912/155 640/909/153 -f 637/897/141 621/913/143 639/901/148 -f 648/916/157 647/922/162 651/926/164 -f 647/922/162 655/919/160 651/926/164 -f 655/919/160 654/918/159 652/924/163 -f 654/918/159 653/921/161 652/924/163 -f 652/924/163 651/926/164 655/919/160 -f 651/926/164 650/915/156 648/916/157 -f 636/917/158 634/920/140 654/918/159 -f 632/886/138 653/921/161 654/918/159 -f 630/884/136 652/924/163 653/921/161 -f 636/917/158 655/919/160 647/922/162 -f 628/923/134 651/926/164 652/924/163 -f 626/925/129 650/915/156 651/926/164 -f 622/894/144 620/892/142 647/922/162 -f 588/896/132 649/895/145 650/915/156 -f 667/927/165 668/936/80 660/928/80 -f 665/930/166 666/938/83 658/931/83 -f 670/933/81 671/941/167 663/934/167 -f 668/936/80 669/1120/168 661/937/168 -f 666/938/83 667/927/165 659/929/165 -f 664/939/88 665/930/166 657/932/166 -f 671/941/167 664/939/88 656/940/88 -f 669/942/168 670/933/81 662/935/81 -f 672/944/79 678/958/177 679/945/169 -f 673/946/170 679/945/169 680/947/171 -f 674/948/172 680/947/171 681/949/173 -f 675/951/82 681/962/173 682/952/174 -f 682/952/174 683/964/182 677/954/176 -f 677/954/176 683/964/182 678/955/177 -f 684/957/178 685/959/179 679/945/169 -f 685/959/179 686/968/185 680/947/171 -f 680/947/171 686/968/185 687/960/180 -f 687/961/180 688/963/181 682/952/174 -f 688/963/181 689/965/183 683/964/182 -f 689/965/183 684/972/178 678/955/177 -f 690/966/88 691/967/184 685/959/179 -f 691/967/184 692/969/186 686/968/185 -f 692/969/186 693/976/80 687/960/180 -f 687/961/180 693/977/80 694/970/187 -f 688/963/181 694/970/187 695/971/188 -f 695/971/188 690/980/88 684/972/178 -f 696/973/189 697/982/194 691/967/184 -f 691/967/184 697/982/194 698/974/190 -f 692/969/186 698/974/190 699/975/191 -f 693/977/80 699/985/191 700/978/192 -f 700/978/192 701/987/198 695/971/188 -f 695/971/188 701/987/198 696/979/189 -f 696/973/189 702/990/200 703/981/193 -f 703/981/193 704/983/195 698/974/190 -f 704/983/195 705/993/196 699/975/191 -f 705/984/196 706/986/197 700/978/192 -f 706/986/197 707/988/199 701/987/198 -f 707/988/199 702/996/200 696/979/189 -f 708/989/82 709/991/201 703/981/193 -f 709/991/201 710/992/202 704/983/195 -f 710/992/202 711/1000/79 705/993/196 -f 711/994/79 712/1002/207 706/986/197 -f 706/986/197 712/1002/207 713/995/203 -f 713/995/203 708/1004/82 702/996/200 -f 708/989/82 714/1006/173 715/997/204 -f 709/991/201 715/997/204 716/998/205 -f 710/992/202 716/998/205 717/999/177 -f 711/994/79 717/1010/177 718/1001/206 -f 718/1001/206 719/1012/210 713/995/203 -f 713/995/203 719/1012/210 714/1003/173 -f 720/1005/180 721/1007/208 715/997/204 -f 721/1007/208 722/1016/213 716/998/205 -f 716/998/205 722/1016/213 723/1008/178 -f 723/1009/178 724/1011/209 718/1001/206 -f 724/1011/209 725/1013/211 719/1012/210 -f 725/1013/211 720/1020/180 714/1003/173 -f 726/1014/80 727/1015/212 721/1007/208 -f 727/1015/212 728/1017/214 722/1016/213 -f 728/1017/214 729/1023/88 723/1008/178 -f 723/1009/178 729/1024/88 730/1018/215 -f 724/1011/209 730/1018/215 731/1019/216 -f 731/1019/216 726/1027/80 720/1020/180 -f 732/1021/191 733/1029/220 727/1015/212 -f 727/1015/212 733/1029/220 734/1022/217 -f 734/1022/217 735/1031/189 729/1023/88 -f 729/1024/88 735/1032/189 736/1025/218 -f 736/1025/218 737/1034/223 731/1019/216 -f 731/1019/216 737/1034/223 732/1026/191 -f 732/1021/191 738/1036/196 739/1028/219 -f 739/1028/219 740/1030/221 734/1022/217 -f 740/1030/221 741/1037/200 735/1031/189 -f 735/1032/189 741/1038/200 742/1033/222 -f 742/1033/222 743/1035/224 737/1034/223 -f 743/1035/224 738/1039/196 732/1026/191 -f 672/944/79 673/946/170 739/1028/219 -f 673/946/170 674/948/172 740/1030/221 -f 674/948/172 675/950/82 741/1037/200 -f 675/951/82 676/953/175 742/1033/222 -f 742/1033/222 676/953/175 677/954/176 -f 677/954/176 672/956/79 738/1039/196 -f 905/1040/225 904/1121/225 902/1041/226 -f 903/1042/226 902/1041/226 900/1043/227 -f 901/1044/227 900/1043/227 898/1045/228 -f 899/1046/228 898/1045/228 896/1047/229 -f 897/1048/229 896/1047/229 894/1049/80 -f 889/1051/230 893/1122/231 892/1052/231 -f 888/1053/230 890/1056/232 891/1054/232 -f 887/1055/233 891/1054/232 890/1056/232 -f 883/1058/234 887/1055/233 886/1057/233 -f 885/1060/229 884/1123/229 880/1061/235 -f 882/1059/234 884/1123/229 885/1060/229 -f 881/1062/235 880/1061/235 878/1063/236 -f 750/1065/81 764/1124/81 762/806/81 -f 766/1066/81 764/1124/81 750/1065/81 -f 768/1068/81 766/1066/81 748/1067/81 -f 756/1070/81 770/1071/81 768/1068/81 -f 754/706/81 772/807/81 770/1071/81 -f 935/1072/173 937/1105/82 936/1073/82 -f 933/1075/180 935/1072/173 934/1074/173 -f 930/1077/80 931/1125/80 933/1075/180 -f 929/1078/191 931/1125/80 930/1077/80 -f 927/1080/196 929/1078/191 928/1079/191 -f 925/1082/237 927/1080/196 926/1081/196 -f 868/1084/238 870/875/128 871/876/128 -f 866/1086/239 868/1084/238 869/1085/238 -f 813/736/240 811/810/249 810/739/241 -f 864/1088/243 866/1086/239 867/1087/239 -f 862/1090/244 864/1088/243 865/1089/243 -f 860/1092/245 862/1090/244 863/1091/244 -f 818/746/246 815/745/250 814/742/247 -f 811/810/249 814/742/247 815/745/250 -f 906/1094/88 908/1097/251 909/1095/251 -f 908/1097/251 910/1099/252 911/1098/252 -f 910/1099/252 912/1101/253 913/1100/253 -f 912/1101/253 914/1103/254 915/1102/254 -f 914/1103/254 916/1126/255 917/1104/255 -f 937/1105/82 939/1107/200 938/1106/200 -f 939/1107/200 941/1109/189 940/1108/189 -f 941/1109/189 923/1127/256 922/1110/256 -f 921/1111/88 922/1128/256 923/1112/256 +f 563/817/88 556/818/89 561/819/89 +f 838/820/90 837/821/91 854/822/92 +f 832/823/93 838/820/90 854/822/92 +f 842/824/94 838/820/90 832/823/93 +f 849/825/95 838/820/90 842/824/94 +f 847/826/96 838/820/90 849/825/95 +f 839/827/97 855/828/98 838/820/90 +f 844/829/99 838/820/90 855/828/98 +f 841/830/100 838/820/90 844/829/99 +f 852/831/101 838/820/90 841/830/100 +f 846/832/102 838/820/90 852/831/101 +f 837/821/91 838/820/90 846/832/102 +f 839/827/97 838/820/90 847/826/96 +f 831/833/103 848/834/104 850/835/105 +f 840/836/106 830/837/107 829/838/108 +f 829/838/108 856/839/109 840/836/106 +f 845/840/110 828/841/111 827/842/112 +f 826/843/113 845/840/110 827/842/112 +f 825/844/114 835/845/115 826/843/113 +f 824/846/116 853/847/117 825/844/114 +f 823/848/118 834/849/119 824/846/116 +f 822/850/120 836/851/121 823/848/118 +f 821/852/122 851/853/123 822/850/120 +f 820/854/124 833/855/125 821/852/122 +f 850/835/105 820/854/124 831/833/103 +f 847/826/96 850/835/105 848/834/104 +f 840/836/106 847/826/96 848/834/104 +f 840/836/106 855/828/98 839/827/97 +f 845/840/110 855/828/98 856/839/109 +f 845/840/110 841/830/100 844/829/99 +f 835/845/115 852/831/101 841/830/100 +f 846/832/102 853/847/117 834/849/119 +f 834/849/119 837/821/91 846/832/102 +f 836/851/121 854/822/92 837/821/91 +f 851/853/123 832/823/93 854/822/92 +f 843/856/126 832/823/93 833/855/125 +f 843/856/126 849/825/95 842/824/94 +f 858/857/127 562/858/88 559/859/88 +f 859/860/127 563/817/88 565/861/127 +f 564/862/127 859/860/127 565/861/127 +f 568/863/90 569/864/90 555/865/90 +f 555/865/90 560/866/89 570/867/90 +f 560/866/89 559/859/88 562/858/88 +f 561/819/89 857/868/90 571/869/90 +f 874/870/128 877/871/86 875/872/128 +f 872/873/129 875/872/128 873/874/129 +f 870/875/130 873/874/129 871/876/130 +f 626/877/131 629/878/132 627/879/133 +f 588/880/134 627/879/133 589/881/135 +f 628/882/136 631/883/137 629/878/132 +f 630/884/138 633/885/139 631/883/137 +f 632/886/140 635/887/141 633/888/139 +f 634/889/142 637/890/143 635/891/141 +f 637/890/143 620/892/144 621/893/145 +f 622/894/146 649/895/147 588/896/134 +f 637/897/143 645/898/148 635/899/141 +f 646/900/149 639/901/150 642/902/151 +f 635/899/141 644/903/152 633/904/139 +f 631/905/137 644/903/152 643/906/153 +f 629/907/132 643/906/153 642/902/151 +f 623/908/154 640/909/155 638/910/156 +f 627/911/133 642/902/151 641/912/157 +f 623/908/154 639/901/150 621/913/145 +f 627/911/133 640/909/155 589/914/135 +f 637/897/143 639/901/150 646/900/149 +f 650/915/158 649/895/147 648/916/159 +f 636/917/160 654/918/161 655/919/162 +f 632/886/140 654/918/161 634/920/142 +f 630/884/138 653/921/163 632/886/140 +f 636/917/160 647/922/164 620/892/144 +f 628/923/136 652/924/165 630/884/138 +f 626/925/131 651/926/166 628/923/136 +f 622/894/146 647/922/164 648/916/159 +f 588/896/134 650/915/158 626/925/131 +f 667/927/167 660/928/82 659/929/167 +f 665/930/168 658/931/85 657/932/168 +f 670/933/83 663/934/169 662/935/83 +f 668/936/82 661/937/170 660/928/82 +f 666/938/85 659/929/167 658/931/85 +f 664/939/90 657/932/168 656/940/90 +f 671/941/169 656/940/90 663/934/169 +f 669/942/170 662/935/83 661/943/170 +f 672/944/81 679/945/171 673/946/172 +f 673/946/172 680/947/173 674/948/174 +f 674/948/174 681/949/175 675/950/84 +f 675/951/84 682/952/176 676/953/177 +f 682/952/176 677/954/178 676/953/177 +f 677/954/178 678/955/179 672/956/81 +f 684/957/180 679/945/171 678/958/179 +f 685/959/181 680/947/173 679/945/171 +f 680/947/173 687/960/182 681/949/175 +f 687/961/182 682/952/176 681/962/175 +f 688/963/183 683/964/184 682/952/176 +f 689/965/185 678/955/179 683/964/184 +f 690/966/90 685/959/181 684/957/180 +f 691/967/186 686/968/187 685/959/181 +f 692/969/188 687/960/182 686/968/187 +f 687/961/182 694/970/189 688/963/183 +f 688/963/183 695/971/190 689/965/185 +f 695/971/190 684/972/180 689/965/185 +f 696/973/191 691/967/186 690/966/90 +f 691/967/186 698/974/192 692/969/188 +f 692/969/188 699/975/193 693/976/82 +f 693/977/82 700/978/194 694/970/189 +f 700/978/194 695/971/190 694/970/189 +f 695/971/190 696/979/191 690/980/90 +f 696/973/191 703/981/195 697/982/196 +f 703/981/195 698/974/192 697/982/196 +f 704/983/197 699/975/193 698/974/192 +f 705/984/198 700/978/194 699/985/193 +f 706/986/199 701/987/200 700/978/194 +f 707/988/201 696/979/191 701/987/200 +f 708/989/84 703/981/195 702/990/202 +f 709/991/203 704/983/197 703/981/195 +f 710/992/204 705/993/198 704/983/197 +f 711/994/81 706/986/199 705/984/198 +f 706/986/199 713/995/205 707/988/201 +f 713/995/205 702/996/202 707/988/201 +f 708/989/84 715/997/206 709/991/203 +f 709/991/203 716/998/207 710/992/204 +f 710/992/204 717/999/179 711/1000/81 +f 711/994/81 718/1001/208 712/1002/209 +f 718/1001/208 713/995/205 712/1002/209 +f 713/995/205 714/1003/175 708/1004/84 +f 720/1005/182 715/997/206 714/1006/175 +f 721/1007/210 716/998/207 715/997/206 +f 716/998/207 723/1008/180 717/999/179 +f 723/1009/180 718/1001/208 717/1010/179 +f 724/1011/211 719/1012/212 718/1001/208 +f 725/1013/213 714/1003/175 719/1012/212 +f 726/1014/82 721/1007/210 720/1005/182 +f 727/1015/214 722/1016/215 721/1007/210 +f 728/1017/216 723/1008/180 722/1016/215 +f 723/1009/180 730/1018/217 724/1011/211 +f 724/1011/211 731/1019/218 725/1013/213 +f 731/1019/218 720/1020/182 725/1013/213 +f 732/1021/193 727/1015/214 726/1014/82 +f 727/1015/214 734/1022/219 728/1017/216 +f 734/1022/219 729/1023/90 728/1017/216 +f 729/1024/90 736/1025/220 730/1018/217 +f 736/1025/220 731/1019/218 730/1018/217 +f 731/1019/218 732/1026/193 726/1027/82 +f 732/1021/193 739/1028/221 733/1029/222 +f 739/1028/221 734/1022/219 733/1029/222 +f 740/1030/223 735/1031/191 734/1022/219 +f 735/1032/191 742/1033/224 736/1025/220 +f 742/1033/224 737/1034/225 736/1025/220 +f 743/1035/226 732/1026/193 737/1034/225 +f 672/944/81 739/1028/221 738/1036/198 +f 673/946/172 740/1030/223 739/1028/221 +f 674/948/174 741/1037/202 740/1030/223 +f 675/951/84 742/1033/224 741/1038/202 +f 742/1033/224 677/954/178 743/1035/226 +f 677/954/178 738/1039/198 743/1035/226 +f 905/1040/227 902/1041/228 903/1042/228 +f 903/1042/228 900/1043/229 901/1044/229 +f 901/1044/229 898/1045/230 899/1046/230 +f 899/1046/230 896/1047/231 897/1048/231 +f 897/1048/231 894/1049/82 895/1050/82 +f 889/1051/232 892/1052/233 888/1053/232 +f 888/1053/232 891/1054/234 889/1051/232 +f 887/1055/235 890/1056/234 886/1057/235 +f 883/1058/236 886/1057/235 882/1059/236 +f 885/1060/231 880/1061/237 881/1062/237 +f 882/1059/236 885/1060/231 883/1058/236 +f 881/1062/237 878/1063/238 879/1064/238 +f 750/1065/83 762/806/83 746/702/83 +f 766/1066/83 750/1065/83 748/1067/83 +f 768/1068/83 748/1067/83 752/1069/83 +f 756/1070/83 768/1068/83 752/1069/83 +f 754/706/83 770/1071/83 756/1070/83 +f 935/1072/175 936/1073/84 934/1074/175 +f 933/1075/182 934/1074/175 932/1076/182 +f 930/1077/82 933/1075/182 932/1076/182 +f 929/1078/193 930/1077/82 928/1079/193 +f 927/1080/198 928/1079/193 926/1081/198 +f 925/1082/239 926/1081/198 924/1083/239 +f 868/1084/240 871/876/130 869/1085/240 +f 866/1086/241 869/1085/240 867/1087/241 +f 813/736/242 810/739/243 812/733/244 +f 864/1088/245 867/1087/241 865/1089/245 +f 862/1090/246 865/1089/245 863/1091/246 +f 860/1092/247 863/1091/246 861/1093/247 +f 818/746/248 814/742/249 817/748/250 +f 811/810/251 815/745/252 810/739/243 +f 906/1094/90 909/1095/253 907/1096/90 +f 908/1097/253 911/1098/254 909/1095/253 +f 910/1099/254 913/1100/255 911/1098/254 +f 912/1101/255 915/1102/256 913/1100/255 +f 914/1103/256 917/1104/257 915/1102/256 +f 937/1105/84 938/1106/202 936/1073/84 +f 939/1107/202 940/1108/191 938/1106/202 +f 941/1109/191 922/1110/258 940/1108/191 +f 921/1111/90 923/1112/258 920/1113/90 +f 563/817/88 557/1114/88 556/818/89 +f 831/833/103 830/837/107 848/834/104 +f 840/836/106 848/834/104 830/837/107 +f 829/838/108 828/841/111 856/839/109 +f 845/840/110 856/839/109 828/841/111 +f 826/843/113 835/845/115 845/840/110 +f 825/844/114 853/847/117 835/845/115 +f 824/846/116 834/849/119 853/847/117 +f 823/848/118 836/851/121 834/849/119 +f 822/850/120 851/853/123 836/851/121 +f 821/852/122 833/855/125 851/853/123 +f 820/854/124 843/856/126 833/855/125 +f 850/835/105 843/856/126 820/854/124 +f 847/826/96 849/825/95 850/835/105 +f 840/836/106 839/827/97 847/826/96 +f 840/836/106 856/839/109 855/828/98 +f 845/840/110 844/829/99 855/828/98 +f 845/840/110 835/845/115 841/830/100 +f 835/845/115 853/847/117 852/831/101 +f 846/832/102 852/831/101 853/847/117 +f 834/849/119 836/851/121 837/821/91 +f 836/851/121 851/853/123 854/822/92 +f 851/853/123 833/855/125 832/823/93 +f 843/856/126 842/824/94 832/823/93 +f 843/856/126 850/835/105 849/825/95 +f 858/857/127 564/862/127 562/858/88 +f 859/860/127 557/1114/88 563/817/88 +f 564/862/127 858/857/127 859/860/127 +f 568/863/90 566/1115/90 567/1116/90 +f 569/864/90 571/869/90 857/868/90 +f 568/863/90 567/1116/90 569/864/90 +f 555/865/90 570/867/90 568/863/90 +f 569/864/90 857/868/90 555/865/90 +f 555/865/90 558/1117/89 560/866/89 +f 560/866/89 558/1117/89 559/859/88 +f 561/819/89 556/818/89 857/868/90 +f 874/870/128 876/1118/86 877/871/86 +f 872/873/129 874/870/128 875/872/128 +f 870/875/130 872/873/129 873/874/129 +f 626/877/131 628/882/136 629/878/132 +f 588/880/134 626/877/131 627/879/133 +f 628/882/136 630/884/138 631/883/137 +f 630/884/138 632/886/140 633/885/139 +f 632/886/140 634/920/142 635/887/141 +f 634/889/142 636/1119/160 637/890/143 +f 637/890/143 636/1119/160 620/892/144 +f 622/894/146 648/916/159 649/895/147 +f 637/897/143 646/900/149 645/898/148 +f 639/901/150 638/910/156 642/902/151 +f 638/910/156 640/909/155 641/912/157 +f 641/912/157 642/902/151 638/910/156 +f 642/902/151 643/906/153 646/900/149 +f 643/906/153 644/903/152 645/898/148 +f 646/900/149 643/906/153 645/898/148 +f 635/899/141 645/898/148 644/903/152 +f 631/905/137 633/904/139 644/903/152 +f 629/907/132 631/905/137 643/906/153 +f 623/908/154 589/914/135 640/909/155 +f 627/911/133 629/907/132 642/902/151 +f 623/908/154 638/910/156 639/901/150 +f 627/911/133 641/912/157 640/909/155 +f 637/897/143 621/913/145 639/901/150 +f 648/916/159 647/922/164 651/926/166 +f 647/922/164 655/919/162 651/926/166 +f 655/919/162 654/918/161 652/924/165 +f 654/918/161 653/921/163 652/924/165 +f 652/924/165 651/926/166 655/919/162 +f 651/926/166 650/915/158 648/916/159 +f 636/917/160 634/920/142 654/918/161 +f 632/886/140 653/921/163 654/918/161 +f 630/884/138 652/924/165 653/921/163 +f 636/917/160 655/919/162 647/922/164 +f 628/923/136 651/926/166 652/924/165 +f 626/925/131 650/915/158 651/926/166 +f 622/894/146 620/892/144 647/922/164 +f 588/896/134 649/895/147 650/915/158 +f 667/927/167 668/936/82 660/928/82 +f 665/930/168 666/938/85 658/931/85 +f 670/933/83 671/941/169 663/934/169 +f 668/936/82 669/1120/170 661/937/170 +f 666/938/85 667/927/167 659/929/167 +f 664/939/90 665/930/168 657/932/168 +f 671/941/169 664/939/90 656/940/90 +f 669/942/170 670/933/83 662/935/83 +f 672/944/81 678/958/179 679/945/171 +f 673/946/172 679/945/171 680/947/173 +f 674/948/174 680/947/173 681/949/175 +f 675/951/84 681/962/175 682/952/176 +f 682/952/176 683/964/184 677/954/178 +f 677/954/178 683/964/184 678/955/179 +f 684/957/180 685/959/181 679/945/171 +f 685/959/181 686/968/187 680/947/173 +f 680/947/173 686/968/187 687/960/182 +f 687/961/182 688/963/183 682/952/176 +f 688/963/183 689/965/185 683/964/184 +f 689/965/185 684/972/180 678/955/179 +f 690/966/90 691/967/186 685/959/181 +f 691/967/186 692/969/188 686/968/187 +f 692/969/188 693/976/82 687/960/182 +f 687/961/182 693/977/82 694/970/189 +f 688/963/183 694/970/189 695/971/190 +f 695/971/190 690/980/90 684/972/180 +f 696/973/191 697/982/196 691/967/186 +f 691/967/186 697/982/196 698/974/192 +f 692/969/188 698/974/192 699/975/193 +f 693/977/82 699/985/193 700/978/194 +f 700/978/194 701/987/200 695/971/190 +f 695/971/190 701/987/200 696/979/191 +f 696/973/191 702/990/202 703/981/195 +f 703/981/195 704/983/197 698/974/192 +f 704/983/197 705/993/198 699/975/193 +f 705/984/198 706/986/199 700/978/194 +f 706/986/199 707/988/201 701/987/200 +f 707/988/201 702/996/202 696/979/191 +f 708/989/84 709/991/203 703/981/195 +f 709/991/203 710/992/204 704/983/197 +f 710/992/204 711/1000/81 705/993/198 +f 711/994/81 712/1002/209 706/986/199 +f 706/986/199 712/1002/209 713/995/205 +f 713/995/205 708/1004/84 702/996/202 +f 708/989/84 714/1006/175 715/997/206 +f 709/991/203 715/997/206 716/998/207 +f 710/992/204 716/998/207 717/999/179 +f 711/994/81 717/1010/179 718/1001/208 +f 718/1001/208 719/1012/212 713/995/205 +f 713/995/205 719/1012/212 714/1003/175 +f 720/1005/182 721/1007/210 715/997/206 +f 721/1007/210 722/1016/215 716/998/207 +f 716/998/207 722/1016/215 723/1008/180 +f 723/1009/180 724/1011/211 718/1001/208 +f 724/1011/211 725/1013/213 719/1012/212 +f 725/1013/213 720/1020/182 714/1003/175 +f 726/1014/82 727/1015/214 721/1007/210 +f 727/1015/214 728/1017/216 722/1016/215 +f 728/1017/216 729/1023/90 723/1008/180 +f 723/1009/180 729/1024/90 730/1018/217 +f 724/1011/211 730/1018/217 731/1019/218 +f 731/1019/218 726/1027/82 720/1020/182 +f 732/1021/193 733/1029/222 727/1015/214 +f 727/1015/214 733/1029/222 734/1022/219 +f 734/1022/219 735/1031/191 729/1023/90 +f 729/1024/90 735/1032/191 736/1025/220 +f 736/1025/220 737/1034/225 731/1019/218 +f 731/1019/218 737/1034/225 732/1026/193 +f 732/1021/193 738/1036/198 739/1028/221 +f 739/1028/221 740/1030/223 734/1022/219 +f 740/1030/223 741/1037/202 735/1031/191 +f 735/1032/191 741/1038/202 742/1033/224 +f 742/1033/224 743/1035/226 737/1034/225 +f 743/1035/226 738/1039/198 732/1026/193 +f 672/944/81 673/946/172 739/1028/221 +f 673/946/172 674/948/174 740/1030/223 +f 674/948/174 675/950/84 741/1037/202 +f 675/951/84 676/953/177 742/1033/224 +f 742/1033/224 676/953/177 677/954/178 +f 677/954/178 672/956/81 738/1039/198 +f 905/1040/227 904/1121/227 902/1041/228 +f 903/1042/228 902/1041/228 900/1043/229 +f 901/1044/229 900/1043/229 898/1045/230 +f 899/1046/230 898/1045/230 896/1047/231 +f 897/1048/231 896/1047/231 894/1049/82 +f 889/1051/232 893/1122/233 892/1052/233 +f 888/1053/232 890/1056/234 891/1054/234 +f 887/1055/235 891/1054/234 890/1056/234 +f 883/1058/236 887/1055/235 886/1057/235 +f 885/1060/231 884/1123/231 880/1061/237 +f 882/1059/236 884/1123/231 885/1060/231 +f 881/1062/237 880/1061/237 878/1063/238 +f 750/1065/83 764/1124/83 762/806/83 +f 766/1066/83 764/1124/83 750/1065/83 +f 768/1068/83 766/1066/83 748/1067/83 +f 756/1070/83 770/1071/83 768/1068/83 +f 754/706/83 772/807/83 770/1071/83 +f 935/1072/175 937/1105/84 936/1073/84 +f 933/1075/182 935/1072/175 934/1074/175 +f 930/1077/82 931/1125/82 933/1075/182 +f 929/1078/193 931/1125/82 930/1077/82 +f 927/1080/198 929/1078/193 928/1079/193 +f 925/1082/239 927/1080/198 926/1081/198 +f 868/1084/240 870/875/130 871/876/130 +f 866/1086/241 868/1084/240 869/1085/240 +f 813/736/242 811/810/251 810/739/243 +f 864/1088/245 866/1086/241 867/1087/241 +f 862/1090/246 864/1088/245 865/1089/245 +f 860/1092/247 862/1090/246 863/1091/246 +f 818/746/248 815/745/252 814/742/249 +f 811/810/251 814/742/249 815/745/252 +f 906/1094/90 908/1097/253 909/1095/253 +f 908/1097/253 910/1099/254 911/1098/254 +f 910/1099/254 912/1101/255 913/1100/255 +f 912/1101/255 914/1103/256 915/1102/256 +f 914/1103/256 916/1126/257 917/1104/257 +f 937/1105/84 939/1107/202 938/1106/202 +f 939/1107/202 941/1109/191 940/1108/191 +f 941/1109/191 923/1127/258 922/1110/258 +f 921/1111/90 922/1128/258 923/1112/258 diff --git a/src/main/resources/assets/hbm/models/weapons/c130.obj b/src/main/resources/assets/hbm/models/weapons/c130.obj new file mode 100644 index 000000000..062ea4ab5 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/c130.obj @@ -0,0 +1,3946 @@ +# Blender v2.79 (sub 0) OBJ File: 'c130.blend' +# www.blender.org +o Prop4 +v 8.876309 4.210099 19.990316 +v 9.975476 4.210099 20.539900 +v 8.876309 3.821485 20.151285 +v 8.876309 3.660516 20.539900 +v 8.876309 3.821485 20.928514 +v 8.876309 4.210099 21.089483 +v 8.876309 4.598713 20.928514 +v 8.876309 4.759683 20.539900 +v 8.876309 4.598713 20.151285 +v 9.092196 4.022467 23.179798 +v 9.092196 4.397732 23.179798 +v 9.092196 4.397732 20.800001 +v 9.092196 4.022467 20.800001 +v 9.259592 4.022467 20.800001 +v 9.259592 4.397732 20.800001 +v 9.259592 4.397732 23.179798 +v 9.259592 4.022467 23.179798 +v 9.092196 4.022467 20.279799 +v 9.092196 4.397732 20.279799 +v 9.092196 4.397732 17.900002 +v 9.092196 4.022467 17.900002 +v 9.259590 4.397732 17.900002 +v 9.259590 4.022467 17.900002 +v 9.259590 4.397732 20.279799 +v 9.259590 4.022467 20.279799 +v 9.092196 1.570201 20.352268 +v 9.092196 1.570201 20.727533 +v 9.092196 3.949998 20.727533 +v 9.092196 3.949998 20.352268 +v 9.259590 3.949998 20.352268 +v 9.259590 3.949998 20.727533 +v 9.259590 1.570201 20.727533 +v 9.259590 1.570201 20.352268 +v 9.092196 4.470201 20.352268 +v 9.092196 4.470201 20.727533 +v 9.092196 6.849997 20.727533 +v 9.092196 6.849997 20.352268 +v 9.259590 6.849997 20.727533 +v 9.259590 6.849997 20.352268 +v 9.259590 4.470201 20.727533 +v 9.259590 4.470201 20.352268 +vt 0.057500 0.876667 +vt 0.055000 0.893333 +vt 0.053750 0.876667 +vt 0.061250 0.876667 +vt 0.058750 0.893333 +vt 0.057500 0.876667 +vt 0.065000 0.876667 +vt 0.062500 0.893333 +vt 0.061250 0.876667 +vt 0.068750 0.876667 +vt 0.066250 0.893333 +vt 0.065000 0.876667 +vt 0.072500 0.876667 +vt 0.070000 0.893333 +vt 0.068750 0.876667 +vt 0.076250 0.876667 +vt 0.073750 0.893333 +vt 0.072500 0.876667 +vt 0.080000 0.876667 +vt 0.077500 0.893333 +vt 0.076250 0.876667 +vt 0.053750 0.876667 +vt 0.051250 0.893333 +vt 0.050000 0.876667 +vt 0.185000 0.908333 +vt 0.188750 0.876667 +vt 0.188750 0.908333 +vt 0.183750 0.876667 +vt 0.180000 0.908333 +vt 0.180000 0.876667 +vt 0.183750 0.908333 +vt 0.180000 0.910000 +vt 0.178750 0.908333 +vt 0.178750 0.876667 +vt 0.185000 0.876667 +vt 0.188750 0.876667 +vt 0.185000 0.908333 +vt 0.185000 0.876667 +vt 0.180000 0.910000 +vt 0.183750 0.908333 +vt 0.183750 0.910000 +vt 0.180000 0.908333 +vt 0.183750 0.876667 +vt 0.178750 0.908333 +vt 0.180000 0.876667 +vt 0.185000 0.908333 +vt 0.188750 0.876667 +vt 0.188750 0.908333 +vt 0.183750 0.876667 +vt 0.180000 0.908333 +vt 0.180000 0.876667 +vt 0.183750 0.908333 +vt 0.180000 0.910000 +vt 0.178750 0.908333 +vt 0.178750 0.876667 +vt 0.185000 0.876667 +vt 0.188750 0.876667 +vt 0.185000 0.908333 +vt 0.185000 0.876667 +vt 0.180000 0.910000 +vt 0.183750 0.908333 +vt 0.183750 0.910000 +vt 0.180000 0.908333 +vt 0.183750 0.876667 +vt 0.178750 0.908333 +vt 0.180000 0.876667 +vt 0.183750 0.910000 +vt 0.188750 0.908333 +vt 0.178750 0.876667 +vt 0.183750 0.910000 +vt 0.188750 0.908333 +vt 0.178750 0.876667 +vn 0.4194 -0.3474 -0.8387 +vn 0.4194 -0.8387 -0.3474 +vn 0.4194 -0.8387 0.3474 +vn 0.4194 -0.3474 0.8387 +vn 0.4194 0.3474 0.8387 +vn 0.4194 0.8387 0.3474 +vn 0.4194 0.8387 -0.3474 +vn 0.4194 0.3474 -0.8387 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +s 1 +f 1/1/1 2/2/1 3/3/1 +f 3/4/2 2/5/2 4/6/2 +f 4/7/3 2/8/3 5/9/3 +f 5/10/4 2/11/4 6/12/4 +f 6/13/5 2/14/5 7/15/5 +f 7/16/6 2/17/6 8/18/6 +f 8/19/7 2/20/7 9/21/7 +f 9/22/8 2/23/8 1/24/8 +f 11/25/9 13/26/9 10/27/9 +f 15/28/10 17/29/10 14/30/10 +f 16/31/11 10/32/11 17/29/11 +f 14/30/12 10/33/12 13/34/12 +f 12/35/13 16/31/13 15/28/13 +f 19/36/9 21/37/9 18/38/9 +f 20/39/14 23/40/14 21/41/14 +f 22/42/10 25/43/10 23/40/10 +f 23/40/12 18/38/12 21/37/12 +f 20/44/13 24/45/13 22/42/13 +f 27/46/9 29/47/9 26/48/9 +f 31/49/10 33/50/10 30/51/10 +f 32/52/12 26/53/12 33/50/12 +f 30/51/14 26/54/14 29/55/14 +f 28/56/11 32/52/11 31/49/11 +f 35/57/9 37/58/9 34/59/9 +f 36/60/13 39/61/13 37/62/13 +f 38/63/10 41/64/10 39/61/10 +f 39/61/14 34/59/14 37/58/14 +f 36/65/11 40/66/11 38/63/11 +f 11/25/9 12/35/9 13/26/9 +f 15/28/10 16/31/10 17/29/10 +f 16/31/11 11/67/11 10/32/11 +f 14/30/12 17/29/12 10/33/12 +f 12/35/13 11/25/13 16/31/13 +f 19/36/9 20/68/9 21/37/9 +f 20/39/14 22/42/14 23/40/14 +f 22/42/10 24/45/10 25/43/10 +f 23/40/12 25/43/12 18/38/12 +f 20/44/13 19/69/13 24/45/13 +f 27/46/9 28/56/9 29/47/9 +f 31/49/10 32/52/10 33/50/10 +f 32/52/12 27/70/12 26/53/12 +f 30/51/14 33/50/14 26/54/14 +f 28/56/11 27/46/11 32/52/11 +f 35/57/9 36/71/9 37/58/9 +f 36/60/13 38/63/13 39/61/13 +f 38/63/10 40/66/10 41/64/10 +f 39/61/14 41/64/14 34/59/14 +f 36/65/11 35/72/11 40/66/11 +o Prop3 +v 8.876309 4.210100 10.612316 +v 9.975476 4.210100 11.161900 +v 8.876309 3.821486 10.773286 +v 8.876309 3.660517 11.161900 +v 8.876309 3.821486 11.550513 +v 8.876309 4.210100 11.711483 +v 8.876309 4.598713 11.550513 +v 8.876309 4.759684 11.161900 +v 8.876309 4.598713 10.773286 +v 9.092196 4.022468 13.801797 +v 9.092196 4.397733 13.801797 +v 9.092196 4.397733 11.422001 +v 9.092196 4.022468 11.422001 +v 9.259592 4.022468 11.422001 +v 9.259592 4.397733 11.422001 +v 9.259592 4.397733 13.801797 +v 9.259592 4.022468 13.801797 +v 9.092196 4.022468 10.901798 +v 9.092196 4.397733 10.901798 +v 9.092196 4.397733 8.522002 +v 9.092196 4.022468 8.522002 +v 9.259590 4.397733 8.522002 +v 9.259590 4.022468 8.522002 +v 9.259590 4.397733 10.901798 +v 9.259590 4.022468 10.901798 +v 9.092196 1.570202 10.974267 +v 9.092196 1.570202 11.349533 +v 9.092196 3.949999 11.349533 +v 9.092196 3.949999 10.974267 +v 9.259590 3.949999 10.974267 +v 9.259590 3.949999 11.349533 +v 9.259590 1.570202 11.349533 +v 9.259590 1.570202 10.974267 +v 9.092196 4.470201 10.974267 +v 9.092196 4.470201 11.349533 +v 9.092196 6.849998 11.349533 +v 9.092196 6.849998 10.974267 +v 9.259590 6.849998 11.349533 +v 9.259590 6.849998 10.974267 +v 9.259590 4.470201 11.349533 +v 9.259590 4.470201 10.974267 +vt 0.057500 0.876667 +vt 0.055000 0.893333 +vt 0.053750 0.876667 +vt 0.061250 0.876667 +vt 0.058750 0.893333 +vt 0.057500 0.876667 +vt 0.065000 0.876667 +vt 0.062500 0.893333 +vt 0.061250 0.876667 +vt 0.068750 0.876667 +vt 0.066250 0.893333 +vt 0.065000 0.876667 +vt 0.072500 0.876667 +vt 0.070000 0.893333 +vt 0.068750 0.876667 +vt 0.076250 0.876667 +vt 0.073750 0.893333 +vt 0.072500 0.876667 +vt 0.080000 0.876667 +vt 0.077500 0.893333 +vt 0.076250 0.876667 +vt 0.053750 0.876667 +vt 0.051250 0.893333 +vt 0.050000 0.876667 +vt 0.185000 0.908333 +vt 0.188750 0.876667 +vt 0.188750 0.908333 +vt 0.183750 0.876667 +vt 0.180000 0.908333 +vt 0.180000 0.876667 +vt 0.183750 0.908333 +vt 0.180000 0.910000 +vt 0.178750 0.908333 +vt 0.178750 0.876667 +vt 0.185000 0.876667 +vt 0.188750 0.876667 +vt 0.185000 0.908333 +vt 0.185000 0.876667 +vt 0.180000 0.910000 +vt 0.183750 0.908333 +vt 0.183750 0.910000 +vt 0.180000 0.908333 +vt 0.183750 0.876667 +vt 0.178750 0.908333 +vt 0.180000 0.876667 +vt 0.185000 0.908333 +vt 0.188750 0.876667 +vt 0.188750 0.908333 +vt 0.183750 0.876667 +vt 0.180000 0.908333 +vt 0.180000 0.876667 +vt 0.183750 0.908333 +vt 0.180000 0.910000 +vt 0.178750 0.908333 +vt 0.178750 0.876667 +vt 0.185000 0.876667 +vt 0.188750 0.876667 +vt 0.185000 0.908333 +vt 0.185000 0.876667 +vt 0.180000 0.910000 +vt 0.183750 0.908333 +vt 0.183750 0.910000 +vt 0.180000 0.908333 +vt 0.183750 0.876667 +vt 0.178750 0.908333 +vt 0.180000 0.876667 +vt 0.183750 0.910000 +vt 0.188750 0.908333 +vt 0.178750 0.876667 +vt 0.183750 0.910000 +vt 0.188750 0.908333 +vt 0.178750 0.876667 +vn 0.4194 -0.3474 -0.8387 +vn 0.4194 -0.8387 -0.3474 +vn 0.4194 -0.8387 0.3474 +vn 0.4194 -0.3474 0.8387 +vn 0.4194 0.3474 0.8387 +vn 0.4194 0.8387 0.3474 +vn 0.4194 0.8387 -0.3474 +vn 0.4194 0.3474 -0.8387 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +s 1 +f 42/73/15 43/74/15 44/75/15 +f 44/76/16 43/77/16 45/78/16 +f 45/79/17 43/80/17 46/81/17 +f 46/82/18 43/83/18 47/84/18 +f 47/85/19 43/86/19 48/87/19 +f 48/88/20 43/89/20 49/90/20 +f 49/91/21 43/92/21 50/93/21 +f 50/94/22 43/95/22 42/96/22 +f 52/97/23 54/98/23 51/99/23 +f 56/100/24 58/101/24 55/102/24 +f 57/103/25 51/104/25 58/101/25 +f 55/102/26 51/105/26 54/106/26 +f 53/107/27 57/103/27 56/100/27 +f 60/108/23 62/109/23 59/110/23 +f 61/111/28 64/112/28 62/113/28 +f 63/114/24 66/115/24 64/112/24 +f 64/112/26 59/110/26 62/109/26 +f 61/116/27 65/117/27 63/114/27 +f 68/118/23 70/119/23 67/120/23 +f 72/121/24 74/122/24 71/123/24 +f 73/124/26 67/125/26 74/122/26 +f 71/123/28 67/126/28 70/127/28 +f 69/128/25 73/124/25 72/121/25 +f 76/129/23 78/130/23 75/131/23 +f 77/132/27 80/133/27 78/134/27 +f 79/135/24 82/136/24 80/133/24 +f 80/133/28 75/131/28 78/130/28 +f 77/137/25 81/138/25 79/135/25 +f 52/97/23 53/107/23 54/98/23 +f 56/100/24 57/103/24 58/101/24 +f 57/103/25 52/139/25 51/104/25 +f 55/102/26 58/101/26 51/105/26 +f 53/107/27 52/97/27 57/103/27 +f 60/108/23 61/140/23 62/109/23 +f 61/111/28 63/114/28 64/112/28 +f 63/114/24 65/117/24 66/115/24 +f 64/112/26 66/115/26 59/110/26 +f 61/116/27 60/141/27 65/117/27 +f 68/118/23 69/128/23 70/119/23 +f 72/121/24 73/124/24 74/122/24 +f 73/124/26 68/142/26 67/125/26 +f 71/123/28 74/122/28 67/126/28 +f 69/128/25 68/118/25 73/124/25 +f 76/129/23 77/143/23 78/130/23 +f 77/132/27 79/135/27 80/133/27 +f 79/135/24 81/138/24 82/136/24 +f 80/133/28 82/136/28 75/131/28 +f 77/137/25 76/144/25 81/138/25 +o Prop2 +v 8.876309 4.210101 -11.711483 +v 9.975476 4.210101 -11.161900 +v 8.876309 3.821486 -11.550513 +v 8.876309 3.660517 -11.161900 +v 8.876309 3.821486 -10.773286 +v 8.876309 4.210101 -10.612316 +v 8.876309 4.598714 -10.773286 +v 8.876309 4.759685 -11.161900 +v 8.876309 4.598714 -11.550513 +v 9.092196 4.022469 -8.522002 +v 9.092196 4.397734 -8.522002 +v 9.092196 4.397734 -10.901798 +v 9.092196 4.022469 -10.901798 +v 9.259592 4.022469 -10.901798 +v 9.259592 4.397734 -10.901798 +v 9.259592 4.397734 -8.522002 +v 9.259592 4.022469 -8.522002 +v 9.092196 4.022469 -11.422001 +v 9.092196 4.397734 -11.422001 +v 9.092196 4.397734 -13.801797 +v 9.092196 4.022469 -13.801797 +v 9.259590 4.397734 -13.801797 +v 9.259590 4.022469 -13.801797 +v 9.259590 4.397734 -11.422001 +v 9.259590 4.022469 -11.422001 +v 9.092196 1.570202 -11.349532 +v 9.092196 1.570202 -10.974266 +v 9.092196 3.950000 -10.974266 +v 9.092196 3.950000 -11.349532 +v 9.259590 3.950000 -11.349532 +v 9.259590 3.950000 -10.974266 +v 9.259590 1.570202 -10.974266 +v 9.259590 1.570202 -11.349532 +v 9.092196 4.470202 -11.349532 +v 9.092196 4.470202 -10.974266 +v 9.092196 6.849998 -10.974266 +v 9.092196 6.849998 -11.349532 +v 9.259590 6.849998 -10.974266 +v 9.259590 6.849998 -11.349532 +v 9.259590 4.470202 -10.974266 +v 9.259590 4.470202 -11.349532 +vt 0.057500 0.876667 +vt 0.055000 0.893333 +vt 0.053750 0.876667 +vt 0.061250 0.876667 +vt 0.058750 0.893333 +vt 0.057500 0.876667 +vt 0.065000 0.876667 +vt 0.062500 0.893333 +vt 0.061250 0.876667 +vt 0.068750 0.876667 +vt 0.066250 0.893333 +vt 0.065000 0.876667 +vt 0.072500 0.876667 +vt 0.070000 0.893333 +vt 0.068750 0.876667 +vt 0.076250 0.876667 +vt 0.073750 0.893333 +vt 0.072500 0.876667 +vt 0.080000 0.876667 +vt 0.077500 0.893333 +vt 0.076250 0.876667 +vt 0.053750 0.876667 +vt 0.051250 0.893333 +vt 0.050000 0.876667 +vt 0.185000 0.908333 +vt 0.188750 0.876667 +vt 0.188750 0.908333 +vt 0.183750 0.876667 +vt 0.180000 0.908333 +vt 0.180000 0.876667 +vt 0.183750 0.908333 +vt 0.180000 0.910000 +vt 0.178750 0.908333 +vt 0.178750 0.876667 +vt 0.185000 0.876667 +vt 0.188750 0.876667 +vt 0.185000 0.908333 +vt 0.185000 0.876667 +vt 0.180000 0.910000 +vt 0.183750 0.908333 +vt 0.183750 0.910000 +vt 0.180000 0.908333 +vt 0.183750 0.876667 +vt 0.178750 0.908333 +vt 0.180000 0.876667 +vt 0.185000 0.908333 +vt 0.188750 0.876667 +vt 0.188750 0.908333 +vt 0.183750 0.876667 +vt 0.180000 0.908333 +vt 0.180000 0.876667 +vt 0.183750 0.908333 +vt 0.180000 0.910000 +vt 0.178750 0.908333 +vt 0.178750 0.876667 +vt 0.185000 0.876667 +vt 0.188750 0.876667 +vt 0.185000 0.908333 +vt 0.185000 0.876667 +vt 0.180000 0.910000 +vt 0.183750 0.908333 +vt 0.183750 0.910000 +vt 0.180000 0.908333 +vt 0.183750 0.876667 +vt 0.178750 0.908333 +vt 0.180000 0.876667 +vt 0.183750 0.910000 +vt 0.188750 0.908333 +vt 0.178750 0.876667 +vt 0.183750 0.910000 +vt 0.188750 0.908333 +vt 0.178750 0.876667 +vn 0.4194 -0.3474 -0.8387 +vn 0.4194 -0.8387 -0.3474 +vn 0.4194 -0.8387 0.3474 +vn 0.4194 -0.3474 0.8387 +vn 0.4194 0.3474 0.8387 +vn 0.4194 0.8387 0.3474 +vn 0.4194 0.8387 -0.3474 +vn 0.4194 0.3474 -0.8387 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +s 1 +f 83/145/29 84/146/29 85/147/29 +f 85/148/30 84/149/30 86/150/30 +f 86/151/31 84/152/31 87/153/31 +f 87/154/32 84/155/32 88/156/32 +f 88/157/33 84/158/33 89/159/33 +f 89/160/34 84/161/34 90/162/34 +f 90/163/35 84/164/35 91/165/35 +f 91/166/36 84/167/36 83/168/36 +f 93/169/37 95/170/37 92/171/37 +f 97/172/38 99/173/38 96/174/38 +f 98/175/39 92/176/39 99/173/39 +f 96/174/40 92/177/40 95/178/40 +f 94/179/41 98/175/41 97/172/41 +f 101/180/37 103/181/37 100/182/37 +f 102/183/42 105/184/42 103/185/42 +f 104/186/38 107/187/38 105/184/38 +f 105/184/40 100/182/40 103/181/40 +f 102/188/41 106/189/41 104/186/41 +f 109/190/37 111/191/37 108/192/37 +f 113/193/38 115/194/38 112/195/38 +f 114/196/40 108/197/40 115/194/40 +f 112/195/42 108/198/42 111/199/42 +f 110/200/39 114/196/39 113/193/39 +f 117/201/37 119/202/37 116/203/37 +f 118/204/41 121/205/41 119/206/41 +f 120/207/38 123/208/38 121/205/38 +f 121/205/42 116/203/42 119/202/42 +f 118/209/39 122/210/39 120/207/39 +f 93/169/37 94/179/37 95/170/37 +f 97/172/38 98/175/38 99/173/38 +f 98/175/39 93/211/39 92/176/39 +f 96/174/40 99/173/40 92/177/40 +f 94/179/41 93/169/41 98/175/41 +f 101/180/37 102/212/37 103/181/37 +f 102/183/42 104/186/42 105/184/42 +f 104/186/38 106/189/38 107/187/38 +f 105/184/40 107/187/40 100/182/40 +f 102/188/41 101/213/41 106/189/41 +f 109/190/37 110/200/37 111/191/37 +f 113/193/38 114/196/38 115/194/38 +f 114/196/40 109/214/40 108/197/40 +f 112/195/42 115/194/42 108/198/42 +f 110/200/39 109/190/39 114/196/39 +f 117/201/37 118/215/37 119/202/37 +f 118/204/41 120/207/41 121/205/41 +f 120/207/38 122/210/38 123/208/38 +f 121/205/42 123/208/42 116/203/42 +f 118/209/39 117/216/39 122/210/39 +o Prop1 +v 8.876309 4.210101 -21.089483 +v 9.975476 4.210101 -20.539900 +v 8.876309 3.821487 -20.928514 +v 8.876309 3.660518 -20.539900 +v 8.876309 3.821487 -20.151285 +v 8.876309 4.210101 -19.990316 +v 8.876309 4.598715 -20.151285 +v 8.876309 4.759685 -20.539900 +v 8.876309 4.598715 -20.928514 +v 9.092196 4.022469 -17.900002 +v 9.092196 4.397734 -17.900002 +v 9.092196 4.397734 -20.279799 +v 9.092196 4.022469 -20.279799 +v 9.259592 4.022469 -20.279799 +v 9.259592 4.397734 -20.279799 +v 9.259592 4.397734 -17.900002 +v 9.259592 4.022469 -17.900002 +v 9.092196 4.022469 -20.800001 +v 9.092196 4.397734 -20.800001 +v 9.092196 4.397734 -23.179798 +v 9.092196 4.022469 -23.179798 +v 9.259590 4.397734 -23.179798 +v 9.259590 4.022469 -23.179798 +v 9.259590 4.397734 -20.800001 +v 9.259590 4.022469 -20.800001 +v 9.092196 1.570203 -20.727531 +v 9.092196 1.570203 -20.352266 +v 9.092196 3.950000 -20.352266 +v 9.092196 3.950000 -20.727531 +v 9.259590 3.950000 -20.727531 +v 9.259590 3.950000 -20.352266 +v 9.259590 1.570203 -20.352266 +v 9.259590 1.570203 -20.727531 +v 9.092196 4.470203 -20.727531 +v 9.092196 4.470203 -20.352266 +v 9.092196 6.849999 -20.352266 +v 9.092196 6.849999 -20.727531 +v 9.259590 6.849999 -20.352266 +v 9.259590 6.849999 -20.727531 +v 9.259590 4.470203 -20.352266 +v 9.259590 4.470203 -20.727531 +vt 0.076250 0.876667 +vt 0.073750 0.893333 +vt 0.072500 0.876667 +vt 0.070000 0.893333 +vt 0.068750 0.876667 +vt 0.066250 0.893333 +vt 0.065000 0.876667 +vt 0.062500 0.893333 +vt 0.061250 0.876667 +vt 0.057500 0.876667 +vt 0.055000 0.893333 +vt 0.053750 0.876667 +vt 0.051250 0.893333 +vt 0.050000 0.876667 +vt 0.061250 0.876667 +vt 0.058750 0.893333 +vt 0.057500 0.876667 +vt 0.080000 0.876667 +vt 0.077500 0.893333 +vt 0.185000 0.908333 +vt 0.188750 0.876667 +vt 0.188750 0.908333 +vt 0.183750 0.876667 +vt 0.180000 0.908333 +vt 0.180000 0.876667 +vt 0.183750 0.908333 +vt 0.180000 0.910000 +vt 0.178750 0.908333 +vt 0.178750 0.876667 +vt 0.185000 0.876667 +vt 0.188750 0.876667 +vt 0.185000 0.908333 +vt 0.185000 0.876667 +vt 0.180000 0.910000 +vt 0.183750 0.908333 +vt 0.183750 0.910000 +vt 0.180000 0.908333 +vt 0.183750 0.876667 +vt 0.178750 0.908333 +vt 0.180000 0.876667 +vt 0.185000 0.908333 +vt 0.188750 0.876667 +vt 0.188750 0.908333 +vt 0.183750 0.876667 +vt 0.180000 0.908333 +vt 0.180000 0.876667 +vt 0.183750 0.908333 +vt 0.180000 0.910000 +vt 0.178750 0.908333 +vt 0.178750 0.876667 +vt 0.185000 0.876667 +vt 0.188750 0.876667 +vt 0.185000 0.908333 +vt 0.185000 0.876667 +vt 0.180000 0.910000 +vt 0.183750 0.908333 +vt 0.183750 0.910000 +vt 0.180000 0.908333 +vt 0.183750 0.876667 +vt 0.178750 0.908333 +vt 0.180000 0.876667 +vt 0.183750 0.910000 +vt 0.188750 0.908333 +vt 0.178750 0.876667 +vt 0.183750 0.910000 +vt 0.188750 0.908333 +vt 0.178750 0.876667 +vn 0.4194 -0.3474 -0.8387 +vn 0.4194 -0.8387 -0.3474 +vn 0.4194 -0.8387 0.3474 +vn 0.4194 -0.3474 0.8387 +vn 0.4194 0.3474 0.8387 +vn 0.4194 0.8387 0.3474 +vn 0.4194 0.8387 -0.3474 +vn 0.4194 0.3474 -0.8387 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +s 1 +f 124/217/43 125/218/43 126/219/43 +f 126/219/44 125/220/44 127/221/44 +f 127/221/45 125/222/45 128/223/45 +f 128/223/46 125/224/46 129/225/46 +f 129/226/47 125/227/47 130/228/47 +f 130/228/48 125/229/48 131/230/48 +f 131/231/49 125/232/49 132/233/49 +f 132/234/50 125/235/50 124/217/50 +f 134/236/51 136/237/51 133/238/51 +f 138/239/52 140/240/52 137/241/52 +f 139/242/53 133/243/53 140/240/53 +f 137/241/54 133/244/54 136/245/54 +f 135/246/55 139/242/55 138/239/55 +f 142/247/51 144/248/51 141/249/51 +f 143/250/56 146/251/56 144/252/56 +f 145/253/52 148/254/52 146/251/52 +f 146/251/54 141/249/54 144/248/54 +f 143/255/55 147/256/55 145/253/55 +f 150/257/51 152/258/51 149/259/51 +f 154/260/52 156/261/52 153/262/52 +f 155/263/54 149/264/54 156/261/54 +f 153/262/56 149/265/56 152/266/56 +f 151/267/53 155/263/53 154/260/53 +f 158/268/51 160/269/51 157/270/51 +f 159/271/55 162/272/55 160/273/55 +f 161/274/52 164/275/52 162/272/52 +f 162/272/56 157/270/56 160/269/56 +f 159/276/53 163/277/53 161/274/53 +f 134/236/51 135/246/51 136/237/51 +f 138/239/52 139/242/52 140/240/52 +f 139/242/53 134/278/53 133/243/53 +f 137/241/54 140/240/54 133/244/54 +f 135/246/55 134/236/55 139/242/55 +f 142/247/51 143/279/51 144/248/51 +f 143/250/56 145/253/56 146/251/56 +f 145/253/52 147/256/52 148/254/52 +f 146/251/54 148/254/54 141/249/54 +f 143/255/55 142/280/55 147/256/55 +f 150/257/51 151/267/51 152/258/51 +f 154/260/52 155/263/52 156/261/52 +f 155/263/54 150/281/54 149/264/54 +f 153/262/56 156/261/56 149/265/56 +f 151/267/53 150/257/53 155/263/53 +f 158/268/51 159/282/51 160/269/51 +f 159/271/55 161/274/55 162/272/55 +f 161/274/52 163/277/52 164/275/52 +f 162/272/56 164/275/56 157/270/56 +f 159/276/53 158/283/53 163/277/53 +o Plane +v -8.648877 2.337463 -3.828772 +v 17.109543 2.337462 -3.828772 +v 17.109543 0.872254 -3.537324 +v -8.648877 0.872255 -3.537324 +v 17.109543 -0.369889 -2.707351 +v -8.648877 -0.369888 -2.707351 +v 17.109543 -1.199862 -1.465208 +v -8.648877 -1.199861 -1.465208 +v 17.109543 -1.491310 -0.000000 +v -8.648877 -1.491309 -0.000000 +v 17.109543 -1.199862 1.465208 +v -8.648877 -1.199861 1.465208 +v 17.109543 -0.369889 2.707351 +v -8.648877 -0.369888 2.707351 +v 17.109543 0.872254 3.537324 +v -8.648877 0.872255 3.537324 +v 17.109543 2.337462 3.828772 +v -8.648877 2.337463 3.828772 +v 17.109543 3.802669 3.537324 +v -8.648877 3.802670 3.537324 +v 17.109543 5.044812 2.707351 +v -8.648877 5.044813 2.707351 +v 17.109543 5.874785 1.465208 +v -8.648877 5.874786 1.465208 +v 17.109543 6.166234 0.000000 +v -8.648877 6.166231 0.000000 +v 17.109543 5.874785 -1.465208 +v -8.648877 5.874786 -1.465208 +v 17.109543 5.044812 -2.707351 +v -8.648877 5.044813 -2.707351 +v 18.622576 0.819016 -3.307737 +v 18.622576 -0.342507 -2.531632 +v 17.109543 3.802669 -3.537324 +v -8.648877 3.802670 -3.537324 +v -22.527349 6.033054 -0.479178 +v -22.527349 5.863158 -0.885406 +v -24.803490 5.347558 0.000000 +v -17.322922 2.833023 -1.568635 +v -17.322922 2.415598 -0.848939 +v -22.527349 4.584874 -0.479178 +v -22.527349 4.754769 -0.885406 +v -17.322922 3.457743 2.049520 +v -17.322922 4.194651 2.218385 +v -22.527349 5.308964 1.252153 +v -22.527349 5.009036 1.156838 +v -17.322922 4.194651 -2.218385 +v -17.322922 3.457743 -2.049520 +v -22.527349 5.009036 -1.156838 +v -22.527349 5.308964 -1.252153 +v -17.322922 6.120280 0.000000 +v -17.322922 5.973704 -0.848939 +v -22.527349 6.092710 0.000000 +v -17.322922 2.415598 0.848939 +v -17.322922 2.833023 1.568635 +v -22.527349 4.754769 0.885406 +v -22.527349 4.584874 0.479178 +v -17.322922 5.556279 1.568635 +v -17.322922 5.973704 0.848939 +v -22.527349 6.033054 0.479178 +v -22.527349 5.863158 0.885406 +v -17.322922 4.931559 -2.049520 +v -22.527349 5.608891 -1.156838 +v -17.322922 2.269018 0.000000 +v -22.527349 4.525215 0.000000 +v -17.322922 4.931559 2.049520 +v -22.527349 5.608891 1.156838 +v -17.322922 5.556279 -1.568635 +v 18.622576 3.559235 -3.307737 +v 18.622576 4.720757 -2.531632 +v 20.313610 3.625209 -1.918521 +v 20.313610 2.744985 -2.506668 +v 18.622576 -0.342507 2.531632 +v 18.622576 0.819016 3.307737 +v 18.622576 5.496862 1.370110 +v 18.622576 5.769394 0.000000 +v 18.622576 -1.391143 -0.000000 +v 18.622576 -1.118612 1.370110 +v 18.622576 3.559235 3.307737 +v 18.622576 4.720757 2.531632 +v 18.622576 -1.118612 -1.370110 +v 18.622576 2.189125 3.580269 +v 18.622576 2.189125 -3.580269 +v 18.622576 5.496862 -1.370110 +v 20.313610 -0.799979 1.038296 +v 20.313610 -1.006509 -0.000000 +v 21.630833 -0.630115 -0.000000 +v 21.630833 -0.488594 0.711476 +v 20.313610 0.668393 2.506668 +v 20.313610 1.706689 2.713198 +v 20.313610 1.706689 -2.713198 +v 20.313610 0.668393 -2.506668 +v 20.313610 2.744985 2.506668 +v 20.313610 -0.211831 -1.918521 +v 20.313610 3.625209 1.918521 +v 20.313610 -0.799979 -1.038296 +v 20.313610 4.213357 1.038296 +v 20.313610 4.419887 0.000000 +v 20.313610 4.213357 -1.038296 +v 20.313610 -0.211831 1.918521 +v 21.630833 2.543696 1.314636 +v 21.630833 1.940536 1.717654 +v 23.161669 1.704029 1.096937 +v 23.161669 2.089221 0.839559 +v 21.630833 3.088236 0.000000 +v 21.630833 2.946714 -0.711476 +v 21.630833 -0.085575 1.314636 +v 21.630833 2.543696 -1.314635 +v 21.630833 0.517585 1.717654 +v 21.630833 1.940536 -1.717654 +v 21.630833 1.229060 1.859176 +v 21.630833 1.229060 -1.859176 +v 21.630833 0.517585 -1.717654 +v 21.630833 -0.085575 -1.314635 +v 21.630833 -0.488594 -0.711476 +v 21.630833 2.946714 0.711476 +v 23.161669 1.704029 -1.096937 +v 23.161669 2.089221 -0.839559 +v 23.950235 1.751938 -0.467252 +v 23.950235 1.537561 -0.610494 +v 23.161669 0.410103 -0.839559 +v 23.161669 0.152726 -0.454366 +v 23.161669 2.346599 0.454366 +v 23.161669 0.062347 0.000000 +v 23.161669 2.436978 0.000000 +v 23.161669 0.152726 0.454366 +v 23.161669 2.346599 -0.454366 +v 23.161669 0.410103 0.839559 +v 23.161669 0.795296 1.096937 +v 23.161669 1.249662 1.187316 +v 23.161669 1.249662 -1.187316 +v 23.161669 0.795296 -1.096937 +v 23.950235 1.031812 -0.610494 +v 23.950235 1.284687 -0.660794 +v 23.950235 1.895180 -0.252875 +v 23.950235 1.945480 0.000000 +v 23.950235 1.895180 0.252875 +v 23.950235 1.751938 0.467252 +v 23.950235 1.537561 0.610494 +v 23.950235 1.284687 0.660794 +v 23.950235 1.031812 0.610494 +v 23.950235 0.817435 0.467252 +v 23.950235 0.674193 0.252875 +v 23.950235 0.623893 0.000000 +v 23.950235 0.674193 -0.252875 +v 23.950235 0.817435 -0.467252 +v -23.618507 18.840416 -0.394288 +v -23.811937 6.847831 -0.394289 +v -29.203978 8.049699 0.000000 +v -18.412893 8.049699 0.000000 +v -23.272705 18.840416 0.000001 +v -23.618507 18.840416 0.394290 +v -18.758696 8.049699 0.404003 +v -23.811937 6.847831 0.394289 +v -16.836498 7.231033 0.394289 +v -26.797274 19.118101 0.000001 +v -29.365820 6.847831 0.000000 +v -23.435175 6.224818 -0.513844 +v -29.125296 6.008132 0.000000 +v -16.490694 7.231033 0.000000 +v -10.014664 5.966194 0.451128 +v -23.435175 6.224818 0.513844 +v -22.237053 5.198684 1.199751 +v -16.683172 5.198684 1.199751 +v -26.535391 5.330534 1.007645 +v -7.680647 5.966194 0.000000 +v -16.836498 7.231033 -0.394289 +v -10.014664 5.966194 -0.451128 +v -27.328730 4.765311 0.844866 +v -22.237053 5.198684 -1.199751 +v -26.535391 5.330534 -1.007645 +v -16.683172 5.198684 -1.199751 +v -27.328730 4.765311 -0.844866 +v -18.758696 8.049699 -0.404003 +v -21.774847 4.765311 -0.844866 +v -21.774847 4.765311 0.000000 +v -21.774847 4.765311 0.844866 +v -27.797274 18.840416 0.000001 +v -20.182421 5.820175 -13.388203 +v -17.837469 5.820174 -0.207668 +v -17.837469 5.519457 -0.207668 +v -20.182421 5.519457 -13.388203 +v -21.592556 6.009354 -13.388203 +v -23.479408 6.009353 -0.207668 +v -18.044111 6.009353 -0.207668 +v -20.374386 6.009354 -13.388203 +v -20.374386 5.330279 -13.388203 +v -18.044111 5.330279 -0.207668 +v -23.479408 5.330279 -0.207668 +v -21.592556 5.330279 -13.388203 +v -23.225643 5.669816 -13.388203 +v -25.237371 5.669816 -0.207668 +v -20.182421 5.519456 13.388203 +v -17.837469 5.519459 0.207668 +v -17.837469 5.820175 0.207668 +v -20.182421 5.820174 13.388203 +v -21.592556 5.330278 13.388203 +v -23.479408 5.330280 0.207668 +v -18.044111 5.330279 0.207668 +v -20.374386 5.330278 13.388203 +v -20.374386 6.009353 13.388203 +v -18.044111 6.009354 0.207668 +v -23.479408 6.009354 0.207668 +v -21.592556 6.009353 13.388203 +v -23.225643 5.669816 13.388203 +v -25.237371 5.669816 0.207668 +v -14.045300 3.096631 0.848939 +v -14.045300 3.514056 1.568635 +v -14.045300 3.096631 -0.848939 +v -14.045300 2.950051 0.000000 +v -14.045300 3.514056 -1.568635 +v -5.371254 0.311145 -2.707351 +v -5.371254 -0.518828 -1.465208 +v -5.371254 -0.518828 1.465208 +v -5.371254 0.311145 2.707351 +v -5.371254 -0.810276 -0.000000 +v 2.656979 -0.906801 -1.548738 +v 4.656979 -0.906801 -1.548738 +v 4.656979 -1.282411 -2.455540 +v 2.656979 -1.282411 -2.455540 +v 4.656979 -0.906801 -3.362341 +v 2.656979 -0.906801 -3.362341 +v 4.656979 0.000000 -3.737951 +v 2.656979 0.000000 -3.737951 +v 4.656979 0.906801 -3.362341 +v 2.656979 0.906801 -3.362341 +v 1.209754 0.906801 -3.362341 +v 1.209754 0.000000 -3.737951 +v 1.209754 -1.282411 -2.455540 +v 1.209754 -0.906801 -3.362341 +v 0.003049 -0.392748 -2.648372 +v 0.003049 -0.768357 -1.741571 +v 6.104204 0.000000 -3.737951 +v 6.104204 0.906802 -3.362341 +v 6.104204 -1.282411 -2.455540 +v 6.104204 -0.906801 -3.362341 +v 1.209754 -0.906801 -1.548738 +v 6.104204 -0.906801 -1.548738 +v 7.310909 -0.768357 -1.741571 +v 7.310909 -0.392747 -2.648372 +v 0.003049 0.514054 -3.023982 +v 7.310909 0.514054 -3.023982 +v 0.003048 1.420855 -2.648372 +v 7.310909 1.420856 -2.648372 +v 0.003049 -0.392748 -0.834769 +v 7.310909 -0.392747 -0.834769 +v 2.656979 -0.906801 1.548734 +v 4.656979 -0.906801 1.548734 +v 4.656979 -1.282411 2.455535 +v 2.656979 -1.282411 2.455535 +v 4.656979 -0.906801 3.362337 +v 2.656979 -0.906801 3.362337 +v 4.656979 -0.000000 3.737946 +v 2.656979 -0.000000 3.737946 +v 4.656979 0.906801 3.362337 +v 2.656979 0.906802 3.362337 +v 1.209754 0.906802 3.362337 +v 1.209754 -0.000000 3.737946 +v 1.209754 -1.282411 2.455535 +v 1.209754 -0.906801 3.362337 +v 0.003049 -0.392747 2.648367 +v 0.003049 -0.768357 1.741566 +v 6.104204 -0.000000 3.737946 +v 6.104204 0.906801 3.362337 +v 6.104204 -1.282411 2.455535 +v 6.104204 -0.906801 3.362337 +v 1.209754 -0.906801 1.548734 +v 6.104204 -0.906801 1.548734 +v 7.310909 -0.768357 1.741566 +v 7.310909 -0.392748 2.648367 +v 0.003049 0.514054 3.023977 +v 7.310909 0.514054 3.023977 +v 0.003049 1.420856 2.648367 +v 7.310909 1.420855 2.648367 +v 0.003049 -0.392747 0.834765 +v 7.310909 -0.392748 0.834765 +v 1.500305 3.122780 -17.418180 +v 2.907010 3.122780 -17.418180 +v 2.907010 2.581584 -16.876984 +v 1.500305 2.581584 -16.876984 +v 2.907010 2.581584 -16.111618 +v 1.500305 2.581584 -16.111618 +v 2.907010 3.122780 -15.570421 +v 1.500305 3.122781 -15.570421 +v 2.907010 3.888147 -15.570421 +v 1.500305 3.888147 -15.570421 +v 2.907010 4.429342 -16.111618 +v 1.500305 4.429342 -16.111618 +v 2.907010 4.429343 -16.876984 +v 2.907010 5.216080 -16.876984 +v 2.907010 5.216080 -16.111618 +v 2.907010 3.888147 -17.418180 +v 5.008881 4.429343 -16.876984 +v 5.008881 3.888147 -17.418180 +v 1.500305 4.429343 -16.876984 +v 1.500305 3.888147 -17.418180 +v 5.008881 2.581584 -16.876984 +v 5.008881 2.581584 -16.111618 +v -0.285478 4.429344 -16.111618 +v -0.285478 3.888148 -15.570421 +v 5.008881 3.888147 -15.570421 +v 5.008881 4.429342 -16.111618 +v -0.285478 3.122781 -15.570421 +v -0.285478 2.581584 -16.111618 +v -0.285478 3.122781 -17.418180 +v -0.285478 3.888147 -17.418180 +v -0.285478 2.581584 -16.876984 +v 5.008881 3.122780 -15.570421 +v 5.008881 3.122780 -17.418180 +v -0.285478 4.429343 -16.876984 +v -6.039415 3.505464 -16.494301 +v 7.367077 3.369535 -16.822462 +v 7.367077 3.177303 -16.630230 +v 7.367077 3.641392 -16.822462 +v 7.367077 3.833624 -16.630230 +v 7.367077 3.833624 -16.358374 +v 7.367077 3.641392 -16.166142 +v 7.367077 3.369535 -16.166142 +v 7.367077 3.177303 -16.358374 +v 1.500305 5.216080 -16.111618 +v 1.500305 5.216080 -16.876984 +v 4.805163 4.210103 -12.231182 +v 7.559474 4.239601 -11.989785 +v 7.559474 3.025841 -11.747283 +v 4.805163 2.904310 -11.917976 +v 7.559474 2.783338 -11.161830 +v 4.805163 2.591105 -11.161829 +v 7.559474 3.025841 -10.576376 +v 4.805163 2.904310 -10.405683 +v 7.559474 4.239601 -10.333874 +v 4.805163 4.210103 -10.092476 +v 7.559474 4.825054 -10.576376 +v 4.805163 4.966249 -10.405683 +v 7.559474 5.067556 -11.161829 +v 4.805163 5.279455 -11.161829 +v 8.887003 3.803822 -11.568155 +v 8.887003 3.635535 -11.161875 +v 7.559474 4.825054 -11.747282 +v 4.805163 4.966249 -11.917976 +v 8.887003 4.210102 -11.736441 +v 8.887003 4.616381 -11.568155 +v 8.887003 4.784667 -11.161875 +v 8.887003 4.616381 -10.755596 +v 8.887003 4.210102 -10.587309 +v 8.887003 3.803822 -10.755596 +v 2.193453 4.210103 -12.231182 +v 2.193453 2.904310 -11.917976 +v -0.516882 3.711920 -11.527017 +v -0.516882 4.254626 -11.678282 +v 2.193453 4.210103 -10.092476 +v 2.193453 2.904310 -10.405683 +v 2.193453 2.591105 -11.161829 +v 2.193453 4.966249 -10.405683 +v 2.193453 4.966249 -11.917976 +v -0.516882 3.560654 -11.161829 +v -0.516882 3.711920 -10.796642 +v -0.516882 4.254626 -10.645377 +v -0.516882 4.619813 -10.796642 +v -0.516882 4.771080 -11.161829 +v -0.516882 4.619813 -11.527017 +v 2.193454 5.279455 -11.161829 +v 4.354962 5.543211 -34.577400 +v 4.464384 5.455995 -34.388062 +v 4.464384 5.200350 -34.388062 +v 4.365958 5.151175 -34.558372 +v 3.854457 5.349201 -35.443459 +v 3.854457 5.543211 -35.443459 +v 4.245422 5.113065 -34.399647 +v 4.746218 4.829812 -10.770060 +v -3.556738 5.186512 -10.723449 +v -0.380831 5.328140 -34.644386 +v 4.245421 5.543215 -34.399647 +v 1.347604 5.543211 -35.483459 +v 4.964909 4.917097 -10.771288 +v 4.964909 5.455994 -10.771288 +v 4.999471 5.455992 -4.836422 +v 4.999471 4.779428 -4.836423 +v 1.347604 5.349200 -35.483459 +v 4.746218 5.543214 -10.770059 +v -3.470909 4.692151 -4.788582 +v -3.470909 5.543211 -4.788580 +v -5.886427 4.692151 -2.723212 +v -5.886427 5.543211 -1.772059 +v 4.780781 4.692149 -4.835188 +v 4.780781 5.543209 -4.835186 +v 4.999470 5.455994 -2.717648 +v 4.999470 4.779427 -2.717649 +v 4.780781 4.692150 -2.717762 +v 4.780781 5.543210 -2.717758 +v 4.780214 5.543206 -1.608046 +v 4.998903 5.455990 -1.607934 +v 4.805163 4.210103 -21.609173 +v 7.559474 4.239601 -21.367777 +v 7.559474 3.025841 -21.125275 +v 4.805162 2.904311 -21.295967 +v 7.559474 2.783338 -20.539822 +v 4.805162 2.591105 -20.539822 +v 7.559474 3.025841 -19.954369 +v 4.805162 2.904311 -19.783674 +v 7.559474 4.239601 -19.711866 +v 4.805163 4.210102 -19.470469 +v 7.559474 4.825054 -19.954369 +v 4.805163 4.966249 -19.783674 +v 7.559474 5.067557 -20.539822 +v 4.805163 5.279455 -20.539822 +v 8.887003 3.803822 -20.946146 +v 8.887003 3.635536 -20.539867 +v 7.559474 4.825054 -21.125275 +v 4.805163 4.966250 -21.295967 +v 2.193454 5.279455 -20.539822 +v 2.193453 4.966249 -19.783674 +v 8.887003 4.210102 -21.114433 +v 8.887003 4.616381 -20.946148 +v 8.887003 4.784668 -20.539867 +v 8.887003 4.616381 -20.133587 +v 8.887003 4.210101 -19.965302 +v 8.887003 3.803822 -20.133587 +v 2.193453 4.210103 -21.609173 +v 2.193453 2.904311 -21.295967 +v -0.516882 3.711920 -20.905008 +v -0.516882 4.254626 -21.056274 +v 2.193453 4.210102 -19.470469 +v 2.193453 2.904311 -19.783674 +v 2.193453 4.966249 -21.295967 +v 2.193453 2.591105 -20.539822 +v -0.516882 3.560655 -20.539822 +v -0.516882 3.711921 -20.174635 +v -0.516882 4.254626 -20.023371 +v -0.516882 4.619814 -20.174635 +v -0.516882 4.771080 -20.539822 +v -0.516882 4.619813 -20.905008 +v 4.998903 4.779424 -1.607935 +v -5.886994 5.543206 -1.613495 +v 1.500305 3.122778 17.418180 +v 2.907010 3.122778 17.418180 +v 2.907010 2.581582 16.876984 +v 1.500305 2.581582 16.876984 +v 2.907010 2.581582 16.111618 +v 1.500305 2.581582 16.111618 +v 2.907010 3.122779 15.570421 +v 1.500305 3.122779 15.570421 +v 2.907010 3.888145 15.570421 +v 1.500305 3.888145 15.570421 +v 2.907010 4.429341 16.111618 +v 1.500305 4.429341 16.111618 +v 2.907010 4.429341 16.876984 +v 2.907010 5.216078 16.876984 +v 2.907010 5.216079 16.111618 +v 2.907010 3.888145 17.418180 +v 5.008881 4.429341 16.876984 +v 5.008881 3.888145 17.418180 +v 1.500305 4.429341 16.876984 +v 1.500305 3.888145 17.418180 +v 5.008881 2.581582 16.876984 +v 5.008881 2.581582 16.111618 +v -0.285478 4.429343 16.111618 +v -0.285478 3.888146 15.570421 +v 5.008881 3.888145 15.570421 +v 5.008881 4.429341 16.111618 +v -0.285478 3.122779 15.570421 +v -0.285478 2.581582 16.111618 +v -0.285478 3.122778 17.418180 +v -0.285478 3.888145 17.418180 +v -0.285478 2.581582 16.876984 +v 5.008881 3.122778 15.570421 +v 5.008881 3.122778 17.418180 +v -0.285478 4.429341 16.876984 +v -6.039415 3.505462 16.494301 +v 7.367077 3.369533 16.822462 +v 7.367077 3.177301 16.630230 +v 7.367077 3.641390 16.822462 +v 7.367077 3.833622 16.630230 +v 7.367077 3.833622 16.358374 +v 7.367077 3.641390 16.166142 +v 7.367077 3.369533 16.166142 +v 7.367077 3.177301 16.358374 +v 1.500305 5.216079 16.111618 +v 1.500305 5.216078 16.876984 +v 4.805163 4.210102 12.231182 +v 7.559474 4.239600 11.989785 +v 7.559474 3.025840 11.747282 +v 4.805163 2.904310 11.917976 +v 7.559474 2.783338 11.161830 +v 4.805163 2.591104 11.161829 +v 7.559474 3.025840 10.576376 +v 4.805163 2.904310 10.405683 +v 7.559474 4.239600 10.333874 +v 4.805163 4.210102 10.092476 +v 7.559474 4.825053 10.576376 +v 4.805163 4.966249 10.405683 +v 7.559474 5.067555 11.161829 +v 4.805163 5.279455 11.161829 +v 8.887003 3.803821 11.568155 +v 8.887003 3.635535 11.161875 +v 7.559474 4.825053 11.747282 +v 4.805163 4.966249 11.917976 +v 8.887003 4.210101 11.736441 +v 8.887003 4.616380 11.568155 +v 8.887003 4.784667 11.161875 +v 8.887003 4.616381 10.755596 +v 8.887003 4.210101 10.587309 +v 8.887003 3.803821 10.755596 +v 2.193453 4.210102 12.231182 +v 2.193453 2.904310 11.917976 +v -0.516882 3.711920 11.527017 +v -0.516882 4.254625 11.678282 +v 2.193453 4.210102 10.092476 +v 2.193453 2.904310 10.405683 +v 2.193453 2.591104 11.161829 +v 2.193453 4.966249 10.405683 +v 2.193453 4.966249 11.917976 +v -0.516882 3.560653 11.161829 +v -0.516882 3.711920 10.796642 +v -0.516882 4.254625 10.645377 +v -0.516882 4.619812 10.796642 +v -0.516882 4.771079 11.161829 +v -0.516882 4.619812 11.527017 +v 2.193454 5.279454 11.161829 +v 4.354962 5.543208 34.577400 +v 4.464384 5.455991 34.388062 +v 4.464384 5.200346 34.388062 +v 4.365958 5.151172 34.558372 +v 3.854456 5.349198 35.443459 +v 3.854457 5.543209 35.443459 +v 4.245422 5.113067 34.399647 +v 4.746218 4.829815 10.770060 +v -3.556738 5.186512 10.723449 +v -0.380831 5.328137 34.644386 +v 4.245421 5.543208 34.399647 +v 1.347604 5.543208 35.483459 +v 4.964909 4.917096 10.771288 +v 4.964909 5.455994 10.771288 +v 4.999471 5.455993 4.836423 +v 4.999471 4.779428 4.836423 +v 1.347604 5.349197 35.483459 +v 4.746218 5.543210 10.770059 +v -3.470909 4.692152 4.788581 +v -3.470909 5.543211 4.788581 +v -5.886427 4.692151 2.723212 +v -5.886427 5.543211 1.772059 +v 4.780781 4.692150 4.835188 +v 4.780781 5.543209 4.835187 +v 4.999470 5.455994 2.717648 +v 4.999470 4.779428 2.717649 +v 4.780781 4.692151 2.717762 +v 4.780781 5.543211 2.717758 +v 4.780214 5.543207 1.608046 +v 4.998903 5.455990 1.607934 +v 4.805163 4.210100 21.609173 +v 7.559474 4.239599 21.367777 +v 7.559474 3.025839 21.125275 +v 4.805162 2.904309 21.295967 +v 7.559474 2.783336 20.539822 +v 4.805162 2.591103 20.539822 +v 7.559474 3.025839 19.954369 +v 4.805162 2.904309 19.783674 +v 7.559474 4.239599 19.711866 +v 4.805163 4.210100 19.470469 +v 7.559474 4.825052 19.954369 +v 4.805163 4.966247 19.783674 +v 7.559474 5.067555 20.539822 +v 4.805163 5.279453 20.539822 +v 8.887003 3.803820 20.946146 +v 8.887003 3.635534 20.539867 +v 7.559474 4.825052 21.125275 +v 4.805163 4.966248 21.295967 +v 2.193454 5.279453 20.539822 +v 2.193453 4.966247 19.783674 +v 8.887003 4.210099 21.114433 +v 8.887003 4.616379 20.946148 +v 8.887003 4.784666 20.539867 +v 8.887003 4.616379 20.133587 +v 8.887003 4.210099 19.965302 +v 8.887003 3.803820 20.133587 +v 2.193453 4.210101 21.609173 +v 2.193453 2.904309 21.295967 +v -0.516882 3.711918 20.905008 +v -0.516882 4.254624 21.056274 +v 2.193453 4.210100 19.470469 +v 2.193453 2.904309 19.783674 +v 2.193453 4.966247 21.295967 +v 2.193453 2.591103 20.539822 +v -0.516882 3.560653 20.539822 +v -0.516882 3.711918 20.174635 +v -0.516882 4.254624 20.023371 +v -0.516882 4.619812 20.174635 +v -0.516882 4.771078 20.539822 +v -0.516882 4.619811 20.905008 +v 4.998903 4.779424 1.607935 +v -5.886994 5.543207 1.613495 +v 1.683473 5.441774 -10.576500 +v 4.056783 5.531373 -10.576500 +v 4.056783 5.531373 -18.701500 +v 1.683473 5.441775 -18.701500 +v 1.683473 5.441773 18.701500 +v 4.056783 5.531371 18.701500 +v 4.056783 5.531372 10.576500 +v 1.683473 5.441773 10.576500 +v 1.176675 5.141184 -25.716265 +v 3.549040 5.029347 -25.716265 +v 3.552980 5.112920 -33.840836 +v 1.180615 5.224756 -33.840836 +v 1.176675 5.141182 25.716253 +v 3.549040 5.029345 25.716253 +v 3.552980 5.112917 33.840820 +v 1.180615 5.224753 33.840820 +vt 0.181250 0.853333 +vt 0.188750 0.858333 +vt 0.185000 0.868333 +vt 0.101250 0.863333 +vt 0.097500 0.865000 +vt 0.093750 0.863333 +vt 0.177500 0.858333 +vt 0.185000 0.853333 +vt 0.188750 0.863333 +vt 0.101250 0.863333 +vt 0.097500 0.865000 +vt 0.093750 0.863333 +vt 0.181250 0.868333 +vt 0.185000 0.868333 +vt 0.188750 0.863333 +vt 0.101250 0.851667 +vt 0.097500 0.850000 +vt 0.093750 0.851667 +vt 0.627500 0.311667 +vt 0.625000 0.311667 +vt 0.625000 0.315000 +vt 0.671250 0.191667 +vt 0.902500 0.131667 +vt 0.673750 0.131667 +vt 0.643750 0.138333 +vt 0.636250 0.131667 +vt 0.633750 0.133333 +vt 0.387500 0.311667 +vt 0.330000 0.318333 +vt 0.387500 0.318333 +vt 0.638750 0.311667 +vt 0.663750 0.315000 +vt 0.663750 0.311667 +vt 0.620000 0.315000 +vt 0.620000 0.318333 +vt 0.636250 0.193333 +vt 0.398750 0.133333 +vt 0.398750 0.241667 +vt 0.682500 0.311667 +vt 0.825000 0.295000 +vt 0.765000 0.295000 +vt 0.765000 0.306667 +vt 0.732500 0.310000 +vt 0.960000 0.238333 +vt 0.902500 0.238333 +vt 0.340000 0.241667 +vt 0.308750 0.310000 +vt 0.330000 0.310000 +vt 0.980000 0.131667 +vt 0.960000 0.131667 +vt 0.318750 0.133333 +vt 0.340000 0.133333 +vt 0.307500 0.130000 +vt 0.318750 0.130000 +vt 0.673750 0.128333 +vt 0.671250 0.130000 +vt 0.633750 0.130000 +vt 0.398750 0.130000 +vt 0.340000 0.130000 +vt 0.960000 0.128333 +vt 0.980000 0.128333 +vt 0.662500 0.168333 +vt 0.181250 0.853333 +vt 0.177500 0.863333 +vt 0.185000 0.868333 +vt 0.101250 0.851667 +vt 0.097500 0.850000 +vt 0.093750 0.851667 +vt 0.297500 0.318333 +vt 0.308750 0.318333 +vt 0.307500 0.133333 +vt 0.310000 0.273333 +vt 0.411250 0.090000 +vt 0.330000 0.058333 +vt 0.411250 0.058333 +vt 0.411250 0.090000 +vt 0.330000 0.058333 +vt 0.411250 0.058333 +vt 0.411250 0.058333 +vt 0.330000 0.090000 +vt 0.330000 0.058333 +vt 0.411250 0.090000 +vt 0.330000 0.058333 +vt 0.411250 0.058333 +vt 0.185000 0.853333 +vt 0.188750 0.863333 +vt 0.181250 0.868333 +vt 0.177500 0.863333 +vt 0.177500 0.858333 +vt 0.092500 0.858333 +vt 0.102500 0.858333 +vt 0.093750 0.851667 +vt 0.101250 0.851667 +vt 0.097500 0.850000 +vt 0.185000 0.868333 +vt 0.181250 0.868333 +vt 0.177500 0.863333 +vt 0.181250 0.853333 +vt 0.188750 0.858333 +vt 0.092500 0.858333 +vt 0.102500 0.858333 +vt 0.093750 0.851667 +vt 0.101250 0.851667 +vt 0.097500 0.850000 +vt 0.188750 0.858333 +vt 0.185000 0.853333 +vt 0.181250 0.853333 +vt 0.177500 0.858333 +vt 0.177500 0.863333 +vt 0.092500 0.858333 +vt 0.102500 0.858333 +vt 0.093750 0.863333 +vt 0.101250 0.863333 +vt 0.097500 0.865000 +vt 0.627500 0.316667 +vt 0.637500 0.316667 +vt 0.637500 0.313333 +vt 0.645000 0.171667 +vt 0.638750 0.315000 +vt 0.726250 0.295000 +vt 0.980000 0.268333 +vt 0.902500 0.128333 +vt 0.662500 0.136667 +vt 0.188750 0.863333 +vt 0.188750 0.858333 +vt 0.185000 0.853333 +vt 0.177500 0.858333 +vt 0.181250 0.868333 +vt 0.092500 0.858333 +vt 0.102500 0.858333 +vt 0.093750 0.863333 +vt 0.101250 0.863333 +vt 0.097500 0.865000 +vt 0.297500 0.310000 +vt 0.307500 0.273333 +vt 0.330000 0.090000 +vt 0.330000 0.090000 +vt 0.411250 0.090000 +vt 0.330000 0.090000 +vt 0.620000 0.603333 +vt 0.362500 0.623333 +vt 0.362500 0.603333 +vt 0.620000 0.623333 +vt 0.362500 0.643333 +vt 0.620000 0.643333 +vt 0.362500 0.663333 +vt 0.620000 0.663333 +vt 0.362500 0.683333 +vt 0.620000 0.683333 +vt 0.362500 0.703333 +vt 0.620000 0.703333 +vt 0.362500 0.723333 +vt 0.620000 0.723333 +vt 0.362500 0.743333 +vt 0.620000 0.743333 +vt 0.362500 0.763333 +vt 0.620000 0.763333 +vt 0.362500 0.783333 +vt 0.620000 0.783333 +vt 0.362500 0.803333 +vt 0.620000 0.803333 +vt 0.362500 0.823333 +vt 0.620000 0.823333 +vt 0.362500 0.843333 +vt 0.620000 0.523333 +vt 0.362500 0.543333 +vt 0.362500 0.523333 +vt 0.620000 0.543333 +vt 0.362500 0.563333 +vt 0.635000 0.623333 +vt 0.635000 0.643333 +vt 0.620000 0.563333 +vt 0.362500 0.583333 +vt 0.620000 0.583333 +vt 0.222500 0.551667 +vt 0.222500 0.558333 +vt 0.197500 0.555000 +vt 0.273750 0.665000 +vt 0.217500 0.676667 +vt 0.217500 0.665000 +vt 0.271250 0.758333 +vt 0.216250 0.750000 +vt 0.271250 0.748333 +vt 0.271250 0.608333 +vt 0.215000 0.616667 +vt 0.215000 0.611667 +vt 0.275000 0.528333 +vt 0.222500 0.538333 +vt 0.222500 0.531667 +vt 0.273750 0.711667 +vt 0.217500 0.700000 +vt 0.273750 0.700000 +vt 0.275000 0.820000 +vt 0.222500 0.810000 +vt 0.275000 0.808333 +vt 0.272500 0.588333 +vt 0.218750 0.596667 +vt 0.218750 0.591667 +vt 0.273750 0.676667 +vt 0.217500 0.688333 +vt 0.272500 0.778333 +vt 0.218750 0.770000 +vt 0.272500 0.768333 +vt 0.275000 0.548333 +vt 0.268750 0.628333 +vt 0.212500 0.636667 +vt 0.212500 0.631667 +vt 0.268750 0.738333 +vt 0.212500 0.730000 +vt 0.268750 0.728333 +vt 0.275000 0.838333 +vt 0.222500 0.828333 +vt 0.275000 0.826667 +vt 0.273750 0.688333 +vt 0.273750 0.798333 +vt 0.220000 0.790000 +vt 0.273750 0.788333 +vt 0.635000 0.583333 +vt 0.656250 0.563333 +vt 0.656250 0.583333 +vt 0.635000 0.743333 +vt 0.635000 0.843333 +vt 0.620000 0.843333 +vt 0.635000 0.703333 +vt 0.635000 0.803333 +vt 0.635000 0.563333 +vt 0.635000 0.663333 +vt 0.635000 0.763333 +vt 0.635000 0.603333 +vt 0.635000 0.523333 +vt 0.635000 0.543333 +vt 0.635000 0.723333 +vt 0.635000 0.823333 +vt 0.635000 0.683333 +vt 0.635000 0.783333 +vt 0.656250 0.686667 +vt 0.670000 0.698333 +vt 0.656250 0.701667 +vt 0.656250 0.763333 +vt 0.656250 0.603333 +vt 0.656250 0.623333 +vt 0.656250 0.783333 +vt 0.656250 0.643333 +vt 0.656250 0.803333 +vt 0.656250 0.663333 +vt 0.656250 0.823333 +vt 0.656250 0.683333 +vt 0.656250 0.843333 +vt 0.656250 0.703333 +vt 0.656250 0.523333 +vt 0.656250 0.543333 +vt 0.656250 0.723333 +vt 0.656250 0.743333 +vt 0.673750 0.798333 +vt 0.690000 0.790000 +vt 0.690000 0.796667 +vt 0.656250 0.541667 +vt 0.675000 0.530000 +vt 0.675000 0.540000 +vt 0.656250 0.705000 +vt 0.670000 0.716667 +vt 0.656250 0.720000 +vt 0.656250 0.561667 +vt 0.673750 0.550000 +vt 0.673750 0.560000 +vt 0.656250 0.725000 +vt 0.671250 0.736667 +vt 0.656250 0.740000 +vt 0.656250 0.581667 +vt 0.673750 0.570000 +vt 0.673750 0.580000 +vt 0.656250 0.746667 +vt 0.671250 0.758333 +vt 0.656250 0.761667 +vt 0.656250 0.620000 +vt 0.671250 0.608333 +vt 0.671250 0.618333 +vt 0.656250 0.601667 +vt 0.672500 0.590000 +vt 0.672500 0.600000 +vt 0.656250 0.768333 +vt 0.672500 0.780000 +vt 0.656250 0.781667 +vt 0.656250 0.641667 +vt 0.671250 0.630000 +vt 0.671250 0.640000 +vt 0.656250 0.786667 +vt 0.656250 0.801667 +vt 0.656250 0.661667 +vt 0.670000 0.650000 +vt 0.670000 0.660000 +vt 0.656250 0.806667 +vt 0.673750 0.816667 +vt 0.656250 0.820000 +vt 0.656250 0.681667 +vt 0.670000 0.670000 +vt 0.670000 0.680000 +vt 0.656250 0.826667 +vt 0.675000 0.836667 +vt 0.656250 0.840000 +vt 0.690000 0.571667 +vt 0.700000 0.576667 +vt 0.690000 0.578333 +vt 0.686250 0.658333 +vt 0.690000 0.808333 +vt 0.690000 0.815000 +vt 0.686206 0.678333 +vt 0.691250 0.828333 +vt 0.691250 0.835000 +vt 0.686250 0.690000 +vt 0.686250 0.696667 +vt 0.691250 0.538333 +vt 0.686250 0.708333 +vt 0.686250 0.715000 +vt 0.690000 0.558333 +vt 0.687500 0.728333 +vt 0.687500 0.735000 +vt 0.687500 0.750000 +vt 0.687500 0.756667 +vt 0.687500 0.616667 +vt 0.688750 0.598333 +vt 0.688750 0.771667 +vt 0.688750 0.778333 +vt 0.687500 0.638333 +vt 0.717500 0.551667 +vt 0.721250 0.555000 +vt 0.711250 0.565000 +vt 0.697500 0.751667 +vt 0.697500 0.755000 +vt 0.687500 0.610000 +vt 0.697500 0.615000 +vt 0.688750 0.591667 +vt 0.698750 0.596667 +vt 0.698750 0.773333 +vt 0.698750 0.776667 +vt 0.687500 0.631667 +vt 0.697500 0.636667 +vt 0.700000 0.791667 +vt 0.700000 0.795000 +vt 0.686250 0.651667 +vt 0.696250 0.656667 +vt 0.701250 0.810000 +vt 0.701250 0.813333 +vt 0.686250 0.671667 +vt 0.696250 0.676667 +vt 0.701250 0.830000 +vt 0.701250 0.833333 +vt 0.696250 0.691667 +vt 0.696250 0.695000 +vt 0.691250 0.531667 +vt 0.701250 0.536667 +vt 0.696250 0.710000 +vt 0.696250 0.713333 +vt 0.690000 0.551667 +vt 0.700000 0.556667 +vt 0.697500 0.730000 +vt 0.697500 0.733333 +vt 0.212500 0.735000 +vt 0.186250 0.731667 +vt 0.220000 0.571667 +vt 0.220000 0.576667 +vt 0.193750 0.575000 +vt 0.216250 0.755000 +vt 0.190000 0.753333 +vt 0.188750 0.613333 +vt 0.192500 0.595000 +vt 0.218750 0.775000 +vt 0.192500 0.773333 +vt 0.186250 0.635000 +vt 0.220000 0.795000 +vt 0.193750 0.791667 +vt 0.217500 0.668333 +vt 0.217500 0.675000 +vt 0.192500 0.671667 +vt 0.222500 0.816667 +vt 0.197500 0.813333 +vt 0.217500 0.680000 +vt 0.217500 0.686667 +vt 0.192500 0.683333 +vt 0.222500 0.835000 +vt 0.198750 0.831667 +vt 0.217500 0.690000 +vt 0.217500 0.696667 +vt 0.192500 0.693333 +vt 0.198750 0.535000 +vt 0.217500 0.701667 +vt 0.217500 0.708333 +vt 0.192500 0.705000 +vt 0.083750 0.290000 +vt 0.082500 0.125000 +vt 0.027500 0.141667 +vt 0.083750 0.290000 +vt 0.132500 0.141667 +vt 0.132500 0.141667 +vt 0.082500 0.125000 +vt 0.152500 0.130000 +vt 0.246250 0.413333 +vt 0.211250 0.413333 +vt 0.243750 0.406667 +vt 0.026250 0.111667 +vt 0.026250 0.125000 +vt 0.155000 0.130000 +vt 0.118750 0.101667 +vt 0.185000 0.078333 +vt 0.252500 0.101667 +vt 0.087500 0.081667 +vt 0.118750 0.078333 +vt 0.221250 0.111667 +vt 0.242500 0.111667 +vt 0.086250 0.111667 +vt 0.152500 0.130000 +vt 0.086250 0.111667 +vt 0.272500 0.440000 +vt 0.301250 0.440000 +vt 0.272500 0.453333 +vt 0.118750 0.101667 +vt 0.087500 0.081667 +vt 0.061250 0.101667 +vt 0.185000 0.078333 +vt 0.118750 0.078333 +vt 0.301250 0.490000 +vt 0.272500 0.490000 +vt 0.272500 0.476667 +vt 0.221250 0.111667 +vt 0.243750 0.420000 +vt 0.132500 0.141667 +vt 0.217500 0.465000 +vt 0.217500 0.453333 +vt 0.217500 0.476667 +vt 0.217500 0.440000 +vt 0.083750 0.290000 +vt 0.052500 0.295000 +vt 0.042500 0.290000 +vt 0.296250 0.465000 +vt 0.103750 0.321667 +vt 0.106250 0.498333 +vt 0.103750 0.498333 +vt 0.048750 0.321667 +vt 0.101250 0.498333 +vt 0.047500 0.498333 +vt 0.108750 0.498333 +vt 0.162500 0.321667 +vt 0.162500 0.498333 +vt 0.101250 0.321667 +vt 0.108750 0.321667 +vt 0.106250 0.321667 +vt 0.101250 0.500000 +vt 0.030000 0.498333 +vt 0.180000 0.498333 +vt 0.103750 0.321667 +vt 0.106250 0.498333 +vt 0.103750 0.498333 +vt 0.047500 0.321667 +vt 0.101250 0.498333 +vt 0.047500 0.498333 +vt 0.108297 0.498333 +vt 0.162500 0.321667 +vt 0.162500 0.498333 +vt 0.101250 0.321667 +vt 0.108750 0.321667 +vt 0.106250 0.321667 +vt 0.101250 0.500000 +vt 0.030000 0.498333 +vt 0.180000 0.498333 +vt 0.273750 0.568333 +vt 0.230000 0.885000 +vt 0.238750 0.930000 +vt 0.230000 0.930000 +vt 0.271250 0.743333 +vt 0.271250 0.623333 +vt 0.271250 0.603333 +vt 0.275000 0.543333 +vt 0.275000 0.523333 +vt 0.256250 0.885000 +vt 0.247500 0.930000 +vt 0.247500 0.885000 +vt 0.275000 0.803333 +vt 0.272500 0.603333 +vt 0.272500 0.583333 +vt 0.265000 0.885000 +vt 0.256250 0.930000 +vt 0.272500 0.763333 +vt 0.275000 0.563333 +vt 0.268750 0.643333 +vt 0.268750 0.623333 +vt 0.268750 0.723333 +vt 0.275000 0.823333 +vt 0.238750 0.885000 +vt 0.273750 0.783333 +vt 0.273750 0.583333 +vt 0.273750 0.563333 +vt 0.122500 0.990000 +vt 0.216250 0.971667 +vt 0.216250 0.990000 +vt 0.122500 0.916667 +vt 0.216250 0.935000 +vt 0.122500 0.935000 +vt 0.122500 0.971667 +vt 0.216250 0.953333 +vt 0.122500 0.953333 +vt 0.333750 0.885000 +vt 0.318750 0.928333 +vt 0.318750 0.885000 +vt 0.303750 0.928333 +vt 0.303750 0.885000 +vt 0.288750 0.885000 +vt 0.288750 0.928333 +vt 0.333750 0.986667 +vt 0.240000 0.941667 +vt 0.333750 0.941667 +vt 0.333750 0.941667 +vt 0.240000 0.986667 +vt 0.240000 0.941667 +vt 0.273750 0.885000 +vt 0.273750 0.928333 +vt 0.435000 0.963333 +vt 0.415000 0.976667 +vt 0.435000 0.976667 +vt 0.435000 0.950000 +vt 0.415000 0.963333 +vt 0.435000 0.936667 +vt 0.415000 0.950000 +vt 0.435000 0.923333 +vt 0.415000 0.936667 +vt 0.450000 0.936667 +vt 0.450000 0.963333 +vt 0.465000 0.950000 +vt 0.450000 0.950000 +vt 0.415000 0.923333 +vt 0.400000 0.936667 +vt 0.400000 0.950000 +vt 0.450000 0.976667 +vt 0.400000 0.963333 +vt 0.385000 0.950000 +vt 0.462500 0.936667 +vt 0.450000 0.923333 +vt 0.400000 0.923333 +vt 0.387500 0.936667 +vt 0.462500 0.963333 +vt 0.387500 0.963333 +vt 0.400000 0.976667 +vt 0.435000 0.923333 +vt 0.415000 0.936667 +vt 0.415000 0.923333 +vt 0.435000 0.936667 +vt 0.415000 0.950000 +vt 0.435000 0.950000 +vt 0.415000 0.963333 +vt 0.435000 0.963333 +vt 0.415000 0.976667 +vt 0.400000 0.963333 +vt 0.400000 0.936667 +vt 0.385000 0.950000 +vt 0.385000 0.936667 +vt 0.450000 0.976667 +vt 0.435000 0.976667 +vt 0.450000 0.950000 +vt 0.400000 0.950000 +vt 0.450000 0.963333 +vt 0.400000 0.923333 +vt 0.450000 0.936667 +vt 0.465000 0.950000 +vt 0.465000 0.963333 +vt 0.400000 0.976667 +vt 0.387500 0.963333 +vt 0.462500 0.963333 +vt 0.462500 0.976667 +vt 0.387500 0.936667 +vt 0.387500 0.923333 +vt 0.450000 0.923333 +vt 0.462500 0.936667 +vt 0.143750 0.846667 +vt 0.136250 0.828333 +vt 0.143750 0.828333 +vt 0.136250 0.846667 +vt 0.128750 0.828333 +vt 0.121250 0.846667 +vt 0.121250 0.828333 +vt 0.113750 0.846667 +vt 0.113750 0.828333 +vt 0.106250 0.828333 +vt 0.076250 0.898333 +vt 0.068750 0.908333 +vt 0.068750 0.898333 +vt 0.158750 0.846667 +vt 0.151250 0.875000 +vt 0.151250 0.846667 +vt 0.151250 0.828333 +vt 0.158750 0.828333 +vt 0.128750 0.875000 +vt 0.128750 0.846667 +vt 0.113750 0.805000 +vt 0.106250 0.875000 +vt 0.106250 0.846667 +vt 0.128750 0.805000 +vt 0.151250 0.805000 +vt 0.143750 0.805000 +vt 0.121250 0.875000 +vt 0.143750 0.875000 +vt 0.136250 0.875000 +vt 0.166250 0.805000 +vt 0.166250 0.828333 +vt 0.166250 0.846667 +vt 0.158750 0.875000 +vt 0.121250 0.805000 +vt 0.113750 0.875000 +vt 0.136250 0.805000 +vt 0.158750 0.805000 +vt 0.125000 0.726667 +vt 0.155000 0.726667 +vt 0.141250 0.908333 +vt 0.138750 0.908333 +vt 0.117500 0.726667 +vt 0.147500 0.726667 +vt 0.140000 0.726667 +vt 0.106250 0.805000 +vt 0.110000 0.726667 +vt 0.102500 0.871667 +vt 0.101250 0.878333 +vt 0.096250 0.876667 +vt 0.132500 0.726667 +vt 0.162500 0.726667 +vt 0.131250 0.908333 +vt 0.123750 0.908333 +vt 0.116250 0.908333 +vt 0.108750 0.908333 +vt 0.166250 0.875000 +vt 0.161250 0.908333 +vt 0.153750 0.908333 +vt 0.146250 0.908333 +vt 0.055000 0.908333 +vt 0.055000 0.898333 +vt 0.090000 0.898333 +vt 0.076250 0.908333 +vt 0.097500 0.898333 +vt 0.090000 0.908333 +vt 0.075000 0.626667 +vt 0.047500 0.610000 +vt 0.075000 0.608333 +vt 0.047500 0.606667 +vt 0.075000 0.596667 +vt 0.047500 0.586667 +vt 0.075000 0.585000 +vt 0.047500 0.583333 +vt 0.075000 0.566667 +vt 0.047500 0.565000 +vt 0.075000 0.555000 +vt 0.047500 0.553333 +vt 0.075000 0.543333 +vt 0.031250 0.600000 +vt 0.047500 0.598333 +vt 0.075000 0.650000 +vt 0.047500 0.640000 +vt 0.075000 0.638333 +vt 0.047500 0.628333 +vt 0.033750 0.558333 +vt 0.047500 0.556667 +vt 0.033750 0.635000 +vt 0.033750 0.630000 +vt 0.047500 0.626667 +vt 0.033750 0.621667 +vt 0.031250 0.593333 +vt 0.031250 0.586667 +vt 0.033750 0.546667 +vt 0.047500 0.545000 +vt 0.047500 0.566667 +vt 0.033750 0.571667 +vt 0.033750 0.566667 +vt 0.033750 0.646667 +vt 0.033750 0.640000 +vt 0.101250 0.626667 +vt 0.128750 0.618333 +vt 0.128750 0.625000 +vt 0.101250 0.585000 +vt 0.101250 0.608333 +vt 0.101250 0.566667 +vt 0.101250 0.638333 +vt 0.101250 0.596667 +vt 0.128750 0.630000 +vt 0.128750 0.636667 +vt 0.101250 0.543333 +vt 0.128750 0.551667 +vt 0.101250 0.555000 +vt 0.128750 0.575000 +vt 0.128750 0.601667 +vt 0.128750 0.606667 +vt 0.101250 0.650000 +vt 0.128750 0.641667 +vt 0.128750 0.646667 +vt 0.128750 0.563333 +vt 0.128750 0.591667 +vt 0.627500 0.311667 +vt 0.637500 0.313333 +vt 0.627500 0.316667 +vt 0.902500 0.131667 +vt 0.671250 0.191667 +vt 0.673750 0.131667 +vt 0.633750 0.133333 +vt 0.643750 0.138333 +vt 0.645000 0.171667 +vt 0.387500 0.311667 +vt 0.330000 0.318333 +vt 0.330000 0.310000 +vt 0.663750 0.315000 +vt 0.638750 0.311667 +vt 0.663750 0.311667 +vt 0.387500 0.318333 +vt 0.620000 0.315000 +vt 0.620000 0.318333 +vt 0.636250 0.193333 +vt 0.398750 0.133333 +vt 0.682500 0.311667 +vt 0.825000 0.295000 +vt 0.765000 0.306667 +vt 0.765000 0.295000 +vt 0.732500 0.310000 +vt 0.726250 0.295000 +vt 0.960000 0.238333 +vt 0.902500 0.238333 +vt 0.340000 0.241667 +vt 0.340000 0.133333 +vt 0.308750 0.310000 +vt 0.980000 0.131667 +vt 0.980000 0.268333 +vt 0.318750 0.133333 +vt 0.307500 0.130000 +vt 0.318750 0.130000 +vt 0.673750 0.128333 +vt 0.671250 0.130000 +vt 0.633750 0.130000 +vt 0.636250 0.131667 +vt 0.902500 0.128333 +vt 0.398750 0.130000 +vt 0.340000 0.130000 +vt 0.960000 0.128333 +vt 0.960000 0.131667 +vt 0.980000 0.128333 +vt 0.662500 0.168333 +vt 0.662500 0.136667 +vt 0.075000 0.626667 +vt 0.047500 0.610000 +vt 0.075000 0.608333 +vt 0.047500 0.606667 +vt 0.075000 0.596667 +vt 0.047500 0.586667 +vt 0.075000 0.585000 +vt 0.047500 0.583333 +vt 0.075000 0.566667 +vt 0.047500 0.565000 +vt 0.075000 0.555000 +vt 0.047500 0.553333 +vt 0.075000 0.543333 +vt 0.031250 0.600000 +vt 0.047500 0.598333 +vt 0.075000 0.650000 +vt 0.047500 0.640000 +vt 0.075000 0.638333 +vt 0.047500 0.628333 +vt 0.101250 0.543333 +vt 0.101250 0.555000 +vt 0.033750 0.558333 +vt 0.047500 0.556667 +vt 0.033750 0.635000 +vt 0.033750 0.630000 +vt 0.047500 0.626667 +vt 0.033750 0.621667 +vt 0.031250 0.593333 +vt 0.031250 0.586667 +vt 0.033750 0.546667 +vt 0.047500 0.545000 +vt 0.047500 0.566667 +vt 0.033750 0.571667 +vt 0.033750 0.566667 +vt 0.033750 0.646667 +vt 0.033750 0.640000 +vt 0.101250 0.626667 +vt 0.128750 0.618333 +vt 0.128750 0.625000 +vt 0.101250 0.585000 +vt 0.101250 0.650000 +vt 0.101250 0.608333 +vt 0.101250 0.566667 +vt 0.101250 0.638333 +vt 0.101250 0.596667 +vt 0.128750 0.630000 +vt 0.128750 0.636667 +vt 0.128750 0.551667 +vt 0.128750 0.575000 +vt 0.128750 0.601667 +vt 0.128750 0.606667 +vt 0.128750 0.641667 +vt 0.128750 0.646667 +vt 0.128750 0.563333 +vt 0.128750 0.591667 +vt 0.297500 0.318333 +vt 0.297500 0.310000 +vt 0.310000 0.273333 +vt 0.307500 0.133333 +vt 0.136250 0.828333 +vt 0.143750 0.846667 +vt 0.143750 0.828333 +vt 0.128750 0.828333 +vt 0.136250 0.846667 +vt 0.121250 0.828333 +vt 0.128750 0.846667 +vt 0.113750 0.828333 +vt 0.121250 0.846667 +vt 0.106250 0.828333 +vt 0.113750 0.846667 +vt 0.068750 0.908333 +vt 0.076250 0.898333 +vt 0.068750 0.898333 +vt 0.151250 0.875000 +vt 0.158750 0.846667 +vt 0.151250 0.846667 +vt 0.151250 0.828333 +vt 0.158750 0.828333 +vt 0.128750 0.875000 +vt 0.113750 0.805000 +vt 0.106250 0.875000 +vt 0.106250 0.846667 +vt 0.128750 0.805000 +vt 0.151250 0.805000 +vt 0.143750 0.805000 +vt 0.121250 0.875000 +vt 0.143750 0.875000 +vt 0.136250 0.875000 +vt 0.166250 0.805000 +vt 0.166250 0.828333 +vt 0.158750 0.875000 +vt 0.166250 0.846667 +vt 0.121250 0.805000 +vt 0.113750 0.875000 +vt 0.136250 0.805000 +vt 0.158750 0.805000 +vt 0.125000 0.726667 +vt 0.155000 0.726667 +vt 0.141250 0.908333 +vt 0.117500 0.726667 +vt 0.147500 0.726667 +vt 0.140000 0.726667 +vt 0.110000 0.726667 +vt 0.106250 0.805000 +vt 0.097500 0.878333 +vt 0.101250 0.878333 +vt 0.102500 0.876667 +vt 0.132500 0.726667 +vt 0.162500 0.726667 +vt 0.131250 0.908333 +vt 0.123750 0.908333 +vt 0.116250 0.908333 +vt 0.111250 0.908333 +vt 0.161250 0.908333 +vt 0.166250 0.875000 +vt 0.156250 0.908333 +vt 0.146250 0.908333 +vt 0.055000 0.908333 +vt 0.055000 0.898333 +vt 0.076250 0.908333 +vt 0.090000 0.898333 +vt 0.090000 0.908333 +vt 0.097500 0.898333 +vt 0.075000 0.626667 +vt 0.047500 0.610000 +vt 0.047500 0.626667 +vt 0.075000 0.596667 +vt 0.047500 0.606667 +vt 0.075000 0.608333 +vt 0.047500 0.586667 +vt 0.047500 0.595000 +vt 0.075000 0.566667 +vt 0.047500 0.583333 +vt 0.075000 0.585000 +vt 0.075000 0.555000 +vt 0.047500 0.565000 +vt 0.075000 0.543333 +vt 0.047500 0.553333 +vt 0.031250 0.600000 +vt 0.047500 0.598333 +vt 0.075000 0.650000 +vt 0.047500 0.640000 +vt 0.047500 0.648333 +vt 0.075000 0.638333 +vt 0.047500 0.628333 +vt 0.047500 0.636667 +vt 0.033750 0.558333 +vt 0.047500 0.556667 +vt 0.033750 0.635000 +vt 0.033750 0.621667 +vt 0.031250 0.593333 +vt 0.033750 0.546667 +vt 0.047500 0.545000 +vt 0.047500 0.566667 +vt 0.033750 0.571667 +vt 0.033750 0.646667 +vt 0.101250 0.626667 +vt 0.128750 0.618333 +vt 0.101250 0.608333 +vt 0.101250 0.585000 +vt 0.101250 0.566667 +vt 0.101250 0.638333 +vt 0.101250 0.596667 +vt 0.128750 0.630000 +vt 0.128750 0.551667 +vt 0.101250 0.543333 +vt 0.101250 0.555000 +vt 0.128750 0.575000 +vt 0.128750 0.601667 +vt 0.101250 0.650000 +vt 0.128750 0.641667 +vt 0.128750 0.563333 +vt 0.128750 0.591667 +vt 0.075000 0.626667 +vt 0.047500 0.610000 +vt 0.047500 0.626667 +vt 0.075000 0.596667 +vt 0.047500 0.606667 +vt 0.075000 0.608333 +vt 0.047500 0.586667 +vt 0.047500 0.595000 +vt 0.075000 0.566667 +vt 0.047500 0.583333 +vt 0.075000 0.585000 +vt 0.075000 0.555000 +vt 0.047500 0.565000 +vt 0.075000 0.543333 +vt 0.047500 0.553333 +vt 0.031250 0.600000 +vt 0.047500 0.598333 +vt 0.075000 0.650000 +vt 0.047500 0.640000 +vt 0.047500 0.648333 +vt 0.075000 0.638333 +vt 0.047500 0.628333 +vt 0.047500 0.636667 +vt 0.101250 0.543333 +vt 0.033750 0.558333 +vt 0.047500 0.556667 +vt 0.033750 0.635000 +vt 0.033750 0.621667 +vt 0.031250 0.593333 +vt 0.033750 0.546667 +vt 0.047500 0.545000 +vt 0.047500 0.566667 +vt 0.033750 0.571667 +vt 0.033750 0.646667 +vt 0.101250 0.626667 +vt 0.128750 0.618333 +vt 0.101250 0.608333 +vt 0.101250 0.585000 +vt 0.101250 0.650000 +vt 0.101250 0.566667 +vt 0.101250 0.596667 +vt 0.101250 0.638333 +vt 0.128750 0.630000 +vt 0.128750 0.551667 +vt 0.101250 0.555000 +vt 0.128750 0.575000 +vt 0.128750 0.601667 +vt 0.128750 0.641667 +vt 0.128750 0.563333 +vt 0.128750 0.591667 +vt 0.271250 0.618333 +vt 0.275000 0.540000 +vt 0.217500 0.711667 +vt 0.272500 0.598333 +vt 0.275000 0.560000 +vt 0.268750 0.638333 +vt 0.670000 0.688333 +vt 0.673750 0.788333 +vt 0.656250 0.526667 +vt 0.670000 0.706667 +vt 0.656250 0.546667 +vt 0.671250 0.726667 +vt 0.656250 0.566667 +vt 0.671250 0.748333 +vt 0.656250 0.605000 +vt 0.656250 0.586667 +vt 0.672500 0.770000 +vt 0.656250 0.626667 +vt 0.656250 0.646667 +vt 0.673750 0.806667 +vt 0.656250 0.666667 +vt 0.675000 0.826667 +vt 0.700000 0.573333 +vt 0.722500 0.558333 +vt 0.722500 0.561667 +vt 0.721250 0.565000 +vt 0.720000 0.566667 +vt 0.717500 0.568333 +vt 0.715000 0.568333 +vt 0.712500 0.566667 +vt 0.710000 0.561667 +vt 0.712500 0.553333 +vt 0.710000 0.558333 +vt 0.711250 0.555000 +vt 0.715000 0.551667 +vt 0.720000 0.553333 +vt 0.697500 0.611667 +vt 0.698750 0.593333 +vt 0.697500 0.633333 +vt 0.696250 0.653333 +vt 0.696250 0.673333 +vt 0.701250 0.533333 +vt 0.700000 0.553333 +vt 0.061250 0.101610 +vt 0.252500 0.101667 +vt 0.217500 0.490000 +vt 0.108750 0.500000 +vt 0.108750 0.516667 +vt 0.101250 0.516667 +vt 0.105000 0.538333 +vt 0.030000 0.321667 +vt 0.180000 0.321667 +vt 0.108750 0.500000 +vt 0.108750 0.516667 +vt 0.101250 0.516667 +vt 0.105000 0.538333 +vt 0.030000 0.321667 +vt 0.180000 0.321667 +vt 0.273750 0.578333 +vt 0.271250 0.763333 +vt 0.265000 0.930000 +vt 0.272500 0.783333 +vt 0.268750 0.743333 +vt 0.275000 0.843333 +vt 0.273750 0.803333 +vt 0.216250 0.916667 +vt 0.333750 0.928333 +vt 0.240000 0.986667 +vt 0.333750 0.986667 +vt 0.465000 0.963333 +vt 0.385000 0.963333 +vt 0.465000 0.936667 +vt 0.385000 0.936667 +vt 0.462500 0.923333 +vt 0.387500 0.923333 +vt 0.462500 0.976667 +vt 0.387500 0.976667 +vt 0.465000 0.936667 +vt 0.385000 0.963333 +vt 0.387500 0.976667 +vt 0.462500 0.923333 +vt 0.097500 0.870000 +vt 0.101250 0.870000 +vt 0.102500 0.876667 +vt 0.097500 0.878333 +vt 0.096250 0.871667 +vt 0.133750 0.908333 +vt 0.126250 0.908333 +vt 0.118750 0.908333 +vt 0.111250 0.908333 +vt 0.163750 0.908333 +vt 0.156250 0.908333 +vt 0.148750 0.908333 +vt 0.097500 0.908333 +vt 0.047500 0.595000 +vt 0.031250 0.606667 +vt 0.047500 0.648333 +vt 0.047500 0.636667 +vt 0.033750 0.563333 +vt 0.033750 0.626667 +vt 0.033750 0.553333 +vt 0.128750 0.546667 +vt 0.128750 0.568333 +vt 0.128750 0.558333 +vt 0.128750 0.586667 +vt 0.637500 0.316667 +vt 0.625000 0.315000 +vt 0.625000 0.311667 +vt 0.638750 0.315000 +vt 0.398750 0.241667 +vt 0.308750 0.318333 +vt 0.047500 0.595000 +vt 0.031250 0.606667 +vt 0.047500 0.648333 +vt 0.047500 0.636667 +vt 0.033750 0.563333 +vt 0.033750 0.626667 +vt 0.033750 0.553333 +vt 0.128750 0.546667 +vt 0.128750 0.568333 +vt 0.128750 0.558333 +vt 0.128750 0.586667 +vt 0.307500 0.273333 +vt 0.138750 0.908333 +vt 0.102500 0.871667 +vt 0.101250 0.870000 +vt 0.097500 0.870000 +vt 0.096250 0.871667 +vt 0.096250 0.876667 +vt 0.133750 0.908333 +vt 0.126250 0.908333 +vt 0.118750 0.908333 +vt 0.108750 0.908333 +vt 0.163750 0.908333 +vt 0.153750 0.908333 +vt 0.148750 0.908333 +vt 0.097500 0.908333 +vt 0.031250 0.606667 +vt 0.033750 0.563333 +vt 0.033750 0.630000 +vt 0.033750 0.626667 +vt 0.031250 0.586667 +vt 0.033750 0.553333 +vt 0.033750 0.566667 +vt 0.033750 0.640000 +vt 0.128750 0.625000 +vt 0.128750 0.636667 +vt 0.128750 0.546667 +vt 0.128750 0.568333 +vt 0.128750 0.606667 +vt 0.128750 0.646667 +vt 0.128750 0.558333 +vt 0.128750 0.586667 +vt 0.031250 0.606667 +vt 0.033750 0.563333 +vt 0.033750 0.630000 +vt 0.033750 0.626667 +vt 0.031250 0.586667 +vt 0.033750 0.553333 +vt 0.033750 0.566667 +vt 0.033750 0.640000 +vt 0.128750 0.625000 +vt 0.128750 0.636667 +vt 0.128750 0.546667 +vt 0.128750 0.568333 +vt 0.128750 0.606667 +vt 0.128750 0.646667 +vt 0.128750 0.558333 +vt 0.128750 0.586667 +vn 1.0000 0.0000 0.0000 +vn -1.0000 -0.0000 0.0000 +vn 0.8658 0.0000 0.5004 +vn -0.0459 -0.9989 0.0110 +vn 0.0000 1.0000 -0.0000 +vn 1.0000 0.0000 0.0058 +vn 0.0160 0.0000 0.9999 +vn 0.9998 0.0000 0.0212 +vn -0.0429 0.9991 -0.0002 +vn -0.4367 0.0000 0.8996 +vn -0.9999 0.0000 -0.0145 +vn -0.6499 0.0000 0.7600 +vn -0.0432 -0.9957 0.0823 +vn -0.0432 0.9973 0.0593 +vn -0.0000 -1.0000 -0.0000 +vn 0.3704 0.9289 -0.0002 +vn 0.3671 -0.9285 -0.0559 +vn 0.3514 0.9109 -0.2165 +vn 0.3704 0.9288 0.0078 +vn 0.3711 -0.9284 0.0190 +vn 0.3704 0.9289 0.0022 +vn 0.3704 -0.9286 0.0237 +vn 0.3704 0.9289 0.0000 +vn 0.3707 -0.9288 0.0000 +vn -0.0405 -0.9933 0.1083 +vn 1.0000 0.0000 -0.0005 +vn -0.0377 0.9993 0.0000 +vn -0.0471 -0.9988 -0.0103 +vn -0.0471 -0.9988 0.0103 +vn -0.0430 -0.9990 0.0116 +vn -0.0535 0.9883 -0.1431 +vn -0.0465 0.9989 -0.0010 +vn -0.6399 0.5727 0.5124 +vn -0.0001 -0.9997 0.0232 +vn 0.3705 -0.9286 0.0190 +vn 0.3705 -0.9285 0.0237 +vn 0.0119 -0.9743 0.2249 +vn 0.0035 -0.9751 0.2219 +vn 0.0810 0.0057 -0.9967 +vn -0.1343 -0.3904 -0.9108 +vn -0.0938 -0.0125 -0.9955 +vn 0.0630 -0.3770 -0.9241 +vn -0.0927 -0.6622 -0.7436 +vn 0.0473 -0.7034 -0.7093 +vn -0.0000 -0.9239 -0.3827 +vn 0.0367 -0.9224 -0.3845 +vn 0.0329 -0.9995 -0.0000 +vn -0.0000 -0.9239 0.3827 +vn 0.0367 -0.9224 0.3845 +vn -0.0927 -0.6622 0.7436 +vn 0.0473 -0.7034 0.7093 +vn -0.1343 -0.3904 0.9108 +vn 0.0630 -0.3770 0.9241 +vn -0.0938 -0.0125 0.9955 +vn 0.0810 0.0057 0.9967 +vn -0.0550 0.3723 0.9265 +vn 0.0986 0.3856 0.9174 +vn -0.0249 0.7017 0.7120 +vn 0.1131 0.7053 0.6998 +vn -0.0070 0.9226 0.3858 +vn 0.1226 0.9177 0.3779 +vn -0.0014 1.0000 0.0000 +vn 0.1259 0.9920 0.0000 +vn -0.0070 0.9226 -0.3858 +vn 0.1226 0.9177 -0.3779 +vn -0.0249 0.7017 -0.7120 +vn 0.2507 -0.3642 -0.8969 +vn 0.1960 -0.6891 -0.6976 +vn 0.1131 0.7053 -0.6998 +vn -0.0550 0.3723 -0.9265 +vn 0.0986 0.3856 -0.9174 +vn -0.1689 0.9518 -0.2560 +vn -0.2026 0.8198 -0.5356 +vn -0.9999 0.0152 -0.0000 +vn -0.3334 -0.6673 -0.6660 +vn -0.3677 -0.8964 -0.2474 +vn -0.3703 -0.7707 -0.5186 +vn -0.1850 0.0004 0.9827 +vn -0.3649 -0.4770 0.7996 +vn -0.2728 -0.4089 0.8708 +vn -0.1850 0.0004 -0.9827 +vn -0.3649 -0.4770 -0.7996 +vn -0.3264 0.0192 -0.9450 +vn -0.0032 1.0000 0.0000 +vn -0.1583 0.9874 0.0000 +vn -0.3334 -0.6673 0.6660 +vn -0.3677 -0.8964 0.2474 +vn -0.3863 -0.8696 0.3074 +vn -0.0117 0.9403 0.3403 +vn -0.2026 0.8198 0.5356 +vn -0.0419 0.7512 0.6588 +vn -0.1008 0.4241 -0.9000 +vn -0.2608 0.5178 -0.8148 +vn -0.3863 -0.8696 -0.3074 +vn -0.3669 -0.9303 -0.0000 +vn -0.1008 0.4241 0.9000 +vn -0.3264 0.0192 0.9450 +vn -0.0117 0.9403 -0.3403 +vn -0.2728 -0.4089 -0.8708 +vn -0.3703 -0.7707 0.5186 +vn -0.1689 0.9518 0.2560 +vn -0.3977 -0.9175 -0.0000 +vn -0.2608 0.5178 0.8148 +vn 0.3630 0.3606 -0.8592 +vn 0.6235 0.5508 -0.5548 +vn 0.5707 0.3111 -0.7599 +vn 0.2507 -0.3642 0.8969 +vn 0.4384 0.8988 0.0000 +vn 0.1571 -0.9110 0.3812 +vn 0.4042 0.6486 0.6449 +vn 0.4042 0.6486 -0.6449 +vn 0.1571 -0.9110 -0.3812 +vn 0.3097 0.0059 0.9508 +vn 0.3097 0.0059 -0.9508 +vn 0.4298 0.8347 -0.3444 +vn 0.1960 -0.6891 0.6976 +vn 0.4298 0.8347 0.3444 +vn 0.1430 -0.9897 -0.0000 +vn 0.3630 0.3606 0.8592 +vn 0.2476 -0.9689 0.0000 +vn 0.3523 -0.8680 0.3499 +vn 0.2698 -0.8895 0.3687 +vn 0.4980 -0.0029 0.8672 +vn 0.4980 -0.0029 -0.8672 +vn 0.4128 -0.3500 -0.8409 +vn 0.5707 0.3111 0.7599 +vn 0.3303 -0.6676 -0.6672 +vn 0.6235 0.5508 0.5548 +vn 0.2698 -0.8895 -0.3687 +vn 0.6547 0.6978 0.2907 +vn 0.6649 0.7469 -0.0000 +vn 0.6547 0.6978 -0.2907 +vn 0.3303 -0.6676 0.6672 +vn 0.4128 -0.3500 0.8409 +vn 0.5478 0.5836 0.5994 +vn 0.4691 0.3372 0.8162 +vn 0.4631 0.6263 0.6271 +vn 0.5732 0.8194 0.0000 +vn 0.5669 0.7589 -0.3205 +vn 0.3827 -0.6643 0.6421 +vn 0.5478 0.5836 -0.5994 +vn 0.4269 -0.3638 0.8279 +vn 0.5161 0.3131 -0.7973 +vn 0.4737 -0.0189 0.8805 +vn 0.4737 -0.0189 -0.8805 +vn 0.4257 -0.3636 -0.8286 +vn 0.5161 0.3131 0.7973 +vn 0.3827 -0.6643 -0.6421 +vn 0.3523 -0.8680 -0.3499 +vn 0.5669 0.7589 0.3205 +vn 0.3415 -0.9399 0.0000 +vn 0.4631 0.6263 -0.6271 +vn 0.8540 0.2014 -0.4797 +vn 0.4691 0.3372 -0.8162 +vn 0.4920 -0.8044 -0.3329 +vn 0.4591 0.8206 0.3403 +vn 0.4933 -0.8699 -0.0000 +vn 0.4577 0.8891 0.0000 +vn 0.4920 -0.8044 0.3329 +vn 0.4591 0.8206 -0.3403 +vn 0.4883 -0.6175 0.6167 +vn 0.4827 -0.3358 0.8088 +vn 0.4759 -0.0008 0.8795 +vn 0.4827 -0.3358 -0.8088 +vn 0.4759 -0.0008 -0.8795 +vn 0.4883 -0.6175 -0.6167 +vn 0.8654 -0.5011 0.0000 +vn 0.8631 -0.3559 -0.3584 +vn 0.8512 0.3725 0.3698 +vn 0.8604 -0.1928 0.4717 +vn 0.8572 0.0026 0.5149 +vn 0.8604 -0.1928 -0.4717 +vn 0.8572 0.0026 -0.5149 +vn 0.8540 0.2014 0.4797 +vn 0.8648 -0.4635 -0.1931 +vn 0.8493 0.4881 0.2010 +vn 0.8486 0.5290 -0.0000 +vn 0.8648 -0.4635 0.1931 +vn 0.8493 0.4881 -0.2010 +vn 0.8631 -0.3559 0.3584 +vn 0.8512 0.3725 -0.3698 +vn 0.2304 0.6351 -0.7372 +vn -0.0556 0.0738 -0.9957 +vn -0.0764 0.0081 -0.9970 +vn 0.6917 0.7222 -0.0000 +vn 0.2932 0.2402 0.9254 +vn 0.5995 0.8004 0.0000 +vn -0.0477 0.0732 0.9962 +vn 0.1893 0.5721 0.7980 +vn -0.2282 0.9736 0.0000 +vn 0.2304 0.6351 0.7372 +vn -0.9997 0.0243 0.0000 +vn -0.0708 -0.0046 -0.9975 +vn 0.2401 0.9707 -0.0000 +vn -0.0307 0.3710 0.9281 +vn 0.0147 0.6209 0.7838 +vn 0.1072 0.7709 0.6279 +vn -0.0940 0.2428 0.9655 +vn -0.0321 0.0475 0.9984 +vn 0.1421 0.9899 0.0000 +vn 0.1893 0.5721 -0.7980 +vn -0.0307 0.3710 -0.9281 +vn -0.3565 -0.6551 0.6661 +vn -0.0940 0.2428 -0.9655 +vn 0.0147 0.6209 -0.7838 +vn -0.0321 0.0475 -0.9984 +vn -0.3565 -0.6551 -0.6661 +vn 0.1072 0.7709 -0.6279 +vn 0.2892 0.2425 -0.9260 +vn -0.0185 -0.9506 0.3099 +vn -0.0185 -0.9506 -0.3099 +vn -0.0938 0.0570 0.9940 +vn -0.0768 0.0053 0.9970 +vn -0.0708 -0.0046 0.9975 +vn -0.0938 0.0570 -0.9940 +vn 0.9098 0.3822 -0.1619 +vn 0.9036 -0.3973 -0.1603 +vn 0.9036 0.3973 -0.1603 +vn -0.1043 0.9944 -0.0158 +vn 0.3414 0.9380 -0.0604 +vn -0.0931 0.9956 -0.0133 +vn 0.3414 -0.9380 -0.0604 +vn -0.1043 -0.9944 -0.0158 +vn -0.0931 -0.9956 -0.0133 +vn 0.3955 0.9158 -0.0703 +vn 0.3955 -0.9158 -0.0703 +vn 0.9098 -0.3822 -0.1619 +vn 0.0000 0.0000 -1.0000 +vn -0.2024 0.9789 -0.0291 +vn -0.2024 -0.9789 -0.0291 +vn 0.9098 -0.3822 0.1619 +vn 0.9036 0.3973 0.1603 +vn 0.9036 -0.3973 0.1603 +vn -0.1043 -0.9944 0.0158 +vn 0.3414 -0.9380 0.0604 +vn -0.0931 -0.9956 0.0133 +vn 0.3414 0.9380 0.0604 +vn -0.1043 0.9944 0.0158 +vn -0.0931 0.9956 0.0133 +vn 0.3955 -0.9158 0.0704 +vn 0.3955 0.9158 0.0703 +vn 0.9098 0.3822 0.1619 +vn -0.0000 0.0000 1.0000 +vn -0.2024 -0.9789 0.0291 +vn -0.2024 0.9789 0.0291 +vn -0.0419 0.7512 -0.6588 +vn 0.1769 -0.8514 0.4938 +vn 0.1911 -0.9199 0.3424 +vn 0.1922 -0.9249 -0.3279 +vn 0.2034 -0.9791 0.0000 +vn 0.1769 -0.8514 -0.4938 +vn 0.1911 -0.9199 -0.3424 +vn 0.1922 -0.9249 0.3279 +vn -0.3601 -0.7774 -0.5156 +vn -0.3792 -0.8660 -0.3260 +vn -0.3595 -0.8072 -0.4682 +vn -0.3601 -0.7774 0.5156 +vn -0.3792 -0.8660 0.3260 +vn -0.3829 -0.8572 0.3443 +vn -0.3829 -0.8572 -0.3443 +vn -0.3946 -0.9188 0.0000 +vn -0.0478 0.2298 -0.9721 +vn -0.1878 0.9036 -0.3850 +vn -0.1892 0.9107 -0.3673 +vn -0.2034 0.9791 0.0000 +vn -0.1892 0.9107 0.3673 +vn -0.1878 0.9036 0.3850 +vn 0.0460 -0.2216 -0.9740 +vn -0.1276 0.6143 -0.7787 +vn -0.0478 0.2298 0.9721 +vn 0.0460 -0.2216 0.9740 +vn -0.1276 0.6143 0.7787 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 0.3827 -0.9239 +vn -0.2584 -0.0301 -0.9656 +vn -0.2138 -0.9758 -0.0466 +vn -0.5821 -0.5915 -0.5579 +vn -0.2876 -0.6718 -0.6826 +vn 0.2584 -0.0301 -0.9656 +vn 0.2876 -0.6718 -0.6826 +vn -0.0962 -0.9196 0.3809 +vn 0.2138 -0.9758 -0.0466 +vn 0.5821 -0.5915 -0.5579 +vn -0.4781 0.0910 -0.8736 +vn -0.2081 0.3743 -0.9036 +vn 0.2081 0.3743 -0.9036 +vn 0.4781 0.0910 -0.8736 +vn -0.3220 -0.9376 0.1309 +vn 0.3220 -0.9376 0.1309 +vn 0.0962 -0.9196 0.3809 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.3827 0.9239 +vn -0.2584 -0.0301 0.9656 +vn -0.2138 -0.9758 0.0466 +vn -0.5821 -0.5915 0.5579 +vn -0.3220 -0.9376 -0.1309 +vn 0.2081 0.3743 0.9036 +vn 0.2876 -0.6718 0.6826 +vn -0.2876 -0.6718 0.6826 +vn 0.2584 -0.0301 0.9656 +vn -0.0962 -0.9196 -0.3809 +vn 0.2138 -0.9758 0.0466 +vn 0.5821 -0.5915 0.5579 +vn 0.4781 0.0910 0.8736 +vn -0.2081 0.3743 0.9037 +vn -0.4781 0.0910 0.8736 +vn 0.3582 0.3573 0.8626 +vn -0.1649 -0.9112 -0.3774 +vn 0.0962 -0.9196 -0.3809 +vn 0.3220 -0.9376 -0.1309 +vn 0.0000 -0.3827 -0.9239 +vn -0.0000 -0.3827 0.9239 +vn -0.2811 0.6786 0.6786 +vn 0.2811 0.6786 -0.6786 +vn 0.7071 0.0000 0.7071 +vn 0.2811 0.6786 0.6786 +vn 0.1290 0.3795 -0.9162 +vn -0.2811 0.6786 -0.6786 +vn 0.1290 -0.9162 0.3795 +vn -0.0842 0.3813 0.9206 +vn 0.1290 0.9162 0.3795 +vn -0.0842 -0.9206 0.3813 +vn -0.0842 0.3813 -0.9206 +vn -0.0842 -0.3813 -0.9206 +vn 0.1290 -0.3795 0.9162 +vn 0.1290 -0.3795 -0.9162 +vn 0.1290 -0.9162 -0.3795 +vn -0.0842 0.9206 0.3813 +vn 0.1290 0.9162 -0.3795 +vn -0.0842 -0.3813 0.9206 +vn 0.1290 0.3795 0.9162 +vn -0.0842 -0.9206 -0.3813 +vn -0.0842 0.9206 -0.3813 +vn 0.7274 -0.2626 -0.6340 +vn 0.7274 -0.6340 -0.2626 +vn 0.7274 0.6340 -0.2626 +vn 0.7274 0.2626 0.6340 +vn 0.7274 -0.6340 0.2626 +vn 0.7274 -0.2626 0.6340 +vn 0.7274 0.6340 0.2626 +vn 0.7274 0.2626 -0.6340 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.0395 0.0793 -0.9961 +vn 0.2579 -0.6421 -0.7219 +vn 0.0374 -0.6482 -0.7605 +vn 0.0345 -0.9994 0.0000 +vn 0.2580 -0.6421 0.7219 +vn 0.0374 -0.6482 0.7605 +vn 0.0395 0.0793 0.9961 +vn 0.1484 0.0900 0.9848 +vn 0.0396 0.7059 0.7072 +vn 0.1393 0.7021 0.6983 +vn 0.0380 0.9993 0.0000 +vn 0.5402 -0.8415 -0.0000 +vn 0.2980 -0.9546 0.0000 +vn 0.1393 0.7021 -0.6983 +vn 0.0396 0.7059 -0.7072 +vn 0.1483 0.0900 -0.9848 +vn 0.2023 0.6897 0.6953 +vn 0.2022 0.6897 -0.6953 +vn 0.1873 -0.0056 -0.9823 +vn 0.3633 -0.5613 -0.7436 +vn 0.3633 -0.5613 0.7436 +vn 0.2084 0.9780 -0.0000 +vn 0.1406 0.9901 0.0000 +vn 0.1874 -0.0056 0.9823 +vn -0.0994 0.0743 -0.9923 +vn -0.2799 -0.6041 -0.7461 +vn -0.1984 0.0653 -0.9779 +vn -0.1426 -0.6541 0.7428 +vn -0.1426 -0.6541 -0.7428 +vn -0.0994 0.0743 0.9923 +vn -0.0928 0.7032 -0.7049 +vn -0.1643 -0.9864 0.0000 +vn -0.1889 0.6964 -0.6923 +vn -0.0906 0.9959 0.0000 +vn -0.1889 0.6964 0.6923 +vn -0.0928 0.7032 0.7049 +vn -0.2799 -0.6041 0.7461 +vn -0.3368 -0.9416 0.0000 +vn -0.1844 0.9829 0.0000 +vn -0.1984 0.0653 0.9779 +vn 0.6227 -0.6827 -0.3822 +vn 0.4008 -0.5261 -0.7501 +vn 0.6464 0.7155 -0.2650 +vn 0.1749 -0.9843 -0.0258 +vn -0.9373 -0.0099 -0.3483 +vn 0.1369 -0.9880 -0.0719 +vn 0.1380 0.9894 0.0443 +vn 0.4011 0.6112 -0.6824 +vn -0.1967 0.7052 -0.6812 +vn 0.8295 -0.5582 -0.0210 +vn 0.8281 0.5606 -0.0024 +vn 0.8262 -0.5633 -0.0090 +vn -0.1756 -0.6143 -0.7693 +vn 0.8286 0.5598 -0.0112 +vn 0.8478 -0.4952 -0.1898 +vn 0.8588 0.4836 -0.1688 +vn 0.1747 0.9846 -0.0085 +vn -0.9999 -0.0000 0.0145 +vn -0.9059 0.0000 -0.4234 +vn -0.9123 0.0653 -0.4043 +vn -0.6550 0.5133 -0.5545 +vn -0.6399 0.5727 -0.5124 +vn -0.0103 -0.9997 -0.0232 +vn -0.0431 -0.9979 -0.0485 +vn -0.0108 0.9998 -0.0148 +vn 0.1889 0.9820 -0.0005 +vn 0.9311 -0.3647 0.0002 +vn 0.1888 -0.9820 0.0000 +vn 0.1886 0.9820 0.0000 +vn 0.8278 0.5611 0.0004 +vn 0.8278 0.5610 0.0002 +vn 0.1887 -0.9820 -0.0119 +vn 1.0000 -0.0000 0.0005 +vn 0.1886 0.9821 0.0001 +vn 0.2579 -0.6421 0.7219 +vn 0.1483 0.0900 0.9848 +vn 0.2580 -0.6421 -0.7219 +vn 0.1484 0.0900 -0.9848 +vn 0.2023 0.6897 -0.6953 +vn 0.2022 0.6897 0.6953 +vn -0.1896 0.9814 -0.0289 +vn -0.1896 -0.9814 -0.0289 +vn -0.1896 -0.9814 0.0289 +vn -0.1896 0.9814 0.0289 +vn -0.3595 -0.8072 0.4682 +vn -0.3582 0.3573 -0.8626 +vn 0.3582 0.3573 -0.8626 +vn -0.1649 -0.9112 0.3774 +vn 0.1649 -0.9112 0.3774 +vn -0.3582 0.3573 0.8626 +vn 0.1649 -0.9112 -0.3774 +vn -0.0431 0.9986 -0.0308 +vn 0.1874 -0.0056 -0.9823 +vn 0.1873 -0.0056 0.9823 +s off +f 500/284/57 503/285/57 505/286/57 +f 521/287/58 522/288/58 523/289/58 +f 577/290/57 579/291/57 570/292/57 +f 592/293/58 593/294/58 594/295/58 +f 662/296/57 661/297/57 660/298/57 +f 676/299/58 675/300/58 668/301/58 +f 685/302/59 684/303/59 683/304/59 +f 691/305/60 689/306/60 688/307/60 +f 687/308/61 682/309/61 692/310/61 +f 694/311/62 696/312/62 695/313/62 +f 686/314/63 693/315/63 698/316/63 +f 684/317/64 695/313/64 683/318/64 +f 691/319/65 699/320/65 690/321/65 +f 691/322/66 698/316/66 693/315/66 +f 690/323/67 701/324/67 700/325/67 +f 701/324/68 702/326/68 700/325/68 +f 700/327/69 689/306/69 690/328/69 +f 699/320/70 701/329/70 690/321/70 +f 707/330/57 696/312/57 697/331/57 +f 700/327/71 708/332/71 704/333/71 +f 709/334/61 701/329/61 705/335/61 +f 711/336/72 709/334/72 706/337/72 +f 684/338/73 685/339/73 688/307/73 +f 692/310/74 682/309/74 683/340/74 +f 683/340/75 699/320/75 692/310/75 +f 689/306/76 684/338/76 688/307/76 +f 705/335/77 695/341/77 696/342/77 +f 697/343/78 689/306/78 704/333/78 +f 706/337/79 705/335/79 696/342/79 +f 707/344/80 704/333/80 708/332/80 +f 698/345/81 691/305/81 688/307/81 +f 736/346/57 734/347/57 732/348/57 +f 747/349/58 746/350/58 740/351/58 +f 707/330/82 711/352/82 706/353/82 +f 710/354/61 703/355/61 709/334/61 +f 755/356/83 757/357/83 754/358/83 +f 759/359/83 761/360/83 758/361/83 +f 765/362/84 763/363/84 762/364/84 +f 767/365/85 769/366/85 766/367/85 +f 500/284/57 499/368/57 503/285/57 +f 503/285/57 504/369/57 505/286/57 +f 505/286/57 506/370/57 500/284/57 +f 506/370/57 507/371/57 500/284/57 +f 507/371/57 508/372/57 500/284/57 +f 523/289/58 512/373/58 520/374/58 +f 512/373/58 511/375/58 519/376/58 +f 511/375/58 518/377/58 519/376/58 +f 519/376/58 520/374/58 512/373/58 +f 520/374/58 521/287/58 523/289/58 +f 570/292/57 569/378/57 577/290/57 +f 569/378/57 575/379/57 577/290/57 +f 575/379/57 576/380/57 577/290/57 +f 577/290/57 578/381/57 579/291/57 +f 579/291/57 580/382/57 570/292/57 +f 594/295/58 584/383/58 591/384/58 +f 584/383/58 583/385/58 590/386/58 +f 583/385/58 589/387/58 590/386/58 +f 590/386/58 591/384/58 584/383/58 +f 591/384/58 592/293/58 594/295/58 +f 660/298/57 656/388/57 657/389/57 +f 657/389/57 665/390/57 660/298/57 +f 665/390/57 664/391/57 660/298/57 +f 664/391/57 663/392/57 660/298/57 +f 663/392/57 662/296/57 660/298/57 +f 668/301/58 669/393/58 677/394/58 +f 669/393/58 680/395/58 678/396/58 +f 680/395/58 679/397/58 678/396/58 +f 678/396/58 677/394/58 669/393/58 +f 677/394/58 676/299/58 668/301/58 +f 683/304/59 682/398/59 685/302/59 +f 682/398/59 687/399/59 686/400/59 +f 685/302/59 682/398/59 686/400/59 +f 691/305/86 690/328/86 689/306/86 +f 692/310/87 691/319/87 693/401/87 +f 693/401/61 687/308/61 692/310/61 +f 694/311/62 697/331/62 696/312/62 +f 686/314/63 687/402/63 693/315/63 +f 684/317/64 694/311/64 695/313/64 +f 691/319/88 692/310/88 699/320/88 +f 701/324/89 703/403/89 702/326/89 +f 700/327/90 704/333/90 689/306/90 +f 699/320/61 705/335/61 701/329/61 +f 707/330/57 706/353/57 696/312/57 +f 700/327/71 702/404/71 708/332/71 +f 709/334/61 703/355/61 701/329/61 +f 711/336/72 710/354/72 709/334/72 +f 683/340/75 695/341/75 699/320/75 +f 689/306/91 694/405/91 684/338/91 +f 705/335/77 699/320/77 695/341/77 +f 697/343/92 694/405/92 689/306/92 +f 706/337/79 709/334/79 705/335/79 +f 707/344/80 697/343/80 704/333/80 +f 688/307/93 685/339/93 686/406/93 +f 686/406/94 698/345/94 688/307/94 +f 732/348/57 726/407/57 736/346/57 +f 726/407/57 727/408/57 736/346/57 +f 727/408/57 737/409/57 736/346/57 +f 736/346/57 735/410/57 734/347/57 +f 734/347/57 733/411/57 732/348/57 +f 740/351/58 741/412/58 748/413/58 +f 741/412/58 751/414/58 749/415/58 +f 751/414/58 750/416/58 749/415/58 +f 749/415/58 748/413/58 741/412/58 +f 748/413/58 747/349/58 740/351/58 +f 707/330/82 752/417/82 711/352/82 +f 710/354/61 753/418/61 703/355/61 +f 755/356/83 756/419/83 757/357/83 +f 759/359/83 760/420/83 761/360/83 +f 765/362/84 764/421/84 763/363/84 +f 767/365/85 768/422/85 769/366/85 +s 1 +f 166/423/95 168/424/96 165/425/97 +f 167/426/98 170/427/99 168/424/96 +f 169/428/100 172/429/101 170/427/99 +f 171/430/102 174/431/71 172/429/101 +f 173/432/103 176/433/104 174/431/71 +f 175/434/105 178/435/106 176/433/104 +f 177/436/107 180/437/108 178/435/106 +f 179/438/109 182/439/110 180/437/108 +f 181/440/111 184/441/112 182/439/110 +f 183/442/113 186/443/114 184/441/112 +f 185/444/115 188/445/116 186/443/114 +f 187/446/117 190/447/118 188/445/116 +f 189/448/119 192/449/120 190/450/118 +f 191/451/121 194/452/122 192/449/120 +f 169/428/100 195/453/123 196/454/124 +f 193/455/125 198/456/126 194/452/122 +f 197/457/127 165/425/97 198/456/126 +f 199/458/128 200/459/129 201/460/130 +f 202/461/131 204/462/132 205/463/133 +f 207/464/134 209/465/135 206/466/136 +f 210/467/137 212/468/138 213/469/139 +f 214/470/140 199/471/128 216/472/141 +f 218/473/142 220/474/143 217/475/144 +f 222/476/145 224/477/146 221/478/147 +f 225/479/148 213/480/139 226/481/149 +f 203/482/150 228/483/151 204/462/132 +f 229/484/152 208/485/153 207/486/134 +f 215/487/154 200/459/129 199/458/128 +f 211/488/155 205/489/133 212/490/138 +f 206/491/136 219/492/156 218/493/142 +f 214/494/140 223/495/157 222/496/145 +f 217/475/144 228/483/151 227/497/158 +f 221/498/147 230/499/159 229/500/152 +f 232/501/160 234/502/161 235/503/162 +f 177/436/107 237/504/163 179/438/109 +f 187/446/117 239/505/164 189/506/119 +f 173/432/103 241/507/165 175/434/105 +f 183/442/113 243/508/166 185/444/115 +f 197/457/127 233/509/167 232/501/160 +f 171/430/102 196/454/124 244/510/168 +f 179/438/109 245/511/169 181/440/111 +f 167/426/98 246/512/170 195/453/123 +f 191/451/121 239/513/164 247/514/171 +f 175/434/105 236/515/172 177/436/107 +f 185/444/115 238/516/173 187/446/117 +f 166/423/95 232/501/160 246/512/170 +f 173/432/103 244/510/168 240/517/174 +f 181/440/111 242/518/175 183/442/113 +f 193/455/125 247/514/171 233/509/167 +f 249/519/176 251/520/177 248/521/178 +f 237/504/163 253/522/179 245/511/169 +f 195/453/123 254/523/180 255/524/181 +f 246/512/170 235/503/162 254/523/180 +f 245/511/169 256/525/182 242/518/175 +f 196/454/124 255/524/181 257/526/183 +f 242/518/175 258/527/184 243/508/166 +f 244/510/168 257/526/183 259/528/185 +f 243/508/166 260/529/186 238/516/173 +f 240/517/174 259/528/185 249/530/176 +f 238/516/173 261/531/187 239/505/164 +f 240/517/174 248/532/178 241/507/165 +f 247/514/171 261/533/187 262/534/188 +f 241/507/165 263/535/189 236/515/172 +f 233/509/167 262/534/188 234/502/161 +f 236/515/172 252/536/190 237/504/163 +f 264/537/191 266/538/192 267/539/193 +f 262/540/188 268/541/194 269/542/195 +f 248/543/178 270/544/196 263/545/189 +f 234/546/161 269/547/195 271/548/197 +f 263/549/189 272/550/198 252/551/190 +f 235/552/162 271/553/197 273/554/199 +f 252/555/190 274/556/200 253/557/179 +f 255/558/181 275/559/201 276/560/202 +f 254/561/180 273/562/199 275/563/201 +f 253/564/179 265/565/203 256/566/182 +f 257/567/183 276/568/202 277/569/204 +f 256/570/182 264/537/191 258/571/184 +f 259/572/185 277/573/204 278/574/205 +f 258/575/184 279/576/206 260/577/186 +f 249/578/176 278/579/205 250/580/207 +f 260/581/186 268/582/194 261/583/187 +f 281/584/208 283/585/209 280/586/210 +f 277/573/204 285/587/211 278/574/205 +f 279/576/206 267/588/193 286/589/212 +f 278/579/205 287/590/213 250/580/207 +f 268/582/194 286/591/212 288/592/214 +f 251/520/177 287/593/213 289/594/215 +f 268/541/194 290/595/216 269/542/195 +f 270/544/196 289/596/215 291/597/217 +f 269/547/195 281/598/208 271/548/197 +f 272/550/198 291/599/217 292/600/218 +f 271/553/197 280/586/210 273/554/199 +f 274/556/200 292/601/218 293/602/219 +f 275/559/201 295/603/220 276/560/202 +f 273/562/199 294/604/221 275/563/201 +f 265/565/203 293/605/219 266/606/192 +f 276/568/202 284/607/222 277/569/204 +f 307/608/223 309/609/224 301/610/225 +f 293/602/219 304/611/226 303/612/227 +f 294/613/221 296/614/228 295/603/220 +f 280/615/210 297/616/229 294/604/221 +f 266/606/192 303/617/227 302/618/230 +f 295/619/220 309/620/224 284/607/222 +f 267/539/193 302/621/230 301/622/225 +f 284/623/222 308/624/231 285/587/211 +f 286/589/212 301/625/225 300/626/232 +f 285/627/211 307/628/223 287/590/213 +f 288/592/214 300/629/232 299/630/233 +f 289/594/215 307/631/223 306/632/234 +f 288/633/214 298/634/235 290/595/216 +f 291/597/217 306/635/234 305/636/236 +f 290/637/216 282/638/237 281/598/208 +f 292/600/218 305/639/236 304/640/226 +f 219/492/156 209/641/135 201/642/130 +f 200/643/129 226/644/149 201/645/130 +f 209/465/135 208/646/153 201/647/130 +f 213/469/139 212/468/138 201/648/130 +f 226/481/149 213/480/139 201/649/130 +f 208/485/153 230/650/159 201/651/130 +f 212/490/138 205/489/133 201/652/130 +f 230/499/159 224/653/146 201/654/130 +f 205/655/133 204/656/132 201/657/130 +f 224/477/146 223/658/157 201/659/130 +f 204/660/132 228/661/151 201/662/130 +f 223/495/157 216/663/141 201/664/130 +f 228/665/151 220/666/143 201/667/130 +f 216/472/141 199/471/128 201/668/130 +f 220/669/143 219/670/156 201/671/130 +f 310/672/238 311/673/239 312/674/240 +f 314/675/241 316/676/242 313/677/243 +f 317/678/244 318/679/245 316/676/242 +f 314/680/241 319/681/246 315/682/247 +f 311/673/239 322/683/248 320/684/249 +f 313/677/243 318/679/245 323/685/250 +f 325/686/251 327/687/252 324/688/253 +f 325/686/251 328/689/254 326/690/255 +f 323/685/250 324/691/253 329/692/256 +f 317/678/244 322/683/248 325/693/251 +f 330/694/257 321/695/258 311/673/239 +f 318/679/245 325/693/251 324/691/253 +f 328/696/254 322/697/248 332/698/259 +f 321/699/258 334/700/260 322/701/248 +f 321/699/258 335/702/261 333/703/262 +f 322/704/248 334/705/260 336/706/263 +f 323/685/250 331/707/264 330/694/257 +f 330/694/257 313/677/243 323/685/250 +f 310/708/238 319/681/246 314/680/241 +f 337/709/265 314/675/241 313/677/243 +f 339/710/71 340/711/266 332/698/259 +f 334/705/260 338/712/267 336/706/263 +f 328/696/254 340/711/266 326/713/255 +f 316/676/242 315/714/247 317/678/244 +f 315/714/247 319/715/246 341/716/268 +f 317/678/244 315/714/247 312/674/269 +f 341/716/268 312/674/269 315/714/247 +f 312/674/269 320/684/270 317/678/244 +f 312/674/240 341/716/271 310/672/238 +f 341/716/271 319/715/246 310/672/238 +f 310/672/238 337/709/265 311/673/239 +f 337/709/265 330/694/257 311/673/239 +f 311/673/239 320/684/249 312/674/240 +f 322/717/248 336/706/263 332/698/259 +f 343/718/272 345/719/273 342/720/274 +f 347/721/275 349/722/276 346/723/277 +f 350/724/278 352/725/279 353/726/280 +f 342/720/274 348/727/281 343/718/272 +f 351/728/282 345/719/273 344/729/283 +f 349/730/284 342/720/284 345/719/284 +f 354/731/285 347/721/275 346/723/277 +f 352/725/279 354/732/286 353/726/280 +f 357/733/287 359/734/288 356/735/289 +f 361/736/290 363/737/291 360/738/292 +f 364/739/293 366/740/294 367/741/295 +f 356/735/289 362/742/296 357/733/287 +f 365/743/297 359/734/288 358/744/298 +f 363/745/299 356/735/299 359/734/299 +f 368/746/300 361/736/290 360/738/292 +f 366/740/294 368/747/301 367/741/295 +f 231/748/302 226/644/149 200/643/129 +f 218/749/303 370/750/304 371/751/303 +f 182/439/110 206/752/136 180/437/108 +f 165/425/97 211/753/155 210/754/137 +f 190/450/118 215/755/154 214/756/140 +f 203/757/305 373/758/306 227/759/306 +f 188/445/116 221/760/147 186/443/114 +f 198/456/126 210/761/137 225/762/148 +f 202/763/307 372/764/308 203/757/305 +f 184/441/112 207/765/134 182/439/110 +f 192/449/120 231/766/302 215/755/154 +f 168/424/96 202/767/131 211/768/155 +f 180/437/108 218/769/142 178/435/106 +f 190/447/118 222/770/145 188/445/116 +f 217/771/309 373/758/306 370/750/304 +f 186/443/114 229/772/152 184/441/112 +f 194/452/122 225/773/148 231/774/302 +f 375/775/310 372/776/311 374/777/312 +f 378/778/313 370/779/314 377/780/315 +f 376/781/316 373/782/317 372/776/311 +f 377/780/315 373/782/317 379/783/158 +f 178/784/318 377/785/319 176/786/320 +f 176/786/320 379/787/321 174/788/321 +f 172/789/322 379/787/321 376/790/323 +f 178/791/318 371/792/324 378/793/325 +f 170/794/326 374/795/327 202/796/327 +f 170/797/326 376/790/323 375/798/328 +f 383/799/71 381/800/104 380/801/104 +f 385/802/329 382/803/71 383/799/71 +f 387/804/284 384/805/329 385/802/329 +f 389/806/330 386/807/284 387/804/284 +f 391/808/331 389/806/330 387/804/284 +f 392/809/332 394/810/333 393/811/334 +f 388/812/330 396/813/335 386/807/284 +f 392/809/332 385/802/329 383/799/71 +f 399/814/336 382/803/71 384/805/329 +f 393/811/334 387/804/284 385/802/329 +f 396/813/335 384/805/329 386/807/284 +f 400/815/337 383/799/71 380/801/104 +f 398/816/338 381/800/104 382/803/71 +f 403/817/339 398/816/338 399/814/336 +f 394/810/333 391/808/331 393/811/334 +f 396/813/335 403/817/339 399/814/336 +f 404/818/340 390/819/341 391/808/331 +f 397/820/342 405/821/343 396/813/335 +f 400/815/337 395/822/344 392/809/332 +f 402/823/345 401/824/346 398/816/338 +f 411/825/101 413/826/71 410/827/101 +f 412/828/71 415/829/347 413/826/71 +f 414/830/347 417/831/299 415/829/347 +f 416/832/299 419/833/348 417/831/299 +f 419/833/348 421/834/349 417/831/299 +f 422/835/350 424/836/351 425/837/352 +f 416/832/299 427/838/353 418/839/348 +f 415/829/347 422/835/350 413/826/71 +f 412/828/71 429/840/354 414/830/347 +f 417/831/299 423/841/355 415/829/347 +f 414/830/347 426/842/356 416/832/299 +f 413/826/71 430/843/357 410/827/101 +f 411/825/101 428/844/358 412/828/71 +f 428/844/358 433/845/359 429/840/354 +f 421/834/349 424/836/351 423/841/355 +f 426/842/356 433/845/359 435/846/360 +f 420/847/361 434/848/362 421/834/349 +f 427/838/353 435/849/360 437/850/363 +f 430/843/357 425/851/352 438/852/364 +f 431/853/365 432/854/366 428/844/358 +f 441/855/367 443/856/101 440/857/367 +f 442/858/101 445/859/104 443/856/101 +f 445/859/104 446/860/368 447/861/368 +f 447/861/368 448/862/348 449/863/348 +f 448/862/348 451/864/369 449/863/348 +f 452/865/370 454/866/371 450/867/372 +f 452/868/370 457/869/373 455/870/330 +f 452/868/370 459/871/330 458/872/374 +f 455/870/330 440/857/367 459/871/330 +f 442/858/101 461/873/375 444/874/104 +f 451/864/369 463/875/376 449/863/348 +f 448/862/348 465/876/377 450/877/372 +f 447/861/368 467/878/378 445/859/104 +f 440/857/367 469/879/379 459/871/330 +f 443/856/101 468/880/380 440/857/367 +f 444/874/104 471/881/381 446/860/368 +f 455/870/330 472/882/382 441/855/367 +f 441/855/367 460/883/383 442/858/101 +f 458/872/374 462/884/384 451/885/369 +f 450/886/372 456/887/385 452/868/370 +f 449/863/348 466/888/386 447/861/368 +f 446/860/368 464/889/387 448/862/348 +f 445/859/104 470/890/388 443/856/101 +f 459/871/330 473/891/389 458/872/374 +f 467/878/378 466/888/386 474/892/58 +f 473/891/389 469/879/379 474/893/58 +f 460/883/383 475/894/390 476/895/391 +f 466/888/386 463/875/376 474/896/58 +f 469/879/379 468/880/380 474/897/58 +f 468/880/380 470/890/388 474/898/58 +f 463/875/376 462/899/384 474/900/58 +f 475/901/390 478/902/392 480/903/393 +f 470/890/388 467/878/378 474/904/58 +f 462/884/384 473/891/389 474/905/58 +f 460/883/383 482/906/394 461/873/375 +f 461/873/375 481/907/395 471/881/381 +f 471/881/381 480/908/393 464/889/387 +f 464/889/387 479/909/396 465/876/377 +f 465/910/377 478/911/392 456/887/385 +f 456/887/385 477/912/397 457/869/373 +f 457/869/373 475/913/390 472/882/382 +f 450/867/372 483/914/398 451/915/369 +f 458/916/374 453/917/399 452/865/370 +f 451/918/369 484/919/400 458/916/374 +f 485/920/401 487/921/402 488/922/403 +f 487/923/402 490/924/404 488/922/403 +f 490/924/404 491/925/405 492/926/406 +f 491/927/405 494/928/407 492/926/406 +f 493/929/408 496/930/409 494/928/407 +f 495/931/410 498/932/411 496/930/409 +f 487/923/402 500/933/412 489/934/413 +f 498/935/411 501/936/414 502/937/415 +f 502/937/415 486/938/416 485/920/401 +f 493/929/408 506/939/417 495/940/410 +f 486/938/416 504/941/418 503/942/419 +f 486/943/416 499/944/420 487/921/402 +f 491/925/405 500/945/412 508/946/421 +f 495/931/410 505/947/422 497/948/423 +f 493/949/408 508/950/421 507/951/424 +f 501/936/414 505/952/422 504/953/418 +f 509/954/425 511/955/426 512/956/427 +f 494/928/407 514/957/428 492/926/406 +f 490/924/404 510/958/429 488/922/403 +f 496/930/409 513/959/430 494/928/407 +f 485/920/401 517/960/431 502/937/415 +f 488/922/403 509/954/425 485/920/401 +f 492/926/406 515/961/432 490/924/404 +f 517/960/431 512/962/427 523/963/433 +f 524/964/434 521/965/435 516/966/436 +f 513/959/430 519/967/437 514/957/428 +f 510/958/429 518/968/438 511/969/426 +f 524/970/434 523/971/433 522/972/439 +f 516/966/436 520/973/440 513/959/430 +f 514/957/428 518/974/438 515/961/432 +f 528/975/441 529/976/442 525/977/443 +f 532/978/444 534/979/445 531/980/446 +f 535/981/447 530/982/448 536/983/449 +f 537/984/450 539/985/451 540/986/452 +f 536/987/449 529/988/442 541/989/453 +f 538/990/454 527/991/455 526/992/456 +f 534/993/445 542/994/457 535/981/447 +f 534/995/445 536/987/449 541/989/453 +f 533/996/458 543/997/459 544/998/460 +f 544/998/460 545/999/461 546/1000/462 +f 532/978/444 543/1001/463 533/1002/464 +f 542/994/457 544/1003/465 548/1004/466 +f 539/985/451 550/1005/467 540/986/452 +f 543/1001/463 551/1006/468 545/1007/71 +f 544/1003/465 552/1008/469 548/1004/466 +f 552/1008/469 554/1009/470 549/1010/471 +f 527/1011/455 531/980/446 528/1012/441 +f 535/981/447 526/1013/456 525/1014/443 +f 542/994/457 526/1013/456 535/981/447 +f 532/978/444 527/1011/455 537/1015/450 +f 538/1016/454 548/1004/466 539/1017/451 +f 532/978/444 540/1018/452 547/1019/472 +f 549/1010/471 548/1004/466 552/1008/469 +f 547/1019/472 550/1020/467 551/1006/468 +f 531/980/446 541/1021/453 529/1022/442 +f 555/1023/401 557/1024/402 558/1025/403 +f 557/1026/402 560/1027/404 558/1025/403 +f 560/1027/404 561/1028/405 562/1029/406 +f 561/1030/405 564/1031/407 562/1029/406 +f 563/1032/408 566/1033/409 564/1031/407 +f 565/1034/410 568/1035/411 566/1033/409 +f 557/1026/402 570/1036/412 559/1037/413 +f 568/1038/411 571/1039/414 572/1040/415 +f 572/1040/415 556/1041/416 555/1023/401 +f 566/1033/409 573/1042/434 574/1043/436 +f 563/1032/408 578/1044/417 565/1045/410 +f 556/1041/416 576/1046/418 575/1047/419 +f 556/1048/416 569/1049/420 557/1024/402 +f 561/1028/405 570/1050/412 580/1051/421 +f 565/1034/410 577/1052/422 567/1053/423 +f 563/1054/408 580/1055/421 579/1056/424 +f 571/1039/414 577/1057/422 576/1058/418 +f 581/1059/425 583/1060/426 584/1061/427 +f 564/1031/407 586/1062/428 562/1029/406 +f 572/1040/415 573/1063/434 568/1038/411 +f 560/1027/404 582/1064/429 558/1025/403 +f 566/1033/409 585/1065/430 564/1031/407 +f 555/1023/401 587/1066/431 572/1040/415 +f 558/1025/403 581/1059/425 555/1023/401 +f 562/1029/406 588/1067/432 560/1027/404 +f 587/1066/431 584/1068/427 594/1069/433 +f 573/1042/434 592/1070/435 574/1043/436 +f 585/1065/430 590/1071/437 586/1062/428 +f 582/1064/429 589/1072/438 583/1073/426 +f 573/1063/434 594/1074/433 593/1075/439 +f 574/1043/436 591/1076/440 585/1065/430 +f 586/1062/428 589/1077/438 588/1067/432 +f 550/1005/467 554/1078/470 595/1079/473 +f 546/1080/61 553/1081/474 552/1008/469 +f 600/1082/104 598/1083/368 597/1084/368 +f 602/1085/101 599/1086/104 600/1082/104 +f 604/1087/367 601/1088/101 602/1085/101 +f 606/1089/330 603/1090/367 604/1087/367 +f 608/1091/374 605/1092/330 606/1089/330 +f 611/1093/399 609/1094/372 607/1095/370 +f 614/1096/387 609/1097/372 612/1098/348 +f 616/1099/348 609/1097/372 615/1100/369 +f 597/1084/368 612/1098/348 616/1099/348 +f 618/1101/383 599/1086/104 601/1088/101 +f 620/1102/379 608/1091/374 606/1089/330 +f 622/1103/385 605/1092/330 607/1104/370 +f 624/1105/388 604/1087/367 602/1085/101 +f 626/1106/376 597/1084/368 616/1099/348 +f 625/1107/386 600/1082/104 597/1084/368 +f 628/1108/382 601/1088/101 603/1090/367 +f 629/1109/381 612/1098/348 598/1083/368 +f 617/1110/375 598/1083/368 599/1086/104 +f 619/1111/389 615/1100/369 608/1112/374 +f 613/1113/377 607/1114/370 609/1097/372 +f 623/1115/380 606/1089/330 604/1087/367 +f 621/1116/373 603/1090/367 605/1092/330 +f 627/1117/378 602/1085/101 600/1082/104 +f 630/1118/384 616/1099/348 615/1100/369 +f 624/1105/388 631/1119/58 623/1115/380 +f 630/1118/384 631/1120/58 626/1106/376 +f 617/1110/375 632/1121/395 629/1109/381 +f 623/1115/380 631/1122/58 620/1102/379 +f 626/1106/376 631/1123/58 625/1107/386 +f 625/1107/386 631/1124/58 627/1117/378 +f 620/1102/379 631/1125/58 619/1126/389 +f 635/1127/396 634/1128/393 632/1129/395 +f 627/1117/378 631/1130/58 624/1105/388 +f 619/1111/389 631/1131/58 630/1118/384 +f 639/1132/391 617/1110/375 618/1101/383 +f 638/1133/390 618/1101/383 628/1108/382 +f 637/1134/397 628/1108/382 621/1116/373 +f 622/1103/385 637/1135/397 621/1116/373 +f 635/1136/396 622/1137/385 613/1113/377 +f 614/1096/387 635/1138/396 613/1113/377 +f 632/1139/395 614/1096/387 629/1109/381 +f 640/1140/400 607/1095/370 608/1141/374 +f 610/1142/371 615/1143/369 609/1094/372 +f 641/1144/398 608/1145/374 615/1143/369 +f 642/1146/407 644/1147/475 643/1148/476 +f 647/1149/404 644/1150/475 645/1151/406 +f 647/1149/404 648/1152/477 646/1153/413 +f 651/1154/401 648/1155/477 649/1156/403 +f 653/1157/415 650/1158/478 651/1154/401 +f 655/1159/411 652/1160/414 653/1157/415 +f 657/1161/412 644/1150/475 646/1162/413 +f 655/1163/411 658/1164/410 654/1165/423 +f 659/1166/409 643/1167/476 658/1168/410 +f 663/1169/479 650/1158/478 652/1170/414 +f 643/1167/476 661/1171/480 658/1168/410 +f 656/1172/421 643/1148/476 644/1147/475 +f 648/1152/477 657/1173/412 646/1153/413 +f 662/1174/422 652/1160/414 654/1175/423 +f 650/1176/478 665/1177/420 648/1155/477 +f 658/1164/410 662/1178/422 654/1165/423 +f 666/1179/430 668/1180/437 667/1181/428 +f 671/1182/429 651/1154/401 649/1156/403 +f 667/1181/428 647/1149/404 645/1151/406 +f 670/1183/425 653/1157/415 651/1154/401 +f 674/1184/436 642/1146/407 659/1166/409 +f 666/1179/430 645/1151/406 642/1146/407 +f 672/1185/432 649/1156/403 647/1149/404 +f 674/1184/436 669/1186/440 666/1179/430 +f 678/1187/433 681/1188/434 673/1189/431 +f 676/1190/426 670/1183/425 671/1182/429 +f 667/1181/428 675/1191/438 672/1185/432 +f 681/1192/434 680/1193/435 674/1184/436 +f 677/1194/427 673/1189/431 670/1183/425 +f 675/1195/438 671/1182/429 672/1185/432 +f 712/1196/407 714/1197/475 713/1198/476 +f 717/1199/404 714/1200/475 715/1201/406 +f 717/1199/404 718/1202/477 716/1203/413 +f 721/1204/401 718/1205/477 719/1206/403 +f 723/1207/415 720/1208/478 721/1204/401 +f 725/1209/411 722/1210/414 723/1207/415 +f 727/1211/412 714/1200/475 716/1212/413 +f 725/1213/411 728/1214/410 724/1215/423 +f 729/1216/409 713/1217/476 728/1218/410 +f 723/1207/415 730/1219/434 725/1209/411 +f 735/1220/479 720/1208/478 722/1221/414 +f 713/1217/476 733/1222/480 728/1218/410 +f 726/1223/421 713/1198/476 714/1197/475 +f 718/1202/477 727/1224/412 716/1203/413 +f 734/1225/422 722/1210/414 724/1226/423 +f 720/1227/478 737/1228/420 718/1205/477 +f 728/1214/410 734/1229/422 724/1215/423 +f 738/1230/430 740/1231/437 739/1232/428 +f 743/1233/429 721/1204/401 719/1206/403 +f 730/1234/434 729/1216/409 725/1213/411 +f 739/1232/428 717/1199/404 715/1201/406 +f 742/1235/425 723/1207/415 721/1204/401 +f 729/1216/409 738/1230/430 712/1196/407 +f 738/1230/430 715/1201/406 712/1196/407 +f 745/1236/432 719/1206/403 717/1199/404 +f 744/1237/436 741/1238/440 738/1230/430 +f 749/1239/433 730/1219/434 731/1240/431 +f 747/1241/426 742/1235/425 743/1233/429 +f 739/1232/428 746/1242/438 745/1236/432 +f 730/1234/434 751/1243/435 744/1237/436 +f 748/1244/427 731/1240/431 742/1235/425 +f 746/1245/438 743/1233/429 745/1236/432 +f 524/964/434 496/930/409 498/932/411 +f 502/937/415 524/970/434 498/935/411 +f 659/1166/409 681/1192/434 674/1184/436 +f 653/1157/415 681/1188/434 655/1159/411 +f 166/423/95 167/426/98 168/424/96 +f 167/426/98 169/428/100 170/427/99 +f 169/428/100 171/430/102 172/429/101 +f 171/430/102 173/432/103 174/431/71 +f 173/432/103 175/434/105 176/433/104 +f 175/434/105 177/436/107 178/435/106 +f 177/436/107 179/438/109 180/437/108 +f 179/438/109 181/440/111 182/439/110 +f 181/440/111 183/442/113 184/441/112 +f 183/442/113 185/444/115 186/443/114 +f 185/444/115 187/446/117 188/445/116 +f 187/446/117 189/506/119 190/447/118 +f 189/448/119 191/451/121 192/449/120 +f 191/451/121 193/455/125 194/452/122 +f 169/428/100 167/426/98 195/453/123 +f 193/455/125 197/457/127 198/456/126 +f 197/457/127 166/423/95 165/425/97 +f 202/461/131 203/482/150 204/462/132 +f 207/464/134 208/646/153 209/465/135 +f 210/467/137 211/1246/155 212/468/138 +f 214/470/140 215/1247/154 199/471/128 +f 218/473/142 219/1248/156 220/474/143 +f 222/476/145 223/658/157 224/477/146 +f 225/479/148 210/1249/137 213/480/139 +f 203/482/150 227/497/158 228/483/151 +f 229/484/152 230/650/159 208/485/153 +f 215/487/154 231/1250/302 200/459/129 +f 211/488/155 202/1251/131 205/489/133 +f 206/491/136 209/641/135 219/492/156 +f 214/494/140 216/663/141 223/495/157 +f 217/475/144 220/474/143 228/483/151 +f 221/498/147 224/653/146 230/499/159 +f 232/501/160 233/509/167 234/502/161 +f 177/436/107 236/515/172 237/504/163 +f 187/446/117 238/516/173 239/505/164 +f 173/432/103 240/517/174 241/507/165 +f 183/442/113 242/518/175 243/508/166 +f 197/457/127 193/455/125 233/509/167 +f 171/430/102 169/428/100 196/454/124 +f 179/438/109 237/504/163 245/511/169 +f 167/426/98 166/423/95 246/512/170 +f 191/451/121 189/448/119 239/513/164 +f 175/434/105 241/507/165 236/515/172 +f 185/444/115 243/508/166 238/516/173 +f 166/423/95 197/457/127 232/501/160 +f 173/432/103 171/430/102 244/510/168 +f 181/440/111 245/511/169 242/518/175 +f 193/455/125 191/451/121 247/514/171 +f 249/519/176 250/1252/207 251/520/177 +f 237/504/163 252/536/190 253/522/179 +f 195/453/123 246/512/170 254/523/180 +f 246/512/170 232/501/160 235/503/162 +f 245/511/169 253/522/179 256/525/182 +f 196/454/124 195/453/123 255/524/181 +f 242/518/175 256/525/182 258/527/184 +f 244/510/168 196/454/124 257/526/183 +f 243/508/166 258/527/184 260/529/186 +f 240/517/174 244/510/168 259/528/185 +f 238/516/173 260/529/186 261/531/187 +f 240/517/174 249/530/176 248/532/178 +f 247/514/171 239/513/164 261/533/187 +f 241/507/165 248/532/178 263/535/189 +f 233/509/167 247/514/171 262/534/188 +f 236/515/172 263/535/189 252/536/190 +f 264/537/191 265/1253/203 266/538/192 +f 262/540/188 261/1254/187 268/541/194 +f 248/543/178 251/1255/177 270/544/196 +f 234/546/161 262/1256/188 269/547/195 +f 263/549/189 270/1257/196 272/550/198 +f 235/552/162 234/1258/161 271/553/197 +f 252/555/190 272/1259/198 274/556/200 +f 255/558/181 254/1260/180 275/559/201 +f 254/561/180 235/1261/162 273/562/199 +f 253/564/179 274/1262/200 265/565/203 +f 257/567/183 255/1263/181 276/568/202 +f 256/570/182 265/1253/203 264/537/191 +f 259/572/185 257/1264/183 277/573/204 +f 258/575/184 264/1265/191 279/576/206 +f 249/578/176 259/1266/185 278/579/205 +f 260/581/186 279/1267/206 268/582/194 +f 281/584/208 282/1268/237 283/585/209 +f 277/573/204 284/623/222 285/587/211 +f 279/576/206 264/1265/191 267/588/193 +f 278/579/205 285/627/211 287/590/213 +f 268/582/194 279/1267/206 286/591/212 +f 251/520/177 250/1252/207 287/593/213 +f 268/541/194 288/633/214 290/595/216 +f 270/544/196 251/1255/177 289/596/215 +f 269/547/195 290/637/216 281/598/208 +f 272/550/198 270/1257/196 291/599/217 +f 271/553/197 281/584/208 280/586/210 +f 274/556/200 272/1259/198 292/601/218 +f 275/559/201 294/613/221 295/603/220 +f 273/562/199 280/615/210 294/604/221 +f 265/565/203 274/1262/200 293/605/219 +f 276/568/202 295/619/220 284/607/222 +f 309/609/224 296/1269/228 297/1270/229 +f 297/1270/229 283/1271/209 309/609/224 +f 283/1271/209 282/1272/237 309/609/224 +f 282/1272/237 298/1273/235 299/1274/233 +f 299/1274/233 300/1275/232 301/610/225 +f 301/610/225 302/1276/230 305/1277/236 +f 302/1276/230 303/1278/227 305/1277/236 +f 303/1278/227 304/1279/226 305/1277/236 +f 305/1277/236 306/1280/234 307/608/223 +f 307/608/223 308/1281/231 309/609/224 +f 282/1272/237 299/1274/233 309/609/224 +f 299/1274/233 301/610/225 309/609/224 +f 305/1277/236 307/608/223 301/610/225 +f 293/602/219 292/601/218 304/611/226 +f 294/613/221 297/1282/229 296/614/228 +f 280/615/210 283/1283/209 297/616/229 +f 266/606/192 293/605/219 303/617/227 +f 295/619/220 296/1284/228 309/620/224 +f 267/539/193 266/538/192 302/621/230 +f 284/623/222 309/1285/224 308/624/231 +f 286/589/212 267/588/193 301/625/225 +f 285/627/211 308/1286/231 307/628/223 +f 288/592/214 286/591/212 300/629/232 +f 289/594/215 287/593/213 307/631/223 +f 288/633/214 299/1287/233 298/634/235 +f 291/597/217 289/596/215 306/635/234 +f 290/637/216 298/1288/235 282/638/237 +f 292/600/218 291/599/217 305/639/236 +f 314/675/241 315/714/247 316/676/242 +f 311/673/239 321/695/258 322/683/248 +f 313/677/243 316/676/242 318/679/245 +f 325/686/251 326/690/255 327/687/252 +f 325/686/251 322/1289/248 328/689/254 +f 323/685/250 318/679/245 324/691/253 +f 317/678/244 320/684/270 322/683/248 +f 330/694/257 331/707/264 321/695/258 +f 318/679/245 317/678/244 325/693/251 +f 321/699/258 333/703/262 334/700/260 +f 321/699/258 331/1290/264 335/702/261 +f 323/685/250 329/692/256 331/707/264 +f 330/694/257 337/709/265 313/677/243 +f 337/709/265 310/672/238 314/675/241 +f 332/698/259 336/706/263 339/710/71 +f 336/706/263 338/712/267 339/710/71 +f 334/705/260 333/1291/262 338/712/267 +f 328/696/254 332/698/259 340/711/266 +f 343/718/272 344/729/283 345/719/273 +f 347/721/275 348/727/281 349/722/276 +f 350/724/278 351/728/282 352/725/279 +f 342/720/274 349/722/276 348/727/281 +f 351/728/282 350/724/278 345/719/273 +f 350/1292/284 353/1293/284 346/1294/284 +f 353/1293/284 354/1295/284 346/1294/284 +f 346/1294/284 349/730/284 350/1292/284 +f 350/1292/284 349/730/284 345/719/284 +f 354/731/285 355/1296/481 347/721/275 +f 352/725/279 355/1297/482 354/732/286 +f 357/733/287 358/744/298 359/734/288 +f 361/736/290 362/742/296 363/737/291 +f 364/739/293 365/743/297 366/740/294 +f 356/735/289 363/737/291 362/742/296 +f 365/743/297 364/739/293 359/734/288 +f 364/1298/299 367/1299/299 360/1300/299 +f 367/1299/299 368/1301/299 360/1300/299 +f 360/1300/299 363/745/299 364/1298/299 +f 364/1298/299 363/745/299 359/734/299 +f 368/746/300 369/1302/483 361/736/290 +f 366/740/294 369/1303/484 368/747/301 +f 231/748/302 225/1304/148 226/644/149 +f 218/749/303 217/771/309 370/750/304 +f 182/439/110 207/1305/134 206/752/136 +f 165/425/97 168/424/96 211/753/155 +f 190/450/118 192/449/120 215/755/154 +f 203/757/305 372/764/308 373/758/306 +f 188/445/116 222/770/145 221/760/147 +f 198/456/126 165/425/97 210/761/137 +f 202/763/307 374/1306/307 372/764/308 +f 184/441/112 229/1307/152 207/765/134 +f 192/449/120 194/452/122 231/766/302 +f 168/424/96 170/427/99 202/767/131 +f 180/437/108 206/1308/136 218/769/142 +f 190/447/118 214/1309/140 222/770/145 +f 217/771/309 227/759/306 373/758/306 +f 186/443/114 221/1310/147 229/772/152 +f 194/452/122 198/456/126 225/773/148 +f 375/775/310 376/781/316 372/776/311 +f 378/778/313 371/1311/485 370/779/314 +f 376/781/316 379/783/158 373/782/317 +f 377/780/315 370/779/314 373/782/317 +f 178/784/318 378/1312/325 377/785/319 +f 176/786/320 377/785/319 379/787/321 +f 172/789/322 174/788/321 379/787/321 +f 178/791/318 218/1313/324 371/792/324 +f 170/794/326 375/1314/328 374/795/327 +f 170/797/326 172/789/322 376/790/323 +f 383/799/71 382/803/71 381/800/104 +f 385/802/329 384/805/329 382/803/71 +f 387/804/284 386/807/284 384/805/329 +f 389/806/330 388/812/330 386/807/284 +f 391/808/331 390/819/341 389/806/330 +f 392/809/332 395/1315/344 394/810/333 +f 388/812/330 397/820/342 396/813/335 +f 392/809/332 393/811/334 385/802/329 +f 399/814/336 398/816/338 382/803/71 +f 393/811/334 391/808/331 387/804/284 +f 396/813/335 399/814/336 384/805/329 +f 400/815/337 392/809/332 383/799/71 +f 398/816/338 401/824/346 381/800/104 +f 403/817/339 402/1316/345 398/816/338 +f 394/810/333 404/1317/340 391/808/331 +f 396/813/335 405/1318/343 403/817/339 +f 404/818/340 406/1319/486 390/819/341 +f 397/820/342 407/1320/487 405/821/343 +f 400/815/337 408/1321/488 395/822/344 +f 402/823/345 409/1322/489 401/824/346 +f 411/825/101 412/828/71 413/826/71 +f 412/828/71 414/830/347 415/829/347 +f 414/830/347 416/832/299 417/831/299 +f 416/832/299 418/839/348 419/833/348 +f 419/833/348 420/847/361 421/834/349 +f 422/835/350 423/841/355 424/836/351 +f 416/832/299 426/842/356 427/838/353 +f 415/829/347 423/841/355 422/835/350 +f 412/828/71 428/844/358 429/840/354 +f 417/831/299 421/834/349 423/841/355 +f 414/830/347 429/840/354 426/842/356 +f 413/826/71 422/835/350 430/843/357 +f 411/825/101 431/853/365 428/844/358 +f 428/844/358 432/1323/366 433/845/359 +f 421/834/349 434/1324/362 424/836/351 +f 426/842/356 429/840/354 433/845/359 +f 420/847/361 436/1325/490 434/848/362 +f 427/838/353 426/842/356 435/849/360 +f 430/843/357 422/835/350 425/851/352 +f 431/853/365 439/1326/491 432/854/366 +f 441/855/367 442/858/101 443/856/101 +f 442/858/101 444/874/104 445/859/104 +f 445/859/104 444/874/104 446/860/368 +f 447/861/368 446/860/368 448/862/348 +f 448/862/348 450/877/372 451/864/369 +f 452/865/370 453/917/399 454/866/371 +f 452/868/370 456/887/385 457/869/373 +f 452/868/370 455/870/330 459/871/330 +f 455/870/330 441/855/367 440/857/367 +f 442/858/101 460/883/383 461/873/375 +f 451/864/369 462/899/384 463/875/376 +f 448/862/348 464/889/387 465/876/377 +f 447/861/368 466/888/386 467/878/378 +f 440/857/367 468/880/380 469/879/379 +f 443/856/101 470/890/388 468/880/380 +f 444/874/104 461/873/375 471/881/381 +f 455/870/330 457/869/373 472/882/382 +f 441/855/367 472/882/382 460/883/383 +f 458/872/374 473/891/389 462/884/384 +f 450/886/372 465/910/377 456/887/385 +f 449/863/348 463/875/376 466/888/386 +f 446/860/368 471/881/381 464/889/387 +f 445/859/104 467/878/378 470/890/388 +f 459/871/330 469/879/379 473/891/389 +f 460/883/383 472/882/382 475/894/390 +f 482/1327/394 476/1328/391 475/901/390 +f 475/901/390 477/1329/397 478/902/392 +f 478/902/392 479/1330/396 480/903/393 +f 480/903/393 481/1331/395 482/1327/394 +f 482/1327/394 475/901/390 480/903/393 +f 460/883/383 476/1332/391 482/906/394 +f 461/873/375 482/1333/394 481/907/395 +f 471/881/381 481/1334/395 480/908/393 +f 464/889/387 480/1335/393 479/909/396 +f 465/910/377 479/1336/396 478/911/392 +f 456/887/385 478/1337/392 477/912/397 +f 457/869/373 477/1338/397 475/913/390 +f 450/867/372 454/866/371 483/914/398 +f 458/916/374 484/919/400 453/917/399 +f 451/918/369 483/1339/398 484/919/400 +f 485/920/401 486/943/416 487/921/402 +f 487/923/402 489/934/413 490/924/404 +f 490/924/404 489/1340/413 491/925/405 +f 491/927/405 493/949/408 494/928/407 +f 493/929/408 495/940/410 496/930/409 +f 495/931/410 497/948/423 498/932/411 +f 487/923/402 499/1341/420 500/933/412 +f 498/935/411 497/1342/423 501/936/414 +f 502/937/415 501/1343/414 486/938/416 +f 493/929/408 507/1344/424 506/939/417 +f 486/938/416 501/1343/414 504/941/418 +f 486/943/416 503/1345/419 499/944/420 +f 491/925/405 489/1340/413 500/945/412 +f 495/931/410 506/1346/417 505/947/422 +f 493/949/408 491/927/405 508/950/421 +f 501/936/414 497/1342/423 505/952/422 +f 509/954/425 510/958/429 511/955/426 +f 494/928/407 513/959/430 514/957/428 +f 490/924/404 515/961/432 510/958/429 +f 496/930/409 516/966/436 513/959/430 +f 485/920/401 509/954/425 517/960/431 +f 488/922/403 510/958/429 509/954/425 +f 492/926/406 514/957/428 515/961/432 +f 517/960/431 509/954/425 512/962/427 +f 524/964/434 522/1347/439 521/965/435 +f 513/959/430 520/1348/440 519/967/437 +f 510/958/429 515/961/432 518/968/438 +f 524/970/434 517/960/431 523/971/433 +f 516/966/436 521/1349/435 520/973/440 +f 514/957/428 519/1350/437 518/974/438 +f 530/1351/448 525/977/443 529/976/442 +f 525/977/443 526/1352/456 528/975/441 +f 526/1352/456 527/1353/455 528/975/441 +f 532/978/444 533/1002/464 534/979/445 +f 536/983/449 534/993/445 535/981/447 +f 535/981/447 525/1014/443 530/982/448 +f 537/984/450 538/990/454 539/985/451 +f 536/987/449 530/1354/448 529/988/442 +f 538/990/454 537/984/450 527/991/455 +f 534/993/445 533/1355/492 542/994/457 +f 544/998/460 543/997/459 545/999/461 +f 532/978/444 547/1019/472 543/1001/463 +f 542/994/457 533/1355/492 544/1003/465 +f 539/985/451 549/1356/471 550/1005/467 +f 543/1001/463 547/1019/472 551/1006/468 +f 544/1003/465 546/1080/61 552/1008/469 +f 552/1008/469 553/1081/474 554/1009/470 +f 542/994/457 538/1016/454 526/1013/456 +f 532/978/444 531/980/446 527/1011/455 +f 538/1016/454 542/994/457 548/1004/466 +f 532/978/444 537/1015/450 540/1018/452 +f 549/1010/471 539/1017/451 548/1004/466 +f 547/1019/472 540/1018/452 550/1020/467 +f 529/1022/442 528/1012/441 531/980/446 +f 531/980/446 534/979/445 541/1021/453 +f 555/1023/401 556/1048/416 557/1024/402 +f 557/1026/402 559/1037/413 560/1027/404 +f 560/1027/404 559/1357/413 561/1028/405 +f 561/1030/405 563/1054/408 564/1031/407 +f 563/1032/408 565/1045/410 566/1033/409 +f 565/1034/410 567/1053/423 568/1035/411 +f 557/1026/402 569/1358/420 570/1036/412 +f 568/1038/411 567/1359/423 571/1039/414 +f 572/1040/415 571/1360/414 556/1041/416 +f 566/1033/409 568/1035/411 573/1042/434 +f 563/1032/408 579/1361/424 578/1044/417 +f 556/1041/416 571/1360/414 576/1046/418 +f 556/1048/416 575/1362/419 569/1049/420 +f 561/1028/405 559/1357/413 570/1050/412 +f 565/1034/410 578/1363/417 577/1052/422 +f 563/1054/408 561/1030/405 580/1055/421 +f 571/1039/414 567/1359/423 577/1057/422 +f 581/1059/425 582/1064/429 583/1060/426 +f 564/1031/407 585/1065/430 586/1062/428 +f 572/1040/415 587/1066/431 573/1063/434 +f 560/1027/404 588/1067/432 582/1064/429 +f 566/1033/409 574/1043/436 585/1065/430 +f 555/1023/401 581/1059/425 587/1066/431 +f 558/1025/403 582/1064/429 581/1059/425 +f 562/1029/406 586/1062/428 588/1067/432 +f 587/1066/431 581/1059/425 584/1068/427 +f 573/1042/434 593/1364/439 592/1070/435 +f 585/1065/430 591/1365/440 590/1071/437 +f 582/1064/429 588/1067/432 589/1072/438 +f 573/1063/434 587/1066/431 594/1074/433 +f 574/1043/436 592/1366/435 591/1076/440 +f 586/1062/428 590/1367/437 589/1077/438 +f 550/1005/467 549/1356/471 554/1078/470 +f 546/1080/61 596/1368/61 553/1081/474 +f 600/1082/104 599/1086/104 598/1083/368 +f 602/1085/101 601/1088/101 599/1086/104 +f 604/1087/367 603/1090/367 601/1088/101 +f 606/1089/330 605/1092/330 603/1090/367 +f 608/1091/374 607/1104/370 605/1092/330 +f 611/1093/399 610/1142/371 609/1094/372 +f 614/1096/387 613/1113/377 609/1097/372 +f 616/1099/348 612/1098/348 609/1097/372 +f 597/1084/368 598/1083/368 612/1098/348 +f 618/1101/383 617/1110/375 599/1086/104 +f 620/1102/379 619/1126/389 608/1091/374 +f 622/1103/385 621/1116/373 605/1092/330 +f 624/1105/388 623/1115/380 604/1087/367 +f 626/1106/376 625/1107/386 597/1084/368 +f 625/1107/386 627/1117/378 600/1082/104 +f 628/1108/382 618/1101/383 601/1088/101 +f 629/1109/381 614/1096/387 612/1098/348 +f 617/1110/375 629/1109/381 598/1083/368 +f 619/1111/389 630/1118/384 615/1100/369 +f 613/1113/377 622/1137/385 607/1114/370 +f 623/1115/380 620/1102/379 606/1089/330 +f 621/1116/373 628/1108/382 603/1090/367 +f 627/1117/378 624/1105/388 602/1085/101 +f 630/1118/384 626/1106/376 616/1099/348 +f 617/1110/375 633/1369/394 632/1121/395 +f 632/1129/395 633/1370/394 639/1371/391 +f 639/1371/391 638/1372/390 632/1129/395 +f 638/1372/390 637/1373/397 632/1129/395 +f 637/1373/397 636/1374/392 632/1129/395 +f 636/1374/392 635/1127/396 632/1129/395 +f 639/1132/391 633/1375/394 617/1110/375 +f 638/1133/390 639/1376/391 618/1101/383 +f 637/1134/397 638/1377/390 628/1108/382 +f 622/1103/385 636/1378/392 637/1135/397 +f 635/1136/396 636/1379/392 622/1137/385 +f 614/1096/387 634/1380/393 635/1138/396 +f 632/1139/395 634/1381/393 614/1096/387 +f 640/1140/400 611/1093/399 607/1095/370 +f 610/1142/371 641/1144/398 615/1143/369 +f 641/1144/398 640/1382/400 608/1145/374 +f 642/1146/407 645/1151/406 644/1147/475 +f 647/1149/404 646/1162/413 644/1150/475 +f 647/1149/404 649/1156/403 648/1152/477 +f 651/1154/401 650/1176/478 648/1155/477 +f 653/1157/415 652/1170/414 650/1158/478 +f 655/1159/411 654/1175/423 652/1160/414 +f 657/1161/412 656/1383/421 644/1150/475 +f 655/1163/411 659/1166/409 658/1164/410 +f 659/1166/409 642/1146/407 643/1167/476 +f 663/1169/479 664/1384/493 650/1158/478 +f 643/1167/476 660/1385/494 661/1171/480 +f 656/1172/421 660/1386/494 643/1148/476 +f 648/1152/477 665/1387/420 657/1173/412 +f 662/1174/422 663/1388/479 652/1160/414 +f 650/1176/478 664/1389/493 665/1177/420 +f 658/1164/410 661/1390/480 662/1178/422 +f 666/1179/430 669/1391/440 668/1180/437 +f 671/1182/429 670/1183/425 651/1154/401 +f 667/1181/428 672/1185/432 647/1149/404 +f 670/1183/425 673/1189/431 653/1157/415 +f 674/1184/436 666/1179/430 642/1146/407 +f 666/1179/430 667/1181/428 645/1151/406 +f 672/1185/432 671/1182/429 649/1156/403 +f 674/1184/436 680/1392/435 669/1186/440 +f 678/1187/433 679/1393/439 681/1188/434 +f 676/1190/426 677/1394/427 670/1183/425 +f 667/1181/428 668/1395/437 675/1191/438 +f 681/1192/434 679/1396/439 680/1193/435 +f 677/1194/427 678/1397/433 673/1189/431 +f 675/1195/438 676/1398/426 671/1182/429 +f 712/1196/407 715/1201/406 714/1197/475 +f 717/1199/404 716/1212/413 714/1200/475 +f 717/1199/404 719/1206/403 718/1202/477 +f 721/1204/401 720/1227/478 718/1205/477 +f 723/1207/415 722/1221/414 720/1208/478 +f 725/1209/411 724/1226/423 722/1210/414 +f 727/1211/412 726/1399/421 714/1200/475 +f 725/1213/411 729/1216/409 728/1214/410 +f 729/1216/409 712/1196/407 713/1217/476 +f 723/1207/415 731/1240/431 730/1219/434 +f 735/1220/479 736/1400/493 720/1208/478 +f 713/1217/476 732/1401/494 733/1222/480 +f 726/1223/421 732/1402/494 713/1198/476 +f 718/1202/477 737/1403/420 727/1224/412 +f 734/1225/422 735/1404/479 722/1210/414 +f 720/1227/478 736/1405/493 737/1228/420 +f 728/1214/410 733/1406/480 734/1229/422 +f 738/1230/430 741/1407/440 740/1231/437 +f 743/1233/429 742/1235/425 721/1204/401 +f 730/1234/434 744/1237/436 729/1216/409 +f 739/1232/428 745/1236/432 717/1199/404 +f 742/1235/425 731/1240/431 723/1207/415 +f 729/1216/409 744/1237/436 738/1230/430 +f 738/1230/430 739/1232/428 715/1201/406 +f 745/1236/432 743/1233/429 719/1206/403 +f 744/1237/436 751/1408/435 741/1238/440 +f 749/1239/433 750/1409/439 730/1219/434 +f 747/1241/426 748/1410/427 742/1235/425 +f 739/1232/428 740/1411/437 746/1242/438 +f 730/1234/434 750/1412/439 751/1243/435 +f 748/1244/427 749/1413/433 731/1240/431 +f 746/1245/438 747/1414/426 743/1233/429 +f 524/964/434 516/966/436 496/930/409 +f 502/937/415 517/960/431 524/970/434 +f 659/1166/409 655/1163/411 681/1192/434 +f 653/1157/415 673/1189/431 681/1188/434 diff --git a/src/main/resources/assets/hbm/models/weapons/carbine.obj b/src/main/resources/assets/hbm/models/weapons/carbine.obj index 5a5caf913..a6baa05c0 100644 --- a/src/main/resources/assets/hbm/models/weapons/carbine.obj +++ b/src/main/resources/assets/hbm/models/weapons/carbine.obj @@ -1,6 +1,1217 @@ # Blender v2.79 (sub 0) OBJ File: 'carbine.blend' # www.blender.org -o Cylinder +o Bayonet +v -0.125000 0.062500 5.000000 +v -0.125000 0.312500 5.000000 +v -0.125000 0.062500 4.250000 +v -0.125000 0.312500 4.250000 +v 0.125000 0.062500 5.000000 +v 0.125000 0.312500 5.000000 +v 0.125000 0.062500 4.250000 +v 0.125000 0.312500 4.250000 +v -0.062500 0.437500 5.000000 +v -0.062500 0.437500 4.250000 +v 0.062500 0.437500 4.250000 +v 0.062500 0.437500 5.000000 +v -0.062500 -0.062500 4.250000 +v -0.062500 -0.062500 5.000000 +v 0.062500 -0.062500 4.250000 +v 0.062500 -0.062500 5.000000 +v -0.250000 -0.125000 7.625000 +v 0.250000 -0.125000 7.625000 +v -0.250000 0.500000 7.625000 +v 0.250000 0.500000 7.625000 +v -0.125000 0.812500 7.625000 +v 0.125000 0.812500 7.625000 +v -0.125000 -0.437500 7.625000 +v 0.125000 -0.437500 7.625000 +v -0.250000 0.500000 7.750000 +v -0.250000 -0.125000 7.750000 +v 0.250000 -0.125000 7.750000 +v 0.250000 0.500000 7.750000 +v 0.125000 0.812500 7.750000 +v -0.125000 0.812500 7.750000 +v -0.125000 -0.437500 7.750000 +v 0.125000 -0.437500 7.750000 +v -0.187500 0.000000 5.500000 +v -0.187500 0.375000 5.500000 +v 0.187500 0.000000 5.500000 +v 0.187500 0.375000 5.500000 +v -0.062500 0.562500 5.500000 +v 0.062500 0.562500 5.500000 +v -0.062500 -0.187500 5.500000 +v 0.062500 -0.187500 5.500000 +v -0.187500 0.000000 7.125000 +v -0.187500 0.375000 7.125000 +v 0.187500 0.000000 7.125000 +v 0.187500 0.375000 7.125000 +v -0.062500 0.562500 7.125000 +v 0.062500 0.562500 7.125000 +v -0.062500 -0.187500 7.125000 +v 0.062500 -0.187500 7.125000 +v -0.062500 0.250000 7.750000 +v -0.062500 0.125000 7.750000 +v 0.062500 0.250000 7.750000 +v 0.062500 0.125000 7.750000 +v 0.000000 -0.125000 7.750000 +v 0.000000 0.500000 7.750000 +v -0.125000 0.062500 7.625000 +v -0.125000 0.312500 7.625000 +v 0.125000 0.062500 7.625000 +v 0.125000 0.312500 7.625000 +v -0.062500 0.437500 7.625000 +v 0.062500 0.437500 7.625000 +v -0.062500 -0.062500 7.625000 +v 0.062500 -0.062500 7.625000 +v -0.062500 0.250000 10.500000 +v -0.062500 0.125000 10.500000 +v 0.062500 0.250000 10.500000 +v 0.062500 0.125000 10.500000 +v 0.000000 -0.125000 10.500000 +v 0.000000 0.500000 10.500000 +v 0.000000 0.187500 11.500000 +vt 0.961538 0.250000 +vt 0.935897 0.250000 +vt 0.923077 0.208333 +vt 0.205128 0.916667 +vt 0.153846 0.916667 +vt 0.128205 0.812500 +vt 0.076923 0.916667 +vt 0.025641 0.916667 +vt 0.000000 0.812500 +vt 0.923077 0.125000 +vt 0.974359 0.125000 +vt 0.935897 0.083333 +vt 0.961538 0.083333 +vt 0.974359 0.208333 +vt 0.128205 0.604167 +vt 0.230769 0.604167 +vt 0.153846 0.500000 +vt 0.205128 0.500000 +vt 0.230769 0.812500 +vt 0.000000 0.604167 +vt 0.102564 0.604167 +vt 0.025641 0.500000 +vt 0.076923 0.500000 +vt 0.102564 0.812500 +vt 0.769231 0.416667 +vt 0.923077 0.500000 +vt 0.769231 0.500000 +vt 0.769231 0.125000 +vt 0.923077 0.083333 +vt 0.919414 0.333724 +vt 0.768434 0.292786 +vt 0.919419 0.292832 +vt 0.769231 0.250000 +vt 0.769231 0.208333 +vt 0.923077 0.375000 +vt 0.923077 0.416667 +vt 0.923077 0.041667 +vt 0.769231 -0.000000 +vt 0.923077 -0.000000 +vt 0.769231 0.541667 +vt 0.666667 0.229167 +vt 0.769231 0.375000 +vt 0.666667 0.395833 +vt 0.666667 0.333333 +vt 0.666667 0.104167 +vt 0.128205 0.104167 +vt 0.102564 0.000000 +vt 0.128205 0.000000 +vt 0.102564 0.500000 +vt 0.128205 0.500000 +vt 0.128205 0.916667 +vt 0.128205 1.000000 +vt 0.102564 0.916667 +vt 0.128205 0.312500 +vt 0.102564 0.104167 +vt 0.128205 0.416667 +vt 0.102564 0.312500 +vt 0.102564 0.416667 +vt 0.769231 0.041667 +vt 0.666667 -0.000000 +vt 0.666667 0.520833 +vt 0.768429 0.333678 +vt 0.666667 0.291667 +vt 0.769231 0.083333 +vt 0.666667 0.041667 +vt 0.333333 0.291667 +vt 0.333333 0.229167 +vt 0.333333 0.041667 +vt 0.333333 0.333333 +vt 0.333333 0.395833 +vt 0.333333 0.104167 +vt 0.666667 0.583333 +vt 0.333333 0.520833 +vt 0.333333 -0.000000 +vt 0.230769 0.125000 +vt 0.230769 0.250000 +vt 0.230769 0.208333 +vt 0.230769 0.333333 +vt 0.230769 0.375000 +vt 0.230769 0.416667 +vt 0.230769 0.541667 +vt 0.333333 0.583333 +vt 0.230769 0.041667 +vt 0.230769 0.083333 +vt 1.000000 0.875000 +vt 0.435897 0.791667 +vt 1.000000 0.791667 +vt 0.435897 0.708333 +vt 1.000000 0.708333 +vt 0.435897 0.666667 +vt 1.000000 0.666667 +vt 0.435897 0.583333 +vt 1.000000 0.583333 +vt 1.000000 1.000000 +vt 0.435897 0.916667 +vt 1.000000 0.916667 +vt 0.230769 0.895833 +vt 0.435897 1.000000 +vt 0.230769 0.687500 +vt 0.435897 0.875000 +vt 0.923077 0.250000 +vt 0.923077 0.541667 +vt 0.102564 1.000000 +vt 0.230769 0.291667 +vt 0.230769 0.500000 +vt 0.230769 -0.000000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.9732 0.2298 0.0000 +vn -0.9732 -0.2298 0.0000 +vn 0.9732 0.2298 0.0000 +vn 0.9732 -0.2298 0.0000 +vn 0.5257 -0.8507 0.0000 +vn -0.5257 0.8507 0.0000 +vn 0.5257 0.8507 0.0000 +vn -0.5257 -0.8507 0.0000 +vn 0.5355 0.8129 -0.2289 +vn 0.9466 0.2910 -0.1391 +vn 0.9657 0.2139 -0.1474 +vn -0.5355 0.8129 -0.2289 +vn -0.9466 0.2910 -0.1391 +vn -0.4332 0.8744 -0.2186 +vn 0.9466 -0.2910 -0.1391 +vn 0.9657 -0.2139 -0.1474 +vn -0.9657 -0.2139 -0.1474 +vn -0.9657 0.2139 -0.1474 +vn -0.9820 0.1891 0.0000 +vn -0.5606 0.8281 0.0000 +vn 0.9820 -0.1891 0.0000 +vn 0.5606 -0.8281 0.0000 +vn 0.5606 0.8281 0.0000 +vn 0.9820 0.1891 0.0000 +vn -0.9820 -0.1891 0.0000 +vn -0.5606 -0.8281 0.0000 +vn 0.5355 -0.8129 -0.2289 +vn -0.4332 -0.8744 -0.2186 +vn -0.5355 -0.8129 -0.2289 +vn -0.9466 -0.2910 -0.1391 +vn 0.4332 0.8744 -0.2186 +vn 0.4332 -0.8744 -0.2186 +vn -0.4719 0.8817 0.0000 +vn 0.4719 0.8817 0.0000 +vn 0.9571 0.2898 0.0000 +vn 0.9571 -0.2898 0.0000 +vn 0.4719 -0.8817 0.0000 +vn -0.9571 0.2898 0.0000 +vn -0.9571 -0.2898 0.0000 +vn -0.4719 -0.8817 0.0000 +vn 0.9466 0.2910 0.1391 +vn 0.9657 -0.2139 0.1474 +vn 0.9466 -0.2910 0.1391 +vn 0.5355 0.8129 0.2289 +vn 0.9657 0.2139 0.1474 +vn -0.5355 0.8129 0.2289 +vn 0.4332 0.8744 0.2186 +vn -0.4332 0.8744 0.2186 +vn -0.9466 0.2910 0.1391 +vn -0.9466 -0.2910 0.1391 +vn -0.9657 0.2139 0.1474 +vn -0.5355 -0.8129 0.2289 +vn -0.4332 -0.8744 0.2186 +vn 0.5355 -0.8129 0.2289 +vn 0.4332 -0.8744 0.2186 +vn -0.9925 0.1222 0.0000 +vn -0.9696 0.2424 0.0339 +vn -0.9701 0.2425 0.0000 +vn 0.9701 0.2425 0.0000 +vn 0.9917 0.1242 0.0348 +vn 0.9925 0.1222 0.0000 +vn 0.9917 -0.1242 0.0348 +vn 0.9925 -0.1222 0.0000 +vn 0.9696 -0.2424 0.0339 +vn 0.9701 -0.2425 0.0000 +vn -0.9701 -0.2425 0.0000 +vn -0.9917 -0.1242 0.0348 +vn -0.9925 -0.1222 0.0000 +vn -0.9972 0.0000 0.0747 +vn -0.9696 -0.2424 0.0339 +vn 0.9972 0.0000 0.0747 +vn 0.9696 0.2424 0.0339 +vn -0.9917 0.1242 0.0348 +vn -0.9657 -0.2139 0.1474 +s off +f 10/1/1 11/2/1 8/3/1 +f 21/4/1 22/5/1 20/6/1 +f 29/7/2 30/8/2 25/9/2 +f 8/3/1 7/10/1 3/11/1 +f 7/10/1 15/12/1 3/11/1 +f 15/12/1 13/13/1 3/11/1 +f 3/11/1 4/14/1 8/3/1 +f 4/14/1 10/1/1 8/3/1 +f 20/6/1 18/15/1 17/16/1 +f 18/15/1 24/17/1 17/16/1 +f 24/17/1 23/18/1 17/16/1 +f 17/16/1 19/19/1 20/6/1 +f 19/19/1 21/4/1 20/6/1 +f 25/9/2 26/20/2 27/21/2 +f 26/20/2 31/22/2 27/21/2 +f 31/22/2 32/23/2 27/21/2 +f 27/21/2 28/24/2 25/9/2 +f 28/24/2 29/7/2 25/9/2 +s 1 +f 2/25/3 3/26/4 1/27/4 +f 8/3/5 5/28/6 7/10/6 +f 5/28/6 15/29/7 7/10/6 +f 10/30/8 12/31/9 11/32/9 +f 8/3/5 12/33/9 6/34/5 +f 2/25/3 10/35/8 4/36/3 +f 15/37/7 14/38/10 13/39/10 +f 3/26/4 14/40/10 1/27/4 +f 12/33/11 36/41/12 6/34/13 +f 9/42/14 34/43/15 37/44/16 +f 6/34/13 35/45/17 5/28/18 +f 1/27/19 34/43/15 2/25/20 +f 19/46/21 30/47/22 21/48/22 +f 18/15/23 32/49/24 24/50/24 +f 22/51/25 28/24/26 20/6/26 +f 21/52/22 29/53/25 22/51/25 +f 20/6/26 27/21/23 18/15/23 +f 17/54/27 25/55/21 19/46/21 +f 23/56/28 26/57/27 17/54/27 +f 24/50/24 31/58/28 23/56/28 +f 16/59/29 39/60/30 14/38/31 +f 14/40/31 33/61/32 1/27/19 +f 9/62/14 38/63/33 12/31/11 +f 16/64/29 35/45/17 40/65/34 +f 37/44/35 46/66/36 38/63/36 +f 38/63/36 44/67/37 36/41/37 +f 35/45/38 48/68/39 40/65/39 +f 34/43/40 45/69/35 37/44/35 +f 33/61/41 42/70/40 34/43/40 +f 36/41/37 43/71/38 35/45/38 +f 39/72/42 41/73/41 33/61/41 +f 40/65/39 47/74/42 39/60/42 +f 44/67/43 57/75/44 43/71/45 +f 44/67/43 60/76/46 58/77/47 +f 59/78/48 46/66/49 45/69/50 +f 42/70/51 59/79/48 45/69/50 +f 41/73/52 56/80/53 42/70/51 +f 61/81/54 41/73/52 47/82/55 +f 62/83/56 47/74/55 48/68/57 +f 43/71/45 62/84/56 48/68/57 +f 49/85/58 68/86/59 54/87/60 +f 54/87/61 65/88/62 51/89/63 +f 51/89/63 66/90/64 52/91/65 +f 52/91/65 67/92/66 53/93/67 +f 53/94/68 64/95/69 50/96/70 +f 64/95/69 49/85/58 50/96/70 +f 69/97/71 64/95/69 67/98/72 +f 67/92/66 66/90/64 69/99/73 +f 66/90/64 65/88/62 69/99/73 +f 65/88/62 68/86/74 69/99/73 +f 68/86/59 63/100/75 69/97/71 +f 64/95/69 69/97/71 63/100/75 +f 2/25/3 4/36/3 3/26/4 +f 8/3/5 6/34/5 5/28/6 +f 5/28/6 16/64/7 15/29/7 +f 10/30/8 9/62/8 12/31/9 +f 8/3/5 11/101/9 12/33/9 +f 2/25/3 9/42/8 10/35/8 +f 15/37/7 16/59/7 14/38/10 +f 3/26/4 13/102/10 14/40/10 +f 12/33/11 38/63/33 36/41/12 +f 9/42/14 2/25/20 34/43/15 +f 6/34/13 36/41/12 35/45/17 +f 1/27/19 33/61/32 34/43/15 +f 19/46/21 25/55/21 30/47/22 +f 18/15/23 27/21/23 32/49/24 +f 22/51/25 29/53/25 28/24/26 +f 21/52/22 30/103/22 29/53/25 +f 20/6/26 28/24/26 27/21/23 +f 17/54/27 26/57/27 25/55/21 +f 23/56/28 31/58/28 26/57/27 +f 24/50/24 32/49/24 31/58/28 +f 16/59/29 40/65/34 39/60/30 +f 14/40/31 39/72/30 33/61/32 +f 9/62/14 37/44/16 38/63/33 +f 16/64/29 5/28/18 35/45/17 +f 37/44/35 45/69/35 46/66/36 +f 38/63/36 46/66/36 44/67/37 +f 35/45/38 43/71/38 48/68/39 +f 34/43/40 42/70/40 45/69/35 +f 33/61/41 41/73/41 42/70/40 +f 36/41/37 44/67/37 43/71/38 +f 39/72/42 47/82/42 41/73/41 +f 40/65/39 48/68/39 47/74/42 +f 44/67/43 58/77/47 57/75/44 +f 44/67/43 46/66/49 60/76/46 +f 59/78/48 60/104/46 46/66/49 +f 42/70/51 56/80/53 59/79/48 +f 41/73/52 55/105/76 56/80/53 +f 61/81/54 55/105/76 41/73/52 +f 62/83/56 61/106/54 47/74/55 +f 43/71/45 57/75/44 62/84/56 +f 49/85/58 63/100/75 68/86/59 +f 54/87/61 68/86/74 65/88/62 +f 51/89/63 65/88/62 66/90/64 +f 52/91/65 66/90/64 67/92/66 +f 53/94/68 67/98/72 64/95/69 +f 64/95/69 63/100/75 49/85/58 +o Bullet +v 0.000000 1.000000 0.187500 +v -0.062500 0.983253 0.187500 +v -0.108253 0.937500 0.187500 +v -0.125000 0.875000 0.187500 +v -0.108253 0.812500 0.187500 +v -0.062500 0.766747 0.187500 +v 0.000000 0.750000 0.187500 +v 0.062500 0.766747 0.187500 +v 0.108253 0.812500 0.187500 +v 0.125000 0.875000 0.187500 +v 0.108253 0.937500 0.187500 +v 0.062500 0.983253 0.187500 +v 0.000000 1.000000 0.812500 +v -0.062500 0.983253 0.812500 +v -0.108253 0.937500 0.812500 +v -0.125000 0.875000 0.812500 +v -0.108253 0.812500 0.812500 +v -0.062500 0.766747 0.812500 +v 0.000000 0.750000 0.812500 +v 0.062500 0.766747 0.812500 +v 0.108253 0.812500 0.812500 +v 0.125000 0.875000 0.812500 +v 0.108253 0.937500 0.812500 +v 0.062500 0.983253 0.812500 +v 0.000000 0.968750 1.000000 +v -0.046875 0.956190 1.000000 +v -0.081190 0.921875 1.000000 +v -0.093750 0.875000 1.000000 +v -0.081190 0.828125 1.000000 +v -0.046875 0.793810 1.000000 +v 0.000000 0.781250 1.000000 +v 0.046875 0.793810 1.000000 +v 0.081190 0.828125 1.000000 +v 0.093750 0.875000 1.000000 +v 0.081190 0.921875 1.000000 +v 0.046875 0.956190 1.000000 +v 0.000000 0.906250 1.062500 +v -0.015625 0.902063 1.062500 +v -0.027063 0.890625 1.062500 +v -0.031250 0.875000 1.062500 +v -0.027063 0.859375 1.062500 +v -0.015625 0.847937 1.062500 +v 0.000000 0.843750 1.062500 +v 0.015625 0.847937 1.062500 +v 0.027063 0.859375 1.062500 +v 0.031250 0.875000 1.062500 +v 0.027063 0.890625 1.062500 +v 0.015625 0.902063 1.062500 +vt 0.107288 0.837093 +vt 0.113553 0.826359 +vt 0.119818 0.858560 +vt 0.117170 0.866417 +vt 0.107288 0.858560 +vt 0.113553 0.869293 +vt 0.109936 0.866417 +vt 0.106319 0.847826 +vt 0.109936 0.829235 +vt 0.117170 0.829235 +vt 0.119818 0.837092 +vt 0.120788 0.847826 +vt 0.106227 0.836957 +vt 0.069597 0.826087 +vt 0.106227 0.826087 +vt 0.106227 0.934783 +vt 0.069597 0.923913 +vt 0.106227 0.923913 +vt 0.106227 0.880435 +vt 0.069597 0.869565 +vt 0.106227 0.869565 +vt 0.106227 0.902174 +vt 0.069597 0.891304 +vt 0.106227 0.891304 +vt 0.106227 0.847826 +vt 0.069597 0.836957 +vt 0.106227 0.945652 +vt 0.069597 0.934783 +vt 0.069597 0.880435 +vt 0.106227 0.913043 +vt 0.069597 0.902174 +vt 0.106227 0.858696 +vt 0.069597 0.847826 +vt 0.106227 0.956522 +vt 0.069597 0.945652 +vt 0.069597 0.913043 +vt 0.069597 0.858696 +vt 0.058608 0.945652 +vt 0.058608 0.934783 +vt 0.058608 0.891304 +vt 0.058608 0.880435 +vt 0.058608 0.913043 +vt 0.058608 0.902174 +vt 0.058608 0.858696 +vt 0.058608 0.847826 +vt 0.069597 0.956522 +vt 0.058608 0.923913 +vt 0.058608 0.836957 +vt 0.058608 0.826087 +vt 0.058608 0.869565 +vt 0.054945 0.945652 +vt 0.054945 0.934783 +vt 0.054945 0.891304 +vt 0.054945 0.880435 +vt 0.054945 0.913043 +vt 0.054945 0.902174 +vt 0.054945 0.847826 +vt 0.058608 0.956522 +vt 0.054945 0.869565 +vt 0.054945 0.858696 +vt 0.054945 0.836957 +vt 0.054945 0.826087 +vt 0.054945 0.923913 +vt 0.053164 0.826561 +vt 0.054593 0.829009 +vt 0.053164 0.836354 +vt 0.054945 0.956522 +vt 0.052339 0.835698 +vt 0.051735 0.829009 +vt 0.051735 0.833906 +vt 0.051514 0.831457 +vt 0.052339 0.827217 +vt 0.053989 0.827217 +vt 0.054814 0.831457 +vt 0.054593 0.833906 +vt 0.053989 0.835698 +vn 0.0000 0.0000 -1.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.0000 -0.9967 0.0814 +vn 0.0000 -1.0000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn -0.9967 0.0000 0.0814 +vn -1.0000 -0.0000 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.8632 0.4983 0.0814 +vn 0.8660 0.5000 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.0000 0.9967 0.0814 +vn -0.0000 1.0000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.4983 -0.8632 0.0814 +vn -0.5000 -0.8660 0.0000 +vn -0.8632 -0.4983 0.0814 +vn 0.4983 0.8632 0.0814 +vn -0.8660 0.5000 0.0000 +vn -0.4983 0.8632 0.0814 +vn 1.0000 -0.0000 0.0000 +vn 0.8632 -0.4983 0.0814 +vn -0.4983 -0.8632 0.0814 +vn -0.8632 0.4983 0.0814 +vn 0.9967 -0.0000 0.0814 +vn -0.4494 -0.7784 0.4382 +vn -0.7784 -0.4494 0.4382 +vn 0.0000 0.8989 0.4382 +vn 0.4494 0.7784 0.4382 +vn -0.7784 0.4494 0.4382 +vn -0.4494 0.7784 0.4382 +vn 0.8989 -0.0000 0.4382 +vn 0.7784 -0.4494 0.4382 +vn -0.8989 0.0000 0.4382 +vn 0.4494 -0.7784 0.4382 +vn 0.0000 -0.8989 0.4382 +vn 0.7784 0.4494 0.4382 +vn -0.2172 -0.3762 0.9007 +vn -0.3762 -0.2172 0.9007 +vn 0.0000 0.4344 0.9007 +vn 0.2172 0.3762 0.9007 +vn -0.3762 0.2172 0.9007 +vn -0.2172 0.3762 0.9007 +vn 0.3762 -0.2172 0.9007 +vn 0.3762 0.2172 0.9007 +vn 0.4344 0.0000 0.9007 +vn 0.2172 -0.3762 0.9007 +vn 0.0000 -0.4344 0.9007 +vn -0.4344 0.0000 0.9007 +s off +f 78/107/77 76/108/77 72/109/77 +f 72/109/77 71/110/77 80/111/77 +f 71/110/77 70/112/77 80/111/77 +f 70/112/77 81/113/77 80/111/77 +f 80/111/77 79/114/77 78/107/77 +f 78/107/77 77/115/77 76/108/77 +f 76/108/77 75/116/77 74/117/77 +f 74/117/77 73/118/77 76/108/77 +f 73/118/77 72/109/77 76/108/77 +f 80/111/77 78/107/77 72/109/77 +s 1 +f 77/119/78 88/120/79 76/121/80 +f 74/122/81 85/123/82 73/124/83 +f 81/125/84 92/126/85 80/127/86 +f 71/128/87 82/129/88 70/130/89 +f 78/131/90 89/132/91 77/119/78 +f 75/133/92 86/134/93 74/122/81 +f 70/130/89 93/135/94 81/125/84 +f 72/136/95 83/137/96 71/128/87 +f 79/138/97 90/139/98 78/131/90 +f 76/140/80 87/141/99 75/133/92 +f 73/124/83 84/142/100 72/136/95 +f 80/127/86 91/143/101 79/138/97 +f 86/134/93 99/144/102 98/145/103 +f 93/135/94 94/146/104 105/147/105 +f 83/137/96 96/148/106 95/149/107 +f 90/139/98 103/150/108 102/151/109 +f 88/152/79 99/144/102 87/141/99 +f 84/142/100 97/153/110 96/148/106 +f 92/126/85 103/150/108 91/143/101 +f 88/120/79 101/154/111 100/155/112 +f 86/134/93 97/153/110 85/123/82 +f 93/135/94 104/156/113 92/126/85 +f 83/137/96 94/146/104 82/129/88 +f 90/139/98 101/154/111 89/132/91 +f 98/145/103 111/157/114 110/158/115 +f 105/147/105 106/159/116 117/160/117 +f 95/149/107 108/161/118 107/162/119 +f 103/150/108 114/163/120 102/151/109 +f 100/164/112 111/157/114 99/144/102 +f 97/153/110 108/161/118 96/148/106 +f 103/150/108 116/165/121 115/166/122 +f 100/155/112 113/167/123 112/168/124 +f 97/153/110 110/158/115 109/169/125 +f 105/147/105 116/165/121 104/156/113 +f 95/149/107 106/159/116 94/146/104 +f 102/151/109 113/167/123 101/154/111 +f 112/170/124 114/171/120 106/172/116 +f 77/119/78 89/132/91 88/120/79 +f 74/122/81 86/134/93 85/123/82 +f 81/125/84 93/135/94 92/126/85 +f 71/128/87 83/137/96 82/129/88 +f 78/131/90 90/139/98 89/132/91 +f 75/133/92 87/141/99 86/134/93 +f 70/130/89 82/129/88 93/135/94 +f 72/136/95 84/142/100 83/137/96 +f 79/138/97 91/143/101 90/139/98 +f 76/140/80 88/152/79 87/141/99 +f 73/124/83 85/123/82 84/142/100 +f 80/127/86 92/126/85 91/143/101 +f 86/134/93 87/141/99 99/144/102 +f 93/135/94 82/129/88 94/146/104 +f 83/137/96 84/142/100 96/148/106 +f 90/139/98 91/143/101 103/150/108 +f 88/152/79 100/164/112 99/144/102 +f 84/142/100 85/123/82 97/153/110 +f 92/126/85 104/156/113 103/150/108 +f 88/120/79 89/132/91 101/154/111 +f 86/134/93 98/145/103 97/153/110 +f 93/135/94 105/147/105 104/156/113 +f 83/137/96 95/149/107 94/146/104 +f 90/139/98 102/151/109 101/154/111 +f 98/145/103 99/144/102 111/157/114 +f 105/147/105 94/146/104 106/159/116 +f 95/149/107 96/148/106 108/161/118 +f 103/150/108 115/166/122 114/163/120 +f 100/164/112 112/173/124 111/157/114 +f 97/153/110 109/169/125 108/161/118 +f 103/150/108 104/156/113 116/165/121 +f 100/155/112 101/154/111 113/167/123 +f 97/153/110 98/145/103 110/158/115 +f 105/147/105 117/160/117 116/165/121 +f 95/149/107 107/162/119 106/159/116 +f 102/151/109 114/163/120 113/167/123 +f 106/172/116 107/174/119 110/175/115 +f 107/174/119 108/176/118 110/175/115 +f 108/176/118 109/177/125 110/175/115 +f 110/175/115 111/178/114 112/170/124 +f 112/170/124 113/179/123 114/171/120 +f 114/171/120 115/180/122 116/181/121 +f 116/181/121 117/182/117 114/171/120 +f 117/182/117 106/172/116 114/171/120 +f 110/175/115 112/170/124 106/172/116 +o Magazine +v 0.187500 0.875000 1.125000 +v -0.187500 0.875000 1.125000 +v 0.187500 0.875000 0.125000 +v -0.187500 0.875000 0.125000 +v -0.187500 -1.375000 1.125000 +v 0.187500 -1.375000 1.125000 +v -0.187500 -1.375000 0.125000 +v 0.187500 -1.375000 0.125000 +v -0.125000 0.875000 1.125000 +v -0.062500 0.750000 1.125000 +v 0.062500 0.750000 1.125000 +v 0.125000 0.875000 1.125000 +v -0.125000 0.875000 0.125000 +v -0.062500 0.750000 0.125000 +v 0.062500 0.750000 0.125000 +v 0.125000 0.875000 0.125000 +vt 0.450549 0.989130 +vt 0.391941 1.000000 +vt 0.391941 0.989130 +vt 0.391941 0.456522 +vt 0.450549 0.521739 +vt 0.391941 0.521739 +vt 0.391941 0.913043 +vt 0.450549 0.913043 +vt 0.384615 0.891304 +vt 0.377289 0.891304 +vt 0.472527 0.913043 +vt 0.531136 0.521739 +vt 0.531136 0.913043 +vt 0.472527 0.521739 +vt 0.465201 0.891304 +vt 0.457875 0.891304 +vt 0.391941 0.923913 +vt 0.450549 0.923913 +vt 0.391941 0.945652 +vt 0.450549 0.967391 +vt 0.391941 0.967391 +vt 0.450549 0.945652 +vt 0.450549 1.000000 +vt 0.450549 0.456522 +vt 0.388278 0.913043 +vt 0.369963 0.913043 +vt 0.369963 0.521739 +vt 0.373626 0.913043 +vt 0.468864 0.913043 +vt 0.454212 0.913043 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.8944 0.4472 0.0000 +vn 0.8944 0.4472 0.0000 +s off +f 130/183/126 119/184/126 126/185/126 +f 122/186/127 125/187/127 123/188/127 +f 118/189/128 125/187/128 120/190/128 +f 123/188/129 128/191/129 127/192/129 +f 121/193/130 122/194/130 119/195/130 +f 124/196/131 131/197/131 132/198/131 +f 120/190/126 129/199/126 118/189/126 +f 133/200/132 128/201/132 129/199/132 +f 131/202/133 126/185/133 127/203/133 +f 132/204/126 127/203/126 128/201/126 +f 130/183/126 121/205/126 119/184/126 +f 122/186/127 124/206/127 125/187/127 +f 118/189/128 123/188/128 125/187/128 +f 123/188/129 118/189/129 128/191/129 +f 118/189/129 129/207/129 128/191/129 +f 119/208/129 122/209/129 127/192/129 +f 122/209/129 123/188/129 127/192/129 +f 127/192/129 126/210/129 119/208/129 +f 121/193/130 124/196/130 122/194/130 +f 124/196/131 121/193/131 131/197/131 +f 121/193/131 130/211/131 131/197/131 +f 120/190/131 125/187/131 132/198/131 +f 125/187/131 124/196/131 132/198/131 +f 132/198/131 133/212/131 120/190/131 +f 120/190/126 133/200/126 129/199/126 +f 133/200/132 132/204/132 128/201/132 +f 131/202/133 130/183/133 126/185/133 +f 132/204/126 131/202/126 127/203/126 +o Slide +v -0.093750 1.162380 1.125000 +v -0.162380 1.093750 1.125000 +v -0.187500 1.000000 1.125000 +v 0.187500 1.000000 1.125000 +v 0.162380 1.093750 1.125000 +v 0.093750 1.162380 1.125000 +v 0.000000 1.187500 1.125000 +v -0.093750 1.162380 0.125000 +v -0.162380 1.093750 0.125000 +v -0.187500 1.000000 0.125000 +v 0.187500 1.000000 0.125000 +v 0.162380 1.093750 0.125000 +v 0.093750 1.162380 0.125000 +v 0.000000 1.187500 0.125000 +v 0.093750 0.837620 1.375000 +v 0.000000 0.812500 1.375000 +v -0.093750 0.837620 1.375000 +v -0.162380 0.906250 1.375000 +v -0.187500 1.000000 1.375000 +v 0.162380 0.906250 1.375000 +v 0.187500 1.000000 1.375000 +v 0.000000 1.312500 1.375000 +v -0.156250 1.270633 1.375000 +v -0.270633 1.156250 1.375000 +v -0.312500 1.000000 1.375000 +v -0.093750 0.837620 1.125000 +v 0.000000 0.812500 1.125000 +v 0.093750 0.837620 1.125000 +v 0.162380 0.906250 1.125000 +v 0.187500 1.000000 1.125000 +v 0.312500 1.000000 1.375000 +v 0.270633 1.156250 1.375000 +v 0.156250 1.270633 1.375000 +v -0.162380 0.906250 1.125000 +v -0.187500 1.000000 1.125000 +v -0.156250 1.270633 1.125000 +v 0.000000 1.312500 1.125000 +v -0.270633 1.156250 1.125000 +v -0.312500 1.000000 1.125000 +v 0.312500 1.000000 1.125000 +v 0.270633 1.156250 1.125000 +v 0.156250 1.270633 1.125000 +v -0.093750 1.162380 1.437500 +v -0.162380 1.093750 1.437500 +v -0.187500 1.000000 1.437500 +v -0.162380 0.906250 1.437500 +v -0.093750 0.837620 1.437500 +v 0.000000 0.812500 1.437500 +v 0.093750 0.837620 1.437500 +v 0.162380 0.906250 1.437500 +v 0.187500 1.000000 1.437500 +v 0.162380 1.093750 1.437500 +v 0.093750 1.162380 1.437500 +v 0.000000 1.187500 1.437500 +v -0.093750 1.162380 1.375000 +v -0.162380 1.093750 1.375000 +v -0.187500 1.000000 1.375000 +v -0.162380 0.906250 1.375000 +v -0.093750 0.837620 1.375000 +v 0.000000 0.812500 1.375000 +v 0.093750 0.837620 1.375000 +v 0.162380 0.906250 1.375000 +v 0.187500 1.000000 1.375000 +v 0.162380 1.093750 1.375000 +v 0.093750 1.162380 1.375000 +v 0.000000 1.187500 1.375000 +v 0.125000 1.000000 1.125000 +v 0.500000 1.000000 1.125000 +v 0.125000 1.000000 1.000000 +v 0.500000 1.000000 1.000000 +v 0.125000 1.062500 1.125000 +v 0.500000 1.062500 1.125000 +v 0.125000 1.062500 1.000000 +v 0.500000 1.062500 1.000000 +v 0.500000 0.906250 1.125000 +v 0.500000 1.156250 1.125000 +v 0.500000 0.906250 1.000000 +v 0.500000 1.156250 1.000000 +v 0.750000 0.968750 1.125000 +v 0.750000 1.093750 1.125000 +v 0.750000 0.968750 1.000000 +v 0.750000 1.093750 1.000000 +v 0.625000 0.906250 1.000000 +v 0.625000 1.156250 1.000000 +v 0.625000 0.906250 1.125000 +v 0.625000 1.156250 1.125000 +v 0.250000 1.000000 3.500000 +v -0.250000 1.000000 3.500000 +v 0.250000 1.125000 3.500000 +v -0.250000 1.125000 3.500000 +v -0.187500 1.125000 3.500000 +v -0.187500 1.000000 3.500000 +v 0.187500 1.125000 3.500000 +v 0.187500 1.000000 3.500000 +v 0.250000 1.000000 1.375000 +v 0.250000 1.125000 1.375000 +v -0.250000 1.125000 1.375000 +v -0.250000 1.000000 1.375000 +v -0.187500 1.125000 1.375000 +v -0.187500 1.000000 1.375000 +v 0.187500 1.000000 1.375000 +v 0.187500 1.125000 1.375000 +v -0.125000 1.000000 1.125000 +v -0.500000 1.000000 1.125000 +v -0.125000 1.000000 1.000000 +v -0.500000 1.000000 1.000000 +v -0.125000 1.062500 1.125000 +v -0.500000 1.062500 1.125000 +v -0.125000 1.062500 1.000000 +v -0.500000 1.062500 1.000000 +v -0.500000 0.906250 1.125000 +v -0.500000 1.156250 1.125000 +v -0.500000 0.906250 1.000000 +v -0.500000 1.156250 1.000000 +v -0.750000 0.968750 1.125000 +v -0.750000 1.093750 1.125000 +v -0.750000 0.968750 1.000000 +v -0.750000 1.093750 1.000000 +v -0.625000 0.906250 1.000000 +v -0.625000 1.156250 1.000000 +v -0.625000 0.906250 1.125000 +v -0.625000 1.156250 1.125000 +vt 0.022092 0.858808 +vt 0.043842 0.858808 +vt 0.032967 0.912594 +vt 0.043736 0.945870 +vt 0.032967 0.999130 +vt 0.022198 0.945870 +vt 0.690786 0.755520 +vt 0.690786 0.787959 +vt 0.681319 0.804179 +vt 0.886447 0.673913 +vt 0.864469 0.695652 +vt 0.864469 0.673913 +vt 0.864469 0.706522 +vt 0.886447 0.728261 +vt 0.864469 0.728261 +vt 0.886447 0.706522 +vt 0.930403 0.750000 +vt 0.923077 0.706522 +vt 0.930403 0.706522 +vt 0.864469 0.739130 +vt 0.886447 0.739130 +vt 0.908425 0.739130 +vt 0.908425 0.717391 +vt 0.915751 0.706522 +vt 0.886447 0.750000 +vt 0.886447 0.706522 +vt 0.893773 0.706522 +vt 0.000000 0.815217 +vt 0.003663 0.793478 +vt 0.003663 0.815217 +vt 0.000000 0.728261 +vt 0.003663 0.706522 +vt 0.003663 0.728261 +vt 0.128205 0.728261 +vt 0.003663 0.695652 +vt 0.128205 0.706522 +vt 0.003663 0.739130 +vt 0.128205 0.760870 +vt 0.003663 0.760870 +vt 0.128205 0.826087 +vt 0.003663 0.826087 +vt 0.128205 0.815217 +vt 0.128205 0.739130 +vt 0.003663 0.782609 +vt 0.128205 0.793478 +vt 0.003663 0.760870 +vt 0.128205 0.782609 +vt 0.864469 0.695652 +vt 0.886447 0.673913 +vt 0.864469 0.673913 +vt 0.886447 0.728261 +vt 0.864469 0.706522 +vt 0.864469 0.728261 +vt 0.886447 0.706522 +vt 0.886447 0.695652 +vt 0.923077 0.706522 +vt 0.930403 0.750000 +vt 0.930403 0.706522 +vt 0.864469 0.739130 +vt 0.886447 0.739130 +vt 0.915751 0.750000 +vt 0.923077 0.750000 +vt 0.915751 0.706522 +vt 0.893773 0.750000 +vt 0.901099 0.739130 +vt 0.893773 0.706522 +vt 0.038405 0.830860 +vt 0.042385 0.842672 +vt 0.051093 0.858808 +vt 0.048664 0.885701 +vt 0.042030 0.905388 +vt 0.023904 0.905388 +vt 0.017270 0.885701 +vt 0.014841 0.858808 +vt 0.023549 0.842672 +vt 0.027529 0.830860 +vt 0.032967 0.826536 +vt 0.023641 0.929891 +vt 0.027582 0.918194 +vt 0.032967 0.913913 +vt 0.038352 0.918194 +vt 0.042293 0.929891 +vt 0.050916 0.945870 +vt 0.048511 0.972500 +vt 0.041941 0.991995 +vt 0.023993 0.991995 +vt 0.017423 0.972500 +vt 0.015018 0.945870 +vt 0.675853 0.799833 +vt 0.671852 0.787959 +vt 0.670387 0.771739 +vt 0.671852 0.755520 +vt 0.675853 0.743646 +vt 0.681319 0.739300 +vt 0.686785 0.743646 +vt 0.692251 0.771739 +vt 0.686785 0.799833 +vt 0.886447 0.695652 +vt 0.923077 0.750000 +vt 0.915751 0.750000 +vt 0.901099 0.717391 +vt 0.901099 0.739130 +vt 0.893773 0.750000 +vt -0.000000 0.793478 +vt 0.000000 0.706522 +vt 0.128205 0.695652 +vt 0.128205 0.760870 +vt 0.908425 0.717391 +vt 0.908425 0.739130 +vt 0.901099 0.717391 +vt 0.886447 0.706522 +vt 0.886447 0.750000 +vt 0.263736 0.804348 +vt 0.205128 0.826087 +vt 0.205128 0.804348 +vt 0.263736 0.695652 +vt 0.205128 0.717391 +vt 0.205128 0.695652 +vt 0.263736 0.717391 +vt 0.205128 0.739130 +vt 0.263736 0.760870 +vt 0.205128 0.782609 +vt 0.205128 0.760870 +vt 0.263736 0.739130 +vt 0.263736 0.782609 +vt -0.000000 0.913043 +vt 0.014652 0.934783 +vt -0.000000 0.934783 +vt -0.000000 0.826087 +vt 0.014652 0.847826 +vt -0.000000 0.847826 +vt 0.014652 0.956522 +vt -0.000000 0.956522 +vt 0.014652 0.869565 +vt -0.000000 0.869565 +vt 0.014652 0.891304 +vt -0.000000 0.891304 +vt 0.014652 0.913043 +vt 0.670330 0.934783 +vt 0.666667 0.956522 +vt 0.666667 0.934783 +vt 0.670330 0.826087 +vt 0.666667 0.847826 +vt 0.666667 0.826087 +vt 0.670330 0.869565 +vt 0.666667 0.891304 +vt 0.666667 0.869565 +vt 0.670330 0.760870 +vt 0.666667 0.782609 +vt 0.666667 0.760870 +vt 0.670330 0.956522 +vt 0.666667 0.978261 +vt 0.670330 0.847826 +vt 0.670330 0.891304 +vt 0.666667 0.913043 +vt 0.670330 0.782609 +vt 0.666667 0.804348 +vt 0.670330 0.978261 +vt 0.666667 1.000000 +vt 0.670330 0.913043 +vt 0.670330 0.804348 +vt 0.670330 0.739130 +vt 0.666667 0.739130 +vt 0.901099 0.695652 +vt 0.908425 0.695652 +vt 0.908425 0.782609 +vt 0.901099 0.760870 +vt 0.908425 0.760870 +vt 0.901099 0.673913 +vt 0.908425 0.673913 +vt 0.901099 0.695652 +vt 0.908425 0.695652 +vt 0.901099 0.760870 +vt 0.908425 0.782609 +vt 0.908425 0.760870 +vt 0.901099 0.673913 +vt 0.908425 0.673913 +vt 0.263736 0.826087 +vt 0.014652 0.826087 +vt 0.670330 1.000000 +vt 0.901099 0.782609 +vt 0.901099 0.782609 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.8660 0.5000 0.0000 +vn -0.9659 0.2588 0.0000 +vn 0.9659 0.2588 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.8507 0.5257 0.0000 +vn 0.8507 -0.5257 0.0000 +vn 0.2298 -0.9732 0.0000 +vn 0.2298 0.9732 0.0000 +vn -0.8507 -0.5257 0.0000 +vn -0.8507 0.5257 0.0000 +vn -0.2298 -0.9732 0.0000 +vn -0.2298 0.9732 0.0000 +s off +f 152/213/134 154/214/134 155/215/134 +f 168/216/135 170/217/135 163/218/135 +f 183/219/134 185/220/134 187/221/134 +f 200/222/136 203/223/136 201/224/136 +f 207/225/137 204/226/137 205/227/137 +f 203/223/135 206/228/135 207/225/135 +f 209/229/138 210/230/138 208/231/138 +f 201/232/134 204/226/134 200/233/134 +f 215/234/135 214/235/135 216/236/135 +f 209/237/134 208/238/134 218/239/134 +f 225/240/134 223/241/134 221/242/134 +f 226/243/134 220/244/134 222/245/134 +f 220/244/139 229/246/139 222/245/139 +f 227/247/136 228/248/136 220/244/136 +f 226/249/138 234/250/138 227/251/138 +f 221/242/136 233/252/136 225/253/136 +f 223/241/138 231/254/138 221/242/138 +f 222/245/137 235/255/137 226/249/137 +f 224/256/137 230/257/137 223/241/137 +f 225/258/139 232/259/139 224/256/139 +f 239/260/136 236/261/136 237/262/136 +f 240/263/137 243/264/137 241/265/137 +f 239/260/135 242/266/135 238/267/135 +f 246/268/139 245/269/139 244/270/139 +f 240/263/134 237/271/134 236/272/134 +f 253/273/135 247/274/135 252/275/135 +f 255/276/134 249/277/134 254/278/134 +f 148/279/134 153/280/134 154/214/134 +f 154/214/134 164/281/134 165/282/134 +f 165/282/134 166/283/134 154/214/134 +f 166/283/134 155/215/134 154/214/134 +f 155/215/134 156/284/134 152/213/134 +f 156/284/134 157/285/134 152/213/134 +f 157/285/134 158/286/134 152/213/134 +f 152/213/134 151/287/134 150/288/134 +f 150/288/134 149/289/134 148/279/134 +f 148/279/134 154/214/134 150/288/134 +f 150/288/134 154/214/134 152/213/134 +f 163/218/135 162/290/135 161/291/135 +f 161/291/135 160/292/135 163/218/135 +f 160/292/135 159/293/135 163/218/135 +f 159/293/135 167/294/135 168/216/135 +f 168/216/135 172/295/135 171/296/135 +f 171/296/135 169/297/135 168/216/135 +f 169/297/135 170/217/135 168/216/135 +f 170/217/135 175/298/135 163/218/135 +f 175/298/135 174/299/135 163/218/135 +f 174/299/135 173/300/135 163/218/135 +f 159/293/135 168/216/135 163/218/135 +f 187/221/134 176/301/134 177/302/134 +f 177/302/134 178/303/134 179/304/134 +f 179/304/134 180/305/134 181/306/134 +f 181/306/134 182/307/134 179/304/134 +f 182/307/134 183/219/134 179/304/134 +f 183/219/134 184/308/134 185/220/134 +f 185/220/134 186/309/134 187/221/134 +f 187/221/134 177/302/134 183/219/134 +f 177/302/134 179/304/134 183/219/134 +f 200/222/136 202/310/136 203/223/136 +f 207/225/137 206/228/137 204/226/137 +f 203/223/135 202/310/135 206/228/135 +f 209/229/138 211/311/138 210/230/138 +f 201/232/134 205/227/134 204/226/134 +f 216/236/135 210/230/135 211/311/135 +f 211/311/135 217/312/135 216/236/135 +f 217/312/135 215/234/135 216/236/135 +f 218/239/134 212/313/134 213/314/134 +f 213/314/134 219/315/134 218/239/134 +f 219/315/134 209/237/134 218/239/134 +f 225/240/134 224/316/134 223/241/134 +f 226/243/134 227/317/134 220/244/134 +f 220/244/139 228/248/139 229/246/139 +f 227/247/136 234/318/136 228/248/136 +f 226/249/138 235/255/138 234/250/138 +f 221/242/136 231/254/136 233/252/136 +f 223/241/138 230/257/138 231/254/138 +f 222/245/137 229/246/137 235/255/137 +f 224/256/137 232/259/137 230/257/137 +f 225/258/139 233/319/139 232/259/139 +f 239/260/136 238/267/136 236/261/136 +f 240/263/137 242/266/137 243/264/137 +f 239/260/135 243/264/135 242/266/135 +f 246/268/139 247/274/139 245/269/139 +f 240/263/134 241/265/134 237/271/134 +f 247/274/135 246/268/135 252/275/135 +f 252/275/135 250/320/135 251/321/135 +f 251/321/135 253/273/135 252/275/135 +f 249/277/134 248/322/134 254/278/134 +f 254/278/134 244/323/134 245/324/134 +f 245/324/134 255/276/134 254/278/134 +s 1 +f 142/325/140 136/326/141 135/327/140 +f 144/328/142 138/329/143 137/330/142 +f 145/331/143 139/332/144 138/329/143 +f 147/333/137 134/334/145 140/335/137 +f 146/336/144 140/335/137 139/332/144 +f 141/337/145 135/327/140 134/334/145 +f 156/338/145 171/339/140 157/340/140 +f 164/341/142 174/342/143 165/343/143 +f 157/340/140 172/344/141 158/345/141 +f 165/343/143 175/346/144 166/347/144 +f 166/347/144 170/348/137 155/349/137 +f 155/349/137 169/350/145 156/338/145 +f 190/351/138 179/352/146 178/353/138 +f 197/354/143 186/355/144 185/356/143 +f 199/357/137 176/358/145 187/359/137 +f 194/360/147 183/361/148 182/362/147 +f 191/363/146 180/364/149 179/352/146 +f 198/365/144 187/359/137 186/355/144 +f 188/366/145 177/367/140 176/358/145 +f 195/368/148 184/369/139 183/361/148 +f 192/370/149 181/371/136 180/364/149 +f 189/372/140 178/353/138 177/367/140 +f 196/373/139 185/356/143 184/369/139 +f 193/374/136 182/362/147 181/375/136 +f 215/234/150 212/313/151 214/235/151 +f 214/235/151 218/376/152 216/377/152 +f 211/378/137 219/379/153 217/380/153 +f 217/380/153 213/314/150 215/234/150 +f 216/377/152 208/381/136 210/382/136 +f 248/322/154 251/321/155 250/320/154 +f 254/383/156 250/320/154 252/384/156 +f 255/385/157 247/386/137 253/387/157 +f 249/277/155 253/387/157 251/321/155 +f 244/388/136 252/384/156 246/389/136 +f 142/325/140 143/390/141 136/326/141 +f 144/328/142 145/331/143 138/329/143 +f 145/331/143 146/336/144 139/332/144 +f 147/333/137 141/337/145 134/334/145 +f 146/336/144 147/333/137 140/335/137 +f 141/337/145 142/325/140 135/327/140 +f 156/338/145 169/350/145 171/339/140 +f 164/341/142 173/391/142 174/342/143 +f 157/340/140 171/339/140 172/344/141 +f 165/343/143 174/342/143 175/346/144 +f 166/347/144 175/346/144 170/348/137 +f 155/349/137 170/348/137 169/350/145 +f 190/351/138 191/363/146 179/352/146 +f 197/354/143 198/365/144 186/355/144 +f 199/357/137 188/366/145 176/358/145 +f 194/360/147 195/368/148 183/361/148 +f 191/363/146 192/370/149 180/364/149 +f 198/365/144 199/357/137 187/359/137 +f 188/366/145 189/372/140 177/367/140 +f 195/368/148 196/373/139 184/369/139 +f 192/370/149 193/392/136 181/371/136 +f 189/372/140 190/351/138 178/353/138 +f 196/373/139 197/354/143 185/356/143 +f 193/374/136 194/360/147 182/362/147 +f 215/234/150 213/314/150 212/313/151 +f 214/235/151 212/313/151 218/376/152 +f 211/378/137 209/393/137 219/379/153 +f 217/380/153 219/379/153 213/314/150 +f 216/377/152 218/376/152 208/381/136 +f 248/322/154 249/277/155 251/321/155 +f 254/383/156 248/322/154 250/320/154 +f 255/385/157 245/394/137 247/386/137 +f 249/277/155 255/385/157 253/387/157 +f 244/388/136 254/383/156 252/384/156 +o Gun v 0.000000 1.187500 4.375000 v 0.000000 1.187500 8.000000 v 0.093750 1.162380 4.375000 @@ -213,20 +1424,6 @@ v -0.250000 0.875000 1.625000 v -0.250000 1.000000 1.625000 v 0.125000 0.312500 1.375000 v -0.125000 0.312500 1.375000 -v -0.093750 1.162380 1.125000 -v -0.162380 1.093750 1.125000 -v -0.187500 1.000000 1.125000 -v 0.187500 1.000000 1.125000 -v 0.162380 1.093750 1.125000 -v 0.093750 1.162380 1.125000 -v 0.000000 1.187500 1.125000 -v -0.093750 1.162380 0.125000 -v -0.162380 1.093750 0.125000 -v -0.187500 1.000000 0.125000 -v 0.187500 1.000000 0.125000 -v 0.162380 1.093750 0.125000 -v 0.093750 1.162380 0.125000 -v 0.000000 1.187500 0.125000 v 0.187500 1.000000 1.625000 v -0.187500 1.000000 1.625000 v 0.187500 1.000000 0.125000 @@ -247,61 +1444,9 @@ v -0.125000 1.216506 -0.125000 v 0.000000 1.250000 -0.125000 v -0.216506 1.125000 -0.125000 v -0.250000 1.000000 -0.125000 -v 0.093750 0.837620 1.375000 -v 0.000000 0.812500 1.375000 -v -0.093750 0.837620 1.375000 -v -0.162380 0.906250 1.375000 -v -0.187500 1.000000 1.375000 v 0.250000 1.000000 -0.125000 v 0.216506 1.125000 -0.125000 v 0.125000 1.216506 -0.125000 -v 0.162380 0.906250 1.375000 -v 0.187500 1.000000 1.375000 -v 0.000000 1.312500 1.375000 -v -0.156250 1.270633 1.375000 -v -0.270633 1.156250 1.375000 -v -0.312500 1.000000 1.375000 -v -0.093750 0.837620 1.125000 -v 0.000000 0.812500 1.125000 -v 0.093750 0.837620 1.125000 -v 0.162380 0.906250 1.125000 -v 0.187500 1.000000 1.125000 -v 0.312500 1.000000 1.375000 -v 0.270633 1.156250 1.375000 -v 0.156250 1.270633 1.375000 -v -0.162380 0.906250 1.125000 -v -0.187500 1.000000 1.125000 -v -0.156250 1.270633 1.125000 -v 0.000000 1.312500 1.125000 -v -0.270633 1.156250 1.125000 -v -0.312500 1.000000 1.125000 -v 0.312500 1.000000 1.125000 -v 0.270633 1.156250 1.125000 -v 0.156250 1.270633 1.125000 -v -0.093750 1.162380 1.437500 -v -0.162380 1.093750 1.437500 -v -0.187500 1.000000 1.437500 -v -0.162380 0.906250 1.437500 -v -0.093750 0.837620 1.437500 -v 0.000000 0.812500 1.437500 -v 0.093750 0.837620 1.437500 -v 0.162380 0.906250 1.437500 -v 0.187500 1.000000 1.437500 -v 0.162380 1.093750 1.437500 -v 0.093750 1.162380 1.437500 -v 0.000000 1.187500 1.437500 -v -0.093750 1.162380 1.375000 -v -0.162380 1.093750 1.375000 -v -0.187500 1.000000 1.375000 -v -0.162380 0.906250 1.375000 -v -0.093750 0.837620 1.375000 -v 0.000000 0.812500 1.375000 -v 0.093750 0.837620 1.375000 -v 0.162380 0.906250 1.375000 -v 0.187500 1.000000 1.375000 -v 0.162380 1.093750 1.375000 -v 0.093750 1.162380 1.375000 -v 0.000000 1.187500 1.375000 v -0.187500 1.000000 1.437500 v -0.162380 0.906250 1.437500 v -0.093750 0.837620 1.437500 @@ -496,14 +1641,6 @@ v 0.250000 0.156350 4.656250 v 0.250000 0.218850 4.656250 v 0.250000 0.156350 4.593750 v 0.250000 0.218850 4.593750 -v 0.125000 1.000000 1.125000 -v 0.500000 1.000000 1.125000 -v 0.125000 1.000000 1.000000 -v 0.500000 1.000000 1.000000 -v 0.125000 1.062500 1.125000 -v 0.500000 1.062500 1.125000 -v 0.125000 1.062500 1.000000 -v 0.500000 1.062500 1.000000 v 0.312500 1.000000 1.250000 v 0.312500 0.875000 1.250000 v 0.312500 1.000000 -0.875000 @@ -512,18 +1649,6 @@ v 0.437500 0.875000 1.250000 v 0.437500 1.000000 1.250000 v 0.437500 0.875000 0.000000 v 0.437500 1.000000 0.000000 -v 0.500000 0.906250 1.125000 -v 0.500000 1.156250 1.125000 -v 0.500000 0.906250 1.000000 -v 0.500000 1.156250 1.000000 -v 0.750000 0.968750 1.125000 -v 0.750000 1.093750 1.125000 -v 0.750000 0.968750 1.000000 -v 0.750000 1.093750 1.000000 -v 0.625000 0.906250 1.000000 -v 0.625000 1.156250 1.000000 -v 0.625000 0.906250 1.125000 -v 0.625000 1.156250 1.125000 v 0.687500 0.875000 0.000000 v 0.687500 1.000000 0.000000 v 0.562500 0.875000 -0.500000 @@ -602,22 +1727,6 @@ v -0.250000 0.562500 -8.000000 v -0.125000 0.562500 -8.125000 v 0.312500 0.875000 -1.000000 v -0.312500 0.875000 -1.000000 -v 0.250000 1.000000 3.500000 -v -0.250000 1.000000 3.500000 -v 0.250000 1.125000 3.500000 -v -0.250000 1.125000 3.500000 -v -0.187500 1.125000 3.500000 -v -0.187500 1.000000 3.500000 -v 0.187500 1.125000 3.500000 -v 0.187500 1.000000 3.500000 -v 0.250000 1.000000 1.375000 -v 0.250000 1.125000 1.375000 -v -0.250000 1.125000 1.375000 -v -0.250000 1.000000 1.375000 -v -0.187500 1.125000 1.375000 -v -0.187500 1.000000 1.375000 -v 0.187500 1.000000 1.375000 -v 0.187500 1.125000 1.375000 v 0.312500 1.000000 -1.000000 v -0.312500 1.000000 -1.000000 v 0.312500 1.000000 -0.125000 @@ -716,70 +1825,6 @@ v -0.250000 1.437500 -0.625000 v -0.250000 1.525888 -0.588388 v -0.250000 1.562500 -0.500000 v -0.250000 1.525888 -0.411612 -v 0.187500 0.875000 1.125000 -v -0.187500 0.875000 1.125000 -v 0.187500 0.875000 0.125000 -v -0.187500 0.875000 0.125000 -v -0.187500 -1.375000 1.125000 -v 0.187500 -1.375000 1.125000 -v -0.187500 -1.375000 0.125000 -v 0.187500 -1.375000 0.125000 -v 0.000000 1.000000 0.187500 -v -0.062500 0.983253 0.187500 -v -0.108253 0.937500 0.187500 -v -0.125000 0.875000 0.187500 -v -0.108253 0.812500 0.187500 -v -0.062500 0.766747 0.187500 -v 0.000000 0.750000 0.187500 -v 0.062500 0.766747 0.187500 -v 0.108253 0.812500 0.187500 -v 0.125000 0.875000 0.187500 -v 0.108253 0.937500 0.187500 -v 0.062500 0.983253 0.187500 -v 0.000000 1.000000 0.812500 -v -0.062500 0.983253 0.812500 -v -0.108253 0.937500 0.812500 -v -0.125000 0.875000 0.812500 -v -0.108253 0.812500 0.812500 -v -0.062500 0.766747 0.812500 -v 0.000000 0.750000 0.812500 -v 0.062500 0.766747 0.812500 -v 0.108253 0.812500 0.812500 -v 0.125000 0.875000 0.812500 -v 0.108253 0.937500 0.812500 -v 0.062500 0.983253 0.812500 -v 0.000000 0.968750 1.000000 -v -0.046875 0.956190 1.000000 -v -0.081190 0.921875 1.000000 -v -0.093750 0.875000 1.000000 -v -0.081190 0.828125 1.000000 -v -0.046875 0.793810 1.000000 -v 0.000000 0.781250 1.000000 -v 0.046875 0.793810 1.000000 -v 0.081190 0.828125 1.000000 -v 0.093750 0.875000 1.000000 -v 0.081190 0.921875 1.000000 -v 0.046875 0.956190 1.000000 -v 0.000000 0.906250 1.062500 -v -0.015625 0.902063 1.062500 -v -0.027063 0.890625 1.062500 -v -0.031250 0.875000 1.062500 -v -0.027063 0.859375 1.062500 -v -0.015625 0.847937 1.062500 -v 0.000000 0.843750 1.062500 -v 0.015625 0.847937 1.062500 -v 0.027063 0.859375 1.062500 -v 0.031250 0.875000 1.062500 -v 0.027063 0.890625 1.062500 -v 0.015625 0.902063 1.062500 -v -0.125000 0.875000 1.125000 -v -0.062500 0.750000 1.125000 -v 0.062500 0.750000 1.125000 -v 0.125000 0.875000 1.125000 -v -0.125000 0.875000 0.125000 -v -0.062500 0.750000 0.125000 -v 0.062500 0.750000 0.125000 -v 0.125000 0.875000 0.125000 v -0.125000 0.250000 0.000000 v 0.125000 0.250000 0.000000 v -0.125000 0.250000 -0.750000 @@ -924,26 +1969,6 @@ v -0.687500 0.875000 0.000000 v -0.687500 1.000000 0.000000 v -0.562500 0.875000 -0.500000 v -0.562500 1.000000 -0.500000 -v -0.125000 1.000000 1.125000 -v -0.500000 1.000000 1.125000 -v -0.125000 1.000000 1.000000 -v -0.500000 1.000000 1.000000 -v -0.125000 1.062500 1.125000 -v -0.500000 1.062500 1.125000 -v -0.125000 1.062500 1.000000 -v -0.500000 1.062500 1.000000 -v -0.500000 0.906250 1.125000 -v -0.500000 1.156250 1.125000 -v -0.500000 0.906250 1.000000 -v -0.500000 1.156250 1.000000 -v -0.750000 0.968750 1.125000 -v -0.750000 1.093750 1.125000 -v -0.750000 0.968750 1.000000 -v -0.750000 1.093750 1.000000 -v -0.625000 0.906250 1.000000 -v -0.625000 1.156250 1.000000 -v -0.625000 0.906250 1.125000 -v -0.625000 1.156250 1.125000 vt 0.062271 0.065217 vt 0.058608 0.043478 vt 0.062271 0.043478 @@ -1139,15 +2164,6 @@ vt 0.131868 0.543478 vt 0.723636 0.674017 vt 0.748892 0.674017 vt 0.736264 0.738921 -vt 0.022092 0.858808 -vt 0.043842 0.858808 -vt 0.032967 0.912594 -vt 0.043736 0.945870 -vt 0.032967 0.999130 -vt 0.022198 0.945870 -vt 0.690786 0.755520 -vt 0.690786 0.787959 -vt 0.681319 0.804179 vt 0.886447 0.858696 vt 0.879121 0.869565 vt 0.879121 0.858696 @@ -1231,7 +2247,7 @@ vt 0.267399 0.880435 vt 0.267399 0.847826 vt 0.285714 0.913043 vt 0.285714 0.902174 -vt 0.293040 0.902174 +vt 0.289377 0.902174 vt 0.271062 0.902174 vt 0.311355 0.880435 vt 0.300366 0.902174 @@ -1353,18 +2369,6 @@ vt 0.307692 0.815217 vt 0.278388 0.847826 vt 0.307692 0.826087 vt 0.197802 0.434783 -vt 0.886447 0.673913 -vt 0.864469 0.695652 -vt 0.864469 0.673913 -vt 0.864469 0.706522 -vt 0.886447 0.728261 -vt 0.864469 0.728261 -vt 0.886447 0.706522 -vt 0.930403 0.750000 -vt 0.923077 0.706522 -vt 0.930403 0.706522 -vt 0.864469 0.739130 -vt 0.886447 0.739130 vt 0.842491 0.630435 vt 0.915751 0.652174 vt 0.842491 0.652174 @@ -1377,12 +2381,6 @@ vt 0.842491 0.652174 vt 0.901099 0.586957 vt 0.915751 0.608696 vt 0.901099 0.608696 -vt 0.908425 0.739130 -vt 0.908425 0.717391 -vt 0.915751 0.706522 -vt 0.886447 0.750000 -vt 0.886447 0.706522 -vt 0.893773 0.706522 vt 0.945055 0.630435 vt 0.967033 0.673913 vt 0.945055 0.630435 @@ -1410,26 +2408,6 @@ vt 0.864469 0.673913 vt 0.864469 0.684783 vt 0.864469 0.695652 vt 0.183150 0.630435 -vt 0.000000 0.815217 -vt 0.003663 0.793478 -vt 0.003663 0.815217 -vt 0.000000 0.728261 -vt 0.003663 0.706522 -vt 0.003663 0.728261 -vt 0.128205 0.728261 -vt 0.003663 0.695652 -vt 0.128205 0.706522 -vt 0.003663 0.739130 -vt 0.128205 0.760870 -vt 0.003663 0.760870 -vt 0.128205 0.826087 -vt 0.003663 0.826087 -vt 0.128205 0.815217 -vt 0.128205 0.739130 -vt 0.003663 0.782609 -vt 0.128205 0.793478 -vt 0.003663 0.760870 -vt 0.128205 0.782609 vt 0.216117 0.282609 vt 0.260073 0.304348 vt 0.216117 0.304348 @@ -1520,31 +2498,6 @@ vt 0.832911 0.593645 vt 0.832911 0.637123 vt 0.832911 0.667225 vt 0.822767 0.667225 -vt 0.450549 0.989130 -vt 0.391941 1.000000 -vt 0.391941 0.989130 -vt 0.391941 0.456522 -vt 0.450549 0.521739 -vt 0.391941 0.521739 -vt 0.391941 0.913043 -vt 0.450549 0.913043 -vt 0.369963 0.913043 -vt 0.369963 0.913043 -vt 0.472527 0.913043 -vt 0.531136 0.521739 -vt 0.531136 0.913043 -vt 0.472527 0.521739 -vt 0.450549 0.913043 -vt 0.450549 0.913043 -vt 0.107288 0.837093 -vt 0.113553 0.826359 -vt 0.119818 0.858560 -vt 0.391941 0.923913 -vt 0.450549 0.923913 -vt 0.391941 0.945652 -vt 0.450549 0.967391 -vt 0.391941 0.967391 -vt 0.450549 0.945652 vt 0.670330 0.652174 vt 0.626374 0.695652 vt 0.626374 0.652174 @@ -1686,25 +2639,6 @@ vt 0.901099 0.586957 vt 0.901099 0.608696 vt 0.945055 0.630435 vt 0.945055 0.630435 -vt 0.864469 0.695652 -vt 0.886447 0.673913 -vt 0.864469 0.673913 -vt 0.886447 0.728261 -vt 0.864469 0.706522 -vt 0.864469 0.728261 -vt 0.886447 0.706522 -vt 0.886447 0.695652 -vt 0.923077 0.706522 -vt 0.930403 0.750000 -vt 0.930403 0.706522 -vt 0.864469 0.739130 -vt 0.886447 0.739130 -vt 0.915751 0.750000 -vt 0.923077 0.750000 -vt 0.915751 0.706522 -vt 0.893773 0.750000 -vt 0.901099 0.739130 -vt 0.893773 0.706522 vt 0.058608 0.054348 vt 0.058608 0.097826 vt 0.058608 0.141304 @@ -1758,37 +2692,6 @@ vt 0.743554 0.658180 vt 0.750845 0.695652 vt 0.748892 0.717287 vt 0.743554 0.733124 -vt 0.038405 0.830860 -vt 0.042385 0.842672 -vt 0.051093 0.858808 -vt 0.048664 0.885701 -vt 0.042030 0.905388 -vt 0.023904 0.905388 -vt 0.017270 0.885701 -vt 0.014841 0.858808 -vt 0.023549 0.842672 -vt 0.027529 0.830860 -vt 0.032967 0.826536 -vt 0.023641 0.929891 -vt 0.027582 0.918194 -vt 0.032967 0.913913 -vt 0.038352 0.918194 -vt 0.042293 0.929891 -vt 0.050916 0.945870 -vt 0.048511 0.972500 -vt 0.041941 0.991995 -vt 0.023993 0.991995 -vt 0.017423 0.972500 -vt 0.015018 0.945870 -vt 0.675853 0.799833 -vt 0.671852 0.787959 -vt 0.670387 0.771739 -vt 0.671852 0.755520 -vt 0.675853 0.743646 -vt 0.681319 0.739300 -vt 0.686785 0.743646 -vt 0.692251 0.771739 -vt 0.686785 0.799833 vt 0.923077 0.858696 vt 0.901099 0.782609 vt 0.267399 0.934783 @@ -1799,7 +2702,7 @@ vt 0.930403 0.771739 vt 0.996337 0.858696 vt 0.945055 0.880435 vt 0.278388 0.913043 -vt 0.296703 0.902174 +vt 0.293040 0.902174 vt 0.274725 0.902174 vt 0.307692 0.902174 vt 0.608059 0.826087 @@ -1822,24 +2725,14 @@ vt 0.307692 0.728261 vt 0.274725 0.815217 vt 0.307692 0.847826 vt 0.043956 0.434783 -vt 0.886447 0.695652 -vt 0.923077 0.750000 vt 0.915751 0.630435 vt 0.835165 0.652174 vt 0.915751 0.586957 -vt 0.915751 0.750000 -vt 0.901099 0.717391 -vt 0.901099 0.739130 -vt 0.893773 0.750000 vt 0.915751 0.608696 vt 0.842491 0.695652 vt 0.043956 0.586957 vt 0.197802 0.586957 vt 0.043956 0.543478 -vt -0.000000 0.793478 -vt 0.000000 0.706522 -vt 0.128205 0.695652 -vt 0.128205 0.760870 vt 0.208791 0.282609 vt 0.208791 0.391304 vt 0.772894 0.771739 @@ -1877,23 +2770,6 @@ vt 0.822767 0.637123 vt 0.827839 0.630889 vt 0.835012 0.652174 vt 0.827839 0.673459 -vt 0.450549 1.000000 -vt 0.450549 0.456522 -vt 0.369963 0.913043 -vt 0.369963 0.913043 -vt 0.369963 0.521739 -vt 0.369963 0.913043 -vt 0.450549 0.913043 -vt 0.450549 0.913043 -vt 0.117170 0.866417 -vt 0.107288 0.858560 -vt 0.113553 0.869293 -vt 0.109936 0.866417 -vt 0.106319 0.847826 -vt 0.109936 0.829235 -vt 0.117170 0.829235 -vt 0.119818 0.837092 -vt 0.120788 0.847826 vt 0.772894 0.586957 vt 0.750916 0.630435 vt 0.728938 0.586957 @@ -1922,11 +2798,6 @@ vt 0.835165 0.652174 vt 0.842491 0.652174 vt 0.915751 0.586957 vt 0.915751 0.608696 -vt 0.908425 0.717391 -vt 0.908425 0.739130 -vt 0.901099 0.717391 -vt 0.886447 0.706522 -vt 0.886447 0.750000 vt 0.274725 0.108696 vt 0.274725 0.130435 vt 0.274725 0.086957 @@ -1998,19 +2869,6 @@ vt 0.611722 0.782609 vt 0.611722 0.978261 vt 0.611722 0.913043 vt 0.611722 0.804348 -vt 0.263736 0.804348 -vt 0.205128 0.826087 -vt 0.205128 0.804348 -vt 0.263736 0.695652 -vt 0.205128 0.717391 -vt 0.205128 0.695652 -vt 0.263736 0.717391 -vt 0.205128 0.739130 -vt 0.263736 0.760870 -vt 0.205128 0.782609 -vt 0.205128 0.760870 -vt 0.263736 0.739130 -vt 0.263736 0.782609 vt 0.706960 0.760870 vt 0.721612 0.782609 vt 0.706960 0.782609 @@ -2024,44 +2882,6 @@ vt 0.721612 0.739130 vt 0.706960 0.739130 vt 0.721612 0.717391 vt 0.721612 0.760870 -vt -0.000000 0.913043 -vt 0.014652 0.934783 -vt -0.000000 0.934783 -vt -0.000000 0.826087 -vt 0.014652 0.847826 -vt -0.000000 0.847826 -vt 0.014652 0.956522 -vt -0.000000 0.956522 -vt 0.014652 0.869565 -vt -0.000000 0.869565 -vt 0.014652 0.891304 -vt -0.000000 0.891304 -vt 0.014652 0.913043 -vt 0.670330 0.934783 -vt 0.666667 0.956522 -vt 0.666667 0.934783 -vt 0.670330 0.826087 -vt 0.666667 0.847826 -vt 0.666667 0.826087 -vt 0.670330 0.869565 -vt 0.666667 0.891304 -vt 0.666667 0.869565 -vt 0.670330 0.760870 -vt 0.666667 0.782609 -vt 0.666667 0.760870 -vt 0.670330 0.956522 -vt 0.666667 0.978261 -vt 0.670330 0.847826 -vt 0.670330 0.891304 -vt 0.666667 0.913043 -vt 0.670330 0.782609 -vt 0.666667 0.804348 -vt 0.670330 0.978261 -vt 0.666667 1.000000 -vt 0.670330 0.913043 -vt 0.670330 0.804348 -vt 0.670330 0.739130 -vt 0.666667 0.739130 vt 0.128205 0.739130 vt 0.205128 0.760870 vt 0.128205 0.760870 @@ -2090,13 +2910,6 @@ vt 0.608059 0.804348 vt 0.611722 0.782609 vt 0.611722 0.804348 vt 0.611722 0.673913 -vt 0.901099 0.695652 -vt 0.908425 0.695652 -vt 0.908425 0.782609 -vt 0.901099 0.760870 -vt 0.908425 0.760870 -vt 0.901099 0.673913 -vt 0.908425 0.673913 vt 0.945055 0.608696 vt 0.945055 0.586957 vt 0.967033 0.608696 @@ -2247,60 +3060,6 @@ vt 0.820513 0.760870 vt 0.816850 0.739130 vt 0.820513 0.739130 vt 0.816850 0.717391 -vt 0.106227 0.836957 -vt 0.069597 0.826087 -vt 0.106227 0.826087 -vt 0.106227 0.934783 -vt 0.069597 0.923913 -vt 0.106227 0.923913 -vt 0.106227 0.880435 -vt 0.069597 0.869565 -vt 0.106227 0.869565 -vt 0.106227 0.902174 -vt 0.069597 0.891304 -vt 0.106227 0.891304 -vt 0.106227 0.847826 -vt 0.069597 0.836957 -vt 0.106227 0.945652 -vt 0.069597 0.934783 -vt 0.069597 0.880435 -vt 0.106227 0.913043 -vt 0.069597 0.902174 -vt 0.106227 0.858696 -vt 0.069597 0.847826 -vt 0.106227 0.956522 -vt 0.069597 0.945652 -vt 0.069597 0.913043 -vt 0.069597 0.858696 -vt 0.058608 0.945652 -vt 0.058608 0.934783 -vt 0.058608 0.891304 -vt 0.058608 0.880435 -vt 0.058608 0.913043 -vt 0.058608 0.902174 -vt 0.058608 0.858696 -vt 0.058608 0.847826 -vt 0.069597 0.956522 -vt 0.058608 0.923913 -vt 0.058608 0.836957 -vt 0.058608 0.826087 -vt 0.058608 0.869565 -vt 0.054945 0.945652 -vt 0.054945 0.934783 -vt 0.054945 0.891304 -vt 0.054945 0.880435 -vt 0.054945 0.913043 -vt 0.054945 0.902174 -vt 0.054945 0.847826 -vt 0.058608 0.956522 -vt 0.054945 0.869565 -vt 0.054945 0.858696 -vt 0.054945 0.836957 -vt 0.054945 0.826087 -vt 0.054945 0.923913 -vt 0.053164 0.826561 -vt 0.054593 0.829009 -vt 0.053164 0.836354 vt 0.750916 0.652174 vt 0.692308 0.652174 vt 0.688645 0.652174 @@ -2367,13 +3126,6 @@ vt 0.318681 0.358696 vt 0.945055 0.608696 vt 0.967033 0.608696 vt 0.945055 0.586957 -vt 0.901099 0.695652 -vt 0.908425 0.695652 -vt 0.901099 0.760870 -vt 0.908425 0.782609 -vt 0.908425 0.760870 -vt 0.901099 0.673913 -vt 0.908425 0.673913 vt -0.000000 0.206522 vt 0.000000 0.097826 vt -0.000000 0.141304 @@ -2402,13 +3154,9 @@ vt 0.652015 0.869565 vt 0.652015 0.760870 vt 0.652015 0.956522 vt 0.611722 1.000000 -vt 0.263736 0.826087 vt 0.706960 0.652174 -vt 0.014652 0.826087 -vt 0.670330 1.000000 vt 0.205128 0.695652 vt 0.608059 0.782609 -vt 0.901099 0.782609 vt 0.967033 0.586957 vt 0.663004 0.521739 vt 0.663004 0.500000 @@ -2420,16 +3168,6 @@ vt 0.963370 0.086957 vt 0.824176 0.673913 vt 0.816850 0.760870 vt 0.816850 0.760870 -vt 0.054945 0.956522 -vt 0.052339 0.835698 -vt 0.051735 0.829009 -vt 0.051735 0.833906 -vt 0.051514 0.831457 -vt 0.052339 0.827217 -vt 0.053989 0.827217 -vt 0.054814 0.831457 -vt 0.054593 0.833906 -vt 0.053989 0.835698 vt 0.772894 0.652174 vt 0.728938 0.652174 vt 0.677656 0.652174 @@ -2443,7 +3181,6 @@ vt 0.523810 0.358696 vt 0.531136 0.423913 vt 0.531136 0.456522 vt 0.967033 0.586957 -vt 0.901099 0.782609 vn 0.0000 0.0000 1.0000 vn 0.0000 0.0000 -1.0000 vn -1.0000 0.0000 0.0000 @@ -2526,10 +3263,6 @@ vn 0.3535 -0.6124 -0.7071 vn -0.3057 -0.7078 -0.6369 vn -0.0407 -0.7592 -0.6496 vn 0.7768 0.6297 0.0000 -vn 0.8507 0.5257 0.0000 -vn 0.8507 -0.5257 0.0000 -vn 0.2298 -0.9732 0.0000 -vn 0.2298 0.9732 0.0000 vn 0.9701 0.0000 -0.2425 vn 0.9145 0.0000 -0.4046 vn 0.8321 0.0000 -0.5547 @@ -2595,42 +3328,6 @@ vn -0.8727 0.2257 -0.4330 vn -0.9808 0.1951 0.0000 vn 0.9808 0.1951 0.0000 vn 0.0000 0.7071 0.7071 -vn -0.0000 -0.9967 0.0814 -vn -0.9967 0.0000 0.0814 -vn 0.8632 0.4983 0.0814 -vn 0.0000 0.9967 0.0814 -vn 0.4983 -0.8632 0.0814 -vn -0.8632 -0.4983 0.0814 -vn 0.4983 0.8632 0.0814 -vn -0.4983 0.8632 0.0814 -vn 0.8632 -0.4983 0.0814 -vn -0.4983 -0.8632 0.0814 -vn -0.8632 0.4983 0.0814 -vn 0.9967 -0.0000 0.0814 -vn -0.4494 -0.7784 0.4382 -vn -0.7784 -0.4494 0.4382 -vn 0.0000 0.8989 0.4382 -vn 0.4494 0.7784 0.4382 -vn -0.7784 0.4494 0.4382 -vn -0.4494 0.7784 0.4382 -vn 0.8989 -0.0000 0.4382 -vn 0.7784 -0.4494 0.4382 -vn -0.8989 0.0000 0.4382 -vn 0.4494 -0.7784 0.4382 -vn 0.0000 -0.8989 0.4382 -vn 0.7784 0.4494 0.4382 -vn -0.2172 -0.3762 0.9007 -vn -0.3762 -0.2172 0.9007 -vn 0.0000 0.4344 0.9007 -vn 0.2172 0.3762 0.9007 -vn -0.3762 0.2172 0.9007 -vn -0.2172 0.3762 0.9007 -vn 0.3762 -0.2172 0.9007 -vn 0.3762 0.2172 0.9007 -vn 0.4344 0.0000 0.9007 -vn 0.2172 -0.3762 0.9007 -vn 0.0000 -0.4344 0.9007 -vn -0.4344 0.0000 0.9007 vn 0.0000 -0.3827 -0.9239 vn 0.0000 -0.9239 -0.3827 vn 0.0000 -0.9239 0.3827 @@ -2661,1489 +3358,1207 @@ vn -0.9761 -0.2175 0.0000 vn -0.9145 0.0000 -0.4046 vn -0.9701 0.0000 -0.2425 vn -0.8321 0.0000 -0.5547 -vn -0.8507 -0.5257 0.0000 -vn -0.8507 0.5257 0.0000 -vn -0.2298 -0.9732 0.0000 -vn -0.2298 0.9732 0.0000 vn -0.3536 -0.6124 -0.7071 vn -0.4000 -0.6928 -0.6000 vn -0.8727 -0.4330 -0.2257 vn 0.9732 0.2298 0.0000 s off -f 8/1/1 33/2/1 10/3/1 -f 8/1/1 35/4/1 34/5/1 -f 4/6/1 35/7/1 6/8/1 -f 4/6/1 25/9/1 36/10/1 -f 24/11/1 25/12/1 2/13/1 -f 24/11/1 27/14/1 26/15/1 -f 22/16/1 28/17/1 27/18/1 -f 20/19/1 29/20/1 28/21/1 -f 18/22/1 30/23/1 29/24/1 -f 14/25/1 30/26/1 16/27/1 -f 14/28/1 32/29/1 31/30/1 -f 10/3/1 32/31/1 12/32/1 -f 43/33/1 45/34/1 38/35/1 -f 60/36/1 55/37/1 181/38/1 -f 53/39/1 72/40/1 184/41/1 -f 52/42/1 55/43/1 50/44/1 -f 79/45/2 69/46/2 78/47/2 -f 51/48/2 81/49/2 70/50/2 -f 56/51/2 58/52/2 77/53/2 -f 104/54/2 92/55/2 95/56/2 -f 49/57/2 54/58/2 51/48/2 -f 183/59/1 71/60/1 68/61/1 -f 83/62/1 65/63/1 67/64/1 -f 61/65/2 74/66/2 73/67/2 -f 183/68/1 66/69/1 82/70/1 -f 58/52/2 76/71/2 77/72/2 -f 57/73/2 75/74/2 76/71/2 -f 184/75/1 71/60/1 182/76/1 -f 83/77/1 59/78/1 84/79/1 -f 62/80/2 79/81/2 74/66/2 -f 181/82/1 59/78/1 60/36/1 -f 85/83/1 102/84/1 87/85/1 -f 91/86/1 108/87/1 93/88/1 -f 86/89/1 107/90/1 91/86/1 -f 112/91/2 99/92/2 100/93/2 -f 98/94/2 112/91/2 100/93/2 -f 90/95/1 108/87/1 106/96/1 -f 111/97/2 94/98/2 99/92/2 -f 115/99/2 97/100/2 96/101/2 -f 89/102/1 113/103/1 88/104/1 -f 116/105/2 98/106/2 97/100/2 -f 90/107/1 114/108/1 89/102/1 -f 94/109/2 104/54/2 95/56/2 -f 86/110/1 102/84/1 105/111/1 -f 884/112/1 881/113/1 886/114/1 -f 143/115/2 155/116/2 154/117/2 -f 133/118/2 155/116/2 144/119/2 -f 133/120/2 145/121/2 156/122/2 -f 135/123/2 145/121/2 134/124/2 -f 136/125/2 146/126/2 135/127/2 -f 137/128/2 147/129/2 136/130/2 -f 138/131/2 148/132/2 137/133/2 -f 138/134/2 150/135/2 149/136/2 -f 140/137/2 150/138/2 139/139/2 -f 140/140/2 152/141/2 151/142/2 -f 141/143/2 153/144/2 152/141/2 -f 143/145/2 153/144/2 142/146/2 -f 69/46/2 81/147/2 78/47/2 -f 82/70/1 65/63/1 80/148/1 -f 75/149/2 61/65/2 73/67/2 -f 167/150/2 163/151/2 159/152/2 -f 193/153/3 201/154/3 192/155/3 -f 191/156/4 199/157/4 190/158/4 -f 189/159/5 197/160/5 188/161/5 -f 192/155/6 200/162/6 191/163/6 -f 190/158/7 198/164/7 189/159/7 -f 202/165/2 197/166/2 199/167/2 -f 197/166/8 601/168/8 600/169/8 -f 600/169/2 196/170/2 186/171/2 -f 188/172/1 206/173/1 189/174/1 -f 187/175/9 205/176/9 188/172/9 -f 185/177/1 204/178/1 187/175/1 -f 194/179/1 210/180/1 195/181/1 -f 193/182/9 209/183/9 194/179/9 -f 193/182/1 207/184/1 208/185/1 -f 190/186/1 212/187/1 191/188/1 -f 212/187/1 192/189/1 191/188/1 -f 189/174/1 211/190/1 190/186/1 -f 185/177/10 186/171/10 229/191/10 -f 186/171/10 230/192/10 229/191/10 -f 235/193/1 239/194/1 231/195/1 -f 251/196/1 256/197/1 257/198/1 -f 270/199/2 272/200/2 265/201/2 -f 285/202/1 287/203/1 289/204/1 -f 340/205/2 360/206/2 341/207/2 -f 339/208/2 361/209/2 340/205/2 -f 338/210/2 362/211/2 339/208/2 -f 338/210/2 364/212/2 363/213/2 -f 337/214/2 365/215/2 364/212/2 -f 336/216/2 366/217/2 365/215/2 -f 317/218/1 359/219/1 316/220/1 -f 318/221/1 358/222/1 317/218/1 -f 319/223/1 357/224/1 318/221/1 -f 355/225/1 319/223/1 320/226/1 -f 354/227/1 320/226/1 321/228/1 -f 353/229/1 321/228/1 322/230/1 -f 353/229/1 349/231/1 347/232/1 -f 347/233/11 378/234/11 346/235/11 -f 350/236/2 360/206/2 346/237/2 -f 351/238/12 374/239/12 352/240/12 -f 366/217/2 352/240/2 345/241/2 -f 351/238/1 359/219/1 348/242/1 -f 391/243/1 382/244/1 389/245/1 -f 377/246/10 375/247/10 376/248/10 -f 379/249/10 373/250/10 380/251/10 -f 350/236/2 378/252/2 377/246/2 -f 348/253/13 379/249/13 380/251/13 -f 350/236/14 376/248/14 349/231/14 -f 351/238/15 380/254/15 373/250/15 -f 352/240/16 379/255/16 345/241/16 -f 349/231/1 375/256/1 347/232/1 -f 389/257/3 384/258/3 390/259/3 -f 392/260/10 389/245/10 390/261/10 -f 389/262/1 382/263/1 353/229/1 -f 384/258/10 347/233/10 346/235/10 -f 390/264/2 384/265/2 346/237/2 -f 387/266/2 390/261/2 381/267/2 -f 391/268/1 385/269/1 348/242/1 -f 391/270/5 388/271/5 385/272/5 -f 392/273/2 387/274/2 366/217/2 -f 385/272/10 345/275/10 348/253/10 -f 397/276/17 404/277/17 400/278/17 -f 395/279/3 398/280/3 396/281/3 -f 394/282/5 400/278/5 393/283/5 -f 396/281/2 397/276/2 394/282/2 -f 393/283/1 399/284/1 395/285/1 -f 402/286/10 404/277/10 401/287/10 -f 398/280/18 401/288/18 397/276/18 -f 400/278/19 403/289/19 399/284/19 -f 399/290/20 402/291/20 398/280/20 -f 369/292/2 411/293/2 410/294/2 -f 368/295/2 410/294/2 409/296/2 -f 368/297/2 408/298/2 367/299/2 -f 367/299/2 407/300/2 344/301/2 -f 333/302/1 417/303/1 332/304/1 -f 415/305/1 333/302/1 334/306/1 -f 414/307/1 334/306/1 323/308/1 -f 324/309/1 414/307/1 323/308/1 -f 325/310/1 425/311/1 324/309/1 -f 326/312/1 424/313/1 325/310/1 -f 327/314/1 423/315/1 326/312/1 -f 328/316/1 422/317/1 327/314/1 -f 329/318/1 421/319/1 328/316/1 -f 419/320/1 329/321/1 330/322/1 -f 418/323/1 330/322/1 331/324/1 -f 417/303/1 331/324/1 332/304/1 -f 428/325/2 431/326/2 427/327/2 -f 427/327/2 432/328/2 426/329/2 -f 430/330/2 432/328/2 434/331/2 -f 429/332/2 434/331/2 435/333/2 -f 372/334/21 435/335/21 413/336/21 -f 405/337/22 428/325/22 342/338/22 -f 441/339/2 446/340/2 445/341/2 -f 441/339/2 444/342/2 442/343/2 -f 442/343/2 443/344/2 436/345/2 -f 437/346/2 443/344/2 449/347/2 -f 438/348/2 449/347/2 448/349/2 -f 439/350/2 448/349/2 447/351/2 -f 455/352/1 460/353/1 454/354/1 -f 457/355/1 455/352/1 456/356/1 -f 458/357/1 456/356/1 451/358/1 -f 450/359/1 458/357/1 451/358/1 -f 452/360/1 463/361/1 450/359/1 -f 453/362/1 462/363/1 452/360/1 -f 482/364/23 484/365/23 480/366/23 -f 470/367/23 472/368/23 468/369/23 -f 467/370/2 469/371/2 471/372/2 -f 464/373/5 469/371/5 465/374/5 -f 466/375/1 468/369/1 464/373/1 -f 467/370/3 470/376/3 466/377/3 -f 472/378/4 475/379/4 473/380/4 -f 471/372/3 474/381/3 470/376/3 -f 469/371/24 475/382/24 471/372/24 -f 468/369/5 473/380/5 469/371/5 -f 477/383/2 483/384/2 479/385/2 -f 476/386/5 481/387/5 477/383/5 -f 476/388/1 482/364/1 480/366/1 -f 479/385/3 482/364/3 478/389/3 -f 484/390/4 487/391/4 485/392/4 -f 483/384/3 486/393/3 482/364/3 -f 481/387/24 487/394/24 483/384/24 -f 480/395/5 485/396/5 481/387/5 -f 489/397/3 490/398/3 488/399/3 -f 491/400/2 494/401/2 490/402/2 -f 495/403/5 492/404/5 494/405/5 -f 493/406/1 488/399/1 492/404/1 -f 494/401/4 488/407/4 490/402/4 -f 491/400/10 493/406/10 495/408/10 -f 197/160/5 600/409/5 186/171/5 -f 496/410/4 499/411/4 497/412/4 -f 503/413/10 500/414/10 501/415/10 -f 499/411/2 502/416/2 503/413/2 -f 513/417/3 514/418/3 512/419/3 -f 497/420/1 500/414/1 496/421/1 -f 508/422/5 511/423/5 509/424/5 -f 504/425/10 511/423/10 506/426/10 -f 505/427/1 509/424/1 504/425/1 -f 505/428/4 510/429/4 508/430/4 -f 510/431/1 525/432/1 511/433/1 -f 519/434/2 518/435/2 520/436/2 -f 513/437/1 512/438/1 522/439/1 -f 526/440/4 510/429/4 507/441/4 -f 511/423/10 527/442/10 506/426/10 -f 528/443/1 531/444/1 529/445/1 -f 535/446/2 532/447/2 533/448/2 -f 531/444/3 533/449/3 529/450/3 -f 528/451/25 534/452/25 530/453/25 -f 531/444/10 534/452/10 535/446/10 -f 539/454/1 536/455/1 537/456/1 -f 540/457/2 543/458/2 541/459/2 -f 541/460/5 539/454/5 537/461/5 -f 542/462/26 536/463/26 538/464/26 -f 539/454/10 542/462/10 538/465/10 -f 193/153/3 196/170/3 202/466/3 -f 210/180/10 230/192/10 195/181/10 -f 607/467/1 605/468/1 603/469/1 -f 608/470/1 602/471/1 604/472/1 -f 602/471/5 611/473/5 604/472/5 -f 609/474/4 610/475/4 602/471/4 -f 608/476/3 616/477/3 609/478/3 -f 603/469/4 615/479/4 607/480/4 -f 605/468/3 613/481/3 603/469/3 -f 604/472/10 617/482/10 608/476/10 -f 606/483/10 612/484/10 605/468/10 -f 607/485/5 614/486/5 606/483/5 -f 624/487/27 626/488/27 628/489/27 -f 618/490/5 624/487/5 620/491/5 -f 633/492/4 630/493/4 631/494/4 -f 621/495/3 623/496/3 619/497/3 -f 619/498/2 622/499/2 618/500/2 -f 629/501/10 626/488/10 627/502/10 -f 625/503/28 627/502/28 623/496/28 -f 623/496/29 626/488/29 622/499/29 -f 621/504/1 620/505/1 628/489/1 -f 636/506/10 639/507/10 637/508/10 -f 632/509/5 634/510/5 630/493/5 -f 639/511/2 640/512/2 632/509/2 -f 636/506/1 635/513/1 631/494/1 -f 632/509/2 637/514/2 639/511/2 -f 635/515/3 633/492/3 631/494/3 -f 636/516/30 641/517/30 635/518/30 -f 637/508/5 642/519/5 636/506/5 -f 634/520/30 643/521/30 638/522/30 -f 639/507/3 638/523/3 643/524/3 -f 641/517/2 637/514/2 633/492/2 -f 649/525/1 658/526/1 657/527/1 -f 644/528/1 652/529/1 651/530/1 -f 644/531/1 658/526/1 650/532/1 -f 660/533/1 656/534/1 648/535/1 -f 659/536/1 654/537/1 646/538/1 -f 646/538/1 652/529/1 645/539/1 -f 671/540/2 664/541/2 675/542/2 -f 663/543/2 668/544/2 669/545/2 -f 673/546/2 664/541/2 672/547/2 -f 673/546/2 661/548/2 665/549/2 -f 661/550/2 667/551/2 662/552/2 -f 667/551/2 663/543/2 662/552/2 -f 689/553/3 684/554/3 686/555/3 -f 699/556/5 695/557/5 693/558/5 -f 683/559/31 677/560/31 681/561/31 -f 682/562/32 676/563/32 678/564/32 -f 682/565/33 679/566/33 683/567/33 -f 681/568/19 676/569/19 680/570/19 -f 700/571/5 704/572/5 706/573/5 -f 710/574/3 715/575/3 713/576/3 -f 776/577/10 717/578/10 772/579/10 -f 720/580/4 723/581/4 721/582/4 -f 716/583/5 723/581/5 718/584/5 -f 721/582/1 774/585/1 773/586/1 -f 719/587/3 720/588/3 717/589/3 -f 722/590/2 777/591/2 778/592/2 -f 732/593/2 730/594/2 726/595/2 -f 718/584/10 775/596/10 716/583/10 -f 779/597/31 774/598/31 775/596/31 -f 777/599/32 772/579/32 773/600/32 -f 778/601/10 773/600/10 774/598/10 -f 784/602/4 786/603/4 785/604/4 -f 781/605/5 787/606/5 783/607/5 -f 782/608/3 785/604/3 780/609/3 -f 783/610/2 784/602/2 782/611/2 -f 780/612/1 786/603/1 781/613/1 -f 802/614/3 788/615/3 790/616/3 -f 801/617/5 791/618/5 789/619/5 -f 806/620/3 792/621/3 794/622/3 -f 805/623/5 795/624/5 793/625/5 -f 804/626/3 790/616/3 792/621/3 -f 791/618/5 805/627/5 793/625/5 -f 810/628/3 796/629/3 798/630/3 -f 797/631/5 811/632/5 799/633/5 -f 808/634/3 794/622/3 796/629/3 -f 795/624/5 809/635/5 797/631/5 -f 819/636/5 813/637/5 815/638/5 -f 816/639/3 814/640/3 812/641/3 -f 820/642/3 818/643/3 816/639/3 -f 823/644/5 817/645/5 819/636/5 -f 821/646/5 823/644/5 825/647/5 -f 822/648/3 820/642/3 824/649/3 -f 827/650/1 844/651/1 826/652/1 -f 844/651/1 845/653/1 858/654/1 -f 865/655/2 847/656/2 849/657/2 -f 841/658/10 863/659/10 853/660/10 -f 863/659/3 857/661/3 860/662/3 -f 851/663/2 862/664/2 841/665/2 -f 848/666/4 857/661/4 851/667/4 -f 864/668/5 867/669/5 865/670/5 -f 850/671/4 865/670/4 849/672/4 -f 852/673/10 866/674/10 840/675/10 -f 840/676/2 864/668/2 850/677/2 -f 860/678/2 846/679/2 861/680/2 -f 865/655/2 868/681/2 869/682/2 -f 860/678/2 871/683/2 863/684/2 -f 870/685/2 861/680/2 859/686/2 -f 887/687/2 882/688/2 885/689/2 -f 883/690/1 101/691/1 85/692/1 -f 885/689/2 92/693/2 103/694/2 -f 886/695/1 88/696/1 113/103/1 -f 880/697/2 115/99/2 96/698/2 -f 893/699/10 888/700/10 890/701/10 -f 894/702/10 891/703/10 889/704/10 -f 906/705/1 900/706/1 902/707/1 -f 905/708/2 903/709/2 901/710/2 -f 910/711/2 893/699/2 890/712/2 -f 892/713/1 908/714/1 888/715/1 -f 895/716/2 911/717/2 891/718/2 -f 909/719/1 894/702/1 889/720/1 -f 903/709/2 911/721/2 899/722/2 -f 909/723/1 902/707/1 898/724/1 -f 910/725/2 901/710/2 897/726/2 -f 900/706/1 908/727/1 896/728/1 -f 919/729/3 916/730/3 917/731/3 -f 919/729/10 912/732/10 914/733/10 -f 917/731/1 913/734/1 912/732/1 -f 913/735/4 918/736/4 915/737/4 -f 921/738/1 918/739/1 919/740/1 -f 918/736/4 922/741/4 915/737/4 -f 919/729/10 923/742/10 921/738/10 -f 927/743/4 924/744/4 925/745/4 -f 928/746/10 931/747/10 929/748/10 -f 927/743/2 930/749/2 926/750/2 -f 934/751/5 933/752/5 932/753/5 -f 928/746/1 925/754/1 924/755/1 -f 941/756/2 935/757/2 940/758/2 -f 943/759/1 937/760/1 942/761/1 -f 8/1/1 34/762/1 33/2/1 -f 8/1/1 6/8/1 35/4/1 -f 4/6/1 36/763/1 35/7/1 -f 4/6/1 2/13/1 25/9/1 -f 24/11/1 26/764/1 25/12/1 -f 24/11/1 22/16/1 27/14/1 -f 22/16/1 20/19/1 28/17/1 -f 20/19/1 18/22/1 29/20/1 -f 18/22/1 16/27/1 30/23/1 -f 14/25/1 31/765/1 30/26/1 -f 14/28/1 12/32/1 32/29/1 -f 10/3/1 33/766/1 32/31/1 -f 38/35/1 37/767/1 41/768/1 -f 37/767/1 39/769/1 41/768/1 -f 39/769/1 40/770/1 41/768/1 -f 41/768/1 42/771/1 43/33/1 -f 43/33/1 44/772/1 45/34/1 -f 45/34/1 46/773/1 47/774/1 -f 47/774/1 48/775/1 45/34/1 -f 48/775/1 38/35/1 45/34/1 -f 41/768/1 43/33/1 38/35/1 -f 60/36/1 50/776/1 55/37/1 -f 53/39/1 52/42/1 72/40/1 -f 52/42/1 53/777/1 55/43/1 -f 79/45/2 64/778/2 69/46/2 -f 51/48/2 54/779/2 81/49/2 -f 56/51/2 49/780/2 58/52/2 -f 104/54/2 103/694/2 92/55/2 -f 49/57/2 56/781/2 54/58/2 -f 183/59/1 182/76/1 71/60/1 -f 83/62/1 80/148/1 65/63/1 -f 61/65/2 62/80/2 74/66/2 -f 183/68/1 68/61/1 66/69/1 -f 58/52/2 57/73/2 76/71/2 -f 57/73/2 63/782/2 75/74/2 -f 184/75/1 72/40/1 71/60/1 -f 83/77/1 67/64/1 59/78/1 -f 62/80/2 64/778/2 79/81/2 -f 181/82/1 84/79/1 59/78/1 -f 85/83/1 101/691/1 102/84/1 -f 91/86/1 107/90/1 108/87/1 -f 86/89/1 105/111/1 107/90/1 -f 112/91/2 111/97/2 99/92/2 -f 98/94/2 110/783/2 112/91/2 -f 90/95/1 93/88/1 108/87/1 -f 111/97/2 109/784/2 94/98/2 -f 115/99/2 116/105/2 97/100/2 -f 89/102/1 114/108/1 113/103/1 -f 116/105/2 110/783/2 98/106/2 -f 90/107/1 106/96/1 114/108/1 -f 94/109/2 109/784/2 104/54/2 -f 86/110/1 87/85/1 102/84/1 -f 884/112/1 883/785/1 881/113/1 -f 143/115/2 144/786/2 155/116/2 -f 133/118/2 156/122/2 155/116/2 -f 133/120/2 134/787/2 145/121/2 -f 135/123/2 146/126/2 145/121/2 -f 136/125/2 147/129/2 146/126/2 -f 137/128/2 148/132/2 147/129/2 -f 138/131/2 149/136/2 148/132/2 -f 138/134/2 139/788/2 150/135/2 -f 140/137/2 151/142/2 150/138/2 -f 140/140/2 141/789/2 152/141/2 -f 141/143/2 142/790/2 153/144/2 -f 143/145/2 154/117/2 153/144/2 -f 69/46/2 70/50/2 81/147/2 -f 82/70/1 66/69/1 65/63/1 -f 75/149/2 63/782/2 61/65/2 -f 159/152/2 158/791/2 157/792/2 -f 157/792/2 168/793/2 159/152/2 -f 168/793/2 167/150/2 159/152/2 -f 167/150/2 166/794/2 163/151/2 -f 166/794/2 165/795/2 163/151/2 -f 165/795/2 164/796/2 163/151/2 -f 163/151/2 162/797/2 161/798/2 -f 161/798/2 160/799/2 163/151/2 -f 160/799/2 159/152/2 163/151/2 -f 193/153/3 202/466/3 201/154/3 -f 191/156/4 200/800/4 199/157/4 -f 189/159/5 198/164/5 197/160/5 -f 192/155/6 201/154/6 200/162/6 -f 190/158/7 199/157/7 198/164/7 -f 197/166/2 198/801/2 199/167/2 -f 199/167/2 200/802/2 202/165/2 -f 200/802/2 201/803/2 202/165/2 -f 197/166/8 202/165/8 601/168/8 -f 600/169/2 601/168/2 196/170/2 -f 188/172/1 205/176/1 206/173/1 -f 187/175/9 204/178/9 205/176/9 -f 185/177/1 203/804/1 204/178/1 -f 194/179/1 209/183/1 210/180/1 -f 193/182/9 208/185/9 209/183/9 -f 193/182/1 192/189/1 207/184/1 -f 190/186/1 211/190/1 212/187/1 -f 212/187/1 207/184/1 192/189/1 -f 189/174/1 206/173/1 211/190/1 -f 227/805/10 203/804/10 229/191/10 -f 203/804/10 185/177/10 229/191/10 -f 186/171/10 196/170/10 230/192/10 -f 231/195/1 232/806/1 235/193/1 -f 232/806/1 233/807/1 235/193/1 -f 233/807/1 234/808/1 235/193/1 -f 235/193/1 236/809/1 237/810/1 -f 237/810/1 238/811/1 239/194/1 -f 239/194/1 240/812/1 241/813/1 -f 241/813/1 242/814/1 239/194/1 -f 242/814/1 231/195/1 239/194/1 -f 235/193/1 237/810/1 239/194/1 -f 247/815/1 255/816/1 256/197/1 -f 256/197/1 266/817/1 267/818/1 -f 267/818/1 268/819/1 256/197/1 -f 268/819/1 257/198/1 256/197/1 -f 257/198/1 258/820/1 251/196/1 -f 258/820/1 259/821/1 251/196/1 -f 259/821/1 260/822/1 251/196/1 -f 251/196/1 250/823/1 249/824/1 -f 249/824/1 248/825/1 247/815/1 -f 247/815/1 256/197/1 249/824/1 -f 249/824/1 256/197/1 251/196/1 -f 265/201/2 264/826/2 263/827/2 -f 263/827/2 262/828/2 265/201/2 -f 262/828/2 261/829/2 265/201/2 -f 261/829/2 269/830/2 270/199/2 -f 270/199/2 274/831/2 273/832/2 -f 273/832/2 271/833/2 270/199/2 -f 271/833/2 272/200/2 270/199/2 -f 272/200/2 277/834/2 265/201/2 -f 277/834/2 276/835/2 265/201/2 -f 276/835/2 275/836/2 265/201/2 -f 261/829/2 270/199/2 265/201/2 -f 289/204/1 278/837/1 279/838/1 -f 279/838/1 280/839/1 281/840/1 -f 281/840/1 282/841/1 283/842/1 -f 283/842/1 284/843/1 281/840/1 -f 284/843/1 285/202/1 281/840/1 -f 285/202/1 286/844/1 287/203/1 -f 287/203/1 288/845/1 289/204/1 -f 289/204/1 279/838/1 285/202/1 -f 279/838/1 281/840/1 285/202/1 -f 340/205/2 361/209/2 360/206/2 -f 339/208/2 362/211/2 361/209/2 -f 338/210/2 363/213/2 362/211/2 -f 338/210/2 337/214/2 364/212/2 -f 337/214/2 336/216/2 365/215/2 -f 336/216/2 335/846/2 366/217/2 -f 317/218/1 358/222/1 359/219/1 -f 318/221/1 357/224/1 358/222/1 -f 319/223/1 356/847/1 357/224/1 -f 355/225/1 356/847/1 319/223/1 -f 354/227/1 355/225/1 320/226/1 -f 353/229/1 354/227/1 321/228/1 -f 353/229/1 322/230/1 349/231/1 -f 347/233/11 375/247/11 378/234/11 -f 350/236/2 341/207/2 360/206/2 -f 351/238/12 373/250/12 374/239/12 -f 366/217/2 335/846/2 352/240/2 -f 351/238/1 316/220/1 359/219/1 -f 391/243/1 386/848/1 382/244/1 -f 377/246/10 378/234/10 375/247/10 -f 379/249/10 374/239/10 373/250/10 -f 350/236/2 346/237/2 378/252/2 -f 348/253/13 345/275/13 379/249/13 -f 350/236/14 377/246/14 376/248/14 -f 351/238/15 348/242/15 380/254/15 -f 352/240/16 374/239/16 379/255/16 -f 349/231/1 376/248/1 375/256/1 -f 389/257/3 383/849/3 384/258/3 -f 392/260/10 391/243/10 389/245/10 -f 353/229/1 347/232/1 389/262/1 -f 347/232/1 383/850/1 389/262/1 -f 384/258/10 383/849/10 347/233/10 -f 346/237/2 360/206/2 390/264/2 -f 360/206/2 381/851/2 390/264/2 -f 387/266/2 392/260/2 390/261/2 -f 348/242/1 359/219/1 391/268/1 -f 359/219/1 386/852/1 391/268/1 -f 391/270/5 392/853/5 388/271/5 -f 366/217/2 345/241/2 392/273/2 -f 345/241/2 388/854/2 392/273/2 -f 385/272/10 388/271/10 345/275/10 -f 397/276/17 401/287/17 404/277/17 -f 395/279/3 399/290/3 398/280/3 -f 394/282/5 397/276/5 400/278/5 -f 396/281/2 398/280/2 397/276/2 -f 393/283/1 400/278/1 399/284/1 -f 402/286/10 403/855/10 404/277/10 -f 398/280/18 402/856/18 401/288/18 -f 400/278/19 404/857/19 403/289/19 -f 399/290/20 403/858/20 402/291/20 -f 369/292/2 370/859/2 411/293/2 -f 368/295/2 369/292/2 410/294/2 -f 368/297/2 409/860/2 408/298/2 -f 367/299/2 408/298/2 407/300/2 -f 333/302/1 416/861/1 417/303/1 -f 415/305/1 416/861/1 333/302/1 -f 414/307/1 415/305/1 334/306/1 -f 324/309/1 425/311/1 414/307/1 -f 325/310/1 424/313/1 425/311/1 -f 326/312/1 423/315/1 424/313/1 -f 327/314/1 422/317/1 423/315/1 -f 328/316/1 421/319/1 422/317/1 -f 329/318/1 420/862/1 421/319/1 -f 419/320/1 420/863/1 329/321/1 -f 418/323/1 419/320/1 330/322/1 -f 417/303/1 418/323/1 331/324/1 -f 428/325/2 433/864/2 431/326/2 -f 427/327/2 431/326/2 432/328/2 -f 430/330/2 426/329/2 432/328/2 -f 429/332/2 430/330/2 434/331/2 -f 372/334/21 429/332/21 435/335/21 -f 405/337/22 433/865/22 428/325/22 -f 441/339/2 440/866/2 446/340/2 -f 441/339/2 445/341/2 444/342/2 -f 442/343/2 444/342/2 443/344/2 -f 437/346/2 436/345/2 443/344/2 -f 438/348/2 437/346/2 449/347/2 -f 439/350/2 438/348/2 448/349/2 -f 455/352/1 459/867/1 460/353/1 -f 457/355/1 459/867/1 455/352/1 -f 458/357/1 457/355/1 456/356/1 -f 450/359/1 463/361/1 458/357/1 -f 452/360/1 462/363/1 463/361/1 -f 453/362/1 461/868/1 462/363/1 -f 482/364/23 486/869/23 484/365/23 -f 470/367/23 474/870/23 472/368/23 -f 467/370/2 465/374/2 469/371/2 -f 464/373/5 468/369/5 469/371/5 -f 466/375/1 470/367/1 468/369/1 -f 467/370/3 471/372/3 470/376/3 -f 472/378/4 474/871/4 475/379/4 -f 471/372/3 475/872/3 474/381/3 -f 469/371/24 473/873/24 475/382/24 -f 468/369/5 472/378/5 473/380/5 -f 477/383/2 481/387/2 483/384/2 -f 476/386/5 480/395/5 481/387/5 -f 476/388/1 478/389/1 482/364/1 -f 479/385/3 483/384/3 482/364/3 -f 484/390/4 486/393/4 487/391/4 -f 483/384/3 487/391/3 486/393/3 -f 481/387/24 485/874/24 487/394/24 -f 480/395/5 484/875/5 485/396/5 -f 489/397/3 491/876/3 490/398/3 -f 491/400/2 495/408/2 494/401/2 -f 495/403/5 493/406/5 492/404/5 -f 493/406/1 489/397/1 488/399/1 -f 494/401/4 492/877/4 488/407/4 -f 491/400/10 489/397/10 493/406/10 -f 186/171/5 185/177/5 197/160/5 -f 185/177/5 187/878/5 188/161/5 -f 197/160/5 185/177/5 188/161/5 -f 496/410/4 498/879/4 499/411/4 -f 503/413/10 502/416/10 500/414/10 -f 499/411/2 498/879/2 502/416/2 -f 513/417/3 515/880/3 514/418/3 -f 497/420/1 501/415/1 500/414/1 -f 508/422/5 510/881/5 511/423/5 -f 504/425/10 509/424/10 511/423/10 -f 505/427/1 508/882/1 509/424/1 -f 505/428/4 507/441/4 510/429/4 -f 510/431/1 524/883/1 525/432/1 -f 520/436/2 514/418/2 515/880/2 -f 515/880/2 521/884/2 520/436/2 -f 521/884/2 519/434/2 520/436/2 -f 522/439/1 516/885/1 517/886/1 -f 517/886/1 523/887/1 522/439/1 -f 523/887/1 513/437/1 522/439/1 -f 526/440/4 524/888/4 510/429/4 -f 511/423/10 525/432/10 527/442/10 -f 528/443/1 530/889/1 531/444/1 -f 535/446/2 534/452/2 532/447/2 -f 531/444/3 535/446/3 533/449/3 -f 528/451/25 532/447/25 534/452/25 -f 531/444/10 530/889/10 534/452/10 -f 539/454/1 538/465/1 536/455/1 -f 540/457/2 542/462/2 543/458/2 -f 541/460/5 543/458/5 539/454/5 -f 542/462/26 540/457/26 536/463/26 -f 539/454/10 543/458/10 542/462/10 -f 193/153/3 194/890/3 195/181/3 -f 195/181/3 196/170/3 193/153/3 -f 196/170/3 601/891/3 202/466/3 -f 228/892/10 230/192/10 210/180/10 -f 230/192/10 196/170/10 195/181/10 -f 607/467/1 606/893/1 605/468/1 -f 608/470/1 609/894/1 602/471/1 -f 602/471/5 610/475/5 611/473/5 -f 609/474/4 616/895/4 610/475/4 -f 608/476/3 617/482/3 616/477/3 -f 603/469/4 613/481/4 615/479/4 -f 605/468/3 612/484/3 613/481/3 -f 604/472/10 611/473/10 617/482/10 -f 606/483/10 614/486/10 612/484/10 -f 607/485/5 615/896/5 614/486/5 -f 624/487/27 622/499/27 626/488/27 -f 618/490/5 622/499/5 624/487/5 -f 633/492/4 632/509/4 630/493/4 -f 621/495/3 625/503/3 623/496/3 -f 619/498/2 623/496/2 622/499/2 -f 629/501/10 628/489/10 626/488/10 -f 625/503/28 629/501/28 627/502/28 -f 623/496/29 627/502/29 626/488/29 -f 620/505/1 624/897/1 628/489/1 -f 628/489/1 629/501/1 621/504/1 -f 629/501/1 625/898/1 621/504/1 -f 636/506/10 638/523/10 639/507/10 -f 632/509/5 640/899/5 634/510/5 -f 639/511/2 643/521/2 640/512/2 -f 631/494/1 630/493/1 638/523/1 -f 630/493/1 634/900/1 638/523/1 -f 638/523/1 636/506/1 631/494/1 -f 632/509/2 633/492/2 637/514/2 -f 635/515/3 641/901/3 633/492/3 -f 636/516/30 642/902/30 641/517/30 -f 634/520/30 640/512/30 643/521/30 -f 641/517/2 642/902/2 637/514/2 -f 649/525/1 650/532/1 658/526/1 -f 644/528/1 645/539/1 652/529/1 -f 644/531/1 651/903/1 658/526/1 -f 660/533/1 649/525/1 656/534/1 -f 649/525/1 657/527/1 656/534/1 -f 656/534/1 655/904/1 648/535/1 -f 659/536/1 648/535/1 654/537/1 -f 648/535/1 655/904/1 654/537/1 -f 654/537/1 653/905/1 646/538/1 -f 646/538/1 653/905/1 652/529/1 -f 647/906/2 670/907/2 671/540/2 -f 671/540/2 672/547/2 664/541/2 -f 675/542/2 647/906/2 671/540/2 -f 670/907/2 647/906/2 669/545/2 -f 647/906/2 674/908/2 669/545/2 -f 674/908/2 663/543/2 669/545/2 -f 673/546/2 665/549/2 664/541/2 -f 673/546/2 666/909/2 661/548/2 -f 661/550/2 666/910/2 667/551/2 -f 667/551/2 668/544/2 663/543/2 -f 686/555/3 687/911/3 691/912/3 -f 691/912/3 690/913/3 689/553/3 -f 689/553/3 688/914/3 684/554/3 -f 684/554/3 685/915/3 686/555/3 -f 686/555/3 691/912/3 689/553/3 -f 693/558/5 692/916/5 698/917/5 -f 698/917/5 697/918/5 699/556/5 -f 699/556/5 696/919/5 695/557/5 -f 695/557/5 694/920/5 693/558/5 -f 693/558/5 698/917/5 699/556/5 -f 683/559/31 679/921/31 677/560/31 -f 682/562/32 680/922/32 676/563/32 -f 682/565/33 678/923/33 679/566/33 -f 681/568/19 677/560/19 676/569/19 -f 706/573/5 707/924/5 701/925/5 -f 701/925/5 702/926/5 700/571/5 -f 700/571/5 703/927/5 704/572/5 -f 704/572/5 705/928/5 706/573/5 -f 706/573/5 701/925/5 700/571/5 -f 713/576/3 712/929/3 708/930/3 -f 708/930/3 709/931/3 710/574/3 -f 710/574/3 711/932/3 715/575/3 -f 715/575/3 714/933/3 713/576/3 -f 713/576/3 708/930/3 710/574/3 -f 776/577/10 719/934/10 717/578/10 -f 720/580/4 722/935/4 723/581/4 -f 716/583/5 721/582/5 723/581/5 -f 721/582/1 716/583/1 774/585/1 -f 716/583/1 775/936/1 774/585/1 -f 717/937/1 720/938/1 773/586/1 -f 720/938/1 721/582/1 773/586/1 -f 773/586/1 772/939/1 717/937/1 -f 719/587/3 722/590/3 720/588/3 -f 722/590/2 719/587/2 777/591/2 -f 719/587/2 776/940/2 777/591/2 -f 718/584/2 723/581/2 778/592/2 -f 723/581/2 722/590/2 778/592/2 -f 778/592/2 779/941/2 718/584/2 -f 726/595/2 725/942/2 734/943/2 -f 725/942/2 724/944/2 734/943/2 -f 724/944/2 735/945/2 734/943/2 -f 734/943/2 733/946/2 732/593/2 -f 732/593/2 731/947/2 730/594/2 -f 730/594/2 729/948/2 728/949/2 -f 728/949/2 727/950/2 730/594/2 -f 727/950/2 726/595/2 730/594/2 -f 734/943/2 732/593/2 726/595/2 -f 718/584/10 779/597/10 775/596/10 -f 779/597/31 778/601/31 774/598/31 -f 777/599/32 776/577/32 772/579/32 -f 778/601/10 777/599/10 773/600/10 -f 784/602/4 787/606/4 786/603/4 -f 781/605/5 786/603/5 787/606/5 -f 782/608/3 784/602/3 785/604/3 -f 783/610/2 787/606/2 784/602/2 -f 780/612/1 785/604/1 786/603/1 -f 802/614/3 800/951/3 788/615/3 -f 801/617/5 803/952/5 791/618/5 -f 806/620/3 804/953/3 792/621/3 -f 805/623/5 807/954/5 795/624/5 -f 804/626/3 802/955/3 790/616/3 -f 791/618/5 803/956/5 805/627/5 -f 810/628/3 808/634/3 796/629/3 -f 797/631/5 809/635/5 811/632/5 -f 808/634/3 806/957/3 794/622/3 -f 795/624/5 807/958/5 809/635/5 -f 819/636/5 817/645/5 813/637/5 -f 816/639/3 818/643/3 814/640/3 -f 820/642/3 822/648/3 818/643/3 -f 823/644/5 821/646/5 817/645/5 -f 827/650/1 845/653/1 844/651/1 -f 845/653/1 829/959/1 856/960/1 -f 858/654/1 828/961/1 844/651/1 -f 845/653/1 856/960/1 858/654/1 -f 865/655/2 859/686/2 847/656/2 -f 841/658/10 862/664/10 863/659/10 -f 863/659/3 862/664/3 857/661/3 -f 851/663/2 857/661/2 862/664/2 -f 848/666/4 860/662/4 857/661/4 -f 864/668/5 866/674/5 867/669/5 -f 850/671/4 864/668/4 865/670/4 -f 852/673/10 867/669/10 866/674/10 -f 840/676/2 866/674/2 864/668/2 -f 860/678/2 848/962/2 846/679/2 -f 865/655/2 867/963/2 868/681/2 -f 860/678/2 870/685/2 871/683/2 -f 859/686/2 865/655/2 869/682/2 -f 870/685/2 860/678/2 861/680/2 -f 859/686/2 869/682/2 870/685/2 -f 887/687/2 880/964/2 882/688/2 -f 883/690/1 884/112/1 101/691/1 -f 885/689/2 882/965/2 92/693/2 -f 886/695/1 881/966/1 88/696/1 -f 880/697/2 887/967/2 115/99/2 -f 893/699/10 892/713/10 888/700/10 -f 894/702/10 895/716/10 891/703/10 -f 906/705/1 904/968/1 900/706/1 -f 905/708/2 907/969/2 903/709/2 -f 910/711/2 897/726/2 893/699/2 -f 892/713/1 896/728/1 908/714/1 -f 895/716/2 899/722/2 911/717/2 -f 909/719/1 898/724/1 894/702/1 -f 903/709/2 907/970/2 911/721/2 -f 909/723/1 906/971/1 902/707/1 -f 910/725/2 905/972/2 901/710/2 -f 900/706/1 904/973/1 908/727/1 -f 919/729/3 918/974/3 916/730/3 -f 919/729/10 917/731/10 912/732/10 -f 917/731/1 916/975/1 913/734/1 -f 913/735/4 916/976/4 918/736/4 -f 921/738/1 920/977/1 918/739/1 -f 918/736/4 920/978/4 922/741/4 -f 919/729/10 914/733/10 923/742/10 -f 927/743/4 926/750/4 924/744/4 -f 928/746/10 930/749/10 931/747/10 -f 927/743/2 931/747/2 930/749/2 -f 934/751/5 935/757/5 933/752/5 -f 928/746/1 929/748/1 925/754/1 -f 935/757/2 934/751/2 940/758/2 -f 940/758/2 938/979/2 939/980/2 -f 939/980/2 941/756/2 940/758/2 -f 937/760/1 936/981/1 942/761/1 -f 942/761/1 932/982/1 933/983/1 -f 933/983/1 943/759/1 942/761/1 +f 263/395/158 288/396/158 265/397/158 +f 263/395/158 290/398/158 289/399/158 +f 259/400/158 290/401/158 261/402/158 +f 259/400/158 280/403/158 291/404/158 +f 279/405/158 280/406/158 257/407/158 +f 279/405/158 282/408/158 281/409/158 +f 277/410/158 283/411/158 282/412/158 +f 275/413/158 284/414/158 283/415/158 +f 273/416/158 285/417/158 284/418/158 +f 269/419/158 285/420/158 271/421/158 +f 269/422/158 287/423/158 286/424/158 +f 265/397/158 287/425/158 267/426/158 +f 298/427/158 300/428/158 293/429/158 +f 315/430/158 310/431/158 436/432/158 +f 308/433/158 327/434/158 439/435/158 +f 307/436/158 310/437/158 305/438/158 +f 334/439/159 324/440/159 333/441/159 +f 306/442/159 336/443/159 325/444/159 +f 311/445/159 313/446/159 332/447/159 +f 359/448/159 347/449/159 350/450/159 +f 304/451/159 309/452/159 306/442/159 +f 438/453/158 326/454/158 323/455/158 +f 338/456/158 320/457/158 322/458/158 +f 316/459/159 329/460/159 328/461/159 +f 438/462/158 321/463/158 337/464/158 +f 313/446/159 331/465/159 332/466/159 +f 312/467/159 330/468/159 331/465/159 +f 439/469/158 326/454/158 437/470/158 +f 338/471/158 314/472/158 339/473/158 +f 317/474/159 334/475/159 329/460/159 +f 436/476/158 314/472/158 315/430/158 +f 340/477/158 357/478/158 342/479/158 +f 346/480/158 363/481/158 348/482/158 +f 341/483/158 362/484/158 346/480/158 +f 367/485/159 354/486/159 355/487/159 +f 353/488/159 367/485/159 355/487/159 +f 345/489/158 363/481/158 361/490/158 +f 366/491/159 349/492/159 354/486/159 +f 370/493/159 352/494/159 351/495/159 +f 344/496/158 368/497/158 343/498/158 +f 371/499/159 353/500/159 352/494/159 +f 345/501/158 369/502/158 344/496/158 +f 349/503/159 359/448/159 350/450/159 +f 341/504/158 357/478/158 360/505/158 +f 973/506/158 970/507/158 975/508/158 +f 398/509/159 410/510/159 409/511/159 +f 388/512/159 410/510/159 399/513/159 +f 388/514/159 400/515/159 411/516/159 +f 390/517/159 400/515/159 389/518/159 +f 391/519/159 401/520/159 390/521/159 +f 392/522/159 402/523/159 391/524/159 +f 393/525/159 403/526/159 392/527/159 +f 393/528/159 405/529/159 404/530/159 +f 395/531/159 405/532/159 394/533/159 +f 395/534/159 407/535/159 406/536/159 +f 396/537/159 408/538/159 407/535/159 +f 398/539/159 408/538/159 397/540/159 +f 324/440/159 336/541/159 333/441/159 +f 337/464/158 320/457/158 335/542/158 +f 330/543/159 316/459/159 328/461/159 +f 422/544/159 418/545/159 414/546/159 +f 448/547/160 456/548/160 447/549/160 +f 446/550/161 454/551/161 445/552/161 +f 444/553/162 452/554/162 443/555/162 +f 447/549/163 455/556/163 446/557/163 +f 445/552/164 453/558/164 444/553/164 +f 457/559/159 452/560/159 454/561/159 +f 452/560/165 770/562/165 769/563/165 +f 769/563/159 451/564/159 441/565/159 +f 443/566/158 461/567/158 444/568/158 +f 442/569/166 460/570/166 443/566/166 +f 440/571/158 459/572/158 442/569/158 +f 449/573/158 465/574/158 450/575/158 +f 448/576/166 464/577/166 449/573/166 +f 448/576/158 462/578/158 463/579/158 +f 445/580/158 467/581/158 446/582/158 +f 467/581/158 447/583/158 446/582/158 +f 444/568/158 466/584/158 445/580/158 +f 440/571/167 441/565/167 470/585/167 +f 441/565/167 471/586/167 470/585/167 +f 476/587/158 480/588/158 472/589/158 +f 529/590/159 549/591/159 530/592/159 +f 528/593/159 550/594/159 529/590/159 +f 527/595/159 551/596/159 528/593/159 +f 527/595/159 553/597/159 552/598/159 +f 526/599/159 554/600/159 553/597/159 +f 525/601/159 555/602/159 554/600/159 +f 506/603/158 548/604/158 505/605/158 +f 507/606/158 547/607/158 506/603/158 +f 508/608/158 546/609/158 507/606/158 +f 544/610/158 508/608/158 509/611/158 +f 543/612/158 509/611/158 510/613/158 +f 542/614/158 510/613/158 511/615/158 +f 542/614/158 538/616/158 536/617/158 +f 536/618/168 567/619/168 535/620/168 +f 539/621/159 549/591/159 535/622/159 +f 540/623/169 563/624/169 541/625/169 +f 555/602/159 541/625/159 534/626/159 +f 540/623/158 548/604/158 537/627/158 +f 580/628/158 571/629/158 578/630/158 +f 566/631/167 564/632/167 565/633/167 +f 568/634/167 562/635/167 569/636/167 +f 539/621/159 567/637/159 566/631/159 +f 537/638/170 568/634/170 569/636/170 +f 539/621/171 565/633/171 538/616/171 +f 540/623/172 569/639/172 562/635/172 +f 541/625/173 568/640/173 534/626/173 +f 538/616/158 564/641/158 536/617/158 +f 578/642/160 573/643/160 579/644/160 +f 581/645/167 578/630/167 579/646/167 +f 578/647/158 571/648/158 542/614/158 +f 573/643/167 536/618/167 535/620/167 +f 579/649/159 573/650/159 535/622/159 +f 576/651/159 579/646/159 570/652/159 +f 580/653/158 574/654/158 537/627/158 +f 580/655/162 577/656/162 574/657/162 +f 581/658/159 576/659/159 555/602/159 +f 574/657/167 534/660/167 537/638/167 +f 586/661/174 593/662/174 589/663/174 +f 584/664/160 587/665/160 585/666/160 +f 583/667/162 589/663/162 582/668/162 +f 585/666/159 586/661/159 583/667/159 +f 582/668/158 588/669/158 584/670/158 +f 591/671/167 593/662/167 590/672/167 +f 587/665/175 590/673/175 586/661/175 +f 589/663/176 592/674/176 588/669/176 +f 588/675/177 591/676/177 587/665/177 +f 558/677/159 600/678/159 599/679/159 +f 557/680/159 599/679/159 598/681/159 +f 557/682/159 597/683/159 556/684/159 +f 556/684/159 596/685/159 533/686/159 +f 522/687/158 606/688/158 521/689/158 +f 604/690/158 522/687/158 523/691/158 +f 603/692/158 523/691/158 512/693/158 +f 513/694/158 603/692/158 512/693/158 +f 514/695/158 614/696/158 513/694/158 +f 515/697/158 613/698/158 514/695/158 +f 516/699/158 612/700/158 515/697/158 +f 517/701/158 611/702/158 516/699/158 +f 518/703/158 610/704/158 517/701/158 +f 608/705/158 518/706/158 519/707/158 +f 607/708/158 519/707/158 520/709/158 +f 606/688/158 520/709/158 521/689/158 +f 617/710/159 620/711/159 616/712/159 +f 616/712/159 621/713/159 615/714/159 +f 619/715/159 621/713/159 623/716/159 +f 618/717/159 623/716/159 624/718/159 +f 561/719/178 624/720/178 602/721/178 +f 594/722/179 617/710/179 531/723/179 +f 630/724/159 635/725/159 634/726/159 +f 630/724/159 633/727/159 631/728/159 +f 631/728/159 632/729/159 625/730/159 +f 626/731/159 632/729/159 638/732/159 +f 627/733/159 638/732/159 637/734/159 +f 628/735/159 637/734/159 636/736/159 +f 644/737/158 649/738/158 643/739/158 +f 646/740/158 644/737/158 645/741/158 +f 647/742/158 645/741/158 640/743/158 +f 639/744/158 647/742/158 640/743/158 +f 641/745/158 652/746/158 639/744/158 +f 642/747/158 651/748/158 641/745/158 +f 671/749/180 673/750/180 669/751/180 +f 659/752/180 661/753/180 657/754/180 +f 656/755/159 658/756/159 660/757/159 +f 653/758/162 658/756/162 654/759/162 +f 655/760/158 657/754/158 653/758/158 +f 656/755/160 659/761/160 655/762/160 +f 661/763/161 664/764/161 662/765/161 +f 660/757/160 663/766/160 659/761/160 +f 658/756/181 664/767/181 660/757/181 +f 657/754/162 662/765/162 658/756/162 +f 666/768/159 672/769/159 668/770/159 +f 665/771/162 670/772/162 666/768/162 +f 665/773/158 671/749/158 669/751/158 +f 668/770/160 671/749/160 667/774/160 +f 673/775/161 676/776/161 674/777/161 +f 672/769/160 675/778/160 671/749/160 +f 670/772/181 676/779/181 672/769/181 +f 669/780/162 674/781/162 670/772/162 +f 678/782/160 679/783/160 677/784/160 +f 680/785/159 683/786/159 679/787/159 +f 684/788/162 681/789/162 683/790/162 +f 682/791/158 677/784/158 681/789/158 +f 683/786/161 677/792/161 679/787/161 +f 680/785/167 682/791/167 684/793/167 +f 452/554/162 769/794/162 441/565/162 +f 689/795/162 692/796/162 690/797/162 +f 685/798/167 692/796/167 687/799/167 +f 686/800/158 690/797/158 685/798/158 +f 686/801/161 691/802/161 689/803/161 +f 691/804/158 694/805/158 692/806/158 +f 695/807/161 691/802/161 688/808/161 +f 692/796/167 696/809/167 687/799/167 +f 697/810/158 700/811/158 698/812/158 +f 704/813/159 701/814/159 702/815/159 +f 700/811/160 702/816/160 698/817/160 +f 697/818/182 703/819/182 699/820/182 +f 700/811/167 703/819/167 704/813/167 +f 708/821/158 705/822/158 706/823/158 +f 709/824/159 712/825/159 710/826/159 +f 710/827/162 708/821/162 706/828/162 +f 711/829/183 705/830/183 707/831/183 +f 708/821/167 711/829/167 707/832/167 +f 448/547/160 451/564/160 457/833/160 +f 465/574/167 471/586/167 450/575/167 +f 777/834/184 779/835/184 781/836/184 +f 771/837/162 777/834/162 773/838/162 +f 786/839/161 783/840/161 784/841/161 +f 774/842/160 776/843/160 772/844/160 +f 772/845/159 775/846/159 771/847/159 +f 782/848/167 779/835/167 780/849/167 +f 778/850/185 780/849/185 776/843/185 +f 776/843/186 779/835/186 775/846/186 +f 774/851/158 773/852/158 781/836/158 +f 789/853/167 792/854/167 790/855/167 +f 785/856/162 787/857/162 783/840/162 +f 792/858/159 793/859/159 785/856/159 +f 789/853/158 788/860/158 784/841/158 +f 785/856/159 790/861/159 792/858/159 +f 788/862/160 786/839/160 784/841/160 +f 789/863/187 794/864/187 788/865/187 +f 790/855/162 795/866/162 789/853/162 +f 787/867/187 796/868/187 791/869/187 +f 792/854/160 791/870/160 796/871/160 +f 794/864/159 790/861/159 786/839/159 +f 802/872/158 811/873/158 810/874/158 +f 797/875/158 805/876/158 804/877/158 +f 797/878/158 811/873/158 803/879/158 +f 813/880/158 809/881/158 801/882/158 +f 812/883/158 807/884/158 799/885/158 +f 799/885/158 805/876/158 798/886/158 +f 824/887/159 817/888/159 828/889/159 +f 816/890/159 821/891/159 822/892/159 +f 826/893/159 817/888/159 825/894/159 +f 826/893/159 814/895/159 818/896/159 +f 814/897/159 820/898/159 815/899/159 +f 820/898/159 816/890/159 815/899/159 +f 842/900/160 837/901/160 839/902/160 +f 852/903/162 848/904/162 846/905/162 +f 836/906/188 830/907/188 834/908/188 +f 835/909/189 829/910/189 831/911/189 +f 835/912/190 832/913/190 836/914/190 +f 834/915/176 829/916/176 833/917/176 +f 853/918/162 857/919/162 859/920/162 +f 863/921/160 868/922/160 866/923/160 +f 873/924/161 875/925/161 874/926/161 +f 870/927/162 876/928/162 872/929/162 +f 871/930/160 874/926/160 869/931/160 +f 872/932/159 873/924/159 871/933/159 +f 869/934/158 875/925/158 870/935/158 +f 891/936/160 877/937/160 879/938/160 +f 890/939/162 880/940/162 878/941/162 +f 895/942/160 881/943/160 883/944/160 +f 894/945/162 884/946/162 882/947/162 +f 893/948/160 879/938/160 881/943/160 +f 880/940/162 894/949/162 882/947/162 +f 899/950/160 885/951/160 887/952/160 +f 886/953/162 900/954/162 888/955/162 +f 897/956/160 883/944/160 885/951/160 +f 884/946/162 898/957/162 886/953/162 +f 908/958/162 902/959/162 904/960/162 +f 905/961/160 903/962/160 901/963/160 +f 909/964/160 907/965/160 905/961/160 +f 912/966/162 906/967/162 908/958/162 +f 910/968/162 912/966/162 914/969/162 +f 911/970/160 909/964/160 913/971/160 +f 916/972/158 933/973/158 915/974/158 +f 933/973/158 934/975/158 947/976/158 +f 954/977/159 936/978/159 938/979/159 +f 930/980/167 952/981/167 942/982/167 +f 952/981/160 946/983/160 949/984/160 +f 940/985/159 951/986/159 930/987/159 +f 937/988/161 946/983/161 940/989/161 +f 953/990/162 956/991/162 954/992/162 +f 939/993/161 954/992/161 938/994/161 +f 941/995/167 955/996/167 929/997/167 +f 929/998/159 953/990/159 939/999/159 +f 949/1000/159 935/1001/159 950/1002/159 +f 954/977/159 957/1003/159 958/1004/159 +f 949/1000/159 960/1005/159 952/1006/159 +f 959/1007/159 950/1002/159 948/1008/159 +f 976/1009/159 971/1010/159 974/1011/159 +f 972/1012/158 356/1013/158 340/1014/158 +f 974/1011/159 347/1015/159 358/1016/159 +f 975/1017/158 343/1018/158 368/497/158 +f 969/1019/159 370/493/159 351/1020/159 +f 982/1021/167 977/1022/167 979/1023/167 +f 983/1024/167 980/1025/167 978/1026/167 +f 995/1027/158 989/1028/158 991/1029/158 +f 994/1030/159 992/1031/159 990/1032/159 +f 999/1033/159 982/1021/159 979/1034/159 +f 981/1035/158 997/1036/158 977/1037/158 +f 984/1038/159 1000/1039/159 980/1040/159 +f 998/1041/158 983/1024/158 978/1042/158 +f 992/1031/159 1000/1043/159 988/1044/159 +f 998/1045/158 991/1029/158 987/1046/158 +f 999/1047/159 990/1032/159 986/1048/159 +f 989/1028/158 997/1049/158 985/1050/158 +f 1008/1051/160 1005/1052/160 1006/1053/160 +f 1008/1051/167 1001/1054/167 1003/1055/167 +f 1006/1053/158 1002/1056/158 1001/1054/158 +f 1002/1057/161 1007/1058/161 1004/1059/161 +f 1010/1060/158 1007/1061/158 1008/1062/158 +f 1007/1058/161 1011/1063/161 1004/1059/161 +f 1008/1051/167 1012/1064/167 1010/1060/167 +f 263/395/158 289/1065/158 288/396/158 +f 263/395/158 261/402/158 290/398/158 +f 259/400/158 291/1066/158 290/401/158 +f 259/400/158 257/407/158 280/403/158 +f 279/405/158 281/1067/158 280/406/158 +f 279/405/158 277/410/158 282/408/158 +f 277/410/158 275/413/158 283/411/158 +f 275/413/158 273/416/158 284/414/158 +f 273/416/158 271/421/158 285/417/158 +f 269/419/158 286/1068/158 285/420/158 +f 269/422/158 267/426/158 287/423/158 +f 265/397/158 288/1069/158 287/425/158 +f 293/429/158 292/1070/158 296/1071/158 +f 292/1070/158 294/1072/158 296/1071/158 +f 294/1072/158 295/1073/158 296/1071/158 +f 296/1071/158 297/1074/158 298/427/158 +f 298/427/158 299/1075/158 300/428/158 +f 300/428/158 301/1076/158 302/1077/158 +f 302/1077/158 303/1078/158 300/428/158 +f 303/1078/158 293/429/158 300/428/158 +f 296/1071/158 298/427/158 293/429/158 +f 315/430/158 305/1079/158 310/431/158 +f 308/433/158 307/436/158 327/434/158 +f 307/436/158 308/1080/158 310/437/158 +f 334/439/159 319/1081/159 324/440/159 +f 306/442/159 309/1082/159 336/443/159 +f 311/445/159 304/1083/159 313/446/159 +f 359/448/159 358/1016/159 347/449/159 +f 304/451/159 311/1084/159 309/452/159 +f 438/453/158 437/470/158 326/454/158 +f 338/456/158 335/542/158 320/457/158 +f 316/459/159 317/474/159 329/460/159 +f 438/462/158 323/455/158 321/463/158 +f 313/446/159 312/467/159 331/465/159 +f 312/467/159 318/1085/159 330/468/159 +f 439/469/158 327/434/158 326/454/158 +f 338/471/158 322/458/158 314/472/158 +f 317/474/159 319/1081/159 334/475/159 +f 436/476/158 339/473/158 314/472/158 +f 340/477/158 356/1013/158 357/478/158 +f 346/480/158 362/484/158 363/481/158 +f 341/483/158 360/505/158 362/484/158 +f 367/485/159 366/491/159 354/486/159 +f 353/488/159 365/1086/159 367/485/159 +f 345/489/158 348/482/158 363/481/158 +f 366/491/159 364/1087/159 349/492/159 +f 370/493/159 371/499/159 352/494/159 +f 344/496/158 369/502/158 368/497/158 +f 371/499/159 365/1086/159 353/500/159 +f 345/501/158 361/490/158 369/502/158 +f 349/503/159 364/1087/159 359/448/159 +f 341/504/158 342/479/158 357/478/158 +f 973/506/158 972/1088/158 970/507/158 +f 398/509/159 399/1089/159 410/510/159 +f 388/512/159 411/516/159 410/510/159 +f 388/514/159 389/1090/159 400/515/159 +f 390/517/159 401/520/159 400/515/159 +f 391/519/159 402/523/159 401/520/159 +f 392/522/159 403/526/159 402/523/159 +f 393/525/159 404/530/159 403/526/159 +f 393/528/159 394/1091/159 405/529/159 +f 395/531/159 406/536/159 405/532/159 +f 395/534/159 396/1092/159 407/535/159 +f 396/537/159 397/1093/159 408/538/159 +f 398/539/159 409/511/159 408/538/159 +f 324/440/159 325/444/159 336/541/159 +f 337/464/158 321/463/158 320/457/158 +f 330/543/159 318/1085/159 316/459/159 +f 414/546/159 413/1094/159 412/1095/159 +f 412/1095/159 423/1096/159 414/546/159 +f 423/1096/159 422/544/159 414/546/159 +f 422/544/159 421/1097/159 418/545/159 +f 421/1097/159 420/1098/159 418/545/159 +f 420/1098/159 419/1099/159 418/545/159 +f 418/545/159 417/1100/159 416/1101/159 +f 416/1101/159 415/1102/159 418/545/159 +f 415/1102/159 414/546/159 418/545/159 +f 448/547/160 457/833/160 456/548/160 +f 446/550/161 455/1103/161 454/551/161 +f 444/553/162 453/558/162 452/554/162 +f 447/549/163 456/548/163 455/556/163 +f 445/552/164 454/551/164 453/558/164 +f 452/560/159 453/1104/159 454/561/159 +f 454/561/159 455/1105/159 457/559/159 +f 455/1105/159 456/1106/159 457/559/159 +f 452/560/165 457/559/165 770/562/165 +f 769/563/159 770/562/159 451/564/159 +f 443/566/158 460/570/158 461/567/158 +f 442/569/166 459/572/166 460/570/166 +f 440/571/158 458/1107/158 459/572/158 +f 449/573/158 464/577/158 465/574/158 +f 448/576/166 463/579/166 464/577/166 +f 448/576/158 447/583/158 462/578/158 +f 445/580/158 466/584/158 467/581/158 +f 467/581/158 462/578/158 447/583/158 +f 444/568/158 461/567/158 466/584/158 +f 468/1108/167 458/1107/167 470/585/167 +f 458/1107/167 440/571/167 470/585/167 +f 441/565/167 451/564/167 471/586/167 +f 472/589/158 473/1109/158 476/587/158 +f 473/1109/158 474/1110/158 476/587/158 +f 474/1110/158 475/1111/158 476/587/158 +f 476/587/158 477/1112/158 478/1113/158 +f 478/1113/158 479/1114/158 480/588/158 +f 480/588/158 481/1115/158 482/1116/158 +f 482/1116/158 483/1117/158 480/588/158 +f 483/1117/158 472/589/158 480/588/158 +f 476/587/158 478/1113/158 480/588/158 +f 529/590/159 550/594/159 549/591/159 +f 528/593/159 551/596/159 550/594/159 +f 527/595/159 552/598/159 551/596/159 +f 527/595/159 526/599/159 553/597/159 +f 526/599/159 525/601/159 554/600/159 +f 525/601/159 524/1118/159 555/602/159 +f 506/603/158 547/607/158 548/604/158 +f 507/606/158 546/609/158 547/607/158 +f 508/608/158 545/1119/158 546/609/158 +f 544/610/158 545/1119/158 508/608/158 +f 543/612/158 544/610/158 509/611/158 +f 542/614/158 543/612/158 510/613/158 +f 542/614/158 511/615/158 538/616/158 +f 536/618/168 564/632/168 567/619/168 +f 539/621/159 530/592/159 549/591/159 +f 540/623/169 562/635/169 563/624/169 +f 555/602/159 524/1118/159 541/625/159 +f 540/623/158 505/605/158 548/604/158 +f 580/628/158 575/1120/158 571/629/158 +f 566/631/167 567/619/167 564/632/167 +f 568/634/167 563/624/167 562/635/167 +f 539/621/159 535/622/159 567/637/159 +f 537/638/170 534/660/170 568/634/170 +f 539/621/171 566/631/171 565/633/171 +f 540/623/172 537/627/172 569/639/172 +f 541/625/173 563/624/173 568/640/173 +f 538/616/158 565/633/158 564/641/158 +f 578/642/160 572/1121/160 573/643/160 +f 581/645/167 580/628/167 578/630/167 +f 542/614/158 536/617/158 578/647/158 +f 536/617/158 572/1122/158 578/647/158 +f 573/643/167 572/1121/167 536/618/167 +f 535/622/159 549/591/159 579/649/159 +f 549/591/159 570/1123/159 579/649/159 +f 576/651/159 581/645/159 579/646/159 +f 537/627/158 548/604/158 580/653/158 +f 548/604/158 575/1124/158 580/653/158 +f 580/655/162 581/1125/162 577/656/162 +f 555/602/159 534/626/159 581/658/159 +f 534/626/159 577/1126/159 581/658/159 +f 574/657/167 577/656/167 534/660/167 +f 586/661/174 590/672/174 593/662/174 +f 584/664/160 588/675/160 587/665/160 +f 583/667/162 586/661/162 589/663/162 +f 585/666/159 587/665/159 586/661/159 +f 582/668/158 589/663/158 588/669/158 +f 591/671/167 592/1127/167 593/662/167 +f 587/665/175 591/1128/175 590/673/175 +f 589/663/176 593/1129/176 592/674/176 +f 588/675/177 592/1130/177 591/676/177 +f 558/677/159 559/1131/159 600/678/159 +f 557/680/159 558/677/159 599/679/159 +f 557/682/159 598/1132/159 597/683/159 +f 556/684/159 597/683/159 596/685/159 +f 522/687/158 605/1133/158 606/688/158 +f 604/690/158 605/1133/158 522/687/158 +f 603/692/158 604/690/158 523/691/158 +f 513/694/158 614/696/158 603/692/158 +f 514/695/158 613/698/158 614/696/158 +f 515/697/158 612/700/158 613/698/158 +f 516/699/158 611/702/158 612/700/158 +f 517/701/158 610/704/158 611/702/158 +f 518/703/158 609/1134/158 610/704/158 +f 608/705/158 609/1135/158 518/706/158 +f 607/708/158 608/705/158 519/707/158 +f 606/688/158 607/708/158 520/709/158 +f 617/710/159 622/1136/159 620/711/159 +f 616/712/159 620/711/159 621/713/159 +f 619/715/159 615/714/159 621/713/159 +f 618/717/159 619/715/159 623/716/159 +f 561/719/178 618/717/178 624/720/178 +f 594/722/179 622/1137/179 617/710/179 +f 630/724/159 629/1138/159 635/725/159 +f 630/724/159 634/726/159 633/727/159 +f 631/728/159 633/727/159 632/729/159 +f 626/731/159 625/730/159 632/729/159 +f 627/733/159 626/731/159 638/732/159 +f 628/735/159 627/733/159 637/734/159 +f 644/737/158 648/1139/158 649/738/158 +f 646/740/158 648/1139/158 644/737/158 +f 647/742/158 646/740/158 645/741/158 +f 639/744/158 652/746/158 647/742/158 +f 641/745/158 651/748/158 652/746/158 +f 642/747/158 650/1140/158 651/748/158 +f 671/749/180 675/1141/180 673/750/180 +f 659/752/180 663/1142/180 661/753/180 +f 656/755/159 654/759/159 658/756/159 +f 653/758/162 657/754/162 658/756/162 +f 655/760/158 659/752/158 657/754/158 +f 656/755/160 660/757/160 659/761/160 +f 661/763/161 663/1143/161 664/764/161 +f 660/757/160 664/1144/160 663/766/160 +f 658/756/181 662/1145/181 664/767/181 +f 657/754/162 661/763/162 662/765/162 +f 666/768/159 670/772/159 672/769/159 +f 665/771/162 669/780/162 670/772/162 +f 665/773/158 667/774/158 671/749/158 +f 668/770/160 672/769/160 671/749/160 +f 673/775/161 675/778/161 676/776/161 +f 672/769/160 676/776/160 675/778/160 +f 670/772/181 674/1146/181 676/779/181 +f 669/780/162 673/1147/162 674/781/162 +f 678/782/160 680/1148/160 679/783/160 +f 680/785/159 684/793/159 683/786/159 +f 684/788/162 682/791/162 681/789/162 +f 682/791/158 678/782/158 677/784/158 +f 683/786/161 681/1149/161 677/792/161 +f 680/785/167 678/782/167 682/791/167 +f 441/565/162 440/571/162 452/554/162 +f 440/571/162 442/1150/162 443/555/162 +f 452/554/162 440/571/162 443/555/162 +f 689/795/162 691/1151/162 692/796/162 +f 685/798/167 690/797/167 692/796/167 +f 686/800/158 689/1152/158 690/797/158 +f 686/801/161 688/808/161 691/802/161 +f 691/804/158 693/1153/158 694/805/158 +f 695/807/161 693/1154/161 691/802/161 +f 692/796/167 694/805/167 696/809/167 +f 697/810/158 699/1155/158 700/811/158 +f 704/813/159 703/819/159 701/814/159 +f 700/811/160 704/813/160 702/816/160 +f 697/818/182 701/814/182 703/819/182 +f 700/811/167 699/1155/167 703/819/167 +f 708/821/158 707/832/158 705/822/158 +f 709/824/159 711/829/159 712/825/159 +f 710/827/162 712/825/162 708/821/162 +f 711/829/183 709/824/183 705/830/183 +f 708/821/167 712/825/167 711/829/167 +f 448/547/160 449/1156/160 450/575/160 +f 450/575/160 451/564/160 448/547/160 +f 451/564/160 770/1157/160 457/833/160 +f 469/1158/167 471/586/167 465/574/167 +f 471/586/167 451/564/167 450/575/167 +f 777/834/184 775/846/184 779/835/184 +f 771/837/162 775/846/162 777/834/162 +f 786/839/161 785/856/161 783/840/161 +f 774/842/160 778/850/160 776/843/160 +f 772/845/159 776/843/159 775/846/159 +f 782/848/167 781/836/167 779/835/167 +f 778/850/185 782/848/185 780/849/185 +f 776/843/186 780/849/186 779/835/186 +f 773/852/158 777/1159/158 781/836/158 +f 781/836/158 782/848/158 774/851/158 +f 782/848/158 778/1160/158 774/851/158 +f 789/853/167 791/870/167 792/854/167 +f 785/856/162 793/1161/162 787/857/162 +f 792/858/159 796/868/159 793/859/159 +f 784/841/158 783/840/158 791/870/158 +f 783/840/158 787/1162/158 791/870/158 +f 791/870/158 789/853/158 784/841/158 +f 785/856/159 786/839/159 790/861/159 +f 788/862/160 794/1163/160 786/839/160 +f 789/863/187 795/1164/187 794/864/187 +f 787/867/187 793/859/187 796/868/187 +f 794/864/159 795/1164/159 790/861/159 +f 802/872/158 803/879/158 811/873/158 +f 797/875/158 798/886/158 805/876/158 +f 797/878/158 804/1165/158 811/873/158 +f 813/880/158 802/872/158 809/881/158 +f 802/872/158 810/874/158 809/881/158 +f 809/881/158 808/1166/158 801/882/158 +f 812/883/158 801/882/158 807/884/158 +f 801/882/158 808/1166/158 807/884/158 +f 807/884/158 806/1167/158 799/885/158 +f 799/885/158 806/1167/158 805/876/158 +f 800/1168/159 823/1169/159 824/887/159 +f 824/887/159 825/894/159 817/888/159 +f 828/889/159 800/1168/159 824/887/159 +f 823/1169/159 800/1168/159 822/892/159 +f 800/1168/159 827/1170/159 822/892/159 +f 827/1170/159 816/890/159 822/892/159 +f 826/893/159 818/896/159 817/888/159 +f 826/893/159 819/1171/159 814/895/159 +f 814/897/159 819/1172/159 820/898/159 +f 820/898/159 821/891/159 816/890/159 +f 839/902/160 840/1173/160 844/1174/160 +f 844/1174/160 843/1175/160 842/900/160 +f 842/900/160 841/1176/160 837/901/160 +f 837/901/160 838/1177/160 839/902/160 +f 839/902/160 844/1174/160 842/900/160 +f 846/905/162 845/1178/162 851/1179/162 +f 851/1179/162 850/1180/162 852/903/162 +f 852/903/162 849/1181/162 848/904/162 +f 848/904/162 847/1182/162 846/905/162 +f 846/905/162 851/1179/162 852/903/162 +f 836/906/188 832/1183/188 830/907/188 +f 835/909/189 833/1184/189 829/910/189 +f 835/912/190 831/1185/190 832/913/190 +f 834/915/176 830/907/176 829/916/176 +f 859/920/162 860/1186/162 854/1187/162 +f 854/1187/162 855/1188/162 853/918/162 +f 853/918/162 856/1189/162 857/919/162 +f 857/919/162 858/1190/162 859/920/162 +f 859/920/162 854/1187/162 853/918/162 +f 866/923/160 865/1191/160 861/1192/160 +f 861/1192/160 862/1193/160 863/921/160 +f 863/921/160 864/1194/160 868/922/160 +f 868/922/160 867/1195/160 866/923/160 +f 866/923/160 861/1192/160 863/921/160 +f 873/924/161 876/928/161 875/925/161 +f 870/927/162 875/925/162 876/928/162 +f 871/930/160 873/924/160 874/926/160 +f 872/932/159 876/928/159 873/924/159 +f 869/934/158 874/926/158 875/925/158 +f 891/936/160 889/1196/160 877/937/160 +f 890/939/162 892/1197/162 880/940/162 +f 895/942/160 893/1198/160 881/943/160 +f 894/945/162 896/1199/162 884/946/162 +f 893/948/160 891/1200/160 879/938/160 +f 880/940/162 892/1201/162 894/949/162 +f 899/950/160 897/956/160 885/951/160 +f 886/953/162 898/957/162 900/954/162 +f 897/956/160 895/1202/160 883/944/160 +f 884/946/162 896/1203/162 898/957/162 +f 908/958/162 906/967/162 902/959/162 +f 905/961/160 907/965/160 903/962/160 +f 909/964/160 911/970/160 907/965/160 +f 912/966/162 910/968/162 906/967/162 +f 916/972/158 934/975/158 933/973/158 +f 934/975/158 918/1204/158 945/1205/158 +f 947/976/158 917/1206/158 933/973/158 +f 934/975/158 945/1205/158 947/976/158 +f 954/977/159 948/1008/159 936/978/159 +f 930/980/167 951/986/167 952/981/167 +f 952/981/160 951/986/160 946/983/160 +f 940/985/159 946/983/159 951/986/159 +f 937/988/161 949/984/161 946/983/161 +f 953/990/162 955/996/162 956/991/162 +f 939/993/161 953/990/161 954/992/161 +f 941/995/167 956/991/167 955/996/167 +f 929/998/159 955/996/159 953/990/159 +f 949/1000/159 937/1207/159 935/1001/159 +f 954/977/159 956/1208/159 957/1003/159 +f 949/1000/159 959/1007/159 960/1005/159 +f 948/1008/159 954/977/159 958/1004/159 +f 959/1007/159 949/1000/159 950/1002/159 +f 948/1008/159 958/1004/159 959/1007/159 +f 976/1009/159 969/1209/159 971/1010/159 +f 972/1012/158 973/506/158 356/1013/158 +f 974/1011/159 971/1210/159 347/1015/159 +f 975/1017/158 970/1211/158 343/1018/158 +f 969/1019/159 976/1212/159 370/493/159 +f 982/1021/167 981/1035/167 977/1022/167 +f 983/1024/167 984/1038/167 980/1025/167 +f 995/1027/158 993/1213/158 989/1028/158 +f 994/1030/159 996/1214/159 992/1031/159 +f 999/1033/159 986/1048/159 982/1021/159 +f 981/1035/158 985/1050/158 997/1036/158 +f 984/1038/159 988/1044/159 1000/1039/159 +f 998/1041/158 987/1046/158 983/1024/158 +f 992/1031/159 996/1215/159 1000/1043/159 +f 998/1045/158 995/1216/158 991/1029/158 +f 999/1047/159 994/1217/159 990/1032/159 +f 989/1028/158 993/1218/158 997/1049/158 +f 1008/1051/160 1007/1219/160 1005/1052/160 +f 1008/1051/167 1006/1053/167 1001/1054/167 +f 1006/1053/158 1005/1220/158 1002/1056/158 +f 1002/1057/161 1005/1221/161 1007/1058/161 +f 1010/1060/158 1009/1222/158 1007/1061/158 +f 1007/1058/161 1009/1223/161 1011/1063/161 +f 1008/1051/167 1003/1055/167 1012/1064/167 s 1 -f 2/13/10 3/984/34 1/985/10 -f 4/6/34 5/986/35 3/984/34 -f 8/1/5 9/987/36 7/988/5 -f 10/3/36 11/989/22 9/987/36 -f 12/32/22 13/990/4 11/989/22 -f 14/25/4 15/991/21 13/992/4 -f 16/27/21 17/993/37 15/991/21 -f 18/22/37 19/994/3 17/993/37 -f 20/19/3 21/995/38 19/994/3 -f 22/16/38 23/996/39 21/995/38 -f 24/11/39 1/985/10 23/996/39 -f 29/20/35 40/997/5 28/21/5 -f 36/763/21 47/998/37 35/7/37 -f 26/764/22 38/999/4 25/12/4 -f 33/766/38 44/1000/39 32/31/39 -f 30/23/34 41/1001/35 29/24/35 -f 25/9/4 48/1002/21 36/10/21 -f 27/14/36 37/1003/22 26/15/22 -f 34/762/3 45/1004/38 33/2/38 -f 31/765/10 42/1005/34 30/26/34 -f 28/17/5 39/1006/36 27/18/36 -f 35/4/37 46/1007/3 34/5/3 -f 32/29/39 43/1008/10 31/30/10 -f 49/780/40 60/36/41 58/52/41 -f 59/78/42 58/52/41 60/36/41 -f 59/78/42 63/782/43 57/73/42 -f 65/63/44 63/782/27 67/64/27 -f 68/61/28 62/80/45 66/69/45 -f 72/40/46 69/46/47 71/60/47 -f 66/69/45 61/65/44 65/63/44 -f 52/42/48 49/57/40 51/48/48 -f 72/40/46 51/48/48 70/50/46 -f 854/1009/9 835/1010/9 855/1011/9 -f 101/691/46 104/54/47 102/84/47 -f 105/111/49 104/54/47 109/784/49 -f 105/111/28 111/97/45 107/90/45 -f 107/90/45 112/91/44 108/87/44 -f 108/87/44 110/783/27 106/96/27 -f 114/108/42 110/783/43 116/105/42 -f 114/108/42 115/99/41 113/103/41 -f 884/112/48 887/687/40 885/689/48 -f 122/1012/50 126/1013/51 117/1014/52 -f 124/1015/44 130/1016/53 121/1017/45 -f 123/1018/54 127/1019/55 132/1020/56 -f 126/1013/51 551/1021/57 548/1022/58 -f 128/1023/59 120/1024/60 119/1025/48 -f 124/1015/44 132/1020/56 131/1026/61 -f 126/1027/51 118/1028/40 117/1029/52 -f 130/1016/53 122/1030/50 121/1017/45 -f 118/1028/40 128/1023/59 119/1025/48 -f 68/61/49 69/46/47 64/778/49 -f 144/119/21 157/1031/4 133/118/4 -f 134/124/22 159/1032/36 135/123/36 -f 141/143/38 166/1033/3 142/790/3 -f 138/134/34 163/1034/10 139/788/10 -f 135/127/36 160/1035/5 136/125/5 -f 142/146/3 167/1036/37 143/145/37 -f 139/139/10 164/1037/39 140/137/39 -f 136/130/5 161/1038/35 137/128/35 -f 143/115/37 168/1039/21 144/786/21 -f 133/120/4 158/1040/22 134/787/22 -f 140/140/39 165/1041/38 141/789/38 -f 137/133/35 162/1042/34 138/131/34 -f 151/142/22 174/1043/4 150/138/4 -f 148/132/37 171/1044/3 147/129/3 -f 155/116/34 178/1045/35 154/117/35 -f 145/121/39 180/1046/10 156/122/10 -f 152/141/36 175/1047/22 151/142/22 -f 149/136/21 172/1048/37 148/132/37 -f 156/122/10 179/1049/34 155/116/34 -f 146/126/38 169/1050/39 145/121/39 -f 153/144/5 176/1051/36 152/141/36 -f 150/135/4 173/1052/21 149/136/21 -f 147/129/3 170/1053/38 146/126/38 -f 154/117/35 177/1054/5 153/144/5 -f 221/1055/38 215/1056/62 214/1057/38 -f 223/1058/63 217/1059/35 216/1060/63 -f 224/1061/35 218/1062/34 217/1059/35 -f 226/1063/10 213/1064/39 219/1065/10 -f 225/1066/34 219/1065/10 218/1062/34 -f 220/1067/39 214/1057/38 213/1064/39 -f 233/1068/38 246/1069/62 234/1070/62 -f 241/1071/35 252/1072/63 253/1073/35 -f 242/1074/34 253/1073/35 254/1075/34 -f 231/1076/10 243/1077/39 232/1078/39 -f 242/1074/34 244/1079/10 231/1076/10 -f 232/1078/39 245/1080/38 233/1068/38 -f 258/1081/39 273/1082/38 259/1083/38 -f 266/1084/63 276/1085/35 267/1086/35 -f 259/1083/38 274/1087/62 260/1088/62 -f 267/1086/35 277/1089/34 268/1090/34 -f 268/1090/34 272/1091/10 257/1092/10 -f 257/1092/10 271/1093/39 258/1081/39 -f 292/1094/3 281/1095/37 280/1096/3 -f 299/1097/35 288/1098/34 287/1099/35 -f 301/1100/10 278/1101/39 289/1102/10 -f 296/1103/22 285/1104/36 284/1105/22 -f 293/1106/37 282/1107/21 281/1095/37 -f 300/1108/34 289/1102/10 288/1098/34 -f 290/1109/39 279/1110/38 278/1101/39 -f 297/1111/36 286/1112/5 285/1104/36 -f 294/1113/21 283/1114/4 282/1107/21 -f 291/1115/38 280/1096/3 279/1110/38 -f 298/1116/5 287/1099/35 286/1112/5 -f 295/1117/4 284/1105/22 283/1118/4 -f 306/1119/39 312/1120/10 305/1121/10 -f 304/1122/34 310/1123/35 303/1124/35 -f 307/1125/38 313/1126/39 306/1119/39 -f 305/1121/10 311/1127/34 304/1122/34 -f 303/1124/35 309/1128/63 302/1129/63 -f 308/1130/62 314/1131/38 307/1125/38 -f 338/210/4 320/226/22 319/223/4 -f 339/208/22 321/228/36 320/226/22 -f 340/205/36 322/230/64 321/228/36 -f 335/846/65 317/218/37 316/220/65 -f 336/216/37 318/221/21 317/218/37 -f 337/214/21 319/223/4 318/221/21 -f 341/207/64 349/231/66 322/230/64 -f 368/1132/4 328/316/21 369/1133/21 -f 371/1134/67 325/310/38 372/334/68 -f 343/1135/69 333/302/35 332/304/5 -f 367/1136/22 329/321/4 368/1137/4 -f 370/1138/70 326/312/3 371/1134/67 -f 344/1139/71 330/322/22 367/1136/22 -f 369/1133/21 327/314/37 370/1138/70 -f 372/334/68 325/310/38 324/309/39 -f 426/329/10 324/309/39 323/308/10 -f 344/1139/71 332/304/5 331/324/36 -f 335/846/65 351/238/72 352/240/72 -f 343/1140/73 405/1141/74 342/1142/75 -f 371/1143/76 413/1144/77 412/1145/78 -f 371/1143/76 411/293/74 370/859/79 -f 344/301/80 406/1146/81 343/1140/73 -f 427/327/34 323/308/10 334/306/34 -f 437/346/39 451/358/10 436/345/10 -f 438/348/38 450/359/39 437/346/39 -f 441/339/35 454/354/63 440/866/63 -f 439/350/62 452/360/38 438/348/38 -f 442/343/34 455/352/35 441/339/35 -f 436/345/10 456/356/34 442/343/34 -f 334/306/34 333/302/35 342/338/82 -f 519/434/83 516/885/84 518/435/84 -f 518/435/84 522/1147/85 520/1148/85 -f 515/1149/10 523/1150/86 521/1151/86 -f 521/1151/86 517/886/83 519/434/83 -f 520/1148/85 512/1152/4 514/1153/4 -f 524/883/87 527/1154/88 525/432/87 -f 526/1155/88 506/1156/89 527/1154/88 -f 551/1157/57 558/1158/90 559/1159/91 -f 125/1160/92 548/1161/58 549/1162/93 -f 125/1160/92 544/1163/94 128/1023/59 -f 132/1020/56 547/1164/95 131/1026/61 -f 128/1023/59 545/1165/96 127/1166/55 -f 127/1019/55 546/1167/97 132/1020/56 -f 129/1168/98 550/1169/99 551/1157/57 -f 131/1026/61 550/1169/99 130/1016/53 -f 555/1170/100 562/1171/101 558/1172/102 -f 546/1173/97 555/1174/103 547/1164/95 -f 545/1175/96 554/1176/104 546/1167/97 -f 549/1162/93 552/1177/105 544/1163/94 -f 549/1162/93 556/1178/106 557/1179/107 -f 544/1163/94 553/1180/108 545/1165/96 -f 547/1164/95 558/1158/90 550/1169/99 -f 548/1022/58 559/1181/91 556/1182/106 -f 558/1172/102 563/1183/109 559/1184/91 -f 555/1170/100 560/1185/110 561/1186/111 -f 561/1186/111 566/1187/112 562/1171/101 -f 562/1171/101 567/1188/113 563/1183/109 -f 561/1186/111 564/1189/114 565/1190/115 -f 565/1190/115 570/1191/116 566/1187/112 -f 566/1187/112 571/1192/117 567/1188/113 -f 564/1189/114 569/1193/118 565/1190/115 -f 557/1179/107 572/1194/119 552/1177/105 -f 557/1179/107 574/1195/120 575/1196/121 -f 552/1177/105 573/1197/122 553/1180/108 -f 575/1198/123 576/1199/124 572/1200/125 -f 574/1201/120 579/1202/126 575/1198/123 -f 573/1203/122 576/1199/124 577/1204/127 -f 579/1202/126 580/1205/128 576/1199/124 -f 579/1202/126 582/1206/129 583/1207/130 -f 576/1199/124 581/1208/131 577/1204/127 -f 583/1207/130 584/1209/132 580/1205/128 -f 583/1207/130 586/1210/133 587/1211/134 -f 580/1205/128 585/1212/135 581/1208/131 -f 587/1211/134 588/1213/136 584/1209/132 -f 586/1210/133 591/1214/137 587/1211/134 -f 584/1209/132 589/1215/138 585/1212/135 -f 591/1216/137 592/1217/139 588/1218/136 -f 591/1216/137 594/1219/140 595/1220/141 -f 588/1218/136 593/1221/142 589/1222/138 -f 595/1220/141 596/1223/143 592/1217/139 -f 594/1224/140 599/1225/144 595/1220/141 -f 592/1217/139 597/1226/145 593/1227/142 -f 563/1228/109 578/1229/146 559/1181/91 -f 573/1230/122 554/1176/104 553/1231/108 -f 597/1232/145 569/1233/118 568/1234/147 -f 570/1235/116 598/1236/148 571/1237/117 -f 596/1223/143 570/1235/116 569/1233/118 -f 564/1189/114 593/1227/142 568/1238/147 -f 577/1239/127 560/1240/110 554/1176/104 -f 581/1241/131 585/1212/135 593/1227/142 -f 568/1238/147 593/1227/142 597/1226/145 -f 594/1242/140 571/1243/117 598/1244/148 -f 594/1242/140 567/1245/113 571/1243/117 -f 582/1246/129 594/1242/140 586/1247/133 -f 574/1248/120 559/1181/91 578/1229/146 -f 645/539/28 663/543/149 646/538/149 -f 653/1249/5 667/1250/7 652/1251/7 -f 646/538/149 674/908/3 659/536/3 -f 654/1252/27 668/1253/5 653/1249/5 -f 660/1254/5 664/541/150 649/1255/150 -f 655/1256/10 669/1257/27 654/1252/27 -f 656/1258/28 670/1259/10 655/1256/10 -f 657/1260/3 671/1261/28 656/1258/28 -f 649/1255/150 665/549/27 650/1262/27 -f 658/1263/6 672/1264/3 657/1260/3 -f 650/1262/27 661/548/10 644/1265/10 -f 644/528/10 662/552/28 645/539/28 -f 651/1266/4 673/1267/6 658/1263/6 -f 652/1251/7 666/1268/4 651/1269/4 -f 689/1270/9 696/1271/1 688/1272/1 -f 690/1273/4 695/1274/9 689/1270/9 -f 685/1275/10 698/1276/29 686/1277/29 -f 686/1277/29 692/1278/2 687/1279/2 -f 691/1280/8 694/1281/4 690/1282/4 -f 687/1279/2 693/1283/8 691/1280/8 -f 684/1284/151 697/1285/10 685/1275/10 -f 688/1272/1 699/1286/151 684/1284/151 -f 711/1287/1 700/1288/151 715/1289/151 -f 715/1289/151 702/1290/10 714/1291/10 -f 712/1292/2 706/1293/8 708/1294/8 -f 708/1294/8 705/1295/4 709/1296/4 -f 713/1297/29 707/1298/2 712/1292/2 -f 714/1291/10 701/1299/29 713/1297/29 -f 709/1300/4 704/1301/9 710/1302/9 -f 710/1302/9 703/1303/1 711/1287/1 -f 731/1304/22 742/1305/152 730/1306/4 -f 728/1307/37 739/1308/153 727/1309/3 -f 735/1310/34 746/1311/154 734/1312/35 -f 725/1313/39 736/1314/155 724/1315/10 -f 732/1316/36 743/1317/156 731/1304/22 -f 729/1318/21 740/1319/157 728/1307/37 -f 724/1315/10 747/1320/158 735/1310/34 -f 726/1321/38 737/1322/159 725/1313/39 -f 733/1323/5 744/1324/160 732/1316/36 -f 730/1325/4 741/1326/161 729/1318/21 -f 727/1309/3 738/1327/162 726/1321/38 -f 734/1312/35 745/1328/163 733/1323/5 -f 740/1319/157 753/1329/164 752/1330/165 -f 747/1320/158 748/1331/166 759/1332/167 -f 737/1322/159 750/1333/168 749/1334/169 -f 744/1324/160 757/1335/170 756/1336/171 -f 742/1337/152 753/1329/164 741/1326/161 -f 738/1327/162 751/1338/172 750/1333/168 -f 746/1311/154 757/1335/170 745/1328/163 -f 742/1305/152 755/1339/173 754/1340/174 -f 740/1319/157 751/1338/172 739/1308/153 -f 747/1320/158 758/1341/175 746/1311/154 -f 737/1322/159 748/1331/166 736/1314/155 -f 744/1324/160 755/1339/173 743/1317/156 -f 752/1330/165 765/1342/176 764/1343/177 -f 759/1332/167 760/1344/178 771/1345/179 -f 749/1334/169 762/1346/180 761/1347/181 -f 757/1335/170 768/1348/182 756/1336/171 -f 754/1349/174 765/1342/176 753/1329/164 -f 751/1338/172 762/1346/180 750/1333/168 -f 757/1335/170 770/1350/183 769/1351/184 -f 754/1340/174 767/1352/185 766/1353/186 -f 751/1338/172 764/1343/177 763/1354/187 -f 759/1332/167 770/1350/183 758/1341/175 -f 749/1334/169 760/1344/178 748/1331/166 -f 756/1336/171 767/1352/185 755/1339/173 -f 766/1355/186 768/1356/182 760/1357/178 -f 791/618/188 788/615/2 789/619/2 -f 793/625/189 790/616/188 791/618/188 -f 795/624/190 792/621/189 793/625/189 -f 797/631/191 794/622/190 795/624/190 -f 799/633/23 796/629/191 797/631/191 -f 801/617/1 802/1358/192 803/952/192 -f 805/623/193 806/1359/194 807/954/194 -f 806/1360/194 809/635/195 807/958/194 -f 809/635/195 810/1361/18 811/632/18 -f 804/1362/193 803/956/192 802/1363/192 -f 818/1364/196 815/1365/23 814/640/23 -f 813/637/24 816/1366/197 812/1367/24 -f 817/1368/197 820/1369/188 816/1366/197 -f 822/1370/198 819/1371/196 818/1364/196 -f 825/1372/199 822/1370/198 824/1373/199 -f 825/1374/199 820/1369/188 821/1375/188 -f 826/652/10 831/1376/193 827/650/10 -f 830/1377/193 833/1378/1 831/1376/193 -f 843/1379/48 875/1380/200 839/1381/201 -f 834/1382/202 837/1383/203 835/1384/204 -f 836/1385/205 839/1381/201 837/1383/203 -f 829/1386/28 859/1387/45 856/1388/45 -f 838/1389/206 843/1379/48 839/1381/201 -f 850/1390/207 849/1391/32 847/1392/32 -f 846/1393/31 848/1394/31 851/1395/208 -f 850/1390/207 827/1396/5 840/1397/5 -f 844/1398/209 841/1399/3 826/1400/3 -f 834/1382/202 872/1401/210 836/1385/205 -f 837/1383/203 875/1380/200 873/1402/211 -f 858/1403/44 846/1393/27 828/1404/27 -f 856/1388/45 861/1405/44 858/1403/44 -f 838/1389/206 876/1406/41 842/1407/40 -f 836/1385/205 874/1408/212 838/1389/206 -f 835/1384/204 873/1402/211 855/1409/213 -f 852/1410/5 840/1397/5 875/1380/200 -f 874/1411/212 872/1412/210 841/1399/3 -f 831/1413/5 833/1414/5 827/1396/5 -f 832/1415/1 855/1011/9 833/1378/1 -f 854/1416/214 826/1400/3 872/1412/210 -f 101/691/46 885/689/48 103/694/46 -f 887/967/40 113/103/41 115/99/41 -f 827/1396/5 855/1417/213 873/1418/211 -f 826/1400/3 832/1419/3 830/1420/3 -f 902/707/48 899/722/46 898/724/46 -f 898/724/46 895/716/5 894/702/5 -f 897/726/41 892/713/3 893/699/3 -f 901/710/40 896/728/41 897/726/41 -f 902/707/48 901/710/40 903/709/48 -f 6/8/35 7/988/5 5/986/35 -f 923/1421/215 920/977/216 921/738/216 -f 914/1422/217 922/1423/215 923/1421/215 -f 936/981/218 939/980/219 938/979/218 -f 942/1424/220 938/979/218 940/1425/220 -f 943/1426/221 935/1427/10 941/1428/221 -f 937/760/219 941/1428/221 939/980/219 -f 932/1429/4 940/1425/220 934/1430/4 -f 2/13/10 4/6/34 3/984/34 -f 4/6/34 6/8/35 5/986/35 -f 8/1/5 10/3/36 9/987/36 -f 10/3/36 12/32/22 11/989/22 -f 12/32/22 14/28/4 13/990/4 -f 14/25/4 16/27/21 15/991/21 -f 16/27/21 18/22/37 17/993/37 -f 18/22/37 20/19/3 19/994/3 -f 20/19/3 22/16/38 21/995/38 -f 22/16/38 24/11/39 23/996/39 -f 24/11/39 2/13/10 1/985/10 -f 29/20/35 41/1431/35 40/997/5 -f 36/763/21 48/1432/21 47/998/37 -f 26/764/22 37/1433/22 38/999/4 -f 33/766/38 45/1434/38 44/1000/39 -f 30/23/34 42/1435/34 41/1001/35 -f 25/9/4 38/1436/4 48/1002/21 -f 27/14/36 39/1437/36 37/1003/22 -f 34/762/3 46/1438/3 45/1004/38 -f 31/765/10 43/1439/10 42/1005/34 -f 28/17/5 40/1440/5 39/1006/36 -f 35/4/37 47/1441/37 46/1007/3 -f 32/29/39 44/1442/39 43/1008/10 -f 49/780/40 50/776/40 60/36/41 -f 59/78/42 57/73/42 58/52/41 -f 59/78/42 67/64/43 63/782/43 -f 65/63/44 61/65/44 63/782/27 -f 68/61/28 64/778/28 62/80/45 -f 72/40/46 70/50/46 69/46/47 -f 66/69/45 62/80/45 61/65/44 -f 52/42/48 50/44/40 49/57/40 -f 72/40/46 52/42/48 51/48/48 -f 854/1009/9 834/1443/9 835/1010/9 -f 101/691/46 103/694/46 104/54/47 -f 105/111/49 102/84/47 104/54/47 -f 105/111/28 109/784/28 111/97/45 -f 107/90/45 111/97/45 112/91/44 -f 108/87/44 112/91/44 110/783/27 -f 114/108/42 106/96/43 110/783/43 -f 114/108/42 116/105/42 115/99/41 -f 884/112/48 886/114/40 887/687/40 -f 122/1012/50 129/1444/98 126/1013/51 -f 124/1015/44 131/1026/61 130/1016/53 -f 123/1018/54 120/1445/60 127/1019/55 -f 126/1013/51 129/1444/98 551/1021/57 -f 128/1023/59 127/1166/55 120/1024/60 -f 124/1015/44 123/1018/54 132/1020/56 -f 126/1027/51 125/1160/92 118/1028/40 -f 130/1016/53 129/1168/98 122/1030/50 -f 118/1028/40 125/1160/92 128/1023/59 -f 68/61/49 71/60/47 69/46/47 -f 144/119/21 168/1446/21 157/1031/4 -f 134/124/22 158/1447/22 159/1032/36 -f 141/143/38 165/1448/38 166/1033/3 -f 138/134/34 162/1449/34 163/1034/10 -f 135/127/36 159/1450/36 160/1035/5 -f 142/146/3 166/1451/3 167/1036/37 -f 139/139/10 163/1452/10 164/1037/39 -f 136/130/5 160/1453/5 161/1038/35 -f 143/115/37 167/1454/37 168/1039/21 -f 133/120/4 157/1455/4 158/1040/22 -f 140/140/39 164/1456/39 165/1041/38 -f 137/133/35 161/1457/35 162/1042/34 -f 151/142/22 175/1047/22 174/1043/4 -f 148/132/37 172/1048/37 171/1044/3 -f 155/116/34 179/1049/34 178/1045/35 -f 145/121/39 169/1050/39 180/1046/10 -f 152/141/36 176/1051/36 175/1047/22 -f 149/136/21 173/1052/21 172/1048/37 -f 156/122/10 180/1046/10 179/1049/34 -f 146/126/38 170/1053/38 169/1050/39 -f 153/144/5 177/1054/5 176/1051/36 -f 150/135/4 174/1458/4 173/1052/21 -f 147/129/3 171/1044/3 170/1053/38 -f 154/117/35 178/1045/35 177/1054/5 -f 221/1055/38 222/1459/62 215/1056/62 -f 223/1058/63 224/1061/35 217/1059/35 -f 224/1061/35 225/1066/34 218/1062/34 -f 226/1063/10 220/1067/39 213/1064/39 -f 225/1066/34 226/1063/10 219/1065/10 -f 220/1067/39 221/1055/38 214/1057/38 -f 233/1068/38 245/1080/38 246/1069/62 -f 241/1071/35 240/1460/63 252/1072/63 -f 242/1074/34 241/1071/35 253/1073/35 -f 231/1076/10 244/1079/10 243/1077/39 -f 242/1074/34 254/1075/34 244/1079/10 -f 232/1078/39 243/1077/39 245/1080/38 -f 258/1081/39 271/1093/39 273/1082/38 -f 266/1084/63 275/1461/63 276/1085/35 -f 259/1083/38 273/1082/38 274/1087/62 -f 267/1086/35 276/1085/35 277/1089/34 -f 268/1090/34 277/1089/34 272/1091/10 -f 257/1092/10 272/1091/10 271/1093/39 -f 292/1094/3 293/1106/37 281/1095/37 -f 299/1097/35 300/1108/34 288/1098/34 -f 301/1100/10 290/1109/39 278/1101/39 -f 296/1103/22 297/1111/36 285/1104/36 -f 293/1106/37 294/1113/21 282/1107/21 -f 300/1108/34 301/1100/10 289/1102/10 -f 290/1109/39 291/1115/38 279/1110/38 -f 297/1111/36 298/1116/5 286/1112/5 -f 294/1113/21 295/1462/4 283/1114/4 -f 291/1115/38 292/1094/3 280/1096/3 -f 298/1116/5 299/1097/35 287/1099/35 -f 295/1117/4 296/1103/22 284/1105/22 -f 306/1119/39 313/1126/39 312/1120/10 -f 304/1122/34 311/1127/34 310/1123/35 -f 307/1125/38 314/1131/38 313/1126/39 -f 305/1121/10 312/1120/10 311/1127/34 -f 303/1124/35 310/1123/35 309/1128/63 -f 308/1130/62 315/1463/62 314/1131/38 -f 338/210/4 339/208/22 320/226/22 -f 339/208/22 340/205/36 321/228/36 -f 340/205/36 341/207/64 322/230/64 -f 335/846/65 336/216/37 317/218/37 -f 336/216/37 337/214/21 318/221/21 -f 337/214/21 338/210/4 319/223/4 -f 341/207/64 350/236/66 349/231/66 -f 368/1132/4 329/318/4 328/316/21 -f 371/1134/67 326/312/3 325/310/38 -f 343/1135/69 342/338/82 333/302/35 -f 367/1136/22 330/322/22 329/321/4 -f 370/1138/70 327/314/37 326/312/3 -f 344/1139/71 331/324/36 330/322/22 -f 369/1133/21 328/316/21 327/314/37 -f 324/309/39 430/330/39 372/334/68 -f 430/330/39 429/332/28 372/334/68 -f 426/329/10 430/330/39 324/309/39 -f 344/1139/71 343/1135/69 332/304/5 -f 335/846/65 316/220/65 351/238/72 -f 343/1140/73 406/1146/81 405/1141/74 -f 371/1143/76 372/1464/222 413/1144/77 -f 371/1143/76 412/1145/78 411/293/74 -f 344/301/80 407/300/223 406/1146/81 -f 427/327/34 426/329/10 323/308/10 -f 437/346/39 450/359/39 451/358/10 -f 438/348/38 452/360/38 450/359/39 -f 441/339/35 455/352/35 454/354/63 -f 439/350/62 453/362/62 452/360/38 -f 442/343/34 456/356/34 455/352/35 -f 436/345/10 451/358/10 456/356/34 -f 428/325/27 427/327/34 342/338/82 -f 427/327/34 334/306/34 342/338/82 -f 519/434/83 517/886/83 516/885/84 -f 518/435/84 516/885/84 522/1147/85 -f 515/1149/10 513/1465/10 523/1150/86 -f 521/1151/86 523/1150/86 517/886/83 -f 520/1148/85 522/1147/85 512/1152/4 -f 524/883/87 526/1155/88 527/1154/88 -f 526/1155/88 507/1466/89 506/1156/89 -f 551/1157/57 550/1169/99 558/1158/90 -f 125/1160/92 126/1027/51 548/1161/58 -f 125/1160/92 549/1162/93 544/1163/94 -f 132/1020/56 546/1173/97 547/1164/95 -f 128/1023/59 544/1163/94 545/1165/96 -f 127/1019/55 545/1175/96 546/1167/97 -f 129/1168/98 130/1016/53 550/1169/99 -f 131/1026/61 547/1164/95 550/1169/99 -f 555/1170/100 561/1186/111 562/1171/101 -f 546/1173/97 554/1467/104 555/1174/103 -f 545/1175/96 553/1231/108 554/1176/104 -f 549/1162/93 557/1179/107 552/1177/105 -f 549/1162/93 548/1161/58 556/1178/106 -f 544/1163/94 552/1177/105 553/1180/108 -f 547/1164/95 555/1174/103 558/1158/90 -f 548/1022/58 551/1021/57 559/1181/91 -f 558/1172/102 562/1171/101 563/1183/109 -f 555/1170/100 554/1468/104 560/1185/110 -f 561/1186/111 565/1190/115 566/1187/112 -f 562/1171/101 566/1187/112 567/1188/113 -f 561/1186/111 560/1185/110 564/1189/114 -f 565/1190/115 569/1193/118 570/1191/116 -f 566/1187/112 570/1191/116 571/1192/117 -f 564/1189/114 568/1238/147 569/1193/118 -f 557/1179/107 575/1196/121 572/1194/119 -f 557/1179/107 556/1178/106 574/1195/120 -f 552/1177/105 572/1194/119 573/1197/122 -f 575/1198/123 579/1202/126 576/1199/124 -f 574/1201/120 578/1469/146 579/1202/126 -f 573/1203/122 572/1200/125 576/1199/124 -f 579/1202/126 583/1207/130 580/1205/128 -f 579/1202/126 578/1469/146 582/1206/129 -f 576/1199/124 580/1205/128 581/1208/131 -f 583/1207/130 587/1211/134 584/1209/132 -f 583/1207/130 582/1206/129 586/1210/133 -f 580/1205/128 584/1209/132 585/1212/135 -f 587/1211/134 591/1214/137 588/1213/136 -f 586/1210/133 590/1470/224 591/1214/137 -f 584/1209/132 588/1213/136 589/1215/138 -f 591/1216/137 595/1220/141 592/1217/139 -f 591/1216/137 590/1471/224 594/1219/140 -f 588/1218/136 592/1217/139 593/1221/142 -f 595/1220/141 599/1225/144 596/1223/143 -f 594/1224/140 598/1472/148 599/1225/144 -f 592/1217/139 596/1223/143 597/1226/145 -f 563/1228/109 567/1245/113 578/1229/146 -f 573/1230/122 577/1239/127 554/1176/104 -f 597/1232/145 596/1223/143 569/1233/118 -f 570/1235/116 599/1225/144 598/1236/148 -f 596/1223/143 599/1225/144 570/1235/116 -f 577/1239/127 564/1189/114 560/1240/110 -f 589/1215/138 593/1227/142 585/1212/135 -f 593/1227/142 564/1189/114 581/1241/131 -f 564/1189/114 577/1239/127 581/1241/131 -f 582/1246/129 578/1229/146 567/1245/113 -f 567/1245/113 594/1242/140 582/1246/129 -f 594/1242/140 590/1473/224 586/1247/133 -f 574/1248/120 556/1182/106 559/1181/91 -f 645/539/28 662/552/28 663/543/149 -f 653/1249/5 668/1253/5 667/1250/7 -f 646/538/149 663/543/149 674/908/3 -f 654/1252/27 669/1257/27 668/1253/5 -f 660/1254/5 675/542/5 664/541/150 -f 655/1256/10 670/1259/10 669/1257/27 -f 656/1258/28 671/1261/28 670/1259/10 -f 657/1260/3 672/1264/3 671/1261/28 -f 649/1255/150 664/541/150 665/549/27 -f 658/1263/6 673/1267/6 672/1264/3 -f 650/1262/27 665/549/27 661/548/10 -f 644/528/10 661/550/10 662/552/28 -f 651/1266/4 666/1474/4 673/1267/6 -f 652/1251/7 667/1250/7 666/1268/4 -f 689/1270/9 695/1274/9 696/1271/1 -f 690/1273/4 694/1475/4 695/1274/9 -f 685/1275/10 697/1285/10 698/1276/29 -f 686/1277/29 698/1276/29 692/1278/2 -f 691/1280/8 693/1283/8 694/1281/4 -f 687/1279/2 692/1278/2 693/1283/8 -f 684/1284/151 699/1286/151 697/1285/10 -f 688/1272/1 696/1271/1 699/1286/151 -f 711/1287/1 703/1303/1 700/1288/151 -f 715/1289/151 700/1288/151 702/1290/10 -f 712/1292/2 707/1298/2 706/1293/8 -f 708/1294/8 706/1293/8 705/1295/4 -f 713/1297/29 701/1299/29 707/1298/2 -f 714/1291/10 702/1290/10 701/1299/29 -f 709/1300/4 705/1476/4 704/1301/9 -f 710/1302/9 704/1301/9 703/1303/1 -f 731/1304/22 743/1317/156 742/1305/152 -f 728/1307/37 740/1319/157 739/1308/153 -f 735/1310/34 747/1320/158 746/1311/154 -f 725/1313/39 737/1322/159 736/1314/155 -f 732/1316/36 744/1324/160 743/1317/156 -f 729/1318/21 741/1326/161 740/1319/157 -f 724/1315/10 736/1314/155 747/1320/158 -f 726/1321/38 738/1327/162 737/1322/159 -f 733/1323/5 745/1328/163 744/1324/160 -f 730/1325/4 742/1337/152 741/1326/161 -f 727/1309/3 739/1308/153 738/1327/162 -f 734/1312/35 746/1311/154 745/1328/163 -f 740/1319/157 741/1326/161 753/1329/164 -f 747/1320/158 736/1314/155 748/1331/166 -f 737/1322/159 738/1327/162 750/1333/168 -f 744/1324/160 745/1328/163 757/1335/170 -f 742/1337/152 754/1349/174 753/1329/164 -f 738/1327/162 739/1308/153 751/1338/172 -f 746/1311/154 758/1341/175 757/1335/170 -f 742/1305/152 743/1317/156 755/1339/173 -f 740/1319/157 752/1330/165 751/1338/172 -f 747/1320/158 759/1332/167 758/1341/175 -f 737/1322/159 749/1334/169 748/1331/166 -f 744/1324/160 756/1336/171 755/1339/173 -f 752/1330/165 753/1329/164 765/1342/176 -f 759/1332/167 748/1331/166 760/1344/178 -f 749/1334/169 750/1333/168 762/1346/180 -f 757/1335/170 769/1351/184 768/1348/182 -f 754/1349/174 766/1477/186 765/1342/176 -f 751/1338/172 763/1354/187 762/1346/180 -f 757/1335/170 758/1341/175 770/1350/183 -f 754/1340/174 755/1339/173 767/1352/185 -f 751/1338/172 752/1330/165 764/1343/177 -f 759/1332/167 771/1345/179 770/1350/183 -f 749/1334/169 761/1347/181 760/1344/178 -f 756/1336/171 768/1348/182 767/1352/185 -f 760/1357/178 761/1478/181 764/1479/177 -f 761/1478/181 762/1480/180 764/1479/177 -f 762/1480/180 763/1481/187 764/1479/177 -f 764/1479/177 765/1482/176 766/1355/186 -f 766/1355/186 767/1483/185 768/1356/182 -f 768/1356/182 769/1484/184 770/1485/183 -f 770/1485/183 771/1486/179 768/1356/182 -f 771/1486/179 760/1357/178 768/1356/182 -f 764/1479/177 766/1355/186 760/1357/178 -f 791/618/188 790/616/188 788/615/2 -f 793/625/189 792/621/189 790/616/188 -f 795/624/190 794/622/190 792/621/189 -f 797/631/191 796/629/191 794/622/190 -f 799/633/23 798/630/23 796/629/191 -f 801/617/1 800/1487/1 802/1358/192 -f 805/623/193 804/1488/193 806/1359/194 -f 806/1360/194 808/1489/195 809/635/195 -f 809/635/195 808/1489/195 810/1361/18 -f 804/1362/193 805/627/193 803/956/192 -f 818/1364/196 819/1371/196 815/1365/23 -f 813/637/24 817/1368/197 816/1366/197 -f 817/1368/197 821/1375/188 820/1369/188 -f 822/1370/198 823/1490/198 819/1371/196 -f 825/1372/199 823/1490/198 822/1370/198 -f 825/1374/199 824/1491/199 820/1369/188 -f 826/652/10 830/1377/193 831/1376/193 -f 830/1377/193 832/1415/1 833/1378/1 -f 843/1379/48 877/1492/46 875/1380/200 -f 834/1382/202 836/1385/205 837/1383/203 -f 836/1385/205 838/1389/206 839/1381/201 -f 829/1386/28 847/1392/28 859/1387/45 -f 838/1389/206 842/1407/40 843/1379/48 -f 847/1392/32 829/1386/32 850/1390/207 -f 829/1386/32 845/1493/225 850/1390/207 -f 851/1395/208 844/1398/209 828/1404/31 -f 828/1404/31 846/1393/31 851/1395/208 -f 850/1390/207 845/1493/225 827/1396/5 -f 844/1398/209 851/1395/208 841/1399/3 -f 834/1382/202 854/1494/214 872/1401/210 -f 837/1383/203 839/1381/201 875/1380/200 -f 858/1403/44 861/1405/44 846/1393/27 -f 856/1388/45 859/1387/45 861/1405/44 -f 838/1389/206 874/1408/212 876/1406/41 -f 836/1385/205 872/1401/210 874/1408/212 -f 835/1384/204 837/1383/203 873/1402/211 -f 840/1397/5 827/1396/5 873/1418/211 -f 873/1418/211 875/1380/200 840/1397/5 -f 875/1380/200 877/1492/46 852/1410/5 -f 877/1492/46 879/1495/5 852/1410/5 -f 872/1412/210 826/1400/3 841/1399/3 -f 841/1399/3 853/1496/3 874/1411/212 -f 853/1496/3 878/1497/3 876/1498/41 -f 874/1411/212 853/1496/3 876/1498/41 -f 832/1415/1 854/1009/9 855/1011/9 -f 854/1416/214 832/1419/3 826/1400/3 -f 101/691/46 884/112/48 885/689/48 -f 887/967/40 886/695/40 113/103/41 -f 827/1396/5 833/1414/5 855/1417/213 -f 902/707/48 903/709/48 899/722/46 -f 898/724/46 899/722/46 895/716/5 -f 897/726/41 896/728/41 892/713/3 -f 901/710/40 900/706/40 896/728/41 -f 902/707/48 900/706/40 901/710/40 -f 6/8/35 8/1/5 7/988/5 -f 923/1421/215 922/1423/215 920/977/216 -f 914/1422/217 915/1499/217 922/1423/215 -f 936/981/218 937/760/219 939/980/219 -f 942/1424/220 936/981/218 938/979/218 -f 943/1426/221 933/1500/10 935/1427/10 -f 937/760/219 943/1426/221 941/1428/221 -f 932/1429/4 942/1424/220 940/1425/220 +f 257/407/167 258/1224/191 256/1225/167 +f 259/400/191 260/1226/192 258/1224/191 +f 263/395/162 264/1227/193 262/1228/162 +f 265/397/193 266/1229/179 264/1227/193 +f 267/426/179 268/1230/161 266/1229/179 +f 269/419/161 270/1231/178 268/1232/161 +f 271/421/178 272/1233/194 270/1231/178 +f 273/416/194 274/1234/160 272/1233/194 +f 275/413/160 276/1235/195 274/1234/160 +f 277/410/195 278/1236/196 276/1235/195 +f 279/405/196 256/1225/167 278/1236/196 +f 284/414/192 295/1237/162 283/415/162 +f 291/1066/178 302/1238/194 290/401/194 +f 281/1067/179 293/1239/161 280/406/161 +f 288/1069/195 299/1240/196 287/425/196 +f 285/417/191 296/1241/192 284/418/192 +f 280/403/161 303/1242/178 291/404/178 +f 282/408/193 292/1243/179 281/409/179 +f 289/1065/160 300/1244/195 288/396/195 +f 286/1068/167 297/1245/191 285/420/191 +f 283/411/162 294/1246/193 282/412/193 +f 290/398/194 301/1247/160 289/399/160 +f 287/423/196 298/1248/167 286/424/167 +f 304/1083/197 315/430/198 313/446/198 +f 314/472/199 313/446/198 315/430/198 +f 314/472/199 318/1085/200 312/467/199 +f 320/457/201 318/1085/184 322/458/184 +f 323/455/185 317/474/202 321/463/202 +f 327/434/203 324/440/204 326/454/204 +f 321/463/202 316/459/201 320/457/201 +f 307/436/205 304/451/197 306/442/205 +f 327/434/203 306/442/205 325/444/203 +f 943/1249/166 924/1250/166 944/1251/166 +f 356/1013/203 359/448/204 357/478/204 +f 360/505/206 359/448/204 364/1087/206 +f 360/505/185 366/491/202 362/484/202 +f 362/484/202 367/485/201 363/481/201 +f 363/481/201 365/1086/184 361/490/184 +f 369/502/199 365/1086/200 371/499/199 +f 369/502/199 370/493/198 368/497/198 +f 973/506/205 976/1009/197 974/1011/205 +f 377/1252/207 381/1253/208 372/1254/209 +f 379/1255/201 385/1256/210 376/1257/202 +f 378/1258/211 382/1259/212 387/1260/213 +f 381/1253/208 720/1261/214 717/1262/215 +f 383/1263/216 375/1264/217 374/1265/205 +f 379/1255/201 387/1260/213 386/1266/218 +f 381/1267/208 373/1268/197 372/1269/209 +f 385/1256/210 377/1270/207 376/1257/202 +f 373/1268/197 383/1263/216 374/1265/205 +f 323/455/206 324/440/204 319/1081/206 +f 399/513/178 412/1271/161 388/512/161 +f 389/518/179 414/1272/193 390/517/193 +f 396/537/195 421/1273/160 397/1093/160 +f 393/528/191 418/1274/167 394/1091/167 +f 390/521/193 415/1275/162 391/519/162 +f 397/540/160 422/1276/194 398/539/194 +f 394/533/167 419/1277/196 395/531/196 +f 391/524/162 416/1278/192 392/522/192 +f 398/509/194 423/1279/178 399/1089/178 +f 388/514/161 413/1280/179 389/1090/179 +f 395/534/196 420/1281/195 396/1092/195 +f 392/527/192 417/1282/191 393/525/191 +f 406/536/179 429/1283/161 405/532/161 +f 403/526/194 426/1284/160 402/523/160 +f 410/510/191 433/1285/192 409/511/192 +f 400/515/196 435/1286/167 411/516/167 +f 407/535/193 430/1287/179 406/536/179 +f 404/530/178 427/1288/194 403/526/194 +f 411/516/167 434/1289/191 410/510/191 +f 401/520/195 424/1290/196 400/515/196 +f 408/538/162 431/1291/193 407/535/193 +f 405/529/161 428/1292/178 404/530/178 +f 402/523/160 425/1293/195 401/520/195 +f 409/511/192 432/1294/162 408/538/162 +f 474/1295/195 487/1296/219 475/1297/219 +f 482/1298/192 488/1299/220 489/1300/192 +f 483/1301/191 489/1300/192 490/1302/191 +f 472/1303/167 484/1304/196 473/1305/196 +f 483/1301/191 485/1306/167 472/1303/167 +f 473/1305/196 486/1307/195 474/1295/195 +f 495/1308/196 501/1309/167 494/1310/167 +f 493/1311/191 499/1312/192 492/1313/192 +f 496/1314/195 502/1315/196 495/1308/196 +f 494/1310/167 500/1316/191 493/1311/191 +f 492/1313/192 498/1317/220 491/1318/220 +f 497/1319/219 503/1320/195 496/1314/195 +f 527/595/161 509/611/179 508/608/161 +f 528/593/179 510/613/193 509/611/179 +f 529/590/193 511/615/221 510/613/193 +f 524/1118/222 506/603/194 505/605/222 +f 525/601/194 507/606/178 506/603/194 +f 526/599/178 508/608/161 507/606/178 +f 530/592/221 538/616/223 511/615/221 +f 557/1321/161 517/701/178 558/1322/178 +f 560/1323/224 514/695/195 561/719/225 +f 532/1324/226 522/687/192 521/689/162 +f 556/1325/179 518/706/161 557/1326/161 +f 559/1327/227 515/697/160 560/1323/224 +f 533/1328/228 519/707/179 556/1325/179 +f 558/1322/178 516/699/194 559/1327/227 +f 561/719/225 514/695/195 513/694/196 +f 615/714/167 513/694/196 512/693/167 +f 533/1328/228 521/689/162 520/709/193 +f 524/1118/222 540/623/229 541/625/229 +f 532/1329/230 594/1330/231 531/1331/232 +f 560/1332/233 602/1333/234 601/1334/235 +f 560/1332/233 600/678/231 559/1131/236 +f 533/686/237 595/1335/238 532/1329/230 +f 616/712/191 512/693/167 523/691/191 +f 626/731/196 640/743/167 625/730/167 +f 627/733/195 639/744/196 626/731/196 +f 630/724/192 643/739/220 629/1138/220 +f 628/735/219 641/745/195 627/733/195 +f 631/728/191 644/737/192 630/724/192 +f 625/730/167 645/741/191 631/728/191 +f 523/691/191 522/687/192 531/723/239 +f 693/1153/240 696/1336/241 694/805/240 +f 695/1337/241 687/1338/242 696/1336/241 +f 720/1339/214 727/1340/243 728/1341/244 +f 380/1342/245 717/1343/215 718/1344/246 +f 380/1342/245 713/1345/247 383/1263/216 +f 387/1260/213 716/1346/248 386/1266/218 +f 383/1263/216 714/1347/249 382/1348/212 +f 382/1259/212 715/1349/250 387/1260/213 +f 384/1350/251 719/1351/252 720/1339/214 +f 386/1266/218 719/1351/252 385/1256/210 +f 724/1352/253 731/1353/254 727/1354/255 +f 715/1355/250 724/1356/256 716/1346/248 +f 714/1357/249 723/1358/257 715/1349/250 +f 718/1344/246 721/1359/258 713/1345/247 +f 718/1344/246 725/1360/259 726/1361/260 +f 713/1345/247 722/1362/261 714/1347/249 +f 716/1346/248 727/1340/243 719/1351/252 +f 717/1262/215 728/1363/244 725/1364/259 +f 727/1354/255 732/1365/262 728/1366/244 +f 724/1352/253 729/1367/263 730/1368/264 +f 730/1368/264 735/1369/265 731/1353/254 +f 731/1353/254 736/1370/266 732/1365/262 +f 730/1368/264 733/1371/267 734/1372/268 +f 734/1372/268 739/1373/269 735/1369/265 +f 735/1369/265 740/1374/270 736/1370/266 +f 733/1371/267 738/1375/271 734/1372/268 +f 726/1361/260 741/1376/272 721/1359/258 +f 726/1361/260 743/1377/273 744/1378/274 +f 721/1359/258 742/1379/275 722/1362/261 +f 744/1380/276 745/1381/277 741/1382/278 +f 743/1383/273 748/1384/279 744/1380/276 +f 742/1385/275 745/1381/277 746/1386/280 +f 748/1384/279 749/1387/281 745/1381/277 +f 748/1384/279 751/1388/282 752/1389/283 +f 745/1381/277 750/1390/284 746/1386/280 +f 752/1389/283 753/1391/285 749/1387/281 +f 752/1389/283 755/1392/286 756/1393/287 +f 749/1387/281 754/1394/288 750/1390/284 +f 756/1393/287 757/1395/289 753/1391/285 +f 755/1392/286 760/1396/290 756/1393/287 +f 753/1391/285 758/1397/291 754/1394/288 +f 760/1398/290 761/1399/292 757/1400/289 +f 760/1398/290 763/1401/293 764/1402/294 +f 757/1400/289 762/1403/295 758/1404/291 +f 764/1402/294 765/1405/296 761/1399/292 +f 763/1406/293 768/1407/297 764/1402/294 +f 761/1399/292 766/1408/298 762/1409/295 +f 732/1410/262 747/1411/299 728/1363/244 +f 742/1412/275 723/1358/257 722/1413/261 +f 766/1414/298 738/1415/271 737/1416/300 +f 739/1417/269 767/1418/301 740/1419/270 +f 765/1405/296 739/1417/269 738/1415/271 +f 733/1371/267 762/1409/295 737/1420/300 +f 746/1421/280 729/1422/263 723/1358/257 +f 750/1423/284 754/1394/288 762/1409/295 +f 737/1420/300 762/1409/295 766/1408/298 +f 763/1424/293 740/1425/270 767/1426/301 +f 763/1424/293 736/1427/266 740/1425/270 +f 751/1428/282 763/1424/293 755/1429/286 +f 743/1430/273 728/1363/244 747/1411/299 +f 798/886/185 816/890/302 799/885/302 +f 806/1431/162 820/1432/164 805/1433/164 +f 799/885/302 827/1170/160 812/883/160 +f 807/1434/184 821/1435/162 806/1431/162 +f 813/1436/162 817/888/303 802/1437/303 +f 808/1438/167 822/1439/184 807/1434/184 +f 809/1440/185 823/1441/167 808/1438/167 +f 810/1442/160 824/1443/185 809/1440/185 +f 802/1437/303 818/896/184 803/1444/184 +f 811/1445/163 825/1446/160 810/1442/160 +f 803/1444/184 814/895/167 797/1447/167 +f 797/875/167 815/899/185 798/886/185 +f 804/1448/161 826/1449/163 811/1445/163 +f 805/1433/164 819/1450/161 804/1451/161 +f 842/1452/166 849/1453/158 841/1454/158 +f 843/1455/161 848/1456/166 842/1452/166 +f 838/1457/167 851/1458/186 839/1459/186 +f 839/1459/186 845/1460/159 840/1461/159 +f 844/1462/165 847/1463/161 843/1464/161 +f 840/1461/159 846/1465/165 844/1462/165 +f 837/1466/304 850/1467/167 838/1457/167 +f 841/1454/158 852/1468/304 837/1466/304 +f 864/1469/158 853/1470/304 868/1471/304 +f 868/1471/304 855/1472/167 867/1473/167 +f 865/1474/159 859/1475/165 861/1476/165 +f 861/1476/165 858/1477/161 862/1478/161 +f 866/1479/186 860/1480/159 865/1474/159 +f 867/1473/167 854/1481/186 866/1479/186 +f 862/1482/161 857/1483/166 863/1484/166 +f 863/1484/166 856/1485/158 864/1469/158 +f 880/940/305 877/937/159 878/941/159 +f 882/947/306 879/938/305 880/940/305 +f 884/946/307 881/943/306 882/947/306 +f 886/953/308 883/944/307 884/946/307 +f 888/955/180 885/951/308 886/953/308 +f 890/939/158 891/1486/309 892/1197/309 +f 894/945/310 895/1487/311 896/1199/311 +f 895/1488/311 898/957/312 896/1203/311 +f 898/957/312 899/1489/175 900/954/175 +f 893/1490/310 892/1201/309 891/1491/309 +f 907/1492/313 904/1493/180 903/962/180 +f 902/959/181 905/1494/314 901/1495/181 +f 906/1496/314 909/1497/305 905/1494/314 +f 911/1498/315 908/1499/313 907/1492/313 +f 914/1500/316 911/1498/315 913/1501/316 +f 914/1502/316 909/1497/305 910/1503/305 +f 915/974/167 920/1504/310 916/972/167 +f 919/1505/310 922/1506/158 920/1504/310 +f 932/1507/205 964/1508/317 928/1509/318 +f 923/1510/319 926/1511/320 924/1512/321 +f 925/1513/322 928/1509/318 926/1511/320 +f 918/1514/185 948/1515/202 945/1516/202 +f 927/1517/323 932/1507/205 928/1509/318 +f 939/1518/324 938/1519/189 936/1520/189 +f 935/1521/188 937/1522/188 940/1523/325 +f 939/1518/324 916/1524/162 929/1525/162 +f 933/1526/326 930/1527/160 915/1528/160 +f 923/1510/319 961/1529/327 925/1513/322 +f 926/1511/320 964/1508/317 962/1530/328 +f 947/1531/201 935/1521/184 917/1532/184 +f 945/1516/202 950/1533/201 947/1531/201 +f 927/1517/323 965/1534/198 931/1535/197 +f 925/1513/322 963/1536/329 927/1517/323 +f 924/1512/321 962/1530/328 944/1537/330 +f 941/1538/162 929/1525/162 964/1508/317 +f 963/1539/329 961/1540/327 930/1527/160 +f 920/1541/162 922/1542/162 916/1524/162 +f 921/1543/158 944/1251/166 922/1506/158 +f 943/1544/331 915/1528/160 961/1540/327 +f 356/1013/203 974/1011/205 358/1016/203 +f 976/1212/197 368/497/198 370/493/198 +f 916/1524/162 944/1545/330 962/1546/328 +f 915/1528/160 921/1547/160 919/1548/160 +f 991/1029/205 988/1044/203 987/1046/203 +f 987/1046/203 984/1038/162 983/1024/162 +f 986/1048/198 981/1035/160 982/1021/160 +f 990/1032/197 985/1050/198 986/1048/198 +f 991/1029/205 990/1032/197 992/1031/205 +f 261/402/192 262/1228/162 260/1226/192 +f 1012/1549/332 1009/1222/333 1010/1060/333 +f 1003/1550/334 1011/1551/332 1012/1549/332 +f 257/407/167 259/400/191 258/1224/191 +f 259/400/191 261/402/192 260/1226/192 +f 263/395/162 265/397/193 264/1227/193 +f 265/397/193 267/426/179 266/1229/179 +f 267/426/179 269/422/161 268/1230/161 +f 269/419/161 271/421/178 270/1231/178 +f 271/421/178 273/416/194 272/1233/194 +f 273/416/194 275/413/160 274/1234/160 +f 275/413/160 277/410/195 276/1235/195 +f 277/410/195 279/405/196 278/1236/196 +f 279/405/196 257/407/167 256/1225/167 +f 284/414/192 296/1552/192 295/1237/162 +f 291/1066/178 303/1553/178 302/1238/194 +f 281/1067/179 292/1554/179 293/1239/161 +f 288/1069/195 300/1555/195 299/1240/196 +f 285/417/191 297/1556/191 296/1241/192 +f 280/403/161 293/1557/161 303/1242/178 +f 282/408/193 294/1558/193 292/1243/179 +f 289/1065/160 301/1559/160 300/1244/195 +f 286/1068/167 298/1560/167 297/1245/191 +f 283/411/162 295/1561/162 294/1246/193 +f 290/398/194 302/1562/194 301/1247/160 +f 287/423/196 299/1563/196 298/1248/167 +f 304/1083/197 305/1079/197 315/430/198 +f 314/472/199 312/467/199 313/446/198 +f 314/472/199 322/458/200 318/1085/200 +f 320/457/201 316/459/201 318/1085/184 +f 323/455/185 319/1081/185 317/474/202 +f 327/434/203 325/444/203 324/440/204 +f 321/463/202 317/474/202 316/459/201 +f 307/436/205 305/438/197 304/451/197 +f 327/434/203 307/436/205 306/442/205 +f 943/1249/166 923/1564/166 924/1250/166 +f 356/1013/203 358/1016/203 359/448/204 +f 360/505/206 357/478/204 359/448/204 +f 360/505/185 364/1087/185 366/491/202 +f 362/484/202 366/491/202 367/485/201 +f 363/481/201 367/485/201 365/1086/184 +f 369/502/199 361/490/200 365/1086/200 +f 369/502/199 371/499/199 370/493/198 +f 973/506/205 975/508/197 976/1009/197 +f 377/1252/207 384/1565/251 381/1253/208 +f 379/1255/201 386/1266/218 385/1256/210 +f 378/1258/211 375/1566/217 382/1259/212 +f 381/1253/208 384/1565/251 720/1261/214 +f 383/1263/216 382/1348/212 375/1264/217 +f 379/1255/201 378/1258/211 387/1260/213 +f 381/1267/208 380/1342/245 373/1268/197 +f 385/1256/210 384/1350/251 377/1270/207 +f 373/1268/197 380/1342/245 383/1263/216 +f 323/455/206 326/454/204 324/440/204 +f 399/513/178 423/1567/178 412/1271/161 +f 389/518/179 413/1568/179 414/1272/193 +f 396/537/195 420/1569/195 421/1273/160 +f 393/528/191 417/1570/191 418/1274/167 +f 390/521/193 414/1571/193 415/1275/162 +f 397/540/160 421/1572/160 422/1276/194 +f 394/533/167 418/1573/167 419/1277/196 +f 391/524/162 415/1574/162 416/1278/192 +f 398/509/194 422/1575/194 423/1279/178 +f 388/514/161 412/1576/161 413/1280/179 +f 395/534/196 419/1577/196 420/1281/195 +f 392/527/192 416/1578/192 417/1282/191 +f 406/536/179 430/1287/179 429/1283/161 +f 403/526/194 427/1288/194 426/1284/160 +f 410/510/191 434/1289/191 433/1285/192 +f 400/515/196 424/1290/196 435/1286/167 +f 407/535/193 431/1291/193 430/1287/179 +f 404/530/178 428/1292/178 427/1288/194 +f 411/516/167 435/1286/167 434/1289/191 +f 401/520/195 425/1293/195 424/1290/196 +f 408/538/162 432/1294/162 431/1291/193 +f 405/529/161 429/1579/161 428/1292/178 +f 402/523/160 426/1284/160 425/1293/195 +f 409/511/192 433/1285/192 432/1294/162 +f 474/1295/195 486/1307/195 487/1296/219 +f 482/1298/192 481/1580/220 488/1299/220 +f 483/1301/191 482/1298/192 489/1300/192 +f 472/1303/167 485/1306/167 484/1304/196 +f 483/1301/191 490/1302/191 485/1306/167 +f 473/1305/196 484/1304/196 486/1307/195 +f 495/1308/196 502/1315/196 501/1309/167 +f 493/1311/191 500/1316/191 499/1312/192 +f 496/1314/195 503/1320/195 502/1315/196 +f 494/1310/167 501/1309/167 500/1316/191 +f 492/1313/192 499/1312/192 498/1317/220 +f 497/1319/219 504/1581/219 503/1320/195 +f 527/595/161 528/593/179 509/611/179 +f 528/593/179 529/590/193 510/613/193 +f 529/590/193 530/592/221 511/615/221 +f 524/1118/222 525/601/194 506/603/194 +f 525/601/194 526/599/178 507/606/178 +f 526/599/178 527/595/161 508/608/161 +f 530/592/221 539/621/223 538/616/223 +f 557/1321/161 518/703/161 517/701/178 +f 560/1323/224 515/697/160 514/695/195 +f 532/1324/226 531/723/239 522/687/192 +f 556/1325/179 519/707/179 518/706/161 +f 559/1327/227 516/699/194 515/697/160 +f 533/1328/228 520/709/193 519/707/179 +f 558/1322/178 517/701/178 516/699/194 +f 513/694/196 619/715/196 561/719/225 +f 619/715/196 618/717/185 561/719/225 +f 615/714/167 619/715/196 513/694/196 +f 533/1328/228 532/1324/226 521/689/162 +f 524/1118/222 505/605/222 540/623/229 +f 532/1329/230 595/1335/238 594/1330/231 +f 560/1332/233 561/1582/335 602/1333/234 +f 560/1332/233 601/1334/235 600/678/231 +f 533/686/237 596/685/336 595/1335/238 +f 616/712/191 615/714/167 512/693/167 +f 626/731/196 639/744/196 640/743/167 +f 627/733/195 641/745/195 639/744/196 +f 630/724/192 644/737/192 643/739/220 +f 628/735/219 642/747/219 641/745/195 +f 631/728/191 645/741/191 644/737/192 +f 625/730/167 640/743/167 645/741/191 +f 617/710/184 616/712/191 531/723/239 +f 616/712/191 523/691/191 531/723/239 +f 693/1153/240 695/1337/241 696/1336/241 +f 695/1337/241 688/1583/242 687/1338/242 +f 720/1339/214 719/1351/252 727/1340/243 +f 380/1342/245 381/1267/208 717/1343/215 +f 380/1342/245 718/1344/246 713/1345/247 +f 387/1260/213 715/1355/250 716/1346/248 +f 383/1263/216 713/1345/247 714/1347/249 +f 382/1259/212 714/1357/249 715/1349/250 +f 384/1350/251 385/1256/210 719/1351/252 +f 386/1266/218 716/1346/248 719/1351/252 +f 724/1352/253 730/1368/264 731/1353/254 +f 715/1355/250 723/1584/257 724/1356/256 +f 714/1357/249 722/1413/261 723/1358/257 +f 718/1344/246 726/1361/260 721/1359/258 +f 718/1344/246 717/1343/215 725/1360/259 +f 713/1345/247 721/1359/258 722/1362/261 +f 716/1346/248 724/1356/256 727/1340/243 +f 717/1262/215 720/1261/214 728/1363/244 +f 727/1354/255 731/1353/254 732/1365/262 +f 724/1352/253 723/1585/257 729/1367/263 +f 730/1368/264 734/1372/268 735/1369/265 +f 731/1353/254 735/1369/265 736/1370/266 +f 730/1368/264 729/1367/263 733/1371/267 +f 734/1372/268 738/1375/271 739/1373/269 +f 735/1369/265 739/1373/269 740/1374/270 +f 733/1371/267 737/1420/300 738/1375/271 +f 726/1361/260 744/1378/274 741/1376/272 +f 726/1361/260 725/1360/259 743/1377/273 +f 721/1359/258 741/1376/272 742/1379/275 +f 744/1380/276 748/1384/279 745/1381/277 +f 743/1383/273 747/1586/299 748/1384/279 +f 742/1385/275 741/1382/278 745/1381/277 +f 748/1384/279 752/1389/283 749/1387/281 +f 748/1384/279 747/1586/299 751/1388/282 +f 745/1381/277 749/1387/281 750/1390/284 +f 752/1389/283 756/1393/287 753/1391/285 +f 752/1389/283 751/1388/282 755/1392/286 +f 749/1387/281 753/1391/285 754/1394/288 +f 756/1393/287 760/1396/290 757/1395/289 +f 755/1392/286 759/1587/337 760/1396/290 +f 753/1391/285 757/1395/289 758/1397/291 +f 760/1398/290 764/1402/294 761/1399/292 +f 760/1398/290 759/1588/337 763/1401/293 +f 757/1400/289 761/1399/292 762/1403/295 +f 764/1402/294 768/1407/297 765/1405/296 +f 763/1406/293 767/1589/301 768/1407/297 +f 761/1399/292 765/1405/296 766/1408/298 +f 732/1410/262 736/1427/266 747/1411/299 +f 742/1412/275 746/1421/280 723/1358/257 +f 766/1414/298 765/1405/296 738/1415/271 +f 739/1417/269 768/1407/297 767/1418/301 +f 765/1405/296 768/1407/297 739/1417/269 +f 746/1421/280 733/1371/267 729/1422/263 +f 758/1397/291 762/1409/295 754/1394/288 +f 762/1409/295 733/1371/267 750/1423/284 +f 733/1371/267 746/1421/280 750/1423/284 +f 751/1428/282 747/1411/299 736/1427/266 +f 736/1427/266 763/1424/293 751/1428/282 +f 763/1424/293 759/1590/337 755/1429/286 +f 743/1430/273 725/1364/259 728/1363/244 +f 798/886/185 815/899/185 816/890/302 +f 806/1431/162 821/1435/162 820/1432/164 +f 799/885/302 816/890/302 827/1170/160 +f 807/1434/184 822/1439/184 821/1435/162 +f 813/1436/162 828/889/162 817/888/303 +f 808/1438/167 823/1441/167 822/1439/184 +f 809/1440/185 824/1443/185 823/1441/167 +f 810/1442/160 825/1446/160 824/1443/185 +f 802/1437/303 817/888/303 818/896/184 +f 811/1445/163 826/1449/163 825/1446/160 +f 803/1444/184 818/896/184 814/895/167 +f 797/875/167 814/897/167 815/899/185 +f 804/1448/161 819/1591/161 826/1449/163 +f 805/1433/164 820/1432/164 819/1450/161 +f 842/1452/166 848/1456/166 849/1453/158 +f 843/1455/161 847/1592/161 848/1456/166 +f 838/1457/167 850/1467/167 851/1458/186 +f 839/1459/186 851/1458/186 845/1460/159 +f 844/1462/165 846/1465/165 847/1463/161 +f 840/1461/159 845/1460/159 846/1465/165 +f 837/1466/304 852/1468/304 850/1467/167 +f 841/1454/158 849/1453/158 852/1468/304 +f 864/1469/158 856/1485/158 853/1470/304 +f 868/1471/304 853/1470/304 855/1472/167 +f 865/1474/159 860/1480/159 859/1475/165 +f 861/1476/165 859/1475/165 858/1477/161 +f 866/1479/186 854/1481/186 860/1480/159 +f 867/1473/167 855/1472/167 854/1481/186 +f 862/1482/161 858/1593/161 857/1483/166 +f 863/1484/166 857/1483/166 856/1485/158 +f 880/940/305 879/938/305 877/937/159 +f 882/947/306 881/943/306 879/938/305 +f 884/946/307 883/944/307 881/943/306 +f 886/953/308 885/951/308 883/944/307 +f 888/955/180 887/952/180 885/951/308 +f 890/939/158 889/1594/158 891/1486/309 +f 894/945/310 893/1595/310 895/1487/311 +f 895/1488/311 897/1596/312 898/957/312 +f 898/957/312 897/1596/312 899/1489/175 +f 893/1490/310 894/949/310 892/1201/309 +f 907/1492/313 908/1499/313 904/1493/180 +f 902/959/181 906/1496/314 905/1494/314 +f 906/1496/314 910/1503/305 909/1497/305 +f 911/1498/315 912/1597/315 908/1499/313 +f 914/1500/316 912/1597/315 911/1498/315 +f 914/1502/316 913/1598/316 909/1497/305 +f 915/974/167 919/1505/310 920/1504/310 +f 919/1505/310 921/1543/158 922/1506/158 +f 932/1507/205 966/1599/203 964/1508/317 +f 923/1510/319 925/1513/322 926/1511/320 +f 925/1513/322 927/1517/323 928/1509/318 +f 918/1514/185 936/1520/185 948/1515/202 +f 927/1517/323 931/1535/197 932/1507/205 +f 936/1520/189 918/1514/189 939/1518/324 +f 918/1514/189 934/1600/338 939/1518/324 +f 940/1523/325 933/1526/326 917/1532/188 +f 917/1532/188 935/1521/188 940/1523/325 +f 939/1518/324 934/1600/338 916/1524/162 +f 933/1526/326 940/1523/325 930/1527/160 +f 923/1510/319 943/1601/331 961/1529/327 +f 926/1511/320 928/1509/318 964/1508/317 +f 947/1531/201 950/1533/201 935/1521/184 +f 945/1516/202 948/1515/202 950/1533/201 +f 927/1517/323 963/1536/329 965/1534/198 +f 925/1513/322 961/1529/327 963/1536/329 +f 924/1512/321 926/1511/320 962/1530/328 +f 929/1525/162 916/1524/162 962/1546/328 +f 962/1546/328 964/1508/317 929/1525/162 +f 964/1508/317 966/1599/203 941/1538/162 +f 966/1599/203 968/1602/162 941/1538/162 +f 961/1540/327 915/1528/160 930/1527/160 +f 930/1527/160 942/1603/160 963/1539/329 +f 942/1603/160 967/1604/160 965/1605/198 +f 963/1539/329 942/1603/160 965/1605/198 +f 921/1543/158 943/1249/166 944/1251/166 +f 943/1544/331 921/1547/160 915/1528/160 +f 356/1013/203 973/506/205 974/1011/205 +f 976/1212/197 975/1017/197 368/497/198 +f 916/1524/162 922/1542/162 944/1545/330 +f 991/1029/205 992/1031/205 988/1044/203 +f 987/1046/203 988/1044/203 984/1038/162 +f 986/1048/198 985/1050/198 981/1035/160 +f 990/1032/197 989/1028/197 985/1050/198 +f 991/1029/205 989/1028/197 990/1032/197 +f 261/402/192 263/395/162 262/1228/162 +f 1012/1549/332 1011/1551/332 1009/1222/333 +f 1003/1550/334 1004/1606/334 1011/1551/332 diff --git a/src/main/resources/assets/hbm/models/weapons/charge_thrower.obj b/src/main/resources/assets/hbm/models/weapons/charge_thrower.obj new file mode 100644 index 000000000..6a8f4cbc3 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/charge_thrower.obj @@ -0,0 +1,6690 @@ +# Blender v2.79 (sub 0) OBJ File: 'charge_thrower.blend' +# www.blender.org +o Oomph +v 2.000000 1.000000 6.750000 +v 2.500000 0.866025 6.750000 +v 2.866025 0.500000 6.750000 +v 3.000000 0.000000 6.750000 +v 2.866025 -0.500000 6.750000 +v 2.500000 -0.866025 6.750000 +v 2.000000 -1.000000 6.750000 +v 1.500000 -0.866025 6.750000 +v 1.133975 -0.500000 6.750000 +v 1.000000 -0.000000 6.750000 +v 1.133975 0.500000 6.750000 +v 1.500000 0.866025 6.750000 +v 2.000000 1.000000 8.875000 +v 2.500000 0.866025 8.875000 +v 2.866025 0.500000 8.875000 +v 3.000000 0.000000 8.875000 +v 2.866025 -0.500000 8.875000 +v 2.500000 -0.866025 8.875000 +v 2.000000 -1.000000 8.875000 +v 1.500000 -0.866025 8.875000 +v 1.133975 -0.500000 8.875000 +v 1.000000 -0.000000 8.875000 +v 1.133975 0.500000 8.875000 +v 1.500000 0.866025 8.875000 +v 2.000000 0.875000 9.125000 +v 2.437500 0.757772 9.125000 +v 2.757772 0.437500 9.125000 +v 2.875000 -0.000000 9.125000 +v 2.757772 -0.437500 9.125000 +v 2.437500 -0.757772 9.125000 +v 2.000000 -0.875000 9.125000 +v 1.562500 -0.757772 9.125000 +v 1.242228 -0.437500 9.125000 +v 1.125000 -0.000000 9.125000 +v 1.242228 0.437500 9.125000 +v 1.562500 0.757772 9.125000 +v -2.000000 1.000000 6.750000 +v -1.500000 0.866025 6.750000 +v -1.133975 0.500000 6.750000 +v -1.000000 0.000000 6.750000 +v -1.133975 -0.500000 6.750000 +v -1.500000 -0.866025 6.750000 +v -2.000000 -1.000000 6.750000 +v -2.500000 -0.866025 6.750000 +v -2.866025 -0.500000 6.750000 +v -3.000000 -0.000000 6.750000 +v -2.866025 0.500000 6.750000 +v -2.500000 0.866025 6.750000 +v -2.000000 1.000000 8.875000 +v -1.500000 0.866025 8.875000 +v -1.133975 0.500000 8.875000 +v -1.000000 0.000000 8.875000 +v -1.133975 -0.500000 8.875000 +v -1.500000 -0.866025 8.875000 +v -2.000000 -1.000000 8.875000 +v -2.500000 -0.866025 8.875000 +v -2.866025 -0.500000 8.875000 +v -3.000000 -0.000000 8.875000 +v -2.866025 0.500000 8.875000 +v -2.500000 0.866025 8.875000 +v -2.000000 0.875000 9.125000 +v -1.562500 0.757772 9.125000 +v -1.242228 0.437500 9.125000 +v -1.125000 -0.000000 9.125000 +v -1.242228 -0.437500 9.125000 +v -1.562500 -0.757772 9.125000 +v -2.000000 -0.875000 9.125000 +v -2.437500 -0.757772 9.125000 +v -2.757772 -0.437500 9.125000 +v -2.875000 -0.000000 9.125000 +v -2.757772 0.437500 9.125000 +v -2.437500 0.757772 9.125000 +v -0.133974 -2.232051 6.750000 +v -0.500000 -2.598077 6.750000 +v -1.000000 -2.732051 6.750000 +v -1.500000 -2.598076 6.750000 +v -1.866025 -2.232051 6.750000 +v -2.000000 -1.732051 6.750000 +v -1.866025 -1.232051 6.750000 +v -1.500000 -0.866026 6.750000 +v -1.000000 -0.732051 6.750000 +v -0.500000 -0.866025 6.750000 +v -0.133975 -1.232051 6.750000 +v 0.000000 -1.732050 6.750000 +v -0.133974 -2.232051 8.875000 +v -0.500000 -2.598077 8.875000 +v -1.000000 -2.732051 8.875000 +v -1.500000 -2.598076 8.875000 +v -1.866025 -2.232051 8.875000 +v -2.000000 -1.732051 8.875000 +v -1.866025 -1.232051 8.875000 +v -1.500000 -0.866026 8.875000 +v -1.000000 -0.732051 8.875000 +v -0.500000 -0.866025 8.875000 +v -0.133975 -1.232051 8.875000 +v 0.000000 -1.732050 8.875000 +v -0.242228 -2.169551 9.125000 +v -0.562500 -2.489823 9.125000 +v -1.000000 -2.607051 9.125000 +v -1.437500 -2.489823 9.125000 +v -1.757772 -2.169551 9.125000 +v -1.875000 -1.732051 9.125000 +v -1.757772 -1.294551 9.125000 +v -1.437500 -0.974279 9.125000 +v -1.000000 -0.857051 9.125000 +v -0.562500 -0.974279 9.125000 +v -0.242228 -1.294551 9.125000 +v -0.125000 -1.732050 9.125000 +v 1.866026 1.232050 6.750000 +v 1.500000 0.866025 6.750000 +v 1.000000 0.732051 6.750000 +v 0.500000 0.866025 6.750000 +v 0.133975 1.232051 6.750000 +v 0.000000 1.732051 6.750000 +v 0.133975 2.232051 6.750000 +v 0.500000 2.598076 6.750000 +v 1.000000 2.732050 6.750000 +v 1.500000 2.598076 6.750000 +v 1.866025 2.232051 6.750000 +v 2.000000 1.732051 6.750000 +v 1.866026 1.232050 8.875000 +v 1.500000 0.866025 8.875000 +v 1.000000 0.732051 8.875000 +v 0.500000 0.866025 8.875000 +v 0.133975 1.232051 8.875000 +v 0.000000 1.732051 8.875000 +v 0.133975 2.232051 8.875000 +v 0.500000 2.598076 8.875000 +v 1.000000 2.732050 8.875000 +v 1.500000 2.598076 8.875000 +v 1.866025 2.232051 8.875000 +v 2.000000 1.732051 8.875000 +v 1.757772 1.294550 9.125000 +v 1.437500 0.974278 9.125000 +v 1.000000 0.857050 9.125000 +v 0.562500 0.974279 9.125000 +v 0.242228 1.294550 9.125000 +v 0.125000 1.732051 9.125000 +v 0.242228 2.169550 9.125000 +v 0.562500 2.489822 9.125000 +v 1.000000 2.607051 9.125000 +v 1.437500 2.489823 9.125000 +v 1.757772 2.169551 9.125000 +v 1.875000 1.732051 9.125000 +v -1.866026 1.232051 6.750000 +v -2.000000 1.732051 6.750000 +v -1.866026 2.232051 6.750000 +v -1.500000 2.598076 6.750000 +v -1.000000 2.732051 6.750000 +v -0.500000 2.598076 6.750000 +v -0.133975 2.232051 6.750000 +v -0.000000 1.732051 6.750000 +v -0.133974 1.232051 6.750000 +v -0.500000 0.866026 6.750000 +v -1.000000 0.732051 6.750000 +v -1.500000 0.866025 6.750000 +v -1.866026 1.232051 8.875000 +v -2.000000 1.732051 8.875000 +v -1.866026 2.232051 8.875000 +v -1.500000 2.598076 8.875000 +v -1.000000 2.732051 8.875000 +v -0.500000 2.598076 8.875000 +v -0.133975 2.232051 8.875000 +v -0.000000 1.732051 8.875000 +v -0.133974 1.232051 8.875000 +v -0.500000 0.866026 8.875000 +v -1.000000 0.732051 8.875000 +v -1.500000 0.866025 8.875000 +v -1.757773 1.294551 9.125000 +v -1.875000 1.732051 9.125000 +v -1.757772 2.169551 9.125000 +v -1.437500 2.489823 9.125000 +v -1.000000 2.607052 9.125000 +v -0.562500 2.489823 9.125000 +v -0.242228 2.169551 9.125000 +v -0.125000 1.732051 9.125000 +v -0.242227 1.294551 9.125000 +v -0.562500 0.974279 9.125000 +v -1.000000 0.857051 9.125000 +v -1.437500 0.974278 9.125000 +v 0.133974 -2.232051 6.750000 +v -0.000000 -1.732051 6.750000 +v 0.133974 -1.232051 6.750000 +v 0.500000 -0.866026 6.750000 +v 1.000000 -0.732051 6.750000 +v 1.500000 -0.866026 6.750000 +v 1.866025 -1.232051 6.750000 +v 2.000000 -1.732051 6.750000 +v 1.866025 -2.232050 6.750000 +v 1.500000 -2.598077 6.750000 +v 1.000000 -2.732051 6.750000 +v 0.500000 -2.598076 6.750000 +v 0.133974 -2.232051 8.875000 +v -0.000000 -1.732051 8.875000 +v 0.133974 -1.232051 8.875000 +v 0.500000 -0.866026 8.875000 +v 1.000000 -0.732051 8.875000 +v 1.500000 -0.866026 8.875000 +v 1.866025 -1.232051 8.875000 +v 2.000000 -1.732051 8.875000 +v 1.866025 -2.232050 8.875000 +v 1.500000 -2.598077 8.875000 +v 1.000000 -2.732051 8.875000 +v 0.500000 -2.598076 8.875000 +v 0.242227 -2.169551 9.125000 +v 0.125000 -1.732051 9.125000 +v 0.242227 -1.294551 9.125000 +v 0.562500 -0.974279 9.125000 +v 1.000000 -0.857051 9.125000 +v 1.437500 -0.974279 9.125000 +v 1.757772 -1.294551 9.125000 +v 1.874999 -1.732051 9.125000 +v 1.757772 -2.169551 9.125000 +v 1.437500 -2.489824 9.125000 +v 1.000000 -2.607051 9.125000 +v 0.562500 -2.489824 9.125000 +v 2.880356 0.502500 7.125000 +v 3.014999 0.000000 7.125000 +v 2.880356 -0.502500 7.125000 +v -2.880355 -0.502500 7.125000 +v -3.015000 0.000000 7.125000 +v -2.880356 0.502500 7.125000 +v -1.005000 -2.745711 7.125000 +v -1.507500 -2.611067 7.125000 +v -1.875356 -2.243211 7.125000 +v 1.004999 2.745710 7.125000 +v 1.507500 2.611066 7.125000 +v 1.875356 2.243211 7.125000 +v -1.875356 2.243211 7.125000 +v -1.507500 2.611066 7.125000 +v -1.005000 2.745711 7.125000 +v 1.875355 -2.243211 7.125000 +v 1.507500 -2.611067 7.125000 +v 1.004999 -2.745711 7.125000 +v 2.880356 0.502500 7.375000 +v 3.014999 0.000000 7.375000 +v 2.880356 -0.502500 7.375000 +v -2.880355 -0.502500 7.375000 +v -3.015000 0.000000 7.375000 +v -2.880356 0.502500 7.375000 +v -1.005000 -2.745711 7.375000 +v -1.507500 -2.611067 7.375000 +v -1.875356 -2.243211 7.375000 +v 1.004999 2.745710 7.375000 +v 1.507500 2.611066 7.375000 +v 1.875356 2.243211 7.375000 +v -1.875356 2.243211 7.375000 +v -1.507500 2.611066 7.375000 +v -1.005000 2.745711 7.375000 +v 1.875355 -2.243211 7.375000 +v 1.507500 -2.611067 7.375000 +v 1.004999 -2.745711 7.375000 +v 2.880356 0.502500 8.250000 +v 3.014999 0.000000 8.250000 +v 2.880356 -0.502500 8.250000 +v -2.880355 -0.502500 8.250000 +v -3.015000 0.000000 8.250000 +v -2.880356 0.502500 8.250000 +v -1.005000 -2.745711 8.250000 +v -1.507500 -2.611067 8.250000 +v -1.875356 -2.243211 8.250000 +v 1.004999 2.745710 8.250000 +v 1.507500 2.611066 8.250000 +v 1.875356 2.243211 8.250000 +v -1.875356 2.243211 8.250000 +v -1.507500 2.611066 8.250000 +v -1.005000 2.745711 8.250000 +v 1.875355 -2.243211 8.250000 +v 1.507500 -2.611067 8.250000 +v 1.004999 -2.745711 8.250000 +v 2.880356 0.502500 8.500000 +v 3.014999 0.000000 8.500000 +v 2.880356 -0.502500 8.500000 +v -2.880355 -0.502500 8.500000 +v -3.015000 0.000000 8.500000 +v -2.880356 0.502500 8.500000 +v -1.005000 -2.745711 8.500000 +v -1.507500 -2.611067 8.500000 +v -1.875356 -2.243211 8.500000 +v 1.004999 2.745710 8.500000 +v 1.507500 2.611066 8.500000 +v 1.875356 2.243211 8.500000 +v -1.875356 2.243211 8.500000 +v -1.507500 2.611066 8.500000 +v -1.005000 2.745711 8.500000 +v 1.875355 -2.243211 8.500000 +v 1.507500 -2.611067 8.500000 +v 1.004999 -2.745711 8.500000 +v 2.880356 0.502500 7.125000 +v 3.014999 0.000000 7.125000 +v 2.880356 -0.502500 7.125000 +v -2.880355 -0.502500 7.125000 +v -3.015000 0.000000 7.125000 +v -2.880356 0.502500 7.125000 +v -1.005000 -2.745711 7.125000 +v -1.507500 -2.611067 7.125000 +v -1.875356 -2.243211 7.125000 +v 1.004999 2.745710 7.125000 +v 1.507500 2.611066 7.125000 +v 1.875356 2.243211 7.125000 +v -1.875356 2.243211 7.125000 +v -1.507500 2.611066 7.125000 +v -1.005000 2.745711 7.125000 +v 1.875355 -2.243211 7.125000 +v 1.507500 -2.611067 7.125000 +v 1.004999 -2.745711 7.125000 +v 2.880356 0.502500 7.375000 +v 3.014999 0.000000 7.375000 +v 2.880356 -0.502500 7.375000 +v -2.880355 -0.502500 7.375000 +v -3.015000 0.000000 7.375000 +v -2.880356 0.502500 7.375000 +v -1.005000 -2.745711 7.375000 +v -1.507500 -2.611067 7.375000 +v -1.875356 -2.243211 7.375000 +v 1.004999 2.745710 7.375000 +v 1.507500 2.611066 7.375000 +v 1.875356 2.243211 7.375000 +v -1.875356 2.243211 7.375000 +v -1.507500 2.611066 7.375000 +v -1.005000 2.745711 7.375000 +v 1.875355 -2.243211 7.375000 +v 1.507500 -2.611067 7.375000 +v 1.004999 -2.745711 7.375000 +v 2.880356 0.502500 8.250000 +v 3.014999 0.000000 8.250000 +v 2.880356 -0.502500 8.250000 +v -2.880355 -0.502500 8.250000 +v -3.015000 0.000000 8.250000 +v -2.880356 0.502500 8.250000 +v -1.005000 -2.745711 8.250000 +v -1.507500 -2.611067 8.250000 +v -1.875356 -2.243211 8.250000 +v 1.004999 2.745710 8.250000 +v 1.507500 2.611066 8.250000 +v 1.875356 2.243211 8.250000 +v -1.875356 2.243211 8.250000 +v -1.507500 2.611066 8.250000 +v -1.005000 2.745711 8.250000 +v 1.875355 -2.243211 8.250000 +v 1.507500 -2.611067 8.250000 +v 1.004999 -2.745711 8.250000 +v 2.880356 0.502500 8.500000 +v 3.014999 0.000000 8.500000 +v 2.880356 -0.502500 8.500000 +v -2.880355 -0.502500 8.500000 +v -3.015000 0.000000 8.500000 +v -2.880356 0.502500 8.500000 +v -1.005000 -2.745711 8.500000 +v -1.507500 -2.611067 8.500000 +v -1.875356 -2.243211 8.500000 +v 1.004999 2.745710 8.500000 +v 1.507500 2.611066 8.500000 +v 1.875356 2.243211 8.500000 +v -1.875356 2.243211 8.500000 +v -1.507500 2.611066 8.500000 +v -1.005000 2.745711 8.500000 +v 1.875355 -2.243211 8.500000 +v 1.507500 -2.611067 8.500000 +v 1.004999 -2.745711 8.500000 +vt 0.894682 0.520833 +vt 0.848657 0.647054 +vt 0.710581 0.520833 +vt 0.500057 0.541667 +vt 0.657866 0.397407 +vt 0.657866 0.685927 +vt 0.894682 0.520833 +vt 0.848657 0.647054 +vt 0.710581 0.520833 +vt 0.500057 0.541667 +vt 0.657866 0.397407 +vt 0.657866 0.685927 +vt 0.848657 0.394612 +vt 0.894682 0.520833 +vt 0.848657 0.647054 +vt 0.500057 0.541667 +vt 0.657866 0.397407 +vt 0.657866 0.685927 +vt 0.894682 0.520833 +vt 0.848657 0.647054 +vt 0.710581 0.520833 +vt 0.500057 0.541667 +vt 0.657866 0.397407 +vt 0.657866 0.685927 +vt 0.848657 0.394612 +vt 0.894682 0.520833 +vt 0.848657 0.647054 +vt 0.500057 0.541667 +vt 0.657866 0.397407 +vt 0.657866 0.685927 +vt 0.848657 0.394612 +vt 0.894682 0.520833 +vt 0.848657 0.647054 +vt 0.552660 0.397407 +vt 0.657866 0.397407 +vt 0.657866 0.685927 +vt 0.763158 0.750000 +vt 0.710526 0.708333 +vt 0.763158 0.708333 +vt 0.710526 0.750000 +vt 0.500000 0.708333 +vt 0.710526 0.708333 +vt 0.815789 0.750000 +vt 0.763158 0.708333 +vt 0.815789 0.708333 +vt 0.500000 0.750000 +vt 0.500000 0.708333 +vt 0.763158 0.750000 +vt 0.710526 0.708333 +vt 0.815789 0.750000 +vt 0.763158 0.708333 +vt 0.815789 0.708333 +vt 0.710526 0.708333 +vt 0.500000 0.750000 +vt 0.500000 0.708333 +vt 0.815789 0.750000 +vt 0.763158 0.708333 +vt 0.815789 0.708333 +vt 0.763158 0.750000 +vt 0.710526 0.708333 +vt 0.710526 0.750000 +vt 0.500000 0.708333 +vt 0.763158 0.750000 +vt 0.710526 0.708333 +vt 0.815789 0.750000 +vt 0.763158 0.708333 +vt 0.815789 0.708333 +vt 0.500000 0.750000 +vt 0.500000 0.708333 +vt 0.815789 0.750000 +vt 0.763158 0.708333 +vt 0.815789 0.708333 +vt 0.763158 0.750000 +vt 0.763158 0.750000 +vt 0.815789 0.750000 +vt 0.815789 0.708333 +vt 0.500000 0.750000 +vt 0.500000 0.708333 +vt 0.763158 0.750000 +vt 0.710526 0.708333 +vt 0.763158 0.708333 +vt 0.710526 0.750000 +vt 0.500000 0.708333 +vt 0.710526 0.708333 +vt 0.815789 0.750000 +vt 0.763158 0.708333 +vt 0.815789 0.708333 +vt 0.500000 0.750000 +vt 0.500000 0.708333 +vt 0.763158 0.750000 +vt 0.710526 0.708333 +vt 0.815789 0.750000 +vt 0.763158 0.708333 +vt 0.815789 0.708333 +vt 0.710526 0.708333 +vt 0.500000 0.750000 +vt 0.500000 0.708333 +vt 0.815789 0.750000 +vt 0.763158 0.708333 +vt 0.815789 0.708333 +vt 0.763158 0.750000 +vt 0.710526 0.708333 +vt 0.710526 0.750000 +vt 0.500000 0.708333 +vt 0.763158 0.750000 +vt 0.710526 0.708333 +vt 0.815789 0.750000 +vt 0.763158 0.708333 +vt 0.815789 0.708333 +vt 0.500000 0.750000 +vt 0.500000 0.708333 +vt 0.815789 0.750000 +vt 0.763158 0.708333 +vt 0.815789 0.708333 +vt 0.763158 0.750000 +vt 0.763158 0.750000 +vt 0.815789 0.750000 +vt 0.815789 0.708333 +vt 0.500000 0.750000 +vt 0.500000 0.708333 +vt 0.710526 0.708333 +vt 0.763158 0.750000 +vt 0.763158 0.708333 +vt 0.500000 0.708333 +vt 0.710526 0.750000 +vt 0.710526 0.708333 +vt 0.763158 0.708333 +vt 0.815789 0.750000 +vt 0.815789 0.708333 +vt 0.500000 0.750000 +vt 0.500000 0.708333 +vt 0.710526 0.708333 +vt 0.763158 0.750000 +vt 0.763158 0.708333 +vt 0.815789 0.750000 +vt 0.815789 0.708333 +vt 0.500000 0.750000 +vt 0.710526 0.708333 +vt 0.500000 0.708333 +vt 0.763158 0.708333 +vt 0.815789 0.750000 +vt 0.815789 0.708333 +vt 0.710526 0.708333 +vt 0.763158 0.750000 +vt 0.500000 0.708333 +vt 0.710526 0.750000 +vt 0.710526 0.708333 +vt 0.763158 0.750000 +vt 0.763158 0.708333 +vt 0.815789 0.750000 +vt 0.815789 0.708333 +vt 0.500000 0.750000 +vt 0.500000 0.708333 +vt 0.763158 0.708333 +vt 0.815789 0.750000 +vt 0.815789 0.708333 +vt 0.763158 0.750000 +vt 0.763158 0.750000 +vt 0.815789 0.750000 +vt 0.815789 0.708333 +vt 0.500000 0.750000 +vt 0.500000 0.708333 +vt 0.710526 0.708333 +vt 0.763158 0.750000 +vt 0.763158 0.708333 +vt 0.500000 0.708333 +vt 0.710526 0.750000 +vt 0.710526 0.708333 +vt 0.763158 0.708333 +vt 0.815789 0.750000 +vt 0.815789 0.708333 +vt 0.500000 0.750000 +vt 0.500000 0.708333 +vt 0.710526 0.708333 +vt 0.763158 0.750000 +vt 0.763158 0.708333 +vt 0.815789 0.750000 +vt 0.815789 0.708333 +vt 0.500000 0.750000 +vt 0.710526 0.708333 +vt 0.500000 0.708333 +vt 0.763158 0.708333 +vt 0.815789 0.750000 +vt 0.815789 0.708333 +vt 0.710526 0.708333 +vt 0.763158 0.750000 +vt 0.500000 0.708333 +vt 0.710526 0.750000 +vt 0.710526 0.708333 +vt 0.763158 0.750000 +vt 0.763158 0.708333 +vt 0.815789 0.750000 +vt 0.815789 0.708333 +vt 0.500000 0.750000 +vt 0.500000 0.708333 +vt 0.763158 0.708333 +vt 0.815789 0.750000 +vt 0.815789 0.708333 +vt 0.763158 0.750000 +vt 0.763158 0.750000 +vt 0.815789 0.750000 +vt 0.815789 0.708333 +vt 0.500000 0.750000 +vt 0.500000 0.708333 +vt 0.802631 0.666581 +vt 0.756606 0.647054 +vt 0.722913 0.593707 +vt 0.722913 0.447960 +vt 0.756606 0.394612 +vt 0.802631 0.375086 +vt 0.848657 0.394612 +vt 0.882350 0.447960 +vt 0.882350 0.593707 +vt 0.605263 0.708244 +vt 0.552660 0.685927 +vt 0.514152 0.624955 +vt 0.514152 0.458378 +vt 0.552660 0.397407 +vt 0.605263 0.375090 +vt 0.696375 0.458378 +vt 0.710470 0.541667 +vt 0.696375 0.624955 +vt 0.802631 0.666581 +vt 0.756606 0.647054 +vt 0.722913 0.593707 +vt 0.722913 0.447960 +vt 0.756606 0.394612 +vt 0.802631 0.375086 +vt 0.848657 0.394612 +vt 0.882350 0.447960 +vt 0.882350 0.593707 +vt 0.605263 0.708244 +vt 0.552660 0.685927 +vt 0.514152 0.624955 +vt 0.514152 0.458378 +vt 0.552660 0.397407 +vt 0.605263 0.375090 +vt 0.696375 0.458378 +vt 0.710470 0.541667 +vt 0.696375 0.624955 +vt 0.802631 0.666581 +vt 0.756606 0.647054 +vt 0.722913 0.593707 +vt 0.710581 0.520833 +vt 0.722913 0.447960 +vt 0.756606 0.394612 +vt 0.802631 0.375086 +vt 0.882350 0.447960 +vt 0.882350 0.593707 +vt 0.605263 0.708244 +vt 0.552660 0.685927 +vt 0.514152 0.624955 +vt 0.514152 0.458378 +vt 0.552660 0.397407 +vt 0.605263 0.375090 +vt 0.696375 0.458378 +vt 0.710470 0.541667 +vt 0.696375 0.624955 +vt 0.802631 0.666581 +vt 0.756606 0.647054 +vt 0.722913 0.593707 +vt 0.722913 0.447960 +vt 0.756606 0.394612 +vt 0.802631 0.375086 +vt 0.848657 0.394612 +vt 0.882350 0.447960 +vt 0.882350 0.593707 +vt 0.605263 0.708244 +vt 0.552660 0.685927 +vt 0.514152 0.624955 +vt 0.514152 0.458378 +vt 0.552660 0.397407 +vt 0.605263 0.375090 +vt 0.696375 0.458378 +vt 0.710470 0.541667 +vt 0.696375 0.624955 +vt 0.802631 0.666581 +vt 0.756606 0.647054 +vt 0.722913 0.593707 +vt 0.710581 0.520833 +vt 0.722913 0.447960 +vt 0.756606 0.394612 +vt 0.802631 0.375086 +vt 0.882350 0.447960 +vt 0.882350 0.593707 +vt 0.605263 0.708244 +vt 0.552660 0.685927 +vt 0.514152 0.624955 +vt 0.514152 0.458378 +vt 0.552660 0.397407 +vt 0.605263 0.375090 +vt 0.696375 0.458378 +vt 0.710470 0.541667 +vt 0.696375 0.624955 +vt 0.802631 0.666581 +vt 0.756606 0.647054 +vt 0.722913 0.593707 +vt 0.710581 0.520833 +vt 0.722913 0.447960 +vt 0.756606 0.394612 +vt 0.802631 0.375086 +vt 0.882350 0.447960 +vt 0.882350 0.593707 +vt 0.605263 0.708244 +vt 0.552660 0.685927 +vt 0.514152 0.624955 +vt 0.500057 0.541667 +vt 0.514152 0.458378 +vt 0.605263 0.375090 +vt 0.696375 0.458378 +vt 0.710470 0.541667 +vt 0.696375 0.624955 +vt 0.710526 0.750000 +vt 0.500000 0.750000 +vt 0.710526 0.750000 +vt 0.710526 0.750000 +vt 0.500000 0.750000 +vt 0.710526 0.750000 +vt 0.710526 0.750000 +vt 0.500000 0.750000 +vt 0.710526 0.750000 +vt 0.710526 0.750000 +vt 0.500000 0.750000 +vt 0.710526 0.750000 +vt 0.710526 0.750000 +vt 0.500000 0.750000 +vt 0.710526 0.750000 +vt 0.710526 0.750000 +vt 0.500000 0.750000 +vt 0.710526 0.750000 +vt 0.710526 0.750000 +vt 0.500000 0.750000 +vt 0.710526 0.750000 +vt 0.710526 0.750000 +vt 0.500000 0.750000 +vt 0.710526 0.750000 +vt 0.250000 0.083333 +vt 0.026316 0.000000 +vt 0.250000 -0.000000 +vt 0.250000 0.333333 +vt 0.026316 0.250000 +vt 0.250000 0.250000 +vt 0.250000 0.750000 +vt 0.026316 0.666667 +vt 0.250000 0.666667 +vt 0.250000 1.000000 +vt 0.026316 0.916667 +vt 0.250000 0.916667 +vt 0.026316 0.166667 +vt 0.250000 0.166667 +vt 0.026316 0.583333 +vt 0.250000 0.583333 +vt 0.250000 0.500000 +vt 0.026316 0.416667 +vt 0.250000 0.416667 +vt 0.026316 0.833333 +vt 0.250000 0.833333 +vt 0.026316 0.083333 +vt 0.026316 0.500000 +vt 0.026316 0.333333 +vt 0.026316 0.750000 +vt -0.000000 0.250000 +vt 0.000000 0.166667 +vt 0.000000 0.583333 +vt -0.000000 0.500000 +vt 0.000000 0.416667 +vt 0.000000 0.916667 +vt 0.000000 0.833333 +vt -0.000000 0.083333 +vt 0.000000 0.333333 +vt -0.000000 0.750000 +vt 0.000000 0.000000 +vt 0.000000 0.666667 +vt 0.026316 1.000000 +vt 0.250000 0.083333 +vt 0.026316 0.000000 +vt 0.250000 -0.000000 +vt 0.250000 0.333333 +vt 0.026316 0.250000 +vt 0.250000 0.250000 +vt 0.250000 0.750000 +vt 0.026316 0.666667 +vt 0.250000 0.666667 +vt 0.250000 1.000000 +vt 0.026316 0.916667 +vt 0.250000 0.916667 +vt 0.026316 0.166667 +vt 0.250000 0.166667 +vt 0.026316 0.583333 +vt 0.250000 0.583333 +vt 0.250000 0.500000 +vt 0.026316 0.416667 +vt 0.250000 0.416667 +vt 0.026316 0.833333 +vt 0.250000 0.833333 +vt 0.026316 0.083333 +vt 0.026316 0.500000 +vt 0.026316 0.333333 +vt 0.026316 0.750000 +vt -0.000000 0.250000 +vt 0.000000 0.166667 +vt 0.000000 0.583333 +vt -0.000000 0.500000 +vt 0.000000 0.416667 +vt 0.000000 0.833333 +vt -0.000000 0.083333 +vt 0.000000 0.333333 +vt -0.000000 0.750000 +vt 0.000000 0.000000 +vt 0.000000 0.666667 +vt 0.026316 1.000000 +vt 0.000000 0.916667 +vt 0.250000 0.083333 +vt 0.026316 0.000000 +vt 0.250000 -0.000000 +vt 0.250000 0.333333 +vt 0.026316 0.250000 +vt 0.250000 0.250000 +vt 0.250000 0.750000 +vt 0.026316 0.666667 +vt 0.250000 0.666667 +vt 0.250000 1.000000 +vt 0.026316 0.916667 +vt 0.250000 0.916667 +vt 0.026316 0.166667 +vt 0.250000 0.166667 +vt 0.026316 0.583333 +vt 0.250000 0.583333 +vt 0.250000 0.500000 +vt 0.026316 0.416667 +vt 0.250000 0.416667 +vt 0.026316 0.833333 +vt 0.250000 0.833333 +vt 0.026316 0.083333 +vt 0.026316 0.500000 +vt 0.026316 0.333333 +vt 0.026316 0.750000 +vt 0.000000 0.166667 +vt 0.000000 0.583333 +vt -0.000000 0.500000 +vt 0.000000 0.416667 +vt 0.000000 0.916667 +vt 0.000000 0.833333 +vt -0.000000 0.083333 +vt 0.000000 0.333333 +vt -0.000000 0.750000 +vt 0.000000 0.000000 +vt -0.000000 0.250000 +vt 0.000000 0.666667 +vt 0.026316 1.000000 +vt 0.250000 0.083333 +vt 0.026316 0.000000 +vt 0.250000 -0.000000 +vt 0.250000 0.333333 +vt 0.026316 0.250000 +vt 0.250000 0.250000 +vt 0.250000 0.750000 +vt 0.026316 0.666667 +vt 0.250000 0.666667 +vt 0.250000 1.000000 +vt 0.026316 0.916667 +vt 0.250000 0.916667 +vt 0.026316 0.166667 +vt 0.250000 0.166667 +vt 0.026316 0.583333 +vt 0.250000 0.583333 +vt 0.250000 0.500000 +vt 0.026316 0.416667 +vt 0.250000 0.416667 +vt 0.026316 0.833333 +vt 0.250000 0.833333 +vt 0.026316 0.083333 +vt 0.026316 0.500000 +vt 0.026316 0.333333 +vt 0.026316 0.750000 +vt -0.000000 0.250000 +vt 0.000000 0.166667 +vt 0.000000 0.583333 +vt -0.000000 0.500000 +vt 0.000000 0.416667 +vt 0.000000 0.916667 +vt 0.000000 0.833333 +vt -0.000000 0.083333 +vt 0.000000 0.333333 +vt -0.000000 0.750000 +vt 0.000000 0.000000 +vt 0.000000 0.666667 +vt 0.026316 1.000000 +vt 0.250000 0.083333 +vt 0.026316 0.000000 +vt 0.250000 -0.000000 +vt 0.250000 0.333333 +vt 0.026316 0.250000 +vt 0.250000 0.250000 +vt 0.250000 0.750000 +vt 0.026316 0.666667 +vt 0.250000 0.666667 +vt 0.250000 1.000000 +vt 0.026316 0.916667 +vt 0.250000 0.916667 +vt 0.026316 0.166667 +vt 0.250000 0.166667 +vt 0.026316 0.583333 +vt 0.250000 0.583333 +vt 0.250000 0.500000 +vt 0.026316 0.416667 +vt 0.250000 0.416667 +vt 0.026316 0.833333 +vt 0.250000 0.833333 +vt 0.026316 0.083333 +vt 0.026316 0.500000 +vt 0.026316 0.333333 +vt 0.026316 0.750000 +vt -0.000000 0.250000 +vt 0.000000 0.166667 +vt 0.000000 0.666667 +vt 0.000000 0.583333 +vt -0.000000 0.500000 +vt 0.000000 0.416667 +vt 0.000000 0.833333 +vt -0.000000 0.083333 +vt 0.000000 0.333333 +vt -0.000000 0.750000 +vt 0.000000 0.000000 +vt 0.026316 1.000000 +vt 0.000000 0.916667 +vt 0.250000 0.083333 +vt 0.026316 0.000000 +vt 0.250000 -0.000000 +vt 0.250000 0.333333 +vt 0.026316 0.250000 +vt 0.250000 0.250000 +vt 0.250000 0.750000 +vt 0.026316 0.666667 +vt 0.250000 0.666667 +vt 0.250000 1.000000 +vt 0.026316 0.916667 +vt 0.250000 0.916667 +vt 0.026316 0.166667 +vt 0.250000 0.166667 +vt 0.026316 0.583333 +vt 0.250000 0.583333 +vt 0.250000 0.500000 +vt 0.026316 0.416667 +vt 0.250000 0.416667 +vt 0.026316 0.833333 +vt 0.250000 0.833333 +vt 0.026316 0.083333 +vt 0.026316 0.500000 +vt 0.026316 0.333333 +vt 0.026316 0.750000 +vt 0.000000 0.166667 +vt 0.000000 0.583333 +vt -0.000000 0.500000 +vt 0.000000 0.416667 +vt 0.000000 0.833333 +vt -0.000000 0.083333 +vt 0.000000 0.333333 +vt -0.000000 0.750000 +vt 0.000000 0.000000 +vt -0.000000 0.250000 +vt 0.000000 0.666667 +vt 0.026316 1.000000 +vt 0.000000 0.916667 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vn -0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.2588 0.9659 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.9659 0.2588 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.9659 -0.2588 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.2588 0.9659 0.0000 +vn -0.9659 -0.2588 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.9659 0.2588 0.0000 +vn 0.2588 -0.9659 0.0000 +vn -0.2588 -0.9659 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.7746 -0.4472 0.4472 +vn 0.8944 -0.0000 0.4472 +vn -0.7746 0.4472 0.4472 +vn -0.4472 0.7746 0.4472 +vn 0.4472 0.7746 0.4472 +vn -0.0000 0.8944 0.4472 +vn -0.7746 -0.4472 0.4472 +vn -0.4472 -0.7746 0.4472 +vn 0.4472 -0.7746 0.4472 +vn 0.7746 0.4472 0.4472 +vn -0.8944 -0.0000 0.4472 +vn -0.0000 -0.8944 0.4472 +s off +f 28/1/1 26/2/1 34/3/1 +f 4/4/2 8/5/2 12/6/2 +f 64/7/1 62/8/1 70/9/1 +f 40/10/2 44/11/2 48/12/2 +f 102/13/1 100/14/1 98/15/1 +f 76/16/2 80/17/2 84/18/2 +f 136/19/1 134/20/1 142/21/1 +f 112/22/2 116/23/2 120/24/2 +f 174/25/1 172/26/1 170/27/1 +f 148/28/2 152/29/2 156/30/2 +f 210/31/1 208/32/1 206/33/1 +f 186/34/2 188/35/2 192/36/2 +f 242/37/3 225/38/3 224/39/3 +f 240/40/4 229/41/4 222/42/4 +f 244/43/5 227/44/5 226/45/5 +f 225/38/6 238/46/6 220/47/6 +f 245/48/7 228/49/7 227/44/7 +f 235/50/8 218/51/8 217/52/8 +f 234/53/9 241/54/9 223/55/9 +f 247/56/10 230/57/10 229/58/10 +f 236/59/11 219/60/11 218/51/11 +f 237/61/12 232/62/12 219/60/12 +f 248/63/13 231/64/13 230/57/13 +f 238/65/14 221/66/14 220/67/14 +f 228/49/15 235/68/15 217/69/15 +f 250/70/16 233/71/16 232/72/16 +f 239/73/17 222/42/17 221/66/17 +f 251/74/18 234/53/18 233/71/18 +f 241/75/19 224/39/19 223/76/19 +f 231/64/20 244/77/20 226/78/20 +f 278/79/3 261/80/3 260/81/3 +f 276/82/4 265/83/4 258/84/4 +f 280/85/5 263/86/5 262/87/5 +f 261/80/6 274/88/6 256/89/6 +f 281/90/7 264/91/7 263/86/7 +f 271/92/8 254/93/8 253/94/8 +f 270/95/9 277/96/9 259/97/9 +f 283/98/10 266/99/10 265/100/10 +f 272/101/11 255/102/11 254/93/11 +f 273/103/12 268/104/12 255/102/12 +f 284/105/13 267/106/13 266/99/13 +f 274/107/14 257/108/14 256/109/14 +f 264/91/15 271/110/15 253/111/15 +f 286/112/16 269/113/16 268/114/16 +f 275/115/17 258/84/17 257/108/17 +f 287/116/18 270/95/18 269/113/18 +f 277/117/19 260/81/19 259/118/19 +f 267/106/20 280/119/20 262/120/20 +f 297/121/7 314/122/7 296/123/7 +f 301/124/12 312/125/12 294/126/12 +f 299/127/19 316/128/19 298/129/19 +f 310/130/15 297/121/15 292/131/15 +f 300/132/3 317/133/3 299/127/3 +f 290/134/14 307/135/14 289/136/14 +f 313/137/20 306/138/20 295/139/20 +f 302/140/16 319/141/16 301/142/16 +f 291/143/17 308/144/17 290/134/17 +f 304/145/4 309/146/4 291/143/4 +f 303/147/18 320/148/18 302/140/18 +f 293/149/8 310/150/8 292/151/8 +f 307/152/6 300/132/6 289/153/6 +f 305/154/10 322/155/10 304/156/10 +f 294/126/11 311/157/11 293/149/11 +f 306/138/13 323/158/13 305/154/13 +f 296/123/5 313/159/5 295/160/5 +f 316/161/9 303/147/9 298/162/9 +f 333/163/7 350/164/7 332/165/7 +f 337/166/12 348/167/12 330/168/12 +f 335/169/19 352/170/19 334/171/19 +f 346/172/15 333/163/15 328/173/15 +f 336/174/3 353/175/3 335/169/3 +f 326/176/14 343/177/14 325/178/14 +f 349/179/20 342/180/20 331/181/20 +f 338/182/16 355/183/16 337/184/16 +f 327/185/17 344/186/17 326/176/17 +f 340/187/4 345/188/4 327/185/4 +f 339/189/18 356/190/18 338/182/18 +f 329/191/8 346/192/8 328/193/8 +f 343/194/6 336/174/6 325/195/6 +f 341/196/10 358/197/10 340/198/10 +f 330/168/11 347/199/11 329/191/11 +f 342/180/13 359/200/13 341/196/13 +f 332/165/5 349/201/5 331/202/5 +f 352/203/9 339/189/9 334/204/9 +f 26/2/1 25/205/1 36/206/1 +f 36/206/1 35/207/1 34/3/1 +f 34/3/1 33/208/1 32/209/1 +f 32/209/1 31/210/1 34/3/1 +f 31/210/1 30/211/1 34/3/1 +f 30/211/1 29/212/1 28/1/1 +f 28/1/1 27/213/1 26/2/1 +f 26/2/1 36/206/1 34/3/1 +f 30/211/1 28/1/1 34/3/1 +f 12/6/2 1/214/2 2/215/2 +f 2/215/2 3/216/2 4/4/2 +f 4/4/2 5/217/2 6/218/2 +f 6/218/2 7/219/2 8/5/2 +f 8/5/2 9/220/2 10/221/2 +f 10/221/2 11/222/2 8/5/2 +f 11/222/2 12/6/2 8/5/2 +f 12/6/2 2/215/2 4/4/2 +f 4/4/2 6/218/2 8/5/2 +f 62/8/1 61/223/1 72/224/1 +f 72/224/1 71/225/1 70/9/1 +f 70/9/1 69/226/1 68/227/1 +f 68/227/1 67/228/1 70/9/1 +f 67/228/1 66/229/1 70/9/1 +f 66/229/1 65/230/1 64/7/1 +f 64/7/1 63/231/1 62/8/1 +f 62/8/1 72/224/1 70/9/1 +f 66/229/1 64/7/1 70/9/1 +f 48/12/2 37/232/2 38/233/2 +f 38/233/2 39/234/2 40/10/2 +f 40/10/2 41/235/2 42/236/2 +f 42/236/2 43/237/2 44/11/2 +f 44/11/2 45/238/2 46/239/2 +f 46/239/2 47/240/2 44/11/2 +f 47/240/2 48/12/2 44/11/2 +f 48/12/2 38/233/2 40/10/2 +f 40/10/2 42/236/2 44/11/2 +f 98/15/1 97/241/1 108/242/1 +f 108/242/1 107/243/1 98/15/1 +f 107/243/1 106/244/1 98/15/1 +f 106/244/1 105/245/1 104/246/1 +f 104/246/1 103/247/1 102/13/1 +f 102/13/1 101/248/1 100/14/1 +f 100/14/1 99/249/1 98/15/1 +f 106/244/1 104/246/1 98/15/1 +f 104/246/1 102/13/1 98/15/1 +f 84/18/2 73/250/2 74/251/2 +f 74/251/2 75/252/2 76/16/2 +f 76/16/2 77/253/2 78/254/2 +f 78/254/2 79/255/2 76/16/2 +f 79/255/2 80/17/2 76/16/2 +f 80/17/2 81/256/2 82/257/2 +f 82/257/2 83/258/2 80/17/2 +f 83/258/2 84/18/2 80/17/2 +f 84/18/2 74/251/2 76/16/2 +f 134/20/1 133/259/1 144/260/1 +f 144/260/1 143/261/1 134/20/1 +f 143/261/1 142/21/1 134/20/1 +f 142/21/1 141/262/1 140/263/1 +f 140/263/1 139/264/1 138/265/1 +f 138/265/1 137/266/1 136/19/1 +f 136/19/1 135/267/1 134/20/1 +f 142/21/1 140/263/1 138/265/1 +f 138/265/1 136/19/1 142/21/1 +f 120/24/2 109/268/2 110/269/2 +f 110/269/2 111/270/2 112/22/2 +f 112/22/2 113/271/2 114/272/2 +f 114/272/2 115/273/2 116/23/2 +f 116/23/2 117/274/2 118/275/2 +f 118/275/2 119/276/2 116/23/2 +f 119/276/2 120/24/2 116/23/2 +f 120/24/2 110/269/2 112/22/2 +f 112/22/2 114/272/2 116/23/2 +f 170/27/1 169/277/1 180/278/1 +f 180/278/1 179/279/1 178/280/1 +f 178/280/1 177/281/1 176/282/1 +f 176/282/1 175/283/1 174/25/1 +f 174/25/1 173/284/1 172/26/1 +f 172/26/1 171/285/1 170/27/1 +f 170/27/1 180/278/1 178/280/1 +f 178/280/1 176/282/1 170/27/1 +f 176/282/1 174/25/1 170/27/1 +f 156/30/2 145/286/2 146/287/2 +f 146/287/2 147/288/2 148/28/2 +f 148/28/2 149/289/2 150/290/2 +f 150/290/2 151/291/2 148/28/2 +f 151/291/2 152/29/2 148/28/2 +f 152/29/2 153/292/2 154/293/2 +f 154/293/2 155/294/2 152/29/2 +f 155/294/2 156/30/2 152/29/2 +f 156/30/2 146/287/2 148/28/2 +f 206/33/1 205/295/1 216/296/1 +f 216/296/1 215/297/1 206/33/1 +f 215/297/1 214/298/1 206/33/1 +f 214/298/1 213/299/1 212/300/1 +f 212/300/1 211/301/1 210/31/1 +f 210/31/1 209/302/1 208/32/1 +f 208/32/1 207/303/1 206/33/1 +f 214/298/1 212/300/1 206/33/1 +f 212/300/1 210/31/1 206/33/1 +f 192/36/2 181/304/2 182/305/2 +f 182/305/2 183/306/2 184/307/2 +f 184/307/2 185/308/2 186/34/2 +f 186/34/2 187/309/2 188/35/2 +f 188/35/2 189/310/2 192/36/2 +f 189/310/2 190/311/2 192/36/2 +f 190/311/2 191/312/2 192/36/2 +f 192/36/2 182/305/2 184/307/2 +f 184/307/2 186/34/2 192/36/2 +f 242/37/3 243/313/3 225/38/3 +f 240/40/4 247/314/4 229/41/4 +f 244/43/5 245/48/5 227/44/5 +f 225/38/6 243/313/6 238/46/6 +f 245/48/7 246/315/7 228/49/7 +f 235/50/8 236/59/8 218/51/8 +f 234/53/9 252/316/9 241/54/9 +f 247/56/10 248/63/10 230/57/10 +f 236/59/11 237/61/11 219/60/11 +f 237/61/12 250/317/12 232/62/12 +f 248/63/13 249/318/13 231/64/13 +f 238/65/14 239/73/14 221/66/14 +f 228/49/15 246/315/15 235/68/15 +f 250/70/16 251/74/16 233/71/16 +f 239/73/17 240/40/17 222/42/17 +f 251/74/18 252/316/18 234/53/18 +f 241/75/19 242/37/19 224/39/19 +f 231/64/20 249/318/20 244/77/20 +f 278/79/3 279/319/3 261/80/3 +f 276/82/4 283/320/4 265/83/4 +f 280/85/5 281/90/5 263/86/5 +f 261/80/6 279/319/6 274/88/6 +f 281/90/7 282/321/7 264/91/7 +f 271/92/8 272/101/8 254/93/8 +f 270/95/9 288/322/9 277/96/9 +f 283/98/10 284/105/10 266/99/10 +f 272/101/11 273/103/11 255/102/11 +f 273/103/12 286/323/12 268/104/12 +f 284/105/13 285/324/13 267/106/13 +f 274/107/14 275/115/14 257/108/14 +f 264/91/15 282/321/15 271/110/15 +f 286/112/16 287/116/16 269/113/16 +f 275/115/17 276/82/17 258/84/17 +f 287/116/18 288/322/18 270/95/18 +f 277/117/19 278/79/19 260/81/19 +f 267/106/20 285/324/20 280/119/20 +f 297/121/7 315/325/7 314/122/7 +f 301/124/12 319/326/12 312/125/12 +f 299/127/19 317/133/19 316/128/19 +f 310/130/15 315/325/15 297/121/15 +f 300/132/3 318/327/3 317/133/3 +f 290/134/14 308/144/14 307/135/14 +f 313/137/20 324/328/20 306/138/20 +f 302/140/16 320/148/16 319/141/16 +f 291/143/17 309/146/17 308/144/17 +f 304/145/4 322/329/4 309/146/4 +f 303/147/18 321/330/18 320/148/18 +f 293/149/8 311/157/8 310/150/8 +f 307/152/6 318/327/6 300/132/6 +f 305/154/10 323/158/10 322/155/10 +f 294/126/11 312/125/11 311/157/11 +f 306/138/13 324/328/13 323/158/13 +f 296/123/5 314/122/5 313/159/5 +f 316/161/9 321/330/9 303/147/9 +f 333/163/7 351/331/7 350/164/7 +f 337/166/12 355/332/12 348/167/12 +f 335/169/19 353/175/19 352/170/19 +f 346/172/15 351/331/15 333/163/15 +f 336/174/3 354/333/3 353/175/3 +f 326/176/14 344/186/14 343/177/14 +f 349/179/20 360/334/20 342/180/20 +f 338/182/16 356/190/16 355/183/16 +f 327/185/17 345/188/17 344/186/17 +f 340/187/4 358/335/4 345/188/4 +f 339/189/18 357/336/18 356/190/18 +f 329/191/8 347/199/8 346/192/8 +f 343/194/6 354/333/6 336/174/6 +f 341/196/10 359/200/10 358/197/10 +f 330/168/11 348/167/11 347/199/11 +f 342/180/13 360/334/13 359/200/13 +f 332/165/5 350/164/5 349/201/5 +f 352/203/9 357/336/9 339/189/9 +s 1 +f 6/337/21 19/338/9 7/339/9 +f 3/340/15 16/341/22 4/342/22 +f 10/343/23 23/344/4 11/345/4 +f 7/346/9 20/347/24 8/348/24 +f 4/342/22 17/349/12 5/350/12 +f 11/345/4 24/351/25 12/352/25 +f 1/353/20 14/354/26 2/355/26 +f 8/348/24 21/356/6 9/357/6 +f 5/350/12 18/358/21 6/337/21 +f 12/352/25 13/359/20 1/353/20 +f 2/355/26 15/360/15 3/340/15 +f 9/357/6 22/361/23 10/343/23 +f 17/349/27 28/362/28 29/363/27 +f 23/344/29 36/364/30 24/351/30 +f 14/354/31 25/365/32 26/366/31 +f 21/356/33 32/367/34 33/368/33 +f 18/358/35 29/363/27 30/369/35 +f 13/359/32 36/364/30 25/365/32 +f 14/354/31 27/370/36 15/360/36 +f 21/356/33 34/371/37 22/361/37 +f 18/358/35 31/372/38 19/338/38 +f 16/341/28 27/370/36 28/362/28 +f 22/361/37 35/373/29 23/344/29 +f 19/374/38 32/367/34 20/347/34 +f 42/375/21 55/376/9 43/377/9 +f 39/378/15 52/379/22 40/380/22 +f 46/381/23 59/382/4 47/383/4 +f 43/384/9 56/385/24 44/386/24 +f 40/380/22 53/387/12 41/388/12 +f 47/383/4 60/389/25 48/390/25 +f 37/391/20 50/392/26 38/393/26 +f 44/386/24 57/394/6 45/395/6 +f 41/388/12 54/396/21 42/375/21 +f 48/390/25 49/397/20 37/391/20 +f 38/393/26 51/398/15 39/378/15 +f 45/395/6 58/399/23 46/381/23 +f 53/387/27 64/400/28 65/401/27 +f 59/382/29 72/402/30 60/389/30 +f 50/392/31 61/403/32 62/404/31 +f 56/385/34 69/405/33 57/394/33 +f 53/387/27 66/406/35 54/396/35 +f 49/397/32 72/402/30 61/403/32 +f 50/392/31 63/407/36 51/398/36 +f 57/394/33 70/408/37 58/399/37 +f 54/396/35 67/409/38 55/376/38 +f 51/398/36 64/400/28 52/379/28 +f 58/399/37 71/410/29 59/382/29 +f 55/411/38 68/412/34 56/385/34 +f 78/413/23 91/414/4 79/415/4 +f 75/416/9 88/417/24 76/418/24 +f 82/419/26 95/420/15 83/421/15 +f 79/422/4 92/423/25 80/424/25 +f 76/418/24 89/425/6 77/426/6 +f 83/421/15 96/427/22 84/428/22 +f 73/429/12 86/430/21 74/431/21 +f 80/424/25 93/432/20 81/433/20 +f 77/426/6 90/434/23 78/413/23 +f 84/428/22 85/435/12 73/429/12 +f 74/431/21 87/436/9 75/416/9 +f 81/433/20 94/437/26 82/419/26 +f 88/417/34 101/438/33 89/425/33 +f 95/420/36 108/439/28 96/427/28 +f 86/430/35 97/440/27 98/441/35 +f 93/432/32 104/442/30 105/443/32 +f 90/434/37 101/438/33 102/444/37 +f 85/435/27 108/439/28 97/440/27 +f 87/436/38 98/441/35 99/445/38 +f 94/437/31 105/443/32 106/446/31 +f 90/434/37 103/447/29 91/414/29 +f 87/436/38 100/448/34 88/417/34 +f 94/437/31 107/449/36 95/420/36 +f 91/450/29 104/442/30 92/423/30 +f 114/451/23 127/452/4 115/453/4 +f 111/454/9 124/455/24 112/456/24 +f 118/457/26 131/458/15 119/459/15 +f 115/460/4 128/461/25 116/462/25 +f 112/456/24 125/463/6 113/464/6 +f 119/459/15 132/465/22 120/466/22 +f 109/467/12 122/468/21 110/469/21 +f 116/462/25 129/470/20 117/471/20 +f 113/464/6 126/472/23 114/451/23 +f 120/466/22 121/473/12 109/467/12 +f 110/469/21 123/474/9 111/454/9 +f 117/471/20 130/475/26 118/457/26 +f 125/463/33 136/476/34 137/477/33 +f 131/458/36 144/478/28 132/465/28 +f 122/468/35 133/479/27 134/480/35 +f 129/470/32 140/481/30 141/482/32 +f 125/463/33 138/483/37 126/472/37 +f 132/465/28 133/479/27 121/473/27 +f 122/468/35 135/484/38 123/474/38 +f 129/470/32 142/485/31 130/475/31 +f 127/452/29 138/483/37 139/486/29 +f 124/455/34 135/484/38 136/476/34 +f 130/475/31 143/487/36 131/458/36 +f 127/488/29 140/481/30 128/461/30 +f 150/489/26 163/490/15 151/491/15 +f 147/492/4 160/493/25 148/494/25 +f 154/495/21 167/496/9 155/497/9 +f 151/498/15 164/499/22 152/500/22 +f 148/494/25 161/501/20 149/502/20 +f 155/497/9 168/503/24 156/504/24 +f 145/505/6 158/506/23 146/507/23 +f 152/500/22 165/508/12 153/509/12 +f 149/502/20 162/510/26 150/489/26 +f 156/504/24 157/511/6 145/505/6 +f 146/507/23 159/512/4 147/492/4 +f 153/509/12 166/513/21 154/495/21 +f 161/501/32 172/514/30 173/515/32 +f 168/503/34 179/516/38 180/517/34 +f 158/506/37 169/518/33 170/519/37 +f 164/499/28 177/520/27 165/508/27 +f 161/501/32 174/521/31 162/510/31 +f 157/511/33 180/517/34 169/518/33 +f 158/506/37 171/522/29 159/512/29 +f 166/513/35 177/520/27 178/523/35 +f 163/490/36 174/521/31 175/524/36 +f 159/512/29 172/514/30 160/493/30 +f 167/496/38 178/523/35 179/516/38 +f 163/525/36 176/526/28 164/499/28 +f 186/527/26 199/528/15 187/529/15 +f 183/530/4 196/531/25 184/532/25 +f 190/533/21 203/534/9 191/535/9 +f 187/536/15 200/537/22 188/538/22 +f 184/532/25 197/539/20 185/540/20 +f 191/535/9 204/541/24 192/542/24 +f 181/543/6 194/544/23 182/545/23 +f 188/538/22 201/546/12 189/547/12 +f 185/540/20 198/548/26 186/527/26 +f 192/542/24 193/549/6 181/543/6 +f 182/545/23 195/550/4 183/530/4 +f 189/547/12 202/551/21 190/533/21 +f 196/531/30 209/552/32 197/539/32 +f 203/534/38 216/553/34 204/541/34 +f 194/544/37 205/554/33 206/555/37 +f 200/537/28 213/556/27 201/546/27 +f 197/539/32 210/557/31 198/548/31 +f 204/541/34 205/554/33 193/549/33 +f 194/544/37 207/558/29 195/550/29 +f 201/546/27 214/559/35 202/551/35 +f 198/548/31 211/560/36 199/528/36 +f 195/550/29 208/561/30 196/531/30 +f 202/551/35 215/562/38 203/534/38 +f 199/563/36 212/564/28 200/537/28 +f 6/337/21 18/358/21 19/338/9 +f 3/340/15 15/360/15 16/341/22 +f 10/343/23 22/361/23 23/344/4 +f 7/346/9 19/374/9 20/347/24 +f 4/342/22 16/341/22 17/349/12 +f 11/345/4 23/344/4 24/351/25 +f 1/353/20 13/359/20 14/354/26 +f 8/348/24 20/347/24 21/356/6 +f 5/350/12 17/349/12 18/358/21 +f 12/352/25 24/351/25 13/359/20 +f 2/355/26 14/354/26 15/360/15 +f 9/357/6 21/356/6 22/361/23 +f 17/349/27 16/341/28 28/362/28 +f 23/344/29 35/373/29 36/364/30 +f 14/354/31 13/359/32 25/365/32 +f 21/356/33 20/347/34 32/367/34 +f 18/358/35 17/349/27 29/363/27 +f 13/359/32 24/351/30 36/364/30 +f 14/354/31 26/366/31 27/370/36 +f 21/356/33 33/368/33 34/371/37 +f 18/358/35 30/369/35 31/372/38 +f 16/341/28 15/360/36 27/370/36 +f 22/361/37 34/371/37 35/373/29 +f 19/374/38 31/565/38 32/367/34 +f 42/375/21 54/396/21 55/376/9 +f 39/378/15 51/398/15 52/379/22 +f 46/381/23 58/399/23 59/382/4 +f 43/384/9 55/411/9 56/385/24 +f 40/380/22 52/379/22 53/387/12 +f 47/383/4 59/382/4 60/389/25 +f 37/391/20 49/397/20 50/392/26 +f 44/386/24 56/385/24 57/394/6 +f 41/388/12 53/387/12 54/396/21 +f 48/390/25 60/389/25 49/397/20 +f 38/393/26 50/392/26 51/398/15 +f 45/395/6 57/394/6 58/399/23 +f 53/387/27 52/379/28 64/400/28 +f 59/382/29 71/410/29 72/402/30 +f 50/392/31 49/397/32 61/403/32 +f 56/385/34 68/412/34 69/405/33 +f 53/387/27 65/401/27 66/406/35 +f 49/397/32 60/389/30 72/402/30 +f 50/392/31 62/404/31 63/407/36 +f 57/394/33 69/405/33 70/408/37 +f 54/396/35 66/406/35 67/409/38 +f 51/398/36 63/407/36 64/400/28 +f 58/399/37 70/408/37 71/410/29 +f 55/411/38 67/566/38 68/412/34 +f 78/413/23 90/434/23 91/414/4 +f 75/416/9 87/436/9 88/417/24 +f 82/419/26 94/437/26 95/420/15 +f 79/422/4 91/450/4 92/423/25 +f 76/418/24 88/417/24 89/425/6 +f 83/421/15 95/420/15 96/427/22 +f 73/429/12 85/435/12 86/430/21 +f 80/424/25 92/423/25 93/432/20 +f 77/426/6 89/425/6 90/434/23 +f 84/428/22 96/427/22 85/435/12 +f 74/431/21 86/430/21 87/436/9 +f 81/433/20 93/432/20 94/437/26 +f 88/417/34 100/448/34 101/438/33 +f 95/420/36 107/449/36 108/439/28 +f 86/430/35 85/435/27 97/440/27 +f 93/432/32 92/423/30 104/442/30 +f 90/434/37 89/425/33 101/438/33 +f 85/435/27 96/427/28 108/439/28 +f 87/436/38 86/430/35 98/441/35 +f 94/437/31 93/432/32 105/443/32 +f 90/434/37 102/444/37 103/447/29 +f 87/436/38 99/445/38 100/448/34 +f 94/437/31 106/446/31 107/449/36 +f 91/450/29 103/567/29 104/442/30 +f 114/451/23 126/472/23 127/452/4 +f 111/454/9 123/474/9 124/455/24 +f 118/457/26 130/475/26 131/458/15 +f 115/460/4 127/488/4 128/461/25 +f 112/456/24 124/455/24 125/463/6 +f 119/459/15 131/458/15 132/465/22 +f 109/467/12 121/473/12 122/468/21 +f 116/462/25 128/461/25 129/470/20 +f 113/464/6 125/463/6 126/472/23 +f 120/466/22 132/465/22 121/473/12 +f 110/469/21 122/468/21 123/474/9 +f 117/471/20 129/470/20 130/475/26 +f 125/463/33 124/455/34 136/476/34 +f 131/458/36 143/487/36 144/478/28 +f 122/468/35 121/473/27 133/479/27 +f 129/470/32 128/461/30 140/481/30 +f 125/463/33 137/477/33 138/483/37 +f 132/465/28 144/478/28 133/479/27 +f 122/468/35 134/480/35 135/484/38 +f 129/470/32 141/482/32 142/485/31 +f 127/452/29 126/472/37 138/483/37 +f 124/455/34 123/474/38 135/484/38 +f 130/475/31 142/485/31 143/487/36 +f 127/488/29 139/568/29 140/481/30 +f 150/489/26 162/510/26 163/490/15 +f 147/492/4 159/512/4 160/493/25 +f 154/495/21 166/513/21 167/496/9 +f 151/498/15 163/525/15 164/499/22 +f 148/494/25 160/493/25 161/501/20 +f 155/497/9 167/496/9 168/503/24 +f 145/505/6 157/511/6 158/506/23 +f 152/500/22 164/499/22 165/508/12 +f 149/502/20 161/501/20 162/510/26 +f 156/504/24 168/503/24 157/511/6 +f 146/507/23 158/506/23 159/512/4 +f 153/509/12 165/508/12 166/513/21 +f 161/501/32 160/493/30 172/514/30 +f 168/503/34 167/496/38 179/516/38 +f 158/506/37 157/511/33 169/518/33 +f 164/499/28 176/526/28 177/520/27 +f 161/501/32 173/515/32 174/521/31 +f 157/511/33 168/503/34 180/517/34 +f 158/506/37 170/519/37 171/522/29 +f 166/513/35 165/508/27 177/520/27 +f 163/490/36 162/510/31 174/521/31 +f 159/512/29 171/522/29 172/514/30 +f 167/496/38 166/513/35 178/523/35 +f 163/525/36 175/569/36 176/526/28 +f 186/527/26 198/548/26 199/528/15 +f 183/530/4 195/550/4 196/531/25 +f 190/533/21 202/551/21 203/534/9 +f 187/536/15 199/563/15 200/537/22 +f 184/532/25 196/531/25 197/539/20 +f 191/535/9 203/534/9 204/541/24 +f 181/543/6 193/549/6 194/544/23 +f 188/538/22 200/537/22 201/546/12 +f 185/540/20 197/539/20 198/548/26 +f 192/542/24 204/541/24 193/549/6 +f 182/545/23 194/544/23 195/550/4 +f 189/547/12 201/546/12 202/551/21 +f 196/531/30 208/561/30 209/552/32 +f 203/534/38 215/562/38 216/553/34 +f 194/544/37 193/549/33 205/554/33 +f 200/537/28 212/564/28 213/556/27 +f 197/539/32 209/552/32 210/557/31 +f 204/541/34 216/553/34 205/554/33 +f 194/544/37 206/555/37 207/558/29 +f 201/546/27 213/556/27 214/559/35 +f 198/548/31 210/557/31 211/560/36 +f 195/550/29 207/558/29 208/561/30 +f 202/551/35 214/559/35 215/562/38 +f 199/563/36 211/570/36 212/564/28 +o Mortar +v 0.250000 0.433012 5.750000 +v 0.000000 0.374500 5.750000 +v 0.433013 0.250000 5.750000 +v 0.187250 0.324327 5.750000 +v 0.500000 -0.000000 5.750000 +v 0.324327 0.187250 5.750000 +v 0.433012 -0.250000 5.750000 +v 0.374500 0.000000 5.750000 +v 0.250000 -0.433013 5.750000 +v 0.324327 -0.187250 5.750000 +v 0.000000 -0.500000 5.750000 +v 0.187250 -0.324327 5.750000 +v -0.250000 -0.433013 5.750000 +v 0.000000 -0.374500 5.750000 +v -0.433012 -0.250000 5.750000 +v -0.187250 -0.324327 5.750000 +v -0.500000 0.000000 5.750000 +v -0.324327 -0.187250 5.750000 +v -0.433012 0.250000 5.750000 +v -0.374500 0.000000 5.750000 +v -0.250000 0.433013 5.750000 +v -0.324327 0.187250 5.750000 +v 0.000000 0.500000 5.750000 +v -0.187250 0.324327 5.750000 +v 0.000000 0.374500 1.750000 +v 0.187250 0.324327 1.750000 +v 0.324327 0.187250 1.750000 +v 0.374500 0.000000 1.750000 +v 0.324327 -0.187250 1.750000 +v 0.187250 -0.324327 1.750000 +v 0.000000 -0.374500 1.750000 +v -0.187250 -0.324327 1.750000 +v -0.324327 -0.187250 1.750000 +v -0.374500 0.000000 1.750000 +v -0.324327 0.187250 1.750000 +v -0.187250 0.324327 1.750000 +v 0.250000 0.433012 6.750000 +v 0.433013 0.250000 6.750000 +v 0.500000 -0.000000 6.750000 +v 0.433012 -0.250000 6.750000 +v 0.250000 -0.433013 6.750000 +v 0.000000 -0.500000 6.750000 +v -0.250000 -0.433013 6.750000 +v -0.433012 -0.250000 6.750000 +v -0.500000 0.000000 6.750000 +v -0.433012 0.250000 6.750000 +v -0.250000 0.433013 6.750000 +v 0.000000 0.500000 6.750000 +v 0.437500 0.757772 5.687500 +v 0.000000 0.875000 5.687500 +v 0.000000 1.000000 5.687500 +v 0.000000 1.000000 6.187500 +v 0.500000 0.866025 5.687500 +v 0.500000 0.866025 6.187500 +v 0.866025 0.500000 5.687500 +v 0.866025 0.500000 6.187500 +v 1.000000 0.000000 5.687500 +v 1.000000 -0.000000 6.187500 +v 0.866025 -0.500000 5.687500 +v 0.866025 -0.500000 6.187500 +v 0.500000 -0.866025 5.687500 +v 0.500000 -0.866025 6.187500 +v 0.000000 -1.000000 5.687500 +v 0.000000 -1.000000 6.187500 +v -0.500000 -0.866025 5.687500 +v -0.500000 -0.866025 6.187500 +v -0.866025 -0.500000 5.687500 +v -0.866025 -0.500000 6.187500 +v -1.000000 -0.000000 5.687500 +v -1.000000 -0.000000 6.187500 +v -0.866025 0.500000 5.687500 +v -0.866025 0.500000 6.187500 +v -0.500000 0.866025 5.687500 +v -0.500000 0.866025 6.187500 +v 0.757772 0.437500 5.687500 +v 0.875000 -0.000000 5.687500 +v 0.757772 -0.437500 5.687500 +v 0.437500 -0.757772 5.687500 +v 0.000000 -0.875000 5.687500 +v -0.437500 -0.757772 5.687500 +v -0.757772 -0.437500 5.687500 +v -0.875000 -0.000000 5.687500 +v -0.757772 0.437500 5.687500 +v -0.437500 0.757772 5.687500 +v 0.000000 0.875000 6.187500 +v 0.437500 0.757772 6.187500 +v 0.757772 0.437500 6.187500 +v 0.875000 -0.000000 6.187500 +v 0.757772 -0.437500 6.187500 +v 0.437500 -0.757772 6.187500 +v 0.000000 -0.875000 6.187500 +v -0.437500 -0.757772 6.187500 +v -0.757772 -0.437500 6.187500 +v -0.875000 -0.000000 6.187500 +v -0.757772 0.437500 6.187500 +v -0.437500 0.757772 6.187500 +v 0.000000 1.000000 6.750000 +v 0.500000 0.866025 6.750000 +v 0.866025 0.500000 6.750000 +v 1.000000 0.000000 6.750000 +v 0.866025 -0.500000 6.750000 +v 0.500000 -0.866025 6.750000 +v 0.000000 -1.000000 6.750000 +v -0.500000 -0.866025 6.750000 +v -0.866025 -0.500000 6.750000 +v -1.000000 -0.000000 6.750000 +v -0.866025 0.500000 6.750000 +v -0.500000 0.866025 6.750000 +v 0.000000 1.000000 8.875000 +v 0.500000 0.866025 8.875000 +v 0.866025 0.500000 8.875000 +v 1.000000 0.000000 8.875000 +v 0.866025 -0.500000 8.875000 +v 0.500000 -0.866025 8.875000 +v 0.000000 -1.000000 8.875000 +v -0.500000 -0.866025 8.875000 +v -0.866025 -0.500000 8.875000 +v -1.000000 -0.000000 8.875000 +v -0.866025 0.500000 8.875000 +v -0.500000 0.866025 8.875000 +v 0.000000 0.875000 9.125000 +v 0.437500 0.757772 9.125000 +v 0.757772 0.437500 9.125000 +v 0.875000 -0.000000 9.125000 +v 0.757772 -0.437500 9.125000 +v 0.437500 -0.757772 9.125000 +v 0.000000 -0.875000 9.125000 +v -0.437500 -0.757772 9.125000 +v -0.757772 -0.437500 9.125000 +v -0.875000 -0.000000 9.125000 +v -0.757772 0.437500 9.125000 +v -0.437500 0.757772 9.125000 +v -0.751301 -0.574524 6.062500 +v 0.574524 0.751301 6.062500 +v -0.751301 -0.574524 5.812500 +v 0.574524 0.751301 5.812500 +v -0.574524 -0.751301 6.062500 +v 0.751301 0.574524 6.062500 +v -0.574524 -0.751301 5.812500 +v 0.751301 0.574524 5.812500 +v -0.574524 0.751301 6.062500 +v 0.751301 -0.574524 6.062500 +v -0.574524 0.751301 5.812500 +v 0.751301 -0.574524 5.812500 +v -0.751301 0.574524 6.062500 +v 0.574524 -0.751301 6.062500 +v -0.751301 0.574524 5.812500 +v 0.574524 -0.751301 5.812500 +vt 0.500000 0.291667 +vt 0.486842 0.333333 +vt 0.486842 0.291667 +vt 0.500000 0.166667 +vt 0.486842 0.208333 +vt 0.486842 0.166667 +vt 0.500000 0.125000 +vt 0.486842 0.125000 +vt 0.500000 0.250000 +vt 0.500000 0.281250 +vt 0.500000 0.208333 +vt 0.486842 0.250000 +vt 0.500000 0.333333 +vt 0.486842 0.375000 +vt 0.500000 0.406250 +vt 0.500000 0.375000 +vt 0.500000 0.447917 +vt 0.486842 0.416667 +vt 0.500000 0.416667 +vt 0.500000 0.489583 +vt 0.486842 0.458333 +vt 0.500000 0.458333 +vt 0.500000 0.000000 +vt 0.486842 0.041667 +vt 0.486842 0.000000 +vt 0.500000 0.041667 +vt 0.486842 0.083333 +vt 0.500000 0.083333 +vt 0.921087 0.062500 +vt 0.940807 0.008421 +vt 0.999965 0.062500 +vt 0.263158 1.000000 +vt 0.250000 0.916667 +vt 0.263158 0.916667 +vt 0.263158 0.166667 +vt 0.250000 0.083333 +vt 0.263158 0.083333 +vt 0.315789 0.416667 +vt 0.328947 0.500000 +vt 0.315789 0.500000 +vt 0.263158 0.416667 +vt 0.250000 0.500000 +vt 0.250000 0.416667 +vt 0.315789 0.166667 +vt 0.328947 0.250000 +vt 0.315789 0.250000 +vt 0.263158 0.666667 +vt 0.250000 0.583333 +vt 0.263158 0.583333 +vt 0.315789 0.000000 +vt 0.328947 0.083333 +vt 0.315789 0.083333 +vt 0.263158 0.500000 +vt 0.315789 0.916667 +vt 0.328947 0.833333 +vt 0.328947 0.916667 +vt 0.250000 0.333333 +vt 0.263158 0.333333 +vt 0.315789 0.750000 +vt 0.328947 0.666667 +vt 0.328947 0.750000 +vt 0.263158 0.250000 +vt 0.250000 0.166667 +vt 0.328947 0.333333 +vt 0.315789 0.333333 +vt 0.263158 -0.000000 +vt 0.250000 0.000000 +vt 0.328947 0.166667 +vt 0.250000 0.833333 +vt 0.263158 0.833333 +vt 0.328947 0.583333 +vt 0.315789 0.583333 +vt 0.263158 0.750000 +vt 0.250000 0.666667 +vt 0.328947 1.000000 +vt 0.315789 1.000000 +vt 0.315789 0.666667 +vt 0.315789 0.833333 +vt 0.250000 0.750000 +vt 0.250000 0.250000 +vt 0.328947 0.416667 +vt 0.894682 0.520833 +vt 0.848657 0.647054 +vt 0.710581 0.520833 +vt 0.500057 0.541667 +vt 0.552660 0.397407 +vt 0.657866 0.397407 +vt 0.381579 0.500000 +vt 0.407895 0.791667 +vt 0.381579 0.791667 +vt 0.407895 0.500000 +vt 0.434211 0.791667 +vt 0.434211 0.500000 +vt 0.460526 0.791667 +vt 0.460526 0.500000 +vt 0.486842 0.791667 +vt 0.381579 0.500000 +vt 0.407895 0.791667 +vt 0.381579 0.791667 +vt 0.407895 0.500000 +vt 0.434211 0.791667 +vt 0.434211 0.500000 +vt 0.460526 0.791667 +vt 0.460526 0.500000 +vt 0.486842 0.791667 +vt 0.500000 0.322917 +vt 0.500000 0.197917 +vt 0.500000 0.156250 +vt 0.500000 0.239583 +vt 0.500000 0.364583 +vt 0.486842 0.500000 +vt 0.500000 0.031250 +vt 0.500000 0.072917 +vt 0.500000 0.114583 +vt 0.940807 0.116579 +vt 0.926371 0.093723 +vt 0.926371 0.031278 +vt 0.960526 0.000055 +vt 0.980246 0.008421 +vt 0.994681 0.031278 +vt 0.994681 0.093723 +vt 0.980246 0.116579 +vt 0.960526 0.124945 +vt 0.250000 1.000000 +vt 0.328947 0.000000 +vt 0.802631 0.666581 +vt 0.756606 0.647054 +vt 0.722913 0.593707 +vt 0.722913 0.447960 +vt 0.756606 0.394612 +vt 0.802631 0.375086 +vt 0.848657 0.394612 +vt 0.882350 0.447960 +vt 0.882350 0.593707 +vt 0.657866 0.685927 +vt 0.605263 0.708244 +vt 0.552660 0.685927 +vt 0.514152 0.624955 +vt 0.514152 0.458378 +vt 0.605263 0.375090 +vt 0.696375 0.458378 +vt 0.710470 0.541667 +vt 0.696375 0.624955 +vt 0.486842 0.500000 +vt 0.486842 0.500000 +vt 0.500000 0.218750 +vt 0.921053 0.250000 +vt 0.500000 0.250000 +vt 0.500000 0.062500 +vt 0.921053 0.093750 +vt 0.500000 0.093750 +vt 0.921053 0.281250 +vt 0.500000 0.281250 +vt 0.921053 0.312500 +vt 0.500000 0.312500 +vt 0.921053 0.062500 +vt 0.921053 0.343750 +vt 0.500000 0.343750 +vt 0.500000 0.125000 +vt 0.921053 0.156250 +vt 0.500000 0.156250 +vt 0.921053 0.375000 +vt 0.500000 0.375000 +vt 0.921053 0.031250 +vt 0.921053 0.187500 +vt 0.500000 0.187500 +vt 0.921053 0.125000 +vt 0.921053 0.218750 +vt 0.381579 0.083333 +vt 0.381579 0.166667 +vt 0.381579 0.291667 +vt 0.381579 0.375000 +vt 0.381579 0.458333 +vt 0.381579 0.250000 +vt 0.381579 0.041667 +vt 0.381579 0.333333 +vt 0.381579 0.125000 +vt 0.381579 0.416667 +vt 0.381579 0.208333 +vt 0.381579 0.000000 +vt 0.381579 1.000000 +vt 0.381579 0.916667 +vt 0.381579 0.833333 +vt 0.381579 0.750000 +vt 0.381579 0.666667 +vt 0.381579 0.583333 +vt 0.381579 0.500000 +vt 0.381579 0.416667 +vt 0.381579 0.333333 +vt 0.381579 0.250000 +vt 0.381579 0.166667 +vt 0.381579 0.083333 +vt 0.250000 0.083333 +vt 0.026316 0.000000 +vt 0.250000 -0.000000 +vt 0.250000 0.333333 +vt 0.026316 0.250000 +vt 0.250000 0.250000 +vt 0.250000 0.750000 +vt 0.026316 0.666667 +vt 0.250000 0.666667 +vt 0.250000 1.000000 +vt 0.026316 0.916667 +vt 0.250000 0.916667 +vt 0.026316 0.166667 +vt 0.250000 0.166667 +vt 0.026316 0.583333 +vt 0.250000 0.583333 +vt 0.250000 0.500000 +vt 0.026316 0.416667 +vt 0.250000 0.416667 +vt 0.026316 0.833333 +vt 0.250000 0.833333 +vt 0.026316 0.083333 +vt 0.026316 0.500000 +vt 0.026316 0.333333 +vt 0.026316 0.750000 +vt -0.000000 0.250000 +vt 0.000000 0.166667 +vt 0.000000 0.583333 +vt -0.000000 0.500000 +vt 0.000000 0.416667 +vt 0.000000 0.916667 +vt 0.000000 0.833333 +vt -0.000000 0.083333 +vt 0.000000 0.333333 +vt -0.000000 0.750000 +vt 0.000000 0.000000 +vt 0.000000 0.666667 +vt 0.026316 1.000000 +vt 0.921053 0.000000 +vt 0.381579 0.500000 +vt 0.381579 -0.000000 +vt 0.000000 1.000000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.5000 0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.7746 -0.4472 0.4472 +vn 0.8944 -0.0000 0.4472 +vn -0.7746 0.4472 0.4472 +vn -0.4472 0.7746 0.4472 +vn 0.4472 0.7746 0.4472 +vn -0.0000 0.8944 0.4472 +vn -0.7746 -0.4472 0.4472 +vn -0.4472 -0.7746 0.4472 +vn 0.4472 -0.7746 0.4472 +vn 0.7746 0.4472 0.4472 +vn -0.8944 -0.0000 0.4472 +vn -0.0000 -0.8944 0.4472 +s off +f 384/571/39 379/572/39 381/573/39 +f 366/574/39 361/575/39 363/576/39 +f 368/577/39 363/576/39 365/578/39 +f 381/573/39 362/579/39 384/580/39 +f 364/581/39 383/582/39 361/575/39 +f 382/583/39 377/584/39 379/572/39 +f 378/585/39 377/584/39 380/586/39 +f 376/587/39 375/588/39 378/589/39 +f 374/590/39 373/591/39 376/592/39 +f 374/593/39 369/594/39 371/595/39 +f 372/596/39 367/597/39 369/594/39 +f 370/598/39 365/578/39 367/597/39 +f 388/599/39 390/600/39 394/601/39 +f 424/602/40 452/603/40 426/604/40 +f 420/605/40 450/606/40 422/607/40 +f 413/608/39 410/609/39 411/610/39 +f 414/611/40 445/612/40 446/613/40 +f 419/614/39 436/615/39 417/616/39 +f 432/617/40 456/618/40 434/619/40 +f 423/620/39 438/621/39 421/622/39 +f 412/623/40 456/618/40 445/612/40 +f 425/624/39 441/625/39 440/626/39 +f 414/611/40 447/627/40 416/628/40 +f 429/629/39 443/630/39 442/631/39 +f 418/632/40 449/633/40 420/605/40 +f 417/616/39 435/634/39 415/635/39 +f 424/636/40 450/606/40 451/637/40 +f 421/622/39 437/638/39 419/614/39 +f 426/604/40 453/639/40 428/640/40 +f 411/610/39 444/641/39 433/642/39 +f 430/643/40 455/644/40 432/617/40 +f 425/624/39 439/645/39 423/646/39 +f 431/647/39 444/641/39 443/630/39 +f 427/648/39 442/631/39 441/625/39 +f 428/640/40 454/649/40 430/643/40 +f 418/632/40 447/627/40 448/650/40 +f 415/635/39 409/651/39 413/608/39 +f 484/652/40 482/653/40 490/654/40 +f 460/655/39 462/656/39 464/657/39 +f 494/658/41 495/659/41 493/660/41 +f 496/661/39 499/662/39 495/659/39 +f 500/663/42 497/664/42 499/662/42 +f 498/665/40 493/666/40 497/664/40 +f 502/667/43 503/668/43 501/669/43 +f 504/670/39 507/671/39 503/668/39 +f 508/672/44 505/673/44 507/671/44 +f 506/674/40 501/675/40 505/673/40 +f 384/571/39 382/676/39 379/572/39 +f 366/574/39 364/677/39 361/575/39 +f 368/577/39 366/678/39 363/576/39 +f 381/573/39 383/582/39 362/579/39 +f 364/581/39 362/679/39 383/582/39 +f 382/583/39 380/680/39 377/584/39 +f 378/585/39 375/588/39 377/584/39 +f 376/587/39 373/591/39 375/588/39 +f 374/590/39 371/681/39 373/591/39 +f 374/593/39 372/682/39 369/594/39 +f 372/596/39 370/683/39 367/597/39 +f 370/598/39 368/684/39 365/578/39 +f 386/685/39 387/686/39 388/599/39 +f 388/599/39 389/687/39 390/600/39 +f 390/600/39 391/688/39 394/601/39 +f 391/688/39 392/689/39 394/601/39 +f 392/689/39 393/690/39 394/601/39 +f 394/601/39 395/691/39 386/685/39 +f 395/691/39 396/692/39 386/685/39 +f 396/692/39 385/693/39 386/685/39 +f 386/685/39 388/599/39 394/601/39 +f 424/602/40 451/694/40 452/603/40 +f 420/605/40 449/633/40 450/606/40 +f 413/608/39 409/651/39 410/609/39 +f 414/611/40 412/623/40 445/612/40 +f 419/614/39 437/638/39 436/615/39 +f 432/617/40 455/644/40 456/618/40 +f 423/620/39 439/695/39 438/621/39 +f 412/623/40 434/619/40 456/618/40 +f 425/624/39 427/648/39 441/625/39 +f 414/611/40 446/613/40 447/627/40 +f 429/629/39 431/647/39 443/630/39 +f 418/632/40 448/650/40 449/633/40 +f 417/616/39 436/615/39 435/634/39 +f 424/636/40 422/607/40 450/606/40 +f 421/622/39 438/621/39 437/638/39 +f 426/604/40 452/603/40 453/639/40 +f 411/610/39 410/609/39 444/641/39 +f 430/643/40 454/649/40 455/644/40 +f 425/624/39 440/626/39 439/645/39 +f 431/647/39 433/642/39 444/641/39 +f 427/648/39 429/629/39 442/631/39 +f 428/640/40 453/639/40 454/649/40 +f 418/632/40 416/628/40 447/627/40 +f 415/635/39 435/634/39 409/651/39 +f 482/653/40 481/696/40 492/697/40 +f 492/697/40 491/698/40 490/654/40 +f 490/654/40 489/699/40 488/700/40 +f 488/700/40 487/701/40 490/654/40 +f 487/701/40 486/702/40 490/654/40 +f 486/702/40 485/703/40 484/652/40 +f 484/652/40 483/704/40 482/653/40 +f 482/653/40 492/697/40 490/654/40 +f 486/702/40 484/652/40 490/654/40 +f 468/705/39 457/706/39 458/707/39 +f 458/707/39 459/708/39 460/655/39 +f 460/655/39 461/709/39 462/656/39 +f 462/656/39 463/710/39 464/657/39 +f 464/657/39 465/711/39 466/712/39 +f 466/712/39 467/713/39 464/657/39 +f 467/713/39 468/705/39 464/657/39 +f 468/705/39 458/707/39 464/657/39 +f 458/707/39 460/655/39 464/657/39 +f 494/658/41 496/661/41 495/659/41 +f 496/661/39 500/663/39 499/662/39 +f 500/663/42 498/665/42 497/664/42 +f 498/665/40 494/714/40 493/666/40 +f 502/667/43 504/670/43 503/668/43 +f 504/670/39 508/672/39 507/671/39 +f 508/672/44 506/674/44 505/673/44 +f 506/674/40 502/715/40 501/675/40 +s 1 +f 384/716/45 395/717/46 382/718/46 +f 370/719/47 388/720/48 368/721/48 +f 382/718/46 394/722/49 380/723/49 +f 380/723/49 393/724/50 378/725/50 +f 372/682/51 389/726/47 370/719/47 +f 378/725/50 392/727/52 376/728/52 +f 366/729/53 386/730/54 364/731/54 +f 376/728/52 391/732/55 374/733/55 +f 374/593/55 390/734/51 372/682/51 +f 364/731/54 385/735/56 362/736/56 +f 368/721/48 387/737/53 366/729/53 +f 362/736/56 396/738/45 384/716/45 +f 365/578/48 400/739/47 367/597/47 +f 361/575/54 398/740/53 363/576/53 +f 379/572/46 407/741/45 381/573/45 +f 375/588/50 405/742/49 377/584/49 +f 371/681/55 403/743/52 373/591/52 +f 381/573/45 408/744/56 383/582/56 +f 367/597/47 401/745/51 369/594/51 +f 377/584/49 406/746/46 379/572/46 +f 363/576/53 399/747/48 365/578/48 +f 373/591/52 404/748/50 375/588/50 +f 383/582/56 397/749/54 361/575/54 +f 369/594/51 402/750/55 371/595/55 +f 412/623/56 413/608/54 411/610/56 +f 414/611/54 415/635/53 413/608/54 +f 416/628/53 417/616/48 415/635/53 +f 418/632/48 419/614/47 417/616/48 +f 420/605/47 421/622/51 419/614/47 +f 422/607/51 423/620/55 421/622/51 +f 424/602/55 425/624/52 423/646/55 +f 426/604/52 427/648/50 425/624/52 +f 428/640/50 429/629/49 427/648/50 +f 430/643/49 431/647/46 429/629/49 +f 432/617/46 433/642/45 431/647/46 +f 434/619/45 411/610/56 433/642/45 +f 440/626/54 451/751/56 439/645/56 +f 441/625/53 452/752/54 440/626/54 +f 442/631/48 453/753/53 441/625/53 +f 443/630/47 454/754/48 442/631/48 +f 444/641/51 455/755/47 443/630/47 +f 410/609/55 456/756/51 444/641/51 +f 409/651/52 445/757/55 410/609/55 +f 435/634/50 446/758/52 409/651/52 +f 436/615/49 447/759/50 435/634/50 +f 437/638/46 448/760/49 436/615/49 +f 438/621/45 449/761/46 437/638/46 +f 439/695/56 450/762/45 438/621/45 +f 462/763/51 475/764/55 463/765/55 +f 459/766/53 472/767/48 460/768/48 +f 466/769/49 479/770/46 467/771/46 +f 463/772/55 476/773/52 464/774/52 +f 460/768/48 473/775/47 461/776/47 +f 467/771/46 480/777/45 468/778/45 +f 457/779/56 470/780/54 458/781/54 +f 464/774/52 477/782/50 465/783/50 +f 461/776/47 474/784/51 462/763/51 +f 468/778/45 469/785/56 457/779/56 +f 458/781/54 471/786/53 459/766/53 +f 465/783/50 478/787/49 466/769/49 +f 473/775/57 484/788/58 485/789/57 +f 479/770/59 492/790/60 480/777/60 +f 470/780/61 481/791/62 482/792/61 +f 477/782/63 488/793/64 489/794/63 +f 474/784/65 485/789/57 486/795/65 +f 469/785/62 492/790/60 481/791/62 +f 471/786/66 482/792/61 483/796/66 +f 478/787/67 489/794/63 490/797/67 +f 474/784/65 487/798/68 475/764/68 +f 472/767/58 483/796/66 484/788/58 +f 478/787/67 491/799/59 479/770/59 +f 475/800/68 488/793/64 476/773/64 +f 384/716/45 396/738/45 395/717/46 +f 370/719/47 389/726/47 388/720/48 +f 382/718/46 395/717/46 394/722/49 +f 380/723/49 394/722/49 393/724/50 +f 372/682/51 390/734/51 389/726/47 +f 378/725/50 393/724/50 392/727/52 +f 366/729/53 387/737/53 386/730/54 +f 376/728/52 392/727/52 391/732/55 +f 374/593/55 391/801/55 390/734/51 +f 364/731/54 386/730/54 385/735/56 +f 368/721/48 388/720/48 387/737/53 +f 362/736/56 385/735/56 396/738/45 +f 365/578/48 399/747/48 400/739/47 +f 361/575/54 397/749/54 398/740/53 +f 379/572/46 406/746/46 407/741/45 +f 375/588/50 404/748/50 405/742/49 +f 371/681/55 402/802/55 403/743/52 +f 381/573/45 407/741/45 408/744/56 +f 367/597/47 400/739/47 401/745/51 +f 377/584/49 405/742/49 406/746/46 +f 363/576/53 398/740/53 399/747/48 +f 373/591/52 403/743/52 404/748/50 +f 383/582/56 408/744/56 397/749/54 +f 369/594/51 401/745/51 402/750/55 +f 412/623/56 414/611/54 413/608/54 +f 414/611/54 416/628/53 415/635/53 +f 416/628/53 418/632/48 417/616/48 +f 418/632/48 420/605/47 419/614/47 +f 420/605/47 422/607/51 421/622/51 +f 422/607/51 424/636/55 423/620/55 +f 424/602/55 426/604/52 425/624/52 +f 426/604/52 428/640/50 427/648/50 +f 428/640/50 430/643/49 429/629/49 +f 430/643/49 432/617/46 431/647/46 +f 432/617/46 434/619/45 433/642/45 +f 434/619/45 412/623/56 411/610/56 +f 440/626/54 452/752/54 451/751/56 +f 441/625/53 453/753/53 452/752/54 +f 442/631/48 454/754/48 453/753/53 +f 443/630/47 455/755/47 454/754/48 +f 444/641/51 456/756/51 455/755/47 +f 410/609/55 445/757/55 456/756/51 +f 409/651/52 446/758/52 445/757/55 +f 435/634/50 447/759/50 446/758/52 +f 436/615/49 448/760/49 447/759/50 +f 437/638/46 449/761/46 448/760/49 +f 438/621/45 450/762/45 449/761/46 +f 439/695/56 451/803/56 450/762/45 +f 462/763/51 474/784/51 475/764/55 +f 459/766/53 471/786/53 472/767/48 +f 466/769/49 478/787/49 479/770/46 +f 463/772/55 475/800/55 476/773/52 +f 460/768/48 472/767/48 473/775/47 +f 467/771/46 479/770/46 480/777/45 +f 457/779/56 469/785/56 470/780/54 +f 464/774/52 476/773/52 477/782/50 +f 461/776/47 473/775/47 474/784/51 +f 468/778/45 480/777/45 469/785/56 +f 458/781/54 470/780/54 471/786/53 +f 465/783/50 477/782/50 478/787/49 +f 473/775/57 472/767/58 484/788/58 +f 479/770/59 491/799/59 492/790/60 +f 470/780/61 469/785/62 481/791/62 +f 477/782/63 476/773/64 488/793/64 +f 474/784/65 473/775/57 485/789/57 +f 469/785/62 480/777/60 492/790/60 +f 471/786/66 470/780/61 482/792/61 +f 478/787/67 477/782/63 489/794/63 +f 474/784/65 486/795/65 487/798/68 +f 472/767/58 471/786/66 483/796/66 +f 478/787/67 490/797/67 491/799/59 +f 475/800/68 487/804/68 488/793/64 +o Gun +v 0.250000 0.433012 5.750000 +v -0.000000 0.374500 5.750000 +v 0.433013 0.250000 5.750000 +v 0.187250 0.324327 5.750000 +v 0.500000 -0.000000 5.750000 +v 0.324327 0.187250 5.750000 +v 0.433013 -0.250000 5.750000 +v 0.374500 0.000000 5.750000 +v 0.250000 -0.433013 5.750000 +v 0.324326 -0.187250 5.750000 +v -0.000000 -0.500000 5.750000 +v 0.187250 -0.324327 5.750000 +v -0.250000 -0.433013 5.750000 +v 0.000000 -0.374500 5.750000 +v -0.433013 -0.250000 5.750000 +v -0.187250 -0.324327 5.750000 +v -0.500000 0.000000 5.750000 +v -0.324326 -0.187250 5.750000 +v -0.433013 0.250000 5.750000 +v -0.374500 0.000000 5.750000 +v -0.250000 0.433013 5.750000 +v -0.324327 0.187250 5.750000 +v -0.000000 0.500000 5.750000 +v -0.187250 0.324327 5.750000 +v -0.000000 0.625000 2.750000 +v -0.312500 0.541266 2.750000 +v -0.541266 0.312500 2.750000 +v -0.625000 0.000000 2.750000 +v -0.541266 -0.312500 2.750000 +v -0.312500 -0.541266 2.750000 +v -0.000000 -0.625000 2.750000 +v 0.312500 -0.541266 2.750000 +v 0.541266 -0.312500 2.750000 +v 0.625000 -0.000000 2.750000 +v 0.541266 0.312500 2.750000 +v 0.312500 0.541266 2.750000 +v -0.000000 0.625000 -2.250000 +v -0.312500 0.541266 -2.250000 +v -0.541266 0.312500 -2.250000 +v -0.625000 0.000000 -2.250000 +v -0.541266 -0.312500 -2.250000 +v -0.312500 -0.541266 -2.250000 +v -0.000000 -0.625000 -2.250000 +v 0.312500 -0.541266 -2.250000 +v 0.541266 -0.312500 -2.250000 +v 0.625000 -0.000000 -2.250000 +v 0.541266 0.312500 -2.250000 +v 0.312500 0.541266 -2.250000 +v -0.000000 0.500000 2.750000 +v -0.250000 0.433013 2.750000 +v -0.433013 0.250000 2.750000 +v -0.500000 0.000000 2.750000 +v -0.433013 -0.250000 2.750000 +v -0.250000 -0.433013 2.750000 +v -0.000000 -0.500000 2.750000 +v 0.250000 -0.433013 2.750000 +v 0.433013 -0.250000 2.750000 +v 0.500000 -0.000000 2.750000 +v 0.433013 0.250000 2.750000 +v 0.250000 0.433012 2.750000 +v 0.187250 0.324326 3.750000 +v -0.000000 0.374500 3.750000 +v 0.324327 0.187250 3.750000 +v 0.374500 -0.000000 3.750000 +v 0.324326 -0.187250 3.750000 +v 0.187250 -0.324327 3.750000 +v 0.000000 -0.374500 3.750000 +v -0.187250 -0.324327 3.750000 +v -0.324326 -0.187250 3.750000 +v -0.374500 -0.000000 3.750000 +v -0.324327 0.187249 3.750000 +v -0.187250 0.324326 3.750000 +v 0.000000 0.750000 -2.250000 +v -0.375000 0.649519 -2.250000 +v -0.649519 0.375000 -2.250000 +v -0.750000 0.000000 -2.250000 +v -0.649519 -0.375000 -2.250000 +v -0.375000 -0.649519 -2.250000 +v -0.000000 -0.750000 -2.250000 +v 0.375000 -0.649519 -2.250000 +v 0.649519 -0.375000 -2.250000 +v 0.750000 -0.000000 -2.250000 +v 0.649519 0.375000 -2.250000 +v 0.375000 0.649519 -2.250000 +v 0.000000 0.750000 -5.250000 +v -0.375000 0.649519 -5.250000 +v -0.649519 0.375000 -5.250000 +v -0.750000 0.000000 -5.250000 +v -0.649519 -0.375000 -5.250000 +v -0.375000 -0.649519 -5.250000 +v -0.000000 -0.750000 -5.250000 +v 0.375000 -0.649519 -5.250000 +v 0.649519 -0.375000 -5.250000 +v 0.750000 -0.000000 -5.250000 +v 0.649519 0.375000 -5.250000 +v 0.375000 0.649519 -5.250000 +v 0.000000 0.375000 -5.250000 +v -0.187500 0.324759 -5.250000 +v -0.324759 0.187500 -5.250000 +v -0.375000 0.000000 -5.250000 +v -0.324759 -0.187500 -5.250000 +v -0.187500 -0.324759 -5.250000 +v -0.000000 -0.375000 -5.250000 +v 0.187500 -0.324759 -5.250000 +v 0.324759 -0.187500 -5.250000 +v 0.375000 0.000000 -5.250000 +v 0.324760 0.187500 -5.250000 +v 0.187500 0.324759 -5.250000 +v 0.000000 0.375000 -6.000000 +v -0.187500 0.324759 -6.000000 +v -0.324759 0.187500 -6.000000 +v -0.375000 0.000000 -6.000000 +v -0.324759 -0.187500 -6.000000 +v -0.187500 -0.324759 -6.000000 +v -0.000000 -0.375000 -6.000000 +v 0.187500 -0.324759 -6.000000 +v 0.324759 -0.187500 -6.000000 +v 0.375000 0.000000 -6.000000 +v 0.324760 0.187500 -6.000000 +v 0.187500 0.324759 -6.000000 +v -0.062500 -0.625000 -5.250000 +v 0.062500 -0.625000 -5.250000 +v -0.062500 0.625000 -5.250000 +v 0.062500 0.625000 -5.250000 +v -0.062500 0.500000 -5.750000 +v -0.062500 -0.500000 -5.750000 +v 0.062500 -0.500000 -5.750000 +v 0.062500 0.500000 -5.750000 +v -0.625000 0.062500 -5.250000 +v -0.625000 -0.062500 -5.250000 +v 0.625000 0.062500 -5.250000 +v 0.625000 -0.062500 -5.250000 +v 0.500000 0.062500 -5.750000 +v -0.500000 0.062500 -5.750000 +v -0.500000 -0.062500 -5.750000 +v 0.500000 -0.062500 -5.750000 +v -0.486136 -0.397748 -5.250000 +v -0.397748 -0.486136 -5.250000 +v 0.397748 0.486136 -5.250000 +v 0.486136 0.397748 -5.250000 +v 0.309359 0.397748 -5.750000 +v -0.397748 -0.309359 -5.750000 +v -0.309359 -0.397748 -5.750000 +v 0.397748 0.309359 -5.750000 +v -0.397748 0.486136 -5.250000 +v -0.486136 0.397748 -5.250000 +v 0.486136 -0.397748 -5.250000 +v 0.397748 -0.486136 -5.250000 +v 0.397748 -0.309359 -5.750000 +v -0.309359 0.397748 -5.750000 +v -0.397748 0.309359 -5.750000 +v 0.309359 -0.397748 -5.750000 +v 0.000000 0.250000 -6.000000 +v -0.125000 0.216506 -6.000000 +v -0.216506 0.125000 -6.000000 +v -0.250000 0.000000 -6.000000 +v -0.216506 -0.125000 -6.000000 +v -0.125000 -0.216506 -6.000000 +v -0.000000 -0.250000 -6.000000 +v 0.125000 -0.216506 -6.000000 +v 0.216506 -0.125000 -6.000000 +v 0.250000 0.000000 -6.000000 +v 0.216506 0.125000 -6.000000 +v 0.125000 0.216506 -6.000000 +v 0.000000 0.250000 -7.500000 +v -0.125000 0.216506 -7.500000 +v -0.216506 0.125000 -7.500000 +v -0.250000 0.000000 -7.500000 +v -0.216506 -0.125000 -7.500000 +v -0.125000 -0.216506 -7.500000 +v -0.000000 -0.250000 -7.500000 +v 0.125000 -0.216506 -7.500000 +v 0.216506 -0.125000 -7.500000 +v 0.250000 0.000000 -7.500000 +v 0.216506 0.125000 -7.500000 +v 0.125000 0.216506 -7.500000 +v -0.500000 -0.750000 -7.500000 +v 0.500000 -0.750000 -7.500000 +v -0.500000 0.250000 -7.500000 +v 0.500000 0.250000 -7.500000 +v -0.500000 0.250000 -7.750000 +v -0.500000 -0.750000 -7.750000 +v 0.500000 -0.750000 -7.750000 +v 0.500000 0.250000 -7.750000 +v 0.500000 0.750000 -7.750000 +v -0.500000 0.750000 -7.750000 +v 0.500000 0.750000 -8.000000 +v -0.500000 0.750000 -8.000000 +v -0.500000 -1.500000 -7.750000 +v 0.500000 -1.500000 -7.750000 +v -0.500000 -1.500000 -8.000000 +v 0.500000 -1.500000 -8.000000 +v -0.250000 -1.000000 -3.125000 +v 0.250000 -1.000000 -3.125000 +v -0.250000 -1.000000 -4.750000 +v 0.250000 -1.000000 -4.750000 +v -0.250000 -0.625000 -4.750000 +v -0.250000 -0.625000 -2.750000 +v 0.250000 -0.625000 -2.750000 +v 0.250000 -0.625000 -4.750000 +v -0.062500 -1.000000 -3.437500 +v 0.062500 -1.000000 -3.437500 +v 0.062500 -1.250000 -3.437500 +v -0.062500 -1.250000 -3.437500 +v -0.062500 -1.500000 -3.687500 +v 0.062500 -1.500000 -3.687500 +v 0.062500 -1.500000 -4.187500 +v -0.062500 -1.500000 -4.187500 +v -0.187500 -1.000000 -4.312500 +v -0.062500 -1.000000 -4.187500 +v 0.062500 -1.000000 -4.187500 +v 0.187500 -1.000000 -4.312500 +v -0.062500 -1.000000 -4.687500 +v -0.187500 -1.000000 -4.562500 +v 0.187500 -1.000000 -4.562500 +v 0.062500 -1.000000 -4.687500 +v -0.187500 -2.000000 -4.562500 +v -0.062500 -2.000000 -4.687500 +v -0.062500 -2.000000 -4.187500 +v -0.187500 -2.000000 -4.312500 +v 0.187500 -2.000000 -4.312500 +v 0.062500 -2.000000 -4.187500 +v 0.062500 -2.000000 -4.687500 +v 0.187500 -2.000000 -4.562500 +v -0.062500 -1.437500 -3.687500 +v 0.062500 -1.437500 -3.687500 +v 0.062500 -1.437500 -4.187500 +v -0.062500 -1.437500 -4.187500 +v -0.062500 -1.000000 -3.500000 +v 0.062500 -1.000000 -3.500000 +v 0.062500 -1.250000 -3.500000 +v -0.062500 -1.250000 -3.500000 +v -0.062500 -1.000000 -4.000000 +v 0.062500 -1.000000 -4.000000 +v -0.062500 -1.000000 -4.125000 +v 0.062500 -1.000000 -4.125000 +v -0.062500 -1.187500 -4.062500 +v -0.062500 -1.187500 -4.000000 +v 0.062500 -1.187500 -4.000000 +v 0.062500 -1.187500 -4.062500 +v -0.062500 -1.375060 -3.937500 +v 0.062500 -1.375060 -3.937500 +v -0.000000 -1.125000 -1.437500 +v 0.044194 -1.125000 -1.419194 +v -0.000000 -2.125000 -1.500000 +v -0.000000 -1.125000 -1.500000 +v 0.088388 -2.125000 -1.463388 +v 0.088388 -1.125000 -1.463388 +v 0.125000 -2.125000 -1.375000 +v 0.125000 -1.125000 -1.375000 +v 0.088388 -2.125000 -1.286612 +v 0.088388 -1.125000 -1.286612 +v -0.000000 -2.125000 -1.250000 +v -0.000000 -1.125000 -1.250000 +v -0.088388 -2.125000 -1.286612 +v -0.088388 -1.125000 -1.286612 +v -0.125000 -2.125000 -1.375000 +v -0.125000 -1.125000 -1.375000 +v -0.088388 -2.125000 -1.463388 +v -0.088388 -1.125000 -1.463388 +v 0.062500 -1.125000 -1.375000 +v 0.044194 -1.125000 -1.330806 +v -0.000000 -1.125000 -1.312500 +v -0.044194 -1.125000 -1.330806 +v -0.062500 -1.125000 -1.375000 +v -0.044194 -1.125000 -1.419194 +v -0.000000 -0.562500 -1.437500 +v -0.044194 -0.562500 -1.419194 +v -0.062500 -0.562500 -1.375000 +v -0.044194 -0.562500 -1.330806 +v -0.000000 -0.562500 -1.312500 +v 0.044194 -0.562500 -1.330806 +v 0.062500 -0.562500 -1.375000 +v 0.044194 -0.562500 -1.419194 +v -0.500000 0.500000 0.000000 +v 0.500000 0.500000 0.000000 +v -0.500000 0.500000 -1.500000 +v 0.500000 0.500000 -1.500000 +v -0.500000 0.875000 -1.500000 +v -0.500000 0.875000 0.000000 +v 0.500000 0.875000 0.000000 +v 0.500000 0.875000 -1.500000 +v 0.250000 1.125000 -1.500000 +v 0.250000 1.125000 0.000000 +v 0.338388 1.088388 -1.500000 +v 0.338388 1.088388 0.000000 +v 0.375000 1.000000 -1.500000 +v 0.375000 1.000000 0.000000 +v 0.338388 0.911612 -1.500000 +v 0.338388 0.911612 0.000000 +v 0.250000 0.875000 -1.500000 +v 0.250000 0.875000 0.000000 +v 0.161612 0.911612 -1.500000 +v 0.161612 0.911612 0.000000 +v 0.125000 1.000000 -1.500000 +v 0.125000 1.000000 0.000000 +v 0.161612 1.088388 -1.500000 +v 0.161612 1.088388 0.000000 +v 0.250000 1.051777 0.176777 +v 0.338388 1.025888 0.150888 +v 0.375000 0.963388 0.088388 +v 0.338388 0.900888 0.025888 +v 0.161612 0.900888 0.025888 +v 0.125000 0.963388 0.088388 +v 0.161612 1.025888 0.150888 +v 0.250000 0.875000 0.250000 +v 0.338388 0.875000 0.213388 +v 0.375000 0.875000 0.125000 +v 0.338388 0.875000 0.036612 +v 0.161612 0.875000 0.036612 +v 0.125000 0.875000 0.125000 +v 0.161612 0.875000 0.213388 +v 0.250000 0.500000 0.000000 +v 0.250000 0.500000 0.250000 +v 0.338388 0.500000 0.213388 +v 0.375000 0.500000 0.125000 +v 0.338388 0.500000 0.036612 +v 0.161612 0.500000 0.036612 +v 0.125000 0.500000 0.125000 +v 0.161612 0.500000 0.213388 +v 0.250000 1.051777 -1.676777 +v 0.338388 1.025888 -1.650888 +v 0.375000 0.963388 -1.588388 +v 0.338388 0.900888 -1.525888 +v 0.161612 0.900888 -1.525888 +v 0.125000 0.963388 -1.588388 +v 0.161612 1.025888 -1.650888 +v 0.250000 0.875000 -1.750000 +v 0.338388 0.875000 -1.713388 +v 0.375000 0.875000 -1.625000 +v 0.338388 0.875000 -1.536612 +v 0.161612 0.875000 -1.536612 +v 0.125000 0.875000 -1.625000 +v 0.161612 0.875000 -1.713388 +v 0.250000 0.500000 -1.500000 +v 0.250000 0.500000 -1.750000 +v 0.338388 0.500000 -1.713388 +v 0.375000 0.500000 -1.625000 +v 0.338388 0.500000 -1.536612 +v 0.161612 0.500000 -1.536612 +v 0.125000 0.500000 -1.625000 +v 0.161612 0.500000 -1.713388 +v 0.500000 0.750000 -0.187500 +v 0.500000 0.625000 -0.187500 +v 0.500000 0.750000 -0.312500 +v 0.500000 0.625000 -0.312500 +v 0.562500 0.750000 -0.312500 +v 0.562500 0.750000 -0.187500 +v 0.562500 0.625000 -0.187500 +v 0.562500 0.625000 -0.312500 +v 0.518306 0.687500 -0.218750 +v 0.562500 0.731694 -0.218750 +v 0.518306 0.687500 -0.281250 +v 0.562500 0.731694 -0.281250 +v 0.650888 0.554917 -0.187500 +v 0.695083 0.599112 -0.187500 +v 0.650888 0.554917 -0.312500 +v 0.695083 0.599112 -0.312500 +v 0.500000 0.750000 -0.437500 +v 0.500000 0.625000 -0.437500 +v 0.500000 0.750000 -0.562500 +v 0.500000 0.625000 -0.562500 +v 0.562500 0.750000 -0.562500 +v 0.562500 0.750000 -0.437500 +v 0.562500 0.625000 -0.437500 +v 0.562500 0.625000 -0.562500 +v 0.518306 0.687500 -0.468750 +v 0.562500 0.731694 -0.468750 +v 0.518306 0.687500 -0.531250 +v 0.562500 0.731694 -0.531250 +v 0.650888 0.554917 -0.437500 +v 0.695083 0.599112 -0.437500 +v 0.650888 0.554917 -0.562500 +v 0.695083 0.599112 -0.562500 +v 0.500000 0.750000 -0.687500 +v 0.500000 0.625000 -0.687500 +v 0.500000 0.750000 -1.312500 +v 0.500000 0.625000 -1.312500 +v 0.562500 0.750000 -1.312500 +v 0.562500 0.750000 -0.687500 +v 0.562500 0.625000 -0.687500 +v 0.562500 0.625000 -1.312500 +v 0.000000 1.125000 -1.500000 +v 0.000000 1.125000 0.000000 +v 0.088388 1.088388 -1.500000 +v 0.088388 1.088388 0.000000 +v 0.125000 1.000000 -1.500000 +v 0.125000 1.000000 0.000000 +v 0.088388 0.911612 -1.500000 +v 0.088388 0.911612 0.000000 +v -0.000000 0.875000 -1.500000 +v -0.000000 0.875000 0.000000 +v -0.088388 0.911612 -1.500000 +v -0.088388 0.911612 0.000000 +v -0.125000 1.000000 -1.500000 +v -0.125000 1.000000 0.000000 +v -0.088388 1.088388 -1.500000 +v -0.088388 1.088388 0.000000 +v 0.000000 1.051777 0.176777 +v 0.088388 1.025888 0.150888 +v 0.125000 0.963388 0.088388 +v 0.088388 0.900888 0.025888 +v -0.088388 0.900888 0.025888 +v -0.125000 0.963388 0.088388 +v -0.088388 1.025888 0.150888 +v 0.000000 0.875000 0.250000 +v 0.088388 0.875000 0.213388 +v 0.125000 0.875000 0.125000 +v 0.088388 0.875000 0.036612 +v -0.088388 0.875000 0.036612 +v -0.125000 0.875000 0.125000 +v -0.088388 0.875000 0.213388 +v -0.000000 0.500000 0.000000 +v 0.000000 0.500000 0.250000 +v 0.088388 0.500000 0.213388 +v 0.125000 0.500000 0.125000 +v 0.088388 0.500000 0.036612 +v -0.088388 0.500000 0.036612 +v -0.125000 0.500000 0.125000 +v -0.088388 0.500000 0.213388 +v 0.000000 1.051777 -1.676777 +v 0.088388 1.025888 -1.650888 +v 0.125000 0.963388 -1.588388 +v 0.088388 0.900888 -1.525888 +v -0.088388 0.900888 -1.525888 +v -0.125000 0.963388 -1.588388 +v -0.088388 1.025888 -1.650888 +v 0.000000 0.875000 -1.750000 +v 0.088388 0.875000 -1.713388 +v 0.125000 0.875000 -1.625000 +v 0.088388 0.875000 -1.536612 +v -0.088388 0.875000 -1.536612 +v -0.125000 0.875000 -1.625000 +v -0.088388 0.875000 -1.713388 +v -0.000000 0.500000 -1.500000 +v 0.000000 0.500000 -1.750000 +v 0.088388 0.500000 -1.713388 +v 0.125000 0.500000 -1.625000 +v 0.088388 0.500000 -1.536612 +v -0.088388 0.500000 -1.536612 +v -0.125000 0.500000 -1.625000 +v -0.088388 0.500000 -1.713388 +v -0.250000 1.125000 -1.500000 +v -0.250000 1.125000 0.000000 +v -0.161612 1.088388 -1.500000 +v -0.161612 1.088388 0.000000 +v -0.125000 1.000000 -1.500000 +v -0.125000 1.000000 0.000000 +v -0.161612 0.911612 -1.500000 +v -0.161612 0.911612 0.000000 +v -0.250000 0.875000 -1.500000 +v -0.250000 0.875000 0.000000 +v -0.338388 0.911612 -1.500000 +v -0.338388 0.911612 0.000000 +v -0.375000 1.000000 -1.500000 +v -0.375000 1.000000 0.000000 +v -0.338388 1.088388 -1.500000 +v -0.338388 1.088388 0.000000 +v -0.250000 1.051777 0.176777 +v -0.161612 1.025888 0.150888 +v -0.125000 0.963388 0.088388 +v -0.161612 0.900888 0.025888 +v -0.338388 0.900888 0.025888 +v -0.375000 0.963388 0.088388 +v -0.338388 1.025888 0.150888 +v -0.250000 0.875000 0.250000 +v -0.161612 0.875000 0.213388 +v -0.125000 0.875000 0.125000 +v -0.161612 0.875000 0.036612 +v -0.338388 0.875000 0.036612 +v -0.375000 0.875000 0.125000 +v -0.338388 0.875000 0.213388 +v -0.250000 0.500000 0.000000 +v -0.250000 0.500000 0.250000 +v -0.161612 0.500000 0.213388 +v -0.125000 0.500000 0.125000 +v -0.161612 0.500000 0.036612 +v -0.338388 0.500000 0.036612 +v -0.375000 0.500000 0.125000 +v -0.338388 0.500000 0.213388 +v -0.250000 1.051777 -1.676777 +v -0.161612 1.025888 -1.650888 +v -0.125000 0.963388 -1.588388 +v -0.161612 0.900888 -1.525888 +v -0.338388 0.900888 -1.525888 +v -0.375000 0.963388 -1.588388 +v -0.338388 1.025888 -1.650888 +v -0.250000 0.875000 -1.750000 +v -0.161612 0.875000 -1.713388 +v -0.125000 0.875000 -1.625000 +v -0.161612 0.875000 -1.536612 +v -0.338388 0.875000 -1.536612 +v -0.375000 0.875000 -1.625000 +v -0.338388 0.875000 -1.713388 +v -0.250000 0.500000 -1.500000 +v -0.250000 0.500000 -1.750000 +v -0.161612 0.500000 -1.713388 +v -0.125000 0.500000 -1.625000 +v -0.161612 0.500000 -1.536612 +v -0.338388 0.500000 -1.536612 +v -0.375000 0.500000 -1.625000 +v -0.338388 0.500000 -1.713388 +vt 0.285714 0.104895 +vt 0.274725 0.132867 +vt 0.274725 0.104895 +vt 0.274725 0.069930 +vt 0.285714 0.069930 +vt 0.274725 0.034965 +vt 0.285714 0.034965 +vt 0.274725 0.000000 +vt 0.285714 0.000000 +vt 0.285714 0.419580 +vt 0.274725 0.384615 +vt 0.285714 0.384615 +vt 0.285714 0.349650 +vt 0.274725 0.377622 +vt 0.274725 0.349650 +vt 0.285714 0.314685 +vt 0.274725 0.342657 +vt 0.274725 0.314685 +vt 0.274725 0.279720 +vt 0.285714 0.279720 +vt 0.274725 0.244755 +vt 0.285714 0.244755 +vt 0.274725 0.209790 +vt 0.285714 0.209790 +vt 0.285714 0.174825 +vt 0.274725 0.202797 +vt 0.274725 0.174825 +vt 0.285714 0.139860 +vt 0.274725 0.167832 +vt 0.274725 0.139860 +vt 0.000000 0.083916 +vt 0.010989 0.111888 +vt 0.000000 0.104895 +vt 0.000000 0.111888 +vt 0.010989 0.139860 +vt 0.000000 0.132867 +vt 0.000000 0.139860 +vt 0.010989 0.167832 +vt 0.000000 0.160839 +vt 0.010989 0.195804 +vt 0.000000 0.167832 +vt 0.000000 0.195804 +vt 0.010989 0.223776 +vt 0.000000 0.216783 +vt 0.000000 0.223776 +vt 0.010989 0.251748 +vt 0.000000 0.244755 +vt 0.000000 0.251748 +vt 0.010989 0.279720 +vt 0.000000 0.272727 +vt 0.000000 0.279720 +vt 0.010989 0.307692 +vt 0.000000 0.300699 +vt 0.000000 0.307692 +vt 0.010989 0.335664 +vt 0.000000 0.328671 +vt 0.000000 -0.000000 +vt 0.010989 0.027972 +vt 0.000000 0.020979 +vt 0.000000 0.027972 +vt 0.010989 0.055944 +vt 0.000000 0.048951 +vt 0.000000 0.055944 +vt 0.010989 0.083916 +vt 0.000000 0.076923 +vt 0.279181 0.482489 +vt 0.307692 0.419638 +vt 0.336204 0.482489 +vt 0.736264 0.167832 +vt 0.725275 0.202797 +vt 0.725275 0.167832 +vt 0.725275 0.209790 +vt 0.736264 0.251748 +vt 0.725275 0.244755 +vt 0.725275 0.286713 +vt 0.725275 0.251748 +vt 0.736264 0.293706 +vt 0.725275 0.328671 +vt 0.725275 0.293706 +vt 0.736264 0.335664 +vt 0.725275 0.370629 +vt 0.725275 0.335664 +vt 0.725275 0.377622 +vt 0.736264 0.419580 +vt 0.725275 0.412587 +vt 0.725275 0.454545 +vt 0.725275 0.419580 +vt 0.725275 0.461538 +vt 0.736264 0.503497 +vt 0.725275 0.496504 +vt 0.736264 -0.000000 +vt 0.725275 0.034965 +vt 0.725275 -0.000000 +vt 0.725275 0.041958 +vt 0.736264 0.083916 +vt 0.725275 0.076923 +vt 0.725275 0.083916 +vt 0.736264 0.125874 +vt 0.725275 0.118881 +vt 0.725275 0.125874 +vt 0.725275 0.160839 +vt 0.208791 0.335674 +vt 0.265885 0.377627 +vt 0.265885 0.461533 +vt 0.076923 0.587413 +vt 0.065934 0.608392 +vt 0.065934 0.587413 +vt 0.340659 0.559441 +vt 0.252747 0.573427 +vt 0.252747 0.559441 +vt 0.252747 0.573427 +vt 0.340659 0.559441 +vt 0.340659 0.573427 +vt 0.208791 0.559441 +vt 0.208791 0.573427 +vt 0.384615 0.573427 +vt 0.384615 0.559441 +vt 0.351648 0.503496 +vt 0.252747 0.559441 +vt 0.241758 0.503496 +vt 0.241758 0.629371 +vt 0.351648 0.629371 +vt 0.384615 0.573427 +vt 0.384615 0.559441 +vt 0.208791 0.559441 +vt 0.208791 0.573427 +vt 0.241758 0.629371 +vt 0.340659 0.573427 +vt 0.351648 0.629371 +vt 0.351648 0.503497 +vt 0.241758 0.503497 +vt 0.340659 0.559441 +vt 0.252747 0.573427 +vt 0.252747 0.559441 +vt 0.252747 0.559441 +vt 0.340659 0.573427 +vt 0.252747 0.573427 +vt 0.384615 0.559441 +vt 0.340659 0.559441 +vt 0.208791 0.559441 +vt 0.208791 0.573427 +vt 0.241758 0.629371 +vt 0.351648 0.629371 +vt 0.351648 0.503497 +vt 0.241758 0.503497 +vt 0.384615 0.573427 +vt 0.384615 0.559441 +vt 0.208791 0.559441 +vt 0.208791 0.573427 +vt 0.351648 0.629371 +vt 0.340659 0.573427 +vt 0.241758 0.503497 +vt 0.076923 0.608392 +vt 0.065934 0.629371 +vt 0.076923 0.643357 +vt 0.065934 0.650350 +vt 0.076923 0.650350 +vt 0.065934 0.671329 +vt 0.076923 0.671329 +vt 0.065934 0.692308 +vt 0.076923 0.692308 +vt 0.065934 0.713287 +vt 0.076923 0.713287 +vt 0.065934 0.734266 +vt 0.076923 0.734266 +vt 0.065934 0.755245 +vt 0.065934 0.503497 +vt 0.076923 0.517483 +vt 0.065934 0.524476 +vt 0.076923 0.524476 +vt 0.065934 0.545455 +vt 0.076923 0.559441 +vt 0.065934 0.566434 +vt 0.076923 0.580420 +vt 0.868132 0.615385 +vt 0.890110 0.727273 +vt 0.868132 0.727273 +vt 1.000000 0.727273 +vt 0.978022 0.615385 +vt 1.000000 0.615385 +vt 0.868132 0.783217 +vt 1.000000 0.531469 +vt 0.890110 0.811189 +vt 0.978022 0.783217 +vt 0.978022 0.811189 +vt 0.978022 0.727273 +vt 1.000000 0.783217 +vt 0.978022 0.503497 +vt 0.890110 0.531469 +vt 0.890110 0.503497 +vt 0.890110 0.615385 +vt 0.868132 0.531469 +vt 0.527473 0.461538 +vt 0.384615 0.517483 +vt 0.384615 0.461538 +vt 0.560440 0.517483 +vt 0.527473 0.517483 +vt 0.351648 0.461538 +vt 0.527473 0.559441 +vt 0.351648 0.559441 +vt 0.527473 0.419580 +vt 0.648352 0.461538 +vt 0.637363 0.447552 +vt 0.648352 0.419580 +vt 0.615385 0.587413 +vt 0.571429 0.580420 +vt 0.615385 0.580420 +vt 0.571429 0.559441 +vt 0.615385 0.566434 +vt 0.571429 0.566434 +vt 0.516484 0.559441 +vt 0.538462 0.566434 +vt 0.516484 0.566434 +vt 0.538462 0.587413 +vt 0.516484 0.580420 +vt 0.538462 0.580420 +vt 0.543956 0.559441 +vt 0.565934 0.587413 +vt 0.582418 0.503497 +vt 0.587912 0.482517 +vt 0.593407 0.503497 +vt 0.571429 0.503497 +vt 0.565934 0.482517 +vt 0.571429 0.482517 +vt 0.582418 0.482517 +vt 0.582418 0.461538 +vt 0.571429 0.461538 +vt 0.296703 0.741259 +vt 0.285714 0.748252 +vt 0.285714 0.741259 +vt 0.241758 0.741259 +vt 0.247253 0.748252 +vt 0.241758 0.748252 +vt 0.274725 0.741259 +vt 0.263736 0.748252 +vt 0.263736 0.741259 +vt 0.219780 0.741259 +vt 0.208791 0.748252 +vt 0.208791 0.741259 +vt 0.252747 0.748252 +vt 0.252747 0.741259 +vt 0.230769 0.741259 +vt 0.219780 0.748252 +vt 0.280220 0.748252 +vt 0.274725 0.748252 +vt 0.236264 0.748252 +vt 0.230769 0.748252 +vt 0.315431 0.716143 +vt 0.299953 0.716143 +vt 0.299953 0.696444 +vt 0.516484 0.559441 +vt 0.384615 0.671329 +vt 0.384615 0.559441 +vt 0.384615 0.713287 +vt 0.516484 0.825175 +vt 0.384615 0.825175 +vt 0.549451 0.825175 +vt 0.516484 0.713287 +vt 0.549451 0.713287 +vt 0.351648 0.713287 +vt 0.351648 0.825175 +vt 0.516484 0.671329 +vt 0.384615 0.867133 +vt 0.516484 0.867133 +vt 0.082418 0.678322 +vt 0.093407 0.692308 +vt 0.082418 0.692308 +vt 0.093407 0.671329 +vt 0.082418 0.671329 +vt 0.082418 0.699301 +vt 0.093407 0.699301 +vt 0.098901 0.692308 +vt 0.093407 0.678322 +vt 0.098901 0.678322 +vt 0.076923 0.678322 +vt 0.076923 0.692308 +vt 0.104396 0.678322 +vt 0.115385 0.692308 +vt 0.104396 0.692308 +vt 0.120879 0.720280 +vt 0.104396 0.727273 +vt 0.104396 0.720280 +vt 0.093407 0.720280 +vt 0.093407 0.727273 +vt 0.076923 0.720280 +vt 0.093407 0.699301 +vt 0.098901 0.699301 +vt 0.098901 0.748252 +vt 0.115385 0.671329 +vt 0.104396 0.671329 +vt 0.104396 0.699301 +vt 0.115385 0.699301 +vt 0.120879 0.692308 +vt 0.115385 0.678322 +vt 0.120879 0.678322 +vt 0.098901 0.678322 +vt 0.098901 0.692308 +vt 0.164835 0.720280 +vt 0.148352 0.727273 +vt 0.148352 0.720280 +vt 0.137363 0.720280 +vt 0.137363 0.727273 +vt 0.120879 0.720280 +vt 0.137363 0.699301 +vt 0.142857 0.699301 +vt 0.142857 0.748252 +vt 0.126374 0.678322 +vt 0.181319 0.692308 +vt 0.126374 0.692308 +vt 0.181319 0.671329 +vt 0.126374 0.671329 +vt 0.126374 0.699301 +vt 0.181319 0.699301 +vt 0.186813 0.692308 +vt 0.181319 0.678322 +vt 0.186813 0.678322 +vt 0.120879 0.678322 +vt 0.120879 0.692308 +vt 0.274725 0.097902 +vt 0.274725 0.062937 +vt 0.274725 0.027972 +vt 0.274725 0.412587 +vt 0.274725 0.307692 +vt 0.274725 0.272727 +vt 0.274725 0.237762 +vt 0.000000 0.188811 +vt 0.010989 0.000000 +vt 0.324153 0.497826 +vt 0.307692 0.503439 +vt 0.291231 0.497826 +vt 0.274770 0.461538 +vt 0.279181 0.440588 +vt 0.291231 0.425251 +vt 0.324153 0.425251 +vt 0.336204 0.440588 +vt 0.340614 0.461539 +vt 0.736264 0.209790 +vt 0.736264 0.377622 +vt 0.736264 0.461538 +vt 0.736264 0.041958 +vt 0.241754 0.492245 +vt 0.151697 0.461533 +vt 0.208791 0.503487 +vt 0.175828 0.492245 +vt 0.142865 0.419580 +vt 0.151697 0.377627 +vt 0.175828 0.346915 +vt 0.241754 0.346915 +vt 0.274718 0.419580 +vt 0.076923 0.601399 +vt 0.384615 0.573427 +vt 0.241758 0.629371 +vt 0.351648 0.503497 +vt 0.076923 0.622378 +vt 0.076923 0.629371 +vt 0.076923 0.664336 +vt 0.076923 0.685315 +vt 0.076923 0.706294 +vt 0.076923 0.727273 +vt 0.076923 0.748252 +vt 0.076923 0.503497 +vt 0.076923 0.538462 +vt 0.076923 0.545455 +vt 0.076923 0.566434 +vt 0.890110 0.783217 +vt 0.978022 0.531469 +vt 0.560440 0.461538 +vt 0.351648 0.517483 +vt 0.351648 0.419580 +vt 0.637363 0.433566 +vt 0.670330 0.419580 +vt 0.670330 0.461538 +vt 0.681319 0.433566 +vt 0.681319 0.447552 +vt 0.571429 0.587413 +vt 0.615385 0.559441 +vt 0.538462 0.559441 +vt 0.516484 0.587413 +vt 0.565934 0.559441 +vt 0.543956 0.587413 +vt 0.560440 0.503497 +vt 0.291209 0.748252 +vt 0.269231 0.748252 +vt 0.214286 0.748252 +vt 0.258242 0.748252 +vt 0.225275 0.748252 +vt 0.307692 0.692364 +vt 0.315431 0.696444 +vt 0.318637 0.706294 +vt 0.307692 0.720223 +vt 0.296748 0.706294 +vt 0.120879 0.727273 +vt 0.076923 0.727273 +vt 0.093407 0.748252 +vt 0.164835 0.727273 +vt 0.120879 0.727273 +vt 0.137363 0.748252 +vt 0.274725 0.195804 +vt 0.274725 0.167832 +vt 0.274725 0.139860 +vt 0.274725 0.111888 +vt 0.274725 0.279720 +vt 0.274725 0.251748 +vt 0.274725 0.083916 +vt 0.274725 0.223776 +vt 0.274725 0.335664 +vt 0.274725 0.307692 +vt 0.274725 0.055944 +vt -0.000000 0.349650 +vt 0.131868 0.363636 +vt -0.000000 0.363636 +vt 0.725275 0.384615 +vt 0.725275 0.209790 +vt 0.725275 0.279720 +vt 0.725275 0.104895 +vt 0.725275 0.419580 +vt 0.725275 0.314685 +vt 0.725275 0.139860 +vt 0.725275 0.349650 +vt 0.725275 0.174825 +vt 0.725275 0.244755 +vt 0.725275 0.069930 +vt -0.000000 0.335664 +vt 0.131868 0.349650 +vt -0.000000 0.503497 +vt 0.131868 0.489510 +vt 0.131868 0.503497 +vt -0.000000 0.475524 +vt -0.000000 0.489510 +vt -0.000000 0.461538 +vt 0.131868 0.475524 +vt -0.000000 0.419580 +vt 0.131868 0.405594 +vt 0.131868 0.419580 +vt -0.000000 0.433566 +vt 0.131868 0.433566 +vt 0.131868 0.447552 +vt 0.131868 0.461538 +vt -0.000000 0.391608 +vt -0.000000 0.405594 +vt -0.000000 0.447552 +vt -0.000000 0.377622 +vt 0.131868 0.391608 +vt 0.131868 0.377622 +vt 1.000000 0.209790 +vt 1.000000 0.293706 +vt 1.000000 0.083916 +vt 1.000000 0.461538 +vt 1.000000 0.251748 +vt 1.000000 0.335664 +vt 1.000000 0.125874 +vt 1.000000 0.503497 +vt 1.000000 0.377622 +vt 1.000000 0.167832 +vt 1.000000 0.041958 +vt 1.000000 0.419580 +vt 0.000000 0.713287 +vt 0.000000 0.692308 +vt 0.000000 0.608392 +vt 0.000000 0.587413 +vt 0.000000 0.650350 +vt 0.000000 0.629371 +vt 0.000000 0.545455 +vt 0.000000 0.524476 +vt 0.000000 0.734266 +vt 0.000000 0.671329 +vt 0.000000 0.566434 +vt 0.000000 0.755245 +vt 0.000000 0.503497 +vt 0.208791 0.643357 +vt 0.076923 0.657343 +vt 0.076923 0.643357 +vt 0.208791 0.573427 +vt 0.076923 0.587413 +vt 0.076923 0.573427 +vt 0.208791 0.601399 +vt 0.076923 0.615385 +vt 0.076923 0.601399 +vt 0.208791 0.531469 +vt 0.076923 0.545455 +vt 0.076923 0.531469 +vt 0.208791 0.657343 +vt 0.076923 0.671329 +vt 0.208791 0.615385 +vt 0.076923 0.629371 +vt 0.208791 0.545455 +vt 0.076923 0.559441 +vt 0.208791 0.503497 +vt 0.208791 0.629371 +vt 0.208791 0.559441 +vt 0.208791 0.587413 +vt 0.208791 0.517483 +vt 0.780220 0.727273 +vt 0.780220 0.615385 +vt 0.780220 0.783217 +vt 0.681319 0.573427 +vt 0.692308 0.461538 +vt 0.692308 0.573427 +vt 0.626374 0.573427 +vt 0.637363 0.461538 +vt 0.637363 0.573427 +vt 0.648352 0.573427 +vt 0.670330 0.573427 +vt 0.681319 0.461538 +vt 0.703297 0.573427 +vt 0.615385 0.461538 +vt 0.626374 0.461538 +vt 0.725275 0.461538 +vt 0.725275 0.573427 +vt 0.516484 0.601399 +vt 0.571429 0.601399 +vt 0.565934 0.601399 +vt 0.543956 0.601399 +vt 0.582418 0.419580 +vt 0.571429 0.440559 +vt 0.571429 0.419580 +vt 0.582418 0.440559 +vt 0.318681 0.629371 +vt 0.313187 0.692308 +vt 0.313187 0.629371 +vt 0.263736 0.629371 +vt 0.274725 0.629371 +vt 0.335165 0.629371 +vt 0.329670 0.692308 +vt 0.329670 0.629371 +vt 0.252747 0.629371 +vt 0.324176 0.692308 +vt 0.324176 0.629371 +vt 0.241758 0.629371 +vt 0.307692 0.629371 +vt 0.302198 0.692308 +vt 0.302198 0.629371 +vt 0.230769 0.629371 +vt 0.340659 0.629371 +vt 0.335165 0.692308 +vt 0.219780 0.629371 +vt 0.208791 0.629371 +vt 0.318681 0.692308 +vt 0.285714 0.629371 +vt 0.296703 0.629371 +vt 0.307692 0.692308 +vt 0.296703 0.692308 +vt 0.296703 0.629371 +vt 0.065934 0.811189 +vt 0.197802 0.797203 +vt 0.197802 0.811189 +vt 0.065934 0.797203 +vt 0.197802 0.783217 +vt 0.065934 0.783217 +vt 0.197802 0.769231 +vt 0.065934 0.755245 +vt 0.197802 0.755245 +vt 0.065934 0.867133 +vt 0.197802 0.853147 +vt 0.197802 0.867133 +vt 0.065934 0.853147 +vt 0.197802 0.839161 +vt 0.060440 0.839161 +vt 0.049451 0.853147 +vt 0.049451 0.839161 +vt 0.065934 0.839161 +vt 0.197802 0.825175 +vt 0.065934 0.825175 +vt 0.214286 0.783217 +vt 0.214286 0.797203 +vt 0.049451 0.825175 +vt 0.049451 0.783217 +vt 0.060440 0.783217 +vt 0.049451 0.811189 +vt 0.049451 0.797203 +vt 0.049451 0.769231 +vt 0.054945 0.769231 +vt 0.032967 0.825175 +vt 0.043956 0.769231 +vt 0.032967 0.811189 +vt 0.032967 0.797203 +vt 0.038462 0.839161 +vt 0.038462 0.783217 +vt 0.049451 0.867133 +vt 0.054945 0.853147 +vt 0.043956 0.853147 +vt 0.049451 0.755245 +vt 0.032967 0.783217 +vt -0.000000 0.769231 +vt 0.032967 0.769231 +vt -0.000000 0.797203 +vt -0.000000 0.755245 +vt 0.032967 0.755245 +vt -0.000000 0.811189 +vt 0.032967 0.867133 +vt -0.000000 0.853147 +vt 0.032967 0.853147 +vt -0.000000 0.839161 +vt 0.032967 0.839161 +vt -0.000000 0.783217 +vt -0.000000 0.825175 +vt 0.214286 0.825175 +vt 0.214286 0.811189 +vt 0.208791 0.769231 +vt 0.203297 0.783217 +vt 0.203297 0.839161 +vt 0.214286 0.853147 +vt 0.208791 0.853147 +vt 0.214286 0.839161 +vt 0.214286 0.769231 +vt 0.225275 0.783217 +vt 0.230769 0.811189 +vt 0.230769 0.825175 +vt 0.225275 0.839161 +vt 0.219780 0.853147 +vt 0.230769 0.797203 +vt 0.214286 0.867133 +vt 0.214286 0.755245 +vt 0.219780 0.769231 +vt 0.263736 0.811189 +vt 0.230769 0.755245 +vt 0.263736 0.769231 +vt 0.230769 0.769231 +vt 0.263736 0.825175 +vt 0.230769 0.853147 +vt 0.263736 0.867133 +vt 0.230769 0.867133 +vt 0.230769 0.839161 +vt 0.263736 0.853147 +vt 0.263736 0.783217 +vt 0.263736 0.797203 +vt 0.263736 0.839161 +vt 0.230769 0.783217 +vt 0.065934 0.811189 +vt 0.197802 0.797203 +vt 0.197802 0.811189 +vt 0.065934 0.797203 +vt 0.197802 0.783217 +vt 0.065934 0.783217 +vt 0.197802 0.769231 +vt 0.065934 0.769231 +vt 0.197802 0.755245 +vt 0.065934 0.867133 +vt 0.197802 0.853147 +vt 0.197802 0.867133 +vt 0.065934 0.853147 +vt 0.197802 0.839161 +vt 0.060440 0.839161 +vt 0.049451 0.853147 +vt 0.049451 0.839161 +vt 0.065934 0.839161 +vt 0.197802 0.825175 +vt 0.065934 0.825175 +vt 0.214286 0.783217 +vt 0.214286 0.797203 +vt 0.049451 0.825175 +vt 0.049451 0.783217 +vt 0.060440 0.783217 +vt 0.049451 0.811189 +vt 0.049451 0.797203 +vt 0.049451 0.769231 +vt 0.054945 0.769231 +vt 0.032967 0.825175 +vt 0.038462 0.783217 +vt 0.043956 0.769231 +vt 0.032967 0.811189 +vt 0.032967 0.797203 +vt 0.038462 0.839161 +vt 0.049451 0.867133 +vt 0.054945 0.853147 +vt 0.043956 0.853147 +vt 0.049451 0.755245 +vt 0.032967 0.783217 +vt -0.000000 0.769231 +vt 0.032967 0.769231 +vt -0.000000 0.797203 +vt -0.000000 0.755245 +vt 0.032967 0.755245 +vt -0.000000 0.811189 +vt 0.032967 0.867133 +vt -0.000000 0.853147 +vt 0.032967 0.853147 +vt -0.000000 0.839161 +vt 0.032967 0.839161 +vt -0.000000 0.783217 +vt -0.000000 0.825175 +vt 0.214286 0.825175 +vt 0.214286 0.811189 +vt 0.208791 0.769231 +vt 0.203297 0.783217 +vt 0.208791 0.853147 +vt 0.214286 0.839161 +vt 0.214286 0.853147 +vt 0.203297 0.839161 +vt 0.214286 0.769231 +vt 0.225275 0.783217 +vt 0.230769 0.811189 +vt 0.230769 0.825175 +vt 0.225275 0.839161 +vt 0.219780 0.853147 +vt 0.230769 0.797203 +vt 0.214286 0.867133 +vt 0.214286 0.755245 +vt 0.219780 0.769231 +vt 0.263736 0.811189 +vt 0.230769 0.755245 +vt 0.263736 0.769231 +vt 0.230769 0.769231 +vt 0.263736 0.825175 +vt 0.230769 0.853147 +vt 0.263736 0.867133 +vt 0.230769 0.867133 +vt 0.230769 0.839161 +vt 0.263736 0.853147 +vt 0.263736 0.783217 +vt 0.263736 0.797203 +vt 0.263736 0.839161 +vt 0.230769 0.783217 +vt 0.065934 0.811189 +vt 0.197802 0.797203 +vt 0.197802 0.811189 +vt 0.065934 0.797203 +vt 0.197802 0.783217 +vt 0.065934 0.783217 +vt 0.197802 0.769231 +vt 0.065934 0.769231 +vt 0.197802 0.755245 +vt 0.065934 0.867133 +vt 0.197802 0.853147 +vt 0.197802 0.867133 +vt 0.065934 0.853147 +vt 0.197802 0.839161 +vt 0.060440 0.839161 +vt 0.049451 0.853147 +vt 0.049451 0.839161 +vt 0.065934 0.839161 +vt 0.197802 0.825175 +vt 0.065934 0.825175 +vt 0.214286 0.783217 +vt 0.214286 0.797203 +vt 0.049451 0.825175 +vt 0.049451 0.783217 +vt 0.060440 0.783217 +vt 0.049451 0.811189 +vt 0.049451 0.797203 +vt 0.049451 0.769231 +vt 0.054945 0.769231 +vt 0.038462 0.839161 +vt 0.032967 0.825175 +vt 0.043956 0.769231 +vt 0.032967 0.811189 +vt 0.032967 0.797203 +vt 0.038462 0.783217 +vt 0.049451 0.867133 +vt 0.054945 0.853147 +vt 0.043956 0.853147 +vt 0.049451 0.755245 +vt 0.032967 0.783217 +vt -0.000000 0.769231 +vt 0.032967 0.769231 +vt -0.000000 0.797203 +vt -0.000000 0.755245 +vt 0.032967 0.755245 +vt -0.000000 0.811189 +vt 0.032967 0.867133 +vt -0.000000 0.853147 +vt 0.032967 0.853147 +vt -0.000000 0.839161 +vt 0.032967 0.839161 +vt -0.000000 0.783217 +vt -0.000000 0.825175 +vt 0.214286 0.811189 +vt 0.214286 0.825175 +vt 0.208791 0.769231 +vt 0.203297 0.783217 +vt 0.208791 0.853147 +vt 0.214286 0.839161 +vt 0.214286 0.853147 +vt 0.203297 0.839161 +vt 0.214286 0.769231 +vt 0.225275 0.783217 +vt 0.230769 0.811189 +vt 0.230769 0.825175 +vt 0.225275 0.839161 +vt 0.219780 0.853147 +vt 0.230769 0.797203 +vt 0.214286 0.867133 +vt 0.214286 0.755245 +vt 0.219780 0.769231 +vt 0.263736 0.811189 +vt 0.230769 0.755245 +vt 0.263736 0.769231 +vt 0.230769 0.769231 +vt 0.263736 0.825175 +vt 0.230769 0.853147 +vt 0.263736 0.867133 +vt 0.230769 0.867133 +vt 0.230769 0.839161 +vt 0.263736 0.853147 +vt 0.263736 0.783217 +vt 0.263736 0.797203 +vt 0.263736 0.839161 +vt 0.230769 0.783217 +vt 0.131868 0.335664 +vt 1.000000 -0.000000 +vt 0.208791 0.671329 +vt 0.780220 0.531469 +vt 0.703297 0.461538 +vt 0.615385 0.573427 +vt 0.538462 0.601399 +vt 0.615385 0.601399 +vt 0.340659 0.692308 +vt 0.065934 0.769231 +vt 0.000000 0.867133 +vt 0.263736 0.755245 +vt 0.065934 0.755245 +vt 0.000000 0.867133 +vt 0.263736 0.755245 +vt 0.065934 0.755245 +vt 0.000000 0.867133 +vt 0.263736 0.755245 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.9701 -0.2425 +vn 0.0000 -0.9701 -0.2425 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.9701 0.0000 -0.2425 +vn -0.9701 0.0000 -0.2425 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.6860 0.6860 -0.2425 +vn -0.6860 -0.6860 -0.2425 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.6860 -0.6860 -0.2425 +vn -0.6860 0.6860 -0.2425 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.0000 -0.7071 0.7071 +vn -0.1162 0.1162 -0.9864 +vn -0.1162 0.1162 0.9864 +vn -0.5000 0.8660 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.8660 0.5000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.0000 -0.1602 0.9871 +vn 0.0000 0.2298 0.9732 +vn 0.0000 -0.2298 -0.9732 +vn 0.0000 0.1602 -0.9871 +vn 0.0000 -0.4472 -0.8944 +vn 0.0000 0.4472 0.8944 +vn 0.0000 0.3162 -0.9487 +vn 0.0000 -0.3162 0.9487 +vn 0.0000 -0.9239 0.3827 +vn 0.3827 0.0000 -0.9239 +vn -0.3827 0.0000 -0.9239 +vn -0.3827 0.0000 0.9239 +vn 0.3827 0.0000 0.9239 +vn 0.9239 0.0000 0.3827 +vn 0.9239 0.0000 -0.3827 +vn -0.9239 0.0000 -0.3827 +vn -0.9239 0.0000 0.3827 +vn 0.0000 -0.3827 0.9239 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 -0.3162 -0.9487 +vn 0.0000 -0.4393 -0.8983 +vn 0.0000 0.1601 0.9871 +vn 0.0000 0.3161 0.9487 +vn 0.0000 -0.5546 -0.8321 +vn 0.7071 0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.0000 0.9824 0.1866 +vn 0.6794 0.7194 -0.1448 +vn 0.0000 0.9824 -0.1866 +vn 0.6794 0.7194 0.1448 +vn 0.9987 0.0473 -0.0196 +vn 0.9987 0.0473 0.0196 +vn 0.7263 -0.6737 0.1363 +vn -0.0000 -0.7071 -0.7071 +vn -0.7263 -0.6737 0.1363 +vn -0.7263 -0.6737 -0.1363 +vn -0.9987 0.0473 -0.0196 +vn -0.9987 0.0473 0.0196 +vn -0.7574 -0.4617 -0.4617 +vn -0.9955 0.0671 0.0671 +vn -0.6794 0.7194 -0.1448 +vn -0.6794 0.7194 0.1448 +vn 0.9955 0.0671 -0.0671 +vn 0.6630 0.5294 -0.5294 +vn -0.6630 0.5294 0.5294 +vn 0.9955 0.0671 0.0671 +vn 0.0000 0.7071 0.7071 +vn 0.6630 0.5294 0.5294 +vn 0.7574 -0.4617 -0.4617 +vn 0.7263 -0.6737 -0.1363 +vn -0.6794 0.1448 0.7194 +vn 0.7263 -0.1363 -0.6737 +vn -0.0000 0.1866 0.9824 +vn 0.6794 0.1448 0.7194 +vn -0.9987 0.0196 0.0473 +vn 0.9987 0.0196 0.0473 +vn -0.7263 -0.1363 -0.6737 +vn -0.6630 0.5294 -0.5294 +vn -0.0000 0.7071 -0.7071 +vn -0.7574 -0.4617 0.4617 +vn -0.9955 0.0671 -0.0671 +vn 0.7574 -0.4617 0.4617 +vn 0.9987 0.0196 -0.0473 +vn 0.0000 0.1866 -0.9824 +vn -0.6794 0.1448 -0.7194 +vn -0.9987 0.0196 -0.0473 +vn -0.7263 -0.1363 0.6737 +vn 0.6794 0.1448 -0.7194 +vn 0.7263 -0.1363 0.6737 +s off +f 542/805/69 567/806/69 566/807/69 +f 542/805/69 565/808/69 541/809/69 +f 541/809/69 564/810/69 540/811/69 +f 540/811/69 563/812/69 539/813/69 +f 539/814/69 562/815/69 538/816/69 +f 537/817/69 562/818/69 561/819/69 +f 536/820/69 561/821/69 560/822/69 +f 536/820/69 559/823/69 535/824/69 +f 535/824/69 558/825/69 534/826/69 +f 534/826/69 557/827/69 533/828/69 +f 544/829/69 557/830/69 568/831/69 +f 543/832/69 568/833/69 567/834/69 +f 516/835/69 511/836/69 514/837/69 +f 514/838/69 509/839/69 512/840/69 +f 512/841/69 531/842/69 510/843/69 +f 529/844/69 510/845/69 531/842/69 +f 532/846/69 527/847/69 530/848/69 +f 530/849/69 525/850/69 528/851/69 +f 528/852/69 523/853/69 526/854/69 +f 526/855/69 521/856/69 524/857/69 +f 524/858/69 519/859/69 522/860/69 +f 522/861/69 517/862/69 520/863/69 +f 520/864/69 515/865/69 518/866/69 +f 518/867/69 513/868/69 516/869/69 +f 579/870/69 575/871/69 571/872/69 +f 591/873/69 556/874/69 555/875/69 +f 556/876/69 581/877/69 545/878/69 +f 581/877/69 546/879/69 545/880/69 +f 582/881/69 547/882/69 546/883/69 +f 583/884/69 548/885/69 547/886/69 +f 548/887/69 585/888/69 549/889/69 +f 585/888/69 550/890/69 549/891/69 +f 550/892/69 587/893/69 551/894/69 +f 587/895/69 552/896/69 551/897/69 +f 552/898/69 589/899/69 553/900/69 +f 553/901/69 590/902/69 554/903/69 +f 554/904/69 591/873/69 555/905/69 +f 599/906/70 597/907/70 595/908/70 +f 671/909/70 628/910/70 627/911/70 +f 641/912/70 643/913/70 642/914/70 +f 633/915/70 635/916/70 634/917/70 +f 632/918/71 633/915/71 631/919/71 +f 629/920/72 635/916/72 630/921/72 +f 630/922/73 636/923/73 632/924/73 +f 631/925/74 634/917/74 629/926/74 +f 640/927/75 641/912/75 639/928/75 +f 637/929/76 643/913/76 638/930/76 +f 638/931/77 644/932/77 640/933/77 +f 639/934/78 642/914/78 637/935/78 +f 657/936/70 659/937/70 658/938/70 +f 650/939/70 652/940/70 651/941/70 +f 647/942/79 652/940/79 649/943/79 +f 645/944/80 651/941/80 646/945/80 +f 646/946/81 652/940/81 648/947/81 +f 647/948/82 650/939/82 645/949/82 +f 656/950/83 657/936/83 655/951/83 +f 653/952/84 659/937/84 654/953/84 +f 656/954/85 659/937/85 660/955/85 +f 653/956/86 657/936/86 658/938/86 +f 672/957/70 617/958/70 628/910/70 +f 617/958/70 662/959/70 618/960/70 +f 662/961/70 619/962/70 618/960/70 +f 663/963/70 620/964/70 619/962/70 +f 664/965/70 621/966/70 620/964/70 +f 665/967/70 622/968/70 621/966/70 +f 666/969/70 623/970/70 622/968/70 +f 623/971/70 668/972/70 624/973/70 +f 668/974/70 625/975/70 624/973/70 +f 625/975/70 670/976/70 626/977/70 +f 626/977/70 671/978/70 627/911/70 +f 686/979/73 692/980/73 688/981/73 +f 687/982/74 690/983/74 685/984/74 +f 692/980/73 693/985/73 688/981/73 +f 690/983/74 697/986/74 685/984/74 +f 693/987/78 696/988/78 694/989/78 +f 689/990/74 694/991/74 696/988/74 +f 697/992/77 700/993/77 698/994/77 +f 691/995/73 698/996/73 700/993/73 +f 703/997/77 702/998/77 701/999/77 +f 703/997/70 708/1000/70 704/1001/70 +f 702/998/87 706/1002/87 701/999/87 +f 702/998/73 708/1003/73 707/1004/73 +f 701/999/74 705/1005/74 703/997/74 +f 729/1006/77 730/1007/77 728/1008/77 +f 735/1009/73 714/1010/73 715/1011/73 +f 733/1012/74 716/1013/74 713/1014/74 +f 737/1015/74 712/1016/74 709/1017/74 +f 739/1018/73 710/1019/73 711/1020/73 +f 740/1021/74 713/1014/74 712/1016/74 +f 734/1022/73 711/1020/73 714/1010/73 +f 742/1023/73 748/1024/73 744/1025/73 +f 741/1026/74 745/1027/74 746/1028/74 +f 748/1024/73 747/1029/73 750/1030/73 +f 746/1028/74 745/1027/74 749/1031/74 +f 766/1032/78 774/1033/78 768/1034/78 +f 760/1035/78 769/1036/78 770/1037/78 +f 754/1038/78 752/1039/78 756/1040/78 +f 764/1041/78 773/1042/78 766/1043/78 +f 756/1040/78 769/1044/78 758/1045/78 +f 762/1046/78 772/1047/78 764/1041/78 +f 754/1038/78 774/1048/78 751/1049/78 +f 762/1046/78 770/1050/78 771/1051/78 +f 759/1052/77 763/1053/77 767/1054/77 +f 785/1055/77 784/1056/77 783/1057/77 +f 789/1058/78 787/1059/78 788/1060/78 +f 785/1061/70 790/1062/70 786/1063/70 +f 784/1064/69 788/1060/69 783/1065/69 +f 786/1066/73 789/1058/73 784/1056/73 +f 783/1067/74 787/1059/74 785/1068/74 +f 857/1069/73 855/1070/73 856/1071/73 +f 854/1072/77 857/1069/77 852/1073/77 +f 851/1074/78 855/1070/78 853/1075/78 +f 853/1076/70 858/1077/70 854/1078/70 +f 852/1079/69 856/1071/69 851/1080/69 +f 873/1081/73 871/1082/73 872/1083/73 +f 861/1084/88 866/1085/88 865/1086/88 +f 866/1085/81 863/1087/81 865/1086/81 +f 864/1088/89 859/1089/89 863/1087/89 +f 865/1086/85 859/1090/85 861/1091/85 +f 862/1092/86 864/1088/86 866/1085/86 +f 870/1093/77 873/1081/77 868/1094/77 +f 867/1095/78 871/1082/78 869/1096/78 +f 869/1097/70 874/1098/70 870/1099/70 +f 868/1100/69 872/1083/69 867/1101/69 +f 877/1102/88 882/1103/88 881/1104/88 +f 882/1103/81 879/1105/81 881/1104/81 +f 880/1106/89 875/1107/89 879/1105/89 +f 881/1104/85 875/1108/85 877/1109/85 +f 878/1110/86 880/1106/86 882/1103/86 +f 889/1111/73 887/1112/73 888/1113/73 +f 886/1114/77 889/1111/77 884/1115/77 +f 883/1116/78 887/1112/78 885/1117/78 +f 885/1118/70 890/1119/70 886/1120/70 +f 884/1121/69 888/1113/69 883/1122/69 +f 542/805/69 543/832/69 567/806/69 +f 542/805/69 566/1123/69 565/808/69 +f 541/809/69 565/1124/69 564/810/69 +f 540/811/69 564/1125/69 563/812/69 +f 539/814/69 563/1126/69 562/815/69 +f 537/817/69 538/816/69 562/818/69 +f 536/820/69 537/817/69 561/821/69 +f 536/820/69 560/1127/69 559/823/69 +f 535/824/69 559/1128/69 558/825/69 +f 534/826/69 558/1129/69 557/827/69 +f 544/829/69 533/828/69 557/830/69 +f 543/832/69 544/829/69 568/833/69 +f 516/835/69 513/868/69 511/836/69 +f 514/838/69 511/836/69 509/839/69 +f 512/841/69 509/839/69 531/842/69 +f 529/844/69 532/1130/69 510/845/69 +f 532/846/69 529/844/69 527/847/69 +f 530/849/69 527/847/69 525/850/69 +f 528/852/69 525/850/69 523/853/69 +f 526/855/69 523/853/69 521/856/69 +f 524/858/69 521/856/69 519/859/69 +f 522/861/69 519/1131/69 517/862/69 +f 520/864/69 517/862/69 515/865/69 +f 518/867/69 515/865/69 513/868/69 +f 571/872/69 569/1132/69 570/1133/69 +f 570/1133/69 580/1134/69 571/872/69 +f 580/1134/69 579/870/69 571/872/69 +f 579/870/69 578/1135/69 577/1136/69 +f 577/1136/69 576/1137/69 579/870/69 +f 576/1137/69 575/871/69 579/870/69 +f 575/871/69 574/1138/69 571/872/69 +f 574/1138/69 573/1139/69 571/872/69 +f 573/1139/69 572/1140/69 571/872/69 +f 591/873/69 592/1141/69 556/874/69 +f 556/876/69 592/1141/69 581/877/69 +f 581/877/69 582/881/69 546/879/69 +f 582/881/69 583/884/69 547/882/69 +f 583/884/69 584/1142/69 548/885/69 +f 548/887/69 584/1142/69 585/888/69 +f 585/888/69 586/1143/69 550/890/69 +f 550/892/69 586/1143/69 587/893/69 +f 587/895/69 588/1144/69 552/896/69 +f 552/898/69 588/1144/69 589/899/69 +f 553/901/69 589/899/69 590/902/69 +f 554/904/69 590/902/69 591/873/69 +f 595/908/70 594/1145/70 603/1146/70 +f 594/1145/70 593/1147/70 603/1146/70 +f 593/1147/70 604/1148/70 603/1146/70 +f 603/1146/70 602/1149/70 601/1150/70 +f 601/1150/70 600/1151/70 599/906/70 +f 599/906/70 598/1152/70 597/907/70 +f 597/907/70 596/1153/70 595/908/70 +f 603/1146/70 601/1150/70 595/908/70 +f 601/1150/70 599/906/70 595/908/70 +f 671/909/70 672/1154/70 628/910/70 +f 641/912/70 644/932/70 643/913/70 +f 633/915/70 636/923/70 635/916/70 +f 632/918/71 636/923/71 633/915/71 +f 629/920/72 634/917/72 635/916/72 +f 630/922/73 635/916/73 636/923/73 +f 631/925/74 633/915/74 634/917/74 +f 640/927/75 644/932/75 641/912/75 +f 637/929/76 642/914/76 643/913/76 +f 638/931/77 643/913/77 644/932/77 +f 639/934/78 641/912/78 642/914/78 +f 657/936/70 660/955/70 659/937/70 +f 650/939/70 649/943/70 652/940/70 +f 647/942/79 648/1155/79 652/940/79 +f 645/944/80 650/939/80 651/941/80 +f 646/946/81 651/941/81 652/940/81 +f 647/948/82 649/943/82 650/939/82 +f 656/950/83 660/955/83 657/936/83 +f 653/952/84 658/938/84 659/937/84 +f 656/954/85 654/1156/85 659/937/85 +f 653/956/86 655/1157/86 657/936/86 +f 672/957/70 661/1158/70 617/958/70 +f 617/958/70 661/1159/70 662/959/70 +f 662/961/70 663/1160/70 619/962/70 +f 663/963/70 664/1161/70 620/964/70 +f 664/965/70 665/1162/70 621/966/70 +f 665/967/70 666/1163/70 622/968/70 +f 666/969/70 667/1164/70 623/970/70 +f 623/971/70 667/1165/70 668/972/70 +f 668/974/70 669/1166/70 625/975/70 +f 625/975/70 669/1167/70 670/976/70 +f 626/977/70 670/1168/70 671/978/70 +f 686/979/73 691/995/73 692/980/73 +f 687/982/74 689/990/74 690/983/74 +f 692/980/73 695/1169/73 693/985/73 +f 690/983/74 699/1170/74 697/986/74 +f 693/987/78 695/1169/78 696/988/78 +f 689/990/74 687/982/74 694/991/74 +f 697/992/77 699/1170/77 700/993/77 +f 691/995/73 686/979/73 698/996/73 +f 703/997/77 704/1001/77 702/998/77 +f 703/997/70 705/1171/70 708/1000/70 +f 702/998/87 707/1172/87 706/1002/87 +f 702/998/73 704/1001/73 708/1003/73 +f 701/999/74 706/1173/74 705/1005/74 +f 730/1007/77 727/1174/77 728/1008/77 +f 728/1008/77 725/1175/77 732/1176/77 +f 725/1175/77 726/1177/77 732/1176/77 +f 726/1177/77 731/1178/77 732/1176/77 +f 732/1176/77 729/1006/77 728/1008/77 +f 735/1009/73 734/1179/73 714/1010/73 +f 733/1012/74 736/1180/74 716/1013/74 +f 737/1015/74 740/1181/74 712/1016/74 +f 739/1018/73 738/1182/73 710/1019/73 +f 740/1021/74 733/1183/74 713/1014/74 +f 734/1022/73 739/1184/73 711/1020/73 +f 742/1023/73 747/1029/73 748/1024/73 +f 741/1026/74 743/1185/74 745/1027/74 +f 766/1032/78 773/1186/78 774/1033/78 +f 760/1035/78 758/1045/78 769/1036/78 +f 754/1038/78 751/1187/78 752/1039/78 +f 764/1041/78 772/1188/78 773/1042/78 +f 756/1040/78 752/1189/78 769/1044/78 +f 762/1046/78 771/1190/78 772/1047/78 +f 754/1038/78 768/1034/78 774/1048/78 +f 762/1046/78 760/1035/78 770/1050/78 +f 767/1054/77 753/1191/77 755/1192/77 +f 755/1192/77 757/1193/77 759/1052/77 +f 759/1052/77 761/1194/77 763/1053/77 +f 763/1053/77 765/1195/77 767/1054/77 +f 767/1054/77 755/1192/77 759/1052/77 +f 785/1055/77 786/1066/77 784/1056/77 +f 789/1058/78 790/1062/78 787/1059/78 +f 785/1061/70 787/1059/70 790/1062/70 +f 784/1064/69 789/1058/69 788/1060/69 +f 786/1066/73 790/1062/73 789/1058/73 +f 783/1067/74 788/1060/74 787/1059/74 +f 857/1069/73 858/1077/73 855/1070/73 +f 854/1072/77 858/1077/77 857/1069/77 +f 851/1074/78 856/1071/78 855/1070/78 +f 853/1076/70 855/1070/70 858/1077/70 +f 852/1079/69 857/1069/69 856/1071/69 +f 873/1081/73 874/1098/73 871/1082/73 +f 861/1084/88 862/1196/88 866/1085/88 +f 866/1085/81 864/1088/81 863/1087/81 +f 864/1088/89 860/1197/89 859/1089/89 +f 865/1086/85 863/1087/85 859/1090/85 +f 862/1092/86 860/1198/86 864/1088/86 +f 870/1093/77 874/1098/77 873/1081/77 +f 867/1095/78 872/1083/78 871/1082/78 +f 869/1097/70 871/1082/70 874/1098/70 +f 868/1100/69 873/1081/69 872/1083/69 +f 877/1102/88 878/1199/88 882/1103/88 +f 882/1103/81 880/1106/81 879/1105/81 +f 880/1106/89 876/1200/89 875/1107/89 +f 881/1104/85 879/1105/85 875/1108/85 +f 878/1110/86 876/1201/86 880/1106/86 +f 889/1111/73 890/1119/73 887/1112/73 +f 886/1114/77 890/1119/77 889/1111/77 +f 883/1116/78 888/1113/78 887/1112/78 +f 885/1118/70 887/1112/70 890/1119/70 +f 884/1121/69 889/1111/69 888/1113/69 +s 1 +f 558/1202/90 531/842/78 557/1203/78 +f 568/1204/91 511/836/92 567/1205/92 +f 561/1206/93 525/850/74 560/1207/74 +f 564/1125/94 519/1131/77 563/812/77 +f 567/1205/92 513/868/73 566/1208/73 +f 560/1207/74 527/847/95 559/1209/95 +f 563/1210/77 521/856/96 562/1211/96 +f 566/1208/73 515/865/97 565/1212/97 +f 559/1209/95 529/844/90 558/1202/90 +f 557/1203/78 509/839/91 568/1204/91 +f 524/1213/91 577/1214/92 526/1215/92 +f 562/1211/96 523/853/93 561/1206/93 +f 565/1212/97 517/862/94 564/1125/94 +f 537/817/93 550/1216/96 538/816/96 +f 544/829/91 545/1217/78 533/828/78 +f 534/826/90 547/1218/95 535/824/95 +f 541/809/97 554/1219/73 542/805/73 +f 538/816/96 551/1220/77 539/814/77 +f 535/824/95 548/1221/74 536/820/74 +f 542/805/73 555/1222/92 543/832/92 +f 539/813/77 552/896/94 540/811/94 +f 536/820/74 549/1223/93 537/817/93 +f 543/832/92 556/1224/91 544/829/91 +f 533/828/78 546/1225/90 534/826/90 +f 540/811/94 553/1226/97 541/809/97 +f 522/1227/78 576/1228/91 524/1213/91 +f 522/1229/78 574/1230/90 575/1231/78 +f 518/1232/95 574/1230/90 520/1233/90 +f 516/1234/74 573/1235/95 518/1232/95 +f 510/1236/77 580/1237/94 570/1238/77 +f 512/1239/96 570/1238/77 569/1240/96 +f 516/1234/74 571/1241/93 572/1242/74 +f 530/1243/97 580/1237/94 532/1244/94 +f 512/1239/96 571/1241/93 514/1245/93 +f 528/1246/73 579/1247/97 530/1243/97 +f 526/1215/92 578/1248/73 528/1246/73 +f 591/873/92 604/1249/91 592/1141/91 +f 581/877/78 594/1250/90 582/881/90 +f 588/1144/94 601/1251/97 589/899/97 +f 585/888/93 598/1252/96 586/1143/96 +f 592/1141/91 593/1253/78 581/877/78 +f 582/881/90 595/1254/95 583/884/95 +f 589/899/97 602/1255/73 590/902/73 +f 586/1143/96 599/1256/77 587/893/77 +f 583/884/95 596/1257/74 584/1142/74 +f 590/902/73 603/1258/92 591/873/92 +f 587/895/77 600/1259/94 588/1144/94 +f 584/1142/74 597/1260/93 585/888/93 +f 620/964/74 609/1261/93 608/1262/74 +f 627/911/92 616/1263/91 615/1264/92 +f 617/958/78 606/1265/90 605/1266/78 +f 624/973/94 613/1267/97 612/1268/94 +f 621/966/93 610/1269/96 609/1261/93 +f 628/910/91 605/1266/78 616/1263/91 +f 618/960/90 607/1270/95 606/1265/90 +f 625/975/97 614/1271/73 613/1267/97 +f 622/968/96 611/1272/77 610/1269/96 +f 619/962/95 608/1262/74 607/1270/95 +f 626/977/73 615/1264/92 614/1271/73 +f 623/971/77 612/1268/94 611/1273/77 +f 677/1274/93 666/1275/96 665/1276/93 +f 684/1277/91 661/1278/78 672/1279/91 +f 674/1280/90 663/1281/95 662/1282/90 +f 681/1283/97 670/1284/73 669/1285/97 +f 678/1286/96 667/1287/77 666/1275/96 +f 675/1288/95 664/1289/74 663/1281/95 +f 682/1290/73 671/1291/92 670/1284/73 +f 679/1292/77 668/972/94 667/1165/77 +f 676/1293/74 665/1276/93 664/1289/74 +f 683/1294/92 672/1279/91 671/1291/92 +f 673/1295/78 662/1282/90 661/1278/78 +f 680/1296/94 669/1285/97 668/972/94 +f 686/979/98 687/1297/99 685/1298/98 +f 689/990/100 691/995/101 690/983/101 +f 689/990/100 695/1169/102 692/980/100 +f 688/981/99 694/1299/103 687/1297/99 +f 691/995/101 699/1170/104 690/983/101 +f 685/1298/98 698/996/105 686/979/98 +f 714/1010/106 716/1013/77 715/1011/77 +f 724/1300/107 726/1301/108 721/1302/108 +f 718/1303/109 730/1304/110 719/1305/110 +f 720/1306/111 732/1176/112 723/1307/112 +f 730/1304/110 720/1306/111 719/1305/110 +f 724/1300/107 732/1176/112 731/1308/107 +f 726/1301/108 722/1309/113 721/1302/108 +f 718/1303/109 728/1310/114 727/1311/109 +f 722/1309/113 728/1312/114 717/1313/114 +f 711/1020/115 713/1014/106 714/1010/106 +f 710/1019/69 712/1016/115 711/1020/115 +f 739/1018/116 737/1314/70 738/1182/70 +f 735/1009/78 733/1315/117 734/1179/117 +f 739/1184/116 733/1316/117 740/1317/116 +f 744/1318/118 745/1319/119 743/1320/118 +f 741/1026/69 747/1029/120 742/1023/69 +f 746/1028/120 750/1030/121 747/1029/120 +f 748/1321/119 749/1031/122 745/1319/119 +f 769/1322/73 780/1323/123 770/1324/123 +f 754/1038/70 755/1325/124 753/1326/70 +f 774/1327/125 775/1328/70 751/1329/70 +f 756/1040/124 757/1330/73 755/1325/124 +f 751/1329/70 782/1331/124 752/1332/124 +f 758/1045/73 759/1333/123 757/1330/73 +f 771/1334/69 778/1335/126 772/1336/126 +f 760/1035/123 761/1337/69 759/1333/123 +f 773/1338/74 776/1339/125 774/1327/125 +f 762/1046/69 763/1340/126 761/1337/69 +f 764/1041/126 765/1341/74 763/1340/126 +f 752/1332/124 781/1342/73 769/1322/73 +f 766/1032/74 767/1343/125 765/1344/74 +f 770/1324/123 779/1345/69 771/1334/69 +f 768/1034/125 753/1326/70 767/1343/125 +f 772/1336/126 777/1346/74 773/1347/74 +f 792/1348/127 793/1349/128 791/1350/129 +f 794/1351/130 795/1352/131 793/1349/128 +f 796/1353/132 797/1354/133 795/1352/131 +f 797/1354/133 800/1355/134 799/1356/87 +f 800/1357/134 801/1358/135 799/1359/87 +f 802/1360/136 803/1361/137 801/1358/135 +f 804/1362/138 811/1363/139 812/1364/140 +f 804/1365/138 805/1366/141 803/1361/137 +f 806/1367/142 791/1350/129 805/1366/141 +f 793/1349/128 831/1368/143 830/1369/144 +f 806/1367/142 812/1364/140 813/1370/145 +f 794/1351/130 809/1371/146 796/1372/132 +f 806/1367/142 807/1373/147 792/1348/127 +f 792/1348/127 808/1374/148 794/1351/130 +f 796/1372/132 810/1375/149 798/1376/150 +f 812/1364/140 820/1377/151 813/1370/145 +f 809/1371/146 817/1378/152 810/1375/149 +f 808/1374/148 814/1379/153 815/1380/154 +f 813/1370/145 814/1379/153 807/1373/147 +f 811/1363/139 819/1381/155 812/1364/140 +f 808/1374/148 816/1382/156 809/1371/146 +f 800/1383/134 811/1363/139 802/1384/136 +f 811/1363/139 800/1383/134 818/1385/157 +f 798/1376/150 810/1375/149 800/1386/134 +f 810/1375/149 817/1378/152 800/1386/134 +f 816/1387/156 825/1388/124 817/1389/152 +f 814/1379/153 823/1390/123 815/1380/154 +f 817/1389/152 821/1391/70 800/1392/134 +f 820/1377/151 822/1393/69 814/1379/153 +f 800/1394/134 826/1395/125 818/1396/157 +f 818/1396/157 827/1397/74 819/1398/155 +f 815/1380/154 824/1399/73 816/1387/156 +f 819/1398/155 828/1400/126 820/1377/151 +f 791/1350/129 835/1401/158 805/1366/141 +f 793/1349/128 829/1402/159 791/1350/129 +f 797/1403/133 831/1368/143 795/1404/131 +f 803/1405/137 833/1406/160 801/1407/135 +f 805/1366/141 834/1408/161 803/1405/137 +f 832/1409/162 838/1410/163 831/1368/143 +f 830/1369/144 836/1411/164 829/1402/159 +f 835/1401/158 836/1411/164 842/1412/165 +f 833/1406/160 841/1413/166 840/1414/167 +f 830/1369/144 838/1410/163 837/1415/168 +f 834/1408/161 842/1412/165 841/1413/166 +f 801/1407/135 833/1406/160 799/1416/87 +f 833/1406/160 840/1414/167 799/1416/87 +f 799/1417/87 832/1409/162 797/1403/133 +f 832/1409/162 799/1417/87 839/1418/169 +f 837/1415/168 844/1419/70 836/1411/164 +f 799/1420/87 847/1421/123 839/1422/169 +f 836/1411/164 850/1423/125 842/1412/165 +f 840/1424/167 843/1425/69 799/1426/87 +f 841/1427/166 848/1428/126 840/1424/167 +f 837/1415/168 846/1429/73 845/1430/124 +f 842/1412/165 849/1431/74 841/1427/166 +f 839/1422/169 846/1429/73 838/1432/163 +f 892/1433/127 893/1434/128 891/1435/129 +f 894/1436/130 895/1437/131 893/1434/128 +f 896/1438/132 897/1439/133 895/1437/131 +f 898/1440/150 899/1441/87 897/1439/133 +f 900/1442/134 901/1443/135 899/1444/87 +f 902/1445/136 903/1446/137 901/1443/135 +f 904/1447/138 911/1448/139 912/1449/140 +f 904/1450/138 905/1451/141 903/1446/137 +f 906/1452/142 891/1435/129 905/1451/141 +f 893/1434/128 931/1453/143 930/1454/144 +f 904/1447/138 913/1455/145 906/1452/142 +f 894/1436/130 909/1456/146 896/1457/132 +f 906/1452/142 907/1458/147 892/1433/127 +f 892/1433/127 908/1459/148 894/1436/130 +f 896/1457/132 910/1460/149 898/1461/150 +f 912/1449/140 920/1462/151 913/1455/145 +f 910/1460/149 916/1463/156 917/1464/152 +f 908/1459/148 914/1465/153 915/1466/154 +f 913/1455/145 914/1465/153 907/1458/147 +f 911/1448/139 919/1467/155 912/1449/140 +f 908/1459/148 916/1463/156 909/1456/146 +f 900/1468/134 911/1448/139 902/1469/136 +f 911/1448/139 900/1468/134 918/1470/157 +f 898/1461/150 910/1460/149 900/1471/134 +f 910/1460/149 917/1464/152 900/1471/134 +f 916/1472/156 925/1473/124 917/1474/152 +f 914/1465/153 923/1475/123 915/1466/154 +f 917/1474/152 921/1476/70 900/1477/134 +f 920/1462/151 922/1478/69 914/1465/153 +f 900/1479/134 926/1480/125 918/1481/157 +f 918/1481/157 927/1482/74 919/1483/155 +f 915/1466/154 924/1484/73 916/1472/156 +f 919/1483/155 928/1485/126 920/1462/151 +f 891/1435/129 935/1486/158 905/1451/141 +f 893/1434/128 929/1487/159 891/1435/129 +f 897/1488/133 931/1453/143 895/1489/131 +f 901/1490/135 934/1491/161 933/1492/160 +f 905/1451/141 934/1491/161 903/1493/137 +f 932/1494/162 938/1495/163 931/1453/143 +f 930/1454/144 936/1496/164 929/1487/159 +f 935/1486/158 936/1496/164 942/1497/165 +f 933/1492/160 941/1498/166 940/1499/167 +f 930/1454/144 938/1495/163 937/1500/168 +f 934/1491/161 942/1497/165 941/1498/166 +f 901/1490/135 933/1492/160 899/1501/87 +f 933/1492/160 940/1499/167 899/1501/87 +f 899/1502/87 932/1494/162 897/1488/133 +f 932/1494/162 899/1502/87 939/1503/169 +f 937/1500/168 944/1504/70 936/1496/164 +f 899/1505/87 947/1506/123 939/1507/169 +f 936/1496/164 950/1508/125 942/1497/165 +f 940/1509/167 943/1510/69 899/1511/87 +f 941/1512/166 948/1513/126 940/1509/167 +f 937/1500/168 946/1514/73 945/1515/124 +f 942/1497/165 949/1516/74 941/1512/166 +f 939/1507/169 946/1514/73 938/1517/163 +f 952/1518/127 953/1519/128 951/1520/129 +f 954/1521/130 955/1522/131 953/1519/128 +f 956/1523/132 957/1524/133 955/1522/131 +f 958/1525/150 959/1526/87 957/1524/133 +f 960/1527/134 961/1528/135 959/1529/87 +f 962/1530/136 963/1531/137 961/1528/135 +f 964/1532/138 971/1533/139 972/1534/140 +f 964/1535/138 965/1536/141 963/1531/137 +f 966/1537/142 951/1520/129 965/1536/141 +f 953/1519/128 991/1538/143 990/1539/144 +f 966/1537/142 972/1534/140 973/1540/145 +f 954/1521/130 969/1541/146 956/1542/132 +f 966/1537/142 967/1543/147 952/1518/127 +f 952/1518/127 968/1544/148 954/1521/130 +f 956/1542/132 970/1545/149 958/1546/150 +f 973/1540/145 979/1547/155 980/1548/151 +f 969/1541/146 977/1549/152 970/1545/149 +f 968/1544/148 974/1550/153 975/1551/154 +f 973/1540/145 974/1550/153 967/1543/147 +f 971/1533/139 979/1547/155 972/1534/140 +f 968/1544/148 976/1552/156 969/1541/146 +f 960/1553/134 971/1533/139 962/1554/136 +f 971/1533/139 960/1553/134 978/1555/157 +f 958/1546/150 970/1545/149 960/1556/134 +f 970/1545/149 977/1549/152 960/1556/134 +f 976/1557/156 985/1558/124 977/1559/152 +f 974/1550/153 983/1560/123 975/1551/154 +f 977/1559/152 981/1561/70 960/1562/134 +f 980/1548/151 982/1563/69 974/1550/153 +f 960/1564/134 986/1565/125 978/1566/157 +f 978/1566/157 987/1567/74 979/1568/155 +f 975/1551/154 984/1569/73 976/1557/156 +f 979/1568/155 988/1570/126 980/1548/151 +f 965/1536/141 989/1571/159 995/1572/158 +f 953/1519/128 989/1571/159 951/1520/129 +f 957/1573/133 991/1538/143 955/1574/131 +f 961/1575/135 994/1576/161 993/1577/160 +f 965/1536/141 994/1576/161 963/1578/137 +f 992/1579/162 998/1580/163 991/1538/143 +f 990/1539/144 996/1581/164 989/1571/159 +f 995/1572/158 996/1581/164 1002/1582/165 +f 993/1577/160 1001/1583/166 1000/1584/167 +f 990/1539/144 998/1580/163 997/1585/168 +f 994/1576/161 1002/1582/165 1001/1583/166 +f 961/1575/135 993/1577/160 959/1586/87 +f 993/1577/160 1000/1584/167 959/1586/87 +f 959/1587/87 992/1579/162 957/1573/133 +f 992/1579/162 959/1587/87 999/1588/169 +f 997/1585/168 1004/1589/70 996/1581/164 +f 959/1590/87 1007/1591/123 999/1592/169 +f 996/1581/164 1010/1593/125 1002/1582/165 +f 1000/1594/167 1003/1595/69 959/1596/87 +f 1001/1597/166 1008/1598/126 1000/1594/167 +f 997/1585/168 1006/1599/73 1005/1600/124 +f 1002/1582/165 1009/1601/74 1001/1597/166 +f 999/1592/169 1006/1599/73 998/1602/163 +f 558/1202/90 529/844/90 531/842/78 +f 568/1204/91 509/839/91 511/836/92 +f 561/1206/93 523/853/93 525/850/74 +f 564/1125/94 517/862/94 519/1131/77 +f 567/1205/92 511/836/92 513/868/73 +f 560/1207/74 525/850/74 527/847/95 +f 563/1210/77 519/859/77 521/856/96 +f 566/1208/73 513/868/73 515/865/97 +f 559/1209/95 527/847/95 529/844/90 +f 557/1203/78 531/842/78 509/839/91 +f 524/1213/91 576/1228/91 577/1214/92 +f 562/1211/96 521/856/96 523/853/93 +f 565/1212/97 515/865/97 517/862/94 +f 537/817/93 549/1223/93 550/1216/96 +f 544/829/91 556/1224/91 545/1217/78 +f 534/826/90 546/1225/90 547/1218/95 +f 541/809/97 553/1226/97 554/1219/73 +f 538/816/96 550/1216/96 551/1220/77 +f 535/824/95 547/1218/95 548/1221/74 +f 542/805/73 554/1219/73 555/1222/92 +f 539/813/77 551/897/77 552/896/94 +f 536/820/74 548/1221/74 549/1223/93 +f 543/832/92 555/1222/92 556/1224/91 +f 533/828/78 545/1217/78 546/1225/90 +f 540/811/94 552/896/94 553/1226/97 +f 522/1227/78 575/1603/78 576/1228/91 +f 522/1229/78 520/1233/90 574/1230/90 +f 518/1232/95 573/1235/95 574/1230/90 +f 516/1234/74 572/1242/74 573/1235/95 +f 510/1236/77 532/1244/94 580/1237/94 +f 512/1239/96 510/1236/77 570/1238/77 +f 516/1234/74 514/1245/93 571/1241/93 +f 530/1243/97 579/1247/97 580/1237/94 +f 512/1239/96 569/1240/96 571/1241/93 +f 528/1246/73 578/1248/73 579/1247/97 +f 526/1215/92 577/1214/92 578/1248/73 +f 591/873/92 603/1258/92 604/1249/91 +f 581/877/78 593/1253/78 594/1250/90 +f 588/1144/94 600/1259/94 601/1251/97 +f 585/888/93 597/1260/93 598/1252/96 +f 592/1141/91 604/1249/91 593/1253/78 +f 582/881/90 594/1250/90 595/1254/95 +f 589/899/97 601/1251/97 602/1255/73 +f 586/1143/96 598/1252/96 599/1256/77 +f 583/884/95 595/1254/95 596/1257/74 +f 590/902/73 602/1255/73 603/1258/92 +f 587/895/77 599/1604/77 600/1259/94 +f 584/1142/74 596/1257/74 597/1260/93 +f 620/964/74 621/966/93 609/1261/93 +f 627/911/92 628/910/91 616/1263/91 +f 617/958/78 618/960/90 606/1265/90 +f 624/973/94 625/975/97 613/1267/97 +f 621/966/93 622/968/96 610/1269/96 +f 628/910/91 617/958/78 605/1266/78 +f 618/960/90 619/962/95 607/1270/95 +f 625/975/97 626/977/73 614/1271/73 +f 622/968/96 623/970/77 611/1272/77 +f 619/962/95 620/964/74 608/1262/74 +f 626/977/73 627/911/92 615/1264/92 +f 623/971/77 624/973/94 612/1268/94 +f 677/1274/93 678/1286/96 666/1275/96 +f 684/1277/91 673/1295/78 661/1278/78 +f 674/1280/90 675/1288/95 663/1281/95 +f 681/1283/97 682/1290/73 670/1284/73 +f 678/1286/96 679/1605/77 667/1287/77 +f 675/1288/95 676/1293/74 664/1289/74 +f 682/1290/73 683/1294/92 671/1291/92 +f 679/1292/77 680/1296/94 668/972/94 +f 676/1293/74 677/1274/93 665/1276/93 +f 683/1294/92 684/1277/91 672/1279/91 +f 673/1295/78 674/1280/90 662/1282/90 +f 680/1296/94 681/1283/97 669/1285/97 +f 686/979/98 688/981/99 687/1297/99 +f 689/990/100 692/980/100 691/995/101 +f 689/990/100 696/988/102 695/1169/102 +f 688/981/99 693/985/103 694/1299/103 +f 691/995/101 700/993/104 699/1170/104 +f 685/1298/98 697/1606/105 698/996/105 +f 714/1010/106 713/1014/106 716/1013/77 +f 724/1300/107 731/1308/107 726/1301/108 +f 718/1303/109 727/1311/109 730/1304/110 +f 720/1306/111 729/1006/111 732/1176/112 +f 730/1304/110 729/1006/111 720/1306/111 +f 724/1300/107 723/1307/112 732/1176/112 +f 726/1301/108 725/1607/113 722/1309/113 +f 718/1303/109 717/1608/114 728/1310/114 +f 722/1309/113 725/1607/113 728/1312/114 +f 711/1020/115 712/1016/115 713/1014/106 +f 710/1019/69 709/1017/69 712/1016/115 +f 739/1018/116 740/1609/116 737/1314/70 +f 735/1009/78 736/1610/78 733/1315/117 +f 739/1184/116 734/1022/117 733/1316/117 +f 744/1318/118 748/1321/119 745/1319/119 +f 741/1026/69 746/1028/120 747/1029/120 +f 746/1028/120 749/1031/121 750/1030/121 +f 748/1321/119 750/1030/122 749/1031/122 +f 769/1322/73 781/1342/73 780/1323/123 +f 754/1038/70 756/1040/124 755/1325/124 +f 774/1327/125 776/1339/125 775/1328/70 +f 756/1040/124 758/1045/73 757/1330/73 +f 751/1329/70 775/1328/70 782/1331/124 +f 758/1045/73 760/1035/123 759/1333/123 +f 771/1334/69 779/1345/69 778/1335/126 +f 760/1035/123 762/1046/69 761/1337/69 +f 773/1338/74 777/1611/74 776/1339/125 +f 762/1046/69 764/1041/126 763/1340/126 +f 764/1041/126 766/1043/74 765/1341/74 +f 752/1332/124 782/1331/124 781/1342/73 +f 766/1032/74 768/1034/125 767/1343/125 +f 770/1324/123 780/1323/123 779/1345/69 +f 768/1034/125 754/1038/70 753/1326/70 +f 772/1336/126 778/1335/126 777/1346/74 +f 792/1348/127 794/1351/130 793/1349/128 +f 794/1351/130 796/1353/132 795/1352/131 +f 796/1353/132 798/1612/150 797/1354/133 +f 797/1354/133 798/1612/150 800/1355/134 +f 800/1357/134 802/1360/136 801/1358/135 +f 802/1360/136 804/1365/138 803/1361/137 +f 804/1362/138 802/1384/136 811/1363/139 +f 804/1365/138 806/1367/142 805/1366/141 +f 806/1367/142 792/1348/127 791/1350/129 +f 793/1349/128 795/1404/131 831/1368/143 +f 806/1367/142 804/1362/138 812/1364/140 +f 794/1351/130 808/1374/148 809/1371/146 +f 806/1367/142 813/1370/145 807/1373/147 +f 792/1348/127 807/1373/147 808/1374/148 +f 796/1372/132 809/1371/146 810/1375/149 +f 812/1364/140 819/1381/155 820/1377/151 +f 809/1371/146 816/1382/156 817/1378/152 +f 808/1374/148 807/1373/147 814/1379/153 +f 813/1370/145 820/1377/151 814/1379/153 +f 811/1363/139 818/1385/157 819/1381/155 +f 808/1374/148 815/1380/154 816/1382/156 +f 816/1387/156 824/1399/73 825/1388/124 +f 814/1379/153 822/1393/69 823/1390/123 +f 817/1389/152 825/1388/124 821/1391/70 +f 820/1377/151 828/1400/126 822/1393/69 +f 800/1394/134 821/1613/70 826/1395/125 +f 818/1396/157 826/1395/125 827/1397/74 +f 815/1380/154 823/1390/123 824/1399/73 +f 819/1398/155 827/1397/74 828/1400/126 +f 791/1350/129 829/1402/159 835/1401/158 +f 793/1349/128 830/1369/144 829/1402/159 +f 797/1403/133 832/1409/162 831/1368/143 +f 803/1405/137 834/1408/161 833/1406/160 +f 805/1366/141 835/1401/158 834/1408/161 +f 832/1409/162 839/1418/169 838/1410/163 +f 830/1369/144 837/1415/168 836/1411/164 +f 835/1401/158 829/1402/159 836/1411/164 +f 833/1406/160 834/1408/161 841/1413/166 +f 830/1369/144 831/1368/143 838/1410/163 +f 834/1408/161 835/1401/158 842/1412/165 +f 837/1415/168 845/1430/124 844/1419/70 +f 799/1420/87 843/1614/69 847/1421/123 +f 836/1411/164 844/1419/70 850/1423/125 +f 840/1424/167 848/1428/126 843/1425/69 +f 841/1427/166 849/1431/74 848/1428/126 +f 837/1415/168 838/1432/163 846/1429/73 +f 842/1412/165 850/1423/125 849/1431/74 +f 839/1422/169 847/1421/123 846/1429/73 +f 892/1433/127 894/1436/130 893/1434/128 +f 894/1436/130 896/1438/132 895/1437/131 +f 896/1438/132 898/1440/150 897/1439/133 +f 898/1440/150 900/1615/134 899/1441/87 +f 900/1442/134 902/1445/136 901/1443/135 +f 902/1445/136 904/1450/138 903/1446/137 +f 904/1447/138 902/1469/136 911/1448/139 +f 904/1450/138 906/1452/142 905/1451/141 +f 906/1452/142 892/1433/127 891/1435/129 +f 893/1434/128 895/1489/131 931/1453/143 +f 904/1447/138 912/1449/140 913/1455/145 +f 894/1436/130 908/1459/148 909/1456/146 +f 906/1452/142 913/1455/145 907/1458/147 +f 892/1433/127 907/1458/147 908/1459/148 +f 896/1457/132 909/1456/146 910/1460/149 +f 912/1449/140 919/1467/155 920/1462/151 +f 910/1460/149 909/1456/146 916/1463/156 +f 908/1459/148 907/1458/147 914/1465/153 +f 913/1455/145 920/1462/151 914/1465/153 +f 911/1448/139 918/1470/157 919/1467/155 +f 908/1459/148 915/1466/154 916/1463/156 +f 916/1472/156 924/1484/73 925/1473/124 +f 914/1465/153 922/1478/69 923/1475/123 +f 917/1474/152 925/1473/124 921/1476/70 +f 920/1462/151 928/1485/126 922/1478/69 +f 900/1479/134 921/1616/70 926/1480/125 +f 918/1481/157 926/1480/125 927/1482/74 +f 915/1466/154 923/1475/123 924/1484/73 +f 919/1483/155 927/1482/74 928/1485/126 +f 891/1435/129 929/1487/159 935/1486/158 +f 893/1434/128 930/1454/144 929/1487/159 +f 897/1488/133 932/1494/162 931/1453/143 +f 901/1490/135 903/1493/137 934/1491/161 +f 905/1451/141 935/1486/158 934/1491/161 +f 932/1494/162 939/1503/169 938/1495/163 +f 930/1454/144 937/1500/168 936/1496/164 +f 935/1486/158 929/1487/159 936/1496/164 +f 933/1492/160 934/1491/161 941/1498/166 +f 930/1454/144 931/1453/143 938/1495/163 +f 934/1491/161 935/1486/158 942/1497/165 +f 937/1500/168 945/1515/124 944/1504/70 +f 899/1505/87 943/1617/69 947/1506/123 +f 936/1496/164 944/1504/70 950/1508/125 +f 940/1509/167 948/1513/126 943/1510/69 +f 941/1512/166 949/1516/74 948/1513/126 +f 937/1500/168 938/1517/163 946/1514/73 +f 942/1497/165 950/1508/125 949/1516/74 +f 939/1507/169 947/1506/123 946/1514/73 +f 952/1518/127 954/1521/130 953/1519/128 +f 954/1521/130 956/1523/132 955/1522/131 +f 956/1523/132 958/1525/150 957/1524/133 +f 958/1525/150 960/1618/134 959/1526/87 +f 960/1527/134 962/1530/136 961/1528/135 +f 962/1530/136 964/1535/138 963/1531/137 +f 964/1532/138 962/1554/136 971/1533/139 +f 964/1535/138 966/1537/142 965/1536/141 +f 966/1537/142 952/1518/127 951/1520/129 +f 953/1519/128 955/1574/131 991/1538/143 +f 966/1537/142 964/1532/138 972/1534/140 +f 954/1521/130 968/1544/148 969/1541/146 +f 966/1537/142 973/1540/145 967/1543/147 +f 952/1518/127 967/1543/147 968/1544/148 +f 956/1542/132 969/1541/146 970/1545/149 +f 973/1540/145 972/1534/140 979/1547/155 +f 969/1541/146 976/1552/156 977/1549/152 +f 968/1544/148 967/1543/147 974/1550/153 +f 973/1540/145 980/1548/151 974/1550/153 +f 971/1533/139 978/1555/157 979/1547/155 +f 968/1544/148 975/1551/154 976/1552/156 +f 976/1557/156 984/1569/73 985/1558/124 +f 974/1550/153 982/1563/69 983/1560/123 +f 977/1559/152 985/1558/124 981/1561/70 +f 980/1548/151 988/1570/126 982/1563/69 +f 960/1564/134 981/1619/70 986/1565/125 +f 978/1566/157 986/1565/125 987/1567/74 +f 975/1551/154 983/1560/123 984/1569/73 +f 979/1568/155 987/1567/74 988/1570/126 +f 965/1536/141 951/1520/129 989/1571/159 +f 953/1519/128 990/1539/144 989/1571/159 +f 957/1573/133 992/1579/162 991/1538/143 +f 961/1575/135 963/1578/137 994/1576/161 +f 965/1536/141 995/1572/158 994/1576/161 +f 992/1579/162 999/1588/169 998/1580/163 +f 990/1539/144 997/1585/168 996/1581/164 +f 995/1572/158 989/1571/159 996/1581/164 +f 993/1577/160 994/1576/161 1001/1583/166 +f 990/1539/144 991/1538/143 998/1580/163 +f 994/1576/161 995/1572/158 1002/1582/165 +f 997/1585/168 1005/1600/124 1004/1589/70 +f 959/1590/87 1003/1620/69 1007/1591/123 +f 996/1581/164 1004/1589/70 1010/1593/125 +f 1000/1594/167 1008/1598/126 1003/1595/69 +f 1001/1597/166 1009/1601/74 1008/1598/126 +f 997/1585/168 998/1602/163 1006/1599/73 +f 1002/1582/165 1010/1593/125 1009/1601/74 +f 999/1592/169 1007/1591/123 1006/1599/73 +o Scope +v -0.500000 0.437500 -3.250000 +v 0.500000 0.437500 -3.250000 +v -0.500000 0.437500 -4.750000 +v 0.500000 0.437500 -4.750000 +v -0.500000 0.812500 -4.750000 +v -0.500000 0.812500 -3.250000 +v 0.500000 0.812500 -3.250000 +v 0.500000 0.812500 -4.750000 +v -0.250000 1.437500 -4.750000 +v 0.500000 1.437500 -4.750000 +v -0.250000 1.812500 -4.750000 +v 0.500000 1.812500 -4.750000 +v 0.500000 1.437500 -4.500000 +v -0.187500 1.625000 -3.750000 +v 0.500000 1.812500 -4.500000 +v -0.162380 1.718750 -3.750000 +v 0.250000 1.437500 -4.250000 +v -0.093750 1.787380 -3.750000 +v 0.250000 1.812500 -4.250000 +v 0.000000 1.812500 -3.750000 +v 0.250000 1.437500 -3.750000 +v -0.250000 1.437500 -3.750000 +v 0.250000 1.812500 -3.750000 +v -0.250000 1.812500 -3.750000 +v -0.162380 1.531250 -3.750000 +v -0.093750 1.462620 -3.750000 +v -0.000000 1.437500 -3.750000 +v 0.093750 1.462620 -3.750000 +v 0.162380 1.531250 -3.750000 +v 0.187500 1.625000 -3.750000 +v 0.162380 1.718750 -3.750000 +v 0.093750 1.787380 -3.750000 +v -0.187500 1.625000 -3.250000 +v -0.162380 1.718750 -3.250000 +v -0.093750 1.787380 -3.250000 +v 0.000000 1.812500 -3.250000 +v -0.162380 1.531250 -3.250000 +v -0.093750 1.462620 -3.250000 +v -0.000000 1.437500 -3.250000 +v 0.093750 1.462620 -3.250000 +v 0.162380 1.531250 -3.250000 +v 0.187500 1.625000 -3.250000 +v 0.162380 1.718750 -3.250000 +v 0.093750 1.787380 -3.250000 +v 0.000000 2.000000 -2.750000 +v -0.187500 1.949759 -2.750000 +v -0.324760 1.812500 -2.750000 +v -0.375000 1.625000 -2.750000 +v -0.324760 1.437500 -2.750000 +v -0.187500 1.300241 -2.750000 +v -0.000000 1.250000 -2.750000 +v 0.187500 1.300241 -2.750000 +v 0.324759 1.437500 -2.750000 +v 0.375000 1.625000 -2.750000 +v 0.324760 1.812500 -2.750000 +v 0.187500 1.949759 -2.750000 +v 0.000000 2.000000 -2.375000 +v -0.187500 1.949759 -2.375000 +v -0.324760 1.812500 -2.375000 +v -0.375000 1.625000 -2.375000 +v -0.324760 1.437500 -2.375000 +v -0.187500 1.300241 -2.375000 +v -0.000000 1.250000 -2.375000 +v 0.187500 1.300241 -2.375000 +v 0.324759 1.437500 -2.375000 +v 0.375000 1.625000 -2.375000 +v 0.324760 1.812500 -2.375000 +v 0.187500 1.949759 -2.375000 +v 0.000000 1.937500 -2.375000 +v -0.156250 1.895633 -2.375000 +v -0.270633 1.781250 -2.375000 +v -0.312500 1.625000 -2.375000 +v -0.270633 1.468750 -2.375000 +v -0.156250 1.354367 -2.375000 +v -0.000000 1.312500 -2.375000 +v 0.156250 1.354367 -2.375000 +v 0.270633 1.468750 -2.375000 +v 0.312500 1.625000 -2.375000 +v 0.270633 1.781250 -2.375000 +v 0.156250 1.895633 -2.375000 +v 0.000000 1.937500 -2.500000 +v -0.156250 1.895633 -2.500000 +v -0.270633 1.781250 -2.500000 +v -0.312500 1.625000 -2.500000 +v -0.270633 1.468750 -2.500000 +v -0.156250 1.354367 -2.500000 +v -0.000000 1.312500 -2.500000 +v 0.156250 1.354367 -2.500000 +v 0.270633 1.468750 -2.500000 +v 0.312500 1.625000 -2.500000 +v 0.270633 1.781250 -2.500000 +v 0.156250 1.895633 -2.500000 +v 0.125000 1.625000 -5.000000 +v 0.150120 1.718750 -5.000000 +v 0.218750 1.787380 -5.000000 +v 0.312500 1.812500 -5.000000 +v 0.150120 1.531250 -5.000000 +v 0.218750 1.462620 -5.000000 +v 0.312500 1.437500 -5.000000 +v 0.406250 1.462620 -5.000000 +v 0.474880 1.531250 -5.000000 +v 0.500000 1.625000 -5.000000 +v 0.474880 1.718750 -5.000000 +v 0.406250 1.787380 -5.000000 +v 0.125000 1.625000 -4.750000 +v 0.150120 1.718750 -4.750000 +v 0.218750 1.787380 -4.750000 +v 0.312500 1.812500 -4.750000 +v 0.150120 1.531250 -4.750000 +v 0.218750 1.462620 -4.750000 +v 0.312500 1.437500 -4.750000 +v 0.406250 1.462620 -4.750000 +v 0.474880 1.531250 -4.750000 +v 0.500000 1.625000 -4.750000 +v 0.474880 1.718750 -4.750000 +v 0.406250 1.787380 -4.750000 +v 0.312500 1.750000 -5.000000 +v 0.250000 1.733253 -5.000000 +v 0.204247 1.687500 -5.000000 +v 0.187500 1.625000 -5.000000 +v 0.204247 1.562500 -5.000000 +v 0.250000 1.516747 -5.000000 +v 0.312500 1.500000 -5.000000 +v 0.375000 1.516747 -5.000000 +v 0.420753 1.562500 -5.000000 +v 0.437500 1.625000 -5.000000 +v 0.420753 1.687500 -5.000000 +v 0.375000 1.733253 -5.000000 +v 0.312500 1.750000 -4.937500 +v 0.250000 1.733253 -4.937500 +v 0.204247 1.687500 -4.937500 +v 0.187500 1.625000 -4.937500 +v 0.204247 1.562500 -4.937500 +v 0.250000 1.516747 -4.937500 +v 0.312500 1.500000 -4.937500 +v 0.375000 1.516747 -4.937500 +v 0.420753 1.562500 -4.937500 +v 0.437500 1.625000 -4.937500 +v 0.420753 1.687500 -4.937500 +v 0.375000 1.733253 -4.937500 +v -0.125000 0.812500 -4.375000 +v 0.125000 0.812500 -4.375000 +v -0.125000 0.812500 -4.625000 +v 0.125000 0.812500 -4.625000 +v -0.125000 1.437500 -4.625000 +v -0.125000 1.437500 -4.375000 +v 0.125000 1.437500 -4.375000 +v 0.125000 1.437500 -4.625000 +v -0.125000 0.812500 -3.375000 +v 0.125000 0.812500 -3.375000 +v -0.125000 0.812500 -3.625000 +v 0.125000 0.812500 -3.625000 +v -0.125000 1.437500 -4.125000 +v -0.125000 1.437500 -3.875000 +v 0.125000 1.437500 -3.875000 +v 0.125000 1.437500 -4.125000 +v -0.062500 0.937500 -4.375000 +v 0.062500 0.937500 -4.375000 +v -0.062500 0.937500 -3.625000 +v 0.062500 0.937500 -3.625000 +v -0.062500 0.812500 -4.375000 +v 0.062500 0.812500 -4.375000 +v 0.062500 0.812500 -3.625000 +v -0.062500 0.812500 -3.625000 +v -0.062500 1.437500 -4.375000 +v 0.062500 1.437500 -4.375000 +v -0.062500 1.437500 -4.000000 +v 0.062500 1.437500 -4.000000 +v -0.062500 1.312500 -4.375000 +v 0.062500 1.312500 -4.375000 +v 0.062500 1.312500 -4.000000 +v -0.062500 1.312500 -4.000000 +vt 0.351648 0.909091 +vt 0.417582 0.867133 +vt 0.417582 0.909091 +vt 0.615385 0.615385 +vt 0.747253 0.727273 +vt 0.615385 0.727273 +vt 0.780220 0.727273 +vt 0.747253 0.615385 +vt 0.780220 0.615385 +vt 0.582418 0.615385 +vt 0.582418 0.727273 +vt 0.747253 0.573427 +vt 0.615385 0.573427 +vt 0.615385 0.769231 +vt 0.747253 0.769231 +vt 0.351648 0.993007 +vt 0.307692 0.965035 +vt 0.439560 0.909091 +vt 0.175824 0.867133 +vt 0.219780 0.909091 +vt 0.175824 0.909091 +vt 0.439560 0.867133 +vt 0.461538 0.909091 +vt 0.219780 0.867133 +vt 0.263736 0.909091 +vt 0.351648 0.867133 +vt 0.307692 0.811189 +vt 0.329670 0.783217 +vt 0.351648 0.783217 +vt 0.873626 0.846154 +vt 0.857143 0.839161 +vt 0.868132 0.839161 +vt 0.857143 0.846154 +vt 0.840659 0.839161 +vt 0.851648 0.839161 +vt 0.840659 0.846154 +vt 0.824176 0.839161 +vt 0.835165 0.839161 +vt 0.807692 0.846154 +vt 0.818681 0.839161 +vt 0.824176 0.846154 +vt 0.791209 0.839161 +vt 0.802198 0.839161 +vt 0.774725 0.846154 +vt 0.785714 0.839161 +vt 0.791209 0.846154 +vt 0.758242 0.846154 +vt 0.769231 0.839161 +vt 0.741758 0.846154 +vt 0.752747 0.839161 +vt 0.725275 0.839161 +vt 0.741758 0.839161 +vt 0.906593 0.846154 +vt 0.917582 0.839161 +vt 0.923077 0.846154 +vt 0.890110 0.846154 +vt 0.901099 0.839161 +vt 0.873626 0.839161 +vt 0.884615 0.839161 +vt 0.926796 0.828700 +vt 0.974303 0.828700 +vt 0.950550 0.881062 +vt 0.450549 0.937063 +vt 0.439560 0.944056 +vt 0.439560 0.937063 +vt 0.434066 0.944056 +vt 0.428571 0.937063 +vt 0.417582 0.944056 +vt 0.417582 0.937063 +vt 0.412088 0.944056 +vt 0.406593 0.937063 +vt 0.395604 0.944056 +vt 0.395604 0.937063 +vt 0.390110 0.944056 +vt 0.384615 0.937063 +vt 0.379121 0.944056 +vt 0.373626 0.937063 +vt 0.368132 0.944056 +vt 0.362637 0.937063 +vt 0.351648 0.944056 +vt 0.351648 0.937063 +vt 0.483516 0.937063 +vt 0.472527 0.944056 +vt 0.472527 0.937063 +vt 0.467033 0.944056 +vt 0.461538 0.937063 +vt 0.450549 0.944056 +vt 0.463056 0.874158 +vt 0.472527 0.867198 +vt 0.481999 0.888078 +vt 0.615385 0.769231 +vt 0.593407 0.839161 +vt 0.593407 0.769231 +vt 0.571429 0.769231 +vt 0.549451 0.839161 +vt 0.549451 0.769231 +vt 0.703297 0.769231 +vt 0.681319 0.839161 +vt 0.681319 0.769231 +vt 0.659341 0.769231 +vt 0.637363 0.839161 +vt 0.637363 0.769231 +vt 0.659341 0.839161 +vt 0.725275 0.769231 +vt 0.703297 0.839161 +vt 0.571429 0.839161 +vt 0.637363 0.839161 +vt 0.615385 0.839161 +vt 0.791209 0.811189 +vt 0.725275 0.797203 +vt 0.791209 0.797203 +vt 0.725275 0.825175 +vt 0.725275 0.811189 +vt 0.791209 0.783217 +vt 0.791209 0.811189 +vt 0.824176 0.797203 +vt 0.824176 0.811189 +vt 0.791209 0.825175 +vt 0.824176 0.825175 +vt 0.824176 0.783217 +vt 0.791209 0.797203 +vt 0.791209 0.783217 +vt 0.329670 0.993007 +vt 0.263736 0.965035 +vt 0.461538 0.867133 +vt 0.263736 0.867133 +vt 0.263736 0.811189 +vt 0.807692 0.839161 +vt 0.774725 0.839161 +vt 0.758242 0.839161 +vt 0.725275 0.846154 +vt 0.906593 0.839161 +vt 0.890110 0.839161 +vt 0.936836 0.876385 +vt 0.926796 0.863608 +vt 0.923122 0.846154 +vt 0.936836 0.815923 +vt 0.950550 0.811246 +vt 0.964263 0.815923 +vt 0.977977 0.846154 +vt 0.974303 0.863608 +vt 0.964263 0.876385 +vt 0.445055 0.944056 +vt 0.428571 0.944056 +vt 0.423077 0.944056 +vt 0.406593 0.944056 +vt 0.401099 0.944056 +vt 0.384615 0.944056 +vt 0.373626 0.944056 +vt 0.362637 0.944056 +vt 0.357143 0.944056 +vt 0.478022 0.944056 +vt 0.461538 0.944056 +vt 0.456044 0.944056 +vt 0.477996 0.893173 +vt 0.463056 0.888078 +vt 0.472527 0.895038 +vt 0.467059 0.893173 +vt 0.461590 0.881118 +vt 0.467059 0.869063 +vt 0.477996 0.869063 +vt 0.481999 0.874158 +vt 0.483465 0.881118 +vt 0.725275 0.839161 +vt 0.637363 0.769231 +vt 0.791209 0.825175 +vt 0.725275 0.783217 +vt 0.758242 1.000000 +vt 0.769231 0.944056 +vt 0.769231 1.000000 +vt 0.791209 1.000000 +vt 0.802198 0.944056 +vt 0.802198 1.000000 +vt 0.725275 1.000000 +vt 0.736264 0.944056 +vt 0.736264 1.000000 +vt 0.840659 1.000000 +vt 0.851648 0.944056 +vt 0.851648 1.000000 +vt 0.857143 1.000000 +vt 0.868132 0.944056 +vt 0.868132 1.000000 +vt 0.890110 1.000000 +vt 0.901099 0.944056 +vt 0.901099 1.000000 +vt 0.741758 1.000000 +vt 0.752747 0.944056 +vt 0.752747 1.000000 +vt 0.873626 1.000000 +vt 0.884615 0.944056 +vt 0.884615 1.000000 +vt 0.824176 1.000000 +vt 0.835165 0.944056 +vt 0.835165 1.000000 +vt 0.906593 1.000000 +vt 0.917582 0.944056 +vt 0.917582 1.000000 +vt 0.807692 1.000000 +vt 0.818681 0.944056 +vt 0.818681 1.000000 +vt 0.774725 1.000000 +vt 0.785714 0.944056 +vt 0.785714 1.000000 +vt 0.840659 0.944056 +vt 0.857143 0.888112 +vt 0.824176 0.888112 +vt 0.840659 0.888112 +vt 0.807692 0.944056 +vt 0.791209 0.888112 +vt 0.807692 0.888112 +vt 0.774725 0.888112 +vt 0.758242 0.944056 +vt 0.741758 0.944056 +vt 0.758242 0.888112 +vt 0.725275 0.888112 +vt 0.741758 0.888112 +vt 0.906593 0.888112 +vt 0.923077 0.888112 +vt 0.890110 0.944056 +vt 0.873626 0.888112 +vt 0.890110 0.888112 +vt 0.857143 0.944056 +vt 0.752747 0.825175 +vt 0.835165 0.825175 +vt 0.802198 0.825175 +vt 0.884615 0.825175 +vt 0.736264 0.825175 +vt 0.736264 0.839161 +vt 0.785714 0.825175 +vt 0.868132 0.825175 +vt 0.917582 0.825175 +vt 0.769231 0.825175 +vt 0.851648 0.825175 +vt 0.818681 0.825175 +vt 0.901099 0.825175 +vt 0.384615 0.909091 +vt 0.406593 0.909091 +vt 0.362637 0.909091 +vt 0.439560 0.909091 +vt 0.450549 0.909091 +vt 0.472527 0.909091 +vt 0.373626 0.909091 +vt 0.461538 0.909091 +vt 0.428571 0.909091 +vt 0.483516 0.909091 +vt 0.417582 0.909091 +vt 0.395604 0.909091 +vt 0.450549 0.951049 +vt 0.351648 0.951049 +vt 0.384615 0.951049 +vt 0.439560 0.951049 +vt 0.472527 0.951049 +vt 0.373626 0.951049 +vt 0.428571 0.951049 +vt 0.406593 0.951049 +vt 0.461538 0.951049 +vt 0.362637 0.951049 +vt 0.417582 0.951049 +vt 0.395604 0.951049 +vt 0.791209 0.944056 +vt 0.725275 0.944056 +vt 0.873626 0.944056 +vt 0.824176 0.944056 +vt 0.906593 0.944056 +vt 0.774725 0.944056 +vt 0.741758 0.825175 +vt 0.824176 0.825175 +vt 0.791209 0.825175 +vt 0.873626 0.825175 +vt 0.725275 0.825175 +vt 0.774725 0.825175 +vt 0.857143 0.825175 +vt 0.906593 0.825175 +vt 0.758242 0.825175 +vt 0.840659 0.825175 +vt 0.807692 0.825175 +vt 0.890110 0.825175 +vt 0.351648 0.909091 +vt 0.456044 0.951049 +vt 0.357143 0.951049 +vt 0.390110 0.951049 +vt 0.445055 0.951049 +vt 0.478022 0.951049 +vt 0.379121 0.951049 +vt 0.434066 0.951049 +vt 0.412088 0.951049 +vt 0.467033 0.951049 +vt 0.368132 0.951049 +vt 0.423077 0.951049 +vt 0.401099 0.951049 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.7071 0.0000 0.7071 +vn 0.0000 -0.6247 -0.7809 +vn 0.0000 0.6247 0.7809 +vn -0.8660 -0.5000 0.0000 +vn -0.8660 0.5000 0.0000 +vn -0.5000 0.8660 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.4682 0.8109 -0.3511 +vn 0.8109 0.4682 -0.3511 +vn -0.0000 0.9363 -0.3511 +vn -0.4682 0.8109 -0.3511 +vn -0.8109 0.4682 -0.3511 +vn -0.9363 -0.0000 -0.3511 +vn -0.8109 -0.4682 -0.3511 +vn -0.4682 -0.8109 -0.3511 +vn 0.0000 -0.9363 -0.3511 +vn 0.4682 -0.8109 -0.3511 +vn 0.8109 -0.4682 -0.3511 +vn 0.9363 -0.0000 -0.3511 +s off +f 1019/1621/170 1022/1622/170 1020/1623/170 +f 1017/1624/171 1015/1625/171 1016/1626/171 +f 1013/1627/170 1018/1628/170 1014/1629/170 +f 1012/1630/172 1016/1626/172 1011/1631/172 +f 1014/1632/173 1017/1624/173 1012/1633/173 +f 1011/1634/174 1015/1625/174 1013/1635/174 +f 1019/1621/175 1020/1636/175 1027/1637/175 +f 1022/1622/173 1023/1638/173 1020/1623/173 +f 1029/1639/173 1031/1640/173 1027/1641/173 +f 1025/1642/176 1027/1643/176 1023/1638/176 +f 1033/1644/172 1032/1645/172 1031/1640/172 +f 1032/1645/174 1021/1646/174 1019/1621/174 +f 1029/1647/171 1025/1648/171 1022/1649/171 +f 1076/1650/172 1089/1651/172 1088/1652/172 +f 1077/1653/172 1090/1654/172 1089/1655/172 +f 1078/1656/172 1079/1657/172 1090/1658/172 +f 1068/1659/172 1079/1660/172 1067/1661/172 +f 1068/1659/172 1081/1662/172 1080/1663/172 +f 1070/1664/172 1081/1665/172 1069/1666/172 +f 1071/1667/172 1082/1668/172 1070/1664/172 +f 1072/1669/172 1083/1670/172 1071/1667/172 +f 1072/1669/172 1085/1671/172 1084/1672/172 +f 1074/1673/172 1085/1674/172 1073/1675/172 +f 1075/1676/172 1086/1677/172 1074/1673/172 +f 1075/1676/172 1088/1678/172 1087/1679/172 +f 1095/1680/172 1099/1681/172 1091/1682/172 +f 1112/1683/170 1137/1684/170 1113/1685/170 +f 1137/1686/170 1114/1687/170 1113/1685/170 +f 1114/1687/170 1127/1688/170 1106/1689/170 +f 1127/1690/170 1105/1691/170 1106/1689/170 +f 1105/1691/170 1129/1692/170 1104/1693/170 +f 1129/1694/170 1103/1695/170 1104/1693/170 +f 1130/1696/170 1107/1697/170 1103/1695/170 +f 1131/1698/170 1108/1699/170 1107/1697/170 +f 1108/1699/170 1133/1700/170 1109/1701/170 +f 1109/1702/170 1134/1703/170 1110/1704/170 +f 1134/1705/170 1111/1706/170 1110/1704/170 +f 1111/1706/170 1136/1707/170 1112/1683/170 +f 1147/1708/170 1145/1709/170 1141/1710/170 +f 1161/1711/177 1166/1712/177 1162/1713/177 +f 1160/1714/178 1164/1715/178 1159/1716/178 +f 1153/1717/170 1158/1718/170 1154/1719/170 +f 1152/1720/172 1156/1721/172 1151/1722/172 +f 1154/1719/173 1157/1723/173 1152/1720/173 +f 1151/1724/174 1155/1725/174 1153/1717/174 +f 1162/1713/173 1165/1726/173 1160/1714/173 +f 1161/1711/174 1164/1727/174 1163/1728/174 +f 1167/1729/171 1170/1730/171 1168/1731/171 +f 1167/1729/174 1174/1732/174 1169/1733/174 +f 1170/1730/173 1172/1734/173 1168/1731/173 +f 1181/1735/175 1179/1736/175 1180/1737/175 +f 1178/1738/173 1180/1737/173 1176/1739/173 +f 1175/1740/174 1182/1741/174 1177/1742/174 +f 1019/1621/170 1021/1646/170 1022/1622/170 +f 1017/1624/171 1018/1628/171 1015/1625/171 +f 1013/1627/170 1015/1625/170 1018/1628/170 +f 1012/1630/172 1017/1624/172 1016/1626/172 +f 1014/1632/173 1018/1628/173 1017/1624/173 +f 1011/1634/174 1016/1626/174 1015/1625/174 +f 1020/1636/175 1023/1743/175 1027/1637/175 +f 1027/1637/175 1031/1744/175 1032/1645/175 +f 1032/1645/175 1019/1621/175 1027/1637/175 +f 1022/1622/173 1025/1642/173 1023/1638/173 +f 1029/1639/173 1033/1644/173 1031/1640/173 +f 1025/1642/176 1029/1745/176 1027/1643/176 +f 1033/1644/172 1034/1746/172 1032/1645/172 +f 1032/1645/174 1034/1746/174 1021/1646/174 +f 1022/1649/171 1021/1646/171 1029/1647/171 +f 1021/1646/171 1034/1746/171 1029/1647/171 +f 1034/1746/171 1033/1747/171 1029/1647/171 +f 1076/1650/172 1077/1653/172 1089/1651/172 +f 1077/1653/172 1078/1656/172 1090/1654/172 +f 1078/1656/172 1067/1661/172 1079/1657/172 +f 1068/1659/172 1080/1748/172 1079/1660/172 +f 1068/1659/172 1069/1666/172 1081/1662/172 +f 1070/1664/172 1082/1749/172 1081/1665/172 +f 1071/1667/172 1083/1750/172 1082/1668/172 +f 1072/1669/172 1084/1672/172 1083/1670/172 +f 1072/1669/172 1073/1751/172 1085/1671/172 +f 1074/1673/172 1086/1752/172 1085/1674/172 +f 1075/1676/172 1087/1753/172 1086/1677/172 +f 1075/1676/172 1076/1650/172 1088/1678/172 +f 1091/1682/172 1092/1754/172 1095/1680/172 +f 1092/1754/172 1093/1755/172 1095/1680/172 +f 1093/1755/172 1094/1756/172 1095/1680/172 +f 1095/1680/172 1096/1757/172 1097/1758/172 +f 1097/1758/172 1098/1759/172 1095/1680/172 +f 1098/1759/172 1099/1681/172 1095/1680/172 +f 1099/1681/172 1100/1760/172 1101/1761/172 +f 1101/1761/172 1102/1762/172 1099/1681/172 +f 1102/1762/172 1091/1682/172 1099/1681/172 +f 1112/1683/170 1136/1763/170 1137/1684/170 +f 1137/1686/170 1138/1764/170 1114/1687/170 +f 1114/1687/170 1138/1765/170 1127/1688/170 +f 1127/1690/170 1128/1766/170 1105/1691/170 +f 1105/1691/170 1128/1767/170 1129/1692/170 +f 1129/1694/170 1130/1768/170 1103/1695/170 +f 1130/1696/170 1131/1769/170 1107/1697/170 +f 1131/1698/170 1132/1770/170 1108/1699/170 +f 1108/1699/170 1132/1771/170 1133/1700/170 +f 1109/1702/170 1133/1772/170 1134/1703/170 +f 1134/1705/170 1135/1773/170 1111/1706/170 +f 1111/1706/170 1135/1774/170 1136/1707/170 +f 1141/1710/170 1140/1775/170 1149/1776/170 +f 1140/1775/170 1139/1777/170 1149/1776/170 +f 1139/1777/170 1150/1778/170 1149/1776/170 +f 1149/1776/170 1148/1779/170 1147/1708/170 +f 1147/1708/170 1146/1780/170 1145/1709/170 +f 1145/1709/170 1144/1781/170 1141/1710/170 +f 1144/1781/170 1143/1782/170 1141/1710/170 +f 1143/1782/170 1142/1783/170 1141/1710/170 +f 1149/1776/170 1147/1708/170 1141/1710/170 +f 1161/1711/177 1163/1728/177 1166/1712/177 +f 1160/1714/178 1165/1726/178 1164/1715/178 +f 1153/1717/170 1155/1725/170 1158/1718/170 +f 1152/1720/172 1157/1723/172 1156/1721/172 +f 1154/1719/173 1158/1718/173 1157/1723/173 +f 1151/1724/174 1156/1784/174 1155/1725/174 +f 1162/1713/173 1166/1712/173 1165/1726/173 +f 1161/1711/174 1159/1785/174 1164/1727/174 +f 1167/1729/171 1169/1733/171 1170/1730/171 +f 1167/1729/174 1171/1786/174 1174/1732/174 +f 1170/1730/173 1173/1787/173 1172/1734/173 +f 1181/1735/175 1182/1741/175 1179/1736/175 +f 1178/1738/173 1181/1735/173 1180/1737/173 +f 1175/1740/174 1179/1736/174 1182/1741/174 +s 1 +f 1035/1788/179 1043/1789/174 1024/1790/174 +f 1026/1791/180 1045/1792/181 1028/1793/181 +f 1037/1794/175 1048/1795/182 1036/1796/182 +f 1042/1797/183 1053/1798/184 1041/1799/184 +f 1041/1800/184 1052/1801/173 1040/1802/173 +f 1039/1803/185 1050/1804/186 1038/1805/186 +f 1036/1806/182 1047/1807/179 1035/1808/179 +f 1040/1809/173 1051/1810/185 1039/1811/185 +f 1030/1812/171 1054/1813/183 1042/1814/183 +f 1038/1815/186 1049/1816/175 1037/1817/175 +f 1028/1818/181 1046/1819/171 1030/1820/171 +f 1024/1821/174 1044/1822/180 1026/1823/180 +f 1054/1824/187 1065/1825/188 1053/1798/188 +f 1054/1813/187 1055/1826/189 1066/1827/187 +f 1045/1828/190 1055/1826/189 1046/1819/189 +f 1045/1792/190 1057/1829/191 1056/1830/190 +f 1044/1822/191 1058/1831/192 1057/1829/191 +f 1047/1832/193 1058/1831/192 1043/1789/192 +f 1048/1833/194 1059/1834/193 1047/1807/193 +f 1048/1795/194 1061/1835/195 1060/1836/194 +f 1049/1816/195 1062/1837/196 1061/1838/195 +f 1051/1839/197 1062/1837/196 1050/1804/196 +f 1051/1810/197 1064/1840/198 1063/1841/197 +f 1053/1842/188 1064/1840/198 1052/1801/198 +f 1059/1834/179 1070/1664/174 1058/1831/174 +f 1066/1827/183 1077/1653/184 1065/1825/184 +f 1056/1830/181 1067/1661/171 1055/1826/171 +f 1063/1841/185 1074/1673/186 1062/1837/186 +f 1060/1836/182 1071/1667/179 1059/1834/179 +f 1055/1826/171 1078/1656/183 1066/1827/183 +f 1057/1829/180 1068/1659/181 1056/1830/181 +f 1064/1840/173 1075/1676/185 1063/1841/185 +f 1061/1835/175 1072/1669/182 1060/1836/182 +f 1058/1831/174 1069/1666/180 1057/1829/180 +f 1065/1825/184 1076/1650/173 1064/1840/173 +f 1062/1837/186 1073/1675/175 1061/1838/175 +f 1084/1672/183 1095/1843/184 1083/1670/184 +f 1079/1657/175 1102/1844/182 1090/1658/182 +f 1081/1662/185 1092/1845/186 1080/1663/186 +f 1088/1678/174 1099/1846/180 1087/1679/180 +f 1085/1671/171 1096/1847/183 1084/1848/183 +f 1082/1749/173 1093/1849/185 1081/1665/185 +f 1089/1651/179 1100/1850/174 1088/1652/174 +f 1086/1752/181 1097/1851/171 1085/1674/171 +f 1083/1750/184 1094/1852/173 1082/1668/173 +f 1090/1654/182 1101/1853/179 1089/1655/179 +f 1080/1748/186 1091/1854/175 1079/1660/175 +f 1087/1753/180 1098/1855/181 1086/1677/181 +f 1107/1697/179 1115/1856/174 1103/1695/174 +f 1104/1693/180 1117/1857/181 1105/1691/181 +f 1109/1701/175 1120/1858/182 1108/1699/182 +f 1114/1687/183 1125/1859/184 1113/1685/184 +f 1113/1685/184 1124/1860/173 1112/1683/173 +f 1111/1706/185 1122/1861/186 1110/1704/186 +f 1108/1699/182 1119/1862/179 1107/1697/179 +f 1112/1683/173 1123/1863/185 1111/1706/185 +f 1106/1689/171 1126/1864/183 1114/1687/183 +f 1110/1704/186 1121/1865/175 1109/1702/175 +f 1105/1691/181 1118/1866/171 1106/1689/171 +f 1103/1695/174 1116/1867/180 1104/1693/180 +f 1135/1774/180 1148/1868/174 1136/1707/174 +f 1132/1771/183 1145/1869/171 1133/1700/171 +f 1129/1694/185 1142/1870/173 1130/1768/173 +f 1136/1763/174 1149/1871/179 1137/1684/179 +f 1133/1772/171 1146/1872/181 1134/1703/181 +f 1130/1696/173 1143/1873/184 1131/1769/184 +f 1137/1686/179 1150/1874/182 1138/1764/182 +f 1127/1690/175 1140/1875/186 1128/1766/186 +f 1134/1705/181 1147/1876/180 1135/1773/180 +f 1131/1698/184 1144/1877/183 1132/1770/183 +f 1138/1765/182 1139/1878/175 1127/1688/175 +f 1128/1767/186 1141/1879/185 1129/1692/185 +f 1035/1788/179 1047/1832/179 1043/1789/174 +f 1026/1791/180 1044/1880/180 1045/1792/181 +f 1037/1794/175 1049/1881/175 1048/1795/182 +f 1042/1797/183 1054/1824/183 1053/1798/184 +f 1041/1800/184 1053/1842/184 1052/1801/173 +f 1039/1803/185 1051/1839/185 1050/1804/186 +f 1036/1806/182 1048/1833/182 1047/1807/179 +f 1040/1809/173 1052/1882/173 1051/1810/185 +f 1030/1812/171 1046/1883/171 1054/1813/183 +f 1038/1815/186 1050/1884/186 1049/1816/175 +f 1028/1818/181 1045/1828/181 1046/1819/171 +f 1024/1821/174 1043/1885/174 1044/1822/180 +f 1054/1824/187 1066/1827/187 1065/1825/188 +f 1054/1813/187 1046/1883/189 1055/1826/189 +f 1045/1828/190 1056/1830/190 1055/1826/189 +f 1045/1792/190 1044/1880/191 1057/1829/191 +f 1044/1822/191 1043/1885/192 1058/1831/192 +f 1047/1832/193 1059/1834/193 1058/1831/192 +f 1048/1833/194 1060/1836/194 1059/1834/193 +f 1048/1795/194 1049/1881/195 1061/1835/195 +f 1049/1816/195 1050/1884/196 1062/1837/196 +f 1051/1839/197 1063/1841/197 1062/1837/196 +f 1051/1810/197 1052/1882/198 1064/1840/198 +f 1053/1842/188 1065/1825/188 1064/1840/198 +f 1059/1834/179 1071/1667/179 1070/1664/174 +f 1066/1827/183 1078/1656/183 1077/1653/184 +f 1056/1830/181 1068/1659/181 1067/1661/171 +f 1063/1841/185 1075/1676/185 1074/1673/186 +f 1060/1836/182 1072/1669/182 1071/1667/179 +f 1055/1826/171 1067/1661/171 1078/1656/183 +f 1057/1829/180 1069/1666/180 1068/1659/181 +f 1064/1840/173 1076/1650/173 1075/1676/185 +f 1061/1835/175 1073/1751/175 1072/1669/182 +f 1058/1831/174 1070/1664/174 1069/1666/180 +f 1065/1825/184 1077/1653/184 1076/1650/173 +f 1062/1837/186 1074/1673/186 1073/1675/175 +f 1084/1672/183 1096/1886/183 1095/1843/184 +f 1079/1657/175 1091/1887/175 1102/1844/182 +f 1081/1662/185 1093/1888/185 1092/1845/186 +f 1088/1678/174 1100/1889/174 1099/1846/180 +f 1085/1671/171 1097/1890/171 1096/1847/183 +f 1082/1749/173 1094/1891/173 1093/1849/185 +f 1089/1651/179 1101/1892/179 1100/1850/174 +f 1086/1752/181 1098/1893/181 1097/1851/171 +f 1083/1750/184 1095/1894/184 1094/1852/173 +f 1090/1654/182 1102/1895/182 1101/1853/179 +f 1080/1748/186 1092/1896/186 1091/1854/175 +f 1087/1753/180 1099/1897/180 1098/1855/181 +f 1107/1697/179 1119/1862/179 1115/1856/174 +f 1104/1693/180 1116/1867/180 1117/1857/181 +f 1109/1701/175 1121/1898/175 1120/1858/182 +f 1114/1687/183 1126/1864/183 1125/1859/184 +f 1113/1685/184 1125/1859/184 1124/1860/173 +f 1111/1706/185 1123/1863/185 1122/1861/186 +f 1108/1699/182 1120/1858/182 1119/1862/179 +f 1112/1683/173 1124/1860/173 1123/1863/185 +f 1106/1689/171 1118/1866/171 1126/1864/183 +f 1110/1704/186 1122/1861/186 1121/1865/175 +f 1105/1691/181 1117/1857/181 1118/1866/171 +f 1103/1695/174 1115/1856/174 1116/1867/180 +f 1135/1774/180 1147/1899/180 1148/1868/174 +f 1132/1771/183 1144/1900/183 1145/1869/171 +f 1129/1694/185 1141/1901/185 1142/1870/173 +f 1136/1763/174 1148/1902/174 1149/1871/179 +f 1133/1772/171 1145/1903/171 1146/1872/181 +f 1130/1696/173 1142/1904/173 1143/1873/184 +f 1137/1686/179 1149/1905/179 1150/1874/182 +f 1127/1690/175 1139/1906/175 1140/1875/186 +f 1134/1705/181 1146/1907/181 1147/1876/180 +f 1131/1698/184 1143/1908/184 1144/1877/183 +f 1138/1765/182 1150/1909/182 1139/1878/175 +f 1128/1767/186 1140/1910/186 1141/1879/185 +o Hook +v 0.250000 0.433012 5.750000 +v 0.000000 0.374500 5.750000 +v 0.433013 0.250000 5.750000 +v 0.187250 0.324327 5.750000 +v 0.500000 -0.000000 5.750000 +v 0.324327 0.187250 5.750000 +v 0.433012 -0.250000 5.750000 +v 0.374500 0.000000 5.750000 +v 0.250000 -0.433013 5.750000 +v 0.324327 -0.187250 5.750000 +v 0.000000 -0.500000 5.750000 +v 0.187250 -0.324327 5.750000 +v -0.250000 -0.433013 5.750000 +v 0.000000 -0.374500 5.750000 +v -0.433012 -0.250000 5.750000 +v -0.187250 -0.324327 5.750000 +v -0.500000 0.000000 5.750000 +v -0.324327 -0.187250 5.750000 +v -0.433012 0.250000 5.750000 +v -0.374500 0.000000 5.750000 +v -0.250000 0.433013 5.750000 +v -0.324327 0.187250 5.750000 +v 0.000000 0.500000 5.750000 +v -0.187250 0.324327 5.750000 +v 0.000000 0.374500 1.750000 +v 0.187250 0.324327 1.750000 +v 0.324327 0.187250 1.750000 +v 0.374500 0.000000 1.750000 +v 0.324327 -0.187250 1.750000 +v 0.187250 -0.324327 1.750000 +v 0.000000 -0.374500 1.750000 +v -0.187250 -0.324327 1.750000 +v -0.324327 -0.187250 1.750000 +v -0.374500 0.000000 1.750000 +v -0.324327 0.187250 1.750000 +v -0.187250 0.324327 1.750000 +v 0.250000 0.433012 6.000000 +v 0.433013 0.250000 6.000000 +v 0.500000 -0.000000 6.000000 +v 0.433012 -0.250000 6.000000 +v 0.250000 -0.433013 6.000000 +v 0.000000 -0.500000 6.000000 +v -0.250000 -0.433013 6.000000 +v -0.433012 -0.250000 6.000000 +v -0.500000 0.000000 6.000000 +v -0.433012 0.250000 6.000000 +v -0.250000 0.433013 6.000000 +v 0.000000 0.500000 6.000000 +v 0.000000 0.000000 6.500000 +v 0.108253 0.062500 6.500000 +v 0.108253 0.187500 6.500000 +v 0.000000 0.250000 6.500000 +v -0.108253 0.187500 6.500000 +v -0.108253 0.062500 6.500000 +v 0.000000 2.125000 6.000000 +v 0.000000 -0.000000 6.500000 +v 0.000000 1.750000 6.500000 +v -0.108253 0.062500 6.500000 +v -0.108253 0.062500 6.000000 +v -0.108253 0.187500 6.000000 +v 0.000000 0.250000 6.000000 +v 0.108253 0.187500 6.000000 +v 0.108253 0.062500 6.000000 +v 0.000000 0.000000 6.000000 +v 0.000000 2.250000 6.500000 +v 0.108253 2.187500 6.500000 +v 0.108253 2.062500 6.500000 +v 0.000000 2.000000 6.500000 +v -0.108253 2.062500 6.500000 +v -0.108253 2.187500 6.500000 +v 0.000000 2.099278 7.062500 +v 0.108253 2.045152 7.031250 +v 0.108253 1.936899 6.968750 +v 0.000000 1.882772 6.937500 +v -0.108253 1.936899 6.968750 +v -0.108253 2.045152 7.031250 +v 0.000000 1.687500 7.474278 +v 0.108253 1.656250 7.420152 +v 0.108253 1.593750 7.311899 +v 0.000000 1.562500 7.257772 +v -0.108253 1.593750 7.311899 +v -0.108253 1.656250 7.420152 +v 0.000000 1.125000 7.625000 +v 0.108253 1.125000 7.562500 +v 0.108253 1.125000 7.437500 +v 0.000000 1.125000 7.375000 +v -0.108253 1.125000 7.437500 +v -0.108253 1.125000 7.562500 +v 0.000000 0.562500 7.474278 +v 0.108253 0.593750 7.420152 +v 0.108253 0.656250 7.311899 +v 0.000000 0.687500 7.257772 +v -0.108253 0.656250 7.311899 +v -0.108253 0.593750 7.420152 +v 0.000000 0.150722 7.062500 +v 0.108253 0.204848 7.031250 +v 0.108253 0.313101 6.968750 +v 0.000000 0.367228 6.937500 +v -0.108253 0.313101 6.968750 +v -0.108253 0.204848 7.031250 +v -0.216506 0.000000 6.500000 +v -0.216506 -0.125000 6.500000 +v -0.108253 -0.187500 6.500000 +v 0.000000 -0.125000 6.500000 +v -1.840304 -1.062500 6.000000 +v -1.515545 -0.875000 6.500000 +v 0.000000 -0.125000 6.000000 +v -0.108253 -0.187500 6.000000 +v -0.216506 -0.125000 6.000000 +v -0.216506 0.000000 6.000000 +v -0.108253 0.062500 6.000000 +v 0.000000 -0.000000 6.000000 +v -1.948557 -1.125000 6.500000 +v -1.948557 -1.000000 6.500000 +v -1.840304 -0.937500 6.500000 +v -1.732051 -1.000000 6.500000 +v -1.732051 -1.125000 6.500000 +v -1.840304 -1.187500 6.500000 +v -1.818028 -1.049639 7.062500 +v -1.825281 -0.928826 7.031250 +v -1.731530 -0.874700 6.968750 +v -1.630529 -0.941386 6.937500 +v -1.623278 -1.062199 6.968750 +v -1.717027 -1.116326 7.031250 +v -1.461418 -0.843750 7.474278 +v -1.488481 -0.734375 7.420152 +v -1.434355 -0.703125 7.311899 +v -1.353165 -0.781250 7.257772 +v -1.326102 -0.890625 7.311899 +v -1.380228 -0.921875 7.420152 +v -0.974278 -0.562500 7.625000 +v -1.028405 -0.468750 7.562500 +v -1.028405 -0.468750 7.437500 +v -0.974278 -0.562500 7.375000 +v -0.920152 -0.656250 7.437500 +v -0.920152 -0.656250 7.562500 +v -0.487139 -0.281250 7.474278 +v -0.568329 -0.203125 7.420152 +v -0.622456 -0.234375 7.311899 +v -0.595393 -0.343750 7.257772 +v -0.514203 -0.421875 7.311899 +v -0.460076 -0.390625 7.420152 +v -0.130529 -0.075361 7.062500 +v -0.231530 -0.008674 7.031250 +v -0.325280 -0.062801 6.968750 +v -0.318028 -0.183614 6.937500 +v -0.217027 -0.250301 6.968750 +v -0.123277 -0.196174 7.031250 +v 0.231530 -0.008674 7.031250 +v 0.325280 -0.062801 6.968750 +v 0.318028 -0.183614 6.937500 +v 0.217027 -0.250301 6.968750 +v 0.123277 -0.196174 7.031250 +v 0.130529 -0.075361 7.062500 +v 0.568329 -0.203125 7.420152 +v 0.622456 -0.234375 7.311899 +v 0.595393 -0.343750 7.257772 +v 0.514203 -0.421875 7.311899 +v 0.460076 -0.390625 7.420152 +v 0.487139 -0.281250 7.474278 +v 1.028405 -0.468750 7.562500 +v 1.028405 -0.468750 7.437500 +v 0.974278 -0.562500 7.375000 +v 0.920152 -0.656250 7.437500 +v 0.920152 -0.656250 7.562500 +v 0.974278 -0.562500 7.625000 +v 1.488481 -0.734375 7.420152 +v 1.434355 -0.703125 7.311899 +v 1.353165 -0.781250 7.257772 +v 1.326101 -0.890625 7.311899 +v 1.380228 -0.921875 7.420152 +v 1.461418 -0.843750 7.474278 +v 1.825280 -0.928826 7.031250 +v 1.731530 -0.874700 6.968750 +v 1.630529 -0.941386 6.937500 +v 1.623277 -1.062200 6.968750 +v 1.717027 -1.116326 7.031250 +v 1.818028 -1.049639 7.062500 +v 1.948557 -1.000000 6.500000 +v 1.840304 -0.937500 6.500000 +v 1.732051 -1.000000 6.500000 +v 1.732051 -1.125000 6.500000 +v 1.840304 -1.187500 6.500000 +v 1.948557 -1.125000 6.500000 +v 0.000000 -0.000000 6.000000 +v 0.000000 -0.125000 6.000000 +v 0.108253 -0.187500 6.000000 +v 0.216506 -0.125000 6.000000 +v 0.216506 -0.000000 6.000000 +v 0.108253 0.062500 6.000000 +v 1.515544 -0.875000 6.500000 +v 1.840304 -1.062500 6.000000 +v 0.108253 0.062500 6.500000 +v 0.216506 -0.000000 6.500000 +v 0.216506 -0.125000 6.500000 +v 0.108253 -0.187500 6.500000 +v 0.000000 -0.125000 6.500000 +v 0.000000 -0.000000 6.500000 +vt 0.073171 0.666667 +vt 0.048780 0.722222 +vt 0.048780 0.666667 +vt 0.073171 0.500000 +vt 0.048780 0.555556 +vt 0.048780 0.500000 +vt 0.073171 0.444444 +vt 0.048780 0.444444 +vt 0.073171 0.611111 +vt 0.073171 0.652778 +vt 0.073171 0.555556 +vt 0.048780 0.611111 +vt 0.073171 0.722222 +vt 0.048780 0.777778 +vt 0.073171 0.819444 +vt 0.073171 0.777778 +vt 0.073171 0.875000 +vt 0.048780 0.833333 +vt 0.073171 0.833333 +vt 0.073171 0.930556 +vt 0.048780 0.888889 +vt 0.073171 0.888889 +vt 0.073171 0.277778 +vt 0.048780 0.333333 +vt 0.048780 0.277778 +vt 0.073171 0.333333 +vt 0.048780 0.388889 +vt 0.073171 0.388889 +vt 0.853772 0.361111 +vt 0.890301 0.289054 +vt 0.999887 0.361111 +vt 0.073216 0.888889 +vt 0.219490 0.792708 +vt 0.219490 0.985069 +vt 0.146341 0.277778 +vt 0.097561 0.250000 +vt 0.146341 0.250000 +vt 0.146341 0.222222 +vt 0.146341 0.277778 +vt 0.097561 0.250000 +vt 0.146341 0.250000 +vt 0.146341 0.222222 +vt 0.097561 0.250000 +vt 0.146341 0.222222 +vt 0.146341 0.250000 +vt 0.146341 0.277778 +vt 0.073171 0.708333 +vt 0.073171 0.541667 +vt 0.073171 0.486111 +vt 0.073171 0.597222 +vt 0.073171 0.763889 +vt 0.048780 0.944444 +vt 0.073171 0.319444 +vt 0.073171 0.375000 +vt 0.073171 0.430556 +vt 0.890301 0.433168 +vt 0.863560 0.402713 +vt 0.863560 0.319509 +vt 0.926829 0.277907 +vt 0.963358 0.289054 +vt 0.990099 0.319509 +vt 0.990099 0.402713 +vt 0.963358 0.433168 +vt 0.926829 0.444315 +vt 0.170732 0.999949 +vt 0.121974 0.985070 +vt 0.086281 0.944419 +vt 0.086281 0.833359 +vt 0.121974 0.792709 +vt 0.170732 0.777829 +vt 0.255183 0.833359 +vt 0.268247 0.888889 +vt 0.255183 0.944419 +vt 0.073171 0.569444 +vt 0.853659 0.611111 +vt 0.073171 0.611111 +vt 0.073171 0.361111 +vt 0.853659 0.402778 +vt 0.073171 0.402778 +vt 0.853659 0.652778 +vt 0.073171 0.652778 +vt 0.853659 0.694444 +vt 0.073171 0.694444 +vt 0.853659 0.361111 +vt 0.853659 0.736111 +vt 0.073171 0.736111 +vt 0.073171 0.444444 +vt 0.853659 0.486111 +vt 0.073171 0.486111 +vt 0.853659 0.777778 +vt 0.073171 0.777778 +vt 0.853659 0.319444 +vt 0.853659 0.527778 +vt 0.073171 0.527778 +vt 0.853659 0.444444 +vt 0.853659 0.569444 +vt 0.000000 0.388889 +vt 0.000000 0.500000 +vt 0.000000 0.666667 +vt 0.000000 0.777778 +vt 0.000000 0.888889 +vt 0.000000 0.611111 +vt 0.000000 0.333333 +vt 0.000000 0.722222 +vt 0.000000 0.444444 +vt 0.000000 0.833333 +vt 0.000000 0.555556 +vt 0.000000 0.277778 +vt 0.097561 0.111111 +vt 0.000000 0.097222 +vt 0.097561 0.083333 +vt 0.097561 0.166667 +vt -0.000000 0.152778 +vt 0.097561 0.138889 +vt -0.000000 0.125000 +vt 0.097561 0.194444 +vt 0.000000 0.180556 +vt 0.682927 0.111111 +vt 0.780488 0.138889 +vt 0.682927 0.138889 +vt 0.682927 0.083333 +vt 0.780488 0.111111 +vt 0.682927 0.055556 +vt 0.780488 0.083333 +vt 0.780488 0.166667 +vt 0.682927 0.166667 +vt 0.780488 0.194444 +vt 0.682927 0.194444 +vt 0.780488 0.222222 +vt 0.682927 0.222222 +vt 0.195122 0.166667 +vt 0.195122 0.222222 +vt 0.097561 0.222222 +vt 0.195122 0.055556 +vt 0.097561 0.055556 +vt 0.195122 0.111111 +vt 0.292683 0.138889 +vt 0.195122 0.138889 +vt 0.292683 0.166667 +vt 0.195122 0.194444 +vt 0.292683 0.194444 +vt 0.292683 0.083333 +vt 0.195122 0.083333 +vt 0.292683 0.111111 +vt 0.390244 0.138889 +vt 0.390244 0.194444 +vt 0.292683 0.222222 +vt 0.292683 0.055556 +vt 0.390244 0.083333 +vt 0.390244 0.111111 +vt 0.487805 0.138889 +vt 0.390244 0.166667 +vt 0.487805 0.166667 +vt 0.487805 0.222222 +vt 0.390244 0.222222 +vt 0.487805 0.055556 +vt 0.390244 0.055556 +vt 0.487805 0.111111 +vt 0.585366 0.166667 +vt 0.487805 0.194444 +vt 0.585366 0.194444 +vt 0.585366 0.055556 +vt 0.487805 0.083333 +vt 0.585366 0.111111 +vt 0.585366 0.138889 +vt 0.585366 0.222222 +vt 0.585366 0.083333 +vt 0.097561 -0.000000 +vt -0.000000 0.083333 +vt -0.000000 0.194444 +vt 0.097561 0.277778 +vt 0.097561 0.111111 +vt 0.000000 0.097222 +vt 0.097561 0.083333 +vt 0.097561 0.166667 +vt -0.000000 0.152778 +vt 0.097561 0.138889 +vt -0.000000 0.125000 +vt 0.097561 0.194444 +vt 0.000000 0.180556 +vt 0.682927 0.111111 +vt 0.780488 0.138889 +vt 0.682927 0.138889 +vt 0.682927 0.083333 +vt 0.780488 0.111111 +vt 0.682927 0.055556 +vt 0.780488 0.083333 +vt 0.780488 0.166667 +vt 0.682927 0.166667 +vt 0.780488 0.194444 +vt 0.682927 0.194444 +vt 0.780488 0.222222 +vt 0.682927 0.222222 +vt 0.195122 0.166667 +vt 0.195122 0.222222 +vt 0.097561 0.222222 +vt 0.195122 0.055556 +vt 0.097561 0.055556 +vt 0.195122 0.111111 +vt 0.292683 0.138889 +vt 0.195122 0.138889 +vt 0.292683 0.194444 +vt 0.195122 0.194444 +vt 0.292683 0.083333 +vt 0.195122 0.083333 +vt 0.390244 0.138889 +vt 0.292683 0.166667 +vt 0.390244 0.194444 +vt 0.292683 0.222222 +vt 0.292683 0.055556 +vt 0.390244 0.083333 +vt 0.292683 0.111111 +vt 0.487805 0.166667 +vt 0.390244 0.166667 +vt 0.487805 0.222222 +vt 0.390244 0.222222 +vt 0.487805 0.055556 +vt 0.390244 0.055556 +vt 0.487805 0.111111 +vt 0.390244 0.111111 +vt 0.585366 0.138889 +vt 0.487805 0.138889 +vt 0.585366 0.166667 +vt 0.487805 0.194444 +vt 0.585366 0.222222 +vt 0.585366 0.083333 +vt 0.487805 0.083333 +vt 0.585366 0.111111 +vt 0.585366 0.194444 +vt 0.585366 0.055556 +vt 0.097561 -0.000000 +vt -0.000000 0.083333 +vt -0.000000 0.194444 +vt 0.097561 0.277778 +vt -0.000000 0.194444 +vt 0.097561 0.194444 +vt 0.097561 0.277778 +vt 0.097561 -0.000000 +vt 0.097561 0.083333 +vt -0.000000 0.083333 +vt 0.682927 0.111111 +vt 0.585366 0.138889 +vt 0.585366 0.111111 +vt 0.682927 0.083333 +vt 0.585366 0.083333 +vt 0.585366 0.055556 +vt 0.585366 0.194444 +vt 0.682927 0.222222 +vt 0.585366 0.222222 +vt 0.585366 0.166667 +vt 0.682927 0.194444 +vt 0.682927 0.166667 +vt 0.487805 0.138889 +vt 0.487805 0.111111 +vt 0.487805 0.083333 +vt 0.487805 0.055556 +vt 0.487805 0.194444 +vt 0.487805 0.222222 +vt 0.487805 0.166667 +vt 0.390244 0.138889 +vt 0.390244 0.111111 +vt 0.390244 0.083333 +vt 0.390244 0.055556 +vt 0.390244 0.194444 +vt 0.390244 0.222222 +vt 0.390244 0.166667 +vt 0.292683 0.138889 +vt 0.292683 0.111111 +vt 0.292683 0.083333 +vt 0.292683 0.055556 +vt 0.292683 0.222222 +vt 0.292683 0.194444 +vt 0.292683 0.166667 +vt 0.195122 0.138889 +vt 0.195122 0.111111 +vt 0.195122 0.083333 +vt 0.195122 0.055556 +vt 0.195122 0.222222 +vt 0.195122 0.194444 +vt 0.195122 0.166667 +vt 0.097561 0.111111 +vt 0.097561 0.138889 +vt 0.097561 0.055556 +vt 0.097561 0.222222 +vt 0.097561 0.166667 +vt 0.780488 0.222222 +vt 0.780488 0.194444 +vt 0.682927 0.138889 +vt 0.780488 0.166667 +vt 0.682927 0.055556 +vt 0.780488 0.083333 +vt 0.780488 0.111111 +vt 0.780488 0.138889 +vt 0.000000 0.180556 +vt -0.000000 0.125000 +vt -0.000000 0.152778 +vt 0.000000 0.097222 +vt 0.853659 0.277778 +vt 0.000000 0.944444 +vt 0.780488 0.055556 +vt 0.780488 0.055556 +vt 0.780488 0.055556 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.5000 0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.8473 0.5291 -0.0455 +vn 0.0000 0.1211 -0.9926 +vn -0.9381 -0.2986 -0.1757 +vn 0.8473 0.5291 -0.0455 +vn 0.0000 1.0000 0.0078 +vn 0.9381 -0.2986 -0.1757 +vn -0.8469 -0.5268 0.0725 +vn -0.0000 -0.9921 0.1255 +vn -0.8832 0.4652 -0.0588 +vn -0.0000 0.9907 -0.1363 +vn 0.8469 -0.5268 0.0725 +vn 0.8832 0.4652 -0.0588 +vn 0.8303 0.4827 0.2787 +vn -0.0000 -0.8660 -0.5000 +vn 0.0000 -0.9659 -0.2588 +vn -0.8303 0.4827 0.2787 +vn 0.0000 0.5000 0.8660 +vn 0.0000 0.8660 0.5000 +vn 0.8303 0.2787 0.4827 +vn 0.9016 -0.3745 -0.2162 +vn 0.9016 -0.2162 -0.3745 +vn -0.9016 -0.2162 -0.3745 +vn -0.9016 -0.3745 -0.2162 +vn -0.8303 0.2787 0.4827 +vn 0.9016 -0.0000 -0.4325 +vn 0.0000 -0.5000 -0.8660 +vn -0.9016 0.0000 -0.4325 +vn -0.8303 0.0000 0.5573 +vn -0.0000 -0.5000 0.8660 +vn 0.8303 -0.0000 0.5573 +vn 0.8303 -0.2787 0.4827 +vn 0.0000 0.5000 -0.8660 +vn -0.8303 -0.2787 0.4827 +vn 0.8303 -0.4827 0.2787 +vn 0.9016 0.2162 -0.3745 +vn 0.9016 0.3745 -0.2162 +vn -0.0000 0.8660 -0.5000 +vn -0.9016 0.2162 -0.3745 +vn -0.8303 -0.4827 0.2787 +vn -0.0000 -0.8660 0.5000 +vn -0.9016 0.3745 -0.2162 +vn -0.9177 -0.3179 -0.2384 +vn 0.9177 -0.3179 -0.2384 +vn -0.0346 -0.9984 -0.0455 +vn -0.1049 -0.0605 -0.9926 +vn 0.7276 -0.6631 -0.1757 +vn -0.8819 0.4693 -0.0455 +vn -0.8660 -0.5000 0.0078 +vn -0.2105 0.9617 -0.1757 +vn 0.8797 -0.4701 0.0725 +vn 0.8592 0.4960 0.1255 +vn 0.0387 -0.9975 -0.0588 +vn -0.8579 -0.4953 -0.1363 +vn 0.0328 0.9968 0.0725 +vn -0.8445 0.5323 -0.0588 +vn -0.8331 0.4777 0.2787 +vn 0.7500 0.4330 -0.5000 +vn 0.8365 0.4830 -0.2588 +vn -0.0028 -0.9604 0.2787 +vn -0.4330 -0.2500 0.8660 +vn -0.7500 -0.4330 0.5000 +vn -0.2636 0.8890 -0.3745 +vn -0.1265 0.9681 -0.2162 +vn 0.6381 -0.6727 -0.3745 +vn 0.7752 -0.5936 -0.2162 +vn -0.6565 0.5797 0.4827 +vn -0.4508 0.7808 -0.4325 +vn 0.4330 0.2500 -0.8660 +vn 0.4508 -0.7808 -0.4325 +vn 0.1738 -0.8584 0.4827 +vn -0.1738 0.8584 0.4827 +vn -0.4151 0.7191 0.5573 +vn -0.4330 -0.2500 -0.8660 +vn 0.6565 -0.5797 0.4827 +vn 0.4151 -0.7191 0.5573 +vn 0.7500 0.4330 0.5000 +vn 0.4330 0.2500 0.8660 +vn 0.0028 0.9604 0.2787 +vn -0.6381 0.6727 -0.3745 +vn -0.7500 -0.4330 -0.5000 +vn 0.1265 -0.9681 -0.2162 +vn 0.2636 -0.8890 -0.3745 +vn 0.8331 -0.4777 0.2787 +vn -0.7752 0.5936 -0.2162 +vn 0.7341 -0.6358 -0.2384 +vn -0.1835 0.9537 -0.2384 +vn 0.1049 -0.0605 -0.9926 +vn -0.7276 -0.6631 -0.1757 +vn -0.7341 -0.6358 -0.2384 +vn 0.1835 0.9537 -0.2384 +vn 0.2105 0.9617 -0.1757 +vn -0.0328 0.9968 0.0725 +vn -0.7500 0.4330 0.5000 +vn -0.0028 0.9604 0.2787 +vn 0.8445 0.5323 -0.0588 +vn 0.7752 0.5936 -0.2162 +vn 0.7500 -0.4330 -0.5000 +vn -0.1265 -0.9681 -0.2162 +vn 0.8579 -0.4953 -0.1363 +vn -0.8331 -0.4777 0.2787 +vn -0.0387 -0.9975 -0.0588 +vn -0.8797 -0.4701 0.0725 +vn -0.4330 0.2500 0.8660 +vn 0.1738 0.8584 0.4827 +vn 0.6381 0.6727 -0.3745 +vn 0.4330 -0.2500 -0.8660 +vn -0.2636 -0.8890 -0.3745 +vn -0.6565 -0.5797 0.4827 +vn 0.4151 0.7191 0.5573 +vn 0.4508 0.7808 -0.4325 +vn -0.4508 -0.7808 -0.4325 +vn -0.4151 -0.7191 0.5573 +vn 0.4330 -0.2500 0.8660 +vn 0.6565 0.5797 0.4827 +vn 0.2636 0.8890 -0.3745 +vn -0.4330 0.2500 -0.8660 +vn -0.6381 -0.6727 -0.3745 +vn -0.1738 -0.8584 0.4827 +vn 0.7500 -0.4330 0.5000 +vn 0.8331 0.4777 0.2787 +vn 0.1265 0.9681 -0.2162 +vn -0.7500 0.4330 -0.5000 +vn -0.7752 -0.5936 -0.2162 +vn 0.0028 -0.9604 0.2787 +vn 0.8819 0.4693 -0.0455 +vn 0.8660 -0.5000 0.0078 +vn -0.8365 0.4830 -0.2588 +vn 0.0345 -0.9984 -0.0455 +vn -0.8592 0.4961 0.1255 +s off +f 1206/1911/199 1201/1912/199 1203/1913/199 +f 1188/1914/199 1183/1915/199 1185/1916/199 +f 1190/1917/199 1185/1916/199 1187/1918/199 +f 1203/1913/199 1184/1919/199 1206/1920/199 +f 1186/1921/199 1205/1922/199 1183/1915/199 +f 1204/1923/199 1199/1924/199 1201/1912/199 +f 1200/1925/199 1199/1924/199 1202/1926/199 +f 1198/1927/199 1197/1928/199 1200/1929/199 +f 1196/1930/199 1195/1931/199 1198/1932/199 +f 1196/1933/199 1191/1934/199 1193/1935/199 +f 1194/1936/199 1189/1937/199 1191/1934/199 +f 1192/1938/199 1187/1918/199 1189/1937/199 +f 1210/1939/199 1212/1940/199 1216/1941/199 +f 1227/1942/200 1223/1943/200 1219/1944/200 +f 1251/1945/200 1239/1946/200 1250/1947/200 +f 1239/1946/200 1249/1948/200 1250/1947/200 +f 1299/1949/200 1288/1950/200 1298/1951/200 +f 1288/1950/200 1297/1952/200 1298/1951/200 +f 1373/1953/200 1364/1954/200 1363/1955/200 +f 1362/1956/200 1373/1953/200 1363/1955/200 +f 1206/1911/199 1204/1957/199 1201/1912/199 +f 1188/1914/199 1186/1958/199 1183/1915/199 +f 1190/1917/199 1188/1959/199 1185/1916/199 +f 1203/1913/199 1205/1922/199 1184/1919/199 +f 1186/1921/199 1184/1960/199 1205/1922/199 +f 1204/1923/199 1202/1961/199 1199/1924/199 +f 1200/1925/199 1197/1928/199 1199/1924/199 +f 1198/1927/199 1195/1931/199 1197/1928/199 +f 1196/1930/199 1193/1962/199 1195/1931/199 +f 1196/1933/199 1194/1963/199 1191/1934/199 +f 1194/1936/199 1192/1964/199 1189/1937/199 +f 1192/1938/199 1190/1965/199 1187/1918/199 +f 1208/1966/199 1209/1967/199 1210/1939/199 +f 1210/1939/199 1211/1968/199 1212/1940/199 +f 1212/1940/199 1213/1969/199 1216/1941/199 +f 1213/1969/199 1214/1970/199 1216/1941/199 +f 1214/1970/199 1215/1971/199 1216/1941/199 +f 1216/1941/199 1217/1972/199 1208/1966/199 +f 1217/1972/199 1218/1973/199 1208/1966/199 +f 1218/1973/199 1207/1974/199 1208/1966/199 +f 1208/1966/199 1210/1939/199 1216/1941/199 +f 1219/1944/200 1230/1975/200 1229/1976/200 +f 1229/1976/200 1228/1977/200 1219/1944/200 +f 1228/1977/200 1227/1942/200 1219/1944/200 +f 1227/1942/200 1226/1978/200 1223/1943/200 +f 1226/1978/200 1225/1979/200 1223/1943/200 +f 1225/1979/200 1224/1980/200 1223/1943/200 +f 1223/1943/200 1222/1981/200 1219/1944/200 +f 1222/1981/200 1221/1982/200 1219/1944/200 +f 1221/1982/200 1220/1983/200 1219/1944/200 +s 1 +f 1206/1984/201 1217/1985/202 1204/1986/202 +f 1192/1987/203 1210/1988/204 1190/1989/204 +f 1204/1986/202 1216/1990/205 1202/1991/205 +f 1202/1991/205 1215/1992/206 1200/1993/206 +f 1194/1963/207 1211/1994/203 1192/1987/203 +f 1200/1993/206 1214/1995/208 1198/1996/208 +f 1188/1997/209 1208/1998/210 1186/1999/210 +f 1198/1996/208 1213/2000/211 1196/2001/211 +f 1196/1933/211 1212/2002/207 1194/1963/207 +f 1186/1999/210 1207/2003/212 1184/2004/212 +f 1190/1989/204 1209/2005/209 1188/1997/209 +f 1184/2004/212 1218/2006/201 1206/1984/201 +f 1187/1918/204 1222/2007/203 1189/1937/203 +f 1183/1915/210 1220/2008/209 1185/1916/209 +f 1201/1912/202 1229/2009/201 1203/1913/201 +f 1197/1928/206 1227/2010/205 1199/1924/205 +f 1193/1962/211 1225/2011/208 1195/1931/208 +f 1203/1913/201 1230/2012/212 1205/1922/212 +f 1189/1937/203 1223/2013/207 1191/1934/207 +f 1199/1924/205 1228/2014/202 1201/1912/202 +f 1185/1916/209 1221/2015/204 1187/1918/204 +f 1195/1931/208 1226/2016/206 1197/1928/206 +f 1205/1922/212 1219/2017/210 1183/1915/210 +f 1191/1934/207 1224/2018/211 1193/1935/211 +f 1252/2019/213 1237/2020/214 1251/2021/215 +f 1248/2022/216 1237/2023/214 1247/2024/217 +f 1247/2024/217 1237/2025/214 1252/2019/213 +f 1249/2026/218 1237/2027/214 1248/2022/216 +f 1236/2028/219 1246/2029/211 1231/2030/220 +f 1235/2031/221 1241/2032/206 1236/2028/219 +f 1234/2033/222 1242/2034/202 1235/2031/221 +f 1231/2030/220 1245/2035/203 1232/2036/223 +f 1232/2036/223 1244/2037/209 1233/2038/224 +f 1233/2038/224 1243/2039/212 1234/2040/222 +f 1247/2024/217 1254/2041/225 1248/2022/216 +f 1254/2041/225 1249/2026/218 1248/2022/216 +f 1249/2026/218 1256/2042/226 1250/2043/227 +f 1256/2044/226 1251/2021/215 1250/2045/227 +f 1251/2021/215 1258/2046/228 1252/2019/213 +f 1258/2046/228 1247/2024/217 1252/2019/213 +f 1259/2047/229 1254/2041/225 1253/2048/230 +f 1260/2049/231 1255/2050/232 1254/2041/225 +f 1261/2051/233 1256/2042/226 1255/2050/232 +f 1256/2044/226 1263/2052/234 1257/2053/235 +f 1263/2052/234 1258/2046/228 1257/2053/235 +f 1264/2054/236 1253/2048/230 1258/2046/228 +f 1265/2055/200 1260/2049/231 1259/2047/229 +f 1260/2049/231 1267/2056/237 1261/2051/233 +f 1267/2056/237 1262/2057/238 1261/2051/233 +f 1262/2058/238 1269/2059/239 1263/2052/234 +f 1269/2059/239 1264/2054/236 1263/2052/234 +f 1270/2060/240 1259/2047/229 1264/2054/236 +f 1271/2061/241 1266/2062/242 1265/2055/200 +f 1272/2063/243 1267/2056/237 1266/2062/242 +f 1267/2056/237 1274/2064/244 1268/2065/199 +f 1274/2066/244 1269/2059/239 1268/2067/199 +f 1269/2059/239 1276/2068/245 1270/2060/240 +f 1270/2060/240 1271/2061/241 1265/2055/200 +f 1271/2061/241 1278/2069/246 1272/2063/243 +f 1278/2069/246 1273/2070/247 1272/2063/243 +f 1279/2071/248 1274/2064/244 1273/2070/247 +f 1280/2072/249 1275/2073/250 1274/2066/244 +f 1275/2073/250 1282/2074/251 1276/2068/245 +f 1282/2074/251 1271/2061/241 1276/2068/245 +f 1231/2030/220 1278/2069/246 1277/2075/252 +f 1278/2069/246 1233/2038/224 1279/2071/248 +f 1233/2038/224 1280/2076/249 1279/2071/248 +f 1234/2033/222 1281/2077/253 1280/2072/249 +f 1235/2031/221 1282/2074/251 1281/2077/253 +f 1282/2074/251 1231/2030/220 1277/2075/252 +f 1239/2078/254 1251/2021/215 1237/2079/214 +f 1237/2080/214 1249/2026/218 1239/2081/255 +f 1300/2082/256 1287/2083/257 1299/2084/258 +f 1296/2085/259 1287/2086/257 1295/2087/260 +f 1295/2087/260 1287/2088/257 1300/2082/256 +f 1297/2089/261 1287/2090/257 1296/2085/259 +f 1286/2091/262 1294/2092/209 1238/2093/263 +f 1285/2094/264 1289/2095/203 1286/2091/262 +f 1284/2096/265 1290/2097/211 1285/2094/264 +f 1238/2093/263 1293/2098/212 1240/2099/266 +f 1240/2099/266 1292/2100/202 1283/2101/267 +f 1283/2101/267 1291/2102/206 1284/2103/265 +f 1295/2087/260 1302/2104/268 1296/2085/259 +f 1302/2104/268 1297/2089/261 1296/2085/259 +f 1297/2089/261 1304/2105/269 1298/2106/270 +f 1304/2107/269 1299/2084/258 1298/2108/270 +f 1299/2084/258 1306/2109/271 1300/2082/256 +f 1306/2109/271 1295/2087/260 1300/2082/256 +f 1307/2110/272 1302/2104/268 1301/2111/273 +f 1302/2104/268 1309/2112/274 1303/2113/275 +f 1309/2112/274 1304/2105/269 1303/2113/275 +f 1304/2107/269 1311/2114/276 1305/2115/277 +f 1311/2114/276 1306/2109/271 1305/2115/277 +f 1306/2109/271 1307/2110/272 1301/2111/273 +f 1313/2116/200 1308/2117/278 1307/2110/272 +f 1308/2117/278 1315/2118/279 1309/2112/274 +f 1315/2118/279 1310/2119/280 1309/2112/274 +f 1310/2120/280 1317/2121/281 1311/2114/276 +f 1317/2121/281 1312/2122/282 1311/2114/276 +f 1312/2122/282 1313/2116/200 1307/2110/272 +f 1313/2116/200 1320/2123/283 1314/2124/284 +f 1320/2123/283 1315/2118/279 1314/2124/284 +f 1315/2118/279 1322/2125/285 1316/2126/199 +f 1322/2127/285 1317/2121/281 1316/2128/199 +f 1317/2121/281 1324/2129/286 1318/2130/287 +f 1324/2129/286 1313/2116/200 1318/2130/287 +f 1325/2131/288 1320/2123/283 1319/2132/289 +f 1326/2133/290 1321/2134/291 1320/2123/283 +f 1321/2134/291 1328/2135/292 1322/2125/285 +f 1322/2127/285 1329/2136/293 1323/2137/294 +f 1323/2137/294 1330/2138/295 1324/2129/286 +f 1330/2138/295 1319/2132/289 1324/2129/286 +f 1238/2093/263 1326/2133/290 1325/2131/288 +f 1240/2099/266 1327/2139/296 1326/2133/290 +f 1283/2101/267 1328/2135/292 1327/2139/296 +f 1328/2140/292 1285/2094/264 1329/2136/293 +f 1329/2136/293 1286/2091/262 1330/2138/295 +f 1286/2091/262 1325/2131/288 1330/2138/295 +f 1288/2141/297 1299/2084/258 1287/2142/257 +f 1287/2143/257 1297/2089/261 1288/2144/298 +f 1374/2145/299 1364/2146/300 1373/2147/301 +f 1373/2148/302 1362/2149/303 1374/2150/299 +f 1375/2151/304 1336/2152/305 1331/2153/306 +f 1376/2154/307 1331/2153/306 1332/2155/308 +f 1333/2156/309 1376/2154/307 1332/2155/308 +f 1334/2157/310 1377/2158/311 1333/2159/309 +f 1335/2160/312 1378/2161/313 1334/2157/310 +f 1336/2152/305 1379/2162/314 1335/2160/312 +f 1331/2153/306 1342/2163/315 1337/2164/316 +f 1338/2165/317 1331/2153/306 1337/2164/316 +f 1333/2156/309 1338/2165/317 1339/2166/318 +f 1340/2167/319 1333/2159/309 1339/2168/318 +f 1335/2160/312 1340/2167/319 1341/2169/320 +f 1342/2163/315 1335/2160/312 1341/2169/320 +f 1337/2164/316 1348/2170/200 1343/2171/321 +f 1344/2172/322 1337/2164/316 1343/2171/321 +f 1339/2166/318 1344/2172/322 1345/2173/199 +f 1346/2174/323 1339/2168/318 1345/2175/199 +f 1341/2169/320 1346/2174/323 1347/2176/324 +f 1348/2170/200 1341/2169/320 1347/2176/324 +f 1343/2171/321 1354/2177/325 1349/2178/326 +f 1344/2172/322 1349/2178/326 1350/2179/327 +f 1351/2180/328 1344/2172/322 1350/2179/327 +f 1346/2174/323 1351/2181/328 1352/2182/329 +f 1347/2176/324 1352/2182/329 1353/2183/330 +f 1348/2170/200 1353/2183/330 1354/2177/325 +f 1349/2178/326 1360/2184/331 1355/2185/332 +f 1350/2179/327 1355/2185/332 1356/2186/333 +f 1357/2187/334 1350/2179/327 1356/2186/333 +f 1352/2182/329 1357/2188/334 1358/2189/335 +f 1353/2183/330 1358/2189/335 1359/2190/336 +f 1354/2177/325 1359/2190/336 1360/2184/331 +f 1361/2191/337 1360/2184/331 1366/2192/338 +f 1362/2149/303 1355/2185/332 1361/2191/337 +f 1363/2193/339 1356/2186/333 1362/2149/303 +f 1364/2146/300 1357/2188/334 1363/2194/339 +f 1359/2190/336 1364/2146/300 1365/2195/340 +f 1366/2192/338 1359/2190/336 1365/2195/340 +f 1378/2161/313 1370/2196/203 1377/2158/311 +f 1379/2162/314 1369/2197/211 1378/2161/313 +f 1380/2198/341 1368/2199/206 1379/2162/314 +f 1377/2200/311 1371/2201/209 1376/2154/307 +f 1376/2154/307 1372/2202/212 1375/2151/304 +f 1375/2151/304 1367/2203/202 1380/2198/341 +f 1364/2146/300 1374/2204/299 1365/2195/340 +f 1366/2192/338 1374/2205/299 1361/2191/337 +f 1365/2195/340 1374/2206/299 1366/2192/338 +f 1361/2191/337 1374/2207/299 1362/2149/303 +f 1206/1984/201 1218/2006/201 1217/1985/202 +f 1192/1987/203 1211/1994/203 1210/1988/204 +f 1204/1986/202 1217/1985/202 1216/1990/205 +f 1202/1991/205 1216/1990/205 1215/1992/206 +f 1194/1963/207 1212/2002/207 1211/1994/203 +f 1200/1993/206 1215/1992/206 1214/1995/208 +f 1188/1997/209 1209/2005/209 1208/1998/210 +f 1198/1996/208 1214/1995/208 1213/2000/211 +f 1196/1933/211 1213/2208/211 1212/2002/207 +f 1186/1999/210 1208/1998/210 1207/2003/212 +f 1190/1989/204 1210/1988/204 1209/2005/209 +f 1184/2004/212 1207/2003/212 1218/2006/201 +f 1187/1918/204 1221/2015/204 1222/2007/203 +f 1183/1915/210 1219/2017/210 1220/2008/209 +f 1201/1912/202 1228/2014/202 1229/2009/201 +f 1197/1928/206 1226/2016/206 1227/2010/205 +f 1193/1962/211 1224/2209/211 1225/2011/208 +f 1203/1913/201 1229/2009/201 1230/2012/212 +f 1189/1937/203 1222/2007/203 1223/2013/207 +f 1199/1924/205 1227/2010/205 1228/2014/202 +f 1185/1916/209 1220/2008/209 1221/2015/204 +f 1195/1931/208 1225/2011/208 1226/2016/206 +f 1205/1922/212 1230/2012/212 1219/2017/210 +f 1191/1934/207 1223/2013/207 1224/2018/211 +f 1236/2028/219 1241/2032/206 1246/2029/211 +f 1235/2031/221 1242/2034/202 1241/2032/206 +f 1234/2033/222 1243/2210/212 1242/2034/202 +f 1231/2030/220 1246/2029/211 1245/2035/203 +f 1232/2036/223 1245/2035/203 1244/2037/209 +f 1233/2038/224 1244/2037/209 1243/2039/212 +f 1247/2024/217 1253/2048/230 1254/2041/225 +f 1254/2041/225 1255/2050/232 1249/2026/218 +f 1249/2026/218 1255/2050/232 1256/2042/226 +f 1256/2044/226 1257/2053/235 1251/2021/215 +f 1251/2021/215 1257/2053/235 1258/2046/228 +f 1258/2046/228 1253/2048/230 1247/2024/217 +f 1259/2047/229 1260/2049/231 1254/2041/225 +f 1260/2049/231 1261/2051/233 1255/2050/232 +f 1261/2051/233 1262/2057/238 1256/2042/226 +f 1256/2044/226 1262/2058/238 1263/2052/234 +f 1263/2052/234 1264/2054/236 1258/2046/228 +f 1264/2054/236 1259/2047/229 1253/2048/230 +f 1265/2055/200 1266/2062/242 1260/2049/231 +f 1260/2049/231 1266/2062/242 1267/2056/237 +f 1267/2056/237 1268/2065/199 1262/2057/238 +f 1262/2058/238 1268/2067/199 1269/2059/239 +f 1269/2059/239 1270/2060/240 1264/2054/236 +f 1270/2060/240 1265/2055/200 1259/2047/229 +f 1271/2061/241 1272/2063/243 1266/2062/242 +f 1272/2063/243 1273/2070/247 1267/2056/237 +f 1267/2056/237 1273/2070/247 1274/2064/244 +f 1274/2066/244 1275/2073/250 1269/2059/239 +f 1269/2059/239 1275/2073/250 1276/2068/245 +f 1270/2060/240 1276/2068/245 1271/2061/241 +f 1271/2061/241 1277/2075/252 1278/2069/246 +f 1278/2069/246 1279/2071/248 1273/2070/247 +f 1279/2071/248 1280/2076/249 1274/2064/244 +f 1280/2072/249 1281/2077/253 1275/2073/250 +f 1275/2073/250 1281/2077/253 1282/2074/251 +f 1282/2074/251 1277/2075/252 1271/2061/241 +f 1231/2030/220 1232/2036/223 1278/2069/246 +f 1278/2069/246 1232/2036/223 1233/2038/224 +f 1233/2038/224 1234/2040/222 1280/2076/249 +f 1234/2033/222 1235/2031/221 1281/2077/253 +f 1235/2031/221 1236/2028/219 1282/2074/251 +f 1282/2074/251 1236/2028/219 1231/2030/220 +f 1286/2091/262 1289/2095/203 1294/2092/209 +f 1285/2094/264 1290/2097/211 1289/2095/203 +f 1284/2096/265 1291/2211/206 1290/2097/211 +f 1238/2093/263 1294/2092/209 1293/2098/212 +f 1240/2099/266 1293/2098/212 1292/2100/202 +f 1283/2101/267 1292/2100/202 1291/2102/206 +f 1295/2087/260 1301/2111/273 1302/2104/268 +f 1302/2104/268 1303/2113/275 1297/2089/261 +f 1297/2089/261 1303/2113/275 1304/2105/269 +f 1304/2107/269 1305/2115/277 1299/2084/258 +f 1299/2084/258 1305/2115/277 1306/2109/271 +f 1306/2109/271 1301/2111/273 1295/2087/260 +f 1307/2110/272 1308/2117/278 1302/2104/268 +f 1302/2104/268 1308/2117/278 1309/2112/274 +f 1309/2112/274 1310/2119/280 1304/2105/269 +f 1304/2107/269 1310/2120/280 1311/2114/276 +f 1311/2114/276 1312/2122/282 1306/2109/271 +f 1306/2109/271 1312/2122/282 1307/2110/272 +f 1313/2116/200 1314/2124/284 1308/2117/278 +f 1308/2117/278 1314/2124/284 1315/2118/279 +f 1315/2118/279 1316/2126/199 1310/2119/280 +f 1310/2120/280 1316/2128/199 1317/2121/281 +f 1317/2121/281 1318/2130/287 1312/2122/282 +f 1312/2122/282 1318/2130/287 1313/2116/200 +f 1313/2116/200 1319/2132/289 1320/2123/283 +f 1320/2123/283 1321/2134/291 1315/2118/279 +f 1315/2118/279 1321/2134/291 1322/2125/285 +f 1322/2127/285 1323/2137/294 1317/2121/281 +f 1317/2121/281 1323/2137/294 1324/2129/286 +f 1324/2129/286 1319/2132/289 1313/2116/200 +f 1325/2131/288 1326/2133/290 1320/2123/283 +f 1326/2133/290 1327/2139/296 1321/2134/291 +f 1321/2134/291 1327/2139/296 1328/2135/292 +f 1322/2127/285 1328/2140/292 1329/2136/293 +f 1323/2137/294 1329/2136/293 1330/2138/295 +f 1330/2138/295 1325/2131/288 1319/2132/289 +f 1238/2093/263 1240/2099/266 1326/2133/290 +f 1240/2099/266 1283/2101/267 1327/2139/296 +f 1283/2101/267 1284/2103/265 1328/2135/292 +f 1328/2140/292 1284/2096/265 1285/2094/264 +f 1329/2136/293 1285/2094/264 1286/2091/262 +f 1286/2091/262 1238/2093/263 1325/2131/288 +f 1375/2151/304 1380/2198/341 1336/2152/305 +f 1376/2154/307 1375/2151/304 1331/2153/306 +f 1333/2156/309 1377/2200/311 1376/2154/307 +f 1334/2157/310 1378/2161/313 1377/2158/311 +f 1335/2160/312 1379/2162/314 1378/2161/313 +f 1336/2152/305 1380/2198/341 1379/2162/314 +f 1331/2153/306 1336/2152/305 1342/2163/315 +f 1338/2165/317 1332/2155/308 1331/2153/306 +f 1333/2156/309 1332/2155/308 1338/2165/317 +f 1340/2167/319 1334/2157/310 1333/2159/309 +f 1335/2160/312 1334/2157/310 1340/2167/319 +f 1342/2163/315 1336/2152/305 1335/2160/312 +f 1337/2164/316 1342/2163/315 1348/2170/200 +f 1344/2172/322 1338/2165/317 1337/2164/316 +f 1339/2166/318 1338/2165/317 1344/2172/322 +f 1346/2174/323 1340/2167/319 1339/2168/318 +f 1341/2169/320 1340/2167/319 1346/2174/323 +f 1348/2170/200 1342/2163/315 1341/2169/320 +f 1343/2171/321 1348/2170/200 1354/2177/325 +f 1344/2172/322 1343/2171/321 1349/2178/326 +f 1351/2180/328 1345/2173/199 1344/2172/322 +f 1346/2174/323 1345/2175/199 1351/2181/328 +f 1347/2176/324 1346/2174/323 1352/2182/329 +f 1348/2170/200 1347/2176/324 1353/2183/330 +f 1349/2178/326 1354/2177/325 1360/2184/331 +f 1350/2179/327 1349/2178/326 1355/2185/332 +f 1357/2187/334 1351/2180/328 1350/2179/327 +f 1352/2182/329 1351/2181/328 1357/2188/334 +f 1353/2183/330 1352/2182/329 1358/2189/335 +f 1354/2177/325 1353/2183/330 1359/2190/336 +f 1361/2191/337 1355/2185/332 1360/2184/331 +f 1362/2149/303 1356/2186/333 1355/2185/332 +f 1363/2193/339 1357/2187/334 1356/2186/333 +f 1364/2146/300 1358/2189/335 1357/2188/334 +f 1359/2190/336 1358/2189/335 1364/2146/300 +f 1366/2192/338 1360/2184/331 1359/2190/336 +f 1378/2161/313 1369/2197/211 1370/2196/203 +f 1379/2162/314 1368/2199/206 1369/2197/211 +f 1380/2198/341 1367/2203/202 1368/2199/206 +f 1377/2200/311 1370/2212/203 1371/2201/209 +f 1376/2154/307 1371/2201/209 1372/2202/212 +f 1375/2151/304 1372/2202/212 1367/2203/202 +o Rocket +v 0.250000 0.433012 5.750000 +v 0.000000 0.374500 5.750000 +v 0.433013 0.250000 5.750000 +v 0.187250 0.324327 5.750000 +v 0.500000 -0.000000 5.750000 +v 0.324327 0.187250 5.750000 +v 0.433012 -0.250000 5.750000 +v 0.374500 0.000000 5.750000 +v 0.250000 -0.433013 5.750000 +v 0.324327 -0.187250 5.750000 +v 0.000000 -0.500000 5.750000 +v 0.187250 -0.324327 5.750000 +v -0.250000 -0.433013 5.750000 +v 0.000000 -0.374500 5.750000 +v -0.433012 -0.250000 5.750000 +v -0.187250 -0.324327 5.750000 +v -0.500000 0.000000 5.750000 +v -0.324327 -0.187250 5.750000 +v -0.433012 0.250000 5.750000 +v -0.374500 0.000000 5.750000 +v -0.250000 0.433013 5.750000 +v -0.324327 0.187250 5.750000 +v 0.000000 0.500000 5.750000 +v -0.187250 0.324327 5.750000 +v 0.000000 0.374500 1.750000 +v 0.187250 0.324327 1.750000 +v 0.324327 0.187250 1.750000 +v 0.374500 0.000000 1.750000 +v 0.324327 -0.187250 1.750000 +v 0.187250 -0.324327 1.750000 +v 0.000000 -0.374500 1.750000 +v -0.187250 -0.324327 1.750000 +v -0.324327 -0.187250 1.750000 +v -0.374500 0.000000 1.750000 +v -0.324327 0.187250 1.750000 +v -0.187250 0.324327 1.750000 +v 0.250000 0.433012 6.000000 +v 0.433013 0.250000 6.000000 +v 0.500000 -0.000000 6.000000 +v 0.433012 -0.250000 6.000000 +v 0.250000 -0.433013 6.000000 +v 0.000000 -0.500000 6.000000 +v -0.250000 -0.433013 6.000000 +v -0.433012 -0.250000 6.000000 +v -0.500000 0.000000 6.000000 +v -0.433012 0.250000 6.000000 +v -0.250000 0.433013 6.000000 +v 0.000000 0.500000 6.000000 +v 0.000000 0.374500 6.000000 +v 0.187250 0.324327 6.000000 +v 0.324327 0.187250 6.000000 +v 0.374500 0.000000 6.000000 +v 0.324327 -0.187250 6.000000 +v 0.187250 -0.324327 6.000000 +v 0.000000 -0.374500 6.000000 +v -0.187250 -0.324327 6.000000 +v -0.324327 -0.187250 6.000000 +v -0.374500 0.000000 6.000000 +v -0.324327 0.187250 6.000000 +v -0.187250 0.324327 6.000000 +v 0.000000 0.374500 9.500000 +v 0.187250 0.324327 9.500000 +v 0.324327 0.187250 9.500000 +v 0.374500 0.000000 9.500000 +v 0.324327 -0.187250 9.500000 +v 0.187250 -0.324327 9.500000 +v 0.000000 -0.374500 9.500000 +v -0.187250 -0.324327 9.500000 +v -0.324327 -0.187250 9.500000 +v -0.374500 0.000000 9.500000 +v -0.324327 0.187250 9.500000 +v -0.187250 0.324327 9.500000 +v 0.000000 0.187500 10.000000 +v -0.093750 0.162380 10.000000 +v -0.162380 0.093750 10.000000 +v -0.187500 0.000000 10.000000 +v -0.162380 -0.093750 10.000000 +v -0.093750 -0.162380 10.000000 +v 0.000000 -0.187500 10.000000 +v 0.093750 -0.162380 10.000000 +v 0.162379 -0.093750 10.000000 +v 0.187500 -0.000000 10.000000 +v 0.162380 0.093750 10.000000 +v 0.093750 0.162380 10.000000 +v 0.000000 0.000000 10.125000 +vt 0.500000 0.583333 +vt 0.486842 0.666667 +vt 0.486842 0.583333 +vt 0.500000 0.333333 +vt 0.486842 0.416667 +vt 0.486842 0.333333 +vt 0.500000 0.250000 +vt 0.486842 0.250000 +vt 0.500000 0.500000 +vt 0.500000 0.562500 +vt 0.500000 0.479167 +vt 0.500000 0.416667 +vt 0.500000 0.666667 +vt 0.486842 0.750000 +vt 0.500000 0.750000 +vt 0.486842 0.833333 +vt 0.500000 0.895833 +vt 0.500000 0.833333 +vt 0.500000 0.979167 +vt 0.486842 0.916667 +vt 0.500000 0.916667 +vt 0.500000 -0.000000 +vt 0.486842 0.083333 +vt 0.486842 -0.000000 +vt 0.500000 0.083333 +vt 0.486842 0.166667 +vt 0.500000 0.166667 +vt 0.980230 0.016928 +vt 0.999934 0.125000 +vt 0.940822 0.233072 +vt 0.460526 0.416667 +vt 0.447368 0.333333 +vt 0.460526 0.333333 +vt 0.447368 0.479167 +vt 0.460526 0.500000 +vt 0.460526 0.583333 +vt 0.447368 0.500000 +vt 0.460526 0.666667 +vt 0.447368 0.583333 +vt 0.460526 0.750000 +vt 0.447368 0.666667 +vt 0.460526 0.833333 +vt 0.447368 0.750000 +vt 0.447368 0.895833 +vt 0.460526 0.916667 +vt 0.447368 0.979167 +vt 0.460526 1.000000 +vt 0.460526 0.083333 +vt 0.447368 -0.000000 +vt 0.460526 -0.000000 +vt 0.460526 0.166667 +vt 0.447368 0.083333 +vt 0.460526 0.250000 +vt 0.447368 0.166667 +vt 0.447368 0.250000 +vt 0.500000 0.645833 +vt 0.500000 0.395833 +vt 0.500000 0.312500 +vt 0.486842 0.500000 +vt 0.500000 0.729167 +vt 0.500000 0.812500 +vt 0.486842 1.000000 +vt 0.500000 0.062500 +vt 0.500000 0.145833 +vt 0.500000 0.229167 +vt 0.926398 0.187396 +vt 0.921119 0.125000 +vt 0.926398 0.062605 +vt 0.940822 0.016928 +vt 0.960526 0.000209 +vt 0.994654 0.062605 +vt 0.994654 0.187395 +vt 0.980230 0.233072 +vt 0.960526 0.249791 +vt 0.447368 0.395833 +vt 0.447368 0.416667 +vt 0.447368 0.562500 +vt 0.447368 0.645833 +vt 0.447368 0.729167 +vt 0.447368 0.812500 +vt 0.447368 0.833333 +vt 0.447368 0.916667 +vt 0.447368 0.062500 +vt 0.447368 0.145833 +vt 0.447368 0.229167 +vt 0.447368 0.312500 +vt 0.500000 0.437500 +vt 0.921053 0.500000 +vt 0.500000 0.500000 +vt 0.500000 0.125000 +vt 0.921053 0.187500 +vt 0.500000 0.187500 +vt 0.921053 0.562500 +vt 0.500000 0.562500 +vt 0.921053 0.625000 +vt 0.500000 0.625000 +vt 0.921053 0.125000 +vt 0.921053 0.687500 +vt 0.500000 0.687500 +vt 0.500000 0.250000 +vt 0.921053 0.312500 +vt 0.500000 0.312500 +vt 0.921053 0.750000 +vt 0.500000 0.750000 +vt 0.921053 0.062500 +vt 0.921053 0.375000 +vt 0.500000 0.375000 +vt 0.921053 0.250000 +vt 0.921053 0.437500 +vt 0.447368 0.312500 +vt 0.078947 0.250000 +vt 0.447368 0.250000 +vt 0.447368 0.687500 +vt 0.078947 0.625000 +vt 0.447368 0.625000 +vt 0.447368 0.125000 +vt 0.078947 0.062500 +vt 0.447368 0.437500 +vt 0.078947 0.375000 +vt 0.447368 0.375000 +vt 0.078947 0.312500 +vt 0.078947 0.562500 +vt 0.447368 0.562500 +vt 0.078947 -0.000000 +vt 0.078947 0.187500 +vt 0.447368 0.187500 +vt 0.078947 0.500000 +vt 0.447368 0.500000 +vt 0.447368 0.750000 +vt 0.078947 0.687500 +vt 0.078947 0.125000 +vt 0.078947 0.437500 +vt 0.026316 0.187500 +vt 0.026316 0.250000 +vt 0.026316 0.354167 +vt 0.026316 0.312500 +vt 0.026316 0.375000 +vt 0.026316 0.479167 +vt 0.026316 0.437500 +vt 0.026316 0.541667 +vt 0.026316 0.500000 +vt 0.026316 0.562500 +vt 0.026316 0.625000 +vt 0.026316 0.729167 +vt 0.026316 0.687500 +vt 0.026316 0.000000 +vt 0.026316 0.062500 +vt 0.026316 0.166667 +vt 0.026316 0.125000 +vt 0.026316 0.666667 +vt 0.000000 0.645833 +vt 0.000000 0.333333 +vt 0.000000 0.458333 +vt 0.000000 0.145833 +vt 0.000000 0.708333 +vt 0.000000 0.520833 +vt 0.026316 0.229167 +vt 0.000000 0.208333 +vt 0.026316 0.041667 +vt 0.000000 0.020833 +vt 0.026316 0.604167 +vt 0.000000 0.583333 +vt 0.026316 0.291667 +vt 0.000000 0.270833 +vt 0.026316 0.104167 +vt 0.000000 0.083333 +vt 0.026316 0.416667 +vt 0.000000 0.395833 +vt 0.921053 -0.000000 +vt 0.078947 0.750000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.5000 0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.8530 0.4925 0.1731 +vn -0.8530 -0.4925 0.1731 +vn 0.4925 -0.8530 0.1731 +vn 0.0000 0.9849 0.1731 +vn 0.4925 0.8530 0.1731 +vn -0.9849 0.0000 0.1731 +vn -0.0000 -0.9849 0.1731 +vn 0.9849 -0.0000 0.1731 +vn -0.8530 0.4925 0.1731 +vn -0.4925 -0.8530 0.1731 +vn 0.8530 -0.4925 0.1731 +vn -0.4925 0.8530 0.1731 +vn 0.8018 -0.0000 0.5976 +vn 0.6944 0.4009 0.5976 +vn 0.0000 0.8018 0.5976 +vn 0.4009 0.6944 0.5976 +vn -0.6944 0.4009 0.5976 +vn -0.4009 0.6944 0.5976 +vn -0.8018 0.0000 0.5976 +vn -0.6944 -0.4009 0.5976 +vn 0.0000 -0.8018 0.5976 +vn -0.4009 -0.6944 0.5976 +vn 0.4009 -0.6944 0.5976 +vn 0.6944 -0.4009 0.5976 +s off +f 1404/2213/342 1399/2214/342 1401/2215/342 +f 1386/2216/342 1381/2217/342 1383/2218/342 +f 1388/2219/342 1383/2218/342 1385/2220/342 +f 1401/2215/342 1382/2221/342 1404/2222/342 +f 1382/2223/342 1381/2217/342 1384/2224/342 +f 1402/2225/342 1397/2226/342 1399/2214/342 +f 1400/2227/342 1395/2228/342 1397/2226/342 +f 1396/2229/342 1395/2228/342 1398/2230/342 +f 1394/2231/342 1393/2232/342 1396/2233/342 +f 1394/2234/342 1389/2235/342 1391/2236/342 +f 1392/2237/342 1387/2238/342 1389/2235/342 +f 1390/2239/342 1385/2220/342 1387/2238/342 +f 1412/2240/342 1414/2241/342 1406/2242/342 +f 1417/2243/343 1431/2244/343 1418/2245/343 +f 1429/2246/343 1417/2243/343 1428/2247/343 +f 1427/2248/343 1429/2249/343 1428/2247/343 +f 1426/2250/343 1440/2251/343 1427/2248/343 +f 1425/2252/343 1439/2253/343 1426/2250/343 +f 1424/2254/343 1438/2255/343 1425/2252/343 +f 1436/2256/343 1424/2254/343 1423/2257/343 +f 1435/2258/343 1423/2257/343 1422/2259/343 +f 1421/2260/343 1435/2261/343 1422/2262/343 +f 1420/2263/343 1434/2264/343 1421/2260/343 +f 1419/2265/343 1433/2266/343 1420/2263/343 +f 1418/2245/343 1432/2267/343 1419/2265/343 +f 1404/2213/342 1402/2268/342 1399/2214/342 +f 1386/2216/342 1384/2269/342 1381/2217/342 +f 1388/2219/342 1386/2270/342 1383/2218/342 +f 1401/2215/342 1403/2271/342 1382/2221/342 +f 1382/2223/342 1403/2271/342 1381/2217/342 +f 1402/2225/342 1400/2272/342 1397/2226/342 +f 1400/2227/342 1398/2273/342 1395/2228/342 +f 1396/2229/342 1393/2232/342 1395/2228/342 +f 1394/2231/342 1391/2274/342 1393/2232/342 +f 1394/2234/342 1392/2275/342 1389/2235/342 +f 1392/2237/342 1390/2276/342 1387/2238/342 +f 1390/2239/342 1388/2277/342 1385/2220/342 +f 1406/2242/342 1407/2278/342 1408/2279/342 +f 1408/2279/342 1409/2280/342 1406/2242/342 +f 1409/2280/342 1410/2281/342 1406/2242/342 +f 1410/2281/342 1411/2282/342 1412/2240/342 +f 1412/2240/342 1413/2283/342 1414/2241/342 +f 1414/2241/342 1415/2284/342 1406/2242/342 +f 1415/2284/342 1416/2285/342 1406/2242/342 +f 1416/2285/342 1405/2286/342 1406/2242/342 +f 1410/2281/342 1412/2240/342 1406/2242/342 +f 1417/2243/343 1430/2287/343 1431/2244/343 +f 1429/2246/343 1430/2288/343 1417/2243/343 +f 1427/2248/343 1440/2289/343 1429/2249/343 +f 1426/2250/343 1439/2290/343 1440/2251/343 +f 1425/2252/343 1438/2291/343 1439/2253/343 +f 1424/2254/343 1437/2292/343 1438/2255/343 +f 1436/2256/343 1437/2293/343 1424/2254/343 +f 1435/2258/343 1436/2294/343 1423/2257/343 +f 1421/2260/343 1434/2295/343 1435/2261/343 +f 1420/2263/343 1433/2296/343 1434/2264/343 +f 1419/2265/343 1432/2297/343 1433/2266/343 +f 1418/2245/343 1431/2298/343 1432/2267/343 +s 1 +f 1404/2299/344 1415/2300/345 1402/2301/345 +f 1390/2302/346 1408/2303/347 1388/2304/347 +f 1402/2301/345 1414/2305/348 1400/2306/348 +f 1400/2306/348 1413/2307/349 1398/2308/349 +f 1392/2275/350 1409/2309/346 1390/2302/346 +f 1398/2308/349 1412/2310/351 1396/2311/351 +f 1386/2312/352 1406/2313/353 1384/2314/353 +f 1396/2311/351 1411/2315/354 1394/2316/354 +f 1394/2234/354 1410/2317/350 1392/2275/350 +f 1384/2314/353 1405/2318/355 1382/2319/355 +f 1388/2304/347 1407/2320/352 1386/2312/352 +f 1382/2319/355 1416/2321/344 1404/2299/344 +f 1385/2220/347 1420/2263/346 1387/2238/346 +f 1381/2217/353 1418/2245/352 1383/2218/352 +f 1399/2214/345 1427/2248/344 1401/2215/344 +f 1395/2228/349 1425/2252/348 1397/2226/348 +f 1391/2274/354 1423/2257/351 1393/2232/351 +f 1401/2215/344 1428/2247/355 1403/2271/355 +f 1387/2238/346 1421/2260/350 1389/2235/350 +f 1397/2226/348 1426/2250/345 1399/2214/345 +f 1383/2218/352 1419/2265/347 1385/2220/347 +f 1393/2232/351 1424/2254/349 1395/2228/349 +f 1403/2271/355 1417/2243/353 1381/2217/353 +f 1389/2235/350 1422/2262/354 1391/2236/354 +f 1430/2322/353 1443/2323/356 1431/2324/352 +f 1436/2325/351 1449/2326/357 1437/2327/349 +f 1433/2328/346 1446/2329/358 1434/2295/350 +f 1440/2330/344 1441/2331/359 1429/2332/355 +f 1429/2332/355 1442/2333/360 1430/2322/353 +f 1437/2327/349 1450/2334/361 1438/2335/348 +f 1434/2295/350 1447/2336/362 1435/2261/354 +f 1431/2324/352 1444/2337/363 1432/2338/347 +f 1438/2335/348 1451/2339/364 1439/2340/345 +f 1435/2341/354 1448/2342/365 1436/2325/351 +f 1432/2338/347 1445/2343/366 1433/2328/346 +f 1439/2340/345 1452/2344/367 1440/2330/344 +f 1443/2323/356 1462/2345/368 1444/2337/363 +f 1442/2333/360 1463/2346/369 1443/2323/356 +f 1442/2333/360 1453/2347/370 1464/2348/371 +f 1452/2344/367 1453/2349/370 1441/2331/359 +f 1452/2344/367 1455/2350/372 1454/2351/373 +f 1451/2339/364 1456/2352/374 1455/2353/372 +f 1449/2326/357 1456/2354/374 1450/2334/361 +f 1448/2342/365 1457/2355/375 1449/2326/357 +f 1448/2342/365 1459/2356/376 1458/2357/377 +f 1446/2329/358 1459/2358/376 1447/2336/362 +f 1445/2343/366 1460/2359/378 1446/2329/358 +f 1445/2343/366 1462/2360/368 1461/2361/379 +f 1458/2362/377 1465/2363/343 1457/2355/375 +f 1453/2347/370 1465/2364/343 1464/2348/371 +f 1455/2350/372 1465/2365/343 1454/2351/373 +f 1462/2360/368 1465/2366/343 1461/2361/379 +f 1459/2356/376 1465/2367/343 1458/2357/377 +f 1456/2352/374 1465/2368/343 1455/2353/372 +f 1463/2369/369 1465/2370/343 1462/2345/368 +f 1460/2371/378 1465/2372/343 1459/2358/376 +f 1457/2373/375 1465/2374/343 1456/2354/374 +f 1464/2375/371 1465/2376/343 1463/2346/369 +f 1461/2377/379 1465/2378/343 1460/2359/378 +f 1454/2379/373 1465/2380/343 1453/2349/370 +f 1404/2299/344 1416/2321/344 1415/2300/345 +f 1390/2302/346 1409/2309/346 1408/2303/347 +f 1402/2301/345 1415/2300/345 1414/2305/348 +f 1400/2306/348 1414/2305/348 1413/2307/349 +f 1392/2275/350 1410/2317/350 1409/2309/346 +f 1398/2308/349 1413/2307/349 1412/2310/351 +f 1386/2312/352 1407/2320/352 1406/2313/353 +f 1396/2311/351 1412/2310/351 1411/2315/354 +f 1394/2234/354 1411/2381/354 1410/2317/350 +f 1384/2314/353 1406/2313/353 1405/2318/355 +f 1388/2304/347 1408/2303/347 1407/2320/352 +f 1382/2319/355 1405/2318/355 1416/2321/344 +f 1385/2220/347 1419/2265/347 1420/2263/346 +f 1381/2217/353 1417/2243/353 1418/2245/352 +f 1399/2214/345 1426/2250/345 1427/2248/344 +f 1395/2228/349 1424/2254/349 1425/2252/348 +f 1391/2274/354 1422/2259/354 1423/2257/351 +f 1401/2215/344 1427/2248/344 1428/2247/355 +f 1387/2238/346 1420/2263/346 1421/2260/350 +f 1397/2226/348 1425/2252/348 1426/2250/345 +f 1383/2218/352 1418/2245/352 1419/2265/347 +f 1393/2232/351 1423/2257/351 1424/2254/349 +f 1403/2271/355 1428/2247/355 1417/2243/353 +f 1389/2235/350 1421/2260/350 1422/2262/354 +f 1430/2322/353 1442/2333/360 1443/2323/356 +f 1436/2325/351 1448/2342/365 1449/2326/357 +f 1433/2328/346 1445/2343/366 1446/2329/358 +f 1440/2330/344 1452/2344/367 1441/2331/359 +f 1429/2332/355 1441/2331/359 1442/2333/360 +f 1437/2327/349 1449/2326/357 1450/2334/361 +f 1434/2295/350 1446/2329/358 1447/2336/362 +f 1431/2324/352 1443/2323/356 1444/2337/363 +f 1438/2335/348 1450/2334/361 1451/2339/364 +f 1435/2341/354 1447/2382/362 1448/2342/365 +f 1432/2338/347 1444/2337/363 1445/2343/366 +f 1439/2340/345 1451/2339/364 1452/2344/367 +f 1443/2323/356 1463/2369/369 1462/2345/368 +f 1442/2333/360 1464/2375/371 1463/2346/369 +f 1442/2333/360 1441/2331/359 1453/2347/370 +f 1452/2344/367 1454/2379/373 1453/2349/370 +f 1452/2344/367 1451/2339/364 1455/2350/372 +f 1451/2339/364 1450/2334/361 1456/2352/374 +f 1449/2326/357 1457/2373/375 1456/2354/374 +f 1448/2342/365 1458/2362/377 1457/2355/375 +f 1448/2342/365 1447/2382/362 1459/2356/376 +f 1446/2329/358 1460/2371/378 1459/2358/376 +f 1445/2343/366 1461/2377/379 1460/2359/378 +f 1445/2343/366 1444/2337/363 1462/2360/368 diff --git a/src/main/resources/assets/hbm/models/weapons/congolake.obj b/src/main/resources/assets/hbm/models/weapons/congolake.obj index 4a34fe6d0..77e57c3d1 100644 --- a/src/main/resources/assets/hbm/models/weapons/congolake.obj +++ b/src/main/resources/assets/hbm/models/weapons/congolake.obj @@ -486,6 +486,10 @@ v 0.213723 1.586004 0.965536 v -0.173216 1.890425 0.967058 v -0.217260 1.720861 0.967058 v -0.217260 1.599823 0.967058 +v -0.262079 1.644726 0.500033 +v -0.262079 1.095427 0.500033 +v -0.262079 1.095427 -0.049266 +v -0.262079 1.644726 -0.049266 vn 0.4257 0.9049 -0.0048 vn 0.9414 0.3371 -0.0136 vn 1.0000 -0.0021 -0.0092 @@ -1081,876 +1085,880 @@ vn -1.0000 0.0069 -0.0048 vn 0.9998 0.0169 0.0048 vn 1.0000 0.0064 0.0018 vn 1.0000 0.0059 -0.0044 -vt 0.314366 0.961863 -vt 0.294812 0.975635 -vt 0.294657 0.961939 -vt 0.273456 0.975731 -vt 0.273229 0.961965 -vt 0.262381 0.975737 -vt 0.256051 0.961941 -vt 0.125608 0.749505 -vt 0.097336 0.727764 -vt 0.125610 0.725602 -vt 0.168440 0.696871 -vt 0.168440 0.716405 -vt 0.109231 0.716275 -vt 0.127314 0.962819 -vt 0.110436 0.977071 -vt 0.110100 0.963138 -vt 0.056961 0.977985 -vt 0.034809 0.964084 -vt 0.057052 0.963821 -vt 0.034870 0.978067 -vt 0.014902 0.964099 -vt 0.199446 0.727764 -vt 0.171174 0.749505 -vt 0.171172 0.725602 -vt 0.035307 0.807355 -vt 0.010838 0.597288 -vt 0.017874 0.618909 -vt 0.015372 0.630834 -vt 0.013899 0.556050 -vt 0.009136 0.552343 -vt 0.015271 0.870213 -vt 0.091632 0.963445 -vt 0.055268 0.806356 -vt 0.088357 0.802601 -vt 0.013764 0.139760 -vt 0.049854 0.124762 -vt 0.048730 0.157936 -vt 0.271875 0.803748 -vt 0.255984 0.868690 -vt 0.239398 0.800845 -vt 0.221112 0.961929 -vt 0.221070 0.800394 -vt 0.043269 0.233050 -vt 0.010790 0.189172 -vt 0.008714 0.234441 -vt 0.040214 0.045310 -vt 0.041285 0.072586 -vt 0.016409 0.072577 -vt 0.106773 0.801728 -vt 0.188797 0.799828 -vt 0.189454 0.860441 -vt 0.168859 0.799931 -vt 0.203932 0.961982 -vt 0.190529 0.959560 -vt 0.139611 0.860982 -vt 0.140686 0.960100 -vt 0.179637 0.960676 -vt 0.191879 0.973114 -vt 0.221110 0.975759 -vt 0.239478 0.975750 -vt 0.239470 0.961920 -vt 0.091859 0.977480 -vt 0.068629 0.977845 -vt 0.151599 0.960980 -vt 0.139629 0.973680 -vt 0.295488 0.867180 -vt 0.309465 0.800651 -vt 0.314455 0.865726 -vt 0.099265 0.557700 -vt 0.088674 0.528893 -vt 0.091711 0.518805 -vt 0.273373 0.868342 -vt 0.291054 0.804240 -vt 0.017282 0.517402 -vt 0.096715 0.601134 -vt 0.094272 0.561212 -vt 0.090072 0.620005 -vt 0.092216 0.630834 -vt 0.019880 0.528535 -vt 0.093170 0.596621 -vt 0.048521 0.157264 -vt 0.099086 0.151375 -vt 0.101118 0.125172 -vt 0.100614 0.125701 -vt 0.096976 0.181286 -vt 0.045608 0.196565 -vt 0.014112 0.138899 -vt 0.044187 0.260468 -vt 0.009380 0.268657 -vt 0.010839 0.235095 -vt 0.047070 0.260910 -vt 0.012396 0.269226 -vt 0.011742 0.189926 -vt 0.045438 0.233562 -vt 0.050505 0.124018 -vt 0.015811 0.109271 -vt 0.046833 0.197155 -vt 0.129115 0.163540 -vt 0.092797 0.074820 -vt 0.123836 0.051890 -vt 0.125752 0.076448 -vt 0.099258 0.151849 -vt 0.129673 0.163858 -vt 0.097922 0.181697 -vt 0.098488 0.207838 -vt 0.102467 0.099218 -vt 0.100128 0.208179 -vt 0.086379 0.050726 -vt 0.161380 0.154835 -vt 0.130349 0.120529 -vt 0.161569 0.110452 -vt 0.161572 0.193930 -vt 0.129818 0.193381 -vt 0.101290 0.099804 -vt 0.131373 0.074271 -vt 0.130916 0.120113 -vt 0.133141 0.073753 -vt 0.128491 0.193132 -vt 0.134570 0.037458 -vt 0.163321 0.074493 -vt 0.324006 0.068216 -vt 0.325470 0.009804 -vt 0.159015 0.221209 -vt 0.319147 0.219954 -vt 0.160154 0.193815 -vt 0.162323 0.110144 -vt 0.321290 0.154865 -vt 0.153411 0.072905 -vt 0.160980 0.154628 -vt 0.161642 0.074882 -vt 0.136981 0.357463 -vt 0.167260 0.372515 -vt 0.136981 0.373289 -vt 0.088568 0.357595 -vt 0.068186 0.373289 -vt 0.068186 0.357463 -vt 0.189977 0.371792 -vt 0.167260 0.356690 -vt 0.189978 0.355966 -vt 0.321611 0.219338 -vt 0.161143 0.221263 -vt 0.322066 0.154397 -vt 0.321076 0.041804 -vt 0.323456 0.071128 -vt 0.322534 0.067945 -vt 0.250154 0.792851 -vt 0.273221 0.795467 -vt 0.091316 0.794644 -vt 0.293066 0.797695 -vt 0.016873 0.804883 -vt 0.033786 0.801329 -vt 0.077381 0.795722 -vt 0.155566 0.788575 -vt 0.138639 0.778486 -vt 0.158066 0.772764 -vt 0.054011 0.798812 -vt 0.236326 0.792079 -vt 0.202051 0.371732 -vt 0.202051 0.355906 -vt 0.116599 0.357595 -vt 0.116599 0.373421 -vt 0.015190 0.355966 -vt 0.003116 0.371732 -vt 0.003116 0.355906 -vt 0.037907 0.372515 -vt 0.037907 0.356690 -vt 0.015190 0.371792 -vt 0.105668 0.357644 -vt 0.105668 0.373470 -vt 0.099489 0.357644 -vt 0.088568 0.373421 -vt 0.099489 0.373470 -vt 0.188632 0.777943 -vt 0.167878 0.772654 -vt 0.181394 0.762326 -vt 0.294067 0.647961 -vt 0.303167 0.614199 -vt 0.303167 0.647961 -vt 0.153583 0.091790 -vt 0.321316 0.117408 -vt 0.153648 0.123361 -vt 0.323510 0.088039 -vt 0.124127 0.112592 -vt 0.125603 0.089619 -vt 0.041308 0.093532 -vt 0.086689 0.119252 -vt 0.039823 0.120997 -vt 0.273195 0.559127 -vt 0.289603 0.553152 -vt 0.290452 0.556695 -vt 0.091482 0.092156 -vt 0.016236 0.091777 -vt 0.281554 0.625218 -vt 0.271561 0.618402 -vt 0.294030 0.616776 -vt 0.170751 0.788410 -vt 0.157783 0.800051 -vt 0.152072 0.860847 -vt 0.193727 0.919817 -vt 0.180297 0.708701 -vt 0.193725 0.708701 -vt 0.265671 0.609576 -vt 0.271448 0.609440 -vt 0.294067 0.614199 -vt 0.303167 0.605510 -vt 0.293952 0.607827 -vt 0.236000 0.625228 -vt 0.245972 0.618420 -vt 0.245995 0.625548 -vt 0.223524 0.616863 -vt 0.246072 0.609463 -vt 0.254076 0.629043 -vt 0.263451 0.625557 -vt 0.263443 0.629089 -vt 0.265727 0.618518 -vt 0.263353 0.618566 -vt 0.265808 0.625494 -vt 0.258767 0.637676 -vt 0.254047 0.637653 -vt 0.251845 0.609578 -vt 0.251796 0.618515 -vt 0.251734 0.625465 -vt 0.138954 0.800369 -vt 0.254084 0.625511 -vt 0.254163 0.618559 -vt 0.263310 0.609597 -vt 0.254206 0.609594 -vt 0.294067 0.605510 -vt 0.303167 0.565131 -vt 0.251853 0.569232 -vt 0.253156 0.562875 -vt 0.254213 0.569233 -vt 0.263295 0.569233 -vt 0.265655 0.569230 -vt 0.266567 0.564085 -vt 0.267638 0.557134 -vt 0.268986 0.560040 -vt 0.294067 0.565131 -vt 0.303167 0.559802 -vt 0.264350 0.562875 -vt 0.263295 0.562688 -vt 0.248520 0.560043 -vt 0.244268 0.555593 -vt 0.249867 0.557136 -vt 0.254213 0.562688 -vt 0.263295 0.555128 -vt 0.250939 0.564087 -vt 0.294067 0.559802 -vt 0.303167 0.554364 -vt 0.294067 0.554364 -vt 0.303167 0.547980 -vt 0.273237 0.555588 -vt 0.254213 0.555128 -vt 0.263295 0.546600 -vt 0.263141 0.521961 -vt 0.254213 0.546600 -vt 0.254367 0.521961 -vt 0.303021 0.521961 -vt 0.294067 0.547980 -vt 0.294213 0.521961 -vt 0.227901 0.553165 -vt 0.244311 0.559132 -vt 0.227053 0.556709 -vt 0.322830 0.524494 -vt 0.328472 0.528894 -vt 0.323984 0.531427 -vt 0.330014 0.547183 -vt 0.325218 0.552440 -vt 0.325218 0.547183 -vt 0.328472 0.540213 -vt 0.322830 0.544613 -vt 0.323984 0.537680 -vt 0.329035 0.552477 -vt 0.324239 0.557734 -vt 0.324239 0.552477 -vt 0.321255 0.547183 -vt 0.320214 0.557734 -vt 0.315026 0.552477 -vt 0.320214 0.552477 -vt 0.319165 0.526989 -vt 0.319165 0.542118 -vt 0.320185 0.535986 -vt 0.314282 0.539490 -vt 0.310555 0.534572 -vt 0.315100 0.534572 -vt 0.321255 0.552440 -vt 0.316083 0.547183 -vt 0.320185 0.533121 -vt 0.314282 0.529617 -vt 0.309808 0.539058 -vt 0.304377 0.538124 -vt 0.310555 0.534535 -vt 0.309808 0.530049 -vt 0.315026 0.557734 -vt 0.310543 0.552477 -vt 0.316083 0.552440 -vt 0.311538 0.547183 -vt 0.305983 0.556964 -vt 0.304350 0.554128 -vt 0.305983 0.553247 -vt 0.304377 0.530983 -vt 0.305407 0.528102 -vt 0.311538 0.552440 -vt 0.304942 0.547953 -vt 0.303203 0.554128 -vt 0.304350 0.556083 -vt 0.303203 0.556083 -vt 0.303203 0.550789 -vt 0.303203 0.548833 -vt 0.305407 0.541005 -vt 0.303203 0.540240 -vt 0.303203 0.528867 -vt 0.303745 0.527351 -vt 0.009347 0.553762 -vt 0.097357 0.642576 -vt 0.009348 0.642577 -vt 0.107587 0.829304 -vt 0.189150 0.799526 -vt 0.189194 0.829363 -vt 0.107632 0.799414 -vt 0.189109 0.771635 -vt 0.107673 0.771635 -vt 0.097357 0.553762 -vt 0.117762 0.642576 -vt 0.093110 0.647104 -vt 0.013595 0.647105 -vt 0.013557 0.518373 -vt 0.013557 0.549711 -vt 0.009348 0.683002 -vt 0.097358 0.771695 -vt 0.009348 0.771696 -vt 0.144454 0.771725 -vt 0.117763 0.683001 -vt 0.144712 0.682911 -vt 0.097357 0.513726 -vt 0.117762 0.553762 -vt 0.097357 0.683001 -vt 0.117763 0.771695 -vt 0.280600 0.402906 -vt 0.283604 0.483938 -vt 0.280600 0.483938 -vt 0.013595 0.678474 -vt 0.093110 0.678473 -vt 0.300859 0.402771 -vt 0.303774 0.483879 -vt 0.300859 0.483879 -vt 0.093147 0.549711 -vt 0.093147 0.518373 -vt 0.009347 0.513726 -vt 0.317967 0.402771 -vt 0.303774 0.402771 -vt 0.303778 0.398399 -vt 0.320881 0.483879 -vt 0.320881 0.402771 -vt 0.303778 0.488250 -vt 0.317967 0.483879 -vt 0.317971 0.488250 -vt 0.297812 0.402906 -vt 0.283604 0.402906 -vt 0.297808 0.488445 -vt 0.297812 0.483938 -vt 0.300817 0.483938 -vt 0.300817 0.402906 -vt 0.297808 0.398399 -vt 0.283600 0.398399 -vt 0.080480 0.350713 -vt 0.103363 0.346034 -vt 0.103172 0.373989 -vt 0.333333 -0.000000 +vt 0.314366 0.974575 +vt 0.294812 0.983757 +vt 0.294657 0.974626 +vt 0.273456 0.983821 +vt 0.273229 0.974643 +vt 0.262381 0.983825 +vt 0.256051 0.974627 +vt 0.125608 0.833003 +vt 0.097336 0.818509 +vt 0.125610 0.817068 +vt 0.168440 0.797914 +vt 0.168440 0.810937 +vt 0.109231 0.810850 +vt 0.127314 0.975213 +vt 0.110436 0.984714 +vt 0.110100 0.975425 +vt 0.056961 0.985323 +vt 0.034809 0.976056 +vt 0.057052 0.975881 +vt 0.034870 0.985378 +vt 0.014902 0.976066 +vt 0.199446 0.818509 +vt 0.171174 0.833003 +vt 0.171172 0.817068 +vt 0.035307 0.871570 +vt 0.010838 0.731525 +vt 0.017874 0.745939 +vt 0.015372 0.753889 +vt 0.013899 0.704033 +vt 0.009136 0.701562 +vt 0.015271 0.913475 +vt 0.091632 0.975630 +vt 0.055268 0.870904 +vt 0.088357 0.868401 +vt 0.013764 0.426507 +vt 0.049854 0.416508 +vt 0.048730 0.438624 +vt 0.271875 0.869165 +vt 0.255984 0.912460 +vt 0.239398 0.867230 +vt 0.221112 0.974619 +vt 0.221070 0.866929 +vt 0.043269 0.488700 +vt 0.010790 0.459448 +vt 0.008714 0.489627 +vt 0.040214 0.363540 +vt 0.041285 0.381724 +vt 0.016409 0.381718 +vt 0.106773 0.867819 +vt 0.188797 0.866552 +vt 0.189454 0.906961 +vt 0.168859 0.866621 +vt 0.203932 0.974655 +vt 0.190529 0.973040 +vt 0.139611 0.907321 +vt 0.140686 0.973400 +vt 0.179637 0.973784 +vt 0.191879 0.982076 +vt 0.221110 0.983839 +vt 0.239478 0.983833 +vt 0.239470 0.974613 +vt 0.091859 0.984987 +vt 0.068629 0.985230 +vt 0.151599 0.973987 +vt 0.139629 0.982453 +vt 0.295488 0.911453 +vt 0.309465 0.867101 +vt 0.314455 0.910484 +vt 0.099265 0.705133 +vt 0.088674 0.685929 +vt 0.091711 0.679203 +vt 0.273373 0.912228 +vt 0.291054 0.869493 +vt 0.017282 0.678268 +vt 0.096715 0.734089 +vt 0.094272 0.707475 +vt 0.090072 0.746670 +vt 0.092216 0.753889 +vt 0.019880 0.685690 +vt 0.093170 0.731081 +vt 0.048521 0.438176 +vt 0.099086 0.434250 +vt 0.101118 0.416781 +vt 0.100614 0.417134 +vt 0.096976 0.454191 +vt 0.045608 0.464377 +vt 0.014112 0.425933 +vt 0.044187 0.506979 +vt 0.009380 0.512438 +vt 0.010839 0.490063 +vt 0.047070 0.507273 +vt 0.012396 0.512817 +vt 0.011742 0.459951 +vt 0.045438 0.489041 +vt 0.050505 0.416012 +vt 0.015811 0.406181 +vt 0.046833 0.464770 +vt 0.129115 0.442360 +vt 0.092797 0.383213 +vt 0.123836 0.367927 +vt 0.125752 0.384299 +vt 0.099258 0.434566 +vt 0.129673 0.442572 +vt 0.097922 0.454465 +vt 0.098488 0.471892 +vt 0.102467 0.399479 +vt 0.100128 0.472119 +vt 0.086379 0.367151 +vt 0.161380 0.436557 +vt 0.130349 0.413686 +vt 0.161569 0.406968 +vt 0.161572 0.462620 +vt 0.129818 0.462254 +vt 0.101290 0.399869 +vt 0.131373 0.382847 +vt 0.130916 0.413409 +vt 0.133141 0.382502 +vt 0.128491 0.462088 +vt 0.134570 0.358305 +vt 0.163321 0.382995 +vt 0.324006 0.378811 +vt 0.325470 0.339869 +vt 0.159015 0.480806 +vt 0.319147 0.479969 +vt 0.160154 0.462543 +vt 0.162323 0.406763 +vt 0.321290 0.436577 +vt 0.153411 0.381937 +vt 0.160980 0.436419 +vt 0.161642 0.383255 +vt 0.136981 0.571642 +vt 0.167260 0.581677 +vt 0.136981 0.582193 +vt 0.088568 0.571730 +vt 0.068186 0.582193 +vt 0.068186 0.571642 +vt 0.189977 0.581195 +vt 0.167260 0.571127 +vt 0.189978 0.570644 +vt 0.321611 0.479559 +vt 0.161143 0.480842 +vt 0.322066 0.436265 +vt 0.321076 0.361203 +vt 0.323456 0.380752 +vt 0.322534 0.378630 +vt 0.250154 0.861901 +vt 0.273221 0.863645 +vt 0.091316 0.863096 +vt 0.293066 0.865130 +vt 0.016873 0.869922 +vt 0.033786 0.867553 +vt 0.077381 0.863815 +vt 0.155566 0.859050 +vt 0.138639 0.852324 +vt 0.158066 0.848509 +vt 0.054011 0.865875 +vt 0.236326 0.861386 +vt 0.202051 0.581155 +vt 0.202051 0.570604 +vt 0.116599 0.571730 +vt 0.116599 0.582281 +vt 0.015190 0.570644 +vt 0.003116 0.581155 +vt 0.003116 0.570604 +vt 0.037907 0.581677 +vt 0.037907 0.571127 +vt 0.015190 0.581195 +vt 0.105668 0.571763 +vt 0.105668 0.582313 +vt 0.099489 0.571763 +vt 0.088568 0.582281 +vt 0.099489 0.582313 +vt 0.188632 0.851962 +vt 0.167878 0.848436 +vt 0.181394 0.841551 +vt 0.294067 0.765307 +vt 0.303167 0.742799 +vt 0.303167 0.765307 +vt 0.153583 0.394527 +vt 0.321316 0.411605 +vt 0.153648 0.415574 +vt 0.323510 0.392026 +vt 0.124127 0.408395 +vt 0.125603 0.393079 +vt 0.041308 0.395688 +vt 0.086689 0.412835 +vt 0.039823 0.413998 +vt 0.273195 0.706085 +vt 0.289603 0.702101 +vt 0.290452 0.704463 +vt 0.091482 0.394771 +vt 0.016236 0.394518 +vt 0.281554 0.750145 +vt 0.271561 0.745601 +vt 0.294030 0.744517 +vt 0.170751 0.858940 +vt 0.157783 0.866701 +vt 0.152072 0.907231 +vt 0.193727 0.946545 +vt 0.180297 0.805801 +vt 0.193725 0.805801 +vt 0.265671 0.739717 +vt 0.271448 0.739627 +vt 0.294067 0.742799 +vt 0.303167 0.737007 +vt 0.293952 0.738551 +vt 0.236000 0.750152 +vt 0.245972 0.745613 +vt 0.245995 0.750365 +vt 0.223524 0.744575 +vt 0.246072 0.739642 +vt 0.254076 0.752695 +vt 0.263451 0.750371 +vt 0.263443 0.752726 +vt 0.265727 0.745679 +vt 0.263353 0.745711 +vt 0.265808 0.750329 +vt 0.258767 0.758451 +vt 0.254047 0.758435 +vt 0.251845 0.739719 +vt 0.251796 0.745677 +vt 0.251734 0.750310 +vt 0.138954 0.866913 +vt 0.254084 0.750341 +vt 0.254163 0.745706 +vt 0.263310 0.739731 +vt 0.254206 0.739729 +vt 0.294067 0.737007 +vt 0.303167 0.710087 +vt 0.251853 0.712821 +vt 0.253156 0.708583 +vt 0.254213 0.712822 +vt 0.263295 0.712822 +vt 0.265655 0.712820 +vt 0.266567 0.709390 +vt 0.267638 0.704756 +vt 0.268986 0.706693 +vt 0.294067 0.710087 +vt 0.303167 0.706535 +vt 0.264350 0.708583 +vt 0.263295 0.708459 +vt 0.248520 0.706695 +vt 0.244268 0.703729 +vt 0.249867 0.704757 +vt 0.254213 0.708459 +vt 0.263295 0.703419 +vt 0.250939 0.709391 +vt 0.294067 0.706535 +vt 0.303167 0.702909 +vt 0.294067 0.702909 +vt 0.303167 0.698653 +vt 0.273237 0.703725 +vt 0.254213 0.703419 +vt 0.263295 0.697733 +vt 0.263141 0.681307 +vt 0.254213 0.697733 +vt 0.254367 0.681307 +vt 0.303021 0.681307 +vt 0.294067 0.698653 +vt 0.294213 0.681307 +vt 0.227901 0.702110 +vt 0.244311 0.706088 +vt 0.227053 0.704473 +vt 0.322830 0.682996 +vt 0.328472 0.685929 +vt 0.323984 0.687618 +vt 0.330014 0.698122 +vt 0.325218 0.701627 +vt 0.325218 0.698122 +vt 0.328472 0.693475 +vt 0.322830 0.696409 +vt 0.323984 0.691787 +vt 0.329035 0.701651 +vt 0.324239 0.705156 +vt 0.324239 0.701651 +vt 0.321255 0.698122 +vt 0.320214 0.705156 +vt 0.315026 0.701651 +vt 0.320214 0.701651 +vt 0.319165 0.684659 +vt 0.319165 0.694745 +vt 0.320185 0.690657 +vt 0.314282 0.692993 +vt 0.310555 0.689715 +vt 0.315100 0.689715 +vt 0.321255 0.701627 +vt 0.316083 0.698122 +vt 0.320185 0.688747 +vt 0.314282 0.686411 +vt 0.309808 0.692705 +vt 0.304377 0.692083 +vt 0.310555 0.689690 +vt 0.309808 0.686699 +vt 0.315026 0.705156 +vt 0.310543 0.701651 +vt 0.316083 0.701627 +vt 0.311538 0.698122 +vt 0.305983 0.704643 +vt 0.304350 0.702752 +vt 0.305983 0.702165 +vt 0.304377 0.687322 +vt 0.305407 0.685401 +vt 0.311538 0.701627 +vt 0.304942 0.698635 +vt 0.303203 0.702752 +vt 0.304350 0.704055 +vt 0.303203 0.704055 +vt 0.303203 0.700526 +vt 0.303203 0.699222 +vt 0.305407 0.694003 +vt 0.303203 0.693493 +vt 0.303203 0.685911 +vt 0.303745 0.684901 +vt 0.009347 0.702508 +vt 0.097357 0.761717 +vt 0.009348 0.761718 +vt 0.107587 0.886203 +vt 0.189150 0.866351 +vt 0.189194 0.886242 +vt 0.107632 0.866276 +vt 0.189109 0.847757 +vt 0.107673 0.847757 +vt 0.097357 0.702508 +vt 0.117762 0.761717 +vt 0.093110 0.764736 +vt 0.013595 0.764737 +vt 0.013557 0.678915 +vt 0.013557 0.699807 +vt 0.009348 0.788668 +vt 0.097358 0.847797 +vt 0.009348 0.847797 +vt 0.144454 0.847817 +vt 0.117763 0.788667 +vt 0.144712 0.788607 +vt 0.097357 0.675817 +vt 0.117762 0.702508 +vt 0.097357 0.788667 +vt 0.117763 0.847797 +vt 0.280600 0.601937 +vt 0.283604 0.655959 +vt 0.280600 0.655959 +vt 0.013595 0.785649 +vt 0.093110 0.785649 +vt 0.300859 0.601847 +vt 0.303774 0.655919 +vt 0.300859 0.655919 +vt 0.093147 0.699807 +vt 0.093147 0.678915 +vt 0.009347 0.675817 +vt 0.317967 0.601847 +vt 0.303774 0.601847 +vt 0.303778 0.598933 +vt 0.320881 0.655919 +vt 0.320881 0.601847 +vt 0.303778 0.658833 +vt 0.317967 0.655919 +vt 0.317971 0.658833 +vt 0.297812 0.601937 +vt 0.283604 0.601937 +vt 0.297808 0.658963 +vt 0.297812 0.655959 +vt 0.300817 0.655959 +vt 0.300817 0.601937 +vt 0.297808 0.598933 +vt 0.283600 0.598933 +vt 0.080480 0.567142 +vt 0.103363 0.564023 +vt 0.103172 0.582659 +vt 0.333333 0.333333 vt 1.000000 1.000000 vt 0.333333 1.000000 -vt 0.195007 0.381137 -vt 0.201745 0.431502 -vt 0.195007 0.431502 -vt 0.201745 0.381137 -vt 0.208482 0.431502 -vt 0.154582 0.381137 -vt 0.161320 0.431502 -vt 0.154582 0.431502 -vt 0.161319 0.381137 -vt 0.168057 0.431502 -vt 0.168057 0.381137 -vt 0.174795 0.431502 -vt 0.174795 0.381137 -vt 0.181532 0.431502 -vt 0.231060 0.416867 -vt 0.226296 0.424014 -vt 0.219558 0.399615 -vt 0.181532 0.381137 -vt 0.188270 0.431502 -vt 0.188270 0.381137 -vt 0.126584 0.919818 -vt 0.140012 0.708701 -vt 0.140013 0.919817 -vt 0.207154 0.708701 -vt 0.207155 0.919817 -vt 0.166870 0.919817 -vt 0.153440 0.708701 -vt 0.166869 0.708701 -vt 0.180298 0.919817 -vt 0.153441 0.919817 -vt 0.234135 0.875411 -vt 0.220697 0.919762 -vt 0.220707 0.875404 -vt 0.220583 0.919816 -vt 0.220582 0.708701 -vt 0.113155 0.708702 -vt 0.126584 0.708702 -vt 0.314568 0.891555 -vt 0.309497 0.867473 -vt 0.313761 0.869278 -vt 0.301277 0.875445 -vt 0.287839 0.919797 -vt 0.287849 0.875438 -vt 0.260992 0.875425 -vt 0.247553 0.919776 -vt 0.247564 0.875418 -vt 0.328134 0.875459 -vt 0.314695 0.919811 -vt 0.314706 0.875452 -vt 0.274410 0.919790 -vt 0.274420 0.875431 -vt 0.260982 0.919783 -vt 0.234125 0.919769 -vt 0.301267 0.919804 -vt 0.308531 0.948048 -vt 0.297558 0.919947 -vt 0.309626 0.921049 -vt 0.314647 0.896518 -vt 0.310460 0.894042 -vt 0.311777 0.973256 -vt 0.312696 0.950617 -vt 0.320287 0.797781 -vt 0.307573 0.814336 -vt 0.317673 0.792250 -vt 0.313606 0.864986 -vt 0.308535 0.840905 -vt 0.312799 0.842709 -vt 0.312873 0.946256 -vt 0.313792 0.923617 -vt 0.320287 0.992004 -vt 0.307435 0.975048 -vt 0.312643 0.838418 -vt 0.311836 0.816141 -vt 0.296659 0.841873 -vt 0.293357 0.866637 -vt 0.292551 0.844359 -vt 0.295697 0.815304 -vt 0.297621 0.868441 -vt 0.298902 0.894148 -vt 0.296462 0.946946 -vt 0.260683 0.910703 -vt 0.247255 0.985157 -vt 0.247255 0.910703 -vt 0.293215 0.921738 -vt 0.295366 0.973946 -vt 0.281238 0.988439 -vt 0.291201 0.971377 -vt 0.292395 0.840068 -vt 0.291588 0.817791 -vt 0.270381 0.881699 -vt 0.294350 0.864763 -vt 0.269266 0.880790 -vt 0.292119 0.948738 -vt 0.281862 0.800912 -vt 0.284016 0.795041 -vt 0.300968 0.985157 -vt 0.288372 0.988169 -vt 0.287540 0.985157 -vt 0.287540 0.910703 -vt 0.274112 0.985157 -vt 0.274112 0.910703 -vt 0.206969 0.910703 -vt 0.193541 0.985157 -vt 0.193541 0.910703 -vt 0.233826 0.910703 -vt 0.220398 0.985157 -vt 0.220398 0.910703 -vt 0.260683 0.985157 -vt 0.300968 0.910703 -vt 0.206969 0.985157 -vt 0.233826 0.985157 -vt 0.000000 0.406250 -vt 0.052083 0.421875 -vt 0.000000 0.421875 -vt 0.207801 0.988169 -vt 0.234658 0.988169 -vt 0.259851 0.988169 -vt 0.248086 0.988169 -vt 0.286708 0.988169 -vt 0.274943 0.988169 -vt 0.206138 0.988169 -vt 0.194373 0.988169 -vt 0.232995 0.988169 -vt 0.221230 0.988169 -vt 0.261515 0.988169 -vt 0.048732 0.447842 -vt 0.045556 0.447842 -vt 0.048732 0.436341 -vt 0.000000 0.375000 -vt 0.052083 0.390625 -vt 0.000000 0.390625 -vt 0.000000 0.468750 -vt 0.052083 0.484375 -vt 0.000000 0.484375 -vt 0.000000 0.437500 -vt 0.052083 0.453125 -vt 0.000000 0.453125 -vt 0.052083 0.437500 -vt 0.052083 0.406250 -vt 0.052083 0.500000 -vt 0.000000 0.500000 -vt 0.052083 0.468750 -vt 0.077693 0.682531 -vt 0.085752 0.702806 -vt 0.072784 0.686569 -vt 0.099335 0.548750 -vt 0.085924 0.828424 -vt 0.085920 0.548750 -vt 0.194542 0.682531 -vt 0.186482 0.702806 -vt 0.184647 0.695445 -vt 0.154742 0.695445 -vt 0.169694 0.702806 -vt 0.152906 0.702806 -vt 0.137953 0.695445 -vt 0.136117 0.702806 -vt 0.171530 0.695445 -vt 0.117493 0.695445 -vt 0.102541 0.702806 -vt 0.104376 0.695445 -vt 0.134281 0.695445 -vt 0.119329 0.702806 -vt 0.121165 0.695445 -vt 0.072504 0.548751 -vt 0.072521 0.828425 -vt 0.059088 0.548753 -vt 0.045714 0.828432 -vt 0.045673 0.548757 -vt 0.126166 0.548755 -vt 0.112729 0.828426 -vt 0.112751 0.548752 -vt 0.059117 0.828428 -vt 0.032312 0.828437 -vt 0.032257 0.548762 -vt 0.099327 0.828424 -vt 0.100705 0.695445 -vt 0.087588 0.695445 -vt 0.018909 0.828443 -vt 0.018841 0.548769 -vt 0.102541 0.720660 -vt 0.085752 0.720660 -vt 0.136117 0.720660 -vt 0.169694 0.720660 -vt 0.119329 0.720660 -vt 0.152906 0.720660 -vt 0.151119 0.727549 -vt 0.137904 0.727549 -vt 0.186482 0.720660 -vt 0.171480 0.727549 -vt 0.100754 0.727549 -vt 0.087538 0.727549 -vt 0.104327 0.727549 -vt 0.121115 0.727549 -vt 0.077795 0.740943 -vt 0.073051 0.737368 -vt 0.194439 0.740943 -vt 0.184696 0.727549 -vt 0.167908 0.727549 -vt 0.154692 0.727549 -vt 0.274714 0.919931 -vt 0.261210 0.982393 -vt 0.261210 0.919931 -vt 0.288333 0.987837 -vt 0.271580 0.973788 -vt 0.289932 0.985191 -vt 0.247705 0.919931 -vt 0.234201 0.982393 -vt 0.234201 0.919931 -vt 0.220697 0.982393 -vt 0.220697 0.919931 -vt 0.247705 0.982393 -vt 0.301723 0.919931 -vt 0.288219 0.982393 -vt 0.288219 0.919931 -vt 0.315227 0.919931 -vt 0.301723 0.982393 -vt 0.328732 0.919931 -vt 0.315227 0.982393 -vt 0.274714 0.982393 -vt 0.293124 0.985191 -vt 0.309933 0.968199 -vt 0.311477 0.973788 -vt 0.266945 0.970578 -vt 0.261721 0.942874 -vt 0.269323 0.970403 -vt 0.316112 0.970578 -vt 0.321335 0.942874 -vt 0.323100 0.945273 -vt 0.316112 0.910382 -vt 0.321335 0.938086 -vt 0.313734 0.910558 -vt 0.288333 0.893123 -vt 0.271580 0.907172 -vt 0.271463 0.903605 -vt 0.266945 0.910383 -vt 0.261721 0.938086 -vt 0.259957 0.935688 -vt 0.294723 0.893123 -vt 0.311476 0.907172 -vt 0.293124 0.895769 -vt 0.294723 0.987837 -vt 0.311593 0.977356 -vt 0.273123 0.912761 -vt 0.291528 0.906976 -vt 0.275734 0.916790 -vt 0.291476 0.979602 -vt 0.273049 0.968088 -vt 0.313734 0.970403 -vt 0.317609 0.940559 -vt 0.310007 0.912873 -vt 0.289932 0.895769 -vt 0.269323 0.910558 -vt 0.265447 0.940401 -vt 0.291581 0.901359 -vt 0.291528 0.973984 -vt 0.269192 0.940480 -vt 0.309933 0.912761 -vt 0.307322 0.964171 -vt 0.273123 0.968199 -vt 0.265447 0.940559 -vt 0.275734 0.964171 -vt 0.313864 0.940480 -vt 0.317609 0.940401 -vt 0.307322 0.916789 -vt 0.282700 0.682531 -vt 0.271598 0.702003 -vt 0.270797 0.682531 -vt 0.263862 0.653767 -vt 0.276843 0.637114 -vt 0.276843 0.652877 -vt 0.272434 0.675600 -vt 0.263862 0.635913 -vt 0.272669 0.614289 -vt 0.256381 0.695742 -vt 0.297255 0.695389 -vt 0.282107 0.702003 -vt 0.269648 0.894065 -vt 0.269215 0.907339 -vt 0.267789 0.894057 -vt 0.270334 0.906440 -vt 0.294268 0.923602 -vt 0.237869 0.893926 -vt 0.237791 0.911563 -vt 0.289962 0.934035 -vt 0.303659 0.931128 -vt 0.304214 0.934035 -vt 0.261457 0.934035 -vt 0.247760 0.931128 -vt 0.260902 0.931128 -vt 0.232711 0.934065 -vt 0.222295 0.920924 -vt 0.233498 0.931227 -vt 0.318708 0.934065 -vt 0.329124 0.920924 -vt 0.330769 0.923036 -vt 0.275710 0.934035 -vt 0.289407 0.931128 -vt 0.247205 0.934035 -vt 0.246640 0.931132 -vt 0.317921 0.931228 -vt 0.262012 0.931128 -vt 0.275154 0.931128 -vt 0.262012 0.953205 -vt 0.275709 0.950376 -vt 0.275154 0.953205 -vt 0.261457 0.950376 -vt 0.317931 0.952980 -vt 0.304214 0.950376 -vt 0.318708 0.949777 -vt 0.233488 0.952980 -vt 0.247205 0.950376 -vt 0.246629 0.953196 -vt 0.232711 0.949777 -vt 0.289407 0.953206 -vt 0.289962 0.950376 -vt 0.329533 0.962240 -vt 0.331194 0.959687 -vt 0.221886 0.962240 -vt 0.247760 0.953205 -vt 0.260902 0.953205 -vt 0.290517 0.953206 -vt 0.303659 0.953205 -vt 0.286548 0.925737 -vt 0.274178 0.941902 -vt 0.276506 0.922891 -vt 0.263857 0.931768 -vt 0.253669 0.941716 -vt 0.241589 0.925551 -vt 0.251491 0.922891 -vt 0.302318 0.955878 -vt 0.296095 0.940846 -vt 0.309892 0.941203 -vt 0.284417 0.944018 -vt 0.263815 0.960025 -vt 0.274027 0.944968 -vt 0.273860 0.960272 -vt 0.284163 0.946906 -vt 0.263891 0.944699 -vt 0.253734 0.959924 -vt 0.253781 0.944730 -vt 0.263905 0.941721 -vt 0.243789 0.946439 -vt 0.243564 0.943592 -vt 0.208616 0.698065 -vt 0.199561 0.713051 -vt 0.199561 0.698065 -vt 0.223046 0.714223 -vt 0.228088 0.714255 -vt 0.228001 0.723082 -vt 0.247216 0.713051 -vt 0.256270 0.698065 -vt 0.256270 0.713051 -vt 0.232635 0.696906 -vt 0.228128 0.696870 -vt 0.228192 0.688045 -vt 0.236144 0.714777 -vt 0.232647 0.713361 -vt 0.236489 0.710792 -vt 0.219824 0.696340 -vt 0.223052 0.697748 -vt 0.219448 0.700309 -vt 0.211461 0.713051 -vt 0.208616 0.713051 -vt 0.244371 0.698065 -vt 0.247216 0.698065 -vt 0.223330 0.710079 -vt 0.217127 0.701037 -vt 0.223330 0.701037 -vt 0.232384 0.710079 -vt 0.238657 0.701037 -vt 0.238657 0.710079 -vt 0.215001 0.700359 -vt 0.211461 0.698065 -vt 0.240830 0.700359 -vt 0.244370 0.713051 -vt 0.240830 0.710757 -vt 0.215001 0.710756 -vt 0.212477 0.718880 -vt 0.232384 0.701037 -vt 0.217127 0.710079 -vt 0.243247 0.691947 -vt 0.223051 0.713206 -vt 0.232650 0.697917 -vt 0.236090 0.696640 -vt 0.236348 0.700497 -vt 0.219875 0.714484 -vt 0.219585 0.710645 -vt 0.243247 0.719169 -vt 0.212477 0.692235 -vt 0.223082 0.696719 -vt 0.220294 0.682531 -vt 0.232619 0.714384 -vt 0.235699 0.728531 -vt 0.144323 0.762715 -vt 0.314455 0.975508 -vt 0.097131 0.750157 -vt 0.159735 0.751740 -vt 0.138787 0.766338 -vt 0.117867 0.751648 -vt 0.109270 0.696289 -vt 0.127627 0.976678 -vt 0.014857 0.978001 -vt 0.199651 0.750157 -vt 0.014710 0.592571 -vt 0.014697 0.110197 -vt 0.010653 0.072850 -vt 0.010554 0.041223 -vt 0.199186 0.800615 -vt 0.128645 0.801487 -vt 0.203942 0.975766 -vt 0.131861 0.038058 -vt 0.318354 0.254488 -vt 0.153393 0.041207 -vt 0.321715 0.253791 -vt 0.322483 0.009668 -vt 0.308636 0.795153 -vt 0.018435 0.799670 -vt 0.009876 0.122906 -vt 0.010440 0.091074 -vt 0.271559 0.625547 -vt 0.223589 0.607923 -vt 0.327319 0.521961 -vt 0.330014 0.552440 -vt 0.327319 0.547146 -vt 0.329035 0.557734 -vt 0.315100 0.534535 -vt 0.310543 0.557734 -vt 0.304942 0.551670 -vt 0.303745 0.541756 -vt 0.117762 0.513726 -vt 0.317971 0.398399 -vt 0.283600 0.488445 -vt 0.141926 0.346559 -vt 0.168187 0.351749 -vt 0.141640 0.374054 -vt 0.180275 0.360697 -vt 0.167479 0.368991 -vt 0.081648 0.369717 -vt 0.075115 0.362544 -vt 0.074695 0.357469 -vt 1.000000 -0.000000 -vt 0.208482 0.381137 -vt 0.219558 0.424014 -vt 0.214794 0.416868 -vt 0.214794 0.406761 -vt 0.226296 0.399615 -vt 0.231060 0.406761 -vt 0.113156 0.919818 -vt 0.328124 0.919818 -vt 0.313949 0.919163 -vt 0.317605 0.997602 -vt 0.292296 0.944377 -vt 0.283402 0.994429 -vt 0.300137 0.988169 -vt 0.219566 0.988169 -vt 0.246423 0.988169 -vt 0.273280 0.988169 -vt 0.043310 0.444474 -vt 0.043310 0.439710 -vt 0.045556 0.436341 -vt 0.050978 0.439710 -vt 0.050978 0.444474 -vt 0.052083 0.375000 -vt 0.199450 0.686569 -vt 0.167858 0.695445 -vt 0.151070 0.695445 -vt 0.126132 0.828429 -vt 0.117543 0.727549 -vt 0.134331 0.727549 -vt 0.199184 0.737368 -vt 0.271463 0.977356 -vt 0.328732 0.982393 -vt 0.291581 0.979602 -vt 0.259957 0.945273 -vt 0.323100 0.935687 -vt 0.311593 0.903605 -vt 0.291476 0.901359 -vt 0.310007 0.968087 -vt 0.273049 0.912873 -vt 0.237860 0.876290 -vt 0.290517 0.931128 -vt 0.220707 0.923131 -vt 0.276265 0.931128 -vt 0.304779 0.931132 -vt 0.304790 0.953196 -vt 0.276265 0.953205 -vt 0.220287 0.959600 -vt 0.293315 0.949913 -vt 0.220063 0.728189 -vt 0.235926 0.682997 -vt 0.216897 0.712351 -vt 0.238896 0.698725 -vt 0.238896 0.712391 -vt 0.216897 0.698764 -vt 0.176993 0.860576 -vt 0.163321 0.799991 -vt 0.048042 0.441712 -vt 0.048083 0.435555 -vt 0.263488 0.637699 +vt 0.195007 0.587425 +vt 0.201745 0.621001 +vt 0.195007 0.621001 +vt 0.201745 0.587425 +vt 0.208482 0.621001 +vt 0.154582 0.587425 +vt 0.161320 0.621001 +vt 0.154582 0.621001 +vt 0.161319 0.587425 +vt 0.168057 0.621001 +vt 0.168057 0.587425 +vt 0.174795 0.621001 +vt 0.174795 0.587425 +vt 0.181532 0.621001 +vt 0.231060 0.611245 +vt 0.226296 0.616009 +vt 0.219558 0.599743 +vt 0.181532 0.587425 +vt 0.188270 0.621001 +vt 0.188270 0.587425 +vt 0.126584 0.946545 +vt 0.140012 0.805801 +vt 0.140013 0.946545 +vt 0.207154 0.805801 +vt 0.207155 0.946545 +vt 0.166870 0.946545 +vt 0.153440 0.805801 +vt 0.166869 0.805801 +vt 0.180298 0.946545 +vt 0.153441 0.946545 +vt 0.234135 0.916941 +vt 0.220697 0.946508 +vt 0.220707 0.916936 +vt 0.220583 0.946544 +vt 0.220582 0.805801 +vt 0.113155 0.805801 +vt 0.126584 0.805801 +vt 0.314568 0.927703 +vt 0.309497 0.911649 +vt 0.313761 0.912852 +vt 0.301277 0.916963 +vt 0.287839 0.946531 +vt 0.287849 0.916959 +vt 0.260992 0.916950 +vt 0.247553 0.946517 +vt 0.247564 0.916945 +vt 0.328134 0.916973 +vt 0.314695 0.946541 +vt 0.314706 0.916968 +vt 0.274410 0.946527 +vt 0.274420 0.916954 +vt 0.260982 0.946522 +vt 0.234125 0.946513 +vt 0.301267 0.946536 +vt 0.308531 0.965365 +vt 0.297558 0.946631 +vt 0.309626 0.947366 +vt 0.314647 0.931012 +vt 0.310460 0.929361 +vt 0.311777 0.982171 +vt 0.312696 0.967078 +vt 0.320287 0.865187 +vt 0.307573 0.876224 +vt 0.317673 0.861500 +vt 0.313606 0.909991 +vt 0.308535 0.893937 +vt 0.312799 0.895139 +vt 0.312873 0.964171 +vt 0.313792 0.949078 +vt 0.320287 0.994669 +vt 0.307435 0.983365 +vt 0.312643 0.892279 +vt 0.311836 0.877427 +vt 0.296659 0.894582 +vt 0.293357 0.911091 +vt 0.292551 0.896239 +vt 0.295697 0.876869 +vt 0.297621 0.912294 +vt 0.298902 0.929432 +vt 0.296462 0.964631 +vt 0.260683 0.940469 +vt 0.247255 0.990105 +vt 0.247255 0.940469 +vt 0.293215 0.947825 +vt 0.295366 0.982631 +vt 0.281238 0.992293 +vt 0.291201 0.980918 +vt 0.292395 0.893379 +vt 0.291588 0.878527 +vt 0.270381 0.921133 +vt 0.294350 0.909842 +vt 0.269266 0.920527 +vt 0.292119 0.965825 +vt 0.281862 0.867275 +vt 0.284016 0.863361 +vt 0.300968 0.990105 +vt 0.288372 0.992113 +vt 0.287540 0.990105 +vt 0.287540 0.940469 +vt 0.274112 0.990105 +vt 0.274112 0.940469 +vt 0.206969 0.940469 +vt 0.193541 0.990105 +vt 0.193541 0.940469 +vt 0.233826 0.940469 +vt 0.220398 0.990105 +vt 0.220398 0.940469 +vt 0.260683 0.990105 +vt 0.300968 0.940469 +vt 0.206969 0.990105 +vt 0.233826 0.990105 +vt 0.000000 0.604167 +vt 0.052083 0.614583 +vt 0.000000 0.614583 +vt 0.207801 0.992113 +vt 0.234658 0.992113 +vt 0.259851 0.992113 +vt 0.248086 0.992113 +vt 0.286708 0.992113 +vt 0.274943 0.992113 +vt 0.206138 0.992113 +vt 0.194373 0.992113 +vt 0.232995 0.992113 +vt 0.221230 0.992113 +vt 0.261515 0.992113 +vt 0.048732 0.631895 +vt 0.045556 0.631895 +vt 0.048732 0.624227 +vt 0.000000 0.583333 +vt 0.052083 0.593750 +vt 0.000000 0.593750 +vt 0.000000 0.645833 +vt 0.052083 0.656250 +vt 0.000000 0.656250 +vt 0.000000 0.625000 +vt 0.052083 0.635417 +vt 0.000000 0.635417 +vt 0.052083 0.625000 +vt 0.052083 0.604167 +vt 0.052083 0.666667 +vt 0.000000 0.666667 +vt 0.052083 0.645833 +vt 0.077693 0.788354 +vt 0.085752 0.801871 +vt 0.072784 0.791046 +vt 0.099335 0.699167 +vt 0.085924 0.885616 +vt 0.085920 0.699167 +vt 0.194542 0.788354 +vt 0.186482 0.801871 +vt 0.184647 0.796963 +vt 0.154742 0.796963 +vt 0.169694 0.801871 +vt 0.152906 0.801871 +vt 0.137953 0.796963 +vt 0.136117 0.801871 +vt 0.171530 0.796963 +vt 0.117493 0.796963 +vt 0.102541 0.801871 +vt 0.104376 0.796963 +vt 0.134281 0.796963 +vt 0.119329 0.801871 +vt 0.121165 0.796963 +vt 0.072504 0.699167 +vt 0.072521 0.885617 +vt 0.059088 0.699169 +vt 0.045714 0.885621 +vt 0.045673 0.699171 +vt 0.126166 0.699170 +vt 0.112729 0.885617 +vt 0.112751 0.699168 +vt 0.059117 0.885619 +vt 0.032312 0.885625 +vt 0.032257 0.699175 +vt 0.099327 0.885616 +vt 0.100705 0.796963 +vt 0.087588 0.796963 +vt 0.018909 0.885629 +vt 0.018841 0.699179 +vt 0.102541 0.813773 +vt 0.085752 0.813773 +vt 0.136117 0.813773 +vt 0.169694 0.813773 +vt 0.119329 0.813773 +vt 0.152906 0.813773 +vt 0.151119 0.818366 +vt 0.137904 0.818366 +vt 0.186482 0.813773 +vt 0.171480 0.818366 +vt 0.100754 0.818366 +vt 0.087538 0.818366 +vt 0.104327 0.818366 +vt 0.121115 0.818366 +vt 0.077795 0.827295 +vt 0.073051 0.824912 +vt 0.194439 0.827295 +vt 0.184696 0.818366 +vt 0.167908 0.818366 +vt 0.154692 0.818366 +vt 0.274714 0.946621 +vt 0.261210 0.988262 +vt 0.261210 0.946621 +vt 0.288333 0.991891 +vt 0.271580 0.982525 +vt 0.289932 0.990127 +vt 0.247705 0.946621 +vt 0.234201 0.988262 +vt 0.234201 0.946621 +vt 0.220697 0.988262 +vt 0.220697 0.946621 +vt 0.247705 0.988262 +vt 0.301723 0.946621 +vt 0.288219 0.988262 +vt 0.288219 0.946621 +vt 0.315227 0.946621 +vt 0.301723 0.988262 +vt 0.328732 0.946621 +vt 0.315227 0.988262 +vt 0.274714 0.988262 +vt 0.293124 0.990127 +vt 0.309933 0.978799 +vt 0.311477 0.982525 +vt 0.266945 0.980385 +vt 0.261721 0.961916 +vt 0.269323 0.980269 +vt 0.316112 0.980385 +vt 0.321335 0.961916 +vt 0.323100 0.963515 +vt 0.316112 0.940255 +vt 0.321335 0.958724 +vt 0.313734 0.940372 +vt 0.288333 0.928749 +vt 0.271580 0.938115 +vt 0.271463 0.935737 +vt 0.266945 0.940255 +vt 0.261721 0.958724 +vt 0.259957 0.957125 +vt 0.294723 0.928749 +vt 0.311476 0.938115 +vt 0.293124 0.930513 +vt 0.294723 0.991891 +vt 0.311593 0.984904 +vt 0.273123 0.941841 +vt 0.291528 0.937984 +vt 0.275734 0.944527 +vt 0.291476 0.986401 +vt 0.273049 0.978725 +vt 0.313734 0.980269 +vt 0.317609 0.960373 +vt 0.310007 0.941915 +vt 0.289932 0.930513 +vt 0.269323 0.940372 +vt 0.265447 0.960267 +vt 0.291581 0.934239 +vt 0.291528 0.982656 +vt 0.269192 0.960320 +vt 0.309933 0.941841 +vt 0.307322 0.976114 +vt 0.273123 0.978799 +vt 0.265447 0.960373 +vt 0.275734 0.976114 +vt 0.313864 0.960320 +vt 0.317609 0.960267 +vt 0.307322 0.944526 +vt 0.282700 0.788354 +vt 0.271598 0.801335 +vt 0.270797 0.788354 +vt 0.263862 0.769178 +vt 0.276843 0.758076 +vt 0.276843 0.768585 +vt 0.272434 0.783733 +vt 0.263862 0.757275 +vt 0.272669 0.742859 +vt 0.256381 0.797161 +vt 0.297255 0.796926 +vt 0.282107 0.801335 +vt 0.269648 0.929377 +vt 0.269215 0.938226 +vt 0.267789 0.929371 +vt 0.270334 0.937627 +vt 0.294268 0.949068 +vt 0.237869 0.929284 +vt 0.237791 0.941042 +vt 0.289962 0.956023 +vt 0.303659 0.954085 +vt 0.304214 0.956023 +vt 0.261457 0.956023 +vt 0.247760 0.954085 +vt 0.260902 0.954085 +vt 0.232711 0.956043 +vt 0.222295 0.947283 +vt 0.233498 0.954151 +vt 0.318708 0.956043 +vt 0.329124 0.947283 +vt 0.330769 0.948691 +vt 0.275710 0.956023 +vt 0.289407 0.954085 +vt 0.247205 0.956023 +vt 0.246640 0.954088 +vt 0.317921 0.954152 +vt 0.262012 0.954085 +vt 0.275154 0.954085 +vt 0.262012 0.968803 +vt 0.275709 0.966917 +vt 0.275154 0.968803 +vt 0.261457 0.966917 +vt 0.317931 0.968653 +vt 0.304214 0.966917 +vt 0.318708 0.966518 +vt 0.233488 0.968653 +vt 0.247205 0.966917 +vt 0.246629 0.968797 +vt 0.232711 0.966518 +vt 0.289407 0.968804 +vt 0.289962 0.966917 +vt 0.329533 0.974827 +vt 0.331194 0.973125 +vt 0.221886 0.974827 +vt 0.247760 0.968803 +vt 0.260902 0.968803 +vt 0.290517 0.968804 +vt 0.303659 0.968803 +vt 0.286548 0.950491 +vt 0.274178 0.961268 +vt 0.276506 0.948594 +vt 0.263857 0.954512 +vt 0.253669 0.961144 +vt 0.241589 0.950367 +vt 0.251491 0.948594 +vt 0.302318 0.970585 +vt 0.296095 0.960564 +vt 0.309892 0.960802 +vt 0.284417 0.962679 +vt 0.263815 0.973350 +vt 0.274027 0.963312 +vt 0.273860 0.973515 +vt 0.284163 0.964604 +vt 0.263891 0.963133 +vt 0.253734 0.973283 +vt 0.253781 0.963153 +vt 0.263905 0.961147 +vt 0.243789 0.964293 +vt 0.243564 0.962395 +vt 0.208616 0.798710 +vt 0.199561 0.808701 +vt 0.199561 0.798710 +vt 0.223046 0.809482 +vt 0.228088 0.809503 +vt 0.228001 0.815388 +vt 0.247216 0.808701 +vt 0.256270 0.798710 +vt 0.256270 0.808701 +vt 0.232635 0.797937 +vt 0.228128 0.797913 +vt 0.228192 0.792030 +vt 0.236144 0.809851 +vt 0.232647 0.808907 +vt 0.236489 0.807195 +vt 0.219824 0.797560 +vt 0.223052 0.798499 +vt 0.219448 0.800206 +vt 0.211461 0.808701 +vt 0.208616 0.808701 +vt 0.244371 0.798710 +vt 0.247216 0.798710 +vt 0.223330 0.806719 +vt 0.217127 0.800691 +vt 0.223330 0.800691 +vt 0.232384 0.806719 +vt 0.238657 0.800691 +vt 0.238657 0.806719 +vt 0.215001 0.800239 +vt 0.211461 0.798710 +vt 0.240830 0.800239 +vt 0.244370 0.808701 +vt 0.240830 0.807171 +vt 0.215001 0.807171 +vt 0.212477 0.812587 +vt 0.232384 0.800691 +vt 0.217127 0.806719 +vt 0.243247 0.794631 +vt 0.223051 0.808804 +vt 0.232650 0.798611 +vt 0.236090 0.797760 +vt 0.236348 0.800331 +vt 0.219875 0.809656 +vt 0.219585 0.807097 +vt 0.243247 0.812779 +vt 0.212477 0.794823 +vt 0.223082 0.797813 +vt 0.220294 0.788354 +vt 0.232619 0.809589 +vt 0.235699 0.819021 +vt 0.144323 0.841810 +vt 0.314455 0.983672 +vt 0.097131 0.833438 +vt 0.159735 0.834493 +vt 0.138787 0.844225 +vt 0.117867 0.834432 +vt 0.109270 0.797526 +vt 0.127627 0.984452 +vt 0.014857 0.985334 +vt 0.199651 0.833438 +vt 0.014710 0.728381 +vt 0.014697 0.406798 +vt 0.010653 0.381900 +vt 0.010554 0.360815 +vt 0.199186 0.867077 +vt 0.128645 0.867658 +vt 0.203942 0.983844 +vt 0.131861 0.358705 +vt 0.318354 0.502992 +vt 0.153393 0.360805 +vt 0.321715 0.502527 +vt 0.322483 0.339779 +vt 0.308636 0.863435 +vt 0.018435 0.866447 +vt 0.009876 0.415271 +vt 0.010440 0.394049 +vt 0.271559 0.750365 +vt 0.223589 0.738615 +vt 0.327319 0.681307 +vt 0.330014 0.701627 +vt 0.327319 0.698097 +vt 0.329035 0.705156 +vt 0.315100 0.689690 +vt 0.310543 0.705156 +vt 0.304942 0.701113 +vt 0.303745 0.694504 +vt 0.117762 0.675817 +vt 0.317971 0.598933 +vt 0.283600 0.658963 +vt 0.141926 0.564373 +vt 0.168187 0.567833 +vt 0.141640 0.582703 +vt 0.180275 0.573798 +vt 0.167479 0.579327 +vt 0.081648 0.579811 +vt 0.075115 0.575029 +vt 0.074695 0.571646 +vt 1.000000 0.333333 +vt 0.208482 0.587425 +vt 0.219558 0.616009 +vt 0.214794 0.611245 +vt 0.214794 0.604507 +vt 0.226296 0.599743 +vt 0.231060 0.604507 +vt 0.113156 0.946545 +vt 0.328124 0.946545 +vt 0.313949 0.946109 +vt 0.317605 0.998401 +vt 0.292296 0.962918 +vt 0.283402 0.996286 +vt 0.300137 0.992113 +vt 0.219566 0.992113 +vt 0.246423 0.992113 +vt 0.273280 0.992113 +vt 0.043310 0.629649 +vt 0.043310 0.626473 +vt 0.045556 0.624227 +vt 0.050978 0.626473 +vt 0.050978 0.629649 +vt 0.052083 0.583333 +vt 0.199450 0.791046 +vt 0.167858 0.796963 +vt 0.151070 0.796963 +vt 0.126132 0.885619 +vt 0.117543 0.818366 +vt 0.134331 0.818366 +vt 0.199184 0.824912 +vt 0.271463 0.984904 +vt 0.328732 0.988262 +vt 0.291581 0.986401 +vt 0.259957 0.963515 +vt 0.323100 0.957125 +vt 0.311593 0.935737 +vt 0.291476 0.934239 +vt 0.310007 0.978725 +vt 0.273049 0.941915 +vt 0.237860 0.917527 +vt 0.290517 0.954085 +vt 0.220707 0.948754 +vt 0.276265 0.954085 +vt 0.304779 0.954088 +vt 0.304790 0.968797 +vt 0.276265 0.968803 +vt 0.220287 0.973067 +vt 0.293315 0.966609 +vt 0.220063 0.818793 +vt 0.235926 0.788665 +vt 0.216897 0.808234 +vt 0.238896 0.799150 +vt 0.238896 0.808261 +vt 0.216897 0.799176 +vt 0.176993 0.907051 +vt 0.163321 0.866661 +vt 0.048042 0.627808 +vt 0.048083 0.623703 +vt 0.000000 0.327174 +vt 0.000000 0.063451 +vt 0.263723 0.063451 +vt 0.263723 0.327174 +vt 0.263488 0.758466 s 0 f 1/1/1 3/2/1 4/3/1 f 4/3/2 5/4/2 6/5/2 @@ -2843,7 +2851,9 @@ f 67/70/567 480/76/567 476/70/567 f 23/24/568 481/10/568 469/24/568 f 321/868/132 323/868/132 325/868/132 f 246/869/132 248/869/132 250/869/132 -f 147/214/153 60/870/153 479/218/153 +f 487/870/66 486/871/66 489/872/66 +f 487/870/66 489/872/66 488/873/66 +f 147/214/153 60/874/153 479/218/153 f 421/859/6 420/701/6 426/713/6 f 423/705/6 422/707/6 416/704/6 f 421/859/6 426/713/6 423/705/6 @@ -3014,275 +3024,275 @@ vn 0.4012 0.9160 -0.0000 vn 1.0000 -0.0023 -0.0000 vn 0.3982 0.9173 0.0006 vn 1.0000 -0.0038 -0.0002 -vt 0.270772 0.021748 -vt 0.259071 0.044520 -vt 0.258022 0.040873 -vt 0.124225 0.297698 -vt 0.000380 0.290063 -vt 0.124223 0.290059 -vt 0.000378 0.282428 -vt 0.124220 0.282425 -vt 0.124223 0.335878 -vt 0.000382 0.328240 -vt 0.124225 0.328243 -vt 0.124227 0.305336 -vt 0.000387 0.312974 -vt 0.000384 0.305339 -vt 0.124221 0.343509 -vt 0.000380 0.335874 -vt 0.000384 0.320605 -vt 0.124227 0.320609 -vt 0.000382 0.297701 -vt 0.124229 0.312974 -vt 0.301296 0.107856 -vt 0.311550 0.080842 -vt 0.315428 0.086659 -vt 0.319568 0.052066 -vt 0.317107 0.080578 -vt 0.317107 0.050600 -vt 0.254931 0.052066 -vt 0.257392 0.080578 -vt 0.254911 0.079099 -vt 0.303748 0.109442 -vt 0.316485 0.090335 -vt 0.316477 0.040872 -vt 0.301296 0.023322 -vt 0.303727 0.021748 -vt 0.278234 0.017112 -vt 0.297242 0.020803 -vt 0.277257 0.020803 -vt 0.270772 0.109430 -vt 0.259071 0.086659 -vt 0.273203 0.107856 -vt 0.278234 0.114066 -vt 0.297242 0.110375 -vt 0.296257 0.114096 -vt 0.297242 0.029029 -vt 0.278257 0.033023 -vt 0.277257 0.029029 -vt 0.311623 0.050600 -vt 0.257392 0.050600 -vt 0.262876 0.080578 -vt 0.315428 0.044519 -vt 0.297418 0.029138 -vt 0.277081 0.102040 -vt 0.277257 0.110375 -vt 0.297242 0.102149 -vt 0.273203 0.023322 -vt 0.262949 0.050336 -vt 0.308960 0.079078 -vt 0.278257 0.098155 -vt 0.265539 0.052100 -vt 0.277257 0.102149 -vt 0.296243 0.098155 -vt 0.311623 0.080578 -vt 0.308960 0.052100 -vt 0.262876 0.050600 -vt 0.265539 0.079078 -vt 0.296242 0.033023 -vt 0.189118 0.066082 -vt 0.194118 0.093837 -vt 0.187203 0.068873 -vt 0.246869 0.062649 -vt 0.244287 0.031805 -vt 0.251935 0.059501 -vt 0.246935 0.093837 -vt 0.251935 0.066083 -vt 0.253850 0.068873 -vt 0.196766 0.031805 -vt 0.187203 0.056711 -vt 0.194097 0.031747 -vt 0.246956 0.031747 -vt 0.253850 0.056711 -vt 0.222720 0.109905 -vt 0.241223 0.102404 -vt 0.224565 0.112754 -vt 0.199830 0.102404 -vt 0.218332 0.109905 -vt 0.216488 0.112754 -vt 0.216488 0.012829 -vt 0.199869 0.027151 -vt 0.199830 0.023147 -vt 0.241184 0.027151 -vt 0.224565 0.012829 -vt 0.241223 0.023147 -vt 0.203910 0.087717 -vt 0.220431 0.102305 -vt 0.201967 0.090833 -vt 0.239221 0.090631 -vt 0.244287 0.093779 -vt 0.201832 0.034953 -vt 0.189118 0.059501 -vt 0.220622 0.102305 -vt 0.241184 0.098433 -vt 0.220431 0.023279 -vt 0.218333 0.015679 -vt 0.199868 0.098433 -vt 0.239086 0.034751 -vt 0.222720 0.015679 -vt 0.194184 0.062935 -vt 0.196766 0.093779 -vt 0.197027 0.062792 -vt 0.220527 0.027543 -vt 0.244026 0.062792 -vt 0.237143 0.037867 -vt 0.220622 0.023278 -vt 0.201832 0.090631 -vt 0.239221 0.034953 -vt 0.237143 0.087717 -vt 0.246869 0.062935 -vt 0.203910 0.037867 -vt 0.194184 0.062649 -vt 0.239086 0.090833 -vt 0.201967 0.034750 -vt 0.000378 0.343505 -vt 0.297419 0.102040 -vt 0.319588 0.079099 -vt 0.296265 0.017112 -vt 0.258014 0.090336 -vt 0.311550 0.050336 -vt 0.262949 0.080842 -vt 0.277081 0.029138 -vt 0.220526 0.098041 -vt 0.137874 0.461278 -vt 0.058604 0.420707 -vt 0.138976 0.425869 -vt 0.064584 0.393192 -vt 0.133379 0.393550 -vt 0.134776 0.484662 -vt 0.059414 0.457228 -vt 0.062578 0.483566 +vt 0.270772 0.347832 +vt 0.259071 0.363013 +vt 0.258022 0.360582 +vt 0.124225 0.531799 +vt 0.000380 0.526709 +vt 0.124223 0.526706 +vt 0.000378 0.521619 +vt 0.124220 0.521617 +vt 0.124223 0.557252 +vt 0.000382 0.552160 +vt 0.124225 0.552162 +vt 0.124227 0.536891 +vt 0.000387 0.541983 +vt 0.000384 0.536893 +vt 0.124221 0.562339 +vt 0.000380 0.557249 +vt 0.000384 0.547070 +vt 0.124227 0.547073 +vt 0.000382 0.531801 +vt 0.124229 0.541983 +vt 0.301296 0.405237 +vt 0.311550 0.387228 +vt 0.315428 0.391106 +vt 0.319568 0.368044 +vt 0.317107 0.387052 +vt 0.317107 0.367067 +vt 0.254931 0.368044 +vt 0.257392 0.387052 +vt 0.254911 0.386066 +vt 0.303748 0.406295 +vt 0.316485 0.393557 +vt 0.316477 0.360581 +vt 0.301296 0.348881 +vt 0.303727 0.347832 +vt 0.278234 0.344741 +vt 0.297242 0.347202 +vt 0.277257 0.347202 +vt 0.270772 0.406287 +vt 0.259071 0.391106 +vt 0.273203 0.405237 +vt 0.278234 0.409377 +vt 0.297242 0.406917 +vt 0.296257 0.409397 +vt 0.297242 0.352686 +vt 0.278257 0.355349 +vt 0.277257 0.352686 +vt 0.311623 0.367067 +vt 0.257392 0.367067 +vt 0.262876 0.387052 +vt 0.315428 0.363013 +vt 0.297418 0.352759 +vt 0.277081 0.401360 +vt 0.277257 0.406917 +vt 0.297242 0.401433 +vt 0.273203 0.348881 +vt 0.262949 0.366891 +vt 0.308960 0.386052 +vt 0.278257 0.398770 +vt 0.265539 0.368067 +vt 0.277257 0.401433 +vt 0.296243 0.398770 +vt 0.311623 0.387052 +vt 0.308960 0.368067 +vt 0.262876 0.367067 +vt 0.265539 0.386052 +vt 0.296242 0.355349 +vt 0.189118 0.377388 +vt 0.194118 0.395891 +vt 0.187203 0.379249 +vt 0.246869 0.375099 +vt 0.244287 0.354537 +vt 0.251935 0.373001 +vt 0.246935 0.395891 +vt 0.251935 0.377389 +vt 0.253850 0.379249 +vt 0.196766 0.354537 +vt 0.187203 0.371141 +vt 0.194097 0.354498 +vt 0.246956 0.354498 +vt 0.253850 0.371141 +vt 0.222720 0.406603 +vt 0.241223 0.401603 +vt 0.224565 0.408503 +vt 0.199830 0.401603 +vt 0.218332 0.406603 +vt 0.216488 0.408503 +vt 0.216488 0.341886 +vt 0.199869 0.351434 +vt 0.199830 0.348765 +vt 0.241184 0.351434 +vt 0.224565 0.341886 +vt 0.241223 0.348765 +vt 0.203910 0.391811 +vt 0.220431 0.401537 +vt 0.201967 0.393889 +vt 0.239221 0.393754 +vt 0.244287 0.395853 +vt 0.201832 0.356635 +vt 0.189118 0.373001 +vt 0.220622 0.401537 +vt 0.241184 0.398955 +vt 0.220431 0.348853 +vt 0.218333 0.343786 +vt 0.199868 0.398955 +vt 0.239086 0.356501 +vt 0.222720 0.343786 +vt 0.194184 0.375290 +vt 0.196766 0.395853 +vt 0.197027 0.375195 +vt 0.220527 0.351695 +vt 0.244026 0.375195 +vt 0.237143 0.358578 +vt 0.220622 0.348852 +vt 0.201832 0.393754 +vt 0.239221 0.356635 +vt 0.237143 0.391811 +vt 0.246869 0.375290 +vt 0.203910 0.358578 +vt 0.194184 0.375099 +vt 0.239086 0.393889 +vt 0.201967 0.356500 +vt 0.000378 0.562337 +vt 0.297419 0.401360 +vt 0.319588 0.386066 +vt 0.296265 0.344741 +vt 0.258014 0.393557 +vt 0.311550 0.366891 +vt 0.262949 0.387228 +vt 0.277081 0.352759 +vt 0.220526 0.398694 +vt 0.137874 0.640852 +vt 0.058604 0.613805 +vt 0.138976 0.617246 +vt 0.064584 0.595461 +vt 0.133379 0.595700 +vt 0.134776 0.656441 +vt 0.059414 0.638152 +vt 0.062578 0.655711 s 0 -f 487/871/596 489/872/596 486/873/596 -f 491/874/597 493/875/597 490/876/597 -f 490/876/598 495/877/598 494/878/598 -f 497/879/599 499/880/599 496/881/599 -f 487/882/600 500/883/600 501/884/600 -f 494/885/601 498/886/601 497/879/601 -f 496/881/602 503/887/602 502/888/602 -f 487/882/603 492/889/603 491/874/603 -f 502/888/604 500/883/604 486/890/604 -f 505/891/601 507/892/601 504/893/601 -f 490/894/605 504/895/605 508/896/605 -f 486/897/606 509/898/606 502/899/606 -f 497/900/607 504/893/607 494/901/607 -f 490/902/608 510/903/608 491/904/608 -f 487/905/609 510/906/609 488/907/609 -f 496/908/610 509/909/610 511/910/610 -f 496/911/611 505/912/611 497/913/611 -f 513/914/612 515/915/612 512/916/612 -f 504/895/613 516/917/613 508/896/613 -f 489/918/614 518/919/614 509/898/614 -f 508/920/597 513/921/597 510/903/597 -f 509/909/615 519/922/615 511/910/615 -f 510/906/603 512/916/603 488/907/603 -f 511/923/616 506/924/616 505/912/616 -f 488/925/617 517/926/617 489/872/617 -f 521/927/618 523/928/618 525/929/618 -f 519/930/619 522/931/619 506/924/619 -f 517/926/620 515/915/620 525/929/620 -f 507/892/621 522/931/621 521/927/621 -f 507/932/622 520/933/622 516/917/622 -f 517/934/623 524/935/623 518/919/623 -f 513/921/624 520/933/624 514/936/624 -f 519/922/625 524/935/625 523/928/625 -f 526/937/626 501/938/626 500/939/626 -f 529/940/601 531/941/601 528/942/601 -f 493/943/627 528/944/627 495/945/627 -f 533/946/628 500/947/628 503/948/628 -f 528/942/629 498/949/629 495/950/629 -f 534/951/630 493/952/630 492/953/630 -f 501/954/631 534/955/631 492/956/631 -f 499/957/632 533/958/632 503/959/632 -f 531/960/633 499/961/633 498/962/633 -f 537/963/634 539/964/634 536/965/634 -f 540/966/613 528/944/613 532/967/613 -f 541/968/614 526/969/614 533/946/614 -f 539/970/597 532/971/597 534/951/597 -f 543/972/615 533/958/615 535/973/615 -f 536/965/603 534/955/603 527/974/603 -f 530/975/616 535/976/616 531/960/616 -f 542/977/617 527/978/617 526/937/617 -f 545/979/635 547/980/635 549/981/635 -f 548/982/636 543/983/636 530/975/636 -f 545/979/637 536/984/637 542/977/637 -f 529/940/638 548/982/638 530/985/638 -f 544/986/639 529/987/639 540/966/639 -f 546/988/640 542/989/640 541/968/640 -f 539/970/641 544/986/641 540/990/641 -f 543/972/642 546/988/642 541/991/642 -f 487/871/643 488/925/643 489/872/643 -f 491/874/597 492/889/597 493/875/597 -f 490/876/598 493/875/598 495/877/598 -f 497/879/599 498/886/599 499/880/599 -f 487/882/644 486/890/644 500/883/644 -f 494/885/601 495/992/601 498/886/601 -f 496/881/602 499/880/602 503/887/602 -f 487/882/603 501/884/603 492/889/603 -f 502/888/614 503/887/614 500/883/614 -f 505/891/601 506/993/601 507/892/601 -f 490/894/645 494/994/645 504/895/645 -f 486/897/646 489/918/646 509/898/646 -f 497/900/607 505/891/607 504/893/607 -f 490/902/608 508/920/608 510/903/608 -f 487/905/609 491/995/609 510/906/609 -f 496/908/647 502/996/647 509/909/647 -f 496/911/648 511/923/648 505/912/648 -f 513/914/612 514/936/612 515/915/612 -f 504/895/613 507/932/613 516/917/613 -f 489/918/614 517/934/614 518/919/614 -f 508/920/597 516/997/597 513/921/597 -f 509/909/615 518/998/615 519/922/615 -f 510/906/603 513/914/603 512/916/603 -f 511/923/616 519/930/616 506/924/616 -f 488/925/617 512/999/617 517/926/617 -f 514/936/618 520/933/618 521/927/618 -f 521/927/618 522/931/618 523/928/618 -f 523/928/618 524/935/618 525/929/618 -f 525/929/618 515/915/618 514/936/618 -f 514/936/618 521/927/618 525/929/618 -f 519/930/619 523/928/619 522/931/619 -f 517/926/620 512/999/620 515/915/620 -f 507/892/621 506/993/621 522/931/621 -f 507/932/622 521/927/622 520/933/622 -f 517/934/623 525/929/623 524/935/623 -f 513/921/624 516/997/624 520/933/624 -f 519/922/625 518/998/625 524/935/625 -f 526/937/649 527/978/649 501/938/649 -f 529/940/601 530/985/601 531/941/601 -f 493/943/650 532/967/650 528/944/650 -f 533/946/628 526/969/628 500/947/628 -f 528/942/629 531/941/629 498/949/629 -f 534/951/630 532/971/630 493/952/630 -f 501/954/631 527/974/631 534/955/631 -f 499/957/651 535/973/651 533/958/651 -f 531/960/652 535/976/652 499/961/652 -f 537/963/634 538/1000/634 539/964/634 -f 540/966/613 529/987/613 528/944/613 -f 541/968/614 542/989/614 526/969/614 -f 539/970/597 540/990/597 532/971/597 -f 543/972/615 541/991/615 533/958/615 -f 536/965/603 539/964/603 534/955/603 -f 530/975/616 543/983/616 535/976/616 -f 542/977/617 536/984/617 527/978/617 -f 549/981/635 544/986/635 538/1000/635 -f 538/1000/635 537/963/635 545/979/635 -f 545/979/635 546/988/635 547/980/635 -f 547/980/635 548/982/635 549/981/635 -f 549/981/635 538/1000/635 545/979/635 -f 548/982/636 547/980/636 543/983/636 -f 545/979/637 537/963/637 536/984/637 -f 529/940/638 549/981/638 548/982/638 -f 544/986/639 549/981/639 529/987/639 -f 546/988/640 545/979/640 542/989/640 -f 539/970/641 538/1000/641 544/986/641 -f 543/972/642 547/980/642 546/988/642 -f 555/1001/653 552/1002/653 554/1003/653 -f 554/1003/654 556/1004/654 553/1005/654 -f 557/1006/655 550/1007/655 555/1001/655 -f 555/1001/653 550/1007/653 552/1002/653 -f 554/1003/656 552/1002/656 556/1004/656 -f 557/1006/657 551/1008/657 550/1007/657 +f 491/875/596 493/876/596 490/877/596 +f 495/878/597 497/879/597 494/880/597 +f 494/880/598 499/881/598 498/882/598 +f 501/883/599 503/884/599 500/885/599 +f 491/886/600 504/887/600 505/888/600 +f 498/889/601 502/890/601 501/883/601 +f 500/885/602 507/891/602 506/892/602 +f 491/886/603 496/893/603 495/878/603 +f 506/892/604 504/887/604 490/894/604 +f 509/895/601 511/896/601 508/897/601 +f 494/898/605 508/899/605 512/900/605 +f 490/901/606 513/902/606 506/903/606 +f 501/904/607 508/897/607 498/905/607 +f 494/906/608 514/907/608 495/908/608 +f 491/909/609 514/910/609 492/911/609 +f 500/912/610 513/913/610 515/914/610 +f 500/915/611 509/916/611 501/917/611 +f 517/918/612 519/919/612 516/920/612 +f 508/899/613 520/921/613 512/900/613 +f 493/922/614 522/923/614 513/902/614 +f 512/924/597 517/925/597 514/907/597 +f 513/913/615 523/926/615 515/914/615 +f 514/910/603 516/920/603 492/911/603 +f 515/927/616 510/928/616 509/916/616 +f 492/929/617 521/930/617 493/876/617 +f 525/931/618 527/932/618 529/933/618 +f 523/934/619 526/935/619 510/928/619 +f 521/930/620 519/919/620 529/933/620 +f 511/896/621 526/935/621 525/931/621 +f 511/936/622 524/937/622 520/921/622 +f 521/938/623 528/939/623 522/923/623 +f 517/925/624 524/937/624 518/940/624 +f 523/926/625 528/939/625 527/932/625 +f 530/941/626 505/942/626 504/943/626 +f 533/944/601 535/945/601 532/946/601 +f 497/947/627 532/948/627 499/949/627 +f 537/950/628 504/951/628 507/952/628 +f 532/946/629 502/953/629 499/954/629 +f 538/955/630 497/956/630 496/957/630 +f 505/958/631 538/959/631 496/960/631 +f 503/961/632 537/962/632 507/963/632 +f 535/964/633 503/965/633 502/966/633 +f 541/967/634 543/968/634 540/969/634 +f 544/970/613 532/948/613 536/971/613 +f 545/972/614 530/973/614 537/950/614 +f 543/974/597 536/975/597 538/955/597 +f 547/976/615 537/962/615 539/977/615 +f 540/969/603 538/959/603 531/978/603 +f 534/979/616 539/980/616 535/964/616 +f 546/981/617 531/982/617 530/941/617 +f 549/983/635 551/984/635 553/985/635 +f 552/986/636 547/987/636 534/979/636 +f 549/983/637 540/988/637 546/981/637 +f 533/944/638 552/986/638 534/989/638 +f 548/990/639 533/991/639 544/970/639 +f 550/992/640 546/993/640 545/972/640 +f 543/974/641 548/990/641 544/994/641 +f 547/976/642 550/992/642 545/995/642 +f 491/875/643 492/929/643 493/876/643 +f 495/878/597 496/893/597 497/879/597 +f 494/880/598 497/879/598 499/881/598 +f 501/883/599 502/890/599 503/884/599 +f 491/886/644 490/894/644 504/887/644 +f 498/889/601 499/996/601 502/890/601 +f 500/885/602 503/884/602 507/891/602 +f 491/886/603 505/888/603 496/893/603 +f 506/892/614 507/891/614 504/887/614 +f 509/895/601 510/997/601 511/896/601 +f 494/898/645 498/998/645 508/899/645 +f 490/901/646 493/922/646 513/902/646 +f 501/904/607 509/895/607 508/897/607 +f 494/906/608 512/924/608 514/907/608 +f 491/909/609 495/999/609 514/910/609 +f 500/912/647 506/1000/647 513/913/647 +f 500/915/648 515/927/648 509/916/648 +f 517/918/612 518/940/612 519/919/612 +f 508/899/613 511/936/613 520/921/613 +f 493/922/614 521/938/614 522/923/614 +f 512/924/597 520/1001/597 517/925/597 +f 513/913/615 522/1002/615 523/926/615 +f 514/910/603 517/918/603 516/920/603 +f 515/927/616 523/934/616 510/928/616 +f 492/929/617 516/1003/617 521/930/617 +f 518/940/618 524/937/618 525/931/618 +f 525/931/618 526/935/618 527/932/618 +f 527/932/618 528/939/618 529/933/618 +f 529/933/618 519/919/618 518/940/618 +f 518/940/618 525/931/618 529/933/618 +f 523/934/619 527/932/619 526/935/619 +f 521/930/620 516/1003/620 519/919/620 +f 511/896/621 510/997/621 526/935/621 +f 511/936/622 525/931/622 524/937/622 +f 521/938/623 529/933/623 528/939/623 +f 517/925/624 520/1001/624 524/937/624 +f 523/926/625 522/1002/625 528/939/625 +f 530/941/649 531/982/649 505/942/649 +f 533/944/601 534/989/601 535/945/601 +f 497/947/650 536/971/650 532/948/650 +f 537/950/628 530/973/628 504/951/628 +f 532/946/629 535/945/629 502/953/629 +f 538/955/630 536/975/630 497/956/630 +f 505/958/631 531/978/631 538/959/631 +f 503/961/651 539/977/651 537/962/651 +f 535/964/652 539/980/652 503/965/652 +f 541/967/634 542/1004/634 543/968/634 +f 544/970/613 533/991/613 532/948/613 +f 545/972/614 546/993/614 530/973/614 +f 543/974/597 544/994/597 536/975/597 +f 547/976/615 545/995/615 537/962/615 +f 540/969/603 543/968/603 538/959/603 +f 534/979/616 547/987/616 539/980/616 +f 546/981/617 540/988/617 531/982/617 +f 553/985/635 548/990/635 542/1004/635 +f 542/1004/635 541/967/635 549/983/635 +f 549/983/635 550/992/635 551/984/635 +f 551/984/635 552/986/635 553/985/635 +f 553/985/635 542/1004/635 549/983/635 +f 552/986/636 551/984/636 547/987/636 +f 549/983/637 541/967/637 540/988/637 +f 533/944/638 553/985/638 552/986/638 +f 548/990/639 553/985/639 533/991/639 +f 550/992/640 549/983/640 546/993/640 +f 543/974/641 542/1004/641 548/990/641 +f 547/976/642 551/984/642 550/992/642 +f 559/1005/653 556/1006/653 558/1007/653 +f 558/1007/654 560/1008/654 557/1009/654 +f 561/1010/655 554/1011/655 559/1005/655 +f 559/1005/653 554/1011/653 556/1006/653 +f 558/1007/656 556/1006/656 560/1008/656 +f 561/1010/657 555/1012/657 554/1011/657 o Shell v 0.000000 1.558350 0.961217 v 0.132625 1.613285 0.961217 @@ -3389,60 +3399,60 @@ vt 0.416064 0.709256 vt 0.498826 0.763730 vt 0.417116 0.818904 s 0 -f 582/1009/658 559/1010/658 583/1011/658 -f 559/1010/659 584/1012/659 583/1011/659 -f 560/1013/660 585/1014/660 584/1012/660 -f 561/1015/661 586/1016/661 585/1014/661 -f 562/1017/662 587/1018/662 586/1016/662 -f 563/1019/663 588/1020/663 587/1018/663 -f 588/1020/664 565/1021/664 589/1022/664 -f 565/1021/665 582/1023/665 589/1022/665 -f 563/1024/666 572/1025/666 564/1026/666 -f 558/1027/666 566/1028/666 559/1029/666 -f 558/1027/666 573/1030/666 567/1031/666 -f 561/1032/666 568/1033/666 569/1034/666 -f 568/1035/660 577/1036/660 569/1037/660 -f 571/1038/663 580/1039/663 572/1040/663 -f 569/1037/661 578/1041/661 570/1042/661 -f 572/1040/664 581/1043/664 573/1044/664 -f 566/1045/659 576/1046/659 568/1035/659 -f 570/1042/662 579/1047/662 571/1048/662 -f 573/1044/665 575/1049/665 567/1050/665 -f 567/1050/658 574/1051/658 566/1045/658 -f 562/1052/666 569/1034/666 570/1053/666 -f 559/1029/666 568/1033/666 560/1054/666 -f 564/1026/666 573/1030/666 565/1055/666 -f 562/1052/666 571/1056/666 563/1057/666 -f 581/1058/667 579/1059/667 577/1060/667 -f 582/1009/658 558/1061/658 559/1010/658 -f 559/1010/659 560/1013/659 584/1012/659 -f 560/1013/660 561/1015/660 585/1014/660 -f 561/1015/661 562/1017/661 586/1016/661 -f 562/1017/662 563/1019/662 587/1018/662 -f 563/1019/663 564/1062/663 588/1020/663 -f 588/1020/664 564/1062/664 565/1021/664 -f 565/1021/665 558/1063/665 582/1023/665 -f 563/1024/666 571/1064/666 572/1025/666 -f 558/1027/666 567/1031/666 566/1028/666 -f 558/1027/666 565/1055/666 573/1030/666 -f 561/1032/666 560/1054/666 568/1033/666 -f 568/1035/660 576/1046/660 577/1036/660 -f 571/1038/663 579/1065/663 580/1039/663 -f 569/1037/661 577/1036/661 578/1041/661 -f 572/1040/664 580/1039/664 581/1043/664 -f 566/1045/659 574/1051/659 576/1046/659 -f 570/1042/662 578/1041/662 579/1047/662 -f 573/1044/665 581/1043/665 575/1049/665 -f 567/1050/658 575/1049/658 574/1051/658 -f 562/1052/666 561/1032/666 569/1034/666 -f 559/1029/666 566/1028/666 568/1033/666 -f 564/1026/666 572/1025/666 573/1030/666 -f 562/1052/666 570/1053/666 571/1056/666 -f 577/1060/667 576/1066/667 574/1067/667 -f 574/1067/667 575/1068/667 581/1058/667 -f 581/1058/667 580/1069/667 579/1059/667 -f 579/1059/667 578/1070/667 577/1060/667 -f 577/1060/667 574/1067/667 581/1058/667 +f 586/1013/658 563/1014/658 587/1015/658 +f 563/1014/659 588/1016/659 587/1015/659 +f 564/1017/660 589/1018/660 588/1016/660 +f 565/1019/661 590/1020/661 589/1018/661 +f 566/1021/662 591/1022/662 590/1020/662 +f 567/1023/663 592/1024/663 591/1022/663 +f 592/1024/664 569/1025/664 593/1026/664 +f 569/1025/665 586/1027/665 593/1026/665 +f 567/1028/666 576/1029/666 568/1030/666 +f 562/1031/666 570/1032/666 563/1033/666 +f 562/1031/666 577/1034/666 571/1035/666 +f 565/1036/666 572/1037/666 573/1038/666 +f 572/1039/660 581/1040/660 573/1041/660 +f 575/1042/663 584/1043/663 576/1044/663 +f 573/1041/661 582/1045/661 574/1046/661 +f 576/1044/664 585/1047/664 577/1048/664 +f 570/1049/659 580/1050/659 572/1039/659 +f 574/1046/662 583/1051/662 575/1052/662 +f 577/1048/665 579/1053/665 571/1054/665 +f 571/1054/658 578/1055/658 570/1049/658 +f 566/1056/666 573/1038/666 574/1057/666 +f 563/1033/666 572/1037/666 564/1058/666 +f 568/1030/666 577/1034/666 569/1059/666 +f 566/1056/666 575/1060/666 567/1061/666 +f 585/1062/667 583/1063/667 581/1064/667 +f 586/1013/658 562/1065/658 563/1014/658 +f 563/1014/659 564/1017/659 588/1016/659 +f 564/1017/660 565/1019/660 589/1018/660 +f 565/1019/661 566/1021/661 590/1020/661 +f 566/1021/662 567/1023/662 591/1022/662 +f 567/1023/663 568/1066/663 592/1024/663 +f 592/1024/664 568/1066/664 569/1025/664 +f 569/1025/665 562/1067/665 586/1027/665 +f 567/1028/666 575/1068/666 576/1029/666 +f 562/1031/666 571/1035/666 570/1032/666 +f 562/1031/666 569/1059/666 577/1034/666 +f 565/1036/666 564/1058/666 572/1037/666 +f 572/1039/660 580/1050/660 581/1040/660 +f 575/1042/663 583/1069/663 584/1043/663 +f 573/1041/661 581/1040/661 582/1045/661 +f 576/1044/664 584/1043/664 585/1047/664 +f 570/1049/659 578/1055/659 580/1050/659 +f 574/1046/662 582/1045/662 583/1051/662 +f 577/1048/665 585/1047/665 579/1053/665 +f 571/1054/658 579/1053/658 578/1055/658 +f 566/1056/666 565/1036/666 573/1038/666 +f 563/1033/666 570/1032/666 572/1037/666 +f 568/1030/666 576/1029/666 577/1034/666 +f 566/1056/666 574/1057/666 575/1060/666 +f 581/1064/667 580/1070/667 578/1071/667 +f 578/1071/667 579/1072/667 585/1062/667 +f 585/1062/667 584/1073/667 583/1063/667 +f 583/1063/667 582/1074/667 581/1064/667 +f 581/1064/667 578/1071/667 585/1062/667 o Sight v -0.128183 2.091560 2.999992 v 0.128183 2.091560 2.999992 @@ -3479,98 +3489,98 @@ vn 0.0001 -0.9985 -0.0541 vn -0.0001 -0.9985 -0.0541 vn -0.0000 -0.0000 -1.0000 vt 0.276157 1.000043 -vt 0.277845 0.988719 +vt 0.277845 0.992479 vt 0.279031 0.999320 -vt 0.262350 0.883120 -vt 0.272118 0.893652 -vt 0.262350 0.893652 -vt 0.274698 0.990680 -vt 0.275897 0.990665 -vt 0.222326 0.666214 -vt 0.223796 0.675651 -vt 0.221878 0.675521 -vt 0.276984 0.883345 -vt 0.274471 0.883120 -vt 0.209797 0.558857 -vt 0.219735 0.569163 -vt 0.209797 0.569163 -vt 0.225468 0.664276 -vt 0.226612 0.674973 -vt 0.222094 0.558857 -vt 0.223523 0.666167 -vt 0.281111 0.893792 -vt 0.279697 0.988827 -vt 0.228356 0.674554 -vt 0.227211 0.663856 -vt 0.220401 0.664219 -vt 0.217884 0.569235 -vt 0.272118 0.897282 -vt 0.279262 0.893687 -vt 0.219072 0.674722 -vt 0.289130 0.883559 -vt 0.289049 0.893859 -vt 0.272776 0.988740 +vt 0.262350 0.922080 +vt 0.272118 0.929101 +vt 0.262350 0.929101 +vt 0.274698 0.993787 +vt 0.275897 0.993777 +vt 0.222326 0.777476 +vt 0.223796 0.783767 +vt 0.221878 0.783681 +vt 0.276984 0.922230 +vt 0.274471 0.922080 +vt 0.209797 0.705905 +vt 0.219735 0.712775 +vt 0.209797 0.712775 +vt 0.225468 0.776184 +vt 0.226612 0.783315 +vt 0.222094 0.705905 +vt 0.223523 0.777445 +vt 0.281111 0.929195 +vt 0.279697 0.992551 +vt 0.228356 0.783036 +vt 0.227211 0.775904 +vt 0.220401 0.776146 +vt 0.217884 0.712823 +vt 0.272118 0.931521 +vt 0.279262 0.929125 +vt 0.219072 0.783148 +vt 0.289130 0.922373 +vt 0.289049 0.929239 +vt 0.272776 0.992493 vt 0.274236 0.999907 vt 0.271463 0.999118 -vt 0.226877 0.569238 -vt 0.236860 0.558893 -vt 0.236778 0.569413 -vt 0.236749 0.573040 +vt 0.226877 0.712825 +vt 0.236860 0.705929 +vt 0.236778 0.712942 +vt 0.236749 0.715360 vt 0.269746 0.998630 -vt 0.224609 0.558677 -vt 0.218549 0.664294 -vt 0.262350 0.897282 -vt 0.226848 0.572865 -vt 0.271059 0.988251 +vt 0.224609 0.705785 +vt 0.218549 0.776196 +vt 0.262350 0.931521 +vt 0.226848 0.715243 +vt 0.271059 0.992167 s 0 -f 594/1071/668 596/1072/668 593/1073/668 -f 598/1074/669 601/1075/669 600/1076/669 -f 594/1071/670 603/1077/670 595/1078/670 -f 604/1079/670 602/1080/670 594/1081/670 -f 590/1082/671 603/1077/671 597/1083/671 -f 592/1084/668 607/1085/668 606/1086/668 -f 602/1080/669 608/1087/669 609/1088/669 -f 591/1089/672 605/1090/672 604/1079/672 -f 596/1072/672 601/1091/672 611/1092/672 -f 593/1093/673 608/1087/673 612/1094/673 -f 612/1095/671 613/1096/671 607/1085/671 -f 610/1097/674 600/1076/674 601/1075/674 -f 595/1078/675 610/1098/675 596/1072/675 -f 612/1095/668 594/1081/668 593/1099/668 -f 607/1085/676 604/1079/676 612/1095/676 -f 610/1098/668 592/1100/668 606/1101/668 -f 611/1102/669 602/1103/669 609/1104/669 -f 605/1090/669 613/1105/669 608/1087/669 -f 601/1075/669 603/1077/669 611/1102/669 -f 613/1105/669 598/1106/669 600/1107/669 -f 606/1108/674 613/1105/674 600/1107/674 -f 593/1109/673 611/1102/673 609/1104/673 -f 594/1071/668 595/1078/668 596/1072/668 -f 598/1074/669 597/1083/669 601/1075/669 -f 594/1071/670 602/1103/670 603/1077/670 -f 604/1079/670 605/1090/670 602/1080/670 -f 590/1082/671 595/1078/671 603/1077/671 -f 592/1084/668 591/1089/668 607/1085/668 -f 602/1080/669 605/1090/669 608/1087/669 -f 591/1089/672 599/1110/672 605/1090/672 -f 596/1072/672 610/1098/672 601/1091/672 -f 593/1093/673 609/1088/673 608/1087/673 -f 612/1095/671 608/1111/671 613/1096/671 -f 610/1097/674 606/1112/674 600/1076/674 -f 595/1078/676 590/1082/676 610/1098/676 -f 612/1095/668 604/1079/668 594/1081/668 -f 607/1085/675 591/1089/675 604/1079/675 -f 610/1098/668 590/1082/668 592/1100/668 -f 611/1102/669 603/1077/669 602/1103/669 -f 605/1090/669 599/1110/669 613/1105/669 -f 601/1075/669 597/1083/669 603/1077/669 -f 613/1105/669 599/1110/669 598/1106/669 -f 606/1108/674 607/1113/674 613/1105/674 -f 593/1109/673 596/1114/673 611/1102/673 -f 592/1084/677 598/1106/677 591/1089/677 -f 592/1084/677 590/1082/677 597/1083/677 -f 598/1106/677 599/1110/677 591/1089/677 -f 592/1084/677 597/1083/677 598/1106/677 +f 598/1075/668 600/1076/668 597/1077/668 +f 602/1078/669 605/1079/669 604/1080/669 +f 598/1075/670 607/1081/670 599/1082/670 +f 608/1083/670 606/1084/670 598/1085/670 +f 594/1086/671 607/1081/671 601/1087/671 +f 596/1088/668 611/1089/668 610/1090/668 +f 606/1084/669 612/1091/669 613/1092/669 +f 595/1093/672 609/1094/672 608/1083/672 +f 600/1076/672 605/1095/672 615/1096/672 +f 597/1097/673 612/1091/673 616/1098/673 +f 616/1099/671 617/1100/671 611/1089/671 +f 614/1101/674 604/1080/674 605/1079/674 +f 599/1082/675 614/1102/675 600/1076/675 +f 616/1099/668 598/1085/668 597/1103/668 +f 611/1089/676 608/1083/676 616/1099/676 +f 614/1102/668 596/1104/668 610/1105/668 +f 615/1106/669 606/1107/669 613/1108/669 +f 609/1094/669 617/1109/669 612/1091/669 +f 605/1079/669 607/1081/669 615/1106/669 +f 617/1109/669 602/1110/669 604/1111/669 +f 610/1112/674 617/1109/674 604/1111/674 +f 597/1113/673 615/1106/673 613/1108/673 +f 598/1075/668 599/1082/668 600/1076/668 +f 602/1078/669 601/1087/669 605/1079/669 +f 598/1075/670 606/1107/670 607/1081/670 +f 608/1083/670 609/1094/670 606/1084/670 +f 594/1086/671 599/1082/671 607/1081/671 +f 596/1088/668 595/1093/668 611/1089/668 +f 606/1084/669 609/1094/669 612/1091/669 +f 595/1093/672 603/1114/672 609/1094/672 +f 600/1076/672 614/1102/672 605/1095/672 +f 597/1097/673 613/1092/673 612/1091/673 +f 616/1099/671 612/1115/671 617/1100/671 +f 614/1101/674 610/1116/674 604/1080/674 +f 599/1082/676 594/1086/676 614/1102/676 +f 616/1099/668 608/1083/668 598/1085/668 +f 611/1089/675 595/1093/675 608/1083/675 +f 614/1102/668 594/1086/668 596/1104/668 +f 615/1106/669 607/1081/669 606/1107/669 +f 609/1094/669 603/1114/669 617/1109/669 +f 605/1079/669 601/1087/669 607/1081/669 +f 617/1109/669 603/1114/669 602/1110/669 +f 610/1112/674 611/1117/674 617/1109/674 +f 597/1113/673 600/1118/673 615/1106/673 +f 596/1088/677 602/1110/677 595/1093/677 +f 596/1088/677 594/1086/677 601/1087/677 +f 602/1110/677 603/1114/677 595/1093/677 +f 596/1088/677 601/1087/677 602/1110/677 o Loop v 0.406256 1.125653 3.483772 v 0.372781 1.206173 3.302696 @@ -3647,149 +3657,149 @@ vn -0.7060 0.2714 -0.6541 vn -0.7060 0.2715 0.6542 vn -0.4343 -0.3822 0.8157 vn -0.2163 -0.9063 0.3630 -vt 0.187482 0.431554 -vt 0.156855 0.444483 -vt 0.154582 0.431555 -vt 0.181530 0.456662 -vt 0.160534 0.456663 -vt 0.181530 0.470033 -vt 0.160534 0.470034 -vt 0.156855 0.482213 -vt 0.187482 0.495142 -vt 0.154582 0.495142 -vt 0.208478 0.431554 -vt 0.177852 0.444483 -vt 0.175578 0.431554 -vt 0.202527 0.456662 -vt 0.202527 0.470033 -vt 0.177852 0.482213 -vt 0.208479 0.495141 -vt 0.175579 0.495142 -vt 0.229475 0.431554 -vt 0.198848 0.444483 -vt 0.196575 0.431554 -vt 0.227202 0.444483 -vt 0.223523 0.470033 -vt 0.198849 0.482213 -vt 0.229475 0.495141 -vt 0.196575 0.495142 -vt 0.250472 0.431554 -vt 0.219845 0.444483 -vt 0.217572 0.431554 -vt 0.248198 0.444483 -vt 0.223523 0.456662 -vt 0.244520 0.456662 -vt 0.244520 0.470033 -vt 0.219845 0.482212 -vt 0.250472 0.495141 -vt 0.217572 0.495141 -vt 0.238569 0.431554 -vt 0.269195 0.444483 -vt 0.240842 0.444483 -vt 0.265517 0.456662 -vt 0.269195 0.482213 -vt 0.240842 0.482212 -vt 0.238568 0.495141 -vt 0.259565 0.431554 -vt 0.290192 0.444483 -vt 0.261838 0.444483 -vt 0.286513 0.456663 -vt 0.265517 0.470033 -vt 0.290191 0.482213 -vt 0.261838 0.482212 -vt 0.259565 0.495141 -vt 0.280562 0.431554 -vt 0.311188 0.444483 -vt 0.282835 0.444483 -vt 0.307510 0.456663 -vt 0.286513 0.470033 -vt 0.311188 0.482213 -vt 0.282835 0.482213 -vt 0.280561 0.495142 -vt 0.185209 0.444483 -vt 0.185209 0.482213 -vt 0.206205 0.444482 -vt 0.206205 0.482213 -vt 0.227202 0.482212 -vt 0.248198 0.482212 -vt 0.271468 0.431554 -vt 0.271468 0.495142 -vt 0.292465 0.431554 -vt 0.292465 0.495142 -vt 0.313461 0.431555 -vt 0.307510 0.470034 -vt 0.313461 0.495142 +vt 0.187482 0.621036 +vt 0.156855 0.629655 +vt 0.154582 0.621037 +vt 0.181530 0.637775 +vt 0.160534 0.637775 +vt 0.181530 0.646689 +vt 0.160534 0.646689 +vt 0.156855 0.654809 +vt 0.187482 0.663428 +vt 0.154582 0.663428 +vt 0.208478 0.621036 +vt 0.177852 0.629655 +vt 0.175578 0.621036 +vt 0.202527 0.637775 +vt 0.202527 0.646689 +vt 0.177852 0.654809 +vt 0.208479 0.663427 +vt 0.175579 0.663428 +vt 0.229475 0.621036 +vt 0.198848 0.629655 +vt 0.196575 0.621036 +vt 0.227202 0.629655 +vt 0.223523 0.646689 +vt 0.198849 0.654809 +vt 0.229475 0.663427 +vt 0.196575 0.663428 +vt 0.250472 0.621036 +vt 0.219845 0.629655 +vt 0.217572 0.621036 +vt 0.248198 0.629655 +vt 0.223523 0.637775 +vt 0.244520 0.637775 +vt 0.244520 0.646689 +vt 0.219845 0.654808 +vt 0.250472 0.663427 +vt 0.217572 0.663427 +vt 0.238569 0.621036 +vt 0.269195 0.629655 +vt 0.240842 0.629655 +vt 0.265517 0.637775 +vt 0.269195 0.654809 +vt 0.240842 0.654808 +vt 0.238568 0.663427 +vt 0.259565 0.621036 +vt 0.290192 0.629655 +vt 0.261838 0.629655 +vt 0.286513 0.637775 +vt 0.265517 0.646689 +vt 0.290191 0.654809 +vt 0.261838 0.654808 +vt 0.259565 0.663427 +vt 0.280562 0.621036 +vt 0.311188 0.629655 +vt 0.282835 0.629655 +vt 0.307510 0.637775 +vt 0.286513 0.646689 +vt 0.311188 0.654809 +vt 0.282835 0.654809 +vt 0.280561 0.663428 +vt 0.185209 0.629655 +vt 0.185209 0.654809 +vt 0.206205 0.629655 +vt 0.206205 0.654809 +vt 0.227202 0.654808 +vt 0.248198 0.654808 +vt 0.271468 0.621036 +vt 0.271468 0.663428 +vt 0.292465 0.621036 +vt 0.292465 0.663428 +vt 0.313461 0.621037 +vt 0.307510 0.646689 +vt 0.313461 0.663428 s 0 -f 615/1115/678 617/1116/678 614/1117/678 -f 617/1116/679 618/1118/679 619/1119/679 -f 619/1119/680 620/1120/680 621/1121/680 -f 620/1120/681 623/1122/681 621/1121/681 -f 623/1122/682 615/1123/682 614/1124/682 -f 624/1125/683 616/1126/683 615/1127/683 -f 616/1126/684 626/1128/684 618/1118/684 -f 618/1118/685 627/1129/685 620/1120/685 -f 627/1129/686 622/1130/686 620/1120/686 -f 622/1130/687 624/1131/687 615/1132/687 -f 629/1133/688 625/1134/688 624/1135/688 -f 630/1136/689 626/1128/689 625/1134/689 -f 626/1128/690 632/1137/690 627/1129/690 -f 632/1137/691 628/1138/691 627/1129/691 -f 628/1138/692 629/1139/692 624/1140/692 -f 634/1141/693 630/1142/693 629/1143/693 -f 635/1144/694 631/1145/694 630/1142/694 -f 636/1146/695 632/1137/695 631/1145/695 -f 637/1147/696 633/1148/696 632/1137/696 -f 633/1148/697 634/1149/697 629/1150/697 -f 634/1151/698 640/1152/698 635/1153/698 -f 635/1153/699 641/1154/699 636/1146/699 -f 641/1154/700 637/1147/700 636/1146/700 -f 637/1147/701 643/1155/701 638/1156/701 -f 643/1155/702 634/1157/702 638/1156/702 -f 639/1158/703 645/1159/703 640/1160/703 -f 645/1159/704 641/1154/704 640/1160/704 -f 646/1161/705 642/1162/705 641/1154/705 -f 642/1162/706 648/1163/706 643/1164/706 -f 648/1163/707 639/1165/707 643/1164/707 -f 644/1166/708 617/1167/708 645/1168/708 -f 617/1167/709 646/1161/709 645/1168/709 -f 619/1169/710 647/1170/710 646/1161/710 -f 647/1170/711 623/1171/711 648/1172/711 -f 623/1171/712 644/1173/712 648/1172/712 -f 615/1115/678 616/1174/678 617/1116/678 -f 617/1116/679 616/1174/679 618/1118/679 -f 619/1119/680 618/1118/680 620/1120/680 -f 620/1120/681 622/1175/681 623/1122/681 -f 623/1122/682 622/1175/682 615/1123/682 -f 624/1125/683 625/1176/683 616/1126/683 -f 616/1126/684 625/1176/684 626/1128/684 -f 618/1118/685 626/1128/685 627/1129/685 -f 627/1129/686 628/1177/686 622/1130/686 -f 622/1130/687 628/1177/687 624/1131/687 -f 629/1133/688 630/1136/688 625/1134/688 -f 630/1136/689 631/1145/689 626/1128/689 -f 626/1128/713 631/1145/713 632/1137/713 -f 632/1137/691 633/1178/691 628/1138/691 -f 628/1138/714 633/1178/714 629/1139/714 -f 634/1141/693 635/1144/693 630/1142/693 -f 635/1144/694 636/1146/694 631/1145/694 -f 636/1146/695 637/1147/695 632/1137/695 -f 637/1147/696 638/1179/696 633/1148/696 -f 633/1148/697 638/1179/697 634/1149/697 -f 634/1151/698 639/1180/698 640/1152/698 -f 635/1153/699 640/1152/699 641/1154/699 -f 641/1154/700 642/1162/700 637/1147/700 -f 637/1147/701 642/1162/701 643/1155/701 -f 643/1155/715 639/1181/715 634/1157/715 -f 639/1158/703 644/1182/703 645/1159/703 -f 645/1159/704 646/1161/704 641/1154/704 -f 646/1161/705 647/1170/705 642/1162/705 -f 642/1162/706 647/1170/706 648/1163/706 -f 648/1163/716 644/1183/716 639/1165/716 -f 644/1166/708 614/1184/708 617/1167/708 -f 617/1167/709 619/1169/709 646/1161/709 -f 619/1169/710 621/1185/710 647/1170/710 -f 647/1170/711 621/1185/711 623/1171/711 -f 623/1171/717 614/1186/717 644/1173/717 +f 619/1119/678 621/1120/678 618/1121/678 +f 621/1120/679 622/1122/679 623/1123/679 +f 623/1123/680 624/1124/680 625/1125/680 +f 624/1124/681 627/1126/681 625/1125/681 +f 627/1126/682 619/1127/682 618/1128/682 +f 628/1129/683 620/1130/683 619/1131/683 +f 620/1130/684 630/1132/684 622/1122/684 +f 622/1122/685 631/1133/685 624/1124/685 +f 631/1133/686 626/1134/686 624/1124/686 +f 626/1134/687 628/1135/687 619/1136/687 +f 633/1137/688 629/1138/688 628/1139/688 +f 634/1140/689 630/1132/689 629/1138/689 +f 630/1132/690 636/1141/690 631/1133/690 +f 636/1141/691 632/1142/691 631/1133/691 +f 632/1142/692 633/1143/692 628/1144/692 +f 638/1145/693 634/1146/693 633/1147/693 +f 639/1148/694 635/1149/694 634/1146/694 +f 640/1150/695 636/1141/695 635/1149/695 +f 641/1151/696 637/1152/696 636/1141/696 +f 637/1152/697 638/1153/697 633/1154/697 +f 638/1155/698 644/1156/698 639/1157/698 +f 639/1157/699 645/1158/699 640/1150/699 +f 645/1158/700 641/1151/700 640/1150/700 +f 641/1151/701 647/1159/701 642/1160/701 +f 647/1159/702 638/1161/702 642/1160/702 +f 643/1162/703 649/1163/703 644/1164/703 +f 649/1163/704 645/1158/704 644/1164/704 +f 650/1165/705 646/1166/705 645/1158/705 +f 646/1166/706 652/1167/706 647/1168/706 +f 652/1167/707 643/1169/707 647/1168/707 +f 648/1170/708 621/1171/708 649/1172/708 +f 621/1171/709 650/1165/709 649/1172/709 +f 623/1173/710 651/1174/710 650/1165/710 +f 651/1174/711 627/1175/711 652/1176/711 +f 627/1175/712 648/1177/712 652/1176/712 +f 619/1119/678 620/1178/678 621/1120/678 +f 621/1120/679 620/1178/679 622/1122/679 +f 623/1123/680 622/1122/680 624/1124/680 +f 624/1124/681 626/1179/681 627/1126/681 +f 627/1126/682 626/1179/682 619/1127/682 +f 628/1129/683 629/1180/683 620/1130/683 +f 620/1130/684 629/1180/684 630/1132/684 +f 622/1122/685 630/1132/685 631/1133/685 +f 631/1133/686 632/1181/686 626/1134/686 +f 626/1134/687 632/1181/687 628/1135/687 +f 633/1137/688 634/1140/688 629/1138/688 +f 634/1140/689 635/1149/689 630/1132/689 +f 630/1132/713 635/1149/713 636/1141/713 +f 636/1141/691 637/1182/691 632/1142/691 +f 632/1142/714 637/1182/714 633/1143/714 +f 638/1145/693 639/1148/693 634/1146/693 +f 639/1148/694 640/1150/694 635/1149/694 +f 640/1150/695 641/1151/695 636/1141/695 +f 641/1151/696 642/1183/696 637/1152/696 +f 637/1152/697 642/1183/697 638/1153/697 +f 638/1155/698 643/1184/698 644/1156/698 +f 639/1157/699 644/1156/699 645/1158/699 +f 645/1158/700 646/1166/700 641/1151/700 +f 641/1151/701 646/1166/701 647/1159/701 +f 647/1159/715 643/1185/715 638/1161/715 +f 643/1162/703 648/1186/703 649/1163/703 +f 649/1163/704 650/1165/704 645/1158/704 +f 650/1165/705 651/1174/705 646/1166/705 +f 646/1166/706 651/1174/706 652/1167/706 +f 652/1167/716 648/1187/716 643/1169/716 +f 648/1170/708 618/1188/708 621/1171/708 +f 621/1171/709 623/1173/709 650/1165/709 +f 623/1173/710 625/1189/710 651/1174/710 +f 651/1174/711 625/1189/711 627/1175/711 +f 627/1175/717 618/1190/717 648/1177/717 o GuardOuter v -0.171766 0.857316 0.902020 v -0.171766 0.884188 0.902020 @@ -3821,105 +3831,104 @@ vn -0.0000 1.0000 -0.0000 vn -0.0000 -0.0000 1.0000 vn -1.0000 -0.0000 -0.0000 vn 1.0000 -0.0000 -0.0000 -vt 0.107481 0.515568 -vt 0.100711 0.826566 -vt 0.100711 0.515568 -vt 0.200617 0.674832 -vt 0.204562 0.504617 -vt 0.204562 0.674832 -vt 0.189902 0.504617 -vt 0.196672 0.515568 -vt 0.189902 0.515568 -vt 0.196672 0.690063 -vt 0.200617 0.519848 -vt 0.200617 0.690063 -vt 0.025060 0.515568 -vt 0.100711 0.504617 -vt 0.114251 0.515568 -vt 0.002510 0.987540 -vt 0.006455 0.971113 -vt 0.006455 0.987540 -vt 0.006455 0.521044 -vt 0.010401 0.504617 -vt 0.010401 0.521044 -vt 0.107481 0.504617 -vt 0.114251 0.504617 -vt 0.196672 0.705295 -vt 0.018291 0.504617 -vt 0.025060 0.504617 -vt 0.010401 0.971113 -vt 0.014346 0.504617 -vt 0.014346 0.971113 -vt 0.196672 0.519848 -vt 0.200617 0.504617 -vt 0.196672 0.735759 -vt 0.200617 0.720527 -vt 0.200617 0.735759 -vt 0.200617 0.705295 -vt 0.196672 0.720527 -vt 0.002510 0.971113 -vt 0.006455 0.504617 -vt 0.018291 0.826566 -vt 0.018291 0.515568 -vt 0.006455 0.987540 -vt 0.018291 0.504617 -vt 0.014346 0.504617 -vt 0.107481 0.826566 -vt 0.189902 0.826566 -vt 0.200617 0.504617 -vt 0.196672 0.504617 -vt 0.010401 0.504617 -vt 0.002510 0.504617 -vt 0.025060 0.826566 -vt 0.010401 0.987540 -vt 0.018291 0.971113 -vt 0.114251 0.826566 -vt 0.196672 0.826566 +vt 0.107481 0.677045 +vt 0.100711 0.884377 +vt 0.100711 0.677045 +vt 0.200617 0.783221 +vt 0.204562 0.669744 +vt 0.204562 0.783221 +vt 0.189902 0.669744 +vt 0.196672 0.677045 +vt 0.189902 0.677045 +vt 0.196672 0.793376 +vt 0.200617 0.679899 +vt 0.200617 0.793376 +vt 0.025060 0.677045 +vt 0.100711 0.669744 +vt 0.114251 0.677045 +vt 0.002510 0.991693 +vt 0.006455 0.980742 +vt 0.006455 0.991693 +vt 0.006455 0.680696 +vt 0.010401 0.669744 +vt 0.010401 0.680696 +vt 0.107481 0.669744 +vt 0.114251 0.669744 +vt 0.196672 0.803530 +vt 0.018291 0.669744 +vt 0.025060 0.669744 +vt 0.010401 0.980742 +vt 0.014346 0.669744 +vt 0.014346 0.980742 +vt 0.196672 0.679899 +vt 0.200617 0.669744 +vt 0.196672 0.823839 +vt 0.200617 0.813685 +vt 0.200617 0.823839 +vt 0.200617 0.803530 +vt 0.196672 0.813685 +vt 0.002510 0.980742 +vt 0.006455 0.669744 +vt 0.018291 0.884377 +vt 0.018291 0.677045 +vt 0.006455 0.991693 +vt 0.018291 0.669744 +vt 0.107481 0.884377 +vt 0.189902 0.884377 +vt 0.200617 0.669744 +vt 0.196672 0.669744 +vt 0.010401 0.669744 +vt 0.002510 0.669744 +vt 0.025060 0.884377 +vt 0.010401 0.991693 +vt 0.018291 0.980742 +vt 0.114251 0.884377 +vt 0.196672 0.884377 s 0 -f 657/1187/718 666/1188/718 651/1189/718 -f 652/1190/719 655/1191/719 651/1192/719 -f 654/1193/720 661/1194/720 656/1195/720 -f 654/1196/721 649/1197/721 653/1198/721 -f 655/1199/718 649/1200/718 651/1189/718 -f 652/1201/720 654/1193/720 656/1195/720 -f 659/1202/722 657/1203/722 658/1204/722 -f 661/1205/723 663/1206/723 662/1207/723 -f 652/1201/720 659/1208/720 650/1209/720 -f 649/1200/718 657/1187/718 651/1189/718 -f 653/1198/721 664/1210/721 654/1196/721 -f 655/1199/718 663/1211/718 653/1212/718 -f 656/1213/722 668/1214/722 655/1215/722 -f 650/1216/721 658/1217/721 649/1197/721 -f 667/1218/719 672/1219/719 668/1220/719 -f 666/1221/719 669/1222/719 665/1210/719 -f 660/1223/722 670/1224/722 657/1203/722 -f 655/1199/718 672/1225/718 662/1226/718 -f 662/1207/723 671/1227/723 661/1205/723 -f 651/1228/723 665/1215/723 652/1229/723 -f 652/1201/720 669/1230/720 660/1187/720 -f 661/1194/720 667/1231/720 656/1195/720 -f 657/1187/718 670/1230/718 666/1188/718 -f 652/1190/719 656/1232/719 655/1191/719 -f 654/1193/720 664/1233/720 661/1194/720 -f 654/1196/721 650/1216/721 649/1197/721 -f 655/1199/718 653/1212/718 649/1200/718 -f 652/1201/720 650/1209/720 654/1193/720 -f 659/1202/722 660/1223/722 657/1203/722 -f 661/1205/723 664/1224/723 663/1206/723 -f 652/1201/720 660/1187/720 659/1208/720 -f 649/1200/718 658/1208/718 657/1187/718 -f 653/1198/721 663/1221/721 664/1210/721 -f 655/1199/718 662/1226/718 663/1211/718 -f 656/1213/722 667/1234/722 668/1214/722 -f 650/1216/721 659/1233/721 658/1217/721 -f 667/1218/719 671/1222/719 672/1219/719 -f 666/1221/719 670/1219/719 669/1222/719 -f 660/1223/722 669/1235/722 670/1224/722 -f 655/1199/718 668/1236/718 672/1225/718 -f 662/1207/723 672/1237/723 671/1227/723 -f 651/1228/723 666/1238/723 665/1215/723 -f 652/1201/720 665/1239/720 669/1230/720 -f 661/1194/720 671/1240/720 667/1231/720 +f 661/1191/718 670/1192/718 655/1193/718 +f 656/1194/719 659/1195/719 655/1196/719 +f 658/1197/720 665/1198/720 660/1199/720 +f 658/1200/721 653/1201/721 657/1202/721 +f 659/1203/718 653/1204/718 655/1193/718 +f 656/1205/720 658/1197/720 660/1199/720 +f 663/1206/722 661/1207/722 662/1208/722 +f 665/1209/723 667/1210/723 666/1211/723 +f 656/1205/720 663/1212/720 654/1213/720 +f 653/1204/718 661/1191/718 655/1193/718 +f 657/1202/721 668/1214/721 658/1200/721 +f 659/1203/718 667/1215/718 657/1216/718 +f 660/1217/722 672/1218/722 659/1219/722 +f 654/1220/721 662/1221/721 653/1201/721 +f 671/1222/719 676/1223/719 672/1224/719 +f 670/1225/719 673/1226/719 669/1214/719 +f 664/1227/722 674/1228/722 661/1207/722 +f 659/1203/718 676/1229/718 666/1230/718 +f 666/1211/723 675/1231/723 665/1209/723 +f 655/1232/723 669/1219/723 656/1218/723 +f 656/1205/720 673/1233/720 664/1191/720 +f 665/1198/720 671/1234/720 660/1199/720 +f 661/1191/718 674/1233/718 670/1192/718 +f 656/1194/719 660/1235/719 659/1195/719 +f 658/1197/720 668/1236/720 665/1198/720 +f 658/1200/721 654/1220/721 653/1201/721 +f 659/1203/718 657/1216/718 653/1204/718 +f 656/1205/720 654/1213/720 658/1197/720 +f 663/1206/722 664/1227/722 661/1207/722 +f 665/1209/723 668/1228/723 667/1210/723 +f 656/1205/720 664/1191/720 663/1212/720 +f 653/1204/718 662/1212/718 661/1191/718 +f 657/1202/721 667/1225/721 668/1214/721 +f 659/1203/718 666/1230/718 667/1215/718 +f 660/1217/722 671/1237/722 672/1218/722 +f 654/1220/721 663/1236/721 662/1221/721 +f 671/1222/719 675/1226/719 676/1223/719 +f 670/1225/719 674/1223/719 673/1226/719 +f 664/1227/722 673/1238/722 674/1228/722 +f 659/1203/718 672/1239/718 676/1229/718 +f 666/1211/723 676/1240/723 675/1231/723 +f 655/1232/723 670/1241/723 669/1219/723 +f 656/1205/720 669/1242/720 673/1233/720 +f 665/1198/720 675/1243/720 671/1234/720 o GuardInner v 0.161860 0.857316 -0.061518 v 0.161860 0.884188 -0.061518 @@ -3938,8 +3947,8 @@ v -0.057255 0.857316 0.852620 v -0.057255 0.884188 0.852620 v 0.057255 0.884188 0.852620 v 0.161860 0.857316 0.844969 -v -0.161860 0.857316 0.844969 -v -0.161860 0.884188 0.844969 +v -0.161859 0.857316 0.844969 +v -0.161859 0.884188 0.844969 v 0.161860 0.884188 0.844969 vn -0.0000 1.0000 -0.0000 vn 1.0000 -0.0000 -0.0000 @@ -3997,40 +4006,40 @@ vt 0.163307 0.731201 vt 0.176815 0.737326 vt 0.228731 0.981424 s 0 -f 688/1241/724 682/1242/724 687/1243/724 -f 673/1244/725 692/1245/725 689/1246/725 -f 690/1247/726 683/1248/726 686/1249/726 -f 676/1250/727 690/1251/727 691/1252/727 -f 692/1253/724 681/1254/724 688/1241/724 -f 682/1255/728 684/1256/728 683/1257/728 -f 674/1258/729 684/1256/729 681/1259/729 -f 675/1260/730 682/1255/730 683/1257/730 -f 680/1261/724 687/1243/724 679/1262/724 -f 686/1249/726 684/1263/726 685/1264/726 -f 679/1265/727 686/1266/727 678/1267/727 -f 678/1268/726 685/1264/726 677/1269/726 -f 677/1270/725 688/1271/725 680/1272/725 -f 684/1263/726 689/1253/726 685/1264/726 -f 682/1242/724 691/1273/724 687/1243/724 -f 689/1274/731 688/1275/731 685/1260/731 -f 687/1276/732 690/1277/732 686/1278/732 -f 688/1241/724 681/1254/724 682/1242/724 -f 673/1244/725 674/1279/725 692/1245/725 -f 690/1247/726 675/1280/726 683/1248/726 -f 676/1250/727 675/1281/727 690/1251/727 -f 692/1253/724 674/1282/724 681/1254/724 -f 682/1255/728 681/1259/728 684/1256/728 -f 674/1258/729 673/1283/729 684/1256/729 -f 675/1260/730 676/1275/730 682/1255/730 -f 680/1261/724 688/1241/724 687/1243/724 -f 686/1249/726 683/1248/726 684/1263/726 -f 679/1265/727 687/1284/727 686/1266/727 -f 678/1268/726 686/1249/726 685/1264/726 -f 677/1270/725 685/1285/725 688/1271/725 -f 684/1263/726 673/1282/726 689/1253/726 -f 682/1242/724 676/1286/724 691/1273/724 -f 689/1274/731 692/1265/731 688/1275/731 -f 687/1276/732 691/1283/732 690/1277/732 +f 692/1244/724 686/1245/724 691/1246/724 +f 677/1247/725 696/1248/725 693/1249/725 +f 694/1250/726 687/1251/726 690/1252/726 +f 680/1253/727 694/1254/727 695/1255/727 +f 696/1256/724 685/1257/724 692/1244/724 +f 686/1258/728 688/1259/728 687/1260/728 +f 678/1261/729 688/1259/729 685/1262/729 +f 679/1263/730 686/1258/730 687/1260/730 +f 684/1264/724 691/1246/724 683/1265/724 +f 690/1252/726 688/1266/726 689/1267/726 +f 683/1268/727 690/1269/727 682/1270/727 +f 682/1271/726 689/1267/726 681/1272/726 +f 681/1273/725 692/1274/725 684/1275/725 +f 688/1266/726 693/1256/726 689/1267/726 +f 686/1245/724 695/1276/724 691/1246/724 +f 693/1277/731 692/1278/731 689/1263/731 +f 691/1279/732 694/1280/732 690/1281/732 +f 692/1244/724 685/1257/724 686/1245/724 +f 677/1247/725 678/1282/725 696/1248/725 +f 694/1250/726 679/1283/726 687/1251/726 +f 680/1253/727 679/1284/727 694/1254/727 +f 696/1256/724 678/1285/724 685/1257/724 +f 686/1258/728 685/1262/728 688/1259/728 +f 678/1261/729 677/1286/729 688/1259/729 +f 679/1263/730 680/1278/730 686/1258/730 +f 684/1264/724 692/1244/724 691/1246/724 +f 690/1252/726 687/1251/726 688/1266/726 +f 683/1268/727 691/1287/727 690/1269/727 +f 682/1271/726 690/1252/726 689/1267/726 +f 681/1273/725 689/1288/725 692/1274/725 +f 688/1266/726 677/1285/726 693/1256/726 +f 686/1245/724 680/1289/724 695/1276/724 +f 693/1277/731 696/1268/731 692/1278/731 +f 691/1279/732 695/1286/732 694/1280/732 o ShellFore v 0.000000 1.558350 1.603447 v 0.132625 1.613285 1.603447 @@ -4109,43 +4118,43 @@ vt 0.290267 0.902716 vt 0.331685 0.902716 vt 0.000347 0.902716 s 0 -f 697/1287/733 704/1288/733 696/1288/733 -f 717/1289/734 693/1290/734 700/1291/734 -f 699/1292/735 708/1291/735 707/1292/735 -f 695/1293/736 702/1294/736 694/1294/736 -f 698/1295/737 705/1287/737 697/1287/737 -f 700/1291/738 701/1290/738 708/1291/738 -f 694/1294/739 701/1296/739 693/1296/739 -f 696/1288/740 703/1293/740 695/1293/740 -f 698/1295/741 707/1292/741 706/1295/741 -f 701/1297/742 702/1298/742 709/1299/742 -f 702/1298/743 703/1300/743 709/1299/743 -f 703/1300/744 704/1301/744 709/1299/744 -f 704/1301/745 705/1302/745 709/1299/745 -f 705/1302/746 706/1303/746 709/1299/746 -f 706/1303/747 707/1304/747 709/1299/747 -f 707/1304/748 708/1305/748 709/1299/748 -f 708/1305/749 701/1297/749 709/1299/749 -f 716/1306/750 700/1291/750 699/1292/750 -f 715/1307/751 699/1292/751 698/1295/751 -f 714/1308/752 698/1295/752 697/1287/752 -f 713/1309/753 697/1287/753 696/1288/753 -f 712/1310/754 696/1288/754 695/1293/754 -f 711/1311/755 695/1293/755 694/1294/755 -f 710/1312/756 694/1294/756 693/1296/756 -f 697/1287/733 705/1287/733 704/1288/733 -f 717/1289/734 710/1313/734 693/1290/734 -f 699/1292/735 700/1291/735 708/1291/735 -f 695/1293/736 703/1293/736 702/1294/736 -f 698/1295/737 706/1295/737 705/1287/737 -f 700/1291/738 693/1290/738 701/1290/738 -f 694/1294/739 702/1294/739 701/1296/739 -f 696/1288/740 704/1288/740 703/1293/740 -f 698/1295/741 699/1292/741 707/1292/741 -f 716/1306/750 717/1289/750 700/1291/750 -f 715/1307/751 716/1306/751 699/1292/751 -f 714/1308/752 715/1307/752 698/1295/752 -f 713/1309/753 714/1308/753 697/1287/753 -f 712/1310/754 713/1309/754 696/1288/754 -f 711/1311/755 712/1310/755 695/1293/755 -f 710/1312/756 711/1311/756 694/1294/756 +f 701/1290/733 708/1291/733 700/1291/733 +f 721/1292/734 697/1293/734 704/1294/734 +f 703/1295/735 712/1294/735 711/1295/735 +f 699/1296/736 706/1297/736 698/1297/736 +f 702/1298/737 709/1290/737 701/1290/737 +f 704/1294/738 705/1293/738 712/1294/738 +f 698/1297/739 705/1299/739 697/1299/739 +f 700/1291/740 707/1296/740 699/1296/740 +f 702/1298/741 711/1295/741 710/1298/741 +f 705/1300/742 706/1301/742 713/1302/742 +f 706/1301/743 707/1303/743 713/1302/743 +f 707/1303/744 708/1304/744 713/1302/744 +f 708/1304/745 709/1305/745 713/1302/745 +f 709/1305/746 710/1306/746 713/1302/746 +f 710/1306/747 711/1307/747 713/1302/747 +f 711/1307/748 712/1308/748 713/1302/748 +f 712/1308/749 705/1300/749 713/1302/749 +f 720/1309/750 704/1294/750 703/1295/750 +f 719/1310/751 703/1295/751 702/1298/751 +f 718/1311/752 702/1298/752 701/1290/752 +f 717/1312/753 701/1290/753 700/1291/753 +f 716/1313/754 700/1291/754 699/1296/754 +f 715/1314/755 699/1296/755 698/1297/755 +f 714/1315/756 698/1297/756 697/1299/756 +f 701/1290/733 709/1290/733 708/1291/733 +f 721/1292/734 714/1316/734 697/1293/734 +f 703/1295/735 704/1294/735 712/1294/735 +f 699/1296/736 707/1296/736 706/1297/736 +f 702/1298/737 710/1298/737 709/1290/737 +f 704/1294/738 697/1293/738 705/1293/738 +f 698/1297/739 706/1297/739 705/1299/739 +f 700/1291/740 708/1291/740 707/1296/740 +f 702/1298/741 703/1295/741 711/1295/741 +f 720/1309/750 721/1292/750 704/1294/750 +f 719/1310/751 720/1309/751 703/1295/751 +f 718/1311/752 719/1310/752 702/1298/752 +f 717/1312/753 718/1311/753 701/1290/753 +f 716/1313/754 717/1312/754 700/1291/754 +f 715/1314/755 716/1313/755 699/1296/755 +f 714/1315/756 715/1314/756 698/1297/756 diff --git a/src/main/resources/assets/hbm/models/weapons/cursed.obj b/src/main/resources/assets/hbm/models/weapons/cursed.obj deleted file mode 100644 index ab664cadc..000000000 --- a/src/main/resources/assets/hbm/models/weapons/cursed.obj +++ /dev/null @@ -1,2514 +0,0 @@ -# Blender 4.0.1 -# www.blender.org -o Body -v 0.039030 0.270865 -0.182602 -v -0.039030 0.270865 -0.182602 -v -0.039030 0.270865 -0.049612 -v 0.048496 0.137875 -0.049612 -v -0.048496 0.137875 -0.049612 -v -0.048496 0.137875 -0.182602 -v 0.048496 0.137875 -0.182602 -v 0.048496 0.257886 -0.182602 -v 0.048496 0.257886 -0.049612 -v -0.048496 0.257886 -0.182602 -v -0.048496 0.257886 -0.049612 -v 0.049569 0.280590 -0.050319 -v 0.049569 0.273108 0.054217 -v -0.049569 0.273108 0.054217 -v -0.056483 0.269999 -0.050488 -v -0.056483 0.147028 0.042790 -v -0.056483 0.137805 -0.036642 -v -0.049569 0.280590 -0.050319 -v 0.056483 0.269999 -0.050488 -v 0.056483 0.113015 0.066739 -v -0.056483 0.113015 0.066739 -v -0.056483 0.110740 0.072738 -v 0.052553 0.210653 0.115466 -v -0.052553 0.210653 0.115466 -v -0.049569 0.215450 0.117517 -v 0.052553 0.115536 0.074789 -v 0.052553 0.118481 0.067903 -v 0.052553 0.213598 0.108580 -v 0.056483 0.147028 0.042790 -v 0.056483 0.110740 0.072738 -v 0.056483 0.206509 0.113693 -v 0.049569 0.215450 0.117517 -v 0.056483 0.137805 -0.036642 -v 0.056483 0.137656 -0.052596 -v 0.056483 0.127617 0.025928 -v -0.056483 0.127617 0.025928 -v -0.056483 0.206509 0.113693 -v -0.052553 0.115536 0.074789 -v -0.052553 0.213598 0.108580 -v -0.052553 0.118481 0.067903 -v 0.056483 0.262485 0.053254 -v -0.056484 0.262485 0.053254 -v 0.054976 0.110605 0.067119 -v 0.054976 0.097434 0.017005 -v 0.048309 0.097434 0.017005 -v -0.040425 -0.171169 -0.050457 -v 0.040425 -0.171169 -0.050457 -v 0.040425 0.137547 -0.132337 -v -0.054976 0.137698 -0.106903 -v 0.054976 0.138185 -0.025200 -v -0.054976 0.138185 -0.025200 -v 0.054976 -0.076166 -0.021181 -v 0.048309 -0.083769 -0.018789 -v 0.048309 -0.076166 -0.021181 -v -0.048309 -0.009356 -0.032415 -v -0.048309 0.110605 0.067119 -v -0.048309 -0.025374 -0.031131 -v 0.054976 -0.170719 -0.025102 -v 0.040425 -0.244821 -0.040275 -v -0.054976 0.097435 0.017007 -v -0.054976 0.110605 0.067119 -v -0.054976 -0.170125 0.008377 -v -0.054976 -0.076166 -0.021180 -v -0.048309 -0.083769 -0.018789 -v 0.048309 0.030025 -0.030106 -v 0.048309 0.044544 -0.026498 -v 0.054976 0.137698 -0.106903 -v 0.054976 0.037257 -0.029682 -v 0.054976 0.077314 -0.012178 -v 0.054976 0.115945 0.065739 -v 0.048309 0.110605 0.067119 -v -0.054976 0.129257 0.026818 -v 0.054976 0.129257 0.026818 -v -0.054976 -0.016638 -0.032842 -v -0.048309 -0.016638 -0.032842 -v -0.054976 0.037258 -0.029680 -v -0.048309 0.037258 -0.029680 -v -0.048309 0.030638 -0.030069 -v -0.048309 0.042828 -0.027246 -v -0.054976 0.077314 -0.012176 -v -0.048309 0.077314 -0.012176 -v 0.048309 -0.024239 -0.031355 -v 0.048309 -0.016638 -0.032844 -v 0.054976 -0.016638 -0.032844 -v 0.048309 0.037257 -0.029682 -v 0.048309 0.077314 -0.012178 -v -0.054976 -0.170719 -0.025102 -v 0.048309 -0.170125 0.008377 -v 0.054976 -0.170125 0.008377 -v 0.054976 -0.243777 0.018558 -v -0.048309 -0.083374 -0.018913 -v -0.048309 -0.069301 -0.022525 -v -0.048309 -0.076166 -0.021180 -v 0.048309 -0.068273 -0.022727 -v 0.048309 -0.008551 -0.032369 -v -0.048309 -0.080475 0.114660 -v -0.054976 -0.087095 0.114272 -v -0.048309 -0.085555 -0.001705 -v -0.048309 -0.092665 0.111837 -v 0.048309 -0.087359 -0.001395 -v 0.054976 -0.087095 0.114273 -v 0.048309 -0.094382 0.111089 -v 0.048309 -0.079862 0.114697 -v -0.048309 -0.020475 0.097993 -v -0.054976 -0.027095 0.097605 -v -0.048309 -0.025555 -0.018372 -v -0.048309 -0.032665 0.095171 -v 0.048309 -0.027359 -0.018062 -v 0.054976 -0.027095 0.097607 -v 0.048309 -0.034382 0.094422 -v 0.048309 -0.019863 0.098031 -v -0.048309 0.029525 0.081326 -v -0.054976 0.022905 0.080938 -v -0.048309 0.024445 -0.035038 -v -0.048309 0.017335 0.078504 -v 0.048309 0.022641 -0.034728 -v 0.054976 0.022905 0.080940 -v 0.048309 0.015618 0.077755 -v 0.048309 0.030138 0.081364 -v -0.030080 -0.025485 -0.404784 -v 0.030080 -0.025485 -0.404784 -v 0.030080 0.137827 -0.404784 -v -0.030080 0.137827 -0.404784 -v 0.030080 0.137827 -0.088828 -v -0.030080 0.034929 -0.324529 -v -0.030080 0.077413 -0.324529 -v 0.030080 0.034929 -0.128143 -v 0.030080 0.001589 -0.088828 -v 0.030080 0.077413 -0.128143 -v -0.030080 -0.025485 -0.135682 -v 0.030080 -0.025485 -0.135682 -v -0.030080 0.137827 -0.088828 -v -0.030080 0.077413 -0.128143 -v -0.030080 0.001589 -0.088828 -v -0.030080 0.034929 -0.128143 -v 0.030080 -0.002767 -0.259293 -v 0.030080 -0.002767 -0.193379 -v -0.030080 -0.002767 -0.193379 -v 0.030080 0.034929 -0.324529 -v 0.030080 0.115110 -0.259293 -v -0.030080 0.115110 -0.259293 -v -0.030080 0.115110 -0.193379 -v 0.030080 0.008274 -0.305422 -v -0.030080 -0.002767 -0.259293 -v -0.030080 0.008274 -0.305422 -v 0.030080 0.104069 -0.305422 -v -0.030080 0.104069 -0.305422 -v 0.030080 0.077413 -0.324529 -v 0.030080 0.104069 -0.147250 -v -0.030080 0.104069 -0.147250 -v 0.030080 0.115110 -0.193379 -v 0.030080 0.008274 -0.147250 -v -0.030080 0.008274 -0.147250 -v 0.030080 -0.006341 -0.121959 -v 0.030080 -0.017555 -0.102551 -v -0.030080 -0.006341 -0.121959 -v -0.030080 -0.017555 -0.102551 -v -0.024624 0.275376 0.024624 -v -0.024624 0.294019 0.009987 -v 0.024624 0.294019 0.009987 -v 0.024624 0.324625 0.009850 -v 0.015000 0.324625 0.009850 -v 0.015000 0.324625 -0.006291 -v -0.024624 0.324625 -0.006291 -v -0.015000 0.324625 -0.006291 -v -0.015000 0.324625 0.009850 -v 0.024624 0.275376 -0.006291 -v 0.015000 0.301667 -0.006291 -v -0.024624 0.275376 -0.006291 -v 0.024624 0.275376 0.009850 -v -0.024624 0.275376 0.009850 -v -0.015000 0.301667 0.009952 -v 0.015000 0.301667 0.009952 -v -0.015000 0.301667 -0.006291 -v -0.054976 -0.243777 0.018558 -v -0.048309 -0.243777 0.018558 -v -0.040425 -0.244821 -0.040275 -v -0.054976 -0.244371 -0.014920 -v -0.048309 -0.170125 0.008377 -v 0.048309 -0.243777 0.018558 -v 0.048309 -0.211199 0.142519 -v -0.048309 -0.137546 0.132337 -v -0.048309 -0.211199 0.142519 -v 0.048309 -0.137546 0.132337 -v 0.054976 -0.244371 -0.014920 -v 0.039030 0.270865 -0.049612 -v -0.056483 0.137656 -0.052596 -v -0.040425 0.137547 -0.132337 -v -0.048309 0.097435 0.017007 -v -0.054976 0.115945 0.065739 -v 0.024624 0.275376 0.024624 -v 0.024624 0.324625 -0.006291 -v -0.024624 0.324625 0.009850 -vn -0.0000 1.0000 -0.0000 -vn -0.0000 -1.0000 -0.0000 -vn 1.0000 -0.0000 -0.0000 -vn -0.0000 -0.0000 1.0000 -vn -0.0000 -0.0000 -1.0000 -vn -0.8080 0.5892 -0.0000 -vn 0.8080 0.5892 -0.0000 -vn -1.0000 -0.0000 -0.0000 -vn -0.0000 0.9974 0.0714 -vn -0.0000 0.0159 -0.9999 -vn -0.0000 -0.9383 -0.3458 -vn -0.0000 -0.9350 -0.3546 -vn 0.0001 -0.3932 0.9195 -vn -0.0000 -0.3932 0.9195 -vn -0.0001 -0.3932 0.9195 -vn -0.0000 0.7393 0.6734 -vn -0.0000 -0.9971 -0.0760 -vn -0.0000 -1.0000 0.0093 -vn -0.0000 -0.9683 -0.2498 -vn -0.0000 -0.9195 -0.3932 -vn -0.0000 0.9195 0.3932 -vn -0.0000 0.9194 0.3932 -vn 0.8372 0.5456 0.0391 -vn 0.8296 0.5222 0.1976 -vn 0.8199 0.5081 0.2639 -vn -0.8372 0.5456 0.0391 -vn -0.8296 0.5223 0.1976 -vn -0.8370 0.5458 0.0391 -vn -0.7964 0.4439 0.4106 -vn -0.8199 0.5081 0.2639 -vn -0.7981 0.4421 0.4094 -vn 0.7964 0.4439 0.4106 -vn 0.7981 0.4421 0.4094 -vn -0.0000 -0.9672 0.2542 -vn -0.0000 -0.9088 0.4172 -vn -0.0000 -0.1970 -0.9804 -vn -0.0000 -0.2564 -0.9666 -vn -0.0000 1.0000 -0.0060 -vn -0.0000 0.9966 0.0819 -vn -0.0000 0.2466 0.9691 -vn -0.0000 0.3001 0.9539 -vn 0.8640 -0.0963 -0.4941 -vn 0.8658 -0.0685 -0.4957 -vn 0.8635 -0.1025 -0.4938 -vn -0.0000 0.2193 0.9757 -vn -0.0004 0.2997 0.9540 -vn -0.0000 0.2465 0.9691 -vn -0.0000 0.2515 0.9678 -vn -0.0000 0.2502 0.9682 -vn -0.0000 0.9690 0.2472 -vn -0.0000 0.9462 0.3236 -vn -0.0000 0.0674 0.9977 -vn -0.0000 0.1923 0.9813 -vn -0.0000 -0.2331 0.9724 -vn -0.0000 -0.0586 0.9983 -vn -0.0000 -0.4004 0.9163 -vn -0.0000 -0.8233 0.5676 -vn 0.8609 -0.1304 -0.4918 -vn -0.8609 -0.1304 -0.4918 -vn -0.8635 -0.1025 -0.4938 -vn -0.8640 -0.0963 -0.4941 -vn -0.0000 0.1369 0.9906 -vn -0.0015 0.2988 0.9543 -vn -0.7034 0.7102 -0.0310 -vn -0.9984 0.0006 -0.0574 -vn -0.7811 -0.0838 0.6188 -vn -0.5157 -0.7760 0.3632 -vn 0.7461 -0.6645 -0.0415 -vn 0.7333 0.6785 -0.0438 -vn 0.1650 -0.2225 0.9609 -vn -0.1960 -0.2365 0.9516 -vn 0.1649 -0.2225 0.9609 -vn -0.0000 -0.9931 0.1172 -vn -0.0000 0.9931 0.1172 -vn -0.0000 0.9931 -0.1172 -vn -0.0000 -0.9931 -0.1172 -vn -0.0000 0.9725 0.2328 -vn -0.0000 0.5826 0.8128 -vn -0.0000 -0.9725 0.2328 -vn -0.0000 -0.5826 0.8128 -vn -0.0000 -0.5826 -0.8128 -vn -0.0000 -0.9725 -0.2328 -vn -0.0000 0.9725 -0.2328 -vn -0.0000 0.5826 -0.8128 -vn -0.0000 0.6176 0.7865 -vn -0.0000 0.0045 1.0000 -vn -0.0000 -0.9998 0.0177 -vn -0.0000 -0.1369 -0.9906 -vn -0.0000 0.1959 0.9806 -vn -0.8658 -0.0685 -0.4957 -vn 0.8370 0.5458 0.0391 -vn -0.3827 -0.9239 -0.0000 -vn 0.2706 -0.9239 -0.2706 -vn 0.3827 -0.9239 -0.0000 -vt 0.711812 0.471594 -vt 0.711812 0.446767 -vt 0.680964 0.446767 -vt 0.805920 0.407025 -vt 0.805920 0.376176 -vt 0.775071 0.376176 -vt 0.865063 0.529825 -vt 0.865063 0.498977 -vt 0.837225 0.498977 -vt 0.837225 0.503312 -vt 0.806377 0.531149 -vt 0.837225 0.531149 -vt 0.805920 0.404014 -vt 0.808930 0.376176 -vt 0.805920 0.379187 -vt 0.711812 0.443756 -vt 0.680964 0.443756 -vt 0.680964 0.474605 -vt 0.711812 0.474605 -vt 0.865063 0.560674 -vt 0.837225 0.529825 -vt 0.196676 0.580182 -vt 0.198638 0.568986 -vt 0.198638 0.580182 -vt 0.202301 0.557317 -vt 0.202003 0.568962 -vt 0.200521 0.567525 -vt 0.252709 0.490184 -vt 0.252709 0.501381 -vt 0.251802 0.502161 -vt 0.268384 0.515205 -vt 0.268204 0.502447 -vt 0.268384 0.502447 -vt 0.190074 0.494543 -vt 0.201608 0.494104 -vt 0.201945 0.494543 -vt 0.215016 0.553502 -vt 0.214869 0.562501 -vt 0.214869 0.553699 -vt 0.270019 0.476989 -vt 0.268711 0.482827 -vt 0.269448 0.473995 -vt 0.201608 0.489403 -vt 0.190411 0.494104 -vt 0.190411 0.489403 -vt 0.175037 0.556930 -vt 0.174709 0.544172 -vt 0.175037 0.544172 -vt 0.269561 0.474151 -vt 0.270328 0.475132 -vt 0.271501 0.475552 -vt 0.200830 0.569382 -vt 0.200063 0.570363 -vt 0.175928 0.556930 -vt 0.269539 0.515205 -vt 0.269539 0.502447 -vt 0.199950 0.570518 -vt 0.199213 0.561687 -vt 0.201945 0.503251 -vt 0.202389 0.494922 -vt 0.202389 0.503690 -vt 0.190074 0.503251 -vt 0.189630 0.494922 -vt 0.189630 0.503690 -vt 0.201945 0.494327 -vt 0.190074 0.503035 -vt 0.190074 0.494327 -vt 0.214723 0.553502 -vt 0.202301 0.555340 -vt 0.202066 0.543470 -vt 0.202301 0.543470 -vt 0.201945 0.503035 -vt 0.271799 0.487196 -vt 0.269843 0.488286 -vt 0.269858 0.487334 -vt 0.200345 0.556228 -vt 0.202301 0.556374 -vt 0.202389 0.490352 -vt 0.189630 0.490352 -vt 0.464855 0.529949 -vt 0.463811 0.525673 -vt 0.464741 0.525648 -vt 0.541595 0.470689 -vt 0.552956 0.455884 -vt 0.552956 0.470689 -vt 0.495764 0.457949 -vt 0.495700 0.464582 -vt 0.480655 0.464582 -vt 0.465113 0.561405 -vt 0.464176 0.561405 -vt 0.464176 0.561048 -vt 0.428367 0.557666 -vt 0.428602 0.558400 -vt 0.417840 0.553461 -vt 0.432501 0.526433 -vt 0.432487 0.524369 -vt 0.447648 0.543050 -vt 0.448693 0.547326 -vt 0.447763 0.547351 -vt 0.447639 0.556854 -vt 0.448576 0.560903 -vt 0.447639 0.561259 -vt 0.543340 0.505049 -vt 0.543936 0.504441 -vt 0.548547 0.502582 -vt 0.447133 0.524278 -vt 0.444246 0.531090 -vt 0.442354 0.529086 -vt 0.526173 0.548018 -vt 0.526173 0.534441 -vt 0.526424 0.533504 -vt 0.495759 0.468690 -vt 0.480832 0.471681 -vt 0.480714 0.468690 -vt 0.447639 0.564075 -vt 0.448576 0.563662 -vt 0.448576 0.564075 -vt 0.447639 0.566674 -vt 0.448576 0.566355 -vt 0.448576 0.566674 -vt 0.448676 0.538323 -vt 0.447639 0.540283 -vt 0.447763 0.538036 -vt 0.448570 0.540258 -vt 0.464176 0.563861 -vt 0.465113 0.564221 -vt 0.464176 0.564221 -vt 0.464176 0.566470 -vt 0.465113 0.566819 -vt 0.464176 0.566819 -vt 0.463903 0.521068 -vt 0.464732 0.522882 -vt 0.463801 0.522907 -vt 0.447133 0.522212 -vt 0.432487 0.535944 -vt 0.417840 0.535854 -vt 0.417854 0.533789 -vt 0.464176 0.557000 -vt 0.465113 0.557000 -vt 0.427707 0.531136 -vt 0.429600 0.529132 -vt 0.448576 0.560921 -vt 0.448576 0.564426 -vt 0.448693 0.538011 -vt 0.448576 0.561259 -vt 0.448576 0.561584 -vt 0.464176 0.561778 -vt 0.464176 0.564611 -vt 0.463925 0.520660 -vt 0.464855 0.520634 -vt 0.448622 0.547351 -vt 0.448622 0.556854 -vt 0.447639 0.547480 -vt 0.448493 0.547734 -vt 0.561882 0.548292 -vt 0.561882 0.538853 -vt 0.560931 0.539306 -vt 0.560222 0.427399 -vt 0.559252 0.427573 -vt 0.560222 0.436888 -vt 0.497349 0.455842 -vt 0.496785 0.455044 -vt 0.497349 0.454852 -vt 0.496212 0.455047 -vt 0.496785 0.455842 -vt 0.496785 0.454852 -vt 0.465176 0.503339 -vt 0.465176 0.512842 -vt 0.464193 0.503468 -vt 0.465046 0.503723 -vt 0.562125 0.436838 -vt 0.562125 0.427399 -vt 0.561173 0.427852 -vt 0.559434 0.504073 -vt 0.558464 0.504246 -vt 0.559434 0.513561 -vt 0.498483 0.454852 -vt 0.498483 0.455829 -vt 0.497912 0.455661 -vt 0.495638 0.455842 -vt 0.495351 0.454905 -vt 0.495032 0.455842 -vt 0.513969 0.554419 -vt 0.513969 0.563922 -vt 0.512986 0.554548 -vt 0.513840 0.554802 -vt 0.561173 0.436838 -vt 0.561173 0.427399 -vt 0.560222 0.427852 -vt 0.559252 0.427399 -vt 0.558283 0.427573 -vt 0.559252 0.436888 -vt 0.497912 0.455842 -vt 0.497349 0.455044 -vt 0.497912 0.454852 -vt 0.495638 0.455047 -vt 0.496212 0.455842 -vt 0.496212 0.454852 -vt 0.790369 0.584153 -vt 0.807860 0.566663 -vt 0.807860 0.584153 -vt 0.736752 0.536381 -vt 0.754243 0.516827 -vt 0.754243 0.536381 -vt 0.730282 0.521794 -vt 0.725732 0.521794 -vt 0.719261 0.516827 -vt 0.783899 0.518298 -vt 0.779349 0.518298 -vt 0.787470 0.515864 -vt 0.789225 0.476691 -vt 0.806715 0.460090 -vt 0.806715 0.476691 -vt 0.859498 0.531650 -vt 0.844953 0.514160 -vt 0.859498 0.514160 -vt 0.725732 0.533948 -vt 0.730282 0.533948 -vt 0.733853 0.536381 -vt 0.878389 0.583395 -vt 0.874310 0.600886 -vt 0.874310 0.583395 -vt 0.836080 0.601637 -vt 0.831530 0.619127 -vt 0.831530 0.601637 -vt 0.793120 0.601644 -vt 0.797656 0.619135 -vt 0.793120 0.619135 -vt 0.875157 0.496278 -vt 0.879223 0.513768 -vt 0.875157 0.513768 -vt 0.881244 0.583395 -vt 0.878389 0.600886 -vt 0.790369 0.601644 -vt 0.790369 0.619135 -vt 0.872217 0.496278 -vt 0.872217 0.513768 -vt 0.797656 0.601644 -vt 0.800596 0.619135 -vt 0.828675 0.619127 -vt 0.828675 0.601637 -vt 0.879223 0.496278 -vt 0.881974 0.513768 -vt 0.871455 0.600886 -vt 0.871455 0.583395 -vt 0.838935 0.601637 -vt 0.836080 0.619127 -vt 0.789520 0.516714 -vt 0.788319 0.517915 -vt 0.790369 0.518764 -vt 0.736752 0.533481 -vt 0.735903 0.535531 -vt 0.734702 0.534330 -vt 0.844953 0.531650 -vt 0.842842 0.514160 -vt 0.789225 0.478803 -vt 0.806715 0.478803 -vt 0.779349 0.530451 -vt 0.783899 0.530451 -vt 0.790369 0.535418 -vt 0.669019 0.496557 -vt 0.655640 0.491475 -vt 0.669019 0.491475 -vt 0.720612 0.449763 -vt 0.717998 0.454147 -vt 0.717998 0.449763 -vt 0.720770 0.516156 -vt 0.718155 0.520541 -vt 0.718155 0.516156 -vt 0.682398 0.496540 -vt 0.682398 0.483160 -vt 0.689541 0.493925 -vt 0.712614 0.509919 -vt 0.708600 0.496540 -vt 0.712614 0.496540 -vt 0.699791 0.562879 -vt 0.695777 0.562879 -vt 0.699754 0.557815 -vt 0.716999 0.496540 -vt 0.765161 0.950852 -vt 0.765161 0.845911 -vt 0.781459 0.930344 -vt 0.708598 0.557815 -vt 0.708561 0.562879 -vt 0.704176 0.562879 -vt 0.673432 0.562955 -vt 0.669019 0.554805 -vt 0.673432 0.554805 -vt 0.681979 0.561042 -vt 0.677594 0.554805 -vt 0.681979 0.554805 -vt 0.718183 0.516156 -vt 0.722568 0.509919 -vt 0.722568 0.516156 -vt 0.479644 0.451091 -vt 0.494061 0.451091 -vt 0.494991 0.451091 -vt 0.493032 0.455842 -vt 0.481746 0.455842 -vt 0.417873 0.531063 -vt 0.448576 0.556854 -vt 0.542206 0.514475 -vt 0.552850 0.514475 -vt 0.428484 0.565354 -vt 0.417840 0.565354 -vt 0.514493 0.548018 -vt 0.514493 0.534441 -vt 0.432520 0.529160 -vt 0.680964 0.471594 -vt 0.775071 0.407025 -vt 0.806377 0.503312 -vt 0.809388 0.500301 -vt 0.834214 0.500301 -vt 0.836768 0.407025 -vt 0.836768 0.376176 -vt 0.808930 0.407025 -vt 0.837225 0.560674 -vt 0.196676 0.568986 -vt 0.200359 0.557180 -vt 0.202301 0.569099 -vt 0.240474 0.502161 -vt 0.240474 0.489403 -vt 0.251802 0.489403 -vt 0.268204 0.515205 -vt 0.215016 0.562304 -vt 0.174709 0.556930 -vt 0.175928 0.544172 -vt 0.214723 0.562304 -vt 0.202066 0.555340 -vt 0.271799 0.488139 -vt 0.271799 0.475415 -vt 0.463925 0.529975 -vt 0.541595 0.455884 -vt 0.480719 0.457949 -vt 0.482731 0.455884 -vt 0.493793 0.455884 -vt 0.422143 0.553461 -vt 0.427334 0.555901 -vt 0.424912 0.554020 -vt 0.426850 0.555388 -vt 0.427163 0.555609 -vt 0.428843 0.561163 -vt 0.428845 0.561144 -vt 0.428838 0.560470 -vt 0.428875 0.560794 -vt 0.428555 0.557988 -vt 0.448579 0.543024 -vt 0.552850 0.502582 -vt 0.542094 0.507467 -vt 0.541847 0.510284 -vt 0.541815 0.509915 -vt 0.541858 0.509543 -vt 0.542344 0.506752 -vt 0.545778 0.503140 -vt 0.543527 0.504730 -vt 0.542135 0.507109 -vt 0.436979 0.528127 -vt 0.447133 0.530918 -vt 0.446696 0.535010 -vt 0.445191 0.533751 -vt 0.446054 0.537976 -vt 0.445801 0.538011 -vt 0.439802 0.528046 -vt 0.526424 0.548955 -vt 0.526173 0.548955 -vt 0.526173 0.533504 -vt 0.495877 0.471681 -vt 0.432487 0.538011 -vt 0.430545 0.526471 -vt 0.431154 0.522212 -vt 0.431408 0.522246 -vt 0.432049 0.525212 -vt 0.432487 0.529304 -vt 0.425155 0.532176 -vt 0.422332 0.532095 -vt 0.790369 0.566663 -vt 0.736752 0.516827 -vt 0.721695 0.529910 -vt 0.722877 0.532765 -vt 0.719261 0.536381 -vt 0.734319 0.525831 -vt 0.733137 0.532765 -vt 0.734319 0.529910 -vt 0.721695 0.525831 -vt 0.733137 0.522976 -vt 0.722877 0.522976 -vt 0.776494 0.519480 -vt 0.772878 0.515864 -vt 0.786754 0.519480 -vt 0.789225 0.460090 -vt 0.881244 0.600886 -vt 0.800596 0.601644 -vt 0.881974 0.496278 -vt 0.838935 0.619127 -vt 0.842842 0.531650 -vt 0.787936 0.522335 -vt 0.787936 0.526414 -vt 0.775312 0.522335 -vt 0.775312 0.526414 -vt 0.772878 0.535418 -vt 0.776494 0.529269 -vt 0.786754 0.529269 -vt 0.655640 0.496557 -vt 0.720612 0.454147 -vt 0.720770 0.520541 -vt 0.695777 0.493925 -vt 0.695777 0.496540 -vt 0.695777 0.483160 -vt 0.689541 0.485775 -vt 0.695777 0.485775 -vt 0.708600 0.509919 -vt 0.699791 0.549500 -vt 0.704176 0.549500 -vt 0.716999 0.509919 -vt 0.830378 0.930344 -vt 0.830378 0.950852 -vt 0.830378 0.845911 -vt 0.781459 0.866419 -vt 0.830378 0.866419 -vt 0.708561 0.549500 -vt 0.712575 0.562879 -vt 0.669019 0.562955 -vt 0.677566 0.561042 -vt 0.718155 0.509919 -vt 0.480574 0.451091 -vt 0.480580 0.440448 -vt 0.494067 0.440448 -vt 0.479684 0.453794 -vt 0.495032 0.453794 -s 1 -f 1/1/1 2/2/1 3/3/1 -f 4/4/2 5/5/2 6/6/2 -f 4/7/3 7/8/3 8/9/3 -f 9/10/4 5/11/4 4/12/4 -f 1/13/5 10/14/5 2/15/5 -f 10/16/6 11/17/6 3/3/6 -f 9/18/7 8/19/7 1/1/7 -f 6/20/8 5/7/8 11/21/8 -f 12/22/9 14/23/9 13/24/9 -f 15/25/8 17/26/8 16/27/8 -f 18/28/10 12/29/10 19/30/10 -f 20/31/11 22/32/12 21/33/11 -f 23/34/13 25/35/14 24/36/15 -f 26/37/8 28/38/8 27/39/8 -f 29/40/3 31/41/3 30/42/3 -f 14/43/16 32/44/16 13/45/16 -f 17/46/17 34/47/18 33/48/17 -f 20/49/3 35/50/3 29/40/3 -f 35/50/3 33/51/3 29/40/3 -f 17/26/8 36/52/8 16/27/8 -f 36/52/8 21/53/8 16/27/8 -f 33/48/17 36/54/19 17/46/17 -f 35/55/19 21/33/11 36/56/19 -f 16/27/8 22/57/8 37/58/8 -f 38/59/14 37/60/14 22/61/14 -f 26/62/14 31/63/14 23/34/13 -f 38/59/14 30/64/14 26/62/14 -f 39/65/14 27/66/14 28/67/14 -f 38/38/3 39/68/3 24/39/3 -f 24/69/20 28/70/20 23/71/20 -f 26/62/21 40/72/22 38/59/22 -f 25/35/14 37/60/14 24/36/15 -f 31/63/14 32/44/14 23/34/13 -f 19/73/23 13/74/24 41/75/25 -f 15/25/26 14/76/27 18/77/28 -f 25/35/29 42/78/30 37/60/31 -f 41/79/25 32/44/32 31/63/33 -f 33/51/3 19/73/3 29/40/3 -f 43/80/34 45/81/35 44/82/35 -f 46/83/36 48/84/37 47/85/36 -f 49/86/38 51/87/39 50/88/39 -f 52/89/40 54/90/40 53/91/41 -f 55/92/8 57/93/8 56/94/8 -f 58/95/42 59/96/43 47/96/44 -f 60/97/35 56/98/34 61/99/34 -f 62/100/45 64/101/46 63/102/47 -f 65/103/3 66/104/3 45/105/3 -f 67/106/3 69/107/3 68/108/3 -f 56/109/48 71/110/48 70/111/49 -f 72/112/50 70/113/51 73/114/50 -f 74/115/52 57/116/53 75/117/52 -f 76/118/54 78/119/55 77/120/54 -f 79/121/56 80/122/56 76/123/54 -f 81/124/57 60/97/35 80/122/57 -f 82/125/53 84/126/52 83/127/52 -f 65/128/55 68/129/54 85/130/54 -f 66/131/56 69/132/56 86/133/56 -f 69/132/57 45/81/35 86/133/57 -f 67/106/58 47/96/44 48/134/58 -f 49/135/59 46/136/60 87/137/61 -f 88/138/45 90/139/62 89/139/45 -f 73/114/50 51/87/39 72/112/50 -f 76/140/8 80/141/8 49/135/8 -f 63/102/47 64/101/46 91/142/63 -f 63/102/47 57/116/53 74/115/52 -f 74/115/52 75/117/52 55/143/55 -f 55/143/55 76/118/54 74/115/52 -f 76/123/54 77/144/54 79/121/56 -f 63/102/47 93/145/47 92/146/53 -f 63/102/47 91/142/63 93/145/47 -f 89/139/45 53/91/41 88/138/45 -f 54/90/40 52/89/40 94/147/53 -f 94/147/53 84/126/52 82/125/53 -f 83/127/52 84/126/52 95/148/55 -f 95/148/55 68/129/54 65/128/55 -f 85/149/54 68/150/54 66/131/56 -f 96/151/64 98/152/65 97/153/66 -f 99/154/67 97/153/66 98/152/65 -f 100/155/68 101/156/68 102/157/68 -f 103/158/69 101/159/69 100/160/69 -f 97/161/66 99/162/67 96/163/70 -f 102/164/71 101/165/71 103/166/71 -f 104/167/64 106/168/65 105/169/66 -f 107/170/67 105/169/66 106/168/65 -f 108/171/68 109/172/68 110/173/68 -f 111/174/69 109/175/69 108/176/69 -f 105/177/66 107/178/67 104/179/72 -f 110/180/71 109/181/71 111/182/71 -f 112/183/64 114/184/65 113/185/66 -f 115/186/67 113/185/66 114/184/65 -f 116/187/68 117/188/68 118/189/68 -f 119/190/69 117/191/69 116/192/69 -f 113/193/66 115/194/67 112/195/70 -f 118/196/71 117/197/71 119/198/71 -f 120/199/5 122/200/5 121/201/5 -f 123/202/1 124/203/1 122/204/1 -f 125/205/8 126/206/8 123/207/8 -f 127/208/3 129/209/3 128/210/3 -f 130/211/73 121/212/2 131/213/73 -f 132/214/4 128/215/4 124/216/4 -f 133/217/8 135/218/8 134/219/8 -f 136/220/74 138/221/75 137/222/75 -f 127/223/5 133/224/5 129/225/5 -f 139/226/4 126/227/4 125/228/4 -f 140/229/73 142/230/76 141/231/73 -f 143/232/77 144/233/74 136/220/74 -f 143/234/78 125/228/78 145/235/78 -f 146/236/79 141/231/73 147/237/79 -f 148/238/80 147/239/80 126/227/80 -f 129/225/81 150/240/81 149/241/81 -f 151/242/76 150/243/82 142/230/76 -f 137/222/75 153/244/83 152/245/83 -f 152/246/84 135/247/84 127/223/84 -f 128/210/3 155/248/3 154/249/3 -f 155/248/3 131/250/3 154/249/3 -f 130/251/8 157/252/8 156/253/8 -f 157/252/8 134/219/8 156/253/8 -f 134/254/80 155/255/80 128/215/80 -f 157/256/79 131/213/73 155/257/79 -f 148/258/3 139/259/3 121/260/3 -f 158/261/85 160/262/85 159/263/85 -f 161/264/1 163/265/1 162/266/1 -f 164/267/1 166/268/1 165/269/1 -f 167/270/5 169/271/5 168/272/5 -f 170/273/2 158/274/2 171/275/2 -f 171/276/8 158/277/8 159/278/8 -f 169/279/2 170/273/2 171/275/2 -f 159/280/86 160/281/86 172/282/86 -f 160/283/3 170/284/3 167/285/3 -f 173/286/1 174/287/1 172/288/1 -f 168/289/8 162/290/8 163/291/8 -f 166/292/3 174/293/3 165/294/3 -f 90/295/2 176/296/2 175/297/2 -f 177/298/87 59/299/87 90/295/87 -f 62/300/8 178/137/8 175/300/8 -f 62/100/45 176/301/62 179/301/45 -f 47/85/36 177/83/88 46/83/36 -f 88/302/3 181/303/3 180/302/3 -f 179/304/8 183/305/8 182/305/8 -f 182/306/89 181/307/62 184/307/89 -f 87/137/61 177/136/90 178/137/90 -f 89/308/3 185/95/3 58/95/3 -f 1/1/1 3/3/1 186/309/1 -f 4/4/2 6/6/2 7/310/2 -f 4/7/3 8/9/3 9/21/3 -f 5/11/4 9/10/4 11/311/4 -f 11/311/4 9/10/4 3/312/4 -f 3/312/4 9/10/4 186/313/4 -f 10/14/5 7/314/5 6/315/5 -f 7/314/5 10/14/5 8/316/5 -f 8/316/5 10/14/5 1/13/5 -f 10/16/6 3/3/6 2/2/6 -f 9/18/7 1/1/7 186/309/7 -f 6/20/8 11/21/8 10/317/8 -f 12/22/9 18/318/9 14/23/9 -f 16/27/8 42/319/8 15/25/8 -f 15/25/8 187/320/8 17/26/8 -f 19/30/10 34/321/10 187/322/10 -f 187/322/10 15/323/10 19/30/10 -f 15/323/10 18/28/10 19/30/10 -f 20/31/11 30/324/12 22/32/12 -f 23/34/13 32/44/14 25/35/14 -f 26/37/8 23/325/8 28/38/8 -f 30/42/3 20/49/3 29/40/3 -f 29/40/3 41/75/3 31/41/3 -f 14/43/16 25/35/16 32/44/16 -f 17/46/17 187/326/18 34/47/18 -f 33/48/17 35/327/19 36/54/19 -f 35/55/19 20/31/11 21/33/11 -f 37/58/8 42/319/8 16/27/8 -f 16/27/8 21/53/8 22/57/8 -f 38/59/14 24/36/15 37/60/14 -f 26/62/14 30/64/14 31/63/14 -f 38/59/14 22/61/14 30/64/14 -f 39/65/14 40/72/14 27/66/14 -f 38/38/3 40/328/3 39/68/3 -f 24/69/20 39/329/20 28/70/20 -f 26/62/21 27/66/21 40/72/22 -f 19/73/23 12/330/91 13/74/24 -f 15/25/26 42/319/30 14/76/27 -f 25/35/29 14/43/27 42/78/30 -f 41/79/25 13/45/24 32/44/32 -f 34/331/3 19/73/3 33/51/3 -f 19/73/3 41/75/3 29/40/3 -f 43/80/34 71/332/34 45/81/35 -f 46/83/36 188/333/37 48/84/37 -f 50/88/39 67/334/38 49/86/38 -f 67/334/38 48/335/38 49/86/38 -f 48/335/38 188/336/38 49/86/38 -f 56/94/8 189/337/8 78/338/8 -f 189/337/8 81/339/8 79/340/8 -f 79/340/8 77/341/8 78/338/8 -f 189/337/8 79/340/8 78/338/8 -f 179/304/8 182/305/8 64/342/8 -f 182/305/8 56/94/8 57/93/8 -f 91/343/8 182/305/8 92/344/8 -f 91/343/8 64/342/8 182/305/8 -f 92/344/8 93/345/8 91/343/8 -f 55/92/8 75/346/8 57/93/8 -f 57/93/8 92/344/8 182/305/8 -f 78/338/8 55/92/8 56/94/8 -f 58/95/42 185/95/43 59/96/43 -f 60/97/35 189/347/35 56/98/34 -f 62/100/45 179/301/45 64/101/46 -f 71/348/3 184/303/3 82/349/3 -f 184/303/3 88/302/3 53/350/3 -f 53/350/3 54/351/3 94/352/3 -f 184/303/3 53/350/3 94/352/3 -f 71/348/3 82/349/3 95/353/3 -f 86/354/3 45/105/3 66/104/3 -f 45/105/3 71/348/3 65/103/3 -f 66/104/3 65/103/3 85/355/3 -f 95/353/3 65/103/3 71/348/3 -f 82/349/3 83/356/3 95/353/3 -f 94/352/3 82/349/3 184/303/3 -f 52/357/3 89/308/3 58/95/3 -f 67/106/3 50/358/3 69/107/3 -f 50/358/3 73/359/3 44/360/3 -f 73/359/3 70/361/3 44/360/3 -f 70/361/3 43/362/3 44/360/3 -f 52/357/3 58/95/3 84/363/3 -f 58/95/3 67/106/3 84/363/3 -f 50/358/3 44/360/3 69/107/3 -f 68/108/3 84/363/3 67/106/3 -f 70/111/49 190/364/49 56/109/48 -f 190/364/49 61/365/49 56/109/48 -f 56/109/48 182/306/89 184/307/89 -f 71/110/48 43/366/49 70/111/49 -f 56/109/48 184/307/89 71/110/48 -f 72/112/50 190/367/51 70/113/51 -f 79/121/56 81/124/56 80/122/56 -f 81/124/57 189/347/35 60/97/35 -f 66/131/56 68/150/54 69/132/56 -f 69/132/57 44/82/35 45/81/35 -f 67/106/58 58/95/42 47/96/44 -f 49/135/59 188/368/59 46/136/60 -f 88/138/45 180/138/62 90/139/62 -f 73/114/50 50/88/39 51/87/39 -f 60/369/8 61/370/8 190/371/8 -f 190/371/8 72/372/8 60/369/8 -f 72/372/8 51/373/8 60/369/8 -f 49/135/8 87/137/8 74/374/8 -f 87/137/8 62/300/8 63/375/8 -f 87/137/8 63/375/8 74/374/8 -f 51/373/8 49/135/8 80/141/8 -f 60/369/8 51/373/8 80/141/8 -f 49/135/8 74/374/8 76/140/8 -f 63/102/47 92/146/53 57/116/53 -f 55/143/55 78/119/55 76/118/54 -f 89/139/45 52/89/40 53/91/41 -f 94/147/53 52/89/40 84/126/52 -f 95/148/55 84/126/52 68/129/54 -f 120/199/5 123/376/5 122/200/5 -f 123/202/1 132/377/1 124/203/1 -f 142/378/8 150/379/8 132/380/8 -f 120/377/8 130/251/8 144/381/8 -f 130/251/8 156/253/8 153/382/8 -f 144/381/8 130/251/8 138/383/8 -f 153/382/8 138/383/8 130/251/8 -f 142/378/8 132/380/8 141/384/8 -f 132/380/8 123/207/8 141/384/8 -f 120/377/8 144/381/8 145/385/8 -f 147/386/8 141/384/8 123/207/8 -f 126/206/8 147/386/8 123/207/8 -f 123/207/8 120/377/8 125/205/8 -f 120/377/8 145/385/8 125/205/8 -f 129/209/3 149/387/3 124/388/3 -f 124/388/3 128/210/3 129/209/3 -f 128/210/3 154/249/3 127/208/3 -f 154/249/3 152/389/3 127/208/3 -f 130/211/73 120/390/2 121/212/2 -f 132/214/4 134/254/4 128/215/4 -f 135/218/8 153/382/8 156/253/8 -f 156/253/8 134/219/8 135/218/8 -f 134/219/8 132/380/8 133/217/8 -f 132/380/8 150/379/8 133/217/8 -f 136/220/74 144/233/74 138/221/75 -f 127/223/5 135/247/5 133/224/5 -f 139/226/4 148/238/4 126/227/4 -f 140/229/73 151/242/76 142/230/76 -f 143/232/77 145/391/77 144/233/74 -f 143/234/78 139/226/78 125/228/78 -f 146/236/79 140/229/73 141/231/73 -f 148/238/80 146/392/80 147/239/80 -f 129/225/81 133/224/81 150/240/81 -f 151/242/76 149/393/82 150/243/82 -f 137/222/75 138/221/75 153/244/83 -f 152/246/84 153/394/84 135/247/84 -f 134/254/80 157/395/80 155/255/80 -f 157/256/79 130/211/73 131/213/73 -f 137/396/3 152/389/3 131/250/3 -f 152/389/3 154/249/3 131/250/3 -f 131/250/3 121/260/3 136/397/3 -f 137/396/3 131/250/3 136/397/3 -f 124/388/3 149/387/3 151/398/3 -f 124/388/3 151/398/3 140/399/3 -f 122/400/3 124/388/3 140/399/3 -f 122/400/3 140/399/3 146/401/3 -f 143/402/3 136/397/3 121/260/3 -f 139/259/3 143/402/3 121/260/3 -f 121/260/3 122/400/3 148/258/3 -f 122/400/3 146/401/3 148/258/3 -f 158/261/85 191/403/85 160/262/85 -f 161/264/1 192/404/1 163/265/1 -f 164/267/1 193/405/1 166/268/1 -f 168/272/5 163/406/5 192/407/5 -f 169/271/5 164/408/5 174/409/5 -f 164/408/5 165/410/5 174/409/5 -f 168/272/5 192/407/5 167/270/5 -f 169/271/5 174/409/5 168/272/5 -f 170/273/2 191/411/2 158/274/2 -f 159/278/8 193/412/8 164/413/8 -f 164/413/8 169/285/8 159/278/8 -f 169/285/8 171/276/8 159/278/8 -f 169/279/2 167/414/2 170/273/2 -f 166/415/86 193/416/86 172/282/86 -f 193/416/86 159/280/86 172/282/86 -f 160/281/86 161/417/86 173/418/86 -f 161/417/86 162/419/86 173/418/86 -f 160/281/86 173/418/86 172/282/86 -f 167/285/3 192/413/3 160/283/3 -f 192/413/3 161/420/3 160/283/3 -f 160/283/3 191/421/3 170/284/3 -f 173/286/1 168/422/1 174/287/1 -f 168/289/8 173/423/8 162/290/8 -f 166/292/3 172/424/3 174/293/3 -f 180/425/34 181/426/34 183/427/34 -f 180/425/34 183/427/34 176/296/34 -f 90/295/92 180/425/93 176/296/94 -f 185/428/87 90/295/87 59/299/87 -f 90/295/87 175/297/87 177/298/87 -f 175/297/87 178/429/87 177/298/87 -f 62/300/8 87/137/8 178/137/8 -f 62/100/45 175/100/62 176/301/62 -f 47/85/36 59/85/88 177/83/88 -f 88/302/3 184/303/3 181/303/3 -f 179/304/8 176/304/8 183/305/8 -f 182/306/89 183/306/62 181/307/62 -f 87/137/61 46/136/60 177/136/90 -f 89/308/3 90/308/3 185/95/3 -o Slide -v -0.029588 0.246255 -0.577080 -v 0.029588 0.246255 -0.633022 -v 0.029588 0.246255 -0.577080 -v 0.029588 0.187079 -0.577080 -v -0.029588 0.187079 -0.633022 -v -0.029588 0.187079 -0.577080 -v 0.029588 0.205540 -0.633022 -v -0.029588 0.229552 -0.633022 -v -0.029588 0.246255 -0.633022 -v 0.029588 0.187079 -0.633022 -v 0.032118 0.281420 -0.181591 -v -0.032118 0.289754 -0.181591 -v -0.032118 0.281420 -0.181591 -v -0.056481 0.121788 -0.384735 -v -0.056481 0.160121 -0.384735 -v 0.039181 0.138454 -0.384735 -v 0.056481 0.138454 -0.181591 -v 0.056481 0.261133 -0.181591 -v -0.056481 0.121788 -0.181591 -v 0.056481 0.121788 -0.384735 -v 0.056481 0.121788 -0.181591 -v -0.056481 0.138454 -0.181591 -v -0.039814 0.138454 -0.633022 -v -0.039814 0.121788 -0.384735 -v -0.039814 0.138454 -0.384735 -v -0.056481 0.229552 -0.522695 -v -0.056481 0.261133 -0.181591 -v 0.039814 0.138454 -0.384735 -v 0.039814 0.121788 -0.633022 -v 0.039814 0.138454 -0.633022 -v 0.056481 0.160121 -0.384735 -v 0.056481 0.160350 -0.633022 -v 0.056481 0.205540 -0.522695 -v -0.039814 0.121788 -0.633022 -v 0.039814 0.121788 -0.384735 -v 0.056481 0.261133 -0.633022 -v -0.032118 0.281420 -0.633022 -v -0.056481 0.261133 -0.633022 -v -0.032118 0.289754 -0.633022 -v 0.032118 0.289754 -0.181591 -v 0.032118 0.289754 -0.633022 -v 0.032118 0.281420 -0.633022 -v -0.050000 0.229552 -0.633022 -v -0.050000 0.229552 -0.522695 -v -0.050000 0.205540 -0.522695 -v -0.050000 0.205540 -0.633022 -v -0.056481 0.205540 -0.522695 -v 0.050000 0.229552 -0.522695 -v 0.056481 0.229552 -0.633022 -v 0.056481 0.229552 -0.522695 -v 0.050000 0.205540 -0.522695 -v 0.056481 0.205540 -0.633022 -v 0.050000 0.205540 -0.633022 -v 0.050000 0.229552 -0.633022 -v -0.005394 0.289516 -0.633819 -v 0.005394 0.323818 -0.633819 -v 0.005394 0.289516 -0.633819 -v -0.005394 0.323818 -0.633819 -v 0.005394 0.323818 -0.599517 -v -0.005394 0.323818 -0.599517 -v 0.005394 0.289516 -0.562850 -v -0.005394 0.289516 -0.562850 -v 0.005394 0.289795 -0.633540 -v 0.008727 0.289795 -0.587108 -v 0.005394 0.289795 -0.587108 -v -0.005394 0.289795 -0.587108 -v -0.008727 0.289795 -0.633540 -v -0.005394 0.289795 -0.633540 -v 0.005394 0.310206 -0.633540 -v -0.005394 0.310206 -0.633540 -v 0.005394 0.310206 -0.608926 -v -0.005394 0.310206 -0.608926 -v -0.008727 0.310206 -0.608926 -v -0.008727 0.289795 -0.587108 -v -0.008727 0.310206 -0.633540 -v 0.008727 0.310206 -0.608926 -v 0.008727 0.289795 -0.633540 -v 0.008727 0.310206 -0.633540 -v -0.056481 0.205540 -0.633022 -v -0.056481 0.160350 -0.633022 -v -0.056481 0.229552 -0.633022 -vn -0.0000 -1.0000 -0.0000 -vn -0.0000 -0.0000 -1.0000 -vn -0.0000 1.0000 -0.0000 -vn -1.0000 -0.0000 -0.0000 -vn 1.0000 -0.0000 -0.0000 -vn -0.0000 -0.0000 1.0000 -vn 0.6399 0.7685 -0.0000 -vn -0.6399 0.7685 -0.0000 -vn -0.7929 -0.6093 -0.0000 -vn -0.7955 -0.6060 -0.0005 -vn -0.7926 -0.6097 -0.0000 -vn 0.7928 -0.6094 -0.0000 -vn 0.7955 -0.6060 -0.0005 -vn 0.7957 -0.6057 -0.0006 -vn -0.0000 0.7303 0.6832 -vn -0.7928 -0.6094 -0.0000 -vn -0.7957 -0.6057 -0.0006 -vn 0.7926 -0.6097 -0.0000 -vt 0.092911 0.684435 -vt 0.089855 0.671519 -vt 0.092911 0.671519 -vt 0.354586 0.672632 -vt 0.344381 0.685548 -vt 0.344381 0.672632 -vt 0.206551 0.673047 -vt 0.209606 0.685963 -vt 0.206551 0.685963 -vt 0.128661 0.677165 -vt 0.131717 0.677165 -vt 0.131717 0.684187 -vt 0.128661 0.687371 -vt 0.125606 0.687371 -vt 0.125606 0.680046 -vt 0.089855 0.684435 -vt 0.354586 0.685548 -vt 0.209606 0.673047 -vt 0.131717 0.687371 -vt 0.125606 0.677165 -vt 0.063094 0.517248 -vt 0.077115 0.515811 -vt 0.077115 0.517248 -vt 0.157843 0.697224 -vt 0.151233 0.697224 -vt 0.154969 0.676344 -vt 0.057777 0.541903 -vt 0.057777 0.520746 -vt 0.285202 0.565673 -vt 0.274107 0.541018 -vt 0.285202 0.541018 -vt 0.082432 0.541903 -vt 0.057777 0.544778 -vt 0.136231 0.644951 -vt 0.133357 0.631391 -vt 0.136231 0.631391 -vt 0.151942 0.638926 -vt 0.139968 0.631391 -vt 0.157388 0.620296 -vt 0.109962 0.632696 -vt 0.107088 0.619135 -vt 0.109962 0.619135 -vt 0.113699 0.632696 -vt 0.113738 0.619135 -vt 0.121532 0.625161 -vt 0.076295 0.688899 -vt 0.089855 0.688899 -vt 0.103450 0.518685 -vt 0.086070 0.515811 -vt 0.103450 0.515811 -vt 0.231790 0.688984 -vt 0.226472 0.664328 -vt 0.231790 0.664328 -vt 0.176531 0.639683 -vt 0.181848 0.664339 -vt 0.176531 0.664339 -vt 0.133357 0.542324 -vt 0.133260 0.547538 -vt 0.133260 0.542226 -vt 0.101218 0.527071 -vt 0.088302 0.527071 -vt 0.086070 0.518685 -vt 0.088302 0.537276 -vt 0.101218 0.537276 -vt 0.101770 0.543341 -vt 0.271087 0.590329 -vt 0.285107 0.565673 -vt 0.285107 0.590329 -vt 0.087750 0.544778 -vt 0.087750 0.543341 -vt 0.131743 0.542226 -vt 0.133181 0.566881 -vt 0.131743 0.566881 -vt 0.133181 0.591537 -vt 0.131743 0.591537 -vt 0.132534 0.634040 -vt 0.131119 0.640066 -vt 0.131119 0.634040 -vt 0.258439 0.613448 -vt 0.257024 0.609307 -vt 0.258439 0.609307 -vt 0.278036 0.607848 -vt 0.279450 0.613874 -vt 0.278036 0.613874 -vt 0.282177 0.607848 -vt 0.278036 0.601822 -vt 0.282177 0.601822 -vt 0.092911 0.677545 -vt 0.094325 0.671519 -vt 0.094325 0.677545 -vt 0.255609 0.613448 -vt 0.257024 0.613448 -vt 0.094325 0.683571 -vt 0.281887 0.485497 -vt 0.277746 0.479471 -vt 0.281887 0.479471 -vt 0.786280 0.515326 -vt 0.770512 0.499558 -vt 0.786280 0.499558 -vt 0.722175 0.451879 -vt 0.737943 0.436111 -vt 0.737943 0.451879 -vt 0.830449 0.815071 -vt 0.846218 0.798216 -vt 0.846218 0.815071 -vt 0.690638 0.451879 -vt 0.706407 0.419256 -vt 0.706407 0.451879 -vt 0.718250 0.533728 -vt 0.723122 0.555072 -vt 0.718250 0.555072 -vt 0.824551 0.567530 -vt 0.819678 0.546186 -vt 0.824551 0.546186 -vt 0.712664 0.451751 -vt 0.684381 0.451751 -vt 0.674870 0.451879 -vt 0.674998 0.451751 -vt 0.712664 0.440436 -vt 0.706407 0.436111 -vt 0.684381 0.440436 -vt 0.722175 0.419256 -vt 0.722047 0.430407 -vt 0.674870 0.419256 -vt 0.690638 0.436111 -vt 0.722047 0.451751 -vt 0.674998 0.430407 -vt 0.764126 0.541124 -vt 0.754743 0.552438 -vt 0.754743 0.531094 -vt 0.825130 0.493798 -vt 0.820258 0.483768 -vt 0.825130 0.483768 -vt 0.825130 0.505113 -vt 0.820258 0.493798 -vt 0.764817 0.561821 -vt 0.759944 0.552438 -vt 0.764817 0.552438 -vt 0.773509 0.542409 -vt 0.764126 0.531094 -vt 0.773509 0.531094 -vt 0.814806 0.546186 -vt 0.819678 0.556215 -vt 0.814806 0.556215 -vt 0.819678 0.567530 -vt 0.814806 0.567530 -vt 0.812468 0.419256 -vt 0.817341 0.428638 -vt 0.812468 0.428638 -vt 0.063094 0.515811 -vt 0.151233 0.672568 -vt 0.157843 0.672568 -vt 0.082432 0.520746 -vt 0.274107 0.565673 -vt 0.082432 0.544778 -vt 0.154969 0.676206 -vt 0.157843 0.676206 -vt 0.133357 0.644951 -vt 0.147801 0.638926 -vt 0.147801 0.644951 -vt 0.140007 0.644951 -vt 0.136231 0.620296 -vt 0.133357 0.620296 -vt 0.157388 0.644951 -vt 0.151942 0.644951 -vt 0.107088 0.632696 -vt 0.125673 0.619135 -vt 0.131119 0.619135 -vt 0.125673 0.625161 -vt 0.131119 0.643791 -vt 0.109962 0.643791 -vt 0.107088 0.643791 -vt 0.121532 0.619135 -vt 0.076295 0.671519 -vt 0.226472 0.688984 -vt 0.181848 0.639683 -vt 0.083847 0.530254 -vt 0.082432 0.530254 -vt 0.082432 0.522461 -vt 0.107088 0.522461 -vt 0.107088 0.530254 -vt 0.105673 0.530254 -vt 0.105673 0.534395 -vt 0.101218 0.534395 -vt 0.088302 0.530254 -vt 0.107088 0.534395 -vt 0.107088 0.539842 -vt 0.082432 0.539842 -vt 0.082432 0.534395 -vt 0.083847 0.534395 -vt 0.271087 0.565673 -vt 0.101770 0.544778 -vt 0.133181 0.542226 -vt 0.132534 0.640066 -vt 0.279450 0.607848 -vt 0.255609 0.609307 -vt 0.092911 0.683571 -vt 0.277746 0.485497 -vt 0.770512 0.515326 -vt 0.722175 0.436111 -vt 0.830449 0.798216 -vt 0.690638 0.419256 -vt 0.723122 0.533728 -vt 0.764126 0.552438 -vt 0.820258 0.505113 -vt 0.759944 0.561821 -vt 0.817341 0.419256 -s 0 -f 194/430/95 195/431/95 196/432/95 -f 197/433/96 194/434/96 196/435/96 -f 197/436/97 198/437/97 199/438/97 -f 196/439/98 195/440/98 200/441/98 -f 199/442/99 198/443/99 201/444/99 -f 194/430/95 202/445/95 195/431/95 -f 197/433/96 199/446/96 194/434/96 -f 197/436/97 203/447/97 198/437/97 -f 200/441/98 203/448/98 197/442/98 -f 197/442/98 196/439/98 200/441/98 -f 201/444/99 202/449/99 194/439/99 -f 194/439/99 199/442/99 201/444/99 -s 1 -f 204/450/100 205/451/100 206/452/100 -f 207/453/96 208/454/96 209/455/96 -f 210/456/100 211/457/100 204/450/100 -f 212/458/95 213/459/95 214/460/95 -f 215/461/100 214/462/100 210/456/100 -f 216/463/98 217/464/98 218/465/98 -f 219/466/98 208/467/98 220/468/98 -f 221/469/99 222/470/99 223/471/99 -f 224/472/99 225/473/99 226/474/99 -f 227/475/95 228/431/95 217/476/95 -f 216/477/96 222/478/96 227/479/96 -f 229/480/101 204/481/101 211/482/101 -f 220/483/102 230/484/102 231/485/102 -f 221/486/100 224/487/100 209/488/100 -f 208/467/103 216/463/104 218/465/105 -f 224/472/106 223/471/107 225/473/108 -f 198/489/96 203/490/96 223/491/96 -f 195/492/96 202/493/96 230/494/96 -f 232/495/97 233/496/97 234/497/97 -f 230/494/96 234/498/96 235/499/96 -f 206/500/98 232/501/98 230/502/98 -f 235/502/99 233/503/99 204/504/99 -f 219/505/95 236/506/95 237/507/95 -f 238/508/96 219/509/96 237/510/96 -f 239/511/97 240/512/97 238/513/97 -f 238/514/98 236/515/98 239/516/98 -f 241/517/95 242/518/95 243/519/95 -f 244/520/96 243/509/96 226/521/96 -f 245/522/97 244/517/97 226/519/97 -f 241/523/99 246/524/99 247/525/99 -f 248/526/96 249/527/96 250/528/96 -f 251/529/97 252/530/97 249/531/97 -f 253/532/109 254/533/109 252/534/109 -f 255/535/95 250/536/95 254/537/95 -f 256/538/95 257/539/95 258/540/95 -f 259/541/95 260/542/95 261/543/95 -f 262/544/99 250/529/99 249/537/99 -f 263/545/98 248/546/98 261/547/98 -f 264/548/99 249/537/99 252/549/99 -f 265/550/98 251/535/98 263/545/98 -f 264/548/99 254/551/99 258/552/99 -f 265/550/98 255/553/98 253/554/98 -f 258/552/99 250/529/99 256/555/99 -f 259/556/98 248/546/98 255/553/98 -f 266/557/98 260/558/98 267/559/98 -f 265/560/109 267/561/109 259/562/109 -f 263/563/97 266/564/97 265/560/97 -f 261/565/96 268/566/96 263/567/96 -f 269/568/99 270/569/99 271/570/99 -f 258/571/109 269/572/109 264/573/109 -f 264/573/97 271/574/97 262/575/97 -f 262/576/96 270/577/96 256/578/96 -f 204/450/100 233/579/100 205/451/100 -f 209/455/96 224/580/96 213/581/96 -f 213/581/96 207/453/96 209/455/96 -f 204/450/100 206/452/100 210/456/100 -f 206/452/100 220/582/100 215/461/100 -f 210/456/100 206/452/100 215/461/100 -f 212/458/95 207/583/95 213/459/95 -f 215/461/100 212/584/100 214/462/100 -f 224/580/96 213/581/96 221/585/96 -f 213/581/96 228/586/96 221/585/96 -f 216/463/98 227/587/98 217/464/98 -f 240/588/98 272/589/98 273/590/98 -f 208/467/98 207/464/98 215/591/98 -f 207/464/98 212/592/98 215/591/98 -f 240/588/98 273/590/98 208/467/98 -f 231/593/98 274/594/98 219/466/98 -f 219/466/98 240/588/98 208/467/98 -f 215/591/98 220/468/98 208/467/98 -f 220/468/98 231/593/98 219/466/98 -f 221/469/99 228/595/99 222/470/99 -f 242/596/99 229/597/99 243/598/99 -f 229/597/99 211/599/99 243/598/99 -f 210/600/99 214/601/99 213/595/99 -f 225/473/99 245/602/99 226/474/99 -f 226/474/99 243/598/99 224/472/99 -f 243/598/99 211/599/99 224/472/99 -f 211/599/99 210/600/99 224/472/99 -f 210/600/99 213/595/99 224/472/99 -f 227/475/95 222/603/95 228/431/95 -f 216/477/96 223/491/96 222/478/96 -f 229/480/101 235/604/101 204/481/101 -f 220/483/102 206/605/102 230/484/102 -f 208/467/110 273/590/111 216/463/111 -f 224/472/106 221/469/112 223/471/107 -f 246/606/96 245/607/96 225/608/96 -f 225/608/96 223/491/96 203/490/96 -f 223/491/96 216/477/96 198/489/96 -f 216/477/96 273/609/96 198/489/96 -f 273/609/96 272/610/96 239/611/96 -f 239/611/96 236/612/96 201/613/96 -f 273/609/96 239/611/96 198/489/96 -f 200/614/96 246/606/96 203/490/96 -f 246/606/96 225/608/96 203/490/96 -f 239/611/96 201/613/96 198/489/96 -f 236/612/96 274/615/96 231/616/96 -f 231/616/96 230/494/96 202/493/96 -f 230/494/96 235/499/96 195/492/96 -f 235/499/96 229/617/96 195/492/96 -f 229/617/96 242/618/96 247/619/96 -f 247/619/96 246/606/96 200/614/96 -f 229/617/96 247/619/96 195/492/96 -f 201/613/96 236/612/96 202/493/96 -f 236/612/96 231/616/96 202/493/96 -f 247/619/96 200/614/96 195/492/96 -f 232/495/97 205/620/97 233/496/97 -f 230/494/96 232/621/96 234/498/96 -f 206/500/98 205/622/98 232/501/98 -f 235/502/99 234/501/99 233/503/99 -f 219/505/95 274/623/95 236/506/95 -f 238/508/96 240/521/96 219/509/96 -f 239/511/97 272/624/97 240/512/97 -f 238/514/98 237/511/98 236/515/98 -f 241/517/95 247/432/95 242/518/95 -f 244/520/96 241/625/96 243/509/96 -f 245/522/97 246/626/97 244/517/97 -f 241/523/99 244/627/99 246/524/99 -f 248/526/96 251/628/96 249/527/96 -f 251/529/97 253/629/97 252/530/97 -f 253/532/109 255/630/109 254/533/109 -f 255/535/95 248/631/95 250/536/95 -f 256/538/95 270/632/95 257/539/95 -f 259/541/95 267/574/95 260/542/95 -f 262/544/99 256/555/99 250/529/99 -f 263/545/98 251/535/98 248/546/98 -f 264/548/99 262/544/99 249/537/99 -f 265/550/98 253/554/98 251/535/98 -f 264/548/99 252/549/99 254/551/99 -f 265/550/98 259/556/98 255/553/98 -f 258/552/99 254/551/99 250/529/99 -f 259/556/98 261/547/98 248/546/98 -f 266/557/98 268/633/98 260/558/98 -f 265/560/109 266/564/109 267/561/109 -f 263/563/97 268/634/97 266/564/97 -f 261/565/96 260/635/96 268/566/96 -f 269/568/99 257/633/99 270/569/99 -f 258/571/109 257/542/109 269/572/109 -f 264/573/97 269/572/97 271/574/97 -f 262/576/96 271/636/96 270/577/96 -o Grip -v -0.033307 -0.011380 -0.474134 -v 0.033307 -0.011380 -0.632792 -v 0.033307 -0.011380 -0.474134 -v -0.033307 -0.016443 -0.474134 -v 0.033307 -0.016443 -0.632792 -v 0.033307 -0.016443 -0.474134 -v -0.033307 -0.011380 -0.632792 -v -0.033307 -0.016443 -0.632792 -v -0.026880 0.073120 -0.633548 -v 0.026880 0.126881 -0.633548 -v 0.026880 0.073120 -0.633548 -v -0.026880 0.126881 -0.633548 -v 0.026880 0.126881 -0.579787 -v -0.026880 0.126881 -0.579787 -v 0.026880 0.073120 -0.579787 -v -0.026880 0.073120 -0.579787 -v -0.020194 0.004606 -0.633728 -v 0.020194 0.052061 -0.633728 -v 0.020194 0.004606 -0.633728 -v -0.020194 0.052061 -0.633728 -v 0.020194 0.052061 -0.586274 -v -0.020194 0.052061 -0.586274 -v 0.020194 0.004606 -0.586274 -v -0.020194 0.004606 -0.586274 -v -0.002511 0.083278 -0.632597 -v 0.002510 0.083278 -0.634072 -v 0.002510 0.083278 -0.632597 -v 0.012559 0.087441 -0.632597 -v 0.016722 0.097490 -0.632597 -v 0.012559 0.112560 -0.632597 -v -0.016722 0.102511 -0.634072 -v -0.016722 0.097490 -0.632597 -v -0.016722 0.102511 -0.632597 -v 0.012559 0.112560 -0.634072 -v 0.016722 0.102511 -0.634072 -v 0.012559 0.087441 -0.634072 -v -0.002511 0.116722 -0.634072 -v 0.002510 0.116722 -0.632597 -v 0.002510 0.116722 -0.634072 -v 0.016722 0.102511 -0.632597 -v -0.012560 0.112560 -0.634072 -v -0.012560 0.112560 -0.632597 -v 0.016722 0.097490 -0.634072 -v -0.016722 0.097490 -0.634072 -v -0.012560 0.087441 -0.632597 -v -0.012560 0.087441 -0.634072 -v -0.002511 0.083278 -0.634072 -v -0.002511 0.116722 -0.632597 -v -0.047693 0.135679 -0.632792 -v 0.047693 0.135679 -0.407453 -v 0.047693 0.135679 -0.632792 -v -0.040849 0.056769 -0.369114 -v -0.044958 0.051103 -0.369114 -v -0.047693 -0.016443 -0.369114 -v 0.044958 0.068134 -0.632792 -v 0.040492 0.061975 -0.632792 -v -0.047693 -0.006900 -0.435033 -v -0.047693 -0.025985 -0.435033 -v 0.047693 0.068134 -0.632792 -v -0.047693 0.135679 -0.407453 -v -0.047693 0.068134 -0.632792 -v -0.047693 0.068134 -0.374636 -v -0.040492 0.061975 -0.371643 -v -0.040492 0.057261 -0.369353 -v 0.040492 0.057261 -0.369353 -v -0.044958 0.068134 -0.632792 -v -0.040492 0.061975 -0.632792 -v -0.044958 0.068134 -0.374636 -v -0.040492 0.057261 -0.632792 -v 0.044958 0.068134 -0.374636 -v 0.047693 0.068134 -0.374636 -v -0.044958 0.051103 -0.632792 -v -0.047693 0.051103 -0.369114 -v 0.044958 0.051103 -0.632792 -v 0.044958 0.051103 -0.369114 -v 0.040492 0.061975 -0.371643 -v 0.040492 0.057261 -0.632792 -v 0.047693 0.051103 -0.369114 -v 0.047693 -0.016443 -0.369114 -v 0.047693 -0.006900 -0.435033 -v -0.041661 -0.033109 -0.369114 -v 0.041661 -0.033109 -0.435033 -v 0.041661 -0.033109 -0.369114 -v 0.047693 0.051103 -0.632792 -v 0.041710 -0.016443 -0.435033 -v 0.047693 -0.025985 -0.435033 -v -0.041710 -0.016443 -0.435033 -v 0.041710 -0.016443 -0.632792 -v 0.047693 -0.006900 -0.632792 -v -0.047693 -0.006900 -0.632792 -v -0.041710 -0.016443 -0.632792 -v -0.047693 -0.023489 -0.369114 -v -0.041661 -0.033109 -0.435033 -v 0.040849 0.056769 -0.369114 -v -0.047693 0.051103 -0.632792 -v 0.047693 -0.023489 -0.369114 -vn -0.0000 -1.0000 -0.0000 -vn -0.0000 -0.0000 -1.0000 -vn -1.0000 -0.0000 -0.0000 -vn 1.0000 -0.0000 -0.0000 -vn -0.0000 1.0000 -0.0000 -vn -0.0000 -0.0000 1.0000 -vn 0.9239 0.3827 -0.0000 -vn 0.3827 0.9239 -0.0000 -vn -0.9239 0.3827 -0.0000 -vn -0.3827 0.9239 -0.0000 -vn 0.9239 -0.3827 -0.0000 -vn 0.3827 -0.9239 -0.0000 -vn -0.9239 -0.3827 -0.0000 -vn -0.3827 -0.9239 -0.0000 -vn -0.0000 0.1390 0.9903 -vn -0.0000 0.4370 0.8995 -vn -0.0000 0.4370 0.8994 -vn -0.0000 0.4371 0.8994 -vn -0.8096 -0.5870 -0.0000 -vn -0.8096 0.5870 -0.0000 -vn -0.8096 0.5870 0.0001 -vn 0.8096 0.5870 -0.0000 -vn 0.8096 -0.5870 -0.0000 -vn 0.8472 -0.5312 -0.0000 -vn -0.8472 -0.5312 -0.0000 -vn -0.8403 -0.5419 0.0183 -vn -0.7729 -0.6345 0.0022 -vn -0.7632 -0.6462 -0.0000 -vn 0.7729 -0.6345 0.0022 -vn 0.8403 -0.5419 0.0183 -vn 0.7632 -0.6462 -0.0000 -vn -0.0000 0.1391 0.9903 -vn 0.8096 0.5870 0.0001 -vn -0.8471 -0.5311 0.0201 -vn 0.8471 -0.5311 0.0201 -vt 0.497093 0.546556 -vt 0.489787 0.555589 -vt 0.489787 0.546505 -vt 0.558621 0.611549 -vt 0.559091 0.621426 -vt 0.558621 0.621426 -vt 0.489470 0.555592 -vt 0.489470 0.546508 -vt 0.469847 0.629818 -vt 0.469377 0.638902 -vt 0.469377 0.629818 -vt 0.840276 0.397745 -vt 0.812280 0.369750 -vt 0.840276 0.369750 -vt 0.672301 0.547852 -vt 0.644305 0.519856 -vt 0.672301 0.519856 -vt 0.758120 0.546311 -vt 0.730125 0.518315 -vt 0.758120 0.518315 -vt 0.728292 0.544994 -vt 0.700297 0.516998 -vt 0.728292 0.516998 -vt 0.786116 0.512334 -vt 0.758120 0.540329 -vt 0.758120 0.512334 -vt 0.814112 0.512322 -vt 0.786116 0.540318 -vt 0.786116 0.512322 -vt 0.903571 0.559623 -vt 0.865925 0.521977 -vt 0.903571 0.521977 -vt 0.903571 0.521927 -vt 0.865925 0.484281 -vt 0.903571 0.484281 -vt 0.941217 0.559573 -vt 0.941217 0.521927 -vt 0.901107 0.443199 -vt 0.863461 0.405553 -vt 0.901107 0.405553 -vt 0.901107 0.367907 -vt 0.863461 0.367907 -vt 0.712878 0.532108 -vt 0.675232 0.569754 -vt 0.675232 0.532108 -vt 0.894503 0.935849 -vt 0.896659 0.921485 -vt 0.896659 0.935849 -vt 0.962007 0.841270 -vt 0.962007 0.836599 -vt 0.966136 0.831303 -vt 0.911963 0.936525 -vt 0.909807 0.922161 -vt 0.911963 0.922161 -vt 0.962007 0.827174 -vt 0.962007 0.822503 -vt 0.966136 0.817207 -vt 0.924171 0.933456 -vt 0.926328 0.919092 -vt 0.926328 0.933456 -vt 0.867931 0.923275 -vt 0.872247 0.937640 -vt 0.867931 0.937640 -vt 0.930644 0.933456 -vt 0.930644 0.919092 -vt 0.916280 0.936525 -vt 0.919855 0.919092 -vt 0.919855 0.933456 -vt 0.865775 0.937640 -vt 0.861459 0.923275 -vt 0.865775 0.923275 -vt 0.900975 0.935849 -vt 0.900975 0.921485 -vt 0.909807 0.936525 -vt 0.905491 0.922161 -vt 0.890187 0.921485 -vt 0.890187 0.935849 -vt 0.497093 0.555641 -vt 0.559091 0.611549 -vt 0.469847 0.638902 -vt 0.812280 0.397745 -vt 0.644305 0.547852 -vt 0.730125 0.546311 -vt 0.700297 0.544994 -vt 0.786116 0.540329 -vt 0.814112 0.540318 -vt 0.865925 0.559623 -vt 0.865925 0.521927 -vt 0.903571 0.559573 -vt 0.863461 0.443199 -vt 0.712878 0.569754 -vt 0.894503 0.921485 -vt 0.962833 0.834606 -vt 0.970808 0.831303 -vt 0.965311 0.844574 -vt 0.972800 0.832128 -vt 0.976103 0.835432 -vt 0.971975 0.845399 -vt 0.976103 0.840103 -vt 0.975278 0.842096 -vt 0.967303 0.845399 -vt 0.962833 0.820510 -vt 0.970808 0.817207 -vt 0.965311 0.830478 -vt 0.972800 0.818032 -vt 0.976103 0.821336 -vt 0.971975 0.831303 -vt 0.976103 0.826007 -vt 0.975278 0.828000 -vt 0.967303 0.831303 -vt 0.924171 0.919092 -vt 0.872247 0.923275 -vt 0.916280 0.922161 -vt 0.861459 0.937640 -vt 0.905491 0.936525 -vt 0.572622 0.567859 -vt 0.583320 0.554957 -vt 0.583320 0.567859 -vt 0.488526 0.563967 -vt 0.487917 0.563443 -vt 0.487511 0.557192 -vt 0.479648 0.573331 -vt 0.480220 0.573993 -vt 0.473368 0.572925 -vt 0.498951 0.544326 -vt 0.497757 0.544336 -vt 0.498354 0.540557 -vt 0.480222 0.617553 -vt 0.486502 0.630456 -vt 0.480222 0.630456 -vt 0.530689 0.627844 -vt 0.526463 0.640782 -vt 0.526463 0.626001 -vt 0.488579 0.564463 -vt 0.488579 0.564014 -vt 0.500587 0.564014 -vt 0.526163 0.640780 -vt 0.525288 0.640780 -vt 0.526163 0.625999 -vt 0.591673 0.554640 -vt 0.590868 0.554640 -vt 0.590798 0.554627 -vt 0.524993 0.640782 -vt 0.525288 0.625827 -vt 0.592139 0.596801 -vt 0.591839 0.611580 -vt 0.591839 0.596799 -vt 0.591673 0.539543 -vt 0.591980 0.554640 -vt 0.590256 0.596799 -vt 0.590828 0.611883 -vt 0.590256 0.611897 -vt 0.591267 0.596799 -vt 0.591267 0.611752 -vt 0.590828 0.596799 -vt 0.584740 0.640183 -vt 0.578460 0.640183 -vt 0.579347 0.636409 -vt 0.496650 0.540561 -vt 0.487511 0.544271 -vt 0.487511 0.540497 -vt 0.502261 0.608318 -vt 0.502568 0.593221 -vt 0.502568 0.608318 -vt 0.496363 0.628942 -vt 0.495475 0.628055 -vt 0.497250 0.628055 -vt 0.495475 0.642198 -vt 0.496363 0.641311 -vt 0.497250 0.642198 -vt 0.578460 0.625086 -vt 0.579347 0.625086 -vt 0.497698 0.544327 -vt 0.498951 0.555649 -vt 0.497698 0.555650 -vt 0.488549 0.544262 -vt 0.487511 0.556540 -vt 0.488406 0.555650 -vt 0.496650 0.544336 -vt 0.577573 0.636409 -vt 0.576911 0.640183 -vt 0.576911 0.636409 -vt 0.497912 0.628949 -vt 0.497912 0.641304 -vt 0.572622 0.554957 -vt 0.487511 0.563443 -vt 0.501655 0.557192 -vt 0.500640 0.563967 -vt 0.501655 0.563443 -vt 0.501249 0.563443 -vt 0.487511 0.584936 -vt 0.487511 0.586181 -vt 0.487041 0.584936 -vt 0.486624 0.587069 -vt 0.481231 0.587069 -vt 0.481231 0.586663 -vt 0.480659 0.586001 -vt 0.487511 0.573812 -vt 0.487511 0.575058 -vt 0.487041 0.575058 -vt 0.486624 0.572925 -vt 0.481231 0.573331 -vt 0.481231 0.572925 -vt 0.480659 0.573993 -vt 0.480220 0.586001 -vt 0.479648 0.586663 -vt 0.479648 0.587069 -vt 0.473368 0.587069 -vt 0.479648 0.572925 -vt 0.497913 0.540561 -vt 0.502580 0.540521 -vt 0.502580 0.555618 -vt 0.486502 0.615674 -vt 0.530689 0.640746 -vt 0.501655 0.565049 -vt 0.501655 0.571481 -vt 0.501249 0.565049 -vt 0.487511 0.571481 -vt 0.500587 0.564463 -vt 0.487511 0.565049 -vt 0.487917 0.565049 -vt 0.590798 0.539543 -vt 0.524993 0.625699 -vt 0.592139 0.611582 -vt 0.591980 0.539543 -vt 0.590783 0.611897 -vt 0.584740 0.625086 -vt 0.577805 0.640183 -vt 0.502261 0.593221 -vt 0.578460 0.636409 -vt 0.488549 0.555585 -vt 0.496776 0.546559 -vt 0.496776 0.555643 -vt 0.500760 0.555650 -vt 0.501655 0.556540 -s 0 -f 275/637/113 276/638/113 277/639/113 -f 277/640/114 278/641/114 275/642/114 -f 277/639/115 279/643/115 280/644/115 -f 281/645/116 278/646/116 282/647/116 -f 283/648/114 284/649/114 285/650/114 -f 286/651/117 287/652/117 284/653/117 -f 288/654/118 289/655/118 287/656/118 -f 290/657/113 285/658/113 289/659/113 -f 287/660/116 285/661/116 284/662/116 -f 286/663/115 290/664/115 288/665/115 -f 291/666/114 292/667/114 293/668/114 -f 294/669/117 295/670/117 292/671/117 -f 296/672/118 297/669/118 295/673/118 -f 298/674/113 293/675/113 297/676/113 -f 295/677/116 293/675/116 292/678/116 -f 294/679/115 298/680/115 296/681/115 -f 299/682/113 300/683/113 301/684/113 -f 302/685/118 303/686/118 304/687/118 -f 305/688/115 306/689/115 307/690/115 -f 308/691/114 309/692/114 310/693/114 -f 311/694/117 312/695/117 313/696/117 -f 309/697/119 304/698/119 314/699/119 -f 308/700/120 312/695/120 304/701/120 -f 307/690/121 315/702/121 305/688/121 -f 316/703/122 311/694/122 315/704/122 -f 303/705/123 310/706/123 317/707/123 -f 302/708/124 300/683/124 310/709/124 -f 318/710/125 319/711/125 306/689/125 -f 320/712/126 299/682/126 319/713/126 -f 314/699/116 317/707/116 309/697/116 -f 275/637/113 281/714/113 276/638/113 -f 277/640/114 280/715/114 278/641/114 -f 277/639/115 276/638/115 279/643/115 -f 281/645/116 275/716/116 278/646/116 -f 283/648/114 286/717/114 284/649/114 -f 286/651/117 288/718/117 287/652/117 -f 288/654/118 290/719/118 289/655/118 -f 290/657/113 283/720/113 285/658/113 -f 287/660/116 289/721/116 285/661/116 -f 286/663/115 283/722/115 290/664/115 -f 291/666/114 294/723/114 292/667/114 -f 294/669/117 296/724/117 295/670/117 -f 296/672/118 298/725/118 297/669/118 -f 298/674/113 291/726/113 293/675/113 -f 295/677/116 297/676/116 293/675/116 -f 294/679/115 291/727/115 298/680/115 -f 299/682/113 321/728/113 300/683/113 -f 303/686/118 314/729/118 304/687/118 -f 304/687/118 312/730/118 301/731/118 -f 312/730/118 322/732/118 301/731/118 -f 322/732/118 316/733/118 319/734/118 -f 316/733/118 307/735/118 319/734/118 -f 307/735/118 306/736/118 319/734/118 -f 319/734/118 299/737/118 322/732/118 -f 299/737/118 301/731/118 322/732/118 -f 301/731/118 302/685/118 304/687/118 -f 305/688/115 318/710/115 306/689/115 -f 309/692/114 317/738/114 310/693/114 -f 310/693/114 300/739/114 313/740/114 -f 300/739/114 321/741/114 313/740/114 -f 321/741/114 320/742/114 315/743/114 -f 320/742/114 318/744/114 315/743/114 -f 318/744/114 305/745/114 315/743/114 -f 315/743/114 311/746/114 321/741/114 -f 311/746/114 313/740/114 321/741/114 -f 313/740/114 308/691/114 310/693/114 -f 311/694/117 322/747/117 312/695/117 -f 309/697/119 308/748/119 304/698/119 -f 308/700/120 313/696/120 312/695/120 -f 307/690/121 316/749/121 315/702/121 -f 316/703/122 322/747/122 311/694/122 -f 303/705/123 302/750/123 310/706/123 -f 302/708/124 301/684/124 300/683/124 -f 318/710/125 320/751/125 319/711/125 -f 320/712/126 321/728/126 299/682/126 -f 314/699/116 303/705/116 317/707/116 -s 1 -f 323/752/117 324/753/117 325/754/117 -f 326/755/127 327/756/118 328/757/118 -f 329/758/114 330/759/114 325/760/114 -f 331/761/115 332/762/115 328/763/115 -f 324/764/116 333/765/116 325/766/116 -f 334/767/115 335/768/115 336/769/115 -f 337/770/128 338/771/129 339/772/130 -f 340/773/113 336/769/113 335/768/113 -f 341/774/131 342/775/131 340/773/131 -f 327/776/132 326/777/133 338/778/132 -f 343/779/115 337/780/115 341/774/115 -f 344/781/113 333/782/113 345/783/113 -f 346/784/117 347/785/117 327/776/117 -f 348/786/134 339/787/134 349/788/134 -f 330/789/135 344/782/135 350/790/135 -f 351/791/116 350/790/116 339/787/116 -f 352/792/116 353/793/116 354/794/116 -f 355/795/113 356/796/113 357/797/113 -f 348/798/117 352/799/117 358/800/117 -f 359/801/114 354/802/114 360/803/114 -f 331/804/114 361/805/114 332/806/114 -f 354/794/136 362/807/136 363/808/136 -f 361/809/137 364/810/137 365/811/137 -f 359/812/113 361/809/113 280/644/113 -f 328/757/118 366/813/118 355/814/118 -f 355/795/138 332/762/139 367/815/140 -f 360/816/141 357/817/142 356/818/143 -f 356/819/114 367/820/114 359/801/114 -f 323/752/117 334/821/117 324/753/117 -f 327/756/118 347/822/118 328/757/118 -f 328/757/118 353/823/118 368/824/144 -f 353/823/118 352/825/118 349/826/118 -f 349/826/118 368/824/144 353/823/118 -f 368/824/144 326/755/127 328/757/118 -f 282/827/114 365/828/114 281/829/114 -f 365/828/114 364/830/114 281/829/114 -f 364/830/114 369/831/114 346/832/114 -f 364/830/114 346/832/114 281/829/114 -f 346/832/114 343/833/114 281/829/114 -f 362/834/114 279/835/114 276/836/114 -f 276/836/114 281/829/114 343/833/114 -f 363/837/114 362/834/114 276/836/114 -f 348/838/114 358/839/114 363/837/114 -f 351/840/114 348/838/114 276/836/114 -f 348/838/114 363/837/114 276/836/114 -f 276/836/114 343/833/114 351/840/114 -f 343/833/114 341/841/114 351/840/114 -f 340/842/114 335/843/114 323/844/114 -f 351/840/114 341/841/114 330/759/114 -f 341/841/114 340/842/114 323/844/114 -f 330/759/114 341/841/114 323/844/114 -f 323/844/114 325/760/114 330/759/114 -f 325/760/114 333/845/114 329/758/114 -f 332/762/115 366/846/115 328/763/115 -f 328/763/115 347/847/115 331/761/115 -f 347/847/115 369/848/115 331/761/115 -f 369/848/115 364/810/115 331/761/115 -f 324/764/116 345/849/116 333/765/116 -f 334/767/115 323/850/115 335/768/115 -f 345/851/128 324/852/128 344/853/128 -f 324/852/128 334/854/128 350/855/128 -f 344/853/128 324/852/128 350/855/128 -f 334/854/128 336/856/128 342/857/128 -f 334/854/128 342/857/128 337/770/128 -f 350/855/128 334/854/128 337/770/128 -f 326/755/127 368/824/144 339/772/130 -f 339/772/130 350/855/128 337/770/128 -f 338/771/129 326/755/127 339/772/130 -f 340/773/113 342/775/113 336/769/113 -f 341/774/131 337/780/131 342/775/131 -f 343/858/132 346/784/132 338/778/132 -f 346/784/132 327/776/132 338/778/132 -f 343/779/115 338/859/115 337/780/115 -f 344/781/113 329/860/113 333/782/113 -f 346/784/117 369/861/117 347/785/117 -f 351/791/134 339/787/134 348/786/134 -f 339/787/134 368/862/145 349/788/134 -f 330/789/135 329/783/135 344/782/135 -f 351/791/116 330/789/116 350/790/116 -f 363/808/116 358/863/116 354/794/116 -f 358/863/116 352/792/116 354/794/116 -f 353/793/116 370/864/116 360/816/116 -f 353/793/116 360/816/116 354/794/116 -f 355/795/113 367/815/113 356/796/113 -f 348/798/117 349/865/117 352/799/117 -f 354/794/136 359/866/136 362/807/136 -f 361/809/137 331/761/137 364/810/137 -f 280/644/113 279/643/113 362/867/113 -f 361/809/113 365/811/113 278/868/113 -f 365/811/113 282/869/113 278/868/113 -f 280/644/113 362/867/113 359/812/113 -f 361/809/113 278/868/113 280/644/113 -f 355/814/118 357/870/118 353/823/118 -f 357/870/118 370/871/118 353/823/118 -f 353/823/118 328/757/118 355/814/118 -f 355/795/138 366/846/146 332/762/139 -f 360/816/141 370/864/147 357/817/142 -f 332/806/114 361/805/114 367/820/114 -f 361/805/114 359/801/114 367/820/114 -f 359/801/114 360/803/114 356/819/114 -o Trigger -v -0.014593 0.047591 -0.195822 -v 0.014593 0.085742 -0.195822 -v 0.014593 0.047591 -0.195822 -v -0.014593 0.085742 -0.195822 -v 0.014593 0.123894 -0.205822 -v 0.019590 0.044652 -0.185835 -v 0.019590 0.088443 -0.185835 -v 0.019590 0.009440 -0.127512 -v -0.019590 0.123894 -0.195127 -v -0.019590 0.123894 -0.127512 -v 0.019590 0.123894 -0.127512 -v -0.019590 0.088443 -0.185835 -v -0.019590 0.044652 -0.185835 -v -0.019590 0.009440 -0.127512 -v -0.014593 0.012773 -0.205822 -v 0.014593 0.012773 -0.205822 -v 0.019590 0.012318 -0.195121 -v 0.019590 0.123894 -0.195127 -v -0.019590 0.012318 -0.195121 -v -0.014593 0.123894 -0.205822 -vn -0.0000 0.1394 -0.9902 -vn -0.0000 -0.1278 -0.9918 -vn -0.0000 -0.2536 -0.9673 -vn 0.9788 0.0306 -0.2023 -vn 0.9783 -0.0283 -0.2051 -vn 1.0000 -0.0000 -0.0000 -vn -0.0000 1.0000 -0.0000 -vn -0.9783 -0.0283 -0.2051 -vn -0.9788 0.0306 -0.2023 -vn -1.0000 -0.0000 -0.0000 -vn -0.0000 -0.0000 1.0000 -vn -0.0000 -0.9991 -0.0425 -vn 0.9672 0.0701 -0.2440 -vn 0.8994 0.0552 -0.4337 -vn -0.9662 -0.0654 -0.2494 -vn -0.8986 -0.0512 -0.4357 -vn 0.9662 -0.0654 -0.2494 -vn 0.8986 -0.0512 -0.4357 -vn 0.9005 -0.1103 -0.4207 -vn -0.9672 0.0701 -0.2440 -vn -0.8994 0.0552 -0.4337 -vn -0.9015 0.1195 -0.4159 -vn -0.0000 0.2760 -0.9611 -vn 0.9015 0.1195 -0.4159 -vn -0.9005 -0.1103 -0.4207 -vt 0.390067 0.372535 -vt 0.406128 0.365349 -vt 0.406128 0.372535 -vt 0.390067 0.365349 -vt 0.406128 0.358191 -vt 0.790352 0.332178 -vt 0.790352 0.323929 -vt 0.806409 0.338811 -vt 0.698608 0.414236 -vt 0.698608 0.432852 -vt 0.677048 0.432852 -vt 0.770203 0.441932 -vt 0.770203 0.433683 -vt 0.786260 0.427050 -vt 0.743140 0.410105 -vt 0.721579 0.388545 -vt 0.743140 0.388545 -vt 0.745889 0.383929 -vt 0.761950 0.383929 -vt 0.764700 0.386876 -vt 0.350295 0.400769 -vt 0.350102 0.394125 -vt 0.352852 0.394678 -vt 0.330144 0.511110 -vt 0.329953 0.503923 -vt 0.332703 0.504432 -vt 0.350294 0.379751 -vt 0.350102 0.386938 -vt 0.347349 0.379751 -vt 0.352852 0.386429 -vt 0.330146 0.490092 -vt 0.329953 0.496736 -vt 0.327200 0.490178 -vt 0.332703 0.496183 -vt 0.390067 0.379122 -vt 0.406128 0.379122 -vt 0.390067 0.358191 -vt 0.787794 0.317251 -vt 0.806409 0.317251 -vt 0.787795 0.338269 -vt 0.677048 0.414236 -vt 0.679797 0.411291 -vt 0.695858 0.411291 -vt 0.786260 0.448610 -vt 0.767644 0.448610 -vt 0.767646 0.427592 -vt 0.721579 0.410105 -vt 0.764700 0.405498 -vt 0.743140 0.405498 -vt 0.743140 0.386876 -vt 0.347349 0.400683 -vt 0.327200 0.511110 -s 1 -f 371/872/148 372/873/149 373/874/148 -f 374/875/149 375/876/150 372/873/149 -f 376/877/151 377/878/152 378/879/153 -f 379/880/154 380/881/154 381/882/154 -f 382/883/155 383/884/156 384/885/157 -f 380/886/158 378/887/158 381/888/158 -f 385/889/159 386/890/159 387/891/159 -f 387/892/160 373/893/161 376/894/151 -f 379/895/162 374/896/163 382/897/155 -f 388/898/164 372/899/165 375/900/166 -f 377/901/152 373/893/161 372/899/165 -f 389/902/167 371/903/168 385/904/169 -f 382/897/155 371/903/168 383/905/156 -f 385/906/170 373/874/148 386/907/170 -f 371/872/148 374/875/149 372/873/149 -f 374/875/149 390/908/150 375/876/150 -f 377/878/152 388/909/164 381/910/153 -f 381/910/153 378/879/153 377/878/152 -f 378/879/153 387/911/160 376/877/151 -f 381/882/154 388/912/154 379/880/154 -f 388/912/154 375/913/154 379/880/154 -f 375/913/154 390/914/154 379/880/154 -f 384/885/157 380/915/157 382/883/155 -f 380/915/157 379/916/162 382/883/155 -f 383/884/156 389/917/167 384/885/157 -f 380/886/158 384/918/158 378/887/158 -f 387/891/159 378/919/159 384/920/159 -f 384/920/159 389/921/159 387/891/159 -f 389/921/159 385/889/159 387/891/159 -f 387/892/160 386/922/171 373/893/161 -f 379/895/162 390/923/172 374/896/163 -f 388/898/164 377/901/152 372/899/165 -f 377/901/152 376/894/151 373/893/161 -f 389/902/167 383/905/156 371/903/168 -f 382/897/155 374/896/163 371/903/168 -f 385/906/170 371/872/148 373/874/148 -o Barrel -v -0.002425 0.189787 -0.367055 -v 0.002425 0.189787 -0.633548 -v 0.002425 0.189787 -0.367055 -v -0.002425 0.243547 -0.367055 -v -0.001862 0.237302 -0.367055 -v 0.001862 0.237302 -0.367055 -v 0.001862 0.196033 -0.367055 -v -0.001862 0.196033 -0.367055 -v -0.026880 0.219092 -0.633548 -v -0.026880 0.214242 -0.367055 -v -0.026880 0.219092 -0.367055 -v 0.002425 0.243547 -0.633548 -v 0.001862 0.237302 -0.633548 -v -0.001862 0.237302 -0.633548 -v -0.002425 0.189787 -0.633548 -v -0.001862 0.196033 -0.633548 -v 0.001862 0.196033 -0.633548 -v -0.002425 0.243547 -0.633548 -v 0.002425 0.243547 -0.367055 -v 0.026880 0.219092 -0.633548 -v 0.019718 0.236385 -0.367055 -v 0.026880 0.219092 -0.367055 -v 0.019718 0.236385 -0.633548 -v -0.019718 0.236385 -0.633548 -v -0.019718 0.236385 -0.367055 -v 0.026880 0.214242 -0.367055 -v 0.019718 0.196949 -0.633548 -v 0.026880 0.214242 -0.633548 -v 0.019718 0.196949 -0.367055 -v -0.026880 0.214242 -0.633548 -v -0.019718 0.196949 -0.367055 -v -0.019718 0.196949 -0.633548 -v -0.020635 0.218529 -0.367055 -v -0.020635 0.214805 -0.633548 -v -0.020635 0.218529 -0.633548 -v 0.015136 0.231803 -0.633548 -v 0.020635 0.218529 -0.367055 -v 0.015136 0.231803 -0.367055 -v -0.015136 0.231803 -0.367055 -v -0.015136 0.231803 -0.633548 -v 0.020635 0.214805 -0.367055 -v 0.015136 0.201531 -0.633548 -v 0.015136 0.201531 -0.367055 -v -0.015136 0.201531 -0.633548 -v -0.020635 0.214805 -0.367055 -v -0.015136 0.201531 -0.367055 -v 0.020635 0.218529 -0.633548 -v 0.020635 0.214805 -0.633548 -vn -0.1951 -0.9808 -0.0000 -vn 0.1951 -0.9808 -0.0000 -vn -0.0000 -0.0000 1.0000 -vn -0.9808 0.1951 -0.0000 -vn -0.9808 -0.1951 -0.0000 -vn -0.0000 -0.0000 -1.0000 -vn -0.1951 0.9808 -0.0000 -vn 0.1951 0.9808 -0.0000 -vn 0.9808 0.1951 -0.0000 -vn 0.7071 0.7071 -0.0000 -vn -0.7071 0.7071 -0.0000 -vn 0.9808 -0.1951 -0.0000 -vn 0.7071 -0.7071 -0.0000 -vn -0.7071 -0.7071 -0.0000 -vt 0.588344 0.422031 -vt 0.590616 0.396347 -vt 0.590616 0.422031 -vt 0.816190 0.537904 -vt 0.810508 0.548747 -vt 0.803793 0.545966 -vt 0.767283 0.631233 -vt 0.772965 0.620390 -vt 0.779680 0.623172 -vt 0.404454 0.586481 -vt 0.402136 0.560797 -vt 0.404454 0.560797 -vt 0.556937 0.482545 -vt 0.559591 0.483935 -vt 0.558910 0.485579 -vt 0.579779 0.494514 -vt 0.577125 0.493124 -vt 0.577806 0.491480 -vt 0.587488 0.577888 -vt 0.589806 0.552204 -vt 0.589806 0.577888 -vt 0.589806 0.526521 -vt 0.598067 0.552204 -vt 0.598067 0.577888 -vt 0.412715 0.586481 -vt 0.579227 0.552204 -vt 0.579227 0.577888 -vt 0.587488 0.552204 -vt 0.579227 0.526521 -vt 0.587488 0.526521 -vt 0.598051 0.422031 -vt 0.598051 0.396347 -vt 0.402136 0.586481 -vt 0.393875 0.560797 -vt 0.579574 0.396347 -vt 0.579574 0.422031 -vt 0.560711 0.557920 -vt 0.560053 0.548419 -vt 0.560711 0.548419 -vt 0.497042 0.578916 -vt 0.496384 0.569415 -vt 0.497042 0.569415 -vt 0.506272 0.569862 -vt 0.506918 0.579363 -vt 0.506272 0.579363 -vt 0.563051 0.509766 -vt 0.560705 0.500265 -vt 0.563051 0.500265 -vt 0.509408 0.569862 -vt 0.509408 0.579363 -vt 0.499388 0.578916 -vt 0.504161 0.569862 -vt 0.560047 0.500265 -vt 0.557701 0.509766 -vt 0.557701 0.500265 -vt 0.563057 0.557920 -vt 0.494038 0.569415 -vt 0.496384 0.578916 -vt 0.494038 0.578916 -vt 0.557707 0.548419 -vt 0.560053 0.557920 -vt 0.557707 0.557920 -vt 0.560705 0.509766 -vt 0.588344 0.396347 -vt 0.755915 0.565797 -vt 0.745072 0.560115 -vt 0.775747 0.545966 -vt 0.770907 0.534281 -vt 0.807442 0.534281 -vt 0.842024 0.563739 -vt 0.842024 0.600274 -vt 0.830339 0.568579 -vt 0.830339 0.596625 -vt 0.827558 0.603340 -vt 0.838401 0.609022 -vt 0.812566 0.634856 -vt 0.807726 0.623172 -vt 0.776031 0.634856 -vt 0.741449 0.605398 -vt 0.741449 0.568863 -vt 0.753133 0.600559 -vt 0.753133 0.572512 -vt 0.558910 0.492443 -vt 0.563764 0.497297 -vt 0.562373 0.499950 -vt 0.556050 0.493627 -vt 0.556050 0.484686 -vt 0.563260 0.476222 -vt 0.572202 0.476222 -vt 0.564445 0.479082 -vt 0.571309 0.479082 -vt 0.572952 0.479762 -vt 0.574343 0.477109 -vt 0.580666 0.483431 -vt 0.577806 0.484616 -vt 0.580666 0.492373 -vt 0.573456 0.500837 -vt 0.564514 0.500837 -vt 0.572271 0.497977 -vt 0.565407 0.497977 -vt 0.598067 0.526521 -vt 0.412715 0.560797 -vt 0.393875 0.586481 -vt 0.506918 0.569862 -vt 0.499388 0.569415 -vt 0.504161 0.579363 -vt 0.560047 0.509766 -vt 0.563057 0.548419 -s 1 -f 391/924/173 392/925/174 393/926/174 -f 394/927/175 395/928/175 396/929/175 -f 393/930/175 397/931/175 398/932/175 -f 399/933/176 400/934/177 401/935/176 -f 402/936/178 403/937/178 404/938/178 -f 405/939/178 406/940/178 407/941/178 -f 408/942/179 409/943/180 402/944/180 -f 410/945/181 411/946/182 412/943/181 -f 413/947/182 409/943/180 411/946/182 -f 401/935/176 414/948/183 399/933/176 -f 415/949/183 408/942/179 414/950/183 -f 416/951/184 417/952/185 418/953/184 -f 419/954/185 392/925/174 417/955/185 -f 420/956/177 421/957/186 400/934/177 -f 422/958/186 391/924/173 421/959/186 -f 412/943/181 418/953/184 410/945/181 -f 407/960/179 398/961/180 397/962/179 -f 423/963/184 424/964/181 425/965/184 -f 404/966/174 396/967/173 395/968/174 -f 426/969/186 427/970/177 428/971/186 -f 396/967/173 426/972/186 428/973/186 -f 425/965/184 429/974/185 423/963/184 -f 395/968/174 430/975/185 404/966/174 -f 431/976/176 432/977/183 433/978/183 -f 397/962/179 432/979/183 407/960/179 -f 434/980/182 435/981/181 436/982/182 -f 436/983/182 406/984/180 434/985/182 -f 437/986/177 431/976/176 427/970/177 -f 391/924/173 405/987/173 392/925/174 -f 427/988/175 412/989/175 428/990/175 -f 412/989/175 411/991/175 428/990/175 -f 411/991/175 409/992/175 428/990/175 -f 409/992/175 394/927/175 396/929/175 -f 415/993/175 401/994/175 429/995/175 -f 401/994/175 423/996/175 429/995/175 -f 396/929/175 428/990/175 409/992/175 -f 394/927/175 415/993/175 429/995/175 -f 394/927/175 429/995/175 395/928/175 -f 435/997/175 423/996/175 401/994/175 -f 401/994/175 400/998/175 435/997/175 -f 400/998/175 421/999/175 436/1000/175 -f 435/997/175 400/998/175 436/1000/175 -f 421/999/175 391/1001/175 436/1000/175 -f 391/1001/175 393/930/175 398/932/175 -f 436/1000/175 391/1001/175 398/932/175 -f 419/1002/175 416/1003/175 433/1004/175 -f 416/1003/175 412/989/175 431/1005/175 -f 433/1004/175 416/1003/175 431/1005/175 -f 412/989/175 427/988/175 431/1005/175 -f 419/1002/175 433/1004/175 393/930/175 -f 433/1004/175 397/931/175 393/930/175 -f 399/933/176 420/956/177 400/934/177 -f 430/1006/178 425/1007/178 399/1008/178 -f 414/1009/178 408/1010/178 430/1006/178 -f 408/1010/178 402/936/178 404/938/178 -f 413/1011/178 410/1012/178 426/1013/178 -f 410/1012/178 437/1014/178 426/1013/178 -f 430/1006/178 399/1008/178 414/1009/178 -f 404/938/178 430/1006/178 408/1010/178 -f 402/936/178 413/1011/178 426/1013/178 -f 402/936/178 426/1013/178 403/937/178 -f 438/1015/178 437/1014/178 410/1012/178 -f 410/1012/178 418/1016/178 438/1015/178 -f 418/1016/178 417/1017/178 432/1018/178 -f 438/1015/178 418/1016/178 432/1018/178 -f 417/1017/178 392/1019/178 432/1018/178 -f 392/1019/178 405/939/178 407/941/178 -f 432/1018/178 392/1019/178 407/941/178 -f 422/1020/178 420/1021/178 434/1022/178 -f 420/1021/178 399/1008/178 424/1023/178 -f 434/1022/178 420/1021/178 424/1023/178 -f 399/1008/178 425/1007/178 424/1023/178 -f 422/1020/178 434/1022/178 405/939/178 -f 434/1022/178 406/940/178 405/939/178 -f 408/942/179 394/951/179 409/943/180 -f 410/945/181 413/1024/182 411/946/182 -f 413/947/182 402/944/180 409/943/180 -f 401/935/176 415/1025/183 414/948/183 -f 415/949/183 394/951/179 408/942/179 -f 416/951/184 419/949/185 417/952/185 -f 419/954/185 393/926/174 392/925/174 -f 420/956/177 422/1026/186 421/957/186 -f 422/958/186 405/987/173 391/924/173 -f 412/943/181 416/951/184 418/953/184 -f 407/960/179 406/984/180 398/961/180 -f 423/963/184 435/981/181 424/964/181 -f 404/966/174 403/1027/173 396/967/173 -f 426/969/186 437/986/177 427/970/177 -f 396/967/173 403/1027/173 426/972/186 -f 425/965/184 430/1028/185 429/974/185 -f 395/968/174 429/1029/185 430/975/185 -f 431/976/176 438/1030/176 432/977/183 -f 397/962/179 433/1031/183 432/979/183 -f 434/980/182 424/964/181 435/981/181 -f 436/983/182 398/961/180 406/984/180 -f 437/986/177 438/1030/176 431/976/176 -o Magazine -v -0.042117 -0.212138 0.127708 -v -0.042117 0.131847 0.043860 -v -0.042117 -0.244139 -0.012119 -v -0.042117 0.120877 -0.098352 -v 0.041739 -0.212138 0.127708 -v 0.041739 0.131847 0.043860 -v 0.041739 -0.244139 -0.012119 -v 0.041739 0.120877 -0.098352 -v -0.042117 -0.261123 -0.008232 -v -0.042117 -0.229122 0.131595 -v 0.041739 -0.261123 -0.008232 -v 0.041739 -0.229122 0.131595 -v 0.040745 -0.245905 -0.027060 -v -0.043111 -0.245905 -0.027060 -v 0.040745 -0.258158 -0.023173 -v -0.043111 -0.258158 -0.023173 -vn -1.0000 -0.0000 -0.0000 -vn -0.0000 -0.2299 -0.9732 -vn 1.0000 -0.0000 -0.0000 -vn -0.0000 0.2368 0.9716 -vn -0.0000 0.9931 -0.1174 -vn -0.0000 0.9970 -0.0769 -vn -0.0000 -0.9748 0.2231 -vn -0.0000 0.2231 0.9748 -vn -0.0000 -0.3024 -0.9532 -vn -0.0000 -0.9809 -0.1947 -vn 0.9976 -0.0178 -0.0671 -vn -0.9976 0.0178 0.0671 -vt 0.466318 0.482313 -s 0 -f 439/1032/187 440/1032/187 442/1032/187 441/1032/187 -f 441/1032/188 442/1032/188 446/1032/188 445/1032/188 -f 445/1032/189 446/1032/189 444/1032/189 443/1032/189 -f 443/1032/190 444/1032/190 440/1032/190 439/1032/190 -f 441/1032/191 445/1032/191 451/1032/191 452/1032/191 -f 446/1032/192 442/1032/192 440/1032/192 444/1032/192 -f 447/1032/193 449/1032/193 450/1032/193 448/1032/193 -f 439/1032/187 441/1032/187 447/1032/187 448/1032/187 -f 445/1032/189 443/1032/189 450/1032/189 449/1032/189 -f 443/1032/194 439/1032/194 448/1032/194 450/1032/194 -f 452/1032/195 451/1032/195 453/1032/195 454/1032/195 -f 449/1032/196 447/1032/196 454/1032/196 453/1032/196 -f 445/1032/197 449/1032/197 453/1032/197 451/1032/197 -f 447/1032/198 441/1032/198 452/1032/198 454/1032/198 diff --git a/src/main/resources/assets/hbm/models/weapons/deagle.obj b/src/main/resources/assets/hbm/models/weapons/deagle.obj deleted file mode 100644 index 56f4297f8..000000000 --- a/src/main/resources/assets/hbm/models/weapons/deagle.obj +++ /dev/null @@ -1,2213 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: '' -# www.blender.org -o Cylinder.005_Cylinder.042 -v -0.109711 0.225768 -1.599982 -v -0.109711 0.454809 -1.689450 -v 0.109711 0.225768 -1.599982 -v -0.109711 0.423462 -1.505400 -v -0.109711 0.621156 -1.410818 -v -0.109711 0.544724 -1.667087 -v 0.109711 0.423462 -1.505400 -v 0.109711 0.621156 -1.410818 -v 0.109711 0.544724 -1.667087 -v 0.109711 0.454809 -1.689450 -v 0.109711 0.634639 -1.644725 -v 0.109711 0.662526 -1.780998 -v 0.109711 0.632528 -1.796514 -v 0.109711 0.674518 -1.746657 -v -0.109711 0.662526 -1.780998 -v -0.109711 0.632528 -1.796514 -v -0.109711 0.674518 -1.746657 -v -0.109711 0.634639 -1.644725 -v 0.000000 0.851168 0.003579 -v 0.091507 0.835033 0.003579 -v 0.000000 0.851168 0.638677 -v -0.091507 0.835033 0.003579 -v -0.171977 0.788573 0.003579 -v -0.091507 0.835033 0.638677 -v -0.171977 0.790610 0.653952 -v 0.091507 0.835033 0.638677 -v 0.171977 0.790610 0.653952 -v 0.171977 0.788574 0.003579 -v 0.231704 0.725540 0.678187 -v 0.231704 0.717394 0.003579 -v 0.263484 0.650445 0.713829 -v -0.231704 0.725540 0.678187 -v -0.263484 0.650445 0.713829 -v -0.231704 0.717393 0.003579 -v -0.263484 0.630078 0.003579 -v -0.263484 0.537160 0.003579 -v -0.231704 0.449844 0.003579 -v -0.263484 0.582984 0.751507 -v -0.231704 0.509926 0.816679 -v 0.263484 0.582984 0.751507 -v 0.263484 0.537160 0.003579 -v 0.231704 0.509926 0.816679 -v 0.231704 0.449844 0.003579 -v 0.171977 0.459112 0.922585 -v 0.171977 0.378665 0.003579 -v 0.091507 0.412653 0.922585 -v -0.171977 0.459112 0.922585 -v -0.091507 0.412653 0.922585 -v -0.171977 0.378664 0.003579 -v -0.091507 0.332205 0.003579 -v 0.000000 0.316070 0.003579 -v 0.091507 0.332205 0.003579 -v 0.000000 0.316070 0.538677 -v 0.263484 0.630078 0.003579 -v -0.256097 0.393645 2.813138 -v -0.256097 0.394229 2.302340 -v 0.256097 0.393645 2.813138 -v -0.247427 0.477817 2.847726 -v -0.200569 0.110690 2.700910 -v -0.200569 0.117608 2.308361 -v 0.200569 0.110690 2.700910 -v -0.155010 0.069582 2.700185 -v -0.077784 0.028475 2.699461 -v -0.155010 0.076501 2.307636 -v 0.155010 0.069582 2.700185 -v 0.077784 0.028475 2.699461 -v 0.155010 0.076501 2.307636 -v 0.077784 0.035393 2.306912 -v 0.200569 0.117608 2.308361 -v 0.256097 0.394229 2.302340 -v 0.256097 0.396179 0.596178 -v 0.247427 0.479449 2.328658 -v 0.247427 0.477817 2.847726 -v 0.247427 0.484899 0.594871 -v 0.223196 0.748473 2.314847 -v 0.223196 0.753144 2.830875 -v 0.223196 0.732872 0.591215 -v 0.144839 0.783886 2.314526 -v 0.144839 0.788557 2.830554 -v 0.144839 0.768285 0.590894 -v 0.144839 0.799085 2.313976 -v 0.144839 0.803755 2.830004 -v 0.144839 0.783484 0.590344 -v 0.166263 0.826504 2.313728 -v 0.166263 0.831174 2.829756 -v 0.166263 0.810903 0.590096 -v 0.166263 0.864471 2.313384 -v 0.166263 0.869142 2.829412 -v 0.166263 0.848870 0.589752 -v -0.166263 0.864471 2.313384 -v -0.166263 0.848870 0.589752 -v -0.166263 0.869142 2.829412 -v -0.166263 0.826504 2.313728 -v -0.166263 0.810903 0.590096 -v -0.166263 0.831174 2.829756 -v -0.144839 0.799085 2.313976 -v -0.144839 0.783886 2.314526 -v -0.144839 0.783484 0.590344 -v -0.144839 0.803755 2.830004 -v -0.144839 0.788557 2.830554 -v -0.223196 0.753144 2.830875 -v -0.223196 0.748473 2.314847 -v -0.223196 0.732872 0.591215 -v -0.247427 0.479449 2.328658 -v -0.247427 0.484899 0.594871 -v -0.256097 0.396179 0.596178 -v -0.144839 0.768285 0.590894 -v -0.166263 0.805472 -0.009880 -v 0.166263 0.805472 -0.009880 -v -0.166263 0.843440 -0.010223 -v 0.166263 0.843440 -0.010223 -v -0.077784 0.035393 2.306912 -v 0.237206 0.073140 -1.706179 -v 0.237206 0.026845 -1.937500 -v 0.237206 0.095699 -0.284299 -v 0.237206 -0.024013 -1.755874 -v 0.237206 -0.030227 -1.987212 -v 0.164659 -0.094732 -1.686827 -v 0.237206 -0.222860 -1.362254 -v 0.237206 -0.208553 -0.334540 -v 0.164659 -0.214674 -0.261820 -v 0.237206 -0.415199 -0.375721 -v 0.237206 -0.500743 -0.315807 -v 0.164659 -0.429076 -0.304546 -v 0.194589 -0.472976 -0.265565 -v 0.164659 0.094767 -0.210592 -v 0.124185 -0.545500 -0.201169 -v 0.124185 -0.584470 -0.082052 -v 0.124185 -0.571518 0.337890 -v 0.124185 -0.444468 0.397614 -v 0.124185 -0.244742 0.385670 -v 0.124185 -0.085255 0.230188 -v 0.124185 -0.117733 -0.118302 -v 0.124185 -0.279252 -0.449195 -v 0.124185 0.002443 -0.475447 -v 0.124185 0.163961 -0.144554 -v 0.124185 0.196439 0.203936 -v 0.124185 0.192102 0.768345 -v 0.124185 0.213945 2.526602 -v 0.124185 0.029418 2.528959 -v 0.099018 0.008483 0.786776 -v 0.124185 0.008785 0.811941 -v 0.124185 0.002699 0.752432 -v 0.099018 -0.240762 0.502620 -v 0.124185 -0.241730 0.474184 -v 0.099018 -0.440488 0.475154 -v 0.124185 -0.441939 0.446899 -v 0.099018 -0.567538 0.466930 -v 0.099018 -0.636476 0.514297 -v 0.124185 -0.613768 0.469834 -v 0.099018 -0.642981 0.368143 -v 0.124185 -0.618771 0.357894 -v 0.099018 -0.664150 -0.107494 -v 0.124185 -0.639191 -0.099525 -v 0.099018 -0.615610 -0.246783 -v 0.164659 -0.719357 -0.350159 -v 0.192885 -0.678672 -0.309620 -v 0.237206 -0.707811 -0.436228 -v 0.164659 -1.562335 -0.529561 -v 0.237206 -1.542649 -0.614472 -v 0.164659 -1.754606 -0.453545 -v 0.237206 -1.742931 -0.536751 -v 0.164659 -1.811685 -0.596396 -v 0.164659 -1.801592 -1.625142 -v 0.237206 -1.802282 -1.554775 -v 0.164659 -1.575586 -1.729347 -v 0.237206 -1.586036 -1.654873 -v 0.164659 -1.290624 -1.701541 -v 0.237206 -1.307623 -1.628219 -v 0.164659 -0.579543 -1.392388 -v 0.164659 -0.393285 -1.366627 -v 0.237206 -0.361413 -1.285084 -v 0.164659 -0.200945 -1.474656 -v 0.237206 -0.589723 -1.316506 -v 0.164659 -0.104538 -2.051939 -v 0.237206 -1.810578 -0.709247 -v 0.237206 -0.647689 -0.338898 -v 0.139561 -0.629724 -0.260846 -v 0.124185 -0.593034 -0.232095 -v 0.124185 -0.568408 0.438734 -v 0.124185 0.033524 0.784262 -v -0.237206 0.073140 -1.706179 -v 0.000000 0.073140 -1.706179 -v -0.237206 0.026845 -1.937500 -v -0.237206 0.095699 -0.284299 -v -0.237206 -0.024013 -1.755874 -v -0.237206 -0.030227 -1.987212 -v -0.164659 -0.094732 -1.686827 -v -0.237206 -0.222860 -1.362254 -v -0.237206 -0.208553 -0.334540 -v -0.164659 -0.214674 -0.261820 -v -0.237206 -0.415199 -0.375721 -v -0.237206 -0.500743 -0.315807 -v -0.164659 -0.429076 -0.304546 -v -0.194589 -0.472976 -0.265565 -v 0.000000 -0.429076 -0.304546 -v 0.000000 -0.545500 -0.201169 -v 0.000000 -0.214674 -0.261820 -v 0.000000 0.094767 -0.210592 -v -0.164659 0.094767 -0.210592 -v -0.124185 -0.545500 -0.201169 -v 0.000000 -0.584470 -0.082052 -v -0.124185 -0.584470 -0.082052 -v 0.000000 -0.571518 0.337890 -v -0.124185 -0.571518 0.337890 -v 0.000000 -0.444468 0.397614 -v -0.124185 -0.444468 0.397614 -v 0.000000 -0.244742 0.385670 -v -0.124185 -0.244742 0.385670 -v 0.000000 -0.085255 0.230188 -v -0.124185 -0.085255 0.230188 -v 0.000000 -0.117733 -0.118302 -v -0.124185 -0.117733 -0.118302 -v 0.000000 -0.279252 -0.449195 -v -0.124185 -0.279252 -0.449195 -v 0.000000 0.002443 -0.475447 -v -0.124185 0.002443 -0.475447 -v 0.000000 0.163961 -0.144554 -v -0.124185 0.163961 -0.144554 -v 0.000000 0.196439 0.203936 -v -0.124185 0.196439 0.203936 -v 0.000000 0.192102 0.768345 -v -0.124185 0.192102 0.768345 -v 0.000000 0.213945 2.526602 -v -0.124185 0.213945 2.526602 -v 0.000000 0.029418 2.528959 -v -0.124185 0.029418 2.528959 -v 0.000000 0.008483 0.786776 -v 0.000000 -0.240762 0.502620 -v -0.099018 0.008483 0.786776 -v -0.124185 0.008785 0.811941 -v -0.124185 0.002699 0.752432 -v -0.099018 -0.240762 0.502620 -v -0.124185 -0.241730 0.474184 -v -0.099018 -0.440488 0.475154 -v -0.124185 -0.441939 0.446899 -v -0.099018 -0.567538 0.466930 -v 0.000000 -0.440488 0.475154 -v 0.000000 -0.567538 0.466930 -v 0.000000 -0.636476 0.514297 -v 0.000000 -0.642981 0.368143 -v -0.099018 -0.636476 0.514297 -v -0.124185 -0.613768 0.469834 -v -0.099018 -0.642981 0.368143 -v -0.124185 -0.618771 0.357894 -v -0.099018 -0.664150 -0.107494 -v -0.124185 -0.639191 -0.099525 -v -0.099018 -0.615610 -0.246783 -v 0.000000 -0.664150 -0.107494 -v 0.000000 -0.615610 -0.246783 -v 0.000000 -0.719357 -0.350159 -v 0.000000 -1.562335 -0.529561 -v -0.164659 -0.719357 -0.350159 -v -0.192885 -0.678672 -0.309620 -v -0.237206 -0.707811 -0.436228 -v -0.164659 -1.562335 -0.529561 -v -0.237206 -1.542649 -0.614472 -v -0.164659 -1.754606 -0.453545 -v -0.237206 -1.742931 -0.536751 -v -0.164659 -1.811685 -0.596396 -v 0.000000 -1.754606 -0.453545 -v 0.000000 -1.811685 -0.596396 -v 0.000000 -1.801592 -1.625142 -v 0.000000 -1.575586 -1.729347 -v -0.164659 -1.801592 -1.625142 -v -0.237206 -1.802282 -1.554775 -v -0.164659 -1.575586 -1.729347 -v -0.237206 -1.586036 -1.654873 -v -0.164659 -1.290624 -1.701541 -v -0.237206 -1.307623 -1.628219 -v -0.164659 -0.579543 -1.392388 -v 0.000000 -1.290624 -1.701541 -v 0.000000 -0.579543 -1.392388 -v 0.000000 -0.393285 -1.366627 -v 0.000000 -0.200945 -1.474656 -v -0.164659 -0.393285 -1.366627 -v -0.237206 -0.361413 -1.285084 -v -0.164659 -0.200945 -1.474656 -v -0.237206 -0.589723 -1.316506 -v 0.000000 -0.094732 -1.686827 -v 0.000000 -0.104538 -2.051939 -v 0.000000 0.026845 -1.937500 -v -0.164659 -0.104538 -2.051939 -v -0.237206 -1.810578 -0.709247 -v -0.237206 -0.647689 -0.338898 -v -0.139561 -0.629724 -0.260846 -v -0.124185 -0.593034 -0.232095 -v -0.124185 -0.568408 0.438734 -v -0.124185 0.033524 0.784262 -v -0.081156 -0.221353 -0.085255 -v -0.081156 -0.221353 -0.206952 -v -0.081156 -0.059041 -0.050284 -v 0.081156 -0.221353 -0.085255 -v -0.081156 -0.367992 -0.064726 -v -0.081156 -0.367992 -0.186423 -v 0.081156 -0.367992 -0.064726 -v -0.081156 -0.514630 0.009986 -v -0.081156 -0.514630 -0.049976 -v 0.081156 -0.514630 0.009986 -v 0.081156 -0.514630 -0.049976 -v 0.081156 -0.367992 -0.186423 -v 0.081156 -0.221353 -0.206952 -v 0.081156 -0.059041 -0.212596 -v -0.081156 -0.059041 -0.212596 -v 0.081156 -0.059041 -0.050284 -v -0.000000 0.754362 2.557954 -v -0.000000 0.725395 2.557955 -v 0.052795 0.745053 2.557954 -v 0.042888 0.717833 2.557955 -v 0.099222 0.718249 2.557955 -v 0.080602 0.696059 2.557955 -v 0.133681 0.677181 2.557955 -v 0.108595 0.662698 2.557955 -v 0.152017 0.626805 2.557955 -v 0.123490 0.621775 2.557955 -v 0.152017 0.573196 2.557955 -v 0.123490 0.578226 2.557955 -v 0.133681 0.522820 2.557955 -v 0.108595 0.537303 2.557955 -v 0.099222 0.481753 2.557955 -v 0.080602 0.503943 2.557955 -v 0.052795 0.454948 2.557955 -v 0.042888 0.482168 2.557955 -v -0.000000 0.445639 2.557955 -v -0.000000 0.474606 2.557955 -v -0.052795 0.454948 2.557955 -v -0.042888 0.482168 2.557955 -v -0.099222 0.481753 2.557955 -v -0.080602 0.503943 2.557955 -v -0.133681 0.522820 2.557955 -v -0.108595 0.537303 2.557955 -v -0.152017 0.573196 2.557955 -v -0.123490 0.578226 2.557955 -v -0.152017 0.626805 2.557955 -v -0.123490 0.621775 2.557955 -v -0.133681 0.677181 2.557955 -v -0.108595 0.662698 2.557955 -v -0.099222 0.718248 2.557955 -v -0.080602 0.696059 2.557955 -v -0.052795 0.745053 2.557954 -v -0.042888 0.717833 2.557955 -v 0.052795 0.745053 2.866678 -v -0.000000 0.754362 2.866678 -v 0.099222 0.718249 2.866678 -v 0.133681 0.677182 2.866678 -v 0.152017 0.626805 2.866678 -v 0.152017 0.573196 2.866678 -v 0.133681 0.522820 2.866678 -v 0.099222 0.481753 2.866678 -v 0.052795 0.454948 2.866678 -v -0.000000 0.445639 2.866678 -v -0.052795 0.454948 2.866678 -v -0.099222 0.481753 2.866678 -v -0.133681 0.522820 2.866678 -v -0.152017 0.573196 2.866678 -v -0.152017 0.626805 2.866678 -v -0.133681 0.677181 2.866678 -v -0.099222 0.718249 2.866678 -v -0.052795 0.745053 2.866678 -v 0.042888 0.717833 2.866678 -v -0.000000 0.725395 2.866678 -v 0.080602 0.696059 2.866678 -v 0.108595 0.662698 2.866678 -v 0.123490 0.621775 2.866678 -v 0.123490 0.578226 2.866678 -v 0.108595 0.537303 2.866678 -v 0.080602 0.503943 2.866678 -v 0.042888 0.482168 2.866678 -v -0.000000 0.474606 2.866678 -v -0.042888 0.482168 2.866678 -v -0.080602 0.503943 2.866678 -v -0.108595 0.537303 2.866678 -v -0.123490 0.578226 2.866678 -v -0.123490 0.621775 2.866678 -v -0.108595 0.662698 2.866678 -v -0.080602 0.696059 2.866678 -v -0.042888 0.717833 2.866678 -v 0.048367 0.898367 2.531633 -v 0.048367 0.958367 2.708366 -v 0.048367 0.881634 2.571633 -v -0.048367 0.898367 2.531633 -v -0.048367 0.958367 2.708366 -v -0.048367 0.881634 2.571633 -v -0.048367 0.881634 2.708366 -v -0.048367 0.851634 2.571633 -v -0.048367 0.851634 2.708366 -v 0.048367 0.851634 2.571633 -v 0.048367 0.851634 2.708366 -v 0.048367 0.881634 2.708366 -v 0.048367 0.885202 2.728366 -v 0.048367 0.934799 2.728366 -v -0.048367 0.885202 2.728366 -v -0.048367 0.934799 2.728366 -vt 0.500000 0.000000 -vt 0.500000 0.125000 -vt 0.375000 0.125000 -vt 0.375000 0.625000 -vt 0.375000 0.750000 -vt 0.125000 0.750000 -vt 0.500000 0.750000 -vt 0.500000 1.000000 -vt 0.375000 1.000000 -vt 0.625000 0.000000 -vt 0.625000 0.125000 -vt 0.625000 0.750000 -vt 0.625000 1.000000 -vt 0.500000 0.625000 -vt 0.625000 0.625000 -vt 0.375000 0.500000 -vt 0.500000 0.500000 -vt 0.625000 0.500000 -vt 0.500000 0.250000 -vt 0.625000 0.250000 -vt 0.375000 0.250000 -vt 0.875000 0.500000 -vt 0.875000 0.625000 -vt 0.875000 0.750000 -vt 0.125000 0.625000 -vt 0.957846 0.370000 -vt 0.513646 0.208324 -vt 0.542154 0.370000 -vt 1.000000 1.000000 -vt 0.944444 1.000000 -vt 0.944444 0.500000 -vt 0.055555 1.000000 -vt -0.000000 1.000000 -vt -0.000000 0.500000 -vt 0.111111 0.500000 -vt 0.111111 1.000000 -vt 0.888889 1.000000 -vt 0.888889 0.500000 -vt 0.833333 1.000000 -vt 0.833333 0.500000 -vt 0.166666 1.000000 -vt 0.777778 1.000000 -vt 0.777778 0.500000 -vt 0.222222 0.500000 -vt 0.222222 1.000000 -vt 0.166666 0.500000 -vt 0.277778 0.500000 -vt 0.277778 1.000000 -vt 0.333333 0.500000 -vt 0.333333 1.000000 -vt 0.722222 1.000000 -vt 0.722222 0.500000 -vt 0.666667 1.000000 -vt 0.666667 0.500000 -vt 0.611111 1.000000 -vt 0.611111 0.500000 -vt 0.388889 1.000000 -vt 0.555555 1.000000 -vt 0.444444 1.000000 -vt 0.388889 0.500000 -vt 0.444444 0.500000 -vt 0.555555 0.500000 -vt 0.375000 0.000000 -vt 0.440876 0.000000 -vt 0.440876 0.057601 -vt 0.375000 0.057601 -vt 0.440876 0.750000 -vt 0.440876 1.000000 -vt 0.375000 0.692399 -vt 0.125000 0.692399 -vt 0.440876 0.500000 -vt 0.440876 0.692399 -vt 0.625000 0.692399 -vt 0.875000 0.692399 -vt 0.625000 0.057601 -vt 0.440876 0.250000 -vt 0.750000 0.750000 -vt 0.663230 0.750000 -vt 0.625000 0.737679 -vt 0.750000 0.500000 -vt 0.604234 0.500000 -vt 0.608352 0.500000 -vt 0.586676 0.737242 -vt 0.586676 0.461770 -vt 0.599010 0.506053 -vt 0.566086 0.524015 -vt 0.566086 0.461770 -vt 0.566086 0.788230 -vt 0.566086 0.734793 -vt 0.586676 0.788230 -vt 0.566086 0.750000 -vt 0.542497 0.750000 -vt 0.532159 0.530792 -vt 0.470543 0.729355 -vt 0.566086 0.875000 -vt 0.586676 0.875000 -vt 0.625000 0.788230 -vt 0.625000 0.875000 -vt 0.566086 0.775332 -vt 0.470543 0.875000 -vt 0.470543 0.775332 -vt 0.503644 0.750000 -vt 0.502911 0.750000 -vt 0.501308 0.750000 -vt 0.470543 0.788230 -vt 0.470543 0.750000 -vt 0.422771 0.875000 -vt 0.470176 0.750000 -vt 0.494131 0.750000 -vt 0.422771 0.788230 -vt 0.422771 0.731887 -vt 0.375000 0.788230 -vt 0.375000 0.733695 -vt 0.375000 0.875000 -vt 0.375000 0.722576 -vt 0.375000 0.517100 -vt 0.250000 0.500000 -vt 0.375000 0.461770 -vt 0.375000 0.375000 -vt 0.375000 0.514594 -vt 0.422771 0.515641 -vt 0.422772 0.375000 -vt 0.422771 0.461770 -vt 0.470543 0.461770 -vt 0.470543 0.375000 -vt 0.518314 0.375000 -vt 0.518314 0.461770 -vt 0.566086 0.375000 -vt 0.470543 0.518202 -vt 0.586676 0.375000 -vt 0.625000 0.375000 -vt 0.500471 0.750000 -vt 0.250000 0.750000 -vt 0.081158 0.152519 -vt 0.316681 0.066795 -vt 0.442001 0.283855 -vt 0.595731 0.066149 -vt 0.316681 0.433205 -vt 0.332085 0.475526 -vt 0.250000 0.490000 -vt 0.375319 0.399350 -vt 0.404269 0.433851 -vt 0.418843 0.347481 -vt 0.457846 0.370000 -vt 0.486354 0.291676 -vt 0.442001 0.216145 -vt 0.486354 0.208324 -vt 0.418843 0.152519 -vt 0.457846 0.130000 -vt 0.375319 0.100650 -vt 0.404269 0.066149 -vt 0.332085 0.024474 -vt 0.250000 0.055037 -vt 0.250000 0.010000 -vt 0.183319 0.066795 -vt 0.167915 0.024474 -vt 0.124680 0.100650 -vt 0.095731 0.066149 -vt 0.042154 0.130000 -vt 0.057999 0.216145 -vt 0.013646 0.208324 -vt 0.057999 0.283855 -vt 0.013646 0.291675 -vt 0.081157 0.347481 -vt 0.042154 0.370000 -vt 0.124680 0.399350 -vt 0.095731 0.433851 -vt 0.183319 0.433205 -vt 0.167915 0.475526 -vt 0.250000 0.444963 -vt 0.125000 0.500000 -vt 0.667915 0.475526 -vt 0.750000 0.490000 -vt 0.832085 0.475526 -vt 0.904269 0.433851 -vt 0.986354 0.291676 -vt 0.986354 0.208324 -vt 0.957846 0.130000 -vt 0.904269 0.066149 -vt 0.832085 0.024474 -vt 0.750000 0.010000 -vt 0.667915 0.024474 -vt 0.542154 0.130000 -vt 0.513646 0.291675 -vt 0.595731 0.433851 -vt 1.000000 0.500000 -vt 0.055555 0.500000 -vt 0.602253 0.489575 -vt 0.336770 0.500000 -vt 0.336770 0.750000 -vn -1.000000 -0.000000 0.000000 -vn 0.000000 -0.441500 -0.897200 -vn 0.000000 -0.363800 -0.931500 -vn 0.000000 -0.431600 0.902100 -vn 1.000000 -0.000000 0.000000 -vn 0.000000 0.459400 -0.888200 -vn 0.000000 0.944100 -0.329700 -vn 0.000000 0.931300 0.364300 -vn 0.000000 0.976900 0.213600 -vn 0.000000 0.998300 0.057500 -vn 0.000000 -0.516000 -0.856600 -vn -0.000000 -0.000000 -1.000000 -vn -0.000000 1.000000 -0.000000 -vn 0.341800 0.939800 -0.001300 -vn 0.342000 0.939700 -0.000000 -vn -0.341800 0.939800 -0.001300 -vn -0.642300 0.766500 -0.001200 -vn -0.637400 0.770500 -0.005600 -vn -0.000000 0.344600 0.938800 -vn -0.000000 0.305800 0.952100 -vn 0.000000 0.000000 1.000000 -vn 0.637400 0.770500 -0.005600 -vn 0.642300 0.766500 -0.001200 -vn 0.862200 0.506400 -0.009700 -vn 0.865700 0.500600 -0.003400 -vn 0.000000 0.404600 0.914500 -vn 0.989600 0.143700 -0.004100 -vn 0.985000 0.172300 -0.002300 -vn -0.000000 0.462300 0.886700 -vn -0.985000 0.172300 -0.002300 -vn -0.989600 0.143700 -0.004100 -vn -0.862200 0.506400 -0.009700 -vn -0.865700 0.500600 -0.003400 -vn -0.983600 -0.180200 0.011000 -vn -0.967300 -0.253000 0.018500 -vn -0.861300 -0.506900 0.035500 -vn -0.782800 -0.620100 0.052500 -vn -0.000000 0.570100 0.821500 -vn -0.000000 0.766500 0.642200 -vn 0.967300 -0.253000 0.018500 -vn 0.983600 -0.180200 0.011000 -vn 0.782800 -0.620100 0.052500 -vn 0.861300 -0.506900 0.035500 -vn 0.568400 -0.819600 0.071700 -vn 0.634700 -0.770200 0.063400 -vn -0.000000 0.901600 0.432600 -vn 0.308700 -0.939100 0.150900 -vn -0.308700 -0.939100 0.150900 -vn -0.568400 -0.819600 0.071700 -vn -0.634700 -0.770200 0.063400 -vn 0.000000 -0.995400 0.095400 -vn -0.363900 -0.930500 0.042300 -vn 0.363900 -0.930500 0.042300 -vn -1.000000 -0.009900 0.000100 -vn -0.995600 0.094100 0.000300 -vn -0.995400 0.095300 0.000000 -vn -1.000000 0.003300 -0.000600 -vn -0.980400 -0.196900 -0.003500 -vn -0.981000 -0.193900 -0.001200 -vn 0.000000 -0.374600 0.927200 -vn 0.000000 -0.268600 0.963300 -vn 0.000000 -0.176700 0.984300 -vn -0.670000 -0.742300 -0.013100 -vn -0.574200 -0.818600 -0.014400 -vn 0.000000 -0.017600 0.999800 -vn -0.242200 -0.970100 -0.017100 -vn 0.670000 -0.742300 -0.013100 -vn 0.574200 -0.818600 -0.014400 -vn 0.242200 -0.970100 -0.017100 -vn 0.000000 0.017600 -0.999800 -vn 0.000000 -0.010200 -0.999900 -vn 1.000000 0.003300 -0.000600 -vn 1.000000 -0.009900 0.000100 -vn 0.981000 -0.193900 -0.001200 -vn 0.000000 -0.021800 -0.999800 -vn 0.000000 -1.000000 -0.001100 -vn 0.995300 0.096900 -0.000300 -vn 0.995400 0.095300 0.000000 -vn 0.995600 0.094100 0.000300 -vn 0.995900 0.090000 -0.000300 -vn 0.996100 0.088300 -0.000100 -vn 0.995300 0.097200 -0.000900 -vn 0.411800 0.911200 -0.008200 -vn 0.788000 -0.615700 0.005600 -vn 0.000000 1.000000 -0.009100 -vn -0.788000 -0.615700 0.005600 -vn 0.000000 0.020300 0.999800 -vn 0.000000 0.009100 1.000000 -vn 0.000000 0.019000 0.999800 -vn 0.000000 0.050500 0.998700 -vn -0.411800 0.911200 -0.008200 -vn -0.996100 0.088300 -0.000100 -vn -0.995900 0.090000 -0.000300 -vn -0.995300 0.097200 -0.000900 -vn -0.995300 0.096900 -0.000300 -vn 0.000000 -0.014700 -0.999900 -vn 0.000000 -0.013600 -0.999900 -vn 0.000000 -0.019000 -0.999800 -vn 0.000000 -0.020300 -0.999800 -vn 0.000000 -0.009000 -1.000000 -vn 0.000000 -1.000000 0.009100 -vn 0.000000 -0.009100 -1.000000 -vn -0.000000 1.000000 -0.009300 -vn 0.000000 0.999900 0.012600 -vn -0.006100 0.999900 -0.008900 -vn 0.000000 0.994300 -0.106500 -vn 0.000000 0.980600 -0.196200 -vn 0.707100 -0.706900 0.019000 -vn 0.402800 -0.818000 -0.410700 -vn 0.394200 -0.820300 -0.414400 -vn 0.248500 -0.865300 -0.435300 -vn 0.706900 -0.138200 0.693600 -vn 0.707000 -0.138200 0.693600 -vn 0.707500 -0.127100 0.695100 -vn 0.707600 -0.126200 0.695200 -vn 0.708600 -0.115200 0.696200 -vn 0.646300 0.575500 0.501100 -vn 0.702500 0.676200 0.222200 -vn 0.643700 0.571700 0.508800 -vn 0.000000 0.664000 0.747800 -vn 0.000000 -0.179400 0.983800 -vn 0.000000 -0.195400 0.980700 -vn 0.000000 -0.163300 0.986600 -vn 0.000000 0.950400 0.310900 -vn 0.000000 0.989800 0.142200 -vn 0.000000 0.999500 -0.030800 -vn 0.000000 0.425400 -0.905000 -vn 0.000000 0.188700 -0.982000 -vn 0.000000 -0.059700 -0.998200 -vn 0.000000 -0.698100 -0.716000 -vn 0.000000 -0.995700 0.092800 -vn 0.000000 -0.962800 0.270100 -vn 0.000000 -0.898700 0.438700 -vn 0.000000 -0.092800 -0.995700 -vn 0.000000 0.962800 -0.270100 -vn 0.000000 0.898700 -0.438700 -vn 0.000000 0.999100 -0.042600 -vn 0.000000 1.000000 -0.002400 -vn 0.000000 0.999900 -0.012400 -vn 0.000000 0.012800 0.999900 -vn 0.000000 -0.999900 0.012000 -vn 0.000000 -0.751800 0.659400 -vn 0.692000 -0.699000 0.180400 -vn 0.595800 -0.597000 0.537300 -vn 0.706400 -0.707300 0.026200 -vn 0.582800 -0.610500 0.536300 -vn 0.582600 -0.610600 0.536400 -vn 0.743400 -0.068600 0.665300 -vn 0.743500 -0.065100 0.665600 -vn 0.743900 -0.091000 0.662100 -vn 0.000000 -0.100500 0.994900 -vn 0.000000 -0.136200 0.990700 -vn 0.732600 0.211400 0.647000 -vn 0.000000 -0.064600 0.997900 -vn 0.000000 0.566300 0.824200 -vn 0.000000 -0.999000 0.044500 -vn 0.686900 0.411600 0.599000 -vn 0.686700 0.411500 0.599200 -vn 0.699900 -0.713600 0.031800 -vn 0.699900 -0.713500 0.031800 -vn 0.699700 -0.713800 0.031800 -vn 0.699600 -0.713800 0.031800 -vn 0.717200 -0.688200 -0.109500 -vn 0.000000 -0.989400 -0.144900 -vn 0.720500 -0.654800 -0.228200 -vn 0.720600 -0.654700 -0.228100 -vn 0.000000 -0.944300 -0.329100 -vn -0.000000 -0.705800 0.708400 -vn 0.015900 -0.682400 0.730800 -vn 0.000000 -0.208200 0.978100 -vn 0.626400 -0.690800 0.361200 -vn 0.604500 -0.677700 0.418600 -vn 0.627300 -0.691300 0.358600 -vn 0.747800 0.089100 0.657900 -vn 0.756700 0.028900 0.653200 -vn 0.766700 -0.133700 0.628000 -vn 0.709700 0.259000 0.655100 -vn 0.708300 0.258400 0.657000 -vn 0.000000 0.367700 0.930000 -vn 0.501600 -0.804700 0.317500 -vn 0.503100 -0.804600 0.315500 -vn 0.500100 -0.804900 0.319500 -vn 0.000000 -0.928600 0.371000 -vn 0.000000 -0.982900 0.184100 -vn 0.000000 -0.988000 0.154200 -vn 0.000000 -1.000000 -0.009800 -vn 0.000000 -0.418700 -0.908100 -vn 0.697700 -0.151100 -0.700300 -vn 0.659000 -0.315900 -0.682500 -vn 0.658600 -0.315900 -0.683000 -vn 0.720100 0.175400 -0.671400 -vn 0.705800 -0.096700 -0.701800 -vn 0.000000 0.251000 -0.968000 -vn 0.000000 0.097100 -0.995300 -vn 0.719900 0.173100 -0.672200 -vn 0.722100 0.193300 -0.664300 -vn 0.000000 0.270400 -0.962800 -vn 0.000000 0.137000 -0.990600 -vn 0.000000 -0.489700 -0.871900 -vn 0.768400 -0.312800 -0.558300 -vn 0.765800 -0.133700 -0.629100 -vn 0.762500 -0.095900 -0.639900 -vn 0.722800 0.181300 -0.666900 -vn 0.000000 -0.894200 -0.447600 -vn 0.000000 -0.976200 -0.216900 -vn 0.000000 -0.999600 0.026800 -vn 0.000000 0.656800 -0.754100 -vn 0.658700 -0.180500 0.730400 -vn 0.711000 -0.231900 0.663800 -vn 0.733300 -0.265400 0.626000 -vn 0.069300 -0.597200 0.799100 -vn 0.022300 -0.672800 0.739500 -vn 0.006100 0.999900 -0.008900 -vn -0.000000 0.994300 -0.106400 -vn -0.707100 -0.706900 0.019000 -vn -0.402800 -0.818000 -0.410700 -vn -0.186200 -0.932000 -0.311100 -vn -0.248500 -0.865300 -0.435300 -vn -0.707500 -0.127100 0.695100 -vn -0.707000 -0.138200 0.693600 -vn -0.706900 -0.138200 0.693600 -vn -0.708600 -0.115200 0.696200 -vn -0.707600 -0.126200 0.695200 -vn -0.643700 0.571700 0.508800 -vn -0.702500 0.676200 0.222200 -vn -0.646300 0.575500 0.501100 -vn -0.692000 -0.699000 0.180400 -vn -0.559600 -0.617900 -0.552300 -vn -0.706400 -0.707300 0.026200 -vn -0.595800 -0.597000 0.537300 -vn -0.582600 -0.610600 0.536400 -vn -0.582800 -0.610500 0.536300 -vn -0.743900 -0.091000 0.662100 -vn -0.743500 -0.065100 0.665600 -vn -0.743400 -0.068600 0.665300 -vn -0.732600 0.211400 0.647000 -vn -0.739000 0.159000 0.654700 -vn -0.686700 0.411500 0.599200 -vn -0.699700 -0.713800 0.031800 -vn -0.699900 -0.713500 0.031800 -vn -0.699900 -0.713600 0.031800 -vn -0.717200 -0.688200 -0.109500 -vn -0.699600 -0.713800 0.031800 -vn -0.715500 -0.692800 -0.089900 -vn -0.720600 -0.654700 -0.228100 -vn -0.022300 -0.672800 0.739500 -vn -0.015900 -0.682400 0.730800 -vn -0.626400 -0.690800 0.361200 -vn -0.660400 -0.707900 0.250600 -vn -0.627300 -0.691300 0.358600 -vn -0.766700 -0.133700 0.628000 -vn -0.756700 0.028900 0.653200 -vn -0.747800 0.089100 0.657900 -vn -0.708300 0.258400 0.657000 -vn -0.500100 -0.804900 0.319500 -vn -0.503100 -0.804600 0.315500 -vn -0.501600 -0.804700 0.317500 -vn -0.697700 -0.151100 -0.700300 -vn -0.705800 -0.096700 -0.701800 -vn -0.658600 -0.315900 -0.683000 -vn -0.720100 0.175400 -0.671400 -vn -0.719900 0.173100 -0.672200 -vn -0.722100 0.193300 -0.664300 -vn -0.768400 -0.312800 -0.558300 -vn -0.769000 -0.313000 -0.557400 -vn -0.762500 -0.095900 -0.639900 -vn -0.722800 0.181300 -0.666900 -vn -0.733300 -0.265400 0.626000 -vn -0.711000 -0.231900 0.663800 -vn -0.658700 -0.180500 0.730400 -vn -0.069300 -0.597200 0.799100 -vn 0.000000 -0.210600 0.977600 -vn 0.000000 -0.036600 0.999300 -vn 0.000000 0.300400 0.953800 -vn 0.000000 0.454000 0.891000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 -0.681200 -0.732100 -vn 0.000000 -0.086800 -0.996200 -vn 0.000000 -0.138600 -0.990300 -vn 0.000000 -0.034700 -0.999400 -vn 0.642800 0.766000 -0.000000 -vn 0.866000 0.500000 -0.000000 -vn 0.984800 0.173600 0.000000 -vn 0.984800 -0.173600 0.000000 -vn 0.866000 -0.500000 0.000000 -vn 0.642800 -0.766000 0.000000 -vn 0.342000 -0.939700 0.000000 -vn -0.342000 -0.939700 0.000000 -vn -0.642800 -0.766000 0.000000 -vn -0.866000 -0.500000 0.000000 -vn -0.984800 -0.173600 0.000000 -vn -0.984800 0.173600 -0.000000 -vn -0.866000 0.500000 -0.000000 -vn -0.642800 0.766000 -0.000000 -vn -0.342000 0.939700 -0.000000 -vn 0.000000 -0.946900 0.321500 -vn 0.000000 0.922500 0.385900 -vn 0.000000 0.984500 -0.175600 -vn 0.000000 -0.647000 -0.762500 -vn -0.173600 -0.984800 0.000000 -vn 0.173600 -0.984800 0.000000 -vn 0.980400 -0.196900 -0.003500 -vn 0.995300 0.097300 0.000100 -vn -0.995300 0.097300 0.000100 -vn 0.186200 -0.932000 -0.311100 -vn 0.708700 -0.115200 0.696100 -vn 0.570100 0.471300 0.673000 -vn 0.559600 -0.617900 -0.552300 -vn 0.744200 -0.091000 0.661700 -vn 0.739000 0.159000 0.654700 -vn 0.715500 -0.692800 -0.089900 -vn 0.660400 -0.707900 0.250600 -vn 0.766500 -0.133700 0.628200 -vn 0.498500 -0.805000 0.321700 -vn 0.769000 -0.313000 -0.557400 -vn 0.652200 -0.180000 0.736400 -vn 0.605600 -0.123500 0.786100 -vn 0.798900 -0.328000 0.504100 -vn -0.394200 -0.820300 -0.414400 -vn -0.708700 -0.115200 0.696100 -vn -0.570100 0.471300 0.673000 -vn -0.744200 -0.091000 0.661700 -vn -0.686900 0.411600 0.599000 -vn -0.720500 -0.654800 -0.228200 -vn -0.604500 -0.677700 0.418600 -vn -0.766500 -0.133700 0.628200 -vn -0.709700 0.259000 0.655100 -vn -0.498500 -0.805000 0.321700 -vn -0.659000 -0.315900 -0.682500 -vn -0.765800 -0.133700 -0.629100 -vn -0.605600 -0.123500 0.786100 -vn -0.652200 -0.180000 0.736400 -vn -0.798900 -0.328000 0.504100 -s 1 -f 4/1/1 6/2/1 2/3/1 -f 10/4/2 3/5/3 1/6/3 -f 7/7/4 4/8/4 1/9/4 -f 5/10/1 18/11/1 6/2/1 -f 8/12/4 5/13/4 4/8/4 -f 10/4/5 9/14/5 7/7/5 -f 9/14/5 11/15/5 8/12/5 -f 13/16/5 12/17/5 9/14/5 -f 14/18/5 11/15/5 9/14/5 -f 15/19/6 12/17/6 13/16/6 -f 17/20/7 14/18/7 12/17/7 -f 6/2/1 15/19/1 16/21/1 -f 6/2/1 18/11/1 17/20/1 -f 17/22/8 18/23/9 11/15/9 -f 18/23/9 5/24/10 8/12/10 -f 13/16/11 10/4/2 2/25/2 -f 30/26/12 36/27/12 34/28/12 -f 21/29/13 26/30/14 20/31/15 -f 24/32/16 21/33/13 19/34/13 -f 23/35/17 25/36/18 24/32/16 -f 27/37/19 26/30/20 24/32/20 -f 21/33/21 24/32/20 26/30/20 -f 26/30/14 27/37/22 28/38/23 -f 27/37/22 29/39/24 30/40/25 -f 27/37/19 25/36/19 32/41/26 -f 29/39/24 31/42/27 54/43/28 -f 31/42/29 29/39/26 32/41/26 -f 35/44/30 33/45/31 32/41/32 -f 34/46/33 32/41/32 25/36/18 -f 36/47/34 38/48/35 33/45/31 -f 37/49/36 39/50/37 38/48/35 -f 40/51/38 38/48/38 39/50/39 -f 31/42/29 33/45/29 38/48/38 -f 31/42/27 40/51/40 41/52/41 -f 40/51/40 42/53/42 43/54/43 -f 42/53/42 44/55/44 45/56/45 -f 42/53/39 39/50/39 47/57/46 -f 45/56/45 44/55/44 46/58/47 -f 44/55/21 47/57/21 48/59/21 -f 48/59/48 47/57/49 49/60/50 -f 49/60/50 47/57/49 39/50/37 -f 53/8/51 48/59/48 50/61/52 -f 52/62/53 46/58/47 53/8/51 -f 53/8/51 46/58/47 48/59/48 -f 55/63/54 58/64/55 104/65/56 -f 56/66/57 60/66/58 59/63/59 -f 55/9/60 59/9/61 61/5/61 -f 57/5/60 73/67/62 58/68/62 -f 59/63/63 60/66/63 64/66/64 -f 59/9/61 62/9/65 65/5/65 -f 64/66/64 112/66/66 63/63/66 -f 62/9/65 63/9/65 66/5/65 -f 61/5/67 65/5/68 67/69/68 -f 67/69/68 65/5/68 66/5/69 -f 67/69/70 68/69/70 112/70/70 -f 69/69/71 67/69/70 64/70/70 -f 70/69/72 57/5/73 61/5/74 -f 70/69/75 69/69/71 60/70/71 -f 71/16/76 70/69/76 56/70/76 -f 74/71/77 72/72/78 70/69/72 -f 72/72/78 73/67/79 57/5/73 -f 72/72/78 75/73/80 76/12/81 -f 74/71/77 77/18/82 75/73/80 -f 75/73/83 78/73/83 79/12/83 -f 77/18/83 80/18/83 78/73/83 -f 78/73/5 81/73/5 82/12/5 -f 80/18/5 83/18/5 81/73/5 -f 81/73/84 84/73/84 85/12/84 -f 83/18/84 86/18/84 84/73/84 -f 84/73/5 87/73/5 88/12/5 -f 84/73/5 86/18/5 89/18/5 -f 90/74/85 92/24/85 88/12/85 -f 91/22/85 90/74/85 87/73/85 -f 93/75/1 90/75/1 91/20/1 -f 93/75/1 95/10/1 92/10/1 -f 96/75/86 93/75/86 94/20/86 -f 99/10/86 95/10/86 93/75/86 -f 97/75/1 100/10/1 99/10/1 -f 107/20/1 97/75/1 96/75/1 -f 82/12/87 85/12/88 95/13/88 -f 79/12/89 82/12/87 99/13/87 -f 76/12/90 79/12/89 100/13/89 -f 102/75/91 101/10/91 100/10/91 -f 101/10/92 102/75/93 104/65/56 -f 76/12/90 101/13/90 58/68/62 -f 102/75/91 97/75/91 107/20/91 -f 102/75/93 103/20/94 105/76/95 -f 56/66/57 104/65/56 105/76/95 -f 106/21/96 105/76/96 74/71/96 -f 103/20/97 77/18/97 74/71/96 -f 103/20/97 107/20/98 80/18/98 -f 107/20/98 98/20/99 83/18/99 -f 98/20/99 94/20/100 86/18/100 -f 85/12/88 88/12/88 92/13/88 -f 94/20/101 108/20/101 109/18/101 -f 91/20/1 110/20/1 108/20/1 -f 108/20/102 110/20/102 111/18/102 -f 89/18/85 111/18/85 110/22/85 -f 86/18/5 109/18/5 111/18/5 -f 68/69/69 66/5/69 63/6/66 -f 199/77/103 126/78/104 115/79/105 -f 113/18/106 114/18/107 282/80/107 -f 116/81/5 117/82/5 114/18/5 -f 113/18/5 115/79/5 120/83/5 -f 116/81/108 118/84/108 175/84/108 -f 116/85/109 119/86/110 173/87/111 -f 119/86/5 116/85/5 120/83/5 -f 124/88/112 122/89/113 120/83/114 -f 121/90/115 120/83/114 115/79/116 -f 124/91/117 125/91/118 123/92/119 -f 172/93/5 122/89/5 158/94/5 -f 196/95/120 197/95/120 127/91/120 -f 121/90/121 198/96/121 196/95/122 -f 126/97/123 199/98/123 198/96/121 -f 197/95/124 202/95/125 128/91/125 -f 202/95/125 204/95/126 129/91/126 -f 204/95/127 206/95/128 130/91/128 -f 206/95/128 208/95/129 131/91/129 -f 208/95/130 210/95/130 132/91/130 -f 210/95/131 212/95/132 133/91/132 -f 212/95/132 214/95/133 134/91/133 -f 214/95/134 216/95/134 135/91/134 -f 136/91/135 135/91/136 216/95/136 -f 137/91/137 136/91/135 218/95/135 -f 220/95/137 222/95/138 138/91/138 -f 222/95/138 224/95/139 139/91/139 -f 140/91/140 139/91/140 224/95/140 -f 142/91/141 140/91/141 226/95/141 -f 144/99/142 141/99/142 228/95/142 -f 141/99/143 143/91/144 181/91/145 -f 144/99/146 145/91/147 143/91/144 -f 146/99/148 147/91/149 145/91/150 -f 146/99/151 144/99/152 229/95/152 -f 147/91/149 146/99/148 148/99/153 -f 148/99/154 146/99/151 238/95/151 -f 148/99/155 239/95/155 240/100/155 -f 151/101/156 149/101/156 240/100/156 -f 148/99/153 149/101/157 150/102/158 -f 150/102/159 149/101/160 151/101/161 -f 152/103/162 151/101/161 153/101/163 -f 153/101/164 151/101/156 241/100/156 -f 153/101/163 155/101/165 179/104/166 -f 155/101/167 153/101/164 249/100/164 -f 156/105/168 178/106/169 251/100/168 -f 156/105/170 251/100/170 252/107/170 -f 156/105/171 158/108/172 177/109/173 -f 159/110/174 160/111/175 158/94/176 -f 159/110/174 161/112/177 162/113/178 -f 159/110/179 252/107/179 261/114/179 -f 163/112/180 176/115/181 162/113/182 -f 261/114/183 262/114/184 163/112/185 -f 165/116/186 176/115/186 263/117/186 -f 166/118/187 164/118/187 263/119/187 -f 167/120/188 165/116/189 164/118/190 -f 169/121/191 167/120/188 166/118/192 -f 272/122/193 168/123/193 166/118/194 -f 169/121/191 168/123/195 170/124/196 -f 168/123/193 272/122/193 273/125/197 -f 274/126/198 171/127/198 170/124/197 -f 275/128/199 173/87/199 171/127/199 -f 119/86/200 172/93/201 171/127/202 -f 174/129/203 170/124/196 171/127/202 -f 173/87/111 275/128/204 280/130/205 -f 174/129/5 158/94/5 160/111/5 -f 280/130/205 281/130/206 175/84/206 -f 282/131/207 117/82/207 175/84/207 -f 167/120/5 169/121/5 160/111/5 -f 167/120/5 162/113/5 176/115/5 -f 123/92/208 125/91/209 179/104/210 -f 179/104/211 155/106/212 178/106/169 -f 127/91/5 128/91/5 154/132/5 -f 154/132/5 128/91/5 129/91/5 -f 152/103/5 129/91/5 180/91/5 -f 180/91/5 129/91/5 130/91/5 -f 147/91/5 130/91/5 131/91/5 -f 145/91/5 131/91/5 132/91/5 -f 143/91/5 137/91/5 138/91/5 -f 138/91/5 139/91/5 142/91/5 -f 132/91/5 133/91/5 136/91/5 -f 133/91/5 134/91/5 135/91/5 -f 185/79/213 199/77/103 183/80/214 -f 282/80/107 184/18/107 182/18/106 -f 184/18/1 187/82/1 186/81/1 -f 190/83/1 185/79/1 182/18/1 -f 283/84/215 188/84/215 186/81/215 -f 186/85/216 188/84/217 278/87/218 -f 189/86/1 192/89/1 190/83/1 -f 190/83/219 192/89/220 194/88/221 -f 185/79/222 190/83/219 191/90/223 -f 193/92/224 195/91/225 194/91/226 -f 255/94/1 192/89/1 277/93/1 -f 201/91/120 196/95/120 194/88/120 -f 196/95/122 198/96/121 191/90/121 -f 198/96/121 199/98/123 200/97/123 -f 203/91/125 202/95/125 197/95/124 -f 205/91/126 204/95/126 202/95/125 -f 207/91/128 206/95/128 204/95/127 -f 209/91/129 208/95/129 206/95/128 -f 211/91/130 210/95/130 208/95/130 -f 213/91/132 212/95/132 210/95/131 -f 215/91/133 214/95/133 212/95/132 -f 217/91/134 216/95/134 214/95/134 -f 216/95/136 217/91/136 219/91/135 -f 218/95/135 219/91/135 221/91/137 -f 223/91/138 222/95/138 220/95/137 -f 225/91/139 224/95/139 222/95/138 -f 224/95/140 225/91/140 227/91/140 -f 226/95/141 231/91/141 228/95/141 -f 228/95/142 230/99/142 233/99/142 -f 230/99/227 231/91/228 289/91/229 -f 232/91/230 234/91/231 233/99/232 -f 234/91/233 236/91/234 235/99/235 -f 229/95/152 233/99/152 235/99/151 -f 237/99/236 235/99/235 236/91/234 -f 238/95/151 235/99/151 237/99/154 -f 240/100/155 239/95/155 237/99/155 -f 240/100/156 242/101/156 244/101/156 -f 237/99/236 288/91/237 243/102/238 -f 244/101/239 242/101/240 243/102/241 -f 246/101/242 244/101/239 245/103/243 -f 241/100/156 244/101/156 246/101/164 -f 246/101/242 247/132/244 287/104/245 -f 249/100/164 246/101/164 248/101/167 -f 248/101/246 286/106/247 251/100/168 -f 252/107/170 251/100/170 253/105/170 -f 253/105/248 254/106/249 285/109/250 -f 255/94/251 257/111/252 256/110/253 -f 256/110/253 257/111/252 259/113/254 -f 261/114/179 252/107/179 256/110/179 -f 259/113/255 284/115/256 260/112/257 -f 260/112/185 262/114/184 261/114/183 -f 262/133/184 284/115/186 263/117/186 -f 263/119/187 265/118/187 267/118/187 -f 268/120/258 267/118/259 265/118/260 -f 270/121/261 269/123/262 267/118/259 -f 267/118/194 269/123/193 272/122/193 -f 271/124/263 269/123/262 270/121/261 -f 273/125/197 272/122/193 269/123/193 -f 271/124/197 276/127/198 274/126/198 -f 276/127/199 278/87/199 275/128/199 -f 189/86/264 278/87/265 276/127/266 -f 276/127/266 271/124/263 279/129/267 -f 280/130/205 275/128/204 278/87/218 -f 257/111/1 255/94/1 279/129/1 -f 283/84/206 281/130/206 280/130/205 -f 187/82/207 184/18/207 282/131/207 -f 268/120/1 259/113/1 257/111/1 -f 268/120/1 266/116/1 284/115/1 -f 287/104/268 195/91/269 193/92/270 -f 287/104/271 286/106/247 248/106/246 -f 247/132/1 203/91/1 201/91/1 -f 247/132/1 245/103/1 205/91/1 -f 245/103/1 243/102/1 288/91/1 -f 288/91/1 236/91/1 207/91/1 -f 236/91/1 234/91/1 209/91/1 -f 234/91/1 232/91/1 211/91/1 -f 221/91/1 211/91/1 232/91/1 -f 225/91/1 223/91/1 231/91/1 -f 219/91/1 213/91/1 211/91/1 -f 217/91/1 215/91/1 213/91/1 -f 290/63/1 291/21/1 295/21/1 -f 290/63/1 292/10/1 304/20/1 -f 305/12/272 292/13/272 290/9/273 -f 290/9/273 294/9/274 296/5/274 -f 294/63/1 295/21/1 298/21/1 -f 294/9/274 297/9/275 299/5/275 -f 300/16/276 299/5/276 297/6/276 -f 296/5/5 299/5/5 300/16/5 -f 301/16/277 300/16/277 298/21/277 -f 302/16/278 301/16/279 295/21/279 -f 293/5/5 296/5/5 301/16/5 -f 304/20/280 303/18/280 302/16/278 -f 303/18/5 305/12/5 293/5/5 -f 304/22/13 292/24/13 305/12/13 -f 343/29/13 342/30/15 308/31/15 -f 342/30/15 344/37/281 310/38/281 -f 310/38/281 344/37/281 345/39/282 -f 345/39/282 346/42/283 314/43/283 -f 346/42/283 347/51/284 316/52/284 -f 347/51/284 348/53/285 318/54/285 -f 318/54/285 348/53/285 349/55/286 -f 349/55/286 350/58/287 322/62/287 -f 350/58/287 351/8/276 324/17/276 -f 351/8/276 352/59/288 326/61/288 -f 352/59/288 353/57/289 328/60/289 -f 353/57/289 354/50/290 330/49/290 -f 354/50/290 355/48/291 332/47/291 -f 355/48/291 356/45/292 334/44/292 -f 356/45/292 357/41/293 336/46/293 -f 357/41/293 358/36/294 338/35/294 -f 331/134/21 323/135/21 315/136/21 -f 338/35/294 358/36/294 359/32/295 -f 359/32/295 343/33/13 306/34/13 -f 312/26/12 328/137/12 336/28/12 -f 360/138/21 342/139/21 343/140/21 -f 362/141/21 344/142/21 342/139/21 -f 363/143/21 345/144/21 344/142/21 -f 364/136/21 346/145/21 345/144/21 -f 365/146/21 347/147/21 346/145/21 -f 366/148/21 348/149/21 347/147/21 -f 366/148/21 367/150/21 349/151/21 -f 367/150/21 368/135/21 350/152/21 -f 368/135/21 369/153/21 351/154/21 -f 370/155/21 352/156/21 351/154/21 -f 371/157/21 353/158/21 352/156/21 -f 371/157/21 372/134/21 354/159/21 -f 372/134/21 373/160/21 355/161/21 -f 373/160/21 374/162/21 356/163/21 -f 374/162/21 375/164/21 357/165/21 -f 376/166/21 358/167/21 357/165/21 -f 376/166/21 377/168/21 359/169/21 -f 377/168/21 361/170/21 343/140/21 -f 309/138/288 360/138/288 361/170/276 -f 311/141/289 362/141/289 360/138/288 -f 313/143/290 363/143/290 362/141/289 -f 315/136/291 364/136/291 363/143/290 -f 317/146/292 365/146/292 364/136/291 -f 319/148/293 366/148/293 365/146/292 -f 321/150/294 367/150/294 366/148/293 -f 323/135/295 368/135/295 367/150/294 -f 325/153/13 369/153/13 368/135/295 -f 327/155/15 370/155/15 369/153/13 -f 329/157/281 371/157/281 370/155/15 -f 331/134/282 372/134/282 371/157/281 -f 333/160/283 373/160/283 372/134/282 -f 335/162/284 374/162/284 373/160/283 -f 337/164/285 375/164/285 374/162/284 -f 339/166/286 376/166/286 375/164/285 -f 341/168/287 377/168/287 376/166/286 -f 341/168/287 307/170/276 361/170/276 -f 382/16/296 381/5/296 378/6/296 -f 380/10/1 389/20/1 379/21/1 -f 383/12/297 380/13/297 378/9/297 -f 382/16/5 384/18/5 383/12/5 -f 384/18/5 386/18/5 385/12/5 -f 383/12/21 385/12/21 387/13/21 -f 388/22/13 387/24/13 385/12/13 -f 380/10/1 387/10/1 388/20/1 -f 389/22/12 388/22/12 386/18/12 -f 389/20/1 390/20/1 391/21/1 -f 384/18/298 392/18/298 390/22/298 -f 390/20/12 392/18/12 393/16/12 -f 384/18/5 382/16/5 393/16/5 -f 379/171/299 391/171/299 393/16/299 -f 1/63/1 4/1/1 2/3/1 -f 2/25/2 10/4/2 1/6/3 -f 3/5/4 7/7/4 1/9/4 -f 4/1/1 5/10/1 6/2/1 -f 7/7/4 8/12/4 4/8/4 -f 3/5/5 10/4/5 7/7/5 -f 7/7/5 9/14/5 8/12/5 -f 10/4/5 13/16/5 9/14/5 -f 12/17/5 14/18/5 9/14/5 -f 16/21/6 15/19/6 13/16/6 -f 15/19/7 17/20/7 12/17/7 -f 2/3/1 6/2/1 16/21/1 -f 15/19/1 6/2/1 17/20/1 -f 14/18/8 17/22/8 11/15/9 -f 11/15/9 18/23/9 8/12/10 -f 16/171/11 13/16/11 2/25/2 -f 22/172/12 19/173/12 20/174/12 -f 20/174/12 28/175/12 30/26/12 -f 30/26/12 54/176/12 41/177/12 -f 41/177/12 43/178/12 45/179/12 -f 45/179/12 52/180/12 51/181/12 -f 51/181/12 50/182/12 49/137/12 -f 49/137/12 37/183/12 36/27/12 -f 36/27/12 35/184/12 34/28/12 -f 34/28/12 23/185/12 22/172/12 -f 22/172/12 20/174/12 30/26/12 -f 30/26/12 41/177/12 45/179/12 -f 45/179/12 51/181/12 49/137/12 -f 49/137/12 36/27/12 30/26/12 -f 34/28/12 22/172/12 30/26/12 -f 30/26/12 45/179/12 49/137/12 -f 19/186/13 21/29/13 20/31/15 -f 22/187/295 24/32/16 19/34/13 -f 22/187/295 23/35/17 24/32/16 -f 25/36/19 27/37/19 24/32/20 -f 20/31/15 26/30/14 28/38/23 -f 28/38/23 27/37/22 30/40/25 -f 29/39/26 27/37/19 32/41/26 -f 30/40/25 29/39/24 54/43/28 -f 33/45/29 31/42/29 32/41/26 -f 34/46/33 35/44/30 32/41/32 -f 23/35/17 34/46/33 25/36/18 -f 35/44/30 36/47/34 33/45/31 -f 36/47/34 37/49/36 38/48/35 -f 42/53/39 40/51/38 39/50/39 -f 40/51/38 31/42/29 38/48/38 -f 54/43/28 31/42/27 41/52/41 -f 41/52/41 40/51/40 43/54/43 -f 43/54/43 42/53/42 45/56/45 -f 44/55/46 42/53/39 47/57/46 -f 52/62/53 45/56/45 46/58/47 -f 46/58/21 44/55/21 48/59/21 -f 50/61/52 48/59/48 49/60/50 -f 37/49/36 49/60/50 39/50/37 -f 51/17/300 53/8/51 50/61/52 -f 51/17/301 52/62/53 53/8/51 -f 56/66/57 55/63/54 104/65/56 -f 55/63/54 56/66/57 59/63/59 -f 57/5/60 55/9/60 61/5/61 -f 55/9/60 57/5/60 58/68/62 -f 62/63/64 59/63/63 64/66/64 -f 61/5/61 59/9/61 65/5/65 -f 62/63/64 64/66/64 63/63/66 -f 65/5/65 62/9/65 66/5/65 -f 69/69/67 61/5/67 67/69/68 -f 68/69/69 67/69/68 66/5/69 -f 64/70/70 67/69/70 112/70/70 -f 60/70/71 69/69/71 64/70/70 -f 69/69/302 70/69/72 61/5/74 -f 56/70/75 70/69/75 60/70/71 -f 106/171/76 71/16/76 56/70/76 -f 71/16/303 74/71/77 70/69/72 -f 70/69/72 72/72/78 57/5/73 -f 73/67/79 72/72/78 76/12/81 -f 72/72/78 74/71/77 75/73/80 -f 76/12/83 75/73/83 79/12/83 -f 75/73/83 77/18/83 78/73/83 -f 79/12/5 78/73/5 82/12/5 -f 78/73/5 80/18/5 81/73/5 -f 82/12/84 81/73/84 85/12/84 -f 81/73/84 83/18/84 84/73/84 -f 85/12/5 84/73/5 88/12/5 -f 87/73/5 84/73/5 89/18/5 -f 87/73/85 90/74/85 88/12/85 -f 89/18/85 91/22/85 87/73/85 -f 94/20/1 93/75/1 91/20/1 -f 90/75/1 93/75/1 92/10/1 -f 98/20/86 96/75/86 94/20/86 -f 96/75/86 99/10/86 93/75/86 -f 96/75/1 97/75/1 99/10/1 -f 98/20/1 107/20/1 96/75/1 -f 99/13/87 82/12/87 95/13/88 -f 100/13/89 79/12/89 99/13/87 -f 101/13/90 76/12/90 100/13/89 -f 97/75/91 102/75/91 100/10/91 -f 58/64/55 101/10/92 104/65/56 -f 73/67/62 76/12/90 58/68/62 -f 103/20/91 102/75/91 107/20/91 -f 104/65/56 102/75/93 105/76/95 -f 106/21/304 56/66/57 105/76/95 -f 71/16/96 106/21/96 74/71/96 -f 105/76/96 103/20/97 74/71/96 -f 77/18/97 103/20/97 80/18/98 -f 80/18/98 107/20/98 83/18/99 -f 83/18/99 98/20/99 86/18/100 -f 95/13/88 85/12/88 92/13/88 -f 86/18/101 94/20/101 109/18/101 -f 94/20/1 91/20/1 108/20/1 -f 109/18/102 108/20/102 111/18/102 -f 91/22/85 89/18/85 110/22/85 -f 89/18/5 86/18/5 111/18/5 -f 112/70/66 68/69/69 63/6/66 -f 115/79/105 113/18/106 183/80/214 -f 183/80/214 199/77/103 115/79/105 -f 183/80/214 113/18/106 282/80/107 -f 113/18/5 116/81/5 114/18/5 -f 116/188/5 113/18/5 120/83/5 -f 117/82/108 116/81/108 175/84/108 -f 118/84/305 116/85/109 173/87/111 -f 122/89/5 119/86/5 120/83/5 -f 121/90/115 124/88/112 120/83/114 -f 126/97/306 121/90/115 115/79/116 -f 122/89/307 124/91/117 123/92/119 -f 158/94/5 174/129/5 172/93/5 -f 172/93/5 119/86/5 122/89/5 -f 122/89/5 123/92/5 158/94/5 -f 177/109/5 158/94/5 123/92/5 -f 127/91/120 125/91/120 124/88/120 -f 124/88/120 196/95/120 127/91/120 -f 124/88/122 121/90/121 196/95/122 -f 121/90/121 126/97/123 198/96/121 -f 127/91/124 197/95/124 128/91/125 -f 128/91/125 202/95/125 129/91/126 -f 129/91/127 204/95/127 130/91/128 -f 130/91/128 206/95/128 131/91/129 -f 131/91/130 208/95/130 132/91/130 -f 132/91/131 210/95/131 133/91/132 -f 133/91/132 212/95/132 134/91/133 -f 134/91/134 214/95/134 135/91/134 -f 218/95/135 136/91/135 216/95/136 -f 220/95/137 137/91/137 218/95/135 -f 137/91/137 220/95/137 138/91/138 -f 138/91/138 222/95/138 139/91/139 -f 226/95/140 140/91/140 224/95/140 -f 226/95/141 228/95/141 142/91/141 -f 141/99/141 142/91/141 228/95/141 -f 229/95/142 144/99/142 228/95/142 -f 142/91/308 141/99/143 181/91/145 -f 141/99/143 144/99/146 143/91/144 -f 144/99/309 146/99/148 145/91/150 -f 238/95/151 146/99/151 229/95/152 -f 180/91/310 147/91/149 148/99/153 -f 239/95/154 148/99/154 238/95/151 -f 149/101/155 148/99/155 240/100/155 -f 241/100/156 151/101/156 240/100/156 -f 180/91/310 148/99/153 150/102/158 -f 152/103/162 150/102/159 151/101/161 -f 154/132/311 152/103/162 153/101/163 -f 249/100/164 153/101/164 241/100/156 -f 154/132/311 153/101/163 179/104/166 -f 250/100/167 155/101/167 249/100/164 -f 250/100/168 251/100/168 155/101/212 -f 156/105/168 157/106/168 178/106/169 -f 178/106/169 155/101/212 251/100/168 -f 159/110/170 156/105/170 252/107/170 -f 157/106/312 156/105/171 177/109/173 -f 156/105/313 159/110/174 158/94/176 -f 160/111/175 159/110/174 162/113/178 -f 161/112/179 159/110/179 261/114/179 -f 161/112/314 163/112/180 162/113/182 -f 161/112/183 261/114/183 163/112/185 -f 262/133/184 263/117/186 176/115/186 -f 164/189/186 165/116/186 263/117/186 -f 176/115/186 163/190/185 262/133/184 -f 264/119/187 166/118/187 263/119/187 -f 166/118/192 167/120/188 164/118/190 -f 168/123/195 169/121/191 166/118/192 -f 264/119/194 272/122/193 166/118/194 -f 174/129/203 169/121/191 170/124/196 -f 170/124/197 168/123/193 273/125/197 -f 273/125/197 274/126/198 170/124/197 -f 274/126/199 275/128/199 171/127/199 -f 173/87/315 119/86/200 171/127/202 -f 172/93/201 174/129/203 171/127/202 -f 118/84/305 173/87/111 280/130/205 -f 169/121/5 174/129/5 160/111/5 -f 118/84/305 280/130/205 175/84/206 -f 175/84/207 281/130/207 282/131/207 -f 282/131/207 114/18/207 117/82/207 -f 162/113/5 167/120/5 160/111/5 -f 165/116/5 167/120/5 176/115/5 -f 178/106/316 157/106/317 177/109/317 -f 177/109/317 123/92/208 178/106/316 -f 125/91/209 127/91/318 179/104/210 -f 179/104/210 178/106/316 123/92/208 -f 179/104/5 127/91/5 154/132/5 -f 152/103/5 154/132/5 129/91/5 -f 150/102/5 152/103/5 180/91/5 -f 147/91/5 180/91/5 130/91/5 -f 145/91/5 147/91/5 131/91/5 -f 143/91/5 145/91/5 132/91/5 -f 138/91/5 181/91/5 143/91/5 -f 143/91/5 132/91/5 137/91/5 -f 140/91/5 142/91/5 139/91/5 -f 181/91/5 138/91/5 142/91/5 -f 137/91/5 132/91/5 136/91/5 -f 136/91/5 133/91/5 135/91/5 -f 183/80/214 182/18/106 185/79/213 -f 185/79/213 200/78/104 199/77/103 -f 183/80/214 282/80/107 182/18/106 -f 182/18/1 184/18/1 186/81/1 -f 186/188/1 190/83/1 182/18/1 -f 187/82/215 283/84/215 186/81/215 -f 189/86/319 186/85/216 278/87/218 -f 186/85/1 189/86/1 190/83/1 -f 191/90/223 190/83/219 194/88/221 -f 200/97/320 185/79/222 191/90/223 -f 192/89/321 193/92/224 194/91/226 -f 277/93/1 279/129/1 255/94/1 -f 255/94/1 285/109/1 193/92/1 -f 193/92/1 192/89/1 255/94/1 -f 189/86/1 277/93/1 192/89/1 -f 194/88/120 195/91/120 201/91/120 -f 201/91/120 197/95/120 196/95/120 -f 194/88/122 196/95/122 191/90/121 -f 191/90/121 198/96/121 200/97/123 -f 201/91/124 203/91/125 197/95/124 -f 203/91/125 205/91/126 202/95/125 -f 205/91/127 207/91/128 204/95/127 -f 207/91/128 209/91/129 206/95/128 -f 209/91/130 211/91/130 208/95/130 -f 211/91/131 213/91/132 210/95/131 -f 213/91/132 215/91/133 212/95/132 -f 215/91/134 217/91/134 214/95/134 -f 218/95/135 216/95/136 219/91/135 -f 220/95/137 218/95/135 221/91/137 -f 221/91/137 223/91/138 220/95/137 -f 223/91/138 225/91/139 222/95/138 -f 226/95/140 224/95/140 227/91/140 -f 230/99/141 228/95/141 231/91/141 -f 226/95/141 227/91/141 231/91/141 -f 229/95/142 228/95/142 233/99/142 -f 232/91/230 230/99/227 289/91/229 -f 230/99/227 232/91/230 233/99/232 -f 233/99/322 234/91/233 235/99/235 -f 238/95/151 229/95/152 235/99/151 -f 288/91/237 237/99/236 236/91/234 -f 239/95/154 238/95/151 237/99/154 -f 242/101/155 240/100/155 237/99/155 -f 241/100/156 240/100/156 244/101/156 -f 242/101/323 237/99/236 243/102/238 -f 245/103/243 244/101/239 243/102/241 -f 247/132/244 246/101/242 245/103/243 -f 249/100/164 241/100/156 246/101/164 -f 248/101/324 246/101/242 287/104/245 -f 250/100/167 249/100/164 248/101/167 -f 253/105/168 251/100/168 286/106/247 -f 250/100/168 248/101/246 251/100/168 -f 286/106/247 254/106/168 253/105/168 -f 256/110/170 252/107/170 253/105/170 -f 255/108/325 253/105/248 285/109/250 -f 253/105/326 255/94/251 256/110/253 -f 258/112/327 256/110/253 259/113/254 -f 258/112/179 261/114/179 256/110/179 -f 258/112/328 259/113/255 260/112/257 -f 258/112/183 260/112/185 261/114/183 -f 265/189/186 263/117/186 266/116/186 -f 262/133/184 260/190/185 284/115/186 -f 284/115/186 266/116/186 263/117/186 -f 264/119/187 263/119/187 267/118/187 -f 266/116/329 268/120/258 265/118/260 -f 268/120/258 270/121/261 267/118/259 -f 264/119/194 267/118/194 272/122/193 -f 279/129/267 271/124/263 270/121/261 -f 271/124/197 273/125/197 269/123/193 -f 273/125/197 271/124/197 274/126/198 -f 274/126/199 276/127/199 275/128/199 -f 277/93/330 189/86/264 276/127/266 -f 277/93/330 276/127/266 279/129/267 -f 188/84/217 280/130/205 278/87/218 -f 270/121/1 257/111/1 279/129/1 -f 188/84/217 283/84/206 280/130/205 -f 282/131/207 281/130/207 283/84/207 -f 283/84/207 187/82/207 282/131/207 -f 270/121/1 268/120/1 257/111/1 -f 259/113/1 268/120/1 284/115/1 -f 285/109/331 254/106/331 286/106/332 -f 286/106/332 287/104/268 193/92/270 -f 201/91/333 195/91/269 287/104/268 -f 193/92/270 285/109/331 286/106/332 -f 287/104/1 247/132/1 201/91/1 -f 203/91/1 247/132/1 205/91/1 -f 205/91/1 245/103/1 288/91/1 -f 205/91/1 288/91/1 207/91/1 -f 207/91/1 236/91/1 209/91/1 -f 209/91/1 234/91/1 211/91/1 -f 232/91/1 289/91/1 223/91/1 -f 223/91/1 221/91/1 232/91/1 -f 289/91/1 231/91/1 223/91/1 -f 227/91/1 225/91/1 231/91/1 -f 221/91/1 219/91/1 211/91/1 -f 219/91/1 217/91/1 213/91/1 -f 294/63/1 290/63/1 295/21/1 -f 291/21/1 290/63/1 304/20/1 -f 293/5/273 305/12/272 290/9/273 -f 293/5/273 290/9/273 296/5/274 -f 297/63/1 294/63/1 298/21/1 -f 296/5/274 294/9/274 299/5/275 -f 298/171/276 300/16/276 297/6/276 -f 301/16/5 296/5/5 300/16/5 -f 295/21/277 301/16/277 298/21/277 -f 291/21/278 302/16/278 295/21/279 -f 302/16/5 293/5/5 301/16/5 -f 291/21/278 304/20/280 302/16/278 -f 302/16/5 303/18/5 293/5/5 -f 303/18/13 304/22/13 305/12/13 -f 306/186/13 343/29/13 308/31/15 -f 308/31/15 342/30/15 310/38/281 -f 312/40/282 310/38/281 345/39/282 -f 312/40/282 345/39/282 314/43/283 -f 314/43/283 346/42/283 316/52/284 -f 316/52/284 347/51/284 318/54/285 -f 320/56/286 318/54/285 349/55/286 -f 320/56/286 349/55/286 322/62/287 -f 322/62/287 350/58/287 324/17/276 -f 324/17/276 351/8/276 326/61/288 -f 326/61/288 352/59/288 328/60/289 -f 328/60/289 353/57/289 330/49/290 -f 330/49/290 354/50/290 332/47/291 -f 332/47/291 355/48/291 334/44/292 -f 334/44/292 356/45/292 336/46/293 -f 336/46/293 357/41/293 338/35/294 -f 311/141/21 309/138/21 307/170/21 -f 307/170/21 341/168/21 339/166/21 -f 339/166/21 337/164/21 331/134/21 -f 335/162/21 333/160/21 331/134/21 -f 331/134/21 329/157/21 327/155/21 -f 327/155/21 325/153/21 331/134/21 -f 323/135/21 321/150/21 315/136/21 -f 319/148/21 317/146/21 315/136/21 -f 315/136/21 313/143/21 311/141/21 -f 311/141/21 307/170/21 315/136/21 -f 337/164/21 335/162/21 331/134/21 -f 331/134/21 325/153/21 323/135/21 -f 321/150/21 319/148/21 315/136/21 -f 315/136/21 307/170/21 339/166/21 -f 339/166/21 331/134/21 315/136/21 -f 340/187/295 338/35/294 359/32/295 -f 340/187/295 359/32/295 306/34/13 -f 340/172/12 306/173/12 308/174/12 -f 308/174/12 310/175/12 312/26/12 -f 312/26/12 314/176/12 316/177/12 -f 316/177/12 318/178/12 312/26/12 -f 320/179/12 322/180/12 324/181/12 -f 324/181/12 326/182/12 328/137/12 -f 328/137/12 330/183/12 332/27/12 -f 332/27/12 334/184/12 336/28/12 -f 336/28/12 338/185/12 340/172/12 -f 340/172/12 308/174/12 312/26/12 -f 312/26/12 318/178/12 320/179/12 -f 320/179/12 324/181/12 312/26/12 -f 328/137/12 332/27/12 336/28/12 -f 336/28/12 340/172/12 312/26/12 -f 312/26/12 324/181/12 328/137/12 -f 361/170/21 360/138/21 343/140/21 -f 360/138/21 362/141/21 342/139/21 -f 362/141/21 363/143/21 344/142/21 -f 363/143/21 364/136/21 345/144/21 -f 364/136/21 365/146/21 346/145/21 -f 365/146/21 366/148/21 347/147/21 -f 348/149/21 366/148/21 349/151/21 -f 349/151/21 367/150/21 350/152/21 -f 350/152/21 368/135/21 351/154/21 -f 369/153/21 370/155/21 351/154/21 -f 370/155/21 371/157/21 352/156/21 -f 353/158/21 371/157/21 354/159/21 -f 354/159/21 372/134/21 355/161/21 -f 355/161/21 373/160/21 356/163/21 -f 356/163/21 374/162/21 357/165/21 -f 375/164/21 376/166/21 357/165/21 -f 358/167/21 376/166/21 359/169/21 -f 359/169/21 377/168/21 343/140/21 -f 307/170/276 309/138/288 361/170/276 -f 309/138/288 311/141/289 360/138/288 -f 311/141/289 313/143/290 362/141/289 -f 313/143/290 315/136/291 363/143/290 -f 315/136/291 317/146/292 364/136/291 -f 317/146/292 319/148/293 365/146/292 -f 319/148/293 321/150/294 366/148/293 -f 321/150/294 323/135/295 367/150/294 -f 323/135/295 325/153/13 368/135/295 -f 325/153/13 327/155/15 369/153/13 -f 327/155/15 329/157/281 370/155/15 -f 329/157/281 331/134/282 371/157/281 -f 331/134/282 333/160/283 372/134/282 -f 333/160/283 335/162/284 373/160/283 -f 335/162/284 337/164/285 374/162/284 -f 337/164/285 339/166/286 375/164/285 -f 339/166/286 341/168/287 376/166/286 -f 377/168/287 341/168/287 361/170/276 -f 379/171/296 382/16/296 378/6/296 -f 378/63/1 380/10/1 379/21/1 -f 381/5/297 383/12/297 378/9/297 -f 381/5/5 382/16/5 383/12/5 -f 383/12/5 384/18/5 385/12/5 -f 380/13/21 383/12/21 387/13/21 -f 386/18/13 388/22/13 385/12/13 -f 389/20/1 380/10/1 388/20/1 -f 384/18/12 389/22/12 386/18/12 -f 379/21/1 389/20/1 391/21/1 -f 389/22/298 384/18/298 390/22/298 -f 391/21/12 390/20/12 393/16/12 -f 392/18/5 384/18/5 393/16/5 -f 382/16/299 379/171/299 393/16/299 -o Cube.002_Cube.021 -v 0.303146 0.085577 -0.001710 -v 0.303146 0.872109 0.004624 -v 0.303146 0.081354 -0.731230 -v 0.303146 0.862907 -0.711023 -v 0.303146 0.080847 -0.856947 -v 0.303146 0.822177 -0.800855 -v 0.303146 0.075826 -1.072472 -v 0.303146 0.796075 -0.891782 -v 0.303146 0.073710 -1.163270 -v 0.303146 0.787864 -0.976240 -v 0.303146 0.063710 -1.514404 -v 0.303146 0.777864 -1.327374 -v 0.251926 0.068142 -1.617266 -v 0.251926 0.627846 -1.468171 -v 0.214030 0.069637 -1.669251 -v 0.214030 0.545147 -1.542584 -v 0.267651 0.098661 2.312539 -v 0.285278 0.534732 2.304053 -v 0.267651 0.099883 -0.001090 -v 0.285278 0.533506 -0.000044 -v 0.293394 0.276088 -0.002001 -v 0.293394 0.277307 2.304053 -v 0.293394 0.404797 -0.001023 -v 0.293394 0.406020 2.304053 -v 0.262294 0.762169 -1.000000 -v 0.131147 0.762169 -1.000000 -v 0.262294 0.762169 -1.200000 -v 0.262294 0.962169 -1.200000 -v 0.131147 0.962169 -1.200000 -v 0.262294 0.962169 -1.085338 -v 0.262294 0.876831 -1.000000 -v 0.131147 0.762169 -1.200000 -v 0.131147 0.962169 -1.085338 -v 0.131147 0.876831 -1.000000 -v 0.125075 0.876831 -1.000000 -v 0.125075 0.762169 -1.200000 -v 0.125075 0.762169 -1.000000 -v 0.125075 0.882169 -1.200000 -v 0.125075 0.882169 -1.085338 -v -0.262294 0.762169 -1.000000 -v -0.131147 0.762169 -1.000000 -v -0.262294 0.762169 -1.200000 -v -0.262294 0.962169 -1.200000 -v -0.131147 0.962169 -1.200000 -v -0.262294 0.962169 -1.085338 -v -0.262294 0.876831 -1.000000 -v -0.131147 0.762169 -1.200000 -v -0.131147 0.962169 -1.085338 -v -0.131147 0.876831 -1.000000 -v -0.125075 0.876831 -1.000000 -v -0.125075 0.762169 -1.200000 -v -0.125075 0.762169 -1.000000 -v -0.125075 0.882169 -1.200000 -v -0.125075 0.882169 -1.085338 -v -0.303146 0.085577 -0.001710 -v -0.303146 0.872109 0.004624 -v -0.303146 0.081354 -0.731230 -v -0.303146 0.862907 -0.711023 -v -0.303146 0.080847 -0.856947 -v -0.303146 0.822177 -0.800855 -v -0.303146 0.075826 -1.072472 -v -0.303146 0.796075 -0.891782 -v -0.303146 0.073710 -1.163270 -v -0.303146 0.787864 -0.976240 -v -0.303146 0.063710 -1.514404 -v -0.303146 0.777864 -1.327374 -v -0.251926 0.068142 -1.617266 -v -0.251926 0.627846 -1.468171 -v -0.214030 0.069637 -1.669251 -v -0.214030 0.545147 -1.542584 -v -0.267651 0.098661 2.312539 -v -0.285278 0.534732 2.304053 -v -0.267651 0.099883 -0.001090 -v -0.285278 0.533506 -0.000044 -v 0.000000 0.065712 -0.002312 -v 0.000000 0.533506 -0.000044 -v 0.000000 0.065712 2.312539 -v 0.000000 0.534732 2.304053 -v -0.293394 0.276088 -0.002001 -v -0.293394 0.277307 2.304053 -v 0.000000 0.277307 2.304053 -v 0.000000 0.276088 -0.002001 -v -0.293394 0.404797 -0.001023 -v -0.293394 0.406020 2.304053 -v 0.000000 0.406020 2.304053 -v 0.000000 0.404797 -0.001023 -v 0.000000 0.081354 -0.731230 -v 0.000000 0.862907 -0.711023 -v 0.000000 0.085577 -0.001710 -v 0.000000 0.872109 0.004624 -v 0.000000 0.080847 -0.856947 -v 0.000000 0.822177 -0.800855 -v 0.000000 0.075826 -1.072472 -v 0.000000 0.796075 -0.891782 -v 0.000000 0.073710 -1.163270 -v 0.000000 0.787864 -0.976240 -v 0.000000 0.063710 -1.514404 -v 0.000000 0.777864 -1.327374 -v 0.000000 0.068142 -1.617266 -v 0.000000 0.627846 -1.468171 -v 0.000000 0.069637 -1.669251 -v 0.000000 0.545147 -1.542584 -v -0.262294 0.762169 -1.000000 -v -0.131147 0.762169 -1.000000 -v -0.262294 0.762169 -1.200000 -v -0.262294 0.962169 -1.200000 -v -0.131147 0.962169 -1.200000 -v -0.262294 0.962169 -1.085338 -v -0.262294 0.876831 -1.000000 -v -0.131147 0.762169 -1.200000 -v -0.131147 0.962169 -1.085338 -v -0.131147 0.876831 -1.000000 -v -0.125075 0.876831 -1.000000 -v -0.125075 0.762169 -1.200000 -v -0.125075 0.762169 -1.000000 -v -0.125075 0.882169 -1.200000 -v -0.125075 0.882169 -1.085338 -v 0.262294 0.762169 -1.000000 -v 0.131147 0.762169 -1.000000 -v 0.262294 0.762169 -1.200000 -v 0.262294 0.962169 -1.200000 -v 0.000000 0.762169 -1.200000 -v 0.000000 0.878055 -1.200000 -v 0.000000 0.762169 -1.000000 -v 0.131147 0.962169 -1.200000 -v 0.262294 0.962169 -1.085338 -v 0.262294 0.876831 -1.000000 -v 0.000000 0.876831 -1.000000 -v 0.000000 0.878055 -1.085338 -v 0.131147 0.762169 -1.200000 -v 0.131147 0.962169 -1.085338 -v 0.131147 0.876831 -1.000000 -v 0.125075 0.876831 -1.000000 -v 0.125075 0.762169 -1.200000 -v 0.125075 0.762169 -1.000000 -v 0.125075 0.882169 -1.200000 -v 0.125075 0.882169 -1.085338 -vt 0.375000 0.500000 -vt 0.625000 0.500000 -vt 0.625000 0.750000 -vt 0.375000 0.750000 -vt 0.250000 0.750000 -vt 0.750000 0.500000 -vt 0.625000 0.375000 -vt 0.562500 0.375000 -vt 0.562500 0.750000 -vt 0.750000 0.750000 -vt 0.625000 0.875000 -vt 0.562500 0.875000 -vt 0.500000 0.750000 -vt 0.500000 0.875000 -vt 0.500000 0.500000 -vt 0.500000 0.375000 -vt 0.562500 0.500000 -vt 0.250000 0.500000 -vt 0.375000 0.875000 -vt 0.625000 0.437500 -vt 0.518327 0.815394 -vt 0.518327 0.875000 -vt 0.312500 0.750000 -vt 0.625000 0.643327 -vt 0.518327 0.750000 -vt 0.687500 0.500000 -vt 0.687500 0.643327 -vt 0.750000 0.643327 -vt 0.690394 0.750000 -vt 0.690394 0.643327 -vt 0.687500 0.750000 -vt 0.312500 0.500000 -vt 0.309606 0.750000 -vt 0.518327 0.812500 -vt 0.375000 0.812500 -vt 0.625000 0.434606 -vt 0.375000 0.437500 -vt 0.375000 0.434606 -vt 0.309606 0.500000 -vt 0.690394 0.500000 -vt 0.375000 0.815394 -vt 0.375000 0.375000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -1.000000 0.004900 -vn 0.000000 -1.000000 0.005800 -vn 0.000000 0.976100 -0.217500 -vn 0.000000 0.938500 -0.345400 -vn 0.000000 0.982300 -0.187100 -vn 0.000000 0.998000 -0.062700 -vn 0.000000 0.999600 -0.028500 -vn 0.962800 0.069400 -0.261100 -vn 0.843300 0.138300 -0.519300 -vn 0.873100 0.124000 -0.471400 -vn 0.994200 0.027300 -0.104300 -vn 0.000000 0.676700 -0.736300 -vn 0.000000 0.678100 -0.735000 -vn 0.000000 0.496300 -0.868200 -vn 0.000000 0.684300 -0.729200 -vn 0.000000 0.476400 -0.879200 -vn 0.000000 0.257400 -0.966300 -vn 0.800500 0.154300 -0.579100 -vn 0.000000 0.007600 -1.000000 -vn 0.998000 0.062900 -0.000000 -vn 0.999500 0.031500 -0.000000 -vn 0.126300 -0.992000 -0.000000 -vn 0.122200 -0.992500 -0.000500 -vn 0.000000 -1.000000 -0.000500 -vn 0.000000 1.000000 -0.000500 -vn 0.000000 0.000000 1.000000 -vn -0.001900 0.044600 0.999000 -vn 0.000000 0.022600 0.999700 -vn 0.000000 0.021400 0.999800 -vn 0.989500 -0.144500 0.000100 -vn 0.997400 -0.072600 0.000000 -vn 0.000000 0.003300 -1.000000 -vn 0.000000 0.001500 -1.000000 -vn 0.001700 -0.002600 -1.000000 -vn 0.999500 0.031300 -0.000000 -vn 0.000000 -0.999400 -0.035900 -vn 0.000000 -0.999600 -0.028700 -vn 0.000000 -1.000000 -0.007300 -vn 0.000000 -0.999300 -0.038500 -vn 0.000000 -0.999700 0.025900 -vn 0.000000 -1.000000 -0.001100 -vn 0.000000 -0.999700 0.023300 -vn 0.000000 -0.999900 0.013700 -vn 0.000000 0.999900 -0.012900 -vn 0.000000 -0.008100 1.000000 -vn -0.000000 0.000000 -1.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 0.000000 -vn -0.022700 0.999600 0.016400 -vn 0.000000 0.999900 0.014300 -vn -0.020300 0.998800 0.044100 -vn -0.032900 0.999500 0.000000 -vn -0.032900 0.999000 0.031200 -vn 0.000000 0.707100 0.707100 -vn -0.997100 0.075700 0.000000 -vn -0.994400 0.097600 0.039700 -vn -0.996800 0.075700 0.025200 -vn 0.000000 0.998000 0.062400 -vn -0.420100 0.903400 0.086400 -vn -1.000000 0.000000 0.000000 -vn 0.020300 0.998800 0.044100 -vn 0.022700 0.999600 0.016400 -vn 0.032900 0.999000 0.031200 -vn 0.032900 0.999500 0.000000 -vn 0.996800 0.075700 0.025200 -vn 0.994400 0.097600 0.039700 -vn 0.997100 0.075700 0.000000 -vn 0.420100 0.903400 0.086400 -vn -0.873100 0.124000 -0.471400 -vn -0.843300 0.138300 -0.519300 -vn -0.962800 0.069400 -0.261100 -vn -0.994200 0.027300 -0.104300 -vn -0.800500 0.154300 -0.579100 -vn -0.999500 0.031500 -0.000000 -vn -0.998000 0.062900 -0.000000 -vn -0.122200 -0.992500 -0.000500 -vn -0.126300 -0.992000 -0.000000 -vn 0.001900 0.044600 0.999000 -vn 0.000000 0.040100 0.999200 -vn -0.989500 -0.144500 0.000100 -vn -0.989800 -0.142600 -0.000100 -vn -0.997400 -0.072600 -0.000000 -vn -0.001700 -0.002600 -1.000000 -vn -0.999500 0.031300 -0.000000 -vn 0.989800 -0.142600 -0.000100 -s 1 -f 396/191/334 398/191/334 399/192/334 -f 397/192/334 395/193/334 394/194/334 -f 396/191/335 394/194/336 482/195/336 -f 398/191/334 400/191/334 401/192/334 -f 397/192/337 399/192/338 485/196/338 -f 401/192/339 403/192/340 489/196/340 -f 399/192/338 401/192/339 487/196/339 -f 403/192/340 405/192/341 491/196/341 -f 400/191/334 402/191/334 403/192/334 -f 404/191/342 406/191/343 407/192/344 -f 402/191/334 404/191/342 405/192/345 -f 493/196/346 407/192/347 409/192/348 -f 491/196/349 405/192/349 407/192/347 -f 495/197/350 409/192/348 408/191/351 -f 406/191/343 408/191/352 409/192/352 -f 479/198/353 469/197/353 413/192/353 -f 413/192/354 411/193/354 417/199/355 -f 412/191/356 410/194/357 470/195/358 -f 469/196/359 471/200/359 411/193/359 -f 411/193/360 471/201/360 478/202/360 -f 410/194/361 415/203/362 474/204/363 -f 412/191/364 414/205/365 415/203/365 -f 475/206/366 414/205/367 412/191/368 -f 417/199/360 478/202/360 474/204/363 -f 416/207/369 417/199/355 415/203/365 -f 479/198/353 416/207/353 414/205/367 -f 492/208/370 494/208/371 408/191/371 -f 490/208/372 492/208/370 406/191/373 -f 488/208/374 490/208/372 404/191/375 -f 486/208/376 488/208/374 402/191/374 -f 484/208/377 486/208/376 400/191/376 -f 480/208/335 484/208/377 398/191/377 -f 481/196/337 483/200/378 395/193/378 -f 395/193/379 483/201/379 482/209/379 -f 422/210/380 421/192/380 420/191/380 -f 428/211/360 521/212/360 517/209/360 -f 420/191/381 418/194/381 419/213/381 -f 423/214/334 424/215/334 420/191/334 -f 422/216/382 426/217/382 423/214/382 -f 522/218/383 521/200/384 428/219/385 -f 516/196/386 522/218/383 432/220/387 -f 426/217/388 427/221/388 424/193/388 -f 425/222/381 419/213/381 430/223/381 -f 424/215/360 427/224/360 419/225/360 -f 431/226/380 422/210/380 425/227/380 -f 516/197/380 431/226/380 429/228/380 -f 429/229/381 430/223/381 517/195/381 -f 431/230/389 432/220/390 426/217/391 -f 432/220/390 428/219/392 427/221/393 -f 427/224/360 428/211/360 430/231/360 -f 435/191/380 436/192/380 437/210/380 -f 517/209/360 521/212/360 443/211/360 -f 434/213/381 433/194/381 435/191/381 -f 439/215/394 438/214/394 435/191/394 -f 438/214/382 441/217/382 437/216/382 -f 443/219/395 521/200/384 522/218/396 -f 447/220/397 522/218/396 516/196/398 -f 439/193/388 442/221/388 441/217/388 -f 445/223/381 434/213/381 440/222/381 -f 434/225/360 442/224/360 439/215/360 -f 440/227/380 437/210/380 446/226/380 -f 444/228/380 446/226/380 516/197/380 -f 517/195/381 445/223/381 444/229/381 -f 441/217/399 447/220/400 446/230/401 -f 442/221/402 443/219/392 447/220/400 -f 445/231/360 443/211/360 442/224/360 -f 453/192/394 452/191/394 450/191/394 -f 448/194/394 449/193/394 451/192/394 -f 482/195/336 448/194/336 450/191/335 -f 455/192/394 454/191/394 452/191/394 -f 485/196/338 453/192/338 451/192/337 -f 489/196/340 457/192/340 455/192/339 -f 487/196/339 455/192/339 453/192/338 -f 491/196/341 459/192/341 457/192/340 -f 457/192/394 456/191/394 454/191/394 -f 461/192/403 460/191/404 458/191/405 -f 459/192/406 458/191/405 456/191/394 -f 493/196/346 495/196/350 463/192/348 -f 491/196/349 493/196/346 461/192/347 -f 462/191/351 463/192/348 495/197/350 -f 463/192/407 462/191/407 460/191/404 -f 479/198/353 476/207/353 467/192/353 -f 477/199/408 465/193/409 467/192/409 -f 470/195/358 464/194/410 466/191/411 -f 465/193/359 471/200/359 469/196/359 -f 478/202/360 471/201/360 465/193/360 -f 464/194/412 470/209/413 474/204/363 -f 466/191/414 464/194/415 473/203/416 -f 466/191/417 472/205/367 475/206/366 -f 474/204/363 478/202/360 477/199/360 -f 473/203/416 477/199/408 476/207/418 -f 472/205/367 476/207/353 479/198/353 -f 462/191/371 494/208/371 492/208/370 -f 460/191/373 492/208/370 490/208/372 -f 458/191/375 490/208/372 488/208/374 -f 456/191/374 488/208/374 486/208/376 -f 454/191/376 486/208/376 484/208/377 -f 452/191/377 484/208/377 480/208/335 -f 449/193/378 483/200/378 481/196/337 -f 482/209/379 483/201/379 449/193/379 -f 498/191/380 499/192/380 500/210/380 -f 517/209/360 521/212/360 506/211/360 -f 497/213/381 496/194/381 498/191/381 -f 502/215/394 501/214/394 498/191/394 -f 501/214/382 504/217/382 500/216/382 -f 506/219/395 521/200/384 522/218/396 -f 510/220/397 522/218/396 516/196/398 -f 502/193/388 505/221/388 504/217/388 -f 508/223/381 497/213/381 503/222/381 -f 497/225/360 505/224/360 502/215/360 -f 503/227/380 500/210/380 509/226/380 -f 507/228/380 509/226/380 516/197/380 -f 517/195/381 508/223/381 507/229/381 -f 504/217/399 510/220/400 509/230/401 -f 505/221/402 506/219/392 510/220/400 -f 508/231/360 506/211/360 505/224/360 -f 518/210/380 514/192/380 513/191/380 -f 526/211/360 521/212/360 517/209/360 -f 513/191/381 511/194/381 512/213/381 -f 519/214/334 520/215/334 513/191/334 -f 518/216/382 524/217/382 519/214/382 -f 522/218/383 521/200/384 526/219/385 -f 516/196/386 522/218/383 530/220/387 -f 524/217/388 525/221/388 520/193/388 -f 523/222/381 512/213/381 528/223/381 -f 520/215/360 525/224/360 512/225/360 -f 529/226/380 518/210/380 523/227/380 -f 516/197/380 529/226/380 527/228/380 -f 527/229/381 528/223/381 517/195/381 -f 529/230/389 530/220/390 524/217/391 -f 530/220/390 526/219/392 525/221/393 -f 525/224/360 526/211/360 528/231/360 -f 397/192/334 396/191/334 399/192/334 -f 396/191/334 397/192/334 394/194/334 -f 480/208/335 396/191/335 482/195/336 -f 399/192/334 398/191/334 401/192/334 -f 481/196/337 397/192/337 485/196/338 -f 487/196/339 401/192/339 489/196/340 -f 485/196/338 399/192/338 487/196/339 -f 489/196/340 403/192/340 491/196/341 -f 401/192/334 400/191/334 403/192/334 -f 405/192/345 404/191/342 407/192/344 -f 403/192/334 402/191/334 405/192/345 -f 495/196/350 493/196/346 409/192/348 -f 493/196/346 491/196/349 407/192/347 -f 494/232/351 495/197/350 408/191/351 -f 407/192/344 406/191/343 409/192/352 -f 416/207/353 479/198/353 413/192/353 -f 416/207/369 413/192/354 417/199/355 -f 468/208/381 412/191/356 470/195/358 -f 413/192/359 469/196/359 411/193/359 -f 417/199/360 411/193/360 478/202/360 -f 470/209/413 410/194/361 474/204/363 -f 410/194/419 412/191/364 415/203/365 -f 468/232/367 475/206/366 412/191/368 -f 415/203/362 417/199/360 474/204/363 -f 414/205/365 416/207/369 415/203/365 -f 475/206/366 479/198/353 414/205/367 -f 406/191/373 492/208/370 408/191/371 -f 404/191/375 490/208/372 406/191/373 -f 402/191/374 488/208/374 404/191/375 -f 400/191/376 486/208/376 402/191/374 -f 398/191/377 484/208/377 400/191/376 -f 396/191/335 480/208/335 398/191/377 -f 397/192/337 481/196/337 395/193/378 -f 394/194/379 395/193/379 482/209/379 -f 425/227/380 422/210/380 420/191/380 -f 430/231/360 428/211/360 517/209/360 -f 425/222/381 420/191/381 419/213/381 -f 418/194/334 420/191/334 424/215/334 -f 421/192/334 423/214/334 420/191/334 -f 421/192/382 422/216/382 423/214/382 -f 432/220/387 522/218/383 428/219/385 -f 431/230/386 516/196/386 432/220/387 -f 423/214/388 426/217/388 424/193/388 -f 429/229/381 425/222/381 430/223/381 -f 418/194/360 424/215/360 419/225/360 -f 429/228/380 431/226/380 425/227/380 -f 515/232/380 516/197/380 429/228/380 -f 515/208/381 429/229/381 517/195/381 -f 422/216/389 431/230/389 426/217/391 -f 426/217/391 432/220/390 427/221/393 -f 419/225/360 427/224/360 430/231/360 -f 440/227/380 435/191/380 437/210/380 -f 445/231/360 517/209/360 443/211/360 -f 440/222/381 434/213/381 435/191/381 -f 436/192/394 435/191/394 438/214/394 -f 433/194/394 439/215/394 435/191/394 -f 436/192/382 438/214/382 437/216/382 -f 447/220/397 443/219/395 522/218/396 -f 446/230/398 447/220/397 516/196/398 -f 438/214/388 439/193/388 441/217/388 -f 444/229/381 445/223/381 440/222/381 -f 433/194/360 434/225/360 439/215/360 -f 444/228/380 440/227/380 446/226/380 -f 515/232/380 444/228/380 516/197/380 -f 515/208/381 517/195/381 444/229/381 -f 437/216/401 441/217/399 446/230/401 -f 441/217/399 442/221/402 447/220/400 -f 434/225/360 445/231/360 442/224/360 -f 451/192/394 453/192/394 450/191/394 -f 450/191/394 448/194/394 451/192/394 -f 480/208/335 482/195/336 450/191/335 -f 453/192/394 455/192/394 452/191/394 -f 481/196/337 485/196/338 451/192/337 -f 487/196/339 489/196/340 455/192/339 -f 485/196/338 487/196/339 453/192/338 -f 489/196/340 491/196/341 457/192/340 -f 455/192/394 457/192/394 454/191/394 -f 459/192/406 461/192/403 458/191/405 -f 457/192/394 459/192/406 456/191/394 -f 461/192/347 493/196/346 463/192/348 -f 459/192/349 491/196/349 461/192/347 -f 494/232/351 462/191/351 495/197/350 -f 461/192/403 463/192/407 460/191/404 -f 469/197/353 479/198/353 467/192/353 -f 476/207/418 477/199/408 467/192/409 -f 468/208/381 470/195/358 466/191/411 -f 467/192/359 465/193/359 469/196/359 -f 477/199/360 478/202/360 465/193/360 -f 473/203/362 464/194/412 474/204/363 -f 472/205/416 466/191/414 473/203/416 -f 468/232/367 466/191/417 475/206/366 -f 473/203/362 474/204/363 477/199/360 -f 472/205/416 473/203/416 476/207/418 -f 475/206/366 472/205/367 479/198/353 -f 460/191/373 462/191/371 492/208/370 -f 458/191/375 460/191/373 490/208/372 -f 456/191/374 458/191/375 488/208/374 -f 454/191/376 456/191/374 486/208/376 -f 452/191/377 454/191/376 484/208/377 -f 450/191/335 452/191/377 480/208/335 -f 451/192/337 449/193/378 481/196/337 -f 448/194/379 482/209/379 449/193/379 -f 503/227/380 498/191/380 500/210/380 -f 508/231/360 517/209/360 506/211/360 -f 503/222/381 497/213/381 498/191/381 -f 499/192/394 498/191/394 501/214/394 -f 496/194/394 502/215/394 498/191/394 -f 499/192/382 501/214/382 500/216/382 -f 510/220/397 506/219/395 522/218/396 -f 509/230/398 510/220/397 516/196/398 -f 501/214/388 502/193/388 504/217/388 -f 507/229/381 508/223/381 503/222/381 -f 496/194/360 497/225/360 502/215/360 -f 507/228/380 503/227/380 509/226/380 -f 515/232/380 507/228/380 516/197/380 -f 515/208/381 517/195/381 507/229/381 -f 500/216/401 504/217/399 509/230/401 -f 504/217/399 505/221/402 510/220/400 -f 497/225/360 508/231/360 505/224/360 -f 523/227/380 518/210/380 513/191/380 -f 528/231/360 526/211/360 517/209/360 -f 523/222/381 513/191/381 512/213/381 -f 511/194/334 513/191/334 520/215/334 -f 514/192/334 519/214/334 513/191/334 -f 514/192/382 518/216/382 519/214/382 -f 530/220/387 522/218/383 526/219/385 -f 529/230/386 516/196/386 530/220/387 -f 519/214/388 524/217/388 520/193/388 -f 527/229/381 523/222/381 528/223/381 -f 511/194/360 520/215/360 512/225/360 -f 527/228/380 529/226/380 523/227/380 -f 515/232/380 516/197/380 527/228/380 -f 515/208/381 527/229/381 517/195/381 -f 518/216/389 529/230/389 524/217/391 -f 524/217/391 530/220/390 525/221/393 -f 512/225/360 525/224/360 528/231/360 diff --git a/src/main/resources/assets/hbm/models/weapons/fatman.obj b/src/main/resources/assets/hbm/models/weapons/fatman.obj new file mode 100644 index 000000000..95b03b9a9 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/fatman.obj @@ -0,0 +1,3404 @@ +# Blender v2.79 (sub 0) OBJ File: 'fatman.blend' +# www.blender.org +o Piston +v 0.000000 1.187500 -5.750000 +v -0.132583 1.132582 -5.750000 +v -0.187500 1.000000 -5.750000 +v -0.132583 0.867417 -5.750000 +v 0.000000 0.812500 -5.750000 +v 0.132583 0.867417 -5.750000 +v 0.187500 1.000000 -5.750000 +v 0.132583 1.132582 -5.750000 +v 0.000000 1.187500 -2.375000 +v -0.132583 1.132582 -2.375000 +v -0.187500 1.000000 -2.375000 +v -0.132583 0.867417 -2.375000 +v 0.000000 0.812500 -2.375000 +v 0.132583 0.867417 -2.375000 +v 0.187500 1.000000 -2.375000 +v 0.132583 1.132582 -2.375000 +vt 0.728571 0.690984 +vt 0.739303 0.707865 +vt 0.728571 0.724747 +vt 0.720982 0.719802 +vt 0.717839 0.707865 +vt 0.720982 0.695928 +vt 0.736160 0.695928 +vt 0.736160 0.719802 +vt 0.932143 0.724719 +vt 0.739286 0.713483 +vt 0.932143 0.713483 +vt 0.932143 0.702247 +vt 0.739286 0.691011 +vt 0.932143 0.691011 +vt 0.932143 0.769663 +vt 0.739286 0.758427 +vt 0.932143 0.758427 +vt 0.932143 0.747191 +vt 0.739286 0.735955 +vt 0.932143 0.735955 +vt 0.739286 0.724719 +vt 0.739286 0.702247 +vt 0.932143 0.780899 +vt 0.739286 0.769663 +vt 0.739286 0.747191 +vt 0.739286 0.780899 +vn 0.0000 0.0000 1.0000 +vn 0.7071 0.7071 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 13/1/1 15/2/1 9/3/1 +f 9/3/1 10/4/1 11/5/1 +f 11/5/1 12/6/1 13/1/1 +f 13/1/1 14/7/1 15/2/1 +f 15/2/1 16/8/1 9/3/1 +f 9/3/1 11/5/1 13/1/1 +s 1 +f 8/9/2 15/10/3 7/11/3 +f 6/12/4 13/13/5 5/14/5 +f 4/15/6 11/16/7 3/17/7 +f 2/18/8 9/19/9 1/20/9 +f 1/20/9 16/21/2 8/9/2 +f 7/11/3 14/22/4 6/12/4 +f 5/23/5 12/24/6 4/15/6 +f 3/17/7 10/25/8 2/18/8 +f 8/9/2 16/21/2 15/10/3 +f 6/12/4 14/22/4 13/13/5 +f 4/15/6 12/24/6 11/16/7 +f 2/18/8 10/25/8 9/19/9 +f 1/20/9 9/19/9 16/21/2 +f 7/11/3 15/10/3 14/22/4 +f 5/23/5 13/26/5 12/24/6 +f 3/17/7 11/16/7 10/25/8 +o Handle +v -0.250000 -0.500000 7.000000 +v 0.250000 -0.500000 7.000000 +v -0.250000 -0.500000 4.000000 +v 0.250000 -0.500000 4.000000 +v -0.250000 -1.500000 6.500000 +v 0.250000 -1.500000 6.500000 +v -0.250000 -1.500000 4.000000 +v 0.250000 -1.500000 4.000000 +v 0.349112 -1.088388 4.000000 +v 0.525888 -0.911612 4.000000 +v 0.304917 -1.132583 4.125000 +v 0.570083 -0.867417 4.125000 +v 1.409772 -2.149048 5.500000 +v 1.586548 -1.972272 5.500000 +v 0.304917 -1.132583 4.375000 +v 0.570083 -0.867417 4.375000 +v 0.349112 -1.088388 4.500000 +v 0.525888 -0.911612 4.500000 +v 1.409772 -2.149048 3.750000 +v 1.586548 -1.972272 3.750000 +v 1.365578 -2.193243 3.875000 +v 1.630743 -1.928078 3.875000 +v 1.586548 -1.972272 4.375000 +v 1.409772 -2.149048 4.375000 +v 1.365578 -2.193243 4.250000 +v 1.630743 -1.928078 4.250000 +v 1.409772 -2.149048 4.375000 +v 1.586548 -1.972272 4.375000 +v 1.144607 -1.883883 5.875000 +v 1.321383 -1.707107 5.875000 +v 0.349112 -1.088388 5.875000 +v 0.525888 -0.911612 5.875000 +v 1.321383 -2.060660 5.500000 +v 1.498160 -1.883883 5.500000 +v 1.498160 -1.883883 4.375000 +v 1.321383 -2.060660 4.375000 +v 1.144607 -1.883883 5.750000 +v 1.321383 -1.707107 5.750000 +v 0.349112 -1.088388 5.750000 +v 0.525888 -0.911612 5.750000 +v 0.791053 -1.530330 4.750000 +v 0.967830 -1.353553 4.750000 +v 0.349112 -1.088388 4.750000 +v 0.525888 -0.911612 4.750000 +v 0.525888 -0.911612 4.875000 +v 0.967830 -1.353553 4.875000 +v 0.791053 -1.530330 4.875000 +v 0.349112 -1.088388 4.875000 +v 1.232995 -1.972272 4.875000 +v 1.409772 -1.795495 4.875000 +v 1.232995 -1.972272 5.000000 +v 1.409772 -1.795495 5.000000 +v 0.250000 -0.625000 4.000000 +v 0.250000 -0.625000 6.500000 +v 0.250000 -1.125000 4.000000 +v 0.250000 -1.125000 6.500000 +v 0.625000 -0.625000 4.000000 +v 0.625000 -0.625000 6.500000 +v 0.625000 -1.125000 4.000000 +v 0.625000 -1.125000 6.500000 +v 0.437500 -0.562500 4.000000 +v 0.281250 -0.604367 4.000000 +v 0.166867 -0.718750 4.000000 +v 0.125000 -0.875000 4.000000 +v 0.166867 -1.031250 4.000000 +v 0.281250 -1.145633 4.000000 +v 0.437500 -1.187500 4.000000 +v 0.593750 -1.145633 4.000000 +v 0.708133 -1.031250 4.000000 +v 0.750000 -0.875000 4.000000 +v 0.708133 -0.718750 4.000000 +v 0.593750 -0.604367 4.000000 +v 0.281250 -0.604367 3.812500 +v 0.437500 -0.562500 3.812500 +v 0.166867 -0.718750 3.812500 +v 0.125000 -0.875000 3.812500 +v 0.166867 -1.031250 3.812500 +v 0.281250 -1.145633 3.812500 +v 0.437500 -1.187500 3.812500 +v 0.593750 -1.145633 3.812500 +v 0.708133 -1.031250 3.812500 +v 0.750000 -0.875000 3.812500 +v 0.708133 -0.718750 3.812500 +v 0.593750 -0.604367 3.812500 +v 0.437500 -0.625000 3.812500 +v 0.312500 -0.658494 3.812500 +v 0.220994 -0.750000 3.812500 +v 0.187500 -0.875000 3.812500 +v 0.220994 -1.000000 3.812500 +v 0.312500 -1.091507 3.812500 +v 0.437500 -1.125000 3.812500 +v 0.562500 -1.091507 3.812500 +v 0.654006 -1.000000 3.812500 +v 0.687500 -0.875000 3.812500 +v 0.654006 -0.750000 3.812500 +v 0.562500 -0.658494 3.812500 +v 0.437500 -0.625000 3.875000 +v 0.312500 -0.658494 3.875000 +v 0.220994 -0.750000 3.875000 +v 0.187500 -0.875000 3.875000 +v 0.220994 -1.000000 3.875000 +v 0.312500 -1.091507 3.875000 +v 0.437500 -1.125000 3.875000 +v 0.562500 -1.091507 3.875000 +v 0.654006 -1.000000 3.875000 +v 0.687500 -0.875000 3.875000 +v 0.654006 -0.750000 3.875000 +v 0.562500 -0.658494 3.875000 +vt 0.414286 0.601124 +vt 0.557143 0.646067 +vt 0.414286 0.646067 +vt 0.557143 0.511236 +vt 0.385714 0.511236 +vt 0.614286 0.646067 +vt 0.557143 0.601124 +vt 0.614286 0.601124 +vt 0.557143 0.735955 +vt 0.357143 0.601124 +vt 0.357143 0.646067 +vt 0.457143 0.735955 +vt 0.464286 0.741573 +vt 0.457143 0.769663 +vt 0.278571 0.696629 +vt 0.342857 0.707865 +vt 0.278571 0.707865 +vt 0.342857 0.741573 +vt 0.278571 0.730337 +vt 0.342857 0.730337 +vt 0.185714 0.696629 +vt 0.250000 0.707865 +vt 0.185714 0.707865 +vt 0.250000 0.741573 +vt 0.185714 0.730337 +vt 0.250000 0.730337 +vt 0.275000 0.696629 +vt 0.253571 0.741573 +vt 0.521429 0.859551 +vt 0.535714 0.803371 +vt 0.535714 0.859551 +vt 0.514286 0.859551 +vt 0.500000 0.803371 +vt 0.514286 0.803371 +vt 0.514286 0.735955 +vt 0.500000 0.747191 +vt 0.500000 0.735955 +vt 0.542857 0.859551 +vt 0.542857 0.803371 +vt 0.535714 0.747191 +vt 0.542857 0.747191 +vt 0.521429 0.803371 +vt 0.514286 0.747191 +vt 0.521429 0.747191 +vt 0.021429 0.730337 +vt 0.164286 0.775281 +vt 0.021429 0.775281 +vt 0.185714 0.775281 +vt 0.164286 0.730337 +vt 0.185714 0.730337 +vt 0.164286 0.696629 +vt 0.021429 0.696629 +vt 0.000000 0.730337 +vt 0.000000 0.775281 +vt 0.021429 0.808989 +vt 0.164286 0.808989 +vt 0.763088 0.570208 +vt 0.778571 0.556147 +vt 0.794054 0.570208 +vt 0.753571 0.556180 +vt 0.757143 0.567416 +vt 0.753571 0.567416 +vt 0.757143 0.679775 +vt 0.753571 0.691011 +vt 0.753571 0.679775 +vt 0.753571 0.668539 +vt 0.753571 0.657303 +vt 0.757143 0.668539 +vt 0.757143 0.646067 +vt 0.753571 0.646067 +vt 0.757143 0.634831 +vt 0.753571 0.634831 +vt 0.757143 0.623595 +vt 0.753571 0.623595 +vt 0.753571 0.612360 +vt 0.757143 0.601124 +vt 0.753571 0.601124 +vt 0.753571 0.589888 +vt 0.757143 0.578652 +vt 0.753571 0.578652 +vt 0.762623 0.646072 +vt 0.775000 0.612350 +vt 0.787377 0.646072 +vt 0.385714 0.735955 +vt 0.464286 0.764045 +vt 0.435714 0.769663 +vt 0.435714 0.735955 +vt 0.428571 0.764045 +vt 0.428571 0.741573 +vt 0.342857 0.696629 +vt 0.278571 0.741573 +vt 0.250000 0.696629 +vt 0.185714 0.741573 +vt 0.253571 0.696629 +vt 0.275000 0.741573 +vt 0.500000 0.859551 +vt 0.778571 0.612393 +vt 0.769632 0.608625 +vt 0.763088 0.598331 +vt 0.760693 0.584270 +vt 0.769632 0.559915 +vt 0.787510 0.559915 +vt 0.796449 0.584270 +vt 0.794054 0.598331 +vt 0.787510 0.608625 +vt 0.757143 0.556180 +vt 0.757143 0.691011 +vt 0.757143 0.657303 +vt 0.757143 0.612360 +vt 0.757143 0.589888 +vt 0.782146 0.654301 +vt 0.775000 0.657312 +vt 0.767854 0.654301 +vt 0.760709 0.634831 +vt 0.762623 0.623591 +vt 0.767855 0.615362 +vt 0.782146 0.615362 +vt 0.787377 0.623591 +vt 0.789292 0.634831 +vt 0.428571 0.769663 +vt 0.435714 0.904494 +vt 0.428571 0.904494 +vt 0.464286 0.904494 +vt 0.464286 0.769663 +vt 0.478571 0.904494 +vt 0.485714 0.769663 +vt 0.485714 0.904494 +vt 0.414286 0.769663 +vt 0.407143 0.904494 +vt 0.414286 0.904494 +vt 0.450000 0.904494 +vt 0.392857 0.904494 +vt 0.407143 0.769663 +vt 0.278571 0.764045 +vt 0.275000 0.764045 +vt 0.253571 0.764045 +vt 0.250000 0.764045 +vt 0.185714 0.764045 +vt 0.742857 0.567416 +vt 0.742857 0.668539 +vt 0.742857 0.601124 +vt 0.742857 0.612360 +vt 0.742857 0.623595 +vt 0.742857 0.634831 +vt 0.742857 0.578652 +vt 0.742857 0.679775 +vt 0.742857 0.646067 +vt 0.742857 0.589888 +vt 0.742857 0.691011 +vt 0.742857 0.657303 +vt 0.760714 0.679775 +vt 0.760714 0.623595 +vt 0.760714 0.646067 +vt 0.760714 0.589888 +vt 0.760714 0.691011 +vt 0.760714 0.657303 +vt 0.760714 0.601124 +vt 0.760714 0.567416 +vt 0.760714 0.668539 +vt 0.760714 0.612360 +vt 0.760714 0.634831 +vt 0.760714 0.578652 +vt 0.457143 0.904494 +vt 0.478571 0.769663 +vt 0.385714 0.769663 +vt 0.342857 0.764045 +vt 0.742857 0.556180 +vt 0.760714 0.556180 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -0.4472 0.8944 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.0000 0.0000 1.0000 +vn -0.1387 0.1387 0.9806 +vn 0.1387 -0.1387 -0.9806 +vn 0.0000 1.0000 0.0000 +vn 0.4294 0.3303 0.8405 +vn 0.7003 0.6719 0.2412 +vn 0.4127 0.3119 0.8558 +vn 0.6533 -0.6533 0.3827 +vn 0.2892 0.4839 -0.8260 +vn 0.6539 0.7133 -0.2521 +vn 0.2508 0.4525 -0.8557 +vn -0.4839 -0.2892 -0.8260 +vn -0.7133 -0.6539 -0.2521 +vn -0.7158 -0.6671 -0.2065 +vn -0.3303 -0.4294 0.8405 +vn -0.6719 -0.7003 0.2412 +vn -0.3119 -0.4127 0.8558 +vn 0.6671 0.7158 -0.2065 +vn 0.7028 0.6771 0.2181 +vn -0.6771 -0.7028 0.2181 +vn 0.2706 -0.2706 0.9239 +vn -0.7071 0.7071 0.0000 +vn -0.6533 0.6533 -0.3827 +vn -0.2706 0.2706 -0.9239 +vn 0.5000 -0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.8660 0.5000 -0.0000 +vn 0.5000 0.8660 -0.0000 +vn -0.5000 0.8660 -0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.8660 0.5000 -0.0000 +vn -0.4525 -0.2508 -0.8557 +s off +f 21/27/10 24/28/10 22/29/10 +f 19/30/11 21/27/11 17/31/11 +f 20/32/12 23/33/12 19/34/12 +f 20/35/13 22/29/13 24/28/13 +f 17/36/14 22/29/14 18/37/14 +f 37/38/15 35/39/15 38/40/15 +f 49/41/16 40/42/16 29/43/16 +f 51/44/17 30/45/17 39/46/17 +f 55/47/16 45/48/16 47/49/16 +f 54/50/17 48/51/17 46/52/17 +f 45/48/16 49/53/16 29/43/16 +f 30/45/17 54/54/17 46/52/17 +f 60/55/12 57/56/12 59/57/12 +f 61/58/18 63/59/18 62/60/18 +f 66/61/15 67/62/15 65/63/15 +f 57/56/16 64/64/16 59/57/16 +f 63/65/16 65/66/16 67/67/16 +f 60/55/17 62/60/17 58/68/17 +f 62/60/19 67/62/19 68/69/19 +f 58/68/20 65/66/20 57/56/20 +f 62/60/17 66/70/17 58/68/17 +f 76/71/13 73/72/13 74/73/13 +f 69/74/12 75/75/12 71/76/12 +f 71/77/10 76/71/10 72/78/10 +f 72/79/18 74/73/18 70/80/18 +f 70/81/21 73/72/21 69/82/21 +f 81/83/18 83/84/18 85/85/18 +f 95/86/12 108/87/12 96/88/12 +f 106/89/12 95/90/12 94/91/12 +f 93/92/12 106/89/12 94/91/12 +f 92/93/12 105/94/12 93/92/12 +f 103/95/12 92/93/12 91/96/12 +f 102/97/12 91/96/12 89/98/12 +f 101/99/12 89/98/12 90/100/12 +f 100/101/12 101/99/12 90/100/12 +f 111/102/12 100/101/12 99/103/12 +f 98/104/12 111/102/12 99/103/12 +f 109/105/12 98/104/12 97/106/12 +f 108/87/12 97/106/12 96/88/12 +f 123/107/12 119/108/12 115/109/12 +f 21/27/10 23/33/10 24/28/10 +f 19/30/11 23/33/11 21/27/11 +f 20/32/12 24/28/12 23/33/12 +f 20/35/13 18/110/13 22/29/13 +f 17/36/14 21/27/14 22/29/14 +f 35/39/15 36/111/15 38/40/15 +f 38/40/15 42/112/15 41/113/15 +f 42/112/15 44/114/15 41/113/15 +f 44/114/15 43/115/15 41/113/15 +f 41/113/15 37/38/15 38/40/15 +f 49/41/16 52/116/16 40/42/16 +f 51/44/17 50/117/17 30/45/17 +f 55/47/16 53/118/16 45/48/16 +f 54/50/17 56/119/17 48/51/17 +f 45/48/16 53/120/16 49/53/16 +f 30/45/17 50/121/17 54/54/17 +f 60/55/12 58/68/12 57/56/12 +f 61/58/18 64/122/18 63/59/18 +f 66/61/15 68/69/15 67/62/15 +f 57/56/16 63/65/16 64/64/16 +f 63/65/16 57/56/16 65/66/16 +f 60/55/17 61/58/17 62/60/17 +f 62/60/19 63/59/19 67/62/19 +f 58/68/20 66/70/20 65/66/20 +f 62/60/17 68/69/17 66/70/17 +f 76/71/13 75/75/13 73/72/13 +f 69/74/12 73/72/12 75/75/12 +f 71/77/10 75/75/10 76/71/10 +f 72/79/18 76/71/18 74/73/18 +f 70/81/21 74/73/21 73/72/21 +f 77/123/18 78/124/18 79/125/18 +f 79/125/18 80/126/18 81/83/18 +f 81/83/18 82/127/18 83/84/18 +f 83/84/18 84/128/18 85/85/18 +f 85/85/18 86/129/18 87/130/18 +f 87/130/18 88/131/18 85/85/18 +f 88/131/18 77/123/18 85/85/18 +f 77/123/18 79/125/18 85/85/18 +f 79/125/18 81/83/18 85/85/18 +f 95/86/12 107/132/12 108/87/12 +f 106/89/12 107/133/12 95/90/12 +f 93/92/12 105/94/12 106/89/12 +f 92/93/12 104/134/12 105/94/12 +f 103/95/12 104/134/12 92/93/12 +f 102/97/12 103/95/12 91/96/12 +f 101/99/12 102/97/12 89/98/12 +f 100/101/12 112/135/12 101/99/12 +f 111/102/12 112/135/12 100/101/12 +f 98/104/12 110/136/12 111/102/12 +f 109/105/12 110/136/12 98/104/12 +f 108/87/12 109/105/12 97/106/12 +f 115/109/12 114/137/12 123/107/12 +f 114/137/12 113/138/12 123/107/12 +f 113/138/12 124/139/12 123/107/12 +f 123/107/12 122/140/12 119/108/12 +f 122/140/12 121/141/12 119/108/12 +f 121/141/12 120/142/12 119/108/12 +f 119/108/12 118/143/12 117/144/12 +f 117/144/12 116/145/12 119/108/12 +f 116/145/12 115/109/12 119/108/12 +s 1 +f 44/146/22 32/147/23 34/148/24 +f 30/45/25 40/42/15 39/46/15 +f 26/149/26 38/40/27 36/150/28 +f 25/151/29 37/152/30 27/153/31 +f 34/148/24 43/154/32 44/146/22 +f 36/150/28 25/151/29 26/149/26 +f 31/155/33 43/154/32 33/156/34 +f 28/157/35 42/112/36 38/40/27 +f 27/158/31 41/159/37 31/155/33 +f 46/52/38 29/43/25 30/45/25 +f 48/51/18 45/48/38 46/52/38 +f 51/44/39 49/160/40 50/117/40 +f 54/54/41 49/161/40 53/162/41 +f 56/119/12 53/163/41 55/164/12 +f 84/165/42 95/86/10 96/88/42 +f 81/166/43 92/93/11 93/92/43 +f 87/167/44 100/101/45 88/168/45 +f 77/169/21 89/98/46 78/170/46 +f 84/165/42 97/106/47 85/171/47 +f 81/166/43 94/91/48 82/172/48 +f 88/168/45 90/100/21 77/169/21 +f 79/173/49 89/98/46 91/96/49 +f 85/171/47 98/104/13 86/174/13 +f 83/175/10 94/91/48 95/90/10 +f 80/176/11 91/96/49 92/93/11 +f 86/174/13 99/103/44 87/167/44 +f 105/94/44 118/177/45 106/89/45 +f 112/135/48 113/178/10 101/99/10 +f 102/97/42 115/179/47 103/95/47 +f 109/105/49 122/180/11 110/136/11 +f 106/89/45 119/181/21 107/133/21 +f 103/95/47 116/182/13 104/134/13 +f 110/136/11 123/183/43 111/102/43 +f 107/132/21 120/184/46 108/87/46 +f 104/134/13 117/185/44 105/94/44 +f 111/102/43 124/186/48 112/135/48 +f 101/99/10 114/187/42 102/97/42 +f 108/87/46 121/188/49 109/105/49 +f 44/146/22 42/112/36 32/147/23 +f 30/45/25 29/43/25 40/42/15 +f 26/149/26 28/189/35 38/40/27 +f 25/151/29 35/190/50 37/152/30 +f 34/148/24 33/156/34 43/154/32 +f 36/150/28 35/190/50 25/151/29 +f 31/155/33 41/159/37 43/154/32 +f 28/157/35 32/147/23 42/112/36 +f 27/158/31 37/191/30 41/159/37 +f 46/52/38 45/48/38 29/43/25 +f 48/51/18 47/49/18 45/48/38 +f 51/44/39 52/192/39 49/160/40 +f 54/54/41 50/121/40 49/161/40 +f 56/119/12 54/50/41 53/163/41 +f 84/165/42 83/193/10 95/86/10 +f 81/166/43 80/176/11 92/93/11 +f 87/167/44 99/103/44 100/101/45 +f 77/169/21 90/100/21 89/98/46 +f 84/165/42 96/88/42 97/106/47 +f 81/166/43 93/92/43 94/91/48 +f 88/168/45 100/101/45 90/100/21 +f 79/173/49 78/170/46 89/98/46 +f 85/171/47 97/106/47 98/104/13 +f 83/175/10 82/172/48 94/91/48 +f 80/176/11 79/173/49 91/96/49 +f 86/174/13 98/104/13 99/103/44 +f 105/94/44 117/185/44 118/177/45 +f 112/135/48 124/186/48 113/178/10 +f 102/97/42 114/187/42 115/179/47 +f 109/105/49 121/188/49 122/180/11 +f 106/89/45 118/177/45 119/181/21 +f 103/95/47 115/179/47 116/182/13 +f 110/136/11 122/180/11 123/183/43 +f 107/132/21 119/194/21 120/184/46 +f 104/134/13 116/182/13 117/185/44 +f 111/102/43 123/183/43 124/186/48 +f 101/99/10 113/178/10 114/187/42 +f 108/87/46 120/184/46 121/188/49 +o Gauge +v 0.437500 -0.830806 3.875000 +v 0.393306 -0.875000 3.875000 +v 0.592180 -1.029680 3.875000 +v 0.437500 -0.830806 3.812500 +v 0.393306 -0.875000 3.812500 +v 0.592180 -1.029680 3.812500 +vt 0.689286 0.674157 +vt 0.689286 0.696629 +vt 0.685714 0.674157 +vt 0.685714 0.668539 +vt 0.671429 0.674157 +vt 0.671429 0.668539 +vt 0.703571 0.668539 +vt 0.689286 0.668539 +vt 0.703571 0.674157 +vn 0.0000 0.0000 -1.0000 +vn -0.6139 -0.7894 0.0000 +vn 0.7894 0.6139 0.0000 +vn -0.7071 0.7071 0.0000 +s off +f 128/195/51 130/196/51 129/197/51 +f 126/198/52 130/199/52 127/200/52 +f 127/201/53 128/195/53 125/202/53 +f 125/202/54 129/197/54 126/198/54 +f 126/198/52 129/197/52 130/199/52 +f 127/201/53 130/203/53 128/195/53 +f 125/202/54 128/195/54 129/197/54 +o Lid +v 1.000000 1.250000 6.750000 +v 1.000000 1.250000 -0.250000 +v 1.000000 0.750000 6.750000 +v 1.000000 0.750000 -0.250000 +v 0.750000 0.250000 6.750000 +v 0.750000 0.250000 -0.250000 +v 0.250000 -0.125000 6.750000 +v 0.250000 -0.125000 -0.250000 +v 1.000000 1.375000 -0.250000 +v 1.000000 1.375000 6.750000 +v 1.088388 1.338388 -0.250000 +v 1.088388 1.338388 6.750000 +v 1.125000 1.250000 -0.250000 +v 1.125000 1.250000 6.750000 +v 1.088388 1.161612 -0.250000 +v 1.088388 1.161612 6.750000 +v 1.000000 1.125000 -0.250000 +v 1.000000 1.125000 6.750000 +v 0.911612 1.161612 -0.250000 +v 0.911612 1.161612 6.750000 +v 0.875000 1.250000 -0.250000 +v 0.875000 1.250000 6.750000 +v 0.911612 1.338388 -0.250000 +v 0.911612 1.338388 6.750000 +v 0.250000 -0.125000 -0.250000 +v 0.250000 -0.125000 6.750000 +v 0.750000 0.250000 -0.250000 +v 0.750000 0.250000 6.750000 +v 1.000000 0.750000 -0.250000 +v 1.000000 0.750000 6.750000 +v 1.000000 1.250000 -0.250000 +v 1.000000 1.250000 6.750000 +vt 0.721692 0.432584 +vt 0.728571 0.421762 +vt 0.735451 0.432584 +vt 0.735451 0.455056 +vt 0.733436 0.462709 +vt 0.723707 0.447404 +vt 0.733436 0.440236 +vt 0.728571 0.443406 +vt 0.723707 0.440236 +vt 0.723707 0.424931 +vt 0.733436 0.424931 +vt 0.728571 0.465878 +vt 0.723707 0.462709 +vt 0.721692 0.455056 +vt 0.728571 0.444234 +vt 0.733436 0.447404 +vt 0.242857 0.331461 +vt 0.642857 0.286517 +vt 0.642857 0.331461 +vt 0.242857 0.286517 +vt 0.642857 0.235955 +vt 0.242857 0.235955 +vt 0.642857 0.179775 +vt 0.242857 0.376404 +vt 0.642857 0.365169 +vt 0.642857 0.376404 +vt 0.242857 0.365169 +vt 0.642857 0.353933 +vt 0.242857 0.353933 +vt 0.642857 0.342697 +vt 0.242857 0.342697 +vt 0.642857 0.331461 +vt 0.242857 0.421348 +vt 0.642857 0.410112 +vt 0.642857 0.421348 +vt 0.242857 0.410112 +vt 0.642857 0.398876 +vt 0.242857 0.398876 +vt 0.642857 0.387640 +vt 0.242857 0.387640 +vt 0.642857 0.179775 +vt 0.242857 0.235955 +vt 0.642857 0.235955 +vt 0.242857 0.286517 +vt 0.642857 0.286517 +vt 0.242857 0.331461 +vt 0.642857 0.331461 +vt 0.242857 0.179775 +vt 0.242857 0.331461 +vt 0.242857 0.179775 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.9732 -0.2298 0.0000 +vn 0.7678 -0.6407 0.0000 +vn 0.6000 -0.8000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.6000 0.8000 0.0000 +vn -0.7678 0.6407 0.0000 +vn -0.9732 0.2298 0.0000 +s off +f 152/204/55 148/205/55 144/206/55 +f 151/207/56 153/208/56 145/209/56 +f 144/206/55 142/210/55 140/211/55 +f 140/211/55 154/212/55 152/204/55 +f 152/204/55 150/213/55 148/205/55 +f 148/205/55 146/214/55 144/206/55 +f 144/206/55 140/211/55 152/204/55 +f 153/208/56 139/215/56 141/216/56 +f 141/216/56 143/217/56 153/208/56 +f 143/217/56 145/209/56 153/208/56 +f 145/209/56 147/218/56 149/219/56 +f 149/219/56 151/207/56 145/209/56 +s 1 +f 131/220/57 134/221/58 132/222/57 +f 133/223/58 136/224/59 134/221/58 +f 135/225/59 138/226/60 136/224/59 +f 140/227/61 141/228/62 139/229/61 +f 142/230/62 143/231/57 141/228/62 +f 144/232/57 145/233/63 143/231/57 +f 146/234/63 147/235/64 145/233/63 +f 148/236/64 149/237/65 147/238/64 +f 150/239/65 151/240/66 149/237/65 +f 152/241/66 153/242/67 151/240/66 +f 154/243/67 139/229/61 153/242/67 +f 155/244/68 158/245/69 157/246/69 +f 157/246/69 160/247/70 159/248/70 +f 159/248/70 162/249/66 161/250/66 +f 131/220/57 133/223/58 134/221/58 +f 133/223/58 135/225/59 136/224/59 +f 135/225/59 137/251/60 138/226/60 +f 140/227/61 142/230/62 141/228/62 +f 142/230/62 144/232/57 143/231/57 +f 144/232/57 146/234/63 145/233/63 +f 146/234/63 148/252/64 147/235/64 +f 148/236/64 150/239/65 149/237/65 +f 150/239/65 152/241/66 151/240/66 +f 152/241/66 154/243/67 153/242/67 +f 154/243/67 140/227/61 139/229/61 +f 155/244/68 156/253/68 158/245/69 +f 157/246/69 158/245/69 160/247/70 +f 159/248/70 160/247/70 162/249/66 +o MiniNuke +v 0.000000 2.000000 -1.000000 +v -0.382683 1.923880 -1.000000 +v -0.707107 1.707107 -1.000000 +v -0.923880 1.382683 -1.000000 +v -1.000000 1.000000 -1.000000 +v -0.923880 0.617316 -1.000000 +v -0.707107 0.292893 -1.000000 +v -0.382683 0.076120 -1.000000 +v 0.000000 0.000000 -1.000000 +v 0.382683 0.076120 -1.000000 +v 0.707107 0.292893 -1.000000 +v 0.923880 0.617316 -1.000000 +v 1.000000 1.000000 -1.000000 +v 0.923880 1.382684 -1.000000 +v 0.707107 1.707107 -1.000000 +v 0.382683 1.923880 -1.000000 +v 0.000000 1.375000 -2.375000 +v -0.143507 1.346455 -2.375000 +v -0.265165 1.265165 -2.375000 +v -0.346455 1.143506 -2.375000 +v -0.375000 1.000000 -2.375000 +v -0.346455 0.856494 -2.375000 +v -0.265165 0.734835 -2.375000 +v -0.143507 0.653545 -2.375000 +v 0.000000 0.625000 -2.375000 +v 0.143506 0.653545 -2.375000 +v 0.265165 0.734835 -2.375000 +v 0.346455 0.856494 -2.375000 +v 0.375000 1.000000 -2.375000 +v 0.346455 1.143506 -2.375000 +v 0.265165 1.265165 -2.375000 +v 0.143506 1.346455 -2.375000 +v 0.000000 1.375000 0.375000 +v -0.143507 1.346455 0.375000 +v -0.265165 1.265165 0.375000 +v -0.346455 1.143506 0.375000 +v -0.375000 1.000000 0.375000 +v -0.346455 0.856494 0.375000 +v -0.265165 0.734835 0.375000 +v -0.143507 0.653545 0.375000 +v 0.000000 0.625000 0.375000 +v 0.143506 0.653545 0.375000 +v 0.265165 0.734835 0.375000 +v 0.346455 0.856494 0.375000 +v 0.375000 1.000000 0.375000 +v 0.346455 1.143506 0.375000 +v 0.265165 1.265165 0.375000 +v 0.143506 1.346455 0.375000 +v 0.000000 1.875000 -1.750000 +v -0.334848 1.808394 -1.750000 +v -0.618719 1.618718 -1.750000 +v -0.808394 1.334848 -1.750000 +v -0.875000 1.000000 -1.750000 +v -0.808394 0.665152 -1.750000 +v -0.618719 0.381282 -1.750000 +v -0.334848 0.191606 -1.750000 +v 0.000000 0.125000 -1.750000 +v 0.334848 0.191605 -1.750000 +v 0.618718 0.381281 -1.750000 +v 0.808394 0.665152 -1.750000 +v 0.875000 1.000000 -1.750000 +v 0.808394 1.334848 -1.750000 +v 0.618718 1.618719 -1.750000 +v 0.334847 1.808395 -1.750000 +v 0.000000 1.875000 -0.250000 +v -0.334848 1.808394 -0.250000 +v -0.618719 1.618718 -0.250000 +v -0.808394 1.334848 -0.250000 +v -0.875000 1.000000 -0.250000 +v -0.808394 0.665152 -0.250000 +v -0.618719 0.381282 -0.250000 +v -0.334848 0.191606 -0.250000 +v 0.000000 0.125000 -0.250000 +v 0.334848 0.191605 -0.250000 +v 0.618718 0.381281 -0.250000 +v 0.808394 0.665152 -0.250000 +v 0.875000 1.000000 -0.250000 +v 0.808394 1.334848 -0.250000 +v 0.618718 1.618719 -0.250000 +v 0.334847 1.808395 -0.250000 +v 0.000000 1.000000 0.625000 +v 0.000000 2.000000 -3.250000 +v -0.382683 1.923880 -3.250000 +v -0.923880 1.382683 -3.250000 +v -1.000000 1.000000 -3.250000 +v -0.923880 0.617316 -3.250000 +v -0.382683 0.076120 -3.250000 +v 0.000000 0.000000 -3.250000 +v 0.382683 0.076120 -3.250000 +v 0.923880 0.617316 -3.250000 +v 1.000000 1.000000 -3.250000 +v 0.923880 1.382684 -3.250000 +v 0.382683 1.923880 -3.250000 +v 0.000000 2.000000 -2.750000 +v -0.382683 1.923880 -2.750000 +v -0.707107 1.707107 -2.750000 +v -0.923880 1.382683 -2.750000 +v -1.000000 1.000000 -2.750000 +v -0.923880 0.617316 -2.750000 +v -0.707107 0.292893 -2.750000 +v -0.382683 0.076120 -2.750000 +v 0.000000 0.000000 -2.750000 +v 0.382683 0.076120 -2.750000 +v 0.707107 0.292893 -2.750000 +v 0.923880 0.617316 -2.750000 +v 1.000000 1.000000 -2.750000 +v 0.923880 1.382684 -2.750000 +v 0.707107 1.707107 -2.750000 +v 0.382683 1.923880 -2.750000 +v 0.000000 2.000000 -2.500000 +v -0.382683 1.923880 -2.500000 +v -0.707107 1.707107 -2.500000 +v -0.923880 1.382683 -2.500000 +v -1.000000 1.000000 -2.500000 +v -0.923880 0.617316 -2.500000 +v -0.707107 0.292893 -2.500000 +v -0.382683 0.076120 -2.500000 +v 0.000000 0.000000 -2.500000 +v 0.382683 0.076120 -2.500000 +v 0.707107 0.292893 -2.500000 +v 0.923880 0.617316 -2.500000 +v 1.000000 1.000000 -2.500000 +v 0.923880 1.382684 -2.500000 +v 0.707107 1.707107 -2.500000 +v 0.382683 1.923880 -2.500000 +v 0.000000 1.875000 -3.250000 +v -0.334848 1.808394 -3.250000 +v -0.808394 1.334848 -3.250000 +v -0.875000 1.000000 -3.250000 +v -0.808394 0.665152 -3.250000 +v -0.334848 0.191606 -3.250000 +v 0.000000 0.125000 -3.250000 +v 0.334848 0.191605 -3.250000 +v 0.808394 0.665152 -3.250000 +v 0.875000 1.000000 -3.250000 +v 0.808394 1.334848 -3.250000 +v 0.334847 1.808395 -3.250000 +v 0.000000 1.875000 -2.750000 +v -0.334848 1.808394 -2.750000 +v -0.618719 1.618718 -2.750000 +v -0.808394 1.334848 -2.750000 +v -0.875000 1.000000 -2.750000 +v -0.808394 0.665152 -2.750000 +v -0.618719 0.381282 -2.750000 +v -0.334848 0.191606 -2.750000 +v 0.000000 0.125000 -2.750000 +v 0.334848 0.191605 -2.750000 +v 0.618718 0.381281 -2.750000 +v 0.808394 0.665152 -2.750000 +v 0.875000 1.000000 -2.750000 +v 0.808394 1.334848 -2.750000 +v 0.618718 1.618719 -2.750000 +v 0.334847 1.808395 -2.750000 +v 0.000000 1.875000 -2.500000 +v -0.334848 1.808394 -2.500000 +v -0.618719 1.618718 -2.500000 +v -0.808394 1.334848 -2.500000 +v -0.875000 1.000000 -2.500000 +v -0.808394 0.665152 -2.500000 +v -0.618719 0.381282 -2.500000 +v -0.334848 0.191606 -2.500000 +v 0.000000 0.125000 -2.500000 +v 0.334848 0.191605 -2.500000 +v 0.618718 0.381281 -2.500000 +v 0.808394 0.665152 -2.500000 +v 0.875000 1.000000 -2.500000 +v 0.808394 1.334848 -2.500000 +v 0.618718 1.618719 -2.500000 +v 0.334847 1.808395 -2.500000 +v 0.062500 1.875000 -2.250000 +v -0.062500 1.875000 -2.250000 +v 0.062500 1.875000 -2.750000 +v -0.062500 1.875000 -2.750000 +v 0.062500 1.250000 -2.250000 +v -0.062500 1.250000 -2.250000 +v 0.062500 1.250000 -2.750000 +v -0.062500 1.250000 -2.750000 +v -0.062500 1.562500 -1.937500 +v 0.062500 1.562500 -1.937500 +v -0.062500 0.125000 -2.250000 +v 0.062500 0.125000 -2.250000 +v -0.062500 0.125000 -2.750000 +v 0.062500 0.125000 -2.750000 +v -0.062500 0.750000 -2.250000 +v 0.062500 0.750000 -2.250000 +v -0.062500 0.750000 -2.750000 +v 0.062500 0.750000 -2.750000 +v 0.062500 0.437500 -1.937500 +v -0.062500 0.437500 -1.937500 +v 0.875000 0.937500 -2.250000 +v 0.875000 1.062500 -2.250000 +v 0.875000 0.937500 -2.750000 +v 0.875000 1.062500 -2.750000 +v 0.250000 0.937500 -2.250000 +v 0.250000 1.062500 -2.250000 +v 0.250000 0.937500 -2.750000 +v 0.250000 1.062500 -2.750000 +v 0.562500 1.062500 -1.937500 +v 0.562500 0.937500 -1.937500 +v -0.875000 1.062500 -2.250000 +v -0.875000 0.937500 -2.250000 +v -0.875000 1.062500 -2.750000 +v -0.875000 0.937500 -2.750000 +v -0.250000 1.062500 -2.250000 +v -0.250000 0.937500 -2.250000 +v -0.250000 1.062500 -2.750000 +v -0.250000 0.937500 -2.750000 +v -0.562500 0.937500 -1.937500 +v -0.562500 1.062500 -1.937500 +vt 0.814815 0.197385 +vt 0.885186 0.197385 +vt 0.885186 0.296732 +vt -0.000000 0.000000 +vt 0.050000 0.023529 +vt 0.000000 0.023529 +vt 0.750000 0.023529 +vt 0.800000 0.000000 +vt 0.800000 0.023529 +vt 0.733333 0.329412 +vt 0.750000 0.235294 +vt 0.750000 0.329412 +vt 0.700000 0.117647 +vt 0.750000 0.094118 +vt 0.750000 0.117647 +vt 0.650000 0.117647 +vt 0.700000 0.094118 +vt 0.666667 0.329412 +vt 0.650000 0.235294 +vt 0.666667 0.235294 +vt 0.600000 0.000000 +vt 0.650000 0.023529 +vt 0.600000 0.023529 +vt 0.550000 0.023529 +vt 0.533333 0.235294 +vt 0.550000 0.329412 +vt 0.533333 0.329412 +vt 0.500000 0.094118 +vt 0.550000 0.117647 +vt 0.500000 0.117647 +vt 0.450000 0.094118 +vt 0.450000 0.117647 +vt 0.466667 0.329412 +vt 0.450000 0.235294 +vt 0.466667 0.235294 +vt 0.400000 0.000000 +vt 0.450000 0.023529 +vt 0.400000 0.023529 +vt 0.350000 -0.000000 +vt 0.350000 0.023529 +vt 0.350000 0.235294 +vt 0.333333 0.329412 +vt 0.333333 0.235294 +vt 0.300000 0.094118 +vt 0.350000 0.117647 +vt 0.300000 0.117647 +vt 0.066667 0.235294 +vt 0.050000 0.329412 +vt 0.050000 0.235294 +vt 0.100000 0.094118 +vt 0.050000 0.117647 +vt 0.050000 0.094118 +vt 0.150000 0.094118 +vt 0.100000 0.117647 +vt 0.133333 0.329412 +vt 0.150000 0.235294 +vt 0.150000 0.329412 +vt 0.200000 -0.000000 +vt 0.150000 0.023529 +vt 0.150000 -0.000000 +vt 0.250000 0.023529 +vt 0.250000 0.000000 +vt 0.266667 0.235294 +vt 0.250000 0.329412 +vt 0.250000 0.235294 +vt 0.250000 0.094118 +vt 0.250000 0.117647 +vt 0.350000 0.164706 +vt 0.300000 0.188235 +vt 0.300000 0.164706 +vt 0.400000 0.164706 +vt 0.350000 0.188235 +vt 0.450000 0.164706 +vt 0.400000 0.188235 +vt 0.500000 0.164706 +vt 0.450000 0.188235 +vt 0.550000 0.164706 +vt 0.500000 0.188235 +vt 0.600000 0.188235 +vt 0.550000 0.188235 +vt 0.650000 0.164706 +vt 0.600000 0.164706 +vt 0.700000 0.188235 +vt 0.650000 0.188235 +vt 0.700000 0.164706 +vt 0.750000 0.188235 +vt 0.750000 0.164706 +vt 0.800000 0.188235 +vt -0.000000 0.164706 +vt 0.050000 0.188235 +vt 0.000000 0.188235 +vt 0.100000 0.164706 +vt 0.050000 0.164706 +vt 0.150000 0.188235 +vt 0.100000 0.188235 +vt 0.150000 0.164706 +vt 0.200000 0.188235 +vt 0.250000 0.164706 +vt 0.200000 0.164706 +vt 0.250000 0.188235 +vt 0.900000 0.117647 +vt 0.916667 0.023529 +vt 0.916667 0.117647 +vt 0.800000 0.023529 +vt 0.816667 0.117647 +vt 0.800000 0.117647 +vt 0.900000 0.117647 +vt 0.916667 0.023529 +vt 0.916667 0.117647 +vt 0.816667 0.023529 +vt 0.900000 0.023529 +vt 0.816667 -0.000000 +vt 0.900000 -0.000000 +vt 1.000000 0.023529 +vt 1.000000 0.117647 +vt 0.900000 0.176471 +vt 0.800000 0.023529 +vt 0.816667 0.117647 +vt 0.800000 0.117647 +vt 0.816667 0.023529 +vt 0.900000 0.023529 +vt 0.816667 -0.000000 +vt 0.900000 -0.000000 +vt 1.000000 0.023529 +vt 1.000000 0.117647 +vt 0.900000 0.176471 +vt 0.900000 0.117647 +vt 0.916667 0.023529 +vt 0.916667 0.117647 +vt 0.800000 0.023529 +vt 0.816667 0.117647 +vt 0.800000 0.117647 +vt 0.900000 0.117647 +vt 0.916667 0.023529 +vt 0.916667 0.117647 +vt 0.816667 0.023529 +vt 0.900000 0.023529 +vt 0.816667 -0.000000 +vt 0.900000 -0.000000 +vt 1.000000 0.023529 +vt 1.000000 0.117647 +vt 0.900000 0.176471 +vt 0.800000 0.023529 +vt 0.816667 0.117647 +vt 0.800000 0.117647 +vt 0.816667 0.023529 +vt 0.900000 -0.000000 +vt 0.816667 -0.000000 +vt 1.000000 0.023529 +vt 1.000000 0.117647 +vt 0.900000 0.176471 +vt 0.869042 0.311960 +vt 0.850000 0.317307 +vt 0.830958 0.311960 +vt 0.814815 0.296732 +vt 0.804028 0.273942 +vt 0.800241 0.247059 +vt 0.804028 0.220176 +vt 0.830958 0.182157 +vt 0.850000 0.176810 +vt 0.869042 0.182157 +vt 0.895972 0.220176 +vt 0.899760 0.247059 +vt 0.895972 0.273942 +vt 0.050000 -0.000000 +vt 0.750000 -0.000000 +vt 0.733333 0.235294 +vt 0.650000 0.094118 +vt 0.650000 0.329412 +vt 0.650000 -0.000000 +vt 0.550000 0.000000 +vt 0.550000 0.235294 +vt 0.550000 0.094118 +vt 0.450000 0.329412 +vt 0.450000 -0.000000 +vt 0.350000 0.329412 +vt 0.350000 0.094118 +vt 0.066667 0.329412 +vt 0.150000 0.117647 +vt 0.133333 0.235294 +vt 0.200000 0.023529 +vt 0.266667 0.329412 +vt 0.800000 0.164706 +vt 0.858333 0.176471 +vt 0.958333 0.176471 +vt 0.916667 0.176471 +vt 0.858333 0.176471 +vt 0.958333 0.176471 +vt 0.916667 0.176471 +vt 0.900000 0.023529 +vt 0.858333 0.176471 +vt 0.958333 0.176471 +vt 0.916667 0.176471 +vt 0.858333 0.176471 +vt 0.958333 0.176471 +vt 0.916667 0.176471 +vt 0.533333 0.329412 +vt 0.500000 0.482353 +vt 0.516667 0.329412 +vt 0.550000 0.623529 +vt 0.500000 0.623529 +vt 0.500000 0.764706 +vt 0.516667 0.917647 +vt 0.550000 0.764706 +vt 0.533333 0.917647 +vt 0.450000 0.482353 +vt 0.450000 0.623529 +vt 0.400000 0.482353 +vt 0.400000 0.623529 +vt 0.350000 0.482353 +vt 0.350000 0.623529 +vt 0.300000 0.482353 +vt 0.300000 0.623529 +vt 0.250000 0.482353 +vt 0.250000 0.623529 +vt 0.200000 0.482353 +vt 0.200000 0.623529 +vt 0.150000 0.482353 +vt 0.150000 0.623529 +vt 0.100000 0.482353 +vt 0.100000 0.623529 +vt 0.050000 0.482353 +vt 0.050000 0.623529 +vt -0.000000 0.482353 +vt -0.000000 0.623529 +vt 0.750000 0.623529 +vt 0.800000 0.482353 +vt 0.800000 0.623529 +vt 0.700000 0.623529 +vt 0.750000 0.482353 +vt 0.650000 0.623529 +vt 0.700000 0.482353 +vt 0.600000 0.482353 +vt 0.600000 0.623529 +vt 0.550000 0.482353 +vt 0.483333 0.329412 +vt 0.466667 0.329412 +vt 0.433333 0.329412 +vt 0.416667 0.329412 +vt 0.383333 0.329412 +vt 0.366667 0.329412 +vt 0.333333 0.329412 +vt 0.316667 0.329412 +vt 0.283333 0.329412 +vt 0.266667 0.329412 +vt 0.216667 0.329412 +vt 0.183333 0.329412 +vt 0.166667 0.329412 +vt 0.116667 0.329412 +vt 0.083333 0.329412 +vt 0.066667 0.329412 +vt 0.033333 0.329412 +vt 0.016667 0.329412 +vt 0.766667 0.329412 +vt 0.733333 0.329412 +vt 0.716667 0.329412 +vt 0.683333 0.329412 +vt 0.650000 0.482353 +vt 0.666667 0.329412 +vt 0.633333 0.329412 +vt 0.616667 0.329412 +vt 0.583333 0.329412 +vt 0.566667 0.329412 +vt 0.450000 0.764706 +vt 0.400000 0.764706 +vt 0.350000 0.764706 +vt 0.300000 0.764706 +vt 0.250000 0.764706 +vt 0.200000 0.764706 +vt 0.150000 0.764706 +vt 0.100000 0.764706 +vt 0.050000 0.764706 +vt -0.000000 0.764706 +vt 0.750000 0.764706 +vt 0.700000 0.764706 +vt 0.650000 0.764706 +vt 0.600000 0.764706 +vt 0.466667 0.917647 +vt 0.483333 0.917647 +vt 0.433333 0.917647 +vt 0.416667 0.917647 +vt 0.383333 0.917647 +vt 0.366667 0.917647 +vt 0.333333 0.917647 +vt 0.316667 0.917647 +vt 0.283333 0.917647 +vt 0.266667 0.917647 +vt 0.233333 0.917647 +vt 0.216667 0.917647 +vt 0.183333 0.917647 +vt 0.166667 0.917647 +vt 0.116667 0.917647 +vt 0.133333 0.917647 +vt 0.083333 0.917647 +vt 0.066667 0.917647 +vt 0.033333 0.917647 +vt 0.016667 0.917647 +vt 0.783333 0.917647 +vt 0.766667 0.917647 +vt 0.733333 0.917647 +vt 0.716667 0.917647 +vt 0.683333 0.917647 +vt 0.666667 0.917647 +vt 0.616667 0.917647 +vt 0.633333 0.917647 +vt 0.583333 0.917647 +vt 0.566667 0.917647 +vt 0.425000 1.000000 +vt 0.375000 1.000000 +vt 0.325000 1.000000 +vt 0.275000 1.000000 +vt 0.225000 1.000000 +vt 0.175000 1.000000 +vt 0.125000 1.000000 +vt 0.075000 1.000000 +vt 0.025000 1.000000 +vt 0.775000 1.000000 +vt 0.725000 1.000000 +vt 0.675000 1.000000 +vt 0.625000 1.000000 +vt 0.575000 1.000000 +vt 0.525000 1.000000 +vt 0.475000 1.000000 +vt 0.600000 0.117647 +vt 0.200000 0.117647 +vt 0.400000 0.117647 +vt 0.000000 0.117647 +vt 0.800000 0.117647 +vt 0.600000 0.329412 +vt 0.200000 0.329412 +vt 0.600000 0.235294 +vt 0.200000 0.235294 +vt 0.800000 0.329412 +vt 0.400000 0.235294 +vt 0.400000 0.329412 +vt 0.000000 0.235294 +vt -0.000000 0.329412 +vt 0.500000 0.235294 +vt 0.100000 0.235294 +vt 0.700000 0.235294 +vt 0.300000 0.235294 +vt 0.800000 0.235294 +vt 0.233333 0.329412 +vt 0.133333 0.329412 +vt 0.783333 0.329412 +vt 0.800000 0.764706 +vn 0.0000 0.0000 -1.0000 +vn -0.9239 0.3827 0.0000 +vn 0.3827 -0.9239 0.0000 +vn 0.3827 0.9239 0.0000 +vn -0.9239 -0.3827 0.0000 +vn 0.9239 -0.3827 0.0000 +vn 0.9239 0.3827 0.0000 +vn -0.3827 -0.9239 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7214 0.2988 -0.6247 +vn -0.6492 0.6492 -0.3965 +vn -0.5522 0.5522 -0.6247 +vn -0.7071 0.7071 -0.0000 +vn -0.6492 0.6492 0.3965 +vn -0.4850 0.4850 0.7277 +vn -0.8482 0.3513 0.3965 +vn -0.6337 0.2625 0.7277 +vn -0.3513 0.8482 -0.3965 +vn -0.0000 0.9180 -0.3965 +vn 0.3513 0.8482 -0.3965 +vn 0.6492 0.6492 -0.3965 +vn 0.7071 0.7071 -0.0000 +vn 0.8482 0.3513 -0.3965 +vn 0.9180 -0.0000 -0.3965 +vn 0.8482 -0.3513 -0.3965 +vn 0.6492 -0.6492 -0.3965 +vn 0.7071 -0.7071 0.0000 +vn 0.3513 -0.8482 -0.3965 +vn -0.0000 -0.9180 -0.3965 +vn -0.7071 -0.7071 0.0000 +vn -0.3513 -0.8482 -0.3965 +vn -0.6492 -0.6492 -0.3965 +vn -0.9180 0.0000 -0.3965 +vn -0.8482 0.3513 -0.3965 +vn -0.2988 0.7214 -0.6247 +vn 0.0000 0.7809 -0.6247 +vn 0.2988 0.7214 -0.6247 +vn 0.5522 0.5522 -0.6247 +vn 0.7214 0.2988 -0.6247 +vn 0.7809 -0.0000 -0.6247 +vn 0.7214 -0.2988 -0.6247 +vn 0.5522 -0.5522 -0.6247 +vn 0.2988 -0.7214 -0.6247 +vn 0.0000 -0.7809 -0.6247 +vn -0.2988 -0.7214 -0.6247 +vn -0.5522 -0.5522 -0.6247 +vn -0.8482 -0.3513 -0.3965 +vn -0.7214 -0.2988 -0.6247 +vn -0.7809 -0.0000 -0.6247 +vn -0.3513 0.8482 0.3965 +vn -0.0000 0.9180 0.3965 +vn 0.3513 0.8482 0.3965 +vn 0.6492 0.6492 0.3965 +vn 0.8482 0.3513 0.3965 +vn 0.9180 -0.0000 0.3965 +vn 0.8482 -0.3513 0.3965 +vn 0.6492 -0.6492 0.3965 +vn 0.3513 -0.8482 0.3965 +vn -0.0000 -0.9180 0.3965 +vn -0.3513 -0.8482 0.3965 +vn -0.6492 -0.6492 0.3965 +vn -0.8482 -0.3513 0.3965 +vn -0.9180 0.0000 0.3965 +vn -0.2625 0.6337 0.7277 +vn 0.0000 0.6859 0.7277 +vn 0.2625 0.6337 0.7277 +vn 0.4850 0.4850 0.7277 +vn 0.6337 0.2625 0.7277 +vn 0.6859 0.0000 0.7277 +vn 0.6337 -0.2625 0.7277 +vn 0.4850 -0.4850 0.7277 +vn 0.2625 -0.6337 0.7277 +vn 0.0000 -0.6859 0.7277 +vn -0.2625 -0.6337 0.7277 +vn -0.4850 -0.4850 0.7277 +vn -0.6337 -0.2625 0.7277 +vn -0.6859 -0.0000 0.7277 +vn -0.9472 0.3207 0.0000 +vn -0.9808 0.1951 0.0000 +vn 0.9472 -0.3207 0.0000 +vn 0.9808 -0.1951 0.0000 +vn -0.9808 -0.1951 0.0000 +vn 0.9808 0.1951 0.0000 +vn -0.3207 -0.9472 0.0000 +vn -0.1951 -0.9808 0.0000 +vn -0.1951 0.9808 0.0000 +vn 0.3207 0.9472 0.0000 +vn 0.1951 0.9808 0.0000 +vn 0.1951 -0.9808 0.0000 +vn 0.3207 -0.9472 0.0000 +vn -0.3207 0.9472 0.0000 +vn -0.9472 -0.3207 0.0000 +vn 0.9472 0.3207 0.0000 +s off +f 189/254/71 185/255/71 181/256/71 +f 294/257/71 251/258/71 250/259/71 +f 249/260/71 294/261/71 250/262/71 +f 249/263/72 307/264/72 293/265/72 +f 262/266/71 307/267/71 263/268/71 +f 261/269/71 306/270/71 262/266/71 +f 248/271/73 305/272/73 261/273/73 +f 291/274/71 248/275/71 247/276/71 +f 246/277/71 291/274/71 247/276/71 +f 259/278/74 290/279/74 246/280/74 +f 302/281/71 259/282/71 258/283/71 +f 301/284/71 258/283/71 257/285/71 +f 245/286/75 301/287/75 257/288/75 +f 288/289/71 245/290/71 244/291/71 +f 299/292/71 244/291/71 255/293/71 +f 315/294/76 255/295/76 271/296/76 +f 314/297/71 271/298/71 270/299/71 +f 265/300/77 295/301/77 309/302/77 +f 310/303/71 265/304/71 309/305/71 +f 311/306/71 266/307/71 310/303/71 +f 252/308/78 311/309/78 296/310/78 +f 297/311/71 252/312/71 296/313/71 +f 254/314/71 297/311/71 298/315/71 +f 269/316/79 298/317/79 313/318/79 +f 313/319/71 270/299/71 269/320/71 +f 287/321/80 330/322/80 286/323/80 +f 272/324/80 331/325/80 287/321/80 +f 273/326/80 316/327/80 272/324/80 +f 274/328/80 317/329/80 273/326/80 +f 275/330/80 318/331/80 274/328/80 +f 275/330/80 320/332/80 319/333/80 +f 277/334/80 320/332/80 276/335/80 +f 277/334/80 322/336/80 321/337/80 +f 278/338/80 323/339/80 322/336/80 +f 279/340/80 324/341/80 323/339/80 +f 280/342/80 325/343/80 324/344/80 +f 282/345/80 325/343/80 281/346/80 +f 282/345/80 327/347/80 326/348/80 +f 283/349/80 328/350/80 327/347/80 +f 285/351/80 328/350/80 284/352/80 +f 286/323/80 329/353/80 285/351/80 +f 332/354/81 335/355/81 333/356/81 +f 339/357/82 336/358/82 337/359/82 +f 342/360/82 345/361/82 343/362/82 +f 332/354/83 336/358/83 338/363/83 +f 334/364/71 339/365/71 335/366/71 +f 335/355/84 339/367/84 337/368/84 +f 333/356/85 341/369/85 332/354/85 +f 349/370/81 346/371/81 347/372/81 +f 342/360/84 346/371/84 348/373/84 +f 344/374/71 349/375/71 345/376/71 +f 345/361/83 349/377/83 347/378/83 +f 343/362/86 351/379/86 342/360/86 +f 352/380/83 355/381/83 353/382/83 +f 359/383/84 356/384/84 357/385/84 +f 362/386/84 365/387/84 363/388/84 +f 352/380/82 356/384/82 358/389/82 +f 354/390/71 359/391/71 355/392/71 +f 355/381/81 359/393/81 357/394/81 +f 353/382/87 361/395/87 352/380/87 +f 369/396/83 366/397/83 367/398/83 +f 362/386/81 366/397/81 368/399/81 +f 365/400/71 368/399/71 369/401/71 +f 365/387/82 369/402/82 367/403/82 +f 363/388/88 371/404/88 362/386/88 +f 181/256/71 180/405/71 179/406/71 +f 179/406/71 194/407/71 181/256/71 +f 194/407/71 193/408/71 181/256/71 +f 193/408/71 192/409/71 191/410/71 +f 191/410/71 190/411/71 193/408/71 +f 190/411/71 189/254/71 193/408/71 +f 189/254/71 188/412/71 185/255/71 +f 188/412/71 187/413/71 185/255/71 +f 187/413/71 186/414/71 185/255/71 +f 185/255/71 184/415/71 181/256/71 +f 184/415/71 183/416/71 181/256/71 +f 183/416/71 182/417/71 181/256/71 +f 181/256/71 193/408/71 189/254/71 +f 294/257/71 295/418/71 251/258/71 +f 249/260/71 293/419/71 294/261/71 +f 249/263/72 263/420/72 307/264/72 +f 262/266/71 306/270/71 307/267/71 +f 261/269/71 305/421/71 306/270/71 +f 248/271/73 292/422/73 305/272/73 +f 291/274/71 292/423/71 248/275/71 +f 246/277/71 290/424/71 291/274/71 +f 259/278/74 303/425/74 290/279/74 +f 302/281/71 303/426/71 259/282/71 +f 301/284/71 302/281/71 258/283/71 +f 245/286/75 289/427/75 301/287/75 +f 288/289/71 289/428/71 245/290/71 +f 299/292/71 288/289/71 244/291/71 +f 315/294/76 299/429/76 255/295/76 +f 314/297/71 315/430/71 271/298/71 +f 265/300/77 251/431/77 295/301/77 +f 310/303/71 266/307/71 265/304/71 +f 311/306/71 267/432/71 266/307/71 +f 252/308/78 267/433/78 311/309/78 +f 297/311/71 253/434/71 252/312/71 +f 254/314/71 253/434/71 297/311/71 +f 269/316/79 254/435/79 298/317/79 +f 313/319/71 314/297/71 270/299/71 +f 287/321/80 331/325/80 330/322/80 +f 272/324/80 316/327/80 331/325/80 +f 273/326/80 317/329/80 316/327/80 +f 274/328/80 318/331/80 317/329/80 +f 275/330/80 319/333/80 318/331/80 +f 275/330/80 276/335/80 320/332/80 +f 277/334/80 321/337/80 320/332/80 +f 277/334/80 278/338/80 322/336/80 +f 278/338/80 279/340/80 323/339/80 +f 279/340/80 280/436/80 324/341/80 +f 280/342/80 281/346/80 325/343/80 +f 282/345/80 326/348/80 325/343/80 +f 282/345/80 283/349/80 327/347/80 +f 283/349/80 284/352/80 328/350/80 +f 285/351/80 329/353/80 328/350/80 +f 286/323/80 330/322/80 329/353/80 +f 332/354/81 334/364/81 335/355/81 +f 339/357/82 338/363/82 336/358/82 +f 342/360/82 344/374/82 345/361/82 +f 338/363/83 334/364/83 332/354/83 +f 332/354/83 341/437/83 336/358/83 +f 334/364/71 338/363/71 339/365/71 +f 340/438/84 333/356/84 337/368/84 +f 333/356/84 335/355/84 337/368/84 +f 333/356/85 340/439/85 341/369/85 +f 349/370/81 348/373/81 346/371/81 +f 348/373/84 344/374/84 342/360/84 +f 342/360/84 351/440/84 346/371/84 +f 344/374/71 348/373/71 349/375/71 +f 350/441/83 343/362/83 347/378/83 +f 343/362/83 345/361/83 347/378/83 +f 343/362/86 350/442/86 351/379/86 +f 352/380/83 354/390/83 355/381/83 +f 359/383/84 358/389/84 356/384/84 +f 362/386/84 364/443/84 365/387/84 +f 358/389/82 354/390/82 352/380/82 +f 352/380/82 361/444/82 356/384/82 +f 354/390/71 358/389/71 359/391/71 +f 360/445/81 353/382/81 357/394/81 +f 353/382/81 355/381/81 357/394/81 +f 353/382/87 360/446/87 361/395/87 +f 369/396/83 368/399/83 366/397/83 +f 368/399/81 364/443/81 362/386/81 +f 362/386/81 371/447/81 366/397/81 +f 365/400/71 364/443/71 368/399/71 +f 370/448/82 363/388/82 367/403/82 +f 363/388/82 365/387/82 367/403/82 +f 363/388/88 370/449/88 371/404/88 +s 1 +f 182/450/89 213/451/90 181/452/91 +f 213/451/90 166/453/72 165/454/92 +f 166/453/72 229/455/93 165/454/92 +f 197/456/94 230/457/95 198/458/96 +f 212/459/97 165/454/92 164/460/79 +f 211/461/98 164/460/79 163/462/81 +f 226/463/99 163/462/81 178/464/74 +f 225/465/100 178/464/74 177/466/101 +f 224/467/102 177/466/101 176/468/77 +f 223/469/103 176/468/77 175/470/83 +f 222/471/104 175/470/83 174/472/76 +f 221/473/105 174/472/76 173/474/106 +f 220/475/107 173/474/106 172/476/73 +f 219/477/108 172/476/73 171/478/82 +f 170/479/78 219/480/108 171/481/82 +f 169/482/109 218/483/110 170/479/78 +f 168/484/75 217/485/111 169/482/109 +f 215/486/112 168/484/75 167/487/84 +f 214/488/113 167/487/84 166/453/72 +f 181/489/91 212/459/97 180/490/114 +f 180/491/114 211/461/98 179/492/115 +f 179/493/115 226/463/99 194/494/116 +f 194/495/116 225/465/100 193/496/117 +f 193/497/117 224/467/102 192/498/118 +f 191/499/119 224/467/102 223/469/103 +f 191/500/119 222/471/104 190/501/120 +f 189/502/121 222/471/104 221/473/105 +f 189/503/121 220/475/107 188/504/122 +f 188/505/122 219/477/108 187/506/123 +f 186/507/124 219/480/108 218/483/110 +f 186/508/124 217/485/111 185/509/125 +f 185/510/125 216/511/126 184/512/127 +f 184/513/127 215/486/112 183/514/128 +f 183/515/128 214/488/113 182/516/89 +f 165/454/92 228/517/129 164/460/79 +f 164/460/79 227/518/130 163/462/81 +f 163/462/81 242/519/131 178/464/74 +f 178/464/74 241/520/132 177/466/101 +f 176/468/77 241/520/132 240/521/133 +f 176/468/77 239/522/134 175/470/83 +f 175/470/83 238/523/135 174/472/76 +f 174/472/76 237/524/136 173/474/106 +f 173/474/106 236/525/137 172/476/73 +f 172/476/73 235/526/138 171/478/82 +f 171/481/82 234/527/139 170/479/78 +f 169/482/109 234/527/139 233/528/140 +f 169/482/109 232/529/141 168/484/75 +f 168/484/75 231/530/142 167/487/84 +f 166/453/72 231/530/142 230/457/95 +f 196/531/143 229/455/93 197/532/94 +f 227/518/130 196/533/143 195/534/144 +f 242/519/131 195/535/144 210/536/145 +f 241/520/132 210/537/145 209/538/146 +f 240/521/133 209/539/146 208/540/147 +f 239/522/134 208/541/147 207/542/148 +f 238/523/135 207/543/148 206/544/149 +f 205/545/150 238/523/135 206/546/149 +f 236/525/137 205/547/150 204/548/151 +f 235/526/138 204/549/151 203/550/152 +f 234/527/139 203/551/152 202/552/153 +f 233/528/140 202/553/153 201/554/154 +f 232/529/141 201/555/154 200/556/155 +f 199/557/156 232/529/141 200/558/155 +f 230/457/95 199/559/156 198/560/96 +f 196/533/143 243/561/80 195/534/144 +f 195/535/144 243/562/80 210/536/145 +f 210/537/145 243/563/80 209/538/146 +f 209/539/146 243/564/80 208/540/147 +f 208/541/147 243/565/80 207/542/148 +f 207/543/148 243/566/80 206/544/149 +f 206/546/149 243/567/80 205/545/150 +f 205/547/150 243/568/80 204/548/151 +f 204/549/151 243/569/80 203/550/152 +f 203/551/152 243/570/80 202/552/153 +f 202/553/153 243/571/80 201/554/154 +f 201/555/154 243/572/80 200/556/155 +f 200/558/155 243/573/80 199/557/156 +f 199/559/156 243/574/80 198/560/96 +f 198/458/96 243/575/80 197/456/94 +f 197/532/94 243/576/80 196/531/143 +f 247/276/84 259/282/157 246/277/158 +f 253/434/83 267/432/159 252/312/160 +f 248/275/161 260/577/84 247/276/84 +f 254/314/162 268/578/83 253/434/83 +f 250/262/82 263/268/163 249/260/164 +f 245/290/165 256/579/81 244/291/81 +f 244/291/81 271/298/166 255/293/167 +f 251/258/168 264/580/82 250/259/82 +f 265/304/169 280/342/82 264/580/82 +f 258/283/92 273/326/79 257/285/170 +f 266/307/106 281/346/73 265/304/169 +f 259/282/157 274/328/92 258/283/92 +f 267/432/159 282/345/106 266/307/106 +f 260/577/84 275/330/72 259/282/157 +f 268/578/83 283/349/76 267/432/159 +f 261/269/171 276/335/84 260/577/84 +f 269/320/172 284/352/83 268/578/83 +f 262/266/109 277/334/75 261/269/171 +f 270/299/101 285/351/77 269/320/172 +f 263/268/163 278/338/109 262/266/109 +f 271/298/166 286/323/101 270/299/101 +f 264/581/82 279/340/78 263/268/163 +f 257/285/170 272/324/81 256/579/81 +f 256/579/81 287/321/74 271/298/166 +f 303/425/159 291/582/83 290/279/160 +f 311/309/157 297/583/84 296/310/158 +f 304/584/83 292/422/162 291/582/83 +f 312/585/84 298/317/161 297/583/84 +f 307/264/166 294/586/81 293/265/167 +f 300/587/82 289/427/168 288/588/82 +f 315/294/163 288/588/82 299/429/164 +f 308/589/81 295/301/165 294/590/81 +f 318/331/106 303/425/159 302/591/106 +f 326/348/92 311/309/157 310/592/92 +f 319/333/76 304/584/83 303/425/159 +f 327/347/72 312/585/84 311/309/157 +f 320/332/83 305/272/172 304/584/83 +f 328/350/84 313/318/171 312/585/84 +f 321/337/77 306/593/101 305/272/172 +f 329/353/75 314/594/109 313/318/171 +f 322/336/101 307/264/166 306/593/101 +f 330/322/109 315/294/163 314/594/109 +f 323/339/74 308/595/81 307/264/166 +f 316/327/82 301/287/169 300/587/82 +f 331/325/78 300/587/82 315/294/163 +f 324/344/81 309/302/170 308/589/81 +f 317/329/73 302/591/106 301/287/169 +f 325/343/79 310/592/92 309/302/170 +f 182/450/89 214/488/113 213/451/90 +f 213/451/90 214/488/113 166/453/72 +f 166/453/72 230/457/95 229/455/93 +f 197/456/94 229/455/93 230/457/95 +f 212/459/97 213/451/90 165/454/92 +f 211/461/98 212/459/97 164/460/79 +f 226/463/99 211/461/98 163/462/81 +f 225/465/100 226/463/99 178/464/74 +f 224/467/102 225/465/100 177/466/101 +f 223/469/103 224/467/102 176/468/77 +f 222/471/104 223/469/103 175/470/83 +f 221/473/105 222/471/104 174/472/76 +f 220/475/107 221/473/105 173/474/106 +f 219/477/108 220/475/107 172/476/73 +f 170/479/78 218/483/110 219/480/108 +f 169/482/109 217/485/111 218/483/110 +f 168/484/75 216/511/126 217/485/111 +f 215/486/112 216/511/126 168/484/75 +f 214/488/113 215/486/112 167/487/84 +f 181/489/91 213/451/90 212/459/97 +f 180/491/114 212/459/97 211/461/98 +f 179/493/115 211/461/98 226/463/99 +f 194/495/116 226/463/99 225/465/100 +f 193/497/117 225/465/100 224/467/102 +f 191/499/119 192/596/118 224/467/102 +f 191/500/119 223/469/103 222/471/104 +f 189/502/121 190/597/120 222/471/104 +f 189/503/121 221/473/105 220/475/107 +f 188/505/122 220/475/107 219/477/108 +f 186/507/124 187/598/123 219/480/108 +f 186/508/124 218/483/110 217/485/111 +f 185/510/125 217/485/111 216/511/126 +f 184/513/127 216/511/126 215/486/112 +f 183/515/128 215/486/112 214/488/113 +f 165/454/92 229/455/93 228/517/129 +f 164/460/79 228/517/129 227/518/130 +f 163/462/81 227/518/130 242/519/131 +f 178/464/74 242/519/131 241/520/132 +f 176/468/77 177/466/101 241/520/132 +f 176/468/77 240/521/133 239/522/134 +f 175/470/83 239/522/134 238/523/135 +f 174/472/76 238/523/135 237/524/136 +f 173/474/106 237/524/136 236/525/137 +f 172/476/73 236/525/137 235/526/138 +f 171/481/82 235/599/138 234/527/139 +f 169/482/109 170/479/78 234/527/139 +f 169/482/109 233/528/140 232/529/141 +f 168/484/75 232/529/141 231/530/142 +f 166/453/72 167/487/84 231/530/142 +f 196/531/143 228/517/129 229/455/93 +f 227/518/130 228/517/129 196/533/143 +f 242/519/131 227/518/130 195/535/144 +f 241/520/132 242/519/131 210/537/145 +f 240/521/133 241/520/132 209/539/146 +f 239/522/134 240/521/133 208/541/147 +f 238/523/135 239/522/134 207/543/148 +f 205/545/150 237/524/136 238/523/135 +f 236/525/137 237/524/136 205/547/150 +f 235/526/138 236/525/137 204/549/151 +f 234/527/139 235/599/138 203/551/152 +f 233/528/140 234/527/139 202/553/153 +f 232/529/141 233/528/140 201/555/154 +f 199/557/156 231/530/142 232/529/141 +f 230/457/95 231/530/142 199/559/156 +f 247/276/84 260/577/84 259/282/157 +f 253/434/83 268/578/83 267/432/159 +f 248/275/161 261/269/171 260/577/84 +f 254/314/162 269/320/172 268/578/83 +f 250/262/82 264/581/82 263/268/163 +f 245/290/165 257/285/170 256/579/81 +f 244/291/81 256/579/81 271/298/166 +f 251/258/168 265/304/169 264/580/82 +f 265/304/169 281/346/73 280/342/82 +f 258/283/92 274/328/92 273/326/79 +f 266/307/106 282/345/106 281/346/73 +f 259/282/157 275/330/72 274/328/92 +f 267/432/159 283/349/76 282/345/106 +f 260/577/84 276/335/84 275/330/72 +f 268/578/83 284/352/83 283/349/76 +f 261/269/171 277/334/75 276/335/84 +f 269/320/172 285/351/77 284/352/83 +f 262/266/109 278/338/109 277/334/75 +f 270/299/101 286/323/101 285/351/77 +f 263/268/163 279/340/78 278/338/109 +f 271/298/166 287/321/74 286/323/101 +f 264/581/82 280/436/82 279/340/78 +f 257/285/170 273/326/79 272/324/81 +f 256/579/81 272/324/81 287/321/74 +f 303/425/159 304/584/83 291/582/83 +f 311/309/157 312/585/84 297/583/84 +f 304/584/83 305/272/172 292/422/162 +f 312/585/84 313/318/171 298/317/161 +f 307/264/166 308/595/81 294/586/81 +f 300/587/82 301/287/169 289/427/168 +f 315/294/163 300/587/82 288/588/82 +f 308/589/81 309/302/170 295/301/165 +f 318/331/106 319/333/76 303/425/159 +f 326/348/92 327/347/72 311/309/157 +f 319/333/76 320/332/83 304/584/83 +f 327/347/72 328/350/84 312/585/84 +f 320/332/83 321/337/77 305/272/172 +f 328/350/84 329/353/75 313/318/171 +f 321/337/77 322/336/101 306/593/101 +f 329/353/75 330/322/109 314/594/109 +f 322/336/101 323/339/74 307/264/166 +f 330/322/109 331/325/78 315/294/163 +f 323/339/74 324/341/81 308/595/81 +f 316/327/82 317/329/73 301/287/169 +f 331/325/78 316/327/82 300/587/82 +f 324/344/81 325/343/79 309/302/170 +f 317/329/73 318/331/106 302/591/106 +f 325/343/79 326/348/92 310/592/92 +o Launcher +v -0.250000 0.000000 8.000000 +v 0.250000 0.000000 8.000000 +v -0.250000 0.000000 -2.000000 +v 0.250000 0.000000 -2.000000 +v -0.250000 -0.250000 8.000000 +v 0.250000 -0.250000 8.000000 +v -0.250000 -0.500000 -2.000000 +v -0.250000 -0.500000 7.750000 +v 0.250000 -0.500000 7.750000 +v 0.250000 -0.500000 -2.000000 +v -1.000000 1.250000 -0.250000 +v -1.000000 1.250000 6.750000 +v -1.000000 0.750000 6.750000 +v -1.000000 0.750000 -0.250000 +v -0.750000 0.250000 6.750000 +v -0.750000 0.250000 -0.250000 +v -0.250000 -0.125000 6.750000 +v -0.250000 -0.125000 -0.250000 +v -1.088388 1.338388 -5.750000 +v -1.125000 1.250000 -5.750000 +v -1.088388 1.161612 -5.750000 +v -1.000000 1.125000 -5.750000 +v -0.911612 1.161612 -5.750000 +v -0.875000 1.250000 -5.750000 +v -0.911612 1.338388 -5.750000 +v -1.000000 1.375000 -5.750000 +v -1.088388 1.338388 -0.250000 +v -1.125000 1.250000 -0.250000 +v -1.088388 1.161612 -0.250000 +v -1.000000 1.125000 -0.250000 +v -0.911612 1.161612 -0.250000 +v -0.875000 1.250000 -0.250000 +v -0.911612 1.338388 -0.250000 +v -1.000000 1.375000 -0.250000 +v -0.250000 0.000000 -3.000000 +v 0.250000 0.000000 -3.000000 +v -0.250000 -0.500000 -3.000000 +v 0.250000 -0.500000 -3.000000 +v 0.250000 0.000000 -7.500000 +v -0.250000 0.000000 -7.500000 +v 0.250000 -0.500000 -7.500000 +v -0.250000 -0.500000 -7.500000 +v -1.000000 1.500000 1.000000 +v -1.176777 1.426777 1.000000 +v -1.250000 1.250000 1.000000 +v -1.176777 1.073223 1.000000 +v -1.000000 1.000000 1.000000 +v -0.823223 1.073223 1.000000 +v -0.750000 1.250000 1.000000 +v -0.823223 1.426777 1.000000 +v -1.176777 1.426777 -1.500000 +v -1.250000 1.250000 -1.500000 +v -1.000000 1.500000 -1.500000 +v -1.176777 1.073223 -1.500000 +v -1.000000 1.000000 -1.500000 +v -0.823223 1.073223 -1.500000 +v -0.750000 1.250000 -1.500000 +v -0.823223 1.426777 -1.500000 +v 1.000000 1.250000 -0.250000 +v 1.000000 0.750000 -0.250000 +v 0.750000 0.250000 -0.250000 +v 0.250000 -0.125000 -0.250000 +v -1.000000 1.250000 -0.250000 +v 1.000000 1.375000 -0.250000 +v 1.088388 1.338388 -0.250000 +v 1.125000 1.250000 -0.250000 +v 1.088388 1.161612 -0.250000 +v 1.000000 1.125000 -0.250000 +v 0.911612 1.161612 -0.250000 +v 0.875000 1.250000 -0.250000 +v 0.911612 1.338388 -0.250000 +v -1.000000 0.750000 -0.250000 +v -0.750000 0.250000 -0.250000 +v -0.250000 -0.125000 -0.250000 +v -1.088388 1.338388 6.750000 +v -1.088388 1.338388 -0.250000 +v -1.125000 1.250000 6.750000 +v -1.125000 1.250000 -0.250000 +v -1.088388 1.161612 6.750000 +v -1.088388 1.161612 -0.250000 +v -1.000000 1.125000 6.750000 +v -1.000000 1.125000 -0.250000 +v 1.000000 0.750000 -5.750000 +v 1.000000 1.250000 -5.750000 +v 0.750000 0.250000 -5.750000 +v 0.250000 -0.125000 -5.750000 +v -0.911612 1.161612 6.750000 +v -0.911612 1.161612 -0.250000 +v 1.000000 1.375000 -5.750000 +v 1.088388 1.338388 -5.750000 +v 1.125000 1.250000 -5.750000 +v -0.750000 0.250000 -5.750000 +v -1.000000 0.750000 -5.750000 +v 1.088388 1.161612 -5.750000 +v 1.000000 1.125000 -5.750000 +v -0.875000 1.250000 6.750000 +v 0.911612 1.161612 -5.750000 +v -1.000000 1.250000 -5.750000 +v 0.875000 1.250000 -5.750000 +v -0.250000 -0.125000 -5.750000 +v 0.911612 1.338388 -5.750000 +v -0.875000 1.250000 -0.250000 +v -0.911612 1.338388 6.750000 +v -0.911612 1.338388 -0.250000 +v -1.000000 1.375000 6.750000 +v -1.000000 1.375000 -0.250000 +v 0.250000 0.000000 -7.500000 +v -0.250000 0.000000 -7.500000 +v 0.250000 0.000000 -6.250000 +v -0.250000 0.000000 -6.250000 +v 0.250000 1.500000 -6.250000 +v -0.250000 1.500000 -6.250000 +v 0.250000 1.750000 -6.750000 +v -0.250000 1.750000 -6.750000 +v -0.250000 -0.125000 -5.750000 +v -1.000000 1.250000 -5.750000 +v -1.000000 0.750000 -5.750000 +v -0.750000 0.250000 -5.750000 +v 0.250000 -0.125000 -5.750000 +v 0.750000 0.250000 -5.750000 +v 1.000000 1.250000 -5.750000 +v 1.000000 0.750000 -5.750000 +v -0.250000 -0.125000 -0.250000 +v -0.750000 0.250000 -0.250000 +v -1.000000 0.750000 -0.250000 +v -1.000000 1.250000 -0.250000 +v 0.250000 -0.125000 -0.250000 +v 0.750000 0.250000 -0.250000 +v 1.000000 0.750000 -0.250000 +v 1.000000 1.250000 -0.250000 +v -0.250000 -0.125000 -0.250000 +v -0.250000 -0.125000 6.750000 +v -0.750000 0.250000 -0.250000 +v -0.750000 0.250000 6.750000 +v -1.000000 0.750000 -0.250000 +v -1.000000 0.750000 6.750000 +v -1.000000 1.250000 6.750000 +v -1.000000 1.250000 -0.250000 +v 0.000000 1.187500 -6.250000 +v -0.132583 1.132583 -6.250000 +v -0.187500 1.000000 -6.250000 +v -0.132583 0.867417 -6.250000 +v 0.000000 0.812500 -6.250000 +v 0.132583 0.867417 -6.250000 +v 0.187500 1.000000 -6.250000 +v 0.132583 1.132583 -6.250000 +v 0.000000 1.187500 -6.125000 +v -0.132583 1.132583 -6.125000 +v -0.187500 1.000000 -6.125000 +v -0.132583 0.867417 -6.125000 +v 0.000000 0.812500 -6.125000 +v 0.132583 0.867417 -6.125000 +v 0.187500 1.000000 -6.125000 +v 0.132583 1.132583 -6.125000 +v 0.000000 1.437500 -6.125001 +v -0.309359 1.309359 -6.125001 +v -0.437500 1.000000 -6.125001 +v -0.309359 0.690640 -6.125001 +v 0.000000 0.562500 -6.125001 +v 0.309359 0.690640 -6.125001 +v 0.437500 1.000000 -6.125001 +v 0.309359 1.309359 -6.125001 +v 0.000000 1.437500 -5.125001 +v -0.309359 1.309359 -5.125001 +v -0.437500 1.000000 -5.125001 +v -0.309359 0.690640 -5.125001 +v 0.000000 0.562500 -5.125001 +v 0.309359 0.690640 -5.125001 +v 0.437500 1.000000 -5.125001 +v 0.309359 1.309359 -5.125001 +v 0.000000 1.500000 -5.625001 +v -0.353553 1.353553 -5.625001 +v -0.500000 1.000000 -5.625001 +v -0.353553 0.646446 -5.625001 +v 0.000000 0.500000 -5.625001 +v 0.353553 0.646446 -5.625001 +v 0.500000 1.000000 -5.625001 +v 0.353553 1.353553 -5.625001 +v 0.000000 1.250000 -5.125001 +v -0.176777 1.176776 -5.125001 +v -0.250000 1.000000 -5.125001 +v -0.176777 0.823223 -5.125001 +v 0.000000 0.750000 -5.125001 +v 0.176777 0.823223 -5.125001 +v 0.250000 1.000000 -5.125001 +v 0.176777 1.176776 -5.125001 +v 0.000000 1.250000 -2.750001 +v -0.176777 1.176776 -2.750001 +v -0.250000 1.000000 -2.750001 +v -0.176777 0.823223 -2.750001 +v 0.000000 0.750000 -2.750001 +v 0.176777 0.823223 -2.750001 +v 0.250000 1.000000 -2.750001 +v 0.176777 1.176776 -2.750001 +v -0.687500 0.062500 3.000000 +v -0.906250 0.003886 3.000000 +v -1.066386 -0.156250 3.000000 +v -1.125000 -0.375000 3.000000 +v -1.066386 -0.593750 3.000000 +v -0.906250 -0.753886 3.000000 +v -0.687500 -0.812500 3.000000 +v -0.468750 -0.753886 3.000000 +v -0.308614 -0.593750 3.000000 +v -0.250000 -0.375000 3.000000 +v -0.308614 -0.156250 3.000000 +v -0.468750 0.003886 3.000000 +v -0.687500 0.062500 -2.000000 +v -0.906250 0.003886 -2.000000 +v -1.066386 -0.156250 -2.000000 +v -1.125000 -0.375000 -2.000000 +v -1.066386 -0.593750 -2.000000 +v -0.906250 -0.753886 -2.000000 +v -0.687500 -0.812500 -2.000000 +v -0.468750 -0.753886 -2.000000 +v -0.308614 -0.593750 -2.000000 +v -0.250000 -0.375000 -2.000000 +v -0.308614 -0.156250 -2.000000 +v -0.468750 0.003886 -2.000000 +v -0.687500 -0.125000 3.312500 +v -0.812500 -0.158494 3.312500 +v -0.904006 -0.250000 3.312500 +v -0.937500 -0.375000 3.312500 +v -0.904006 -0.500000 3.312500 +v -0.812500 -0.591506 3.312500 +v -0.687500 -0.625000 3.312500 +v -0.562500 -0.591506 3.312500 +v -0.470994 -0.500000 3.312500 +v -0.437500 -0.375000 3.312500 +v -0.470994 -0.250000 3.312500 +v -0.562500 -0.158494 3.312500 +v -0.687500 -0.375000 3.437500 +v -0.687500 -0.125000 -2.312500 +v -0.812500 -0.158494 -2.312500 +v -0.904006 -0.250000 -2.312500 +v -0.937500 -0.375000 -2.312500 +v -0.904006 -0.500000 -2.312500 +v -0.812500 -0.591506 -2.312500 +v -0.687500 -0.625000 -2.312500 +v -0.562500 -0.591506 -2.312500 +v -0.470994 -0.500000 -2.312500 +v -0.437500 -0.375000 -2.312500 +v -0.470994 -0.250000 -2.312500 +v -0.562500 -0.158494 -2.312500 +v -0.687500 -0.375000 -2.437500 +v -0.125000 -0.500000 7.625000 +v 0.125000 -0.500000 7.625000 +v -0.125000 -0.500000 7.375000 +v 0.125000 -0.500000 7.375000 +v -0.125000 -0.875000 7.625000 +v 0.125000 -0.875000 7.625000 +v -0.125000 -0.875000 7.375000 +v 0.125000 -0.875000 7.375000 +v 0.000000 -0.625000 7.375000 +v -0.088388 -0.661612 7.375000 +v -0.125000 -0.750000 7.375000 +v -0.088388 -0.838388 7.375000 +v 0.000000 -0.875000 7.375000 +v 0.088388 -0.838388 7.375000 +v 0.125000 -0.750000 7.375000 +v 0.088388 -0.661612 7.375000 +v 0.000000 -0.625000 1.000000 +v -0.088388 -0.661612 1.000000 +v -0.125000 -0.750000 1.000000 +v -0.088388 -0.838388 1.000000 +v 0.000000 -0.875000 1.000000 +v 0.088388 -0.838388 1.000000 +v 0.125000 -0.750000 1.000000 +v 0.088388 -0.661612 1.000000 +v 0.250000 -0.500000 -2.000000 +v -0.250000 -0.500000 -2.000000 +v 0.250000 -1.000000 -2.000000 +v -0.250000 -1.000000 -2.000000 +v 0.375000 -0.500000 -2.000000 +v -0.375000 -0.500000 -2.000000 +v 0.375000 -0.500000 1.000000 +v -0.375000 -0.500000 1.000000 +v 0.375000 -1.125000 -2.000000 +v -0.375000 -1.125000 -2.000000 +v 0.375000 -1.125000 1.000000 +v -0.375000 -1.125000 1.000000 +v 0.250000 2.125000 -7.500000 +v -0.250000 2.125000 -7.500000 +v 0.250000 2.125000 -6.750000 +v -0.250000 2.125000 -6.750000 +v 0.000000 1.250000 -7.500001 +v -0.176777 1.176776 -7.500001 +v -0.250000 1.000000 -7.500001 +v -0.176777 0.823223 -7.500001 +v 0.000000 0.750000 -7.500001 +v 0.176777 0.823223 -7.500001 +v 0.250000 1.000000 -7.500001 +v 0.176777 1.176776 -7.500001 +v 0.000000 1.250000 -7.750001 +v -0.176777 1.176776 -7.750001 +v -0.250000 1.000000 -7.750001 +v -0.176777 0.823223 -7.750001 +v 0.000000 0.750000 -7.750001 +v 0.176777 0.823223 -7.750001 +v 0.250000 1.000000 -7.750001 +v 0.176777 1.176776 -7.750001 +v 0.250000 -0.375000 -6.875000 +v 0.250000 1.125000 -6.875000 +v 0.250000 -0.375000 -6.625000 +v 0.250000 1.125000 -6.625000 +v 0.375000 -0.375000 -6.875000 +v 0.375000 1.125000 -6.875000 +v 0.375000 -0.375000 -6.625000 +v 0.375000 1.125000 -6.625000 +v -0.375000 -0.375000 -6.875000 +v -0.375000 1.125000 -6.875000 +v -0.375000 -0.375000 -6.625000 +v -0.375000 1.125000 -6.625000 +v -0.250000 -0.375000 -6.875000 +v -0.250000 1.125000 -6.875000 +v -0.250000 -0.375000 -6.625000 +v -0.250000 1.125000 -6.625000 +v 0.250000 1.437500 -7.375000 +v 0.250000 1.614277 -7.301777 +v 0.250000 1.687500 -7.125000 +v 0.250000 1.614277 -6.948223 +v 0.250000 1.437500 -6.875000 +v 0.250000 1.260723 -6.948223 +v 0.250000 1.187500 -7.125000 +v 0.250000 1.260723 -7.301777 +v 0.375000 1.437500 -7.375000 +v 0.375000 1.614277 -7.301777 +v 0.375000 1.687500 -7.125000 +v 0.375000 1.614277 -6.948223 +v 0.375000 1.437500 -6.875000 +v 0.375000 1.260723 -6.948223 +v 0.375000 1.187500 -7.125000 +v 0.375000 1.260723 -7.301777 +v -0.375000 1.437500 -7.375000 +v -0.375000 1.614277 -7.301777 +v -0.375000 1.687500 -7.125000 +v -0.375000 1.614277 -6.948223 +v -0.375000 1.437500 -6.875000 +v -0.375000 1.260723 -6.948223 +v -0.375000 1.187500 -7.125000 +v -0.375000 1.260723 -7.301777 +v -0.250000 1.437500 -7.375000 +v -0.250000 1.614277 -7.301777 +v -0.250000 1.687500 -7.125000 +v -0.250000 1.614277 -6.948223 +v -0.250000 1.437500 -6.875000 +v -0.250000 1.260723 -6.948223 +v -0.250000 1.187500 -7.125000 +v -0.250000 1.260723 -7.301777 +v -0.750000 -0.437500 -2.375000 +v -0.625000 -0.437500 -2.375000 +v -0.750000 -0.312500 -2.375000 +v -0.625000 -0.312500 -2.375000 +v -0.750000 -0.437500 -7.250000 +v -0.625000 -0.437500 -7.250000 +v -0.750000 -0.312500 -7.125000 +v -0.625000 -0.312500 -7.125000 +v -0.750000 0.312500 -7.250000 +v -0.625000 0.187500 -7.250000 +v -0.750000 0.312500 -7.125000 +v -0.625000 0.187500 -7.125000 +v -0.250000 0.312500 -7.250000 +v -0.250000 0.187500 -7.250000 +v -0.250000 0.312500 -7.125000 +v -0.250000 0.187500 -7.125000 +v -1.000000 1.187500 -5.562501 +v -1.000000 1.312500 -5.562501 +v -1.000000 1.187500 -5.687501 +v -1.000000 1.312500 -5.687501 +v 1.000000 1.187500 -5.562501 +v 1.000000 1.312500 -5.562501 +v 1.000000 1.187500 -5.687501 +v 1.000000 1.312500 -5.687501 +vt 0.028571 0.089888 +vt 0.600000 0.134831 +vt 0.028571 0.134831 +vt 0.628571 0.089888 +vt 0.600000 0.089888 +vt 0.042857 0.044944 +vt 0.014286 0.089888 +vt 0.600000 -0.000000 +vt 0.042857 -0.000000 +vt 0.014286 0.134831 +vt -0.000000 0.089888 +vt 0.042857 0.179775 +vt 0.028571 0.157303 +vt 0.714286 0.179775 +vt 0.657143 0.134831 +vt 0.714286 0.134831 +vt 1.000000 0.089888 +vt 0.971429 0.134831 +vt 0.971429 0.089888 +vt 0.735451 0.477528 +vt 0.733436 0.485181 +vt 0.723706 0.469876 +vt 0.735451 0.500000 +vt 0.733436 0.507652 +vt 0.723706 0.492347 +vt 0.714286 0.044944 +vt 0.714286 0.089888 +vt 0.971429 0.179775 +vt 0.714286 -0.000000 +vt 0.971429 0.044944 +vt 0.907093 0.443820 +vt 0.902924 0.459655 +vt 0.882791 0.427985 +vt 0.902924 0.472929 +vt 0.907093 0.488764 +vt 0.902924 0.504599 +vt 0.735451 0.477528 +vt 0.733436 0.485181 +vt 0.723706 0.469876 +vt 0.735451 0.500000 +vt 0.733436 0.507652 +vt 0.723706 0.492347 +vt 0.721692 0.432584 +vt 0.728571 0.421762 +vt 0.735451 0.432584 +vt 0.735451 0.455056 +vt 0.733436 0.462709 +vt 0.723707 0.447404 +vt 0.242857 0.921348 +vt 0.214286 0.898876 +vt 0.285714 0.764045 +vt 0.214286 0.764045 +vt 0.185714 0.898876 +vt 0.185714 0.764045 +vt 0.185714 0.943820 +vt 0.314286 0.955056 +vt 0.314286 0.764045 +vt 0.357143 0.921348 +vt 0.696429 0.590254 +vt 0.713942 0.601665 +vt 0.721196 0.629214 +vt 0.713942 0.578111 +vt 0.696429 0.589522 +vt 0.696429 0.511602 +vt 0.892857 0.511359 +vt 0.907065 0.533708 +vt 0.892857 0.556057 +vt 0.600000 0.567416 +vt 0.614286 0.533708 +vt 0.614286 0.567416 +vt 0.585714 0.533708 +vt 0.585714 0.567416 +vt 0.571429 0.567416 +vt 0.557143 0.567416 +vt 0.571429 0.533708 +vt 0.557143 0.533708 +vt 0.571429 0.511236 +vt 0.628571 0.089888 +vt 0.657143 0.089888 +vt 0.657143 -0.000000 +vt 0.657143 0.044944 +vt 0.035714 0.370787 +vt 0.207143 0.303371 +vt 0.207143 0.370787 +vt 0.207143 0.247191 +vt 0.035714 0.179775 +vt 0.207143 0.179775 +vt 0.035714 0.303371 +vt -0.000000 0.303371 +vt 0.035714 0.426966 +vt 0.242857 0.370787 +vt 0.242857 1.000000 +vt 0.285714 0.955056 +vt 0.285714 1.000000 +vt 0.214286 0.943820 +vt 0.185714 0.977528 +vt 0.135714 0.898847 +vt 0.121448 0.876405 +vt 0.135714 0.853963 +vt 0.164286 0.808989 +vt 0.178571 0.797753 +vt 0.178571 0.808989 +vt 0.164286 0.943820 +vt 0.178571 0.808989 +vt 0.178571 0.943820 +vt 0.178571 0.797753 +vt 0.164286 0.808989 +vt 0.164286 0.797753 +vt 0.157143 0.808989 +vt 0.157143 0.943820 +vt 0.164286 0.955056 +vt 0.178571 0.955056 +vt 0.185714 0.943820 +vt 0.185714 0.808989 +vt 0.185714 0.943820 +vt 0.178571 0.943820 +vt 0.164286 0.955056 +vt 0.164286 0.943820 +vt 0.157143 0.808989 +vt 0.121490 0.831461 +vt 0.135714 0.809085 +vt 0.149939 0.831461 +vt 0.135714 0.809086 +vt 0.149939 0.831461 +vt 0.135714 0.853836 +vt 0.935714 0.792135 +vt 0.664286 0.780899 +vt 0.935714 0.780899 +vt 0.935714 0.803371 +vt 0.664286 0.814607 +vt 0.657143 0.803371 +vt 0.935714 0.825843 +vt 0.935714 0.814607 +vt 0.657143 0.792135 +vt 0.650000 0.814607 +vt 0.621429 0.825843 +vt 0.614286 0.814607 +vt 0.621429 0.792135 +vt 0.650000 0.780899 +vt 0.614286 0.803371 +vt 0.585714 0.803371 +vt 0.607143 0.792135 +vt 0.585714 0.780899 +vt 0.607143 0.780899 +vt 0.607143 0.825843 +vt 0.585714 0.814607 +vt 0.585714 0.792135 +vt 0.500000 0.915730 +vt 0.385714 0.904494 +vt 0.500000 0.904494 +vt 0.385714 0.926966 +vt 0.500000 0.938202 +vt 0.385714 0.938202 +vt 0.385714 0.949438 +vt 0.500000 0.949438 +vt 0.385714 0.915730 +vt 0.628571 0.134831 +vt 0.028571 0.067416 +vt 0.600000 0.044944 +vt -0.000000 0.134831 +vt 0.600000 0.179775 +vt 0.657143 0.179775 +vt 1.000000 0.134831 +vt 0.728571 0.488350 +vt 0.723706 0.485181 +vt 0.721691 0.477528 +vt 0.728571 0.466706 +vt 0.733436 0.469876 +vt 0.728571 0.510822 +vt 0.723706 0.507652 +vt 0.721691 0.500000 +vt 0.728571 0.489177 +vt 0.733436 0.492347 +vt 0.971429 0.000000 +vt 0.892857 0.466214 +vt 0.882791 0.459655 +vt 0.878621 0.443820 +vt 0.892857 0.421426 +vt 0.902924 0.427985 +vt 0.892857 0.511158 +vt 0.882791 0.504599 +vt 0.878621 0.488764 +vt 0.882790 0.472929 +vt 0.892857 0.466370 +vt 0.728571 0.488350 +vt 0.723706 0.485181 +vt 0.721691 0.477528 +vt 0.728571 0.466706 +vt 0.733436 0.469876 +vt 0.728571 0.510822 +vt 0.723706 0.507652 +vt 0.721691 0.500000 +vt 0.728571 0.489177 +vt 0.733436 0.492347 +vt 0.733436 0.440236 +vt 0.728571 0.443406 +vt 0.723707 0.440236 +vt 0.723707 0.424931 +vt 0.733436 0.424931 +vt 0.728571 0.465878 +vt 0.723707 0.462709 +vt 0.721692 0.455056 +vt 0.728571 0.444234 +vt 0.733436 0.447404 +vt 0.242857 0.955056 +vt 0.385714 0.764045 +vt 0.385714 0.898876 +vt 0.357143 0.955056 +vt 0.713942 0.656762 +vt 0.696429 0.668174 +vt 0.678916 0.656762 +vt 0.671661 0.629214 +vt 0.678916 0.601665 +vt 0.678915 0.578111 +vt 0.671661 0.550562 +vt 0.678915 0.523013 +vt 0.713942 0.523013 +vt 0.721196 0.550562 +vt 0.882811 0.549511 +vt 0.878649 0.533708 +vt 0.882811 0.517905 +vt 0.902904 0.517905 +vt 0.902903 0.549511 +vt 0.600000 0.533708 +vt 0.557143 0.511236 +vt 0.628571 0.134831 +vt 0.035714 0.247191 +vt -0.000000 0.370787 +vt 0.207143 0.426966 +vt 0.242857 0.303371 +vt 0.214286 0.977528 +vt 0.149981 0.876405 +vt 0.145802 0.892274 +vt 0.125626 0.892274 +vt 0.125626 0.860536 +vt 0.145802 0.860536 +vt 0.164286 0.797753 +vt 0.185714 0.808989 +vt 0.178571 0.955056 +vt 0.157143 0.943820 +vt 0.145772 0.847282 +vt 0.135714 0.853836 +vt 0.125656 0.847283 +vt 0.125656 0.815639 +vt 0.145772 0.815639 +vt 0.125656 0.847283 +vt 0.121490 0.831461 +vt 0.125656 0.815639 +vt 0.145772 0.815639 +vt 0.145772 0.847283 +vt 0.664286 0.825843 +vt 0.650000 0.825843 +vt 0.621429 0.780899 +vt 0.585714 0.825843 +vt 0.500000 0.926966 +vt 0.642857 0.410112 +vt 0.957143 0.421348 +vt 0.642857 0.421348 +vt 0.642857 0.365169 +vt 0.957143 0.376404 +vt 0.642857 0.376404 +vt 0.642857 0.398876 +vt 0.957143 0.410112 +vt 0.642857 0.342697 +vt 0.957143 0.353933 +vt 0.642857 0.353933 +vt 0.957143 0.365169 +vt 0.957143 0.387640 +vt 0.642857 0.387640 +vt 0.642857 0.179775 +vt 0.242857 0.235955 +vt 0.642857 0.235955 +vt 0.242857 0.286517 +vt 0.642857 0.286517 +vt 0.242857 0.331461 +vt 0.642857 0.331461 +vt 0.957143 0.398876 +vt 0.642857 0.331461 +vt 0.957143 0.342697 +vt 0.735714 0.539326 +vt 0.878571 0.556180 +vt 0.735714 0.556180 +vt 0.735714 0.488764 +vt 0.878571 0.505618 +vt 0.735714 0.505618 +vt 0.735714 0.455056 +vt 0.878571 0.471910 +vt 0.735714 0.471910 +vt 0.735714 0.421348 +vt 0.878571 0.438202 +vt 0.735714 0.438202 +vt 0.735714 0.522472 +vt 0.878571 0.539326 +vt 0.878571 0.522472 +vt 0.878571 0.488764 +vt 0.878571 0.455056 +vt 0.242857 0.387640 +vt 0.642857 0.376404 +vt 0.642857 0.387640 +vt 0.242857 0.376404 +vt 0.642857 0.365169 +vt 0.642857 0.331461 +vt 0.957143 0.342697 +vt 0.642857 0.342697 +vt 0.957143 0.235955 +vt 0.642857 0.286517 +vt 0.642857 0.235955 +vt 0.242857 0.398876 +vt 0.642857 0.398876 +vt 0.957143 0.179775 +vt 0.642857 0.179775 +vt 0.242857 0.410112 +vt 0.642857 0.410112 +vt 0.642857 0.410112 +vt 0.957143 0.421348 +vt 0.642857 0.421348 +vt 0.242857 0.421348 +vt 0.642857 0.421348 +vt 0.642857 0.331461 +vt 0.957143 0.286517 +vt 0.642857 0.286517 +vt 0.642857 0.365169 +vt 0.957143 0.376404 +vt 0.642857 0.376404 +vt 0.242857 0.342697 +vt 0.642857 0.331461 +vt 0.642857 0.342697 +vt 0.642857 0.398876 +vt 0.957143 0.410112 +vt 0.642857 0.353933 +vt 0.957143 0.365169 +vt 0.242857 0.353933 +vt 0.642857 0.353933 +vt 0.642857 0.235955 +vt 0.957143 0.179775 +vt 0.642857 0.179775 +vt 0.957143 0.235955 +vt 0.242857 0.365169 +vt 0.642857 0.387640 +vt 0.957143 0.398876 +vt 0.957143 0.353933 +vt 0.957143 0.286517 +vt 0.642857 0.331461 +vt 0.957143 0.387640 +vt 0.642857 0.331461 +vt 0.957143 0.286517 +vt 0.642857 0.286517 +vt 0.957143 0.235955 +vt 0.642857 0.286517 +vt 0.642857 0.235955 +vt 0.957143 0.179775 +vt 0.642857 0.179775 +vt 0.957143 0.286517 +vt 0.642857 0.331461 +vt 0.642857 0.235955 +vt 0.957143 0.179775 +vt 0.642857 0.179775 +vt 0.957143 0.235955 +vt 0.242857 0.331461 +vt 0.642857 0.286517 +vt 0.642857 0.331461 +vt 0.242857 0.286517 +vt 0.642857 0.235955 +vt 0.242857 0.235955 +vt 0.642857 0.179775 +vt 0.107143 0.842697 +vt 0.100000 0.831461 +vt 0.107143 0.831461 +vt 0.107143 0.820225 +vt 0.100000 0.808989 +vt 0.107143 0.808989 +vt 0.107143 0.887640 +vt 0.100000 0.876405 +vt 0.107143 0.876405 +vt 0.107143 0.865169 +vt 0.100000 0.853933 +vt 0.107143 0.853933 +vt 0.100000 0.842697 +vt 0.100000 0.820225 +vt 0.107143 0.898876 +vt 0.100000 0.887640 +vt 0.100000 0.865169 +vt 0.671429 0.780899 +vt 0.642857 0.747191 +vt 0.671429 0.747191 +vt 0.614286 0.780899 +vt 0.614286 0.747191 +vt 0.642857 0.713483 +vt 0.614286 0.713483 +vt 0.642857 0.679775 +vt 0.614286 0.679775 +vt 0.614286 0.646067 +vt 0.642857 0.612360 +vt 0.614286 0.612360 +vt 0.614286 0.578652 +vt 0.642857 0.544944 +vt 0.614286 0.544944 +vt 0.614286 0.511236 +vt 0.671429 0.544944 +vt 0.642857 0.511236 +vt 0.671429 0.511236 +vt 0.671429 0.578652 +vt 0.642857 0.578652 +vt 0.671429 0.646067 +vt 0.671429 0.612360 +vt 0.671429 0.679775 +vt 0.642857 0.646067 +vt 0.671429 0.713483 +vt 0.932143 0.606742 +vt 0.796429 0.589888 +vt 0.932143 0.589888 +vt 0.932143 0.573034 +vt 0.796429 0.556180 +vt 0.932143 0.556180 +vt 0.932143 0.674157 +vt 0.796429 0.657303 +vt 0.932143 0.657303 +vt 0.932143 0.640449 +vt 0.796429 0.623595 +vt 0.932143 0.623595 +vt 0.796429 0.606742 +vt 0.796429 0.573034 +vt 0.932143 0.691011 +vt 0.796429 0.674157 +vt 0.796429 0.640449 +vt 0.321429 0.471910 +vt 0.035714 0.449438 +vt 0.321429 0.449438 +vt 0.321429 0.584270 +vt 0.035714 0.561798 +vt 0.321429 0.561798 +vt 0.321429 0.539326 +vt 0.035714 0.516854 +vt 0.321429 0.516854 +vt 0.321429 0.651685 +vt 0.035714 0.629214 +vt 0.321429 0.629214 +vt 0.035714 0.426966 +vt 0.321429 0.426966 +vt 0.035714 0.494382 +vt 0.321429 0.494382 +vt 0.035714 0.606742 +vt 0.321429 0.606742 +vt 0.321429 0.696629 +vt 0.035714 0.674157 +vt 0.321429 0.674157 +vt 0.035714 0.471910 +vt 0.035714 0.584270 +vt 0.035714 0.539326 +vt 0.035714 0.651685 +vt 0.342857 0.522472 +vt 0.342857 0.533708 +vt 0.342857 0.544944 +vt 0.342857 0.556180 +vt 0.342857 0.578652 +vt 0.342857 0.589888 +vt 0.342857 0.601124 +vt 0.342857 0.612360 +vt 0.342857 0.623595 +vt 0.342857 0.646067 +vt 0.342857 0.657303 +vt 0.342857 0.668539 +vt 0.342857 0.679775 +vt 0.342857 0.691011 +vt 0.342857 0.443820 +vt 0.342857 0.466292 +vt 0.342857 0.477528 +vt 0.342857 0.488764 +vt 0.342857 0.511236 +vt 0.014286 0.556180 +vt 0.357143 0.528090 +vt 0.342857 0.500000 +vt 0.357143 0.505618 +vt 0.357143 0.483146 +vt 0.342857 0.455056 +vt 0.357143 0.460674 +vt 0.342857 0.432584 +vt 0.357143 0.438202 +vt 0.357143 0.685393 +vt 0.357143 0.662921 +vt 0.342857 0.634831 +vt 0.357143 0.640449 +vt 0.357143 0.617977 +vt 0.357143 0.595506 +vt 0.342857 0.567416 +vt 0.357143 0.573034 +vt 0.357143 0.550562 +vt 0.014286 0.522472 +vt 0.014286 0.511236 +vt 0.014286 0.477528 +vt 0.014286 0.466292 +vt 0.014286 0.432584 +vt 0.014286 0.691011 +vt 0.035714 0.696629 +vt 0.014286 0.657303 +vt 0.014286 0.646067 +vt 0.014286 0.612360 +vt 0.014286 0.589888 +vt 0.014286 0.578652 +vt 0.014286 0.544944 +vt -0.000000 0.550562 +vt 0.014286 0.567416 +vt -0.000000 0.573034 +vt 0.014286 0.601124 +vt -0.000000 0.595506 +vt 0.014286 0.623595 +vt -0.000000 0.617977 +vt 0.014286 0.634831 +vt -0.000000 0.640449 +vt 0.014286 0.668539 +vt -0.000000 0.662921 +vt 0.014286 0.679775 +vt -0.000000 0.685393 +vt 0.014286 0.443820 +vt 0.000000 0.438202 +vt 0.014286 0.455056 +vt -0.000000 0.460674 +vt 0.014286 0.488764 +vt -0.000000 0.483146 +vt 0.014286 0.500000 +vt -0.000000 0.505618 +vt 0.014286 0.533708 +vt -0.000000 0.528090 +vt 0.721429 0.421348 +vt 0.357143 0.432584 +vt 0.357143 0.421348 +vt 0.721429 0.488764 +vt 0.357143 0.500000 +vt 0.357143 0.488764 +vt 0.721429 0.466292 +vt 0.357143 0.477528 +vt 0.357143 0.466292 +vt 0.721429 0.455056 +vt 0.357143 0.455056 +vt 0.721429 0.432584 +vt 0.357143 0.443820 +vt 0.721429 0.500000 +vt 0.357143 0.511236 +vt 0.721429 0.477528 +vt 0.721429 0.443820 +vt 0.121429 0.859551 +vt 0.107143 0.876405 +vt 0.107143 0.859551 +vt 0.121429 0.825843 +vt 0.107143 0.842697 +vt 0.107143 0.825843 +vt 0.121429 0.926966 +vt 0.107143 0.943820 +vt 0.107143 0.926966 +vt 0.121429 0.893258 +vt 0.107143 0.910112 +vt 0.107143 0.893258 +vt 0.121429 0.842697 +vt 0.121429 0.808989 +vt 0.107143 0.808989 +vt 0.121429 0.910112 +vt 0.121429 0.876405 +vt 0.157143 0.842697 +vt 0.150000 0.825843 +vt 0.157143 0.825843 +vt 0.157143 0.943820 +vt 0.150000 0.926966 +vt 0.157143 0.926966 +vt 0.157143 0.910112 +vt 0.150000 0.893258 +vt 0.157143 0.893258 +vt 0.157143 0.876405 +vt 0.150000 0.859551 +vt 0.157143 0.859551 +vt 0.150000 0.808989 +vt 0.157143 0.808989 +vt 0.150000 0.910112 +vt 0.150000 0.876405 +vt 0.150000 0.842697 +vt 0.157143 0.842697 +vt 0.150000 0.825843 +vt 0.157143 0.825843 +vt 0.157143 0.943820 +vt 0.150000 0.926966 +vt 0.157143 0.926966 +vt 0.157143 0.910112 +vt 0.150000 0.893258 +vt 0.157143 0.893258 +vt 0.157143 0.876405 +vt 0.150000 0.859551 +vt 0.157143 0.859551 +vt 0.150000 0.808989 +vt 0.157143 0.808989 +vt 0.150000 0.910112 +vt 0.150000 0.876405 +vt 0.150000 0.842697 +vt 0.242857 0.179775 +vt 0.957143 0.331461 +vt 0.878571 0.421348 +vt 0.957143 0.331461 +vt 0.957143 0.331461 +vt 0.242857 0.331461 +vt 0.957143 0.331461 +vt 0.957143 0.331461 +vt 0.957143 0.331461 +vt 0.242857 0.179775 +vt 0.100000 0.898876 +vt 0.642857 0.780899 +vt 0.796429 0.691011 +vt 0.721429 0.511236 +vt 0.121429 0.943820 +vt 0.150000 0.943820 +vt 0.150000 0.943820 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.7071 0.7071 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.8944 0.4472 +vn 0.0000 -0.8944 -0.4472 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.6000 -0.8000 0.0000 +vn -0.7678 -0.6407 0.0000 +vn -0.9732 -0.2298 0.0000 +vn 0.7678 -0.6407 0.0000 +vn 0.9732 -0.2298 0.0000 +vn 0.6000 -0.8000 0.0000 +vn -0.9732 0.2298 0.0000 +vn 0.7678 0.6407 0.0000 +vn 0.9732 0.2298 0.0000 +vn 0.6000 0.8000 0.0000 +vn -0.7678 0.6407 0.0000 +vn -0.6000 0.8000 0.0000 +vn -0.0000 -0.9923 -0.1240 +vn -0.7016 -0.7016 -0.1240 +vn 0.0000 -0.9923 0.1240 +vn -0.7016 -0.7016 0.1240 +vn -0.9923 -0.0000 0.1240 +vn -0.7016 0.7016 0.1240 +vn 0.0000 0.9923 0.1240 +vn 0.7016 0.7016 0.1240 +vn 0.9923 0.0000 0.1240 +vn 0.7016 -0.7016 0.1240 +vn 0.7016 -0.7016 -0.1240 +vn 0.9923 0.0000 -0.1240 +vn 0.0000 0.9923 -0.1240 +vn 0.7016 0.7016 -0.1240 +vn -0.7016 0.7016 -0.1240 +vn -0.9923 0.0000 -0.1240 +vn -0.8371 -0.4833 0.2563 +vn -0.4833 -0.8371 -0.2563 +vn -0.4833 -0.8371 0.2563 +vn 0.4833 0.8371 0.2563 +vn -0.0000 0.9666 -0.2563 +vn -0.0000 0.9666 0.2563 +vn -0.4833 0.8371 0.2563 +vn -0.8371 0.4833 -0.2563 +vn -0.8371 0.4833 0.2563 +vn 0.8371 -0.4833 0.2563 +vn 0.9666 0.0000 -0.2563 +vn 0.9666 -0.0000 0.2563 +vn 0.0000 -0.9666 -0.2563 +vn -0.0000 -0.9666 0.2563 +vn -0.9666 -0.0000 -0.2563 +vn -0.9666 0.0000 0.2563 +vn 0.8371 0.4833 -0.2563 +vn 0.8371 0.4833 0.2563 +vn 0.4833 -0.8371 -0.2563 +vn 0.4833 -0.8371 0.2563 +vn -0.8371 -0.4833 -0.2563 +vn 0.4833 0.8371 -0.2563 +vn -0.4833 0.8371 -0.2563 +vn 0.8371 -0.4833 -0.2563 +vn -0.6087 0.3515 0.7113 +vn -0.3515 0.6087 0.7113 +vn -0.0000 0.7029 0.7113 +vn 0.3515 0.6087 0.7113 +vn 0.6087 0.3515 0.7113 +vn 0.7029 0.0000 0.7113 +vn 0.6087 -0.3515 0.7113 +vn 0.3515 -0.6087 0.7113 +vn 0.0000 -0.7029 0.7113 +vn -0.3515 -0.6087 0.7113 +vn -0.6087 -0.3515 0.7113 +vn -0.7029 0.0000 0.7113 +vn 0.0000 0.7029 -0.7113 +vn -0.6087 0.3515 -0.7113 +vn -0.6087 -0.3515 -0.7113 +vn -0.0000 -0.7029 -0.7113 +vn 0.6087 -0.3515 -0.7113 +vn 0.6087 0.3515 -0.7113 +vn 0.3515 0.6087 -0.7113 +vn -0.3515 0.6087 -0.7113 +vn 0.7029 0.0000 -0.7113 +vn 0.3515 -0.6087 -0.7113 +vn -0.3515 -0.6087 -0.7113 +vn -0.7029 -0.0000 -0.7113 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +s off +f 373/600/173 374/601/173 372/602/173 +f 381/603/174 374/601/174 375/604/174 +f 380/605/175 375/604/175 373/600/175 +f 372/602/176 377/606/176 373/600/176 +f 378/607/177 380/605/177 379/608/177 +f 376/609/178 380/610/178 377/606/178 +f 379/611/179 376/612/179 372/602/179 +f 408/613/179 641/614/179 406/615/179 +f 412/616/174 411/617/174 410/618/174 +f 403/619/176 404/620/176 400/621/176 +f 391/622/174 390/623/174 394/624/174 +f 409/625/175 410/618/175 407/626/175 +f 407/626/173 411/617/173 406/615/173 +f 406/615/179 413/627/179 408/613/179 +f 408/628/177 412/629/177 409/625/177 +f 420/630/176 421/631/176 417/632/176 +f 425/633/174 423/634/174 422/635/174 +f 437/636/176 436/637/176 440/638/176 +f 470/639/174 472/640/174 465/641/174 +f 448/642/176 452/643/176 467/644/176 +f 449/645/174 447/646/174 459/647/174 +f 484/648/175 482/649/175 478/650/175 +f 480/651/176 483/652/176 481/653/176 +f 482/649/180 485/654/180 483/652/180 +f 653/655/179 479/656/179 485/657/179 +f 530/658/174 529/659/174 528/660/174 +f 541/661/176 534/662/176 538/663/176 +f 562/664/176 564/665/176 558/666/176 +f 618/667/179 620/668/179 616/669/179 +f 623/670/174 618/667/174 619/671/174 +f 617/672/175 623/670/175 619/671/175 +f 616/673/176 621/674/176 617/672/176 +f 620/675/177 623/676/177 621/674/177 +f 641/614/176 642/677/176 640/678/176 +f 409/625/181 643/679/181 408/628/181 +f 409/625/175 640/678/175 642/680/175 +f 406/615/180 640/678/180 407/626/180 +f 647/681/173 644/682/173 645/683/173 +f 648/684/177 651/685/177 649/686/177 +f 646/687/175 648/684/175 644/682/175 +f 647/681/176 650/688/176 646/687/176 +f 645/683/179 651/689/179 647/681/179 +f 644/682/174 649/690/174 645/683/174 +f 655/691/173 652/692/173 653/693/173 +f 484/694/176 655/695/176 485/654/176 +f 664/696/174 670/697/174 668/698/174 +f 680/699/177 686/700/177 682/701/177 +f 679/702/175 676/703/175 677/704/175 +f 672/705/177 678/706/177 674/707/177 +f 674/708/176 679/702/176 675/709/176 +f 675/710/173 677/704/173 673/711/173 +f 673/712/174 676/703/174 672/713/174 +f 682/701/176 687/714/176 683/715/176 +f 683/715/173 685/716/173 681/717/173 +f 681/717/174 684/718/174 680/699/174 +f 680/699/179 683/715/179 681/717/179 +f 700/719/175 702/720/175 696/721/175 +f 710/722/179 708/723/179 706/724/179 +f 721/725/175 727/726/175 723/727/175 +f 720/728/179 726/729/179 724/730/179 +f 723/731/173 726/729/173 722/732/173 +f 720/728/177 725/733/177 721/725/177 +f 726/734/176 731/735/176 730/736/176 +f 724/730/174 729/737/174 725/733/174 +f 729/737/175 727/738/175 725/733/175 +f 726/734/179 728/739/179 724/730/179 +f 730/736/173 732/740/173 728/739/173 +f 729/741/177 735/742/177 731/743/177 +f 731/744/176 734/745/176 730/736/176 +f 729/741/174 732/740/174 733/746/174 +f 653/655/174 478/650/174 479/656/174 +f 739/747/174 742/748/174 738/749/174 +f 741/750/176 736/751/176 740/752/176 +f 742/753/177 736/751/177 738/754/177 +f 739/747/173 741/750/173 743/755/173 +f 373/600/173 375/604/173 374/601/173 +f 381/603/174 378/756/174 374/601/174 +f 373/600/175 377/757/175 380/605/175 +f 380/605/175 381/758/175 375/604/175 +f 372/602/176 376/609/176 377/606/176 +f 378/607/177 381/758/177 380/605/177 +f 376/609/178 379/759/178 380/610/178 +f 372/602/179 374/601/179 379/611/179 +f 374/601/179 378/760/179 379/611/179 +f 408/613/179 643/761/179 641/614/179 +f 412/616/174 413/762/174 411/617/174 +f 404/620/176 405/763/176 398/764/176 +f 398/764/176 399/765/176 404/620/176 +f 399/765/176 400/621/176 404/620/176 +f 400/621/176 401/766/176 402/767/176 +f 402/767/176 403/619/176 400/621/176 +f 390/623/174 397/768/174 396/769/174 +f 396/769/174 395/770/174 390/623/174 +f 395/770/174 394/624/174 390/623/174 +f 394/624/174 393/771/174 392/772/174 +f 392/772/174 391/622/174 394/624/174 +f 409/625/175 412/629/175 410/618/175 +f 407/626/173 410/618/173 411/617/173 +f 406/615/179 411/617/179 413/627/179 +f 408/628/177 413/773/177 412/629/177 +f 421/631/176 414/774/176 417/632/176 +f 414/774/176 415/775/176 417/632/176 +f 415/775/176 416/776/176 417/632/176 +f 417/632/176 418/777/176 419/778/176 +f 419/778/176 420/630/176 417/632/176 +f 422/635/174 424/779/174 429/780/174 +f 429/780/174 428/781/174 422/635/174 +f 428/781/174 427/782/174 422/635/174 +f 427/782/174 426/783/174 422/635/174 +f 426/783/174 425/633/174 422/635/174 +f 436/637/176 435/784/176 442/785/176 +f 442/785/176 441/786/176 436/637/176 +f 441/786/176 440/638/176 436/637/176 +f 440/638/176 439/787/176 438/788/176 +f 438/788/176 437/636/176 440/638/176 +f 472/640/174 460/789/174 461/790/174 +f 461/790/174 462/791/174 472/640/174 +f 462/791/174 465/641/174 472/640/174 +f 465/641/174 466/792/174 468/793/174 +f 468/793/174 470/639/174 465/641/174 +f 467/644/176 474/794/176 476/795/176 +f 476/795/176 446/796/176 448/642/176 +f 448/642/176 450/797/176 452/643/176 +f 452/643/176 458/798/176 467/644/176 +f 467/644/176 476/795/176 448/642/176 +f 447/646/174 477/799/174 475/800/174 +f 475/800/174 473/801/174 447/646/174 +f 473/801/174 459/647/174 447/646/174 +f 459/647/174 453/802/174 451/803/174 +f 451/803/174 449/645/174 459/647/174 +f 480/651/175 478/650/175 482/649/175 +f 478/650/175 652/692/175 484/648/175 +f 652/692/175 654/804/175 484/648/175 +f 480/651/176 482/649/176 483/652/176 +f 482/649/180 484/694/180 485/654/180 +f 481/805/179 483/806/179 479/656/179 +f 483/806/179 485/657/179 479/656/179 +f 485/657/179 655/807/179 653/655/179 +f 528/660/174 527/808/174 526/809/174 +f 526/809/174 533/810/174 528/660/174 +f 533/810/174 532/811/174 528/660/174 +f 532/811/174 531/812/174 528/660/174 +f 531/812/174 530/658/174 528/660/174 +f 534/662/176 535/813/176 538/663/176 +f 535/813/176 536/814/176 538/663/176 +f 536/814/176 537/815/176 538/663/176 +f 538/663/176 539/816/176 540/817/176 +f 540/817/176 541/661/176 538/663/176 +f 558/666/176 559/818/176 560/819/176 +f 560/819/176 561/820/176 562/664/176 +f 562/664/176 563/821/176 564/665/176 +f 564/665/176 565/822/176 558/666/176 +f 558/666/176 560/819/176 562/664/176 +f 618/667/179 622/823/179 620/668/179 +f 623/670/174 622/823/174 618/667/174 +f 617/672/175 621/674/175 623/670/175 +f 616/673/176 620/675/176 621/674/176 +f 620/675/177 622/824/177 623/676/177 +f 641/614/176 643/825/176 642/677/176 +f 409/625/181 642/680/181 643/679/181 +f 409/625/175 407/626/175 640/678/175 +f 406/615/180 641/614/180 640/678/180 +f 647/681/173 646/687/173 644/682/173 +f 648/684/177 650/826/177 651/685/177 +f 646/687/175 650/826/175 648/684/175 +f 647/681/176 651/827/176 650/688/176 +f 645/683/179 649/828/179 651/689/179 +f 644/682/174 648/829/174 649/690/174 +f 655/691/173 654/804/173 652/692/173 +f 484/694/176 654/830/176 655/695/176 +f 666/831/174 665/832/174 664/696/174 +f 664/696/174 671/833/174 670/697/174 +f 670/697/174 669/834/174 668/698/174 +f 668/698/174 667/835/174 666/831/174 +f 666/831/174 664/696/174 668/698/174 +f 680/699/177 684/836/177 686/700/177 +f 679/702/175 678/706/175 676/703/175 +f 672/705/177 676/703/177 678/706/177 +f 674/708/176 678/706/176 679/702/176 +f 675/710/173 679/702/173 677/704/173 +f 673/712/174 677/704/174 676/703/174 +f 682/701/176 686/837/176 687/714/176 +f 683/715/173 687/838/173 685/716/173 +f 681/717/174 685/839/174 684/718/174 +f 680/699/179 682/701/179 683/715/179 +f 696/721/175 697/840/175 698/841/175 +f 698/841/175 699/842/175 700/719/175 +f 700/719/175 701/843/175 702/720/175 +f 702/720/175 703/844/175 696/721/175 +f 696/721/175 698/841/175 700/719/175 +f 706/724/179 705/845/179 704/846/179 +f 704/846/179 711/847/179 710/722/179 +f 710/722/179 709/848/179 708/723/179 +f 708/723/179 707/849/179 706/724/179 +f 706/724/179 704/846/179 710/722/179 +f 721/725/175 725/733/175 727/726/175 +f 720/728/179 722/732/179 726/729/179 +f 723/731/173 727/850/173 726/729/173 +f 720/728/177 724/730/177 725/733/177 +f 726/734/176 727/851/176 731/735/176 +f 724/730/174 728/739/174 729/737/174 +f 729/737/175 731/852/175 727/738/175 +f 726/734/179 730/736/179 728/739/179 +f 730/736/173 734/745/173 732/740/173 +f 729/741/177 733/746/177 735/742/177 +f 731/744/176 735/853/176 734/745/176 +f 729/741/174 728/739/174 732/740/174 +f 653/655/174 652/692/174 478/650/174 +f 739/747/174 743/755/174 742/748/174 +f 741/750/176 737/854/176 736/751/176 +f 742/753/177 740/752/177 736/751/177 +f 739/747/173 737/854/173 741/750/173 +s 1 +f 400/855/182 393/856/177 401/857/177 +f 404/858/183 397/859/173 405/860/173 +f 399/861/179 392/862/182 400/855/182 +f 402/863/184 395/864/175 403/865/175 +f 403/865/175 396/866/183 404/858/183 +f 405/860/173 390/867/185 398/868/185 +f 389/869/186 386/870/187 387/871/187 +f 387/871/187 384/872/188 385/873/188 +f 385/873/188 383/874/179 382/875/179 +f 398/868/185 391/876/179 399/861/179 +f 401/877/177 394/878/184 402/863/184 +f 417/879/182 426/880/177 418/881/177 +f 414/882/173 422/883/185 415/884/185 +f 420/885/175 429/886/183 421/887/183 +f 418/888/177 427/889/184 419/890/184 +f 416/891/179 425/892/182 417/879/182 +f 415/884/185 423/893/179 416/891/179 +f 421/887/183 424/894/173 414/882/173 +f 419/890/184 428/895/175 420/885/175 +f 446/896/185 477/897/173 447/898/185 +f 476/899/173 475/900/183 477/897/173 +f 439/901/177 465/902/184 438/903/184 +f 456/904/189 431/905/190 432/906/189 +f 448/907/179 447/898/185 449/908/179 +f 457/909/191 432/906/189 433/910/191 +f 450/911/182 449/908/179 451/912/182 +f 440/913/182 466/914/177 439/915/177 +f 452/916/177 451/912/182 453/917/177 +f 434/918/179 464/919/188 443/920/188 +f 436/921/183 460/922/173 435/923/173 +f 458/924/184 453/925/177 459/926/184 +f 441/927/179 468/928/182 440/913/182 +f 437/929/175 461/930/183 436/921/183 +f 467/931/175 459/926/184 473/932/175 +f 444/933/187 471/934/186 445/935/186 +f 443/920/188 463/936/187 444/933/187 +f 474/937/183 473/932/175 475/900/183 +f 442/938/185 470/939/179 441/927/179 +f 438/903/184 462/940/175 437/929/175 +f 454/941/190 430/942/175 431/905/190 +f 435/923/173 472/943/185 442/938/185 +f 501/944/179 493/945/192 500/946/192 +f 489/947/193 496/948/194 495/949/193 +f 486/950/195 495/949/193 494/951/195 +f 488/952/194 497/953/175 496/948/194 +f 499/954/196 490/955/197 498/956/197 +f 500/946/192 491/957/196 499/954/196 +f 508/958/175 506/959/194 509/960/175 +f 507/961/194 504/962/193 506/959/194 +f 505/963/193 502/964/195 504/962/193 +f 517/965/183 524/966/175 516/967/175 +f 515/968/184 522/969/177 514/970/177 +f 513/971/182 520/972/179 512/973/179 +f 511/974/185 518/975/173 510/976/173 +f 510/976/173 525/977/183 517/965/183 +f 516/967/175 523/978/184 515/968/184 +f 514/979/177 521/980/182 513/971/182 +f 512/973/179 519/981/185 511/974/185 +f 530/982/198 545/983/182 529/984/199 +f 545/983/182 538/985/200 537/986/201 +f 544/987/179 537/986/201 536/988/202 +f 543/989/185 536/988/202 535/990/203 +f 534/991/204 543/989/185 535/990/203 +f 549/992/183 534/991/204 541/993/205 +f 540/994/206 549/992/183 541/993/205 +f 547/995/184 540/994/206 539/996/207 +f 538/997/200 547/995/184 539/996/207 +f 531/998/208 546/999/177 530/1000/198 +f 532/1001/209 547/995/184 531/998/208 +f 532/1001/209 549/992/183 548/1002/175 +f 526/1003/210 549/992/183 533/1004/211 +f 527/1005/212 542/1006/173 526/1003/210 +f 528/1007/213 543/989/185 527/1005/212 +f 528/1007/213 545/983/182 544/987/179 +f 557/1008/183 564/1009/175 556/1010/175 +f 555/1011/184 562/1012/177 554/1013/177 +f 553/1014/182 560/1015/179 552/1016/179 +f 551/1017/185 558/1018/173 550/1019/173 +f 550/1019/173 565/1020/183 557/1008/183 +f 556/1010/175 563/1021/184 555/1011/184 +f 554/1022/177 561/1023/182 553/1014/182 +f 552/1016/179 559/1024/185 551/1017/185 +f 570/1025/214 583/1026/215 571/1027/216 +f 577/1028/217 578/1029/218 566/1030/219 +f 567/1031/220 580/1032/221 568/1033/222 +f 574/1034/223 587/1035/224 575/1036/225 +f 571/1027/216 584/1037/226 572/1038/227 +f 568/1033/222 581/1039/228 569/1040/229 +f 575/1036/225 588/1041/230 576/1042/231 +f 572/1043/227 585/1044/232 573/1045/233 +f 569/1040/229 582/1046/234 570/1025/214 +f 576/1042/231 589/1047/235 577/1028/217 +f 566/1030/219 579/1048/236 567/1031/220 +f 573/1045/233 586/1049/237 574/1034/223 +f 567/1031/220 592/1050/238 591/1051/239 +f 566/1030/219 591/1052/239 590/1053/240 +f 566/1030/219 601/1054/241 577/1028/217 +f 576/1042/231 601/1055/241 600/1056/242 +f 575/1036/225 600/1057/242 599/1058/243 +f 575/1036/225 598/1059/244 574/1034/223 +f 573/1045/233 598/1060/244 597/1061/245 +f 572/1043/227 597/1062/245 596/1063/246 +f 572/1038/227 595/1064/247 571/1027/216 +f 571/1027/216 594/1065/248 570/1025/214 +f 569/1040/229 594/1066/248 593/1067/249 +f 569/1040/229 592/1068/238 568/1033/222 +f 603/1069/250 579/1048/236 578/1029/218 +f 591/1051/239 592/1050/238 602/1070/176 +f 592/1068/238 593/1071/249 602/1072/176 +f 593/1067/249 594/1066/248 602/1073/176 +f 594/1065/248 595/1074/247 602/1075/176 +f 595/1064/247 596/1076/246 602/1077/176 +f 596/1063/246 597/1062/245 602/1078/176 +f 597/1061/245 598/1060/244 602/1079/176 +f 598/1059/244 599/1080/243 602/1081/176 +f 599/1058/243 600/1057/242 602/1082/176 +f 600/1056/242 601/1055/241 602/1083/176 +f 601/1054/241 590/1084/240 602/1085/176 +f 590/1053/240 591/1052/239 602/1086/176 +f 579/1048/236 605/1087/251 580/1032/221 +f 605/1088/251 581/1039/228 580/1032/221 +f 581/1039/228 607/1089/252 582/1046/234 +f 607/1090/252 583/1026/215 582/1046/234 +f 583/1026/215 609/1091/253 584/1037/226 +f 609/1092/253 585/1044/232 584/1093/226 +f 585/1044/232 611/1094/254 586/1049/237 +f 611/1095/254 587/1035/224 586/1049/237 +f 587/1035/224 613/1096/255 588/1041/230 +f 588/1041/230 614/1097/256 589/1047/235 +f 614/1098/256 578/1029/218 589/1047/235 +f 604/1099/257 603/1069/250 615/1100/174 +f 603/1101/250 614/1098/256 615/1102/174 +f 614/1097/256 613/1103/255 615/1104/174 +f 613/1096/255 612/1105/258 615/1106/174 +f 612/1107/258 611/1095/254 615/1108/174 +f 611/1094/254 610/1109/259 615/1110/174 +f 610/1111/259 609/1092/253 615/1112/174 +f 609/1091/253 608/1113/260 615/1114/174 +f 608/1115/260 607/1090/252 615/1116/174 +f 607/1089/252 606/1117/261 615/1118/174 +f 606/1119/261 605/1088/251 615/1120/174 +f 605/1087/251 604/1121/257 615/1122/174 +f 636/1123/177 629/1124/184 628/1125/177 +f 634/1126/179 627/1127/182 626/1128/179 +f 632/1129/173 625/1130/185 624/1131/173 +f 639/1132/183 624/1131/173 631/1133/183 +f 637/1134/184 630/1135/175 629/1124/184 +f 635/1136/182 628/1137/177 627/1127/182 +f 633/1138/185 626/1128/179 625/1130/185 +f 638/1139/175 631/1133/183 630/1135/175 +f 671/1140/183 656/1141/173 663/1142/183 +f 669/1143/184 662/1144/175 661/1145/184 +f 667/1146/182 660/1147/177 659/1148/182 +f 665/1149/185 658/1150/179 657/1151/185 +f 670/1152/175 663/1142/183 662/1144/175 +f 668/1153/177 661/1145/184 660/1154/177 +f 666/1155/179 659/1148/182 658/1150/179 +f 664/1156/173 657/1151/185 656/1141/173 +f 688/1157/174 703/1158/262 695/1159/262 +f 694/1160/177 701/1161/178 693/1162/178 +f 692/1163/176 699/1164/263 691/1165/263 +f 690/1166/173 697/1167/264 689/1168/264 +f 695/1159/262 702/1169/177 694/1170/177 +f 693/1162/178 700/1171/176 692/1163/176 +f 691/1165/263 698/1172/173 690/1166/173 +f 689/1168/264 696/1173/174 688/1157/174 +f 704/1174/174 719/1175/262 711/1176/262 +f 710/1177/177 717/1178/178 709/1179/178 +f 708/1180/176 715/1181/263 707/1182/263 +f 706/1183/173 713/1184/264 705/1185/264 +f 711/1176/262 718/1186/177 710/1187/177 +f 709/1179/178 716/1188/176 708/1180/176 +f 707/1182/263 714/1189/173 706/1183/173 +f 705/1185/264 712/1190/174 704/1174/174 +f 400/855/182 392/862/182 393/856/177 +f 404/858/183 396/866/183 397/859/173 +f 399/861/179 391/876/179 392/862/182 +f 402/863/184 394/878/184 395/864/175 +f 403/865/175 395/864/175 396/866/183 +f 405/860/173 397/859/173 390/867/185 +f 389/869/186 388/1191/186 386/870/187 +f 387/871/187 386/870/187 384/872/188 +f 385/873/188 384/872/188 383/874/179 +f 398/868/185 390/867/185 391/876/179 +f 401/877/177 393/1192/177 394/878/184 +f 417/879/182 425/892/182 426/880/177 +f 414/882/173 424/894/173 422/883/185 +f 420/885/175 428/895/175 429/886/183 +f 418/888/177 426/1193/177 427/889/184 +f 416/891/179 423/893/179 425/892/182 +f 415/884/185 422/883/185 423/893/179 +f 421/887/183 429/886/183 424/894/173 +f 419/890/184 427/889/184 428/895/175 +f 446/896/185 476/899/173 477/897/173 +f 476/899/173 474/937/183 475/900/183 +f 439/901/177 466/1194/177 465/902/184 +f 456/904/189 454/941/190 431/905/190 +f 448/907/179 446/896/185 447/898/185 +f 457/909/191 456/904/189 432/906/189 +f 450/911/182 448/907/179 449/908/179 +f 440/913/182 468/928/182 466/914/177 +f 452/916/177 450/911/182 451/912/182 +f 434/918/179 469/1195/179 464/919/188 +f 436/921/183 461/930/183 460/922/173 +f 458/924/184 452/1196/177 453/925/177 +f 441/927/179 470/939/179 468/928/182 +f 437/929/175 462/940/175 461/930/183 +f 467/931/175 458/924/184 459/926/184 +f 444/933/187 463/936/187 471/934/186 +f 443/920/188 464/919/188 463/936/187 +f 474/937/183 467/931/175 473/932/175 +f 442/938/185 472/943/185 470/939/179 +f 438/903/184 465/902/184 462/940/175 +f 454/941/190 455/1197/175 430/942/175 +f 435/923/173 460/922/173 472/943/185 +f 501/944/179 492/1198/179 493/945/192 +f 489/947/193 488/952/194 496/948/194 +f 486/950/195 489/947/193 495/949/193 +f 488/952/194 487/1199/175 497/953/175 +f 499/954/196 491/957/196 490/955/197 +f 500/946/192 493/945/192 491/957/196 +f 508/958/175 507/961/194 506/959/194 +f 507/961/194 505/963/193 504/962/193 +f 505/963/193 503/1200/195 502/964/195 +f 517/965/183 525/977/183 524/966/175 +f 515/968/184 523/978/184 522/969/177 +f 513/971/182 521/980/182 520/972/179 +f 511/974/185 519/981/185 518/975/173 +f 510/976/173 518/975/173 525/977/183 +f 516/967/175 524/966/175 523/978/184 +f 514/979/177 522/1201/177 521/980/182 +f 512/973/179 520/972/179 519/981/185 +f 530/982/198 546/1202/177 545/983/182 +f 545/983/182 546/1202/177 538/985/200 +f 544/987/179 545/983/182 537/986/201 +f 543/989/185 544/987/179 536/988/202 +f 534/991/204 542/1006/173 543/989/185 +f 549/992/183 542/1006/173 534/991/204 +f 540/994/206 548/1002/175 549/992/183 +f 547/995/184 548/1002/175 540/994/206 +f 538/997/200 546/999/177 547/995/184 +f 531/998/208 547/995/184 546/999/177 +f 532/1001/209 548/1002/175 547/995/184 +f 532/1001/209 533/1004/211 549/992/183 +f 526/1003/210 542/1006/173 549/992/183 +f 527/1005/212 543/989/185 542/1006/173 +f 528/1007/213 544/987/179 543/989/185 +f 528/1007/213 529/984/199 545/983/182 +f 557/1008/183 565/1020/183 564/1009/175 +f 555/1011/184 563/1021/184 562/1012/177 +f 553/1014/182 561/1023/182 560/1015/179 +f 551/1017/185 559/1024/185 558/1018/173 +f 550/1019/173 558/1018/173 565/1020/183 +f 556/1010/175 564/1009/175 563/1021/184 +f 554/1022/177 562/1203/177 561/1023/182 +f 552/1016/179 560/1015/179 559/1024/185 +f 570/1025/214 582/1046/234 583/1026/215 +f 577/1028/217 589/1047/235 578/1029/218 +f 567/1031/220 579/1048/236 580/1032/221 +f 574/1034/223 586/1049/237 587/1035/224 +f 571/1027/216 583/1026/215 584/1037/226 +f 568/1033/222 580/1032/221 581/1039/228 +f 575/1036/225 587/1035/224 588/1041/230 +f 572/1043/227 584/1093/226 585/1044/232 +f 569/1040/229 581/1039/228 582/1046/234 +f 576/1042/231 588/1041/230 589/1047/235 +f 566/1030/219 578/1029/218 579/1048/236 +f 573/1045/233 585/1044/232 586/1049/237 +f 567/1031/220 568/1033/222 592/1050/238 +f 566/1030/219 567/1031/220 591/1052/239 +f 566/1030/219 590/1084/240 601/1054/241 +f 576/1042/231 577/1028/217 601/1055/241 +f 575/1036/225 576/1042/231 600/1057/242 +f 575/1036/225 599/1080/243 598/1059/244 +f 573/1045/233 574/1034/223 598/1060/244 +f 572/1043/227 573/1045/233 597/1062/245 +f 572/1038/227 596/1076/246 595/1064/247 +f 571/1027/216 595/1074/247 594/1065/248 +f 569/1040/229 570/1025/214 594/1066/248 +f 569/1040/229 593/1071/249 592/1068/238 +f 603/1069/250 604/1099/257 579/1048/236 +f 579/1048/236 604/1121/257 605/1087/251 +f 605/1088/251 606/1119/261 581/1039/228 +f 581/1039/228 606/1117/261 607/1089/252 +f 607/1090/252 608/1115/260 583/1026/215 +f 583/1026/215 608/1113/260 609/1091/253 +f 609/1092/253 610/1111/259 585/1044/232 +f 585/1044/232 610/1109/259 611/1094/254 +f 611/1095/254 612/1107/258 587/1035/224 +f 587/1035/224 612/1105/258 613/1096/255 +f 588/1041/230 613/1103/255 614/1097/256 +f 614/1098/256 603/1101/250 578/1029/218 +f 636/1123/177 637/1134/184 629/1124/184 +f 634/1126/179 635/1136/182 627/1127/182 +f 632/1129/173 633/1138/185 625/1130/185 +f 639/1132/183 632/1129/173 624/1131/173 +f 637/1134/184 638/1139/175 630/1135/175 +f 635/1136/182 636/1204/177 628/1137/177 +f 633/1138/185 634/1126/179 626/1128/179 +f 638/1139/175 639/1132/183 631/1133/183 +f 671/1140/183 664/1156/173 656/1141/173 +f 669/1143/184 670/1152/175 662/1144/175 +f 667/1146/182 668/1205/177 660/1147/177 +f 665/1149/185 666/1155/179 658/1150/179 +f 670/1152/175 671/1140/183 663/1142/183 +f 668/1153/177 669/1143/184 661/1145/184 +f 666/1155/179 667/1146/182 659/1148/182 +f 664/1156/173 665/1149/185 657/1151/185 +f 688/1157/174 696/1173/174 703/1158/262 +f 694/1160/177 702/1206/177 701/1161/178 +f 692/1163/176 700/1171/176 699/1164/263 +f 690/1166/173 698/1172/173 697/1167/264 +f 695/1159/262 703/1158/262 702/1169/177 +f 693/1162/178 701/1161/178 700/1171/176 +f 691/1165/263 699/1164/263 698/1172/173 +f 689/1168/264 697/1167/264 696/1173/174 +f 704/1174/174 712/1190/174 719/1175/262 +f 710/1177/177 718/1207/177 717/1178/178 +f 708/1180/176 716/1188/176 715/1181/263 +f 706/1183/173 714/1189/173 713/1184/264 +f 711/1176/262 719/1175/262 718/1186/177 +f 709/1179/178 717/1178/178 716/1188/176 +f 707/1182/263 715/1181/263 714/1189/173 +f 705/1185/264 713/1184/264 712/1190/174 diff --git a/src/main/resources/assets/hbm/models/weapons/flamer.obj b/src/main/resources/assets/hbm/models/weapons/flamer.obj deleted file mode 100644 index 2b9e7e367..000000000 --- a/src/main/resources/assets/hbm/models/weapons/flamer.obj +++ /dev/null @@ -1,1755 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'flamer.blend' -# www.blender.org -o Cylinder -v 0.000000 1.250000 -2.500000 -v 0.000000 1.250000 2.500000 -v 0.176777 1.176776 -2.500000 -v 0.176777 1.176777 2.500000 -v 0.250000 1.000000 -2.500000 -v 0.250000 1.000000 2.500000 -v 0.176777 0.823223 -2.500000 -v 0.176777 0.823224 2.500000 -v -0.000000 0.750000 -2.500000 -v -0.000000 0.750000 2.500000 -v -0.176777 0.823223 -2.500000 -v -0.176777 0.823224 2.500000 -v -0.250000 1.000000 -2.500000 -v -0.250000 1.000000 2.500000 -v -0.176777 1.176776 -2.500000 -v -0.176777 1.176777 2.500000 -v 0.000000 1.500000 2.500000 -v 0.353553 1.353554 2.500000 -v 0.500000 1.000000 2.500000 -v 0.353553 0.646447 2.500000 -v -0.000000 0.500000 2.500000 -v -0.353553 0.646447 2.500000 -v -0.500000 1.000000 2.500000 -v -0.353553 1.353554 2.500000 -v 0.353553 1.353554 4.500000 -v 0.000000 1.500000 4.500000 -v 0.500000 1.000000 4.500000 -v 0.353553 0.646447 4.500000 -v -0.000000 0.500000 4.500000 -v -0.353553 0.646447 4.500000 -v -0.500000 1.000000 4.500000 -v -0.353553 1.353554 4.500000 -v 0.265165 1.265165 4.750000 -v 0.000000 1.375000 4.750000 -v 0.375000 1.000000 4.750000 -v 0.265165 0.734835 4.750000 -v -0.000000 0.625000 4.750000 -v -0.265165 0.734835 4.750000 -v -0.375000 1.000000 4.750000 -v -0.265165 1.265165 4.750000 -v 0.000000 0.775916 0.562275 -v 0.000000 -0.672973 0.950503 -v 0.375000 1.000000 5.000000 -v -0.265165 0.734835 5.000000 -v 0.000000 1.375000 5.000000 -v -0.000000 0.625000 5.000000 -v 0.125000 -0.608268 1.191985 -v 0.125000 0.840621 0.803756 -v 0.088388 -0.585392 1.277361 -v 0.088388 0.863497 0.889133 -v -0.000000 -0.575916 1.312725 -v -0.000000 0.872973 0.924497 -v -0.088388 -0.585392 1.277361 -v -0.088388 0.863497 0.889133 -v -0.125000 -0.608268 1.191985 -v -0.125000 0.840621 0.803756 -v 0.265165 1.265165 5.000000 -v 0.265165 0.734835 5.000000 -v 0.088388 -0.663497 0.985867 -v 0.088388 0.785392 0.597639 -v 0.125000 -0.640621 1.071244 -v 0.125000 0.808268 0.683015 -v -0.125000 -0.640621 1.071244 -v -0.125000 0.808268 0.683015 -v -0.088388 -0.663497 0.985867 -v -0.088388 0.785392 0.597639 -v -0.375000 1.000000 5.000000 -v -0.265165 1.265165 5.000000 -v -0.198874 1.198874 5.000000 -v -0.281250 1.000000 5.000000 -v -0.198874 0.801127 5.000000 -v -0.000000 0.718750 5.000000 -v 0.000000 1.281250 5.000000 -v 0.198874 0.801127 5.000000 -v 0.281250 1.000000 5.000000 -v 0.198874 1.198874 5.000000 -v -0.198874 1.198874 4.750000 -v -0.281250 1.000000 4.750000 -v -0.198874 0.801127 4.750000 -v -0.000000 0.718750 4.750000 -v 0.000000 1.281250 4.750000 -v 0.198874 0.801127 4.750000 -v 0.281250 1.000000 4.750000 -v 0.198874 1.198874 4.750000 -v 0.000000 0.850000 -1.125000 -v 0.000000 -0.650000 -1.125000 -v 0.125000 -0.650000 -0.875000 -v 0.125000 0.850000 -0.875000 -v 0.088388 -0.650000 -0.786612 -v 0.088388 0.850000 -0.786612 -v -0.000000 -0.650000 -0.750000 -v -0.000000 0.850000 -0.750000 -v -0.088388 -0.650000 -0.786612 -v -0.088388 0.850000 -0.786612 -v -0.125000 -0.650000 -0.875000 -v -0.125000 0.850000 -0.875000 -v 0.088388 -0.650000 -1.088388 -v 0.088388 0.850000 -1.088388 -v 0.125000 -0.650000 -1.000000 -v 0.125000 0.850000 -1.000000 -v -0.125000 -0.650000 -1.000000 -v -0.125000 0.850000 -1.000000 -v -0.088388 -0.650000 -1.088388 -v -0.088388 0.850000 -1.088388 -v -0.334835 -0.995481 2.879628 -v -0.600000 -1.073146 2.801963 -v -0.600000 -0.984758 2.536798 -v -0.600000 0.429456 1.122584 -v -0.246447 -0.881204 2.640351 -v -0.246447 0.533009 1.226137 -v -0.100000 -0.631204 2.890351 -v -0.100000 0.783009 1.476137 -v -0.246447 -0.381205 3.140351 -v -0.246447 1.033009 1.726137 -v -0.600000 -0.277651 3.243904 -v -0.600000 1.136562 1.829691 -v -0.953553 -0.381205 3.140351 -v -0.953553 1.033009 1.726137 -v -1.100000 -0.631204 2.890351 -v -1.100000 0.783009 1.476137 -v -0.953553 -0.881204 2.640351 -v -0.953553 0.533009 1.226137 -v -0.225000 -0.807981 3.067128 -v -0.334835 -0.620481 3.254628 -v -0.600000 -0.542816 3.332293 -v -0.865165 -0.620481 3.254628 -v -0.975000 -0.807981 3.067128 -v -0.865165 -0.995481 2.879628 -v -0.600000 -0.896369 3.155516 -v -0.334835 0.772286 1.111861 -v -0.600000 0.694620 1.034196 -v -0.225000 0.959786 1.299361 -v -0.334835 1.147285 1.486861 -v -0.600000 1.224951 1.564526 -v -0.865165 1.147285 1.486861 -v -0.975000 0.959786 1.299361 -v -0.865165 0.772286 1.111861 -v -0.334835 0.949062 0.935084 -v -0.600000 0.871397 0.857419 -v -0.225000 1.136562 1.122584 -v -0.334835 1.324062 1.310084 -v -0.600000 1.401727 1.387749 -v -0.865165 1.324062 1.310084 -v -0.975000 1.136562 1.122584 -v -0.865165 0.949062 0.935084 -v -0.507192 1.070937 1.056959 -v -0.600000 1.043755 1.029776 -v -0.468750 1.136562 1.122584 -v -0.507192 1.202187 1.188209 -v -0.600000 1.229370 1.215392 -v -0.692808 1.202187 1.188209 -v -0.731250 1.136562 1.122584 -v -0.692808 1.070937 1.056959 -v -0.507192 1.582703 0.553196 -v -0.600000 1.547831 0.537018 -v -0.468750 1.666892 0.592254 -v -0.507192 1.751081 0.631312 -v -0.600000 1.785953 0.647490 -v -0.692808 1.751081 0.631312 -v -0.731250 1.666892 0.592254 -v -0.692808 1.582703 0.553196 -v -0.507192 1.900055 -0.126021 -v -0.600000 1.862579 -0.134584 -v -0.468750 1.990531 -0.105349 -v -0.507192 2.081007 -0.084676 -v -0.600000 2.118484 -0.076113 -v -0.692808 2.081007 -0.084676 -v -0.731250 1.990531 -0.105349 -v -0.692808 1.900055 -0.126021 -v -0.507192 2.128390 -1.114374 -v -0.600000 2.089948 -1.114167 -v -0.468750 2.221196 -1.114874 -v -0.507192 2.314003 -1.115373 -v -0.600000 2.352444 -1.115580 -v -0.692808 2.314003 -1.115373 -v -0.731250 2.221196 -1.114874 -v -0.692808 2.128390 -1.114374 -v -0.507192 2.127253 -2.030281 -v -0.600000 2.090441 -2.019205 -v -0.468750 2.216124 -2.057023 -v -0.507192 2.304996 -2.083764 -v -0.600000 2.341808 -2.094840 -v -0.692808 2.304996 -2.083764 -v -0.731250 2.216124 -2.057023 -v -0.692808 2.127253 -2.030281 -v -0.472031 1.940117 -2.669739 -v -0.564838 1.908912 -2.647287 -v -0.433588 2.015452 -2.723941 -v -0.472031 2.090787 -2.778143 -v -0.564838 2.121992 -2.800595 -v -0.657646 2.090787 -2.778143 -v -0.696088 2.015452 -2.723941 -v -0.657646 1.940117 -2.669739 -v -0.442782 1.729579 -2.977650 -v -0.535590 1.710985 -2.944004 -v -0.404340 1.774468 -3.058879 -v -0.442782 1.819358 -3.140109 -v -0.535590 1.837952 -3.173755 -v -0.628398 1.819358 -3.140109 -v -0.666840 1.774468 -3.058879 -v -0.628398 1.729579 -2.977650 -v -0.391283 1.438127 -3.156019 -v -0.484091 1.440989 -3.117683 -v -0.352841 1.431219 -3.248569 -v -0.391283 1.424311 -3.341119 -v -0.484091 1.421449 -3.379455 -v -0.576899 1.424311 -3.341119 -v -0.615341 1.431219 -3.248569 -v -0.576899 1.438127 -3.156019 -v -0.249516 1.207628 -3.148211 -v -0.342324 1.226989 -3.115000 -v -0.211074 1.160890 -3.228390 -v -0.249516 1.114151 -3.308570 -v -0.342324 1.094791 -3.341782 -v -0.435132 1.114151 -3.308570 -v -0.473574 1.160890 -3.228390 -v -0.435132 1.207628 -3.148211 -v -0.121115 1.064876 -3.038342 -v -0.213923 1.101756 -3.027492 -v -0.082673 0.975842 -3.064536 -v -0.121115 0.886808 -3.090731 -v -0.213923 0.849929 -3.101581 -v -0.306731 0.886808 -3.090731 -v -0.345173 0.975842 -3.064536 -v -0.306731 1.064876 -3.038342 -v -0.033410 1.011130 -2.881844 -v -0.126218 1.049316 -2.886280 -v 0.005033 0.918943 -2.871136 -v -0.033410 0.826755 -2.860428 -v -0.126218 0.788570 -2.855992 -v -0.219025 0.826755 -2.860428 -v -0.257468 0.918943 -2.871136 -v -0.219025 1.011130 -2.881844 -v 0.117527 1.061549 -2.447793 -v 0.024719 1.099735 -2.452229 -v 0.155969 0.969362 -2.437085 -v 0.117527 0.877173 -2.426377 -v 0.024719 0.838988 -2.421941 -v -0.068089 0.877173 -2.426377 -v -0.106531 0.969362 -2.437085 -v -0.068089 1.061549 -2.447793 -v -0.000000 1.625000 -0.375000 -v 0.088388 1.588388 -0.375000 -v 0.000000 1.750000 -2.000000 -v 0.000000 1.750000 -0.500000 -v 0.176777 1.676777 -2.000000 -v 0.176777 1.676777 -0.500000 -v 0.250000 1.500000 -2.000000 -v 0.250000 1.500000 -0.500000 -v 0.176777 1.323223 -2.000000 -v 0.176777 1.323223 -0.500000 -v -0.000000 1.250000 -2.000000 -v -0.000000 1.250000 -0.500000 -v -0.176777 1.323223 -2.000000 -v -0.176777 1.323223 -0.500000 -v -0.250000 1.500000 -2.000000 -v -0.250000 1.500000 -0.500000 -v -0.176777 1.676777 -2.000000 -v -0.176777 1.676777 -0.500000 -v 0.125000 1.500000 -0.375000 -v 0.088388 1.411612 -0.375000 -v -0.000000 1.375000 -0.375000 -v -0.088388 1.411612 -0.375000 -v -0.125000 1.500000 -0.375000 -v -0.088388 1.588388 -0.375000 -v -0.000000 1.625000 -2.125000 -v 0.088388 1.588388 -2.125000 -v 0.125000 1.500000 -2.125000 -v 0.088388 1.411612 -2.125000 -v -0.000000 1.375000 -2.125000 -v -0.088388 1.411612 -2.125000 -v -0.125000 1.500000 -2.125000 -v -0.088388 1.588388 -2.125000 -v -0.066291 1.316698 0.680730 -v -0.093750 1.254391 0.658093 -v -0.066291 1.192085 0.635456 -v -0.000000 1.166277 0.626079 -v 0.066291 1.192085 0.635456 -v 0.093750 1.254391 0.658093 -v -0.000000 1.342506 0.690107 -v 0.066291 1.316698 0.680730 -v 0.066291 1.469112 0.404562 -v 0.093750 1.410994 0.372674 -v 0.066291 1.352876 0.340786 -v -0.000000 1.328803 0.327577 -v -0.066291 1.352876 0.340786 -v -0.093750 1.410994 0.372674 -v -0.066291 1.469112 0.404562 -v -0.000000 1.493185 0.417770 -v -0.066291 1.564097 0.052334 -v -0.093750 1.500000 0.035418 -v -0.066291 1.435904 0.018502 -v -0.000000 1.409354 0.011496 -v 0.066291 1.435904 0.018502 -v 0.093750 1.500000 0.035418 -v -0.000000 1.590647 0.059341 -v 0.066291 1.564097 0.052334 -v -0.066291 1.566291 -0.375000 -v -0.093750 1.500000 -0.375000 -v -0.066291 1.433709 -0.375000 -v -0.000000 1.406250 -0.375000 -v 0.066291 1.433709 -0.375000 -v 0.093750 1.500000 -0.375000 -v 0.066291 1.566291 -0.375000 -v -0.000000 1.593750 -0.375000 -v -0.000000 1.239741 0.972957 -v -0.066291 1.213933 0.963580 -v -0.093750 1.151626 0.940943 -v -0.066291 1.089320 0.918306 -v -0.000000 1.063512 0.908929 -v 0.066291 1.089320 0.918306 -v 0.093750 1.151626 0.940943 -v 0.066291 1.213933 0.963580 -v 0.250000 1.250000 2.250000 -v 0.250000 0.750000 2.250000 -v 0.250000 1.250000 0.000000 -v 0.312500 1.250000 0.000000 -v 0.250000 0.750000 -2.000000 -v 0.250000 1.750000 -0.500000 -v 0.250000 1.750000 -2.000000 -v 0.312500 1.250000 2.250000 -v 0.312500 0.750000 2.250000 -v 0.312500 0.750000 -2.000000 -v 0.312500 1.750000 -2.000000 -v 0.312500 1.750000 -0.500000 -v -0.312500 1.250000 0.750000 -v -0.312500 0.750000 0.750000 -v -0.312500 1.250000 0.000000 -v -0.250000 1.250000 0.000000 -v -0.312500 0.750000 -2.000000 -v -0.312500 1.750000 -0.500000 -v -0.312500 1.750000 -2.000000 -v -0.250000 1.250000 0.750000 -v -0.250000 0.750000 0.750000 -v -0.250000 0.750000 -2.000000 -v -0.250000 1.750000 -2.000000 -v -0.250000 1.750000 -0.500000 -v 0.312500 1.875000 -2.000000 -v -0.312500 1.875000 -2.000000 -v 0.312500 1.875000 0.250000 -v -0.312500 1.875000 0.250000 -v 0.312500 1.625000 0.750000 -v -0.312500 1.625000 0.750000 -v 0.312500 1.625000 2.000000 -v -0.312500 1.625000 2.000000 -v 0.312500 1.375000 2.250000 -v -0.312500 1.375000 2.250000 -v 0.312500 1.250000 0.250000 -v 0.312500 1.250000 2.000000 -v -0.000000 1.000000 4.750000 -v 0.353553 1.353554 4.500000 -v 0.000000 1.500000 4.500000 -v 0.500000 1.000000 4.500000 -v 0.353553 0.646447 4.500000 -v -0.000000 0.500000 4.500000 -v -0.353553 0.646447 4.500000 -v -0.500000 1.000000 4.500000 -v -0.353553 1.353554 4.500000 -v 0.265165 1.265165 4.750000 -v 0.000000 1.375000 4.750000 -v 0.375000 1.000000 4.750000 -v 0.265165 0.734835 4.750000 -v -0.000000 0.625000 4.750000 -v -0.265165 0.734835 4.750000 -v -0.375000 1.000000 4.750000 -v -0.265165 1.265165 4.750000 -v -0.334835 0.772286 1.111861 -v -0.600000 0.694620 1.034196 -v -0.225000 0.959786 1.299361 -v -0.334835 1.147285 1.486861 -v -0.600000 1.224951 1.564526 -v -0.865165 1.147285 1.486861 -v -0.975000 0.959786 1.299361 -v -0.865165 0.772286 1.111861 -vt 0.798533 0.049911 -vt 0.749182 0.069988 -vt 0.728740 0.021518 -vt 0.547206 0.354533 -vt 0.448111 0.257208 -vt 0.489158 0.216895 -vt 0.081818 0.339286 -vt 0.072727 0.339286 -vt 0.072727 0.312500 -vt 0.081818 0.250000 -vt 0.072727 0.250000 -vt 0.072727 0.223214 -vt 0.081818 0.401786 -vt 0.081818 0.428571 -vt 0.072727 0.428571 -vt 0.081818 0.383929 -vt 0.072727 0.383929 -vt 0.072727 0.357143 -vt 0.926786 0.215241 -vt 0.943995 0.232143 -vt 0.926786 0.249044 -vt 0.081818 0.517857 -vt 0.072727 0.517857 -vt 0.072727 0.491071 -vt 0.081818 0.562500 -vt 0.072727 0.562500 -vt 0.072727 0.535714 -vt 0.081818 0.473214 -vt 0.072727 0.473214 -vt 0.072727 0.446429 -vt 0.081818 0.294643 -vt 0.072727 0.294643 -vt 0.072727 0.267857 -vt 0.000000 0.508929 -vt 0.036364 0.491071 -vt 0.036364 0.517857 -vt 0.592964 0.246503 -vt 0.697945 0.246503 -vt 0.697945 0.289211 -vt 0.981818 0.607143 -vt 0.763636 0.750000 -vt 0.690909 0.678571 -vt 0.990909 0.750000 -vt 0.981818 0.750000 -vt 0.763636 0.758929 -vt 0.990909 0.607143 -vt 0.990909 0.678571 -vt 0.690909 0.758929 -vt 0.690909 0.750000 -vt 0.981818 0.758929 -vt 0.363636 0.758929 -vt 0.363636 0.750000 -vt 0.581818 0.758929 -vt 0.581818 0.750000 -vt 0.890909 0.000000 -vt 0.890909 0.321429 -vt 0.800000 0.321429 -vt 0.890909 0.392857 -vt 0.800000 0.392857 -vt 0.890909 0.571429 -vt 0.800000 0.571429 -vt 0.890909 0.607143 -vt 0.800000 0.607143 -vt 0.936364 0.392857 -vt 0.000000 0.241071 -vt 0.036364 0.223214 -vt 0.036364 0.250000 -vt 0.036364 0.446429 -vt 0.036364 0.473214 -vt 0.000000 0.464286 -vt 0.036364 0.357143 -vt 0.036364 0.383929 -vt 0.000000 0.375000 -vt 0.036364 0.294643 -vt 0.000000 0.285714 -vt 0.036364 0.267857 -vt 0.036364 0.401786 -vt 0.036364 0.428571 -vt 0.000000 0.419643 -vt 0.036364 0.562500 -vt 0.000000 0.553571 -vt 0.036364 0.535714 -vt 0.036364 0.312500 -vt 0.036364 0.339286 -vt 0.000000 0.330357 -vt 0.749182 0.001441 -vt 0.778091 0.001441 -vt 0.798533 0.021518 -vt 0.778091 0.069988 -vt 0.728740 0.049911 -vt 0.547206 0.216895 -vt 0.588252 0.257208 -vt 0.588252 0.314220 -vt 0.489158 0.354533 -vt 0.448111 0.314220 -vt 0.081818 0.312500 -vt 0.081818 0.223214 -vt 0.072727 0.401786 -vt 0.081818 0.357143 -vt 0.909577 0.249044 -vt 0.909577 0.215241 -vt 0.897409 0.244094 -vt 0.892369 0.232143 -vt 0.897409 0.220192 -vt 0.938955 0.220192 -vt 0.938955 0.244094 -vt 0.081818 0.491071 -vt 0.081818 0.535714 -vt 0.081818 0.446429 -vt 0.081818 0.267857 -vt 0.667197 0.319410 -vt 0.623712 0.319410 -vt 0.592964 0.289211 -vt 0.623712 0.216304 -vt 0.667197 0.216304 -vt 0.363636 0.678571 -vt 0.363636 0.607143 -vt 0.981818 0.678571 -vt 0.581818 0.678571 -vt 0.581818 0.607143 -vt 0.800000 0.000000 -vt 0.981818 0.321429 -vt 0.936364 0.571429 -vt 0.000000 0.107143 -vt 0.000000 0.080357 -vt 0.727273 0.080357 -vt 0.000000 0.053571 -vt 0.727273 0.053571 -vt 0.000000 0.026786 -vt 0.727273 0.026786 -vt 0.000000 -0.000000 -vt 0.727273 -0.000000 -vt 0.000000 0.214286 -vt 0.000000 0.187500 -vt 0.727273 0.187500 -vt -0.000000 0.160714 -vt 0.727273 0.160714 -vt 0.000000 0.133929 -vt 0.727273 0.107143 -vt 0.727273 0.133929 -vt 0.154545 0.392857 -vt 0.118182 0.383929 -vt 0.118182 0.357143 -vt 0.445455 0.482143 -vt 0.154545 0.482143 -vt 0.154545 0.437500 -vt 0.445455 0.571429 -vt 0.154545 0.571429 -vt 0.154545 0.526786 -vt 0.445455 0.303571 -vt 0.154545 0.303571 -vt 0.154545 0.258929 -vt 0.445455 0.392857 -vt 0.154545 0.348214 -vt 0.445455 0.437500 -vt 0.445455 0.526786 -vt 0.445455 0.258929 -vt 0.154545 0.214286 -vt 0.445455 0.348214 -vt 0.118182 0.473214 -vt 0.118182 0.428571 -vt 0.118182 0.401786 -vt 0.118182 0.517857 -vt 0.118182 0.491071 -vt 0.118182 0.250000 -vt 0.118182 0.223214 -vt 0.118182 0.339286 -vt 0.118182 0.446429 -vt 0.118182 0.562500 -vt 0.118182 0.535714 -vt 0.118182 0.294643 -vt 0.963636 0.000000 -vt 0.963636 0.214286 -vt 0.954545 0.214286 -vt 0.909091 0.214286 -vt 0.900000 0.214286 -vt 0.900000 -0.000000 -vt 0.945455 0.214286 -vt 0.945455 0.000000 -vt 0.890909 0.214286 -vt 0.936364 0.214286 -vt 0.936364 0.000000 -vt 0.990909 0.214286 -vt 0.981818 0.214286 -vt 0.981818 0.000000 -vt 0.927273 0.214286 -vt 1.000000 0.214286 -vt 0.990909 0.000000 -vt 0.909091 -0.000000 -vt 0.927273 0.000000 -vt 0.954545 0.000000 -vt 0.081818 0.607143 -vt 0.054545 0.607143 -vt 0.063636 0.571429 -vt 0.000000 0.642857 -vt 0.009091 0.607143 -vt 0.036364 0.607143 -vt 0.090909 0.928571 -vt 0.045455 0.928571 -vt 0.045455 0.642857 -vt 0.281818 0.607143 -vt 0.290909 0.571429 -vt 0.309091 0.607143 -vt 0.000000 0.928571 -vt 0.018182 0.571429 -vt 0.227273 0.642857 -vt 0.236364 0.607143 -vt 0.263636 0.607143 -vt 0.363636 0.928571 -vt 0.318182 0.928571 -vt 0.318182 0.642857 -vt 0.336364 0.571429 -vt 0.354545 0.607143 -vt 0.327273 0.607143 -vt 0.272727 0.642857 -vt 0.272727 0.928571 -vt 0.245455 0.571429 -vt 0.181818 0.642857 -vt 0.136364 0.642857 -vt 0.145455 0.607143 -vt 0.227273 0.928571 -vt 0.090909 0.642857 -vt 0.100000 0.607143 -vt 0.127273 0.607143 -vt 0.109091 0.571429 -vt 0.181818 0.928571 -vt 0.136364 0.928571 -vt 0.172727 0.964286 -vt 0.190909 0.607143 -vt 0.200000 0.571429 -vt 0.218182 0.607143 -vt 0.363636 0.642857 -vt 0.172727 0.607143 -vt 0.172727 1.000000 -vt 0.145455 1.000000 -vt 0.309091 0.964286 -vt 0.127273 0.964286 -vt 0.100000 0.964286 -vt 0.263636 0.964286 -vt 0.236364 0.964286 -vt 0.036364 0.964286 -vt 0.009091 0.964286 -vt 0.218182 0.964286 -vt 0.190909 0.964286 -vt 0.081818 0.964286 -vt 0.354545 0.964286 -vt 0.327273 0.964286 -vt 0.263636 1.000000 -vt 0.236364 1.000000 -vt 0.354545 1.000000 -vt 0.327273 1.000000 -vt 0.081818 1.000000 -vt 0.054545 1.000000 -vt 0.127273 1.000000 -vt 0.100000 1.000000 -vt 0.218182 1.000000 -vt 0.190909 1.000000 -vt 0.309091 1.000000 -vt 0.281818 1.000000 -vt 0.036364 1.000000 -vt 0.448482 0.946245 -vt 0.447816 0.936764 -vt 0.523996 0.936068 -vt 0.369358 0.915395 -vt 0.369651 0.904997 -vt 0.443928 0.907333 -vt 0.369577 0.977632 -vt 0.444759 0.974927 -vt 0.444202 0.985187 -vt 0.368934 0.957145 -vt 0.447883 0.955729 -vt 0.446357 0.965194 -vt 0.368756 0.946516 -vt 0.368859 0.935885 -vt 0.369103 0.925507 -vt 0.444557 0.917588 -vt 0.369251 0.967522 -vt 0.446224 0.927310 -vt 0.522087 0.975636 -vt 0.626450 0.975177 -vt 0.626057 0.985284 -vt 0.521878 0.916354 -vt 0.523095 0.965773 -vt 0.524450 0.945986 -vt 0.524068 0.955907 -vt 0.522955 0.926210 -vt 0.521371 0.906291 -vt 0.521651 0.985702 -vt 0.628882 0.945575 -vt 0.723624 0.945363 -vt 0.722938 0.955028 -vt 0.628486 0.955489 -vt 0.627480 0.965327 -vt 0.628421 0.935698 -vt 0.626249 0.916110 -vt 0.627351 0.925915 -vt 0.625775 0.906009 -vt 0.721652 0.964592 -vt 0.790095 0.963668 -vt 0.789097 0.973339 -vt 0.722167 0.926018 -vt 0.719968 0.906107 -vt 0.720504 0.974265 -vt 0.720292 0.984376 -vt 0.723330 0.935673 -vt 0.720747 0.916255 -vt 0.791502 0.954389 -vt 0.831324 0.953660 -vt 0.829446 0.962292 -vt 0.792458 0.945160 -vt 0.791501 0.926590 -vt 0.788839 0.906848 -vt 0.789375 0.983686 -vt 0.792466 0.935897 -vt 0.789942 0.917055 -vt 0.829472 0.918437 -vt 0.827726 0.908180 -vt 0.862719 0.910216 -vt 0.832923 0.936395 -vt 0.828203 0.971666 -vt 0.832673 0.945158 -vt 0.831759 0.927625 -vt 0.828966 0.982180 -vt 0.863999 0.960877 -vt 0.889845 0.961285 -vt 0.890148 0.970994 -vt 0.862777 0.969191 -vt 0.866818 0.953742 -vt 0.871109 0.938583 -vt 0.869466 0.946526 -vt 0.866875 0.920299 -vt 0.870562 0.929761 -vt 0.899634 0.931326 -vt 0.924923 0.932413 -vt 0.925432 0.940574 -vt 0.895714 0.946765 -vt 0.892429 0.953646 -vt 0.891166 0.913838 -vt 0.865152 0.979003 -vt 0.898514 0.939714 -vt 0.896870 0.922597 -vt 0.914512 0.972870 -vt 0.917998 0.983727 -vt 0.894742 0.980719 -vt 0.919650 0.955423 -vt 0.915792 0.963054 -vt 0.923237 0.948280 -vt 0.920544 0.924055 -vt 0.945061 0.931037 -vt 0.935756 0.975611 -vt 0.937251 0.965252 -vt 0.984846 0.968093 -vt 0.913450 0.915823 -vt 0.933929 0.913381 -vt 0.940874 0.956561 -vt 0.946125 0.940120 -vt 0.944297 0.948500 -vt 0.940514 0.922208 -vt 0.989499 0.946755 -vt 0.986463 0.957358 -vt 0.992017 0.925068 -vt 0.991979 0.935995 -vt 0.984210 0.904997 -vt 0.938053 0.986290 -vt 0.985609 0.978434 -vt 0.989108 0.914525 -vt 0.690909 0.437500 -vt 0.709091 0.446429 -vt 0.709091 0.455357 -vt 0.472727 0.544643 -vt 0.454545 0.535714 -vt 0.454545 0.526786 -vt 0.472727 0.464286 -vt 0.472727 0.437500 -vt 0.690909 0.410714 -vt 0.709091 0.419643 -vt 0.709091 0.428571 -vt 0.454545 0.428571 -vt 0.454545 0.419643 -vt 0.472727 0.410714 -vt 0.690909 0.357143 -vt 0.709091 0.366071 -vt 0.709091 0.375000 -vt 0.472727 0.571429 -vt 0.454545 0.562500 -vt 0.454545 0.553571 -vt 0.472727 0.383929 -vt 0.690909 0.383929 -vt 0.690909 0.517857 -vt 0.690909 0.491071 -vt 0.709091 0.500000 -vt 0.472727 0.491071 -vt 0.454545 0.482143 -vt 0.454545 0.473214 -vt 0.472727 0.357143 -vt 0.743565 0.392074 -vt 0.718979 0.382072 -vt 0.753748 0.367928 -vt 0.454545 0.375000 -vt 0.454545 0.366071 -vt 0.690909 0.544643 -vt 0.454545 0.401786 -vt 0.454545 0.392857 -vt 0.718979 0.367928 -vt 0.743565 0.357926 -vt 0.729163 0.392074 -vt 0.472727 0.517857 -vt 0.454545 0.508929 -vt 0.454545 0.500000 -vt 0.690909 0.464286 -vt 0.709091 0.553571 -vt 0.709091 0.562500 -vt 0.454545 0.455357 -vt 0.454545 0.446429 -vt 0.709091 0.392857 -vt 0.709091 0.401786 -vt 0.709091 0.526786 -vt 0.709091 0.535714 -vt 0.709091 0.473214 -vt 0.709091 0.482143 -vt 0.883488 0.817576 -vt 0.882232 0.827636 -vt 0.835305 0.826374 -vt 0.885741 0.796519 -vt 0.884937 0.807186 -vt 0.834078 0.804683 -vt 0.885054 0.867824 -vt 0.834209 0.870476 -vt 0.834772 0.859787 -vt 0.882271 0.847386 -vt 0.835381 0.848832 -vt 0.835584 0.837608 -vt 0.881777 0.837512 -vt 0.834652 0.815389 -vt 0.885897 0.878489 -vt 0.834109 0.881224 -vt 0.788550 0.816272 -vt 0.788349 0.805553 -vt 0.935471 0.867378 -vt 0.935886 0.878049 -vt 0.934232 0.817658 -vt 0.932675 0.837417 -vt 0.933171 0.847256 -vt 0.934307 0.857171 -vt 0.935356 0.807446 -vt 0.933133 0.827577 -vt 0.883566 0.857440 -vt 0.995395 0.848137 -vt 0.995120 0.858794 -vt 0.995353 0.826466 -vt 0.994699 0.805334 -vt 0.935730 0.796774 -vt 0.994822 0.869271 -vt 0.995520 0.837301 -vt 0.995038 0.815809 -vt 0.994494 0.879958 -vt 0.788149 0.880627 -vt 0.788294 0.869864 -vt 0.788460 0.858982 -vt 0.788621 0.848192 -vt 0.788686 0.826897 -vt 0.788149 0.794715 -vt 0.788710 0.837511 -vt 0.727273 0.214286 -vt 0.445455 0.214286 -vt 0.118182 0.312500 -vt 0.118182 0.267857 -vt 1.000000 0.000000 -vt 0.145455 0.964286 -vt 0.281818 0.964286 -vt 0.054545 0.964286 -vt 0.009091 1.000000 -vt 0.369943 0.988027 -vt 0.988370 0.988839 -vt 0.709091 0.508929 -vt 0.729163 0.357926 -vt 0.753748 0.382072 -vt 0.690909 0.571429 -vt 0.833952 0.793960 -vt 0.994330 0.794648 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 0.000000 1.000000 -vn 0.000000 -0.965900 0.258800 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 0.707100 -0.707100 -vn 1.000000 0.000000 0.000000 -vn -1.000000 -0.000000 0.000000 -vn 0.000000 1.000000 0.000000 -vn 0.000000 0.707100 0.707100 -vn 0.000000 0.894400 0.447200 -vn 0.707100 0.707100 0.000000 -vn 0.549000 0.549000 -0.630200 -vn 0.776400 0.000000 -0.630200 -vn 0.707100 -0.707100 0.000000 -vn 0.549000 -0.549000 -0.630200 -vn 0.000000 -0.776400 -0.630200 -vn -0.707100 -0.707100 0.000000 -vn -0.549000 -0.549000 -0.630200 -vn -0.776400 0.000000 -0.630200 -vn -0.707100 0.707100 0.000000 -vn 0.000000 0.776400 -0.630200 -vn -0.549000 0.549000 -0.630200 -vn 0.632400 0.632400 0.447200 -vn -0.776400 0.000000 0.630200 -vn -0.549000 0.549000 0.630200 -vn -0.632400 0.632400 0.447200 -vn -0.632400 -0.632400 0.447200 -vn -0.894400 0.000000 0.447200 -vn 0.632400 -0.632400 0.447200 -vn 0.000000 -0.894400 0.447200 -vn 0.894400 0.000000 0.447200 -vn 0.000000 0.776400 0.630200 -vn 0.000000 -0.776400 0.630200 -vn -0.549000 -0.549000 0.630200 -vn 0.549000 0.549000 0.630200 -vn 0.776400 0.000000 0.630200 -vn 0.549000 -0.549000 0.630200 -vn 0.731800 -0.605300 0.312900 -vn 0.980800 0.050500 0.188400 -vn 0.707100 0.183000 0.683000 -vn -0.594300 0.000000 0.804200 -vn -0.420300 -0.420300 0.804200 -vn -0.980800 -0.050500 -0.188400 -vn -0.707100 -0.183000 -0.683000 -vn -0.549000 -0.750800 -0.367100 -vn 0.000000 0.258800 0.965900 -vn 0.000000 -0.407800 0.913000 -vn 0.000000 -0.258800 -0.965900 -vn 0.000000 -0.809700 -0.586800 -vn -0.707100 0.183000 0.683000 -vn -0.549000 -0.466700 0.693400 -vn 0.707100 -0.183000 -0.683000 -vn 0.980800 -0.050500 -0.188400 -vn 0.731800 -0.680700 0.031700 -vn -0.980800 0.050500 0.188400 -vn 0.549000 -0.750800 -0.367100 -vn -0.731900 -0.680700 0.031700 -vn -0.731900 -0.605300 0.312900 -vn 0.000000 0.594300 0.804200 -vn -0.420300 0.420300 0.804200 -vn 0.594300 0.000000 0.804200 -vn 0.000000 -0.594300 0.804200 -vn 0.420300 -0.420300 0.804200 -vn 0.420300 0.420300 0.804200 -vn 0.980800 0.000000 0.195100 -vn 0.707100 0.000000 0.707100 -vn 0.549000 -0.630200 0.549000 -vn -0.980800 0.000000 -0.195100 -vn -0.707100 0.000000 -0.707100 -vn -0.549000 -0.630200 -0.549000 -vn 0.000000 -0.630200 0.776400 -vn 0.000000 -0.630200 -0.776400 -vn -0.707100 0.000000 0.707100 -vn -0.549000 -0.630200 0.549000 -vn 0.707100 0.000000 -0.707100 -vn 0.980800 0.000000 -0.195100 -vn 0.731800 -0.665700 -0.145600 -vn -0.980800 0.000000 0.195100 -vn -0.731900 -0.665700 0.145600 -vn 0.549000 -0.630200 -0.549000 -vn 0.000000 -1.000000 0.005700 -vn 0.497100 -0.854400 0.151300 -vn 0.000000 -0.707100 0.707100 -vn 0.975900 -0.154200 0.154200 -vn 0.703000 -0.502900 0.502900 -vn 0.000000 -0.535800 -0.844300 -vn 0.690100 -0.333700 -0.642200 -vn 0.690100 -0.642200 -0.333700 -vn 0.000000 -0.005700 1.000000 -vn 0.497100 -0.151300 0.854400 -vn 0.975900 0.154200 -0.154200 -vn -0.690100 0.333700 0.642200 -vn -0.497100 -0.151300 0.854400 -vn 0.690100 0.642200 0.333700 -vn 0.690100 0.333700 0.642200 -vn 0.000000 0.535800 0.844300 -vn 0.000000 0.844300 0.535800 -vn -0.975900 -0.154200 0.154200 -vn -0.690100 -0.642200 -0.333700 -vn -0.497100 -0.854400 0.151300 -vn -0.690100 0.642200 0.333700 -vn 0.000000 -0.844300 -0.535800 -vn -0.975900 0.154200 -0.154200 -vn -0.690100 -0.333700 -0.642200 -vn -0.894400 0.316200 -0.316200 -vn -0.703000 -0.502900 0.502900 -vn -0.776400 0.445700 -0.445700 -vn -0.549000 0.057500 -0.833800 -vn 0.632400 0.763400 0.131000 -vn -0.632400 -0.131000 -0.763400 -vn 0.000000 -0.316200 -0.948700 -vn 0.000000 0.948700 0.316200 -vn -0.632400 0.763400 0.131000 -vn 0.632400 -0.131000 -0.763400 -vn 0.894400 0.316200 -0.316200 -vn 0.000000 0.994600 0.103300 -vn -0.549000 0.833800 -0.057500 -vn 0.776400 0.445700 -0.445700 -vn 0.549000 0.833800 -0.057500 -vn 0.000000 -0.707100 -0.707100 -vn 0.000000 -0.103300 -0.994600 -vn 0.549000 0.057500 -0.833800 -vn -0.707100 -0.500000 -0.500000 -vn -0.707100 0.500000 0.500000 -vn 0.707100 0.500000 0.500000 -vn 0.707100 -0.500000 -0.500000 -vn 0.000000 0.827100 0.562100 -vn 0.683300 0.600200 0.415700 -vn 0.693300 0.682400 0.231700 -vn 0.705400 -0.496100 -0.506200 -vn 0.000000 -0.699000 -0.715100 -vn 0.000000 -0.811400 -0.584400 -vn -0.705400 -0.496100 -0.506200 -vn -0.725200 -0.561800 -0.398000 -vn -0.705600 0.503700 0.498400 -vn -0.683300 0.600200 0.415700 -vn -0.999000 0.032000 0.030400 -vn 0.000000 0.712400 0.701800 -vn 0.705600 0.503700 0.498400 -vn 1.000000 0.000400 -0.001700 -vn 0.725200 -0.561800 -0.398000 -vn -1.000000 0.000400 -0.001700 -vn 0.999000 0.032000 0.030400 -vn -0.718600 -0.657300 -0.226900 -vn -0.719300 -0.690200 -0.078800 -vn 0.000000 -0.993100 -0.116900 -vn 0.718600 -0.657300 -0.226900 -vn -0.999700 0.023400 0.010300 -vn 0.000000 0.947900 0.318400 -vn -0.693300 0.682400 0.231700 -vn 0.999700 0.023400 0.010300 -vn 0.000000 -0.944200 -0.329200 -vn 0.000000 0.994700 0.102800 -vn -0.006100 0.987200 -0.159300 -vn -0.691700 0.710900 -0.126900 -vn -0.691700 0.718000 0.077200 -vn -0.999600 0.027600 0.005700 -vn 0.691700 0.718000 0.077200 -vn 0.719300 -0.690200 -0.078800 -vn 0.999600 0.027600 0.005700 -vn -0.999300 0.027700 -0.025700 -vn -0.997900 0.001500 -0.064500 -vn -0.717500 -0.649700 0.251000 -vn 0.998800 0.042800 0.023500 -vn -0.006300 -0.990800 0.135100 -vn -0.723100 -0.686200 0.078500 -vn 0.682800 0.724400 -0.094700 -vn 0.719700 -0.684400 0.116600 -vn -0.687200 0.630100 -0.361500 -vn -0.684100 0.423900 -0.593500 -vn -0.995000 -0.050400 -0.085800 -vn -0.003300 0.887300 -0.461200 -vn 0.996600 0.073200 0.037400 -vn -0.002200 -0.909500 0.415700 -vn 0.678000 0.671800 -0.298300 -vn 0.723200 -0.602900 0.336800 -vn 0.726500 -0.411900 0.550000 -vn -0.003300 -0.704400 0.709800 -vn -0.033300 -0.321700 0.946200 -vn 0.661200 0.525400 -0.535500 -vn -0.717000 -0.537600 0.443600 -vn -0.006700 0.629700 -0.776800 -vn 0.991200 0.131100 0.017300 -vn -0.960600 -0.273300 -0.049700 -vn -0.890000 -0.428900 0.154400 -vn -0.634000 -0.151900 0.758300 -vn -0.681200 -0.430500 0.592100 -vn -0.697800 -0.058900 -0.713900 -vn 0.597300 0.310100 -0.739600 -vn -0.041800 0.139900 -0.989300 -vn 0.718700 0.085800 0.690000 -vn 0.929700 0.356300 -0.093200 -vn 0.882400 0.353000 -0.311000 -vn 0.874400 0.089800 -0.476700 -vn 0.610500 -0.532600 -0.586200 -vn 0.000900 -0.430000 -0.902800 -vn -0.651600 -0.535800 -0.536900 -vn 0.010300 0.310300 0.950600 -vn 0.629100 -0.101200 -0.770700 -vn 0.674700 0.632300 0.380800 -vn -0.573400 0.329700 0.749900 -vn 0.047400 0.812400 0.581200 -vn -0.672400 -0.724800 -0.150000 -vn -0.900900 -0.218100 0.375200 -vn -0.009400 -0.872900 -0.487700 -vn 0.705600 0.708100 -0.027000 -vn 0.930000 -0.066400 -0.361400 -vn -0.660900 0.652200 0.371200 -vn -0.936300 -0.021900 0.350400 -vn -0.945200 0.037700 0.324300 -vn 0.036300 0.994200 0.101200 -vn -0.676800 -0.715000 0.174900 -vn 0.639800 -0.721300 -0.265100 -vn -0.008100 -0.998200 -0.058600 -vn 0.717300 0.648600 -0.254300 -vn 0.080500 -0.992900 0.087300 -vn -0.645400 -0.700000 0.305700 -vn 0.945200 -0.037700 -0.324300 -vn 0.719700 -0.672500 -0.172200 -vn 0.080500 0.986500 -0.142600 -vn -0.645400 0.751400 0.137100 -vn 0.719700 0.615200 -0.321700 -vn 0.661500 0.661500 -0.353100 -vn 0.323800 0.323800 -0.888900 -vn 0.000000 0.458000 -0.888900 -vn -0.661500 -0.661500 0.353100 -vn -0.323800 -0.323800 0.888900 -vn -0.458000 0.000000 0.888900 -vn 0.000000 0.935500 0.353100 -vn 0.661500 0.661500 0.353100 -vn 0.935500 0.000000 -0.353100 -vn 0.458000 0.000000 -0.888900 -vn 0.323800 0.323800 0.888900 -vn 0.458000 0.000000 0.888900 -vn 0.935500 0.000000 0.353100 -vn 0.000000 -0.935500 -0.353100 -vn 0.000000 -0.458000 -0.888900 -vn 0.323800 -0.323800 -0.888900 -vn 0.000000 -0.935500 0.353100 -vn 0.000000 -0.458000 0.888900 -vn 0.661500 -0.661500 0.353100 -vn 0.661500 -0.661500 -0.353100 -vn -0.935500 0.000000 -0.353100 -vn -0.661500 0.661500 -0.353100 -vn -0.323800 0.323800 -0.888900 -vn -0.661500 0.661500 0.353100 -vn -0.323800 0.323800 0.888900 -vn 0.000000 0.458000 0.888900 -vn -0.323800 -0.323800 -0.888900 -vn 0.323800 -0.323800 0.888900 -vn -0.661500 -0.661500 -0.353100 -vn -0.935500 0.000000 0.353100 -vn 0.000000 0.935500 -0.353100 -vn -0.458000 0.000000 -0.888900 -vn 0.999500 0.028900 0.008500 -vn 0.691200 0.669900 0.271000 -vn 0.716000 0.635600 0.288600 -vn 0.000000 -0.931700 -0.363100 -vn 0.720600 -0.644800 -0.254800 -vn 0.697400 -0.653200 -0.294700 -vn -0.720600 -0.644800 -0.254800 -vn -0.697400 -0.653200 -0.294700 -vn -0.999800 -0.016500 -0.008800 -vn -0.691200 0.669900 0.270900 -vn -0.716000 0.635600 0.288600 -vn 0.000000 0.909800 0.415000 -vn 0.000000 0.925400 0.378900 -vn 0.999800 -0.016500 -0.008800 -vn 0.000000 -0.912200 -0.409800 -vn 0.707100 -0.664600 -0.241500 -vn -0.720700 -0.688000 -0.084700 -vn 0.000000 -0.993100 -0.117200 -vn 0.999500 0.031400 0.001000 -vn 0.000000 0.990300 0.138600 -vn -0.689800 0.717500 0.096500 -vn -0.999500 0.031400 0.001000 -vn 0.720700 -0.688000 -0.084700 -vn 0.689800 0.717500 0.096500 -vn -0.999500 0.028900 0.008500 -vn -0.706000 0.708200 0.002700 -vn -1.000000 -0.000700 0.001000 -vn 0.706000 0.708200 0.002700 -vn 0.705900 -0.708300 0.005000 -vn -0.705900 -0.708300 0.005000 -vn 0.000000 1.000000 0.005300 -vn 1.000000 -0.000700 0.001000 -vn 0.000000 -0.999900 0.008000 -vn 0.000000 -0.939900 -0.341500 -vn -0.707100 -0.664600 -0.241500 -vn -0.707100 0.664600 0.241500 -vn 0.707100 0.664600 0.241500 -vn 0.000000 0.939900 0.341500 -vn 0.549000 -0.466700 0.693400 -vn 0.731900 -0.665700 0.145600 -vn -0.731900 -0.665700 -0.145600 -s off -f 7/1/1 11/2/1 15/3/1 -f 21/4/1 24/5/1 17/6/1 -f 57/7/2 76/8/2 75/9/2 -f 58/10/2 74/11/2 72/12/2 -f 45/13/2 68/14/2 69/15/2 -f 45/16/2 73/17/2 76/18/2 -f 63/19/3 42/20/3 61/21/3 -f 44/22/2 71/23/2 70/24/2 -f 46/25/2 72/26/2 71/27/2 -f 67/28/2 70/29/2 69/30/2 -f 43/31/2 75/32/2 74/33/2 -f 350/34/2 78/35/2 79/36/2 -f 101/19/4 86/20/4 99/21/4 -f 144/37/5 141/38/5 140/39/5 -f 323/40/6 325/41/6 317/42/6 -f 320/43/1 324/44/1 323/40/1 -f 319/41/7 320/44/7 318/40/7 -f 319/45/8 325/41/8 324/44/8 -f 315/40/2 322/46/2 321/47/2 -f 316/48/9 317/49/9 325/41/9 -f 318/44/4 323/50/4 322/51/4 -f 314/51/8 321/52/8 317/49/8 -f 335/40/6 337/41/6 329/42/6 -f 332/43/1 336/44/1 335/40/1 -f 331/41/7 332/44/7 330/40/7 -f 331/45/8 337/41/8 336/44/8 -f 327/40/2 334/46/2 333/47/2 -f 328/48/9 329/49/9 337/41/9 -f 330/44/4 335/50/4 334/53/4 -f 326/53/8 333/54/8 329/49/8 -f 339/55/8 341/56/8 340/57/8 -f 341/56/10 343/58/10 342/59/10 -f 343/58/8 345/60/8 344/61/8 -f 345/60/9 347/62/9 346/63/9 -f 342/64/6 349/60/6 348/56/6 -f 350/65/2 80/66/2 82/67/2 -f 77/68/2 78/69/2 350/70/2 -f 84/71/2 81/72/2 350/73/2 -f 83/74/2 350/75/2 82/76/2 -f 81/77/2 77/78/2 350/79/2 -f 80/80/2 350/81/2 79/82/2 -f 83/83/2 84/84/2 350/85/2 -f 15/3/1 1/86/1 3/87/1 -f 3/87/1 5/88/1 7/1/1 -f 7/1/1 9/89/1 11/2/1 -f 11/2/1 13/90/1 15/3/1 -f 15/3/1 3/87/1 7/1/1 -f 17/6/1 18/91/1 19/92/1 -f 19/92/1 20/93/1 21/4/1 -f 21/4/1 22/94/1 23/95/1 -f 23/95/1 24/5/1 21/4/1 -f 17/6/1 19/92/1 21/4/1 -f 43/96/2 57/7/2 75/9/2 -f 46/97/2 58/10/2 72/12/2 -f 73/98/2 45/13/2 69/15/2 -f 57/99/2 45/16/2 76/18/2 -f 61/21/3 47/100/3 55/101/3 -f 49/102/3 51/103/3 53/104/3 -f 53/104/3 55/101/3 47/100/3 -f 63/19/3 65/105/3 42/20/3 -f 42/20/3 59/106/3 61/21/3 -f 47/100/3 49/102/3 53/104/3 -f 55/101/3 63/19/3 61/21/3 -f 67/107/2 44/22/2 70/24/2 -f 44/108/2 46/25/2 71/27/2 -f 68/109/2 67/28/2 69/30/2 -f 58/110/2 43/31/2 74/33/2 -f 99/21/4 87/100/4 95/101/4 -f 89/102/4 91/103/4 93/104/4 -f 93/104/4 95/101/4 87/100/4 -f 101/19/4 103/105/4 86/20/4 -f 86/20/4 97/106/4 99/21/4 -f 87/100/4 89/102/4 93/104/4 -f 95/101/4 101/19/4 99/21/4 -f 140/39/5 138/111/5 144/37/5 -f 139/112/5 145/113/5 144/37/5 -f 144/37/5 143/114/5 142/115/5 -f 142/115/5 141/38/5 144/37/5 -f 138/111/5 139/112/5 144/37/5 -f 321/116/6 322/117/6 317/42/6 -f 323/40/6 324/44/6 325/41/6 -f 317/42/6 322/117/6 323/40/6 -f 318/46/1 320/43/1 323/40/1 -f 318/40/7 315/117/7 316/42/7 -f 316/42/7 319/41/7 318/40/7 -f 315/117/7 314/116/7 316/42/7 -f 320/50/8 319/45/8 324/44/8 -f 314/118/2 315/40/2 321/47/2 -f 319/45/9 316/48/9 325/41/9 -f 315/52/4 318/44/4 322/51/4 -f 316/48/8 314/51/8 317/49/8 -f 333/119/6 334/120/6 329/42/6 -f 335/40/6 336/44/6 337/41/6 -f 329/42/6 334/120/6 335/40/6 -f 330/46/1 332/43/1 335/40/1 -f 330/40/7 327/120/7 328/42/7 -f 328/42/7 331/41/7 330/40/7 -f 327/120/7 326/119/7 328/42/7 -f 332/50/8 331/45/8 336/44/8 -f 326/118/2 327/40/2 333/47/2 -f 331/45/9 328/48/9 337/41/9 -f 327/54/4 330/44/4 334/53/4 -f 328/48/8 326/53/8 329/49/8 -f 338/121/8 339/55/8 340/57/8 -f 340/57/10 341/56/10 342/59/10 -f 342/59/8 343/58/8 344/61/8 -f 344/61/9 345/60/9 346/63/9 -f 348/56/6 340/122/6 342/64/6 -f 342/64/6 344/123/6 349/60/6 -s 1 -f 2/124/8 4/125/11 3/126/12 -f 4/125/11 6/127/6 5/128/13 -f 6/127/6 8/129/14 7/130/15 -f 8/129/14 10/131/4 9/132/16 -f 10/133/4 12/134/17 11/135/18 -f 12/134/17 14/136/7 13/137/19 -f 16/138/20 2/124/8 1/139/21 -f 14/136/7 16/138/20 15/140/22 -f 352/141/10 360/142/10 359/143/23 -f 23/144/19 357/145/7 358/146/20 -f 21/147/16 355/148/4 356/149/17 -f 19/150/13 353/151/6 354/152/14 -f 17/153/21 26/141/8 25/154/11 -f 24/155/22 358/146/20 26/141/8 -f 22/156/18 356/149/17 357/145/7 -f 20/157/15 354/152/14 355/158/4 -f 18/159/12 25/154/11 353/151/6 -f 39/160/7 67/28/24 68/109/25 -f 32/146/26 40/161/26 360/162/10 -f 30/149/27 364/163/27 365/164/28 -f 28/152/29 362/165/29 363/166/30 -f 27/151/31 351/154/23 359/167/23 -f 31/145/28 365/160/28 40/168/26 -f 29/148/30 363/169/30 364/170/27 -f 28/152/29 27/151/31 361/171/31 -f 366/161/20 68/14/25 45/13/32 -f 37/169/4 46/25/33 44/108/34 -f 34/142/8 45/16/32 57/99/35 -f 35/171/6 43/31/36 58/110/37 -f 47/172/38 48/173/39 50/174/40 -f 75/9/41 76/8/42 84/84/34 -f 64/175/43 66/176/44 65/177/45 -f 50/174/40 52/178/46 51/179/47 -f 33/167/11 57/7/35 43/96/36 -f 66/176/44 41/180/48 42/55/49 -f 52/178/46 54/181/50 53/182/51 -f 36/165/14 58/10/37 46/97/33 -f 60/183/52 62/184/53 61/185/54 -f 53/182/51 54/181/50 56/186/55 -f 41/187/48 60/183/52 59/188/56 -f 61/185/54 62/184/53 48/173/39 -f 39/164/7 38/163/17 44/22/34 -f 63/189/57 55/190/58 56/186/55 -f 72/12/59 74/11/60 82/67/25 -f 72/26/59 80/80/32 79/82/35 -f 70/29/61 78/69/36 77/68/37 -f 76/18/42 73/17/62 81/72/33 -f 75/32/41 83/74/24 82/76/25 -f 69/15/63 77/78/37 81/77/33 -f 71/23/64 79/36/35 78/35/36 -f 88/173/65 90/174/66 89/191/67 -f 102/175/68 104/176/69 103/177/70 -f 90/174/66 92/178/2 91/179/71 -f 104/176/69 85/180/1 86/55/72 -f 92/178/2 94/181/73 93/182/74 -f 98/183/75 100/184/76 99/185/77 -f 94/181/73 96/186/78 95/190/79 -f 85/187/1 98/183/75 97/188/80 -f 99/185/77 100/184/76 88/173/65 -f 95/190/79 96/186/78 102/175/68 -f 106/192/81 105/193/82 129/194/83 -f 111/195/84 123/196/85 105/197/82 -f 108/198/86 110/199/87 109/200/88 -f 125/201/89 129/202/83 124/203/90 -f 109/200/88 105/193/82 106/192/81 -f 110/199/87 112/204/91 111/195/84 -f 105/197/82 123/196/85 129/205/83 -f 117/206/92 126/207/93 125/208/89 -f 112/209/91 114/210/94 113/211/95 -f 129/212/83 123/213/85 124/214/90 -f 113/211/95 115/215/96 125/201/89 -f 114/210/94 116/216/97 115/215/96 -f 129/217/83 125/208/89 126/207/93 -f 119/218/98 121/219/99 128/220/100 -f 115/215/96 116/216/97 118/221/101 -f 121/219/99 107/222/102 106/223/81 -f 128/224/100 106/223/81 129/225/83 -f 118/221/101 120/226/103 119/218/98 -f 122/227/104 120/226/103 373/228/105 -f 121/219/99 122/227/104 108/198/86 -f 119/218/98 120/226/103 122/227/104 -f 127/229/106 129/230/83 126/231/93 -f 117/206/92 119/218/98 127/229/106 -f 111/232/84 113/211/95 124/214/90 -f 127/233/106 128/220/100 129/148/83 -f 136/228/7 144/234/107 145/235/108 -f 116/216/97 114/210/94 370/236/109 -f 122/227/104 374/237/110 368/238/111 -f 116/216/97 371/239/112 372/240/113 -f 110/199/87 367/241/114 369/242/115 -f 118/221/101 372/243/113 373/244/105 -f 110/199/87 108/198/86 368/245/111 -f 112/209/91 369/246/115 370/247/109 -f 134/239/9 142/248/116 143/249/117 -f 132/246/6 140/250/118 141/251/119 -f 131/245/120 139/252/121 138/253/122 -f 137/237/123 145/254/108 139/255/121 -f 135/243/124 143/256/117 144/257/107 -f 133/236/125 141/258/119 142/259/116 -f 132/242/6 130/241/126 138/260/122 -f 158/261/127 157/262/128 165/263/129 -f 146/264/130 147/265/131 155/266/132 -f 153/267/133 161/268/134 155/269/132 -f 151/270/135 159/271/136 160/272/137 -f 150/273/138 149/274/139 157/262/128 -f 148/275/140 146/264/130 154/276/141 -f 152/277/142 160/272/137 161/268/134 -f 150/273/138 158/261/127 159/271/136 -f 149/274/139 148/275/140 156/278/143 -f 169/279/144 177/280/145 171/281/146 -f 156/278/143 154/276/141 162/282/147 -f 160/272/137 168/283/148 169/279/144 -f 158/261/127 166/284/149 167/285/150 -f 157/262/128 156/278/143 164/286/151 -f 154/276/141 155/266/132 163/287/152 -f 161/268/134 169/279/144 163/288/152 -f 159/271/136 167/285/150 168/283/148 -f 174/289/153 182/290/154 183/291/155 -f 167/285/150 175/292/156 176/293/157 -f 166/284/149 165/263/129 173/294/158 -f 164/286/151 162/282/147 170/295/159 -f 168/283/148 176/293/157 177/280/145 -f 166/284/149 174/289/153 175/292/156 -f 165/263/129 164/286/151 172/296/160 -f 162/282/147 163/287/152 171/297/146 -f 184/298/161 192/299/162 193/300/163 -f 173/294/158 172/296/160 180/301/164 -f 170/295/159 171/297/146 179/302/165 -f 177/280/145 185/303/166 179/304/165 -f 175/292/156 183/291/155 184/298/161 -f 174/289/153 173/294/158 181/305/167 -f 172/296/160 170/295/159 178/306/168 -f 176/293/157 184/298/161 185/303/166 -f 191/307/169 199/308/170 200/309/171 -f 182/290/154 190/310/172 191/307/169 -f 181/305/167 180/301/164 188/311/173 -f 178/306/168 179/302/165 187/312/174 -f 185/303/166 193/300/163 187/313/174 -f 183/291/155 191/307/169 192/299/162 -f 182/290/154 181/305/167 189/314/175 -f 180/301/164 178/306/168 186/315/176 -f 194/316/177 195/317/178 203/318/179 -f 190/310/172 189/314/175 197/319/180 -f 188/311/173 186/315/176 194/316/177 -f 192/299/162 200/309/171 201/320/181 -f 190/310/172 198/321/182 199/308/170 -f 189/314/175 188/311/173 196/322/183 -f 186/315/176 187/312/174 195/317/178 -f 193/300/163 201/320/181 195/323/178 -f 208/324/184 216/325/185 217/326/186 -f 195/323/178 201/320/181 209/327/187 -f 199/308/170 207/328/188 208/324/184 -f 197/319/180 205/329/189 206/330/190 -f 196/322/183 194/316/177 202/331/191 -f 200/309/171 208/324/184 209/327/187 -f 198/321/182 206/330/190 207/328/188 -f 197/319/180 196/322/183 204/332/192 -f 212/333/193 220/334/194 221/335/195 -f 206/330/190 214/336/196 215/337/197 -f 205/329/189 204/332/192 212/333/193 -f 202/331/191 203/318/179 211/338/198 -f 203/339/179 209/327/187 217/326/186 -f 207/328/188 215/337/197 216/325/185 -f 205/329/189 213/340/199 214/336/196 -f 204/332/192 202/331/191 210/341/200 -f 225/342/201 219/343/202 211/344/198 -f 215/337/197 223/345/203 224/346/204 -f 213/340/199 221/335/195 222/347/205 -f 218/348/206 220/334/194 212/333/193 -f 224/346/204 225/342/201 217/326/186 -f 214/336/196 222/347/205 223/345/203 -f 221/335/195 220/334/194 228/349/207 -f 233/350/208 232/351/209 240/352/210 -f 218/348/206 219/353/202 227/354/211 -f 219/343/202 225/342/201 233/350/208 -f 223/345/203 231/355/212 232/351/209 -f 221/335/195 229/356/213 230/357/214 -f 220/334/194 218/348/206 226/358/215 -f 224/346/204 232/351/209 233/350/208 -f 222/347/205 230/357/214 231/355/212 -f 219/353/202 218/348/206 210/341/200 -f 230/357/214 238/359/216 239/360/217 -f 228/349/207 236/361/218 237/362/219 -f 226/358/215 227/354/211 235/363/220 -f 227/364/211 233/350/208 241/365/221 -f 231/355/212 239/360/217 240/352/210 -f 229/356/213 237/362/219 238/359/216 -f 228/349/207 226/358/215 234/366/222 -f 246/367/223 267/368/224 266/369/225 -f 255/370/226 263/371/227 264/372/228 -f 245/373/229 247/374/230 246/367/223 -f 248/375/231 268/376/232 267/377/224 -f 247/374/230 243/378/233 260/379/234 -f 247/374/230 249/380/235 248/375/231 -f 252/381/236 270/382/237 269/383/238 -f 253/384/239 262/385/240 263/386/227 -f 249/380/235 251/387/241 250/388/242 -f 256/389/243 258/390/244 273/391/245 -f 259/392/246 265/393/247 242/394/248 -f 251/387/241 253/395/239 252/381/236 -f 269/396/238 271/397/249 267/398/224 -f 251/387/241 261/399/250 262/400/240 -f 253/384/239 255/370/226 254/401/251 -f 249/380/235 260/402/234 261/403/250 -f 264/404/228 262/405/240 242/406/248 -f 255/370/226 257/407/252 256/389/243 -f 257/407/252 264/408/228 265/409/247 -f 259/392/246 245/373/229 244/410/253 -f 257/407/252 259/392/246 258/390/244 -f 254/401/251 271/411/249 270/412/237 -f 245/373/229 242/413/248 243/414/233 -f 250/388/242 269/415/238 268/416/232 -f 256/389/243 272/417/254 271/418/249 -f 244/410/253 266/419/225 273/420/245 -f 283/421/255 282/422/256 281/423/257 -f 285/424/258 284/425/259 278/426/260 -f 286/427/261 276/428/262 275/429/263 -f 288/430/264 274/431/265 280/432/266 -f 282/422/256 289/433/267 280/432/266 -f 284/425/259 283/421/255 279/434/268 -f 285/435/258 277/436/269 276/428/262 -f 279/434/268 312/437/6 311/438/270 -f 292/439/271 293/440/272 285/435/258 -f 295/441/273 283/421/255 284/425/259 -f 296/442/274 289/433/267 282/422/256 -f 296/442/274 290/443/275 288/430/264 -f 291/444/276 292/439/271 286/427/261 -f 294/445/277 284/425/259 285/424/258 -f 297/446/278 282/422/256 283/421/255 -f 287/447/279 275/429/263 274/431/265 -f 298/448/280 299/449/281 291/444/276 -f 304/450/282 297/446/278 295/441/273 -f 302/451/283 294/445/277 293/452/272 -f 299/449/281 300/453/284 292/439/271 -f 305/454/285 298/448/280 290/443/275 -f 305/454/285 296/442/274 297/446/278 -f 303/455/286 295/441/273 294/445/277 -f 300/453/284 301/456/287 293/440/272 -f 290/443/275 291/444/276 287/447/279 -f 277/436/269 310/457/288 309/458/289 -f 275/429/263 308/459/7 307/460/290 -f 281/423/257 313/461/291 312/437/6 -f 278/426/260 311/438/270 310/462/288 -f 276/428/262 309/458/289 308/459/7 -f 280/432/266 274/431/265 307/460/290 -f 280/432/266 306/463/292 313/461/291 -f 1/139/21 2/124/8 3/126/12 -f 3/126/12 4/125/11 5/128/13 -f 5/128/13 6/127/6 7/130/15 -f 7/130/15 8/129/14 9/132/16 -f 9/464/16 10/133/4 11/135/18 -f 11/135/18 12/134/17 13/137/19 -f 15/140/22 16/138/20 1/139/21 -f 13/137/19 14/136/7 15/140/22 -f 351/154/23 352/141/10 359/143/23 -f 24/155/22 23/144/19 358/146/20 -f 22/156/18 21/147/16 356/149/17 -f 20/157/15 19/150/13 354/152/14 -f 18/159/12 17/153/21 25/154/11 -f 17/153/21 24/155/22 26/141/8 -f 23/144/19 22/156/18 357/145/7 -f 21/465/16 20/157/15 355/158/4 -f 19/150/13 18/159/12 353/151/6 -f 366/168/20 39/160/7 68/109/25 -f 352/141/10 32/146/26 360/162/10 -f 31/145/28 30/149/27 365/164/28 -f 29/158/30 28/152/29 363/166/30 -f 361/466/31 27/151/31 359/167/23 -f 32/146/26 31/145/28 40/168/26 -f 30/149/27 29/148/30 364/170/27 -f 362/467/29 28/152/29 361/171/31 -f 34/162/8 366/161/20 45/13/32 -f 38/170/17 37/169/4 44/108/34 -f 33/143/11 34/142/8 57/99/35 -f 36/467/14 35/171/6 58/110/37 -f 49/191/293 47/172/38 50/174/40 -f 83/83/24 75/9/41 84/84/34 -f 63/189/57 64/175/43 65/177/45 -f 49/191/293 50/174/40 51/179/47 -f 35/466/6 33/167/11 43/96/36 -f 65/177/45 66/176/44 42/55/49 -f 51/179/47 52/178/46 53/182/51 -f 37/166/4 36/165/14 46/97/33 -f 59/188/56 60/183/52 61/185/54 -f 55/190/58 53/182/51 56/186/55 -f 42/468/49 41/187/48 59/188/56 -f 47/172/38 61/185/54 48/173/39 -f 67/107/24 39/164/7 44/22/34 -f 64/175/43 63/189/57 56/186/55 -f 80/66/32 72/12/59 82/67/25 -f 71/27/64 72/26/59 79/82/35 -f 69/30/63 70/29/61 77/68/37 -f 84/71/34 76/18/42 81/72/33 -f 74/33/60 75/32/41 82/76/25 -f 73/98/62 69/15/63 81/77/33 -f 70/24/61 71/23/64 78/35/36 -f 87/172/294 88/173/65 89/191/67 -f 101/189/295 102/175/68 103/177/70 -f 89/191/67 90/174/66 91/179/71 -f 103/177/70 104/176/69 86/55/72 -f 91/179/71 92/178/2 93/182/74 -f 97/188/80 98/183/75 99/185/77 -f 93/182/74 94/181/73 95/190/79 -f 86/468/72 85/187/1 97/188/80 -f 87/172/294 99/185/77 88/173/65 -f 101/189/295 95/190/79 102/175/68 -f 109/200/88 111/195/84 105/197/82 -f 107/222/102 108/198/86 109/200/88 -f 107/222/102 109/200/88 106/192/81 -f 109/200/88 110/199/87 111/195/84 -f 115/215/96 117/206/92 125/208/89 -f 111/232/84 112/209/91 113/211/95 -f 124/203/90 113/211/95 125/201/89 -f 113/211/95 114/210/94 115/215/96 -f 127/233/106 119/218/98 128/220/100 -f 117/206/92 115/215/96 118/221/101 -f 128/224/100 121/219/99 106/223/81 -f 117/206/92 118/221/101 119/218/98 -f 374/469/110 122/227/104 373/228/105 -f 107/222/102 121/219/99 108/198/86 -f 121/219/99 119/218/98 122/227/104 -f 126/231/93 117/206/92 127/229/106 -f 123/213/85 111/232/84 124/214/90 -f 137/469/123 136/228/7 145/235/108 -f 371/470/112 116/216/97 370/236/109 -f 108/198/86 122/227/104 368/238/111 -f 118/221/101 116/216/97 372/240/113 -f 112/204/91 110/199/87 369/242/115 -f 120/226/103 118/221/101 373/244/105 -f 367/471/114 110/199/87 368/245/111 -f 114/210/94 112/209/91 370/247/109 -f 135/240/124 134/239/9 143/249/117 -f 133/247/125 132/246/6 141/251/119 -f 130/471/126 131/245/120 138/253/122 -f 131/238/120 137/237/123 139/255/121 -f 136/244/7 135/243/124 144/257/107 -f 134/470/9 133/236/125 142/259/116 -f 140/472/118 132/242/6 138/260/122 -f 166/284/149 158/261/127 165/263/129 -f 154/276/141 146/264/130 155/266/132 -f 147/473/131 153/267/133 155/269/132 -f 152/277/142 151/270/135 160/272/137 -f 158/261/127 150/273/138 157/262/128 -f 156/278/143 148/275/140 154/276/141 -f 153/267/133 152/277/142 161/268/134 -f 151/270/135 150/273/138 159/271/136 -f 157/262/128 149/274/139 156/278/143 -f 163/288/152 169/279/144 171/281/146 -f 164/286/151 156/278/143 162/282/147 -f 161/268/134 160/272/137 169/279/144 -f 159/271/136 158/261/127 167/285/150 -f 165/263/129 157/262/128 164/286/151 -f 162/282/147 154/276/141 163/287/152 -f 155/269/132 161/268/134 163/288/152 -f 160/272/137 159/271/136 168/283/148 -f 175/292/156 174/289/153 183/291/155 -f 168/283/148 167/285/150 176/293/157 -f 174/289/153 166/284/149 173/294/158 -f 172/296/160 164/286/151 170/295/159 -f 169/279/144 168/283/148 177/280/145 -f 167/285/150 166/284/149 175/292/156 -f 173/294/158 165/263/129 172/296/160 -f 170/295/159 162/282/147 171/297/146 -f 185/303/166 184/298/161 193/300/163 -f 181/305/167 173/294/158 180/301/164 -f 178/306/168 170/295/159 179/302/165 -f 171/281/146 177/280/145 179/304/165 -f 176/293/157 175/292/156 184/298/161 -f 182/290/154 174/289/153 181/305/167 -f 180/301/164 172/296/160 178/306/168 -f 177/280/145 176/293/157 185/303/166 -f 192/299/162 191/307/169 200/309/171 -f 183/291/155 182/290/154 191/307/169 -f 189/314/175 181/305/167 188/311/173 -f 186/315/176 178/306/168 187/312/174 -f 179/304/165 185/303/166 187/313/174 -f 184/298/161 183/291/155 192/299/162 -f 190/310/172 182/290/154 189/314/175 -f 188/311/173 180/301/164 186/315/176 -f 202/331/191 194/316/177 203/318/179 -f 198/321/182 190/310/172 197/319/180 -f 196/322/183 188/311/173 194/316/177 -f 193/300/163 192/299/162 201/320/181 -f 191/307/169 190/310/172 199/308/170 -f 197/319/180 189/314/175 196/322/183 -f 194/316/177 186/315/176 195/317/178 -f 187/313/174 193/300/163 195/323/178 -f 209/327/187 208/324/184 217/326/186 -f 203/339/179 195/323/178 209/327/187 -f 200/309/171 199/308/170 208/324/184 -f 198/321/182 197/319/180 206/330/190 -f 204/332/192 196/322/183 202/331/191 -f 201/320/181 200/309/171 209/327/187 -f 199/308/170 198/321/182 207/328/188 -f 205/329/189 197/319/180 204/332/192 -f 213/340/199 212/333/193 221/335/195 -f 207/328/188 206/330/190 215/337/197 -f 213/340/199 205/329/189 212/333/193 -f 210/341/200 202/331/191 211/338/198 -f 211/344/198 203/339/179 217/326/186 -f 208/324/184 207/328/188 216/325/185 -f 206/330/190 205/329/189 214/336/196 -f 212/333/193 204/332/192 210/341/200 -f 217/326/186 225/342/201 211/344/198 -f 216/325/185 215/337/197 224/346/204 -f 214/336/196 213/340/199 222/347/205 -f 210/341/200 218/348/206 212/333/193 -f 216/325/185 224/346/204 217/326/186 -f 215/337/197 214/336/196 223/345/203 -f 229/356/213 221/335/195 228/349/207 -f 241/365/221 233/350/208 240/352/210 -f 226/358/215 218/348/206 227/354/211 -f 227/364/211 219/343/202 233/350/208 -f 224/346/204 223/345/203 232/351/209 -f 222/347/205 221/335/195 230/357/214 -f 228/349/207 220/334/194 226/358/215 -f 225/342/201 224/346/204 233/350/208 -f 223/345/203 222/347/205 231/355/212 -f 211/338/198 219/353/202 210/341/200 -f 231/355/212 230/357/214 239/360/217 -f 229/356/213 228/349/207 237/362/219 -f 234/366/222 226/358/215 235/363/220 -f 235/474/220 227/364/211 241/365/221 -f 232/351/209 231/355/212 240/352/210 -f 230/357/214 229/356/213 238/359/216 -f 236/361/218 228/349/207 234/366/222 -f 244/410/253 246/367/223 266/369/225 -f 257/407/252 255/370/226 264/372/228 -f 244/410/253 245/373/229 246/367/223 -f 246/367/223 248/375/231 267/377/224 -f 249/380/235 247/374/230 260/379/234 -f 246/367/223 247/374/230 248/375/231 -f 250/388/242 252/381/236 269/383/238 -f 255/370/226 253/384/239 263/386/227 -f 248/375/231 249/380/235 250/388/242 -f 272/475/254 256/389/243 273/391/245 -f 245/373/229 259/392/246 242/394/248 -f 250/388/242 251/387/241 252/381/236 -f 273/476/245 266/405/225 267/398/224 -f 267/398/224 268/477/232 269/396/238 -f 269/396/238 270/406/237 271/397/249 -f 271/397/249 272/404/254 273/476/245 -f 273/476/245 267/398/224 271/397/249 -f 253/395/239 251/387/241 262/400/240 -f 252/478/236 253/384/239 254/401/251 -f 251/387/241 249/380/235 261/403/250 -f 260/477/234 243/396/233 242/406/248 -f 242/406/248 265/397/247 264/404/228 -f 264/404/228 263/476/227 262/405/240 -f 262/405/240 261/398/250 260/477/234 -f 260/477/234 242/406/248 262/405/240 -f 254/401/251 255/370/226 256/389/243 -f 259/392/246 257/407/252 265/409/247 -f 258/390/244 259/392/246 244/410/253 -f 256/389/243 257/407/252 258/390/244 -f 252/478/236 254/401/251 270/412/237 -f 247/374/230 245/373/229 243/414/233 -f 248/375/231 250/388/242 268/416/232 -f 254/401/251 256/389/243 271/418/249 -f 258/390/244 244/410/253 273/420/245 -f 279/434/268 283/421/255 281/423/257 -f 277/479/269 285/424/258 278/426/260 -f 287/447/279 286/427/261 275/429/263 -f 289/433/267 288/430/264 280/432/266 -f 281/423/257 282/422/256 280/432/266 -f 278/426/260 284/425/259 279/434/268 -f 286/427/261 285/435/258 276/428/262 -f 278/426/260 279/434/268 311/438/270 -f 286/427/261 292/439/271 285/435/258 -f 294/445/277 295/441/273 284/425/259 -f 297/446/278 296/442/274 282/422/256 -f 289/433/267 296/442/274 288/430/264 -f 287/447/279 291/444/276 286/427/261 -f 293/452/272 294/445/277 285/424/258 -f 295/441/273 297/446/278 283/421/255 -f 288/430/264 287/447/279 274/431/265 -f 290/443/275 298/448/280 291/444/276 -f 303/455/286 304/450/282 295/441/273 -f 301/480/287 302/451/283 293/452/272 -f 291/444/276 299/449/281 292/439/271 -f 296/442/274 305/454/285 290/443/275 -f 304/450/282 305/454/285 297/446/278 -f 302/451/283 303/455/286 294/445/277 -f 292/439/271 300/453/284 293/440/272 -f 288/430/264 290/443/275 287/447/279 -f 276/428/262 277/436/269 309/458/289 -f 274/431/265 275/429/263 307/460/290 -f 279/434/268 281/423/257 312/437/6 -f 277/479/269 278/426/260 310/462/288 -f 275/429/263 276/428/262 308/459/7 -f 306/463/292 280/432/266 307/460/290 -f 281/423/257 280/432/266 313/461/291 diff --git a/src/main/resources/assets/hbm/models/weapons/flamethrower.obj b/src/main/resources/assets/hbm/models/weapons/flamethrower.obj new file mode 100644 index 000000000..c1db95f4f --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/flamethrower.obj @@ -0,0 +1,4058 @@ +# Blender v2.79 (sub 0) OBJ File: 'flamethrower.blend' +# www.blender.org +o Tank +v 0.000000 -1.125000 -0.500000 +v 0.437500 -1.242228 -0.500000 +v 0.000000 -1.000000 -6.000000 +v 0.000000 -1.000000 -1.000000 +v 0.500000 -1.133975 -6.000000 +v 0.500000 -1.133975 -1.000000 +v 0.866025 -1.500000 -6.000000 +v 0.866025 -1.500000 -1.000000 +v 1.000000 -2.000000 -6.000000 +v 1.000000 -2.000000 -1.000000 +v 0.866025 -2.500000 -6.000000 +v 0.866025 -2.500000 -1.000000 +v 0.500000 -2.866025 -6.000000 +v 0.500000 -2.866025 -1.000000 +v 0.000000 -3.000000 -6.000000 +v 0.000000 -3.000000 -1.000000 +v -0.500000 -2.866025 -6.000000 +v -0.500000 -2.866026 -1.000000 +v -0.866025 -2.500000 -6.000000 +v -0.866025 -2.500000 -1.000000 +v -1.000000 -2.000000 -6.000000 +v -1.000000 -2.000000 -1.000000 +v -0.866026 -1.500000 -6.000000 +v -0.866026 -1.500001 -1.000000 +v -0.500000 -1.133975 -6.000000 +v -0.500000 -1.133975 -1.000000 +v 0.757772 -1.562500 -0.500000 +v 0.875000 -2.000000 -0.500000 +v 0.757772 -2.437500 -0.500000 +v 0.437500 -2.757772 -0.500000 +v 0.000000 -2.875000 -0.500000 +v -0.437500 -2.757772 -0.500000 +v -0.757772 -2.437500 -0.500000 +v -0.875000 -2.000000 -0.500000 +v -0.757772 -1.562500 -0.500000 +v -0.437500 -1.242228 -0.500000 +v 0.000000 -1.500000 -0.250000 +v 0.250000 -1.566987 -0.250000 +v 0.433013 -1.750000 -0.250000 +v 0.500000 -2.000000 -0.250000 +v 0.433012 -2.250000 -0.250000 +v 0.250000 -2.433013 -0.250000 +v 0.000000 -2.500000 -0.250000 +v -0.250000 -2.433013 -0.250000 +v -0.433012 -2.250000 -0.250000 +v -0.500000 -2.000000 -0.250000 +v -0.433013 -1.750000 -0.250000 +v -0.250000 -1.566988 -0.250000 +v 0.000000 -1.125000 -6.500000 +v 0.437500 -1.242228 -6.500000 +v 0.757772 -1.562500 -6.500000 +v 0.875000 -2.000000 -6.500000 +v 0.757772 -2.437500 -6.500000 +v 0.437500 -2.757772 -6.500000 +v 0.000000 -2.875000 -6.500000 +v -0.437500 -2.757772 -6.500000 +v -0.757772 -2.437500 -6.500000 +v -0.875000 -2.000000 -6.500000 +v -0.757772 -1.562500 -6.500000 +v -0.437500 -1.242228 -6.500000 +v 0.000000 -1.500000 -6.750000 +v 0.250000 -1.566987 -6.750000 +v 0.433013 -1.750000 -6.750000 +v 0.500000 -2.000000 -6.750000 +v 0.433012 -2.250000 -6.750000 +v 0.250000 -2.433013 -6.750000 +v 0.000000 -2.500000 -6.750000 +v -0.250000 -2.433013 -6.750000 +v -0.433012 -2.250000 -6.750000 +v -0.500000 -2.000000 -6.750000 +v -0.433013 -1.750000 -6.750000 +v -0.250000 -1.566988 -6.750000 +vt 0.346821 0.604839 +vt 0.369942 0.580645 +vt 0.369942 0.612903 +vt 0.390173 0.741935 +vt 0.369942 0.709677 +vt 0.390173 0.709677 +vt 0.624277 0.709677 +vt 0.624277 0.741935 +vt 0.369942 0.645161 +vt 0.346821 0.620968 +vt 0.390173 0.774194 +vt 0.369942 0.806452 +vt 0.369942 0.774194 +vt 0.624277 0.677419 +vt 0.369942 0.935484 +vt 0.346821 0.911290 +vt 0.369942 0.903226 +vt 0.369942 0.741935 +vt 0.390173 0.677419 +vt 0.624277 0.645161 +vt 0.346821 0.895161 +vt 0.369942 0.870968 +vt 0.369942 0.677419 +vt 0.390173 0.645161 +vt 0.624277 0.612903 +vt 0.346821 0.862903 +vt 0.369942 0.838710 +vt 0.390173 0.612903 +vt 0.624277 0.580645 +vt 0.346821 0.814516 +vt 0.390173 0.580645 +vt 0.369942 0.548387 +vt 0.390173 0.548387 +vt 0.624277 0.548387 +vt 0.346821 0.782258 +vt 0.390173 0.903226 +vt 0.390173 0.870968 +vt 0.390173 0.935484 +vt 0.624277 0.903226 +vt 0.624277 0.935484 +vt 0.346821 0.750000 +vt 0.390173 0.838710 +vt 0.390173 0.806452 +vt 0.624277 0.870968 +vt 0.346821 0.733871 +vt 0.624277 0.838710 +vt 0.346821 0.685484 +vt 0.624277 0.806452 +vt 0.346821 0.669355 +vt 0.624277 0.774194 +vt 0.346821 0.572581 +vt 0.647399 0.612903 +vt 0.647399 0.645161 +vt 0.343702 0.564533 +vt 0.343702 0.596757 +vt 0.303697 0.596757 +vt 0.670520 0.669355 +vt 0.647399 0.677419 +vt 0.647399 0.709677 +vt 0.647399 0.741935 +vt 0.647399 0.774194 +vt 0.647399 0.806452 +vt 0.647399 0.838710 +vt 0.647399 0.870968 +vt 0.647399 0.935484 +vt 0.647399 0.903226 +vt 0.647399 0.580645 +vt 0.303697 0.790340 +vt 0.343702 0.790340 +vt 0.323699 0.838676 +vt 0.670520 0.685484 +vt 0.670520 0.701613 +vt 0.670520 0.733871 +vt 0.670520 0.750000 +vt 0.670520 0.766129 +vt 0.670520 0.798387 +vt 0.670520 0.830645 +vt 0.670520 0.846774 +vt 0.670520 0.862903 +vt 0.670520 0.895161 +vt 0.670520 0.911290 +vt 0.670520 0.927419 +vt 0.670520 0.556452 +vt 0.670520 0.572581 +vt 0.670520 0.604839 +vt 0.670520 0.637097 +vt 0.346821 0.588710 +vt 0.346821 0.637097 +vt 0.346821 0.927419 +vt 0.346821 0.879032 +vt 0.346821 0.846774 +vt 0.346821 0.830645 +vt 0.346821 0.798387 +vt 0.346821 0.766129 +vt 0.346821 0.717742 +vt 0.346821 0.701613 +vt 0.346821 0.653226 +vt 0.346821 0.556452 +vt 0.335248 0.608552 +vt 0.323699 0.612869 +vt 0.312151 0.608552 +vt 0.300602 0.580645 +vt 0.303697 0.564533 +vt 0.312151 0.552738 +vt 0.323699 0.548421 +vt 0.335248 0.552738 +vt 0.346796 0.580645 +vt 0.670520 0.653226 +vt 0.647399 0.548387 +vt 0.312151 0.834358 +vt 0.303697 0.822564 +vt 0.300602 0.806452 +vt 0.312151 0.778545 +vt 0.323699 0.774227 +vt 0.335248 0.778545 +vt 0.346796 0.806452 +vt 0.343702 0.822564 +vt 0.335248 0.834358 +vt 0.670520 0.717742 +vt 0.670520 0.782258 +vt 0.670520 0.814516 +vt 0.670520 0.879032 +vt 0.670520 0.588710 +vt 0.670520 0.620968 +vn 0.2881 -0.1664 0.9430 +vn 0.4177 -0.7235 0.5496 +vn 0.7235 -0.4177 0.5496 +vn -0.0000 0.9928 0.1198 +vn 0.4177 0.7235 0.5496 +vn 0.4964 0.8598 0.1198 +vn 0.4964 0.8598 -0.1198 +vn -0.0000 0.9928 -0.1198 +vn 0.8354 -0.0000 0.5496 +vn -0.4964 0.8598 0.1198 +vn -0.7235 0.4177 0.5496 +vn -0.4177 0.7235 0.5496 +vn 0.8598 0.4964 -0.1198 +vn 0.0000 -0.8354 0.5496 +vn -0.1664 -0.2881 0.9430 +vn -0.4177 -0.7235 0.5496 +vn -0.0000 0.8354 0.5496 +vn 0.8598 0.4964 0.1198 +vn 0.9928 0.0000 -0.1198 +vn -0.7235 -0.4177 0.5496 +vn 0.7235 0.4177 0.5496 +vn 0.9928 -0.0000 0.1198 +vn 0.8598 -0.4964 -0.1198 +vn -0.2881 -0.1664 0.9430 +vn -0.8354 -0.0000 0.5496 +vn 0.8598 -0.4964 0.1198 +vn 0.4964 -0.8598 -0.1198 +vn -0.2881 0.1664 0.9430 +vn 0.4964 -0.8598 0.1198 +vn 0.0000 -0.9928 0.1198 +vn 0.0000 -0.9928 -0.1198 +vn -0.1664 0.2881 0.9430 +vn -0.4964 -0.8598 0.1198 +vn -0.8598 -0.4964 0.1198 +vn -0.4964 -0.8598 -0.1198 +vn -0.0000 0.3327 0.9430 +vn -0.9928 -0.0000 0.1198 +vn -0.8598 0.4964 0.1198 +vn -0.8598 -0.4964 -0.1198 +vn -0.9928 -0.0000 -0.1198 +vn 0.2881 0.1664 0.9430 +vn -0.8598 0.4964 -0.1198 +vn -0.4964 0.8598 -0.1198 +vn 0.1664 -0.2881 0.9430 +vn 0.7235 -0.4177 -0.5496 +vn 0.8354 0.0000 -0.5496 +vn 0.2881 0.1664 -0.9430 +vn 0.7235 0.4177 -0.5496 +vn 0.4177 0.7235 -0.5496 +vn -0.0000 0.8354 -0.5496 +vn -0.4177 0.7235 -0.5496 +vn -0.7235 0.4177 -0.5496 +vn -0.8354 -0.0000 -0.5496 +vn -0.7235 -0.4177 -0.5496 +vn 0.0000 -0.8354 -0.5496 +vn -0.4177 -0.7235 -0.5496 +vn 0.4177 -0.7235 -0.5496 +vn 0.2881 -0.1664 -0.9430 +vn -0.2881 -0.1664 -0.9430 +vn 0.0000 0.3327 -0.9430 +vn 0.1664 0.2881 -0.9430 +vn -0.1664 0.2881 -0.9430 +vn -0.2881 0.1664 -0.9430 +vn -0.3327 -0.0000 -0.9430 +vn -0.1664 -0.2881 -0.9430 +vn -0.0000 -0.3327 -0.9430 +vn 0.1664 -0.2881 -0.9430 +vn 0.3327 -0.0000 -0.9430 +vn 0.3327 -0.0000 0.9430 +vn 0.0000 -0.3327 0.9430 +vn -0.3327 -0.0000 0.9430 +vn 0.1664 0.2881 0.9430 +s 1 +f 41/1/1 30/2/2 29/3/3 +f 4/4/4 2/5/5 6/6/6 +f 4/4/4 5/7/7 3/8/8 +f 28/9/9 41/10/1 29/3/3 +f 26/11/10 35/12/11 36/13/12 +f 6/6/6 7/14/13 5/7/7 +f 31/15/14 44/16/15 32/17/16 +f 26/11/10 1/18/17 4/4/4 +f 8/19/18 9/20/19 7/14/13 +f 44/21/15 33/22/20 32/17/16 +f 6/6/6 27/23/21 8/19/18 +f 10/24/22 11/25/23 9/20/19 +f 45/26/24 34/27/25 33/22/20 +f 10/24/22 29/3/3 12/28/26 +f 12/28/26 13/29/27 11/25/23 +f 34/27/25 47/30/28 35/12/11 +f 14/31/29 31/32/14 16/33/30 +f 14/31/29 15/34/31 13/29/27 +f 35/12/11 48/35/32 36/13/12 +f 18/36/33 33/22/20 20/37/34 +f 16/38/30 17/39/35 15/40/31 +f 36/13/12 37/41/36 1/18/17 +f 22/42/37 35/12/11 24/43/38 +f 18/36/33 19/44/39 17/39/35 +f 37/45/36 2/5/5 1/18/17 +f 8/19/18 28/9/9 10/24/22 +f 20/37/34 21/46/40 19/44/39 +f 2/5/5 39/47/41 27/23/21 +f 14/31/29 29/3/3 30/2/2 +f 22/42/37 23/48/42 21/46/40 +f 16/38/30 32/17/16 18/36/33 +f 39/49/41 28/9/9 27/23/21 +f 24/43/38 25/50/43 23/48/42 +f 42/51/44 31/32/14 30/2/2 +f 20/37/34 34/27/25 22/42/37 +f 26/11/10 3/8/8 25/50/43 +f 9/20/19 53/52/45 52/53/46 +f 41/54/1 39/55/41 47/56/28 +f 52/53/46 63/57/47 51/58/48 +f 3/8/8 50/59/49 49/60/50 +f 7/14/13 50/59/49 5/7/7 +f 23/48/42 60/61/51 59/62/52 +f 19/44/39 58/63/53 57/64/54 +f 17/39/35 55/65/55 15/40/31 +f 3/8/8 60/61/51 25/50/43 +f 13/29/27 53/52/45 11/25/23 +f 9/20/19 51/58/48 7/14/13 +f 21/46/40 59/62/52 58/63/53 +f 19/44/39 56/66/56 17/39/35 +f 15/34/31 54/67/57 13/29/27 +f 65/68/58 69/69/59 61/70/60 +f 50/59/49 63/71/47 62/72/61 +f 50/59/49 61/73/60 49/60/50 +f 60/61/51 61/74/60 72/75/62 +f 60/61/51 71/76/63 59/62/52 +f 59/62/52 70/77/64 58/63/53 +f 57/64/54 70/78/64 69/79/59 +f 57/64/54 68/80/65 56/66/56 +f 55/65/55 68/81/65 67/82/66 +f 54/67/57 67/83/66 66/84/67 +f 54/67/57 65/85/58 53/52/45 +f 53/52/45 64/86/68 52/53/46 +f 41/1/1 42/87/44 30/2/2 +f 4/4/4 1/18/17 2/5/5 +f 4/4/4 6/6/6 5/7/7 +f 28/9/9 40/88/69 41/10/1 +f 26/11/10 24/43/38 35/12/11 +f 6/6/6 8/19/18 7/14/13 +f 31/15/14 43/89/70 44/16/15 +f 26/11/10 36/13/12 1/18/17 +f 8/19/18 10/24/22 9/20/19 +f 44/21/15 45/90/24 33/22/20 +f 6/6/6 2/5/5 27/23/21 +f 10/24/22 12/28/26 11/25/23 +f 45/26/24 46/91/71 34/27/25 +f 10/24/22 28/9/9 29/3/3 +f 12/28/26 14/31/29 13/29/27 +f 34/27/25 46/92/71 47/30/28 +f 14/31/29 30/2/2 31/32/14 +f 14/31/29 16/33/30 15/34/31 +f 35/12/11 47/93/28 48/35/32 +f 18/36/33 32/17/16 33/22/20 +f 16/38/30 18/36/33 17/39/35 +f 36/13/12 48/94/32 37/41/36 +f 22/42/37 34/27/25 35/12/11 +f 18/36/33 20/37/34 19/44/39 +f 37/45/36 38/95/72 2/5/5 +f 8/19/18 27/23/21 28/9/9 +f 20/37/34 22/42/37 21/46/40 +f 2/5/5 38/96/72 39/47/41 +f 14/31/29 12/28/26 29/3/3 +f 22/42/37 24/43/38 23/48/42 +f 16/38/30 31/15/14 32/17/16 +f 39/49/41 40/97/69 28/9/9 +f 24/43/38 26/11/10 25/50/43 +f 42/51/44 43/98/70 31/32/14 +f 20/37/34 33/22/20 34/27/25 +f 26/11/10 4/4/4 3/8/8 +f 9/20/19 11/25/23 53/52/45 +f 39/55/41 38/99/72 47/56/28 +f 38/99/72 37/100/36 47/56/28 +f 37/100/36 48/101/32 47/56/28 +f 47/56/28 46/102/71 45/103/24 +f 45/103/24 44/104/15 43/105/70 +f 43/105/70 42/106/44 41/54/1 +f 41/54/1 40/107/69 39/55/41 +f 47/56/28 45/103/24 43/105/70 +f 43/105/70 41/54/1 47/56/28 +f 52/53/46 64/108/68 63/57/47 +f 3/8/8 5/7/7 50/59/49 +f 7/14/13 51/58/48 50/59/49 +f 23/48/42 25/50/43 60/61/51 +f 19/44/39 21/46/40 58/63/53 +f 17/39/35 56/66/56 55/65/55 +f 3/8/8 49/60/50 60/61/51 +f 13/29/27 54/67/57 53/52/45 +f 9/20/19 52/53/46 51/58/48 +f 21/46/40 23/48/42 59/62/52 +f 19/44/39 57/64/54 56/66/56 +f 15/34/31 55/109/55 54/67/57 +f 61/70/60 62/110/61 65/68/58 +f 62/110/61 63/111/47 65/68/58 +f 63/111/47 64/112/68 65/68/58 +f 65/68/58 66/113/67 67/114/66 +f 67/114/66 68/115/65 69/69/59 +f 69/69/59 70/116/64 71/117/63 +f 71/117/63 72/118/62 69/69/59 +f 72/118/62 61/70/60 69/69/59 +f 65/68/58 67/114/66 69/69/59 +f 50/59/49 51/58/48 63/71/47 +f 50/59/49 62/119/61 61/73/60 +f 60/61/51 49/60/50 61/74/60 +f 60/61/51 72/120/62 71/76/63 +f 59/62/52 71/121/63 70/77/64 +f 57/64/54 58/63/53 70/78/64 +f 57/64/54 69/122/59 68/80/65 +f 55/65/55 56/66/56 68/81/65 +f 54/67/57 55/109/55 67/83/66 +f 54/67/57 66/123/67 65/85/58 +f 53/52/45 65/124/58 64/86/68 +o Gauge +v 1.312500 1.125000 -4.187500 +v 1.187500 1.125000 -4.187500 +v 1.250000 1.500000 -4.250000 +v 1.187500 1.125000 -4.250000 +v 1.250000 1.500000 -4.187500 +v 1.312500 1.125000 -4.250000 +vt 0.959538 0.056452 +vt 0.962428 0.080645 +vt 0.959538 0.080645 +vt 0.979769 0.084677 +vt 0.962428 0.088710 +vt 0.959538 0.088710 +vt 0.962428 0.112903 +vt 0.959538 0.112903 +vt 0.962428 0.056452 +vn -0.9864 0.1644 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.9864 0.1644 0.0000 +s off +f 77/125/73 76/126/73 74/127/73 +f 76/126/74 75/128/74 78/129/74 +f 74/127/75 78/129/75 73/130/75 +f 73/130/76 75/131/76 77/132/76 +f 77/125/73 75/133/73 76/126/73 +f 74/127/75 76/126/75 78/129/75 +f 73/130/76 78/129/76 75/131/76 +o HeatShield +v 0.500000 -1.000000 2.500000 +v 3.000000 -1.000000 2.500000 +v 0.500000 2.500000 2.500000 +v 3.000000 1.990000 2.500000 +v 0.500000 2.500000 2.250000 +v 0.500000 -1.000000 2.250000 +v 3.000000 -1.000000 2.250000 +v 3.000000 1.990000 2.250000 +v 1.500000 2.500000 2.500000 +v 1.500000 2.500000 2.250000 +v -3.000000 -1.000000 2.500000 +v -0.500000 -1.000000 2.500000 +v -3.000000 2.000000 2.500000 +v -0.500000 2.500000 2.500000 +v -3.000000 2.000000 2.250000 +v -3.000000 -1.000000 2.250000 +v -0.500000 -1.000000 2.250000 +v -0.500000 2.500000 2.250000 +v -1.500000 2.500000 2.500000 +v -1.500000 2.500000 2.250000 +v -0.500000 0.625000 2.437500 +v 0.500000 0.625000 2.437500 +v -0.500000 0.625000 2.312500 +v 0.500000 0.625000 2.312500 +v -0.500000 0.750000 2.312500 +v -0.500000 0.750000 2.437500 +v 0.500000 0.750000 2.437500 +v 0.500000 0.750000 2.312500 +v -0.500000 1.125000 2.437500 +v 0.500000 1.125000 2.437500 +v -0.500000 1.125000 2.312500 +v 0.500000 1.125000 2.312500 +v -0.500000 1.250000 2.312500 +v -0.500000 1.250000 2.437500 +v 0.500000 1.250000 2.437500 +v 0.500000 1.250000 2.312500 +v -0.500000 2.125000 2.437500 +v 0.500000 2.125000 2.437500 +v -0.500000 2.125000 2.312500 +v 0.500000 2.125000 2.312500 +v -0.500000 2.250000 2.312500 +v -0.500000 2.250000 2.437500 +v 0.500000 2.250000 2.437500 +v 0.500000 2.250000 2.312500 +v 2.000000 -3.000000 2.500000 +v 2.000000 -3.000000 2.250000 +v -2.000000 -3.000000 2.250000 +v -2.000000 -3.000000 2.500000 +v -2.937500 1.812500 2.250000 +v -2.812500 1.812500 2.250000 +v -2.937500 1.937500 2.250000 +v -2.812500 1.937500 2.250000 +v -0.687500 0.562500 -4.500000 +v -0.562500 0.562500 -4.500000 +v -0.687500 0.687500 -4.500000 +v -0.562500 0.687500 -4.500000 +v -1.137500 0.437500 -3.150000 +v -1.587500 0.437500 -1.800000 +v -2.037500 0.687500 -0.450000 +v -2.487500 1.187500 0.900000 +v -2.362500 1.187500 0.900000 +v -1.912500 0.687500 -0.450000 +v -1.462500 0.437500 -1.800000 +v -1.012500 0.437500 -3.150000 +v -1.012500 0.312500 -3.150000 +v -1.462500 0.312500 -1.800000 +v -1.912500 0.562500 -0.450000 +v -2.362500 1.062500 0.900000 +v -2.487500 1.062500 0.900000 +v -2.037500 0.562500 -0.450000 +v -1.587500 0.312500 -1.800000 +v -1.137500 0.312500 -3.150000 +vt 0.566474 0.370968 +vt 0.520231 0.145161 +vt 0.635838 0.338710 +vt 0.647399 0.338710 +vt 0.763006 0.145161 +vt 0.716763 0.370968 +vt 0.635838 0.145161 +vt 0.520231 0.370968 +vt 0.508671 0.145161 +vt 0.635838 0.370968 +vt 0.566474 0.387097 +vt 0.346821 0.145161 +vt 0.358382 0.016129 +vt 0.358382 0.145161 +vt 0.520231 0.387097 +vt 0.473988 0.145161 +vt 0.427746 0.370968 +vt 0.358382 0.338710 +vt 0.855491 0.370968 +vt 0.809249 0.370968 +vt 0.809249 0.145161 +vt 0.485549 0.370968 +vt 0.473988 0.370968 +vt 0.427746 0.387097 +vt 0.404624 0.016129 +vt 0.358382 0.387097 +vt 0.358382 0.370968 +vt 0.930636 0.653226 +vt 0.976879 0.661290 +vt 0.930636 0.661290 +vt 0.976879 0.669355 +vt 0.930636 0.677419 +vt 0.930636 0.669355 +vt 0.930636 0.685484 +vt 0.976879 0.677419 +vt 0.976879 0.685484 +vt 0.976879 0.669355 +vt 0.930636 0.677419 +vt 0.930636 0.669355 +vt 0.930636 0.653226 +vt 0.976879 0.661290 +vt 0.930636 0.661290 +vt 0.930636 0.685484 +vt 0.976879 0.677419 +vt 0.976879 0.685484 +vt 0.976879 0.669355 +vt 0.930636 0.677419 +vt 0.930636 0.669355 +vt 0.930636 0.653226 +vt 0.976879 0.661290 +vt 0.930636 0.661290 +vt 0.930636 0.685484 +vt 0.976879 0.677419 +vt 0.976879 0.685484 +vt 0.589595 -0.000000 +vt 0.589595 0.016129 +vt 0.647399 0.016129 +vt 0.647399 0.145161 +vt 0.693642 0.016129 +vt 0.763006 0.370968 +vt 0.508671 0.370968 +vt 0.635838 0.387097 +vt 0.346821 0.016129 +vt 0.924855 0.145161 +vt 0.924855 0.338710 +vt 0.485549 0.145161 +vt 0.346821 0.338710 +vt 0.473988 0.387097 +vt 0.976879 0.653226 +vt 0.976879 0.653226 +vt 0.976879 0.653226 +vt 0.404624 0.000000 +vt 0.635838 0.016129 +vt 0.878613 0.016129 +vt 0.277457 0.983871 +vt 0.346821 0.991935 +vt 0.277457 0.991935 +vt 0.346821 0.975806 +vt 0.346821 0.983871 +vt 0.277457 0.975806 +vt 0.346821 0.967742 +vt 0.346821 1.000000 +vt 0.277457 1.000000 +vt -0.000000 1.000000 +vt 0.069364 0.991935 +vt 0.069364 1.000000 +vt 0.138728 0.991935 +vt 0.138728 1.000000 +vt 0.208092 0.991935 +vt 0.208092 1.000000 +vt 0.000000 0.975806 +vt 0.069364 0.967742 +vt 0.069364 0.975806 +vt 0.138728 0.967742 +vt 0.138728 0.975806 +vt 0.208092 0.967742 +vt 0.208092 0.975806 +vt 0.277457 0.967742 +vt 0.069364 0.983871 +vt 0.000000 0.983871 +vt 0.138728 0.983871 +vt 0.208092 0.983871 +vt -0.000000 0.991935 +vt -0.000000 0.967742 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.3219 0.9468 0.0000 +vn -0.8944 -0.4472 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.3162 0.9487 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.8944 -0.4472 0.0000 +vn 0.6788 0.6701 0.3004 +vn -0.5806 0.8131 -0.0429 +vn -0.6975 0.6931 -0.1819 +vn 0.7923 -0.5902 0.1548 +vn 0.6866 0.6388 0.3472 +vn 0.6651 -0.7335 0.1405 +vn -0.6262 -0.7022 -0.3388 +vn -0.6449 -0.7160 -0.2673 +vn -0.8661 -0.4997 -0.0111 +vn -0.6464 0.5821 -0.4933 +vn -0.7075 -0.6998 0.0981 +vn -0.6614 0.6307 -0.4059 +vn -0.6866 -0.7268 -0.0152 +vn -0.6788 0.6701 -0.3004 +vn -0.6650 -0.7335 -0.1405 +vn 0.6561 -0.5453 0.5217 +vn 0.6152 -0.6243 0.4814 +vn 0.6281 -0.6770 0.3837 +vn 0.6449 -0.7160 0.2673 +vn 0.7334 0.6775 -0.0555 +vn 0.5151 0.8106 -0.2786 +vn 0.7162 0.6954 0.0597 +vn 0.6975 0.6931 0.1819 +vn -0.5700 0.6227 -0.5360 +s off +f 87/134/77 79/135/77 82/136/77 +f 86/137/78 84/138/78 88/139/78 +f 80/140/79 86/137/79 82/136/79 +f 81/141/80 84/142/80 79/135/80 +f 82/143/81 88/144/81 87/134/81 +f 94/145/82 126/146/82 89/147/82 +f 87/134/83 83/148/83 81/141/83 +f 90/149/77 97/150/77 91/151/77 +f 98/152/78 96/153/78 95/154/78 +f 90/149/79 96/155/79 92/156/79 +f 91/151/80 94/145/80 89/147/80 +f 92/156/83 98/157/83 97/150/83 +f 79/135/77 90/149/77 126/158/77 +f 97/150/84 93/159/84 91/160/84 +f 101/161/85 100/162/85 99/163/85 +f 105/164/83 103/165/83 104/166/83 +f 101/167/78 106/168/78 102/169/78 +f 100/162/77 104/166/77 99/163/77 +f 113/170/83 111/171/83 112/172/83 +f 109/173/85 108/174/85 107/175/85 +f 109/176/78 114/177/78 110/178/78 +f 108/174/77 112/172/77 107/175/77 +f 121/179/83 119/180/83 120/181/83 +f 117/182/85 116/183/85 115/184/85 +f 117/185/78 122/186/78 118/187/78 +f 116/183/77 120/181/77 115/184/77 +f 126/158/85 124/188/85 123/189/85 +f 80/140/86 124/190/86 85/191/86 +f 95/154/78 84/138/78 124/192/78 +f 81/141/77 79/135/77 87/134/77 +f 79/135/77 80/140/77 82/136/77 +f 85/191/78 84/138/78 86/137/78 +f 84/138/78 83/193/78 88/139/78 +f 80/140/79 85/191/79 86/137/79 +f 81/141/80 83/194/80 84/142/80 +f 82/143/81 86/195/81 88/144/81 +f 94/145/82 125/196/82 126/146/82 +f 87/134/83 88/144/83 83/148/83 +f 91/151/77 89/147/77 90/149/77 +f 90/149/77 92/156/77 97/150/77 +f 95/154/78 94/197/78 93/198/78 +f 93/198/78 98/152/78 95/154/78 +f 90/149/79 95/199/79 96/155/79 +f 91/151/80 93/200/80 94/145/80 +f 92/156/83 96/201/83 98/157/83 +f 90/149/77 89/147/77 126/158/77 +f 126/158/77 123/189/77 79/135/77 +f 123/189/77 80/140/77 79/135/77 +f 97/150/84 98/157/84 93/159/84 +f 101/161/85 102/202/85 100/162/85 +f 105/164/83 106/168/83 103/165/83 +f 101/167/78 103/165/78 106/168/78 +f 100/162/77 105/164/77 104/166/77 +f 113/170/83 114/177/83 111/171/83 +f 109/173/85 110/203/85 108/174/85 +f 109/176/78 111/171/78 114/177/78 +f 108/174/77 113/170/77 112/172/77 +f 121/179/83 122/186/83 119/180/83 +f 117/182/85 118/204/85 116/183/85 +f 117/185/78 119/180/78 122/186/78 +f 116/183/77 121/179/77 120/181/77 +f 126/158/85 125/205/85 124/188/85 +f 80/140/86 123/206/86 124/190/86 +f 84/138/78 85/191/78 124/192/78 +f 124/192/78 125/207/78 95/154/78 +f 125/207/78 94/197/78 95/154/78 +s 1 +f 142/208/87 133/209/88 135/210/89 +f 142/208/87 132/211/90 134/212/91 +f 143/213/92 131/214/93 132/211/90 +f 135/210/89 131/215/93 150/216/94 +f 127/217/95 138/218/96 147/219/97 +f 147/219/97 137/220/98 148/221/99 +f 148/221/99 136/222/100 149/223/101 +f 149/223/101 135/210/89 150/216/94 +f 128/224/102 147/225/97 146/226/103 +f 146/226/103 148/227/99 145/228/104 +f 145/228/104 149/229/101 144/230/105 +f 144/230/105 150/231/94 143/213/92 +f 128/224/102 139/232/106 130/233/107 +f 146/226/103 140/234/108 139/232/106 +f 145/228/104 141/235/109 140/234/108 +f 141/235/109 143/213/92 142/208/87 +f 130/233/107 138/218/96 129/236/110 +f 139/232/106 137/220/98 138/218/96 +f 140/234/108 136/222/100 137/220/98 +f 141/235/109 135/210/89 136/222/100 +f 142/208/87 134/212/91 133/209/88 +f 142/208/87 143/213/92 132/211/90 +f 143/213/92 150/231/94 131/214/93 +f 135/210/89 133/209/88 131/215/93 +f 127/217/95 129/236/110 138/218/96 +f 147/219/97 138/218/96 137/220/98 +f 148/221/99 137/220/98 136/222/100 +f 149/223/101 136/222/100 135/210/89 +f 128/224/102 127/237/95 147/225/97 +f 146/226/103 147/225/97 148/227/99 +f 145/228/104 148/227/99 149/229/101 +f 144/230/105 149/229/101 150/231/94 +f 128/224/102 146/226/103 139/232/106 +f 146/226/103 145/228/104 140/234/108 +f 145/228/104 144/230/105 141/235/109 +f 141/235/109 144/230/105 143/213/92 +f 130/233/107 139/232/106 138/218/96 +f 139/232/106 140/234/108 137/220/98 +f 140/234/108 141/235/109 136/222/100 +f 141/235/109 142/208/87 135/210/89 +o Gun +v 0.000000 0.500000 7.000000 +v -0.250000 0.433013 7.000000 +v -0.433012 0.250000 7.000000 +v -0.500000 0.000000 7.000000 +v -0.433012 -0.250000 7.000000 +v -0.250000 -0.433013 7.000000 +v 0.000000 -0.500000 7.000000 +v 0.250000 -0.433013 7.000000 +v 0.433012 -0.250000 7.000000 +v 0.500000 -0.000000 7.000000 +v 0.433013 0.250000 7.000000 +v 0.250000 0.433013 7.000000 +v 0.000000 0.750000 5.750000 +v -0.375000 0.649519 5.750000 +v -0.649519 0.375000 5.750000 +v -0.750000 0.000000 5.750000 +v -0.649519 -0.375000 5.750000 +v -0.375000 -0.649519 5.750000 +v 0.000000 -0.750000 5.750000 +v 0.375000 -0.649519 5.750000 +v 0.649519 -0.375000 5.750000 +v 0.750000 -0.000000 5.750000 +v 0.649519 0.375000 5.750000 +v 0.375000 0.649519 5.750000 +v 0.000000 0.375000 7.000000 +v -0.187500 0.324760 7.000000 +v -0.324759 0.187500 7.000000 +v -0.375000 0.000000 7.000000 +v -0.324759 -0.187500 7.000000 +v -0.187500 -0.324759 7.000000 +v 0.000000 -0.375000 7.000000 +v 0.187500 -0.324760 7.000000 +v 0.324759 -0.187500 7.000000 +v 0.375000 -0.000000 7.000000 +v 0.324759 0.187500 7.000000 +v 0.187500 0.324759 7.000000 +v 0.000000 0.500000 5.500000 +v -0.250000 0.433013 5.500000 +v -0.433012 0.250000 5.500000 +v -0.500000 0.000000 5.500000 +v -0.433012 -0.250000 5.500000 +v -0.250000 -0.433013 5.500000 +v 0.000000 -0.500000 5.500000 +v 0.250000 -0.433013 5.500000 +v 0.433012 -0.250000 5.500000 +v 0.500000 -0.000000 5.500000 +v 0.433013 0.250000 5.500000 +v 0.250000 0.433013 5.500000 +v 0.000000 0.375000 6.000000 +v -0.187500 0.324760 6.000000 +v -0.324759 0.187500 6.000000 +v -0.375000 0.000000 6.000000 +v -0.324759 -0.187500 6.000000 +v -0.187500 -0.324759 6.000000 +v 0.000000 -0.375000 6.000000 +v 0.187500 -0.324760 6.000000 +v 0.324759 -0.187500 6.000000 +v 0.375000 -0.000000 6.000000 +v 0.324759 0.187500 6.000000 +v 0.187500 0.324759 6.000000 +v 0.000000 0.750000 5.500000 +v -0.375000 0.649519 5.500000 +v -0.649519 0.375000 5.500000 +v -0.750000 0.000000 5.500000 +v -0.649519 -0.375000 5.500000 +v -0.375000 -0.649519 5.500000 +v 0.000000 -0.750000 5.500000 +v 0.375000 -0.649519 5.500000 +v 0.649519 -0.375000 5.500000 +v 0.750000 -0.000000 5.500000 +v 0.649519 0.375000 5.500000 +v 0.375000 0.649519 5.500000 +v 0.000000 0.750000 4.000000 +v -0.375000 0.649519 4.000000 +v -0.649519 0.375000 4.000000 +v -0.750000 0.000000 4.000000 +v -0.649519 -0.375000 4.000000 +v -0.375000 -0.649519 4.000000 +v 0.000000 -0.750000 4.000000 +v 0.375000 -0.649519 4.000000 +v 0.649519 -0.375000 4.000000 +v 0.750000 -0.000000 4.000000 +v 0.649519 0.375000 4.000000 +v 0.375000 0.649519 4.000000 +v 0.000000 0.500000 4.000000 +v -0.250000 0.433013 4.000000 +v -0.433012 0.250000 4.000000 +v -0.500000 0.000000 4.000000 +v -0.433012 -0.250000 4.000000 +v -0.250000 -0.433013 4.000000 +v 0.000000 -0.500000 4.000000 +v 0.250000 -0.433013 4.000000 +v 0.433012 -0.250000 4.000000 +v 0.500000 -0.000000 4.000000 +v 0.433013 0.250000 4.000000 +v 0.250000 0.433013 4.000000 +v 0.000000 0.500000 -3.500000 +v -0.250000 0.433013 -3.500000 +v -0.433012 0.250000 -3.500000 +v -0.500000 0.000000 -3.500000 +v -0.433012 -0.250000 -3.500000 +v -0.250000 -0.433013 -3.500000 +v 0.000000 -0.500000 -3.500000 +v 0.250000 -0.433013 -3.500000 +v 0.433012 -0.250000 -3.500000 +v 0.500000 -0.000000 -3.500000 +v 0.433013 0.250000 -3.500000 +v 0.250000 0.433013 -3.500000 +v 0.000000 0.750000 -3.500000 +v -0.375000 0.649519 -3.500000 +v -0.649519 0.375000 -3.500000 +v -0.750000 0.000000 -3.500000 +v -0.649519 -0.375000 -3.500000 +v -0.375000 -0.649519 -3.500000 +v 0.000000 -0.750000 -3.500000 +v 0.375000 -0.649519 -3.500000 +v 0.649519 -0.375000 -3.500000 +v 0.750000 -0.000000 -3.500000 +v 0.649519 0.375000 -3.500000 +v 0.375000 0.649519 -3.500000 +v 0.000000 0.750000 -4.500000 +v -0.375000 0.649519 -4.500000 +v -0.649519 0.375000 -4.500000 +v -0.750000 0.000000 -4.500000 +v -0.649519 -0.375000 -4.500000 +v -0.375000 -0.649519 -4.500000 +v 0.000000 -0.750000 -4.500000 +v 0.375000 -0.649519 -4.500000 +v 0.649519 -0.375000 -4.500000 +v 0.750000 -0.000000 -4.500000 +v 0.649519 0.375000 -4.500000 +v 0.375000 0.649519 -4.500000 +v -0.500000 1.000000 -4.500000 +v -1.000000 0.500000 -4.500000 +v 1.000000 0.500000 -4.500000 +v 0.500000 1.000000 -4.500000 +v -1.000000 -0.500000 -4.500000 +v -0.500000 -1.000000 -4.500000 +v 0.500000 -1.000000 -4.500000 +v 1.000000 -0.500000 -4.500000 +v -0.500000 -1.000000 -8.000000 +v -1.000000 -0.500000 -8.000000 +v -1.000000 0.500000 -8.000000 +v -0.500000 1.000000 -8.000000 +v 0.500000 1.000000 -8.000000 +v 1.000000 0.500000 -8.000000 +v 1.000000 -0.500000 -8.000000 +v 0.500000 -1.000000 -8.000000 +v 0.000000 -0.625000 4.750000 +v -0.176777 -0.625000 4.823223 +v -0.250000 -0.625000 5.000000 +v -0.176777 -0.625000 5.176777 +v 0.000000 -0.625000 5.250000 +v 0.176776 -0.625000 5.176777 +v 0.250000 -0.625000 5.000000 +v 0.176776 -0.625000 4.823223 +v 0.000000 -0.875000 4.750000 +v -0.176777 -0.875000 4.823223 +v -0.250000 -0.875000 5.000000 +v -0.176777 -0.875000 5.176777 +v 0.000000 -0.875000 5.250000 +v 0.176776 -0.875000 5.176777 +v 0.250000 -0.875000 5.000000 +v 0.176776 -0.875000 4.823223 +v 0.000000 -0.875000 4.875000 +v -0.088388 -0.875000 4.911612 +v -0.125000 -0.875000 5.000000 +v -0.088388 -0.875000 5.088388 +v 0.000000 -0.875000 5.125000 +v 0.088388 -0.875000 5.088388 +v 0.125000 -0.875000 5.000000 +v 0.088388 -0.875000 4.911612 +v 0.000000 -1.125000 4.875000 +v -0.088388 -1.125000 4.911612 +v -0.125000 -1.125000 5.000000 +v -0.088388 -1.125000 5.088388 +v 0.000000 -1.125000 5.125000 +v 0.088388 -1.125000 5.088388 +v 0.125000 -1.125000 5.000000 +v 0.088388 -1.125000 4.911612 +v 0.000000 -1.500000 7.250000 +v 0.000000 -1.390165 4.984835 +v -0.088388 -1.364277 5.010723 +v -0.125000 -1.301777 5.073223 +v -0.088388 -1.239277 5.135724 +v 0.000000 -1.213388 5.161612 +v 0.088388 -1.239277 5.135724 +v 0.125000 -1.301777 5.073223 +v 0.088388 -1.364277 5.010723 +v 0.000000 -1.500000 5.250000 +v -0.088388 -1.463388 5.250000 +v -0.125000 -1.375000 5.250000 +v -0.088388 -1.286611 5.250000 +v 0.000000 -1.250000 5.250000 +v 0.088388 -1.286611 5.250000 +v 0.125000 -1.375000 5.250000 +v 0.088388 -1.463388 5.250000 +v -0.088388 -1.463388 7.250000 +v -0.125000 -1.375000 7.250000 +v -0.088388 -1.286611 7.250000 +v 0.000000 -1.250000 7.250000 +v 0.088388 -1.286611 7.250000 +v 0.125000 -1.375000 7.250000 +v 0.088388 -1.463388 7.250000 +v 0.000000 -0.875000 7.625000 +v 0.000000 -1.390165 7.515165 +v -0.088388 -1.364277 7.489277 +v -0.125000 -1.301777 7.426777 +v -0.088388 -1.239276 7.364276 +v 0.000000 -1.213388 7.338388 +v 0.088388 -1.239276 7.364276 +v 0.125000 -1.301777 7.426777 +v 0.088388 -1.364277 7.489277 +v 0.000000 -1.125000 7.625000 +v -0.088388 -1.125000 7.588388 +v -0.125000 -1.125000 7.500000 +v -0.088388 -1.125000 7.411612 +v 0.000000 -1.125000 7.375000 +v 0.088388 -1.125000 7.411612 +v 0.125000 -1.125000 7.500000 +v 0.088388 -1.125000 7.588388 +v -0.088388 -0.875000 7.588388 +v -0.125000 -0.875000 7.500000 +v -0.088388 -0.875000 7.411612 +v 0.000000 -0.875000 7.375000 +v 0.088388 -0.875000 7.411612 +v 0.125000 -0.875000 7.500000 +v 0.088388 -0.875000 7.588388 +v 0.000000 -0.875000 7.750000 +v -0.176777 -0.875000 7.676777 +v -0.250000 -0.875000 7.500000 +v -0.176777 -0.875000 7.323223 +v 0.000000 -0.875000 7.250000 +v 0.176776 -0.875000 7.323223 +v 0.250000 -0.875000 7.500000 +v 0.176776 -0.875000 7.676777 +v 0.000000 -0.375000 7.625000 +v -0.088388 -0.375000 7.588388 +v -0.125000 -0.375000 7.500000 +v -0.088388 -0.375000 7.411612 +v 0.000000 -0.375000 7.375000 +v 0.088388 -0.375000 7.411612 +v 0.125000 -0.375000 7.500000 +v 0.088388 -0.375000 7.588388 +v -0.500000 -0.750000 -4.500000 +v 0.500000 -0.750000 -4.500000 +v 0.500000 -1.000000 -4.500000 +v -0.500000 -1.000000 -4.500000 +v -0.500000 -0.750000 4.250000 +v 0.500000 -0.750000 4.250000 +v 0.500000 -1.000000 4.250000 +v -0.500000 -1.000000 4.250000 +v 0.375000 1.000000 -7.125000 +v -0.500000 -0.750000 4.500000 +v 0.500000 -0.750000 4.500000 +v -0.375000 1.000000 -7.125000 +v -0.500000 -0.500000 4.250000 +v 0.500000 -0.500000 4.250000 +v -0.500000 -0.500000 4.500000 +v 0.500000 -0.500000 4.500000 +v -0.375000 1.000000 -7.875000 +v 0.375000 1.000000 -7.875000 +v -0.375000 1.250000 -7.125000 +v 0.375000 1.250000 -7.125000 +v -0.375000 1.250000 -7.875000 +v 0.375000 1.250000 -7.875000 +v -0.250000 1.250000 -7.250000 +v 0.250000 1.250000 -7.250000 +v -0.250000 1.250000 -7.750000 +v 0.250000 1.250000 -7.750000 +v -0.250000 1.875000 -7.750000 +v -0.250000 2.250000 -7.250000 +v 0.250000 2.250000 -7.250000 +v 0.250000 1.875000 -7.750000 +v -0.500000 0.000000 -0.750000 +v -0.433012 0.250000 -0.750000 +v -0.187500 2.062500 -7.250000 +v 0.187500 2.062500 -7.250000 +v -0.250000 0.433013 -0.750000 +v 0.000000 0.500000 -0.750000 +v -0.187500 2.062500 -5.750000 +v 0.187500 2.062500 -5.750000 +v -0.250000 1.625000 -5.750000 +v 0.250000 1.625000 -5.750000 +v -0.250000 2.125000 -5.750000 +v 0.250000 2.125000 -5.750000 +v -0.250000 2.125000 -5.375000 +v -0.250000 1.625000 -5.500000 +v 0.250000 1.625000 -5.500000 +v 0.250000 2.125000 -5.375000 +v -0.062500 1.687500 -7.250000 +v -0.187500 1.812500 -7.250000 +v 0.187500 1.812500 -7.250000 +v 0.062500 1.687500 -7.250000 +v -0.187500 1.812500 -5.750000 +v -0.062500 1.687500 -5.750000 +v 0.062500 1.687500 -5.750000 +v 0.187500 1.812500 -5.750000 +v -0.433012 -0.250000 -0.750000 +v -0.250000 -0.433013 -0.750000 +v 0.000000 -0.500000 -0.750000 +v 0.250000 -0.433013 -0.750000 +v 0.433012 -0.250000 -0.750000 +v 0.500000 -0.000000 -0.750000 +v 0.433013 0.250000 -0.750000 +v 0.250000 0.433013 -0.750000 +v 0.000000 0.625000 -0.750000 +v -0.312500 0.541266 -0.750000 +v -0.541266 0.312500 -0.750000 +v -0.625000 0.000000 -0.750000 +v -0.541266 -0.312500 -0.750000 +v -0.312500 -0.541266 -0.750000 +v 0.000000 -0.625000 -0.750000 +v 0.312500 -0.541266 -0.750000 +v 0.541265 -0.312500 -0.750000 +v 0.625000 -0.000000 -0.750000 +v 0.541266 0.312500 -0.750000 +v 0.312500 0.541266 -0.750000 +v 0.433012 -0.250000 -0.250000 +v 0.250000 -0.433013 -0.250000 +v 0.000000 -0.500000 -0.250000 +v -0.250000 -0.433013 -0.250000 +v -0.433012 -0.250000 -0.250000 +v -0.500000 0.000000 -0.250000 +v -0.433012 0.250000 -0.250000 +v -0.250000 0.433013 -0.250000 +v 0.000000 0.500000 -0.250000 +v 0.500000 -0.000000 -0.250000 +v 0.433013 0.250000 -0.250000 +v 0.250000 0.433013 -0.250000 +v -0.312500 0.541266 -0.250000 +v 0.000000 0.625000 -0.250000 +v -0.541266 0.312500 -0.250000 +v -0.625000 0.000000 -0.250000 +v -0.541266 -0.312500 -0.250000 +v -0.312500 -0.541266 -0.250000 +v 0.000000 -0.625000 -0.250000 +v 0.312500 -0.541266 -0.250000 +v 0.541265 -0.312500 -0.250000 +v 0.625000 -0.000000 -0.250000 +v 0.541266 0.312500 -0.250000 +v 0.312500 0.541266 -0.250000 +v 0.375000 0.125000 -0.375000 +v 0.375000 -0.125000 -0.375000 +v 0.375000 0.125000 -0.625000 +v 0.375000 -0.125000 -0.625000 +v 0.875000 -0.125000 -0.625000 +v 0.875000 0.125000 -0.625000 +v 0.875000 -0.125000 -0.375000 +v 0.875000 0.125000 -0.375000 +v 0.875000 -0.187500 -0.687500 +v 0.875000 0.187500 -0.687500 +v 0.625000 -0.125000 -0.375000 +v 0.625000 0.125000 -0.375000 +v 2.875000 -0.187500 -0.687500 +v 2.875000 0.187500 -0.687500 +v 0.750000 0.125000 -0.375000 +v 0.750000 -0.125000 -0.375000 +v 0.875000 -0.187500 -0.437500 +v 0.875000 -0.062500 -0.312500 +v 0.875000 0.062500 -0.312500 +v 0.875000 0.187500 -0.437500 +v 0.000000 -0.500000 7.500000 +v 2.875000 -0.062500 -0.312500 +v 2.875000 -0.187500 -0.437500 +v 2.875000 0.187500 -0.437500 +v 2.875000 0.062500 -0.312500 +v 0.625000 0.125000 -0.125000 +v 0.625000 -0.125000 -0.125000 +v 0.750000 0.125000 -0.125000 +v 0.750000 -0.125000 -0.125000 +v 0.750000 0.125000 0.000000 +v 0.750000 -0.125000 0.000000 +v 2.875000 0.125000 -0.125000 +v 2.875000 -0.125000 -0.125000 +v 2.750000 0.125000 0.000000 +v 2.750000 -0.125000 0.000000 +v 0.312500 0.541266 -3.500000 +v 0.217648 0.553754 -3.500000 +v 0.141747 0.495513 -3.500000 +v 0.129259 0.400660 -3.500000 +v 0.282352 0.312272 -3.500000 +v 0.358253 0.370513 -3.500000 +v 0.370741 0.465365 -3.500000 +v 0.312500 0.541266 4.000000 +v 0.217648 0.553754 4.000000 +v 0.141747 0.495513 4.000000 +v 0.129259 0.400660 4.000000 +v 0.282352 0.312272 4.000000 +v 0.358253 0.370513 4.000000 +v 0.370741 0.465365 4.000000 +v -0.312500 0.541266 -3.500000 +v -0.370741 0.465365 -3.500000 +v -0.358253 0.370513 -3.500000 +v -0.282352 0.312272 -3.500000 +v -0.129259 0.400660 -3.500000 +v -0.141747 0.495513 -3.500000 +v -0.217648 0.553753 -3.500000 +v -0.312500 0.541266 4.000000 +v -0.370741 0.465365 4.000000 +v -0.358253 0.370513 4.000000 +v -0.282352 0.312272 4.000000 +v -0.129259 0.400660 4.000000 +v -0.141747 0.495513 4.000000 +v -0.217648 0.553753 4.000000 +v 1.250000 1.750000 -4.250000 +v 0.896447 1.603553 -4.250000 +v 0.750000 1.250000 -4.250000 +v 0.896447 0.896447 -4.250000 +v 1.250000 0.750000 -4.250000 +v 1.603553 0.896447 -4.250000 +v 1.750000 1.250000 -4.250000 +v 1.603553 1.603553 -4.250000 +v 0.896447 1.603553 -4.000000 +v 1.250000 1.750000 -4.000000 +v 0.750000 1.250000 -4.000000 +v 0.896447 0.896447 -4.000000 +v 1.250000 0.750000 -4.000000 +v 1.603553 0.896447 -4.000000 +v 1.750000 1.250000 -4.000000 +v 1.603553 1.603553 -4.000000 +v 1.073223 1.426777 -3.750000 +v 1.250000 1.500000 -3.750000 +v 1.000000 1.250000 -3.750000 +v 1.073223 1.073223 -3.750000 +v 1.250000 1.000000 -3.750000 +v 1.426776 1.073223 -3.750000 +v 1.500000 1.250000 -3.750000 +v 1.426776 1.426777 -3.750000 +v 1.016466 1.281631 -4.093750 +v 1.016466 1.281631 -3.906250 +v 1.281631 1.016466 -3.906250 +v 1.281631 1.016466 -4.093750 +v 0.309360 0.574524 -4.093750 +v 0.309360 0.574524 -3.906250 +v 0.574524 0.309359 -3.906250 +v 0.574524 0.309359 -4.093750 +v 0.940640 1.559359 -4.250000 +v 1.250000 1.687500 -4.250000 +v 0.812500 1.250000 -4.250000 +v 0.940640 0.940641 -4.250000 +v 1.250000 0.812500 -4.250000 +v 1.559359 0.940641 -4.250000 +v 1.687500 1.250000 -4.250000 +v 1.559359 1.559359 -4.250000 +v 0.940640 1.559359 -4.187500 +v 1.250000 1.687500 -4.187500 +v 0.812500 1.250000 -4.187500 +v 0.940640 0.940641 -4.187500 +v 1.250000 0.812500 -4.187500 +v 1.559359 0.940641 -4.187500 +v 1.687500 1.250000 -4.187500 +v 1.559359 1.559359 -4.187500 +v 0.000000 -1.000000 -5.000000 +v -0.250000 -1.566987 -7.500000 +v -0.433013 -1.750000 -7.500000 +v -0.500000 -2.000000 -7.500000 +v 0.866025 -2.500000 -5.000000 +v 0.500000 -2.866025 -5.000000 +v 0.000000 -3.000000 -5.000000 +v -0.500000 -2.866025 -5.000000 +v -0.866025 -2.500000 -5.000000 +v -1.000000 -2.000000 -5.000000 +v -0.866026 -1.500000 -5.000000 +v -0.500000 -1.133975 -5.000000 +v 0.000000 -1.000000 -5.500000 +v 0.000000 -1.500000 -7.500000 +v 0.250000 -1.566987 -7.500000 +v 0.433013 -1.750000 -7.500000 +v 0.866025 -2.500000 -5.500000 +v 0.500000 -2.866025 -5.500000 +v 0.000000 -3.000000 -5.500000 +v -0.500000 -2.866025 -5.500000 +v -0.866025 -2.500000 -5.500000 +v -1.000000 -2.000000 -5.500000 +v -0.866026 -1.500000 -5.500000 +v -0.500000 -1.133975 -5.500000 +v 0.000000 -0.750000 -5.500000 +v -0.625000 -0.917468 -5.500000 +v -1.082532 -1.375000 -5.500000 +v -1.250000 -2.000000 -5.500000 +v -1.082532 -2.625000 -5.500000 +v -0.625000 -3.082531 -5.500000 +v 0.000000 -3.250000 -5.500000 +v 0.625000 -3.082532 -5.500000 +v 1.082531 -2.625000 -5.500000 +v 0.500000 -2.000000 -7.500000 +v 0.433012 -2.250000 -7.500000 +v 0.250000 -2.433013 -7.500000 +v 0.000000 -0.750000 -5.000000 +v -0.625000 -0.917468 -5.000000 +v -1.082532 -1.375000 -5.000000 +v -1.250000 -2.000000 -5.000000 +v -1.082532 -2.625000 -5.000000 +v -0.625000 -3.082531 -5.000000 +v 0.000000 -3.250000 -5.000000 +v 0.625000 -3.082532 -5.000000 +v 1.082531 -2.625000 -5.000000 +v 0.000000 -2.500000 -7.500000 +v -0.250000 -2.433013 -7.500000 +v -0.433012 -2.250000 -7.500000 +v 1.082531 -2.625000 -1.500000 +v -0.250000 -1.566988 -6.750000 +v -0.433013 -1.750000 -6.750000 +v -0.500000 -2.000000 -6.750000 +v 0.625000 -3.082532 -1.500000 +v 0.000000 -3.250000 -1.500000 +v -0.625000 -3.082531 -1.500000 +v -1.082532 -2.625000 -1.500000 +v -1.250000 -2.000000 -1.500000 +v -1.082532 -1.375000 -1.500000 +v -0.625000 -0.917468 -1.500000 +v 0.000000 -0.750000 -1.500000 +v 1.082531 -2.625000 -2.000000 +v -0.433012 -2.250000 -6.750000 +v -0.250000 -2.433013 -6.750000 +v 0.000000 -2.500000 -6.750000 +v 0.625000 -3.082532 -2.000000 +v 0.000000 -3.250000 -2.000000 +v -0.625000 -3.082531 -2.000000 +v -1.082532 -2.625000 -2.000000 +v -1.250000 -2.000000 -2.000000 +v -1.082532 -1.375000 -2.000000 +v -0.625000 -0.917468 -2.000000 +v 0.000000 -0.750000 -2.000000 +v -0.500000 -1.133975 -2.000000 +v -0.866026 -1.500000 -2.000000 +v -1.000000 -2.000000 -2.000000 +v -0.866025 -2.500000 -2.000000 +v -0.500000 -2.866025 -2.000000 +v 0.000000 -3.000000 -2.000000 +v 0.500000 -2.866025 -2.000000 +v 0.866025 -2.500000 -2.000000 +v 0.000000 -1.000000 -2.000000 +v 0.250000 -2.433013 -6.750000 +v 0.433012 -2.250000 -6.750000 +v 0.500000 -2.000000 -6.750000 +v -0.500000 -1.133975 -1.500000 +v -0.866026 -1.500000 -1.500000 +v -1.000000 -2.000000 -1.500000 +v -0.866025 -2.500000 -1.500000 +v -0.500000 -2.866025 -1.500000 +v 0.000000 -3.000000 -1.500000 +v 0.500000 -2.866025 -1.500000 +v 0.866025 -2.500000 -1.500000 +v 0.000000 -1.000000 -1.500000 +v 0.433013 -1.750000 -6.750000 +v 0.250000 -1.566987 -6.750000 +v 0.000000 -1.500000 -6.750000 +v -0.250000 -1.625000 -6.875000 +v 0.250000 -1.625000 -6.875000 +v -0.250000 -1.625000 -7.375000 +v 0.250000 -1.625000 -7.375000 +v -0.250000 -1.000000 -6.875000 +v 0.250000 -1.000000 -6.875000 +v -0.250000 -1.000000 -7.375000 +v 0.250000 -1.000000 -7.375000 +v 0.000000 -1.625000 -7.500000 +v -0.265165 -1.734835 -7.500000 +v -0.375000 -2.000000 -7.500000 +v -0.265165 -2.265165 -7.500000 +v 0.000000 -2.375000 -7.500000 +v 0.265165 -2.265165 -7.500000 +v 0.375000 -2.000000 -7.500000 +v 0.265165 -1.734835 -7.500000 +v 0.000000 -1.625000 -8.500000 +v -0.265165 -1.734835 -8.500000 +v -0.375000 -2.000000 -8.500000 +v -0.265165 -2.265165 -8.500000 +v 0.000000 -2.375000 -8.500000 +v 0.265165 -2.265165 -8.500000 +v 0.375000 -2.000000 -8.500000 +v 0.265165 -1.734835 -8.500000 +v 0.375000 0.000000 -8.250001 +v 0.000000 -1.478553 -8.853554 +v -0.265165 -1.556218 -8.931218 +v -0.375000 -1.743718 -9.118718 +v -0.265165 -1.931218 -9.306218 +v 0.000000 -2.008883 -9.383883 +v 0.265165 -1.931218 -9.306218 +v 0.375000 -1.743718 -9.118718 +v 0.265165 -1.556219 -8.931218 +v 0.000000 -1.125000 -9.000000 +v -0.265165 -1.125000 -9.109835 +v -0.375000 -1.125000 -9.375000 +v -0.265165 -1.125000 -9.640165 +v 0.000000 -1.125000 -9.750000 +v 0.265165 -1.125000 -9.640165 +v 0.375000 -1.125000 -9.375000 +v 0.265165 -1.125000 -9.109835 +v 0.000000 -0.875000 -9.000000 +v -0.265165 -0.875000 -9.109835 +v -0.375000 -0.875000 -9.375000 +v -0.265165 -0.875000 -9.640165 +v 0.000000 -0.875000 -9.750000 +v 0.265165 -0.875000 -9.640165 +v 0.375000 -0.875000 -9.375000 +v 0.265165 -0.875000 -9.109835 +v 0.265165 0.265166 -8.250001 +v 0.000000 0.375000 -8.250000 +v -0.265165 0.265166 -8.250001 +v -0.375000 0.000000 -8.250001 +v -0.265165 -0.265165 -8.250000 +v 0.000000 -0.375000 -8.250000 +v 0.000000 -0.375000 -8.500000 +v -0.265165 -0.265165 -8.500000 +v -0.375000 0.000000 -8.500001 +v -0.265165 0.265166 -8.500001 +v 0.000000 0.375000 -8.500000 +v 0.265165 0.265166 -8.500001 +v 0.375000 0.000000 -8.500001 +v 0.265165 -0.265165 -8.500000 +v 0.265165 -0.443782 -8.931218 +v 0.375000 -0.256282 -9.118719 +v 0.265165 -0.068781 -9.306219 +v 0.000000 0.008884 -9.383883 +v -0.265165 -0.068781 -9.306219 +v -0.375000 -0.256282 -9.118719 +v -0.265165 -0.443782 -8.931218 +v 0.000000 -0.521446 -8.853554 +v 0.265165 -0.265165 -8.250000 +v 0.000000 0.500000 -8.250000 +v -0.353553 0.353554 -8.250000 +v -0.500000 0.000000 -8.250000 +v -0.353553 -0.353553 -8.250000 +v 0.000000 -0.500000 -8.250000 +v 0.353553 -0.353553 -8.250000 +v 0.500000 0.000000 -8.250000 +v 0.353553 0.353554 -8.250000 +v -0.353553 0.353554 -8.000000 +v 0.000000 0.500000 -8.000000 +v -0.500000 0.000000 -8.000000 +v -0.353553 -0.353553 -8.000000 +v 0.000000 -0.500000 -8.000000 +v 0.353553 -0.353553 -8.000000 +v 0.500000 0.000000 -8.000000 +v 0.353553 0.353554 -8.000000 +v -0.937500 1.000000 -4.562500 +v -0.562500 1.000000 -4.562500 +v -0.937500 1.000000 -4.937500 +v -0.562500 1.000000 -4.937500 +v -0.937500 0.500000 -4.562500 +v -0.562500 0.500000 -4.562500 +v -0.937500 0.500000 -4.937500 +v -0.562500 0.500000 -4.937500 +v -0.937500 1.000000 -5.062500 +v -0.562500 1.000000 -5.062500 +v -0.937500 1.000000 -5.437500 +v -0.562500 1.000000 -5.437500 +v -0.937500 0.500000 -5.062500 +v -0.562500 0.500000 -5.062500 +v -0.937500 0.500000 -5.437500 +v -0.562500 0.500000 -5.437500 +v -0.875000 1.000000 -4.625000 +v -0.625000 1.000000 -4.625000 +v -0.875000 1.000000 -4.875000 +v -0.625000 1.000000 -4.875000 +v -0.875000 1.375000 -4.875000 +v -0.875000 1.375000 -4.625000 +v -0.625000 1.375000 -4.625000 +v -0.625000 1.375000 -4.875000 +v -0.875000 1.000000 -5.125000 +v -0.625000 1.000000 -5.125000 +v -0.875000 1.000000 -5.375000 +v -0.625000 1.000000 -5.375000 +v -0.875000 1.375000 -5.375000 +v -0.875000 1.375000 -5.125000 +v -0.625000 1.375000 -5.125000 +v -0.625000 1.375000 -5.375000 +v -0.500000 0.000000 2.125000 +v -0.433012 0.250000 2.125000 +v -0.250000 0.433013 2.125000 +v 0.000000 0.500000 2.125000 +v -0.433012 -0.250000 2.125000 +v -0.250000 -0.433013 2.125000 +v 0.000000 -0.500000 2.125000 +v 0.250000 -0.433013 2.125000 +v 0.433012 -0.250000 2.125000 +v 0.500000 -0.000000 2.125000 +v 0.433013 0.250000 2.125000 +v 0.250000 0.433013 2.125000 +v 0.000000 0.625000 2.125000 +v -0.312500 0.541266 2.125000 +v -0.541266 0.312500 2.125000 +v -0.625000 0.000000 2.125000 +v -0.541266 -0.312500 2.125000 +v -0.312500 -0.541266 2.125000 +v 0.000000 -0.625000 2.125000 +v 0.312500 -0.541266 2.125000 +v 0.541265 -0.312500 2.125000 +v 0.625000 -0.000000 2.125000 +v 0.541266 0.312500 2.125000 +v 0.312500 0.541266 2.125000 +v 0.433012 -0.250000 2.625000 +v 0.250000 -0.433013 2.625000 +v 0.000000 -0.500000 2.625000 +v -0.250000 -0.433013 2.625000 +v -0.433012 -0.250000 2.625000 +v -0.500000 0.000000 2.625000 +v -0.433012 0.250000 2.625000 +v -0.250000 0.433013 2.625000 +v 0.000000 0.500000 2.625000 +v 0.500000 -0.000000 2.625000 +v 0.433013 0.250000 2.625000 +v 0.250000 0.433013 2.625000 +v -0.312500 0.541266 2.625000 +v 0.000000 0.625000 2.625000 +v -0.541266 0.312500 2.625000 +v -0.625000 0.000000 2.625000 +v -0.541266 -0.312500 2.625000 +v -0.312500 -0.541266 2.625000 +v 0.000000 -0.625000 2.625000 +v 0.312500 -0.541266 2.625000 +v 0.541265 -0.312500 2.625000 +v 0.625000 -0.000000 2.625000 +v 0.541266 0.312500 2.625000 +v 0.312500 0.541266 2.625000 +vt 0.052023 0.334677 +vt 0.046243 0.318548 +vt 0.052023 0.318548 +vt 0.052023 0.383065 +vt 0.046243 0.366935 +vt 0.052023 0.366935 +vt 0.052023 0.245968 +vt 0.046243 0.258065 +vt 0.046243 0.245968 +vt 0.052023 0.479839 +vt 0.046243 0.463710 +vt 0.052023 0.463710 +vt 0.052023 0.407258 +vt 0.046243 0.391129 +vt 0.052023 0.391129 +vt 0.052023 0.286290 +vt 0.046243 0.270161 +vt 0.052023 0.270161 +vt 0.052023 0.197581 +vt 0.046243 0.209677 +vt 0.046243 0.197581 +vt 0.052023 0.431452 +vt 0.046243 0.415323 +vt 0.052023 0.415323 +vt 0.052023 0.310484 +vt 0.046243 0.294355 +vt 0.052023 0.294355 +vt 0.052023 0.358871 +vt 0.046243 0.342742 +vt 0.052023 0.342742 +vt 0.052023 0.237903 +vt 0.046243 0.221774 +vt 0.052023 0.221774 +vt 0.052023 0.439516 +vt 0.046243 0.451613 +vt 0.046243 0.439516 +vt 0.002476 0.496091 +vt 0.017341 0.484117 +vt 0.032206 0.496091 +vt 0.132948 0.290323 +vt 0.121387 0.310484 +vt 0.121387 0.294355 +vt 0.132948 0.314516 +vt 0.121387 0.334677 +vt 0.121387 0.318548 +vt 0.121387 0.342742 +vt 0.132948 0.362903 +vt 0.121387 0.358871 +vt 0.121387 0.366935 +vt 0.132948 0.387097 +vt 0.121387 0.383065 +vt 0.121387 0.407258 +vt 0.121387 0.391129 +vt 0.121387 0.415323 +vt 0.132948 0.435484 +vt 0.121387 0.431452 +vt 0.121387 0.455645 +vt 0.121387 0.439516 +vt 0.121387 0.463710 +vt 0.132948 0.483871 +vt 0.121387 0.479839 +vt 0.132948 0.193548 +vt 0.121387 0.213710 +vt 0.121387 0.197581 +vt 0.132948 0.217742 +vt 0.121387 0.237903 +vt 0.121387 0.221774 +vt 0.132948 0.241935 +vt 0.121387 0.262097 +vt 0.121387 0.245968 +vt 0.132948 0.266129 +vt 0.121387 0.286290 +vt 0.121387 0.270161 +vt 0.202312 0.290323 +vt 0.213873 0.310484 +vt 0.202312 0.314516 +vt 0.213873 0.334677 +vt 0.202312 0.338710 +vt 0.213873 0.342742 +vt 0.202312 0.362903 +vt 0.213873 0.366935 +vt 0.202312 0.387097 +vt 0.213873 0.407258 +vt 0.202312 0.411290 +vt 0.213873 0.415323 +vt 0.202312 0.435484 +vt 0.213873 0.455645 +vt 0.202312 0.459677 +vt 0.213873 0.463710 +vt 0.202312 0.483871 +vt 0.213873 0.197581 +vt 0.202312 0.217742 +vt 0.202312 0.193548 +vt 0.213873 0.221774 +vt 0.202312 0.241935 +vt 0.213873 0.262097 +vt 0.202312 0.266129 +vt 0.213873 0.286290 +vt 0.213873 0.366935 +vt 0.225434 0.387097 +vt 0.213873 0.383065 +vt 0.213873 0.262097 +vt 0.225434 0.241935 +vt 0.225434 0.266129 +vt 0.213873 0.463710 +vt 0.225434 0.483871 +vt 0.213873 0.479839 +vt 0.213873 0.407258 +vt 0.225434 0.411290 +vt 0.213873 0.286290 +vt 0.225434 0.290323 +vt 0.213873 0.197581 +vt 0.225434 0.217742 +vt 0.213873 0.213710 +vt 0.213873 0.415323 +vt 0.225434 0.435484 +vt 0.213873 0.431452 +vt 0.213873 0.310484 +vt 0.225434 0.314516 +vt 0.213873 0.342742 +vt 0.225434 0.362903 +vt 0.213873 0.358871 +vt 0.213873 0.221774 +vt 0.213873 0.237903 +vt 0.213873 0.455645 +vt 0.225434 0.459677 +vt 0.213873 0.334677 +vt 0.225434 0.338710 +vt 0.092486 0.677419 +vt 0.254335 0.741935 +vt 0.092486 0.741935 +vt 0.092486 0.580645 +vt 0.254335 0.645161 +vt 0.092486 0.645161 +vt 0.092486 0.483871 +vt 0.254335 0.548387 +vt 0.092486 0.548387 +vt 0.000000 0.741935 +vt 0.023121 0.645161 +vt 0.277457 0.645161 +vt 0.346821 0.677419 +vt 0.323699 0.774194 +vt 0.092486 0.774194 +vt 0.254335 0.774194 +vt 0.092486 0.870968 +vt 0.254335 0.838710 +vt 0.254335 0.870968 +vt 0.092486 0.838710 +vt 0.676301 0.943548 +vt 0.682081 0.935484 +vt 0.684971 0.943548 +vt 0.658960 0.943548 +vt 0.664740 0.935484 +vt 0.667630 0.943548 +vt 0.650289 0.943548 +vt 0.658960 0.935484 +vt 0.641618 0.943548 +vt 0.635838 0.935484 +vt 0.638728 0.935484 +vt 0.693642 0.943548 +vt 0.687861 0.935484 +vt 0.690751 0.935484 +vt 0.670520 0.935484 +vt 0.673410 0.935484 +vt 0.647399 0.935484 +vt 0.632948 0.943548 +vt 0.627168 0.935484 +vt 0.630058 0.935484 +vt 0.739884 0.903226 +vt 0.745665 0.911290 +vt 0.736994 0.911290 +vt 0.760116 0.903226 +vt 0.754335 0.911290 +vt 0.757225 0.903226 +vt 0.705202 0.903226 +vt 0.710983 0.911290 +vt 0.702312 0.911290 +vt 0.722543 0.903226 +vt 0.728324 0.911290 +vt 0.719653 0.911290 +vt 0.731214 0.903226 +vt 0.751445 0.903226 +vt 0.748555 0.903226 +vt 0.699422 0.903226 +vt 0.693642 0.911290 +vt 0.696532 0.903226 +vt 0.716763 0.903226 +vt 0.713873 0.903226 +vt 0.699422 0.548387 +vt 0.294798 0.483871 +vt 0.699422 0.483871 +vt 0.699422 0.403226 +vt 0.294798 0.387097 +vt 0.699422 0.387097 +vt 0.294798 0.467742 +vt 0.699422 0.467742 +vt 0.832370 0.395161 +vt 0.803468 0.387097 +vt 0.838150 0.387097 +vt 0.838150 0.395161 +vt 0.815029 0.435484 +vt 0.815029 0.395161 +vt 0.283237 0.483871 +vt 0.283237 0.483871 +vt 0.271676 0.467742 +vt 0.283237 0.467742 +vt 0.294798 0.403226 +vt 0.283237 0.387097 +vt 0.283237 0.403226 +vt 0.271676 0.403226 +vt 0.271676 0.387097 +vt 0.283237 0.387097 +vt 0.283237 0.548387 +vt 0.271676 0.483871 +vt 0.907514 0.370968 +vt 0.872832 0.387097 +vt 0.872832 0.370968 +vt 0.803468 0.370968 +vt 0.768786 0.387097 +vt 0.768786 0.370968 +vt 0.838150 0.370968 +vt 0.867052 0.395161 +vt 0.901734 0.395161 +vt 0.907514 0.387097 +vt 0.797688 0.395161 +vt 0.815029 0.467742 +vt 0.838150 0.435484 +vt 0.838150 0.467742 +vt 0.791907 0.395161 +vt 0.768786 0.459677 +vt 0.768786 0.395161 +vt 0.791907 0.459677 +vt 0.861272 0.395161 +vt 0.768786 0.500000 +vt 0.838150 0.491935 +vt 0.838150 0.500000 +vt 0.768786 0.548387 +vt 0.838150 0.524194 +vt 0.838150 0.548387 +vt 0.768786 0.524194 +vt 0.838150 0.508065 +vt 0.809249 0.596774 +vt 0.786127 0.564516 +vt 0.809249 0.564516 +vt 0.786127 0.653226 +vt 0.809249 0.620968 +vt 0.809249 0.653226 +vt 0.786127 0.620968 +vt 0.786127 0.596774 +vt 0.809249 0.548387 +vt 0.774566 0.564516 +vt 0.820809 0.564516 +vt 0.826590 0.596774 +vt 0.768786 0.508065 +vt 0.838150 0.483871 +vt 0.768786 0.491935 +vt 0.768786 0.483871 +vt 0.838150 0.467742 +vt 1.000000 0.330645 +vt 0.994220 0.310484 +vt 1.000000 0.314516 +vt 1.000000 0.350806 +vt 0.994220 0.330645 +vt 1.000000 0.334677 +vt 1.000000 0.370968 +vt 0.994220 0.350806 +vt 1.000000 0.354839 +vt 1.000000 0.391129 +vt 0.994220 0.370968 +vt 1.000000 0.375000 +vt 1.000000 0.411290 +vt 0.994220 0.391129 +vt 1.000000 0.395161 +vt 1.000000 0.431452 +vt 0.994220 0.411290 +vt 1.000000 0.415323 +vt 1.000000 0.435484 +vt 0.994220 0.451613 +vt 0.994220 0.431452 +vt 1.000000 0.455645 +vt 0.994220 0.471774 +vt 1.000000 0.475806 +vt 0.994220 0.491935 +vt 1.000000 0.270161 +vt 0.994220 0.250000 +vt 1.000000 0.254032 +vt 1.000000 0.274194 +vt 0.994220 0.290323 +vt 0.994220 0.270161 +vt 1.000000 0.310484 +vt 1.000000 0.294355 +vt 0.971098 0.310484 +vt 0.965318 0.330645 +vt 0.965318 0.314516 +vt 0.971098 0.330645 +vt 0.965318 0.350806 +vt 0.965318 0.334677 +vt 0.971098 0.350806 +vt 0.965318 0.370968 +vt 0.965318 0.354839 +vt 0.971098 0.370968 +vt 0.965318 0.391129 +vt 0.965318 0.375000 +vt 0.971098 0.391129 +vt 0.965318 0.411290 +vt 0.965318 0.395161 +vt 0.971098 0.411290 +vt 0.965318 0.431452 +vt 0.965318 0.415323 +vt 0.965318 0.435484 +vt 0.971098 0.451613 +vt 0.965318 0.451613 +vt 0.965318 0.455645 +vt 0.971098 0.471774 +vt 0.965318 0.471774 +vt 0.965318 0.475806 +vt 0.971098 0.491935 +vt 0.965318 0.491935 +vt 0.971098 0.250000 +vt 0.965318 0.270161 +vt 0.965318 0.254032 +vt 0.965318 0.274194 +vt 0.971098 0.290323 +vt 0.965318 0.290323 +vt 0.965318 0.310484 +vt 0.965318 0.294355 +vt 0.890173 0.895161 +vt 0.797688 0.879032 +vt 0.890173 0.879032 +vt 0.786127 0.854839 +vt 0.797688 0.854839 +vt 0.927746 0.870968 +vt 0.904624 0.854839 +vt 0.927746 0.854839 +vt 0.927746 0.887097 +vt 0.904624 0.870968 +vt 0.927746 0.919355 +vt 0.904624 0.903226 +vt 0.927746 0.903226 +vt 0.890173 0.911290 +vt 0.797688 0.903226 +vt 0.890173 0.903226 +vt 0.797688 0.911290 +vt 0.890173 0.915323 +vt 0.797688 0.919355 +vt 0.893064 0.875000 +vt 0.890173 0.854839 +vt 0.893064 0.858871 +vt 0.462428 0.959677 +vt 0.450867 0.951613 +vt 0.462428 0.951613 +vt 0.450867 0.983871 +vt 0.445087 0.983871 +vt 0.450867 0.975806 +vt 0.797688 0.895161 +vt 0.890173 0.899194 +vt 0.893064 0.915323 +vt 0.901734 0.854839 +vt 0.904624 0.858871 +vt 0.901734 0.879032 +vt 0.904624 0.875000 +vt 0.890173 0.935484 +vt 0.890173 0.919355 +vt 0.462428 0.983871 +vt 0.462428 0.975806 +vt 0.450867 0.959677 +vt 0.450867 0.935484 +vt 0.462428 0.935484 +vt 0.445087 0.983871 +vt 0.352601 0.975806 +vt 0.445087 0.975806 +vt 0.445087 0.951613 +vt 0.346821 0.959677 +vt 0.346821 0.975806 +vt 0.445087 0.951613 +vt 0.352601 0.959677 +vt 0.346821 0.951613 +vt 0.346821 0.935484 +vt 0.445087 0.935484 +vt 0.445087 0.959677 +vt 0.930636 0.129032 +vt 0.927746 0.153226 +vt 0.927746 0.129032 +vt 0.965329 0.016129 +vt 0.976879 0.000015 +vt 0.988428 0.016129 +vt 0.956647 0.491935 +vt 0.973988 0.556452 +vt 0.956647 0.556452 +vt 0.930636 0.556452 +vt 0.947977 0.491935 +vt 0.947977 0.556452 +vt 0.930636 0.225806 +vt 0.927746 0.201613 +vt 0.930636 0.201613 +vt 0.930636 0.177419 +vt 0.930636 0.153226 +vt 0.973988 0.491935 +vt 0.982659 0.556452 +vt 0.930636 0.080645 +vt 0.927746 0.056452 +vt 0.930636 0.056452 +vt 0.930636 0.104839 +vt 0.927746 0.104839 +vt 0.927746 0.177419 +vt 0.930636 0.250000 +vt 0.927746 0.225806 +vt 0.927746 0.080645 +vt 0.945086 0.000034 +vt 0.959375 0.008291 +vt 0.965293 0.028226 +vt 0.722543 0.463710 +vt 0.734104 0.427419 +vt 0.734104 0.467742 +vt 0.722543 0.504032 +vt 0.734104 0.508065 +vt 0.722543 0.544355 +vt 0.734104 0.548387 +vt 0.722543 0.584677 +vt 0.734104 0.588710 +vt 0.722543 0.625000 +vt 0.734104 0.629032 +vt 0.722543 0.665323 +vt 0.734104 0.669355 +vt 0.722543 0.705645 +vt 0.734104 0.709677 +vt 0.708338 0.725837 +vt 0.748309 0.725837 +vt 0.728324 0.774132 +vt 0.757225 0.387097 +vt 0.734104 0.370968 +vt 0.757225 0.370968 +vt 0.768786 0.705645 +vt 0.757225 0.669355 +vt 0.768786 0.673387 +vt 0.722543 0.423387 +vt 0.734104 0.387097 +vt 0.734104 0.427419 +vt 0.768786 0.665323 +vt 0.757225 0.629032 +vt 0.768786 0.633065 +vt 0.768786 0.423387 +vt 0.768786 0.391129 +vt 0.768786 0.463710 +vt 0.757225 0.427419 +vt 0.768786 0.431452 +vt 0.768786 0.504032 +vt 0.757225 0.467742 +vt 0.768786 0.471774 +vt 0.768786 0.625000 +vt 0.757225 0.588710 +vt 0.768786 0.592742 +vt 0.768786 0.544355 +vt 0.757225 0.508065 +vt 0.768786 0.512097 +vt 0.768786 0.584677 +vt 0.757225 0.548387 +vt 0.768786 0.552419 +vt 0.768786 0.584677 +vt 0.757225 0.548387 +vt 0.768786 0.552419 +vt 0.768786 0.625000 +vt 0.757225 0.588710 +vt 0.768786 0.592742 +vt 0.768786 0.665323 +vt 0.757225 0.629032 +vt 0.768786 0.633065 +vt 0.768786 0.705645 +vt 0.757225 0.669355 +vt 0.768786 0.673387 +vt 0.768786 0.544355 +vt 0.757225 0.508065 +vt 0.768786 0.512097 +vt 0.722543 0.705645 +vt 0.734104 0.669355 +vt 0.734104 0.709677 +vt 0.768786 0.504032 +vt 0.757225 0.467742 +vt 0.768786 0.471774 +vt 0.768786 0.463710 +vt 0.757225 0.427419 +vt 0.768786 0.431452 +vt 0.722543 0.665323 +vt 0.734104 0.629032 +vt 0.768786 0.423387 +vt 0.757225 0.387097 +vt 0.768786 0.391129 +vt 0.722543 0.423387 +vt 0.734104 0.387097 +vt 0.734104 0.370968 +vt 0.757225 0.370968 +vt 0.722543 0.625000 +vt 0.734104 0.588710 +vt 0.722543 0.584677 +vt 0.734104 0.548387 +vt 0.722543 0.544355 +vt 0.734104 0.508065 +vt 0.748309 0.790353 +vt 0.748309 0.822550 +vt 0.708338 0.822550 +vt 0.722543 0.504032 +vt 0.734104 0.467742 +vt 0.722543 0.463710 +vt 0.884393 0.500000 +vt 0.861272 0.459677 +vt 0.884393 0.459677 +vt 0.930636 0.500000 +vt 0.907514 0.459677 +vt 0.930636 0.459677 +vt 0.907514 0.500000 +vt 0.861272 0.500000 +vt 0.838150 0.459677 +vt 0.826390 0.685484 +vt 0.803468 0.717463 +vt 0.780547 0.685484 +vt 0.965318 0.612903 +vt 0.982659 0.588710 +vt 0.982659 0.612903 +vt 0.965318 0.612903 +vt 0.982659 0.588710 +vt 0.982659 0.612903 +vt 0.947977 0.588710 +vt 0.965318 0.556452 +vt 0.965318 0.588710 +vt 1.000000 0.556452 +vt 1.000000 0.588710 +vt 0.982659 0.556452 +vt 0.930636 0.588710 +vt 0.947977 0.556452 +vt 0.947977 0.588710 +vt 0.965318 0.556452 +vt 0.965318 0.588710 +vt 1.000000 0.556452 +vt 1.000000 0.588710 +vt 0.982659 0.556452 +vt 0.930636 0.588710 +vt 0.947977 0.556452 +vt 0.953757 0.653226 +vt 0.965318 0.637097 +vt 0.965318 0.653226 +vt 0.953757 0.653226 +vt 0.965318 0.637097 +vt 0.965318 0.653226 +vt 0.953757 0.612903 +vt 0.942197 0.637097 +vt 0.942197 0.612903 +vt 0.976879 0.612903 +vt 0.965318 0.612903 +vt 0.953757 0.637097 +vt 0.930636 0.637097 +vt 0.930636 0.612903 +vt 0.953757 0.612903 +vt 0.942197 0.637097 +vt 0.942197 0.612903 +vt 0.976879 0.612903 +vt 0.965318 0.612903 +vt 0.953757 0.637097 +vt 0.930636 0.637097 +vt 0.930636 0.612903 +vt 0.965318 0.330645 +vt 0.959538 0.310484 +vt 0.965318 0.314516 +vt 0.965318 0.350806 +vt 0.959538 0.330645 +vt 0.965318 0.334677 +vt 0.965318 0.370968 +vt 0.959538 0.350806 +vt 0.965318 0.354839 +vt 0.965318 0.391129 +vt 0.959538 0.370968 +vt 0.965318 0.375000 +vt 0.965318 0.411290 +vt 0.959538 0.391129 +vt 0.965318 0.395161 +vt 0.965318 0.431452 +vt 0.959538 0.411290 +vt 0.965318 0.415323 +vt 0.965318 0.435484 +vt 0.959538 0.451613 +vt 0.959538 0.431452 +vt 0.965318 0.455645 +vt 0.959538 0.471774 +vt 0.965318 0.475806 +vt 0.959538 0.491935 +vt 0.965318 0.270161 +vt 0.959538 0.250000 +vt 0.965318 0.254032 +vt 0.965318 0.274194 +vt 0.959538 0.290323 +vt 0.959538 0.270161 +vt 0.965318 0.310484 +vt 0.965318 0.294355 +vt 0.936416 0.310484 +vt 0.930636 0.330645 +vt 0.930636 0.314516 +vt 0.936416 0.330645 +vt 0.930636 0.350806 +vt 0.930636 0.334677 +vt 0.936416 0.350806 +vt 0.930636 0.370968 +vt 0.930636 0.354839 +vt 0.936416 0.370968 +vt 0.930636 0.391129 +vt 0.930636 0.375000 +vt 0.936416 0.391129 +vt 0.930636 0.411290 +vt 0.930636 0.395161 +vt 0.936416 0.411290 +vt 0.930636 0.431452 +vt 0.930636 0.415323 +vt 0.930636 0.435484 +vt 0.936416 0.451613 +vt 0.930636 0.451613 +vt 0.930636 0.455645 +vt 0.936416 0.471774 +vt 0.930636 0.471774 +vt 0.930636 0.475806 +vt 0.936416 0.491935 +vt 0.930636 0.491935 +vt 0.936416 0.250000 +vt 0.930636 0.270161 +vt 0.930636 0.254032 +vt 0.930636 0.274194 +vt 0.936416 0.290323 +vt 0.930636 0.290323 +vt 0.930636 0.310484 +vt 0.930636 0.294355 +vt 0.046243 0.330645 +vt 0.046243 0.379032 +vt 0.052023 0.262097 +vt 0.046243 0.475806 +vt 0.046243 0.403226 +vt 0.046243 0.282258 +vt 0.052023 0.213710 +vt 0.046243 0.427419 +vt 0.046243 0.306452 +vt 0.046243 0.354839 +vt 0.046243 0.233871 +vt 0.052023 0.455645 +vt 0.017341 0.532012 +vt 0.008759 0.528803 +vt 0.002476 0.520038 +vt 0.000177 0.508065 +vt 0.008759 0.487326 +vt 0.025923 0.487326 +vt 0.034506 0.508065 +vt 0.032206 0.520038 +vt 0.025923 0.528803 +vt 0.132948 0.338710 +vt 0.132948 0.411290 +vt 0.132948 0.459677 +vt 0.213873 0.294355 +vt 0.213873 0.318548 +vt 0.213873 0.358871 +vt 0.213873 0.383065 +vt 0.213873 0.391129 +vt 0.213873 0.431452 +vt 0.213873 0.439516 +vt 0.213873 0.479839 +vt 0.213873 0.213710 +vt 0.213873 0.237903 +vt 0.213873 0.245968 +vt 0.213873 0.270161 +vt 0.213873 0.245968 +vt 0.213873 0.391129 +vt 0.213873 0.270161 +vt 0.225434 0.193548 +vt 0.213873 0.294355 +vt 0.213873 0.439516 +vt 0.213873 0.318548 +vt 0.254335 0.677419 +vt 0.254335 0.580645 +vt 0.254335 0.483871 +vt 0.069364 0.774194 +vt 0.023121 0.774194 +vt 0.000000 0.677419 +vt 0.069364 0.645161 +vt 0.277457 0.774194 +vt 0.323699 0.645161 +vt 0.346821 0.741935 +vt 0.679191 0.935484 +vt 0.661850 0.935484 +vt 0.653179 0.935484 +vt 0.644509 0.935484 +vt 0.624277 0.943548 +vt 0.742775 0.903226 +vt 0.763006 0.911290 +vt 0.708093 0.903226 +vt 0.725434 0.903226 +vt 0.734104 0.903226 +vt 0.294798 0.548387 +vt 0.809249 0.395161 +vt 0.271676 0.548387 +vt 0.843931 0.395161 +vt 0.878613 0.395161 +vt 0.774566 0.395161 +vt 0.861272 0.459677 +vt 0.786127 0.548387 +vt 0.768786 0.596774 +vt 0.768786 0.467742 +vt 1.000000 0.451613 +vt 1.000000 0.471774 +vt 1.000000 0.491935 +vt 1.000000 0.290323 +vt 0.971098 0.431452 +vt 0.971098 0.270161 +vt 0.786127 0.879032 +vt 0.780347 0.870968 +vt 0.780347 0.862903 +vt 0.904624 0.887097 +vt 0.904624 0.919355 +vt 0.893064 0.899194 +vt 0.797688 0.935484 +vt 0.346821 0.983871 +vt 0.976879 0.032243 +vt 0.968712 0.027523 +vt 0.968712 0.004735 +vt 0.985046 0.004735 +vt 0.985046 0.027523 +vt 0.930636 0.491935 +vt 0.982659 0.491935 +vt 0.927746 0.250000 +vt 0.959375 0.048160 +vt 0.945086 0.056418 +vt 0.930798 0.048160 +vt 0.924880 0.028226 +vt 0.930798 0.008291 +vt 0.722543 0.431452 +vt 0.722543 0.471774 +vt 0.722543 0.512097 +vt 0.722543 0.552419 +vt 0.722543 0.592742 +vt 0.722543 0.633065 +vt 0.722543 0.673387 +vt 0.716785 0.769818 +vt 0.708338 0.758034 +vt 0.705247 0.741936 +vt 0.716785 0.714053 +vt 0.728324 0.709739 +vt 0.739862 0.714053 +vt 0.751401 0.741935 +vt 0.748309 0.758034 +vt 0.739862 0.769819 +vt 0.757225 0.709677 +vt 0.722543 0.391129 +vt 0.757225 0.709677 +vt 0.722543 0.673387 +vt 0.722543 0.633065 +vt 0.722543 0.391129 +vt 0.722543 0.592742 +vt 0.722543 0.552419 +vt 0.722543 0.512097 +vt 0.739862 0.834335 +vt 0.728324 0.838648 +vt 0.716785 0.834335 +vt 0.705246 0.806452 +vt 0.708338 0.790353 +vt 0.716785 0.778569 +vt 0.728324 0.774255 +vt 0.739862 0.778569 +vt 0.751401 0.806452 +vt 0.722543 0.471774 +vt 0.722543 0.431452 +vt 0.838150 0.500000 +vt 0.819676 0.708097 +vt 0.787260 0.708097 +vt 0.787260 0.662871 +vt 0.803468 0.653505 +vt 0.819676 0.662871 +vt 0.930636 0.556452 +vt 0.930636 0.556452 +vt 0.976879 0.637097 +vt 0.976879 0.637097 +vt 0.965318 0.451613 +vt 0.965318 0.471774 +vt 0.965318 0.491935 +vt 0.965318 0.290323 +vt 0.936416 0.431452 +vt 0.936416 0.270161 +vt 0.109827 0.314516 +vt 0.109827 0.338710 +vt 0.109827 0.362903 +vt 0.109827 0.387097 +vt 0.109827 0.411290 +vt 0.109827 0.459677 +vt 0.109827 0.483871 +vt 0.109827 0.193548 +vt 0.109827 0.217742 +vt 0.109827 0.241935 +vt 0.109827 0.290323 +vt 0.109827 0.435484 +vt 0.109827 0.266129 +vt 0.000000 0.270161 +vt 0.000000 0.197581 +vt 0.000000 0.415323 +vt 0.000000 0.294355 +vt 0.000000 0.342742 +vt 0.000000 0.221774 +vt 0.000000 0.439516 +vt 0.000000 0.318548 +vt 0.000000 0.366935 +vt 0.000000 0.245968 +vt 0.000000 0.463710 +vt 0.000000 0.391129 +vt -0.000000 0.032258 +vt 0.346821 0.048387 +vt -0.000000 0.048387 +vt -0.000000 0.177419 +vt 0.346821 0.193548 +vt -0.000000 0.193548 +vt -0.000000 0.129032 +vt 0.346821 0.145161 +vt -0.000000 0.145161 +vt 0.346821 0.064516 +vt -0.000000 0.064516 +vt -0.000000 -0.000000 +vt 0.346821 0.016129 +vt -0.000000 0.016129 +vt 0.346821 0.161290 +vt -0.000000 0.161290 +vt 0.346821 0.080645 +vt -0.000000 0.080645 +vt -0.000000 0.096774 +vt 0.346821 0.112903 +vt -0.000000 0.112903 +vt 0.346821 0.032258 +vt 0.346821 0.177419 +vt 0.346821 0.096774 +vt 0.346821 0.129032 +vt 0.271676 0.338710 +vt 0.271676 0.387097 +vt 0.271676 0.266129 +vt 0.271676 0.483871 +vt 0.271676 0.411290 +vt 0.271676 0.290323 +vt 0.271676 0.217742 +vt 0.271676 0.435484 +vt 0.271676 0.314516 +vt 0.271676 0.362903 +vt 0.271676 0.241935 +vt 0.271676 0.459677 +vt 0.650289 0.959677 +vt 0.641618 0.959677 +vt 0.632948 0.959677 +vt 0.624277 0.959677 +vt 0.684971 0.959677 +vt 0.676301 0.959677 +vt 0.667630 0.959677 +vt 0.658960 0.959677 +vt 0.693642 0.959677 +vt 0.624277 0.983871 +vt 0.612717 0.975806 +vt 0.624277 0.975806 +vt 0.624277 1.000000 +vt 0.612717 0.991935 +vt 0.624277 0.991935 +vt 0.624277 0.951613 +vt 0.612717 0.943548 +vt 0.624277 0.943548 +vt 0.624277 0.967742 +vt 0.612717 0.959677 +vt 0.624277 0.959677 +vt 0.612717 0.967742 +vt 0.612717 0.983871 +vt 0.612717 0.935484 +vt 0.624277 0.935484 +vt 0.612717 0.951613 +vt 0.606936 0.943548 +vt 0.601156 0.935484 +vt 0.604046 0.935484 +vt 0.601156 0.951613 +vt 0.609827 0.951613 +vt 0.601156 0.983871 +vt 0.601156 0.975806 +vt 0.606936 0.991935 +vt 0.601156 1.000000 +vt 0.601156 0.991935 +vt 0.601156 0.943548 +vt 0.601156 0.967742 +vt 0.601156 0.959677 +vt 0.609827 0.983871 +vt 0.589595 0.967742 +vt 0.592486 0.983871 +vt 0.595376 0.943548 +vt 0.598266 0.935484 +vt 0.592486 0.951613 +vt 0.589595 0.975806 +vt 0.595376 0.991935 +vt 0.589595 0.959677 +vt 0.589595 1.000000 +vt 0.497110 0.991935 +vt 0.589595 0.991935 +vt 0.589595 0.951613 +vt 0.497110 0.943548 +vt 0.589595 0.943548 +vt 0.497110 0.959677 +vt 0.497110 0.967742 +vt 0.497110 0.983871 +vt 0.589595 0.983871 +vt 0.497110 0.935484 +vt 0.589595 0.935484 +vt 0.497110 0.951613 +vt 0.497110 0.975806 +vt 0.485549 0.983871 +vt 0.485549 0.975806 +vt 0.491329 0.991935 +vt 0.485549 1.000000 +vt 0.485549 0.991935 +vt 0.494220 0.951613 +vt 0.485549 0.943548 +vt 0.491329 0.943548 +vt 0.485549 0.967742 +vt 0.485549 0.959677 +vt 0.494220 0.983871 +vt 0.488439 0.935484 +vt 0.485549 0.935484 +vt 0.485549 0.951613 +vt 0.479769 0.991935 +vt 0.476879 0.983871 +vt 0.479769 0.943548 +vt 0.482659 0.935484 +vt 0.473988 0.959677 +vt 0.476879 0.951613 +vt 0.473988 0.975806 +vt 0.473988 0.967742 +vt 0.462428 0.967742 +vt 0.462428 0.959677 +vt 0.473988 0.983871 +vt 0.462428 0.991935 +vt 0.462428 0.983871 +vt 0.473988 0.935484 +vt 0.462428 0.943548 +vt 0.462428 0.935484 +vt 0.473988 0.951613 +vt 0.462428 0.951613 +vt 0.462428 0.975806 +vt 0.473988 1.000000 +vt 0.473988 0.991935 +vt 0.473988 0.943548 +vt 0.719653 0.943548 +vt 0.713873 0.943548 +vt 0.739884 0.943548 +vt 0.757225 0.943548 +vt 0.705202 0.943548 +vt 0.728324 0.943548 +vt 0.722543 0.943548 +vt 0.731214 0.943548 +vt 0.754335 0.943548 +vt 0.748555 0.943548 +vt 0.702312 0.943548 +vt 0.696532 0.943548 +vt 0.346821 0.879032 +vt -0.000000 0.870968 +vt 0.346821 0.870968 +vt 0.346821 0.911290 +vt -0.000000 0.903226 +vt 0.346821 0.903226 +vt 0.346821 0.887097 +vt -0.000000 0.879032 +vt 0.346821 0.919355 +vt -0.000000 0.911290 +vt -0.000000 0.895161 +vt 0.346821 0.895161 +vt -0.000000 0.887097 +vt 0.346821 0.927419 +vt 0.000000 0.919355 +vt 0.346821 0.919355 +vt 0.346821 0.959677 +vt 0.000000 0.951613 +vt 0.346821 0.951613 +vt 0.346821 0.935484 +vt 0.000000 0.927419 +vt 0.346821 0.967742 +vt 0.000000 0.959677 +vt 0.000000 0.943548 +vt 0.346821 0.943548 +vt 0.000000 0.935484 +vt 0.942197 0.080645 +vt 0.959538 0.060484 +vt 0.959538 0.072581 +vt 0.942197 0.153226 +vt 0.942197 0.177419 +vt 0.942197 0.225806 +vt 0.942197 0.129032 +vt 0.942197 0.201613 +vt 0.942197 0.250000 +vt 0.942197 0.104839 +vt 0.959538 0.120968 +vt 0.959538 0.193548 +vt 0.959538 0.241935 +vt 0.959538 0.084677 +vt 0.959538 0.096774 +vt 0.959538 0.145161 +vt 0.959538 0.169355 +vt 0.959538 0.217742 +vt 0.924855 0.201613 +vt 0.924855 0.056452 +vt 0.924855 0.104839 +vt 0.924855 0.177419 +vt 0.924855 0.225806 +vt 0.924855 0.080645 +vt 0.924855 0.129032 +vt 0.924855 0.153226 +vt 0.699422 0.471774 +vt 0.699422 0.504032 +vt 0.699422 0.633065 +vt 0.699422 0.665323 +vt 0.699422 0.512097 +vt 0.699422 0.544355 +vt 0.699422 0.391129 +vt 0.699422 0.423387 +vt 0.699422 0.673387 +vt 0.699422 0.705645 +vt 0.699422 0.552419 +vt 0.699422 0.584677 +vt 0.699422 0.431452 +vt 0.699422 0.463710 +vt 0.699422 0.592742 +vt 0.699422 0.625000 +vt 0.699422 0.592742 +vt 0.699422 0.625000 +vt 0.699422 0.431452 +vt 0.699422 0.463710 +vt 0.699422 0.552419 +vt 0.699422 0.584677 +vt 0.699422 0.673387 +vt 0.699422 0.705645 +vt 0.699422 0.391129 +vt 0.699422 0.423387 +vt 0.699422 0.512097 +vt 0.699422 0.544355 +vt 0.699422 0.633065 +vt 0.699422 0.665323 +vt 0.699422 0.471774 +vt 0.699422 0.504032 +vt 0.670520 0.887097 +vt 0.705202 0.903226 +vt 0.670520 0.903226 +vt 0.670520 0.854839 +vt 0.705202 0.870968 +vt 0.670520 0.870968 +vt 0.670520 0.806452 +vt 0.705202 0.790323 +vt 0.705202 0.806452 +vt 0.670520 0.741935 +vt 0.705202 0.758065 +vt 0.670520 0.758065 +vt 0.670520 0.709677 +vt 0.705202 0.725806 +vt 0.670520 0.725806 +vt 0.670520 0.838710 +vt 0.705202 0.854839 +vt 0.670520 0.774194 +vt 0.705202 0.774194 +vt 0.705202 0.741935 +vt 0.670520 0.822581 +vt 0.705202 0.838710 +vt 0.705202 0.887097 +vt 0.670520 0.790323 +vt 0.705202 0.822581 +vt 0.849711 0.564516 +vt 0.838150 0.500000 +vt 0.849711 0.500000 +vt 0.872832 0.564516 +vt 0.861272 0.500000 +vt 0.872832 0.500000 +vt 0.895954 0.564516 +vt 0.884393 0.500000 +vt 0.895954 0.500000 +vt 0.919075 0.564516 +vt 0.907514 0.500000 +vt 0.919075 0.500000 +vt 0.861272 0.564516 +vt 0.884393 0.564516 +vt 0.907514 0.564516 +vt 0.930636 0.564516 +vt 0.930636 0.500000 +vt 0.919075 0.612903 +vt 0.907514 0.576613 +vt 0.919075 0.580645 +vt 0.861272 0.576613 +vt 0.849711 0.612903 +vt 0.849711 0.580645 +vt 0.884393 0.629032 +vt 0.872832 0.568548 +vt 0.907514 0.616935 +vt 0.895954 0.568548 +vt 0.930636 0.584677 +vt 0.838150 0.584677 +vt 0.861272 0.616935 +vt 0.861272 0.641129 +vt 0.849711 0.677419 +vt 0.849711 0.645161 +vt 0.872832 0.689516 +vt 0.872832 0.633065 +vt 0.907514 0.681452 +vt 0.895954 0.633065 +vt 0.907514 0.641129 +vt 0.930636 0.649194 +vt 0.919075 0.677419 +vt 0.919075 0.645161 +vt 0.838150 0.649194 +vt 0.861272 0.681452 +vt 0.895954 0.689516 +vt 0.919075 0.693548 +vt 0.907514 0.709677 +vt 0.907514 0.693548 +vt 0.861272 0.709677 +vt 0.849711 0.693548 +vt 0.861272 0.693548 +vt 0.884393 0.693548 +vt 0.872832 0.709677 +vt 0.872832 0.693548 +vt 0.895954 0.693548 +vt 0.930636 0.693548 +vt 0.919075 0.709677 +vt 0.849711 0.709677 +vt 0.838150 0.693548 +vt 0.895954 0.709677 +vt 0.895954 0.854839 +vt 0.884393 0.838710 +vt 0.895954 0.838710 +vt 0.872832 0.854839 +vt 0.861272 0.838710 +vt 0.872832 0.838710 +vt 0.849711 0.854839 +vt 0.838150 0.838710 +vt 0.849711 0.838710 +vt 0.930636 0.854839 +vt 0.919075 0.838710 +vt 0.930636 0.838710 +vt 0.907514 0.854839 +vt 0.907514 0.838710 +vt 0.861272 0.854839 +vt 0.849711 0.790323 +vt 0.838150 0.818548 +vt 0.838150 0.794355 +vt 0.872832 0.834677 +vt 0.861272 0.786290 +vt 0.872832 0.778226 +vt 0.895954 0.834677 +vt 0.884393 0.774194 +vt 0.895954 0.778226 +vt 0.919075 0.790323 +vt 0.907514 0.826613 +vt 0.907514 0.786290 +vt 0.861272 0.826613 +vt 0.930636 0.794355 +vt 0.919075 0.822581 +vt 0.930636 0.729839 +vt 0.919075 0.758065 +vt 0.919075 0.725806 +vt 0.907514 0.762097 +vt 0.895954 0.713710 +vt 0.907514 0.721774 +vt 0.884393 0.709677 +vt 0.872832 0.770161 +vt 0.872832 0.713710 +vt 0.861272 0.762097 +vt 0.849711 0.725806 +vt 0.861272 0.721774 +vt 0.895954 0.770161 +vt 0.849711 0.758065 +vt 0.838150 0.729839 +vt 0.780347 0.725806 +vt 0.768786 0.701613 +vt 0.780347 0.701613 +vt 0.780347 0.677419 +vt 0.768786 0.653226 +vt 0.780347 0.653226 +vt 0.780347 0.822581 +vt 0.768786 0.798387 +vt 0.780347 0.798387 +vt 0.780347 0.774194 +vt 0.768786 0.750000 +vt 0.780347 0.750000 +vt 0.768786 0.725806 +vt 0.768786 0.677419 +vt 0.780347 0.846774 +vt 0.768786 0.822581 +vt 0.768786 0.774194 +vt 0.725434 0.951613 +vt 0.736994 0.943548 +vt 0.734104 0.951613 +vt 0.745665 0.943548 +vt 0.742775 0.951613 +vt 0.751445 0.951613 +vt 0.763006 0.943548 +vt 0.760116 0.951613 +vt 0.699422 0.951613 +vt 0.710983 0.943548 +vt 0.708093 0.951613 +vt 0.716763 0.951613 +vt 0.000000 0.282258 +vt 0.000000 0.209677 +vt 0.000000 0.427419 +vt 0.000000 0.306452 +vt 0.000000 0.354839 +vt 0.000000 0.233871 +vt 0.000000 0.451613 +vt 0.000000 0.330645 +vt 0.000000 0.379032 +vt 0.000000 0.258065 +vt 0.000000 0.475806 +vt 0.000000 0.403226 +vt 0.346821 -0.000000 +vt 0.271676 0.193548 +vt 0.612717 1.000000 +vt 0.604046 1.000000 +vt 0.598266 1.000000 +vt 0.497110 1.000000 +vt 0.488439 1.000000 +vt 0.482659 1.000000 +vt 0.462428 1.000000 +vt -0.000000 0.919355 +vt 0.000000 0.967742 +vt 0.942197 0.056452 +vt 0.959538 0.108871 +vt 0.959538 0.181452 +vt 0.959538 0.229839 +vt 0.959538 0.133065 +vt 0.959538 0.157258 +vt 0.959538 0.205645 +vt 0.924855 0.250000 +vt 0.705202 0.709677 +vt 0.838150 0.564516 +vt 0.872832 0.625000 +vt 0.895954 0.625000 +vt 0.930636 0.608871 +vt 0.838150 0.608871 +vt 0.930636 0.673387 +vt 0.838150 0.673387 +vt 0.930636 0.709677 +vt 0.838150 0.709677 +vt 0.884393 0.854839 +vt 0.838150 0.854839 +vt 0.919075 0.854839 +vt 0.849711 0.822581 +vt 0.930636 0.818548 +vt 0.930636 0.754032 +vt 0.838150 0.754032 +vt 0.768786 0.846774 +vn -0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.8000 -0.6000 +vn 0.0000 -0.2425 0.9701 +vn 0.0000 0.7071 0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.5000 0.8660 0.0000 +vn 0.4903 0.8492 0.1961 +vn -0.0000 0.9806 0.1961 +vn -0.4903 0.8492 0.1961 +vn -0.8492 0.4903 0.1961 +vn -0.9806 -0.0000 0.1961 +vn -0.8492 -0.4903 0.1961 +vn -0.4903 -0.8492 0.1961 +vn -0.0000 -0.9806 0.1961 +vn 0.4903 -0.8492 0.1961 +vn 0.8492 -0.4903 0.1961 +vn 0.9806 -0.0000 0.1961 +vn 0.8492 0.4903 0.1961 +vn 0.6124 0.3536 -0.7071 +vn 0.3536 0.6124 -0.7071 +vn 0.0000 0.7071 -0.7071 +vn -0.3536 0.6124 -0.7071 +vn -0.6124 0.3536 -0.7071 +vn -0.7071 0.0000 -0.7071 +vn -0.6124 -0.3536 -0.7071 +vn -0.3536 -0.6124 -0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.3536 -0.6124 -0.7071 +vn 0.6124 -0.3536 -0.7071 +vn 0.7071 -0.0000 -0.7071 +vn -0.8660 -0.5000 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.8660 0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.6794 -0.1448 -0.7194 +vn 0.7263 0.1363 0.6737 +vn -0.7263 0.1363 0.6737 +vn -0.6794 -0.1448 -0.7194 +vn 0.0000 -0.1866 -0.9824 +vn 0.9987 -0.0196 -0.0473 +vn 0.0000 0.2049 0.9788 +vn -0.9987 -0.0196 -0.0473 +vn -0.9955 -0.0671 -0.0671 +vn 0.9955 -0.0671 -0.0671 +vn 0.6630 -0.5294 -0.5294 +vn 0.7574 0.4617 0.4617 +vn -0.7574 0.4617 0.4617 +vn -0.6630 -0.5294 -0.5294 +vn -0.0000 -0.9824 -0.1866 +vn 0.9987 -0.0473 -0.0196 +vn -0.7263 0.6737 0.1363 +vn -0.0000 0.9788 0.2049 +vn -0.9987 -0.0473 -0.0196 +vn 0.6794 -0.7194 -0.1448 +vn 0.7263 0.6737 0.1363 +vn -0.6794 -0.7194 -0.1448 +vn 0.7263 0.6737 -0.1363 +vn -0.7263 0.6737 -0.1363 +vn -0.6794 -0.7194 0.1448 +vn -0.0000 -0.9824 0.1866 +vn 0.9987 -0.0473 0.0196 +vn 0.0000 0.9788 -0.2049 +vn -0.9987 -0.0473 0.0196 +vn 0.6794 -0.7194 0.1448 +vn 0.9955 -0.0671 0.0671 +vn 0.6630 -0.5294 0.5293 +vn 0.7574 0.4617 -0.4617 +vn -0.7574 0.4617 -0.4617 +vn -0.6630 -0.5294 0.5293 +vn -0.9955 -0.0671 0.0671 +vn 0.7263 0.1363 -0.6737 +vn 0.9987 -0.0196 0.0473 +vn -0.7263 0.1363 -0.6737 +vn 0.0000 0.2049 -0.9788 +vn -0.6794 -0.1448 0.7194 +vn -0.9987 -0.0196 0.0473 +vn 0.6794 -0.1448 0.7194 +vn 0.0000 -0.1866 0.9824 +vn -0.9701 0.2425 -0.0000 +vn -0.6860 0.2425 0.6860 +vn 0.9701 0.2425 -0.0000 +vn 0.6860 0.2425 0.6860 +vn 0.0000 0.2425 -0.9701 +vn 0.6860 0.2425 -0.6860 +vn -0.6860 0.2425 -0.6860 +vn 0.0000 0.2425 0.9701 +vn 0.6088 -0.7934 0.0000 +vn -0.2588 0.9659 0.0000 +vn 0.9659 0.2588 0.0000 +vn -0.9914 0.1305 0.0000 +vn 0.9914 0.1305 0.0000 +vn -0.9659 0.2588 0.0000 +vn 0.2588 0.9659 0.0000 +vn -0.6088 -0.7934 0.0000 +vn -0.5000 -0.5000 0.7071 +vn -0.5000 0.5000 0.7071 +vn 0.5000 0.5000 0.7071 +vn 0.5000 -0.5000 0.7071 +vn 0.2588 -0.9659 0.0000 +vn -0.9987 0.0196 -0.0473 +vn 0.9987 0.0196 -0.0473 +vn 0.6794 0.1448 -0.7194 +vn -0.7263 -0.1363 0.6737 +vn 0.7263 -0.1363 0.6737 +vn -0.6794 0.1448 -0.7194 +vn 0.0000 0.9824 -0.1866 +vn -0.6794 0.7194 -0.1448 +vn 0.9987 0.0473 -0.0196 +vn 0.6794 0.7194 -0.1448 +vn -0.0000 -0.9788 0.2049 +vn 0.7263 -0.6737 0.1363 +vn -0.7263 -0.6737 0.1363 +vn -0.9987 0.0473 -0.0196 +vn 0.7574 -0.4617 0.4617 +vn 0.9955 0.0671 -0.0671 +vn 0.6630 0.5294 -0.5294 +vn -0.6630 0.5294 -0.5294 +vn -0.7574 -0.4617 0.4617 +vn -0.9955 0.0671 -0.0671 +vn 0.0000 -0.2049 0.9788 +vn 0.0000 0.1866 -0.9824 +vn 0.5000 0.7071 -0.5000 +vn -0.5000 0.7071 -0.5000 +vn -0.5000 0.7071 0.5000 +vn 0.5000 0.7071 0.5000 +s off +f 151/238/111 186/239/111 162/240/111 +f 153/241/111 176/242/111 152/243/111 +f 159/244/111 184/245/111 183/246/111 +f 157/247/111 180/248/111 156/249/111 +f 154/250/111 177/251/111 153/252/111 +f 161/253/111 184/254/111 160/255/111 +f 157/256/111 182/257/111 181/258/111 +f 155/259/111 178/260/111 154/261/111 +f 162/262/111 185/263/111 161/264/111 +f 152/265/111 175/266/111 151/267/111 +f 159/268/111 182/269/111 158/270/111 +f 155/271/111 180/272/111 179/273/111 +f 203/274/111 205/275/111 207/276/111 +f 221/277/111 198/278/111 197/279/111 +f 222/280/111 187/281/111 198/282/111 +f 187/283/111 212/284/111 188/285/111 +f 188/286/111 213/287/111 189/288/111 +f 213/287/111 190/289/111 189/290/111 +f 190/291/111 215/292/111 191/293/111 +f 215/292/111 192/294/111 191/295/111 +f 192/296/111 217/297/111 193/298/111 +f 217/299/111 194/300/111 193/301/111 +f 218/302/111 195/303/111 194/304/111 +f 219/305/111 196/306/111 195/307/111 +f 220/308/111 197/309/111 196/310/111 +f 233/311/112 246/312/112 234/313/112 +f 234/313/112 235/314/112 223/315/112 +f 235/316/112 224/317/112 223/315/112 +f 236/318/112 225/319/112 224/317/112 +f 225/319/112 238/320/112 226/321/112 +f 238/322/112 227/323/112 226/321/112 +f 227/323/112 240/324/112 228/325/112 +f 240/326/112 229/327/112 228/325/112 +f 241/328/112 230/329/112 229/330/112 +f 242/331/112 231/332/112 230/329/112 +f 231/332/112 244/333/112 232/334/112 +f 232/334/112 245/335/112 233/311/112 +f 248/336/111 261/337/111 249/338/111 +f 256/339/111 267/340/111 268/341/111 +f 252/342/111 265/343/111 253/344/111 +f 250/345/111 261/337/111 262/346/111 +f 257/347/111 268/341/111 269/348/111 +f 253/349/111 266/350/111 254/351/111 +f 250/352/111 263/353/111 251/354/111 +f 258/355/111 269/348/111 270/356/111 +f 247/357/111 260/358/111 248/359/111 +f 254/360/111 267/340/111 255/361/111 +f 252/362/111 263/353/111 264/363/111 +f 247/364/111 270/356/111 259/365/111 +f 286/366/113 294/367/113 283/368/113 +f 290/369/114 296/370/114 285/371/114 +f 288/372/115 298/373/115 289/374/115 +f 288/375/111 290/376/111 286/366/111 +f 296/377/112 298/378/112 292/379/112 +f 296/370/116 286/366/116 285/371/116 +f 284/380/117 294/367/117 293/381/117 +f 298/373/118 290/369/118 289/374/118 +f 288/382/119 292/383/119 291/384/119 +f 284/380/120 292/383/120 287/385/120 +f 309/386/115 318/387/115 310/388/115 +f 307/389/115 316/390/115 308/391/115 +f 314/392/115 315/393/115 307/389/115 +f 313/394/115 320/395/115 321/396/115 +f 311/397/115 318/398/115 319/399/115 +f 309/386/115 316/400/115 317/401/115 +f 313/394/115 322/402/115 314/392/115 +f 312/403/115 319/404/115 320/405/115 +f 378/406/115 385/407/115 386/408/115 +f 375/409/115 384/410/115 376/411/115 +f 374/412/115 381/413/115 382/414/115 +f 372/415/115 379/416/115 380/417/115 +f 355/418/115 386/408/115 379/416/115 +f 376/419/115 385/407/115 377/420/115 +f 374/421/115 383/422/115 375/423/115 +f 372/424/115 381/413/115 373/425/115 +f 395/426/113 400/427/113 396/428/113 +f 398/429/120 399/430/120 395/431/120 +f 401/432/115 398/429/115 397/433/115 +f 396/428/114 401/432/114 397/433/114 +f 420/434/113 414/435/113 416/436/113 +f 419/437/112 424/438/112 420/439/112 +f 401/432/114 400/427/114 405/440/114 +f 400/441/114 410/442/114 405/443/114 +f 399/430/120 402/444/120 404/445/120 +f 401/432/121 404/446/121 402/444/121 +f 405/443/111 409/447/111 404/446/111 +f 404/446/120 407/448/120 399/449/120 +f 399/450/112 408/451/112 400/441/112 +f 406/452/120 415/453/120 411/454/120 +f 403/455/111 413/456/111 406/457/111 +f 411/454/112 416/436/112 412/458/112 +f 412/458/114 414/435/114 403/455/114 +f 419/459/113 416/436/113 415/453/113 +f 417/460/113 415/453/113 413/461/113 +f 418/462/113 413/456/113 414/435/113 +f 423/463/122 421/464/122 422/465/122 +f 418/466/111 422/467/111 417/468/111 +f 418/466/114 424/438/114 423/469/114 +f 417/470/120 421/464/120 419/437/120 +f 447/471/115 441/472/115 444/473/115 +f 431/474/113 428/475/113 427/476/113 +f 432/477/114 443/478/114 428/475/114 +f 435/479/112 434/480/112 433/481/112 +f 439/482/123 437/483/123 438/484/123 +f 435/479/113 440/485/113 436/486/113 +f 434/480/115 438/487/115 433/481/115 +f 436/486/114 439/488/114 434/480/114 +f 435/479/120 438/489/120 437/490/120 +f 448/491/118 444/473/118 443/478/118 +f 442/492/119 446/493/119 445/494/119 +f 445/494/120 427/495/120 442/492/120 +f 455/496/112 466/497/112 454/498/112 +f 456/499/112 467/500/112 455/501/112 +f 430/502/112 468/503/112 456/504/112 +f 429/505/112 457/506/112 430/507/112 +f 426/508/112 458/509/112 429/510/112 +f 425/511/112 459/512/112 426/513/112 +f 425/514/112 461/515/112 460/516/112 +f 449/517/112 462/518/112 461/515/112 +f 450/519/112 463/520/112 462/518/112 +f 452/521/112 463/522/112 451/523/112 +f 452/524/112 465/525/112 464/526/112 +f 454/527/112 465/525/112 453/528/112 +f 490/529/111 479/530/111 478/531/111 +f 491/532/111 480/533/111 479/534/111 +f 492/535/111 477/536/111 480/537/111 +f 482/538/111 476/539/111 477/540/111 +f 481/541/111 475/542/111 476/543/111 +f 483/544/111 474/545/111 475/546/111 +f 474/547/111 485/548/111 473/549/111 +f 473/550/111 486/551/111 472/552/111 +f 472/553/111 487/554/111 471/555/111 +f 487/556/111 470/557/111 471/558/111 +f 470/559/111 489/560/111 469/561/111 +f 489/560/111 478/562/111 469/563/111 +f 512/564/113 506/565/113 502/566/113 +f 515/567/114 505/568/114 506/565/114 +f 495/569/112 497/570/112 496/571/112 +f 493/572/113 498/573/113 495/569/113 +f 496/574/115 499/575/115 494/576/115 +f 510/577/111 517/578/111 511/579/111 +f 514/580/121 499/581/121 515/582/121 +f 498/583/120 501/584/120 497/585/120 +f 504/586/113 520/587/113 507/588/113 +f 502/566/112 505/568/112 501/584/112 +f 499/575/111 493/572/111 494/576/111 +f 521/589/115 523/590/115 519/591/115 +f 516/592/124 500/593/124 517/578/124 +f 511/579/120 499/594/120 510/577/120 +f 497/585/120 509/595/120 499/596/120 +f 512/597/120 498/583/120 500/598/120 +f 501/599/115 515/582/115 509/600/115 +f 508/601/115 519/591/115 503/602/115 +f 503/602/120 518/603/120 504/586/120 +f 507/588/114 521/604/114 508/605/114 +f 521/606/115 527/607/115 523/608/115 +f 523/608/125 518/603/125 519/591/125 +f 518/603/113 522/609/113 520/587/113 +f 524/610/126 527/607/126 525/611/126 +f 520/612/113 526/613/113 524/614/113 +f 520/612/112 525/615/112 521/616/112 +f 523/608/111 526/613/111 522/617/111 +f 557/618/112 589/619/112 588/620/112 +f 574/621/111 576/622/111 578/623/111 +f 587/624/112 580/625/112 583/626/112 +f 581/627/111 586/628/111 582/629/111 +f 586/628/118 583/626/118 582/629/118 +f 561/630/112 594/631/112 562/632/112 +f 563/633/112 589/619/112 556/634/112 +f 584/635/117 581/636/117 580/625/117 +f 559/637/112 592/638/112 560/639/112 +f 558/640/112 588/620/112 590/641/112 +f 563/633/112 594/631/112 595/642/112 +f 560/643/112 593/644/112 561/630/112 +f 558/640/112 591/645/112 559/637/112 +f 600/646/112 599/647/112 598/648/112 +f 622/649/112 635/650/112 634/651/112 +f 623/652/112 634/651/112 633/653/112 +f 624/654/112 633/653/112 632/655/112 +f 625/656/112 632/655/112 631/657/112 +f 626/658/112 631/657/112 630/659/112 +f 627/660/112 630/659/112 629/661/112 +f 616/662/112 629/661/112 628/663/112 +f 638/664/112 651/665/112 617/666/112 +f 652/667/127 683/668/127 695/669/127 +f 604/670/111 641/671/111 615/672/111 +f 682/673/112 664/674/112 668/675/112 +f 615/676/111 642/677/111 614/678/111 +f 694/679/111 652/667/111 695/680/111 +f 693/681/111 656/682/111 694/683/111 +f 692/684/111 657/685/111 693/686/111 +f 614/687/111 643/688/111 613/689/111 +f 691/690/111 658/691/111 692/692/111 +f 690/693/111 659/694/111 691/695/111 +f 613/696/111 644/697/111 612/698/111 +f 689/699/111 660/700/111 690/701/111 +f 688/702/111 661/703/111 689/704/111 +f 696/705/111 662/706/111 688/707/111 +f 612/708/111 645/709/111 611/710/111 +f 684/711/112 674/712/112 675/713/112 +f 611/714/111 646/715/111 610/716/111 +f 610/717/111 647/718/111 609/719/111 +f 676/720/112 673/721/112 674/712/112 +f 609/722/111 648/723/111 608/724/111 +f 621/725/112 636/726/112 635/650/112 +f 648/723/127 620/727/127 608/728/127 +f 677/729/112 672/730/112 673/721/112 +f 678/731/112 671/732/112 672/730/112 +f 679/733/112 670/734/112 671/732/112 +f 686/735/111 697/736/111 654/737/111 +f 680/738/112 669/739/112 670/734/112 +f 681/740/112 668/675/112 669/739/112 +f 707/741/114 701/742/114 703/743/114 +f 704/744/120 702/745/120 700/746/120 +f 706/747/112 703/743/112 702/745/112 +f 705/748/111 700/749/111 701/742/111 +f 774/750/112 772/751/112 778/752/112 +f 789/753/113 790/754/113 788/755/113 +f 797/756/113 798/757/113 796/758/113 +f 789/759/114 795/760/114 791/761/114 +f 790/754/120 792/762/120 788/763/120 +f 791/761/112 794/764/112 790/754/112 +f 788/765/111 793/766/111 789/759/111 +f 797/767/114 803/768/114 799/769/114 +f 798/757/120 800/770/120 796/771/120 +f 799/769/112 802/772/112 798/757/112 +f 796/773/111 801/774/111 797/767/111 +f 818/775/113 816/776/113 817/777/113 +f 810/778/113 808/779/113 809/780/113 +f 807/781/114 810/782/114 805/783/114 +f 804/784/120 808/779/120 806/785/120 +f 806/785/112 811/786/112 807/781/112 +f 805/783/111 809/787/111 804/788/111 +f 815/789/114 818/790/114 813/791/114 +f 812/792/120 816/776/120 814/793/120 +f 814/793/112 819/794/112 815/789/112 +f 813/791/111 817/795/111 812/796/111 +f 830/797/112 841/798/112 829/799/112 +f 831/800/112 842/801/112 830/802/112 +f 823/803/112 843/804/112 831/805/112 +f 822/806/112 832/807/112 823/808/112 +f 821/809/112 833/810/112 822/811/112 +f 820/812/112 834/813/112 821/814/112 +f 820/815/112 836/816/112 835/817/112 +f 824/818/112 837/819/112 836/816/112 +f 825/820/112 838/821/112 837/819/112 +f 827/822/112 838/823/112 826/824/112 +f 827/825/112 840/826/112 839/827/112 +f 829/828/112 840/826/112 828/829/112 +f 865/830/111 854/831/111 853/832/111 +f 866/833/111 855/834/111 854/835/111 +f 867/836/111 852/837/111 855/838/111 +f 857/839/111 851/840/111 852/841/111 +f 856/842/111 850/843/111 851/844/111 +f 858/845/111 849/846/111 850/847/111 +f 849/848/111 860/849/111 848/850/111 +f 848/851/111 861/852/111 847/853/111 +f 847/854/111 862/855/111 846/856/111 +f 862/857/111 845/858/111 846/859/111 +f 845/860/111 864/861/111 844/862/111 +f 864/861/111 853/863/111 844/864/111 +f 151/238/111 175/865/111 186/239/111 +f 153/241/111 177/866/111 176/242/111 +f 159/244/111 160/867/111 184/245/111 +f 157/247/111 181/868/111 180/248/111 +f 154/250/111 178/869/111 177/251/111 +f 161/253/111 185/870/111 184/254/111 +f 157/256/111 158/871/111 182/257/111 +f 155/259/111 179/872/111 178/260/111 +f 162/262/111 186/873/111 185/263/111 +f 152/265/111 176/874/111 175/266/111 +f 159/268/111 183/875/111 182/269/111 +f 155/271/111 156/876/111 180/272/111 +f 199/877/111 200/878/111 201/879/111 +f 201/879/111 202/880/111 203/274/111 +f 203/274/111 204/881/111 205/275/111 +f 205/275/111 206/882/111 207/276/111 +f 207/276/111 208/883/111 209/884/111 +f 209/884/111 210/885/111 207/276/111 +f 210/885/111 199/877/111 207/276/111 +f 199/877/111 201/879/111 207/276/111 +f 201/879/111 203/274/111 207/276/111 +f 221/277/111 222/280/111 198/278/111 +f 222/280/111 211/886/111 187/281/111 +f 187/283/111 211/886/111 212/284/111 +f 188/286/111 212/284/111 213/287/111 +f 213/287/111 214/887/111 190/289/111 +f 190/291/111 214/887/111 215/292/111 +f 215/292/111 216/888/111 192/294/111 +f 192/296/111 216/888/111 217/297/111 +f 217/299/111 218/302/111 194/300/111 +f 218/302/111 219/305/111 195/303/111 +f 219/305/111 220/308/111 196/306/111 +f 220/308/111 221/277/111 197/309/111 +f 233/311/112 245/889/112 246/312/112 +f 234/313/112 246/890/112 235/314/112 +f 235/316/112 236/891/112 224/317/112 +f 236/318/112 237/892/112 225/319/112 +f 225/319/112 237/893/112 238/320/112 +f 238/322/112 239/894/112 227/323/112 +f 227/323/112 239/895/112 240/324/112 +f 240/326/112 241/896/112 229/327/112 +f 241/328/112 242/897/112 230/329/112 +f 242/331/112 243/898/112 231/332/112 +f 231/332/112 243/899/112 244/333/112 +f 232/334/112 244/900/112 245/335/112 +f 248/336/111 260/358/111 261/337/111 +f 256/339/111 255/901/111 267/340/111 +f 252/342/111 264/363/111 265/343/111 +f 250/345/111 249/902/111 261/337/111 +f 257/347/111 256/903/111 268/341/111 +f 253/349/111 265/904/111 266/350/111 +f 250/352/111 262/346/111 263/353/111 +f 258/355/111 257/905/111 269/348/111 +f 247/357/111 259/365/111 260/358/111 +f 254/360/111 266/350/111 267/340/111 +f 252/362/111 251/906/111 263/353/111 +f 247/364/111 258/907/111 270/356/111 +f 286/366/113 295/908/113 294/367/113 +f 290/369/114 297/909/114 296/370/114 +f 288/372/115 291/910/115 298/373/115 +f 286/366/111 283/368/111 284/911/111 +f 284/911/111 287/912/111 288/375/111 +f 288/375/111 289/913/111 290/376/111 +f 290/376/111 285/914/111 286/366/111 +f 286/366/111 284/911/111 288/375/111 +f 292/379/112 293/915/112 294/367/112 +f 294/367/112 295/908/112 296/377/112 +f 296/377/112 297/916/112 298/378/112 +f 298/378/112 291/917/112 292/379/112 +f 292/379/112 294/367/112 296/377/112 +f 296/370/116 295/908/116 286/366/116 +f 284/380/117 283/368/117 294/367/117 +f 298/373/118 297/909/118 290/369/118 +f 288/382/119 287/385/119 292/383/119 +f 284/380/120 293/381/120 292/383/120 +f 309/386/115 317/918/115 318/387/115 +f 307/389/115 315/919/115 316/390/115 +f 314/392/115 322/920/115 315/393/115 +f 313/394/115 312/403/115 320/395/115 +f 311/397/115 310/388/115 318/398/115 +f 309/386/115 308/391/115 316/400/115 +f 313/394/115 321/921/115 322/402/115 +f 312/403/115 311/922/115 319/404/115 +f 378/406/115 377/923/115 385/407/115 +f 375/409/115 383/924/115 384/410/115 +f 374/412/115 373/925/115 381/413/115 +f 372/415/115 355/926/115 379/416/115 +f 355/418/115 378/927/115 386/408/115 +f 376/419/115 384/410/115 385/407/115 +f 374/421/115 382/414/115 383/422/115 +f 372/424/115 380/417/115 381/413/115 +f 395/426/113 399/928/113 400/427/113 +f 398/429/120 402/444/120 399/430/120 +f 401/432/115 402/444/115 398/429/115 +f 396/428/114 400/427/114 401/432/114 +f 420/434/113 418/929/113 414/435/113 +f 419/437/112 421/464/112 424/438/112 +f 400/441/114 408/451/114 410/442/114 +f 401/432/121 405/443/121 404/446/121 +f 405/443/111 410/442/111 409/447/111 +f 404/446/120 409/447/120 407/448/120 +f 399/450/112 407/930/112 408/451/112 +f 406/452/120 413/461/120 415/453/120 +f 403/455/111 414/435/111 413/456/111 +f 411/454/112 415/453/112 416/436/112 +f 412/458/114 416/436/114 414/435/114 +f 419/459/113 420/931/113 416/436/113 +f 417/460/113 419/932/113 415/453/113 +f 418/462/113 417/933/113 413/456/113 +f 423/463/122 424/438/122 421/464/122 +f 418/466/111 423/469/111 422/467/111 +f 418/466/114 420/439/114 424/438/114 +f 417/470/120 422/934/120 421/464/120 +f 447/471/115 446/493/115 441/472/115 +f 431/474/113 432/477/113 428/475/113 +f 432/477/114 448/491/114 443/478/114 +f 435/479/112 436/486/112 434/480/112 +f 439/482/123 440/485/123 437/483/123 +f 435/479/113 437/483/113 440/485/113 +f 434/480/115 439/935/115 438/487/115 +f 436/486/114 440/936/114 439/488/114 +f 435/479/120 433/481/120 438/489/120 +f 448/491/118 447/471/118 444/473/118 +f 442/492/119 441/472/119 446/493/119 +f 445/494/120 431/937/120 427/495/120 +f 455/496/112 467/500/112 466/497/112 +f 456/499/112 468/503/112 467/500/112 +f 430/502/112 457/506/112 468/503/112 +f 429/505/112 458/509/112 457/506/112 +f 426/508/112 459/512/112 458/509/112 +f 425/511/112 460/516/112 459/512/112 +f 425/514/112 449/938/112 461/515/112 +f 449/517/112 450/939/112 462/518/112 +f 450/519/112 451/940/112 463/520/112 +f 452/521/112 464/526/112 463/522/112 +f 452/524/112 453/941/112 465/525/112 +f 454/527/112 466/497/112 465/525/112 +f 490/529/111 491/532/111 479/530/111 +f 491/532/111 492/535/111 480/533/111 +f 492/535/111 482/538/111 477/536/111 +f 482/538/111 481/541/111 476/539/111 +f 481/541/111 483/544/111 475/542/111 +f 483/544/111 484/942/111 474/545/111 +f 474/547/111 484/942/111 485/548/111 +f 473/550/111 485/548/111 486/551/111 +f 472/553/111 486/551/111 487/554/111 +f 487/556/111 488/943/111 470/557/111 +f 470/559/111 488/943/111 489/560/111 +f 489/560/111 490/529/111 478/562/111 +f 512/564/113 516/592/113 506/565/113 +f 506/565/114 516/944/114 515/567/114 +f 516/944/114 517/945/114 515/567/114 +f 517/945/114 514/946/114 515/567/114 +f 495/569/112 498/573/112 497/570/112 +f 493/572/113 500/947/113 498/573/113 +f 496/574/115 497/948/115 499/575/115 +f 510/577/111 514/580/111 517/578/111 +f 510/577/121 499/581/121 514/580/121 +f 499/581/121 509/600/121 515/582/121 +f 498/583/120 502/566/120 501/584/120 +f 504/586/113 518/603/113 520/587/113 +f 502/566/112 506/565/112 505/568/112 +f 499/575/111 500/947/111 493/572/111 +f 512/564/124 500/593/124 516/592/124 +f 500/593/124 511/579/124 517/578/124 +f 511/579/120 500/949/120 499/594/120 +f 497/585/120 501/584/120 509/595/120 +f 512/597/120 502/566/120 498/583/120 +f 501/599/115 505/950/115 515/582/115 +f 508/601/115 521/589/115 519/591/115 +f 503/602/120 519/591/120 518/603/120 +f 507/588/114 520/587/114 521/604/114 +f 521/606/115 525/951/115 527/607/115 +f 523/608/125 522/617/125 518/603/125 +f 524/610/126 526/613/126 527/607/126 +f 520/612/113 522/617/113 526/613/113 +f 520/612/112 524/614/112 525/615/112 +f 523/608/111 527/607/111 526/613/111 +f 557/618/112 556/634/112 589/619/112 +f 573/952/111 572/953/111 574/621/111 +f 574/621/111 575/954/111 576/622/111 +f 576/622/111 577/955/111 578/623/111 +f 578/623/111 579/956/111 573/952/111 +f 573/952/111 574/621/111 578/623/111 +f 587/624/112 584/635/112 580/625/112 +f 581/627/111 585/957/111 586/628/111 +f 586/628/118 587/624/118 583/626/118 +f 561/630/112 593/644/112 594/631/112 +f 563/633/112 595/642/112 589/619/112 +f 584/635/117 585/958/117 581/636/117 +f 559/637/112 591/645/112 592/638/112 +f 558/640/112 557/618/112 588/620/112 +f 563/633/112 562/632/112 594/631/112 +f 560/643/112 592/959/112 593/644/112 +f 558/640/112 590/641/112 591/645/112 +f 598/648/112 596/960/112 597/961/112 +f 597/961/112 603/962/112 598/648/112 +f 603/962/112 602/963/112 598/648/112 +f 602/963/112 601/964/112 598/648/112 +f 601/964/112 600/646/112 598/648/112 +f 622/649/112 621/965/112 635/650/112 +f 623/652/112 622/966/112 634/651/112 +f 624/654/112 623/967/112 633/653/112 +f 625/656/112 624/968/112 632/655/112 +f 626/658/112 625/969/112 631/657/112 +f 627/660/112 626/970/112 630/659/112 +f 616/662/112 627/971/112 629/661/112 +f 617/666/112 618/972/112 638/664/112 +f 618/972/112 619/973/112 638/664/112 +f 619/973/112 637/974/112 638/664/112 +f 638/664/112 639/975/112 649/976/112 +f 649/976/112 650/977/112 651/665/112 +f 651/665/112 607/978/112 606/979/112 +f 606/979/112 605/980/112 651/665/112 +f 605/980/112 617/666/112 651/665/112 +f 638/664/112 649/976/112 651/665/112 +f 652/667/127 664/674/127 683/668/127 +f 604/670/111 640/981/111 641/671/111 +f 682/673/112 683/982/112 664/674/112 +f 615/676/111 641/671/111 642/677/111 +f 694/679/111 656/682/111 652/667/111 +f 693/681/111 657/685/111 656/682/111 +f 692/684/111 658/691/111 657/685/111 +f 614/687/111 642/677/111 643/688/111 +f 691/690/111 659/694/111 658/691/111 +f 690/693/111 660/700/111 659/694/111 +f 613/696/111 643/688/111 644/697/111 +f 689/699/111 661/703/111 660/700/111 +f 688/702/111 662/706/111 661/703/111 +f 696/705/111 663/983/111 662/706/111 +f 612/708/111 644/697/111 645/709/111 +f 684/711/112 676/984/112 674/712/112 +f 611/714/111 645/709/111 646/715/111 +f 610/717/111 646/715/111 647/718/111 +f 676/720/112 677/985/112 673/721/112 +f 609/722/111 647/718/111 648/723/111 +f 621/725/112 620/986/112 636/726/112 +f 648/723/127 636/726/127 620/727/127 +f 677/729/112 678/987/112 672/730/112 +f 678/731/112 679/988/112 671/732/112 +f 679/733/112 680/989/112 670/734/112 +f 697/736/111 698/990/111 654/737/111 +f 698/990/111 699/991/111 654/737/111 +f 699/991/111 653/992/111 654/737/111 +f 654/737/111 655/993/111 665/994/111 +f 665/994/111 666/995/111 667/996/111 +f 667/996/111 685/997/111 686/735/111 +f 686/735/111 687/998/111 697/736/111 +f 654/737/111 665/994/111 667/996/111 +f 667/996/111 686/735/111 654/737/111 +f 680/738/112 681/999/112 669/739/112 +f 681/740/112 682/1000/112 668/675/112 +f 707/741/114 705/748/114 701/742/114 +f 704/744/120 706/747/120 702/745/120 +f 706/747/112 707/741/112 703/743/112 +f 705/748/111 704/1001/111 700/749/111 +f 774/750/112 773/1002/112 772/751/112 +f 772/751/112 779/1003/112 778/752/112 +f 778/752/112 777/1004/112 776/1005/112 +f 776/1005/112 775/1006/112 778/752/112 +f 775/1006/112 774/750/112 778/752/112 +f 789/753/113 791/761/113 790/754/113 +f 797/756/113 799/769/113 798/757/113 +f 789/759/114 793/766/114 795/760/114 +f 790/754/120 794/764/120 792/762/120 +f 791/761/112 795/760/112 794/764/112 +f 788/765/111 792/1007/111 793/766/111 +f 797/767/114 801/774/114 803/768/114 +f 798/757/120 802/772/120 800/770/120 +f 799/769/112 803/768/112 802/772/112 +f 796/773/111 800/1008/111 801/774/111 +f 818/775/113 819/794/113 816/776/113 +f 810/778/113 811/786/113 808/779/113 +f 807/781/114 811/786/114 810/782/114 +f 804/784/120 809/1009/120 808/779/120 +f 806/785/112 808/779/112 811/786/112 +f 805/783/111 810/782/111 809/787/111 +f 815/789/114 819/794/114 818/790/114 +f 812/792/120 817/1010/120 816/776/120 +f 814/793/112 816/776/112 819/794/112 +f 813/791/111 818/790/111 817/795/111 +f 830/797/112 842/801/112 841/798/112 +f 831/800/112 843/804/112 842/801/112 +f 823/803/112 832/807/112 843/804/112 +f 822/806/112 833/810/112 832/807/112 +f 821/809/112 834/813/112 833/810/112 +f 820/812/112 835/817/112 834/813/112 +f 820/815/112 824/1011/112 836/816/112 +f 824/818/112 825/1012/112 837/819/112 +f 825/820/112 826/1013/112 838/821/112 +f 827/822/112 839/827/112 838/823/112 +f 827/825/112 828/1014/112 840/826/112 +f 829/828/112 841/798/112 840/826/112 +f 865/830/111 866/833/111 854/831/111 +f 866/833/111 867/836/111 855/834/111 +f 867/836/111 857/839/111 852/837/111 +f 857/839/111 856/842/111 851/840/111 +f 856/842/111 858/845/111 850/843/111 +f 858/845/111 859/1015/111 849/846/111 +f 849/848/111 859/1015/111 860/849/111 +f 848/851/111 860/849/111 861/852/111 +f 847/854/111 861/852/111 862/855/111 +f 862/857/111 863/1016/111 845/858/111 +f 845/860/111 863/1016/111 864/861/111 +f 864/861/111 865/830/111 853/863/111 +s 1 +f 174/1017/128 151/238/129 162/240/128 +f 163/1018/129 152/265/130 151/267/129 +f 164/1019/130 153/241/131 152/243/130 +f 165/1020/131 154/250/132 153/252/131 +f 166/1021/132 155/259/133 154/261/132 +f 155/271/133 168/1022/134 156/876/134 +f 156/249/134 169/1023/135 157/247/135 +f 169/1024/135 158/871/136 157/256/135 +f 170/1025/136 159/268/137 158/270/136 +f 171/1026/137 160/867/138 159/244/137 +f 160/255/138 173/1027/139 161/253/139 +f 161/264/139 174/1017/128 162/262/128 +f 173/1027/140 198/278/141 174/1017/141 +f 198/282/141 163/1018/142 174/1017/141 +f 163/1018/142 188/285/143 164/1019/143 +f 188/286/143 165/1020/144 164/1019/143 +f 189/290/144 166/1021/145 165/1020/144 +f 166/1021/145 191/293/146 167/1028/146 +f 191/295/146 168/1022/147 167/1028/146 +f 192/296/147 169/1023/148 168/1022/147 +f 169/1024/148 194/300/149 170/1025/149 +f 194/304/149 171/1026/150 170/1025/149 +f 171/1026/150 196/306/151 172/1029/151 +f 172/1029/151 197/309/140 173/1027/140 +f 185/870/152 208/1030/120 184/254/120 +f 182/257/153 205/1031/113 181/258/113 +f 179/872/154 202/1032/114 178/260/114 +f 186/873/155 209/1033/152 185/263/152 +f 176/874/156 199/1034/115 175/266/115 +f 183/875/157 206/1035/153 182/269/153 +f 180/272/127 203/1036/154 179/273/154 +f 175/865/115 210/1037/155 186/239/155 +f 177/866/158 200/1038/156 176/242/156 +f 184/245/120 207/1039/157 183/246/157 +f 181/868/113 204/1040/127 180/248/127 +f 178/869/114 201/1041/158 177/251/158 +f 216/888/155 229/327/115 217/297/115 +f 213/287/157 226/321/120 214/887/120 +f 220/308/114 233/311/154 221/277/154 +f 217/299/115 230/329/156 218/302/156 +f 214/887/120 227/323/152 215/292/152 +f 221/277/154 234/313/127 222/280/127 +f 211/886/113 224/317/153 212/284/153 +f 218/302/156 231/332/158 219/305/158 +f 215/292/152 228/325/155 216/888/155 +f 222/280/127 223/315/113 211/886/113 +f 212/284/153 225/319/157 213/287/157 +f 219/305/158 232/334/114 220/308/114 +f 243/1042/158 256/1043/114 244/1044/114 +f 240/1045/155 253/1046/115 241/1047/115 +f 237/1048/157 250/1049/120 238/1050/120 +f 244/1044/114 257/1051/154 245/1052/154 +f 241/1053/115 254/1054/156 242/1055/156 +f 238/1050/120 251/1056/152 239/1057/152 +f 245/1052/154 258/1058/127 246/1059/127 +f 235/1060/113 248/1061/153 236/1062/153 +f 242/1055/156 255/1063/158 243/1042/158 +f 239/1057/152 252/1064/155 240/1045/155 +f 246/1059/127 247/1065/113 235/1060/113 +f 236/1062/153 249/1066/157 237/1048/157 +f 270/356/127 271/1067/113 259/365/113 +f 260/358/153 273/1068/157 261/337/157 +f 267/340/158 280/1069/114 268/341/114 +f 264/363/155 277/1070/115 265/343/115 +f 261/337/157 274/1071/120 262/346/120 +f 268/341/114 281/1072/154 269/348/154 +f 265/904/115 278/1073/156 266/350/156 +f 262/346/120 275/1074/152 263/353/152 +f 269/348/154 282/1075/127 270/356/127 +f 259/365/113 272/1076/153 260/358/153 +f 266/350/156 279/1077/158 267/340/158 +f 263/353/152 276/1078/155 264/363/155 +f 313/394/114 306/1079/151 305/1080/114 +f 311/922/111 304/1081/126 303/1082/111 +f 309/386/120 302/1083/125 301/1084/120 +f 307/389/112 300/1085/145 299/1086/112 +f 314/392/151 299/1086/112 306/1079/151 +f 312/403/126 305/1080/114 304/1081/126 +f 310/388/125 303/1087/111 302/1083/125 +f 308/391/145 301/1084/120 300/1085/145 +f 321/1088/114 330/1089/159 322/1090/151 +f 319/1091/111 328/1092/160 320/1093/126 +f 317/1094/120 326/1095/161 318/1096/125 +f 315/1097/112 324/1098/162 316/1099/145 +f 322/1090/151 323/1100/163 315/1097/112 +f 320/1093/126 329/1101/164 321/1088/114 +f 318/1096/125 327/1102/165 319/1103/111 +f 316/1099/145 325/1104/166 317/1094/120 +f 326/1105/161 336/1106/124 327/1107/165 +f 324/1098/162 334/1108/167 325/1109/166 +f 330/1089/159 338/1110/168 339/1111/169 +f 328/1112/160 336/1113/124 337/1114/170 +f 326/1105/161 334/1108/167 335/1115/171 +f 324/1098/162 332/1116/148 333/1117/172 +f 323/1100/163 339/1111/169 332/1116/148 +f 328/1112/160 338/1110/168 329/1118/164 +f 339/1111/169 340/1119/173 332/1116/148 +f 337/1114/170 346/1120/174 338/1110/168 +f 336/1106/124 343/1121/175 344/1122/176 +f 333/1117/172 342/1123/177 334/1108/167 +f 338/1110/168 347/1124/178 339/1111/169 +f 336/1113/124 345/1125/179 337/1114/170 +f 335/1115/171 342/1123/177 343/1121/175 +f 332/1116/148 341/1126/180 333/1117/172 +f 344/1127/176 352/1128/181 345/1129/179 +f 342/1130/177 350/1131/182 343/1132/175 +f 340/1119/173 348/1133/183 341/1126/180 +f 347/1124/178 331/1134/184 340/1119/173 +f 345/1129/179 353/1135/185 346/1136/174 +f 343/1132/175 351/1137/186 344/1138/176 +f 341/1126/180 349/1139/187 342/1130/177 +f 346/1136/174 354/1140/188 347/1124/178 +f 354/1140/188 362/1141/189 363/1142/190 +f 352/1143/181 360/1144/142 361/1145/191 +f 349/1146/187 359/1147/192 350/1148/182 +f 348/1133/183 356/1149/121 357/1150/193 +f 354/1140/188 356/1149/121 331/1134/184 +f 353/1151/185 361/1145/191 362/1141/189 +f 351/1152/186 359/1147/192 360/1153/142 +f 348/1133/183 358/1154/194 349/1146/187 +f 362/1141/189 369/1155/195 370/1156/196 +f 360/1153/142 367/1157/197 368/1158/198 +f 358/1154/194 365/1159/199 366/1160/200 +f 362/1141/189 371/1161/201 363/1142/190 +f 360/1144/142 369/1155/195 361/1145/191 +f 358/1154/194 367/1157/197 359/1147/192 +f 357/1150/193 364/1162/202 365/1159/199 +f 363/1142/190 364/1162/202 356/1149/121 +f 365/1159/199 355/1163/111 372/1164/125 +f 371/1161/201 355/1163/111 364/1162/202 +f 370/1165/196 376/1166/151 377/1167/114 +f 368/1168/198 374/1169/145 375/1170/112 +f 366/1171/200 372/1164/125 373/1172/120 +f 370/1165/196 378/1173/126 371/1161/201 +f 368/1174/198 376/1166/151 369/1175/195 +f 366/1171/200 374/1169/145 367/1176/197 +f 381/413/203 388/1177/204 389/1178/203 +f 385/407/205 394/1179/206 386/408/206 +f 383/924/207 392/1180/208 384/410/208 +f 381/413/203 390/1181/209 382/414/209 +f 380/417/204 387/1182/210 388/1183/204 +f 386/408/206 387/1184/210 379/416/210 +f 385/407/205 392/1185/208 393/1186/205 +f 383/422/207 390/1187/209 391/1188/207 +f 466/497/114 489/560/158 465/525/158 +f 459/512/157 481/541/153 458/509/153 +f 467/500/154 490/529/114 466/497/114 +f 460/516/120 483/544/157 459/512/157 +f 468/503/127 491/532/154 467/500/154 +f 461/515/152 484/942/120 460/516/120 +f 457/506/113 492/535/127 468/503/127 +f 462/518/155 485/548/152 461/515/152 +f 463/520/115 486/551/155 462/518/155 +f 464/526/156 487/556/115 463/522/115 +f 465/525/158 488/943/156 464/526/156 +f 458/509/153 482/538/113 457/506/113 +f 533/1189/158 539/1190/211 532/1191/211 +f 530/1192/157 536/1193/212 529/1194/212 +f 534/1195/213 540/1196/158 533/1189/158 +f 531/1197/214 537/1198/157 530/1192/157 +f 529/1194/212 535/1199/127 528/1200/127 +f 528/1200/127 541/1201/213 534/1195/213 +f 547/1202/154 553/1203/215 546/1204/215 +f 544/1205/152 550/1206/216 543/1207/216 +f 548/1208/217 554/1209/154 547/1202/154 +f 545/1210/218 551/1211/152 544/1205/152 +f 543/1207/216 549/1212/153 542/1213/153 +f 542/1213/153 555/1214/217 548/1208/217 +f 567/1215/219 576/1216/121 575/1217/219 +f 557/618/117 565/1218/113 556/634/113 +f 556/634/113 571/1219/116 563/633/116 +f 562/632/114 569/1220/118 561/630/118 +f 560/639/115 567/1215/119 559/637/119 +f 558/640/120 564/1221/117 557/618/117 +f 563/633/116 570/1222/114 562/632/114 +f 561/630/118 568/1223/115 560/643/115 +f 559/637/119 566/1224/120 558/640/120 +f 566/1224/125 572/1225/220 564/1221/220 +f 571/1219/221 578/1226/126 570/1222/126 +f 569/1220/222 576/1227/121 568/1223/121 +f 566/1224/125 575/1228/219 574/1229/125 +f 564/1221/220 573/1230/124 565/1218/124 +f 565/1218/124 579/1231/221 571/1219/221 +f 570/1222/126 577/1232/222 569/1220/222 +f 593/644/117 602/1233/120 594/631/120 +f 591/645/116 600/1234/113 592/638/113 +f 588/620/118 598/1235/114 590/641/114 +f 594/631/120 603/1236/119 595/642/119 +f 592/959/113 601/1237/117 593/644/117 +f 590/641/114 599/1238/116 591/645/116 +f 589/619/115 596/1239/118 588/620/118 +f 595/642/119 597/1240/115 589/619/115 +f 610/1241/113 623/652/127 611/1242/127 +f 614/1243/158 627/660/156 615/1244/156 +f 611/1245/127 624/654/154 612/1246/154 +f 608/1247/117 621/725/153 609/1248/153 +f 615/1249/156 616/662/223 604/1250/223 +f 612/1251/154 625/656/114 613/1252/114 +f 609/1253/153 622/649/113 610/1254/113 +f 613/1255/114 626/658/158 614/1256/158 +f 635/650/156 646/715/115 634/651/115 +f 632/655/152 643/688/120 631/657/120 +f 629/661/153 640/981/212 628/663/212 +f 636/726/118 647/718/156 635/650/156 +f 633/653/155 644/697/152 632/655/152 +f 630/659/157 641/671/153 629/661/153 +f 634/651/115 645/709/155 633/653/155 +f 631/657/120 642/677/157 630/659/157 +f 672/730/120 661/703/157 673/721/157 +f 669/739/115 658/691/155 670/734/155 +f 673/721/157 662/706/153 674/712/153 +f 670/734/155 659/694/152 671/732/152 +f 664/674/118 656/682/156 668/675/156 +f 674/712/153 663/983/212 675/713/212 +f 671/732/152 660/700/120 672/730/120 +f 668/675/156 657/685/115 669/739/115 +f 690/1257/114 677/729/158 689/1258/158 +f 694/1259/153 681/740/113 693/1260/113 +f 691/1261/154 678/731/114 690/1262/114 +f 688/1263/156 684/711/223 696/1264/223 +f 695/1265/117 682/673/153 694/1266/153 +f 692/1267/127 679/733/154 691/1268/154 +f 689/1269/158 676/720/156 688/1270/156 +f 693/1271/113 680/738/127 692/1272/127 +f 666/1273/155 649/1274/115 667/1275/115 +f 655/1276/120 651/1277/152 665/1278/152 +f 699/1279/113 618/1280/127 617/1281/113 +f 686/1282/158 637/1283/114 687/1284/114 +f 667/1285/115 639/1286/156 685/1287/156 +f 654/1288/157 607/1289/120 655/1276/120 +f 697/1290/154 637/1283/114 619/1291/154 +f 685/1287/156 638/1292/158 686/1282/158 +f 653/1293/153 606/1294/157 654/1288/157 +f 665/1278/152 650/1295/155 666/1273/155 +f 698/1296/127 619/1291/154 618/1280/127 +f 699/1279/113 605/1297/153 653/1293/153 +f 723/1298/179 708/1299/113 715/1300/116 +f 721/1301/178 714/1302/114 713/1303/118 +f 719/1304/180 712/1305/115 711/1306/119 +f 717/1307/175 710/1308/120 709/1309/117 +f 722/1310/174 715/1300/116 714/1302/114 +f 720/1311/173 713/1303/118 712/1305/115 +f 718/1312/177 711/1306/119 710/1308/120 +f 716/1313/176 709/1309/117 708/1314/113 +f 726/1315/171 718/1316/177 717/1317/175 +f 722/1318/174 732/1319/170 723/1320/179 +f 729/1321/148 721/1322/178 720/1311/173 +f 727/1323/167 719/1324/180 718/1316/177 +f 716/1325/176 726/1315/171 717/1317/175 +f 732/1319/170 716/1326/176 723/1320/179 +f 721/1322/178 731/1327/168 722/1318/174 +f 719/1324/180 729/1321/148 720/1311/173 +f 731/1328/168 740/1329/160 732/1330/170 +f 729/1321/148 738/1331/159 730/1332/169 +f 735/1333/166 728/1334/172 727/1335/167 +f 725/1336/124 734/1337/161 726/1338/171 +f 740/1329/160 725/1339/124 732/1330/170 +f 730/1332/169 739/1340/164 731/1328/168 +f 736/1341/162 729/1321/148 728/1334/172 +f 734/1337/161 727/1335/167 726/1338/171 +f 734/1342/161 743/1343/224 735/1344/166 +f 747/1345/225 740/1346/160 739/1347/164 +f 737/1348/163 746/1349/226 738/1350/159 +f 743/1343/224 736/1351/162 735/1344/166 +f 733/1352/165 742/1353/227 734/1342/161 +f 748/1354/228 733/1355/165 740/1346/160 +f 746/1349/226 739/1347/164 738/1350/159 +f 744/1356/229 737/1348/163 736/1351/162 +f 751/1357/117 759/1358/230 758/1359/231 +f 749/1360/116 761/1361/232 760/1362/233 +f 771/1363/118 755/1364/234 762/1365/235 +f 754/1366/115 756/1367/236 755/1368/234 +f 752/1369/120 758/1359/231 757/1370/237 +f 759/1358/230 749/1360/116 760/1362/233 +f 724/1371/114 762/1365/235 761/1361/232 +f 756/1367/236 752/1369/120 757/1370/237 +f 763/1372/238 755/1373/234 770/1374/121 +f 760/1375/233 764/1376/239 765/1377/240 +f 758/1378/231 766/1379/142 767/1380/241 +f 769/1381/242 757/1382/237 768/1383/243 +f 761/1384/232 763/1372/238 764/1376/239 +f 766/1379/142 760/1375/233 765/1377/240 +f 757/1382/237 767/1380/241 768/1383/243 +f 770/1385/121 756/1386/236 769/1381/242 +f 741/1387/244 769/1388/242 742/1389/227 +f 768/1390/243 744/1391/229 743/1392/224 +f 745/1393/245 765/1394/240 746/1395/226 +f 764/1396/239 748/1397/228 747/1398/225 +f 742/1389/227 768/1390/243 743/1392/224 +f 767/1399/241 745/1393/245 744/1391/229 +f 746/1395/226 764/1396/239 747/1398/225 +f 763/1400/238 741/1401/244 748/1397/228 +f 779/1402/116 786/1403/114 778/1404/114 +f 777/1405/118 784/1406/115 776/1407/115 +f 775/1408/119 782/1409/120 774/1410/120 +f 773/1411/117 781/1412/113 772/1413/113 +f 772/1413/113 787/1414/116 779/1402/116 +f 778/1404/114 785/1415/118 777/1405/118 +f 776/1416/115 783/1417/119 775/1408/119 +f 774/1410/120 780/1418/117 773/1411/117 +f 841/798/114 864/861/158 840/826/158 +f 834/813/157 856/842/153 833/810/153 +f 842/801/154 865/830/114 841/798/114 +f 835/817/120 858/845/157 834/813/157 +f 843/804/127 866/833/154 842/801/154 +f 836/816/152 859/1015/120 835/817/120 +f 832/807/113 867/836/127 843/804/127 +f 837/819/155 860/849/152 836/816/152 +f 838/821/115 861/852/155 837/819/155 +f 839/827/156 862/857/115 838/823/115 +f 840/826/158 863/1016/156 839/827/156 +f 833/810/153 857/839/113 832/807/113 +f 388/1183/246 387/1182/142 513/1419/113 +f 387/1184/142 394/1420/247 513/1421/113 +f 394/1179/247 393/1422/117 513/1423/113 +f 393/1186/117 392/1185/248 513/1424/113 +f 392/1180/248 391/1425/124 513/1426/113 +f 391/1188/124 390/1187/249 513/1427/113 +f 390/1181/249 389/1428/116 513/1429/113 +f 389/1178/116 388/1177/246 513/1430/113 +f 174/1017/128 163/1018/129 151/238/129 +f 163/1018/129 164/1019/130 152/265/130 +f 164/1019/130 165/1020/131 153/241/131 +f 165/1020/131 166/1021/132 154/250/132 +f 166/1021/132 167/1028/133 155/259/133 +f 155/271/133 167/1028/133 168/1022/134 +f 156/249/134 168/1022/134 169/1023/135 +f 169/1024/135 170/1025/136 158/871/136 +f 170/1025/136 171/1026/137 159/268/137 +f 171/1026/137 172/1029/138 160/867/138 +f 160/255/138 172/1029/138 173/1027/139 +f 161/264/139 173/1027/139 174/1017/128 +f 173/1027/140 197/279/140 198/278/141 +f 198/282/141 187/281/142 163/1018/142 +f 163/1018/142 187/283/142 188/285/143 +f 188/286/143 189/288/144 165/1020/144 +f 189/290/144 190/289/145 166/1021/145 +f 166/1021/145 190/291/145 191/293/146 +f 191/295/146 192/294/147 168/1022/147 +f 192/296/147 193/298/148 169/1023/148 +f 169/1024/148 193/301/148 194/300/149 +f 194/304/149 195/303/150 171/1026/150 +f 171/1026/150 195/307/150 196/306/151 +f 172/1029/151 196/310/151 197/309/140 +f 185/870/152 209/1431/152 208/1030/120 +f 182/257/153 206/1432/153 205/1031/113 +f 179/872/154 203/1433/154 202/1032/114 +f 186/873/155 210/1434/155 209/1033/152 +f 176/874/156 200/1435/156 199/1034/115 +f 183/875/157 207/1436/157 206/1035/153 +f 180/272/127 204/1437/127 203/1036/154 +f 175/865/115 199/1438/115 210/1037/155 +f 177/866/158 201/1439/158 200/1038/156 +f 184/245/120 208/1440/120 207/1039/157 +f 181/868/113 205/1441/113 204/1040/127 +f 178/869/114 202/1442/114 201/1041/158 +f 216/888/155 228/325/155 229/327/115 +f 213/287/157 225/319/157 226/321/120 +f 220/308/114 232/334/114 233/311/154 +f 217/299/115 229/330/115 230/329/156 +f 214/887/120 226/321/120 227/323/152 +f 221/277/154 233/311/154 234/313/127 +f 211/886/113 223/315/113 224/317/153 +f 218/302/156 230/329/156 231/332/158 +f 215/292/152 227/323/152 228/325/155 +f 222/280/127 234/313/127 223/315/113 +f 212/284/153 224/317/153 225/319/157 +f 219/305/158 231/332/158 232/334/114 +f 243/1042/158 255/1063/158 256/1043/114 +f 240/1045/155 252/1064/155 253/1046/115 +f 237/1048/157 249/1066/157 250/1049/120 +f 244/1044/114 256/1043/114 257/1051/154 +f 241/1053/115 253/1443/115 254/1054/156 +f 238/1050/120 250/1049/120 251/1056/152 +f 245/1052/154 257/1051/154 258/1058/127 +f 235/1060/113 247/1065/113 248/1061/153 +f 242/1055/156 254/1054/156 255/1063/158 +f 239/1057/152 251/1056/152 252/1064/155 +f 246/1059/127 258/1058/127 247/1065/113 +f 236/1062/153 248/1061/153 249/1066/157 +f 270/356/127 282/1075/127 271/1067/113 +f 260/358/153 272/1076/153 273/1068/157 +f 267/340/158 279/1077/158 280/1069/114 +f 264/363/155 276/1078/155 277/1070/115 +f 261/337/157 273/1068/157 274/1071/120 +f 268/341/114 280/1069/114 281/1072/154 +f 265/904/115 277/1444/115 278/1073/156 +f 262/346/120 274/1071/120 275/1074/152 +f 269/348/154 281/1072/154 282/1075/127 +f 259/365/113 271/1067/113 272/1076/153 +f 266/350/156 278/1073/156 279/1077/158 +f 263/353/152 275/1074/152 276/1078/155 +f 313/394/114 314/392/151 306/1079/151 +f 311/922/111 312/403/126 304/1081/126 +f 309/386/120 310/388/125 302/1083/125 +f 307/389/112 308/391/145 300/1085/145 +f 314/392/151 307/389/112 299/1086/112 +f 312/403/126 313/394/114 305/1080/114 +f 310/388/125 311/397/111 303/1087/111 +f 308/391/145 309/386/120 301/1084/120 +f 321/1088/114 329/1101/164 330/1089/159 +f 319/1091/111 327/1445/165 328/1092/160 +f 317/1094/120 325/1104/166 326/1095/161 +f 315/1097/112 323/1100/163 324/1098/162 +f 322/1090/151 330/1089/159 323/1100/163 +f 320/1093/126 328/1092/160 329/1101/164 +f 318/1096/125 326/1095/161 327/1102/165 +f 316/1099/145 324/1098/162 325/1104/166 +f 326/1105/161 335/1115/171 336/1106/124 +f 324/1098/162 333/1117/172 334/1108/167 +f 330/1089/159 329/1118/164 338/1110/168 +f 328/1112/160 327/1446/165 336/1113/124 +f 326/1105/161 325/1109/166 334/1108/167 +f 324/1098/162 323/1100/163 332/1116/148 +f 323/1100/163 330/1089/159 339/1111/169 +f 328/1112/160 337/1114/170 338/1110/168 +f 339/1111/169 347/1124/178 340/1119/173 +f 337/1114/170 345/1125/179 346/1120/174 +f 336/1106/124 335/1115/171 343/1121/175 +f 333/1117/172 341/1126/180 342/1123/177 +f 338/1110/168 346/1120/174 347/1124/178 +f 336/1113/124 344/1447/176 345/1125/179 +f 335/1115/171 334/1108/167 342/1123/177 +f 332/1116/148 340/1119/173 341/1126/180 +f 344/1127/176 351/1448/186 352/1128/181 +f 342/1130/177 349/1139/187 350/1131/182 +f 340/1119/173 331/1134/184 348/1133/183 +f 347/1124/178 354/1140/188 331/1134/184 +f 345/1129/179 352/1128/181 353/1135/185 +f 343/1132/175 350/1131/182 351/1137/186 +f 341/1126/180 348/1133/183 349/1139/187 +f 346/1136/174 353/1135/185 354/1140/188 +f 354/1140/188 353/1151/185 362/1141/189 +f 352/1143/181 351/1449/186 360/1144/142 +f 349/1146/187 358/1154/194 359/1147/192 +f 348/1133/183 331/1134/184 356/1149/121 +f 354/1140/188 363/1142/190 356/1149/121 +f 353/1151/185 352/1143/181 361/1145/191 +f 351/1152/186 350/1148/182 359/1147/192 +f 348/1133/183 357/1150/193 358/1154/194 +f 362/1141/189 361/1145/191 369/1155/195 +f 360/1153/142 359/1147/192 367/1157/197 +f 358/1154/194 357/1150/193 365/1159/199 +f 362/1141/189 370/1156/196 371/1161/201 +f 360/1144/142 368/1450/198 369/1155/195 +f 358/1154/194 366/1160/200 367/1157/197 +f 357/1150/193 356/1149/121 364/1162/202 +f 363/1142/190 371/1161/201 364/1162/202 +f 365/1159/199 364/1162/202 355/1163/111 +f 371/1161/201 378/1173/126 355/1163/111 +f 370/1165/196 369/1175/195 376/1166/151 +f 368/1168/198 367/1176/197 374/1169/145 +f 366/1171/200 365/1159/199 372/1164/125 +f 370/1165/196 377/1167/114 378/1173/126 +f 368/1174/198 375/1451/112 376/1166/151 +f 366/1171/200 373/1172/120 374/1169/145 +f 381/413/203 380/417/204 388/1177/204 +f 385/407/205 393/1422/205 394/1179/206 +f 383/924/207 391/1425/207 392/1180/208 +f 381/413/203 389/1428/203 390/1181/209 +f 380/417/204 379/416/210 387/1182/210 +f 386/408/206 394/1420/206 387/1184/210 +f 385/407/205 384/410/208 392/1185/208 +f 383/422/207 382/414/209 390/1187/209 +f 466/497/114 490/529/114 489/560/158 +f 459/512/157 483/544/157 481/541/153 +f 467/500/154 491/532/154 490/529/114 +f 460/516/120 484/942/120 483/544/157 +f 468/503/127 492/535/127 491/532/154 +f 461/515/152 485/548/152 484/942/120 +f 457/506/113 482/538/113 492/535/127 +f 462/518/155 486/551/155 485/548/152 +f 463/520/115 487/554/115 486/551/155 +f 464/526/156 488/943/156 487/556/115 +f 465/525/158 489/560/158 488/943/156 +f 458/509/153 481/541/153 482/538/113 +f 533/1189/158 540/1196/158 539/1190/211 +f 530/1192/157 537/1198/157 536/1193/212 +f 534/1195/213 541/1201/213 540/1196/158 +f 531/1197/214 538/1452/214 537/1198/157 +f 529/1194/212 536/1193/212 535/1199/127 +f 528/1200/127 535/1199/127 541/1201/213 +f 547/1202/154 554/1209/154 553/1203/215 +f 544/1205/152 551/1211/152 550/1206/216 +f 548/1208/217 555/1214/217 554/1209/154 +f 545/1210/218 552/1453/218 551/1211/152 +f 543/1207/216 550/1206/216 549/1212/153 +f 542/1213/153 549/1212/153 555/1214/217 +f 567/1215/219 568/1454/121 576/1216/121 +f 557/618/117 564/1221/117 565/1218/113 +f 556/634/113 565/1218/113 571/1219/116 +f 562/632/114 570/1222/114 569/1220/118 +f 560/639/115 568/1454/115 567/1215/119 +f 558/640/120 566/1224/120 564/1221/117 +f 563/633/116 571/1219/116 570/1222/114 +f 561/630/118 569/1220/118 568/1223/115 +f 559/637/119 567/1215/119 566/1224/120 +f 566/1224/125 574/1455/125 572/1225/220 +f 571/1219/221 579/1456/221 578/1226/126 +f 569/1220/222 577/1457/222 576/1227/121 +f 566/1224/125 567/1215/219 575/1228/219 +f 564/1221/220 572/1458/220 573/1230/124 +f 565/1218/124 573/1459/124 579/1231/221 +f 570/1222/126 578/1460/126 577/1232/222 +f 593/644/117 601/1237/117 602/1233/120 +f 591/645/116 599/1238/116 600/1234/113 +f 588/620/118 596/1239/118 598/1235/114 +f 594/631/120 602/1233/120 603/1236/119 +f 592/959/113 600/1461/113 601/1237/117 +f 590/641/114 598/1235/114 599/1238/116 +f 589/619/115 597/1240/115 596/1239/118 +f 595/642/119 603/1236/119 597/1240/115 +f 610/1241/113 622/966/113 623/652/127 +f 614/1243/158 626/970/158 627/660/156 +f 611/1245/127 623/967/127 624/654/154 +f 608/1247/117 620/986/117 621/725/153 +f 615/1249/156 627/971/156 616/662/223 +f 612/1251/154 624/968/154 625/656/114 +f 609/1253/153 621/965/153 622/649/113 +f 613/1255/114 625/969/114 626/658/158 +f 635/650/156 647/718/156 646/715/115 +f 632/655/152 644/697/152 643/688/120 +f 629/661/153 641/671/153 640/981/212 +f 636/726/118 648/723/118 647/718/156 +f 633/653/155 645/709/155 644/697/152 +f 630/659/157 642/677/157 641/671/153 +f 634/651/115 646/715/115 645/709/155 +f 631/657/120 643/688/120 642/677/157 +f 672/730/120 660/700/120 661/703/157 +f 669/739/115 657/685/115 658/691/155 +f 673/721/157 661/703/157 662/706/153 +f 670/734/155 658/691/155 659/694/152 +f 664/674/118 652/667/118 656/682/156 +f 674/712/153 662/706/153 663/983/212 +f 671/732/152 659/694/152 660/700/120 +f 668/675/156 656/682/156 657/685/115 +f 690/1257/114 678/987/114 677/729/158 +f 694/1259/153 682/1000/153 681/740/113 +f 691/1261/154 679/988/154 678/731/114 +f 688/1263/156 676/984/156 684/711/223 +f 695/1265/117 683/982/117 682/673/153 +f 692/1267/127 680/989/127 679/733/154 +f 689/1269/158 677/985/158 676/720/156 +f 693/1271/113 681/999/113 680/738/127 +f 666/1273/155 650/1295/155 649/1274/115 +f 655/1276/120 607/1289/120 651/1277/152 +f 699/1279/113 698/1296/127 618/1280/127 +f 686/1282/158 638/1292/158 637/1283/114 +f 667/1285/115 649/1462/115 639/1286/156 +f 654/1288/157 606/1294/157 607/1289/120 +f 697/1290/154 687/1284/114 637/1283/114 +f 685/1287/156 639/1286/156 638/1292/158 +f 653/1293/153 605/1297/153 606/1294/157 +f 665/1278/152 651/1277/152 650/1295/155 +f 698/1296/127 697/1290/154 619/1291/154 +f 699/1279/113 617/1281/113 605/1297/153 +f 723/1298/179 716/1463/176 708/1299/113 +f 721/1301/178 722/1310/174 714/1302/114 +f 719/1304/180 720/1311/173 712/1305/115 +f 717/1307/175 718/1312/177 710/1308/120 +f 722/1310/174 723/1298/179 715/1300/116 +f 720/1311/173 721/1301/178 713/1303/118 +f 718/1312/177 719/1304/180 711/1306/119 +f 716/1313/176 717/1307/175 709/1309/117 +f 726/1315/171 727/1323/167 718/1316/177 +f 722/1318/174 731/1327/168 732/1319/170 +f 729/1321/148 730/1464/169 721/1322/178 +f 727/1323/167 728/1465/172 719/1324/180 +f 716/1325/176 725/1466/124 726/1315/171 +f 732/1319/170 725/1467/124 716/1326/176 +f 721/1322/178 730/1464/169 731/1327/168 +f 719/1324/180 728/1465/172 729/1321/148 +f 731/1328/168 739/1340/164 740/1329/160 +f 729/1321/148 737/1348/163 738/1331/159 +f 735/1333/166 736/1341/162 728/1334/172 +f 725/1336/124 733/1468/165 734/1337/161 +f 740/1329/160 733/1469/165 725/1339/124 +f 730/1332/169 738/1331/159 739/1340/164 +f 736/1341/162 737/1348/163 729/1321/148 +f 734/1337/161 735/1333/166 727/1335/167 +f 734/1342/161 742/1353/227 743/1343/224 +f 747/1345/225 748/1354/228 740/1346/160 +f 737/1348/163 745/1393/245 746/1349/226 +f 743/1343/224 744/1356/229 736/1351/162 +f 733/1352/165 741/1470/244 742/1353/227 +f 748/1354/228 741/1471/244 733/1355/165 +f 746/1349/226 747/1345/225 739/1347/164 +f 744/1356/229 745/1393/245 737/1348/163 +f 751/1357/117 750/1472/113 759/1358/230 +f 749/1360/116 724/1371/114 761/1361/232 +f 771/1363/118 754/1473/115 755/1364/234 +f 754/1366/115 753/1474/119 756/1367/236 +f 752/1369/120 751/1357/117 758/1359/231 +f 759/1358/230 750/1472/113 749/1360/116 +f 724/1371/114 771/1363/118 762/1365/235 +f 756/1367/236 753/1474/119 752/1369/120 +f 763/1372/238 762/1475/235 755/1373/234 +f 760/1375/233 761/1384/232 764/1376/239 +f 758/1378/231 759/1358/230 766/1379/142 +f 769/1381/242 756/1386/236 757/1382/237 +f 761/1384/232 762/1475/235 763/1372/238 +f 766/1379/142 759/1358/230 760/1375/233 +f 757/1382/237 758/1378/231 767/1380/241 +f 770/1385/121 755/1476/234 756/1386/236 +f 741/1387/244 770/1477/121 769/1388/242 +f 768/1390/243 767/1399/241 744/1391/229 +f 745/1393/245 766/1379/142 765/1394/240 +f 764/1396/239 763/1400/238 748/1397/228 +f 742/1389/227 769/1388/242 768/1390/243 +f 767/1399/241 766/1379/142 745/1393/245 +f 746/1395/226 765/1394/240 764/1396/239 +f 763/1400/238 770/1478/121 741/1401/244 +f 779/1402/116 787/1414/116 786/1403/114 +f 777/1405/118 785/1415/118 784/1406/115 +f 775/1408/119 783/1417/119 782/1409/120 +f 773/1411/117 780/1418/117 781/1412/113 +f 772/1413/113 781/1412/113 787/1414/116 +f 778/1404/114 786/1403/114 785/1415/118 +f 776/1416/115 784/1479/115 783/1417/119 +f 774/1410/120 782/1409/120 780/1418/117 +f 841/798/114 865/830/114 864/861/158 +f 834/813/157 858/845/157 856/842/153 +f 842/801/154 866/833/154 865/830/114 +f 835/817/120 859/1015/120 858/845/157 +f 843/804/127 867/836/127 866/833/154 +f 836/816/152 860/849/152 859/1015/120 +f 832/807/113 857/839/113 867/836/127 +f 837/819/155 861/852/155 860/849/152 +f 838/821/115 862/855/115 861/852/155 +f 839/827/156 863/1016/156 862/857/115 +f 840/826/158 864/861/158 863/1016/156 +f 833/810/153 856/842/153 857/839/113 diff --git a/src/main/resources/assets/hbm/models/weapons/flaregun.obj b/src/main/resources/assets/hbm/models/weapons/flaregun.obj new file mode 100644 index 000000000..8d080c39a --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/flaregun.obj @@ -0,0 +1,2850 @@ +# Blender v2.79 (sub 0) OBJ File: 'flaregun.blend' +# www.blender.org +o Flare +v 0.882965 4.591380 -2.458135 +v 0.509780 4.964565 -2.458135 +v 0.000000 5.101160 -2.458135 +v -0.509780 4.964565 -2.458135 +v -0.882965 4.591380 -2.458135 +v -1.019560 4.081600 -2.458135 +v -0.882965 3.571820 -2.458135 +v -0.509780 3.198636 -2.458135 +v 0.000000 3.062041 -2.458135 +v 0.509780 3.198636 -2.458135 +v 1.019560 4.081600 -2.458135 +v 0.882964 3.571820 -2.458135 +v 0.882965 4.591380 -2.128838 +v 0.509780 4.964565 -2.128838 +v 0.000000 5.101160 -2.128838 +v -0.509780 4.964565 -2.128838 +v -0.882965 4.591380 -2.128838 +v -1.019560 4.081600 -2.128838 +v -0.882965 3.571820 -2.128838 +v -0.509780 3.198636 -2.128838 +v 0.000000 3.062041 -2.128838 +v 0.509780 3.198636 -2.128838 +v 1.019560 4.081600 -2.128838 +v 0.882964 3.571820 -2.128838 +v 0.767825 4.524904 -2.128838 +v 0.443304 4.849426 -2.128838 +v -0.000000 4.968208 -2.128838 +v -0.443304 4.849426 -2.128838 +v -0.767825 4.524904 -2.128838 +v -0.886608 4.081600 -2.128838 +v -0.767825 3.638296 -2.128838 +v -0.443304 3.313776 -2.128838 +v -0.000000 3.194993 -2.128838 +v 0.443304 3.313776 -2.128838 +v 0.886608 4.081600 -2.128838 +v 0.767824 3.638296 -2.128838 +v 0.767825 4.524904 2.191458 +v 0.443304 4.849426 2.191458 +v -0.000000 4.968208 2.191458 +v -0.443304 4.849426 2.191458 +v -0.767825 4.524904 2.191458 +v -0.886608 4.081600 2.191458 +v -0.767825 3.638296 2.191458 +v -0.443304 3.313776 2.191458 +v -0.000000 3.194993 2.191458 +v 0.443304 3.313776 2.191458 +v 0.886608 4.081600 2.191458 +v 0.767824 3.638296 2.191458 +vt 0.112500 0.250000 +vt 0.115000 0.236667 +vt 0.115000 0.250000 +vt 0.115000 0.223333 +vt 0.112500 0.210000 +vt 0.115000 0.210000 +vt 0.115000 0.183333 +vt 0.112500 0.196667 +vt 0.112500 0.183333 +vt 0.112500 0.263333 +vt 0.115000 0.263333 +vt 0.115000 0.196667 +vt 0.112500 0.290000 +vt 0.115000 0.276667 +vt 0.115000 0.290000 +vt 0.112500 0.316667 +vt 0.115000 0.303333 +vt 0.115000 0.316667 +vt 0.112500 0.223333 +vt 0.112500 0.276667 +vt 0.115000 0.170000 +vt 0.112500 0.170000 +vt 0.115000 0.156667 +vt 0.146256 0.253555 +vt 0.119988 0.233333 +vt 0.146256 0.213112 +vt 0.149838 0.160614 +vt 0.149838 0.206053 +vt 0.120324 0.183333 +vt 0.112500 0.236667 +vt 0.112500 0.303333 +vt 0.112500 0.156667 +vt 0.152666 0.221658 +vt 0.155012 0.233333 +vt 0.152666 0.245008 +vt 0.137500 0.256683 +vt 0.128744 0.253555 +vt 0.122334 0.245008 +vt 0.122334 0.221658 +vt 0.128744 0.213112 +vt 0.137500 0.209983 +vt 0.122960 0.170216 +vt 0.130162 0.160614 +vt 0.140000 0.157099 +vt 0.157039 0.170216 +vt 0.159675 0.183333 +vt 0.157039 0.196450 +vt 0.140000 0.209567 +vt 0.130162 0.206053 +vt 0.122960 0.196450 +vt 0.120000 0.290000 +vt 0.120000 0.303333 +vt 0.120000 0.263333 +vt 0.120000 0.276667 +vt 0.120000 0.170000 +vt 0.120000 0.183333 +vt 0.120000 0.156667 +vt 0.120000 0.236667 +vt 0.120000 0.250000 +vt 0.120000 0.210000 +vt 0.120000 0.223333 +vt 0.120000 0.196667 +vt 0.120000 0.316667 +vt 0.025000 0.250000 +vt 0.025000 0.223333 +vt 0.025000 0.183333 +vt 0.025000 0.263333 +vt 0.025000 0.196667 +vt 0.025000 0.290000 +vt 0.025000 0.316667 +vt 0.025000 0.236667 +vt 0.025000 0.303333 +vt 0.025000 0.276667 +vt 0.025000 0.170000 +vt 0.025000 0.210000 +vt 0.025000 0.156667 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.0000 -1.0000 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.8660 0.5000 0.0000 +vn 1.0000 -0.0000 0.0000 +s off +f 28/1/1 15/2/1 16/3/1 +f 14/4/1 25/5/1 13/6/1 +f 24/7/1 35/8/1 36/9/1 +f 29/10/1 16/3/1 17/11/1 +f 23/12/1 25/5/1 35/8/1 +f 31/13/1 18/14/1 19/15/1 +f 33/16/1 20/17/1 21/18/1 +f 15/2/1 26/19/1 14/4/1 +f 20/17/1 31/13/1 19/15/1 +f 30/20/1 17/11/1 18/14/1 +f 36/9/1 22/21/1 24/7/1 +f 34/22/1 21/23/1 22/21/1 +f 38/24/1 42/25/1 46/26/1 +f 8/27/2 4/28/2 11/29/2 +f 28/1/1 27/30/1 15/2/1 +f 14/4/1 26/19/1 25/5/1 +f 24/7/1 23/12/1 35/8/1 +f 29/10/1 28/1/1 16/3/1 +f 23/12/1 13/6/1 25/5/1 +f 31/13/1 30/20/1 18/14/1 +f 33/16/1 32/31/1 20/17/1 +f 15/2/1 27/30/1 26/19/1 +f 20/17/1 32/31/1 31/13/1 +f 30/20/1 29/10/1 17/11/1 +f 36/9/1 34/22/1 22/21/1 +f 34/22/1 33/32/1 21/23/1 +f 46/26/1 48/33/1 47/34/1 +f 47/34/1 37/35/1 46/26/1 +f 37/35/1 38/24/1 46/26/1 +f 38/24/1 39/36/1 42/25/1 +f 39/36/1 40/37/1 42/25/1 +f 40/37/1 41/38/1 42/25/1 +f 42/25/1 43/39/1 44/40/1 +f 44/40/1 45/41/1 42/25/1 +f 45/41/1 46/26/1 42/25/1 +f 11/29/2 12/42/2 10/43/2 +f 10/43/2 9/44/2 11/29/2 +f 9/44/2 8/27/2 11/29/2 +f 8/27/2 7/45/2 6/46/2 +f 6/46/2 5/47/2 4/28/2 +f 4/28/2 3/48/2 11/29/2 +f 3/48/2 2/49/2 11/29/2 +f 2/49/2 1/50/2 11/29/2 +f 8/27/2 6/46/2 4/28/2 +s 1 +f 20/17/3 7/51/4 8/52/3 +f 18/14/5 5/53/6 6/54/5 +f 24/7/7 10/55/8 12/56/7 +f 22/21/8 9/57/9 10/55/8 +f 16/3/10 3/58/11 4/59/10 +f 14/4/12 1/60/13 2/61/12 +f 11/62/14 24/7/7 12/56/7 +f 17/11/6 4/59/10 5/53/6 +f 1/60/13 23/12/14 11/62/14 +f 19/15/4 6/54/5 7/51/4 +f 21/18/9 8/52/3 9/63/9 +f 15/2/11 2/61/12 3/58/11 +f 40/64/10 27/30/11 28/1/10 +f 38/65/12 25/5/13 26/19/12 +f 35/8/14 48/66/7 36/9/7 +f 41/67/6 28/1/10 29/10/6 +f 25/5/13 47/68/14 35/8/14 +f 43/69/4 30/20/5 31/13/4 +f 45/70/9 32/31/3 33/16/9 +f 39/71/11 26/19/12 27/30/11 +f 44/72/3 31/13/4 32/31/3 +f 42/73/5 29/10/6 30/20/5 +f 48/66/7 34/22/8 36/9/7 +f 46/74/8 33/32/9 34/22/8 +f 20/17/3 19/15/4 7/51/4 +f 18/14/5 17/11/6 5/53/6 +f 24/7/7 22/21/8 10/55/8 +f 22/21/8 21/23/9 9/57/9 +f 16/3/10 15/2/11 3/58/11 +f 14/4/12 13/6/13 1/60/13 +f 11/62/14 23/12/14 24/7/7 +f 17/11/6 16/3/10 4/59/10 +f 1/60/13 13/6/13 23/12/14 +f 19/15/4 18/14/5 6/54/5 +f 21/18/9 20/17/3 8/52/3 +f 15/2/11 14/4/12 2/61/12 +f 40/64/10 39/71/11 27/30/11 +f 38/65/12 37/75/13 25/5/13 +f 35/8/14 47/68/14 48/66/7 +f 41/67/6 40/64/10 28/1/10 +f 25/5/13 37/75/13 47/68/14 +f 43/69/4 42/73/5 30/20/5 +f 45/70/9 44/72/3 32/31/3 +f 39/71/11 38/65/12 26/19/12 +f 44/72/3 43/69/4 31/13/4 +f 42/73/5 41/67/6 29/10/6 +f 48/66/7 46/74/8 34/22/8 +f 46/74/8 45/76/9 33/32/9 +o Hammer +v 0.745252 1.700511 -4.104497 +v 0.745252 1.813547 -4.151319 +v 0.745252 1.926583 -4.104497 +v 0.745252 1.973404 -3.991461 +v 0.745252 1.926583 -3.878425 +v 0.745252 1.813547 -3.831604 +v 0.745252 1.700511 -3.878425 +v 0.745252 1.653689 -3.991461 +v -0.626225 1.813547 -4.184730 +v -0.626225 1.676885 -4.128123 +v -0.745252 1.700511 -4.104497 +v -0.745252 1.813547 -4.151319 +v 0.626225 1.676885 -4.128123 +v 0.626225 1.813547 -4.184730 +v -0.626225 1.620278 -3.991461 +v -0.745252 1.653689 -3.991461 +v 0.626225 1.620278 -3.991461 +v -0.626225 1.676885 -3.854800 +v -0.745252 1.700511 -3.878425 +v 0.626225 1.676885 -3.854800 +v -0.626225 1.813547 -3.798193 +v -0.745252 1.813547 -3.831604 +v 0.626225 1.813547 -3.798193 +v -0.626225 1.950208 -3.854800 +v -0.745252 1.926583 -3.878425 +v 0.626225 1.950208 -3.854800 +v -0.626225 2.006815 -3.991461 +v -0.745252 1.973404 -3.991461 +v 0.626225 2.006815 -3.991461 +v -0.626225 1.950208 -4.128123 +v -0.745252 1.926583 -4.104497 +v 0.626225 1.950208 -4.128123 +v -0.206205 4.430529 -5.327692 +v -0.206205 4.510303 -5.183657 +v 0.206205 4.510303 -5.183657 +v 0.206205 4.430529 -5.327692 +v 0.206205 4.421892 -4.871769 +v 0.206205 4.372530 -4.722456 +v 0.206205 4.399612 -4.484733 +v 0.206205 4.442521 -4.233756 +v 0.206205 4.459024 -4.063620 +v 0.206205 4.490410 -3.895228 +v 0.206205 4.474938 -3.775805 +v 0.206205 4.611975 -3.495304 +v 0.206205 4.409944 -3.251491 +v 0.206205 4.139801 -3.461582 +v 0.206205 4.039521 -3.813910 +v 0.206205 4.008822 -4.135539 +v 0.206205 3.934636 -4.626007 +v 0.206205 3.845099 -4.867631 +v 0.206205 3.740214 -5.107749 +v 0.206205 4.068292 -5.353975 +v 0.206205 4.292388 -5.408881 +v 0.206205 4.476391 -5.035797 +v -0.206205 4.611975 -3.495304 +v -0.206205 4.409944 -3.251491 +v -0.206205 4.139801 -3.461582 +v -0.206205 4.474938 -3.775805 +v -0.206205 4.399612 -4.484733 +v -0.206205 4.442521 -4.233756 +v -0.206205 3.845099 -4.867631 +v -0.206205 3.934636 -4.626007 +v -0.206205 4.459024 -4.063620 +v -0.206205 4.490410 -3.895228 +v -0.206205 4.008822 -4.135539 +v -0.206205 4.039521 -3.813910 +v -0.206205 3.740214 -5.107749 +v -0.206205 4.372530 -4.722456 +v -0.206205 4.476391 -5.035797 +v -0.206205 4.421892 -4.871769 +v -0.206205 4.292388 -5.408881 +v -0.206205 4.068292 -5.353975 +vt 0.589044 0.875414 +vt 0.591244 0.874200 +vt 0.591244 0.882498 +vt 0.599072 0.881280 +vt 0.599072 0.875472 +vt 0.603428 0.875472 +vt 0.609398 0.934618 +vt 0.605458 0.935216 +vt 0.607800 0.924944 +vt 0.572500 0.826666 +vt 0.565000 0.816666 +vt 0.572500 0.816666 +vt 0.592420 0.913470 +vt 0.587478 0.912434 +vt 0.587032 0.904256 +vt 0.593446 0.875414 +vt 0.594358 0.878348 +vt 0.593446 0.881284 +vt 0.589044 0.881284 +vt 0.588132 0.878348 +vt 0.598170 0.878376 +vt 0.601250 0.874268 +vt 0.604330 0.878376 +vt 0.603428 0.881280 +vt 0.601250 0.882482 +vt 0.601300 0.936164 +vt 0.599674 0.926582 +vt 0.598482 0.936528 +vt 0.595692 0.937222 +vt 0.594344 0.927260 +vt 0.593712 0.936880 +vt 0.589066 0.939906 +vt 0.588506 0.929476 +vt 0.585026 0.935444 +vt 0.611804 0.922966 +vt 0.615782 0.920648 +vt 0.619862 0.927896 +vt 0.611872 0.935708 +vt 0.620770 0.932846 +vt 0.619426 0.935898 +vt 0.617040 0.937660 +vt 0.614590 0.936912 +vt 0.565000 0.826666 +vt 0.613758 0.913438 +vt 0.611736 0.913788 +vt 0.613114 0.903606 +vt 0.608884 0.913078 +vt 0.606004 0.912706 +vt 0.607666 0.902912 +vt 0.601754 0.911736 +vt 0.622638 0.911970 +vt 0.618510 0.916532 +vt 0.619080 0.905870 +vt 0.597728 0.911126 +vt 0.599360 0.901238 +vt 0.591202 0.896848 +vt 0.595268 0.899216 +vt 0.595198 0.912240 +vt 0.586102 0.909316 +vt 0.589916 0.914236 +vt 0.597526 0.878376 +vt 0.595008 0.878348 +vt 0.593906 0.874802 +vt 0.601250 0.873410 +vt 0.598616 0.874864 +vt 0.591244 0.873332 +vt 0.603882 0.874864 +vt 0.588584 0.874802 +vt 0.604974 0.878376 +vt 0.587482 0.878348 +vt 0.603882 0.881886 +vt 0.588584 0.881896 +vt 0.601250 0.883340 +vt 0.591244 0.883366 +vt 0.593906 0.881896 +vt 0.598616 0.881886 +vt 0.565000 0.870000 +vt 0.572500 0.873334 +vt 0.565000 0.873334 +vt 0.572500 0.940000 +vt 0.565000 0.950000 +vt 0.565000 0.940000 +vt 0.565000 0.833334 +vt 0.572500 0.833334 +vt 0.565000 0.853334 +vt 0.572500 0.846666 +vt 0.572500 0.853334 +vt 0.565000 0.840000 +vt 0.572500 0.836666 +vt 0.572500 0.840000 +vt 0.565000 0.856666 +vt 0.572500 0.856666 +vt 0.565000 0.836666 +vt 0.565000 0.846666 +vt 0.565000 0.866666 +vt 0.572500 0.863334 +vt 0.572500 0.866666 +vt 0.572500 0.880000 +vt 0.565000 0.883334 +vt 0.565000 0.880000 +vt 0.565000 0.863334 +vt 0.572500 0.883334 +vt 0.565000 0.896666 +vt 0.572500 0.870000 +vt 0.572500 0.950000 +vt 0.572500 0.896666 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.7700 0.6380 +vn -0.2703 -0.0000 -0.9628 +vn -0.2703 -0.6808 -0.6808 +vn 0.2703 -0.0000 -0.9628 +vn 0.2703 -0.6808 -0.6808 +vn -0.2703 -0.9628 -0.0000 +vn 0.2703 -0.9628 -0.0000 +vn -0.2703 -0.6808 0.6808 +vn 0.2703 -0.6808 0.6808 +vn -0.2703 0.0000 0.9628 +vn 0.2703 0.0000 0.9628 +vn -0.2703 0.6808 0.6808 +vn 0.2703 0.6808 0.6808 +vn -0.2703 0.9628 0.0000 +vn 0.2703 0.9628 0.0000 +vn -0.2703 0.6808 -0.6808 +vn 0.2703 0.6808 -0.6808 +vn 0.0000 0.9902 -0.1397 +vn 0.0000 0.7161 -0.6980 +vn 0.0000 -0.6139 0.7894 +vn 0.0000 0.9868 -0.1621 +vn 0.0000 0.8985 -0.4390 +vn 0.0000 0.9900 -0.1409 +vn 0.0000 0.9912 -0.1326 +vn 0.0000 0.9901 -0.1400 +vn 0.0000 0.9996 -0.0277 +vn 0.0000 0.9947 0.1027 +vn 0.0000 0.9629 0.2697 +vn 0.0000 0.9492 0.3146 +vn 0.0000 0.1450 -0.9894 +vn 0.0000 -0.4278 -0.9039 +vn 0.0000 -0.6003 -0.7998 +s off +f 55/77/15 56/78/15 52/79/15 +f 79/80/16 59/81/16 67/82/16 +f 86/83/15 87/84/15 97/85/15 +f 92/86/17 104/87/17 93/88/17 +f 117/89/16 81/90/16 120/91/16 +f 56/78/15 49/92/15 52/79/15 +f 49/92/15 50/93/15 52/79/15 +f 50/93/15 51/94/15 52/79/15 +f 52/79/15 53/95/15 54/96/15 +f 54/96/15 55/77/15 52/79/15 +f 79/80/16 60/97/16 59/81/16 +f 59/81/16 64/98/16 67/82/16 +f 67/82/16 70/99/16 79/80/16 +f 70/99/16 73/100/16 79/80/16 +f 73/100/16 76/101/16 79/80/16 +f 87/84/15 88/102/15 96/103/15 +f 88/102/15 89/104/15 96/103/15 +f 89/104/15 90/105/15 95/106/15 +f 90/105/15 91/107/15 95/106/15 +f 91/107/15 92/108/15 94/109/15 +f 92/108/15 93/110/15 94/109/15 +f 94/109/15 95/106/15 91/107/15 +f 95/106/15 96/103/15 89/104/15 +f 96/103/15 97/85/15 87/84/15 +f 98/111/15 99/112/15 100/113/15 +f 97/85/15 98/111/15 86/83/15 +f 98/111/15 100/113/15 85/114/15 +f 86/83/15 98/111/15 85/114/15 +f 100/113/15 101/115/15 84/116/15 +f 84/116/15 83/117/15 102/118/15 +f 84/116/15 102/118/15 100/113/15 +f 102/118/15 85/114/15 100/113/15 +f 92/86/17 103/119/17 104/87/17 +f 106/120/16 112/121/16 114/122/16 +f 112/121/16 111/123/16 114/122/16 +f 111/123/16 108/124/16 113/125/16 +f 108/124/16 107/126/16 113/125/16 +f 104/127/16 103/128/16 105/129/16 +f 103/128/16 106/120/16 105/129/16 +f 114/122/16 105/129/16 106/120/16 +f 113/125/16 114/122/16 111/123/16 +f 107/126/16 116/130/16 110/131/16 +f 113/125/16 107/126/16 110/131/16 +f 120/91/16 115/132/16 109/133/16 +f 120/91/16 109/133/16 118/134/16 +f 109/133/16 110/131/16 116/130/16 +f 118/134/16 109/133/16 116/130/16 +f 81/90/16 119/135/16 120/91/16 +f 117/89/16 82/136/16 81/90/16 +f 118/134/16 117/89/16 120/91/16 +s 1 +f 57/137/18 59/81/19 60/97/18 +f 62/138/20 49/92/21 61/139/21 +f 63/140/22 59/81/19 58/141/19 +f 65/142/23 49/92/21 56/78/23 +f 66/143/24 64/98/22 63/140/22 +f 68/144/25 56/78/23 55/77/25 +f 69/145/26 67/82/24 66/143/24 +f 71/146/27 55/77/25 54/96/27 +f 72/147/28 70/99/26 69/145/26 +f 74/148/29 54/96/27 53/95/29 +f 75/149/30 73/100/28 72/147/28 +f 77/150/31 53/95/29 52/79/31 +f 75/149/30 79/80/32 76/101/30 +f 77/150/31 51/94/33 80/151/33 +f 78/152/32 60/97/18 79/80/32 +f 80/151/33 50/93/20 62/138/20 +f 82/153/34 84/154/35 81/155/35 +f 94/156/36 104/157/36 105/158/36 +f 106/159/37 92/86/38 91/160/37 +f 107/161/39 88/162/40 87/163/39 +f 111/164/41 90/165/42 89/166/41 +f 116/167/43 87/163/39 86/168/43 +f 112/169/42 91/160/37 90/165/42 +f 108/170/40 89/166/41 88/162/40 +f 117/171/44 85/172/45 102/173/44 +f 101/174/46 120/175/47 119/176/46 +f 118/177/45 86/168/43 85/172/45 +f 100/178/47 115/179/48 120/175/47 +f 84/154/35 119/176/46 81/155/35 +f 82/153/34 102/173/44 83/180/34 +f 57/137/18 58/141/19 59/81/19 +f 62/138/20 50/93/20 49/92/21 +f 63/140/22 64/98/22 59/81/19 +f 65/142/23 61/139/21 49/92/21 +f 66/143/24 67/82/24 64/98/22 +f 68/144/25 65/142/23 56/78/23 +f 69/145/26 70/99/26 67/82/24 +f 71/146/27 68/144/25 55/77/25 +f 72/147/28 73/100/28 70/99/26 +f 74/148/29 71/146/27 54/96/27 +f 75/149/30 76/101/30 73/100/28 +f 77/150/31 74/148/29 53/95/29 +f 75/149/30 78/152/32 79/80/32 +f 77/150/31 52/79/31 51/94/33 +f 78/152/32 57/137/18 60/97/18 +f 80/151/33 51/94/33 50/93/20 +f 82/153/34 83/180/34 84/154/35 +f 94/156/36 93/181/36 104/157/36 +f 106/159/37 103/119/38 92/86/38 +f 107/161/39 108/170/40 88/162/40 +f 111/164/41 112/169/42 90/165/42 +f 116/167/43 107/161/39 87/163/39 +f 112/169/42 106/159/37 91/160/37 +f 108/170/40 111/164/41 89/166/41 +f 117/171/44 118/177/45 85/172/45 +f 101/174/46 100/178/47 120/175/47 +f 118/177/45 116/167/43 86/168/43 +f 100/178/47 99/182/48 115/179/48 +f 84/154/35 101/174/46 119/176/46 +f 82/153/34 117/171/44 102/173/44 +o Barrel +v 0.731983 1.964559 1.588737 +v 0.731983 2.154102 1.510226 +v 0.731983 2.343645 1.588737 +v 0.731983 2.422156 1.778280 +v 0.731983 2.343645 1.967823 +v 0.731983 2.154102 2.046335 +v 0.731983 1.964559 1.967823 +v 0.731983 1.886048 1.778280 +v -0.634395 2.154102 1.465021 +v -0.634395 1.932595 1.556772 +v -0.731983 1.964559 1.588737 +v -0.731983 2.154102 1.510226 +v 0.634395 1.932594 1.556772 +v 0.634395 2.154102 1.465021 +v -0.634395 1.840843 1.778280 +v -0.731983 1.886048 1.778280 +v 0.634395 1.840843 1.778280 +v -0.634395 1.932595 1.999788 +v -0.731983 1.964559 1.967823 +v 0.634395 1.932594 1.999788 +v -0.634395 2.154102 2.091539 +v -0.731983 2.154102 2.046335 +v 0.634395 2.154102 2.091539 +v -0.634395 2.375610 1.999788 +v -0.731983 2.343645 1.967823 +v 0.634395 2.375610 1.999788 +v -0.634395 2.467361 1.778280 +v -0.731983 2.422156 1.778280 +v 0.634395 2.467361 1.778280 +v -0.634395 2.375610 1.556772 +v -0.731983 2.343645 1.588737 +v 0.634395 2.375610 1.556772 +v -0.480500 5.241631 -2.458135 +v -0.480500 5.241631 2.917163 +v 0.480500 5.241631 2.917163 +v 0.480500 5.241631 -2.458135 +v 1.160030 4.562099 2.917163 +v 1.160029 4.562099 -2.458135 +v 1.160030 3.601100 2.917163 +v 1.160030 3.601100 -2.458135 +v 0.480500 2.921570 2.917163 +v 0.480500 2.921571 -2.458135 +v -0.480500 2.921570 2.917163 +v -0.480500 2.921571 -2.458135 +v -1.160029 3.601100 2.917163 +v -1.160030 3.601100 -2.458135 +v -1.160029 4.562099 2.917163 +v -0.882965 3.571820 2.917163 +v -1.019560 4.081600 2.917163 +v -0.882965 4.591380 2.917163 +v -0.509780 4.964565 2.917163 +v 0.000000 5.101160 2.917163 +v 0.509780 4.964563 2.917163 +v 0.882965 4.591380 2.917163 +v -1.160030 4.562099 -2.458135 +v 0.882965 4.591380 -2.458135 +v 0.509780 4.964565 -2.458135 +v 0.000000 5.101160 -2.458135 +v -0.509780 4.964565 -2.458135 +v -0.882965 4.591380 -2.458135 +v -1.019560 4.081600 -2.458135 +v -0.882965 3.571820 -2.458135 +v 0.000000 5.224927 2.791627 +v 0.000000 5.224926 8.802454 +v 0.437532 5.137895 8.802454 +v 0.437532 5.137897 2.791627 +v 0.808454 4.890054 8.802454 +v 0.808454 4.890055 2.791627 +v 1.056296 4.519132 8.802454 +v 1.056296 4.519133 2.791627 +v 1.143327 4.081600 8.802454 +v 1.143327 4.081600 2.791627 +v 1.056296 3.644067 8.802454 +v 1.056296 3.644068 2.791627 +v 0.808454 3.273145 8.802454 +v 0.808454 3.273145 2.791627 +v 0.437532 3.025303 8.802454 +v 0.437532 3.025304 2.791627 +v 0.000000 2.938272 8.802454 +v 0.000000 2.938273 2.791627 +v -0.437532 3.025303 8.802454 +v -0.437532 3.025304 2.791627 +v -0.808454 3.273145 8.802454 +v -0.808454 3.273145 2.791627 +v -1.056296 3.644067 8.802454 +v -1.056296 3.644068 2.791627 +v -1.143327 4.081600 8.802454 +v -1.143327 4.081600 2.791627 +v -1.056296 4.519132 8.802454 +v -1.056296 4.519133 2.791627 +v -0.808454 4.890054 8.802454 +v -0.808454 4.890055 2.791627 +v -0.437532 5.137895 8.802454 +v -0.882965 3.571820 8.802454 +v -1.019560 4.081600 8.802454 +v -0.882965 4.591379 8.802453 +v -0.509780 4.964563 8.802455 +v 0.000000 5.101159 8.802455 +v 0.509780 4.964563 8.802455 +v 0.882965 4.591380 8.802454 +v -0.437532 5.137897 2.791627 +v -0.509780 3.198636 -2.458135 +v -0.509780 3.198635 2.917163 +v 0.000000 3.062040 2.917163 +v 0.000000 3.062041 -2.458135 +v -0.509780 3.198635 8.802456 +v 0.000000 3.062040 8.802452 +v 0.509780 3.198635 2.917163 +v 0.509780 3.198636 -2.458135 +v 0.509780 3.198635 8.802452 +v 1.019560 4.081600 -2.458135 +v 1.019560 4.081600 2.917163 +v 1.019560 4.081600 8.802454 +v 0.882964 3.571820 -2.458135 +v 0.882965 3.571820 2.917163 +v 0.882965 3.571820 8.802455 +v 0.380419 2.209798 2.878785 +v 0.380419 3.025099 2.869944 +v -0.380419 3.025099 2.869944 +v -0.380419 2.209798 2.878785 +v -0.380419 1.997613 2.520242 +v 0.380419 1.997613 2.520242 +v -0.380419 3.025099 1.369944 +v -0.380419 1.988772 1.369944 +v 0.380419 3.025099 1.369944 +v 0.380419 1.988772 1.369944 +vt 0.303068 0.499090 +vt 0.305662 0.507436 +vt 0.299402 0.510894 +vt 0.311900 0.502596 +vt 0.314444 0.499204 +vt 0.318042 0.510786 +vt 0.402500 0.900000 +vt 0.295000 0.926666 +vt 0.295000 0.900000 +vt 0.402500 0.926666 +vt 0.295000 0.953334 +vt 0.402500 0.740000 +vt 0.295000 0.766666 +vt 0.295000 0.740000 +vt 0.402500 0.766666 +vt 0.295000 0.793334 +vt 0.402500 0.793334 +vt 0.295000 0.820000 +vt 0.402500 0.820000 +vt 0.295000 0.846666 +vt 0.224086 0.536286 +vt 0.223498 0.528860 +vt 0.233744 0.532522 +vt 0.402500 0.846666 +vt 0.295000 0.873334 +vt 0.402500 0.873334 +vt 0.374172 0.391588 +vt 0.373584 0.384172 +vt 0.387224 0.402360 +vt 0.369048 0.457912 +vt 0.358566 0.456996 +vt 0.366964 0.453774 +vt 0.243990 0.481534 +vt 0.233744 0.477874 +vt 0.243402 0.474110 +vt 0.356002 0.509156 +vt 0.366484 0.510072 +vt 0.358086 0.513292 +vt 0.346214 0.428866 +vt 0.354292 0.446270 +vt 0.340652 0.428082 +vt 0.040000 0.806666 +vt 0.055000 0.786667 +vt 0.055000 0.806666 +vt 0.060000 0.806666 +vt 0.060000 0.786667 +vt 0.077500 0.920000 +vt 0.077500 0.893334 +vt 0.100000 0.893334 +vt 0.032500 0.920000 +vt 0.032500 0.900000 +vt 0.040000 0.893334 +vt 0.080000 0.806666 +vt 0.305662 0.502548 +vt 0.303068 0.510894 +vt 0.296808 0.507436 +vt 0.296808 0.502548 +vt 0.299402 0.499090 +vt 0.318042 0.499204 +vt 0.320586 0.502596 +vt 0.320586 0.507394 +vt 0.314444 0.510786 +vt 0.311900 0.507394 +vt 0.402500 0.953334 +vt 0.210428 0.518074 +vt 0.210428 0.492320 +vt 0.213252 0.505198 +vt 0.215996 0.491536 +vt 0.251490 0.518860 +vt 0.257060 0.518074 +vt 0.243402 0.536286 +vt 0.243990 0.528860 +vt 0.215996 0.518860 +vt 0.387224 0.428082 +vt 0.373584 0.446270 +vt 0.374172 0.438854 +vt 0.381662 0.428866 +vt 0.353704 0.391588 +vt 0.354292 0.384172 +vt 0.363938 0.387932 +vt 0.384404 0.415222 +vt 0.381662 0.401578 +vt 0.343604 0.466676 +vt 0.349882 0.458304 +vt 0.349144 0.463190 +vt 0.358086 0.453774 +vt 0.375168 0.458304 +vt 0.381446 0.466676 +vt 0.377782 0.465694 +vt 0.384844 0.477614 +vt 0.382428 0.478254 +vt 0.384844 0.489452 +vt 0.381742 0.492230 +vt 0.343308 0.474836 +vt 0.340206 0.477614 +vt 0.257060 0.492320 +vt 0.254236 0.505198 +vt 0.223498 0.481534 +vt 0.224086 0.474110 +vt 0.251490 0.491536 +vt 0.340206 0.489452 +vt 0.342622 0.488812 +vt 0.349882 0.508762 +vt 0.343604 0.500390 +vt 0.347268 0.501374 +vt 0.366964 0.513292 +vt 0.381446 0.500390 +vt 0.375168 0.508762 +vt 0.375906 0.503876 +vt 0.340652 0.402360 +vt 0.346214 0.401578 +vt 0.363938 0.442510 +vt 0.343472 0.415222 +vt 0.353704 0.438854 +vt 0.040000 0.786667 +vt 0.107500 0.900000 +vt 0.107500 0.920000 +vt 0.062500 0.893334 +vt 0.062500 0.920000 +vt 0.080000 0.786667 +vt 0.322118 0.501128 +vt 0.319144 0.497162 +vt 0.307558 0.507848 +vt 0.307558 0.502136 +vt 0.322448 0.507798 +vt 0.322448 0.502192 +vt 0.304192 0.497010 +vt 0.322118 0.508864 +vt 0.303378 0.496560 +vt 0.299092 0.496560 +vt 0.318346 0.513268 +vt 0.295248 0.501050 +vt 0.313342 0.512828 +vt 0.294912 0.502136 +vt 0.294912 0.507848 +vt 0.310038 0.502192 +vt 0.310038 0.507798 +vt 0.298278 0.512974 +vt 0.310368 0.501128 +vt 0.299092 0.513422 +vt 0.303378 0.513422 +vt 0.318346 0.496722 +vt 0.314140 0.496722 +vt 0.307222 0.508934 +vt 0.290000 0.913334 +vt 0.170000 0.926666 +vt 0.170000 0.913334 +vt 0.290000 0.926666 +vt 0.170000 0.940000 +vt 0.290000 0.940000 +vt 0.170000 0.953334 +vt 0.290000 0.740000 +vt 0.170000 0.753334 +vt 0.170000 0.740000 +vt 0.290000 0.753334 +vt 0.170000 0.766666 +vt 0.290000 0.766666 +vt 0.170000 0.780000 +vt 0.290000 0.780000 +vt 0.170000 0.793334 +vt 0.290000 0.793334 +vt 0.170000 0.806666 +vt 0.290000 0.806666 +vt 0.170000 0.820000 +vt 0.290000 0.820000 +vt 0.170000 0.833334 +vt 0.290000 0.833334 +vt 0.170000 0.846666 +vt 0.290000 0.846666 +vt 0.170000 0.860000 +vt 0.290000 0.860000 +vt 0.170000 0.873334 +vt 0.290000 0.873334 +vt 0.170000 0.886666 +vt 0.290000 0.886666 +vt 0.170000 0.900000 +vt 0.290000 0.900000 +vt 0.295000 0.610000 +vt 0.402500 0.596666 +vt 0.402500 0.610000 +vt 0.290000 0.610000 +vt 0.172500 0.596666 +vt 0.290000 0.596666 +vt 0.295000 0.596666 +vt 0.402500 0.583334 +vt 0.290000 0.583334 +vt 0.295000 0.556666 +vt 0.402500 0.543334 +vt 0.402500 0.556666 +vt 0.172500 0.556666 +vt 0.290000 0.543334 +vt 0.290000 0.556666 +vt 0.295000 0.623334 +vt 0.402500 0.623334 +vt 0.172500 0.623334 +vt 0.290000 0.623334 +vt 0.402500 0.570000 +vt 0.172500 0.570000 +vt 0.290000 0.570000 +vt 0.295000 0.636666 +vt 0.402500 0.636666 +vt 0.172500 0.636666 +vt 0.290000 0.636666 +vt 0.295000 0.650000 +vt 0.402500 0.650000 +vt 0.172500 0.650000 +vt 0.290000 0.650000 +vt 0.295000 0.663334 +vt 0.402500 0.663334 +vt 0.290000 0.663334 +vt 0.295000 0.690000 +vt 0.402500 0.676666 +vt 0.402500 0.690000 +vt 0.172500 0.690000 +vt 0.290000 0.676666 +vt 0.290000 0.690000 +vt 0.295000 0.676666 +vt 0.172500 0.676666 +vt 0.295000 0.703334 +vt 0.402500 0.703334 +vt 0.172500 0.703334 +vt 0.290000 0.703334 +vt 0.295000 0.583334 +vt 0.172500 0.583334 +vt 0.307222 0.501050 +vt 0.319144 0.512828 +vt 0.314140 0.513268 +vt 0.298278 0.497010 +vt 0.310368 0.508864 +vt 0.295248 0.508934 +vt 0.313342 0.497164 +vt 0.304192 0.512974 +vt 0.290000 0.953334 +vt 0.172500 0.610000 +vt 0.295000 0.543334 +vt 0.172500 0.543334 +vt 0.295000 0.570000 +vt 0.172500 0.663334 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.0000 -1.0000 -0.0000 +vn -0.7071 -0.7071 -0.0000 +vn -0.0000 0.0000 1.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0108 0.9999 +vn 0.0000 -0.8606 0.5093 +vn 0.0000 -1.0000 0.0077 +vn -0.4203 -0.6416 -0.6416 +vn -0.4203 0.0000 -0.9074 +vn 0.4203 0.0000 -0.9074 +vn 0.4203 -0.6416 -0.6416 +vn -0.4203 -0.9074 0.0000 +vn 0.4203 -0.9074 0.0000 +vn -0.4203 -0.6416 0.6416 +vn 0.4203 -0.6416 0.6416 +vn -0.4203 0.0000 0.9074 +vn 0.4203 0.0000 0.9074 +vn -0.4203 0.6416 0.6416 +vn 0.4203 0.6416 0.6416 +vn -0.4203 0.9074 0.0000 +vn 0.4203 0.9074 0.0000 +vn -0.4203 0.6416 -0.6416 +vn 0.4203 0.6416 -0.6416 +vn 0.3827 0.9239 0.0000 +vn 0.9239 0.3827 0.0000 +vn 0.9239 -0.3827 -0.0000 +vn 0.3827 -0.9239 -0.0000 +vn -0.3827 -0.9239 -0.0000 +vn -0.9239 -0.3827 -0.0000 +vn -0.9239 0.3827 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.5000 -0.8660 -0.0000 +s off +f 128/183/49 122/184/49 124/185/49 +f 148/186/50 151/187/50 139/188/50 +f 154/189/51 156/190/51 153/191/51 +f 155/192/52 158/193/52 156/190/52 +f 157/194/49 160/195/49 158/196/49 +f 159/197/53 162/198/53 160/195/53 +f 161/199/54 164/200/54 162/198/54 +f 163/201/55 166/202/55 164/200/55 +f 154/203/56 171/204/56 172/205/56 +f 165/206/50 175/207/50 166/202/50 +f 167/208/57 153/191/57 175/207/57 +f 180/209/58 175/210/58 153/211/58 +f 217/212/56 218/213/56 213/214/56 +f 228/215/56 224/216/56 161/217/56 +f 230/218/56 227/219/56 197/220/56 +f 229/221/58 160/222/58 162/223/58 +f 238/224/59 240/225/59 237/226/59 +f 242/227/60 240/225/60 241/228/60 +f 243/229/50 244/230/50 241/231/50 +f 238/232/49 237/233/49 242/234/49 +f 241/228/61 246/235/61 242/227/61 +f 128/183/49 121/236/49 122/184/49 +f 122/184/49 123/237/49 124/185/49 +f 124/185/49 125/238/49 128/183/49 +f 125/238/49 126/239/49 128/183/49 +f 126/239/49 127/240/49 128/183/49 +f 151/187/50 132/241/50 139/188/50 +f 132/241/50 131/242/50 139/188/50 +f 131/242/50 136/243/50 139/188/50 +f 139/188/50 142/244/50 145/245/50 +f 145/245/50 148/186/50 139/188/50 +f 154/189/51 155/192/51 156/190/51 +f 155/192/52 157/246/52 158/193/52 +f 157/194/49 159/197/49 160/195/49 +f 159/197/53 161/199/53 162/198/53 +f 161/199/54 163/201/54 164/200/54 +f 163/201/55 165/206/55 166/202/55 +f 167/247/56 165/248/56 169/249/56 +f 165/248/56 168/250/56 169/249/56 +f 174/251/56 157/252/56 155/253/56 +f 173/254/56 174/251/56 155/253/56 +f 167/247/56 169/249/56 170/255/56 +f 167/247/56 170/255/56 154/203/56 +f 170/255/56 171/204/56 154/203/56 +f 173/254/56 155/253/56 172/205/56 +f 155/253/56 154/203/56 172/205/56 +f 165/206/50 167/208/50 175/207/50 +f 167/208/57 154/189/57 153/191/57 +f 156/256/58 158/257/58 176/258/58 +f 156/256/58 176/258/58 177/259/58 +f 182/260/58 166/261/58 181/262/58 +f 166/261/58 175/210/58 181/262/58 +f 153/211/58 156/256/58 178/263/58 +f 156/256/58 177/259/58 178/263/58 +f 180/209/58 181/262/58 175/210/58 +f 153/211/58 178/263/58 179/264/58 +f 179/264/58 180/209/58 153/211/58 +f 187/265/56 185/266/56 219/267/56 +f 185/266/56 184/268/56 218/213/56 +f 219/267/56 185/266/56 218/213/56 +f 184/268/56 213/214/56 218/213/56 +f 213/214/56 211/269/56 217/212/56 +f 211/269/56 209/270/56 216/271/56 +f 209/270/56 207/272/56 215/273/56 +f 207/272/56 205/274/56 215/273/56 +f 205/274/56 214/275/56 215/273/56 +f 220/276/56 189/277/56 187/265/56 +f 219/267/56 220/276/56 187/265/56 +f 209/270/56 215/273/56 216/271/56 +f 211/269/56 216/271/56 217/212/56 +f 159/278/56 157/252/56 232/279/56 +f 157/252/56 174/251/56 232/279/56 +f 168/250/56 165/248/56 223/280/56 +f 165/248/56 163/281/56 223/280/56 +f 159/278/56 232/279/56 235/282/56 +f 159/278/56 235/282/56 228/215/56 +f 223/280/56 163/281/56 224/216/56 +f 163/281/56 161/217/56 224/216/56 +f 161/217/56 159/278/56 228/215/56 +f 191/283/56 189/277/56 233/284/56 +f 189/277/56 220/276/56 233/284/56 +f 195/285/56 193/286/56 236/287/56 +f 193/286/56 191/283/56 233/284/56 +f 199/288/56 197/220/56 227/219/56 +f 197/220/56 195/285/56 230/218/56 +f 203/289/56 201/290/56 226/291/56 +f 201/290/56 199/288/56 227/219/56 +f 226/291/56 201/290/56 227/219/56 +f 214/275/56 205/274/56 203/289/56 +f 226/291/56 214/275/56 203/289/56 +f 193/286/56 233/284/56 236/287/56 +f 195/285/56 236/287/56 230/218/56 +f 164/292/58 166/261/58 182/260/58 +f 164/292/58 182/260/58 222/293/58 +f 176/258/58 158/257/58 231/294/58 +f 158/257/58 160/222/58 231/294/58 +f 162/223/58 164/292/58 225/295/58 +f 164/292/58 222/293/58 225/295/58 +f 234/296/58 231/294/58 160/222/58 +f 162/223/58 225/295/58 229/221/58 +f 229/221/58 234/296/58 160/222/58 +f 238/224/59 239/297/59 240/225/59 +f 242/227/60 237/226/60 240/225/60 +f 240/298/50 239/299/50 241/231/50 +f 239/299/50 243/229/50 241/231/50 +f 246/300/49 245/301/49 242/234/49 +f 245/301/49 238/232/49 242/234/49 +f 241/228/61 244/302/61 246/235/61 +s 1 +f 130/303/62 132/241/63 129/304/63 +f 134/305/64 121/236/65 133/306/65 +f 135/307/66 131/242/62 130/308/62 +f 137/309/67 121/236/65 128/183/67 +f 135/310/66 139/188/68 136/243/66 +f 137/311/67 127/240/69 140/312/69 +f 138/313/68 142/244/70 139/188/68 +f 143/314/71 127/240/69 126/239/71 +f 141/315/70 145/245/72 142/244/70 +f 143/316/71 125/238/73 146/317/73 +f 147/318/74 145/245/72 144/319/72 +f 149/320/75 125/238/73 124/185/75 +f 147/321/74 151/187/76 148/186/74 +f 149/322/75 123/237/77 152/323/77 +f 129/324/63 151/187/76 150/325/76 +f 134/326/64 123/237/77 122/184/64 +f 184/327/51 186/328/78 183/329/51 +f 185/330/78 188/331/52 186/328/78 +f 187/332/52 190/333/79 188/331/52 +f 189/334/79 192/335/49 190/336/79 +f 191/337/49 194/338/80 192/335/49 +f 193/339/80 196/340/53 194/338/80 +f 195/341/53 198/342/81 196/340/53 +f 197/343/81 200/344/54 198/342/81 +f 199/345/54 202/346/82 200/344/54 +f 201/347/82 204/348/55 202/346/82 +f 203/349/55 206/350/83 204/348/55 +f 205/351/83 208/352/50 206/350/83 +f 207/353/50 210/354/84 208/352/50 +f 209/355/84 212/356/57 210/354/84 +f 211/357/57 221/358/85 212/356/57 +f 213/359/85 183/329/51 221/358/85 +f 223/360/86 225/361/51 222/362/86 +f 223/363/86 227/364/51 224/365/51 +f 224/366/51 229/367/87 225/361/51 +f 227/364/51 228/368/87 224/365/51 +f 232/369/50 176/370/88 231/371/50 +f 233/372/50 174/373/88 232/374/50 +f 168/375/89 222/362/86 182/376/89 +f 214/377/89 223/363/86 168/378/89 +f 234/379/90 232/369/50 231/371/50 +f 236/380/90 232/374/50 235/381/90 +f 169/382/49 182/376/89 181/383/49 +f 215/384/49 168/378/89 169/385/49 +f 170/386/91 181/383/49 180/387/91 +f 216/388/91 169/385/49 170/389/91 +f 171/390/92 180/387/91 179/391/92 +f 171/392/92 216/388/91 170/389/91 +f 173/393/93 178/394/54 177/395/93 +f 219/396/93 172/397/54 173/398/93 +f 172/399/54 179/391/92 178/394/54 +f 218/400/54 171/392/92 172/397/54 +f 174/401/88 177/395/93 176/402/88 +f 220/403/88 173/398/93 174/404/88 +f 228/405/87 234/379/90 229/367/87 +f 230/406/87 235/381/90 228/368/87 +f 130/303/62 131/242/62 132/241/63 +f 134/305/64 122/184/64 121/236/65 +f 135/307/66 136/243/66 131/242/62 +f 137/309/67 133/407/65 121/236/65 +f 135/310/66 138/408/68 139/188/68 +f 137/311/67 128/183/67 127/240/69 +f 138/313/68 141/409/70 142/244/70 +f 143/314/71 140/410/69 127/240/69 +f 141/315/70 144/411/72 145/245/72 +f 143/316/71 126/239/71 125/238/73 +f 147/318/74 148/186/74 145/245/72 +f 149/320/75 146/412/73 125/238/73 +f 147/321/74 150/413/76 151/187/76 +f 149/322/75 124/185/75 123/237/77 +f 129/324/63 132/241/63 151/187/76 +f 134/326/64 152/414/77 123/237/77 +f 184/327/51 185/330/78 186/328/78 +f 185/330/78 187/332/52 188/331/52 +f 187/332/52 189/415/79 190/333/79 +f 189/334/79 191/337/49 192/335/49 +f 191/337/49 193/339/80 194/338/80 +f 193/339/80 195/341/53 196/340/53 +f 195/341/53 197/343/81 198/342/81 +f 197/343/81 199/345/54 200/344/54 +f 199/345/54 201/347/82 202/346/82 +f 201/347/82 203/349/55 204/348/55 +f 203/349/55 205/351/83 206/350/83 +f 205/351/83 207/353/50 208/352/50 +f 207/353/50 209/355/84 210/354/84 +f 209/355/84 211/357/57 212/356/57 +f 211/357/57 213/359/85 221/358/85 +f 213/359/85 184/327/51 183/329/51 +f 223/360/86 224/366/51 225/361/51 +f 223/363/86 226/416/86 227/364/51 +f 224/366/51 228/405/87 229/367/87 +f 227/364/51 230/406/87 228/368/87 +f 232/369/50 174/417/88 176/370/88 +f 233/372/50 220/418/88 174/373/88 +f 168/375/89 223/360/86 222/362/86 +f 214/377/89 226/416/86 223/363/86 +f 234/379/90 235/419/90 232/369/50 +f 236/380/90 233/372/50 232/374/50 +f 169/382/49 168/375/89 182/376/89 +f 215/384/49 214/377/89 168/378/89 +f 170/386/91 169/382/49 181/383/49 +f 216/388/91 215/384/49 169/385/49 +f 171/390/92 170/386/91 180/387/91 +f 171/392/92 217/420/92 216/388/91 +f 173/393/93 172/399/54 178/394/54 +f 219/396/93 218/400/54 172/397/54 +f 172/399/54 171/390/92 179/391/92 +f 218/400/54 217/420/92 171/392/92 +f 174/401/88 173/393/93 177/395/93 +f 220/403/88 219/396/93 173/398/93 +f 228/405/87 235/419/90 234/379/90 +f 230/406/87 236/380/90 235/381/90 +o Gun +v 0.513393 3.167058 -2.968280 +v 0.000000 3.026850 -2.968280 +v 0.000000 3.026850 2.166241 +v 0.412401 3.137352 1.926816 +v 0.518167 3.171832 1.672396 +v -0.513393 3.167058 -2.968280 +v -0.518167 3.171832 1.672396 +v -0.412401 3.137352 1.926816 +v 0.648125 2.914532 2.325881 +v -0.648125 2.914532 2.325881 +v -0.648125 2.694242 2.477893 +v 0.648125 2.694242 2.477893 +v 0.648125 3.202249 -2.603896 +v 0.648125 3.207023 1.672396 +v 0.648125 3.172543 1.926816 +v 0.648125 3.087669 2.138505 +v 0.648125 1.827062 2.466587 +v 0.648125 1.827062 -3.371653 +v 0.648125 3.202249 -3.373368 +v -0.648125 3.202249 -3.373368 +v -0.648125 3.202249 -2.603896 +v -0.648125 3.482961 -2.583913 +v -0.648125 3.482961 -3.353385 +v 0.410225 1.557572 2.449717 +v -0.648125 1.827062 2.466587 +v -0.410225 1.557569 2.449717 +v -0.648125 3.087669 2.138505 +v -0.648125 3.172543 1.926816 +v -0.648125 3.207023 1.672396 +v 1.038337 -3.794194 -8.814981 +v 1.038337 -3.162951 -8.684003 +v 1.038337 -2.579798 -8.560258 +v 1.038337 -1.996350 -8.402351 +v 1.038337 -1.120453 -8.045218 +v 1.038337 -0.091451 -7.476527 +v 1.038337 0.441162 -7.089207 +v 1.038337 1.112446 -6.400294 +v 1.038337 1.220466 -6.142394 +v 1.038337 1.005753 -5.478510 +v 1.038337 0.750945 -5.306003 +v 1.038337 0.223651 -5.215686 +v 1.038337 -0.101480 -5.453102 +v 1.038337 -0.769097 -5.873155 +v 1.038337 -1.364660 -6.016363 +v 1.038337 -2.303804 -6.153728 +v 1.038337 -3.304539 -6.180392 +v 1.038337 -4.531919 -6.132348 +v 1.038337 -5.079535 -6.119195 +v 1.038337 -5.072083 -8.828292 +v 1.038337 -4.355278 -8.863739 +v 0.677363 -5.419761 -5.771656 +v 0.677363 -4.520823 -5.793253 +v -0.677363 -4.520823 -5.793253 +v -0.677363 -5.419761 -5.771656 +v -0.677363 -5.410460 -9.151239 +v -0.677363 -4.348941 -9.203733 +v 0.677363 -4.348941 -9.203733 +v 0.677363 -5.410460 -9.151239 +v 0.677363 -1.429002 -5.682898 +v 0.677363 -0.902601 -5.556320 +v -0.677363 -0.902601 -5.556320 +v -0.677363 -1.429002 -5.682898 +v -0.677363 -3.744874 -9.151239 +v -0.677363 -3.093311 -9.016046 +v 0.677363 -3.093311 -9.016046 +v 0.677363 -3.744874 -9.151239 +v 0.677363 -3.302420 -5.840949 +v 0.677363 -2.332974 -5.815118 +v -0.677363 -2.332974 -5.815118 +v -0.677363 -3.302420 -5.840949 +v 0.677363 -0.294467 -5.173693 +v -0.677363 -0.294467 -5.173693 +v 0.677363 0.173305 -4.878585 +v -0.677363 0.173305 -4.878585 +v -0.677363 -2.500212 -8.890191 +v 0.677363 -2.500212 -8.890191 +v -0.677363 -1.887578 -8.724384 +v 0.677363 -1.887578 -8.724384 +v -0.677363 -0.973846 -8.351825 +v -0.677363 0.091069 -7.763287 +v 0.677363 0.091069 -7.763287 +v 0.677363 -0.973846 -8.351825 +v -0.677363 0.664022 -7.346631 +v 0.677363 0.664022 -7.346631 +v -0.677363 1.400451 -6.590861 +v 0.677363 1.400451 -6.590861 +v -1.038337 -5.079535 -6.119195 +v -1.038337 -5.072083 -8.828292 +v -0.677363 0.881192 -4.984477 +v -0.677363 1.292630 -5.263024 +v -1.038337 1.005753 -5.478510 +v -1.038337 0.750945 -5.306003 +v -0.677363 1.581939 -6.157557 +v -1.038337 1.220466 -6.142394 +v -1.038337 -4.355278 -8.863739 +v 0.677363 1.581939 -6.157557 +v 0.677363 1.292630 -5.263024 +v -1.038337 -1.364660 -6.016363 +v -1.038337 -2.303804 -6.153728 +v -1.038337 -2.579798 -8.560258 +v -1.038337 -1.996350 -8.402351 +v -1.038337 -3.794194 -8.814981 +v -1.038337 -3.162951 -8.684003 +v -1.038337 -3.304539 -6.180392 +v -1.038337 -4.531919 -6.132348 +v -1.038337 -0.101480 -5.453102 +v -1.038337 -0.769097 -5.873155 +v -1.038337 -1.120453 -8.045218 +v -1.038337 -0.091451 -7.476527 +v -1.038337 0.223651 -5.215686 +v -1.038337 0.441162 -7.089207 +v -1.038337 1.112446 -6.400294 +v 0.677363 0.881192 -4.984477 +v -0.388087 0.378275 -0.541007 +v -0.388087 0.538445 -0.691282 +v 0.388087 0.538445 -0.691282 +v 0.388087 0.378275 -0.541007 +v 0.388087 0.263531 0.761497 +v 0.388087 0.549235 0.902510 +v -0.388087 0.549235 0.902510 +v -0.388087 0.263531 0.761497 +v -0.388087 -3.282760 -2.259867 +v 0.388087 -3.282760 -2.259867 +v 0.388087 -3.416696 -2.107284 +v -0.388087 -3.416696 -2.107284 +v 0.388087 -2.115547 -1.510431 +v 0.388087 -2.036536 -0.519215 +v -0.388087 -2.036536 -0.519215 +v -0.388087 -2.115547 -1.510431 +v -0.388087 -2.019589 -1.905299 +v -0.388087 -1.845016 -1.572362 +v 0.388087 -1.845016 -1.572362 +v 0.388087 -2.019589 -1.905299 +v -0.388087 -2.824581 -2.298897 +v -0.388087 -2.254520 -2.104208 +v 0.388087 -2.254520 -2.104208 +v 0.388087 -2.824581 -2.298897 +v 0.388087 -2.749647 -2.086469 +v 0.388087 -2.339508 -1.897398 +v -0.388087 -2.339508 -1.897398 +v -0.388087 -2.749647 -2.086469 +v 0.388087 -1.052225 0.501511 +v 0.388087 -0.560944 0.588307 +v -0.388087 -0.560944 0.588307 +v -0.388087 -1.052225 0.501511 +v -0.388087 -1.284873 0.069368 +v -0.388087 -0.821706 0.217083 +v 0.388087 -0.821706 0.217083 +v 0.388087 -1.284873 0.069368 +v -0.388087 -1.788417 -0.845057 +v 0.388087 -1.788417 -0.845057 +v 0.388087 -1.766717 0.022973 +v -0.388087 -1.766717 0.022973 +v 0.388087 -0.334531 0.625094 +v 0.388087 0.005006 0.677293 +v -0.388087 0.005006 0.677293 +v -0.388087 -0.334531 0.625094 +v -0.388087 -0.356680 0.194787 +v -0.388087 0.002437 0.021986 +v 0.388087 0.002437 0.021986 +v 0.388087 -0.356680 0.194787 +v -0.388087 -1.615613 -0.248490 +v -0.388087 -1.423407 0.304049 +v 0.388087 -1.615613 -0.248490 +v 0.388087 -1.423407 0.304049 +v -0.334293 -1.549449 -2.555341 +v -0.334293 -1.287187 -2.738739 +v -0.334293 -0.766452 -2.910610 +v -0.334293 -0.399781 -2.891256 +v -0.334293 -0.115175 -2.859514 +v -0.334293 0.168657 -2.706223 +v -0.334293 0.588200 -2.184493 +v -0.334293 0.282394 -3.889986 +v -0.334293 -0.106957 -3.400619 +v -0.334293 -0.356724 -3.225651 +v -0.334293 -0.736246 -3.153187 +v -0.334293 -1.159743 -2.994812 +v -0.334293 -1.539680 -2.799144 +v -0.334293 -1.754503 -2.595457 +v -0.334293 -1.929948 -2.254812 +v -0.339648 -2.024864 -1.896991 +v -0.339648 -1.896961 -1.579169 +v -0.334293 -1.813819 -2.175126 +v 0.334293 0.282394 -3.889986 +v 0.334293 -0.106957 -3.400619 +v 0.334293 0.168657 -2.706223 +v 0.334293 0.588200 -2.184493 +v 0.334293 -1.287187 -2.738739 +v 0.334293 -0.766452 -2.910610 +v 0.334293 -1.159743 -2.994812 +v 0.334293 -1.539680 -2.799144 +v 0.334293 -1.754503 -2.595457 +v 0.334293 -1.929948 -2.254812 +v 0.334293 -0.736246 -3.153187 +v 0.334293 -0.356724 -3.225651 +v 0.334293 -0.115175 -2.859514 +v 0.334293 -0.399781 -2.891256 +v 0.334293 -1.549449 -2.555341 +v 0.334293 -1.813819 -2.175126 +v 0.328939 -1.896961 -1.579169 +v 0.328939 -2.024864 -1.896991 +v -0.677363 4.127562 -4.010149 +v -0.677363 4.243626 -3.549657 +v 0.677363 4.243626 -3.549657 +v 0.677363 4.127562 -4.010149 +v -0.677363 4.582104 -3.283700 +v 0.677363 4.582104 -3.283700 +v -0.677363 2.640762 -6.548580 +v -0.677363 2.737251 -6.208553 +v 0.677363 2.737251 -6.208553 +v 0.677363 2.640762 -6.548580 +v -0.677363 2.014416 -6.783812 +v -0.677363 2.238806 -6.763745 +v 0.677363 2.238806 -6.763745 +v 0.677363 2.014416 -6.783812 +v -0.677363 3.424877 -5.697894 +v -0.677363 3.656194 -5.417248 +v 0.677363 3.656194 -5.417248 +v 0.677363 3.424877 -5.697894 +v -0.677363 3.870349 -5.088138 +v -0.677363 4.091084 -4.470795 +v 0.677363 4.091084 -4.470795 +v 0.677363 3.870349 -5.088138 +v -0.677363 2.497756 -6.693510 +v 0.677363 2.497756 -6.693510 +v -0.677363 0.283971 -3.279829 +v 0.677363 0.283971 -3.279829 +v -0.677363 1.474082 -6.850760 +v -0.677363 1.751935 -6.791059 +v 0.677363 1.751935 -6.791059 +v 0.677363 1.474082 -6.850760 +v -0.677363 1.300423 -6.918651 +v 0.677363 1.300423 -6.918651 +v 0.677363 0.288958 -4.369509 +v -0.677363 0.288958 -4.369509 +v 0.677363 0.183064 -4.636606 +v -0.677363 0.183064 -4.636606 +v 0.677363 -0.094873 -5.054910 +v 0.677363 0.938536 -7.024597 +v -0.677363 0.938536 -7.024597 +v -0.677363 -0.094873 -5.054910 +v -0.410225 1.557572 -3.367706 +v -0.410225 0.363872 -4.767666 +v -0.410225 0.088182 -3.011839 +v -0.410225 0.346088 -2.547045 +v -0.410225 0.370646 -2.111420 +v -0.410225 0.490531 -1.718697 +v -0.410225 0.536416 0.879805 +v -0.410225 1.060247 2.159820 +v -0.410225 1.224972 2.278783 +v 0.410225 1.224972 2.278783 +v 0.410225 0.370646 -2.111420 +v 0.410225 0.490531 -1.718697 +v 0.410225 0.088182 -3.011839 +v 0.410225 0.346088 -2.547045 +v 0.410225 0.363872 -4.767666 +v 0.410225 1.557572 -3.367706 +v 0.410225 1.060247 2.159820 +v 0.410225 0.536416 0.879805 +v 0.165776 0.293496 -1.893382 +v 0.165776 0.680617 -1.761686 +v -0.165974 0.680617 -1.761686 +v -0.165974 0.293496 -1.893382 +v -0.165974 -1.314300 -1.864868 +v 0.165776 -1.314300 -1.864868 +v 0.165776 -1.503054 -1.310113 +v -0.165974 -1.503054 -1.310113 +v 0.165776 -0.933038 -1.695922 +v 0.165776 -0.526778 -1.857364 +v -0.165974 -0.526778 -1.857364 +v -0.165974 -0.933038 -1.695922 +v -0.165974 -0.802843 -2.222122 +v -0.165974 -0.354921 -2.352316 +v 0.165776 -0.354921 -2.352316 +v 0.165776 -0.802843 -2.222122 +v 0.165776 -0.071044 -1.902498 +v -0.165974 -0.071044 -1.902498 +v -0.165974 0.129456 -2.466887 +v 0.165776 0.129456 -2.466887 +v -0.165974 0.697671 -2.080118 +v -0.165974 0.361592 -2.371173 +v 0.165776 0.361592 -2.371173 +v 0.165776 0.697671 -2.080118 +v -1.216637 4.585567 -2.907501 +v -1.216637 4.585567 -2.368979 +v -0.503948 5.298257 -2.368979 +v -0.503948 5.298257 -2.907501 +v 1.216637 4.585567 -2.907501 +v 1.216637 4.585567 -2.368979 +v 1.216637 3.577672 -2.368979 +v 1.216637 3.577672 -2.907501 +v 0.503948 2.864983 -2.368979 +v 0.503948 2.864983 -2.907501 +v -0.503947 2.864983 -2.907501 +v -0.503947 2.864983 -2.368979 +v -1.216637 3.577672 -2.368979 +v -1.216637 3.577672 -2.907501 +v 0.503947 5.298257 -2.368979 +v 0.503947 5.298257 -2.907501 +v 0.370304 4.975613 -3.279490 +v -0.370304 4.975613 -3.279490 +v 0.893993 4.451924 -3.279490 +v 0.893993 3.711316 -3.279490 +v 0.370304 3.187627 -3.279490 +v -0.893993 3.711316 -3.279490 +v -0.370304 3.187627 -3.279490 +v -0.893993 4.451924 -3.279490 +v 0.648125 3.482961 -3.353385 +v 0.648125 3.482961 -2.583913 +v -0.648125 1.827062 -3.371653 +vt 0.336992 0.270342 +vt 0.255266 0.273654 +vt 0.255266 0.270342 +vt 0.614566 0.346798 +vt 0.614596 0.379886 +vt 0.600710 0.379886 +vt 0.465000 0.643334 +vt 0.480000 0.636666 +vt 0.480000 0.643334 +vt 0.255266 0.300062 +vt 0.336992 0.303374 +vt 0.255266 0.303374 +vt 0.600214 0.487836 +vt 0.601098 0.500080 +vt 0.595040 0.491676 +vt 0.503148 0.512132 +vt 0.503584 0.524246 +vt 0.495896 0.518924 +vt 0.096596 0.379962 +vt 0.093018 0.386784 +vt 0.091840 0.380216 +vt 0.070000 0.743334 +vt 0.057500 0.726666 +vt 0.070000 0.726666 +vt 0.070000 0.700000 +vt 0.057500 0.683334 +vt 0.070000 0.683334 +vt 0.053524 0.411332 +vt 0.046216 0.417760 +vt 0.046848 0.410186 +vt 0.070000 0.676666 +vt 0.057500 0.663334 +vt 0.070000 0.663334 +vt 0.070000 0.716666 +vt 0.057500 0.710000 +vt 0.070000 0.710000 +vt 0.070000 0.646666 +vt 0.057500 0.646666 +vt 0.057500 0.676666 +vt 0.057500 0.700000 +vt 0.057500 0.716666 +vt 0.512500 0.690000 +vt 0.540000 0.800000 +vt 0.512500 0.800000 +vt 0.757830 0.629988 +vt 0.796914 0.668008 +vt 0.786324 0.691844 +vt 0.816062 0.674308 +vt 0.815928 0.668042 +vt 0.826376 0.691556 +vt 0.568242 0.229558 +vt 0.611622 0.230578 +vt 0.540712 0.253308 +vt 0.487500 0.780000 +vt 0.470000 0.793334 +vt 0.470000 0.780000 +vt 0.487500 0.756666 +vt 0.470000 0.770000 +vt 0.470000 0.756666 +vt 0.487500 0.710000 +vt 0.470000 0.710000 +vt 0.599684 0.311164 +vt 0.608072 0.304958 +vt 0.614494 0.340312 +vt 0.487500 0.770000 +vt 0.007500 0.690000 +vt 0.015000 0.700000 +vt 0.007500 0.700000 +vt 0.007500 0.770000 +vt 0.015000 0.753334 +vt 0.015000 0.770000 +vt 0.007500 0.723334 +vt 0.015000 0.736666 +vt 0.007500 0.736666 +vt 0.015000 0.800000 +vt 0.007500 0.786666 +vt 0.015000 0.786666 +vt 0.007500 0.710000 +vt 0.015000 0.723334 +vt 0.015000 0.813334 +vt 0.007500 0.800000 +vt 0.047414 0.461680 +vt 0.057378 0.458394 +vt 0.054322 0.468652 +vt 0.027954 0.468120 +vt 0.024942 0.458008 +vt 0.034762 0.461248 +vt 0.007500 0.753334 +vt 0.015000 0.710000 +vt 0.015000 0.820000 +vt 0.007500 0.813334 +vt 0.117500 0.613333 +vt 0.127500 0.583333 +vt 0.127500 0.613333 +vt 0.117500 0.523334 +vt 0.127500 0.493334 +vt 0.127500 0.523334 +vt 0.117500 0.493334 +vt 0.127500 0.463334 +vt 0.117500 0.673333 +vt 0.127500 0.643333 +vt 0.127500 0.673333 +vt 0.117500 0.643333 +vt 0.247500 0.426666 +vt 0.262500 0.406666 +vt 0.280000 0.406666 +vt 0.117500 0.553334 +vt 0.127500 0.553334 +vt 0.117500 0.583333 +vt 0.137500 0.580000 +vt 0.137500 0.550000 +vt 0.137500 0.496666 +vt 0.137500 0.520000 +vt 0.137500 0.490000 +vt 0.137500 0.670000 +vt 0.137500 0.640000 +vt 0.137500 0.610000 +vt 0.222500 0.433334 +vt 0.212500 0.466666 +vt 0.187500 0.453334 +vt 0.465000 0.626666 +vt 0.480000 0.633334 +vt 0.465000 0.633334 +vt 0.637500 0.253333 +vt 0.540000 0.260000 +vt 0.540000 0.253333 +vt 0.510000 0.340000 +vt 0.615000 0.346667 +vt 0.510000 0.346667 +vt 0.487500 0.793334 +vt 0.470000 0.860000 +vt 0.624854 0.290024 +vt 0.553464 0.289918 +vt 0.540646 0.259308 +vt 0.343956 0.273776 +vt 0.523542 0.380000 +vt 0.518950 0.379170 +vt 0.511750 0.372962 +vt 0.509210 0.346798 +vt 0.509006 0.367662 +vt 0.515130 0.377128 +vt 0.465000 0.636666 +vt 0.343956 0.299940 +vt 0.614288 0.539426 +vt 0.616976 0.546688 +vt 0.600194 0.532792 +vt 0.586600 0.546412 +vt 0.589464 0.542342 +vt 0.610988 0.518476 +vt 0.611690 0.524230 +vt 0.603488 0.523666 +vt 0.612684 0.532858 +vt 0.609334 0.505992 +vt 0.603912 0.511850 +vt 0.605570 0.496560 +vt 0.570988 0.478972 +vt 0.589880 0.480978 +vt 0.583670 0.487284 +vt 0.556706 0.449310 +vt 0.559614 0.445906 +vt 0.560010 0.462858 +vt 0.559672 0.475440 +vt 0.555962 0.460954 +vt 0.569808 0.485846 +vt 0.563464 0.481410 +vt 0.563614 0.473280 +vt 0.552306 0.459954 +vt 0.548502 0.474806 +vt 0.548156 0.461908 +vt 0.544616 0.480926 +vt 0.544462 0.472592 +vt 0.538112 0.485474 +vt 0.536902 0.478426 +vt 0.523902 0.486948 +vt 0.551544 0.448020 +vt 0.548562 0.444530 +vt 0.506942 0.487514 +vt 0.517534 0.480484 +vt 0.512246 0.491450 +vt 0.501450 0.496456 +vt 0.506034 0.500066 +vt 0.497592 0.506126 +vt 0.494158 0.533668 +vt 0.495178 0.524822 +vt 0.520896 0.547564 +vt 0.489756 0.547846 +vt 0.517960 0.543392 +vt 0.492512 0.540402 +vt 0.506960 0.533602 +vt 0.093652 0.424652 +vt 0.103830 0.435566 +vt 0.070558 0.427612 +vt 0.080106 0.417484 +vt 0.090662 0.417270 +vt 0.083518 0.410986 +vt 0.084932 0.401114 +vt 0.090042 0.409866 +vt 0.088022 0.390098 +vt 0.089664 0.400328 +vt 0.095814 0.374628 +vt 0.102458 0.370064 +vt 0.104014 0.373084 +vt 0.109440 0.367596 +vt 0.115640 0.370922 +vt 0.057500 0.743334 +vt 0.034146 0.369466 +vt 0.040944 0.374134 +vt 0.032556 0.372556 +vt 0.045010 0.379852 +vt 0.040144 0.379592 +vt 0.048916 0.389962 +vt 0.043804 0.386570 +vt 0.052076 0.401232 +vt 0.047236 0.400428 +vt 0.027004 0.366940 +vt 0.020660 0.370344 +vt 0.057016 0.417980 +vt 0.066782 0.428340 +vt 0.043156 0.425314 +vt 0.032742 0.436480 +vt 0.540000 0.690000 +vt 0.765968 0.719244 +vt 0.754758 0.724574 +vt 0.752980 0.632546 +vt 0.746394 0.725446 +vt 0.738034 0.728246 +vt 0.733200 0.736432 +vt 0.733200 0.632400 +vt 0.771946 0.714068 +vt 0.777044 0.708476 +vt 0.795132 0.686058 +vt 0.792498 0.689516 +vt 0.796410 0.679792 +vt 0.765428 0.623270 +vt 0.798002 0.661284 +vt 0.801168 0.648326 +vt 0.799238 0.657082 +vt 0.796778 0.674360 +vt 0.859270 0.633056 +vt 0.878786 0.632914 +vt 0.865768 0.724708 +vt 0.878786 0.735546 +vt 0.874018 0.727470 +vt 0.811732 0.648624 +vt 0.846990 0.623906 +vt 0.813636 0.657262 +vt 0.854486 0.630532 +vt 0.814854 0.661408 +vt 0.857518 0.723846 +vt 0.846460 0.718588 +vt 0.840562 0.713482 +vt 0.835532 0.707964 +vt 0.820284 0.689260 +vt 0.816424 0.679666 +vt 0.817686 0.685848 +vt 0.634976 0.245906 +vt 0.637830 0.253308 +vt 0.517340 0.226738 +vt 0.546654 0.220602 +vt 0.554412 0.226342 +vt 0.561686 0.226888 +vt 0.632990 0.242238 +vt 0.639758 0.311592 +vt 0.509514 0.340312 +vt 0.537844 0.315742 +vt 0.584736 0.314638 +vt 0.512600 0.332310 +vt 0.514746 0.328346 +vt 0.591824 0.311754 +vt 0.015000 0.690000 +vt 0.053638 0.489364 +vt 0.056132 0.499138 +vt 0.050102 0.499570 +vt 0.044590 0.491084 +vt 0.042778 0.485222 +vt 0.044948 0.472990 +vt 0.053466 0.480160 +vt 0.054178 0.448766 +vt 0.064684 0.444000 +vt 0.037192 0.472396 +vt 0.039332 0.484452 +vt 0.028796 0.479462 +vt 0.037544 0.490228 +vt 0.028626 0.488534 +vt 0.032112 0.498592 +vt 0.026168 0.498168 +vt 0.017740 0.443822 +vt 0.028094 0.448520 +vt 0.007500 0.820000 +vt 0.117500 0.463334 +vt 0.295000 0.426666 +vt 0.295000 0.450000 +vt 0.280000 0.470000 +vt 0.262500 0.470000 +vt 0.247500 0.450000 +vt 0.137500 0.556667 +vt 0.137500 0.526666 +vt 0.137500 0.466666 +vt 0.137500 0.646667 +vt 0.137500 0.616667 +vt 0.137500 0.586667 +vt 0.187500 0.433334 +vt 0.197500 0.420000 +vt 0.212500 0.420000 +vt 0.222500 0.453334 +vt 0.197500 0.466666 +vt 0.480000 0.626666 +vt 0.637500 0.260000 +vt 0.615000 0.340000 +vt 0.487500 0.860000 +vt 0.540618 0.289918 +vt 0.638112 0.259308 +vt 0.638300 0.278610 +vt 0.635762 0.283514 +vt 0.632634 0.287368 +vt 0.629100 0.289256 +vt 0.245828 0.286858 +vt 0.250404 0.276350 +vt 0.250404 0.297368 +vt 0.465000 0.950000 +vt 0.492500 0.943334 +vt 0.492500 0.950000 +vt 0.246358 0.270342 +vt 0.250404 0.270342 +vt 0.465000 0.920000 +vt 0.470000 0.913334 +vt 0.492500 0.920000 +vt 0.242776 0.303374 +vt 0.242776 0.270342 +vt 0.246358 0.303374 +vt 0.250404 0.303374 +vt 0.781120 0.480610 +vt 0.749548 0.462818 +vt 0.752368 0.447180 +vt 0.427500 0.650000 +vt 0.455000 0.673334 +vt 0.427500 0.673334 +vt 0.455000 0.793334 +vt 0.427500 0.763334 +vt 0.455000 0.763334 +vt 0.427500 0.553334 +vt 0.455000 0.570000 +vt 0.427500 0.570000 +vt 0.455000 0.826666 +vt 0.427500 0.806666 +vt 0.455000 0.806666 +vt 0.427500 0.593334 +vt 0.455000 0.620000 +vt 0.427500 0.620000 +vt 0.427500 0.536666 +vt 0.455000 0.553334 +vt 0.427500 0.520000 +vt 0.455000 0.536666 +vt 0.427500 0.793334 +vt 0.455000 0.650000 +vt 0.455000 0.840000 +vt 0.427500 0.826666 +vt 0.455000 0.856666 +vt 0.427500 0.840000 +vt 0.455000 0.916666 +vt 0.427500 0.883334 +vt 0.455000 0.883334 +vt 0.427500 0.856666 +vt 0.455000 0.933334 +vt 0.427500 0.916666 +vt 0.455000 0.963334 +vt 0.427500 0.933334 +vt 0.455000 0.593334 +vt 0.837092 0.341162 +vt 0.896614 0.349824 +vt 0.843432 0.350018 +vt 0.918888 0.505838 +vt 0.909190 0.509100 +vt 0.912576 0.502430 +vt 0.913420 0.516608 +vt 0.896158 0.514720 +vt 0.836062 0.368946 +vt 0.842736 0.368780 +vt 0.807740 0.349838 +vt 0.815134 0.368824 +vt 0.808438 0.368658 +vt 0.814100 0.340954 +vt 0.754392 0.349642 +vt 0.747548 0.340708 +vt 0.737532 0.516950 +vt 0.754850 0.515056 +vt 0.755148 0.524546 +vt 0.747974 0.364312 +vt 0.754652 0.364020 +vt 0.902582 0.421712 +vt 0.898632 0.447056 +vt 0.895936 0.422476 +vt 0.842218 0.417334 +vt 0.851794 0.430522 +vt 0.845472 0.433370 +vt 0.799352 0.430594 +vt 0.808960 0.417364 +vt 0.805694 0.433450 +vt 0.743308 0.459312 +vt 0.839746 0.401812 +vt 0.843694 0.383466 +vt 0.846266 0.399988 +vt 0.807478 0.383390 +vt 0.811438 0.401792 +vt 0.804898 0.399964 +vt 0.748404 0.421756 +vt 0.755598 0.396246 +vt 0.755072 0.422522 +vt 0.902076 0.396338 +vt 0.896356 0.364156 +vt 0.903012 0.364448 +vt 0.907662 0.459150 +vt 0.909688 0.480118 +vt 0.901444 0.462644 +vt 0.852786 0.457286 +vt 0.869968 0.480382 +vt 0.864338 0.485158 +vt 0.798358 0.457442 +vt 0.786768 0.485402 +vt 0.735774 0.475280 +vt 0.736600 0.488884 +vt 0.729962 0.487562 +vt 0.837092 0.384758 +vt 0.814100 0.384686 +vt 0.748914 0.396302 +vt 0.903436 0.340918 +vt 0.895412 0.396282 +vt 0.848694 0.415252 +vt 0.802462 0.415276 +vt 0.745800 0.445490 +vt 0.858804 0.453448 +vt 0.792320 0.453592 +vt 0.741276 0.480346 +vt 0.905178 0.445372 +vt 0.915174 0.475068 +vt 0.914350 0.488628 +vt 0.877572 0.494322 +vt 0.872518 0.500154 +vt 0.773494 0.494594 +vt 0.778564 0.500446 +vt 0.891096 0.511892 +vt 0.887354 0.519430 +vt 0.759928 0.512220 +vt 0.763680 0.519782 +vt 0.732048 0.506148 +vt 0.738378 0.502728 +vt 0.920966 0.487310 +vt 0.895860 0.524180 +vt 0.741776 0.509418 +vt 0.022500 0.536666 +vt 0.037500 0.543334 +vt 0.022500 0.543334 +vt 0.037500 0.853334 +vt 0.022500 0.846666 +vt 0.037500 0.846666 +vt 0.037500 0.693334 +vt 0.022500 0.700000 +vt 0.022500 0.693334 +vt 0.037500 0.770000 +vt 0.022500 0.743334 +vt 0.037500 0.743334 +vt 0.022500 0.646666 +vt 0.037500 0.656666 +vt 0.022500 0.656666 +vt 0.022500 0.666666 +vt 0.037500 0.683334 +vt 0.022500 0.683334 +vt 0.037500 0.730000 +vt 0.022500 0.716666 +vt 0.037500 0.716666 +vt 0.037500 0.823334 +vt 0.022500 0.810000 +vt 0.037500 0.810000 +vt 0.022500 0.583334 +vt 0.037500 0.596666 +vt 0.022500 0.596666 +vt 0.037500 0.700000 +vt 0.037500 0.666666 +vt 0.022500 0.730000 +vt 0.022500 0.626666 +vt 0.037500 0.646666 +vt 0.037500 0.786666 +vt 0.022500 0.770000 +vt 0.037500 0.840000 +vt 0.022500 0.830000 +vt 0.037500 0.830000 +vt 0.022500 0.560000 +vt 0.037500 0.573334 +vt 0.022500 0.573334 +vt 0.022500 0.840000 +vt 0.037500 0.560000 +vt 0.037500 0.583334 +vt 0.022500 0.823334 +vt 0.037500 0.610000 +vt 0.022500 0.610000 +vt 0.022500 0.796666 +vt 0.037500 0.796666 +vt 0.022500 0.786666 +vt 0.037500 0.626666 +vt 0.130000 0.806666 +vt 0.117500 0.790000 +vt 0.130000 0.790000 +vt 0.130000 0.760000 +vt 0.117500 0.750000 +vt 0.130000 0.750000 +vt 0.130000 0.743334 +vt 0.117500 0.733334 +vt 0.130000 0.733334 +vt 0.130000 0.783334 +vt 0.117500 0.773334 +vt 0.130000 0.773334 +vt 0.117500 0.723334 +vt 0.130000 0.723334 +vt 0.117500 0.743334 +vt 0.117500 0.760000 +vt 0.117500 0.783334 +vt 0.512500 0.813334 +vt 0.540000 0.823334 +vt 0.512500 0.823334 +vt 0.540000 0.813334 +vt 0.512500 0.896666 +vt 0.540000 0.903334 +vt 0.512500 0.903334 +vt 0.512500 0.916666 +vt 0.540000 0.923334 +vt 0.512500 0.923334 +vt 0.512500 0.863334 +vt 0.540000 0.873334 +vt 0.512500 0.873334 +vt 0.512500 0.836666 +vt 0.540000 0.853334 +vt 0.512500 0.853334 +vt 0.540000 0.896666 +vt 0.540000 0.910000 +vt 0.512500 0.910000 +vt 0.512500 0.930000 +vt 0.540000 0.936666 +vt 0.512500 0.936666 +vt 0.540000 0.836666 +vt 0.540000 0.863334 +vt 0.540000 0.916666 +vt 0.540000 0.930000 +vt 0.540000 0.943334 +vt 0.512500 0.943334 +vt 0.512500 0.660000 +vt 0.540000 0.660000 +vt 0.512500 0.653334 +vt 0.540000 0.653334 +vt 0.540000 0.953334 +vt 0.512500 0.953334 +vt 0.512500 0.640000 +vt 0.540000 0.640000 +vt 0.487500 0.903334 +vt 0.470000 0.903334 +vt 0.470000 0.896666 +vt 0.487500 0.896666 +vt 0.343956 0.286858 +vt 0.465000 0.943334 +vt 0.487500 0.913334 +vt 0.455000 0.520000 +vt 0.427500 0.963334 +vt 0.037500 0.536666 +vt 0.022500 0.853334 +vt 0.117500 0.806666 +vn -0.2614 0.9652 -0.0011 +vn -0.2578 0.9662 -0.0012 +vn 1.0000 0.0000 0.0000 +vn -1.0000 -0.0000 0.0000 +vn 0.2583 0.9661 -0.0030 +vn 0.2614 0.9652 -0.0011 +vn 0.0000 -0.7793 0.6267 +vn 0.0000 0.3134 0.9496 +vn 0.0000 0.8210 0.5709 +vn 0.0000 -0.1108 0.9938 +vn 0.0000 0.9904 0.1382 +vn 0.0000 0.5731 0.8195 +vn 0.0000 -0.0527 0.9986 +vn 0.0000 -0.4752 0.8799 +vn 0.0000 0.0009 1.0000 +vn 0.0000 -0.9564 0.2920 +vn 0.0000 -0.8744 0.4852 +vn 0.0000 -0.9879 -0.1551 +vn 0.0000 -0.9984 0.0563 +vn 0.0000 -0.3221 0.9467 +vn 0.0000 -0.9467 -0.3221 +vn 0.0000 0.3693 0.9293 +vn 0.0000 -0.2791 -0.9603 +vn 0.0000 0.0986 0.9951 +vn 0.0000 -0.2302 -0.9731 +vn 0.0000 -0.5726 -0.8198 +vn 0.0000 0.5605 0.8281 +vn 0.0000 -0.0250 0.9997 +vn 0.0000 0.3812 -0.9245 +vn -0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.0000 0.0000 1.0000 +vn 0.7071 0.7071 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.7554 -0.6552 +vn 0.5342 0.5342 -0.6552 +vn 0.7554 0.0000 -0.6552 +vn 0.5342 -0.5342 -0.6552 +vn -0.5342 -0.5342 -0.6552 +vn -0.7554 0.0000 -0.6552 +vn -0.5342 0.5342 -0.6552 +vn 0.0000 0.0000 -1.0000 +vn -0.7497 -0.6618 -0.0000 +vn 0.7497 -0.6618 -0.0000 +vn 0.0000 -0.9998 0.0177 +vn -0.2508 0.9680 -0.0007 +vn -0.2457 0.9693 -0.0042 +vn -0.2507 0.9680 -0.0044 +vn 0.2508 0.9680 -0.0044 +vn 0.2457 0.9693 -0.0042 +vn 0.2508 0.9680 -0.0007 +vn -0.9999 0.0087 -0.0127 +vn -0.9998 0.0166 -0.0067 +vn 0.9999 -0.0087 0.0127 +vn 0.9998 -0.0166 0.0067 +vn -0.0000 1.0000 0.0070 +vn -0.2419 0.9698 0.0308 +vn -0.2652 0.9642 0.0010 +vn 0.2680 0.9634 0.0025 +vn 0.2419 0.9698 0.0308 +vn 0.0164 0.6644 0.7472 +vn 0.0000 0.2912 0.9567 +vn -0.0164 0.6644 0.7472 +vn -0.1115 0.9619 0.2498 +vn -0.0769 0.8571 0.5095 +vn -0.1619 0.9600 0.2284 +vn 0.0000 -0.0304 0.9995 +vn 0.0000 -0.2276 0.9738 +vn 0.0000 0.8427 0.5384 +vn -0.2117 0.9713 0.1081 +vn -0.2592 0.9571 0.1297 +vn 0.1115 0.9619 0.2498 +vn 0.0769 0.8571 0.5095 +vn 0.2094 0.9718 0.1082 +vn 0.1619 0.9600 0.2284 +vn 0.9123 0.2199 -0.3455 +vn 0.9336 -0.1391 0.3302 +vn 0.9221 -0.0733 0.3800 +vn 0.3677 0.0294 0.9295 +vn -0.2777 0.0231 0.9604 +vn 0.2777 0.0231 0.9604 +vn -0.3635 0.0174 -0.9314 +vn 0.2844 -0.0474 -0.9575 +vn -0.2844 -0.0474 -0.9575 +vn 0.3853 -0.3583 0.8504 +vn -0.3723 -0.1758 0.9113 +vn 0.3723 -0.1758 0.9113 +vn -0.3681 0.1909 -0.9100 +vn 0.3641 0.1352 -0.9215 +vn -0.3641 0.1352 -0.9215 +vn 0.3736 -0.0796 0.9242 +vn -0.3711 0.0058 0.9286 +vn 0.3711 0.0058 0.9286 +vn 0.3632 -0.5016 0.7852 +vn -0.3853 -0.3583 0.8504 +vn 0.4618 -0.3170 0.8284 +vn -0.3632 -0.5016 0.7852 +vn 0.2844 -0.9587 -0.0026 +vn -0.2777 -0.9607 -0.0026 +vn -0.2844 -0.9587 -0.0026 +vn 0.3635 0.0174 -0.9314 +vn -0.3677 0.0294 0.9295 +vn -0.3662 0.2182 -0.9046 +vn 0.3681 0.1909 -0.9100 +vn -0.3639 0.2981 -0.8825 +vn 0.3662 0.2182 -0.9046 +vn -0.3639 0.5001 -0.7858 +vn 0.3641 0.4018 -0.8403 +vn -0.3641 0.4018 -0.8403 +vn 0.3639 0.2981 -0.8825 +vn -0.3625 0.6100 -0.7046 +vn 0.3639 0.5001 -0.7858 +vn -0.4789 0.6904 -0.5422 +vn 0.3625 0.6100 -0.7046 +vn -0.3736 -0.0796 0.9242 +vn -0.8982 -0.3076 0.3142 +vn -0.8954 -0.3221 -0.3074 +vn -0.6900 0.2669 0.6728 +vn -0.8937 0.3587 0.2695 +vn -0.9005 0.1621 0.4035 +vn -0.7050 0.5671 0.4260 +vn -0.8927 0.4503 -0.0189 +vn -0.9118 0.0077 -0.4106 +vn 0.8954 -0.3221 -0.3074 +vn 0.9118 0.0077 -0.4106 +vn 0.8982 -0.3076 0.3142 +vn 0.2777 -0.9607 -0.0026 +vn 0.7050 0.5671 0.4260 +vn 0.8927 0.4503 -0.0189 +vn 0.7079 0.7057 -0.0296 +vn 0.9171 0.0126 0.3984 +vn -0.9221 -0.0733 0.3800 +vn -0.9234 -0.0329 0.3824 +vn -0.9123 0.1310 -0.3879 +vn 0.9123 0.1310 -0.3879 +vn -0.9126 0.0593 -0.4046 +vn -0.9176 0.0816 -0.3890 +vn 0.9126 0.0593 -0.4046 +vn 0.9176 0.0816 -0.3890 +vn 0.9209 0.0024 0.3898 +vn 0.9234 -0.0329 0.3824 +vn -0.9171 0.0126 0.3984 +vn -0.9211 -0.2186 0.3222 +vn -0.9336 -0.1391 0.3302 +vn -0.9123 0.2199 -0.3455 +vn 0.8848 -0.1072 0.4534 +vn -0.9209 0.0024 0.3898 +vn -0.9153 0.0944 -0.3915 +vn 0.9153 0.0944 -0.3915 +vn -0.9126 0.1764 -0.3689 +vn 0.9126 0.1764 -0.3689 +vn 0.9211 -0.2186 0.3222 +vn -0.8848 -0.1072 0.4534 +vn -0.9103 0.2709 -0.3129 +vn 0.9103 0.2709 -0.3129 +vn -0.9023 0.3595 -0.2379 +vn 0.9023 0.3595 -0.2379 +vn 0.4789 0.6904 -0.5422 +vn 0.6900 0.2669 0.6728 +vn 0.9005 0.1621 0.4035 +vn -0.4618 -0.3170 0.8284 +vn -0.7079 0.7057 -0.0296 +vn 0.8937 0.3587 0.2695 +vn 0.0000 -0.6842 -0.7293 +vn 0.0000 -0.7629 -0.6465 +vn 0.0000 -0.4426 0.8967 +vn 0.0000 -0.3771 0.9262 +vn 0.0000 -0.4508 -0.8926 +vn 0.0000 -0.7515 -0.6597 +vn 0.0000 -0.9636 0.2674 +vn 0.0000 -0.9547 0.2975 +vn 0.0000 0.9610 -0.2766 +vn 0.0000 0.7803 -0.6254 +vn 0.0000 0.4933 -0.8699 +vn 0.0000 0.1218 -0.9926 +vn 0.0000 -0.6736 0.7391 +vn 0.0000 -0.2295 0.9733 +vn 0.0000 -0.1672 0.9859 +vn 0.0000 -0.3258 0.9454 +vn 0.0000 0.1300 -0.9915 +vn 0.0000 0.5117 -0.8592 +vn 0.0000 -0.0312 0.9995 +vn 0.0000 0.9839 -0.1788 +vn 0.0000 -0.7818 0.6235 +vn 0.0000 -0.2316 0.9728 +vn 0.0000 -0.1562 0.9877 +vn 0.0000 -0.6559 -0.7549 +vn 0.0000 -0.2457 -0.9694 +vn 0.0000 0.8559 -0.5172 +vn 0.0000 -0.5543 0.8323 +vn 0.0000 -0.7825 -0.6226 +vn 0.0000 -0.6852 -0.7283 +vn 0.0000 -0.4048 -0.9144 +vn 0.0000 -0.5787 -0.8155 +vn 0.0000 -0.7998 -0.6002 +vn 0.0000 -0.9331 -0.3597 +vn 0.0000 -0.9334 -0.3588 +vn 0.0000 -0.3893 -0.9211 +vn 0.0000 -0.2699 -0.9629 +vn 0.0000 -0.9666 -0.2564 +vn 0.0000 0.8387 -0.5446 +vn 0.0000 0.9868 -0.1622 +vn 0.0000 0.6178 -0.7863 +vn 0.0000 0.8229 -0.5682 +vn 0.0000 0.8640 -0.5035 +vn 0.0000 0.1761 -0.9844 +vn 0.0000 0.0584 -0.9983 +vn 0.0000 0.8062 -0.5917 +vn 0.0000 0.6890 -0.7248 +vn 0.0000 0.9778 -0.2096 +vn 0.0000 0.8960 -0.4441 +vn 0.0000 0.5042 -0.8636 +vn 0.0000 0.1193 -0.9929 +vn 0.0000 0.2880 -0.9576 +vn 0.0000 0.3228 -0.9465 +vn 0.0000 -1.0000 -0.0046 +vn 0.0000 -0.9827 0.1854 +vn 0.0000 -0.8861 0.4635 +vn 0.0000 0.2810 -0.9597 +vn 0.0000 -0.8329 0.5534 +vn 0.0000 -0.5228 0.8525 +vn 0.0000 -0.9255 0.3787 +vn 0.0000 -0.7858 0.6185 +vn -0.2574 0.9663 0.0002 +vn 0.0000 1.0000 -0.0007 +vn 0.2574 0.9663 0.0002 +vn 0.2592 0.9571 0.1297 +s off +f 259/421/94 251/422/95 260/423/94 +f 264/424/96 265/425/96 259/426/96 +f 267/427/97 269/428/97 266/429/97 +f 253/430/98 267/431/99 275/432/99 +f 399/433/97 392/434/97 408/435/97 +f 394/436/96 407/437/96 389/438/96 +f 412/439/97 413/440/97 424/441/97 +f 433/442/100 417/443/100 432/444/100 +f 435/445/101 413/446/101 434/447/101 +f 441/448/96 442/449/96 443/450/96 +f 444/451/102 429/452/102 445/453/102 +f 442/454/103 415/455/103 443/456/103 +f 446/457/104 429/452/104 428/458/104 +f 434/447/105 412/459/105 444/451/105 +f 443/456/106 414/460/106 435/445/106 +f 432/444/107 416/461/107 442/454/107 +f 472/462/108 453/463/108 452/464/108 +f 482/465/96 476/466/96 456/467/96 +f 458/468/97 475/469/97 455/470/97 +f 493/471/97 494/472/97 488/473/97 +f 498/474/109 493/475/109 492/476/109 +f 500/477/110 491/478/110 490/479/110 +f 502/480/111 490/479/111 489/481/111 +f 501/482/96 500/483/96 503/484/96 +f 501/485/112 492/476/112 491/478/112 +f 507/486/113 509/487/113 506/488/113 +f 511/489/114 513/490/114 510/491/114 +f 515/492/115 517/493/115 514/494/115 +f 519/495/116 521/496/116 518/497/116 +f 522/498/117 516/499/117 515/492/117 +f 524/500/118 520/501/118 519/495/118 +f 518/502/97 517/503/97 516/504/97 +f 518/497/119 511/489/119 510/491/119 +f 515/505/96 514/506/96 521/507/96 +f 514/494/120 513/490/120 512/508/120 +f 506/488/121 523/509/121 522/498/121 +f 527/510/122 525/511/122 524/500/122 +f 531/512/123 533/513/123 530/514/123 +f 535/515/96 537/516/96 534/517/96 +f 536/518/124 539/519/124 537/516/124 +f 541/520/125 543/521/125 540/522/125 +f 542/523/97 530/514/97 543/521/97 +f 538/524/126 536/525/126 535/526/126 +f 544/527/127 534/517/127 545/528/127 +f 532/529/128 545/528/128 533/513/128 +f 545/528/129 547/530/129 533/513/129 +f 534/517/130 546/531/130 545/528/130 +f 534/517/131 549/532/131 548/533/131 +f 539/519/132 549/534/132 537/516/132 +f 543/521/133 552/535/133 540/522/133 +f 530/514/134 551/536/134 543/521/134 +f 533/513/135 553/537/135 530/514/135 +f 549/538/136 552/539/136 553/540/136 +f 259/541/96 554/542/96 555/543/96 +f 272/544/137 556/545/137 488/546/137 +f 270/547/138 264/548/138 263/549/138 +f 499/550/139 494/551/139 493/475/139 +f 275/552/97 267/553/97 556/554/97 +f 259/421/140 247/555/141 251/422/142 +f 259/426/96 260/556/96 264/424/96 +f 260/556/96 261/557/96 255/558/96 +f 263/559/96 260/556/96 258/560/96 +f 261/557/96 262/561/96 255/558/96 +f 255/558/96 258/560/96 260/556/96 +f 263/559/96 264/424/96 260/556/96 +f 267/427/97 268/562/97 269/428/97 +f 253/430/143 252/563/144 267/431/145 +f 367/564/97 366/565/97 405/566/97 +f 366/565/97 361/567/97 360/568/97 +f 360/568/97 405/566/97 366/565/97 +f 390/569/97 403/570/97 404/571/97 +f 403/570/97 402/572/97 404/571/97 +f 402/572/97 367/564/97 405/566/97 +f 402/572/97 405/566/97 404/571/97 +f 391/573/97 390/569/97 393/574/97 +f 393/574/97 390/569/97 404/571/97 +f 399/433/97 409/575/97 392/434/97 +f 409/575/97 391/573/97 392/434/97 +f 375/576/97 374/577/97 396/578/97 +f 374/577/97 399/433/97 408/435/97 +f 392/434/97 391/573/97 393/574/97 +f 368/579/97 371/580/97 387/581/97 +f 381/582/97 380/583/97 387/581/97 +f 380/583/97 368/579/97 387/581/97 +f 377/584/97 376/585/97 375/576/97 +f 376/585/97 381/582/97 386/586/97 +f 375/576/97 376/585/97 386/586/97 +f 396/578/97 377/584/97 375/576/97 +f 381/582/97 387/581/97 386/586/97 +f 408/435/97 396/578/97 374/577/97 +f 383/587/96 382/588/96 384/589/96 +f 382/588/96 379/590/96 385/591/96 +f 384/589/96 382/588/96 385/591/96 +f 379/590/96 378/592/96 372/593/96 +f 378/592/96 397/594/96 372/593/96 +f 369/595/96 383/587/96 384/589/96 +f 384/589/96 370/596/96 369/595/96 +f 398/597/96 373/598/96 410/599/96 +f 373/598/96 372/593/96 397/594/96 +f 410/599/96 373/598/96 397/594/96 +f 372/593/96 385/591/96 379/590/96 +f 411/600/96 398/597/96 395/601/96 +f 389/438/96 388/602/96 394/436/96 +f 388/602/96 411/600/96 395/601/96 +f 394/436/96 388/602/96 395/601/96 +f 401/603/96 400/604/96 407/437/96 +f 400/604/96 389/438/96 407/437/96 +f 362/605/96 365/606/96 363/607/96 +f 365/606/96 364/608/96 406/609/96 +f 363/607/96 365/606/96 406/609/96 +f 364/608/96 401/603/96 406/609/96 +f 398/597/96 410/599/96 395/601/96 +f 407/437/96 406/609/96 401/603/96 +f 417/610/97 418/611/97 419/612/97 +f 417/610/97 419/612/97 420/613/97 +f 416/614/97 417/610/97 420/613/97 +f 421/615/97 422/616/97 415/617/97 +f 422/616/97 423/618/97 414/619/97 +f 416/614/97 420/613/97 421/615/97 +f 415/617/97 416/614/97 421/615/97 +f 422/616/97 414/619/97 415/617/97 +f 423/618/97 424/441/97 413/440/97 +f 424/441/97 425/620/97 412/439/97 +f 425/620/97 426/621/97 429/622/97 +f 426/621/146 427/623/146 429/622/146 +f 427/623/147 428/624/147 429/622/147 +f 413/440/97 414/619/97 423/618/97 +f 425/620/97 429/622/97 412/439/97 +f 433/442/100 418/625/100 417/443/100 +f 435/445/101 414/460/101 413/446/101 +f 439/626/96 438/627/96 445/628/96 +f 438/627/96 437/629/96 444/630/96 +f 437/629/96 436/631/96 434/632/96 +f 436/631/96 440/633/96 435/634/96 +f 436/631/96 435/634/96 434/632/96 +f 440/633/96 441/448/96 443/450/96 +f 435/634/96 440/633/96 443/450/96 +f 447/635/148 439/626/148 445/628/148 +f 438/627/96 444/630/96 445/628/96 +f 445/628/149 446/636/149 447/635/149 +f 431/637/96 430/638/96 432/639/96 +f 430/638/96 433/640/96 432/639/96 +f 441/448/96 431/637/96 442/449/96 +f 431/637/96 432/639/96 442/449/96 +f 434/632/96 444/630/96 437/629/96 +f 444/451/102 412/459/102 429/452/102 +f 442/454/103 416/461/103 415/455/103 +f 446/457/104 445/453/104 429/452/104 +f 434/447/105 413/446/105 412/459/105 +f 443/456/106 415/455/106 414/460/106 +f 432/444/107 417/443/107 416/461/107 +f 472/462/108 473/641/108 453/463/108 +f 469/642/96 468/643/96 480/644/96 +f 468/643/96 451/645/96 480/644/96 +f 450/646/96 453/647/96 473/648/96 +f 464/649/96 469/642/96 480/644/96 +f 451/645/96 450/646/96 473/648/96 +f 451/645/96 473/648/96 480/644/96 +f 465/650/96 464/649/96 480/644/96 +f 471/651/96 457/652/96 460/653/96 +f 457/652/96 456/467/96 460/653/96 +f 456/467/96 465/650/96 480/644/96 +f 456/467/96 480/644/96 482/465/96 +f 482/465/96 484/654/96 477/655/96 +f 484/654/96 485/656/96 479/657/96 +f 477/655/96 484/654/96 479/657/96 +f 476/466/96 461/658/96 456/467/96 +f 461/658/96 460/653/96 456/467/96 +f 482/465/96 477/655/96 476/466/96 +f 481/659/97 472/660/97 448/661/97 +f 472/660/97 452/662/97 449/663/97 +f 472/660/97 449/663/97 448/661/97 +f 486/664/97 487/665/97 478/666/97 +f 487/665/97 483/667/97 474/668/97 +f 478/666/97 487/665/97 474/668/97 +f 483/667/97 481/659/97 455/470/97 +f 448/661/97 467/669/97 481/659/97 +f 467/669/97 466/670/97 481/659/97 +f 481/659/97 466/670/97 463/671/97 +f 462/672/97 481/659/97 463/671/97 +f 455/470/97 454/673/97 459/674/97 +f 454/673/97 470/675/97 459/674/97 +f 462/672/97 455/470/97 481/659/97 +f 474/668/97 483/667/97 475/469/97 +f 475/469/97 483/667/97 455/470/97 +f 459/674/97 458/468/97 455/470/97 +f 496/676/97 272/677/97 494/472/97 +f 272/677/97 488/473/97 494/472/97 +f 488/473/97 489/678/97 490/679/97 +f 491/680/97 492/681/97 488/473/97 +f 492/681/97 493/471/97 488/473/97 +f 488/473/97 490/679/97 491/680/97 +f 495/682/97 496/676/97 494/472/97 +f 498/474/109 499/550/109 493/475/109 +f 500/477/110 501/485/110 491/478/110 +f 502/480/111 500/477/111 490/479/111 +f 502/683/96 503/484/96 500/483/96 +f 503/484/96 270/684/96 505/685/96 +f 499/686/96 503/484/96 505/685/96 +f 270/684/96 497/687/96 505/685/96 +f 497/687/96 504/688/96 505/685/96 +f 499/686/96 498/689/96 503/484/96 +f 498/689/96 501/482/96 503/484/96 +f 501/485/112 498/474/112 492/476/112 +f 507/486/113 508/690/113 509/487/113 +f 511/489/114 512/508/114 513/490/114 +f 515/492/115 516/499/115 517/493/115 +f 519/495/116 520/501/116 521/496/116 +f 522/498/117 523/509/117 516/499/117 +f 524/500/118 525/511/118 520/501/118 +f 509/691/97 508/692/97 526/693/97 +f 526/693/97 527/694/97 509/691/97 +f 527/694/97 524/695/97 509/691/97 +f 524/695/97 519/696/97 523/697/97 +f 519/696/97 518/502/97 516/504/97 +f 518/502/97 510/698/97 517/503/97 +f 510/698/97 513/699/97 517/503/97 +f 519/696/97 516/504/97 523/697/97 +f 523/697/97 509/691/97 524/695/97 +f 518/497/119 521/496/119 511/489/119 +f 521/507/96 520/700/96 515/505/96 +f 520/700/96 525/701/96 522/702/96 +f 525/701/96 528/703/96 506/704/96 +f 528/703/96 529/705/96 506/704/96 +f 529/705/96 507/706/96 506/704/96 +f 506/704/96 522/702/96 525/701/96 +f 520/700/96 522/702/96 515/505/96 +f 512/707/96 511/708/96 514/506/96 +f 511/708/96 521/507/96 514/506/96 +f 514/494/120 517/493/120 513/490/120 +f 506/488/121 509/487/121 523/509/121 +f 527/510/122 528/709/122 525/511/122 +f 531/512/123 532/529/123 533/513/123 +f 535/515/96 536/518/96 537/516/96 +f 536/518/124 538/710/124 539/519/124 +f 541/520/125 542/523/125 543/521/125 +f 542/523/97 531/512/97 530/514/97 +f 535/526/126 544/711/126 532/712/126 +f 532/712/126 531/713/126 535/526/126 +f 531/713/126 542/714/126 535/526/126 +f 542/714/126 541/715/126 535/526/126 +f 541/715/126 538/524/126 535/526/126 +f 544/527/127 535/515/127 534/517/127 +f 532/529/128 544/527/128 545/528/128 +f 545/528/129 546/716/129 547/530/129 +f 534/517/130 548/717/130 546/531/130 +f 534/517/131 537/516/131 549/532/131 +f 539/519/132 550/718/132 549/534/132 +f 543/521/133 551/719/133 552/535/133 +f 530/514/134 553/720/134 551/536/134 +f 533/513/135 547/721/135 553/537/135 +f 553/540/136 547/722/136 546/723/136 +f 546/723/136 548/724/136 553/540/136 +f 548/724/136 549/538/136 553/540/136 +f 549/538/136 550/725/136 552/539/136 +f 552/539/136 551/726/136 553/540/136 +f 259/541/96 265/727/96 554/542/96 +f 272/544/137 271/728/137 556/545/137 +f 270/547/138 503/729/138 264/548/138 +f 499/550/139 505/730/139 494/551/139 +f 267/553/97 266/731/97 556/554/97 +f 556/554/97 271/732/97 275/552/97 +f 271/732/97 257/733/97 275/552/97 +f 275/552/97 257/733/97 256/734/97 +f 256/734/97 273/735/97 274/736/97 +f 275/552/97 256/734/97 274/736/97 +s 1 +f 249/737/150 250/738/151 251/422/152 +f 253/430/153 254/739/154 249/737/150 +f 256/740/155 258/741/156 255/742/157 +f 250/738/158 262/743/159 261/744/160 +f 271/745/161 272/746/162 263/747/161 +f 249/737/163 256/748/155 255/749/157 +f 251/422/164 261/744/160 260/423/165 +f 254/739/166 273/750/167 249/737/163 +f 253/430/168 274/751/169 254/739/166 +f 281/752/170 289/753/171 290/754/172 +f 298/755/173 300/756/174 297/757/175 +f 302/758/176 304/759/177 301/760/178 +f 306/761/179 308/762/180 305/763/181 +f 310/764/182 312/765/183 309/766/184 +f 314/767/185 316/768/186 313/769/187 +f 317/770/188 307/771/189 306/761/179 +f 319/772/190 318/773/191 317/770/188 +f 304/759/192 300/756/193 301/760/194 +f 309/766/184 303/774/195 302/758/176 +f 313/769/187 299/775/196 298/755/173 +f 321/776/197 311/777/198 310/764/182 +f 323/778/199 322/779/200 321/776/197 +f 326/780/201 328/781/202 325/782/203 +f 325/782/203 324/783/204 323/778/199 +f 329/784/205 327/785/206 326/780/201 +f 331/786/207 330/787/208 329/784/205 +f 305/763/181 315/788/209 314/767/185 +f 301/789/194 333/790/210 334/791/211 +f 335/792/212 337/793/213 338/794/214 +f 336/795/215 340/796/216 337/793/213 +f 302/797/176 334/791/211 341/798/217 +f 295/799/218 303/800/195 296/801/219 +f 304/802/192 294/803/220 297/804/221 +f 343/805/222 284/806/223 342/807/224 +f 298/808/173 294/803/220 293/809/225 +f 315/810/209 344/811/226 345/812/227 +f 321/813/197 347/814/228 323/815/199 +f 279/816/229 322/817/200 324/818/204 +f 306/819/179 290/754/172 289/753/171 +f 310/820/182 348/821/230 349/822/231 +f 276/823/232 311/824/198 277/825/233 +f 314/826/185 292/827/234 291/828/235 +f 316/829/186 351/830/236 299/831/196 +f 307/832/189 352/833/237 353/834/238 +f 325/835/203 355/836/239 326/837/201 +f 281/752/170 328/838/202 327/839/206 +f 317/840/188 287/841/240 319/842/190 +f 309/843/184 341/798/217 348/821/230 +f 296/801/219 312/844/183 276/823/232 +f 313/845/187 293/809/225 292/827/234 +f 299/831/196 333/790/210 300/846/174 +f 315/810/209 350/847/241 316/829/186 +f 310/820/182 346/848/242 321/813/197 +f 278/849/243 311/824/198 322/817/200 +f 314/826/185 290/754/172 305/850/181 +f 325/835/203 347/814/228 354/851/244 +f 279/816/229 328/838/202 280/852/245 +f 306/819/179 288/853/246 317/840/188 +f 307/832/189 344/811/226 308/854/180 +f 318/855/191 356/856/247 352/833/237 +f 326/837/201 357/857/248 329/858/205 +f 282/859/249 327/839/206 330/860/208 +f 329/858/205 358/861/250 331/862/207 +f 283/863/251 330/860/208 332/864/252 +f 359/865/253 287/841/240 286/866/254 +f 335/792/212 356/856/247 320/867/255 +f 331/862/207 340/796/216 339/868/256 +f 284/806/223 332/864/252 342/807/224 +f 359/865/253 285/869/257 343/805/222 +f 350/847/241 345/812/227 346/848/242 +f 361/870/258 363/871/259 360/872/259 +f 365/873/260 367/874/261 364/875/261 +f 369/876/262 371/877/263 368/878/262 +f 373/879/264 375/880/265 372/881/265 +f 377/882/266 379/883/267 376/884/267 +f 381/885/268 383/886/269 380/887/269 +f 385/888/270 387/889/271 384/890/271 +f 389/891/272 391/892/273 388/893/273 +f 393/894/274 395/895/275 392/896/275 +f 384/890/271 371/877/276 370/897/276 +f 380/887/269 369/876/262 368/878/262 +f 376/884/267 382/898/268 381/885/268 +f 372/881/265 386/899/270 385/888/270 +f 396/900/277 378/901/266 377/882/266 +f 398/902/278 374/903/264 373/879/264 +f 401/904/279 403/905/280 400/906/280 +f 405/907/281 407/908/282 404/909/282 +f 364/875/261 402/910/279 401/904/279 +f 360/872/259 406/911/281 405/907/281 +f 404/909/282 394/912/274 393/894/274 +f 400/906/280 390/913/272 389/891/272 +f 392/896/275 410/914/283 408/915/283 +f 388/893/273 409/916/284 411/917/284 +f 411/917/284 399/918/278 398/902/278 +f 408/915/283 397/919/277 396/900/277 +f 419/920/285 431/921/286 420/922/286 +f 423/923/287 437/924/288 424/925/288 +f 425/926/289 439/927/290 426/928/291 +f 421/929/292 440/930/293 422/931/293 +f 426/928/291 447/932/294 427/933/294 +f 424/925/288 438/934/289 425/926/289 +f 422/931/293 436/935/287 423/923/287 +f 420/922/286 441/936/292 421/929/292 +f 449/937/295 451/938/296 448/939/296 +f 449/937/295 453/463/297 450/940/295 +f 455/941/298 457/942/299 454/943/299 +f 459/944/300 461/945/301 458/946/301 +f 463/947/302 465/948/303 462/949/303 +f 467/950/304 469/951/305 466/952/305 +f 462/949/303 456/953/298 455/941/298 +f 454/943/299 471/954/306 470/955/306 +f 475/956/307 477/957/308 474/958/308 +f 448/939/296 468/959/304 467/950/304 +f 466/952/305 464/960/302 463/947/302 +f 470/955/306 460/961/300 459/944/300 +f 458/946/301 476/962/307 475/956/307 +f 474/958/308 479/963/309 478/964/309 +f 473/641/310 481/965/311 480/966/311 +f 480/966/311 483/967/312 482/968/312 +f 478/964/309 485/969/313 486/970/313 +f 482/968/312 487/971/314 484/972/314 +f 497/973/315 272/746/162 496/974/315 +f 505/730/316 495/975/317 494/551/316 +f 504/976/317 496/974/315 495/975/317 +f 251/422/152 247/555/318 248/977/319 +f 248/977/319 249/737/150 251/422/152 +f 249/737/150 248/977/319 253/430/153 +f 248/977/319 252/563/320 253/430/153 +f 256/740/155 257/978/156 258/741/156 +f 250/738/158 249/737/163 262/743/159 +f 272/746/162 270/979/162 263/747/161 +f 263/747/161 258/741/156 257/978/156 +f 257/978/156 271/745/161 263/747/161 +f 255/749/157 262/743/159 249/737/163 +f 249/737/163 273/750/167 256/748/155 +f 251/422/164 250/738/158 261/744/160 +f 254/739/166 274/751/169 273/750/167 +f 253/430/168 275/432/321 274/751/169 +f 296/801/219 276/823/232 293/809/225 +f 276/823/232 277/825/233 292/827/234 +f 277/825/233 278/849/243 292/827/234 +f 278/849/243 279/816/229 291/828/235 +f 292/827/234 278/849/243 291/828/235 +f 279/816/229 280/852/245 291/828/235 +f 280/852/245 281/752/170 290/754/172 +f 291/828/235 280/852/245 290/754/172 +f 281/752/170 282/859/249 289/753/171 +f 282/859/249 283/863/251 288/853/246 +f 283/863/251 284/806/223 285/869/257 +f 285/869/257 286/866/254 283/863/251 +f 286/866/254 287/841/240 288/853/246 +f 286/866/254 288/853/246 283/863/251 +f 282/859/249 288/853/246 289/753/171 +f 295/799/218 296/801/219 293/809/225 +f 276/823/232 292/827/234 293/809/225 +f 293/809/225 294/803/220 295/799/218 +f 298/755/173 299/775/196 300/756/174 +f 302/758/176 303/774/195 304/759/177 +f 306/761/179 307/771/189 308/762/180 +f 310/764/182 311/777/198 312/765/183 +f 314/767/185 315/788/209 316/768/186 +f 317/770/188 318/773/191 307/771/189 +f 319/772/190 320/980/255 318/773/191 +f 304/759/192 297/757/221 300/756/193 +f 309/766/184 312/765/183 303/774/195 +f 313/769/187 316/768/186 299/775/196 +f 321/776/197 322/779/200 311/777/198 +f 323/778/199 324/783/204 322/779/200 +f 326/780/201 327/785/206 328/781/202 +f 325/782/203 328/781/202 324/783/204 +f 329/784/205 330/787/208 327/785/206 +f 331/786/207 332/981/252 330/787/208 +f 305/763/181 308/762/180 315/788/209 +f 301/789/194 300/846/193 333/790/210 +f 335/792/212 336/795/215 337/793/213 +f 336/795/215 339/868/256 340/796/216 +f 302/797/176 301/789/178 334/791/211 +f 295/799/218 304/802/177 303/800/195 +f 304/802/192 295/799/218 294/803/220 +f 343/805/222 285/869/257 284/806/223 +f 298/808/173 297/804/175 294/803/220 +f 315/810/209 308/854/180 344/811/226 +f 321/813/197 346/848/242 347/814/228 +f 279/816/229 278/849/243 322/817/200 +f 306/819/179 305/850/181 290/754/172 +f 310/820/182 309/843/184 348/821/230 +f 276/823/232 312/844/183 311/824/198 +f 314/826/185 313/845/187 292/827/234 +f 316/829/186 350/847/241 351/830/236 +f 307/832/189 318/855/191 352/833/237 +f 325/835/203 354/851/244 355/836/239 +f 281/752/170 280/852/245 328/838/202 +f 317/840/188 288/853/246 287/841/240 +f 309/843/184 302/797/176 341/798/217 +f 296/801/219 303/800/195 312/844/183 +f 313/845/187 298/808/173 293/809/225 +f 299/831/196 351/830/236 333/790/210 +f 315/810/209 345/812/227 350/847/241 +f 310/820/182 349/822/231 346/848/242 +f 278/849/243 277/825/233 311/824/198 +f 314/826/185 291/828/235 290/754/172 +f 325/835/203 323/815/199 347/814/228 +f 279/816/229 324/818/204 328/838/202 +f 306/819/179 289/753/171 288/853/246 +f 307/832/189 353/834/238 344/811/226 +f 318/855/191 320/867/255 356/856/247 +f 326/837/201 355/836/239 357/857/248 +f 282/859/249 281/752/170 327/839/206 +f 329/858/205 357/857/248 358/861/250 +f 283/863/251 282/859/249 330/860/208 +f 359/865/253 319/842/190 287/841/240 +f 335/792/212 338/794/214 356/856/247 +f 331/862/207 358/861/250 340/796/216 +f 284/806/223 283/863/251 332/864/252 +f 359/865/253 286/866/254 285/869/257 +f 352/833/237 356/856/247 338/794/214 +f 338/794/214 337/793/213 358/861/250 +f 337/793/213 340/796/216 358/861/250 +f 358/861/250 357/857/248 352/833/237 +f 357/857/248 355/836/239 353/834/238 +f 355/836/239 354/851/244 344/811/226 +f 354/851/244 347/814/228 345/812/227 +f 347/814/228 346/848/242 345/812/227 +f 346/848/242 349/822/231 350/847/241 +f 349/822/231 348/821/230 350/847/241 +f 348/821/230 341/798/217 351/830/236 +f 341/798/217 334/791/211 351/830/236 +f 334/791/211 333/790/210 351/830/236 +f 351/830/236 350/847/241 348/821/230 +f 355/836/239 344/811/226 353/834/238 +f 344/811/226 354/851/244 345/812/227 +f 358/861/250 352/833/237 338/794/214 +f 353/834/238 352/833/237 357/857/248 +f 361/870/258 362/982/258 363/871/259 +f 365/873/260 366/983/260 367/874/261 +f 369/876/262 370/897/263 371/877/263 +f 373/879/264 374/903/264 375/880/265 +f 377/882/266 378/901/266 379/883/267 +f 381/885/268 382/898/268 383/886/269 +f 385/888/270 386/899/270 387/889/271 +f 389/891/272 390/913/272 391/892/273 +f 393/894/274 394/912/274 395/895/275 +f 384/890/271 387/889/271 371/877/276 +f 380/887/269 383/886/269 369/876/262 +f 376/884/267 379/883/267 382/898/268 +f 372/881/265 375/880/265 386/899/270 +f 396/900/277 397/919/277 378/901/266 +f 398/902/278 399/918/278 374/903/264 +f 401/904/279 402/910/279 403/905/280 +f 405/907/281 406/911/281 407/908/282 +f 364/875/261 367/874/261 402/910/279 +f 360/872/259 363/871/259 406/911/281 +f 404/909/282 407/908/282 394/912/274 +f 400/906/280 403/905/280 390/913/272 +f 392/896/275 395/895/275 410/914/283 +f 388/893/273 391/892/273 409/916/284 +f 411/917/284 409/916/284 399/918/278 +f 408/915/283 410/914/283 397/919/277 +f 419/920/285 430/984/285 431/921/286 +f 423/923/287 436/935/287 437/924/288 +f 425/926/289 438/934/289 439/927/290 +f 421/929/292 441/936/292 440/930/293 +f 426/928/291 439/927/290 447/932/294 +f 424/925/288 437/924/288 438/934/289 +f 422/931/293 440/930/293 436/935/287 +f 420/922/286 431/921/286 441/936/292 +f 449/937/295 450/940/295 451/938/296 +f 449/937/295 452/464/297 453/463/297 +f 455/941/298 456/953/298 457/942/299 +f 459/944/300 460/961/300 461/945/301 +f 463/947/302 464/960/302 465/948/303 +f 467/950/304 468/959/304 469/951/305 +f 462/949/303 465/948/303 456/953/298 +f 454/943/299 457/942/299 471/954/306 +f 475/956/307 476/962/307 477/957/308 +f 448/939/296 451/938/296 468/959/304 +f 466/952/305 469/951/305 464/960/302 +f 470/955/306 471/954/306 460/961/300 +f 458/946/301 461/945/301 476/962/307 +f 474/958/308 477/957/308 479/963/309 +f 473/641/310 472/462/310 481/965/311 +f 480/966/311 481/965/311 483/967/312 +f 478/964/309 479/963/309 485/969/313 +f 482/968/312 483/967/312 487/971/314 +f 497/973/315 270/979/162 272/746/162 +f 505/730/316 504/976/317 495/975/317 +f 504/976/317 497/973/315 496/974/315 diff --git a/src/main/resources/assets/hbm/models/weapons/flechette.obj b/src/main/resources/assets/hbm/models/weapons/flechette.obj deleted file mode 100644 index 3418c1046..000000000 --- a/src/main/resources/assets/hbm/models/weapons/flechette.obj +++ /dev/null @@ -1,2200 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'flechette.blend' -# www.blender.org -o gren_tube -v -5.868640 3.866710 0.390760 -v -5.868640 4.145857 -0.003321 -v -5.868640 4.068658 -0.001782 -v -5.868640 3.842549 0.317423 -v -2.773548 4.145857 -0.003322 -v -2.773548 3.863501 -0.386212 -v -5.868640 3.863501 -0.386211 -v -2.773548 3.866710 0.390759 -v -2.795583 3.884170 0.432546 -v -2.345142 3.884170 0.432546 -v -2.339203 4.201795 -0.004436 -v -2.801521 4.201795 -0.004436 -v -2.345142 3.880613 -0.428688 -v -2.795583 3.880613 -0.428688 -v -2.339203 3.364457 -0.260925 -v -2.801521 3.364457 -0.260925 -v -2.339203 3.366714 0.285381 -v -2.801521 3.366714 0.285382 -v -2.773548 3.409849 -0.228771 -v -2.773548 3.411832 0.251424 -v -5.868640 3.474099 0.204562 -v -5.868640 3.409849 -0.228770 -v -5.868640 3.411832 0.251425 -v -5.868640 3.472492 -0.184396 -v -5.868640 3.839950 -0.311924 -v -5.895552 3.852386 -0.310705 -v -5.895552 3.458083 -0.196155 -v -5.895552 3.499174 -0.166825 -v -5.895552 3.836442 -0.264805 -v -5.716124 3.852386 -0.310705 -v -5.895552 4.094360 0.013274 -v -5.716124 4.094360 0.013274 -v -5.895552 3.849605 0.328054 -v -5.716124 3.849605 0.328054 -v -5.895552 3.456364 0.198619 -v -5.716124 3.456364 0.198619 -v -5.716124 3.458083 -0.196155 -v -5.895552 3.497704 0.170847 -v -5.595632 3.497704 0.170847 -v -5.595632 3.499174 -0.166825 -v -5.895552 3.834063 0.281559 -v -5.895552 4.043415 0.012311 -v -5.595632 3.836442 -0.264805 -v -5.595632 3.834063 0.281559 -v -5.595632 4.043415 0.012311 -vt 0.809782 0.796148 -vt 0.849006 0.914880 -vt 0.830011 0.908645 -vt 0.228888 0.909270 -vt 0.186002 0.775437 -vt 0.005890 0.909271 -vt 0.649694 0.914880 -vt 0.698462 0.812472 -vt 0.668568 0.908645 -vt 0.389821 0.836340 -vt 0.346177 0.970909 -vt 0.298132 0.836340 -vt 0.528838 0.968980 -vt 0.441134 0.908887 -vt 0.453615 0.905000 -vt 0.579864 0.811655 -vt 0.572277 0.821832 -vt 0.480589 0.821832 -vt 0.528633 0.956401 -vt 0.601970 0.905000 -vt 0.472669 0.811655 -vt 0.614578 0.908887 -vt 0.798239 0.812472 -vt 0.044548 0.775437 -vt 0.118696 0.991993 -vt 0.749869 0.968083 -vt 0.686600 0.796148 -vt 0.750066 0.988261 -vt 0.271159 0.919508 -vt 0.419514 0.919508 -vt 0.803137 0.007858 -vt 0.803137 0.131039 -vt 0.001736 0.131039 -vt 0.803137 0.502892 -vt 0.803137 0.627936 -vt 0.001736 0.627936 -vt 0.585596 0.646454 -vt 0.725474 0.644916 -vt 0.725474 0.764622 -vt 0.026539 0.764623 -vt 0.026539 0.644916 -vt 0.164318 0.646454 -vt 0.304846 0.644916 -vt 0.304846 0.764623 -vt 0.446300 0.644916 -vt 0.446301 0.764623 -vt 0.001736 0.379711 -vt 0.001736 0.255375 -vt 0.803137 0.255375 -vt 0.803137 0.379711 -vt 0.001736 0.502893 -vt 0.892792 0.578386 -vt 0.892792 0.473685 -vt 0.939250 0.473685 -vt 0.892792 0.997359 -vt 0.892792 0.894115 -vt 0.939251 0.894115 -vt 0.892792 0.786921 -vt 0.939250 0.786921 -vt 0.892792 0.684703 -vt 0.939250 0.684703 -vt 0.939250 0.578386 -vt 0.946146 0.279274 -vt 0.868489 0.279274 -vt 0.868489 0.191841 -vt 0.946146 0.459272 -vt 0.868489 0.459272 -vt 0.868489 0.370962 -vt 0.946146 0.191841 -vt 0.868489 0.100903 -vt 0.946146 0.370962 -vt 0.946146 0.100903 -vt 0.868489 0.011346 -vt 0.001736 0.007857 -vt 0.585597 0.763085 -vt 0.164318 0.763085 -vt 0.939251 0.997359 -vt 0.946146 0.011346 -vn -1.000000 -0.000000 0.000000 -vn -0.999900 0.011500 -0.000000 -vn -0.999800 -0.018600 0.000100 -vn 0.000000 1.000000 -0.009600 -vn -0.000000 0.296200 -0.955100 -vn 0.000000 0.322700 0.946500 -vn 0.000000 0.326500 0.945200 -vn 0.000000 1.000000 -0.009700 -vn 0.000000 0.299600 -0.954100 -vn 0.000000 -0.811700 -0.584000 -vn 0.000000 -0.798300 0.602200 -vn 0.000000 -0.802800 0.596300 -vn -0.000000 -0.816000 -0.578000 -vn 0.000000 0.317700 -0.948200 -vn 0.000000 1.000000 0.009700 -vn 0.000000 0.291700 0.956500 -vn 0.000000 -0.811400 0.584500 -vn 0.000000 -0.798400 -0.602200 -vn 0.000000 0.811400 -0.584500 -vn 0.000000 0.798400 0.602200 -vn 0.000000 -1.000000 -0.009700 -vn 0.000000 -0.291700 -0.956500 -vn 0.000000 -0.317700 0.948200 -s off -f 1/1/1 2/2/1 3/3/1 -f 14/4/2 16/5/2 9/6/2 -f 22/7/1 21/8/1 24/9/1 -f 44/10/1 43/11/1 39/12/1 -f 26/13/1 27/14/1 28/15/1 -f 33/16/1 41/17/1 38/18/1 -f 26/13/1 29/19/1 42/20/1 -f 35/21/1 38/18/1 28/15/1 -f 33/16/1 31/22/1 42/20/1 -f 4/23/1 1/1/1 3/3/1 -f 18/24/2 9/6/2 16/5/2 -f 12/25/3 14/4/3 9/6/3 -f 3/3/1 2/2/1 25/26/1 -f 23/27/1 1/1/1 21/8/1 -f 25/26/1 2/2/1 7/28/1 -f 1/1/1 4/23/1 21/8/1 -f 25/26/1 7/28/1 22/7/1 -f 22/7/1 23/27/1 21/8/1 -f 24/9/1 25/26/1 22/7/1 -f 40/29/1 39/12/1 43/11/1 -f 44/10/1 45/30/1 43/11/1 -f 29/19/1 26/13/1 28/15/1 -f 35/21/1 33/16/1 38/18/1 -f 31/22/1 26/13/1 42/20/1 -f 27/14/1 35/21/1 28/15/1 -f 41/17/1 33/16/1 42/20/1 -s 1 -f 5/31/4 6/32/5 7/33/5 -f 8/34/6 5/35/4 2/36/4 -f 10/37/7 11/38/8 12/39/8 -f 12/40/8 11/41/8 13/42/9 -f 13/42/9 15/43/10 16/44/10 -f 16/44/10 15/43/10 17/45/11 -f 18/46/11 17/45/11 10/37/7 -f 23/47/12 22/48/13 19/49/13 -f 20/50/12 8/34/6 1/51/6 -f 7/33/5 6/32/5 19/49/13 -f 26/52/14 31/53/15 32/54/15 -f 31/55/15 33/56/16 34/57/16 -f 33/56/16 35/58/17 36/59/17 -f 35/58/17 27/60/18 37/61/18 -f 27/60/18 26/52/14 30/62/14 -f 38/63/19 39/64/19 40/65/20 -f 42/66/21 45/67/21 44/68/22 -f 28/69/20 40/65/20 43/70/23 -f 41/71/22 44/68/22 39/64/19 -f 29/72/23 43/70/23 45/73/21 -f 2/74/4 5/31/4 7/33/5 -f 1/51/6 8/34/6 2/36/4 -f 9/75/7 10/37/7 12/39/8 -f 14/76/9 12/40/8 13/42/9 -f 14/76/9 13/42/9 16/44/10 -f 18/46/11 16/44/10 17/45/11 -f 9/75/7 18/46/11 10/37/7 -f 20/50/12 23/47/12 19/49/13 -f 23/47/12 20/50/12 1/51/6 -f 22/48/13 7/33/5 19/49/13 -f 30/62/14 26/52/14 32/54/15 -f 32/77/15 31/55/15 34/57/16 -f 34/57/16 33/56/16 36/59/17 -f 36/59/17 35/58/17 37/61/18 -f 37/61/18 27/60/18 30/62/14 -f 28/69/20 38/63/19 40/65/20 -f 41/71/22 42/66/21 44/68/22 -f 29/72/23 28/69/20 43/70/23 -f 38/63/19 41/71/22 39/64/19 -f 42/78/21 29/72/23 45/73/21 -o drum -v 4.098666 2.143699 0.974937 -v 2.388864 2.143698 0.974937 -v 2.388864 1.297696 0.781806 -v 4.098666 1.297696 0.781806 -v 2.388864 0.921218 -0.000041 -v 4.098666 0.921218 -0.000041 -v 2.388864 1.297760 -0.781857 -v 4.098666 1.297761 -0.781857 -v 2.388864 2.143779 -0.974919 -v 4.098666 2.143779 -0.974919 -v 2.388864 2.822205 -0.433847 -v 4.098666 2.822205 -0.433846 -v 2.388864 2.822169 0.433921 -v 2.388864 3.134844 0.292147 -v 2.388864 3.134880 -0.292047 -v 2.388864 2.757353 -0.402619 -v 2.388864 2.757319 0.402688 -v 2.388864 2.127684 0.904762 -v 4.098666 2.822169 0.433921 -v 2.388864 1.342576 0.725532 -v 2.388864 0.993197 -0.000038 -v 2.388864 1.342636 -0.725580 -v 2.388864 2.127759 -0.904745 -v 2.546966 2.757353 -0.402619 -v 2.546966 2.757319 0.402688 -v 4.098666 3.134880 -0.292047 -v 4.098666 3.134844 0.292147 -v 4.098666 2.123293 -0.885178 -v 4.098666 1.355149 -0.709888 -v 4.098666 1.013267 -0.000038 -v 4.098666 1.355090 0.709841 -v 4.098666 2.123219 0.885195 -v 4.098666 2.739237 0.393979 -v 4.098666 2.739270 -0.393911 -v 2.546966 1.342576 0.725532 -v 2.546966 2.127684 0.904762 -v 2.546966 2.127759 -0.904745 -v 2.546966 1.342636 -0.725580 -v 2.546966 0.993197 -0.000038 -v 3.963159 1.013267 -0.000038 -v 3.963159 1.355090 0.709841 -v 3.963158 2.123219 0.885195 -v 3.963159 1.355149 -0.709888 -v 3.963159 2.123293 -0.885178 -v 3.963158 2.739270 -0.393911 -v 3.963158 2.739237 0.393979 -vt 0.327911 0.477825 -vt 0.182075 0.398586 -vt 0.351115 0.398579 -vt 0.430695 0.092193 -vt 0.471235 0.269776 -vt 0.456504 0.266414 -vt 0.067858 0.896136 -vt 0.426759 0.896136 -vt 0.426759 0.961769 -vt 0.067858 0.961761 -vt 0.415588 0.104240 -vt 0.452396 0.265477 -vt 0.349286 0.394783 -vt 0.934776 0.291478 -vt 0.554946 0.291493 -vt 0.592554 0.126690 -vt 0.893860 0.129304 -vt 0.595847 0.129316 -vt 0.827558 0.419848 -vt 0.117575 0.104252 -vt 0.102469 0.092205 -vt 0.061943 0.269791 -vt 0.266578 0.013166 -vt 0.266579 0.032488 -vt 0.183902 0.394790 -vt 0.175519 0.412199 -vt 0.080781 0.265491 -vt 0.357671 0.412192 -vt 0.076674 0.266429 -vt 0.114282 0.101625 -vt 0.266580 0.028276 -vt 0.418883 0.101613 -vt 0.205285 0.477832 -vt 0.744851 0.053340 -vt 0.897154 0.126678 -vt 0.829387 0.423644 -vt 0.660346 0.423650 -vt 0.930668 0.290541 -vt 0.744850 0.057553 -vt 0.559052 0.290555 -vt 0.662173 0.419854 -vt 0.918527 0.526720 -vt 0.918527 0.567259 -vt 0.559626 0.567259 -vt 0.918527 0.731375 -vt 0.559626 0.731375 -vt 0.918527 0.895484 -vt 0.918527 0.936009 -vt 0.559626 0.936009 -vt 0.067858 0.753729 -vt 0.426759 0.753729 -vt 0.174363 0.597257 -vt 0.174363 0.564070 -vt 0.343403 0.564070 -vt 0.106872 0.626318 -vt 0.106872 0.659505 -vt 0.069263 0.659505 -vt 0.411474 0.626319 -vt 0.411474 0.659506 -vt 0.259170 0.659505 -vt 0.343404 0.597257 -vt 0.448793 0.564070 -vt 0.068963 0.597257 -vt 0.068963 0.564070 -vt 0.259171 0.626318 -vt 0.449095 0.626319 -vt 0.449095 0.659506 -vt 0.259170 0.723543 -vt 0.259170 0.695099 -vt 0.408179 0.695099 -vt 0.444683 0.515281 -vt 0.444683 0.543725 -vt 0.341572 0.543725 -vt 0.176187 0.515281 -vt 0.176188 0.543725 -vt 0.073067 0.543725 -vt 0.110166 0.723542 -vt 0.110166 0.695098 -vt 0.444987 0.723543 -vt 0.408179 0.723543 -vt 0.341572 0.515281 -vt 0.073370 0.723542 -vt 0.073370 0.695098 -vt 0.559626 0.526720 -vt 0.559626 0.895484 -vt 0.069263 0.626318 -vt 0.448794 0.597257 -vt 0.073067 0.515281 -vt 0.444987 0.695099 -vn -1.000000 -0.000000 0.000000 -vn 0.000000 0.413000 -0.910700 -vn 0.000000 0.413000 0.910800 -vn 1.000000 0.000000 0.000000 -vn -0.000000 0.222500 0.974900 -vn 0.000000 -0.623500 0.781800 -vn 0.000000 -1.000000 -0.000000 -vn 0.000000 -0.623500 -0.781900 -vn 0.000000 0.222600 -0.974900 -vn 0.000000 0.623500 -0.781800 -vn -0.000000 0.623500 0.781900 -vn 0.000000 -0.901000 0.433800 -vn 0.000000 -0.901000 -0.433900 -vn 0.000000 -0.222600 0.974900 -vn 0.000000 1.000000 0.000000 -vn 0.000000 -0.222500 -0.974900 -s off -f 59/79/24 61/80/24 62/81/24 -f 48/82/24 47/83/24 63/84/24 -f 57/85/25 56/86/25 60/87/25 -f 64/85/26 72/88/26 59/87/26 -f 49/82/27 76/89/27 77/90/27 -f 46/83/27 77/90/27 78/91/27 -f 81/92/24 82/93/24 83/94/24 -f 86/95/27 88/96/27 91/97/27 -f 74/98/27 53/99/27 55/100/27 -f 51/101/27 75/102/27 76/89/27 -f 75/102/27 51/101/27 53/99/27 -f 78/91/27 79/103/27 72/79/27 -f 57/104/27 79/103/27 73/105/27 -f 58/106/24 62/81/24 63/84/24 -f 54/100/24 68/107/24 61/80/24 -f 54/100/24 52/99/24 67/108/24 -f 52/99/24 50/101/24 66/109/24 -f 50/101/24 48/82/24 65/110/24 -f 62/81/24 58/106/24 59/79/24 -f 59/79/24 60/111/24 61/80/24 -f 56/104/24 61/80/24 60/111/24 -f 65/110/24 48/82/24 63/84/24 -f 71/88/25 57/85/25 60/87/25 -f 58/86/26 64/85/26 59/87/26 -f 46/83/27 49/82/27 77/90/27 -f 64/106/27 46/83/27 78/91/27 -f 84/112/24 80/113/24 81/92/24 -f 81/92/24 70/114/24 82/93/24 -f 69/115/24 82/93/24 70/114/24 -f 83/94/24 84/112/24 81/92/24 -f 91/97/27 87/116/27 86/95/27 -f 86/95/27 85/117/27 88/96/27 -f 88/96/27 89/118/27 91/97/27 -f 90/119/27 91/97/27 89/118/27 -f 73/105/27 74/98/27 55/100/27 -f 49/82/27 51/101/27 76/89/27 -f 74/98/27 75/102/27 53/99/27 -f 71/111/27 72/79/27 79/103/27 -f 64/106/27 78/91/27 72/79/27 -f 79/103/27 57/104/27 71/111/27 -f 55/100/27 57/104/27 73/105/27 -f 47/83/24 58/106/24 63/84/24 -f 56/104/24 54/100/24 61/80/24 -f 68/107/24 54/100/24 67/108/24 -f 67/108/24 52/99/24 66/109/24 -f 66/109/24 50/101/24 65/110/24 -s 1 -f 47/120/28 48/121/29 49/122/29 -f 48/121/29 50/123/30 51/124/30 -f 51/124/30 50/123/30 52/125/31 -f 52/125/31 54/126/32 55/127/32 -f 55/128/32 54/129/32 56/86/33 -f 58/86/34 47/129/28 46/128/28 -f 61/130/35 69/131/35 70/132/36 -f 67/133/34 83/134/34 82/135/37 -f 65/136/33 80/137/33 84/138/38 -f 62/139/36 70/132/36 81/140/39 -f 68/141/37 82/142/37 69/131/35 -f 66/143/38 84/138/38 83/134/34 -f 63/144/39 81/145/39 80/137/33 -f 75/146/38 85/147/38 86/148/33 -f 77/149/39 87/150/39 91/151/36 -f 79/152/35 90/153/35 89/154/37 -f 74/155/34 88/156/34 85/147/38 -f 77/157/39 76/158/33 86/148/33 -f 78/159/36 91/151/36 90/153/35 -f 73/160/37 89/161/37 88/156/34 -f 46/162/28 47/120/28 49/122/29 -f 49/122/29 48/121/29 51/124/30 -f 53/163/31 51/124/30 52/125/31 -f 53/163/31 52/125/31 55/127/32 -f 57/85/33 55/128/32 56/86/33 -f 64/85/34 58/86/34 46/128/28 -f 62/139/36 61/130/35 70/132/36 -f 68/164/37 67/133/34 82/135/37 -f 66/143/38 65/136/33 84/138/38 -f 63/165/39 62/139/36 81/140/39 -f 61/130/35 68/141/37 69/131/35 -f 67/133/34 66/143/38 83/134/34 -f 65/136/33 63/144/39 80/137/33 -f 76/158/33 75/146/38 86/148/33 -f 78/159/36 77/149/39 91/151/36 -f 73/166/37 79/152/35 89/154/37 -f 75/146/38 74/155/34 85/147/38 -f 87/167/39 77/157/39 86/148/33 -f 79/152/35 78/159/36 90/153/35 -f 74/155/34 73/160/37 88/156/34 -o stock -v 6.642165 3.598009 -0.296132 -v 5.959075 3.939131 -0.433690 -v 5.959075 4.345873 -0.433690 -v 6.642165 4.001247 -0.263173 -v 5.959075 4.345873 0.433690 -v 6.642165 4.001027 0.263343 -v 5.959075 3.939131 0.433690 -v 6.642165 3.597514 0.296077 -v 5.959075 3.478605 0.320015 -v 6.642165 3.133610 0.222116 -v 5.962569 3.477654 -0.001553 -v 6.645088 2.917124 -0.001078 -v 5.959075 3.478605 -0.320015 -v 6.642165 3.134006 -0.222451 -v 7.079863 3.532114 -0.214907 -v 7.079863 4.095522 -0.284310 -v 7.082420 3.270234 -0.001014 -v 7.079863 3.531327 0.214526 -v 7.079863 4.094541 0.284293 -v 7.571378 4.579840 -0.089104 -v 7.571378 4.579212 0.089499 -v 10.042795 4.578496 -0.089286 -v 10.042795 4.112889 -0.201641 -v 7.571378 3.530748 0.206003 -v 7.573524 3.270234 -0.000942 -v 7.571378 3.531880 -0.206436 -v 10.042795 4.109229 0.201892 -v 9.135580 3.527723 0.161452 -v 10.042795 3.527723 0.161452 -v 9.135580 3.006471 -0.000565 -v 9.135580 3.530658 -0.162156 -v 10.042795 4.576867 0.090303 -v 10.042795 3.006471 -0.000565 -v 10.042795 3.530658 -0.162156 -v 7.082420 3.270234 -0.001014 -v 7.573524 3.270234 -0.000942 -v 9.135580 3.006471 -0.000565 -v 5.959075 4.345873 -0.433690 -v 6.642165 4.001247 -0.263173 -v 5.959075 4.345873 0.433690 -v 6.642165 4.001027 0.263343 -v 7.571378 4.579212 0.089499 -v 7.079863 4.094541 0.284293 -v 7.079863 4.095522 -0.284310 -v 7.571378 4.579840 -0.089104 -v 5.962569 3.477654 -0.001553 -v 6.645088 2.917124 -0.001078 -vt 0.929532 0.728182 -vt 0.908046 0.548097 -vt 0.985745 0.549507 -vt 0.978143 0.325293 -vt 0.964112 0.728809 -vt 0.915833 0.324163 -vt 0.947029 0.123432 -vt 0.813120 0.738957 -vt 0.813120 0.895590 -vt 0.681593 0.762877 -vt 0.683263 0.099031 -vt 0.814790 0.033366 -vt 0.814790 0.367388 -vt 0.681593 0.762792 -vt 0.681593 0.607402 -vt 0.813120 0.561611 -vt 0.681593 0.428755 -vt 0.812448 0.561245 -vt 0.681593 0.428908 -vt 0.681593 0.607592 -vt 0.597316 0.582217 -vt 0.596824 0.481368 -vt 0.681030 0.345388 -vt 0.597316 0.581914 -vt 0.597316 0.798804 -vt 0.683263 0.301789 -vt 0.598986 0.309857 -vt 0.597316 0.799182 -vt 0.598986 0.090891 -vt 0.504346 0.234843 -vt 0.502676 0.985690 -vt 0.026811 0.985172 -vt 0.026811 0.805870 -vt 0.502676 0.581691 -vt 0.502676 0.582127 -vt 0.201493 0.580526 -vt 0.026811 0.804460 -vt 0.502263 0.481368 -vt 0.201493 0.581656 -vt 0.026811 0.581656 -vt 0.026811 0.379795 -vt 0.201493 0.379795 -vt 0.026811 0.580526 -vt 0.502676 0.985448 -vt 0.028483 0.235153 -vt 0.028483 0.165994 -vt 0.504346 0.166064 -vt 0.026811 0.984545 -vn 1.000000 -0.000000 0.000000 -vn 0.185000 -0.070100 -0.980200 -vn 0.242200 0.000000 -0.970200 -vn 0.095800 0.069600 -0.993000 -vn 0.145300 0.989400 0.000700 -vn 0.450400 0.892800 0.000000 -vn 0.450500 0.892800 0.000100 -vn 0.096200 0.069100 0.993000 -vn 0.242000 0.000000 0.970300 -vn 0.184800 -0.070100 0.980300 -vn 0.118500 -0.090800 0.988800 -vn -0.186300 -0.640200 0.745200 -vn 0.036000 -0.574400 0.817800 -vn -0.481900 -0.866200 0.131900 -vn -0.481200 -0.866600 -0.132200 -vn -0.186100 -0.640400 -0.745200 -vn 0.036100 -0.571600 -0.819800 -vn 0.118300 -0.090300 -0.988900 -vn 0.153600 -0.333400 -0.930200 -vn 0.299400 -0.611300 -0.732600 -vn -0.000100 -0.714300 -0.699800 -vn -0.000800 -0.717800 0.696200 -vn 0.300300 -0.615000 0.729100 -vn 0.154400 -0.335600 0.929300 -vn 0.036700 0.016200 0.999200 -vn 0.145800 0.989300 0.000400 -vn -0.453700 0.891200 0.001100 -vn 0.036400 0.016900 -0.999200 -vn -0.454400 0.890800 0.001600 -vn -0.409800 0.912200 0.003000 -vn 0.022100 0.343100 -0.939000 -vn 0.000100 0.234600 -0.972100 -vn 0.006800 0.085300 -0.996300 -vn 0.019700 -0.384900 0.922700 -vn 0.019900 -0.382100 -0.923900 -vn 0.001100 -0.214000 0.976800 -vn 0.006700 0.083200 0.996500 -vn 0.004000 -0.587300 -0.809400 -vn 0.001400 -0.212100 -0.977300 -vn 0.003600 -0.591700 0.806200 -vn 0.000000 -0.182300 -0.983200 -vn 0.000000 -0.294600 -0.955600 -vn -0.023800 -0.296700 0.954700 -vn 0.000000 -0.296800 0.954900 -vn 0.000000 -0.184300 0.982900 -vn 0.022300 0.341900 0.939500 -vn 0.000900 1.000000 0.009100 -vn 0.000900 1.000000 0.008800 -vn -0.409500 0.912300 0.003200 -vn -0.023400 -0.294500 -0.955400 -vn -0.000100 0.232100 0.972700 -s off -f 123/168/40 118/169/40 114/170/40 -f 125/171/40 114/170/40 118/169/40 -f 113/172/40 123/168/40 114/170/40 -f 118/169/40 120/173/40 125/171/40 -f 124/174/40 125/171/40 120/173/40 -s 1 -f 93/175/41 129/176/42 130/177/43 -f 95/178/44 94/179/45 96/180/46 -f 132/181/47 131/176/48 98/175/49 -f 99/182/50 98/175/49 100/183/51 -f 101/184/52 100/183/51 137/185/53 -f 102/185/54 104/183/55 105/186/56 -f 104/183/55 93/175/41 92/187/57 -f 106/188/58 105/186/56 92/187/57 -f 108/189/59 138/190/60 105/186/56 -f 101/184/52 103/190/61 126/189/62 -f 99/182/50 101/184/52 109/191/63 -f 110/192/64 132/181/47 99/182/50 -f 95/178/44 97/193/65 134/194/66 -f 107/195/67 92/187/57 130/177/43 -f 135/196/68 134/194/66 112/197/69 -f 111/198/70 113/199/71 114/200/72 -f 115/201/73 109/191/63 126/189/62 -f 108/189/59 106/188/58 117/202/74 -f 110/192/64 119/203/75 118/204/76 -f 116/205/77 117/202/74 122/206/78 -f 119/203/75 115/201/73 127/205/79 -f 122/206/78 125/207/80 124/208/81 -f 121/209/82 124/208/83 120/210/84 -f 117/202/74 107/195/67 122/206/78 -f 133/211/85 110/192/64 118/204/76 -f 112/197/69 123/212/86 113/213/87 -f 92/187/57 93/175/41 130/177/43 -f 97/193/65 95/178/44 96/180/46 -f 99/182/50 132/181/47 98/175/49 -f 101/184/52 99/182/50 100/183/51 -f 103/190/61 101/184/52 137/185/53 -f 138/190/60 102/185/54 105/186/56 -f 105/186/56 104/183/55 92/187/57 -f 107/195/67 106/188/58 92/187/57 -f 106/188/58 108/189/59 105/186/56 -f 109/191/63 101/184/52 126/189/62 -f 110/192/64 99/182/50 109/191/63 -f 135/196/68 95/178/44 134/194/66 -f 136/214/88 135/196/68 112/197/69 -f 107/195/67 111/198/70 114/200/72 -f 127/205/79 115/201/73 126/189/62 -f 116/205/77 108/189/59 117/202/74 -f 120/210/84 118/204/76 119/203/75 -f 110/192/64 109/191/63 115/201/73 -f 115/201/73 119/203/75 110/192/64 -f 128/209/89 116/205/77 122/206/78 -f 121/209/82 119/203/75 127/205/79 -f 128/209/89 122/206/78 124/208/81 -f 119/203/75 121/209/82 120/210/84 -f 125/207/80 122/206/78 114/200/72 -f 117/202/74 106/188/58 107/195/67 -f 107/195/67 114/200/72 122/206/78 -f 123/215/90 133/211/85 118/204/76 -f 136/214/88 112/197/69 113/213/87 -o grenades -v -0.233697 2.469877 -0.916158 -v -0.233697 2.991506 -1.089823 -v -0.233697 3.315003 -0.655996 -v -0.233697 2.993307 -0.214210 -v -0.233697 2.470990 -0.374999 -v -1.951176 2.469877 -0.916158 -v -1.951176 2.470990 -0.374999 -v -1.951176 2.993307 -0.214210 -v -1.951176 3.315003 -0.655996 -v -1.951176 2.991506 -1.089823 -v -0.233697 2.995483 1.081026 -v -0.233697 2.473131 0.909562 -v -0.233697 2.471954 0.368407 -v -0.233697 2.993579 0.205419 -v -0.233697 3.317138 0.645841 -v -1.951176 2.995483 1.081026 -v -1.951176 3.317138 0.645841 -v -1.951176 2.993579 0.205419 -v -1.951176 2.471954 0.368407 -v -1.951176 2.473131 0.909562 -v -0.233697 3.597358 0.444367 -v -0.233697 3.279485 -0.004386 -v -0.233697 3.601012 -0.440396 -v -0.233697 4.117600 -0.261112 -v -0.233697 4.115342 0.285702 -v -1.951176 3.597358 0.444367 -v -1.951176 4.115342 0.285702 -v -1.951176 4.117600 -0.261112 -v -1.951176 3.601012 -0.440396 -v -1.951176 3.279485 -0.004386 -vt 0.982160 0.292914 -vt 0.612838 0.024586 -vt 0.753906 0.458750 -vt 0.400000 0.918942 -vt 0.600000 0.918942 -vt 0.800000 0.918942 -vt 0.525652 0.292914 -vt 0.894974 0.024586 -vt 0.000000 0.918942 -vt 0.200000 0.918942 -vt 1.000000 0.918942 -vt 0.800000 0.511568 -vt 0.600000 0.511568 -vt 0.400000 0.511568 -vt 0.200000 0.511568 -vt 0.000000 0.511568 -vt 1.000000 0.511568 -vn 1.000000 0.000000 0.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 -0.811700 -0.584000 -vn 0.000000 0.299700 -0.954000 -vn 0.000000 1.000000 -0.005700 -vn 0.000000 0.315900 0.948800 -vn 0.000000 -0.803800 0.594900 -vn 0.000000 0.303700 0.952800 -vn 0.000000 -0.809300 0.587400 -vn 0.000000 -0.806300 -0.591500 -vn 0.000000 0.311900 -0.950100 -vn 0.000000 1.000000 0.001400 -vn 0.000000 -0.322700 0.946500 -vn 0.000000 -1.000000 -0.009600 -vn 0.000000 -0.296200 -0.955100 -vn 0.000000 0.816000 -0.578000 -vn 0.000000 0.802800 0.596300 -s off -f 140/216/91 142/217/91 139/218/91 -f 146/219/92 147/220/92 148/221/92 -f 150/216/91 152/217/91 149/218/91 -f 156/219/92 157/220/92 158/221/92 -f 160/216/91 162/217/91 159/218/91 -f 166/219/92 167/220/92 168/221/92 -f 143/222/91 139/218/91 142/217/91 -f 140/216/91 141/223/91 142/217/91 -f 148/221/92 144/224/92 146/219/92 -f 145/225/92 146/219/92 144/224/92 -f 153/222/91 149/218/91 152/217/91 -f 150/216/91 151/223/91 152/217/91 -f 158/221/92 154/224/92 156/219/92 -f 155/225/92 156/219/92 154/224/92 -f 163/222/91 159/218/91 162/217/91 -f 160/216/91 161/223/91 162/217/91 -f 168/221/92 164/224/92 166/219/92 -f 165/225/92 166/219/92 164/224/92 -s 1 -f 144/226/93 148/221/94 140/227/94 -f 148/221/94 147/220/95 141/228/95 -f 147/220/95 146/219/96 142/229/96 -f 146/219/96 145/225/97 143/230/97 -f 145/225/97 144/224/93 139/231/93 -f 154/226/98 158/221/99 150/227/99 -f 158/221/99 157/220/100 151/228/100 -f 157/220/100 156/219/101 152/229/101 -f 156/219/101 155/225/102 153/230/102 -f 155/225/102 154/224/98 149/231/98 -f 164/226/103 168/221/104 160/227/104 -f 168/221/104 167/220/105 161/228/105 -f 167/220/105 166/219/106 162/229/106 -f 166/219/106 165/225/107 163/230/107 -f 165/225/107 164/224/103 159/231/103 -f 139/232/93 144/226/93 140/227/94 -f 140/227/94 148/221/94 141/228/95 -f 141/228/95 147/220/95 142/229/96 -f 142/229/96 146/219/96 143/230/97 -f 143/230/97 145/225/97 139/231/93 -f 149/232/98 154/226/98 150/227/99 -f 150/227/99 158/221/99 151/228/100 -f 151/228/100 157/220/100 152/229/101 -f 152/229/101 156/219/101 153/230/102 -f 153/230/102 155/225/102 149/231/98 -f 159/232/103 164/226/103 160/227/104 -f 160/227/104 168/221/104 161/228/105 -f 161/228/105 167/220/105 162/229/106 -f 162/229/106 166/219/106 163/230/107 -f 163/230/107 165/225/107 159/231/103 -o barrel -v -6.074285 4.998960 0.008424 -v -6.074285 4.875222 -0.166261 -v -5.662556 4.875222 -0.166261 -v -5.662556 4.998960 0.008424 -v -6.074285 5.122236 0.010881 -v -6.074285 4.913803 -0.283371 -v -6.074285 4.574156 -0.179332 -v -6.074285 4.673588 -0.104497 -v -6.074285 4.873800 0.178149 -v -6.074285 4.672709 0.108360 -v -6.074285 4.572675 0.179219 -v -6.074285 4.911407 0.296777 -v -2.336424 4.603768 -0.157045 -v -5.789216 4.603768 -0.157045 -v -5.789216 4.902313 -0.248493 -v -2.336424 4.902313 -0.248494 -v -2.336424 4.900207 0.261448 -v -5.789216 4.900207 0.261448 -v -5.789216 4.602467 0.158116 -v -2.336424 4.602467 0.158116 -v -2.336424 5.085523 0.010149 -v -5.789216 5.085523 0.010149 -v -5.662556 4.672709 0.108360 -v -5.662556 4.673588 -0.104497 -v -5.770857 4.913803 -0.283371 -v -5.770857 5.122236 0.010881 -v -5.770857 4.911407 0.296777 -v -5.770857 4.572675 0.179219 -v -5.770857 4.574156 -0.179332 -v -5.662556 4.873800 0.178149 -v -4.495610 4.603768 -0.119491 -v -4.486201 4.602467 0.120179 -v -4.486201 4.047801 0.118963 -v -4.495610 4.049102 -0.120707 -v -5.090245 4.047801 0.118963 -v -5.083595 4.049102 -0.120707 -v -5.083595 4.603768 -0.119491 -v -5.090245 4.602467 0.120179 -vt 0.595172 0.786886 -vt 0.678183 0.847575 -vt 0.643888 0.858603 -vt 0.644557 0.945770 -vt 0.623926 0.916898 -vt 0.445030 0.945770 -vt 0.341237 0.945770 -vt 0.310715 0.847575 -vt 0.444361 0.680003 -vt 0.444361 0.521673 -vt 0.512828 0.521894 -vt 0.035654 0.680225 -vt 0.035654 0.521894 -vt 0.203495 0.521894 -vt 0.271936 0.680003 -vt 0.271936 0.521673 -vt 0.203495 0.680225 -vt 0.540765 0.945770 -vt 0.562308 0.916898 -vt 0.510242 0.847575 -vt 0.594608 0.822575 -vt 0.544189 0.858603 -vt 0.395645 0.786886 -vt 0.478655 0.847575 -vt 0.512828 0.680225 -vt 0.863065 0.900888 -vt 0.980366 0.900888 -vt 0.980366 0.961877 -vt 0.989803 0.268428 -vt 0.989773 0.356668 -vt 0.013992 0.356331 -vt 0.989864 0.090294 -vt 0.989834 0.179360 -vt 0.014053 0.179024 -vt 0.989895 0.002053 -vt 0.014084 0.089957 -vt 0.989742 0.446242 -vt 0.013961 0.445905 -vt 0.863065 0.780164 -vt 0.980366 0.780164 -vt 0.980366 0.840808 -vt 0.731642 0.575938 -vt 0.731642 0.474256 -vt 0.817204 0.474256 -vt 0.731642 0.978489 -vt 0.731642 0.878321 -vt 0.817204 0.878321 -vt 0.731642 0.777214 -vt 0.817204 0.777214 -vt 0.731641 0.676107 -vt 0.817204 0.676107 -vt 0.817204 0.575938 -vt 0.863065 0.719521 -vt 0.980366 0.719521 -vt 0.863065 0.840808 -vt 0.863065 0.659440 -vt 0.980366 0.659440 -vt 0.014022 0.268091 -vt 0.863065 0.961877 -vt 0.014114 0.001716 -vt 0.817204 0.978489 -vn -1.000000 0.000000 0.000000 -vn 0.999200 0.000100 -0.039200 -vn 0.000000 0.002200 -1.000000 -vn 0.000000 -0.002200 1.000000 -vn -0.999600 0.000100 -0.027700 -vn 0.000000 -0.322700 0.946500 -vn 0.000000 -1.000000 -0.009600 -vn -0.000000 -0.802800 -0.596300 -vn -0.000000 0.322700 -0.946500 -vn 0.000000 0.296200 0.955100 -vn 0.000000 -0.816000 0.578000 -vn 0.000000 1.000000 0.009600 -vn -0.000000 1.000000 0.009500 -vn 0.000000 0.816000 -0.578000 -vn 0.000000 0.802800 0.596300 -vn 0.000000 -0.296200 -0.955100 -vn 0.000000 -1.000000 -0.009500 -s off -f 174/233/108 175/234/108 176/235/108 -f 179/236/108 178/237/108 176/235/108 -f 196/238/108 195/239/108 194/240/108 -f 200/241/109 201/242/109 202/243/109 -f 199/244/110 202/245/110 204/246/110 -f 206/247/111 203/248/111 201/242/111 -f 206/247/112 205/249/112 204/246/112 -f 179/236/108 180/250/108 177/251/108 -f 173/252/108 174/233/108 170/253/108 -f 173/252/108 169/254/108 177/251/108 -f 170/253/108 174/233/108 176/235/108 -f 175/234/108 179/236/108 176/235/108 -f 194/240/108 193/255/108 196/238/108 -f 197/256/108 196/238/108 193/255/108 -f 199/257/109 200/241/109 202/243/109 -f 205/249/110 199/244/110 204/246/110 -f 200/241/111 206/247/111 201/242/111 -f 203/248/112 206/247/112 204/246/112 -f 178/237/108 179/236/108 177/251/108 -f 169/254/108 173/252/108 170/253/108 -f 180/250/108 173/252/108 177/251/108 -s 1 -f 170/258/113 171/259/113 172/260/114 -f 182/261/115 183/262/116 184/263/116 -f 186/264/117 187/265/118 188/266/118 -f 190/267/119 186/264/117 185/268/117 -f 183/262/116 190/269/119 189/270/120 -f 178/271/121 191/272/121 192/273/122 -f 174/274/116 173/275/119 194/276/119 -f 173/277/119 180/278/117 195/279/117 -f 180/278/117 179/280/118 196/281/118 -f 179/280/118 175/282/115 197/283/115 -f 175/282/115 174/274/116 193/284/116 -f 177/285/123 198/286/123 191/272/121 -f 176/287/122 192/273/122 171/259/113 -f 169/288/124 172/289/114 198/286/123 -f 187/265/118 182/261/115 181/290/115 -f 169/291/124 170/258/113 172/260/114 -f 181/290/115 182/261/115 184/263/116 -f 185/268/117 186/264/117 188/266/118 -f 189/292/120 190/267/119 185/268/117 -f 184/263/116 183/262/116 189/270/120 -f 176/287/122 178/271/121 192/273/122 -f 193/284/116 174/274/116 194/276/119 -f 194/293/119 173/277/119 195/279/117 -f 195/279/117 180/278/117 196/281/118 -f 196/281/118 179/280/118 197/283/115 -f 197/283/115 175/282/115 193/284/116 -f 178/271/121 177/285/123 191/272/121 -f 170/258/113 176/287/122 171/259/113 -f 177/285/123 169/288/124 198/286/123 -f 188/266/118 187/265/118 181/290/115 -o pivot -v -1.971113 2.931105 -0.395477 -v -1.971113 3.375251 -0.251267 -v -1.971113 3.375349 0.215704 -v -1.971113 2.931262 0.360099 -v -1.971113 2.656704 -0.017632 -v -2.327534 2.931105 -0.377762 -v -2.327534 3.375251 -0.233553 -v -2.327534 2.656704 0.000083 -v -0.200761 3.342729 -0.209914 -v -0.200761 3.342817 0.209794 -v -0.200761 2.943678 0.339574 -v -0.200761 2.696910 0.000074 -v -0.200761 2.943537 -0.339528 -v -1.975154 2.943537 -0.339528 -v -1.975154 3.342729 -0.209914 -v -1.975154 2.696910 0.000074 -v -1.975154 2.943678 0.339574 -v -1.975154 3.342817 0.209794 -v -2.327534 2.931262 0.377814 -v -2.327534 3.375348 0.233419 -vt 0.824219 0.048017 -vt 0.905975 0.299639 -vt 0.691934 0.144128 -vt 0.956504 0.144154 -vt 0.742462 0.299639 -vt 0.956504 0.144128 -vt 0.905931 0.299650 -vt 0.742418 0.299604 -vt 0.254264 0.825428 -vt 0.417758 0.822922 -vt 0.417758 0.947879 -vt 0.090882 0.943818 -vt 0.090882 0.818861 -vt 0.000153 0.588008 -vt 0.000153 0.441045 -vt 0.621469 0.441045 -vt 0.000153 0.734972 -vt 0.621469 0.588008 -vt 0.000153 0.147117 -vt 0.000153 0.000154 -vt 0.621469 0.000153 -vt 0.000153 0.294081 -vt 0.621469 0.147117 -vt 0.621469 0.294081 -vt 0.744564 0.937252 -vt 0.744564 0.812295 -vt 0.907945 0.818861 -vt 0.581070 0.814805 -vt 0.581070 0.939762 -vt 0.254264 0.950386 -vt 0.621469 0.734971 -vt 0.907945 0.943818 -vn 1.000000 0.000000 0.000000 -vn -1.000000 -0.000000 0.000000 -vn -0.047100 -0.314500 -0.948100 -vn -0.028600 0.817400 -0.575300 -vn -0.029800 0.799800 -0.599600 -vn -0.000900 -0.999800 -0.018400 -vn 0.000900 -0.999800 0.018800 -vn 0.000000 -0.309200 -0.951000 -vn 0.000000 0.808900 -0.588000 -vn 0.000000 -1.000000 0.000200 -vn 0.000000 -0.308800 0.951100 -vn 0.000000 0.809100 0.587600 -vn 0.047100 -0.314100 0.948200 -vn 0.047300 -0.303200 0.951800 -vn 0.029800 0.800000 0.599300 -vn 0.028600 0.817700 0.575000 -vn -0.047300 -0.303500 -0.951600 -s off -f 208/294/125 210/295/125 207/296/125 -f 212/296/126 214/294/126 225/297/126 -f 211/298/125 207/296/125 210/295/125 -f 208/294/125 209/299/125 210/295/125 -f 225/297/126 226/300/126 212/296/126 -f 213/301/126 212/296/126 226/300/126 -s 1 -f 212/302/127 213/303/128 208/304/129 -f 211/305/130 214/306/131 212/302/127 -f 220/307/132 221/308/133 215/309/133 -f 222/310/134 220/307/132 219/311/132 -f 223/312/135 222/313/134 218/314/134 -f 224/315/136 223/312/135 217/316/135 -f 221/308/133 224/315/136 216/317/136 -f 210/318/137 225/319/138 214/320/131 -f 226/321/139 225/319/138 210/318/137 -f 213/303/128 226/321/139 209/322/140 -f 207/323/141 212/302/127 208/304/129 -f 207/323/141 211/305/130 212/302/127 -f 219/311/132 220/307/132 215/309/133 -f 218/324/134 222/310/134 219/311/132 -f 217/316/135 223/312/135 218/314/134 -f 216/317/136 224/315/136 217/316/135 -f 215/309/133 221/308/133 216/317/136 -f 211/325/130 210/318/137 214/320/131 -f 209/322/140 226/321/139 210/318/137 -f 208/304/129 213/303/128 209/322/140 -o top -v 5.044108 4.943564 0.354718 -v 5.044108 5.466138 0.354718 -v 0.795692 5.466545 0.343825 -v 0.795217 4.826993 0.417555 -v 0.628732 5.466088 0.192178 -v 0.628732 4.946920 0.192178 -v 0.628732 5.466088 -0.192178 -v -5.398937 5.466088 -0.192178 -v -5.398937 5.466088 0.192178 -v 5.044108 5.466138 -0.342168 -v 0.794078 5.468549 -0.342168 -v 0.794963 4.826993 -0.415286 -v 5.044108 4.943564 -0.342168 -v 0.628732 4.946920 -0.192178 -v -5.398937 4.946920 0.192178 -v -5.398937 4.946920 -0.192178 -v 5.044108 5.259025 0.354718 -v 5.044108 5.259025 -0.342168 -v 5.044108 4.943564 0.354718 -v 5.044108 4.943564 -0.342168 -v 5.847027 4.069042 -0.171277 -v 5.847027 4.069042 0.183828 -v 5.955363 4.361008 -0.171277 -v 5.955363 4.361008 0.183828 -vt 0.115118 0.821537 -vt 0.115118 0.920081 -vt 0.415553 0.920158 -vt 0.427360 0.920071 -vt 0.427360 0.822170 -vt 0.419421 0.464064 -vt 0.419421 0.536544 -vt 0.407728 0.435780 -vt 0.106912 0.342717 -vt 0.106912 0.211303 -vt 0.407381 0.199449 -vt 0.415667 0.920536 -vt 0.407399 0.356501 -vt 0.419154 0.241949 -vt 0.853618 0.920072 -vt 0.853618 0.822170 -vt 0.930034 0.477375 -vt 0.902853 0.477375 -vt 0.902853 0.379473 -vt 0.419154 0.314429 -vt 0.845413 0.241943 -vt 0.889565 0.844568 -vt 0.938846 0.844567 -vt 0.938846 0.883623 -vt 0.050132 0.310492 -vt 0.926761 0.675225 -vt 0.901649 0.675225 -vt 0.901649 0.620168 -vt 0.058338 0.656626 -vt 0.050676 0.711683 -vt 0.107179 0.567194 -vt 0.042738 0.534969 -vt 0.042738 0.468006 -vt 0.115118 0.881025 -vt 0.415586 0.799555 -vt 0.845680 0.464065 -vt 0.845680 0.536544 -vt 0.107179 0.435780 -vt 0.407614 0.565141 -vt 0.930034 0.379473 -vt 0.845413 0.314422 -vt 0.889565 0.883624 -vt 0.050132 0.243528 -vt 0.926761 0.620168 -vn -0.001200 0.010800 0.999900 -vn -0.002600 -0.000000 1.000000 -vn 0.010500 0.105600 0.994300 -vn -0.708000 0.021500 0.705900 -vn -0.672300 0.000000 0.740200 -vn -0.762700 0.057100 0.644200 -vn -0.008900 1.000000 0.000000 -vn -0.003900 1.000000 0.001500 -vn -0.003600 1.000000 0.002300 -vn 0.027400 -0.999600 -0.000000 -vn -0.761300 0.055500 -0.646100 -vn -0.671900 0.000000 -0.740700 -vn -0.706800 0.020700 -0.707100 -vn -0.584900 -0.811100 0.000100 -vn -0.584600 -0.811300 0.000200 -vn -0.584700 -0.811200 0.000200 -vn 0.000000 -0.000000 1.000000 -vn -1.000000 -0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 -1.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn -0.736600 -0.676300 0.000000 -vn 0.937500 -0.347900 0.000000 -vn 0.180600 -0.006000 0.983500 -vn 0.149600 -0.055500 0.987200 -vn 0.153300 -0.049700 0.986900 -vn 0.701900 0.712300 0.000000 -vn 0.180600 -0.006000 -0.983500 -vn 0.184300 0.000000 -0.982900 -vn 0.153300 -0.049700 -0.986900 -vn 0.012900 0.104500 -0.994400 -vn 0.001300 0.010700 -0.999900 -vn 0.011500 0.114500 0.993400 -vn -0.783700 0.071700 0.617000 -vn 0.000000 1.000000 0.000000 -vn 0.000100 1.000000 0.000300 -vn -0.001500 1.000000 0.002700 -vn 0.000100 1.000000 0.000000 -vn -0.781700 0.069600 -0.619800 -vn -0.585100 -0.811000 0.000000 -vn 0.184300 0.000000 0.982900 -vn 0.149600 -0.055500 -0.987200 -vn 0.014000 0.113200 -0.993500 -s 1 -f 227/326/142 228/327/143 229/328/144 -f 229/328/145 231/329/146 232/330/147 -f 233/331/148 231/332/149 237/333/150 -f 239/334/151 227/335/151 230/336/151 -f 240/330/152 233/329/153 237/337/154 -f 238/338/155 230/336/156 232/339/157 -f 231/329/158 235/340/158 241/341/158 -f 235/342/159 234/343/159 242/344/159 -f 234/340/160 233/329/160 240/330/160 -f 240/345/161 232/339/161 241/346/161 -f 243/347/162 244/348/162 236/349/162 -f 245/335/163 246/334/163 247/350/163 -f 249/351/164 250/352/164 248/353/164 -f 245/326/165 248/354/166 250/355/167 -f 243/356/168 250/357/168 249/358/168 -f 246/326/169 244/359/170 249/355/171 -f 237/337/172 236/327/160 239/326/173 -f 230/360/174 227/326/142 229/328/144 -f 230/360/175 229/328/145 232/330/147 -f 233/331/148 234/361/176 235/362/176 -f 236/363/177 237/333/150 229/364/178 -f 229/364/178 228/356/179 236/363/177 -f 233/331/148 235/362/176 231/332/149 -f 231/332/149 229/364/178 237/333/150 -f 238/338/151 239/334/151 230/336/151 -f 238/360/180 240/330/152 237/337/154 -f 240/345/181 238/338/155 232/339/157 -f 232/330/158 231/329/158 241/341/158 -f 241/365/159 235/342/159 242/344/159 -f 242/341/160 234/340/160 240/330/160 -f 242/366/161 240/345/161 241/346/161 -f 228/367/162 243/347/162 236/349/162 -f 248/368/163 245/335/163 247/350/163 -f 247/369/164 249/351/164 248/353/164 -f 243/359/182 245/326/165 250/355/167 -f 244/363/168 243/356/168 249/358/168 -f 247/354/183 246/326/169 249/355/171 -f 238/360/184 237/337/172 239/326/173 -o base -v 4.699434 5.121191 -0.174050 -v 5.266431 5.121191 -0.174050 -v 5.266431 4.997460 -0.005108 -v 4.699434 4.997460 -0.005108 -v 5.266431 5.119899 0.164773 -v 4.699434 5.119899 0.164773 -v 5.266431 5.319301 0.100823 -v 4.699434 5.319301 0.100823 -v 5.266431 5.320100 -0.108581 -v 4.699434 5.320100 -0.108581 -v 4.151685 3.128466 0.320015 -v 4.151685 3.588992 0.433690 -v 4.151685 5.375307 0.433690 -v 4.151685 5.375307 -0.433690 -v 4.151685 3.588992 -0.433690 -v 4.151685 3.128466 -0.320015 -v 5.959075 3.478605 -0.320015 -v 5.959075 3.939131 -0.433690 -v 5.959075 4.345873 -0.433690 -v 5.959075 4.345873 0.433690 -v 5.959075 3.939131 0.433690 -v 5.959075 3.478605 0.320015 -v 4.994334 5.171120 -0.433690 -v 4.994334 5.171120 0.433690 -v 4.598720 5.375307 0.433690 -v 4.448609 3.128466 -0.320015 -v 4.448608 3.128466 0.320015 -v 4.598720 5.375307 -0.433690 -v 5.183057 3.478605 -0.320015 -v 4.805644 3.372820 -0.320015 -v 4.805644 3.372820 0.320015 -v 5.183056 3.478605 0.320015 -v 4.151685 3.128466 -0.320015 -v 4.151685 3.588992 -0.433690 -v 4.151685 5.375307 -0.433690 -v 4.151685 5.375307 0.433690 -v 4.151685 3.588992 0.433690 -v 4.151685 3.128466 0.320015 -v 5.959075 3.478605 -0.320015 -v 5.959075 3.939131 -0.433690 -v 5.959075 4.345873 -0.433690 -v 5.959075 4.345873 0.433690 -v 5.959075 3.939131 0.433690 -v 5.959075 3.478605 0.320015 -v 4.994334 5.171120 -0.433690 -v 4.994334 5.171120 0.433690 -v 4.598720 5.375307 0.433690 -v 4.448609 3.128466 -0.320015 -v 4.448608 3.128466 0.320015 -v 4.598720 5.375307 -0.433690 -v 5.183057 3.478605 -0.320015 -v 4.805644 3.372820 -0.320015 -v 4.805644 3.372820 0.320015 -v 5.183056 3.478605 0.320015 -vt 0.128228 0.227452 -vt 0.095308 0.126135 -vt 0.161147 0.126135 -vt 0.181493 0.188753 -vt 0.074962 0.188753 -vt 0.313932 0.380938 -vt 0.268748 0.380938 -vt 0.268748 0.267979 -vt 0.223564 0.380938 -vt 0.223564 0.267979 -vt 0.178381 0.380938 -vt 0.178381 0.267979 -vt 0.133197 0.380938 -vt 0.133197 0.267979 -vt 0.088013 0.380938 -vt 0.088013 0.267979 -vt 0.814232 0.651940 -vt 0.814232 0.572408 -vt 0.956803 0.572408 -vt 0.814232 0.736011 -vt 0.956803 0.651940 -vt 0.956803 0.736012 -vt 0.956802 0.908875 -vt 0.814231 0.908875 -vt 0.313932 0.267979 -vt 0.716768 0.518831 -vt 0.523553 0.518831 -vt 0.548875 0.416245 -vt 0.666772 0.239171 -vt 0.473557 0.239171 -vt 0.498879 0.136586 -vt 0.691446 0.416246 -vt 0.716768 0.916745 -vt 0.523553 0.916745 -vt 0.641451 0.136586 -vt 0.666772 0.329776 -vt 0.473557 0.329776 -vt 0.773527 0.294021 -vt 0.773527 0.079118 -vt 0.966742 0.079118 -vt 0.956804 0.506266 -vt 0.773527 0.382146 -vt 0.966742 0.294021 -vt 0.966742 0.481726 -vt 0.773527 0.481727 -vt 0.231742 0.882798 -vt 0.319868 0.928282 -vt 0.419448 0.530368 -vt 0.273774 0.482214 -vt 0.353306 0.427783 -vt 0.016839 0.608364 -vt 0.189703 0.505779 -vt 0.016839 0.505779 -vt 0.814232 0.506266 -vt 0.966742 0.382146 -vt 0.016839 0.698969 -vt 0.419448 0.928282 -vt 0.419448 0.427783 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -0.305400 -0.952200 -vn 0.000000 -1.000000 -0.003800 -vn 0.000000 -0.312600 0.949900 -vn 0.000000 0.806800 0.590900 -vn 0.000000 0.811300 -0.584700 -vn 0.423000 -0.906100 0.000000 -vn 0.295600 -0.955300 0.000000 -vn 0.136200 -0.990700 0.000000 -vn 0.000000 -1.000000 0.000000 -vn -1.000000 -0.000000 0.000000 -vn 0.558100 0.829800 0.000000 -vn 0.650000 0.759900 0.000000 -vn 0.236000 0.971800 0.000000 -vn 0.000000 1.000000 0.000000 -vn -0.000000 -0.000000 1.000000 -vn 0.036800 -0.133100 0.990400 -vn 0.036800 -0.133100 -0.990400 -vn 0.086900 -0.244900 -0.965600 -vn 0.069500 -0.196600 -0.978000 -vn 0.069500 -0.196600 0.978000 -vn 0.086900 -0.244900 0.965600 -vn 0.000000 0.000000 -1.000000 -vn 0.007800 -0.118800 0.992900 -vn 0.057000 -0.318800 0.946100 -vn 0.000000 -0.239600 0.970900 -vn 0.057000 -0.318800 -0.946100 -vn 0.000000 -0.239600 -0.970900 -vn 0.007800 -0.118800 -0.992900 -s off -f 252/370/185 257/371/185 255/372/185 -f 255/372/185 253/373/185 252/370/185 -f 252/370/185 259/374/185 257/371/185 -s 1 -f 252/375/186 253/376/187 254/377/187 -f 253/376/187 255/378/188 256/379/188 -f 255/378/188 257/380/189 258/381/189 -f 257/380/189 259/382/190 260/383/190 -f 259/382/190 252/384/186 251/385/186 -f 281/386/191 277/387/192 276/388/192 -f 282/389/193 281/386/191 280/390/191 -f 279/391/193 267/392/194 272/393/194 -f 251/394/186 252/375/186 254/377/187 -f 254/377/187 253/376/187 256/379/188 -f 256/379/188 255/378/188 258/381/189 -f 258/381/189 257/380/189 260/383/190 -f 260/383/190 259/382/190 251/385/186 -f 280/390/191 281/386/191 276/388/192 -f 279/391/193 282/389/193 280/390/191 -f 282/389/193 279/391/193 272/393/194 -s off -f 262/395/195 265/396/195 266/397/195 -f 268/398/185 271/399/185 272/400/185 -f 266/397/195 261/401/195 262/395/195 -f 262/395/195 263/402/195 264/403/195 -f 264/403/195 265/396/195 262/395/195 -f 272/400/185 267/404/185 268/398/185 -f 268/398/185 269/405/185 270/406/185 -f 270/406/185 271/399/185 268/398/185 -s 1 -f 274/407/196 270/408/197 269/409/197 -f 266/410/194 276/388/192 277/387/192 -f 275/411/198 274/407/196 273/412/196 -f 264/413/199 263/414/199 275/411/198 -f 296/415/200 297/416/200 287/417/201 -f 284/417/202 302/418/203 298/419/204 -f 299/419/205 303/418/206 287/417/201 -f 300/416/207 295/415/207 284/417/202 -f 293/420/208 304/421/209 294/422/210 -f 301/421/211 302/418/203 284/417/202 -f 289/422/212 301/421/211 290/420/213 -f 287/417/201 303/418/206 304/421/209 -f 273/412/196 274/407/196 269/409/197 -f 261/423/194 266/410/194 277/387/192 -f 278/424/198 275/411/198 273/412/196 -f 278/424/198 264/413/199 275/411/198 -f 287/417/201 293/420/208 292/425/200 -f 292/425/200 296/415/200 287/417/201 -f 297/416/200 286/426/200 287/417/201 -f 283/427/212 284/417/202 298/419/204 -f 288/427/210 299/419/205 287/417/201 -f 290/420/213 284/417/202 291/425/207 -f 285/426/207 300/416/207 284/417/202 -f 295/415/207 291/425/207 284/417/202 -f 290/420/213 301/421/211 284/417/202 -f 293/420/208 287/417/201 304/421/209 -o trigger -v 3.926120 3.092227 -0.034408 -v 3.965425 3.198867 -0.030930 -v 5.332912 3.009086 -0.030958 -v 5.517139 3.497606 -0.022463 -v 5.630136 3.497556 -0.022463 -v 5.332912 2.895381 -0.030958 -v 5.624238 3.497606 0.030137 -v 5.511241 3.497606 0.030137 -v 5.332912 3.009086 0.022101 -v 3.965384 3.197152 0.022101 -v 3.926080 3.090513 0.018623 -v 5.332912 2.895381 0.022101 -v 5.163631 3.138078 -0.026238 -v 5.365596 3.296422 -0.026234 -v 5.365596 3.296422 0.017377 -v 5.174312 3.138078 0.015514 -v 5.195904 3.201269 -0.024371 -v 5.206583 3.201269 0.017380 -v 5.294617 3.296422 0.017377 -v 5.294617 3.487131 0.017377 -v 5.294617 3.487131 -0.026234 -v 5.294617 3.296422 -0.026234 -v 5.365596 3.487131 -0.026234 -v 5.365596 3.487131 0.017377 -vt 0.083542 0.693552 -vt 0.300095 0.826506 -vt 0.289671 0.880478 -vt 0.358499 0.224215 -vt 0.412820 0.213665 -vt 0.629683 0.849229 -vt 0.713908 0.720213 -vt 0.688088 0.720276 -vt 0.688088 0.029347 -vt 0.793474 0.884010 -vt 0.772313 0.884032 -vt 0.772964 0.763243 -vt 0.798134 0.029188 -vt 0.798134 0.700800 -vt 0.772314 0.700705 -vt 0.882325 0.668281 -vt 0.856539 0.667868 -vt 0.856606 0.414854 -vt 0.940734 0.157111 -vt 0.966335 0.154242 -vt 0.966335 0.209211 -vt 0.852023 0.965190 -vt 0.852023 0.909876 -vt 0.877847 0.909876 -vt 0.970797 0.970571 -vt 0.936252 0.970568 -vt 0.936252 0.877802 -vt 0.970798 0.819423 -vt 0.936252 0.819426 -vt 0.936252 0.726660 -vt 0.882329 0.029188 -vt 0.882329 0.355890 -vt 0.856617 0.354971 -vt 0.710114 0.899453 -vt 0.688088 0.872858 -vt 0.696426 0.810352 -vt 0.961956 0.424358 -vt 0.961956 0.517132 -vt 0.940730 0.517132 -vt 0.863316 0.820182 -vt 0.856539 0.753826 -vt 0.877847 0.726657 -vt 0.358499 0.936283 -vt 0.379725 0.936283 -vt 0.379725 0.970812 -vt 0.300095 0.057784 -vt 0.029202 0.683098 -vt 0.619187 0.029188 -vt 0.629682 0.083145 -vt 0.940730 0.575508 -vt 0.961956 0.575508 -vt 0.961956 0.668281 -vt 0.961874 0.029188 -vt 0.961874 0.095866 -vt 0.941265 0.092454 -vt 0.961508 0.273352 -vt 0.961508 0.307881 -vt 0.940734 0.304985 -vt 0.582369 0.877907 -vt 0.713908 0.029188 -vt 0.793474 0.759175 -vt 0.772313 0.029188 -vt 0.882325 0.414266 -vt 0.940734 0.212080 -vt 0.877847 0.965190 -vt 0.970797 0.877805 -vt 0.970798 0.726657 -vt 0.856539 0.029509 -vt 0.710114 0.778652 -vt 0.940730 0.424358 -vt 0.877847 0.851500 -vt 0.358500 0.970812 -vt 0.252730 0.029188 -vt 0.940730 0.668281 -vt 0.940734 0.029423 -vt 0.940734 0.270456 -vn 0.000000 0.017400 -0.999800 -vn 0.000000 -0.000000 1.000000 -vn -0.137400 -0.990500 0.000000 -vn 0.637700 -0.770300 0.000000 -vn 0.137400 0.990000 0.032100 -vn -0.939400 0.342900 0.000000 -vn 0.000000 1.000000 0.000000 -vn -0.938400 0.345500 0.010400 -vn 0.000000 0.000000 -1.000000 -vn 0.891600 -0.441500 0.100400 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -0.019600 -0.999800 -vn 0.000000 -0.016400 0.999900 -vn -1.000000 -0.000000 0.000000 -vn -0.681700 0.710600 0.174400 -vn -0.870900 0.438100 0.222800 -vn 0.028600 0.000000 -0.999600 -vn -0.006700 -0.030100 0.999500 -vn -0.138400 -0.989900 -0.032100 -vn 0.609500 -0.777300 -0.155900 -vn 0.136200 0.990700 0.000000 -vn -0.930000 0.352500 -0.104300 -vn 0.000400 1.000000 -0.000900 -vn -0.938400 0.345500 0.010500 -vn 0.900200 -0.435500 0.000000 -vn 0.025400 -0.042500 0.998800 -vn -0.038500 0.049200 -0.998000 -vn 0.006700 0.030100 -0.999500 -vn -0.027600 0.000000 0.999600 -vn -0.734000 0.679100 0.000000 -vn -0.870800 0.438200 0.222800 -s off -f 307/428/214 308/429/214 309/430/214 -f 316/431/215 313/432/215 314/433/215 -f 310/434/216 316/435/216 315/436/216 -f 318/437/217 319/438/217 320/439/217 -f 307/440/218 306/441/218 314/442/218 -f 307/443/219 313/444/219 312/445/219 -f 308/446/220 312/447/220 311/448/220 -f 315/449/221 314/450/221 306/451/221 -f 325/452/222 327/453/222 318/454/222 -f 328/455/215 324/456/215 323/457/215 -f 310/458/223 309/459/223 311/460/223 -f 319/461/215 323/462/215 322/463/215 -f 318/464/224 327/465/224 328/466/224 -f 321/467/225 326/468/225 318/469/225 -f 325/470/220 324/471/220 328/472/220 -f 306/473/222 307/428/222 310/474/222 -f 311/475/226 312/476/226 313/432/226 -f 324/477/227 325/478/227 326/479/227 -f 326/480/228 321/481/228 322/482/228 -f 320/483/229 322/484/229 321/485/229 -f 310/474/230 307/428/230 309/430/230 -f 315/486/231 316/431/231 314/433/231 -f 305/487/232 310/434/232 315/436/232 -f 317/488/233 318/437/233 320/439/233 -f 313/489/234 307/440/234 314/442/234 -f 308/490/235 307/443/235 312/445/235 -f 309/491/236 308/446/236 311/448/236 -f 305/492/237 315/449/237 306/451/237 -f 326/493/222 325/452/222 318/454/222 -f 319/494/215 328/455/215 323/457/215 -f 316/495/238 310/458/238 311/460/238 -f 320/496/239 319/461/239 322/463/239 -f 319/497/224 318/464/224 328/466/224 -f 317/498/240 321/467/240 318/469/240 -f 327/499/220 325/470/220 328/472/220 -f 305/500/241 306/473/241 310/474/241 -f 316/431/242 311/475/242 313/432/242 -f 323/501/227 324/477/227 326/479/227 -f 323/502/243 326/480/243 322/482/243 -f 317/503/244 320/483/244 321/485/244 -o flechette -v -6.690176 4.818856 0.090346 -v -7.627392 4.818856 0.090345 -v -7.627392 4.733345 0.004835 -v -6.690176 4.733345 0.004835 -v -7.627392 4.818856 -0.080676 -v -6.690176 4.818856 -0.080676 -v -7.627392 4.904366 0.004835 -v -7.990086 4.818856 0.004744 -v -7.990086 4.818947 0.004835 -v -6.690176 4.904366 0.004835 -v -6.369133 4.818856 0.018597 -v -6.690621 4.818856 0.018597 -v -6.690621 4.641216 0.005132 -v -6.369133 4.641216 0.005132 -v -6.690621 4.818856 -0.008333 -v -6.369133 4.818856 -0.008333 -v -6.690621 4.996495 0.005132 -v -6.369133 4.996495 0.005132 -v -6.370245 4.818856 0.040429 -v -6.370245 4.783262 0.004835 -v -6.370245 4.818856 -0.030759 -v -6.370245 4.854450 0.004835 -v -6.693045 4.860888 0.004835 -v -6.693045 4.818856 0.046868 -v -6.693045 4.818856 -0.037198 -v -6.693045 4.776823 0.004835 -v -6.369133 4.808150 0.005132 -v -6.690621 4.796983 0.005132 -v -6.690621 4.818856 -0.172507 -v -6.369133 4.818856 -0.172507 -v -6.690621 4.840728 0.005132 -v -6.369133 4.829561 0.005132 -v -6.690621 4.818856 0.182771 -v -6.369133 4.818856 0.182771 -v -7.990086 4.818765 0.004835 -v -7.990086 4.818856 0.004926 -vt 1.000000 1.000000 -vt 0.750000 1.000000 -vt 0.750000 0.634215 -vt 0.500000 1.000000 -vt 0.500000 0.634215 -vt 0.250000 1.000000 -vt 0.250000 0.634215 -vt 0.000000 1.000000 -vt 1.000000 0.634215 -vt 0.250000 0.490000 -vt 0.010000 0.250000 -vt 0.250000 0.010000 -vt 0.000000 0.634215 -vt 0.990000 0.250000 -vt 0.750000 0.010000 -vt 0.510000 0.250000 -vt 0.250000 0.500000 -vt 0.750000 0.500000 -vt 0.490000 0.250000 -vt 0.750000 0.490000 -vt 0.000000 0.500000 -vt 0.500000 0.500000 -vt 1.000000 0.500000 -vn -0.000000 -0.707100 0.707100 -vn 0.000000 -0.707100 -0.707100 -vn -0.164300 0.697500 -0.697500 -vn -0.163900 0.698400 -0.696700 -vn -0.163900 0.698200 -0.696800 -vn 0.000000 0.707100 -0.707100 -vn -0.000000 0.707100 0.707100 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -0.075600 0.997100 -vn 0.000000 -0.075600 -0.997100 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.075600 -0.997100 -vn 0.000000 0.075600 0.997100 -vn 0.014100 0.707000 0.707000 -vn 0.014100 0.707000 -0.707000 -vn 0.014100 -0.707000 -0.707000 -vn 0.014100 -0.707000 0.707000 -vn 0.011100 -0.996700 -0.080200 -vn 0.034500 -0.991900 -0.122100 -vn 0.023400 -0.994500 -0.102300 -vn 0.023400 0.994500 -0.102300 -vn 0.034500 0.991900 -0.122100 -vn 0.011100 0.996700 -0.080200 -vn 0.011100 0.996700 0.080200 -vn 0.034500 0.991900 0.122100 -vn 0.023400 0.994500 0.102300 -vn 0.023400 -0.994500 0.102300 -vn 0.034500 -0.991900 0.122100 -vn 0.011100 -0.996700 0.080200 -vn -0.164300 0.697500 0.697500 -vn -0.163600 0.699600 0.695500 -vn -0.164300 -0.697500 -0.697500 -vn -0.164100 -0.696500 -0.698500 -vn -0.164300 -0.697500 0.697500 -vn -0.164500 -0.698400 0.696600 -vn 0.000000 -0.998200 -0.060200 -vn 0.000000 0.998200 -0.060200 -vn 0.000000 0.998200 0.060200 -vn 0.000000 -0.998200 0.060200 -vn -0.163500 0.700100 0.695100 -vn -0.164000 -0.696300 -0.698800 -vn -0.164500 -0.698600 0.696400 -s 1 -f 330/504/245 331/505/245 332/506/245 -f 331/505/246 333/507/246 334/508/246 -f 333/507/247 336/507/248 337/509/249 -f 333/507/250 335/509/250 338/510/250 -f 338/510/251 335/509/251 330/511/251 -f 338/510/252 329/512/252 332/506/252 -f 340/504/253 341/505/253 342/506/253 -f 341/505/254 343/507/254 344/508/254 -f 340/513/255 345/514/255 343/515/255 -f 343/507/256 345/509/256 346/510/256 -f 345/509/257 340/511/257 339/516/257 -f 339/512/252 342/506/252 344/508/252 -f 348/517/252 349/518/252 350/519/252 -f 350/520/258 351/510/258 352/516/258 -f 353/508/259 351/510/259 350/520/259 -f 348/521/260 354/506/260 353/508/260 -f 352/512/261 354/506/261 348/521/261 -f 355/512/262 356/504/263 357/505/264 -f 357/505/265 359/507/266 360/508/267 -f 356/513/255 361/514/255 359/515/255 -f 360/508/268 359/507/269 361/509/270 -f 361/509/271 356/511/272 355/516/273 -f 355/512/252 358/506/252 360/508/252 -f 363/522/255 364/513/255 337/514/255 -f 330/511/274 335/509/274 337/509/275 -f 333/507/276 331/505/276 363/505/277 -f 331/505/278 330/504/278 364/504/279 -f 329/512/245 330/504/245 332/506/245 -f 332/506/246 331/505/246 334/508/246 -f 335/509/247 333/507/247 337/509/249 -f 334/508/250 333/507/250 338/510/250 -f 329/516/251 338/510/251 330/511/251 -f 334/508/252 338/510/252 332/506/252 -f 339/512/253 340/504/253 342/506/253 -f 342/506/254 341/505/254 344/508/254 -f 341/522/255 340/513/255 343/515/255 -f 344/508/256 343/507/256 346/510/256 -f 346/510/257 345/509/257 339/516/257 -f 346/510/252 339/512/252 344/508/252 -f 347/523/252 348/517/252 350/519/252 -f 347/524/258 350/520/258 352/516/258 -f 349/525/259 353/508/259 350/520/259 -f 349/525/260 348/521/260 353/508/260 -f 347/526/261 352/512/261 348/521/261 -f 358/506/280 355/512/262 357/505/264 -f 358/506/281 357/505/265 360/508/267 -f 357/522/255 356/513/255 359/515/255 -f 362/510/282 360/508/268 361/509/270 -f 362/510/283 361/509/271 355/516/273 -f 362/510/252 355/512/252 360/508/252 -f 336/515/255 363/522/255 337/514/255 -f 364/511/284 330/511/274 337/509/275 -f 336/507/285 333/507/276 363/505/277 -f 363/505/286 331/505/278 364/504/279 -o body -v 0.795217 5.376135 -0.354718 -v 0.629208 5.376135 -0.193462 -v -2.342856 5.376135 -0.193462 -v -2.342856 5.376135 0.193462 -v 0.624788 5.373264 0.200239 -v 0.795217 5.376135 0.354718 -v 2.342856 5.376135 0.354718 -v 2.342856 5.376135 -0.354718 -v -1.965528 4.321319 -0.433690 -v -0.232339 4.321319 -0.433690 -v -0.232339 4.322378 0.433690 -v -1.964773 4.322378 0.433690 -v -0.232339 2.623865 0.503573 -v -0.232339 3.024528 0.503573 -v -0.232339 3.103445 0.433690 -v -0.232339 3.105076 -0.433690 -v -0.232339 3.026160 -0.503573 -v -0.232339 2.623865 -0.503573 -v -1.967963 3.218578 0.433690 -v -1.968281 3.218578 -0.433690 -v -2.342856 3.218578 -0.433690 -v -2.342856 4.685988 -0.433690 -v 2.342856 4.685988 -0.433690 -v 2.342856 3.103445 -0.433690 -v -2.342856 3.218578 0.433690 -v 2.342856 2.623865 0.503573 -v 2.342856 3.024528 0.503573 -v 2.342856 3.103445 0.433690 -v 2.342856 4.685988 0.433690 -v -2.342856 4.685988 0.433690 -v 2.342856 2.623865 -0.503573 -v 2.342856 3.024528 -0.503573 -v 0.629208 4.826993 -0.326173 -v -2.342856 4.826993 -0.326173 -v -2.342856 4.826993 0.326173 -v 0.795217 4.826993 -0.417555 -v -2.342856 4.826993 -0.417555 -v -2.342856 4.826993 0.417555 -v 0.795217 4.826993 0.417555 -v 0.629208 4.826993 0.326173 -vt 0.484321 0.387789 -vt 0.455873 0.481725 -vt 0.455873 0.360156 -vt 0.681071 0.205332 -vt 0.681071 0.308549 -vt 0.474912 0.308549 -vt 0.170020 0.082695 -vt 0.021386 0.082974 -vt 0.009411 0.000514 -vt 0.268814 0.181527 -vt 0.372031 0.181527 -vt 0.372031 0.312753 -vt 0.007780 0.874220 -vt 0.449066 0.811731 -vt 0.810725 0.874220 -vt 0.429921 0.308549 -vt 0.429921 0.205332 -vt 0.474495 0.205332 -vt 0.007780 0.589514 -vt 0.449066 0.589514 -vt 0.449066 0.520856 -vt 0.745936 0.811913 -vt 0.449066 0.811913 -vt 0.681071 0.197015 -vt 0.987517 0.197015 -vt 0.987517 0.316866 -vt 0.840368 0.598952 -vt 1.000977 0.516770 -vt 0.989002 0.598951 -vt 0.007780 0.520855 -vt 0.449066 0.603037 -vt 0.007780 0.603036 -vt 0.449066 0.589793 -vt 0.301431 0.898383 -vt 0.810725 0.898383 -vt 0.810725 0.992484 -vt 0.151598 0.378042 -vt 0.128856 0.472142 -vt 0.062553 0.472142 -vt 0.993614 0.349389 -vt 0.993614 0.492493 -vt 0.455873 0.492493 -vt 0.302188 0.991992 -vt 0.272983 0.898383 -vt 0.272983 0.992484 -vt 0.007780 0.992484 -vt 0.167257 0.378042 -vt 0.021388 0.353879 -vt 0.170022 0.353879 -vt 0.190670 0.360156 -vt 0.190670 0.481725 -vt 0.993614 0.387789 -vt 0.485078 0.455254 -vt 0.993614 0.454093 -vt 0.474822 0.205332 -vt 0.181995 0.000514 -vt 0.170020 0.291571 -vt 0.181995 0.069172 -vt 0.009411 0.069451 -vt 0.021386 0.291389 -vt 0.268814 0.312879 -vt 0.746066 0.811731 -vt 0.746537 0.622766 -vt 0.810725 0.622766 -vt 0.449066 0.603316 -vt 0.474533 0.308549 -vt 0.681071 0.316866 -vt 0.989002 0.870135 -vt 0.975470 0.988399 -vt 0.853901 0.988399 -vt 0.840368 0.870136 -vt 0.828393 0.585428 -vt 0.828393 0.516771 -vt 1.000977 0.585428 -vt 0.301431 0.992484 -vt 0.039812 0.378041 -vt 0.455873 0.349389 -vt 0.170022 0.102424 -vt 0.024152 0.378041 -vt 0.021388 0.102424 -vn -0.001800 1.000000 0.003500 -vn -0.005200 1.000000 0.001600 -vn 0.000000 1.000000 0.000000 -vn 0.000000 -1.000000 0.001200 -vn -1.000000 -0.000000 0.000000 -vn 1.000000 -0.002700 -0.000600 -vn 1.000000 -0.002500 -0.000400 -vn 1.000000 -0.002700 -0.000700 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 -1.000000 -0.000000 -vn 0.000000 0.000000 1.000000 -vn 1.000000 -0.000000 0.000000 -vn 0.000000 0.663000 0.748700 -vn 0.000400 0.663000 -0.748700 -vn 0.000000 0.234900 -0.972000 -vn -0.001800 0.233700 0.972300 -vn 0.000000 0.224600 0.974400 -vn -0.000200 0.225900 0.974200 -vn -0.526900 0.115500 0.842100 -vn -0.479800 0.099700 0.871700 -vn -0.629500 0.150700 0.762300 -vn -0.648700 0.157400 -0.744600 -vn -0.479800 0.099700 -0.871700 -vn -0.533200 0.117700 -0.837700 -vn -0.000000 0.113700 -0.993500 -vn -0.000000 0.113700 0.993500 -vn 0.000900 1.000000 0.000600 -vn -0.013700 0.999900 0.006900 -vn 0.001000 1.000000 0.000000 -vn 1.000000 -0.002900 -0.000900 -vn -0.002000 0.234900 0.972000 -vn -0.664100 0.162800 0.729700 -vn -0.686500 0.170800 -0.706800 -s 1 -f 366/527/287 370/528/288 365/529/289 -f 374/530/290 375/531/290 376/532/290 -f 379/533/291 380/534/291 382/535/291 -f 383/536/292 384/537/293 373/538/294 -f 387/539/295 374/540/295 386/541/295 -f 389/542/296 385/543/296 384/544/296 -f 391/545/297 378/546/297 377/547/297 -f 394/541/297 376/548/297 375/549/297 -f 382/550/296 395/551/296 390/552/296 -f 392/553/298 395/554/298 388/555/298 -f 396/545/295 395/556/295 382/547/295 -f 379/557/299 378/546/299 391/545/299 -f 388/558/300 396/545/300 381/559/300 -f 397/560/301 398/561/301 367/562/301 -f 399/563/291 368/564/291 367/565/291 -f 401/566/289 402/567/289 403/568/289 -f 399/561/302 404/560/303 369/569/304 -f 404/560/305 403/570/306 370/571/307 -f 365/571/308 400/570/309 397/560/310 -f 400/570/311 372/572/311 387/539/311 -f 403/570/312 394/541/312 393/539/312 -f 402/573/291 386/574/291 394/575/291 -f 372/576/289 365/529/289 371/577/289 -f 366/527/287 367/578/313 369/579/314 -f 369/579/314 370/528/288 366/527/287 -f 367/578/313 368/580/315 369/579/314 -f 371/577/289 365/529/289 370/528/288 -f 373/581/290 374/530/290 376/532/290 -f 382/535/291 377/582/291 379/533/291 -f 379/533/291 375/583/291 380/534/291 -f 377/582/291 378/584/291 379/533/291 -f 380/534/291 381/585/291 382/535/291 -f 375/583/291 374/586/291 380/534/291 -f 376/587/316 383/536/292 373/538/294 -f 373/588/295 384/589/295 385/590/295 -f 387/539/295 388/558/295 374/540/295 -f 373/588/295 385/590/295 386/541/295 -f 388/558/295 380/591/295 374/540/295 -f 373/588/295 386/541/295 374/540/295 -f 383/592/296 389/542/296 384/544/296 -f 390/556/297 391/545/297 377/547/297 -f 375/549/297 379/557/297 392/558/297 -f 394/541/297 389/590/297 376/548/297 -f 375/549/297 392/558/297 393/539/297 -f 389/590/297 383/589/297 376/548/297 -f 375/549/297 393/539/297 394/541/297 -f 377/593/296 382/550/296 390/552/296 -f 388/555/298 387/594/298 392/553/298 -f 372/595/298 371/596/298 393/597/298 -f 392/553/298 391/598/298 390/599/298 -f 372/595/298 393/597/298 387/594/298 -f 395/554/298 396/600/298 388/555/298 -f 387/594/298 393/597/298 392/553/298 -f 392/553/298 390/599/298 395/554/298 -f 381/559/295 396/545/295 382/547/295 -f 392/558/299 379/557/299 391/545/299 -f 380/591/300 388/558/300 381/559/300 -f 366/601/301 397/560/301 367/562/301 -f 398/602/291 399/563/291 367/565/291 -f 400/603/289 401/566/289 403/568/289 -f 368/562/317 399/561/302 369/569/304 -f 369/569/318 404/560/305 370/571/307 -f 366/601/319 365/571/308 397/560/310 -f 386/541/311 401/561/311 400/570/311 -f 400/570/311 365/571/311 372/572/311 -f 387/539/311 386/541/311 400/570/311 -f 371/572/312 370/571/312 403/570/312 -f 403/570/312 402/561/312 394/541/312 -f 393/539/312 371/572/312 403/570/312 -f 389/604/291 394/575/291 386/574/291 -f 402/573/291 401/605/291 386/574/291 -f 386/574/291 385/606/291 389/604/291 -o chamber -v 2.759583 4.408674 -0.553030 -v 2.759583 4.653401 -0.411737 -v 3.723804 4.653401 -0.411737 -v 3.723804 4.408674 -0.553030 -v 2.759583 4.898128 -0.553030 -v 3.723804 4.898128 -0.553030 -v 2.759583 4.898128 -0.617516 -v 3.723804 4.898128 -0.617516 -v 2.341729 5.375706 0.433709 -v 4.149120 5.375706 0.433709 -v 4.150729 5.375706 -0.433690 -v 2.343338 5.375706 -0.433690 -v 2.343338 3.128466 -0.433690 -v 2.632140 4.281843 -0.854733 -v 2.632140 3.591664 -0.854733 -v 2.341729 3.128466 0.433709 -v 4.150729 3.128466 -0.433690 -v 4.149120 3.128466 0.433709 -v 2.759583 4.408674 -0.805914 -v 3.723804 4.408674 -0.805914 -v 3.861928 4.281843 -0.854733 -v 3.861928 3.591664 -0.854733 -v 3.732876 4.408674 0.553050 -v 3.732876 4.653401 0.411757 -v 2.768654 4.653401 0.411757 -v 2.768654 4.408674 0.553050 -v 3.732876 4.898128 0.553050 -v 2.768654 4.898128 0.553050 -v 3.732876 4.898128 0.617536 -v 2.768654 4.898128 0.617536 -v 3.860319 4.281843 0.854752 -v 3.860319 3.591664 0.854752 -v 3.732876 4.408674 0.805934 -v 2.768654 4.408674 0.805934 -v 2.630531 4.281843 0.854753 -v 2.630531 3.591664 0.854753 -v 2.740474 4.533714 -0.752029 -v 3.742913 4.533714 -0.752029 -v 3.742913 4.365829 -0.617191 -v 2.740474 4.365829 -0.617191 -v 3.742913 4.767260 -0.461243 -v 2.740474 4.767260 -0.461243 -v 3.742913 4.734430 -0.674055 -v 2.740474 4.734430 -0.674055 -v 3.742913 4.366174 0.617705 -v 2.740474 4.366174 0.617705 -v 3.742913 4.534652 0.751802 -v 2.740474 4.534652 0.751802 -v 3.742913 4.735022 0.672945 -v 2.740474 4.735022 0.672945 -v 3.742913 4.766915 0.459991 -v 2.740474 4.766915 0.459991 -vt 0.531250 0.005859 -vt 0.531250 0.505859 -vt 0.697917 0.505859 -vt 0.993279 0.798270 -vt 0.745002 0.798270 -vt 0.745002 0.735255 -vt 0.081260 0.743049 -vt 0.081260 0.991325 -vt 0.097864 0.991325 -vt 0.719126 0.991465 -vt 0.495780 0.991880 -vt 0.495780 0.526495 -vt 0.477411 0.000804 -vt 0.477411 0.579444 -vt 0.403047 0.297786 -vt 0.992564 0.583351 -vt 0.769218 0.583350 -vt 0.769218 0.004710 -vt 0.992564 0.004710 -vt 0.121956 0.330444 -vt 0.086390 0.297786 -vt 0.086390 0.120072 -vt 0.012027 0.000804 -vt 0.403047 0.120072 -vt 0.097864 0.743049 -vt 0.032749 0.991326 -vt 0.134246 0.664943 -vt 0.097864 0.601928 -vt 0.081260 0.727957 -vt 0.097864 0.727957 -vt 0.121956 0.456473 -vt 0.012027 0.579444 -vt 0.742666 0.798270 -vt 0.990943 0.798270 -vt 0.990943 0.735256 -vt 0.399272 0.993662 -vt 0.399272 0.745385 -vt 0.382668 0.745385 -vt 0.012441 0.000804 -vt 0.012441 0.579444 -vt 0.086804 0.297786 -vt 0.367896 0.330444 -vt 0.403461 0.297786 -vt 0.403461 0.120073 -vt 0.086804 0.120073 -vt 0.477825 0.000804 -vt 0.382668 0.993662 -vt 0.447783 0.745385 -vt 0.363885 0.664943 -vt 0.400266 0.601929 -vt 0.416871 0.727958 -vt 0.400266 0.727958 -vt 0.367896 0.456473 -vt 0.477825 0.579444 -vt 0.697917 0.005859 -vt 0.993279 0.735255 -vt 0.719126 0.526081 -vt 0.370232 0.456473 -vt 0.370232 0.330444 -vt 0.032750 0.743049 -vt 0.032750 0.601928 -vt 0.742666 0.735256 -vt 0.119619 0.456473 -vt 0.119619 0.330444 -vt 0.447783 0.993662 -vt 0.465381 0.601929 -vt 0.740082 0.866546 -vt 0.740082 0.823318 -vt 0.998200 0.823318 -vt 0.740082 0.926682 -vt 0.740082 0.918229 -vt 0.998200 0.918228 -vt 0.998200 0.866546 -vt 0.740081 0.823407 -vt 0.740081 0.866789 -vt 0.998200 0.866789 -vt 0.740081 0.918382 -vt 0.998200 0.918382 -vt 0.740081 0.926594 -vt 0.998200 0.926594 -vt 0.998200 0.926682 -vt 0.998200 0.823407 -vn 0.000000 0.500000 -0.866000 -vn 0.000000 -0.500000 -0.866000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 0.000000 -vn -0.824600 -0.000000 -0.565600 -vn -1.000000 -0.000000 -0.001900 -vn 1.000000 0.000000 0.001900 -vn 0.000000 0.359200 -0.933300 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 -0.672600 -0.740000 -vn 0.824700 0.000000 -0.565600 -vn 1.000000 -0.000000 0.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.500000 0.866000 -vn 0.000000 -0.500000 0.866000 -vn 0.824700 0.000000 0.565600 -vn 0.000000 0.359200 0.933300 -vn 0.000000 0.000000 1.000000 -vn 0.000000 -0.672600 0.740000 -vn -0.824600 0.000000 0.565600 -vn -0.824700 0.000000 0.565600 -vn 0.000000 -0.152500 -0.988300 -vn 0.000000 -0.626200 -0.779700 -vn 0.000000 0.988300 -0.152500 -vn 0.000000 0.779700 -0.626200 -vn 0.000000 -0.622800 0.782400 -vn 0.000000 -0.148100 0.989000 -vn 0.000000 0.782400 0.622800 -vn 0.000000 0.989000 0.148100 -s 1 -f 406/607/320 407/608/320 408/609/320 -f 409/610/321 410/611/321 407/612/321 -f 411/613/322 412/614/322 410/615/322 -f 414/616/323 415/617/323 416/618/323 -f 417/619/324 416/620/324 418/621/324 -f 413/622/325 416/623/325 417/624/325 -f 417/618/322 421/617/322 422/616/322 -f 415/623/326 414/622/326 422/625/326 -f 424/626/327 425/627/327 418/621/327 -f 418/621/328 425/627/328 426/628/328 -f 421/629/329 417/619/329 419/630/329 -f 421/629/330 426/628/330 425/627/330 -f 405/631/323 408/615/323 424/632/323 -f 406/633/331 405/634/331 411/635/331 -f 407/633/332 410/636/332 412/635/332 -f 412/637/327 416/620/327 415/638/327 -f 428/607/333 429/608/333 430/609/333 -f 431/639/334 432/640/334 429/641/334 -f 433/642/322 434/643/322 432/644/322 -f 422/645/335 414/646/335 435/647/335 -f 438/648/336 439/649/336 435/647/336 -f 435/647/337 439/649/337 440/650/337 -f 422/645/338 436/651/338 440/650/338 -f 420/652/339 440/650/339 439/649/339 -f 427/653/323 430/644/323 438/654/323 -f 428/655/332 427/656/332 433/657/332 -f 429/655/331 432/658/331 434/657/331 -f 434/659/336 414/646/336 413/660/336 -f 405/661/320 406/607/320 408/609/320 -f 406/662/321 409/610/321 407/612/321 -f 409/631/322 411/613/322 410/615/322 -f 413/663/323 414/616/323 416/618/323 -f 419/630/324 417/619/324 418/621/324 -f 420/625/325 413/622/325 417/624/325 -f 420/663/322 417/618/322 422/616/322 -f 421/624/326 415/623/326 422/625/326 -f 418/621/327 416/620/327 411/664/327 -f 423/665/327 424/626/327 418/621/327 -f 418/621/327 411/664/327 423/665/327 -f 419/630/328 418/621/328 426/628/328 -f 426/628/329 421/629/329 419/630/329 -f 415/638/330 421/629/330 425/627/330 -f 423/666/323 405/631/323 424/632/323 -f 423/667/331 411/635/331 405/634/331 -f 409/636/331 406/633/331 411/635/331 -f 412/635/332 424/667/332 408/634/332 -f 408/634/332 407/633/332 412/635/332 -f 415/638/327 425/627/327 412/637/327 -f 412/637/327 411/664/327 416/620/327 -f 425/627/327 424/626/327 412/637/327 -f 427/661/333 428/607/333 430/609/333 -f 428/668/334 431/639/334 429/641/334 -f 431/653/322 433/642/322 432/644/322 -f 436/651/335 422/645/335 435/647/335 -f 435/647/336 414/646/336 433/669/336 -f 437/670/336 438/648/336 435/647/336 -f 435/647/336 433/669/336 437/670/336 -f 436/651/337 435/647/337 440/650/337 -f 420/652/338 422/645/338 440/650/338 -f 413/660/340 420/652/339 439/649/339 -f 437/671/323 427/653/323 438/654/323 -f 437/672/332 433/657/332 427/656/332 -f 431/658/332 428/655/332 433/657/332 -f 434/657/331 438/672/331 430/656/331 -f 430/656/331 429/655/331 434/657/331 -f 413/660/336 439/649/336 434/659/336 -f 434/659/336 433/669/336 414/646/336 -f 439/649/336 438/648/336 434/659/336 -f 442/673/341 443/674/342 444/675/342 -f 445/676/343 447/677/344 448/678/344 -f 447/677/344 442/673/341 441/679/341 -f 449/680/345 451/681/346 452/682/346 -f 451/681/346 453/683/347 454/684/347 -f 453/683/347 455/685/348 456/686/348 -f 441/679/341 442/673/341 444/675/342 -f 446/687/343 445/676/343 448/678/344 -f 448/678/344 447/677/344 441/679/341 -f 450/688/345 449/680/345 452/682/346 -f 452/682/346 451/681/346 454/684/347 -f 454/684/347 453/683/347 456/686/348 diff --git a/src/main/resources/assets/hbm/models/weapons/folly.obj b/src/main/resources/assets/hbm/models/weapons/folly.obj new file mode 100644 index 000000000..814647aec --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/folly.obj @@ -0,0 +1,3004 @@ +# Blender v2.79 (sub 0) OBJ File: 'folly.blend' +# www.blender.org +o Cog +v 0.382683 1.923880 -4.500000 +v 0.707107 1.707107 -4.500000 +v 0.923880 1.382684 -4.500000 +v 1.000000 1.000000 -4.500000 +v 0.923880 0.617316 -4.500000 +v 0.707107 0.292893 -4.500000 +v 0.382683 0.076120 -4.500000 +v 0.000000 0.000000 -4.500000 +v -0.382683 0.076120 -4.500000 +v -0.707107 0.292893 -4.500000 +v -0.923880 0.617316 -4.500000 +v -1.000000 1.000000 -4.500000 +v -0.923880 1.382683 -4.500000 +v -0.707107 1.707107 -4.500000 +v -0.382683 1.923880 -4.500000 +v 0.000000 2.000000 -4.500000 +v 0.000000 2.000000 -3.500000 +v -0.382683 1.923880 -3.500000 +v -0.707107 1.707107 -3.500000 +v -0.923880 1.382683 -3.500000 +v -1.000000 1.000000 -3.500000 +v -0.923880 0.617316 -3.500000 +v -0.707107 0.292893 -3.500000 +v -0.382683 0.076120 -3.500000 +v 0.000000 0.000000 -3.500000 +v 0.382683 0.076120 -3.500000 +v 0.707107 0.292893 -3.500000 +v 0.923880 0.617316 -3.500000 +v 1.000000 1.000000 -3.500000 +v 0.923880 1.382684 -3.500000 +v 0.707107 1.707107 -3.500000 +v 0.382683 1.923880 -3.500000 +v 1.250000 0.750000 -4.375000 +v -1.250000 0.750000 -4.375000 +v 1.250000 1.250000 -4.375000 +v -1.250000 1.250000 -4.375000 +v -1.250000 1.250000 -4.125000 +v 1.250000 1.250000 -4.125000 +v -1.250000 0.750000 -4.125000 +v 1.250000 0.750000 -4.125000 +v 0.250000 2.250000 -4.125000 +v 0.250000 -0.250000 -4.125000 +v -0.250000 2.250000 -4.125000 +v -0.250000 -0.250000 -4.125000 +v -0.250000 -0.250000 -4.375000 +v -0.250000 2.250000 -4.375000 +v 0.250000 -0.250000 -4.375000 +v 0.250000 2.250000 -4.375000 +v -0.707107 2.060660 -4.125000 +v 1.060660 0.292893 -4.125000 +v -1.060660 1.707107 -4.125000 +v 0.707107 -0.060660 -4.125000 +v 0.707107 -0.060660 -4.375000 +v -1.060660 1.707107 -4.375000 +v 1.060660 0.292893 -4.375000 +v -0.707107 2.060660 -4.375000 +v 1.060660 1.707107 -4.375000 +v -0.707107 -0.060660 -4.375000 +v 0.707107 2.060660 -4.375000 +v -1.060660 0.292893 -4.375000 +v -1.060660 0.292893 -4.125000 +v 0.707107 2.060660 -4.125000 +v -0.707107 -0.060660 -4.125000 +v 1.060660 1.707107 -4.125000 +vt 0.668136 0.865446 +vt 0.629147 0.797819 +vt 0.645297 0.634554 +vt 0.705005 0.634623 +vt 0.743971 0.702209 +vt 0.727831 0.865378 +vt 0.126866 0.765625 +vt 0.134328 0.828125 +vt 0.126866 0.828125 +vt 0.216418 0.828125 +vt 0.208955 0.765625 +vt 0.216418 0.765625 +vt 0.134328 0.671875 +vt 0.208955 0.734375 +vt 0.134328 0.734375 +vt 0.208955 0.765625 +vt 0.134328 0.828125 +vt 0.134328 0.765625 +vt 0.134328 0.859375 +vt 0.208955 0.828125 +vt 0.208955 0.859375 +vt 0.216418 0.828125 +vt 0.216418 0.765625 +vt 0.126866 0.765625 +vt 0.126866 0.828125 +vt 0.134328 0.859375 +vt 0.208955 0.828125 +vt 0.208955 0.859375 +vt 0.208955 0.734375 +vt 0.134328 0.765625 +vt 0.134328 0.734375 +vt 0.134328 0.671875 +vt 0.126866 0.765625 +vt 0.134328 0.828125 +vt 0.126866 0.828125 +vt 0.216418 0.828125 +vt 0.208955 0.765625 +vt 0.216418 0.765625 +vt 0.134328 0.859375 +vt 0.208955 0.828125 +vt 0.208955 0.859375 +vt 0.208955 0.734375 +vt 0.134328 0.765625 +vt 0.134328 0.734375 +vt 0.134328 0.671875 +vt 0.134328 0.671875 +vt 0.208955 0.734375 +vt 0.134328 0.734375 +vt 0.134328 0.765625 +vt 0.208955 0.828125 +vt 0.134328 0.828125 +vt 0.134328 0.859375 +vt 0.208955 0.859375 +vt 0.216418 0.828125 +vt 0.208955 0.765625 +vt 0.216418 0.765625 +vt 0.126866 0.765625 +vt 0.126866 0.828125 +vt 0.656716 0.874957 +vt 0.645297 0.865445 +vt 0.635616 0.838358 +vt 0.626876 0.750000 +vt 0.629147 0.702181 +vt 0.635616 0.661642 +vt 0.656716 0.625043 +vt 0.668136 0.634554 +vt 0.677817 0.661642 +vt 0.684285 0.702181 +vt 0.686557 0.750000 +vt 0.684285 0.797819 +vt 0.677817 0.838358 +vt 0.716418 0.874884 +vt 0.705005 0.865378 +vt 0.695330 0.838306 +vt 0.688865 0.797791 +vt 0.686595 0.750000 +vt 0.688865 0.702209 +vt 0.695330 0.661694 +vt 0.716418 0.625117 +vt 0.727831 0.634623 +vt 0.737506 0.661694 +vt 0.746241 0.750000 +vt 0.743971 0.797791 +vt 0.737506 0.838306 +vt 0.208955 0.671875 +vt 0.208955 0.671875 +vt 0.208955 0.671875 +vt 0.208955 0.671875 +vt 0.776119 0.562500 +vt 0.746269 0.515625 +vt 0.776119 0.515625 +vt 0.776119 0.187500 +vt 0.746269 0.140625 +vt 0.776119 0.140625 +vt 0.776119 0.609375 +vt 0.746269 0.562500 +vt 0.776119 0.234375 +vt 0.746269 0.187500 +vt 0.776119 0.656250 +vt 0.746269 0.609375 +vt 0.776119 0.281250 +vt 0.746269 0.234375 +vt 0.776119 0.703125 +vt 0.746269 0.656250 +vt 0.776119 0.328125 +vt 0.746269 0.281250 +vt 0.776119 0.750000 +vt 0.746269 0.703125 +vt 0.776119 0.421875 +vt 0.746269 0.375000 +vt 0.776119 0.375000 +vt 0.746269 0.328125 +vt 0.776119 0.046875 +vt 0.746269 -0.000000 +vt 0.776119 -0.000000 +vt 0.776119 0.468750 +vt 0.746269 0.421875 +vt 0.776119 0.093750 +vt 0.746269 0.046875 +vt 0.746269 0.468750 +vt 0.746269 0.093750 +vt 0.746269 0.750000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.9239 0.3827 0.0000 +vn 0.9239 -0.3827 0.0000 +vn -0.9239 -0.3827 0.0000 +vn 0.9239 0.3827 0.0000 +vn -0.3827 -0.9239 0.0000 +vn 0.3827 0.9239 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.3827 -0.9239 0.0000 +s off +f 32/1/1 20/2/1 24/3/1 +f 7/4/2 11/5/2 15/6/2 +f 41/7/3 46/8/3 43/9/3 +f 44/10/4 47/11/4 42/12/4 +f 38/13/1 39/14/1 40/15/1 +f 34/16/2 35/17/2 33/18/2 +f 39/14/4 33/18/4 40/15/4 +f 38/19/3 36/20/3 37/21/3 +f 37/22/5 34/16/5 39/23/5 +f 40/24/6 35/17/6 38/25/6 +f 43/26/5 45/27/5 44/28/5 +f 42/29/6 48/30/6 41/31/6 +f 47/11/2 46/8/2 48/30/2 +f 43/32/1 42/29/1 41/31/1 +f 49/33/7 54/34/7 51/35/7 +f 52/36/8 55/37/8 50/38/8 +f 51/39/9 53/40/9 52/41/9 +f 50/42/10 56/43/10 49/44/10 +f 55/37/2 54/34/2 56/43/2 +f 51/45/1 50/42/1 49/44/1 +f 62/46/1 63/47/1 64/48/1 +f 57/49/2 60/50/2 59/51/2 +f 63/47/8 57/49/8 64/48/8 +f 62/52/7 60/50/7 61/53/7 +f 61/54/9 58/55/9 63/56/9 +f 64/57/10 59/51/10 62/58/10 +f 32/1/1 17/59/1 18/60/1 +f 18/60/1 19/61/1 32/1/1 +f 19/61/1 20/2/1 32/1/1 +f 20/2/1 21/62/1 22/63/1 +f 22/63/1 23/64/1 20/2/1 +f 23/64/1 24/3/1 20/2/1 +f 24/3/1 25/65/1 26/66/1 +f 26/66/1 27/67/1 28/68/1 +f 28/68/1 29/69/1 32/1/1 +f 29/69/1 30/70/1 32/1/1 +f 30/70/1 31/71/1 32/1/1 +f 24/3/1 26/66/1 32/1/1 +f 26/66/1 28/68/1 32/1/1 +f 15/6/2 16/72/2 1/73/2 +f 1/73/2 2/74/2 3/75/2 +f 3/75/2 4/76/2 7/4/2 +f 4/76/2 5/77/2 7/4/2 +f 5/77/2 6/78/2 7/4/2 +f 7/4/2 8/79/2 9/80/2 +f 9/80/2 10/81/2 7/4/2 +f 10/81/2 11/5/2 7/4/2 +f 11/5/2 12/82/2 13/83/2 +f 13/83/2 14/84/2 11/5/2 +f 14/84/2 15/6/2 11/5/2 +f 15/6/2 1/73/2 7/4/2 +f 1/73/2 3/75/2 7/4/2 +f 41/7/3 48/30/3 46/8/3 +f 44/10/4 45/27/4 47/11/4 +f 38/13/1 37/85/1 39/14/1 +f 34/16/2 36/20/2 35/17/2 +f 39/14/4 34/16/4 33/18/4 +f 38/19/3 35/17/3 36/20/3 +f 37/22/5 36/20/5 34/16/5 +f 40/24/6 33/18/6 35/17/6 +f 43/26/5 46/8/5 45/27/5 +f 42/29/6 47/11/6 48/30/6 +f 47/11/2 45/27/2 46/8/2 +f 43/32/1 44/86/1 42/29/1 +f 49/33/7 56/43/7 54/34/7 +f 52/36/8 53/40/8 55/37/8 +f 51/39/9 54/34/9 53/40/9 +f 50/42/10 55/37/10 56/43/10 +f 55/37/2 53/40/2 54/34/2 +f 51/45/1 52/87/1 50/42/1 +f 62/46/1 61/88/1 63/47/1 +f 57/49/2 58/55/2 60/50/2 +f 63/47/8 58/55/8 57/49/8 +f 62/52/7 59/51/7 60/50/7 +f 61/54/9 60/50/9 58/55/9 +f 64/57/10 57/49/10 59/51/10 +s 1 +f 12/89/5 20/90/11 13/91/11 +f 4/92/6 28/93/12 5/94/12 +f 11/95/13 21/96/5 12/89/5 +f 3/97/14 29/98/6 4/92/6 +f 10/99/9 22/100/13 11/95/13 +f 2/101/10 30/102/14 3/97/14 +f 9/103/15 23/104/9 10/99/9 +f 1/105/16 31/106/10 2/101/10 +f 8/107/4 24/108/15 9/103/15 +f 15/109/17 17/110/3 16/111/3 +f 16/111/3 32/112/16 1/105/16 +f 7/113/18 25/114/4 8/115/4 +f 14/116/7 18/117/17 15/109/17 +f 6/118/8 26/119/18 7/113/18 +f 13/91/11 19/120/7 14/116/7 +f 5/94/12 27/121/8 6/118/8 +f 12/89/5 21/96/5 20/90/11 +f 4/92/6 29/98/6 28/93/12 +f 11/95/13 22/100/13 21/96/5 +f 3/97/14 30/102/14 29/98/6 +f 10/99/9 23/104/9 22/100/13 +f 2/101/10 31/106/10 30/102/14 +f 9/103/15 24/108/15 23/104/9 +f 1/105/16 32/112/16 31/106/10 +f 8/107/4 25/122/4 24/108/15 +f 15/109/17 18/117/17 17/110/3 +f 16/111/3 17/110/3 32/112/16 +f 7/113/18 26/119/18 25/114/4 +f 14/116/7 19/120/7 18/117/17 +f 6/118/8 27/121/8 26/119/18 +f 13/91/11 20/90/11 19/120/7 +f 5/94/12 28/93/12 27/121/8 +o Breech +v -0.500000 0.000000 -6.000000 +v 0.500000 0.000000 -6.000000 +v -0.500000 0.000000 -7.000000 +v 0.500000 0.000000 -7.000000 +v -0.500000 -0.250000 -7.250000 +v 0.500000 -0.250000 -7.250000 +v -0.500000 -0.250000 -5.750000 +v 0.500000 -0.250000 -5.750000 +v 0.250000 0.125000 -7.187500 +v -0.250000 0.125000 -7.187500 +v 0.250000 0.125000 -5.812500 +v -0.250000 0.125000 -5.812500 +v -0.500000 -0.250000 -5.625000 +v 0.500000 -0.250000 -5.625000 +v -0.500000 0.125000 -5.625000 +v 0.500000 0.125000 -5.625000 +v 0.500000 -0.250000 -7.375000 +v -0.500000 -0.250000 -7.375000 +v 0.500000 0.125000 -7.375000 +v -0.500000 0.125000 -7.375000 +v 0.250000 0.375000 -5.812500 +v 0.250000 0.375000 -7.187500 +v -0.250000 0.375000 -7.187500 +v -0.250000 0.375000 -5.812500 +v 0.000000 2.000000 -4.500000 +v -0.382683 1.923880 -4.500000 +v -0.707107 1.707107 -4.500000 +v -0.923880 1.382683 -4.500000 +v -1.000000 1.000000 -4.500000 +v -0.923880 0.617316 -4.500000 +v -0.707107 0.292893 -4.500000 +v -0.382683 0.076120 -4.500000 +v 0.000000 0.000000 -4.500000 +v 0.382683 0.076120 -4.500000 +v 0.707107 0.292893 -4.500000 +v 0.923880 0.617316 -4.500000 +v 1.000000 1.000000 -4.500000 +v 0.923880 1.382684 -4.500000 +v 0.707107 1.707107 -4.500000 +v 0.382683 1.923880 -4.500000 +v 0.000000 1.750000 -5.500000 +v -0.287013 1.692910 -5.500000 +v -0.530330 1.530330 -5.500000 +v -0.692910 1.287013 -5.500000 +v -0.750000 1.000000 -5.500000 +v -0.692910 0.712987 -5.500000 +v -0.530330 0.469670 -5.500000 +v -0.287013 0.307090 -5.500000 +v 0.000000 0.250000 -5.500000 +v 0.287013 0.307090 -5.500000 +v 0.530330 0.469670 -5.500000 +v 0.692910 0.712987 -5.500000 +v 0.750000 1.000000 -5.500000 +v 0.692910 1.287013 -5.500000 +v 0.530330 1.530330 -5.500000 +v 0.287012 1.692910 -5.500000 +v 0.000000 1.750000 -7.500000 +v -0.287013 1.692910 -7.500000 +v -0.530330 1.530330 -7.500000 +v -0.692910 1.287013 -7.500000 +v -0.750000 1.000000 -7.500000 +v -0.692910 0.712987 -7.500000 +v -0.530330 0.469670 -7.500000 +v -0.287013 0.307090 -7.500000 +v 0.000000 0.250000 -7.500000 +v 0.287013 0.307090 -7.500000 +v 0.530330 0.469670 -7.500000 +v 0.692910 0.712987 -7.500000 +v 0.750000 1.000000 -7.500000 +v 0.692910 1.287013 -7.500000 +v 0.530330 1.530330 -7.500000 +v 0.287012 1.692910 -7.500000 +v 0.000000 1.500000 -8.000000 +v -0.191342 1.461940 -8.000000 +v -0.353553 1.353553 -8.000000 +v -0.461940 1.191342 -8.000000 +v -0.500000 1.000000 -8.000000 +v -0.461940 0.808658 -8.000000 +v -0.353553 0.646447 -8.000000 +v -0.191342 0.538060 -8.000000 +v 0.000000 0.500000 -8.000000 +v 0.191341 0.538060 -8.000000 +v 0.353553 0.646446 -8.000000 +v 0.461940 0.808658 -8.000000 +v 0.500000 1.000000 -8.000000 +v 0.461940 1.191342 -8.000000 +v 0.353553 1.353554 -8.000000 +v 0.191341 1.461940 -8.000000 +vt 0.085821 0.796875 +vt 0.115672 0.671875 +vt 0.115672 0.796875 +vt 0.078358 0.796875 +vt 0.085821 0.671875 +vt 0.123134 0.671875 +vt 0.022388 0.656250 +vt 0.063433 0.671875 +vt 0.011194 0.671875 +vt 0.011194 0.796875 +vt 0.014925 0.843750 +vt 0.022388 0.812500 +vt 0.078358 0.625000 +vt 0.063433 0.656250 +vt 0.063433 0.625000 +vt 0.000000 0.796875 +vt 0.000000 0.671875 +vt 0.126866 0.796875 +vt 0.123134 0.796875 +vt 0.175373 0.625000 +vt 0.134328 0.656250 +vt 0.134328 0.625000 +vt 0.119403 0.625000 +vt 0.078358 0.656250 +vt 0.063433 0.796875 +vt 0.074627 0.671875 +vt 0.074627 0.796875 +vt 0.078358 0.671875 +vt 0.119403 0.656250 +vt 0.810345 0.643319 +vt 0.831446 0.643319 +vt 0.831446 0.731681 +vt 0.014925 0.625000 +vt 0.059701 0.625000 +vt 0.063433 0.625000 +vt 0.059701 0.843750 +vt 0.052239 0.812500 +vt 0.052239 0.656250 +vt 0.011194 0.843750 +vt 0.126866 0.671875 +vt 0.175373 0.656250 +vt 0.826605 0.745225 +vt 0.820895 0.749981 +vt 0.815185 0.745225 +vt 0.810345 0.731681 +vt 0.807110 0.711411 +vt 0.805975 0.687500 +vt 0.807110 0.663589 +vt 0.815185 0.629775 +vt 0.820895 0.625019 +vt 0.826605 0.629775 +vt 0.834680 0.663589 +vt 0.835816 0.687500 +vt 0.834680 0.711411 +vt 0.011194 0.625000 +vt 0.063433 0.843750 +vt 0.776119 0.281250 +vt 0.805970 0.234375 +vt 0.805970 0.273438 +vt 0.776119 0.656250 +vt 0.805970 0.695312 +vt 0.776119 0.703125 +vt 0.805970 0.320312 +vt 0.776119 0.328125 +vt 0.805970 0.742188 +vt 0.776119 0.750000 +vt 0.776119 0.421875 +vt 0.805970 0.375000 +vt 0.805970 0.414062 +vt 0.805970 0.367188 +vt 0.776119 0.375000 +vt 0.776119 0.046875 +vt 0.805970 -0.000000 +vt 0.805970 0.039062 +vt 0.776119 0.468750 +vt 0.805970 0.421875 +vt 0.805970 0.460938 +vt 0.805970 0.085938 +vt 0.776119 0.093750 +vt 0.776119 0.515625 +vt 0.805970 0.468750 +vt 0.805970 0.507812 +vt 0.805970 0.132812 +vt 0.776119 0.140625 +vt 0.805970 0.554688 +vt 0.776119 0.562500 +vt 0.805970 0.179688 +vt 0.776119 0.187500 +vt 0.776119 0.609375 +vt 0.805970 0.562500 +vt 0.805970 0.601562 +vt 0.776119 0.234375 +vt 0.805970 0.187500 +vt 0.805970 0.226562 +vt 0.805970 0.648438 +vt 0.805970 0.117188 +vt 0.865672 0.156250 +vt 0.805970 0.156250 +vt 0.805970 0.468750 +vt 0.865672 0.507812 +vt 0.805970 0.507812 +vt 0.865672 0.195312 +vt 0.805970 0.195312 +vt 0.865672 0.546875 +vt 0.805970 0.546875 +vt 0.865672 0.234375 +vt 0.805970 0.234375 +vt 0.865672 0.585938 +vt 0.805970 0.585938 +vt 0.865672 0.273438 +vt 0.805970 0.273438 +vt 0.865672 0.625000 +vt 0.805970 0.625000 +vt 0.805970 0.312500 +vt 0.865672 0.351562 +vt 0.805970 0.351562 +vt 0.865672 0.312500 +vt 0.865672 0.039062 +vt 0.865672 0.390625 +vt 0.805970 0.390625 +vt 0.865672 0.078125 +vt 0.805970 0.078125 +vt 0.865672 0.429688 +vt 0.805970 0.429688 +vt 0.865672 0.117188 +vt 0.865672 0.468750 +vt 0.880597 0.203125 +vt 0.880597 0.242188 +vt 0.880597 0.281250 +vt 0.880597 0.320312 +vt 0.880597 0.359375 +vt 0.880597 0.421875 +vt 0.880597 0.437500 +vt 0.880597 0.500000 +vt 0.880597 0.515625 +vt 0.880597 0.578125 +vt 0.880597 0.593750 +vt 0.865672 -0.000000 +vt 0.880597 0.031250 +vt 0.880597 0.070312 +vt 0.880597 0.085938 +vt 0.880597 0.125000 +vt 0.880597 0.187500 +vt 0.805970 0.656250 +vt 0.805970 0.281250 +vt 0.805970 0.703125 +vt 0.805970 0.328125 +vt 0.776119 -0.000000 +vt 0.805970 0.046875 +vt 0.805970 0.093750 +vt 0.805970 0.515625 +vt 0.805970 0.140625 +vt 0.805970 0.609375 +vt 0.880597 0.226562 +vt 0.880597 0.265625 +vt 0.880597 0.304688 +vt 0.880597 0.343750 +vt 0.880597 0.382812 +vt 0.880597 0.398438 +vt 0.880597 0.460938 +vt 0.880597 0.476562 +vt 0.880597 0.539062 +vt 0.880597 0.554688 +vt 0.880597 0.617188 +vt 0.880597 0.007812 +vt 0.880597 0.046875 +vt 0.880597 0.109375 +vt 0.880597 0.148438 +vt 0.880597 0.164062 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.6860 0.6860 -0.2425 +vn 0.8963 0.3713 -0.2425 +vn -0.6860 -0.6860 -0.2425 +vn -0.3713 -0.8963 -0.2425 +vn 0.3713 0.8963 -0.2425 +vn -0.0000 -0.9701 -0.2425 +vn -0.3713 0.8963 -0.2425 +vn -0.0000 0.9701 -0.2425 +vn 0.3713 -0.8963 -0.2425 +vn -0.6860 0.6860 -0.2425 +vn 0.6860 -0.6860 -0.2425 +vn -0.8963 0.3713 -0.2425 +vn 0.8963 -0.3713 -0.2425 +vn -0.9701 -0.0000 -0.2425 +vn 0.9701 0.0000 -0.2425 +vn -0.8963 -0.3713 -0.2425 +vn 0.9239 -0.3827 0.0000 +vn -0.9239 -0.3827 0.0000 +vn 0.9239 0.3827 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.3827 -0.9239 0.0000 +vn 0.3827 0.9239 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.3827 -0.9239 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.9239 0.3827 0.0000 +vn 0.8263 0.3423 -0.4472 +vn 0.6325 0.6325 -0.4472 +vn 0.3423 0.8263 -0.4472 +vn -0.0000 0.8944 -0.4472 +vn -0.3423 0.8263 -0.4472 +vn -0.6325 0.6325 -0.4472 +vn -0.8263 0.3423 -0.4472 +vn -0.8944 -0.0000 -0.4472 +vn -0.8263 -0.3423 -0.4472 +vn -0.6325 -0.6325 -0.4472 +vn -0.3423 -0.8263 -0.4472 +vn -0.0000 -0.8944 -0.4472 +vn 0.3423 -0.8263 -0.4472 +vn 0.6325 -0.6325 -0.4472 +vn 0.8263 -0.3423 -0.4472 +vn 0.8944 -0.0000 -0.4472 +s off +f 67/123/19 66/124/19 65/125/19 +f 69/126/20 68/127/20 67/123/20 +f 72/128/21 65/125/21 66/124/21 +f 66/129/22 83/130/22 80/131/22 +f 83/130/23 79/132/23 80/131/23 +f 71/133/24 79/132/24 65/134/24 +f 75/135/25 88/136/25 76/137/25 +f 80/131/25 77/138/25 78/139/25 +f 72/128/19 77/140/19 71/141/19 +f 76/142/24 87/143/24 74/144/24 +f 73/145/22 85/146/22 75/135/22 +f 84/147/26 81/148/26 82/149/26 +f 69/126/19 81/148/19 70/150/19 +f 74/144/26 86/151/26 73/145/26 +f 147/152/26 143/153/26 139/154/26 +f 80/131/22 72/155/22 66/129/22 +f 83/130/22 70/156/22 81/157/22 +f 84/147/24 69/158/24 67/159/24 +f 79/132/24 67/159/24 65/134/24 +f 67/123/19 68/127/19 66/124/19 +f 69/126/20 70/150/20 68/127/20 +f 72/128/21 71/141/21 65/125/21 +f 66/129/22 68/160/22 83/130/22 +f 83/130/23 84/147/23 79/132/23 +f 71/133/24 77/161/24 79/132/24 +f 75/135/25 85/146/25 88/136/25 +f 80/131/25 79/132/25 77/138/25 +f 72/128/19 78/162/19 77/140/19 +f 76/142/24 88/163/24 87/143/24 +f 73/145/22 86/151/22 85/146/22 +f 84/147/26 83/130/26 81/148/26 +f 69/126/19 82/149/19 81/148/19 +f 74/144/26 87/143/26 86/151/26 +f 139/154/26 138/164/26 137/165/26 +f 137/165/26 152/166/26 139/154/26 +f 152/166/26 151/167/26 139/154/26 +f 151/167/26 150/168/26 149/169/26 +f 149/169/26 148/170/26 147/152/26 +f 147/152/26 146/171/26 143/153/26 +f 146/171/26 145/172/26 143/153/26 +f 145/172/26 144/173/26 143/153/26 +f 143/153/26 142/174/26 141/175/26 +f 141/175/26 140/176/26 139/154/26 +f 151/167/26 149/169/26 139/154/26 +f 149/169/26 147/152/26 139/154/26 +f 143/153/26 141/175/26 139/154/26 +f 80/131/22 78/177/22 72/155/22 +f 83/130/22 68/160/22 70/156/22 +f 84/147/24 82/178/24 69/158/24 +f 79/132/24 84/147/24 67/159/24 +s 1 +f 103/179/27 118/180/28 119/181/27 +f 95/182/29 112/183/30 96/184/30 +f 103/179/27 120/185/31 104/186/31 +f 96/184/30 113/187/32 97/188/32 +f 90/189/33 105/190/34 106/191/33 +f 104/186/31 105/192/34 89/193/34 +f 98/194/35 113/195/32 114/196/35 +f 91/197/36 106/198/33 107/199/36 +f 98/194/35 115/200/37 99/201/37 +f 92/202/38 107/203/36 108/204/38 +f 99/201/37 116/205/39 100/206/39 +f 92/202/38 109/207/40 93/208/40 +f 100/206/39 117/209/41 101/210/41 +f 94/211/42 109/212/40 110/213/42 +f 102/214/28 117/215/41 118/216/28 +f 94/211/42 111/217/29 95/182/29 +f 116/218/43 133/219/22 117/220/22 +f 109/221/24 126/222/44 110/223/44 +f 117/220/22 134/224/45 118/225/45 +f 110/223/44 127/226/46 111/227/46 +f 118/225/45 135/228/47 119/229/47 +f 111/227/46 128/230/48 112/231/48 +f 119/229/47 136/232/49 120/233/49 +f 112/231/48 129/234/19 113/235/19 +f 105/236/23 122/237/50 106/238/50 +f 120/233/49 121/239/23 105/236/23 +f 113/195/19 130/240/51 114/196/51 +f 106/238/50 123/241/52 107/242/52 +f 114/196/51 131/243/53 115/244/53 +f 107/242/52 124/245/54 108/246/54 +f 115/244/53 132/247/43 116/218/43 +f 108/246/54 125/248/24 109/221/24 +f 150/249/55 135/228/56 134/224/55 +f 151/250/56 136/232/57 135/228/56 +f 152/251/57 121/239/58 136/232/57 +f 137/252/58 122/237/59 121/239/58 +f 138/253/59 123/241/60 122/237/59 +f 123/241/60 140/254/61 124/245/61 +f 140/255/61 125/248/62 124/245/61 +f 125/248/62 142/256/63 126/222/63 +f 142/257/63 127/226/64 126/222/63 +f 127/226/64 144/258/65 128/230/65 +f 144/259/65 129/234/66 128/230/65 +f 129/260/66 146/261/67 130/240/67 +f 130/240/67 147/262/68 131/243/68 +f 147/263/68 132/247/69 131/243/68 +f 148/264/69 133/219/70 132/247/69 +f 133/219/70 150/265/55 134/224/55 +f 103/179/27 102/214/28 118/180/28 +f 95/182/29 111/266/29 112/183/30 +f 103/179/27 119/267/27 120/185/31 +f 96/184/30 112/268/30 113/187/32 +f 90/189/33 89/193/34 105/190/34 +f 104/186/31 120/269/31 105/192/34 +f 98/194/35 97/270/32 113/195/32 +f 91/197/36 90/189/33 106/198/33 +f 98/194/35 114/271/35 115/200/37 +f 92/202/38 91/197/36 107/203/36 +f 99/201/37 115/272/37 116/205/39 +f 92/202/38 108/273/38 109/207/40 +f 100/206/39 116/274/39 117/209/41 +f 94/211/42 93/208/40 109/212/40 +f 102/214/28 101/210/41 117/215/41 +f 94/211/42 110/275/42 111/217/29 +f 116/218/43 132/247/43 133/219/22 +f 109/221/24 125/248/24 126/222/44 +f 117/220/22 133/219/22 134/224/45 +f 110/223/44 126/222/44 127/226/46 +f 118/225/45 134/224/45 135/228/47 +f 111/227/46 127/226/46 128/230/48 +f 119/229/47 135/228/47 136/232/49 +f 112/231/48 128/230/48 129/234/19 +f 105/236/23 121/239/23 122/237/50 +f 120/233/49 136/232/49 121/239/23 +f 113/195/19 129/260/19 130/240/51 +f 106/238/50 122/237/50 123/241/52 +f 114/196/51 130/240/51 131/243/53 +f 107/242/52 123/241/52 124/245/54 +f 115/244/53 131/243/53 132/247/43 +f 108/246/54 124/245/54 125/248/24 +f 150/249/55 151/276/56 135/228/56 +f 151/250/56 152/277/57 136/232/57 +f 152/251/57 137/278/58 121/239/58 +f 137/252/58 138/279/59 122/237/59 +f 138/253/59 139/280/60 123/241/60 +f 123/241/60 139/281/60 140/254/61 +f 140/255/61 141/282/62 125/248/62 +f 125/248/62 141/283/62 142/256/63 +f 142/257/63 143/284/64 127/226/64 +f 127/226/64 143/285/64 144/258/65 +f 144/259/65 145/286/66 129/234/66 +f 129/260/66 145/287/66 146/261/67 +f 130/240/67 146/288/67 147/262/68 +f 147/263/68 148/289/69 132/247/69 +f 148/264/69 149/290/70 133/219/70 +f 133/219/70 149/291/70 150/265/55 +o Shell +v 0.000000 1.562500 -3.500000 +v -0.215260 1.519682 -3.500000 +v -0.397748 1.397748 -3.500000 +v -0.519682 1.215260 -3.500000 +v -0.562500 1.000000 -3.500000 +v -0.519682 0.784740 -3.500000 +v -0.397748 0.602252 -3.500000 +v -0.215260 0.480318 -3.500000 +v 0.000000 0.437500 -3.500000 +v 0.215260 0.480318 -3.500000 +v 0.397747 0.602252 -3.500000 +v 0.519682 0.784740 -3.500000 +v 0.562500 1.000000 -3.500000 +v 0.519682 1.215260 -3.500000 +v 0.397747 1.397748 -3.500000 +v 0.215259 1.519682 -3.500000 +v 0.287012 1.692909 -3.250000 +v 0.530330 1.530331 -3.250000 +v 0.692910 1.287012 -3.250000 +v 0.750000 1.000000 -3.250000 +v 0.692910 0.712988 -3.250000 +v 0.530330 0.469669 -3.250000 +v 0.287013 0.307091 -3.250000 +v 0.000000 0.250000 -3.250000 +v -0.287013 0.307091 -3.250000 +v -0.530330 0.469669 -3.250000 +v -0.692910 0.712988 -3.250000 +v -0.750000 1.000000 -3.250000 +v -0.692910 1.287012 -3.250000 +v -0.530330 1.530331 -3.250000 +v -0.287013 1.692909 -3.250000 +v 0.000000 1.750000 -3.250000 +v 0.287012 1.692909 -1.000000 +v 0.530330 1.530331 -1.000000 +v 0.692910 1.287012 -1.000000 +v 0.750000 1.000000 -1.000000 +v 0.692910 0.712988 -1.000000 +v 0.530330 0.469669 -1.000000 +v 0.287013 0.307091 -1.000000 +v 0.000000 0.250000 -1.000000 +v -0.287013 0.307091 -1.000000 +v -0.530330 0.469669 -1.000000 +v -0.692910 0.712988 -1.000000 +v -0.750000 1.000000 -1.000000 +v -0.692910 1.287012 -1.000000 +v -0.530330 1.530331 -1.000000 +v -0.287013 1.692909 -1.000000 +v 0.000000 1.750000 -1.000000 +v 0.179382 1.433068 0.000000 +v 0.331456 1.331457 0.000000 +v 0.433069 1.179382 0.000000 +v 0.468750 1.000000 0.000000 +v 0.433069 0.820618 0.000000 +v 0.331456 0.668543 0.000000 +v 0.179383 0.566932 0.000000 +v 0.000000 0.531250 0.000000 +v -0.179383 0.566932 0.000000 +v -0.331456 0.668543 0.000000 +v -0.433069 0.820618 0.000000 +v -0.468750 1.000000 0.000000 +v -0.433069 1.179382 0.000000 +v -0.331456 1.331457 0.000000 +v -0.179383 1.433068 0.000000 +v 0.000000 1.468750 0.000000 +v 0.000000 1.000000 0.500000 +vt 0.864481 0.745016 +vt 0.840742 0.745016 +vt 0.840743 0.645609 +vt 0.846188 0.630372 +vt 0.852612 0.625022 +vt 0.859036 0.630372 +vt 0.864481 0.645610 +vt 0.868120 0.668414 +vt 0.869398 0.695313 +vt 0.868120 0.722212 +vt 0.859036 0.760253 +vt 0.852612 0.765604 +vt 0.846188 0.760253 +vt 0.837104 0.722212 +vt 0.835826 0.695313 +vt 0.837104 0.668414 +vt 1.000000 0.242188 +vt 0.992537 0.273438 +vt 0.992537 0.234375 +vt 1.000000 0.007812 +vt 0.992537 0.039062 +vt 0.992537 0.000000 +vt 0.992537 0.351562 +vt 1.000000 0.382812 +vt 0.992537 0.390625 +vt 1.000000 0.554688 +vt 0.992537 0.585938 +vt 0.992537 0.546875 +vt 1.000000 0.320312 +vt 0.992537 0.312500 +vt 1.000000 0.164062 +vt 0.992537 0.195312 +vt 0.992537 0.156250 +vt 1.000000 0.617188 +vt 0.992537 0.625000 +vt 1.000000 0.398438 +vt 0.992537 0.429688 +vt 0.992537 0.078125 +vt 1.000000 0.109375 +vt 0.992537 0.117188 +vt 1.000000 0.476562 +vt 0.992537 0.507812 +vt 0.992537 0.468750 +vt 1.000000 0.539062 +vt 1.000000 0.148438 +vt 1.000000 0.304688 +vt 1.000000 0.203125 +vt 1.000000 0.070312 +vt 1.000000 0.460938 +vt 0.925373 0.156250 +vt 0.925373 0.078125 +vt 0.925373 0.585938 +vt 0.925373 0.468750 +vt 0.925373 0.390625 +vt 0.925373 0.507812 +vt 0.925373 0.234375 +vt 0.925373 0.117188 +vt 0.925373 0.000000 +vt 0.925373 0.273438 +vt 0.925373 0.351562 +vt 0.925373 0.195312 +vt 0.925373 0.546875 +vt 0.925373 0.429688 +vt 0.925373 0.312500 +vt 0.925373 0.039062 +vt 0.895522 0.007812 +vt 0.895522 0.320312 +vt 0.895522 0.539062 +vt 0.895522 0.515625 +vt 0.895522 0.164062 +vt 0.895522 0.304688 +vt 0.895522 0.281250 +vt 0.895522 0.226562 +vt 0.895522 0.203125 +vt 0.895522 0.554688 +vt 0.895522 0.070312 +vt 0.895522 0.046875 +vt 0.895522 0.617188 +vt 0.895522 0.593750 +vt 0.895522 0.085938 +vt 0.895522 0.398438 +vt 0.895522 0.242188 +vt 0.895522 0.125000 +vt 0.895522 0.437500 +vt 0.895522 0.382812 +vt 0.895522 0.359375 +vt 0.895522 0.476562 +vt 0.895522 0.460938 +vt 0.880597 0.445312 +vt 0.880597 0.367188 +vt 0.895522 0.031250 +vt 0.880597 0.015625 +vt 0.895522 0.343750 +vt 0.880597 0.328125 +vt 0.880597 0.523438 +vt 0.895522 0.187500 +vt 0.880597 0.171875 +vt 0.880597 0.289062 +vt 0.880597 0.210938 +vt 0.895522 0.578125 +vt 0.880597 0.562500 +vt 0.880597 0.054688 +vt 0.880597 0.601562 +vt 0.895522 0.109375 +vt 0.880597 0.093750 +vt 0.895522 0.421875 +vt 0.880597 0.406250 +vt 0.895522 0.265625 +vt 0.880597 0.250000 +vt 0.895522 0.148438 +vt 0.880597 0.132812 +vt 0.895522 0.500000 +vt 0.880597 0.484375 +vt 1.000000 0.265625 +vt 1.000000 0.031250 +vt 1.000000 0.359375 +vt 1.000000 0.578125 +vt 1.000000 0.343750 +vt 1.000000 0.187500 +vt 1.000000 0.593750 +vt 1.000000 0.421875 +vt 1.000000 0.085938 +vt 1.000000 0.500000 +vt 1.000000 0.515625 +vt 1.000000 0.125000 +vt 1.000000 0.281250 +vt 1.000000 0.226562 +vt 1.000000 0.046875 +vt 1.000000 0.437500 +vt 0.925373 0.625000 +vn 0.0000 0.0000 -1.0000 +vn 0.5657 0.5657 -0.6000 +vn 0.3061 0.7391 -0.6000 +vn 0.0000 -0.8000 -0.6000 +vn 0.3061 -0.7391 -0.6000 +vn -0.3061 0.7391 -0.6000 +vn -0.5657 0.5657 -0.6000 +vn -0.5657 -0.5657 -0.6000 +vn -0.3061 -0.7391 -0.6000 +vn 0.0000 0.8000 -0.6000 +vn 0.8000 0.0000 -0.6000 +vn 0.7391 0.3061 -0.6000 +vn -0.7391 0.3061 -0.6000 +vn 0.5657 -0.5657 -0.6000 +vn 0.7391 -0.3061 -0.6000 +vn -0.8000 -0.0000 -0.6000 +vn -0.7391 -0.3061 -0.6000 +vn 0.9239 0.3827 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.9239 -0.3827 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.0000 -1.0000 0.0000 +vn -0.3827 -0.9239 0.0000 +vn -0.9239 -0.3827 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.9239 0.3827 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.3827 0.9239 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.3827 -0.9239 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.3684 -0.8894 0.2707 +vn 0.0000 -0.8777 0.4792 +vn 0.0000 -0.9627 0.2707 +vn -0.3684 0.8894 0.2707 +vn 0.0000 0.8777 0.4792 +vn 0.0000 0.9627 0.2707 +vn -0.8894 -0.3684 0.2707 +vn -0.6206 -0.6207 0.4792 +vn -0.8109 -0.3359 0.4792 +vn 0.8894 0.3684 0.2707 +vn 0.8777 0.0000 0.4792 +vn 0.9627 0.0000 0.2707 +vn 0.3684 0.8894 0.2707 +vn 0.3359 0.8109 0.4792 +vn 0.6206 0.6207 0.4792 +vn 0.8109 0.3359 0.4792 +vn -0.3684 -0.8894 0.2707 +vn -0.6807 -0.6807 0.2707 +vn 0.6206 -0.6207 0.4792 +vn 0.3359 -0.8109 0.4792 +vn -0.3359 -0.8109 0.4792 +vn 0.8894 -0.3684 0.2707 +vn 0.6807 -0.6807 0.2707 +vn -0.8894 0.3684 0.2707 +vn -0.6206 0.6207 0.4792 +vn -0.6807 0.6807 0.2707 +vn 0.6807 0.6807 0.2707 +vn 0.8109 -0.3359 0.4792 +vn -0.9627 -0.0000 0.2707 +vn -0.8109 0.3359 0.4792 +vn -0.3359 0.8109 0.4792 +vn -0.8777 -0.0000 0.4792 +vn -0.0000 -0.0000 1.0000 +s off +f 155/292/71 167/293/71 163/294/71 +f 163/294/71 162/295/71 161/296/71 +f 161/296/71 160/297/71 163/294/71 +f 160/297/71 159/298/71 163/294/71 +f 159/298/71 158/299/71 157/300/71 +f 157/300/71 156/301/71 155/292/71 +f 155/292/71 154/302/71 167/293/71 +f 154/302/71 153/303/71 167/293/71 +f 153/303/71 168/304/71 167/293/71 +f 167/293/71 166/305/71 165/306/71 +f 165/306/71 164/307/71 163/294/71 +f 159/298/71 157/300/71 163/294/71 +f 157/300/71 155/292/71 163/294/71 +f 167/293/71 165/306/71 163/294/71 +s 1 +f 167/308/72 169/309/73 170/310/72 +f 161/311/74 175/312/75 176/313/74 +f 183/314/76 155/315/77 182/316/77 +f 159/317/78 177/318/79 178/319/78 +f 153/320/80 183/314/76 184/321/80 +f 165/322/81 171/323/82 172/324/81 +f 177/318/79 161/325/74 176/326/74 +f 155/327/77 181/328/83 182/316/77 +f 174/329/84 164/330/85 173/331/85 +f 157/332/86 179/333/87 180/334/86 +f 179/333/87 159/335/78 178/319/78 +f 173/331/85 165/336/81 172/324/81 +f 169/309/73 153/337/80 184/321/80 +f 166/338/82 170/310/72 171/323/82 +f 175/312/75 163/339/84 174/329/84 +f 181/328/83 157/340/86 180/334/86 +f 171/323/88 188/341/89 172/324/89 +f 173/331/90 190/342/91 174/329/91 +f 176/326/92 193/343/93 177/318/93 +f 179/333/94 196/344/95 180/334/95 +f 181/328/96 198/345/97 182/316/97 +f 178/319/98 195/346/94 179/333/94 +f 169/309/99 186/347/100 170/310/100 +f 172/324/89 189/348/90 173/331/90 +f 175/312/101 192/349/92 176/313/92 +f 184/321/102 185/350/99 169/309/99 +f 182/316/97 199/351/103 183/314/103 +f 170/310/100 187/352/88 171/323/88 +f 177/318/93 194/353/98 178/319/98 +f 180/334/95 197/354/96 181/328/96 +f 183/314/103 200/355/102 184/321/102 +f 174/329/91 191/356/101 175/312/101 +f 191/356/104 208/357/105 192/349/106 +f 199/351/107 216/358/108 200/355/109 +f 195/346/110 210/359/111 211/360/112 +f 187/352/113 204/361/114 188/341/115 +f 185/350/116 216/362/108 201/363/117 +f 187/352/113 202/364/118 203/365/119 +f 193/343/120 210/366/111 194/353/121 +f 191/356/104 206/367/122 207/368/123 +f 193/343/120 208/369/105 209/370/124 +f 189/348/125 206/371/122 190/342/126 +f 197/354/127 214/372/128 198/345/129 +f 185/350/116 202/373/118 186/347/130 +f 188/341/115 205/374/131 189/348/125 +f 196/344/132 213/375/133 197/354/127 +f 199/351/107 214/376/128 215/377/134 +f 195/346/110 212/378/135 196/344/132 +f 212/379/135 217/380/136 213/375/133 +f 214/376/128 217/381/136 215/377/134 +f 207/382/123 217/383/136 208/357/105 +f 215/384/134 217/385/136 216/358/108 +f 210/359/111 217/386/136 211/360/112 +f 203/387/119 217/388/136 204/361/114 +f 216/362/108 217/389/136 201/363/117 +f 202/364/118 217/390/136 203/365/119 +f 209/391/124 217/392/136 210/366/111 +f 206/367/122 217/393/136 207/368/123 +f 208/369/105 217/394/136 209/370/124 +f 205/395/131 217/396/136 206/371/122 +f 213/397/133 217/398/136 214/372/128 +f 201/399/117 217/400/136 202/373/118 +f 204/401/114 217/402/136 205/374/131 +f 211/403/112 217/404/136 212/378/135 +f 167/308/72 168/405/73 169/309/73 +f 161/311/74 162/406/75 175/312/75 +f 183/314/76 154/407/76 155/315/77 +f 159/317/78 160/408/79 177/318/79 +f 153/320/80 154/409/76 183/314/76 +f 165/322/81 166/410/82 171/323/82 +f 177/318/79 160/411/79 161/325/74 +f 155/327/77 156/412/83 181/328/83 +f 174/329/84 163/413/84 164/330/85 +f 157/332/86 158/414/87 179/333/87 +f 179/333/87 158/415/87 159/335/78 +f 173/331/85 164/416/85 165/336/81 +f 169/309/73 168/417/73 153/337/80 +f 166/338/82 167/418/72 170/310/72 +f 175/312/75 162/419/75 163/339/84 +f 181/328/83 156/420/83 157/340/86 +f 171/323/88 187/352/88 188/341/89 +f 173/331/90 189/348/90 190/342/91 +f 176/326/92 192/421/92 193/343/93 +f 179/333/94 195/346/94 196/344/95 +f 181/328/96 197/354/96 198/345/97 +f 178/319/98 194/353/98 195/346/94 +f 169/309/99 185/350/99 186/347/100 +f 172/324/89 188/341/89 189/348/90 +f 175/312/101 191/356/101 192/349/92 +f 184/321/102 200/355/102 185/350/99 +f 182/316/97 198/345/97 199/351/103 +f 170/310/100 186/347/100 187/352/88 +f 177/318/93 193/343/93 194/353/98 +f 180/334/95 196/344/95 197/354/96 +f 183/314/103 199/351/103 200/355/102 +f 174/329/91 190/342/91 191/356/101 +f 191/356/104 207/382/123 208/357/105 +f 199/351/107 215/384/134 216/358/108 +f 195/346/110 194/353/121 210/359/111 +f 187/352/113 203/387/119 204/361/114 +f 185/350/116 200/355/109 216/362/108 +f 187/352/113 186/347/130 202/364/118 +f 193/343/120 209/391/124 210/366/111 +f 191/356/104 190/342/126 206/367/122 +f 193/343/120 192/421/106 208/369/105 +f 189/348/125 205/395/131 206/371/122 +f 197/354/127 213/397/133 214/372/128 +f 185/350/116 201/399/117 202/373/118 +f 188/341/115 204/401/114 205/374/131 +f 196/344/132 212/379/135 213/375/133 +f 199/351/107 198/345/129 214/376/128 +f 195/346/110 211/403/112 212/378/135 +o Barrel +v 0.000000 2.000000 8.000000 +v -0.382683 1.923880 8.000000 +v -0.707107 1.707107 8.000000 +v -0.923880 1.382683 8.000000 +v -1.000000 1.000000 8.000000 +v -0.923880 0.617316 8.000000 +v -0.707107 0.292893 8.000000 +v -0.382683 0.076120 8.000000 +v 0.000000 0.000000 8.000000 +v 0.382683 0.076120 8.000000 +v 0.707107 0.292893 8.000000 +v 0.923880 0.617316 8.000000 +v 1.000000 1.000000 8.000000 +v 0.923880 1.382684 8.000000 +v 0.707107 1.707107 8.000000 +v 0.382683 1.923880 8.000000 +v 0.000000 2.000000 0.500000 +v -0.382683 1.923880 0.500000 +v -0.707107 1.707107 0.500000 +v -0.923880 1.382683 0.500000 +v -1.000000 1.000000 0.500000 +v -0.923880 0.617316 0.500000 +v -0.707107 0.292893 0.500000 +v -0.382683 0.076120 0.500000 +v 0.000000 0.000000 0.500000 +v 0.382683 0.076120 0.500000 +v 0.707107 0.292893 0.500000 +v 0.923880 0.617316 0.500000 +v 1.000000 1.000000 0.500000 +v 0.923880 1.382684 0.500000 +v 0.707107 1.707107 0.500000 +v 0.382683 1.923880 0.500000 +v 0.287012 1.692910 0.500000 +v 0.530330 1.530330 0.500000 +v 0.692910 1.287013 0.500000 +v 0.750000 1.000000 0.500000 +v 0.692910 0.712987 0.500000 +v 0.530330 0.469670 0.500000 +v 0.287013 0.307090 0.500000 +v 0.000000 0.250000 0.500000 +v -0.287013 0.307090 0.500000 +v -0.530330 0.469670 0.500000 +v -0.692910 0.712987 0.500000 +v -0.750000 1.000000 0.500000 +v -0.692910 1.287013 0.500000 +v -0.530330 1.530330 0.500000 +v -0.287013 1.692910 0.500000 +v 0.000000 1.750000 0.500000 +v 0.000000 1.750000 8.000000 +v -0.287013 1.692910 8.000000 +v -0.530330 1.530330 8.000000 +v -0.692910 1.287013 8.000000 +v -0.750000 1.000000 8.000000 +v -0.692910 0.712987 8.000000 +v -0.530330 0.469670 8.000000 +v -0.287013 0.307090 8.000000 +v 0.000000 0.250000 8.000000 +v 0.287013 0.307090 8.000000 +v 0.530330 0.469670 8.000000 +v 0.692910 0.712987 8.000000 +v 0.750000 1.000000 8.000000 +v 0.692910 1.287013 8.000000 +v 0.530330 1.530330 8.000000 +v 0.287012 1.692910 8.000000 +vt 0.231343 0.468750 +vt 0.223881 0.507812 +vt 0.223881 0.468750 +vt 0.231343 0.093750 +vt 0.223881 0.046875 +vt 0.231343 0.046875 +vt 0.223881 0.421875 +vt 0.231343 0.421875 +vt 0.231343 -0.000000 +vt 0.223881 0.039062 +vt 0.223881 0.000000 +vt 0.223881 0.375000 +vt 0.231343 0.375000 +vt 0.231343 0.703125 +vt 0.223881 0.742188 +vt 0.223881 0.703125 +vt 0.223881 0.328125 +vt 0.231343 0.328125 +vt 0.231343 0.656250 +vt 0.223881 0.695312 +vt 0.223881 0.656250 +vt 0.223881 0.281250 +vt 0.231343 0.281250 +vt 0.231343 0.609375 +vt 0.223881 0.648438 +vt 0.223881 0.609375 +vt 0.223881 0.234375 +vt 0.231343 0.234375 +vt 0.231343 0.562500 +vt 0.223881 0.601562 +vt 0.223881 0.562500 +vt 0.231343 0.187500 +vt 0.223881 0.226562 +vt 0.223881 0.187500 +vt 0.223881 0.140625 +vt 0.231343 0.140625 +vt 0.223881 0.515625 +vt 0.231343 0.515625 +vt 0.223881 0.132812 +vt 0.223881 0.093750 +vt 0.223881 0.085938 +vt 0.223881 0.460938 +vt 0.223881 0.414062 +vt 0.231343 0.750000 +vt 0.223881 0.367188 +vt 0.223881 0.320312 +vt 0.223881 0.273438 +vt 0.223881 0.179688 +vt 0.223881 0.554688 +vt 0.000000 0.156250 +vt 0.223881 0.195312 +vt 0.000000 0.195312 +vt 0.000000 -0.000000 +vt 0.223881 0.039062 +vt 0.000000 0.039062 +vt 0.000000 0.507812 +vt 0.223881 0.546875 +vt 0.000000 0.546875 +vt 0.000000 0.351562 +vt 0.223881 0.390625 +vt 0.000000 0.390625 +vt 0.223881 0.234375 +vt 0.000000 0.234375 +vt 0.223881 0.078125 +vt 0.000000 0.078125 +vt 0.223881 0.585938 +vt 0.000000 0.585938 +vt 0.223881 0.429688 +vt 0.000000 0.429688 +vt 0.223881 0.273438 +vt 0.000000 0.273438 +vt 0.223881 0.117188 +vt 0.000000 0.117188 +vt 0.223881 0.625000 +vt 0.000000 0.625000 +vt 0.223881 0.468750 +vt 0.000000 0.468750 +vt 0.000000 0.312500 +vt 0.223881 0.351562 +vt 0.223881 0.507812 +vt 0.223881 0.156250 +vt 0.223881 0.312500 +vt 0.455224 0.046875 +vt 0.455224 0.468750 +vt 0.455224 0.093750 +vt 0.455224 0.515625 +vt 0.455224 0.140625 +vt 0.455224 0.562500 +vt 0.455224 0.187500 +vt 0.455224 0.609375 +vt 0.455224 0.234375 +vt 0.455224 0.656250 +vt 0.455224 0.281250 +vt 0.455224 0.703125 +vt 0.455224 0.375000 +vt 0.455224 0.328125 +vt 0.455224 -0.000000 +vt 0.455224 0.421875 +vt 0.223881 -0.000000 +vt 0.455224 0.750000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.9239 -0.3827 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.3827 0.9239 0.0000 +vn -0.9239 0.3827 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.3827 -0.9239 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.3827 0.9239 0.0000 +vn -0.9239 -0.3827 0.0000 +vn 0.3827 -0.9239 0.0000 +vn 0.9239 0.3827 0.0000 +vn -1.0000 -0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +s off +f 220/422/137 269/423/137 268/424/137 +f 228/425/137 275/426/137 227/427/137 +f 220/422/137 267/428/137 219/429/137 +f 226/430/137 275/431/137 274/432/137 +f 219/429/137 266/433/137 218/434/137 +f 225/435/137 274/436/137 273/437/137 +f 218/434/137 281/438/137 233/439/137 +f 224/440/137 273/441/137 272/442/137 +f 233/439/137 280/443/137 232/444/137 +f 223/445/137 272/446/137 271/447/137 +f 232/444/137 279/448/137 231/449/137 +f 222/450/137 271/451/137 270/452/137 +f 230/453/137 279/454/137 278/455/137 +f 230/453/137 277/456/137 229/457/137 +f 222/450/137 269/458/137 221/459/137 +f 228/425/137 277/460/137 276/461/137 +f 220/422/137 221/459/137 269/423/137 +f 228/425/137 276/462/137 275/426/137 +f 220/422/137 268/463/137 267/428/137 +f 226/430/137 227/427/137 275/431/137 +f 219/429/137 267/464/137 266/433/137 +f 225/435/137 226/465/137 274/436/137 +f 218/434/137 266/466/137 281/438/137 +f 224/440/137 225/435/137 273/441/137 +f 233/439/137 281/467/137 280/443/137 +f 223/445/137 224/440/137 272/446/137 +f 232/444/137 280/468/137 279/448/137 +f 222/450/137 223/445/137 271/451/137 +f 230/453/137 231/449/137 279/454/137 +f 230/453/137 278/469/137 277/456/137 +f 222/450/137 270/470/137 269/458/137 +f 228/425/137 229/457/137 277/460/137 +s 1 +f 270/471/138 262/472/139 269/473/139 +f 274/474/140 258/475/141 273/476/141 +f 277/477/142 255/478/143 276/479/143 +f 281/480/144 251/481/145 280/482/145 +f 269/473/139 263/483/146 268/484/146 +f 273/476/141 259/485/147 272/486/147 +f 276/479/143 256/487/148 275/488/148 +f 280/482/145 252/489/149 279/490/149 +f 268/484/146 264/491/150 267/492/150 +f 272/486/147 260/493/151 271/494/151 +f 275/488/148 257/495/140 274/496/140 +f 279/490/149 253/497/152 278/498/152 +f 266/499/153 250/500/144 281/480/144 +f 278/498/152 254/501/142 277/477/142 +f 271/494/151 261/502/138 270/471/138 +f 267/492/150 265/503/153 266/499/153 +f 243/504/150 228/425/146 227/427/150 +f 236/505/143 221/459/142 220/422/143 +f 244/506/146 229/457/139 228/425/146 +f 237/507/142 222/450/152 221/459/142 +f 245/508/139 230/453/138 229/457/139 +f 238/509/152 223/445/149 222/450/152 +f 246/510/138 231/449/151 230/453/138 +f 239/511/149 224/440/145 223/445/149 +f 247/512/151 232/444/147 231/449/151 +f 240/513/145 225/435/144 224/440/145 +f 248/514/147 233/439/141 232/444/147 +f 241/515/144 226/465/153 225/435/144 +f 234/516/140 219/429/148 218/434/140 +f 249/517/141 218/434/140 233/439/141 +f 242/518/153 227/427/150 226/430/153 +f 235/519/148 220/422/143 219/429/148 +f 270/471/138 261/502/138 262/472/139 +f 274/474/140 257/520/140 258/475/141 +f 277/477/142 254/501/142 255/478/143 +f 281/480/144 250/500/144 251/481/145 +f 269/473/139 262/472/139 263/483/146 +f 273/476/141 258/475/141 259/485/147 +f 276/479/143 255/478/143 256/487/148 +f 280/482/145 251/481/145 252/489/149 +f 268/484/146 263/483/146 264/491/150 +f 272/486/147 259/485/147 260/493/151 +f 275/488/148 256/487/148 257/495/140 +f 279/490/149 252/489/149 253/497/152 +f 266/499/153 265/503/153 250/500/144 +f 278/498/152 253/497/152 254/501/142 +f 271/494/151 260/493/151 261/502/138 +f 267/492/150 264/491/150 265/503/153 +f 243/504/150 244/506/146 228/425/146 +f 236/505/143 237/507/142 221/459/142 +f 244/506/146 245/508/139 229/457/139 +f 237/507/142 238/509/152 222/450/152 +f 245/508/139 246/510/138 230/453/138 +f 238/509/152 239/511/149 223/445/149 +f 246/510/138 247/512/151 231/449/151 +f 239/511/149 240/513/145 224/440/145 +f 247/512/151 248/514/147 232/444/147 +f 240/513/145 241/515/144 225/435/144 +f 248/514/147 249/517/141 233/439/141 +f 241/515/144 242/521/153 226/465/153 +f 234/516/140 235/519/148 219/429/148 +f 249/517/141 234/516/140 218/434/140 +f 242/518/153 243/504/150 227/427/150 +f 235/519/148 236/505/143 220/422/143 +o Cannon +v 0.000000 2.000000 0.500000 +v -0.382683 1.923880 0.500000 +v -0.707107 1.707107 0.500000 +v -0.923880 1.382683 0.500000 +v -1.000000 1.000000 0.500000 +v -0.923880 0.617316 0.500000 +v -0.707107 0.292893 0.500000 +v -0.382683 0.076120 0.500000 +v 0.000000 0.000000 0.500000 +v 0.382683 0.076120 0.500000 +v 0.707107 0.292893 0.500000 +v 0.923880 0.617316 0.500000 +v 1.000000 1.000000 0.500000 +v 0.923880 1.382684 0.500000 +v 0.707107 1.707107 0.500000 +v 0.382683 1.923880 0.500000 +v 0.000000 1.750000 0.500000 +v -0.287013 1.692910 0.500000 +v -0.530330 1.530330 0.500000 +v -0.692910 1.287013 0.500000 +v -0.750000 1.000000 0.500000 +v -0.692910 0.712987 0.500000 +v -0.530330 0.469670 0.500000 +v -0.287013 0.307090 0.500000 +v 0.000000 0.250000 0.500000 +v 0.287013 0.307090 0.500000 +v 0.530330 0.469670 0.500000 +v 0.692910 0.712987 0.500000 +v 0.750000 1.000000 0.500000 +v 0.692910 1.287013 0.500000 +v 0.530330 1.530330 0.500000 +v 0.287012 1.692910 0.500000 +v 0.000000 2.250000 0.500000 +v -0.478354 2.154850 0.500000 +v -0.883883 1.883883 0.500000 +v -1.154850 1.478354 0.500000 +v -1.250000 1.000000 0.500000 +v -1.154850 0.521646 0.500000 +v -0.883883 0.116117 0.500000 +v -0.478354 -0.154850 0.500000 +v -0.000000 -0.250000 0.500000 +v 0.478354 -0.154850 0.500000 +v 0.883883 0.116117 0.500000 +v 1.154849 0.521646 0.500000 +v 1.250000 1.000000 0.500000 +v 1.154849 1.478354 0.500000 +v 0.883883 1.883883 0.500000 +v 0.478354 2.154850 0.500000 +v 0.000000 2.250000 -4.000000 +v -0.478354 2.154850 -4.000000 +v -0.883883 1.883883 -4.000000 +v -1.154850 1.478354 -4.000000 +v -1.250000 1.000000 -4.000000 +v -1.154850 0.521646 -4.000000 +v -0.883883 0.116117 -4.000000 +v -0.478354 -0.154850 -4.000000 +v -0.000000 -0.250000 -4.000000 +v 0.478354 -0.154850 -4.000000 +v 0.883883 0.116117 -4.000000 +v 1.154849 0.521646 -4.000000 +v 1.250000 1.000000 -4.000000 +v 1.154849 1.478354 -4.000000 +v 0.883883 1.883883 -4.000000 +v 0.478354 2.154850 -4.000000 +v 0.000000 2.000000 -4.000000 +v -0.382683 1.923880 -4.000000 +v -0.707107 1.707107 -4.000000 +v -0.923880 1.382683 -4.000000 +v -1.000000 1.000000 -4.000000 +v -0.923880 0.617316 -4.000000 +v -0.707107 0.292893 -4.000000 +v -0.382683 0.076120 -4.000000 +v 0.000000 0.000000 -4.000000 +v 0.382683 0.076120 -4.000000 +v 0.707107 0.292893 -4.000000 +v 0.923880 0.617316 -4.000000 +v 1.000000 1.000000 -4.000000 +v 0.923880 1.382684 -4.000000 +v 0.707107 1.707107 -4.000000 +v 0.382683 1.923880 -4.000000 +v 0.000000 2.000000 -3.500000 +v -0.382683 1.923880 -3.500000 +v -0.707107 1.707107 -3.500000 +v -0.923880 1.382683 -3.500000 +v -1.000000 1.000000 -3.500000 +v -0.923880 0.617316 -3.500000 +v -0.707107 0.292893 -3.500000 +v -0.382683 0.076120 -3.500000 +v 0.000000 0.000000 -3.500000 +v 0.382683 0.076120 -3.500000 +v 0.707107 0.292893 -3.500000 +v 0.923880 0.617316 -3.500000 +v 1.000000 1.000000 -3.500000 +v 0.923880 1.382684 -3.500000 +v 0.707107 1.707107 -3.500000 +v 0.382683 1.923880 -3.500000 +v -0.250000 -0.375000 -2.000000 +v 0.250000 -0.375000 -2.000000 +v -0.250000 -0.375000 -3.000000 +v 0.250000 -0.375000 -3.000000 +v -0.250000 -0.187500 -2.000000 +v 0.250000 -0.187500 -2.000000 +v -0.250000 -0.187500 -3.000000 +v 0.250000 -0.187500 -3.000000 +v 0.187500 -1.375000 -2.125000 +v -0.187500 -1.375000 -2.125000 +v -0.187500 -1.375000 -3.125000 +v 0.187500 -1.375000 -3.125000 +v 0.187500 -1.250000 -3.125000 +v -0.187500 -1.250000 -3.125000 +v 0.187500 -1.250000 -2.125000 +v -0.187500 -1.250000 -2.125000 +v -0.125000 -0.375000 -2.625000 +v -0.062500 -0.375000 -2.562500 +v 0.062500 -0.375000 -2.562500 +v 0.125000 -0.375000 -2.625000 +v -0.062500 -0.375000 -2.937500 +v -0.125000 -0.375000 -2.875000 +v 0.125000 -0.375000 -2.875000 +v 0.062500 -0.375000 -2.937500 +v -0.125000 -1.250000 -3.000000 +v -0.062500 -1.250000 -3.062500 +v -0.062500 -1.250000 -2.687500 +v -0.125000 -1.250000 -2.750000 +v 0.125000 -1.250000 -2.750000 +v 0.062500 -1.250000 -2.687500 +v 0.062500 -1.250000 -3.062500 +v 0.125000 -1.250000 -3.000000 +v -0.187500 -0.375000 -2.000000 +v 0.187500 -0.375000 -2.000000 +v -0.187500 -1.250000 -2.125000 +v 0.187500 -1.250000 -2.125000 +v 0.187500 -1.250000 -2.250000 +v 0.187500 -0.375000 -2.125000 +v -0.187500 -0.375000 -2.125000 +v -0.187500 -1.250000 -2.250000 +v -0.062500 -0.375000 -2.500000 +v 0.062500 -0.375000 -2.500000 +v -0.062500 -0.625000 -2.437500 +v 0.062500 -0.625000 -2.437500 +v 0.062500 -0.375000 -2.562500 +v -0.062500 -0.375000 -2.562500 +v 0.062500 -0.625000 -2.625000 +v -0.062500 -0.625000 -2.625000 +v 1.315785 0.529006 -1.250000 +v 1.065785 0.095994 -1.250000 +v 1.315785 0.529006 -2.250000 +v 1.065785 0.095994 -2.250000 +v 1.153405 0.622756 -2.250000 +v 1.153405 0.622756 -1.250000 +v 0.903405 0.189744 -1.250000 +v 0.903405 0.189744 -2.250000 +v 1.190784 0.312500 -1.812500 +v 1.212882 0.350773 -1.794194 +v 1.222034 0.366626 -1.750000 +v 1.212882 0.350773 -1.705806 +v 1.190784 0.312500 -1.687500 +v 1.168688 0.274227 -1.705806 +v 1.159534 0.258373 -1.750000 +v 1.168688 0.274227 -1.794194 +v 1.407291 0.187500 -1.812500 +v 1.429388 0.225773 -1.794194 +v 1.438541 0.241626 -1.750000 +v 1.429388 0.225773 -1.705806 +v 1.407291 0.187500 -1.687500 +v 1.385194 0.149227 -1.705806 +v 1.376041 0.133373 -1.750000 +v 1.385194 0.149227 -1.794194 +v 1.623797 0.062500 -2.062500 +v 1.645895 0.100773 -2.044194 +v 1.655047 0.116626 -2.000000 +v 1.645895 0.100773 -1.955806 +v 1.623797 0.062500 -1.937500 +v 1.601700 0.024227 -1.955806 +v 1.592547 0.008373 -2.000000 +v 1.601700 0.024227 -2.044194 +v 1.732050 -0.000000 -2.062500 +v 1.754148 0.038273 -2.044194 +v 1.763300 0.054127 -2.000000 +v 1.754148 0.038273 -1.955806 +v 1.732050 -0.000000 -1.937500 +v 1.709953 -0.038273 -1.955806 +v 1.700800 -0.054127 -2.000000 +v 1.709953 -0.038273 -2.044194 +v 1.732050 -0.000000 -2.125000 +v 1.776245 0.076546 -2.088388 +v 1.794550 0.108253 -2.000000 +v 1.776245 0.076546 -1.911612 +v 1.732050 -0.000000 -1.875000 +v 1.687856 -0.076547 -1.911612 +v 1.669550 -0.108253 -2.000000 +v 1.687856 -0.076547 -2.088388 +v 2.381570 -0.375000 -2.125000 +v 2.425764 -0.298454 -2.088388 +v 2.444070 -0.266747 -2.000000 +v 2.425764 -0.298454 -1.911612 +v 2.381570 -0.375000 -1.875000 +v 2.337376 -0.451547 -1.911612 +v 2.319070 -0.483253 -2.000000 +v 2.337376 -0.451547 -2.088388 +v 1.375000 1.250000 -2.500000 +v 1.375000 0.750000 -2.500000 +v 1.375000 1.250000 -3.000000 +v 1.375000 0.750000 -3.000000 +v 1.187500 1.250000 -3.000000 +v 1.187500 1.250000 -2.500000 +v 1.187500 0.750000 -2.500000 +v 1.187500 0.750000 -3.000000 +v 1.437500 1.437500 -2.687500 +v 1.437500 0.562500 -2.687500 +v 1.437500 1.437500 -2.812500 +v 1.437500 0.562500 -2.812500 +v 2.562500 1.437500 -2.812500 +v 2.562500 1.437500 -2.687500 +v 2.562500 0.562500 -2.687500 +v 2.562500 0.562500 -2.812500 +v 1.375000 0.500000 -2.812500 +v 1.375000 1.500000 -2.812500 +v 2.625000 0.500000 -2.812500 +v 2.625000 1.500000 -2.812500 +v 1.375000 1.500000 -2.687500 +v 1.375000 0.500000 -2.687500 +v 2.625000 1.500000 -2.687500 +v 2.625000 0.500000 -2.687500 +v 1.500000 1.375000 -1.250000 +v 1.500000 0.625000 -1.250000 +v 1.500000 1.375000 -2.250000 +v 1.500000 0.625000 -2.250000 +v 1.125000 1.375000 -2.250000 +v 1.125000 1.375000 -1.250000 +v 1.125000 0.625000 -1.250000 +v 1.125000 0.625000 -2.250000 +v 1.281250 0.968750 -2.500000 +v 1.343750 0.968750 -2.500000 +v 1.281250 1.031250 -2.500000 +v 1.343750 1.031250 -2.500000 +v 1.281250 0.968750 -2.250000 +v 1.343750 0.968750 -2.250000 +v 1.281250 1.031250 -2.250000 +v 1.343750 1.031250 -2.250000 +v 1.281250 1.093750 -2.500000 +v 1.343750 1.093750 -2.500000 +v 1.281250 1.156250 -2.500000 +v 1.343750 1.156250 -2.500000 +v 1.281250 1.093750 -2.250000 +v 1.343750 1.093750 -2.250000 +v 1.281250 1.156250 -2.250000 +v 1.343750 1.156250 -2.250000 +v 1.281250 0.843750 -2.500000 +v 1.343750 0.843750 -2.500000 +v 1.281250 0.906250 -2.500000 +v 1.343750 0.906250 -2.500000 +v 1.281250 0.843750 -2.250000 +v 1.343750 0.843750 -2.250000 +v 1.281250 0.906250 -2.250000 +v 1.343750 0.906250 -2.250000 +v -0.375000 2.500000 -1.250000 +v 0.375000 2.500000 -1.250000 +v -0.375000 2.500000 -2.250000 +v 0.375000 2.500000 -2.250000 +v -0.375000 2.125000 -2.625000 +v -0.375000 2.125000 -1.250000 +v 0.375000 2.125000 -1.250000 +v 0.375000 2.125000 -2.625000 +v 0.375000 2.750000 -2.500000 +v 0.375000 2.750000 -1.000000 +v 0.551776 2.676777 -2.500000 +v 0.551776 2.676777 -1.000000 +v 0.625000 2.500000 -2.500000 +v 0.625000 2.500000 -1.000000 +v 0.551776 2.323223 -2.500000 +v 0.551776 2.323223 -1.000000 +v 0.375000 2.250000 -2.500000 +v 0.375000 2.250000 -1.000000 +v 0.198223 2.323223 -2.500000 +v 0.198223 2.323223 -1.000000 +v 0.125000 2.500000 -2.500000 +v 0.125000 2.500000 -1.000000 +v 0.198223 2.676777 -2.500000 +v 0.198223 2.676777 -1.000000 +v -0.218750 2.450000 -1.250000 +v -0.293880 2.418880 -1.250000 +v -0.325000 2.343750 -1.250000 +v -0.293880 2.268620 -1.250000 +v -0.218750 2.237500 -1.250000 +v -0.143620 2.268620 -1.250000 +v -0.112500 2.343750 -1.250000 +v -0.143620 2.418880 -1.250000 +v -0.218750 2.450000 -1.187500 +v -0.293880 2.418880 -1.187500 +v -0.325000 2.343750 -1.187500 +v -0.293880 2.268620 -1.187500 +v -0.218750 2.237500 -1.187500 +v -0.143620 2.268620 -1.187500 +v -0.112500 2.343750 -1.187500 +v -0.143620 2.418880 -1.187500 +v 0.507582 2.632582 -1.000000 +v 0.375000 2.687500 -1.000000 +v 0.562500 2.500000 -1.000000 +v 0.507582 2.367418 -1.000000 +v 0.375000 2.312500 -1.000000 +v 0.242417 2.367418 -1.000000 +v 0.187500 2.500000 -1.000000 +v 0.242417 2.632582 -1.000000 +v 0.507582 2.632582 -0.875000 +v 0.375000 2.687500 -0.875000 +v 0.562500 2.500000 -0.875000 +v 0.507582 2.367418 -0.875000 +v 0.375000 2.312500 -0.875000 +v 0.242417 2.367418 -0.875000 +v 0.187500 2.500000 -0.875000 +v 0.242417 2.632582 -0.875000 +v 0.000000 2.312500 -1.500000 +v 0.883883 1.883883 -1.625000 +v 0.478354 2.154849 -1.625000 +v 0.000000 2.312500 -1.625000 +v 0.000000 2.250000 -1.625000 +v 1.312500 1.000000 -1.625000 +v 1.250000 1.000000 -1.625000 +v 0.478354 2.154850 -1.500000 +v 0.883883 1.883883 -1.500000 +v 1.154849 1.478354 -1.500000 +v 1.250000 1.000000 -1.500000 +v 0.000000 2.250000 -1.500000 +v 1.312500 1.000000 -1.500000 +v 1.212592 1.502272 -1.500000 +v 0.928077 1.928078 -1.500000 +v 0.502271 2.212592 -1.500000 +v 1.154849 1.478354 -1.625000 +v 1.212592 1.502272 -1.625000 +v 0.928077 1.928078 -1.625000 +v 0.502271 2.212592 -1.625000 +v 0.502271 2.212592 -2.000000 +v 0.928077 1.928078 -2.000000 +v 1.212592 1.502272 -2.000000 +v 1.154849 1.478354 -2.000000 +v 0.502271 2.212592 -1.875000 +v 0.928077 1.928078 -1.875000 +v 1.212592 1.502272 -1.875000 +v 1.312500 1.000000 -1.875000 +v 0.000000 2.250000 -1.875000 +v 1.250000 1.000000 -1.875000 +v 1.154849 1.478354 -1.875000 +v 0.883883 1.883883 -1.875000 +v 0.478354 2.154850 -1.875000 +v 1.250000 1.000000 -2.000000 +v 1.312500 1.000000 -2.000000 +v 0.000000 2.250000 -2.000000 +v 0.000000 2.312500 -2.000000 +v 0.478354 2.154849 -2.000000 +v 0.883883 1.883883 -2.000000 +v 0.000000 2.312500 -1.875000 +v 0.000000 1.750000 -3.500000 +v -0.287013 1.692910 -3.500000 +v -0.530330 1.530330 -3.500000 +v -0.692910 1.287013 -3.500000 +v -0.750000 1.000000 -3.500000 +v -0.692910 0.712987 -3.500000 +v -0.530330 0.469670 -3.500000 +v -0.287013 0.307090 -3.500000 +v 0.000000 0.250000 -3.500000 +v 0.287013 0.307090 -3.500000 +v 0.530330 0.469670 -3.500000 +v 0.692910 0.712987 -3.500000 +v 0.750000 1.000000 -3.500000 +v 0.692910 1.287013 -3.500000 +v 0.530330 1.530330 -3.500000 +v 0.287012 1.692910 -3.500000 +vt 0.455224 0.320312 +vt 0.462687 0.375000 +vt 0.455224 0.367188 +vt 0.455224 0.382812 +vt 0.462687 0.437500 +vt 0.455224 0.429688 +vt 0.455224 0.492188 +vt 0.455224 0.445312 +vt 0.462687 0.500000 +vt 0.455224 0.554688 +vt 0.455224 0.507812 +vt 0.462687 0.562500 +vt 0.455224 0.617188 +vt 0.455224 0.570312 +vt 0.462687 0.625000 +vt 0.455224 0.679688 +vt 0.455224 0.632812 +vt 0.455224 0.695312 +vt 0.462687 0.750000 +vt 0.455224 0.742188 +vt 0.455224 0.804688 +vt 0.455224 0.757812 +vt 0.455224 0.820312 +vt 0.462687 0.875000 +vt 0.455224 0.867188 +vt 0.455224 0.929688 +vt 0.455224 0.882812 +vt 0.455224 0.945312 +vt 0.462687 1.000000 +vt 0.455224 0.992188 +vt 0.455224 0.007812 +vt 0.462687 0.062500 +vt 0.455224 0.054688 +vt 0.455224 0.117188 +vt 0.455224 0.070312 +vt 0.462687 0.125000 +vt 0.455224 0.179688 +vt 0.455224 0.132812 +vt 0.462687 0.187500 +vt 0.455224 0.242188 +vt 0.455224 0.195312 +vt 0.462687 0.250000 +vt 0.455224 0.304688 +vt 0.455224 0.257812 +vt 0.604478 0.257812 +vt 0.597015 0.312500 +vt 0.597015 0.250000 +vt 0.604478 0.320312 +vt 0.597015 0.375000 +vt 0.604478 0.382812 +vt 0.597015 0.437500 +vt 0.604478 0.492188 +vt 0.597015 0.500000 +vt 0.604478 0.554688 +vt 0.597015 0.562500 +vt 0.604478 0.570312 +vt 0.597015 0.625000 +vt 0.604478 0.632812 +vt 0.597015 0.687500 +vt 0.604478 0.695312 +vt 0.597015 0.750000 +vt 0.604478 0.757812 +vt 0.597015 0.812500 +vt 0.604478 0.820312 +vt 0.597015 0.875000 +vt 0.604478 0.882812 +vt 0.597015 0.937500 +vt 0.604478 0.945312 +vt 0.597015 1.000000 +vt 0.604478 0.007812 +vt 0.597015 0.062500 +vt 0.597015 0.000000 +vt 0.604478 0.070312 +vt 0.597015 0.125000 +vt 0.604478 0.179688 +vt 0.597015 0.187500 +vt 0.604478 0.195312 +vt 0.626866 0.421875 +vt 0.619403 0.468750 +vt 0.619403 0.421875 +vt 0.619403 0.328125 +vt 0.626866 0.367188 +vt 0.619403 0.375000 +vt 0.626866 0.234375 +vt 0.619403 0.281250 +vt 0.619403 0.234375 +vt 0.626866 0.140625 +vt 0.619403 0.187500 +vt 0.619403 0.140625 +vt 0.626866 0.046875 +vt 0.619403 0.093750 +vt 0.619403 0.046875 +vt 0.626866 0.703125 +vt 0.619403 0.750000 +vt 0.619403 0.703125 +vt 0.626866 0.609375 +vt 0.619403 0.656250 +vt 0.619403 0.609375 +vt 0.626866 0.515625 +vt 0.619403 0.562500 +vt 0.619403 0.515625 +vt 0.619403 0.000000 +vt 0.626866 0.039062 +vt 0.626866 0.695312 +vt 0.626866 0.601562 +vt 0.626866 0.507812 +vt 0.626866 0.414062 +vt 0.626866 0.281250 +vt 0.626866 0.226562 +vt 0.626866 0.132812 +vt 0.449627 0.773438 +vt 0.419776 0.835938 +vt 0.419776 0.773438 +vt 0.455224 0.835938 +vt 0.449627 0.835938 +vt 0.414179 0.773438 +vt 0.419776 0.859375 +vt 0.449627 0.750000 +vt 0.389925 0.750000 +vt 0.360075 0.796875 +vt 0.360075 0.750000 +vt 0.410448 0.968750 +vt 0.414179 0.859375 +vt 0.414179 0.968750 +vt 0.395522 0.968750 +vt 0.399254 0.859375 +vt 0.399254 0.968750 +vt 0.360075 0.812500 +vt 0.389925 0.859375 +vt 0.360075 0.859375 +vt 0.408582 0.968750 +vt 0.401119 0.859375 +vt 0.408582 0.859375 +vt 0.401119 0.968750 +vt 0.410448 0.859375 +vt 0.416045 0.859375 +vt 0.416045 0.968750 +vt 0.425373 0.859375 +vt 0.423507 0.968750 +vt 0.423507 0.859375 +vt 0.360075 0.875000 +vt 0.389925 0.812500 +vt 0.393657 0.859375 +vt 0.389925 0.796875 +vt 0.356343 0.812500 +vt 0.425373 0.859375 +vt 0.436567 0.968750 +vt 0.425373 0.968750 +vt 0.440298 0.968750 +vt 0.451493 0.859375 +vt 0.451493 0.968750 +vt 0.455224 0.859375 +vt 0.397388 0.781250 +vt 0.389925 0.796875 +vt 0.389925 0.781250 +vt 0.436567 0.859375 +vt 0.399254 0.750000 +vt 0.402985 0.781250 +vt 0.080224 0.820312 +vt 0.110075 0.882812 +vt 0.080224 0.882812 +vt 0.397388 0.796875 +vt 0.401119 0.828125 +vt 0.399254 0.828125 +vt 0.402985 0.796875 +vt 0.110075 0.796875 +vt 0.110075 0.820312 +vt 0.115672 0.820312 +vt 0.115672 0.882812 +vt 0.074627 0.820312 +vt 0.080224 0.906250 +vt 0.764925 0.851562 +vt 0.766791 0.843750 +vt 0.766791 0.859375 +vt 0.764925 0.757812 +vt 0.766791 0.750000 +vt 0.766791 0.765625 +vt 0.764925 0.789062 +vt 0.766791 0.781250 +vt 0.766791 0.796875 +vt 0.764925 0.835938 +vt 0.766791 0.828125 +vt 0.764925 0.859375 +vt 0.766791 0.875000 +vt 0.764925 0.867188 +vt 0.764925 0.765625 +vt 0.764925 0.773438 +vt 0.764925 0.796875 +vt 0.766791 0.812500 +vt 0.764925 0.804688 +vt 0.764925 0.820312 +vt 0.789154 0.765625 +vt 0.792910 0.749897 +vt 0.796666 0.765625 +vt 0.132463 0.882812 +vt 0.147388 0.945312 +vt 0.132463 0.945312 +vt 0.830224 0.937500 +vt 0.833955 0.812500 +vt 0.833955 0.937500 +vt 0.126866 0.882812 +vt 0.147388 0.859375 +vt 0.147388 0.882812 +vt 0.132463 0.968750 +vt 0.152985 0.945312 +vt 0.789179 0.812500 +vt 0.792910 0.937500 +vt 0.789179 0.937500 +vt 0.830224 0.953125 +vt 0.828358 0.820312 +vt 0.794776 0.835938 +vt 0.794776 0.820312 +vt 0.839552 0.929688 +vt 0.835821 0.820312 +vt 0.839552 0.820312 +vt 0.830224 0.812500 +vt 0.792910 0.796875 +vt 0.830224 0.796875 +vt 0.828358 0.929688 +vt 0.794776 0.929688 +vt 0.792910 0.812500 +vt 0.835821 0.929688 +vt 0.869403 0.820312 +vt 0.871269 0.937500 +vt 0.869403 0.929688 +vt 0.871269 0.812500 +vt 0.865672 0.929688 +vt 0.865672 0.820312 +vt 0.794776 0.914062 +vt 0.313433 0.796875 +vt 0.343284 0.890625 +vt 0.313433 0.890625 +vt 0.242537 0.796875 +vt 0.250000 0.789062 +vt 0.250000 0.796875 +vt 0.343284 0.796875 +vt 0.354478 0.890625 +vt 0.302239 0.796875 +vt 0.343284 0.750000 +vt 0.313433 0.937500 +vt 0.242537 0.812500 +vt 0.250000 0.804688 +vt 0.250000 0.812500 +vt 0.242537 0.804688 +vt 0.242537 0.789062 +vt 0.250000 0.781250 +vt 0.242537 0.828125 +vt 0.250000 0.820312 +vt 0.250000 0.828125 +vt 0.242537 0.843750 +vt 0.250000 0.835938 +vt 0.250000 0.843750 +vt 0.242537 0.835938 +vt 0.242537 0.820312 +vt 0.250000 0.812500 +vt 0.242537 0.765625 +vt 0.250000 0.757812 +vt 0.250000 0.765625 +vt 0.242537 0.781250 +vt 0.250000 0.773438 +vt 0.250000 0.781250 +vt 0.242537 0.773438 +vt 0.242537 0.757812 +vt 0.250000 0.750000 +vt 0.261194 0.796875 +vt 0.291045 0.890625 +vt 0.261194 0.890625 +vt 0.291045 0.796875 +vt 0.302239 0.890625 +vt 0.250000 0.796875 +vt 0.261194 0.750000 +vt 0.302239 0.750000 +vt 0.261194 0.937500 +vt 0.875000 0.742188 +vt 0.873134 0.757812 +vt 0.873134 0.742188 +vt 0.921958 0.634135 +vt 0.932520 0.634135 +vt 0.932520 0.678365 +vt 0.925373 0.734382 +vt 0.929103 0.750000 +vt 0.925373 0.765618 +vt 0.875000 0.671875 +vt 0.873134 0.687500 +vt 0.873134 0.671875 +vt 0.875000 0.789062 +vt 0.873134 0.804688 +vt 0.873134 0.789062 +vt 0.873134 0.718750 +vt 0.875000 0.718750 +vt 0.873134 0.695312 +vt 0.875000 0.695312 +vt 0.873134 0.648438 +vt 0.875000 0.648438 +vt 0.873134 0.765625 +vt 0.875000 0.765625 +vt 0.873134 0.625000 +vt 0.875000 0.625000 +vt 0.925373 0.687509 +vt 0.929329 0.694371 +vt 0.930968 0.710938 +vt 0.074627 0.843750 +vt 0.059701 0.851562 +vt 0.059701 0.843750 +vt 0.074627 0.875000 +vt 0.059701 0.867188 +vt 0.074627 0.867188 +vt 0.074627 0.875000 +vt 0.059701 0.867188 +vt 0.074627 0.867188 +vt 0.044776 0.851562 +vt 0.029851 0.843750 +vt 0.044776 0.843750 +vt 0.029851 0.851562 +vt 0.014925 0.843750 +vt 0.029851 0.867188 +vt 0.014925 0.875000 +vt 0.014925 0.867188 +vt 0.044776 0.867188 +vt 0.029851 0.875000 +vt 0.044776 0.875000 +vt 0.074627 0.843750 +vt 0.059701 0.851562 +vt 0.059701 0.843750 +vt 0.044776 0.851562 +vt 0.029851 0.843750 +vt 0.044776 0.843750 +vt 0.029851 0.851562 +vt 0.014925 0.843750 +vt 0.029851 0.867188 +vt 0.014925 0.875000 +vt 0.014925 0.867188 +vt 0.044776 0.867188 +vt 0.029851 0.875000 +vt 0.044776 0.875000 +vt 0.462687 0.312500 +vt 0.462687 0.687500 +vt 0.462687 0.812500 +vt 0.462687 0.937500 +vt 0.462687 0.000000 +vt 0.604478 0.304688 +vt 0.604478 0.367188 +vt 0.604478 0.429688 +vt 0.604478 0.445312 +vt 0.604478 0.507812 +vt 0.604478 0.617188 +vt 0.604478 0.679688 +vt 0.604478 0.742188 +vt 0.604478 0.804688 +vt 0.604478 0.867188 +vt 0.604478 0.929688 +vt 0.604478 0.992188 +vt 0.604478 0.054688 +vt 0.604478 0.117188 +vt 0.604478 0.132812 +vt 0.604478 0.242188 +vt 0.626866 0.460938 +vt 0.626866 0.328125 +vt 0.626866 0.273438 +vt 0.626866 0.179688 +vt 0.626866 0.085938 +vt 0.626866 0.742188 +vt 0.626866 0.648438 +vt 0.626866 0.554688 +vt 0.626866 0.000000 +vt 0.626866 0.656250 +vt 0.626866 0.562500 +vt 0.626866 0.468750 +vt 0.626866 0.375000 +vt 0.626866 0.320312 +vt 0.626866 0.187500 +vt 0.626866 0.093750 +vt 0.455224 0.773438 +vt 0.414179 0.835938 +vt 0.449627 0.859375 +vt 0.419776 0.750000 +vt 0.395522 0.859375 +vt 0.425373 0.968750 +vt 0.389925 0.875000 +vt 0.393657 0.812500 +vt 0.356343 0.859375 +vt 0.440298 0.859375 +vt 0.455224 0.968750 +vt 0.401119 0.750000 +vt 0.080224 0.796875 +vt 0.074627 0.882812 +vt 0.110075 0.906250 +vt 0.764925 0.843750 +vt 0.764925 0.750000 +vt 0.764925 0.781250 +vt 0.764925 0.828125 +vt 0.764925 0.812500 +vt 0.795566 0.776746 +vt 0.792910 0.781353 +vt 0.790255 0.776746 +vt 0.790255 0.754503 +vt 0.795566 0.754503 +vt 0.126866 0.945312 +vt 0.132463 0.859375 +vt 0.147388 0.968750 +vt 0.152985 0.882812 +vt 0.792910 0.953125 +vt 0.828358 0.835938 +vt 0.828358 0.914062 +vt 0.354478 0.796875 +vt 0.302239 0.890625 +vt 0.313433 0.750000 +vt 0.343284 0.937500 +vt 0.242537 0.781250 +vt 0.242537 0.812500 +vt 0.242537 0.750000 +vt 0.302239 0.796875 +vt 0.250000 0.890625 +vt 0.302239 0.937500 +vt 0.927239 0.687525 +vt 0.921958 0.678365 +vt 0.919770 0.656250 +vt 0.927239 0.624975 +vt 0.934708 0.656250 +vt 0.922736 0.761044 +vt 0.921643 0.750000 +vt 0.922736 0.738956 +vt 0.928010 0.738957 +vt 0.928010 0.761044 +vt 0.875000 0.812500 +vt 0.873134 0.734375 +vt 0.873134 0.710938 +vt 0.873134 0.664062 +vt 0.873134 0.781250 +vt 0.873134 0.640625 +vt 0.929329 0.727504 +vt 0.925373 0.734367 +vt 0.921417 0.727504 +vt 0.919778 0.710938 +vt 0.921417 0.694371 +vt 0.074627 0.851562 +vt 0.059701 0.875000 +vt 0.059701 0.875000 +vt 0.014925 0.851562 +vt 0.074627 0.851562 +vt 0.014925 0.851562 +vt 0.604478 0.000000 +vt 0.604478 0.046875 +vt 0.604478 0.421875 +vt 0.604478 0.468750 +vt 0.604478 0.093750 +vt 0.604478 0.515625 +vt 0.604478 0.140625 +vt 0.604478 0.562500 +vt 0.604478 0.187500 +vt 0.604478 0.609375 +vt 0.604478 0.234375 +vt 0.604478 0.656250 +vt 0.604478 0.281250 +vt 0.604478 0.703125 +vt 0.604478 0.328125 +vt 0.604478 0.750000 +vt 0.604478 0.375000 +vt 0.746269 0.773438 +vt 0.753731 0.765625 +vt 0.753731 0.773438 +vt 0.746269 0.796875 +vt 0.753731 0.789062 +vt 0.753731 0.796875 +vt 0.746269 0.804688 +vt 0.753731 0.812500 +vt 0.746269 0.812500 +vt 0.746269 0.757812 +vt 0.746269 0.765625 +vt 0.746269 0.781250 +vt 0.753731 0.781250 +vt 0.746269 0.789062 +vt 0.753731 0.804688 +vt 0.746269 0.750000 +vt 0.753731 0.757812 +vt 0.761194 0.812500 +vt 0.761194 0.757812 +vt 0.761194 0.765625 +vt 0.761194 0.773438 +vt 0.761194 0.781250 +vt 0.761194 0.789062 +vt 0.761194 0.804688 +vt 0.761194 0.750000 +vt 0.761194 0.796875 +vt 0.764925 0.789062 +vt 0.764925 0.796875 +vt 0.764925 0.804688 +vt 0.764925 0.812500 +vt 0.764925 0.765625 +vt 0.764925 0.773438 +vt 0.764925 0.781250 +vt 0.789179 0.812500 +vt 0.789179 0.828125 +vt 0.789179 0.859375 +vt 0.789179 0.765625 +vt 0.789179 0.781250 +vt 0.789179 0.796875 +vt 0.789179 0.843750 +vt 0.789179 0.875000 +vt 0.919776 0.695312 +vt 0.919776 0.718750 +vt 0.919776 0.671875 +vt 0.919776 0.648438 +vt 0.919776 0.625000 +vt 0.919776 0.789062 +vt 0.919776 0.812500 +vt 0.919776 0.765625 +vt 0.919776 0.742188 +vt 0.921642 0.765625 +vt 0.919776 0.757812 +vt 0.921642 0.757812 +vt 0.921642 0.750000 +vt 0.919776 0.742188 +vt 0.921642 0.742188 +vt 0.921642 0.796875 +vt 0.919776 0.789062 +vt 0.921642 0.789062 +vt 0.921642 0.781250 +vt 0.919776 0.773438 +vt 0.921642 0.773438 +vt 0.919776 0.750000 +vt 0.919776 0.734375 +vt 0.921642 0.734375 +vt 0.919776 0.781250 +vt 0.919776 0.765625 +vt 0.869403 0.765625 +vt 0.869403 0.625000 +vt 0.869403 0.671875 +vt 0.869403 0.742188 +vt 0.869403 0.789062 +vt 0.869403 0.648438 +vt 0.869403 0.695312 +vt 0.869403 0.718750 +vt 0.626866 0.273438 +vt 0.746269 0.312500 +vt 0.626866 0.312500 +vt 0.626866 0.195312 +vt 0.746269 0.234375 +vt 0.626866 0.234375 +vt 0.626866 0.117188 +vt 0.746269 0.156250 +vt 0.626866 0.156250 +vt 0.746269 0.351562 +vt 0.626866 0.351562 +vt 0.626866 0.585938 +vt 0.746269 0.625000 +vt 0.626866 0.625000 +vt 0.746269 0.195312 +vt 0.626866 0.039062 +vt 0.746269 0.078125 +vt 0.626866 0.078125 +vt 0.626866 0.429688 +vt 0.746269 0.468750 +vt 0.626866 0.468750 +vt 0.626866 0.390625 +vt 0.746269 0.429688 +vt 0.626866 -0.000000 +vt 0.746269 0.039062 +vt 0.746269 0.273438 +vt 0.626866 0.507812 +vt 0.746269 0.546875 +vt 0.626866 0.546875 +vt 0.746269 0.117188 +vt 0.746269 0.507812 +vt 0.746269 0.390625 +vt 0.746269 0.585938 +vt 0.753731 0.750000 +vt 0.789179 0.750000 +vt 0.919776 0.796875 +vt 0.869403 0.781250 +vt 0.869403 0.640625 +vt 0.869403 0.687500 +vt 0.869403 0.757812 +vt 0.869403 0.804688 +vt 0.869403 0.664062 +vt 0.869403 0.710938 +vt 0.869403 0.734375 +vt 0.746269 0.000000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.1414 -0.9899 +vn 0.0000 -0.1414 0.9899 +vn 0.0000 1.0000 0.0000 +vn 0.7035 -0.1005 0.7035 +vn 0.7035 0.1005 -0.7035 +vn -0.7035 0.1005 -0.7035 +vn -0.7035 -0.1005 0.7035 +vn 0.0000 0.2425 0.9701 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.8660 0.5000 -0.0000 +vn 0.0000 0.7071 -0.7071 +vn -0.9239 0.3827 0.0000 +vn 0.9239 -0.3827 0.0000 +vn -0.9239 -0.3827 0.0000 +vn 0.9239 0.3827 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.3827 -0.9239 0.0000 +vn 0.3827 0.9239 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.3827 -0.9239 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.3536 0.6124 -0.7071 +vn 0.5738 0.8140 0.0899 +vn 0.1205 0.7727 -0.6233 +vn -0.6089 -0.4907 -0.6233 +vn -0.4181 -0.9040 0.0899 +vn -0.3536 -0.6124 0.7071 +vn 0.3058 -0.1766 0.9356 +vn 0.3536 0.6124 0.7071 +vn -0.3639 0.2101 -0.9074 +vn -0.3536 -0.6124 -0.7071 +vn -0.0595 -0.7094 0.7023 +vn 0.5846 0.4062 0.7023 +vn 0.3639 -0.2101 0.9074 +vn 0.6089 0.4907 0.6233 +vn 0.4181 0.9040 -0.0899 +vn 0.0595 0.7094 -0.7023 +vn -0.3058 0.1766 -0.9356 +vn -0.5846 -0.4062 -0.7023 +vn -0.1205 -0.7727 0.6233 +vn -0.5738 -0.8140 -0.0899 +vn 0.1951 0.9808 -0.0000 +vn 0.9808 0.1951 0.0000 +s off +f 295/522/154 328/523/154 296/524/154 +f 296/525/154 329/526/154 297/527/154 +f 329/526/154 282/528/154 297/529/154 +f 314/530/154 283/531/154 282/532/154 +f 315/533/154 284/534/154 283/535/154 +f 316/536/154 285/537/154 284/538/154 +f 285/539/154 318/540/154 286/541/154 +f 318/540/154 287/542/154 286/543/154 +f 287/544/154 320/545/154 288/546/154 +f 320/545/154 289/547/154 288/548/154 +f 289/549/154 322/550/154 290/551/154 +f 290/552/154 323/553/154 291/554/154 +f 323/553/154 292/555/154 291/556/154 +f 324/557/154 293/558/154 292/559/154 +f 325/560/154 294/561/154 293/562/154 +f 326/563/154 295/564/154 294/565/154 +f 358/566/155 343/567/155 342/568/155 +f 359/569/155 344/570/155 343/567/155 +f 360/571/155 345/572/155 344/570/155 +f 345/572/155 346/573/155 330/574/155 +f 330/574/155 347/575/155 331/576/155 +f 347/577/155 332/578/155 331/576/155 +f 348/579/155 333/580/155 332/578/155 +f 349/581/155 334/582/155 333/580/155 +f 350/583/155 335/584/155 334/582/155 +f 351/585/155 336/586/155 335/584/155 +f 352/587/155 337/588/155 336/586/155 +f 353/589/155 338/590/155 337/588/155 +f 354/591/155 339/592/155 338/593/155 +f 355/594/155 340/595/155 339/592/155 +f 340/595/155 357/596/155 341/597/155 +f 357/598/155 342/568/155 341/597/155 +f 635/599/155 364/600/155 363/601/155 +f 377/602/155 634/603/155 362/604/155 +f 647/605/155 376/606/155 375/607/155 +f 645/608/155 374/609/155 373/610/155 +f 643/611/155 372/612/155 371/613/155 +f 641/614/155 370/615/155 369/616/155 +f 639/617/155 368/618/155 367/619/155 +f 637/620/155 366/621/155 365/622/155 +f 370/623/155 643/624/155 371/613/155 +f 368/618/155 641/625/155 369/616/155 +f 366/621/155 639/626/155 367/619/155 +f 364/600/155 637/627/155 365/622/155 +f 362/604/155 635/628/155 363/601/155 +f 648/629/155 377/602/155 376/606/155 +f 374/609/155 647/630/155 375/607/155 +f 372/612/155 645/631/155 373/610/155 +f 380/632/156 379/633/156 378/634/156 +f 380/632/155 385/635/155 381/636/155 +f 379/633/154 382/637/154 378/634/154 +f 381/636/157 383/638/157 379/633/157 +f 378/634/158 384/639/158 380/632/158 +f 388/640/156 386/641/156 387/642/156 +f 401/643/159 403/644/159 398/645/159 +f 395/646/160 407/647/160 396/648/160 +f 392/649/161 391/650/161 393/651/161 +f 400/652/157 406/653/157 409/654/157 +f 407/647/162 397/655/162 396/648/162 +f 401/643/163 409/654/163 408/656/163 +f 398/645/164 402/657/164 399/658/164 +f 404/659/165 394/660/165 405/661/165 +f 399/658/158 405/661/158 394/660/158 +f 391/650/158 387/662/158 393/651/158 +f 390/663/155 388/664/155 391/650/155 +f 392/649/157 389/665/157 390/663/157 +f 393/651/154 386/666/154 392/649/154 +f 412/667/160 411/668/160 410/669/160 +f 415/670/159 417/671/159 416/672/159 +f 412/673/158 416/672/158 417/671/158 +f 420/674/166 419/675/166 418/676/166 +f 413/677/157 415/670/157 411/668/157 +f 418/678/158 425/679/158 420/674/158 +f 427/680/167 428/681/167 426/682/167 +f 421/683/157 422/684/157 419/685/157 +f 420/674/156 424/686/156 421/683/156 +f 427/680/168 433/687/168 429/688/168 +f 428/681/155 433/689/155 430/690/155 +f 426/682/154 432/691/154 427/680/154 +f 428/681/169 431/692/169 426/682/169 +f 463/693/170 472/694/170 471/695/170 +f 461/696/170 470/697/170 469/698/170 +f 459/699/170 468/700/170 467/701/170 +f 464/702/170 473/703/170 472/694/170 +f 463/704/170 470/705/170 462/706/170 +f 461/707/170 468/700/170 460/708/170 +f 459/709/170 466/710/170 458/711/170 +f 465/712/170 466/710/170 473/703/170 +f 478/713/167 480/714/167 474/715/167 +f 483/716/157 484/717/157 482/718/157 +f 499/719/158 503/720/158 502/721/158 +f 482/718/154 488/722/154 483/716/154 +f 483/716/156 489/723/156 485/724/156 +f 484/717/161 487/725/161 482/718/161 +f 485/724/155 486/726/155 484/717/155 +f 505/727/157 501/728/157 504/729/157 +f 502/730/161 501/728/161 499/719/161 +f 493/731/161 496/732/161 497/733/161 +f 492/734/157 491/735/157 493/736/157 +f 498/737/156 505/738/156 503/739/156 +f 493/731/155 499/719/155 492/740/155 +f 494/741/155 500/742/155 497/733/155 +f 492/740/155 501/728/155 494/741/155 +f 497/733/155 498/737/155 493/731/155 +f 490/743/154 503/720/154 491/735/154 +f 496/744/154 504/745/154 495/746/154 +f 495/746/154 502/721/154 490/743/154 +f 491/735/154 505/747/154 496/744/154 +f 496/744/158 494/748/158 497/749/158 +f 495/750/156 492/740/156 494/741/156 +f 507/751/157 508/752/157 506/753/157 +f 521/754/157 515/755/157 517/756/157 +f 509/757/155 510/758/155 508/752/155 +f 506/753/154 512/759/154 507/751/154 +f 507/751/156 513/760/156 509/757/156 +f 508/752/161 511/761/161 506/753/161 +f 518/762/158 516/763/158 514/764/158 +f 520/765/161 517/756/161 516/763/161 +f 519/766/156 514/767/156 515/755/156 +f 529/768/157 523/769/157 525/770/157 +f 526/771/158 524/772/158 522/773/158 +f 528/774/161 525/770/161 524/772/161 +f 527/775/156 522/776/156 523/769/156 +f 537/777/157 531/778/157 533/779/157 +f 534/780/158 532/781/158 530/782/158 +f 536/783/161 533/779/161 532/781/161 +f 535/784/156 530/785/156 531/778/156 +f 539/786/161 540/787/161 538/788/161 +f 541/789/171 542/790/171 540/787/171 +f 538/788/154 544/791/154 539/786/154 +f 541/789/157 544/792/157 545/793/157 +f 540/787/158 543/794/158 538/788/158 +f 561/795/154 584/796/154 585/797/154 +f 552/798/155 556/799/155 560/800/155 +f 574/801/154 576/802/154 570/803/154 +f 551/804/154 578/805/154 580/806/154 +f 557/807/154 582/808/154 583/809/154 +f 561/795/154 579/810/154 547/811/154 +f 547/811/154 578/812/154 549/813/154 +f 551/804/154 581/814/154 553/815/154 +f 557/807/154 584/816/154 559/817/154 +f 553/815/154 582/818/154 555/819/154 +f 590/820/154 589/821/154 588/822/154 +f 604/823/154 607/824/154 603/825/154 +f 600/826/155 611/827/155 599/828/155 +f 627/829/155 616/830/155 628/831/155 +f 608/832/154 601/833/154 602/834/154 +f 607/824/154 602/834/154 603/825/154 +f 609/835/154 605/836/154 601/833/154 +f 613/837/155 598/838/155 597/839/155 +f 612/840/155 596/841/155 613/837/155 +f 611/827/155 595/842/155 612/840/155 +f 623/843/154 620/844/154 624/845/154 +f 619/846/154 626/847/154 625/848/154 +f 620/844/154 625/848/154 624/845/154 +f 618/849/154 622/850/154 626/847/154 +f 614/851/155 629/852/155 630/853/155 +f 615/854/155 631/855/155 614/851/155 +f 616/830/155 632/856/155 615/854/155 +f 295/522/154 327/857/154 328/523/154 +f 296/525/154 328/523/154 329/526/154 +f 329/526/154 314/530/154 282/528/154 +f 314/530/154 315/533/154 283/531/154 +f 315/533/154 316/536/154 284/534/154 +f 316/536/154 317/858/154 285/537/154 +f 285/539/154 317/858/154 318/540/154 +f 318/540/154 319/859/154 287/542/154 +f 287/544/154 319/859/154 320/545/154 +f 320/545/154 321/860/154 289/547/154 +f 289/549/154 321/860/154 322/550/154 +f 290/552/154 322/861/154 323/553/154 +f 323/553/154 324/557/154 292/555/154 +f 324/557/154 325/560/154 293/558/154 +f 325/560/154 326/563/154 294/561/154 +f 326/563/154 327/857/154 295/564/154 +f 358/566/155 359/862/155 343/567/155 +f 359/569/155 360/863/155 344/570/155 +f 360/571/155 361/864/155 345/572/155 +f 345/572/155 361/865/155 346/573/155 +f 330/574/155 346/866/155 347/575/155 +f 347/577/155 348/867/155 332/578/155 +f 348/579/155 349/868/155 333/580/155 +f 349/581/155 350/869/155 334/582/155 +f 350/583/155 351/870/155 335/584/155 +f 351/585/155 352/871/155 336/586/155 +f 352/587/155 353/872/155 337/588/155 +f 353/589/155 354/873/155 338/590/155 +f 354/591/155 355/874/155 339/592/155 +f 355/594/155 356/875/155 340/595/155 +f 340/595/155 356/876/155 357/596/155 +f 357/598/155 358/877/155 342/568/155 +f 635/599/155 636/878/155 364/600/155 +f 377/602/155 649/879/155 634/603/155 +f 647/605/155 648/880/155 376/606/155 +f 645/608/155 646/881/155 374/609/155 +f 643/611/155 644/882/155 372/612/155 +f 641/614/155 642/883/155 370/615/155 +f 639/617/155 640/884/155 368/618/155 +f 637/620/155 638/885/155 366/621/155 +f 370/623/155 642/886/155 643/624/155 +f 368/618/155 640/887/155 641/625/155 +f 366/621/155 638/888/155 639/626/155 +f 364/600/155 636/889/155 637/627/155 +f 362/604/155 634/890/155 635/628/155 +f 648/629/155 649/891/155 377/602/155 +f 374/609/155 646/892/155 647/630/155 +f 372/612/155 644/893/155 645/631/155 +f 380/632/156 381/636/156 379/633/156 +f 380/632/155 384/894/155 385/635/155 +f 379/633/154 383/895/154 382/637/154 +f 381/636/157 385/896/157 383/638/157 +f 378/634/158 382/897/158 384/639/158 +f 388/640/156 389/665/156 386/641/156 +f 401/643/159 408/656/159 403/644/159 +f 395/646/160 404/898/160 407/647/160 +f 392/649/161 390/663/161 391/650/161 +f 400/652/157 397/655/157 406/653/157 +f 407/647/162 406/653/162 397/655/162 +f 401/643/163 400/652/163 409/654/163 +f 398/645/164 403/644/164 402/657/164 +f 404/659/165 395/899/165 394/660/165 +f 399/658/158 402/657/158 405/661/158 +f 391/650/158 388/900/158 387/662/158 +f 390/663/155 389/901/155 388/664/155 +f 392/649/157 386/641/157 389/665/157 +f 393/651/154 387/902/154 386/666/154 +f 412/667/160 413/677/160 411/668/160 +f 415/670/159 414/903/159 417/671/159 +f 412/673/158 410/904/158 416/672/158 +f 420/674/166 421/683/166 419/675/166 +f 413/677/157 414/903/157 415/670/157 +f 418/678/158 423/905/158 425/679/158 +f 427/680/167 429/688/167 428/681/167 +f 421/683/157 424/686/157 422/684/157 +f 420/674/156 425/679/156 424/686/156 +f 427/680/168 432/906/168 433/687/168 +f 428/681/155 429/688/155 433/689/155 +f 426/682/154 431/907/154 432/691/154 +f 428/681/169 430/908/169 431/692/169 +f 463/693/170 464/909/170 472/694/170 +f 461/696/170 462/910/170 470/697/170 +f 459/699/170 460/911/170 468/700/170 +f 464/702/170 465/912/170 473/703/170 +f 463/704/170 471/695/170 470/705/170 +f 461/707/170 469/698/170 468/700/170 +f 459/709/170 467/701/170 466/710/170 +f 465/712/170 458/913/170 466/710/170 +f 474/715/167 475/914/167 476/915/167 +f 476/915/167 477/916/167 478/713/167 +f 478/713/167 479/917/167 480/714/167 +f 480/714/167 481/918/167 474/715/167 +f 474/715/167 476/915/167 478/713/167 +f 483/716/157 485/724/157 484/717/157 +f 499/719/158 498/737/158 503/720/158 +f 482/718/154 487/919/154 488/722/154 +f 483/716/156 488/920/156 489/723/156 +f 484/717/161 486/921/161 487/725/161 +f 485/724/155 489/922/155 486/726/155 +f 505/727/157 500/742/157 501/728/157 +f 502/730/161 504/923/161 501/728/161 +f 493/731/161 491/924/161 496/732/161 +f 492/734/157 490/743/157 491/735/157 +f 498/737/156 500/742/156 505/738/156 +f 493/731/155 498/737/155 499/719/155 +f 494/741/155 501/728/155 500/742/155 +f 492/740/155 499/719/155 501/728/155 +f 497/733/155 500/742/155 498/737/155 +f 490/743/154 502/721/154 503/720/154 +f 496/744/154 505/747/154 504/745/154 +f 495/746/154 504/745/154 502/721/154 +f 491/735/154 503/720/154 505/747/154 +f 496/744/158 495/746/158 494/748/158 +f 495/750/156 490/925/156 492/740/156 +f 507/751/157 509/757/157 508/752/157 +f 521/754/157 519/766/157 515/755/157 +f 509/757/155 513/926/155 510/758/155 +f 506/753/154 511/927/154 512/759/154 +f 507/751/156 512/928/156 513/760/156 +f 508/752/161 510/929/161 511/761/161 +f 518/762/158 520/765/158 516/763/158 +f 520/765/161 521/754/161 517/756/161 +f 519/766/156 518/930/156 514/767/156 +f 529/768/157 527/775/157 523/769/157 +f 526/771/158 528/774/158 524/772/158 +f 528/774/161 529/768/161 525/770/161 +f 527/775/156 526/931/156 522/776/156 +f 537/777/157 535/784/157 531/778/157 +f 534/780/158 536/783/158 532/781/158 +f 536/783/161 537/777/161 533/779/161 +f 535/784/156 534/932/156 530/785/156 +f 539/786/161 541/789/161 540/787/161 +f 541/789/171 545/933/171 542/790/171 +f 538/788/154 543/934/154 544/791/154 +f 541/789/157 539/786/157 544/792/157 +f 540/787/158 542/935/158 543/794/158 +f 561/795/154 559/817/154 584/796/154 +f 560/800/155 546/936/155 548/937/155 +f 548/937/155 550/938/155 560/800/155 +f 550/938/155 552/798/155 560/800/155 +f 552/798/155 554/939/155 556/799/155 +f 556/799/155 558/940/155 560/800/155 +f 570/803/154 571/941/154 572/942/154 +f 572/942/154 573/943/154 574/801/154 +f 574/801/154 575/944/154 576/802/154 +f 576/802/154 577/945/154 570/803/154 +f 570/803/154 572/942/154 574/801/154 +f 551/804/154 549/813/154 578/805/154 +f 557/807/154 555/946/154 582/808/154 +f 561/795/154 585/947/154 579/810/154 +f 547/811/154 579/948/154 578/812/154 +f 551/804/154 580/949/154 581/814/154 +f 557/807/154 583/950/154 584/816/154 +f 553/815/154 581/951/154 582/818/154 +f 588/822/154 586/952/154 587/953/154 +f 587/953/154 593/954/154 588/822/154 +f 593/954/154 592/955/154 588/822/154 +f 592/955/154 591/956/154 588/822/154 +f 591/956/154 590/820/154 588/822/154 +f 604/823/154 606/957/154 607/824/154 +f 600/826/155 610/958/155 611/827/155 +f 627/829/155 617/959/155 616/830/155 +f 608/832/154 609/835/154 601/833/154 +f 607/824/154 608/832/154 602/834/154 +f 609/835/154 594/960/154 605/836/154 +f 613/837/155 596/841/155 598/838/155 +f 612/840/155 595/842/155 596/841/155 +f 611/827/155 610/958/155 595/842/155 +f 623/843/154 621/961/154 620/844/154 +f 619/846/154 618/849/154 626/847/154 +f 620/844/154 619/846/154 625/848/154 +f 618/849/154 633/962/154 622/850/154 +f 614/851/155 631/855/155 629/852/155 +f 615/854/155 632/856/155 631/855/155 +f 616/830/155 617/959/155 632/856/155 +s 1 +f 317/858/172 334/582/158 318/540/158 +f 325/560/173 342/568/157 326/563/157 +f 318/540/158 335/584/174 319/859/174 +f 326/563/157 343/567/175 327/857/175 +f 319/859/174 336/586/176 320/545/176 +f 327/857/175 344/570/177 328/523/177 +f 320/545/176 337/588/178 321/860/178 +f 328/523/177 345/572/179 329/526/179 +f 321/860/178 338/590/156 322/550/156 +f 314/530/161 331/576/180 315/533/180 +f 329/526/179 330/574/161 314/530/161 +f 322/861/156 339/592/181 323/553/181 +f 315/533/180 332/578/182 316/536/182 +f 323/553/181 340/595/183 324/557/183 +f 316/536/182 333/580/172 317/858/172 +f 324/557/183 341/597/173 325/560/173 +f 354/963/161 371/613/180 355/964/180 +f 347/965/181 364/600/183 348/966/183 +f 355/964/180 372/612/182 356/967/182 +f 348/966/183 365/622/173 349/968/173 +f 356/967/182 373/610/172 357/969/172 +f 349/968/173 366/621/157 350/970/157 +f 357/969/172 374/609/158 358/971/158 +f 350/970/157 367/619/175 351/972/175 +f 358/971/158 375/607/174 359/973/174 +f 351/972/175 368/618/177 352/974/177 +f 359/973/174 376/606/176 360/975/176 +f 352/974/177 369/616/179 353/976/179 +f 360/975/176 377/602/178 361/977/178 +f 353/976/179 370/615/161 354/978/161 +f 346/979/156 363/601/181 347/965/181 +f 361/977/178 362/604/156 346/979/156 +f 435/980/184 444/981/185 443/982/186 +f 440/983/168 449/984/187 448/985/188 +f 439/986/189 446/987/190 438/988/154 +f 437/989/191 444/981/185 436/990/169 +f 434/991/155 443/982/186 442/992/192 +f 434/991/155 449/984/187 441/993/193 +f 439/986/189 448/985/188 447/994/194 +f 438/995/154 445/996/195 437/989/191 +f 447/994/194 454/997/196 446/987/190 +f 444/981/185 453/998/197 452/999/198 +f 442/992/192 451/1000/199 450/1001/200 +f 442/992/192 457/1002/201 449/984/187 +f 448/985/188 455/1003/202 447/994/194 +f 445/996/195 454/1004/196 453/998/197 +f 443/982/186 452/999/198 451/1000/199 +f 449/984/187 456/1005/203 448/985/188 +f 456/1005/203 465/1006/193 464/1007/168 +f 454/997/196 463/1008/189 462/1009/154 +f 452/999/198 461/696/191 460/1010/169 +f 450/1001/200 459/1011/184 458/1012/155 +f 450/1001/200 465/1006/193 457/1002/201 +f 455/1003/202 464/1007/168 463/1008/189 +f 454/1004/196 461/696/191 453/998/197 +f 452/999/198 459/1011/184 451/1000/199 +f 467/701/184 474/1013/155 466/710/155 +f 466/710/155 481/1014/193 473/703/193 +f 472/694/168 479/1015/189 471/695/189 +f 470/697/154 477/1016/191 469/698/191 +f 467/701/184 476/1017/169 475/1018/184 +f 472/694/168 481/1014/193 480/1019/168 +f 470/705/154 479/1015/189 478/1020/154 +f 469/698/191 476/1017/169 468/700/169 +f 547/811/161 548/1021/177 546/1022/161 +f 549/813/177 550/1023/157 548/1021/177 +f 551/804/157 552/1024/183 550/1023/157 +f 553/815/183 554/1025/156 552/1024/183 +f 555/946/156 556/1026/176 554/1027/156 +f 557/807/176 558/1028/158 556/1026/176 +f 559/817/158 560/1029/182 558/1028/158 +f 561/795/182 546/1022/161 560/1029/182 +f 562/1030/161 577/1031/177 569/1032/177 +f 568/1033/157 575/1034/183 567/1035/183 +f 566/1036/156 573/1037/176 565/1038/176 +f 564/1039/158 571/1040/182 563/1041/182 +f 569/1032/177 576/1042/157 568/1033/157 +f 567/1035/183 574/1043/156 566/1044/156 +f 565/1038/176 572/1045/158 564/1039/158 +f 563/1041/182 570/1046/161 562/1030/161 +f 583/950/176 592/1047/158 584/816/158 +f 581/951/183 590/1048/156 582/818/156 +f 578/805/177 588/1049/157 580/806/157 +f 584/796/158 593/1050/182 585/797/182 +f 582/808/156 591/1051/176 583/809/176 +f 580/949/157 589/1052/183 581/814/183 +f 579/948/161 586/1053/177 578/812/177 +f 585/947/182 587/1054/161 579/810/161 +f 609/835/179 597/839/204 594/960/204 +f 606/957/205 611/827/175 607/824/175 +f 607/824/175 612/840/177 608/832/177 +f 608/832/177 613/837/179 609/835/179 +f 299/1055/181 634/1056/156 298/1057/156 +f 301/1058/173 636/1059/183 300/1060/183 +f 303/1061/175 638/1062/157 302/1063/157 +f 298/1057/156 649/1064/178 313/1065/178 +f 307/1066/180 642/1067/161 306/1068/161 +f 302/1063/157 637/1069/173 301/1058/173 +f 305/1070/179 640/1071/177 304/1072/177 +f 311/1073/174 646/1074/158 310/1075/158 +f 312/1076/176 647/1077/174 311/1073/174 +f 306/1078/161 641/1079/179 305/1070/179 +f 300/1060/183 635/1080/181 299/1055/181 +f 309/1081/172 644/1082/182 308/1083/182 +f 304/1072/177 639/1084/175 303/1061/175 +f 310/1075/158 645/1085/172 309/1081/172 +f 313/1065/178 648/1086/176 312/1076/176 +f 308/1083/182 643/1087/180 307/1066/180 +f 618/849/179 630/853/204 633/962/204 +f 621/961/205 616/830/175 620/844/175 +f 620/844/175 615/854/177 619/846/177 +f 619/846/177 614/851/179 618/849/179 +f 317/858/172 333/580/172 334/582/158 +f 325/560/173 341/597/173 342/568/157 +f 318/540/158 334/582/158 335/584/174 +f 326/563/157 342/568/157 343/567/175 +f 319/859/174 335/584/174 336/586/176 +f 327/857/175 343/567/175 344/570/177 +f 320/545/176 336/586/176 337/588/178 +f 328/523/177 344/570/177 345/572/179 +f 321/860/178 337/588/178 338/590/156 +f 314/530/161 330/574/161 331/576/180 +f 329/526/179 345/572/179 330/574/161 +f 322/861/156 338/593/156 339/592/181 +f 315/533/180 331/576/180 332/578/182 +f 323/553/181 339/592/181 340/595/183 +f 316/536/182 332/578/182 333/580/172 +f 324/557/183 340/595/183 341/597/173 +f 354/963/161 370/623/161 371/613/180 +f 347/965/181 363/601/181 364/600/183 +f 355/964/180 371/613/180 372/612/182 +f 348/966/183 364/600/183 365/622/173 +f 356/967/182 372/612/182 373/610/172 +f 349/968/173 365/622/173 366/621/157 +f 357/969/172 373/610/172 374/609/158 +f 350/970/157 366/621/157 367/619/175 +f 358/971/158 374/609/158 375/607/174 +f 351/972/175 367/619/175 368/618/177 +f 359/973/174 375/607/174 376/606/176 +f 352/974/177 368/618/177 369/616/179 +f 360/975/176 376/606/176 377/602/178 +f 353/976/179 369/616/179 370/615/161 +f 346/979/156 362/604/156 363/601/181 +f 361/977/178 377/602/178 362/604/156 +f 435/980/184 436/990/169 444/981/185 +f 440/983/168 441/993/193 449/984/187 +f 439/986/189 447/994/194 446/987/190 +f 437/989/191 445/996/195 444/981/185 +f 434/991/155 435/980/184 443/982/186 +f 434/991/155 442/992/192 449/984/187 +f 439/986/189 440/983/168 448/985/188 +f 438/995/154 446/1088/190 445/996/195 +f 447/994/194 455/1003/202 454/997/196 +f 444/981/185 445/996/195 453/998/197 +f 442/992/192 443/982/186 451/1000/199 +f 442/992/192 450/1001/200 457/1002/201 +f 448/985/188 456/1005/203 455/1003/202 +f 445/996/195 446/1088/190 454/1004/196 +f 443/982/186 444/981/185 452/999/198 +f 449/984/187 457/1002/201 456/1005/203 +f 456/1005/203 457/1002/201 465/1006/193 +f 454/997/196 455/1003/202 463/1008/189 +f 452/999/198 453/998/197 461/696/191 +f 450/1001/200 451/1000/199 459/1011/184 +f 450/1001/200 458/1012/155 465/1006/193 +f 455/1003/202 456/1005/203 464/1007/168 +f 454/1004/196 462/910/154 461/696/191 +f 452/999/198 460/1010/169 459/1011/184 +f 467/701/184 475/1018/184 474/1013/155 +f 466/710/155 474/1013/155 481/1014/193 +f 472/694/168 480/1019/168 479/1015/189 +f 470/697/154 478/1089/154 477/1016/191 +f 467/701/184 468/700/169 476/1017/169 +f 472/694/168 473/703/193 481/1014/193 +f 470/705/154 471/695/189 479/1015/189 +f 469/698/191 477/1016/191 476/1017/169 +f 547/811/161 549/813/177 548/1021/177 +f 549/813/177 551/804/157 550/1023/157 +f 551/804/157 553/815/183 552/1024/183 +f 553/815/183 555/819/156 554/1025/156 +f 555/946/156 557/807/176 556/1026/176 +f 557/807/176 559/817/158 558/1028/158 +f 559/817/158 561/795/182 560/1029/182 +f 561/795/182 547/811/161 546/1022/161 +f 562/1030/161 570/1046/161 577/1031/177 +f 568/1033/157 576/1042/157 575/1034/183 +f 566/1036/156 574/1090/156 573/1037/176 +f 564/1039/158 572/1045/158 571/1040/182 +f 569/1032/177 577/1031/177 576/1042/157 +f 567/1035/183 575/1034/183 574/1043/156 +f 565/1038/176 573/1037/176 572/1045/158 +f 563/1041/182 571/1040/182 570/1046/161 +f 583/950/176 591/1091/176 592/1047/158 +f 581/951/183 589/1092/183 590/1048/156 +f 578/805/177 586/1093/177 588/1049/157 +f 584/796/158 592/1094/158 593/1050/182 +f 582/808/156 590/1095/156 591/1051/176 +f 580/949/157 588/1096/157 589/1052/183 +f 579/948/161 587/1097/161 586/1053/177 +f 585/947/182 593/1098/182 587/1054/161 +f 609/835/179 613/837/179 597/839/204 +f 606/957/205 599/828/205 611/827/175 +f 607/824/175 611/827/175 612/840/177 +f 608/832/177 612/840/177 613/837/179 +f 299/1055/181 635/1080/181 634/1056/156 +f 301/1058/173 637/1069/173 636/1059/183 +f 303/1061/175 639/1084/175 638/1062/157 +f 298/1057/156 634/1056/156 649/1064/178 +f 307/1066/180 643/1087/180 642/1067/161 +f 302/1063/157 638/1062/157 637/1069/173 +f 305/1070/179 641/1079/179 640/1071/177 +f 311/1073/174 647/1077/174 646/1074/158 +f 312/1076/176 648/1086/176 647/1077/174 +f 306/1078/161 642/1099/161 641/1079/179 +f 300/1060/183 636/1059/183 635/1080/181 +f 309/1081/172 645/1085/172 644/1082/182 +f 304/1072/177 640/1071/177 639/1084/175 +f 310/1075/158 646/1074/158 645/1085/172 +f 313/1065/178 649/1064/178 648/1086/176 +f 308/1083/182 644/1082/182 643/1087/180 +f 618/849/179 614/851/179 630/853/204 +f 621/961/205 628/831/205 616/830/175 +f 620/844/175 616/830/175 615/854/177 +f 619/846/177 615/854/177 614/851/179 diff --git a/src/main/resources/assets/hbm/models/weapons/g3.obj b/src/main/resources/assets/hbm/models/weapons/g3.obj new file mode 100644 index 000000000..a7b45c147 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/g3.obj @@ -0,0 +1,6794 @@ +# Blender v3.2.0 OBJ File: 'g3.blend' +# www.blender.org +o Rifle +v -0.154680 0.470320 2.000000 +v 0.343750 -0.343750 -6.625000 +v 0.154679 0.470320 2.000000 +v -0.468750 -0.093750 -6.625000 +v 0.093750 -0.468750 -6.625000 +v -0.093750 -0.468750 -6.625000 +v 0.154680 0.470320 -6.250000 +v -0.154679 0.470320 -6.250000 +v -0.218750 0.625000 -6.250000 +v -0.154679 0.779679 -6.250000 +v 0.000000 0.843750 -6.250000 +v 0.154680 0.779679 -6.250000 +v 0.218750 0.625000 -6.250000 +v -0.093750 -0.468750 2.000000 +v 0.093750 -0.468750 2.000000 +v -0.468750 -0.093750 2.000000 +v -0.468750 0.093750 2.000000 +v -0.343750 -0.343750 2.000000 +v 0.343750 -0.343750 2.000000 +v 0.468750 -0.093750 2.000000 +v 0.468750 0.093750 2.000000 +v -0.343750 -0.343750 -6.625000 +v -0.468750 0.093750 -6.625000 +v -0.343750 0.343750 2.000000 +v 0.343750 0.343750 2.000000 +v 0.468750 0.093750 -6.625000 +v 0.468750 -0.093750 -6.625000 +v -0.343750 0.343750 -6.250000 +v 0.343750 0.343750 -6.250000 +v -0.468750 -0.093750 0.125000 +v -0.468750 -0.031250 0.187500 +v -0.437500 0.156250 0.125000 +v -0.468750 0.093750 0.187500 +v -0.468750 -0.093750 -6.187500 +v -0.437499 0.156250 -6.187500 +v -0.468750 -0.031250 -6.250000 +v -0.468750 0.093750 -6.250000 +v -0.406250 -0.093750 0.125000 +v -0.406250 -0.031250 0.187500 +v -0.406250 0.156250 0.125000 +v -0.406250 0.093750 0.187500 +v -0.406250 -0.093750 -6.187500 +v -0.406250 0.156250 -6.187500 +v -0.406250 -0.031250 -6.250000 +v -0.406250 0.093750 -6.250000 +v -0.406250 0.218750 0.125000 +v -0.343750 0.343750 0.125000 +v -0.154680 0.470320 0.125000 +v -0.218750 0.625000 0.125000 +v -0.406250 0.218750 -1.750000 +v -0.343750 0.343750 -1.750000 +v -0.154679 0.470320 -1.750000 +v -0.218750 0.625000 -1.750000 +v 0.156250 0.625000 5.375000 +v 0.110485 0.735486 5.375000 +v -0.000000 0.781250 6.000000 +v -0.110486 0.735486 6.000000 +v -0.156250 0.625000 6.000000 +v -0.110486 0.514515 6.000000 +v -0.000000 0.468750 6.000000 +v 0.110485 0.514515 6.000000 +v 0.154679 0.470321 9.250000 +v -0.154680 0.470321 9.250000 +v -0.218750 0.625000 9.250000 +v -0.154680 0.779680 9.250000 +v -0.000000 0.843750 9.250000 +v 0.154679 0.779680 9.250000 +v 0.218750 0.625000 9.250000 +v -0.375000 -0.281250 0.375000 +v -0.375000 -0.656250 0.375000 +v 0.375000 -0.281250 0.375000 +v 0.375000 -0.656250 0.375000 +v 0.375000 -0.281250 -1.750000 +v 0.375000 -1.343750 -1.500000 +v -0.375000 -1.343750 -1.500000 +v -0.375000 -0.281250 -1.750000 +v -0.343750 -1.343750 -4.250000 +v -0.343750 -1.343750 -1.750000 +v 0.343750 -1.343750 -4.250000 +v 0.343750 -1.343750 -1.750000 +v -0.343750 -1.218750 -4.437500 +v -0.343750 -1.307138 -4.382583 +v -0.343750 -1.031250 -4.437500 +v -0.343750 -0.718750 -4.750000 +v -0.343750 -0.875000 -4.479367 +v -0.343750 -0.760617 -4.593750 +v -0.343750 -0.718750 -6.625000 +v 0.343750 -1.218750 -4.437500 +v 0.343750 -1.307138 -4.382583 +v 0.343750 -1.031250 -4.437500 +v 0.343750 -0.718750 -4.750000 +v 0.343750 -0.875000 -4.479367 +v 0.343750 -0.760617 -4.593750 +v 0.343750 -0.718750 -6.625000 +v -0.343750 -0.343750 -1.937500 +v -0.343750 -1.031253 -1.750000 +v -0.343750 -1.297988 -1.639515 +v -0.343750 -1.187503 -1.593750 +v -0.343750 -1.077017 -1.639515 +v -0.343750 -0.906253 -1.937500 +v 0.343750 -0.343750 -1.937500 +v 0.343750 -1.031253 -1.750000 +v 0.343750 -1.297988 -1.639515 +v 0.343750 -1.187503 -1.593750 +v 0.343750 -1.077017 -1.639515 +v 0.343750 -0.906253 -1.937500 +v -0.281250 -1.343750 -1.750000 +v -0.281250 -1.343750 -1.500000 +v 0.281250 -1.343750 -1.750000 +v 0.281250 -1.343750 -1.500000 +v 0.281250 -0.375001 -1.727942 +v -0.281250 -0.375001 -1.727942 +v 0.281250 -0.375001 -1.937500 +v -0.281250 -0.375001 -1.937500 +v 0.281250 -0.906251 -1.937500 +v -0.281250 -0.906251 -1.937500 +v -0.343750 -1.093751 -1.750000 +v -0.343750 -1.121210 -1.816291 +v -0.343750 -1.187501 -1.843750 +v -0.343750 -1.253792 -1.816291 +v -0.343750 -1.281251 -1.750000 +v -0.343750 -1.253792 -1.683709 +v -0.343750 -1.187501 -1.656250 +v -0.343750 -1.121210 -1.683709 +v -0.375000 -1.093751 -1.750000 +v -0.375000 -1.121210 -1.816291 +v -0.375000 -1.187501 -1.843750 +v -0.375000 -1.253792 -1.816291 +v -0.375000 -1.281251 -1.750000 +v -0.375000 -1.253792 -1.683709 +v -0.375000 -1.187501 -1.656250 +v -0.375000 -1.121210 -1.683709 +v 0.281250 -0.593753 -1.750000 +v 0.281250 -0.639518 -1.860485 +v 0.281250 -0.750003 -1.906250 +v 0.281250 -0.860489 -1.860485 +v 0.281250 -0.906253 -1.750000 +v 0.281250 -0.593753 -1.125000 +v 0.281250 -0.906253 -1.125000 +v 0.468750 -0.593753 -1.125000 +v 0.468750 -0.906253 -1.125000 +v 0.468750 -0.593753 -1.716910 +v 0.468750 -0.906253 -1.643382 +v 0.343750 -0.593753 -1.716911 +v 0.343750 -0.906253 -1.643382 +v 0.343750 -0.593753 -1.750000 +v 0.343750 -0.639518 -1.860485 +v 0.343750 -0.750003 -1.906250 +v 0.343750 -0.860489 -1.860485 +v 0.343750 -0.906253 -1.750000 +v -0.343750 0.218750 0.125000 +v 0.156250 0.625000 0.125000 +v 0.093750 0.468750 0.125000 +v 0.281250 0.343750 0.125000 +v 0.343750 0.218750 0.125000 +v -0.218750 0.093750 0.125000 +v 0.218750 0.093750 0.125000 +v -0.093750 0.218750 0.125000 +v 0.093750 0.218750 0.125000 +v -0.218750 0.093750 0.750000 +v 0.218750 0.093750 0.750000 +v -0.218750 -0.093750 0.750000 +v 0.218750 -0.093750 0.750000 +v -0.093750 -0.218750 0.750000 +v 0.093750 -0.218750 0.750000 +v -0.093750 0.218750 0.750000 +v 0.093750 0.218750 0.750000 +v -0.343750 0.218750 -1.750000 +v -0.281250 0.343750 -1.750000 +v -0.093750 0.468750 -1.750000 +v -0.156250 0.625000 -1.750000 +v -0.343750 0.218750 -6.250000 +v -0.281250 0.343750 -6.250000 +v -0.093750 0.468750 -6.250000 +v -0.156250 0.625000 -6.250000 +v 0.156250 0.625000 -6.250000 +v 0.093750 0.468750 -6.250000 +v 0.281250 0.343750 -6.250000 +v 0.343750 0.218750 -6.250000 +v 0.218750 0.093750 -6.250000 +v -0.218750 -0.093750 -6.250000 +v 0.218750 -0.093750 -6.250000 +v -0.093750 -0.218750 -6.250000 +v 0.093750 -0.218750 -6.250000 +v -0.218750 0.093750 -6.250000 +v 0.209597 0.647097 5.375000 +v 0.163832 0.757583 5.375000 +v 0.209597 0.647097 1.875000 +v 0.154679 0.779680 1.875000 +v 0.163832 0.757583 2.062500 +v 0.154679 0.779680 2.062500 +v 0.022097 0.834597 2.062500 +v 0.022097 0.834597 1.875000 +v 0.156250 0.625000 1.875000 +v -0.000000 0.781250 1.875000 +v -0.110486 0.735485 1.812500 +v -0.156250 0.625000 1.812500 +v -0.110486 0.514515 1.812500 +v -0.000000 0.468750 1.812500 +v 0.110485 0.514515 1.812500 +v -0.000000 0.781250 2.062500 +v 0.110485 0.735486 2.062500 +v 0.156250 0.625000 6.000000 +v 0.110485 0.735486 6.000000 +v 0.110485 0.735486 1.875000 +v 0.156250 0.625000 1.812500 +v -0.000000 0.781250 1.812500 +v 0.110485 0.735486 1.812500 +v -0.000000 0.406250 9.250000 +v 0.218750 0.000000 9.125000 +v 0.154679 0.154680 9.125000 +v -0.000000 0.218750 9.125000 +v -0.154680 0.154680 9.125000 +v -0.218750 0.000000 9.125000 +v -0.154680 -0.154679 9.125000 +v -0.000000 -0.218750 9.125000 +v 0.154679 -0.154679 9.125000 +v 0.218750 0.000000 9.437500 +v 0.154679 0.154680 9.437500 +v -0.000000 0.218750 9.437500 +v -0.154680 0.154680 9.437500 +v -0.218750 0.000000 9.437500 +v -0.154680 -0.154679 9.437500 +v -0.000000 -0.218750 9.437500 +v 0.154679 -0.154679 9.437500 +v 0.187500 0.000000 9.500000 +v 0.132582 0.132583 9.500000 +v -0.000000 0.187500 9.500000 +v -0.132583 0.132583 9.500000 +v -0.187500 0.000000 9.500000 +v -0.132583 -0.132582 9.500000 +v -0.000000 -0.187500 9.500000 +v 0.132582 -0.132582 9.500000 +v 0.187500 0.000001 11.250000 +v 0.132582 0.132583 11.250000 +v -0.000001 0.187500 11.250000 +v -0.132583 0.132583 11.250000 +v -0.187500 0.000000 11.250000 +v -0.132583 -0.132582 11.250000 +v -0.000000 -0.187500 11.250000 +v 0.132582 -0.132582 11.250000 +v 0.281250 0.625000 9.125000 +v 0.198873 0.823874 9.125000 +v -0.198874 0.823874 9.125000 +v -0.281250 0.625000 9.125000 +v -0.198874 0.426127 9.125000 +v -0.198874 0.198874 8.750000 +v 0.198873 0.426127 9.125000 +v 0.281250 0.625000 8.750000 +v 0.198873 0.823874 8.750000 +v -0.198874 0.823874 8.750000 +v -0.281250 0.625000 8.750000 +v -0.198874 0.426127 8.750000 +v 0.198873 0.198874 8.750000 +v 0.198873 0.426127 8.750000 +v 0.281250 0.000000 9.125000 +v 0.198873 0.198874 9.125000 +v 0.281250 0.000000 8.750000 +v -0.198874 0.198874 9.125000 +v -0.281250 0.000000 9.125000 +v -0.198874 -0.198873 9.125000 +v -0.000000 -0.281250 9.125000 +v 0.198873 -0.198873 9.125000 +v -0.281250 0.000000 8.750000 +v -0.198874 -0.198873 8.750000 +v -0.000000 -0.281250 8.750000 +v 0.198873 -0.198873 8.750000 +v 0.468750 -0.093750 0.125000 +v 0.468750 -0.031250 0.187500 +v 0.468750 0.093750 0.187500 +v 0.468750 -0.093750 -6.187500 +v 0.468750 -0.031250 -6.250000 +v 0.468750 0.093750 -6.250000 +v 0.437500 0.156250 -6.187500 +v 0.437500 0.156250 0.125000 +v 0.406250 -0.093750 0.125000 +v 0.406250 -0.093750 -6.187500 +v 0.406250 -0.031250 -6.250000 +v 0.406250 0.093750 -6.250000 +v 0.406250 0.156250 -6.187500 +v 0.406250 0.156250 0.125000 +v 0.406250 -0.031250 0.187500 +v 0.406250 0.093750 0.187500 +v -0.281250 -0.718750 -1.750000 +v -0.281250 -0.755362 -1.838388 +v -0.281250 -0.843750 -1.875000 +v -0.281250 -0.932138 -1.838388 +v -0.281250 -0.968750 -1.750000 +v -0.281250 -0.932138 -1.661612 +v -0.281250 -0.843750 -1.625000 +v -0.281250 -0.755362 -1.661612 +v -0.343750 -0.718750 -1.750000 +v -0.343750 -0.755362 -1.838388 +v -0.343750 -0.843750 -1.875000 +v -0.343750 -0.932138 -1.838388 +v -0.343750 -0.968750 -1.750000 +v -0.343750 -0.932138 -1.661612 +v -0.343750 -0.843750 -1.625000 +v -0.343750 -0.755362 -1.661612 +v 0.218750 -0.093750 0.250000 +v 0.218750 -0.281250 0.250000 +v -0.218750 -0.281250 0.250000 +v -0.218750 -0.093750 0.250000 +v -0.093750 -0.218750 0.250000 +v 0.093750 -0.218750 0.250000 +v 0.218750 -0.093750 -1.437500 +v 0.218750 -0.281250 -1.437500 +v -0.218750 -0.281250 -1.437500 +v -0.218750 -0.093750 -1.437500 +v -0.093750 -0.218750 -1.437500 +v 0.093750 -0.218750 -1.437500 +v 0.362222 0.097058 8.750000 +v 0.265165 0.265165 8.750000 +v -0.265165 0.265165 8.750000 +v -0.362223 0.097057 8.750000 +v -0.362223 -0.097057 8.750000 +v -0.265165 -0.265165 8.750000 +v -0.097057 -0.362222 8.750000 +v 0.097057 -0.362222 8.750000 +v 0.265165 -0.265165 8.750000 +v 0.362222 -0.097057 8.750000 +v 0.250000 0.470321 8.750000 +v -0.250000 0.470321 8.750000 +v -0.343750 0.343750 -6.625000 +v 0.343750 0.343750 -6.625000 +v 0.312500 -1.343750 -3.562500 +v 0.312500 -1.968750 -4.000000 +v 0.125000 -2.093750 -4.125000 +v 0.125000 -2.218750 -4.187500 +v 0.125000 -2.406250 -4.187500 +v 0.125000 -2.593750 -4.375000 +v 0.125000 -2.718750 -4.437500 +v 0.125000 -2.906250 -4.437500 +v 0.125000 -3.093750 -4.625000 +v 0.125000 -3.218750 -4.687500 +v 0.125000 -3.531250 -4.687500 +v 0.125000 -2.968750 -5.750000 +v 0.125000 -2.343750 -5.437500 +v 0.125000 -1.906250 -5.062500 +v 0.125000 -1.656250 -4.812500 +v 0.312500 -1.343750 -4.812500 +v 0.312500 -1.093750 -4.937500 +v 0.312500 -0.906250 -5.187500 +v 0.312500 -0.718750 -5.187500 +v 0.312500 -0.718750 -3.562500 +v -0.312500 -1.343750 -3.562500 +v -0.312500 -1.968750 -4.000000 +v -0.125000 -2.093750 -4.125000 +v -0.125000 -2.218750 -4.187500 +v -0.125000 -2.406250 -4.187500 +v -0.125000 -2.593750 -4.375000 +v -0.125000 -2.718750 -4.437500 +v -0.125000 -2.906250 -4.437500 +v -0.125000 -3.093750 -4.625000 +v -0.125000 -3.218750 -4.687500 +v -0.125000 -3.531250 -4.687500 +v -0.125000 -2.968750 -5.750000 +v -0.125000 -2.343750 -5.437500 +v -0.125000 -1.906250 -5.062500 +v -0.125000 -1.656250 -4.812500 +v -0.312500 -1.343750 -4.812500 +v -0.312500 -1.093750 -4.937500 +v -0.312500 -0.906250 -5.187500 +v -0.312500 -0.718750 -5.187500 +v -0.312500 -0.718750 -3.562500 +v 0.312500 -2.031250 -4.187500 +v 0.312500 -2.156250 -4.250000 +v 0.312500 -2.406250 -4.250000 +v 0.312500 -2.531250 -4.437500 +v 0.312500 -2.656250 -4.500000 +v 0.312500 -2.906250 -4.500000 +v 0.312500 -3.031250 -4.687500 +v 0.312500 -3.156250 -4.750000 +v 0.312500 -2.968750 -5.562500 +v 0.312500 -2.343750 -5.250000 +v 0.312500 -1.906250 -4.937500 +v 0.312500 -1.656250 -4.750000 +v 0.312500 -3.406250 -4.750000 +v -0.312500 -2.031250 -4.187500 +v -0.312500 -2.156250 -4.250000 +v -0.312500 -2.406250 -4.250000 +v -0.312500 -2.531250 -4.437500 +v -0.312500 -2.656250 -4.500000 +v -0.312500 -2.906250 -4.500000 +v -0.312500 -3.031250 -4.687500 +v -0.312500 -3.156250 -4.750000 +v -0.312500 -2.968750 -5.562500 +v -0.312500 -2.343750 -5.250000 +v -0.312500 -1.906250 -4.937500 +v -0.312500 -1.656250 -4.750000 +v -0.312500 -3.406250 -4.750000 +v 0.187500 -1.343750 -2.312500 +v 0.187500 -1.906250 -2.312500 +v 0.187500 -2.093750 -2.375000 +v 0.187500 -2.218750 -2.500000 +v 0.187500 -2.281250 -2.687500 +v 0.187500 -2.281250 -3.437500 +v 0.187500 -1.906250 -4.000000 +v -0.187500 -1.343750 -2.312500 +v -0.187500 -1.906250 -2.312500 +v -0.187500 -2.093750 -2.375000 +v -0.187500 -2.218750 -2.500000 +v -0.187500 -2.281250 -2.687500 +v -0.187500 -2.281250 -3.437500 +v -0.187500 -1.906250 -4.000000 +v 0.187500 -1.343750 -2.375000 +v 0.187500 -1.906250 -2.375000 +v 0.187500 -2.093750 -2.437500 +v 0.187500 -2.156250 -2.500000 +v 0.187500 -2.218750 -2.687500 +v 0.187500 -2.218750 -3.437500 +v 0.187500 -1.843750 -4.000000 +v -0.187500 -2.156250 -2.500000 +v -0.187500 -2.218750 -2.687500 +v -0.187500 -2.218750 -3.437500 +v -0.187500 -1.843750 -4.000000 +v -0.187500 -2.093750 -2.437500 +v -0.187500 -1.906250 -2.375000 +v -0.187500 -1.343750 -2.375000 +v 0.154680 0.735485 -6.625000 +v 0.000000 0.781250 -6.625000 +v -0.154679 0.735485 -6.625000 +v 0.281250 1.187500 9.125000 +v 0.198873 1.386374 9.125000 +v -0.000001 1.468750 9.125000 +v -0.198874 1.386374 9.125000 +v -0.281250 1.187500 9.125000 +v -0.198874 0.988627 9.125000 +v 0.198873 0.988627 9.125000 +v 0.156250 0.970971 9.125000 +v 0.156250 0.841529 9.125000 +v -0.156250 0.841529 9.125000 +v -0.156250 0.970971 9.125000 +v -0.156250 0.841529 8.750000 +v 0.156250 0.841529 8.750000 +v 0.281250 1.187500 8.750000 +v 0.198873 1.386374 8.750000 +v -0.000001 1.468750 8.750000 +v -0.198874 1.386374 8.750000 +v -0.281250 1.187500 8.750000 +v -0.198874 0.988627 8.750000 +v 0.198873 0.988627 8.750000 +v 0.156250 0.970971 8.750000 +v -0.156250 0.970971 8.750000 +v 0.218750 1.187500 9.125000 +v 0.154679 1.342180 9.125000 +v -0.000001 1.406250 9.125000 +v -0.154680 1.342180 9.125000 +v -0.218750 1.187500 9.125000 +v -0.154680 1.032821 9.125000 +v -0.000000 0.968750 9.125000 +v 0.154679 1.032821 9.125000 +v 0.218750 1.187500 8.750000 +v 0.154679 1.342180 8.750000 +v -0.000000 1.406250 8.750000 +v -0.154680 1.342180 8.750000 +v -0.218750 1.187500 8.750000 +v -0.154680 1.032821 8.750000 +v -0.000000 0.968750 8.750000 +v 0.154679 1.032821 8.750000 +v -0.031250 1.187500 9.000000 +v -0.031250 1.031250 9.000000 +v 0.031250 1.187500 9.000000 +v 0.031250 1.031250 9.000000 +v -0.031250 1.187500 8.937500 +v 0.031250 1.187500 8.937500 +v -0.093750 0.968750 9.000000 +v 0.093750 0.968750 9.000000 +v -0.031250 1.031250 8.937500 +v 0.031250 1.031250 8.937500 +v 0.093750 0.968750 8.937500 +v -0.093750 0.968750 8.937500 +v 0.156250 1.187500 -5.312500 +v -0.156250 0.875000 -5.437500 +v 0.156250 0.875000 -5.437500 +v -0.156250 1.187500 -5.187500 +v -0.156250 0.875000 -5.062500 +v 0.156250 0.875000 -5.062500 +v 0.156250 1.187500 -5.187500 +v -0.156250 1.187500 -5.312500 +v -0.156250 0.750000 -5.437500 +v 0.156250 0.750000 -5.437500 +v -0.156250 0.750000 -5.062500 +v 0.156250 0.750000 -5.062500 +v 0.156250 1.250000 -5.250000 +v 0.156250 1.231694 -5.294194 +v 0.125000 1.231694 -5.294194 +v 0.125000 1.250000 -5.250000 +v -0.156250 1.231694 -5.205806 +v -0.156250 1.231694 -5.294194 +v -0.156250 1.250000 -5.250000 +v 0.156250 1.231694 -5.205806 +v 0.125000 1.231694 -5.205806 +v -0.125000 1.231694 -5.205806 +v -0.125000 1.231694 -5.294194 +v -0.125000 1.250000 -5.250000 +v 0.125000 1.187500 -5.312500 +v 0.125000 1.187500 -5.187500 +v -0.125000 1.187500 -5.312500 +v -0.125000 1.187500 -5.187500 +v 0.125000 0.875000 -5.437500 +v -0.125000 0.875000 -5.437500 +v -0.125000 0.875000 -5.062500 +v 0.125000 0.875000 -5.062500 +v -0.062500 1.187500 -5.281250 +v -0.062500 1.187500 -5.218750 +v 0.062500 1.187500 -5.281250 +v 0.062500 1.187500 -5.218750 +v 0.062500 1.250000 -5.218750 +v 0.062500 1.250000 -5.281250 +v -0.062500 1.250000 -5.218750 +v -0.062500 1.250000 -5.281250 +v 0.125000 1.250000 -5.281250 +v 0.125000 1.250000 -5.218750 +v -0.125000 1.250000 -5.218750 +v -0.125000 1.250000 -5.281250 +v 0.000000 1.125000 -5.281250 +v 0.000000 1.125000 -5.218750 +v 0.125000 0.875000 -5.281250 +v -0.125000 0.875000 -5.281250 +v 0.031250 0.937500 -5.281250 +v 0.022097 0.959597 -5.281250 +v 0.000000 0.968750 -5.281250 +v -0.022097 0.959597 -5.281250 +v -0.031250 0.937500 -5.281250 +v -0.022097 0.915403 -5.281250 +v 0.000000 0.906250 -5.281250 +v 0.022097 0.915403 -5.281250 +v 0.031250 0.937500 -5.218750 +v 0.022097 0.959597 -5.218750 +v 0.000000 0.968750 -5.218750 +v -0.022097 0.959597 -5.218750 +v -0.031250 0.937500 -5.218750 +v -0.022097 0.915403 -5.218750 +v 0.000000 0.906250 -5.218750 +v 0.022097 0.915403 -5.218750 +v -0.125000 1.062500 -5.218750 +v 0.125000 1.062500 -5.218750 +v -0.125000 1.062500 -5.156250 +v 0.125000 1.062500 -5.156250 +v 0.062500 1.062500 -5.093750 +v -0.062500 1.062500 -5.093750 +v 0.062500 1.000000 -5.093750 +v -0.062500 1.000000 -5.093750 +v -0.125000 1.000000 -5.156250 +v 0.125000 1.000000 -5.156250 +v -0.125000 1.000000 -5.218750 +v 0.125000 1.000000 -5.218750 +v -0.125000 0.875000 -5.218750 +v 0.125000 0.875000 -5.218750 +v 0.093750 0.843750 -5.062500 +v -0.093750 0.843750 -5.062500 +v 0.093750 0.843750 -4.750000 +v -0.093750 0.843750 -4.750000 +v 0.031250 0.875000 -4.750000 +v -0.031250 0.875000 -4.750000 +v 0.093750 0.843750 -4.687500 +v 0.031250 0.875000 -4.687500 +v -0.093750 0.843750 -4.687500 +v -0.031250 0.875000 -4.687500 +v 0.093750 0.781250 -4.687500 +v -0.093750 0.781250 -4.687500 +v 0.093750 0.781250 -5.062500 +v -0.093750 0.781250 -5.062500 +v -0.000000 0.406250 2.000000 +v 0.343750 -1.093751 -1.750000 +v 0.343750 -1.121210 -1.683709 +v 0.343750 -1.187501 -1.656250 +v 0.343750 -1.253792 -1.683709 +v 0.343750 -1.281251 -1.750000 +v 0.343750 -1.253792 -1.816291 +v 0.343750 -1.187501 -1.843750 +v 0.343750 -1.121210 -1.816291 +v 0.375000 -1.093751 -1.750000 +v 0.375000 -1.121210 -1.683709 +v 0.375000 -1.187501 -1.656250 +v 0.375000 -1.253792 -1.683709 +v 0.375000 -1.281251 -1.750000 +v 0.375000 -1.253792 -1.816291 +v 0.375000 -1.187501 -1.843750 +v 0.375000 -1.121210 -1.816291 +vt 0.810811 0.532819 +vt 0.833977 0.486486 +vt 0.833977 0.532819 +vt 0.833977 0.355212 +vt 0.810811 0.486486 +vt 0.768340 0.370656 +vt 0.833977 0.664093 +vt 0.768340 0.710425 +vt 0.833977 0.710425 +vt 0.768340 0.664093 +vt 0.644788 0.710425 +vt 0.644788 0.664093 +vt 0.706564 0.602317 +vt 0.671815 0.617761 +vt 0.671815 0.602317 +vt 0.611969 0.603679 +vt 0.644788 0.590734 +vt 0.733591 0.590734 +vt 0.766409 0.603679 +vt 0.706564 0.617761 +vt 0.737452 0.442880 +vt 0.756757 0.474903 +vt 0.737452 0.474903 +vt 0.737452 0.428571 +vt 0.756757 0.436293 +vt 0.737452 0.436293 +vt 0.737452 0.418920 +vt 0.740279 0.412094 +vt 0.747104 0.409268 +vt 0.756757 0.438338 +vt 0.764479 0.438338 +vt 0.729730 0.442880 +vt 0.725869 0.474903 +vt 0.737452 0.486486 +vt 0.756757 0.486486 +vt 0.324324 0.571429 +vt 0.208494 0.567568 +vt 0.324324 0.567568 +vt 0.602317 0.590734 +vt 0.602317 0.571429 +vt 0.598456 0.532819 +vt 0.590734 0.536680 +vt 0.590734 0.532819 +vt 0.370656 0.494208 +vt 0.374517 0.486486 +vt 0.386100 0.486486 +vt 0.386100 0.478764 +vt 0.590734 0.474903 +vt 0.590734 0.478764 +vt 0.339768 0.536680 +vt 0.335907 0.532819 +vt 0.339768 0.532819 +vt 0.347490 0.536680 +vt 0.340412 0.532819 +vt 0.346847 0.532819 +vt 0.359073 0.532819 +vt 0.359073 0.536680 +vt 0.374517 0.532819 +vt 0.641961 0.535646 +vt 0.644788 0.542471 +vt 0.641961 0.549296 +vt 0.367439 0.532819 +vt 0.374517 0.536680 +vt 0.366795 0.536680 +vt 0.615830 0.532819 +vt 0.606178 0.542471 +vt 0.615830 0.552124 +vt 0.366152 0.532819 +vt 0.130124 0.384872 +vt 0.144138 0.360301 +vt 0.144138 0.384872 +vt 0.156401 0.389961 +vt 0.168665 0.360301 +vt 0.312741 0.555985 +vt 0.316602 0.548263 +vt 0.324324 0.555985 +vt 0.324324 0.528958 +vt 0.316602 0.536680 +vt 0.312741 0.528958 +vt 0.208494 0.528958 +vt 0.312741 0.567568 +vt 0.208494 0.555985 +vt 0.208494 0.517375 +vt 0.312741 0.517375 +vt 0.196911 0.555985 +vt 0.204633 0.548263 +vt 0.204633 0.536680 +vt 0.196911 0.528958 +vt 0.675676 0.517375 +vt 0.671815 0.552124 +vt 0.671815 0.517375 +vt 0.671815 0.505791 +vt 0.675676 0.498069 +vt 0.671815 0.494208 +vt 0.675676 0.482625 +vt 0.671815 0.482625 +vt 0.675676 0.436293 +vt 0.671815 0.436293 +vt 0.671815 0.393822 +vt 0.644788 0.436293 +vt 0.648649 0.393822 +vt 0.648649 0.436293 +vt 0.644788 0.482625 +vt 0.648649 0.482625 +vt 0.648649 0.494208 +vt 0.644788 0.498069 +vt 0.648649 0.505791 +vt 0.644788 0.501930 +vt 0.644788 0.517375 +vt 0.648649 0.517375 +vt 0.648649 0.552124 +vt 0.644788 0.552124 +vt 0.223938 0.382239 +vt 0.220077 0.374517 +vt 0.223938 0.374517 +vt 0.223938 0.370656 +vt 0.216216 0.386100 +vt 0.220077 0.382239 +vt 0.220077 0.370656 +vt 0.223938 0.362934 +vt 0.231660 0.374517 +vt 0.212355 0.370656 +vt 0.212355 0.374517 +vt 0.220077 0.362934 +vt 0.227799 0.359073 +vt 0.235521 0.370656 +vt 0.235521 0.374517 +vt 0.208494 0.370656 +vt 0.208494 0.374517 +vt 0.173745 0.416988 +vt 0.189189 0.397683 +vt 0.181467 0.416988 +vt 0.138996 0.416988 +vt 0.123552 0.397683 +vt 0.146718 0.397683 +vt 0.166023 0.389961 +vt 0.166023 0.397683 +vt 0.146718 0.389961 +vt 0.180336 0.419719 +vt 0.177606 0.420849 +vt 0.135135 0.420849 +vt 0.131274 0.416988 +vt 0.297297 0.386100 +vt 0.294567 0.387231 +vt 0.293436 0.389961 +vt 0.351351 0.393822 +vt 0.354081 0.392692 +vt 0.355212 0.389961 +vt 0.297297 0.393822 +vt 0.316602 0.378378 +vt 0.351351 0.386100 +vt 0.332046 0.401544 +vt 0.206564 0.397683 +vt 0.191120 0.397683 +vt 0.189189 0.389961 +vt 0.316602 0.401544 +vt 0.378378 0.405405 +vt 0.382239 0.401544 +vt 0.382239 0.405405 +vt 0.378378 0.382239 +vt 0.382239 0.386100 +vt 0.378378 0.386100 +vt 0.374517 0.386100 +vt 0.378378 0.382239 +vt 0.355212 0.382239 +vt 0.374517 0.393822 +vt 0.378378 0.397683 +vt 0.378378 0.393822 +vt 0.370656 0.389961 +vt 0.355212 0.397683 +vt 0.357708 0.388596 +vt 0.359073 0.388031 +vt 0.359073 0.391892 +vt 0.357708 0.391328 +vt 0.357143 0.389961 +vt 0.361004 0.389961 +vt 0.360438 0.388595 +vt 0.360438 0.391326 +vt 0.393822 0.397683 +vt 0.397683 0.382239 +vt 0.393822 0.382239 +vt 0.401544 0.393822 +vt 0.397683 0.397683 +vt 0.386100 0.393822 +vt 0.382239 0.397683 +vt 0.382239 0.393822 +vt 0.382239 0.382239 +vt 0.386100 0.386100 +vt 0.393822 0.382239 +vt 0.389961 0.389961 +vt 0.393822 0.397683 +vt 0.409266 0.382239 +vt 0.405405 0.393822 +vt 0.405405 0.386100 +vt 0.413127 0.397683 +vt 0.409266 0.397683 +vt 0.420849 0.397683 +vt 0.418919 0.389961 +vt 0.420849 0.382239 +vt 0.413127 0.382239 +vt 0.415058 0.389961 +vt 0.415623 0.391326 +vt 0.418353 0.391326 +vt 0.418353 0.388596 +vt 0.415623 0.388596 +vt 0.416988 0.388031 +vt 0.416988 0.391892 +vt 0.355212 0.382239 +vt 0.366795 0.378378 +vt 0.355212 0.378378 +vt 0.366795 0.401544 +vt 0.355212 0.397683 +vt 0.355212 0.401544 +vt 0.148649 0.397683 +vt 0.420849 0.420849 +vt 0.401544 0.409266 +vt 0.420849 0.409266 +vt 0.401544 0.420849 +vt 0.399614 0.413127 +vt 0.397683 0.424710 +vt 0.386100 0.424710 +vt 0.389961 0.418919 +vt 0.382239 0.420849 +vt 0.362934 0.424710 +vt 0.397683 0.420849 +vt 0.768340 0.648649 +vt 0.611969 0.590734 +vt 0.766409 0.590734 +vt 0.756757 0.428571 +vt 0.753930 0.412094 +vt 0.756757 0.418920 +vt 0.756757 0.420965 +vt 0.737452 0.425507 +vt 0.764479 0.436293 +vt 0.768340 0.436293 +vt 0.768340 0.474903 +vt 0.725869 0.436293 +vt 0.729730 0.436293 +vt 0.208494 0.590734 +vt 0.598456 0.536680 +vt 0.629344 0.486486 +vt 0.629344 0.494208 +vt 0.370656 0.486486 +vt 0.386100 0.474903 +vt 0.347490 0.532819 +vt 0.635135 0.552124 +vt 0.628310 0.549296 +vt 0.625483 0.542471 +vt 0.628310 0.535646 +vt 0.635135 0.532819 +vt 0.373874 0.532819 +vt 0.609005 0.535646 +vt 0.609005 0.549296 +vt 0.622656 0.549296 +vt 0.625483 0.542471 +vt 0.622656 0.535646 +vt 0.359717 0.532819 +vt 0.130124 0.360301 +vt 0.156401 0.355212 +vt 0.173745 0.372587 +vt 0.168665 0.384872 +vt 0.208494 0.567568 +vt 0.675676 0.552124 +vt 0.675676 0.505791 +vt 0.675676 0.501930 +vt 0.675676 0.494208 +vt 0.675676 0.393822 +vt 0.644788 0.393822 +vt 0.644788 0.494208 +vt 0.644788 0.505791 +vt 0.227799 0.386100 +vt 0.231660 0.370656 +vt 0.216216 0.359073 +vt 0.123552 0.389961 +vt 0.174876 0.419719 +vt 0.137865 0.419719 +vt 0.132405 0.419718 +vt 0.294567 0.392692 +vt 0.354081 0.387231 +vt 0.332046 0.378378 +vt 0.208494 0.389961 +vt 0.208494 0.397683 +vt 0.378378 0.401544 +vt 0.378378 0.386100 +vt 0.401544 0.386100 +vt 0.378378 0.382239 +vt 0.378378 0.397683 +vt 0.164093 0.397683 +vt 0.399614 0.416988 +vt 0.386100 0.420849 +vt 0.393822 0.418919 +vt 0.362934 0.420849 +vt 0.420849 0.424710 +vt 0.532819 0.849421 +vt -0.000000 0.833977 +vt 0.532819 0.833977 +vt 0.532819 0.749035 +vt 0.023166 0.764479 +vt 0.023166 0.749035 +vt 0.416988 0.791506 +vt 0.420849 0.787645 +vt 0.532819 0.791506 +vt 0.416988 0.864865 +vt 0.027027 0.864865 +vt 0.000000 0.849421 +vt -0.000000 0.822394 +vt 0.532819 0.806950 +vt 0.532819 0.822394 +vt -0.000000 0.806950 +vt 0.027027 0.791506 +vt 0.532819 0.779923 +vt 0.420849 0.779923 +vt 0.420849 0.868726 +vt 0.532819 0.864865 +vt 0.795367 0.729730 +vt 0.405405 0.733591 +vt 0.405405 0.729730 +vt 0.806950 0.729730 +vt 0.799228 0.733591 +vt 0.799228 0.729730 +vt 0.389961 0.729730 +vt 0.393822 0.733591 +vt 0.389961 0.733591 +vt 0.000000 0.733591 +vt 0.000000 0.729730 +vt 0.810811 0.729730 +vt 0.806950 0.733591 +vt 0.795367 0.733591 +vt 0.401544 0.733591 +vt 0.393822 0.729730 +vt 0.401544 0.729730 +vt 0.000000 0.722008 +vt 0.000000 0.714286 +vt 0.003861 0.710425 +vt 0.023166 0.868726 +vt 0.000000 0.876448 +vt 0.000000 0.864865 +vt 0.532819 0.891892 +vt 0.416988 0.907336 +vt 0.416988 0.891892 +vt 0.023166 0.907336 +vt 0.301158 0.891892 +vt 0.301158 0.907336 +vt 0.722008 1.000000 +vt 1.000000 0.988417 +vt 1.000000 1.000000 +vt 0.416988 0.884170 +vt 0.420849 0.876448 +vt 0.023166 0.876448 +vt 0.023166 0.891892 +vt 0.027027 0.880309 +vt 0.301158 0.884170 +vt 0.416988 0.880309 +vt 0.532819 0.876448 +vt 0.895753 0.563707 +vt 0.938224 0.409266 +vt 0.938224 0.563707 +vt 0.895753 0.613900 +vt 0.938224 0.602317 +vt 0.938224 0.613900 +vt 0.895753 0.625483 +vt 0.938224 0.625483 +vt 0.895753 0.579151 +vt 0.938224 0.571429 +vt 0.938224 0.579151 +vt 0.895753 0.741313 +vt 0.938224 0.741313 +vt 0.895753 0.602317 +vt 0.938224 0.590734 +vt 0.895753 0.590734 +vt 0.895753 0.571429 +vt 0.967181 0.577876 +vt 1.000000 0.420849 +vt 0.895753 0.378378 +vt 0.938224 0.362934 +vt 0.938224 0.378378 +vt 0.895753 0.393822 +vt 0.938224 0.386100 +vt 0.938224 0.393822 +vt 0.895753 0.362934 +vt 0.938224 0.328185 +vt 0.895753 0.386100 +vt 0.895753 0.401544 +vt 0.938224 0.401544 +vt 0.866795 0.577876 +vt 0.859729 0.584942 +vt 0.833977 0.420849 +vt 0.895753 0.409266 +vt 0.552124 0.791506 +vt 0.555985 0.795367 +vt 0.552124 0.795367 +vt 0.559846 0.791506 +vt 0.563707 0.795367 +vt 0.559846 0.795367 +vt 0.536680 0.791506 +vt 0.540541 0.795367 +vt 0.536680 0.795367 +vt 0.544402 0.791506 +vt 0.548263 0.795367 +vt 0.544402 0.795367 +vt 0.548263 0.791506 +vt 0.555985 0.791506 +vt 0.532819 0.791506 +vt 0.532819 0.795367 +vt 0.540541 0.791506 +vt 0.542705 0.789809 +vt 0.538610 0.791506 +vt 0.538610 0.779923 +vt 0.768340 0.428571 +vt 0.764479 0.420849 +vt 0.768340 0.420849 +vt 0.729730 0.428571 +vt 0.725869 0.428571 +vt 0.725869 0.420849 +vt 0.644788 0.633205 +vt 0.617761 0.640927 +vt 0.606178 0.633205 +vt 0.610039 0.617761 +vt 0.617761 0.625483 +vt 0.602317 0.625483 +vt 0.633205 0.640927 +vt 0.613900 0.652510 +vt 0.644788 0.625483 +vt 0.629344 0.625483 +vt 0.637066 0.617761 +vt 0.602317 0.694981 +vt 0.602317 0.706564 +vt 0.324324 0.706564 +vt 0.169884 0.660232 +vt 0.208494 0.671815 +vt 0.169884 0.671815 +vt 0.169884 0.625483 +vt 0.208494 0.613900 +vt 0.208494 0.625483 +vt 0.169884 0.602317 +vt 0.208494 0.602317 +vt 0.169884 0.648649 +vt 0.208494 0.660232 +vt 0.208494 0.637066 +vt 0.235521 0.667954 +vt 0.227799 0.648649 +vt 0.208494 0.656371 +vt 0.648649 0.625483 +vt 0.208494 0.710425 +vt 0.324324 0.710425 +vt 0.332046 0.710425 +vt 0.332046 0.706564 +vt 0.347490 0.710425 +vt 0.347490 0.706564 +vt 0.359073 0.706564 +vt 0.324324 0.536680 +vt 0.602317 0.544402 +vt 0.324324 0.544402 +vt 0.324324 0.559846 +vt 0.602317 0.559846 +vt 0.208494 0.617761 +vt 0.602317 0.625483 +vt 0.208494 0.625483 +vt 0.602317 0.602317 +vt 0.208494 0.602317 +vt 0.602317 0.637066 +vt 0.602317 0.617761 +vt 0.629344 0.652510 +vt 0.637066 0.671815 +vt 0.610039 0.660232 +vt 0.640927 0.687259 +vt 0.606178 0.687259 +vt 0.617761 0.694981 +vt 0.613900 0.706564 +vt 0.629344 0.694981 +vt 0.633205 0.706564 +vt 0.606178 0.988417 +vt 0.042471 0.988417 +vt 0.042471 0.976834 +vt 1.000000 0.965251 +vt 0.042471 0.965251 +vt 0.606178 1.000000 +vt 0.490348 1.000000 +vt 0.042471 0.942085 +vt 0.042471 0.930502 +vt 0.490348 0.930502 +vt 0.590734 0.471042 +vt 0.629344 0.478764 +vt 0.370656 0.517375 +vt 0.629344 0.509652 +vt 0.629344 0.517375 +vt 0.370656 0.501930 +vt 0.629344 0.501930 +vt 0.370656 0.525097 +vt 0.629344 0.525097 +vt 0.370656 0.509652 +vt 0.486486 0.953668 +vt 0.281853 0.952190 +vt 0.486486 0.952190 +vt 0.281853 0.943563 +vt 0.042471 0.953668 +vt 0.498069 0.943563 +vt 1.000000 0.942085 +vt 1.000000 0.953668 +vt 0.486486 0.963773 +vt 0.498069 0.963773 +vt 0.370656 0.478764 +vt 0.374517 0.478764 +vt 0.370656 0.471042 +vt 0.374517 0.471042 +vt 0.559846 0.907336 +vt 0.559846 0.926641 +vt 0.579151 0.926641 +vt 0.166023 0.702703 +vt 0.146718 0.710425 +vt 0.146718 0.702703 +vt 0.166023 0.656371 +vt 0.146718 0.664093 +vt 0.146718 0.656371 +vt 0.166023 0.671815 +vt 0.146718 0.679537 +vt 0.146718 0.671815 +vt 0.166023 0.687259 +vt 0.146718 0.694981 +vt 0.146718 0.687259 +vt 0.166023 0.694981 +vt 0.166023 0.648649 +vt 0.146718 0.648649 +vt 0.166023 0.664093 +vt 0.166023 0.679537 +vt 0.169884 0.672366 +vt 0.169884 0.694429 +vt 0.169884 0.695532 +vt 0.169884 0.649200 +vt 0.169884 0.664644 +vt 0.169884 0.680088 +vt 0.169884 0.703254 +vt 0.166023 0.710425 +vt 0.169884 0.663541 +vt 0.131274 0.602317 +vt 0.138996 0.710425 +vt 0.131274 0.710425 +vt 0.084942 0.602317 +vt 0.092664 0.710425 +vt 0.084942 0.710425 +vt 0.100386 0.602317 +vt 0.108108 0.710425 +vt 0.100386 0.710425 +vt 0.115830 0.602317 +vt 0.123552 0.710425 +vt 0.115830 0.710425 +vt 0.138996 0.602317 +vt 0.146718 0.710425 +vt 0.092664 0.602317 +vt 0.108108 0.602317 +vt 0.123552 0.602317 +vt 0.359073 0.332046 +vt 0.343629 0.355212 +vt 0.343629 0.332046 +vt 0.420849 0.332046 +vt 0.405405 0.355212 +vt 0.405405 0.332046 +vt 0.204633 0.332046 +vt 0.189189 0.355212 +vt 0.189189 0.332046 +vt 0.158301 0.332046 +vt 0.142857 0.355212 +vt 0.142857 0.332046 +vt 0.173745 0.355212 +vt 0.173745 0.332046 +vt 0.328185 0.355212 +vt 0.328185 0.332046 +vt 0.127413 0.355212 +vt 0.127413 0.332046 +vt 0.389961 0.332046 +vt 0.374517 0.355212 +vt 0.374517 0.332046 +vt 0.389961 0.355212 +vt 0.111969 0.355212 +vt 0.111969 0.332046 +vt 0.158301 0.355212 +vt 0.359073 0.355212 +vt 0.023166 0.787645 +vt 0.000000 0.791506 +vt 0.000000 0.779923 +vt 0.532819 0.764479 +vt 0.416988 0.776062 +vt 0.023166 0.779923 +vt 0.393822 0.729730 +vt 0.401544 0.725869 +vt 0.401544 0.729730 +vt 0.405405 0.725869 +vt 0.405405 0.729730 +vt 0.795367 0.725869 +vt 0.795367 0.729730 +vt -0.000000 0.729730 +vt 0.389961 0.725869 +vt 0.389961 0.729730 +vt 0.799228 0.729730 +vt 0.806950 0.725869 +vt 0.806950 0.729730 +vt 0.799228 0.725869 +vt 0.810811 0.729730 +vt 0.791506 0.725869 +vt 0.795367 0.722008 +vt 0.795367 0.714286 +vt 0.393822 0.725869 +vt 0.552124 0.810811 +vt 0.555985 0.814672 +vt 0.552124 0.814672 +vt 0.559846 0.810811 +vt 0.563707 0.814672 +vt 0.559846 0.814672 +vt 0.536680 0.810811 +vt 0.540541 0.814672 +vt 0.536680 0.814672 +vt 0.544402 0.810811 +vt 0.548263 0.814672 +vt 0.544402 0.814672 +vt 0.548263 0.810811 +vt 0.555985 0.810811 +vt 0.532819 0.810811 +vt 0.532819 0.814672 +vt 0.540541 0.810811 +vt 0.540540 0.795367 +vt 0.548262 0.803089 +vt 0.540540 0.810811 +vt 0.169884 0.683398 +vt 0.312741 0.671815 +vt 0.602317 0.660232 +vt 0.602317 0.671815 +vt 0.312741 0.660232 +vt 0.602317 0.648649 +vt 0.312741 0.683398 +vt 0.602317 0.683398 +vt 0.312741 0.648649 +vt 0.200772 0.648649 +vt 0.208494 0.694981 +vt 0.200772 0.683398 +vt 0.305019 0.683398 +vt 0.583012 0.857143 +vt 1.000000 0.845560 +vt 1.000000 0.857143 +vt 0.583012 0.830116 +vt 0.583012 0.845560 +vt 1.000000 0.814672 +vt 1.000000 0.830116 +vt 0.583012 0.803089 +vt 0.583012 0.814672 +vt 0.583012 0.787645 +vt 1.000000 0.803089 +vt 0.583012 0.772201 +vt 1.000000 0.787645 +vt 1.000000 0.772201 +vt 0.583012 0.872587 +vt 1.000000 0.872587 +vt 1.000000 0.888031 +vt 0.583012 0.888031 +vt 1.000000 0.899614 +vt 0.583012 0.899614 +vt 0.583012 0.915058 +vt 1.000000 0.915058 +vt 0.583012 0.930502 +vt 1.000000 0.930502 +vt 0.583012 0.741313 +vt 1.000000 0.766409 +vt 0.583012 0.772201 +vt 0.570643 0.773138 +vt 0.538670 0.773138 +vt 0.548805 0.734380 +vt 0.117860 0.389961 +vt 0.104247 0.382239 +vt 0.104247 0.571429 +vt 0.111969 0.579151 +vt 0.092664 0.579151 +vt 0.166023 0.571429 +vt 0.177606 0.579151 +vt 0.158301 0.579151 +vt 0.000000 0.891892 +vt 0.000000 0.764479 +vt 0.177606 0.602317 +vt 0.849421 0.030888 +vt 0.833977 0.015444 +vt 0.849421 0.015444 +vt 0.652510 0.015444 +vt 0.617761 0.030888 +vt 0.617761 0.015444 +vt 0.833977 0.030888 +vt 0.826255 0.015444 +vt 0.598456 0.015444 +vt 0.822394 0.030888 +vt 0.810811 0.015444 +vt 0.822394 0.015444 +vt 0.575290 0.042471 +vt 0.575290 0.003861 +vt 0.810811 0.030888 +vt 0.795367 0.015444 +vt 0.930502 0.042471 +vt 0.884170 0.003861 +vt 0.930502 0.003861 +vt 0.559846 0.003861 +vt 0.795367 0.030888 +vt 0.787645 0.015444 +vt 0.884170 0.042471 +vt 0.872587 0.015444 +vt 0.540541 0.042471 +vt 0.540541 0.003861 +vt 0.772201 0.003861 +vt 0.768340 0.015444 +vt 0.872587 0.030888 +vt 0.864865 0.015444 +vt 0.528958 0.003861 +vt 0.768340 0.030888 +vt 0.694981 0.015444 +vt 0.861004 0.030888 +vt 0.861004 0.015444 +vt 0.694981 0.030888 +vt 0.872587 0.003861 +vt 0.864865 0.003861 +vt 0.849421 0.003861 +vt 0.826255 0.003861 +vt 0.833977 0.003861 +vt 0.810811 0.003861 +vt 0.787645 0.003861 +vt 0.795367 0.003861 +vt 0.474903 0.000000 +vt 0.525097 0.027027 +vt 0.474903 0.015444 +vt 0.652510 0.003861 +vt 0.694981 0.003861 +vt 0.617761 0.003861 +vt 0.598456 0.003861 +vt 0.706564 0.003861 +vt 0.760618 0.003861 +vt 0.459459 0.030888 +vt 0.471042 0.023166 +vt 0.459459 0.046332 +vt 0.444015 0.061776 +vt 0.455598 0.054054 +vt 0.444015 0.077220 +vt 0.505791 0.065637 +vt 0.486486 0.092664 +vt 0.440154 0.084942 +vt 0.474903 0.108108 +vt 0.478764 0.127413 +vt 0.401544 0.127413 +vt 0.428571 0.088803 +vt 0.501930 0.154440 +vt 0.501930 0.166023 +vt 0.486486 0.142857 +vt 0.401544 0.166023 +vt 0.787645 0.030888 +vt 0.474903 0.000000 +vt 0.474903 0.015444 +vt 0.525097 0.027027 +vt 0.459459 0.030888 +vt 0.459459 0.046332 +vt 0.471042 0.023166 +vt 0.444015 0.061776 +vt 0.444015 0.077220 +vt 0.455598 0.054054 +vt 0.505791 0.065637 +vt 0.486486 0.092664 +vt 0.440154 0.084942 +vt 0.474903 0.108108 +vt 0.706564 0.042471 +vt 0.760618 0.042471 +vt 0.772201 0.042471 +vt 0.787645 0.042471 +vt 0.795367 0.042471 +vt 0.810811 0.042471 +vt 0.826255 0.042471 +vt 0.826255 0.030888 +vt 0.833977 0.042471 +vt 0.849421 0.042471 +vt 0.864865 0.042471 +vt 0.864865 0.030888 +vt 0.872587 0.042471 +vt 0.694981 0.042471 +vt 0.652510 0.042471 +vt 0.652510 0.030888 +vt 0.617761 0.042471 +vt 0.598456 0.042471 +vt 0.598456 0.030888 +vt 0.428571 0.088803 +vt 0.401544 0.127413 +vt 0.478764 0.127413 +vt 0.401544 0.166023 +vt 0.486486 0.142857 +vt 0.501930 0.154440 +vt 0.501930 0.166023 +vt 0.698842 0.552124 +vt 0.698842 0.517375 +vt 0.675676 0.501930 +vt 0.698842 0.505791 +vt 0.698842 0.490348 +vt 0.675676 0.490348 +vt 0.698842 0.444015 +vt 0.675676 0.444015 +vt 0.698842 0.401544 +vt 0.675676 0.401544 +vt 0.146718 0.602317 +vt 0.135135 0.579151 +vt 0.123552 0.602317 +vt 0.123552 0.579151 +vt 0.135135 0.602317 +vt 0.146718 0.579151 +vt 0.092664 0.602317 +vt 0.324324 0.355212 +vt 0.208494 0.355212 +vt 0.204633 0.355212 +vt 0.181467 0.362934 +vt 0.181467 0.382239 +vt 0.207129 0.360301 +vt 0.266409 0.332046 +vt 0.252681 0.328185 +vt 0.264693 0.328185 +vt 0.235521 0.355212 +vt 0.220077 0.332046 +vt 0.235521 0.332046 +vt 0.281853 0.355212 +vt 0.281853 0.332046 +vt 0.312741 0.355212 +vt 0.297297 0.332046 +vt 0.312741 0.332046 +vt 0.216216 0.355212 +vt 0.220077 0.332046 +vt 0.216216 0.332046 +vt 0.266409 0.355212 +vt 0.250965 0.332046 +vt 0.216216 0.355212 +vt 0.208494 0.332046 +vt 0.216216 0.332046 +vt 0.250965 0.355212 +vt 0.316602 0.355212 +vt 0.316602 0.332046 +vt 0.297297 0.355212 +vt 0.397683 0.355212 +vt 0.409266 0.378378 +vt 0.397683 0.378378 +vt 0.324324 0.332046 +vt 0.237237 0.328185 +vt 0.249249 0.328185 +vt 0.233805 0.328185 +vt 0.280137 0.328185 +vt 0.295581 0.328185 +vt 0.311025 0.328185 +vt 0.315933 0.332046 +vt 0.312741 0.328185 +vt 0.324324 0.328185 +vt 0.216886 0.332046 +vt 0.220077 0.328185 +vt 0.096662 0.372587 +vt 0.096525 0.362934 +vt 0.104247 0.362934 +vt 0.328185 0.355212 +vt 0.339768 0.378378 +vt 0.328185 0.378378 +vt 0.351351 0.355212 +vt 0.362934 0.378378 +vt 0.351351 0.378378 +vt 0.374517 0.355212 +vt 0.386100 0.378378 +vt 0.374517 0.378378 +vt 0.409266 0.355212 +vt 0.420849 0.378378 +vt 0.339768 0.355212 +vt 0.362934 0.355212 +vt 0.386100 0.355212 +vt 0.280137 0.359073 +vt 0.295581 0.359073 +vt 0.311025 0.359073 +vt 0.252681 0.359073 +vt 0.237237 0.359073 +vt 0.233805 0.359073 +vt 0.220077 0.355212 +vt 0.315933 0.355212 +vt 0.312741 0.359073 +vt 0.220077 0.359073 +vt 0.216886 0.355212 +vt 0.173882 0.372587 +vt 0.173745 0.382239 +vt 0.146718 0.432432 +vt 0.150579 0.451737 +vt 0.146718 0.451737 +vt 0.162162 0.424710 +vt 0.166023 0.420849 +vt 0.166023 0.424710 +vt 0.162162 0.428571 +vt 0.166023 0.428571 +vt 0.146718 0.424710 +vt 0.150579 0.428571 +vt 0.146718 0.428571 +vt 0.146718 0.420849 +vt 0.150579 0.424710 +vt 0.150579 0.432432 +vt 0.166023 0.432432 +vt 0.162162 0.432432 +vt 0.166023 0.416988 +vt 0.162162 0.420849 +vt 0.162162 0.416988 +vt 0.150579 0.420849 +vt 0.146718 0.416988 +vt 0.150579 0.416988 +vt 0.150579 0.397683 +vt 0.166023 0.451737 +vt 0.162162 0.451737 +vt 0.162162 0.397683 +vt 0.382239 0.393822 +vt 0.378378 0.389961 +vt 0.382239 0.389961 +vt 0.382239 0.397683 +vt 0.378378 0.397683 +vt 0.378378 0.393822 +vt 0.413127 0.397683 +vt 0.409266 0.401544 +vt 0.409266 0.397683 +vt 0.389961 0.397683 +vt 0.386100 0.401544 +vt 0.386100 0.397683 +vt 0.397683 0.397683 +vt 0.393822 0.401544 +vt 0.393822 0.397683 +vt 0.405405 0.397683 +vt 0.401544 0.401544 +vt 0.401544 0.397683 +vt 0.405405 0.401544 +vt 0.382239 0.401544 +vt 0.382239 0.397683 +vt 0.389961 0.401544 +vt 0.397683 0.401544 +vt 0.401544 0.386100 +vt 0.401544 0.393822 +vt 0.401544 0.397683 +vt 0.405405 0.397683 +vt 0.401544 0.382239 +vt 0.405405 0.382239 +vt 0.173745 0.528958 +vt 0.166023 0.544402 +vt 0.123552 0.544402 +vt 0.389961 0.413127 +vt 0.386100 0.416988 +vt 0.386100 0.413127 +vt 0.397683 0.413127 +vt 0.393822 0.416988 +vt 0.393822 0.413127 +vt 0.042471 0.918919 +vt 0.490348 0.918919 +vt 0.042471 0.907336 +vt 0.490348 0.907336 +vt 0.555985 0.783784 +vt 0.552124 0.779923 +vt 0.555985 0.779923 +vt 0.548263 0.783784 +vt 0.544402 0.779923 +vt 0.548263 0.779923 +vt 0.571429 0.783784 +vt 0.567568 0.779923 +vt 0.571429 0.779923 +vt 0.563707 0.783784 +vt 0.559846 0.779923 +vt 0.563707 0.779923 +vt 0.559846 0.783784 +vt 0.552124 0.783784 +vt 0.575290 0.783784 +vt 0.575290 0.779923 +vt 0.567568 0.783784 +vt 0.565403 0.793671 +vt 0.569498 0.795367 +vt 0.569498 0.783784 +vt 0.810811 0.733591 +vt 0.393822 0.710425 +vt 0.393822 0.725869 +vt 0.397683 0.714286 +vt 0.397683 0.722008 +vt 0.003861 0.725869 +vt 0.532819 0.907336 +vt 0.722008 0.988417 +vt 0.940486 0.571897 +vt 0.945946 0.575290 +vt 0.965251 0.420849 +vt 0.941051 0.402441 +vt 0.947876 0.399614 +vt 0.954702 0.402441 +vt 0.957529 0.409266 +vt 1.000000 0.710425 +vt 0.976834 0.594595 +vt 0.957529 0.575290 +vt 0.974248 0.584942 +vt 0.976834 0.710425 +vt 0.895753 0.328185 +vt 0.892926 0.402441 +vt 0.886100 0.399614 +vt 0.868726 0.420849 +vt 0.876448 0.409266 +vt 0.893491 0.571897 +vt 0.888031 0.575290 +vt 0.876448 0.575290 +vt 0.879275 0.402441 +vt 0.833977 0.710425 +vt 0.857143 0.594595 +vt 0.857143 0.710425 +vt 0.563707 0.791506 +vt 0.534515 0.789809 +vt 0.532818 0.785714 +vt 0.534515 0.781619 +vt 0.542705 0.781619 +vt 0.544401 0.785714 +vt 0.764479 0.428571 +vt 0.729730 0.420849 +vt 0.637066 0.652510 +vt 0.208494 0.706564 +vt 0.169884 0.613900 +vt 0.208494 0.648649 +vt 0.169884 0.637066 +vt 0.235521 0.656371 +vt 0.216216 0.648649 +vt 0.208494 0.667954 +vt 0.216216 0.675676 +vt 0.227799 0.675676 +vt 0.359073 0.710425 +vt 0.602317 0.536680 +vt 0.617761 0.652510 +vt 0.637066 0.660232 +vt 0.610039 0.671815 +vt 0.602317 0.679537 +vt 0.644788 0.679537 +vt 1.000000 0.976834 +vt 0.042471 1.000000 +vt 1.000000 0.930502 +vt 0.629344 0.471042 +vt 0.498069 0.953668 +vt 0.629344 0.532819 +vt 0.370656 0.532819 +vt 0.579151 0.907336 +vt 0.571429 0.903475 +vt 0.555985 0.918919 +vt 0.571429 0.930502 +vt 0.583012 0.918919 +vt 0.169884 0.678985 +vt 0.169884 0.687810 +vt 0.169884 0.702151 +vt 0.169884 0.655819 +vt 0.169884 0.671263 +vt 0.169884 0.686707 +vt 0.169884 0.709873 +vt 0.169884 0.656922 +vt 0.146718 0.602317 +vt 0.420849 0.355212 +vt 0.027027 0.776062 +vt 0.000000 0.725869 +vt 0.810811 0.725869 +vt 0.791506 0.710425 +vt 0.401544 0.710425 +vt 0.397683 0.714286 +vt 0.397683 0.722008 +vt 0.401544 0.725869 +vt 0.563707 0.810811 +vt 0.535080 0.808549 +vt 0.532818 0.803089 +vt 0.535080 0.797629 +vt 0.546001 0.797629 +vt 0.546001 0.808549 +vt 0.208494 0.683398 +vt 0.169884 0.694981 +vt 1.000000 0.747104 +vt 0.570643 0.740376 +vt 0.560508 0.779133 +vt 0.548805 0.779133 +vt 0.560508 0.734380 +vt 0.532819 0.750761 +vt 0.538670 0.740376 +vt 0.532819 0.762753 +vt 0.105338 0.384873 +vt 0.105338 0.360301 +vt 0.117860 0.355212 +vt 0.559846 0.042471 +vt 0.528958 0.042471 +vt 0.698842 0.501930 +vt 0.182558 0.384872 +vt 0.194844 0.389961 +vt 0.207129 0.384872 +vt 0.194844 0.355212 +vt 0.182558 0.360301 +vt 0.220077 0.355212 +vt 0.221793 0.328185 +vt 0.268125 0.328185 +vt 0.283569 0.328185 +vt 0.299013 0.328185 +vt 0.208494 0.328185 +vt 0.096525 0.382239 +vt 0.420849 0.355212 +vt 0.268125 0.359073 +vt 0.283569 0.359073 +vt 0.299013 0.359073 +vt 0.264693 0.359073 +vt 0.249249 0.359073 +vt 0.221793 0.359073 +vt 0.324324 0.359073 +vt 0.208494 0.359073 +vt 0.173745 0.362934 +vt 0.413127 0.401544 +vt 0.115830 0.528958 +vt 0.115830 0.517375 +vt 0.173745 0.517375 +vt 0.123552 0.501930 +vt 0.166023 0.501930 +vt 0.123552 0.478764 +vt 0.166023 0.478764 +vt 0.144788 0.571429 +vt 0.135135 0.568601 +vt 0.154440 0.568601 +vt 0.389961 0.416988 +vt 0.397683 0.416988 +vt 0.544402 0.783784 +vt 0.573593 0.793671 +vt 0.575290 0.789575 +vt 0.573593 0.785480 +vt 0.565403 0.785480 +vt 0.563707 0.789575 +vn -0.0000 -0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 -0.0000 +vn 0.0000 -0.2290 -0.9734 +vn 0.0000 -0.9389 0.3443 +vn 0.0000 -1.0000 0.0000 +vn -0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.3827 -0.9239 -0.0000 +vn 0.9239 -0.3827 -0.0000 +vn -0.3827 0.9239 -0.0000 +vn -0.7071 0.7071 -0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 -0.7071 0.0073 +vn -0.2298 -0.9732 0.0000 +vn -0.2295 -0.9733 0.0076 +vn 0.5626 0.8267 0.0078 +vn 0.8369 0.5474 0.0000 +vn 0.5563 0.8310 -0.0000 +vn 0.9314 -0.3640 0.0000 +vn 0.9733 -0.2295 0.0076 +vn -0.9314 -0.3640 -0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.2298 -0.9732 0.0000 +vn 0.7071 -0.7071 0.0073 +vn 0.2295 -0.9733 0.0076 +vn 0.7071 -0.7071 0.0000 +vn 0.9733 0.2295 0.0076 +vn 0.9621 0.2728 0.0000 +vn -0.9733 -0.2295 0.0076 +vn -0.0000 0.9239 -0.3827 +vn -0.0000 0.9239 0.3827 +vn -0.0000 -0.3358 -0.9419 +vn -0.0000 0.3827 -0.9239 +vn -0.0000 -0.9077 0.4197 +vn -0.0000 -0.3827 0.9239 +vn 0.0000 -0.9239 0.3827 +vn 0.0000 -0.9239 -0.3827 +vn 0.0000 -0.9077 -0.4197 +vn -0.0000 -0.3827 -0.9239 +vn -0.0000 0.3827 0.9239 +vn -0.0000 -0.3358 0.9419 +vn -0.9732 0.2298 -0.0000 +vn -0.9732 -0.2298 -0.0000 +vn -0.7501 0.6613 0.0078 +vn -0.5563 0.8310 -0.0000 +vn -0.7503 0.6611 -0.0000 +vn -0.9239 -0.3827 -0.0000 +vn -0.8944 0.4472 -0.0000 +vn -0.9621 0.2728 -0.0000 +vn -0.8369 0.5474 0.0000 +vn -0.9733 0.2295 0.0076 +vn 0.0000 -0.9909 -0.1343 +vn 0.0000 -0.9808 0.1951 +vn 0.0000 -0.8660 -0.5000 +vn 0.0000 -0.5000 -0.8660 +vn 0.0000 -0.9914 -0.1305 +vn 0.0000 -0.2744 -0.9616 +vn 0.0000 -0.8008 -0.5989 +vn 0.0000 -0.1305 -0.9914 +vn 0.0000 0.8822 0.4709 +vn 0.0000 0.4719 0.8817 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.9871 0.1602 0.0000 +vn 0.9224 0.3863 0.0000 +vn 0.3827 0.9239 -0.0000 +vn -0.3827 -0.9239 0.0000 +vn 0.9675 -0.2527 0.0000 +vn -0.9239 0.3827 -0.0000 +vn -0.9675 -0.2527 -0.0000 +vn 0.7497 -0.6618 0.0000 +vn 0.9285 0.3714 0.0000 +vn 0.5547 -0.8321 0.0000 +vn -0.7497 -0.6618 -0.0000 +vn -0.9871 0.1602 -0.0000 +vn -0.9285 0.3714 -0.0000 +vn -0.5547 -0.8321 0.0000 +vn -0.9906 0.1368 -0.0000 +vn -0.7972 -0.6037 -0.0000 +vn 0.7972 -0.6037 0.0000 +vn -0.6037 -0.7972 0.0000 +vn 0.9239 0.3827 0.0000 +vn 0.6901 -0.6901 0.2181 +vn -0.6901 -0.6901 0.2181 +vn -0.6901 0.6901 0.2181 +vn 0.6901 0.6901 0.2181 +vn 0.9759 0.0000 0.2181 +vn -0.0000 -0.9759 0.2181 +vn -0.9759 -0.0000 0.2181 +vn 0.0000 0.9759 0.2181 +vn -0.6858 0.6858 0.2434 +vn 0.9699 0.0000 0.2434 +vn -0.0000 -0.9699 0.2434 +vn -0.9699 -0.0000 0.2434 +vn 0.0000 0.9699 0.2434 +vn 0.6858 -0.6858 0.2434 +vn -0.6858 -0.6858 0.2434 +vn 0.6858 0.6858 0.2434 +vn 0.9808 -0.1951 0.0000 +vn -0.9808 0.1951 -0.0000 +vn -0.9808 -0.1951 -0.0000 +vn 0.9808 0.1951 0.0000 +vn 0.9732 -0.2298 0.0000 +vn 0.9732 0.2298 0.0000 +vn 0.7501 0.6613 0.0078 +vn 0.8944 0.4472 0.0000 +vn 0.9675 0.2527 0.0000 +vn -0.9675 0.2527 -0.0000 +vn 0.2587 -0.9658 0.0164 +vn -0.2587 -0.9658 0.0164 +vn 0.9658 -0.2587 0.0164 +vn 0.7070 -0.7070 0.0165 +vn 0.9658 0.2587 0.0164 +vn 0.9529 0.3034 0.0013 +vn 0.9972 0.0737 -0.0141 +vn -0.7070 -0.7070 0.0165 +vn -0.9658 -0.2587 0.0164 +vn -0.9658 0.2587 0.0164 +vn -0.9529 0.3034 0.0013 +vn -0.5626 0.8267 0.0078 +vn -0.9972 0.0737 -0.0141 +vn -0.9005 0.4348 -0.0073 +vn 0.9005 0.4348 -0.0073 +vn 0.9135 0.4060 -0.0262 +vn -0.1452 -0.3671 0.9188 +vn 0.1981 -0.5913 0.7817 +vn 0.1452 -0.3671 0.9188 +vn 0.3316 0.5046 -0.7971 +vn -0.2171 0.6491 -0.7290 +vn 0.2171 0.6491 -0.7290 +vn -0.1981 -0.5913 0.7817 +vn 0.1909 -0.2085 0.9592 +vn 0.1257 0.3641 -0.9228 +vn -0.1909 -0.2085 0.9592 +vn -0.0577 -0.2625 -0.9632 +vn 0.0577 -0.2625 -0.9632 +vn 0.0000 -0.5735 0.8192 +vn 0.0000 -0.6407 -0.7678 +vn -0.2221 -0.8356 0.5024 +vn 0.1664 -0.6204 0.7665 +vn 0.2221 -0.8356 0.5024 +vn 0.0000 -0.4472 -0.8944 +vn 0.3162 0.0000 0.9487 +vn 0.1251 0.0000 0.9921 +vn -0.1664 -0.6204 0.7665 +vn -0.1647 -0.8707 -0.4634 +vn 0.1574 -0.8728 -0.4621 +vn 0.1647 -0.8707 -0.4634 +vn -0.3158 0.4243 -0.8487 +vn 0.3158 0.4243 -0.8487 +vn 0.4257 -0.6798 0.5972 +vn 0.3781 -0.2402 0.8941 +vn 0.3421 -0.4253 0.8379 +vn 0.4258 -0.6015 0.6760 +vn 0.8970 0.1977 -0.3953 +vn 0.8992 0.2330 -0.3704 +vn 0.8599 0.3129 -0.4032 +vn 0.8941 0.1096 -0.4342 +vn 0.4212 -0.8013 -0.4248 +vn 0.3942 -0.8092 -0.4357 +vn -0.1251 -0.0000 0.9921 +vn -0.8970 0.1977 -0.3953 +vn -0.8992 0.2330 -0.3704 +vn -0.8599 0.3129 -0.4032 +vn -0.8941 0.1096 -0.4342 +vn -0.4213 -0.8013 -0.4248 +vn -0.1574 -0.8728 -0.4621 +vn -0.3942 -0.8092 -0.4357 +vn -0.3162 -0.0000 0.9487 +vn -0.3781 -0.2402 0.8941 +vn -0.4258 -0.6015 0.6760 +vn -0.3421 -0.4253 0.8379 +vn -0.4257 -0.6798 0.5972 +vn -0.3316 0.5046 -0.7971 +vn -0.1257 0.3641 -0.9228 +vn 0.0000 -0.1602 0.9871 +vn 0.0000 -0.5257 0.8507 +vn 0.0000 -0.9871 0.1602 +vn 0.0000 -0.9571 -0.2898 +vn 0.0000 -0.8507 0.5257 +vn 0.0000 -0.8321 -0.5547 +vn 0.0000 0.1602 -0.9871 +vn 0.0000 0.5257 -0.8507 +vn 0.0000 0.8507 -0.5257 +vn 0.0000 0.9871 -0.1602 +vn 0.0000 0.9571 0.2898 +vn 0.0000 0.8321 0.5547 +vn 0.6763 0.7307 -0.0931 +vn 0.0000 0.9915 -0.1298 +vn -0.6763 0.7307 -0.0931 +vn -0.6906 0.7182 -0.0846 +vn 0.0000 0.9864 -0.1644 +vn 0.6906 0.7182 -0.0846 +vn -0.9135 0.4060 -0.0262 +vn 0.8315 0.5556 0.0000 +vn -0.8315 0.5556 -0.0000 +vn -0.8315 -0.5556 -0.0000 +vn 0.8315 -0.5556 0.0000 +vn 0.0000 0.3770 -0.9262 +vn 0.0000 0.3714 -0.9285 +vn 0.0000 0.3770 0.9262 +vn 0.0000 0.3714 0.9285 +vn -0.3827 0.0000 0.9239 +vn 0.3827 0.0000 0.9239 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.2298 0.9732 0.0000 +vn 0.4472 0.8944 0.0000 +vn -0.4472 0.8944 0.0000 +vn -0.2298 0.9732 0.0000 +s off +f 70/1/1 71/2/1 69/3/1 +f 73/4/2 72/5/2 74/6/2 +f 76/7/3 70/1/3 69/3/3 +f 74/8/4 76/7/4 73/9/4 +f 75/10/5 72/11/5 70/12/5 +f 109/13/6 108/14/6 107/15/6 +f 112/16/3 116/17/3 108/14/3 +f 115/18/2 111/19/2 110/20/2 +f 143/21/2 140/22/2 141/23/2 +f 145/24/4 142/25/4 143/26/4 +f 150/27/2 149/28/2 148/29/2 +f 140/22/7 142/30/7 144/31/7 +f 145/32/6 141/23/6 139/33/6 +f 139/34/1 140/22/1 138/35/1 +f 171/36/6 49/37/6 53/38/6 +f 176/39/6 171/36/6 175/40/6 +f 55/41/8 186/42/8 54/43/8 +f 196/44/9 195/45/9 201/46/9 +f 202/47/9 187/48/9 55/49/9 +f 191/50/8 190/51/8 202/52/8 +f 192/53/8 202/54/8 201/55/8 +f 192/53/10 195/56/10 193/57/10 +f 186/42/11 194/58/11 54/43/11 +f 198/59/1 199/60/1 200/61/1 +f 205/62/1 188/63/1 189/64/1 +f 58/65/8 56/66/8 203/67/8 +f 193/57/1 205/68/1 189/64/1 +f 248/69/1 259/70/1 257/71/1 +f 256/72/1 259/70/1 261/73/1 +f 301/74/8 305/75/8 300/76/8 +f 303/77/8 304/78/8 302/79/8 +f 305/75/8 302/79/8 304/78/8 +f 301/74/7 308/80/7 302/79/7 +f 300/81/3 307/82/3 301/74/3 +f 302/79/2 309/83/2 303/84/2 +f 307/82/1 306/85/1 311/86/1 +f 310/87/1 309/88/1 308/80/1 +f 307/82/1 310/87/1 308/80/1 +f 407/89/2 392/90/2 393/91/2 +f 394/92/2 407/89/2 393/91/2 +f 409/93/2 394/92/2 395/94/2 +f 410/95/2 395/94/2 396/96/2 +f 411/97/2 396/96/2 397/98/2 +f 398/99/2 411/97/2 397/98/2 +f 415/100/3 405/101/3 404/102/3 +f 414/103/3 404/102/3 403/104/3 +f 402/105/3 414/103/3 403/104/3 +f 413/106/3 401/107/3 417/108/3 +f 418/109/3 401/107/3 400/110/3 +f 418/109/3 399/111/3 419/112/3 +f 462/113/1 463/114/1 461/115/1 +f 463/114/7 465/116/7 461/115/7 +f 462/113/1 468/117/1 464/118/1 +f 466/119/8 469/120/8 465/116/8 +f 465/116/3 462/121/3 461/115/3 +f 470/122/2 463/114/2 464/123/2 +f 470/124/8 472/125/8 469/120/8 +f 462/121/12 472/126/12 467/127/12 +f 471/128/13 464/123/13 468/129/13 +f 479/130/2 475/131/2 473/132/2 +f 476/133/3 474/134/3 477/135/3 +f 484/136/2 475/131/2 478/137/2 +f 474/134/3 483/138/3 477/135/3 +f 473/132/2 486/139/2 485/140/2 +f 491/141/3 480/142/3 476/133/3 +f 499/143/2 495/144/2 496/145/2 +f 498/146/3 493/147/3 488/148/3 +f 500/149/2 502/150/2 499/143/2 +f 497/151/3 504/152/3 498/146/3 +f 502/153/8 501/154/8 482/155/8 +f 504/152/7 502/150/7 503/156/7 +f 513/157/7 509/158/7 514/159/7 +f 516/160/7 511/161/7 512/162/7 +f 507/163/8 513/164/8 519/165/8 +f 505/166/8 516/167/8 512/168/8 +f 517/169/8 520/170/8 505/166/8 +f 517/169/8 507/163/8 519/165/8 +f 519/165/8 528/171/8 521/172/8 +f 525/173/8 526/174/8 520/170/8 +f 520/170/8 527/175/8 519/165/8 +f 523/176/8 517/169/8 522/177/8 +f 519/165/8 522/177/8 517/169/8 +f 520/170/8 517/169/8 524/178/8 +f 537/179/7 540/180/7 538/181/7 +f 542/182/7 540/180/7 539/183/7 +f 508/184/1 514/185/1 509/186/1 +f 515/187/1 506/188/1 511/161/1 +f 506/188/1 537/189/1 518/190/1 +f 508/184/1 518/190/1 538/191/1 +f 538/191/1 518/190/1 537/189/1 +f 545/192/6 543/193/6 544/194/6 +f 545/192/6 548/195/6 546/196/6 +f 550/197/1 535/198/1 549/199/1 +f 547/200/1 531/201/1 548/195/1 +f 530/202/1 548/195/1 531/201/1 +f 550/197/1 536/203/1 535/198/1 +f 534/204/1 549/199/1 535/198/1 +f 547/200/1 532/205/1 531/201/1 +f 547/200/1 549/199/1 533/206/1 +f 548/195/1 529/207/1 550/197/1 +f 516/208/3 537/209/3 515/210/3 +f 538/211/2 513/212/2 514/213/2 +f 503/214/1 483/138/1 484/136/1 +f 552/215/7 553/216/7 551/217/7 +f 554/218/8 555/219/8 553/216/8 +f 562/220/1 561/221/1 558/222/1 +f 553/223/2 561/221/2 563/224/2 +f 562/220/3 559/225/3 554/218/3 +f 70/1/1 72/5/1 71/2/1 +f 73/4/2 71/2/2 72/5/2 +f 76/7/3 75/226/3 70/1/3 +f 74/8/4 75/10/4 76/7/4 +f 75/10/5 74/8/5 72/11/5 +f 109/13/6 110/20/6 108/14/6 +f 114/227/3 116/17/3 112/16/3 +f 116/17/3 107/15/3 108/14/3 +f 110/20/2 109/13/2 115/18/2 +f 115/18/2 113/228/2 111/19/2 +f 143/21/2 142/30/2 140/22/2 +f 145/24/4 144/229/4 142/25/4 +f 147/230/2 146/231/2 148/29/2 +f 146/231/2 144/232/2 150/27/2 +f 148/29/2 146/231/2 150/27/2 +f 144/232/2 145/233/2 150/27/2 +f 146/234/7 133/235/7 144/31/7 +f 133/235/7 138/236/7 144/31/7 +f 138/236/7 140/22/7 144/31/7 +f 139/33/6 137/237/6 145/32/6 +f 137/237/6 150/238/6 145/32/6 +f 145/32/6 143/21/6 141/23/6 +f 139/34/1 141/23/1 140/22/1 +f 171/36/6 152/239/6 49/37/6 +f 176/39/6 152/239/6 171/36/6 +f 55/41/8 187/240/8 186/42/8 +f 56/241/9 57/242/9 201/46/9 +f 57/242/9 196/44/9 201/46/9 +f 196/44/9 207/243/9 195/45/9 +f 202/47/9 190/244/9 187/48/9 +f 192/53/8 191/50/8 202/54/8 +f 192/53/10 201/245/10 195/56/10 +f 186/42/11 188/63/11 194/58/11 +f 200/61/1 206/246/1 208/247/1 +f 208/247/1 207/248/1 200/61/1 +f 207/248/1 196/249/1 200/61/1 +f 196/249/1 197/250/1 200/61/1 +f 197/250/1 198/59/1 200/61/1 +f 205/62/1 194/251/1 188/63/1 +f 58/65/8 57/252/8 56/66/8 +f 56/66/8 204/253/8 203/67/8 +f 203/67/8 61/254/8 58/65/8 +f 61/254/8 60/255/8 58/65/8 +f 60/255/8 59/256/8 58/65/8 +f 193/57/1 195/257/1 205/68/1 +f 248/69/1 246/258/1 259/70/1 +f 256/72/1 257/71/1 259/70/1 +f 259/70/1 260/259/1 261/73/1 +f 261/73/1 262/260/1 263/261/1 +f 263/261/1 256/72/1 261/73/1 +f 305/75/8 301/74/8 302/79/8 +f 301/74/7 307/82/7 308/80/7 +f 300/81/3 306/262/3 307/82/3 +f 302/79/2 308/80/2 309/83/2 +f 307/82/1 311/86/1 310/87/1 +f 407/89/2 406/263/2 392/90/2 +f 394/92/2 408/264/2 407/89/2 +f 409/93/2 408/265/2 394/92/2 +f 410/95/2 409/266/2 395/94/2 +f 411/97/2 410/95/2 396/96/2 +f 398/99/2 412/267/2 411/97/2 +f 415/100/3 416/268/3 405/101/3 +f 414/103/3 415/100/3 404/102/3 +f 402/105/3 413/269/3 414/103/3 +f 413/106/3 402/105/3 401/107/3 +f 418/109/3 417/270/3 401/107/3 +f 418/109/3 400/110/3 399/111/3 +f 462/113/1 464/118/1 463/114/1 +f 463/114/7 466/119/7 465/116/7 +f 462/113/1 467/271/1 468/117/1 +f 466/119/8 470/124/8 469/120/8 +f 465/116/3 469/272/3 462/121/3 +f 470/122/2 466/119/2 463/114/2 +f 470/124/8 471/273/8 472/125/8 +f 462/121/12 469/272/12 472/126/12 +f 471/128/13 470/122/13 464/123/13 +f 479/130/2 478/137/2 475/131/2 +f 476/133/3 480/142/3 474/134/3 +f 484/136/2 482/155/2 475/131/2 +f 474/134/3 481/274/3 483/138/3 +f 485/140/2 492/275/2 479/130/2 +f 479/130/2 473/132/2 485/140/2 +f 476/133/3 489/276/3 491/141/3 +f 491/141/3 490/277/3 480/142/3 +f 496/145/2 494/278/2 500/149/2 +f 500/149/2 499/143/2 496/145/2 +f 488/148/3 487/279/3 497/151/3 +f 497/151/3 498/146/3 488/148/3 +f 500/149/2 503/156/2 502/150/2 +f 497/151/3 501/280/3 504/152/3 +f 501/154/8 475/131/8 482/155/8 +f 482/155/8 481/281/8 502/153/8 +f 481/281/8 474/282/8 502/153/8 +f 504/152/7 501/280/7 502/150/7 +f 513/157/7 510/283/7 509/158/7 +f 516/160/7 515/187/7 511/161/7 +f 507/163/8 510/284/8 513/164/8 +f 505/166/8 520/170/8 516/167/8 +f 521/172/8 522/177/8 519/165/8 +f 519/165/8 527/175/8 528/171/8 +f 526/174/8 527/175/8 520/170/8 +f 520/170/8 524/178/8 525/173/8 +f 523/176/8 524/178/8 517/169/8 +f 537/179/7 539/183/7 540/180/7 +f 542/182/7 541/285/7 540/180/7 +f 508/184/1 538/191/1 514/185/1 +f 515/187/1 537/189/1 506/188/1 +f 545/192/6 546/196/6 543/193/6 +f 545/192/6 547/200/6 548/195/6 +f 530/202/1 529/207/1 548/195/1 +f 550/197/1 529/207/1 536/203/1 +f 534/204/1 533/206/1 549/199/1 +f 547/200/1 533/206/1 532/205/1 +f 516/208/3 520/286/3 537/209/3 +f 538/211/2 519/287/2 513/212/2 +f 484/136/1 478/137/1 504/288/1 +f 503/214/1 477/135/1 483/138/1 +f 484/136/1 504/288/1 503/214/1 +f 552/215/7 554/218/7 553/216/7 +f 554/218/8 556/289/8 555/219/8 +f 561/221/1 557/290/1 558/222/1 +f 558/222/1 560/291/1 562/220/1 +f 560/291/1 559/225/1 562/220/1 +f 563/224/2 551/292/2 553/223/2 +f 553/223/2 557/290/2 561/221/2 +f 554/218/3 552/215/3 564/293/3 +f 564/293/3 562/220/3 554/218/3 +s 1 +f 18/294/14 6/295/15 14/296/16 +f 3/297/17 29/298/18 7/299/19 +f 268/300/20 269/301/2 20/302/21 +f 30/303/22 34/304/22 22/305/23 +f 5/306/24 19/307/25 15/308/26 +f 2/309/27 271/310/20 268/300/20 +f 21/311/28 269/301/2 270/312/29 +f 6/295/15 15/308/26 14/296/16 +f 31/313/3 30/303/22 16/314/30 +f 30/315/31 42/316/32 34/317/32 +f 33/318/33 39/319/34 31/320/34 +f 35/321/35 45/322/36 43/323/37 +f 35/321/35 40/324/38 32/325/39 +f 32/326/39 41/327/40 33/318/33 +f 31/320/34 38/328/31 30/315/31 +f 44/329/41 37/330/42 36/331/41 +f 34/317/32 44/329/41 36/331/41 +f 45/332/3 44/333/3 42/334/3 +f 36/335/3 23/336/43 4/337/44 +f 24/338/45 48/339/46 47/340/47 +f 8/341/46 51/342/47 52/343/46 +f 52/344/48 9/345/3 8/346/48 +f 47/340/47 46/347/49 33/348/50 +f 37/349/50 28/350/51 23/336/43 +f 51/342/47 35/351/49 50/352/49 +f 32/353/49 50/352/49 35/351/49 +f 17/354/52 31/313/3 16/314/30 +f 79/355/53 78/356/54 77/357/53 +f 93/358/55 85/359/56 86/360/55 +f 91/361/57 86/360/55 84/362/57 +f 88/363/58 82/364/59 81/365/58 +f 94/366/6 84/362/57 87/367/6 +f 92/368/56 83/369/60 85/359/56 +f 90/370/60 81/365/58 83/369/60 +f 77/357/53 89/371/59 79/355/53 +f 85/372/3 77/357/3 95/373/3 +f 102/374/61 100/375/62 96/376/61 +f 104/377/1 99/378/63 98/379/1 +f 106/380/62 95/381/1 100/375/62 +f 105/382/63 96/376/61 99/378/63 +f 103/383/64 98/379/1 97/384/64 +f 92/385/2 93/386/2 101/387/2 +f 80/388/54 97/384/64 78/356/54 +f 132/389/63 123/390/1 124/391/63 +f 130/392/64 121/393/6 122/394/64 +f 128/395/65 119/396/8 120/397/65 +f 126/398/66 117/399/7 118/400/66 +f 125/401/7 124/391/63 117/399/7 +f 131/402/1 122/394/64 123/390/1 +f 129/403/6 120/397/65 121/404/6 +f 127/405/8 118/400/66 119/396/8 +f 132/406/3 125/407/3 129/408/3 +f 146/234/31 134/409/66 133/235/31 +f 134/409/66 148/410/8 135/411/8 +f 149/412/65 137/237/38 136/413/65 +f 135/414/8 149/412/65 136/413/65 +f 47/415/8 153/416/8 154/417/8 +f 157/418/8 159/419/8 155/420/8 +f 48/421/8 152/422/8 153/416/8 +f 151/423/8 158/424/8 156/425/8 +f 185/426/13 172/427/67 168/428/68 +f 165/429/11 304/430/69 164/431/69 +f 167/432/70 158/433/9 159/434/70 +f 158/433/9 160/435/10 156/436/71 +f 163/437/72 305/438/11 165/429/11 +f 157/439/73 167/432/70 159/434/70 +f 165/440/8 162/441/8 166/442/8 +f 46/443/8 47/415/8 151/423/8 +f 158/424/8 47/415/8 154/417/8 +f 46/444/7 168/428/7 50/445/7 +f 51/446/1 168/428/1 169/447/1 +f 52/448/1 169/447/1 170/449/1 +f 171/450/1 52/448/1 170/449/1 +f 168/451/68 173/452/74 169/453/74 +f 170/454/75 175/40/75 171/36/75 +f 169/453/74 174/455/76 170/454/76 +f 154/456/77 179/457/78 155/458/78 +f 152/239/79 177/459/79 153/460/79 +f 157/439/12 179/457/78 180/461/12 +f 153/460/80 178/462/77 154/456/77 +f 184/463/1 180/464/1 181/465/1 +f 178/466/1 173/467/1 180/464/1 +f 178/466/1 174/468/1 173/467/1 +f 175/469/1 177/470/1 176/471/1 +f 49/472/81 64/473/3 65/474/12 +f 11/475/7 65/474/12 66/476/7 +f 49/472/81 48/477/48 1/478/82 +f 68/479/2 62/480/27 3/481/83 +f 54/482/81 204/483/23 55/49/84 +f 199/484/7 59/485/13 60/486/7 +f 197/487/2 57/242/10 58/488/2 +f 200/489/12 60/486/7 61/490/12 +f 198/491/13 58/488/2 59/485/13 +f 191/492/13 187/493/85 190/494/85 +f 186/495/85 67/496/13 68/479/2 +f 188/497/85 68/479/2 13/498/2 +f 12/499/13 188/497/85 13/498/2 +f 67/496/13 192/500/69 66/476/7 +f 193/501/69 12/499/13 11/475/7 +f 66/476/7 193/501/69 11/475/7 +f 201/46/70 202/47/70 55/49/84 +f 195/45/70 208/502/23 205/503/23 +f 205/503/23 206/504/3 194/505/81 +f 200/489/12 61/490/12 54/43/81 +f 63/506/1 62/507/1 67/508/1 +f 225/509/86 216/510/6 217/511/27 +f 223/512/87 214/513/3 215/514/23 +f 221/515/88 212/516/7 213/517/12 +f 219/518/89 210/519/2 211/520/13 +f 218/521/90 217/511/27 210/519/2 +f 224/522/91 215/514/23 216/523/6 +f 222/524/92 213/517/12 214/513/3 +f 220/525/93 211/520/13 212/516/7 +f 229/526/94 220/525/93 221/515/88 +f 219/518/89 226/527/95 218/521/90 +f 226/528/95 225/509/86 218/521/90 +f 232/529/96 223/512/87 224/522/91 +f 230/530/97 221/515/88 222/524/92 +f 228/531/98 219/518/89 220/525/93 +f 233/532/99 224/533/91 225/509/86 +f 223/512/87 230/534/97 222/524/92 +f 234/535/2 233/536/99 226/537/95 +f 240/538/6 231/539/100 232/540/96 +f 238/541/3 229/542/94 230/543/97 +f 236/544/7 227/545/101 228/546/98 +f 241/547/27 232/548/96 233/536/99 +f 239/549/23 230/543/97 231/539/100 +f 237/550/12 228/546/98 229/542/94 +f 235/551/13 226/537/95 227/545/101 +f 248/552/102 249/553/2 242/554/2 +f 262/555/6 267/556/27 263/557/27 +f 244/558/12 252/559/3 245/560/3 +f 259/561/103 264/562/3 260/563/3 +f 245/560/3 253/564/104 246/565/104 +f 242/554/2 250/566/13 243/567/13 +f 260/563/3 265/568/23 261/569/23 +f 256/570/2 254/571/105 257/572/105 +f 263/557/27 258/573/2 256/570/2 +f 261/569/23 266/574/6 262/575/6 +f 247/576/103 246/565/104 253/564/104 +f 257/572/105 255/577/102 248/552/102 +f 272/578/2 27/579/106 26/580/107 +f 25/581/108 270/312/29 275/582/109 +f 275/582/109 29/298/18 25/581/108 +f 29/298/18 273/583/29 26/580/107 +f 273/584/42 278/585/41 272/586/41 +f 272/586/41 277/587/32 271/588/32 +f 271/588/32 276/589/31 268/590/31 +f 275/591/39 280/592/37 274/593/35 +f 269/594/34 283/595/40 270/596/33 +f 268/590/31 282/597/34 269/594/34 +f 283/595/40 275/598/39 270/596/33 +f 281/599/2 283/600/2 282/601/2 +f 274/593/35 279/602/36 273/584/42 +f 299/603/63 290/604/1 291/605/63 +f 297/606/64 288/607/6 289/608/64 +f 295/609/65 286/610/8 287/611/65 +f 293/612/66 284/613/7 285/614/66 +f 292/615/7 291/605/63 284/613/7 +f 298/616/1 289/608/64 290/604/1 +f 296/617/6 287/611/65 288/618/6 +f 294/619/8 285/614/66 286/610/8 +f 296/620/3 298/621/3 292/622/3 +f 304/430/69 162/623/85 164/431/69 +f 310/624/69 184/625/11 183/626/69 +f 311/627/11 182/628/72 184/625/11 +f 309/629/110 183/626/69 181/630/85 +f 306/631/111 300/632/111 157/439/73 +f 156/633/71 303/634/110 309/635/110 +f 14/636/16 319/637/112 318/638/113 +f 19/639/25 319/637/112 15/640/26 +f 19/639/25 321/641/114 320/642/115 +f 21/643/28 321/641/114 20/644/21 +f 25/645/108 312/646/116 21/643/28 +f 3/647/17 313/648/117 25/645/108 +f 313/648/117 3/647/17 322/649/118 +f 18/650/14 318/638/113 317/651/119 +f 18/650/14 316/652/120 16/653/30 +f 16/653/30 315/654/121 17/655/52 +f 24/656/45 315/654/121 314/657/122 +f 24/656/45 314/657/122 1/658/123 +f 314/657/122 323/659/124 1/658/123 +f 322/660/7 1/661/7 323/662/7 +f 314/663/1 317/664/1 321/665/1 +f 248/69/1 242/666/1 431/667/1 +f 8/668/1 9/669/1 28/670/1 +f 7/671/1 29/672/1 13/673/1 +f 28/350/51 324/674/125 23/336/43 +f 29/298/18 26/580/107 325/675/126 +f 13/673/127 29/672/18 325/676/126 +f 350/677/128 331/678/129 330/679/130 +f 338/680/131 359/681/132 339/682/133 +f 351/683/134 332/684/135 331/678/129 +f 359/681/132 340/685/136 339/682/133 +f 352/686/137 333/687/130 332/688/135 +f 340/685/136 361/689/138 341/690/139 +f 353/691/128 334/692/129 333/687/130 +f 346/693/140 327/694/140 326/695/140 +f 361/689/138 342/696/141 341/690/139 +f 354/697/134 335/698/135 334/692/129 +f 347/699/142 328/700/143 327/694/144 +f 342/696/141 363/701/145 343/702/145 +f 378/703/146 335/698/135 336/704/147 +f 348/705/148 329/706/135 328/700/143 +f 363/701/145 344/707/8 343/702/145 +f 356/708/149 337/709/150 336/704/151 +f 349/710/137 330/679/130 329/711/135 +f 357/712/152 338/680/131 337/709/153 +f 328/700/143 366/713/154 327/694/144 +f 367/714/155 328/700/143 329/706/135 +f 330/679/130 368/715/156 329/711/135 +f 367/714/155 329/711/135 368/715/156 +f 370/716/155 331/678/129 332/684/135 +f 331/678/129 368/715/156 330/679/130 +f 369/717/157 368/715/156 331/678/129 +f 333/687/130 371/718/156 332/688/135 +f 332/688/135 371/718/156 370/716/155 +f 373/719/155 334/692/129 335/698/135 +f 334/692/129 371/718/156 333/687/130 +f 372/720/157 371/718/156 334/692/129 +f 378/721/2 374/722/158 373/723/2 +f 338/680/131 375/724/159 337/709/153 +f 374/725/158 337/709/153 375/724/159 +f 339/682/133 376/726/160 338/680/131 +f 375/724/159 338/680/131 376/726/160 +f 340/685/136 377/727/161 339/682/133 +f 376/726/160 339/682/133 377/727/161 +f 341/690/139 377/727/161 340/685/136 +f 374/728/162 378/729/163 336/704/151 +f 335/698/135 378/703/146 373/719/155 +f 371/730/2 372/731/2 370/732/2 +f 368/733/2 369/734/2 367/735/2 +f 373/723/2 374/722/158 372/731/2 +f 374/722/158 375/736/159 372/731/2 +f 372/731/2 375/736/159 370/732/2 +f 370/732/2 375/736/159 369/734/2 +f 369/734/2 375/736/159 367/735/2 +f 375/736/159 376/737/160 367/735/2 +f 367/735/2 376/737/160 366/738/2 +f 376/737/160 377/739/161 366/738/2 +f 377/739/161 341/740/2 326/741/2 +f 327/742/2 366/738/2 326/741/2 +f 343/743/2 344/744/2 342/745/2 +f 344/744/2 345/746/2 342/745/2 +f 345/746/2 326/741/2 341/740/2 +f 342/745/2 345/746/2 341/740/2 +f 366/738/2 377/739/161 326/741/2 +f 337/709/150 374/728/162 336/704/151 +f 356/708/164 335/698/135 355/747/137 +f 391/748/3 386/749/3 387/750/165 +f 384/751/3 383/752/3 385/753/3 +f 381/754/3 380/755/3 382/756/3 +f 386/749/3 385/753/3 387/750/165 +f 387/750/165 385/753/3 388/757/166 +f 385/753/3 383/752/3 388/757/166 +f 383/752/3 382/756/3 388/757/166 +f 382/756/3 380/755/3 388/757/166 +f 388/757/166 380/755/3 389/758/167 +f 380/755/3 379/759/3 389/758/167 +f 389/758/167 379/759/3 390/760/168 +f 387/761/169 357/712/170 356/708/149 +f 387/761/169 356/708/149 391/762/171 +f 356/708/164 355/747/137 391/763/172 +f 391/763/172 355/747/137 386/764/173 +f 354/697/134 386/764/173 355/747/137 +f 385/765/174 354/697/134 384/766/175 +f 354/697/134 353/691/128 384/766/175 +f 353/691/128 352/686/137 384/766/175 +f 384/766/175 352/686/137 383/767/173 +f 351/683/134 383/767/173 352/768/137 +f 382/769/174 351/683/134 381/770/175 +f 351/683/134 350/677/128 381/770/175 +f 350/677/128 349/710/137 381/770/175 +f 381/770/175 349/710/137 380/771/173 +f 348/705/148 380/771/173 349/772/137 +f 348/705/148 347/699/142 379/773/176 +f 387/774/165 388/775/166 357/712/152 +f 357/712/152 388/775/166 358/776/177 +f 388/775/166 389/777/167 358/776/177 +f 358/776/177 389/777/167 359/681/132 +f 389/777/167 390/778/168 359/681/132 +f 359/681/132 390/778/168 360/779/178 +f 361/689/138 360/779/178 390/778/168 +f 347/780/3 346/781/3 379/759/3 +f 379/759/3 346/781/3 390/760/168 +f 390/760/168 346/781/3 361/782/3 +f 346/781/3 365/783/3 361/782/3 +f 361/782/3 365/783/3 362/784/3 +f 363/785/3 362/784/3 364/786/3 +f 364/786/3 362/784/3 365/783/3 +f 400/110/179 394/92/180 393/91/179 +f 403/104/181 397/98/182 396/96/181 +f 401/107/180 395/94/183 394/92/180 +f 399/111/1 393/91/179 392/90/1 +f 404/102/182 398/99/184 397/98/182 +f 402/105/183 396/96/181 395/94/183 +f 407/89/185 419/787/8 406/263/8 +f 408/264/186 418/788/185 407/89/185 +f 409/789/187 417/790/186 408/264/186 +f 414/791/188 409/789/187 410/792/188 +f 415/793/189 410/792/188 411/794/189 +f 416/795/190 411/794/189 412/796/190 +f 13/673/127 325/676/126 420/797/191 +f 11/798/192 422/799/193 10/800/194 +f 422/799/193 11/798/192 421/801/195 +f 420/797/191 421/801/195 11/798/192 +f 11/798/192 12/802/196 420/797/191 +f 13/673/127 420/797/191 12/802/196 +f 28/670/51 9/669/197 324/803/125 +f 10/800/194 422/799/193 9/669/197 +f 324/803/125 9/669/197 422/799/193 +f 435/804/198 243/567/13 250/566/13 +f 244/558/12 434/805/199 251/806/12 +f 434/807/8 435/808/8 253/809/8 +f 425/810/1 448/811/1 447/812/1 +f 440/813/3 428/814/23 427/815/3 +f 437/816/13 425/810/7 424/817/13 +f 442/818/27 423/819/2 429/820/27 +f 441/821/23 433/822/200 428/823/23 +f 438/824/7 426/825/12 425/810/7 +f 444/826/200 432/827/199 433/828/200 +f 439/829/12 427/815/3 426/825/12 +f 443/830/201 429/820/27 430/831/201 +f 436/832/2 424/817/13 423/819/2 +f 453/833/3 452/834/12 445/835/3 +f 431/836/198 443/830/201 430/831/201 +f 426/825/1 449/837/1 448/838/1 +f 428/814/1 449/839/1 427/815/1 +f 425/810/1 446/840/1 424/817/1 +f 424/817/1 445/841/1 423/819/1 +f 423/819/1 452/842/1 429/820/1 +f 430/843/1 452/844/1 451/845/1 +f 433/846/1 450/847/1 428/814/1 +f 451/848/1 433/849/1 432/850/1 +f 459/851/7 450/852/13 451/853/7 +f 457/854/2 448/855/27 449/856/2 +f 455/857/6 446/858/23 447/859/6 +f 460/860/12 451/861/7 452/834/12 +f 458/862/13 449/856/2 450/852/13 +f 456/863/27 447/859/6 448/855/27 +f 454/864/23 445/835/3 446/858/23 +f 454/865/8 438/824/8 437/816/8 +f 453/866/8 437/816/8 436/832/8 +f 460/867/8 436/832/8 442/818/8 +f 438/824/8 456/868/8 439/829/8 +f 439/829/8 457/869/8 440/813/8 +f 457/870/8 441/871/8 440/813/8 +f 443/872/8 460/873/8 442/818/8 +f 458/874/8 444/875/8 441/871/8 +f 459/876/8 443/877/8 435/808/8 +f 480/878/202 502/879/203 474/880/203 +f 488/881/7 492/882/63 485/883/7 +f 487/884/66 485/883/7 486/885/66 +f 491/886/7 495/887/66 490/888/66 +f 489/889/63 496/890/7 491/886/7 +f 480/878/202 495/887/66 499/891/202 +f 487/884/66 473/892/202 497/893/202 +f 479/894/204 493/895/63 498/896/204 +f 494/897/63 476/898/204 500/899/204 +f 503/900/205 476/898/204 477/135/205 +f 497/893/202 475/901/203 501/902/203 +f 479/894/204 504/903/205 478/137/205 +f 518/904/7 505/905/85 506/906/85 +f 512/162/2 506/906/85 505/905/85 +f 508/907/72 510/283/3 507/908/72 +f 508/907/72 517/909/7 518/904/7 +f 527/910/7 536/911/12 528/912/12 +f 525/913/2 534/914/13 526/915/13 +f 523/916/6 532/917/27 524/918/27 +f 521/919/3 530/920/23 522/921/23 +f 528/912/12 529/922/3 521/919/3 +f 526/915/13 535/923/7 527/924/7 +f 524/918/27 533/925/2 525/913/2 +f 522/921/23 531/926/6 523/916/6 +f 542/927/206 543/193/207 541/928/207 +f 540/929/208 543/193/207 546/930/208 +f 544/194/206 539/931/209 545/932/209 +f 23/933/8 324/934/8 325/935/8 +f 555/936/210 557/937/211 553/938/211 +f 554/939/212 560/940/213 556/941/213 +f 560/940/213 555/936/210 556/941/213 +f 3/481/83 209/942/6 565/943/6 +f 565/943/6 63/944/23 1/945/82 +f 581/946/66 572/947/8 573/948/66 +f 579/949/65 570/950/6 571/951/65 +f 577/952/64 568/953/1 569/954/64 +f 575/955/63 566/956/7 567/957/63 +f 574/958/7 573/948/66 566/956/7 +f 580/959/8 571/951/65 572/947/8 +f 578/960/6 569/954/64 570/961/6 +f 576/962/1 567/957/63 568/953/1 +f 581/963/2 574/964/2 578/965/2 +f 18/294/14 22/305/23 6/295/15 +f 3/297/17 25/581/108 29/298/18 +f 18/294/14 16/314/30 30/303/22 +f 34/304/22 4/337/44 22/305/23 +f 18/294/14 30/303/22 22/305/23 +f 5/306/24 2/309/27 19/307/25 +f 20/302/21 19/307/25 268/300/20 +f 19/307/25 2/309/27 268/300/20 +f 2/309/27 27/579/106 271/310/20 +f 21/311/28 20/302/21 269/301/2 +f 6/295/15 5/306/24 15/308/26 +f 30/315/31 38/328/31 42/316/32 +f 33/318/33 41/327/40 39/319/34 +f 35/321/35 37/330/42 45/322/36 +f 35/321/35 43/323/37 40/324/38 +f 32/326/39 40/966/38 41/327/40 +f 31/320/34 39/319/34 38/328/31 +f 44/329/41 45/322/36 37/330/42 +f 34/317/32 42/316/32 44/329/41 +f 42/334/3 38/967/3 40/968/3 +f 38/967/3 39/969/3 40/968/3 +f 39/969/3 41/970/3 40/968/3 +f 40/968/3 43/971/3 42/334/3 +f 43/971/3 45/332/3 42/334/3 +f 4/337/44 34/304/22 36/335/3 +f 36/335/3 37/349/50 23/336/43 +f 24/338/45 1/972/123 48/339/46 +f 8/341/46 28/350/51 51/342/47 +f 52/344/48 53/973/81 9/345/3 +f 17/354/52 24/338/45 33/348/50 +f 24/338/45 47/340/47 33/348/50 +f 46/347/49 32/353/49 33/348/50 +f 37/349/50 35/351/49 28/350/51 +f 51/342/47 28/350/51 35/351/49 +f 32/353/49 46/347/49 50/352/49 +f 17/354/52 33/348/50 31/313/3 +f 79/355/53 80/388/54 78/356/54 +f 93/358/55 92/368/56 85/359/56 +f 91/361/57 93/358/55 86/360/55 +f 88/363/58 89/371/59 82/364/59 +f 94/366/6 91/361/57 84/362/57 +f 92/368/56 90/370/60 83/369/60 +f 90/370/60 88/363/58 81/365/58 +f 77/357/53 82/364/59 89/371/59 +f 82/974/3 77/357/3 81/975/3 +f 77/357/3 78/356/3 100/976/3 +f 78/356/3 97/977/3 98/978/3 +f 98/978/3 99/979/3 96/980/3 +f 100/976/3 95/373/3 77/357/3 +f 95/373/3 22/981/3 84/982/3 +f 98/978/3 96/980/3 78/356/3 +f 96/980/3 100/976/3 78/356/3 +f 83/983/3 81/975/3 77/357/3 +f 83/983/3 77/357/3 85/372/3 +f 95/373/3 84/982/3 86/984/3 +f 22/981/3 87/985/3 84/982/3 +f 95/373/3 86/984/3 85/372/3 +f 102/374/61 106/380/62 100/375/62 +f 104/377/1 105/382/63 99/378/63 +f 106/380/62 101/986/1 95/381/1 +f 105/382/63 102/374/61 96/376/61 +f 103/383/64 104/377/1 98/379/1 +f 103/987/2 80/388/2 104/988/2 +f 80/388/2 79/355/2 106/989/2 +f 104/988/2 80/388/2 102/990/2 +f 79/355/2 89/991/2 88/992/2 +f 79/355/2 88/992/2 90/993/2 +f 102/990/2 105/994/2 104/988/2 +f 2/995/2 101/387/2 91/996/2 +f 101/387/2 106/989/2 79/355/2 +f 91/996/2 101/387/2 93/386/2 +f 106/989/2 102/990/2 80/388/2 +f 79/355/2 90/993/2 92/385/2 +f 79/355/2 92/385/2 101/387/2 +f 91/996/2 94/997/2 2/995/2 +f 80/388/54 103/383/64 97/384/64 +f 132/389/63 131/402/1 123/390/1 +f 130/392/64 129/998/6 121/393/6 +f 128/395/65 127/405/8 119/396/8 +f 126/398/66 125/401/7 117/399/7 +f 125/401/7 132/389/63 124/391/63 +f 131/402/1 130/392/64 122/394/64 +f 129/403/6 128/395/65 120/397/65 +f 127/405/8 126/398/66 118/400/66 +f 125/407/3 126/999/3 129/408/3 +f 126/999/3 127/1000/3 129/408/3 +f 127/1000/3 128/1001/3 129/408/3 +f 129/408/3 130/1002/3 131/1003/3 +f 131/1003/3 132/406/3 129/408/3 +f 146/234/31 147/1004/66 134/409/66 +f 134/409/66 147/1004/66 148/410/8 +f 149/412/65 150/238/38 137/237/38 +f 135/414/8 148/1005/8 149/412/65 +f 47/415/8 48/421/8 153/416/8 +f 48/421/8 49/1006/8 152/422/8 +f 151/1007/13 156/633/13 168/428/68 +f 156/633/13 185/426/13 168/428/68 +f 165/429/11 305/438/11 304/430/69 +f 167/432/70 166/1008/9 158/433/9 +f 158/433/9 166/1008/9 160/435/10 +f 163/437/72 300/1009/111 305/438/11 +f 157/439/73 161/1010/48 167/432/70 +f 165/440/8 164/1011/8 162/441/8 +f 162/441/8 160/1012/8 166/442/8 +f 166/442/8 167/1013/8 165/440/8 +f 167/1013/8 161/1014/8 165/440/8 +f 161/1014/8 163/1015/8 165/440/8 +f 154/417/8 155/420/8 159/419/8 +f 158/424/8 151/423/8 47/415/8 +f 154/417/8 159/419/8 158/424/8 +f 46/444/7 151/1007/7 168/428/7 +f 51/446/1 50/445/1 168/428/1 +f 52/448/1 51/446/1 169/447/1 +f 171/450/1 53/1016/1 52/448/1 +f 168/451/68 172/1017/67 173/452/74 +f 170/454/75 174/455/75 175/40/75 +f 169/453/74 173/452/74 174/455/76 +f 154/456/77 178/462/77 179/457/78 +f 152/239/79 176/39/79 177/459/79 +f 157/439/12 155/458/78 179/457/78 +f 153/460/80 177/459/80 178/462/77 +f 181/465/1 183/1018/1 184/463/1 +f 184/463/1 182/1019/1 180/464/1 +f 180/464/1 185/1020/1 181/465/1 +f 172/1021/1 185/1020/1 173/467/1 +f 185/1020/1 180/464/1 173/467/1 +f 180/464/1 179/1022/1 178/466/1 +f 178/466/1 177/470/1 174/468/1 +f 175/469/1 174/468/1 177/470/1 +f 65/474/12 10/1023/12 49/472/81 +f 10/1023/12 9/345/3 53/973/81 +f 53/973/81 49/472/81 10/1023/12 +f 11/475/7 10/1023/12 65/474/12 +f 63/1024/23 64/473/3 1/478/82 +f 64/473/3 49/472/81 1/478/82 +f 7/1025/10 13/498/2 3/481/83 +f 13/498/2 68/479/2 3/481/83 +f 54/482/81 203/1026/3 204/483/23 +f 199/484/7 198/491/13 59/485/13 +f 197/487/2 196/44/10 57/242/10 +f 200/489/12 199/484/7 60/486/7 +f 198/491/13 197/487/2 58/488/2 +f 191/492/13 67/496/13 187/493/85 +f 186/495/85 187/493/85 67/496/13 +f 188/497/85 186/495/85 68/479/2 +f 12/499/13 189/1027/13 188/497/85 +f 67/496/13 191/492/13 192/500/69 +f 193/501/69 189/1027/13 12/499/13 +f 66/476/7 192/500/69 193/501/69 +f 55/49/84 204/483/23 56/241/70 +f 56/241/70 201/46/70 55/49/84 +f 195/45/70 207/243/70 208/502/23 +f 205/503/23 208/502/23 206/504/3 +f 203/1028/3 54/43/81 61/490/12 +f 54/43/81 194/58/81 200/489/12 +f 194/58/81 206/1029/3 200/489/12 +f 65/1030/1 64/1031/1 63/506/1 +f 63/506/1 209/1032/1 62/507/1 +f 62/507/1 68/1033/1 67/508/1 +f 67/508/1 66/1034/1 65/1030/1 +f 65/1030/1 63/506/1 67/508/1 +f 225/509/86 224/533/91 216/510/6 +f 223/512/87 222/524/92 214/513/3 +f 221/515/88 220/525/93 212/516/7 +f 219/518/89 218/521/90 210/519/2 +f 218/521/90 225/509/86 217/511/27 +f 224/522/91 223/512/87 215/514/23 +f 222/524/92 221/515/88 213/517/12 +f 220/525/93 219/518/89 211/520/13 +f 229/526/94 228/1035/98 220/525/93 +f 219/518/89 227/1036/101 226/527/95 +f 226/528/95 233/1037/99 225/509/86 +f 232/529/96 231/1038/100 223/512/87 +f 230/530/97 229/1039/94 221/515/88 +f 228/531/98 227/1040/101 219/518/89 +f 233/532/99 232/1041/96 224/533/91 +f 223/512/87 231/1042/100 230/534/97 +f 234/535/2 241/547/27 233/536/99 +f 240/538/6 239/549/23 231/539/100 +f 238/541/3 237/550/12 229/542/94 +f 236/544/7 235/551/13 227/545/101 +f 241/547/27 240/1043/6 232/548/96 +f 239/549/23 238/541/3 230/543/97 +f 237/550/12 236/544/7 228/546/98 +f 235/551/13 234/535/2 226/537/95 +f 248/552/102 255/577/102 249/553/2 +f 262/555/6 266/1044/6 267/556/27 +f 244/558/12 251/806/12 252/559/3 +f 259/561/103 247/576/103 264/562/3 +f 245/560/3 252/559/3 253/564/104 +f 242/554/2 249/553/2 250/566/13 +f 260/563/3 264/562/3 265/568/23 +f 256/570/2 258/573/2 254/571/105 +f 263/557/27 267/556/27 258/573/2 +f 261/569/23 265/568/23 266/574/6 +f 247/576/103 259/561/103 246/565/104 +f 257/572/105 254/571/105 255/577/102 +f 26/580/107 273/583/29 272/578/2 +f 272/578/2 271/310/20 27/579/106 +f 25/581/108 21/311/28 270/312/29 +f 275/582/109 274/1045/109 29/298/18 +f 29/298/18 274/1045/109 273/583/29 +f 273/584/42 279/602/36 278/585/41 +f 272/586/41 278/585/41 277/587/32 +f 271/588/32 277/587/32 276/589/31 +f 275/591/39 281/1046/38 280/592/37 +f 269/594/34 282/597/34 283/595/40 +f 268/590/31 276/589/31 282/597/34 +f 283/595/40 281/1047/38 275/598/39 +f 282/601/2 276/1048/2 281/599/2 +f 276/1048/2 277/1049/2 281/599/2 +f 277/1049/2 278/1050/2 279/1051/2 +f 279/1051/2 280/1052/2 277/1049/2 +f 280/1052/2 281/599/2 277/1049/2 +f 274/593/35 280/592/37 279/602/36 +f 299/603/63 298/616/1 290/604/1 +f 297/606/64 296/1053/6 288/607/6 +f 295/609/65 294/619/8 286/610/8 +f 293/612/66 292/615/7 284/613/7 +f 292/615/7 299/603/63 291/605/63 +f 298/616/1 297/606/64 289/608/64 +f 296/617/6 295/609/65 287/611/65 +f 294/619/8 293/612/66 285/614/66 +f 292/622/3 293/1054/3 294/1055/3 +f 294/1055/3 295/1056/3 296/620/3 +f 296/620/3 297/1057/3 298/621/3 +f 298/621/3 299/1058/3 292/622/3 +f 292/622/3 294/1055/3 296/620/3 +f 304/430/69 303/1059/110 162/623/85 +f 310/624/69 311/627/11 184/625/11 +f 311/627/11 306/631/111 182/628/72 +f 309/629/110 310/624/69 183/626/69 +f 300/632/111 163/437/72 161/1010/48 +f 157/439/73 180/461/3 306/631/111 +f 180/461/3 182/628/72 306/631/111 +f 300/632/111 161/1010/48 157/439/73 +f 156/633/71 160/1060/10 303/634/110 +f 160/1060/10 162/623/85 303/634/110 +f 181/630/85 185/426/2 309/635/110 +f 185/426/2 156/633/71 309/635/110 +f 14/636/16 15/640/26 319/637/112 +f 19/639/25 320/642/115 319/637/112 +f 19/639/25 20/644/21 321/641/114 +f 21/643/28 312/646/116 321/641/114 +f 25/645/108 313/648/117 312/646/116 +f 18/650/14 14/636/16 318/638/113 +f 18/650/14 317/651/119 316/652/120 +f 16/653/30 316/652/120 315/654/121 +f 24/656/45 17/655/52 315/654/121 +f 322/660/7 3/1061/7 1/661/7 +f 313/1062/1 322/660/1 323/662/1 +f 314/663/1 315/1063/1 317/664/1 +f 315/1063/1 316/1064/1 317/664/1 +f 313/1062/1 323/662/1 314/663/1 +f 321/665/1 312/1065/1 313/1062/1 +f 319/1066/1 320/1067/1 321/665/1 +f 317/664/1 318/1068/1 321/665/1 +f 318/1068/1 319/1066/1 321/665/1 +f 321/665/1 313/1062/1 314/663/1 +f 242/666/1 243/1069/1 431/667/1 +f 431/667/1 432/850/1 246/258/1 +f 432/850/1 244/1070/1 245/1071/1 +f 246/258/1 432/850/1 245/1071/1 +f 246/258/1 248/69/1 431/667/1 +f 350/677/128 351/683/134 331/678/129 +f 338/680/131 358/776/177 359/681/132 +f 351/683/134 352/768/137 332/684/135 +f 359/681/132 360/779/178 340/685/136 +f 352/686/137 353/691/128 333/687/130 +f 340/685/136 360/779/178 361/689/138 +f 353/691/128 354/697/134 334/692/129 +f 346/693/140 347/699/140 327/694/140 +f 361/689/138 362/1072/141 342/696/141 +f 354/697/134 355/747/137 335/698/135 +f 347/699/142 348/705/148 328/700/143 +f 342/696/141 362/1072/141 363/701/145 +f 348/705/148 349/772/137 329/706/135 +f 363/701/145 364/1073/8 344/707/8 +f 356/708/149 357/712/170 337/709/150 +f 349/710/137 350/677/128 330/679/130 +f 357/712/152 358/776/177 338/680/131 +f 367/714/155 366/713/154 328/700/143 +f 370/716/155 369/717/157 331/678/129 +f 373/719/155 372/720/157 334/692/129 +f 356/708/164 336/704/147 335/698/135 +f 354/697/134 385/765/174 386/764/173 +f 351/683/134 382/769/174 383/767/173 +f 348/705/148 379/773/176 380/771/173 +f 400/110/179 401/107/180 394/92/180 +f 403/104/181 404/102/182 397/98/182 +f 401/107/180 402/105/183 395/94/183 +f 399/111/1 400/110/179 393/91/179 +f 404/102/182 405/101/184 398/99/184 +f 402/105/183 403/104/181 396/96/181 +f 407/89/185 418/788/185 419/787/8 +f 408/264/186 417/790/186 418/788/185 +f 409/789/187 413/1074/187 417/790/186 +f 414/791/188 413/1074/187 409/789/187 +f 415/793/189 414/791/188 410/792/188 +f 416/795/190 415/793/189 411/794/189 +f 435/804/198 431/836/198 243/567/13 +f 244/558/12 432/827/199 434/805/199 +f 435/808/8 250/1075/8 249/1076/8 +f 249/1076/8 255/1077/8 435/808/8 +f 255/1077/8 253/809/8 435/808/8 +f 253/809/8 252/1078/8 434/807/8 +f 252/1078/8 251/1079/8 434/807/8 +f 425/810/1 426/825/1 448/811/1 +f 440/813/3 441/871/23 428/814/23 +f 437/816/13 438/824/7 425/810/7 +f 442/818/27 436/832/2 423/819/2 +f 441/821/23 444/1080/200 433/822/200 +f 438/824/7 439/829/12 426/825/12 +f 444/826/200 434/805/199 432/827/199 +f 439/829/12 440/813/3 427/815/3 +f 443/830/201 442/818/27 429/820/27 +f 436/832/2 437/816/13 424/817/13 +f 453/833/3 460/860/12 452/834/12 +f 431/836/198 435/804/198 443/830/201 +f 426/825/1 427/815/1 449/837/1 +f 428/814/1 450/1081/1 449/839/1 +f 425/810/1 447/1082/1 446/840/1 +f 424/817/1 446/1083/1 445/841/1 +f 423/819/1 445/1084/1 452/842/1 +f 430/843/1 429/820/1 452/844/1 +f 433/846/1 451/1085/1 450/847/1 +f 432/850/1 431/667/1 451/848/1 +f 431/667/1 430/1086/1 451/848/1 +f 459/851/7 458/862/13 450/852/13 +f 457/854/2 456/863/27 448/855/27 +f 455/857/6 454/864/23 446/858/23 +f 460/860/12 459/1087/7 451/861/7 +f 458/862/13 457/854/2 449/856/2 +f 456/863/27 455/857/6 447/859/6 +f 454/864/23 453/833/3 445/835/3 +f 454/865/8 455/1088/8 438/824/8 +f 453/866/8 454/1089/8 437/816/8 +f 460/867/8 453/1090/8 436/832/8 +f 438/824/8 455/1091/8 456/868/8 +f 439/829/8 456/1092/8 457/869/8 +f 457/870/8 458/1093/8 441/871/8 +f 443/872/8 459/1094/8 460/873/8 +f 458/874/8 459/1095/8 444/875/8 +f 435/808/8 434/807/8 459/876/8 +f 434/807/8 444/1096/8 459/876/8 +f 480/878/202 499/891/202 502/879/203 +f 488/881/7 493/895/63 492/882/63 +f 487/884/66 488/881/7 485/883/7 +f 491/886/7 496/890/7 495/887/66 +f 489/889/63 494/897/63 496/890/7 +f 480/878/202 490/888/66 495/887/66 +f 487/884/66 486/885/66 473/892/202 +f 479/894/204 492/882/63 493/895/63 +f 494/897/63 489/889/63 476/898/204 +f 503/900/205 500/899/204 476/898/204 +f 497/893/202 473/892/202 475/901/203 +f 479/894/204 498/896/204 504/903/205 +f 518/904/7 517/909/7 505/905/85 +f 512/162/2 511/161/2 506/906/85 +f 508/907/72 509/158/3 510/283/3 +f 508/907/72 507/908/72 517/909/7 +f 527/910/7 535/1097/7 536/911/12 +f 525/913/2 533/925/2 534/914/13 +f 523/916/6 531/926/6 532/917/27 +f 521/919/3 529/922/3 530/920/23 +f 528/912/12 536/911/12 529/922/3 +f 526/915/13 534/914/13 535/923/7 +f 524/918/27 532/917/27 533/925/2 +f 522/921/23 530/920/23 531/926/6 +f 542/927/206 544/194/206 543/193/207 +f 540/929/208 541/928/207 543/193/207 +f 544/194/206 542/927/206 539/931/209 +f 26/1098/8 27/1099/8 4/1100/8 +f 27/1099/8 2/1101/8 22/1102/8 +f 2/1101/8 94/1103/8 87/1104/8 +f 22/1102/8 4/1100/8 27/1099/8 +f 4/1100/8 23/933/8 26/1098/8 +f 2/1101/8 87/1104/8 22/1102/8 +f 325/935/8 26/1098/8 23/933/8 +f 421/1105/8 420/1106/8 422/1107/8 +f 420/1106/8 325/935/8 324/934/8 +f 324/934/8 422/1107/8 420/1106/8 +f 555/936/210 558/1108/210 557/937/211 +f 554/939/212 559/1109/212 560/940/213 +f 560/940/213 558/1108/210 555/936/210 +f 3/481/83 62/480/27 209/942/6 +f 565/943/6 209/942/6 63/944/23 +f 581/946/66 580/959/8 572/947/8 +f 579/949/65 578/1110/6 570/950/6 +f 577/952/64 576/962/1 568/953/1 +f 575/955/63 574/958/7 566/956/7 +f 574/958/7 581/946/66 573/948/66 +f 580/959/8 579/949/65 571/951/65 +f 578/960/6 577/952/64 569/954/64 +f 576/962/1 575/955/63 567/957/63 +f 574/964/2 575/1111/2 578/965/2 +f 575/1111/2 576/1112/2 578/965/2 +f 576/1112/2 577/1113/2 578/965/2 +f 578/965/2 579/1114/2 580/1115/2 +f 580/1115/2 581/963/2 578/965/2 +o Bullet +v 0.099231 -0.186101 -0.254503 +v 0.072726 -0.119658 -0.260095 +v 0.006836 -0.091329 -0.262212 +v -0.059841 -0.117709 -0.259613 +v -0.088247 -0.183345 -0.253822 +v -0.061742 -0.249788 -0.248229 +v 0.004148 -0.278117 -0.246113 +v 0.070825 -0.251737 -0.248711 +v 0.099841 -0.175376 -0.129965 +v 0.073336 -0.108933 -0.135558 +v 0.007446 -0.080604 -0.137675 +v -0.059231 -0.106984 -0.135076 +v -0.087637 -0.172620 -0.129284 +v -0.061132 -0.239063 -0.123692 +v 0.004758 -0.267392 -0.121575 +v 0.071436 -0.241012 -0.124174 +v 0.069510 -0.158829 0.056954 +v 0.051840 -0.114534 0.053226 +v 0.007913 -0.095648 0.051815 +v -0.036538 -0.113234 0.053547 +v -0.055475 -0.156991 0.057409 +v -0.037805 -0.201287 0.061137 +v 0.006122 -0.220173 0.062548 +v 0.050573 -0.202586 0.060816 +v 0.007628 -0.147185 0.181719 +v 0.156232 -0.283547 -1.375568 +v 0.112057 -0.172808 -1.384888 +v 0.002240 -0.125593 -1.388416 +v -0.108889 -0.169560 -1.384085 +v -0.156232 -0.278953 -1.374432 +v -0.112056 -0.389692 -1.365112 +v -0.002240 -0.436907 -1.361584 +v 0.108889 -0.392940 -1.365915 +v 0.159893 -0.219196 -0.628343 +v 0.115718 -0.108457 -0.637663 +v 0.005901 -0.061242 -0.641191 +v -0.105228 -0.105209 -0.636860 +v -0.152571 -0.214602 -0.627207 +v -0.108395 -0.325341 -0.617887 +v 0.001422 -0.372556 -0.614359 +v 0.112550 -0.328589 -0.618690 +v 0.130478 -0.186561 -0.254616 +v 0.095137 -0.097970 -0.262073 +v 0.007284 -0.060198 -0.264895 +v -0.081619 -0.095371 -0.261431 +v -0.119494 -0.182886 -0.253708 +v -0.084153 -0.271477 -0.246252 +v 0.003700 -0.309249 -0.243429 +v 0.092603 -0.274075 -0.246894 +v 0.129257 -0.208011 -0.503692 +v 0.093917 -0.119420 -0.511148 +v 0.006063 -0.081648 -0.513970 +v -0.082840 -0.116821 -0.510506 +v -0.120714 -0.204336 -0.502783 +v -0.085374 -0.292927 -0.495327 +v 0.002480 -0.330699 -0.492504 +v 0.091383 -0.295526 -0.495969 +vt 0.776062 0.513514 +vt 0.772201 0.505791 +vt 0.776062 0.505791 +vt 0.799228 0.513514 +vt 0.795367 0.505791 +vt 0.799228 0.505791 +vt 0.791506 0.513514 +vt 0.787645 0.505791 +vt 0.791506 0.505791 +vt 0.783784 0.513514 +vt 0.779923 0.505791 +vt 0.783784 0.505791 +vt 0.772201 0.513514 +vt 0.768340 0.505791 +vt 0.795367 0.513514 +vt 0.787645 0.513514 +vt 0.779923 0.513514 +vt 0.772201 0.525097 +vt 0.768340 0.513514 +vt 0.795367 0.525097 +vt 0.783784 0.525097 +vt 0.776062 0.525097 +vt 0.799228 0.525097 +vt 0.791506 0.525097 +vt 0.774131 0.532819 +vt 0.779923 0.525097 +vt 0.781853 0.532819 +vt 0.787645 0.525097 +vt 0.785714 0.532819 +vt 0.793436 0.532819 +vt 0.768340 0.525097 +vt 0.770270 0.532819 +vt 0.777992 0.532819 +vt 0.789575 0.532819 +vt 0.797297 0.532819 +vt 0.745174 0.494208 +vt 0.698842 0.501930 +vt 0.698842 0.494208 +vt 0.745174 0.509652 +vt 0.698842 0.517375 +vt 0.698842 0.509652 +vt 0.745174 0.525097 +vt 0.698842 0.532819 +vt 0.698842 0.525097 +vt 0.745174 0.532819 +vt 0.698842 0.540541 +vt 0.745174 0.486486 +vt 0.698842 0.486486 +vt 0.745174 0.501930 +vt 0.745174 0.517375 +vt 0.745174 0.540541 +vt 0.698842 0.548263 +vt 0.768340 0.517375 +vt 0.752896 0.509652 +vt 0.768340 0.509652 +vt 0.768340 0.532819 +vt 0.752896 0.525097 +vt 0.768340 0.525097 +vt 0.768340 0.540541 +vt 0.752896 0.532819 +vt 0.768340 0.494208 +vt 0.752896 0.486486 +vt 0.768340 0.486486 +vt 0.752896 0.501930 +vt 0.768340 0.501930 +vt 0.752896 0.517375 +vt 0.768340 0.548263 +vt 0.752896 0.540541 +vt 0.752896 0.494208 +vt 0.752896 0.501158 +vt 0.752896 0.508880 +vt 0.752896 0.516602 +vt 0.752896 0.524324 +vt 0.752896 0.525869 +vt 0.752896 0.532046 +vt 0.752896 0.539768 +vt 0.745174 0.548263 +vt 0.752896 0.541313 +vt 0.752896 0.547490 +vt 0.752896 0.493436 +vt 0.787645 0.494208 +vt 0.795367 0.486486 +vt 0.803089 0.494208 +vt 0.777992 0.505791 +vt 0.787645 0.496139 +vt 0.777992 0.486486 +vt 0.752896 0.548263 +vt 0.752896 0.494981 +vt 0.752896 0.502703 +vt 0.752896 0.510425 +vt 0.752896 0.518147 +vt 0.752896 0.533591 +vt 0.752896 0.487259 +vt 0.800827 0.499669 +vt 0.795367 0.501930 +vt 0.789907 0.499669 +vt 0.789907 0.488748 +vt 0.800827 0.488748 +vt 0.784818 0.502964 +vt 0.784818 0.489314 +vt 0.771167 0.489314 +vt 0.768340 0.496139 +vt 0.771167 0.502964 +vn 0.9970 -0.0077 0.0770 +vn 0.6969 -0.7148 0.0581 +vn 0.9999 -0.0147 -0.0036 +vn -0.0139 -0.9860 0.1662 +vn -0.7172 -0.6940 0.0633 +vn -0.0143 -0.9962 0.0859 +vn -0.9962 0.0216 0.0842 +vn -0.6969 0.7148 -0.0581 +vn -0.9999 0.0147 0.0036 +vn 0.0147 0.9999 -0.0050 +vn 0.7172 0.6940 -0.0633 +vn 0.0143 0.9962 -0.0859 +vn 0.6950 -0.7055 0.1385 +vn -0.7144 -0.6848 0.1437 +vn -0.6942 0.7194 0.0226 +vn 0.7152 0.6987 0.0175 +vn 0.6665 -0.6564 0.3534 +vn -0.6829 -0.6366 0.3583 +vn 0.0151 0.9763 0.2160 +vn 0.9556 0.0116 0.2945 +vn -0.0122 -0.9250 0.3799 +vn -0.9527 0.0397 0.3014 +vn 0.0049 0.0858 0.9963 +vn 0.6858 0.6879 0.2376 +vn -0.6635 0.7078 0.2425 +vn -0.7115 -0.6789 0.1811 +vn -0.6914 0.7199 0.0605 +vn 0.7127 0.6993 0.0554 +vn 0.9934 -0.0044 0.1147 +vn -0.0137 -0.9790 0.2035 +vn -0.9922 0.0248 0.1219 +vn 0.0148 0.9993 0.0330 +vn 0.6925 -0.6996 0.1760 +vn -0.6907 0.7199 0.0678 +vn 0.7121 0.6993 0.0627 +vn 0.9925 -0.0038 0.1219 +vn -0.0136 -0.9775 0.2107 +vn -0.9913 0.0254 0.1291 +vn 0.0148 0.9991 0.0403 +vn 0.6920 -0.6983 0.1832 +vn -0.7108 -0.6777 0.1883 +vn -0.0049 -0.0858 -0.9963 +s 1 +f 590/1116/214 589/1117/215 582/1118/216 +f 596/1119/217 587/1120/218 588/1121/219 +f 594/1122/220 585/1123/221 586/1124/222 +f 592/1125/223 583/1126/224 584/1127/225 +f 597/1128/226 588/1129/219 589/1117/215 +f 595/1130/227 586/1124/222 587/1120/218 +f 593/1131/228 584/1127/225 585/1123/221 +f 591/1132/229 582/1118/216 583/1126/224 +f 605/1133/230 596/1134/217 597/1128/226 +f 603/1135/231 594/1122/220 595/1130/227 +f 593/1131/228 600/1136/232 592/1125/223 +f 591/1132/229 598/1137/233 590/1116/214 +f 598/1137/233 597/1128/226 590/1116/214 +f 604/1138/234 595/1130/227 596/1119/217 +f 602/1139/235 593/1131/228 594/1122/220 +f 600/1136/232 591/1132/229 592/1125/223 +f 605/1133/230 598/1137/233 606/1140/236 +f 599/1141/237 600/1136/232 606/1142/236 +f 600/1136/232 601/1143/238 606/1144/236 +f 602/1139/235 603/1135/231 606/1145/236 +f 604/1146/234 605/1133/230 606/1147/236 +f 598/1137/233 599/1141/237 606/1148/236 +f 601/1143/238 602/1139/235 606/1149/236 +f 603/1135/231 604/1138/234 606/1150/236 +f 620/1151/239 611/1152/222 612/1153/218 +f 618/1154/240 609/1155/225 610/1156/221 +f 616/1157/241 607/1158/216 608/1159/224 +f 615/1160/242 614/1161/215 607/1158/216 +f 621/1162/243 612/1153/218 613/1163/219 +f 619/1164/244 610/1156/221 611/1152/222 +f 617/1165/245 608/1159/224 609/1155/225 +f 622/1166/246 613/1167/219 614/1161/215 +f 625/1168/225 634/1169/247 626/1170/221 +f 623/1171/216 632/1172/248 624/1173/224 +f 630/1174/215 631/1175/249 623/1171/216 +f 628/1176/218 637/1177/250 629/1178/219 +f 626/1170/221 635/1179/251 627/1180/222 +f 624/1173/224 633/1181/252 625/1168/225 +f 629/1182/219 638/1183/253 630/1174/215 +f 627/1180/222 636/1184/254 628/1176/218 +f 620/1151/239 635/1185/251 619/1164/244 +f 619/1164/244 634/1186/247 618/1154/240 +f 618/1154/240 633/1187/252 617/1165/245 +f 617/1165/245 632/1188/248 616/1157/241 +f 615/1160/242 632/1189/248 631/1190/249 +f 615/1160/242 638/1191/253 622/1166/246 +f 621/1192/243 638/1193/253 637/1194/250 +f 621/1162/243 636/1195/254 620/1151/239 +f 627/1196/236 629/1197/236 623/1198/236 +f 609/1199/255 607/1200/255 613/1201/255 +f 590/1116/214 597/1128/226 589/1117/215 +f 596/1119/217 595/1130/227 587/1120/218 +f 594/1122/220 593/1131/228 585/1123/221 +f 592/1125/223 591/1132/229 583/1126/224 +f 597/1128/226 596/1134/217 588/1129/219 +f 595/1130/227 594/1122/220 586/1124/222 +f 593/1131/228 592/1125/223 584/1127/225 +f 591/1132/229 590/1116/214 582/1118/216 +f 605/1133/230 604/1146/234 596/1134/217 +f 603/1135/231 602/1139/235 594/1122/220 +f 593/1131/228 601/1143/238 600/1136/232 +f 591/1132/229 599/1141/237 598/1137/233 +f 598/1137/233 605/1133/230 597/1128/226 +f 604/1138/234 603/1135/231 595/1130/227 +f 602/1139/235 601/1143/238 593/1131/228 +f 600/1136/232 599/1141/237 591/1132/229 +f 620/1151/239 619/1164/244 611/1152/222 +f 618/1154/240 617/1165/245 609/1155/225 +f 616/1157/241 615/1160/242 607/1158/216 +f 615/1160/242 622/1166/246 614/1161/215 +f 621/1162/243 620/1151/239 612/1153/218 +f 619/1164/244 618/1154/240 610/1156/221 +f 617/1165/245 616/1157/241 608/1159/224 +f 622/1166/246 621/1192/243 613/1167/219 +f 625/1168/225 633/1181/252 634/1169/247 +f 623/1171/216 631/1175/249 632/1172/248 +f 630/1174/215 638/1183/253 631/1175/249 +f 628/1176/218 636/1184/254 637/1177/250 +f 626/1170/221 634/1169/247 635/1179/251 +f 624/1173/224 632/1172/248 633/1181/252 +f 629/1182/219 637/1202/250 638/1183/253 +f 627/1180/222 635/1179/251 636/1184/254 +f 620/1151/239 636/1203/254 635/1185/251 +f 619/1164/244 635/1204/251 634/1186/247 +f 618/1154/240 634/1205/247 633/1187/252 +f 617/1165/245 633/1206/252 632/1188/248 +f 615/1160/242 616/1157/241 632/1189/248 +f 615/1160/242 631/1207/249 638/1191/253 +f 621/1192/243 622/1166/246 638/1193/253 +f 621/1162/243 637/1208/250 636/1195/254 +f 623/1198/236 624/1209/236 625/1210/236 +f 625/1210/236 626/1211/236 627/1196/236 +f 627/1196/236 628/1212/236 629/1197/236 +f 629/1197/236 630/1213/236 623/1198/236 +f 623/1198/236 625/1210/236 627/1196/236 +f 609/1199/255 608/1214/255 607/1200/255 +f 607/1200/255 614/1215/255 613/1201/255 +f 613/1201/255 612/1216/255 609/1199/255 +f 612/1216/255 611/1217/255 609/1199/255 +f 611/1217/255 610/1218/255 609/1199/255 +o Guide_And_Bolt +v -0.156250 0.625000 0.125000 +v -0.093750 0.468750 0.125000 +v -0.281250 0.343750 0.125000 +v -0.343750 0.218750 0.125000 +v 0.156250 0.625000 0.125000 +v 0.093750 0.468750 0.125000 +v 0.281250 0.343750 0.125000 +v 0.343750 0.218750 0.125000 +v -0.093750 0.218750 0.125000 +v -0.218750 0.093750 0.125000 +v 0.093750 0.218750 0.125000 +v 0.218750 0.093750 0.125000 +v -0.343750 0.218750 -1.750000 +v -0.281250 0.343750 -1.750000 +v -0.093750 0.468750 -1.750000 +v -0.156250 0.625000 -1.750000 +v -0.093750 0.218750 0.875000 +v -0.218750 0.093750 0.875000 +v 0.093750 0.218750 0.875000 +v 0.218750 0.093750 0.875000 +v -0.218750 -0.093750 0.875000 +v 0.218750 -0.093750 0.875000 +v -0.093750 -0.218750 0.875000 +v 0.093750 -0.218750 0.875000 +v 0.110485 0.735485 0.125000 +v -0.000000 0.781250 0.125000 +v -0.110486 0.514515 0.125000 +v -0.000000 0.468750 0.125000 +v 0.110485 0.514515 0.125000 +v 0.156250 0.625000 5.125000 +v 0.110485 0.735486 5.125000 +v -0.000000 0.781250 5.125000 +v -0.110486 0.735486 5.125000 +v -0.156250 0.625000 5.125000 +v -0.110486 0.514515 5.125000 +v -0.000000 0.468750 5.125000 +v 0.110485 0.514515 5.125000 +vt 0.347490 0.509652 +vt 0.335907 0.494208 +vt 0.347490 0.498069 +vt 0.355212 0.521236 +vt 0.355212 0.486486 +vt 0.370656 0.490348 +vt 0.362934 0.498069 +vt 0.362934 0.482625 +vt 0.370656 0.517375 +vt 0.362934 0.525097 +vt 0.362934 0.509652 +vt 0.335907 0.505791 +vt 0.220077 0.517375 +vt 0.220077 0.505791 +vt 0.208494 0.471042 +vt 0.262548 0.482625 +vt 0.208494 0.482625 +vt 0.208494 0.447876 +vt 0.262548 0.459459 +vt 0.208494 0.459459 +vt 0.335907 0.490348 +vt 0.220077 0.482625 +vt 0.335907 0.482625 +vt 0.220077 0.490348 +vt 0.281853 0.447876 +vt 0.289575 0.467181 +vt 0.270270 0.474903 +vt 0.598456 0.440154 +vt 0.289575 0.447876 +vt 0.289575 0.440154 +vt 0.598456 0.471042 +vt 0.289575 0.463320 +vt 0.598456 0.463320 +vt 0.598456 0.432432 +vt 0.289575 0.432432 +vt 0.598456 0.447876 +vt 0.289575 0.455598 +vt 0.598456 0.455598 +vt 0.598456 0.461390 +vt 0.608108 0.451737 +vt 0.617761 0.461390 +vt 0.335907 0.513514 +vt 0.335907 0.517375 +vt 0.262548 0.471042 +vt 0.262548 0.447876 +vt 0.262548 0.467181 +vt 0.262548 0.455598 +vt 0.270270 0.447876 +vt 0.289575 0.455598 +vt 0.281853 0.474903 +vt 0.289575 0.471042 +vt 0.598456 0.455598 +vt 0.289575 0.455598 +vt 0.614933 0.468215 +vt 0.608108 0.471042 +vt 0.601283 0.468215 +vt 0.601283 0.454565 +vt 0.614933 0.454565 +vn -0.0000 0.0000 1.0000 +vn -0.9550 0.2966 -0.0000 +vn -0.9285 -0.3714 -0.0000 +vn 0.3827 0.9239 -0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 -0.0000 +vn -0.3827 0.9239 -0.0000 +vn -0.7497 0.6618 -0.0000 +vn -0.8944 0.4472 -0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.3827 -0.9239 0.0000 +vn -0.9239 -0.3827 -0.0000 +vn 0.9239 0.3827 0.0000 +vn -0.0000 0.0000 -1.0000 +s 1 +f 644/1219/256 639/1220/256 640/1221/256 +f 645/1222/256 640/1221/256 641/1223/256 +f 648/1224/256 647/1225/256 642/1226/256 +f 650/1227/256 646/1228/256 649/1229/256 +f 649/1229/256 646/1228/256 645/1222/256 +f 640/1230/257 654/1231/258 653/1232/257 +f 649/1233/259 658/1234/260 650/1235/260 +f 648/1236/261 655/1237/262 647/1238/262 +f 641/1239/263 651/1240/264 642/1241/264 +f 655/1237/262 649/1233/259 647/1238/262 +f 640/1230/257 652/1242/263 641/1239/263 +f 662/1243/256 658/1244/256 655/1245/256 +f 674/1246/265 665/1247/266 666/1248/265 +f 664/1249/259 669/1250/260 663/1251/260 +f 675/1252/267 666/1248/265 667/1253/267 +f 673/1254/266 639/1255/268 665/1247/266 +f 669/1250/260 643/1256/269 663/1251/260 +f 674/1257/270 672/1258/270 670/1259/270 +f 644/1219/256 643/1260/256 639/1220/256 +f 645/1222/256 644/1219/256 640/1221/256 +f 645/1222/256 641/1223/256 647/1225/256 +f 641/1223/256 642/1226/256 647/1225/256 +f 647/1225/256 649/1229/256 645/1222/256 +f 640/1230/257 639/1261/258 654/1231/258 +f 649/1233/259 657/1262/259 658/1234/260 +f 648/1236/261 656/1263/261 655/1237/262 +f 641/1239/263 652/1242/263 651/1240/264 +f 655/1237/262 657/1262/259 649/1233/259 +f 640/1230/257 653/1232/257 652/1242/263 +f 655/1245/256 656/1264/256 659/1265/256 +f 659/1265/256 661/1266/256 662/1243/256 +f 662/1243/256 660/1267/256 658/1244/256 +f 658/1244/256 657/1268/256 655/1245/256 +f 655/1245/256 659/1265/256 662/1243/256 +f 674/1246/265 673/1254/266 665/1247/266 +f 664/1249/259 670/1269/259 669/1250/260 +f 675/1252/267 674/1246/265 666/1248/265 +f 673/1254/266 672/1270/268 639/1255/268 +f 669/1250/260 668/1271/269 643/1256/269 +f 670/1259/270 669/1272/270 668/1273/270 +f 668/1273/270 675/1274/270 670/1259/270 +f 675/1274/270 674/1257/270 670/1259/270 +f 674/1257/270 673/1275/270 672/1258/270 +f 672/1258/270 671/1276/270 670/1259/270 +o Handle +v -0.034864 0.545839 5.218752 +v -0.034864 0.545839 5.343752 +v 0.080621 0.593674 5.156252 +v 0.253848 0.665427 5.343752 +v 0.369333 0.713263 5.156252 +v 0.427075 0.737180 5.343752 +v 0.253848 0.665427 5.593752 +v 0.427075 0.737180 5.593752 +v -0.080629 0.656323 5.218752 +v -0.080629 0.656323 5.343752 +v 0.034856 0.704159 5.156252 +v 0.208084 0.775912 5.343752 +v 0.323568 0.823748 5.156252 +v 0.381311 0.847665 5.343752 +v 0.208084 0.775912 5.593752 +v 0.381311 0.847665 5.593752 +v 0.357393 0.905408 5.656252 +v 0.450993 0.679438 5.656252 +v 0.357393 0.905408 6.031252 +v 0.450993 0.679438 6.031252 +v 0.184166 0.833655 5.656252 +v 0.277766 0.607685 5.656252 +v 0.184166 0.833655 5.968752 +v 0.277766 0.607685 5.968752 +vt 0.277992 0.416988 +vt 0.285714 0.409266 +vt 0.285714 0.416988 +vt 0.258687 0.409266 +vt 0.277992 0.409266 +vt 0.243243 0.416988 +vt 0.258687 0.416988 +vt 0.343629 0.420849 +vt 0.339768 0.416988 +vt 0.339768 0.409266 +vt 0.258687 0.378378 +vt 0.239382 0.389961 +vt 0.235521 0.378378 +vt 0.239382 0.436293 +vt 0.258687 0.447876 +vt 0.235521 0.447876 +vt 0.243243 0.409266 +vt 0.343629 0.405405 +vt 0.366795 0.405405 +vt 0.366795 0.420849 +vt 0.258687 0.389961 +vt 0.258687 0.436293 +vt 0.277992 0.436293 +vt 0.289575 0.424710 +vt 0.277992 0.447876 +vt 0.262548 0.436293 +vt 0.277992 0.389961 +vt 0.289575 0.382239 +vt 0.289575 0.401544 +vt 0.277992 0.378378 +vt 0.262548 0.389961 +vt 0.262548 0.378378 +vt 0.324324 0.409266 +vt 0.293436 0.416988 +vt 0.312741 0.409266 +vt 0.312741 0.416988 +vt 0.293436 0.409266 +vt 0.324324 0.416988 +vt 0.239382 0.420849 +vt 0.262548 0.447876 +vt 0.220077 0.405405 +vt 0.239382 0.405405 +vt 0.208494 0.405405 +vt 0.220077 0.420849 +vt 0.208494 0.420849 +vt 0.289575 0.444015 +vn -0.9239 -0.3827 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.9239 0.3827 -0.0000 +vn -0.3827 0.9239 -0.0000 +vn 0.3827 -0.9239 0.0000 +vn 0.3536 -0.8536 -0.3827 +vn -0.3536 0.8536 -0.3827 +vn 0.9119 0.3777 -0.1602 +vn -0.2123 -0.0879 -0.9732 +vn -0.0000 0.0000 -1.0000 +vn -0.4132 -0.1711 -0.8944 +vn 0.8765 0.3630 -0.3162 +vn -0.2706 0.6533 -0.7071 +vn 0.2706 -0.6533 -0.7071 +vn -0.7495 -0.3104 0.5847 +vn -0.2922 -0.1210 0.9487 +s off +f 677/1277/271 684/1278/271 676/1279/271 +f 677/1277/272 687/1280/272 685/1281/272 +f 682/1282/271 687/1280/271 679/1283/271 +f 693/1284/273 683/1285/273 691/1286/273 +f 692/1287/274 698/1288/274 694/1289/274 +f 699/1290/275 693/1291/275 695/1292/275 +f 677/1277/271 685/1281/271 684/1278/271 +f 677/1277/272 679/1283/272 687/1280/272 +f 682/1282/271 690/1293/271 687/1280/271 +f 691/1286/273 692/1294/273 693/1284/273 +f 692/1294/273 694/1295/273 693/1284/273 +f 694/1295/273 695/1296/273 693/1284/273 +f 692/1287/274 696/1297/274 698/1288/274 +f 699/1290/275 697/1298/275 693/1291/275 +s 1 +f 679/1299/275 677/1277/275 678/1300/275 +f 681/1301/275 682/1302/276 679/1299/275 +f 687/1303/274 688/1304/274 686/1305/274 +f 689/1306/274 690/1307/277 691/1308/277 +f 683/1285/273 689/1309/278 691/1286/273 +f 678/1310/279 688/1311/280 680/1312/280 +f 678/1310/279 684/1278/281 686/1313/279 +f 680/1312/282 689/1309/278 681/1314/278 +f 697/1315/271 690/1293/271 682/1282/271 +f 692/1287/283 690/1307/277 696/1297/283 +f 683/1316/276 697/1298/284 682/1302/276 +f 697/1315/271 698/1317/285 696/1318/271 +f 694/1319/286 699/1320/285 695/1321/286 +f 677/1277/275 676/1279/275 678/1300/275 +f 678/1300/275 680/1322/275 679/1299/275 +f 680/1322/275 681/1301/275 679/1299/275 +f 681/1301/275 683/1316/276 682/1302/276 +f 686/1305/274 684/1278/274 685/1281/274 +f 687/1303/274 689/1306/274 688/1304/274 +f 686/1305/274 685/1281/274 687/1303/274 +f 689/1306/274 687/1303/274 690/1307/277 +f 683/1285/273 681/1314/278 689/1309/278 +f 678/1310/279 686/1313/279 688/1311/280 +f 678/1310/279 676/1279/281 684/1278/281 +f 680/1312/282 688/1311/282 689/1309/278 +f 697/1315/271 696/1318/271 690/1293/271 +f 692/1287/283 691/1308/277 690/1307/277 +f 683/1316/276 693/1291/284 697/1298/284 +f 697/1315/271 699/1320/285 698/1317/285 +f 694/1319/286 698/1317/285 699/1320/285 +o Plug +v 0.156250 0.625000 5.437500 +v 0.110485 0.735485 5.437500 +v -0.000000 0.781250 5.125000 +v -0.110486 0.735485 5.125000 +v -0.156250 0.625000 5.125000 +v -0.110486 0.514514 5.125000 +v -0.000000 0.468750 5.125000 +v 0.110485 0.514514 5.125000 +v 0.156250 0.625000 6.000000 +v 0.110485 0.735485 6.000000 +v -0.000000 0.781250 6.000000 +v -0.110486 0.514514 5.687500 +v -0.156250 0.625000 5.687500 +v 0.110485 0.735485 5.125000 +v 0.156250 0.625000 5.125000 +v 0.110485 0.514514 6.000000 +v -0.110486 0.514514 6.000000 +v -0.156250 0.625000 6.000000 +v -0.110486 0.735485 6.000000 +v -0.000000 0.468750 6.000000 +vt 0.181467 0.602317 +vt 0.193050 0.598456 +vt 0.189189 0.602317 +vt 0.208494 0.579151 +vt 0.193050 0.598456 +vt 0.193050 0.563707 +vt 0.181467 0.509652 +vt 0.189189 0.486486 +vt 0.189189 0.509652 +vt 0.204633 0.602317 +vt 0.196911 0.602317 +vt 0.177606 0.579151 +vt 0.193050 0.563707 +vt 0.194084 0.547229 +vt 0.180433 0.547229 +vt 0.180433 0.560879 +vt 0.177606 0.598456 +vt 0.208494 0.598456 +vt 0.181467 0.486486 +vt 0.194084 0.560879 +vt 0.196911 0.554054 +vt 0.187259 0.544402 +vt 0.177606 0.554054 +vt 0.187259 0.563707 +vt 0.196911 0.544402 +vt 0.196911 0.490348 +vt 0.189189 0.544402 +vt 0.173745 0.544402 +vt 0.173745 0.490348 +vt 0.189189 0.490348 +vt 0.181467 0.490348 +vt 0.181467 0.544402 +vn 0.0000 0.0000 -1.0000 +vn -0.3827 0.9239 -0.0000 +vn -0.6048 -0.2505 -0.7560 +vn 0.3827 -0.9239 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.3827 0.9239 -0.0000 +vn 0.6037 0.7972 0.0000 +vn 0.7071 0.7071 -0.0000 +vn 0.9906 -0.1368 0.0000 +vn 0.9239 -0.3827 0.0000 +vn 1.0000 -0.0000 0.0000 +s off +f 702/1323/287 704/1324/287 703/1325/287 +f 700/1326/288 705/1327/288 711/1328/288 +f 700/1329/289 712/1330/289 701/1331/289 +f 705/1327/287 707/1332/287 706/1333/287 +f 704/1324/290 701/1334/290 712/1335/290 +f 718/1336/291 716/1337/291 715/1338/291 +f 702/1323/287 713/1339/287 704/1324/287 +f 700/1326/288 714/1340/288 705/1327/288 +f 700/1329/289 711/1341/289 712/1330/289 +f 705/1327/287 714/1340/287 707/1332/287 +f 704/1324/290 713/1339/290 701/1334/290 +f 709/1342/291 710/1343/291 718/1336/291 +f 718/1336/291 717/1344/291 716/1337/291 +f 716/1337/291 719/1345/291 715/1338/291 +f 715/1338/291 708/1346/291 709/1342/291 +f 709/1342/291 718/1336/291 715/1338/291 +s 1 +f 710/1347/292 701/1331/293 702/1348/292 +f 709/1349/294 700/1329/295 701/1331/293 +f 700/1329/295 715/1350/296 707/1351/296 +f 701/1331/293 713/1352/292 702/1348/292 +f 700/1329/295 707/1351/296 714/1353/296 +f 710/1347/292 709/1349/294 701/1331/293 +f 709/1349/294 708/1354/297 700/1329/295 +f 700/1329/295 708/1354/297 715/1350/296 +o Mag_Paddle +v -0.093750 -1.307663 -1.505856 +v 0.093750 -1.307663 -1.505856 +v 0.093750 -1.281250 -1.562500 +v -0.093750 -1.281250 -1.562500 +v -0.093750 -1.477596 -1.585097 +v 0.093750 -1.477596 -1.585097 +v 0.093750 -1.451182 -1.641741 +v -0.093750 -1.451182 -1.641741 +v 0.156250 -1.534240 -1.611510 +v 0.156250 -1.507827 -1.668155 +v -0.156250 -1.534240 -1.611510 +v -0.156250 -1.507827 -1.668155 +v 0.156250 -1.760817 -1.717165 +v 0.156250 -1.734403 -1.773809 +v -0.156250 -1.760817 -1.717165 +v -0.156250 -1.734403 -1.773809 +vt 0.725869 0.664093 +vt 0.737452 0.652510 +vt 0.737452 0.664093 +vt 0.749035 0.652510 +vt 0.760618 0.664093 +vt 0.749035 0.664093 +vt 0.741313 0.652510 +vt 0.745174 0.664093 +vt 0.741313 0.664093 +vt 0.764479 0.664093 +vt 0.768340 0.652510 +vt 0.768340 0.664093 +vt 0.745174 0.633205 +vt 0.764479 0.633205 +vt 0.764479 0.648649 +vt 0.741313 0.648649 +vt 0.722008 0.648649 +vt 0.725869 0.652510 +vt 0.760618 0.652510 +vt 0.745174 0.652510 +vt 0.764479 0.652510 +vt 0.745174 0.648649 +vt 0.722008 0.633205 +vt 0.741313 0.633205 +vt 0.768340 0.648649 +vt 0.768340 0.633205 +vt 0.745174 0.629344 +vt 0.764479 0.629344 +vn 0.0000 -0.4226 0.9063 +vn 0.0000 0.4226 -0.9063 +vn 1.0000 -0.0000 0.0000 +vn -1.0000 0.0000 -0.0000 +vn 0.9239 0.3468 0.1617 +vn 0.7071 0.6409 0.2988 +vn -0.7071 0.6409 0.2988 +vn -0.9239 0.3468 0.1617 +vn 0.0000 -0.9063 -0.4226 +s off +f 720/1355/298 725/1356/298 721/1357/298 +f 726/1358/299 723/1359/299 722/1360/299 +f 725/1361/300 722/1362/300 721/1363/300 +f 723/1364/301 724/1365/301 720/1366/301 +f 733/1367/299 735/1368/299 731/1369/299 +f 728/1370/298 725/1356/298 730/1371/298 +f 720/1355/298 724/1372/298 725/1356/298 +f 726/1358/299 727/1373/299 723/1359/299 +f 725/1361/300 726/1374/300 722/1362/300 +f 723/1364/301 727/1375/301 724/1365/301 +f 731/1369/299 727/1373/299 726/1358/299 +f 726/1358/299 729/1376/299 731/1369/299 +f 729/1376/299 733/1367/299 731/1369/299 +f 725/1356/298 724/1372/298 730/1371/298 +f 730/1371/298 734/1377/298 732/1378/298 +f 732/1378/298 728/1370/298 730/1371/298 +s 1 +f 728/1370/302 726/1374/303 725/1361/303 +f 727/1375/304 730/1379/305 724/1365/304 +f 730/1379/305 735/1368/301 734/1380/301 +f 728/1370/302 733/1367/300 729/1376/302 +f 732/1381/306 735/1368/306 733/1367/306 +f 728/1370/302 729/1376/302 726/1374/303 +f 727/1375/304 731/1369/305 730/1379/305 +f 730/1379/305 731/1369/305 735/1368/301 +f 728/1370/302 732/1378/300 733/1367/300 +f 732/1381/306 734/1382/306 735/1368/306 +o Magazine +v -0.312500 -3.843750 -1.312500 +v 0.312500 -3.843750 -1.312500 +v -0.312500 -3.593750 0.437500 +v 0.312500 -3.593750 0.437500 +v -0.312500 -0.218750 -1.437500 +v 0.312500 -0.218750 -1.437500 +v -0.312500 -0.218750 0.250000 +v 0.312500 -0.218750 0.250000 +v 0.187500 -0.093750 -1.437500 +v -0.187500 -0.093750 -1.437500 +v -0.125000 -0.093750 -1.437500 +v 0.125000 -0.093750 -1.437500 +v 0.125000 -0.218750 -1.437500 +v -0.125000 -0.218750 -1.437500 +v -0.312500 -0.218750 -0.562500 +v 0.312500 -0.218750 -0.562500 +v 0.187500 -0.093750 -0.687500 +v -0.187500 -0.093750 -0.687500 +v -0.125000 -0.093750 -0.687500 +v 0.125000 -0.093750 -0.687500 +v 0.125000 -0.218750 -0.562500 +v -0.125000 -0.218750 -0.562500 +vt 0.420849 0.328185 +vt 0.312741 0.289575 +vt 0.420849 0.289575 +vt 0.312741 0.328185 +vt 0.104247 0.289575 +vt 0.698842 0.328185 +vt 0.698842 0.316602 +vt 0.749035 0.328185 +vt 0.698842 0.289575 +vt 0.749035 0.289575 +vt 0.698842 0.301158 +vt 0.675676 0.316602 +vt 0.667954 0.359073 +vt 0.667954 0.316602 +vt 0.683398 0.359073 +vt 0.675676 0.316602 +vt 0.683398 0.316602 +vt 0.652510 0.297297 +vt 0.644788 0.301158 +vt 0.644788 0.289575 +vt 0.644788 0.316602 +vt 0.652510 0.320463 +vt 0.644788 0.328185 +vt 0.104247 0.328185 +vt 0.675676 0.366795 +vt 0.675676 0.366795 +vt 0.652510 0.301158 +vt 0.652510 0.316602 +vt 0.656371 0.243243 +vt 0.656371 0.289575 +vt 0.687259 0.362934 +vt 0.687259 0.316602 +vt 0.656371 0.374517 +vt 0.644788 0.382239 +vt 0.664093 0.362934 +vt 0.664093 0.316602 +vt 0.683398 0.374517 +vt 0.694981 0.374517 +vt 0.667954 0.374517 +vt 0.656371 0.374517 +vt 0.436293 0.185328 +vt 0.644788 0.185328 +vt 0.644788 0.235521 +vt 0.644788 0.432432 +vt 0.436293 0.432432 +vt 0.683398 0.362934 +vt 0.656371 0.328185 +vt 0.667954 0.362934 +vn 0.0000 -0.9899 0.1414 +vn 0.0000 0.0555 0.9985 +vn -0.0000 1.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.0000 0.0000 -1.0000 +vn 0.0000 -0.0345 -0.9994 +vn -0.9221 0.3869 -0.0000 +vn -0.7071 0.7071 -0.0000 +vn -0.0000 0.8959 0.4444 +vn 0.9221 0.3869 -0.0000 +vn 0.7071 0.7071 -0.0000 +vn 0.9847 0.1743 0.0000 +vn -0.0000 0.7071 0.7071 +vn -0.9847 0.1743 -0.0000 +vn -0.0000 0.9239 0.3827 +s off +f 737/1383/307 738/1384/307 736/1385/307 +f 739/1386/308 742/1387/308 738/1384/308 +f 751/1388/309 756/1389/309 743/1390/309 +f 750/1391/309 742/1392/309 757/1393/309 +f 748/1394/310 755/1395/310 747/1396/310 +f 754/1397/311 749/1398/311 746/1399/311 +f 745/1400/312 749/1401/312 740/1402/312 +f 748/1403/312 744/1404/312 741/1405/312 +f 756/1389/309 742/1392/309 743/1390/309 +f 748/1403/309 757/1393/309 756/1389/309 +f 748/1403/313 741/1405/313 737/1383/313 +f 737/1383/307 739/1386/307 738/1384/307 +f 739/1386/308 743/1406/308 742/1387/308 +f 748/1394/310 756/1407/310 755/1395/310 +f 754/1397/311 757/1408/311 749/1398/311 +f 745/1400/312 746/1409/312 749/1401/312 +f 748/1403/312 747/1410/312 744/1404/312 +f 756/1389/309 757/1393/309 742/1392/309 +f 748/1403/309 749/1401/309 757/1393/309 +f 737/1383/313 736/1385/313 749/1401/313 +f 736/1385/313 740/1402/313 749/1401/313 +f 749/1401/313 748/1403/313 737/1383/313 +s 1 +f 740/1402/314 753/1411/315 745/1412/315 +f 753/1413/316 746/1399/309 745/1414/309 +f 741/1405/317 752/1415/318 751/1416/319 +f 747/1396/309 752/1417/316 744/1418/309 +f 757/1419/320 753/1413/316 750/1420/320 +f 752/1417/316 756/1421/320 751/1422/320 +f 738/1423/310 742/1424/310 750/1425/321 +f 751/1416/319 743/1426/311 739/1427/311 +f 740/1402/314 750/1425/321 753/1411/315 +f 753/1413/316 754/1428/322 746/1399/309 +f 741/1405/317 744/1429/318 752/1415/318 +f 747/1396/309 755/1430/322 752/1417/316 +f 757/1419/320 754/1428/322 753/1413/316 +f 752/1417/316 755/1430/322 756/1421/320 +f 740/1402/314 736/1385/310 750/1425/321 +f 736/1385/310 738/1423/310 750/1425/321 +f 739/1427/311 737/1383/311 751/1416/319 +f 737/1383/311 741/1405/317 751/1416/319 +o Stock +v 0.343750 -0.343750 -6.625000 +v -0.468750 -0.093750 -6.625000 +v -0.343750 -0.343750 -6.625000 +v -0.468750 0.093750 -6.625000 +v 0.468750 0.093750 -6.625000 +v 0.468750 -0.093750 -6.625000 +v -0.343750 -0.718750 -6.625000 +v 0.343750 -0.718750 -6.625000 +v -0.343750 0.343750 -6.625000 +v 0.343750 0.343750 -6.625000 +v 0.154680 0.735485 -6.625000 +v 0.000000 0.781250 -6.625000 +v -0.154679 0.735485 -6.625000 +v 0.156250 0.343750 -7.375000 +v -0.156250 0.343750 -7.375000 +v 0.406250 0.093750 -7.375000 +v 0.406250 -0.093750 -7.375000 +v 0.343750 -0.343750 -7.625000 +v 0.156250 0.218750 -7.625000 +v -0.156250 0.218750 -7.625000 +v 0.156250 0.156250 -8.000000 +v -0.156250 0.156250 -8.000000 +v 0.156251 0.156249 -12.125000 +v -0.156249 0.156249 -12.125000 +v 0.343750 0.031250 -8.000000 +v 0.343751 0.031249 -12.125000 +v 0.343750 -0.656250 -7.250000 +v 0.218750 -0.781250 -7.250000 +v -0.218750 -0.781250 -7.250000 +v 0.156251 -2.406250 -12.125000 +v 0.343751 -2.218750 -12.125000 +v -0.156249 -2.406250 -12.125000 +v 0.343750 0.031250 -7.625000 +v -0.343750 -0.656250 -7.250000 +v -0.343750 -0.343750 -7.625000 +v -0.343749 -2.218750 -12.125000 +v -0.343749 0.031249 -12.125000 +v -0.343750 0.031250 -8.000000 +v -0.343750 0.031250 -7.625000 +v -0.406250 0.093750 -7.375000 +v -0.406250 -0.093750 -7.375000 +v 0.156251 0.156249 -12.500000 +v -0.156249 0.156249 -12.500000 +v 0.343751 0.031249 -12.500000 +v 0.156251 -2.406250 -12.500000 +v 0.343751 -2.218750 -12.500000 +v -0.156249 -2.406250 -12.500000 +v -0.343749 -2.218750 -12.500000 +v -0.343749 0.031249 -12.500000 +v 0.343751 -1.468750 -12.312500 +v 0.343751 -0.718751 -12.312500 +v -0.343749 -1.468750 -12.312500 +v -0.343749 -0.718751 -12.312500 +vt 0.980695 0.088803 +vt 0.980695 0.115830 +vt 0.934363 0.108108 +vt 0.980695 0.069498 +vt 0.934363 0.050193 +vt 0.980695 0.042471 +vt 0.988417 0.088803 +vt 0.934363 0.088803 +vt 0.988417 0.079151 +vt 0.934363 0.069498 +vt 0.988417 0.069498 +vt 0.660232 0.270270 +vt 0.706564 0.281853 +vt 0.660232 0.281853 +vt 0.660232 0.297297 +vt 0.934363 0.127413 +vt 0.660232 0.254826 +vt 0.722008 0.254826 +vt 0.706564 0.270270 +vt 0.918919 0.069498 +vt 0.918919 0.088803 +vt 0.895753 0.069498 +vt 0.895753 0.088803 +vt 0.640927 0.069498 +vt 0.640927 0.104247 +vt 0.640927 0.088803 +vt 0.698842 0.235521 +vt 0.660232 0.231660 +vt 0.610039 0.158301 +vt 0.571429 0.150579 +vt 0.610039 0.146718 +vt 0.571429 0.115830 +vt 0.610039 0.119691 +vt 0.926641 0.142857 +vt 1.000000 0.123552 +vt 1.000000 0.138996 +vt 0.926641 0.123552 +vt 0.745174 0.277992 +vt 1.000000 0.277992 +vt 0.918919 0.104247 +vt 0.934363 0.108108 +vt 0.722008 0.277992 +vt 0.610039 0.108108 +vt 0.660232 0.231660 +vt 0.722008 0.254826 +vt 0.698842 0.235521 +vt 0.660232 0.254826 +vt 1.000000 0.138996 +vt 1.000000 0.123552 +vt 1.000000 0.277992 +vt 0.895753 0.054054 +vt 0.745174 0.277992 +vt 0.895753 0.104247 +vt 0.934363 0.050193 +vt 0.918919 0.054054 +vt 0.934363 0.030888 +vt 0.660232 0.297297 +vt 0.706564 0.281853 +vt 0.660232 0.281853 +vt 0.660232 0.270270 +vt 0.706564 0.270270 +vt 0.722008 0.277992 +vt 0.057915 0.266409 +vt 0.042471 0.289575 +vt 0.042471 0.266409 +vt 0.266409 0.266409 +vt 0.247104 0.289575 +vt 0.247104 0.266409 +vt 0.231660 0.289575 +vt 0.231660 0.266409 +vt 0.281853 0.266409 +vt 0.266409 0.289575 +vt 0.077220 0.266409 +vt 0.057915 0.289575 +vt 0.092664 0.266409 +vt 0.077220 0.289575 +vt 0.328185 0.277992 +vt 0.281853 0.289575 +vt 0.420849 0.266409 +vt 0.420849 0.289575 +vt 0.374517 0.277992 +vt 0.362934 0.223938 +vt 0.316602 0.266409 +vt 0.316602 0.223938 +vt 0.420849 0.235521 +vt 0.409266 0.266409 +vt 0.409266 0.223938 +vt 0.262548 0.235521 +vt 0.270270 0.266409 +vt 0.262548 0.254826 +vt 0.270270 0.223938 +vt 0.185328 0.277992 +vt 0.092664 0.289575 +vt 0.138996 0.277992 +vt 0.640927 0.054054 +vt 0.362934 0.266409 +vt 0.420849 0.254826 +vn 0.5473 0.7423 -0.3866 +vn 0.8653 0.4760 -0.1572 +vn 0.4013 0.8284 -0.3908 +vn -0.5473 0.7423 -0.3866 +vn -0.4013 0.8284 -0.3908 +vn -0.8653 0.4760 -0.1572 +vn -0.0000 0.8838 -0.4679 +vn 0.9776 -0.2045 -0.0496 +vn 0.9031 0.3710 -0.2165 +vn 0.9707 0.2263 -0.0809 +vn 0.8944 -0.4472 0.0000 +vn 0.9987 -0.0335 -0.0380 +vn 0.9878 -0.0620 -0.1431 +vn 0.0000 0.9510 -0.3092 +vn -0.0000 0.9966 -0.0825 +vn -0.1922 0.9814 -0.0000 +vn 0.5865 0.8096 -0.0234 +vn 0.8817 0.4719 0.0000 +vn 0.5547 0.8321 -0.0000 +vn 0.9999 -0.0096 0.0031 +vn 1.0000 0.0000 0.0000 +vn 0.7056 -0.7056 0.0657 +vn 0.1245 -0.9895 0.0741 +vn 0.3705 -0.9144 0.1632 +vn -0.1245 -0.9895 0.0741 +vn -0.3705 -0.9144 0.1632 +vn 0.2585 -0.9591 0.1158 +vn 0.6896 -0.6896 0.2210 +vn 0.8875 -0.4389 0.1407 +vn -0.2585 -0.9591 0.1158 +vn 0.9090 0.3749 -0.1824 +vn 0.6863 0.6863 -0.2408 +vn -0.7056 -0.7056 0.0657 +vn -1.0000 0.0000 -0.0000 +vn -0.9987 -0.0335 -0.0380 +vn -0.9999 -0.0096 0.0031 +vn -0.8875 -0.4389 0.1407 +vn -0.6896 -0.6896 0.2210 +vn -0.8817 0.4719 -0.0000 +vn -0.5547 0.8321 -0.0000 +vn -0.5865 0.8096 -0.0234 +vn -0.6863 0.6863 -0.2408 +vn -0.9031 0.3710 -0.2165 +vn -0.9090 0.3749 -0.1824 +vn -0.9707 0.2263 -0.0809 +vn -0.9776 -0.2045 -0.0496 +vn -0.9878 -0.0620 -0.1431 +vn -0.8944 -0.4472 -0.0000 +vn 0.9099 -0.4148 0.0000 +vn 0.9239 -0.3827 0.0000 +vn 0.1922 0.9814 -0.0000 +vn -0.2898 0.9571 -0.0000 +vn -0.8594 0.5112 -0.0000 +vn 0.2898 0.9571 -0.0000 +vn 0.3827 -0.9239 0.0000 +vn -0.9239 -0.3827 -0.0000 +vn -0.3827 -0.9239 0.0000 +vn 0.8594 0.5112 -0.0000 +vn 0.0000 0.1222 -0.9925 +vn 0.0000 -0.1222 -0.9925 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.1628 -0.9867 +vn -0.0000 -0.1775 -0.9841 +vn -0.9099 -0.4148 0.0000 +s 1 +f 768/1431/323 767/1432/324 771/1433/325 +f 770/1434/326 772/1435/327 766/1436/328 +f 768/1437/323 771/1438/325 769/1439/329 +f 769/1439/329 772/1440/327 770/1441/326 +f 771/1438/325 772/1440/327 769/1439/329 +f 763/1442/330 773/1443/331 762/1444/332 +f 762/1444/332 773/1443/331 767/1445/324 +f 771/1433/325 767/1432/324 773/1446/331 +f 763/1442/330 758/1447/333 775/1448/334 +f 774/1449/335 763/1442/330 775/1448/334 +f 771/1438/325 777/1450/336 772/1440/327 +f 776/1451/336 779/1452/337 777/1450/336 +f 778/1453/337 781/1454/338 779/1452/337 +f 778/1453/339 783/1455/340 780/1456/341 +f 784/1457/342 775/1448/334 765/1458/343 +f 784/1459/344 765/1460/345 785/1461/346 +f 785/1461/346 764/1462/347 786/1463/348 +f 785/1461/346 787/1464/349 784/1459/344 +f 787/1465/350 788/1466/351 784/1457/342 +f 789/1467/352 785/1461/346 786/1463/348 +f 784/1457/342 788/1466/351 775/1448/334 +f 782/1468/340 775/1448/334 783/1469/340 +f 788/1466/351 783/1469/340 775/1448/334 +f 790/1470/353 776/1451/354 773/1471/331 +f 773/1471/331 776/1451/354 771/1438/325 +f 775/1448/334 790/1472/353 774/1449/335 +f 782/1468/340 790/1472/353 775/1448/334 +f 773/1443/331 774/1449/335 790/1472/353 +f 758/1447/343 765/1458/343 775/1448/334 +f 786/1463/348 764/1462/347 791/1473/355 +f 764/1474/356 792/1475/357 791/1476/358 +f 764/1474/356 760/1477/356 792/1475/357 +f 789/1467/352 786/1463/348 791/1473/355 +f 793/1478/359 789/1479/360 791/1476/358 +f 791/1476/358 792/1475/357 793/1478/359 +f 793/1478/359 792/1475/357 794/1480/361 +f 781/1454/362 795/1481/361 779/1452/363 +f 794/1480/361 792/1475/357 795/1482/361 +f 782/1483/340 778/1453/339 790/1470/353 +f 777/1450/364 797/1484/365 772/1440/327 +f 796/1485/366 797/1484/365 777/1450/364 +f 772/1435/327 797/1486/365 766/1436/328 +f 766/1487/328 797/1488/365 761/1489/367 +f 759/1490/368 797/1488/365 798/1491/369 +f 760/1477/370 759/1490/368 792/1475/357 +f 798/1491/369 792/1475/357 759/1490/368 +f 797/1488/365 796/1492/366 798/1491/369 +f 798/1491/369 796/1492/366 792/1475/357 +f 795/1482/361 792/1475/357 796/1492/366 +f 787/1493/349 803/1494/371 788/1495/372 +f 780/1496/373 800/1497/374 781/1498/338 +f 781/1498/338 806/1499/375 794/1500/361 +f 783/1501/340 799/1502/376 780/1496/373 +f 789/1503/352 802/1504/377 787/1493/349 +f 793/1505/378 804/1506/379 789/1503/352 +f 783/1501/340 808/1507/343 801/1508/380 +f 788/1509/372 803/1510/371 807/1511/343 +f 788/1509/372 808/1507/343 783/1501/340 +f 807/1512/381 810/1513/382 808/1514/382 +f 802/1515/383 805/1516/384 803/1517/384 +f 805/1516/384 807/1512/381 803/1517/384 +f 799/1518/383 806/1519/385 800/1520/383 +f 808/1514/382 806/1519/385 801/1521/385 +f 806/1499/375 810/1522/356 794/1500/361 +f 805/1523/386 793/1505/378 809/1524/356 +f 794/1500/361 809/1524/356 793/1505/378 +f 778/1453/339 776/1451/354 790/1470/353 +f 795/1481/361 796/1485/366 779/1452/363 +f 777/1450/364 779/1452/363 796/1485/366 +f 763/1442/330 774/1449/335 773/1443/331 +f 771/1438/325 776/1451/336 777/1450/336 +f 776/1451/336 778/1453/337 779/1452/337 +f 778/1453/337 780/1456/373 781/1454/338 +f 778/1453/339 782/1483/340 783/1455/340 +f 785/1461/346 765/1460/345 764/1462/347 +f 789/1467/352 787/1464/349 785/1461/346 +f 781/1454/362 794/1525/361 795/1481/361 +f 759/1490/368 761/1489/367 797/1488/365 +f 787/1493/349 802/1504/377 803/1494/371 +f 780/1496/373 799/1502/376 800/1497/374 +f 781/1498/338 800/1497/374 806/1499/375 +f 783/1501/340 801/1508/380 799/1502/376 +f 789/1503/352 804/1506/379 802/1504/377 +f 793/1505/378 805/1523/386 804/1506/379 +f 788/1509/372 807/1511/343 808/1507/343 +f 807/1512/381 809/1526/381 810/1513/382 +f 802/1515/383 804/1527/383 805/1516/384 +f 805/1516/384 809/1526/381 807/1512/381 +f 799/1518/383 801/1521/385 806/1519/385 +f 808/1514/382 810/1513/382 806/1519/385 +f 794/1500/361 810/1522/356 809/1524/356 +o Flash_Hider +v 0.250000 0.000001 11.250000 +v 0.176776 0.176777 11.250000 +v -0.000001 0.250000 11.250000 +v -0.176777 0.176777 11.250000 +v -0.250001 0.000000 11.250000 +v -0.176777 -0.176776 11.250000 +v -0.000000 -0.250000 11.250000 +v 0.176776 -0.176776 11.250000 +v 0.249999 0.000001 12.500000 +v 0.176776 0.176777 12.500000 +v -0.000001 0.250001 12.500000 +v -0.176777 0.176777 12.500000 +v -0.250001 0.000001 12.500000 +v -0.176777 -0.176776 12.500000 +v -0.000001 -0.249999 12.500000 +v 0.176776 -0.176776 12.500000 +v 0.249999 0.000001 11.625000 +v 0.176776 0.176777 11.625000 +v -0.000001 0.250000 11.625000 +v -0.176777 0.176777 11.625000 +v -0.250001 0.000000 11.625000 +v -0.176777 -0.176776 11.625000 +v -0.000000 -0.249999 11.625000 +v 0.176776 -0.176776 11.625000 +v -0.000000 -0.125000 11.625000 +v -0.088389 -0.088388 11.625000 +v 0.124999 0.000001 12.437500 +v 0.088388 0.088389 12.437500 +v -0.000001 0.125001 12.437500 +v -0.088389 0.088389 12.437500 +v -0.125001 0.000001 12.437500 +v -0.088389 -0.088388 12.437500 +v -0.000001 -0.124999 12.437500 +v 0.088388 -0.088388 12.437500 +v 0.124999 0.000001 11.625000 +v 0.088388 0.088389 11.625000 +v -0.000001 0.125000 11.625000 +v -0.088389 0.088389 11.625000 +v -0.125001 0.000000 11.625000 +v 0.088388 -0.088388 11.625000 +vt 0.092664 0.494208 +vt 0.081081 0.494208 +vt 0.081081 0.548263 +vt 0.069498 0.679537 +vt 0.058577 0.684060 +vt 0.054054 0.694981 +vt 0.046332 0.548263 +vt 0.034749 0.494208 +vt 0.034749 0.548263 +vt 0.115830 0.494208 +vt 0.104247 0.494208 +vt 0.104247 0.548263 +vt 0.069498 0.548263 +vt 0.057915 0.494208 +vt 0.057915 0.548263 +vt 0.081081 0.571429 +vt 0.069498 0.571429 +vt 0.057915 0.571429 +vt 0.046332 0.571429 +vt 0.034749 0.571429 +vt 0.023166 0.548263 +vt 0.023166 0.571429 +vt 0.104247 0.571429 +vt 0.092664 0.548263 +vt 0.092664 0.571429 +vt 0.046332 0.494208 +vt 0.038610 0.486486 +vt 0.084942 0.640927 +vt 0.034749 0.648649 +vt 0.030888 0.640927 +vt 0.084942 0.652510 +vt 0.034749 0.652510 +vt 0.111969 0.486486 +vt 0.108108 0.486486 +vt 0.069498 0.494208 +vt 0.061776 0.486486 +vt 0.088803 0.486486 +vt 0.084942 0.486486 +vt 0.084942 0.660232 +vt 0.030888 0.660232 +vt 0.034749 0.667954 +vt 0.084942 0.671815 +vt 0.034749 0.671815 +vt 0.034749 0.629344 +vt 0.084942 0.633205 +vt 0.034749 0.633205 +vt 0.034749 0.610039 +vt 0.084942 0.613900 +vt 0.034749 0.613900 +vt 0.084942 0.640927 +vt 0.030888 0.640927 +vt 0.084942 0.602317 +vt 0.030888 0.602317 +vt 0.084942 0.621622 +vt 0.030888 0.621622 +vt 0.084942 0.660232 +vt 0.030888 0.660232 +vt 0.084942 0.679537 +vt 0.030888 0.679537 +vt 0.084942 0.621622 +vt 0.030888 0.621622 +vt 0.027689 0.684062 +vt 0.030888 0.694981 +vt 0.023166 0.694981 +vt 0.027689 0.705901 +vt 0.038610 0.702703 +vt 0.038610 0.710425 +vt 0.046332 0.694981 +vt 0.049531 0.705900 +vt 0.044070 0.700440 +vt 0.049531 0.684060 +vt 0.038610 0.687259 +vt 0.038610 0.679537 +vt 0.044070 0.689520 +vt 0.033150 0.700441 +vt 0.058577 0.705901 +vt 0.069498 0.710425 +vt 0.080419 0.705901 +vt 0.084942 0.694981 +vt 0.080419 0.684060 +vt 0.115830 0.548263 +vt 0.115830 0.571429 +vt 0.042471 0.486486 +vt 0.084942 0.648649 +vt 0.065637 0.486486 +vt 0.084942 0.667954 +vt 0.084942 0.629344 +vt 0.084942 0.610039 +vt 0.033150 0.689521 +vt 0.054054 0.694981 +vn -0.9239 0.3827 -0.0000 +vn -0.7972 0.6037 -0.0000 +vn -0.0000 0.0000 -1.0000 +vn 0.9906 -0.1368 0.0000 +vn 0.9239 -0.3827 0.0000 +vn 0.7972 -0.6037 0.0000 +vn -0.3827 -0.9239 -0.0000 +vn -0.6037 -0.7972 -0.0000 +vn 0.1368 0.9906 -0.0000 +vn 0.3827 0.9239 -0.0000 +vn 0.6037 0.7972 -0.0000 +vn -0.7071 0.7071 -0.0000 +vn 0.0000 1.0000 -0.0000 +vn 0.7071 0.7071 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.1368 -0.9906 0.0000 +vn -0.0000 -1.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.9906 0.1368 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.4397 0.1821 0.8795 +vn 0.8760 0.4823 0.0000 +vn -0.1951 0.9808 -0.0000 +vn -0.2783 0.9605 -0.0000 +vn 0.1821 0.4397 0.8795 +vn 0.1822 0.4397 0.8795 +vn -0.1821 -0.4397 0.8795 +vn 0.4397 -0.1821 0.8795 +vn -0.4823 0.8760 -0.0000 +vn -0.9808 -0.1951 -0.0000 +vn -0.9605 -0.2783 -0.0000 +vn 0.4823 -0.8760 0.0000 +vn 0.9808 0.1951 0.0000 +vn 0.9605 0.2783 0.0000 +vn -0.8760 -0.4823 -0.0000 +vn 0.1951 -0.9808 0.0000 +vn 0.2783 -0.9605 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.8315 0.5556 0.0000 +vn -0.5556 0.8315 -0.0000 +vn 0.5556 -0.8315 0.0000 +vn -0.8315 -0.5556 0.0000 +s 1 +f 823/1528/387 822/1529/387 830/1530/388 +f 815/1531/389 814/1532/389 813/1533/389 +f 827/1534/390 826/1535/391 834/1536/392 +f 825/1537/393 824/1538/393 832/1539/394 +f 829/1540/395 820/1541/396 828/1542/397 +f 814/1543/398 829/1540/395 813/1544/399 +f 812/1545/400 827/1534/390 811/1546/401 +f 818/1547/402 833/1548/403 817/1549/404 +f 816/1550/405 831/1551/406 815/1552/407 +f 819/1553/408 844/1554/408 826/1535/408 +f 833/1555/401 843/1556/409 825/1557/401 +f 843/1556/409 836/1558/410 842/1559/411 +f 824/1538/412 843/1560/412 842/1561/413 +f 821/1562/414 838/1563/414 820/1541/414 +f 822/1529/415 841/1564/415 840/1565/415 +f 842/1559/411 832/1566/398 824/1567/398 +f 837/1568/416 850/1569/417 844/1570/418 +f 841/1571/419 848/1572/420 840/1573/421 +f 839/1574/422 846/1575/423 838/1576/424 +f 840/1573/421 830/1577/400 822/1578/400 +f 829/1579/407 839/1574/422 821/1580/407 +f 838/1576/424 828/1581/402 820/1582/402 +f 827/1583/399 837/1568/416 819/1584/399 +f 844/1570/418 834/1585/405 826/1586/405 +f 831/1587/404 841/1571/419 823/1588/404 +f 830/1589/425 847/1590/425 829/1591/425 +f 828/1592/425 845/1593/425 827/1594/425 +f 835/1595/425 834/1596/425 850/1597/425 +f 832/1598/425 849/1599/425 831/1600/425 +f 836/1601/425 850/1597/425 846/1602/425 +f 830/1530/388 814/1543/398 815/1552/407 +f 815/1552/407 831/1551/406 830/1530/388 +f 831/1551/406 823/1528/387 830/1530/388 +f 813/1533/389 812/1603/389 811/1604/389 +f 811/1604/389 818/1605/389 813/1533/389 +f 818/1605/389 817/1606/389 813/1533/389 +f 817/1606/389 816/1607/389 813/1533/389 +f 816/1607/389 815/1531/389 813/1533/389 +f 834/1536/392 818/1547/402 827/1534/390 +f 818/1547/402 811/1546/401 827/1534/390 +f 827/1534/390 819/1553/391 826/1535/391 +f 832/1539/394 816/1550/405 833/1608/403 +f 816/1550/405 817/1609/404 833/1608/403 +f 833/1608/403 825/1537/393 832/1539/394 +f 828/1542/397 812/1545/400 813/1544/399 +f 829/1540/395 821/1562/396 820/1541/396 +f 828/1542/397 813/1544/399 829/1540/395 +f 814/1543/398 830/1530/388 829/1540/395 +f 812/1545/400 828/1542/397 827/1534/390 +f 818/1547/402 834/1536/392 833/1548/403 +f 816/1550/405 832/1539/394 831/1551/406 +f 819/1553/408 837/1610/408 844/1554/408 +f 833/1555/401 835/1611/426 843/1556/409 +f 843/1556/409 835/1611/426 836/1558/410 +f 824/1538/412 825/1537/412 843/1560/412 +f 821/1562/414 839/1612/414 838/1563/414 +f 822/1529/415 823/1528/415 841/1564/415 +f 842/1559/411 836/1558/410 832/1566/398 +f 837/1568/416 845/1613/427 850/1569/417 +f 841/1571/419 849/1614/428 848/1572/420 +f 839/1574/422 847/1615/429 846/1575/423 +f 840/1573/421 848/1572/420 830/1577/400 +f 829/1579/407 847/1615/429 839/1574/422 +f 838/1576/424 846/1575/423 828/1581/402 +f 827/1583/399 845/1613/427 837/1568/416 +f 844/1570/418 850/1569/417 834/1585/405 +f 831/1587/404 849/1614/428 841/1571/419 +f 830/1589/425 848/1616/425 847/1590/425 +f 828/1592/425 846/1602/425 845/1593/425 +f 835/1595/425 833/1617/425 834/1596/425 +f 832/1598/425 836/1601/425 849/1599/425 +f 836/1601/425 835/1595/425 850/1597/425 +f 850/1597/425 845/1593/425 846/1602/425 +f 846/1602/425 847/1590/425 848/1616/425 +f 848/1616/425 849/1599/425 846/1602/425 +f 849/1599/425 836/1601/425 846/1602/425 +o Scope +v 0.312500 1.843750 -5.750000 +v 0.270633 2.000000 -5.750000 +v 0.156250 2.114383 -5.750000 +v 0.000000 2.156250 -5.750000 +v -0.156250 2.114383 -5.750000 +v -0.270633 2.000000 -5.750000 +v -0.312500 1.843750 -5.750000 +v -0.270633 1.687500 -5.750000 +v -0.156250 1.573117 -5.750000 +v 0.000000 1.531250 -5.750000 +v 0.156250 1.573117 -5.750000 +v 0.270633 1.687500 -5.750000 +v 0.312500 1.843750 -5.625000 +v 0.270633 2.000000 -5.625000 +v 0.156250 2.114383 -5.625000 +v 0.000000 2.156250 -5.625000 +v -0.156250 2.114383 -5.625000 +v -0.270633 2.000000 -5.625000 +v -0.312500 1.843750 -5.625000 +v -0.270633 1.687500 -5.625000 +v -0.156250 1.573117 -5.625000 +v 0.000000 1.531250 -5.625000 +v 0.156250 1.573117 -5.625000 +v 0.270633 1.687500 -5.625000 +v 0.375000 1.843750 -5.750000 +v 0.324760 2.031250 -5.750000 +v 0.187500 2.168509 -5.750000 +v 0.000000 2.218750 -5.750000 +v -0.187500 2.168509 -5.750000 +v -0.324759 2.031250 -5.750000 +v -0.375000 1.843750 -5.750000 +v -0.324759 1.656250 -5.750000 +v -0.187500 1.518990 -5.750000 +v 0.000000 1.468750 -5.750000 +v 0.187500 1.518990 -5.750000 +v 0.324760 1.656250 -5.750000 +v 0.375000 1.843750 -4.500000 +v 0.324760 2.031250 -4.500000 +v 0.187500 2.168509 -4.500000 +v 0.000000 2.218750 -4.500000 +v -0.187500 2.168509 -4.500000 +v -0.324759 2.031250 -4.500000 +v -0.375000 1.843750 -4.500000 +v -0.324759 1.656250 -4.500000 +v -0.187500 1.518990 -4.500000 +v 0.000000 1.468750 -4.500000 +v 0.187500 1.518990 -4.500000 +v 0.324760 1.656250 -4.500000 +v 0.250000 1.843750 -4.312500 +v 0.216506 1.968750 -4.312500 +v 0.125000 2.060256 -4.312500 +v 0.000000 2.093750 -4.312500 +v -0.125000 2.060256 -4.312500 +v -0.216506 1.968750 -4.312500 +v -0.250000 1.843750 -4.312500 +v -0.216506 1.718750 -4.312500 +v -0.125000 1.627243 -4.312500 +v 0.000000 1.593750 -4.312500 +v 0.125000 1.627243 -4.312500 +v 0.216506 1.718750 -4.312500 +v 0.250000 1.843750 -1.687500 +v 0.216506 1.968750 -1.687500 +v 0.125000 2.060256 -1.687500 +v -0.000000 2.093750 -1.687500 +v -0.125000 2.060256 -1.687500 +v -0.216506 1.968750 -1.687500 +v -0.250000 1.843750 -1.687500 +v -0.216506 1.718750 -1.687500 +v -0.125000 1.627243 -1.687500 +v -0.000000 1.593750 -1.687500 +v 0.125000 1.627243 -1.687500 +v 0.216506 1.718750 -1.687500 +v -0.312500 1.531250 -3.312500 +v -0.312500 2.156250 -3.312500 +v 0.312500 1.531250 -3.312500 +v 0.312500 2.156250 -3.312500 +v -0.312500 1.531250 -2.687500 +v -0.312500 2.156250 -2.687500 +v 0.312500 1.531250 -2.687500 +v 0.312500 2.156250 -2.687500 +v -0.250000 1.593750 -3.437500 +v -0.250000 2.093750 -3.437500 +v 0.250000 1.593750 -3.437500 +v 0.250000 2.093750 -3.437500 +v -0.250000 1.593750 -2.562500 +v -0.250000 2.093750 -2.562500 +v 0.250000 1.593750 -2.562500 +v 0.250000 2.093750 -2.562500 +v 0.625000 1.843750 -0.187500 +v 0.541266 2.156250 -0.187500 +v 0.312500 2.385015 -0.187500 +v -0.000000 2.468750 -0.187500 +v -0.312500 2.385015 -0.187500 +v -0.541266 2.156250 -0.187500 +v -0.625000 1.843750 -0.187500 +v -0.541266 1.531250 -0.187500 +v -0.312500 1.302484 -0.187500 +v -0.000000 1.218750 -0.187500 +v 0.312500 1.302484 -0.187500 +v 0.541266 1.531250 -0.187500 +v 0.625000 1.843750 1.312500 +v 0.541266 2.156250 1.312500 +v 0.312500 2.385015 1.312500 +v -0.000000 2.468750 1.312500 +v -0.312500 2.385015 1.312500 +v -0.541266 2.156250 1.312500 +v -0.625000 1.843750 1.312500 +v -0.541266 1.531250 1.312500 +v -0.312500 1.302484 1.312500 +v -0.000000 1.218750 1.312500 +v 0.312500 1.302484 1.312500 +v 0.541266 1.531250 1.312500 +v 0.562500 1.843750 1.312500 +v 0.487139 2.125000 1.312500 +v 0.281250 2.330889 1.312500 +v -0.000000 2.406250 1.312500 +v -0.281250 2.330889 1.312500 +v -0.487139 2.125000 1.312500 +v -0.562500 1.843750 1.312500 +v -0.487139 1.562500 1.312500 +v -0.281250 1.356611 1.312500 +v -0.000000 1.281250 1.312500 +v 0.281250 1.356611 1.312500 +v 0.487139 1.562500 1.312500 +v 0.562500 1.843750 1.062500 +v 0.487139 2.125000 1.062500 +v 0.281250 2.330889 1.062500 +v -0.000000 2.406250 1.062500 +v -0.281250 2.330889 1.062500 +v -0.487139 2.125000 1.062500 +v -0.562500 1.843750 1.062500 +v -0.487139 1.562500 1.062500 +v -0.281250 1.356611 1.062500 +v -0.000000 1.281250 1.062500 +v 0.281250 1.356611 1.062500 +v 0.487139 1.562500 1.062500 +v 0.250000 2.156250 -3.000000 +v 0.216506 2.156250 -3.125000 +v 0.125000 2.156250 -3.216506 +v -0.000000 2.156250 -3.250000 +v -0.125000 2.156250 -3.216506 +v -0.216506 2.156250 -3.125000 +v -0.250000 2.156250 -3.000000 +v -0.216506 2.156250 -2.875000 +v -0.125000 2.156250 -2.783494 +v -0.000000 2.156250 -2.750000 +v 0.125000 2.156250 -2.783494 +v 0.216506 2.156250 -2.875000 +v 0.250000 2.218750 -3.000000 +v 0.216506 2.218750 -3.125000 +v 0.125000 2.218750 -3.216506 +v -0.000000 2.218750 -3.250000 +v -0.125000 2.218750 -3.216506 +v -0.216506 2.218750 -3.125000 +v -0.250000 2.218750 -3.000000 +v -0.216506 2.218750 -2.875000 +v -0.125000 2.218750 -2.783494 +v -0.000000 2.218750 -2.750000 +v 0.125000 2.218750 -2.783494 +v 0.216506 2.218750 -2.875000 +v 0.312500 2.218750 -3.000000 +v 0.270633 2.218750 -3.156250 +v 0.156250 2.218750 -3.270633 +v -0.000000 2.218750 -3.312500 +v -0.156250 2.218750 -3.270633 +v -0.270633 2.218750 -3.156250 +v -0.312500 2.218750 -3.000000 +v -0.270633 2.218750 -2.843750 +v -0.156250 2.218750 -2.729367 +v -0.000000 2.218750 -2.687500 +v 0.156250 2.218750 -2.729367 +v 0.270633 2.218750 -2.843750 +v 0.312500 2.406250 -3.000000 +v 0.270633 2.406250 -3.156250 +v 0.156250 2.406250 -3.270633 +v -0.000000 2.406250 -3.312500 +v -0.156250 2.406250 -3.270633 +v -0.270633 2.406250 -3.156250 +v -0.312500 2.406250 -3.000000 +v -0.270633 2.406250 -2.843750 +v -0.156250 2.406250 -2.729367 +v -0.000000 2.406250 -2.687500 +v 0.156250 2.406250 -2.729367 +v 0.270633 2.406250 -2.843750 +v -0.312500 2.093750 -3.000000 +v -0.312500 2.060256 -3.125000 +v -0.312500 1.968750 -3.216506 +v -0.312500 1.843750 -3.250000 +v -0.312500 1.718750 -3.216506 +v -0.312500 1.627243 -3.125000 +v -0.312500 1.593750 -3.000000 +v -0.312500 1.627243 -2.875000 +v -0.312500 1.718750 -2.783494 +v -0.312500 1.843750 -2.750000 +v -0.312500 1.968750 -2.783494 +v -0.312500 2.060256 -2.875000 +v -0.375000 2.093750 -3.000000 +v -0.375000 2.060256 -3.125000 +v -0.375000 1.968750 -3.216506 +v -0.375000 1.843750 -3.250000 +v -0.375000 1.718750 -3.216506 +v -0.375000 1.627243 -3.125000 +v -0.375000 1.593750 -3.000000 +v -0.375000 1.627243 -2.875000 +v -0.375000 1.718750 -2.783494 +v -0.375000 1.843750 -2.750000 +v -0.375000 1.968750 -2.783494 +v -0.375000 2.060256 -2.875000 +v -0.375000 2.156250 -3.000000 +v -0.375000 2.114383 -3.156250 +v -0.375000 2.000000 -3.270633 +v -0.375000 1.843750 -3.312500 +v -0.375000 1.687500 -3.270633 +v -0.375000 1.573117 -3.156250 +v -0.375000 1.531250 -3.000000 +v -0.375000 1.573117 -2.843750 +v -0.375000 1.687500 -2.729367 +v -0.375000 1.843750 -2.687500 +v -0.375000 2.000000 -2.729367 +v -0.375000 2.114383 -2.843750 +v -0.562500 2.156250 -3.000000 +v -0.562500 2.114383 -3.156250 +v -0.562500 2.000000 -3.270633 +v -0.562500 1.843750 -3.312500 +v -0.562500 1.687500 -3.270633 +v -0.562500 1.573117 -3.156250 +v -0.562500 1.531250 -3.000000 +v -0.562500 1.573117 -2.843750 +v -0.562500 1.687500 -2.729367 +v -0.562500 1.843750 -2.687500 +v -0.562500 2.000000 -2.729367 +v -0.562500 2.114383 -2.843750 +v 0.312500 2.093750 -3.000000 +v 0.312500 2.060256 -3.125000 +v 0.312500 1.968750 -3.216506 +v 0.312500 1.843750 -3.250000 +v 0.312500 1.718750 -3.216506 +v 0.312500 1.627243 -3.125000 +v 0.312500 1.593750 -3.000000 +v 0.312500 1.627243 -2.875000 +v 0.312500 1.718750 -2.783494 +v 0.312500 1.843750 -2.750000 +v 0.312500 1.968750 -2.783494 +v 0.312500 2.060256 -2.875000 +v 0.375000 2.093750 -3.000000 +v 0.375000 2.060256 -3.125000 +v 0.375000 1.968750 -3.216506 +v 0.375000 1.843750 -3.250000 +v 0.375000 1.718750 -3.216506 +v 0.375000 1.627243 -3.125000 +v 0.375000 1.593750 -3.000000 +v 0.375000 1.627243 -2.875000 +v 0.375000 1.718750 -2.783494 +v 0.375000 1.843750 -2.750000 +v 0.375000 1.968750 -2.783494 +v 0.375000 2.060256 -2.875000 +v 0.375000 2.156250 -3.000000 +v 0.375000 2.114383 -3.156250 +v 0.375000 2.000000 -3.270633 +v 0.375000 1.843750 -3.312500 +v 0.375000 1.687500 -3.270633 +v 0.375000 1.573117 -3.156250 +v 0.375000 1.531250 -3.000000 +v 0.375000 1.573117 -2.843750 +v 0.375000 1.687500 -2.729367 +v 0.375000 1.843750 -2.687500 +v 0.375000 2.000000 -2.729367 +v 0.375000 2.114383 -2.843750 +v 0.500000 2.156250 -3.000000 +v 0.500000 2.114383 -3.156250 +v 0.500000 2.000000 -3.270633 +v 0.500000 1.843750 -3.312500 +v 0.500000 1.687500 -3.270633 +v 0.500000 1.573117 -3.156250 +v 0.500000 1.531250 -3.000000 +v 0.500000 1.573117 -2.843750 +v 0.500000 1.687500 -2.729367 +v 0.500000 1.843750 -2.687500 +v 0.500000 2.000000 -2.729367 +v 0.500000 2.114383 -2.843750 +v 0.625000 2.093750 -3.000000 +v 0.625000 2.060256 -3.125000 +v 0.625000 1.968750 -3.216506 +v 0.625000 1.843750 -3.250000 +v 0.625000 1.718750 -3.216506 +v 0.625000 1.627244 -3.125000 +v 0.625000 1.593750 -3.000000 +v 0.625000 1.627244 -2.875000 +v 0.625000 1.718750 -2.783494 +v 0.625000 1.843750 -2.750000 +v 0.625000 1.968750 -2.783494 +v 0.625000 2.060256 -2.875000 +v -0.093750 1.656250 -4.125000 +v -0.093750 1.656250 -3.687500 +v 0.093750 1.656250 -4.125000 +v 0.093750 1.656250 -3.687500 +v -0.093750 1.468750 -3.812500 +v 0.093750 1.468750 -3.812500 +v -0.093750 1.656250 -2.312500 +v -0.093750 1.656250 -1.875000 +v 0.093750 1.656250 -2.312500 +v 0.093750 1.656250 -1.875000 +v -0.093750 1.468750 -2.312500 +v -0.093750 1.468750 -1.875000 +v 0.093750 1.468750 -2.312500 +v 0.093750 1.468750 -1.875000 +v -0.093750 1.281250 -4.312500 +v 0.093750 1.281250 -4.312500 +v -0.093750 1.281250 -4.000000 +v 0.093750 1.281250 -4.000000 +v -0.093750 1.281250 -2.500000 +v -0.093750 1.281250 -2.187500 +v 0.093750 1.281250 -2.500000 +v 0.093750 1.281250 -2.187500 +v -0.093750 1.468750 -2.000000 +v 0.093750 1.468750 -2.000000 +v -0.093750 1.468750 -4.125000 +v 0.093750 1.468750 -4.125000 +v -0.093750 1.281250 -4.875000 +v 0.093750 1.281250 -4.875000 +v 0.093750 1.093750 -5.062500 +v 0.281250 0.781250 -5.062500 +v 0.093750 1.093750 -4.750000 +v 0.281250 0.781250 -4.750000 +v 0.156250 0.531250 -5.062500 +v 0.156250 0.531250 -4.750000 +v 0.156250 0.718750 -4.750000 +v -0.156250 0.718750 -4.750000 +v -0.156250 0.531250 -4.750000 +v -0.093750 1.093750 -5.062500 +v -0.093750 1.093750 -4.750000 +v -0.281250 0.531250 -4.750000 +v -0.281250 0.781250 -4.750000 +v -0.281250 0.781250 -5.062500 +v -0.281250 0.531250 -5.062500 +v -0.156250 0.531250 -5.062500 +v -0.156250 0.718750 -5.062500 +v 0.156250 0.718750 -5.062500 +v -0.093750 1.093750 -2.187500 +v -0.093750 1.093750 -2.500000 +v 0.281250 0.781250 -2.500000 +v 0.281250 0.781250 -2.187500 +v 0.156250 0.531250 -2.500000 +v 0.156250 0.531250 -2.187500 +v 0.156250 0.718750 -2.187500 +v -0.156250 0.718750 -2.187500 +v -0.156250 0.531250 -2.187500 +v -0.281250 0.531250 -2.187500 +v -0.281250 0.781250 -2.187500 +v -0.281250 0.781250 -2.500000 +v -0.281250 0.531250 -2.500000 +v -0.156250 0.531250 -2.500000 +v -0.156250 0.718750 -2.500000 +v 0.156250 0.718750 -2.500000 +v 0.093750 1.093750 -2.187500 +v 0.093750 1.093750 -2.500000 +v -0.093750 0.906250 -4.750000 +v 0.093750 0.906250 -4.750000 +v -0.093750 1.031250 -4.562500 +v 0.093750 1.031250 -4.562500 +v -0.093750 0.906250 -2.500000 +v 0.093750 0.906250 -2.500000 +v -0.093750 1.031250 -2.687500 +v 0.093750 1.031250 -2.687500 +v 0.343750 0.718750 -4.906250 +v 0.343750 0.700444 -4.950444 +v 0.343750 0.656250 -4.968750 +v 0.343750 0.612056 -4.950444 +v 0.343750 0.593750 -4.906250 +v 0.343750 0.612056 -4.862056 +v 0.343750 0.656250 -4.843750 +v 0.343750 0.700444 -4.862056 +v 0.406250 0.718750 -4.906250 +v 0.406250 0.700444 -4.950444 +v 0.406250 0.656250 -4.968750 +v 0.406250 0.612056 -4.950444 +v 0.406250 0.593750 -4.906250 +v 0.406250 0.612056 -4.862056 +v 0.406250 0.656250 -4.843750 +v 0.406250 0.700444 -4.862056 +v 0.343750 0.718750 -2.343750 +v 0.343750 0.700444 -2.387945 +v 0.343750 0.656250 -2.406250 +v 0.343750 0.612056 -2.387945 +v 0.343750 0.593750 -2.343750 +v 0.343750 0.612056 -2.299556 +v 0.343750 0.656250 -2.281250 +v 0.343750 0.700444 -2.299556 +v 0.406250 0.718750 -2.343750 +v 0.406250 0.700444 -2.387945 +v 0.406250 0.656250 -2.406250 +v 0.406250 0.612056 -2.387945 +v 0.406250 0.593750 -2.343750 +v 0.406250 0.612056 -2.299556 +v 0.406250 0.656250 -2.281250 +v 0.406250 0.700444 -2.299556 +v 0.343750 0.531250 -2.500000 +v 0.343750 0.531250 -2.187500 +v 0.343750 0.781250 -2.500000 +v 0.343750 0.781250 -2.187500 +v 0.343750 0.781250 -5.062500 +v 0.343750 0.531250 -5.062500 +v 0.343750 0.781250 -4.750000 +v 0.343750 0.531250 -4.750000 +v -0.093750 1.468750 -3.687500 +v 0.093750 1.468750 -3.687500 +vt 0.815385 0.353846 +vt 0.738462 0.276923 +vt 0.815385 0.276923 +vt 0.738462 0.123077 +vt 0.815385 0.200000 +vt 0.738462 0.200000 +vt 0.815385 0.046154 +vt 0.738462 0.046154 +vt 0.830769 0.115385 +vt 0.815385 0.123077 +vt 0.830769 0.269231 +vt 0.830769 0.346154 +vt 0.830769 0.192308 +vt 0.830769 0.207692 +vt 0.892308 0.269231 +vt 0.661538 0.269231 +vt 0.723077 0.207692 +vt 0.723077 0.269231 +vt 0.738462 0.353846 +vt 0.723077 0.284615 +vt 0.723077 0.053846 +vt 0.723077 0.130769 +vt 0.938462 0.476923 +vt 0.961538 0.453846 +vt 0.961538 0.476923 +vt 0.923077 0.084615 +vt 0.946154 0.269231 +vt 0.923077 0.269231 +vt 0.923077 0.476923 +vt 0.938462 0.453846 +vt 0.192308 0.384615 +vt 0.207692 0.407692 +vt 0.169231 0.407692 +vt 0.115385 0.376923 +vt 0.100000 0.400000 +vt 0.076923 0.376923 +vt 0.900000 0.400000 +vt 0.876923 0.415385 +vt 0.876923 0.376923 +vt 0.876923 0.515385 +vt 0.900000 0.530769 +vt 0.876923 0.553846 +vt 0.946154 0.284615 +vt 0.923077 0.307692 +vt 0.923077 0.284615 +vt 0.961538 0.530769 +vt 0.938462 0.530769 +vt 0.938462 0.492308 +vt 0.938462 0.438462 +vt 0.946154 0.376923 +vt 0.946154 0.307692 +vt 0.115385 0.153846 +vt 0.076923 0.169231 +vt 0.076923 0.153846 +vt 0.030769 0.261538 +vt 0.053846 0.238462 +vt 0.053846 0.261538 +vt 0.230769 0.276923 +vt 0.192308 0.307692 +vt 0.192308 0.276923 +vt 0.115385 0.261538 +vt 0.076923 0.276923 +vt 0.076923 0.261538 +vt 0.230769 0.146154 +vt 0.192308 0.169231 +vt 0.192308 0.146154 +vt 0.876923 0.361538 +vt 0.892308 0.338462 +vt 0.900000 0.361538 +vt 0.992308 0.361538 +vt 0.969231 0.361538 +vt 0.976923 0.338462 +vt 0.876923 0.084615 +vt 0.900000 0.084615 +vt 0.892308 0.107692 +vt 0.992308 0.084615 +vt 0.976923 0.107692 +vt 0.969231 0.084615 +vt 0.138462 0.215385 +vt 0.115385 0.200000 +vt 0.130769 0.192308 +vt 0.230769 0.361538 +vt 0.230769 0.384615 +vt 0.969231 0.400000 +vt 0.900000 0.400000 +vt 0.923077 0.376923 +vt 0.076923 0.353846 +vt 0.415385 0.576923 +vt 0.407692 0.584615 +vt 0.415385 0.592308 +vt 0.415385 0.600000 +vt 0.407692 0.607692 +vt 0.415385 0.615385 +vt 0.061538 0.192308 +vt 0.076923 0.200000 +vt 0.230769 0.200000 +vt 0.230769 0.169231 +vt 0.030769 0.323077 +vt 0.007692 0.307692 +vt 0.023077 0.300000 +vt 0.130769 0.300000 +vt 0.169231 0.300000 +vt 0.138462 0.346154 +vt 0.192308 0.253846 +vt 0.923077 0.553846 +vt 0.923077 0.530769 +vt 0.923077 0.453846 +vt 0.900000 0.453846 +vt 0.900000 0.438462 +vt 0.923077 0.476923 +vt 0.900000 0.492308 +vt 0.900000 0.476923 +vt 0.830769 0.053846 +vt 0.830769 0.284615 +vt 0.830769 0.130769 +vt 0.892308 0.207692 +vt 0.661538 0.207692 +vt 0.723077 0.346154 +vt 0.723077 0.115385 +vt 0.723077 0.192308 +vt 0.946154 0.084615 +vt 0.923077 0.453846 +vt 0.138462 0.400000 +vt 0.938462 0.400000 +vt 0.961538 0.400000 +vt 0.115385 0.169231 +vt 0.030769 0.238462 +vt 0.230769 0.307692 +vt 0.115385 0.276923 +vt 0.184615 0.200000 +vt 0.161538 0.238462 +vt 0.161538 0.215385 +vt 0.138462 0.238462 +vt 0.169231 0.192308 +vt 0.192308 0.200000 +vt 0.169231 0.169231 +vt 0.130769 0.169231 +vt 0.192308 0.361538 +vt 0.115385 0.353846 +vt 0.409945 0.579176 +vt 0.409945 0.590055 +vt 0.420824 0.590055 +vt 0.423077 0.584615 +vt 0.420824 0.579176 +vt 0.409945 0.602253 +vt 0.409945 0.613132 +vt 0.420824 0.613132 +vt 0.423077 0.607692 +vt 0.420824 0.602253 +vt 0.007692 0.200000 +vt 0.000000 0.200000 +vt 0.000000 0.169231 +vt 0.023077 0.169231 +vt 0.023077 0.192308 +vt 0.061538 0.169231 +vt 0.076923 0.307692 +vt 0.061538 0.300000 +vt 0.053846 0.346154 +vt 0.053846 0.323077 +vt 0.061538 0.276923 +vt -0.000000 0.276923 +vt 0.023077 0.276923 +vt -0.000000 0.307692 +vt 0.030769 0.346154 +vt 0.169231 0.276923 +vt 0.184615 0.307692 +vt 0.161538 0.346154 +vt 0.115385 0.307692 +vt 0.130769 0.276923 +vt 0.230769 0.253846 +vt 0.900000 0.553846 +vt 0.923077 0.400000 +vt 0.300000 0.523077 +vt 0.323077 0.538462 +vt 0.323077 0.523077 +vt 0.346154 0.523077 +vt 0.369231 0.538462 +vt 0.369231 0.523077 +vt 0.507692 0.523077 +vt 0.530769 0.538462 +vt 0.530769 0.523077 +vt 0.438462 0.523077 +vt 0.461538 0.538462 +vt 0.461538 0.523077 +vt 0.392308 0.538462 +vt 0.392308 0.523077 +vt 0.253846 0.523077 +vt 0.276923 0.538462 +vt 0.276923 0.523077 +vt 0.484615 0.538462 +vt 0.484615 0.523077 +vt 0.415385 0.538462 +vt 0.415385 0.523077 +vt 0.300000 0.538462 +vt 0.346154 0.538462 +vt 0.507692 0.538462 +vt 0.438462 0.538462 +vt 0.248693 0.519231 +vt 0.215385 0.461538 +vt 0.182076 0.519231 +vt 0.392308 0.515385 +vt 0.438462 0.515385 +vt 0.415385 0.515385 +vt 0.461538 0.515385 +vt 0.484615 0.515385 +vt 0.530769 0.515385 +vt 0.507692 0.515385 +vt 0.253846 0.515385 +vt 0.276923 0.515385 +vt 0.300000 0.515385 +vt 0.346154 0.515385 +vt 0.323077 0.515385 +vt 0.369231 0.515385 +vt 0.276923 0.361538 +vt 0.323077 0.361538 +vt 0.484615 0.361538 +vt 0.415385 0.361538 +vt 0.300000 0.361538 +vt 0.346154 0.361538 +vt 0.507692 0.361538 +vt 0.438462 0.361538 +vt 0.369231 0.361538 +vt 0.253846 0.361538 +vt 0.461538 0.361538 +vt 0.392308 0.361538 +vt 0.373077 0.330769 +vt 0.365385 0.330769 +vt 0.350000 0.330769 +vt 0.326923 0.330769 +vt 0.303846 0.330769 +vt 0.280769 0.330769 +vt 0.257692 0.330769 +vt 0.530769 0.361538 +vt 0.511539 0.330769 +vt 0.488462 0.330769 +vt 0.480769 0.330769 +vt 0.465385 0.330769 +vt 0.442308 0.330769 +vt 0.419231 0.330769 +vt 0.411538 0.330769 +vt 0.396154 0.330769 +vt 0.853846 0.523077 +vt 0.530769 0.507692 +vt 0.853846 0.507692 +vt 0.853846 0.630769 +vt 0.530769 0.615385 +vt 0.853846 0.615385 +vt 0.853846 0.584615 +vt 0.530769 0.569231 +vt 0.853846 0.569231 +vt 0.853846 0.538462 +vt 0.530769 0.523077 +vt 0.853846 0.461538 +vt 0.530769 0.446154 +vt 0.853846 0.446154 +vt 0.853846 0.600000 +vt 0.530769 0.584615 +vt 0.853846 0.553846 +vt 0.530769 0.538462 +vt 0.853846 0.476923 +vt 0.530769 0.461538 +vt 0.530769 0.492308 +vt 0.853846 0.492308 +vt 0.530769 0.600000 +vt 0.530769 0.553846 +vt 0.530769 0.476923 +vt 0.407692 0.742308 +vt 0.223077 0.769231 +vt 0.223077 0.730769 +vt 0.407692 0.719231 +vt 0.223077 0.692308 +vt 0.407692 0.703846 +vt 0.407692 0.665385 +vt 0.223077 0.653846 +vt 0.407692 0.642308 +vt 0.223077 0.615385 +vt 0.407692 0.626923 +vt 0.407692 0.603846 +vt 0.223077 0.576923 +vt 0.407692 0.588462 +vt 0.407692 0.565385 +vt 0.223077 0.538462 +vt 0.407692 0.550000 +vt 0.407692 0.988462 +vt 0.223077 0.961538 +vt 0.407692 0.973077 +vt 0.407692 0.934616 +vt 0.223077 0.923077 +vt 0.407692 0.896154 +vt 0.223077 0.884615 +vt 0.407692 0.857692 +vt 0.223077 0.846154 +vt 0.407692 0.796154 +vt 0.407692 0.780769 +vt 0.407692 0.834616 +vt 0.223077 0.807692 +vt 0.407692 0.819231 +vt 0.038462 0.692308 +vt 0.223077 1.000000 +vt 0.038462 0.961538 +vt 0.038462 0.846154 +vt 0.038462 0.730769 +vt 0.038462 0.538462 +vt 0.038462 0.884615 +vt 0.038462 0.769231 +vt 0.038462 0.576923 +vt 0.038462 0.653846 +vt 0.038462 0.923077 +vt 0.038462 0.807692 +vt 0.038462 0.615385 +vt 0.030769 0.846154 +vt 0.030769 0.807692 +vt 0.030769 0.769231 +vt 0.030769 0.730769 +vt 0.030769 0.692308 +vt 0.030769 0.653846 +vt 0.030769 0.615385 +vt 0.030769 0.576923 +vt 0.030769 0.538462 +vt 0.038462 1.000000 +vt 0.030769 0.961538 +vt 0.030769 0.923077 +vt 0.030769 0.884615 +vt 0.000000 0.730769 +vt -0.000000 0.538462 +vt 0.000000 0.884615 +vt -0.000000 0.769231 +vt 0.000000 0.576923 +vt 0.000000 0.653846 +vt -0.000000 0.923077 +vt -0.000000 0.807692 +vt 0.000000 0.615385 +vt 0.000000 0.692308 +vt 0.030769 1.000000 +vt -0.000000 0.961538 +vt -0.000000 0.846154 +vt 0.034615 0.409275 +vt 0.103846 0.409275 +vt 0.138462 0.469231 +vt 0.515385 0.300000 +vt 0.500000 0.292308 +vt 0.515385 0.292308 +vt 0.438462 0.300000 +vt 0.423077 0.292308 +vt 0.438462 0.292308 +vt 0.392308 0.300000 +vt 0.376923 0.292308 +vt 0.392308 0.292308 +vt 0.530769 0.300000 +vt 0.530769 0.292308 +vt 0.453846 0.300000 +vt 0.453846 0.292308 +vt 0.407692 0.300000 +vt 0.407692 0.292308 +vt 0.361538 0.300000 +vt 0.346154 0.292308 +vt 0.361538 0.292308 +vt 0.469231 0.300000 +vt 0.469231 0.292308 +vt 0.500000 0.300000 +vt 0.484615 0.292308 +vt 0.423077 0.300000 +vt 0.376923 0.300000 +vt 0.484615 0.300000 +vt 0.376923 0.330769 +vt 0.361538 0.307692 +vt 0.376923 0.307692 +vt 0.484615 0.330769 +vt 0.469231 0.307692 +vt 0.484615 0.307692 +vt 0.515385 0.330769 +vt 0.500000 0.307692 +vt 0.515385 0.307692 +vt 0.438462 0.330769 +vt 0.423077 0.307692 +vt 0.438462 0.307692 +vt 0.392308 0.330769 +vt 0.392308 0.307692 +vt 0.530769 0.330769 +vt 0.530769 0.307692 +vt 0.453846 0.330769 +vt 0.453846 0.307692 +vt 0.407692 0.330769 +vt 0.407692 0.307692 +vt 0.361538 0.330769 +vt 0.346154 0.307692 +vt 0.469231 0.330769 +vt 0.500000 0.330769 +vt 0.423077 0.330769 +vt 0.550000 0.348693 +vt 0.588462 0.348693 +vt 0.607692 0.315385 +vt 0.452308 0.300000 +vt 0.440000 0.300000 +vt 0.467692 0.300000 +vt 0.455385 0.300000 +vt 0.483077 0.300000 +vt 0.470769 0.300000 +vt 0.486154 0.300000 +vt 0.501539 0.300000 +vt 0.516923 0.300000 +vt 0.360000 0.300000 +vt 0.347692 0.300000 +vt 0.375385 0.300000 +vt 0.363077 0.300000 +vt 0.390769 0.300000 +vt 0.378462 0.300000 +vt 0.393846 0.300000 +vt 0.424615 0.300000 +vt 0.409231 0.300000 +vt 0.615385 0.323077 +vt 0.607692 0.338462 +vt 0.607692 0.323077 +vt 0.615385 0.215385 +vt 0.607692 0.230769 +vt 0.607692 0.215385 +vt 0.615385 0.184615 +vt 0.607692 0.200000 +vt 0.607692 0.184615 +vt 0.615385 0.261538 +vt 0.607692 0.276923 +vt 0.607692 0.261538 +vt 0.615385 0.307692 +vt 0.607692 0.307692 +vt 0.615385 0.169231 +vt 0.607692 0.169231 +vt 0.615385 0.246154 +vt 0.607692 0.246154 +vt 0.615385 0.292308 +vt 0.607692 0.292308 +vt 0.615385 0.338462 +vt 0.607692 0.353846 +vt 0.615385 0.230769 +vt 0.615385 0.200000 +vt 0.615385 0.276923 +vt 0.615385 0.201538 +vt 0.623077 0.215385 +vt 0.615385 0.213846 +vt 0.615385 0.198462 +vt 0.623077 0.184615 +vt 0.623077 0.200000 +vt 0.615385 0.183077 +vt 0.623077 0.169231 +vt 0.615385 0.340000 +vt 0.623077 0.353846 +vt 0.615385 0.352308 +vt 0.615385 0.324615 +vt 0.623077 0.338462 +vt 0.615385 0.336923 +vt 0.615385 0.309231 +vt 0.623077 0.323077 +vt 0.615385 0.321538 +vt 0.615385 0.293846 +vt 0.623077 0.307692 +vt 0.615385 0.306154 +vt 0.615385 0.290769 +vt 0.623077 0.276923 +vt 0.623077 0.292308 +vt 0.615385 0.275385 +vt 0.623077 0.261538 +vt 0.615385 0.247692 +vt 0.615385 0.260000 +vt 0.615385 0.232308 +vt 0.623077 0.246154 +vt 0.615385 0.244615 +vt 0.615385 0.229231 +vt 0.623077 0.230769 +vt 0.646154 0.307692 +vt 0.646154 0.169231 +vt 0.646154 0.246154 +vt 0.646154 0.292308 +vt 0.646154 0.338462 +vt 0.646154 0.230769 +vt 0.646154 0.200000 +vt 0.646154 0.276923 +vt 0.646154 0.323077 +vt 0.646154 0.215385 +vt 0.646154 0.184615 +vt 0.646154 0.261538 +vt 0.717924 0.296154 +vt 0.717924 0.334615 +vt 0.684615 0.353846 +vt 0.676923 -0.000000 +vt 0.661538 0.007692 +vt 0.661538 -0.000000 +vt 0.753846 -0.000000 +vt 0.738462 0.007692 +vt 0.738462 0.000000 +vt 0.800000 0.000000 +vt 0.784615 0.007692 +vt 0.784615 -0.000000 +vt 0.846154 -0.000000 +vt 0.830769 0.007692 +vt 0.830769 -0.000000 +vt 0.723077 0.007692 +vt 0.723077 -0.000000 +vt 0.707692 -0.000000 +vt 0.692308 0.007692 +vt 0.692308 -0.000000 +vt 0.769231 0.007692 +vt 0.769231 -0.000000 +vt 0.815385 0.007692 +vt 0.815385 -0.000000 +vt 0.707692 0.007692 +vt 0.676923 0.007692 +vt 0.753846 0.007692 +vt 0.800000 0.007692 +vt 0.676923 0.015385 +vt 0.661538 0.030769 +vt 0.661538 0.015385 +vt 0.753846 0.015385 +vt 0.738462 0.030769 +vt 0.738462 0.015385 +vt 0.800000 0.015385 +vt 0.784615 0.030769 +vt 0.784615 0.015385 +vt 0.846154 0.015385 +vt 0.830769 0.030769 +vt 0.830769 0.015385 +vt 0.723077 0.030769 +vt 0.723077 0.015385 +vt 0.707692 0.015385 +vt 0.692308 0.030769 +vt 0.692308 0.015385 +vt 0.769231 0.030769 +vt 0.769231 0.015385 +vt 0.815385 0.030769 +vt 0.815385 0.015385 +vt 0.707692 0.030769 +vt 0.676923 0.030769 +vt 0.753846 0.030769 +vt 0.800000 0.030769 +vt 0.661538 0.046154 +vt 0.692308 0.046154 +vt 0.723077 0.046154 +vt 0.753846 0.046154 +vt 0.769231 0.046154 +vt 0.784615 0.046154 +vt 0.800000 0.046154 +vt 0.846154 0.030769 +vt 0.830769 0.046154 +vt 0.815385 0.046154 +vt 0.676923 0.103570 +vt 0.723077 0.076923 +vt 0.676923 0.050276 +vt 0.721538 0.007692 +vt 0.709231 0.007692 +vt 0.724615 0.007692 +vt 0.736923 0.007692 +vt 0.740000 0.007692 +vt 0.752308 0.007692 +vt 0.767692 0.007692 +vt 0.755385 0.007692 +vt 0.783077 0.007692 +vt 0.770769 0.007692 +vt 0.786154 0.007692 +vt 0.798462 0.007692 +vt 0.801538 0.007692 +vt 0.813846 0.007692 +vt 0.816923 0.007692 +vt 0.829231 0.007692 +vt 0.832308 0.007692 +vt 0.844615 0.007692 +vt 0.675385 0.007692 +vt 0.663077 0.007692 +vt 0.690769 0.007692 +vt 0.678462 0.007692 +vt 0.693846 0.007692 +vt 0.706154 0.007692 +vt 0.938462 0.553846 +vt 0.961538 0.553846 +vt 0.861538 0.476923 +vt 0.884615 0.453846 +vt 0.884615 0.476923 +vt 0.923077 0.061538 +vt 0.946154 0.061538 +vt 0.161538 0.392308 +vt 0.138462 0.369231 +vt 0.161538 0.369231 +vt 0.192308 0.253846 +vt 0.230769 0.207692 +vt 0.230769 0.253846 +vt 0.076923 0.246154 +vt 0.115385 0.246154 +vt 0.192308 0.315385 +vt 0.230769 0.315385 +vt 0.138462 0.246154 +vt 0.030769 0.353846 +vt 0.053846 0.353846 +vt 1.000000 0.338462 +vt 0.430769 0.576923 +vt 0.438462 0.569231 +vt 0.438462 0.576923 +vt 0.415385 0.576923 +vt 0.423077 0.569231 +vt 0.423077 0.576923 +vt 0.461538 0.576923 +vt 0.469231 0.569231 +vt 0.469231 0.576923 +vt 0.446154 0.576923 +vt 0.453846 0.569231 +vt 0.453846 0.576923 +vt 0.430769 0.569231 +vt 0.407692 0.576923 +vt 0.415385 0.569231 +vt 0.461538 0.569231 +vt 0.446154 0.569231 +vt 0.430769 0.600000 +vt 0.438462 0.592308 +vt 0.438462 0.600000 +vt 0.415385 0.600000 +vt 0.423077 0.592308 +vt 0.423077 0.600000 +vt 0.461538 0.600000 +vt 0.469231 0.592308 +vt 0.469231 0.600000 +vt 0.446154 0.600000 +vt 0.453846 0.592308 +vt 0.453846 0.600000 +vt 0.430769 0.592308 +vt 0.407692 0.600000 +vt 0.415385 0.592308 +vt 0.461538 0.592308 +vt 0.446154 0.592308 +vt 0.192308 0.207692 +vt 0.253846 0.538462 +vt 0.196154 0.533309 +vt 0.215385 0.538462 +vt 0.234615 0.533309 +vt 0.253846 0.500000 +vt 0.248693 0.480769 +vt 0.234615 0.466691 +vt 0.196154 0.466691 +vt 0.182076 0.480769 +vt 0.176923 0.500000 +vt 0.388462 0.330769 +vt 0.342308 0.330769 +vt 0.319231 0.330769 +vt 0.296154 0.330769 +vt 0.273077 0.330769 +vt 0.526923 0.330769 +vt 0.503846 0.330769 +vt 0.457692 0.330769 +vt 0.434615 0.330769 +vt 0.530769 0.630769 +vt 0.407692 0.757692 +vt 0.407692 0.680769 +vt 0.407692 0.950000 +vt 0.407692 0.911539 +vt 0.407692 0.873077 +vt 0.000000 1.000000 +vt 0.129186 0.503846 +vt 0.105754 0.528423 +vt 0.069231 0.538462 +vt 0.034615 0.529186 +vt 0.009275 0.503846 +vt 0.000000 0.469231 +vt 0.009275 0.434615 +vt 0.069231 0.400000 +vt 0.129186 0.434615 +vt 0.346154 0.300000 +vt 0.346154 0.330769 +vt 0.602539 0.296154 +vt 0.588462 0.282076 +vt 0.569231 0.276923 +vt 0.550000 0.282076 +vt 0.535922 0.296154 +vt 0.530769 0.315385 +vt 0.535922 0.334615 +vt 0.569231 0.353846 +vt 0.602539 0.334615 +vt 0.498462 0.300000 +vt 0.513846 0.300000 +vt 0.529231 0.300000 +vt 0.406154 0.300000 +vt 0.436923 0.300000 +vt 0.421538 0.300000 +vt 0.615385 0.353846 +vt 0.615385 0.186154 +vt 0.615385 0.170769 +vt 0.615385 0.278462 +vt 0.615385 0.263077 +vt 0.615385 0.216923 +vt 0.646154 0.353846 +vt 0.665385 0.348693 +vt 0.651307 0.334615 +vt 0.646154 0.315385 +vt 0.651307 0.296154 +vt 0.665385 0.282076 +vt 0.684615 0.276923 +vt 0.703846 0.282076 +vt 0.723077 0.315385 +vt 0.703846 0.348693 +vt 0.846154 0.007692 +vt 0.676923 0.046154 +vt 0.707692 0.046154 +vt 0.738462 0.046154 +vt 0.846154 0.046154 +vt 0.665661 0.061538 +vt 0.661538 0.076923 +vt 0.665661 0.092308 +vt 0.692308 0.107692 +vt 0.707692 0.103570 +vt 0.718955 0.092308 +vt 0.718955 0.061538 +vt 0.707692 0.050276 +vt 0.692308 0.046154 +vt 0.861538 0.453846 +vt 0.138462 0.392308 +vt 0.161538 0.246154 +vt 1.000000 0.107692 +vt 0.407692 0.569231 +vt 0.407692 0.592308 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 -0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 -0.0000 +vn 0.0000 0.8944 -0.4472 +vn 0.0000 -0.8944 -0.4472 +vn 0.8944 0.0000 -0.4472 +vn -0.8944 -0.0000 -0.4472 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.8944 0.0000 0.4472 +vn 0.0000 0.8944 0.4472 +vn -0.8944 -0.0000 0.4472 +vn 0.0000 -0.8944 0.4472 +vn 0.0000 0.7071 -0.7071 +vn -0.8660 0.5000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.5000 0.8660 -0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.0000 0.8320 0.5547 +vn 0.4160 0.7206 0.5547 +vn 0.7206 0.4160 0.5547 +vn 0.8321 0.0000 0.5547 +vn 0.7206 -0.4160 0.5547 +vn 0.4160 -0.7206 0.5547 +vn 0.0000 -0.8321 0.5547 +vn -0.4160 -0.7206 0.5547 +vn -0.7206 -0.4160 0.5547 +vn -0.8321 -0.0000 0.5547 +vn -0.7206 0.4160 0.5547 +vn -0.4160 0.7206 0.5547 +vn 0.0000 0.8321 0.5547 +vn 0.4851 0.8402 -0.2425 +vn -0.0000 0.9701 -0.2425 +vn 0.8402 0.4851 -0.2425 +vn 0.9701 0.0000 -0.2425 +vn 0.8402 -0.4851 -0.2425 +vn 0.4851 -0.8402 -0.2425 +vn 0.0000 -0.9701 -0.2425 +vn -0.4851 -0.8402 -0.2425 +vn -0.8402 -0.4851 -0.2425 +vn -0.9701 -0.0000 -0.2425 +vn -0.8402 0.4851 -0.2425 +vn -0.4851 0.8402 -0.2425 +vn 0.5000 0.0000 -0.8660 +vn 0.8660 0.0000 -0.5000 +vn -0.5000 0.0000 0.8660 +vn -0.8660 0.0000 -0.5000 +vn 0.5000 0.0000 0.8660 +vn -0.8660 0.0000 0.5000 +vn -0.5000 0.0000 -0.8660 +vn 0.8660 0.0000 0.5000 +vn 0.0000 -0.8660 -0.5000 +vn 0.0000 -0.5000 -0.8660 +vn 0.0000 0.8660 0.5000 +vn 0.0000 0.5000 -0.8660 +vn 0.0000 0.8660 -0.5000 +vn 0.0000 -0.5000 0.8660 +vn 0.0000 0.5000 0.8660 +vn 0.0000 -0.8660 0.5000 +vn 0.2217 0.0000 -0.9751 +vn 0.2217 0.4876 0.8445 +vn 0.2217 -0.8445 0.4876 +vn 0.2217 -0.4876 -0.8445 +vn 0.2217 0.8445 0.4876 +vn 0.2217 0.8445 -0.4876 +vn 0.2217 -0.4876 0.8445 +vn 0.2217 -0.8445 -0.4876 +vn 0.2217 0.9751 -0.0000 +vn 0.2217 0.4876 -0.8445 +vn 0.2217 0.0000 0.9751 +vn 0.2217 -0.9751 0.0000 +vn 0.4472 0.0000 -0.8944 +vn 0.4472 0.7746 -0.4472 +vn 0.4472 0.7746 0.4472 +vn 0.4472 0.0000 0.8944 +vn 0.4472 -0.4472 0.7746 +vn 0.4472 -0.7746 0.4472 +vn 0.4472 -0.8944 -0.0000 +vn 0.4472 -0.4472 -0.7746 +vn 0.4472 -0.7746 -0.4472 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -0.9239 0.3827 +vn 0.0000 -0.3827 0.9239 +vn 0.8575 0.5145 -0.0000 +vn 0.4927 0.8702 -0.0000 +vn -0.9637 0.2669 0.0000 +vn -0.8575 0.5145 0.0000 +vn -0.0000 -0.9571 0.2898 +vn -0.0000 -0.9571 -0.2898 +vn 0.0000 -0.8321 -0.5547 +vn 0.0000 0.7071 0.7071 +vn -0.0000 -0.7071 -0.7071 +vn 0.4472 0.4472 -0.7746 +vn 0.4472 0.8944 0.0000 +vn 0.4472 0.4472 0.7746 +s off +f 926/1618/430 929/1619/430 925/1620/430 +f 928/1621/431 923/1622/431 927/1623/431 +f 929/1619/432 923/1622/432 925/1620/432 +f 926/1624/433 928/1621/433 930/1625/433 +f 926/1624/434 932/1626/434 924/1627/434 +f 923/1622/435 933/1628/435 925/1620/435 +f 925/1620/436 934/1629/436 926/1618/436 +f 924/1627/437 931/1630/437 923/1622/437 +f 931/1631/438 934/1632/438 933/1628/438 +f 938/1633/439 935/1634/439 937/1635/439 +f 930/1636/440 937/1637/440 929/1619/440 +f 928/1621/441 938/1638/441 930/1625/441 +f 927/1623/442 936/1639/442 928/1621/442 +f 929/1619/443 935/1634/443 927/1623/443 +f 1154/1640/439 1152/1641/439 1150/1642/439 +f 1161/1643/433 1160/1644/433 1159/1645/433 +f 1165/1646/432 1156/1647/432 1154/1640/432 +f 1164/1648/430 1155/1649/430 1166/1650/430 +f 1162/1651/431 1153/1652/431 1161/1653/431 +f 1168/1654/430 1160/1655/430 1158/1656/430 +f 1159/1657/431 1167/1658/431 1157/1659/431 +f 1168/1660/444 1157/1661/444 1167/1662/444 +f 1149/1663/431 1153/1664/431 1165/1665/431 +f 1152/1641/430 1156/1647/430 1166/1666/430 +f 1170/1667/433 1157/1661/433 1158/1668/433 +f 1179/1669/432 1185/1670/432 1186/1671/432 +f 1170/1672/444 1180/1673/444 1169/1674/444 +f 1247/1675/430 1250/1676/430 1248/1677/430 +f 1197/1678/432 1201/1679/432 1202/1680/432 +f 1175/1681/432 1254/1682/432 1176/1683/432 +f 1207/1684/431 1209/1685/431 1181/1686/431 +f 1208/1687/430 1173/1688/430 1210/1689/430 +f 1211/1690/431 1190/1691/431 1213/1692/431 +f 1212/1693/430 1214/1694/430 1206/1695/430 +f 1207/1696/439 1183/1697/439 1178/1698/439 +f 1164/1648/430 1206/1699/430 1163/1700/430 +f 1171/1701/430 1170/1667/430 1173/1688/430 +f 1158/1668/430 1160/1644/430 1210/1689/430 +f 1180/1702/431 1181/1686/431 1169/1703/431 +f 1190/1704/431 1162/1651/431 1161/1653/431 +f 1159/1645/431 1213/1692/431 1161/1643/431 +f 1225/1705/430 1223/1706/430 1229/1707/430 +f 1241/1708/430 1239/1709/430 1245/1710/430 +f 1187/1711/438 1184/1712/438 1180/1673/438 +f 1251/1713/430 1254/1682/430 1252/1714/430 +f 1212/1715/438 1191/1716/438 1204/1717/438 +f 1196/1718/439 1195/1719/439 1189/1720/439 +f 1194/1721/432 1247/1675/432 1248/1677/432 +f 1145/1722/438 1167/1658/438 1143/1723/438 +f 1146/1724/430 1256/1725/430 1148/1726/430 +f 1144/1727/439 1256/1725/439 1146/1724/439 +f 1147/1728/431 1255/1729/431 1144/1727/431 +f 926/1618/430 930/1636/430 929/1619/430 +f 928/1621/431 924/1627/431 923/1622/431 +f 929/1619/432 927/1623/432 923/1622/432 +f 926/1624/433 924/1627/433 928/1621/433 +f 926/1624/434 934/1730/434 932/1626/434 +f 923/1622/435 931/1631/435 933/1628/435 +f 925/1620/436 933/1731/436 934/1629/436 +f 924/1627/437 932/1732/437 931/1630/437 +f 931/1631/438 932/1733/438 934/1632/438 +f 938/1633/439 936/1734/439 935/1634/439 +f 930/1636/440 938/1735/440 937/1637/440 +f 928/1621/441 936/1736/441 938/1638/441 +f 927/1623/442 935/1737/442 936/1639/442 +f 929/1619/443 937/1635/443 935/1634/443 +f 1154/1640/439 1156/1647/439 1152/1641/439 +f 1161/1643/433 1163/1738/433 1160/1644/433 +f 1165/1646/432 1166/1739/432 1156/1647/432 +f 1164/1648/430 1163/1700/430 1155/1649/430 +f 1162/1651/431 1165/1740/431 1153/1652/431 +f 1168/1654/430 1148/1726/430 1160/1655/430 +f 1159/1657/431 1147/1728/431 1167/1658/431 +f 1168/1660/444 1158/1668/444 1157/1661/444 +f 1154/1640/431 1150/1642/431 1165/1665/431 +f 1150/1642/431 1149/1663/431 1165/1665/431 +f 1155/1741/430 1151/1742/430 1166/1666/430 +f 1151/1742/430 1152/1641/430 1166/1666/430 +f 1170/1667/433 1169/1703/433 1157/1661/433 +f 1179/1669/432 1182/1743/432 1185/1670/432 +f 1170/1672/444 1171/1744/444 1180/1673/444 +f 1247/1675/430 1249/1745/430 1250/1676/430 +f 1197/1678/432 1198/1746/432 1201/1679/432 +f 1175/1681/432 1252/1714/432 1254/1682/432 +f 1174/1747/439 1173/1748/439 1208/1749/439 +f 1207/1696/439 1181/1750/439 1183/1697/439 +f 1174/1747/439 1208/1749/439 1177/1751/439 +f 1208/1749/439 1207/1696/439 1177/1751/439 +f 1254/1682/439 1253/1752/439 1174/1747/439 +f 1177/1751/439 1176/1753/439 1254/1682/439 +f 1182/1743/439 1179/1754/439 1178/1698/439 +f 1177/1751/439 1254/1682/439 1174/1747/439 +f 1183/1697/439 1182/1743/439 1178/1698/439 +f 1178/1698/439 1177/1751/439 1207/1696/439 +f 1164/1648/430 1205/1755/430 1206/1699/430 +f 1160/1644/430 1163/1738/430 1214/1694/430 +f 1163/1738/430 1206/1695/430 1214/1694/430 +f 1214/1694/430 1210/1689/430 1160/1644/430 +f 1210/1689/430 1173/1688/430 1158/1668/430 +f 1173/1688/430 1170/1667/430 1158/1668/430 +f 1190/1704/431 1189/1756/431 1162/1651/431 +f 1159/1645/431 1157/1661/431 1209/1685/431 +f 1157/1661/431 1169/1703/431 1181/1686/431 +f 1209/1685/431 1157/1661/431 1181/1686/431 +f 1209/1685/431 1213/1692/431 1159/1645/431 +f 1213/1692/431 1190/1691/431 1161/1643/431 +f 1225/1705/430 1224/1757/430 1223/1706/430 +f 1223/1706/430 1230/1758/430 1229/1707/430 +f 1229/1707/430 1228/1759/430 1227/1760/430 +f 1227/1760/430 1226/1761/430 1229/1707/430 +f 1226/1761/430 1225/1705/430 1229/1707/430 +f 1241/1708/430 1240/1762/430 1239/1709/430 +f 1239/1709/430 1246/1763/430 1245/1710/430 +f 1245/1710/430 1244/1764/430 1243/1765/430 +f 1243/1765/430 1242/1766/430 1245/1710/430 +f 1242/1766/430 1241/1708/430 1245/1710/430 +f 1172/1767/438 1251/1768/438 1252/1769/438 +f 1252/1769/438 1175/1770/438 1188/1771/438 +f 1187/1711/438 1186/1772/438 1185/1670/438 +f 1172/1767/438 1252/1769/438 1188/1771/438 +f 1187/1711/438 1185/1670/438 1184/1712/438 +f 1172/1767/438 1188/1771/438 1171/1744/438 +f 1188/1771/438 1187/1711/438 1180/1673/438 +f 1180/1673/438 1171/1744/438 1188/1771/438 +f 1251/1713/430 1253/1752/430 1254/1682/430 +f 1201/1679/438 1200/1773/438 1203/1774/438 +f 1200/1773/438 1190/1775/438 1211/1776/438 +f 1200/1773/438 1211/1776/438 1203/1774/438 +f 1203/1774/438 1202/1777/438 1201/1679/438 +f 1247/1778/438 1193/1779/438 1204/1717/438 +f 1249/1780/438 1247/1778/438 1191/1716/438 +f 1247/1778/438 1204/1717/438 1191/1716/438 +f 1204/1717/438 1203/1774/438 1211/1776/438 +f 1212/1715/438 1206/1781/438 1191/1716/438 +f 1204/1717/438 1211/1776/438 1212/1715/438 +f 1194/1782/439 1248/1677/439 1195/1719/439 +f 1248/1677/439 1250/1676/439 1192/1783/439 +f 1192/1783/439 1205/1784/439 1195/1719/439 +f 1205/1784/439 1189/1720/439 1195/1719/439 +f 1248/1677/439 1192/1783/439 1195/1719/439 +f 1189/1720/439 1199/1785/439 1196/1718/439 +f 1199/1785/439 1198/1746/439 1196/1718/439 +f 1198/1746/439 1197/1786/439 1196/1718/439 +f 1194/1721/432 1193/1787/432 1247/1675/432 +f 1145/1722/438 1168/1788/438 1167/1658/438 +f 1168/1654/430 1145/1789/430 1148/1726/430 +f 1145/1789/430 1146/1724/430 1148/1726/430 +f 1144/1727/439 1255/1729/439 1256/1725/439 +f 1144/1727/431 1143/1723/431 1147/1728/431 +f 1143/1723/431 1167/1658/431 1147/1728/431 +s 1 +f 862/1790/445 863/1791/431 851/1792/431 +f 852/1793/446 865/1794/447 853/1795/447 +f 859/1796/448 872/1797/433 860/1798/433 +f 856/1799/449 869/1800/430 857/1801/430 +f 853/1795/447 866/1802/432 854/1803/432 +f 860/1804/433 873/1805/450 861/1806/450 +f 857/1801/430 870/1807/451 858/1808/451 +f 854/1803/432 867/1809/452 855/1810/452 +f 861/1806/450 874/1811/445 862/1790/445 +f 851/1792/431 864/1812/446 852/1793/446 +f 858/1808/451 871/1813/448 859/1796/448 +f 855/1810/452 868/1814/449 856/1799/449 +f 873/1815/438 869/1816/438 865/1817/438 +f 855/1810/438 878/1818/438 854/1803/438 +f 855/1810/438 880/1819/438 879/1820/438 +f 856/1799/438 881/1821/438 880/1819/438 +f 857/1801/438 882/1822/438 881/1821/438 +f 859/1796/438 882/1822/438 858/1808/438 +f 859/1796/438 884/1823/438 883/1824/438 +f 861/1806/438 884/1825/438 860/1804/438 +f 862/1790/438 885/1826/438 861/1806/438 +f 851/1792/438 886/1827/438 862/1790/438 +f 851/1792/438 876/1828/438 875/1829/438 +f 853/1795/438 878/1818/438 877/1830/438 +f 853/1795/438 876/1828/438 852/1793/438 +f 886/1827/449 897/1831/452 885/1826/452 +f 876/1828/451 887/1832/430 875/1829/430 +f 883/1824/447 894/1833/446 882/1822/446 +f 880/1819/445 891/1834/450 879/1820/450 +f 875/1829/430 898/1835/449 886/1827/449 +f 877/1830/448 888/1836/451 876/1828/451 +f 884/1823/432 895/1837/447 883/1824/447 +f 881/1821/431 892/1838/445 880/1819/445 +f 878/1818/433 889/1839/448 877/1830/448 +f 885/1826/452 896/1840/432 884/1825/432 +f 882/1822/446 893/1841/431 881/1821/431 +f 879/1820/450 890/1842/433 878/1818/433 +f 890/1842/453 901/1843/454 889/1839/454 +f 888/1836/455 901/1844/454 900/1845/455 +f 888/1836/455 899/1846/456 887/1832/456 +f 887/1832/456 910/1847/457 898/1835/457 +f 898/1835/457 909/1848/458 897/1831/458 +f 897/1831/458 908/1849/459 896/1840/459 +f 896/1850/459 907/1851/460 895/1837/460 +f 895/1837/460 906/1852/461 894/1833/461 +f 893/1841/462 906/1853/461 905/1854/462 +f 893/1841/462 904/1855/463 892/1838/463 +f 892/1838/463 903/1856/464 891/1834/464 +f 890/1842/453 903/1857/464 902/1858/465 +f 901/1859/448 912/1860/451 900/1861/451 +f 908/1862/432 919/1863/447 907/1864/447 +f 905/1865/431 916/1866/445 904/1867/445 +f 902/1868/433 913/1869/448 901/1859/448 +f 909/1870/452 920/1871/432 908/1872/432 +f 906/1873/446 917/1874/431 905/1865/431 +f 903/1875/450 914/1876/433 902/1868/433 +f 910/1877/449 921/1878/452 909/1870/452 +f 900/1861/451 911/1879/430 899/1880/430 +f 907/1864/447 918/1881/446 906/1873/446 +f 904/1867/445 915/1882/450 903/1875/450 +f 899/1880/430 922/1883/449 910/1877/449 +f 913/1884/466 942/1885/467 941/1886/466 +f 913/1887/466 940/1888/468 912/1889/468 +f 911/1890/469 940/1888/468 939/1891/469 +f 911/1892/469 950/1893/470 922/1894/470 +f 922/1895/470 949/1896/471 921/1897/471 +f 921/1898/471 948/1899/472 920/1900/472 +f 920/1901/472 947/1902/473 919/1903/473 +f 918/1904/474 947/1902/473 946/1905/474 +f 917/1906/475 946/1905/474 945/1907/475 +f 916/1908/476 945/1907/475 944/1909/476 +f 915/1910/477 942/1885/467 914/1911/467 +f 916/1912/476 943/1913/477 915/1914/477 +f 941/1886/448 952/1915/451 940/1888/451 +f 948/1916/432 959/1917/447 947/1902/447 +f 945/1907/431 956/1918/445 944/1909/445 +f 942/1885/433 953/1919/448 941/1886/448 +f 949/1896/452 960/1920/432 948/1899/432 +f 946/1905/446 957/1921/431 945/1907/431 +f 943/1913/450 954/1922/433 942/1885/433 +f 950/1893/449 961/1923/452 949/1896/452 +f 940/1888/451 951/1924/430 939/1891/430 +f 947/1902/447 958/1925/446 946/1905/446 +f 944/1909/445 955/1926/450 943/1913/450 +f 939/1891/430 962/1927/449 950/1893/449 +f 957/1921/439 968/1928/439 956/1918/439 +f 955/1926/439 968/1928/439 967/1929/439 +f 954/1922/439 967/1929/439 966/1930/439 +f 954/1922/439 965/1931/439 953/1919/439 +f 953/1919/439 964/1932/439 952/1915/439 +f 952/1915/439 963/1933/439 951/1924/439 +f 962/1927/439 963/1933/439 974/1934/439 +f 961/1923/439 974/1934/439 973/1935/439 +f 961/1923/439 972/1936/439 960/1920/439 +f 960/1937/439 971/1938/439 959/1917/439 +f 959/1917/439 970/1939/439 958/1925/439 +f 958/1925/439 969/1940/439 957/1921/439 +f 966/1930/432 977/1941/447 965/1931/447 +f 973/1935/450 984/1942/433 972/1936/433 +f 970/1939/451 981/1943/430 969/1940/430 +f 967/1929/452 978/1944/432 966/1930/432 +f 974/1934/445 985/1945/450 973/1935/450 +f 964/1932/446 975/1946/431 963/1933/431 +f 971/1938/448 982/1947/451 970/1939/451 +f 968/1928/449 979/1948/452 967/1929/452 +f 963/1933/431 986/1949/445 974/1934/445 +f 965/1931/447 976/1950/446 964/1932/446 +f 972/1951/433 983/1952/448 971/1938/448 +f 969/1940/430 980/1953/449 968/1928/449 +f 983/1954/439 985/1955/439 975/1956/439 +f 1001/1957/478 988/1958/479 989/1959/478 +f 1008/1960/439 995/1961/480 996/1962/439 +f 1005/1963/431 992/1964/481 993/1965/431 +f 1002/1966/438 989/1959/478 990/1967/438 +f 1009/1968/482 996/1962/439 997/1969/482 +f 1006/1970/483 993/1965/431 994/1971/483 +f 1003/1972/484 990/1973/438 991/1974/484 +f 1010/1975/485 997/1969/482 998/1976/485 +f 1000/1977/479 987/1978/430 988/1958/479 +f 1007/1979/480 994/1971/483 995/1961/480 +f 1004/1980/481 991/1974/484 992/1964/481 +f 999/1981/430 998/1976/485 987/1978/430 +f 1028/1982/481 1015/1983/484 1016/1984/481 +f 1023/1985/430 1022/1986/485 1011/1987/430 +f 1025/1988/478 1012/1989/479 1013/1990/478 +f 1032/1991/439 1019/1992/480 1020/1993/439 +f 1029/1994/431 1016/1984/481 1017/1995/431 +f 1026/1996/438 1013/1990/478 1014/1997/438 +f 1033/1998/482 1020/1993/439 1021/1999/482 +f 1030/2000/483 1017/1995/431 1018/2001/483 +f 1027/2002/484 1014/2003/438 1015/1983/484 +f 1034/2004/485 1021/1999/482 1022/1986/485 +f 1024/2005/479 1011/1987/430 1012/1989/479 +f 1031/2006/480 1018/2001/483 1019/1992/480 +f 1031/2007/433 1033/2008/433 1023/2009/433 +f 1009/2010/432 1020/1993/432 1008/2011/432 +f 1010/2012/432 1021/1999/432 1009/2013/432 +f 999/2014/432 1022/1986/432 1010/2015/432 +f 999/2016/432 1012/1989/432 1011/1987/432 +f 1000/2017/432 1013/1990/432 1012/1989/432 +f 1001/2018/432 1014/1997/432 1013/1990/432 +f 1003/2019/432 1014/2003/432 1002/2020/432 +f 1004/2021/432 1015/1983/432 1003/2022/432 +f 1005/2023/432 1016/1984/432 1004/2024/432 +f 1005/2025/432 1018/2001/432 1017/1995/432 +f 1007/2026/432 1020/1993/432 1019/1992/432 +f 1006/2027/432 1019/1992/432 1018/2001/432 +f 1052/2028/486 1039/2029/487 1040/2030/486 +f 1047/2031/433 1046/2032/488 1035/2033/433 +f 1049/2034/489 1036/2035/490 1037/2036/489 +f 1056/2037/439 1043/2038/491 1044/2039/439 +f 1053/2040/432 1040/2030/486 1041/2041/432 +f 1050/2042/438 1037/2036/489 1038/2043/438 +f 1057/2044/492 1044/2039/439 1045/2045/492 +f 1054/2046/493 1041/2041/432 1042/2047/493 +f 1051/2048/487 1038/2049/438 1039/2029/487 +f 1058/2050/488 1045/2045/492 1046/2032/488 +f 1048/2051/490 1035/2033/433 1036/2035/490 +f 1055/2052/491 1042/2047/493 1043/2038/491 +f 1048/2053/430 1059/2054/430 1047/2055/430 +f 1048/2056/430 1061/2057/430 1060/2058/430 +f 1049/2059/430 1062/2060/430 1061/2057/430 +f 1051/2061/430 1062/2062/430 1050/2063/430 +f 1052/2064/430 1063/2065/430 1051/2066/430 +f 1053/2067/430 1064/2068/430 1052/2069/430 +f 1054/2070/430 1065/2071/430 1053/2072/430 +f 1054/2073/430 1067/2074/430 1066/2075/430 +f 1055/2076/430 1068/2077/430 1067/2074/430 +f 1057/2078/430 1068/2077/430 1056/2079/430 +f 1058/2080/430 1069/2081/430 1057/2082/430 +f 1058/2083/430 1059/2054/430 1070/2084/430 +f 1077/2085/432 1064/2068/486 1065/2071/432 +f 1074/2086/438 1061/2057/489 1062/2060/438 +f 1081/2087/492 1068/2077/439 1069/2081/492 +f 1078/2088/493 1065/2071/432 1066/2075/493 +f 1075/2089/487 1062/2062/438 1063/2065/487 +f 1082/2090/488 1069/2081/492 1070/2084/488 +f 1072/2091/490 1059/2054/433 1060/2058/490 +f 1079/2092/491 1066/2075/493 1067/2074/491 +f 1076/2093/486 1063/2065/487 1064/2068/486 +f 1071/2094/433 1070/2084/488 1059/2054/433 +f 1073/2095/489 1060/2058/490 1061/2057/489 +f 1080/2096/439 1067/2074/491 1068/2077/439 +f 1079/2097/431 1081/2098/431 1071/2099/431 +f 1085/2100/489 1098/2101/438 1086/2102/438 +f 1092/2103/439 1105/2104/492 1093/2105/492 +f 1089/2106/432 1102/2107/493 1090/2108/493 +f 1086/2109/438 1099/2110/487 1087/2111/487 +f 1093/2105/492 1106/2112/488 1094/2113/488 +f 1083/2114/433 1096/2115/490 1084/2116/490 +f 1090/2108/493 1103/2117/491 1091/2118/491 +f 1087/2111/487 1100/2119/486 1088/2120/486 +f 1094/2113/488 1095/2121/433 1083/2114/433 +f 1084/2116/490 1097/2122/489 1085/2100/489 +f 1091/2118/491 1104/2123/439 1092/2103/439 +f 1088/2120/486 1101/2124/432 1089/2106/432 +f 1109/2125/489 1122/2126/494 1110/2127/438 +f 1116/2128/439 1129/2129/495 1117/2130/492 +f 1113/2131/432 1126/2132/496 1114/2133/493 +f 1110/2134/438 1123/2135/497 1111/2136/487 +f 1117/2130/492 1130/2137/498 1118/2138/488 +f 1107/2139/433 1120/2140/499 1108/2141/490 +f 1114/2133/493 1127/2142/500 1115/2143/491 +f 1111/2136/487 1124/2144/501 1112/2145/486 +f 1118/2138/488 1119/2146/502 1107/2139/433 +f 1108/2141/490 1121/2147/503 1109/2125/489 +f 1115/2143/491 1128/2148/504 1116/2128/439 +f 1112/2145/486 1125/2149/505 1113/2131/432 +f 1121/2147/503 1134/2150/506 1122/2126/494 +f 1132/2151/507 1121/2147/503 1120/2140/499 +f 1119/2146/502 1132/2151/507 1120/2140/499 +f 1142/2152/508 1119/2146/502 1130/2137/498 +f 1129/2129/495 1142/2152/508 1130/2137/498 +f 1140/2153/509 1129/2129/495 1128/2148/504 +f 1139/2154/510 1128/2148/504 1127/2142/500 +f 1138/2155/511 1127/2142/500 1126/2132/496 +f 1137/2156/512 1126/2132/496 1125/2149/505 +f 1124/2144/501 1137/2156/512 1125/2149/505 +f 1122/2157/494 1135/2158/513 1123/2135/497 +f 1123/2135/497 1136/2159/514 1124/2144/501 +f 1141/2160/430 1137/2161/430 1133/2162/430 +f 1106/2163/431 1107/2139/431 1095/2164/431 +f 1117/2130/431 1106/2165/431 1105/2166/431 +f 1116/2128/431 1105/2167/431 1104/2168/431 +f 1103/2169/431 1116/2128/431 1104/2170/431 +f 1102/2171/431 1115/2143/431 1103/2172/431 +f 1113/2131/431 1102/2173/431 1101/2174/431 +f 1112/2145/431 1101/2175/431 1100/2176/431 +f 1111/2136/431 1100/2177/431 1099/2178/431 +f 1110/2134/431 1099/2179/431 1098/2180/431 +f 1097/2181/431 1110/2127/431 1098/2182/431 +f 1096/2183/431 1109/2125/431 1097/2184/431 +f 1107/2139/431 1096/2185/431 1095/2186/431 +f 1155/2187/515 1149/1663/438 1151/2188/438 +f 1159/2189/516 1148/2190/517 1147/2191/517 +f 1163/1738/444 1153/2192/515 1155/2193/515 +f 1166/2194/516 1162/2195/518 1164/2196/518 +f 1173/2197/519 1172/2198/520 1171/2199/519 +f 1183/1697/521 1185/1670/431 1182/1743/431 +f 1180/2200/522 1183/1697/521 1181/2201/522 +f 1199/1785/521 1201/1679/431 1198/1746/431 +f 1200/1773/521 1189/1756/522 1190/1704/522 +f 1206/1699/519 1192/2202/520 1191/2203/520 +f 1208/1749/459 1209/2204/523 1207/1696/459 +f 1214/2205/524 1211/1776/525 1213/2206/524 +f 1162/2195/518 1205/1784/439 1164/2196/518 +f 1214/1694/524 1209/2207/523 1210/1689/523 +f 1222/2208/526 1223/2209/433 1215/2210/433 +f 1220/2211/516 1229/2212/439 1221/2213/439 +f 1218/2214/527 1227/2215/432 1219/2216/432 +f 1216/2217/444 1225/2218/438 1217/2219/438 +f 1221/2213/439 1230/2220/526 1222/2208/526 +f 1219/2221/432 1228/2222/516 1220/2211/516 +f 1217/2219/438 1226/2223/527 1218/2214/527 +f 1215/2210/433 1224/2224/444 1216/2217/444 +f 1238/2225/526 1239/2226/433 1231/2227/433 +f 1236/2228/516 1245/2229/439 1237/2230/439 +f 1234/2231/527 1243/2232/432 1235/2233/432 +f 1232/2234/444 1241/2235/438 1233/2236/438 +f 1237/2230/439 1246/2237/526 1238/2225/526 +f 1235/2238/432 1244/2239/516 1236/2228/516 +f 1233/2236/438 1242/2240/527 1234/2231/527 +f 1231/2227/433 1240/2241/444 1232/2234/444 +f 1250/1676/433 1191/2203/520 1192/2202/520 +f 1174/2242/520 1251/1713/433 1172/2198/520 +f 1148/2190/517 1255/1729/432 1147/2191/517 +f 862/1790/445 874/1811/445 863/1791/431 +f 852/1793/446 864/1812/446 865/1794/447 +f 859/1796/448 871/1813/448 872/1797/433 +f 856/1799/449 868/1814/449 869/1800/430 +f 853/1795/447 865/1794/447 866/1802/432 +f 860/1804/433 872/2243/433 873/1805/450 +f 857/1801/430 869/1800/430 870/1807/451 +f 854/1803/432 866/1802/432 867/1809/452 +f 861/1806/450 873/1805/450 874/1811/445 +f 851/1792/431 863/1791/431 864/1812/446 +f 858/1808/451 870/1807/451 871/1813/448 +f 855/1810/452 867/1809/452 868/1814/449 +f 865/1817/438 864/2244/438 873/1815/438 +f 864/2244/438 863/2245/438 873/1815/438 +f 863/2245/438 874/2246/438 873/1815/438 +f 873/1815/438 872/2247/438 869/1816/438 +f 872/2247/438 871/2248/438 869/1816/438 +f 871/2248/438 870/2249/438 869/1816/438 +f 869/1816/438 868/2250/438 867/2251/438 +f 867/2251/438 866/2252/438 869/1816/438 +f 866/2252/438 865/1817/438 869/1816/438 +f 855/1810/438 879/1820/438 878/1818/438 +f 855/1810/438 856/1799/438 880/1819/438 +f 856/1799/438 857/1801/438 881/1821/438 +f 857/1801/438 858/1808/438 882/1822/438 +f 859/1796/438 883/1824/438 882/1822/438 +f 859/1796/438 860/1798/438 884/1823/438 +f 861/1806/438 885/1826/438 884/1825/438 +f 862/1790/438 886/1827/438 885/1826/438 +f 851/1792/438 875/1829/438 886/1827/438 +f 851/1792/438 852/1793/438 876/1828/438 +f 853/1795/438 854/1803/438 878/1818/438 +f 853/1795/438 877/1830/438 876/1828/438 +f 886/1827/449 898/1835/449 897/1831/452 +f 876/1828/451 888/1836/451 887/1832/430 +f 883/1824/447 895/1837/447 894/1833/446 +f 880/1819/445 892/1838/445 891/1834/450 +f 875/1829/430 887/1832/430 898/1835/449 +f 877/1830/448 889/1839/448 888/1836/451 +f 884/1823/432 896/1850/432 895/1837/447 +f 881/1821/431 893/1841/431 892/1838/445 +f 878/1818/433 890/1842/433 889/1839/448 +f 885/1826/452 897/1831/452 896/1840/432 +f 882/1822/446 894/1833/446 893/1841/431 +f 879/1820/450 891/1834/450 890/1842/433 +f 890/1842/453 902/2253/465 901/1843/454 +f 888/1836/455 889/1839/454 901/1844/454 +f 888/1836/455 900/2254/455 899/1846/456 +f 887/1832/456 899/2255/456 910/1847/457 +f 898/1835/457 910/2256/457 909/1848/458 +f 897/1831/458 909/2257/458 908/1849/459 +f 896/1850/459 908/2258/459 907/1851/460 +f 895/1837/460 907/2259/460 906/1852/461 +f 893/1841/462 894/1833/461 906/1853/461 +f 893/1841/462 905/2260/462 904/1855/463 +f 892/1838/463 904/2261/463 903/1856/464 +f 890/1842/453 891/1834/464 903/1857/464 +f 901/1859/448 913/1869/448 912/1860/451 +f 908/1862/432 920/2262/432 919/1863/447 +f 905/1865/431 917/1874/431 916/1866/445 +f 902/1868/433 914/1876/433 913/1869/448 +f 909/1870/452 921/1878/452 920/1871/432 +f 906/1873/446 918/1881/446 917/1874/431 +f 903/1875/450 915/1882/450 914/1876/433 +f 910/1877/449 922/1883/449 921/1878/452 +f 900/1861/451 912/1860/451 911/1879/430 +f 907/1864/447 919/1863/447 918/1881/446 +f 904/1867/445 916/1866/445 915/1882/450 +f 899/1880/430 911/1879/430 922/1883/449 +f 913/1884/466 914/2263/467 942/1885/467 +f 913/1887/466 941/1886/466 940/1888/468 +f 911/1890/469 912/2264/468 940/1888/468 +f 911/1892/469 939/1891/469 950/1893/470 +f 922/1895/470 950/1893/470 949/1896/471 +f 921/1898/471 949/1896/471 948/1899/472 +f 920/1901/472 948/1916/472 947/1902/473 +f 918/1904/474 919/2265/473 947/1902/473 +f 917/1906/475 918/2266/474 946/1905/474 +f 916/1908/476 917/2267/475 945/1907/475 +f 915/1910/477 943/1913/477 942/1885/467 +f 916/1912/476 944/1909/476 943/1913/477 +f 941/1886/448 953/1919/448 952/1915/451 +f 948/1916/432 960/1937/432 959/1917/447 +f 945/1907/431 957/1921/431 956/1918/445 +f 942/1885/433 954/1922/433 953/1919/448 +f 949/1896/452 961/1923/452 960/1920/432 +f 946/1905/446 958/1925/446 957/1921/431 +f 943/1913/450 955/1926/450 954/1922/433 +f 950/1893/449 962/1927/449 961/1923/452 +f 940/1888/451 952/1915/451 951/1924/430 +f 947/1902/447 959/1917/447 958/1925/446 +f 944/1909/445 956/1918/445 955/1926/450 +f 939/1891/430 951/1924/430 962/1927/449 +f 957/1921/439 969/1940/439 968/1928/439 +f 955/1926/439 956/1918/439 968/1928/439 +f 954/1922/439 955/1926/439 967/1929/439 +f 954/1922/439 966/1930/439 965/1931/439 +f 953/1919/439 965/1931/439 964/1932/439 +f 952/1915/439 964/1932/439 963/1933/439 +f 962/1927/439 951/1924/439 963/1933/439 +f 961/1923/439 962/1927/439 974/1934/439 +f 961/1923/439 973/1935/439 972/1936/439 +f 960/1937/439 972/1951/439 971/1938/439 +f 959/1917/439 971/1938/439 970/1939/439 +f 958/1925/439 970/1939/439 969/1940/439 +f 966/1930/432 978/1944/432 977/1941/447 +f 973/1935/450 985/1945/450 984/1942/433 +f 970/1939/451 982/1947/451 981/1943/430 +f 967/1929/452 979/1948/452 978/1944/432 +f 974/1934/445 986/1949/445 985/1945/450 +f 964/1932/446 976/1950/446 975/1946/431 +f 971/1938/448 983/1952/448 982/1947/451 +f 968/1928/449 980/1953/449 979/1948/452 +f 963/1933/431 975/1946/431 986/1949/445 +f 965/1931/447 977/1941/447 976/1950/446 +f 972/1951/433 984/2268/433 983/1952/448 +f 969/1940/430 981/1943/430 980/1953/449 +f 975/1956/439 976/2269/439 977/2270/439 +f 977/2270/439 978/2271/439 979/2272/439 +f 979/2272/439 980/2273/439 981/2274/439 +f 981/2274/439 982/2275/439 979/2272/439 +f 982/2275/439 983/1954/439 979/2272/439 +f 983/1954/439 984/2276/439 985/1955/439 +f 985/1955/439 986/2277/439 975/1956/439 +f 975/1956/439 977/2270/439 983/1954/439 +f 977/2270/439 979/2272/439 983/1954/439 +f 1001/1957/478 1000/1977/479 988/1958/479 +f 1008/1960/439 1007/1979/480 995/1961/480 +f 1005/1963/431 1004/1980/481 992/1964/481 +f 1002/1966/438 1001/1957/478 989/1959/478 +f 1009/1968/482 1008/1960/439 996/1962/439 +f 1006/1970/483 1005/1963/431 993/1965/431 +f 1003/1972/484 1002/2278/438 990/1973/438 +f 1010/1975/485 1009/1968/482 997/1969/482 +f 1000/1977/479 999/1981/430 987/1978/430 +f 1007/1979/480 1006/1970/483 994/1971/483 +f 1004/1980/481 1003/1972/484 991/1974/484 +f 999/1981/430 1010/1975/485 998/1976/485 +f 1028/1982/481 1027/2002/484 1015/1983/484 +f 1023/1985/430 1034/2004/485 1022/1986/485 +f 1025/1988/478 1024/2005/479 1012/1989/479 +f 1032/1991/439 1031/2006/480 1019/1992/480 +f 1029/1994/431 1028/1982/481 1016/1984/481 +f 1026/1996/438 1025/1988/478 1013/1990/478 +f 1033/1998/482 1032/1991/439 1020/1993/439 +f 1030/2000/483 1029/1994/431 1017/1995/431 +f 1027/2002/484 1026/2279/438 1014/2003/438 +f 1034/2004/485 1033/1998/482 1021/1999/482 +f 1024/2005/479 1023/1985/430 1011/1987/430 +f 1031/2006/480 1030/2000/483 1018/2001/483 +f 1023/2009/433 1024/2280/433 1025/2281/433 +f 1025/2281/433 1026/2282/433 1027/2283/433 +f 1027/2283/433 1028/2284/433 1029/2285/433 +f 1029/2285/433 1030/2286/433 1031/2007/433 +f 1031/2007/433 1032/2287/433 1033/2008/433 +f 1033/2008/433 1034/2288/433 1023/2009/433 +f 1023/2009/433 1025/2281/433 1031/2007/433 +f 1025/2281/433 1027/2283/433 1031/2007/433 +f 1027/2283/433 1029/2285/433 1031/2007/433 +f 1009/2010/432 1021/1999/432 1020/1993/432 +f 1010/2012/432 1022/1986/432 1021/1999/432 +f 999/2014/432 1011/1987/432 1022/1986/432 +f 999/2016/432 1000/2289/432 1012/1989/432 +f 1000/2017/432 1001/2290/432 1013/1990/432 +f 1001/2018/432 1002/2291/432 1014/1997/432 +f 1003/2019/432 1015/1983/432 1014/2003/432 +f 1004/2021/432 1016/1984/432 1015/1983/432 +f 1005/2023/432 1017/1995/432 1016/1984/432 +f 1005/2025/432 1006/2292/432 1018/2001/432 +f 1007/2026/432 1008/2293/432 1020/1993/432 +f 1006/2027/432 1007/2294/432 1019/1992/432 +f 1052/2028/486 1051/2048/487 1039/2029/487 +f 1047/2031/433 1058/2050/488 1046/2032/488 +f 1049/2034/489 1048/2051/490 1036/2035/490 +f 1056/2037/439 1055/2052/491 1043/2038/491 +f 1053/2040/432 1052/2028/486 1040/2030/486 +f 1050/2042/438 1049/2034/489 1037/2036/489 +f 1057/2044/492 1056/2037/439 1044/2039/439 +f 1054/2046/493 1053/2040/432 1041/2041/432 +f 1051/2048/487 1050/2295/438 1038/2049/438 +f 1058/2050/488 1057/2044/492 1045/2045/492 +f 1048/2051/490 1047/2031/433 1035/2033/433 +f 1055/2052/491 1054/2046/493 1042/2047/493 +f 1048/2053/430 1060/2058/430 1059/2054/430 +f 1048/2056/430 1049/2296/430 1061/2057/430 +f 1049/2059/430 1050/2297/430 1062/2060/430 +f 1051/2061/430 1063/2065/430 1062/2062/430 +f 1052/2064/430 1064/2068/430 1063/2065/430 +f 1053/2067/430 1065/2071/430 1064/2068/430 +f 1054/2070/430 1066/2075/430 1065/2071/430 +f 1054/2073/430 1055/2298/430 1067/2074/430 +f 1055/2076/430 1056/2299/430 1068/2077/430 +f 1057/2078/430 1069/2081/430 1068/2077/430 +f 1058/2080/430 1070/2084/430 1069/2081/430 +f 1058/2083/430 1047/2300/430 1059/2054/430 +f 1077/2085/432 1076/2093/486 1064/2068/486 +f 1074/2086/438 1073/2095/489 1061/2057/489 +f 1081/2087/492 1080/2096/439 1068/2077/439 +f 1078/2088/493 1077/2085/432 1065/2071/432 +f 1075/2089/487 1074/2301/438 1062/2062/438 +f 1082/2090/488 1081/2087/492 1069/2081/492 +f 1072/2091/490 1071/2094/433 1059/2054/433 +f 1079/2092/491 1078/2088/493 1066/2075/493 +f 1076/2093/486 1075/2089/487 1063/2065/487 +f 1071/2094/433 1082/2090/488 1070/2084/488 +f 1073/2095/489 1072/2091/490 1060/2058/490 +f 1080/2096/439 1079/2092/491 1067/2074/491 +f 1071/2099/431 1072/2302/431 1073/2303/431 +f 1073/2303/431 1074/2304/431 1075/2305/431 +f 1075/2305/431 1076/2306/431 1077/2307/431 +f 1077/2307/431 1078/2308/431 1079/2097/431 +f 1079/2097/431 1080/2309/431 1081/2098/431 +f 1081/2098/431 1082/2310/431 1071/2099/431 +f 1071/2099/431 1073/2303/431 1079/2097/431 +f 1073/2303/431 1075/2305/431 1079/2097/431 +f 1075/2305/431 1077/2307/431 1079/2097/431 +f 1085/2100/489 1097/2122/489 1098/2101/438 +f 1092/2103/439 1104/2123/439 1105/2104/492 +f 1089/2106/432 1101/2124/432 1102/2107/493 +f 1086/2109/438 1098/2311/438 1099/2110/487 +f 1093/2105/492 1105/2104/492 1106/2112/488 +f 1083/2114/433 1095/2121/433 1096/2115/490 +f 1090/2108/493 1102/2107/493 1103/2117/491 +f 1087/2111/487 1099/2110/487 1100/2119/486 +f 1094/2113/488 1106/2112/488 1095/2121/433 +f 1084/2116/490 1096/2115/490 1097/2122/489 +f 1091/2118/491 1103/2117/491 1104/2123/439 +f 1088/2120/486 1100/2119/486 1101/2124/432 +f 1109/2125/489 1121/2147/503 1122/2126/494 +f 1116/2128/439 1128/2148/504 1129/2129/495 +f 1113/2131/432 1125/2149/505 1126/2132/496 +f 1110/2134/438 1122/2157/494 1123/2135/497 +f 1117/2130/492 1129/2129/495 1130/2137/498 +f 1107/2139/433 1119/2146/502 1120/2140/499 +f 1114/2133/493 1126/2132/496 1127/2142/500 +f 1111/2136/487 1123/2135/497 1124/2144/501 +f 1118/2138/488 1130/2137/498 1119/2146/502 +f 1108/2141/490 1120/2140/499 1121/2147/503 +f 1115/2143/491 1127/2142/500 1128/2148/504 +f 1112/2145/486 1124/2144/501 1125/2149/505 +f 1121/2147/503 1133/2312/528 1134/2150/506 +f 1132/2151/507 1133/2312/528 1121/2147/503 +f 1119/2146/502 1131/2313/529 1132/2151/507 +f 1142/2152/508 1131/2313/529 1119/2146/502 +f 1129/2129/495 1141/2314/530 1142/2152/508 +f 1140/2153/509 1141/2314/530 1129/2129/495 +f 1139/2154/510 1140/2153/509 1128/2148/504 +f 1138/2155/511 1139/2154/510 1127/2142/500 +f 1137/2156/512 1138/2155/511 1126/2132/496 +f 1124/2144/501 1136/2159/514 1137/2156/512 +f 1122/2157/494 1134/2315/506 1135/2158/513 +f 1123/2135/497 1135/2158/513 1136/2159/514 +f 1133/2162/430 1132/2316/430 1131/2317/430 +f 1131/2317/430 1142/2318/430 1133/2162/430 +f 1142/2318/430 1141/2160/430 1133/2162/430 +f 1141/2160/430 1140/2319/430 1137/2161/430 +f 1140/2319/430 1139/2320/430 1137/2161/430 +f 1139/2320/430 1138/2321/430 1137/2161/430 +f 1137/2161/430 1136/2322/430 1135/2323/430 +f 1135/2323/430 1134/2324/430 1137/2161/430 +f 1134/2324/430 1133/2162/430 1137/2161/430 +f 1106/2163/431 1118/2138/431 1107/2139/431 +f 1117/2130/431 1118/2138/431 1106/2165/431 +f 1116/2128/431 1117/2130/431 1105/2167/431 +f 1103/2169/431 1115/2143/431 1116/2128/431 +f 1102/2171/431 1114/2133/431 1115/2143/431 +f 1113/2131/431 1114/2133/431 1102/2173/431 +f 1112/2145/431 1113/2131/431 1101/2175/431 +f 1111/2136/431 1112/2145/431 1100/2177/431 +f 1110/2134/431 1111/2136/431 1099/2179/431 +f 1097/2181/431 1109/2125/431 1110/2127/431 +f 1096/2183/431 1108/2141/431 1109/2125/431 +f 1107/2139/431 1108/2141/431 1096/2185/431 +f 1155/2187/515 1153/1664/515 1149/1663/438 +f 1159/2189/516 1160/2325/516 1148/2190/517 +f 1163/1738/444 1161/1643/444 1153/2192/515 +f 1166/2194/516 1165/2326/516 1162/2195/518 +f 1173/2197/519 1174/2242/520 1172/2198/520 +f 1183/1697/521 1184/1712/521 1185/1670/431 +f 1180/2200/522 1184/1712/521 1183/1697/521 +f 1199/1785/521 1200/1773/521 1201/1679/431 +f 1200/1773/521 1199/1785/521 1189/1756/522 +f 1206/1699/519 1205/1755/519 1192/2202/520 +f 1208/1749/459 1210/2327/523 1209/2204/523 +f 1214/2205/524 1212/1715/525 1211/1776/525 +f 1162/2195/518 1189/1720/439 1205/1784/439 +f 1214/1694/524 1213/2328/524 1209/2207/523 +f 1222/2208/526 1230/2220/526 1223/2209/433 +f 1220/2211/516 1228/2222/516 1229/2212/439 +f 1218/2214/527 1226/2223/527 1227/2215/432 +f 1216/2217/444 1224/2224/444 1225/2218/438 +f 1221/2213/439 1229/2212/439 1230/2220/526 +f 1219/2221/432 1227/2329/432 1228/2222/516 +f 1217/2219/438 1225/2218/438 1226/2223/527 +f 1215/2210/433 1223/2209/433 1224/2224/444 +f 1238/2225/526 1246/2237/526 1239/2226/433 +f 1236/2228/516 1244/2239/516 1245/2229/439 +f 1234/2231/527 1242/2240/527 1243/2232/432 +f 1232/2234/444 1240/2241/444 1241/2235/438 +f 1237/2230/439 1245/2229/439 1246/2237/526 +f 1235/2238/432 1243/2330/432 1244/2239/516 +f 1233/2236/438 1241/2235/438 1242/2240/527 +f 1231/2227/433 1239/2226/433 1240/2241/444 +f 1250/1676/433 1249/1745/433 1191/2203/520 +f 1174/2242/520 1253/1752/433 1251/1713/433 +f 1148/2190/517 1256/1725/432 1255/1729/432 +o Silencer +v 0.312499 0.000001 11.250000 +v 0.220970 0.220971 11.250000 +v -0.000001 0.312500 11.250000 +v -0.220971 0.220971 11.250000 +v -0.312501 0.000000 11.250000 +v -0.220971 -0.220970 11.250000 +v -0.000000 -0.312500 11.250000 +v 0.220970 -0.220970 11.250000 +v 0.312499 0.000001 11.562500 +v 0.220970 0.220972 11.562500 +v -0.000001 0.312501 11.562500 +v -0.220971 0.220972 11.562500 +v -0.312501 0.000001 11.562500 +v -0.220971 -0.220970 11.562500 +v -0.000000 -0.312499 11.562500 +v 0.220970 -0.220970 11.562500 +v 0.499999 0.000001 11.562500 +v 0.353553 0.353554 11.562500 +v -0.000001 0.500001 11.562500 +v -0.353554 0.353554 11.562500 +v -0.500000 0.000001 11.562500 +v -0.353554 -0.353553 11.562500 +v -0.000000 -0.499999 11.562500 +v 0.353553 -0.353553 11.562500 +v 0.499999 0.000001 15.312500 +v 0.353553 0.353554 15.312500 +v -0.000001 0.500001 15.312500 +v -0.353554 0.353554 15.312500 +v -0.500001 0.000001 15.312500 +v -0.353554 -0.353552 15.312500 +v -0.000001 -0.499999 15.312500 +v 0.353553 -0.353552 15.312500 +v 0.093749 0.000001 15.312500 +v 0.066291 0.066292 15.312500 +v -0.000001 0.093751 15.312500 +v -0.066292 0.066292 15.312500 +v -0.093751 0.000001 15.312500 +v -0.066292 -0.066290 15.312500 +v -0.000001 -0.093749 15.312500 +v 0.066291 -0.066290 15.312500 +v 0.093749 0.000001 14.812500 +v 0.066291 0.066292 14.812500 +v -0.000001 0.093751 14.812500 +v -0.066292 0.066292 14.812500 +v -0.093751 0.000001 14.812500 +v -0.066292 -0.066290 14.812500 +v -0.000001 -0.093749 14.812500 +v 0.066291 -0.066290 14.812500 +vt 0.865111 0.565111 +vt 0.853846 0.592308 +vt 0.930769 0.592308 +vt 1.000000 0.715385 +vt 0.961538 0.684615 +vt 1.000000 0.684615 +vt 1.000000 0.961538 +vt 0.961538 0.992308 +vt 0.961538 0.961538 +vt 1.000000 0.869231 +vt 0.961538 0.900000 +vt 0.961538 0.869231 +vt 1.000000 0.807692 +vt 0.961538 0.776923 +vt 1.000000 0.776923 +vt 1.000000 0.669231 +vt 0.961538 0.638462 +vt 1.000000 0.638462 +vt 1.000000 0.915385 +vt 0.961538 0.946154 +vt 0.961538 0.915385 +vt 1.000000 0.823077 +vt 0.961538 0.853846 +vt 0.961538 0.823077 +vt 1.000000 0.761538 +vt 0.961538 0.730769 +vt 1.000000 0.730769 +vt 0.476923 0.676923 +vt 0.938462 0.630769 +vt 0.938462 0.676923 +vt 0.476923 0.953846 +vt 0.938462 0.907692 +vt 0.938462 0.953846 +vt 0.476923 0.861538 +vt 0.938462 0.815385 +vt 0.938462 0.861538 +vt 0.476923 0.769231 +vt 0.938462 0.723077 +vt 0.938462 0.769231 +vt 0.476923 1.000000 +vt 0.938462 1.000000 +vt 0.476923 0.907692 +vt 0.476923 0.815385 +vt 0.961538 0.669231 +vt 0.961538 0.715385 +vt 0.961538 0.761538 +vt 0.961538 0.807692 +vt 0.430769 0.742308 +vt 0.476923 0.723077 +vt 0.430769 0.788462 +vt 0.430769 0.842308 +vt 0.430769 0.834615 +vt 0.430769 0.880769 +vt 0.430769 0.926923 +vt 0.430769 0.973077 +vt 0.476923 0.630769 +vt 0.430769 0.657692 +vt 0.430769 0.650000 +vt 0.430769 0.696154 +vt 0.930769 0.569231 +vt 0.992308 0.576923 +vt 0.930769 0.576923 +vt 0.930769 0.584615 +vt 0.992308 0.592308 +vt 0.930769 0.592308 +vt 0.930769 0.600000 +vt 0.992308 0.607692 +vt 0.930769 0.607692 +vt 0.930769 0.623077 +vt 0.992308 0.630769 +vt 0.930769 0.630769 +vt 0.992308 0.584615 +vt 0.992308 0.600000 +vt 0.992308 0.615385 +vt 0.930769 0.615385 +vt 0.992308 0.623077 +vt 0.980769 0.546154 +vt 0.992308 0.557692 +vt 0.980769 0.569231 +vt 0.865111 0.619504 +vt 0.892308 0.630769 +vt 0.919504 0.619504 +vt 0.919504 0.565111 +vt 0.892308 0.553846 +vt 1.000000 0.992308 +vt 1.000000 0.900000 +vt 1.000000 0.946154 +vt 1.000000 0.853846 +vt 0.430769 0.750000 +vt 0.430769 0.796154 +vt 0.430769 0.888462 +vt 0.430769 0.934615 +vt 0.430769 0.980769 +vt 0.430769 0.703846 +vt 0.992308 0.569231 +vt 0.972610 0.565851 +vt 0.969231 0.557692 +vt 0.972610 0.549533 +vt 0.988928 0.549533 +vt 0.988928 0.565851 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.0000 -1.0000 0.0000 +vn -0.7071 0.7071 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn 0.7071 0.7071 -0.0000 +vn -0.0000 0.0000 1.0000 +s 1 +f 1260/2331/531 1259/2332/531 1263/2333/531 +f 1257/2334/532 1272/2335/533 1264/2336/533 +f 1262/2337/534 1271/2338/535 1270/2339/534 +f 1260/2340/536 1269/2341/537 1268/2342/536 +f 1259/2343/538 1266/2344/539 1258/2345/539 +f 1264/2346/533 1271/2347/535 1263/2348/535 +f 1261/2349/537 1270/2350/534 1269/2351/537 +f 1259/2352/538 1268/2353/536 1267/2354/538 +f 1258/2355/539 1265/2356/532 1257/2357/532 +f 1288/2358/533 1279/2359/535 1280/2360/533 +f 1286/2361/534 1277/2362/537 1278/2363/534 +f 1284/2364/536 1275/2365/538 1276/2366/536 +f 1282/2367/539 1273/2368/532 1274/2369/539 +f 1273/2368/532 1288/2358/533 1280/2360/533 +f 1287/2370/535 1278/2363/534 1279/2371/535 +f 1285/2372/537 1276/2366/536 1277/2362/537 +f 1283/2373/538 1274/2369/539 1275/2365/538 +f 1272/2374/531 1279/2359/531 1271/2347/531 +f 1265/2375/531 1280/2360/531 1272/2335/531 +f 1266/2376/531 1273/2368/531 1265/2356/531 +f 1267/2377/531 1274/2369/531 1266/2344/531 +f 1268/2353/531 1275/2365/531 1267/2354/531 +f 1269/2341/531 1276/2366/531 1268/2342/531 +f 1270/2350/531 1277/2362/531 1269/2351/531 +f 1271/2338/531 1278/2363/531 1270/2339/531 +f 1282/2367/540 1289/2378/540 1281/2379/540 +f 1283/2373/540 1290/2380/540 1282/2367/540 +f 1283/2373/540 1292/2381/540 1291/2382/540 +f 1285/2372/540 1292/2383/540 1284/2364/540 +f 1286/2361/540 1293/2384/540 1285/2372/540 +f 1287/2370/540 1294/2385/540 1286/2361/540 +f 1287/2386/540 1296/2387/540 1295/2388/540 +f 1281/2379/540 1296/2389/540 1288/2358/540 +f 1295/2390/538 1302/2391/539 1294/2392/539 +f 1293/2393/532 1300/2394/533 1292/2395/533 +f 1291/2396/535 1298/2397/534 1290/2398/534 +f 1296/2399/536 1303/2400/538 1295/2401/538 +f 1294/2392/539 1301/2402/532 1293/2393/532 +f 1291/2396/535 1300/2394/533 1299/2403/535 +f 1290/2398/534 1297/2404/537 1289/2405/537 +f 1289/2405/537 1304/2406/536 1296/2399/536 +f 1301/2407/540 1303/2408/540 1297/2409/540 +f 1259/2332/531 1258/2410/531 1263/2333/531 +f 1258/2410/531 1257/2411/531 1263/2333/531 +f 1257/2411/531 1264/2412/531 1263/2333/531 +f 1263/2333/531 1262/2413/531 1261/2414/531 +f 1261/2414/531 1260/2331/531 1263/2333/531 +f 1257/2334/532 1265/2375/532 1272/2335/533 +f 1262/2337/534 1263/2415/535 1271/2338/535 +f 1260/2340/536 1261/2416/537 1269/2341/537 +f 1259/2343/538 1267/2377/538 1266/2344/539 +f 1264/2346/533 1272/2374/533 1271/2347/535 +f 1261/2349/537 1262/2417/534 1270/2350/534 +f 1259/2352/538 1260/2418/536 1268/2353/536 +f 1258/2355/539 1266/2376/539 1265/2356/532 +f 1288/2358/533 1287/2386/535 1279/2359/535 +f 1286/2361/534 1285/2372/537 1277/2362/537 +f 1284/2364/536 1283/2373/538 1275/2365/538 +f 1282/2367/539 1281/2379/532 1273/2368/532 +f 1273/2368/532 1281/2379/532 1288/2358/533 +f 1287/2370/535 1286/2361/534 1278/2363/534 +f 1285/2372/537 1284/2364/536 1276/2366/536 +f 1283/2373/538 1282/2367/539 1274/2369/539 +f 1272/2374/531 1280/2360/531 1279/2359/531 +f 1265/2375/531 1273/2368/531 1280/2360/531 +f 1266/2376/531 1274/2369/531 1273/2368/531 +f 1267/2377/531 1275/2365/531 1274/2369/531 +f 1268/2353/531 1276/2366/531 1275/2365/531 +f 1269/2341/531 1277/2362/531 1276/2366/531 +f 1270/2350/531 1278/2363/531 1277/2362/531 +f 1271/2338/531 1279/2371/531 1278/2363/531 +f 1282/2367/540 1290/2419/540 1289/2378/540 +f 1283/2373/540 1291/2420/540 1290/2380/540 +f 1283/2373/540 1284/2364/540 1292/2381/540 +f 1285/2372/540 1293/2421/540 1292/2383/540 +f 1286/2361/540 1294/2422/540 1293/2384/540 +f 1287/2370/540 1295/2423/540 1294/2385/540 +f 1287/2386/540 1288/2358/540 1296/2387/540 +f 1281/2379/540 1289/2424/540 1296/2389/540 +f 1295/2390/538 1303/2425/538 1302/2391/539 +f 1293/2393/532 1301/2402/532 1300/2394/533 +f 1291/2396/535 1299/2403/535 1298/2397/534 +f 1296/2399/536 1304/2406/536 1303/2400/538 +f 1294/2392/539 1302/2391/539 1301/2402/532 +f 1291/2396/535 1292/2395/533 1300/2394/533 +f 1290/2398/534 1298/2397/534 1297/2404/537 +f 1289/2405/537 1297/2404/537 1304/2406/536 +f 1297/2409/540 1298/2426/540 1299/2427/540 +f 1299/2427/540 1300/2428/540 1297/2409/540 +f 1300/2428/540 1301/2407/540 1297/2409/540 +f 1301/2407/540 1302/2429/540 1303/2408/540 +f 1303/2408/540 1304/2430/540 1297/2409/540 +o Selector +v 0.343750 -0.843753 -4.000000 +v 0.343750 -1.000003 -4.125000 +v 0.343750 -0.937503 -4.187500 +v 0.343750 -0.718753 -4.062500 +v 0.343750 -0.718753 -3.500000 +v 0.343750 -0.968753 -3.500000 +v 0.343750 -0.932141 -3.411612 +v 0.343750 -0.843753 -3.375000 +v 0.343750 -0.755365 -3.411612 +v 0.406250 -0.718753 -3.500000 +v 0.406250 -0.968753 -3.500000 +v 0.406250 -0.932141 -3.411612 +v 0.406250 -0.843753 -3.375000 +v 0.406250 -0.755365 -3.411612 +v 0.468750 -0.843753 -4.000000 +v 0.468750 -0.718753 -4.062500 +v 0.468750 -1.000003 -4.125000 +v 0.468750 -0.937503 -4.187500 +v 0.468750 -0.718753 -3.750000 +v 0.468750 -0.906253 -3.750000 +vt 0.725869 0.474903 +vt 0.722008 0.471042 +vt 0.725869 0.471042 +vt 0.725869 0.482625 +vt 0.722008 0.478764 +vt 0.725869 0.478764 +vt 0.722008 0.474903 +vt 0.725869 0.486486 +vt 0.722008 0.482625 +vt 0.725869 0.420849 +vt 0.718147 0.416988 +vt 0.725869 0.416988 +vt 0.718147 0.420849 +vt 0.725869 0.436293 +vt 0.718147 0.436293 +vt 0.718147 0.405405 +vt 0.710425 0.432432 +vt 0.712686 0.420849 +vt 0.718147 0.455598 +vt 0.718147 0.389961 +vt 0.722008 0.374517 +vt 0.725869 0.374517 +vt 0.710425 0.440154 +vt 0.706564 0.455598 +vt 0.718147 0.471042 +vt 0.715885 0.476503 +vt 0.710425 0.478764 +vt 0.722008 0.486486 +vt 0.725869 0.405405 +vt 0.704964 0.476503 +vt 0.702703 0.471042 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.9835 0.1810 +vn -0.0000 0.9808 0.1951 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -0.0000 1.0000 +vn -0.0000 -0.9973 0.0738 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.9985 0.0553 +vn 0.0000 0.4961 -0.8682 +vn -0.0000 0.8649 -0.5019 +vn 0.0000 -0.6247 0.7809 +vn 1.0000 0.0000 0.0000 +vn -0.0000 1.0000 0.0000 +vn -0.0000 -0.9701 -0.2425 +vn 0.0000 -0.9987 0.0506 +vn 0.9925 0.0000 0.1222 +vn 0.9900 0.0000 0.1410 +vn 0.9902 0.0000 0.1396 +vn 0.9916 0.0000 0.1297 +s 1 +f 1313/2431/541 1314/2432/542 1309/2433/543 +f 1311/2434/544 1317/2435/545 1312/2436/545 +f 1312/2436/545 1318/2437/541 1313/2431/541 +f 1310/2438/546 1316/2439/544 1311/2434/544 +f 1307/2440/547 1321/2441/548 1306/2442/548 +f 1322/2443/549 1308/2444/550 1320/2445/550 +f 1319/2446/551 1306/2442/548 1321/2441/548 +f 1322/2443/552 1319/2447/552 1321/2448/552 +f 1309/2433/543 1314/2432/542 1323/2449/553 +f 1324/2450/554 1315/2451/555 1310/2452/546 +f 1319/2453/552 1323/2449/556 1324/2454/557 +f 1314/2455/558 1318/2456/552 1317/2457/552 +f 1314/2455/558 1324/2454/557 1323/2449/556 +f 1313/2431/541 1318/2437/541 1314/2432/542 +f 1311/2434/544 1316/2439/544 1317/2435/545 +f 1312/2436/545 1317/2435/545 1318/2437/541 +f 1310/2438/546 1315/2458/555 1316/2439/544 +f 1307/2440/547 1322/2443/547 1321/2441/548 +f 1322/2443/549 1307/2440/549 1308/2444/550 +f 1319/2446/551 1305/2459/551 1306/2442/548 +f 1322/2443/552 1320/2445/552 1319/2447/552 +f 1320/2445/550 1308/2444/550 1323/2449/553 +f 1308/2444/550 1309/2433/543 1323/2449/553 +f 1310/2452/546 1305/2459/554 1324/2450/554 +f 1305/2459/554 1319/2446/554 1324/2450/554 +f 1319/2453/552 1320/2445/552 1323/2449/556 +f 1317/2457/552 1316/2460/552 1315/2461/559 +f 1315/2461/559 1314/2455/558 1317/2457/552 +f 1314/2455/558 1315/2461/559 1324/2454/557 +o Trigger +v 0.125000 -1.218750 -3.000000 +v 0.125000 -1.593750 -3.187500 +v 0.125000 -1.781250 -3.187500 +v 0.125000 -1.968750 -3.125000 +v 0.125000 -2.093750 -3.000000 +v 0.125000 -2.093750 -3.062500 +v 0.125000 -1.968750 -3.250000 +v 0.125000 -1.781250 -3.312500 +v 0.125000 -1.406250 -3.312500 +v 0.125000 -1.343750 -3.375000 +v -0.125000 -1.218750 -3.000000 +v -0.125000 -1.593750 -3.187500 +v -0.125000 -1.781250 -3.187500 +v -0.125000 -1.968750 -3.125000 +v -0.125000 -2.093750 -3.000000 +v -0.125000 -2.093750 -3.062500 +v -0.125000 -1.968750 -3.250000 +v -0.125000 -1.781250 -3.312500 +v -0.125000 -1.406250 -3.312500 +v -0.125000 -1.343750 -3.375000 +vt 0.656371 0.559846 +vt 0.667954 0.563707 +vt 0.656371 0.563707 +vt 0.629344 0.555985 +vt 0.640927 0.563707 +vt 0.629344 0.563707 +vt 0.617761 0.555985 +vt 0.606178 0.563707 +vt 0.691120 0.563707 +vt 0.698842 0.552124 +vt 0.718147 0.563707 +vt 0.602317 0.563707 +vt 0.606178 0.540541 +vt 0.667954 0.579151 +vt 0.656371 0.583012 +vt 0.656371 0.579151 +vt 0.629344 0.586873 +vt 0.640927 0.579151 +vt 0.640927 0.586873 +vt 0.617761 0.586873 +vt 0.629344 0.579151 +vt 0.691120 0.579151 +vt 0.718147 0.579151 +vt 0.698842 0.590734 +vt 0.606178 0.579151 +vt 0.606178 0.602317 +vt 0.602317 0.579151 +vt 0.667954 0.555985 +vt 0.640927 0.555985 +vt 0.667954 0.586873 +vt 0.652510 0.579151 +vt 0.652510 0.563707 +vt 0.679537 0.579151 +vt 0.679537 0.563707 +vn 1.0000 0.0000 0.0000 +vn -1.0000 -0.0000 0.0000 +vn 0.0000 -0.4472 0.8944 +vn 0.0000 -0.2298 0.9732 +vn 0.0000 -0.1602 -0.9871 +vn 0.0000 -0.3827 -0.9239 +vn 0.0000 -0.3827 0.9239 +vn 0.0000 -0.9571 -0.2898 +vn 0.0000 0.1602 0.9871 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.6070 -0.7947 +vn 0.0000 0.5257 0.8507 +s off +f 1330/2462/560 1328/2463/560 1329/2464/560 +f 1327/2465/560 1331/2466/560 1332/2467/560 +f 1326/2468/560 1332/2467/560 1333/2469/560 +f 1326/2470/560 1333/2471/560 1325/2472/560 +f 1333/2469/560 1334/2473/560 1325/2474/560 +f 1338/2475/561 1340/2476/561 1339/2477/561 +f 1337/2478/561 1341/2479/561 1338/2480/561 +f 1336/2481/561 1342/2482/561 1337/2478/561 +f 1336/2483/561 1335/2484/561 1343/2485/561 +f 1343/2486/561 1335/2487/561 1344/2488/561 +f 1330/2462/560 1331/2489/560 1328/2463/560 +f 1327/2465/560 1328/2490/560 1331/2466/560 +f 1326/2468/560 1327/2465/560 1332/2467/560 +f 1338/2475/561 1341/2491/561 1340/2476/561 +f 1337/2478/561 1342/2482/561 1341/2479/561 +f 1336/2481/561 1343/2486/561 1342/2482/561 +s 1 +f 1325/2472/562 1336/2483/563 1326/2470/563 +f 1332/2467/564 1343/2486/565 1333/2469/565 +f 1329/2464/566 1340/2492/567 1330/2493/567 +f 1326/2470/563 1337/2494/568 1327/2495/568 +f 1333/2469/565 1344/2488/569 1334/2473/569 +f 1330/2493/567 1341/2479/570 1331/2466/570 +f 1327/2495/568 1338/2475/571 1328/2463/571 +f 1331/2466/570 1342/2482/564 1332/2467/564 +f 1328/2463/571 1339/2477/566 1329/2464/566 +f 1325/2472/562 1335/2484/562 1336/2483/563 +f 1332/2467/564 1342/2482/564 1343/2486/565 +f 1329/2464/566 1339/2477/566 1340/2492/567 +f 1326/2470/563 1336/2483/563 1337/2494/568 +f 1333/2469/565 1343/2486/565 1344/2488/569 +f 1330/2493/567 1340/2492/567 1341/2479/570 +f 1327/2495/568 1337/2494/568 1338/2475/571 +f 1331/2466/570 1341/2479/570 1342/2482/564 +f 1328/2463/571 1338/2475/571 1339/2477/566 diff --git a/src/main/resources/assets/hbm/models/weapons/glass_cannon.obj b/src/main/resources/assets/hbm/models/weapons/glass_cannon.obj deleted file mode 100644 index 5d4801d84..000000000 --- a/src/main/resources/assets/hbm/models/weapons/glass_cannon.obj +++ /dev/null @@ -1,1506 +0,0 @@ -# Blender v2.79 (sub 0) OBJ File: 'glass cannon.blend' -# www.blender.org -mtllib glass_cannon.mtl -o Panel -v -0.957058 0.082710 -0.154169 -v -2.339931 0.082710 -0.154169 -v -0.957058 0.428428 -0.154169 -v -2.339931 0.428428 -0.154169 -vt 1.000000 0.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 1.000000 -vn -0.0000 -0.0000 -1.0000 -usemtl None -s off -f 2/1/1 3/2/1 1/3/1 -f 2/1/1 4/4/1 3/2/1 -o Gun -v -6.768132 -0.608651 -0.071183 -v -6.768132 -0.608651 0.177301 -v -6.768132 0.608651 -0.071183 -v -6.768132 0.608651 0.177301 -v -6.042235 -0.608651 -0.071183 -v -6.042235 -0.608651 0.177301 -v -4.416506 0.608651 -0.071183 -v -4.416506 0.608651 0.177301 -v -5.857340 -0.349853 -0.071183 -v -5.857340 -0.349853 0.177301 -v -4.575360 -0.070112 -0.071183 -v -4.575360 -0.070112 0.177301 -v -6.697397 0.000000 -0.071183 -v -6.697397 -0.000000 0.177301 -v -4.575360 0.069396 -0.071183 -v -4.575360 0.069396 0.177301 -v -4.416506 0.069396 -0.071183 -v -4.416506 0.069396 0.177301 -v -4.416506 0.228480 -0.071183 -v -4.416506 0.228480 0.177301 -v -3.717851 0.228480 0.177301 -v -3.717851 0.069396 0.177301 -v -3.717851 0.069396 -0.071183 -v -3.717851 0.228480 -0.071183 -v -3.460813 -0.005938 0.098521 -v -3.460813 -0.005938 0.007597 -v -3.475813 -0.096862 0.098521 -v -3.475813 -0.096862 0.007597 -v -3.551737 -0.005938 0.098521 -v -3.551737 -0.005938 0.007597 -v -3.551737 -0.096862 0.098521 -v -3.551737 -0.096862 0.007597 -v -3.493274 -0.202370 0.007597 -v -3.493274 -0.202370 0.098521 -v -3.534873 -0.202370 0.098521 -v -3.534873 -0.202370 0.007597 -v -3.471128 -0.233832 0.007597 -v -3.471128 -0.233832 0.098521 -v -3.512727 -0.233832 0.098521 -v -3.512727 -0.233832 0.007597 -v -3.426685 -0.262829 0.007597 -v -3.426685 -0.262829 0.098521 -v -3.468284 -0.262829 0.098521 -v -3.468284 -0.262829 0.007597 -v -2.995137 0.092476 0.206852 -v -2.995137 0.092476 -0.100735 -v -2.995137 -0.233488 0.206852 -v -2.995137 -0.233488 -0.100735 -v -3.229668 0.092476 0.206852 -v -3.229668 0.092476 -0.100735 -v -3.229668 -0.233488 0.206852 -v -3.229668 -0.233488 -0.100735 -v -2.922384 -0.587753 -0.062582 -v -2.922384 -0.587753 0.168700 -v -2.922384 0.070022 -0.062582 -v -2.922384 0.070022 0.168700 -v -2.041304 -0.474147 -0.062582 -v -2.041304 -0.474147 0.168700 -v -2.041304 0.070022 -0.062582 -v -2.041304 0.070022 0.168700 -v -2.481844 0.079575 -0.062582 -v -2.481844 0.079575 0.168700 -v -2.481844 -0.596840 -0.062582 -v -2.481844 -0.596840 0.168700 -v -2.848017 0.070022 -0.062582 -v -2.115671 0.070022 0.168700 -v -2.115671 -0.483735 -0.062582 -v -2.848017 -0.578164 0.168700 -v -2.115671 0.070022 -0.062582 -v -2.848017 0.070022 0.168700 -v -2.848017 -0.578164 -0.062582 -v -2.115671 -0.483735 0.168700 -v -3.019653 0.079575 -0.062582 -v -3.019653 -0.659359 -0.062582 -v -3.019653 -0.659359 0.168700 -v -3.019653 0.079575 0.168700 -v -2.750748 0.079575 -0.062582 -v -2.212940 0.079575 0.168700 -v -1.944035 0.079575 0.168700 -v -1.944035 -0.534320 -0.062582 -v -1.944035 0.079575 -0.062582 -v -1.944035 -0.534320 0.168700 -v -2.212940 -0.565580 -0.062582 -v -2.750748 -0.628100 0.168700 -v -2.212940 0.079575 -0.062582 -v -2.750748 0.079575 0.168700 -v -2.750748 -0.628100 -0.062582 -v -2.212940 -0.565580 0.168700 -v -2.115671 0.070022 -0.034995 -v -2.041304 0.070022 -0.034995 -v -2.041304 -0.474147 -0.034995 -v -2.115671 -0.483735 -0.034995 -v -2.848017 0.070022 0.141113 -v -2.922384 0.070022 0.141113 -v -2.922384 -0.587753 0.141113 -v -2.848017 -0.578164 0.141113 -v -2.922384 0.070022 -0.034995 -v -2.848017 0.070022 -0.034995 -v -2.848017 -0.578164 -0.034995 -v -2.922384 -0.587753 -0.034995 -v -2.041304 0.070022 0.141113 -v -2.115671 0.070022 0.141113 -v -2.115671 -0.483735 0.141113 -v -2.041304 -0.474147 0.141113 -v 0.174835 0.619878 0.053059 -v 0.525755 0.619878 0.053059 -v 0.174835 0.558203 -0.095838 -v 0.525755 0.558203 -0.095838 -v 0.174835 0.409306 -0.157513 -v 0.525755 0.409306 -0.157513 -v 0.174835 0.260410 -0.095838 -v 0.525755 0.260410 -0.095838 -v 0.174835 0.198735 0.053059 -v 0.525755 0.198735 0.053059 -v 0.174835 0.260410 0.201956 -v 0.525755 0.260410 0.201956 -v 0.174835 0.409306 0.263631 -v 0.525755 0.409306 0.263631 -v 0.174835 0.558203 0.201956 -v 0.525755 0.558203 0.201956 -v 0.797183 0.510280 -0.047914 -v 0.797183 0.552104 0.053059 -v 0.797183 0.409306 -0.089739 -v 0.797183 0.308333 -0.047914 -v 0.797183 0.266509 0.053059 -v 0.797183 0.308333 0.154032 -v 0.797183 0.409306 0.195857 -v 0.797183 0.510280 0.154032 -v 5.754774 0.510280 -0.047914 -v 5.754774 0.552104 0.053060 -v 5.754774 0.409306 -0.089738 -v 5.754774 0.308333 -0.047914 -v 5.754774 0.266509 0.053060 -v 5.754774 0.308333 0.154033 -v 5.754774 0.409306 0.195857 -v 5.754774 0.510280 0.154033 -v 5.694566 0.218859 -0.116180 -v 5.694566 0.218859 0.222298 -v 5.694566 0.592156 -0.116180 -v 5.694566 0.592156 0.222298 -v 6.165412 0.218859 -0.116180 -v 6.165412 0.218859 0.222298 -v 6.165412 0.592156 -0.116180 -v 6.165412 0.592156 0.222298 -v 6.746629 0.632898 0.392439 -v 6.746629 0.632898 -0.286321 -v 6.746629 0.178117 -0.286321 -v 6.746629 0.178117 0.392439 -v 6.626379 0.468732 -0.251120 -v 6.626379 0.468732 0.357238 -v 6.626379 0.366923 -0.251120 -v 6.626379 0.366923 0.357238 -v 6.355749 0.294933 -0.171898 -v 6.355749 0.294933 0.278015 -v 6.168961 0.417828 -0.117219 -v 6.168960 0.417828 0.223336 -v 6.554389 0.540722 -0.230046 -v 6.554389 0.540722 0.336164 -v 6.355749 0.540722 -0.171898 -v 6.355749 0.540722 0.278015 -v 6.554389 0.294933 -0.230047 -v 6.554389 0.294933 0.336164 -v 6.746629 0.489125 -0.010440 -v 6.626379 0.468732 -0.018870 -v 6.605986 0.489125 -0.010440 -v 6.746629 0.425498 -0.036742 -v 6.626379 0.425498 -0.036742 -v 6.746629 0.335514 0.053059 -v 6.594971 0.335514 0.053059 -v 6.746629 0.361870 0.116558 -v 6.621326 0.361870 0.116558 -v 6.746629 0.489125 0.116558 -v 6.626379 0.468732 0.124988 -v 6.605986 0.489125 0.116558 -v 6.746629 0.515481 0.053059 -v 6.579631 0.515481 0.053059 -v 6.746629 0.361870 -0.010440 -v 6.621326 0.361870 -0.010440 -v 6.626379 0.366923 0.118647 -v 6.746629 0.425498 0.142860 -v 6.626379 0.425498 0.142860 -v 6.626379 0.366923 -0.012529 -v -0.561453 0.644182 -0.042506 -v -0.561453 0.644182 0.148624 -v -0.561453 0.789268 -0.042506 -v -0.561453 0.789268 0.148624 -v 0.278207 0.644182 -0.042506 -v 0.278207 0.644182 0.148624 -v 0.278207 0.789268 -0.042506 -v 0.278207 0.789268 0.148624 -v -0.364457 0.652663 0.053059 -v 0.223510 0.652663 0.053059 -v -0.364457 0.575695 -0.132757 -v 0.223510 0.575695 -0.132757 -v -0.364457 0.389880 -0.209724 -v 0.223510 0.389880 -0.209724 -v -0.364457 0.204064 -0.132757 -v 0.223510 0.204064 -0.132757 -v -0.364457 0.127097 0.053059 -v 0.223510 0.127097 0.053059 -v -0.364457 0.204064 0.238874 -v 0.223510 0.204064 0.238874 -v -0.364457 0.389880 0.315842 -v 0.223510 0.389880 0.315842 -v -0.364457 0.575695 0.238874 -v 0.223510 0.575695 0.238874 -v -0.928809 0.623811 0.053059 -v -0.272477 0.623811 0.053059 -v -0.928809 0.568069 -0.081513 -v -0.272477 0.568069 -0.081512 -v -0.928809 0.433498 -0.137254 -v -0.272477 0.433498 -0.137254 -v -0.928809 0.298927 -0.081513 -v -0.272477 0.298927 -0.081512 -v -0.928809 0.243185 0.053059 -v -0.272477 0.243185 0.053059 -v -0.928809 0.298927 0.187630 -v -0.272477 0.298927 0.187630 -v -0.928809 0.433498 0.243371 -v -0.272477 0.433498 0.243372 -v -0.928809 0.568069 0.187630 -v -0.272477 0.568069 0.187630 -v -2.722006 0.831465 0.160411 -v -2.722006 0.831465 -0.054293 -v -2.873636 0.831465 0.160411 -v -2.873636 0.831465 -0.054293 -v -2.749341 1.178037 0.160411 -v -2.722006 1.056201 0.160411 -v -2.722006 1.056201 -0.054293 -v -2.749341 1.178037 -0.054293 -v -2.873636 1.056201 0.160411 -v -2.846302 1.178037 0.160411 -v -2.846302 1.178037 -0.054293 -v -2.873636 1.056201 -0.054293 -v -2.535410 0.631368 -0.053731 -v -2.535410 0.631368 0.159848 -v -2.355120 0.631368 -0.053731 -v -2.355120 0.631368 0.159848 -v -2.535410 1.058757 0.012589 -v -2.535410 0.926045 -0.053731 -v -2.535410 1.019887 -0.034306 -v -2.535410 0.926045 0.159848 -v -2.535410 1.058757 0.093529 -v -2.535410 1.019887 0.140424 -v -2.355120 0.926045 -0.053731 -v -2.355120 1.058757 0.012589 -v -2.355120 1.019887 -0.034306 -v -2.355120 1.058757 0.093529 -v -2.355120 0.926045 0.159848 -v -2.355120 1.019887 0.140424 -v -3.295685 1.044175 0.053059 -v -2.232215 1.044175 0.053059 -v -3.295685 1.014676 -0.018158 -v -2.232215 1.014676 -0.018158 -v -3.295685 0.943459 -0.047656 -v -2.232215 0.943459 -0.047656 -v -3.295685 0.872243 -0.018158 -v -2.232215 0.872243 -0.018158 -v -3.295685 0.842744 0.053059 -v -2.232215 0.842744 0.053059 -v -3.295685 0.872243 0.124275 -v -2.232215 0.872243 0.124275 -v -3.295685 0.943459 0.153774 -v -2.232215 0.943459 0.153774 -v -3.295685 1.014676 0.124275 -v -2.232215 1.014676 0.124275 -v -3.793035 1.109163 0.053059 -v -3.793035 1.060629 -0.064112 -v -3.793035 0.943459 -0.112645 -v -3.793035 0.826289 -0.064112 -v -3.793035 0.777755 0.053059 -v -3.793035 0.826289 0.170229 -v -3.793035 0.943459 0.218762 -v -3.793035 1.060629 0.170229 -v -3.956283 1.075495 0.053059 -v -3.956283 1.027734 -0.042786 -v -3.956283 0.943459 -0.071803 -v -3.956283 0.859184 -0.042786 -v -3.956283 0.811424 0.053059 -v -3.956283 0.859184 0.148904 -v -3.956283 0.943459 0.177920 -v -3.956283 1.027734 0.148904 -v -1.434329 1.136439 -0.139921 -v -1.434329 1.216374 0.053059 -v -1.434329 0.943459 -0.219856 -v -1.434329 0.750480 -0.139921 -v -1.434329 0.670545 0.053059 -v -1.434329 0.750480 0.246039 -v -1.434329 0.943459 0.325973 -v -1.434329 1.136439 0.246039 -v -1.153869 1.075759 -0.111905 -v -1.153869 1.154267 0.053059 -v -1.153869 0.943459 -0.159600 -v -1.153869 0.811160 -0.111905 -v -1.153869 0.732651 0.053059 -v -1.153869 0.811160 0.218023 -v -1.153869 0.943459 0.265718 -v -1.153869 1.075759 0.218023 -v -3.720578 0.065730 0.246115 -v -3.720578 0.065730 -0.139997 -v -3.720578 0.283557 0.246115 -v -3.720578 0.283557 -0.139997 -v -0.363571 0.065730 0.246115 -v -0.363571 0.065730 -0.139997 -v -0.363571 0.283557 0.246115 -v -0.363571 0.283557 -0.139997 -v -3.682338 0.275609 0.258860 -v -3.682338 0.275609 -0.152742 -v -0.875427 0.275609 0.258860 -v -0.875427 0.275609 -0.152742 -v -3.682338 0.644558 0.175493 -v -3.682338 0.460708 0.258860 -v -3.682338 0.460708 -0.152742 -v -3.682338 0.644558 -0.069375 -v -0.875427 0.460708 0.258860 -v -0.875427 0.644558 0.175493 -v -0.875427 0.644558 -0.069375 -v -0.875427 0.460708 -0.152742 -v -4.216019 0.072342 -0.096029 -v -4.216019 0.072342 0.202147 -v -3.717665 0.072342 -0.096029 -v -3.717665 0.072342 0.202147 -v -4.167888 -0.452882 -0.096029 -v -4.216019 -0.419663 -0.018904 -v -4.216019 -0.419663 0.125021 -v -4.167888 -0.452882 0.202147 -v -3.717665 -0.385825 -0.018904 -v -3.717665 -0.299080 -0.096029 -v -3.717665 -0.299080 0.202147 -v -3.717665 -0.385825 0.125021 -v -4.216019 -0.168830 -0.018904 -v -4.216019 -0.081946 -0.096029 -v -4.216019 -0.081946 0.202147 -v -4.216019 -0.168830 0.125021 -v -4.289693 -0.011719 0.202147 -v -4.337946 -0.052607 0.125021 -v -4.337946 0.072342 0.125021 -v -4.289693 0.072342 0.202147 -v -4.289693 0.072342 -0.096029 -v -4.337946 0.072342 -0.018904 -v -4.289693 -0.011719 -0.096029 -v -4.337946 -0.052607 -0.018904 -v -3.923980 -0.621216 -0.018904 -v -3.971354 -0.588521 -0.096029 -v -3.971354 -0.588521 0.202147 -v -3.923980 -0.621216 0.125021 -v -4.074046 -1.052327 0.202147 -v -4.084821 -1.127861 0.125021 -v -4.084821 -1.127861 -0.018904 -v -4.074046 -1.052327 -0.096029 -v -4.110802 -0.871791 0.202147 -v -4.048686 -0.874538 0.125021 -v -4.048686 -0.874538 -0.018904 -v -4.110802 -0.871791 -0.096029 -v -4.043868 -1.042210 0.202147 -v -4.004060 -1.100786 0.125021 -v -4.043868 -1.042210 -0.096029 -v -4.004060 -1.100786 -0.018904 -v -4.039167 -1.014916 0.202147 -v -3.986495 -0.998795 0.125021 -v -4.039167 -1.014916 -0.096029 -v -3.986495 -0.998795 -0.018904 -v -4.422300 -0.875735 -0.096029 -v -4.465699 -0.934725 -0.018904 -v -4.428116 -0.811104 -0.096029 -v -4.479420 -0.782253 -0.018904 -v -4.428116 -0.811104 0.202147 -v -4.479420 -0.782253 0.125021 -v -4.422300 -0.875735 0.202147 -v -4.465699 -0.934725 0.125021 -v -3.212253 0.631368 -0.053731 -v -3.212253 0.631368 0.159848 -v -3.031964 0.631368 -0.053731 -v -3.031964 0.631368 0.159848 -v -3.212253 1.058757 0.012589 -v -3.212253 0.926045 -0.053731 -v -3.212253 1.019887 -0.034306 -v -3.212253 0.926045 0.159848 -v -3.212253 1.058757 0.093529 -v -3.212253 1.019887 0.140424 -v -3.031964 0.926045 -0.053731 -v -3.031964 1.058757 0.012589 -v -3.031964 1.019887 -0.034306 -v -3.031964 1.058757 0.093529 -v -3.031964 0.926045 0.159848 -v -3.031964 1.019887 0.140424 -v -1.693464 0.078085 0.206852 -v -1.693464 0.078085 -0.100735 -v -1.693464 -0.317987 0.206852 -v -1.693464 -0.317987 -0.100735 -v -1.975951 0.078085 0.206852 -v -1.975951 0.078085 -0.100735 -v -1.975951 -0.317987 0.206852 -v -1.975951 -0.317987 -0.100735 -v -3.221759 0.099040 0.152432 -v -3.221759 0.099040 -0.046314 -v -3.221759 -0.370375 0.152432 -v -3.221759 -0.370375 -0.046314 -v -3.726855 0.099040 0.152432 -v -3.726855 0.099040 -0.046314 -v -3.726855 -0.370375 0.152432 -v -3.726855 -0.370375 -0.046314 -v -3.245320 -0.018599 -0.046314 -v -3.245320 -0.018599 0.152432 -v -3.596445 -0.018599 -0.046314 -v -3.596445 -0.018599 0.152432 -v -3.245320 -0.344920 -0.046314 -v -3.245320 -0.344920 0.152432 -v -3.596445 -0.344920 -0.046314 -v -3.596445 -0.344920 0.152432 -v -1.153869 1.136439 -0.139921 -v -1.153869 1.216374 0.053059 -v -1.153869 0.943459 -0.219856 -v -1.153869 0.750480 -0.139921 -v -1.153869 0.670545 0.053059 -v -1.153869 0.750480 0.246039 -v -1.153869 0.943459 0.325973 -v -1.153869 1.136439 0.246039 -v -1.235700 1.075759 -0.111905 -v -1.235700 1.154267 0.053059 -v -1.235700 0.943459 -0.159600 -v -1.235700 0.811160 -0.111905 -v -1.235700 0.732651 0.053059 -v -1.235700 0.811160 0.218023 -v -1.235700 0.943459 0.265718 -v -1.235700 1.075759 0.218023 -v -3.956283 1.109163 0.053059 -v -3.956283 1.060629 -0.064112 -v -3.956283 0.943459 -0.112645 -v -3.956283 0.826289 -0.064112 -v -3.956283 0.777755 0.053059 -v -3.956283 0.826289 0.170229 -v -3.956283 0.943459 0.218762 -v -3.956283 1.060629 0.170229 -v -3.875059 1.075495 0.053059 -v -3.875059 1.027734 -0.042786 -v -3.875059 0.943459 -0.071803 -v -3.875059 0.859184 -0.042786 -v -3.875059 0.811424 0.053059 -v -3.875059 0.859184 0.148904 -v -3.875059 0.943459 0.177920 -v -3.875059 1.027734 0.148904 -vn -0.9933 -0.1154 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.8137 -0.5813 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 -0.0000 1.0000 -vn 0.2132 -0.9770 -0.0000 -vn 1.0000 0.0000 0.0000 -vn -0.9933 0.1154 0.0000 -vn 0.9867 -0.1628 -0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.9866 -0.1633 0.0000 -vn -0.9875 -0.1578 0.0000 -vn -0.5464 -0.8375 0.0000 -vn 0.8177 0.5756 0.0000 -vn -0.8177 -0.5756 0.0000 -vn 0.5464 0.8375 0.0000 -vn 0.1155 -0.9933 0.0000 -vn -0.1279 0.9918 0.0000 -vn -0.0699 -0.9976 0.0000 -vn -0.2809 -0.0000 -0.9597 -vn -0.2809 0.0000 0.9597 -vn -0.0699 0.9976 0.0000 -vn 0.9757 0.2189 0.0000 -vn -0.9757 0.2189 0.0000 -vn 0.0000 0.4130 0.9107 -vn 0.0000 0.4130 -0.9107 -vn -0.2810 0.0000 0.9597 -vn -0.6302 0.7764 0.0000 -vn 0.1186 0.7021 -0.7021 -vn -0.6302 0.5490 -0.5490 -vn -0.6302 0.0000 -0.7764 -vn 0.1186 0.0000 -0.9929 -vn -0.6302 -0.5490 -0.5490 -vn 0.1186 -0.7021 -0.7021 -vn -0.6302 -0.7764 0.0000 -vn 0.1186 -0.9929 0.0000 -vn -0.6302 -0.5490 0.5490 -vn 0.1186 -0.7021 0.7021 -vn -0.6302 0.0000 0.7764 -vn 0.1258 0.0000 -0.9920 -vn 0.1258 -0.7015 -0.7015 -vn 0.1186 0.0000 0.9929 -vn -0.6302 0.5490 0.5490 -vn 0.1186 0.9929 0.0000 -vn 0.1258 0.0000 0.9920 -vn 0.6302 0.5490 0.5490 -vn 0.1258 0.7015 0.7015 -vn 0.1258 -0.9920 0.0000 -vn 0.1186 0.7021 0.7021 -vn 0.1258 -0.7015 0.7015 -vn 0.1258 0.9920 0.0000 -vn 0.1258 0.7015 -0.7015 -vn 0.6302 -0.7764 0.0000 -vn 0.6302 -0.5490 0.5490 -vn 0.6302 0.0000 -0.7764 -vn 0.6302 -0.5490 -0.5490 -vn 0.6302 0.5490 -0.5490 -vn 0.6302 0.7764 0.0000 -vn 0.6302 0.0000 0.7764 -vn -0.4610 0.4979 0.7346 -vn -0.4964 0.8681 0.0000 -vn -0.4610 0.4979 -0.7346 -vn 0.1087 0.0000 0.9940 -vn -0.0666 0.6393 -0.7660 -vn 0.1088 0.0000 -0.9940 -vn -0.4799 0.5389 0.6923 -vn -0.8040 0.0000 0.5946 -vn -0.6820 0.1808 -0.7086 -vn -0.0666 -0.6393 0.7660 -vn -0.0666 -0.6393 -0.7660 -vn -0.4609 -0.4979 -0.7346 -vn -0.0666 0.6393 0.7660 -vn -0.4964 -0.8681 0.0000 -vn -0.4610 -0.4979 0.7346 -vn -0.4763 -0.8399 0.2600 -vn -0.4799 -0.5389 0.6923 -vn 0.8042 -0.4200 0.4206 -vn -0.8040 0.0000 -0.5946 -vn -0.4799 -0.5389 -0.6923 -vn 0.8040 0.0000 -0.5946 -vn -0.6820 0.1807 0.7086 -vn -0.6820 -0.1808 0.7086 -vn 0.8040 0.0000 0.5946 -vn -0.4763 0.8399 -0.2600 -vn -0.4799 0.5389 -0.6923 -vn 0.8042 0.4200 -0.4206 -vn 0.8044 -0.5941 0.0000 -vn 0.8043 0.5941 0.0000 -vn -0.4763 -0.8399 -0.2600 -vn 0.8042 -0.4200 -0.4206 -vn -0.4763 0.8399 0.2600 -vn 0.8042 0.4200 0.4206 -vn -0.6381 0.7243 0.2611 -vn 0.6381 0.7243 -0.2611 -vn -0.6381 0.7243 -0.2611 -vn -0.6849 0.0742 -0.7248 -vn 0.6396 0.3961 -0.6587 -vn 0.6849 0.0742 -0.7248 -vn -0.6396 0.3961 -0.6587 -vn 0.6849 0.0742 0.7248 -vn -0.6396 0.3961 0.6587 -vn -0.6849 0.0742 0.7248 -vn 0.6396 0.3961 0.6587 -vn 0.0660 0.9978 0.0000 -vn -0.1089 0.7029 -0.7029 -vn 0.0660 0.7056 -0.7056 -vn -0.1089 0.0000 -0.9940 -vn 0.0660 0.0000 -0.9978 -vn 0.0660 -0.7056 -0.7056 -vn -0.1089 -0.7029 -0.7029 -vn 0.0660 -0.9978 0.0000 -vn -0.1089 -0.9940 0.0000 -vn 0.0660 -0.7056 0.7056 -vn -0.1089 -0.7029 0.7029 -vn 0.0660 0.0000 0.9978 -vn -0.1034 0.7033 -0.7033 -vn -0.1034 0.0000 -0.9946 -vn -0.1089 0.7029 0.7029 -vn 0.0660 0.7056 0.7056 -vn -0.1089 0.9940 0.0000 -vn 0.0639 -0.7056 -0.7056 -vn 0.0639 0.0000 -0.9979 -vn 0.0639 0.0000 0.9979 -vn 0.0639 -0.7056 0.7056 -vn 0.0639 -0.9979 0.0000 -vn 0.0639 0.7056 0.7056 -vn 0.0639 0.7056 -0.7056 -vn 0.0639 0.9979 0.0000 -vn -0.8031 0.3929 -0.4480 -vn -0.6191 0.7852 0.0000 -vn -0.8225 0.5687 0.0000 -vn -0.1034 0.0000 0.9946 -vn -0.1034 0.7033 0.7033 -vn -0.1034 -0.9946 0.0000 -vn -0.1034 -0.7033 0.7033 -vn -0.1034 0.9946 0.0000 -vn -0.1034 -0.7033 -0.7033 -vn -0.1089 0.0000 0.9940 -vn 0.8036 0.3997 0.4410 -vn 0.6220 0.7830 0.0000 -vn -0.8693 -0.3884 0.3058 -vn -0.7305 0.6500 -0.2097 -vn -0.8693 -0.3884 -0.3058 -vn 0.8837 -0.4029 0.2382 -vn 0.7873 -0.5250 -0.3232 -vn 0.8837 -0.4029 -0.2382 -vn 0.7873 -0.5250 0.3232 -vn 0.9305 0.0083 -0.3662 -vn 0.0000 0.7071 0.7071 -vn -0.4937 -0.1768 0.8514 -vn -0.3235 -0.2234 0.9195 -vn -0.9254 -0.3301 0.1863 -vn -0.9254 -0.3301 -0.1863 -vn 0.0000 0.7071 -0.7071 -vn -0.4937 -0.1768 -0.8514 -vn -0.3830 0.6126 -0.6914 -vn -0.9049 0.2744 -0.3253 -vn -0.9179 0.2646 0.2956 -vn -0.9049 0.2744 0.3253 -vn 0.9305 0.0083 0.3662 -vn 0.9467 0.1460 -0.2870 -vn -0.0716 -0.9338 -0.3504 -vn 0.7078 -0.6280 0.3234 -vn -0.0716 -0.9338 0.3504 -vn -0.7706 -0.5462 0.3284 -vn -0.9179 0.2646 -0.2956 -vn -0.7706 -0.5462 -0.3284 -vn 0.9467 0.1460 0.2870 -vn 0.7078 -0.6280 -0.3234 -vn -0.3525 0.1204 -0.9280 -vn -0.3235 -0.2234 -0.9195 -vn 0.3470 -0.2320 -0.9087 -vn -0.3525 0.1204 0.9280 -vn -0.7305 0.6500 0.2097 -vn 0.3470 -0.2320 0.9087 -vn 0.7021 -0.1205 0.7018 -vn 0.3184 -0.0011 0.9479 -vn 0.3184 -0.0011 -0.9479 -vn 0.4219 -0.3035 0.8543 -vn 0.4219 -0.3035 -0.8543 -vn 0.5235 0.0663 -0.8495 -vn -0.0263 -0.4615 -0.8867 -vn -0.0263 -0.4615 0.8867 -vn 0.5235 0.0663 0.8495 -vn -0.4544 -0.2443 -0.8566 -vn -0.5130 0.1193 -0.8501 -vn -0.4544 -0.2443 0.8566 -vn -0.5130 0.1193 0.8501 -vn 0.8036 -0.3997 0.4410 -vn 0.6381 0.0000 0.7699 -vn 0.7920 0.0000 0.6105 -vn 0.7920 0.0000 -0.6105 -vn 0.6306 -0.5212 -0.5750 -vn 0.8036 -0.3997 -0.4410 -vn 0.6306 0.5212 -0.5750 -vn 0.8036 0.3997 -0.4410 -vn 0.6306 0.5212 0.5750 -vn 0.8177 -0.5756 0.0000 -vn 0.6306 -0.5212 0.5750 -vn 0.6220 -0.7830 0.0000 -vn 0.6381 0.0000 -0.7699 -vn -0.8031 0.3929 0.4480 -vn -0.6406 0.0000 0.7678 -vn -0.7882 0.0000 0.6154 -vn -0.8031 -0.3929 0.4480 -vn -0.6191 -0.7852 0.0000 -vn -0.8225 -0.5687 0.0000 -vn -0.6309 -0.5116 -0.5832 -vn -0.8031 -0.3929 -0.4480 -vn -0.7882 0.0000 -0.6154 -vn -0.6309 0.5116 -0.5832 -vn -0.6309 0.5116 0.5832 -vn -0.6309 -0.5116 0.5832 -vn -0.6406 0.0000 -0.7678 -vn -0.6820 -0.1808 -0.7086 -vn 0.6381 0.7243 0.2611 -vn -0.3830 0.6126 0.6914 -vn 0.7021 -0.1205 -0.7018 -usemtl None_NONE -s off -f 18//2 7//2 17//2 -f 8//3 11//3 7//3 -f 14//4 9//4 13//4 -f 10//5 5//5 9//5 -f 19//6 13//6 7//6 -f 18//7 14//7 8//7 -f 16//8 13//8 15//8 -f 20//9 15//9 19//9 -f 6//10 17//10 5//10 -f 22//5 19//5 21//5 -f 21//5 26//5 22//5 -f 12//9 23//9 11//9 -f 25//9 27//9 28//9 -f 24//3 28//3 23//3 -f 23//6 27//6 21//6 -f 22//7 25//7 24//7 -f 31//11 30//11 29//11 -f 37//6 36//6 32//6 -f 33//12 36//12 35//12 -f 29//3 34//3 33//3 -f 31//7 33//7 35//7 -f 34//6 32//6 36//6 -f 37//6 44//6 40//6 -f 38//13 32//13 31//13 -f 40//14 35//14 36//14 -f 35//7 38//7 31//7 -f 48//15 43//15 44//15 -f 42//16 37//16 38//16 -f 44//17 39//17 40//17 -f 43//7 38//7 39//7 -f 47//5 45//5 46//5 -f 47//7 42//7 43//7 -f 41//6 48//6 44//6 -f 46//18 41//18 42//18 -f 51//9 50//9 49//9 -f 55//5 52//5 51//5 -f 53//12 56//12 55//12 -f 49//3 54//3 53//3 -f 49//7 55//7 51//7 -f 54//6 52//6 56//6 -f 79//12 77//12 78//12 -f 82//3 85//3 89//3 -f 83//9 84//9 85//9 -f 88//19 78//19 91//19 -f 66//7 92//7 82//7 -f 81//6 67//6 91//6 -f 92//19 67//19 87//19 -f 90//3 65//3 81//3 -f 80//3 81//3 77//3 -f 86//19 87//19 84//19 -f 90//7 68//7 66//7 -f 65//6 87//6 67//6 -f 68//19 91//19 67//19 -f 66//3 89//3 65//3 -f 57//6 77//6 59//6 -f 58//7 80//7 79//7 -f 59//6 81//6 69//6 -f 64//7 82//7 70//7 -f 61//6 85//6 84//6 -f 62//7 83//7 64//7 -f 71//6 84//6 87//6 -f 58//7 88//7 72//7 -f 63//6 89//6 85//6 -f 60//7 90//7 80//7 -f 57//6 91//6 78//6 -f 76//7 86//7 62//7 -f 75//6 81//6 91//6 -f 76//7 82//7 92//7 -f 72//7 90//7 74//7 -f 71//6 89//6 73//6 -f 93//6 95//6 96//6 -f 94//5 73//5 63//5 -f 95//12 63//12 61//12 -f 96//20 61//20 71//20 -f 93//9 71//9 73//9 -f 98//7 100//7 97//7 -f 98//5 74//5 60//5 -f 99//9 60//9 58//9 -f 100//20 58//20 72//20 -f 97//12 72//12 74//12 -f 101//6 103//6 104//6 -f 102//5 59//5 69//5 -f 103//12 69//12 75//12 -f 104//20 75//20 57//20 -f 101//9 57//9 59//9 -f 106//7 108//7 105//7 -f 106//5 64//5 70//5 -f 107//9 70//9 76//9 -f 108//20 76//20 62//20 -f 105//12 62//12 64//12 -f 117//12 119//12 123//12 -f 138//9 137//9 134//9 -f 142//12 143//12 141//12 -f 144//3 147//3 143//3 -f 145//21 152//21 146//21 -f 145//5 142//5 141//5 -f 147//6 141//6 143//6 -f 144//7 146//7 148//7 -f 181//9 172//9 151//9 -f 155//22 150//22 151//22 -f 148//23 160//23 164//23 -f 148//24 150//24 147//24 -f 159//22 145//22 147//22 -f 156//23 166//23 152//23 -f 179//9 167//9 150//9 -f 188//12 189//12 187//12 -f 190//3 193//3 189//3 -f 194//9 191//9 193//9 -f 192//5 187//5 191//5 -f 193//6 187//6 189//6 -f 190//7 192//7 194//7 -f 206//9 204//9 210//9 -f 203//12 205//12 209//12 -f 222//9 220//9 226//9 -f 219//12 221//12 225//12 -f 231//3 237//3 236//3 -f 229//5 228//5 227//5 -f 238//6 233//6 228//6 -f 227//9 233//9 232//9 -f 235//12 230//12 229//12 -f 232//25 234//25 231//25 -f 238//26 236//26 237//26 -f 232//7 235//7 229//7 -f 246//7 242//7 253//7 -f 242//5 239//5 241//5 -f 247//12 243//12 240//12 -f 252//9 242//9 241//9 -f 249//6 239//6 244//6 -f 305//12 304//12 303//12 -f 309//3 306//3 305//3 -f 307//9 310//9 309//9 -f 303//5 308//5 307//5 -f 303//7 309//7 305//7 -f 308//6 306//6 310//6 -f 320//3 318//3 315//3 -f 314//6 317//6 322//6 -f 311//5 314//5 313//5 -f 315//12 318//12 311//12 -f 314//9 321//9 320//9 -f 320//27 316//27 319//27 -f 318//28 322//28 317//28 -f 311//7 319//7 316//7 -f 324//3 325//3 323//3 -f 371//7 373//7 355//7 -f 326//9 334//9 325//9 -f 358//6 367//6 369//6 -f 323//3 344//3 324//3 -f 354//6 365//6 361//6 -f 337//7 330//7 333//7 -f 351//7 363//7 355//7 -f 332//6 327//6 336//6 -f 382//7 378//7 389//7 -f 378//5 375//5 377//5 -f 383//12 379//12 376//12 -f 388//9 378//9 377//9 -f 385//6 375//6 380//6 -f 393//9 392//9 391//9 -f 397//5 394//5 393//5 -f 395//12 398//12 397//12 -f 391//3 396//3 395//3 -f 391//7 397//7 393//7 -f 396//6 394//6 398//6 -f 401//9 400//9 399//9 -f 405//5 402//5 401//5 -f 403//12 406//12 405//12 -f 399//3 404//3 403//3 -f 410//7 403//7 405//7 -f 400//6 407//6 409//6 -f 414//9 409//9 410//9 -f 412//3 413//3 414//3 -f 402//6 413//6 411//6 -f 408//12 411//12 412//12 -f 410//5 407//5 408//5 -f 399//7 410//7 408//7 -f 295//9 416//9 296//9 -f 297//9 415//9 295//9 -f 297//9 418//9 417//9 -f 298//9 419//9 418//9 -f 300//9 419//9 299//9 -f 301//9 420//9 300//9 -f 301//9 422//9 421//9 -f 302//9 416//9 422//9 -f 428//9 427//9 430//9 -f 280//12 431//12 432//12 -f 281//12 432//12 433//12 -f 281//12 434//12 282//12 -f 282//12 435//12 283//12 -f 284//12 435//12 436//12 -f 285//12 436//12 437//12 -f 285//12 438//12 286//12 -f 286//12 431//12 279//12 -f 443//12 444//12 446//12 -f 18//2 8//2 7//2 -f 8//3 12//3 11//3 -f 14//4 10//4 9//4 -f 10//5 6//5 5//5 -f 17//6 7//6 13//6 -f 11//6 23//6 19//6 -f 19//6 15//6 13//6 -f 23//6 21//6 19//6 -f 5//6 17//6 13//6 -f 13//6 9//6 5//6 -f 11//6 19//6 7//6 -f 24//7 12//7 20//7 -f 18//7 6//7 14//7 -f 12//7 8//7 20//7 -f 20//7 22//7 24//7 -f 14//7 16//7 20//7 -f 6//7 10//7 14//7 -f 20//7 8//7 14//7 -f 16//8 14//8 13//8 -f 20//9 16//9 15//9 -f 6//10 18//10 17//10 -f 22//5 20//5 19//5 -f 21//5 27//5 26//5 -f 12//9 24//9 23//9 -f 25//9 26//9 27//9 -f 24//3 25//3 28//3 -f 23//6 28//6 27//6 -f 22//7 26//7 25//7 -f 31//11 32//11 30//11 -f 37//6 40//6 36//6 -f 33//12 34//12 36//12 -f 29//3 30//3 34//3 -f 31//7 29//7 33//7 -f 34//6 30//6 32//6 -f 37//6 41//6 44//6 -f 38//13 37//13 32//13 -f 40//14 39//14 35//14 -f 35//7 39//7 38//7 -f 48//15 47//15 43//15 -f 42//16 41//16 37//16 -f 44//17 43//17 39//17 -f 43//7 42//7 38//7 -f 47//5 48//5 45//5 -f 47//7 46//7 42//7 -f 41//6 45//6 48//6 -f 46//18 45//18 41//18 -f 51//9 52//9 50//9 -f 55//5 56//5 52//5 -f 53//12 54//12 56//12 -f 49//3 50//3 54//3 -f 49//7 53//7 55//7 -f 54//6 50//6 52//6 -f 79//12 80//12 77//12 -f 82//3 83//3 85//3 -f 83//9 86//9 84//9 -f 88//19 79//19 78//19 -f 66//7 68//7 92//7 -f 81//6 65//6 67//6 -f 92//19 68//19 67//19 -f 90//3 66//3 65//3 -f 80//3 90//3 81//3 -f 86//19 92//19 87//19 -f 90//7 88//7 68//7 -f 65//6 89//6 87//6 -f 68//19 88//19 91//19 -f 66//3 82//3 89//3 -f 57//6 78//6 77//6 -f 58//7 60//7 80//7 -f 59//6 77//6 81//6 -f 64//7 83//7 82//7 -f 61//6 63//6 85//6 -f 62//7 86//7 83//7 -f 71//6 61//6 84//6 -f 58//7 79//7 88//7 -f 63//6 73//6 89//6 -f 60//7 74//7 90//7 -f 57//6 75//6 91//6 -f 76//7 92//7 86//7 -f 75//6 69//6 81//6 -f 76//7 70//7 82//7 -f 72//7 88//7 90//7 -f 71//6 87//6 89//6 -f 93//6 94//6 95//6 -f 94//5 93//5 73//5 -f 95//12 94//12 63//12 -f 96//20 95//20 61//20 -f 93//9 96//9 71//9 -f 98//7 99//7 100//7 -f 98//5 97//5 74//5 -f 99//9 98//9 60//9 -f 100//20 99//20 58//20 -f 97//12 100//12 72//12 -f 101//6 102//6 103//6 -f 102//5 101//5 59//5 -f 103//12 102//12 69//12 -f 104//20 103//20 75//20 -f 101//9 104//9 57//9 -f 106//7 107//7 108//7 -f 106//5 105//5 64//5 -f 107//9 106//9 70//9 -f 108//20 107//20 76//20 -f 105//12 108//12 62//12 -f 123//12 109//12 117//12 -f 111//12 113//12 115//12 -f 115//12 117//12 109//12 -f 119//12 121//12 123//12 -f 109//12 111//12 115//12 -f 135//9 133//9 136//9 -f 134//9 140//9 138//9 -f 139//9 138//9 140//9 -f 137//9 136//9 134//9 -f 133//9 134//9 136//9 -f 142//12 144//12 143//12 -f 144//3 148//3 147//3 -f 145//21 151//21 152//21 -f 145//5 146//5 142//5 -f 147//6 145//6 141//6 -f 144//7 142//7 146//7 -f 151//9 150//9 170//9 -f 151//9 170//9 181//9 -f 184//9 149//9 152//9 -f 174//9 184//9 152//9 -f 152//9 151//9 172//9 -f 172//9 174//9 152//9 -f 151//22 145//22 157//22 -f 151//22 157//22 165//22 -f 153//22 161//22 150//22 -f 151//22 165//22 155//22 -f 155//22 153//22 150//22 -f 146//23 158//23 160//23 -f 164//23 162//23 149//23 -f 148//29 146//29 160//29 -f 164//23 149//23 148//23 -f 148//24 149//24 150//24 -f 147//22 150//22 163//22 -f 150//22 161//22 163//22 -f 159//22 157//22 145//22 -f 147//22 163//22 159//22 -f 149//23 162//23 154//23 -f 149//23 154//23 156//23 -f 158//23 146//23 152//23 -f 166//23 158//23 152//23 -f 152//23 149//23 156//23 -f 149//9 184//9 176//9 -f 149//9 176//9 179//9 -f 167//9 170//9 150//9 -f 150//9 149//9 179//9 -f 188//12 190//12 189//12 -f 190//3 194//3 193//3 -f 194//9 192//9 191//9 -f 192//5 188//5 187//5 -f 193//6 191//6 187//6 -f 190//7 188//7 192//7 -f 200//9 198//9 202//9 -f 196//9 210//9 204//9 -f 208//9 206//9 210//9 -f 204//9 202//9 196//9 -f 198//9 196//9 202//9 -f 209//12 195//12 203//12 -f 197//12 199//12 201//12 -f 201//12 203//12 195//12 -f 205//12 207//12 209//12 -f 195//12 197//12 201//12 -f 216//9 214//9 218//9 -f 212//9 226//9 220//9 -f 224//9 222//9 226//9 -f 220//9 218//9 212//9 -f 214//9 212//9 218//9 -f 225//12 211//12 219//12 -f 213//12 215//12 217//12 -f 217//12 219//12 211//12 -f 221//12 223//12 225//12 -f 211//12 213//12 217//12 -f 231//3 234//3 237//3 -f 229//5 230//5 228//5 -f 228//6 230//6 238//6 -f 238//6 237//6 234//6 -f 234//6 233//6 238//6 -f 227//9 228//9 233//9 -f 235//12 238//12 230//12 -f 232//25 233//25 234//25 -f 238//26 235//26 236//26 -f 229//7 227//7 232//7 -f 232//7 231//7 236//7 -f 236//7 235//7 232//7 -f 246//7 240//7 242//7 -f 242//5 240//5 239//5 -f 244//12 239//12 245//12 -f 240//12 246//12 248//12 -f 248//12 247//12 240//12 -f 243//12 245//12 239//12 -f 239//12 240//12 243//12 -f 241//9 249//9 251//9 -f 251//9 250//9 241//9 -f 252//9 254//9 242//9 -f 253//9 242//9 254//9 -f 241//9 250//9 252//9 -f 249//6 241//6 239//6 -f 305//12 306//12 304//12 -f 309//3 310//3 306//3 -f 307//9 308//9 310//9 -f 303//5 304//5 308//5 -f 303//7 307//7 309//7 -f 308//6 304//6 306//6 -f 320//3 321//3 318//3 -f 314//6 312//6 317//6 -f 311//5 312//5 314//5 -f 312//12 311//12 318//12 -f 316//12 315//12 311//12 -f 318//12 317//12 312//12 -f 320//9 319//9 313//9 -f 313//9 314//9 320//9 -f 322//9 321//9 314//9 -f 320//27 315//27 316//27 -f 318//28 321//28 322//28 -f 311//7 313//7 319//7 -f 324//3 326//3 325//3 -f 355//7 349//7 371//7 -f 330//7 371//7 349//7 -f 373//7 351//7 355//7 -f 332//9 325//9 331//9 -f 326//9 333//9 334//9 -f 334//9 331//9 325//9 -f 369//6 327//6 348//6 -f 358//6 354//6 367//6 -f 369//6 348//6 358//6 -f 342//3 324//3 341//3 -f 323//3 343//3 344//3 -f 344//3 341//3 324//3 -f 354//6 358//6 365//6 -f 333//7 326//7 337//7 -f 324//7 337//7 326//7 -f 330//7 349//7 333//7 -f 351//7 359//7 363//7 -f 336//6 323//6 325//6 -f 325//6 332//6 336//6 -f 348//6 327//6 332//6 -f 382//7 376//7 378//7 -f 378//5 376//5 375//5 -f 380//12 375//12 381//12 -f 376//12 382//12 384//12 -f 384//12 383//12 376//12 -f 379//12 381//12 375//12 -f 375//12 376//12 379//12 -f 377//9 385//9 387//9 -f 387//9 386//9 377//9 -f 388//9 390//9 378//9 -f 389//9 378//9 390//9 -f 377//9 386//9 388//9 -f 385//6 377//6 375//6 -f 393//9 394//9 392//9 -f 397//5 398//5 394//5 -f 395//12 396//12 398//12 -f 391//3 392//3 396//3 -f 391//7 395//7 397//7 -f 396//6 392//6 394//6 -f 401//9 402//9 400//9 -f 405//5 406//5 402//5 -f 403//12 404//12 406//12 -f 399//3 400//3 404//3 -f 405//7 401//7 414//7 -f 414//7 410//7 405//7 -f 401//7 412//7 414//7 -f 413//6 406//6 409//6 -f 404//6 400//6 409//6 -f 409//6 406//6 404//6 -f 414//9 413//9 409//9 -f 412//3 411//3 413//3 -f 407//6 400//6 402//6 -f 402//6 406//6 413//6 -f 411//6 407//6 402//6 -f 408//12 407//12 411//12 -f 410//5 409//5 407//5 -f 408//7 412//7 401//7 -f 399//7 403//7 410//7 -f 408//7 401//7 399//7 -f 295//9 415//9 416//9 -f 297//9 417//9 415//9 -f 297//9 298//9 418//9 -f 298//9 299//9 419//9 -f 300//9 420//9 419//9 -f 301//9 421//9 420//9 -f 301//9 302//9 422//9 -f 302//9 296//9 416//9 -f 425//9 423//9 426//9 -f 424//9 430//9 427//9 -f 429//9 428//9 430//9 -f 427//9 426//9 423//9 -f 423//9 424//9 427//9 -f 280//12 279//12 431//12 -f 281//12 280//12 432//12 -f 281//12 433//12 434//12 -f 282//12 434//12 435//12 -f 284//12 283//12 435//12 -f 285//12 284//12 436//12 -f 285//12 437//12 438//12 -f 286//12 438//12 431//12 -f 446//12 439//12 443//12 -f 440//12 441//12 442//12 -f 442//12 443//12 439//12 -f 444//12 445//12 446//12 -f 439//12 440//12 442//12 -s 1 -f 109//30 112//31 111//32 -f 112//31 113//33 111//32 -f 114//34 115//35 113//33 -f 116//36 117//37 115//35 -f 118//38 119//39 117//37 -f 120//40 121//41 119//39 -f 116//36 127//42 128//43 -f 122//44 123//45 121//41 -f 123//45 110//46 109//30 -f 131//47 140//48 132//49 -f 120//40 131//47 122//44 -f 118//38 128//43 129//50 -f 124//51 131//47 132//49 -f 112//31 127//42 114//34 -f 118//38 130//52 120//40 -f 110//46 132//49 126//53 -f 110//46 125//54 112//31 -f 130//52 137//55 138//56 -f 128//43 135//57 136//58 -f 126//53 133//59 125//54 -f 132//49 134//60 126//53 -f 131//47 138//56 139//61 -f 129//50 136//58 137//55 -f 125//54 135//57 127//42 -f 166//62 173//63 165//64 -f 160//65 157//66 159//67 -f 186//68 171//69 155//70 -f 164//71 159//67 163//72 -f 161//73 164//71 163//72 -f 158//74 165//64 157//66 -f 180//75 162//76 161//73 -f 169//77 168//78 167//79 -f 185//80 177//81 184//82 -f 185//80 156//83 154//84 -f 171//69 186//68 170//85 -f 175//86 183//87 174//88 -f 179//89 169//77 167//79 -f 172//90 175//86 174//88 -f 178//91 179//89 176//92 -f 182//93 172//90 181//94 -f 195//30 198//59 197//32 -f 197//32 200//57 199//33 -f 200//57 201//35 199//33 -f 202//58 203//37 201//35 -f 204//55 205//39 203//37 -f 206//56 207//41 205//39 -f 208//61 209//45 207//41 -f 209//45 196//60 195//30 -f 211//30 214//59 213//32 -f 213//32 216//57 215//33 -f 215//33 218//58 217//35 -f 218//58 219//37 217//35 -f 220//55 221//39 219//37 -f 221//39 224//61 223//41 -f 223//41 226//48 225//45 -f 225//45 212//60 211//30 -f 247//95 250//96 243//97 -f 244//98 251//99 249//100 -f 245//101 250//96 251//99 -f 253//102 248//103 246//104 -f 254//105 247//95 248//103 -f 255//106 258//107 257//108 -f 257//108 260//109 259//110 -f 260//109 261//111 259//110 -f 262//112 263//113 261//111 -f 264//114 265//115 263//113 -f 266//116 267//117 265//115 -f 260//109 287//118 289//119 -f 267//117 270//120 269//121 -f 269//121 256//122 255//106 -f 259//110 274//123 273//124 -f 277//125 436//39 276//126 -f 267//117 276//126 265//115 -f 261//111 275//127 274//123 -f 267//117 278//128 277//125 -f 259//110 272//129 257//108 -f 265//115 275//127 263//113 -f 269//121 271//130 278//128 -f 257//108 271//130 255//106 -f 284//131 443//132 283//133 -f 274//123 435//37 434//35 -f 273//124 432//32 272//129 -f 278//128 437//41 277//125 -f 276//126 435//37 275//127 -f 274//123 433//33 273//124 -f 272//129 431//30 271//130 -f 271//130 438//45 278//128 -f 293//134 422//48 294//135 -f 266//116 291//136 292//137 -f 270//120 288//138 256//122 -f 258//107 288//138 287//118 -f 260//109 290//139 262//112 -f 268//140 292//137 293//134 -f 262//112 291//136 264//114 -f 268//140 294//135 270//120 -f 298//141 427//142 299//16 -f 291//136 420//56 292//137 -f 290//139 417//57 418//58 -f 288//138 415//59 287//118 -f 294//135 416//60 288//138 -f 293//134 420//56 421//61 -f 290//139 419//55 291//136 -f 287//118 417//57 289//119 -f 340//143 344//144 346//145 -f 334//146 347//147 331//148 -f 350//149 357//150 347//147 -f 324//151 339//152 337//153 -f 338//154 346//145 335//155 -f 323//156 345//157 343//158 -f 328//159 372//160 329//161 -f 356//162 366//163 357//150 -f 353//164 360//165 352//166 -f 374//167 370//168 368//169 -f 364//170 362//171 366//163 -f 352//166 368//169 353//164 -f 327//172 335//155 336//173 -f 348//174 331//148 347//147 -f 330//175 338//154 329//161 -f 339//152 341//176 340//143 -f 345//157 344//144 343//158 -f 340//143 337//153 339//152 -f 336//173 346//145 345//157 -f 349//177 334//146 333//178 -f 350//149 355//179 356//162 -f 358//180 347//147 357//150 -f 364//170 359//181 360//165 -f 361//182 366//163 362//171 -f 357//150 365//183 358//180 -f 362//171 354//184 361//182 -f 351//185 360//165 359//181 -f 363//186 356//162 355//179 -f 367//187 370//168 369//188 -f 373//189 372//160 374//167 -f 330//175 372//160 371//190 -f 327//172 370//168 328//159 -f 354//184 368//169 367//187 -f 351//185 374//167 352//166 -f 329//161 335//155 328//159 -f 383//95 386//96 379//97 -f 380//98 387//99 385//100 -f 381//101 386//96 387//99 -f 389//102 384//103 382//104 -f 390//105 383//95 384//103 -f 295//191 425//192 297//193 -f 301//194 430//195 302//196 -f 299//16 428//197 300//198 -f 298//141 425//192 426//199 -f 296//200 423//201 295//191 -f 302//196 424//202 296//200 -f 300//198 429//203 301//194 -f 282//204 441//205 281//206 -f 280//207 439//208 279//209 -f 279//209 446//210 286//211 -f 285//212 444//213 284//131 -f 283//133 442//214 282//204 -f 281//206 440//215 280//207 -f 286//211 445//216 285//212 -f 109//30 110//46 112//31 -f 112//31 114//34 113//33 -f 114//34 116//36 115//35 -f 116//36 118//38 117//37 -f 118//38 120//40 119//39 -f 120//40 122//44 121//41 -f 116//36 114//34 127//42 -f 122//44 124//51 123//45 -f 123//45 124//51 110//46 -f 131//47 139//61 140//48 -f 120//40 130//52 131//47 -f 118//38 116//36 128//43 -f 124//51 122//44 131//47 -f 112//31 125//54 127//42 -f 118//38 129//50 130//52 -f 110//46 124//51 132//49 -f 110//46 126//53 125//54 -f 130//52 129//50 137//55 -f 128//43 127//42 135//57 -f 126//53 134//60 133//59 -f 132//49 140//48 134//60 -f 131//47 130//52 138//56 -f 129//50 128//43 136//58 -f 125//54 133//59 135//57 -f 155//70 165//64 186//68 -f 166//62 156//83 183//87 -f 166//62 183//87 175//86 -f 182//93 186//68 165//64 -f 166//62 175//86 173//63 -f 173//63 182//93 165//64 -f 160//65 158//74 157//66 -f 153//217 155//70 171//69 -f 171//69 168//78 153//217 -f 164//71 160//65 159//67 -f 161//73 162//76 164//71 -f 158//74 166//62 165//64 -f 161//73 153//217 168//78 -f 161//73 168//78 169//77 -f 177//81 154//84 162//76 -f 178//91 177//81 162//76 -f 161//73 169//77 180//75 -f 180//75 178//91 162//76 -f 170//85 167//79 168//78 -f 168//78 171//69 170//85 -f 176//92 184//82 177//81 -f 177//81 178//91 176//92 -f 154//84 177//81 185//80 -f 185//80 183//87 156//83 -f 181//94 170//85 186//68 -f 186//68 182//93 181//94 -f 184//82 174//88 183//87 -f 183//87 185//80 184//82 -f 179//89 180//75 169//77 -f 172//90 173//63 175//86 -f 178//91 180//75 179//89 -f 182//93 173//63 172//90 -f 195//30 196//60 198//59 -f 197//32 198//59 200//57 -f 200//57 202//58 201//35 -f 202//58 204//55 203//37 -f 204//55 206//56 205//39 -f 206//56 208//61 207//41 -f 208//61 210//48 209//45 -f 209//45 210//48 196//60 -f 211//30 212//60 214//59 -f 213//32 214//59 216//57 -f 215//33 216//57 218//58 -f 218//58 220//55 219//37 -f 220//55 222//56 221//39 -f 221//39 222//56 224//61 -f 223//41 224//61 226//48 -f 225//45 226//48 212//60 -f 247//95 252//218 250//96 -f 244//98 245//101 251//99 -f 245//101 243//97 250//96 -f 253//102 254//105 248//103 -f 254//105 252//218 247//95 -f 255//106 256//122 258//107 -f 257//108 258//107 260//109 -f 260//109 262//112 261//111 -f 262//112 264//114 263//113 -f 264//114 266//116 265//115 -f 266//116 268//140 267//117 -f 260//109 258//107 287//118 -f 267//117 268//140 270//120 -f 269//121 270//120 256//122 -f 259//110 261//111 274//123 -f 277//125 437//41 436//39 -f 267//117 277//125 276//126 -f 261//111 263//113 275//127 -f 267//117 269//121 278//128 -f 259//110 273//124 272//129 -f 265//115 276//126 275//127 -f 269//121 255//106 271//130 -f 257//108 272//129 271//130 -f 284//131 444//213 443//132 -f 274//123 275//127 435//37 -f 273//124 433//33 432//32 -f 278//128 438//45 437//41 -f 276//126 436//39 435//37 -f 274//123 434//35 433//33 -f 272//129 432//32 431//30 -f 271//130 431//30 438//45 -f 293//134 421//61 422//48 -f 266//116 264//114 291//136 -f 270//120 294//135 288//138 -f 258//107 256//122 288//138 -f 260//109 289//119 290//139 -f 268//140 266//116 292//137 -f 262//112 290//139 291//136 -f 268//140 293//134 294//135 -f 298//141 426//199 427//142 -f 291//136 419//55 420//56 -f 290//139 289//119 417//57 -f 288//138 416//60 415//59 -f 294//135 422//48 416//60 -f 293//134 292//137 420//56 -f 290//139 418//58 419//55 -f 287//118 415//59 417//57 -f 340//143 341//176 344//144 -f 334//146 350//149 347//147 -f 350//149 356//162 357//150 -f 324//151 342//219 339//152 -f 338//154 340//143 346//145 -f 323//156 336//173 345//157 -f 328//159 370//168 372//160 -f 356//162 364//170 366//163 -f 353//164 362//171 360//165 -f 374//167 372//160 370//168 -f 364//170 360//165 362//171 -f 352//166 374//167 368//169 -f 327//172 328//159 335//155 -f 348//174 332//220 331//148 -f 330//175 337//153 338//154 -f 339//152 342//219 341//176 -f 345//157 346//145 344//144 -f 340//143 338//154 337//153 -f 336//173 335//155 346//145 -f 349//177 350//149 334//146 -f 350//149 349//177 355//179 -f 358//180 348//174 347//147 -f 364//170 363//186 359//181 -f 361//182 365//183 366//163 -f 357//150 366//163 365//183 -f 362//171 353//164 354//184 -f 351//185 352//166 360//165 -f 363//186 364//170 356//162 -f 367//187 368//169 370//168 -f 373//189 371//190 372//160 -f 330//175 329//161 372//160 -f 327//172 369//188 370//168 -f 354//184 353//164 368//169 -f 351//185 373//189 374//167 -f 329//161 338//154 335//155 -f 383//95 388//218 386//96 -f 380//98 381//101 387//99 -f 381//101 379//97 386//96 -f 389//102 390//105 384//103 -f 390//105 388//218 383//95 -f 295//191 423//201 425//192 -f 301//194 429//203 430//195 -f 299//16 427//142 428//197 -f 298//141 297//193 425//192 -f 296//200 424//202 423//201 -f 302//196 430//195 424//202 -f 300//198 428//197 429//203 -f 282//204 442//214 441//205 -f 280//207 440//215 439//208 -f 279//209 439//208 446//210 -f 285//212 445//216 444//213 -f 283//133 443//132 442//214 -f 281//206 441//205 440//215 -f 286//211 446//210 445//216 diff --git a/src/main/resources/assets/hbm/models/weapons/greasegun.obj b/src/main/resources/assets/hbm/models/weapons/greasegun.obj index fd439f5e1..666f8fc0e 100644 --- a/src/main/resources/assets/hbm/models/weapons/greasegun.obj +++ b/src/main/resources/assets/hbm/models/weapons/greasegun.obj @@ -1,6 +1,1914 @@ # Blender v2.79 (sub 0) OBJ File: 'greasegun.blend' # www.blender.org -o Cylinder +o Bullet +v 0.000000 -0.293931 1.531675 +v -0.078125 -0.313602 1.538834 +v -0.135317 -0.367344 1.558395 +v -0.156250 -0.440758 1.585115 +v -0.135317 -0.514171 1.611836 +v -0.078125 -0.567913 1.631396 +v 0.000000 -0.587584 1.638556 +v 0.078125 -0.567914 1.631396 +v 0.135316 -0.514171 1.611836 +v 0.156250 -0.440758 1.585115 +v 0.135316 -0.367344 1.558395 +v 0.078125 -0.313602 1.538834 +v 0.000000 -0.122921 2.001521 +v -0.078125 -0.142592 2.008681 +v -0.135317 -0.196334 2.028241 +v -0.156250 -0.269747 2.054962 +v -0.135317 -0.343161 2.081682 +v -0.078125 -0.396903 2.101243 +v 0.000000 -0.416574 2.108402 +v 0.078125 -0.396903 2.101243 +v 0.135316 -0.343161 2.081682 +v 0.156250 -0.269747 2.054962 +v 0.135316 -0.196334 2.028241 +v 0.078125 -0.142592 2.008681 +v 0.000000 -0.095498 2.191073 +v -0.058594 -0.110252 2.196443 +v -0.101488 -0.150559 2.211114 +v -0.117188 -0.205619 2.231154 +v -0.101488 -0.260679 2.251194 +v -0.058594 -0.300986 2.265865 +v 0.000000 -0.315739 2.271235 +v 0.058594 -0.300986 2.265865 +v 0.101487 -0.260679 2.251194 +v 0.117188 -0.205619 2.231154 +v 0.101487 -0.150559 2.211114 +v 0.058594 -0.110252 2.196443 +v 0.000000 -0.147536 2.276525 +v -0.019531 -0.152454 2.278315 +v -0.033830 -0.165889 2.283205 +v -0.039062 -0.184243 2.289885 +v -0.033830 -0.202596 2.296565 +v -0.019531 -0.216031 2.301455 +v 0.000000 -0.220949 2.303245 +v 0.019531 -0.216032 2.301455 +v 0.033829 -0.202596 2.296565 +v 0.039062 -0.184243 2.289885 +v 0.033829 -0.165889 2.283205 +v 0.019531 -0.152454 2.278315 +vt 0.676595 0.272573 +vt 0.683036 0.263897 +vt 0.689476 0.289927 +vt 0.686754 0.296278 +vt 0.676595 0.289927 +vt 0.683036 0.298603 +vt 0.679317 0.296278 +vt 0.675599 0.281250 +vt 0.679317 0.266222 +vt 0.686754 0.266222 +vt 0.689476 0.272573 +vt 0.690473 0.281250 +vt 0.636905 0.298611 +vt 0.660714 0.291667 +vt 0.660714 0.298611 +vt 0.636905 0.333333 +vt 0.660714 0.326389 +vt 0.660714 0.333333 +vt 0.636905 0.263889 +vt 0.660714 0.270833 +vt 0.636905 0.270833 +vt 0.636905 0.284722 +vt 0.636905 0.291667 +vt 0.636905 0.326389 +vt 0.660714 0.319444 +vt 0.636905 0.347222 +vt 0.660714 0.340278 +vt 0.660714 0.347222 +vt 0.636905 0.277778 +vt 0.660714 0.284722 +vt 0.636905 0.312500 +vt 0.636905 0.319444 +vt 0.636905 0.305556 +vt 0.660714 0.305556 +vt 0.636905 0.340278 +vt 0.660714 0.277778 +vt 0.660714 0.312500 +vt 0.669643 0.340278 +vt 0.669643 0.347222 +vt 0.669643 0.284722 +vt 0.669643 0.312500 +vt 0.669643 0.319444 +vt 0.669643 0.305556 +vt 0.669643 0.277778 +vt 0.669643 0.291667 +vt 0.669643 0.298611 +vt 0.669643 0.333333 +vt 0.660714 0.263889 +vt 0.669643 0.270833 +vt 0.669643 0.326389 +vt 0.675595 0.347222 +vt 0.675595 0.277778 +vt 0.675595 0.284722 +vt 0.675595 0.319444 +vt 0.675595 0.305556 +vt 0.675595 0.340278 +vt 0.675595 0.312500 +vt 0.675595 0.291667 +vt 0.675595 0.298611 +vt 0.675595 0.326389 +vt 0.675595 0.333333 +vt 0.675595 0.263889 +vt 0.675595 0.270833 +vt 0.676042 0.302196 +vt 0.681100 0.302196 +vt 0.678571 0.312365 +vt 0.669643 0.263889 +vt 0.677132 0.311457 +vt 0.676042 0.308915 +vt 0.675653 0.305556 +vt 0.677132 0.299654 +vt 0.678571 0.298746 +vt 0.680011 0.299654 +vt 0.681490 0.305556 +vt 0.681100 0.308915 +vt 0.680011 0.311457 +vn 0.0000 -0.3420 -0.9397 +vn -0.5000 0.8138 -0.2962 +vn -0.8616 0.5019 -0.0754 +vn -0.4975 0.8441 -0.1999 +vn 0.8660 -0.4698 0.1710 +vn 0.9949 0.0345 0.0948 +vn 0.8616 -0.4330 0.2649 +vn -0.0000 -0.9397 0.3420 +vn -0.4974 -0.7752 0.3894 +vn -0.5000 -0.8138 0.2962 +vn -1.0000 0.0000 -0.0000 +vn -0.8660 0.4698 -0.1710 +vn 1.0000 -0.0000 0.0000 +vn 0.8616 0.5019 -0.0754 +vn 0.4975 -0.7752 0.3894 +vn -0.0000 -0.9004 0.4350 +vn -0.8660 -0.4698 0.1710 +vn -0.9949 0.0345 0.0948 +vn 0.5000 0.8138 -0.2962 +vn 0.8660 0.4698 -0.1710 +vn 0.0000 0.9397 -0.3420 +vn -0.0000 0.9694 -0.2455 +vn 0.5000 -0.8138 0.2962 +vn -0.8616 -0.4330 0.2649 +vn 0.4975 0.8441 -0.1999 +vn 0.4331 -0.5339 0.7262 +vn 0.0000 -0.6430 0.7659 +vn -0.8661 0.1709 0.4697 +vn 0.4331 0.8758 0.2131 +vn 0.7501 0.5779 0.3215 +vn -0.0000 0.9848 0.1734 +vn -0.7501 -0.2360 0.6178 +vn -0.7501 0.5779 0.3215 +vn -0.4331 0.8758 0.2131 +vn 0.7501 -0.2360 0.6178 +vn -0.4331 -0.5339 0.7262 +vn 0.8661 0.1709 0.4697 +vn 0.0000 -0.0388 0.9992 +vn -0.3276 0.1389 0.9346 +vn -0.3782 0.3166 0.8699 +vn 0.3276 0.4943 0.8052 +vn 0.0000 0.6720 0.7405 +vn 0.1891 0.0088 0.9819 +vn 0.1891 0.6244 0.7579 +vn -0.3276 0.4943 0.8052 +vn -0.1891 0.6244 0.7579 +vn 0.3782 0.3166 0.8699 +vn 0.3276 0.1389 0.9346 +vn -0.1891 0.0088 0.9819 +s off +f 9/1/1 7/2/1 3/3/1 +f 3/3/1 2/4/1 11/5/1 +f 2/4/1 1/6/1 11/5/1 +f 1/6/1 12/7/1 11/5/1 +f 11/5/1 10/8/1 9/1/1 +f 9/1/1 8/9/1 7/2/1 +f 7/2/1 6/10/1 5/11/1 +f 5/11/1 4/12/1 7/2/1 +f 4/12/1 3/3/1 7/2/1 +f 11/5/1 9/1/1 3/3/1 +s 1 +f 2/13/2 15/14/3 14/15/4 +f 9/16/5 22/17/6 21/18/7 +f 7/19/8 18/20/9 6/21/10 +f 4/22/11 15/14/3 3/23/12 +f 10/24/13 23/25/14 22/17/6 +f 7/26/8 20/27/15 19/28/16 +f 5/29/17 16/30/18 4/22/11 +f 12/31/19 23/25/14 11/32/20 +f 1/33/21 14/15/4 13/34/22 +f 9/16/5 20/27/15 8/35/23 +f 5/29/17 18/20/9 17/36/24 +f 1/33/21 24/37/25 12/31/19 +f 19/28/16 32/38/26 31/39/27 +f 17/36/24 28/40/28 16/30/18 +f 23/25/14 36/41/29 35/42/30 +f 14/15/4 25/43/31 13/34/22 +f 21/18/7 32/38/26 20/27/15 +f 18/20/9 29/44/32 17/36/24 +f 24/37/25 25/43/31 36/41/29 +f 14/15/4 27/45/33 26/46/34 +f 22/17/6 33/47/35 21/18/7 +f 19/48/16 30/49/36 18/20/9 +f 16/30/18 27/45/33 15/14/3 +f 22/17/6 35/42/30 34/50/37 +f 32/38/26 43/51/38 31/39/27 +f 28/40/28 41/52/39 40/53/40 +f 36/41/29 47/54/41 35/42/30 +f 26/46/34 37/55/42 25/43/31 +f 33/47/35 44/56/43 32/38/26 +f 30/49/36 41/52/39 29/44/32 +f 36/41/29 37/55/42 48/57/44 +f 26/46/34 39/58/45 38/59/46 +f 33/47/35 46/60/47 45/61/48 +f 30/49/36 43/62/38 42/63/49 +f 28/40/28 39/58/45 27/45/33 +f 35/42/30 46/60/47 34/50/37 +f 41/64/39 45/65/48 37/66/42 +f 2/13/2 3/23/12 15/14/3 +f 9/16/5 10/24/13 22/17/6 +f 7/19/8 19/48/16 18/20/9 +f 4/22/11 16/30/18 15/14/3 +f 10/24/13 11/32/20 23/25/14 +f 7/26/8 8/35/23 20/27/15 +f 5/29/17 17/36/24 16/30/18 +f 12/31/19 24/37/25 23/25/14 +f 1/33/21 2/13/2 14/15/4 +f 9/16/5 21/18/7 20/27/15 +f 5/29/17 6/21/10 18/20/9 +f 1/33/21 13/34/22 24/37/25 +f 19/28/16 20/27/15 32/38/26 +f 17/36/24 29/44/32 28/40/28 +f 23/25/14 24/37/25 36/41/29 +f 14/15/4 26/46/34 25/43/31 +f 21/18/7 33/47/35 32/38/26 +f 18/20/9 30/49/36 29/44/32 +f 24/37/25 13/34/22 25/43/31 +f 14/15/4 15/14/3 27/45/33 +f 22/17/6 34/50/37 33/47/35 +f 19/48/16 31/67/27 30/49/36 +f 16/30/18 28/40/28 27/45/33 +f 22/17/6 23/25/14 35/42/30 +f 32/38/26 44/56/43 43/51/38 +f 28/40/28 29/44/32 41/52/39 +f 36/41/29 48/57/44 47/54/41 +f 26/46/34 38/59/46 37/55/42 +f 33/47/35 45/61/48 44/56/43 +f 30/49/36 42/63/49 41/52/39 +f 36/41/29 25/43/31 37/55/42 +f 26/46/34 27/45/33 39/58/45 +f 33/47/35 34/50/37 46/60/47 +f 30/49/36 31/67/27 43/62/38 +f 28/40/28 40/53/40 39/58/45 +f 35/42/30 47/54/41 46/60/47 +f 37/66/42 38/68/46 39/69/45 +f 39/69/45 40/70/40 37/66/42 +f 40/70/40 41/64/39 37/66/42 +f 41/64/39 42/71/49 45/65/48 +f 42/71/49 43/72/38 45/65/48 +f 43/72/38 44/73/43 45/65/48 +f 45/65/48 46/74/47 47/75/41 +f 47/75/41 48/76/44 37/66/42 +f 45/65/48 47/75/41 37/66/42 +o Handle +v -0.250000 -1.580894 -0.329788 +v -0.250000 -1.459289 -0.374049 +v -0.250000 -1.331845 -0.351577 +v -0.250000 -1.232712 -0.268394 +v -0.250000 -1.188451 -0.146789 +v -0.250000 -1.210923 -0.019345 +v -0.250000 -1.294106 0.079788 +v -0.250000 -1.415711 0.124049 +v -0.250000 -1.543154 0.101577 +v -0.250000 -1.642288 0.018394 +v -0.250000 -1.686549 -0.103211 +v -0.250000 -1.664077 -0.230654 +v -0.500000 -1.580894 -0.329788 +v -0.500000 -1.459289 -0.374049 +v -0.500000 -1.331845 -0.351577 +v -0.500000 -1.232712 -0.268394 +v -0.500000 -1.188451 -0.146789 +v -0.500000 -1.210923 -0.019345 +v -0.500000 -1.294106 0.079788 +v -0.500000 -1.415711 0.124049 +v -0.500000 -1.543154 0.101577 +v -0.500000 -1.642288 0.018394 +v -0.500000 -1.686549 -0.103211 +v -0.500000 -1.664077 -0.230654 +v -0.593750 -0.612984 1.052531 +v -0.593750 -0.521780 1.019336 +v -0.593750 -0.426197 1.036189 +v -0.593750 -0.351847 1.098576 +v -0.593750 -0.318652 1.189780 +v -0.593750 -0.335506 1.285363 +v -0.593750 -0.397893 1.359713 +v -0.593750 -0.489097 1.392909 +v -0.593750 -0.584679 1.376055 +v -0.593750 -0.659029 1.313668 +v -0.593750 -0.692225 1.222464 +v -0.593750 -0.675371 1.126881 +v -0.781250 -0.612984 1.052531 +v -0.781250 -0.521780 1.019336 +v -0.781250 -0.426197 1.036189 +v -0.781250 -0.351847 1.098576 +v -0.781250 -0.318652 1.189780 +v -0.781250 -0.335506 1.285363 +v -0.781250 -0.397893 1.359713 +v -0.781250 -0.489097 1.392909 +v -0.781250 -0.584679 1.376055 +v -0.781250 -0.659029 1.313668 +v -0.781250 -0.692225 1.222464 +v -0.781250 -0.675371 1.126881 +v -0.750000 -0.643681 1.226622 +v -0.625000 -0.643681 1.226622 +v -0.750000 -0.438893 1.083228 +v -0.625000 -0.438893 1.083228 +v -0.750000 -0.582287 0.878440 +v -0.750000 -0.787075 1.021834 +v -0.625000 -0.787075 1.021834 +v -0.625000 -0.582287 0.878440 +v -0.437500 -1.155863 0.059288 +v -0.437500 -1.360651 0.202682 +v -0.312500 -1.360651 0.202682 +v -0.312500 -1.155863 0.059288 +v -0.437500 -1.227560 -0.043106 +v -0.437500 -1.432348 0.100288 +v -0.312500 -1.432348 0.100288 +v -0.312500 -1.227560 -0.043106 +v -0.781250 -0.577135 1.103728 +v -0.781250 -0.516333 1.081598 +v -0.781250 -0.452611 1.092834 +v -0.781250 -0.403044 1.134425 +v -0.781250 -0.380914 1.195228 +v -0.781250 -0.392150 1.258950 +v -0.781250 -0.433741 1.308516 +v -0.781250 -0.494544 1.330647 +v -0.781250 -0.558265 1.319411 +v -0.781250 -0.607832 1.277819 +v -0.781250 -0.629963 1.217017 +v -0.781250 -0.618727 1.153295 +v -1.531250 -0.577135 1.103728 +v -1.531250 -0.516333 1.081598 +v -1.531250 -0.452611 1.092834 +v -1.531250 -0.403044 1.134425 +v -1.531250 -0.380914 1.195228 +v -1.531250 -0.392150 1.258950 +v -1.531250 -0.433741 1.308516 +v -1.531250 -0.494544 1.330647 +v -1.531250 -0.558265 1.319411 +v -1.531250 -0.607832 1.277819 +v -1.531250 -0.629963 1.217017 +v -1.531250 -0.618727 1.153295 +vt 0.717262 0.500032 +vt 0.727560 0.513905 +vt 0.727560 0.541651 +vt 0.668008 0.736165 +vt 0.668008 0.763835 +vt 0.647468 0.763835 +vt 0.647468 0.680609 +vt 0.657738 0.666774 +vt 0.668008 0.680609 +vt 0.577381 0.722222 +vt 0.571429 0.708333 +vt 0.577381 0.708333 +vt 0.636905 0.722222 +vt 0.625000 0.708333 +vt 0.636905 0.708333 +vt 0.636905 0.680556 +vt 0.625000 0.666667 +vt 0.636905 0.666667 +vt 0.625000 0.722222 +vt 0.577381 0.680556 +vt 0.577381 0.666667 +vt 0.571429 0.666667 +vt 0.711309 0.694407 +vt 0.706168 0.687481 +vt 0.706168 0.673629 +vt 0.706964 0.541651 +vt 0.705371 0.527778 +vt 0.706964 0.513905 +vt 0.711316 0.503749 +vt 0.723207 0.503749 +vt 0.729153 0.527778 +vt 0.723207 0.551806 +vt 0.717262 0.555524 +vt 0.711316 0.551806 +vt 0.645879 0.750000 +vt 0.647468 0.736165 +vt 0.651809 0.726037 +vt 0.657738 0.722330 +vt 0.663667 0.726037 +vt 0.669597 0.750000 +vt 0.663667 0.773963 +vt 0.657738 0.777671 +vt 0.651809 0.773963 +vt 0.669597 0.694444 +vt 0.668008 0.708280 +vt 0.663667 0.718408 +vt 0.657738 0.722115 +vt 0.651809 0.718408 +vt 0.647468 0.708280 +vt 0.645879 0.694444 +vt 0.651809 0.670481 +vt 0.663667 0.670481 +vt 0.571429 0.722222 +vt 0.625000 0.680556 +vt 0.571429 0.680556 +vt 0.708341 0.668559 +vt 0.711309 0.666703 +vt 0.714278 0.668559 +vt 0.716451 0.673629 +vt 0.717246 0.680555 +vt 0.716451 0.687481 +vt 0.714278 0.692551 +vt 0.708341 0.692552 +vt 0.705373 0.680555 +vt 0.705357 0.611111 +vt 0.693452 0.597222 +vt 0.705357 0.597222 +vt 0.705357 0.513889 +vt 0.693452 0.500000 +vt 0.705357 0.500000 +vt 0.705357 0.652778 +vt 0.693452 0.638889 +vt 0.705357 0.638889 +vt 0.705357 0.555556 +vt 0.693452 0.541667 +vt 0.705357 0.541667 +vt 0.693452 0.583333 +vt 0.705357 0.583333 +vt 0.693452 0.625000 +vt 0.705357 0.625000 +vt 0.693452 0.527778 +vt 0.705357 0.527778 +vt 0.693452 0.569444 +vt 0.705357 0.569444 +vt 0.693452 0.611111 +vt 0.693452 0.513889 +vt 0.705357 0.666667 +vt 0.693452 0.652778 +vt 0.693452 0.555556 +vt 0.636905 0.805556 +vt 0.645833 0.791667 +vt 0.645833 0.805556 +vt 0.636905 0.708333 +vt 0.645833 0.694444 +vt 0.645833 0.708333 +vt 0.636905 0.750000 +vt 0.645833 0.736111 +vt 0.645833 0.750000 +vt 0.636905 0.791667 +vt 0.645833 0.777778 +vt 0.636905 0.694444 +vt 0.645833 0.680556 +vt 0.636905 0.833333 +vt 0.645833 0.819444 +vt 0.645833 0.833333 +vt 0.636905 0.736111 +vt 0.645833 0.722222 +vt 0.636905 0.777778 +vt 0.645833 0.763889 +vt 0.636905 0.680556 +vt 0.645833 0.666667 +vt 0.636905 0.819444 +vt 0.636905 0.722222 +vt 0.636905 0.763889 +vt 0.577381 0.750000 +vt 0.625000 0.750000 +vt 0.705357 0.708333 +vt 0.669643 0.715278 +vt 0.669643 0.708333 +vt 0.705357 0.687500 +vt 0.669643 0.694444 +vt 0.669643 0.687500 +vt 0.705357 0.736111 +vt 0.669643 0.743056 +vt 0.669643 0.736111 +vt 0.705357 0.666667 +vt 0.669643 0.673611 +vt 0.669643 0.666667 +vt 0.705357 0.715278 +vt 0.669643 0.722222 +vt 0.705357 0.694444 +vt 0.669643 0.701389 +vt 0.705357 0.743056 +vt 0.669643 0.750000 +vt 0.705357 0.673611 +vt 0.669643 0.680556 +vt 0.705357 0.722222 +vt 0.669643 0.729167 +vt 0.705357 0.701389 +vt 0.705357 0.680556 +vt 0.705357 0.729167 +vt 0.693452 0.666667 +vt 0.636905 0.666667 +vt 0.636905 0.750000 +vt 0.571429 0.750000 +vt 0.705357 0.750000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.8192 -0.5736 +vn 0.0000 -0.8192 0.5736 +vn 0.0000 0.9962 -0.0872 +vn 0.0000 0.9063 0.4226 +vn 0.0000 -0.9063 -0.4226 +vn 0.0000 -0.5736 -0.8192 +vn 0.0000 -0.0872 -0.9962 +vn 0.0000 0.4226 -0.9063 +vn 0.0000 -0.4226 0.9063 +vn 0.0000 0.5736 0.8192 +vn 0.0000 -0.9962 0.0872 +vn 0.0000 0.0872 0.9962 +vn 0.9886 0.0865 0.1236 +vn -0.9886 -0.0865 -0.1236 +s off +f 71/77/50 69/78/50 67/79/50 +f 93/80/50 91/81/50 87/82/50 +f 81/83/51 83/84/51 73/85/51 +f 108/86/52 109/87/52 105/88/52 +f 100/89/52 101/90/52 99/91/52 +f 97/92/53 103/93/53 98/94/53 +f 104/95/52 105/88/52 101/90/52 +f 103/93/53 106/96/53 107/97/53 +f 106/96/53 111/98/53 107/97/53 +f 131/99/50 129/100/50 127/101/50 +f 63/102/50 62/103/50 61/104/50 +f 61/104/50 72/105/50 71/77/50 +f 71/77/50 70/106/50 69/78/50 +f 69/78/50 68/107/50 67/79/50 +f 67/79/50 66/108/50 63/102/50 +f 66/108/50 65/109/50 63/102/50 +f 65/109/50 64/110/50 63/102/50 +f 63/102/50 61/104/50 67/79/50 +f 61/104/50 71/77/50 67/79/50 +f 87/82/50 86/111/50 85/112/50 +f 85/112/50 96/113/50 95/114/50 +f 95/114/50 94/115/50 93/80/50 +f 93/80/50 92/116/50 91/81/50 +f 91/81/50 90/117/50 87/82/50 +f 90/117/50 89/118/50 87/82/50 +f 89/118/50 88/119/50 87/82/50 +f 87/82/50 85/112/50 95/114/50 +f 95/114/50 93/80/50 87/82/50 +f 73/85/51 74/120/51 75/121/51 +f 75/121/51 76/122/51 77/123/51 +f 77/123/51 78/124/51 81/83/51 +f 78/124/51 79/125/51 81/83/51 +f 79/125/51 80/126/51 81/83/51 +f 81/83/51 82/127/51 83/84/51 +f 83/84/51 84/128/51 73/85/51 +f 73/85/51 75/121/51 81/83/51 +f 75/121/51 77/123/51 81/83/51 +f 108/86/52 112/129/52 109/87/52 +f 100/89/52 104/95/52 101/90/52 +f 97/92/53 102/130/53 103/93/53 +f 104/95/52 108/86/52 105/88/52 +f 103/93/53 102/130/53 106/96/53 +f 106/96/53 110/131/53 111/98/53 +f 127/101/50 126/132/50 125/133/50 +f 125/133/50 136/134/50 127/101/50 +f 136/134/50 135/135/50 127/101/50 +f 135/135/50 134/136/50 133/137/50 +f 133/137/50 132/138/50 131/99/50 +f 131/99/50 130/139/50 129/100/50 +f 129/100/50 128/140/50 127/101/50 +f 135/135/50 133/137/50 127/101/50 +f 133/137/50 131/99/50 127/101/50 +s 1 +f 53/141/54 66/142/55 54/143/55 +f 60/144/56 61/145/57 49/146/57 +f 50/147/58 63/148/59 51/149/59 +f 57/150/60 70/151/53 58/152/53 +f 54/143/55 67/153/61 55/154/61 +f 51/149/59 64/155/52 52/156/52 +f 58/152/53 71/157/62 59/158/62 +f 55/154/61 68/159/63 56/160/63 +f 52/156/52 65/161/54 53/141/54 +f 59/158/62 72/162/56 60/144/56 +f 49/163/57 62/164/58 50/147/58 +f 56/160/63 69/165/60 57/150/60 +f 87/166/59 76/167/52 75/168/59 +f 94/169/53 83/170/62 82/171/53 +f 91/172/61 80/173/63 79/174/61 +f 88/175/52 77/176/54 76/167/52 +f 95/177/62 84/178/56 83/170/62 +f 85/179/57 74/180/58 73/181/57 +f 92/182/63 81/183/60 80/173/63 +f 89/184/54 78/185/55 77/176/54 +f 96/186/56 73/187/57 84/178/56 +f 86/188/58 75/168/59 74/180/58 +f 93/189/60 82/171/53 81/183/60 +f 90/190/55 79/174/61 78/185/55 +f 104/95/64 107/191/64 108/86/64 +f 100/89/51 103/192/64 104/95/64 +f 99/91/50 102/130/65 97/92/50 +f 101/90/65 106/96/65 102/130/65 +f 131/193/61 120/194/63 119/195/61 +f 107/191/64 112/129/51 108/86/64 +f 105/88/65 110/131/50 106/96/65 +f 128/196/52 117/197/54 116/198/52 +f 135/199/62 124/200/56 123/201/62 +f 125/202/57 114/203/58 113/204/57 +f 132/205/63 121/206/60 120/194/63 +f 129/207/54 118/208/55 117/197/54 +f 136/209/56 113/210/57 124/200/56 +f 126/211/58 115/212/59 114/203/58 +f 133/213/60 122/214/53 121/206/60 +f 130/215/55 119/195/61 118/208/55 +f 127/216/59 116/198/52 115/212/59 +f 134/217/53 123/201/62 122/214/53 +f 53/141/54 65/161/54 66/142/55 +f 60/144/56 72/162/56 61/145/57 +f 50/147/58 62/164/58 63/148/59 +f 57/150/60 69/165/60 70/151/53 +f 54/143/55 66/142/55 67/153/61 +f 51/149/59 63/148/59 64/155/52 +f 58/152/53 70/151/53 71/157/62 +f 55/154/61 67/153/61 68/159/63 +f 52/156/52 64/155/52 65/161/54 +f 59/158/62 71/157/62 72/162/56 +f 49/163/57 61/218/57 62/164/58 +f 56/160/63 68/159/63 69/165/60 +f 87/166/59 88/175/52 76/167/52 +f 94/169/53 95/177/62 83/170/62 +f 91/172/61 92/182/63 80/173/63 +f 88/175/52 89/184/54 77/176/54 +f 95/177/62 96/186/56 84/178/56 +f 85/179/57 86/188/58 74/180/58 +f 92/182/63 93/189/60 81/183/60 +f 89/184/54 90/190/55 78/185/55 +f 96/186/56 85/219/57 73/187/57 +f 86/188/58 87/166/59 75/168/59 +f 93/189/60 94/169/53 82/171/53 +f 90/190/55 91/172/61 79/174/61 +f 104/95/64 103/192/64 107/191/64 +f 100/89/51 98/220/51 103/192/64 +f 99/91/50 101/90/65 102/130/65 +f 101/90/65 105/88/65 106/96/65 +f 131/193/61 132/205/63 120/194/63 +f 107/191/64 111/221/51 112/129/51 +f 105/88/65 109/87/50 110/131/50 +f 128/196/52 129/207/54 117/197/54 +f 135/199/62 136/209/56 124/200/56 +f 125/202/57 126/211/58 114/203/58 +f 132/205/63 133/213/60 121/206/60 +f 129/207/54 130/215/55 118/208/55 +f 136/209/56 125/222/57 113/210/57 +f 126/211/58 127/216/59 115/212/59 +f 133/213/60 134/217/53 122/214/53 +f 130/215/55 131/193/61 119/195/61 +f 127/216/59 128/196/52 116/198/52 +f 134/217/53 135/199/62 123/201/62 +o Magazine +v 0.187500 -0.312500 1.375000 +v 0.187500 -0.312500 2.375000 +v -0.187500 -0.312500 2.375000 +v -0.187500 -0.312500 1.375000 +v -0.187500 -6.687500 1.375000 +v -0.187500 -6.687500 2.375000 +v 0.187500 -6.687500 2.375000 +v 0.187500 -6.687500 1.375000 +v 0.125000 -0.187500 1.375000 +v -0.125000 -0.187500 1.375000 +v 0.062500 -0.187500 1.875000 +v -0.062500 -0.187500 1.875000 +v -0.062500 -0.187500 1.375000 +v -0.125000 -0.187500 1.875000 +v 0.062500 -0.187500 1.375000 +v 0.125000 -0.187500 1.875000 +v 0.187500 -0.312500 1.875000 +v -0.187500 -0.312500 1.875000 +v 0.062500 -0.312500 1.875000 +v -0.062500 -0.312500 1.875000 +v 0.062500 -0.312500 1.375000 +v -0.062500 -0.312500 1.375000 +vt 0.779762 0.041667 +vt 0.779762 0.750000 +vt 0.755952 0.750000 +vt 0.797619 0.041667 +vt 0.845238 0.041667 +vt 0.845238 0.750000 +vt 0.821429 0.750000 +vt 0.732143 0.041667 +vt 0.779762 -0.000000 +vt 0.863095 0.041667 +vt 0.857143 0.750000 +vt 0.851190 0.750000 +vt 0.797619 0.805556 +vt 0.800595 0.861111 +vt 0.797619 0.861111 +vt 0.806548 0.861111 +vt 0.800595 0.805556 +vt 0.806548 0.805556 +vt 0.776786 0.805556 +vt 0.779762 0.861111 +vt 0.776786 0.861111 +vt 0.770833 0.805556 +vt 0.770833 0.861111 +vt 0.797619 0.875000 +vt 0.803571 0.875000 +vt 0.779762 0.875000 +vt 0.773810 0.875000 +vt 0.797619 0.750000 +vt 0.791667 0.805556 +vt 0.785714 0.805556 +vt 0.791667 0.861111 +vt 0.785714 0.861111 +vt 0.779762 0.805556 +vt 0.779762 0.791667 +vt 0.797619 0.791667 +vt 0.732143 0.750000 +vt 0.732143 0.000000 +vt 0.863095 0.750000 +vt 0.779762 0.805556 +vt 0.797619 0.805556 +vt 0.773810 0.791667 +vt 0.803571 0.791667 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.8944 0.4472 0.0000 +vn -0.8944 0.4472 0.0000 +s off +f 142/223/66 139/224/66 154/225/66 +f 143/226/67 139/224/67 142/223/67 +f 144/227/68 137/228/68 153/229/68 +f 141/230/69 143/231/69 142/223/69 +f 141/232/70 158/233/70 157/234/70 +f 147/235/71 145/236/71 151/237/71 +f 137/238/72 152/239/72 153/240/72 +f 150/241/71 149/242/71 146/243/71 +f 154/244/73 146/243/73 140/245/73 +f 157/246/70 145/236/70 137/247/70 +f 146/243/70 158/248/70 140/249/70 +f 138/250/71 155/251/71 156/252/71 +f 147/235/66 157/253/66 155/251/66 +f 158/254/68 148/255/68 156/252/68 +f 156/252/71 157/253/71 158/254/71 +f 150/241/67 156/256/67 148/255/67 +f 155/257/67 152/239/67 147/235/67 +f 140/258/66 141/230/66 154/225/66 +f 141/230/66 142/223/66 154/225/66 +f 143/226/67 138/250/67 139/224/67 +f 138/250/68 143/226/68 153/229/68 +f 143/226/68 144/227/68 153/229/68 +f 141/230/69 144/259/69 143/231/69 +f 137/228/70 144/227/70 157/234/70 +f 144/227/70 141/232/70 157/234/70 +f 141/232/70 140/260/70 158/233/70 +f 147/235/71 152/239/71 145/236/71 +f 137/238/72 145/236/72 152/239/72 +f 150/241/71 148/255/71 149/242/71 +f 154/244/73 150/241/73 146/243/73 +f 157/246/70 151/237/70 145/236/70 +f 146/243/70 149/242/70 158/248/70 +f 154/261/71 139/224/71 156/252/71 +f 139/224/71 138/250/71 156/252/71 +f 138/250/71 153/262/71 155/251/71 +f 147/235/66 151/237/66 157/253/66 +f 158/254/68 149/242/68 148/255/68 +f 156/252/71 155/251/71 157/253/71 +f 150/241/67 154/263/67 156/256/67 +f 155/257/67 153/264/67 152/239/67 +o Flap +v 0.562500 1.125000 0.312500 +v 0.519682 0.909741 0.312500 +v 0.397748 0.727252 0.312500 +v 0.215260 0.605318 0.312500 +v 0.625000 1.125000 0.312500 +v 0.239177 0.547575 0.312500 +v 0.441942 0.683058 0.312500 +v 0.577425 0.885823 0.312500 +v 0.562500 1.125000 2.437500 +v 0.519682 0.909741 2.437500 +v 0.397747 0.727252 2.437500 +v 0.215260 0.605318 2.437500 +v 0.239177 0.547575 2.437500 +v 0.441941 0.683058 2.437500 +v 0.577424 0.885823 2.437500 +v 0.625000 1.125000 2.437500 +v 0.239177 0.547575 2.062500 +v 0.000000 0.500000 2.062500 +v 0.000000 0.562500 2.062500 +v 0.215260 0.605318 2.062500 +v 0.239177 0.547575 0.687500 +v 0.000000 0.500000 0.687500 +v 0.215260 0.605318 0.687500 +v 0.000000 0.562500 0.687500 +vt 0.431548 0.597222 +vt 0.532738 0.590278 +vt 0.431548 0.590278 +vt 0.449405 0.520833 +vt 0.431548 0.513889 +vt 0.431548 0.520833 +vt 0.449405 0.486111 +vt 0.514881 0.493056 +vt 0.514881 0.486111 +vt 0.529762 0.513889 +vt 0.532738 0.541667 +vt 0.532738 0.513889 +vt 0.529762 0.569444 +vt 0.532738 0.597222 +vt 0.532738 0.569444 +vt 0.529762 0.541667 +vt 0.431548 0.541667 +vt 0.434524 0.513889 +vt 0.434524 0.569444 +vt 0.431548 0.569444 +vt 0.434524 0.541667 +vt 0.449405 0.513889 +vt 0.452381 0.486111 +vt 0.511905 0.513889 +vt 0.514881 0.513889 +vt 0.514881 0.520833 +vt 0.532738 0.520833 +vt 0.449405 0.493056 +vt 0.529762 0.597222 +vt 0.434524 0.597222 +vt 0.452381 0.513889 +vt 0.511905 0.486111 +vt 0.532738 0.569444 +vt 0.431548 0.534722 +vt 0.532738 0.534722 +vt 0.449405 0.486111 +vt 0.514881 0.513889 +vt 0.449405 0.513889 +vt 0.532738 0.597222 +vt 0.431548 0.569444 +vt 0.514881 0.486111 +vt 0.431548 0.597222 +vt 0.532738 0.513889 +vt 0.431548 0.513889 +vn 0.0000 1.0000 0.0000 +vn -0.9239 -0.3827 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.0000 0.0000 1.0000 +vn -0.9239 0.3827 -0.0000 +vn -0.7071 0.7071 -0.0000 +vn 0.9239 -0.3827 0.0000 +vn 0.9808 -0.1951 0.0000 +vn -0.1951 0.9808 0.0000 +vn -0.4430 0.8965 -0.0000 +vn -0.9808 0.1951 -0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.4430 -0.8965 0.0000 +vn 0.1951 -0.9808 0.0000 +vn -0.5556 0.8315 0.0000 +vn 0.5556 -0.8315 0.0000 +s off +f 174/265/74 159/266/74 167/267/74 +f 178/268/75 171/269/75 170/270/75 +f 176/271/76 182/272/76 180/273/76 +f 162/274/77 165/275/77 164/276/77 +f 160/277/77 163/278/77 166/279/77 +f 161/280/77 166/279/77 165/275/77 +f 172/281/78 170/282/78 171/269/78 +f 174/265/78 168/283/78 173/284/78 +f 173/284/78 169/285/78 172/281/78 +f 175/286/78 177/287/78 176/271/78 +f 180/273/77 181/288/77 179/289/77 +f 164/276/75 181/290/75 162/291/75 +f 174/265/74 163/278/74 159/266/74 +f 178/268/75 175/286/75 171/269/75 +f 176/271/76 177/292/76 182/272/76 +f 162/274/77 161/280/77 165/275/77 +f 160/277/77 159/293/77 163/278/77 +f 161/280/77 160/277/77 166/279/77 +f 172/281/78 169/285/78 170/282/78 +f 174/265/78 167/294/78 168/283/78 +f 173/284/78 168/283/78 169/285/78 +f 175/286/78 178/295/78 177/287/78 +f 180/273/77 182/296/77 181/288/77 +f 164/276/75 179/289/75 181/290/75 +s 1 +f 168/297/79 161/298/80 169/299/80 +f 173/284/81 163/278/82 174/265/82 +f 182/300/83 178/301/84 181/302/84 +f 167/303/85 160/304/79 168/297/79 +f 172/281/86 166/279/81 173/284/81 +f 175/286/87 180/273/88 179/289/87 +f 178/301/84 161/298/80 181/302/84 +f 179/289/87 165/275/86 172/281/86 +f 168/297/79 160/304/79 161/298/80 +f 173/284/81 166/279/81 163/278/82 +f 182/300/83 177/305/83 178/301/84 +f 167/303/85 159/306/85 160/304/79 +f 172/281/86 165/275/86 166/279/81 +f 175/286/87 176/271/88 180/273/88 +f 178/301/84 170/307/89 169/299/80 +f 169/299/80 161/298/80 178/301/84 +f 161/298/80 162/308/89 181/302/84 +f 172/281/86 171/269/90 175/286/87 +f 179/289/87 164/276/90 165/275/86 +f 172/281/86 175/286/87 179/289/87 +o Stock +v -0.375000 -0.437500 -6.562500 +v -0.437500 -0.454247 -6.562500 +v -0.483253 -0.500000 -6.562500 +v -0.500000 -0.562500 -6.562500 +v -0.483253 -0.625000 -6.562500 +v -0.437500 -0.670753 -6.562500 +v -0.375000 -0.687500 -6.562500 +v -0.312500 -0.670753 -6.562500 +v -0.266747 -0.625000 -6.562500 +v -0.250000 -0.562500 -6.562500 +v -0.266747 -0.500000 -6.562500 +v -0.312500 -0.454247 -6.562500 +v -0.375000 -2.937500 -7.062500 +v -0.375000 -0.504487 -6.812500 +v -0.437500 -0.518991 -6.804127 +v -0.483253 -0.558614 -6.781250 +v -0.500000 -0.612741 -6.750000 +v -0.483253 -0.666867 -6.718750 +v -0.437500 -0.706490 -6.695873 +v -0.375000 -0.720994 -6.687500 +v -0.312500 -0.706490 -6.695873 +v -0.266747 -0.666867 -6.718750 +v -0.250000 -0.612741 -6.750000 +v -0.266747 -0.558614 -6.781250 +v -0.312500 -0.518991 -6.804127 +v -0.375000 -0.687500 -6.995513 +v -0.437500 -0.695874 -6.981009 +v -0.483253 -0.718750 -6.941386 +v -0.500000 -0.750000 -6.887259 +v -0.483253 -0.781250 -6.833133 +v -0.437500 -0.804126 -6.793509 +v -0.375000 -0.812500 -6.779007 +v -0.312500 -0.804126 -6.793509 +v -0.266747 -0.781250 -6.833133 +v -0.250000 -0.750000 -6.887259 +v -0.266747 -0.718750 -6.941386 +v -0.312500 -0.695874 -6.981009 +v -0.375000 -0.937500 -7.062500 +v -0.437500 -0.937500 -7.045753 +v -0.483253 -0.937500 -7.000000 +v -0.500000 -0.937500 -6.937500 +v -0.483253 -0.937500 -6.875000 +v -0.437500 -0.937500 -6.829247 +v -0.375000 -0.937500 -6.812500 +v -0.312500 -0.937500 -6.829247 +v -0.266747 -0.937500 -6.875000 +v -0.250000 -0.937500 -6.937500 +v -0.266747 -0.937500 -7.000000 +v -0.312500 -0.937500 -7.045753 +v -0.437500 -2.937500 -7.045753 +v -0.483253 -2.937500 -7.000000 +v -0.500000 -2.937500 -6.937500 +v -0.483253 -2.937500 -6.875000 +v -0.437500 -2.937500 -6.829247 +v -0.375000 -2.937500 -6.812500 +v -0.312500 -2.937500 -6.829247 +v -0.266747 -2.937500 -6.875000 +v -0.250000 -2.937500 -6.937500 +v -0.266747 -2.937500 -7.000000 +v -0.312500 -2.937500 -7.045753 +v 0.375000 -0.437500 -6.562500 +v -0.324759 -3.125000 -7.062500 +v -0.378886 -3.156250 -7.045753 +v -0.418509 -3.179127 -7.000000 +v -0.433013 -3.187500 -6.937500 +v -0.418509 -3.179127 -6.875000 +v -0.378886 -3.156250 -6.829247 +v -0.324759 -3.125000 -6.812500 +v -0.270633 -3.093750 -6.829247 +v -0.231009 -3.070873 -6.875000 +v -0.216506 -3.062500 -6.937500 +v -0.231009 -3.070873 -7.000000 +v -0.270633 -3.093750 -7.045753 +v -0.187500 -3.262259 -7.062500 +v -0.218750 -3.316386 -7.045753 +v -0.241627 -3.356009 -7.000000 +v -0.250000 -3.370513 -6.937500 +v -0.241627 -3.356009 -6.875000 +v -0.218750 -3.316386 -6.829247 +v -0.187500 -3.262259 -6.812500 +v -0.156250 -3.208133 -6.829247 +v -0.133374 -3.168509 -6.875000 +v -0.125000 -3.154006 -6.937500 +v -0.133373 -3.168509 -7.000000 +v -0.156250 -3.208133 -7.045753 +v 0.000000 -3.312500 -7.062500 +v 0.000000 -3.375000 -7.045753 +v 0.000000 -3.420753 -7.000000 +v 0.000000 -3.437500 -6.937500 +v 0.000000 -3.420753 -6.875000 +v -0.000000 -3.375000 -6.829247 +v 0.000000 -3.312500 -6.812500 +v -0.000000 -3.250000 -6.829247 +v 0.000000 -3.204247 -6.875000 +v 0.000000 -3.187500 -6.937500 +v 0.000000 -3.204247 -7.000000 +v 0.000000 -3.250000 -7.045753 +v 0.437500 -0.454247 -6.562500 +v 0.483253 -0.500000 -6.562500 +v 0.500000 -0.562500 -6.562500 +v 0.483253 -0.625000 -6.562500 +v 0.437500 -0.670753 -6.562500 +v 0.375000 -0.687500 -6.562500 +v 0.312500 -0.670753 -6.562500 +v 0.266747 -0.625000 -6.562500 +v 0.250000 -0.562500 -6.562500 +v 0.266747 -0.500000 -6.562500 +v 0.312500 -0.454247 -6.562500 +v 0.375000 -2.937500 -7.062500 +v 0.375000 -0.504487 -6.812500 +v 0.437500 -0.518991 -6.804127 +v 0.483253 -0.558614 -6.781250 +v 0.500000 -0.612741 -6.750000 +v 0.483253 -0.666867 -6.718750 +v 0.437500 -0.706490 -6.695873 +v 0.375000 -0.720994 -6.687500 +v 0.312500 -0.706490 -6.695873 +v 0.266747 -0.666867 -6.718750 +v 0.250000 -0.612741 -6.750000 +v 0.266747 -0.558614 -6.781250 +v 0.312500 -0.518991 -6.804127 +v 0.375000 -0.687500 -6.995513 +v 0.437500 -0.695874 -6.981009 +v 0.483253 -0.718750 -6.941386 +v 0.500000 -0.750000 -6.887259 +v 0.483253 -0.781250 -6.833133 +v 0.437500 -0.804126 -6.793509 +v 0.375000 -0.812500 -6.779007 +v 0.312500 -0.804126 -6.793509 +v 0.266747 -0.781250 -6.833133 +v 0.250000 -0.750000 -6.887259 +v 0.266747 -0.718750 -6.941386 +v 0.312500 -0.695874 -6.981009 +v 0.375000 -0.937500 -7.062500 +v 0.437500 -0.937500 -7.045753 +v 0.483253 -0.937500 -7.000000 +v 0.500000 -0.937500 -6.937500 +v 0.483253 -0.937500 -6.875000 +v 0.437500 -0.937500 -6.829247 +v 0.375000 -0.937500 -6.812500 +v 0.312500 -0.937500 -6.829247 +v 0.266747 -0.937500 -6.875000 +v 0.250000 -0.937500 -6.937500 +v 0.266747 -0.937500 -7.000000 +v 0.312500 -0.937500 -7.045753 +v 0.437500 -2.937500 -7.045753 +v 0.483253 -2.937500 -7.000000 +v 0.500000 -2.937500 -6.937500 +v 0.483253 -2.937500 -6.875000 +v 0.437500 -2.937500 -6.829247 +v 0.375000 -2.937500 -6.812500 +v 0.312500 -2.937500 -6.829247 +v 0.266747 -2.937500 -6.875000 +v 0.250000 -2.937500 -6.937500 +v 0.266747 -2.937500 -7.000000 +v 0.312500 -2.937500 -7.045753 +v 0.324759 -3.125000 -7.062500 +v 0.378886 -3.156250 -7.045753 +v 0.418509 -3.179127 -7.000000 +v 0.433012 -3.187500 -6.937500 +v 0.418509 -3.179127 -6.875000 +v 0.378886 -3.156250 -6.829247 +v 0.324759 -3.125000 -6.812500 +v 0.270633 -3.093750 -6.829247 +v 0.231009 -3.070873 -6.875000 +v 0.216506 -3.062500 -6.937500 +v 0.231009 -3.070873 -7.000000 +v 0.270633 -3.093750 -7.045753 +v 0.187500 -3.262259 -7.062500 +v 0.218750 -3.316386 -7.045753 +v 0.241627 -3.356009 -7.000000 +v 0.250000 -3.370513 -6.937500 +v 0.241627 -3.356009 -6.875000 +v 0.218750 -3.316386 -6.829247 +v 0.187500 -3.262259 -6.812500 +v 0.156250 -3.208133 -6.829247 +v 0.133373 -3.168509 -6.875000 +v 0.125000 -3.154006 -6.937500 +v 0.133373 -3.168509 -7.000000 +v 0.156250 -3.208133 -7.045753 +v -0.375000 -0.437500 1.187500 +v -0.437500 -0.454247 1.187500 +v -0.483253 -0.500000 1.187500 +v -0.500000 -0.562500 1.187500 +v -0.483253 -0.625000 1.187500 +v -0.437500 -0.670753 1.187500 +v -0.375000 -0.687500 1.187500 +v -0.312500 -0.670753 1.187500 +v -0.266747 -0.625000 1.187500 +v -0.250000 -0.562500 1.187500 +v -0.266747 -0.500000 1.187500 +v -0.312500 -0.454247 1.187500 +v 0.375000 -0.437500 1.187500 +v 0.437500 -0.454247 1.187500 +v 0.483253 -0.500000 1.187500 +v 0.500000 -0.562500 1.187500 +v 0.483253 -0.625000 1.187500 +v 0.437500 -0.670753 1.187500 +v 0.375000 -0.687500 1.187500 +v 0.312500 -0.670753 1.187500 +v 0.266747 -0.625000 1.187500 +v 0.250000 -0.562500 1.187500 +v 0.266747 -0.500000 1.187500 +v 0.312500 -0.454247 1.187500 +vt 0.518695 0.923665 +vt 0.528925 0.923665 +vt 0.523810 0.944337 +vt 0.518695 0.937446 +vt 0.523810 0.916775 +vt 0.528925 0.937446 +vt 0.520857 0.942491 +vt 0.518695 0.937446 +vt 0.517904 0.930556 +vt 0.520857 0.918621 +vt 0.523810 0.916775 +vt 0.526763 0.918621 +vt 0.529716 0.930556 +vt 0.528925 0.937446 +vt 0.526763 0.942490 +vt 0.526763 0.942490 +vt 0.523810 0.944337 +vt 0.520857 0.942491 +vt 0.517904 0.930556 +vt 0.518695 0.923665 +vt 0.520857 0.918621 +vt 0.526763 0.918621 +vt 0.528925 0.923665 +vt 0.529716 0.930556 +vt 0.369048 0.986111 +vt 0.377976 0.993056 +vt 0.369048 0.993056 +vt 0.369048 0.965278 +vt 0.377976 0.972222 +vt 0.369048 0.972222 +vt 0.369048 0.937500 +vt 0.377976 0.930556 +vt 0.377976 0.937500 +vt 0.369048 0.951389 +vt 0.377976 0.944444 +vt 0.377976 0.951389 +vt 0.369048 1.000000 +vt 0.377976 1.000000 +vt 0.369048 0.979167 +vt 0.377976 0.979167 +vt 0.369048 0.944444 +vt 0.369048 0.958333 +vt 0.377976 0.958333 +vt 0.369048 0.916667 +vt 0.377976 0.923611 +vt 0.369048 0.923611 +vt 0.377976 0.986111 +vt 0.377976 0.965278 +vt 0.369048 0.930556 +vt 0.386905 0.944444 +vt 0.386905 0.958333 +vt 0.386905 0.916667 +vt 0.386905 0.923611 +vt 0.386905 0.986111 +vt 0.386905 0.965278 +vt 0.386905 0.930556 +vt 0.386905 0.993056 +vt 0.386905 0.972222 +vt 0.386905 0.937500 +vt 0.386905 0.951389 +vt 0.386905 1.000000 +vt 0.386905 0.979167 +vt 0.395833 0.979167 +vt 0.395833 0.937500 +vt 0.395833 0.944444 +vt 0.395833 0.958333 +vt 0.395833 0.916667 +vt 0.395833 0.923611 +vt 0.395833 0.986111 +vt 0.395833 0.965278 +vt 0.395833 0.930556 +vt 0.395833 0.993056 +vt 0.395833 0.972222 +vt 0.395833 0.951389 +vt 0.395833 1.000000 +vt 0.491071 0.979167 +vt 0.491071 0.944444 +vt 0.491071 0.958333 +vt 0.491071 0.916667 +vt 0.491071 0.923611 +vt 0.491071 0.986111 +vt 0.491071 0.965278 +vt 0.491071 0.930556 +vt 0.491071 0.993056 +vt 0.491071 0.972222 +vt 0.491071 0.937500 +vt 0.491071 0.951389 +vt 0.491071 1.000000 +vt 0.500000 0.993056 +vt 0.500000 1.000000 +vt 0.500000 0.979167 +vt 0.500000 0.944444 +vt 0.500000 0.958333 +vt 0.500000 0.916667 +vt 0.500000 0.923611 +vt 0.500000 0.986111 +vt 0.500000 0.965278 +vt 0.500000 0.930556 +vt 0.500000 0.972222 +vt 0.500000 0.937500 +vt 0.500000 0.951389 +vt 0.508929 0.944444 +vt 0.508929 0.951389 +vt 0.508929 0.993056 +vt 0.508929 1.000000 +vt 0.508929 0.979167 +vt 0.508929 0.958333 +vt 0.508929 0.923611 +vt 0.508929 0.986111 +vt 0.508929 0.965278 +vt 0.508929 0.930556 +vt 0.508929 0.972222 +vt 0.508929 0.937500 +vt 0.517857 0.937500 +vt 0.517857 0.944444 +vt 0.517857 0.951389 +vt 0.517857 0.993056 +vt 0.517857 1.000000 +vt 0.517857 0.979167 +vt 0.517857 0.958333 +vt 0.517857 0.916667 +vt 0.517857 0.923611 +vt 0.517857 0.986111 +vt 0.517857 0.965278 +vt 0.517857 0.930556 +vt 0.517857 0.972222 +vt 0.377976 0.993056 +vt 0.369048 1.000000 +vt 0.369048 0.993056 +vt 0.377976 0.930556 +vt 0.369048 0.937500 +vt 0.369048 0.930556 +vt 0.369048 0.965278 +vt 0.377976 0.972222 +vt 0.369048 0.972222 +vt 0.369048 0.951389 +vt 0.377976 0.958333 +vt 0.369048 0.958333 +vt 0.377976 0.986111 +vt 0.369048 0.986111 +vt 0.377976 0.923611 +vt 0.369048 0.923611 +vt 0.377976 0.944444 +vt 0.369048 0.944444 +vt 0.369048 0.979167 +vt 0.369048 0.916667 +vt 0.377976 0.979167 +vt 0.386905 0.965278 +vt 0.377976 0.965278 +vt 0.386905 0.944444 +vt 0.377976 0.951389 +vt 0.386905 0.979167 +vt 0.377976 0.916667 +vt 0.386905 0.923611 +vt 0.377976 0.937500 +vt 0.386905 0.972222 +vt 0.386905 0.993056 +vt 0.377976 1.000000 +vt 0.386905 0.930556 +vt 0.386905 0.951389 +vt 0.395833 0.923611 +vt 0.395833 0.958333 +vt 0.386905 0.958333 +vt 0.395833 0.944444 +vt 0.395833 0.986111 +vt 0.386905 0.986111 +vt 0.386905 0.916667 +vt 0.395833 0.937500 +vt 0.386905 0.937500 +vt 0.395833 0.979167 +vt 0.395833 0.993056 +vt 0.386905 1.000000 +vt 0.395833 0.930556 +vt 0.395833 0.972222 +vt 0.491071 0.923611 +vt 0.491071 0.958333 +vt 0.395833 0.965278 +vt 0.491071 0.944444 +vt 0.395833 0.951389 +vt 0.491071 0.979167 +vt 0.395833 0.916667 +vt 0.491071 0.937500 +vt 0.491071 0.972222 +vt 0.491071 0.993056 +vt 0.395833 1.000000 +vt 0.491071 0.930556 +vt 0.491071 0.951389 +vt 0.491071 0.986111 +vt 0.500000 0.993056 +vt 0.500000 0.923611 +vt 0.500000 0.958333 +vt 0.491071 0.965278 +vt 0.500000 0.944444 +vt 0.500000 0.986111 +vt 0.491071 0.916667 +vt 0.500000 0.972222 +vt 0.491071 1.000000 +vt 0.500000 0.937500 +vt 0.500000 0.951389 +vt 0.508929 0.958333 +vt 0.508929 0.993056 +vt 0.508929 0.923611 +vt 0.500000 0.930556 +vt 0.500000 0.965278 +vt 0.508929 0.944444 +vt 0.508929 0.979167 +vt 0.500000 0.979167 +vt 0.508929 0.916667 +vt 0.500000 0.916667 +vt 0.500000 1.000000 +vt 0.508929 0.930556 +vt 0.508929 0.972222 +vt 0.517857 0.972222 +vt 0.508929 0.965278 +vt 0.517857 0.965278 +vt 0.517857 0.979167 +vt 0.508929 0.986111 +vt 0.517857 0.986111 +vt 0.517857 1.000000 +vt 0.517857 0.916667 +vt 0.517857 0.923611 +vt 0.517857 0.930556 +vt 0.508929 0.937500 +vt 0.517857 0.937500 +vt 0.517857 0.944444 +vt 0.508929 0.951389 +vt 0.517857 0.958333 +vt 0.000000 0.937500 +vt 0.000000 0.965278 +vt 0.000000 0.979167 +vt 0.000000 0.930556 +vt 0.000000 0.958333 +vt -0.000000 0.986111 +vt 0.000000 0.923611 +vt -0.000000 0.993056 +vt 0.000000 0.916667 +vt 0.000000 0.944444 +vt 0.000000 0.916667 +vt 0.000000 0.993056 +vt 0.000000 0.951389 +vt 0.000000 0.923611 +vt 0.000000 0.986111 +vt 0.000000 0.958333 +vt 0.000000 0.951389 +vt 0.000000 0.930556 +vt 0.000000 0.979167 +vt 0.000000 0.965278 +vt 0.000000 0.944444 +vt 0.000000 0.937500 +vt 0.000000 0.972222 +vt 0.000000 0.972222 +vt 0.377976 0.916667 +vt 0.508929 0.916667 +vt 0.508929 1.000000 +vt -0.000000 1.000000 +vt 0.000000 1.000000 +vn 0.0000 0.0000 1.0000 +vn -0.0000 -0.9911 0.1334 +vn 0.5194 -0.7400 0.4273 +vn 0.5065 -0.8546 0.1144 +vn -0.9998 0.0215 -0.0058 +vn -0.8846 -0.4039 0.2332 +vn -0.8738 -0.4822 0.0628 +vn 0.4883 0.8653 -0.1129 +vn 0.8474 0.4598 -0.2654 +vn 0.4823 0.7586 -0.4380 +vn -0.4883 0.8653 -0.1129 +vn 0.0000 0.8660 -0.5000 +vn -0.4823 0.7586 -0.4380 +vn 0.8738 -0.4822 0.0628 +vn 0.8846 -0.4039 0.2332 +vn -0.5065 -0.8546 0.1144 +vn -0.5194 -0.7400 0.4273 +vn 0.0000 0.9918 -0.1278 +vn -0.8549 0.5140 -0.0698 +vn -0.8474 0.4598 -0.2654 +vn 0.9991 0.0373 -0.0215 +vn 0.9998 0.0215 -0.0058 +vn -0.0000 -0.8660 0.5000 +vn -0.9991 0.0373 -0.0215 +vn 0.8549 0.5140 -0.0698 +vn -0.0000 0.5000 -0.8660 +vn -0.8474 0.2655 -0.4598 +vn 0.8846 -0.2332 0.4039 +vn 0.9991 0.0215 -0.0373 +vn 0.0000 -0.5000 0.8660 +vn -0.9991 0.0215 -0.0373 +vn 0.8474 0.2655 -0.4598 +vn 0.5195 -0.4273 0.7400 +vn -0.8846 -0.2332 0.4039 +vn 0.4823 0.4380 -0.7586 +vn -0.4823 0.4380 -0.7586 +vn -0.5194 -0.4273 0.7400 +vn -0.5065 -0.1144 0.8546 +vn 0.4883 0.1129 -0.8653 +vn -0.0000 0.1278 -0.9918 +vn -0.8549 0.0698 -0.5140 +vn 0.8738 -0.0628 0.4822 +vn 0.9998 0.0058 -0.0215 +vn -0.0000 -0.1334 0.9911 +vn -0.9998 0.0058 -0.0215 +vn 0.8549 0.0698 -0.5140 +vn 0.5065 -0.1144 0.8546 +vn -0.8738 -0.0628 0.4822 +vn -0.4883 0.1129 -0.8653 +vn -0.5140 -0.0698 0.8549 +vn -0.0215 -0.0058 -0.9998 +vn -0.8653 -0.1129 -0.4883 +vn 0.8546 0.1144 0.5065 +vn 0.9911 0.1334 0.0000 +vn -0.0215 -0.0058 0.9998 +vn -0.9918 -0.1278 0.0000 +vn 0.8546 0.1144 -0.5065 +vn 0.4822 0.0628 0.8738 +vn -0.8653 -0.1129 0.4883 +vn 0.4822 0.0628 -0.8738 +vn -0.5140 -0.0698 -0.8549 +vn 0.4039 0.2332 0.8846 +vn 0.7400 0.4273 0.5195 +vn -0.4598 -0.2655 0.8474 +vn -0.0373 -0.0215 -0.9991 +vn -0.7586 -0.4380 -0.4823 +vn 0.8660 0.5000 0.0000 +vn -0.0373 -0.0215 0.9991 +vn -0.8660 -0.5000 -0.0000 +vn 0.7400 0.4273 -0.5195 +vn -0.7586 -0.4380 0.4823 +vn 0.4039 0.2332 -0.8846 +vn -0.4598 -0.2655 -0.8474 +vn -0.0215 -0.0373 -0.9991 +vn -0.2655 -0.4598 -0.8474 +vn 0.2332 0.4039 0.8846 +vn 0.4273 0.7400 0.5195 +vn -0.2655 -0.4598 0.8474 +vn -0.4380 -0.7586 -0.4823 +vn 0.5000 0.8660 -0.0000 +vn -0.0215 -0.0373 0.9991 +vn -0.5000 -0.8660 -0.0000 +vn 0.4273 0.7400 -0.5194 +vn -0.4380 -0.7586 0.4823 +vn 0.2332 0.4039 -0.8846 +vn 0.0000 0.4664 -0.8846 +vn 0.0000 -0.0431 -0.9991 +vn 0.0000 -0.5309 -0.8474 +vn 0.0000 0.4664 0.8846 +vn 0.0000 0.8545 0.5195 +vn -0.0000 -0.5309 0.8474 +vn 0.0000 -0.8760 -0.4823 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -0.0431 0.9991 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 0.8545 -0.5194 +vn 0.0000 -0.8760 0.4823 +vn -0.5194 -0.7400 0.4272 +vn 0.5195 -0.7400 0.4272 +vn 0.5194 -0.4273 0.7400 +vn 0.5140 -0.0698 0.8549 +vn 0.0215 -0.0058 -0.9998 +vn 0.8653 -0.1129 -0.4883 +vn -0.9911 0.1334 0.0000 +vn 0.9918 -0.1278 0.0000 +vn -0.8546 0.1144 -0.5065 +vn -0.4822 0.0628 0.8738 +vn 0.8653 -0.1129 0.4883 +vn 0.5140 -0.0698 -0.8549 +vn -0.8546 0.1144 0.5065 +vn -0.4039 0.2332 0.8846 +vn 0.4598 -0.2654 0.8474 +vn 0.0373 -0.0215 -0.9991 +vn -0.4822 0.0628 -0.8738 +vn 0.7586 -0.4380 -0.4823 +vn -0.7400 0.4272 0.5194 +vn 0.0215 -0.0058 0.9998 +vn -0.7400 0.4273 -0.5195 +vn 0.8660 -0.5000 -0.0000 +vn 0.4598 -0.2654 -0.8474 +vn 0.0215 -0.0373 -0.9991 +vn -0.2332 0.4039 0.8846 +vn 0.2655 -0.4598 0.8474 +vn 0.7586 -0.4380 0.4823 +vn -0.4039 0.2332 -0.8846 +vn 0.4380 -0.7586 -0.4823 +vn -0.5000 0.8660 -0.0000 +vn -0.8660 0.5000 -0.0000 +vn 0.0215 -0.0373 0.9991 +vn 0.0373 -0.0215 0.9991 +vn 0.4380 -0.7586 0.4823 +vn -0.4273 0.7400 -0.5194 +vn -0.2332 0.4039 -0.8846 +vn -0.4273 0.7400 0.5194 +vn 0.5000 -0.8660 -0.0000 +vn 0.2654 -0.4598 -0.8474 +vn 1.0000 0.0000 0.0000 +vn -1.0000 -0.0000 0.0000 +s off +f 367/309/91 371/310/91 363/311/91 +f 385/312/91 381/313/91 377/314/91 +f 363/311/91 364/315/91 365/316/91 +f 365/316/91 366/317/91 363/311/91 +f 366/317/91 367/309/91 363/311/91 +f 367/309/91 368/318/91 371/310/91 +f 368/318/91 369/319/91 371/310/91 +f 369/319/91 370/320/91 371/310/91 +f 371/310/91 372/321/91 373/322/91 +f 373/322/91 374/323/91 371/310/91 +f 374/323/91 363/311/91 371/310/91 +f 377/314/91 376/324/91 375/325/91 +f 375/325/91 386/326/91 377/314/91 +f 386/326/91 385/312/91 377/314/91 +f 385/312/91 384/327/91 383/328/91 +f 383/328/91 382/329/91 385/312/91 +f 382/329/91 381/313/91 385/312/91 +f 381/313/91 380/330/91 377/314/91 +f 380/330/91 379/331/91 377/314/91 +f 379/331/91 378/332/91 377/314/91 +s 1 +f 189/333/92 203/334/93 190/335/94 +f 186/336/95 200/337/96 187/338/97 +f 194/339/98 206/340/99 207/341/100 +f 184/342/101 196/343/102 197/344/103 +f 191/345/104 203/334/93 204/346/105 +f 188/347/106 200/337/96 201/348/107 +f 194/339/98 196/343/102 183/349/108 +f 185/350/109 197/344/103 198/351/110 +f 191/352/104 205/353/111 192/354/112 +f 189/333/92 201/348/107 202/355/113 +f 185/350/109 199/356/114 186/336/95 +f 192/354/112 206/340/99 193/357/115 +f 207/341/100 208/358/116 196/343/102 +f 197/344/103 210/359/117 198/351/110 +f 205/353/111 216/360/118 217/361/119 +f 201/348/107 214/362/120 202/355/113 +f 198/351/110 211/363/121 199/356/114 +f 205/353/111 218/364/122 206/340/99 +f 202/355/113 215/365/123 203/334/93 +f 199/356/114 212/366/124 200/337/96 +f 207/341/100 218/364/122 219/367/125 +f 197/344/103 208/358/116 209/368/126 +f 204/346/105 215/365/123 216/369/118 +f 200/337/96 213/370/127 201/348/107 +f 212/366/124 225/371/128 213/370/127 +f 208/358/116 231/372/129 220/373/130 +f 209/368/126 222/374/131 210/359/117 +f 217/361/119 228/375/132 229/376/133 +f 214/362/120 225/371/128 226/377/134 +f 210/359/117 223/378/135 211/363/121 +f 218/364/122 229/376/133 230/379/136 +f 214/362/120 227/380/137 215/365/123 +f 211/363/121 224/381/138 212/366/124 +f 219/367/125 230/379/136 231/372/129 +f 209/368/126 220/373/130 221/382/139 +f 216/369/118 227/380/137 228/383/132 +f 224/381/138 236/384/140 225/371/128 +f 231/372/129 195/385/141 220/373/130 +f 221/382/139 233/386/142 222/374/131 +f 229/376/133 239/387/143 240/388/144 +f 225/371/128 237/389/145 226/377/134 +f 222/374/131 234/390/146 223/378/135 +f 229/376/133 241/391/147 230/379/136 +f 226/377/134 238/392/148 227/380/137 +f 223/378/135 235/393/149 224/381/138 +f 230/379/136 242/394/150 231/372/129 +f 221/382/139 195/385/141 232/395/151 +f 228/383/132 238/392/148 239/396/143 +f 239/396/143 251/397/152 252/398/153 +f 235/393/149 249/399/154 236/384/140 +f 242/394/150 244/400/155 195/385/141 +f 232/395/151 246/401/156 233/386/142 +f 240/388/144 252/402/153 253/403/157 +f 237/389/145 249/399/154 250/404/158 +f 234/390/146 246/401/156 247/405/159 +f 240/388/144 254/406/160 241/391/147 +f 237/389/145 251/397/152 238/392/148 +f 235/393/149 247/405/159 248/407/161 +f 242/394/150 254/406/160 255/408/162 +f 232/395/151 244/400/155 245/409/163 +f 245/409/163 256/410/164 257/411/165 +f 252/398/153 263/412/166 264/413/167 +f 248/407/161 261/414/168 249/399/154 +f 255/408/162 256/410/164 244/400/155 +f 246/401/156 257/411/165 258/415/169 +f 252/402/153 265/416/170 253/403/157 +f 250/404/158 261/414/168 262/417/171 +f 247/405/159 258/415/169 259/418/172 +f 254/406/160 265/416/170 266/419/173 +f 250/404/158 263/412/166 251/397/152 +f 247/405/159 260/420/174 248/407/161 +f 255/408/162 266/419/173 267/421/175 +f 266/419/173 279/422/176 267/421/175 +f 257/411/165 268/423/177 269/424/178 +f 264/413/167 275/425/179 276/426/180 +f 260/420/174 273/427/181 261/414/168 +f 267/421/175 268/423/177 256/410/164 +f 257/411/165 270/428/182 258/415/169 +f 265/416/170 276/429/180 277/430/183 +f 262/417/171 273/427/181 274/431/184 +f 259/418/172 270/428/182 271/432/185 +f 266/419/173 277/430/183 278/433/186 +f 262/417/171 275/425/179 263/412/166 +f 259/418/172 272/434/187 260/420/174 +f 299/435/188 285/436/92 286/437/106 +f 296/438/105 282/439/112 283/440/104 +f 290/441/101 302/442/110 289/443/109 +f 280/444/98 292/445/102 243/446/108 +f 300/447/96 286/437/106 287/448/97 +f 297/449/189 283/440/104 284/450/94 +f 292/445/102 290/441/101 243/446/108 +f 294/451/99 280/444/98 281/452/115 +f 288/453/95 300/447/96 287/448/97 +f 285/454/92 297/449/189 284/450/94 +f 282/439/112 294/451/99 281/452/115 +f 289/443/109 301/455/114 288/453/95 +f 292/445/102 315/456/126 303/457/103 +f 306/458/122 293/459/100 294/451/99 +f 313/460/121 300/447/96 301/455/114 +f 298/461/113 309/462/190 297/449/189 +f 295/463/111 306/458/122 294/451/99 +f 314/464/117 301/455/114 302/442/110 +f 311/465/127 298/466/113 299/435/188 +f 308/467/118 295/463/111 296/438/105 +f 303/457/103 314/464/117 302/442/110 +f 305/468/125 292/445/102 293/459/100 +f 300/447/96 311/465/127 299/435/188 +f 309/462/190 296/438/105 297/449/189 +f 321/469/137 308/467/118 309/462/190 +f 316/470/130 315/456/126 304/471/116 +f 318/472/136 305/468/125 306/458/122 +f 313/460/121 324/473/138 312/474/124 +f 310/475/120 321/469/137 309/462/190 +f 319/476/133 306/458/122 307/477/119 +f 314/464/117 325/478/135 313/460/121 +f 323/479/128 310/480/120 311/465/127 +f 320/481/132 307/477/119 308/467/118 +f 315/456/126 326/482/131 314/464/117 +f 305/468/125 316/470/130 304/471/116 +f 312/474/124 323/479/128 311/465/127 +f 332/483/191 320/481/132 321/469/137 +f 291/484/192 327/485/139 316/470/130 +f 329/486/193 317/487/129 318/472/136 +f 336/488/194 324/473/138 325/478/135 +f 322/489/134 332/483/191 321/469/137 +f 330/490/195 318/472/136 319/476/133 +f 337/491/196 325/478/135 326/482/131 +f 334/492/197 322/493/134 323/479/128 +f 331/494/198 319/476/133 320/481/132 +f 327/485/139 337/491/196 326/482/131 +f 328/495/199 316/470/130 317/487/129 +f 324/473/138 334/492/197 323/479/128 +f 335/496/200 346/497/201 334/492/197 +f 344/498/202 331/494/198 332/483/191 +f 339/499/203 338/500/204 291/484/192 +f 341/501/205 328/495/199 329/486/193 +f 336/488/194 347/502/206 335/496/200 +f 333/503/207 344/498/202 332/483/191 +f 330/490/195 341/501/205 329/486/193 +f 349/504/208 336/488/194 337/491/196 +f 346/497/201 333/505/207 334/492/197 +f 331/494/198 342/506/209 330/490/195 +f 338/500/204 349/504/208 337/491/196 +f 328/495/199 339/499/203 291/484/192 +f 340/507/210 351/508/211 339/499/203 +f 347/502/206 358/509/212 346/497/201 +f 356/510/213 343/511/214 344/498/202 +f 351/508/211 350/512/215 339/499/203 +f 353/513/216 340/507/210 341/501/205 +f 360/514/217 347/502/206 348/515/218 +f 357/516/219 344/498/202 345/517/220 +f 342/506/209 353/513/216 341/501/205 +f 349/504/208 360/514/217 348/515/218 +f 358/509/212 345/518/220 346/497/201 +f 355/519/221 342/506/209 343/511/214 +f 350/512/215 361/520/222 349/504/208 +f 278/521/186 362/522/223 279/523/176 +f 277/524/183 361/520/222 278/521/186 +f 359/525/224 277/524/183 276/526/180 +f 358/509/212 276/526/180 275/425/179 +f 274/527/184 358/509/212 275/425/179 +f 356/510/213 274/528/184 273/529/181 +f 272/530/187 356/510/213 273/529/181 +f 354/531/225 272/530/187 271/532/185 +f 270/533/182 354/531/225 271/532/185 +f 352/534/226 270/533/182 269/424/178 +f 268/535/177 352/534/226 269/424/178 +f 362/522/223 268/535/177 279/523/176 +f 281/452/115 378/536/227 282/439/112 +f 289/443/109 386/537/217 290/441/101 +f 189/333/92 368/538/172 188/347/106 +f 282/439/112 379/539/209 283/440/104 +f 290/441/101 375/540/183 243/446/108 +f 190/335/94 369/541/185 189/333/92 +f 283/440/104 380/542/225 284/450/94 +f 191/345/104 370/543/225 190/335/94 +f 284/450/94 381/544/185 285/454/92 +f 184/342/101 363/545/183 183/349/108 +f 192/354/112 371/546/209 191/352/104 +f 285/436/92 382/547/172 286/437/106 +f 185/350/109 364/548/217 184/342/101 +f 193/357/115 372/549/227 192/354/112 +f 286/437/106 383/550/159 287/448/97 +f 186/336/95 365/551/218 185/350/109 +f 243/446/108 376/552/170 280/444/98 +f 194/339/98 373/553/157 193/357/115 +f 287/448/97 384/554/228 288/453/95 +f 187/338/97 366/555/228 186/336/95 +f 280/444/98 377/556/157 281/452/115 +f 183/349/108 374/557/170 194/339/98 +f 288/453/95 385/558/218 289/443/109 +f 188/347/106 367/559/159 187/338/97 +f 189/333/92 202/355/113 203/334/93 +f 186/336/95 199/356/114 200/337/96 +f 194/339/98 193/357/115 206/340/99 +f 184/342/101 183/349/108 196/343/102 +f 191/345/104 190/335/94 203/334/93 +f 188/347/106 187/338/97 200/337/96 +f 194/339/98 207/341/100 196/343/102 +f 185/350/109 184/342/101 197/344/103 +f 191/352/104 204/560/105 205/353/111 +f 189/333/92 188/347/106 201/348/107 +f 185/350/109 198/351/110 199/356/114 +f 192/354/112 205/353/111 206/340/99 +f 207/341/100 219/367/125 208/358/116 +f 197/344/103 209/368/126 210/359/117 +f 205/353/111 204/560/105 216/360/118 +f 201/348/107 213/370/127 214/362/120 +f 198/351/110 210/359/117 211/363/121 +f 205/353/111 217/361/119 218/364/122 +f 202/355/113 214/362/120 215/365/123 +f 199/356/114 211/363/121 212/366/124 +f 207/341/100 206/340/99 218/364/122 +f 197/344/103 196/343/102 208/358/116 +f 204/346/105 203/334/93 215/365/123 +f 200/337/96 212/366/124 213/370/127 +f 212/366/124 224/381/138 225/371/128 +f 208/358/116 219/367/125 231/372/129 +f 209/368/126 221/382/139 222/374/131 +f 217/361/119 216/360/118 228/375/132 +f 214/362/120 213/370/127 225/371/128 +f 210/359/117 222/374/131 223/378/135 +f 218/364/122 217/361/119 229/376/133 +f 214/362/120 226/377/134 227/380/137 +f 211/363/121 223/378/135 224/381/138 +f 219/367/125 218/364/122 230/379/136 +f 209/368/126 208/358/116 220/373/130 +f 216/369/118 215/365/123 227/380/137 +f 224/381/138 235/393/149 236/384/140 +f 231/372/129 242/394/150 195/385/141 +f 221/382/139 232/395/151 233/386/142 +f 229/376/133 228/375/132 239/387/143 +f 225/371/128 236/384/140 237/389/145 +f 222/374/131 233/386/142 234/390/146 +f 229/376/133 240/388/144 241/391/147 +f 226/377/134 237/389/145 238/392/148 +f 223/378/135 234/390/146 235/393/149 +f 230/379/136 241/391/147 242/394/150 +f 221/382/139 220/373/130 195/385/141 +f 228/383/132 227/380/137 238/392/148 +f 239/396/143 238/392/148 251/397/152 +f 235/393/149 248/407/161 249/399/154 +f 242/394/150 255/408/162 244/400/155 +f 232/395/151 245/409/163 246/401/156 +f 240/388/144 239/387/143 252/402/153 +f 237/389/145 236/384/140 249/399/154 +f 234/390/146 233/386/142 246/401/156 +f 240/388/144 253/403/157 254/406/160 +f 237/389/145 250/404/158 251/397/152 +f 235/393/149 234/390/146 247/405/159 +f 242/394/150 241/391/147 254/406/160 +f 232/395/151 195/385/141 244/400/155 +f 245/409/163 244/400/155 256/410/164 +f 252/398/153 251/397/152 263/412/166 +f 248/407/161 260/420/174 261/414/168 +f 255/408/162 267/421/175 256/410/164 +f 246/401/156 245/409/163 257/411/165 +f 252/402/153 264/561/167 265/416/170 +f 250/404/158 249/399/154 261/414/168 +f 247/405/159 246/401/156 258/415/169 +f 254/406/160 253/403/157 265/416/170 +f 250/404/158 262/417/171 263/412/166 +f 247/405/159 259/418/172 260/420/174 +f 255/408/162 254/406/160 266/419/173 +f 266/419/173 278/433/186 279/422/176 +f 257/411/165 256/410/164 268/423/177 +f 264/413/167 263/412/166 275/425/179 +f 260/420/174 272/434/187 273/427/181 +f 267/421/175 279/422/176 268/423/177 +f 257/411/165 269/424/178 270/428/182 +f 265/416/170 264/561/167 276/429/180 +f 262/417/171 261/414/168 273/427/181 +f 259/418/172 258/415/169 270/428/182 +f 266/419/173 265/416/170 277/430/183 +f 262/417/171 274/431/184 275/425/179 +f 259/418/172 271/432/185 272/434/187 +f 299/435/188 298/466/113 285/436/92 +f 296/438/105 295/463/111 282/439/112 +f 290/441/101 303/457/103 302/442/110 +f 280/444/98 293/459/100 292/445/102 +f 300/447/96 299/435/188 286/437/106 +f 297/449/189 296/438/105 283/440/104 +f 292/445/102 303/457/103 290/441/101 +f 294/451/99 293/459/100 280/444/98 +f 288/453/95 301/455/114 300/447/96 +f 285/454/92 298/461/113 297/449/189 +f 282/439/112 295/463/111 294/451/99 +f 289/443/109 302/442/110 301/455/114 +f 292/445/102 304/471/116 315/456/126 +f 306/458/122 305/468/125 293/459/100 +f 313/460/121 312/474/124 300/447/96 +f 298/461/113 310/475/120 309/462/190 +f 295/463/111 307/477/119 306/458/122 +f 314/464/117 313/460/121 301/455/114 +f 311/465/127 310/480/120 298/466/113 +f 308/467/118 307/477/119 295/463/111 +f 303/457/103 315/456/126 314/464/117 +f 305/468/125 304/471/116 292/445/102 +f 300/447/96 312/474/124 311/465/127 +f 309/462/190 308/467/118 296/438/105 +f 321/469/137 320/481/132 308/467/118 +f 316/470/130 327/485/139 315/456/126 +f 318/472/136 317/487/129 305/468/125 +f 313/460/121 325/478/135 324/473/138 +f 310/475/120 322/489/134 321/469/137 +f 319/476/133 318/472/136 306/458/122 +f 314/464/117 326/482/131 325/478/135 +f 323/479/128 322/493/134 310/480/120 +f 320/481/132 319/476/133 307/477/119 +f 315/456/126 327/485/139 326/482/131 +f 305/468/125 317/487/129 316/470/130 +f 312/474/124 324/473/138 323/479/128 +f 332/483/191 331/494/198 320/481/132 +f 291/484/192 338/500/204 327/485/139 +f 329/486/193 328/495/199 317/487/129 +f 336/488/194 335/496/200 324/473/138 +f 322/489/134 333/503/207 332/483/191 +f 330/490/195 329/486/193 318/472/136 +f 337/491/196 336/488/194 325/478/135 +f 334/492/197 333/505/207 322/493/134 +f 331/494/198 330/490/195 319/476/133 +f 327/485/139 338/500/204 337/491/196 +f 328/495/199 291/484/192 316/470/130 +f 324/473/138 335/496/200 334/492/197 +f 335/496/200 347/502/206 346/497/201 +f 344/498/202 343/511/214 331/494/198 +f 339/499/203 350/512/215 338/500/204 +f 341/501/205 340/507/210 328/495/199 +f 336/488/194 348/515/218 347/502/206 +f 333/503/207 345/517/220 344/498/202 +f 330/490/195 342/506/209 341/501/205 +f 349/504/208 348/515/218 336/488/194 +f 346/497/201 345/518/220 333/505/207 +f 331/494/198 343/511/214 342/506/209 +f 338/500/204 350/512/215 349/504/208 +f 328/495/199 340/507/210 339/499/203 +f 340/507/210 352/534/226 351/508/211 +f 347/502/206 359/525/224 358/509/212 +f 356/510/213 355/519/221 343/511/214 +f 351/508/211 362/522/223 350/512/215 +f 353/513/216 352/534/226 340/507/210 +f 360/514/217 359/525/224 347/502/206 +f 357/516/219 356/510/213 344/498/202 +f 342/506/209 354/531/225 353/513/216 +f 349/504/208 361/520/222 360/514/217 +f 358/509/212 357/562/219 345/518/220 +f 355/519/221 354/531/225 342/506/209 +f 350/512/215 362/522/223 361/520/222 +f 278/521/186 361/520/222 362/522/223 +f 277/524/183 360/514/217 361/520/222 +f 359/525/224 360/514/217 277/524/183 +f 358/509/212 359/525/224 276/526/180 +f 274/527/184 357/562/219 358/509/212 +f 356/510/213 357/516/219 274/528/184 +f 272/530/187 355/519/221 356/510/213 +f 354/531/225 355/519/221 272/530/187 +f 270/533/182 353/513/216 354/531/225 +f 352/534/226 353/513/216 270/533/182 +f 268/535/177 351/508/211 352/534/226 +f 362/522/223 351/508/211 268/535/177 +f 281/452/115 377/556/157 378/536/227 +f 289/443/109 385/558/218 386/537/217 +f 189/333/92 369/541/185 368/538/172 +f 282/439/112 378/536/227 379/539/209 +f 290/441/101 386/537/217 375/540/183 +f 190/335/94 370/543/225 369/541/185 +f 283/440/104 379/539/209 380/542/225 +f 191/345/104 371/563/209 370/543/225 +f 284/450/94 380/542/225 381/544/185 +f 184/342/101 364/548/217 363/545/183 +f 192/354/112 372/549/227 371/546/209 +f 285/436/92 381/564/185 382/547/172 +f 185/350/109 365/551/218 364/548/217 +f 193/357/115 373/553/157 372/549/227 +f 286/437/106 382/547/172 383/550/159 +f 186/336/95 366/555/228 365/551/218 +f 243/446/108 375/540/183 376/552/170 +f 194/339/98 374/557/170 373/553/157 +f 287/448/97 383/550/159 384/554/228 +f 187/338/97 367/559/159 366/555/228 +f 280/444/98 376/552/170 377/556/157 +f 183/349/108 363/545/183 374/557/170 +f 288/453/95 384/554/228 385/558/218 +f 188/347/106 368/538/172 367/559/159 +o Gun v 0.000000 0.250000 3.750000 v 0.000000 0.250000 8.000000 v 0.095671 0.230970 3.750000 @@ -227,16 +2135,8 @@ v 0.397747 0.397748 -4.625000 v 0.215259 0.519682 -4.625000 v -0.312500 -0.437500 1.250000 v 0.312500 -0.437500 1.250000 -v 0.187500 -0.312500 1.375000 -v 0.187500 -0.312500 2.375000 -v -0.187500 -0.312500 2.375000 -v -0.187500 -0.312500 1.375000 v -0.312500 -2.187500 1.250000 v 0.312500 -2.187500 1.250000 -v -0.187500 -6.687500 1.375000 -v -0.187500 -6.687500 2.375000 -v 0.187500 -6.687500 2.375000 -v 0.187500 -6.687500 1.375000 v -0.312500 -0.437500 2.312500 v -0.125000 -0.437500 2.500000 v 0.125000 -0.437500 2.500000 @@ -328,22 +2228,6 @@ v -0.230970 0.095671 2.875000 v -0.176777 0.176777 2.875000 v -0.095671 0.230970 2.875000 v -0.000000 0.250000 2.875000 -v 0.562500 1.125000 0.312500 -v 0.519682 0.909741 0.312500 -v 0.397748 0.727252 0.312500 -v 0.215260 0.605318 0.312500 -v 0.625000 1.125000 0.312500 -v 0.239177 0.547575 0.312500 -v 0.441942 0.683058 0.312500 -v 0.577425 0.885823 0.312500 -v 0.562500 1.125000 2.437500 -v 0.519682 0.909741 2.437500 -v 0.397747 0.727252 2.437500 -v 0.215260 0.605318 2.437500 -v 0.239177 0.547575 2.437500 -v 0.441941 0.683058 2.437500 -v 0.577424 0.885823 2.437500 -v 0.625000 1.125000 2.437500 v 0.625000 0.000000 0.312500 v 0.577425 0.239177 0.312500 v 0.441941 0.441942 0.312500 @@ -372,14 +2256,6 @@ v 0.239177 0.577425 2.062500 v 0.000000 0.625000 2.062500 v 0.215260 0.519682 2.062500 v 0.000000 0.562500 2.062500 -v 0.239177 0.547575 2.062500 -v 0.000000 0.500000 2.062500 -v 0.000000 0.562500 2.062500 -v 0.215260 0.605318 2.062500 -v 0.239177 0.547575 0.687500 -v 0.000000 0.500000 0.687500 -v 0.215260 0.605318 0.687500 -v 0.000000 0.562500 0.687500 v -0.250000 -0.437500 -1.875000 v 0.250000 -0.437500 -1.875000 v -0.250000 -1.812500 -1.875000 @@ -416,14 +2292,14 @@ v -0.250000 -0.312500 -2.875000 v 0.250000 -0.312500 -2.875000 v -0.375000 -0.600718 -3.125000 v 0.375000 -0.600718 -3.125000 -v -0.375000 -0.654728 -3.449057 -v 0.375000 -0.654728 -3.449057 +v -0.375000 -0.654727 -3.449057 +v 0.375000 -0.654727 -3.449057 v -0.375000 -3.311872 -4.173732 v 0.375000 -3.311872 -4.173732 v -0.375000 -3.085226 -4.929220 v 0.375000 -3.085226 -4.929220 -v 0.375000 -0.961348 -4.201034 -v -0.375000 -0.961348 -4.201034 +v 0.375000 -0.961349 -4.201034 +v -0.375000 -0.961349 -4.201034 v 0.250000 -0.812500 -4.875000 v 0.375000 -0.312500 -4.679806 v 0.250000 -0.812500 -2.875000 @@ -480,94 +2356,6 @@ v -0.125000 -1.437500 -3.125000 v 0.125000 -1.437500 -3.125000 v -0.125000 -1.437500 -3.500000 v 0.125000 -1.437500 -3.500000 -v -0.250000 -1.580894 -0.329788 -v -0.250000 -1.459289 -0.374049 -v -0.250000 -1.331845 -0.351577 -v -0.250000 -1.232712 -0.268394 -v -0.250000 -1.188451 -0.146789 -v -0.250000 -1.210923 -0.019345 -v -0.250000 -1.294106 0.079788 -v -0.250000 -1.415711 0.124049 -v -0.250000 -1.543154 0.101577 -v -0.250000 -1.642288 0.018394 -v -0.250000 -1.686549 -0.103211 -v -0.250000 -1.664077 -0.230654 -v -0.500000 -1.580894 -0.329788 -v -0.500000 -1.459289 -0.374049 -v -0.500000 -1.331845 -0.351577 -v -0.500000 -1.232712 -0.268394 -v -0.500000 -1.188451 -0.146789 -v -0.500000 -1.210923 -0.019345 -v -0.500000 -1.294106 0.079788 -v -0.500000 -1.415711 0.124049 -v -0.500000 -1.543154 0.101577 -v -0.500000 -1.642288 0.018394 -v -0.500000 -1.686549 -0.103211 -v -0.500000 -1.664077 -0.230654 -v -0.593750 -0.612984 1.052531 -v -0.593750 -0.521780 1.019336 -v -0.593750 -0.426197 1.036189 -v -0.593750 -0.351847 1.098576 -v -0.593750 -0.318652 1.189780 -v -0.593750 -0.335506 1.285363 -v -0.593750 -0.397893 1.359713 -v -0.593750 -0.489097 1.392909 -v -0.593750 -0.584679 1.376055 -v -0.593750 -0.659029 1.313668 -v -0.593750 -0.692225 1.222464 -v -0.593750 -0.675371 1.126881 -v -0.781250 -0.612984 1.052531 -v -0.781250 -0.521780 1.019336 -v -0.781250 -0.426197 1.036189 -v -0.781250 -0.351847 1.098576 -v -0.781250 -0.318652 1.189780 -v -0.781250 -0.335506 1.285363 -v -0.781250 -0.397893 1.359713 -v -0.781250 -0.489097 1.392909 -v -0.781250 -0.584679 1.376055 -v -0.781250 -0.659029 1.313668 -v -0.781250 -0.692225 1.222464 -v -0.781250 -0.675371 1.126881 -v -0.750000 -0.643681 1.226622 -v -0.625000 -0.643681 1.226622 -v -0.750000 -0.438893 1.083228 -v -0.625000 -0.438893 1.083228 -v -0.750000 -0.582287 0.878440 -v -0.750000 -0.787075 1.021834 -v -0.625000 -0.787075 1.021834 -v -0.625000 -0.582287 0.878440 -v -0.437500 -1.155863 0.059288 -v -0.437500 -1.360651 0.202682 -v -0.312500 -1.360651 0.202682 -v -0.312500 -1.155863 0.059288 -v -0.437500 -1.227560 -0.043106 -v -0.437500 -1.432348 0.100288 -v -0.312500 -1.432348 0.100288 -v -0.312500 -1.227560 -0.043106 -v -0.781250 -0.577135 1.103728 -v -0.781250 -0.516333 1.081598 -v -0.781250 -0.452611 1.092834 -v -0.781250 -0.403044 1.134425 -v -0.781250 -0.380914 1.195228 -v -0.781250 -0.392150 1.258950 -v -0.781250 -0.433741 1.308516 -v -0.781250 -0.494544 1.330647 -v -0.781250 -0.558265 1.319411 -v -0.781250 -0.607832 1.277819 -v -0.781250 -0.629963 1.217017 -v -0.781250 -0.618727 1.153295 -v -1.531250 -0.577135 1.103728 -v -1.531250 -0.516333 1.081598 -v -1.531250 -0.452611 1.092834 -v -1.531250 -0.403044 1.134425 -v -1.531250 -0.380914 1.195228 -v -1.531250 -0.392150 1.258950 -v -1.531250 -0.433741 1.308516 -v -1.531250 -0.494544 1.330647 -v -1.531250 -0.558265 1.319411 -v -1.531250 -0.607832 1.277819 -v -1.531250 -0.629963 1.217017 -v -1.531250 -0.618727 1.153295 v -0.375000 -0.375000 -1.937500 v -0.468750 -0.400120 -1.937500 v -0.537380 -0.468750 -1.937500 @@ -616,272 +2404,6 @@ v -0.212621 -0.656250 -5.062500 v -0.187500 -0.562500 -5.062500 v -0.212621 -0.468750 -5.062500 v -0.281250 -0.400120 -5.062500 -v -0.375000 -0.437500 -6.562500 -v -0.437500 -0.454247 -6.562500 -v -0.483253 -0.500000 -6.562500 -v -0.500000 -0.562500 -6.562500 -v -0.483253 -0.625000 -6.562500 -v -0.437500 -0.670753 -6.562500 -v -0.375000 -0.687500 -6.562500 -v -0.312500 -0.670753 -6.562500 -v -0.266747 -0.625000 -6.562500 -v -0.250000 -0.562500 -6.562500 -v -0.266747 -0.500000 -6.562500 -v -0.312500 -0.454247 -6.562500 -v -0.375000 -2.937500 -7.062500 -v -0.375000 -0.504487 -6.812500 -v -0.437500 -0.518991 -6.804127 -v -0.483253 -0.558614 -6.781250 -v -0.500000 -0.612741 -6.750000 -v -0.483253 -0.666867 -6.718750 -v -0.437500 -0.706490 -6.695873 -v -0.375000 -0.720994 -6.687500 -v -0.312500 -0.706490 -6.695873 -v -0.266747 -0.666867 -6.718750 -v -0.250000 -0.612741 -6.750000 -v -0.266747 -0.558614 -6.781250 -v -0.312500 -0.518991 -6.804127 -v -0.375000 -0.687500 -6.995513 -v -0.437500 -0.695874 -6.981009 -v -0.483253 -0.718750 -6.941386 -v -0.500000 -0.750000 -6.887259 -v -0.483253 -0.781250 -6.833133 -v -0.437500 -0.804126 -6.793509 -v -0.375000 -0.812500 -6.779007 -v -0.312500 -0.804126 -6.793509 -v -0.266747 -0.781250 -6.833133 -v -0.250000 -0.750000 -6.887259 -v -0.266747 -0.718750 -6.941386 -v -0.312500 -0.695874 -6.981009 -v -0.375000 -0.937500 -7.062500 -v -0.437500 -0.937500 -7.045753 -v -0.483253 -0.937500 -7.000000 -v -0.500000 -0.937500 -6.937500 -v -0.483253 -0.937500 -6.875000 -v -0.437500 -0.937500 -6.829247 -v -0.375000 -0.937500 -6.812500 -v -0.312500 -0.937500 -6.829247 -v -0.266747 -0.937500 -6.875000 -v -0.250000 -0.937500 -6.937500 -v -0.266747 -0.937500 -7.000000 -v -0.312500 -0.937500 -7.045753 -v -0.437500 -2.937500 -7.045753 -v -0.483253 -2.937500 -7.000000 -v -0.500000 -2.937500 -6.937500 -v -0.483253 -2.937500 -6.875000 -v -0.437500 -2.937500 -6.829247 -v -0.375000 -2.937500 -6.812500 -v -0.312500 -2.937500 -6.829247 -v -0.266747 -2.937500 -6.875000 -v -0.250000 -2.937500 -6.937500 -v -0.266747 -2.937500 -7.000000 -v -0.312500 -2.937500 -7.045753 -v 0.375000 -0.437500 -6.562500 -v -0.324759 -3.125000 -7.062500 -v -0.378886 -3.156250 -7.045753 -v -0.418509 -3.179127 -7.000000 -v -0.433013 -3.187500 -6.937500 -v -0.418509 -3.179127 -6.875000 -v -0.378886 -3.156250 -6.829247 -v -0.324759 -3.125000 -6.812500 -v -0.270633 -3.093750 -6.829247 -v -0.231009 -3.070873 -6.875000 -v -0.216506 -3.062500 -6.937500 -v -0.231009 -3.070873 -7.000000 -v -0.270633 -3.093750 -7.045753 -v -0.187500 -3.262259 -7.062500 -v -0.218750 -3.316386 -7.045753 -v -0.241627 -3.356009 -7.000000 -v -0.250000 -3.370513 -6.937500 -v -0.241627 -3.356009 -6.875000 -v -0.218750 -3.316386 -6.829247 -v -0.187500 -3.262259 -6.812500 -v -0.156250 -3.208133 -6.829247 -v -0.133374 -3.168509 -6.875000 -v -0.125000 -3.154006 -6.937500 -v -0.133373 -3.168509 -7.000000 -v -0.156250 -3.208133 -7.045753 -v 0.000000 -3.312500 -7.062500 -v 0.000000 -3.375000 -7.045753 -v 0.000000 -3.420753 -7.000000 -v 0.000000 -3.437500 -6.937500 -v 0.000000 -3.420753 -6.875000 -v -0.000000 -3.375000 -6.829247 -v 0.000000 -3.312500 -6.812500 -v -0.000000 -3.250000 -6.829247 -v 0.000000 -3.204247 -6.875000 -v 0.000000 -3.187500 -6.937500 -v 0.000000 -3.204247 -7.000000 -v 0.000000 -3.250000 -7.045753 -v 0.437500 -0.454247 -6.562500 -v 0.483253 -0.500000 -6.562500 -v 0.500000 -0.562500 -6.562500 -v 0.483253 -0.625000 -6.562500 -v 0.437500 -0.670753 -6.562500 -v 0.375000 -0.687500 -6.562500 -v 0.312500 -0.670753 -6.562500 -v 0.266747 -0.625000 -6.562500 -v 0.250000 -0.562500 -6.562500 -v 0.266747 -0.500000 -6.562500 -v 0.312500 -0.454247 -6.562500 -v 0.375000 -2.937500 -7.062500 -v 0.375000 -0.504487 -6.812500 -v 0.437500 -0.518991 -6.804127 -v 0.483253 -0.558614 -6.781250 -v 0.500000 -0.612741 -6.750000 -v 0.483253 -0.666867 -6.718750 -v 0.437500 -0.706490 -6.695873 -v 0.375000 -0.720994 -6.687500 -v 0.312500 -0.706490 -6.695873 -v 0.266747 -0.666867 -6.718750 -v 0.250000 -0.612741 -6.750000 -v 0.266747 -0.558614 -6.781250 -v 0.312500 -0.518991 -6.804127 -v 0.375000 -0.687500 -6.995513 -v 0.437500 -0.695874 -6.981009 -v 0.483253 -0.718750 -6.941386 -v 0.500000 -0.750000 -6.887259 -v 0.483253 -0.781250 -6.833133 -v 0.437500 -0.804126 -6.793509 -v 0.375000 -0.812500 -6.779007 -v 0.312500 -0.804126 -6.793509 -v 0.266747 -0.781250 -6.833133 -v 0.250000 -0.750000 -6.887259 -v 0.266747 -0.718750 -6.941386 -v 0.312500 -0.695874 -6.981009 -v 0.375000 -0.937500 -7.062500 -v 0.437500 -0.937500 -7.045753 -v 0.483253 -0.937500 -7.000000 -v 0.500000 -0.937500 -6.937500 -v 0.483253 -0.937500 -6.875000 -v 0.437500 -0.937500 -6.829247 -v 0.375000 -0.937500 -6.812500 -v 0.312500 -0.937500 -6.829247 -v 0.266747 -0.937500 -6.875000 -v 0.250000 -0.937500 -6.937500 -v 0.266747 -0.937500 -7.000000 -v 0.312500 -0.937500 -7.045753 -v 0.437500 -2.937500 -7.045753 -v 0.483253 -2.937500 -7.000000 -v 0.500000 -2.937500 -6.937500 -v 0.483253 -2.937500 -6.875000 -v 0.437500 -2.937500 -6.829247 -v 0.375000 -2.937500 -6.812500 -v 0.312500 -2.937500 -6.829247 -v 0.266747 -2.937500 -6.875000 -v 0.250000 -2.937500 -6.937500 -v 0.266747 -2.937500 -7.000000 -v 0.312500 -2.937500 -7.045753 -v 0.324759 -3.125000 -7.062500 -v 0.378886 -3.156250 -7.045753 -v 0.418509 -3.179127 -7.000000 -v 0.433012 -3.187500 -6.937500 -v 0.418509 -3.179127 -6.875000 -v 0.378886 -3.156250 -6.829247 -v 0.324759 -3.125000 -6.812500 -v 0.270633 -3.093750 -6.829247 -v 0.231009 -3.070873 -6.875000 -v 0.216506 -3.062500 -6.937500 -v 0.231009 -3.070873 -7.000000 -v 0.270633 -3.093750 -7.045753 -v 0.187500 -3.262259 -7.062500 -v 0.218750 -3.316386 -7.045753 -v 0.241627 -3.356009 -7.000000 -v 0.250000 -3.370513 -6.937500 -v 0.241627 -3.356009 -6.875000 -v 0.218750 -3.316386 -6.829247 -v 0.187500 -3.262259 -6.812500 -v 0.156250 -3.208133 -6.829247 -v 0.133373 -3.168509 -6.875000 -v 0.125000 -3.154006 -6.937500 -v 0.133373 -3.168509 -7.000000 -v 0.156250 -3.208133 -7.045753 -v -0.375000 -0.437500 1.187500 -v -0.437500 -0.454247 1.187500 -v -0.483253 -0.500000 1.187500 -v -0.500000 -0.562500 1.187500 -v -0.483253 -0.625000 1.187500 -v -0.437500 -0.670753 1.187500 -v -0.375000 -0.687500 1.187500 -v -0.312500 -0.670753 1.187500 -v -0.266747 -0.625000 1.187500 -v -0.250000 -0.562500 1.187500 -v -0.266747 -0.500000 1.187500 -v -0.312500 -0.454247 1.187500 -v 0.375000 -0.437500 1.187500 -v 0.437500 -0.454247 1.187500 -v 0.483253 -0.500000 1.187500 -v 0.500000 -0.562500 1.187500 -v 0.483253 -0.625000 1.187500 -v 0.437500 -0.670753 1.187500 -v 0.375000 -0.687500 1.187500 -v 0.312500 -0.670753 1.187500 -v 0.266747 -0.625000 1.187500 -v 0.250000 -0.562500 1.187500 -v 0.266747 -0.500000 1.187500 -v 0.312500 -0.454247 1.187500 -v 0.000000 -0.293931 1.531675 -v -0.078125 -0.313602 1.538834 -v -0.135317 -0.367344 1.558395 -v -0.156250 -0.440758 1.585115 -v -0.135317 -0.514171 1.611836 -v -0.078125 -0.567913 1.631396 -v 0.000000 -0.587584 1.638556 -v 0.078125 -0.567914 1.631396 -v 0.135316 -0.514171 1.611836 -v 0.156250 -0.440758 1.585115 -v 0.135316 -0.367344 1.558395 -v 0.078125 -0.313602 1.538834 -v 0.000000 -0.122921 2.001521 -v -0.078125 -0.142592 2.008681 -v -0.135317 -0.196334 2.028241 -v -0.156250 -0.269747 2.054962 -v -0.135317 -0.343161 2.081682 -v -0.078125 -0.396903 2.101243 -v 0.000000 -0.416574 2.108402 -v 0.078125 -0.396903 2.101243 -v 0.135316 -0.343161 2.081682 -v 0.156250 -0.269747 2.054962 -v 0.135316 -0.196334 2.028241 -v 0.078125 -0.142592 2.008681 -v 0.000000 -0.095498 2.191073 -v -0.058594 -0.110252 2.196443 -v -0.101488 -0.150559 2.211114 -v -0.117188 -0.205619 2.231154 -v -0.101488 -0.260679 2.251194 -v -0.058594 -0.300986 2.265865 -v 0.000000 -0.315739 2.271235 -v 0.058594 -0.300986 2.265865 -v 0.101487 -0.260679 2.251194 -v 0.117188 -0.205619 2.231154 -v 0.101487 -0.150559 2.211114 -v 0.058594 -0.110252 2.196443 -v 0.000000 -0.147536 2.276525 -v -0.019531 -0.152454 2.278315 -v -0.033830 -0.165889 2.283205 -v -0.039062 -0.184243 2.289885 -v -0.033830 -0.202596 2.296565 -v -0.019531 -0.216031 2.301455 -v 0.000000 -0.220949 2.303245 -v 0.019531 -0.216032 2.301455 -v 0.033829 -0.202596 2.296565 -v 0.039062 -0.184243 2.289885 -v 0.033829 -0.165889 2.283205 -v 0.019531 -0.152454 2.278315 -v 0.125000 -0.187500 1.375000 -v -0.125000 -0.187500 1.375000 -v 0.062500 -0.187500 1.875000 -v -0.062500 -0.187500 1.875000 -v -0.062500 -0.187500 1.375000 -v -0.125000 -0.187500 1.875000 -v 0.062500 -0.187500 1.375000 -v 0.125000 -0.187500 1.875000 -v 0.187500 -0.312500 1.875000 -v -0.187500 -0.312500 1.875000 -v 0.062500 -0.312500 1.875000 -v -0.062500 -0.312500 1.875000 -v 0.062500 -0.312500 1.375000 -v -0.062500 -0.312500 1.375000 v 0.031250 0.875000 2.500000 v 0.031250 0.875000 2.875000 v -0.031250 0.875000 2.500000 @@ -1138,9 +2660,6 @@ vt -0.000000 0.444444 vt 0.002976 0.444444 vt -0.000000 0.416667 vt 0.002976 0.416667 -vt 0.779762 0.041667 -vt 0.779762 0.750000 -vt 0.755952 0.750000 vt 0.681548 0.069444 vt 0.672619 0.048611 vt 0.681548 0.000000 @@ -1153,15 +2672,6 @@ vt 0.601190 0.263889 vt 0.681548 0.263889 vt 0.732143 0.069444 vt 0.732143 0.263889 -vt 0.797619 0.041667 -vt 0.845238 0.041667 -vt 0.845238 0.750000 -vt 0.821429 0.750000 -vt 0.732143 0.041667 -vt 0.779762 -0.000000 -vt 0.863095 0.041667 -vt 0.845238 0.750000 -vt 0.845238 0.750000 vt 0.651786 0.069444 vt 0.660714 0.069444 vt 0.651786 0.263889 @@ -1197,30 +2707,9 @@ vt 0.461310 0.006944 vt 0.571429 0.131944 vt 0.568452 0.118056 vt 0.571429 0.118056 -vt 0.431548 0.597222 -vt 0.532738 0.590278 -vt 0.431548 0.590278 -vt 0.449405 0.520833 -vt 0.431548 0.513889 -vt 0.431548 0.520833 -vt 0.449405 0.486111 -vt 0.514881 0.493056 -vt 0.514881 0.486111 -vt 0.529762 0.513889 -vt 0.532738 0.541667 -vt 0.532738 0.513889 vt 0.532738 0.430556 vt 0.529762 0.458333 vt 0.532738 0.458333 -vt 0.529762 0.569444 -vt 0.532738 0.597222 -vt 0.532738 0.569444 -vt 0.529762 0.541667 -vt 0.431548 0.541667 -vt 0.434524 0.513889 -vt 0.434524 0.569444 -vt 0.431548 0.569444 -vt 0.434524 0.541667 vt 0.529762 0.402778 vt 0.529762 0.430556 vt 0.532738 0.486111 @@ -1247,12 +2736,6 @@ vt 0.514881 0.486111 vt 0.514881 0.513889 vt 0.446429 0.513889 vt 0.449405 0.513889 -vt 0.449405 0.513889 -vt 0.452381 0.486111 -vt 0.511905 0.513889 -vt 0.514881 0.513889 -vt 0.514881 0.520833 -vt 0.532738 0.520833 vt 0.110119 0.708333 vt 0.175595 0.763889 vt 0.110119 0.763889 @@ -1353,31 +2836,6 @@ vt 0.538690 0.708333 vt 0.538690 0.791667 vt 0.544643 0.833333 vt 0.526786 0.833333 -vt 0.717262 0.500032 -vt 0.727560 0.513905 -vt 0.727560 0.541651 -vt 0.668008 0.736165 -vt 0.668008 0.763835 -vt 0.647468 0.763835 -vt 0.647468 0.680609 -vt 0.657738 0.666774 -vt 0.668008 0.680609 -vt 0.577381 0.722222 -vt 0.571429 0.708333 -vt 0.577381 0.708333 -vt 0.636905 0.722222 -vt 0.625000 0.708333 -vt 0.636905 0.708333 -vt 0.636905 0.680556 -vt 0.625000 0.666667 -vt 0.636905 0.666667 -vt 0.625000 0.722222 -vt 0.577381 0.680556 -vt 0.577381 0.666667 -vt 0.571429 0.666667 -vt 0.711309 0.694407 -vt 0.706168 0.687481 -vt 0.706168 0.673629 vt 0.533983 0.531184 vt 0.541666 0.500130 vt 0.549350 0.531185 @@ -1390,38 +2848,6 @@ vt 0.403030 0.649371 vt 0.403031 0.628407 vt 0.410715 0.597353 vt 0.418398 0.628407 -vt 0.518695 0.923665 -vt 0.528925 0.923665 -vt 0.523810 0.944337 -vt 0.518695 0.937446 -vt 0.523810 0.916775 -vt 0.528925 0.937446 -vt 0.676595 0.272573 -vt 0.683036 0.263897 -vt 0.689476 0.289927 -vt 0.797619 0.805556 -vt 0.800595 0.861111 -vt 0.797619 0.861111 -vt 0.806548 0.861111 -vt 0.800595 0.805556 -vt 0.806548 0.805556 -vt 0.776786 0.805556 -vt 0.779762 0.861111 -vt 0.776786 0.861111 -vt 0.770833 0.805556 -vt 0.770833 0.861111 -vt 0.797619 0.875000 -vt 0.803571 0.875000 -vt 0.779762 0.875000 -vt 0.773810 0.875000 -vt 0.797619 0.750000 -vt 0.791667 0.805556 -vt 0.785714 0.805556 -vt 0.791667 0.861111 -vt 0.785714 0.861111 -vt 0.779762 0.805556 -vt 0.779762 0.791667 -vt 0.797619 0.791667 vt 0.708333 0.347222 vt 0.711310 0.305556 vt 0.711310 0.347222 @@ -1553,12 +2979,9 @@ vt -0.000000 0.333333 vt -0.000000 0.277778 vt -0.000000 0.666667 vt -0.000000 0.472222 -vt 0.732143 0.750000 vt 0.672619 0.020833 vt 0.732143 0.000000 vt 0.571429 0.069444 -vt 0.732143 0.000000 -vt 0.863095 0.750000 vt 0.443298 0.305555 vt 0.441600 0.315121 vt 0.433400 0.315121 @@ -1579,14 +3002,9 @@ vt 0.449405 0.006944 vt 0.449405 -0.000000 vt 0.544643 -0.000000 vt 0.568452 0.131944 -vt 0.449405 0.493056 -vt 0.529762 0.597222 -vt 0.434524 0.597222 vt 0.434524 0.430556 vt 0.517857 0.486111 vt 0.446429 0.486111 -vt 0.452381 0.513889 -vt 0.511905 0.486111 vt 0.324405 0.708333 vt 0.175595 0.916667 vt 0.324405 0.833333 @@ -1625,45 +3043,6 @@ vt 0.401786 0.902778 vt 0.431548 0.812500 vt 0.401786 0.861111 vt 0.520833 0.736111 -vt 0.706964 0.541651 -vt 0.705371 0.527778 -vt 0.706964 0.513905 -vt 0.711316 0.503749 -vt 0.723207 0.503749 -vt 0.729153 0.527778 -vt 0.723207 0.551806 -vt 0.717262 0.555524 -vt 0.711316 0.551806 -vt 0.645879 0.750000 -vt 0.647468 0.736165 -vt 0.651809 0.726037 -vt 0.657738 0.722330 -vt 0.663667 0.726037 -vt 0.669597 0.750000 -vt 0.663667 0.773963 -vt 0.657738 0.777671 -vt 0.651809 0.773963 -vt 0.669597 0.694444 -vt 0.668008 0.708280 -vt 0.663667 0.718408 -vt 0.657738 0.722115 -vt 0.651809 0.718408 -vt 0.647468 0.708280 -vt 0.645879 0.694444 -vt 0.651809 0.670481 -vt 0.663667 0.670481 -vt 0.571429 0.722222 -vt 0.625000 0.680556 -vt 0.571429 0.680556 -vt 0.708341 0.668559 -vt 0.711309 0.666703 -vt 0.714278 0.668559 -vt 0.716451 0.673629 -vt 0.717246 0.680555 -vt 0.716451 0.687481 -vt 0.714278 0.692551 -vt 0.708341 0.692552 -vt 0.705373 0.680555 vt 0.546103 0.538762 vt 0.541666 0.541536 vt 0.537230 0.538762 @@ -1700,37 +3079,6 @@ vt 0.406278 0.600127 vt 0.415151 0.600127 vt 0.418398 0.607704 vt 0.419587 0.618056 -vt 0.520857 0.942491 -vt 0.518695 0.937446 -vt 0.517904 0.930556 -vt 0.520857 0.918621 -vt 0.523810 0.916775 -vt 0.526763 0.918621 -vt 0.529716 0.930556 -vt 0.528925 0.937446 -vt 0.526763 0.942490 -vt 0.526763 0.942490 -vt 0.523810 0.944337 -vt 0.520857 0.942491 -vt 0.517904 0.930556 -vt 0.518695 0.923665 -vt 0.520857 0.918621 -vt 0.526763 0.918621 -vt 0.528925 0.923665 -vt 0.529716 0.930556 -vt 0.686754 0.296278 -vt 0.676595 0.289927 -vt 0.683036 0.298603 -vt 0.679317 0.296278 -vt 0.675599 0.281250 -vt 0.679317 0.266222 -vt 0.686754 0.266222 -vt 0.689476 0.272573 -vt 0.690473 0.281250 -vt 0.779762 0.805556 -vt 0.797619 0.805556 -vt 0.773810 0.791667 -vt 0.803571 0.791667 vt 0.714286 0.388889 vt 0.729167 0.305556 vt 0.708333 0.263889 @@ -2057,14 +3405,6 @@ vt 0.544643 0.284722 vt 0.544643 0.305556 vt 0.544643 0.326389 vt 0.544643 0.347222 -vt 0.532738 0.569444 -vt 0.431548 0.534722 -vt 0.532738 0.534722 -vt 0.449405 0.486111 -vt 0.514881 0.513889 -vt 0.449405 0.513889 -vt 0.532738 0.597222 -vt 0.431548 0.569444 vt 0.077381 0.326389 vt 0.077381 0.472222 vt 0.077381 0.451389 @@ -2093,19 +3433,19 @@ vt 1.000000 0.472222 vt 1.000000 0.055556 vt 0.976190 0.097222 vt 1.000000 0.333333 -vt 0.931548 0.298611 -vt 0.925595 0.027778 -vt 0.892857 0.312500 -vt 0.952381 0.368056 -vt 0.892857 0.312500 -vt 0.931548 0.298611 +vt 0.928571 0.291667 +vt 0.925595 0.034722 +vt 0.892857 0.326389 +vt 0.949405 0.368056 +vt 0.892857 0.326389 +vt 0.928571 0.291667 vt 0.949405 0.333333 vt 0.964286 0.368056 -vt 0.875000 0.333333 +vt 0.875000 0.347222 vt 0.863095 0.368056 vt 0.863095 0.312500 vt 0.880952 0.305556 -vt 0.925595 0.027778 +vt 0.925595 0.034722 vt 0.916667 0.000000 vt 0.961310 0.055556 vt 0.976190 0.041667 @@ -2114,7 +3454,7 @@ vt 0.958333 0.312500 vt 0.949405 0.333333 vt 0.964286 0.368056 vt 0.958333 0.312500 -vt 0.875000 0.333333 +vt 0.875000 0.347222 vt 0.863095 0.368056 vt 0.875000 0.368056 vt 0.880952 0.305556 @@ -2131,83 +3471,6 @@ vt 0.401786 0.763889 vt 0.550595 0.736111 vt 0.568452 0.736111 vt 0.550595 0.763889 -vt 0.705357 0.611111 -vt 0.693452 0.597222 -vt 0.705357 0.597222 -vt 0.705357 0.513889 -vt 0.693452 0.500000 -vt 0.705357 0.500000 -vt 0.705357 0.652778 -vt 0.693452 0.638889 -vt 0.705357 0.638889 -vt 0.705357 0.555556 -vt 0.693452 0.541667 -vt 0.705357 0.541667 -vt 0.693452 0.583333 -vt 0.705357 0.583333 -vt 0.693452 0.625000 -vt 0.705357 0.625000 -vt 0.693452 0.527778 -vt 0.705357 0.527778 -vt 0.693452 0.569444 -vt 0.705357 0.569444 -vt 0.693452 0.611111 -vt 0.693452 0.513889 -vt 0.705357 0.666667 -vt 0.693452 0.652778 -vt 0.693452 0.555556 -vt 0.636905 0.805556 -vt 0.645833 0.791667 -vt 0.645833 0.805556 -vt 0.636905 0.708333 -vt 0.645833 0.694444 -vt 0.645833 0.708333 -vt 0.636905 0.750000 -vt 0.645833 0.736111 -vt 0.645833 0.750000 -vt 0.636905 0.791667 -vt 0.645833 0.777778 -vt 0.636905 0.694444 -vt 0.645833 0.680556 -vt 0.636905 0.833333 -vt 0.645833 0.819444 -vt 0.645833 0.833333 -vt 0.636905 0.736111 -vt 0.645833 0.722222 -vt 0.636905 0.777778 -vt 0.645833 0.763889 -vt 0.636905 0.680556 -vt 0.645833 0.666667 -vt 0.636905 0.819444 -vt 0.636905 0.722222 -vt 0.636905 0.763889 -vt 0.577381 0.750000 -vt 0.625000 0.750000 -vt 0.705357 0.708333 -vt 0.669643 0.715278 -vt 0.669643 0.708333 -vt 0.705357 0.687500 -vt 0.669643 0.694444 -vt 0.669643 0.687500 -vt 0.705357 0.736111 -vt 0.669643 0.743056 -vt 0.669643 0.736111 -vt 0.705357 0.666667 -vt 0.669643 0.673611 -vt 0.669643 0.666667 -vt 0.705357 0.715278 -vt 0.669643 0.722222 -vt 0.705357 0.694444 -vt 0.669643 0.701389 -vt 0.705357 0.743056 -vt 0.669643 0.750000 -vt 0.705357 0.673611 -vt 0.669643 0.680556 -vt 0.705357 0.722222 -vt 0.669643 0.729167 -vt 0.705357 0.701389 -vt 0.705357 0.680556 -vt 0.705357 0.729167 vt 0.550595 0.513889 vt 0.693452 0.527778 vt 0.550595 0.527778 @@ -2258,288 +3521,6 @@ vt 0.419643 0.652778 vt 0.520833 0.652778 vt 0.419643 0.708333 vt 0.419643 0.638889 -vt 0.369048 0.916667 -vt 0.377976 0.923611 -vt 0.369048 0.923611 -vt 0.369048 0.979167 -vt 0.377976 0.986111 -vt 0.369048 0.986111 -vt 0.369048 0.951389 -vt 0.377976 0.944444 -vt 0.377976 0.951389 -vt 0.369048 0.965278 -vt 0.377976 0.958333 -vt 0.377976 0.965278 -vt 0.369048 0.930556 -vt 0.377976 0.930556 -vt 0.369048 0.993056 -vt 0.377976 0.993056 -vt 0.369048 0.958333 -vt 0.369048 0.972222 -vt 0.377976 0.972222 -vt 0.377976 0.937500 -vt 0.369048 0.937500 -vt 0.369048 1.000000 -vt 0.377976 1.000000 -vt 0.377976 0.979167 -vt 0.369048 0.944444 -vt 0.386905 0.958333 -vt 0.386905 0.972222 -vt 0.386905 0.930556 -vt 0.386905 0.937500 -vt 0.386905 1.000000 -vt 0.386905 0.979167 -vt 0.386905 0.944444 -vt 0.377976 0.916667 -vt 0.386905 0.923611 -vt 0.386905 0.986111 -vt 0.386905 0.951389 -vt 0.386905 0.965278 -vt 0.386905 0.993056 -vt 0.395833 0.993056 -vt 0.395833 0.951389 -vt 0.395833 0.958333 -vt 0.395833 0.972222 -vt 0.395833 0.930556 -vt 0.395833 0.937500 -vt 0.395833 1.000000 -vt 0.395833 0.979167 -vt 0.395833 0.944444 -vt 0.386905 0.916667 -vt 0.395833 0.923611 -vt 0.395833 0.986111 -vt 0.395833 0.965278 -vt 0.491071 0.993056 -vt 0.491071 0.958333 -vt 0.491071 0.972222 -vt 0.491071 0.930556 -vt 0.491071 0.937500 -vt 0.491071 1.000000 -vt 0.491071 0.979167 -vt 0.491071 0.944444 -vt 0.395833 0.916667 -vt 0.491071 0.923611 -vt 0.491071 0.986111 -vt 0.491071 0.951389 -vt 0.491071 0.965278 -vt 0.500000 0.923611 -vt 0.500000 0.930556 -vt 0.500000 0.993056 -vt 0.500000 0.958333 -vt 0.500000 0.972222 -vt 0.500000 0.937500 -vt 0.500000 1.000000 -vt 0.500000 0.979167 -vt 0.500000 0.944444 -vt 0.491071 0.916667 -vt 0.500000 0.986111 -vt 0.500000 0.951389 -vt 0.500000 0.965278 -vt 0.508929 0.958333 -vt 0.508929 0.965278 -vt 0.508929 0.923611 -vt 0.508929 0.930556 -vt 0.508929 0.993056 -vt 0.508929 0.972222 -vt 0.508929 0.937500 -vt 0.508929 1.000000 -vt 0.508929 0.979167 -vt 0.508929 0.944444 -vt 0.500000 0.916667 -vt 0.508929 0.986111 -vt 0.508929 0.951389 -vt 0.517857 0.951389 -vt 0.517857 0.958333 -vt 0.517857 0.965278 -vt 0.517857 0.923611 -vt 0.517857 0.930556 -vt 0.517857 0.993056 -vt 0.517857 0.972222 -vt 0.517857 0.937500 -vt 0.517857 1.000000 -vt 0.517857 0.979167 -vt 0.517857 0.944444 -vt 0.508929 0.916667 -vt 0.517857 0.986111 -vt 0.377976 0.993056 -vt 0.369048 1.000000 -vt 0.369048 0.993056 -vt 0.377976 0.930556 -vt 0.369048 0.937500 -vt 0.369048 0.930556 -vt 0.369048 0.965278 -vt 0.377976 0.972222 -vt 0.369048 0.972222 -vt 0.369048 0.951389 -vt 0.377976 0.958333 -vt 0.369048 0.958333 -vt 0.377976 0.986111 -vt 0.369048 0.986111 -vt 0.377976 0.923611 -vt 0.369048 0.923611 -vt 0.377976 0.944444 -vt 0.369048 0.944444 -vt 0.369048 0.979167 -vt 0.369048 0.916667 -vt 0.377976 0.979167 -vt 0.386905 0.965278 -vt 0.377976 0.965278 -vt 0.386905 0.944444 -vt 0.377976 0.951389 -vt 0.386905 0.979167 -vt 0.377976 0.916667 -vt 0.386905 0.923611 -vt 0.377976 0.937500 -vt 0.386905 0.972222 -vt 0.386905 0.993056 -vt 0.377976 1.000000 -vt 0.386905 0.930556 -vt 0.386905 0.951389 -vt 0.395833 0.923611 -vt 0.395833 0.958333 -vt 0.386905 0.958333 -vt 0.395833 0.944444 -vt 0.395833 0.986111 -vt 0.386905 0.986111 -vt 0.386905 0.916667 -vt 0.395833 0.937500 -vt 0.386905 0.937500 -vt 0.395833 0.979167 -vt 0.395833 0.993056 -vt 0.386905 1.000000 -vt 0.395833 0.930556 -vt 0.395833 0.972222 -vt 0.491071 0.923611 -vt 0.491071 0.958333 -vt 0.395833 0.965278 -vt 0.491071 0.944444 -vt 0.395833 0.951389 -vt 0.491071 0.979167 -vt 0.395833 0.916667 -vt 0.491071 0.937500 -vt 0.491071 0.972222 -vt 0.491071 0.993056 -vt 0.395833 1.000000 -vt 0.491071 0.930556 -vt 0.491071 0.951389 -vt 0.491071 0.986111 -vt 0.500000 0.993056 -vt 0.500000 0.923611 -vt 0.500000 0.958333 -vt 0.491071 0.965278 -vt 0.500000 0.944444 -vt 0.500000 0.986111 -vt 0.491071 0.916667 -vt 0.500000 0.972222 -vt 0.491071 1.000000 -vt 0.500000 0.937500 -vt 0.500000 0.951389 -vt 0.508929 0.958333 -vt 0.508929 0.993056 -vt 0.508929 0.923611 -vt 0.500000 0.930556 -vt 0.500000 0.965278 -vt 0.508929 0.944444 -vt 0.508929 0.979167 -vt 0.500000 0.979167 -vt 0.508929 0.916667 -vt 0.500000 0.916667 -vt 0.500000 1.000000 -vt 0.508929 0.930556 -vt 0.508929 0.972222 -vt 0.517857 0.972222 -vt 0.508929 0.965278 -vt 0.517857 0.965278 -vt 0.517857 0.979167 -vt 0.508929 0.986111 -vt 0.517857 0.986111 -vt 0.517857 0.993056 -vt 0.517857 0.916667 -vt 0.517857 0.923611 -vt 0.517857 0.930556 -vt 0.508929 0.937500 -vt 0.517857 0.937500 -vt 0.517857 0.944444 -vt 0.508929 0.951389 -vt 0.517857 0.951389 -vt 0.000000 0.937500 -vt 0.000000 0.965278 -vt 0.000000 0.993056 -vt 0.000000 0.930556 -vt 0.000000 0.958333 -vt 0.000000 0.916667 -vt 0.000000 0.923611 -vt 0.000000 0.923611 -vt 0.000000 0.916667 -vt 0.000000 0.958333 -vt 0.000000 0.930556 -vt 0.000000 0.993056 -vt 0.000000 0.965278 -vt 0.000000 0.937500 -vt 0.000000 0.986111 -vt 0.000000 0.972222 -vt 0.000000 0.951389 -vt 0.000000 0.944444 -vt 0.000000 0.979167 -vt 0.000000 0.979167 -vt 0.000000 0.944444 -vt 0.000000 0.951389 -vt 0.000000 0.972222 -vt 0.000000 0.986111 -vt 0.636905 0.298611 -vt 0.660714 0.291667 -vt 0.660714 0.298611 -vt 0.636905 0.333333 -vt 0.660714 0.326389 -vt 0.660714 0.333333 -vt 0.636905 0.263889 -vt 0.660714 0.270833 -vt 0.636905 0.270833 -vt 0.636905 0.284722 -vt 0.636905 0.291667 -vt 0.636905 0.326389 -vt 0.660714 0.319444 -vt 0.636905 0.347222 -vt 0.660714 0.340278 -vt 0.660714 0.347222 -vt 0.636905 0.277778 -vt 0.660714 0.284722 -vt 0.636905 0.312500 -vt 0.636905 0.319444 -vt 0.636905 0.305556 -vt 0.660714 0.305556 -vt 0.636905 0.340278 -vt 0.660714 0.277778 -vt 0.660714 0.312500 -vt 0.669643 0.340278 -vt 0.669643 0.347222 -vt 0.669643 0.284722 -vt 0.669643 0.312500 -vt 0.669643 0.319444 -vt 0.669643 0.305556 -vt 0.669643 0.277778 -vt 0.669643 0.291667 -vt 0.669643 0.298611 -vt 0.669643 0.333333 -vt 0.660714 0.263889 -vt 0.669643 0.270833 -vt 0.669643 0.326389 -vt 0.675595 0.347222 -vt 0.675595 0.277778 -vt 0.675595 0.284722 -vt 0.675595 0.319444 -vt 0.675595 0.305556 -vt 0.675595 0.340278 -vt 0.675595 0.312500 -vt 0.675595 0.291667 -vt 0.675595 0.298611 -vt 0.675595 0.326389 -vt 0.675595 0.333333 -vt 0.675595 0.263889 -vt 0.675595 0.270833 -vt 0.676042 0.302196 -vt 0.681100 0.302196 -vt 0.678571 0.312365 vt 0.619048 0.416667 vt 0.616071 0.416667 vt 0.604167 0.416667 @@ -2631,60 +3612,32 @@ vt 0.038690 0.666667 vt 0.520833 0.291667 vt 0.425595 0.305556 vt 0.119048 0.555556 -vt 0.514881 0.486111 -vt 0.431548 0.597222 -vt 0.532738 0.513889 -vt 0.431548 0.513889 vt 0.077381 0.305556 vt 0.077381 0.347222 vt 0.077381 0.388889 vt 0.077381 0.555556 vt 0.077381 0.513889 vt 1.000000 0.097222 -vt 0.952381 0.368056 +vt 0.949405 0.368056 vt 0.875000 0.368056 vt 0.568452 0.763889 -vt 0.693452 0.666667 -vt 0.636905 0.666667 -vt 0.636905 0.750000 -vt 0.571429 0.750000 -vt 0.705357 0.750000 vt 0.693452 0.500000 vt 0.419643 0.763889 -vt 0.508929 1.000000 -vt 0.000000 1.000000 -vt 0.000000 1.000000 -vt 0.669643 0.263889 -vt 0.677132 0.311457 -vt 0.676042 0.308915 -vt 0.675653 0.305556 -vt 0.677132 0.299654 -vt 0.678571 0.298746 -vt 0.680011 0.299654 -vt 0.681490 0.305556 -vt 0.681100 0.308915 -vt 0.680011 0.311457 vt 0.726190 0.388889 vt 0.693452 0.500000 vt 0.419643 0.763889 vn 0.0000 0.0000 1.0000 vn 0.0000 0.0000 -1.0000 -vn -1.0000 0.0000 0.0000 vn 0.0000 -1.0000 0.0000 vn 1.0000 0.0000 0.0000 vn 0.7071 0.0000 0.7071 vn -0.7071 0.0000 0.7071 +vn -1.0000 0.0000 0.0000 vn -0.9808 -0.1951 0.0000 vn -0.0000 1.0000 0.0000 -vn -0.9239 -0.3827 0.0000 vn -0.9239 0.3827 0.0000 vn 0.0000 -0.8480 0.5300 vn 0.0000 -0.8000 -0.6000 -vn 0.0000 0.8192 -0.5736 -vn 0.0000 -0.8192 0.5736 -vn 0.0000 -0.3420 -0.9397 -vn 0.8944 0.4472 0.0000 -vn -0.8944 0.4472 0.0000 vn 0.9965 0.0830 0.0000 vn -0.9965 0.0830 0.0000 vn 0.0000 0.9363 0.3511 @@ -2708,6 +3661,7 @@ vn -0.3827 -0.9239 -0.0000 vn -0.6479 -0.6479 0.4006 vn -0.7071 -0.7071 -0.0000 vn -0.8465 -0.3506 0.4006 +vn -0.9239 -0.3827 -0.0000 vn -0.9163 -0.0000 0.4006 vn -0.8465 0.3506 0.4006 vn -0.6479 0.6479 0.4006 @@ -2823,10 +3777,6 @@ vn 0.3583 -0.8651 -0.3511 vn 0.6621 -0.6621 -0.3511 vn 0.8651 -0.3583 -0.3511 vn 0.9363 -0.0000 -0.3511 -vn 0.9808 -0.1951 0.0000 -vn -0.4430 0.8965 -0.0000 -vn 0.4430 -0.8965 0.0000 -vn 0.1951 -0.9808 0.0000 vn 0.1951 0.9808 0.0000 vn 0.4430 0.8965 -0.0000 vn -0.8765 0.3630 -0.3162 @@ -2881,18 +3831,6 @@ vn 0.0000 0.9285 0.3714 vn 0.0000 -0.9285 -0.3714 vn 0.0000 -0.1602 0.9871 vn 0.0000 -0.3162 0.9487 -vn 0.0000 0.9962 -0.0872 -vn 0.0000 0.9063 0.4226 -vn 0.0000 -0.9063 -0.4226 -vn 0.0000 -0.5736 -0.8192 -vn 0.0000 -0.0872 -0.9962 -vn 0.0000 0.4226 -0.9063 -vn 0.0000 -0.4226 0.9063 -vn 0.0000 0.5736 0.8192 -vn 0.0000 -0.9962 0.0872 -vn 0.0000 0.0872 0.9962 -vn 0.9886 0.0865 0.1236 -vn -0.9886 -0.0865 -0.1236 vn -0.5000 -0.8660 0.0000 vn -0.8660 -0.5000 0.0000 vn 0.5000 0.8660 0.0000 @@ -2901,182 +3839,10 @@ vn -0.5000 0.8660 0.0000 vn 0.8660 -0.5000 0.0000 vn 0.8660 0.5000 0.0000 vn 0.5000 -0.8660 0.0000 -vn -0.0000 -0.9911 0.1334 -vn 0.5194 -0.7400 0.4273 -vn 0.5065 -0.8546 0.1144 -vn -0.9998 0.0215 -0.0058 -vn -0.8846 -0.4039 0.2332 -vn -0.8738 -0.4822 0.0628 -vn 0.4883 0.8653 -0.1129 -vn 0.8474 0.4598 -0.2654 -vn 0.4823 0.7586 -0.4380 -vn -0.4883 0.8653 -0.1129 -vn 0.0000 0.8660 -0.5000 -vn -0.4823 0.7586 -0.4380 -vn 0.8738 -0.4822 0.0628 -vn 0.8846 -0.4039 0.2332 -vn -0.5065 -0.8546 0.1144 -vn -0.5194 -0.7400 0.4273 -vn 0.0000 0.9918 -0.1278 -vn -0.8549 0.5140 -0.0698 -vn -0.8474 0.4598 -0.2654 -vn 0.9991 0.0373 -0.0215 -vn 0.9998 0.0215 -0.0058 -vn -0.0000 -0.8660 0.5000 -vn -0.9991 0.0373 -0.0215 -vn 0.8549 0.5140 -0.0698 -vn -0.0000 0.5000 -0.8660 -vn -0.8474 0.2655 -0.4598 -vn 0.8846 -0.2332 0.4039 -vn 0.9991 0.0215 -0.0373 -vn 0.0000 -0.5000 0.8660 -vn -0.9991 0.0215 -0.0373 -vn 0.8474 0.2655 -0.4598 -vn 0.5195 -0.4273 0.7400 -vn -0.8846 -0.2332 0.4039 -vn 0.4823 0.4380 -0.7586 -vn -0.4823 0.4380 -0.7586 -vn -0.5194 -0.4273 0.7400 -vn -0.5065 -0.1144 0.8546 -vn 0.4883 0.1129 -0.8653 -vn -0.0000 0.1278 -0.9918 -vn -0.8549 0.0698 -0.5140 -vn 0.8738 -0.0628 0.4822 -vn 0.9998 0.0058 -0.0215 -vn -0.0000 -0.1334 0.9911 -vn -0.9998 0.0058 -0.0215 -vn 0.8549 0.0698 -0.5140 -vn 0.5065 -0.1144 0.8546 -vn -0.8738 -0.0628 0.4822 -vn -0.4883 0.1129 -0.8653 -vn -0.5140 -0.0698 0.8549 -vn -0.0215 -0.0058 -0.9998 -vn -0.8653 -0.1129 -0.4883 -vn 0.8546 0.1144 0.5065 -vn 0.9911 0.1334 0.0000 -vn -0.0215 -0.0058 0.9998 -vn -0.9918 -0.1278 0.0000 -vn 0.8546 0.1144 -0.5065 -vn 0.4822 0.0628 0.8738 -vn -0.8653 -0.1129 0.4883 -vn 0.4822 0.0628 -0.8738 -vn -0.5140 -0.0698 -0.8549 -vn 0.4039 0.2332 0.8846 -vn 0.7400 0.4273 0.5195 -vn -0.4598 -0.2655 0.8474 -vn -0.0373 -0.0215 -0.9991 -vn -0.7586 -0.4380 -0.4823 -vn -0.0373 -0.0215 0.9991 -vn 0.7400 0.4273 -0.5195 -vn -0.7586 -0.4380 0.4823 -vn 0.4039 0.2332 -0.8846 -vn -0.4598 -0.2655 -0.8474 -vn -0.0215 -0.0373 -0.9991 -vn -0.2655 -0.4598 -0.8474 -vn 0.2332 0.4039 0.8846 -vn 0.4273 0.7400 0.5195 -vn -0.2655 -0.4598 0.8474 -vn -0.4380 -0.7586 -0.4823 -vn -0.0215 -0.0373 0.9991 -vn 0.4273 0.7400 -0.5194 -vn -0.4380 -0.7586 0.4823 -vn 0.2332 0.4039 -0.8846 -vn 0.0000 0.4664 -0.8846 -vn 0.0000 -0.0431 -0.9991 -vn 0.0000 -0.5309 -0.8474 -vn 0.0000 0.4664 0.8846 -vn 0.0000 0.8545 0.5195 -vn -0.0000 -0.5309 0.8474 -vn 0.0000 -0.8760 -0.4823 -vn 0.0000 -0.0431 0.9991 -vn 0.0000 0.8545 -0.5194 -vn 0.0000 -0.8760 0.4823 -vn -0.5194 -0.7400 0.4272 -vn 0.5195 -0.7400 0.4272 -vn 0.5194 -0.4273 0.7400 -vn 0.5140 -0.0698 0.8549 -vn 0.0215 -0.0058 -0.9998 -vn 0.8653 -0.1129 -0.4883 -vn -0.9911 0.1334 0.0000 -vn 0.9918 -0.1278 0.0000 -vn -0.8546 0.1144 -0.5065 -vn -0.4822 0.0628 0.8738 -vn 0.8653 -0.1129 0.4883 -vn 0.5140 -0.0698 -0.8549 -vn -0.8546 0.1144 0.5065 -vn -0.4039 0.2332 0.8846 -vn 0.4598 -0.2654 0.8474 -vn 0.0373 -0.0215 -0.9991 -vn -0.4822 0.0628 -0.8738 -vn 0.7586 -0.4380 -0.4823 -vn -0.7400 0.4272 0.5194 -vn 0.0215 -0.0058 0.9998 -vn -0.7400 0.4273 -0.5195 -vn 0.4598 -0.2654 -0.8474 -vn 0.0215 -0.0373 -0.9991 -vn -0.2332 0.4039 0.8846 -vn 0.2655 -0.4598 0.8474 -vn 0.7586 -0.4380 0.4823 -vn -0.4039 0.2332 -0.8846 -vn 0.4380 -0.7586 -0.4823 -vn 0.0215 -0.0373 0.9991 -vn 0.0373 -0.0215 0.9991 -vn 0.4380 -0.7586 0.4823 -vn -0.4273 0.7400 -0.5194 -vn -0.2332 0.4039 -0.8846 -vn -0.4273 0.7400 0.5194 -vn 0.2654 -0.4598 -0.8474 -vn -0.5000 0.8138 -0.2962 -vn -0.8616 0.5019 -0.0754 -vn -0.4975 0.8441 -0.1999 -vn 0.8660 -0.4698 0.1710 -vn 0.9949 0.0345 0.0948 -vn 0.8616 -0.4330 0.2649 -vn -0.0000 -0.9397 0.3420 -vn -0.4974 -0.7752 0.3894 -vn -0.5000 -0.8138 0.2962 -vn -0.8660 0.4698 -0.1710 -vn 0.8616 0.5019 -0.0754 -vn 0.4975 -0.7752 0.3894 -vn -0.0000 -0.9004 0.4350 -vn -0.8660 -0.4698 0.1710 -vn -0.9949 0.0345 0.0948 -vn 0.5000 0.8138 -0.2962 -vn 0.8660 0.4698 -0.1710 -vn 0.0000 0.9397 -0.3420 -vn -0.0000 0.9694 -0.2455 -vn 0.5000 -0.8138 0.2962 -vn -0.8616 -0.4330 0.2649 -vn 0.4975 0.8441 -0.1999 -vn 0.4331 -0.5339 0.7262 -vn 0.0000 -0.6430 0.7659 -vn -0.8661 0.1709 0.4697 -vn 0.4331 0.8758 0.2131 -vn 0.7501 0.5779 0.3215 -vn -0.0000 0.9848 0.1734 -vn -0.7501 -0.2360 0.6178 -vn -0.7501 0.5779 0.3215 -vn -0.4331 0.8758 0.2131 -vn 0.7501 -0.2360 0.6178 -vn -0.4331 -0.5339 0.7262 -vn 0.8661 0.1709 0.4697 -vn 0.0000 -0.0388 0.9992 -vn -0.3276 0.1389 0.9346 -vn -0.3782 0.3166 0.8699 -vn 0.3276 0.4943 0.8052 -vn 0.0000 0.6720 0.7405 -vn 0.1891 0.0088 0.9819 -vn 0.1891 0.6244 0.7579 -vn -0.3276 0.4943 0.8052 -vn -0.1891 0.6244 0.7579 -vn 0.3782 0.3166 0.8699 -vn 0.3276 0.1389 0.9346 -vn -0.1891 0.0088 0.9819 +vn 0.1951 -0.9808 0.0000 vn 0.6621 0.6621 -0.3511 vn -0.6621 0.6621 -0.3511 vn -0.0000 -0.9363 -0.3511 -vn -0.5556 0.8315 0.0000 -vn 0.5556 -0.8315 0.0000 vn -0.9487 0.0000 -0.3162 vn -0.6708 0.6708 -0.3162 vn 0.0000 0.9487 -0.3162 @@ -3084,1892 +3850,1176 @@ vn 0.6708 -0.6708 -0.3162 vn -0.9811 -0.0133 -0.1928 vn 0.9732 0.0000 0.2298 s off -f 30/1/1 36/2/1 35/3/1 -f 30/1/1 34/4/1 32/5/1 -f 32/5/1 33/6/1 2/7/1 -f 2/7/1 48/8/1 4/9/1 -f 4/9/1 47/10/1 6/11/1 -f 6/11/1 46/12/1 8/13/1 -f 8/13/1 45/14/1 10/15/1 -f 10/15/1 44/16/1 12/17/1 -f 12/17/1 43/18/1 14/19/1 -f 16/20/1 43/18/1 42/21/1 -f 18/22/1 42/21/1 41/23/1 -f 20/24/1 41/25/1 40/26/1 -f 22/27/1 40/26/1 39/28/1 -f 24/29/1 39/28/1 38/30/1 -f 26/31/1 38/30/1 37/32/1 -f 28/33/1 37/32/1 36/2/1 -f 129/34/2 121/35/2 122/36/2 -f 137/37/2 118/38/2 136/39/2 -f 122/36/2 144/40/2 129/34/2 -f 136/39/2 115/41/2 135/42/2 -f 119/43/2 143/44/2 144/40/2 -f 135/42/2 116/45/2 134/46/2 -f 143/44/2 113/47/2 142/48/2 -f 142/48/2 114/49/2 141/50/2 -f 134/46/2 128/51/2 133/52/2 -f 141/50/2 127/53/2 140/54/2 -f 133/52/2 126/55/2 132/56/2 -f 140/54/2 125/57/2 139/58/2 -f 132/56/2 124/59/2 131/60/2 -f 139/58/2 123/61/2 138/62/2 -f 131/60/2 121/35/2 130/63/2 -f 137/64/2 123/61/2 120/65/2 -f 195/66/2 109/67/2 110/68/2 -f 196/69/2 108/70/2 109/67/2 -f 108/70/2 198/71/2 107/72/2 -f 198/71/2 106/73/2 107/72/2 -f 106/73/2 200/74/2 105/75/2 -f 105/75/2 201/76/2 104/77/2 -f 104/78/2 202/79/2 103/80/2 -f 103/80/2 203/81/2 102/82/2 -f 102/82/2 204/83/2 101/84/2 -f 101/84/2 205/85/2 100/86/2 -f 205/85/2 99/87/2 100/86/2 -f 206/88/2 98/89/2 99/87/2 -f 207/90/2 97/91/2 98/89/2 -f 97/91/2 193/92/2 112/93/2 -f 112/93/2 194/94/2 111/95/2 -f 194/94/2 110/68/2 111/95/2 -f 234/96/3 229/97/3 877/98/3 -f 243/99/4 244/100/4 242/101/4 -f 238/102/1 244/103/1 239/104/1 -f 226/105/2 231/106/2 225/107/2 -f 240/108/5 232/109/5 226/110/5 -f 235/111/1 229/97/1 234/96/1 -f 236/112/5 227/113/5 876/114/5 -f 233/115/4 235/116/4 234/96/4 -f 233/117/2 881/118/2 880/119/2 -f 244/103/6 240/108/6 239/104/6 -f 238/102/7 242/120/7 241/121/7 -f 225/107/3 242/120/3 237/122/3 -f 253/123/2 259/124/2 257/125/2 -f 249/126/1 251/127/1 245/128/1 -f 269/129/2 272/130/2 262/131/2 -f 272/130/2 263/132/2 262/131/2 -f 273/133/2 264/134/2 263/132/2 -f 274/135/2 212/136/2 264/134/2 -f 270/137/1 310/138/1 306/139/1 -f 267/140/1 310/138/1 266/141/1 -f 268/142/1 309/143/1 267/140/1 -f 268/142/1 307/144/1 308/145/1 -f 311/146/8 287/147/8 269/148/8 -f 275/149/9 289/150/9 305/151/9 -f 59/152/2 318/153/2 58/154/2 -f 343/155/9 328/156/9 336/157/9 -f 375/158/10 340/159/10 339/160/10 -f 373/161/3 379/162/3 377/163/3 -f 331/164/2 334/165/2 333/166/2 -f 345/167/2 351/168/2 346/169/2 -f 329/170/2 332/171/2 335/172/2 -f 330/173/2 335/172/2 334/165/2 -f 341/174/1 339/175/1 340/159/1 -f 343/155/1 337/176/1 342/177/1 -f 342/177/1 338/178/1 341/174/1 -f 345/167/2 353/179/2 352/180/2 -f 347/181/2 349/182/2 348/183/2 -f 346/169/2 350/184/2 347/181/2 -f 361/185/1 354/186/1 355/187/1 -f 354/186/1 363/188/1 358/189/1 -f 360/190/1 356/191/1 357/192/1 -f 359/193/1 355/187/1 356/191/1 -f 368/194/11 367/195/11 370/196/11 -f 344/197/4 363/198/4 353/199/4 -f 366/200/1 364/201/1 365/202/1 -f 368/194/2 371/203/2 369/204/2 -f 372/205/1 374/206/1 373/161/1 -f 377/163/2 378/207/2 376/208/2 -f 333/166/10 378/209/10 331/210/10 -f 381/211/2 382/212/2 380/213/2 -f 383/214/4 384/215/4 382/212/4 -f 385/216/12 386/217/12 384/215/12 -f 387/218/4 388/219/4 386/217/4 -f 384/215/3 386/220/3 390/221/3 -f 391/222/5 389/223/5 387/224/5 -f 404/225/2 400/226/2 396/227/2 -f 60/228/2 317/229/2 59/230/2 -f 61/231/2 316/232/2 60/233/2 -f 62/234/2 315/235/2 61/236/2 -f 63/237/2 314/238/2 62/239/2 -f 64/240/2 313/241/2 63/242/2 -f 49/243/2 312/244/2 64/245/2 -f 50/246/2 327/247/2 49/248/2 -f 51/249/2 326/250/2 50/251/2 -f 51/252/2 324/253/2 325/254/2 -f 53/255/2 324/256/2 52/257/2 -f 53/258/2 322/259/2 323/260/2 -f 54/261/2 321/262/2 322/263/2 -f 55/264/2 320/265/2 321/266/2 -f 56/267/2 319/268/2 320/269/2 -f 57/270/2 318/271/2 319/272/2 -f 442/273/13 441/274/13 440/275/13 -f 444/276/4 443/277/4 442/273/4 -f 443/278/5 449/279/5 447/280/5 -f 448/281/3 444/282/3 442/283/3 -f 453/284/5 456/285/5 451/286/5 -f 450/287/3 455/288/3 452/289/3 -f 457/290/3 461/291/3 455/288/3 -f 460/292/5 456/285/5 454/293/5 -f 459/294/3 465/295/3 461/291/3 -f 460/292/5 462/296/5 458/297/5 -f 463/298/3 469/299/3 465/295/3 -f 462/296/5 468/300/5 466/301/5 -f 472/302/4 471/303/4 470/304/4 -f 479/305/5 477/306/5 475/307/5 -f 474/308/3 476/309/3 478/310/3 -f 502/311/3 500/312/3 498/313/3 -f 524/314/3 522/315/3 518/316/3 -f 512/317/5 514/318/5 504/319/5 -f 539/320/14 540/321/14 536/322/14 -f 531/323/14 532/324/14 530/325/14 -f 528/326/15 534/327/15 529/328/15 -f 535/329/14 536/322/14 532/324/14 -f 534/327/15 537/330/15 538/331/15 -f 537/330/15 542/332/15 538/331/15 -f 562/333/3 560/334/3 558/335/3 -f 578/336/2 574/337/2 570/338/2 -f 590/339/1 581/340/1 584/341/1 -f 602/342/1 592/343/1 596/344/1 -f 614/345/2 610/346/2 606/347/2 -f 800/348/1 804/349/1 796/350/1 -f 818/351/1 814/352/1 810/353/1 -f 828/354/16 826/355/16 822/356/16 -f 870/357/9 868/358/9 874/359/9 -f 227/360/17 875/361/17 876/362/17 -f 873/363/9 872/364/9 869/365/9 -f 877/366/18 869/365/18 230/367/18 -f 880/368/2 868/358/2 227/369/2 -f 869/365/2 881/370/2 230/371/2 -f 228/372/9 878/373/9 879/374/9 -f 870/357/3 880/375/3 878/373/3 -f 881/376/5 871/377/5 879/374/5 -f 879/374/9 880/375/9 881/376/9 -f 873/363/1 879/378/1 871/377/1 -f 878/379/1 875/361/1 870/357/1 -f 884/380/9 883/381/9 882/382/9 -f 882/382/2 889/383/2 884/380/2 -f 883/381/19 887/384/19 882/382/19 -f 885/385/1 886/386/1 883/381/1 -f 884/380/20 888/387/20 885/385/20 -f 899/388/2 912/389/2 900/390/2 -f 912/389/2 901/391/2 900/390/2 -f 901/391/2 902/392/2 890/393/2 -f 902/392/2 891/394/2 890/393/2 -f 891/394/2 904/395/2 892/396/2 -f 904/395/2 893/397/2 892/396/2 -f 893/397/2 906/398/2 894/399/2 -f 906/398/2 895/400/2 894/399/2 -f 895/400/2 908/401/2 896/402/2 -f 908/403/2 897/404/2 896/405/2 -f 897/404/2 910/406/2 898/407/2 -f 910/406/2 899/388/2 898/407/2 -f 923/408/1 936/409/1 935/410/1 -f 925/411/1 936/409/1 924/412/1 -f 925/411/1 927/413/1 937/414/1 -f 914/415/1 927/413/1 915/416/1 -f 914/415/1 928/417/1 926/418/1 -f 917/419/1 928/417/1 916/420/1 -f 917/419/1 930/421/1 929/422/1 -f 919/423/1 930/421/1 918/424/1 -f 919/423/1 932/425/1 931/426/1 -f 921/427/1 932/428/1 920/429/1 -f 921/427/1 934/430/1 933/431/1 -f 923/408/1 934/430/1 922/432/1 -f 945/433/21 956/434/21 942/435/21 -f 958/436/1 956/434/1 957/437/1 -f 948/438/2 940/439/2 947/440/2 -f 944/441/3 957/437/3 945/442/3 -f 948/438/3 951/443/3 949/444/3 -f 940/445/22 949/444/22 938/446/22 -f 943/447/5 956/434/5 959/448/5 -f 946/449/1 949/450/1 951/451/1 -f 952/452/5 955/453/5 953/454/5 -f 939/455/23 953/454/23 941/456/23 -f 962/457/3 965/458/3 963/459/3 -f 966/460/1 964/461/1 965/458/1 -f 963/462/21 964/461/21 960/463/21 -f 961/464/5 964/461/5 967/465/5 -f 980/466/1 982/467/1 976/468/1 -f 990/469/5 988/470/5 989/471/5 -f 987/472/4 990/469/4 985/473/4 -f 984/474/9 988/470/9 986/475/9 -f 986/476/2 991/477/2 987/478/2 -f 985/479/1 989/471/1 984/480/1 -f 304/481/1 289/482/1 992/483/1 -f 992/483/1 303/484/1 304/481/1 -f 993/485/1 302/486/1 303/484/1 -f 994/487/1 311/488/1 302/486/1 -f 300/489/1 288/490/1 301/491/1 -f 1005/492/2 1001/493/2 997/494/2 -f 1017/495/1 1008/496/1 1011/497/1 -f 1029/498/1 1019/499/1 1023/500/1 -f 1041/501/2 1037/502/2 1033/503/2 -f 30/1/1 28/33/1 36/2/1 -f 30/1/1 35/3/1 34/4/1 -f 32/5/1 34/4/1 33/6/1 -f 2/7/1 33/6/1 48/8/1 -f 4/9/1 48/8/1 47/10/1 -f 6/11/1 47/10/1 46/12/1 -f 8/13/1 46/12/1 45/14/1 -f 10/15/1 45/14/1 44/16/1 -f 12/17/1 44/16/1 43/18/1 -f 16/20/1 14/19/1 43/18/1 -f 18/22/1 16/20/1 42/21/1 -f 20/24/1 18/504/1 41/25/1 -f 22/27/1 20/24/1 40/26/1 -f 24/29/1 22/27/1 39/28/1 -f 26/31/1 24/29/1 38/30/1 -f 28/33/1 26/31/1 37/32/1 -f 129/34/2 130/63/2 121/35/2 -f 137/37/2 120/505/2 118/38/2 -f 122/36/2 119/43/2 144/40/2 -f 136/39/2 118/38/2 115/41/2 -f 119/43/2 117/506/2 143/44/2 -f 135/42/2 115/41/2 116/45/2 -f 143/44/2 117/506/2 113/47/2 -f 142/48/2 113/47/2 114/49/2 -f 134/46/2 116/45/2 128/51/2 -f 141/50/2 114/49/2 127/53/2 -f 133/52/2 128/51/2 126/55/2 -f 140/54/2 127/53/2 125/57/2 -f 132/56/2 126/55/2 124/59/2 -f 139/58/2 125/57/2 123/61/2 -f 131/60/2 124/59/2 121/35/2 -f 137/64/2 138/62/2 123/61/2 -f 195/66/2 196/69/2 109/67/2 -f 196/69/2 197/507/2 108/70/2 -f 108/70/2 197/507/2 198/71/2 -f 198/71/2 199/508/2 106/73/2 -f 106/73/2 199/508/2 200/74/2 -f 105/75/2 200/74/2 201/76/2 -f 104/78/2 201/509/2 202/79/2 -f 103/80/2 202/79/2 203/81/2 -f 102/82/2 203/81/2 204/83/2 -f 101/84/2 204/83/2 205/85/2 -f 205/85/2 206/88/2 99/87/2 -f 206/88/2 207/90/2 98/89/2 -f 207/90/2 208/510/2 97/91/2 -f 97/91/2 208/510/2 193/92/2 -f 112/93/2 193/92/2 194/94/2 -f 194/94/2 195/66/2 110/68/2 -f 230/511/3 233/115/3 877/98/3 -f 233/115/3 234/96/3 877/98/3 -f 244/100/4 241/512/4 242/101/4 -f 242/101/4 231/513/4 232/109/4 -f 232/109/4 243/99/4 242/101/4 -f 238/102/1 241/121/1 244/103/1 -f 226/105/2 232/514/2 231/106/2 -f 240/108/5 243/99/5 232/109/5 -f 235/111/1 228/372/1 229/97/1 -f 228/372/5 235/111/5 876/114/5 -f 235/111/5 236/112/5 876/114/5 -f 233/115/4 236/515/4 235/116/4 -f 227/113/2 236/112/2 880/119/2 -f 236/112/2 233/117/2 880/119/2 -f 233/117/2 230/516/2 881/118/2 -f 244/103/6 243/99/6 240/108/6 -f 238/102/7 237/122/7 242/120/7 -f 225/107/3 231/106/3 242/120/3 -f 255/517/2 254/518/2 253/123/2 -f 253/123/2 260/519/2 259/124/2 -f 259/124/2 258/520/2 257/125/2 -f 257/125/2 256/521/2 255/517/2 -f 255/517/2 253/123/2 257/125/2 -f 245/128/1 246/522/1 247/523/1 -f 247/523/1 248/524/1 249/126/1 -f 249/126/1 250/525/1 251/127/1 -f 251/127/1 252/526/1 245/128/1 -f 245/128/1 247/523/1 249/126/1 -f 269/129/2 287/527/2 272/130/2 -f 272/130/2 273/133/2 263/132/2 -f 273/133/2 274/135/2 264/134/2 -f 274/135/2 275/528/2 212/136/2 -f 270/137/1 266/141/1 310/138/1 -f 267/140/1 309/143/1 310/138/1 -f 268/142/1 308/145/1 309/143/1 -f 268/142/1 211/529/1 307/144/1 -f 269/148/8 270/530/8 311/146/8 -f 270/530/8 306/531/8 311/146/8 -f 311/146/8 301/532/8 287/147/8 -f 307/533/9 211/534/9 305/151/9 -f 211/534/9 212/535/9 305/151/9 -f 212/535/9 275/149/9 305/151/9 -f 59/152/2 317/536/2 318/153/2 -f 343/155/9 332/171/9 328/156/9 -f 375/158/10 372/205/10 340/159/10 -f 373/161/3 374/537/3 379/162/3 -f 331/164/2 330/173/2 334/165/2 -f 345/167/2 352/180/2 351/168/2 -f 329/170/2 328/538/2 332/171/2 -f 330/173/2 329/170/2 335/172/2 -f 341/174/1 338/178/1 339/175/1 -f 343/155/1 336/539/1 337/176/1 -f 342/177/1 337/176/1 338/178/1 -f 345/167/2 344/197/2 353/179/2 -f 347/181/2 350/184/2 349/182/2 -f 346/169/2 351/168/2 350/184/2 -f 361/185/1 362/540/1 354/186/1 -f 354/186/1 362/540/1 363/188/1 -f 360/190/1 359/193/1 356/191/1 -f 359/193/1 361/185/1 355/187/1 -f 368/194/11 364/201/11 367/195/11 -f 344/197/4 358/189/4 363/198/4 -f 366/200/1 367/541/1 364/201/1 -f 368/194/2 370/542/2 371/203/2 -f 372/205/1 375/543/1 374/206/1 -f 377/163/2 379/544/2 378/207/2 -f 333/166/10 376/208/10 378/209/10 -f 381/211/2 383/214/2 382/212/2 -f 383/214/4 385/216/4 384/215/4 -f 385/216/12 387/218/12 386/217/12 -f 387/218/4 389/545/4 388/219/4 -f 380/546/3 382/212/3 384/215/3 -f 386/220/3 388/547/3 390/221/3 -f 380/546/3 384/215/3 390/221/3 -f 383/214/5 381/548/5 385/216/5 -f 381/548/5 391/222/5 385/216/5 -f 385/216/5 391/222/5 387/224/5 -f 396/227/2 395/549/2 394/550/2 -f 394/550/2 409/551/2 396/227/2 -f 409/551/2 408/552/2 396/227/2 -f 408/552/2 407/553/2 406/554/2 -f 406/554/2 405/555/2 404/225/2 -f 404/225/2 403/556/2 402/557/2 -f 402/557/2 401/558/2 400/226/2 -f 400/226/2 399/559/2 398/560/2 -f 398/560/2 397/561/2 396/227/2 -f 408/552/2 406/554/2 404/225/2 -f 404/225/2 402/557/2 400/226/2 -f 400/226/2 398/560/2 396/227/2 -f 396/227/2 408/552/2 404/225/2 -f 60/228/2 316/562/2 317/229/2 -f 61/231/2 315/563/2 316/232/2 -f 62/234/2 314/564/2 315/235/2 -f 63/237/2 313/565/2 314/238/2 -f 64/240/2 312/566/2 313/241/2 -f 49/243/2 327/567/2 312/244/2 -f 50/246/2 326/568/2 327/247/2 -f 51/249/2 325/569/2 326/250/2 -f 51/252/2 52/570/2 324/253/2 -f 53/255/2 323/571/2 324/256/2 -f 53/258/2 54/572/2 322/259/2 -f 54/261/2 55/573/2 321/262/2 -f 55/264/2 56/574/2 320/265/2 -f 56/267/2 57/575/2 319/268/2 -f 57/270/2 58/576/2 318/271/2 -f 442/273/13 443/277/13 441/274/13 -f 444/276/4 445/577/4 443/277/4 -f 447/280/5 441/274/5 443/278/5 -f 443/278/5 445/578/5 449/279/5 -f 442/283/3 440/275/3 446/579/3 -f 446/579/3 448/281/3 442/283/3 -f 453/284/5 454/293/5 456/285/5 -f 450/287/3 457/290/3 455/288/3 -f 457/290/3 459/294/3 461/291/3 -f 460/292/5 458/297/5 456/285/5 -f 459/294/3 463/298/3 465/295/3 -f 460/292/5 464/580/5 462/296/5 -f 463/298/3 467/581/3 469/299/3 -f 462/296/5 464/580/5 468/300/5 -f 472/302/4 473/582/4 471/303/4 -f 475/307/5 471/303/5 473/582/5 -f 473/582/5 479/305/5 475/307/5 -f 478/310/3 472/302/3 474/308/3 -f 472/302/3 470/304/3 474/308/3 -f 494/583/3 493/584/3 492/585/3 -f 492/585/3 503/586/3 502/311/3 -f 502/311/3 501/587/3 500/312/3 -f 500/312/3 499/588/3 498/313/3 -f 498/313/3 497/589/3 494/583/3 -f 497/589/3 496/590/3 494/583/3 -f 496/590/3 495/591/3 494/583/3 -f 494/583/3 492/585/3 498/313/3 -f 492/585/3 502/311/3 498/313/3 -f 518/316/3 517/592/3 516/593/3 -f 516/593/3 527/594/3 526/595/3 -f 526/595/3 525/596/3 524/314/3 -f 524/314/3 523/597/3 522/315/3 -f 522/315/3 521/598/3 518/316/3 -f 521/598/3 520/599/3 518/316/3 -f 520/599/3 519/600/3 518/316/3 -f 518/316/3 516/593/3 526/595/3 -f 526/595/3 524/314/3 518/316/3 -f 504/319/5 505/601/5 506/602/5 -f 506/602/5 507/603/5 508/604/5 -f 508/604/5 509/605/5 512/317/5 -f 509/605/5 510/606/5 512/317/5 -f 510/606/5 511/607/5 512/317/5 -f 512/317/5 513/608/5 514/318/5 -f 514/318/5 515/609/5 504/319/5 -f 504/319/5 506/602/5 512/317/5 -f 506/602/5 508/604/5 512/317/5 -f 539/320/14 543/610/14 540/321/14 -f 531/323/14 535/329/14 532/324/14 -f 528/326/15 533/611/15 534/327/15 -f 535/329/14 539/320/14 536/322/14 -f 534/327/15 533/611/15 537/330/15 -f 537/330/15 541/612/15 542/332/15 -f 558/335/3 557/613/3 556/614/3 -f 556/614/3 567/615/3 558/335/3 -f 567/615/3 566/616/3 558/335/3 -f 566/616/3 565/617/3 564/618/3 -f 564/618/3 563/619/3 562/333/3 -f 562/333/3 561/620/3 560/334/3 -f 560/334/3 559/621/3 558/335/3 -f 566/616/3 564/618/3 558/335/3 -f 564/618/3 562/333/3 558/335/3 -f 570/338/2 569/622/2 578/336/2 -f 569/622/2 568/623/2 578/336/2 -f 568/623/2 579/624/2 578/336/2 -f 578/336/2 577/625/2 576/626/2 -f 576/626/2 575/627/2 574/337/2 -f 574/337/2 573/628/2 572/629/2 -f 572/629/2 571/630/2 574/337/2 -f 571/630/2 570/338/2 574/337/2 -f 578/336/2 576/626/2 574/337/2 -f 581/340/1 580/631/1 582/632/1 -f 582/632/1 583/633/1 581/340/1 -f 583/633/1 584/341/1 581/340/1 -f 584/341/1 585/634/1 588/635/1 -f 585/634/1 586/636/1 588/635/1 -f 586/636/1 587/637/1 588/635/1 -f 588/635/1 589/638/1 590/339/1 -f 590/339/1 591/639/1 581/340/1 -f 588/635/1 590/339/1 584/341/1 -f 592/343/1 593/640/1 594/641/1 -f 594/641/1 595/642/1 592/343/1 -f 595/642/1 596/344/1 592/343/1 -f 596/344/1 597/643/1 600/644/1 -f 597/643/1 598/645/1 600/644/1 -f 598/645/1 599/646/1 600/644/1 -f 600/644/1 601/647/1 602/342/1 -f 602/342/1 603/648/1 592/343/1 -f 600/644/1 602/342/1 596/344/1 -f 606/347/2 604/649/2 614/345/2 -f 604/649/2 605/650/2 614/345/2 -f 605/650/2 615/651/2 614/345/2 -f 614/345/2 613/652/2 612/653/2 -f 612/653/2 611/654/2 610/346/2 -f 610/346/2 609/655/2 608/656/2 -f 608/656/2 607/657/2 610/346/2 -f 607/657/2 606/347/2 610/346/2 -f 614/345/2 612/653/2 610/346/2 -f 796/350/1 797/658/1 798/659/1 -f 798/659/1 799/660/1 796/350/1 -f 799/660/1 800/348/1 796/350/1 -f 800/348/1 801/661/1 804/349/1 -f 801/661/1 802/662/1 804/349/1 -f 802/662/1 803/663/1 804/349/1 -f 804/349/1 805/664/1 806/665/1 -f 806/665/1 807/666/1 804/349/1 -f 807/666/1 796/350/1 804/349/1 -f 810/353/1 809/667/1 808/668/1 -f 808/668/1 819/669/1 810/353/1 -f 819/669/1 818/351/1 810/353/1 -f 818/351/1 817/670/1 816/671/1 -f 816/671/1 815/672/1 818/351/1 -f 815/672/1 814/352/1 818/351/1 -f 814/352/1 813/673/1 810/353/1 -f 813/673/1 812/674/1 810/353/1 -f 812/674/1 811/675/1 810/353/1 -f 822/356/16 821/676/16 830/677/16 -f 821/676/16 820/678/16 830/677/16 -f 820/678/16 831/679/16 830/677/16 -f 830/677/16 829/680/16 828/354/16 -f 828/354/16 827/681/16 826/355/16 -f 826/355/16 825/682/16 824/683/16 -f 824/683/16 823/684/16 826/355/16 -f 823/684/16 822/356/16 826/355/16 -f 830/677/16 828/354/16 822/356/16 -f 870/357/9 875/361/9 868/358/9 -f 227/360/17 868/358/17 875/361/17 -f 873/363/9 871/377/9 872/364/9 -f 877/366/18 873/363/18 869/365/18 -f 880/368/2 874/359/2 868/358/2 -f 869/365/2 872/364/2 881/370/2 -f 877/685/9 229/97/9 879/374/9 -f 229/97/9 228/372/9 879/374/9 -f 228/372/9 876/686/9 878/373/9 -f 870/357/3 874/359/3 880/375/3 -f 881/376/5 872/364/5 871/377/5 -f 879/374/9 878/373/9 880/375/9 -f 873/363/1 877/687/1 879/378/1 -f 878/379/1 876/688/1 875/361/1 -f 884/380/9 885/385/9 883/381/9 -f 882/382/2 887/689/2 889/383/2 -f 883/381/19 886/690/19 887/384/19 -f 885/385/1 888/691/1 886/386/1 -f 884/380/20 889/692/20 888/387/20 -f 899/388/2 911/693/2 912/389/2 -f 912/389/2 913/694/2 901/391/2 -f 901/391/2 913/694/2 902/392/2 -f 902/392/2 903/695/2 891/394/2 -f 891/394/2 903/695/2 904/395/2 -f 904/395/2 905/696/2 893/397/2 -f 893/397/2 905/696/2 906/398/2 -f 906/398/2 907/697/2 895/400/2 -f 895/400/2 907/697/2 908/401/2 -f 908/403/2 909/698/2 897/404/2 -f 897/404/2 909/698/2 910/406/2 -f 910/406/2 911/693/2 899/388/2 -f 923/408/1 924/412/1 936/409/1 -f 925/411/1 937/414/1 936/409/1 -f 925/411/1 915/416/1 927/413/1 -f 914/415/1 926/418/1 927/413/1 -f 914/415/1 916/420/1 928/417/1 -f 917/419/1 929/422/1 928/417/1 -f 917/419/1 918/424/1 930/421/1 -f 919/423/1 931/426/1 930/421/1 -f 919/423/1 920/699/1 932/425/1 -f 921/427/1 933/431/1 932/428/1 -f 921/427/1 922/432/1 934/430/1 -f 923/408/1 935/410/1 934/430/1 -f 945/433/21 957/437/21 956/434/21 -f 958/436/1 959/448/1 956/434/1 -f 947/440/2 941/700/2 953/701/2 -f 953/701/2 955/702/2 947/440/2 -f 955/702/2 950/703/2 947/440/2 -f 950/703/2 948/438/2 947/440/2 -f 944/441/3 958/436/3 957/437/3 -f 948/438/3 950/703/3 951/443/3 -f 940/445/22 948/438/22 949/444/22 -f 943/447/5 942/704/5 956/434/5 -f 951/451/1 954/705/1 946/449/1 -f 954/705/1 952/452/1 946/449/1 -f 952/452/1 939/706/1 946/449/1 -f 946/449/1 938/707/1 949/450/1 -f 952/452/5 954/705/5 955/453/5 -f 939/455/23 952/452/23 953/454/23 -f 962/457/3 966/460/3 965/458/3 -f 966/460/1 967/465/1 964/461/1 -f 963/462/21 965/458/21 964/461/21 -f 961/464/5 960/708/5 964/461/5 -f 976/468/1 977/709/1 978/710/1 -f 978/710/1 979/711/1 980/466/1 -f 980/466/1 981/712/1 982/467/1 -f 982/467/1 983/713/1 976/468/1 -f 976/468/1 978/710/1 980/466/1 -f 990/469/5 991/477/5 988/470/5 -f 987/472/4 991/477/4 990/469/4 -f 984/474/9 989/471/9 988/470/9 -f 986/476/2 988/470/2 991/477/2 -f 985/479/1 990/469/1 989/471/1 -f 304/481/1 305/714/1 289/482/1 -f 992/483/1 993/485/1 303/484/1 -f 993/485/1 994/487/1 302/486/1 -f 994/487/1 301/715/1 311/488/1 -f 301/491/1 994/716/1 993/717/1 -f 993/717/1 992/718/1 301/491/1 -f 992/718/1 289/719/1 301/491/1 -f 289/719/1 290/720/1 301/491/1 -f 290/720/1 291/721/1 301/491/1 -f 291/721/1 292/722/1 301/491/1 -f 292/722/1 293/723/1 301/491/1 -f 293/723/1 294/724/1 301/491/1 -f 294/724/1 295/725/1 301/491/1 -f 295/725/1 296/726/1 301/491/1 -f 296/726/1 297/727/1 301/491/1 -f 297/727/1 298/728/1 301/491/1 -f 298/728/1 299/729/1 301/491/1 -f 299/729/1 300/489/1 301/491/1 -f 997/494/2 996/730/2 1005/492/2 -f 996/730/2 995/731/2 1005/492/2 -f 995/731/2 1006/732/2 1005/492/2 -f 1005/492/2 1004/733/2 1003/734/2 -f 1003/734/2 1002/735/2 1001/493/2 -f 1001/493/2 1000/736/2 999/737/2 -f 999/737/2 998/738/2 1001/493/2 -f 998/738/2 997/494/2 1001/493/2 -f 1005/492/2 1003/734/2 1001/493/2 -f 1008/496/1 1007/739/1 1009/740/1 -f 1009/740/1 1010/741/1 1008/496/1 -f 1010/741/1 1011/497/1 1008/496/1 -f 1011/497/1 1012/742/1 1015/743/1 -f 1012/742/1 1013/744/1 1015/743/1 -f 1013/744/1 1014/745/1 1015/743/1 -f 1015/743/1 1016/746/1 1017/495/1 -f 1017/495/1 1018/747/1 1008/496/1 -f 1015/743/1 1017/495/1 1011/497/1 -f 1019/499/1 1020/748/1 1021/749/1 -f 1021/749/1 1022/750/1 1019/499/1 -f 1022/750/1 1023/500/1 1019/499/1 -f 1023/500/1 1024/751/1 1027/752/1 -f 1024/751/1 1025/753/1 1027/752/1 -f 1025/753/1 1026/754/1 1027/752/1 -f 1027/752/1 1028/755/1 1029/498/1 -f 1029/498/1 1030/756/1 1019/499/1 -f 1027/752/1 1029/498/1 1023/500/1 -f 1033/503/2 1031/757/2 1041/501/2 -f 1031/757/2 1032/758/2 1041/501/2 -f 1032/758/2 1042/759/2 1041/501/2 -f 1041/501/2 1040/760/2 1039/761/2 -f 1039/761/2 1038/762/2 1037/502/2 -f 1037/502/2 1036/763/2 1035/764/2 -f 1035/764/2 1034/765/2 1037/502/2 -f 1034/765/2 1033/503/2 1037/502/2 -f 1041/501/2 1039/761/2 1037/502/2 +f 416/565/229 422/566/229 421/567/229 +f 416/565/229 420/568/229 418/569/229 +f 418/569/229 419/570/229 388/571/229 +f 388/571/229 434/572/229 390/573/229 +f 390/573/229 433/574/229 392/575/229 +f 392/575/229 432/576/229 394/577/229 +f 394/577/229 431/578/229 396/579/229 +f 396/579/229 430/580/229 398/581/229 +f 398/581/229 429/582/229 400/583/229 +f 402/584/229 429/582/229 428/585/229 +f 404/586/229 428/585/229 427/587/229 +f 406/588/229 427/589/229 426/590/229 +f 408/591/229 426/590/229 425/592/229 +f 410/593/229 425/592/229 424/594/229 +f 412/595/229 424/594/229 423/596/229 +f 414/597/229 423/596/229 422/566/229 +f 515/598/230 507/599/230 508/600/230 +f 523/601/230 504/602/230 522/603/230 +f 508/600/230 530/604/230 515/598/230 +f 522/603/230 501/605/230 521/606/230 +f 505/607/230 529/608/230 530/604/230 +f 521/606/230 502/609/230 520/610/230 +f 529/608/230 499/611/230 528/612/230 +f 528/612/230 500/613/230 527/614/230 +f 520/610/230 514/615/230 519/616/230 +f 527/614/230 513/617/230 526/618/230 +f 519/616/230 512/619/230 518/620/230 +f 526/618/230 511/621/230 525/622/230 +f 518/620/230 510/623/230 517/624/230 +f 525/622/230 509/625/230 524/626/230 +f 517/624/230 507/599/230 516/627/230 +f 523/628/230 509/625/230 506/629/230 +f 581/630/230 495/631/230 496/632/230 +f 582/633/230 494/634/230 495/631/230 +f 494/634/230 584/635/230 493/636/230 +f 584/635/230 492/637/230 493/636/230 +f 492/637/230 586/638/230 491/639/230 +f 491/639/230 587/640/230 490/641/230 +f 490/642/230 588/643/230 489/644/230 +f 489/644/230 589/645/230 488/646/230 +f 488/646/230 590/647/230 487/648/230 +f 487/648/230 591/649/230 486/650/230 +f 591/649/230 485/651/230 486/650/230 +f 592/652/230 484/653/230 485/651/230 +f 593/654/230 483/655/230 484/653/230 +f 483/655/230 579/656/230 498/657/230 +f 498/657/230 580/658/230 497/659/230 +f 580/658/230 496/632/230 497/659/230 +f 621/660/231 622/661/231 620/662/231 +f 616/663/229 622/664/229 617/665/229 +f 612/666/230 613/667/230 611/668/230 +f 618/669/232 614/670/232 612/671/232 +f 622/664/233 618/669/233 617/665/233 +f 616/663/234 620/672/234 619/673/234 +f 611/668/235 620/672/235 615/674/235 +f 631/675/230 637/676/230 635/677/230 +f 627/678/229 629/679/229 623/680/229 +f 647/681/230 650/682/230 640/683/230 +f 650/682/230 641/684/230 640/683/230 +f 651/685/230 642/686/230 641/684/230 +f 652/687/230 598/688/230 642/686/230 +f 648/689/229 688/690/229 684/691/229 +f 645/692/229 688/690/229 644/693/229 +f 646/694/229 687/695/229 645/692/229 +f 646/694/229 685/696/229 686/697/229 +f 689/698/236 665/699/236 647/700/236 +f 653/701/237 667/702/237 683/703/237 +f 445/704/230 696/705/230 444/706/230 +f 707/707/230 713/708/230 708/709/230 +f 707/707/230 715/710/230 714/711/230 +f 709/712/230 711/713/230 710/714/230 +f 708/709/230 712/715/230 709/712/230 +f 723/716/229 716/717/229 717/718/229 +f 716/717/229 725/719/229 720/720/229 +f 722/721/229 718/722/229 719/723/229 +f 721/724/229 717/718/229 718/722/229 +f 730/725/238 729/726/238 732/727/238 +f 706/728/231 725/729/231 715/730/231 +f 728/731/229 726/732/229 727/733/229 +f 730/725/230 733/734/230 731/735/230 +f 735/736/230 736/737/230 734/738/230 +f 737/739/231 738/740/231 736/737/231 +f 739/741/239 740/742/239 738/740/239 +f 741/743/231 742/744/231 740/742/231 +f 738/740/235 740/745/235 744/746/235 +f 745/747/232 743/748/232 741/749/232 +f 758/750/230 754/751/230 750/752/230 +f 446/753/230 695/754/230 445/755/230 +f 447/756/230 694/757/230 446/758/230 +f 448/759/230 693/760/230 447/761/230 +f 449/762/230 692/763/230 448/764/230 +f 450/765/230 691/766/230 449/767/230 +f 435/768/230 690/769/230 450/770/230 +f 436/771/230 705/772/230 435/773/230 +f 437/774/230 704/775/230 436/776/230 +f 437/777/230 702/778/230 703/779/230 +f 439/780/230 702/781/230 438/782/230 +f 439/783/230 700/784/230 701/785/230 +f 440/786/230 699/787/230 700/788/230 +f 441/789/230 698/790/230 699/791/230 +f 442/792/230 697/793/230 698/794/230 +f 443/795/230 696/796/230 697/797/230 +f 796/798/240 795/799/240 794/800/240 +f 798/801/231 797/802/231 796/798/231 +f 797/803/232 803/804/232 801/805/232 +f 802/806/235 798/807/235 796/808/235 +f 807/809/232 810/810/232 805/811/232 +f 804/812/235 809/813/235 806/814/235 +f 811/815/235 815/816/235 809/813/235 +f 814/817/232 810/810/232 808/818/232 +f 813/819/235 819/820/235 815/816/235 +f 814/817/232 816/821/232 812/822/232 +f 817/823/235 823/824/235 819/820/235 +f 816/821/232 822/825/232 820/826/232 +f 826/827/231 825/828/231 824/829/231 +f 833/830/232 831/831/232 829/832/232 +f 828/833/235 830/834/235 832/835/235 +f 844/836/230 840/837/230 836/838/230 +f 856/839/229 847/840/229 850/841/229 +f 868/842/229 858/843/229 862/844/229 +f 880/845/230 876/846/230 872/847/230 +f 884/848/237 883/849/237 882/850/237 +f 882/850/230 889/851/230 884/848/230 +f 883/849/241 887/852/241 882/850/241 +f 885/853/229 886/854/229 883/849/229 +f 884/848/242 888/855/242 885/853/242 +f 899/856/230 912/857/230 900/858/230 +f 912/857/230 901/859/230 900/858/230 +f 901/859/230 902/860/230 890/861/230 +f 902/860/230 891/862/230 890/861/230 +f 891/862/230 904/863/230 892/864/230 +f 904/863/230 893/865/230 892/864/230 +f 893/865/230 906/866/230 894/867/230 +f 906/866/230 895/868/230 894/867/230 +f 895/868/230 908/869/230 896/870/230 +f 908/871/230 897/872/230 896/873/230 +f 897/872/230 910/874/230 898/875/230 +f 910/874/230 899/856/230 898/875/230 +f 923/876/229 936/877/229 935/878/229 +f 925/879/229 936/877/229 924/880/229 +f 925/879/229 927/881/229 937/882/229 +f 914/883/229 927/881/229 915/884/229 +f 914/883/229 928/885/229 926/886/229 +f 917/887/229 928/885/229 916/888/229 +f 917/887/229 930/889/229 929/890/229 +f 919/891/229 930/889/229 918/892/229 +f 919/891/229 932/893/229 931/894/229 +f 921/895/229 932/896/229 920/897/229 +f 921/895/229 934/898/229 933/899/229 +f 923/876/229 934/898/229 922/900/229 +f 945/901/243 956/902/243 942/903/243 +f 958/904/229 956/902/229 957/905/229 +f 948/906/230 940/907/230 947/908/230 +f 944/909/235 957/905/235 945/910/235 +f 948/906/235 951/911/235 949/912/235 +f 940/913/244 949/912/244 938/914/244 +f 943/915/232 956/902/232 959/916/232 +f 946/917/229 949/918/229 951/919/229 +f 952/920/232 955/921/232 953/922/232 +f 939/923/245 953/922/245 941/924/245 +f 962/925/235 965/926/235 963/927/235 +f 966/928/229 964/929/229 965/926/229 +f 963/930/243 964/929/243 960/931/243 +f 961/932/232 964/929/232 967/933/232 +f 980/934/229 982/935/229 976/936/229 +f 990/937/232 988/938/232 989/939/232 +f 987/940/231 990/937/231 985/941/231 +f 984/942/237 988/938/237 986/943/237 +f 986/944/230 991/945/230 987/946/230 +f 985/947/229 989/939/229 984/948/229 +f 682/949/229 667/950/229 992/951/229 +f 992/951/229 681/952/229 682/949/229 +f 993/953/229 680/954/229 681/952/229 +f 994/955/229 689/956/229 680/954/229 +f 678/957/229 666/958/229 679/959/229 +f 1005/960/230 1001/961/230 997/962/230 +f 1017/963/229 1008/964/229 1011/965/229 +f 1029/966/229 1019/967/229 1023/968/229 +f 1041/969/230 1037/970/230 1033/971/230 +f 416/565/229 414/597/229 422/566/229 +f 416/565/229 421/567/229 420/568/229 +f 418/569/229 420/568/229 419/570/229 +f 388/571/229 419/570/229 434/572/229 +f 390/573/229 434/572/229 433/574/229 +f 392/575/229 433/574/229 432/576/229 +f 394/577/229 432/576/229 431/578/229 +f 396/579/229 431/578/229 430/580/229 +f 398/581/229 430/580/229 429/582/229 +f 402/584/229 400/583/229 429/582/229 +f 404/586/229 402/584/229 428/585/229 +f 406/588/229 404/972/229 427/589/229 +f 408/591/229 406/588/229 426/590/229 +f 410/593/229 408/591/229 425/592/229 +f 412/595/229 410/593/229 424/594/229 +f 414/597/229 412/595/229 423/596/229 +f 515/598/230 516/627/230 507/599/230 +f 523/601/230 506/973/230 504/602/230 +f 508/600/230 505/607/230 530/604/230 +f 522/603/230 504/602/230 501/605/230 +f 505/607/230 503/974/230 529/608/230 +f 521/606/230 501/605/230 502/609/230 +f 529/608/230 503/974/230 499/611/230 +f 528/612/230 499/611/230 500/613/230 +f 520/610/230 502/609/230 514/615/230 +f 527/614/230 500/613/230 513/617/230 +f 519/616/230 514/615/230 512/619/230 +f 526/618/230 513/617/230 511/621/230 +f 518/620/230 512/619/230 510/623/230 +f 525/622/230 511/621/230 509/625/230 +f 517/624/230 510/623/230 507/599/230 +f 523/628/230 524/626/230 509/625/230 +f 581/630/230 582/633/230 495/631/230 +f 582/633/230 583/975/230 494/634/230 +f 494/634/230 583/975/230 584/635/230 +f 584/635/230 585/976/230 492/637/230 +f 492/637/230 585/976/230 586/638/230 +f 491/639/230 586/638/230 587/640/230 +f 490/642/230 587/977/230 588/643/230 +f 489/644/230 588/643/230 589/645/230 +f 488/646/230 589/645/230 590/647/230 +f 487/648/230 590/647/230 591/649/230 +f 591/649/230 592/652/230 485/651/230 +f 592/652/230 593/654/230 484/653/230 +f 593/654/230 594/978/230 483/655/230 +f 483/655/230 594/978/230 579/656/230 +f 498/657/230 579/656/230 580/658/230 +f 580/658/230 581/630/230 496/632/230 +f 622/661/231 619/979/231 620/662/231 +f 620/662/231 613/980/231 614/670/231 +f 614/670/231 621/660/231 620/662/231 +f 616/663/229 619/673/229 622/664/229 +f 612/666/230 614/981/230 613/667/230 +f 618/669/232 621/660/232 614/670/232 +f 622/664/233 621/660/233 618/669/233 +f 616/663/234 615/674/234 620/672/234 +f 611/668/235 613/667/235 620/672/235 +f 633/982/230 632/983/230 631/675/230 +f 631/675/230 638/984/230 637/676/230 +f 637/676/230 636/985/230 635/677/230 +f 635/677/230 634/986/230 633/982/230 +f 633/982/230 631/675/230 635/677/230 +f 623/680/229 624/987/229 625/988/229 +f 625/988/229 626/989/229 627/678/229 +f 627/678/229 628/990/229 629/679/229 +f 629/679/229 630/991/229 623/680/229 +f 623/680/229 625/988/229 627/678/229 +f 647/681/230 665/992/230 650/682/230 +f 650/682/230 651/685/230 641/684/230 +f 651/685/230 652/687/230 642/686/230 +f 652/687/230 653/993/230 598/688/230 +f 648/689/229 644/693/229 688/690/229 +f 645/692/229 687/695/229 688/690/229 +f 646/694/229 686/697/229 687/695/229 +f 646/694/229 597/994/229 685/696/229 +f 647/700/236 648/995/236 689/698/236 +f 648/995/236 684/996/236 689/698/236 +f 689/698/236 679/997/236 665/699/236 +f 685/998/237 597/999/237 683/703/237 +f 597/999/237 598/1000/237 683/703/237 +f 598/1000/237 653/701/237 683/703/237 +f 445/704/230 695/1001/230 696/705/230 +f 707/707/230 714/711/230 713/708/230 +f 707/707/230 706/728/230 715/710/230 +f 709/712/230 712/715/230 711/713/230 +f 708/709/230 713/708/230 712/715/230 +f 723/716/229 724/1002/229 716/717/229 +f 716/717/229 724/1002/229 725/719/229 +f 722/721/229 721/724/229 718/722/229 +f 721/724/229 723/716/229 717/718/229 +f 730/725/238 726/732/238 729/726/238 +f 706/728/231 720/720/231 725/729/231 +f 728/731/229 729/1003/229 726/732/229 +f 730/725/230 732/1004/230 733/734/230 +f 735/736/230 737/739/230 736/737/230 +f 737/739/231 739/741/231 738/740/231 +f 739/741/239 741/743/239 740/742/239 +f 741/743/231 743/1005/231 742/744/231 +f 734/1006/235 736/737/235 738/740/235 +f 740/745/235 742/1007/235 744/746/235 +f 734/1006/235 738/740/235 744/746/235 +f 737/739/232 735/1008/232 739/741/232 +f 735/1008/232 745/747/232 739/741/232 +f 739/741/232 745/747/232 741/749/232 +f 750/752/230 749/1009/230 748/1010/230 +f 748/1010/230 763/1011/230 750/752/230 +f 763/1011/230 762/1012/230 750/752/230 +f 762/1012/230 761/1013/230 760/1014/230 +f 760/1014/230 759/1015/230 758/750/230 +f 758/750/230 757/1016/230 756/1017/230 +f 756/1017/230 755/1018/230 754/751/230 +f 754/751/230 753/1019/230 752/1020/230 +f 752/1020/230 751/1021/230 750/752/230 +f 762/1012/230 760/1014/230 758/750/230 +f 758/750/230 756/1017/230 754/751/230 +f 754/751/230 752/1020/230 750/752/230 +f 750/752/230 762/1012/230 758/750/230 +f 446/753/230 694/1022/230 695/754/230 +f 447/756/230 693/1023/230 694/757/230 +f 448/759/230 692/1024/230 693/760/230 +f 449/762/230 691/1025/230 692/763/230 +f 450/765/230 690/1026/230 691/766/230 +f 435/768/230 705/1027/230 690/769/230 +f 436/771/230 704/1028/230 705/772/230 +f 437/774/230 703/1029/230 704/775/230 +f 437/777/230 438/1030/230 702/778/230 +f 439/780/230 701/1031/230 702/781/230 +f 439/783/230 440/1032/230 700/784/230 +f 440/786/230 441/1033/230 699/787/230 +f 441/789/230 442/1034/230 698/790/230 +f 442/792/230 443/1035/230 697/793/230 +f 443/795/230 444/1036/230 696/796/230 +f 796/798/240 797/802/240 795/799/240 +f 798/801/231 799/1037/231 797/802/231 +f 801/805/232 795/799/232 797/803/232 +f 797/803/232 799/1038/232 803/804/232 +f 796/808/235 794/800/235 800/1039/235 +f 800/1039/235 802/806/235 796/808/235 +f 807/809/232 808/818/232 810/810/232 +f 804/812/235 811/815/235 809/813/235 +f 811/815/235 813/819/235 815/816/235 +f 814/817/232 812/822/232 810/810/232 +f 813/819/235 817/823/235 819/820/235 +f 814/817/232 818/1040/232 816/821/232 +f 817/823/235 821/1041/235 823/824/235 +f 816/821/232 818/1040/232 822/825/232 +f 826/827/231 827/1042/231 825/828/231 +f 829/832/232 825/828/232 827/1042/232 +f 827/1042/232 833/830/232 829/832/232 +f 832/835/235 826/827/235 828/833/235 +f 826/827/235 824/829/235 828/833/235 +f 836/838/230 835/1043/230 844/836/230 +f 835/1043/230 834/1044/230 844/836/230 +f 834/1044/230 845/1045/230 844/836/230 +f 844/836/230 843/1046/230 842/1047/230 +f 842/1047/230 841/1048/230 840/837/230 +f 840/837/230 839/1049/230 838/1050/230 +f 838/1050/230 837/1051/230 840/837/230 +f 837/1051/230 836/838/230 840/837/230 +f 844/836/230 842/1047/230 840/837/230 +f 847/840/229 846/1052/229 848/1053/229 +f 848/1053/229 849/1054/229 847/840/229 +f 849/1054/229 850/841/229 847/840/229 +f 850/841/229 851/1055/229 854/1056/229 +f 851/1055/229 852/1057/229 854/1056/229 +f 852/1057/229 853/1058/229 854/1056/229 +f 854/1056/229 855/1059/229 856/839/229 +f 856/839/229 857/1060/229 847/840/229 +f 854/1056/229 856/839/229 850/841/229 +f 858/843/229 859/1061/229 860/1062/229 +f 860/1062/229 861/1063/229 858/843/229 +f 861/1063/229 862/844/229 858/843/229 +f 862/844/229 863/1064/229 866/1065/229 +f 863/1064/229 864/1066/229 866/1065/229 +f 864/1066/229 865/1067/229 866/1065/229 +f 866/1065/229 867/1068/229 868/842/229 +f 868/842/229 869/1069/229 858/843/229 +f 866/1065/229 868/842/229 862/844/229 +f 872/847/230 870/1070/230 880/845/230 +f 870/1070/230 871/1071/230 880/845/230 +f 871/1071/230 881/1072/230 880/845/230 +f 880/845/230 879/1073/230 878/1074/230 +f 878/1074/230 877/1075/230 876/846/230 +f 876/846/230 875/1076/230 874/1077/230 +f 874/1077/230 873/1078/230 876/846/230 +f 873/1078/230 872/847/230 876/846/230 +f 880/845/230 878/1074/230 876/846/230 +f 884/848/237 885/853/237 883/849/237 +f 882/850/230 887/1079/230 889/851/230 +f 883/849/241 886/1080/241 887/852/241 +f 885/853/229 888/1081/229 886/854/229 +f 884/848/242 889/1082/242 888/855/242 +f 899/856/230 911/1083/230 912/857/230 +f 912/857/230 913/1084/230 901/859/230 +f 901/859/230 913/1084/230 902/860/230 +f 902/860/230 903/1085/230 891/862/230 +f 891/862/230 903/1085/230 904/863/230 +f 904/863/230 905/1086/230 893/865/230 +f 893/865/230 905/1086/230 906/866/230 +f 906/866/230 907/1087/230 895/868/230 +f 895/868/230 907/1087/230 908/869/230 +f 908/871/230 909/1088/230 897/872/230 +f 897/872/230 909/1088/230 910/874/230 +f 910/874/230 911/1083/230 899/856/230 +f 923/876/229 924/880/229 936/877/229 +f 925/879/229 937/882/229 936/877/229 +f 925/879/229 915/884/229 927/881/229 +f 914/883/229 926/886/229 927/881/229 +f 914/883/229 916/888/229 928/885/229 +f 917/887/229 929/890/229 928/885/229 +f 917/887/229 918/892/229 930/889/229 +f 919/891/229 931/894/229 930/889/229 +f 919/891/229 920/1089/229 932/893/229 +f 921/895/229 933/899/229 932/896/229 +f 921/895/229 922/900/229 934/898/229 +f 923/876/229 935/878/229 934/898/229 +f 945/901/243 957/905/243 956/902/243 +f 958/904/229 959/916/229 956/902/229 +f 947/908/230 941/1090/230 953/1091/230 +f 953/1091/230 955/1092/230 947/908/230 +f 955/1092/230 950/1093/230 947/908/230 +f 950/1093/230 948/906/230 947/908/230 +f 944/909/235 958/904/235 957/905/235 +f 948/906/235 950/1093/235 951/911/235 +f 940/913/244 948/906/244 949/912/244 +f 943/915/232 942/1094/232 956/902/232 +f 951/919/229 954/1095/229 946/917/229 +f 954/1095/229 952/920/229 946/917/229 +f 952/920/229 939/1096/229 946/917/229 +f 946/917/229 938/1097/229 949/918/229 +f 952/920/232 954/1095/232 955/921/232 +f 939/923/245 952/920/245 953/922/245 +f 962/925/235 966/928/235 965/926/235 +f 966/928/229 967/933/229 964/929/229 +f 963/930/243 965/926/243 964/929/243 +f 961/932/232 960/1098/232 964/929/232 +f 976/936/229 977/1099/229 978/1100/229 +f 978/1100/229 979/1101/229 980/934/229 +f 980/934/229 981/1102/229 982/935/229 +f 982/935/229 983/1103/229 976/936/229 +f 976/936/229 978/1100/229 980/934/229 +f 990/937/232 991/945/232 988/938/232 +f 987/940/231 991/945/231 990/937/231 +f 984/942/237 989/939/237 988/938/237 +f 986/944/230 988/938/230 991/945/230 +f 985/947/229 990/937/229 989/939/229 +f 682/949/229 683/1104/229 667/950/229 +f 992/951/229 993/953/229 681/952/229 +f 993/953/229 994/955/229 680/954/229 +f 994/955/229 679/1105/229 689/956/229 +f 679/959/229 994/1106/229 993/1107/229 +f 993/1107/229 992/1108/229 679/959/229 +f 992/1108/229 667/1109/229 679/959/229 +f 667/1109/229 668/1110/229 679/959/229 +f 668/1110/229 669/1111/229 679/959/229 +f 669/1111/229 670/1112/229 679/959/229 +f 670/1112/229 671/1113/229 679/959/229 +f 671/1113/229 672/1114/229 679/959/229 +f 672/1114/229 673/1115/229 679/959/229 +f 673/1115/229 674/1116/229 679/959/229 +f 674/1116/229 675/1117/229 679/959/229 +f 675/1117/229 676/1118/229 679/959/229 +f 676/1118/229 677/1119/229 679/959/229 +f 677/1119/229 678/957/229 679/959/229 +f 997/962/230 996/1120/230 1005/960/230 +f 996/1120/230 995/1121/230 1005/960/230 +f 995/1121/230 1006/1122/230 1005/960/230 +f 1005/960/230 1004/1123/230 1003/1124/230 +f 1003/1124/230 1002/1125/230 1001/961/230 +f 1001/961/230 1000/1126/230 999/1127/230 +f 999/1127/230 998/1128/230 1001/961/230 +f 998/1128/230 997/962/230 1001/961/230 +f 1005/960/230 1003/1124/230 1001/961/230 +f 1008/964/229 1007/1129/229 1009/1130/229 +f 1009/1130/229 1010/1131/229 1008/964/229 +f 1010/1131/229 1011/965/229 1008/964/229 +f 1011/965/229 1012/1132/229 1015/1133/229 +f 1012/1132/229 1013/1134/229 1015/1133/229 +f 1013/1134/229 1014/1135/229 1015/1133/229 +f 1015/1133/229 1016/1136/229 1017/963/229 +f 1017/963/229 1018/1137/229 1008/964/229 +f 1015/1133/229 1017/963/229 1011/965/229 +f 1019/967/229 1020/1138/229 1021/1139/229 +f 1021/1139/229 1022/1140/229 1019/967/229 +f 1022/1140/229 1023/968/229 1019/967/229 +f 1023/968/229 1024/1141/229 1027/1142/229 +f 1024/1141/229 1025/1143/229 1027/1142/229 +f 1025/1143/229 1026/1144/229 1027/1142/229 +f 1027/1142/229 1028/1145/229 1029/966/229 +f 1029/966/229 1030/1146/229 1019/967/229 +f 1027/1142/229 1029/966/229 1023/968/229 +f 1033/971/230 1031/1147/230 1041/969/230 +f 1031/1147/230 1032/1148/230 1041/969/230 +f 1032/1148/230 1042/1149/230 1041/969/230 +f 1041/969/230 1040/1150/230 1039/1151/230 +f 1039/1151/230 1038/1152/230 1037/970/230 +f 1037/970/230 1036/1153/230 1035/1154/230 +f 1035/1154/230 1034/1155/230 1037/970/230 +f 1034/1155/230 1033/971/230 1037/970/230 +f 1041/969/230 1039/1151/230 1037/970/230 s 1 -f 2/7/9 3/766/24 1/767/25 -f 4/9/26 5/768/27 3/766/24 -f 6/11/23 7/769/28 5/768/27 -f 8/13/29 9/770/30 7/769/28 -f 10/15/5 11/771/31 9/770/30 -f 12/17/32 13/772/33 11/771/31 -f 13/772/33 16/20/34 15/773/35 -f 16/20/34 17/774/36 15/773/35 -f 18/504/4 19/775/37 17/776/36 -f 20/24/38 21/777/39 19/775/37 -f 22/27/40 23/778/41 21/777/39 -f 24/29/10 25/779/42 23/778/41 -f 26/31/3 27/780/43 25/779/42 -f 28/33/11 29/781/44 27/780/43 -f 30/1/22 31/782/45 29/781/44 -f 31/782/45 2/7/9 1/767/25 -f 43/18/22 58/783/46 42/21/46 -f 36/2/32 51/784/47 35/3/47 -f 44/16/11 59/785/22 43/18/22 -f 37/32/5 52/786/32 36/2/32 -f 45/14/3 60/787/11 44/16/11 -f 38/30/29 53/788/5 37/32/5 -f 46/12/10 61/789/3 45/14/3 -f 39/28/23 54/790/29 38/30/29 -f 47/10/40 62/791/10 46/12/10 -f 40/26/26 55/792/23 39/28/23 -f 48/8/38 63/793/40 47/10/40 -f 41/25/9 56/794/26 40/26/26 -f 34/4/34 49/795/4 33/6/4 -f 33/6/4 64/796/38 48/8/38 -f 42/21/46 57/797/9 41/23/9 -f 35/3/47 50/798/34 34/4/34 -f 66/799/48 81/800/49 65/801/50 -f 81/800/49 31/802/45 1/803/25 -f 80/804/51 81/805/49 96/806/52 -f 80/804/51 95/807/53 79/808/54 -f 79/808/54 94/809/55 78/810/56 -f 77/811/57 94/812/55 93/813/58 -f 76/814/59 93/815/58 92/816/60 -f 75/817/61 92/818/60 91/819/62 -f 74/820/63 91/821/62 90/822/64 -f 74/820/63 89/823/65 73/824/66 -f 72/825/67 89/826/65 88/827/68 -f 72/825/67 87/828/69 71/829/70 -f 71/829/70 86/830/71 70/831/72 -f 70/831/72 85/832/73 69/833/74 -f 68/834/75 85/835/73 84/836/76 -f 67/837/77 84/838/76 83/839/78 -f 67/837/77 82/840/79 66/799/48 -f 3/841/24 81/805/49 1/842/25 -f 5/843/27 96/844/52 3/845/24 -f 94/809/55 5/846/27 7/847/28 -f 93/813/58 7/848/28 9/849/30 -f 11/850/31 93/815/58 9/851/30 -f 13/852/33 92/818/60 11/853/31 -f 90/822/64 13/854/33 15/855/35 -f 89/823/65 15/856/35 17/857/36 -f 19/858/37 89/826/65 17/859/36 -f 21/860/39 88/861/68 19/862/37 -f 23/863/41 87/864/69 21/865/39 -f 85/832/73 23/866/41 25/867/42 -f 84/836/76 25/868/42 27/869/43 -f 83/839/78 27/870/43 29/871/44 -f 82/840/79 29/872/44 31/873/45 -f 129/34/9 111/95/46 130/63/46 -f 144/40/26 112/93/9 129/34/9 -f 137/64/4 103/80/34 138/62/34 -f 130/63/46 110/68/22 131/60/22 -f 138/62/34 102/82/47 139/58/47 -f 131/60/22 109/67/11 132/56/11 -f 139/58/47 101/84/32 140/54/32 -f 132/56/11 108/70/3 133/52/3 -f 140/54/32 100/86/5 141/50/5 -f 133/52/3 107/72/10 134/46/10 -f 141/50/5 99/87/29 142/48/29 -f 134/46/10 106/73/40 135/42/40 -f 142/48/29 98/89/23 143/44/23 -f 135/42/40 105/75/38 136/39/38 -f 143/44/23 97/91/26 144/40/26 -f 136/39/38 104/77/4 137/37/4 -f 154/874/9 119/43/26 122/36/9 -f 153/875/46 122/36/9 121/35/46 -f 156/876/22 121/35/46 124/59/22 -f 158/877/11 124/59/22 126/55/11 -f 160/878/3 126/55/11 128/51/3 -f 148/879/10 128/51/3 116/45/10 -f 147/880/40 116/45/10 115/41/40 -f 150/881/38 115/41/40 118/38/38 -f 152/882/4 118/38/38 120/505/4 -f 155/883/34 120/65/4 123/61/34 -f 157/884/47 123/61/34 125/57/47 -f 159/885/32 125/57/47 127/53/32 -f 146/886/5 127/53/32 114/49/5 -f 145/887/29 114/49/5 113/47/29 -f 149/888/23 113/47/29 117/506/23 -f 151/889/26 117/506/23 119/43/26 -f 192/890/80 153/875/81 191/891/81 -f 177/892/82 154/874/80 192/890/80 -f 178/893/83 151/889/82 177/892/82 -f 178/893/83 145/887/84 149/888/83 -f 179/894/84 146/886/6 145/887/84 -f 180/895/6 159/885/85 146/886/6 -f 181/896/85 157/884/86 159/885/85 -f 182/897/86 155/883/87 157/884/86 -f 184/898/88 155/883/87 183/899/87 -f 184/900/88 150/881/89 152/882/88 -f 185/901/89 147/880/90 150/881/89 -f 186/902/90 148/879/91 147/880/90 -f 188/903/7 148/879/91 187/904/91 -f 188/903/7 158/877/92 160/878/7 -f 189/905/92 156/876/93 158/877/92 -f 190/906/93 153/875/81 156/876/93 -f 172/907/94 191/891/95 190/906/94 -f 169/908/95 192/890/96 191/891/95 -f 170/909/96 177/892/97 192/890/96 -f 167/910/97 178/893/98 177/892/97 -f 178/893/98 161/911/99 179/894/99 -f 179/894/99 162/912/100 180/895/100 -f 180/895/100 175/913/101 181/896/101 -f 181/896/101 173/914/102 182/897/102 -f 173/914/102 183/899/103 182/897/102 -f 171/915/103 184/898/104 183/899/103 -f 184/900/104 166/916/105 185/901/105 -f 185/901/105 163/917/106 186/902/106 -f 186/902/106 164/918/107 187/904/107 -f 164/918/107 188/903/108 187/904/107 -f 188/903/108 174/919/109 189/905/109 -f 189/905/109 172/907/94 190/906/94 -f 66/799/46 172/907/22 67/837/22 -f 65/801/9 169/908/46 66/799/46 -f 80/804/26 170/909/9 65/801/9 -f 79/808/23 167/910/26 80/804/26 -f 78/810/29 165/920/23 79/808/23 -f 77/811/5 161/911/29 78/810/29 -f 76/814/32 162/912/5 77/811/5 -f 75/817/47 175/913/32 76/814/32 -f 74/820/34 173/914/47 75/817/47 -f 73/824/4 171/915/34 74/820/34 -f 72/825/38 168/921/4 73/922/4 -f 71/829/40 166/916/38 72/825/38 -f 70/831/10 163/917/40 71/829/40 -f 69/833/3 164/918/10 70/831/10 -f 68/834/11 176/923/3 69/833/3 -f 67/837/22 174/919/11 68/834/11 -f 198/924/10 215/925/110 199/926/40 -f 206/927/29 223/928/111 207/929/23 -f 199/926/40 216/930/112 200/931/38 -f 207/929/23 224/932/113 208/933/26 -f 200/931/38 217/934/114 201/935/4 -f 208/933/26 209/936/115 193/937/9 -f 201/938/4 218/939/116 202/940/34 -f 202/940/34 219/941/117 203/942/47 -f 203/942/47 220/943/118 204/944/32 -f 204/944/32 221/945/119 205/946/5 -f 270/947/120 193/937/9 209/936/115 -f 205/946/5 222/948/121 206/927/29 -f 245/949/9 254/950/22 246/951/22 -f 252/952/23 253/953/9 245/949/9 -f 250/954/47 259/955/5 251/956/5 -f 248/957/40 257/958/4 249/959/4 -f 246/951/22 255/960/3 247/961/3 -f 251/956/5 260/962/23 252/952/23 -f 249/963/4 258/964/47 250/954/47 -f 247/961/3 256/965/40 248/957/40 -f 269/966/120 194/967/46 193/937/9 -f 211/968/122 213/969/123 214/970/124 -f 264/971/11 197/972/3 196/973/11 -f 263/974/22 196/973/11 195/975/22 -f 262/976/46 195/975/22 194/967/46 -f 261/977/125 211/968/122 268/978/11 -f 265/979/126 268/978/11 267/980/22 -f 210/981/127 267/980/22 266/982/46 -f 210/981/127 270/947/120 209/936/115 -f 280/983/128 293/984/9 279/985/129 -f 281/986/130 294/987/46 280/983/128 -f 282/988/131 295/989/22 281/986/130 -f 283/990/132 296/991/11 282/988/131 -f 276/992/133 289/150/134 275/149/135 -f 284/993/136 297/994/3 283/990/132 -f 277/995/137 290/996/29 276/992/133 -f 285/997/138 298/998/10 284/993/136 -f 278/999/139 291/1000/23 277/995/137 -f 286/1001/140 299/1002/40 285/997/138 -f 279/985/129 292/1003/26 278/999/139 -f 287/147/141 288/1004/4 271/1005/142 -f 271/1005/142 300/1006/38 286/1001/140 -f 309/1007/22 304/481/11 303/484/22 -f 306/1008/120 302/486/46 311/488/120 -f 308/1009/11 305/714/143 304/481/11 -f 310/1010/46 303/484/22 302/486/46 -f 322/263/144 277/995/137 276/992/133 -f 277/995/137 320/265/145 278/999/139 -f 278/999/139 319/268/146 279/985/129 -f 319/272/146 280/983/128 279/985/129 -f 318/153/147 281/986/130 280/983/128 -f 281/986/130 316/562/148 282/988/131 -f 316/232/148 283/990/132 282/988/131 -f 315/235/149 284/993/136 283/990/132 -f 314/238/150 285/997/138 284/993/136 -f 312/244/151 271/1005/142 286/1001/140 -f 313/241/152 286/1001/140 285/997/138 -f 326/568/153 272/1011/153 287/147/141 -f 326/250/153 273/1012/154 272/1011/153 -f 325/254/154 274/1013/155 273/1012/154 -f 274/1013/155 323/571/156 275/1014/135 -f 323/260/156 276/992/133 275/149/135 -f 337/1015/11 330/1016/22 338/1017/22 -f 342/177/32 332/171/157 343/155/157 -f 379/1018/120 375/1019/158 378/1020/158 -f 336/1021/143 329/1022/11 337/1015/11 -f 341/174/47 335/172/32 342/177/32 -f 372/205/159 377/163/160 376/208/159 -f 346/169/23 354/186/29 345/167/29 -f 345/167/29 358/189/134 344/197/134 -f 365/202/161 347/181/26 348/183/161 -f 356/191/26 369/204/161 357/192/161 -f 364/201/162 368/194/162 355/187/23 -f 375/1019/158 330/1016/22 378/1020/158 -f 376/208/159 334/165/47 341/174/47 -f 397/1023/163 213/969/123 261/977/125 -f 220/943/118 406/1024/164 221/945/119 -f 221/945/119 407/1025/165 222/948/121 -f 407/1025/165 223/928/111 222/948/121 -f 215/925/110 401/1026/166 216/930/112 -f 214/970/124 400/1027/167 215/925/110 -f 408/1028/168 224/932/113 223/928/111 -f 265/979/126 397/1023/163 261/977/125 -f 409/1029/169 209/936/115 224/932/113 -f 217/1030/114 403/1031/170 218/939/116 -f 213/969/123 399/1032/171 214/970/124 -f 209/936/115 395/1033/172 210/981/127 -f 403/1031/170 219/941/117 218/939/116 -f 216/930/112 402/1034/173 217/934/114 -f 395/1033/172 265/979/126 210/981/127 -f 219/941/117 405/1035/174 220/943/118 -f 392/1036/175 432/1037/176 393/1038/177 -f 433/1039/178 413/1040/179 412/1041/180 -f 435/1042/181 426/1043/182 433/1039/178 -f 437/1044/183 428/1045/184 435/1042/181 -f 438/1046/185 429/1047/186 437/1044/183 -f 424/1048/187 439/1049/188 432/1037/176 -f 439/1049/188 430/1050/189 438/1046/185 -f 423/1051/190 418/1052/191 416/1053/192 -f 425/1054/193 417/1055/194 422/1056/195 -f 410/1057/196 392/1058/175 425/1054/193 -f 415/1059/197 413/1060/179 426/1061/182 -f 415/1059/197 428/1062/184 417/1055/194 -f 419/1063/198 428/1062/184 429/1064/186 -f 421/1065/199 429/1064/186 430/1066/189 -f 410/1057/196 431/1067/200 424/1068/187 -f 421/1065/199 431/1067/200 422/1056/195 -f 411/1069/201 393/1070/177 432/1071/176 -f 414/1072/202 412/1073/180 436/1074/203 -f 414/1072/202 435/1075/181 433/1076/178 -f 418/1052/191 435/1075/181 416/1053/192 -f 420/1077/204 437/1078/183 418/1052/191 -f 411/1069/201 439/1079/188 423/1051/190 -f 420/1077/204 439/1079/188 438/1080/185 -f 452/289/1 454/293/205 453/284/1 -f 451/286/2 457/1081/206 450/1082/2 -f 456/285/206 459/1083/207 457/1081/206 -f 455/288/205 460/292/208 454/293/205 -f 458/297/207 463/1084/209 459/1083/207 -f 461/291/208 464/580/210 460/292/208 -f 462/296/209 467/1085/211 463/1084/209 -f 465/295/210 468/300/212 464/580/210 -f 475/1086/213 470/304/1 471/303/1 -f 477/1087/214 474/1088/213 475/1086/213 -f 484/1089/215 497/1090/216 485/1091/216 -f 491/1092/217 492/1093/218 480/1094/218 -f 481/1095/219 494/1096/220 482/1097/220 -f 488/1098/221 501/1099/15 489/1100/15 -f 485/1091/216 498/1101/222 486/1102/222 -f 482/1097/220 495/1103/14 483/1104/14 -f 489/1100/15 502/1105/223 490/1106/223 -f 486/1102/222 499/1107/224 487/1108/224 -f 483/1104/14 496/1109/215 484/1089/215 -f 490/1106/223 503/1110/217 491/1092/217 -f 480/1111/218 493/1112/219 481/1095/219 -f 487/1108/224 500/1113/221 488/1098/221 -f 518/1114/220 507/1115/14 506/1116/220 -f 525/1117/15 514/1118/223 513/1119/15 -f 522/1120/222 511/1121/224 510/1122/222 -f 519/1123/14 508/1124/215 507/1115/14 -f 526/1125/223 515/1126/217 514/1118/223 -f 516/1127/218 505/1128/219 504/1129/218 -f 523/1130/224 512/1131/221 511/1121/224 -f 520/1132/215 509/1133/216 508/1124/215 -f 527/1134/217 504/1135/218 515/1126/217 -f 517/1136/219 506/1116/220 505/1128/219 -f 524/1137/221 513/1119/15 512/1131/221 -f 521/1138/216 510/1122/222 509/1133/216 -f 535/329/225 538/1139/225 539/320/225 -f 531/323/5 534/1140/225 535/329/225 -f 530/325/3 533/611/226 528/326/3 -f 532/324/226 537/330/226 533/611/226 -f 562/1141/222 551/1142/224 550/1143/222 -f 538/1139/225 543/610/5 539/320/225 -f 536/322/226 541/612/3 537/330/226 -f 559/1144/14 548/1145/215 547/1146/14 -f 566/1147/223 555/1148/217 554/1149/223 -f 556/1150/218 545/1151/219 544/1152/218 -f 563/1153/224 552/1154/221 551/1142/224 -f 560/1155/215 549/1156/216 548/1145/215 -f 567/1157/217 544/1158/218 555/1148/217 -f 557/1159/219 546/1160/220 545/1151/219 -f 564/1161/221 553/1162/15 552/1154/221 -f 561/1163/216 550/1143/222 549/1156/216 -f 558/1164/220 547/1146/14 546/1160/220 -f 565/1165/15 554/1149/223 553/1162/15 -f 573/1166/227 584/1167/228 572/1168/228 -f 568/1169/9 591/1170/229 579/1171/229 -f 570/1172/230 580/1173/231 569/1174/231 -f 577/1175/5 588/1176/232 576/1177/232 -f 574/1178/4 585/1179/227 573/1166/227 -f 571/1180/3 582/1181/230 570/1172/230 -f 578/1182/233 589/1183/5 577/1175/5 -f 575/1184/234 586/1185/4 574/1186/4 -f 572/1168/228 583/1187/3 571/1180/3 -f 579/1171/229 590/1188/233 578/1182/233 -f 569/1174/231 581/1189/9 568/1169/9 -f 576/1177/232 587/1190/234 575/1184/234 -f 602/1191/233 615/1192/229 603/1193/229 -f 595/1194/3 608/1195/228 596/1196/228 -f 603/1193/229 605/1197/9 592/1198/9 -f 596/1196/228 609/1199/227 597/1200/227 -f 597/1200/227 610/1201/4 598/1202/4 -f 598/1203/4 611/1204/234 599/1205/234 -f 599/1205/234 612/1206/232 600/1207/232 -f 592/1198/9 604/1208/231 593/1209/231 -f 600/1207/232 613/1210/5 601/1211/5 -f 593/1209/231 606/1212/230 594/1213/230 -f 601/1211/5 614/1214/233 602/1191/233 -f 594/1213/230 607/1215/3 595/1194/3 -f 622/1216/235 636/1217/236 623/1218/237 -f 619/1219/238 633/1220/239 620/1221/240 -f 627/1222/241 639/1223/242 640/1224/243 -f 617/1225/244 629/1226/245 630/1227/246 -f 624/1228/247 636/1217/236 637/1229/248 -f 621/1230/249 633/1220/239 634/1231/250 -f 627/1222/241 629/1226/245 616/1232/251 -f 618/1233/252 630/1227/246 631/1234/253 -f 624/1228/247 638/1235/254 625/1236/255 -f 622/1237/235 634/1231/250 635/1238/256 -f 618/1233/252 632/1239/257 619/1219/238 -f 625/1236/255 639/1223/242 626/1240/258 -f 640/1224/243 641/1241/259 629/1226/245 -f 630/1227/246 643/1242/260 631/1234/253 -f 638/1235/254 649/1243/261 650/1244/262 -f 634/1231/250 647/1245/263 635/1238/256 -f 631/1234/253 644/1246/264 632/1239/257 -f 638/1235/254 651/1247/265 639/1223/242 -f 635/1248/256 648/1249/266 636/1217/236 -f 632/1239/257 645/1250/267 633/1220/239 -f 640/1224/243 651/1247/265 652/1251/268 -f 630/1227/246 641/1241/259 642/1252/269 -f 637/1229/248 648/1249/266 649/1243/261 -f 633/1220/239 646/1253/270 634/1231/250 -f 645/1250/267 658/1254/271 646/1253/270 -f 641/1241/259 664/1255/272 653/1256/273 -f 642/1252/269 655/1257/274 643/1242/260 -f 650/1244/262 661/1258/275 662/1259/276 -f 647/1245/263 658/1254/271 659/1260/277 -f 643/1242/260 656/1261/278 644/1246/264 -f 651/1247/265 662/1259/276 663/1262/279 -f 647/1263/263 660/1264/280 648/1249/266 -f 644/1246/264 657/1265/281 645/1250/267 -f 652/1251/268 663/1262/279 664/1255/272 -f 642/1252/269 653/1256/273 654/1266/282 -f 649/1243/261 660/1264/280 661/1258/275 -f 657/1265/281 669/1267/283 658/1254/271 -f 664/1255/272 628/1268/284 653/1256/273 -f 654/1266/282 666/1269/285 655/1257/274 -f 662/1259/276 672/1270/286 673/1271/287 -f 658/1254/271 670/1272/288 659/1260/277 -f 655/1257/274 667/1273/289 656/1261/278 -f 662/1259/276 674/1274/290 663/1262/279 -f 659/1275/277 671/1276/291 660/1264/280 -f 656/1261/278 668/1277/292 657/1265/281 -f 663/1262/279 675/1278/293 664/1255/272 -f 654/1266/282 628/1268/284 665/1279/294 -f 661/1258/275 671/1276/291 672/1270/286 -f 672/1270/286 684/1280/295 685/1281/296 -f 668/1277/292 682/1282/297 669/1267/283 -f 675/1278/293 677/1283/298 628/1268/284 -f 665/1279/294 679/1284/299 666/1269/285 -f 673/1271/287 685/1281/296 686/1285/233 -f 670/1272/288 682/1282/297 683/1286/300 -f 667/1273/289 679/1284/299 680/1287/228 -f 673/1271/287 687/1288/301 674/1274/290 -f 670/1289/288 684/1280/295 671/1276/291 -f 668/1277/292 680/1287/228 681/1290/302 -f 675/1278/293 687/1288/301 688/1291/303 -f 665/1279/294 677/1283/298 678/1292/304 -f 678/1292/304 689/1293/305 690/1294/306 -f 685/1281/296 696/1295/307 697/1296/308 -f 681/1290/302 694/1297/309 682/1282/297 -f 688/1291/303 689/1293/305 677/1283/298 -f 679/1284/299 690/1294/306 691/1298/310 -f 685/1281/296 698/1299/229 686/1285/233 -f 683/1286/300 694/1297/309 695/1300/311 -f 680/1287/228 691/1298/310 692/1301/227 -f 687/1288/301 698/1299/229 699/1302/312 -f 683/1303/300 696/1295/307 684/1280/295 -f 680/1287/228 693/1304/313 681/1290/302 -f 688/1291/303 699/1302/312 700/1305/314 -f 699/1302/312 712/1306/315 700/1305/314 -f 690/1294/306 701/1307/316 702/1308/317 -f 697/1296/308 708/1309/318 709/1310/319 -f 693/1304/313 706/1311/320 694/1297/309 -f 700/1305/314 701/1307/316 689/1293/305 -f 690/1294/306 703/1312/321 691/1298/310 -f 698/1299/229 709/1310/319 710/1313/9 -f 695/1300/311 706/1311/320 707/1314/322 -f 692/1301/227 703/1312/321 704/1315/4 -f 699/1302/312 710/1313/9 711/1316/323 -f 695/1317/311 708/1309/318 696/1295/307 -f 692/1301/227 705/1318/324 693/1304/313 -f 732/1319/325 718/1320/235 719/1321/249 -f 729/1322/248 715/1323/255 716/1324/247 -f 723/1325/244 735/1326/253 722/1327/252 -f 713/1328/241 725/1329/245 676/1330/251 -f 733/1331/239 719/1321/249 720/1332/240 -f 730/1333/326 716/1324/247 717/1334/237 -f 725/1329/245 723/1325/244 676/1330/251 -f 727/1335/242 713/1328/241 714/1336/258 -f 721/1337/238 733/1331/239 720/1332/240 -f 718/1338/235 730/1333/326 717/1334/237 -f 715/1323/255 727/1335/242 714/1336/258 -f 722/1327/252 734/1339/257 721/1337/238 -f 725/1329/245 748/1340/269 736/1341/246 -f 739/1342/265 726/1343/243 727/1335/242 -f 746/1344/264 733/1331/239 734/1339/257 -f 731/1345/256 742/1346/327 730/1333/326 -f 728/1347/254 739/1342/265 727/1335/242 -f 747/1348/260 734/1339/257 735/1326/253 -f 744/1349/270 731/1350/256 732/1319/325 -f 741/1351/261 728/1347/254 729/1322/248 -f 736/1341/246 747/1348/260 735/1326/253 -f 738/1352/268 725/1329/245 726/1343/243 -f 733/1331/239 744/1349/270 732/1319/325 -f 742/1346/327 729/1322/248 730/1333/326 -f 754/1353/280 741/1351/261 742/1346/327 -f 749/1354/273 748/1340/269 737/1355/259 -f 751/1356/279 738/1352/268 739/1342/265 -f 746/1344/264 757/1357/281 745/1358/267 -f 743/1359/263 754/1353/280 742/1346/327 -f 752/1360/276 739/1342/265 740/1361/262 -f 747/1348/260 758/1362/278 746/1344/264 -f 756/1363/271 743/1364/263 744/1349/270 -f 753/1365/275 740/1361/262 741/1351/261 -f 748/1340/269 759/1366/274 747/1348/260 -f 738/1352/268 749/1354/273 737/1355/259 -f 745/1358/267 756/1363/271 744/1349/270 -f 765/1367/328 753/1365/275 754/1353/280 -f 724/1368/329 760/1369/282 749/1354/273 -f 762/1370/330 750/1371/272 751/1356/279 -f 769/1372/331 757/1357/281 758/1362/278 -f 755/1373/277 765/1367/328 754/1353/280 -f 763/1374/332 751/1356/279 752/1360/276 -f 770/1375/333 758/1362/278 759/1366/274 -f 767/1376/334 755/1377/277 756/1363/271 -f 764/1378/335 752/1360/276 753/1365/275 -f 760/1369/282 770/1375/333 759/1366/274 -f 761/1379/336 749/1354/273 750/1371/272 -f 757/1357/281 767/1376/334 756/1363/271 -f 768/1380/337 779/1381/338 767/1376/334 -f 777/1382/339 764/1378/335 765/1367/328 -f 772/1383/340 771/1384/341 724/1368/329 -f 774/1385/342 761/1379/336 762/1370/330 -f 769/1372/331 780/1386/343 768/1380/337 -f 766/1387/344 777/1382/339 765/1367/328 -f 763/1374/332 774/1385/342 762/1370/330 -f 782/1388/345 769/1372/331 770/1375/333 -f 779/1381/338 766/1389/344 767/1376/334 -f 764/1378/335 775/1390/232 763/1374/332 -f 771/1384/341 782/1388/345 770/1375/333 -f 761/1379/336 772/1383/340 724/1368/329 -f 773/1391/346 784/1392/347 772/1383/340 -f 780/1386/343 791/1393/348 779/1381/338 -f 789/1394/349 776/1395/350 777/1382/339 -f 784/1392/347 783/1396/351 772/1383/340 -f 786/1397/352 773/1391/346 774/1385/342 -f 793/1398/231 780/1386/343 781/1399/230 -f 790/1400/353 777/1382/339 778/1401/354 -f 775/1390/232 786/1397/352 774/1385/342 -f 782/1388/345 793/1398/231 781/1399/230 -f 791/1393/348 778/1402/354 779/1381/338 -f 788/1403/355 775/1390/232 776/1395/350 -f 783/1396/351 794/1404/356 782/1388/345 -f 711/1405/323 795/1406/357 712/1407/315 -f 710/1408/9 794/1404/356 711/1405/323 -f 792/1409/358 710/1408/9 709/1410/319 -f 791/1393/348 709/1410/319 708/1411/318 -f 707/1314/322 791/1393/348 708/1411/318 -f 789/1394/349 707/1412/322 706/1413/320 -f 705/1414/324 789/1394/349 706/1413/320 -f 787/1415/234 705/1414/324 704/1416/4 -f 703/1417/321 787/1415/234 704/1416/4 -f 785/1418/359 703/1417/321 702/1419/317 -f 701/1307/316 785/1418/359 702/1419/317 -f 795/1406/357 701/1307/316 712/1407/315 -f 714/1336/258 811/1420/5 715/1323/255 -f 722/1327/252 819/1421/231 723/1325/244 -f 622/1237/235 801/1422/227 621/1230/249 -f 715/1323/255 812/1423/232 716/1324/247 -f 723/1325/244 808/1424/9 676/1330/251 -f 623/1218/237 802/1425/4 622/1216/235 -f 716/1324/247 813/1426/234 717/1334/237 -f 624/1228/247 803/1427/234 623/1218/237 -f 717/1334/237 814/1428/4 718/1338/235 -f 617/1225/244 796/1429/9 616/1232/251 -f 625/1236/255 804/1430/232 624/1228/247 -f 718/1320/235 815/1431/227 719/1321/249 -f 618/1233/252 797/1432/231 617/1225/244 -f 626/1240/258 805/1433/5 625/1236/255 -f 719/1321/249 816/1434/228 720/1332/240 -f 619/1219/238 798/1435/230 618/1233/252 -f 676/1330/251 809/1436/229 713/1328/241 -f 627/1222/241 806/1437/233 626/1240/258 -f 720/1332/240 817/1438/3 721/1337/238 -f 620/1221/240 799/1439/3 619/1219/238 -f 713/1328/241 810/1440/233 714/1336/258 -f 616/1232/251 807/1441/229 627/1222/241 -f 721/1337/238 818/1442/230 722/1327/252 -f 621/1230/249 800/1443/228 620/1221/240 -f 821/1444/360 834/1445/361 833/1446/362 -f 828/1447/363 841/1448/364 840/1449/365 -f 826/1450/366 837/1451/367 825/1452/368 -f 823/1453/3 834/1445/361 822/1454/369 -f 829/1455/5 842/1456/370 841/1448/364 -f 826/1457/366 839/1458/371 838/1459/372 -f 824/1460/373 835/1461/374 823/1453/3 -f 831/1462/375 842/1456/370 830/1463/376 -f 820/1464/377 833/1446/362 832/1465/378 -f 828/1447/363 839/1458/371 827/1466/379 -f 824/1460/373 837/1451/367 836/1467/380 -f 820/1464/377 843/1468/381 831/1462/375 -f 838/1459/372 851/1469/382 850/1470/383 -f 836/1467/380 847/1471/384 835/1461/374 -f 842/1456/370 855/1472/385 854/1473/386 -f 833/1446/362 844/1474/387 832/1465/378 -f 840/1449/365 851/1469/382 839/1458/371 -f 837/1451/367 848/1475/388 836/1467/380 -f 843/1468/381 844/1474/387 855/1472/385 -f 833/1446/362 846/1476/389 845/1477/390 -f 841/1448/364 852/1478/391 840/1449/365 -f 838/1479/372 849/1480/392 837/1451/367 -f 835/1461/374 846/1476/389 834/1445/361 -f 841/1448/364 854/1473/386 853/1481/393 -f 851/1469/382 862/1482/394 850/1470/383 -f 847/1471/384 860/1483/395 859/1484/396 -f 855/1472/385 866/1485/397 854/1473/386 -f 845/1477/390 856/1486/398 844/1474/387 -f 852/1478/391 863/1487/399 851/1469/382 -f 849/1480/392 860/1483/395 848/1475/388 -f 855/1472/385 856/1486/398 867/1488/400 -f 845/1477/390 858/1489/401 857/1490/402 -f 852/1478/391 865/1491/403 864/1492/404 -f 849/1480/392 862/1493/394 861/1494/405 -f 847/1471/384 858/1489/401 846/1476/389 -f 854/1473/386 865/1491/403 853/1481/393 -f 860/1495/395 864/1496/404 856/1497/398 -f 896/402/4 919/423/227 895/400/227 -f 910/1498/230 935/410/3 911/1499/3 -f 903/1500/234 928/417/232 904/1501/232 -f 897/404/234 920/429/4 896/405/4 -f 911/1499/3 936/409/228 912/1502/228 -f 904/1501/232 929/422/5 905/1503/5 -f 898/407/232 921/427/234 897/404/234 -f 912/1502/228 937/414/227 913/1504/227 -f 891/394/231 915/416/9 890/393/9 -f 905/1503/5 930/421/233 906/1505/233 -f 899/388/5 922/432/232 898/407/232 -f 913/1504/227 927/413/4 902/1506/4 -f 892/396/230 914/415/231 891/394/231 -f 906/1505/233 931/426/229 907/1507/229 -f 900/390/233 923/408/5 899/388/5 -f 893/397/3 916/420/230 892/396/230 -f 907/1507/229 932/425/9 908/1508/9 -f 901/391/229 924/412/233 900/390/233 -f 894/399/228 917/419/3 893/397/3 -f 908/1509/9 933/431/231 909/1510/231 -f 890/393/9 925/411/229 901/391/229 -f 895/400/227 918/424/228 894/399/228 -f 909/1510/231 934/430/230 910/1498/230 -f 902/1506/4 926/418/234 903/1500/234 -f 970/1511/3 977/1512/22 969/1513/22 -f 975/1514/23 982/1515/5 974/1516/5 -f 973/1517/47 980/1518/4 972/1519/4 -f 971/1520/40 978/1521/3 970/1511/3 -f 969/1513/22 976/1522/9 968/1523/9 -f 968/1523/9 983/1524/23 975/1514/23 -f 974/1516/5 981/1525/47 973/1517/47 -f 972/1526/4 979/1527/40 971/1520/40 -f 1000/1528/227 1011/1529/228 999/1530/228 -f 995/1531/9 1018/1532/229 1006/1533/229 -f 997/1534/230 1007/1535/231 996/1536/231 -f 1004/1537/5 1015/1538/232 1003/1539/232 -f 1001/1540/4 1012/1541/227 1000/1528/227 -f 998/1542/3 1009/1543/230 997/1534/230 -f 1005/1544/233 1016/1545/5 1004/1537/5 -f 1002/1546/234 1013/1547/4 1001/1548/4 -f 999/1530/228 1010/1549/3 998/1542/3 -f 1006/1533/229 1017/1550/233 1005/1544/233 -f 996/1536/231 1008/1551/9 995/1531/9 -f 1003/1539/232 1014/1552/234 1002/1546/234 -f 1029/1553/233 1042/1554/229 1030/1555/229 -f 1022/1556/3 1035/1557/228 1023/1558/228 -f 1030/1555/229 1032/1559/9 1019/1560/9 -f 1023/1558/228 1036/1561/227 1024/1562/227 -f 1024/1562/227 1037/1563/4 1025/1564/4 -f 1025/1565/4 1038/1566/234 1026/1567/234 -f 1026/1567/234 1039/1568/232 1027/1569/232 -f 1019/1560/9 1031/1570/231 1020/1571/231 -f 1027/1569/232 1040/1572/5 1028/1573/5 -f 1020/1571/231 1033/1574/230 1021/1575/230 -f 1028/1573/5 1041/1576/233 1029/1553/233 -f 1021/1575/230 1034/1577/3 1022/1556/3 -f 2/7/9 4/9/26 3/766/24 -f 4/9/26 6/11/23 5/768/27 -f 6/11/23 8/13/29 7/769/28 -f 8/13/29 10/15/5 9/770/30 -f 10/15/5 12/17/32 11/771/31 -f 12/17/32 14/19/47 13/772/33 -f 13/772/33 14/19/47 16/20/34 -f 16/20/34 18/22/4 17/774/36 -f 18/504/4 20/24/38 19/775/37 -f 20/24/38 22/27/40 21/777/39 -f 22/27/40 24/29/10 23/778/41 -f 24/29/10 26/31/3 25/779/42 -f 26/31/3 28/33/11 27/780/43 -f 28/33/11 30/1/22 29/781/44 -f 30/1/22 32/5/46 31/782/45 -f 31/782/45 32/5/46 2/7/9 -f 43/18/22 59/785/22 58/783/46 -f 36/2/32 52/786/32 51/784/47 -f 44/16/11 60/787/11 59/785/22 -f 37/32/5 53/788/5 52/786/32 -f 45/14/3 61/789/3 60/787/11 -f 38/30/29 54/790/29 53/788/5 -f 46/12/10 62/791/10 61/789/3 -f 39/28/23 55/792/23 54/790/29 -f 47/10/40 63/793/40 62/791/10 -f 40/26/26 56/794/26 55/792/23 -f 48/8/38 64/796/38 63/793/40 -f 41/25/9 57/1578/9 56/794/26 -f 34/4/34 50/798/34 49/795/4 -f 33/6/4 49/795/4 64/796/38 -f 42/21/46 58/783/46 57/797/9 -f 35/3/47 51/784/47 50/798/34 -f 66/799/48 82/1579/79 81/800/49 -f 81/800/49 82/1579/79 31/802/45 -f 80/804/51 65/801/50 81/805/49 -f 80/804/51 96/844/52 95/807/53 -f 79/808/54 95/1580/53 94/809/55 -f 77/811/57 78/810/56 94/812/55 -f 76/814/59 77/811/57 93/815/58 -f 75/817/61 76/814/59 92/818/60 -f 74/820/63 75/817/61 91/821/62 -f 74/820/63 90/1581/64 89/823/65 -f 72/825/67 73/922/66 89/826/65 -f 72/825/67 88/861/68 87/828/69 -f 71/829/70 87/864/69 86/830/71 -f 70/831/72 86/1582/71 85/832/73 -f 68/834/75 69/833/74 85/835/73 -f 67/837/77 68/834/75 84/838/76 -f 67/837/77 83/1583/78 82/840/79 -f 3/841/24 96/806/52 81/805/49 -f 5/843/27 95/807/53 96/844/52 -f 94/809/55 95/1580/53 5/846/27 -f 93/813/58 94/812/55 7/848/28 -f 11/850/31 92/816/60 93/815/58 -f 13/852/33 91/819/62 92/818/60 -f 90/822/64 91/821/62 13/854/33 -f 89/823/65 90/1581/64 15/856/35 -f 19/858/37 88/827/68 89/826/65 -f 21/860/39 87/828/69 88/861/68 -f 23/863/41 86/830/71 87/864/69 -f 85/832/73 86/1582/71 23/866/41 -f 84/836/76 85/835/73 25/868/42 -f 83/839/78 84/838/76 27/870/43 -f 82/840/79 83/1583/78 29/872/44 -f 129/34/9 112/93/9 111/95/46 -f 144/40/26 97/91/26 112/93/9 -f 137/64/4 104/78/4 103/80/34 -f 130/63/46 111/95/46 110/68/22 -f 138/62/34 103/80/34 102/82/47 -f 131/60/22 110/68/22 109/67/11 -f 139/58/47 102/82/47 101/84/32 -f 132/56/11 109/67/11 108/70/3 -f 140/54/32 101/84/32 100/86/5 -f 133/52/3 108/70/3 107/72/10 -f 141/50/5 100/86/5 99/87/29 -f 134/46/10 107/72/10 106/73/40 -f 142/48/29 99/87/29 98/89/23 -f 135/42/40 106/73/40 105/75/38 -f 143/44/23 98/89/23 97/91/26 -f 136/39/38 105/75/38 104/77/4 -f 154/874/9 151/889/26 119/43/26 -f 153/875/46 154/874/9 122/36/9 -f 156/876/22 153/875/46 121/35/46 -f 158/877/11 156/876/22 124/59/22 -f 160/878/3 158/877/11 126/55/11 -f 148/879/10 160/878/3 128/51/3 -f 147/880/40 148/879/10 116/45/10 -f 150/881/38 147/880/40 115/41/40 -f 152/882/4 150/881/38 118/38/38 -f 155/883/34 152/1584/4 120/65/4 -f 157/884/47 155/883/34 123/61/34 -f 159/885/32 157/884/47 125/57/47 -f 146/886/5 159/885/32 127/53/32 -f 145/887/29 146/886/5 114/49/5 -f 149/888/23 145/887/29 113/47/29 -f 151/889/26 149/888/23 117/506/23 -f 192/890/80 154/874/80 153/875/81 -f 177/892/82 151/889/82 154/874/80 -f 178/893/83 149/888/83 151/889/82 -f 178/893/83 179/894/84 145/887/84 -f 179/894/84 180/895/6 146/886/6 -f 180/895/6 181/896/85 159/885/85 -f 181/896/85 182/897/86 157/884/86 -f 182/897/86 183/899/87 155/883/87 -f 184/898/88 152/1584/88 155/883/87 -f 184/900/88 185/901/89 150/881/89 -f 185/901/89 186/902/90 147/880/90 -f 186/902/90 187/904/91 148/879/91 -f 188/903/7 160/878/7 148/879/91 -f 188/903/7 189/905/92 158/877/92 -f 189/905/92 190/906/93 156/876/93 -f 190/906/93 191/891/81 153/875/81 -f 172/907/94 169/908/95 191/891/95 -f 169/908/95 170/909/96 192/890/96 -f 170/909/96 167/910/97 177/892/97 -f 167/910/97 165/920/98 178/893/98 -f 178/893/98 165/920/98 161/911/99 -f 179/894/99 161/911/99 162/912/100 -f 180/895/100 162/912/100 175/913/101 -f 181/896/101 175/913/101 173/914/102 -f 173/914/102 171/915/103 183/899/103 -f 171/915/103 168/1585/104 184/898/104 -f 184/900/104 168/921/104 166/916/105 -f 185/901/105 166/916/105 163/917/106 -f 186/902/106 163/917/106 164/918/107 -f 164/918/107 176/923/108 188/903/108 -f 188/903/108 176/923/108 174/919/109 -f 189/905/109 174/919/109 172/907/94 -f 66/799/46 169/908/46 172/907/22 -f 65/801/9 170/909/9 169/908/46 -f 80/804/26 167/910/26 170/909/9 -f 79/808/23 165/920/23 167/910/26 -f 78/810/29 161/911/29 165/920/23 -f 77/811/5 162/912/5 161/911/29 -f 76/814/32 175/913/32 162/912/5 -f 75/817/47 173/914/47 175/913/32 -f 74/820/34 171/915/34 173/914/47 -f 73/824/4 168/1585/4 171/915/34 -f 72/825/38 166/916/38 168/921/4 -f 71/829/40 163/917/40 166/916/38 -f 70/831/10 164/918/10 163/917/40 -f 69/833/3 176/923/3 164/918/10 -f 68/834/11 174/919/11 176/923/3 -f 67/837/22 172/907/22 174/919/11 -f 198/924/10 214/970/124 215/925/110 -f 206/927/29 222/948/121 223/928/111 -f 199/926/40 215/925/110 216/930/112 -f 207/929/23 223/928/111 224/932/113 -f 200/931/38 216/930/112 217/934/114 -f 208/933/26 224/932/113 209/936/115 -f 201/938/4 217/1030/114 218/939/116 -f 202/940/34 218/939/116 219/941/117 -f 203/942/47 219/941/117 220/943/118 -f 204/944/32 220/943/118 221/945/119 -f 270/947/120 269/966/120 193/937/9 -f 205/946/5 221/945/119 222/948/121 -f 245/949/9 253/953/9 254/950/22 -f 252/952/23 260/962/23 253/953/9 -f 250/954/47 258/964/47 259/955/5 -f 248/957/40 256/965/40 257/958/4 -f 246/951/22 254/950/22 255/960/3 -f 251/956/5 259/955/5 260/962/23 -f 249/963/4 257/1586/4 258/964/47 -f 247/961/3 255/960/3 256/965/40 -f 269/966/120 262/976/46 194/967/46 -f 214/970/124 198/924/10 211/968/122 -f 198/924/10 197/972/3 212/1587/122 -f 212/1587/122 211/968/122 198/924/10 -f 264/971/11 212/1587/122 197/972/3 -f 263/974/22 264/971/11 196/973/11 -f 262/976/46 263/974/22 195/975/22 -f 261/977/125 213/969/123 211/968/122 -f 265/979/126 261/977/125 268/978/11 -f 210/981/127 265/979/126 267/980/22 -f 210/981/127 266/982/46 270/947/120 -f 280/983/128 294/987/46 293/984/9 -f 281/986/130 295/989/22 294/987/46 -f 282/988/131 296/991/11 295/989/22 -f 283/990/132 297/994/3 296/991/11 -f 276/992/133 290/996/29 289/150/134 -f 284/993/136 298/998/10 297/994/3 -f 277/995/137 291/1000/23 290/996/29 -f 285/997/138 299/1002/40 298/998/10 -f 278/999/139 292/1003/26 291/1000/23 -f 286/1001/140 300/1006/38 299/1002/40 -f 279/985/129 293/984/9 292/1003/26 -f 287/147/141 301/532/160 288/1004/4 -f 271/1005/142 288/1004/4 300/1006/38 -f 309/1007/22 308/1009/11 304/481/11 -f 306/1008/120 310/1010/46 302/486/46 -f 308/1009/11 307/1588/143 305/714/143 -f 310/1010/46 309/1007/22 303/484/22 -f 322/263/144 321/262/406 277/995/137 -f 277/995/137 321/266/406 320/265/145 -f 278/999/139 320/269/145 319/268/146 -f 319/272/146 318/271/147 280/983/128 -f 318/153/147 317/536/407 281/986/130 -f 281/986/130 317/229/407 316/562/148 -f 316/232/148 315/563/149 283/990/132 -f 315/235/149 314/564/150 284/993/136 -f 314/238/150 313/565/152 285/997/138 -f 312/244/151 327/567/408 271/1005/142 -f 313/241/152 312/566/151 286/1001/140 -f 287/147/141 271/1005/142 327/247/408 -f 327/247/408 326/568/153 287/147/141 -f 326/250/153 325/569/154 273/1012/154 -f 325/254/154 324/253/155 274/1013/155 -f 274/1013/155 324/256/155 323/571/156 -f 323/260/156 322/259/144 276/992/133 -f 337/1015/11 329/1022/11 330/1016/22 -f 342/177/32 335/172/32 332/171/157 -f 379/1018/120 374/1589/120 375/1019/158 -f 336/1021/143 328/1590/143 329/1022/11 -f 341/174/47 334/165/47 335/172/32 -f 372/205/159 373/161/160 377/163/160 -f 346/169/23 355/187/23 354/186/29 -f 345/167/29 354/186/29 358/189/134 -f 365/202/161 364/201/162 347/181/26 -f 356/191/26 368/194/162 369/204/161 -f 346/169/23 347/181/26 364/201/162 -f 368/194/162 356/191/26 355/187/23 -f 346/169/23 364/201/162 355/187/23 -f 375/1019/158 339/1591/409 338/1017/22 -f 338/1017/22 330/1016/22 375/1019/158 -f 330/1016/22 331/1592/409 378/1020/158 -f 341/174/47 340/159/410 372/205/159 -f 376/208/159 333/166/410 334/165/47 -f 341/174/47 372/205/159 376/208/159 -f 397/1023/163 398/1593/411 213/969/123 -f 220/943/118 405/1035/174 406/1024/164 -f 221/945/119 406/1024/164 407/1025/165 -f 407/1025/165 408/1028/168 223/928/111 -f 215/925/110 400/1027/167 401/1026/166 -f 214/970/124 399/1032/171 400/1027/167 -f 408/1028/168 409/1029/169 224/932/113 -f 265/979/126 396/1594/412 397/1023/163 -f 409/1029/169 394/1595/413 209/936/115 -f 217/1030/114 402/1596/173 403/1031/170 -f 213/969/123 398/1593/411 399/1032/171 -f 209/936/115 394/1595/413 395/1033/172 -f 403/1031/170 404/1597/414 219/941/117 -f 216/930/112 401/1026/166 402/1034/173 -f 395/1033/172 396/1594/412 265/979/126 -f 219/941/117 404/1597/414 405/1035/174 -f 392/1036/175 424/1048/187 432/1037/176 -f 433/1039/178 426/1043/182 413/1040/179 -f 435/1042/181 428/1045/184 426/1043/182 -f 437/1044/183 429/1047/186 428/1045/184 -f 438/1046/185 430/1050/189 429/1047/186 -f 424/1048/187 431/1598/200 439/1049/188 -f 439/1049/188 431/1598/200 430/1050/189 -f 436/1074/203 434/1599/415 416/1053/192 -f 434/1599/415 411/1069/201 423/1051/190 -f 423/1051/190 420/1077/204 418/1052/191 -f 434/1599/415 423/1051/190 416/1053/192 -f 416/1053/192 414/1072/202 436/1074/203 -f 422/1056/195 410/1057/196 425/1054/193 -f 425/1054/193 427/1600/416 417/1055/194 -f 427/1600/416 415/1059/197 417/1055/194 -f 417/1055/194 419/1063/198 422/1056/195 -f 419/1063/198 421/1065/199 422/1056/195 -f 410/1057/196 424/1068/187 392/1058/175 -f 415/1059/197 427/1600/416 413/1060/179 -f 415/1059/197 426/1061/182 428/1062/184 -f 419/1063/198 417/1055/194 428/1062/184 -f 421/1065/199 419/1063/198 429/1064/186 -f 410/1057/196 422/1056/195 431/1067/200 -f 421/1065/199 430/1066/189 431/1067/200 -f 411/1069/201 434/1599/415 393/1070/177 -f 414/1072/202 433/1076/178 412/1073/180 -f 414/1072/202 416/1053/192 435/1075/181 -f 418/1052/191 437/1078/183 435/1075/181 -f 420/1077/204 438/1080/185 437/1078/183 -f 411/1069/201 432/1071/176 439/1079/188 -f 420/1077/204 423/1051/190 439/1079/188 -f 452/289/1 455/288/205 454/293/205 -f 451/286/2 456/285/206 457/1081/206 -f 456/285/206 458/297/207 459/1083/207 -f 455/288/205 461/291/208 460/292/208 -f 458/297/207 462/296/209 463/1084/209 -f 461/291/208 465/295/210 464/580/210 -f 462/296/209 466/301/211 467/1085/211 -f 465/295/210 469/299/212 468/300/212 -f 475/1086/213 474/1088/213 470/304/1 -f 477/1087/214 476/1601/214 474/1088/213 -f 484/1089/215 496/1109/215 497/1090/216 -f 491/1092/217 503/1110/217 492/1093/218 -f 481/1095/219 493/1112/219 494/1096/220 -f 488/1098/221 500/1113/221 501/1099/15 -f 485/1091/216 497/1090/216 498/1101/222 -f 482/1097/220 494/1096/220 495/1103/14 -f 489/1100/15 501/1099/15 502/1105/223 -f 486/1102/222 498/1101/222 499/1107/224 -f 483/1104/14 495/1103/14 496/1109/215 -f 490/1106/223 502/1105/223 503/1110/217 -f 480/1111/218 492/1602/218 493/1112/219 -f 487/1108/224 499/1107/224 500/1113/221 -f 518/1114/220 519/1123/14 507/1115/14 -f 525/1117/15 526/1125/223 514/1118/223 -f 522/1120/222 523/1130/224 511/1121/224 -f 519/1123/14 520/1132/215 508/1124/215 -f 526/1125/223 527/1134/217 515/1126/217 -f 516/1127/218 517/1136/219 505/1128/219 -f 523/1130/224 524/1137/221 512/1131/221 -f 520/1132/215 521/1138/216 509/1133/216 -f 527/1134/217 516/1603/218 504/1135/218 -f 517/1136/219 518/1114/220 506/1116/220 -f 524/1137/221 525/1117/15 513/1119/15 -f 521/1138/216 522/1120/222 510/1122/222 -f 535/329/225 534/1140/225 538/1139/225 -f 531/323/5 529/1604/5 534/1140/225 -f 530/325/3 532/324/226 533/611/226 -f 532/324/226 536/322/226 537/330/226 -f 562/1141/222 563/1153/224 551/1142/224 -f 538/1139/225 542/1605/5 543/610/5 -f 536/322/226 540/321/3 541/612/3 -f 559/1144/14 560/1155/215 548/1145/215 -f 566/1147/223 567/1157/217 555/1148/217 -f 556/1150/218 557/1159/219 545/1151/219 -f 563/1153/224 564/1161/221 552/1154/221 -f 560/1155/215 561/1163/216 549/1156/216 -f 567/1157/217 556/1606/218 544/1158/218 -f 557/1159/219 558/1164/220 546/1160/220 -f 564/1161/221 565/1165/15 553/1162/15 -f 561/1163/216 562/1141/222 550/1143/222 -f 558/1164/220 559/1144/14 547/1146/14 -f 565/1165/15 566/1147/223 554/1149/223 -f 573/1166/227 585/1179/227 584/1167/228 -f 568/1169/9 581/1189/9 591/1170/229 -f 570/1172/230 582/1181/230 580/1173/231 -f 577/1175/5 589/1183/5 588/1176/232 -f 574/1178/4 586/1607/4 585/1179/227 -f 571/1180/3 583/1187/3 582/1181/230 -f 578/1182/233 590/1188/233 589/1183/5 -f 575/1184/234 587/1190/234 586/1185/4 -f 572/1168/228 584/1167/228 583/1187/3 -f 579/1171/229 591/1170/229 590/1188/233 -f 569/1174/231 580/1173/231 581/1189/9 -f 576/1177/232 588/1176/232 587/1190/234 -f 602/1191/233 614/1214/233 615/1192/229 -f 595/1194/3 607/1215/3 608/1195/228 -f 603/1193/229 615/1192/229 605/1197/9 -f 596/1196/228 608/1195/228 609/1199/227 -f 597/1200/227 609/1199/227 610/1201/4 -f 598/1203/4 610/1608/4 611/1204/234 -f 599/1205/234 611/1204/234 612/1206/232 -f 592/1198/9 605/1197/9 604/1208/231 -f 600/1207/232 612/1206/232 613/1210/5 -f 593/1209/231 604/1208/231 606/1212/230 -f 601/1211/5 613/1210/5 614/1214/233 -f 594/1213/230 606/1212/230 607/1215/3 -f 622/1216/235 635/1248/256 636/1217/236 -f 619/1219/238 632/1239/257 633/1220/239 -f 627/1222/241 626/1240/258 639/1223/242 -f 617/1225/244 616/1232/251 629/1226/245 -f 624/1228/247 623/1218/237 636/1217/236 -f 621/1230/249 620/1221/240 633/1220/239 -f 627/1222/241 640/1224/243 629/1226/245 -f 618/1233/252 617/1225/244 630/1227/246 -f 624/1228/247 637/1229/248 638/1235/254 -f 622/1237/235 621/1230/249 634/1231/250 -f 618/1233/252 631/1234/253 632/1239/257 -f 625/1236/255 638/1235/254 639/1223/242 -f 640/1224/243 652/1251/268 641/1241/259 -f 630/1227/246 642/1252/269 643/1242/260 -f 638/1235/254 637/1229/248 649/1243/261 -f 634/1231/250 646/1253/270 647/1245/263 -f 631/1234/253 643/1242/260 644/1246/264 -f 638/1235/254 650/1244/262 651/1247/265 -f 635/1248/256 647/1263/263 648/1249/266 -f 632/1239/257 644/1246/264 645/1250/267 -f 640/1224/243 639/1223/242 651/1247/265 -f 630/1227/246 629/1226/245 641/1241/259 -f 637/1229/248 636/1217/236 648/1249/266 -f 633/1220/239 645/1250/267 646/1253/270 -f 645/1250/267 657/1265/281 658/1254/271 -f 641/1241/259 652/1251/268 664/1255/272 -f 642/1252/269 654/1266/282 655/1257/274 -f 650/1244/262 649/1243/261 661/1258/275 -f 647/1245/263 646/1253/270 658/1254/271 -f 643/1242/260 655/1257/274 656/1261/278 -f 651/1247/265 650/1244/262 662/1259/276 -f 647/1263/263 659/1275/277 660/1264/280 -f 644/1246/264 656/1261/278 657/1265/281 -f 652/1251/268 651/1247/265 663/1262/279 -f 642/1252/269 641/1241/259 653/1256/273 -f 649/1243/261 648/1249/266 660/1264/280 -f 657/1265/281 668/1277/292 669/1267/283 -f 664/1255/272 675/1278/293 628/1268/284 -f 654/1266/282 665/1279/294 666/1269/285 -f 662/1259/276 661/1258/275 672/1270/286 -f 658/1254/271 669/1267/283 670/1272/288 -f 655/1257/274 666/1269/285 667/1273/289 -f 662/1259/276 673/1271/287 674/1274/290 -f 659/1275/277 670/1289/288 671/1276/291 -f 656/1261/278 667/1273/289 668/1277/292 -f 663/1262/279 674/1274/290 675/1278/293 -f 654/1266/282 653/1256/273 628/1268/284 -f 661/1258/275 660/1264/280 671/1276/291 -f 672/1270/286 671/1276/291 684/1280/295 -f 668/1277/292 681/1290/302 682/1282/297 -f 675/1278/293 688/1291/303 677/1283/298 -f 665/1279/294 678/1292/304 679/1284/299 -f 673/1271/287 672/1270/286 685/1281/296 -f 670/1272/288 669/1267/283 682/1282/297 -f 667/1273/289 666/1269/285 679/1284/299 -f 673/1271/287 686/1285/233 687/1288/301 -f 670/1289/288 683/1303/300 684/1280/295 -f 668/1277/292 667/1273/289 680/1287/228 -f 675/1278/293 674/1274/290 687/1288/301 -f 665/1279/294 628/1268/284 677/1283/298 -f 678/1292/304 677/1283/298 689/1293/305 -f 685/1281/296 684/1280/295 696/1295/307 -f 681/1290/302 693/1304/313 694/1297/309 -f 688/1291/303 700/1305/314 689/1293/305 -f 679/1284/299 678/1292/304 690/1294/306 -f 685/1281/296 697/1296/308 698/1299/229 -f 683/1286/300 682/1282/297 694/1297/309 -f 680/1287/228 679/1284/299 691/1298/310 -f 687/1288/301 686/1285/233 698/1299/229 -f 683/1303/300 695/1317/311 696/1295/307 -f 680/1287/228 692/1301/227 693/1304/313 -f 688/1291/303 687/1288/301 699/1302/312 -f 699/1302/312 711/1316/323 712/1306/315 -f 690/1294/306 689/1293/305 701/1307/316 -f 697/1296/308 696/1295/307 708/1309/318 -f 693/1304/313 705/1318/324 706/1311/320 -f 700/1305/314 712/1306/315 701/1307/316 -f 690/1294/306 702/1308/317 703/1312/321 -f 698/1299/229 697/1296/308 709/1310/319 -f 695/1300/311 694/1297/309 706/1311/320 -f 692/1301/227 691/1298/310 703/1312/321 -f 699/1302/312 698/1299/229 710/1313/9 -f 695/1317/311 707/1412/322 708/1309/318 -f 692/1301/227 704/1315/4 705/1318/324 -f 732/1319/325 731/1350/256 718/1320/235 -f 729/1322/248 728/1347/254 715/1323/255 -f 723/1325/244 736/1341/246 735/1326/253 -f 713/1328/241 726/1343/243 725/1329/245 -f 733/1331/239 732/1319/325 719/1321/249 -f 730/1333/326 729/1322/248 716/1324/247 -f 725/1329/245 736/1341/246 723/1325/244 -f 727/1335/242 726/1343/243 713/1328/241 -f 721/1337/238 734/1339/257 733/1331/239 -f 718/1338/235 731/1345/256 730/1333/326 -f 715/1323/255 728/1347/254 727/1335/242 -f 722/1327/252 735/1326/253 734/1339/257 -f 725/1329/245 737/1355/259 748/1340/269 -f 739/1342/265 738/1352/268 726/1343/243 -f 746/1344/264 745/1358/267 733/1331/239 -f 731/1345/256 743/1359/263 742/1346/327 -f 728/1347/254 740/1361/262 739/1342/265 -f 747/1348/260 746/1344/264 734/1339/257 -f 744/1349/270 743/1364/263 731/1350/256 -f 741/1351/261 740/1361/262 728/1347/254 -f 736/1341/246 748/1340/269 747/1348/260 -f 738/1352/268 737/1355/259 725/1329/245 -f 733/1331/239 745/1358/267 744/1349/270 -f 742/1346/327 741/1351/261 729/1322/248 -f 754/1353/280 753/1365/275 741/1351/261 -f 749/1354/273 760/1369/282 748/1340/269 -f 751/1356/279 750/1371/272 738/1352/268 -f 746/1344/264 758/1362/278 757/1357/281 -f 743/1359/263 755/1373/277 754/1353/280 -f 752/1360/276 751/1356/279 739/1342/265 -f 747/1348/260 759/1366/274 758/1362/278 -f 756/1363/271 755/1377/277 743/1364/263 -f 753/1365/275 752/1360/276 740/1361/262 -f 748/1340/269 760/1369/282 759/1366/274 -f 738/1352/268 750/1371/272 749/1354/273 -f 745/1358/267 757/1357/281 756/1363/271 -f 765/1367/328 764/1378/335 753/1365/275 -f 724/1368/329 771/1384/341 760/1369/282 -f 762/1370/330 761/1379/336 750/1371/272 -f 769/1372/331 768/1380/337 757/1357/281 -f 755/1373/277 766/1387/344 765/1367/328 -f 763/1374/332 762/1370/330 751/1356/279 -f 770/1375/333 769/1372/331 758/1362/278 -f 767/1376/334 766/1389/344 755/1377/277 -f 764/1378/335 763/1374/332 752/1360/276 -f 760/1369/282 771/1384/341 770/1375/333 -f 761/1379/336 724/1368/329 749/1354/273 -f 757/1357/281 768/1380/337 767/1376/334 -f 768/1380/337 780/1386/343 779/1381/338 -f 777/1382/339 776/1395/350 764/1378/335 -f 772/1383/340 783/1396/351 771/1384/341 -f 774/1385/342 773/1391/346 761/1379/336 -f 769/1372/331 781/1399/230 780/1386/343 -f 766/1387/344 778/1401/354 777/1382/339 -f 763/1374/332 775/1390/232 774/1385/342 -f 782/1388/345 781/1399/230 769/1372/331 -f 779/1381/338 778/1402/354 766/1389/344 -f 764/1378/335 776/1395/350 775/1390/232 -f 771/1384/341 783/1396/351 782/1388/345 -f 761/1379/336 773/1391/346 772/1383/340 -f 773/1391/346 785/1418/359 784/1392/347 -f 780/1386/343 792/1409/358 791/1393/348 -f 789/1394/349 788/1403/355 776/1395/350 -f 784/1392/347 795/1406/357 783/1396/351 -f 786/1397/352 785/1418/359 773/1391/346 -f 793/1398/231 792/1409/358 780/1386/343 -f 790/1400/353 789/1394/349 777/1382/339 -f 775/1390/232 787/1415/234 786/1397/352 -f 782/1388/345 794/1404/356 793/1398/231 -f 791/1393/348 790/1609/353 778/1402/354 -f 788/1403/355 787/1415/234 775/1390/232 -f 783/1396/351 795/1406/357 794/1404/356 -f 711/1405/323 794/1404/356 795/1406/357 -f 710/1408/9 793/1398/231 794/1404/356 -f 792/1409/358 793/1398/231 710/1408/9 -f 791/1393/348 792/1409/358 709/1410/319 -f 707/1314/322 790/1609/353 791/1393/348 -f 789/1394/349 790/1400/353 707/1412/322 -f 705/1414/324 788/1403/355 789/1394/349 -f 787/1415/234 788/1403/355 705/1414/324 -f 703/1417/321 786/1397/352 787/1415/234 -f 785/1418/359 786/1397/352 703/1417/321 -f 701/1307/316 784/1392/347 785/1418/359 -f 795/1406/357 784/1392/347 701/1307/316 -f 714/1336/258 810/1440/233 811/1420/5 -f 722/1327/252 818/1442/230 819/1421/231 -f 622/1237/235 802/1610/4 801/1422/227 -f 715/1323/255 811/1420/5 812/1423/232 -f 723/1325/244 819/1421/231 808/1424/9 -f 623/1218/237 803/1427/234 802/1425/4 -f 716/1324/247 812/1423/232 813/1426/234 -f 624/1228/247 804/1430/232 803/1427/234 -f 717/1334/237 813/1426/234 814/1428/4 -f 617/1225/244 797/1432/231 796/1429/9 -f 625/1236/255 805/1433/5 804/1430/232 -f 718/1320/235 814/1611/4 815/1431/227 -f 618/1233/252 798/1435/230 797/1432/231 -f 626/1240/258 806/1437/233 805/1433/5 -f 719/1321/249 815/1431/227 816/1434/228 -f 619/1219/238 799/1439/3 798/1435/230 -f 676/1330/251 808/1424/9 809/1436/229 -f 627/1222/241 807/1441/229 806/1437/233 -f 720/1332/240 816/1434/228 817/1438/3 -f 620/1221/240 800/1443/228 799/1439/3 -f 713/1328/241 809/1436/229 810/1440/233 -f 616/1232/251 796/1429/9 807/1441/229 -f 721/1337/238 817/1438/3 818/1442/230 -f 621/1230/249 801/1422/227 800/1443/228 -f 821/1444/360 822/1454/369 834/1445/361 -f 828/1447/363 829/1455/5 841/1448/364 -f 826/1450/366 838/1479/372 837/1451/367 -f 823/1453/3 835/1461/374 834/1445/361 -f 829/1455/5 830/1463/376 842/1456/370 -f 826/1457/366 827/1466/379 839/1458/371 -f 824/1460/373 836/1467/380 835/1461/374 -f 831/1462/375 843/1468/381 842/1456/370 -f 820/1464/377 821/1444/360 833/1446/362 -f 828/1447/363 840/1449/365 839/1458/371 -f 824/1460/373 825/1452/368 837/1451/367 -f 820/1464/377 832/1465/378 843/1468/381 -f 838/1459/372 839/1458/371 851/1469/382 -f 836/1467/380 848/1475/388 847/1471/384 -f 842/1456/370 843/1468/381 855/1472/385 -f 833/1446/362 845/1477/390 844/1474/387 -f 840/1449/365 852/1478/391 851/1469/382 -f 837/1451/367 849/1480/392 848/1475/388 -f 843/1468/381 832/1465/378 844/1474/387 -f 833/1446/362 834/1445/361 846/1476/389 -f 841/1448/364 853/1481/393 852/1478/391 -f 838/1479/372 850/1612/383 849/1480/392 -f 835/1461/374 847/1471/384 846/1476/389 -f 841/1448/364 842/1456/370 854/1473/386 -f 851/1469/382 863/1487/399 862/1482/394 -f 847/1471/384 848/1475/388 860/1483/395 -f 855/1472/385 867/1488/400 866/1485/397 -f 845/1477/390 857/1490/402 856/1486/398 -f 852/1478/391 864/1492/404 863/1487/399 -f 849/1480/392 861/1494/405 860/1483/395 -f 855/1472/385 844/1474/387 856/1486/398 -f 845/1477/390 846/1476/389 858/1489/401 -f 852/1478/391 853/1481/393 865/1491/403 -f 849/1480/392 850/1612/383 862/1493/394 -f 847/1471/384 859/1484/396 858/1489/401 -f 854/1473/386 866/1485/397 865/1491/403 -f 856/1497/398 857/1613/402 858/1614/401 -f 858/1614/401 859/1615/396 856/1497/398 -f 859/1615/396 860/1495/395 856/1497/398 -f 860/1495/395 861/1616/405 864/1496/404 -f 861/1616/405 862/1617/394 864/1496/404 -f 862/1617/394 863/1618/399 864/1496/404 -f 864/1496/404 865/1619/403 866/1620/397 -f 866/1620/397 867/1621/400 856/1497/398 -f 864/1496/404 866/1620/397 856/1497/398 -f 896/402/4 920/699/4 919/423/227 -f 910/1498/230 934/430/230 935/410/3 -f 903/1500/234 926/418/234 928/417/232 -f 897/404/234 921/427/234 920/429/4 -f 911/1499/3 935/410/3 936/409/228 -f 904/1501/232 928/417/232 929/422/5 -f 898/407/232 922/432/232 921/427/234 -f 912/1502/228 936/409/228 937/414/227 -f 891/394/231 914/415/231 915/416/9 -f 905/1503/5 929/422/5 930/421/233 -f 899/388/5 923/408/5 922/432/232 -f 913/1504/227 937/414/227 927/413/4 -f 892/396/230 916/420/230 914/415/231 -f 906/1505/233 930/421/233 931/426/229 -f 900/390/233 924/412/233 923/408/5 -f 893/397/3 917/419/3 916/420/230 -f 907/1507/229 931/426/229 932/425/9 -f 901/391/229 925/411/229 924/412/233 -f 894/399/228 918/424/228 917/419/3 -f 908/1509/9 932/428/9 933/431/231 -f 890/393/9 915/416/9 925/411/229 -f 895/400/227 919/423/227 918/424/228 -f 909/1510/231 933/431/231 934/430/230 -f 902/1506/4 927/413/4 926/418/234 -f 970/1511/3 978/1521/3 977/1512/22 -f 975/1514/23 983/1524/23 982/1515/5 -f 973/1517/47 981/1525/47 980/1518/4 -f 971/1520/40 979/1527/40 978/1521/3 -f 969/1513/22 977/1512/22 976/1522/9 -f 968/1523/9 976/1522/9 983/1524/23 -f 974/1516/5 982/1515/5 981/1525/47 -f 972/1526/4 980/1622/4 979/1527/40 -f 1000/1528/227 1012/1541/227 1011/1529/228 -f 995/1531/9 1008/1551/9 1018/1532/229 -f 997/1534/230 1009/1543/230 1007/1535/231 -f 1004/1537/5 1016/1545/5 1015/1538/232 -f 1001/1540/4 1013/1623/4 1012/1541/227 -f 998/1542/3 1010/1549/3 1009/1543/230 -f 1005/1544/233 1017/1550/233 1016/1545/5 -f 1002/1546/234 1014/1552/234 1013/1547/4 -f 999/1530/228 1011/1529/228 1010/1549/3 -f 1006/1533/229 1018/1532/229 1017/1550/233 -f 996/1536/231 1007/1535/231 1008/1551/9 -f 1003/1539/232 1015/1538/232 1014/1552/234 -f 1029/1553/233 1041/1576/233 1042/1554/229 -f 1022/1556/3 1034/1577/3 1035/1557/228 -f 1030/1555/229 1042/1554/229 1032/1559/9 -f 1023/1558/228 1035/1557/228 1036/1561/227 -f 1024/1562/227 1036/1561/227 1037/1563/4 -f 1025/1565/4 1037/1624/4 1038/1566/234 -f 1026/1567/234 1038/1566/234 1039/1568/232 -f 1019/1560/9 1032/1559/9 1031/1570/231 -f 1027/1569/232 1039/1568/232 1040/1572/5 -f 1020/1571/231 1031/1570/231 1033/1574/230 -f 1028/1573/5 1040/1572/5 1041/1576/233 -f 1021/1575/230 1033/1574/230 1034/1577/3 +f 388/571/237 389/1156/246 387/1157/247 +f 390/573/248 391/1158/249 389/1156/246 +f 392/575/245 393/1159/250 391/1158/249 +f 394/577/251 395/1160/252 393/1159/250 +f 396/579/232 397/1161/253 395/1160/252 +f 398/581/254 399/1162/255 397/1161/253 +f 399/1162/255 402/584/256 401/1163/257 +f 402/584/256 403/1164/258 401/1163/257 +f 404/972/231 405/1165/259 403/1166/258 +f 406/588/260 407/1167/261 405/1165/259 +f 408/591/262 409/1168/263 407/1167/261 +f 410/593/264 411/1169/265 409/1168/263 +f 412/595/235 413/1170/266 411/1169/265 +f 414/597/238 415/1171/267 413/1170/266 +f 416/565/244 417/1172/268 415/1171/267 +f 417/1172/268 388/571/237 387/1157/247 +f 429/582/244 444/1173/269 428/585/269 +f 422/566/254 437/1174/270 421/567/270 +f 430/580/238 445/1175/244 429/582/244 +f 423/596/232 438/1176/254 422/566/254 +f 431/578/235 446/1177/238 430/580/238 +f 424/594/251 439/1178/232 423/596/232 +f 432/576/264 447/1179/235 431/578/235 +f 425/592/245 440/1180/251 424/594/251 +f 433/574/262 448/1181/264 432/576/264 +f 426/590/248 441/1182/245 425/592/245 +f 434/572/260 449/1183/262 433/574/262 +f 427/589/237 442/1184/248 426/590/248 +f 420/568/256 435/1185/231 419/570/231 +f 419/570/231 450/1186/260 434/572/260 +f 428/585/269 443/1187/237 427/587/237 +f 421/567/270 436/1188/256 420/568/256 +f 452/1189/271 467/1190/272 451/1191/273 +f 467/1190/272 417/1192/268 387/1193/247 +f 466/1194/274 467/1195/272 482/1196/275 +f 466/1194/274 481/1197/276 465/1198/277 +f 465/1198/277 480/1199/278 464/1200/279 +f 463/1201/280 480/1202/278 479/1203/281 +f 462/1204/282 479/1205/281 478/1206/283 +f 461/1207/284 478/1208/283 477/1209/285 +f 460/1210/286 477/1211/285 476/1212/287 +f 460/1210/286 475/1213/288 459/1214/289 +f 458/1215/290 475/1216/288 474/1217/291 +f 458/1215/290 473/1218/292 457/1219/293 +f 457/1219/293 472/1220/294 456/1221/295 +f 456/1221/295 471/1222/296 455/1223/297 +f 454/1224/298 471/1225/296 470/1226/299 +f 453/1227/300 470/1228/299 469/1229/301 +f 453/1227/300 468/1230/302 452/1189/271 +f 389/1231/246 467/1195/272 387/1232/247 +f 391/1233/249 482/1234/275 389/1235/246 +f 480/1199/278 391/1236/249 393/1237/250 +f 479/1203/281 393/1238/250 395/1239/252 +f 397/1240/253 479/1205/281 395/1241/252 +f 399/1242/255 478/1208/283 397/1243/253 +f 476/1212/287 399/1244/255 401/1245/257 +f 475/1213/288 401/1246/257 403/1247/258 +f 405/1248/259 475/1216/288 403/1249/258 +f 407/1250/261 474/1251/291 405/1252/259 +f 409/1253/263 473/1254/292 407/1255/261 +f 471/1222/296 409/1256/263 411/1257/265 +f 470/1226/299 411/1258/265 413/1259/266 +f 469/1229/301 413/1260/266 415/1261/267 +f 468/1230/302 415/1262/267 417/1263/268 +f 515/598/237 497/659/269 516/627/269 +f 530/604/248 498/657/237 515/598/237 +f 523/628/231 489/644/256 524/626/256 +f 516/627/269 496/632/244 517/624/244 +f 524/626/256 488/646/270 525/622/270 +f 517/624/244 495/631/238 518/620/238 +f 525/622/270 487/648/254 526/618/254 +f 518/620/238 494/634/235 519/616/235 +f 526/618/254 486/650/232 527/614/232 +f 519/616/235 493/636/264 520/610/264 +f 527/614/232 485/651/251 528/612/251 +f 520/610/264 492/637/262 521/606/262 +f 528/612/251 484/653/245 529/608/245 +f 521/606/262 491/639/260 522/603/260 +f 529/608/245 483/655/248 530/604/248 +f 522/603/260 490/641/231 523/601/231 +f 540/1264/237 505/607/248 508/600/237 +f 539/1265/269 508/600/237 507/599/269 +f 542/1266/244 507/599/269 510/623/244 +f 544/1267/238 510/623/244 512/619/238 +f 546/1268/235 512/619/238 514/615/235 +f 534/1269/264 514/615/235 502/609/264 +f 533/1270/262 502/609/264 501/605/262 +f 536/1271/260 501/605/262 504/602/260 +f 538/1272/231 504/602/260 506/973/231 +f 541/1273/256 506/629/231 509/625/256 +f 543/1274/270 509/625/256 511/621/270 +f 545/1275/254 511/621/270 513/617/254 +f 532/1276/232 513/617/254 500/613/232 +f 531/1277/251 500/613/232 499/611/251 +f 535/1278/245 499/611/251 503/974/245 +f 537/1279/248 503/974/245 505/607/248 +f 578/1280/303 539/1265/304 577/1281/304 +f 563/1282/305 540/1264/303 578/1280/303 +f 564/1283/306 537/1279/305 563/1282/305 +f 564/1283/306 531/1277/307 535/1278/306 +f 565/1284/307 532/1276/233 531/1277/307 +f 566/1285/233 545/1275/308 532/1276/233 +f 567/1286/308 543/1274/309 545/1275/308 +f 568/1287/309 541/1273/310 543/1274/309 +f 570/1288/311 541/1273/310 569/1289/310 +f 570/1290/311 536/1271/312 538/1272/311 +f 571/1291/312 533/1270/313 536/1271/312 +f 572/1292/313 534/1269/314 533/1270/313 +f 574/1293/234 534/1269/314 573/1294/314 +f 574/1293/234 544/1267/315 546/1268/234 +f 575/1295/315 542/1266/316 544/1267/315 +f 576/1296/316 539/1265/304 542/1266/316 +f 558/1297/317 577/1281/318 576/1296/317 +f 555/1298/318 578/1280/319 577/1281/318 +f 556/1299/319 563/1282/320 578/1280/319 +f 553/1300/320 564/1283/321 563/1282/320 +f 564/1283/321 547/1301/322 565/1284/322 +f 565/1284/322 548/1302/323 566/1285/323 +f 566/1285/323 561/1303/324 567/1286/324 +f 567/1286/324 559/1304/325 568/1287/325 +f 559/1304/325 569/1289/326 568/1287/325 +f 557/1305/326 570/1288/327 569/1289/326 +f 570/1290/327 552/1306/328 571/1291/328 +f 571/1291/328 549/1307/329 572/1292/329 +f 572/1292/329 550/1308/330 573/1294/330 +f 550/1308/330 574/1293/331 573/1294/330 +f 574/1293/331 560/1309/332 575/1295/332 +f 575/1295/332 558/1297/317 576/1296/317 +f 452/1189/269 558/1297/244 453/1227/244 +f 451/1191/237 555/1298/269 452/1189/269 +f 466/1194/248 556/1299/237 451/1191/237 +f 465/1198/245 553/1300/248 466/1194/248 +f 464/1200/251 551/1310/245 465/1198/245 +f 463/1201/232 547/1301/251 464/1200/251 +f 462/1204/254 548/1302/232 463/1201/232 +f 461/1207/270 561/1303/254 462/1204/254 +f 460/1210/256 559/1304/270 461/1207/270 +f 459/1214/231 557/1305/256 460/1210/256 +f 458/1215/260 554/1311/231 459/1312/231 +f 457/1219/262 552/1306/260 458/1215/260 +f 456/1221/264 549/1307/262 457/1219/262 +f 455/1223/235 550/1308/264 456/1221/264 +f 454/1224/238 562/1313/235 455/1223/235 +f 453/1227/244 560/1309/238 454/1224/238 +f 584/1314/264 601/1315/333 585/1316/262 +f 592/1317/251 609/1318/334 593/1319/245 +f 585/1316/262 602/1320/335 586/1321/260 +f 593/1319/245 610/1322/336 594/1323/248 +f 586/1321/260 603/1324/337 587/1325/231 +f 594/1323/248 595/1326/338 579/1327/237 +f 587/1328/231 604/1329/339 588/1330/256 +f 588/1330/256 605/1331/340 589/1332/270 +f 589/1332/270 606/1333/341 590/1334/254 +f 590/1334/254 607/1335/342 591/1336/232 +f 648/1337/343 579/1327/237 595/1326/338 +f 591/1336/232 608/1338/344 592/1317/251 +f 623/1339/237 632/1340/244 624/1341/244 +f 630/1342/245 631/1343/237 623/1339/237 +f 628/1344/270 637/1345/232 629/1346/232 +f 626/1347/262 635/1348/231 627/1349/231 +f 624/1341/244 633/1350/235 625/1351/235 +f 629/1346/232 638/1352/245 630/1342/245 +f 627/1353/231 636/1354/270 628/1344/270 +f 625/1351/235 634/1355/262 626/1347/262 +f 647/1356/343 580/1357/269 579/1327/237 +f 597/1358/345 599/1359/346 600/1360/347 +f 642/1361/238 583/1362/235 582/1363/238 +f 641/1364/244 582/1363/238 581/1365/244 +f 640/1366/269 581/1365/244 580/1357/269 +f 639/1367/348 597/1358/345 646/1368/238 +f 643/1369/349 646/1368/238 645/1370/244 +f 596/1371/350 645/1370/244 644/1372/269 +f 596/1371/350 648/1337/343 595/1326/338 +f 658/1373/351 671/1374/237 657/1375/352 +f 659/1376/353 672/1377/269 658/1373/351 +f 660/1378/354 673/1379/244 659/1376/353 +f 661/1380/355 674/1381/238 660/1378/354 +f 654/1382/356 667/702/357 653/701/358 +f 662/1383/359 675/1384/235 661/1380/355 +f 655/1385/360 668/1386/251 654/1382/356 +f 663/1387/361 676/1388/264 662/1383/359 +f 656/1389/362 669/1390/245 655/1385/360 +f 664/1391/363 677/1392/262 663/1387/361 +f 657/1375/352 670/1393/248 656/1389/362 +f 665/699/364 666/1394/231 649/1395/365 +f 649/1395/365 678/1396/260 664/1391/363 +f 687/1397/244 682/949/238 681/952/244 +f 684/1398/343 680/954/269 689/956/343 +f 686/1399/238 683/1104/366 682/949/238 +f 688/1400/269 681/952/244 680/954/269 +f 700/788/367 655/1385/360 654/1382/356 +f 655/1385/360 698/790/368 656/1389/362 +f 656/1389/362 697/793/369 657/1375/352 +f 697/797/369 658/1373/351 657/1375/352 +f 696/705/370 659/1376/353 658/1373/351 +f 659/1376/353 694/1022/371 660/1378/354 +f 694/757/371 661/1380/355 660/1378/354 +f 693/760/372 662/1383/359 661/1380/355 +f 692/763/373 663/1387/361 662/1383/359 +f 690/769/374 649/1395/365 664/1391/363 +f 691/766/375 664/1391/363 663/1387/361 +f 704/1028/376 650/1401/376 665/699/364 +f 704/775/376 651/1402/377 650/1401/376 +f 703/779/377 652/1403/378 651/1402/377 +f 652/1403/378 701/1031/379 653/1404/358 +f 701/785/379 654/1382/356 653/701/358 +f 708/709/245 716/717/251 707/707/251 +f 707/707/251 720/720/357 706/728/357 +f 727/733/380 709/712/248 710/714/380 +f 718/722/248 731/735/380 719/723/380 +f 726/732/381 730/725/381 717/718/245 +f 751/1405/382 599/1359/346 639/1367/348 +f 606/1333/341 760/1406/383 607/1335/342 +f 607/1335/342 761/1407/384 608/1338/344 +f 761/1407/384 609/1318/334 608/1338/344 +f 601/1315/333 755/1408/385 602/1320/335 +f 600/1360/347 754/1409/386 601/1315/333 +f 762/1410/387 610/1322/336 609/1318/334 +f 643/1369/349 751/1405/382 639/1367/348 +f 763/1411/388 595/1326/338 610/1322/336 +f 603/1412/337 757/1413/389 604/1329/339 +f 599/1359/346 753/1414/390 600/1360/347 +f 595/1326/338 749/1415/391 596/1371/350 +f 757/1413/389 605/1331/340 604/1329/339 +f 602/1320/335 756/1416/392 603/1324/337 +f 749/1415/391 643/1369/349 596/1371/350 +f 605/1331/340 759/1417/393 606/1333/341 +f 746/1418/394 786/1419/395 747/1420/396 +f 787/1421/397 767/1422/398 766/1423/399 +f 789/1424/400 780/1425/401 787/1421/397 +f 791/1426/402 782/1427/403 789/1424/400 +f 792/1428/404 783/1429/405 791/1426/402 +f 778/1430/406 793/1431/407 786/1419/395 +f 793/1431/407 784/1432/408 792/1428/404 +f 777/1433/409 772/1434/410 770/1435/411 +f 779/1436/412 771/1437/413 776/1438/414 +f 764/1439/415 746/1440/394 779/1436/412 +f 769/1441/416 767/1442/398 780/1443/401 +f 769/1441/416 782/1444/403 771/1437/413 +f 773/1445/417 782/1444/403 783/1446/405 +f 775/1447/418 783/1446/405 784/1448/408 +f 764/1439/415 785/1449/419 778/1450/406 +f 775/1447/418 785/1449/419 776/1438/414 +f 765/1451/420 747/1452/396 786/1453/395 +f 768/1454/421 766/1455/399 790/1456/422 +f 768/1454/421 789/1457/400 787/1458/397 +f 772/1434/410 789/1457/400 770/1435/411 +f 774/1459/423 791/1460/402 772/1434/410 +f 765/1451/420 793/1461/407 777/1433/409 +f 774/1459/423 793/1461/407 792/1462/404 +f 806/814/229 808/818/424 807/809/229 +f 805/811/230 811/1463/425 804/1464/230 +f 810/810/425 813/1465/426 811/1463/425 +f 809/813/424 814/817/427 808/818/424 +f 812/822/426 817/1466/428 813/1465/426 +f 815/816/427 818/1040/429 814/817/427 +f 816/821/428 821/1467/430 817/1466/428 +f 819/820/429 822/825/431 818/1040/429 +f 829/1468/432 824/829/229 825/828/229 +f 831/1469/433 828/1470/432 829/1468/432 +f 839/1471/434 850/1472/435 838/1473/435 +f 834/1474/237 857/1475/436 845/1476/436 +f 836/1477/437 846/1478/438 835/1479/438 +f 843/1480/232 854/1481/439 842/1482/439 +f 840/1483/231 851/1484/434 839/1471/434 +f 837/1485/235 848/1486/437 836/1477/437 +f 844/1487/440 855/1488/232 843/1480/232 +f 841/1489/441 852/1490/231 840/1491/231 +f 838/1473/435 849/1492/235 837/1485/235 +f 845/1476/436 856/1493/440 844/1487/440 +f 835/1479/438 847/1494/237 834/1474/237 +f 842/1482/439 853/1495/441 841/1489/441 +f 868/1496/440 881/1497/436 869/1498/436 +f 861/1499/235 874/1500/435 862/1501/435 +f 869/1498/436 871/1502/237 858/1503/237 +f 862/1501/435 875/1504/434 863/1505/434 +f 863/1505/434 876/1506/231 864/1507/231 +f 864/1508/231 877/1509/441 865/1510/441 +f 865/1510/441 878/1511/439 866/1512/439 +f 858/1503/237 870/1513/438 859/1514/438 +f 866/1512/439 879/1515/232 867/1516/232 +f 859/1514/438 872/1517/437 860/1518/437 +f 867/1516/232 880/1519/440 868/1496/440 +f 860/1518/437 873/1520/235 861/1499/235 +f 896/870/231 919/891/434 895/868/434 +f 910/1521/437 935/878/235 911/1522/235 +f 903/1523/441 928/885/439 904/1524/439 +f 897/872/441 920/897/231 896/873/231 +f 911/1522/235 936/877/435 912/1525/435 +f 904/1524/439 929/890/232 905/1526/232 +f 898/875/439 921/895/441 897/872/441 +f 912/1525/435 937/882/434 913/1527/434 +f 891/862/438 915/884/237 890/861/237 +f 905/1526/232 930/889/440 906/1528/440 +f 899/856/232 922/900/439 898/875/439 +f 913/1527/434 927/881/231 902/1529/231 +f 892/864/437 914/883/438 891/862/438 +f 906/1528/440 931/894/436 907/1530/436 +f 900/858/440 923/876/232 899/856/232 +f 893/865/235 916/888/437 892/864/437 +f 907/1530/436 932/893/237 908/1531/237 +f 901/859/436 924/880/440 900/858/440 +f 894/867/435 917/887/235 893/865/235 +f 908/1532/237 933/899/438 909/1533/438 +f 890/861/237 925/879/436 901/859/436 +f 895/868/434 918/892/435 894/867/435 +f 909/1533/438 934/898/437 910/1521/437 +f 902/1529/231 926/886/441 903/1523/441 +f 970/1534/235 977/1535/244 969/1536/244 +f 975/1537/245 982/1538/232 974/1539/232 +f 973/1540/270 980/1541/231 972/1542/231 +f 971/1543/262 978/1544/235 970/1534/235 +f 969/1536/244 976/1545/237 968/1546/237 +f 968/1546/237 983/1547/245 975/1537/245 +f 974/1539/232 981/1548/270 973/1540/270 +f 972/1549/231 979/1550/262 971/1543/262 +f 1000/1551/434 1011/1552/435 999/1553/435 +f 995/1554/237 1018/1555/436 1006/1556/436 +f 997/1557/437 1007/1558/438 996/1559/438 +f 1004/1560/232 1015/1561/439 1003/1562/439 +f 1001/1563/231 1012/1564/434 1000/1551/434 +f 998/1565/235 1009/1566/437 997/1557/437 +f 1005/1567/440 1016/1568/232 1004/1560/232 +f 1002/1569/441 1013/1570/231 1001/1571/231 +f 999/1553/435 1010/1572/235 998/1565/235 +f 1006/1556/436 1017/1573/440 1005/1567/440 +f 996/1559/438 1008/1574/237 995/1554/237 +f 1003/1562/439 1014/1575/441 1002/1569/441 +f 1029/1576/440 1042/1577/436 1030/1578/436 +f 1022/1579/235 1035/1580/435 1023/1581/435 +f 1030/1578/436 1032/1582/237 1019/1583/237 +f 1023/1581/435 1036/1584/434 1024/1585/434 +f 1024/1585/434 1037/1586/231 1025/1587/231 +f 1025/1588/231 1038/1589/441 1026/1590/441 +f 1026/1590/441 1039/1591/439 1027/1592/439 +f 1019/1583/237 1031/1593/438 1020/1594/438 +f 1027/1592/439 1040/1595/232 1028/1596/232 +f 1020/1594/438 1033/1597/437 1021/1598/437 +f 1028/1596/232 1041/1599/440 1029/1576/440 +f 1021/1598/437 1034/1600/235 1022/1579/235 +f 388/571/237 390/573/248 389/1156/246 +f 390/573/248 392/575/245 391/1158/249 +f 392/575/245 394/577/251 393/1159/250 +f 394/577/251 396/579/232 395/1160/252 +f 396/579/232 398/581/254 397/1161/253 +f 398/581/254 400/583/270 399/1162/255 +f 399/1162/255 400/583/270 402/584/256 +f 402/584/256 404/586/231 403/1164/258 +f 404/972/231 406/588/260 405/1165/259 +f 406/588/260 408/591/262 407/1167/261 +f 408/591/262 410/593/264 409/1168/263 +f 410/593/264 412/595/235 411/1169/265 +f 412/595/235 414/597/238 413/1170/266 +f 414/597/238 416/565/244 415/1171/267 +f 416/565/244 418/569/269 417/1172/268 +f 417/1172/268 418/569/269 388/571/237 +f 429/582/244 445/1175/244 444/1173/269 +f 422/566/254 438/1176/254 437/1174/270 +f 430/580/238 446/1177/238 445/1175/244 +f 423/596/232 439/1178/232 438/1176/254 +f 431/578/235 447/1179/235 446/1177/238 +f 424/594/251 440/1180/251 439/1178/232 +f 432/576/264 448/1181/264 447/1179/235 +f 425/592/245 441/1182/245 440/1180/251 +f 433/574/262 449/1183/262 448/1181/264 +f 426/590/248 442/1184/248 441/1182/245 +f 434/572/260 450/1186/260 449/1183/262 +f 427/589/237 443/1601/237 442/1184/248 +f 420/568/256 436/1188/256 435/1185/231 +f 419/570/231 435/1185/231 450/1186/260 +f 428/585/269 444/1173/269 443/1187/237 +f 421/567/270 437/1174/270 436/1188/256 +f 452/1189/271 468/1602/302 467/1190/272 +f 467/1190/272 468/1602/302 417/1192/268 +f 466/1194/274 451/1191/273 467/1195/272 +f 466/1194/274 482/1234/275 481/1197/276 +f 465/1198/277 481/1603/276 480/1199/278 +f 463/1201/280 464/1200/279 480/1202/278 +f 462/1204/282 463/1201/280 479/1205/281 +f 461/1207/284 462/1204/282 478/1208/283 +f 460/1210/286 461/1207/284 477/1211/285 +f 460/1210/286 476/1604/287 475/1213/288 +f 458/1215/290 459/1312/289 475/1216/288 +f 458/1215/290 474/1251/291 473/1218/292 +f 457/1219/293 473/1254/292 472/1220/294 +f 456/1221/295 472/1605/294 471/1222/296 +f 454/1224/298 455/1223/297 471/1225/296 +f 453/1227/300 454/1224/298 470/1228/299 +f 453/1227/300 469/1606/301 468/1230/302 +f 389/1231/246 482/1196/275 467/1195/272 +f 391/1233/249 481/1197/276 482/1234/275 +f 480/1199/278 481/1603/276 391/1236/249 +f 479/1203/281 480/1202/278 393/1238/250 +f 397/1240/253 478/1206/283 479/1205/281 +f 399/1242/255 477/1209/285 478/1208/283 +f 476/1212/287 477/1211/285 399/1244/255 +f 475/1213/288 476/1604/287 401/1246/257 +f 405/1248/259 474/1217/291 475/1216/288 +f 407/1250/261 473/1218/292 474/1251/291 +f 409/1253/263 472/1220/294 473/1254/292 +f 471/1222/296 472/1605/294 409/1256/263 +f 470/1226/299 471/1225/296 411/1258/265 +f 469/1229/301 470/1228/299 413/1260/266 +f 468/1230/302 469/1606/301 415/1262/267 +f 515/598/237 498/657/237 497/659/269 +f 530/604/248 483/655/248 498/657/237 +f 523/628/231 490/642/231 489/644/256 +f 516/627/269 497/659/269 496/632/244 +f 524/626/256 489/644/256 488/646/270 +f 517/624/244 496/632/244 495/631/238 +f 525/622/270 488/646/270 487/648/254 +f 518/620/238 495/631/238 494/634/235 +f 526/618/254 487/648/254 486/650/232 +f 519/616/235 494/634/235 493/636/264 +f 527/614/232 486/650/232 485/651/251 +f 520/610/264 493/636/264 492/637/262 +f 528/612/251 485/651/251 484/653/245 +f 521/606/262 492/637/262 491/639/260 +f 529/608/245 484/653/245 483/655/248 +f 522/603/260 491/639/260 490/641/231 +f 540/1264/237 537/1279/248 505/607/248 +f 539/1265/269 540/1264/237 508/600/237 +f 542/1266/244 539/1265/269 507/599/269 +f 544/1267/238 542/1266/244 510/623/244 +f 546/1268/235 544/1267/238 512/619/238 +f 534/1269/264 546/1268/235 514/615/235 +f 533/1270/262 534/1269/264 502/609/264 +f 536/1271/260 533/1270/262 501/605/262 +f 538/1272/231 536/1271/260 504/602/260 +f 541/1273/256 538/1607/231 506/629/231 +f 543/1274/270 541/1273/256 509/625/256 +f 545/1275/254 543/1274/270 511/621/270 +f 532/1276/232 545/1275/254 513/617/254 +f 531/1277/251 532/1276/232 500/613/232 +f 535/1278/245 531/1277/251 499/611/251 +f 537/1279/248 535/1278/245 503/974/245 +f 578/1280/303 540/1264/303 539/1265/304 +f 563/1282/305 537/1279/305 540/1264/303 +f 564/1283/306 535/1278/306 537/1279/305 +f 564/1283/306 565/1284/307 531/1277/307 +f 565/1284/307 566/1285/233 532/1276/233 +f 566/1285/233 567/1286/308 545/1275/308 +f 567/1286/308 568/1287/309 543/1274/309 +f 568/1287/309 569/1289/310 541/1273/310 +f 570/1288/311 538/1607/311 541/1273/310 +f 570/1290/311 571/1291/312 536/1271/312 +f 571/1291/312 572/1292/313 533/1270/313 +f 572/1292/313 573/1294/314 534/1269/314 +f 574/1293/234 546/1268/234 534/1269/314 +f 574/1293/234 575/1295/315 544/1267/315 +f 575/1295/315 576/1296/316 542/1266/316 +f 576/1296/316 577/1281/304 539/1265/304 +f 558/1297/317 555/1298/318 577/1281/318 +f 555/1298/318 556/1299/319 578/1280/319 +f 556/1299/319 553/1300/320 563/1282/320 +f 553/1300/320 551/1310/321 564/1283/321 +f 564/1283/321 551/1310/321 547/1301/322 +f 565/1284/322 547/1301/322 548/1302/323 +f 566/1285/323 548/1302/323 561/1303/324 +f 567/1286/324 561/1303/324 559/1304/325 +f 559/1304/325 557/1305/326 569/1289/326 +f 557/1305/326 554/1608/327 570/1288/327 +f 570/1290/327 554/1311/327 552/1306/328 +f 571/1291/328 552/1306/328 549/1307/329 +f 572/1292/329 549/1307/329 550/1308/330 +f 550/1308/330 562/1313/331 574/1293/331 +f 574/1293/331 562/1313/331 560/1309/332 +f 575/1295/332 560/1309/332 558/1297/317 +f 452/1189/269 555/1298/269 558/1297/244 +f 451/1191/237 556/1299/237 555/1298/269 +f 466/1194/248 553/1300/248 556/1299/237 +f 465/1198/245 551/1310/245 553/1300/248 +f 464/1200/251 547/1301/251 551/1310/245 +f 463/1201/232 548/1302/232 547/1301/251 +f 462/1204/254 561/1303/254 548/1302/232 +f 461/1207/270 559/1304/270 561/1303/254 +f 460/1210/256 557/1305/256 559/1304/270 +f 459/1214/231 554/1608/231 557/1305/256 +f 458/1215/260 552/1306/260 554/1311/231 +f 457/1219/262 549/1307/262 552/1306/260 +f 456/1221/264 550/1308/264 549/1307/262 +f 455/1223/235 562/1313/235 550/1308/264 +f 454/1224/238 560/1309/238 562/1313/235 +f 453/1227/244 558/1297/244 560/1309/238 +f 584/1314/264 600/1360/347 601/1315/333 +f 592/1317/251 608/1338/344 609/1318/334 +f 585/1316/262 601/1315/333 602/1320/335 +f 593/1319/245 609/1318/334 610/1322/336 +f 586/1321/260 602/1320/335 603/1324/337 +f 594/1323/248 610/1322/336 595/1326/338 +f 587/1328/231 603/1412/337 604/1329/339 +f 588/1330/256 604/1329/339 605/1331/340 +f 589/1332/270 605/1331/340 606/1333/341 +f 590/1334/254 606/1333/341 607/1335/342 +f 648/1337/343 647/1356/343 579/1327/237 +f 591/1336/232 607/1335/342 608/1338/344 +f 623/1339/237 631/1343/237 632/1340/244 +f 630/1342/245 638/1352/245 631/1343/237 +f 628/1344/270 636/1354/270 637/1345/232 +f 626/1347/262 634/1355/262 635/1348/231 +f 624/1341/244 632/1340/244 633/1350/235 +f 629/1346/232 637/1345/232 638/1352/245 +f 627/1353/231 635/1609/231 636/1354/270 +f 625/1351/235 633/1350/235 634/1355/262 +f 647/1356/343 640/1366/269 580/1357/269 +f 600/1360/347 584/1314/264 597/1358/345 +f 584/1314/264 583/1362/235 598/1610/345 +f 598/1610/345 597/1358/345 584/1314/264 +f 642/1361/238 598/1610/345 583/1362/235 +f 641/1364/244 642/1361/238 582/1363/238 +f 640/1366/269 641/1364/244 581/1365/244 +f 639/1367/348 599/1359/346 597/1358/345 +f 643/1369/349 639/1367/348 646/1368/238 +f 596/1371/350 643/1369/349 645/1370/244 +f 596/1371/350 644/1372/269 648/1337/343 +f 658/1373/351 672/1377/269 671/1374/237 +f 659/1376/353 673/1379/244 672/1377/269 +f 660/1378/354 674/1381/238 673/1379/244 +f 661/1380/355 675/1384/235 674/1381/238 +f 654/1382/356 668/1386/251 667/702/357 +f 662/1383/359 676/1388/264 675/1384/235 +f 655/1385/360 669/1390/245 668/1386/251 +f 663/1387/361 677/1392/262 676/1388/264 +f 656/1389/362 670/1393/248 669/1390/245 +f 664/1391/363 678/1396/260 677/1392/262 +f 657/1375/352 671/1374/237 670/1393/248 +f 665/699/364 679/997/442 666/1394/231 +f 649/1395/365 666/1394/231 678/1396/260 +f 687/1397/244 686/1399/238 682/949/238 +f 684/1398/343 688/1400/269 680/954/269 +f 686/1399/238 685/1611/366 683/1104/366 +f 688/1400/269 687/1397/244 681/952/244 +f 700/788/367 699/787/443 655/1385/360 +f 655/1385/360 699/791/443 698/790/368 +f 656/1389/362 698/794/368 697/793/369 +f 697/797/369 696/796/370 658/1373/351 +f 696/705/370 695/1001/444 659/1376/353 +f 659/1376/353 695/754/444 694/1022/371 +f 694/757/371 693/1023/372 661/1380/355 +f 693/760/372 692/1024/373 662/1383/359 +f 692/763/373 691/1025/375 663/1387/361 +f 690/769/374 705/1027/445 649/1395/365 +f 691/766/375 690/1026/374 664/1391/363 +f 665/699/364 649/1395/365 705/772/445 +f 705/772/445 704/1028/376 665/699/364 +f 704/775/376 703/1029/377 651/1402/377 +f 703/779/377 702/778/378 652/1403/378 +f 652/1403/378 702/781/378 701/1031/379 +f 701/785/379 700/784/367 654/1382/356 +f 708/709/245 717/718/245 716/717/251 +f 707/707/251 716/717/251 720/720/357 +f 727/733/380 726/732/381 709/712/248 +f 718/722/248 730/725/381 731/735/380 +f 708/709/245 709/712/248 726/732/381 +f 730/725/381 718/722/248 717/718/245 +f 708/709/245 726/732/381 717/718/245 +f 751/1405/382 752/1612/446 599/1359/346 +f 606/1333/341 759/1417/393 760/1406/383 +f 607/1335/342 760/1406/383 761/1407/384 +f 761/1407/384 762/1410/387 609/1318/334 +f 601/1315/333 754/1409/386 755/1408/385 +f 600/1360/347 753/1414/390 754/1409/386 +f 762/1410/387 763/1411/388 610/1322/336 +f 643/1369/349 750/1613/447 751/1405/382 +f 763/1411/388 748/1614/448 595/1326/338 +f 603/1412/337 756/1615/392 757/1413/389 +f 599/1359/346 752/1612/446 753/1414/390 +f 595/1326/338 748/1614/448 749/1415/391 +f 757/1413/389 758/1616/449 605/1331/340 +f 602/1320/335 755/1408/385 756/1416/392 +f 749/1415/391 750/1613/447 643/1369/349 +f 605/1331/340 758/1616/449 759/1417/393 +f 746/1418/394 778/1430/406 786/1419/395 +f 787/1421/397 780/1425/401 767/1422/398 +f 789/1424/400 782/1427/403 780/1425/401 +f 791/1426/402 783/1429/405 782/1427/403 +f 792/1428/404 784/1432/408 783/1429/405 +f 778/1430/406 785/1617/419 793/1431/407 +f 793/1431/407 785/1617/419 784/1432/408 +f 790/1456/422 788/1618/450 770/1435/411 +f 788/1618/450 765/1451/420 777/1433/409 +f 777/1433/409 774/1459/423 772/1434/410 +f 788/1618/450 777/1433/409 770/1435/411 +f 770/1435/411 768/1454/421 790/1456/422 +f 776/1438/414 764/1439/415 779/1436/412 +f 779/1436/412 781/1619/451 771/1437/413 +f 781/1619/451 769/1441/416 771/1437/413 +f 771/1437/413 773/1445/417 776/1438/414 +f 773/1445/417 775/1447/418 776/1438/414 +f 764/1439/415 778/1450/406 746/1440/394 +f 769/1441/416 781/1619/451 767/1442/398 +f 769/1441/416 780/1443/401 782/1444/403 +f 773/1445/417 771/1437/413 782/1444/403 +f 775/1447/418 773/1445/417 783/1446/405 +f 764/1439/415 776/1438/414 785/1449/419 +f 775/1447/418 784/1448/408 785/1449/419 +f 765/1451/420 788/1618/450 747/1452/396 +f 768/1454/421 787/1458/397 766/1455/399 +f 768/1454/421 770/1435/411 789/1457/400 +f 772/1434/410 791/1460/402 789/1457/400 +f 774/1459/423 792/1462/404 791/1460/402 +f 765/1451/420 786/1453/395 793/1461/407 +f 774/1459/423 777/1433/409 793/1461/407 +f 806/814/229 809/813/424 808/818/424 +f 805/811/230 810/810/425 811/1463/425 +f 810/810/425 812/822/426 813/1465/426 +f 809/813/424 815/816/427 814/817/427 +f 812/822/426 816/821/428 817/1466/428 +f 815/816/427 819/820/429 818/1040/429 +f 816/821/428 820/826/430 821/1467/430 +f 819/820/429 823/824/431 822/825/431 +f 829/1468/432 828/1470/432 824/829/229 +f 831/1469/433 830/1620/433 828/1470/432 +f 839/1471/434 851/1484/434 850/1472/435 +f 834/1474/237 847/1494/237 857/1475/436 +f 836/1477/437 848/1486/437 846/1478/438 +f 843/1480/232 855/1488/232 854/1481/439 +f 840/1483/231 852/1621/231 851/1484/434 +f 837/1485/235 849/1492/235 848/1486/437 +f 844/1487/440 856/1493/440 855/1488/232 +f 841/1489/441 853/1495/441 852/1490/231 +f 838/1473/435 850/1472/435 849/1492/235 +f 845/1476/436 857/1475/436 856/1493/440 +f 835/1479/438 846/1478/438 847/1494/237 +f 842/1482/439 854/1481/439 853/1495/441 +f 868/1496/440 880/1519/440 881/1497/436 +f 861/1499/235 873/1520/235 874/1500/435 +f 869/1498/436 881/1497/436 871/1502/237 +f 862/1501/435 874/1500/435 875/1504/434 +f 863/1505/434 875/1504/434 876/1506/231 +f 864/1508/231 876/1622/231 877/1509/441 +f 865/1510/441 877/1509/441 878/1511/439 +f 858/1503/237 871/1502/237 870/1513/438 +f 866/1512/439 878/1511/439 879/1515/232 +f 859/1514/438 870/1513/438 872/1517/437 +f 867/1516/232 879/1515/232 880/1519/440 +f 860/1518/437 872/1517/437 873/1520/235 +f 896/870/231 920/1089/231 919/891/434 +f 910/1521/437 934/898/437 935/878/235 +f 903/1523/441 926/886/441 928/885/439 +f 897/872/441 921/895/441 920/897/231 +f 911/1522/235 935/878/235 936/877/435 +f 904/1524/439 928/885/439 929/890/232 +f 898/875/439 922/900/439 921/895/441 +f 912/1525/435 936/877/435 937/882/434 +f 891/862/438 914/883/438 915/884/237 +f 905/1526/232 929/890/232 930/889/440 +f 899/856/232 923/876/232 922/900/439 +f 913/1527/434 937/882/434 927/881/231 +f 892/864/437 916/888/437 914/883/438 +f 906/1528/440 930/889/440 931/894/436 +f 900/858/440 924/880/440 923/876/232 +f 893/865/235 917/887/235 916/888/437 +f 907/1530/436 931/894/436 932/893/237 +f 901/859/436 925/879/436 924/880/440 +f 894/867/435 918/892/435 917/887/235 +f 908/1532/237 932/896/237 933/899/438 +f 890/861/237 915/884/237 925/879/436 +f 895/868/434 919/891/434 918/892/435 +f 909/1533/438 933/899/438 934/898/437 +f 902/1529/231 927/881/231 926/886/441 +f 970/1534/235 978/1544/235 977/1535/244 +f 975/1537/245 983/1547/245 982/1538/232 +f 973/1540/270 981/1548/270 980/1541/231 +f 971/1543/262 979/1550/262 978/1544/235 +f 969/1536/244 977/1535/244 976/1545/237 +f 968/1546/237 976/1545/237 983/1547/245 +f 974/1539/232 982/1538/232 981/1548/270 +f 972/1549/231 980/1623/231 979/1550/262 +f 1000/1551/434 1012/1564/434 1011/1552/435 +f 995/1554/237 1008/1574/237 1018/1555/436 +f 997/1557/437 1009/1566/437 1007/1558/438 +f 1004/1560/232 1016/1568/232 1015/1561/439 +f 1001/1563/231 1013/1624/231 1012/1564/434 +f 998/1565/235 1010/1572/235 1009/1566/437 +f 1005/1567/440 1017/1573/440 1016/1568/232 +f 1002/1569/441 1014/1575/441 1013/1570/231 +f 999/1553/435 1011/1552/435 1010/1572/235 +f 1006/1556/436 1018/1555/436 1017/1573/440 +f 996/1559/438 1007/1558/438 1008/1574/237 +f 1003/1562/439 1015/1561/439 1014/1575/441 +f 1029/1576/440 1041/1599/440 1042/1577/436 +f 1022/1579/235 1034/1600/235 1035/1580/435 +f 1030/1578/436 1042/1577/436 1032/1582/237 +f 1023/1581/435 1035/1580/435 1036/1584/434 +f 1024/1585/434 1036/1584/434 1037/1586/231 +f 1025/1588/231 1037/1625/231 1038/1589/441 +f 1026/1590/441 1038/1589/441 1039/1591/439 +f 1019/1583/237 1032/1582/237 1031/1593/438 +f 1027/1592/439 1039/1591/439 1040/1595/232 +f 1020/1594/438 1031/1593/438 1033/1597/437 +f 1028/1596/232 1040/1595/232 1041/1599/440 +f 1021/1598/437 1033/1597/437 1034/1600/235 diff --git a/src/main/resources/assets/hbm/models/weapons/hangman.obj b/src/main/resources/assets/hbm/models/weapons/hangman.obj new file mode 100644 index 000000000..8ab6f66f8 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/hangman.obj @@ -0,0 +1,5413 @@ +# Blender v2.79 (sub 0) OBJ File: 'hangman.blend' +# www.blender.org +o Bullets +v 0.176776 0.176778 -2.231359 +v 0.000000 0.250001 -2.231359 +v 0.000000 -0.249999 -2.231359 +v 1.500000 -1.249999 -2.231359 +v 1.250000 -1.499999 -2.231359 +v 1.500000 -1.749999 -2.231359 +v 1.237437 -2.383882 -2.231359 +v 0.883884 -2.383882 -2.231359 +v 0.883884 -2.737436 -2.231360 +v 0.250000 -2.999999 -2.231360 +v 0.000000 -2.749999 -2.231360 +v -0.250000 -2.999999 -2.231360 +v -0.883883 -2.383882 -2.231359 +v -1.237436 -2.383883 -2.231359 +v -1.237437 -2.737436 -2.231360 +v -1.500000 -1.249999 -2.231359 +v -1.676777 -1.323223 -2.231359 +v -1.750000 -1.499999 -2.231359 +v 0.883884 -0.262562 -2.231359 +v 0.883884 -0.616115 -2.231359 +v 1.237437 -0.616115 -2.231359 +v -0.883884 -0.616116 -2.231359 +v -0.883884 -0.262562 -2.231359 +v -1.237437 -0.262562 -2.231359 +v -0.176777 0.176778 -2.231359 +v -0.250000 0.000001 -2.231359 +v -0.176777 -0.176776 -2.231359 +v 0.176776 -0.176776 -2.231359 +v 0.250000 0.000001 -2.231359 +v 1.750000 -1.499999 -2.231359 +v 1.676777 -1.323222 -2.231359 +v 1.323224 -1.323222 -2.231359 +v 1.323223 -1.676775 -2.231359 +v 1.676777 -1.676775 -2.231359 +v 1.237437 -2.737436 -2.231360 +v 1.310661 -2.560659 -2.231359 +v 1.060660 -2.310659 -2.231359 +v 0.810660 -2.560659 -2.231359 +v 1.060660 -2.810659 -2.231360 +v 0.000000 -3.249999 -2.231360 +v 0.176777 -3.176776 -2.231360 +v 0.176777 -2.823222 -2.231360 +v -0.176776 -2.823222 -2.231360 +v -0.176776 -3.176776 -2.231360 +v -1.060660 -2.810659 -2.231360 +v -0.883883 -2.737436 -2.231360 +v -0.810660 -2.560659 -2.231359 +v -1.060660 -2.310659 -2.231359 +v -1.310660 -2.560659 -2.231359 +v -1.676777 -1.676776 -2.231359 +v -1.500000 -1.749999 -2.231359 +v -1.323223 -1.676776 -2.231359 +v -1.250000 -1.499999 -2.231359 +v -1.323223 -1.323223 -2.231359 +v 1.237437 -0.262562 -2.231359 +v 1.060660 -0.189338 -2.231359 +v 0.810660 -0.439338 -2.231359 +v 1.060660 -0.689339 -2.231359 +v 1.310660 -0.439339 -2.231359 +v -1.310660 -0.439339 -2.231359 +v -1.237437 -0.616116 -2.231359 +v -1.060660 -0.689339 -2.231359 +v -0.810660 -0.439339 -2.231359 +v -1.060660 -0.189339 -2.231359 +v 1.435660 -0.439338 -2.668859 +v -0.265166 0.265166 -2.668859 +v 0.000000 0.375001 -2.668859 +v 0.265165 0.265166 -2.668859 +v 0.375000 0.000001 -2.668859 +v 0.265165 -0.265164 -2.668859 +v 0.000000 -0.374999 -2.668859 +v -0.265166 -0.265164 -2.668859 +v -0.375000 0.000001 -2.668859 +v 1.765166 -1.234834 -2.668859 +v 1.875001 -1.499999 -2.668859 +v 1.060660 -0.064338 -2.668859 +v 1.325826 -0.174173 -2.668859 +v 1.500000 -1.124999 -2.668859 +v 1.234835 -1.765164 -2.668859 +v 1.125000 -1.499999 -2.668859 +v 0.685660 -0.439339 -2.668859 +v 0.795495 -0.174173 -2.668859 +v 1.500000 -1.874999 -2.668859 +v 1.234835 -1.234834 -2.668859 +v 1.765165 -1.765164 -2.668859 +v 1.060660 -2.185659 -2.668859 +v 1.325826 -2.295494 -2.668859 +v 1.060661 -2.935659 -2.668860 +v 0.685660 -2.560659 -2.668859 +v 0.795496 -2.825824 -2.668860 +v 0.795495 -2.295494 -2.668859 +v 1.435661 -2.560659 -2.668859 +v 1.325826 -2.825825 -2.668860 +v 0.795495 -0.704504 -2.668859 +v 0.375000 -2.999999 -2.668860 +v 0.265165 -3.265164 -2.668860 +v 0.000000 -3.374999 -2.668860 +v -0.265165 -2.734834 -2.668860 +v 0.000000 -2.624999 -2.668859 +v -0.375000 -2.999999 -2.668860 +v 0.265165 -2.734834 -2.668860 +v -0.265165 -3.265164 -2.668860 +v 1.325825 -0.704504 -2.668859 +v -0.685660 -2.560659 -2.668859 +v -0.795495 -2.825825 -2.668860 +v 1.060660 -0.814339 -2.668859 +v -1.435660 -2.560660 -2.668859 +v -0.795495 -2.295494 -2.668859 +v -1.060660 -2.185659 -2.668859 +v -1.325825 -2.295495 -2.668859 +v -1.060660 -2.935660 -2.668860 +v -1.325825 -2.825825 -2.668860 +v -1.500000 -1.124999 -2.668859 +v -1.234835 -1.234834 -2.668859 +v -1.765165 -1.765164 -2.668859 +v -1.875000 -1.499999 -2.668859 +v -1.500000 -1.874999 -2.668859 +v -1.125000 -1.499999 -2.668859 +v -1.234835 -1.765164 -2.668859 +v -1.765165 -1.234834 -2.668859 +v -1.060661 -0.064339 -2.668859 +v -1.060660 -0.814339 -2.668859 +v -0.685660 -0.439339 -2.668859 +v -0.795495 -0.704504 -2.668859 +v -1.325826 -0.704504 -2.668859 +v -0.795496 -0.174174 -2.668859 +v -1.435661 -0.439339 -2.668859 +v -1.325826 -0.174174 -2.668859 +vt 0.840081 0.570632 +vt 0.834008 0.572491 +vt 0.834008 0.557621 +vt 0.827935 0.570632 +vt 0.827935 0.559480 +vt 0.840081 0.559480 +vt 0.825911 0.565056 +vt 0.834008 0.557621 +vt 0.842105 0.565056 +vt 0.825911 0.565056 +vt 0.834008 0.557621 +vt 0.842105 0.565056 +vt 0.834008 0.557621 +vt 0.842105 0.565056 +vt 0.834008 0.572491 +vt 0.842105 0.565056 +vt 0.840081 0.570632 +vt 0.834008 0.572491 +vt 0.825911 0.565056 +vt 0.834008 0.557621 +vt 0.842105 0.565056 +vt 0.834008 0.557621 +vt 0.842105 0.565056 +vt 0.834008 0.572491 +vt 0.827935 0.570632 +vt 0.825911 0.565056 +vt 0.827935 0.559480 +vt 0.840081 0.559480 +vt 0.842105 0.565056 +vt 0.840081 0.570632 +vt 0.834008 0.572491 +vt 0.825911 0.565056 +vt 0.834008 0.557621 +vt 0.842105 0.565056 +vt 0.834008 0.572491 +vt 0.827935 0.570632 +vt 0.827935 0.559480 +vt 0.840081 0.559480 +vt 0.840081 0.570632 +vt 0.834008 0.572491 +vt 0.827935 0.570632 +vt 0.827935 0.559480 +vt 0.840081 0.559480 +vt 0.840081 0.570632 +vt 0.827935 0.570632 +vt 0.825911 0.565056 +vt 0.827935 0.559480 +vt 0.840081 0.559480 +vt 0.840081 0.570632 +vt 0.827935 0.570632 +vt 0.825911 0.565056 +vt 0.827935 0.559480 +vt 0.834008 0.557621 +vt 0.840081 0.559480 +vt 0.834008 0.572491 +vt 0.827935 0.570632 +vt 0.827935 0.559480 +vt 0.840081 0.559480 +vt 0.840081 0.570632 +vt 0.827935 0.570632 +vt 0.825911 0.565056 +vt 0.827935 0.559480 +vt 0.840081 0.559480 +vt 0.840081 0.570632 +vt 0.809717 0.520446 +vt 0.825911 0.513011 +vt 0.825911 0.520446 +vt 0.809717 0.565056 +vt 0.825911 0.557621 +vt 0.825911 0.565056 +vt 0.825911 0.572491 +vt 0.809717 0.572491 +vt 0.809717 0.520446 +vt 0.825911 0.513011 +vt 0.825911 0.520446 +vt 0.825911 0.527881 +vt 0.809717 0.527881 +vt 0.825911 0.535316 +vt 0.809717 0.535316 +vt 0.825911 0.542751 +vt 0.809717 0.542751 +vt 0.809717 0.550186 +vt 0.825911 0.550186 +vt 0.809717 0.557621 +vt 0.809717 0.565056 +vt 0.825911 0.572491 +vt 0.809717 0.572491 +vt 0.809717 0.565056 +vt 0.825911 0.572491 +vt 0.809717 0.572491 +vt 0.809717 0.557621 +vt 0.825911 0.565056 +vt 0.809717 0.535316 +vt 0.825911 0.542751 +vt 0.809717 0.542751 +vt 0.809717 0.550186 +vt 0.825911 0.557621 +vt 0.809717 0.557621 +vt 0.809717 0.527881 +vt 0.825911 0.520446 +vt 0.825911 0.527881 +vt 0.825911 0.550186 +vt 0.809717 0.550186 +vt 0.825911 0.557621 +vt 0.809717 0.513011 +vt 0.809717 0.520446 +vt 0.825911 0.535316 +vt 0.809717 0.550186 +vt 0.825911 0.557621 +vt 0.809717 0.557621 +vt 0.809717 0.520446 +vt 0.825911 0.513011 +vt 0.825911 0.520446 +vt 0.809717 0.535316 +vt 0.825911 0.527881 +vt 0.825911 0.535316 +vt 0.809717 0.527881 +vt 0.825911 0.542751 +vt 0.809717 0.542751 +vt 0.825911 0.550186 +vt 0.825911 0.565056 +vt 0.809717 0.565056 +vt 0.825911 0.572491 +vt 0.809717 0.572491 +vt 0.809717 0.542751 +vt 0.825911 0.550186 +vt 0.809717 0.557621 +vt 0.825911 0.565056 +vt 0.809717 0.565056 +vt 0.825911 0.572491 +vt 0.809717 0.572491 +vt 0.809717 0.535316 +vt 0.825911 0.527881 +vt 0.825911 0.535316 +vt 0.825911 0.542751 +vt 0.809717 0.542751 +vt 0.809717 0.527881 +vt 0.825911 0.520446 +vt 0.825911 0.550186 +vt 0.809717 0.550186 +vt 0.809717 0.520446 +vt 0.825911 0.513011 +vt 0.825911 0.557621 +vt 0.809717 0.527881 +vt 0.825911 0.527881 +vt 0.809717 0.550186 +vt 0.825911 0.557621 +vt 0.809717 0.557621 +vt 0.809717 0.535316 +vt 0.825911 0.542751 +vt 0.809717 0.520446 +vt 0.825911 0.513011 +vt 0.825911 0.520446 +vt 0.809717 0.542751 +vt 0.825911 0.550186 +vt 0.809717 0.535316 +vt 0.825911 0.542751 +vt 0.825911 0.527881 +vt 0.825911 0.535316 +vt 0.809717 0.527881 +vt 0.825911 0.565056 +vt 0.809717 0.565056 +vt 0.825911 0.572491 +vt 0.809717 0.572491 +vt 0.825911 0.565056 +vt 0.809717 0.527881 +vt 0.825911 0.535316 +vt 0.809717 0.535316 +vt 0.809717 0.565056 +vt 0.825911 0.572491 +vt 0.809717 0.572491 +vt 0.809717 0.557621 +vt 0.825911 0.565056 +vt 0.825911 0.520446 +vt 0.825911 0.527881 +vt 0.825911 0.542751 +vt 0.809717 0.542751 +vt 0.809717 0.550186 +vt 0.825911 0.557621 +vt 0.809717 0.520446 +vt 0.825911 0.513011 +vt 0.825911 0.550186 +vt 0.809717 0.520446 +vt 0.825911 0.513011 +vt 0.825911 0.520446 +vt 0.809717 0.550186 +vt 0.825911 0.542751 +vt 0.825911 0.550186 +vt 0.809717 0.535316 +vt 0.809717 0.542751 +vt 0.825911 0.557621 +vt 0.809717 0.557621 +vt 0.809717 0.527881 +vt 0.825911 0.535316 +vt 0.825911 0.527881 +vt 0.825911 0.565056 +vt 0.809717 0.565056 +vt 0.825911 0.572491 +vt 0.809717 0.572491 +vt 0.825911 0.535316 +vt 0.809717 0.513011 +vt 0.809717 0.513011 +vt 0.825911 0.513011 +vt 0.809717 0.513011 +vt 0.809717 0.513011 +vt 0.809717 0.513011 +vt 0.809717 0.513011 +vt 0.809717 0.513011 +vn 0.0000 0.0000 1.0000 +vn 0.9615 -0.0000 0.2747 +vn 0.6799 0.6799 0.2747 +vn -0.6799 0.6799 0.2747 +vn -0.9615 0.0000 0.2747 +vn 0.0000 0.9615 0.2747 +vn 0.6799 -0.6799 0.2747 +vn 0.0000 -0.9615 0.2747 +vn -0.6799 -0.6799 0.2747 +s off +f 1/1/1 2/2/1 3/3/1 +f 4/4/1 5/5/1 6/6/1 +f 7/7/1 8/8/1 9/9/1 +f 10/10/1 11/11/1 12/12/1 +f 13/13/1 14/14/1 15/15/1 +f 16/16/1 17/17/1 18/18/1 +f 19/19/1 20/20/1 21/21/1 +f 22/22/1 23/23/1 24/24/1 +f 2/2/1 25/25/1 3/3/1 +f 25/25/1 26/26/1 3/3/1 +f 26/26/1 27/27/1 3/3/1 +f 3/3/1 28/28/1 29/29/1 +f 29/29/1 1/1/1 3/3/1 +f 30/30/1 31/31/1 4/4/1 +f 4/4/1 32/32/1 5/5/1 +f 5/5/1 33/33/1 6/6/1 +f 6/6/1 34/34/1 30/30/1 +f 30/30/1 4/4/1 6/6/1 +f 35/35/1 36/36/1 7/7/1 +f 7/7/1 37/37/1 8/8/1 +f 8/8/1 38/38/1 9/9/1 +f 9/9/1 39/39/1 35/35/1 +f 35/35/1 7/7/1 9/9/1 +f 40/40/1 41/41/1 10/10/1 +f 10/10/1 42/42/1 11/11/1 +f 11/11/1 43/43/1 12/12/1 +f 12/12/1 44/44/1 40/40/1 +f 40/40/1 10/10/1 12/12/1 +f 15/15/1 45/45/1 46/46/1 +f 46/46/1 47/47/1 15/15/1 +f 47/47/1 13/13/1 15/15/1 +f 13/13/1 48/48/1 14/14/1 +f 14/14/1 49/49/1 15/15/1 +f 18/18/1 50/50/1 51/51/1 +f 51/51/1 52/52/1 18/18/1 +f 52/52/1 53/53/1 18/18/1 +f 53/53/1 54/54/1 18/18/1 +f 54/54/1 16/16/1 18/18/1 +f 55/55/1 56/56/1 19/19/1 +f 19/19/1 57/57/1 20/20/1 +f 20/20/1 58/58/1 21/21/1 +f 21/21/1 59/59/1 55/55/1 +f 55/55/1 19/19/1 21/21/1 +f 24/24/1 60/60/1 61/61/1 +f 61/61/1 62/62/1 24/24/1 +f 62/62/1 22/22/1 24/24/1 +f 22/22/1 63/63/1 23/23/1 +f 23/23/1 64/64/1 24/24/1 +s 1 +f 65/65/2 55/66/3 59/67/2 +f 66/68/4 26/69/5 25/70/4 +f 66/68/4 2/71/6 67/72/6 +f 68/73/3 2/74/6 1/75/3 +f 68/73/3 29/76/2 69/77/2 +f 69/77/2 28/78/7 70/79/7 +f 70/79/7 3/80/8 71/81/8 +f 72/82/9 3/80/8 27/83/9 +f 72/82/9 26/69/5 73/84/5 +f 74/85/3 30/86/2 75/87/2 +f 76/88/6 55/89/3 77/90/3 +f 78/91/6 31/92/3 74/85/3 +f 79/93/9 5/94/5 80/95/5 +f 81/96/5 19/97/4 82/98/4 +f 83/99/8 34/100/7 6/101/8 +f 80/95/5 32/102/4 84/103/4 +f 84/103/4 4/104/6 78/91/6 +f 75/105/2 34/100/7 85/106/7 +f 83/99/8 33/107/9 79/93/9 +f 86/108/6 7/109/3 87/110/3 +f 88/111/8 35/112/7 39/113/8 +f 89/114/5 9/115/9 38/116/5 +f 90/117/9 39/113/8 9/115/9 +f 89/114/5 8/118/4 91/119/4 +f 91/119/4 37/120/6 86/108/6 +f 87/110/3 36/121/2 92/122/2 +f 92/122/2 35/123/7 93/124/7 +f 94/125/9 57/126/5 81/96/5 +f 95/127/2 41/128/7 96/129/7 +f 96/129/7 40/130/8 97/131/8 +f 98/132/4 12/133/5 43/134/4 +f 98/132/4 11/135/6 99/136/6 +f 100/137/5 44/138/9 12/133/5 +f 99/136/6 42/139/3 101/140/3 +f 102/141/9 40/142/8 44/138/9 +f 101/140/3 10/143/2 95/127/2 +f 103/144/7 59/67/2 21/145/7 +f 104/146/2 46/147/7 105/148/7 +f 106/149/8 20/150/9 94/125/9 +f 107/151/5 15/152/9 49/153/5 +f 108/154/3 47/155/2 104/146/2 +f 109/156/6 13/157/3 108/154/3 +f 109/156/6 14/158/4 48/159/6 +f 110/160/4 49/153/5 14/158/4 +f 105/148/7 45/161/8 111/162/8 +f 111/162/8 15/163/9 112/164/9 +f 82/98/4 56/165/6 76/88/6 +f 113/166/6 54/167/3 114/168/3 +f 115/169/9 18/170/5 116/171/5 +f 117/172/8 50/173/9 115/169/9 +f 113/166/6 17/174/4 16/175/6 +f 114/168/3 53/176/2 118/177/2 +f 119/178/7 51/179/8 117/172/8 +f 120/180/4 18/181/5 17/174/4 +f 118/177/2 52/182/7 119/178/7 +f 121/183/6 24/184/4 64/185/6 +f 122/186/8 22/187/7 62/188/8 +f 123/189/2 22/187/7 124/190/7 +f 122/186/8 61/191/9 125/192/9 +f 126/193/3 63/194/2 123/189/2 +f 121/183/6 23/195/3 126/193/3 +f 125/192/9 60/196/5 127/197/5 +f 127/197/5 24/198/4 128/199/4 +f 103/144/7 58/200/8 106/149/8 +f 65/65/2 77/201/3 55/66/3 +f 66/68/4 73/84/5 26/69/5 +f 66/68/4 25/70/4 2/71/6 +f 68/73/3 67/202/6 2/74/6 +f 68/73/3 1/75/3 29/76/2 +f 69/77/2 29/76/2 28/78/7 +f 70/79/7 28/78/7 3/80/8 +f 72/82/9 71/81/8 3/80/8 +f 72/82/9 27/83/9 26/69/5 +f 74/85/3 31/92/3 30/86/2 +f 76/88/6 56/165/6 55/89/3 +f 78/91/6 4/104/6 31/92/3 +f 79/93/9 33/107/9 5/94/5 +f 81/96/5 57/126/5 19/97/4 +f 83/99/8 85/106/7 34/100/7 +f 80/95/5 5/94/5 32/102/4 +f 84/103/4 32/102/4 4/104/6 +f 75/105/2 30/203/2 34/100/7 +f 83/99/8 6/101/8 33/107/9 +f 86/108/6 37/120/6 7/109/3 +f 88/111/8 93/204/7 35/112/7 +f 89/114/5 90/117/9 9/115/9 +f 90/117/9 88/111/8 39/113/8 +f 89/114/5 38/116/5 8/118/4 +f 91/119/4 8/118/4 37/120/6 +f 87/110/3 7/109/3 36/121/2 +f 92/122/2 36/121/2 35/123/7 +f 94/125/9 20/150/9 57/126/5 +f 95/127/2 10/143/2 41/128/7 +f 96/129/7 41/128/7 40/130/8 +f 98/132/4 100/137/5 12/133/5 +f 98/132/4 43/134/4 11/135/6 +f 100/137/5 102/141/9 44/138/9 +f 99/136/6 11/135/6 42/139/3 +f 102/141/9 97/205/8 40/142/8 +f 101/140/3 42/139/3 10/143/2 +f 103/144/7 65/65/2 59/67/2 +f 104/146/2 47/155/2 46/147/7 +f 106/149/8 58/200/8 20/150/9 +f 107/151/5 112/206/9 15/152/9 +f 108/154/3 13/157/3 47/155/2 +f 109/156/6 48/159/6 13/157/3 +f 109/156/6 110/160/4 14/158/4 +f 110/160/4 107/151/5 49/153/5 +f 105/148/7 46/147/7 45/161/8 +f 111/162/8 45/161/8 15/163/9 +f 82/98/4 19/97/4 56/165/6 +f 113/166/6 16/175/6 54/167/3 +f 115/169/9 50/173/9 18/170/5 +f 117/172/8 51/179/8 50/173/9 +f 113/166/6 120/180/4 17/174/4 +f 114/168/3 54/167/3 53/176/2 +f 119/178/7 52/182/7 51/179/8 +f 120/180/4 116/207/5 18/181/5 +f 118/177/2 53/176/2 52/182/7 +f 121/183/6 128/208/4 24/184/4 +f 122/186/8 124/190/7 22/187/7 +f 123/189/2 63/194/2 22/187/7 +f 122/186/8 62/188/8 61/191/9 +f 126/193/3 23/195/3 63/194/2 +f 121/183/6 64/185/6 23/195/3 +f 125/192/9 61/191/9 60/196/5 +f 127/197/5 60/196/5 24/198/4 +f 103/144/7 21/145/7 58/200/8 +o Internals +v 0.845185 -2.945537 -1.149113 +v -0.845185 -2.945537 -1.149113 +v -1.690370 -1.489653 -1.302134 +v 0.000000 -4.104991 -5.024233 +v 1.882162 -3.025072 -5.145136 +v 1.882162 -0.865233 -5.386944 +v 1.931852 -1.478220 -1.193358 +v 2.173334 -1.945152 -5.266041 +v 2.414815 -1.956912 -5.377924 +v -1.086666 -0.074677 -5.475451 +v 0.845186 -0.033769 -1.455153 +v -0.845185 -0.033769 -1.455153 +v -1.931851 -1.478220 -1.193358 +v -2.173333 -1.945153 -5.266041 +v -1.463903 -0.649098 -1.390478 +v 1.463904 -0.649098 -1.390478 +v 1.690370 -1.489653 -1.302134 +v 1.463904 -2.330208 -1.213787 +v 0.000000 -3.170763 -1.125441 +v -1.463903 -2.330208 -1.213787 +v 1.086667 -0.074677 -5.475451 +v -1.882161 -0.865233 -5.386944 +v -1.882161 -3.025072 -5.145136 +v -1.086666 -3.815628 -5.056629 +v 1.086667 -3.815628 -5.056629 +v -2.414814 -1.956912 -5.377924 +v 0.000000 -4.356733 -5.109249 +v 1.207407 -4.035218 -5.145245 +v -2.091290 -3.156821 -5.243586 +v 2.091291 -3.156821 -5.243586 +v -1.207407 -4.035218 -5.145245 +v -1.673032 -2.438855 -1.092390 +v 0.965926 -3.142087 -1.018477 +v 1.673033 -2.438854 -1.092390 +v -0.965925 -3.142087 -1.018477 +v 0.000000 -3.399489 -0.991423 +vt 0.331984 0.304833 +vt 0.384615 0.304833 +vt 0.412955 0.347584 +vt 0.224696 0.319703 +vt 0.295547 0.355019 +vt 0.295547 0.429368 +vt 0.008097 0.234201 +vt 0.141700 0.241636 +vt 0.145749 0.234201 +vt 0.008097 0.375465 +vt 0.137652 0.315985 +vt 0.137652 0.368030 +vt 0.145749 0.449814 +vt 0.012146 0.442379 +vt 0.141700 0.442379 +vt 0.404858 0.371747 +vt 0.384615 0.390335 +vt 0.331984 0.390335 +vt 0.311741 0.371747 +vt 0.303644 0.347584 +vt 0.311741 0.323420 +vt 0.358300 0.297398 +vt 0.404858 0.323420 +vt 0.265182 0.449814 +vt 0.184211 0.449814 +vt 0.153846 0.429368 +vt 0.145749 0.392193 +vt 0.153846 0.355019 +vt 0.184211 0.327138 +vt 0.265182 0.327138 +vt 0.303644 0.392193 +vt 0.012146 0.241636 +vt 0.008097 0.308550 +vt 0.008097 0.449814 +vt 0.008097 0.382900 +vt -0.000000 0.345725 +vt 0.000000 0.382900 +vt -0.000000 0.271375 +vt 0.008097 0.234201 +vt -0.000000 0.234201 +vt 0.008097 0.420074 +vt 0.000000 0.420074 +vt -0.000000 0.308550 +vt 0.008097 0.271375 +vt 0.008097 0.457249 +vt -0.000000 0.457249 +vt 0.008097 0.308550 +vt 0.137652 0.241636 +vt 0.145749 0.275093 +vt 0.145749 0.241636 +vt 0.145749 0.375465 +vt 0.137652 0.408922 +vt 0.145749 0.408922 +vt 0.137652 0.308550 +vt 0.145749 0.308550 +vt 0.137652 0.241636 +vt 0.008097 0.275093 +vt 0.008097 0.241636 +vt 0.137652 0.278810 +vt 0.145749 0.442379 +vt 0.145749 0.342007 +vt 0.137652 0.405204 +vt 0.008097 0.408922 +vt 0.137652 0.442379 +vt 0.008097 0.442379 +vt 0.137652 0.375465 +vt 0.008097 0.345725 +vt 0.137652 0.275093 +vt 0.137652 0.271375 +vt 0.137652 0.304833 +vt 0.137652 0.442379 +vt 0.137652 0.342007 +vt 0.137652 0.379182 +vt 0.137652 0.412639 +vn 0.0000 -0.1045 -0.9945 +vn -0.0000 0.1113 0.9938 +vn 0.0045 -0.9935 0.1142 +vn 0.0000 -0.9999 0.0102 +vn 0.0042 -0.9935 0.1137 +vn -0.0042 -0.9935 0.1137 +vn -0.0045 -0.9935 0.1142 +vn 0.2115 -0.2635 0.9412 +vn -0.0000 -0.3200 0.9474 +vn 0.2117 -0.2634 0.9412 +vn -0.3663 -0.1092 0.9241 +vn -0.4199 -0.0116 0.9075 +vn 0.3661 -0.1095 0.9241 +vn 0.3663 -0.1092 0.9241 +vn -0.2117 -0.2634 0.9412 +vn -0.3661 -0.1095 0.9241 +vn 0.4199 -0.0116 0.9075 +vn -0.2115 -0.2635 0.9412 +vn -0.4101 -0.2039 -0.8890 +vn -0.3573 -0.3004 -0.8844 +vn 0.2063 -0.4506 -0.8686 +vn 0.3573 -0.3004 -0.8844 +vn -0.2063 -0.4506 -0.8686 +vn -0.9597 -0.2677 -0.0860 +vn -0.8601 -0.5062 -0.0627 +vn -0.9595 -0.2683 -0.0861 +vn -0.8595 -0.5072 -0.0625 +vn -0.7026 -0.7108 -0.0351 +vn 0.4101 -0.2039 -0.8890 +vn -0.0000 -0.5055 -0.8628 +vn 0.7026 -0.7108 -0.0351 +vn 0.8595 -0.5072 -0.0625 +vn 0.8601 -0.5062 -0.0627 +vn 0.9597 -0.2677 -0.0860 +vn 0.9595 -0.2683 -0.0861 +vn -0.7029 -0.7104 -0.0350 +vn 0.7029 -0.7104 -0.0350 +s off +f 129/209/10 130/210/10 131/211/10 +f 132/212/11 133/213/11 134/214/11 +f 135/215/12 136/216/12 137/217/12 +f 138/218/13 139/219/13 140/220/13 +f 141/221/14 142/222/14 131/223/14 +f 143/224/10 140/225/10 139/226/10 +f 139/226/10 144/227/10 145/228/10 +f 145/228/10 146/229/10 129/209/10 +f 129/209/10 147/230/10 130/210/10 +f 130/210/10 148/231/10 131/211/10 +f 131/211/10 143/224/10 129/209/10 +f 143/224/10 139/226/10 129/209/10 +f 139/226/10 145/228/10 129/209/10 +f 149/232/11 138/233/11 150/234/11 +f 150/234/11 142/235/11 151/236/11 +f 151/236/11 152/237/11 150/234/11 +f 152/237/11 132/212/11 150/234/11 +f 132/212/11 153/238/11 133/213/11 +f 133/213/11 136/239/11 134/214/11 +f 134/214/11 149/232/11 132/212/11 +f 149/232/11 150/234/11 132/212/11 +f 135/215/15 145/240/15 136/216/15 +f 138/218/13 149/241/13 139/219/13 +f 141/221/16 154/242/16 142/222/16 +s 1 +f 153/243/17 155/244/18 156/245/19 +f 157/246/20 142/247/21 154/248/21 +f 133/249/22 156/245/19 158/250/23 +f 159/251/24 151/252/25 157/246/20 +f 136/253/26 158/250/23 137/254/26 +f 155/244/18 152/255/27 159/251/24 +f 131/256/28 160/257/29 141/258/28 +f 161/259/30 146/260/31 162/261/31 +f 160/257/29 130/262/32 163/263/32 +f 145/264/33 134/265/34 136/266/35 +f 144/267/36 149/241/37 134/265/34 +f 146/260/31 135/268/38 162/261/31 +f 130/262/32 164/269/39 163/263/32 +f 138/218/40 143/270/41 150/271/42 +f 150/271/42 131/272/43 142/273/44 +f 164/269/39 129/274/30 161/259/30 +f 153/243/17 132/275/18 155/244/18 +f 157/246/20 151/252/25 142/247/21 +f 133/249/22 153/243/17 156/245/19 +f 159/251/24 152/255/27 151/252/25 +f 136/253/26 133/249/22 158/250/23 +f 155/244/18 132/275/18 152/255/27 +f 131/256/28 148/276/29 160/257/29 +f 161/259/30 129/274/30 146/260/31 +f 160/257/29 148/276/29 130/262/32 +f 145/264/33 144/277/36 134/265/34 +f 144/267/36 139/278/45 149/241/37 +f 146/260/31 145/279/38 135/268/38 +f 130/262/32 147/280/39 164/269/39 +f 138/218/40 140/281/46 143/270/41 +f 150/271/42 143/282/41 131/272/43 +f 164/269/39 147/280/39 129/274/30 +o Magazine +v -0.437500 0.000001 -4.543859 +v 0.000000 -0.437499 -4.543859 +v 0.437500 0.000001 -4.543859 +v 1.498160 -0.439339 -4.543859 +v 1.370019 -0.129979 -4.543859 +v 0.751300 -0.748698 -4.543859 +v -0.751302 -0.129979 -4.606359 +v -0.751302 -0.748698 -4.606359 +v -1.370020 -0.748698 -4.606359 +v 0.437500 0.000001 -4.606359 +v 0.000000 -0.437499 -4.606359 +v -0.437500 0.000001 -4.606359 +v -1.500001 -1.062499 -4.606359 +v -1.062501 -1.499999 -4.606359 +v -1.500001 -1.937499 -4.606359 +v -1.937501 -1.500000 -4.543859 +v -1.500001 -1.937499 -4.543859 +v -1.062501 -1.499999 -4.543859 +v -1.370020 -2.251300 -4.606359 +v -0.751301 -2.251300 -4.606359 +v -0.751301 -2.870018 -4.606359 +v -1.498160 -2.560660 -4.543859 +v -1.370020 -2.870018 -4.543859 +v -0.751301 -2.251300 -4.543859 +v -0.309359 -3.309359 -4.543859 +v 0.000000 -3.437499 -4.543859 +v 0.000000 -2.562499 -4.543859 +v -0.437500 -2.999999 -4.606359 +v 0.000000 -2.562499 -4.606359 +v 0.437500 -2.999999 -4.606359 +v 1.060660 -2.998158 -4.543859 +v 1.370019 -2.870018 -4.543859 +v 0.751301 -2.251300 -4.543859 +v 0.751301 -2.870018 -4.606359 +v 0.751301 -2.251300 -4.606359 +v 1.370019 -2.251300 -4.606359 +v 1.500000 -1.937499 -4.606359 +v 1.062500 -1.499999 -4.606359 +v 1.500000 -1.062499 -4.606359 +v 1.370019 -0.748698 -4.606359 +v 0.751300 -0.748698 -4.606359 +v 0.751300 -0.129980 -4.606359 +v 1.809359 -1.809358 -4.543859 +v 1.937500 -1.499999 -4.543859 +v 1.062500 -1.499999 -4.543859 +v 0.000000 -2.249999 -1.981360 +v 0.750000 -1.499999 -1.981360 +v 0.000000 -0.749999 -1.981359 +v 0.000000 -1.687499 -1.731360 +v 0.187500 -1.499999 -1.731360 +v 0.000000 -1.312499 -1.731359 +v -1.370021 -0.129980 -4.543859 +v -1.370020 -0.748698 -4.543859 +v -0.751302 -0.748698 -4.543859 +v -1.060660 -2.185658 -4.543859 +v -1.325825 -2.295494 -4.543859 +v -1.234835 -1.765164 -4.543859 +v -0.265165 -2.734833 -4.543859 +v -0.375000 -2.999999 -4.543859 +v -0.685660 -2.560658 -4.543859 +v 0.685660 -2.560658 -4.543859 +v 0.795495 -2.825824 -4.543859 +v 0.265165 -2.734833 -4.543859 +v 1.060660 -2.185658 -4.543859 +v 1.125000 -1.499999 -4.543859 +v 1.234835 -1.765164 -4.543859 +v 1.234835 -1.234834 -4.543859 +v 0.795495 -0.704504 -4.543859 +v 1.060660 -0.814339 -4.543859 +v 0.265165 -0.265164 -4.543859 +v 0.375000 0.000001 -4.543859 +v 0.685660 -0.439339 -4.543859 +v -0.795495 -0.174174 -4.543859 +v -0.645778 0.059048 -4.543859 +v -0.375000 0.000001 -4.543859 +v -1.234835 -1.234834 -4.543859 +v -1.500000 -1.124999 -4.543859 +v -1.060660 -0.814339 -4.543859 +v 0.000000 -2.624999 -4.543859 +v -1.125000 -1.499999 -4.543859 +v -1.325825 -2.295494 -2.481359 +v -1.500000 -1.874999 -2.481359 +v -1.559047 -2.145777 -2.481359 +v -0.795495 -2.825824 -2.481360 +v -0.645778 -3.059046 -2.481360 +v -0.375000 -2.999999 -2.481360 +v 0.795495 -2.825824 -2.481360 +v 0.375000 -2.999999 -2.481360 +v 0.645778 -3.059046 -2.481360 +v 1.325825 -2.295494 -2.481359 +v 1.559047 -2.145778 -2.481359 +v 1.500000 -1.874999 -2.481359 +v 1.500000 -1.124999 -2.481359 +v 1.559047 -0.854220 -2.481359 +v 1.325825 -0.704504 -2.481359 +v 0.795495 -0.174173 -2.481359 +v 0.645778 0.059048 -2.481359 +v 0.375000 0.000001 -2.481359 +v -0.685660 -0.439339 -2.481359 +v 0.000000 -0.374999 -2.481359 +v -0.265166 -0.265164 -2.481359 +v -1.500000 -1.124999 -2.481359 +v -1.325825 -0.704504 -2.481359 +v -1.559047 -0.854221 -2.481359 +v -0.795495 -0.704504 -2.481359 +v -0.795495 -2.295494 -2.481359 +v 0.795495 -2.295494 -2.481359 +v 0.000000 0.437501 -4.543859 +v -0.309360 0.309360 -4.543859 +v -0.309360 -0.309358 -4.543859 +v 0.309359 -0.309358 -4.543859 +v 0.309359 0.309360 -4.543859 +v 1.060660 -0.001839 -4.543859 +v 0.751300 -0.129980 -4.543859 +v 0.623160 -0.439339 -4.543859 +v 1.060660 -0.876839 -4.543859 +v 1.370019 -0.748698 -4.543859 +v -1.498161 -0.439339 -4.606359 +v -1.370021 -0.129980 -4.606359 +v -1.060661 -0.001839 -4.606359 +v -0.623161 -0.439339 -4.606359 +v -1.060661 -0.876839 -4.606359 +v -0.309360 0.309360 -4.606359 +v 0.000000 0.437501 -4.606359 +v 0.309359 0.309360 -4.606359 +v 0.309359 -0.309358 -4.606359 +v -0.309360 -0.309358 -4.606359 +v -1.809360 -1.809359 -4.606359 +v -1.937501 -1.500000 -4.606359 +v -1.809360 -1.190640 -4.606359 +v -1.190641 -1.190640 -4.606359 +v -1.190641 -1.809359 -4.606359 +v -1.809360 -1.809359 -4.543859 +v -1.190641 -1.809359 -4.543859 +v -1.190641 -1.190640 -4.543859 +v -1.500001 -1.062499 -4.543859 +v -1.809360 -1.190640 -4.543859 +v -1.060660 -2.998160 -4.606359 +v -1.370020 -2.870018 -4.606359 +v -1.498160 -2.560660 -4.606359 +v -1.060660 -2.123158 -4.606359 +v -0.623160 -2.560658 -4.606359 +v -1.060660 -2.998160 -4.543859 +v -0.751301 -2.870018 -4.543859 +v -0.623160 -2.560658 -4.543859 +v -1.060660 -2.123158 -4.543859 +v -1.370020 -2.251300 -4.543859 +v 0.309359 -3.309358 -4.543859 +v 0.437500 -2.999999 -4.543859 +v 0.309359 -2.690639 -4.543859 +v -0.309360 -2.690639 -4.543859 +v -0.437500 -2.999999 -4.543859 +v 0.309359 -3.309358 -4.606359 +v 0.000000 -3.437499 -4.606359 +v -0.309359 -3.309359 -4.606359 +v -0.309360 -2.690639 -4.606359 +v 0.309359 -2.690639 -4.606359 +v 1.498160 -2.560658 -4.543859 +v 1.370019 -2.251300 -4.543859 +v 1.060660 -2.123158 -4.543859 +v 0.623160 -2.560658 -4.543859 +v 0.751301 -2.870018 -4.543859 +v 1.498160 -2.560658 -4.606359 +v 1.370019 -2.870018 -4.606359 +v 1.060660 -2.998158 -4.606359 +v 0.623160 -2.560658 -4.606359 +v 1.060660 -2.123158 -4.606359 +v 1.809359 -1.190639 -4.606359 +v 1.937500 -1.499999 -4.606359 +v 1.809359 -1.809358 -4.606359 +v 1.190640 -1.809358 -4.606359 +v 1.190640 -1.190639 -4.606359 +v 1.060660 -0.001839 -4.606359 +v 1.370019 -0.129979 -4.606359 +v 1.498160 -0.439339 -4.606359 +v 1.060660 -0.876839 -4.606359 +v 0.623160 -0.439339 -4.606359 +v 1.809359 -1.190639 -4.543859 +v 1.500000 -1.062499 -4.543859 +v 1.190640 -1.190639 -4.543859 +v 1.190640 -1.809358 -4.543859 +v 1.500000 -1.937499 -4.543859 +v -0.530331 -0.969669 -1.981359 +v -0.750000 -1.499999 -1.981360 +v -0.530331 -2.030329 -1.981360 +v 0.530330 -2.030329 -1.981360 +v 0.530330 -0.969669 -1.981359 +v -0.132583 -1.367416 -1.731360 +v -0.187500 -1.499999 -1.731360 +v -0.132583 -1.632581 -1.731360 +v 0.132582 -1.632581 -1.731360 +v 0.132582 -1.367416 -1.731360 +v -1.498161 -0.439339 -4.543859 +v -1.060661 -0.876839 -4.543859 +v -0.623161 -0.439339 -4.543859 +v -0.751302 -0.129979 -4.543859 +v -1.060661 -0.001839 -4.543859 +v -1.376792 -2.418540 -4.543859 +v -1.559047 -2.145777 -4.543859 +v -1.623046 -1.824032 -4.543859 +v -1.500000 -1.874999 -4.543859 +v -0.795495 -2.295494 -4.543859 +v -0.324033 -3.123044 -4.543859 +v -0.645778 -3.059046 -4.543859 +v -0.918541 -2.876791 -4.543859 +v -0.795495 -2.825824 -4.543859 +v 0.918541 -2.876791 -4.543859 +v 0.645778 -3.059046 -4.543859 +v 0.324033 -3.123044 -4.543859 +v 0.375000 -2.999999 -4.543859 +v 0.795495 -2.295494 -4.543859 +v 1.500000 -1.874999 -4.543859 +v 1.623046 -1.824032 -4.543859 +v 1.559047 -2.145777 -4.543859 +v 1.376793 -2.418540 -4.543859 +v 1.325825 -2.295494 -4.543859 +v 1.325825 -0.704504 -4.543859 +v 1.376793 -0.581458 -4.543859 +v 1.559047 -0.854220 -4.543859 +v 1.623046 -1.175966 -4.543859 +v 1.500000 -1.124999 -4.543859 +v 0.324032 0.123047 -4.543859 +v 0.645778 0.059048 -4.543859 +v 0.918541 -0.123206 -4.543859 +v 0.795495 -0.174173 -4.543859 +v 0.000000 -0.374999 -4.543859 +v -0.265166 -0.265164 -4.543859 +v -0.685660 -0.439339 -4.543859 +v -0.795495 -0.704504 -4.543859 +v -0.324033 0.123047 -4.543859 +v -0.918541 -0.123207 -4.543859 +v -1.623046 -1.175966 -4.543859 +v -1.559047 -0.854221 -4.543859 +v -1.376793 -0.581458 -4.543859 +v -1.325825 -0.704504 -4.543859 +v -1.060660 -2.185659 -2.481359 +v -1.125000 -1.499999 -2.481359 +v -1.234835 -1.765164 -2.481359 +v -1.376792 -2.418540 -2.481359 +v -1.623046 -1.824032 -2.481359 +v -0.265165 -2.734834 -2.481360 +v 0.000000 -2.624999 -2.481359 +v -0.685660 -2.560659 -2.481359 +v -0.324033 -3.123045 -2.481360 +v -0.918541 -2.876792 -2.481360 +v 0.685660 -2.560659 -2.481359 +v 0.265165 -2.734834 -2.481360 +v 0.918541 -2.876791 -2.481360 +v 0.324033 -3.123045 -2.481360 +v 1.234835 -1.765164 -2.481359 +v 1.125000 -1.499999 -2.481359 +v 1.060660 -2.185659 -2.481359 +v 1.623046 -1.824032 -2.481359 +v 1.376793 -2.418540 -2.481359 +v 1.060660 -0.814339 -2.481359 +v 0.795495 -0.704504 -2.481359 +v 1.234835 -1.234834 -2.481359 +v 1.376793 -0.581458 -2.481359 +v 1.623046 -1.175966 -2.481359 +v 0.265165 -0.265164 -2.481359 +v 0.685660 -0.439339 -2.481359 +v 0.324032 0.123047 -2.481359 +v 0.918541 -0.123206 -2.481359 +v -0.375000 0.000001 -2.481359 +v -0.324033 0.123047 -2.481359 +v -0.645778 0.059048 -2.481359 +v -0.918541 -0.123207 -2.481359 +v -0.795495 -0.174174 -2.481359 +v -1.234835 -1.234834 -2.481359 +v -1.060660 -0.814339 -2.481359 +v -1.623046 -1.175966 -2.481359 +v -1.376793 -0.581458 -2.481359 +v -0.265166 0.265166 -2.668859 +v 0.000000 0.375001 -4.543859 +v -0.265166 0.265166 -4.543859 +v 0.000000 0.375001 -2.668859 +v 0.265165 0.265166 -4.543859 +v 0.375000 0.000001 -4.543859 +v 0.265165 0.265166 -2.668859 +v 0.375000 0.000001 -2.668859 +v -0.375000 0.000001 -2.668859 +v -0.375000 0.000001 -4.543859 +v 0.000000 -0.499999 -2.481359 +v 0.707106 -0.792892 -2.481359 +v -0.707107 -0.792892 -2.481359 +v -1.000000 -1.499999 -2.481359 +v 0.000000 -2.499999 -2.481359 +v -0.707107 -2.207106 -2.481359 +v 0.707106 -2.207106 -2.481359 +v 1.000000 -1.499999 -2.481359 +v 0.187500 -1.499999 -1.981360 +v 0.132582 -1.367416 -1.981360 +v 0.000000 -1.687499 -1.981360 +v 0.132582 -1.632581 -1.981360 +v -0.187500 -1.499999 -1.981360 +v -0.132583 -1.632581 -1.981360 +v 0.000000 -1.312499 -1.981359 +v -0.132583 -1.367416 -1.981360 +v -0.265165 -0.265164 -2.668859 +v 0.265166 -0.265164 -2.668859 +v 1.060660 -0.064339 -2.668859 +v 1.325825 -0.174174 -4.543859 +v 1.060660 -0.064339 -4.543859 +v 1.325825 -0.174174 -2.668859 +v 1.435660 -0.439339 -4.543859 +v 1.325825 -0.704504 -4.543859 +v 1.435660 -0.439339 -2.668859 +v 1.325825 -0.704504 -2.668859 +v 0.795495 -0.174174 -4.543859 +v 0.795495 -0.174174 -2.668859 +v 0.685660 -0.439339 -2.668859 +v 1.060660 -0.814340 -2.668859 +v 1.765165 -1.234834 -2.668859 +v 1.875000 -1.499999 -4.543859 +v 1.765165 -1.234834 -4.543859 +v 1.875000 -1.499999 -2.668859 +v 1.765165 -1.765164 -4.543859 +v 1.500000 -1.874999 -4.543859 +v 1.765165 -1.765164 -2.668859 +v 1.500000 -1.874999 -2.668859 +v 1.500000 -1.124999 -4.543859 +v 1.500000 -1.124999 -2.668859 +v 1.234834 -1.234835 -2.668859 +v 1.234834 -1.765165 -2.668859 +v 1.435660 -2.560659 -2.668859 +v 1.325825 -2.825824 -4.543859 +v 1.435660 -2.560658 -4.543859 +v 1.325825 -2.825824 -2.668860 +v 1.060660 -2.935658 -4.543859 +v 0.795495 -2.825824 -4.543859 +v 1.060660 -2.935659 -2.668860 +v 0.795495 -2.825824 -2.668860 +v 1.325825 -2.295494 -4.543859 +v 1.325825 -2.295494 -2.668859 +v 1.060659 -2.185660 -2.668859 +v 0.685659 -2.560659 -2.668859 +v 0.265165 -3.265164 -2.668860 +v 0.000000 -3.374999 -4.543859 +v 0.265165 -3.265164 -4.543859 +v 0.000000 -3.374999 -2.668860 +v -0.265165 -3.265165 -4.543859 +v -0.375000 -2.999999 -4.543859 +v -0.265165 -3.265164 -2.668860 +v -0.375000 -2.999999 -2.668860 +v 0.375000 -2.999999 -4.543859 +v 0.375000 -2.999999 -2.668860 +v 0.265164 -2.734834 -2.668860 +v -0.265166 -2.734834 -2.668860 +v -1.060660 -2.935659 -2.668860 +v -1.325826 -2.825824 -4.543859 +v -1.060660 -2.935660 -4.543859 +v -1.325826 -2.825824 -2.668860 +v -1.435661 -2.560660 -4.543859 +v -1.325826 -2.295495 -4.543859 +v -1.435660 -2.560659 -2.668859 +v -1.325826 -2.295495 -2.668859 +v -0.795495 -2.825824 -4.543859 +v -0.795495 -2.825824 -2.668860 +v -0.685661 -2.560658 -2.668859 +v -1.060661 -2.185658 -2.668859 +v -1.765166 -1.765164 -2.668859 +v -1.875001 -1.499999 -4.543859 +v -1.765166 -1.765165 -4.543859 +v -1.875001 -1.499999 -2.668859 +v -1.765166 -1.234834 -4.543859 +v -1.500001 -1.124999 -4.543859 +v -1.765166 -1.234834 -2.668859 +v -1.500001 -1.124999 -2.668859 +v -1.500001 -1.874999 -4.543859 +v -1.500000 -1.874999 -2.668859 +v -1.234835 -1.765163 -2.668859 +v -1.234835 -1.234833 -2.668859 +v -1.435661 -0.439339 -2.668859 +v -1.325826 -0.174174 -4.543859 +v -1.435661 -0.439339 -4.543859 +v -1.060661 -0.064339 -2.668859 +v -1.060661 -0.064339 -4.543859 +v -0.795496 -0.174174 -4.543859 +v -0.795496 -0.174174 -2.668859 +v -1.325826 -0.704504 -4.543859 +v -1.325826 -0.704504 -2.668859 +v -1.060660 -0.814338 -2.668859 +v -0.685660 -0.439338 -2.668859 +v 0.000001 -0.374999 -2.668859 +v 0.795495 -0.704505 -2.668859 +v 1.124999 -1.500000 -2.668859 +v 0.795494 -2.295495 -2.668859 +v -0.000001 -2.624999 -2.668859 +v -0.795496 -2.295494 -2.668859 +v -1.125000 -1.499998 -2.668859 +v -1.325826 -0.174174 -2.668859 +v -0.795495 -0.704503 -2.668859 +vt 0.805668 0.585502 +vt 0.819838 0.572491 +vt 0.834008 0.585502 +vt 0.829960 0.594796 +vt 0.819838 0.598513 +vt 0.819838 0.572491 +vt 0.777328 0.585502 +vt 0.791498 0.572491 +vt 0.805668 0.585502 +vt 0.777328 0.585502 +vt 0.791498 0.572491 +vt 0.805668 0.585502 +vt 0.777328 0.585502 +vt 0.791498 0.572491 +vt 0.805668 0.585502 +vt 0.819838 0.598513 +vt 0.805668 0.585502 +vt 0.819838 0.572491 +vt 0.777328 0.585502 +vt 0.791498 0.572491 +vt 0.805668 0.585502 +vt 0.829960 0.594796 +vt 0.819838 0.598513 +vt 0.819838 0.572491 +vt 0.829960 0.594796 +vt 0.819838 0.598513 +vt 0.819838 0.572491 +vt 0.777328 0.585502 +vt 0.791498 0.572491 +vt 0.805668 0.585502 +vt 0.829960 0.594796 +vt 0.819838 0.598513 +vt 0.819838 0.572491 +vt 0.777328 0.585502 +vt 0.791498 0.572491 +vt 0.805668 0.585502 +vt 0.777328 0.585502 +vt 0.791498 0.572491 +vt 0.805668 0.585502 +vt 0.777328 0.585502 +vt 0.791498 0.572491 +vt 0.805668 0.585502 +vt 0.829960 0.594796 +vt 0.819838 0.598513 +vt 0.819838 0.572491 +vt 0.684211 0.442379 +vt 0.708502 0.464684 +vt 0.684211 0.486989 +vt 0.714575 0.475836 +vt 0.720648 0.481413 +vt 0.714575 0.486989 +vt 0.819838 0.598513 +vt 0.805668 0.585502 +vt 0.819838 0.572491 +vt 0.754950 0.529825 +vt 0.763525 0.526563 +vt 0.760583 0.542312 +vt 0.729223 0.513517 +vt 0.732775 0.505643 +vt 0.742822 0.518689 +vt 0.698473 0.518689 +vt 0.694921 0.510815 +vt 0.712072 0.513517 +vt 0.686346 0.529825 +vt 0.684265 0.550186 +vt 0.680713 0.542312 +vt 0.680713 0.558060 +vt 0.694921 0.573808 +vt 0.686346 0.570547 +vt 0.712072 0.586855 +vt 0.708520 0.594729 +vt 0.698473 0.581683 +vt 0.746374 0.589557 +vt 0.741532 0.596482 +vt 0.732775 0.594729 +vt 0.760583 0.558060 +vt 0.769158 0.561322 +vt 0.754950 0.570547 +vt 0.720648 0.516778 +vt 0.757031 0.550186 +vt 0.572507 0.526563 +vt 0.566874 0.539050 +vt 0.564964 0.531009 +vt 0.589658 0.510815 +vt 0.594500 0.503889 +vt 0.603257 0.505643 +vt 0.641111 0.510815 +vt 0.627512 0.505643 +vt 0.636269 0.503889 +vt 0.658262 0.526563 +vt 0.665805 0.531009 +vt 0.663895 0.539050 +vt 0.663895 0.561322 +vt 0.665805 0.569363 +vt 0.658262 0.573808 +vt 0.641111 0.589557 +vt 0.636269 0.596482 +vt 0.627512 0.594729 +vt 0.593210 0.581683 +vt 0.615385 0.583593 +vt 0.606809 0.586855 +vt 0.566874 0.561322 +vt 0.572507 0.573808 +vt 0.564964 0.569363 +vt 0.589658 0.573808 +vt 0.589658 0.526563 +vt 0.641111 0.526563 +vt 0.819838 0.598513 +vt 0.809717 0.594796 +vt 0.809717 0.576208 +vt 0.829960 0.576208 +vt 0.829960 0.594796 +vt 0.809717 0.594796 +vt 0.805668 0.585502 +vt 0.809717 0.576208 +vt 0.829960 0.576208 +vt 0.834008 0.585502 +vt 0.801619 0.594796 +vt 0.791498 0.598513 +vt 0.781377 0.594796 +vt 0.781377 0.576208 +vt 0.801619 0.576208 +vt 0.801619 0.594796 +vt 0.791498 0.598513 +vt 0.781377 0.594796 +vt 0.781377 0.576208 +vt 0.801619 0.576208 +vt 0.801619 0.594796 +vt 0.791498 0.598513 +vt 0.781377 0.594796 +vt 0.781377 0.576208 +vt 0.801619 0.576208 +vt 0.809717 0.594796 +vt 0.809717 0.576208 +vt 0.829960 0.576208 +vt 0.834008 0.585502 +vt 0.829960 0.594796 +vt 0.801619 0.594796 +vt 0.791498 0.598513 +vt 0.781377 0.594796 +vt 0.781377 0.576208 +vt 0.801619 0.576208 +vt 0.809717 0.594796 +vt 0.805668 0.585502 +vt 0.809717 0.576208 +vt 0.829960 0.576208 +vt 0.834008 0.585502 +vt 0.809717 0.594796 +vt 0.805668 0.585502 +vt 0.809717 0.576208 +vt 0.829960 0.576208 +vt 0.834008 0.585502 +vt 0.801619 0.594796 +vt 0.791498 0.598513 +vt 0.781377 0.594796 +vt 0.781377 0.576208 +vt 0.801619 0.576208 +vt 0.809717 0.594796 +vt 0.805668 0.585502 +vt 0.809717 0.576208 +vt 0.829960 0.576208 +vt 0.834008 0.585502 +vt 0.801619 0.594796 +vt 0.791498 0.598513 +vt 0.781377 0.594796 +vt 0.781377 0.576208 +vt 0.801619 0.576208 +vt 0.801619 0.594796 +vt 0.791498 0.598513 +vt 0.781377 0.594796 +vt 0.781377 0.576208 +vt 0.801619 0.576208 +vt 0.801619 0.594796 +vt 0.791498 0.598513 +vt 0.781377 0.594796 +vt 0.781377 0.576208 +vt 0.801619 0.576208 +vt 0.809717 0.594796 +vt 0.805668 0.585502 +vt 0.809717 0.576208 +vt 0.829960 0.576208 +vt 0.834008 0.585502 +vt 0.665992 0.481413 +vt 0.659919 0.464684 +vt 0.665992 0.447955 +vt 0.702429 0.447955 +vt 0.702429 0.481413 +vt 0.710526 0.485130 +vt 0.708502 0.481413 +vt 0.710526 0.477695 +vt 0.718623 0.477695 +vt 0.718623 0.485130 +vt 0.809717 0.594796 +vt 0.809717 0.576208 +vt 0.829960 0.576208 +vt 0.834008 0.585502 +vt 0.829960 0.594796 +vt 0.765174 0.522909 +vt 0.771068 0.531009 +vt 0.773138 0.540564 +vt 0.769158 0.539050 +vt 0.746374 0.526563 +vt 0.731127 0.501989 +vt 0.741532 0.503889 +vt 0.750354 0.509301 +vt 0.746374 0.510815 +vt 0.690942 0.509301 +vt 0.699763 0.503889 +vt 0.710168 0.501989 +vt 0.708520 0.505643 +vt 0.694921 0.526563 +vt 0.672137 0.539050 +vt 0.668158 0.540564 +vt 0.670228 0.531009 +vt 0.676122 0.522909 +vt 0.677770 0.526563 +vt 0.677770 0.573808 +vt 0.676122 0.577462 +vt 0.670228 0.569363 +vt 0.668158 0.559808 +vt 0.672137 0.561322 +vt 0.710168 0.598383 +vt 0.699763 0.596482 +vt 0.690942 0.591070 +vt 0.694921 0.589557 +vt 0.720648 0.583593 +vt 0.729223 0.586855 +vt 0.742822 0.581683 +vt 0.746374 0.573808 +vt 0.731127 0.598383 +vt 0.750354 0.591070 +vt 0.773138 0.559808 +vt 0.771068 0.569363 +vt 0.765174 0.577462 +vt 0.763525 0.573808 +vt 0.581082 0.529825 +vt 0.579002 0.550186 +vt 0.575450 0.542312 +vt 0.570859 0.522909 +vt 0.562895 0.540564 +vt 0.606809 0.513517 +vt 0.615385 0.516778 +vt 0.593210 0.518689 +vt 0.604905 0.501989 +vt 0.585679 0.509301 +vt 0.637559 0.518689 +vt 0.623960 0.513517 +vt 0.645091 0.509301 +vt 0.625864 0.501989 +vt 0.655320 0.542312 +vt 0.651767 0.550186 +vt 0.649687 0.529825 +vt 0.667875 0.540564 +vt 0.659911 0.522909 +vt 0.649687 0.570547 +vt 0.641111 0.573808 +vt 0.655320 0.558060 +vt 0.659911 0.577462 +vt 0.667875 0.559808 +vt 0.623960 0.586855 +vt 0.637559 0.581683 +vt 0.625864 0.598383 +vt 0.645091 0.591070 +vt 0.603257 0.594729 +vt 0.604905 0.598383 +vt 0.594500 0.596482 +vt 0.585679 0.591070 +vt 0.589658 0.589557 +vt 0.575450 0.558060 +vt 0.581082 0.570547 +vt 0.562895 0.559808 +vt 0.570859 0.577462 +vt 0.595142 0.501859 +vt 0.603239 0.442379 +vt 0.603239 0.501859 +vt 0.562753 0.501859 +vt 0.578947 0.442379 +vt 0.578947 0.501859 +vt 0.603239 0.501859 +vt 0.615385 0.442379 +vt 0.615385 0.501859 +vt 0.595142 0.501859 +vt 0.603239 0.442379 +vt 0.603239 0.501859 +vt 0.562753 0.501859 +vt 0.578947 0.442379 +vt 0.578947 0.501859 +vt 0.603239 0.501859 +vt 0.615385 0.442379 +vt 0.615385 0.501859 +vt 0.595142 0.501859 +vt 0.603239 0.442379 +vt 0.603239 0.501859 +vt 0.562753 0.501859 +vt 0.578947 0.442379 +vt 0.578947 0.501859 +vt 0.627530 0.442379 +vt 0.627530 0.501859 +vt 0.595142 0.501859 +vt 0.603239 0.442379 +vt 0.603239 0.501859 +vt 0.562753 0.501859 +vt 0.578947 0.442379 +vt 0.578947 0.501859 +vt 0.639676 0.442379 +vt 0.639676 0.501859 +vt 0.595142 0.501859 +vt 0.603239 0.442379 +vt 0.562753 0.501859 +vt 0.578947 0.442379 +vt 0.578947 0.501859 +vt 0.651822 0.442379 +vt 0.651822 0.501859 +vt 0.595142 0.501859 +vt 0.603239 0.442379 +vt 0.562753 0.501859 +vt 0.578947 0.442379 +vt 0.578947 0.501859 +vt 0.639676 0.501859 +vt 0.651822 0.442379 +vt 0.651822 0.501859 +vt 0.562753 0.501859 +vt 0.578947 0.442379 +vt 0.578947 0.501859 +vt 0.627530 0.501859 +vt 0.639676 0.442379 +vt 0.562753 0.501859 +vt 0.578947 0.442379 +vt 0.578947 0.501859 +vt 0.615385 0.501859 +vt 0.627530 0.442379 +vt 0.595142 0.442379 +vt 0.615385 0.501859 +vt 0.627530 0.442379 +vt 0.627530 0.501859 +vt 0.595142 0.442379 +vt 0.595142 0.501859 +vt 0.615385 0.442379 +vt 0.595142 0.501859 +vt 0.595142 0.442379 +vt 0.615385 0.442379 +vt 0.595142 0.442379 +vt 0.639676 0.442379 +vt 0.639676 0.501859 +vt 0.595142 0.442379 +vt 0.651822 0.501859 +vt 0.651822 0.442379 +vt 0.595142 0.442379 +vt 0.639676 0.501859 +vt 0.651822 0.442379 +vt 0.651822 0.501859 +vt 0.595142 0.442379 +vt 0.603239 0.501859 +vt 0.615385 0.442379 +vt 0.615385 0.501859 +vt 0.595142 0.442379 +vt 0.627530 0.501859 +vt 0.639676 0.442379 +vt 0.659919 0.442379 +vt 0.659919 0.501859 +vt 0.615385 0.501859 +vt 0.627530 0.442379 +vt 0.627530 0.501859 +vt 0.659919 0.442379 +vt 0.659919 0.501859 +vt 0.627530 0.442379 +vt 0.659919 0.442379 +vt 0.659919 0.501859 +vt 0.651822 0.501859 +vt 0.639676 0.442379 +vt 0.651822 0.442379 +vt 0.659919 0.442379 +vt 0.659919 0.501859 +vt 0.603239 0.501859 +vt 0.615385 0.442379 +vt 0.659919 0.501859 +vt 0.659919 0.442379 +vt 0.639676 0.501859 +vt 0.615385 0.442379 +vt 0.615385 0.501859 +vt 0.651822 0.501859 +vt 0.659919 0.442379 +vt 0.659919 0.501859 +vt 0.627530 0.501859 +vt 0.639676 0.442379 +vt 0.639676 0.501859 +vt 0.627530 0.442379 +vt 0.627530 0.501859 +vt 0.651822 0.501859 +vt 0.659919 0.442379 +vt 0.659919 0.501859 +vt 0.615385 0.442379 +vt 0.615385 0.501859 +vt 0.639676 0.442379 +vt 0.639676 0.501859 +vt 0.651822 0.501859 +vt 0.659919 0.442379 +vt 0.659919 0.501859 +vt 0.651822 0.442379 +vt 0.651822 0.442379 +vt 0.603239 0.442379 +vt 0.627530 0.442379 +vt 0.627530 0.501859 +vt 0.639676 0.442379 +vt 0.639676 0.501859 +vt 0.603239 0.442379 +vt 0.651822 0.442379 +vt 0.627530 0.442379 +vt 0.777328 0.565056 +vt 0.773279 0.576208 +vt 0.773279 0.565056 +vt 0.777328 0.542751 +vt 0.773279 0.553903 +vt 0.773279 0.542751 +vt 0.777328 0.553903 +vt 0.777328 0.531599 +vt 0.773279 0.531599 +vt 0.777328 0.509294 +vt 0.773279 0.520446 +vt 0.773279 0.509294 +vt 0.777328 0.587361 +vt 0.773279 0.598513 +vt 0.773279 0.587361 +vt 0.777328 0.587361 +vt 0.773279 0.598513 +vt 0.773279 0.587361 +vt 0.777328 0.531599 +vt 0.773279 0.542751 +vt 0.773279 0.531599 +vt 0.777328 0.565056 +vt 0.773279 0.576208 +vt 0.773279 0.565056 +vt 0.777328 0.520446 +vt 0.773279 0.520446 +vt 0.777328 0.509294 +vt 0.773279 0.520446 +vt 0.773279 0.509294 +vt 0.777328 0.553903 +vt 0.773279 0.565056 +vt 0.773279 0.553903 +vt 0.777328 0.520446 +vt 0.773279 0.576208 +vt 0.777328 0.587361 +vt 0.773279 0.587361 +vt 0.773279 0.598513 +vt 0.777328 0.520446 +vt 0.773279 0.531599 +vt 0.777328 0.531599 +vt 0.773279 0.542751 +vt 0.777328 0.565056 +vt 0.777328 0.509294 +vt 0.773279 0.509294 +vt 0.777328 0.542751 +vt 0.773279 0.553903 +vt 0.773279 0.542751 +vt 0.777328 0.531599 +vt 0.773279 0.531599 +vt 0.777328 0.553903 +vt 0.773279 0.565056 +vt 0.777328 0.565056 +vt 0.773279 0.576208 +vt 0.777328 0.542751 +vt 0.777328 0.587361 +vt 0.773279 0.598513 +vt 0.773279 0.587361 +vt 0.777328 0.520446 +vt 0.773279 0.520446 +vt 0.777328 0.509294 +vt 0.773279 0.520446 +vt 0.773279 0.509294 +vt 0.777328 0.565056 +vt 0.773279 0.576208 +vt 0.773279 0.565056 +vt 0.777328 0.542751 +vt 0.773279 0.553903 +vt 0.773279 0.542751 +vt 0.777328 0.587361 +vt 0.773279 0.598513 +vt 0.773279 0.587361 +vt 0.777328 0.531599 +vt 0.773279 0.531599 +vt 0.777328 0.509294 +vt 0.773279 0.509294 +vt 0.777328 0.520446 +vt 0.777328 0.553903 +vt 0.773279 0.565056 +vt 0.773279 0.553903 +vt 0.777328 0.531599 +vt 0.773279 0.542751 +vt 0.773279 0.531599 +vt 0.777328 0.587361 +vt 0.773279 0.598513 +vt 0.773279 0.587361 +vt 0.777328 0.553903 +vt 0.777328 0.520446 +vt 0.773279 0.520446 +vt 0.777328 0.509294 +vt 0.773279 0.509294 +vt 0.777328 0.542751 +vt 0.773279 0.576208 +vt 0.777328 0.565056 +vt 0.773279 0.576208 +vt 0.773279 0.565056 +vt 0.777328 0.520446 +vt 0.773279 0.531599 +vt 0.773279 0.520446 +vt 0.785425 0.516729 +vt 0.793522 0.572491 +vt 0.785425 0.572491 +vt 0.793522 0.516729 +vt 0.801619 0.572491 +vt 0.777328 0.553903 +vt 0.773279 0.553903 +vt 0.777328 0.509294 +vt 0.773279 0.509294 +vt 0.777328 0.587361 +vt 0.773279 0.598513 +vt 0.773279 0.587361 +vt 0.777328 0.531599 +vt 0.773279 0.542751 +vt 0.777328 0.542751 +vt 0.777328 0.565056 +vt 0.773279 0.576208 +vt 0.777328 0.587361 +vt 0.773279 0.587361 +vt 0.777328 0.553903 +vt 0.773279 0.565056 +vt 0.773279 0.553903 +vt 0.777328 0.542751 +vt 0.773279 0.542751 +vt 0.777328 0.520446 +vt 0.773279 0.531599 +vt 0.773279 0.520446 +vt 0.809717 0.572491 +vt 0.801619 0.516729 +vt 0.809717 0.516729 +vt 0.777328 0.531599 +vt 0.773279 0.598513 +vt 0.777328 0.516729 +vt 0.777328 0.572491 +vt 0.777328 0.509294 +vt 0.773279 0.509294 +vt 0.777328 0.565056 +vt 0.659919 0.501859 +vt 0.680162 0.486989 +vt 0.684211 0.501859 +vt 0.854251 0.501859 +vt 0.834008 0.486989 +vt 0.850202 0.486989 +vt 0.829960 0.501859 +vt 0.809717 0.486989 +vt 0.825911 0.486989 +vt 0.805668 0.501859 +vt 0.785425 0.486989 +vt 0.801619 0.486989 +vt 0.757085 0.501859 +vt 0.777328 0.486989 +vt 0.781377 0.501859 +vt 0.732794 0.501859 +vt 0.753036 0.486989 +vt 0.708502 0.501859 +vt 0.728745 0.486989 +vt 0.688259 0.486989 +vt 0.704453 0.486989 +vt 0.748988 0.486989 +vt 0.744939 0.479554 +vt 0.748988 0.479554 +vt 0.740891 0.486989 +vt 0.736842 0.479554 +vt 0.740891 0.479554 +vt 0.732794 0.486989 +vt 0.728745 0.479554 +vt 0.732794 0.479554 +vt 0.724696 0.486989 +vt 0.720648 0.479554 +vt 0.724696 0.479554 +vt 0.753036 0.486989 +vt 0.753036 0.479554 +vt 0.744939 0.486989 +vt 0.736842 0.486989 +vt 0.728745 0.486989 +vt 0.838057 0.579926 +vt 0.854251 0.579926 +vt 0.854251 0.594796 +vt 0.777328 0.542751 +vt 0.773279 0.553903 +vt 0.777328 0.553903 +vt 0.785425 0.516729 +vt 0.793522 0.572491 +vt 0.785425 0.572491 +vt 0.793522 0.516729 +vt 0.801619 0.572491 +vt 0.809717 0.572491 +vt 0.801619 0.516729 +vt 0.809717 0.516729 +vt 0.777328 0.572491 +vt 0.777328 0.516729 +vt 0.838057 0.579926 +vt 0.854251 0.579926 +vt 0.854251 0.594796 +vt 0.785425 0.516729 +vt 0.793522 0.572491 +vt 0.785425 0.572491 +vt 0.793522 0.516729 +vt 0.801619 0.572491 +vt 0.809717 0.572491 +vt 0.801619 0.516729 +vt 0.809717 0.516729 +vt 0.777328 0.572491 +vt 0.777328 0.516729 +vt 0.838057 0.579926 +vt 0.854251 0.579926 +vt 0.854251 0.594796 +vt 0.785425 0.516729 +vt 0.793522 0.572491 +vt 0.785425 0.572491 +vt 0.793522 0.516729 +vt 0.801619 0.572491 +vt 0.809717 0.572491 +vt 0.801619 0.516729 +vt 0.809717 0.516729 +vt 0.777328 0.572491 +vt 0.777328 0.516729 +vt 0.838057 0.579926 +vt 0.854251 0.579926 +vt 0.854251 0.594796 +vt 0.785425 0.516729 +vt 0.793522 0.572491 +vt 0.785425 0.572491 +vt 0.793522 0.516729 +vt 0.801619 0.572491 +vt 0.809717 0.572491 +vt 0.801619 0.516729 +vt 0.809717 0.516729 +vt 0.777328 0.572491 +vt 0.777328 0.516729 +vt 0.838057 0.579926 +vt 0.854251 0.579926 +vt 0.854251 0.594796 +vt 0.785425 0.516729 +vt 0.793522 0.572491 +vt 0.785425 0.572491 +vt 0.793522 0.516729 +vt 0.801619 0.572491 +vt 0.809717 0.572491 +vt 0.801619 0.516729 +vt 0.809717 0.516729 +vt 0.777328 0.572491 +vt 0.777328 0.516729 +vt 0.838057 0.579926 +vt 0.854251 0.579926 +vt 0.854251 0.594796 +vt 0.785425 0.516729 +vt 0.793522 0.572491 +vt 0.785425 0.572491 +vt 0.793522 0.516729 +vt 0.801619 0.572491 +vt 0.809717 0.572491 +vt 0.801619 0.516729 +vt 0.809717 0.516729 +vt 0.777328 0.572491 +vt 0.777328 0.516729 +vt 0.838057 0.579926 +vt 0.854251 0.579926 +vt 0.854251 0.594796 +vt 0.785425 0.516729 +vt 0.793522 0.572491 +vt 0.785425 0.572491 +vt 0.801619 0.516729 +vt 0.801619 0.572491 +vt 0.809717 0.572491 +vt 0.809717 0.516729 +vt 0.777328 0.572491 +vt 0.777328 0.516729 +vt 0.838057 0.579926 +vt 0.854251 0.579926 +vt 0.854251 0.594796 +vt 0.562753 0.442379 +vt 0.562753 0.442379 +vt 0.562753 0.442379 +vt 0.562753 0.442379 +vt 0.562753 0.442379 +vt 0.562753 0.442379 +vt 0.562753 0.442379 +vt 0.562753 0.442379 +vt 0.777328 0.576208 +vt 0.777328 0.598513 +vt 0.777328 0.598513 +vt 0.777328 0.576208 +vt 0.777328 0.576208 +vt 0.777328 0.598513 +vt 0.777328 0.576208 +vt 0.777328 0.598513 +vt 0.777328 0.576208 +vt 0.777328 0.598513 +vt 0.777328 0.598513 +vt 0.777328 0.576208 +vt 0.777328 0.576208 +vt 0.777328 0.598513 +vt 0.777328 0.576208 +vt 0.777328 0.598513 +vt 0.663968 0.486989 +vt 0.761134 0.486989 +vt 0.736842 0.486989 +vt 0.712551 0.486989 +vt 0.720648 0.486989 +vt 0.838057 0.594796 +vt 0.834008 0.587361 +vt 0.846154 0.576208 +vt 0.858300 0.587361 +vt 0.846154 0.598513 +vt 0.838057 0.594796 +vt 0.834008 0.587361 +vt 0.846154 0.576208 +vt 0.858300 0.587361 +vt 0.846154 0.598513 +vt 0.838057 0.594796 +vt 0.834008 0.587361 +vt 0.846154 0.576208 +vt 0.858300 0.587361 +vt 0.846154 0.598513 +vt 0.838057 0.594796 +vt 0.834008 0.587361 +vt 0.846154 0.576208 +vt 0.858300 0.587361 +vt 0.846154 0.598513 +vt 0.838057 0.594796 +vt 0.834008 0.587361 +vt 0.846154 0.576208 +vt 0.858300 0.587361 +vt 0.846154 0.598513 +vt 0.838057 0.594796 +vt 0.834008 0.587361 +vt 0.846154 0.576208 +vt 0.858300 0.587361 +vt 0.846154 0.598513 +vt 0.838057 0.594796 +vt 0.834008 0.587361 +vt 0.846154 0.576208 +vt 0.858300 0.587361 +vt 0.846154 0.598513 +vt 0.793522 0.516729 +vt 0.838057 0.594796 +vt 0.834008 0.587361 +vt 0.846154 0.576208 +vt 0.858300 0.587361 +vt 0.846154 0.598513 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.9239 0.3827 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.5556 0.8315 0.0000 +vn -0.3827 0.9239 -0.0000 +vn 0.0000 -1.0000 -0.0000 +vn 0.7071 -0.7071 -0.0000 +vn -0.9239 0.3827 0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.9808 0.1951 0.0000 +vn -0.9239 0.3827 0.0001 +vn 1.0000 0.0000 0.0000 +vn 0.9239 -0.3827 -0.0000 +vn -0.8315 -0.5556 -0.0000 +vn -0.9239 -0.3827 -0.0001 +vn -0.9239 -0.3827 -0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.1951 -0.9808 -0.0000 +vn -0.3827 -0.9239 -0.0000 +vn 0.3827 -0.9239 -0.0000 +vn 0.5556 -0.8315 -0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.9808 -0.1951 -0.0000 +vn 0.8315 0.5556 0.0000 +vn 0.9239 0.3827 -0.0001 +vn 0.1951 0.9808 0.0000 +vn 0.3827 0.9239 -0.0000 +vn 0.9808 0.1951 0.0000 +vn -0.5556 -0.8315 -0.0000 +vn -0.9808 -0.1951 -0.0000 +vn -0.8315 0.5556 0.0000 +vn 0.1951 -0.9808 -0.0000 +vn -0.1951 0.9808 0.0000 +vn 0.8315 -0.5556 -0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.5556 0.8315 0.0000 +vn -0.7071 0.7071 0.0001 +vn 0.0000 0.8944 0.4472 +vn 0.6325 0.6325 0.4472 +vn -0.6325 0.6325 0.4472 +vn -0.8944 0.0000 0.4472 +vn -0.6325 -0.6325 0.4472 +vn 0.0000 -0.8944 0.4472 +vn 0.6325 -0.6325 0.4472 +vn 0.8944 -0.0000 0.4472 +s off +f 165/283/47 166/284/47 167/285/47 +f 168/286/47 169/287/47 170/288/47 +f 171/289/48 172/290/48 173/291/48 +f 174/292/48 175/293/48 176/294/48 +f 177/295/48 178/296/48 179/297/48 +f 180/298/47 181/299/47 182/300/47 +f 183/301/48 184/302/48 185/303/48 +f 186/304/47 187/305/47 188/306/47 +f 189/307/47 190/308/47 191/309/47 +f 192/310/48 193/311/48 194/312/48 +f 195/313/47 196/314/47 197/315/47 +f 198/316/48 199/317/48 200/318/48 +f 201/319/48 202/320/48 203/321/48 +f 204/322/48 205/323/48 206/324/48 +f 207/325/47 208/326/47 209/327/47 +f 210/328/47 211/329/47 212/330/47 +f 213/331/47 214/332/47 215/333/47 +f 216/334/47 217/335/47 218/336/47 +f 219/337/48 220/338/48 221/339/48 +f 222/340/48 223/341/48 224/342/48 +f 225/343/48 226/344/48 227/345/48 +f 228/346/48 229/347/48 230/348/48 +f 231/349/48 232/350/48 233/351/48 +f 234/352/48 235/353/48 236/354/48 +f 237/355/48 238/356/48 239/357/48 +f 240/358/48 241/359/48 242/360/48 +f 229/347/48 243/361/48 244/362/48 +f 245/363/47 246/364/47 247/365/47 +f 248/366/47 249/367/47 250/368/47 +f 251/369/47 252/370/47 253/371/47 +f 254/372/47 255/373/47 256/374/47 +f 257/375/47 258/376/47 259/377/47 +f 260/378/47 261/379/47 262/380/47 +f 263/381/47 264/382/47 265/383/47 +f 266/384/47 267/385/47 268/386/47 +f 269/387/47 270/388/47 271/389/47 +f 272/390/47 273/391/47 165/283/47 +f 165/283/47 274/392/47 166/284/47 +f 166/284/47 275/393/47 167/285/47 +f 167/285/47 276/394/47 272/390/47 +f 272/390/47 165/283/47 167/285/47 +f 169/287/47 277/395/47 170/288/47 +f 277/395/47 278/396/47 170/288/47 +f 278/396/47 279/397/47 170/288/47 +f 170/288/47 280/398/47 281/399/47 +f 281/399/47 168/286/47 170/288/47 +f 173/291/48 282/400/48 283/401/48 +f 283/401/48 284/402/48 173/291/48 +f 284/402/48 171/289/48 173/291/48 +f 171/289/48 285/403/48 172/290/48 +f 172/290/48 286/404/48 173/291/48 +f 176/294/48 287/405/48 288/406/48 +f 288/406/48 289/407/48 174/292/48 +f 174/292/48 290/408/48 175/293/48 +f 175/293/48 291/409/48 176/294/48 +f 176/294/48 288/406/48 174/292/48 +f 179/297/48 292/410/48 293/411/48 +f 293/411/48 294/412/48 179/297/48 +f 294/412/48 177/295/48 179/297/48 +f 177/295/48 295/413/48 178/296/48 +f 178/296/48 296/414/48 179/297/48 +f 180/298/47 297/415/47 181/299/47 +f 181/299/47 298/416/47 182/300/47 +f 182/300/47 299/417/47 300/418/47 +f 300/418/47 301/419/47 182/300/47 +f 301/419/47 180/298/47 182/300/47 +f 185/303/48 302/420/48 303/421/48 +f 303/421/48 304/422/48 185/303/48 +f 304/422/48 183/301/48 185/303/48 +f 183/301/48 305/423/48 184/302/48 +f 184/302/48 306/424/48 185/303/48 +f 187/305/47 307/425/47 188/306/47 +f 307/425/47 308/426/47 188/306/47 +f 308/426/47 309/427/47 188/306/47 +f 188/306/47 310/428/47 311/429/47 +f 311/429/47 186/304/47 188/306/47 +f 190/308/47 312/430/47 191/309/47 +f 312/430/47 313/431/47 191/309/47 +f 313/431/47 314/432/47 191/309/47 +f 191/309/47 315/433/47 316/434/47 +f 316/434/47 189/307/47 191/309/47 +f 194/312/48 317/435/48 318/436/48 +f 318/436/48 319/437/48 194/312/48 +f 319/437/48 192/310/48 194/312/48 +f 192/310/48 320/438/48 193/311/48 +f 193/311/48 321/439/48 194/312/48 +f 196/314/47 322/440/47 197/315/47 +f 322/440/47 323/441/47 197/315/47 +f 323/441/47 324/442/47 197/315/47 +f 197/315/47 325/443/47 326/444/47 +f 326/444/47 195/313/47 197/315/47 +f 200/318/48 327/445/48 328/446/48 +f 328/446/48 329/447/48 200/318/48 +f 329/447/48 198/316/48 200/318/48 +f 198/316/48 330/448/48 199/317/48 +f 199/317/48 331/449/48 200/318/48 +f 203/321/48 332/450/48 333/451/48 +f 333/451/48 334/452/48 203/321/48 +f 334/452/48 201/319/48 203/321/48 +f 201/319/48 335/453/48 202/320/48 +f 202/320/48 336/454/48 203/321/48 +f 206/324/48 337/455/48 338/456/48 +f 338/456/48 339/457/48 206/324/48 +f 339/457/48 204/322/48 206/324/48 +f 204/322/48 340/458/48 205/323/48 +f 205/323/48 341/459/48 206/324/48 +f 208/326/47 342/460/47 209/327/47 +f 342/460/47 343/461/47 209/327/47 +f 343/461/47 344/462/47 209/327/47 +f 209/327/47 345/463/47 346/464/47 +f 346/464/47 207/325/47 209/327/47 +f 212/330/47 347/465/47 210/328/47 +f 347/465/47 348/466/47 210/328/47 +f 348/466/47 349/467/47 210/328/47 +f 210/328/47 350/468/47 211/329/47 +f 211/329/47 351/469/47 212/330/47 +f 215/333/47 352/470/47 353/471/47 +f 353/471/47 354/472/47 213/331/47 +f 213/331/47 355/473/47 214/332/47 +f 214/332/47 356/474/47 215/333/47 +f 215/333/47 353/471/47 213/331/47 +f 216/334/47 357/475/47 217/335/47 +f 217/335/47 358/476/47 218/336/47 +f 218/336/47 359/477/47 360/478/47 +f 360/478/47 361/479/47 218/336/47 +f 361/479/47 216/334/47 218/336/47 +f 220/338/48 362/480/48 363/481/48 +f 363/481/48 364/482/48 365/483/48 +f 221/339/48 244/362/48 219/337/48 +f 244/362/48 366/484/48 219/337/48 +f 363/481/48 365/483/48 220/338/48 +f 365/483/48 221/339/48 220/338/48 +f 223/341/48 367/485/48 368/486/48 +f 368/486/48 369/487/48 370/488/48 +f 224/342/48 366/484/48 222/340/48 +f 366/484/48 243/361/48 222/340/48 +f 368/486/48 370/488/48 223/341/48 +f 370/488/48 224/342/48 223/341/48 +f 226/344/48 371/489/48 372/490/48 +f 372/490/48 373/491/48 374/492/48 +f 227/345/48 243/361/48 225/343/48 +f 243/361/48 375/493/48 225/343/48 +f 372/490/48 374/492/48 226/344/48 +f 374/492/48 227/345/48 226/344/48 +f 376/494/48 377/495/48 378/496/48 +f 378/496/48 379/497/48 380/498/48 +f 228/346/48 375/493/48 229/347/48 +f 378/496/48 380/498/48 376/494/48 +f 380/498/48 228/346/48 376/494/48 +f 230/348/48 376/494/48 228/346/48 +f 381/499/48 382/500/48 383/501/48 +f 383/501/48 384/502/48 385/503/48 +f 231/349/48 229/347/48 232/350/48 +f 383/501/48 385/503/48 381/499/48 +f 385/503/48 231/349/48 381/499/48 +f 233/351/48 381/499/48 231/349/48 +f 235/353/48 386/504/48 387/505/48 +f 387/505/48 388/506/48 389/507/48 +f 236/354/48 232/350/48 234/352/48 +f 232/350/48 390/508/48 234/352/48 +f 387/505/48 389/507/48 235/353/48 +f 389/507/48 236/354/48 235/353/48 +f 391/509/48 390/508/48 392/510/48 +f 390/508/48 393/511/48 392/510/48 +f 238/356/48 394/512/48 239/357/48 +f 239/357/48 391/509/48 237/355/48 +f 391/509/48 392/510/48 237/355/48 +f 237/355/48 395/513/48 238/356/48 +f 241/359/48 396/514/48 397/515/48 +f 397/515/48 398/516/48 399/517/48 +f 242/360/48 393/511/48 240/358/48 +f 393/511/48 244/362/48 240/358/48 +f 397/515/48 399/517/48 241/359/48 +f 399/517/48 242/360/48 241/359/48 +f 244/362/48 393/511/48 390/508/48 +f 390/508/48 232/350/48 229/347/48 +f 229/347/48 375/493/48 243/361/48 +f 243/361/48 366/484/48 244/362/48 +f 244/362/48 390/508/48 229/347/48 +f 400/518/47 270/388/47 401/519/47 +f 400/518/47 401/519/47 402/520/47 +f 247/365/47 403/521/47 245/363/47 +f 245/363/47 400/518/47 402/520/47 +f 246/364/47 404/522/47 247/365/47 +f 245/363/47 402/520/47 246/364/47 +f 405/523/47 406/524/47 270/388/47 +f 405/523/47 270/388/47 407/525/47 +f 249/367/47 408/526/47 250/368/47 +f 250/368/47 405/523/47 407/525/47 +f 248/366/47 409/527/47 249/367/47 +f 250/368/47 407/525/47 248/366/47 +f 410/528/47 271/389/47 406/524/47 +f 410/528/47 406/524/47 411/529/47 +f 253/371/47 412/530/47 251/369/47 +f 251/369/47 410/528/47 411/529/47 +f 252/370/47 413/531/47 253/371/47 +f 251/369/47 411/529/47 252/370/47 +f 414/532/47 415/533/47 271/389/47 +f 414/532/47 271/389/47 416/534/47 +f 255/373/47 417/535/47 256/374/47 +f 256/374/47 414/532/47 416/534/47 +f 254/372/47 418/536/47 255/373/47 +f 256/374/47 416/534/47 254/372/47 +f 419/537/47 420/538/47 415/533/47 +f 419/537/47 415/533/47 421/539/47 +f 258/376/47 422/540/47 259/377/47 +f 259/377/47 419/537/47 421/539/47 +f 257/375/47 423/541/47 258/376/47 +f 259/377/47 421/539/47 257/375/47 +f 424/542/47 264/382/47 420/538/47 +f 424/542/47 420/538/47 425/543/47 +f 261/379/47 426/544/47 262/380/47 +f 262/380/47 424/542/47 425/543/47 +f 260/378/47 427/545/47 261/379/47 +f 262/380/47 425/543/47 260/378/47 +f 428/546/47 429/547/47 430/548/47 +f 430/548/47 431/549/47 432/550/47 +f 263/381/47 269/387/47 264/382/47 +f 430/548/47 432/550/47 428/546/47 +f 432/550/47 263/381/47 265/383/47 +f 265/383/47 428/546/47 432/550/47 +f 433/551/47 401/519/47 269/387/47 +f 433/551/47 269/387/47 434/552/47 +f 268/386/47 435/553/47 266/384/47 +f 266/384/47 433/551/47 434/552/47 +f 267/385/47 436/554/47 268/386/47 +f 266/384/47 434/552/47 267/385/47 +f 269/387/47 401/519/47 270/388/47 +f 270/388/47 406/524/47 271/389/47 +f 271/389/47 415/533/47 420/538/47 +f 420/538/47 264/382/47 271/389/47 +f 264/382/47 269/387/47 271/389/47 +s 1 +f 398/555/49 267/556/50 399/557/50 +f 395/558/51 430/559/52 238/560/52 +f 385/561/53 421/562/54 231/563/54 +f 373/564/55 252/565/56 374/566/56 +f 396/567/57 268/568/55 397/569/58 +f 389/570/54 425/571/59 236/572/59 +f 394/573/60 428/574/59 239/575/59 +f 362/576/61 247/577/62 363/578/63 +f 231/563/54 415/579/59 229/580/59 +f 379/581/63 254/582/64 380/583/64 +f 367/584/65 249/585/66 368/586/66 +f 229/580/59 414/587/50 230/588/50 +f 388/589/67 260/590/54 389/570/54 +f 371/591/68 253/592/67 372/593/67 +f 230/588/50 256/594/69 376/595/69 +f 384/596/66 257/597/53 385/561/53 +f 377/598/70 255/599/60 378/600/60 +f 225/601/59 251/602/50 226/603/50 +f 382/604/71 258/605/72 383/606/49 +f 375/607/54 410/608/59 225/601/59 +f 386/609/73 261/610/74 387/611/74 +f 228/612/53 271/613/54 375/607/54 +f 384/596/75 258/605/72 423/614/75 +f 227/615/64 406/616/53 243/617/53 +f 368/586/66 409/618/76 369/619/76 +f 380/583/64 416/620/53 228/612/53 +f 364/621/77 247/577/62 404/622/77 +f 374/566/56 411/623/64 227/615/64 +f 397/569/55 436/624/78 398/555/78 +f 243/617/53 405/625/54 222/626/54 +f 372/593/67 413/627/79 373/564/79 +f 223/628/59 405/625/54 250/629/59 +f 238/560/52 429/630/80 394/573/80 +f 219/631/53 245/632/54 220/633/54 +f 378/600/60 418/634/81 379/581/81 +f 370/635/82 407/636/56 224/637/56 +f 387/611/74 427/638/83 388/589/83 +f 366/639/64 400/640/53 219/631/53 +f 376/595/69 417/641/52 377/642/52 +f 221/643/82 401/644/56 244/645/56 +f 226/603/50 412/646/74 371/647/74 +f 224/637/56 270/648/64 366/639/64 +f 223/628/59 408/649/49 367/650/49 +f 241/651/53 433/652/64 266/653/53 +f 220/633/54 403/654/60 362/655/60 +f 365/656/69 402/657/82 221/643/82 +f 396/658/67 266/653/53 435/659/67 +f 244/645/56 433/652/64 240/660/64 +f 239/575/59 265/661/50 391/662/50 +f 237/663/64 431/664/66 395/665/66 +f 393/666/82 263/667/56 392/668/56 +f 391/662/50 264/669/69 390/670/69 +f 235/671/56 426/672/63 386/673/63 +f 399/557/50 434/674/69 242/675/69 +f 390/670/69 424/676/82 234/677/82 +f 381/678/82 422/679/55 382/680/55 +f 392/668/56 432/681/64 237/663/64 +f 234/677/82 262/682/56 235/671/56 +f 370/635/82 409/618/52 248/683/82 +f 242/675/69 269/684/82 393/666/82 +f 232/685/50 419/686/69 233/687/69 +f 364/621/74 246/688/69 365/656/69 +f 233/687/69 259/689/82 381/678/82 +f 236/572/59 420/690/50 232/685/50 +f 290/691/54 167/692/59 275/693/54 +f 291/694/64 166/695/53 274/696/64 +f 175/697/53 275/693/54 166/695/53 +f 176/698/56 274/696/64 165/699/56 +f 288/700/69 273/701/82 272/702/69 +f 289/703/50 272/704/69 276/705/50 +f 284/706/69 216/707/82 361/708/69 +f 173/709/64 358/710/53 217/711/64 +f 285/712/59 360/713/50 359/714/59 +f 360/713/50 284/706/69 361/708/69 +f 282/715/56 217/711/64 357/716/56 +f 293/717/56 297/718/64 180/719/56 +f 178/720/59 299/721/50 182/722/59 +f 287/723/82 165/699/56 273/701/82 +f 167/692/59 289/703/50 276/705/50 +f 300/724/69 294/725/82 301/726/82 +f 294/725/82 180/727/56 301/726/82 +f 292/728/64 181/729/53 297/718/64 +f 179/730/53 298/731/54 181/729/53 +f 295/732/50 300/724/69 299/721/50 +f 283/733/82 357/716/56 216/734/82 +f 306/735/59 188/736/50 309/737/59 +f 185/738/54 309/737/59 308/739/54 +f 184/740/50 310/741/69 188/736/50 +f 305/742/69 311/743/82 310/741/69 +f 296/744/54 182/722/59 298/731/54 +f 304/745/56 187/746/64 186/747/56 +f 311/743/82 304/745/56 186/747/56 +f 302/748/53 308/739/54 307/749/53 +f 318/750/53 312/751/54 190/752/53 +f 320/753/82 316/754/56 315/755/82 +f 321/756/50 191/757/69 314/758/50 +f 319/759/64 190/760/53 189/761/64 +f 194/762/59 314/758/50 313/763/59 +f 303/764/64 307/749/53 187/765/64 +f 316/754/56 319/759/64 189/761/64 +f 317/766/54 313/763/59 312/751/54 +f 199/767/82 325/768/56 197/769/82 +f 200/770/50 324/771/69 323/772/50 +f 329/773/53 196/774/54 195/775/53 +f 193/776/69 315/755/82 191/757/69 +f 327/777/59 323/772/50 322/778/59 +f 328/779/54 322/778/59 196/780/54 +f 331/781/69 197/769/82 324/771/69 +f 326/782/64 329/773/53 195/775/53 +f 335/783/64 346/784/53 345/785/64 +f 332/786/50 343/787/69 342/788/50 +f 437/789/82 438/790/69 439/791/82 +f 440/792/69 441/793/50 438/790/69 +f 202/794/56 345/785/64 209/795/56 +f 333/796/59 342/788/50 208/797/59 +f 334/798/54 208/799/59 207/800/54 +f 346/784/53 334/798/54 207/800/54 +f 203/801/69 344/802/82 343/787/69 +f 336/803/82 209/795/56 344/802/82 +f 330/804/56 326/782/64 325/768/56 +f 281/805/54 339/806/59 168/807/59 +f 205/808/64 280/809/53 170/810/64 +f 341/811/56 170/810/64 279/812/56 +f 337/813/69 278/814/82 277/815/69 +f 442/816/49 443/817/50 444/818/49 +f 206/819/82 279/812/56 278/814/82 +f 339/806/59 169/820/50 168/807/59 +f 445/821/55 439/791/84 446/822/55 +f 338/823/50 277/815/69 169/824/50 +f 340/825/53 281/805/54 280/809/53 +f 447/826/85 351/827/86 448/828/86 +f 447/829/85 347/830/87 212/831/85 +f 449/832/87 348/833/88 347/834/87 +f 450/835/88 349/836/89 348/837/88 +f 451/838/90 349/839/89 452/840/89 +f 453/841/91 210/842/90 451/838/90 +f 454/843/92 350/844/91 453/841/91 +f 454/843/92 351/845/86 211/846/92 +f 356/847/50 455/848/59 456/849/50 +f 355/850/54 457/851/53 458/852/54 +f 354/853/64 459/854/56 460/855/64 +f 352/856/82 461/857/69 462/858/82 +f 215/859/69 456/849/50 461/860/69 +f 214/861/59 458/852/54 455/848/59 +f 213/862/53 460/855/64 457/851/53 +f 353/863/56 462/858/82 459/854/56 +f 463/864/47 464/865/47 443/866/47 +f 286/867/53 218/868/54 358/710/53 +f 172/869/54 359/714/59 218/868/54 +f 465/870/69 466/871/50 467/872/69 +f 468/873/50 469/874/59 466/871/50 +f 470/875/60 471/876/59 472/877/60 +f 465/870/69 473/878/52 474/879/52 +f 475/880/47 476/881/47 471/882/47 +f 477/883/50 478/884/59 479/885/50 +f 480/886/59 481/887/54 478/884/59 +f 482/888/67 483/889/54 484/890/67 +f 477/883/50 485/891/74 486/892/74 +f 487/893/47 488/894/47 483/895/47 +f 489/896/59 490/897/54 491/898/59 +f 492/899/54 493/900/53 490/897/54 +f 494/901/66 495/902/53 496/903/66 +f 489/896/59 497/904/49 498/905/49 +f 499/906/47 500/907/47 495/908/47 +f 501/909/54 502/910/53 503/911/54 +f 504/912/53 505/913/64 502/910/53 +f 506/914/63 507/915/64 508/916/63 +f 501/909/54 509/917/60 510/918/60 +f 511/919/47 512/920/47 507/921/47 +f 513/922/53 514/923/64 515/924/53 +f 516/925/64 517/926/56 514/923/64 +f 518/927/55 519/928/56 520/929/55 +f 513/922/53 521/930/67 522/931/67 +f 523/932/47 524/933/47 519/934/47 +f 525/935/64 526/936/56 527/937/64 +f 528/938/56 529/939/82 526/936/56 +f 530/940/52 531/941/82 532/942/52 +f 525/935/64 533/943/66 534/944/66 +f 535/945/47 536/946/47 531/947/47 +f 537/948/56 538/949/82 539/950/56 +f 538/949/82 540/951/69 541/952/69 +f 542/953/74 540/951/69 543/954/74 +f 537/948/56 544/955/63 545/956/63 +f 546/957/47 547/958/47 540/959/47 +f 398/555/49 436/624/49 267/556/50 +f 395/558/51 431/960/51 430/559/52 +f 385/561/53 257/597/53 421/562/54 +f 373/564/55 413/627/55 252/565/56 +f 396/567/57 435/961/57 268/568/55 +f 389/570/54 260/590/54 425/571/59 +f 394/573/60 429/630/60 428/574/59 +f 362/576/61 403/962/61 247/577/63 +f 231/563/54 421/562/54 415/579/59 +f 379/581/63 418/634/63 254/582/64 +f 367/584/65 408/963/65 249/585/66 +f 229/580/59 415/579/59 414/587/50 +f 388/589/67 427/638/67 260/590/54 +f 371/591/68 412/964/68 253/592/67 +f 230/588/50 414/587/50 256/594/69 +f 384/596/66 423/614/66 257/597/53 +f 377/598/70 417/965/70 255/599/60 +f 225/601/59 410/608/59 251/602/50 +f 382/604/71 422/966/71 258/605/49 +f 375/607/54 271/613/54 410/608/59 +f 386/609/73 426/967/73 261/610/74 +f 228/612/53 416/620/53 271/613/54 +f 384/596/75 383/606/49 258/605/72 +f 227/615/64 411/623/64 406/616/53 +f 368/586/66 249/585/66 409/618/76 +f 380/583/64 254/582/64 416/620/53 +f 364/621/77 363/578/63 247/577/62 +f 374/566/56 252/565/56 411/623/64 +f 397/569/58 268/568/55 436/624/78 +f 243/617/53 406/616/53 405/625/54 +f 372/593/67 253/592/67 413/627/79 +f 223/628/59 222/626/54 405/625/54 +f 238/560/52 430/559/52 429/630/80 +f 219/631/53 400/640/53 245/632/54 +f 378/600/60 255/599/60 418/634/81 +f 370/635/82 248/683/82 407/636/56 +f 387/611/74 261/610/74 427/638/83 +f 366/639/64 270/648/64 400/640/53 +f 376/595/69 256/594/69 417/641/52 +f 221/643/82 402/657/82 401/644/56 +f 226/603/50 251/602/50 412/646/74 +f 224/637/56 407/636/56 270/648/64 +f 223/628/59 250/629/59 408/649/49 +f 241/651/53 240/660/64 433/652/64 +f 220/633/54 245/632/54 403/654/60 +f 365/656/69 246/688/69 402/657/82 +f 396/658/67 241/651/53 266/653/53 +f 244/645/56 401/644/56 433/652/64 +f 239/575/59 428/574/59 265/661/50 +f 237/663/64 432/681/64 431/664/66 +f 393/666/82 269/684/82 263/667/56 +f 391/662/50 265/661/50 264/669/69 +f 235/671/56 262/682/56 426/672/63 +f 399/557/50 267/556/50 434/674/69 +f 390/670/69 264/669/69 424/676/82 +f 381/678/82 259/689/82 422/679/55 +f 392/668/56 263/667/56 432/681/64 +f 234/677/82 424/676/82 262/682/56 +f 370/635/82 369/619/52 409/618/52 +f 242/675/69 434/674/69 269/684/82 +f 232/685/50 420/690/50 419/686/69 +f 364/621/74 404/622/74 246/688/69 +f 233/687/69 419/686/69 259/689/82 +f 236/572/59 425/571/59 420/690/50 +f 290/691/54 174/968/59 167/692/59 +f 291/694/64 175/697/53 166/695/53 +f 175/697/53 290/691/54 275/693/54 +f 176/698/56 291/694/64 274/696/64 +f 288/700/69 287/723/82 273/701/82 +f 289/703/50 288/969/69 272/704/69 +f 284/706/69 283/970/82 216/707/82 +f 173/709/64 286/867/53 358/710/53 +f 285/712/59 171/971/50 360/713/50 +f 360/713/50 171/971/50 284/706/69 +f 282/715/56 173/709/64 217/711/64 +f 293/717/56 292/728/64 297/718/64 +f 178/720/59 295/732/50 299/721/50 +f 287/723/82 176/698/56 165/699/56 +f 167/692/59 174/968/59 289/703/50 +f 300/724/69 177/972/69 294/725/82 +f 294/725/82 293/973/56 180/727/56 +f 292/728/64 179/730/53 181/729/53 +f 179/730/53 296/744/54 298/731/54 +f 295/732/50 177/972/69 300/724/69 +f 283/733/82 282/715/56 357/716/56 +f 306/735/59 184/740/50 188/736/50 +f 185/738/54 306/735/59 309/737/59 +f 184/740/50 305/742/69 310/741/69 +f 305/742/69 183/974/82 311/743/82 +f 296/744/54 178/720/59 182/722/59 +f 304/745/56 303/975/64 187/746/64 +f 311/743/82 183/974/82 304/745/56 +f 302/748/53 185/738/54 308/739/54 +f 318/750/53 317/766/54 312/751/54 +f 320/753/82 192/976/56 316/754/56 +f 321/756/50 193/776/69 191/757/69 +f 319/759/64 318/977/53 190/760/53 +f 194/762/59 321/756/50 314/758/50 +f 303/764/64 302/748/53 307/749/53 +f 316/754/56 192/976/56 319/759/64 +f 317/766/54 194/762/59 313/763/59 +f 199/767/82 330/804/56 325/768/56 +f 200/770/50 331/781/69 324/771/69 +f 329/773/53 328/978/54 196/774/54 +f 193/776/69 320/753/82 315/755/82 +f 327/777/59 200/770/50 323/772/50 +f 328/779/54 327/777/59 322/778/59 +f 331/781/69 199/767/82 197/769/82 +f 326/782/64 198/979/64 329/773/53 +f 335/783/64 201/980/53 346/784/53 +f 332/786/50 203/801/69 343/787/69 +f 437/789/82 440/792/69 438/790/69 +f 440/792/69 443/817/50 441/793/50 +f 202/794/56 335/783/64 345/785/64 +f 333/796/59 332/786/50 342/788/50 +f 334/798/54 333/981/59 208/799/59 +f 346/784/53 201/980/53 334/798/54 +f 203/801/69 336/803/82 344/802/82 +f 336/803/82 202/794/56 209/795/56 +f 330/804/56 198/979/64 326/782/64 +f 281/805/54 204/982/54 339/806/59 +f 205/808/64 340/825/53 280/809/53 +f 341/811/56 205/808/64 170/810/64 +f 337/813/69 206/819/82 278/814/82 +f 442/816/49 441/793/50 443/817/50 +f 206/819/82 341/811/56 279/812/56 +f 339/806/59 338/983/50 169/820/50 +f 445/821/55 437/789/82 439/791/82 +f 338/823/50 337/813/69 277/815/69 +f 340/825/53 204/982/54 281/805/54 +f 447/826/85 212/984/85 351/827/86 +f 447/829/85 449/832/87 347/830/87 +f 449/832/87 450/835/88 348/833/88 +f 450/835/88 452/840/89 349/836/89 +f 451/838/90 210/985/90 349/839/89 +f 453/841/91 350/986/91 210/842/90 +f 454/843/92 211/987/92 350/844/91 +f 454/843/92 448/828/86 351/845/86 +f 356/847/50 214/861/59 455/848/59 +f 355/850/54 213/862/53 457/851/53 +f 354/853/64 353/863/56 459/854/56 +f 352/856/82 215/988/69 461/857/69 +f 215/859/69 356/847/50 456/849/50 +f 214/861/59 355/850/54 458/852/54 +f 213/862/53 354/853/64 460/855/64 +f 353/863/56 352/856/82 462/858/82 +f 437/989/47 445/990/47 463/864/47 +f 463/864/47 548/991/47 464/865/47 +f 464/865/47 444/992/47 443/866/47 +f 443/866/47 440/993/47 437/989/47 +f 437/989/47 463/864/47 443/866/47 +f 286/867/53 172/869/54 218/868/54 +f 172/869/54 285/712/59 359/714/59 +f 465/870/69 468/873/50 466/871/50 +f 468/873/50 471/876/59 469/874/59 +f 470/875/60 469/874/59 471/876/59 +f 465/870/69 467/872/69 473/878/52 +f 465/994/47 474/995/47 475/880/47 +f 475/880/47 549/996/47 476/881/47 +f 476/881/47 472/997/47 471/882/47 +f 471/882/47 468/998/47 465/994/47 +f 465/994/47 475/880/47 471/882/47 +f 477/883/50 480/886/59 478/884/59 +f 480/886/59 483/889/54 481/887/54 +f 482/888/67 481/887/54 483/889/54 +f 477/883/50 479/885/50 485/891/74 +f 477/999/47 486/1000/47 487/893/47 +f 487/893/47 550/1001/47 488/894/47 +f 488/894/47 484/1002/47 483/895/47 +f 483/895/47 480/1003/47 477/999/47 +f 477/999/47 487/893/47 483/895/47 +f 489/896/59 492/899/54 490/897/54 +f 492/899/54 495/902/53 493/900/53 +f 494/901/66 493/900/53 495/902/53 +f 489/896/59 491/898/59 497/904/49 +f 489/1004/47 498/1005/47 499/906/47 +f 499/906/47 551/1006/47 500/907/47 +f 500/907/47 496/1007/47 495/908/47 +f 495/908/47 492/1008/47 489/1004/47 +f 489/1004/47 499/906/47 495/908/47 +f 501/909/54 504/912/53 502/910/53 +f 504/912/53 507/915/64 505/913/64 +f 506/914/63 505/913/64 507/915/64 +f 501/909/54 503/911/54 509/917/60 +f 501/1009/47 510/1010/47 511/919/47 +f 511/919/47 552/1011/47 512/920/47 +f 512/920/47 508/1012/47 507/921/47 +f 507/921/47 504/1013/47 501/1009/47 +f 501/1009/47 511/919/47 507/921/47 +f 513/922/53 516/925/64 514/923/64 +f 516/925/64 519/928/56 517/926/56 +f 518/927/55 517/926/56 519/928/56 +f 513/922/53 515/924/53 521/930/67 +f 513/1014/47 522/1015/47 523/932/47 +f 523/932/47 553/1016/47 524/933/47 +f 524/933/47 520/1017/47 519/934/47 +f 519/934/47 516/1018/47 513/1014/47 +f 513/1014/47 523/932/47 519/934/47 +f 525/935/64 528/938/56 526/936/56 +f 528/938/56 531/941/82 529/939/82 +f 530/940/52 529/939/82 531/941/82 +f 525/935/64 527/937/64 533/943/66 +f 525/1019/47 534/1020/47 535/945/47 +f 535/945/47 554/1021/47 536/946/47 +f 536/946/47 532/1022/47 531/947/47 +f 531/947/47 528/1023/47 525/1019/47 +f 525/1019/47 535/945/47 531/947/47 +f 537/948/56 555/1024/82 538/949/82 +f 538/949/82 555/1024/82 540/951/69 +f 542/953/74 541/952/69 540/951/69 +f 537/948/56 539/950/56 544/955/63 +f 537/1025/47 545/1026/47 546/957/47 +f 546/957/47 556/1027/47 547/958/47 +f 547/958/47 543/1028/47 540/959/47 +f 540/959/47 555/1029/47 537/1025/47 +f 537/1025/47 546/957/47 540/959/47 +o Lid +v -1.931852 -1.478220 -1.193358 +v -2.173333 -1.945152 -5.266041 +v -2.414814 -1.956912 -5.377924 +v 1.931852 -1.478220 -1.193358 +v 2.173333 -1.945152 -5.266041 +v 1.690370 -1.489652 -1.302134 +v -1.690370 -1.489653 -1.302134 +v 2.414815 -1.956911 -5.377924 +v 1.673033 -2.438854 -1.092390 +v 2.091291 -3.156821 -5.243586 +v 0.965926 -3.142087 -1.018477 +v 1.207408 -4.035218 -5.145245 +v 0.000000 -3.399489 -0.991423 +v 0.000000 -4.356733 -5.109249 +v -1.207407 -4.035218 -5.145245 +v -0.965926 -3.142087 -1.018477 +v -2.091291 -3.156821 -5.243586 +v -1.673032 -2.438854 -1.092390 +v 1.882161 -3.025071 -5.145136 +v 1.086666 -3.815628 -5.056629 +v -1.086666 -3.815628 -5.056629 +v 0.000000 -4.104991 -5.024233 +v -1.882162 -3.025072 -5.145136 +v 1.463903 -2.330207 -1.213787 +v 0.845185 -2.945537 -1.149113 +v 0.000000 -3.170763 -1.125441 +v -0.845185 -2.945536 -1.149113 +v -1.463903 -2.330208 -1.213787 +vt 0.562753 0.382900 +vt 0.437247 0.390335 +vt 0.433198 0.382900 +vt 0.562753 0.598513 +vt 0.437247 0.591078 +vt 0.558704 0.591078 +vt 0.558704 0.390335 +vt 0.433198 0.598513 +vt 0.433198 0.732342 +vt 0.469636 0.605948 +vt 0.473684 0.732342 +vt 0.510121 0.605948 +vt 0.514170 0.732342 +vt 0.550607 0.605948 +vt 0.554656 0.732342 +vt 0.595142 0.732342 +vt 0.558704 0.605948 +vt 0.591093 0.605948 +vt 0.635628 0.732342 +vt 0.599190 0.605948 +vt 0.631579 0.605948 +vt 0.676113 0.732342 +vt 0.639676 0.605948 +vt 0.676113 0.605948 +vt 0.435223 0.739777 +vt 0.471660 0.739777 +vt 0.475708 0.739777 +vt 0.516194 0.739777 +vt 0.593117 0.739777 +vt 0.556680 0.739777 +vt 0.633603 0.739777 +vt 0.597166 0.739777 +vt 0.674089 0.739777 +vt 0.467611 0.598513 +vt 0.437247 0.605948 +vt 0.439271 0.598513 +vt 0.479757 0.598513 +vt 0.508097 0.598513 +vt 0.520243 0.598513 +vt 0.548583 0.598513 +vt 0.560729 0.598513 +vt 0.589069 0.598513 +vt 0.601215 0.598513 +vt 0.629555 0.598513 +vt 0.672065 0.605948 +vt 0.641700 0.598513 +vt 0.670040 0.598513 +vt 0.433198 0.390335 +vt 0.562753 0.420074 +vt 0.433198 0.423792 +vt 0.562753 0.453532 +vt 0.433198 0.457249 +vt 0.562753 0.486989 +vt 0.433198 0.490706 +vt 0.562753 0.494424 +vt 0.433198 0.524164 +vt 0.562753 0.527881 +vt 0.433198 0.557621 +vt 0.562753 0.561338 +vt 0.433198 0.591078 +vt 0.433198 0.605948 +vt 0.477733 0.605948 +vt 0.518219 0.605948 +vt 0.512146 0.739777 +vt 0.552631 0.739777 +vt 0.637652 0.739777 +vt 0.562753 0.394052 +vt 0.562753 0.427509 +vt 0.562753 0.460967 +vt 0.562753 0.520446 +vt 0.562753 0.553903 +vt 0.562753 0.587361 +vn 0.0045 0.9935 -0.1142 +vn 0.0042 0.9935 -0.1137 +vn -0.0042 0.9935 -0.1137 +vn -0.0045 0.9935 -0.1142 +vn 0.9599 -0.2434 0.1388 +vn 0.8606 -0.4802 0.1697 +vn 0.8601 -0.4811 0.1699 +vn 0.4970 -0.8417 0.2112 +vn 0.4964 -0.8420 0.2113 +vn -0.0000 -0.9740 0.2264 +vn -0.4964 -0.8420 0.2113 +vn -0.4970 -0.8417 0.2112 +vn -0.8601 -0.4811 0.1699 +vn -0.8606 -0.4802 0.1697 +vn -0.9599 -0.2436 0.1388 +vn -0.9598 -0.2440 0.1387 +vn -0.4199 0.0116 -0.9075 +vn -0.3663 0.1092 -0.9241 +vn -0.3661 0.1095 -0.9241 +vn -0.2117 0.2634 -0.9412 +vn 0.0000 0.3200 -0.9474 +vn -0.2115 0.2635 -0.9412 +vn 0.2115 0.2635 -0.9412 +vn 0.2117 0.2634 -0.9412 +vn 0.3661 0.1095 -0.9241 +vn 0.4199 0.0116 -0.9075 +vn 0.3662 0.1092 -0.9241 +vn -0.3573 0.3004 0.8844 +vn -0.4101 0.2039 0.8890 +vn -0.2063 0.4506 0.8686 +vn 0.0000 0.5055 0.8628 +vn 0.2063 0.4506 0.8686 +vn 0.3573 0.3004 0.8844 +vn 0.4101 0.2039 0.8890 +vn 0.9593 0.2425 -0.1449 +vn 0.8600 0.4790 -0.1761 +vn 0.8594 0.4800 -0.1763 +vn 0.4966 0.8402 -0.2177 +vn 0.4960 0.8406 -0.2178 +vn 0.0000 0.9725 -0.2330 +vn -0.4960 0.8406 -0.2178 +vn -0.4966 0.8402 -0.2177 +vn -0.8594 0.4800 -0.1763 +vn -0.8600 0.4790 -0.1761 +vn -0.9593 0.2424 -0.1449 +vn 0.9598 -0.2440 0.1387 +vn -0.9600 -0.2433 0.1388 +vn 0.9591 0.2432 -0.1448 +vn -0.9591 0.2432 -0.1448 +s off +f 557/1030/93 558/1031/93 559/1032/93 +f 560/1033/94 561/1034/94 562/1035/94 +f 557/1030/95 563/1036/95 558/1031/95 +f 560/1033/96 564/1037/96 561/1034/96 +s 1 +f 564/1038/97 565/1039/98 566/1040/99 +f 566/1040/99 567/1041/100 568/1042/101 +f 568/1042/101 569/1043/102 570/1044/102 +f 571/1045/103 569/1046/102 572/1047/104 +f 573/1048/105 572/1049/104 574/1050/106 +f 559/1051/107 574/1052/106 557/1053/108 +f 561/1054/109 566/1040/110 575/1055/111 +f 568/1042/112 575/1056/111 566/1040/110 +f 570/1044/113 576/1057/114 568/1042/112 +f 570/1044/113 577/1058/115 578/1059/113 +f 571/1045/116 579/1060/117 577/1061/115 +f 558/1062/118 573/1048/119 559/1051/118 +f 580/1063/120 560/1064/121 562/1065/121 +f 567/1041/122 580/1066/120 581/1067/122 +f 569/1043/123 581/1068/122 582/1069/123 +f 572/1047/124 582/1070/123 583/1071/124 +f 574/1050/125 583/1072/124 584/1073/125 +f 557/1074/126 584/1075/125 563/1076/126 +f 558/1077/127 584/1078/128 579/1079/129 +f 579/1079/129 583/1080/130 577/1081/131 +f 577/1081/131 582/1082/132 578/1083/132 +f 582/1084/132 576/1085/133 578/1083/132 +f 581/1086/134 575/1087/135 576/1085/133 +f 580/1088/136 561/1089/137 575/1087/135 +f 564/1038/97 560/1090/138 565/1039/98 +f 566/1040/99 565/1091/98 567/1041/100 +f 568/1042/101 567/1092/100 569/1043/102 +f 571/1045/103 570/1044/102 569/1046/102 +f 573/1048/105 571/1045/103 572/1049/104 +f 559/1051/139 573/1048/105 574/1052/106 +f 561/1054/109 564/1038/109 566/1040/110 +f 568/1042/112 576/1093/114 575/1056/111 +f 570/1044/113 578/1094/113 576/1057/114 +f 570/1044/113 571/1045/116 577/1058/115 +f 571/1045/116 573/1048/119 579/1060/117 +f 558/1062/118 579/1095/117 573/1048/119 +f 580/1063/120 565/1039/120 560/1064/121 +f 567/1041/122 565/1091/120 580/1066/120 +f 569/1043/123 567/1092/122 581/1068/122 +f 572/1047/124 569/1046/123 582/1070/123 +f 574/1050/125 572/1049/124 583/1072/124 +f 557/1074/126 574/1052/125 584/1075/125 +f 558/1077/127 563/1096/140 584/1078/128 +f 579/1079/129 584/1097/128 583/1080/130 +f 577/1081/131 583/1098/130 582/1082/132 +f 582/1084/132 581/1099/134 576/1085/133 +f 581/1086/134 580/1100/136 575/1087/135 +f 580/1088/136 562/1101/141 561/1089/137 +o Rifle +v -0.250000 0.603553 28.875000 +v 0.187500 0.452665 28.875000 +v 0.250000 0.603553 28.875000 +v -0.250000 -0.603553 28.875000 +v -0.452665 -0.187500 28.875000 +v -0.603553 -0.250000 28.875000 +v 0.250000 -0.603553 28.875000 +v -0.187500 -0.452665 28.875000 +v 0.603553 -0.250000 28.875000 +v 0.187500 -0.452665 28.875000 +v 0.452665 0.187500 28.875000 +v 0.452665 -0.187500 28.875000 +v 0.603553 0.250000 28.875000 +v -0.603553 0.250000 28.875000 +v -0.452665 0.187500 28.875000 +v -0.187500 0.452665 28.875000 +v -0.312500 1.254442 25.750000 +v -0.312500 1.254442 25.250000 +v -0.312500 1.129442 25.250000 +v 0.312500 1.254442 25.250000 +v 0.187500 1.254442 25.750000 +v 0.312500 1.254442 25.750000 +v -0.187500 1.254442 25.250000 +v 0.312500 0.754442 25.000000 +v 0.312500 -0.754442 25.000000 +v -0.312500 -0.754442 25.000000 +v 0.000000 1.129442 25.250000 +v 0.187500 1.254442 25.250000 +v -0.187500 1.254442 25.750000 +v 0.000000 1.129442 25.750000 +v -0.062500 1.129440 25.687500 +v -0.062500 1.254440 25.437500 +v -0.062500 1.129440 25.312500 +v 0.062500 1.254440 25.437500 +v 0.062500 1.129440 25.312500 +v 0.062500 1.129440 25.687500 +v 0.062500 1.254440 25.687500 +v 0.312500 1.129442 25.250000 +v 0.754441 -0.437500 16.250000 +v 0.312500 -1.256835 16.250000 +v -0.312500 -1.256835 16.250000 +v 0.312500 0.754441 16.625000 +v -0.312500 0.754441 16.625000 +v -0.754442 0.312500 16.625000 +v 0.312500 0.754442 25.750000 +v -0.312501 -1.728554 16.250000 +v 0.312500 -1.728554 16.500000 +v -0.312501 -1.728554 16.500000 +v 0.312500 -1.728554 16.250000 +v 0.312500 -1.256835 16.625000 +v 0.250120 -0.603553 1.375000 +v 0.603553 -0.791053 1.375000 +v 0.603553 -0.249999 1.375000 +v -0.250121 -0.603553 1.375000 +v -0.603554 -0.249999 1.375000 +v -0.603554 -0.791053 1.375000 +v 0.250000 0.603554 1.375000 +v 0.000000 0.853704 1.375000 +v -0.250000 0.603554 1.375000 +v 0.724444 0.250001 0.875000 +v 0.724444 -2.250000 -1.112240 +v 0.724444 0.250000 -1.375000 +v -0.724444 0.250001 0.875000 +v -0.724444 -2.250000 -1.112240 +v -0.724444 -2.249999 0.875000 +v -0.724444 0.250000 -5.625000 +v -0.724444 -2.250000 -7.375000 +v -0.724444 -2.250000 -5.345110 +v 0.724444 0.250000 -5.625000 +v 0.724444 -2.250000 -7.375000 +v 0.724444 0.250000 -7.375000 +v 2.091291 -0.757001 -5.512260 +v 2.091291 -3.156821 -5.243586 +v 0.000000 -4.356733 -5.109249 +v -1.673032 -2.438855 -1.092390 +v 1.673033 -2.438854 -1.092390 +v 0.000000 0.443049 -1.395290 +v 0.989610 -0.662817 -0.526995 +v 0.724445 -0.399105 -0.554712 +v 0.724445 -1.647005 -0.423552 +v -1.086666 -1.023055 -0.489132 +v -0.989609 -1.383293 -0.451269 +v -0.724444 -1.647005 -0.423552 +v 0.797917 -0.910582 -5.805677 +v 0.797917 -0.877917 -5.494890 +v 0.797917 -2.029418 -5.688082 +v -0.797916 -1.528797 -6.306297 +v -0.797916 -1.907145 -6.100872 +v -0.797916 -2.029418 -5.688082 +v 0.362222 0.877387 -7.375000 +v -0.627386 0.612222 -7.375000 +v -0.249999 2.500002 -11.843750 +v -0.124999 2.312502 -11.843750 +v -0.062499 2.375002 -11.843750 +v 0.250000 0.875002 -11.906250 +v 0.250002 2.500002 -11.843750 +v 0.250000 0.875002 -11.843750 +v -0.250000 0.875002 -11.843750 +v 0.250002 2.500002 -11.906250 +v 0.125001 2.312502 -11.906250 +v 0.062502 2.375002 -11.906250 +v -0.249999 2.500002 -11.906250 +v -0.250000 0.875002 -11.906250 +v 0.062502 2.375002 -11.843750 +v -0.124999 2.312502 -11.906250 +v -0.125000 0.875001 -11.843750 +v -0.125000 0.875001 -11.906250 +v -0.062499 2.375002 -11.906250 +v 0.125001 2.312502 -11.843750 +v 0.125000 0.875002 -11.843750 +v 0.125000 0.875002 -11.906250 +v -0.125000 1.250002 -11.968750 +v -0.187500 1.250002 -11.906250 +v -0.125000 1.250002 -11.906250 +v 0.125000 1.250002 -11.968750 +v 0.000000 1.125002 -11.906250 +v 0.125000 1.250002 -11.906250 +v 0.187500 1.250002 -11.906250 +v -0.375000 1.062502 -11.968750 +v 0.187500 1.062502 -11.906250 +v -0.187500 1.062502 -11.906250 +v -0.375000 1.250002 -11.781250 +v -0.375000 1.250002 -11.968750 +v 0.375000 1.250002 -11.968750 +v 0.375000 1.062502 -11.781250 +v 0.375000 1.062502 -11.968750 +v 0.187500 1.250001 -11.781250 +v 0.187500 1.062502 -11.781250 +v -0.375000 1.062502 -11.781250 +v -0.187500 1.250002 -11.781250 +v -0.187500 1.062501 -11.781250 +v 0.375000 1.250002 -11.781250 +v 0.000000 1.125002 -11.968750 +v 0.375000 0.000002 -12.125000 +v 0.250000 0.875002 -12.000000 +v 0.375000 0.875001 -12.000000 +v 0.375000 0.875001 -11.750000 +v 0.375000 0.000002 -10.250000 +v 0.250000 0.625002 -10.375000 +v 0.250000 0.000002 -10.250000 +v 0.250000 0.698225 -11.676777 +v 0.250000 0.000002 -12.125000 +v 0.250000 0.625002 -11.500000 +v 0.375000 0.625002 -10.375000 +v 0.375000 0.625002 -11.500000 +v 0.375000 0.698225 -11.676777 +v -0.375000 0.000002 -12.125000 +v -0.250000 0.875002 -12.000000 +v -0.250000 0.000002 -12.125000 +v -0.375000 0.875001 -12.000000 +v -0.250000 0.875002 -11.750000 +v -0.250000 0.000002 -10.250000 +v -0.375000 0.625002 -10.375000 +v -0.375000 0.000002 -10.250000 +v -0.375000 0.698225 -11.676777 +v -0.375000 0.625002 -11.500000 +v -0.250000 0.625002 -10.375000 +v -0.250000 0.625002 -11.500000 +v -0.250000 0.698225 -11.676777 +v 0.250001 -2.828398 -11.714233 +v 0.250001 -2.758817 -12.340927 +v 0.250000 -2.499998 -11.375000 +v 0.250000 -3.116043 -9.912266 +v 0.250000 -3.478265 -10.384323 +v 0.250000 -2.990160 -11.110531 +v 0.250000 -3.900858 -10.271091 +v 0.250000 -3.478265 -10.009323 +v 0.250000 -3.840487 -9.912266 +v 0.250000 -4.117364 -10.146091 +v 0.250000 -4.105652 -9.647102 +v 0.250001 -4.230652 -9.772102 +v 0.250001 -4.230652 -7.772102 +v 0.250000 -4.105652 -7.772102 +v 0.250000 -4.078906 -7.359745 +v 0.250000 -3.970653 -7.422245 +v 0.250000 -3.763735 -7.085442 +v 0.250000 -3.683386 -7.181198 +v 0.250000 -3.228038 -7.085442 +v 0.250000 -3.308386 -7.181198 +v 0.250000 -2.940555 -7.265007 +v 0.250000 -2.989361 -7.378296 +v 0.250000 -2.874999 -7.375000 +v 0.250001 -2.499999 -7.375000 +v 0.250000 -2.874999 -7.600048 +v 0.250000 -2.874998 -9.625000 +v 0.250001 -2.954977 -12.680687 +v 0.250001 -3.022512 -12.438679 +v -0.250000 -3.116043 -9.912266 +v -0.250000 -3.478265 -10.384300 +v -0.250000 -3.478265 -10.009323 +v -0.250000 -2.758817 -12.340927 +v -0.250000 -2.954977 -12.680687 +v -0.250000 -3.022512 -12.438679 +v -0.250000 -3.900858 -10.271091 +v -0.250000 -3.840487 -9.912266 +v -0.250000 -4.117364 -10.146091 +v -0.250000 -4.105652 -9.647102 +v -0.250000 -4.230652 -9.772102 +v -0.249999 -4.230652 -7.772102 +v -0.250000 -4.105652 -7.772102 +v -0.249999 -4.078906 -7.359745 +v -0.250000 -3.970653 -7.422245 +v -0.250000 -3.763735 -7.085442 +v -0.250000 -3.683386 -7.181198 +v -0.249999 -3.228038 -7.085442 +v -0.250000 -3.308386 -7.181198 +v -0.250000 -2.940555 -7.265007 +v -0.250000 -2.989361 -7.378296 +v -0.250000 -2.874999 -7.375000 +v -0.250000 -2.874999 -7.600048 +v -0.250000 -2.499999 -7.375000 +v -0.250000 -2.874998 -9.625000 +v -0.250000 -2.499998 -11.375000 +v 0.125000 -2.999998 -9.187500 +v 0.125000 -3.374998 -9.125000 +v 0.125000 -3.374998 -9.250000 +v 0.125000 -3.687498 -9.187500 +v 0.125000 -3.687498 -9.062500 +v 0.125000 -3.937498 -9.000000 +v -0.125000 -2.999998 -9.187500 +v -0.125000 -3.374998 -9.125000 +v -0.125000 -2.999998 -9.062500 +v -0.125000 -3.687498 -9.187500 +v -0.125000 -3.374998 -9.250000 +v -0.125000 -3.937498 -9.000000 +v -0.125000 -3.687498 -9.062500 +v 0.125000 -2.874998 -9.375000 +v -0.125000 -3.937498 -8.875000 +v 0.125000 -3.937498 -8.875000 +v -0.125000 -2.874998 -9.000000 +v -0.125000 -2.874998 -9.375000 +v 0.125000 -2.874998 -9.000000 +v 0.125000 -2.999998 -9.062500 +v -0.754442 -0.312500 25.750000 +v -0.312500 -0.754442 25.750000 +v 0.312500 -0.754442 25.750000 +v 0.362222 0.877387 0.875000 +v -0.362222 0.877387 0.875000 +v 0.627387 -2.612221 0.875000 +v 0.724444 -2.249999 0.875000 +v -0.362222 -2.877386 0.875000 +v -0.250000 -2.828398 -11.714233 +v -0.250000 -2.990160 -11.110531 +v -0.724444 0.250000 -7.375000 +v 0.000000 -2.974444 -7.375000 +v -0.627386 -2.612221 -7.375000 +v -0.312500 0.754442 25.000000 +v -0.312500 0.754442 25.750000 +v -0.754442 -0.312500 25.000000 +v -0.754442 0.312500 25.000000 +v 0.754442 0.312500 25.000000 +v 0.754442 -0.312500 25.000000 +v 0.408300 -0.930195 25.000000 +v 0.288712 -1.218907 25.000000 +v -0.288713 -1.218907 25.000000 +v -0.408301 -0.930195 25.000000 +v 0.000000 -1.338495 25.000000 +v -0.062500 1.254440 25.687500 +v -0.754442 -0.437500 16.250000 +v -0.754442 0.312500 16.250000 +v -0.312500 0.754441 16.250000 +v 0.312500 0.754441 16.250000 +v 0.754441 0.312500 16.250000 +v -0.754442 -0.437501 16.625000 +v 0.754441 -0.437500 16.625000 +v -0.312500 -1.256835 16.625000 +v 0.754441 0.312500 16.625000 +v 0.603553 0.250001 1.375000 +v 0.522822 0.551852 1.375000 +v 0.301852 0.772823 1.375000 +v -0.301852 0.772823 1.375000 +v -0.522823 0.551853 1.375000 +v -0.603554 0.250001 1.375000 +v -0.724444 0.250000 -1.375000 +v 0.724444 -2.250000 -5.345110 +v -2.091290 -0.757001 -5.512260 +v -1.207407 0.121395 -5.610601 +v 0.000000 0.442909 -5.646597 +v 1.207408 0.121394 -5.610601 +v 2.414815 -1.956912 -5.377924 +v 1.207407 -4.035218 -5.145245 +v -1.207407 -4.035218 -5.145245 +v -2.091290 -3.156821 -5.243586 +v -2.414814 -1.956912 -5.377924 +v -0.965925 0.185647 -1.368237 +v -1.673032 -0.517586 -1.294323 +v -1.931851 -1.478220 -1.193358 +v -0.965925 -3.142087 -1.018477 +v 0.000000 -3.399489 -0.991423 +v 0.965926 -3.142087 -1.018477 +v 1.931852 -1.478220 -1.193358 +v 1.673033 -0.517586 -1.294323 +v 0.965926 0.185647 -1.368237 +v 0.989610 -1.383293 -0.451269 +v 1.086667 -1.023055 -0.489132 +v -0.724444 -0.399105 -0.554712 +v -0.989609 -0.662817 -0.526995 +v 0.797917 -1.996754 -5.377295 +v 0.797917 -1.907145 -6.100872 +v 0.797917 -1.528797 -6.306297 +v 0.797917 -1.116008 -6.184023 +v -0.797916 -1.996753 -5.377295 +v -0.797916 -0.877916 -5.494890 +v -0.797916 -0.910581 -5.805677 +v -0.797916 -1.116007 -6.184023 +v -0.362222 0.877387 -7.375000 +v 0.000000 0.974444 -7.375000 +v 0.627387 0.612222 -7.375000 +v 0.250000 0.875002 -11.750000 +v -0.375000 0.875001 -11.750000 +v -0.408301 -0.930195 25.750000 +v -0.288713 -1.218907 25.750000 +v 0.000000 -1.338495 25.750000 +v 0.288712 -1.218907 25.750000 +v 0.408300 -0.930195 25.750000 +v 0.754442 -0.312500 25.750000 +v 0.754442 0.312500 25.750000 +v -0.754442 0.312500 25.750000 +v 0.000000 0.974445 0.875000 +v -0.627387 0.612222 0.875000 +v 0.627386 0.612222 0.875000 +v -0.627387 -2.612221 0.875000 +v 0.000000 -2.974443 0.875000 +v 0.362222 -2.877387 0.875000 +v -0.362222 -2.877387 -7.375000 +v 0.627387 -2.612221 -7.375000 +v 0.362222 -2.877387 -7.375000 +v 0.603553 0.250000 25.750000 +v 0.250000 0.603553 25.750000 +v 0.603553 -0.250000 25.750000 +v 0.250000 -0.603553 25.750000 +v -0.250000 -0.603553 25.750000 +v -0.603553 -0.250000 25.750000 +v -0.603553 0.250000 25.750000 +v -0.250000 0.603553 25.750000 +v -0.187500 -0.452665 25.750000 +v -0.452665 -0.187500 25.750000 +v -0.452665 0.187500 25.750000 +v -0.187500 0.452665 25.750000 +v 0.187500 0.452665 25.750000 +v 0.452665 0.187500 25.750000 +v 0.452665 -0.187500 25.750000 +v 0.187500 -0.452665 25.750000 +v 0.250000 -0.603553 25.000000 +v 0.603553 -0.250001 16.625000 +v 0.603553 -0.250000 25.000000 +v 0.603553 0.250000 25.000000 +v 0.250000 0.603553 16.625000 +v 0.250000 0.603553 25.000000 +v -0.250000 0.603553 25.000000 +v -0.603554 0.250000 16.625000 +v -0.603553 0.250000 25.000000 +v -0.250000 -0.603553 25.000000 +v -0.603554 -0.250000 16.625000 +v -0.250000 -0.603554 16.625000 +v 0.250000 -0.603554 16.625000 +v 0.603553 0.250000 16.625000 +v -0.250000 0.603553 16.625000 +v -0.603553 -0.250000 25.000000 +v -0.250241 -2.353553 0.875000 +v 0.250240 -2.353552 1.375000 +v -0.250243 -2.353552 1.375000 +v 0.250238 -0.603553 5.125000 +v 0.603551 -0.791053 5.125000 +v -0.603554 -2.166052 1.375000 +v -0.575003 -0.791053 5.125000 +v -0.250243 -0.603553 5.125000 +v 0.603551 -2.166052 5.125000 +v 0.603553 -2.166052 1.375000 +v -0.404007 -0.728554 16.125000 +v -0.187500 -0.603554 16.250000 +v 0.404006 -0.728554 16.125000 +v 0.187500 -0.603554 16.250000 +v -0.250243 -2.353552 5.125000 +v -0.187500 -1.728554 16.250000 +v -0.575003 -2.166052 5.125000 +v -0.404007 -1.603554 16.125000 +v 0.250238 -2.353552 5.125000 +v 0.187500 -1.728554 16.250000 +v 0.404006 -1.603554 16.125000 +v -0.250000 0.603553 16.250000 +v -0.603554 0.250000 16.250000 +v 0.603553 -0.250000 16.250000 +v 0.603553 0.250000 16.250000 +v -0.603554 -0.250000 16.250000 +v 0.250000 0.603553 16.250000 +v 0.000000 -0.603554 25.000000 +v 0.230969 -0.699225 16.625000 +v 0.000000 -0.603554 16.625000 +v 0.326640 -0.930195 25.000000 +v 0.230969 -1.161165 16.625000 +v 0.326640 -0.930195 16.625000 +v 0.000000 -1.256835 25.000000 +v -0.230970 -1.161165 16.625000 +v 0.000000 -1.256835 16.625000 +v -0.326641 -0.930195 25.000000 +v -0.230970 -0.699225 16.625000 +v -0.326641 -0.930195 16.625000 +v 0.230969 -0.699225 25.000000 +v 0.230969 -1.161165 25.000000 +v -0.230970 -1.161165 25.000000 +v -0.230970 -0.699225 25.000000 +v 0.250120 -0.603555 16.250000 +v -0.250121 -0.603554 16.250000 +v 0.301852 0.772823 0.875000 +v -0.603554 -2.166052 0.875000 +v 0.000000 0.853704 0.875000 +v -0.301852 0.772823 0.875000 +v 0.522822 0.551852 0.875000 +v -0.522823 0.551853 0.875000 +v -0.603554 0.250001 0.875000 +v 0.603553 0.250001 0.875000 +v 0.603553 -2.166052 0.875000 +v 0.000001 -2.974444 -1.036097 +v 0.362222 -2.877387 -1.046301 +v 0.627387 -2.612221 -1.074171 +v -0.627386 -2.612222 -1.074171 +v -0.362222 -2.877387 -1.046301 +v 0.362222 -2.877387 -5.274868 +v -0.627386 -2.612221 -5.304556 +v -0.362222 -2.877387 -5.274868 +v 0.627387 -2.612221 -5.304556 +v 0.000000 -2.974444 -5.264000 +v 0.989610 -0.741213 -1.272886 +v 1.086667 -1.101451 -1.235023 +v 0.989610 -1.461689 -1.197161 +v 0.724445 -1.725402 -1.169443 +v 0.724445 -0.477501 -1.300604 +v -0.989609 -0.741213 -1.272886 +v -0.724444 -0.477501 -1.300604 +v -0.989609 -1.461689 -1.197161 +v -0.724444 -1.725401 -1.169443 +v -1.086666 -1.101451 -1.235023 +v 0.724444 -0.810009 -5.816248 +v 0.724444 -0.777343 -5.505461 +v 0.724444 -2.097327 -5.366724 +v 0.724444 -2.129992 -5.677511 +v 0.724444 -1.985734 -6.164513 +v 0.724444 -1.052368 -6.262613 +v 0.724444 -1.539368 -6.406870 +v -0.724443 -2.097327 -5.366724 +v -0.724443 -2.129992 -5.677511 +v -0.724443 -0.810009 -5.816248 +v -0.724443 -1.052367 -6.262613 +v -0.724443 -1.985733 -6.164513 +v -0.724443 -1.539368 -6.406870 +v -0.375000 -2.499998 -11.375000 +v 0.375000 -2.499999 -7.375000 +v -0.375001 -2.499999 -7.375000 +v -0.375000 -1.792115 -27.624638 +v 0.375000 -0.733765 -17.555103 +v 0.375000 -1.792115 -27.624638 +v -0.375000 -5.103412 -16.649258 +v 0.375000 -5.588698 -14.838146 +v -0.375000 -5.588697 -14.838146 +v -0.375000 -7.594545 -26.979065 +v 0.375000 -7.219544 -27.628586 +v 0.375000 -7.594545 -26.979065 +v -0.375000 -5.103412 -17.682030 +v 0.375000 -5.103411 -16.649258 +v -0.375000 -7.219544 -27.628601 +v 0.375000 -5.140982 -28.070396 +v 0.375000 -5.103411 -17.682030 +v 0.375000 -3.368846 -28.017761 +v -0.375000 -3.368846 -28.017761 +v -0.375000 -5.140982 -28.070400 +v 0.375000 -0.513028 -14.034538 +v -0.375000 -1.588484 -15.570450 +v -0.375000 -0.513028 -14.034538 +v -0.375000 -3.446317 -13.531712 +v 0.375000 -2.758817 -12.340927 +v -0.375000 -2.758817 -12.340927 +v 0.375000 -1.588484 -15.570450 +v -0.375000 -1.588484 -15.820450 +v -0.375001 -4.418590 -14.503983 +v 0.374999 -3.446317 -13.531712 +v 0.375000 -2.499998 -11.375000 +v 0.374999 -4.418590 -14.503983 +v -0.375000 -0.733765 -17.555103 +v 0.375000 -1.588484 -15.820450 +v -0.375000 0.000002 -12.625000 +v 0.375000 0.000002 -12.625000 +v -0.375000 0.000001 -7.375000 +v -0.625000 -0.983720 -17.805099 +v -0.625000 -2.508772 -12.590923 +v -0.625000 -7.344500 -26.979061 +v -0.625000 -4.168545 -14.753979 +v -0.625000 -6.969501 -27.378582 +v -0.625000 -5.338654 -14.838142 +v -0.625000 -2.042071 -27.374634 +v -0.625000 -0.762984 -13.784534 +v -0.625000 -0.249954 -12.374996 +v -0.625000 -5.140938 -27.820393 +v -0.625000 -1.838439 -15.320446 +v -0.625000 -4.853367 -16.649254 +v -0.625000 -1.838439 -16.070446 +v -0.625000 -2.249954 -7.374996 +v -0.625000 -4.853367 -17.932026 +v -0.625000 -2.249953 -11.624996 +v 0.625000 -0.249955 -7.374996 +v 0.625000 -2.249953 -11.624996 +v 0.625000 -0.249954 -12.374996 +v 0.375000 0.000001 -7.375000 +v 0.625000 -0.762984 -13.784534 +v 0.625000 -1.838439 -15.320446 +v 0.625000 -1.838439 -16.070446 +v 0.625000 -0.983720 -17.805099 +v 0.625000 -2.042071 -27.374634 +v 0.625000 -3.368801 -27.767757 +v 0.625000 -5.140937 -27.820393 +v 0.625000 -6.969500 -27.378582 +v 0.625000 -7.344500 -26.979061 +v 0.625000 -4.853367 -17.932026 +v 0.625000 -4.853367 -16.649254 +v 0.625000 -5.338654 -14.838142 +v 0.625000 -4.168545 -14.753979 +v 0.625000 -2.508773 -12.590923 +v 0.625000 -2.249954 -7.374996 +v -0.625000 -0.249955 -7.374996 +v -0.625000 -3.196272 -13.781708 +v -0.625000 -3.368801 -27.767757 +v 0.625000 -3.196272 -13.781708 +v 0.250000 0.000002 -12.375000 +v 0.250000 0.500000 -7.375000 +v 0.250000 0.000000 -7.375000 +v -0.250000 0.500002 -12.375000 +v -0.250000 0.000000 -7.375000 +v -0.250000 0.500000 -7.375000 +v 0.173228 0.673228 -7.375000 +v 0.000000 0.744982 -12.375000 +v 0.000000 0.744981 -7.375000 +v -0.173227 0.673229 -12.375000 +v -0.173227 0.673228 -7.375000 +v 0.173228 0.673229 -12.375000 +v 0.250000 0.500001 -12.375000 +v 0.173227 0.500002 -12.548225 +v 0.122492 0.673229 -12.497490 +v 0.000000 0.673229 -12.548229 +v 0.000000 0.500002 -12.619980 +v -0.122491 0.673229 -12.497490 +v -0.173226 0.500002 -12.548225 +v -0.173226 0.000002 -12.548225 +v -0.250000 0.000002 -12.375000 +v 0.000000 0.000002 -12.619980 +v 0.173227 0.000002 -12.548225 +v 0.250000 0.856696 -11.830807 +v -0.250000 0.812502 -11.812500 +v 0.250000 0.812501 -11.812500 +v 0.250000 0.750001 -11.875000 +v -0.250000 0.768307 -11.919193 +v 0.250000 0.768307 -11.919193 +v -0.250000 0.768307 -11.830807 +v 0.250000 0.768307 -11.830807 +v 0.250000 0.856696 -11.919193 +v -0.250000 0.812502 -11.937500 +v -0.250000 0.856696 -11.919193 +v 0.250000 0.812501 -11.937500 +v -0.250000 0.750001 -11.875000 +v -0.250000 0.856696 -11.830807 +v 0.250240 -2.353552 0.875000 +v -0.724443 -0.777343 -5.505461 +vt 0.959514 0.921933 +vt 0.955466 0.910781 +vt 0.959514 0.910781 +vt 0.959514 0.955390 +vt 0.955466 0.944238 +vt 0.959514 0.944238 +vt 0.959514 0.966543 +vt 0.955466 0.955390 +vt 0.959514 0.977695 +vt 0.955466 0.966543 +vt 0.955466 0.988848 +vt 0.955466 0.977695 +vt 0.959514 0.988848 +vt 0.955466 1.000000 +vt 0.959514 0.933086 +vt 0.955466 0.933086 +vt 0.955466 0.921933 +vt 0.809717 0.802974 +vt 0.825911 0.802974 +vt 0.825911 0.806691 +vt 0.874494 0.828996 +vt 0.858300 0.832714 +vt 0.858300 0.828996 +vt 0.858300 0.851301 +vt 0.874494 0.847584 +vt 0.874494 0.851301 +vt 0.844130 0.881041 +vt 0.844130 0.836431 +vt 0.823887 0.836431 +vt 0.874494 0.840149 +vt 0.874494 0.832714 +vt 0.858300 0.847584 +vt 0.858300 0.840149 +vt 0.874494 0.825279 +vt 0.870445 0.814126 +vt 0.874494 0.814126 +vt 0.870445 0.810409 +vt 0.874494 0.810409 +vt 0.874494 0.799257 +vt 0.870445 0.828996 +vt 0.874494 0.828996 +vt 0.870445 0.817844 +vt 0.866397 0.825279 +vt 0.866397 0.817844 +vt 0.773279 0.806691 +vt 0.773279 0.802974 +vt 0.789474 0.802974 +vt 0.955466 0.875465 +vt 0.941296 0.851301 +vt 0.921053 0.851301 +vt 0.892712 0.910781 +vt 0.872470 0.910781 +vt 0.858300 0.897770 +vt 0.789474 0.817844 +vt 0.793522 0.802974 +vt 0.799595 0.806691 +vt 0.983806 0.881041 +vt 0.971660 0.899628 +vt 0.971660 0.881041 +vt 1.000000 0.881041 +vt 0.983806 0.899628 +vt 0.955466 0.899628 +vt 0.591093 0.795539 +vt 0.595142 0.806691 +vt 0.578947 0.806691 +vt 0.736842 0.795539 +vt 0.748988 0.806691 +vt 0.732794 0.806691 +vt 0.518153 0.799263 +vt 0.510121 0.806642 +vt 0.502090 0.799263 +vt 0.000000 0.672862 +vt 0.064777 0.598513 +vt 0.072874 0.672862 +vt 0.000000 0.457249 +vt 0.064777 0.531599 +vt 0.000000 0.531599 +vt 0.129555 0.672862 +vt 0.072874 0.598513 +vt 0.137652 0.598513 +vt 0.129555 0.457249 +vt 0.072874 0.531599 +vt 0.072874 0.457249 +vt 0.287111 0.613660 +vt 0.287111 0.542474 +vt 0.354251 0.506881 +vt 0.316093 0.419142 +vt 0.424798 0.419142 +vt 0.370445 0.505576 +vt 0.939852 0.768664 +vt 0.949169 0.776952 +vt 0.905082 0.776952 +vt 0.975708 0.765799 +vt 0.988435 0.768664 +vt 0.997752 0.776952 +vt 0.943320 0.756505 +vt 0.943320 0.765799 +vt 0.906883 0.756505 +vt 0.969636 0.739777 +vt 0.982516 0.744678 +vt 0.987854 0.756505 +vt 0.306899 0.661712 +vt 0.327935 0.650558 +vt 0.315789 0.692176 +vt 0.716599 0.743494 +vt 0.724696 0.732342 +vt 0.728745 0.736059 +vt 0.680162 0.646840 +vt 0.676113 0.743494 +vt 0.676113 0.646840 +vt 0.716599 0.646840 +vt 0.680162 0.743494 +vt 0.688259 0.732342 +vt 0.692308 0.736059 +vt 0.712551 0.743494 +vt 0.712551 0.646840 +vt 0.736842 0.736059 +vt 0.765182 0.747212 +vt 0.672065 0.750929 +vt 0.672065 0.747212 +vt 0.777328 0.750929 +vt 0.769231 0.747212 +vt 0.777328 0.747212 +vt 0.704453 0.732342 +vt 0.704453 0.646840 +vt 0.748988 0.646840 +vt 0.740891 0.732342 +vt 0.740891 0.646840 +vt 0.781377 0.747212 +vt 0.769231 0.750929 +vt 0.748988 0.743494 +vt 0.712551 0.747212 +vt 0.680162 0.747212 +vt 0.781377 0.750929 +vt 0.874494 0.747212 +vt 0.874494 0.750929 +vt 0.700405 0.736059 +vt 0.728745 0.635688 +vt 0.736842 0.639405 +vt 0.728745 0.639405 +vt 0.720648 0.635688 +vt 0.724696 0.639405 +vt 0.720648 0.639405 +vt 0.712551 0.639405 +vt 0.748988 0.624535 +vt 0.712551 0.620818 +vt 0.736842 0.620818 +vt 0.761134 0.635688 +vt 0.748988 0.635688 +vt 0.700405 0.635688 +vt 0.688259 0.624535 +vt 0.700405 0.624535 +vt 0.676113 0.635688 +vt 0.676113 0.624535 +vt 0.761134 0.624535 +vt 0.773279 0.635688 +vt 0.805668 0.624535 +vt 0.813765 0.635688 +vt 0.805668 0.635688 +vt 0.781377 0.635688 +vt 0.773279 0.624535 +vt 0.781377 0.624535 +vt 0.700405 0.646840 +vt 0.748988 0.646840 +vt 0.748988 0.613383 +vt 0.700405 0.613383 +vt 0.724696 0.628253 +vt 0.793522 0.628253 +vt 0.748988 0.721190 +vt 0.777328 0.717472 +vt 0.777328 0.721190 +vt 0.785425 0.721190 +vt 0.858300 0.721190 +vt 0.838057 0.717472 +vt 0.858300 0.717472 +vt 0.855926 0.726448 +vt 0.866397 0.721190 +vt 0.870445 0.747212 +vt 0.850201 0.728625 +vt 0.813769 0.728625 +vt 0.809717 0.747212 +vt 0.805664 0.728625 +vt 0.809717 0.747212 +vt 0.769232 0.728625 +vt 0.748988 0.747212 +vt 0.753036 0.721190 +vt 0.763507 0.726448 +vt 0.748988 0.717472 +vt 0.777328 0.721190 +vt 0.748988 0.721190 +vt 0.777328 0.717472 +vt 0.785425 0.721190 +vt 0.858300 0.721190 +vt 0.838057 0.717472 +vt 0.858300 0.717472 +vt 0.763507 0.726448 +vt 0.753036 0.721190 +vt 0.748988 0.747212 +vt 0.769232 0.728625 +vt 0.805664 0.728625 +vt 0.809717 0.747212 +vt 0.813769 0.728625 +vt 0.809717 0.747212 +vt 0.850201 0.728625 +vt 0.870445 0.747212 +vt 0.866397 0.721190 +vt 0.855926 0.726448 +vt 0.773279 0.654275 +vt 0.757085 0.650558 +vt 0.773279 0.650558 +vt 0.595142 0.420074 +vt 0.574899 0.431227 +vt 0.607287 0.434944 +vt 0.635628 0.438662 +vt 0.643725 0.420074 +vt 0.615385 0.420074 +vt 0.659919 0.420074 +vt 0.643725 0.431227 +vt 0.659919 0.431227 +vt 0.668016 0.420074 +vt 0.668016 0.434944 +vt 0.680162 0.420074 +vt 0.676113 0.427509 +vt 0.744939 0.420074 +vt 0.684211 0.423792 +vt 0.744939 0.423792 +vt 0.761134 0.420074 +vt 0.761134 0.423792 +vt 0.773279 0.420074 +vt 0.773279 0.423792 +vt 0.789474 0.420074 +vt 0.777328 0.423792 +vt 0.785425 0.423792 +vt 0.801619 0.420074 +vt 0.789474 0.423792 +vt 0.801619 0.423792 +vt 0.805668 0.420074 +vt 0.659919 0.379182 +vt 0.659919 0.364312 +vt 0.651822 0.364312 +vt 0.587045 0.364312 +vt 0.530364 0.379182 +vt 0.805668 0.364312 +vt 0.817814 0.420074 +vt 0.817814 0.364312 +vt 0.562753 0.420074 +vt 0.570850 0.431227 +vt 0.570850 0.420074 +vt 0.635628 0.382900 +vt 0.643725 0.401487 +vt 0.643725 0.390335 +vt 0.570850 0.390335 +vt 0.562753 0.401487 +vt 0.570850 0.401487 +vt 0.659919 0.401487 +vt 0.659919 0.390335 +vt 0.668016 0.401487 +vt 0.668016 0.386617 +vt 0.680162 0.401487 +vt 0.676113 0.394052 +vt 0.684211 0.397770 +vt 0.744939 0.401487 +vt 0.744939 0.397770 +vt 0.761134 0.401487 +vt 0.761134 0.397770 +vt 0.773279 0.401487 +vt 0.773279 0.397770 +vt 0.777328 0.397770 +vt 0.789474 0.401487 +vt 0.785425 0.397770 +vt 0.789474 0.397770 +vt 0.801619 0.401487 +vt 0.801619 0.397770 +vt 0.805668 0.401487 +vt 0.805668 0.397770 +vt 0.659919 0.334572 +vt 0.651822 0.349442 +vt 0.659919 0.349442 +vt 0.587045 0.349442 +vt 0.817814 0.297398 +vt 0.805668 0.349442 +vt 0.817814 0.349442 +vt 0.417004 0.375465 +vt 0.429150 0.371747 +vt 0.429150 0.375465 +vt 0.441296 0.375465 +vt 0.441296 0.371747 +vt 0.453441 0.375465 +vt 0.417004 0.356877 +vt 0.429150 0.360595 +vt 0.417004 0.360595 +vt 0.441296 0.356877 +vt 0.429150 0.356877 +vt 0.453441 0.356877 +vt 0.441296 0.360595 +vt 0.493927 0.360595 +vt 0.502024 0.371747 +vt 0.493927 0.371747 +vt 0.453441 0.360595 +vt 0.457490 0.371747 +vt 0.453441 0.371747 +vt 0.412955 0.360595 +vt 0.412955 0.349442 +vt 0.412955 0.371747 +vt 0.417004 0.371747 +vt 0.761134 0.849442 +vt 0.775304 0.836431 +vt 0.795547 0.836431 +vt 0.306899 0.728623 +vt 0.306899 0.706321 +vt 0.327935 0.695167 +vt 0.421053 0.736786 +vt 0.408907 0.739777 +vt 0.429943 0.706321 +vt 0.327935 0.739777 +vt 0.408907 0.695167 +vt 0.574899 0.390335 +vt 0.595142 0.401487 +vt 0.607287 0.386617 +vt 0.615385 0.401487 +vt 0.327935 0.695167 +vt 0.408907 0.650558 +vt 0.408907 0.695167 +vt 0.433198 0.672862 +vt 0.421053 0.692176 +vt 0.959514 1.000000 +vt 0.834008 0.817844 +vt 0.809717 0.817844 +vt 0.809717 0.849442 +vt 0.809717 0.868030 +vt 0.823887 0.881041 +vt 0.858300 0.868030 +vt 0.858300 0.849442 +vt 0.846154 0.828996 +vt 0.842105 0.821561 +vt 0.825911 0.821561 +vt 0.821862 0.828996 +vt 0.834008 0.817844 +vt 0.870445 0.825279 +vt 0.870445 0.799257 +vt 0.765182 0.817844 +vt 0.906883 0.875465 +vt 0.906883 0.897770 +vt 0.921053 0.910781 +vt 0.941296 0.910781 +vt 0.955466 0.897770 +vt 0.858300 0.875465 +vt 0.906883 0.875465 +vt 0.872470 0.851301 +vt 0.892712 0.851301 +vt 0.906883 0.897770 +vt 0.805668 0.802974 +vt 1.000000 0.899628 +vt 0.955466 0.881041 +vt 0.529511 0.788833 +vt 0.526918 0.797738 +vt 0.519819 0.804256 +vt 0.500424 0.804256 +vt 0.493325 0.797738 +vt 0.490732 0.788833 +vt 0.000000 0.598513 +vt 0.072874 0.457249 +vt 0.072874 0.672862 +vt 0.137652 0.531599 +vt 0.421390 0.613660 +vt 0.393014 0.639715 +vt 0.354251 0.649253 +vt 0.315488 0.639715 +vt 0.276725 0.578067 +vt 0.315488 0.516418 +vt 0.393014 0.516418 +vt 0.421390 0.542474 +vt 0.431777 0.578067 +vt 0.339065 0.497862 +vt 0.316093 0.476769 +vt 0.307692 0.447955 +vt 0.339065 0.398048 +vt 0.370445 0.390335 +vt 0.401826 0.398048 +vt 0.433198 0.447955 +vt 0.424798 0.476769 +vt 0.401826 0.497862 +vt 0.914399 0.768664 +vt 0.927126 0.765799 +vt 0.953665 0.776952 +vt 0.962982 0.768664 +vt 0.906883 0.765799 +vt 0.912221 0.744678 +vt 0.925101 0.739777 +vt 0.937982 0.744678 +vt 0.987854 0.765799 +vt 0.951417 0.765799 +vt 0.951417 0.756505 +vt 0.956756 0.744678 +vt 0.306899 0.684013 +vt 0.303644 0.672862 +vt 0.315789 0.653549 +vt 0.724696 0.646840 +vt 0.688259 0.646840 +vt 0.765182 0.750929 +vt 0.724696 0.635688 +vt 0.688259 0.635688 +vt 0.813765 0.624535 +vt 0.712551 0.646840 +vt 0.736842 0.646840 +vt 0.736842 0.613383 +vt 0.712551 0.613383 +vt 0.789474 0.635688 +vt 0.797571 0.635688 +vt 0.748988 0.717472 +vt 0.785425 0.717472 +vt 0.838057 0.721190 +vt 0.858300 0.721190 +vt 0.761134 0.721190 +vt 0.785425 0.717472 +vt 0.838057 0.721190 +vt 0.761134 0.721190 +vt 0.858300 0.721190 +vt 0.757085 0.654275 +vt 0.805668 0.423792 +vt 0.805668 0.405204 +vt 0.530364 0.334572 +vt 0.805668 0.315985 +vt 0.502024 0.360595 +vt 0.457490 0.360595 +vt 0.412955 0.382900 +vt 0.773279 0.828996 +vt 0.777328 0.821561 +vt 0.785425 0.817844 +vt 0.793522 0.821561 +vt 0.797571 0.828996 +vt 0.809717 0.849442 +vt 0.775304 0.881041 +vt 0.809717 0.868030 +vt 0.795547 0.881041 +vt 0.761134 0.868030 +vt 0.303644 0.717472 +vt 0.315789 0.698158 +vt 0.315789 0.736786 +vt 0.421053 0.698158 +vt 0.433198 0.717472 +vt 0.429943 0.728623 +vt 0.429943 0.684013 +vt 0.421053 0.653549 +vt 0.429943 0.661712 +vt -0.000000 1.000000 +vt 0.101215 0.985130 +vt 0.101215 1.000000 +vt -0.000000 0.985130 +vt 0.101215 0.970260 +vt 0.000000 0.970260 +vt 0.101215 0.955390 +vt 0.000000 0.955390 +vt 0.101215 0.940520 +vt 0.000000 0.940520 +vt 0.101215 0.925651 +vt 0.000000 0.925651 +vt 0.101215 0.910781 +vt 0.000000 0.910781 +vt 0.101215 0.895911 +vt 0.000000 0.895911 +vt 0.101215 0.881041 +vt 0.854251 0.955390 +vt 0.854251 0.944238 +vt 0.854251 0.933086 +vt 0.854251 0.921933 +vt 0.854251 1.000000 +vt 0.854251 0.988848 +vt 0.854251 0.977695 +vt 0.854251 0.966543 +vt 0.854251 0.910781 +vt 0.874494 0.814126 +vt 0.898785 0.832714 +vt 0.874494 0.832714 +vt 0.874494 0.713755 +vt 0.898785 0.732342 +vt 0.874494 0.732342 +vt 0.874494 0.795539 +vt 0.898785 0.814126 +vt 0.874494 0.851301 +vt 0.898785 0.851301 +vt 0.874494 0.695167 +vt 0.898785 0.713755 +vt 0.898785 0.750929 +vt 0.874494 0.750929 +vt 0.874494 0.788104 +vt 0.898785 0.780669 +vt 0.898785 0.788104 +vt 0.834008 0.806691 +vt 0.844130 0.806691 +vt 0.838057 0.802974 +vt 0.854251 0.806691 +vt 0.850202 0.802974 +vt 0.854251 0.802974 +vt 0.101215 0.955390 +vt 0.372470 0.970260 +vt 0.101215 0.970260 +vt 0.101215 0.985130 +vt 0.372470 1.000000 +vt 0.101215 1.000000 +vt 0.101215 0.895911 +vt 0.372470 0.910781 +vt 0.101215 0.910781 +vt 0.101215 0.940520 +vt 0.372470 0.925651 +vt 0.372470 0.940520 +vt 0.372470 0.955390 +vt 0.372470 0.985130 +vt 0.101215 0.881041 +vt 0.372470 0.895911 +vt 0.101215 0.925651 +vt 0.983806 0.914498 +vt 0.971660 0.940520 +vt 0.971660 0.914498 +vt 0.983806 0.962825 +vt 0.971660 0.981413 +vt 0.971660 0.962825 +vt 0.983806 0.799257 +vt 0.971660 0.817844 +vt 0.971660 0.799257 +vt 0.983806 0.840149 +vt 0.971660 0.866171 +vt 0.971660 0.840149 +vt 0.983806 0.940520 +vt 0.983806 0.981413 +vt 0.971660 1.000000 +vt 0.983806 0.817844 +vt 0.672065 0.821561 +vt 0.655870 0.806691 +vt 0.672065 0.806691 +vt 0.000000 0.750929 +vt 0.121457 0.739777 +vt 0.121457 0.750929 +vt 0.000000 0.828996 +vt 0.121457 0.869888 +vt 0.000000 0.869888 +vt 0.000000 0.881041 +vt 0.121457 0.881041 +vt 0.121457 0.791822 +vt -0.000000 0.791822 +vt 0.481781 0.869888 +vt 0.481781 0.881041 +vt 0.481781 0.750929 +vt 0.481781 0.739777 +vt 0.121457 0.817844 +vt 0.481781 0.815985 +vt 0.121457 0.828996 +vt 0.477733 0.825279 +vt 0.121457 0.802974 +vt 0.481781 0.804833 +vt 0.477733 0.795539 +vt 0.481781 0.776952 +vt 0.481781 0.843866 +vt 0.489879 0.780669 +vt 0.489879 0.747212 +vt 0.489879 0.840149 +vt 0.372470 0.895911 +vt 0.854251 0.910781 +vt 0.372470 0.910781 +vt 0.372470 0.970260 +vt 0.854251 0.985130 +vt 0.372470 0.985130 +vt 0.854251 0.925651 +vt 0.372470 0.925651 +vt 0.372470 0.881041 +vt 0.854251 0.895911 +vt 0.372470 1.000000 +vt 0.854251 1.000000 +vt 0.489879 0.881041 +vt 0.761134 0.873606 +vt 0.761134 0.881041 +vt 0.489879 0.866171 +vt 0.761134 0.858736 +vt 0.761134 0.866171 +vt 0.489879 0.851301 +vt 0.761134 0.843866 +vt 0.761134 0.851301 +vt 0.489879 0.836431 +vt 0.761134 0.828996 +vt 0.761134 0.836431 +vt 0.489879 0.873606 +vt 0.489879 0.858736 +vt 0.489879 0.843866 +vt 0.489879 0.828996 +vt 0.761134 0.821561 +vt 0.898785 0.795539 +vt 0.874494 0.765799 +vt 0.898785 0.758364 +vt 0.898785 0.765799 +vt 0.874494 0.773234 +vt 0.898785 0.773234 +vt 0.874494 0.780669 +vt 0.874494 0.758364 +vt 0.983806 0.866171 +vt 0.372470 0.955390 +vt 0.854251 0.970260 +vt 0.854251 0.940520 +vt 0.372470 0.940520 +vt 0.854251 0.955390 +vt 0.550607 0.806691 +vt 0.538462 0.821561 +vt 0.538462 0.806691 +vt 0.684211 0.821561 +vt 0.526316 0.821561 +vt 0.526316 0.806691 +vt 0.514170 0.821561 +vt 0.514170 0.806691 +vt 0.562753 0.806691 +vt 0.550607 0.821561 +vt 0.502024 0.821561 +vt 0.502024 0.806691 +vt 0.489879 0.821561 +vt 0.489879 0.806691 +vt 0.562753 0.821561 +vt 0.765182 0.821561 +vt 0.643725 0.821561 +vt 0.643725 0.806691 +vt 0.000000 0.802974 +vt 0.000000 0.817844 +vt 0.000000 0.576208 +vt 0.064777 0.565056 +vt 0.064777 0.576208 +vt 0.000000 0.587361 +vt 0.064777 0.587361 +vt 0.064777 0.542751 +vt 0.000000 0.542751 +vt 0.064777 0.553903 +vt 0.000000 0.553903 +vt 0.267206 0.684015 +vt -0.000000 0.695167 +vt -0.000000 0.684015 +vt 0.000000 0.565056 +vt 0.267206 0.706320 +vt 0.000000 0.717472 +vt -0.000000 0.706320 +vt 0.267206 0.717472 +vt -0.000000 0.728625 +vt 0.267206 0.695167 +vt 0.210526 0.672862 +vt 0.267206 0.672862 +vt 0.072874 0.739777 +vt 0.267206 0.728625 +vt 0.210526 0.739777 +vt 0.137652 0.553903 +vt 0.072874 0.565056 +vt 0.072874 0.553903 +vt 0.137652 0.587361 +vt 0.072874 0.576208 +vt 0.137652 0.576208 +vt 0.137652 0.542751 +vt 0.072874 0.542751 +vt 0.137652 0.565056 +vt 0.072874 0.587361 +vt 0.137652 0.598513 +vt 0.275304 0.631970 +vt 0.137652 0.635688 +vt 0.275304 0.672862 +vt 0.137652 0.672862 +vt 0.137652 0.486989 +vt 0.275304 0.449814 +vt 0.275304 0.483271 +vt 0.137652 0.524164 +vt 0.275304 0.490706 +vt 0.275304 0.520446 +vt 0.137652 0.561338 +vt 0.275304 0.527881 +vt 0.275304 0.557621 +vt 0.275304 0.594796 +vt 0.914980 0.799257 +vt 0.927126 0.776952 +vt 0.927126 0.799257 +vt 0.939271 0.799257 +vt 0.951417 0.776952 +vt 0.951417 0.799257 +vt 0.902834 0.776952 +vt 0.902834 0.799257 +vt 0.939271 0.776952 +vt 0.963563 0.776952 +vt 0.951417 0.799257 +vt 0.951417 0.776952 +vt 1.000000 0.799257 +vt 0.987854 0.776952 +vt 1.000000 0.776952 +vt 0.975708 0.776952 +vt 0.963563 0.799257 +vt 0.987854 0.799257 +vt 0.947368 0.754647 +vt 0.947368 0.765799 +vt 0.902834 0.765799 +vt 0.906883 0.754647 +vt 0.902834 0.754647 +vt 0.906883 0.739777 +vt 0.902834 0.739777 +vt 0.906883 0.724907 +vt 0.947368 0.739777 +vt 0.943320 0.724907 +vt 0.947368 0.724907 +vt 0.943320 0.754647 +vt 0.991903 0.765799 +vt 0.987854 0.754647 +vt 0.991903 0.754647 +vt 0.947368 0.754647 +vt 0.951417 0.754647 +vt 0.947368 0.739777 +vt 0.951417 0.739777 +vt 0.951417 0.724907 +vt 0.991903 0.739777 +vt 0.987854 0.724907 +vt 0.991903 0.724907 +vt 0.566802 0.037175 +vt 0.692308 0.014870 +vt 0.692308 0.037175 +vt 0.668016 0.089219 +vt 0.340081 0.066914 +vt 0.668016 0.066914 +vt 0.344130 0.037175 +vt 0.404858 0.014870 +vt 0.404858 0.037175 +vt 0.202429 0.141264 +vt 0.178138 0.118959 +vt 0.202429 0.118959 +vt 0.311741 0.037175 +vt 0.344130 0.014870 +vt 0.178138 0.141264 +vt 0.109312 0.118959 +vt -0.000000 0.037175 +vt 0.311741 0.014870 +vt 0.000000 0.141264 +vt 0.052632 0.118959 +vt 0.052632 0.141264 +vt 0.109312 0.141264 +vt 0.210526 0.066914 +vt 0.271255 0.089219 +vt 0.210526 0.089219 +vt 0.489879 0.037175 +vt 0.534413 0.014870 +vt 0.534413 0.037175 +vt 0.271255 0.066914 +vt 0.279352 0.089219 +vt 0.445344 0.037175 +vt 0.489879 0.014870 +vt 0.566802 0.014870 +vt 0.445344 0.014870 +vt 0.340081 0.089219 +vt 0.279352 0.066914 +vt 0.161943 0.089219 +vt 0.161943 0.066914 +vt -0.000000 0.089219 +vt 0.340081 0.104089 +vt 0.534413 0.052045 +vt 0.198381 0.152416 +vt 0.445344 0.052045 +vt 0.178138 0.156134 +vt 0.404858 0.048327 +vt 0.000000 0.156134 +vt 0.210526 0.104089 +vt 0.161943 0.104089 +vt 0.109312 0.152416 +vt 0.271255 0.104089 +vt 0.344130 0.048327 +vt 0.279352 0.104089 +vt 0.692308 0.048327 +vt 0.311741 0.052045 +vt 0.566802 0.052045 +vt 0.145749 0.297398 +vt 0.283401 0.237918 +vt 0.307692 0.297398 +vt -0.000000 0.066914 +vt 0.161943 0.052045 +vt 0.210526 0.052045 +vt 0.271255 0.052045 +vt 0.279352 0.052045 +vt 0.340081 0.052045 +vt 0.659919 0.052045 +vt 0.000000 0.104089 +vt 0.052632 0.107807 +vt 0.109312 0.107807 +vt 0.178138 0.104089 +vt 0.198381 0.107807 +vt -0.000000 0.014870 +vt 0.311741 0.000000 +vt 0.344130 0.003717 +vt 0.404858 0.003717 +vt 0.445344 0.000000 +vt 0.534413 0.000000 +vt 0.566802 0.000000 +vt 0.692308 0.003717 +vt 0.145749 0.297398 +vt 0.283401 0.237918 +vt 0.145749 0.237918 +vt 0.311741 0.230483 +vt 0.307692 0.297398 +vt 0.352227 0.282528 +vt 0.348178 0.211896 +vt 0.396761 0.252788 +vt 0.376518 0.185874 +vt 0.425101 0.252788 +vt 0.441296 0.159851 +vt 0.477733 0.159851 +vt 0.789474 0.245353 +vt 0.773279 0.089219 +vt 0.785425 0.100372 +vt 0.801619 0.152416 +vt 0.801619 0.204461 +vt 0.311741 0.230483 +vt 0.352227 0.282528 +vt 0.348178 0.211896 +vt 0.376518 0.182156 +vt 0.396761 0.252788 +vt 0.441296 0.159851 +vt 0.376518 0.144981 +vt 0.425101 0.252788 +vt 0.477733 0.159851 +vt 0.789474 0.245353 +vt 0.773279 0.089219 +vt 0.785425 0.100372 +vt 0.801619 0.152416 +vt 0.801619 0.204461 +vt 0.700405 0.788104 +vt 0.862348 0.773234 +vt 0.862348 0.788104 +vt 0.651822 0.773234 +vt 0.489879 0.788104 +vt 0.489879 0.773234 +vt 0.862348 0.762082 +vt 0.700405 0.750929 +vt 0.862348 0.750929 +vt 0.489879 0.750929 +vt 0.651822 0.762082 +vt 0.489879 0.762082 +vt 0.700405 0.762082 +vt 0.700405 0.773234 +vt 0.688259 0.773234 +vt 0.688259 0.762082 +vt 0.694332 0.750929 +vt 0.676113 0.762082 +vt 0.682186 0.750929 +vt 0.676113 0.773234 +vt 0.663968 0.762082 +vt 0.670040 0.750929 +vt 0.663968 0.773234 +vt 0.657895 0.750929 +vt 0.663968 0.788104 +vt 0.651822 0.788104 +vt 0.676113 0.788104 +vt 0.688259 0.788104 +vt 0.801619 0.717472 +vt 0.793522 0.721190 +vt 0.793522 0.717472 +vt 0.801619 0.721190 +vt 0.801619 0.717472 +vt 0.793522 0.721190 +vt 0.793522 0.717472 +vt 0.801619 0.721190 +vt 0.748988 0.657993 +vt 0.781377 0.661710 +vt 0.748988 0.661710 +vt 0.748988 0.669145 +vt 0.781377 0.672862 +vt 0.748988 0.672862 +vt 0.781377 0.665428 +vt 0.748988 0.665428 +vt 0.748988 0.680297 +vt 0.781377 0.676580 +vt 0.781377 0.680297 +vt 0.748988 0.676580 +vt 0.781377 0.669145 +vt 0.773279 0.684015 +vt 0.757085 0.684015 +vt 0.781377 0.657993 +vt 0.696356 0.364312 +vt 0.684211 0.349442 +vt 0.684211 0.364312 +vt 0.672065 0.364312 +vt 0.672065 0.349442 +vt 0.659919 0.364312 +vt 0.793522 0.349442 +vt 0.793522 0.364312 +vt 0.781377 0.349442 +vt 0.781377 0.364312 +vt 0.769231 0.364312 +vt 0.769231 0.349442 +vt 0.708502 0.364312 +vt 0.708502 0.349442 +vt 0.481781 0.360595 +vt 0.481781 0.371747 +vt 0.469636 0.371747 +vt 0.469636 0.360595 +vt 0.000000 0.881041 +vt 0.898785 0.695167 +vt 0.854251 0.817844 +vt 0.834008 0.802974 +vt 0.372470 0.881041 +vt 0.983806 1.000000 +vt 0.655870 0.821561 +vt 0.000000 0.739777 +vt 0.489879 0.873606 +vt 0.854251 0.881041 +vt 0.489879 0.821561 +vt 0.684211 0.806691 +vt 0.765182 0.806691 +vt -0.000000 0.739777 +vt 0.267206 0.739777 +vt 0.275304 0.602230 +vt 0.275304 0.639405 +vt 0.137652 0.449814 +vt 0.275304 0.565056 +vt 0.914980 0.776952 +vt 0.975708 0.799257 +vt 0.902834 0.724907 +vt 0.943320 0.739777 +vt 0.947368 0.765799 +vt 0.947368 0.724907 +vt 0.987854 0.739777 +vt 0.000000 0.118959 +vt 0.659919 0.104089 +vt 0.489879 0.052045 +vt 0.052632 0.152416 +vt -0.000000 0.100372 +vt 0.004049 0.048327 +vt 0.145749 0.237918 +vt -0.000000 0.055762 +vt 0.004049 0.003717 +vt 0.489879 0.000000 +vt 0.376518 0.144981 +vt 0.477733 0.275093 +vt 0.477733 0.275093 +vt 0.651822 0.750929 +vt 0.748988 0.684015 +vt 0.781377 0.684015 +vt 0.781377 0.654275 +vt 0.748988 0.654275 +vt 0.696356 0.349442 +vt 0.659919 0.349442 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.5547 0.8321 0.0000 +vn 0.5547 0.8321 0.0000 +vn 0.0000 0.7071 -0.7071 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.2561 0.9666 +vn 0.0000 -0.1113 -0.9938 +vn -0.0000 0.1045 0.9945 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.0000 0.1414 -0.9899 +vn 0.0000 0.1961 0.9806 +vn 0.0000 -0.8321 -0.5547 +vn 0.3827 0.9239 0.0000 +vn 0.9239 0.3827 0.0000 +vn 0.9239 -0.3827 -0.0000 +vn 0.3827 -0.9239 -0.0000 +vn -0.3827 -0.9239 -0.0000 +vn -0.9239 -0.3827 -0.0000 +vn -0.9239 0.3827 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.9898 -0.1427 -0.0000 +vn -0.9898 -0.1427 -0.0000 +vn 0.9986 0.0532 0.0000 +vn 0.0000 0.5547 -0.8321 +vn 0.0000 0.2898 -0.9571 +vn 0.0000 0.4178 -0.9086 +vn 0.9696 -0.2448 0.0000 +vn 0.9638 -0.2667 0.0000 +vn -0.9696 -0.2448 -0.0000 +vn -0.9638 -0.2667 -0.0000 +vn -0.2415 -0.9704 0.0000 +vn 0.2415 -0.9704 0.0000 +vn -0.2421 -0.9703 0.0009 +vn 0.8569 0.5154 -0.0000 +vn 0.4688 0.8833 0.0013 +vn 0.8582 0.5133 0.0061 +vn -0.8576 -0.5143 0.0065 +vn -0.8664 0.4993 0.0076 +vn -0.8576 0.5143 0.0066 +vn -0.4707 0.8823 0.0033 +vn -0.5000 0.8660 0.0014 +vn 0.8540 -0.5198 0.0206 +vn 0.8570 -0.5154 0.0000 +vn -0.8198 0.4030 0.4069 +vn -0.6324 0.5454 0.5501 +vn 0.8193 0.4028 0.4080 +vn 0.6319 0.5454 0.5507 +vn -0.2580 -0.9657 0.0277 +vn -0.3816 -0.8474 0.3692 +vn -0.8624 -0.5058 0.0217 +vn -0.8221 -0.3833 0.4210 +vn 0.2409 -0.9702 0.0278 +vn 0.3813 -0.8473 0.3697 +vn 0.8216 -0.3831 0.4221 +vn 0.9239 -0.3826 -0.0000 +vn -0.9239 -0.3826 -0.0000 +vn -0.3827 0.9239 -0.0001 +vn -0.9986 0.0532 0.0000 +vn 0.3828 -0.9238 0.0000 +vn -0.3828 -0.9238 -0.0000 +vn 0.8661 0.4998 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.8570 -0.5154 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.9915 0.1303 -0.0000 +vn -0.8661 0.4998 0.0000 +vn -0.9915 0.1303 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.5074 -0.8617 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.8733 -0.4871 0.0000 +vn 0.9659 -0.2588 0.0000 +vn -0.9659 -0.2588 -0.0000 +vn -0.8733 -0.4871 -0.0000 +vn -0.8660 -0.5000 -0.0000 +vn -0.5074 -0.8617 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.8660 0.5000 0.0000 +vn -0.8660 0.5000 -0.0000 +vn 0.9659 0.2588 0.0000 +vn -0.9659 0.2588 -0.0000 +vn 0.4919 -0.8707 0.0000 +vn -0.8579 -0.5139 0.0000 +vn -0.4919 -0.8707 0.0000 +vn 0.8579 -0.5139 0.0000 +vn 0.4971 0.8676 0.0152 +vn 0.8602 0.5069 0.0565 +vn 0.8607 0.5059 0.0567 +vn 0.9603 0.2673 0.0801 +vn 0.9601 0.2678 0.0802 +vn -0.8607 0.5059 0.0567 +vn -0.9603 0.2673 0.0801 +vn -0.8602 0.5069 0.0565 +vn -0.4971 0.8676 0.0152 +vn -0.4965 0.8679 0.0151 +vn 0.4965 0.8679 0.0151 +vn 0.8660 0.4973 -0.0523 +vn 0.8660 -0.4973 0.0523 +vn 0.7071 -0.7032 0.0739 +vn 0.7071 0.7032 -0.0739 +vn -0.8660 0.4973 -0.0523 +vn -0.7071 0.7032 -0.0739 +vn -0.7071 -0.7032 0.0739 +vn -0.8660 -0.4973 0.0523 +vn 0.8090 0.5846 -0.0614 +vn 0.8045 0.5702 -0.1664 +vn 0.8090 -0.5846 0.0614 +vn 0.8022 -0.5932 -0.0683 +vn 0.8045 -0.5923 -0.0442 +vn 0.8090 -0.4568 -0.3699 +vn 0.8090 -0.0614 -0.5846 +vn 0.8090 0.3699 -0.4568 +vn 0.8022 0.5660 -0.1902 +vn -0.8090 -0.5846 0.0614 +vn -0.8022 -0.5932 -0.0683 +vn -0.8045 -0.5923 -0.0442 +vn -0.8090 0.5846 -0.0614 +vn -0.8045 0.5702 -0.1664 +vn -0.8022 0.5660 -0.1902 +vn -0.8090 0.3699 -0.4568 +vn -0.8090 -0.0614 -0.5846 +vn -0.8090 -0.4568 -0.3699 +vn -0.4133 -0.9050 0.1009 +vn -0.4015 0.6881 -0.6044 +vn 0.4005 0.8976 0.1842 +vn 0.4015 0.6881 -0.6044 +vn -0.3921 -0.9116 -0.1234 +vn 0.3513 -0.9044 -0.2423 +vn -0.3513 -0.9044 -0.2423 +vn -0.3527 -0.9287 -0.1148 +vn 0.3977 -0.5316 -0.7479 +vn 0.3527 -0.9287 -0.1148 +vn 0.3921 -0.9116 -0.1234 +vn -0.3976 -0.5316 -0.7479 +vn 0.3745 -0.0856 -0.9233 +vn 0.4133 -0.9050 0.1009 +vn 0.3756 0.1302 -0.9176 +vn -0.3756 0.1302 -0.9176 +vn -0.3745 -0.0856 -0.9233 +vn 0.4365 0.7953 -0.4208 +vn -0.4568 0.8586 -0.2328 +vn -0.4365 0.7953 -0.4208 +vn -0.4739 -0.7007 0.5334 +vn 0.4553 -0.8264 0.3312 +vn -0.4553 -0.8264 0.3312 +vn 0.4568 0.8586 -0.2328 +vn -0.4373 0.8820 0.1754 +vn -0.4489 -0.3977 0.8002 +vn 0.4739 -0.7007 0.5334 +vn 0.4489 -0.3977 0.8002 +vn -0.0918 -0.2734 0.9575 +vn 0.0918 -0.2734 0.9575 +vn -0.4005 0.8976 0.1842 +vn 0.4373 0.8820 0.1754 +vn -0.4066 0.8968 -0.1747 +vn 0.4066 0.8968 -0.1747 +vn -0.3826 0.9239 0.0000 +vn -0.9067 0.4207 0.0298 +vn -0.7970 -0.5523 0.2445 +vn -0.8887 -0.4503 -0.0866 +vn -0.8033 -0.2749 0.5283 +vn -0.9298 -0.1635 -0.3296 +vn -0.3431 -0.2369 0.9089 +vn -0.9154 0.3131 -0.2530 +vn -0.9409 0.3038 -0.1495 +vn -0.9195 0.3905 -0.0445 +vn -0.9116 -0.0453 -0.4087 +vn -0.6948 -0.6947 -0.1861 +vn -0.9642 0.2475 -0.0950 +vn -0.7044 -0.7043 -0.0877 +vn -0.9575 0.2768 0.0809 +vn -0.7072 -0.7070 -0.0000 +vn -0.7551 -0.6460 0.1114 +vn -0.7561 -0.6449 0.1111 +vn 0.9195 0.3905 -0.0445 +vn 0.3826 0.9239 0.0000 +vn 0.9409 0.3038 -0.1495 +vn 0.9642 0.2475 -0.0950 +vn 0.9575 0.2768 0.0809 +vn 0.9067 0.4207 0.0298 +vn 0.9154 0.3131 -0.2530 +vn 0.9110 0.0693 -0.4065 +vn 0.9116 -0.0453 -0.4087 +vn 0.9298 -0.1635 -0.3296 +vn 0.8887 -0.4503 -0.0866 +vn 0.7551 -0.6460 0.1114 +vn 0.7044 -0.7043 -0.0877 +vn 0.6948 -0.6947 -0.1861 +vn 0.3431 -0.2369 0.9089 +vn 0.8033 -0.2749 0.5283 +vn 0.7970 -0.5523 0.2445 +vn 0.7561 -0.6449 0.1111 +vn 0.7072 -0.7070 -0.0000 +vn -0.9110 0.0693 -0.4065 +vn 0.9783 0.0000 -0.2071 +vn -0.9783 0.0000 -0.2071 +vn 0.6984 0.7157 0.0000 +vn -0.0000 0.9904 -0.1381 +vn -0.7124 0.6861 -0.1475 +vn -0.6984 0.7157 0.0000 +vn 0.7124 0.6861 -0.1475 +vn 0.9142 0.4052 0.0000 +vn 0.8992 0.3985 -0.1807 +vn -0.8992 0.3985 -0.1807 +vn -0.9142 0.4052 0.0000 +vn 0.6472 0.3875 -0.6565 +vn 0.5294 0.6630 -0.5293 +vn -0.0000 0.6630 -0.7486 +vn -0.0000 0.3827 -0.9239 +vn -0.5294 0.6630 -0.5293 +vn -0.6472 0.3875 -0.6565 +vn -0.6984 0.0000 -0.7157 +vn 0.6984 0.0000 -0.7157 +vn 0.0000 0.9808 0.1951 +vn -0.0000 0.7071 0.7071 +vn -0.0000 0.3827 0.9239 +vn -0.0000 0.4830 0.8756 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn -0.0000 0.4830 -0.8756 +vn 0.0000 0.5773 -0.8165 +vn 0.0000 0.5773 0.8165 +vn 0.0000 0.5774 0.8165 +vn 0.0000 0.8136 -0.5814 +vn 0.0000 0.3420 -0.9397 +vn 0.0000 -0.3505 0.9366 +vn 0.0000 -0.8233 0.5676 +vn 0.0000 -0.2732 -0.9620 +vn 0.0000 -0.7339 -0.6793 +vn 0.0000 0.2755 0.9613 +vn 0.0000 -0.9718 -0.2358 +vn 0.0000 -0.9397 0.3420 +vn 0.0000 0.7144 0.6997 +vn -0.0000 -0.3827 -0.9239 +vn -0.0000 -0.5814 -0.8136 +vn 0.0000 0.8590 0.5120 +vn 0.0000 -0.7834 -0.6215 +vn 0.0000 -0.5373 0.8434 +vn 0.0000 -0.9892 -0.1465 +vn -0.0000 -0.9103 -0.4139 +vn 0.0000 0.5000 0.8660 +vn 0.0000 -0.9845 0.1754 +vn 0.0000 0.9239 0.3827 +vn 0.0000 -1.0000 -0.0052 +vn 0.0000 0.9831 -0.1831 +vn 0.0000 -0.9632 -0.2688 +vn 0.0000 -0.3092 0.9510 +vn 0.0000 -0.4472 0.8944 +vn 0.0000 -0.0161 -0.9999 +vn 0.0000 0.1644 -0.9864 +vn 0.0000 0.4082 0.9129 +vn 0.0000 0.6000 0.8000 +vn 0.0000 0.0161 0.9999 +vn 0.0000 -0.6000 -0.8000 +vn 0.0000 -0.4082 -0.9129 +vn 0.4686 0.8834 -0.0000 +vn -0.8576 0.5143 0.0065 +vn -0.9601 0.2678 0.0802 +vn -0.8145 -0.4575 0.3569 +vn 0.8145 -0.4575 0.3569 +s off +f 585/1102/142 586/1103/142 587/1104/142 +f 588/1105/142 589/1106/142 590/1107/142 +f 591/1108/142 592/1109/142 588/1105/142 +f 593/1110/142 594/1111/142 591/1108/142 +f 593/1110/142 595/1112/142 596/1113/142 +f 597/1114/142 586/1115/142 595/1112/142 +f 598/1116/142 589/1106/142 599/1117/142 +f 585/1102/142 599/1117/142 600/1118/142 +f 601/1119/143 602/1120/143 603/1121/143 +f 604/1122/144 605/1123/144 606/1124/144 +f 601/1125/144 607/1126/144 602/1127/144 +f 608/1128/145 609/1129/145 610/1130/145 +f 611/1131/146 605/1123/146 612/1132/146 +f 611/1131/147 613/1133/147 614/1134/147 +f 615/1135/143 616/1136/143 617/1137/143 +f 617/1137/148 618/1138/148 619/1139/148 +f 618/1138/149 620/1140/149 619/1139/149 +f 621/1141/142 615/1135/142 620/1142/142 +f 616/1143/144 621/1144/144 618/1145/144 +f 622/1146/149 604/1147/149 606/1148/149 +f 623/1149/145 624/1150/145 625/1151/145 +f 626/1152/142 627/1153/142 628/1154/142 +f 629/1155/142 605/1156/142 614/1157/142 +f 630/1158/150 631/1159/150 632/1160/150 +f 625/1161/145 633/1162/145 630/1158/145 +f 634/1163/151 632/1160/151 631/1159/151 +f 635/1164/142 636/1165/142 637/1166/142 +f 638/1167/142 639/1168/142 640/1169/142 +f 641/1170/142 642/1171/142 643/1172/142 +f 644/1173/149 645/1174/149 646/1175/149 +f 647/1176/143 648/1177/143 649/1178/143 +f 650/1179/143 651/1180/143 652/1181/143 +f 653/1182/149 654/1183/149 655/1184/149 +f 656/1185/152 657/1186/152 658/1187/152 +f 659/1188/153 660/1189/153 661/1190/153 +f 662/1191/153 663/1192/153 664/1193/153 +f 665/1194/153 666/1195/153 667/1196/153 +f 668/1197/149 669/1198/149 670/1199/149 +f 671/1200/143 672/1201/143 673/1202/143 +f 674/1203/145 655/1204/145 675/1205/145 +f 676/1206/142 677/1207/142 678/1208/142 +f 679/1209/149 680/1210/149 681/1211/149 +f 682/1212/142 677/1207/142 676/1206/142 +f 683/1213/145 684/1214/145 685/1215/145 +f 679/1209/145 684/1214/145 683/1213/145 +f 682/1212/143 686/1216/143 687/1217/143 +f 688/1218/142 676/1206/142 678/1208/142 +f 689/1219/149 690/1220/149 691/1221/149 +f 688/1222/150 692/1223/150 685/1224/150 +f 685/1215/145 686/1216/145 683/1213/145 +f 687/1217/145 689/1225/145 691/1226/145 +f 681/1227/142 693/1228/142 694/1229/142 +f 684/1230/154 688/1222/154 685/1224/154 +f 678/1231/155 689/1219/155 692/1223/155 +f 693/1228/142 680/1232/142 688/1218/142 +f 683/1213/144 676/1233/144 680/1234/144 +f 693/1235/143 695/1236/143 694/1237/143 +f 689/1225/145 686/1216/145 692/1238/145 +f 696/1239/144 697/1240/144 698/1241/144 +f 699/1242/156 700/1243/156 701/1244/156 +f 702/1245/144 699/1242/144 701/1244/144 +f 703/1246/150 704/1247/150 705/1248/150 +f 700/1243/157 696/1239/157 698/1241/157 +f 703/1246/143 706/1249/143 707/1250/143 +f 708/1251/149 709/1252/149 710/1253/149 +f 709/1252/142 711/1254/142 712/1255/142 +f 713/1256/142 714/1257/142 706/1249/142 +f 704/1258/143 711/1259/143 702/1260/143 +f 697/1261/149 715/1262/149 705/1263/149 +f 702/1245/144 716/1264/144 708/1251/144 +f 706/1265/144 697/1240/144 707/1250/144 +f 705/1248/150 713/1266/150 703/1246/150 +f 709/1267/150 704/1247/150 710/1253/150 +f 717/1268/145 710/1253/145 703/1246/145 +f 705/1263/142 704/1258/142 700/1269/142 +f 718/1270/158 719/1271/158 720/1272/158 +f 719/1271/144 721/1273/144 720/1272/144 +f 722/1274/159 723/1275/159 724/1276/159 +f 725/1277/143 719/1278/143 726/1279/143 +f 726/1279/143 727/1280/143 725/1277/143 +f 723/1281/143 727/1280/143 724/1282/143 +f 728/1283/149 722/1284/149 729/1285/149 +f 718/1286/149 729/1285/149 722/1284/149 +f 720/1287/149 730/1288/149 718/1286/149 +f 731/1289/158 732/1290/158 733/1291/158 +f 734/1292/144 735/1293/144 732/1290/144 +f 736/1294/159 737/1295/159 738/1296/159 +f 739/1297/143 734/1298/143 731/1299/143 +f 731/1299/143 740/1300/143 739/1297/143 +f 737/1301/143 740/1300/143 738/1302/143 +f 741/1303/149 736/1304/149 742/1305/149 +f 733/1306/149 742/1305/149 736/1304/149 +f 732/1307/149 743/1308/149 733/1306/149 +f 690/1309/144 695/1310/144 691/1311/144 +f 744/1312/149 745/1313/149 746/1314/149 +f 747/1315/149 748/1316/149 749/1317/149 +f 744/1312/149 746/1314/149 749/1317/149 +f 750/1318/149 751/1319/149 752/1320/149 +f 753/1321/149 752/1320/149 754/1322/149 +f 755/1323/149 753/1321/149 754/1324/149 +f 756/1325/149 754/1326/149 757/1327/149 +f 758/1328/149 757/1327/149 759/1329/149 +f 760/1330/149 759/1329/149 761/1331/149 +f 762/1332/149 761/1333/149 763/1334/149 +f 764/1335/149 763/1336/149 765/1337/149 +f 765/1337/149 766/1338/149 764/1335/149 +f 767/1339/149 766/1340/149 768/1341/149 +f 767/1339/149 769/1342/149 746/1343/149 +f 747/1344/149 746/1345/149 769/1346/149 +f 770/1347/149 745/1348/149 771/1349/149 +f 772/1350/143 773/1351/143 774/1352/143 +f 775/1353/143 776/1354/143 777/1355/143 +f 774/1352/143 778/1356/143 779/1357/143 +f 779/1357/143 780/1358/143 781/1359/143 +f 782/1360/143 781/1361/143 780/1358/143 +f 781/1362/143 783/1363/143 784/1364/143 +f 784/1364/143 785/1365/143 786/1366/143 +f 786/1366/143 787/1367/143 788/1368/143 +f 788/1369/143 789/1370/143 790/1371/143 +f 790/1372/143 791/1373/143 792/1374/143 +f 792/1374/143 793/1375/143 794/1376/143 +f 795/1377/143 794/1378/143 793/1379/143 +f 795/1377/143 796/1380/143 794/1378/143 +f 797/1381/143 772/1382/143 796/1383/143 +f 798/1384/149 799/1385/149 800/1386/149 +f 799/1385/149 801/1387/149 800/1386/149 +f 802/1388/149 803/1389/149 801/1387/149 +f 804/1390/143 805/1391/143 806/1392/143 +f 807/1393/143 805/1391/143 808/1394/143 +f 809/1395/143 810/1396/143 807/1393/143 +f 804/1397/160 811/1398/160 798/1399/160 +f 812/1400/150 803/1401/150 813/1402/150 +f 804/1390/143 814/1403/143 815/1404/143 +f 798/1384/149 816/1405/149 817/1406/149 +f 818/1407/142 819/1408/142 820/1409/142 +f 821/1410/142 822/1411/142 647/1412/142 +f 823/1413/142 824/1414/142 825/1415/142 +f 644/1416/142 649/1417/142 824/1414/142 +f 775/1418/143 826/1419/143 797/1420/143 +f 826/1419/143 827/1421/143 797/1420/143 +f 828/1422/145 654/1423/145 651/1424/145 +f 829/1425/145 830/1426/145 654/1423/145 +f 585/1102/142 600/1118/142 586/1103/142 +f 588/1105/142 592/1109/142 589/1106/142 +f 591/1108/142 594/1111/142 592/1109/142 +f 593/1110/142 596/1113/142 594/1111/142 +f 593/1110/142 597/1114/142 595/1112/142 +f 597/1114/142 587/1427/142 586/1115/142 +f 598/1116/142 590/1107/142 589/1106/142 +f 585/1102/142 598/1116/142 599/1117/142 +f 831/1428/143 832/1429/143 603/1121/143 +f 832/1429/143 601/1119/143 603/1121/143 +f 604/1122/144 612/1132/144 605/1123/144 +f 601/1125/144 613/1133/144 607/1126/144 +f 610/1130/145 833/1430/145 834/1431/145 +f 834/1431/145 831/1432/145 608/1128/145 +f 608/1128/145 835/1433/145 836/1434/145 +f 609/1129/145 837/1435/145 838/1436/145 +f 608/1128/145 836/1434/145 609/1129/145 +f 610/1130/145 834/1431/145 608/1128/145 +f 839/1437/145 840/1438/145 610/1130/145 +f 838/1436/145 841/1439/145 609/1129/145 +f 841/1439/145 839/1437/145 610/1130/145 +f 609/1129/145 841/1439/145 610/1130/145 +f 611/1131/146 614/1134/146 605/1123/146 +f 611/1131/147 607/1126/147 613/1133/147 +f 615/1135/143 842/1440/143 616/1136/143 +f 617/1137/148 616/1136/148 618/1138/148 +f 618/1138/149 621/1441/149 620/1140/149 +f 621/1141/142 842/1440/142 615/1135/142 +f 616/1143/144 842/1440/144 621/1144/144 +f 606/1148/149 629/1155/149 622/1146/149 +f 629/1155/149 608/1442/149 622/1146/149 +f 625/1151/145 843/1443/145 623/1149/145 +f 843/1443/145 844/1444/145 623/1149/145 +f 844/1444/145 845/1445/145 846/1446/145 +f 846/1446/145 847/1447/145 844/1444/145 +f 847/1447/145 623/1149/145 844/1444/145 +f 628/1154/142 848/1448/142 849/1449/142 +f 848/1448/142 850/1450/142 849/1449/142 +f 850/1450/142 634/1451/142 849/1449/142 +f 849/1449/142 851/1452/142 628/1154/142 +f 851/1452/142 626/1152/142 628/1154/142 +f 601/1119/142 832/1429/142 613/1453/142 +f 832/1429/142 629/1155/142 614/1157/142 +f 629/1155/142 606/1148/142 605/1156/142 +f 614/1157/142 613/1453/142 832/1429/142 +f 630/1158/150 633/1162/150 631/1159/150 +f 625/1161/145 624/1454/145 633/1162/145 +f 634/1163/151 850/1455/151 632/1160/151 +f 641/1170/142 852/1456/142 853/1457/142 +f 853/1457/142 854/1458/142 641/1170/142 +f 854/1458/142 642/1171/142 641/1170/142 +f 642/1171/142 855/1459/142 643/1172/142 +f 855/1459/142 856/1460/142 643/1172/142 +f 856/1460/142 857/1461/142 643/1172/142 +f 644/1173/149 824/1462/149 645/1174/149 +f 647/1176/143 858/1463/143 648/1177/143 +f 650/1179/143 828/1464/143 651/1180/143 +f 653/1182/149 859/1465/149 654/1183/149 +f 860/1466/152 861/1467/152 862/1468/152 +f 862/1468/152 863/1469/152 656/1185/152 +f 656/1185/152 864/1470/152 657/1186/152 +f 657/1186/152 865/1471/152 658/1187/152 +f 658/1187/152 866/1472/152 867/1473/152 +f 867/1473/152 868/1474/152 658/1187/152 +f 868/1474/152 860/1466/152 658/1187/152 +f 860/1466/152 862/1468/152 658/1187/152 +f 862/1468/152 656/1185/152 658/1187/152 +f 661/1190/153 869/1475/153 870/1476/153 +f 870/1476/153 871/1477/153 659/1188/153 +f 659/1188/153 872/1478/153 660/1189/153 +f 872/1478/153 873/1479/153 660/1189/153 +f 873/1479/153 874/1480/153 660/1189/153 +f 660/1189/153 875/1481/153 661/1190/153 +f 875/1481/153 876/1482/153 661/1190/153 +f 876/1482/153 877/1483/153 661/1190/153 +f 661/1190/153 870/1476/153 659/1188/153 +f 664/1193/153 878/1484/153 879/1485/153 +f 879/1485/153 662/1191/153 664/1193/153 +f 880/1486/153 881/1487/153 667/1196/153 +f 881/1487/153 665/1194/153 667/1196/153 +f 669/1198/149 882/1488/149 670/1199/149 +f 670/1199/149 883/1489/149 884/1490/149 +f 884/1490/149 885/1491/149 670/1199/149 +f 885/1491/149 668/1197/149 670/1199/149 +f 886/1492/143 887/1493/143 673/1202/143 +f 887/1493/143 888/1494/143 673/1202/143 +f 888/1494/143 889/1495/143 673/1202/143 +f 889/1495/143 671/1200/143 673/1202/143 +f 890/1496/145 891/1497/145 674/1203/145 +f 674/1203/145 892/1498/145 655/1204/145 +f 655/1204/145 828/1422/145 675/1205/145 +f 675/1205/145 890/1496/145 674/1203/145 +f 679/1209/149 683/1213/149 680/1210/149 +f 682/1212/142 690/1499/142 677/1207/142 +f 679/1209/145 695/1500/145 684/1214/145 +f 682/1212/143 676/1206/143 686/1216/143 +f 688/1218/142 680/1232/142 676/1206/142 +f 689/1219/149 677/1501/149 690/1220/149 +f 688/1222/150 678/1231/150 692/1223/150 +f 685/1215/145 692/1238/145 686/1216/145 +f 687/1217/145 686/1216/145 689/1225/145 +f 681/1227/142 680/1232/142 693/1228/142 +f 684/1230/154 693/1235/154 688/1222/154 +f 678/1231/155 677/1501/155 689/1219/155 +f 683/1213/144 686/1216/144 676/1233/144 +f 693/1235/143 684/1230/143 695/1236/143 +f 696/1239/144 707/1250/144 697/1240/144 +f 699/1242/156 717/1502/156 700/1243/156 +f 702/1245/144 708/1251/144 699/1242/144 +f 703/1246/150 710/1253/150 704/1247/150 +f 700/1243/157 717/1502/157 696/1239/157 +f 703/1246/143 713/1256/143 706/1249/143 +f 708/1251/149 716/1503/149 709/1252/149 +f 709/1252/142 716/1503/142 711/1254/142 +f 713/1256/142 715/1262/142 714/1257/142 +f 704/1258/143 712/1504/143 711/1259/143 +f 697/1261/149 714/1257/149 715/1262/149 +f 702/1245/144 711/1505/144 716/1264/144 +f 706/1265/144 714/1506/144 697/1240/144 +f 705/1248/150 715/1507/150 713/1266/150 +f 709/1267/150 712/1508/150 704/1247/150 +f 703/1246/145 707/1250/145 696/1239/145 +f 717/1268/145 699/1242/145 710/1253/145 +f 699/1242/145 708/1251/145 710/1253/145 +f 703/1246/145 696/1239/145 717/1268/145 +f 698/1509/142 697/1261/142 705/1263/142 +f 704/1258/142 702/1260/142 701/1510/142 +f 700/1269/142 698/1509/142 705/1263/142 +f 704/1258/142 701/1510/142 700/1269/142 +f 718/1270/158 726/1511/158 719/1271/158 +f 719/1271/144 893/1512/144 721/1273/144 +f 722/1274/159 728/1513/159 723/1275/159 +f 725/1277/143 893/1514/143 719/1278/143 +f 726/1279/143 724/1282/143 727/1280/143 +f 718/1286/149 730/1288/149 729/1285/149 +f 720/1287/149 721/1515/149 730/1288/149 +f 731/1289/158 734/1292/158 732/1290/158 +f 734/1292/144 894/1516/144 735/1293/144 +f 736/1294/159 741/1517/159 737/1295/159 +f 739/1297/143 894/1518/143 734/1298/143 +f 731/1299/143 738/1302/143 740/1300/143 +f 733/1306/149 743/1308/149 742/1305/149 +f 732/1307/149 735/1519/149 743/1308/149 +f 690/1309/144 694/1520/144 695/1310/144 +f 744/1312/149 771/1349/149 745/1313/149 +f 747/1315/149 751/1319/149 748/1316/149 +f 750/1318/149 748/1316/149 751/1319/149 +f 753/1321/149 750/1318/149 752/1320/149 +f 756/1325/149 755/1323/149 754/1326/149 +f 758/1328/149 756/1325/149 757/1327/149 +f 760/1330/149 758/1328/149 759/1329/149 +f 762/1332/149 760/1330/149 761/1333/149 +f 764/1335/149 762/1332/149 763/1336/149 +f 765/1337/149 768/1521/149 766/1338/149 +f 767/1339/149 768/1341/149 769/1342/149 +f 747/1344/149 749/1522/149 746/1345/149 +f 772/1350/143 827/1421/143 773/1351/143 +f 774/1352/143 773/1351/143 778/1356/143 +f 779/1357/143 778/1356/143 780/1358/143 +f 781/1362/143 782/1360/143 783/1363/143 +f 784/1364/143 783/1363/143 785/1365/143 +f 786/1366/143 785/1365/143 787/1367/143 +f 788/1369/143 787/1367/143 789/1370/143 +f 790/1372/143 789/1370/143 791/1373/143 +f 792/1374/143 791/1373/143 793/1375/143 +f 795/1377/143 797/1523/143 796/1380/143 +f 797/1381/143 827/1524/143 772/1382/143 +f 798/1384/149 817/1406/149 799/1385/149 +f 799/1385/149 802/1388/149 801/1387/149 +f 802/1388/149 813/1402/149 803/1389/149 +f 804/1390/143 808/1394/143 805/1391/143 +f 807/1393/143 810/1396/143 805/1391/143 +f 809/1395/143 812/1400/143 810/1396/143 +f 804/1397/160 815/1525/160 811/1398/160 +f 812/1400/150 809/1526/150 803/1401/150 +f 804/1390/143 806/1392/143 814/1403/143 +f 798/1384/149 811/1527/149 816/1405/149 +f 819/1408/142 895/1528/142 896/1529/142 +f 896/1529/142 897/1530/142 819/1408/142 +f 897/1530/142 898/1531/142 820/1409/142 +f 819/1408/142 897/1530/142 820/1409/142 +f 898/1531/142 899/1532/142 820/1409/142 +f 820/1409/142 900/1533/142 832/1534/142 +f 900/1533/142 901/1535/142 832/1534/142 +f 901/1535/142 629/1536/142 832/1534/142 +f 832/1534/142 902/1537/142 818/1407/142 +f 832/1534/142 818/1407/142 820/1409/142 +f 821/1410/142 903/1538/142 822/1411/142 +f 822/1411/142 904/1539/142 647/1412/142 +f 647/1412/142 644/1416/142 905/1540/142 +f 905/1540/142 821/1410/142 647/1412/142 +f 649/1417/142 906/1541/142 824/1414/142 +f 906/1541/142 825/1415/142 824/1414/142 +f 825/1415/142 907/1542/142 908/1543/142 +f 908/1543/142 823/1413/142 825/1415/142 +f 644/1416/142 647/1412/142 649/1417/142 +f 775/1418/143 777/1355/143 826/1419/143 +f 828/1422/145 655/1204/145 654/1423/145 +f 829/1425/145 909/1544/145 830/1426/145 +f 830/1426/145 651/1424/145 654/1423/145 +f 654/1423/145 910/1545/145 911/1546/145 +f 911/1546/145 829/1425/145 654/1423/145 +s 1 +f 587/1547/161 912/1548/162 913/1549/161 +f 597/1550/162 914/1551/163 912/1548/162 +f 593/1552/163 915/1553/164 914/1551/163 +f 591/1554/164 916/1555/165 915/1553/164 +f 588/1556/165 917/1557/166 916/1555/165 +f 590/1558/166 918/1559/167 917/1557/166 +f 598/1560/167 919/1561/168 918/1559/167 +f 585/1562/168 913/1563/161 919/1561/168 +f 594/1111/168 920/1564/161 592/1109/161 +f 592/1109/161 921/1565/162 589/1106/162 +f 589/1106/162 922/1566/163 599/1117/163 +f 599/1117/163 923/1567/164 600/1118/164 +f 595/1112/166 924/1568/165 925/1569/166 +f 595/1112/166 926/1570/167 596/1113/167 +f 596/1113/167 927/1571/168 594/1111/168 +f 600/1118/164 924/1572/165 586/1103/165 +f 900/1573/163 835/1574/162 901/1575/162 +f 902/1576/167 833/1577/166 818/1578/166 +f 820/1579/169 836/1580/163 900/1573/163 +f 629/1581/157 835/1574/162 608/1582/157 +f 832/1583/156 834/1584/167 902/1576/167 +f 818/1578/166 610/1585/170 819/1586/170 +f 899/1587/171 838/1588/155 837/1589/171 +f 831/1428/172 603/1590/173 611/1591/174 +f 603/1590/173 607/1592/145 611/1591/174 +f 622/1593/173 612/1594/145 604/1595/145 +f 928/1596/164 929/1597/163 930/1598/163 +f 931/1599/162 932/1600/161 933/1601/161 +f 934/1602/168 935/1603/167 936/1604/167 +f 937/1605/165 938/1606/166 939/1607/165 +f 937/1605/165 940/1608/164 928/1596/164 +f 930/1598/163 941/1609/162 931/1599/162 +f 933/1610/161 942/1611/168 934/1602/168 +f 936/1604/167 938/1606/166 943/1612/166 +f 624/1613/175 849/1614/175 634/1615/176 +f 847/1616/162 626/1617/161 851/1618/162 +f 845/1619/168 628/1620/167 627/1621/168 +f 843/1622/177 850/1623/178 848/1624/177 +f 624/1613/175 631/1159/149 633/1162/149 +f 623/1625/175 851/1618/162 849/1614/175 +f 846/1626/161 627/1627/168 626/1617/161 +f 844/1628/167 848/1624/177 628/1620/167 +f 944/1629/179 945/1630/180 946/1631/181 +f 636/1632/182 947/1633/183 948/1634/184 +f 949/1635/185 950/1636/186 640/1637/187 +f 638/1638/188 950/1636/186 951/1639/189 +f 636/1632/182 952/1640/190 953/1641/191 +f 954/1642/192 955/1643/193 950/1636/186 +f 951/1639/189 950/1636/186 955/1643/193 +f 956/1644/194 948/1634/184 957/1645/195 +f 947/1633/183 957/1645/195 948/1634/184 +f 958/1646/196 959/1647/197 960/1648/198 +f 959/1647/197 961/1649/199 960/1648/198 +f 962/1650/200 952/1640/190 963/1651/201 +f 963/1651/201 952/1640/190 964/1652/202 +f 963/1651/201 958/1646/196 962/1650/200 +f 952/1640/190 948/1634/184 956/1644/194 +f 956/1644/194 964/1653/202 952/1640/190 +f 960/1648/198 954/1642/192 950/1636/186 +f 954/1642/192 960/1648/198 961/1654/199 +f 963/1655/201 956/1644/194 957/1656/195 +f 959/1657/197 954/1642/192 961/1654/199 +f 965/1658/168 857/1659/167 966/1660/167 +f 967/1661/203 852/1662/162 968/1663/162 +f 966/1660/167 639/1664/204 969/1665/204 +f 970/1666/161 643/1667/168 965/1658/205 +f 970/1668/161 852/1662/162 641/1669/161 +f 971/1670/144 972/1671/157 973/1672/144 +f 974/1673/149 975/1674/155 976/1675/149 +f 977/1676/150 978/1677/154 979/1678/150 +f 980/1679/143 981/1680/156 982/1681/143 +f 983/1682/157 976/1675/149 972/1671/157 +f 984/1683/155 979/1678/150 975/1674/155 +f 985/1684/154 982/1681/143 978/1677/154 +f 986/1685/156 973/1686/144 981/1680/156 +f 820/1579/169 837/1589/171 609/1687/169 +f 896/1688/154 840/1689/206 839/1690/154 +f 897/1691/150 839/1690/154 841/1692/150 +f 898/1693/155 841/1692/150 838/1588/155 +f 819/1586/170 840/1689/206 895/1694/206 +f 625/1695/177 632/1160/143 850/1623/178 +f 987/1696/207 637/1697/203 967/1661/203 +f 969/1665/204 638/1698/208 988/1699/208 +f 635/1700/207 988/1699/208 638/1698/208 +f 853/1701/209 989/1702/210 854/1703/210 +f 946/1631/181 990/1704/211 944/1629/179 +f 854/1703/210 991/1705/144 642/1706/144 +f 642/1706/144 992/1707/212 855/1708/212 +f 852/1709/213 993/1710/209 853/1701/209 +f 855/1708/212 994/1711/214 856/1712/214 +f 856/1712/214 995/1713/215 857/1714/215 +f 996/1715/213 852/1709/213 637/1166/149 +f 640/1169/143 639/1168/143 995/1716/215 +f 945/1630/180 997/1717/191 953/1718/191 +f 945/1719/180 952/1640/190 962/1650/200 +f 960/1648/198 946/1720/181 958/1646/196 +f 958/1646/196 945/1719/180 962/1650/200 +f 908/1721/216 998/1722/150 999/1723/217 +f 823/1724/218 999/1723/217 1000/1725/219 +f 824/1462/220 1000/1725/219 645/1174/220 +f 649/1178/221 1001/1726/222 906/1727/223 +f 906/1727/223 1002/1728/224 825/1729/225 +f 892/1730/226 821/1731/210 905/1732/226 +f 825/1729/225 998/1722/150 907/1733/150 +f 891/1734/144 822/1735/212 903/1736/144 +f 890/1737/212 904/1738/227 822/1735/212 +f 674/1739/210 903/1736/144 821/1731/210 +f 653/1740/228 655/1741/228 892/1730/226 +f 858/1742/229 675/1743/227 650/1744/229 +f 1003/1745/230 829/1746/150 911/1747/216 +f 1004/1748/231 909/1749/225 1005/1750/232 +f 1006/1751/233 911/1747/216 910/1752/218 +f 1005/1750/232 829/1746/150 1007/1753/150 +f 859/1465/220 910/1752/218 654/1183/220 +f 652/1181/221 830/1754/223 1004/1748/231 +f 863/1755/234 876/1756/235 656/1757/236 +f 656/1757/236 875/1758/237 864/1759/238 +f 860/1760/239 871/1761/240 870/1762/241 +f 861/1763/242 870/1764/241 869/1765/243 +f 862/1766/144 869/1767/243 661/1768/144 +f 862/1766/144 877/1769/244 863/1755/234 +f 1008/1770/245 879/1771/149 1009/1772/149 +f 1010/1773/246 664/1774/247 1011/1775/247 +f 663/1776/248 1008/1770/245 1012/1777/248 +f 1009/1772/149 878/1778/246 1010/1773/246 +f 1013/1779/249 880/1780/250 1014/1781/250 +f 667/1782/251 1015/1783/252 1016/1784/251 +f 1017/1785/143 881/1786/249 1013/1779/249 +f 666/1787/252 1017/1785/143 1015/1783/252 +f 669/1198/253 1018/1788/254 1019/1789/253 +f 1020/1790/255 670/1791/256 882/1488/255 +f 1021/1792/257 883/1793/258 670/1791/256 +f 1022/1794/258 884/1795/259 883/1793/258 +f 1023/1796/260 884/1797/259 1024/1798/259 +f 668/1799/261 1023/1796/260 1018/1788/254 +f 1025/1800/262 673/1801/263 1026/1802/264 +f 887/1493/265 1027/1803/266 888/1804/267 +f 888/1804/267 1028/1805/268 889/1806/268 +f 1028/1805/268 671/1807/269 889/1806/268 +f 1029/1808/270 671/1809/269 1030/1810/269 +f 673/1801/263 1029/1808/270 1026/1802/264 +f 1031/1811/271 1032/1812/164 1033/1813/165 +f 1034/1814/272 1035/1815/273 1036/1816/274 +f 1037/1817/275 1038/1818/276 1039/1819/277 +f 1040/1820/278 1041/1821/279 1042/1822/280 +f 1043/1823/271 1044/1824/281 1037/1817/275 +f 1045/1825/282 1046/1826/283 1041/1821/279 +f 1040/1827/278 1047/1828/284 1043/1823/271 +f 1034/1829/272 1048/1830/285 1049/1831/286 +f 1049/1831/286 1046/1826/283 1050/1832/287 +f 1051/1833/288 1052/1834/289 1053/1835/290 +f 1054/1836/291 1055/1837/292 1056/1838/293 +f 1057/1839/294 1058/1840/295 1052/1834/289 +f 1059/1841/296 1060/1842/297 1054/1836/291 +f 1056/1838/293 1061/1843/284 1031/1811/271 +f 1062/1844/298 1039/1819/299 1038/1818/300 +f 1063/1845/301 1064/1846/302 1035/1815/273 +f 1051/1833/288 1065/1847/303 1066/1848/304 +f 1067/1849/305 1066/1848/304 1065/1847/303 +f 1034/1814/272 1068/1850/306 1063/1845/301 +f 1069/1851/307 1054/1836/291 1056/1838/293 +f 1070/1852/308 1045/1825/282 1040/1820/278 +f 1054/1836/291 1071/1853/309 1059/1841/296 +f 1072/1854/310 1050/1832/287 1045/1825/282 +f 1059/1841/296 1073/1855/311 1039/1819/299 +f 1049/1831/286 1074/1856/312 1034/1829/272 +f 1075/1857/313 1065/1847/303 1053/1835/290 +f 1076/1858/314 1067/1849/305 1065/1847/303 +f 1077/1859/315 1049/1831/286 1050/1832/287 +f 1073/1855/316 1037/1817/275 1039/1819/277 +f 1078/1860/317 1053/1835/290 1052/1834/289 +f 1079/1861/318 1043/1823/271 1037/1817/275 +f 1080/1862/319 1052/1834/289 1058/1840/295 +f 1081/1863/320 1031/1811/271 1033/1813/165 +f 1082/1864/321 1040/1827/278 1043/1823/271 +f 1063/1845/301 1080/1862/319 1058/1840/295 +f 1083/1865/322 1056/1838/293 1031/1811/271 +f 1084/1866/162 1085/1867/149 1086/1868/323 +f 1087/1869/324 1086/1870/323 1066/1848/304 +f 1066/1848/304 1088/1871/325 1051/1833/288 +f 1051/1833/288 1089/1872/326 1057/1839/294 +f 1057/1839/294 1090/1873/327 1064/1846/302 +f 1090/1873/327 1035/1815/273 1064/1846/302 +f 1036/1816/274 1091/1874/328 1092/1875/329 +f 1048/1830/285 1092/1876/329 1093/1877/330 +f 1048/1830/285 1094/1878/331 1046/1826/283 +f 1046/1826/283 1095/1879/332 1041/1821/279 +f 1041/1821/279 1096/1880/333 1042/1822/280 +f 1042/1881/280 1097/1882/334 1047/1828/284 +f 1047/1828/284 1098/1883/335 1044/1824/281 +f 1044/1824/281 1099/1884/336 1038/1818/276 +f 1062/1844/298 1099/1884/337 1100/1885/338 +f 1100/1885/338 1060/1842/297 1062/1844/298 +f 1060/1842/297 1101/1886/339 1055/1837/292 +f 1055/1837/292 1085/1887/340 1061/1843/284 +f 1061/1843/284 1102/1888/341 1032/1812/164 +f 1103/1889/167 1083/1890/143 1081/1891/143 +f 1069/1892/143 1076/1893/314 1075/1894/313 +f 1104/1895/143 1075/1894/313 1078/1896/317 +f 1071/1897/143 1104/1895/143 1078/1896/317 +f 1080/1898/319 1079/1899/143 1078/1896/317 +f 1079/1899/143 1071/1897/143 1078/1896/317 +f 1080/1898/319 1082/1900/143 1079/1899/143 +f 1082/1900/143 1074/1901/312 1070/1902/308 +f 1072/1903/310 1070/1902/308 1077/1904/315 +f 1105/1905/342 1077/1904/315 1074/1901/312 +f 1074/1901/312 1077/1904/315 1070/1902/308 +f 1086/1868/323 1101/1906/149 1088/1907/325 +f 1106/1908/149 1088/1907/325 1101/1906/149 +f 1100/1909/149 1089/1910/326 1106/1908/149 +f 1098/1911/149 1100/1909/149 1099/1912/149 +f 1089/1910/326 1098/1911/149 1090/1913/327 +f 1097/1914/149 1090/1913/327 1098/1911/149 +f 1092/1915/329 1097/1914/149 1096/1916/333 +f 1095/1917/332 1094/1918/331 1096/1916/333 +f 1093/1919/330 1092/1915/329 1094/1918/331 +f 1092/1915/329 1096/1916/333 1094/1918/331 +f 1107/1920/343 1108/1921/149 1109/1922/149 +f 1110/1923/344 1111/1924/143 1112/1925/143 +f 1113/1926/345 1114/1927/346 1115/1928/144 +f 1115/1929/144 1116/1930/347 1117/1931/348 +f 1118/1932/349 1108/1921/350 1119/1933/351 +f 1117/1931/348 1110/1923/352 1112/1925/353 +f 1120/1934/354 1118/1932/349 1119/1933/351 +f 1118/1932/349 1121/1935/355 1114/1936/346 +f 1122/1937/356 1114/1938/346 1121/1935/355 +f 1122/1937/356 1120/1934/354 1123/1939/357 +f 1122/1937/356 1124/1940/358 1114/1941/346 +f 1125/1942/359 1122/1937/356 1123/1939/357 +f 1116/1930/347 1125/1942/359 1110/1923/352 +f 1114/1943/346 1124/1940/358 1116/1930/347 +f 1110/1923/344 1126/1944/360 1127/1945/344 +f 1126/1944/360 1123/1939/145 1128/1946/145 +f 1123/1939/145 1129/1947/361 1128/1946/145 +f 1129/1947/361 1119/1933/343 1107/1920/343 +f 728/1513/144 727/1948/362 723/1275/144 +f 730/1949/363 893/1512/364 725/1950/363 +f 729/1951/362 725/1950/363 727/1948/362 +f 741/1517/144 740/1952/362 737/1295/144 +f 743/1953/363 894/1516/364 739/1954/363 +f 743/1953/363 740/1952/362 742/1955/362 +f 1130/1956/365 1131/1957/142 1132/1958/142 +f 1133/1959/150 1134/1960/366 1135/1961/366 +f 1132/1958/142 1136/1962/367 1137/1963/367 +f 1138/1964/368 1139/1965/145 1140/1966/368 +f 1135/1961/366 1139/1965/145 1141/1967/145 +f 1137/1963/367 1142/1968/150 1133/1959/150 +f 691/1969/369 695/1970/369 1138/1964/368 +f 694/1520/370 690/1309/371 1143/1971/365 +f 759/1972/372 788/1973/373 761/1974/373 +f 760/1330/374 785/1365/375 758/1328/375 +f 788/1973/373 763/1975/376 761/1974/373 +f 790/1976/376 765/1977/377 763/1975/376 +f 789/1370/378 760/1330/374 762/1332/378 +f 765/1977/377 794/1378/379 768/1341/379 +f 794/1378/379 769/1342/380 768/1341/379 +f 764/1335/381 789/1370/378 762/1332/378 +f 750/1318/382 773/1351/383 748/1316/383 +f 793/1375/384 764/1335/381 766/1338/384 +f 780/1358/385 750/1318/382 753/1321/385 +f 769/1346/380 772/1382/386 747/1344/386 +f 782/1360/387 753/1321/385 755/1323/387 +f 747/1344/386 774/1978/142 751/1979/142 +f 748/1316/383 827/1421/388 749/1317/388 +f 751/1979/142 779/1980/389 752/1981/389 +f 749/1317/388 826/1419/150 744/1312/150 +f 783/1363/390 755/1323/387 756/1325/390 +f 779/1980/389 754/1982/391 752/1981/389 +f 744/1312/150 777/1355/392 771/1349/392 +f 781/1983/391 757/1984/393 754/1982/391 +f 777/1355/392 770/1347/394 771/1349/392 +f 758/1328/375 783/1363/390 756/1325/390 +f 784/1985/393 759/1972/372 757/1984/393 +f 806/1392/395 816/1405/396 814/1403/396 +f 808/1986/397 798/1399/398 800/1987/397 +f 810/1396/399 813/1402/400 802/1388/399 +f 799/1385/401 810/1396/399 802/1388/399 +f 806/1392/395 799/1385/401 817/1406/395 +f 809/1526/402 801/1988/403 803/1401/402 +f 807/1989/403 800/1987/397 801/1988/403 +f 587/1547/161 597/1550/162 912/1548/162 +f 597/1550/162 593/1552/163 914/1551/163 +f 593/1552/163 591/1554/164 915/1553/164 +f 591/1554/164 588/1556/165 916/1555/165 +f 588/1556/165 590/1558/166 917/1557/166 +f 590/1558/166 598/1560/167 918/1559/167 +f 598/1560/167 585/1562/168 919/1561/168 +f 585/1562/168 587/1990/161 913/1563/161 +f 594/1111/168 927/1571/168 920/1564/161 +f 592/1109/161 920/1564/161 921/1565/162 +f 589/1106/162 921/1565/162 922/1566/163 +f 599/1117/163 922/1566/163 923/1567/164 +f 595/1112/166 586/1115/165 924/1568/165 +f 595/1112/166 925/1569/166 926/1570/167 +f 596/1113/167 926/1570/167 927/1571/168 +f 600/1118/164 923/1567/164 924/1572/165 +f 900/1573/163 836/1580/163 835/1574/162 +f 902/1576/167 834/1584/167 833/1577/166 +f 820/1579/169 609/1687/169 836/1580/163 +f 629/1581/157 901/1575/162 835/1574/162 +f 832/1583/156 831/1991/156 834/1584/167 +f 818/1578/166 833/1577/166 610/1585/170 +f 899/1587/171 898/1693/155 838/1588/155 +f 622/1593/173 608/1992/172 611/1591/174 +f 608/1992/172 831/1428/172 611/1591/174 +f 603/1590/173 602/1993/145 607/1592/145 +f 622/1593/173 611/1591/174 612/1594/145 +f 928/1596/164 940/1608/164 929/1597/163 +f 931/1599/162 941/1609/162 932/1600/161 +f 934/1602/168 942/1611/168 935/1603/167 +f 937/1605/165 943/1612/166 938/1606/166 +f 937/1605/165 939/1607/165 940/1608/164 +f 930/1598/163 929/1597/163 941/1609/162 +f 933/1610/161 932/1994/161 942/1611/168 +f 936/1604/167 935/1603/167 938/1606/166 +f 624/1613/175 623/1625/175 849/1614/175 +f 847/1616/162 846/1626/161 626/1617/161 +f 845/1619/168 844/1628/167 628/1620/167 +f 843/1622/177 625/1695/177 850/1623/178 +f 624/1613/175 634/1615/176 631/1159/149 +f 623/1625/175 847/1616/162 851/1618/162 +f 846/1626/161 845/1995/168 627/1627/168 +f 844/1628/167 843/1622/177 848/1624/177 +f 944/1629/179 1144/1996/180 945/1630/180 +f 636/1632/182 635/1997/404 947/1633/183 +f 949/1635/185 960/1648/198 950/1636/186 +f 638/1638/188 640/1637/405 950/1636/186 +f 636/1632/182 948/1634/184 952/1640/190 +f 963/1651/201 959/1647/197 958/1646/196 +f 963/1655/201 964/1653/202 956/1644/194 +f 959/1657/197 955/1998/193 954/1642/192 +f 965/1658/205 643/1667/168 857/1659/167 +f 967/1661/203 637/1697/203 852/1662/162 +f 966/1660/167 857/1659/167 639/1664/204 +f 970/1666/161 641/1999/161 643/1667/168 +f 970/1668/161 968/1663/162 852/1662/162 +f 971/1670/144 983/1682/157 972/1671/157 +f 974/1673/149 984/1683/155 975/1674/155 +f 977/1676/150 985/1684/154 978/1677/154 +f 980/1679/143 986/1685/156 981/1680/156 +f 983/1682/157 974/1673/149 976/1675/149 +f 984/1683/155 977/1676/150 979/1678/150 +f 985/1684/154 980/1679/143 982/1681/143 +f 986/1685/156 971/2000/144 973/1686/144 +f 820/1579/169 899/1587/171 837/1589/171 +f 896/1688/154 895/1694/206 840/1689/206 +f 897/1691/150 896/1688/154 839/1690/154 +f 898/1693/155 897/1691/150 841/1692/150 +f 819/1586/170 610/1585/170 840/1689/206 +f 625/1695/177 630/1158/143 632/1160/143 +f 987/1696/207 635/1700/207 637/1697/203 +f 969/1665/204 639/1664/204 638/1698/208 +f 635/1700/207 987/1696/207 988/1699/208 +f 853/1701/209 993/1710/209 989/1702/210 +f 946/1631/181 949/2001/185 990/1704/211 +f 854/1703/210 989/1702/210 991/1705/144 +f 642/1706/144 991/1705/144 992/1707/212 +f 852/1709/213 996/1715/213 993/1710/209 +f 855/1708/212 992/1707/212 994/1711/214 +f 856/1712/214 994/1711/214 995/1713/215 +f 637/1166/149 636/1165/149 996/1715/213 +f 636/1165/149 953/1718/191 997/1717/191 +f 996/1715/213 636/1165/149 997/1717/191 +f 990/1704/211 949/2001/185 640/1169/143 +f 639/1168/143 857/2002/215 995/1716/215 +f 990/1704/211 640/1169/143 995/1716/215 +f 945/1630/180 1144/1996/180 997/1717/191 +f 945/1719/180 953/1641/191 952/1640/190 +f 960/1648/198 949/1635/185 946/1720/181 +f 958/1646/196 946/1720/181 945/1719/180 +f 908/1721/216 907/1733/150 998/1722/150 +f 823/1724/218 908/1721/216 999/1723/217 +f 824/1462/220 823/1724/218 1000/1725/219 +f 649/1178/221 648/1177/221 1001/1726/222 +f 906/1727/223 1001/1726/222 1002/1728/224 +f 892/1730/226 674/1739/210 821/1731/210 +f 825/1729/225 1002/1728/224 998/1722/150 +f 891/1734/144 890/1737/212 822/1735/212 +f 890/1737/212 675/1743/227 904/1738/227 +f 674/1739/210 891/1734/144 903/1736/144 +f 644/1173/228 646/1175/228 905/1732/226 +f 646/1175/228 653/1740/228 892/1730/226 +f 905/1732/226 646/1175/228 892/1730/226 +f 858/1742/229 647/2003/229 904/1738/227 +f 904/1738/227 675/1743/227 858/1742/229 +f 675/1743/227 828/2004/229 650/1744/229 +f 1003/1745/230 1007/1753/150 829/1746/150 +f 1004/1748/231 830/1754/223 909/1749/225 +f 1006/1751/233 1003/1745/230 911/1747/216 +f 1005/1750/232 909/1749/225 829/1746/150 +f 859/1465/220 1006/1751/233 910/1752/218 +f 652/1181/221 651/1180/221 830/1754/223 +f 863/1755/234 877/2005/244 876/1756/235 +f 656/1757/236 876/2006/235 875/1758/237 +f 860/1760/239 868/2007/406 871/1761/240 +f 861/1763/242 860/1760/239 870/1764/241 +f 862/1766/144 861/1763/242 869/1767/243 +f 862/1766/144 661/2008/144 877/1769/244 +f 1008/1770/245 662/2009/245 879/1771/149 +f 1010/1773/246 878/1778/246 664/1774/247 +f 663/1776/248 662/2009/245 1008/1770/245 +f 1009/1772/149 879/1771/149 878/1778/246 +f 1013/1779/249 881/1786/249 880/1780/250 +f 667/1782/251 666/1787/252 1015/1783/252 +f 1017/1785/143 665/2010/143 881/1786/249 +f 666/1787/252 665/2010/143 1017/1785/143 +f 669/1198/253 668/1799/261 1018/1788/254 +f 1020/1790/255 1021/1792/257 670/1791/256 +f 1021/1792/257 1022/1794/258 883/1793/258 +f 1022/1794/258 1024/2011/259 884/1795/259 +f 1023/1796/260 885/2012/260 884/1797/259 +f 668/1799/261 885/2012/260 1023/1796/260 +f 1025/1800/262 886/1492/262 673/1801/263 +f 887/1493/265 1145/2013/265 1027/1803/266 +f 888/1804/267 1027/1803/266 1028/1805/268 +f 1028/1805/268 1030/2014/269 671/1807/269 +f 1029/1808/270 672/2015/270 671/1809/269 +f 673/1801/263 672/2015/270 1029/1808/270 +f 1031/1811/271 1061/1843/284 1032/1812/164 +f 1034/1814/272 1063/1845/301 1035/1815/273 +f 1037/1817/275 1044/1824/281 1038/1818/276 +f 1040/1820/278 1045/1825/282 1041/1821/279 +f 1043/1823/271 1047/1828/284 1044/1824/281 +f 1045/1825/282 1050/1832/287 1046/1826/283 +f 1040/1827/278 1042/1881/280 1047/1828/284 +f 1034/1829/272 1036/2016/274 1048/1830/285 +f 1049/1831/286 1048/1830/285 1046/1826/283 +f 1051/1833/288 1057/1839/294 1052/1834/289 +f 1054/1836/291 1060/1842/297 1055/1837/292 +f 1057/1839/294 1064/1846/302 1058/1840/295 +f 1059/1841/296 1062/1844/298 1060/1842/297 +f 1056/1838/293 1055/1837/292 1061/1843/284 +f 1062/1844/298 1059/1841/296 1039/1819/299 +f 1063/1845/301 1058/1840/295 1064/1846/302 +f 1051/1833/288 1053/1835/290 1065/1847/303 +f 1067/1849/305 1087/1869/324 1066/1848/304 +f 1034/1814/272 1074/2017/312 1068/1850/306 +f 1069/1851/307 1104/2018/407 1054/1836/291 +f 1070/1852/308 1072/1854/310 1045/1825/282 +f 1054/1836/291 1104/2018/407 1071/1853/309 +f 1072/1854/310 1077/1859/315 1050/1832/287 +f 1059/1841/296 1071/1853/309 1073/1855/311 +f 1049/1831/286 1105/2019/342 1074/1856/312 +f 1075/1857/313 1076/1858/314 1065/1847/303 +f 1076/1858/314 1103/2020/167 1067/1849/305 +f 1077/1859/315 1105/2019/342 1049/1831/286 +f 1073/1855/316 1079/1861/318 1037/1817/275 +f 1078/1860/317 1075/1857/313 1053/1835/290 +f 1079/1861/318 1082/1864/321 1043/1823/271 +f 1080/1862/319 1078/1860/317 1052/1834/289 +f 1081/1863/320 1083/1865/322 1031/1811/271 +f 1082/1864/321 1070/2021/308 1040/1827/278 +f 1063/1845/301 1068/1850/306 1080/1862/319 +f 1083/1865/322 1069/1851/307 1056/1838/293 +f 1084/1866/162 1102/2022/149 1085/1867/149 +f 1087/1869/324 1084/2023/162 1086/1870/323 +f 1066/1848/304 1086/1870/323 1088/1871/325 +f 1051/1833/288 1088/1871/325 1089/1872/326 +f 1057/1839/294 1089/1872/326 1090/1873/327 +f 1090/1873/327 1091/1874/328 1035/1815/273 +f 1036/1816/274 1035/1815/273 1091/1874/328 +f 1048/1830/285 1036/2016/274 1092/1876/329 +f 1048/1830/285 1093/1877/330 1094/1878/331 +f 1046/1826/283 1094/1878/331 1095/1879/332 +f 1041/1821/279 1095/1879/332 1096/1880/333 +f 1042/1881/280 1096/2024/333 1097/1882/334 +f 1047/1828/284 1097/1882/334 1098/1883/335 +f 1044/1824/281 1098/1883/335 1099/1884/336 +f 1062/1844/298 1038/1818/300 1099/1884/337 +f 1100/1885/338 1106/2025/408 1060/1842/297 +f 1060/1842/297 1106/2025/408 1101/1886/339 +f 1055/1837/292 1101/1886/339 1085/1887/340 +f 1061/1843/284 1085/1887/340 1102/1888/341 +f 1103/1889/167 1076/1893/314 1083/1890/143 +f 1069/1892/143 1083/1890/143 1076/1893/314 +f 1104/1895/143 1069/1892/143 1075/1894/313 +f 1079/1899/143 1073/2026/143 1071/1897/143 +f 1080/1898/319 1068/2027/306 1082/1900/143 +f 1082/1900/143 1068/2027/306 1074/1901/312 +f 1086/1868/323 1085/1867/149 1101/1906/149 +f 1106/1908/149 1089/1910/326 1088/1907/325 +f 1098/1911/149 1089/1910/326 1100/1909/149 +f 1097/1914/149 1091/2028/328 1090/1913/327 +f 1092/1915/329 1091/2028/328 1097/1914/149 +f 1107/1920/343 1119/1933/343 1108/1921/149 +f 1110/1923/344 1127/1945/344 1111/1924/143 +f 1113/1926/345 1118/1932/349 1114/1927/346 +f 1115/1929/144 1114/2029/346 1116/1930/347 +f 1118/1932/349 1113/1926/345 1108/1921/350 +f 1117/1931/348 1116/1930/347 1110/1923/352 +f 1120/1934/354 1121/1935/355 1118/1932/349 +f 1122/1937/356 1121/1935/355 1120/1934/354 +f 1125/1942/359 1124/1940/358 1122/1937/356 +f 1116/1930/347 1124/1940/358 1125/1942/359 +f 1110/1923/344 1125/1942/360 1126/1944/360 +f 1126/1944/360 1125/1942/360 1123/1939/145 +f 1123/1939/145 1120/1934/361 1129/1947/361 +f 1129/1947/361 1120/1934/361 1119/1933/343 +f 728/1513/144 729/1951/362 727/1948/362 +f 730/1949/363 721/1273/364 893/1512/364 +f 729/1951/362 730/1949/363 725/1950/363 +f 741/1517/144 742/1955/362 740/1952/362 +f 743/1953/363 735/1293/364 894/1516/364 +f 743/1953/363 739/1954/363 740/1952/362 +f 1130/1956/365 1143/1971/365 1131/1957/142 +f 1133/1959/150 1142/1968/150 1134/1960/366 +f 1132/1958/142 1131/1957/142 1136/1962/367 +f 1138/1964/368 1141/1967/145 1139/1965/145 +f 1135/1961/366 1134/1960/366 1139/1965/145 +f 1137/1963/367 1136/1962/367 1142/1968/150 +f 695/1970/369 679/2030/369 1138/1964/368 +f 1138/1964/368 1140/1966/368 691/1969/369 +f 1140/1966/368 687/2031/369 691/1969/369 +f 690/1309/371 682/2032/370 1143/1971/365 +f 1143/1971/365 1130/1956/365 694/1520/370 +f 1130/1956/365 681/2033/370 694/1520/370 +f 759/1972/372 786/2034/372 788/1973/373 +f 760/1330/374 787/1367/374 785/1365/375 +f 788/1973/373 790/1976/376 763/1975/376 +f 790/1976/376 792/2035/377 765/1977/377 +f 789/1370/378 787/1367/374 760/1330/374 +f 765/1977/377 792/2035/377 794/1378/379 +f 794/1378/379 796/1380/380 769/1342/380 +f 764/1335/381 791/1373/381 789/1370/378 +f 750/1318/382 778/1356/382 773/1351/383 +f 793/1375/384 791/1373/381 764/1335/381 +f 780/1358/385 778/1356/382 750/1318/382 +f 769/1346/380 796/1383/380 772/1382/386 +f 782/1360/387 780/1358/385 753/1321/385 +f 747/1344/386 772/1382/386 774/1978/142 +f 748/1316/383 773/1351/383 827/1421/388 +f 751/1979/142 774/1978/142 779/1980/389 +f 749/1317/388 827/1421/388 826/1419/150 +f 783/1363/390 782/1360/387 755/1323/387 +f 779/1980/389 781/1983/391 754/1982/391 +f 744/1312/150 826/1419/150 777/1355/392 +f 781/1983/391 784/1985/393 757/1984/393 +f 777/1355/392 776/1354/394 770/1347/394 +f 758/1328/375 785/1365/375 783/1363/390 +f 784/1985/393 786/2034/372 759/1972/372 +f 806/1392/395 817/1406/395 816/1405/396 +f 808/1986/397 804/1397/398 798/1399/398 +f 810/1396/399 812/1400/400 813/1402/400 +f 799/1385/401 805/1391/401 810/1396/399 +f 806/1392/395 805/1391/401 799/1385/401 +f 809/1526/402 807/1989/403 801/1988/403 +f 807/1989/403 808/1986/397 800/1987/397 +l 1111 1109 diff --git a/src/main/resources/assets/hbm/models/weapons/henry.obj b/src/main/resources/assets/hbm/models/weapons/henry.obj index 4779070e8..03ba3df7f 100644 --- a/src/main/resources/assets/hbm/models/weapons/henry.obj +++ b/src/main/resources/assets/hbm/models/weapons/henry.obj @@ -1,6 +1,226 @@ # Blender v2.79 (sub 0) OBJ File: 'henry.blend' # www.blender.org -o Plane +o Sight +v -0.125000 1.250000 -0.218750 +v 0.125000 1.250000 -0.218750 +v -0.125000 1.250000 -0.156250 +v 0.125000 1.250000 -0.156250 +v -0.125000 2.000000 -0.218750 +v 0.125000 2.000000 -0.218750 +v -0.125000 2.000000 -0.156250 +v 0.125000 2.000000 -0.156250 +v -0.062500 1.875000 -0.218750 +v 0.062500 1.875000 -0.218750 +v -0.062500 1.875000 -0.156250 +v 0.062500 1.875000 -0.156250 +v -0.062500 1.250000 -0.218750 +v 0.062500 1.250000 -0.218750 +v -0.062500 1.250000 -0.156250 +v 0.062500 1.250000 -0.156250 +vt 0.017857 0.456522 +vt -0.000000 0.478261 +vt 0.005952 0.456522 +vt 0.017857 0.445652 +vt 0.053571 0.489130 +vt 0.029762 0.478261 +vt 0.053571 0.478261 +vt 0.059524 0.478261 +vt 0.053571 0.347826 +vt 0.059524 0.347826 +vt 0.023810 0.347826 +vt 0.023810 0.478261 +vt 0.035714 0.456522 +vt 0.047619 0.456522 +vt 0.041667 0.456522 +vt 0.047619 0.347826 +vt 0.041667 0.347826 +vt 0.041667 0.456522 +vt 0.029762 0.347826 +vt -0.000000 0.347826 +vt 0.005952 0.445652 +vt 0.029762 0.489130 +vt 0.041667 0.347826 +vt 0.035714 0.347826 +vt 0.017857 0.347826 +vt 0.005952 0.347826 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +s off +f 12/1/1 7/2/1 11/3/1 +f 11/3/2 10/4/2 12/1/2 +f 7/5/3 6/6/3 5/7/3 +f 7/8/4 1/9/4 3/10/4 +f 4/11/5 6/6/5 8/12/5 +f 5/7/6 10/13/6 9/14/6 +f 11/15/5 13/16/5 9/14/5 +f 10/13/4 16/17/4 12/18/4 +f 12/1/1 4/11/1 8/12/1 +f 2/19/6 10/13/6 6/6/6 +f 3/20/1 11/3/1 7/2/1 +f 9/14/6 1/9/6 5/7/6 +f 12/1/1 8/12/1 7/2/1 +f 11/3/2 9/21/2 10/4/2 +f 7/5/3 8/22/3 6/6/3 +f 7/8/4 5/7/4 1/9/4 +f 4/11/5 2/19/5 6/6/5 +f 5/7/6 6/6/6 10/13/6 +f 11/15/5 15/23/5 13/16/5 +f 10/13/4 14/24/4 16/17/4 +f 12/1/1 16/25/1 4/11/1 +f 2/19/6 14/24/6 10/13/6 +f 3/20/1 15/26/1 11/3/1 +f 9/14/6 13/16/6 1/9/6 +o Bullet +v -0.099437 0.786939 5.875000 +v 0.000000 0.828127 5.875000 +v -0.140625 0.687502 5.875000 +v -0.099437 0.588065 5.875000 +v 0.000000 0.546877 5.875000 +v 0.099437 0.588065 5.875000 +v 0.140625 0.687502 5.875000 +v 0.099437 0.786939 5.875000 +v -0.099437 0.786939 6.375000 +v 0.000000 0.828127 6.375000 +v -0.140625 0.687502 6.375000 +v -0.099437 0.588065 6.375000 +v 0.000000 0.546877 6.375000 +v 0.099437 0.588065 6.375000 +v 0.140625 0.687502 6.375000 +v 0.099437 0.786939 6.375000 +v -0.049718 0.737221 6.625000 +v 0.000000 0.757815 6.625000 +v -0.070312 0.687502 6.625000 +v -0.049718 0.637784 6.625000 +v 0.000000 0.617190 6.625000 +v 0.049718 0.637784 6.625000 +v 0.070312 0.687502 6.625000 +v 0.049718 0.737221 6.625000 +vt 0.023809 0.923983 +vt 0.015419 0.930330 +vt 0.011943 0.945652 +vt 0.015419 0.960974 +vt 0.023809 0.967321 +vt 0.032200 0.960974 +vt 0.035676 0.945652 +vt 0.032200 0.930330 +vt 0.023810 0.880435 +vt -0.000000 0.891304 +vt -0.000000 0.880435 +vt 0.071429 0.815217 +vt 0.023810 0.793478 +vt 0.071429 0.793478 +vt 0.071429 0.771739 +vt 0.023810 0.750000 +vt 0.071429 0.750000 +vt 0.071429 0.902174 +vt 0.071429 0.880435 +vt 0.071429 0.858696 +vt 0.023810 0.836957 +vt 0.071429 0.836957 +vt 0.023810 0.815217 +vt 0.023810 0.771739 +vt 0.071429 0.923913 +vt 0.023810 0.902174 +vt 0.023810 0.858696 +vt 0.011629 0.934783 +vt 0.009966 0.942113 +vt 0.005952 0.945149 +vt -0.000000 0.836957 +vt -0.000000 0.826087 +vt -0.000000 0.815217 +vt -0.000000 0.771739 +vt -0.000000 0.913043 +vt -0.000000 0.902174 +vt -0.000000 0.858696 +vt -0.000000 0.804348 +vt -0.000000 0.793478 +vt -0.000000 0.750000 +vt 0.023810 0.923913 +vt 0.001938 0.942113 +vt 0.000276 0.934783 +vt 0.001938 0.927453 +vt 0.005952 0.924417 +vt 0.009966 0.927453 +vt -0.000000 0.847826 +vt -0.000000 0.782609 +vt -0.000000 0.869565 +vt -0.000000 0.760870 +vn 0.0000 0.0000 -1.0000 +vn -0.9627 -0.0000 0.2707 +vn -0.4833 -0.4833 0.7300 +vn -0.6835 -0.0000 0.7300 +vn 0.7071 0.7071 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.6835 -0.0000 0.7300 +vn 0.4833 0.4833 0.7300 +vn 0.0000 0.6835 0.7300 +vn -0.6807 0.6807 0.2707 +vn 0.0000 0.9627 0.2707 +vn 0.6807 0.6807 0.2707 +vn 0.9627 0.0000 0.2707 +vn 0.4833 -0.4833 0.7300 +vn 0.6807 -0.6807 0.2707 +vn -0.6807 -0.6807 0.2707 +vn 0.0000 -0.6835 0.7300 +vn -0.4833 0.4833 0.7300 +vn 0.0000 -0.9627 0.2707 +s off +f 21/27/7 20/28/7 19/29/7 +f 19/29/7 17/30/7 18/31/7 +f 18/31/7 24/32/7 19/29/7 +f 24/32/7 23/33/7 19/29/7 +f 23/33/7 22/34/7 19/29/7 +f 22/34/7 21/27/7 19/29/7 +s 1 +f 27/35/8 36/36/9 35/37/10 +f 24/38/11 31/39/12 23/40/12 +f 22/41/13 29/42/14 21/43/14 +f 20/44/15 27/35/16 19/45/16 +f 17/46/17 26/47/18 18/48/18 +f 18/48/18 32/49/11 24/38/11 +f 23/40/12 30/50/13 22/41/13 +f 21/51/14 28/52/15 20/44/15 +f 19/45/16 25/53/17 17/46/17 +f 39/54/19 40/55/20 34/56/21 +f 25/53/22 34/57/21 26/47/23 +f 32/49/24 34/58/21 40/59/20 +f 31/39/25 38/60/26 30/50/27 +f 28/52/28 37/61/29 36/62/9 +f 27/35/8 33/63/30 25/53/22 +f 31/39/25 40/64/20 39/65/19 +f 30/50/27 37/66/29 29/42/31 +f 27/35/8 28/52/28 36/36/9 +f 24/38/11 32/49/11 31/39/12 +f 22/41/13 30/50/13 29/42/14 +f 20/44/15 28/52/15 27/35/16 +f 17/46/17 25/53/17 26/47/18 +f 18/48/18 26/47/18 32/49/11 +f 23/40/12 31/39/12 30/50/13 +f 21/51/14 29/67/14 28/52/15 +f 19/45/16 27/35/16 25/53/17 +f 34/56/21 33/68/30 35/69/10 +f 35/69/10 36/70/9 34/56/21 +f 36/70/9 37/71/29 34/56/21 +f 37/71/29 38/72/26 34/56/21 +f 38/72/26 39/54/19 34/56/21 +f 25/53/22 33/73/30 34/57/21 +f 32/49/24 26/47/23 34/58/21 +f 31/39/25 39/74/19 38/60/26 +f 28/52/28 29/67/31 37/61/29 +f 27/35/8 35/75/10 33/63/30 +f 31/39/25 32/49/24 40/64/20 +f 30/50/27 38/76/26 37/66/29 +o Front v 0.062500 1.187500 6.000000 v 0.187500 1.062500 6.000000 v -0.187500 1.062500 6.000000 @@ -9,22 +229,6 @@ v 0.187500 0.937500 6.000000 v 0.062500 0.812500 6.000000 v -0.062500 0.812500 6.000000 v -0.187500 0.937500 6.000000 -v -0.187500 0.937500 6.000000 -v -0.062500 0.812500 6.000000 -v 0.062500 0.812500 6.000000 -v 0.187500 0.937500 6.000000 -v -0.062500 1.187500 6.000000 -v -0.187500 1.062500 6.000000 -v 0.187500 1.062500 6.000000 -v 0.062500 1.187500 6.000000 -v 0.062500 1.187500 -0.625000 -v 0.187500 1.062500 -0.625000 -v -0.187500 1.062500 -0.625000 -v -0.062500 1.187500 -0.625000 -v 0.187500 0.937500 -0.625000 -v 0.062500 0.812500 -0.625000 -v -0.062500 0.812500 -0.625000 -v -0.187500 0.937500 -0.625000 v 0.062500 0.812499 8.000000 v -0.062500 0.812499 8.000000 v 0.187500 0.937499 8.000000 @@ -49,22 +253,6 @@ v 0.062500 1.124999 7.000000 v -0.062500 1.124999 7.000000 v 0.125000 0.937499 7.000000 v 0.125000 1.062499 7.000000 -v 0.000000 0.875000 -0.625000 -v -0.132582 0.820082 -0.625000 -v -0.187500 0.687500 -0.625000 -v -0.132582 0.554917 -0.625000 -v 0.000000 0.500000 -0.625000 -v 0.132582 0.554917 -0.625000 -v 0.187500 0.687500 -0.625000 -v 0.132582 0.820082 -0.625000 -v 0.000000 0.875000 5.937500 -v -0.132582 0.820082 5.937500 -v -0.187500 0.687500 5.937500 -v -0.132582 0.554917 5.937500 -v 0.000000 0.500000 5.937500 -v 0.132582 0.554917 5.937500 -v 0.187500 0.687500 5.937500 -v 0.132582 0.820082 5.937500 v 0.000000 0.875000 5.937500 v -0.132582 0.820082 5.937500 v -0.187500 0.687500 5.937500 @@ -81,6 +269,734 @@ v 0.000000 0.500002 7.875000 v 0.132582 0.554920 7.875000 v 0.187500 0.687502 7.875000 v 0.132582 0.820085 7.875000 +v -0.125000 1.062499 7.937500 +v -0.125000 1.312499 7.937500 +v -0.125000 1.062499 7.687500 +v -0.125000 1.312499 7.687500 +v 0.125000 1.062499 7.937500 +v 0.125000 1.312499 7.937500 +v 0.125000 1.062499 7.687500 +v 0.125000 1.312499 7.687500 +v 0.062500 1.124999 7.687500 +v -0.062500 1.124999 7.687500 +v -0.062500 1.124999 7.937500 +v 0.062500 1.124999 7.937500 +vt 0.238095 0.108696 +vt 0.267857 0.076087 +vt 0.285714 0.130435 +vt 0.029762 0.163043 +vt 0.041667 0.130435 +vt 0.047619 0.130435 +vt 0.238095 0.054348 +vt 0.047619 0.021739 +vt 0.238095 0.021739 +vt 0.238095 0.130435 +vt 0.047619 0.108696 +vt 0.238095 0.163043 +vt 0.047619 0.000000 +vt 0.238095 -0.000000 +vt 0.238095 0.217391 +vt 0.047619 0.184783 +vt 0.238095 0.184783 +vt 0.047619 0.163043 +vt 0.238095 0.076087 +vt 0.047619 0.054348 +vt 0.047619 0.076087 +vt 0.000000 0.130435 +vt 0.017857 0.152174 +vt 0.017857 0.163043 +vt 0.041667 0.108696 +vt 0.029762 0.152174 +vt 0.029762 0.086957 +vt 0.029762 0.076087 +vt 0.017857 0.086957 +vt 0.017857 0.076087 +vt 0.005952 0.108696 +vt 0.000000 0.108696 +vt 0.005952 0.130435 +vt 0.113095 0.293478 +vt 0.095238 0.282609 +vt 0.101190 0.250000 +vt 0.149477 0.292260 +vt 0.154684 0.315217 +vt 0.119125 0.315217 +vt 0.154685 0.250000 +vt 0.149477 0.272958 +vt 0.136905 0.282467 +vt 0.851190 0.434783 +vt 0.827381 0.478261 +vt 0.827381 0.434783 +vt 0.851190 0.478261 +vt 0.875000 0.478261 +vt 0.869048 0.510870 +vt 0.898810 0.434783 +vt 0.898810 0.478261 +vt 0.875000 0.434783 +vt 0.857143 0.402174 +vt 0.267857 0.163043 +vt 0.255952 0.163043 +vt 0.255952 0.076087 +vt 0.285714 0.108696 +vt 0.047619 0.217391 +vt 0.113095 0.250000 +vt 0.119048 0.260870 +vt 0.119048 0.282609 +vt 0.101190 0.293478 +vt 0.095238 0.260870 +vt 0.149477 0.338175 +vt 0.136905 0.347684 +vt 0.124333 0.338175 +vt 0.124333 0.292260 +vt 0.136905 0.282750 +vt 0.124333 0.272958 +vt 0.119125 0.250000 +vt 0.124333 0.227043 +vt 0.136905 0.217533 +vt 0.149477 0.227043 +vt 0.857143 0.510870 +vt 0.851190 0.521739 +vt 0.875000 0.521739 +vt 0.869048 0.402174 +vt 0.875000 0.391304 +vt 0.851190 0.391304 +vt -0.000000 0.315217 +vt 0.095238 0.326087 +vt 0.000000 0.326087 +vt -0.000000 0.260870 +vt 0.000000 0.282609 +vt 0.000000 0.228261 +vt 0.095238 0.250000 +vt 0.000000 0.250000 +vt 0.000000 0.217391 +vt 0.095238 0.228261 +vt -0.000000 0.293478 +vt 0.095238 0.315217 +vt 0.095238 0.347826 +vt 0.000000 0.347826 +vt 0.095238 0.293478 +vt 0.339286 0.369565 +vt 0.154762 0.391304 +vt 0.154762 0.369565 +vt 0.339286 0.326087 +vt 0.154762 0.347826 +vt 0.154762 0.326087 +vt 0.339286 0.282609 +vt 0.154762 0.260870 +vt 0.339286 0.260870 +vt 0.339286 0.239130 +vt 0.154762 0.217391 +vt 0.339286 0.217391 +vt 0.339286 0.347826 +vt 0.339286 0.304348 +vt 0.154762 0.304348 +vt 0.154762 0.282609 +vt 0.154762 0.239130 +vt 0.095238 0.217391 +vt 0.339286 0.391304 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.7071 -0.7071 -0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0000 -1.0000 -0.0000 +vn -0.7071 -0.7071 -0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.9239 0.3827 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.3827 -0.9239 0.0000 +vn -0.3827 -0.9239 0.0000 +vn 0.9239 0.3827 0.0000 +vn 0.9239 -0.3827 0.0000 +vn 0.3827 0.9239 0.0000 +vn -0.9239 -0.3827 0.0000 +s off +f 41/77/32 45/78/32 47/79/32 +f 56/80/33 62/81/33 54/82/33 +f 45/83/34 49/84/34 46/85/34 +f 44/86/35 53/87/35 41/77/35 +f 43/88/36 54/82/36 44/86/36 +f 46/85/37 50/89/37 47/90/37 +f 47/91/38 55/92/38 48/93/38 +f 48/93/39 56/94/39 43/88/39 +f 42/95/40 51/96/40 45/83/40 +f 41/77/41 52/97/41 42/95/41 +f 50/98/33 57/99/33 55/100/33 +f 54/82/33 61/101/33 53/87/33 +f 55/100/33 58/102/33 56/80/33 +f 53/87/33 64/103/33 52/104/33 +f 52/104/33 63/105/33 51/106/33 +f 51/106/33 59/107/33 49/108/33 +f 49/108/33 60/109/33 50/98/33 +f 71/110/33 69/111/33 66/112/33 +f 76/113/32 75/114/32 79/115/32 +f 87/116/33 88/117/33 82/118/33 +f 90/119/39 91/120/39 89/121/39 +f 92/122/32 96/123/32 97/124/32 +f 96/123/40 93/125/40 95/126/40 +f 94/127/33 90/119/33 99/128/33 +f 92/122/35 94/127/35 96/123/35 +f 47/79/32 48/129/32 43/130/32 +f 43/130/32 44/86/32 41/77/32 +f 41/77/32 42/131/32 45/78/32 +f 45/78/32 46/132/32 47/79/32 +f 47/79/32 43/130/32 41/77/32 +f 56/80/33 58/102/33 62/81/33 +f 45/83/34 51/96/34 49/84/34 +f 44/86/35 54/82/35 53/87/35 +f 43/88/36 56/94/36 54/82/36 +f 46/85/37 49/84/37 50/89/37 +f 47/91/38 50/133/38 55/92/38 +f 48/93/39 55/92/39 56/94/39 +f 42/95/40 52/97/40 51/96/40 +f 41/77/41 53/87/41 52/97/41 +f 50/98/33 60/109/33 57/99/33 +f 54/82/33 62/81/33 61/101/33 +f 55/100/33 57/99/33 58/102/33 +f 53/87/33 61/101/33 64/103/33 +f 52/104/33 64/103/33 63/105/33 +f 51/106/33 63/105/33 59/107/33 +f 49/108/33 59/107/33 60/109/33 +f 66/112/33 65/134/33 68/135/33 +f 68/135/33 67/136/33 71/110/33 +f 71/110/33 72/137/33 69/111/33 +f 69/111/33 70/138/33 66/112/33 +f 66/112/33 68/135/33 71/110/33 +f 75/114/32 74/139/32 73/140/32 +f 73/140/32 80/141/32 75/114/32 +f 80/141/32 79/115/32 75/114/32 +f 79/115/32 78/142/32 77/143/32 +f 77/143/32 76/113/32 79/115/32 +f 82/118/33 81/144/33 83/145/33 +f 83/145/33 84/146/33 82/118/33 +f 84/146/33 85/147/33 82/118/33 +f 85/147/33 86/148/33 82/118/33 +f 86/148/33 87/116/33 82/118/33 +f 90/119/39 92/122/39 91/120/39 +f 98/149/32 91/150/32 92/122/32 +f 96/123/32 95/151/32 97/124/32 +f 97/124/32 98/149/32 92/122/32 +f 96/123/40 94/127/40 93/125/40 +f 100/152/33 93/153/33 94/127/33 +f 90/119/33 89/154/33 99/128/33 +f 99/128/33 100/152/33 94/127/33 +f 92/122/35 90/119/35 94/127/35 +s 1 +f 63/155/42 67/156/43 59/157/43 +f 62/158/44 69/111/45 61/159/45 +f 57/160/46 66/161/47 58/162/47 +f 58/162/47 70/138/44 62/158/44 +f 60/163/48 65/164/46 57/160/46 +f 64/165/49 71/166/42 63/155/42 +f 59/157/43 68/167/48 60/168/48 +f 61/159/45 72/169/49 64/165/49 +f 76/170/38 85/171/37 84/172/38 +f 74/173/36 83/174/39 81/175/36 +f 80/176/41 87/177/40 79/178/40 +f 78/179/34 85/180/37 77/181/37 +f 75/182/39 84/172/38 83/174/39 +f 73/183/35 81/175/36 82/184/35 +f 73/183/35 88/185/41 80/176/41 +f 79/178/40 86/186/34 78/179/34 +f 63/155/42 71/166/42 67/156/43 +f 62/158/44 70/138/44 69/111/45 +f 57/160/46 65/164/46 66/161/47 +f 58/162/47 66/161/47 70/138/44 +f 60/163/48 68/187/48 65/164/46 +f 64/165/49 72/169/49 71/166/42 +f 59/157/43 67/156/43 68/167/48 +f 61/159/45 69/111/45 72/169/49 +f 76/170/38 77/188/37 85/171/37 +f 74/173/36 75/182/39 83/174/39 +f 80/176/41 88/185/41 87/177/40 +f 78/179/34 86/186/34 85/180/37 +f 75/182/39 76/170/38 84/172/38 +f 73/183/35 74/173/36 81/175/36 +f 73/183/35 82/184/35 88/185/41 +f 79/178/40 87/177/40 86/186/34 +o Hammer +v 0.000000 1.250000 -2.625000 +v -0.044194 1.231694 -2.625000 +v -0.062500 1.187500 -2.625000 +v -0.044194 1.143306 -2.625000 +v 0.000000 1.125000 -2.625000 +v 0.044194 1.143306 -2.625000 +v 0.062500 1.187500 -2.625000 +v 0.044194 1.231694 -2.625000 +v -0.044194 1.231694 -2.875000 +v 0.000000 1.250000 -2.875000 +v -0.062500 1.187500 -2.875000 +v -0.044194 1.143306 -2.875000 +v 0.000000 1.125000 -2.875000 +v 0.044194 1.143306 -2.875000 +v 0.062500 1.187500 -2.875000 +v 0.044194 1.231694 -2.875000 +v -0.062500 0.750000 -2.875000 +v 0.062500 0.750000 -2.875000 +v -0.062500 1.375000 -2.875000 +v 0.062500 1.375000 -2.875000 +v -0.062500 1.500000 -3.000000 +v 0.062500 1.500000 -3.000000 +v -0.062500 1.375000 -2.937500 +v 0.062500 1.375000 -2.937500 +v -0.062500 1.250000 -2.937500 +v 0.062500 1.250000 -2.937500 +v -0.062500 1.125000 -3.062500 +v 0.062500 1.125000 -3.062500 +v -0.062500 1.062500 -3.187500 +v 0.062500 1.062500 -3.187500 +v -0.062500 0.937500 -3.312500 +v 0.062500 0.937500 -3.312500 +v -0.062500 0.812500 -3.375000 +v 0.062500 0.812500 -3.375000 +v -0.062500 0.750000 -3.375000 +v 0.062500 0.750000 -3.375000 +vt 0.928571 0.478234 +vt 0.934539 0.489131 +vt 0.928571 0.500027 +vt 0.845238 0.630435 +vt 0.857143 0.608696 +vt 0.839286 0.543478 +vt 0.839286 0.543478 +vt 0.845238 0.630435 +vt 0.839286 0.652174 +vt 0.924352 0.496836 +vt 0.922604 0.489131 +vt 0.924352 0.481426 +vt 0.932791 0.481426 +vt 0.932791 0.496836 +vt 0.839286 0.652174 +vt 0.845238 0.673913 +vt 0.845238 0.652174 +vt 0.886905 0.554348 +vt 0.886905 0.543478 +vt 0.880952 0.576087 +vt 0.869048 0.597826 +vt 0.886905 0.543478 +vt 0.880952 0.576087 +vt 0.886905 0.554348 +vt 0.869048 0.597826 +vt 0.857143 0.608696 +vt 0.845238 0.652174 +vt 0.845238 0.673913 +vt 0.827381 0.673913 +vt 0.827381 0.652174 +vt 0.898810 0.532609 +vt 0.922619 0.521739 +vt 0.922619 0.532609 +vt 0.898810 0.510870 +vt 0.898810 0.521739 +vt 0.898810 0.489130 +vt 0.922619 0.500000 +vt 0.898810 0.500000 +vt 0.898810 0.565217 +vt 0.922619 0.554348 +vt 0.922619 0.565217 +vt 0.922619 0.543478 +vt 0.898810 0.543478 +vt 0.922619 0.510870 +vt 0.898810 0.478261 +vt 0.922619 0.489130 +vt 0.898810 0.554348 +vt 0.827381 0.543478 +vt 0.886905 0.684783 +vt 0.898810 0.663043 +vt 0.898810 0.684783 +vt 0.886905 0.663043 +vt 0.898810 0.641304 +vt 0.886905 0.641304 +vt 0.898810 0.619565 +vt 0.886905 0.619565 +vt 0.898810 0.597826 +vt 0.886905 0.597826 +vt 0.898810 0.576087 +vt 0.886905 0.576087 +vt 0.898810 0.554348 +vt 0.898810 0.543478 +vt 0.839286 0.673913 +vt 0.922619 0.478261 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.3827 0.9239 +vn 0.0000 0.7071 0.7071 +vn -0.7071 0.7071 -0.0000 +vn 0.0000 1.0000 -0.0000 +vn 0.7071 0.7071 -0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 -0.4472 -0.8944 +vn 0.0000 -0.2298 -0.9732 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 0.8112 -0.5847 +vn 0.0000 0.5847 -0.8112 +vn 0.0000 0.2298 -0.9732 +vn 0.0000 0.0000 -1.0000 +s off +f 105/189/50 107/190/50 101/191/50 +f 125/192/51 127/193/51 117/194/51 +f 118/195/52 126/196/52 120/197/52 +f 101/191/50 102/198/50 103/199/50 +f 103/199/50 104/200/50 105/189/50 +f 105/189/50 106/201/50 107/190/50 +f 107/190/50 108/202/50 101/191/50 +f 101/191/50 103/199/50 105/189/50 +f 119/203/51 121/204/51 123/205/51 +f 119/203/51 123/205/51 125/192/51 +f 133/206/51 135/207/51 131/208/51 +f 135/207/51 117/194/51 131/208/51 +f 129/209/51 131/208/51 117/194/51 +f 127/193/51 129/209/51 117/194/51 +f 117/194/51 119/203/51 125/192/51 +f 118/195/52 136/210/52 132/211/52 +f 136/210/52 134/212/52 132/211/52 +f 132/211/52 130/213/52 118/195/52 +f 130/213/52 128/214/52 118/195/52 +f 124/215/52 122/216/52 120/197/52 +f 128/214/52 126/196/52 118/195/52 +f 126/196/52 124/215/52 120/197/52 +s 1 +f 120/197/53 121/217/54 119/218/53 +f 102/219/55 110/220/56 109/221/55 +f 108/222/57 110/220/56 101/223/56 +f 106/224/58 115/225/52 107/226/52 +f 105/227/59 112/228/60 113/229/59 +f 102/219/55 111/230/51 103/231/51 +f 107/226/52 116/232/57 108/222/57 +f 105/233/59 114/234/58 106/224/58 +f 103/231/51 112/228/60 104/235/60 +f 118/195/50 119/218/53 117/236/50 +f 122/237/61 123/238/62 121/239/61 +f 124/240/62 125/241/63 123/238/62 +f 126/242/63 127/243/64 125/241/63 +f 128/244/64 129/245/64 127/243/64 +f 130/246/64 131/247/65 129/245/64 +f 132/248/65 133/249/66 131/247/65 +f 134/212/66 135/250/67 133/249/66 +f 120/197/53 122/251/54 121/217/54 +f 102/219/55 101/223/56 110/220/56 +f 108/222/57 116/232/57 110/220/56 +f 106/224/58 114/234/58 115/225/52 +f 105/227/59 104/235/60 112/228/60 +f 102/219/55 109/221/55 111/230/51 +f 107/226/52 115/225/52 116/232/57 +f 105/233/59 113/252/59 114/234/58 +f 103/231/51 111/230/51 112/228/60 +f 118/195/50 120/197/53 119/218/53 +f 122/237/61 124/240/62 123/238/62 +f 124/240/62 126/242/63 125/241/63 +f 126/242/63 128/244/64 127/243/64 +f 128/244/64 130/246/64 129/245/64 +f 130/246/64 132/248/65 131/247/65 +f 132/248/65 134/212/66 133/249/66 +f 134/212/66 136/210/67 135/250/67 +o Lever +v -0.125000 0.198188 -2.345635 +v 0.125000 0.198188 -2.345635 +v -0.125000 -0.036735 -2.260129 +v 0.125000 -0.036735 -2.260129 +v -0.125000 -0.426690 -2.783309 +v 0.125000 -0.426690 -2.783309 +v -0.125000 0.176812 -2.404365 +v 0.125000 0.176812 -2.404365 +v -0.125000 -0.058111 -2.318860 +v 0.125000 -0.058111 -2.318860 +v -0.125000 -0.485421 -2.761932 +v 0.125000 -0.485421 -2.761932 +v 0.125000 -0.357163 -2.409548 +v -0.125000 -0.357163 -2.409548 +v 0.125000 -0.298432 -2.430924 +v -0.125000 -0.298432 -2.430924 +v -0.125000 -0.437486 -3.178446 +v 0.125000 -0.437486 -3.178446 +v -0.125000 -0.496217 -3.157070 +v 0.125000 -0.496217 -3.157070 +v -0.125000 -0.736754 -4.000677 +v 0.125000 -0.736754 -4.000677 +v -0.125000 -0.795484 -3.979300 +v 0.125000 -0.795484 -3.979300 +v -0.125000 -0.720741 -4.139421 +v 0.125000 -0.720741 -4.139421 +v -0.125000 -0.699365 -4.080690 +v 0.125000 -0.699365 -4.080690 +v -0.125000 -0.485818 -4.224926 +v 0.125000 -0.485818 -4.224926 +v -0.125000 -0.464442 -4.166195 +v 0.125000 -0.464442 -4.166195 +v -0.125000 -0.325638 -4.150311 +v 0.125000 -0.325638 -4.150311 +v -0.125000 -0.384369 -4.128934 +v 0.125000 -0.384369 -4.128934 +v -0.125000 -0.026370 -3.328080 +v 0.125000 -0.026370 -3.328080 +v -0.125000 -0.085101 -3.306704 +v 0.125000 -0.085101 -3.306704 +v -0.125000 -0.101079 -3.167866 +v 0.125000 -0.101079 -3.167866 +v -0.125000 -0.122456 -3.226596 +v 0.125000 -0.122456 -3.226596 +v -0.125000 -0.336003 -3.082361 +v 0.125000 -0.336003 -3.082361 +v -0.125000 -0.357379 -3.141091 +v 0.125000 -0.357379 -3.141091 +v -0.125000 -0.277272 -3.103737 +v 0.125000 -0.277272 -3.103737 +v -0.125000 -0.336003 -3.082361 +v 0.125000 -0.336003 -3.082361 +vt 0.827381 0.804348 +vt 0.851190 0.793478 +vt 0.851190 0.804348 +vt 0.851190 0.847826 +vt 0.827381 0.858696 +vt 0.827381 0.847826 +vt 0.886905 0.804348 +vt 0.922619 0.793478 +vt 0.922619 0.804348 +vt 0.886905 0.847826 +vt 0.922619 0.858696 +vt 0.886905 0.858696 +vt 0.880952 0.858696 +vt 0.857143 0.858696 +vt 0.880952 0.793478 +vt 0.857143 0.793478 +vt 0.958333 0.728261 +vt 0.970238 0.739130 +vt 0.952381 0.739130 +vt 0.970238 0.782609 +vt 0.958333 0.793478 +vt 0.952381 0.782609 +vt 0.952381 0.728261 +vt 0.869048 0.739130 +vt 0.869048 0.728261 +vt 0.952381 0.793478 +vt 0.869048 0.782609 +vt 0.863095 0.793478 +vt 0.851190 0.782609 +vt 0.851190 0.739130 +vt 0.863095 0.728261 +vt 0.827381 0.793478 +vt 0.827381 0.782609 +vt 0.827381 0.728261 +vt 0.851190 0.728261 +vt 0.970238 0.782609 +vt 0.958333 0.793478 +vt 0.952381 0.782609 +vt 0.970238 0.739130 +vt 0.958333 0.728261 +vt 0.964286 0.728261 +vt 0.952381 0.739130 +vt 0.869048 0.728261 +vt 0.952381 0.728261 +vt 0.869048 0.793478 +vt 0.869048 0.782609 +vt 0.869048 0.739130 +vt 0.857143 0.728261 +vt 0.863095 0.728261 +vt 0.857143 0.793478 +vt 0.851190 0.782609 +vt 0.851190 0.728261 +vt 0.827381 0.739130 +vt 0.827381 0.728261 +vt 0.851190 0.793478 +vt 0.827381 0.782609 +vt 0.958333 0.804348 +vt 0.958333 0.847826 +vt 0.958333 0.858696 +vt 0.827381 0.793478 +vt 0.851190 0.858696 +vt 0.886905 0.793478 +vt 0.922619 0.847826 +vt 0.964286 0.728261 +vt 0.964286 0.793478 +vt 0.869048 0.793478 +vt 0.857143 0.793478 +vt 0.857143 0.728261 +vt 0.851190 0.793478 +vt 0.827381 0.739130 +vt 0.964286 0.793478 +vt 0.952381 0.793478 +vt 0.851190 0.739130 +vt 0.863095 0.793478 +vt 0.827381 0.793478 +vt 0.958333 0.793478 +vt 0.922619 0.902174 +vt 0.886905 0.902174 +vt 0.851190 0.902174 +vt 0.880952 0.902174 +vt 0.857143 0.902174 +vt 0.952381 0.684783 +vt 0.958333 0.728261 +vt 0.869048 0.684783 +vt 0.863095 0.728261 +vt 0.839286 0.684783 +vt 0.863095 0.684783 +vt 0.958333 0.728261 +vt 0.952381 0.684783 +vt 0.958333 0.684783 +vt 0.869048 0.684783 +vt 0.863095 0.684783 +vt 0.863095 0.728261 +vt 0.839286 0.684783 +vt 0.958333 0.902174 +vt 0.827381 0.902174 +vt 0.958333 0.684783 +vt 0.839286 0.728261 +vt 0.839286 0.728261 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.3420 0.9397 +vn 0.0000 -0.0436 0.9990 +vn 0.0000 -0.7373 0.6756 +vn 0.0000 -0.9990 -0.0436 +vn 0.0000 0.7373 -0.6756 +vn 0.0000 0.9990 0.0436 +vn 0.0000 0.0436 -0.9990 +vn 0.0000 -0.3420 -0.9397 +vn 0.0000 -0.9990 -0.0438 +vn 0.0000 0.9990 0.0440 +vn 0.0000 -0.6754 -0.7374 +vn 0.0000 0.0434 -0.9991 +vn 0.0000 0.6753 0.7375 +vn 0.0000 -0.0432 0.9991 +vn 0.0000 -0.7370 0.6759 +vn 0.0000 0.7371 -0.6757 +vn 0.0000 -0.6756 -0.7373 +vn 0.0000 0.6756 0.7373 +vn 0.0000 0.9063 0.4226 +vn 0.0000 -0.9063 -0.4226 +s off +f 137/253/68 145/254/68 139/255/68 +f 140/256/69 144/257/69 138/258/69 +f 150/259/68 141/260/68 147/261/68 +f 149/262/69 142/263/69 151/264/69 +f 140/256/69 151/265/69 146/266/69 +f 152/267/68 139/255/68 145/268/68 +f 154/269/69 182/270/69 156/271/69 +f 181/272/68 153/273/68 155/274/68 +f 154/275/69 160/276/69 158/277/69 +f 153/278/68 159/279/68 155/274/68 +f 157/280/68 161/281/68 159/279/68 +f 162/282/69 158/283/69 160/276/69 +f 161/281/68 167/284/68 165/285/68 +f 162/282/69 168/286/69 164/287/69 +f 165/288/68 171/289/68 169/290/68 +f 166/291/69 172/292/69 168/293/69 +f 170/294/69 176/295/69 172/296/69 +f 169/290/68 175/297/68 173/298/68 +f 174/299/69 180/300/69 176/301/69 +f 173/298/68 179/302/68 177/303/68 +f 180/304/69 182/305/69 184/306/69 +f 179/307/68 181/308/68 177/303/68 +f 141/260/68 187/309/68 147/261/68 +f 142/263/69 188/310/69 186/311/69 +f 137/253/68 143/312/68 145/254/68 +f 140/256/69 146/313/69 144/257/69 +f 150/259/68 152/314/68 141/260/68 +f 149/262/69 148/315/69 142/263/69 +f 140/256/69 149/262/69 151/265/69 +f 152/267/68 150/259/68 139/255/68 +f 154/269/69 184/316/69 182/270/69 +f 181/272/68 183/317/68 153/273/68 +f 154/275/69 156/271/69 160/276/69 +f 153/278/68 157/318/68 159/279/68 +f 157/280/68 163/319/68 161/281/68 +f 162/282/69 164/320/69 158/283/69 +f 161/281/68 163/321/68 167/284/68 +f 162/282/69 166/322/69 168/286/69 +f 165/288/68 167/323/68 171/289/68 +f 166/291/69 170/294/69 172/292/69 +f 170/294/69 174/299/69 176/295/69 +f 169/290/68 171/324/68 175/297/68 +f 174/299/69 178/325/69 180/300/69 +f 173/298/68 175/326/68 179/302/68 +f 180/304/69 178/325/69 182/305/69 +f 179/307/68 183/327/68 181/308/68 +f 141/260/68 185/328/68 187/309/68 +f 142/263/69 148/315/69 188/310/69 +s 1 +f 137/253/70 140/256/71 138/258/70 +f 150/259/72 148/315/73 149/262/72 +f 151/264/74 141/329/75 152/330/74 +f 145/331/76 144/257/77 146/313/76 +f 139/255/71 149/262/72 140/256/71 +f 146/266/76 152/332/74 145/333/76 +f 182/270/71 155/274/72 156/271/72 +f 153/334/74 184/335/76 154/275/74 +f 155/274/72 160/276/78 156/271/72 +f 154/275/74 157/336/79 153/334/74 +f 159/279/78 162/282/80 160/276/78 +f 161/281/80 166/322/81 162/282/80 +f 164/337/82 157/336/79 158/277/79 +f 164/337/82 167/338/83 163/339/82 +f 168/340/83 171/341/84 167/342/83 +f 165/288/81 170/294/85 166/291/81 +f 169/290/85 174/299/75 170/294/85 +f 172/296/84 175/343/73 171/341/84 +f 176/295/73 179/344/86 175/343/73 +f 173/298/75 178/325/87 174/299/75 +f 180/345/86 183/346/76 179/344/86 +f 177/303/87 182/305/71 178/325/87 +f 142/263/75 185/347/88 141/329/75 +f 147/261/73 188/310/89 148/315/73 +f 137/253/70 139/255/71 140/256/71 +f 150/259/72 147/261/73 148/315/73 +f 151/264/74 142/263/75 141/329/75 +f 145/331/76 143/348/77 144/257/77 +f 139/255/71 150/259/72 149/262/72 +f 146/266/76 151/265/74 152/332/74 +f 182/270/71 181/272/71 155/274/72 +f 153/334/74 183/349/76 184/335/76 +f 155/274/72 159/279/78 160/276/78 +f 154/275/74 158/277/79 157/336/79 +f 159/279/78 161/281/80 162/282/80 +f 161/281/80 165/285/81 166/322/81 +f 164/337/82 163/339/82 157/336/79 +f 164/337/82 168/350/83 167/338/83 +f 168/340/83 172/296/84 171/341/84 +f 165/288/81 169/290/85 170/294/85 +f 169/290/85 173/298/75 174/299/75 +f 172/296/84 176/295/73 175/343/73 +f 176/295/73 180/345/86 179/344/86 +f 173/298/75 177/303/87 178/325/87 +f 180/345/86 184/351/76 183/346/76 +f 177/303/87 181/308/71 182/305/71 +f 142/263/75 186/311/88 185/347/88 +f 147/261/73 187/309/89 188/310/89 +o Gun +v -0.187500 0.937500 6.000000 +v -0.062500 0.812500 6.000000 +v 0.062500 0.812500 6.000000 +v 0.187500 0.937500 6.000000 +v -0.062500 1.187500 6.000000 +v -0.187500 1.062500 6.000000 +v 0.187500 1.062500 6.000000 +v 0.062500 1.187500 6.000000 +v 0.062500 1.187500 -0.625000 +v 0.187500 1.062500 -0.625000 +v -0.187500 1.062500 -0.625000 +v -0.062500 1.187500 -0.625000 +v 0.187500 0.937500 -0.625000 +v 0.062500 0.812500 -0.625000 +v -0.062500 0.812500 -0.625000 +v -0.187500 0.937500 -0.625000 +v 0.000000 0.875000 -0.625000 +v -0.132582 0.820082 -0.625000 +v -0.187500 0.687500 -0.625000 +v -0.132582 0.554917 -0.625000 +v 0.000000 0.500000 -0.625000 +v 0.132582 0.554917 -0.625000 +v 0.187500 0.687500 -0.625000 +v 0.132582 0.820082 -0.625000 +v 0.000000 0.875000 5.937500 +v -0.132582 0.820082 5.937500 +v -0.187500 0.687500 5.937500 +v -0.132582 0.554917 5.937500 +v 0.000000 0.500000 5.937500 +v 0.132582 0.554917 5.937500 +v 0.187500 0.687500 5.937500 +v 0.132582 0.820082 5.937500 v -0.250000 0.312500 -1.000000 v -0.125000 0.187500 -1.000000 v 0.125000 0.187500 -1.000000 @@ -155,42 +1071,6 @@ v -0.062500 1.250000 -2.625000 v 0.062500 1.125000 -2.687500 v 0.062500 1.125000 -2.625000 v -0.062500 1.125000 -2.687500 -v 0.000000 1.250000 -2.625000 -v -0.044194 1.231694 -2.625000 -v -0.062500 1.187500 -2.625000 -v -0.044194 1.143306 -2.625000 -v 0.000000 1.125000 -2.625000 -v 0.044194 1.143306 -2.625000 -v 0.062500 1.187500 -2.625000 -v 0.044194 1.231694 -2.625000 -v -0.044194 1.231694 -2.875000 -v 0.000000 1.250000 -2.875000 -v -0.062500 1.187500 -2.875000 -v -0.044194 1.143306 -2.875000 -v 0.000000 1.125000 -2.875000 -v 0.044194 1.143306 -2.875000 -v 0.062500 1.187500 -2.875000 -v 0.044194 1.231694 -2.875000 -v -0.062500 0.750000 -2.875000 -v 0.062500 0.750000 -2.875000 -v -0.062500 1.375000 -2.875000 -v 0.062500 1.375000 -2.875000 -v -0.062500 1.500000 -3.000000 -v 0.062500 1.500000 -3.000000 -v -0.062500 1.375000 -2.937500 -v 0.062500 1.375000 -2.937500 -v -0.062500 1.250000 -2.937500 -v 0.062500 1.250000 -2.937500 -v -0.062500 1.125000 -3.062500 -v 0.062500 1.125000 -3.062500 -v -0.062500 1.062500 -3.187500 -v 0.062500 1.062500 -3.187500 -v -0.062500 0.937500 -3.312500 -v 0.062500 0.937500 -3.312500 -v -0.062500 0.812500 -3.375000 -v 0.062500 0.812500 -3.375000 -v -0.062500 0.750000 -3.375000 -v 0.062500 0.750000 -3.375000 v -0.062500 0.187500 -2.750000 v 0.062500 0.187500 -2.750000 v -0.062500 0.187500 -2.812500 @@ -205,58 +1085,6 @@ v -0.062500 -0.063500 -2.875000 v 0.062500 -0.063500 -2.875000 v -0.062500 -0.188500 -2.750000 v 0.062500 -0.188500 -2.750000 -v -0.125000 0.198188 -2.345635 -v 0.125000 0.198188 -2.345635 -v -0.125000 -0.036735 -2.260129 -v 0.125000 -0.036735 -2.260129 -v -0.125000 -0.426690 -2.783309 -v 0.125000 -0.426690 -2.783309 -v -0.125000 0.176812 -2.404365 -v 0.125000 0.176812 -2.404365 -v -0.125000 -0.058111 -2.318860 -v 0.125000 -0.058111 -2.318860 -v -0.125000 -0.485421 -2.761932 -v 0.125000 -0.485421 -2.761932 -v 0.125000 -0.357163 -2.409548 -v -0.125000 -0.357163 -2.409548 -v 0.125000 -0.298432 -2.430924 -v -0.125000 -0.298432 -2.430924 -v -0.125000 -0.437486 -3.178446 -v 0.125000 -0.437486 -3.178446 -v -0.125000 -0.496217 -3.157070 -v 0.125000 -0.496217 -3.157070 -v -0.125000 -0.736754 -4.000677 -v 0.125000 -0.736754 -4.000677 -v -0.125000 -0.795484 -3.979300 -v 0.125000 -0.795484 -3.979300 -v -0.125000 -0.720741 -4.139421 -v 0.125000 -0.720741 -4.139421 -v -0.125000 -0.699365 -4.080690 -v 0.125000 -0.699365 -4.080690 -v -0.125000 -0.485818 -4.224926 -v 0.125000 -0.485818 -4.224926 -v -0.125000 -0.464442 -4.166195 -v 0.125000 -0.464442 -4.166195 -v -0.125000 -0.325638 -4.150311 -v 0.125000 -0.325638 -4.150311 -v -0.125000 -0.384369 -4.128934 -v 0.125000 -0.384369 -4.128934 -v -0.125000 -0.026370 -3.328080 -v 0.125000 -0.026370 -3.328080 -v -0.125000 -0.085101 -3.306704 -v 0.125000 -0.085101 -3.306704 -v -0.125000 -0.101079 -3.167866 -v 0.125000 -0.101079 -3.167866 -v -0.125000 -0.122456 -3.226596 -v 0.125000 -0.122456 -3.226596 -v -0.125000 -0.336003 -3.082361 -v 0.125000 -0.336003 -3.082361 -v -0.125000 -0.357379 -3.141091 -v 0.125000 -0.357379 -3.141091 -v -0.125000 -0.277272 -3.103737 -v 0.125000 -0.277272 -3.103737 -v -0.125000 -0.336003 -3.082361 -v 0.125000 -0.336003 -3.082361 v -0.125000 1.250000 -0.250000 v 0.125000 1.250000 -0.250000 v -0.125000 1.250000 -0.125000 @@ -281,58 +1109,6 @@ v -0.187500 1.343750 -0.187500 v 0.187500 1.343750 -0.187500 v -0.187500 1.316291 -0.253791 v 0.187500 1.316291 -0.253791 -v -0.125000 1.250000 -0.218750 -v 0.125000 1.250000 -0.218750 -v -0.125000 1.250000 -0.156250 -v 0.125000 1.250000 -0.156250 -v -0.125000 2.000000 -0.218750 -v 0.125000 2.000000 -0.218750 -v -0.125000 2.000000 -0.156250 -v 0.125000 2.000000 -0.156250 -v -0.062500 1.875000 -0.218750 -v 0.062500 1.875000 -0.218750 -v -0.062500 1.875000 -0.156250 -v 0.062500 1.875000 -0.156250 -v -0.062500 1.250000 -0.218750 -v 0.062500 1.250000 -0.218750 -v -0.062500 1.250000 -0.156250 -v 0.062500 1.250000 -0.156250 -v -0.125000 1.062499 7.937500 -v -0.125000 1.312499 7.937500 -v -0.125000 1.062499 7.687500 -v -0.125000 1.312499 7.687500 -v 0.125000 1.062499 7.937500 -v 0.125000 1.312499 7.937500 -v 0.125000 1.062499 7.687500 -v 0.125000 1.312499 7.687500 -v 0.062500 1.124999 7.687500 -v -0.062500 1.124999 7.687500 -v -0.062500 1.124999 7.937500 -v 0.062500 1.124999 7.937500 -v -0.099437 0.786939 5.875000 -v 0.000000 0.828127 5.875000 -v -0.140625 0.687502 5.875000 -v -0.099437 0.588065 5.875000 -v 0.000000 0.546877 5.875000 -v 0.099437 0.588065 5.875000 -v 0.140625 0.687502 5.875000 -v 0.099437 0.786939 5.875000 -v -0.099437 0.786939 6.375000 -v 0.000000 0.828127 6.375000 -v -0.140625 0.687502 6.375000 -v -0.099437 0.588065 6.375000 -v 0.000000 0.546877 6.375000 -v 0.099437 0.588065 6.375000 -v 0.140625 0.687502 6.375000 -v 0.099437 0.786939 6.375000 -v -0.049718 0.737221 6.625000 -v 0.000000 0.757815 6.625000 -v -0.070312 0.687502 6.625000 -v -0.049718 0.637784 6.625000 -v 0.000000 0.617190 6.625000 -v 0.049718 0.637784 6.625000 -v 0.070312 0.687502 6.625000 -v 0.049718 0.737221 6.625000 vt 0.964286 0.130435 vt 0.333333 0.108696 vt 0.964286 0.108696 @@ -344,57 +1120,15 @@ vt 0.964286 0.163043 vt 0.964286 0.076087 vt 0.333333 0.054348 vt 0.964286 0.054348 -vt 0.238095 0.108696 -vt 0.267857 0.076087 -vt 0.285714 0.130435 vt 0.333333 0.076087 vt 0.333333 0.217391 vt 0.333333 0.184783 vt 0.964286 0.021739 vt 0.333333 0.000000 vt 0.964286 0.000000 -vt 0.029762 0.163043 -vt 0.041667 0.130435 -vt 0.047619 0.130435 -vt 0.238095 0.054348 -vt 0.047619 0.021739 -vt 0.238095 0.021739 -vt 0.238095 0.130435 -vt 0.047619 0.108696 -vt 0.238095 0.163043 -vt 0.047619 0.000000 -vt 0.238095 -0.000000 -vt 0.238095 0.217391 -vt 0.047619 0.184783 -vt 0.238095 0.184783 -vt 0.047619 0.163043 -vt 0.238095 0.076087 -vt 0.047619 0.054348 -vt 0.047619 0.076087 -vt 0.000000 0.130435 -vt 0.017857 0.152174 -vt 0.017857 0.163043 -vt 0.041667 0.108696 -vt 0.029762 0.152174 -vt 0.029762 0.086957 -vt 0.029762 0.076087 -vt 0.017857 0.086957 -vt 0.017857 0.076087 -vt 0.005952 0.108696 -vt 0.000000 0.108696 -vt 0.005952 0.130435 -vt 0.113095 0.293478 -vt 0.095238 0.282609 -vt 0.101190 0.250000 vt 0.369715 0.272958 vt 0.357143 0.282467 vt 0.357143 0.217533 -vt 0.149477 0.292260 -vt 0.154684 0.315217 -vt 0.119125 0.315217 -vt 0.154685 0.250000 -vt 0.149477 0.272958 -vt 0.136905 0.282467 vt 0.238095 0.478261 vt 0.267857 0.521739 vt 0.208333 0.521739 @@ -425,80 +1159,12 @@ vt 0.071429 0.630435 vt 0.059524 0.641304 vt 0.059524 0.630435 vt 0.053571 0.641304 -vt 0.928571 0.478234 -vt 0.934539 0.489131 -vt 0.928571 0.500027 -vt 0.845238 0.630435 -vt 0.857143 0.608696 -vt 0.839286 0.543478 -vt 0.839286 0.543478 -vt 0.845238 0.630435 -vt 0.839286 0.652174 vt 0.970238 0.413043 vt 0.976190 0.413043 vt 0.976190 0.434783 vt 0.952381 0.413043 vt 0.958333 0.413043 vt 0.958333 0.434783 -vt 0.827381 0.804348 -vt 0.851190 0.793478 -vt 0.851190 0.804348 -vt 0.851190 0.847826 -vt 0.827381 0.858696 -vt 0.827381 0.847826 -vt 0.886905 0.804348 -vt 0.922619 0.793478 -vt 0.922619 0.804348 -vt 0.886905 0.847826 -vt 0.922619 0.858696 -vt 0.886905 0.858696 -vt 0.880952 0.858696 -vt 0.857143 0.858696 -vt 0.880952 0.793478 -vt 0.857143 0.793478 -vt 0.958333 0.728261 -vt 0.970238 0.739130 -vt 0.952381 0.739130 -vt 0.970238 0.782609 -vt 0.958333 0.793478 -vt 0.952381 0.782609 -vt 0.952381 0.728261 -vt 0.869048 0.739130 -vt 0.869048 0.728261 -vt 0.952381 0.793478 -vt 0.869048 0.782609 -vt 0.863095 0.793478 -vt 0.851190 0.782609 -vt 0.851190 0.739130 -vt 0.863095 0.728261 -vt 0.827381 0.793478 -vt 0.827381 0.782609 -vt 0.827381 0.728261 -vt 0.851190 0.728261 -vt 0.970238 0.782609 -vt 0.958333 0.793478 -vt 0.952381 0.782609 -vt 0.970238 0.739130 -vt 0.958333 0.728261 -vt 0.964286 0.728261 -vt 0.952381 0.739130 -vt 0.869048 0.728261 -vt 0.952381 0.728261 -vt 0.869048 0.793478 -vt 0.869048 0.782609 -vt 0.869048 0.739130 -vt 0.857143 0.728261 -vt 0.863095 0.728261 -vt 0.857143 0.793478 -vt 0.851190 0.782609 -vt 0.851190 0.728261 -vt 0.827381 0.739130 -vt 0.827381 0.728261 -vt 0.851190 0.793478 -vt 0.827381 0.782609 -vt 0.958333 0.804348 -vt 0.958333 0.847826 -vt 0.958333 0.858696 vt 0.886905 0.543478 vt 0.898810 0.521739 vt 0.898810 0.543478 @@ -514,71 +1180,18 @@ vt 0.943452 0.423842 vt 0.943453 0.456450 vt 0.937166 0.451696 vt 0.949738 0.428738 -vt 0.017857 0.456522 -vt -0.000000 0.478261 -vt 0.005952 0.456522 -vt 0.017857 0.445652 -vt 0.053571 0.489130 -vt 0.029762 0.478261 -vt 0.053571 0.478261 -vt 0.059524 0.478261 -vt 0.053571 0.347826 -vt 0.059524 0.347826 -vt 0.023810 0.347826 -vt 0.023810 0.478261 -vt 0.035714 0.456522 -vt 0.047619 0.456522 -vt 0.041667 0.456522 -vt 0.047619 0.347826 -vt 0.041667 0.347826 -vt 0.041667 0.456522 -vt 0.029762 0.347826 -vt -0.000000 0.347826 -vt 0.851190 0.434783 -vt 0.827381 0.478261 -vt 0.827381 0.434783 -vt 0.851190 0.478261 -vt 0.875000 0.478261 -vt 0.869048 0.510870 -vt 0.898810 0.434783 -vt 0.898810 0.478261 -vt 0.875000 0.434783 -vt 0.857143 0.402174 -vt 0.023809 0.923983 -vt 0.015419 0.930330 -vt 0.011943 0.945652 vt 0.333333 0.130435 vt 0.303571 0.163043 vt 0.285714 0.130435 vt 0.285714 0.108696 vt 0.315476 0.076087 -vt 0.267857 0.163043 -vt 0.255952 0.163043 -vt 0.255952 0.076087 -vt 0.285714 0.108696 vt 0.964286 0.217391 vt 0.333333 0.021739 -vt 0.047619 0.217391 -vt 0.113095 0.250000 -vt 0.119048 0.260870 -vt 0.119048 0.282609 -vt 0.101190 0.293478 -vt 0.095238 0.260870 vt 0.344571 0.272958 vt 0.339363 0.250000 vt 0.344571 0.227042 vt 0.369715 0.227042 vt 0.374922 0.250000 -vt 0.149477 0.338175 -vt 0.136905 0.347684 -vt 0.124333 0.338175 -vt 0.124333 0.292260 -vt 0.136905 0.282750 -vt 0.124333 0.272958 -vt 0.119125 0.250000 -vt 0.124333 0.227043 -vt 0.136905 0.217533 -vt 0.149477 0.227043 vt 0.011905 0.750000 vt 0.011905 0.663043 vt -0.000000 0.728261 @@ -589,25 +1202,6 @@ vt 0.077381 0.847826 vt 0.351190 0.478261 vt 0.113095 0.521739 vt 0.077381 0.565217 -vt 0.924352 0.496836 -vt 0.922604 0.489131 -vt 0.924352 0.481426 -vt 0.932791 0.481426 -vt 0.932791 0.496836 -vt 0.839286 0.652174 -vt 0.845238 0.673913 -vt 0.845238 0.652174 -vt 0.886905 0.554348 -vt 0.886905 0.543478 -vt 0.880952 0.576087 -vt 0.869048 0.597826 -vt 0.886905 0.543478 -vt 0.880952 0.576087 -vt 0.886905 0.554348 -vt 0.869048 0.597826 -vt 0.857143 0.608696 -vt 0.845238 0.652174 -vt 0.845238 0.673913 vt 0.970238 0.456522 vt 0.970238 0.434783 vt 0.976190 0.391304 @@ -616,23 +1210,6 @@ vt 0.958333 0.456522 vt 0.952381 0.434783 vt 0.952381 0.456522 vt 0.952381 0.391304 -vt 0.827381 0.793478 -vt 0.851190 0.858696 -vt 0.886905 0.793478 -vt 0.922619 0.847826 -vt 0.964286 0.728261 -vt 0.964286 0.793478 -vt 0.869048 0.793478 -vt 0.857143 0.793478 -vt 0.857143 0.728261 -vt 0.851190 0.793478 -vt 0.827381 0.739130 -vt 0.964286 0.793478 -vt 0.952381 0.793478 -vt 0.851190 0.739130 -vt 0.863095 0.793478 -vt 0.827381 0.793478 -vt 0.958333 0.793478 vt 0.827381 0.521739 vt 0.949738 0.396130 vt 0.952342 0.407609 @@ -644,38 +1221,6 @@ vt 0.937166 0.428738 vt 0.943453 0.423984 vt 0.952342 0.440217 vt 0.949738 0.451696 -vt 0.005952 0.445652 -vt 0.029762 0.489130 -vt 0.041667 0.347826 -vt 0.035714 0.347826 -vt 0.017857 0.347826 -vt 0.005952 0.347826 -vt 0.857143 0.510870 -vt 0.851190 0.521739 -vt 0.875000 0.521739 -vt 0.869048 0.402174 -vt 0.875000 0.391304 -vt 0.851190 0.391304 -vt 0.015419 0.960974 -vt 0.023809 0.967321 -vt 0.032200 0.960974 -vt 0.035676 0.945652 -vt 0.032200 0.930330 -vt -0.000000 0.315217 -vt 0.095238 0.326087 -vt 0.000000 0.326087 -vt -0.000000 0.260870 -vt 0.000000 0.282609 -vt 0.000000 0.228261 -vt 0.095238 0.250000 -vt 0.000000 0.250000 -vt 0.000000 0.217391 -vt 0.095238 0.228261 -vt -0.000000 0.293478 -vt 0.095238 0.315217 -vt 0.095238 0.347826 -vt 0.000000 0.347826 -vt 0.095238 0.293478 vt 1.000000 0.260870 vt 0.375000 0.239130 vt 1.000000 0.239130 @@ -693,23 +1238,6 @@ vt 0.375000 0.347826 vt 0.375000 0.304348 vt 1.000000 0.304348 vt 0.375000 0.282609 -vt 0.339286 0.369565 -vt 0.154762 0.391304 -vt 0.154762 0.369565 -vt 0.339286 0.326087 -vt 0.154762 0.347826 -vt 0.154762 0.326087 -vt 0.339286 0.282609 -vt 0.154762 0.260870 -vt 0.339286 0.260870 -vt 0.339286 0.239130 -vt 0.154762 0.217391 -vt 0.339286 0.217391 -vt 0.339286 0.347826 -vt 0.339286 0.304348 -vt 0.154762 0.304348 -vt 0.154762 0.282609 -vt 0.154762 0.239130 vt 0.095238 0.413043 vt 0.113095 0.456522 vt 0.095238 0.456522 @@ -788,64 +1316,11 @@ vt 0.351190 0.869565 vt 0.827381 0.478261 vt 0.767857 0.521739 vt 0.767857 0.652174 -vt 0.827381 0.673913 -vt 0.827381 0.652174 -vt 0.898810 0.532609 -vt 0.922619 0.521739 -vt 0.922619 0.532609 -vt 0.898810 0.510870 -vt 0.898810 0.521739 -vt 0.898810 0.489130 -vt 0.922619 0.500000 -vt 0.898810 0.500000 -vt 0.898810 0.565217 -vt 0.922619 0.554348 -vt 0.922619 0.565217 -vt 0.922619 0.543478 -vt 0.898810 0.543478 -vt 0.922619 0.510870 -vt 0.898810 0.478261 -vt 0.922619 0.489130 -vt 0.898810 0.554348 -vt 0.827381 0.543478 -vt 0.886905 0.684783 -vt 0.898810 0.663043 -vt 0.898810 0.684783 -vt 0.886905 0.663043 -vt 0.898810 0.641304 -vt 0.886905 0.641304 -vt 0.898810 0.619565 -vt 0.886905 0.619565 -vt 0.898810 0.597826 -vt 0.886905 0.597826 -vt 0.898810 0.576087 -vt 0.886905 0.576087 -vt 0.898810 0.554348 -vt 0.898810 0.543478 vt 0.988095 0.434783 vt 0.988095 0.456522 vt 0.988095 0.413043 vt 0.988095 0.391304 vt 0.958333 0.391304 -vt 0.922619 0.902174 -vt 0.886905 0.902174 -vt 0.851190 0.902174 -vt 0.880952 0.902174 -vt 0.857143 0.902174 -vt 0.952381 0.684783 -vt 0.958333 0.728261 -vt 0.869048 0.684783 -vt 0.863095 0.728261 -vt 0.839286 0.684783 -vt 0.863095 0.684783 -vt 0.958333 0.728261 -vt 0.952381 0.684783 -vt 0.958333 0.684783 -vt 0.869048 0.684783 -vt 0.863095 0.684783 -vt 0.863095 0.728261 -vt 0.839286 0.684783 -vt 0.958333 0.902174 vt 0.934524 0.456522 vt 0.898810 0.467391 vt 0.898810 0.456522 @@ -864,41 +1339,7 @@ vt 0.934524 0.434783 vt 0.898810 0.445652 vt 0.934524 0.445652 vt 0.827381 0.652174 -vt 0.023810 0.880435 -vt -0.000000 0.891304 -vt -0.000000 0.880435 -vt 0.071429 0.815217 -vt 0.023810 0.793478 -vt 0.071429 0.793478 -vt 0.071429 0.771739 -vt 0.023810 0.750000 -vt 0.071429 0.750000 -vt 0.071429 0.902174 -vt 0.071429 0.880435 -vt 0.071429 0.858696 -vt 0.023810 0.836957 -vt 0.071429 0.836957 -vt 0.023810 0.815217 -vt 0.023810 0.771739 -vt 0.071429 0.923913 -vt 0.023810 0.902174 -vt 0.023810 0.858696 -vt 0.011629 0.934783 -vt 0.009966 0.942113 -vt 0.005952 0.945149 -vt -0.000000 0.836957 -vt -0.000000 0.826087 -vt -0.000000 0.815217 -vt -0.000000 0.771739 -vt -0.000000 0.913043 -vt -0.000000 0.902174 -vt -0.000000 0.858696 -vt -0.000000 0.804348 -vt -0.000000 0.793478 -vt -0.000000 0.750000 -vt 0.095238 0.217391 vt 0.375000 0.391304 -vt 0.339286 0.391304 vt 0.071429 0.391304 vt 0.279762 0.717391 vt 0.351190 0.663043 @@ -908,42 +1349,18 @@ vt 0.827381 0.695652 vt 0.779762 0.978261 vt 0.779762 0.695652 vt 0.767857 0.521739 -vt 0.839286 0.673913 -vt 0.922619 0.478261 vt 0.970238 0.391304 -vt 0.827381 0.902174 -vt 0.958333 0.684783 -vt 0.839286 0.728261 -vt 0.839286 0.728261 vt 0.934524 0.478261 -vt 0.023810 0.923913 -vt 0.001938 0.942113 -vt 0.000276 0.934783 -vt 0.001938 0.927453 -vt 0.005952 0.924417 -vt 0.009966 0.927453 -vt -0.000000 0.847826 -vt -0.000000 0.782609 -vt -0.000000 0.869565 -vt -0.000000 0.760870 vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn 1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 vn 0.7071 0.7071 0.0000 vn -0.7071 0.7071 0.0000 vn -0.7071 -0.7071 0.0000 vn 0.7071 -0.7071 0.0000 vn 0.0000 -1.0000 0.0000 -vn -0.9239 0.3827 0.0000 -vn -0.3827 0.9239 0.0000 -vn 0.3827 -0.9239 0.0000 -vn -0.3827 -0.9239 0.0000 -vn 0.9239 0.3827 0.0000 -vn 0.9239 -0.3827 0.0000 -vn 0.3827 0.9239 0.0000 -vn -0.9239 -0.3827 0.0000 +vn 0.0000 0.0000 -1.0000 vn 0.0000 -0.8174 0.5760 vn 0.0000 -0.5547 0.8321 vn -0.6912 -0.6912 0.2110 @@ -1013,12 +1430,6 @@ vn 0.0000 0.2298 -0.9732 vn 0.0000 -0.2298 -0.9732 vn 0.9668 0.2515 0.0444 vn 0.0000 0.7181 -0.6960 -vn 0.0000 0.3827 0.9239 -vn 0.0000 0.7071 0.7071 -vn 0.0000 -0.4472 -0.8944 -vn 0.0000 0.3827 -0.9239 -vn 0.0000 0.8112 -0.5847 -vn 0.0000 0.5847 -0.8112 vn 0.0000 0.2282 -0.9736 vn 0.0000 0.4444 -0.8958 vn 0.0000 -0.4444 0.8958 @@ -1027,614 +1438,257 @@ vn 0.0000 -0.3827 -0.9239 vn 0.0000 0.2298 0.9732 vn 0.0000 0.4472 0.8944 vn 0.0000 -0.7071 -0.7071 -vn 0.0000 0.3420 0.9397 -vn 0.0000 -0.0436 0.9990 -vn 0.0000 -0.7373 0.6756 -vn 0.0000 -0.9990 -0.0436 -vn 0.0000 0.7373 -0.6756 -vn 0.0000 0.9990 0.0436 -vn 0.0000 0.0436 -0.9990 -vn 0.0000 -0.3420 -0.9397 -vn 0.0000 -0.9990 -0.0438 -vn 0.0000 0.9990 0.0440 -vn 0.0000 -0.6754 -0.7374 -vn 0.0000 0.0434 -0.9991 -vn 0.0000 0.6753 0.7375 -vn 0.0000 -0.0432 0.9991 -vn 0.0000 -0.7370 0.6759 -vn 0.0000 0.7371 -0.6757 -vn 0.0000 -0.6756 -0.7373 -vn 0.0000 0.6756 0.7373 -vn 0.0000 0.9063 0.4226 -vn 0.0000 -0.9063 -0.4226 vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 0.7071 vn 0.0000 0.7071 -0.7071 -vn -0.9627 -0.0000 0.2707 -vn -0.4833 -0.4833 0.7300 -vn -0.6835 -0.0000 0.7300 -vn 0.6835 -0.0000 0.7300 -vn 0.4833 0.4833 0.7300 -vn 0.0000 0.6835 0.7300 -vn -0.6807 0.6807 0.2707 -vn 0.0000 0.9627 0.2707 -vn 0.6807 0.6807 0.2707 -vn 0.9627 0.0000 0.2707 -vn 0.4833 -0.4833 0.7300 -vn 0.6807 -0.6807 0.2707 -vn -0.6807 -0.6807 0.2707 -vn 0.0000 -0.6835 0.7300 -vn -0.4833 0.4833 0.7300 -vn 0.0000 -0.9627 0.2707 vn -0.7016 -0.7016 0.1247 vn -0.9263 0.3529 -0.1323 vn -0.2418 0.6861 0.6861 s off -f 20/1/1 16/2/1 17/3/1 -f 12/4/2 16/2/2 14/5/2 -f 24/6/3 14/7/3 19/8/3 -f 18/9/4 12/10/4 21/11/4 -f 1/12/5 5/13/5 7/14/5 -f 18/9/6 16/2/6 15/15/6 -f 14/7/7 20/1/7 19/8/7 -f 24/6/8 10/16/8 9/17/8 -f 12/10/9 22/18/9 21/11/9 -f 22/18/10 10/19/10 23/20/10 -f 32/21/2 38/22/2 30/23/2 -f 5/24/9 25/25/9 6/26/9 -f 4/27/1 29/28/1 1/12/1 -f 3/29/7 30/23/7 4/27/7 -f 6/26/10 26/30/10 7/31/10 -f 7/32/8 31/33/8 8/34/8 -f 8/34/3 32/35/3 3/29/3 -f 2/36/4 27/37/4 5/24/4 -f 1/12/6 28/38/6 2/36/6 -f 26/39/2 33/40/2 31/41/2 -f 30/23/2 37/42/2 29/28/2 -f 31/41/2 34/43/2 32/21/2 -f 29/28/2 40/44/2 28/45/2 -f 28/45/2 39/46/2 27/47/2 -f 27/47/2 35/48/2 25/49/2 -f 25/49/2 36/50/2 26/39/2 -f 47/51/2 45/52/2 42/53/2 -f 64/54/2 57/55/2 61/56/2 -f 68/57/5 67/58/5 71/59/5 -f 79/60/2 80/61/2 74/62/2 -f 110/63/4 100/64/4 106/65/4 -f 96/66/2 93/67/2 94/68/2 -f 107/69/3 103/70/3 99/71/3 -f 103/70/3 88/72/3 94/73/3 -f 122/74/4 120/75/4 116/76/4 -f 117/77/3 125/78/3 121/79/3 -f 116/76/4 102/80/4 100/64/4 -f 113/81/3 99/71/3 97/82/3 -f 106/65/4 95/83/4 85/84/4 -f 149/85/5 150/86/5 151/87/5 -f 154/88/4 151/87/4 150/86/4 -f 154/89/1 153/90/1 152/91/1 -f 153/90/3 149/85/3 152/92/3 -f 159/93/2 161/94/2 155/95/2 -f 179/96/3 181/97/3 171/98/3 -f 172/99/4 180/100/4 174/101/4 -f 201/102/3 199/103/3 195/104/3 -f 200/105/4 202/106/4 198/107/4 -f 205/108/3 213/109/3 207/110/3 -f 208/111/4 212/112/4 206/113/4 -f 218/114/3 209/115/3 215/116/3 -f 217/117/4 210/118/4 219/119/4 -f 208/111/4 219/120/4 214/121/4 -f 220/122/3 207/110/3 213/123/3 -f 222/124/4 250/125/4 224/126/4 -f 249/127/3 221/128/3 223/129/3 -f 222/130/4 228/131/4 226/132/4 -f 221/133/3 227/134/3 223/129/3 -f 225/135/3 229/136/3 227/134/3 -f 230/137/4 226/138/4 228/131/4 -f 229/136/3 235/139/3 233/140/3 -f 230/137/4 236/141/4 232/142/4 -f 233/143/3 239/144/3 237/145/3 -f 234/146/4 240/147/4 236/148/4 -f 238/149/4 244/150/4 240/151/4 -f 237/145/3 243/152/3 241/153/3 -f 242/154/4 248/155/4 244/156/4 -f 241/153/3 247/157/3 245/158/3 -f 248/159/4 250/160/4 252/161/4 -f 247/162/3 249/163/3 245/158/3 -f 209/115/3 255/164/3 215/116/3 -f 210/118/4 256/165/4 254/166/4 -f 257/167/3 264/168/3 259/169/3 -f 258/170/5 262/171/5 257/167/5 -f 260/172/4 261/173/4 258/170/4 -f 259/174/2 263/175/2 260/172/2 -f 272/176/4 270/177/4 278/178/4 -f 277/179/3 279/180/3 271/181/3 -f 292/182/2 287/183/2 291/184/2 -f 291/184/10 290/185/10 292/182/10 -f 287/186/1 286/187/1 285/188/1 -f 287/189/3 281/190/3 283/191/3 -f 284/192/4 286/187/4 288/193/4 -f 285/188/5 290/194/5 289/195/5 -f 291/196/4 293/197/4 289/195/4 -f 290/194/3 296/198/3 292/199/3 -f 292/182/2 284/192/2 288/193/2 -f 282/200/5 290/194/5 286/187/5 -f 283/201/2 291/184/2 287/183/2 -f 289/195/5 281/190/5 285/188/5 -f 298/202/3 299/203/3 297/204/3 -f 300/205/5 304/206/5 305/207/5 -f 304/206/4 301/208/4 303/209/4 -f 302/210/2 298/202/2 307/211/2 -f 300/205/1 302/210/1 304/206/1 -f 313/212/5 312/213/5 311/214/5 -f 20/1/1 13/215/1 16/2/1 -f 14/5/2 9/216/2 10/217/2 -f 10/217/2 11/218/2 12/4/2 -f 12/4/2 15/219/2 16/2/2 -f 16/2/2 13/215/2 14/5/2 -f 14/5/2 10/217/2 12/4/2 -f 24/6/3 9/17/3 14/7/3 -f 18/9/4 15/15/4 12/10/4 -f 7/14/5 8/220/5 3/221/5 -f 3/221/5 4/27/5 1/12/5 -f 1/12/5 2/222/5 5/13/5 -f 5/13/5 6/223/5 7/14/5 -f 7/14/5 3/221/5 1/12/5 -f 18/9/6 17/3/6 16/2/6 -f 14/7/7 13/215/7 20/1/7 -f 24/6/8 23/224/8 10/16/8 -f 12/10/9 11/225/9 22/18/9 -f 22/18/10 11/225/10 10/19/10 -f 32/21/2 34/43/2 38/22/2 -f 5/24/9 27/37/9 25/25/9 -f 4/27/1 30/23/1 29/28/1 -f 3/29/7 32/35/7 30/23/7 -f 6/26/10 25/25/10 26/30/10 -f 7/32/8 26/226/8 31/33/8 -f 8/34/3 31/33/3 32/35/3 -f 2/36/4 28/38/4 27/37/4 -f 1/12/6 29/28/6 28/38/6 -f 26/39/2 36/50/2 33/40/2 -f 30/23/2 38/22/2 37/42/2 -f 31/41/2 33/40/2 34/43/2 -f 29/28/2 37/42/2 40/44/2 -f 28/45/2 40/44/2 39/46/2 -f 27/47/2 39/46/2 35/48/2 -f 25/49/2 35/48/2 36/50/2 -f 42/53/2 41/227/2 44/228/2 -f 44/228/2 43/229/2 47/51/2 -f 47/51/2 48/230/2 45/52/2 -f 45/52/2 46/231/2 42/53/2 -f 42/53/2 44/228/2 47/51/2 -f 57/55/2 58/232/2 59/233/2 -f 59/233/2 60/234/2 57/55/2 -f 60/234/2 61/56/2 57/55/2 -f 61/56/2 62/235/2 63/236/2 -f 63/236/2 64/54/2 61/56/2 -f 67/58/5 66/237/5 65/238/5 -f 65/238/5 72/239/5 67/58/5 -f 72/239/5 71/59/5 67/58/5 -f 71/59/5 70/240/5 69/241/5 -f 69/241/5 68/57/5 71/59/5 -f 74/62/2 73/242/2 75/243/2 -f 75/243/2 76/244/2 74/62/2 -f 76/244/2 77/245/2 74/62/2 -f 77/245/2 78/246/2 74/62/2 -f 78/246/2 79/60/2 74/62/2 -f 94/68/2 89/247/2 92/248/2 -f 89/247/2 90/249/2 92/248/2 -f 90/249/2 91/250/2 92/248/2 -f 92/248/2 95/251/2 94/68/2 -f 95/251/2 96/66/2 94/68/2 -f 103/70/3 81/252/3 88/72/3 -f 88/72/3 89/253/3 94/73/3 -f 94/73/3 97/82/3 103/70/3 -f 97/82/3 99/71/3 103/70/3 -f 116/76/4 100/64/4 122/74/4 -f 122/74/4 126/254/4 120/75/4 -f 121/79/3 99/71/3 113/81/3 -f 113/81/3 117/77/3 121/79/3 -f 85/84/4 84/255/4 106/65/4 -f 106/65/4 100/64/4 102/80/4 -f 102/80/4 95/83/4 106/65/4 -f 95/83/4 92/256/4 85/84/4 -f 149/85/5 153/90/5 150/86/5 -f 154/89/1 150/86/1 153/90/1 -f 155/95/2 156/257/2 157/258/2 -f 157/258/2 158/259/2 159/93/2 -f 159/93/2 160/260/2 161/94/2 -f 161/94/2 162/261/2 155/95/2 -f 155/95/2 157/258/2 159/93/2 -f 173/262/3 175/263/3 177/264/3 -f 173/262/3 177/264/3 179/96/3 -f 187/265/3 189/266/3 185/267/3 -f 189/266/3 171/98/3 185/267/3 -f 183/268/3 185/267/3 171/98/3 -f 181/97/3 183/268/3 171/98/3 -f 171/98/3 173/262/3 179/96/3 -f 172/99/4 190/269/4 186/270/4 -f 190/269/4 188/271/4 186/270/4 -f 186/270/4 184/272/4 172/99/4 -f 184/272/4 182/273/4 172/99/4 -f 178/274/4 176/275/4 174/101/4 -f 182/273/4 180/100/4 172/99/4 -f 180/100/4 178/274/4 174/101/4 -f 193/276/3 197/277/3 195/104/3 -f 197/277/3 201/102/3 195/104/3 -f 201/102/3 203/278/3 199/103/3 -f 195/104/3 191/279/3 193/276/3 -f 198/107/4 194/280/4 196/281/4 -f 194/280/4 192/282/4 196/281/4 -f 200/105/4 204/283/4 202/106/4 -f 198/107/4 196/281/4 200/105/4 -f 205/108/3 211/284/3 213/109/3 -f 208/111/4 214/285/4 212/112/4 -f 218/114/3 220/286/3 209/115/3 -f 217/117/4 216/287/4 210/118/4 -f 208/111/4 217/117/4 219/120/4 -f 220/122/3 218/114/3 207/110/3 -f 222/124/4 252/288/4 250/125/4 -f 249/127/3 251/289/3 221/128/3 -f 222/130/4 224/126/4 228/131/4 -f 221/133/3 225/290/3 227/134/3 -f 225/135/3 231/291/3 229/136/3 -f 230/137/4 232/292/4 226/138/4 -f 229/136/3 231/293/3 235/139/3 -f 230/137/4 234/294/4 236/141/4 -f 233/143/3 235/295/3 239/144/3 -f 234/146/4 238/149/4 240/147/4 -f 238/149/4 242/154/4 244/150/4 -f 237/145/3 239/296/3 243/152/3 -f 242/154/4 246/297/4 248/155/4 -f 241/153/3 243/298/3 247/157/3 -f 248/159/4 246/297/4 250/160/4 -f 247/162/3 251/299/3 249/163/3 -f 209/115/3 253/300/3 255/164/3 -f 210/118/4 216/287/4 256/165/4 -f 257/167/3 262/171/3 264/168/3 -f 258/170/5 261/173/5 262/171/5 -f 260/172/4 263/175/4 261/173/4 -f 259/174/2 264/301/2 263/175/2 -f 270/177/4 268/302/4 278/178/4 -f 268/302/4 266/303/4 278/178/4 -f 266/303/4 280/304/4 278/178/4 -f 278/178/4 276/305/4 274/306/4 -f 274/306/4 272/176/4 278/178/4 -f 279/180/3 265/307/3 271/181/3 -f 265/307/3 267/308/3 271/181/3 -f 267/308/3 269/309/3 271/181/3 -f 271/181/3 273/310/3 275/311/3 -f 275/311/3 277/179/3 271/181/3 -f 292/182/2 288/193/2 287/183/2 -f 291/184/10 289/312/10 290/185/10 -f 287/186/1 288/313/1 286/187/1 -f 287/189/3 285/188/3 281/190/3 -f 284/192/4 282/200/4 286/187/4 -f 285/188/5 286/187/5 290/194/5 -f 291/196/4 295/314/4 293/197/4 -f 290/194/3 294/315/3 296/198/3 -f 292/182/2 296/316/2 284/192/2 -f 282/200/5 294/315/5 290/194/5 -f 283/201/2 295/317/2 291/184/2 -f 289/195/5 293/197/5 281/190/5 -f 298/202/3 300/205/3 299/203/3 -f 306/318/5 299/319/5 300/205/5 -f 304/206/5 303/320/5 305/207/5 -f 305/207/5 306/318/5 300/205/5 -f 304/206/4 302/210/4 301/208/4 -f 308/321/2 301/322/2 302/210/2 -f 298/202/2 297/323/2 307/211/2 -f 307/211/2 308/321/2 302/210/2 -f 300/205/1 298/202/1 302/210/1 -f 311/214/5 309/324/5 310/325/5 -f 310/325/5 316/326/5 311/214/5 -f 316/326/5 315/327/5 311/214/5 -f 315/327/5 314/328/5 311/214/5 -f 314/328/5 313/212/5 311/214/5 +f 200/352/90 196/353/90 197/354/90 +f 192/355/91 196/353/91 194/356/91 +f 204/357/92 194/358/92 199/359/92 +f 198/360/93 192/361/93 201/362/93 +f 198/360/94 196/353/94 195/363/94 +f 194/358/95 200/352/95 199/359/95 +f 204/357/96 190/364/96 189/365/96 +f 192/361/97 202/366/97 201/362/97 +f 202/366/98 190/367/98 203/368/98 +f 220/369/91 213/370/91 217/371/91 +f 250/372/93 240/373/93 246/374/93 +f 236/375/91 233/376/91 234/377/91 +f 247/378/92 243/379/92 239/380/92 +f 243/379/92 228/381/92 234/382/92 +f 262/383/93 260/384/93 256/385/93 +f 257/386/92 265/387/92 261/388/92 +f 256/385/93 242/389/93 240/373/93 +f 253/390/92 239/380/92 237/391/92 +f 246/374/93 235/392/93 225/393/93 +f 289/394/99 290/395/99 291/396/99 +f 294/397/93 291/396/93 290/395/93 +f 294/398/90 293/399/90 292/400/90 +f 293/399/92 289/394/92 292/401/92 +f 305/402/92 303/403/92 299/404/92 +f 304/405/93 306/406/93 302/407/93 +f 309/408/92 316/409/92 311/410/92 +f 310/411/99 314/412/99 309/408/99 +f 312/413/93 313/414/93 310/411/93 +f 311/415/91 315/416/91 312/413/91 +f 324/417/93 322/418/93 330/419/93 +f 329/420/92 331/421/92 323/422/92 +f 200/352/90 193/423/90 196/353/90 +f 194/356/91 189/424/91 190/425/91 +f 190/425/91 191/426/91 192/355/91 +f 192/355/91 195/427/91 196/353/91 +f 196/353/91 193/423/91 194/356/91 +f 194/356/91 190/425/91 192/355/91 +f 204/357/92 189/365/92 194/358/92 +f 198/360/93 195/363/93 192/361/93 +f 198/360/94 197/354/94 196/353/94 +f 194/358/95 193/423/95 200/352/95 +f 204/357/96 203/428/96 190/364/96 +f 192/361/97 191/429/97 202/366/97 +f 202/366/98 191/429/98 190/367/98 +f 213/370/91 214/430/91 215/431/91 +f 215/431/91 216/432/91 213/370/91 +f 216/432/91 217/371/91 213/370/91 +f 217/371/91 218/433/91 219/434/91 +f 219/434/91 220/369/91 217/371/91 +f 234/377/91 229/435/91 232/436/91 +f 229/435/91 230/437/91 232/436/91 +f 230/437/91 231/438/91 232/436/91 +f 232/436/91 235/439/91 234/377/91 +f 235/439/91 236/375/91 234/377/91 +f 243/379/92 221/440/92 228/381/92 +f 228/381/92 229/441/92 234/382/92 +f 234/382/92 237/391/92 243/379/92 +f 237/391/92 239/380/92 243/379/92 +f 256/385/93 240/373/93 262/383/93 +f 262/383/93 266/442/93 260/384/93 +f 261/388/92 239/380/92 253/390/92 +f 253/390/92 257/386/92 261/388/92 +f 225/393/93 224/443/93 246/374/93 +f 246/374/93 240/373/93 242/389/93 +f 242/389/93 235/392/93 246/374/93 +f 235/392/93 232/444/93 225/393/93 +f 289/394/99 293/399/99 290/395/99 +f 294/398/90 290/395/90 293/399/90 +f 297/445/92 301/446/92 299/404/92 +f 301/446/92 305/402/92 299/404/92 +f 305/402/92 307/447/92 303/403/92 +f 299/404/92 295/448/92 297/445/92 +f 302/407/93 298/449/93 300/450/93 +f 298/449/93 296/451/93 300/450/93 +f 304/405/93 308/452/93 306/406/93 +f 302/407/93 300/450/93 304/405/93 +f 309/408/92 314/412/92 316/409/92 +f 310/411/99 313/414/99 314/412/99 +f 312/413/93 315/416/93 313/414/93 +f 311/415/91 316/453/91 315/416/91 +f 322/418/93 320/454/93 330/419/93 +f 320/454/93 318/455/93 330/419/93 +f 318/455/93 332/456/93 330/419/93 +f 330/419/93 328/457/93 326/458/93 +f 326/458/93 324/417/93 330/419/93 +f 331/421/92 317/459/92 323/422/92 +f 317/459/92 319/460/92 323/422/92 +f 319/460/92 321/461/92 323/422/92 +f 323/422/92 325/462/92 327/463/92 +f 327/463/92 329/420/92 323/422/92 s 1 -f 39/329/11 43/330/12 35/331/12 -f 38/332/13 45/52/14 37/333/14 -f 33/334/15 42/335/16 34/336/16 -f 34/336/16 46/231/13 38/332/13 -f 36/337/17 41/338/15 33/334/15 -f 40/339/18 47/340/11 39/329/11 -f 35/331/12 44/341/17 36/342/17 -f 37/333/14 48/343/18 40/339/18 -f 55/344/4 62/345/9 54/346/9 -f 53/347/10 60/348/8 52/349/8 -f 51/350/3 58/351/7 50/352/7 -f 56/353/6 63/354/4 55/344/4 -f 54/346/9 61/355/10 53/356/10 -f 52/349/8 59/357/3 51/350/3 -f 50/352/7 57/358/1 49/359/1 -f 49/359/1 64/360/6 56/353/6 -f 68/361/8 77/362/10 76/363/8 -f 66/364/7 75/365/3 73/366/7 -f 72/367/6 79/368/4 71/369/4 -f 70/370/9 77/371/10 69/372/10 -f 67/373/3 76/363/8 75/365/3 -f 65/374/1 73/366/7 74/375/1 -f 65/374/1 80/376/6 72/367/6 -f 71/369/4 78/377/9 70/370/9 -f 87/378/19 83/379/20 86/380/19 -f 103/381/21 82/382/8 81/383/8 -f 86/380/22 84/384/23 85/385/24 -f 87/378/25 81/383/26 82/382/26 -f 90/386/27 88/387/28 87/378/25 -f 91/388/29 85/385/24 92/389/29 -f 90/386/30 86/380/19 91/388/30 -f 105/390/31 84/384/9 83/379/9 -f 82/382/10 105/390/32 83/379/10 -f 93/67/1 151/391/33 98/392/34 -f 94/73/7 98/392/35 97/82/36 -f 102/80/37 96/66/6 95/83/6 -f 111/393/38 107/394/8 99/395/39 -f 101/396/34 152/397/40 149/398/33 -f 104/399/32 109/400/10 105/390/32 -f 105/390/31 110/63/9 106/401/41 -f 107/394/8 104/399/42 103/381/21 -f 108/402/10 112/403/43 109/400/10 -f 110/63/9 112/403/44 100/404/45 -f 97/82/36 114/405/46 113/406/47 -f 101/396/48 102/80/37 115/407/49 -f 152/397/40 119/408/50 118/409/50 -f 113/406/47 118/409/51 117/410/51 -f 116/411/52 119/408/53 115/407/49 -f 111/393/43 124/412/54 112/403/43 -f 99/395/39 123/413/55 111/393/38 -f 112/403/44 122/414/56 100/404/45 -f 123/413/54 128/415/57 124/412/54 -f 123/413/55 125/416/58 127/417/58 -f 124/412/59 126/254/60 122/414/56 -f 119/418/61 130/419/62 118/420/63 -f 117/421/64 130/419/62 129/422/65 -f 120/423/66 131/424/67 119/418/61 -f 127/417/68 136/425/69 128/415/70 -f 127/417/68 133/426/71 135/427/72 -f 128/415/70 134/428/73 126/254/74 -f 135/429/5 134/428/75 136/430/5 -f 140/431/76 137/432/5 138/433/5 -f 138/434/67 144/435/77 140/436/78 -f 137/437/62 143/438/79 141/439/63 -f 137/437/62 142/440/61 138/434/67 -f 131/424/80 144/435/77 142/440/81 -f 142/440/81 130/419/82 131/424/80 -f 130/419/82 143/438/79 129/422/65 -f 146/441/3 129/442/65 143/443/79 -f 129/442/65 133/444/71 125/445/83 -f 117/446/64 129/442/65 125/445/83 -f 145/447/84 148/448/85 147/449/84 -f 134/428/73 132/450/86 126/451/74 -f 132/450/86 120/452/66 126/451/74 -f 133/453/75 147/449/84 134/428/75 -f 132/450/86 147/454/4 148/455/4 -f 115/407/49 102/80/37 116/411/52 -f 114/405/46 97/82/36 98/392/35 -f 151/391/33 114/405/87 98/392/34 -f 174/101/88 175/456/89 173/457/88 -f 156/458/7 164/459/1 163/460/7 -f 162/461/6 164/459/1 155/462/1 -f 160/463/9 169/464/4 161/465/4 -f 159/466/10 166/467/8 167/468/10 -f 156/458/7 165/469/3 157/470/3 -f 161/465/4 170/471/6 162/461/6 -f 159/472/10 168/473/9 160/463/9 -f 157/470/3 166/467/8 158/474/8 -f 172/99/2 173/457/88 171/475/2 -f 176/476/90 177/477/85 175/478/90 -f 178/479/85 179/480/91 177/477/85 -f 180/481/91 181/482/92 179/480/91 -f 182/483/92 183/484/92 181/482/92 -f 184/485/92 185/486/93 183/484/92 -f 186/487/93 187/488/84 185/486/93 -f 188/271/84 189/489/5 187/488/84 -f 198/107/94 193/276/95 194/280/95 -f 191/279/96 196/490/97 192/491/96 -f 202/106/98 197/277/94 198/107/94 -f 195/104/97 200/492/99 196/490/97 -f 199/103/99 204/493/100 200/492/99 -f 204/494/101 201/102/98 202/106/98 -f 205/108/102 208/111/103 206/113/102 -f 218/114/104 216/287/105 217/117/104 -f 219/119/106 209/495/107 220/496/106 -f 213/497/108 212/112/109 214/285/108 -f 207/110/103 217/117/104 208/111/103 -f 214/121/108 220/498/106 213/499/108 -f 250/125/103 223/129/104 224/126/104 -f 221/500/106 252/501/108 222/130/106 -f 223/129/104 228/131/110 224/126/104 -f 222/130/106 225/502/111 221/500/106 -f 227/134/110 230/137/112 228/131/110 -f 229/136/112 234/294/113 230/137/112 -f 232/503/114 225/502/111 226/132/111 -f 232/503/114 235/504/115 231/505/114 -f 236/506/115 239/507/116 235/508/115 -f 233/143/113 238/149/117 234/146/113 -f 237/145/117 242/154/107 238/149/117 -f 240/151/116 243/509/105 239/507/116 -f 244/150/105 247/510/118 243/509/105 -f 241/153/107 246/297/119 242/154/107 -f 248/511/118 251/512/108 247/510/118 -f 245/158/119 250/160/103 246/297/119 -f 210/118/107 253/513/120 209/495/107 -f 215/116/105 256/165/121 216/287/105 -f 149/398/33 96/66/1 101/396/34 -f 93/67/1 149/398/33 151/391/33 -f 266/514/5 267/515/101 265/516/5 -f 268/517/101 269/518/10 267/515/101 -f 270/519/10 271/520/122 269/521/10 -f 272/522/122 273/523/2 271/520/122 -f 274/524/2 275/525/89 273/523/2 -f 276/526/89 277/527/1 275/525/89 -f 278/528/1 279/529/123 277/527/1 -f 280/530/123 265/516/5 279/529/123 -f 96/66/6 102/80/37 101/396/48 -f 98/392/35 94/73/7 93/67/7 -f 146/531/85 140/431/76 148/448/85 -f 319/532/124 328/533/125 327/534/126 -f 316/535/6 323/536/4 315/537/4 -f 314/538/9 321/539/10 313/540/10 -f 312/541/8 319/532/3 311/542/3 -f 309/543/7 318/544/1 310/545/1 -f 310/545/1 324/546/6 316/535/6 -f 315/537/4 322/547/9 314/538/9 -f 313/548/10 320/549/8 312/541/8 -f 311/542/3 317/550/7 309/543/7 -f 331/551/127 332/552/128 326/553/129 -f 317/550/130 326/554/129 318/544/131 -f 324/546/132 326/555/129 332/556/128 -f 323/536/133 330/557/134 322/547/135 -f 320/549/136 329/558/137 328/559/125 -f 319/532/124 325/560/138 317/550/130 -f 323/536/133 332/561/128 331/562/127 -f 322/547/135 329/563/137 321/539/139 -f 39/329/11 47/340/11 43/330/12 -f 38/332/13 46/231/13 45/52/14 -f 33/334/15 41/338/15 42/335/16 -f 34/336/16 42/335/16 46/231/13 -f 36/337/17 44/564/17 41/338/15 -f 40/339/18 48/343/18 47/340/11 -f 35/331/12 43/330/12 44/341/17 -f 37/333/14 45/52/14 48/343/18 -f 55/344/4 63/354/4 62/345/9 -f 53/347/10 61/565/10 60/348/8 -f 51/350/3 59/357/3 58/351/7 -f 56/353/6 64/360/6 63/354/4 -f 54/346/9 62/345/9 61/355/10 -f 52/349/8 60/348/8 59/357/3 -f 50/352/7 58/351/7 57/358/1 -f 49/359/1 57/358/1 64/360/6 -f 68/361/8 69/566/10 77/362/10 -f 66/364/7 67/373/3 75/365/3 -f 72/367/6 80/376/6 79/368/4 -f 70/370/9 78/377/9 77/371/10 -f 67/373/3 68/361/8 76/363/8 -f 65/374/1 66/364/7 73/366/7 -f 65/374/1 74/375/1 80/376/6 -f 71/369/4 79/368/4 78/377/9 -f 87/378/19 82/382/20 83/379/20 -f 103/381/21 104/399/42 82/382/8 -f 86/380/22 83/379/23 84/384/23 -f 87/378/25 88/387/28 81/383/26 -f 90/386/27 89/567/27 88/387/28 -f 91/388/29 86/380/22 85/385/24 -f 90/386/30 87/378/19 86/380/19 -f 105/390/31 106/401/41 84/384/9 -f 82/382/10 104/399/32 105/390/32 -f 111/393/38 108/402/8 107/394/8 -f 101/396/34 115/407/87 152/397/40 -f 104/399/32 108/402/10 109/400/10 -f 105/390/31 109/400/9 110/63/9 -f 107/394/8 108/402/8 104/399/42 -f 108/402/10 111/393/43 112/403/43 -f 110/63/9 109/400/9 112/403/44 -f 118/409/50 114/405/87 154/568/40 -f 152/397/40 115/407/87 119/408/50 -f 118/409/50 154/568/40 152/397/40 -f 113/406/47 114/405/46 118/409/51 -f 116/411/52 120/569/53 119/408/53 -f 111/393/43 123/413/54 124/412/54 -f 99/395/39 121/570/140 123/413/55 -f 112/403/44 124/412/59 122/414/56 -f 123/413/54 127/417/57 128/415/57 -f 123/413/55 121/570/140 125/416/58 -f 124/412/59 128/415/60 126/254/60 -f 119/418/61 131/424/67 130/419/62 -f 117/421/64 118/420/63 130/419/62 -f 120/423/66 132/571/86 131/424/67 -f 127/417/68 135/427/72 136/425/69 -f 127/417/68 125/416/83 133/426/71 -f 128/415/70 136/425/69 134/428/73 -f 135/429/5 133/453/75 134/428/75 -f 140/431/76 139/572/76 137/432/5 -f 138/434/67 142/440/61 144/435/77 -f 137/437/62 139/573/141 143/438/79 -f 137/437/62 141/439/63 142/440/61 -f 131/424/80 132/571/86 144/435/77 -f 142/440/81 141/439/142 130/419/82 -f 130/419/82 141/439/142 143/438/79 -f 143/443/79 139/574/141 146/441/3 -f 146/441/3 145/575/3 129/442/65 -f 129/442/65 145/575/3 133/444/71 -f 145/447/84 146/531/85 148/448/85 -f 134/428/73 147/454/4 132/450/86 -f 133/453/75 145/447/84 147/449/84 -f 148/455/4 140/431/78 144/435/77 -f 144/435/77 132/450/86 148/455/4 -f 151/391/33 154/568/40 114/405/87 -f 174/101/88 176/576/89 175/456/89 -f 156/458/7 155/462/1 164/459/1 -f 162/461/6 170/471/6 164/459/1 -f 160/463/9 168/473/9 169/464/4 -f 159/466/10 158/474/8 166/467/8 -f 156/458/7 163/460/7 165/469/3 -f 161/465/4 169/464/4 170/471/6 -f 159/472/10 167/577/10 168/473/9 -f 157/470/3 165/469/3 166/467/8 -f 172/99/2 174/101/88 173/457/88 -f 176/476/90 178/479/85 177/477/85 -f 178/479/85 180/481/91 179/480/91 -f 180/481/91 182/483/92 181/482/92 -f 182/483/92 184/485/92 183/484/92 -f 184/485/92 186/487/93 185/486/93 -f 186/487/93 188/271/84 187/488/84 -f 188/271/84 190/269/5 189/489/5 -f 198/107/94 197/277/94 193/276/95 -f 191/279/96 195/104/97 196/490/97 -f 202/106/98 201/102/98 197/277/94 -f 195/104/97 199/103/99 200/492/99 -f 199/103/99 203/278/100 204/493/100 -f 204/494/101 203/578/101 201/102/98 -f 205/108/102 207/110/103 208/111/103 -f 218/114/104 215/116/105 216/287/105 -f 219/119/106 210/118/107 209/495/107 -f 213/497/108 211/579/109 212/112/109 -f 207/110/103 218/114/104 217/117/104 -f 214/121/108 219/120/106 220/498/106 -f 250/125/103 249/127/103 223/129/104 -f 221/500/106 251/580/108 252/501/108 -f 223/129/104 227/134/110 228/131/110 -f 222/130/106 226/132/111 225/502/111 -f 227/134/110 229/136/112 230/137/112 -f 229/136/112 233/140/113 234/294/113 -f 232/503/114 231/505/114 225/502/111 -f 232/503/114 236/581/115 235/504/115 -f 236/506/115 240/151/116 239/507/116 -f 233/143/113 237/145/117 238/149/117 -f 237/145/117 241/153/107 242/154/107 -f 240/151/116 244/150/105 243/509/105 -f 244/150/105 248/511/118 247/510/118 -f 241/153/107 245/158/119 246/297/119 -f 248/511/118 252/582/108 251/512/108 -f 245/158/119 249/163/103 250/160/103 -f 210/118/107 254/166/120 253/513/120 -f 215/116/105 255/164/121 256/165/121 -f 93/67/1 96/66/1 149/398/33 -f 266/514/5 268/517/101 267/515/101 -f 268/517/101 270/583/10 269/518/10 -f 270/519/10 272/522/122 271/520/122 -f 272/522/122 274/524/2 273/523/2 -f 274/524/2 276/526/89 275/525/89 -f 276/526/89 278/528/1 277/527/1 -f 278/528/1 280/530/123 279/529/123 -f 280/530/123 266/514/5 265/516/5 -f 146/531/85 139/572/76 140/431/76 -f 319/532/124 320/549/136 328/533/125 -f 316/535/6 324/546/6 323/536/4 -f 314/538/9 322/547/9 321/539/10 -f 312/541/8 320/549/8 319/532/3 -f 309/543/7 317/550/7 318/544/1 -f 310/545/1 318/544/1 324/546/6 -f 315/537/4 323/536/4 322/547/9 -f 313/548/10 321/584/10 320/549/8 -f 311/542/3 319/532/3 317/550/7 -f 326/553/129 325/585/138 327/586/126 -f 327/586/126 328/587/125 326/553/129 -f 328/587/125 329/588/137 326/553/129 -f 329/588/137 330/589/134 326/553/129 -f 330/589/134 331/551/127 326/553/129 -f 317/550/130 325/590/138 326/554/129 -f 324/546/132 318/544/131 326/555/129 -f 323/536/133 331/591/127 330/557/134 -f 320/549/136 321/584/139 329/558/137 -f 319/532/124 327/592/126 325/560/138 -f 323/536/133 324/546/132 332/561/128 -f 322/547/135 330/593/134 329/563/137 +f 211/464/93 218/465/97 210/466/97 +f 209/467/98 216/468/96 208/469/96 +f 207/470/92 214/471/95 206/472/95 +f 212/473/94 219/474/93 211/464/93 +f 210/466/97 217/475/98 209/476/98 +f 208/469/96 215/477/92 207/470/92 +f 206/472/95 213/478/90 205/479/90 +f 205/479/90 220/480/94 212/473/94 +f 227/481/100 223/482/101 226/483/100 +f 243/484/102 222/485/96 221/486/96 +f 226/483/103 224/487/104 225/488/105 +f 227/481/106 221/486/107 222/485/107 +f 230/489/108 228/490/109 227/481/106 +f 231/491/110 225/488/105 232/492/110 +f 230/489/111 226/483/100 231/491/111 +f 245/493/112 224/487/97 223/482/97 +f 222/485/98 245/493/113 223/482/98 +f 233/376/90 291/494/114 238/495/115 +f 234/382/95 238/495/116 237/391/117 +f 242/389/118 236/375/94 235/392/94 +f 251/496/119 247/497/96 239/498/120 +f 241/499/115 292/500/121 289/501/114 +f 244/502/113 249/503/98 245/493/113 +f 245/493/112 250/372/97 246/504/122 +f 247/497/96 244/502/123 243/484/102 +f 248/505/98 252/506/124 249/503/98 +f 250/372/97 252/506/125 240/507/126 +f 237/391/117 254/508/127 253/509/128 +f 241/499/129 242/389/118 255/510/130 +f 292/500/121 259/511/131 258/512/131 +f 253/509/128 258/512/132 257/513/132 +f 256/514/133 259/511/134 255/510/130 +f 251/496/124 264/515/135 252/506/124 +f 239/498/120 263/516/136 251/496/119 +f 252/506/125 262/517/137 240/507/126 +f 263/516/135 268/518/138 264/515/135 +f 263/516/136 265/519/139 267/520/139 +f 264/515/140 266/442/141 262/517/137 +f 259/521/142 270/522/143 258/523/144 +f 257/524/145 270/522/143 269/525/146 +f 260/526/147 271/527/148 259/521/142 +f 267/520/149 276/528/150 268/518/151 +f 267/520/149 273/529/152 275/530/153 +f 268/518/151 274/531/154 266/442/155 +f 275/532/99 274/531/156 276/533/99 +f 280/534/157 277/535/99 278/536/99 +f 278/537/148 284/538/158 280/539/159 +f 277/540/143 283/541/160 281/542/144 +f 277/540/143 282/543/142 278/537/148 +f 271/527/161 284/538/158 282/543/162 +f 282/543/162 270/522/163 271/527/161 +f 270/522/163 283/541/160 269/525/146 +f 286/544/92 269/545/146 283/546/160 +f 269/545/146 273/547/152 265/548/164 +f 257/549/145 269/545/146 265/548/164 +f 285/550/165 288/551/166 287/552/165 +f 274/531/154 272/553/167 266/554/155 +f 272/553/167 260/555/147 266/554/155 +f 273/556/156 287/552/165 274/531/156 +f 272/553/167 287/557/93 288/558/93 +f 255/510/130 242/389/118 256/514/133 +f 254/508/127 237/391/117 238/495/116 +f 291/494/114 254/508/168 238/495/115 +f 302/407/169 297/445/170 298/449/170 +f 295/448/171 300/559/172 296/560/171 +f 306/406/173 301/446/169 302/407/169 +f 299/404/172 304/561/174 300/559/172 +f 303/403/174 308/562/175 304/561/174 +f 308/563/176 305/402/173 306/406/173 +f 289/501/114 236/375/90 241/499/115 +f 233/376/90 289/501/114 291/494/114 +f 318/564/99 319/565/176 317/566/99 +f 320/567/176 321/568/98 319/565/176 +f 322/569/98 323/570/177 321/571/98 +f 324/572/177 325/573/91 323/570/177 +f 326/574/91 327/575/178 325/573/91 +f 328/576/178 329/577/90 327/575/178 +f 330/578/90 331/579/179 329/577/90 +f 332/580/179 317/566/99 331/579/179 +f 236/375/94 242/389/118 241/499/129 +f 238/495/116 234/382/95 233/376/95 +f 286/581/166 280/534/157 288/551/166 +f 211/464/93 219/474/93 218/465/97 +f 209/467/98 217/582/98 216/468/96 +f 207/470/92 215/477/92 214/471/95 +f 212/473/94 220/480/94 219/474/93 +f 210/466/97 218/465/97 217/475/98 +f 208/469/96 216/468/96 215/477/92 +f 206/472/95 214/471/95 213/478/90 +f 205/479/90 213/478/90 220/480/94 +f 227/481/100 222/485/101 223/482/101 +f 243/484/102 244/502/123 222/485/96 +f 226/483/103 223/482/104 224/487/104 +f 227/481/106 228/490/109 221/486/107 +f 230/489/108 229/583/108 228/490/109 +f 231/491/110 226/483/103 225/488/105 +f 230/489/111 227/481/100 226/483/100 +f 245/493/112 246/504/122 224/487/97 +f 222/485/98 244/502/113 245/493/113 +f 251/496/119 248/505/96 247/497/96 +f 241/499/115 255/510/168 292/500/121 +f 244/502/113 248/505/98 249/503/98 +f 245/493/112 249/503/97 250/372/97 +f 247/497/96 248/505/96 244/502/123 +f 248/505/98 251/496/124 252/506/124 +f 250/372/97 249/503/97 252/506/125 +f 258/512/131 254/508/168 294/584/121 +f 292/500/121 255/510/168 259/511/131 +f 258/512/131 294/584/121 292/500/121 +f 253/509/128 254/508/127 258/512/132 +f 256/514/133 260/585/134 259/511/134 +f 251/496/124 263/516/135 264/515/135 +f 239/498/120 261/586/180 263/516/136 +f 252/506/125 264/515/140 262/517/137 +f 263/516/135 267/520/138 268/518/138 +f 263/516/136 261/586/180 265/519/139 +f 264/515/140 268/518/141 266/442/141 +f 259/521/142 271/527/148 270/522/143 +f 257/524/145 258/523/144 270/522/143 +f 260/526/147 272/587/167 271/527/148 +f 267/520/149 275/530/153 276/528/150 +f 267/520/149 265/519/164 273/529/152 +f 268/518/151 276/528/150 274/531/154 +f 275/532/99 273/556/156 274/531/156 +f 280/534/157 279/588/157 277/535/99 +f 278/537/148 282/543/142 284/538/158 +f 277/540/143 279/589/181 283/541/160 +f 277/540/143 281/542/144 282/543/142 +f 271/527/161 272/587/167 284/538/158 +f 282/543/162 281/542/182 270/522/163 +f 270/522/163 281/542/182 283/541/160 +f 283/546/160 279/590/181 286/544/92 +f 286/544/92 285/591/92 269/545/146 +f 269/545/146 285/591/92 273/547/152 +f 285/550/165 286/581/166 288/551/166 +f 274/531/154 287/557/93 272/553/167 +f 273/556/156 285/550/165 287/552/165 +f 288/558/93 280/534/159 284/538/158 +f 284/538/158 272/553/167 288/558/93 +f 291/494/114 294/584/121 254/508/168 +f 302/407/169 301/446/169 297/445/170 +f 295/448/171 299/404/172 300/559/172 +f 306/406/173 305/402/173 301/446/169 +f 299/404/172 303/403/174 304/561/174 +f 303/403/174 307/447/175 308/562/175 +f 308/563/176 307/592/176 305/402/173 +f 233/376/90 236/375/90 289/501/114 +f 318/564/99 320/567/176 319/565/176 +f 320/567/176 322/593/98 321/568/98 +f 322/569/98 324/572/177 323/570/177 +f 324/572/177 326/574/91 325/573/91 +f 326/574/91 328/576/178 327/575/178 +f 328/576/178 330/578/90 329/577/90 +f 330/578/90 332/580/179 331/579/179 +f 332/580/179 318/564/99 317/566/99 +f 286/581/166 279/588/157 280/534/157 diff --git a/src/main/resources/assets/hbm/models/weapons/hk69.obj b/src/main/resources/assets/hbm/models/weapons/hk69.obj deleted file mode 100644 index ab880e53a..000000000 --- a/src/main/resources/assets/hbm/models/weapons/hk69.obj +++ /dev/null @@ -1,438 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'hk69.blend' -# www.blender.org -o Cube_Cube.001 -v -0.100000 0.100000 0.500000 -v -0.100000 0.200000 0.500000 -v -0.100000 0.000000 -0.500000 -v -0.100000 0.200000 -0.500000 -v 0.100000 0.100000 0.500000 -v 0.100000 0.200000 0.500000 -v 0.100000 0.000000 -0.500000 -v 0.100000 0.200000 -0.500000 -v -0.100000 0.000000 0.200000 -v 0.100000 0.000000 0.200000 -v 0.125000 0.000000 -0.500000 -v -0.125000 0.000000 -0.500000 -v 0.000000 0.450000 -0.500000 -v 0.000000 0.450000 1.000000 -v 0.129904 0.375000 -0.500000 -v 0.129904 0.375000 1.000000 -v 0.129904 0.225000 -0.500000 -v 0.129904 0.225000 1.000000 -v -0.000000 0.150000 -0.500000 -v -0.000000 0.150000 1.000000 -v -0.129904 0.225000 -0.500000 -v -0.129904 0.225000 1.000000 -v -0.129904 0.375000 -0.500000 -v -0.129904 0.375000 1.000000 -v 0.125000 0.150000 -0.500000 -v -0.125000 0.150000 -0.500000 -v 0.125000 0.450000 -0.500000 -v -0.125000 0.450000 -0.500000 -v -0.150000 0.250000 -0.500000 -v 0.150000 0.250000 -0.500000 -v -0.150000 0.400000 -0.500000 -v 0.150000 0.400000 -0.500000 -v 0.125000 0.000000 -0.650000 -v -0.125000 0.000000 -0.650000 -v 0.125000 0.150000 -0.650000 -v -0.125000 0.150000 -0.650000 -v 0.125000 0.450000 -0.650000 -v -0.125000 0.450000 -0.650000 -v -0.150000 0.250000 -0.650000 -v 0.150000 0.250000 -0.650000 -v -0.150000 0.400000 -0.650000 -v 0.150000 0.400000 -0.650000 -v -0.100000 0.000000 -0.650000 -v 0.100000 0.000000 -0.650000 -v -0.100000 0.400000 -0.650000 -v 0.100000 0.400000 -0.650000 -v -0.100000 0.350000 -0.710000 -v 0.100000 0.350000 -0.710000 -v -0.100000 0.200000 -0.710000 -v 0.100000 0.200000 -0.710000 -v -0.100000 0.400000 -1.000000 -v 0.100000 0.400000 -1.000000 -v -0.100000 -0.100000 -1.000000 -v 0.100000 -0.100000 -1.000000 -v -0.100000 0.300000 -1.100000 -v 0.100000 0.300000 -1.100000 -v -0.100000 0.000000 -1.100000 -v 0.100000 0.000000 -1.100000 -v 0.000000 0.200000 -1.000000 -v 0.000000 0.200000 -0.650000 -v 0.050000 0.150000 -1.000000 -v 0.050000 0.150000 -0.650000 -v -0.000000 0.100000 -1.000000 -v -0.000000 0.100000 -0.650000 -v -0.050000 0.150000 -1.000000 -v -0.050000 0.150000 -0.650000 -v -0.050000 0.400000 -0.785000 -v 0.050000 0.400000 -0.785000 -v -0.050000 0.350000 -0.785000 -v 0.050000 0.350000 -0.785000 -v -0.050000 0.325000 -0.710000 -v 0.050000 0.325000 -0.710000 -v -0.050000 0.275000 -0.710000 -v 0.050000 0.275000 -0.710000 -v -0.050000 0.000000 -0.575000 -v 0.050000 0.000000 -0.575000 -v -0.050000 0.000000 -0.425000 -v 0.050000 0.000000 -0.425000 -v -0.050000 -0.350000 -0.675000 -v 0.050000 -0.350000 -0.675000 -v -0.050000 -0.350000 -0.525000 -v 0.050000 -0.350000 -0.525000 -v -0.050000 0.400000 0.965000 -v 0.050000 0.400000 0.965000 -v -0.050000 0.400000 0.865000 -v 0.050000 0.400000 0.865000 -v 0.050000 0.550000 0.965000 -v -0.050000 0.550000 0.965000 -v 0.050000 0.550000 0.865000 -v -0.050000 0.550000 0.865000 -v -0.000000 0.500000 -0.585000 -v -0.000000 0.500000 -0.535000 -v 0.025000 0.450000 -0.585000 -v 0.025000 0.450000 -0.535000 -v -0.025000 0.450000 -0.585000 -v -0.025000 0.450000 -0.535000 -vt 0.760870 0.130435 -vt 0.456522 0.217391 -vt 0.326087 0.130435 -vt 0.108696 0.891304 -vt 0.239130 0.891304 -vt 0.239130 0.956522 -vt 0.326087 0.391304 -vt 0.456522 0.304348 -vt 0.760870 0.391304 -vt 0.760870 0.043478 -vt 0.217391 0.847826 -vt 0.130435 0.847826 -vt 0.130435 0.782609 -vt 0.007716 0.472674 -vt 0.007716 0.419018 -vt 0.100650 0.419018 -vt 0.217391 0.978261 -vt 0.130435 0.978261 -vt 0.108696 0.956522 -vt 0.369565 0.891304 -vt 0.260870 0.847826 -vt 0.347826 0.782609 -vt 0.347826 0.847826 -vt 0.826087 0.413043 -vt 0.826087 0.239130 -vt 0.847826 0.326087 -vt 0.934783 0.326087 -vt 0.956522 0.239130 -vt 0.956522 0.413043 -vt 0.000063 0.000063 -vt 0.086957 0.000000 -vt 0.086957 0.217391 -vt 0.130435 0.043478 -vt 0.130435 0.173913 -vt 0.260870 0.217391 -vt 0.217391 0.173913 -vt 0.217391 0.043478 -vt 0.869565 0.478261 -vt 0.869565 0.456522 -vt 0.913043 0.456522 -vt 0.869565 0.413043 -vt 0.913043 0.413043 -vt 0.913043 0.521739 -vt 0.869565 0.521739 -vt 0.826087 0.478261 -vt 0.826087 0.456522 -vt 0.956522 0.456522 -vt 0.956522 0.478261 -vt 0.869565 0.086957 -vt 0.804348 0.086957 -vt 0.804348 0.043478 -vt 0.760870 0.086957 -vt 0.804348 0.239130 -vt 0.869565 0.239130 -vt 0.913043 0.086957 -vt 0.978261 0.086957 -vt 0.978261 0.239130 -vt 0.913043 0.239130 -vt 0.065217 0.608696 -vt 0.108696 0.608696 -vt 0.108696 0.652174 -vt 0.065217 0.652174 -vt 0.108696 0.717391 -vt 0.065217 0.543478 -vt 0.000000 0.500000 -vt 0.021739 0.500000 -vt 0.021739 0.521739 -vt 0.021739 0.543478 -vt 0.000000 0.543478 -vt 0.043478 0.521739 -vt 0.347826 0.978261 -vt 0.260870 0.978261 -vt 0.369565 0.956522 -vt 0.326087 0.173913 -vt 0.760870 0.217391 -vt 0.760870 0.304348 -vt 0.326087 0.347826 -vt 0.326087 0.043478 -vt 0.217391 0.782609 -vt 0.100650 0.472674 -vt 0.054183 0.499502 -vt 0.054183 0.392190 -vt 0.260870 0.782609 -vt 0.847826 0.391304 -vt 0.934783 0.391304 -vt 0.000000 0.217391 -vt 0.260870 -0.000000 -vt 0.913043 0.478261 -vt 0.869565 0.043478 -vt 0.760870 0.239130 -vt 0.065217 0.717391 -vt 0.108696 0.543478 -vt 0.000000 0.521739 -vt 0.239130 0.217391 -vt 0.326087 0.217391 -vt 0.326087 0.304348 -vt 0.108696 0.586957 -vt 0.108696 0.521739 -vt 0.760870 0.521739 -vt 0.108696 0.456522 -vt 0.760870 0.456522 -vt 0.108696 0.391304 -vt 0.108696 0.782609 -vt 0.760870 0.717391 -vt 0.760870 0.586957 -vt 0.760870 0.652174 -vt 0.760870 0.434783 -vt 0.826087 0.434783 -vt 0.826087 0.543478 -vt 0.760870 0.413043 -vt 0.826087 0.347826 -vt 0.826087 0.304348 -vt 0.760870 0.347826 -vt 0.826087 0.739130 -vt 0.826087 0.847826 -vt 0.760870 0.847826 -vt 0.760870 0.673913 -vt 0.826087 0.673913 -vt 0.760870 0.630435 -vt 0.826087 0.630435 -vt 0.760870 0.565217 -vt 0.826087 0.565217 -vt 0.847826 0.413043 -vt 0.847826 0.239130 -vt 0.130435 0.217391 -vt 0.130435 0.000000 -vt 0.152174 0.304348 -vt -0.000000 0.304348 -vt -0.000000 0.260870 -vt 0.152174 0.260870 -vt -0.000000 0.347826 -vt -0.000000 0.391304 -vt 0.152174 0.347826 -vt 0.239130 0.304348 -vt 0.760870 0.782609 -vt 0.760870 0.543478 -vt 0.760870 0.739130 -vt 0.934783 0.413043 -vt 0.934783 0.239130 -vt 0.217391 0.217391 -vt 0.217391 -0.000000 -vt 0.152174 0.217391 -vt 0.152174 0.391304 -vn -1.000000 -0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 1.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 -0.707100 -0.707100 -vn 0.000000 0.707100 0.707100 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 -0.274700 0.961500 -vn 0.000000 0.274700 -0.961500 -vn 0.894400 0.447200 0.000000 -vn -0.894400 0.447200 0.000000 -vn -0.577300 0.577300 0.577300 -vn -0.596200 -0.469400 0.651300 -vn 0.596200 -0.469400 0.651300 -vn -0.707100 -0.707100 0.000000 -vn 0.707100 -0.707100 0.000000 -vn 0.672700 -0.730300 0.118500 -vn -0.672700 -0.730300 0.118500 -vn 0.000000 0.792400 0.610000 -vn 0.686200 0.396200 0.610000 -vn 0.866000 0.500000 0.000000 -vn 0.686200 -0.396200 0.610000 -vn 0.866000 -0.500000 0.000000 -vn 0.000000 -0.792400 0.610000 -vn -0.686200 -0.396200 0.610000 -vn -0.866000 -0.500000 0.000000 -vn -0.686200 0.396200 0.610000 -vn -0.866000 0.500000 0.000000 -vn 0.418300 0.676800 0.605700 -vn 0.418300 0.676800 -0.605700 -vn -0.418300 0.676800 -0.605700 -vn 0.732100 0.172800 0.658900 -vn 0.732100 0.172800 -0.658900 -vn 0.727100 -0.089500 -0.680600 -vn 0.672300 -0.082700 -0.735600 -vn 0.727100 -0.089500 0.680600 -vn 0.577300 -0.577300 -0.577300 -vn 0.672300 -0.082700 0.735600 -vn -0.577300 -0.577300 -0.577300 -vn 0.577300 -0.577300 0.577300 -vn -0.672300 -0.082700 0.735600 -vn -0.672300 -0.082700 -0.735600 -vn -0.727100 -0.089500 0.680600 -vn -0.727100 -0.089500 -0.680600 -vn -0.732100 0.172800 0.658900 -vn -0.732100 0.172800 -0.658900 -vn 0.487100 0.670900 -0.559100 -vn 0.622900 0.331800 -0.708400 -vn -0.622900 0.331800 -0.708400 -vn 0.675800 -0.107000 -0.729200 -vn -0.675800 -0.107000 -0.729200 -vn 0.182400 -0.282500 -0.941700 -vn 0.546900 0.773400 0.320400 -vn 0.630200 0.297100 -0.717300 -vn -0.630200 0.297100 -0.717300 -vn -0.630200 -0.297100 -0.717300 -vn 0.630200 -0.297100 -0.717300 -vn 0.546900 -0.773400 0.320400 -vn 0.577300 0.577300 0.577300 -vn -0.418300 0.676800 0.605700 -vn -0.577300 -0.577300 0.577300 -vn -0.487100 0.670900 -0.559100 -vn -0.182400 -0.282500 -0.941700 -vn -0.546900 0.773400 0.320400 -vn -0.546900 -0.773400 0.320400 -s off -f 4/1/1 9/2/1 2/3/1 -f 29/4/2 30/5/2 32/6/2 -f 6/7/3 10/8/3 8/9/3 -f 8/10/4 4/1/4 2/3/4 -f 25/11/2 26/12/2 12/13/2 -f 26/12/2 25/11/2 30/5/2 -f 24/14/2 22/15/2 18/16/2 -f 27/17/2 28/18/2 31/19/2 -f 39/20/5 40/5/5 35/21/5 -f 34/22/5 36/23/5 35/21/5 -f 46/24/3 44/25/3 50/26/3 -f 49/27/1 43/28/1 45/29/1 -f 53/30/2 54/31/2 52/32/2 -f 58/33/3 56/34/3 52/32/3 -f 51/35/1 55/36/1 57/37/1 -f 68/38/5 70/39/5 69/40/5 -f 70/39/6 74/41/6 73/42/6 -f 71/43/7 72/44/7 68/38/7 -f 72/45/3 74/46/3 70/39/3 -f 69/40/1 73/47/1 71/48/1 -f 80/49/8 82/50/8 81/51/8 -f 81/52/9 82/50/9 78/53/9 -f 76/54/10 80/49/10 79/55/10 -f 81/56/1 77/57/1 75/58/1 -f 76/54/3 78/53/3 82/50/3 -f 87/59/4 89/60/4 90/61/4 -f 88/62/1 90/61/1 85/63/1 -f 89/60/3 87/59/3 84/64/3 -f 94/65/11 93/66/11 91/67/11 -f 91/67/12 95/68/12 96/69/12 -f 93/70/5 95/67/5 91/66/5 -f 94/70/2 92/68/2 96/67/2 -f 38/71/5 37/72/5 42/6/5 -f 41/73/5 42/6/5 40/5/5 -f 1/74/1 2/3/1 9/2/1 -f 4/1/1 3/75/1 9/2/1 -f 31/19/2 29/4/2 32/6/2 -f 7/76/3 8/9/3 10/8/3 -f 6/7/3 5/77/3 10/8/3 -f 6/78/4 8/10/4 2/3/4 -f 11/79/2 25/11/2 12/13/2 -f 29/4/2 26/12/2 30/5/2 -f 18/16/2 16/80/2 14/81/2 -f 14/81/2 24/14/2 18/16/2 -f 22/15/2 20/82/2 18/16/2 -f 32/6/2 27/17/2 31/19/2 -f 36/23/5 39/20/5 35/21/5 -f 33/83/5 34/22/5 35/21/5 -f 48/84/3 46/24/3 50/26/3 -f 47/85/1 49/27/1 45/29/1 -f 51/86/2 53/30/2 52/32/2 -f 54/31/3 58/33/3 52/32/3 -f 53/87/1 51/35/1 57/37/1 -f 67/88/5 68/38/5 69/40/5 -f 69/40/6 70/39/6 73/42/6 -f 67/88/7 71/43/7 68/38/7 -f 68/38/3 72/45/3 70/39/3 -f 67/88/1 69/40/1 71/48/1 -f 79/89/8 80/49/8 81/51/8 -f 77/90/9 81/52/9 78/53/9 -f 75/58/10 76/54/10 79/55/10 -f 79/55/1 81/56/1 75/58/1 -f 80/49/3 76/54/3 82/50/3 -f 88/62/4 87/59/4 90/61/4 -f 83/91/1 88/62/1 85/63/1 -f 86/92/3 89/60/3 84/64/3 -f 92/93/11 94/65/11 91/67/11 -f 92/93/12 91/67/12 96/69/12 -f 41/73/5 38/71/5 42/6/5 -f 39/20/5 41/73/5 40/5/5 -s 1 -f 2/94/13 1/95/14 5/96/15 -f 3/75/16 7/76/17 10/8/18 -f 9/2/19 10/8/18 5/96/15 -f 14/97/20 16/98/21 15/99/22 -f 16/98/21 18/100/23 17/101/24 -f 17/101/24 18/100/23 20/102/25 -f 20/103/25 22/63/26 21/104/27 -f 24/61/28 14/97/20 13/105/4 -f 22/63/26 24/61/28 23/106/29 -f 27/107/30 37/108/31 38/109/32 -f 32/110/33 42/24/34 37/108/31 -f 40/111/35 42/24/34 32/110/33 -f 35/112/36 40/111/35 30/113/37 -f 33/25/38 35/112/36 25/76/39 -f 34/114/40 33/115/38 11/116/41 -f 26/117/42 36/118/43 34/114/40 -f 29/119/44 39/120/45 36/118/43 -f 31/121/46 41/122/47 39/120/45 -f 38/109/32 41/122/47 31/121/46 -f 46/123/48 48/84/49 47/85/50 -f 48/84/49 50/26/51 49/27/52 -f 49/27/52 50/26/51 44/124/53 -f 52/125/54 56/34/55 55/36/56 -f 57/37/57 58/33/58 54/126/59 -f 56/34/55 58/33/58 57/37/57 -f 59/127/4 60/128/4 62/129/3 -f 61/130/3 62/129/3 64/86/8 -f 66/131/1 60/128/4 59/127/4 -f 64/132/8 66/131/1 65/133/1 -f 6/134/60 2/94/13 5/96/15 -f 9/2/19 3/75/16 10/8/18 -f 1/95/14 9/2/19 5/96/15 -f 13/105/4 14/97/20 15/99/22 -f 15/99/22 16/98/21 17/101/24 -f 19/9/8 17/101/24 20/102/25 -f 19/135/8 20/103/25 21/104/27 -f 23/106/29 24/61/28 13/105/4 -f 21/104/27 22/63/26 23/106/29 -f 28/136/61 27/107/30 38/109/32 -f 27/107/30 32/110/33 37/108/31 -f 30/113/37 40/111/35 32/110/33 -f 25/76/39 35/112/36 30/113/37 -f 11/90/41 33/25/38 25/76/39 -f 12/137/62 34/114/40 11/116/41 -f 12/137/62 26/117/42 34/114/40 -f 26/117/42 29/119/44 36/118/43 -f 29/119/44 31/121/46 39/120/45 -f 28/136/61 38/109/32 31/121/46 -f 45/138/63 46/123/48 47/85/50 -f 47/85/50 48/84/49 49/27/52 -f 43/139/64 49/27/52 44/124/53 -f 51/140/65 52/125/54 55/36/56 -f 53/141/66 57/37/57 54/126/59 -f 55/36/56 56/34/55 57/37/57 -f 61/130/3 59/127/4 62/129/3 -f 63/142/8 61/130/3 64/86/8 -f 65/133/1 66/131/1 59/127/4 -f 63/143/8 64/132/8 65/133/1 diff --git a/src/main/resources/assets/hbm/models/weapons/ks23.obj b/src/main/resources/assets/hbm/models/weapons/ks23.obj deleted file mode 100644 index 7cd975554..000000000 --- a/src/main/resources/assets/hbm/models/weapons/ks23.obj +++ /dev/null @@ -1,5805 +0,0 @@ -# Blender 4.0.1 -# www.blender.org -o Bolt -v 0.161448 0.393839 -0.026408 -v 0.161448 0.393839 0.021028 -v 0.175965 0.393896 0.023362 -v 0.175965 0.393564 -0.028355 -v -0.139708 0.393839 -1.037985 -v -0.139708 0.100576 -1.037985 -v -0.141234 0.099485 -1.013396 -v -0.141233 0.393839 -1.013400 -v -0.091905 0.047403 -1.660505 -v 0.093151 0.047403 -1.660505 -v 0.092973 0.047403 -1.037985 -v -0.091727 0.047403 -1.037985 -v 0.146160 0.393839 -0.995425 -v 0.146166 0.096349 -0.995410 -v 0.142480 0.099485 -1.013396 -v 0.142477 0.393839 -1.013400 -v 0.161448 0.392465 -0.226861 -v 0.161448 0.179659 -0.226861 -v 0.161448 0.176783 -0.269772 -v 0.161448 0.184279 -0.293139 -v 0.161448 0.392465 -0.293139 -v 0.161448 0.156742 -0.176861 -v 0.161448 0.179659 -0.193139 -v 0.161448 0.392465 -0.193139 -v 0.161448 0.098712 -0.026381 -v 0.161448 0.124456 -0.093139 -v 0.161448 0.392051 -0.093139 -v 0.161448 0.392051 -0.126861 -v 0.161448 0.137460 -0.126861 -v 0.161448 0.143738 -0.143139 -v 0.161448 0.392051 -0.143139 -v 0.161448 0.392051 -0.176861 -v 0.161448 0.167893 -0.516984 -v 0.161448 0.163019 -0.510000 -v 0.161448 0.163019 -0.410000 -v 0.161448 0.163019 -0.310000 -v 0.161448 0.167893 -0.303016 -v 0.161448 0.179659 -0.293139 -v 0.161448 0.163019 -0.210000 -v 0.161448 0.100073 -0.176861 -v 0.161448 0.088307 -0.166984 -v 0.161448 0.083433 -0.160000 -v 0.161448 0.088307 -0.153016 -v 0.161448 0.100073 -0.143139 -v 0.161448 0.100073 -0.126861 -v 0.161448 0.088307 -0.116984 -v 0.161448 0.083433 -0.110000 -v 0.161448 0.088307 -0.103016 -v 0.161448 0.100073 -0.093139 -v 0.161448 0.080437 -0.026379 -v 0.161448 0.080575 -0.927107 -v 0.161448 0.393839 -0.927107 -v 0.161448 0.392465 -0.326861 -v 0.161448 0.392465 -0.393139 -v 0.161448 0.392465 -0.426861 -v 0.161448 0.392465 -0.493139 -v 0.161448 0.392465 -0.526861 -v 0.161448 0.392465 -0.593139 -v 0.161448 0.392465 -0.626861 -v 0.161448 0.392465 -0.693139 -v 0.161448 0.392465 -0.726861 -v 0.161448 0.392465 -0.793139 -v 0.161448 0.392465 -0.826861 -v 0.161448 0.179659 -0.826861 -v 0.161448 0.167893 -0.816984 -v 0.161448 0.163019 -0.810000 -v 0.161448 0.163019 -0.710000 -v 0.161448 0.163019 -0.610000 -v 0.140953 0.100576 -1.037985 -v 0.140953 0.393839 -1.037985 -v 0.159923 0.393839 -0.951692 -v 0.156242 0.393839 -0.969667 -v 0.140953 0.393839 -1.660505 -v -0.139708 0.393839 -1.660505 -v -0.144914 0.393839 -0.995425 -v -0.154997 0.393839 -0.969667 -v -0.158678 0.393839 -0.951692 -v -0.160203 0.393839 -0.927107 -v -0.160203 0.393839 -0.026414 -v -0.160203 0.393839 0.021028 -v -0.144920 0.096349 -0.995410 -v -0.154991 0.086522 -0.969682 -v -0.139708 0.100430 -1.660505 -v 0.140953 0.100430 -1.660505 -v 0.137546 0.034507 0.021028 -v 0.155043 0.053917 0.021028 -v 0.161448 0.080430 0.021028 -v -0.160203 0.080430 0.021028 -v -0.153799 0.053917 0.021028 -v -0.136302 0.034507 0.021028 -v -0.112400 0.027403 0.021028 -v 0.113645 0.027403 0.021028 -v 0.156235 0.086522 -0.969682 -v 0.159921 0.082465 -0.951696 -v 0.094000 0.045913 -1.013395 -v -0.092755 0.045913 -1.013395 -v -0.095793 0.042316 -0.995407 -v 0.097038 0.042316 -0.995407 -v 0.107106 0.032491 -0.969685 -v -0.105861 0.032491 -0.969685 -v -0.158677 0.082465 -0.951696 -v -0.160203 0.080575 -0.927107 -v 0.113467 0.027403 -0.927107 -v -0.112223 0.027403 -0.927107 -v -0.110196 0.028893 -0.951697 -v 0.111441 0.028893 -0.951697 -v -0.115806 0.054507 -1.660505 -v -0.133303 0.073917 -1.660505 -v 0.134549 0.073917 -1.660505 -v 0.117052 0.054507 -1.660505 -v 0.118240 0.053090 -1.013395 -v 0.121602 0.049555 -0.995408 -v 0.135985 0.072699 -1.013395 -v 0.139584 0.069332 -0.995409 -v 0.116963 0.054527 -1.037985 -v 0.134525 0.073989 -1.037985 -v -0.116995 0.053090 -1.013395 -v -0.115718 0.054527 -1.037985 -v -0.134739 0.072699 -1.013395 -v -0.133280 0.073989 -1.037985 -v -0.120357 0.049555 -0.995408 -v -0.138339 0.069332 -0.995409 -v -0.134436 0.036070 -0.951697 -v -0.130425 0.039729 -0.969685 -v -0.152181 0.055679 -0.951697 -v -0.148408 0.059506 -0.969684 -v -0.136212 0.034527 -0.927107 -v -0.153775 0.053989 -0.927107 -v 0.135681 0.036070 -0.951697 -v 0.137458 0.034527 -0.927107 -v 0.153426 0.055679 -0.951697 -v 0.155020 0.053989 -0.927107 -v 0.131670 0.039729 -0.969685 -v 0.149653 0.059506 -0.969684 -v -0.174720 0.393564 -0.028361 -v -0.174720 0.393896 0.023362 -v 0.155042 0.053920 -0.026379 -v 0.175964 0.077206 -0.028324 -v 0.168981 0.048295 -0.028324 -v -0.167737 0.048291 0.023362 -v -0.148661 0.027130 0.023362 -v 0.113637 0.027403 -0.026379 -v 0.137542 0.034508 -0.026379 -v -0.160203 0.180122 -0.393139 -v -0.160203 0.168028 -0.403016 -v -0.160203 0.163019 -0.410000 -v -0.160203 0.162014 -0.310637 -v -0.160203 0.392465 -0.326861 -v -0.160203 0.392465 -0.393139 -v 0.182426 0.392465 -0.326861 -v 0.182426 0.179659 -0.326861 -v 0.161448 0.179659 -0.326861 -v -0.160203 0.180122 -0.426861 -v -0.181181 0.180122 -0.426861 -v -0.181181 0.392465 -0.426861 -v -0.160203 0.392465 -0.426861 -v 0.182426 0.392465 -0.193139 -v 0.182426 0.392465 -0.226861 -v -0.181181 0.392465 -0.226861 -v -0.181181 0.392465 -0.193139 -v -0.160203 0.392465 -0.193139 -v -0.160203 0.392465 -0.226861 -v -0.160203 0.137460 -0.126861 -v -0.160203 0.392051 -0.126861 -v -0.160203 0.392051 -0.093139 -v -0.160203 0.124456 -0.093139 -v -0.160203 0.098712 -0.026381 -v -0.160203 0.180122 -0.193139 -v -0.160203 0.156742 -0.176861 -v -0.160203 0.392051 -0.176861 -v -0.160203 0.392051 -0.143139 -v -0.160203 0.143738 -0.143139 -v 0.182426 0.179659 -0.193139 -v -0.181181 0.180122 -0.193139 -v 0.182426 0.392465 -0.526861 -v 0.182426 0.179659 -0.526861 -v 0.161448 0.179659 -0.526861 -v -0.160203 0.180122 -0.526861 -v -0.181181 0.180122 -0.526861 -v -0.181181 0.392465 -0.526861 -v -0.160203 0.392465 -0.526861 -v 0.182426 0.392465 -0.293139 -v -0.181181 0.392465 -0.326861 -v -0.181181 0.392465 -0.293139 -v -0.160203 0.392465 -0.293139 -v 0.182426 0.179659 -0.226861 -v -0.160203 0.180122 -0.226861 -v -0.181181 0.180122 -0.226861 -v 0.182426 0.179659 -0.293139 -v -0.160203 0.184279 -0.293139 -v -0.181181 0.180122 -0.293139 -v -0.160203 0.180122 -0.293139 -v -0.181270 0.162019 -0.310622 -v -0.160364 0.167861 -0.318624 -v -0.181431 0.167866 -0.318609 -v 0.182426 0.167893 -0.303016 -v 0.182426 0.163019 -0.310000 -v 0.182426 0.167893 -0.316984 -v -0.181181 0.392465 -0.393139 -v -0.181181 0.168028 -0.416984 -v -0.181181 0.163019 -0.410000 -v -0.181181 0.168028 -0.403016 -v -0.181181 0.180122 -0.393139 -v 0.182426 0.392465 -0.393139 -v 0.182426 0.392465 -0.426861 -v 0.182426 0.167893 -0.203016 -v 0.182426 0.163019 -0.210000 -v 0.182426 0.167893 -0.216984 -v -0.181181 0.180122 -0.326861 -v 0.182426 0.179659 -0.393139 -v 0.161448 0.179659 -0.393139 -v -0.160203 0.180122 -0.626861 -v -0.181181 0.180122 -0.626861 -v -0.181181 0.392465 -0.626861 -v -0.160203 0.392465 -0.626861 -v 0.182426 0.392465 -0.626861 -v 0.182426 0.179659 -0.626861 -v 0.161448 0.179659 -0.626861 -v -0.160203 0.180122 -0.726861 -v -0.181181 0.180122 -0.726861 -v -0.181181 0.392465 -0.726861 -v -0.160203 0.392465 -0.726861 -v 0.182426 0.392465 -0.493139 -v -0.181181 0.392465 -0.493139 -v -0.160203 0.392465 -0.493139 -v 0.182426 0.179659 -0.426861 -v 0.161448 0.179659 -0.426861 -v -0.181181 0.168028 -0.216984 -v -0.181181 0.163019 -0.210000 -v -0.181181 0.168028 -0.203016 -v 0.182426 0.179659 -0.493139 -v 0.161448 0.179659 -0.493139 -v -0.181181 0.180122 -0.493139 -v -0.160203 0.180122 -0.493139 -v 0.182426 0.392465 -0.726861 -v 0.182426 0.179659 -0.726861 -v 0.161448 0.179659 -0.726861 -v -0.160203 0.180122 -0.826861 -v -0.181181 0.180122 -0.826861 -v -0.181181 0.392465 -0.826861 -v -0.160203 0.392465 -0.826861 -v 0.182426 0.392465 -0.593139 -v -0.181181 0.392465 -0.593139 -v -0.160203 0.392465 -0.593139 -v 0.182426 0.167893 -0.403016 -v 0.182426 0.163019 -0.410000 -v 0.182426 0.167893 -0.416984 -v 0.182426 0.179659 -0.593139 -v 0.161448 0.179659 -0.593139 -v -0.181181 0.180122 -0.593139 -v -0.160203 0.180122 -0.593139 -v 0.182426 0.392465 -0.826861 -v 0.182426 0.179659 -0.826861 -v -0.160203 0.100536 -0.126861 -v -0.181181 0.100536 -0.126861 -v -0.181181 0.392051 -0.126861 -v 0.182426 0.392465 -0.693139 -v -0.181181 0.392465 -0.693139 -v -0.160203 0.392465 -0.693139 -v 0.182426 0.167893 -0.503016 -v 0.182426 0.163019 -0.510000 -v 0.182426 0.167893 -0.516984 -v 0.182426 0.179659 -0.693139 -v 0.161448 0.179659 -0.693139 -v -0.181181 0.180122 -0.693139 -v -0.160203 0.180122 -0.693139 -v 0.182426 0.392051 -0.176861 -v 0.182426 0.100073 -0.176861 -v -0.181181 0.392051 -0.093139 -v -0.181181 0.088442 -0.116984 -v -0.181181 0.083433 -0.110000 -v -0.181181 0.088442 -0.103016 -v -0.181181 0.100536 -0.093139 -v 0.182426 0.392465 -0.793139 -v -0.181181 0.392465 -0.793139 -v -0.160203 0.392465 -0.793139 -v 0.182426 0.167893 -0.603016 -v 0.182426 0.163019 -0.610000 -v 0.182426 0.167893 -0.616984 -v -0.181181 0.168028 -0.516984 -v -0.181181 0.163019 -0.510000 -v -0.181181 0.168028 -0.503016 -v 0.182426 0.179659 -0.793139 -v 0.161448 0.179659 -0.793139 -v -0.181181 0.180122 -0.793139 -v -0.160203 0.180122 -0.793139 -v 0.182426 0.167893 -0.803016 -v 0.182426 0.163019 -0.810000 -v 0.182426 0.167893 -0.816984 -v 0.182426 0.392051 -0.093139 -v 0.182426 0.392051 -0.126861 -v 0.182426 0.167893 -0.703016 -v 0.182426 0.163019 -0.710000 -v 0.182426 0.167893 -0.716984 -v -0.181181 0.168028 -0.616984 -v -0.181181 0.163019 -0.610000 -v -0.181181 0.168028 -0.603016 -v 0.182426 0.100073 -0.093139 -v -0.160203 0.100536 -0.176861 -v -0.181181 0.100536 -0.176861 -v -0.181181 0.392051 -0.176861 -v -0.160203 0.100536 -0.093139 -v 0.182426 0.088307 -0.103016 -v 0.182426 0.083433 -0.110000 -v 0.182426 0.088307 -0.116984 -v 0.182426 0.100073 -0.126861 -v -0.181181 0.168028 -0.816984 -v -0.181181 0.163019 -0.810000 -v -0.181181 0.168028 -0.803016 -v 0.182426 0.392051 -0.143139 -v -0.181181 0.392051 -0.143139 -v -0.181181 0.168028 -0.716984 -v -0.181181 0.163019 -0.710000 -v -0.181181 0.168028 -0.703016 -v 0.182426 0.100073 -0.143139 -v -0.181181 0.100536 -0.143139 -v -0.160203 0.100536 -0.143139 -v 0.161448 0.167893 -0.203016 -v 0.161448 0.167893 -0.216984 -v 0.161448 0.167893 -0.316984 -v 0.161448 0.167893 -0.403016 -v 0.161448 0.167893 -0.416984 -v 0.161448 0.167893 -0.503016 -v 0.161448 0.167893 -0.603016 -v 0.161448 0.167893 -0.616984 -v 0.161448 0.167893 -0.703016 -v 0.161448 0.167893 -0.716984 -v 0.161448 0.167893 -0.803016 -v 0.182426 0.083433 -0.160000 -v 0.182426 0.088307 -0.166984 -v 0.182426 0.088307 -0.153016 -v -0.160203 0.168028 -0.203016 -v -0.160203 0.163019 -0.210000 -v -0.160203 0.168028 -0.216984 -v -0.160203 0.168028 -0.416984 -v -0.160203 0.168028 -0.503016 -v -0.160203 0.163019 -0.510000 -v -0.160203 0.168028 -0.516984 -v -0.160203 0.168028 -0.603016 -v -0.160203 0.163019 -0.610000 -v -0.160203 0.168028 -0.303016 -v -0.160203 0.168028 -0.616984 -v -0.160203 0.163019 -0.710000 -v -0.160203 0.163019 -0.810000 -v -0.160203 0.168028 -0.816984 -v -0.160203 0.080437 -0.026379 -v -0.160203 0.088442 -0.103016 -v -0.160203 0.083433 -0.110000 -v -0.160203 0.088442 -0.116984 -v -0.160203 0.088442 -0.153016 -v -0.160203 0.083433 -0.160000 -v -0.160203 0.088442 -0.166984 -v -0.160203 0.168028 -0.703016 -v -0.160203 0.168028 -0.716984 -v -0.160203 0.168028 -0.803016 -v -0.181181 0.083433 -0.160000 -v -0.181181 0.088442 -0.153016 -v -0.181181 0.088442 -0.166984 -v -0.181431 0.168028 -0.303126 -v -0.160114 0.180117 -0.326876 -v -0.112391 0.027403 -0.026379 -v 0.123837 0.019385 -0.028324 -v -0.122592 0.019385 -0.028324 -v 0.175964 0.077198 0.023362 -v -0.136297 0.034508 -0.026379 -v -0.148656 0.027131 -0.028324 -v -0.153798 0.053920 -0.026379 -v 0.123847 0.019385 0.023362 -v -0.122602 0.019385 0.023362 -v 0.175964 0.097130 -0.028325 -v -0.174720 0.077198 0.023362 -v -0.167736 0.048295 -0.028324 -v 0.168982 0.048291 0.023362 -v -0.174720 0.077206 -0.028324 -v 0.149905 0.027130 0.023362 -v 0.149901 0.027131 -0.028324 -v -0.174720 0.097130 -0.028326 -v 0.079173 0.413916 0.706758 -v 0.133032 0.413916 0.706758 -v 0.133032 0.467775 0.706758 -v 0.079173 0.467775 0.706758 -v 0.079173 0.467775 0.274201 -v 0.133032 0.467775 0.638249 -v 0.132611 0.467775 0.638244 -v 0.132611 0.467775 0.274201 -v 0.132804 0.413916 0.274201 -v 0.079173 0.413916 0.274201 -v 0.132805 0.466244 0.274201 -v 0.132804 0.413916 0.638765 -v 0.133032 0.413916 0.638765 -v 0.133032 0.466254 0.638765 -v 0.120479 0.520191 0.602429 -v 0.120479 0.520191 0.201794 -v 0.104105 0.551348 0.201794 -v 0.104105 0.551348 0.558765 -v 0.130619 0.493740 0.629471 -v 0.130619 0.493740 0.201794 -v 0.134105 0.466292 0.638765 -v 0.134105 0.466292 0.201794 -v 0.134105 0.350993 0.638765 -v 0.134105 0.350993 0.201794 -v 0.119244 0.519875 0.602429 -v 0.102899 0.550972 0.558765 -v 0.102899 0.550972 0.201794 -v 0.119250 0.519861 0.201794 -v 0.129342 0.493549 0.201794 -v 0.129338 0.493568 0.629471 -v 0.132805 0.466243 0.201794 -v 0.132804 0.350993 0.201794 -v 0.132804 0.350993 0.638765 -vn 0.0004 1.0000 -0.0028 -vn 0.0146 0.9999 -0.0013 -vn 0.0067 1.0000 -0.0000 -vn -0.9926 -0.1169 -0.0334 -vn -0.9913 -0.0000 -0.1316 -vn -0.9995 -0.0000 -0.0310 -vn 0.1440 -0.9896 -0.0000 -vn -0.1422 -0.9893 -0.0330 -vn -0.1440 -0.9896 -0.0000 -vn 0.9589 -0.0000 -0.2836 -vn 0.9832 -0.1132 -0.1432 -vn 0.9913 -0.0000 -0.1316 -vn 1.0000 -0.0000 -0.0000 -vn 0.9926 -0.1169 -0.0334 -vn 0.9995 -0.0000 -0.0310 -vn -0.0000 1.0000 -0.0000 -vn -0.9589 -0.0000 -0.2836 -vn -0.9449 -0.1072 -0.3093 -vn -0.9430 -0.1154 -0.3120 -vn -1.0000 -0.0000 -0.0000 -vn 0.9930 -0.1183 -0.0000 -vn 0.0095 0.1424 0.9898 -vn -0.0095 0.1424 0.9898 -vn 0.0836 0.0092 0.9965 -vn 0.9449 -0.1072 -0.3093 -vn 0.9814 -0.1217 -0.1484 -vn 0.1373 -0.9803 -0.1420 -vn 0.1423 -0.9893 -0.0330 -vn -0.1283 -0.9426 -0.3084 -vn 0.1375 -0.9399 -0.3125 -vn -0.1375 -0.9399 -0.3125 -vn -0.9832 -0.1132 -0.1432 -vn 0.1283 -0.9426 -0.3084 -vn -0.9814 -0.1217 -0.1484 -vn 0.1469 -0.9885 -0.0359 -vn -0.1468 -0.9778 -0.1497 -vn 0.1468 -0.9778 -0.1497 -vn 0.9430 -0.1154 -0.3120 -vn -0.0000 -0.0000 -1.0000 -vn 0.5211 -0.8364 -0.1702 -vn 0.4874 -0.7903 -0.3714 -vn 0.8246 -0.4304 -0.3672 -vn 0.8732 -0.4571 -0.1689 -vn 0.5318 -0.8460 -0.0388 -vn 0.8843 -0.4652 -0.0387 -vn -0.1373 -0.9803 -0.1420 -vn -0.5318 -0.8460 -0.0387 -vn -0.8732 -0.4571 -0.1689 -vn -0.8844 -0.4652 -0.0387 -vn -0.5211 -0.8364 -0.1702 -vn -0.8246 -0.4304 -0.3672 -vn -0.4936 -0.7869 -0.3704 -vn -0.8676 -0.4633 -0.1804 -vn -0.8215 -0.4371 -0.3662 -vn -0.1469 -0.9885 -0.0359 -vn -0.5265 -0.8301 -0.1835 -vn -0.8823 -0.4685 -0.0445 -vn -0.9920 -0.1209 -0.0355 -vn 0.5265 -0.8302 -0.1835 -vn 0.5348 -0.8437 -0.0454 -vn 0.8823 -0.4685 -0.0446 -vn 0.8676 -0.4633 -0.1804 -vn 0.9920 -0.1209 -0.0355 -vn 0.4936 -0.7869 -0.3704 -vn 0.8215 -0.4371 -0.3662 -vn -0.5338 -0.8456 0.0001 -vn -0.8845 -0.4665 0.0001 -vn -0.9930 -0.1182 -0.0000 -vn -0.4874 -0.7903 -0.3714 -vn 0.8845 -0.4665 0.0001 -vn -0.0004 1.0000 -0.0028 -vn -0.0146 0.9999 -0.0013 -vn 0.0029 1.0000 -0.0064 -vn -0.1131 0.0626 -0.9916 -vn -0.1292 0.0162 -0.9915 -vn -0.1147 0.0586 -0.9917 -vn 0.0784 0.0434 0.9960 -vn 0.1020 0.1407 0.9848 -vn 0.0494 0.1002 0.9937 -vn 0.5338 -0.8456 -0.0001 -vn 0.8845 -0.4665 -0.0001 -vn -0.0000 -0.3421 -0.9397 -vn -0.0000 -0.3358 -0.9419 -vn -0.0000 -0.3421 0.9397 -vn -0.0000 -0.0000 1.0000 -vn -0.0000 -0.3358 0.9419 -vn -0.0013 -0.3390 0.9408 -vn -0.0006 -0.8069 -0.5907 -vn -0.0007 -0.6930 -0.7209 -vn -0.0000 -0.7379 0.6749 -vn -0.0000 -0.8200 0.5723 -vn -0.0000 -0.8200 -0.5723 -vn -0.0000 -0.7379 -0.6749 -vn -0.0000 -0.8126 0.5828 -vn -0.0000 -0.7289 0.6846 -vn -0.0000 -0.7289 -0.6846 -vn -0.0000 -0.8126 -0.5828 -vn -1.0000 0.0078 -0.0000 -vn -1.0000 0.0074 -0.0000 -vn -0.0023 -0.7816 0.6238 -vn -0.0012 -0.7129 0.7013 -vn -0.0036 -0.7124 0.7018 -vn -0.0008 -0.3029 -0.9530 -vn -0.0007 -0.6931 -0.7208 -vn -0.0007 0.0001 -1.0000 -vn -0.0008 -0.2904 -0.9569 -vn -0.0145 0.2183 -0.9758 -vn 0.0392 0.1881 -0.9814 -vn 0.0145 0.2183 -0.9758 -vn -0.0836 0.0092 0.9965 -vn -0.1587 -0.0000 0.9873 -vn -0.0797 -0.0000 0.9968 -vn 0.0702 0.1427 -0.9873 -vn 0.0854 0.1178 -0.9894 -vn -0.9930 -0.1183 -0.0000 -vn -0.5348 -0.8437 -0.0454 -vn -0.8845 -0.4665 -0.0001 -vn -0.1439 -0.9896 -0.0000 -vn -0.1327 -0.0001 -0.9911 -vn -0.1329 -0.0001 -0.9911 -vn -0.1328 -0.0001 -0.9911 -vn 0.1587 -0.0000 0.9873 -vn 0.1545 0.0195 0.9878 -vn 0.1131 0.0626 -0.9916 -vn 0.1147 0.0586 -0.9917 -vn -0.0784 0.0434 0.9960 -vn -0.1545 0.0195 0.9878 -vn -0.5337 -0.8457 -0.0001 -vn 0.9930 -0.1182 -0.0000 -vn 0.5337 -0.8457 -0.0001 -vn -0.0854 0.1178 -0.9894 -vn -0.0702 0.1427 -0.9873 -vn 0.1297 0.0143 -0.9915 -vn 0.1328 -0.0001 -0.9911 -vn -0.1020 0.1407 0.9848 -vn -0.1372 0.0701 0.9881 -vn 0.1372 0.0701 0.9881 -vn 0.0467 0.2240 0.9735 -vn -0.0392 0.1881 -0.9814 -vn -0.1296 0.0143 -0.9915 -vn -0.0467 0.2240 0.9735 -vn -0.0494 0.1002 0.9937 -vn 0.1292 0.0162 -0.9915 -vn 0.1329 -0.0001 -0.9911 -vn -0.0029 1.0000 -0.0064 -vn -0.0067 1.0000 -0.0000 -vn 0.0797 -0.0000 0.9968 -vn 0.5338 -0.8456 0.0001 -vn 0.5794 -0.0572 -0.8130 -vn 0.3708 -0.3967 -0.8397 -vn 0.4890 -0.1952 -0.8502 -vn 0.0998 -0.6565 -0.7477 -vn -1.0000 0.0094 -0.0001 -vn -1.0000 0.0098 -0.0000 -vn -0.9996 -0.0270 0.0003 -vn 0.0003 -0.7850 0.6195 -vn -0.5337 -0.8456 -0.0001 -vn 0.1439 -0.9896 -0.0000 -vn -0.5338 -0.8456 -0.0001 -vn -0.0002 1.0000 -0.0000 -vn -0.0000 -1.0000 -0.0000 -vn 0.9111 0.4123 -0.0000 -vn 0.8852 0.4652 -0.0000 -vn 0.9239 0.3826 -0.0000 -vn 0.9698 0.2437 -0.0000 -vn 0.9805 0.1966 -0.0000 -vn 0.9980 0.0631 -0.0000 -vn 0.9984 0.0559 -0.0000 -vn -0.8852 -0.4653 -0.0000 -vn -0.9110 -0.4124 -0.0000 -vn -0.9239 -0.3828 -0.0000 -vn -0.9698 -0.2437 -0.0000 -vn -0.9980 -0.0630 -0.0000 -vn -0.9921 -0.1258 -0.0000 -vn -0.2976 0.9547 -0.0000 -vn -0.2824 0.9057 0.3162 -vn -0.2796 0.8979 0.3399 -vn -0.1824 0.7163 0.6735 -vn -0.0715 0.5275 0.8465 -vn -0.0679 0.5079 0.8588 -vn -0.0136 0.3198 0.9474 -vn -0.0056 0.1592 0.9872 -vn -0.0062 0.1597 0.9872 -vn -0.1852 0.7225 0.6661 -vn -0.8852 -0.4652 -0.0000 -vn -0.9805 -0.1964 -0.0000 -vn -0.9920 -0.1259 -0.0000 -vn -0.0112 0.3207 0.9471 -vt 0.164335 0.434657 -vt 0.179187 0.434574 -vt 0.178601 0.434657 -vt 0.482821 0.346461 -vt 0.475427 0.434657 -vt 0.482821 0.434657 -vt 0.670036 0.330470 -vt 0.482821 0.330470 -vt 0.470021 0.434657 -vt 0.475425 0.346133 -vt 0.238885 0.370245 -vt 0.251790 0.369380 -vt 0.258817 0.371634 -vt 0.208811 0.434119 -vt 0.213706 0.434119 -vt 0.263888 0.365240 -vt 0.223848 0.346310 -vt 0.220877 0.342772 -vt 0.462275 0.434657 -vt 0.470016 0.345190 -vt 0.462279 0.342235 -vt 0.670036 0.434657 -vt 0.670036 0.346418 -vt 0.164335 0.324456 -vt 0.164335 0.340403 -vt 0.449475 0.434657 -vt 0.456870 0.341015 -vt 0.456869 0.434657 -vt 0.475425 0.330022 -vt 0.470016 0.328940 -vt 0.462280 0.325986 -vt 0.449475 0.324456 -vt 0.456870 0.324904 -vt 0.475425 0.332181 -vt 0.470016 0.331117 -vt 0.470016 0.337065 -vt 0.475425 0.338078 -vt 0.482821 0.332613 -vt 0.482821 0.338466 -vt 0.462280 0.328162 -vt 0.456870 0.332959 -vt 0.462280 0.334110 -vt 0.456870 0.327062 -vt 0.449475 0.332451 -vt 0.449475 0.340446 -vt 0.449475 0.326598 -vt 0.462280 0.328163 -vt 0.670036 0.332607 -vt 0.670036 0.338444 -vt 0.179188 0.434574 -vt 0.163633 0.434674 -vt 0.178592 0.332430 -vt 0.179177 0.339433 -vt 0.179177 0.330739 -vt 0.164335 0.332429 -vt 0.163633 0.324373 -vt 0.164335 0.326592 -vt 0.178592 0.324456 -vt 0.178592 0.326592 -vt 0.178592 0.340405 -vt 0.288891 0.370384 -vt 0.291861 0.366747 -vt 0.264079 0.364938 -vt 0.268958 0.434243 -vt 0.268958 0.370245 -vt 0.299032 0.370384 -vt 0.299032 0.434243 -vt 0.228743 0.434243 -vt 0.238885 0.434243 -vt 0.178603 0.434657 -vt 0.228743 0.370245 -vt 0.228743 0.370384 -vt 0.329106 0.434243 -vt 0.329106 0.370245 -vt 0.329106 0.370384 -vt 0.258817 0.434243 -vt 0.238885 0.370384 -vt 0.258817 0.370384 -vt 0.264075 0.364940 -vt 0.266481 0.366696 -vt 0.265988 0.366706 -vt 0.258817 0.370245 -vt 0.288891 0.434243 -vt 0.235914 0.366706 -vt 0.268958 0.370384 -vt 0.288891 0.370245 -vt 0.359180 0.370384 -vt 0.359180 0.434243 -vt 0.359180 0.370245 -vt 0.389254 0.370384 -vt 0.389254 0.434243 -vt 0.318965 0.434243 -vt 0.299032 0.370245 -vt 0.231714 0.366747 -vt 0.318965 0.370245 -vt 0.318965 0.370384 -vt 0.389254 0.370245 -vt 0.419327 0.370384 -vt 0.419327 0.434243 -vt 0.349038 0.434243 -vt 0.296062 0.366706 -vt 0.349038 0.370245 -vt 0.349038 0.370384 -vt 0.419327 0.370245 -vt 0.208811 0.357554 -vt 0.208811 0.346449 -vt 0.379112 0.434243 -vt 0.326136 0.366706 -vt 0.379112 0.370245 -vt 0.379112 0.370384 -vt 0.223848 0.363353 -vt 0.201640 0.342812 -vt 0.198670 0.346449 -vt 0.409186 0.434243 -vt 0.356209 0.366706 -vt 0.321935 0.366747 -vt 0.409186 0.370245 -vt 0.409186 0.370384 -vt 0.416357 0.366706 -vt 0.198670 0.434119 -vt 0.386283 0.366706 -vt 0.352009 0.366747 -vt 0.198670 0.353643 -vt 0.198670 0.346310 -vt 0.223848 0.434119 -vt 0.205841 0.342772 -vt 0.208811 0.346310 -vt 0.412156 0.366747 -vt 0.382083 0.366747 -vt 0.213706 0.359442 -vt 0.213706 0.346449 -vt 0.233814 0.365240 -vt 0.231714 0.366706 -vt 0.291861 0.366706 -vt 0.321935 0.366706 -vt 0.382083 0.366706 -vt 0.412156 0.366706 -vt 0.201640 0.342772 -vt 0.203740 0.341306 -vt 0.414257 0.365240 -vt 0.261787 0.366706 -vt 0.293962 0.365240 -vt 0.324035 0.365240 -vt 0.352009 0.366706 -vt 0.354109 0.365240 -vt 0.384183 0.365240 -vt 0.218777 0.341306 -vt 0.213706 0.346310 -vt 0.216677 0.342772 -vt 0.386283 0.366747 -vt 0.235914 0.366747 -vt 0.296062 0.366747 -vt 0.326136 0.366747 -vt 0.205841 0.342812 -vt 0.216677 0.342812 -vt 0.356209 0.366747 -vt 0.416357 0.366747 -vt 0.223848 0.346449 -vt 0.220877 0.342812 -vt 0.261787 0.366747 -vt 0.261821 0.366747 -vt 0.266477 0.366698 -vt 0.268963 0.370382 -vt 0.179177 0.322044 -vt 0.179177 0.324374 -vt 0.163633 0.322044 -vt 0.178593 0.345901 -vt 0.179178 0.345425 -vt 0.163633 0.339431 -vt 0.163633 0.330737 -vt 0.515296 0.663237 -vt 0.515296 0.682674 -vt 0.540019 0.682674 -vt 0.540021 0.682674 -vt 0.671399 0.682674 -vt 0.671399 0.682121 -vt 0.671399 0.663237 -vt 0.539833 0.663237 -vt 0.539833 0.682125 -vt 0.697530 0.701590 -vt 0.568704 0.712834 -vt 0.552946 0.701590 -vt 0.697530 0.692045 -vt 0.543187 0.692045 -vt 0.697530 0.682139 -vt 0.697530 0.640529 -vt 0.539833 0.682139 -vt 0.539833 0.640529 -vt 0.568704 0.712699 -vt 0.697530 0.701471 -vt 0.552946 0.701476 -vt 0.697530 0.691975 -vt 0.697530 0.682121 -vt 0.697530 0.712834 -vt 0.543187 0.691982 -vt 0.697530 0.712699 -s 1 -f 2/1/1 4/2/2 1/3/3 -f 6/4/4 8/5/5 5/6/6 -f 10/7/7 12/8/8 9/7/9 -f 13/9/10 15/10/11 16/5/12 -f 18/11/13 19/12/13 20/13/13 -f 1/3/13 28/14/13 31/15/13 -f 36/16/13 40/17/13 41/18/13 -f 16/5/12 69/4/14 70/6/15 -f 5/6/16 8/5/16 70/6/16 -f 76/19/17 81/20/18 82/21/19 -f 74/22/20 6/4/4 5/6/6 -f 73/22/13 69/4/14 84/23/21 -f 91/24/22 92/24/23 88/25/24 -f 72/19/10 14/20/25 13/9/10 -f 52/26/15 94/27/26 71/28/12 -f 95/29/27 12/8/8 11/8/28 -f 97/30/29 99/31/30 100/31/31 -f 7/10/32 75/9/17 8/5/5 -f 97/30/29 95/29/27 98/30/33 -f 101/27/34 78/26/6 77/28/5 -f 103/32/35 105/33/36 106/33/37 -f 82/21/19 77/28/5 76/19/17 -f 105/33/36 99/31/30 106/33/37 -f 71/28/12 93/21/38 72/19/10 -f 10/7/39 9/7/39 84/23/39 -f 98/30/33 111/34/40 112/35/41 -f 111/34/40 114/36/42 112/35/41 -f 113/37/43 14/20/25 114/36/42 -f 95/29/27 115/38/44 111/34/40 -f 115/38/44 113/37/43 111/34/40 -f 116/39/45 15/10/11 113/37/43 -f 96/29/46 118/38/47 12/8/8 -f 118/38/47 119/37/48 120/39/49 -f 120/39/49 7/10/32 6/4/4 -f 97/30/29 117/34/50 96/29/46 -f 117/34/50 122/36/51 119/37/48 -f 119/37/48 81/20/18 7/10/32 -f 105/33/36 124/40/52 100/31/31 -f 124/40/52 125/41/53 126/42/54 -f 126/42/54 101/27/34 82/21/19 -f 104/32/55 123/43/56 105/33/36 -f 123/43/56 128/44/57 125/41/53 -f 125/41/53 102/45/58 101/27/34 -f 103/32/35 129/43/59 130/46/60 -f 129/43/59 132/44/61 130/46/60 -f 131/41/62 51/45/63 132/44/61 -f 106/33/37 133/47/64 129/43/59 -f 133/47/64 131/41/62 129/43/59 -f 134/42/65 94/27/26 131/41/62 -f 9/7/9 118/38/47 107/48/66 -f 118/38/47 108/49/67 107/48/66 -f 120/39/49 83/23/68 108/49/67 -f 100/31/31 121/35/69 97/30/29 -f 121/35/69 126/42/54 122/36/51 -f 122/36/51 82/21/19 81/20/18 -f 10/7/7 115/38/44 11/8/28 -f 115/38/44 109/49/70 116/39/45 -f 116/39/45 84/23/21 69/4/14 -f 99/31/30 112/35/41 133/47/64 -f 112/35/41 134/42/65 133/47/64 -f 114/36/42 93/21/38 134/42/65 -f 80/1/71 135/50/72 136/51/73 -f 137/52/74 138/53/75 139/54/76 -f 89/55/77 141/56/78 90/57/79 -f 142/58/7 130/46/60 143/59/80 -f 130/46/60 137/52/81 143/59/80 -f 132/44/61 50/60/21 137/52/81 -f 144/61/20 145/62/20 147/63/20 -f 150/64/39 152/65/82 53/64/39 -f 154/66/83 156/67/39 153/66/83 -f 157/68/16 17/69/16 24/68/16 -f 160/68/16 162/69/16 159/69/16 -f 171/15/20 79/70/20 161/68/20 -f 173/71/84 24/68/85 23/71/84 -f 174/72/86 161/68/85 160/68/85 -f 175/73/39 177/74/82 57/73/39 -f 179/75/83 181/73/39 178/75/83 -f 182/76/16 53/64/16 21/76/16 -f 184/76/16 148/64/16 183/64/16 -f 158/69/39 18/11/82 17/69/39 -f 188/77/83 162/69/39 187/77/83 -f 182/76/85 21/76/85 20/13/85 -f 191/78/87 190/13/85 184/76/85 -f 193/79/88 194/80/89 147/63/88 -f 198/81/13 151/65/13 189/82/13 -f 202/62/20 203/61/20 154/66/20 -f 204/83/16 55/67/16 54/83/16 -f 199/83/16 156/67/16 155/67/16 -f 208/84/13 186/11/13 173/71/13 -f 209/85/39 183/64/39 148/64/39 -f 204/83/85 211/86/84 210/86/84 -f 203/61/86 149/83/85 199/83/85 -f 213/87/83 215/88/39 212/87/83 -f 216/88/39 218/89/82 59/88/39 -f 220/90/83 222/91/39 219/90/83 -f 223/92/16 57/73/16 56/92/16 -f 224/92/16 181/73/16 180/73/16 -f 205/67/39 227/93/82 55/67/39 -f 230/94/20 174/72/20 188/77/20 -f 223/92/85 232/95/84 231/95/84 -f 233/96/86 225/92/85 224/92/85 -f 235/91/39 237/97/82 61/91/39 -f 239/98/83 241/99/39 238/98/83 -f 242/100/16 59/88/16 58/100/16 -f 243/100/16 215/88/16 214/88/16 -f 247/101/13 226/93/13 210/86/13 -f 242/100/85 249/102/84 248/102/84 -f 250/103/86 244/100/85 243/100/85 -f 252/99/39 64/104/82 63/99/39 -f 256/14/39 163/105/39 255/106/83 -f 257/107/16 61/91/16 60/107/16 -f 258/107/16 222/91/16 221/91/16 -f 262/108/13 176/74/13 231/95/13 -f 257/107/85 264/109/84 263/109/84 -f 265/110/86 259/107/85 258/107/85 -f 268/17/82 40/17/82 22/111/39 -f 272/112/20 273/113/20 255/106/20 -f 274/114/16 63/99/16 62/114/16 -f 275/114/16 241/99/16 240/99/16 -f 279/115/13 217/89/13 248/102/13 -f 282/116/20 233/96/20 179/75/20 -f 274/114/85 284/117/84 283/117/84 -f 285/118/86 276/114/85 275/114/85 -f 289/119/13 253/104/13 283/117/13 -f 290/120/16 28/14/16 27/120/16 -f 269/120/16 164/14/16 256/14/16 -f 294/121/13 236/97/13 263/109/13 -f 297/122/20 250/103/20 213/87/20 -f 290/120/85 26/123/85 298/124/84 -f 301/125/39 170/125/39 169/111/39 -f 273/113/86 302/113/86 166/123/85 -f 305/126/13 306/127/13 298/124/13 -f 309/128/20 285/118/20 239/98/20 -f 310/15/16 32/125/16 31/15/16 -f 311/15/16 170/125/16 301/125/16 -f 306/127/82 29/105/39 291/14/39 -f 314/129/20 265/110/20 220/90/20 -f 310/15/85 31/15/85 30/130/85 -f 316/131/86 317/131/86 172/130/85 -f 39/132/13 318/133/13 22/111/13 -f 318/133/13 23/71/13 22/111/13 -f 18/11/13 319/84/13 19/12/13 -f 319/84/13 39/132/13 19/12/13 -f 152/65/13 321/134/13 211/86/13 -f 227/93/13 323/135/13 232/95/13 -f 177/74/13 249/102/13 58/100/13 -f 218/89/13 326/136/13 264/109/13 -f 237/97/13 328/137/13 284/117/13 -f 49/124/84 303/138/90 298/124/84 -f 48/138/90 304/139/91 303/138/90 -f 284/117/84 287/137/90 283/117/84 -f 328/137/90 288/140/91 287/137/90 -f 38/82/84 196/141/90 189/82/84 -f 37/141/90 197/16/91 196/141/90 -f 211/86/84 245/134/90 210/86/84 -f 321/134/90 246/142/91 245/134/90 -f 232/95/84 260/135/90 231/95/84 -f 323/135/90 261/143/91 260/135/90 -f 249/102/84 277/144/90 248/102/84 -f 324/144/90 278/145/91 277/144/90 -f 264/109/84 292/136/90 263/109/84 -f 326/136/90 293/146/91 292/136/90 -f 42/147/92 330/18/93 329/147/92 -f 41/18/93 268/17/82 330/18/93 -f 23/71/84 206/133/90 173/71/84 -f 318/133/90 207/132/91 206/133/90 -f 36/16/92 198/81/93 197/16/92 -f 320/81/93 151/65/82 198/81/93 -f 35/142/92 247/101/93 246/142/92 -f 322/101/93 226/93/82 247/101/93 -f 68/145/92 279/115/93 278/145/92 -f 325/115/93 217/89/82 279/115/93 -f 67/146/92 294/121/93 293/146/92 -f 327/121/93 236/97/82 294/121/93 -f 66/140/92 289/119/93 288/140/92 -f 65/119/93 253/104/82 289/119/93 -f 44/148/84 331/149/90 315/148/84 -f 43/149/90 329/147/91 331/149/90 -f 39/132/92 208/84/93 207/132/92 -f 319/84/93 186/11/82 208/84/93 -f 34/143/92 262/108/93 261/143/92 -f 33/108/93 176/74/82 262/108/93 -f 47/139/92 305/126/93 304/139/92 -f 46/126/93 306/127/82 305/126/93 -f 330/18/13 268/17/13 315/148/13 -f 168/72/20 332/94/20 169/111/20 -f 332/94/20 333/132/20 169/111/20 -f 162/69/20 185/76/20 190/13/20 -f 153/66/20 234/96/20 336/116/20 -f 178/75/20 251/103/20 339/122/20 -f 241/99/20 276/114/20 78/26/6 -f 212/87/20 266/110/20 353/129/20 -f 354/150/20 286/118/20 355/128/20 -f 146/142/94 202/62/95 201/142/94 -f 145/62/95 203/61/86 202/62/95 -f 187/77/83 228/151/96 188/77/83 -f 334/151/96 229/132/97 228/151/96 -f 153/66/83 200/152/96 154/66/83 -f 335/152/96 201/142/97 200/152/96 -f 178/75/83 280/153/96 179/75/83 -f 338/153/96 281/143/97 280/153/96 -f 219/90/83 312/150/96 220/90/83 -f 354/150/96 313/146/97 312/150/96 -f 254/106/83 270/154/96 255/106/83 -f 349/154/96 271/139/97 270/154/96 -f 351/147/94 357/155/95 356/147/94 -f 350/155/95 316/131/86 357/155/95 -f 340/145/94 297/122/95 296/145/94 -f 339/122/95 250/103/86 297/122/95 -f 212/87/83 295/156/96 213/87/83 -f 342/156/96 296/145/97 295/156/96 -f 343/146/94 314/129/95 313/146/94 -f 353/129/95 265/110/86 314/129/95 -f 344/140/94 309/128/95 308/140/94 -f 355/128/95 285/118/86 309/128/95 -f 238/98/83 307/157/96 239/98/83 -f 345/157/96 308/140/97 307/157/96 -f 299/158/83 358/159/96 300/158/83 -f 352/159/96 356/147/97 358/159/96 -f 183/64/20 209/85/98 191/78/99 -f 337/143/94 282/116/95 281/143/94 -f 336/116/95 233/96/86 282/116/95 -f 333/132/94 230/94/95 229/132/94 -f 332/94/95 174/72/86 230/94/95 -f 193/79/100 341/160/101 359/161/102 -f 341/160/101 191/78/87 359/161/102 -f 348/139/94 272/112/95 271/139/94 -f 347/112/95 273/113/86 272/112/95 -f 357/155/20 316/131/20 300/158/20 -f 209/85/103 194/80/89 195/162/104 -f 209/85/103 148/64/105 360/163/106 -f 142/58/107 363/164/108 361/58/109 -f 87/25/110 3/51/111 2/1/112 -f 365/59/113 363/164/108 366/165/114 -f 128/44/57 346/60/115 102/45/58 -f 127/46/116 367/52/117 128/44/57 -f 361/58/9 127/46/116 104/32/55 -f 103/32/35 361/58/9 104/32/55 -f 363/164/118 368/166/7 369/166/9 -f 25/167/119 4/2/120 370/168/121 -f 88/25/24 136/51/122 371/169/123 -f 367/52/124 366/165/114 372/54/125 -f 86/55/126 364/169/127 87/25/110 -f 369/166/9 366/165/128 363/164/118 -f 366/165/128 140/170/117 372/54/117 -f 372/54/117 371/169/68 374/53/68 -f 139/54/81 364/169/129 373/170/81 -f 376/165/130 373/170/81 375/56/80 -f 368/166/7 376/165/130 375/56/80 -f 138/53/129 370/168/13 364/169/129 -f 370/168/13 3/51/13 364/169/129 -f 377/168/20 374/53/68 371/169/68 -f 377/168/20 136/51/20 135/50/20 -f 137/52/74 376/165/131 143/59/132 -f 346/60/133 377/168/134 167/167/134 -f 86/55/126 375/56/135 373/170/136 -f 89/55/77 371/169/123 140/170/137 -f 90/57/79 369/166/138 91/24/22 -f 143/59/132 362/164/139 142/58/107 -f 50/60/140 370/168/121 138/53/75 -f 91/24/22 368/166/141 92/24/23 -f 85/57/142 368/166/141 375/56/135 -f 367/52/124 374/53/143 346/60/133 -f 167/167/134 135/50/144 79/70/144 -f 2/1/1 3/51/145 4/2/2 -f 6/4/4 7/10/32 8/5/5 -f 10/7/7 11/8/28 12/8/8 -f 13/9/10 14/20/25 15/10/11 -f 21/76/13 17/69/13 20/13/13 -f 17/69/13 18/11/13 20/13/13 -f 32/125/13 22/111/13 23/71/13 -f 1/3/13 25/167/13 26/123/13 -f 1/3/13 26/123/13 27/120/13 -f 32/125/13 23/71/13 24/68/13 -f 29/105/13 30/130/13 28/14/13 -f 30/130/13 31/15/13 28/14/13 -f 31/15/13 32/125/13 24/68/13 -f 24/68/13 1/3/13 31/15/13 -f 1/3/13 27/120/13 28/14/13 -f 68/145/13 33/108/13 34/143/13 -f 34/143/13 35/142/13 42/147/13 -f 35/142/13 36/16/13 41/18/13 -f 34/143/13 42/147/13 51/45/63 -f 66/140/13 67/146/13 51/45/63 -f 67/146/13 68/145/13 51/45/63 -f 68/145/13 34/143/13 51/45/63 -f 61/91/13 62/114/13 52/26/15 -f 62/114/13 63/99/13 52/26/15 -f 58/100/13 59/88/13 52/26/15 -f 59/88/13 60/107/13 52/26/15 -f 60/107/13 61/91/13 52/26/15 -f 56/92/13 57/73/13 52/26/15 -f 57/73/13 58/100/13 52/26/15 -f 54/83/13 55/67/13 1/3/13 -f 55/67/13 56/92/13 1/3/13 -f 1/3/13 56/92/13 52/26/15 -f 21/76/13 53/64/13 1/3/13 -f 53/64/13 54/83/13 1/3/13 -f 24/68/13 17/69/13 1/3/13 -f 17/69/13 21/76/13 1/3/13 -f 26/123/13 25/167/13 49/124/13 -f 25/167/13 50/60/21 49/124/13 -f 48/138/13 49/124/13 50/60/21 -f 47/139/13 48/138/13 50/60/21 -f 51/45/63 52/26/15 64/104/13 -f 52/26/15 63/99/13 64/104/13 -f 47/139/13 50/60/21 42/147/13 -f 50/60/21 51/45/63 42/147/13 -f 51/45/63 64/104/13 65/119/13 -f 51/45/63 65/119/13 66/140/13 -f 30/130/13 29/105/13 44/148/13 -f 29/105/13 45/127/13 44/148/13 -f 44/148/13 45/127/13 43/149/13 -f 45/127/13 46/126/13 43/149/13 -f 42/147/13 35/142/13 41/18/13 -f 43/149/13 46/126/13 47/139/13 -f 42/147/13 43/149/13 47/139/13 -f 38/82/13 20/13/13 19/12/13 -f 39/132/13 22/111/13 40/17/13 -f 38/82/13 19/12/13 37/141/13 -f 19/12/13 39/132/13 40/17/13 -f 37/141/13 19/12/13 36/16/13 -f 19/12/13 40/17/13 36/16/13 -f 16/5/12 15/10/11 69/4/14 -f 52/26/16 71/28/16 78/26/16 -f 71/28/16 72/19/16 77/28/16 -f 78/26/16 71/28/16 77/28/16 -f 72/19/16 13/9/16 76/19/16 -f 80/1/71 2/1/1 1/3/3 -f 1/3/3 52/26/16 78/26/16 -f 13/9/16 16/5/16 75/9/16 -f 79/70/146 80/1/71 1/3/3 -f 78/26/16 79/70/146 1/3/3 -f 72/19/16 76/19/16 77/28/16 -f 75/9/16 76/19/16 13/9/16 -f 70/6/16 73/22/16 74/22/16 -f 16/5/16 70/6/16 8/5/16 -f 8/5/16 75/9/16 16/5/16 -f 70/6/16 74/22/16 5/6/16 -f 76/19/17 75/9/17 81/20/18 -f 74/22/20 83/23/68 6/4/4 -f 73/22/13 70/6/15 69/4/14 -f 92/24/23 85/57/142 86/55/126 -f 86/55/126 87/25/110 92/24/23 -f 87/25/110 2/1/112 88/25/24 -f 92/24/23 87/25/110 88/25/24 -f 2/1/112 80/1/147 88/25/24 -f 88/25/24 89/55/77 91/24/22 -f 89/55/77 90/57/79 91/24/22 -f 72/19/10 93/21/38 14/20/25 -f 52/26/15 51/45/63 94/27/26 -f 95/29/27 96/29/46 12/8/8 -f 97/30/29 98/30/33 99/31/30 -f 7/10/32 81/20/18 75/9/17 -f 97/30/29 96/29/46 95/29/27 -f 101/27/34 102/45/58 78/26/6 -f 103/32/35 104/32/55 105/33/36 -f 82/21/19 101/27/34 77/28/5 -f 105/33/36 100/31/31 99/31/30 -f 71/28/12 94/27/26 93/21/38 -f 9/7/39 107/48/39 108/49/39 -f 108/49/39 83/23/39 9/7/39 -f 83/23/39 74/22/39 84/23/39 -f 9/7/39 83/23/39 84/23/39 -f 74/22/39 73/22/39 84/23/39 -f 84/23/39 109/49/39 10/7/39 -f 109/49/39 110/48/39 10/7/39 -f 98/30/33 95/29/27 111/34/40 -f 111/34/40 113/37/43 114/36/42 -f 113/37/43 15/10/11 14/20/25 -f 95/29/27 11/8/28 115/38/44 -f 115/38/44 116/39/45 113/37/43 -f 116/39/45 69/4/14 15/10/11 -f 96/29/46 117/34/50 118/38/47 -f 118/38/47 117/34/50 119/37/48 -f 120/39/49 119/37/48 7/10/32 -f 97/30/29 121/35/69 117/34/50 -f 117/34/50 121/35/69 122/36/51 -f 119/37/48 122/36/51 81/20/18 -f 105/33/36 123/43/56 124/40/52 -f 124/40/52 123/43/56 125/41/53 -f 126/42/54 125/41/53 101/27/34 -f 104/32/55 127/46/116 123/43/56 -f 123/43/56 127/46/116 128/44/57 -f 125/41/53 128/44/57 102/45/58 -f 103/32/35 106/33/37 129/43/59 -f 129/43/59 131/41/62 132/44/61 -f 131/41/62 94/27/26 51/45/63 -f 106/33/37 99/31/30 133/47/64 -f 133/47/64 134/42/65 131/41/62 -f 134/42/65 93/21/38 94/27/26 -f 9/7/9 12/8/8 118/38/47 -f 118/38/47 120/39/49 108/49/67 -f 120/39/49 6/4/4 83/23/68 -f 100/31/31 124/40/52 121/35/69 -f 121/35/69 124/40/52 126/42/54 -f 122/36/51 126/42/54 82/21/19 -f 10/7/7 110/48/148 115/38/44 -f 115/38/44 110/48/148 109/49/70 -f 116/39/45 109/49/70 84/23/21 -f 99/31/30 98/30/33 112/35/41 -f 112/35/41 114/36/42 134/42/65 -f 114/36/42 14/20/25 93/21/38 -f 80/1/71 79/70/146 135/50/72 -f 137/52/74 50/60/140 138/53/75 -f 89/55/77 140/170/137 141/56/78 -f 142/58/7 103/32/35 130/46/60 -f 130/46/60 132/44/61 137/52/81 -f 132/44/61 51/45/63 50/60/21 -f 145/62/20 146/142/20 147/63/20 -f 147/63/20 148/64/20 144/61/20 -f 148/64/20 149/83/20 144/61/20 -f 150/64/39 151/65/82 152/65/82 -f 154/66/83 155/67/39 156/67/39 -f 157/68/16 158/69/16 17/69/16 -f 160/68/16 161/68/16 162/69/16 -f 172/130/20 163/105/20 164/14/20 -f 165/120/20 166/123/20 79/70/20 -f 166/123/20 167/167/20 79/70/20 -f 171/15/20 172/130/20 164/14/20 -f 170/125/20 171/15/20 161/68/20 -f 171/15/20 164/14/20 79/70/20 -f 164/14/20 165/120/20 79/70/20 -f 161/68/20 168/72/20 170/125/20 -f 168/72/20 169/111/20 170/125/20 -f 173/71/84 157/68/85 24/68/85 -f 174/72/86 168/72/86 161/68/85 -f 175/73/39 176/74/82 177/74/82 -f 179/75/83 180/73/39 181/73/39 -f 182/76/16 150/64/16 53/64/16 -f 184/76/16 185/76/16 148/64/16 -f 158/69/39 186/11/82 18/11/82 -f 188/77/83 159/69/39 162/69/39 -f 20/13/85 38/82/84 189/82/84 -f 189/82/84 182/76/85 20/13/85 -f 192/78/86 190/13/85 191/78/87 -f 190/13/85 185/76/85 184/76/85 -f 193/79/88 195/162/104 194/80/89 -f 151/65/13 150/64/13 182/76/13 -f 182/76/13 189/82/13 151/65/13 -f 189/82/13 196/141/13 198/81/13 -f 196/141/13 197/16/13 198/81/13 -f 203/61/20 199/83/20 155/67/20 -f 155/67/20 154/66/20 203/61/20 -f 154/66/20 200/152/20 202/62/20 -f 200/152/20 201/142/20 202/62/20 -f 204/83/16 205/67/16 55/67/16 -f 199/83/16 149/83/16 156/67/16 -f 186/11/13 158/69/13 157/68/13 -f 157/68/13 173/71/13 186/11/13 -f 173/71/13 206/133/13 208/84/13 -f 206/133/13 207/132/13 208/84/13 -f 148/64/149 147/63/150 209/85/151 -f 147/63/150 193/79/88 195/162/152 -f 209/85/151 147/63/150 195/162/152 -f 204/83/85 54/83/85 211/86/84 -f 203/61/86 144/61/86 149/83/85 -f 213/87/83 214/88/39 215/88/39 -f 216/88/39 217/89/82 218/89/82 -f 220/90/83 221/91/39 222/91/39 -f 223/92/16 175/73/16 57/73/16 -f 224/92/16 225/92/16 181/73/16 -f 205/67/39 226/93/82 227/93/82 -f 174/72/20 160/68/20 159/69/20 -f 159/69/20 188/77/20 174/72/20 -f 188/77/20 228/151/20 230/94/20 -f 228/151/20 229/132/20 230/94/20 -f 223/92/85 56/92/85 232/95/84 -f 233/96/86 234/96/86 225/92/85 -f 235/91/39 236/97/82 237/97/82 -f 239/98/83 240/99/39 241/99/39 -f 242/100/16 216/88/16 59/88/16 -f 243/100/16 244/100/16 215/88/16 -f 226/93/13 205/67/13 204/83/13 -f 204/83/13 210/86/13 226/93/13 -f 210/86/13 245/134/13 247/101/13 -f 245/134/13 246/142/13 247/101/13 -f 242/100/85 58/100/85 249/102/84 -f 250/103/86 251/103/86 244/100/85 -f 252/99/39 253/104/82 64/104/82 -f 164/14/39 163/105/39 256/14/39 -f 163/105/39 254/106/83 255/106/83 -f 257/107/16 235/91/16 61/91/16 -f 258/107/16 259/107/16 222/91/16 -f 176/74/13 175/73/13 223/92/13 -f 223/92/13 231/95/13 176/74/13 -f 231/95/13 260/135/13 262/108/13 -f 260/135/13 261/143/13 262/108/13 -f 257/107/85 60/107/85 264/109/84 -f 265/110/86 266/110/86 259/107/85 -f 22/111/39 32/125/39 267/125/39 -f 267/125/39 268/17/82 22/111/39 -f 273/113/20 269/120/20 256/14/20 -f 256/14/20 255/106/20 273/113/20 -f 255/106/20 270/154/20 272/112/20 -f 270/154/20 271/139/20 272/112/20 -f 274/114/16 252/99/16 63/99/16 -f 275/114/16 276/114/16 241/99/16 -f 217/89/13 216/88/13 242/100/13 -f 242/100/13 248/102/13 217/89/13 -f 248/102/13 277/144/13 279/115/13 -f 277/144/13 278/145/13 279/115/13 -f 233/96/20 224/92/20 180/73/20 -f 180/73/20 179/75/20 233/96/20 -f 179/75/20 280/153/20 282/116/20 -f 280/153/20 281/143/20 282/116/20 -f 274/114/85 62/114/85 284/117/84 -f 285/118/86 286/118/86 276/114/85 -f 253/104/13 252/99/13 274/114/13 -f 274/114/13 283/117/13 253/104/13 -f 283/117/13 287/137/13 289/119/13 -f 287/137/13 288/140/13 289/119/13 -f 290/120/16 291/14/16 28/14/16 -f 269/120/16 165/120/16 164/14/16 -f 236/97/13 235/91/13 257/107/13 -f 257/107/13 263/109/13 236/97/13 -f 263/109/13 292/136/13 294/121/13 -f 292/136/13 293/146/13 294/121/13 -f 250/103/20 243/100/20 214/88/20 -f 214/88/20 213/87/20 250/103/20 -f 213/87/20 295/156/20 297/122/20 -f 295/156/20 296/145/20 297/122/20 -f 27/120/85 26/123/85 290/120/85 -f 26/123/85 49/124/84 298/124/84 -f 169/111/39 299/158/83 300/158/83 -f 300/158/83 301/125/39 169/111/39 -f 166/123/85 165/120/85 269/120/85 -f 269/120/85 273/113/86 166/123/85 -f 306/127/13 291/14/13 290/120/13 -f 290/120/13 298/124/13 306/127/13 -f 298/124/13 303/138/13 305/126/13 -f 303/138/13 304/139/13 305/126/13 -f 285/118/20 275/114/20 240/99/20 -f 240/99/20 239/98/20 285/118/20 -f 239/98/20 307/157/20 309/128/20 -f 307/157/20 308/140/20 309/128/20 -f 310/15/16 267/125/16 32/125/16 -f 311/15/16 171/15/16 170/125/16 -f 45/127/82 29/105/39 306/127/82 -f 29/105/39 28/14/39 291/14/39 -f 265/110/20 258/107/20 221/91/20 -f 221/91/20 220/90/20 265/110/20 -f 220/90/20 312/150/20 314/129/20 -f 312/150/20 313/146/20 314/129/20 -f 44/148/84 315/148/84 30/130/85 -f 315/148/84 310/15/85 30/130/85 -f 172/130/85 171/15/85 311/15/85 -f 311/15/85 316/131/86 172/130/85 -f 320/81/13 36/16/13 35/142/13 -f 320/81/13 35/142/13 321/134/13 -f 54/83/13 53/64/13 152/65/13 -f 152/65/13 320/81/13 321/134/13 -f 211/86/13 54/83/13 152/65/13 -f 322/101/13 35/142/13 34/143/13 -f 322/101/13 34/143/13 323/135/13 -f 56/92/13 55/67/13 227/93/13 -f 227/93/13 322/101/13 323/135/13 -f 232/95/13 56/92/13 227/93/13 -f 177/74/13 33/108/13 324/144/13 -f 33/108/13 68/145/13 324/144/13 -f 58/100/13 57/73/13 177/74/13 -f 177/74/13 324/144/13 249/102/13 -f 325/115/13 68/145/13 67/146/13 -f 325/115/13 67/146/13 326/136/13 -f 60/107/13 59/88/13 218/89/13 -f 218/89/13 325/115/13 326/136/13 -f 264/109/13 60/107/13 218/89/13 -f 327/121/13 67/146/13 66/140/13 -f 327/121/13 66/140/13 328/137/13 -f 62/114/13 61/91/13 237/97/13 -f 237/97/13 327/121/13 328/137/13 -f 284/117/13 62/114/13 237/97/13 -f 49/124/84 48/138/90 303/138/90 -f 48/138/90 47/139/91 304/139/91 -f 284/117/84 328/137/90 287/137/90 -f 328/137/90 66/140/91 288/140/91 -f 38/82/84 37/141/90 196/141/90 -f 37/141/90 36/16/91 197/16/91 -f 211/86/84 321/134/90 245/134/90 -f 321/134/90 35/142/91 246/142/91 -f 232/95/84 323/135/90 260/135/90 -f 323/135/90 34/143/91 261/143/91 -f 249/102/84 324/144/90 277/144/90 -f 324/144/90 68/145/91 278/145/91 -f 264/109/84 326/136/90 292/136/90 -f 326/136/90 67/146/91 293/146/91 -f 42/147/92 41/18/93 330/18/93 -f 41/18/93 40/17/82 268/17/82 -f 23/71/84 318/133/90 206/133/90 -f 318/133/90 39/132/91 207/132/91 -f 36/16/92 320/81/93 198/81/93 -f 320/81/93 152/65/82 151/65/82 -f 35/142/92 322/101/93 247/101/93 -f 322/101/93 227/93/82 226/93/82 -f 68/145/92 325/115/93 279/115/93 -f 325/115/93 218/89/82 217/89/82 -f 67/146/92 327/121/93 294/121/93 -f 327/121/93 237/97/82 236/97/82 -f 66/140/92 65/119/93 289/119/93 -f 65/119/93 64/104/82 253/104/82 -f 44/148/84 43/149/90 331/149/90 -f 43/149/90 42/147/91 329/147/91 -f 39/132/92 319/84/93 208/84/93 -f 319/84/93 18/11/82 186/11/82 -f 34/143/92 33/108/93 262/108/93 -f 33/108/93 177/74/82 176/74/82 -f 47/139/92 46/126/93 305/126/93 -f 46/126/93 45/127/82 306/127/82 -f 268/17/13 267/125/13 310/15/13 -f 310/15/13 315/148/13 268/17/13 -f 315/148/13 331/149/13 330/18/13 -f 331/149/13 329/147/13 330/18/13 -f 190/13/20 334/151/20 187/77/20 -f 187/77/20 162/69/20 190/13/20 -f 337/143/20 335/152/20 336/116/20 -f 335/152/20 153/66/20 336/116/20 -f 153/66/20 156/67/20 225/92/20 -f 153/66/20 225/92/20 234/96/20 -f 340/145/20 338/153/20 339/122/20 -f 338/153/20 178/75/20 339/122/20 -f 178/75/20 181/73/20 244/100/20 -f 178/75/20 244/100/20 251/103/20 -f 333/132/20 334/151/20 147/63/20 -f 334/151/20 190/13/20 192/78/20 -f 334/151/20 192/78/20 341/160/20 -f 299/158/20 169/111/20 333/132/20 -f 299/158/20 333/132/20 147/63/20 -f 334/151/20 341/160/20 147/63/20 -f 352/159/20 299/158/20 147/63/20 -f 351/147/20 352/159/20 146/142/20 -f 352/159/20 147/63/20 146/142/20 -f 146/142/20 335/152/20 337/143/20 -f 351/147/20 146/142/20 337/143/20 -f 337/143/20 338/153/20 340/145/20 -f 340/145/20 342/156/20 343/146/20 -f 340/145/20 343/146/20 102/45/58 -f 343/146/20 344/140/20 102/45/58 -f 340/145/20 102/45/58 337/143/20 -f 351/147/20 337/143/20 102/45/58 -f 163/105/20 172/130/20 317/131/20 -f 254/106/20 163/105/20 317/131/20 -f 254/106/20 317/131/20 350/155/20 -f 349/154/20 254/106/20 350/155/20 -f 349/154/20 350/155/20 351/147/20 -f 348/139/20 349/154/20 351/147/20 -f 167/167/20 166/123/20 302/113/20 -f 161/68/20 79/70/20 162/69/20 -f 79/70/20 78/26/6 225/92/20 -f 162/69/20 79/70/20 185/76/20 -f 148/64/20 185/76/20 79/70/20 -f 148/64/20 79/70/20 149/83/20 -f 346/60/115 167/167/20 302/113/20 -f 346/60/115 302/113/20 347/112/20 -f 149/83/20 79/70/20 156/67/20 -f 225/92/20 156/67/20 79/70/20 -f 346/60/115 347/112/20 348/139/20 -f 346/60/115 348/139/20 351/147/20 -f 215/88/20 244/100/20 78/26/6 -f 244/100/20 181/73/20 78/26/6 -f 181/73/20 225/92/20 78/26/6 -f 102/45/58 346/60/115 351/147/20 -f 276/114/20 222/91/20 78/26/6 -f 222/91/20 259/107/20 78/26/6 -f 259/107/20 215/88/20 78/26/6 -f 102/45/58 344/140/20 345/157/20 -f 102/45/58 345/157/20 238/98/20 -f 102/45/58 238/98/20 78/26/6 -f 238/98/20 241/99/20 78/26/6 -f 343/146/20 342/156/20 353/129/20 -f 342/156/20 212/87/20 353/129/20 -f 212/87/20 215/88/20 259/107/20 -f 212/87/20 259/107/20 266/110/20 -f 219/90/20 222/91/20 276/114/20 -f 219/90/20 276/114/20 286/118/20 -f 344/140/20 343/146/20 354/150/20 -f 354/150/20 219/90/20 286/118/20 -f 355/128/20 344/140/20 354/150/20 -f 146/142/94 145/62/95 202/62/95 -f 145/62/95 144/61/86 203/61/86 -f 187/77/83 334/151/96 228/151/96 -f 334/151/96 333/132/97 229/132/97 -f 153/66/83 335/152/96 200/152/96 -f 335/152/96 146/142/97 201/142/97 -f 178/75/83 338/153/96 280/153/96 -f 338/153/96 337/143/97 281/143/97 -f 219/90/83 354/150/96 312/150/96 -f 354/150/96 343/146/97 313/146/97 -f 254/106/83 349/154/96 270/154/96 -f 349/154/96 348/139/97 271/139/97 -f 351/147/94 350/155/95 357/155/95 -f 350/155/95 317/131/86 316/131/86 -f 340/145/94 339/122/95 297/122/95 -f 339/122/95 251/103/86 250/103/86 -f 212/87/83 342/156/96 295/156/96 -f 342/156/96 340/145/97 296/145/97 -f 343/146/94 353/129/95 314/129/95 -f 353/129/95 266/110/86 265/110/86 -f 344/140/94 355/128/95 309/128/95 -f 355/128/95 286/118/86 285/118/86 -f 238/98/83 345/157/96 307/157/96 -f 345/157/96 344/140/97 308/140/97 -f 299/158/83 352/159/96 358/159/96 -f 352/159/96 351/147/97 356/147/97 -f 209/85/98 195/162/153 359/161/154 -f 195/162/153 193/79/155 359/161/154 -f 359/161/154 191/78/99 209/85/98 -f 191/78/99 184/76/20 183/64/20 -f 337/143/94 336/116/95 282/116/95 -f 336/116/95 234/96/86 233/96/86 -f 333/132/94 332/94/95 230/94/95 -f 332/94/95 168/72/86 174/72/86 -f 193/79/100 147/63/156 341/160/101 -f 341/160/101 192/78/86 191/78/87 -f 348/139/94 347/112/95 272/112/95 -f 347/112/95 302/113/86 273/113/86 -f 316/131/20 311/15/20 301/125/20 -f 301/125/20 300/158/20 316/131/20 -f 300/158/20 358/159/20 357/155/20 -f 358/159/20 356/147/20 357/155/20 -f 209/85/103 360/163/106 194/80/89 -f 209/85/39 183/64/39 148/64/39 -f 142/58/107 362/164/139 363/164/108 -f 87/25/110 364/169/127 3/51/111 -f 365/59/113 361/58/109 363/164/108 -f 128/44/57 367/52/117 346/60/115 -f 127/46/116 365/59/157 367/52/117 -f 361/58/9 365/59/157 127/46/116 -f 103/32/35 142/58/7 361/58/9 -f 363/164/118 362/164/158 368/166/7 -f 25/167/119 1/3/120 4/2/120 -f 88/25/24 80/1/147 136/51/122 -f 367/52/124 365/59/113 366/165/114 -f 86/55/126 373/170/136 364/169/127 -f 369/166/9 141/56/159 366/165/128 -f 366/165/128 141/56/159 140/170/117 -f 372/54/117 140/170/117 371/169/68 -f 139/54/81 138/53/129 364/169/129 -f 376/165/130 139/54/81 373/170/81 -f 368/166/7 362/164/158 376/165/130 -f 370/168/13 4/2/13 3/51/13 -f 377/168/20 371/169/68 136/51/20 -f 137/52/74 139/54/76 376/165/131 -f 346/60/133 374/53/143 377/168/134 -f 86/55/126 85/57/142 375/56/135 -f 89/55/77 88/25/24 371/169/123 -f 90/57/79 141/56/78 369/166/138 -f 143/59/132 376/165/131 362/164/139 -f 50/60/140 25/167/119 370/168/121 -f 91/24/22 369/166/138 368/166/141 -f 85/57/142 92/24/23 368/166/141 -f 367/52/124 372/54/125 374/53/143 -f 167/167/134 377/168/134 135/50/144 -s 0 -f 379/171/85 381/172/85 378/171/85 -f 380/172/160 383/173/160 384/174/160 -f 382/175/39 385/175/39 388/176/39 -f 387/177/161 386/177/161 389/178/161 -f 382/175/20 378/171/20 381/172/20 -f 379/171/13 390/178/13 391/179/13 -f 379/171/85 380/172/85 381/172/85 -f 385/175/16 382/175/16 384/174/16 -f 382/175/16 381/172/16 384/174/16 -f 381/172/16 380/172/16 384/174/16 -f 388/176/39 386/177/39 387/177/39 -f 387/177/39 382/175/39 388/176/39 -f 390/178/161 379/171/161 389/178/161 -f 379/171/161 378/171/161 389/178/161 -f 378/171/161 387/177/161 389/178/161 -f 382/175/20 387/177/20 378/171/20 -f 391/179/13 383/173/13 380/172/13 -f 380/172/13 379/171/13 391/179/13 -s 1 -f 393/180/162 395/181/163 392/182/164 -f 392/182/164 397/183/165 393/180/162 -f 396/184/166 399/185/167 397/183/165 -f 401/186/13 398/187/168 400/188/13 -f 403/189/169 405/190/170 402/191/171 -f 406/192/172 402/191/171 405/190/170 -f 408/193/173 388/176/173 385/175/174 -f 410/188/20 389/178/20 386/177/20 -f 400/188/161 409/186/161 401/186/161 -f 394/194/175 403/189/176 395/181/177 -f 393/180/39 406/192/39 405/190/39 -f 392/182/178 407/195/179 396/184/180 -f 397/183/39 408/193/39 406/192/39 -f 383/173/181 391/179/182 398/187/183 -f 398/187/183 391/179/182 390/178/85 -f 401/186/39 408/193/39 399/185/39 -f 395/181/177 402/191/184 392/182/178 -f 394/194/39 405/190/39 404/196/39 -f 393/180/162 394/194/163 395/181/163 -f 392/182/164 396/184/166 397/183/165 -f 396/184/166 398/187/168 399/185/167 -f 401/186/13 399/185/167 398/187/168 -f 403/189/169 404/196/185 405/190/170 -f 406/192/172 407/195/186 402/191/171 -f 385/175/174 384/174/187 407/195/186 -f 407/195/186 406/192/172 385/175/174 -f 406/192/172 408/193/173 385/175/174 -f 388/176/173 408/193/173 386/177/20 -f 408/193/173 409/186/20 386/177/20 -f 409/186/20 410/188/20 386/177/20 -f 400/188/161 410/188/161 409/186/161 -f 394/194/175 404/196/175 403/189/176 -f 393/180/39 397/183/39 406/192/39 -f 392/182/178 402/191/184 407/195/179 -f 397/183/39 399/185/39 408/193/39 -f 398/187/183 396/184/180 383/173/181 -f 396/184/180 407/195/179 383/173/181 -f 407/195/179 384/174/188 383/173/181 -f 389/178/85 410/188/85 390/178/85 -f 410/188/85 400/188/85 390/178/85 -f 400/188/85 398/187/183 390/178/85 -f 401/186/39 409/186/39 408/193/39 -f 395/181/177 403/189/176 402/191/184 -f 394/194/39 393/180/39 405/190/39 -o Body -v 0.100627 0.078364 0.288131 -v 0.100627 0.190299 0.398224 -v -0.099403 0.190299 0.398224 -v -0.099403 0.078364 0.288131 -v -0.081922 0.078364 0.288131 -v -0.081922 0.188950 0.396897 -v 0.083147 0.188950 0.396897 -v 0.083147 0.078364 0.288131 -v 0.100627 0.190299 0.189154 -v -0.099403 0.190299 0.189154 -v 0.100627 0.078364 0.189154 -v -0.099403 0.078364 0.189154 -v 0.083147 0.078364 0.246637 -v -0.081922 0.078364 0.246637 -v -0.081922 0.188950 0.246637 -v 0.083147 0.188950 0.246637 -v 0.139055 0.234647 1.316254 -v 0.148771 0.234647 1.316254 -v 0.148771 0.312137 1.316254 -v 0.139055 0.312137 1.316254 -v 0.148771 0.312137 0.330263 -v 0.139055 0.312137 0.330263 -v 0.148771 0.234647 0.330263 -v 0.139055 0.234647 0.330263 -v -0.152849 0.339450 1.361672 -v -0.152849 0.236034 1.361672 -v -0.137831 0.236034 1.361672 -v -0.137831 0.339450 1.361672 -v -0.152849 0.339450 0.429618 -v -0.137831 0.339450 0.429618 -v -0.152849 0.236034 0.429618 -v -0.152849 0.339450 0.307960 -v -0.152849 0.236034 0.307960 -v -0.137831 0.236034 0.429618 -v -0.137831 0.236034 0.307960 -v -0.137831 0.339450 0.307960 -v -0.152849 0.470230 0.429618 -v -0.152849 0.470230 0.307960 -v -0.137831 0.470230 0.429618 -v -0.137831 0.470230 0.307960 -v 0.139055 0.184312 0.204392 -v 0.139055 0.062676 0.204784 -v 0.139055 0.064132 0.029043 -v 0.139055 0.474619 0.027466 -v 0.139055 0.474619 0.202227 -v 0.139055 0.408506 0.202227 -v 0.139055 0.386874 0.206744 -v 0.139055 0.371302 0.223773 -v 0.139055 0.367172 0.247428 -v 0.139055 0.408506 0.760419 -v 0.139055 0.474619 0.760419 -v 0.139055 0.474619 1.160748 -v 0.139055 0.476751 1.212867 -v 0.139055 0.523317 1.554436 -v 0.139055 0.470462 1.584164 -v 0.139055 0.182561 1.584164 -v 0.139055 0.367172 0.715218 -v 0.139055 0.371302 0.738873 -v 0.139055 0.386874 0.755902 -v 0.079700 0.592632 1.193615 -v -0.078476 0.592632 1.193615 -v -0.078476 0.587917 1.343072 -v 0.079700 0.587917 1.343072 -v -0.137831 0.182561 1.584164 -v -0.137831 0.470462 1.584164 -v -0.137831 0.523317 1.554436 -v -0.137831 0.476751 1.212867 -v -0.137831 0.474619 1.160748 -v -0.137831 0.474619 0.027466 -v -0.137831 0.064132 0.029043 -v -0.137831 0.062676 0.204784 -v -0.137831 0.184312 0.204392 -v -0.078476 0.568125 1.469775 -v 0.079700 0.568125 1.469775 -v 0.121671 0.555001 1.494572 -v 0.102414 0.564714 1.476220 -v -0.101190 0.564714 1.476220 -v -0.120446 0.555001 1.494572 -v -0.133313 0.540464 1.522038 -v 0.134537 0.540464 1.522038 -v 0.079700 0.592632 0.027466 -v -0.078476 0.592632 0.027466 -v 0.134537 0.519780 1.173326 -v 0.134537 0.519292 1.262694 -v 0.121671 0.558066 1.183989 -v 0.121671 0.555357 1.304936 -v 0.102414 0.583648 1.191113 -v 0.102414 0.579455 1.333161 -v -0.133313 0.519292 1.262694 -v -0.133313 0.519780 1.173326 -v -0.120446 0.555357 1.304936 -v -0.120446 0.558066 1.183989 -v -0.101190 0.579455 1.333161 -v -0.101190 0.583648 1.191113 -v -0.101190 0.583648 0.027466 -v -0.120446 0.558066 0.027466 -v -0.133313 0.519780 0.027466 -v 0.135374 0.511418 0.202227 -v 0.134537 0.519780 0.027466 -v 0.134537 0.519780 0.203973 -v 0.135374 0.511418 0.760419 -v 0.134537 0.519780 0.758673 -v 0.130078 0.533050 0.206744 -v 0.121671 0.558066 0.027466 -v 0.130078 0.533050 0.755902 -v 0.124844 0.548622 0.738873 -v 0.123456 0.552752 0.715218 -v 0.123456 0.552752 0.247428 -v 0.124844 0.548622 0.223773 -v 0.102414 0.583648 0.027466 -v 0.006857 0.386874 0.206744 -v 0.006857 0.371302 0.223773 -v 0.006857 0.371302 0.738873 -v 0.006857 0.386874 0.755902 -v 0.006857 0.367172 0.247428 -v 0.006857 0.367172 0.715218 -v -0.012342 0.524577 0.649440 -v -0.012342 0.510011 0.652482 -v -0.012342 0.409913 0.652482 -v -0.012342 0.395347 0.649440 -v -0.012342 0.395347 0.313206 -v -0.012342 0.409913 0.310165 -v -0.012342 0.510011 0.310165 -v -0.012342 0.524577 0.313206 -v 0.006857 0.533050 0.755902 -v 0.006857 0.511418 0.760419 -v 0.006857 0.408506 0.760419 -v 0.006857 0.548622 0.738873 -v 0.006857 0.408506 0.202227 -v 0.006857 0.552752 0.715218 -v 0.006857 0.548622 0.223773 -v 0.006857 0.533050 0.206744 -v 0.006857 0.552752 0.247428 -v 0.006857 0.511418 0.202227 -v -0.007431 0.376935 0.253872 -v -0.007431 0.376935 0.708774 -v -0.007431 0.378372 0.717005 -v -0.007431 0.389041 0.233974 -v -0.007431 0.408866 0.229835 -v -0.007431 0.378372 0.245641 -v -0.007431 0.511059 0.229835 -v -0.007431 0.530883 0.233974 -v -0.007431 0.541552 0.245641 -v -0.007431 0.541552 0.717005 -v -0.007431 0.530883 0.728672 -v -0.007431 0.389041 0.728672 -v -0.007431 0.408866 0.732811 -v -0.007431 0.511059 0.732811 -v -0.007431 0.542989 0.708774 -v -0.007431 0.542989 0.253872 -v -0.054842 0.212030 1.578045 -v 0.057698 0.212030 1.578045 -v 0.057698 0.212030 0.861955 -v -0.054842 0.212030 0.861955 -v -0.054842 0.203298 1.578045 -v 0.057698 0.203298 1.578045 -v 0.057698 0.027130 1.128281 -v -0.054842 0.027130 1.128281 -v -0.054842 0.065059 1.114436 -v 0.057698 0.065059 1.114436 -v -0.054842 0.065231 1.454635 -v 0.057698 0.065231 1.454635 -v 0.057698 0.118060 1.481781 -v -0.054842 0.118060 1.481781 -v 0.057698 0.168281 1.527702 -v -0.054842 0.168281 1.527702 -v 0.057698 0.202811 0.861955 -v -0.054842 0.202811 0.861955 -v -0.054842 0.044421 1.450844 -v 0.057698 0.044421 1.450844 -v -0.054842 0.121520 1.062335 -v 0.057698 0.121520 1.062335 -v -0.054842 0.167855 0.962640 -v 0.057698 0.167855 0.962640 -v -0.054842 0.124782 1.074680 -v -0.054842 0.065837 1.125464 -v -0.054842 0.116276 1.125464 -v -0.054842 0.139630 1.130869 -v -0.054842 0.141171 1.121683 -v -0.054842 0.127160 1.115880 -v -0.054842 0.117438 1.092410 -v -0.054842 0.150630 1.125601 -v -0.054842 0.159885 1.148853 -v -0.054842 0.171886 1.174411 -v -0.054842 0.174873 1.206501 -v -0.054842 0.174873 1.364767 -v -0.054842 0.171886 1.396858 -v -0.054842 0.159885 1.422416 -v -0.054842 0.139630 1.440399 -v -0.054842 0.116276 1.445804 -v -0.054842 0.065837 1.445804 -v -0.054842 0.127160 1.068940 -v -0.054842 0.150630 1.059218 -v -0.054842 0.174100 1.068940 -v -0.054842 0.183821 1.092410 -v -0.054842 0.174100 1.115880 -v -0.054842 0.003110 1.144751 -v -0.054842 -0.005077 1.181248 -v -0.054842 -0.003671 1.396052 -v -0.054842 0.014101 1.435488 -v -0.054842 0.042483 1.440399 -v -0.054842 0.022228 1.422416 -v -0.054842 0.010226 1.396858 -v -0.054842 0.007240 1.364767 -v -0.054842 0.007240 1.206501 -v -0.054842 0.010226 1.174411 -v -0.054842 0.022228 1.148853 -v -0.054842 0.042483 1.130869 -v 0.057698 -0.005077 1.181248 -v 0.057698 0.003110 1.144751 -v 0.057698 0.014101 1.435488 -v 0.057698 -0.003671 1.396052 -v 0.057698 0.042483 1.440399 -v 0.057698 0.065837 1.445804 -v 0.057698 0.065837 1.125464 -v 0.057698 0.042483 1.130869 -v 0.057698 0.022228 1.148853 -v 0.057698 0.010226 1.174411 -v 0.057698 0.007240 1.206501 -v 0.057698 0.007240 1.364767 -v 0.057698 0.010226 1.396858 -v 0.057698 0.022228 1.422416 -v 0.057698 0.141171 1.121683 -v 0.057698 0.139630 1.130869 -v 0.057698 0.116276 1.125464 -v 0.057698 0.124782 1.074680 -v 0.057698 0.117438 1.092410 -v 0.057698 0.127160 1.115880 -v 0.057698 0.127160 1.068940 -v 0.057698 0.116276 1.445804 -v 0.057698 0.139630 1.440399 -v 0.057698 0.159885 1.422416 -v 0.057698 0.171886 1.396858 -v 0.057698 0.174873 1.364767 -v 0.057698 0.174873 1.206501 -v 0.057698 0.171886 1.174411 -v 0.057698 0.159885 1.148853 -v 0.057698 0.150630 1.125601 -v 0.057698 0.174100 1.115880 -v 0.057698 0.183821 1.092410 -v 0.057698 0.174100 1.068940 -v 0.057698 0.150630 1.059218 -v -0.054925 0.577098 1.092482 -v 0.056150 0.577098 1.092482 -v 0.056150 0.603150 1.092482 -v -0.054925 0.603150 1.092482 -v -0.054925 0.627935 0.448868 -v -0.054925 0.603150 0.448868 -v 0.056150 0.603150 0.448868 -v 0.056150 0.627935 0.448868 -v 0.025312 0.627935 0.448868 -v 0.000612 0.603235 0.448868 -v -0.024087 0.627935 0.448868 -v -0.054925 0.603150 0.419549 -v 0.056150 0.603150 0.419549 -v 0.056150 0.577098 0.419549 -v -0.054925 0.577098 0.419549 -v -0.054925 0.577098 0.448868 -v 0.056150 0.577098 0.448868 -v 0.056150 0.627935 0.419549 -v 0.025312 0.627935 0.419549 -v -0.054925 0.627935 0.419549 -v -0.024087 0.627935 0.419549 -v 0.000612 0.603235 0.419549 -v -0.054357 0.183821 1.092410 -v 0.062757 0.183821 1.092410 -v 0.062757 0.174100 1.068940 -v -0.054357 0.174100 1.068940 -v 0.062757 0.150630 1.059218 -v -0.054357 0.150630 1.059218 -v 0.062757 0.127160 1.068940 -v -0.054357 0.127160 1.068940 -v 0.062757 0.117438 1.092410 -v -0.054357 0.117438 1.092410 -v 0.062757 0.127160 1.115880 -v -0.054357 0.127160 1.115880 -v 0.062757 0.150630 1.125601 -v -0.054357 0.150630 1.125601 -v 0.062757 0.174100 1.115880 -v -0.054357 0.174100 1.115880 -v -0.152938 0.517962 1.538719 -v -0.137431 0.544138 1.539156 -v -0.095064 0.563301 1.539476 -v -0.037191 0.570315 1.539593 -v 0.038415 0.570315 1.539593 -v 0.096289 0.563301 1.539476 -v 0.138655 0.544138 1.539156 -v 0.154162 0.517962 1.538719 -v 0.154162 0.227849 1.533876 -v -0.152938 0.227849 1.533876 -v 0.012483 0.109525 2.094905 -v -0.011259 0.109525 2.094905 -v -0.011259 0.036699 2.150966 -v 0.012483 0.036699 2.150966 -v 0.012483 0.187910 2.023875 -v -0.011259 0.187910 2.023875 -v 0.012483 -0.213929 2.264097 -v 0.012483 -0.203596 2.264255 -v -0.011259 -0.203596 2.264255 -v -0.011259 -0.213929 2.264097 -v 0.013017 0.059583 1.797079 -v -0.011793 0.059583 1.797079 -v -0.011892 0.100282 1.765046 -v 0.013116 0.100282 1.765046 -v -0.088740 0.447951 1.762607 -v -0.077230 0.429221 1.760241 -v -0.014565 0.430912 1.762832 -v -0.023152 0.457644 1.766291 -v 0.012483 0.250853 1.956909 -v 0.012483 0.360493 1.799493 -v -0.011259 0.360493 1.799493 -v -0.011259 0.250853 1.956909 -v 0.012483 -0.130294 2.241662 -v -0.011259 -0.130294 2.241662 -v -0.011259 -0.152255 2.252959 -v 0.012483 -0.152255 2.252959 -v 0.012483 -0.179086 2.261228 -v -0.011259 -0.179086 2.261228 -v 0.012483 0.376760 1.785496 -v -0.011259 0.376760 1.785496 -v -0.111561 -0.183903 1.955881 -v -0.069363 -0.185223 1.935984 -v -0.069363 -0.185223 1.924661 -v -0.111561 -0.183903 1.944557 -v 0.096289 0.462296 1.755752 -v 0.096289 0.501026 1.692113 -v 0.038415 0.485570 1.734405 -v 0.038415 0.470835 1.758670 -v 0.012961 0.021307 1.820971 -v -0.011736 0.021307 1.820971 -v 0.011434 0.413383 1.766037 -v -0.011069 0.413356 1.766043 -v 0.038415 0.510485 1.688728 -v 0.038415 0.535784 1.634369 -v -0.037191 0.535784 1.634369 -v -0.037191 0.510485 1.688728 -v -0.037191 0.485570 1.734405 -v 0.141134 0.380985 1.735899 -v 0.148146 0.393971 1.738122 -v 0.132688 0.425226 1.752230 -v 0.124334 0.410947 1.750383 -v -0.018635 0.194290 1.607360 -v 0.019860 0.194290 1.607360 -v 0.019117 0.188526 1.641579 -v 0.000612 0.188526 1.641579 -v -0.017893 0.188526 1.641579 -v -0.012042 0.132498 1.733455 -v 0.013266 0.132498 1.733455 -v 0.013479 0.155364 1.707226 -v -0.012254 0.155364 1.707226 -v -0.012546 0.174279 1.678132 -v 0.013771 0.174279 1.678132 -v -0.012941 0.187380 1.644519 -v 0.014166 0.187380 1.644519 -v 0.154162 0.195123 1.575692 -v 0.154162 0.194290 1.607360 -v 0.109395 0.194290 1.607360 -v 0.064627 0.194290 1.607360 -v -0.063403 0.194290 1.607360 -v -0.108170 0.194290 1.607360 -v -0.152938 0.194290 1.607360 -v -0.152938 0.195123 1.575692 -v 0.154162 0.410681 1.733274 -v 0.154162 0.397386 1.736517 -v 0.154162 0.234366 1.662416 -v 0.154162 0.507794 1.568848 -v 0.154162 0.489887 1.614762 -v 0.154162 0.465930 1.666237 -v -0.037191 0.554689 1.585895 -v 0.038415 0.554689 1.585895 -v 0.138655 0.488208 1.677482 -v 0.138655 0.440323 1.746489 -v 0.014930 0.428644 1.762824 -v 0.000612 0.429258 1.762496 -v -0.014572 0.188370 1.641979 -v -0.013588 0.187942 1.643078 -v 0.141182 0.232641 1.666578 -v 0.131601 0.357945 1.735431 -v 0.131678 0.228796 1.676320 -v -0.126973 0.223882 1.688855 -v -0.126890 0.339948 1.738139 -v -0.130376 0.357945 1.735431 -v -0.130453 0.228796 1.676320 -v -0.152938 0.465930 1.666237 -v -0.152938 0.410674 1.733283 -v -0.137362 0.440289 1.746708 -v -0.137431 0.488208 1.677482 -v 0.015790 0.430912 1.762832 -v 0.023719 0.457946 1.765303 -v -0.131438 0.425246 1.752361 -v -0.123109 0.410947 1.750383 -v -0.013705 0.428644 1.762824 -v 0.015797 0.188370 1.641979 -v 0.014812 0.187942 1.643078 -v -0.139910 0.380985 1.735899 -v -0.139957 0.232641 1.666578 -v 0.128114 0.339948 1.738139 -v 0.128198 0.223882 1.688855 -v 0.128229 0.146669 1.969466 -v 0.128229 0.207250 1.905013 -v 0.112723 0.232183 1.940354 -v 0.112723 0.170421 2.006064 -v 0.070357 0.245850 1.952473 -v 0.070357 0.183224 2.019103 -v -0.127005 0.207250 1.905013 -v -0.127005 0.146669 1.969466 -v -0.111498 0.170421 2.006064 -v -0.111498 0.232183 1.940354 -v -0.069132 0.183224 2.019103 -v -0.069132 0.245850 1.952473 -v 0.128229 0.071248 2.037810 -v 0.112722 0.093518 2.075751 -v 0.070357 0.105235 2.089773 -v -0.127004 0.071248 2.037810 -v -0.111498 0.093518 2.075751 -v -0.069132 0.105235 2.089773 -v 0.128228 0.001156 2.091766 -v 0.112722 0.022059 2.130760 -v 0.070357 0.032777 2.145552 -v -0.127004 0.001156 2.091767 -v -0.111498 0.022059 2.130760 -v -0.069132 0.032776 2.145552 -v 0.128231 -0.171157 2.206585 -v 0.128228 -0.155841 2.198706 -v 0.112722 -0.143067 2.220184 -v 0.112723 -0.161706 2.229772 -v 0.070357 -0.133717 2.235907 -v 0.070357 -0.154788 2.246746 -v -0.127004 -0.155841 2.198706 -v -0.127006 -0.171157 2.206585 -v -0.111499 -0.161706 2.229772 -v -0.111498 -0.143067 2.220184 -v -0.069132 -0.154788 2.246746 -v -0.069132 -0.133717 2.235907 -v 0.128231 -0.189571 2.212260 -v 0.112723 -0.184328 2.236744 -v 0.070357 -0.180491 2.254668 -v -0.127006 -0.189571 2.212260 -v -0.111499 -0.184328 2.236744 -v -0.069132 -0.180491 2.254668 -v 0.128226 -0.206665 2.214371 -v 0.112721 -0.205130 2.239313 -v 0.070356 -0.204007 2.257572 -v -0.127002 -0.206665 2.214371 -v -0.111497 -0.205130 2.239313 -v -0.069132 -0.204007 2.257572 -v 0.128231 -0.225906 2.215671 -v 0.112723 -0.219918 2.239884 -v 0.070357 -0.215534 2.257609 -v -0.127006 -0.225906 2.215671 -v -0.111499 -0.219918 2.239884 -v -0.069132 -0.215534 2.257609 -v 0.128230 0.324851 1.764352 -v 0.112464 0.374810 1.752502 -v 0.112723 0.342672 1.781922 -v 0.070522 0.377964 1.775645 -v 0.070357 0.355718 1.794785 -v -0.127004 0.324851 1.764352 -v -0.111498 0.342672 1.781922 -v -0.111355 0.374806 1.752502 -v -0.069132 0.355718 1.794785 -v -0.069298 0.377964 1.775645 -v 0.128233 0.088301 1.837957 -v 0.128233 0.046066 1.864320 -v 0.112789 0.033687 1.842645 -v 0.112796 0.073942 1.817518 -v 0.070596 0.024625 1.826778 -v 0.070624 0.063431 1.802556 -v -0.127009 0.046066 1.864320 -v -0.127009 0.088301 1.837957 -v -0.111572 0.073942 1.817518 -v -0.111564 0.033687 1.842645 -v -0.069400 0.063431 1.802556 -v -0.069371 0.024625 1.826778 -v 0.128232 0.133269 1.802565 -v 0.112809 0.116775 1.783805 -v 0.070674 0.104701 1.770073 -v -0.127008 0.133269 1.802565 -v -0.111585 0.116775 1.783805 -v -0.069449 0.104701 1.770073 -v 0.128232 0.168817 1.767706 -v 0.112829 0.150657 1.750581 -v 0.070749 0.137363 1.738044 -v -0.127008 0.168817 1.767706 -v -0.111605 0.150657 1.750581 -v -0.069524 0.137363 1.738044 -v -0.011721 -0.185706 1.928702 -v -0.011721 -0.185706 1.917378 -v -0.127007 -0.182100 1.983060 -v -0.127007 -0.182100 1.971736 -v -0.127006 -0.225399 1.994269 -v -0.127006 0.219480 1.700124 -v -0.127007 0.195273 1.737359 -v 0.128231 0.219481 1.700124 -v 0.128231 0.195273 1.737359 -v 0.112857 0.175319 1.722292 -v 0.112896 0.196880 1.689128 -v 0.070855 0.160711 1.711263 -v 0.071001 0.180335 1.681079 -v -0.111671 0.196880 1.689128 -v -0.111633 0.175319 1.722292 -v -0.069776 0.180335 1.681079 -v -0.069630 0.160711 1.711263 -v -0.152938 0.234366 1.662416 -v -0.134845 0.211446 1.651997 -v -0.123164 0.210034 1.655489 -v -0.085415 0.194668 1.644370 -v -0.077270 0.193829 1.646486 -v 0.069756 0.401689 1.762713 -v -0.152938 0.397386 1.736517 -v -0.152938 0.489887 1.614763 -v -0.152938 0.507794 1.568848 -v 0.090168 0.448031 1.762079 -v 0.078455 0.429221 1.760241 -v -0.146999 0.394115 1.738147 -v -0.036751 0.470543 1.760212 -v 0.138655 0.531241 1.577372 -v 0.138655 0.512836 1.624566 -v 0.096289 0.548406 1.583611 -v 0.096289 0.529635 1.631743 -v -0.137431 0.512836 1.624566 -v -0.137431 0.531241 1.577372 -v -0.095064 0.529635 1.631743 -v -0.095064 0.548406 1.583611 -v 0.096289 0.504516 1.685715 -v -0.095064 0.504516 1.685715 -v -0.095064 0.501026 1.692113 -v 0.136070 0.211446 1.651997 -v 0.086640 0.194668 1.644370 -v 0.124389 0.210034 1.655489 -v 0.078495 0.193829 1.646486 -v -0.068961 0.401675 1.762716 -v 0.116031 0.206608 1.664217 -v 0.073255 0.191655 1.652049 -v 0.112932 0.202101 1.675743 -v 0.071194 0.188741 1.659515 -v -0.114806 0.206608 1.664217 -v -0.111708 0.202101 1.675743 -v -0.072030 0.191655 1.652049 -v -0.069969 0.188741 1.659515 -v 0.115955 0.391463 1.750106 -v 0.073251 0.417340 1.760133 -v -0.094811 0.462186 1.756545 -v -0.114731 0.391463 1.750106 -v -0.072026 0.417340 1.760133 -v 0.012945 -0.185706 1.928702 -v 0.012945 -0.185706 1.917378 -v 0.112786 -0.183903 1.955881 -v 0.128231 -0.182100 1.983060 -v 0.128231 -0.182100 1.971736 -v 0.112786 -0.183903 1.944557 -v 0.070588 -0.185223 1.935984 -v 0.012942 -0.224991 1.937822 -v -0.011718 -0.224991 1.937822 -v 0.128231 -0.225399 1.994269 -v 0.112785 -0.225195 1.966046 -v 0.070586 -0.225046 1.945385 -v 0.070588 -0.185223 1.924661 -v -0.069362 -0.225046 1.945385 -v -0.111560 -0.225195 1.966046 -v 0.123056 0.134956 1.982661 -v 0.123056 0.136958 1.973533 -v 0.123056 0.127921 1.971152 -v 0.123056 0.120445 1.971734 -v 0.123056 -0.181151 2.156088 -v 0.123056 -0.185078 2.162477 -v 0.123056 -0.187080 2.171605 -v 0.123056 -0.178043 2.173986 -v 0.123056 -0.170567 2.173404 -v 0.123056 0.131030 1.989050 -v 0.136146 0.127921 1.971152 -v 0.136146 0.120445 1.971734 -v 0.136146 0.136958 1.973533 -v 0.136146 0.134956 1.982661 -v 0.136146 0.131030 1.989050 -v 0.136145 -0.170567 2.173404 -v 0.136145 -0.178043 2.173986 -v 0.136145 -0.187080 2.171605 -v 0.136145 -0.185078 2.162477 -v 0.136145 -0.181151 2.156088 -v 0.123056 0.130753 1.939820 -v 0.123056 0.132780 1.930677 -v 0.123056 0.123718 1.928312 -v 0.123056 0.116215 1.928909 -v 0.123056 -0.185225 2.113168 -v 0.123056 -0.189178 2.119573 -v 0.123056 -0.191205 2.128717 -v 0.123056 -0.182143 2.131082 -v 0.123056 -0.174640 2.130484 -v 0.123056 0.126799 1.946226 -v 0.136146 0.123718 1.928312 -v 0.136146 0.116215 1.928909 -v 0.136146 0.132780 1.930677 -v 0.136146 0.130753 1.939820 -v 0.136146 0.126799 1.946226 -v 0.136145 -0.174640 2.130484 -v 0.136145 -0.182143 2.131082 -v 0.136145 -0.191205 2.128717 -v 0.136145 -0.189178 2.119573 -v 0.136145 -0.185225 2.113168 -v 0.123056 0.126959 1.849913 -v 0.123056 0.129007 1.840757 -v 0.123056 0.119925 1.838404 -v 0.123056 0.112400 1.839015 -v 0.123056 -0.188916 2.023198 -v 0.123056 -0.192890 2.029616 -v 0.123056 -0.194937 2.038772 -v 0.123056 -0.185855 2.041124 -v 0.123056 -0.178331 2.040514 -v 0.123056 0.122985 1.856331 -v 0.136145 0.119925 1.838404 -v 0.136145 0.112400 1.839015 -v 0.136145 0.129007 1.840757 -v 0.136145 0.126959 1.849913 -v 0.136145 0.122985 1.856331 -v 0.136145 -0.178331 2.040514 -v 0.136145 -0.185855 2.041124 -v 0.136145 -0.194937 2.038772 -v 0.136145 -0.192890 2.029616 -v 0.136145 -0.188916 2.023198 -v 0.123056 0.130504 1.893210 -v 0.123056 0.132552 1.884055 -v 0.123056 0.123470 1.881702 -v 0.123056 0.115945 1.882312 -v 0.123056 -0.185371 2.066495 -v 0.123056 -0.189345 2.072913 -v 0.123056 -0.191392 2.082069 -v 0.123056 -0.182310 2.084422 -v 0.123056 -0.174786 2.083811 -v 0.123056 0.126530 1.899628 -v 0.136145 0.123470 1.881702 -v 0.136145 0.115945 1.882312 -v 0.136145 0.132552 1.884055 -v 0.136145 0.130504 1.893210 -v 0.136145 0.126530 1.899628 -v 0.136145 -0.174786 2.083811 -v 0.136145 -0.182310 2.084422 -v 0.136145 -0.191392 2.082069 -v 0.136145 -0.189345 2.072913 -v 0.136145 -0.185371 2.066495 -v -0.134921 0.134956 1.982661 -v -0.134921 0.136958 1.973533 -v -0.134921 0.127921 1.971152 -v -0.134921 0.120445 1.971734 -v -0.134921 -0.181151 2.156088 -v -0.134921 -0.185078 2.162477 -v -0.134921 -0.187080 2.171605 -v -0.134921 -0.178043 2.173986 -v -0.134921 -0.170567 2.173404 -v -0.134921 0.131030 1.989050 -v -0.121832 0.127921 1.971152 -v -0.121832 0.120445 1.971734 -v -0.121832 0.136958 1.973533 -v -0.121832 0.134956 1.982661 -v -0.121832 0.131030 1.989050 -v -0.121832 -0.170567 2.173404 -v -0.121832 -0.178043 2.173986 -v -0.121832 -0.187080 2.171605 -v -0.121832 -0.185078 2.162477 -v -0.121832 -0.181151 2.156088 -v -0.134921 0.130753 1.939820 -v -0.134921 0.132780 1.930677 -v -0.134921 0.123718 1.928312 -v -0.134921 0.116215 1.928909 -v -0.134921 -0.185225 2.113168 -v -0.134921 -0.189178 2.119573 -v -0.134921 -0.191205 2.128717 -v -0.134921 -0.182143 2.131082 -v -0.134921 -0.174640 2.130484 -v -0.134921 0.126800 1.946226 -v -0.121832 0.123718 1.928312 -v -0.121832 0.116215 1.928909 -v -0.121832 0.132780 1.930677 -v -0.121832 0.130753 1.939820 -v -0.121832 0.126800 1.946226 -v -0.121832 -0.174640 2.130484 -v -0.121832 -0.182143 2.131082 -v -0.121832 -0.191205 2.128717 -v -0.121832 -0.189178 2.119573 -v -0.121832 -0.185225 2.113168 -v -0.134921 0.126959 1.849913 -v -0.134921 0.129007 1.840757 -v -0.134921 0.119925 1.838404 -v -0.134921 0.112400 1.839015 -v -0.134921 -0.188916 2.023198 -v -0.134921 -0.192890 2.029616 -v -0.134921 -0.194937 2.038772 -v -0.134921 -0.185855 2.041124 -v -0.134921 -0.178331 2.040514 -v -0.134921 0.122985 1.856331 -v -0.121832 0.119925 1.838404 -v -0.121832 0.112400 1.839015 -v -0.121832 0.129007 1.840757 -v -0.121832 0.126959 1.849913 -v -0.121832 0.122985 1.856331 -v -0.121832 -0.178331 2.040514 -v -0.121832 -0.185855 2.041124 -v -0.121832 -0.194937 2.038772 -v -0.121832 -0.192890 2.029616 -v -0.121832 -0.188916 2.023198 -v -0.134921 0.130504 1.893210 -v -0.134921 0.132552 1.884055 -v -0.134921 0.123470 1.881702 -v -0.134921 0.115945 1.882312 -v -0.134921 -0.185371 2.066495 -v -0.134921 -0.189345 2.072913 -v -0.134921 -0.191392 2.082069 -v -0.134921 -0.182310 2.084422 -v -0.134921 -0.174786 2.083811 -v -0.134921 0.126530 1.899628 -v -0.121832 0.123470 1.881702 -v -0.121832 0.115945 1.882312 -v -0.121832 0.132552 1.884055 -v -0.121832 0.130504 1.893210 -v -0.121832 0.126530 1.899628 -v -0.121832 -0.174786 2.083811 -v -0.121832 -0.182310 2.084422 -v -0.121832 -0.191392 2.082069 -v -0.121832 -0.189345 2.072913 -v -0.121832 -0.185371 2.066495 -v 0.000612 0.577354 -1.870045 -v 0.000612 0.577354 -2.097808 -v -0.089839 0.539888 -2.097808 -v -0.089839 0.539888 -1.870045 -v -0.127305 0.449436 -2.097808 -v -0.127305 0.449436 -1.870045 -v -0.089839 0.358985 -2.097808 -v -0.089839 0.358985 -1.870045 -v 0.000612 0.321519 -2.097808 -v 0.000612 0.321519 -1.870045 -v 0.091064 0.358985 -2.097808 -v 0.091064 0.358985 -1.870045 -v 0.128530 0.449436 -2.097808 -v 0.128530 0.449436 -1.870045 -v 0.074804 0.523628 -2.097808 -v 0.091064 0.539888 -2.097808 -v 0.000612 0.344513 -2.097808 -v 0.074804 0.375244 -2.097808 -v 0.105535 0.449436 -2.097808 -v 0.000612 0.554359 -2.097808 -v -0.073580 0.523628 -2.097808 -v -0.104311 0.449436 -2.097808 -v -0.073580 0.375244 -2.097808 -v 0.091064 0.539888 -1.870045 -v 0.000612 0.344513 -1.870045 -v 0.074804 0.523628 -1.870045 -v 0.105535 0.449436 -1.870045 -v 0.074804 0.375244 -1.870045 -v -0.073580 0.375244 -1.870045 -v -0.104311 0.449436 -1.870045 -v -0.073580 0.523628 -1.870045 -v 0.000612 0.554359 -1.870045 -v -0.008405 0.611074 -1.745492 -v 0.008405 0.611074 -1.745492 -v 0.000000 0.626074 -1.745492 -v -0.025216 0.523926 -1.548361 -v -0.025216 0.546074 -1.548361 -v -0.025216 0.596074 -1.745492 -v -0.025216 0.596074 -1.851639 -v -0.025216 0.523926 -1.851639 -v -0.025216 0.523926 -1.745492 -v -0.008405 0.611074 -1.851639 -v 0.000000 0.626074 -1.851639 -v 0.008405 0.596074 -1.745492 -v 0.008405 0.596074 -1.851639 -v 0.008405 0.611074 -1.851639 -v 0.025216 0.596074 -1.745492 -v 0.025216 0.596074 -1.851639 -v -0.008405 0.596074 -1.745492 -v 0.025216 0.523926 -1.851639 -v 0.025216 0.546074 -1.548361 -v 0.025216 0.523926 -1.548361 -v 0.025216 0.523926 -1.745492 -v -0.008405 0.596074 -1.851639 -v 0.000612 0.567105 0.093059 -v 0.000612 0.567105 -1.906941 -v -0.082592 0.532640 -1.906941 -v -0.082592 0.532640 0.093059 -v -0.117056 0.449436 -1.906941 -v -0.117056 0.449436 0.093059 -v -0.082592 0.366232 -1.906941 -v -0.082592 0.366232 0.093059 -v 0.000612 0.331768 -1.906941 -v 0.000612 0.331768 0.093059 -v 0.083817 0.366232 -1.906941 -v 0.083816 0.366232 0.093059 -v 0.118281 0.449436 -1.906941 -v 0.118281 0.449436 0.093059 -v 0.083817 0.532640 -1.906941 -v 0.083816 0.532640 0.093059 -v 0.000612 0.577354 -1.646873 -v 0.000612 0.577354 -1.749518 -v -0.089839 0.539888 -1.749518 -v -0.089839 0.539888 -1.646873 -v -0.127305 0.449436 -1.749518 -v -0.127305 0.449436 -1.646873 -v -0.089839 0.358985 -1.749518 -v -0.089839 0.358985 -1.646873 -v 0.000612 0.321519 -1.749518 -v 0.000612 0.321519 -1.646873 -v 0.091064 0.358985 -1.749518 -v 0.091064 0.358985 -1.646873 -v 0.128530 0.449436 -1.749518 -v 0.128530 0.449436 -1.646873 -v 0.091064 0.539888 -1.749518 -v 0.091064 0.539888 -1.646873 -v 0.000612 0.315957 -1.669013 -v 0.000612 0.315957 -1.750267 -v -0.088663 0.278978 -1.750267 -v -0.088663 0.278978 -1.669013 -v -0.125642 0.189702 -1.750267 -v -0.125642 0.189702 -1.669013 -v -0.088663 0.100427 -1.750267 -v -0.088663 0.100427 -1.669013 -v 0.000612 0.063448 -1.750267 -v 0.000612 0.063448 -1.669013 -v 0.089888 0.100427 -1.750267 -v 0.089888 0.100427 -1.669013 -v 0.126867 0.189702 -1.750267 -v 0.126867 0.189702 -1.669013 -v 0.089888 0.278978 -1.750267 -v 0.089888 0.278978 -1.669013 -v 0.000612 0.307371 0.200670 -v 0.000612 0.307371 -1.799330 -v -0.082592 0.272907 -1.799330 -v -0.082592 0.272906 0.200670 -v -0.117056 0.189702 -1.799330 -v -0.117056 0.189702 0.200670 -v -0.082592 0.106498 -1.799330 -v -0.082592 0.106498 0.200670 -v 0.000612 0.072034 -1.799330 -v 0.000612 0.072034 0.200670 -v 0.083817 0.106498 -1.799330 -v 0.083816 0.106498 0.200670 -v 0.118281 0.189702 -1.799330 -v 0.118281 0.189702 0.200670 -v 0.083817 0.272906 -1.799330 -v 0.083816 0.272906 0.200670 -v 0.000612 0.315957 -1.793664 -v 0.000612 0.315957 -1.874918 -v -0.088663 0.278978 -1.874919 -v -0.088663 0.278978 -1.793664 -v -0.125642 0.189702 -1.874919 -v -0.125642 0.189702 -1.793664 -v -0.088663 0.100427 -1.874919 -v -0.088663 0.100427 -1.793664 -v 0.000612 0.063448 -1.874919 -v 0.000612 0.063448 -1.793664 -v 0.089888 0.100427 -1.874918 -v 0.089888 0.100427 -1.793664 -v 0.126867 0.189702 -1.874918 -v 0.126867 0.189702 -1.793664 -v 0.089888 0.278978 -1.874918 -v 0.089888 0.278978 -1.793664 -v -0.011919 0.284738 -1.702443 -v 0.013144 0.284738 -1.702443 -v 0.013144 0.395269 -1.702443 -v -0.011919 0.395269 -1.702443 -v 0.013144 0.395269 -1.749322 -v -0.011919 0.395269 -1.749322 -v 0.013144 0.284738 -1.749322 -v -0.011919 0.284738 -1.749322 -vn -0.0000 -0.7012 0.7129 -vn -0.0000 1.0000 -0.0000 -vn -0.0000 -0.0000 -1.0000 -vn -0.0000 -1.0000 -0.0000 -vn -1.0000 -0.0000 -0.0000 -vn 1.0000 -0.0000 -0.0000 -vn -0.0000 -0.0000 1.0000 -vn -0.0000 -0.7013 0.7129 -vn 0.9988 0.0499 -0.0000 -vn -0.1873 0.9822 0.0155 -vn 0.1821 0.9796 0.0845 -vn 0.1873 0.9822 0.0155 -vn -0.9988 0.0499 -0.0000 -vn -0.0000 0.2534 0.9674 -vn -0.1821 0.9796 0.0845 -vn 0.0314 0.9534 0.3001 -vn -0.0000 0.7077 0.7065 -vn -0.0314 0.9534 0.3001 -vn -0.1872 0.9823 -0.0000 -vn 0.9986 0.0523 -0.0020 -vn 0.9774 0.2113 -0.0002 -vn 0.9736 0.2284 -0.0051 -vn 0.8843 0.4669 0.0039 -vn 0.8767 0.4808 0.0146 -vn 0.6055 0.7958 0.0108 -vn 0.6093 0.7911 0.0535 -vn -0.9986 0.0523 -0.0020 -vn -0.9774 0.2113 -0.0002 -vn -0.9988 0.0494 -0.0008 -vn -0.9736 0.2284 -0.0051 -vn -0.8843 0.4669 0.0039 -vn -0.8767 0.4808 0.0146 -vn -0.6055 0.7958 0.0108 -vn -0.6093 0.7911 0.0535 -vn 0.9987 0.0502 -0.0044 -vn 0.9511 0.3078 -0.0251 -vn 0.4449 0.8687 0.2179 -vn 0.2201 0.9452 0.2412 -vn -0.9987 0.0502 -0.0044 -vn -0.4449 0.8687 0.2179 -vn -0.2201 0.9452 0.2412 -vn -0.6061 0.7954 -0.0000 -vn -0.8848 0.4660 -0.0000 -vn -0.9776 0.2104 -0.0000 -vn 0.9776 0.2104 -0.0000 -vn 0.9745 0.2244 -0.0000 -vn 0.9950 0.0996 -0.0000 -vn 0.9988 0.0494 -0.0008 -vn 0.9988 0.0498 -0.0000 -vn 0.9479 0.3184 -0.0000 -vn 0.8848 0.4660 -0.0000 -vn 0.6061 0.7954 -0.0000 -vn 0.1872 0.9823 -0.0000 -vn -0.0000 -0.0020 -1.0000 -vn -0.0000 -1.0000 -0.0083 -vn -0.0000 -1.0000 -0.0013 -vn -0.0000 0.0032 1.0000 -vn 0.4025 0.8068 0.4324 -vn -0.0000 0.4951 0.8688 -vn 0.4662 0.4241 0.7764 -vn 0.4025 0.8068 -0.4324 -vn -0.0000 0.4951 -0.8688 -vn -0.0000 0.8975 -0.4411 -vn 0.3039 0.9485 -0.0890 -vn -0.0000 0.9963 0.0863 -vn 0.3040 0.9485 0.0890 -vn -0.0000 0.9963 -0.0863 -vn 0.9995 0.0036 0.0325 -vn 0.9995 -0.0036 0.0325 -vn 0.9995 0.0036 -0.0325 -vn -0.0000 0.8975 0.4411 -vn -0.0000 -0.4476 -0.8942 -vn -0.0000 -0.0963 -0.9954 -vn -0.0000 -0.1027 -0.9947 -vn -0.0000 0.1027 -0.9947 -vn 0.4662 -0.4241 -0.7764 -vn -0.0000 -0.8863 -0.4632 -vn -0.0000 0.1027 0.9947 -vn 0.4025 -0.8068 -0.4324 -vn -0.0000 -0.9961 -0.0879 -vn 0.4662 -0.4241 0.7764 -vn -0.0000 -0.8863 0.4632 -vn 0.4025 -0.8068 0.4324 -vn 0.3040 -0.9485 -0.0890 -vn -0.0000 -0.9961 0.0879 -vn 0.4662 0.4241 -0.7764 -vn -0.0000 -0.0963 0.9954 -vn 0.0001 -0.2044 0.9789 -vn -0.0000 -0.4476 0.8942 -vn 0.8348 0.5487 0.0451 -vn 0.8348 0.5487 -0.0451 -vn 0.9922 0.1234 -0.0159 -vn 0.8733 0.4595 -0.1616 -vn 0.9392 0.1950 0.2826 -vn 0.9601 0.0300 0.2780 -vn 0.8874 0.0451 0.4587 -vn 0.8733 0.4595 0.1616 -vn 0.9922 0.1234 0.0159 -vn 0.8874 -0.0451 0.4587 -vn 0.9922 -0.1234 0.0159 -vn 0.9392 -0.1950 0.2826 -vn 0.8733 -0.4595 0.1616 -vn 0.9922 -0.1234 -0.0159 -vn 0.8733 -0.4595 -0.1616 -vn 0.9392 -0.1950 -0.2826 -vn 0.9601 0.0300 -0.2780 -vn 0.8874 0.0451 -0.4587 -vn 0.9392 0.1950 -0.2826 -vn 0.9995 -0.0036 -0.0325 -vn 0.8874 -0.0451 -0.4587 -vn 0.8348 -0.5487 0.0451 -vn 0.3040 -0.9485 0.0890 -vn 0.8348 -0.5487 -0.0451 -vn 0.9601 -0.0300 -0.2780 -vn 0.9601 -0.0300 0.2780 -vn -0.0000 0.8838 0.4678 -vn -0.9511 0.3078 -0.0251 -vn 0.9479 0.3186 -0.0000 -vn -0.0000 -0.0038 -1.0000 -vn 0.0001 -0.2044 -0.9789 -vn -0.0000 -0.1027 0.9947 -vn -0.0000 -0.4631 0.8863 -vn -0.0000 -0.4578 -0.8891 -vn -0.0000 -0.5207 -0.8538 -vn -0.0000 -0.3216 0.9469 -vn -0.0000 -0.5710 0.8210 -vn -0.0000 -0.7525 0.6586 -vn -0.0000 -0.3188 0.9478 -vn -0.0000 -0.8078 -0.5894 -vn -0.0000 -0.9269 -0.3752 -vn -0.0000 -0.9447 -0.3280 -vn -0.0000 -0.9943 -0.1069 -vn -0.0000 -0.8280 -0.5607 -vn -0.0000 -0.7230 0.6909 -vn -0.0000 -0.9770 0.2133 -vn -0.0000 0.1135 0.9935 -vn -0.0000 -0.1135 0.9935 -vn -0.0000 0.1135 -0.9935 -vn -0.0000 -0.1135 -0.9935 -vn -0.0000 0.9989 -0.0464 -vn -0.0000 0.9989 0.0464 -vn -0.0000 -0.9989 -0.0464 -vn -0.0000 -0.9989 0.0464 -vn -0.0000 0.9649 -0.2628 -vn -0.0000 0.8010 -0.5987 -vn -0.0000 0.4589 -0.8885 -vn -0.0000 -0.9649 -0.2628 -vn -0.0000 -0.8010 -0.5987 -vn -0.0000 -0.4589 -0.8885 -vn -0.0000 -0.4589 0.8885 -vn -0.0000 -0.8010 0.5987 -vn -0.0000 -0.9649 0.2628 -vn -0.0000 0.9649 0.2628 -vn -0.0000 0.8010 0.5987 -vn -0.0000 0.4589 0.8885 -vn -0.0000 -0.7071 0.7071 -vn -0.0000 0.7071 0.7071 -vn -0.0000 0.9239 0.3827 -vn -0.0000 0.7071 -0.7071 -vn -0.0000 0.3827 -0.9239 -vn -0.0000 -0.7071 -0.7071 -vn -0.0000 0.0004 1.0000 -vn -0.7071 0.7071 -0.0000 -vn 0.7071 0.7071 -0.0000 -vn -0.0000 -0.4305 -0.9026 -vn -0.0000 0.0167 -0.9999 -vn -0.0574 0.6402 0.7661 -vn 0.0572 0.5446 0.8368 -vn 0.0574 0.6402 0.7661 -vn -0.0574 0.6995 0.7123 -vn 0.0574 0.6995 0.7123 -vn 0.0574 0.0537 0.9969 -vn -0.0577 -0.0141 0.9982 -vn 0.0577 -0.0141 0.9982 -vn -0.0579 -0.5739 -0.8168 -vn 0.0579 -0.6593 -0.7497 -vn 0.0579 -0.5739 -0.8168 -vn -0.0934 -0.1209 0.9883 -vn -0.0163 0.1563 0.9876 -vn -0.1627 0.0858 0.9829 -vn 0.0579 0.7412 0.6688 -vn -0.0573 0.7753 0.6289 -vn 0.0573 0.7753 0.6289 -vn -0.0574 0.4666 0.8826 -vn 0.0575 0.3768 0.9245 -vn 0.0574 0.4666 0.8826 -vn -0.0575 0.2090 0.9762 -vn 0.0575 0.2090 0.9762 -vn -0.0647 0.5671 0.8211 -vn 0.0650 0.5676 0.8208 -vn -0.0575 0.3768 0.9245 -vn 0.0217 0.9998 -0.0000 -vn 0.0487 0.9988 -0.0000 -vn 0.0905 0.9959 -0.0000 -vn 0.2983 0.6040 0.7390 -vn 0.0701 0.8620 0.5021 -vn 0.0815 0.6577 0.7488 -vn -0.0578 -0.4952 -0.8669 -vn 0.0578 -0.4952 -0.8669 -vn 0.0531 0.3315 0.9420 -vn 0.0574 0.9181 0.3922 -vn -0.0574 0.8912 0.4499 -vn 0.0574 0.8912 0.4499 -vn -0.0693 0.8655 0.4961 -vn 0.3900 -0.2315 0.8913 -vn 0.2335 -0.1990 0.9518 -vn 0.4280 -0.2964 0.8538 -vn -0.0000 -0.9953 -0.0964 -vn 0.0442 -0.9989 0.0174 -vn -0.0000 -0.9640 -0.2660 -vn -0.0579 -0.7265 -0.6848 -vn 0.0579 -0.7265 -0.6848 -vn -0.0582 -0.7969 -0.6013 -vn 0.0587 -0.8884 -0.4553 -vn 0.0582 -0.7969 -0.6013 -vn -0.0587 -0.8884 -0.4553 -vn -0.0490 -0.9343 -0.3532 -vn -0.0215 -0.9990 -0.0391 -vn -0.0518 -0.9952 0.0831 -vn -0.0000 -0.9410 -0.3384 -vn 0.9601 0.2571 0.1098 -vn 0.9575 0.2485 0.1465 -vn -0.0574 0.9383 0.3411 -vn 0.0568 0.9460 0.3192 -vn -0.0568 0.9460 0.3192 -vn 0.0574 0.9383 0.3411 -vn -0.0574 0.9181 0.3922 -vn 0.6494 0.3940 0.6504 -vn 0.9093 0.0917 0.4058 -vn 0.0227 0.0897 0.9957 -vn 0.0042 0.0527 0.9986 -vn -0.0389 -0.9472 -0.3182 -vn -0.0443 -0.9989 0.0170 -vn -0.0479 -0.9400 -0.3379 -vn 0.5035 -0.5061 0.7002 -vn 0.6880 -0.1719 0.7051 -vn 0.8338 -0.4425 0.3300 -vn -0.9537 0.0402 0.2979 -vn -0.8338 -0.4425 0.3300 -vn -0.9515 -0.3076 0.0061 -vn -0.0522 0.3304 0.9424 -vn -0.9575 0.2485 0.1465 -vn -0.6508 0.3924 0.6500 -vn -0.6471 0.6627 0.3770 -vn 0.0129 -0.0540 0.9985 -vn 0.0341 0.1762 0.9838 -vn -0.2325 -0.2039 0.9510 -vn -0.3995 -0.0443 0.9157 -vn -0.0200 0.0932 0.9954 -vn -0.0139 -0.0740 0.9972 -vn 0.0389 -0.9473 -0.3181 -vn 0.0479 -0.9400 -0.3379 -vn 0.0490 -0.9343 -0.3532 -vn -0.6888 -0.1718 0.7043 -vn -0.5035 -0.5061 0.7002 -vn 0.9536 0.0407 0.2983 -vn 0.9515 -0.3076 0.0061 -vn 0.9841 0.1250 0.1261 -vn 0.7159 0.5412 0.4411 -vn 0.7228 0.4835 0.4936 -vn 0.2562 0.7506 0.6091 -vn 0.2573 0.6771 0.6895 -vn -0.9841 0.1250 0.1261 -vn -0.7159 0.5412 0.4411 -vn -0.9826 0.1450 0.1162 -vn -0.7228 0.4835 0.4936 -vn -0.2562 0.7506 0.6091 -vn -0.2573 0.6771 0.6895 -vn 0.9845 0.1128 0.1339 -vn 0.7244 0.4415 0.5294 -vn 0.2573 0.6197 0.7415 -vn -0.9845 0.1128 0.1339 -vn -0.7244 0.4415 0.5294 -vn 0.9851 0.1014 0.1393 -vn 0.7168 0.3857 0.5809 -vn 0.2560 0.5273 0.8102 -vn -0.9851 0.1014 0.1393 -vn -0.2560 0.5273 0.8102 -vn -0.2573 0.6197 0.7415 -vn -0.0572 0.5446 0.8368 -vn 0.9578 0.1085 0.2661 -vn 0.6516 0.3542 0.6708 -vn 0.6454 0.2883 0.7073 -vn 0.2578 0.4513 0.8543 -vn 0.2569 0.3648 0.8950 -vn -0.9578 0.1085 0.2661 -vn -0.6516 0.3542 0.6708 -vn -0.9611 0.1301 0.2436 -vn -0.6454 0.2883 0.7073 -vn -0.2578 0.4513 0.8543 -vn -0.2569 0.3648 0.8950 -vn 0.6454 0.1599 0.7469 -vn 0.9579 0.0600 0.2808 -vn 0.2569 0.2023 0.9450 -vn -0.6454 0.1599 0.7469 -vn 0.6477 0.0601 0.7595 -vn 0.9600 0.0256 0.2788 -vn 0.2564 0.0603 0.9647 -vn -0.9579 0.0600 0.2808 -vn -0.6477 0.0601 0.7595 -vn -0.2564 0.0603 0.9647 -vn -0.2569 0.2023 0.9450 -vn -0.0574 0.0537 0.9969 -vn 0.6675 0.0320 0.7440 -vn 0.9628 0.0185 0.2698 -vn 0.2612 0.0064 0.9653 -vn -0.9600 0.0256 0.2788 -vn -0.6675 0.0320 0.7440 -vn -0.2612 0.0063 0.9653 -vn 0.9611 0.1301 0.2435 -vn -0.7168 0.3857 0.5809 -vn 0.6854 0.5529 0.4738 -vn 0.9566 0.2413 0.1631 -vn 0.2872 0.5540 0.7814 -vn 0.2613 0.7162 0.6471 -vn -0.6854 0.5525 0.4743 -vn -0.6136 0.2304 0.7553 -vn -0.2865 0.5522 0.7829 -vn -0.2613 0.7162 0.6471 -vn 0.9826 0.1450 0.1162 -vn -0.9566 0.2413 0.1631 -vn -0.0579 0.7412 0.6688 -vn 0.9637 -0.1325 -0.2320 -vn 0.6594 -0.4323 -0.6151 -vn 0.9644 -0.1520 -0.2163 -vn 0.6576 -0.3737 -0.6542 -vn 0.2606 -0.5551 -0.7899 -vn 0.2600 -0.4790 -0.8384 -vn -0.9636 -0.1325 -0.2320 -vn -0.6594 -0.4323 -0.6151 -vn -0.6576 -0.3737 -0.6542 -vn -0.2607 -0.5551 -0.7899 -vn -0.2600 -0.4790 -0.8384 -vn 0.6597 -0.4963 -0.5643 -vn 0.9645 -0.1745 -0.1985 -vn 0.2609 -0.6376 -0.7248 -vn -0.9644 -0.1520 -0.2163 -vn -0.6597 -0.4963 -0.5643 -vn -0.2609 -0.6376 -0.7248 -vn -0.0579 -0.6593 -0.7497 -vn 0.9638 -0.1940 -0.1828 -vn 0.6584 -0.5479 -0.5160 -vn 0.2606 -0.7028 -0.6619 -vn -0.9638 -0.1940 -0.1828 -vn -0.9645 -0.1745 -0.1985 -vn -0.6584 -0.5479 -0.5160 -vn 0.0044 1.0000 -0.0000 -vn 0.0175 0.9998 -0.0000 -vn -0.6906 -0.3339 -0.6416 -vn -0.9948 -0.0472 -0.0906 -vn -0.2686 -0.4447 -0.8545 -vn -0.0586 -0.4608 -0.8855 -vn 0.9654 -0.2081 -0.1570 -vn 0.6680 -0.6623 -0.3393 -vn 0.9672 -0.2254 -0.1170 -vn 0.6625 -0.5981 -0.4509 -vn 0.2646 -0.8585 -0.4392 -vn 0.2621 -0.7707 -0.5808 -vn -0.9654 -0.2081 -0.1570 -vn -0.6680 -0.6623 -0.3393 -vn -0.6625 -0.5981 -0.4509 -vn -0.2646 -0.8585 -0.4392 -vn -0.2621 -0.7707 -0.5808 -vn -0.3495 -0.7657 0.5400 -vn -0.4005 -0.8182 0.4124 -vn -0.1705 -0.9565 0.2368 -vn -0.1920 -0.9808 -0.0355 -vn -0.2606 -0.7028 -0.6619 -vn 0.2303 0.2823 0.9313 -vn 0.6115 0.2306 0.7569 -vn 0.1607 0.1057 0.9813 -vn 0.0945 -0.1055 0.9899 -vn -0.3912 -0.2301 0.8911 -vn -0.0768 0.6528 0.7537 -vn 0.6503 0.7140 0.2595 -vn 0.6496 0.6992 0.2987 -vn 0.2575 0.9081 0.3301 -vn 0.2574 0.8886 0.3796 -vn -0.9601 0.2571 0.1098 -vn -0.6503 0.7140 0.2595 -vn -0.9605 0.2615 0.0951 -vn -0.6496 0.6992 0.2987 -vn -0.2575 0.9081 0.3301 -vn -0.2574 0.8886 0.3796 -vn 0.6470 0.6627 0.3772 -vn 0.2574 0.8626 0.4355 -vn 0.2735 0.8303 0.4856 -vn -0.2735 0.8307 0.4849 -vn -0.2574 0.8626 0.4355 -vn -0.2504 0.9173 0.3096 -vn -0.6210 0.7427 0.2506 -vn -0.9457 0.3079 0.1039 -vn 0.9457 0.3079 0.1039 -vn 0.9605 0.2615 0.0951 -vn 0.6210 0.7427 0.2506 -vn 0.2504 0.9173 0.3096 -vn 0.0818 -0.9767 0.1982 -vn 0.3495 -0.7657 0.5400 -vn 0.0518 -0.9952 0.0831 -vn 0.1705 -0.9565 0.2368 -vn 0.0215 -0.9990 -0.0391 -vn -0.0818 -0.9767 0.1982 -vn -0.3919 -0.5303 0.7518 -vn 0.3919 -0.5303 0.7518 -vn 0.4005 -0.8182 0.4124 -vn 0.1920 -0.9808 -0.0355 -vn -0.2352 0.2799 0.9308 -vn 0.5611 -0.8278 0.0031 -vn 0.2204 -0.9438 -0.2463 -vn 0.6321 -0.7469 -0.2063 -vn 0.2445 -0.9148 -0.3215 -vn -0.5611 -0.8278 0.0031 -vn -0.6322 -0.7469 -0.2063 -vn -0.2204 -0.9438 -0.2463 -vn -0.2445 -0.9148 -0.3215 -vn 0.3605 -0.0690 0.9302 -vn 0.1355 0.0240 0.9905 -vn 0.2505 0.0136 0.9680 -vn -0.4280 -0.2964 0.8538 -vn -0.2593 0.0104 0.9657 -vn -0.3018 0.5994 0.7414 -vn -0.3617 -0.0678 0.9298 -vn -0.1384 0.0274 0.9900 -vn -0.9672 -0.2254 -0.1170 -vn -0.0044 1.0000 -0.0000 -vn 0.0040 1.0000 -0.0000 -vn -0.0905 0.9959 -0.0000 -vn -0.1160 0.9933 -0.0000 -vn -0.0487 0.9988 -0.0000 -vn 0.0586 -0.4608 -0.8855 -vn 0.2686 -0.4447 -0.8545 -vn 0.6906 -0.3339 -0.6416 -vn 0.0567 -0.4609 -0.8856 -vn -0.0588 -0.4608 -0.8855 -vn -0.0567 -0.4609 -0.8856 -vn 0.9373 -0.1609 -0.3091 -vn 0.6970 -0.3310 -0.6361 -vn 0.6101 -0.3658 -0.7028 -vn 0.2705 -0.4444 -0.8540 -vn 0.2484 -0.4472 -0.8593 -vn 0.0588 -0.4608 -0.8855 -vn -0.2484 -0.4472 -0.8593 -vn -0.2705 -0.4444 -0.8540 -vn -0.6101 -0.3658 -0.7028 -vn -0.6970 -0.3311 -0.6361 -vn -0.9373 -0.1609 -0.3091 -vn -0.9807 -0.0903 -0.1736 -vn 0.1159 0.9933 -0.0000 -vn -0.0175 0.9998 -0.0000 -vn -0.0040 1.0000 -0.0000 -vn -0.0006 -1.0000 -0.0035 -vn -0.0000 -1.0000 -0.0072 -vn -0.0019 -1.0000 -0.0034 -vn -0.0217 0.9998 -0.0000 -vn -0.9101 0.0922 0.4040 -vn 0.3980 -0.0389 0.9166 -vn -0.0000 -0.9708 0.2401 -vn -0.0000 0.0898 -0.9960 -vn -0.0000 -0.3081 -0.9514 -vn -0.0000 0.0899 -0.9960 -vn -0.0000 0.7063 0.7079 -vn -0.0000 0.9274 0.3741 -vn -0.0000 -0.7062 -0.7080 -vn -0.0000 -0.9274 -0.3742 -vn -0.0000 0.3081 0.9514 -vn -0.0000 -0.9768 -0.2142 -vn -0.0000 -0.2548 0.9670 -vn -0.0000 -0.0899 0.9960 -vn -0.0000 0.2548 -0.9670 -vn -0.0000 0.9768 0.2142 -vn -0.0000 -0.0898 0.9960 -vn -0.0000 0.0878 -0.9961 -vn -0.0000 -0.3089 -0.9511 -vn -0.0000 0.7056 0.7086 -vn -0.0000 0.9266 0.3761 -vn -0.0000 -0.7056 -0.7086 -vn -0.0000 -0.9266 -0.3761 -vn -0.0000 0.3090 0.9511 -vn -0.0000 -0.9763 -0.2164 -vn -0.0000 -0.2525 0.9676 -vn -0.0000 -0.0878 0.9961 -vn -0.0000 0.2525 -0.9676 -vn -0.0000 0.9763 0.2164 -vn -0.0000 0.0861 -0.9963 -vn -0.0000 -0.3097 -0.9508 -vn -0.0000 0.7051 0.7091 -vn -0.0000 0.9260 0.3776 -vn -0.0000 -0.3096 -0.9509 -vn -0.0000 -0.7051 -0.7091 -vn -0.0000 -0.9260 -0.3776 -vn -0.0000 0.3096 0.9509 -vn -0.0000 -0.9759 -0.2182 -vn -0.0000 -0.2507 0.9681 -vn -0.0000 -0.0862 0.9963 -vn -0.0000 0.2508 -0.9680 -vn -0.0000 0.9759 0.2183 -vn -0.0000 -0.0861 0.9963 -vn -0.0000 0.0862 -0.9963 -vn -0.0000 0.3097 0.9508 -vn -0.0000 -0.2508 0.9680 -vn -0.0000 0.9266 0.3760 -vn -0.0000 -0.2512 0.9679 -vn -0.9628 0.0184 0.2697 -vn 0.9948 -0.0471 -0.0906 -vn 0.9807 -0.0903 -0.1736 -vn -0.0006 -1.0000 -0.0030 -vn 0.0006 -1.0000 -0.0030 -vn 0.0006 -1.0000 -0.0035 -vn 0.0019 -1.0000 -0.0034 -vn -0.7071 -0.7071 -0.0000 -vn 0.7071 -0.7071 -0.0000 -vn -0.8724 0.4888 -0.0000 -vn 0.8724 0.4888 -0.0000 -vn -0.0000 0.9693 0.2459 -vn -0.0000 0.7764 -0.6303 -vn -0.5490 0.5490 0.6303 -vn -0.0000 0.7764 0.6303 -vn -0.5490 0.5490 -0.6303 -vn -0.7764 -0.0000 0.6303 -vn -0.7764 -0.0000 -0.6303 -vn -0.5490 -0.5490 0.6303 -vn -0.5490 -0.5490 -0.6303 -vn -0.0000 -0.7764 0.6303 -vn -0.0000 -0.7764 -0.6303 -vn 0.5490 -0.5490 0.6303 -vn 0.5490 -0.5490 -0.6303 -vn 0.7764 -0.0000 0.6303 -vn 0.7764 -0.0000 -0.6303 -vn 0.5490 0.5490 0.6303 -vn 0.5490 0.5490 -0.6303 -vt 0.371558 0.219091 -vt 0.371159 0.219497 -vt 0.434034 0.219497 -vt 0.434034 0.185834 -vt 0.416747 0.185834 -vt 0.404268 0.185834 -vt 0.416747 0.219091 -vt 0.105115 0.891994 -vt 0.105115 0.913274 -vt 0.375880 0.913274 -vt 0.375880 0.891994 -vt 0.092643 0.892375 -vt 0.092643 0.920774 -vt 0.348596 0.920774 -vt 0.382005 0.892375 -vt 0.348596 0.892375 -vt 0.382005 0.920774 -vt 0.382005 0.956688 -vt 0.348596 0.956688 -vt 0.410446 0.878172 -vt 0.459032 0.957893 -vt 0.409800 0.933798 -vt 0.270167 0.928387 -vt 0.263671 0.929521 -vt 0.138793 0.990301 -vt 0.097751 0.989006 -vt 0.031544 0.877691 -vt 0.031544 0.956752 -vt 0.062956 0.983571 -vt 0.039707 0.971267 -vt 0.459032 0.990301 -vt 0.133506 0.958479 -vt 0.144365 0.970295 -vt 0.119823 0.970161 -vt 0.141437 0.980809 -vt 0.108223 0.980065 -vt 0.139480 0.987834 -vt 0.100472 0.986683 -vt 0.147819 0.957893 -vt 0.048604 0.975975 -vt 0.056147 0.979967 -vt 0.061187 0.982635 -vt 0.459032 0.987834 -vt 0.459032 0.980809 -vt 0.459032 0.970295 -vt 0.410561 0.970295 -vt 0.411041 0.967999 -vt 0.257754 0.957893 -vt 0.257754 0.967999 -vt 0.270167 0.979350 -vt 0.398628 0.979350 -vt 0.458599 0.845169 -vt 0.410339 0.844769 -vt 0.405124 0.929521 -vt 0.258995 0.933798 -vt 0.398628 0.928387 -vt 0.381400 0.940125 -vt 0.381400 0.967613 -vt 0.287395 0.940125 -vt 0.258995 0.973940 -vt 0.257754 0.939738 -vt 0.263671 0.978216 -vt 0.411041 0.939738 -vt 0.409800 0.973940 -vt 0.405124 0.978216 -vt 0.411041 0.957893 -vt 0.396858 0.931068 -vt 0.271936 0.931068 -vt 0.288230 0.936125 -vt 0.269676 0.931463 -vt 0.402323 0.934393 -vt 0.403459 0.939837 -vt 0.399119 0.931463 -vt 0.380565 0.936125 -vt 0.380565 0.971613 -vt 0.402323 0.973344 -vt 0.399119 0.976274 -vt 0.288230 0.971613 -vt 0.269676 0.976274 -vt 0.266472 0.973344 -vt 0.265336 0.939837 -vt 0.266472 0.934393 -vt 0.287395 0.967613 -vt 0.396858 0.976669 -vt 0.271937 0.976669 -vt 0.265336 0.967900 -vt 0.403459 0.967900 -vt 0.258234 0.970295 -vt 0.176155 0.159372 -vt 0.351182 0.159372 -vt 0.176155 0.157238 -vt 0.286086 0.114179 -vt 0.289470 0.123449 -vt 0.206319 0.123491 -vt 0.199684 0.136404 -vt 0.188460 0.148679 -vt 0.351182 0.157119 -vt 0.207246 0.118405 -vt 0.302205 0.137250 -vt 0.326572 0.148575 -vt 0.289117 0.138628 -vt 0.294854 0.136252 -vt 0.286775 0.135968 -vt 0.220441 0.149560 -vt 0.214194 0.146627 -vt 0.220638 0.106650 -vt 0.220441 0.110047 -vt 0.228285 0.109317 -vt 0.273140 0.106307 -vt 0.282061 0.108308 -vt 0.210999 0.110994 -vt 0.266968 0.150290 -vt 0.294854 0.152477 -vt 0.286775 0.123640 -vt 0.208478 0.123640 -vt 0.208478 0.135968 -vt 0.266968 0.109317 -vt 0.228285 0.150290 -vt 0.214194 0.112981 -vt 0.209799 0.117931 -vt 0.209799 0.141676 -vt 0.285454 0.141676 -vt 0.281058 0.146627 -vt 0.274811 0.149560 -vt 0.274811 0.110047 -vt 0.281058 0.112981 -vt 0.285454 0.117931 -vt 0.300590 0.150101 -vt 0.302967 0.144365 -vt 0.300590 0.138628 -vt 0.299187 0.138047 -vt 0.287699 0.142053 -vt 0.286741 0.144365 -vt 0.289117 0.150101 -vt 0.394791 0.688361 -vt 0.394791 0.696196 -vt 0.588350 0.696196 -vt 0.588350 0.696221 -vt 0.597168 0.696196 -vt 0.597168 0.688361 -vt 0.588350 0.688361 -vt 0.588350 0.703650 -vt 0.597168 0.703650 -vt 0.597168 0.696221 -vt 0.486610 0.403096 -vt 0.493668 0.400172 -vt 0.496592 0.393114 -vt 0.493668 0.386056 -vt 0.486610 0.383132 -vt 0.479552 0.386056 -vt 0.476628 0.393114 -vt 0.479552 0.400172 -vt 0.628329 0.321805 -vt 0.723547 0.410717 -vt 0.451913 0.450017 -vt 0.417065 0.447278 -vt 0.492148 0.449947 -vt 0.320353 0.418005 -vt 0.317476 0.415326 -vt 0.513735 0.353212 -vt 0.533389 0.354544 -vt 0.627472 0.437038 -vt 0.633953 0.445991 -vt 0.632155 0.442480 -vt 0.598064 0.430599 -vt 0.526987 0.447088 -vt 0.346805 0.430312 -vt 0.337725 0.427903 -vt 0.328043 0.423398 -vt 0.606224 0.430794 -vt 0.409219 0.330020 -vt 0.407407 0.332776 -vt 0.404520 0.335973 -vt 0.637952 0.444202 -vt 0.649964 0.444108 -vt 0.639619 0.447202 -vt 0.496840 0.350199 -vt 0.621523 0.434636 -vt 0.689639 0.428669 -vt 0.668641 0.437565 -vt 0.623159 0.421808 -vt 0.624826 0.429596 -vt 0.620060 0.417870 -vt 0.600123 0.333994 -vt 0.589773 0.342184 -vt 0.550537 0.353838 -vt 0.563678 0.352263 -vt 0.576433 0.348871 -vt 0.588701 0.342722 -vt 0.608431 0.325267 -vt 0.681681 0.411435 -vt 0.661797 0.419859 -vt 0.707333 0.419804 -vt 0.634111 0.435986 -vt 0.629112 0.424699 -vt 0.626650 0.437620 -vt 0.626907 0.437684 -vt 0.589627 0.342258 -vt 0.589226 0.342459 -vt 0.595854 0.360487 -vt 0.613675 0.411865 -vt 0.592285 0.362257 -vt 0.607904 0.408042 -vt 0.587703 0.364543 -vt 0.621514 0.434631 -vt 0.634046 0.436039 -vt 0.665219 0.428712 -vt 0.627288 0.438200 -vt 0.634290 0.445789 -vt 0.628358 0.433800 -vt 0.494375 0.424075 -vt 0.525936 0.437655 -vt 0.491751 0.440461 -vt 0.526705 0.444560 -vt 0.492041 0.447405 -vt 0.527906 0.421323 -vt 0.455663 0.424142 -vt 0.452277 0.440529 -vt 0.452011 0.447475 -vt 0.422122 0.421506 -vt 0.418083 0.437842 -vt 0.417338 0.444750 -vt 0.344211 0.409994 -vt 0.348674 0.420993 -vt 0.340968 0.418949 -vt 0.347305 0.427815 -vt 0.338594 0.425504 -vt 0.350543 0.411674 -vt 0.332805 0.415150 -vt 0.337566 0.406902 -vt 0.329319 0.421188 -vt 0.326277 0.410573 -vt 0.332202 0.403141 -vt 0.321940 0.416013 -vt 0.321958 0.406964 -vt 0.326439 0.398603 -vt 0.318677 0.413085 -vt 0.597512 0.421096 -vt 0.596961 0.411593 -vt 0.609075 0.428320 -vt 0.597916 0.428052 -vt 0.614083 0.420982 -vt 0.492779 0.368748 -vt 0.512578 0.362642 -vt 0.511421 0.372072 -vt 0.494809 0.359474 -vt 0.513425 0.355739 -vt 0.496296 0.352684 -vt 0.533263 0.364044 -vt 0.533137 0.373544 -vt 0.533356 0.357089 -vt 0.552058 0.372765 -vt 0.551297 0.363302 -vt 0.550740 0.356374 -vt 0.410939 0.327841 -vt 0.412106 0.326823 -vt 0.398101 0.344105 -vt 0.567262 0.370942 -vt 0.580011 0.357736 -vt 0.583588 0.366602 -vt 0.565470 0.361603 -vt 0.577392 0.351247 -vt 0.564158 0.354765 -vt 0.565470 0.361602 -vt 0.593588 0.350968 -vt 0.592299 0.351594 -vt 0.590796 0.344538 -vt 0.590020 0.344921 -vt 0.619069 0.430717 -vt 0.614084 0.420983 -vt 0.597402 0.359752 -vt 0.632313 0.442352 -vt 0.623193 0.421852 -vt 0.639144 0.447563 -vt 0.702887 0.411421 -vt 0.685660 0.420052 -vt 0.706141 0.417558 -vt 0.688573 0.426360 -vt 0.698440 0.403038 -vt 0.667724 0.435193 -vt 0.665108 0.436110 -vt 0.721597 0.408896 -vt 0.716269 0.403921 -vt 0.708991 0.397125 -vt 0.619065 0.430715 -vt 0.589107 0.353184 -vt 0.587987 0.345938 -vt 0.584897 0.355289 -vt 0.585262 0.347302 -vt 0.587987 0.345937 -vt 0.619396 0.424552 -vt 0.624145 0.433979 -vt 0.624532 0.422226 -vt 0.637719 0.444398 -vt 0.413826 0.324644 -vt 0.400987 0.340908 -vt 0.397524 0.320401 -vt 0.390272 0.328317 -vt 0.395581 0.322522 -vt 0.383020 0.336232 -vt 0.629108 0.424700 -vt 0.628386 0.433758 -vt 0.352835 0.400778 -vt 0.484968 0.425617 -vt 0.486394 0.418030 -vt 0.488653 0.419772 -vt 0.354262 0.393192 -vt 0.487705 0.424814 -vt 0.351525 0.393994 -vt 0.348633 0.396061 -vt 0.350577 0.399036 -vt 0.490597 0.422747 -vt 0.362627 0.387623 -vt 0.494690 0.412449 -vt 0.496116 0.404863 -vt 0.498387 0.406607 -vt 0.364053 0.380037 -vt 0.497439 0.411649 -vt 0.361304 0.380838 -vt 0.358401 0.382902 -vt 0.360356 0.385880 -vt 0.500342 0.409584 -vt 0.384519 0.361285 -vt 0.516529 0.386100 -vt 0.517955 0.378514 -vt 0.520235 0.380260 -vt 0.385945 0.353698 -vt 0.519287 0.385301 -vt 0.383187 0.354497 -vt 0.380275 0.356560 -vt 0.382239 0.359539 -vt 0.522198 0.383239 -vt 0.374483 0.374411 -vt 0.506492 0.399226 -vt 0.507919 0.391640 -vt 0.510198 0.393386 -vt 0.375909 0.366825 -vt 0.509250 0.398428 -vt 0.373151 0.367623 -vt 0.370239 0.369686 -vt 0.372203 0.372665 -vt 0.512162 0.396365 -vt 0.361304 0.380837 -vt 0.782994 0.575784 -vt 0.714498 0.564516 -vt 0.714498 0.575784 -vt 0.782994 0.564516 -vt 0.714498 0.537314 -vt 0.782994 0.537314 -vt 0.714498 0.510112 -vt 0.782994 0.510112 -vt 0.714498 0.498845 -vt 0.782994 0.498845 -vt 0.782994 0.559627 -vt 0.714498 0.515002 -vt 0.714498 0.559627 -vt 0.714498 0.568869 -vt 0.782994 0.515002 -vt 0.714498 0.505760 -vt 0.782994 0.505760 -vt 0.782994 0.568869 -vt 0.680946 0.743152 -vt 0.680946 0.747663 -vt 0.712868 0.738640 -vt 0.712868 0.716943 -vt 0.680946 0.716943 -vt 0.712868 0.747663 -vt 0.712868 0.743152 -vt 0.680946 0.738640 -vt 0.621661 0.723604 -vt 0.621661 0.716943 -vt 0.766609 0.756295 -vt 0.165134 0.745931 -vt 0.165134 0.756295 -vt 0.766609 0.745931 -vt 0.165134 0.720908 -vt 0.766609 0.720908 -vt 0.165134 0.695885 -vt 0.766609 0.695885 -vt 0.165134 0.685521 -vt 0.766609 0.685521 -vt 0.729032 0.553323 -vt 0.698162 0.542055 -vt 0.698162 0.553323 -vt 0.729032 0.542055 -vt 0.698162 0.514853 -vt 0.729032 0.514853 -vt 0.698162 0.487651 -vt 0.729032 0.487651 -vt 0.698162 0.476384 -vt 0.729032 0.476384 -vt 0.729257 0.590922 -vt 0.704821 0.579801 -vt 0.704821 0.590922 -vt 0.729257 0.579801 -vt 0.704821 0.552952 -vt 0.729257 0.552952 -vt 0.704821 0.526104 -vt 0.729257 0.526104 -vt 0.704821 0.514983 -vt 0.729257 0.514983 -vt 0.743036 0.769004 -vt 0.141560 0.758639 -vt 0.141560 0.769004 -vt 0.743036 0.758639 -vt 0.141560 0.733616 -vt 0.743036 0.733616 -vt 0.141560 0.708594 -vt 0.743036 0.708594 -vt 0.141560 0.698229 -vt 0.743036 0.698229 -vt 0.743036 0.733617 -vt 0.771627 0.571391 -vt 0.747191 0.560270 -vt 0.747191 0.571391 -vt 0.771627 0.560270 -vt 0.747191 0.533421 -vt 0.771627 0.533421 -vt 0.747191 0.506573 -vt 0.771627 0.506573 -vt 0.747191 0.495452 -vt 0.771627 0.495452 -vt 0.703156 0.520987 -vt 0.703156 0.554227 -vt 0.717254 0.554227 -vt 0.717254 0.520987 -s 0 -f 416/197/189 417/197/189 412/198/189 -f 412/198/190 420/199/190 413/198/190 -f 419/199/191 422/200/191 420/199/191 -f 422/200/192 421/200/192 424/201/192 -f 420/199/193 414/202/193 413/198/193 -f 419/199/194 411/202/194 421/200/194 -f 426/203/192 416/197/192 425/203/192 -f 425/203/195 423/201/195 426/203/195 -f 425/203/194 415/202/194 424/201/194 -f 426/203/193 418/202/193 417/197/193 -f 418/202/189 411/202/189 417/197/189 -f 411/202/189 412/198/189 417/197/189 -f 413/198/189 414/202/189 416/197/189 -f 414/202/189 415/202/189 416/197/189 -f 413/198/196 416/197/196 412/198/196 -f 412/198/190 419/199/190 420/199/190 -f 419/199/191 421/200/191 422/200/191 -f 424/201/192 415/202/192 414/202/192 -f 421/200/192 411/202/192 423/201/192 -f 411/202/192 418/202/192 423/201/192 -f 424/201/192 414/202/192 422/200/192 -f 421/200/192 423/201/192 424/201/192 -f 420/199/193 422/200/193 414/202/193 -f 419/199/194 412/198/194 411/202/194 -f 426/203/192 417/197/192 416/197/192 -f 425/203/195 424/201/195 423/201/195 -f 425/203/194 416/197/194 415/202/194 -f 426/203/193 423/201/193 418/202/193 -f 428/204/195 430/205/195 427/204/195 -f 429/205/190 432/206/190 430/205/190 -f 431/206/191 434/207/191 432/206/191 -f 433/207/192 427/204/192 434/207/192 -f 429/205/194 433/207/194 431/206/194 -f 436/208/195 438/209/195 435/209/195 -f 435/209/190 440/210/190 439/210/190 -f 439/210/193 443/211/193 441/212/193 -f 436/208/192 444/212/192 437/208/192 -f 439/210/193 436/208/193 435/209/193 -f 443/211/191 446/213/191 445/211/191 -f 439/210/193 448/214/193 442/213/193 -f 441/212/192 445/211/192 444/212/192 -f 447/215/190 450/214/190 448/214/190 -f 442/213/191 450/214/191 446/213/191 -f 439/210/195 449/215/195 447/215/195 -f 428/204/195 429/205/195 430/205/195 -f 429/205/190 431/206/190 432/206/190 -f 431/206/191 433/207/191 434/207/191 -f 433/207/192 428/204/192 427/204/192 -f 429/205/194 428/204/194 433/207/194 -f 436/208/195 437/208/195 438/209/195 -f 435/209/190 438/209/190 440/210/190 -f 439/210/193 442/213/193 443/211/193 -f 436/208/192 441/212/192 444/212/192 -f 439/210/193 441/212/193 436/208/193 -f 443/211/191 442/213/191 446/213/191 -f 439/210/193 447/215/193 448/214/193 -f 441/212/192 443/211/192 445/211/192 -f 447/215/190 449/215/190 450/214/190 -f 442/213/191 448/214/191 450/214/191 -f 439/210/195 440/210/195 449/215/195 -s 1 -f 451/216/194 454/217/197 457/218/194 -f 430/205/194 467/219/194 468/220/194 -f 471/221/198 473/222/199 470/221/200 -f 450/214/193 449/215/193 479/217/201 -f 474/223/193 437/208/193 444/212/193 -f 466/223/195 475/224/202 474/223/195 -f 472/222/203 484/225/204 473/222/199 -f 476/226/205 464/226/205 483/225/206 -f 476/226/205 465/224/202 464/226/205 -f 470/221/200 492/227/207 471/221/198 -f 463/228/208 493/229/209 494/230/210 -f 494/230/210 495/231/211 496/232/212 -f 496/232/212 497/233/213 498/234/214 -f 498/234/214 470/221/200 473/222/199 -f 477/228/215 500/229/216 478/235/217 -f 499/230/218 502/231/219 500/229/216 -f 501/232/220 504/233/221 502/231/219 -f 503/234/222 471/221/198 504/233/221 -f 464/226/223 494/230/210 490/236/224 -f 494/230/210 485/237/225 490/236/224 -f 496/232/212 486/238/226 485/237/225 -f 486/238/226 473/222/199 484/225/204 -f 476/226/227 499/230/218 477/228/215 -f 499/230/218 488/237/228 501/232/220 -f 501/232/220 487/238/229 503/234/222 -f 487/238/229 472/222/203 503/234/222 -f 492/227/207 504/233/221 471/221/198 -f 505/239/230 502/231/219 504/233/221 -f 506/240/231 500/229/216 502/231/219 -f 507/241/232 478/235/217 500/229/216 -f 509/241/233 510/242/234 508/243/235 -f 462/235/236 461/244/237 511/245/235 -f 517/246/238 518/247/238 514/240/239 -f 495/231/211 520/239/240 497/233/213 -f 497/233/213 491/227/241 470/221/200 -f 479/217/242 491/227/191 454/217/242 -f 453/248/243 481/249/243 480/248/243 -f 451/216/244 474/223/244 482/216/244 -f 452/249/245 482/216/245 481/249/245 -f 522/250/246 457/218/247 521/218/248 -f 523/220/249 469/251/250 468/220/251 -f 526/219/252 459/252/253 525/252/254 -f 523/220/249 467/219/255 526/219/252 -f 532/253/256 533/254/257 529/255/258 -f 525/252/254 458/250/259 522/250/246 -f 515/256/260 511/245/261 536/245/262 -f 461/244/191 460/257/263 537/257/263 -f 535/256/264 516/258/265 515/256/260 -f 521/218/248 456/259/266 539/259/266 -f 538/258/267 517/246/268 516/258/265 -f 542/260/269 519/261/270 541/261/271 -f 540/246/272 518/247/273 517/246/268 -f 524/251/274 460/257/263 469/251/250 -f 508/243/275 510/242/276 513/260/277 -f 539/259/266 456/259/266 455/262/195 -f 526/219/252 545/263/278 546/264/279 -f 545/263/278 530/265/280 546/264/279 -f 530/265/280 547/266/281 546/264/279 -f 547/266/281 526/219/252 546/264/279 -f 532/253/256 548/267/282 549/268/283 -f 549/268/283 521/218/248 539/259/284 -f 525/252/254 550/269/285 545/263/278 -f 545/263/278 550/269/285 531/270/286 -f 544/243/287 549/268/283 539/259/284 -f 549/268/283 533/254/257 532/253/256 -f 534/271/288 552/272/289 553/273/290 -f 552/272/289 541/261/271 553/273/290 -f 527/274/291 554/275/292 555/276/293 -f 555/276/293 538/258/267 535/256/264 -f 524/251/274 557/277/294 537/257/295 -f 556/278/296 529/255/258 557/277/294 -f 528/279/297 557/277/294 529/255/258 -f 557/277/294 536/245/298 537/257/295 -f 540/246/272 560/280/299 543/247/300 -f 559/281/301 534/271/288 560/280/299 -f 528/279/297 555/276/293 558/282/302 -f 558/282/302 535/256/264 536/245/298 -f 540/246/272 554/275/292 559/281/301 -f 559/281/301 554/275/292 527/274/291 -f 534/271/288 553/273/290 560/280/299 -f 553/273/290 543/247/300 560/280/299 -f 542/260/269 551/283/303 544/243/287 -f 552/272/289 533/254/257 551/283/303 -f 530/265/280 556/278/296 547/266/281 -f 556/278/296 523/220/249 547/266/281 -f 531/270/286 550/269/285 548/267/282 -f 548/267/282 522/250/246 521/218/248 -f 518/247/273 541/261/271 519/261/270 -f 459/252/194 432/206/194 434/207/194 -f 451/216/194 452/249/194 453/248/194 -f 459/252/194 434/207/194 451/216/194 -f 458/250/194 459/252/194 451/216/194 -f 451/216/194 453/248/194 454/217/197 -f 454/217/197 455/262/237 456/259/194 -f 457/218/194 458/250/194 451/216/194 -f 454/217/197 456/259/194 457/218/194 -f 460/257/194 461/244/237 462/235/236 -f 463/228/208 464/226/223 430/205/194 -f 464/226/223 465/224/194 430/205/194 -f 460/257/194 462/235/236 469/251/194 -f 462/235/236 463/228/208 430/205/194 -f 469/251/194 462/235/236 430/205/194 -f 465/224/194 466/223/194 430/205/194 -f 466/223/194 451/216/194 427/204/194 -f 451/216/194 434/207/194 427/204/194 -f 468/220/194 469/251/194 430/205/194 -f 432/206/194 459/252/194 467/219/194 -f 430/205/194 432/206/194 467/219/194 -f 466/223/194 427/204/194 430/205/194 -f 471/221/198 472/222/203 473/222/199 -f 438/209/193 437/208/193 474/223/193 -f 474/223/193 475/224/193 438/209/193 -f 475/224/193 476/226/227 438/209/193 -f 476/226/227 477/228/215 438/209/193 -f 449/215/193 440/210/193 478/235/217 -f 440/210/193 438/209/193 478/235/217 -f 438/209/193 477/228/215 478/235/217 -f 479/217/201 480/248/193 482/216/193 -f 480/248/193 481/249/193 482/216/193 -f 482/216/193 445/211/193 446/213/193 -f 449/215/193 478/235/217 479/217/201 -f 482/216/193 446/213/193 479/217/201 -f 446/213/193 450/214/193 479/217/201 -f 444/212/193 445/211/193 482/216/193 -f 482/216/193 474/223/193 444/212/193 -f 466/223/195 465/224/202 475/224/202 -f 472/222/203 483/225/206 484/225/204 -f 490/236/304 485/237/225 484/225/204 -f 485/237/225 486/238/226 484/225/204 -f 484/225/204 483/225/206 464/226/205 -f 490/236/304 484/225/204 464/226/205 -f 483/225/206 487/238/229 488/237/228 -f 488/237/228 489/236/304 483/225/206 -f 489/236/304 476/226/205 483/225/206 -f 476/226/205 475/224/202 465/224/202 -f 470/221/200 491/227/241 492/227/207 -f 463/228/208 462/235/236 493/229/209 -f 494/230/210 493/229/209 495/231/211 -f 496/232/212 495/231/211 497/233/213 -f 498/234/214 497/233/213 470/221/200 -f 477/228/215 499/230/218 500/229/216 -f 499/230/218 501/232/220 502/231/219 -f 501/232/220 503/234/222 504/233/221 -f 503/234/222 472/222/203 471/221/198 -f 464/226/223 463/228/208 494/230/210 -f 494/230/210 496/232/212 485/237/225 -f 496/232/212 498/234/214 486/238/226 -f 486/238/226 498/234/214 473/222/199 -f 476/226/227 489/236/305 499/230/218 -f 499/230/218 489/236/305 488/237/228 -f 501/232/220 488/237/228 487/238/229 -f 487/238/229 483/225/206 472/222/203 -f 492/227/207 505/239/230 504/233/221 -f 505/239/230 506/240/231 502/231/219 -f 506/240/231 507/241/232 500/229/216 -f 507/241/232 479/217/201 478/235/217 -f 508/243/235 455/262/237 454/217/197 -f 454/217/197 509/241/233 508/243/235 -f 511/245/235 512/284/234 493/229/209 -f 493/229/209 462/235/236 511/245/235 -f 513/260/306 510/242/234 514/240/239 -f 510/242/234 509/241/233 514/240/239 -f 495/231/211 493/229/209 515/256/306 -f 493/229/209 512/284/234 515/256/306 -f 519/261/306 513/260/306 514/240/239 -f 495/231/211 515/256/306 516/258/306 -f 495/231/211 516/258/306 517/246/238 -f 518/247/238 519/261/306 514/240/239 -f 495/231/211 517/246/238 514/240/239 -f 495/231/211 514/240/239 520/239/240 -f 497/233/213 520/239/240 491/227/241 -f 520/239/191 514/240/191 491/227/191 -f 514/240/191 509/241/191 491/227/191 -f 509/241/191 454/217/242 491/227/191 -f 454/217/242 453/248/307 479/217/242 -f 453/248/307 480/248/307 479/217/242 -f 479/217/242 507/241/191 492/227/191 -f 507/241/191 506/240/191 492/227/191 -f 506/240/191 505/239/191 492/227/191 -f 492/227/191 491/227/191 479/217/242 -f 453/248/243 452/249/243 481/249/243 -f 451/216/244 466/223/244 474/223/244 -f 452/249/245 451/216/245 482/216/245 -f 522/250/246 458/250/259 457/218/247 -f 523/220/249 524/251/274 469/251/250 -f 526/219/252 467/219/255 459/252/253 -f 523/220/249 468/220/251 467/219/255 -f 534/271/288 527/274/291 528/279/297 -f 528/279/297 529/255/258 533/254/257 -f 529/255/258 530/265/280 532/253/256 -f 528/279/297 533/254/257 534/271/288 -f 530/265/280 531/270/286 532/253/256 -f 525/252/254 459/252/253 458/250/259 -f 536/245/262 535/256/264 515/256/260 -f 515/256/260 512/284/308 511/245/261 -f 537/257/263 536/245/262 461/244/191 -f 536/245/262 511/245/261 461/244/191 -f 535/256/264 538/258/267 516/258/265 -f 521/218/248 457/218/247 456/259/266 -f 538/258/267 540/246/272 517/246/268 -f 542/260/269 513/260/277 519/261/270 -f 540/246/272 543/247/300 518/247/273 -f 524/251/274 537/257/263 460/257/263 -f 513/260/277 542/260/269 544/243/309 -f 544/243/309 508/243/275 513/260/277 -f 508/243/275 544/243/309 455/262/195 -f 544/243/309 539/259/266 455/262/195 -f 526/219/252 525/252/254 545/263/278 -f 545/263/278 531/270/286 530/265/280 -f 547/266/281 523/220/249 526/219/252 -f 532/253/256 531/270/286 548/267/282 -f 549/268/283 548/267/282 521/218/248 -f 525/252/254 522/250/246 550/269/285 -f 544/243/287 551/283/303 549/268/283 -f 549/268/283 551/283/303 533/254/257 -f 552/272/289 542/260/269 541/261/271 -f 555/276/293 554/275/292 538/258/267 -f 524/251/274 556/278/296 557/277/294 -f 556/278/296 530/265/280 529/255/258 -f 528/279/297 558/282/302 557/277/294 -f 557/277/294 558/282/302 536/245/298 -f 540/246/272 559/281/301 560/280/299 -f 559/281/301 527/274/291 534/271/288 -f 528/279/297 527/274/291 555/276/293 -f 558/282/302 555/276/293 535/256/264 -f 540/246/272 538/258/267 554/275/292 -f 553/273/290 541/261/271 543/247/300 -f 542/260/269 552/272/289 551/283/303 -f 552/272/289 534/271/288 533/254/257 -f 556/278/296 524/251/274 523/220/249 -f 548/267/282 550/269/285 522/250/246 -f 518/247/273 543/247/300 541/261/271 -f 562/285/190 564/286/190 561/285/190 -f 566/287/310 561/285/195 565/287/310 -f 568/288/311 570/289/312 567/288/311 -f 572/290/313 574/291/314 571/290/313 -f 573/291/314 576/292/315 574/291/314 -f 575/292/315 565/287/310 576/292/315 -f 563/286/191 578/293/191 564/286/191 -f 580/294/316 571/290/313 579/294/316 -f 569/289/312 582/295/317 570/289/312 -f 581/295/317 584/296/318 582/295/317 -f 583/296/318 577/293/319 584/296/318 -f 590/297/193 591/298/193 587/299/193 -f 597/300/193 598/301/193 576/292/193 -f 609/302/193 613/303/193 614/304/193 -f 608/305/320 620/306/321 619/305/320 -f 607/306/321 567/288/311 620/306/321 -f 579/294/316 621/307/322 580/294/316 -f 610/307/322 622/302/323 621/307/322 -f 622/302/323 608/305/320 619/305/320 -f 630/304/194 631/303/194 622/302/194 -f 635/299/194 570/289/194 637/298/194 -f 645/308/194 650/309/194 562/285/194 -f 586/310/324 635/299/325 587/299/325 -f 601/311/326 640/312/327 624/311/326 -f 614/304/328 629/313/329 615/313/329 -f 596/314/330 645/308/331 644/314/330 -f 613/303/332 630/304/328 614/304/328 -f 613/303/332 632/315/333 631/303/332 -f 612/315/333 623/316/334 632/315/333 -f 611/316/334 624/311/326 623/316/334 -f 597/300/335 644/314/330 643/300/335 -f 598/301/336 643/300/335 642/301/336 -f 599/317/337 642/301/336 641/317/337 -f 641/317/337 600/312/327 599/317/337 -f 587/299/325 634/318/338 588/318/338 -f 588/318/338 647/319/339 593/319/339 -f 593/319/339 646/320/340 594/320/340 -f 595/308/331 646/320/340 645/308/331 -f 615/313/329 628/321/341 616/321/341 -f 616/321/341 627/322/342 617/322/342 -f 617/322/342 626/323/343 618/323/343 -f 618/323/343 625/310/324 586/310/324 -f 604/324/344 650/309/192 605/309/192 -f 603/325/195 651/324/344 604/324/344 -f 602/326/345 652/325/195 603/325/195 -f 585/327/346 637/298/190 636/327/346 -f 591/298/190 638/297/347 637/298/190 -f 589/328/348 648/329/191 633/328/348 -f 649/330/349 592/329/191 606/330/349 -f 606/330/349 650/309/192 649/330/349 -f 562/285/190 563/286/190 564/286/190 -f 566/287/310 562/285/195 561/285/195 -f 568/288/311 569/289/312 570/289/312 -f 572/290/313 573/291/314 574/291/314 -f 573/291/314 575/292/315 576/292/315 -f 575/292/315 566/287/310 565/287/310 -f 563/286/191 577/293/191 578/293/191 -f 580/294/316 572/290/313 571/290/313 -f 569/289/312 581/295/317 582/295/317 -f 581/295/317 583/296/318 584/296/318 -f 583/296/318 578/293/319 577/293/319 -f 591/298/193 585/327/193 581/295/193 -f 581/295/193 569/289/193 591/298/193 -f 569/289/193 586/310/193 587/299/193 -f 591/298/193 569/289/193 587/299/193 -f 587/299/193 588/318/193 590/297/193 -f 588/318/193 589/328/193 590/297/193 -f 592/329/193 589/328/193 588/318/193 -f 592/329/193 588/318/193 593/319/193 -f 606/330/193 592/329/193 593/319/193 -f 606/330/193 593/319/193 594/320/193 -f 605/309/193 606/330/193 594/320/193 -f 605/309/193 594/320/193 595/308/193 -f 605/309/193 595/308/193 561/285/193 -f 595/308/193 596/314/193 561/285/193 -f 581/295/193 585/327/193 602/326/193 -f 564/286/193 578/293/193 583/296/193 -f 583/296/193 581/295/193 603/325/193 -f 581/295/193 602/326/193 603/325/193 -f 565/287/193 561/285/193 576/292/193 -f 561/285/193 564/286/193 605/309/193 -f 561/285/193 596/314/193 597/300/193 -f 576/292/193 561/285/193 597/300/193 -f 564/286/193 583/296/193 605/309/193 -f 583/296/193 603/325/193 604/324/193 -f 583/296/193 604/324/193 605/309/193 -f 601/311/193 571/290/193 600/312/193 -f 571/290/193 574/291/193 600/312/193 -f 600/312/193 574/291/193 599/317/193 -f 574/291/193 576/292/193 599/317/193 -f 598/301/193 599/317/193 576/292/193 -f 618/323/193 586/310/193 569/289/193 -f 569/289/193 568/288/193 618/323/193 -f 568/288/193 607/306/193 617/322/193 -f 618/323/193 568/288/193 617/322/193 -f 607/306/193 608/305/193 616/321/193 -f 608/305/193 609/302/193 614/304/193 -f 609/302/193 610/307/193 612/315/193 -f 610/307/193 579/294/193 611/316/193 -f 612/315/193 610/307/193 611/316/193 -f 579/294/193 571/290/193 601/311/193 -f 579/294/193 601/311/193 611/316/193 -f 616/321/193 617/322/193 607/306/193 -f 615/313/193 616/321/193 608/305/193 -f 609/302/193 612/315/193 613/303/193 -f 614/304/193 615/313/193 608/305/193 -f 608/305/320 607/306/321 620/306/321 -f 607/306/321 568/288/311 567/288/311 -f 579/294/316 610/307/322 621/307/322 -f 610/307/322 609/302/323 622/302/323 -f 622/302/323 609/302/323 608/305/320 -f 623/316/194 624/311/194 580/294/194 -f 624/311/194 572/290/194 580/294/194 -f 580/294/194 621/307/194 623/316/194 -f 622/302/194 619/305/194 630/304/194 -f 619/305/194 620/306/194 628/321/194 -f 630/304/194 619/305/194 629/313/194 -f 620/306/194 567/288/194 627/322/194 -f 567/288/194 570/289/194 626/323/194 -f 570/289/194 625/310/194 626/323/194 -f 567/288/194 626/323/194 627/322/194 -f 632/315/194 623/316/194 621/307/194 -f 620/306/194 627/322/194 628/321/194 -f 632/315/194 621/307/194 622/302/194 -f 631/303/194 632/315/194 622/302/194 -f 628/321/194 629/313/194 619/305/194 -f 638/297/194 633/328/194 634/318/194 -f 635/299/194 625/310/194 570/289/194 -f 638/297/194 634/318/194 635/299/194 -f 582/295/194 636/327/194 637/298/194 -f 637/298/194 638/297/194 635/299/194 -f 570/289/194 582/295/194 637/298/194 -f 639/326/194 636/327/194 582/295/194 -f 584/296/194 577/293/194 563/286/194 -f 639/326/194 582/295/194 652/325/194 -f 582/295/194 584/296/194 652/325/194 -f 563/286/194 562/285/194 650/309/194 -f 562/285/194 566/287/194 575/292/194 -f 644/314/194 562/285/194 643/300/194 -f 562/285/194 644/314/194 645/308/194 -f 562/285/194 575/292/194 643/300/194 -f 652/325/194 584/296/194 651/324/194 -f 584/296/194 563/286/194 650/309/194 -f 651/324/194 584/296/194 650/309/194 -f 573/291/194 572/290/194 640/312/194 -f 572/290/194 624/311/194 640/312/194 -f 575/292/194 573/291/194 641/317/194 -f 573/291/194 640/312/194 641/317/194 -f 634/318/194 633/328/194 648/329/194 -f 647/319/194 634/318/194 648/329/194 -f 647/319/194 648/329/194 649/330/194 -f 646/320/194 647/319/194 649/330/194 -f 646/320/194 649/330/194 650/309/194 -f 645/308/194 646/320/194 650/309/194 -f 575/292/194 641/317/194 642/301/194 -f 575/292/194 642/301/194 643/300/194 -f 586/310/324 625/310/324 635/299/325 -f 601/311/326 600/312/327 640/312/327 -f 614/304/328 630/304/328 629/313/329 -f 596/314/330 595/308/331 645/308/331 -f 613/303/332 631/303/332 630/304/328 -f 613/303/332 612/315/333 632/315/333 -f 612/315/333 611/316/334 623/316/334 -f 611/316/334 601/311/326 624/311/326 -f 597/300/335 596/314/330 644/314/330 -f 598/301/336 597/300/335 643/300/335 -f 599/317/337 598/301/336 642/301/336 -f 641/317/337 640/312/327 600/312/327 -f 587/299/325 635/299/325 634/318/338 -f 588/318/338 634/318/338 647/319/339 -f 593/319/339 647/319/339 646/320/340 -f 595/308/331 594/320/340 646/320/340 -f 615/313/329 629/313/329 628/321/341 -f 616/321/341 628/321/341 627/322/342 -f 617/322/342 627/322/342 626/323/343 -f 618/323/343 626/323/343 625/310/324 -f 604/324/344 651/324/344 650/309/192 -f 603/325/195 652/325/195 651/324/344 -f 602/326/345 639/326/345 652/325/195 -f 639/326/345 602/326/345 585/327/346 -f 585/327/346 591/298/190 637/298/190 -f 636/327/346 639/326/345 585/327/346 -f 591/298/190 590/297/347 638/297/347 -f 633/328/348 638/297/347 590/297/347 -f 589/328/348 592/329/191 648/329/191 -f 633/328/348 590/297/347 589/328/348 -f 649/330/349 648/329/191 592/329/191 -f 606/330/349 605/309/192 650/309/192 -s 0 -f 654/331/195 656/332/195 653/331/195 -f 658/333/350 659/333/350 662/334/350 -f 665/335/191 667/336/191 664/335/191 -f 669/337/192 653/331/192 668/337/192 -f 664/335/193 668/337/193 658/333/193 -f 655/332/194 669/337/194 659/333/194 -f 659/333/194 666/336/194 665/335/194 -f 658/333/193 653/331/193 656/332/193 -f 666/336/192 668/337/192 667/336/192 -f 655/332/190 658/333/190 656/332/190 -f 660/338/190 671/339/190 661/338/190 -f 657/338/190 673/339/190 672/339/190 -f 665/335/191 664/335/191 674/340/191 -f 665/335/194 660/338/194 659/333/194 -f 658/333/193 672/339/193 664/335/193 -f 662/334/351 671/339/351 674/340/351 -f 663/338/352 674/340/352 673/339/352 -f 654/331/195 655/332/195 656/332/195 -f 663/338/195 657/338/195 658/333/195 -f 659/333/195 660/338/195 661/338/195 -f 662/334/195 663/338/195 658/333/195 -f 659/333/195 661/338/195 662/334/195 -f 665/335/191 666/336/191 667/336/191 -f 669/337/192 654/331/192 653/331/192 -f 664/335/193 667/336/193 668/337/193 -f 655/332/194 654/331/194 669/337/194 -f 659/333/194 669/337/194 666/336/194 -f 658/333/193 668/337/193 653/331/193 -f 666/336/192 669/337/192 668/337/192 -f 655/332/190 659/333/190 658/333/190 -f 660/338/190 670/339/190 671/339/190 -f 657/338/190 663/338/190 673/339/190 -f 674/340/191 671/339/191 665/335/191 -f 671/339/191 670/339/191 665/335/191 -f 664/335/191 672/339/191 673/339/191 -f 664/335/191 673/339/191 674/340/191 -f 665/335/194 670/339/194 660/338/194 -f 658/333/193 657/338/193 672/339/193 -f 662/334/351 661/338/351 671/339/351 -f 663/338/352 662/334/352 674/340/352 -s 1 -f 676/341/190 678/342/347 675/341/190 -f 677/342/347 680/343/191 678/342/347 -f 679/343/191 682/344/349 680/343/191 -f 681/344/349 684/345/192 682/344/349 -f 683/345/192 686/346/344 684/345/192 -f 685/346/344 688/347/195 686/346/344 -f 679/343/194 676/341/194 687/347/194 -f 687/347/195 690/348/345 688/347/195 -f 689/348/345 675/341/190 690/348/345 -f 688/347/193 690/348/193 682/344/193 -f 676/341/190 677/342/347 678/342/347 -f 677/342/347 679/343/191 680/343/191 -f 679/343/191 681/344/349 682/344/349 -f 681/344/349 683/345/192 684/345/192 -f 683/345/192 685/346/344 686/346/344 -f 685/346/344 687/347/195 688/347/195 -f 679/343/194 677/342/194 676/341/194 -f 676/341/194 689/348/194 687/347/194 -f 687/347/194 685/346/194 683/345/194 -f 683/345/194 681/344/194 687/347/194 -f 681/344/194 679/343/194 687/347/194 -f 687/347/195 689/348/345 690/348/345 -f 689/348/345 676/341/190 675/341/190 -f 690/348/193 675/341/193 682/344/193 -f 675/341/193 678/342/193 682/344/193 -f 678/342/193 680/343/193 682/344/193 -f 682/344/193 684/345/193 686/346/193 -f 686/346/193 688/347/193 682/344/193 -f 699/349/353 700/349/353 694/350/354 -f 702/351/355 704/352/356 701/351/357 -f 706/353/358 701/351/357 705/353/359 -f 708/354/360 710/355/361 707/355/362 -f 712/356/363 714/357/364 711/356/365 -f 716/358/366 718/359/367 715/360/368 -f 720/361/369 722/362/370 719/362/371 -f 724/363/372 726/364/373 723/363/374 -f 704/352/356 724/363/372 723/363/374 -f 728/365/375 708/354/360 727/365/376 -f 730/366/377 720/361/369 729/366/378 -f 725/364/379 727/365/376 726/364/373 -f 732/367/380 734/368/381 731/369/382 -f 735/370/383 737/371/384 738/372/385 -f 740/373/386 711/356/365 739/373/387 -f 741/374/388 730/366/377 729/366/378 -f 744/375/389 746/376/390 743/376/391 -f 743/376/391 747/371/392 737/371/384 -f 749/377/393 751/378/394 748/379/395 -f 753/380/396 754/381/397 755/381/398 -f 714/357/364 757/382/399 758/382/400 -f 760/383/401 762/384/402 759/383/403 -f 758/382/400 760/383/401 759/383/403 -f 761/384/404 763/385/405 755/381/398 -f 769/380/406 770/380/407 772/386/408 -f 777/387/409 778/388/410 699/349/194 -f 772/386/408 699/349/353 765/386/408 -f 722/362/370 705/353/359 719/362/371 -f 779/389/411 695/350/412 694/350/413 -f 780/389/414 745/375/415 744/375/389 -f 778/388/410 782/390/416 773/391/417 -f 741/374/388 783/392/418 784/393/419 -f 785/394/420 756/381/421 755/381/398 -f 763/385/405 786/395/422 755/381/398 -f 787/396/423 788/397/424 789/398/425 -f 791/399/426 793/398/427 790/400/428 -f 742/401/429 741/374/388 784/393/419 -f 794/388/430 796/402/431 797/403/432 -f 798/404/433 799/405/434 784/393/419 -f 801/378/435 715/360/368 800/406/436 -f 783/392/418 798/404/433 784/393/419 -f 802/392/437 742/401/429 784/393/419 -f 717/404/438 802/392/437 784/393/419 -f 754/381/397 803/394/439 755/381/398 -f 803/394/439 804/395/440 755/381/398 -f 804/395/440 764/385/441 755/381/398 -f 792/397/442 806/396/443 793/398/427 -f 786/395/422 785/394/420 755/381/398 -f 789/398/425 807/399/444 808/400/445 -f 809/407/446 811/408/447 812/409/448 -f 812/409/448 813/410/449 814/411/450 -f 814/411/450 719/362/371 705/353/359 -f 816/407/451 818/408/452 815/412/453 -f 817/409/454 820/410/455 818/408/452 -f 819/411/456 722/362/370 820/410/455 -f 821/413/457 812/409/448 822/414/458 -f 822/414/458 814/411/450 823/415/459 -f 814/411/450 701/351/357 823/415/459 -f 824/413/460 817/409/454 816/407/451 -f 825/414/461 819/411/456 817/409/454 -f 819/411/456 702/351/355 706/353/358 -f 827/416/462 822/414/458 828/417/463 -f 822/414/458 829/418/464 828/417/463 -f 823/415/459 704/352/356 829/418/464 -f 830/416/465 825/414/461 824/413/460 -f 825/414/461 832/418/466 826/415/467 -f 826/415/467 703/352/468 702/351/355 -f 833/419/469 835/420/470 836/421/471 -f 836/421/471 837/422/472 838/423/473 -f 838/423/473 723/363/374 726/364/373 -f 840/419/474 842/420/475 839/424/476 -f 841/421/477 844/422/478 842/420/475 -f 843/423/479 724/363/372 844/422/478 -f 833/419/469 846/425/480 845/426/481 -f 846/425/480 838/423/473 847/427/482 -f 838/423/473 727/365/376 847/427/482 -f 840/419/474 849/425/483 841/421/477 -f 849/425/483 843/423/479 841/421/477 -f 843/423/479 728/365/375 725/364/379 -f 845/426/481 852/428/484 851/429/485 -f 846/425/480 853/430/486 852/428/484 -f 847/427/482 708/354/360 853/430/486 -f 848/426/487 855/428/488 849/425/483 -f 849/425/483 856/430/489 850/427/490 -f 850/427/490 709/354/491 728/365/375 -f 851/429/485 858/431/492 857/432/493 -f 852/428/484 859/433/494 858/431/492 -f 853/430/486 707/355/362 859/433/494 -f 854/429/495 861/431/496 855/428/488 -f 855/428/488 862/433/497 856/430/489 -f 856/430/489 710/355/361 709/354/491 -f 834/424/498 828/417/463 835/420/470 -f 828/417/463 837/422/472 835/420/470 -f 829/418/464 723/363/374 837/422/472 -f 839/424/476 831/417/499 830/416/465 -f 831/417/499 844/422/478 832/418/466 -f 832/418/466 724/363/372 703/352/468 -f 807/399/444 865/434/500 863/435/501 -f 865/434/500 866/436/502 867/437/503 -f 867/437/503 729/366/378 720/361/369 -f 791/399/426 869/434/504 870/438/505 -f 869/434/504 872/436/506 870/438/505 -f 871/437/507 730/366/377 872/436/506 -f 810/412/508 865/434/500 811/408/447 -f 811/408/447 867/437/503 813/410/449 -f 813/410/449 720/361/369 719/362/371 -f 815/412/453 869/434/504 868/435/509 -f 818/408/452 871/437/507 869/434/504 -f 820/410/455 721/361/510 871/437/507 -f 874/439/511 876/440/512 873/441/513 -f 875/442/514 878/443/515 876/440/512 -f 877/444/516 711/356/365 878/443/515 -f 879/439/517 881/440/518 882/442/519 -f 882/442/519 883/443/520 884/444/521 -f 884/444/521 712/356/363 740/373/386 -f 873/441/513 886/445/522 885/446/523 -f 876/440/512 887/447/524 886/445/522 -f 878/443/515 714/357/364 887/447/524 -f 880/441/525 889/445/526 881/440/518 -f 881/440/518 890/447/527 883/443/520 -f 883/443/520 713/357/528 712/356/363 -f 891/448/529 886/445/522 892/449/530 -f 892/449/530 887/447/524 893/450/531 -f 887/447/524 758/382/400 893/450/531 -f 894/448/532 889/445/526 888/446/533 -f 895/449/534 890/447/527 889/445/526 -f 890/447/527 757/382/399 713/357/528 -f 897/451/535 733/452/536 732/367/380 -f 888/446/533 815/412/453 894/448/532 -f 879/439/517 731/369/537 899/453/538 -f 882/442/519 732/367/539 731/369/537 -f 884/444/521 897/451/540 732/367/539 -f 905/454/541 907/455/542 904/456/543 -f 906/457/544 909/458/545 907/455/542 -f 908/459/546 762/384/402 909/458/545 -f 903/454/547 910/455/548 911/460/549 -f 911/460/549 912/458/550 913/459/551 -f 913/459/551 761/384/404 760/383/401 -f 806/396/443 915/461/552 916/462/553 -f 916/462/553 917/463/554 918/464/555 -f 918/464/555 756/381/421 785/394/420 -f 891/448/529 906/457/544 905/454/541 -f 892/449/530 908/459/546 906/457/544 -f 893/450/531 759/383/403 908/459/546 -f 894/448/532 911/460/549 895/449/534 -f 895/449/534 913/459/551 896/450/556 -f 896/450/556 760/383/401 757/382/399 -f 729/366/378 919/465/557 741/374/388 -f 919/465/557 866/436/502 864/466/558 -f 771/380/193 914/467/193 700/349/193 -f 718/359/367 717/404/438 784/393/419 -f 751/378/394 923/468/559 924/358/560 -f 925/469/561 801/378/435 800/406/436 -f 738/372/385 747/371/392 926/470/562 -f 777/387/409 927/471/563 928/472/564 -f 928/472/564 929/473/565 930/474/566 -f 930/474/566 780/389/414 744/375/389 -f 921/387/567 932/471/568 922/475/569 -f 931/472/570 934/473/571 932/471/568 -f 933/474/572 779/389/411 934/473/571 -f 777/387/409 781/403/573 778/388/410 -f 781/403/573 930/474/566 935/476/574 -f 930/474/566 743/376/391 935/476/574 -f 921/387/567 797/403/432 931/472/570 -f 797/403/432 933/474/572 931/472/570 -f 933/474/572 746/376/390 745/375/415 -f 781/403/573 935/476/574 736/477/575 -f 736/477/575 743/376/391 737/371/384 -f 797/403/432 937/477/576 936/476/577 -f 937/477/576 746/376/390 936/476/577 -f 779/389/411 693/478/578 934/473/571 -f 934/473/571 692/479/579 932/471/568 -f 932/471/568 691/480/580 922/475/569 -f 698/480/581 927/471/563 776/475/582 -f 697/479/583 929/473/565 927/471/563 -f 696/478/584 780/389/414 929/473/565 -f 766/380/585 938/461/586 767/380/587 -f 767/380/587 939/463/588 768/380/589 -f 768/380/589 754/381/397 753/380/396 -f 771/380/590 915/461/552 914/467/591 -f 770/380/407 917/463/554 915/461/552 -f 769/380/406 756/381/421 917/463/554 -f 787/396/423 938/461/586 775/467/592 -f 940/462/593 939/463/588 938/461/586 -f 941/464/594 754/381/397 939/463/588 -f 730/366/377 942/481/595 872/436/506 -f 872/436/506 942/481/595 870/438/505 -f 789/398/425 940/462/593 787/396/423 -f 943/482/596 941/464/594 940/462/593 -f 944/483/597 803/394/439 941/464/594 -f 808/400/445 943/482/596 789/398/425 -f 945/484/598 944/483/597 943/482/596 -f 946/485/599 804/395/440 944/483/597 -f 790/400/428 947/482/600 948/484/601 -f 948/484/601 949/486/602 950/485/603 -f 950/485/603 786/395/422 763/385/405 -f 793/398/427 916/462/553 947/482/600 -f 947/482/600 918/464/555 949/486/602 -f 949/486/602 785/394/420 786/395/422 -f 788/397/424 864/466/558 807/399/444 -f 951/487/604 919/465/557 864/466/558 -f 919/465/557 783/392/418 741/374/388 -f 748/379/395 951/487/604 788/397/424 -f 751/378/394 952/488/605 951/487/604 -f 952/488/605 798/404/433 783/392/418 -f 774/489/606 749/377/393 748/379/395 -f 782/390/416 736/477/575 735/370/383 -f 718/359/367 784/393/419 799/405/434 -f 805/379/607 920/489/608 914/467/591 -f 796/402/431 937/477/576 797/403/432 -f 953/490/609 747/371/392 937/477/576 -f 805/379/607 954/487/610 801/378/435 -f 801/378/435 955/488/611 716/358/366 -f 955/488/611 717/404/438 716/358/366 -f 792/397/442 870/438/505 954/487/610 -f 954/487/610 942/481/595 955/488/611 -f 955/488/611 742/401/429 802/392/437 -f 762/384/402 946/485/599 909/458/545 -f 909/458/545 945/484/598 907/455/542 -f 907/455/542 808/400/445 904/456/543 -f 790/400/428 910/455/548 902/456/612 -f 948/484/601 912/458/550 910/455/548 -f 950/485/603 761/384/404 912/458/550 -f 956/451/613 898/491/614 897/451/535 -f 958/369/615 960/492/616 961/368/617 -f 877/444/516 956/451/618 739/373/387 -f 875/442/514 962/367/619 877/444/516 -f 874/439/511 958/369/620 875/442/514 -f 956/451/618 740/373/386 739/373/387 -f 957/491/621 964/493/622 898/491/623 -f 960/492/624 966/494/625 961/368/626 -f 961/368/626 967/495/627 968/452/628 -f 968/452/628 963/493/629 957/491/621 -f 733/452/630 964/493/622 969/495/631 -f 734/368/632 969/495/631 970/494/633 -f 900/492/634 970/494/633 901/496/635 -f 731/369/382 900/492/636 899/453/636 -f 956/451/613 968/452/637 957/491/638 -f 963/493/639 967/495/640 965/496/641 -f 885/446/523 891/448/529 810/412/508 -f 962/367/642 961/368/617 968/452/637 -f 773/391/417 749/377/393 774/489/606 -f 925/469/561 795/497/643 920/489/608 -f 800/406/436 795/497/643 925/469/561 -f 715/360/368 796/402/431 800/406/436 -f 715/360/368 926/470/562 953/490/609 -f 750/498/644 773/391/417 782/390/416 -f 923/468/559 782/390/416 735/370/383 -f 923/468/559 738/372/385 799/405/434 -f 799/405/434 926/470/562 718/359/367 -f 924/358/560 799/405/434 798/404/433 -f 710/355/645 862/433/645 860/432/645 -f 979/499/193 980/500/193 974/501/193 -f 981/502/646 974/501/647 973/502/648 -f 990/503/194 982/501/194 985/500/194 -f 985/500/649 971/504/650 980/500/649 -f 982/501/647 975/503/651 974/501/647 -f 990/503/651 976/505/652 975/503/651 -f 986/499/653 980/500/649 979/499/653 -f 989/505/652 977/506/654 976/505/652 -f 988/506/655 978/507/656 977/506/655 -f 973/502/648 983/508/657 981/502/646 -f 972/508/658 984/504/650 983/508/658 -f 987/507/659 979/499/653 978/507/656 -f 999/509/193 1000/510/193 994/511/193 -f 1001/512/660 994/511/661 993/512/660 -f 1010/513/194 1002/511/194 1005/510/194 -f 1005/510/662 991/514/663 1000/510/662 -f 1002/511/661 995/513/664 994/511/661 -f 1010/513/664 996/515/665 995/513/664 -f 1006/509/666 1000/510/662 999/509/666 -f 1009/515/665 997/516/667 996/515/665 -f 1008/516/668 998/517/669 997/516/668 -f 993/512/660 1003/518/670 1001/512/660 -f 992/518/671 1004/514/663 1003/518/671 -f 1007/517/669 999/509/666 998/517/669 -f 1019/519/193 1020/520/193 1014/521/193 -f 1021/522/672 1014/521/673 1013/522/672 -f 1030/523/194 1022/521/194 1025/520/194 -f 1025/520/674 1011/524/675 1020/520/674 -f 1022/521/676 1015/523/677 1014/521/673 -f 1030/523/677 1016/525/678 1015/523/677 -f 1026/519/679 1020/520/674 1019/519/679 -f 1029/525/678 1017/526/680 1016/525/678 -f 1028/526/681 1018/527/682 1017/526/681 -f 1013/522/672 1023/528/683 1021/522/672 -f 1012/528/684 1024/524/675 1023/528/684 -f 1027/527/685 1019/519/679 1018/527/682 -f 1039/529/193 1040/530/193 1034/531/193 -f 1041/532/686 1034/531/676 1033/532/686 -f 1050/533/194 1042/531/194 1045/530/194 -f 1045/530/674 1031/534/675 1040/530/674 -f 1042/531/676 1035/533/677 1034/531/676 -f 1050/533/677 1036/535/678 1035/533/677 -f 1046/529/687 1040/530/674 1039/529/687 -f 1049/535/678 1037/536/680 1036/535/678 -f 1048/536/688 1038/537/685 1037/536/688 -f 1033/532/686 1043/538/683 1041/532/686 -f 1032/538/684 1044/534/675 1043/538/684 -f 1047/537/685 1039/529/687 1038/537/685 -f 1059/499/193 1060/500/193 1054/501/193 -f 1061/502/646 1054/501/647 1053/502/648 -f 1070/503/194 1062/501/194 1065/500/194 -f 1065/500/649 1051/504/650 1060/500/649 -f 1062/501/647 1055/503/651 1054/501/647 -f 1070/503/651 1056/505/652 1055/503/651 -f 1066/499/653 1060/500/649 1059/499/653 -f 1069/505/652 1057/506/654 1056/505/652 -f 1068/506/655 1058/507/659 1057/506/655 -f 1053/502/648 1063/508/657 1061/502/646 -f 1052/508/658 1064/504/650 1063/508/658 -f 1067/507/659 1059/499/653 1058/507/659 -f 1079/509/193 1080/510/193 1074/511/193 -f 1081/512/660 1074/511/661 1073/512/660 -f 1090/513/194 1082/511/194 1085/510/194 -f 1085/510/662 1071/514/663 1080/510/662 -f 1082/511/661 1075/513/664 1074/511/661 -f 1090/513/664 1076/539/665 1075/513/664 -f 1086/509/666 1080/510/662 1079/509/666 -f 1089/515/665 1077/516/667 1076/539/665 -f 1088/516/668 1078/517/669 1077/516/668 -f 1073/512/660 1083/518/670 1081/512/660 -f 1072/518/671 1084/514/689 1083/518/671 -f 1087/517/669 1079/509/666 1078/517/669 -f 1099/519/193 1100/520/193 1094/521/193 -f 1101/522/672 1094/521/673 1093/522/672 -f 1110/523/194 1102/521/194 1105/520/194 -f 1105/520/674 1091/524/675 1100/520/674 -f 1102/521/676 1095/523/677 1094/521/673 -f 1110/523/677 1096/525/678 1095/523/677 -f 1106/519/679 1100/520/674 1099/519/679 -f 1109/525/678 1097/526/680 1096/525/678 -f 1108/526/690 1098/527/682 1097/526/681 -f 1093/522/672 1103/528/683 1101/522/672 -f 1092/528/684 1104/524/675 1103/528/684 -f 1107/527/682 1099/519/679 1098/527/682 -f 1119/529/193 1120/530/193 1114/531/193 -f 1121/532/686 1114/531/676 1113/532/686 -f 1130/533/194 1122/531/194 1125/530/194 -f 1125/530/674 1111/534/675 1120/530/674 -f 1122/531/676 1115/533/677 1114/531/676 -f 1130/533/677 1116/535/678 1115/533/677 -f 1126/529/687 1120/530/674 1119/529/687 -f 1129/535/678 1117/536/680 1116/535/678 -f 1128/536/688 1118/537/685 1117/536/688 -f 1113/532/686 1123/538/683 1121/532/686 -f 1112/538/684 1124/534/675 1123/538/684 -f 1127/537/685 1119/529/687 1118/537/685 -f 700/349/353 691/480/354 694/350/354 -f 691/480/354 692/479/354 693/478/354 -f 694/350/354 691/480/354 693/478/354 -f 694/350/354 695/350/354 699/349/353 -f 695/350/354 696/478/354 698/480/354 -f 696/478/354 697/479/354 698/480/354 -f 698/480/354 699/349/353 695/350/354 -f 702/351/355 703/352/468 704/352/356 -f 706/353/358 702/351/355 701/351/357 -f 708/354/360 709/354/491 710/355/361 -f 712/356/363 713/357/528 714/357/364 -f 716/358/366 717/404/438 718/359/367 -f 720/361/369 721/361/510 722/362/370 -f 724/363/372 725/364/379 726/364/373 -f 704/352/356 703/352/468 724/363/372 -f 728/365/375 709/354/491 708/354/360 -f 730/366/377 721/361/510 720/361/369 -f 725/364/379 728/365/375 727/365/376 -f 732/367/380 733/452/536 734/368/381 -f 735/370/383 736/477/575 737/371/384 -f 740/373/386 712/356/363 711/356/365 -f 741/374/388 742/401/429 730/366/377 -f 744/375/389 745/375/415 746/376/390 -f 743/376/391 746/376/390 747/371/392 -f 749/377/393 750/498/644 751/378/394 -f 756/381/421 752/380/396 755/381/398 -f 752/380/396 753/380/396 755/381/398 -f 714/357/364 713/357/528 757/382/399 -f 760/383/401 761/384/404 762/384/402 -f 758/382/400 757/382/399 760/383/401 -f 764/385/441 762/384/402 755/381/398 -f 762/384/402 761/384/404 755/381/398 -f 772/386/408 765/386/408 753/380/396 -f 765/386/408 766/380/585 767/380/587 -f 767/380/587 768/380/589 765/386/408 -f 768/380/589 753/380/396 765/386/408 -f 770/380/407 771/380/590 772/386/408 -f 753/380/396 752/380/396 772/386/408 -f 752/380/396 769/380/406 772/386/408 -f 778/388/410 773/391/417 774/489/194 -f 774/489/194 775/467/194 778/388/410 -f 775/467/194 766/380/194 699/349/194 -f 778/388/410 775/467/194 699/349/194 -f 766/380/194 765/386/194 699/349/194 -f 699/349/194 698/480/581 776/475/582 -f 776/475/582 777/387/409 699/349/194 -f 772/386/408 700/349/353 699/349/353 -f 722/362/370 706/353/358 705/353/359 -f 779/389/411 780/389/414 695/350/412 -f 780/389/414 779/389/411 745/375/415 -f 778/388/410 781/403/573 782/390/416 -f 787/396/423 748/379/395 788/397/424 -f 791/399/426 792/397/442 793/398/427 -f 794/388/430 795/497/643 796/402/431 -f 801/378/435 716/358/366 715/360/368 -f 792/397/442 805/379/607 806/396/443 -f 789/398/425 788/397/424 807/399/444 -f 809/407/446 810/412/508 811/408/447 -f 812/409/448 811/408/447 813/410/449 -f 814/411/450 813/410/449 719/362/371 -f 816/407/451 817/409/454 818/408/452 -f 817/409/454 819/411/456 820/410/455 -f 819/411/456 706/353/358 722/362/370 -f 821/413/457 809/407/446 812/409/448 -f 822/414/458 812/409/448 814/411/450 -f 814/411/450 705/353/359 701/351/357 -f 824/413/460 825/414/461 817/409/454 -f 825/414/461 826/415/467 819/411/456 -f 819/411/456 826/415/467 702/351/355 -f 827/416/462 821/413/457 822/414/458 -f 822/414/458 823/415/459 829/418/464 -f 823/415/459 701/351/357 704/352/356 -f 830/416/465 831/417/499 825/414/461 -f 825/414/461 831/417/499 832/418/466 -f 826/415/467 832/418/466 703/352/468 -f 833/419/469 834/424/498 835/420/470 -f 836/421/471 835/420/470 837/422/472 -f 838/423/473 837/422/472 723/363/374 -f 840/419/474 841/421/477 842/420/475 -f 841/421/477 843/423/479 844/422/478 -f 843/423/479 725/364/379 724/363/372 -f 833/419/469 836/421/471 846/425/480 -f 846/425/480 836/421/471 838/423/473 -f 838/423/473 726/364/373 727/365/376 -f 840/419/474 848/426/487 849/425/483 -f 849/425/483 850/427/490 843/423/479 -f 843/423/479 850/427/490 728/365/375 -f 845/426/481 846/425/480 852/428/484 -f 846/425/480 847/427/482 853/430/486 -f 847/427/482 727/365/376 708/354/360 -f 848/426/487 854/429/495 855/428/488 -f 849/425/483 855/428/488 856/430/489 -f 850/427/490 856/430/489 709/354/491 -f 851/429/485 852/428/484 858/431/492 -f 852/428/484 853/430/486 859/433/494 -f 853/430/486 708/354/360 707/355/362 -f 854/429/495 860/432/691 861/431/496 -f 855/428/488 861/431/496 862/433/497 -f 856/430/489 862/433/497 710/355/361 -f 834/424/498 827/416/462 828/417/463 -f 828/417/463 829/418/464 837/422/472 -f 829/418/464 704/352/356 723/363/374 -f 839/424/476 842/420/475 831/417/499 -f 831/417/499 842/420/475 844/422/478 -f 832/418/466 844/422/478 724/363/372 -f 807/399/444 864/466/558 865/434/500 -f 865/434/500 864/466/558 866/436/502 -f 867/437/503 866/436/502 729/366/378 -f 791/399/426 868/435/509 869/434/504 -f 869/434/504 871/437/507 872/436/506 -f 871/437/507 721/361/510 730/366/377 -f 810/412/508 863/435/501 865/434/500 -f 811/408/447 865/434/500 867/437/503 -f 813/410/449 867/437/503 720/361/369 -f 815/412/453 818/408/452 869/434/504 -f 818/408/452 820/410/455 871/437/507 -f 820/410/455 722/362/370 721/361/510 -f 874/439/511 875/442/514 876/440/512 -f 875/442/514 877/444/516 878/443/515 -f 877/444/516 739/373/387 711/356/365 -f 879/439/517 880/441/525 881/440/518 -f 882/442/519 881/440/518 883/443/520 -f 884/444/521 883/443/520 712/356/363 -f 873/441/513 876/440/512 886/445/522 -f 876/440/512 878/443/515 887/447/524 -f 878/443/515 711/356/365 714/357/364 -f 880/441/525 888/446/533 889/445/526 -f 881/440/518 889/445/526 890/447/527 -f 883/443/520 890/447/527 713/357/528 -f 891/448/529 885/446/523 886/445/522 -f 892/449/530 886/445/522 887/447/524 -f 887/447/524 714/357/364 758/382/400 -f 894/448/532 895/449/534 889/445/526 -f 895/449/534 896/450/556 890/447/527 -f 890/447/527 896/450/556 757/382/399 -f 897/451/535 898/491/614 733/452/536 -f 899/453/538 900/492/634 901/496/635 -f 901/496/635 860/432/691 854/429/495 -f 854/429/495 848/426/487 840/419/474 -f 840/419/474 839/424/476 854/429/495 -f 839/424/476 830/416/465 899/453/538 -f 830/416/465 824/413/460 879/439/517 -f 824/413/460 816/407/451 879/439/517 -f 816/407/451 815/412/453 880/441/525 -f 815/412/453 868/435/509 894/448/532 -f 816/407/451 880/441/525 879/439/517 -f 868/435/509 791/399/426 902/456/612 -f 791/399/426 790/400/428 902/456/612 -f 839/424/476 899/453/538 901/496/635 -f 901/496/635 854/429/495 839/424/476 -f 879/439/517 899/453/538 830/416/465 -f 868/435/509 902/456/612 903/454/547 -f 868/435/509 903/454/547 894/448/532 -f 880/441/525 815/412/453 888/446/533 -f 879/439/517 882/442/519 731/369/537 -f 882/442/519 884/444/521 732/367/539 -f 884/444/521 740/373/386 897/451/540 -f 905/454/541 906/457/544 907/455/542 -f 906/457/544 908/459/546 909/458/545 -f 908/459/546 759/383/403 762/384/402 -f 903/454/547 902/456/612 910/455/548 -f 911/460/549 910/455/548 912/458/550 -f 913/459/551 912/458/550 761/384/404 -f 806/396/443 914/467/591 915/461/552 -f 916/462/553 915/461/552 917/463/554 -f 918/464/555 917/463/554 756/381/421 -f 891/448/529 892/449/530 906/457/544 -f 892/449/530 893/450/531 908/459/546 -f 893/450/531 758/382/400 759/383/403 -f 894/448/532 903/454/547 911/460/549 -f 895/449/534 911/460/549 913/459/551 -f 896/450/556 913/459/551 760/383/401 -f 729/366/378 866/436/502 919/465/557 -f 914/467/193 920/489/193 794/388/430 -f 920/489/193 795/497/643 794/388/430 -f 794/388/430 921/387/567 700/349/193 -f 914/467/193 794/388/430 700/349/193 -f 921/387/567 922/475/569 700/349/193 -f 922/475/569 691/480/580 700/349/193 -f 700/349/193 772/386/193 771/380/193 -f 751/378/394 750/498/644 923/468/559 -f 925/469/561 805/379/607 801/378/435 -f 738/372/385 737/371/384 747/371/392 -f 777/387/409 776/475/582 927/471/563 -f 928/472/564 927/471/563 929/473/565 -f 930/474/566 929/473/565 780/389/414 -f 921/387/567 931/472/570 932/471/568 -f 931/472/570 933/474/572 934/473/571 -f 933/474/572 745/375/415 779/389/411 -f 777/387/409 928/472/564 781/403/573 -f 781/403/573 928/472/564 930/474/566 -f 930/474/566 744/375/389 743/376/391 -f 921/387/567 794/388/430 797/403/432 -f 797/403/432 936/476/577 933/474/572 -f 933/474/572 936/476/577 746/376/390 -f 736/477/575 935/476/574 743/376/391 -f 937/477/576 747/371/392 746/376/390 -f 779/389/411 694/350/413 693/478/578 -f 934/473/571 693/478/578 692/479/579 -f 932/471/568 692/479/579 691/480/580 -f 698/480/581 697/479/583 927/471/563 -f 697/479/583 696/478/584 929/473/565 -f 696/478/584 695/350/412 780/389/414 -f 766/380/585 775/467/592 938/461/586 -f 767/380/587 938/461/586 939/463/588 -f 768/380/589 939/463/588 754/381/397 -f 771/380/590 770/380/407 915/461/552 -f 770/380/407 769/380/406 917/463/554 -f 769/380/406 752/380/396 756/381/421 -f 787/396/423 940/462/593 938/461/586 -f 940/462/593 941/464/594 939/463/588 -f 941/464/594 803/394/439 754/381/397 -f 730/366/377 742/401/429 942/481/595 -f 789/398/425 943/482/596 940/462/593 -f 943/482/596 944/483/597 941/464/594 -f 944/483/597 804/395/440 803/394/439 -f 808/400/445 945/484/598 943/482/596 -f 945/484/598 946/485/599 944/483/597 -f 946/485/599 764/385/441 804/395/440 -f 790/400/428 793/398/427 947/482/600 -f 948/484/601 947/482/600 949/486/602 -f 950/485/603 949/486/602 786/395/422 -f 793/398/427 806/396/443 916/462/553 -f 947/482/600 916/462/553 918/464/555 -f 949/486/602 918/464/555 785/394/420 -f 788/397/424 951/487/604 864/466/558 -f 951/487/604 952/488/605 919/465/557 -f 919/465/557 952/488/605 783/392/418 -f 748/379/395 751/378/394 951/487/604 -f 751/378/394 924/358/560 952/488/605 -f 952/488/605 924/358/560 798/404/433 -f 787/396/423 775/467/592 748/379/395 -f 775/467/592 774/489/606 748/379/395 -f 782/390/416 781/403/573 736/477/575 -f 914/467/591 806/396/443 805/379/607 -f 805/379/607 925/469/561 920/489/608 -f 796/402/431 953/490/609 937/477/576 -f 953/490/609 926/470/562 747/371/392 -f 805/379/607 792/397/442 954/487/610 -f 801/378/435 954/487/610 955/488/611 -f 955/488/611 802/392/437 717/404/438 -f 792/397/442 791/399/426 870/438/505 -f 954/487/610 870/438/505 942/481/595 -f 955/488/611 942/481/595 742/401/429 -f 762/384/402 764/385/441 946/485/599 -f 909/458/545 946/485/599 945/484/598 -f 907/455/542 945/484/598 808/400/445 -f 790/400/428 948/484/601 910/455/548 -f 948/484/601 950/485/603 912/458/550 -f 950/485/603 763/385/405 761/384/404 -f 956/451/613 957/491/638 898/491/614 -f 958/369/615 959/453/616 960/492/616 -f 877/444/516 962/367/619 956/451/618 -f 875/442/514 958/369/620 962/367/619 -f 874/439/511 959/453/692 958/369/620 -f 956/451/618 897/451/540 740/373/386 -f 957/491/621 963/493/629 964/493/622 -f 960/492/624 965/496/693 966/494/625 -f 961/368/626 966/494/625 967/495/627 -f 968/452/628 967/495/627 963/493/629 -f 733/452/630 898/491/623 964/493/622 -f 734/368/632 733/452/630 969/495/631 -f 900/492/634 734/368/632 970/494/633 -f 731/369/382 734/368/381 900/492/636 -f 956/451/613 962/367/642 968/452/637 -f 967/495/640 966/494/640 965/496/641 -f 965/496/641 857/432/694 963/493/639 -f 857/432/694 860/432/695 964/493/696 -f 860/432/695 901/496/697 964/493/696 -f 901/496/697 970/494/640 969/495/640 -f 964/493/696 901/496/697 969/495/640 -f 964/493/696 963/493/639 857/432/694 -f 904/456/543 808/400/445 807/399/444 -f 807/399/444 863/435/501 904/456/543 -f 863/435/501 810/412/508 891/448/529 -f 904/456/543 863/435/501 905/454/541 -f 810/412/508 809/407/446 873/441/513 -f 809/407/446 821/413/457 874/439/511 -f 821/413/457 827/416/462 874/439/511 -f 827/416/462 834/424/498 959/453/692 -f 834/424/498 833/419/469 845/426/481 -f 845/426/481 851/429/485 834/424/498 -f 851/429/485 857/432/493 965/496/693 -f 965/496/693 960/492/624 959/453/692 -f 965/496/693 959/453/692 834/424/498 -f 851/429/485 965/496/693 834/424/498 -f 809/407/446 874/439/511 873/441/513 -f 827/416/462 959/453/692 874/439/511 -f 905/454/541 863/435/501 891/448/529 -f 873/441/513 885/446/523 810/412/508 -f 962/367/642 958/369/615 961/368/617 -f 800/406/436 796/402/431 795/497/643 -f 715/360/368 953/490/609 796/402/431 -f 715/360/368 718/359/367 926/470/562 -f 750/498/644 749/377/393 773/391/417 -f 923/468/559 750/498/644 782/390/416 -f 923/468/559 735/370/383 738/372/385 -f 799/405/434 738/372/385 926/470/562 -f 924/358/560 923/468/559 799/405/434 -f 861/431/645 860/432/645 862/433/645 -f 860/432/645 857/432/645 710/355/645 -f 857/432/645 858/431/645 859/433/645 -f 859/433/645 707/355/645 857/432/645 -f 707/355/645 710/355/645 857/432/645 -f 980/500/193 971/504/193 974/501/193 -f 971/504/193 972/508/193 973/502/193 -f 974/501/193 971/504/193 973/502/193 -f 974/501/193 975/503/193 979/499/193 -f 975/503/193 976/505/193 978/507/193 -f 976/505/193 977/506/193 978/507/193 -f 978/507/193 979/499/193 975/503/193 -f 981/502/646 982/501/647 974/501/647 -f 982/501/194 981/502/194 984/504/194 -f 981/502/194 983/508/194 984/504/194 -f 984/504/194 985/500/194 982/501/194 -f 985/500/194 986/499/194 990/503/194 -f 986/499/194 987/507/194 989/505/194 -f 987/507/194 988/506/194 989/505/194 -f 989/505/194 990/503/194 986/499/194 -f 985/500/649 984/504/650 971/504/650 -f 982/501/647 990/503/651 975/503/651 -f 990/503/651 989/505/652 976/505/652 -f 986/499/653 985/500/649 980/500/649 -f 989/505/652 988/506/654 977/506/654 -f 988/506/655 987/507/659 978/507/656 -f 973/502/648 972/508/657 983/508/657 -f 972/508/658 971/504/650 984/504/650 -f 987/507/659 986/499/653 979/499/653 -f 1000/510/193 991/514/193 993/512/193 -f 991/514/193 992/518/193 993/512/193 -f 993/512/193 994/511/193 1000/510/193 -f 994/511/193 995/513/193 999/509/193 -f 995/513/193 996/515/193 998/517/193 -f 996/515/193 997/516/193 998/517/193 -f 998/517/193 999/509/193 995/513/193 -f 1001/512/660 1002/511/661 994/511/661 -f 1002/511/194 1001/512/194 1005/510/194 -f 1001/512/194 1003/518/194 1004/514/194 -f 1005/510/194 1001/512/194 1004/514/194 -f 1005/510/194 1006/509/194 1010/513/194 -f 1006/509/194 1007/517/194 1009/515/194 -f 1007/517/194 1008/516/194 1009/515/194 -f 1009/515/194 1010/513/194 1006/509/194 -f 1005/510/662 1004/514/663 991/514/663 -f 1002/511/661 1010/513/664 995/513/664 -f 1010/513/664 1009/515/665 996/515/665 -f 1006/509/666 1005/510/662 1000/510/662 -f 1009/515/665 1008/516/667 997/516/667 -f 1008/516/668 1007/517/669 998/517/669 -f 993/512/660 992/518/670 1003/518/670 -f 992/518/671 991/514/663 1004/514/663 -f 1007/517/669 1006/509/666 999/509/666 -f 1020/520/193 1011/524/193 1014/521/193 -f 1011/524/193 1012/528/193 1013/522/193 -f 1014/521/193 1011/524/193 1013/522/193 -f 1014/521/193 1015/523/193 1019/519/193 -f 1015/523/193 1016/525/193 1018/527/193 -f 1016/525/193 1017/526/193 1018/527/193 -f 1018/527/193 1019/519/193 1015/523/193 -f 1021/522/672 1022/521/676 1014/521/673 -f 1022/521/194 1021/522/194 1024/524/194 -f 1021/522/194 1023/528/194 1024/524/194 -f 1024/524/194 1025/520/194 1022/521/194 -f 1025/520/194 1026/519/194 1030/523/194 -f 1026/519/194 1027/527/194 1029/525/194 -f 1027/527/194 1028/526/194 1029/525/194 -f 1029/525/194 1030/523/194 1026/519/194 -f 1025/520/674 1024/524/675 1011/524/675 -f 1022/521/676 1030/523/677 1015/523/677 -f 1030/523/677 1029/525/678 1016/525/678 -f 1026/519/679 1025/520/674 1020/520/674 -f 1029/525/678 1028/526/680 1017/526/680 -f 1028/526/681 1027/527/685 1018/527/682 -f 1013/522/672 1012/528/683 1023/528/683 -f 1012/528/684 1011/524/675 1024/524/675 -f 1027/527/685 1026/519/679 1019/519/679 -f 1040/530/193 1031/534/193 1033/532/193 -f 1031/534/193 1032/538/193 1033/532/193 -f 1033/532/193 1034/531/193 1040/530/193 -f 1034/531/193 1035/533/193 1039/529/193 -f 1035/533/193 1036/535/193 1038/537/193 -f 1036/535/193 1037/536/193 1038/537/193 -f 1038/537/193 1039/529/193 1035/533/193 -f 1041/532/686 1042/531/676 1034/531/676 -f 1042/531/194 1041/532/194 1045/530/194 -f 1041/532/194 1043/538/194 1044/534/194 -f 1045/530/194 1041/532/194 1044/534/194 -f 1045/530/194 1046/529/194 1050/533/194 -f 1046/529/194 1047/537/194 1049/535/194 -f 1047/537/194 1048/536/194 1049/535/194 -f 1049/535/194 1050/533/194 1046/529/194 -f 1045/530/674 1044/534/675 1031/534/675 -f 1042/531/676 1050/533/677 1035/533/677 -f 1050/533/677 1049/535/678 1036/535/678 -f 1046/529/687 1045/530/674 1040/530/674 -f 1049/535/678 1048/536/680 1037/536/680 -f 1048/536/688 1047/537/685 1038/537/685 -f 1033/532/686 1032/538/683 1043/538/683 -f 1032/538/684 1031/534/675 1044/534/675 -f 1047/537/685 1046/529/687 1039/529/687 -f 1060/500/193 1051/504/193 1054/501/193 -f 1051/504/193 1052/508/193 1053/502/193 -f 1054/501/193 1051/504/193 1053/502/193 -f 1054/501/193 1055/503/193 1059/499/193 -f 1055/503/193 1056/505/193 1058/507/193 -f 1056/505/193 1057/506/193 1058/507/193 -f 1058/507/193 1059/499/193 1055/503/193 -f 1061/502/646 1062/501/647 1054/501/647 -f 1062/501/194 1061/502/194 1064/504/194 -f 1061/502/194 1063/508/194 1064/504/194 -f 1064/504/194 1065/500/194 1062/501/194 -f 1065/500/194 1066/499/194 1070/503/194 -f 1066/499/194 1067/507/194 1069/505/194 -f 1067/507/194 1068/506/194 1069/505/194 -f 1069/505/194 1070/503/194 1066/499/194 -f 1065/500/649 1064/504/650 1051/504/650 -f 1062/501/647 1070/503/651 1055/503/651 -f 1070/503/651 1069/505/652 1056/505/652 -f 1066/499/653 1065/500/649 1060/500/649 -f 1069/505/652 1068/506/654 1057/506/654 -f 1068/506/655 1067/507/659 1058/507/659 -f 1053/502/648 1052/508/657 1063/508/657 -f 1052/508/658 1051/504/650 1064/504/650 -f 1067/507/659 1066/499/653 1059/499/653 -f 1080/510/193 1071/514/193 1074/511/193 -f 1071/514/193 1072/518/193 1073/512/193 -f 1074/511/193 1071/514/193 1073/512/193 -f 1074/511/193 1075/513/193 1079/509/193 -f 1075/513/193 1076/539/193 1078/517/193 -f 1076/539/193 1077/516/193 1078/517/193 -f 1078/517/193 1079/509/193 1075/513/193 -f 1081/512/660 1082/511/661 1074/511/661 -f 1082/511/194 1081/512/194 1084/514/194 -f 1081/512/194 1083/518/194 1084/514/194 -f 1084/514/194 1085/510/194 1082/511/194 -f 1085/510/194 1086/509/194 1090/513/194 -f 1086/509/194 1087/517/194 1089/515/194 -f 1087/517/194 1088/516/194 1089/515/194 -f 1089/515/194 1090/513/194 1086/509/194 -f 1085/510/662 1084/514/689 1071/514/663 -f 1082/511/661 1090/513/664 1075/513/664 -f 1090/513/664 1089/515/665 1076/539/665 -f 1086/509/666 1085/510/662 1080/510/662 -f 1089/515/665 1088/516/667 1077/516/667 -f 1088/516/668 1087/517/669 1078/517/669 -f 1073/512/660 1072/518/670 1083/518/670 -f 1072/518/671 1071/514/663 1084/514/689 -f 1087/517/669 1086/509/666 1079/509/666 -f 1100/520/193 1091/524/193 1094/521/193 -f 1091/524/193 1092/528/193 1093/522/193 -f 1094/521/193 1091/524/193 1093/522/193 -f 1094/521/193 1095/523/193 1099/519/193 -f 1095/523/193 1096/525/193 1098/527/193 -f 1096/525/193 1097/526/193 1098/527/193 -f 1098/527/193 1099/519/193 1095/523/193 -f 1101/522/672 1102/521/676 1094/521/673 -f 1102/521/194 1101/522/194 1104/524/194 -f 1101/522/194 1103/528/194 1104/524/194 -f 1104/524/194 1105/520/194 1102/521/194 -f 1105/520/194 1106/519/194 1110/523/194 -f 1106/519/194 1107/527/194 1109/525/194 -f 1107/527/194 1108/526/194 1109/525/194 -f 1109/525/194 1110/523/194 1106/519/194 -f 1105/520/674 1104/524/675 1091/524/675 -f 1102/521/676 1110/523/677 1095/523/677 -f 1110/523/677 1109/525/678 1096/525/678 -f 1106/519/679 1105/520/674 1100/520/674 -f 1109/525/678 1108/526/680 1097/526/680 -f 1108/526/690 1107/527/682 1098/527/682 -f 1093/522/672 1092/528/683 1103/528/683 -f 1092/528/684 1091/524/675 1104/524/675 -f 1107/527/682 1106/519/679 1099/519/679 -f 1120/530/193 1111/534/193 1113/532/193 -f 1111/534/193 1112/538/193 1113/532/193 -f 1113/532/193 1114/531/193 1120/530/193 -f 1114/531/193 1115/533/193 1119/529/193 -f 1115/533/193 1116/535/193 1118/537/193 -f 1116/535/193 1117/536/193 1118/537/193 -f 1118/537/193 1119/529/193 1115/533/193 -f 1121/532/686 1122/531/676 1114/531/676 -f 1122/531/194 1121/532/194 1125/530/194 -f 1121/532/194 1123/538/194 1124/534/194 -f 1125/530/194 1121/532/194 1124/534/194 -f 1125/530/194 1126/529/194 1130/533/194 -f 1126/529/194 1127/537/194 1129/535/194 -f 1127/537/194 1128/536/194 1129/535/194 -f 1129/535/194 1130/533/194 1126/529/194 -f 1125/530/674 1124/534/675 1111/534/675 -f 1122/531/676 1130/533/677 1115/533/677 -f 1130/533/677 1129/535/678 1116/535/678 -f 1126/529/687 1125/530/674 1120/530/674 -f 1129/535/678 1128/536/680 1117/536/680 -f 1128/536/688 1127/537/685 1118/537/685 -f 1113/532/686 1112/538/683 1123/538/683 -f 1112/538/684 1111/534/675 1124/534/675 -f 1127/537/685 1126/529/687 1119/529/687 -f 1132/540/190 1134/541/351 1131/542/190 -f 1133/543/351 1136/544/193 1134/541/351 -f 1135/545/193 1138/546/698 1136/544/193 -f 1137/547/698 1140/548/192 1138/546/698 -f 1139/549/192 1142/546/699 1140/548/192 -f 1141/547/699 1144/544/194 1142/546/699 -f 1143/545/191 1141/547/191 1149/545/191 -f 1151/550/191 1152/545/191 1135/545/191 -f 1143/545/194 1154/541/352 1144/544/194 -f 1146/543/352 1131/542/190 1154/541/352 -f 1157/544/195 1158/551/195 1142/546/195 -f 1134/541/195 1136/544/195 1161/552/195 -f 1151/550/699 1162/553/192 1161/552/699 -f 1151/550/699 1160/544/194 1152/545/194 -f 1152/545/194 1159/551/352 1153/554/352 -f 1153/554/352 1155/555/190 1147/556/190 -f 1147/556/190 1158/551/351 1148/554/351 -f 1149/545/193 1158/551/351 1157/544/193 -f 1145/550/698 1157/544/193 1156/552/698 -f 1150/557/192 1156/552/698 1162/553/192 -f 1132/540/190 1133/543/351 1134/541/351 -f 1133/543/351 1135/545/193 1136/544/193 -f 1135/545/193 1137/547/698 1138/546/698 -f 1137/547/698 1139/549/192 1140/548/192 -f 1139/549/192 1141/547/699 1142/546/699 -f 1141/547/699 1143/545/194 1144/544/194 -f 1149/545/191 1145/550/191 1143/545/191 -f 1145/550/191 1146/543/191 1143/545/191 -f 1141/547/191 1139/549/191 1148/554/191 -f 1139/549/191 1147/556/191 1148/554/191 -f 1141/547/191 1148/554/191 1149/545/191 -f 1153/554/191 1147/556/191 1139/549/191 -f 1132/540/191 1146/543/191 1145/550/191 -f 1132/540/191 1145/550/191 1150/557/191 -f 1153/554/191 1139/549/191 1137/547/191 -f 1152/545/191 1153/554/191 1135/545/191 -f 1153/554/191 1137/547/191 1135/545/191 -f 1133/543/191 1132/540/191 1150/557/191 -f 1133/543/191 1150/557/191 1151/550/191 -f 1133/543/191 1151/550/191 1135/545/191 -f 1143/545/194 1146/543/352 1154/541/352 -f 1146/543/352 1132/540/190 1131/542/190 -f 1158/551/195 1155/555/195 1140/548/195 -f 1144/544/195 1154/541/195 1156/552/195 -f 1144/544/195 1156/552/195 1157/544/195 -f 1158/551/195 1140/548/195 1142/546/195 -f 1144/544/195 1157/544/195 1142/546/195 -f 1156/552/195 1154/541/195 1131/542/195 -f 1138/546/195 1140/548/195 1159/551/195 -f 1140/548/195 1155/555/195 1159/551/195 -f 1162/553/195 1156/552/195 1131/542/195 -f 1161/552/195 1162/553/195 1134/541/195 -f 1162/553/195 1131/542/195 1134/541/195 -f 1136/544/195 1138/546/195 1159/551/195 -f 1136/544/195 1159/551/195 1160/544/195 -f 1136/544/195 1160/544/195 1161/552/195 -f 1151/550/699 1150/557/192 1162/553/192 -f 1151/550/699 1161/552/699 1160/544/194 -f 1152/545/194 1160/544/194 1159/551/352 -f 1153/554/352 1159/551/352 1155/555/190 -f 1147/556/190 1155/555/190 1158/551/351 -f 1149/545/193 1148/554/351 1158/551/351 -f 1145/550/698 1149/545/193 1157/544/193 -f 1150/557/192 1145/550/698 1156/552/698 -s 0 -f 1163/558/195 1164/558/195 1165/559/195 -f 1169/560/193 1170/561/193 1171/562/193 -f 1163/558/700 1173/563/700 1172/564/700 -f 1175/560/194 1164/558/194 1174/565/194 -f 1174/565/190 1178/560/190 1175/560/190 -f 1174/565/195 1163/558/195 1179/565/195 -f 1181/566/194 1182/567/194 1183/562/194 -f 1171/562/192 1182/567/192 1166/567/192 -f 1168/565/190 1184/560/190 1169/560/190 -f 1176/564/701 1165/559/701 1164/558/701 -f 1174/565/702 1179/565/702 1167/566/702 -f 1179/565/193 1172/564/193 1184/560/193 -f 1170/561/192 1183/562/192 1171/562/192 -f 1184/560/191 1176/564/191 1175/560/191 -f 1184/560/191 1175/560/191 1180/561/191 -f 1176/564/191 1172/564/191 1173/563/191 -f 1181/566/195 1166/567/195 1182/567/195 -f 1171/562/193 1166/567/193 1167/566/193 -f 1167/566/193 1168/565/193 1171/562/193 -f 1168/565/193 1169/560/193 1171/562/193 -f 1163/558/700 1165/559/700 1173/563/700 -f 1175/560/194 1176/564/194 1164/558/194 -f 1174/565/190 1177/565/190 1178/560/190 -f 1174/565/195 1164/558/195 1163/558/195 -f 1183/562/194 1180/561/194 1178/560/194 -f 1178/560/194 1177/565/194 1183/562/194 -f 1177/565/194 1181/566/194 1183/562/194 -f 1171/562/192 1183/562/192 1182/567/192 -f 1168/565/190 1179/565/190 1184/560/190 -f 1176/564/701 1173/563/701 1165/559/701 -f 1179/565/702 1168/565/702 1167/566/702 -f 1167/566/702 1181/566/702 1174/565/702 -f 1181/566/702 1177/565/702 1174/565/702 -f 1179/565/193 1163/558/193 1172/564/193 -f 1170/561/192 1180/561/192 1183/562/192 -f 1184/560/191 1172/564/191 1176/564/191 -f 1180/561/191 1170/561/191 1184/560/191 -f 1170/561/191 1169/560/191 1184/560/191 -f 1175/560/191 1178/560/191 1180/561/191 -f 1181/566/195 1167/566/195 1166/567/195 -s 1 -f 1186/568/190 1188/569/351 1185/570/190 -f 1187/571/351 1190/572/193 1188/569/351 -f 1189/573/193 1192/574/698 1190/572/193 -f 1191/575/698 1194/576/192 1192/574/698 -f 1193/577/192 1196/574/699 1194/576/192 -f 1195/575/699 1198/572/194 1196/574/699 -f 1197/573/191 1193/577/191 1189/573/191 -f 1197/573/194 1200/569/352 1198/572/194 -f 1200/569/352 1186/568/190 1185/570/190 -f 1196/574/195 1198/572/195 1200/569/195 -f 1186/568/190 1187/571/351 1188/569/351 -f 1187/571/351 1189/573/193 1190/572/193 -f 1189/573/193 1191/575/698 1192/574/698 -f 1191/575/698 1193/577/192 1194/576/192 -f 1193/577/192 1195/575/699 1196/574/699 -f 1195/575/699 1197/573/194 1198/572/194 -f 1189/573/191 1187/571/191 1186/568/191 -f 1186/568/191 1199/571/191 1189/573/191 -f 1199/571/191 1197/573/191 1189/573/191 -f 1197/573/191 1195/575/191 1193/577/191 -f 1193/577/191 1191/575/191 1189/573/191 -f 1197/573/194 1199/571/352 1200/569/352 -f 1200/569/352 1199/571/352 1186/568/190 -f 1200/569/195 1185/570/195 1188/569/195 -f 1188/569/195 1190/572/195 1200/569/195 -f 1190/572/195 1192/574/195 1200/569/195 -f 1192/574/195 1194/576/195 1200/569/195 -f 1194/576/195 1196/574/195 1200/569/195 -f 1202/578/190 1204/579/351 1201/580/190 -f 1203/581/351 1206/582/193 1204/579/351 -f 1205/583/193 1208/584/698 1206/582/193 -f 1207/585/698 1210/586/192 1208/584/698 -f 1209/587/192 1212/584/699 1210/586/192 -f 1211/585/699 1214/582/194 1212/584/699 -f 1213/583/191 1209/587/191 1205/583/191 -f 1213/583/194 1216/579/352 1214/582/194 -f 1215/581/352 1201/580/190 1216/579/352 -f 1214/582/195 1216/579/195 1208/584/195 -f 1202/578/190 1203/581/351 1204/579/351 -f 1203/581/351 1205/583/193 1206/582/193 -f 1205/583/193 1207/585/698 1208/584/698 -f 1207/585/698 1209/587/192 1210/586/192 -f 1209/587/192 1211/585/699 1212/584/699 -f 1211/585/699 1213/583/194 1214/582/194 -f 1205/583/191 1203/581/191 1202/578/191 -f 1202/578/191 1215/581/191 1213/583/191 -f 1213/583/191 1211/585/191 1209/587/191 -f 1209/587/191 1207/585/191 1205/583/191 -f 1205/583/191 1202/578/191 1213/583/191 -f 1213/583/194 1215/581/352 1216/579/352 -f 1215/581/352 1202/578/190 1201/580/190 -f 1216/579/195 1201/580/195 1208/584/195 -f 1201/580/195 1204/579/195 1208/584/195 -f 1204/579/195 1206/582/195 1208/584/195 -f 1208/584/195 1210/586/195 1212/584/195 -f 1212/584/195 1214/582/195 1208/584/195 -f 1218/588/190 1220/589/351 1217/590/190 -f 1219/591/351 1222/592/193 1220/589/351 -f 1221/593/193 1224/594/698 1222/592/193 -f 1223/595/698 1226/596/192 1224/594/698 -f 1225/597/192 1228/594/699 1226/596/192 -f 1227/595/699 1230/592/194 1228/594/699 -f 1229/593/191 1225/597/191 1221/593/191 -f 1229/593/194 1232/589/352 1230/592/194 -f 1231/591/352 1217/590/190 1232/589/352 -f 1228/594/195 1230/592/195 1232/589/195 -f 1218/588/190 1219/591/351 1220/589/351 -f 1219/591/351 1221/593/193 1222/592/193 -f 1221/593/193 1223/595/698 1224/594/698 -f 1223/595/698 1225/597/192 1226/596/192 -f 1225/597/192 1227/595/699 1228/594/699 -f 1227/595/699 1229/593/194 1230/592/194 -f 1221/593/191 1219/591/191 1218/588/191 -f 1218/588/191 1231/591/191 1229/593/191 -f 1229/593/191 1227/595/191 1225/597/191 -f 1225/597/191 1223/595/191 1221/593/191 -f 1221/593/191 1218/588/191 1229/593/191 -f 1229/593/194 1231/591/352 1232/589/352 -f 1231/591/352 1218/588/190 1217/590/190 -f 1232/589/195 1217/590/195 1220/589/195 -f 1220/589/195 1222/592/195 1232/589/195 -f 1222/592/195 1224/594/195 1232/589/195 -f 1224/594/195 1226/596/195 1232/589/195 -f 1226/596/195 1228/594/195 1232/589/195 -f 1234/598/703 1236/599/704 1233/600/705 -f 1235/601/706 1238/602/707 1236/599/704 -f 1237/603/708 1240/604/709 1238/602/707 -f 1239/605/710 1242/606/711 1240/604/709 -f 1241/607/712 1244/604/713 1242/606/711 -f 1243/605/714 1246/602/715 1244/604/713 -f 1245/608/716 1241/607/712 1237/603/708 -f 1245/608/716 1248/599/717 1246/602/715 -f 1248/599/717 1234/598/703 1233/600/705 -f 1244/604/713 1246/602/715 1248/599/717 -f 1234/598/703 1235/601/706 1236/599/704 -f 1235/601/706 1237/603/708 1238/602/707 -f 1237/603/708 1239/605/710 1240/604/709 -f 1239/605/710 1241/607/712 1242/606/711 -f 1241/607/712 1243/605/714 1244/604/713 -f 1243/605/714 1245/608/716 1246/602/715 -f 1237/603/708 1235/601/706 1234/598/703 -f 1234/598/703 1247/601/718 1237/603/708 -f 1247/601/718 1245/608/716 1237/603/708 -f 1245/608/716 1243/605/714 1241/607/712 -f 1241/607/712 1239/605/710 1237/603/708 -f 1245/608/716 1247/601/718 1248/599/717 -f 1248/599/717 1247/601/718 1234/598/703 -f 1248/599/717 1233/600/705 1236/599/704 -f 1236/599/704 1238/602/707 1248/599/717 -f 1238/602/707 1240/604/709 1248/599/717 -f 1240/604/709 1242/606/711 1248/599/717 -f 1242/606/711 1244/604/713 1248/599/717 -f 1250/609/190 1252/610/351 1249/611/190 -f 1251/612/351 1254/613/193 1252/610/351 -f 1253/614/193 1256/615/698 1254/613/193 -f 1255/616/698 1258/617/192 1256/615/698 -f 1258/617/192 1259/616/699 1260/615/699 -f 1259/616/699 1262/613/194 1260/615/699 -f 1261/614/191 1257/618/191 1253/614/191 -f 1261/614/194 1264/610/352 1262/613/194 -f 1263/612/352 1249/611/190 1264/610/352 -f 1260/615/195 1262/613/195 1264/610/195 -f 1250/609/190 1251/612/351 1252/610/351 -f 1251/612/351 1253/614/193 1254/613/193 -f 1253/614/193 1255/616/698 1256/615/698 -f 1255/616/698 1257/618/192 1258/617/192 -f 1258/617/192 1257/618/192 1259/616/699 -f 1259/616/699 1261/614/194 1262/613/194 -f 1253/614/191 1251/612/191 1250/609/191 -f 1250/609/191 1263/612/191 1261/614/191 -f 1261/614/191 1259/616/191 1257/618/191 -f 1257/618/191 1255/616/191 1253/614/191 -f 1253/614/191 1250/609/191 1261/614/191 -f 1261/614/194 1263/612/352 1264/610/352 -f 1263/612/352 1250/609/190 1249/611/190 -f 1264/610/195 1249/611/195 1252/610/195 -f 1252/610/195 1254/613/195 1264/610/195 -f 1254/613/195 1256/615/195 1264/610/195 -f 1256/615/195 1258/617/195 1264/610/195 -f 1258/617/195 1260/615/195 1264/610/195 -s 0 -f 1266/619/195 1268/620/195 1265/619/195 -f 1267/620/190 1270/621/190 1268/620/190 -f 1269/621/191 1272/622/191 1270/621/191 -f 1271/622/192 1265/619/192 1272/622/192 -f 1270/621/193 1265/619/193 1268/620/193 -f 1267/620/194 1271/622/194 1269/621/194 -f 1266/619/195 1267/620/195 1268/620/195 -f 1267/620/190 1269/621/190 1270/621/190 -f 1269/621/191 1271/622/191 1272/622/191 -f 1271/622/192 1266/619/192 1265/619/192 -f 1270/621/193 1272/622/193 1265/619/193 -f 1267/620/194 1266/619/194 1271/622/194 -o Guard -v -0.075429 0.170624 0.849928 -v 0.076654 0.170624 0.849928 -v 0.076654 0.210654 0.849928 -v -0.075429 0.210654 0.849928 -v -0.075429 0.170624 0.731509 -v 0.076654 0.170624 0.731509 -v -0.062753 0.100624 0.288424 -v 0.063977 0.100624 0.288424 -v 0.063977 0.100624 0.334112 -v -0.062753 0.100624 0.334112 -v -0.062753 0.140624 0.523278 -v 0.063977 0.140624 0.523278 -v 0.063977 0.161879 0.627054 -v -0.062753 0.161879 0.627054 -v -0.075429 0.170654 0.428800 -v 0.076654 0.170654 0.428800 -v 0.076654 0.130654 0.328424 -v -0.075429 0.130654 0.328424 -v -0.075429 0.210654 0.569176 -v 0.076654 0.210654 0.569176 -v 0.076654 0.109795 0.300640 -v 0.073412 0.102969 0.291549 -v -0.072187 0.102970 0.291549 -v -0.075429 0.109795 0.300640 -v 0.063977 0.104504 0.375389 -v -0.062753 0.104504 0.375389 -v -0.062753 0.101616 0.357071 -v 0.063977 0.101616 0.357071 -v 0.076654 0.168387 0.674625 -v 0.076654 0.168877 0.596451 -v 0.076654 0.146675 0.488050 -v 0.076654 0.111023 0.342077 -v 0.076654 0.110109 0.336278 -v 0.076654 0.109795 0.329011 -v 0.063977 0.168387 0.674625 -v -0.062753 0.168387 0.674625 -v -0.075429 0.168387 0.674625 -v 0.073412 0.106172 0.366869 -v 0.073412 0.103789 0.351753 -v -0.075429 0.111023 0.342077 -v -0.075429 0.110109 0.336278 -v -0.072187 0.103789 0.351753 -v -0.072187 0.106172 0.366869 -v 0.073412 0.102969 0.332807 -v -0.075429 0.109795 0.329011 -v -0.072187 0.102970 0.332807 -v 0.073412 0.142171 0.514267 -v -0.075429 0.146675 0.488050 -v -0.072187 0.142171 0.514267 -v 0.073412 0.163669 0.619227 -v -0.075429 0.168877 0.596451 -v -0.072187 0.163669 0.619227 -vn -0.0000 -0.0000 1.0000 -vn -0.0000 -0.9998 0.0197 -vn -0.0000 -1.0000 -0.0000 -vn 0.1081 -0.9941 -0.0000 -vn -0.1228 -0.9922 0.0223 -vn -0.1082 -0.9941 -0.0000 -vn 0.1730 -0.9619 0.2118 -vn -0.1261 -0.9820 0.1403 -vn -0.1730 -0.9619 0.2118 -vn -0.0000 0.9466 -0.3225 -vn -0.0000 0.8720 -0.4896 -vn -0.0000 0.9904 -0.1384 -vn -0.0000 1.0000 -0.0000 -vn -0.0000 0.7997 -0.6004 -vn -0.1737 -0.9639 0.2019 -vn 0.1419 -0.9841 0.1067 -vn 0.1737 -0.9639 0.2019 -vn 1.0000 -0.0000 -0.0000 -vn 0.9871 -0.1577 0.0276 -vn 0.9890 -0.1438 0.0343 -vn -0.1420 -0.9841 0.1067 -vn 0.1228 -0.9922 0.0223 -vn -0.0000 -0.9962 0.0875 -vn 0.1260 -0.9821 0.1403 -vn 0.9839 -0.1760 0.0295 -vn 0.6628 -0.7453 0.0722 -vn 0.9764 -0.2157 0.0130 -vn 0.7080 -0.6933 0.1341 -vn -0.9839 -0.1760 0.0295 -vn -0.6628 -0.7453 0.0722 -vn -0.7080 -0.6933 0.1341 -vn 0.6334 -0.7737 0.0172 -vn 0.9752 -0.2211 0.0034 -vn -0.9764 -0.2157 0.0130 -vn -0.6334 -0.7736 0.0172 -vn 0.7238 -0.6729 0.1529 -vn 0.4534 -0.8913 -0.0000 -vn 0.9385 -0.3452 -0.0000 -vn -0.9385 -0.3453 -0.0000 -vn -0.9752 -0.2212 0.0034 -vn -0.4535 -0.8913 -0.0000 -vn -0.9890 -0.1438 0.0343 -vn -0.7238 -0.6728 0.1529 -vn 0.7179 -0.6938 0.0562 -vn 0.6269 -0.7745 0.0844 -vn -0.7179 -0.6938 0.0562 -vn -0.9871 -0.1577 0.0276 -vn -0.6269 -0.7745 0.0844 -vn -1.0000 -0.0000 -0.0000 -vn 0.0001 0.7996 -0.6005 -vt 0.437463 0.717486 -vt 0.437463 0.729525 -vt 0.473076 0.717486 -vt 0.606328 0.696434 -vt 0.592588 0.696434 -vt 0.535699 0.708464 -vt 0.504490 0.714856 -vt 0.564112 0.717495 -vt 0.594299 0.705466 -vt 0.521896 0.729525 -vt 0.605389 0.697140 -vt 0.602655 0.699193 -vt 0.580175 0.697602 -vt 0.585684 0.696733 -vt 0.513693 0.716961 -vt 0.546293 0.710284 -vt 0.490183 0.716814 -vt 0.590193 0.699562 -vt 0.587283 0.697386 -vt 0.591937 0.699287 -vt 0.582737 0.698103 -vt 0.592981 0.697140 -vt 0.594123 0.699193 -vt 0.538409 0.708929 -vt 0.506844 0.715395 -s 1 -f 1274/623/719 1276/624/719 1273/623/719 -f 1278/625/720 1273/623/721 1277/625/720 -f 1280/626/722 1282/627/723 1279/626/724 -f 1284/628/725 1286/629/726 1283/628/727 -f 1288/630/728 1290/631/729 1287/630/728 -f 1292/632/730 1287/630/728 1291/632/730 -f 1275/624/731 1291/632/730 1276/624/731 -f 1279/626/732 1295/633/732 1296/634/732 -f 1298/635/733 1300/636/734 1297/635/735 -f 1292/632/736 1302/637/737 1303/638/738 -f 1299/636/739 1281/627/740 1300/636/734 -f 1308/639/741 1285/629/742 1307/639/741 -f 1277/625/720 1308/639/741 1307/639/741 -f 1297/635/735 1283/628/727 1298/635/733 -f 1304/640/743 1311/641/744 1305/642/745 -f 1310/643/746 1300/636/734 1311/641/744 -f 1312/640/747 1314/641/748 1315/643/749 -f 1315/643/749 1299/636/739 1298/635/733 -f 1305/642/745 1316/644/750 1306/645/751 -f 1311/641/744 1281/627/740 1316/644/750 -f 1313/642/752 1318/644/753 1314/641/748 -f 1314/641/748 1282/627/723 1299/636/739 -f 1297/635/735 1319/646/754 1284/628/725 -f 1310/643/746 1303/638/738 1319/646/754 -f 1281/627/740 1294/633/755 1316/644/750 -f 1316/644/750 1293/634/756 1306/645/751 -f 1296/634/757 1318/644/753 1317/645/758 -f 1295/633/759 1282/627/723 1318/644/753 -f 1320/638/760 1315/643/749 1321/646/761 -f 1321/646/761 1298/635/733 1283/628/727 -f 1302/637/737 1301/639/762 1322/647/763 -f 1301/639/762 1285/629/742 1322/647/763 -f 1309/639/764 1323/637/765 1324/647/766 -f 1309/639/764 1286/629/726 1308/639/741 -f 1323/637/765 1321/646/761 1324/647/766 -f 1324/647/766 1283/628/727 1286/629/726 -f 1302/637/737 1319/646/754 1303/638/738 -f 1322/647/763 1284/628/725 1319/646/754 -f 1291/632/767 1320/638/760 1323/637/765 -f 1274/623/719 1275/624/719 1276/624/719 -f 1278/625/720 1274/623/721 1273/623/721 -f 1280/626/722 1281/627/740 1282/627/723 -f 1284/628/725 1285/629/742 1286/629/726 -f 1288/630/728 1289/631/729 1290/631/729 -f 1292/632/730 1288/630/728 1287/630/728 -f 1275/624/731 1292/632/730 1291/632/730 -f 1296/634/732 1290/631/729 1279/626/732 -f 1290/631/729 1289/631/729 1279/626/732 -f 1289/631/729 1293/634/732 1280/626/732 -f 1293/634/732 1294/633/768 1280/626/732 -f 1280/626/732 1279/626/732 1289/631/729 -f 1298/635/733 1299/636/739 1300/636/734 -f 1293/634/756 1289/631/736 1306/645/751 -f 1289/631/736 1288/630/736 1304/640/743 -f 1306/645/751 1289/631/736 1305/642/745 -f 1288/630/736 1292/632/736 1303/638/738 -f 1292/632/736 1275/624/736 1278/625/736 -f 1302/637/737 1292/632/736 1301/639/762 -f 1275/624/736 1274/623/736 1278/625/736 -f 1278/625/736 1301/639/762 1292/632/736 -f 1303/638/738 1304/640/743 1288/630/736 -f 1304/640/743 1305/642/745 1289/631/736 -f 1299/636/739 1282/627/723 1281/627/740 -f 1308/639/741 1286/629/726 1285/629/742 -f 1301/639/762 1278/625/720 1307/639/741 -f 1278/625/720 1277/625/720 1307/639/741 -f 1277/625/720 1309/639/764 1308/639/741 -f 1297/635/735 1284/628/725 1283/628/727 -f 1304/640/743 1310/643/746 1311/641/744 -f 1310/643/746 1297/635/735 1300/636/734 -f 1312/640/747 1313/642/752 1314/641/748 -f 1315/643/749 1314/641/748 1299/636/739 -f 1305/642/745 1311/641/744 1316/644/750 -f 1311/641/744 1300/636/734 1281/627/740 -f 1313/642/752 1317/645/758 1318/644/753 -f 1314/641/748 1318/644/753 1282/627/723 -f 1297/635/735 1310/643/746 1319/646/754 -f 1310/643/746 1304/640/743 1303/638/738 -f 1281/627/740 1280/626/722 1294/633/755 -f 1316/644/750 1294/633/755 1293/634/756 -f 1296/634/757 1295/633/759 1318/644/753 -f 1295/633/759 1279/626/724 1282/627/723 -f 1320/638/760 1312/640/747 1315/643/749 -f 1321/646/761 1315/643/749 1298/635/733 -f 1301/639/762 1307/639/741 1285/629/742 -f 1309/639/764 1324/647/766 1286/629/726 -f 1323/637/765 1320/638/760 1321/646/761 -f 1324/647/766 1321/646/761 1283/628/727 -f 1302/637/737 1322/647/763 1319/646/754 -f 1322/647/763 1285/629/742 1284/628/725 -f 1273/623/767 1276/624/767 1277/625/767 -f 1276/624/767 1291/632/767 1277/625/767 -f 1291/632/767 1287/630/767 1320/638/760 -f 1287/630/767 1290/631/767 1312/640/747 -f 1312/640/747 1290/631/767 1313/642/752 -f 1290/631/767 1296/634/757 1317/645/758 -f 1317/645/758 1313/642/752 1290/631/767 -f 1312/640/747 1320/638/760 1287/630/767 -f 1323/637/765 1309/639/764 1291/632/767 -f 1309/639/764 1277/625/767 1291/632/767 -o Trigger -v 0.012697 0.181206 1.380449 -v 0.012697 0.180872 1.291923 -v 0.011096 0.180730 1.254413 -v 0.006436 0.180681 1.241522 -v -0.005212 0.180681 1.241522 -v -0.009871 0.180730 1.254413 -v -0.011473 0.180872 1.291923 -v -0.011473 0.181206 1.380449 -v 0.012697 0.075307 1.433398 -v 0.012697 0.040182 1.418719 -v 0.012697 0.040182 1.418719 -v 0.012697 0.076073 1.429194 -v 0.012697 0.117095 1.423724 -v 0.012697 0.144311 1.410405 -v 0.012697 0.173001 1.356401 -v 0.012697 0.151323 1.415574 -v 0.012697 0.120917 1.430253 -v 0.006436 0.140314 1.403516 -v 0.006436 0.115674 1.415574 -v -0.005212 0.115674 1.415574 -v -0.005212 0.140314 1.403516 -v 0.006436 0.076355 1.420816 -v -0.005212 0.076355 1.420816 -v 0.006436 0.045424 1.412952 -v -0.005212 0.045424 1.412952 -v 0.006436 0.023366 1.398798 -v -0.005212 0.023366 1.398798 -v 0.011096 0.027667 1.403893 -v -0.011473 0.040182 1.418719 -v -0.011473 0.040182 1.418719 -v -0.009871 0.027667 1.403893 -v -0.011473 0.075307 1.433398 -v -0.011473 0.120917 1.430253 -v -0.011473 0.151323 1.415574 -v -0.011473 0.173001 1.356401 -v -0.011473 0.144311 1.410405 -v -0.011473 0.117095 1.423724 -v -0.011473 0.076073 1.429194 -v 0.006436 0.167051 1.353188 -v -0.005212 0.167051 1.353188 -v 0.011096 0.168573 1.354010 -v 0.011096 0.141336 1.405278 -v 0.011096 0.116037 1.417658 -v 0.011096 0.076283 1.422959 -v 0.011096 0.044916 1.414984 -v -0.009871 0.168573 1.354010 -v -0.009871 0.141336 1.405278 -v -0.009871 0.116037 1.417658 -v -0.009871 0.076283 1.422959 -v -0.009871 0.044916 1.414984 -vn -0.0000 1.0000 -0.0038 -vn -0.0000 0.9392 0.3434 -vn 0.9934 -0.0321 -0.1101 -vn 0.9942 -0.0721 -0.0801 -vn 1.0000 -0.0000 -0.0000 -vn 0.2145 -0.2854 -0.9341 -vn -0.2064 -0.6878 -0.6960 -vn 0.2063 -0.6878 -0.6960 -vn 0.2195 0.0574 -0.9739 -vn -0.2146 -0.2854 -0.9341 -vn 0.2112 0.3928 -0.8951 -vn -0.2195 0.0574 -0.9739 -vn 0.1183 0.5363 -0.8357 -vn -0.2112 0.3928 -0.8951 -vn -0.0000 -0.0238 0.9997 -vn -0.0000 0.9977 0.0679 -vn -0.0000 -0.7641 0.6450 -vn -1.0000 -0.0000 -0.0000 -vn -0.9934 -0.0321 -0.1102 -vn -0.0000 -0.1628 0.9867 -vn -0.0000 0.5543 0.8323 -vn -0.0000 0.2564 0.9666 -vn -0.0000 0.6114 0.7913 -vn -0.1772 -0.9400 -0.2917 -vn 0.1772 -0.9400 -0.2917 -vn 0.9504 -0.3088 -0.0377 -vn 0.7458 -0.6358 -0.1989 -vn 0.3609 -0.9257 -0.1130 -vn 0.0625 -0.9907 -0.1209 -vn 0.9905 -0.1306 -0.0437 -vn 0.7949 -0.4244 -0.4336 -vn 0.7858 -0.1790 -0.5920 -vn 0.7940 0.0354 -0.6069 -vn 0.9939 0.0064 -0.1100 -vn 0.7710 0.2461 -0.5873 -vn 0.7889 0.5810 -0.2001 -vn 0.4706 0.4766 -0.7426 -vn -0.3610 -0.9257 -0.1130 -vn -0.0625 -0.9907 -0.1209 -vn -0.7457 -0.6359 -0.1989 -vn -0.9503 -0.3089 -0.0377 -vn -0.7949 -0.4245 -0.4336 -vn -0.9905 -0.1307 -0.0437 -vn -0.7858 -0.1790 -0.5920 -vn -0.9942 -0.0721 -0.0801 -vn -0.7939 0.0354 -0.6070 -vn -0.7710 0.2462 -0.5873 -vn -0.9939 0.0064 -0.1101 -vn -0.4706 0.4766 -0.7425 -vn -0.7889 0.5810 -0.2002 -vn -0.0000 1.0000 -0.0000 -vn -0.1183 0.5363 -0.8357 -vn -0.0000 -0.7641 0.6451 -vn -0.0000 0.4114 0.9114 -vn -0.0000 -0.7642 0.6450 -vt 0.559609 0.765930 -vt 0.494705 0.766175 -vt 0.462977 0.719170 -vt 0.472742 0.739125 -vt 0.458190 0.721973 -vt 0.468953 0.718129 -vt 0.477793 0.736194 -vt 0.465109 0.689302 -vt 0.470874 0.666624 -vt 0.481252 0.650452 -vt 0.466646 0.662781 -vt 0.455884 0.688533 -vt 0.468953 0.744266 -vt 0.514692 0.755797 -vt 0.514090 0.756913 -vt 0.587110 0.765826 -vt 0.596562 0.765790 -vt 0.512336 0.760159 -vt 0.476501 0.736944 -vt 0.467424 0.718395 -vt 0.463538 0.689249 -vt 0.458967 0.689095 -vt 0.469385 0.666251 -vt 0.477517 0.653605 -s 1 -f 1331/648/769 1332/649/770 1326/648/769 -f 1337/650/771 1338/651/772 1341/652/773 -f 1343/653/774 1345/654/775 1342/654/776 -f 1346/655/777 1344/653/778 1343/653/774 -f 1348/656/779 1347/655/780 1346/655/777 -f 1350/657/781 1349/656/782 1348/656/779 -f 1353/658/783 1354/658/784 1351/657/785 -f 1356/659/786 1357/652/786 1361/650/787 -f 1333/659/788 1353/658/783 1334/658/789 -f 1341/652/790 1356/659/788 1333/659/788 -f 1340/660/791 1357/652/790 1341/652/790 -f 1325/649/770 1358/660/791 1340/660/791 -f 1342/654/776 1364/661/792 1363/661/793 -f 1326/648/794 1365/662/795 1327/663/796 -f 1327/663/796 1363/661/793 1328/664/797 -f 1339/665/798 1366/666/799 1365/662/795 -f 1365/662/795 1342/654/776 1363/661/793 -f 1338/651/772 1367/667/800 1366/666/799 -f 1366/666/799 1343/653/774 1342/654/776 -f 1337/650/771 1368/668/801 1367/667/800 -f 1367/667/800 1346/655/777 1343/653/774 -f 1336/669/802 1369/670/803 1368/668/801 -f 1369/670/803 1346/655/777 1368/668/801 -f 1335/658/804 1352/671/805 1369/670/803 -f 1352/671/805 1348/656/779 1369/670/803 -f 1364/661/792 1330/663/806 1329/664/807 -f 1370/662/808 1331/648/809 1330/663/806 -f 1345/654/775 1370/662/808 1364/661/792 -f 1371/666/810 1359/665/811 1370/662/808 -f 1344/653/778 1371/666/810 1345/654/775 -f 1372/667/812 1360/651/813 1371/666/810 -f 1347/655/780 1372/667/812 1344/653/778 -f 1373/668/814 1361/650/787 1372/667/812 -f 1347/655/780 1374/670/815 1373/668/814 -f 1374/670/815 1362/669/816 1373/668/814 -f 1349/656/782 1355/671/817 1374/670/815 -f 1374/670/815 1355/671/817 1354/658/818 -f 1363/661/793 1329/664/807 1328/664/797 -f 1332/649/770 1325/649/770 1326/648/769 -f 1326/648/769 1327/663/769 1330/663/769 -f 1327/663/769 1328/664/769 1330/663/769 -f 1328/664/769 1329/664/769 1330/663/769 -f 1330/663/769 1331/648/769 1326/648/769 -f 1333/659/773 1334/658/819 1335/658/804 -f 1333/659/773 1335/658/804 1336/669/802 -f 1325/649/773 1340/660/773 1338/651/772 -f 1340/660/773 1341/652/773 1338/651/772 -f 1339/665/798 1326/648/794 1325/649/773 -f 1338/651/772 1339/665/798 1325/649/773 -f 1341/652/773 1333/659/773 1337/650/771 -f 1333/659/773 1336/669/802 1337/650/771 -f 1343/653/774 1344/653/778 1345/654/775 -f 1346/655/777 1347/655/780 1344/653/778 -f 1348/656/779 1349/656/782 1347/655/780 -f 1350/657/781 1351/657/820 1349/656/782 -f 1351/657/785 1350/657/821 1352/671/785 -f 1335/658/822 1334/658/789 1353/658/783 -f 1351/657/785 1352/671/785 1353/658/783 -f 1352/671/785 1335/658/822 1353/658/783 -f 1354/658/784 1355/671/823 1351/657/785 -f 1357/652/786 1358/660/786 1360/651/813 -f 1358/660/786 1332/649/786 1360/651/813 -f 1332/649/786 1331/648/809 1359/665/811 -f 1332/649/786 1359/665/811 1360/651/813 -f 1354/658/818 1353/658/819 1356/659/786 -f 1362/669/816 1354/658/818 1356/659/786 -f 1361/650/787 1362/669/816 1356/659/786 -f 1357/652/786 1360/651/813 1361/650/787 -f 1333/659/788 1356/659/788 1353/658/783 -f 1341/652/790 1357/652/790 1356/659/788 -f 1340/660/791 1358/660/791 1357/652/790 -f 1325/649/770 1332/649/770 1358/660/791 -f 1342/654/776 1345/654/775 1364/661/792 -f 1326/648/794 1339/665/798 1365/662/795 -f 1327/663/796 1365/662/795 1363/661/793 -f 1339/665/798 1338/651/772 1366/666/799 -f 1365/662/795 1366/666/799 1342/654/776 -f 1338/651/772 1337/650/771 1367/667/800 -f 1366/666/799 1367/667/800 1343/653/774 -f 1337/650/771 1336/669/802 1368/668/801 -f 1367/667/800 1368/668/801 1346/655/777 -f 1336/669/802 1335/658/804 1369/670/803 -f 1369/670/803 1348/656/779 1346/655/777 -f 1352/671/805 1350/657/781 1348/656/779 -f 1364/661/792 1370/662/808 1330/663/806 -f 1370/662/808 1359/665/811 1331/648/809 -f 1345/654/775 1371/666/810 1370/662/808 -f 1371/666/810 1360/651/813 1359/665/811 -f 1344/653/778 1372/667/812 1371/666/810 -f 1372/667/812 1361/650/787 1360/651/813 -f 1347/655/780 1373/668/814 1372/667/812 -f 1373/668/814 1362/669/816 1361/650/787 -f 1347/655/780 1349/656/782 1374/670/815 -f 1374/670/815 1354/658/818 1362/669/816 -f 1349/656/782 1351/657/820 1355/671/817 -f 1363/661/793 1364/661/792 1329/664/807 -o Shell -v 0.099482 0.451316 0.176171 -v 0.070235 0.521924 0.176171 -v -0.000373 0.551171 0.176171 -v -0.070981 0.521924 0.176171 -v -0.100228 0.451316 0.176171 -v -0.070981 0.380707 0.176171 -v -0.000373 0.351461 0.176171 -v 0.070235 0.380707 0.176171 -v 0.112264 0.451316 0.176171 -v 0.079273 0.530962 0.176171 -v -0.000373 0.563952 0.176171 -v -0.080019 0.530962 0.176171 -v -0.113009 0.451316 0.176171 -v -0.080019 0.371670 0.176171 -v -0.000373 0.338679 0.176171 -v 0.079273 0.371670 0.176171 -v 0.112264 0.451316 0.210923 -v 0.079273 0.530962 0.210923 -v -0.000373 0.563952 0.210923 -v -0.080019 0.530962 0.210923 -v -0.113009 0.451316 0.210923 -v -0.080019 0.371670 0.210923 -v -0.000373 0.338679 0.210923 -v 0.079273 0.371670 0.210923 -v 0.099482 0.451316 0.066321 -v 0.070235 0.521924 0.066321 -v -0.000373 0.551171 0.066321 -v -0.070981 0.521924 0.066321 -v -0.100228 0.451316 0.066321 -v -0.070981 0.380707 0.066321 -v -0.000373 0.351461 0.066321 -v 0.070235 0.380707 0.066321 -vn -0.3827 0.9239 -0.0000 -vn -0.9239 0.3827 -0.0000 -vn -0.0000 -0.0000 -1.0000 -vn -0.0000 -0.0000 1.0000 -vn -0.3827 -0.9239 -0.0000 -vn 0.3827 -0.9239 -0.0000 -vn 0.3827 0.9239 -0.0000 -vn -0.9239 -0.3827 -0.0000 -vn 0.9239 -0.3827 -0.0000 -vn 0.9239 0.3827 -0.0000 -vt 0.207020 0.712433 -vt 0.247848 0.790812 -vt 0.207020 0.790812 -vt 0.166191 0.790812 -vt 0.166191 0.712433 -vt 0.125363 0.712433 -vt 0.084534 0.712433 -vt 0.288676 0.712433 -vt 0.329504 0.712433 -vt 0.002878 0.712433 -vt 0.043706 0.712433 -vt 0.247848 0.712433 -vt 0.334095 0.764304 -vt 0.358730 0.803066 -vt 0.477679 0.725541 -vt 0.477679 0.803066 -vt 0.502314 0.764304 -vt 0.358730 0.725541 -vt 0.288676 0.790812 -vt 0.002878 0.790812 -vt 0.043706 0.790812 -vt 0.084534 0.790812 -vt 0.125363 0.790812 -vt 0.418204 0.819122 -vt 0.418204 0.709486 -vt 0.329504 0.790812 -s 0 -f 1378/672/824 1401/673/824 1402/674/824 -f 1378/672/825 1403/675/825 1379/676/825 -f 1380/677/826 1389/678/826 1388/677/826 -f 1376/679/826 1383/680/826 1375/680/826 -f 1375/681/826 1390/682/826 1382/682/826 -f 1377/683/826 1386/672/826 1385/683/826 -f 1397/684/827 1398/685/827 1394/686/827 -f 1386/672/824 1393/683/824 1385/683/824 -f 1389/678/828 1396/677/828 1388/677/828 -f 1387/676/825 1394/672/825 1386/672/825 -f 1390/682/829 1397/678/829 1389/678/829 -f 1385/683/830 1392/679/830 1384/679/830 -f 1387/676/831 1396/677/831 1395/676/831 -f 1383/681/832 1398/682/832 1390/682/832 -f 1384/679/833 1391/680/833 1383/680/833 -f 1379/676/826 1386/672/826 1378/672/826 -f 1377/683/826 1384/679/826 1376/679/826 -f 1382/682/826 1389/678/826 1381/678/826 -f 1392/687/827 1393/688/827 1394/686/827 -f 1380/677/826 1387/676/826 1379/676/826 -f 1396/689/827 1397/684/827 1394/686/827 -f 1376/679/830 1401/673/830 1377/683/830 -f 1375/680/833 1400/690/833 1376/679/833 -f 1382/682/832 1399/691/832 1375/681/832 -f 1381/678/829 1406/692/829 1382/682/829 -f 1380/677/828 1405/693/828 1381/678/828 -f 1380/677/831 1403/675/831 1404/694/831 -f 1380/677/826 1381/678/826 1389/678/826 -f 1376/679/826 1384/679/826 1383/680/826 -f 1375/681/826 1383/681/826 1390/682/826 -f 1377/683/826 1378/672/826 1386/672/826 -f 1398/685/827 1391/695/827 1392/687/827 -f 1386/672/824 1394/672/824 1393/683/824 -f 1389/678/828 1397/678/828 1396/677/828 -f 1387/676/825 1395/676/825 1394/672/825 -f 1390/682/829 1398/682/829 1397/678/829 -f 1385/683/830 1393/683/830 1392/679/830 -f 1387/676/831 1388/677/831 1396/677/831 -f 1383/681/832 1391/681/832 1398/682/832 -f 1384/679/833 1392/679/833 1391/680/833 -f 1379/676/826 1387/676/826 1386/672/826 -f 1377/683/826 1385/683/826 1384/679/826 -f 1382/682/826 1390/682/826 1389/678/826 -f 1380/677/826 1388/677/826 1387/676/826 -f 1394/686/827 1395/696/827 1396/689/827 -f 1398/685/827 1392/687/827 1394/686/827 -f 1378/672/824 1377/683/824 1401/673/824 -f 1378/672/825 1402/674/825 1403/675/825 -f 1376/679/830 1400/690/830 1401/673/830 -f 1375/680/833 1399/697/833 1400/690/833 -f 1382/682/832 1406/692/832 1399/691/832 -f 1381/678/829 1405/693/829 1406/692/829 -f 1380/677/828 1404/694/828 1405/693/828 -f 1380/677/831 1379/676/831 1403/675/831 -o ShellFore -v 0.034390 0.451316 -0.097256 -v 0.024208 0.475897 -0.097256 -v -0.000373 0.486078 -0.097256 -v -0.024954 0.475897 -0.097256 -v -0.035135 0.451316 -0.097256 -v -0.024954 0.426735 -0.097256 -v -0.000373 0.416553 -0.097256 -v 0.024208 0.426735 -0.097256 -v 0.099482 0.451316 0.066321 -v 0.070235 0.521924 0.066321 -v -0.000373 0.551171 0.066321 -v -0.070981 0.521924 0.066321 -v -0.100228 0.451316 0.066321 -v -0.070981 0.380707 0.066321 -v -0.000373 0.351461 0.066321 -v 0.070235 0.380707 0.066321 -v 0.070235 0.521924 -0.238119 -v 0.099482 0.451316 -0.238119 -v -0.000373 0.551171 -0.238119 -v -0.070981 0.521924 -0.238119 -v -0.100228 0.451316 -0.238119 -v -0.070981 0.380707 -0.238119 -v -0.000373 0.351461 -0.238119 -v 0.070235 0.380707 -0.238119 -vn 0.9239 -0.3827 -0.0000 -vn 0.9239 0.3827 -0.0000 -vn 0.3827 0.9239 -0.0000 -vn -0.9239 -0.3827 -0.0000 -vn -0.3827 -0.9239 -0.0000 -vn 0.3827 -0.9239 -0.0000 -vn -0.3827 0.9239 -0.0000 -vn -0.9239 0.3827 -0.0000 -vn -0.0000 -0.0000 -1.0000 -vn -0.8497 -0.3520 -0.3926 -vn -0.3520 -0.8497 -0.3926 -vn 0.3520 -0.8497 -0.3926 -vn 0.8497 -0.3520 -0.3926 -vn 0.8497 0.3520 -0.3926 -vn 0.3519 0.8497 -0.3926 -vn -0.3519 0.8497 -0.3926 -vn -0.8497 0.3520 -0.3926 -vn 0.3519 -0.8497 -0.3926 -vn 0.3520 0.8497 -0.3926 -vn -0.3520 0.8497 -0.3926 -vn -0.8497 0.3519 -0.3926 -vt 0.043550 0.791975 -vt 0.002178 0.930026 -vt 0.002178 0.791975 -vt 0.333158 0.791975 -vt 0.291785 0.930026 -vt 0.291785 0.791975 -vt 0.250413 0.930026 -vt 0.250413 0.791975 -vt 0.167668 0.791975 -vt 0.126295 0.930026 -vt 0.126295 0.791975 -vt 0.084923 0.791975 -vt 0.084923 0.930026 -vt 0.043550 0.930026 -vt 0.209040 0.930026 -vt 0.209040 0.791975 -vt 0.167668 0.930026 -vt 0.050685 0.998106 -vt 0.166073 0.998106 -vt 0.281460 0.998106 -vt 0.057134 0.998830 -vt 0.116907 0.930226 -vt 0.118548 0.999962 -vt 0.001433 0.999043 -vt 0.060207 0.931062 -vt 0.331484 0.999525 -vt 0.247738 0.930700 -vt 0.333277 0.931090 -vt 0.001218 0.996208 -vt 0.139723 0.930508 -vt 0.137063 0.995766 -vt 0.000345 0.997602 -vt 0.139908 0.933364 -vt 0.136182 0.998674 -vt 0.001907 0.998589 -vt 0.087835 0.929331 -vt 0.090634 0.998073 -vt 0.000235 0.999789 -vt 0.056663 0.931708 -vt 0.053753 0.998957 -vt 0.000699 0.998101 -vt -0.000302 0.930474 -vt 0.333158 0.930026 -vt 0.329256 0.998106 -vt 0.281460 0.998106 -vt 0.002889 0.998106 -vt 0.001473 0.930410 -vt 0.247782 0.999431 -vt 0.003911 0.932253 -vt -0.001634 0.932333 -vt 0.002007 0.930529 -vt -0.000503 0.931244 -s 0 -f 1422/698/834 1424/699/834 1415/700/834 -f 1415/701/835 1423/702/835 1416/703/835 -f 1416/703/836 1425/704/836 1417/705/836 -f 1419/706/837 1428/707/837 1420/708/837 -f 1421/709/838 1428/707/838 1429/710/838 -f 1421/709/839 1430/711/839 1422/698/839 -f 1426/712/840 1417/705/840 1425/704/840 -f 1418/713/841 1427/714/841 1419/706/841 -f 1412/715/842 1411/716/842 1410/717/842 -f 1408/718/843 1424/719/843 1407/720/843 -f 1409/721/844 1423/722/844 1408/718/844 -f 1409/723/845 1426/724/845 1425/725/845 -f 1411/726/846 1426/727/846 1410/728/846 -f 1412/729/847 1427/730/847 1411/731/847 -f 1413/732/848 1428/733/848 1412/734/848 -f 1414/735/849 1429/736/849 1413/737/849 -f 1414/738/850 1424/719/850 1430/739/850 -f 1422/698/834 1430/711/834 1424/699/834 -f 1415/701/835 1424/740/835 1423/702/835 -f 1416/703/836 1423/702/836 1425/704/836 -f 1419/706/837 1427/714/837 1428/707/837 -f 1421/709/838 1420/708/838 1428/707/838 -f 1421/709/839 1429/710/839 1430/711/839 -f 1426/712/840 1418/713/840 1417/705/840 -f 1418/713/841 1426/712/841 1427/714/841 -f 1410/717/842 1409/741/842 1408/742/842 -f 1408/742/842 1407/716/842 1410/717/842 -f 1407/716/842 1414/715/842 1410/717/842 -f 1414/715/842 1413/743/842 1410/717/842 -f 1413/743/842 1412/715/842 1410/717/842 -f 1408/718/843 1423/722/843 1424/719/843 -f 1409/721/844 1425/744/844 1423/722/844 -f 1409/723/851 1410/745/851 1426/724/851 -f 1411/726/846 1427/746/846 1426/727/846 -f 1412/729/847 1428/747/847 1427/730/847 -f 1413/732/852 1429/748/852 1428/733/852 -f 1414/735/853 1430/749/853 1429/736/853 -f 1414/738/854 1407/720/854 1424/719/854 diff --git a/src/main/resources/assets/hbm/models/weapons/laser_pistol.obj b/src/main/resources/assets/hbm/models/weapons/laser_pistol.obj new file mode 100644 index 000000000..91275ea70 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/laser_pistol.obj @@ -0,0 +1,4791 @@ +# Blender v2.79 (sub 0) OBJ File: 'laser_pistol.blend' +# www.blender.org +o Tape +v 0.687500 2.885000 2.165625 +v -0.885000 2.885000 2.009375 +v -0.885000 2.885000 2.259375 +v -1.010000 2.750000 2.212500 +v -1.135000 2.484375 1.962500 +v -1.135000 2.468750 2.212500 +v -1.135000 2.421875 1.962500 +v -1.135000 2.406250 2.212500 +v -1.010000 1.125000 1.962500 +v -1.010000 1.125000 2.212500 +v -0.875000 0.990000 2.181250 +v -0.875000 0.990000 1.931250 +v 0.885000 0.990000 2.025000 +v 0.885000 0.990000 1.775000 +v 1.010000 1.125000 1.993750 +v 0.885000 2.885000 1.462500 +v -0.885000 2.885000 1.462500 +v 0.885000 2.885000 1.712500 +v 1.010000 2.750000 1.493750 +v 1.010000 2.750000 1.743750 +v 1.010000 1.125000 1.743750 +v -0.885000 2.885000 1.212500 +v -1.010000 2.750000 1.431250 +v -1.010000 2.750000 1.181250 +v -1.135000 2.493750 1.400000 +v -1.135000 2.486250 1.150000 +v -1.135000 2.431250 1.400000 +v -1.010000 1.125000 1.275000 +v -1.010000 1.125000 1.525000 +v -0.875000 0.990000 1.337505 +v -0.875000 0.990000 1.587505 +v -0.375000 0.990000 1.587505 +v -0.500000 0.990000 1.775005 +v 0.687500 2.885000 1.915625 +v -1.010000 2.750000 1.962500 +v -1.135000 2.423750 1.150000 +vt 0.905000 0.860000 +vt 0.910000 0.850000 +vt 0.905000 0.850000 +vt 0.905000 0.670000 +vt 0.910000 0.650000 +vt 0.905000 0.650000 +vt 0.905000 0.910000 +vt 0.910000 0.890000 +vt 0.905000 0.890000 +vt 0.905000 0.700000 +vt 0.910000 0.680000 +vt 0.905000 0.680000 +vt 0.905000 0.880000 +vt 0.910000 0.860000 +vt 0.910000 0.740000 +vt 0.905000 0.730000 +vt 0.905000 0.740000 +vt 0.910000 0.730000 +vt 0.905000 0.710000 +vt 0.910000 0.790000 +vt 0.905000 0.770000 +vt 0.905000 0.790000 +vt 0.910000 0.800000 +vt 0.905000 0.800000 +vt 0.910000 0.830000 +vt 0.905000 0.820000 +vt 0.905000 0.830000 +vt 0.910000 0.770000 +vt 0.905000 0.760000 +vt 0.910000 0.760000 +vt 0.910000 0.820000 +vt 0.910000 0.670000 +vt 0.910000 0.710000 +vt 0.910000 0.910000 +vt 0.910000 0.700000 +vt 0.910000 0.880000 +vn -0.9798 0.1997 0.0125 +vn -0.9989 -0.0461 -0.0029 +vn -0.9987 -0.0500 -0.0028 +vn -0.2905 -0.9569 -0.0000 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.4223 0.9065 0.0000 +vn -0.3734 0.9277 0.0000 +vn -0.9988 -0.0483 0.0013 +vn -0.9250 -0.3800 0.0002 +vn -0.8850 -0.4656 -0.0000 +vn -0.8252 0.5649 0.0053 +vn -0.9754 0.2202 0.0076 +vn -0.4389 0.8985 0.0000 +vn -0.8178 0.5755 0.0000 +vn -0.3604 0.9328 0.0000 +vn -0.8338 0.5520 -0.0032 +vn -0.9723 0.2337 -0.0038 +vn 0.9450 -0.3271 0.0000 +vn 0.9450 0.3271 0.0000 +vn 0.9158 -0.4016 0.0000 +vn 0.4320 -0.9019 0.0000 +vn 0.3665 -0.9304 -0.0000 +vn -0.8966 -0.4429 -0.0004 +vn -0.4123 -0.9110 -0.0000 +vn -0.9123 -0.4094 0.0000 +vn 0.9158 0.4016 0.0000 +vn 0.4389 0.8985 0.0000 +vn 0.3604 0.9328 0.0000 +vn -0.3512 -0.9363 -0.0000 +vn -0.4796 -0.8775 -0.0000 +vn -0.9781 0.2083 -0.0062 +vn -0.9989 -0.0473 0.0014 +vn -0.8364 0.5481 0.0000 +s 1 +f 6/1/1 7/2/2 8/3/3 +f 31/4/4 32/5/5 33/6/5 +f 1/7/6 2/8/7 3/9/8 +f 27/10/9 28/11/10 29/12/11 +f 4/13/12 5/14/13 6/1/1 +f 22/15/14 23/16/15 17/17/16 +f 24/18/17 25/19/18 23/16/15 +f 2/8/7 4/13/12 3/9/8 +f 21/20/19 20/21/20 15/22/21 +f 14/23/22 15/22/21 13/24/23 +f 9/25/24 11/26/25 10/27/26 +f 19/28/27 18/29/28 20/21/20 +f 16/30/29 17/17/16 18/29/28 +f 8/3/3 9/25/24 10/27/26 +f 12/31/30 13/24/23 11/26/25 +f 29/12/11 30/32/31 31/4/4 +f 26/33/32 27/10/9 25/19/18 +f 6/1/1 5/14/13 7/2/2 +f 31/4/4 30/32/31 32/5/5 +f 1/7/6 34/34/6 2/8/7 +f 27/10/9 36/35/33 28/11/10 +f 4/13/12 35/36/34 5/14/13 +f 22/15/14 24/18/17 23/16/15 +f 24/18/17 26/33/32 25/19/18 +f 2/8/7 35/36/34 4/13/12 +f 21/20/19 19/28/27 20/21/20 +f 14/23/22 21/20/19 15/22/21 +f 9/25/24 12/31/30 11/26/25 +f 19/28/27 16/30/29 18/29/28 +f 16/30/29 22/15/14 17/17/16 +f 8/3/3 7/2/2 9/25/24 +f 12/31/30 14/23/22 13/24/23 +f 29/12/11 28/11/10 30/32/31 +f 26/33/32 36/35/33 27/10/9 +o Capacitors +v 0.250000 3.000000 2.837500 +v 0.500000 3.625000 2.712500 +v 0.500000 3.000000 2.712500 +v 0.500000 3.000000 3.462500 +v 0.250000 3.625000 3.337500 +v 0.250000 3.000000 3.337500 +v 0.875000 3.000000 3.087500 +v 0.750000 3.625000 3.337500 +v 0.750000 3.000000 3.337500 +v 0.750000 3.000000 2.837500 +v 0.875000 3.625000 3.087500 +v 0.750000 3.625000 2.837500 +v 0.500000 3.625000 3.462500 +v 0.125000 3.625000 3.087500 +v 0.125000 3.000000 3.087500 +v 0.250000 3.625000 2.837500 +v 0.296875 3.687500 3.290625 +v 0.187500 3.687500 3.087500 +v 0.296875 3.687500 2.884375 +v 0.500000 3.687500 2.775000 +v 0.703125 3.687500 3.290625 +v 0.703125 3.687500 2.884375 +v 0.812500 3.687500 3.087500 +v 0.500000 3.687500 3.400000 +v 0.562500 3.662500 3.150000 +v 0.562500 3.662500 3.025000 +v 0.562500 3.912500 3.025000 +v 0.437500 3.662500 3.150000 +v 0.562500 3.912500 3.150000 +v 0.437500 3.662500 3.025000 +v 0.437500 3.912500 3.150000 +v 0.125000 2.875000 0.462500 +v 0.375000 3.500000 0.337500 +v 0.375000 2.875000 0.337500 +v 0.375000 2.875000 1.087500 +v 0.125000 3.500000 0.962500 +v 0.125000 2.875000 0.962500 +v 0.750000 2.875000 0.712500 +v 0.625000 3.500000 0.962500 +v 0.625000 2.875000 0.962500 +v 0.625000 2.875000 0.462500 +v 0.750000 3.500000 0.712500 +v 0.625000 3.500000 0.462500 +v 0.375000 3.500000 1.087500 +v 0.000000 3.500000 0.712500 +v 0.000000 2.875000 0.712500 +v 0.125000 3.500000 0.462500 +v 0.171875 3.562500 0.915625 +v 0.062500 3.562500 0.712500 +v 0.171875 3.562500 0.509375 +v 0.375000 3.562500 0.400000 +v 0.578125 3.562500 0.915625 +v 0.578125 3.562500 0.509375 +v 0.687500 3.562500 0.712500 +v 0.375000 3.562500 1.025000 +v 0.437500 3.537500 0.775000 +v 0.437500 3.537500 0.650000 +v 0.437500 3.787500 0.650000 +v 0.312500 3.537500 0.775000 +v 0.437500 3.787500 0.775000 +v 0.312500 3.537500 0.650000 +v 0.312500 3.787500 0.775000 +v 0.437500 3.912500 3.025000 +v 0.312500 3.787500 0.650000 +v 0.500000 3.834375 3.025000 +v 0.531250 3.803125 2.275000 +v 0.531250 3.834375 2.275000 +v 0.500000 3.865625 3.025000 +v 0.437500 3.678125 1.275000 +v 0.437500 3.709375 1.275000 +v 0.375000 3.709375 0.775000 +v 0.375000 3.740625 0.775000 +v 0.500000 3.771875 3.025000 +v 0.468750 3.678125 2.650000 +v 0.468750 3.709375 2.650000 +v 0.500000 3.803125 3.025000 +v 0.406250 3.584375 1.400000 +v 0.406250 3.615625 1.400000 +v 0.375000 3.646875 0.775000 +v 0.375000 3.678125 0.775000 +v 0.500000 3.834375 3.025000 +v 0.531250 3.803125 2.275000 +v 0.531250 3.834375 2.275000 +v 0.500000 3.865625 3.025000 +v 0.437500 3.678125 1.275000 +v 0.437500 3.709375 1.275000 +v 0.375000 3.709375 0.775000 +v 0.375000 3.740625 0.775000 +v 0.500000 3.771875 3.025000 +v 0.468750 3.678125 2.650000 +v 0.468750 3.709375 2.650000 +v 0.500000 3.803125 3.025000 +v 0.406250 3.584375 1.400000 +v 0.406250 3.615625 1.400000 +v 0.375000 3.646875 0.775000 +v 0.375000 3.678125 0.775000 +vt 0.895000 0.830000 +vt 0.885000 0.840000 +vt 0.895000 0.840000 +vt 0.895000 0.810000 +vt 0.885000 0.820000 +vt 0.895000 0.820000 +vt 0.865000 0.850000 +vt 0.880000 0.820000 +vt 0.865000 0.820000 +vt 0.895000 0.830000 +vt 0.885000 0.840000 +vt 0.895000 0.840000 +vt 0.880000 0.850000 +vt 0.865000 0.820000 +vt 0.865000 0.850000 +vt 0.895000 0.850000 +vt 0.885000 0.850000 +vt 0.860000 0.835000 +vt 0.872500 0.860000 +vt 0.880000 0.850000 +vt 0.872500 0.810000 +vt 0.885000 0.835000 +vt 0.900000 0.820000 +vt 0.895000 0.810000 +vt 0.895000 0.820000 +vt 0.885000 0.830000 +vt 0.895000 0.810000 +vt 0.885000 0.820000 +vt 0.895000 0.820000 +vt 0.900000 0.820000 +vt 0.895000 0.810000 +vt 0.895000 0.820000 +vt 0.925000 0.680000 +vt 0.920000 0.670000 +vt 0.925000 0.670000 +vt 0.872500 0.860000 +vt 0.885000 0.835000 +vt 0.880000 0.820000 +vt 0.860000 0.835000 +vt 0.872500 0.810000 +vt 0.885000 0.830000 +vt 0.935000 0.680000 +vt 0.930000 0.670000 +vt 0.935000 0.670000 +vt 0.930000 0.660000 +vt 0.935000 0.650000 +vt 0.935000 0.660000 +vt 0.920000 0.660000 +vt 0.925000 0.650000 +vt 0.925000 0.660000 +vt 0.925000 0.680000 +vt 0.920000 0.670000 +vt 0.920000 0.680000 +vt 0.925000 0.670000 +vt 0.920000 0.660000 +vt 0.925000 0.650000 +vt 0.925000 0.660000 +vt 0.935000 0.680000 +vt 0.930000 0.670000 +vt 0.930000 0.680000 +vt 0.935000 0.670000 +vt 0.930000 0.660000 +vt 0.935000 0.650000 +vt 0.935000 0.660000 +vt 0.895000 0.850000 +vt 0.885000 0.850000 +vt 0.885000 0.810000 +vt 0.900000 0.810000 +vt 0.885000 0.810000 +vt 0.900000 0.810000 +vt 0.920000 0.680000 +vt 0.930000 0.680000 +vt 0.930000 0.650000 +vt 0.920000 0.650000 +vt 0.920000 0.650000 +vt 0.930000 0.650000 +vt 0.885000 0.690000 +vt 0.860000 0.710000 +vt 0.860000 0.690000 +vt 0.885000 0.710000 +vt 0.860000 0.730000 +vt 0.885000 0.790000 +vt 0.860000 0.810000 +vt 0.860000 0.790000 +vt 0.885000 0.790000 +vt 0.890000 0.808750 +vt 0.885000 0.810000 +vt 0.890000 0.731250 +vt 0.885000 0.750000 +vt 0.885000 0.730000 +vt 0.890000 0.771250 +vt 0.890000 0.788750 +vt 0.890000 0.731250 +vt 0.885000 0.750000 +vt 0.885000 0.730000 +vt 0.890000 0.808750 +vt 0.885000 0.810000 +vt 0.890000 0.768750 +vt 0.890000 0.751250 +vt 0.890000 0.768750 +vt 0.890000 0.751250 +vt 0.885000 0.670000 +vt 0.890000 0.688750 +vt 0.885000 0.670000 +vt 0.860000 0.690000 +vt 0.860000 0.670000 +vt 0.860000 0.670000 +vt 0.885000 0.710000 +vt 0.890000 0.728750 +vt 0.885000 0.650000 +vt 0.860000 0.650000 +vt 0.860000 0.750000 +vt 0.860000 0.750000 +vt 0.860000 0.730000 +vt 0.860000 0.710000 +vt 0.885000 0.690000 +vt 0.860000 0.810000 +vt 0.860000 0.790000 +vt 0.890000 0.651250 +vt 0.885000 0.650000 +vt 0.890000 0.691250 +vt 0.890000 0.728750 +vt 0.890000 0.771250 +vt 0.890000 0.788750 +vt 0.890000 0.651250 +vt 0.890000 0.688750 +vt 0.890000 0.691250 +vt 0.885000 0.770000 +vt 0.860000 0.770000 +vt 0.860000 0.650000 +vt 0.860000 0.770000 +vt 0.885000 0.770000 +vt 0.890000 0.791250 +vt 0.890000 0.748750 +vt 0.890000 0.748750 +vt 0.890000 0.791250 +vt 0.890000 0.671250 +vt 0.890000 0.711250 +vt 0.890000 0.668750 +vt 0.890000 0.708750 +vt 0.890000 0.711250 +vt 0.890000 0.668750 +vt 0.890000 0.671250 +vt 0.890000 0.708750 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.9991 0.0000 -0.0416 +vn -0.9965 0.0000 0.0830 +vn -0.9988 0.0000 0.0499 +vn -0.9923 0.0000 0.1240 +vn -0.9956 0.0000 0.0933 +vn 0.9991 0.0000 0.0416 +vn 0.9956 0.0000 -0.0933 +vn 0.9923 0.0000 -0.1240 +vn 0.9965 0.0000 -0.0830 +vn 0.9988 0.0000 -0.0499 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.4923 0.7179 0.4923 +vn -0.6980 0.7161 -0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.6980 0.7161 0.0000 +vn 0.4923 0.7179 0.4923 +vn 0.7071 0.7071 0.0000 +vn 0.0000 0.7161 0.6980 +vn -0.4851 0.7276 0.4851 +vn 0.4851 0.7276 0.4851 +vn -0.4923 0.7179 -0.4923 +vn -0.0000 0.7161 -0.6980 +vn -0.0000 0.7071 -0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.4923 0.7179 -0.4923 +vn 0.7071 0.0000 0.7071 +vn 0.0000 0.7071 0.7071 +vn -0.4851 0.7276 -0.4851 +vn 0.4851 0.7276 -0.4851 +s off +f 65/37/35 62/38/35 63/39/35 +f 99/40/36 64/41/36 67/42/36 +f 57/43/37 55/44/37 53/45/37 +f 96/46/35 93/47/35 94/48/35 +f 88/49/37 86/50/37 84/51/37 +f 99/52/38 62/38/38 66/53/38 +f 53/45/37 60/54/37 57/43/37 +f 59/55/37 58/56/37 57/43/37 +f 54/57/37 53/45/37 55/44/37 +f 56/58/37 55/44/37 58/56/37 +f 100/59/37 96/60/37 94/61/37 +f 67/42/39 61/62/39 65/37/39 +f 100/63/36 95/64/36 98/65/36 +f 99/66/37 65/67/37 63/68/37 +f 117/69/40 119/70/40 118/71/40 +f 84/51/37 91/72/37 88/49/37 +f 90/73/37 89/74/37 88/49/37 +f 85/75/37 84/51/37 86/50/37 +f 87/76/37 86/50/37 89/74/37 +f 98/65/39 92/77/39 96/46/39 +f 125/78/41 127/79/41 126/80/41 +f 130/81/42 131/82/42 129/83/42 +f 122/84/43 123/85/43 121/86/43 +f 126/80/42 130/81/42 129/83/42 +f 118/71/44 122/84/44 121/86/44 +f 101/87/45 103/88/45 104/89/45 +f 102/90/46 106/91/46 103/88/46 +f 107/92/47 106/91/47 105/93/47 +f 109/94/48 111/95/48 112/96/48 +f 110/97/49 114/98/49 111/95/49 +f 115/99/49 114/98/49 113/100/49 +f 100/101/38 93/47/38 97/102/38 +f 65/37/35 61/62/35 62/38/35 +f 99/40/36 66/103/36 64/41/36 +f 57/43/37 58/56/37 55/44/37 +f 96/46/35 92/77/35 93/47/35 +f 88/49/37 89/74/37 86/50/37 +f 99/52/38 63/39/38 62/38/38 +f 100/59/37 98/104/37 96/60/37 +f 67/42/39 64/41/39 61/62/39 +f 100/63/36 97/105/36 95/64/36 +f 99/66/37 67/106/37 65/67/37 +f 117/69/40 120/107/40 119/70/40 +f 98/65/39 95/64/39 92/77/39 +f 125/78/41 128/108/41 127/79/41 +f 130/81/42 132/109/42 131/82/42 +f 122/84/43 124/110/43 123/85/43 +f 126/80/42 127/79/42 130/81/42 +f 118/71/44 119/70/44 122/84/44 +f 101/87/45 102/90/45 103/88/45 +f 102/90/46 105/93/46 106/91/46 +f 107/92/47 108/111/47 106/91/47 +f 109/94/48 110/97/48 111/95/48 +f 110/97/49 113/100/49 114/98/49 +f 115/99/49 116/112/49 114/98/49 +f 100/101/38 94/48/38 93/47/38 +s 1 +f 38/113/38 46/114/50 39/115/38 +f 48/116/50 43/117/35 46/114/50 +f 41/118/51 51/119/36 42/120/51 +f 72/121/52 85/122/53 81/123/54 +f 59/124/55 44/125/56 47/126/57 +f 41/118/52 60/127/58 53/128/59 +f 90/129/55 75/130/56 78/131/57 +f 41/118/52 54/132/53 50/133/54 +f 60/134/58 44/125/56 57/135/60 +f 91/136/58 75/130/56 88/137/60 +f 52/138/61 56/139/62 38/113/63 +f 83/140/64 70/141/38 68/142/64 +f 52/138/64 39/115/38 37/143/64 +f 79/144/65 90/145/55 78/131/57 +f 81/146/36 68/142/64 82/147/36 +f 47/126/35 45/148/66 43/117/35 +f 78/131/35 76/149/66 74/150/35 +f 79/144/50 74/150/35 77/151/50 +f 69/152/38 77/151/50 70/141/38 +f 72/121/51 82/153/36 73/154/51 +f 54/155/53 52/138/61 50/156/54 +f 87/157/62 79/144/65 69/152/63 +f 48/116/65 59/158/55 47/126/57 +f 72/121/52 91/159/58 84/160/59 +f 85/161/53 83/140/61 81/146/54 +f 83/140/61 87/162/62 69/152/63 +f 56/163/62 48/116/65 38/113/63 +f 80/164/39 73/154/51 71/165/39 +f 50/156/36 37/143/64 51/166/36 +f 44/125/66 40/167/39 45/148/66 +f 75/130/66 71/165/39 76/149/66 +f 49/168/39 42/120/51 40/167/39 +f 38/113/38 48/116/50 46/114/50 +f 48/116/50 47/126/35 43/117/35 +f 41/118/51 50/133/36 51/119/36 +f 72/121/52 84/169/59 85/122/53 +f 59/124/55 57/170/60 44/125/56 +f 41/118/52 49/168/67 60/127/58 +f 90/129/55 88/171/60 75/130/56 +f 41/118/52 53/172/59 54/132/53 +f 60/134/58 49/168/67 44/125/56 +f 91/136/58 80/164/67 75/130/56 +f 52/138/61 55/173/68 56/139/62 +f 83/140/64 69/152/38 70/141/38 +f 52/138/64 38/113/38 39/115/38 +f 79/144/65 89/174/69 90/145/55 +f 81/146/36 83/140/64 68/142/64 +f 47/126/35 44/125/66 45/148/66 +f 78/131/35 75/130/66 76/149/66 +f 79/144/50 78/131/35 74/150/35 +f 69/152/38 79/144/50 77/151/50 +f 72/121/51 81/123/36 82/153/36 +f 54/155/53 55/175/68 52/138/61 +f 87/157/62 89/176/69 79/144/65 +f 48/116/65 58/177/69 59/158/55 +f 72/121/52 80/164/67 91/159/58 +f 85/161/53 86/178/68 83/140/61 +f 83/140/61 86/179/68 87/162/62 +f 56/163/62 58/180/69 48/116/65 +f 80/164/39 72/121/51 73/154/51 +f 50/156/36 52/138/64 37/143/64 +f 44/125/66 49/168/39 40/167/39 +f 75/130/66 80/164/39 71/165/39 +f 49/168/39 41/118/51 42/120/51 +o Battery +v 1.000000 2.562500 -3.162501 +v 0.750000 2.562500 -2.537501 +v 1.000000 2.562500 -2.537501 +v 1.000000 1.562500 -3.162500 +v 1.062500 1.625000 -3.162500 +v 1.062500 1.625000 -2.537500 +v 0.687500 1.625000 -3.162501 +v 0.687500 2.500000 -2.537501 +v 0.687500 2.500000 -3.162501 +v 1.062500 2.500000 -3.162501 +v 0.750000 1.562500 -3.162501 +v 0.687500 1.625000 -2.537501 +v 1.000000 1.562500 -2.537500 +v 0.750000 1.562500 -2.537501 +v 1.062500 2.500000 -2.537501 +v 0.750000 2.562500 -3.162501 +v 0.750000 2.500000 -3.162501 +v 1.000000 2.500000 -3.162501 +v 0.750000 2.500000 -2.537501 +v 1.000000 2.500000 -2.537501 +v 0.750000 1.625000 -3.162501 +v 1.000000 1.625000 -3.162500 +v 1.000000 1.625000 -2.537500 +v 0.750000 1.625000 -2.537501 +v 1.000000 2.062500 -3.350001 +v 0.968750 2.156250 -3.350001 +v 0.968750 2.156250 -2.350001 +v 0.875000 2.500000 -3.350001 +v 0.968750 2.468750 -2.350001 +v 0.968750 2.468750 -3.350001 +v 1.000000 1.750000 -3.350001 +v 0.968750 1.843750 -3.350001 +v 0.968750 1.843750 -2.350001 +v 0.875000 2.187500 -2.350001 +v 0.968750 2.281250 -3.350001 +v 1.000000 2.375000 -3.350001 +v 1.000000 2.375000 -2.350001 +v 0.875000 1.875000 -2.350001 +v 0.968750 1.968750 -3.350001 +v 1.000000 2.062500 -2.350001 +v 0.968750 2.281250 -2.350001 +v 0.875000 2.250000 -2.350001 +v 0.968750 1.656250 -3.350001 +v 1.000000 1.750000 -2.350001 +v 0.968750 1.968750 -2.350001 +v 0.875000 1.937500 -2.350001 +v 0.781250 2.281250 -3.350001 +v 0.875000 2.250000 -3.350001 +v 0.875000 1.625000 -3.350001 +v 0.968750 1.656250 -2.350001 +v 0.781250 1.968750 -3.350001 +v 0.875000 1.937500 -3.350001 +v 0.750000 2.375000 -3.350001 +v 0.781250 2.281250 -2.350001 +v 0.781250 1.656250 -3.350001 +v 0.875000 1.625000 -2.350001 +v 0.781250 2.468750 -2.350001 +v 0.781250 2.468750 -3.350001 +v 0.750000 2.062500 -3.350001 +v 0.781250 1.968750 -2.350001 +v 0.781250 2.156250 -2.350001 +v 0.781250 2.156250 -3.350001 +v 0.750000 1.750000 -3.350001 +v 0.781250 1.656250 -2.350001 +v 0.781250 1.843750 -2.350001 +v 0.781250 1.843750 -3.350001 +v 0.875000 2.187500 -3.350001 +v 0.875000 1.875000 -3.350001 +v 0.750000 1.750000 -2.350001 +v 0.750000 2.062500 -2.350001 +v 0.750000 2.375000 -2.350001 +v 0.875000 2.500000 -2.350001 +vt 0.760000 0.100000 +vt 0.770000 0.110000 +vt 0.760000 0.110000 +vt 0.790000 0.110000 +vt 0.780000 0.180000 +vt 0.790000 0.180000 +vt 0.790000 0.190000 +vt 0.790000 0.180000 +vt 0.795000 0.180000 +vt 0.780000 0.190000 +vt 0.775000 0.180000 +vt 0.780000 0.180000 +vt 0.705000 0.200000 +vt 0.710000 0.230000 +vt 0.700000 0.220000 +vt 0.770000 0.190000 +vt 0.775000 0.180000 +vt 0.770000 0.180000 +vt 0.760000 0.190000 +vt 0.760000 0.180000 +vt 0.755000 0.180000 +vt 0.795000 0.110000 +vt 0.790000 0.110000 +vt 0.790000 0.100000 +vt 0.775000 0.110000 +vt 0.780000 0.100000 +vt 0.780000 0.110000 +vt 0.755000 0.110000 +vt 0.760000 0.110000 +vt 0.760000 0.100000 +vt 0.775000 0.110000 +vt 0.770000 0.100000 +vt 0.770000 0.110000 +vt 0.775000 0.220000 +vt 0.760000 0.210000 +vt 0.765000 0.230000 +vt 0.790000 0.220000 +vt 0.775000 0.210000 +vt 0.780000 0.230000 +vt 0.750000 0.200000 +vt 0.755000 0.230000 +vt 0.760000 0.210000 +vt 0.710000 0.200000 +vt 0.715000 0.210000 +vt 0.700000 0.210000 +vt 0.705000 0.230000 +vt 0.715000 0.220000 +vt 0.720000 0.200000 +vt 0.715000 0.210000 +vt 0.715000 0.220000 +vt 0.720000 0.230000 +vt 0.725000 0.230000 +vt 0.730000 0.210000 +vt 0.725000 0.200000 +vt 0.730000 0.220000 +vt 0.730000 0.210000 +vt 0.730000 0.220000 +vt 0.735000 0.200000 +vt 0.740000 0.230000 +vt 0.735000 0.230000 +vt 0.745000 0.220000 +vt 0.745000 0.210000 +vt 0.740000 0.200000 +vt 0.785000 0.230000 +vt 0.785000 0.200000 +vt 0.780000 0.200000 +vt 0.790000 0.210000 +vt 0.775000 0.220000 +vt 0.760000 0.220000 +vt 0.770000 0.200000 +vt 0.765000 0.200000 +vt 0.775000 0.210000 +vt 0.770000 0.230000 +vt 0.760000 0.220000 +vt 0.745000 0.220000 +vt 0.750000 0.230000 +vt 0.745000 0.210000 +vt 0.755000 0.200000 +vt 0.770000 0.100000 +vt 0.780000 0.110000 +vt 0.750000 0.170000 +vt 0.710000 0.180000 +vt 0.750000 0.180000 +vt 0.820000 0.070000 +vt 0.795000 0.000000 +vt 0.795000 0.070000 +vt 0.710000 0.150000 +vt 0.750000 0.140000 +vt 0.750000 0.150000 +vt 0.750000 0.130000 +vt 0.710000 0.120000 +vt 0.710000 0.130000 +vt 0.750000 0.170000 +vt 0.710000 0.180000 +vt 0.710000 0.170000 +vt 0.750000 0.160000 +vt 0.750000 0.150000 +vt 0.710000 0.160000 +vt 0.750000 0.160000 +vt 0.750000 0.140000 +vt 0.710000 0.150000 +vt 0.820000 0.080000 +vt 0.795000 0.100000 +vt 0.820000 0.100000 +vt 0.820000 0.180000 +vt 0.795000 0.110000 +vt 0.795000 0.180000 +vt 0.750000 0.170000 +vt 0.710000 0.180000 +vt 0.750000 0.180000 +vt 0.795000 0.210000 +vt 0.820000 0.190000 +vt 0.795000 0.190000 +vt 0.750000 0.130000 +vt 0.710000 0.140000 +vt 0.750000 0.140000 +vt 0.710000 0.150000 +vt 0.750000 0.160000 +vt 0.750000 0.150000 +vt 0.750000 0.190000 +vt 0.750000 0.180000 +vt 0.820000 0.110000 +vt 0.750000 0.130000 +vt 0.710000 0.120000 +vt 0.750000 0.120000 +vt 0.795000 0.080000 +vt 0.750000 0.110000 +vt 0.710000 0.110000 +vt 0.710000 0.160000 +vt 0.710000 0.170000 +vt 0.750000 0.110000 +vt 0.750000 0.120000 +vt 0.710000 0.190000 +vt 0.750000 0.110000 +vt 0.710000 0.120000 +vt 0.750000 0.120000 +vt 0.710000 0.170000 +vt 0.710000 0.130000 +vt 0.710000 0.140000 +vt 0.710000 0.130000 +vt 0.820000 0.220000 +vt 0.795000 0.220000 +vt 0.710000 0.190000 +vt 0.820000 0.000000 +vt 0.710000 0.140000 +vt 0.820000 0.210000 +vt 0.710000 0.160000 +vt 0.710000 0.190000 +vt 0.710000 0.110000 +vt 0.750000 0.190000 +vt 0.710000 0.110000 +vt 0.750000 0.190000 +vn -0.0000 0.0000 1.0000 +vn 0.0000 -0.0000 -1.0000 +vn 1.0000 -0.0000 -0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.9239 -0.3827 0.0000 +vn -0.9239 0.3827 0.0000 +vn -0.0000 -1.0000 -0.0000 +vn 0.7071 -0.7071 -0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.7071 -0.7071 -0.0000 +vn -0.3827 -0.9239 0.0000 +vn 0.3827 -0.9239 0.0000 +vn 0.9239 0.3827 0.0000 +vn 0.9239 -0.3827 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.3827 0.9239 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 146/181/70 155/182/70 156/183/70 +f 154/184/71 149/185/71 150/186/71 +f 148/187/71 149/188/71 141/189/71 +f 133/190/71 142/191/71 150/192/71 +f 190/193/71 167/194/71 179/195/71 +f 134/196/70 140/197/70 151/198/70 +f 135/199/70 152/200/70 147/201/70 +f 139/202/71 153/203/71 143/204/71 +f 137/205/71 136/206/71 154/207/71 +f 138/208/70 155/209/70 145/210/70 +f 144/211/70 146/212/70 156/213/70 +f 151/198/70 155/209/70 152/200/70 +f 153/203/71 141/189/71 149/188/71 +f 143/204/71 154/207/71 136/206/71 +f 155/209/70 147/201/70 152/200/70 +f 177/214/70 193/215/70 192/216/70 +f 182/217/70 197/218/70 196/219/70 +f 134/196/70 152/200/70 135/199/70 +f 144/211/70 151/198/70 140/197/70 +f 148/187/71 150/192/71 149/188/71 +f 161/220/70 186/221/70 173/222/70 +f 137/205/71 150/192/71 142/191/71 +f 190/193/71 160/223/71 162/224/71 +f 190/193/71 179/195/71 185/225/71 +f 180/226/71 179/195/71 167/194/71 +f 168/227/71 167/194/71 162/224/71 +f 194/228/71 199/229/71 158/230/71 +f 157/231/71 171/232/71 158/230/71 +f 194/228/71 183/233/71 191/234/71 +f 184/235/71 183/233/71 171/232/71 +f 181/236/71 187/237/71 175/238/71 +f 198/239/71 187/237/71 195/240/71 +f 198/239/71 200/241/71 164/242/71 +f 163/243/71 175/238/71 164/242/71 +f 187/237/71 164/242/71 175/238/71 +f 188/244/70 182/217/70 196/219/70 +f 197/218/70 165/245/70 170/246/70 +f 176/247/70 165/245/70 182/217/70 +f 197/218/70 201/248/70 196/219/70 +f 193/215/70 202/249/70 192/216/70 +f 193/215/70 159/250/70 166/251/70 +f 172/252/70 159/250/70 177/214/70 +f 178/253/70 177/214/70 192/216/70 +f 183/233/71 158/230/71 171/232/71 +f 174/254/70 173/222/70 186/221/70 +f 189/255/70 203/256/70 186/221/70 +f 189/255/70 161/220/70 204/257/70 +f 169/258/70 161/220/70 173/222/70 +f 146/181/70 145/259/70 155/182/70 +f 154/184/71 153/260/71 149/185/71 +f 190/193/71 162/224/71 167/194/71 +f 151/198/70 156/213/70 155/209/70 +f 153/203/71 139/202/71 141/189/71 +f 143/204/71 153/203/71 154/207/71 +f 155/209/70 138/208/70 147/201/70 +f 177/214/70 159/250/70 193/215/70 +f 182/217/70 165/245/70 197/218/70 +f 134/196/70 151/198/70 152/200/70 +f 144/211/70 156/213/70 151/198/70 +f 148/187/71 133/190/71 150/192/71 +f 161/220/70 189/255/70 186/221/70 +f 137/205/71 154/207/71 150/192/71 +f 187/237/71 198/239/71 164/242/71 +f 183/233/71 194/228/71 158/230/71 +s 1 +f 172/261/72 158/262/73 159/263/73 +f 144/264/74 141/265/75 139/266/74 +f 180/267/76 173/268/77 174/269/76 +f 201/270/78 198/271/79 195/272/78 +f 203/273/78 190/274/79 185/275/78 +f 186/276/80 180/267/76 174/269/76 +f 188/277/76 175/278/77 182/279/77 +f 196/280/80 181/281/76 188/277/76 +f 146/282/81 136/283/82 145/284/82 +f 147/285/83 137/286/84 142/287/83 +f 176/288/72 164/289/73 165/290/73 +f 148/291/85 135/292/86 133/293/86 +f 202/294/78 183/295/80 192/296/80 +f 184/297/76 177/298/77 178/299/76 +f 204/300/87 190/274/79 189/301/79 +f 145/284/82 137/286/84 138/302/84 +f 169/303/72 162/304/73 161/305/73 +f 146/282/81 139/266/74 143/306/81 +f 147/285/83 133/293/86 135/292/86 +f 204/307/87 162/304/73 160/308/87 +f 203/273/78 179/309/80 186/276/80 +f 182/279/77 163/310/72 176/288/72 +f 192/296/80 184/297/76 178/299/76 +f 170/311/87 198/271/79 197/312/79 +f 200/313/87 165/290/73 164/289/73 +f 166/314/87 194/315/79 193/316/79 +f 177/298/77 157/317/72 172/261/72 +f 202/294/78 194/315/79 191/318/78 +f 201/270/78 187/319/80 196/280/80 +f 173/268/77 168/320/72 169/303/72 +f 140/321/75 148/291/85 141/322/75 +f 199/323/87 159/263/73 158/262/73 +f 172/261/72 157/317/72 158/262/73 +f 144/264/74 140/324/75 141/265/75 +f 180/267/76 167/325/77 173/268/77 +f 201/270/78 197/312/79 198/271/79 +f 203/273/78 189/301/79 190/274/79 +f 186/276/80 179/309/80 180/267/76 +f 188/277/76 181/281/76 175/278/77 +f 196/280/80 187/319/80 181/281/76 +f 146/282/81 143/306/81 136/283/82 +f 147/285/83 138/302/84 137/286/84 +f 176/288/72 163/310/72 164/289/73 +f 148/291/85 134/326/85 135/292/86 +f 202/294/78 191/318/78 183/295/80 +f 184/297/76 171/327/77 177/298/77 +f 204/300/87 160/328/87 190/274/79 +f 145/284/82 136/283/82 137/286/84 +f 169/303/72 168/320/72 162/304/73 +f 146/282/81 144/264/74 139/266/74 +f 147/285/83 142/287/83 133/293/86 +f 204/307/87 161/305/73 162/304/73 +f 203/273/78 185/275/78 179/309/80 +f 182/279/77 175/278/77 163/310/72 +f 192/296/80 183/295/80 184/297/76 +f 170/311/87 200/329/87 198/271/79 +f 200/313/87 170/330/87 165/290/73 +f 166/314/87 199/331/87 194/315/79 +f 177/298/77 171/327/77 157/317/72 +f 202/294/78 193/316/79 194/315/79 +f 201/270/78 195/272/78 187/319/80 +f 173/268/77 167/325/77 168/320/72 +f 140/321/75 134/326/85 148/291/85 +f 199/323/87 166/332/87 159/263/73 +o Latch +v 1.125000 2.750000 -1.912501 +v 1.000000 2.750000 -2.412501 +v 1.000001 2.750000 -1.912501 +v 1.125000 2.750000 -2.412501 +v 1.000000 1.375000 -1.912501 +v 1.000000 1.375000 -2.412500 +v 1.125000 1.375000 -2.412500 +v 1.125000 1.375000 -1.912501 +v 1.125000 1.500000 -2.037500 +v 1.213389 1.500000 -2.000889 +v 1.125000 1.437500 -1.912501 +v 1.250000 1.500000 -1.912500 +v 1.213389 1.500000 -1.824112 +v 1.125000 1.500000 -1.787500 +v 1.125000 2.625000 -2.037501 +v 1.125000 2.687500 -1.912501 +v 1.213389 2.625000 -2.000889 +v 1.250001 2.625000 -1.912500 +v 1.213389 2.625000 -1.824112 +v 1.125000 2.625000 -1.787500 +v 1.000000 2.750000 -0.912501 +v 1.000000 1.375000 -0.912501 +v 1.375000 2.750000 -0.912501 +v 1.375000 1.375000 -0.912501 +v 1.125000 1.312500 -2.412500 +v 1.125000 1.312500 -3.412500 +v 1.125000 2.812500 -3.412501 +v 1.125000 2.812500 -2.412501 +v 0.625000 1.312500 -2.412501 +v 0.625000 2.812500 -2.412501 +v 0.625000 2.812500 -3.287501 +v 0.625000 1.312500 -3.287501 +v 1.000000 2.625000 -3.350001 +v 1.062500 2.562500 -3.350001 +v 0.687500 2.562500 -3.287501 +v 0.750000 2.625000 -3.287501 +v 1.000000 2.625000 -2.787501 +v 0.750000 2.625000 -2.787501 +v 1.000000 1.500000 -3.350000 +v 1.000000 1.500000 -2.787500 +v 1.062500 1.562500 -2.787500 +v 1.062500 1.562500 -3.350000 +v 1.062500 2.562500 -2.787501 +v 0.750000 1.500000 -3.287501 +v 0.750000 1.500000 -2.787501 +v 0.687500 1.562500 -3.287501 +v 0.687500 1.562500 -2.787501 +v 0.687500 2.562500 -2.787501 +v 1.062500 1.500000 -2.787501 +v 0.687500 1.500000 -2.787501 +v 0.687500 2.625000 -2.787501 +v 1.062500 2.625000 -2.787501 +vt 0.565000 0.670000 +vt 0.605000 0.550000 +vt 0.605000 0.670000 +vt 0.565000 0.710000 +vt 0.600000 0.830000 +vt 0.600000 0.710000 +vt 0.490000 0.470000 +vt 0.495000 0.430000 +vt 0.490000 0.430000 +vt 0.635000 0.670000 +vt 0.615000 0.650000 +vt 0.625000 0.650000 +vt 0.600000 0.710000 +vt 0.565000 0.710000 +vt 0.490000 0.740000 +vt 0.495000 0.780000 +vt 0.490000 0.780000 +vt 0.565000 0.550000 +vt 0.600000 0.510000 +vt 0.505000 0.550000 +vt 0.545000 0.660000 +vt 0.505000 0.660000 +vt 0.610000 0.640000 +vt 0.630000 0.640000 +vt 0.495000 0.470000 +vt 0.490000 0.550000 +vt 0.490000 0.470000 +vt 0.545000 0.710000 +vt 0.565000 0.830000 +vt 0.565000 0.710000 +vt 0.495000 0.740000 +vt 0.490000 0.660000 +vt 0.625000 0.820000 +vt 0.615000 0.800000 +vt 0.615000 0.820000 +vt 0.565000 0.550000 +vt 0.565000 0.660000 +vt 0.610000 0.580000 +vt 0.615000 0.570000 +vt 0.630000 0.580000 +vt 0.625000 0.570000 +vt 0.635000 0.550000 +vt 0.565000 0.830000 +vt 0.495000 0.470000 +vt 0.495000 0.740000 +vt 0.565000 0.510000 +vt 0.545000 0.550000 +vt 0.545000 0.830000 +vt 0.490000 0.740000 +vt 0.625000 0.800000 +vt 0.630000 0.690000 +vt 0.610000 0.770000 +vt 0.630000 0.770000 +vt 0.630000 0.690000 +vt 0.610000 0.770000 +vt 0.630000 0.770000 +vt 0.555000 0.440000 +vt 0.550000 0.440000 +vt 0.550000 0.430000 +vt 0.540000 0.440000 +vt 0.545000 0.440000 +vt 0.545000 0.430000 +vt 0.545000 0.440000 +vt 0.550000 0.440000 +vt 0.540000 0.440000 +vt 0.540000 0.430000 +vt 0.535000 0.440000 +vt 0.555000 0.530000 +vt 0.550000 0.540000 +vt 0.550000 0.530000 +vt 0.545000 0.540000 +vt 0.550000 0.530000 +vt 0.545000 0.530000 +vt 0.540000 0.530000 +vt 0.545000 0.540000 +vt 0.535000 0.530000 +vt 0.540000 0.540000 +vt 0.630000 0.680000 +vt 0.610000 0.690000 +vt 0.610000 0.780000 +vt 0.630000 0.800000 +vt 0.630000 0.780000 +vt 0.540000 0.440000 +vt 0.630000 0.780000 +vt 0.610000 0.800000 +vt 0.630000 0.800000 +vt 0.630000 0.680000 +vt 0.610000 0.690000 +vt 0.535000 0.440000 +vt 0.610000 0.680000 +vt 0.610000 0.800000 +vt 0.610000 0.780000 +vt 0.610000 0.680000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 -0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.2394 -0.1596 -0.9577 +vn 0.0000 1.0000 0.0000 +vn 0.9701 0.0000 -0.2425 +vn -0.1924 -0.1924 -0.9623 +vn -0.0000 0.0000 -1.0000 +vn 0.0000 -0.0000 1.0000 +vn -0.7071 -0.0000 -0.7071 +vn -0.1925 0.1925 -0.9623 +vn -0.2394 0.1596 -0.9577 +vn -0.9239 -0.3827 0.0000 +vn -0.9239 0.3827 0.0000 +vn 0.9239 0.3827 0.0000 +vn 0.9239 -0.3827 0.0000 +vn 0.1821 -0.8795 -0.4397 +vn 0.3162 -0.8944 -0.3162 +vn 0.3333 -0.9428 -0.0000 +vn 0.4472 -0.8944 0.0000 +vn 0.3162 -0.8944 0.3162 +vn 0.1821 -0.8795 0.4397 +vn 0.1821 0.8795 -0.4397 +vn 0.3333 0.9428 -0.0000 +vn 0.3162 0.8944 -0.3162 +vn 0.4472 0.8944 0.0000 +vn 0.3162 0.8944 0.3162 +vn 0.1821 0.8795 0.4397 +vn -0.3827 -0.9239 0.0000 +vn 0.7071 -0.0000 -0.7071 +vn 0.3827 -0.0000 -0.9239 +vn 0.3548 -0.9349 0.0000 +vn 0.3827 -0.9239 0.0000 +vn 0.7071 -0.0000 0.7071 +vn -0.3827 0.9239 0.0000 +vn 0.3548 0.9349 0.0000 +vn 0.3827 0.9239 0.0000 +vn 0.3827 0.0000 0.9239 +vn -0.4148 -0.9099 0.0000 +vn -0.4148 0.9099 0.0000 +s off +f 232/333/88 230/334/88 231/335/88 +f 235/336/89 233/337/89 234/338/89 +f 212/339/90 210/340/90 211/341/90 +f 235/342/91 237/343/91 240/344/91 +f 232/333/92 235/345/92 234/346/92 +f 208/347/92 207/348/92 205/349/92 +f 229/350/90 236/351/90 230/334/90 +f 228/352/93 205/353/93 227/354/93 +f 237/343/94 231/335/94 238/355/94 +f 239/356/95 235/342/95 240/344/95 +f 212/357/90 226/358/90 209/359/90 +f 227/354/96 226/358/96 228/352/96 +f 234/360/96 229/361/96 232/362/96 +f 205/363/92 225/364/92 227/354/92 +f 256/365/95 254/366/95 255/367/95 +f 205/353/88 211/368/88 208/369/88 +f 246/370/97 238/355/97 230/334/97 +f 231/335/97 230/334/97 238/355/97 +f 246/370/98 230/334/98 243/371/98 +f 250/372/95 248/373/95 236/374/95 +f 236/374/95 235/342/95 250/372/95 +f 250/372/95 235/342/95 239/356/95 +f 236/374/99 243/371/99 230/334/99 +f 232/333/88 229/350/88 230/334/88 +f 235/336/89 236/375/89 233/337/89 +f 212/339/90 209/376/90 210/340/90 +f 235/342/91 231/335/91 237/343/91 +f 232/333/92 231/335/92 235/345/92 +f 208/347/92 206/377/92 207/348/92 +f 229/350/90 233/378/90 236/351/90 +f 228/352/93 212/379/93 205/353/93 +f 212/357/90 228/352/90 226/358/90 +f 227/354/96 225/364/96 226/358/96 +f 234/360/96 233/380/96 229/361/96 +f 205/363/92 207/381/92 225/364/92 +f 256/365/95 253/382/95 254/366/95 +f 205/353/88 212/379/88 211/368/88 +f 236/374/99 248/373/99 243/371/99 +s 1 +f 247/383/100 246/384/101 245/385/101 +f 251/386/102 239/387/103 252/388/103 +f 213/389/104 214/390/105 215/391/106 +f 214/392/105 216/393/107 215/394/106 +f 217/395/108 215/394/106 216/396/107 +f 218/397/109 215/398/106 217/399/108 +f 219/400/110 220/401/111 221/402/112 +f 221/403/112 220/404/111 222/405/113 +f 223/406/114 222/405/113 220/407/111 +f 224/408/115 223/406/114 220/409/111 +f 241/410/116 238/411/100 247/383/100 +f 214/390/117 222/405/88 216/393/88 +f 213/389/118 221/402/117 214/390/117 +f 240/412/119 241/413/116 242/414/120 +f 216/393/88 223/406/121 217/415/121 +f 244/416/122 248/417/123 249/418/124 +f 249/419/124 250/420/102 251/386/102 +f 246/384/101 244/416/122 245/385/101 +f 217/415/121 224/408/125 218/421/125 +f 252/388/103 240/412/119 242/414/120 +f 247/383/100 238/411/100 246/384/101 +f 251/386/102 250/420/102 239/387/103 +f 241/410/116 237/422/126 238/411/100 +f 214/390/117 221/402/117 222/405/88 +f 213/389/118 219/400/118 221/402/117 +f 240/412/119 237/423/126 241/413/116 +f 216/393/88 222/405/88 223/406/121 +f 244/416/122 243/424/127 248/417/123 +f 249/419/124 248/425/123 250/420/102 +f 246/384/101 243/424/127 244/416/122 +f 217/415/121 223/406/121 224/408/125 +f 252/388/103 239/387/103 240/412/119 +o Gun +v -0.375000 -1.375000 -1.537500 +v -0.375000 -1.250000 -2.162500 +v 0.375000 -1.250000 -2.162500 +v -0.125000 1.000000 0.087500 +v 0.125000 0.187500 -0.162500 +v 0.125000 1.000000 0.087500 +v -0.125000 0.187500 -0.537500 +v -0.125000 1.000000 -0.537500 +v -0.125000 0.187500 -0.787500 +v 0.125000 0.187500 -0.787500 +v -0.125000 -1.250001 -2.412500 +v 0.125000 -1.250001 -2.412500 +v 0.375000 -1.375000 -1.537500 +v -0.125000 0.187500 -0.162500 +v 0.125000 0.187500 -0.537500 +v 0.125000 1.000000 -0.537500 +v 0.125000 -1.000001 -2.462500 +v 0.125000 0.687500 -2.037500 +v -0.125000 1.000000 -2.037500 +v 0.125000 1.000000 -2.037500 +v 0.375000 0.687500 -1.787500 +v 0.375000 1.000000 -0.787500 +v 0.375000 1.000000 -1.787500 +v -0.375000 0.375000 -0.912500 +v -0.375000 -1.000000 -2.162500 +v -0.375000 1.000000 -0.787500 +v -0.375000 0.687500 -1.787500 +v -0.125000 0.687500 -2.037500 +v -0.375000 1.000000 -1.787500 +v -0.125000 -1.000001 -2.462500 +v -0.375000 0.124999 -1.962500 +v 0.375000 -1.000000 -2.162500 +v 0.375000 0.375000 -0.912500 +v -0.125000 0.000000 -0.350000 +v 0.125000 -0.187500 -0.162500 +v -0.125000 -0.132583 -0.029917 +v -0.125000 -0.187500 -0.162500 +v 0.125000 -0.132583 -0.029917 +v 0.125000 -0.132583 -0.295082 +v -0.125000 -0.132583 -0.295082 +v 0.125000 0.000000 -0.350000 +v -0.125000 0.132583 -0.029918 +v -0.125000 -0.000000 0.025000 +v 0.125000 0.132583 -0.029918 +v 0.125000 -0.000000 0.025000 +v 0.125000 0.625000 -2.287500 +v 0.375000 0.625000 -2.037500 +v -0.125000 0.625000 -2.287500 +v -0.375000 0.625000 -2.037500 +v 0.125000 0.437500 -2.287500 +v -0.125000 0.437500 -2.287500 +v 0.125000 0.249999 -2.087500 +v -0.125000 0.249999 -2.087500 +v 0.125000 -0.000001 -2.087500 +v -0.125000 -0.000001 -2.087500 +v 0.125000 -0.500001 -2.212500 +v -0.125000 -0.500001 -2.212500 +v 0.375000 0.124999 -1.962500 +v 0.375000 0.437500 -2.037500 +v -0.375000 0.437500 -2.037500 +v -0.125000 1.000000 -0.162500 +v 0.125000 1.000000 -0.162500 +v 0.125000 -0.125000 -0.787500 +v -0.125000 -0.125000 -0.787500 +v 0.125000 -0.312550 -0.865625 +v -0.125000 -0.312550 -0.865625 +v 0.125000 -0.500050 -0.850000 +v -0.125000 -0.500050 -0.850000 +v 0.125000 -0.750050 -0.975000 +v 0.125000 -1.515625 -0.912500 +v -0.125000 -1.187500 -0.990625 +v -0.125000 -1.515625 -0.912500 +v 0.125000 -1.187500 -0.990625 +v -0.125000 -0.937500 -0.943750 +v 0.125000 -0.937500 -0.943750 +v -0.125000 -0.750050 -0.975000 +v -0.250000 -0.750050 -1.100000 +v 0.250000 -0.750050 -1.100000 +v 0.250000 -0.312550 -0.990625 +v -0.250000 -0.312550 -0.990625 +v 0.375000 1.000000 -1.287500 +v 0.390625 0.250000 -1.350000 +v 0.390625 0.250000 -1.600000 +v 0.390625 -0.750000 -1.600000 +v 0.390625 -0.750000 -1.850000 +v 0.375000 -1.375000 -1.850000 +v -0.390625 -0.750000 -1.600000 +v -0.390625 -0.750000 -1.850000 +v -0.375000 -1.375000 -1.850000 +v -0.390625 0.250000 -1.600000 +v -0.390625 0.250000 -1.350000 +v -0.375000 1.000000 -1.037500 +v -0.375000 1.000000 -1.287500 +v -0.375000 -1.375000 -1.600000 +v 0.375000 -1.375000 -1.600000 +v 0.375000 1.000000 -1.037500 +v -0.718750 3.250000 -1.350000 +v -0.656250 3.250000 -0.287500 +v -0.656250 3.250000 -1.350000 +v -0.750000 3.187500 -1.350000 +v -0.750000 3.187500 -0.287500 +v -0.718750 3.125000 -1.350000 +v -0.718750 3.125000 -0.287500 +v -0.625000 3.187500 -1.350000 +v -0.656250 3.125000 -1.350000 +v -0.625000 3.187500 -0.287500 +v -0.656250 3.125000 -0.287500 +v -0.718750 3.250000 -0.162500 +v -0.656250 3.000000 0.212500 +v -0.656250 3.250000 -0.162500 +v -0.750000 3.187500 -0.162500 +v -0.750000 2.937500 0.212500 +v -0.718750 3.000000 0.212500 +v -0.718750 3.125000 -0.162500 +v -0.718750 2.875000 0.212500 +v -0.625000 3.187500 -0.162500 +v -0.656250 3.125000 -0.162500 +v -0.625000 2.937500 0.212500 +v -0.656250 2.875000 0.212500 +v -0.656250 3.000000 0.337500 +v -0.625000 2.937500 0.337500 +v -0.656250 2.875000 0.337500 +v -0.750000 2.937500 0.337500 +v -0.718750 3.000000 0.337500 +v -0.718750 2.875000 0.337500 +v -0.651714 3.251116 -1.361053 +v -0.696920 3.255372 -1.404001 +v -0.643492 3.128140 -1.381895 +v -0.688698 3.132396 -1.424843 +v -0.715412 3.196012 -1.435896 +v -0.563698 3.132396 -1.549843 +v -0.571920 3.255372 -1.529001 +v -0.590412 3.196012 -1.560896 +v -0.526714 3.251116 -1.486053 +v -0.500000 3.187500 -1.475000 +v -0.727903 2.875000 0.359597 +v -0.750000 2.875000 0.368750 +v -0.683709 2.875000 0.403791 +v -0.661611 2.937500 0.425888 +v -0.750000 2.875000 0.431250 +v -0.727903 3.000000 0.359597 +v -0.750000 3.000000 0.368750 +v -0.683709 3.000000 0.403791 +v -0.750000 3.000000 0.431250 +v -0.875000 3.000000 0.368750 +v -0.875000 3.000000 0.431250 +v -0.875000 2.937500 0.337500 +v -0.750000 2.937500 0.462500 +v -0.875000 2.937500 0.462500 +v -0.875000 2.875000 0.431250 +v -0.919194 2.919194 0.462500 +v -0.963388 2.963388 0.431250 +v -0.963388 2.963388 0.368750 +v -0.919194 2.919194 0.337500 +v -0.875000 2.875000 0.368750 +v -1.000000 2.750000 0.431250 +v -1.088388 2.838388 0.431250 +v -1.044194 2.794194 0.462500 +v -1.088388 2.838388 0.368750 +v -1.044194 2.794194 0.337500 +v -1.000000 2.750000 0.368750 +v -1.062500 2.750000 0.462500 +v -1.062500 2.750000 0.337500 +v -1.125000 2.750000 0.368750 +v -1.125000 2.750000 0.431250 +v -1.062500 2.625000 0.337500 +v -1.125000 2.625000 0.368750 +v -1.125000 2.625000 0.431250 +v -1.000000 2.625000 0.368750 +v -1.000000 2.625000 0.431250 +v -1.000000 2.522097 0.484597 +v -1.000000 2.477903 0.440403 +v -1.062500 2.625000 0.462500 +v -1.125000 2.522097 0.484597 +v -1.062500 2.455806 0.418306 +v -1.125000 2.477903 0.440403 +v -1.062500 2.375000 0.587500 +v -1.125000 2.406250 0.587500 +v -1.125000 2.468750 0.587500 +v -1.000000 2.468750 0.587500 +v -1.062500 2.500000 0.587500 +v -1.000000 2.406250 0.587500 +v -1.000000 2.406250 2.212500 +v -1.000000 2.477903 2.359597 +v -1.062500 2.455806 2.381695 +v -1.062500 2.500000 2.212500 +v -1.000000 2.522097 2.315403 +v -1.000000 2.468750 2.212500 +v -1.125000 2.406250 2.212500 +v -1.062500 2.375000 2.212500 +v -1.125000 2.468750 2.212500 +v -1.125000 2.477903 2.359597 +v -1.125000 2.522097 2.315403 +v -1.000000 2.625000 2.368750 +v -1.125000 2.625000 2.368750 +v -1.062500 2.625000 2.337500 +v -1.000000 2.625000 2.431250 +v -1.062500 2.625000 2.462500 +v -1.125000 2.625000 2.431250 +v -1.031750 2.812500 2.431250 +v -1.094250 2.812500 2.525000 +v -1.156750 2.812500 2.493750 +v -1.156750 2.812500 2.431250 +v -1.094250 2.812500 2.400000 +v -1.031750 2.812500 2.493750 +v -1.062500 2.943972 2.502903 +v -1.187500 2.943972 2.502903 +v -1.125000 2.966069 2.480806 +v -1.062500 2.899778 2.547097 +v -1.125000 2.877681 2.569195 +v -1.187500 2.899778 2.547097 +v -1.062500 3.015625 2.650000 +v -1.125000 2.921875 2.650001 +v -1.187500 2.953125 2.650000 +v -1.062500 2.953125 2.650000 +v -1.187500 3.015625 2.650000 +v -1.187500 3.031250 3.837500 +v -1.125000 3.062500 3.837500 +v -1.062500 2.968750 3.837500 +v -1.062500 3.031250 3.837500 +v -1.125000 2.937500 3.837501 +v -1.187500 2.968750 3.837500 +v -0.718750 3.250000 -0.287500 +v -0.518492 3.128140 -1.506895 +v -1.062500 2.544194 0.506694 +v -1.000000 2.437000 1.587500 +v -1.125000 2.499500 1.587500 +v -1.000000 2.499500 1.587500 +v -1.125000 2.437000 1.587500 +v -1.062500 2.405750 1.587500 +v -1.062500 2.530750 1.587500 +v -1.062500 2.544194 2.293306 +v -1.125000 3.046875 2.650000 +v -1.000000 2.437000 1.712500 +v -1.062500 2.530750 1.712500 +v -1.062500 2.405750 1.712500 +v -1.125000 2.437000 1.712500 +v -1.125000 2.499500 1.712500 +v -1.000000 2.499500 1.712500 +v -0.570082 3.375000 -1.467417 +v -0.614276 3.312500 -1.423228 +v -0.437500 3.375000 -1.412500 +v -0.437499 3.312500 -1.350007 +v -0.304917 3.375000 -1.467417 +v -0.260723 3.312500 -1.423229 +v -0.250000 3.375000 -1.600000 +v -0.187500 3.312500 -1.600002 +v -0.304917 3.375000 -1.732582 +v -0.260723 3.312500 -1.776774 +v -0.437499 3.375000 -1.787500 +v -0.437500 3.312500 -1.849995 +v -0.570082 3.375000 -1.732583 +v -0.614276 3.312500 -1.776772 +v -0.625000 3.375000 -1.600000 +v -0.687500 3.312500 -1.600000 +v -0.687500 3.125000 -1.600000 +v -0.614276 3.123734 -1.423228 +v -0.614276 3.126195 -1.776772 +v -0.437500 3.126619 -1.849995 +v -0.260723 3.126023 -1.776774 +v -0.187500 3.124756 -1.600002 +v -0.260723 3.123561 -1.423229 +v -0.437499 3.123137 -1.350007 +v -1.125000 3.062500 4.525000 +v -1.169194 3.044194 4.525000 +v -1.125000 2.999999 4.556250 +v -1.080806 3.044194 4.525000 +v -1.062500 3.000000 4.525000 +v -1.080806 2.955806 4.525000 +v -1.125000 2.937500 4.525000 +v -1.169194 2.955806 4.525000 +v -1.187500 3.000000 4.525000 +v -1.187500 3.000000 4.587500 +v -1.169194 2.955806 4.587500 +v -1.125000 2.937500 4.587500 +v -1.080806 2.955806 4.587500 +v -1.062500 3.000000 4.587500 +v -1.080806 3.044194 4.587500 +v -1.125000 3.062500 4.587500 +v -1.169194 3.044194 4.587500 +v -1.213388 2.911611 4.587500 +v -1.250000 3.000000 4.587500 +v -1.125000 2.875000 4.587500 +v -1.000000 3.000000 4.587500 +v -1.036612 3.088388 4.587500 +v -1.125000 3.125000 4.587500 +v -1.213388 3.088387 4.587500 +v -1.125000 2.875000 3.712500 +v -1.213388 2.911611 3.712500 +v -1.250000 3.000000 3.712500 +v -1.213388 3.088387 3.712500 +v -1.125000 3.125000 3.712500 +v -1.036612 3.088388 3.712500 +v -1.000000 3.000000 3.712500 +v -1.062500 2.530750 1.587500 +v -1.062500 2.530750 1.712500 +v -1.000000 2.624500 1.587500 +v -1.062500 2.405750 1.587500 +v -1.062500 2.405750 1.712500 +v -1.125000 2.437000 1.712500 +v -1.125000 2.499500 1.587500 +v -1.125000 2.437000 1.587500 +v -1.000000 2.624500 1.712500 +v -1.000000 2.499500 1.712500 +v -1.125000 2.499500 1.712500 +v -1.000000 2.437000 1.587500 +v -1.000000 2.437000 1.712500 +v -1.000000 2.499500 1.587500 +v -0.625000 3.187500 -0.287500 +v -0.656250 3.250000 -0.287500 +v -0.656250 3.250000 -0.162500 +v -0.656250 3.125000 -0.287500 +v -0.500000 3.125000 -0.287500 +v -0.625000 3.187500 -0.162500 +v -0.718750 3.250000 -0.287500 +v -0.750000 3.187500 -0.287500 +v -0.750000 3.187500 -0.162500 +v -0.718750 3.250000 -0.162500 +v -0.718750 3.125000 -0.287500 +v -0.718750 3.125000 -0.162500 +v -0.656250 3.125000 -0.162500 +v -0.500000 3.125000 -0.162500 +v 1.220971 0.779029 -2.037501 +v 1.312500 1.000000 -2.037501 +v 1.220971 0.779029 -0.037501 +v 1.312500 1.000000 -0.037501 +v 1.220971 1.220971 -2.037501 +v 1.220971 1.220971 -0.037501 +v 1.000000 1.312500 -2.037500 +v 1.000000 1.312500 -0.037500 +v 0.687500 1.000000 -2.037501 +v 0.779029 0.779029 -2.037501 +v 0.687500 1.000000 -0.037501 +v 0.779029 0.779029 -0.037501 +v 1.000000 0.687500 -2.037500 +v 1.000000 0.687500 -0.037500 +v 1.088388 1.088388 0.212500 +v 0.911611 0.911611 0.212500 +v 1.088388 0.911611 0.212500 +v 0.911612 1.088388 0.212500 +v 1.000000 1.125000 0.212500 +v 1.125000 1.000000 0.212500 +v 1.000000 0.875000 0.212500 +v 0.875000 1.000000 0.212500 +v 1.132582 1.132582 -2.287500 +v 1.187500 1.000000 -2.287500 +v 1.132583 0.867417 -2.287500 +v 1.000000 0.812500 -2.287500 +v 0.867417 0.867417 -2.287500 +v 0.812500 1.000000 -2.287500 +v 1.000000 1.187500 -2.287500 +v 0.867418 1.132582 -2.287500 +v -0.779029 0.779029 -2.037501 +v -0.687500 1.000000 -2.037501 +v -0.779029 0.779029 -0.037501 +v -0.687500 1.000000 -0.037501 +v -1.000000 1.312500 -2.037500 +v -1.220971 1.220971 -2.037501 +v -1.000000 1.312500 -0.037500 +v -1.220971 1.220971 -0.037501 +v -1.312500 1.000000 -2.037501 +v -1.312500 1.000000 -0.037501 +v -1.220971 0.779029 -2.037501 +v -1.220971 0.779029 -0.037501 +v -1.000000 0.687500 -2.037500 +v -1.000000 0.687500 -0.037500 +v -0.911612 1.088388 0.212500 +v -1.088388 0.911611 0.212500 +v -0.911612 0.911611 0.212500 +v -1.088388 1.088388 0.212500 +v -1.000000 1.125000 0.212500 +v -0.875000 1.000000 0.212500 +v -1.000000 0.875000 0.212500 +v -1.125000 1.000000 0.212500 +v -0.812500 1.000000 -2.287500 +v -0.867417 0.867417 -2.287500 +v -1.000000 0.812500 -2.287500 +v -1.132583 0.867417 -2.287500 +v -1.187500 1.000000 -2.287500 +v -1.132582 1.132582 -2.287500 +v -1.000000 1.187500 -2.287500 +v -0.867418 1.132582 -2.287500 +v -1.000000 1.000000 -2.412500 +v -1.000000 1.125000 -2.412500 +v -1.125000 1.125000 -2.412500 +v -0.875000 1.000000 -2.412500 +v -1.125000 1.375000 -2.412500 +v -1.000000 1.375000 -2.412500 +v 1.000000 1.125000 -2.412500 +v 1.125000 1.125000 -2.412501 +v 1.000000 1.312500 -2.412500 +v 1.125000 1.312500 -2.412501 +v 1.000000 1.000000 -2.412500 +v 0.875000 1.000000 -2.412500 +v -1.125000 1.125000 -3.787500 +v -1.125000 3.000000 -2.412500 +v -1.125000 3.000000 -3.787500 +v -1.000000 3.125000 -2.412500 +v -1.000000 3.125000 -3.787500 +v 1.000000 3.125000 -2.412501 +v 1.000000 3.125000 -3.787501 +v 1.125000 3.000000 -2.412501 +v 1.125000 3.000000 -3.787501 +v 1.125000 1.125000 -3.787501 +v 1.000000 1.000000 -3.787500 +v -1.000000 1.000000 -3.787500 +v 1.000000 3.000000 -3.912501 +v 1.000000 1.125000 -3.912500 +v -1.000000 1.125000 -3.912500 +v -1.000000 3.000000 -3.912500 +v 1.125000 1.312500 -3.787501 +v 1.125000 1.312500 -3.412501 +v 1.000000 3.000000 -3.662501 +v -0.625000 3.000000 -3.912500 +v -0.625000 3.000000 -3.662500 +v -1.000000 1.875000 -3.662500 +v 1.000000 1.625000 -3.787500 +v -1.000000 1.625000 -3.787500 +v 1.000000 1.875000 -3.662500 +v 1.000000 1.125000 -3.787500 +v -1.000000 1.125000 -3.787500 +v -1.000000 2.625000 -3.912500 +v -1.000000 2.625000 -3.662500 +v -0.500000 3.000000 -3.912500 +v -0.375000 2.750000 -3.662500 +v -0.500000 2.750000 -3.662500 +v -0.375000 3.000000 -3.912500 +v -0.375000 3.000000 -3.662500 +v -0.500000 3.000000 -3.662500 +v 0.500000 3.000000 -3.662501 +v 0.500000 2.750000 -3.662501 +v 0.500000 3.000000 -3.912501 +v 0.375000 3.000000 -3.912501 +v 0.375000 2.750000 -3.662501 +v 0.375000 3.000000 -3.662501 +v -0.375000 1.125000 -3.787500 +v -0.375000 1.125000 -3.912500 +v -0.375000 1.375000 -3.787500 +v -0.500000 1.375000 -3.787500 +v -0.500000 1.125000 -3.912500 +v -0.500000 1.125000 -3.787500 +v 0.500000 1.125000 -3.787501 +v 0.500000 1.125000 -3.912501 +v 0.500000 1.375000 -3.787501 +v 0.375000 1.375000 -3.787501 +v 0.375000 1.125000 -3.912501 +v 0.375000 1.125000 -3.787501 +v 1.000000 2.250000 -3.662500 +v 0.750000 2.250000 -3.662501 +v 1.000000 2.250000 -3.912500 +v 0.750000 2.375000 -3.662501 +v 1.000000 2.375000 -3.912500 +v 1.000000 2.375000 -3.662500 +v -1.000000 2.375000 -3.662500 +v -0.750000 2.375000 -3.662500 +v -1.000000 2.375000 -3.912500 +v -0.750000 2.250000 -3.662500 +v -1.000000 2.250000 -3.662500 +v -1.000000 2.250000 -3.912500 +v -0.201773 2.446753 -3.912500 +v -0.303247 2.548227 -3.912500 +v -0.279330 2.605970 -3.662500 +v -0.144030 2.470671 -3.662500 +v -0.750000 2.625000 -3.662500 +v -0.750000 2.625000 -3.912500 +v -0.625000 2.750000 -3.662500 +v -0.625000 2.750000 -3.912500 +v -1.000000 3.000000 -3.662500 +v -0.446754 2.548227 -3.912500 +v -0.470671 2.605970 -3.662500 +v -0.605970 2.470671 -3.662500 +v -0.548228 2.446753 -3.912500 +v -0.605970 2.279329 -3.662500 +v -0.548228 2.303247 -3.912500 +v -0.470671 2.144030 -3.662500 +v -0.446754 2.201772 -3.912500 +v -0.279330 2.144030 -3.662500 +v -0.303247 2.201772 -3.912500 +v -0.144031 2.279329 -3.662500 +v -0.201773 2.303246 -3.912500 +v 1.125000 2.812500 -2.412501 +v 1.125000 2.812500 -3.412501 +v 1.125000 2.812500 -3.787501 +v 1.000000 2.812500 -3.287501 +v 1.000000 1.312500 -3.287500 +v 1.000000 2.812500 -2.412501 +v 1.000000 1.875000 -3.912500 +v 1.125000 3.000000 -1.912401 +v 1.000000 3.125000 -2.412501 +v 1.000001 3.125000 -1.912401 +v 1.125000 3.000000 -2.412501 +v 1.125000 2.750000 -1.912400 +v 1.125000 2.750000 -2.412501 +v -1.125000 3.000000 -1.912400 +v -1.000000 3.125000 -1.912400 +v -1.125000 3.000000 -2.412500 +v -1.000000 3.125000 -2.412500 +v -1.125000 1.375000 -1.912400 +v -1.125000 1.375000 -2.412500 +v 0.750001 2.875000 -1.912401 +v 0.750000 2.875000 -0.162501 +v 0.750001 3.125000 -1.912401 +v -1.000000 1.375000 -2.412500 +v -1.000000 3.000000 -1.912400 +v -1.000000 1.375000 -1.912400 +v -1.000000 2.875000 -1.912400 +v -0.875000 2.875000 -1.912400 +v -1.000000 2.750000 -1.912400 +v 0.750000 3.125000 -0.162501 +v -0.750000 3.125000 -1.912400 +v -0.750000 3.125000 -0.162500 +v -0.750000 2.875000 -0.162500 +v -0.750000 2.875000 -1.912400 +v 0.750000 2.875000 0.212499 +v -0.750000 2.875000 0.212500 +v -1.125000 2.750000 -1.912400 +v 1.000001 3.000000 -1.912401 +v 1.000001 2.750000 -1.912401 +v 1.000000 2.750000 -2.412500 +v 1.000001 2.875000 -1.912401 +v 0.875001 2.875000 -1.912401 +v -1.125000 2.875000 2.587501 +v -1.000000 3.000000 4.587501 +v -1.000000 3.000000 2.587501 +v -1.125000 2.875000 4.587501 +v -1.125000 0.625000 2.587500 +v -1.125000 0.625000 4.587500 +v -1.000000 0.500000 2.587500 +v -1.000000 0.500000 4.587500 +v 0.000000 2.000000 4.087500 +v -1.000000 1.125000 4.587500 +v 1.000000 1.125000 4.587500 +v 1.125000 2.875000 2.587500 +v 1.000000 3.000000 2.587500 +v 1.125000 2.875000 4.587500 +v 1.000000 3.000000 4.587500 +v 1.125000 0.625000 2.587500 +v 1.000000 0.500000 4.587500 +v 1.000000 0.500000 2.587500 +v 1.125000 0.625000 4.587500 +v 1.000000 2.875000 4.587500 +v -1.000000 2.875000 4.587501 +v 1.000000 1.000000 4.587501 +v -1.000000 1.000000 4.587501 +v 0.875000 0.500000 2.587500 +v 0.875000 0.500000 4.587500 +v 1.000000 0.625000 4.587500 +v 0.875000 0.625000 4.587500 +v -1.000000 0.625000 4.587500 +v -0.875000 0.500000 4.587500 +v -0.875000 0.625000 4.587500 +v -0.875000 0.500000 2.587500 +v 0.875000 2.875000 2.587500 +v 0.875000 3.000000 2.587500 +v -0.875000 2.875000 2.587501 +v -0.875000 3.000000 2.587501 +v -1.000000 1.000000 3.962501 +v 1.000000 1.000000 3.962501 +v -0.875000 1.000000 2.587501 +v -0.875000 0.500000 3.837500 +v -0.875000 1.000000 3.837501 +v -1.000000 0.625000 3.962501 +v -0.875000 0.625000 3.962501 +v -0.875000 0.500000 3.962501 +v -0.875000 1.000000 3.962501 +v -0.500000 0.500000 3.962501 +v -0.500000 0.625000 3.962501 +v -0.500000 0.500000 3.837501 +v -0.500000 1.000000 3.837501 +v -1.000000 2.750000 2.587501 +v -1.000000 0.625000 2.587500 +v -1.000000 1.125000 2.587501 +v -1.000000 1.000000 2.587501 +v 1.000000 0.625000 3.962501 +v 0.875000 0.625000 3.962501 +v 0.875000 1.000000 3.962501 +v 0.500000 0.625000 3.962501 +v 0.500000 0.500000 3.962501 +v 0.875000 0.500000 3.962501 +v 0.500000 0.500000 3.837501 +v 0.875000 0.500000 3.837501 +v 0.500000 1.000000 3.837501 +v 0.875000 1.000000 3.837501 +v 0.875000 1.000000 2.587501 +v 0.500000 1.000000 3.962501 +v 1.000000 2.750000 2.587500 +v -1.125000 2.750000 2.587501 +v 1.000000 1.000000 2.587501 +v 1.000000 1.125000 2.587501 +v 1.000000 0.625000 2.587500 +v 1.125000 2.750000 2.587500 +v -0.500000 1.000000 3.962501 +v -0.875000 1.000000 -2.412500 +v 0.875000 1.000000 -2.412500 +v 0.875000 1.000000 2.587500 +v 1.000000 1.125000 2.587500 +v 1.000000 1.125000 -2.412500 +v -0.875000 1.000000 2.587500 +v 0.875000 2.875000 2.587500 +v 1.000000 2.750000 2.587500 +v 1.000000 2.750000 -2.412500 +v -1.000000 1.125000 -2.412500 +v 0.875000 2.875000 -2.412500 +v -1.000000 2.750000 2.587500 +v -1.000000 2.750000 -2.412500 +v -1.000000 1.125000 2.587500 +v -0.875000 2.875000 -2.412500 +v -0.875000 2.875000 2.587500 +v 0.250000 -0.000000 4.337500 +v 0.500000 1.000000 4.337500 +v 0.250000 1.000000 4.337500 +v -0.250000 -0.000000 4.337500 +v -0.250000 1.000000 4.337500 +v -0.500000 1.000000 4.337500 +v -0.375000 -1.500000 4.337500 +v -0.250000 -1.625000 4.337500 +v -0.375000 -1.500000 3.837500 +v 0.250000 -1.625000 4.337500 +v -0.250000 -1.625000 3.837500 +v 0.000000 -0.125000 4.337500 +v 0.250000 -0.000000 4.587500 +v 0.000000 -0.125000 4.587500 +v -0.250000 -0.000000 4.587500 +v 0.250000 1.000000 4.587500 +v -0.250000 1.000000 4.587500 +v -0.500000 -1.750000 3.837500 +v -0.500000 -1.750000 4.337500 +v -0.500000 1.000000 3.837500 +v 0.500000 -1.750000 3.837500 +v 0.500000 1.000000 3.837500 +v 0.500000 -1.750000 4.337500 +v 0.250000 -1.625000 3.837500 +v 0.375000 -2.500000 4.337500 +v -0.375000 -2.500000 4.337500 +v 0.375000 -2.500000 3.087500 +v -0.375000 -2.500000 3.087500 +v 0.375000 -1.500000 3.837500 +v 0.375000 -1.500000 4.337500 +v 0.375000 -0.375000 4.337500 +v 0.375000 -0.375000 3.837500 +v 0.250000 -0.250000 4.337500 +v 0.250000 -0.250000 3.837500 +v -0.250000 -0.250000 3.837500 +v -0.250000 -0.250000 4.337500 +v -0.375000 -0.375000 4.337500 +v -0.375000 -0.375000 3.837500 +v 0.375000 -1.750000 3.837500 +v 0.250000 -2.375000 3.212500 +v -0.250000 -2.375000 3.212500 +v -0.375000 -1.750000 3.837500 +v 0.250000 -2.375000 3.837500 +v -0.250000 -2.375000 3.837500 +v 0.000000 -2.312500 3.837500 +v -0.176777 -2.239277 3.837500 +v 0.000000 -2.312500 1.837500 +v -0.176777 -2.239277 1.837500 +v -0.250000 -2.062500 3.837500 +v -0.250000 -2.062500 1.837500 +v -0.176777 -1.885723 3.837500 +v -0.176777 -1.885723 1.837500 +v 0.000000 -1.812500 3.837500 +v 0.000000 -1.812500 1.837500 +v 0.176777 -1.885723 3.837500 +v 0.176777 -1.885723 1.837500 +v 0.176777 -2.239277 3.837500 +v 0.176777 -2.239277 1.837500 +v 0.250000 -2.062500 3.837500 +v 0.250000 -2.062500 1.837500 +v 0.132583 -1.929917 1.712498 +v 0.000000 -1.875000 1.712500 +v -0.132582 -1.929918 1.712500 +v -0.187500 -2.062500 1.712499 +v -0.132582 -2.195083 1.712499 +v 0.000000 -2.250000 1.712499 +v 0.132583 -2.195082 1.712499 +v 0.187500 -2.062500 1.712499 +v 0.187500 -2.062500 0.087499 +v 0.132583 -1.929917 0.087498 +v 0.000000 -1.875000 0.087500 +v -0.132582 -1.929918 0.087500 +v -0.187500 -2.062500 0.087500 +v -0.132582 -2.195083 0.087499 +v 0.000000 -2.250000 0.087499 +v 0.132583 -2.195082 0.087499 +v 0.187500 -2.062500 0.774999 +v 0.250000 -2.062500 0.649999 +v 0.132583 -1.929917 0.774998 +v 0.176777 -1.885723 0.649998 +v 0.000000 -1.875000 0.775000 +v 0.000000 -1.812500 0.650000 +v -0.132582 -1.929918 0.775000 +v -0.176777 -1.885723 0.650000 +v -0.187500 -2.062500 0.774999 +v -0.250000 -2.062500 0.649999 +v -0.132582 -2.195083 0.774999 +v -0.176777 -2.239277 0.649999 +v 0.000000 -2.250000 0.774999 +v 0.000000 -2.312500 0.649999 +v 0.132583 -2.195082 0.774999 +v 0.176777 -2.239277 0.649999 +v 0.250000 -2.062500 0.399999 +v 0.176777 -1.885723 0.399998 +v 0.000000 -1.812500 0.400000 +v -0.176777 -1.885723 0.400000 +v -0.250000 -2.062500 0.400000 +v -0.176777 -2.239277 0.399999 +v 0.000000 -2.312500 0.399999 +v 0.176777 -2.239277 0.399999 +v 0.132583 -1.929917 0.274998 +v 0.000000 -1.875000 0.275000 +v -0.132582 -1.929918 0.275000 +v -0.187500 -2.062500 0.275000 +v -0.132582 -2.195083 0.274999 +v 0.000000 -2.250000 0.274999 +v 0.132583 -2.195082 0.274999 +v 0.187500 -2.062500 0.274999 +v 0.125000 -1.250001 -2.537500 +v -0.375000 -1.250000 -2.162500 +v 0.375000 -1.250000 -2.162500 +v -0.125000 -1.250001 -2.537500 +v 0.375000 -1.375000 -1.537500 +v -0.375000 -1.375000 -1.537500 +v 0.375000 -1.562500 -0.662500 +v -0.375000 -1.562500 -0.662500 +v 0.250000 -1.687500 0.087500 +v -0.250000 -1.687500 0.087500 +v -0.250000 -1.937500 0.087500 +v 0.250000 -1.937500 0.087500 +v 0.375000 -1.936500 -0.662500 +v 0.375000 -1.750000 -1.537500 +v 0.375000 -1.750000 -2.162500 +v 0.125000 -1.750001 -2.537500 +v -0.125000 -1.750001 -2.537500 +v -0.375000 -1.750000 -2.162500 +v -0.375000 -1.750000 -1.537500 +v -0.375000 -1.936500 -0.662500 +v -0.500000 -1.565641 -2.478109 +v -0.500000 -1.565641 -1.859392 +v -0.500000 -1.437500 -2.168750 +v 0.375000 -1.812500 -0.575000 +v 0.500000 -2.184358 -1.859392 +v 0.500000 -1.565641 -1.859392 +v -0.375000 -1.812500 -0.575000 +v -0.500000 -2.184358 -1.859392 +v -0.375000 -2.312500 -0.575001 +v -0.250000 -2.312500 0.174999 +v -0.250000 -1.812500 0.175000 +v 0.250000 -2.312500 0.174999 +v 0.375000 -2.312500 -0.575001 +v 0.250000 -1.812500 0.175000 +v 0.500000 -1.437500 -2.168750 +v 0.500000 -1.565641 -2.478109 +v -0.500000 -1.874999 -2.606249 +v 0.500000 -1.874999 -2.606249 +v -0.500000 -2.184358 -2.478109 +v 0.500000 -2.184358 -2.478109 +v -0.500000 -2.312499 -2.168750 +v 0.500000 -2.312499 -2.168750 +v -0.500000 -2.309358 -1.859392 +v 0.500000 -2.309358 -1.859392 +vt 0.215000 0.710000 +vt 0.215000 0.770000 +vt 0.205000 0.710000 +vt 0.275000 0.710000 +vt 0.285000 0.710000 +vt 0.275000 0.770000 +vt 0.260000 0.710000 +vt 0.230000 0.710000 +vt 0.365000 0.474023 +vt 0.361514 0.473027 +vt 0.365000 0.470039 +vt 0.222500 0.695000 +vt 0.235312 0.705625 +vt 0.237500 0.695000 +vt 0.224688 0.684375 +vt 0.230000 0.680000 +vt 0.235312 0.684375 +vt 0.210000 0.650000 +vt 0.205000 0.640000 +vt 0.210000 0.640000 +vt 0.267500 0.695000 +vt 0.254687 0.705625 +vt 0.252500 0.695000 +vt 0.254688 0.684375 +vt 0.260000 0.680000 +vt 0.265312 0.684375 +vt 0.220000 0.640000 +vt 0.225000 0.650000 +vt 0.220000 0.650000 +vt 0.250000 0.770000 +vt 0.260000 0.770000 +vt 0.230000 0.770000 +vt 0.240000 0.770000 +vt 0.225000 0.630000 +vt 0.225000 0.640000 +vt 0.210000 0.630000 +vt 0.205000 0.630000 +vt 0.205000 0.660000 +vt 0.205000 0.650000 +vt 0.368486 0.486973 +vt 0.367988 0.480000 +vt 0.369980 0.480000 +vt 0.660000 0.380000 +vt 0.740000 0.270000 +vt 0.740000 0.380000 +vt 0.361514 0.486973 +vt 0.365000 0.485977 +vt 0.365000 0.489961 +vt 0.220000 0.660000 +vt 0.225000 0.660000 +vt 0.370000 0.390000 +vt 0.377500 0.385000 +vt 0.362500 0.385000 +vt 0.745000 0.380000 +vt 0.815000 0.390000 +vt 0.745000 0.390000 +vt 0.362500 0.355000 +vt 0.377500 0.355000 +vt 0.370000 0.350000 +vt 0.380000 0.370000 +vt 0.360000 0.370000 +vt 0.362012 0.480000 +vt 0.360020 0.480000 +vt 0.366992 0.476016 +vt 0.366992 0.483984 +vt 0.363008 0.476016 +vt 0.380000 0.480000 +vt 0.370000 0.480000 +vt 0.375000 0.470000 +vt 0.371250 0.487500 +vt 0.375000 0.490000 +vt 0.378750 0.487500 +vt 0.378750 0.472500 +vt 0.395000 0.360000 +vt 0.395000 0.370000 +vt 0.390000 0.370000 +vt 0.405000 0.370000 +vt 0.400000 0.370000 +vt 0.400000 0.360000 +vt 0.390000 0.370000 +vt 0.395000 0.370000 +vt 0.395000 0.360000 +vt 0.400000 0.360000 +vt 0.400000 0.370000 +vt 0.405000 0.370000 +vt 0.315000 0.470000 +vt 0.335000 0.470000 +vt 0.325000 0.490000 +vt 0.305000 0.230000 +vt 0.308536 0.227071 +vt 0.310000 0.220000 +vt 0.301464 0.227071 +vt 0.300000 0.220000 +vt 0.305000 0.210000 +vt 0.301464 0.212929 +vt 0.308536 0.212929 +vt 0.332071 0.234142 +vt 0.335000 0.220000 +vt 0.325000 0.240000 +vt 0.660000 0.820000 +vt 0.665000 0.800000 +vt 0.665000 0.820000 +vt 0.317929 0.205858 +vt 0.315000 0.220000 +vt 0.325000 0.200000 +vt 0.317929 0.234142 +vt 0.332071 0.205858 +vt 0.825000 0.380000 +vt 0.820000 0.270000 +vt 0.825000 0.270000 +vt 0.740000 0.390000 +vt 0.660000 0.380000 +vt 0.660000 0.390000 +vt 0.310000 0.470000 +vt 0.308536 0.477071 +vt 0.305000 0.480000 +vt 0.308536 0.462929 +vt 0.305000 0.460000 +vt 0.300000 0.470000 +vt 0.301464 0.462929 +vt 0.301464 0.477071 +vt 0.332069 0.484139 +vt 0.317931 0.455861 +vt 0.325000 0.450000 +vt 0.332069 0.455861 +vt 0.317931 0.484139 +vt 0.765000 0.590000 +vt 0.770000 0.590000 +vt 0.770000 0.600000 +vt 0.765000 0.580000 +vt 0.570000 0.380000 +vt 0.575000 0.270000 +vt 0.575000 0.380000 +vt 0.810000 0.620000 +vt 0.800000 0.630000 +vt 0.810000 0.630000 +vt 0.770000 0.460000 +vt 0.765000 0.470000 +vt 0.770000 0.470000 +vt 0.765000 0.480000 +vt 0.812500 0.380000 +vt 0.752500 0.350000 +vt 0.812500 0.350000 +vt 0.810000 0.680000 +vt 0.800000 0.670000 +vt 0.800000 0.680000 +vt 0.730000 0.630000 +vt 0.745000 0.750000 +vt 0.730000 0.750000 +vt 0.780000 0.460000 +vt 0.770000 0.470000 +vt 0.640000 0.830000 +vt 0.660000 0.830000 +vt 0.810000 0.670000 +vt 0.800000 0.680000 +vt 0.800000 0.670000 +vt 0.740000 0.430000 +vt 0.760000 0.590000 +vt 0.740000 0.590000 +vt 0.740000 0.380000 +vt 0.745000 0.380000 +vt 0.815000 0.390000 +vt 0.815000 0.380000 +vt 0.820000 0.380000 +vt 0.575000 0.390000 +vt 0.575000 0.380000 +vt 0.655000 0.380000 +vt 0.905000 0.430000 +vt 0.825000 0.610000 +vt 0.825000 0.430000 +vt 0.815000 0.470000 +vt 0.820000 0.590000 +vt 0.815000 0.590000 +vt 0.820000 0.380000 +vt 0.820000 0.630000 +vt 0.810000 0.620000 +vt 0.820000 0.620000 +vt 0.815000 0.590000 +vt 0.780000 0.470000 +vt 0.780000 0.590000 +vt 0.745000 0.270000 +vt 0.660000 0.270000 +vt 0.730000 0.430000 +vt 0.730000 0.590000 +vt 0.490000 0.420000 +vt 0.530000 0.410000 +vt 0.550000 0.420000 +vt 0.520000 0.400000 +vt 0.490000 0.400000 +vt 0.550000 0.410000 +vt 0.575000 0.390000 +vt 0.655000 0.390000 +vt 0.800000 0.650000 +vt 0.810000 0.650000 +vt 0.800000 0.700000 +vt 0.810000 0.680000 +vt 0.810000 0.700000 +vt 0.820000 0.650000 +vt 0.820000 0.670000 +vt 0.810000 0.650000 +vt 0.490000 0.380000 +vt 0.570000 0.390000 +vt 0.490000 0.390000 +vt 0.810000 0.700000 +vt 0.820000 0.680000 +vt 0.820000 0.700000 +vt 0.810000 0.630000 +vt 0.810000 0.640000 +vt 0.800000 0.640000 +vt 0.780000 0.600000 +vt 0.780000 0.590000 +vt 0.810000 0.620000 +vt 0.800000 0.610000 +vt 0.810000 0.610000 +vt 0.820000 0.610000 +vt 0.810000 0.610000 +vt 0.655000 0.270000 +vt 0.820000 0.640000 +vt 0.810000 0.640000 +vt 0.820000 0.650000 +vt 0.810000 0.650000 +vt 0.820000 0.670000 +vt 0.630000 0.420000 +vt 0.630000 0.410000 +vt 0.820000 0.700000 +vt 0.810000 0.700000 +vt 0.820000 0.680000 +vt 0.810000 0.650000 +vt 0.800000 0.650000 +vt 0.810000 0.670000 +vt 0.675000 0.570000 +vt 0.665000 0.590000 +vt 0.665000 0.570000 +vt 0.810000 0.700000 +vt 0.800000 0.700000 +vt 0.810000 0.680000 +vt 0.820000 0.670000 +vt 0.820000 0.670000 +vt 0.810000 0.680000 +vt 0.820000 0.680000 +vt 0.795000 0.420000 +vt 0.795000 0.450000 +vt 0.785000 0.450000 +vt 0.780000 0.440000 +vt 0.780000 0.420000 +vt 0.660000 0.630000 +vt 0.660000 0.750000 +vt 0.945000 0.110000 +vt 0.995000 0.150000 +vt 0.945000 0.150000 +vt 0.767500 0.645000 +vt 0.775000 0.650000 +vt 0.782500 0.645000 +vt 0.785000 0.630000 +vt 0.782500 0.615000 +vt 0.775000 0.610000 +vt 0.767500 0.615000 +vt 0.765000 0.630000 +vt 0.752500 0.270000 +vt 0.752500 0.380000 +vt 0.812500 0.270000 +vt 0.640000 0.800000 +vt 0.660000 0.790000 +vt 0.660000 0.800000 +vt 0.780000 0.470000 +vt 0.820000 0.460000 +vt 0.820000 0.600000 +vt 0.780000 0.600000 +vt 0.780000 0.590000 +vt 0.685000 0.430000 +vt 0.490000 0.270000 +vt 0.570000 0.270000 +vt 0.660000 0.420000 +vt 0.650000 0.410000 +vt 0.660000 0.400000 +vt 0.945000 0.100000 +vt 0.930000 0.110000 +vt 0.930000 0.100000 +vt 0.640000 0.450000 +vt 0.660000 0.580000 +vt 0.640000 0.580000 +vt 0.730000 0.770000 +vt 0.730000 0.610000 +vt 0.660000 0.610000 +vt 0.640000 0.590000 +vt 0.660000 0.590000 +vt 0.665000 0.580000 +vt 0.665000 0.560000 +vt 0.670000 0.570000 +vt 0.675000 0.810000 +vt 0.665000 0.790000 +vt 0.675000 0.790000 +vt 0.745000 0.770000 +vt 0.745000 0.610000 +vt 0.905000 0.420000 +vt 0.825000 0.260000 +vt 0.905000 0.260000 +vt 0.660000 0.440000 +vt 0.640000 0.440000 +vt 0.640000 0.790000 +vt 0.660000 0.560000 +vt 0.665000 0.450000 +vt 0.990000 0.000000 +vt 0.920000 0.100000 +vt 0.920000 0.000000 +vt 0.665000 0.810000 +vt 0.670000 0.810000 +vt 0.915000 0.240000 +vt 0.965000 0.200000 +vt 0.965000 0.240000 +vt 0.915000 0.320000 +vt 0.995000 0.310000 +vt 0.995000 0.320000 +vt 0.915000 0.280000 +vt 0.920000 0.270000 +vt 0.920000 0.280000 +vt 0.955000 0.390000 +vt 0.910000 0.280000 +vt 0.915000 0.460000 +vt 0.910000 0.460000 +vt 0.915000 0.100000 +vt 0.920000 0.060000 +vt 0.825000 0.420000 +vt 0.995000 0.470000 +vt 0.995000 0.460000 +vt 1.000000 0.460000 +vt 0.915000 0.470000 +vt 0.920000 0.280000 +vt 0.935000 0.270000 +vt 0.935000 0.280000 +vt 0.990000 0.280000 +vt 0.995000 0.310000 +vt 0.990000 0.310000 +vt 0.825000 0.040000 +vt 0.850000 0.030000 +vt 0.825000 0.030000 +vt 0.995000 0.280000 +vt 0.995000 0.270000 +vt 1.000000 0.280000 +vt 0.825000 0.060000 +vt 0.905000 0.070000 +vt 0.825000 0.070000 +vt 0.920000 0.310000 +vt 0.915000 0.280000 +vt 0.920000 0.280000 +vt 0.915000 0.270000 +vt 0.825000 0.050000 +vt 0.905000 0.060000 +vt 0.920000 0.250000 +vt 0.920000 0.260000 +vt 0.915000 0.260000 +vt 0.990000 0.250000 +vt 0.995000 0.260000 +vt 0.990000 0.260000 +vt 0.705000 0.400000 +vt 0.770000 0.420000 +vt 0.705000 0.420000 +vt 0.905000 0.250000 +vt 0.825000 0.250000 +vt 0.640000 0.820000 +vt 0.915000 0.240000 +vt 0.910000 0.250000 +vt 0.975000 0.270000 +vt 0.990000 0.270000 +vt 0.825000 0.620000 +vt 0.905000 0.630000 +vt 0.825000 0.630000 +vt 0.965000 0.240000 +vt 0.980000 0.200000 +vt 0.980000 0.240000 +vt 0.850000 0.000000 +vt 0.825000 0.030000 +vt 0.825000 0.000000 +vt 1.000000 0.070000 +vt 0.995000 0.070000 +vt 0.995000 0.060000 +vt 0.995000 0.110000 +vt 0.990000 0.100000 +vt 0.995000 0.100000 +vt 0.910000 0.070000 +vt 0.910000 0.240000 +vt 0.990000 0.060000 +vt 0.850000 0.050000 +vt 0.825000 0.040000 +vt 0.825000 0.050000 +vt 0.825000 0.640000 +vt 0.850000 0.650000 +vt 0.825000 0.650000 +vt 0.980000 0.190000 +vt 0.965000 0.190000 +vt 0.705000 0.400000 +vt 0.935000 0.280000 +vt 0.920000 0.310000 +vt 0.935000 0.310000 +vt 0.850000 0.640000 +vt 0.850000 0.630000 +vt 0.850000 0.680000 +vt 0.825000 0.680000 +vt 0.825000 0.840000 +vt 0.850000 0.680000 +vt 0.825000 0.680000 +vt 0.995000 0.240000 +vt 1.000000 0.240000 +vt 1.000000 0.250000 +vt 0.905000 0.620000 +vt 0.905000 0.610000 +vt 0.990000 0.310000 +vt 0.975000 0.280000 +vt 0.975000 0.310000 +vt 0.915000 0.110000 +vt 0.915000 0.060000 +vt 0.915000 0.070000 +vt 0.990000 0.270000 +vt 0.990000 0.280000 +vt 0.220000 0.400000 +vt 0.285000 0.000000 +vt 0.220000 0.000000 +vt 0.070000 0.000000 +vt 0.075000 0.400000 +vt 0.075000 0.000000 +vt 0.145000 0.400000 +vt 0.215000 0.000000 +vt 0.215000 0.400000 +vt 0.290000 0.000000 +vt 0.285000 0.400000 +vt 0.290000 0.400000 +vt 0.140000 0.000000 +vt 0.145000 0.400000 +vt 0.145000 0.000000 +vt 0.000000 0.400000 +vt 0.070000 0.000000 +vt 0.070000 0.400000 +vt 0.215000 0.000000 +vt 0.215000 0.400000 +vt 0.140000 0.400000 +vt 0.100000 0.610000 +vt 0.110000 0.690000 +vt 0.100000 0.690000 +vt 0.080000 0.610000 +vt 0.080000 0.690000 +vt 0.070000 0.690000 +vt 0.070000 0.790000 +vt 0.080000 0.710000 +vt 0.080000 0.790000 +vt 0.110000 0.470000 +vt 0.130000 0.690000 +vt 0.090000 0.700000 +vt 0.100000 0.710000 +vt 0.020000 0.560000 +vt -0.000000 0.520000 +vt 0.020000 0.520000 +vt 0.000000 0.510000 +vt 0.020000 0.520000 +vt 0.020000 0.510000 +vt 0.100000 0.790000 +vt 0.160000 0.410000 +vt 0.130000 0.470000 +vt 0.110000 0.410000 +vt 0.070000 0.410000 +vt 0.050000 0.470000 +vt 0.020000 0.410000 +vt 0.070000 0.470000 +vt 0.000000 0.670000 +vt 0.020000 0.660000 +vt 0.020000 0.670000 +vt 0.110000 0.710000 +vt 0.110000 0.790000 +vt 0.100000 0.480000 +vt 0.105000 0.490000 +vt 0.080000 0.480000 +vt 0.075000 0.490000 +vt 0.075000 0.580000 +vt 0.105000 0.580000 +vt 0.090000 0.600000 +vt 0.100000 0.590000 +vt 0.080000 0.590000 +vt 0.195000 0.520000 +vt 0.220000 0.470000 +vt 0.225000 0.520000 +vt 0.160000 0.590000 +vt 0.165000 0.580000 +vt 0.170000 0.690000 +vt 0.140000 0.590000 +vt 0.135000 0.580000 +vt 0.170000 0.470000 +vt 0.165000 0.490000 +vt 0.160000 0.480000 +vt 0.140000 0.480000 +vt 0.135000 0.490000 +vt 0.225000 0.470000 +vt 0.230000 0.470000 +vt 0.220000 0.420000 +vt 0.225000 0.410000 +vt 0.200000 0.420000 +vt 0.195000 0.410000 +vt 0.195000 0.470000 +vt 0.190000 0.470000 +vt 0.170000 0.470000 +vt 0.195000 0.470000 +vt 0.225000 0.470000 +vt 0.250000 0.470000 +vt 0.020000 0.710000 +vt 0.000000 0.710000 +vt 0.100000 0.690000 +vt 0.200000 0.420000 +vt 0.200000 0.470000 +vt 0.020000 0.470000 +vt 0.050000 0.570000 +vt 0.020000 0.570000 +vt 0.070000 0.710000 +vt 0.080000 0.690000 +vt 0.050000 0.690000 +vt 0.020000 0.410000 +vt 0.000000 0.420000 +vt 0.020000 0.420000 +vt 0.000000 0.660000 +vt 0.020000 0.570000 +vt 0.020000 0.420000 +vt 0.000000 0.510000 +vt 0.000000 0.420000 +vt 0.000000 0.560000 +vt 0.075000 0.410000 +vt 0.615000 0.150000 +vt 0.635000 0.180000 +vt 0.625000 0.180000 +vt 0.620000 0.020000 +vt 0.645000 0.080000 +vt 0.615000 0.080000 +vt 0.645000 0.150000 +vt 0.615000 0.150000 +vt 0.640000 0.000000 +vt 0.620000 0.000000 +vt 0.415000 0.040000 +vt 0.435000 0.000000 +vt 0.435000 0.040000 +vt 0.220000 0.630000 +vt 0.210000 0.660000 +vt 0.363008 0.483984 +vt 0.815000 0.380000 +vt 0.740000 0.380000 +vt 0.800000 0.620000 +vt 0.745000 0.630000 +vt 0.760000 0.430000 +vt 0.820000 0.470000 +vt 0.810000 0.630000 +vt 0.815000 0.470000 +vt 0.675000 0.590000 +vt 0.810000 0.670000 +vt 0.810000 0.670000 +vt 0.995000 0.110000 +vt 0.685000 0.590000 +vt 0.660000 0.450000 +vt 0.660000 0.770000 +vt 0.915000 0.200000 +vt 0.915000 0.310000 +vt 0.920000 0.270000 +vt 0.995000 0.280000 +vt 0.850000 0.040000 +vt 0.915000 0.310000 +vt 0.905000 0.050000 +vt 0.770000 0.400000 +vt 0.930000 0.150000 +vt 0.975000 0.280000 +vt 0.965000 0.200000 +vt 0.850000 0.030000 +vt 0.850000 0.040000 +vt 0.980000 0.200000 +vt 0.705000 0.420000 +vt 0.850000 0.840000 +vt 0.070000 0.400000 +vt 0.145000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.520000 +vt 0.110000 0.690000 +vt 0.220000 0.420000 +vt 0.050000 0.470000 +vt 0.070000 0.690000 +vt 0.000000 0.410000 +vt 0.000000 0.570000 +vt 0.020000 0.510000 +vt 0.105000 0.410000 +vt 0.645000 0.150000 +vt 0.640000 0.020000 +vt 0.415000 0.000000 +vt 0.380000 0.620000 +vt 0.390000 0.640000 +vt 0.380000 0.640000 +vt 0.380000 0.670000 +vt 0.390000 0.690000 +vt 0.380000 0.690000 +vt 0.470000 0.770000 +vt 0.460000 0.770000 +vt 0.480000 0.740000 +vt 0.450000 0.740000 +vt 0.390000 0.600000 +vt 0.380000 0.570000 +vt 0.390000 0.570000 +vt 0.310000 0.620000 +vt 0.300000 0.660000 +vt 0.300000 0.620000 +vt 0.325000 0.020000 +vt 0.332500 -0.000000 +vt 0.327500 -0.000000 +vt 0.430000 0.430000 +vt 0.425000 0.440000 +vt 0.430000 0.440000 +vt 0.380000 0.770000 +vt 0.370000 0.720000 +vt 0.380000 0.710000 +vt 0.445000 0.690000 +vt 0.425000 0.580000 +vt 0.450000 0.600000 +vt 0.400000 0.770000 +vt 0.440000 0.740000 +vt 0.440000 0.770000 +vt 0.235000 0.640000 +vt 0.415000 0.530000 +vt 0.420000 0.520000 +vt 0.415000 0.520000 +vt 0.290000 0.580000 +vt 0.300000 0.560000 +vt 0.300000 0.580000 +vt 0.325000 0.690000 +vt 0.365000 0.720000 +vt 0.330000 0.740000 +vt 0.345000 0.580000 +vt 0.320000 0.600000 +vt 0.320000 0.580000 +vt 0.450000 0.580000 +vt 0.310000 0.770000 +vt 0.300000 0.740000 +vt 0.300000 0.770000 +vt 0.250000 0.650000 +vt 0.240000 0.630000 +vt 0.250000 0.630000 +vt 0.380000 0.660000 +vt 0.390000 0.670000 +vt 0.250000 0.660000 +vt 0.240000 0.650000 +vt 0.290000 0.700000 +vt 0.300000 0.720000 +vt 0.290000 0.720000 +vt 0.300000 0.740000 +vt 0.290000 0.740000 +vt 0.290000 0.740000 +vt 0.310000 0.720000 +vt 0.310000 0.740000 +vt 0.320000 0.740000 +vt 0.320000 0.720000 +vt 0.250000 0.700000 +vt 0.240000 0.690000 +vt 0.250000 0.690000 +vt 0.320000 0.770000 +vt 0.310000 0.740000 +vt 0.300000 0.700000 +vt 0.310000 0.680000 +vt 0.310000 0.700000 +vt 0.390000 0.770000 +vt 0.390000 0.710000 +vt 0.450000 0.720000 +vt 0.450000 0.740000 +vt 0.320000 0.670000 +vt 0.310000 0.660000 +vt 0.300000 0.680000 +vt 0.320000 0.700000 +vt 0.390000 0.620000 +vt 0.380000 0.600000 +vt 0.320000 0.740000 +vt 0.320000 0.720000 +vt 0.405000 0.720000 +vt 0.290000 0.670000 +vt 0.320000 0.580000 +vt 0.310000 0.580000 +vt 0.310000 0.680000 +vt 0.300000 0.660000 +vt 0.250000 0.710000 +vt 0.240000 0.700000 +vt 0.390000 0.660000 +vt 0.300000 0.580000 +vt 0.250000 0.680000 +vt 0.240000 0.670000 +vt 0.250000 0.670000 +vt 0.240000 0.660000 +vt 0.300000 0.720000 +vt 0.310000 0.740000 +vt 0.310000 0.720000 +vt 0.445000 0.520000 +vt 0.440000 0.510000 +vt 0.440000 0.520000 +vt 0.250000 0.610000 +vt 0.240000 0.630000 +vt 0.450000 0.700000 +vt 0.375000 0.635000 +vt 0.395000 0.635000 +vt 0.430000 0.530000 +vt 0.425000 0.520000 +vt 0.430000 0.520000 +vt 0.405000 0.580000 +vt 0.365000 0.580000 +vt 0.395000 0.670000 +vt 0.375000 0.670000 +vt 0.400000 0.720000 +vt 0.435000 0.450000 +vt 0.430000 0.450000 +vt 0.235000 0.660000 +vt 0.235000 0.650000 +vt 0.240000 0.680000 +vt 0.410000 0.440000 +vt 0.405000 0.430000 +vt 0.405000 0.440000 +vt 0.240000 0.710000 +vt 0.435000 0.510000 +vt 0.435000 0.520000 +vt 0.455000 0.520000 +vt 0.450000 0.510000 +vt 0.450000 0.520000 +vt 0.440000 0.500000 +vt 0.435000 0.500000 +vt 0.450000 0.490000 +vt 0.445000 0.470000 +vt 0.445000 0.480000 +vt 0.405000 0.460000 +vt 0.410000 0.450000 +vt 0.405000 0.450000 +vt 0.440000 0.470000 +vt 0.435000 0.480000 +vt 0.440000 0.480000 +vt 0.435000 0.450000 +vt 0.440000 0.440000 +vt 0.435000 0.440000 +vt 0.445000 0.440000 +vt 0.450000 0.430000 +vt 0.445000 0.430000 +vt 0.465000 0.440000 +vt 0.460000 0.430000 +vt 0.460000 0.440000 +vt 0.455000 0.430000 +vt 0.455000 0.440000 +vt 0.395000 0.400000 +vt 0.400000 0.410000 +vt 0.395000 0.410000 +vt 0.450000 0.440000 +vt 0.430000 0.460000 +vt 0.425000 0.450000 +vt 0.425000 0.460000 +vt 0.435000 0.490000 +vt 0.440000 0.450000 +vt 0.445000 0.450000 +vt 0.455000 0.450000 +vt 0.450000 0.450000 +vt 0.440000 0.430000 +vt 0.435000 0.430000 +vt 0.415000 0.450000 +vt 0.420000 0.440000 +vt 0.420000 0.450000 +vt 0.785000 0.710000 +vt 0.795000 0.692500 +vt 0.795000 0.707500 +vt 0.430000 0.340000 +vt 0.421250 0.350000 +vt 0.420000 0.340000 +vt 0.405000 0.480000 +vt 0.410000 0.490000 +vt 0.410000 0.480000 +vt 0.425000 0.430000 +vt 0.310000 0.560000 +vt 0.410000 0.430000 +vt 0.370000 0.770000 +vt 0.435000 0.430000 +vt 0.435000 0.440000 +vt 0.455000 0.460000 +vt 0.455000 0.470000 +vt 0.460000 0.460000 +vt 0.435000 0.530000 +vt 0.435000 0.470000 +vt 0.440000 0.460000 +vt 0.435000 0.460000 +vt 0.445000 0.460000 +vt 0.405000 0.540000 +vt 0.410000 0.530000 +vt 0.405000 0.530000 +vt 0.465000 0.460000 +vt 0.465000 0.450000 +vt 0.465000 0.470000 +vt 0.450000 0.460000 +vt 0.315000 0.270000 +vt 0.307500 0.250000 +vt 0.305000 0.270000 +vt 0.460000 0.520000 +vt 0.455000 0.510000 +vt 0.420000 0.460000 +vt 0.415000 0.460000 +vt 0.465000 0.480000 +vt 0.460000 0.480000 +vt 0.465000 0.510000 +vt 0.465000 0.520000 +vt 0.445000 0.510000 +vt 0.445000 0.490000 +vt 0.470000 0.650000 +vt 0.480000 0.700000 +vt 0.440000 0.490000 +vt 0.460000 0.490000 +vt 0.455000 0.490000 +vt 0.410000 0.460000 +vt 0.465000 0.490000 +vt 0.460000 0.500000 +vt 0.465000 0.500000 +vt 0.445000 0.500000 +vt 0.460000 0.510000 +vt 0.435000 0.460000 +vt 0.450000 0.470000 +vt 0.415000 0.510000 +vt 0.420000 0.500000 +vt 0.415000 0.500000 +vt 0.450000 0.530000 +vt 0.460000 0.530000 +vt 0.445000 0.540000 +vt 0.440000 0.530000 +vt 0.440000 0.540000 +vt 0.455000 0.540000 +vt 0.455000 0.530000 +vt 0.470000 0.530000 +vt 0.420000 0.510000 +vt 0.475000 0.530000 +vt 0.450000 0.540000 +vt 0.430000 0.540000 +vt 0.435000 0.530000 +vt 0.430000 0.530000 +vt 0.465000 0.540000 +vt 0.475000 0.530000 +vt 0.475000 0.540000 +vt 0.425000 0.540000 +vt 0.430000 0.540000 +vt 0.410000 0.510000 +vt 0.405000 0.500000 +vt 0.405000 0.510000 +vt 0.465000 0.540000 +vt 0.465000 0.530000 +vt 0.415000 0.490000 +vt 0.435000 0.540000 +vt 0.475000 0.530000 +vt 0.475000 0.540000 +vt 0.435000 0.510000 +vt 0.430000 0.500000 +vt 0.430000 0.510000 +vt 0.475000 0.540000 +vt 0.470000 0.540000 +vt 0.405000 0.490000 +vt 0.465000 0.520000 +vt 0.425000 0.510000 +vt 0.410000 0.320000 +vt 0.410000 0.340000 +vt 0.435000 0.520000 +vt 0.430000 0.520000 +vt 0.470000 0.520000 +vt 0.425000 0.530000 +vt 0.420000 0.520000 +vt 0.337500 0.450000 +vt 0.345000 0.430000 +vt 0.335000 0.430000 +vt 0.405000 0.520000 +vt 0.420000 0.510000 +vt 0.410000 0.520000 +vt 0.420000 0.540000 +vt 0.415000 0.540000 +vt 0.420000 0.530000 +vt 0.410000 0.540000 +vt 0.415000 0.550000 +vt 0.405000 0.550000 +vt 0.410000 0.550000 +vt 0.420000 0.550000 +vt 0.425000 0.550000 +vt 0.430000 0.550000 +vt 0.450000 0.550000 +vt 0.445000 0.550000 +vt 0.430000 0.550000 +vt 0.435000 0.540000 +vt 0.440000 0.550000 +vt 0.430000 0.480000 +vt 0.435000 0.490000 +vt 0.435000 0.480000 +vt 0.455000 0.550000 +vt 0.460000 0.550000 +vt 0.480000 0.540000 +vt 0.475000 0.550000 +vt 0.480000 0.550000 +vt 0.470000 0.550000 +vt 0.475000 0.550000 +vt 0.435000 0.550000 +vt 0.475000 0.550000 +vt 0.480000 0.540000 +vt 0.420000 0.480000 +vt 0.420000 0.490000 +vt 0.400000 0.340000 +vt 0.408750 0.350000 +vt 0.401250 0.350000 +vt 0.360000 0.340000 +vt 0.368750 0.350000 +vt 0.361250 0.350000 +vt 0.370000 0.340000 +vt 0.378750 0.350000 +vt 0.371250 0.350000 +vt 0.440000 0.340000 +vt 0.431250 0.350000 +vt 0.391250 0.350000 +vt 0.390000 0.340000 +vt 0.381250 0.350000 +vt 0.380000 0.340000 +vt 0.418750 0.350000 +vt 0.411250 0.350000 +vt 0.390000 0.320000 +vt 0.380000 0.320000 +vt 0.400000 0.320000 +vt 0.430000 0.320000 +vt 0.420000 0.540000 +vt 0.420000 0.550000 +vt 0.420000 0.320000 +vt 0.395000 0.490000 +vt 0.390000 0.490000 +vt 0.395000 0.480000 +vt 0.400000 0.490000 +vt 0.400000 0.490000 +vt 0.400000 0.480000 +vt 0.400000 0.480000 +vt 0.400000 0.470000 +vt 0.395000 0.480000 +vt 0.400000 0.470000 +vt 0.395000 0.470000 +vt 0.395000 0.470000 +vt 0.390000 0.470000 +vt 0.390000 0.480000 +vt 0.390000 0.470000 +vt 0.395000 0.480000 +vt 0.390000 0.480000 +vt 0.395000 0.380000 +vt 0.400000 0.380000 +vt 0.395000 0.380000 +vt 0.395000 0.460000 +vt 0.390000 0.470000 +vt 0.395000 0.470000 +vt 0.400000 0.390000 +vt 0.395000 0.390000 +vt 0.395000 0.390000 +vt 0.400000 0.400000 +vt 0.400000 0.390000 +vt 0.385000 0.390000 +vt 0.390000 0.460000 +vt 0.390000 0.390000 +vt 0.380000 0.390000 +vt 0.385000 0.460000 +vt 0.365000 0.470000 +vt 0.370000 0.460000 +vt 0.365000 0.460000 +vt 0.430000 0.490000 +vt 0.395000 0.410000 +vt 0.400000 0.410000 +vt 0.375000 0.470000 +vt 0.380000 0.460000 +vt 0.375000 0.460000 +vt 0.360000 0.470000 +vt 0.360000 0.460000 +vt 0.360000 0.390000 +vt 0.365000 0.460000 +vt 0.365000 0.390000 +vt 0.355000 0.270000 +vt 0.355000 0.430000 +vt 0.390000 0.460000 +vt 0.385000 0.470000 +vt 0.390000 0.470000 +vt 0.370000 0.470000 +vt 0.375000 0.390000 +vt 0.380000 0.460000 +vt 0.385000 0.460000 +vt 0.380000 0.470000 +vt 0.385000 0.470000 +vt 0.370000 0.390000 +vt 0.375000 0.460000 +vt 0.370000 0.460000 +vt 0.400000 0.460000 +vt 0.395000 0.470000 +vt 0.400000 0.470000 +vt 0.780000 0.400000 +vt 0.770000 0.420000 +vt 0.780000 0.420000 +vt 0.325000 0.180000 +vt 0.315000 0.020000 +vt 0.315000 0.180000 +vt 0.305000 0.430000 +vt 0.295000 0.270000 +vt 0.305000 0.270000 +vt 0.315000 0.270000 +vt 0.315000 0.430000 +vt 0.305000 0.180000 +vt 0.295000 0.020000 +vt 0.295000 0.180000 +vt 0.335000 0.270000 +vt 0.345000 0.270000 +vt 0.297500 0.450000 +vt 0.305000 0.430000 +vt 0.295000 0.430000 +vt 0.325000 0.430000 +vt 0.332500 0.450000 +vt 0.335000 0.430000 +vt 0.335000 0.180000 +vt 0.342500 0.200000 +vt 0.345000 0.180000 +vt 0.315000 0.430000 +vt 0.322500 0.450000 +vt 0.325000 0.430000 +vt 0.347500 0.200000 +vt 0.355000 0.180000 +vt 0.302500 0.250000 +vt 0.295000 0.270000 +vt 0.305000 0.270000 +vt 0.345000 0.270000 +vt 0.352500 0.250000 +vt 0.347500 0.250000 +vt 0.327500 0.250000 +vt 0.335000 0.270000 +vt 0.332500 0.250000 +vt 0.347500 -0.000000 +vt 0.355000 0.020000 +vt 0.352500 -0.000000 +vt 0.317500 0.250000 +vt 0.325000 0.270000 +vt 0.322500 0.250000 +vt 0.345000 0.020000 +vt 0.325000 0.270000 +vt 0.325000 0.430000 +vt 0.305000 0.020000 +vt 0.335000 0.020000 +vt 0.307500 0.450000 +vt 0.315000 0.430000 +vt 0.305000 0.430000 +vt 0.312500 0.200000 +vt 0.307500 0.200000 +vt 0.302500 0.200000 +vt 0.347500 0.450000 +vt 0.355000 0.430000 +vt 0.327500 0.200000 +vt 0.317500 0.200000 +vt 0.337500 -0.000000 +vt 0.342500 -0.000000 +vt 0.335000 0.270000 +vt 0.342500 0.250000 +vt 0.337500 0.250000 +vt 0.322500 -0.000000 +vt 0.317500 -0.000000 +vt 0.312500 -0.000000 +vt 0.307500 -0.000000 +vt 0.297500 -0.000000 +vt 0.302500 -0.000000 +vt 0.785000 0.420000 +vt 0.795000 0.400000 +vt 0.795000 0.420000 +vt 0.415000 0.430000 +vt 0.780000 0.420000 +vt 0.785000 0.400000 +vt 0.785000 0.630000 +vt 0.795000 0.612500 +vt 0.795000 0.627500 +vt 0.795000 0.667500 +vt 0.785000 0.650000 +vt 0.795000 0.652500 +vt 0.785000 0.730000 +vt 0.795000 0.712500 +vt 0.795000 0.727500 +vt 0.785000 0.670000 +vt 0.795000 0.687500 +vt 0.785000 0.690000 +vt 0.795000 0.647500 +vt 0.795000 0.632500 +vt 0.785000 0.750000 +vt 0.795000 0.732500 +vt 0.795000 0.747500 +vt 0.795000 0.767500 +vt 0.795000 0.752500 +vt 0.370000 0.320000 +vt 0.370000 0.160000 +vt 0.360000 0.000000 +vt 0.360000 0.160000 +vt 0.375000 0.180000 +vt 0.370000 0.310000 +vt 0.375000 0.310000 +vt 0.380000 0.000000 +vt 0.370000 0.160000 +vt 0.380000 0.160000 +vt 0.395000 0.240000 +vt 0.390000 0.230000 +vt 0.390000 0.240000 +vt 0.460000 0.020000 +vt 0.485000 0.080000 +vt 0.455000 0.080000 +vt 0.370000 0.160000 +vt 0.360000 0.000000 +vt 0.360000 0.160000 +vt 0.375000 0.180000 +vt 0.370000 0.310000 +vt 0.375000 0.310000 +vt 0.390000 0.160000 +vt 0.380000 0.000000 +vt 0.380000 0.160000 +vt 0.400000 0.000000 +vt 0.400000 0.160000 +vt 0.365000 0.180000 +vt 0.370000 0.310000 +vt 0.370000 0.180000 +vt 0.675000 0.030000 +vt 0.710000 0.010000 +vt 0.710000 0.040000 +vt 0.380000 0.180000 +vt 0.380000 0.310000 +vt 0.390000 0.000000 +vt 0.380000 0.160000 +vt 0.390000 0.160000 +vt 0.390000 0.250000 +vt 0.395000 0.240000 +vt 0.390000 0.240000 +vt 0.390000 0.200000 +vt 0.395000 0.190000 +vt 0.390000 0.190000 +vt 0.385000 0.210000 +vt 0.385000 0.200000 +vt 0.400000 0.200000 +vt 0.395000 0.200000 +vt 0.390000 0.270000 +vt 0.385000 0.260000 +vt 0.385000 0.270000 +vt 0.395000 0.260000 +vt 0.400000 0.270000 +vt 0.395000 0.270000 +vt 0.400000 0.160000 +vt 0.390000 0.180000 +vt 0.400000 0.180000 +vt 0.400000 0.250000 +vt 0.400000 0.260000 +vt 0.380000 0.180000 +vt 0.390000 0.180000 +vt 0.390000 0.260000 +vt 0.395000 0.270000 +vt 0.755000 0.080000 +vt 0.725000 0.060000 +vt 0.755000 0.060000 +vt 0.375000 0.310000 +vt 0.380000 0.310000 +vt 0.390000 0.260000 +vt 0.395000 0.250000 +vt 0.390000 0.250000 +vt 0.450000 0.230000 +vt 0.490000 0.260000 +vt 0.450000 0.260000 +vt 0.390000 0.000000 +vt 0.390000 0.160000 +vt 0.385000 0.230000 +vt 0.390000 0.230000 +vt 0.395000 0.220000 +vt 0.400000 0.210000 +vt 0.400000 0.220000 +vt 0.395000 0.210000 +vt 0.380000 0.180000 +vt 0.370000 0.180000 +vt 0.390000 0.180000 +vt 0.395000 0.230000 +vt 0.400000 0.230000 +vt 0.400000 0.240000 +vt 0.370000 0.180000 +vt 0.365000 0.310000 +vt 0.370000 0.310000 +vt 0.365000 0.310000 +vt 0.360000 0.180000 +vt 0.360000 0.310000 +vt 0.390000 0.220000 +vt 0.390000 0.210000 +vt 0.365000 0.180000 +vt 0.360000 0.310000 +vt 0.365000 0.310000 +vt 0.390000 0.220000 +vt 0.385000 0.240000 +vt 0.390000 0.190000 +vt 0.385000 0.190000 +vt 0.360000 0.180000 +vt 0.370000 0.180000 +vt 0.385000 0.250000 +vt 0.390000 0.210000 +vt 0.385000 0.220000 +vt 0.370000 0.180000 +vt 0.380000 0.180000 +vt 0.580000 0.120000 +vt 0.610000 0.080000 +vt 0.610000 0.120000 +vt 0.405000 0.290000 +vt 0.445000 0.260000 +vt 0.405000 0.260000 +vt 0.725000 0.090000 +vt 0.690000 0.070000 +vt 0.665000 0.070000 +vt 0.690000 0.100000 +vt 0.665000 0.110000 +vt 0.395000 0.210000 +vt 0.525000 0.090000 +vt 0.495000 0.150000 +vt 0.495000 0.090000 +vt 0.755000 0.050000 +vt 0.735000 0.010000 +vt 0.755000 0.010000 +vt 0.520000 0.000000 +vt 0.575000 0.010000 +vt 0.520000 0.040000 +vt 0.410000 0.100000 +vt 0.445000 0.200000 +vt 0.405000 0.200000 +vt 0.645000 0.020000 +vt 0.675000 0.000000 +vt 0.525000 0.150000 +vt 0.510000 0.160000 +vt 0.575000 0.060000 +vt 0.490000 0.000000 +vt 0.645000 0.110000 +vt 0.580000 0.080000 +vt 0.490000 0.180000 +vt 0.400000 0.180000 +vt 0.765000 0.010000 +vt 0.765000 0.050000 +vt 0.445000 0.230000 +vt 0.405000 0.200000 +vt 0.405000 0.230000 +vt 0.440000 0.100000 +vt 0.590000 0.080000 +vt 0.575000 0.070000 +vt 0.605000 0.070000 +vt 0.605000 0.010000 +vt 0.610000 0.040000 +vt 0.590000 0.000000 +vt 0.490000 0.120000 +vt 0.510000 0.080000 +vt 0.525000 0.140000 +vt 0.490000 0.200000 +vt 0.450000 0.180000 +vt 0.525000 0.080000 +vt 0.575000 0.000000 +vt 0.450000 0.200000 +vt 0.490000 0.230000 +vt 0.735000 0.050000 +vt 0.380000 0.160000 +vt 0.370000 0.000000 +vt 0.235000 0.630000 +vt 0.420000 0.530000 +vt 0.290000 0.560000 +vt 0.290000 0.770000 +vt 0.320000 0.740000 +vt 0.310000 0.560000 +vt 0.240000 0.610000 +vt 0.465000 0.430000 +vt 0.400000 0.400000 +vt 0.428750 0.350000 +vt 0.420000 0.430000 +vt 0.320000 0.560000 +vt 0.330000 0.770000 +vt 0.312500 0.250000 +vt 0.460000 0.650000 +vt 0.445000 0.530000 +vt 0.465000 0.530000 +vt 0.460000 0.540000 +vt 0.410000 0.500000 +vt 0.435000 0.500000 +vt 0.342500 0.450000 +vt 0.435000 0.550000 +vt 0.465000 0.550000 +vt 0.480000 0.550000 +vt 0.415000 0.480000 +vt 0.438750 0.350000 +vt 0.398750 0.350000 +vt 0.388750 0.350000 +vt 0.440000 0.320000 +vt 0.400000 0.380000 +vt 0.390000 0.460000 +vt 0.395000 0.400000 +vt 0.380000 0.470000 +vt 0.360000 0.460000 +vt 0.385000 0.460000 +vt 0.380000 0.460000 +vt 0.395000 0.460000 +vt 0.770000 0.400000 +vt 0.295000 0.430000 +vt 0.335000 0.430000 +vt 0.302500 0.450000 +vt 0.327500 0.450000 +vt 0.337500 0.200000 +vt 0.317500 0.450000 +vt 0.352500 0.200000 +vt 0.297500 0.250000 +vt 0.355000 0.270000 +vt 0.325000 0.270000 +vt 0.315000 0.270000 +vt 0.312500 0.450000 +vt 0.297500 0.200000 +vt 0.352500 0.450000 +vt 0.332500 0.200000 +vt 0.322500 0.200000 +vt 0.345000 0.270000 +vt 0.785000 0.610000 +vt 0.795000 0.672500 +vt 0.785000 0.770000 +vt 0.360000 0.320000 +vt 0.370000 0.180000 +vt 0.370000 0.000000 +vt 0.480000 0.020000 +vt 0.370000 0.000000 +vt 0.370000 0.180000 +vt 0.390000 0.000000 +vt 0.380000 0.000000 +vt 0.395000 0.250000 +vt 0.395000 0.200000 +vt 0.400000 0.190000 +vt 0.390000 0.260000 +vt 0.375000 0.180000 +vt 0.395000 0.260000 +vt 0.400000 0.000000 +vt 0.365000 0.180000 +vt 0.395000 0.220000 +vt 0.395000 0.230000 +vt 0.445000 0.290000 +vt 0.390000 0.200000 +vt 0.645000 0.000000 +vt 0.490000 0.040000 +vt 0.645000 0.070000 +vt 0.445000 0.200000 +vt 0.380000 0.000000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.0000 0.0000 1.0000 +vn 0.0000 0.2425 -0.9701 +vn 0.0000 -0.2425 0.9701 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.3846 -0.9231 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -0.3846 0.9231 +vn 0.7071 -0.0000 -0.7071 +vn 0.4472 0.8944 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.0000 0.7071 -0.7071 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 0.4472 -0.8944 +vn 0.0000 0.8321 0.5547 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.5774 0.5774 -0.5774 +vn 0.5773 -0.5774 -0.5774 +vn -0.5774 -0.5774 -0.5774 +vn -0.5774 0.5774 -0.5774 +vn 0.7071 0.0000 0.7071 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.7071 0.0000 -0.7071 +vn 0.0000 0.4961 0.8682 +vn 0.4472 -0.0000 0.8944 +vn 0.0000 -0.4961 0.8682 +vn -0.4472 0.0000 0.8944 +vn 0.9864 -0.1644 0.0000 +vn -0.9864 -0.1644 0.0000 +vn -0.9806 0.1961 0.0000 +vn 0.9806 0.1961 0.0000 +vn 0.4472 -0.8944 0.0000 +vn -0.4472 -0.8944 0.0000 +vn 0.0000 0.9864 0.1644 +vn 0.0000 0.9778 0.2095 +vn -0.9997 -0.0250 0.0000 +vn -0.9999 -0.0136 0.0000 +vn -0.4343 -0.0324 0.9002 +vn 0.4082 -0.1464 0.9011 +vn -0.4082 -0.1464 0.9011 +vn -0.4008 -0.1500 0.9038 +vn 0.3530 -0.2071 0.9124 +vn -0.3530 -0.2071 0.9124 +vn 0.0000 -0.9913 -0.1313 +vn 0.5621 -0.0098 0.8270 +vn -0.4610 0.2055 0.8633 +vn 0.4610 0.2055 0.8633 +vn -0.2793 0.2822 -0.9178 +vn 0.1978 0.1380 -0.9705 +vn 0.2793 0.2822 -0.9178 +vn 0.6325 -0.6325 -0.4472 +vn 0.0000 -0.8944 -0.4472 +vn -0.7069 0.0243 -0.7069 +vn -0.4957 -0.7842 -0.3731 +vn -0.8277 0.0544 -0.5585 +vn -0.6645 -0.1707 0.7275 +vn -0.8924 -0.1076 0.4382 +vn -0.3447 -0.0583 0.9369 +vn 0.8695 -0.0028 -0.4939 +vn 0.9773 -0.0302 0.2096 +vn 0.9162 0.0648 -0.3953 +vn 0.9033 -0.0841 0.4207 +vn 0.9673 0.1288 -0.2184 +vn 0.9239 0.0000 -0.3827 +vn 0.9997 -0.0250 0.0000 +vn 0.9999 -0.0136 0.0000 +vn 0.9999 -0.0116 0.0000 +vn 0.7795 0.5034 -0.3728 +vn 0.8665 -0.0212 0.4988 +vn 0.7951 0.3658 -0.4837 +vn 0.4252 -0.1495 -0.8927 +vn 0.3924 0.1165 -0.9124 +vn -0.8695 -0.0028 -0.4939 +vn -0.9673 0.1288 -0.2184 +vn -0.9773 -0.0302 0.2096 +vn -0.9162 0.0648 -0.3953 +vn -0.9330 0.0000 -0.3600 +vn 0.9330 0.0000 -0.3600 +vn -0.3049 0.6832 -0.6636 +vn 0.3827 0.0000 -0.9239 +vn 0.3049 0.6832 -0.6636 +vn 0.0000 -0.5556 -0.8315 +vn 0.0000 -0.9239 -0.3827 +vn -0.4040 -0.1733 0.8982 +vn 0.4008 -0.1500 0.9038 +vn 0.8809 -0.1316 -0.4547 +vn 0.3110 0.5472 -0.7770 +vn 0.7841 0.4950 -0.3744 +vn -0.3110 0.5472 -0.7770 +vn -0.7841 0.4950 -0.3744 +vn 0.0000 0.7071 0.7071 +vn -0.3827 0.0000 -0.9239 +vn 0.3398 -0.3546 -0.8711 +vn -0.2677 -0.3576 -0.8947 +vn -0.3398 -0.3546 -0.8711 +vn 0.0000 0.2941 -0.9558 +vn -0.1978 0.1380 -0.9705 +vn 0.2677 -0.3576 -0.8947 +vn -0.8809 -0.1316 -0.4547 +vn 0.4343 -0.0324 0.9002 +vn -0.5621 -0.0098 0.8270 +vn 0.8924 -0.1076 0.4382 +vn -0.3924 0.1165 -0.9124 +vn 0.0000 0.4258 0.9048 +vn 0.4040 -0.1733 0.8982 +vn -0.4252 -0.1495 -0.8927 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.2580 0.9662 +vn -0.8526 0.1648 0.4960 +vn -0.8842 0.1040 0.4554 +vn 0.3447 -0.0583 0.9369 +vn 0.0000 -0.9785 -0.2063 +vn -0.8507 -0.1151 0.5129 +vn 0.8507 -0.1151 0.5129 +vn 0.8691 -0.2479 0.4281 +vn 0.0514 -0.4357 0.8986 +vn 0.7731 -0.1695 0.6113 +vn -0.7731 -0.1695 0.6113 +vn 0.6645 -0.1707 0.7275 +vn -0.9999 -0.0116 0.0000 +vn -1.0000 0.0082 0.0000 +vn -0.5709 0.8168 -0.0835 +vn -0.9833 -0.0100 -0.1815 +vn 0.9998 0.0208 0.0000 +vn 0.9999 0.0124 0.0000 +vn 1.0000 0.0082 0.0000 +vn 0.4057 0.8558 0.3208 +vn -0.3399 0.8769 -0.3399 +vn -0.4687 0.8487 -0.2450 +vn 0.0000 -0.2941 0.9558 +vn -0.8526 0.1648 -0.4960 +vn -0.8144 -0.1374 -0.5639 +vn 0.8144 -0.1374 -0.5639 +vn 0.7372 -0.3053 0.6028 +vn 0.8842 0.1040 0.4554 +vn -0.7194 0.4863 0.4960 +vn -0.7194 0.4863 -0.4960 +vn 0.3053 -0.7372 0.6028 +vn 0.1852 0.0000 0.9827 +vn -0.0228 0.0550 0.9982 +vn -0.5257 0.8507 0.0000 +vn 0.4735 0.8701 0.1369 +vn 0.1186 0.8190 0.5614 +vn -0.1648 0.8526 -0.4960 +vn -0.1648 0.8526 0.4960 +vn -0.4695 0.8785 -0.0885 +vn 0.5615 0.7863 0.2580 +vn -0.5615 0.7863 0.2580 +vn 0.9953 -0.0805 -0.0537 +vn 0.5604 -0.6891 -0.4594 +vn 0.9808 0.1621 0.1081 +vn -0.9808 0.1621 0.1081 +vn -0.9953 -0.0805 -0.0537 +vn -0.5604 -0.6891 -0.4594 +vn -0.4815 -0.8416 -0.2446 +vn 0.4815 -0.8416 -0.2446 +vn -0.5508 -0.8218 -0.1460 +vn -0.5257 -0.8507 0.0000 +vn -0.4863 0.7194 -0.4960 +vn 0.5614 0.8190 0.1186 +vn 0.9827 -0.0000 0.1852 +vn -0.4695 -0.8785 -0.0885 +vn 0.5614 -0.8190 0.1186 +vn 0.3925 0.7653 0.5102 +vn -0.3925 0.7653 0.5102 +vn 0.9241 -0.0362 0.3804 +vn 0.3776 -0.9017 0.2103 +vn 0.4681 -0.8829 0.0378 +vn -0.3713 0.8963 -0.2425 +vn 0.3713 0.8963 -0.2425 +vn -0.5000 0.7071 0.5000 +vn -0.8410 0.5400 0.0332 +vn 0.0000 0.9736 -0.2281 +vn 0.0000 0.9981 0.0614 +vn -0.3892 -0.8349 -0.3892 +vn 0.4310 0.7927 0.4310 +vn -0.9033 -0.0841 0.4207 +vn -0.2955 -0.9085 -0.2955 +vn -0.0885 -0.8785 -0.4695 +vn -0.8023 -0.4221 -0.4221 +vn -0.0885 0.8785 -0.4695 +vn 0.4299 0.7940 0.4299 +vn -0.2955 0.9085 -0.2955 +vn -0.8151 0.5619 -0.1408 +vn -0.0228 0.7155 -0.6982 +vn -0.8197 0.3519 -0.4519 +vn 0.4299 -0.7940 0.4299 +vn -0.6325 0.6325 -0.4472 +vn -0.8944 0.0000 -0.4472 +vn -0.0000 -0.2085 -0.9780 +vn 0.7372 -0.3053 -0.6028 +vn 0.5257 -0.8507 0.0000 +vn -0.0228 0.0550 -0.9982 +vn -0.0550 0.0228 0.9982 +vn 0.0000 -0.9756 -0.2195 +vn -0.4863 0.7194 0.4960 +vn 0.3053 -0.7372 -0.6028 +vn 0.5257 0.8507 0.0000 +vn -0.0550 0.0228 -0.9982 +vn 0.1186 -0.8190 0.5614 +vn 0.8519 0.2525 -0.4588 +vn 0.8023 -0.4221 0.4221 +vn 0.8938 0.3171 -0.3171 +vn 0.8938 0.3171 0.3171 +vn -0.0000 0.9700 0.2431 +vn -0.8938 0.3171 0.3171 +vn -0.8867 0.4522 0.0961 +vn 0.8126 -0.5684 -0.1293 +vn 0.8023 -0.4221 -0.4221 +vn -0.8088 -0.2890 0.5122 +vn -0.8023 -0.4221 0.4221 +vn 0.8867 0.4522 0.0961 +vn -0.8831 -0.4568 0.1075 +vn -0.8876 -0.4153 0.1993 +vn -0.8126 -0.5684 -0.1293 +vn 0.0000 -0.9811 -0.1936 +vn 0.0000 -0.9645 0.2643 +vn 0.8831 -0.4568 0.1075 +vn 0.0168 0.4040 -0.9146 +vn -0.8938 0.3171 -0.3171 +vn -0.8539 0.1410 -0.5010 +vn 0.8108 -0.5728 0.1210 +vn 0.8893 0.4488 -0.0883 +vn -0.8108 -0.5728 0.1210 +vn 0.0000 -0.9839 0.1787 +vn -0.8893 0.4488 -0.0883 +vn 0.8493 -0.1311 0.5113 +vn 0.0274 -0.3642 0.9309 +vn -0.7079 0.0000 -0.7063 +vn -0.8381 0.0811 -0.5395 +vn -0.8178 -0.3963 0.4172 +vn -0.0438 -0.7411 0.6699 +vn 0.7594 -0.3146 0.5695 +vn 0.5657 -0.5657 0.6000 +vn -0.0086 0.3875 -0.9218 +vn 0.8151 0.5619 -0.1408 +vn 0.0000 0.9766 -0.2149 +vn 0.8487 0.5289 -0.0070 +vn -0.8487 0.5289 -0.0070 +vn 0.0000 0.9999 -0.0132 +vn 0.8526 -0.5225 0.0069 +vn 0.0000 -0.9999 0.0132 +vn 0.8459 0.5330 -0.0164 +vn 0.0000 0.9995 -0.0307 +vn -0.8526 -0.5225 0.0069 +vn -0.8459 0.5330 -0.0164 +vn -0.8594 -0.5103 -0.0314 +vn 0.8551 -0.5181 0.0159 +vn 0.0000 -0.9995 0.0307 +vn -0.8551 -0.5181 0.0159 +vn 0.0000 -0.9981 -0.0614 +vn 0.8410 0.5400 0.0332 +vn 0.8594 -0.5103 -0.0314 +vn -0.5000 0.7071 -0.5000 +vn 0.5000 0.7071 0.5000 +vn 0.5000 0.7071 -0.5000 +vn 0.7080 0.0000 -0.7062 +vn 1.0000 0.0000 0.0017 +vn 0.0001 0.0000 -1.0000 +vn -0.7062 0.0000 0.7080 +vn -0.7071 0.0000 0.7071 +vn -1.0000 0.0000 0.0017 +vn -0.0000 0.4472 0.8944 +vn -0.3162 0.3162 0.8944 +vn 0.3162 0.3162 0.8944 +vn 0.3162 -0.3162 0.8944 +vn 0.0000 -0.4472 0.8944 +vn -0.3162 -0.3162 0.8944 +vn 0.8944 0.4472 0.0000 +vn -0.6618 0.7497 0.0000 +vn -0.8507 0.5257 0.0000 +vn -0.8507 -0.5257 0.0000 +vn 0.9239 0.3827 0.0000 +vn -0.9998 0.0208 0.0000 +vn -0.9999 0.0124 0.0000 +vn -0.8944 -0.4472 0.0000 +vn -0.3827 -0.9239 0.0000 +vn 0.9239 -0.3827 -0.0000 +vn -0.8321 0.5547 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.3827 0.9239 0.0000 +vn -0.5657 0.5657 0.6000 +vn -0.3146 0.7594 0.5695 +vn -0.0000 -0.8000 0.6000 +vn -0.5657 -0.5657 0.6000 +vn -0.8000 0.0000 0.6000 +vn -0.7594 -0.3145 0.5695 +vn -0.3474 0.8387 -0.4194 +vn 0.8387 -0.3474 -0.4194 +vn -0.6325 -0.6325 -0.4472 +vn -0.8387 -0.3474 -0.4194 +vn -0.9239 -0.3827 -0.0000 +vn 0.8000 0.0000 0.6000 +vn 0.5657 0.5657 0.6000 +vn 0.3146 0.7594 0.5695 +vn 0.8944 0.0000 -0.4472 +vn 0.6325 0.6325 -0.4472 +vn 0.3474 0.8387 -0.4194 +vn 0.3827 -0.9239 0.0000 +vn 0.7021 -0.1192 0.7021 +vn 0.3713 -0.8963 -0.2425 +vn -0.3713 -0.8963 -0.2425 +vn 0.8963 0.3713 -0.2425 +vn 0.8963 -0.3713 -0.2425 +vn -0.8963 0.3713 -0.2425 +vn -0.8963 -0.3713 -0.2425 +vn 0.7063 0.0000 0.7079 +vn -0.0000 -0.9759 0.2181 +vn 0.6901 -0.6901 -0.2181 +vn 0.6901 -0.6901 0.2181 +vn -0.0006 -1.0000 -0.0013 +vn -0.0005 -1.0000 -0.0014 +vn 0.9973 0.0000 0.0728 +vn 0.9759 0.0000 0.2181 +vn 0.9759 -0.0000 -0.2181 +vn -0.6901 0.6901 0.2181 +vn -0.0000 0.9759 -0.2181 +vn -0.6901 0.6901 -0.2181 +vn -0.8944 -0.0000 0.4472 +vn -0.6325 0.6325 0.4472 +vn 0.0000 0.9759 0.2181 +vn 0.6325 0.6325 0.4472 +vn 0.6901 0.6901 0.2181 +vn 0.6901 0.6901 -0.2181 +vn -0.0000 0.8944 -0.4472 +vn -0.9864 0.0000 0.1644 +vn -0.9961 0.0000 0.0884 +vn 0.0000 -0.8944 0.4472 +vn -0.6901 -0.6901 -0.2181 +vn -0.9759 0.0000 -0.2181 +vn -0.0000 -0.9759 -0.2181 +vn -0.6901 -0.6901 0.2181 +vn 0.6325 -0.6325 0.4472 +vn -0.0000 0.8944 0.4472 +vn 0.8944 -0.0000 0.4472 +vn -0.9759 -0.0000 0.2181 +vn -0.6325 -0.6325 0.4472 +vn -0.9917 -0.0000 0.1288 +vn -0.9973 0.0000 0.0728 +vn -0.9571 0.0000 -0.2898 +vn -0.9510 0.0000 -0.3091 +vn -0.9988 -0.0000 0.0485 +vn 0.4719 0.0000 -0.8817 +vn 0.9571 0.0000 -0.2898 +vn 0.9914 0.0005 0.1307 +vn 0.9988 -0.0000 0.0485 +vn 0.9917 -0.0000 0.1288 +vn 0.0000 0.9947 0.1028 +vn 0.0000 0.9570 0.2902 +vn 0.9864 0.0000 0.1644 +vn 0.9961 0.0000 0.0884 +vn -0.9992 0.0000 0.0401 +vn 0.9992 0.0000 0.0401 +vn -0.4719 0.0000 -0.8817 +vn -0.9914 -0.0006 0.1308 +vn 0.0000 -1.0000 0.0009 +vn 0.0000 -0.9818 -0.1901 +vn -0.0002 -1.0000 0.0072 +vn -0.9987 -0.0000 0.0516 +vn 0.9990 -0.0002 0.0452 +vn 0.9510 0.0000 -0.3091 +vn -0.9239 0.0000 -0.3827 +vn 0.3129 -0.8968 0.3129 +vn 0.0001 0.0000 1.0000 +s off +f 263/426/128 264/427/128 265/428/128 +f 271/429/129 266/430/129 272/431/129 +f 272/431/129 261/432/129 271/429/129 +f 270/433/128 264/427/128 263/426/128 +f 531/434/130 537/435/130 539/436/130 +f 263/426/128 290/437/128 270/433/128 +f 298/438/128 270/433/128 299/439/128 +f 296/440/128 293/441/128 290/437/128 +f 292/442/128 299/439/128 293/441/128 +f 346/443/131 341/444/131 344/445/131 +f 271/429/129 261/432/129 297/446/129 +f 300/447/129 301/448/129 261/432/129 +f 294/449/129 291/450/129 301/448/129 +f 295/451/129 297/446/129 291/450/129 +f 343/452/132 338/453/132 347/454/132 +f 299/439/128 290/437/128 293/441/128 +f 262/455/129 261/432/129 318/456/129 +f 317/457/128 270/433/128 260/458/128 +f 261/432/129 291/450/129 297/446/129 +f 343/452/130 351/459/130 340/460/130 +f 345/461/133 341/444/133 342/462/133 +f 346/443/134 337/463/134 339/464/134 +f 541/465/130 533/466/130 540/467/130 +f 655/468/135 656/469/135 657/470/135 +f 543/471/130 535/472/130 542/473/130 +f 348/474/136 338/453/136 352/475/136 +f 498/476/135 500/477/135 496/478/135 +f 659/479/137 664/480/137 663/481/137 +f 508/482/135 504/483/135 506/484/135 +f 502/485/135 504/483/135 500/477/135 +f 496/478/135 508/482/135 510/486/135 +f 529/487/130 543/471/130 538/488/130 +f 531/434/130 539/436/130 532/489/130 +f 541/465/130 535/472/130 534/490/130 +f 530/491/130 538/488/130 537/435/130 +f 546/492/133 550/493/133 544/494/133 +f 549/495/133 550/493/133 548/496/133 +f 547/497/133 548/496/133 546/492/133 +f 545/498/133 546/492/133 544/494/133 +f 533/466/130 532/489/130 540/467/130 +f 539/436/130 540/467/130 532/489/130 +f 559/499/130 552/500/130 560/501/130 +f 564/502/133 551/503/133 553/504/133 +f 568/505/133 565/506/133 569/507/133 +f 578/508/138 565/506/138 570/509/138 +f 577/510/130 578/508/130 570/509/130 +f 632/511/133 636/512/133 638/513/133 +f 593/514/130 597/515/130 596/516/130 +f 598/517/130 593/514/130 595/518/130 +f 594/519/130 599/520/130 595/518/130 +f 596/516/130 600/521/130 594/519/130 +f 607/522/133 601/523/133 608/524/133 +f 748/525/130 773/526/130 774/527/130 +f 604/528/133 605/529/133 603/530/133 +f 605/529/133 606/531/133 608/524/133 +f 602/532/133 603/530/133 601/523/133 +f 661/533/139 646/534/139 649/535/139 +f 657/536/140 666/537/140 655/538/140 +f 623/539/130 627/540/130 626/541/130 +f 628/542/130 623/539/130 625/543/130 +f 624/544/130 629/545/130 625/543/130 +f 626/541/130 630/546/130 624/544/130 +f 637/547/133 638/513/133 636/512/133 +f 605/529/133 601/523/133 603/530/133 +f 633/548/133 634/549/133 632/511/133 +f 634/549/133 635/550/133 636/512/133 +f 631/551/133 632/511/133 638/513/133 +f 639/552/130 640/553/130 641/554/130 +f 642/555/130 640/553/130 639/552/130 +f 662/556/141 641/557/141 651/558/141 +f 696/559/142 694/560/142 693/561/142 +f 646/562/130 645/563/130 649/564/130 +f 650/565/130 649/564/130 645/563/130 +f 667/566/129 738/567/129 668/568/129 +f 715/569/137 711/570/137 713/571/137 +f 767/572/143 770/573/143 765/574/143 +f 648/575/130 645/576/130 646/562/130 +f 775/577/144 748/525/144 774/578/144 +f 681/579/145 680/580/145 683/581/145 +f 673/582/133 677/583/133 674/584/133 +f 657/536/146 659/585/146 663/586/146 +f 660/587/147 661/588/147 664/589/147 +f 662/556/148 651/590/148 665/591/148 +f 653/592/149 655/538/149 666/537/149 +f 778/593/128 783/594/128 781/595/128 +f 741/596/150 738/597/150 740/598/150 +f 660/599/129 667/566/129 668/568/129 +f 702/600/142 700/601/142 699/602/142 +f 742/603/129 741/604/129 740/605/129 +f 657/470/151 658/606/151 659/479/151 +f 653/592/152 654/607/152 655/468/152 +f 675/608/142 674/584/142 672/609/142 +f 678/610/129 674/611/129 665/612/129 +f 672/613/129 674/611/129 678/610/129 +f 672/613/129 678/610/129 679/614/129 +f 677/615/129 665/612/129 674/611/129 +f 665/616/153 653/592/153 666/617/153 +f 681/579/129 683/618/129 684/619/129 +f 680/620/128 682/621/128 685/622/128 +f 686/623/129 687/624/129 688/625/129 +f 661/626/145 665/627/145 664/628/145 +f 689/629/128 690/630/128 691/631/128 +f 692/632/129 693/633/129 694/634/129 +f 643/635/130 640/553/130 644/636/130 +f 697/637/128 695/638/128 696/639/128 +f 698/640/129 699/602/129 700/641/129 +f 653/592/128 641/557/128 652/642/128 +f 703/643/128 701/644/128 702/600/128 +f 704/645/144 705/646/144 706/647/144 +f 664/648/135 677/615/135 676/649/135 +f 709/650/135 708/651/135 707/652/135 +f 710/653/135 711/654/135 712/655/135 +f 769/656/130 751/657/130 762/658/130 +f 714/659/144 715/569/144 713/660/144 +f 708/661/153 705/662/153 707/652/153 +f 690/663/145 688/664/145 687/665/145 +f 666/666/133 670/667/133 723/668/133 +f 723/668/133 721/669/133 666/666/133 +f 678/670/133 666/666/133 721/669/133 +f 766/671/135 765/574/135 758/672/135 +f 816/673/129 815/674/129 817/675/129 +f 730/676/133 728/677/133 725/678/133 +f 717/679/133 716/680/133 725/678/133 +f 736/681/133 734/682/133 716/680/133 +f 732/683/133 730/676/133 734/682/133 +f 737/684/129 738/567/129 658/606/129 +f 659/479/129 658/606/129 738/567/129 +f 738/567/129 739/685/129 659/479/129 +f 660/599/129 668/568/129 646/534/129 +f 668/568/129 648/686/129 646/534/129 +f 747/687/151 746/688/151 744/689/151 +f 647/690/135 648/575/135 741/596/135 +f 668/691/135 741/596/135 648/575/135 +f 738/692/144 737/693/144 740/598/144 +f 740/598/144 737/693/144 742/694/144 +f 672/609/133 669/695/133 675/608/133 +f 662/556/144 649/696/144 639/697/144 +f 743/698/128 673/699/128 675/700/128 +f 820/701/144 824/702/144 822/703/144 +f 673/699/128 743/698/128 664/648/128 +f 673/699/128 664/648/128 676/649/128 +f 596/516/130 595/518/130 593/514/130 +f 504/483/135 496/478/135 500/477/135 +f 755/704/128 750/705/128 752/706/128 +f 757/707/129 758/672/129 765/574/129 +f 768/708/128 766/671/128 769/709/128 +f 753/710/152 750/705/152 751/711/152 +f 750/705/130 760/712/130 751/657/130 +f 762/658/130 764/713/130 763/714/130 +f 756/715/130 746/716/130 758/717/130 +f 757/707/129 765/574/129 770/718/129 +f 767/572/128 768/708/128 771/719/128 +f 780/720/135 792/721/135 790/722/135 +f 761/723/144 755/704/144 759/724/144 +f 744/689/130 746/716/130 773/526/130 +f 751/711/135 745/725/135 753/710/135 +f 772/726/130 761/727/130 764/713/130 +f 817/728/144 840/729/144 839/730/144 +f 774/527/130 776/731/130 777/732/130 +f 760/712/130 772/726/130 764/713/130 +f 840/733/128 837/734/128 839/735/128 +f 787/736/130 799/737/130 788/738/130 +f 805/739/130 806/740/130 807/741/130 +f 786/742/154 787/736/154 788/738/154 +f 783/743/130 798/744/130 781/745/130 +f 844/746/133 801/747/133 840/729/133 +f 779/748/152 778/593/152 781/595/152 +f 792/749/130 797/750/130 791/751/130 +f 798/744/130 779/752/130 781/745/130 +f 787/736/155 786/742/155 798/744/155 +f 798/744/156 786/742/156 797/750/156 +f 788/738/157 797/750/157 786/742/157 +f 822/753/130 819/754/130 820/755/130 +f 831/756/130 814/757/130 832/758/130 +f 803/759/135 831/760/135 804/761/135 +f 803/762/130 794/763/130 796/764/130 +f 794/765/139 793/766/139 796/767/139 +f 821/768/130 818/769/130 819/770/130 +f 785/771/130 805/739/130 783/743/130 +f 802/772/144 795/773/144 794/765/144 +f 798/744/130 792/749/130 779/752/130 +f 797/750/130 796/764/130 791/751/130 +f 809/774/133 810/775/133 790/776/133 +f 811/777/133 780/778/133 812/779/133 +f 670/780/144 669/781/144 671/782/144 +f 796/767/129 789/783/129 791/784/129 +f 744/689/129 749/785/129 747/687/129 +f 817/675/133 824/702/133 816/673/133 +f 842/786/133 790/776/133 789/787/133 +f 831/756/130 834/788/130 835/789/130 +f 785/790/144 808/791/144 806/792/144 +f 836/793/133 839/794/133 837/795/133 +f 814/796/128 803/797/128 799/798/128 +f 730/676/133 716/680/133 734/682/133 +f 810/775/133 811/777/133 812/779/133 +f 782/799/133 827/800/133 784/801/133 +f 828/802/133 815/803/133 829/804/133 +f 793/805/133 842/786/133 847/806/133 +f 808/807/133 829/804/133 815/803/133 +f 831/808/128 802/809/128 804/810/128 +f 807/811/135 818/812/135 805/813/135 +f 834/814/144 837/734/144 835/815/144 +f 669/816/128 743/698/128 675/700/128 +f 821/817/130 823/818/130 848/819/130 +f 819/820/129 806/792/129 820/821/129 +f 805/813/129 813/822/129 800/823/129 +f 800/824/144 814/825/144 799/826/144 +f 826/827/133 780/778/133 811/777/133 +f 826/827/133 843/828/133 778/829/133 +f 784/830/141 783/594/141 782/831/141 +f 833/832/130 832/833/130 841/834/130 +f 844/746/133 840/729/133 845/835/133 +f 793/805/133 795/836/133 846/837/133 +f 826/827/133 782/799/133 843/828/133 +f 789/787/133 847/806/133 842/786/133 +f 802/838/130 803/762/130 804/839/130 +f 862/840/128 861/841/128 858/842/128 +f 792/721/151 789/783/151 790/722/151 +f 859/843/151 856/844/151 857/845/151 +f 854/846/144 850/847/144 851/848/144 +f 863/849/152 860/850/152 864/851/152 +f 853/852/139 851/853/139 850/854/139 +f 855/855/135 863/856/135 864/857/135 +f 862/840/141 849/858/141 854/859/141 +f 624/544/130 623/539/130 626/541/130 +f 852/860/129 857/845/129 856/844/129 +f 865/861/130 866/862/130 867/863/130 +f 868/864/130 869/865/130 870/866/130 +f 869/867/128 879/868/128 881/869/128 +f 887/870/129 886/871/129 866/862/129 +f 879/868/130 878/872/130 877/873/130 +f 875/874/135 874/875/135 888/876/135 +f 874/877/152 893/878/152 888/879/152 +f 881/869/130 877/873/130 880/880/130 +f 891/881/158 885/882/158 889/883/158 +f 887/870/158 889/883/158 885/882/158 +f 890/884/159 882/885/159 892/886/159 +f 883/887/159 882/885/159 890/884/159 +f 900/888/139 902/889/139 899/890/139 +f 880/880/129 865/891/129 867/892/129 +f 874/893/130 887/870/130 894/894/130 +f 887/870/130 874/893/130 883/887/130 +f 874/893/130 872/895/130 883/887/130 +f 871/896/130 883/887/130 872/895/130 +f 901/897/130 870/866/130 883/887/130 +f 871/896/130 901/897/130 883/887/130 +f 894/894/130 887/870/130 895/898/130 +f 887/870/130 866/862/130 895/898/130 +f 865/861/130 876/899/130 897/900/130 +f 897/900/130 876/899/130 900/901/130 +f 876/899/130 868/864/130 900/901/130 +f 900/901/130 868/864/130 901/897/130 +f 897/900/130 895/898/130 865/861/130 +f 865/861/130 895/898/130 866/862/130 +f 868/864/130 870/866/130 901/897/130 +f 903/902/133 908/903/133 906/904/133 +f 899/905/133 902/906/133 884/907/133 +f 898/908/133 886/871/133 896/909/133 +f 882/910/133 873/911/133 875/912/133 +f 888/913/133 893/914/133 885/882/133 +f 875/912/133 888/913/133 885/882/133 +f 885/882/133 882/910/133 875/912/133 +f 873/911/133 882/910/133 902/906/133 +f 893/914/133 896/909/133 885/882/133 +f 885/882/133 896/909/133 886/871/133 +f 884/907/133 902/906/133 882/910/133 +f 903/915/140 885/916/140 904/917/140 +f 885/916/140 891/918/140 904/917/140 +f 905/919/140 892/920/140 906/921/140 +f 882/922/140 906/921/140 892/920/140 +f 903/902/160 904/923/160 907/924/160 +f 906/904/161 908/925/161 905/926/161 +f 900/888/144 898/927/144 897/928/144 +f 878/929/162 865/891/162 877/873/162 +f 904/930/135 908/903/135 907/931/135 +f 892/932/144 889/933/144 890/934/144 +f 868/935/163 878/936/163 879/868/163 +f 899/905/133 886/871/133 898/908/133 +f 884/937/128 883/887/128 870/866/128 +f 896/938/141 897/939/141 898/940/141 +f 901/941/129 873/942/129 902/889/129 +f 896/943/128 894/944/128 895/945/128 +f 873/942/151 872/946/151 875/874/151 +f 905/919/140 891/918/140 892/920/140 +f 890/947/130 887/870/130 883/887/130 +f 974/948/135 973/949/135 976/950/135 +f 982/951/164 979/952/164 980/953/164 +f 980/953/165 977/954/165 978/955/165 +f 984/956/130 982/951/130 983/957/130 +f 1003/958/130 1004/959/130 1006/960/130 +f 272/431/129 318/456/129 261/432/129 +f 270/433/128 317/457/128 264/427/128 +f 531/434/130 530/491/130 537/435/130 +f 346/443/131 339/464/131 341/444/131 +f 343/452/132 340/460/132 338/453/132 +f 299/439/128 270/433/128 290/437/128 +f 261/432/129 301/448/129 291/450/129 +f 343/452/130 350/961/130 351/459/130 +f 345/461/133 344/445/133 341/444/133 +f 346/443/134 349/962/134 337/463/134 +f 541/465/130 534/490/130 533/466/130 +f 655/468/135 654/607/135 656/469/135 +f 543/471/130 536/963/130 535/472/130 +f 348/474/136 347/454/136 338/453/136 +f 659/479/137 660/964/137 664/480/137 +f 529/487/130 536/963/130 543/471/130 +f 541/465/130 542/473/130 535/472/130 +f 530/491/130 529/487/130 538/488/130 +f 546/492/133 548/496/133 550/493/133 +f 578/508/138 569/507/138 565/506/138 +f 632/511/133 634/549/133 636/512/133 +f 748/525/130 744/689/130 773/526/130 +f 661/533/139 660/599/139 646/534/139 +f 657/536/140 663/965/140 666/537/140 +f 605/529/133 608/524/133 601/523/133 +f 662/556/141 639/697/141 641/557/141 +f 696/559/142 695/966/142 694/560/142 +f 667/566/129 739/685/129 738/567/129 +f 715/569/137 712/655/137 711/570/137 +f 767/572/143 771/967/143 770/573/143 +f 648/575/130 647/690/130 645/576/130 +f 775/577/144 749/785/144 748/525/144 +f 681/579/145 682/621/145 680/580/145 +f 673/582/133 676/968/133 677/583/133 +f 778/593/128 782/831/128 783/594/128 +f 741/596/150 668/969/150 738/597/150 +f 702/600/142 701/970/142 700/601/142 +f 742/603/129 647/971/129 741/604/129 +f 657/470/151 656/469/151 658/606/151 +f 653/592/152 652/642/152 654/607/152 +f 675/608/142 673/582/142 674/584/142 +f 665/616/153 651/558/153 653/592/153 +f 661/626/145 662/556/145 665/627/145 +f 643/635/130 641/554/130 640/553/130 +f 653/592/128 651/558/128 641/557/128 +f 664/648/135 665/612/135 677/615/135 +f 769/656/130 766/972/130 751/657/130 +f 708/661/153 706/973/153 705/662/153 +f 690/663/145 689/974/145 688/664/145 +f 766/671/135 767/572/135 765/574/135 +f 816/673/129 808/975/129 815/674/129 +f 747/687/151 745/725/151 746/688/151 +f 672/609/133 724/976/133 669/695/133 +f 662/556/144 661/626/144 649/696/144 +f 820/701/144 816/673/144 824/702/144 +f 596/516/130 594/519/130 595/518/130 +f 504/483/135 508/482/135 496/478/135 +f 755/704/128 754/977/128 750/705/128 +f 757/707/129 756/978/129 758/672/129 +f 768/708/128 767/572/128 766/671/128 +f 753/710/152 752/706/152 750/705/152 +f 756/715/130 776/731/130 746/716/130 +f 780/720/135 779/748/135 792/721/135 +f 761/723/144 754/977/144 755/704/144 +f 751/711/135 746/688/135 745/725/135 +f 772/726/130 754/977/130 761/727/130 +f 817/728/144 815/803/144 840/729/144 +f 760/712/130 750/705/130 772/726/130 +f 840/733/128 801/979/128 837/734/128 +f 787/736/130 800/980/130 799/737/130 +f 805/739/130 785/771/130 806/740/130 +f 783/743/130 805/739/130 798/744/130 +f 844/746/133 795/836/133 801/747/133 +f 779/748/152 780/720/152 778/593/152 +f 822/753/130 823/981/130 819/754/130 +f 831/756/130 830/982/130 814/757/130 +f 803/759/135 830/983/135 831/760/135 +f 794/765/139 795/773/139 793/766/139 +f 821/768/130 813/984/130 818/769/130 +f 802/772/144 801/985/144 795/773/144 +f 798/744/130 797/750/130 792/749/130 +f 797/750/130 803/762/130 796/764/130 +f 670/780/144 663/986/144 669/781/144 +f 796/767/129 793/766/129 789/783/129 +f 744/689/129 748/525/129 749/785/129 +f 817/675/133 825/987/133 824/702/133 +f 842/786/133 809/774/133 790/776/133 +f 831/756/130 833/988/130 834/788/130 +f 785/790/144 784/830/144 808/791/144 +f 836/793/133 838/989/133 839/794/133 +f 814/796/128 830/990/128 803/797/128 +f 730/676/133 725/678/133 716/680/133 +f 810/775/133 809/774/133 811/777/133 +f 793/805/133 846/837/133 842/786/133 +f 808/807/133 784/801/133 829/804/133 +f 831/808/128 835/991/128 802/809/128 +f 807/811/135 819/820/135 818/812/135 +f 834/814/144 836/992/144 837/734/144 +f 669/816/128 663/993/128 743/698/128 +f 821/817/130 819/770/130 823/818/130 +f 819/820/129 807/811/129 806/792/129 +f 805/813/129 818/812/129 813/822/129 +f 800/824/144 813/994/144 814/825/144 +f 826/827/133 778/829/133 780/778/133 +f 784/830/141 785/790/141 783/594/141 +f 833/832/130 831/756/130 832/833/130 +f 826/827/133 827/800/133 782/799/133 +f 802/838/130 794/763/130 803/762/130 +f 862/840/128 860/850/128 861/841/128 +f 792/721/151 791/784/151 789/783/151 +f 859/843/151 855/995/151 856/844/151 +f 854/846/144 849/996/144 850/847/144 +f 863/849/152 861/841/152 860/850/152 +f 853/852/139 852/860/139 851/853/139 +f 855/855/135 859/997/135 863/856/135 +f 862/840/141 858/842/141 849/858/141 +f 624/544/130 625/543/130 623/539/130 +f 852/860/129 853/852/129 857/845/129 +f 869/867/128 868/935/128 879/868/128 +f 887/870/129 885/882/129 886/871/129 +f 875/874/135 872/946/135 874/875/135 +f 874/877/152 894/998/152 893/878/152 +f 881/869/130 879/868/130 877/873/130 +f 900/888/139 901/941/139 902/889/139 +f 880/880/129 877/873/129 865/891/129 +f 903/902/133 907/931/133 908/903/133 +f 900/888/144 899/890/144 898/927/144 +f 878/929/162 876/999/162 865/891/162 +f 904/930/135 905/1000/135 908/903/135 +f 892/932/144 891/1001/144 889/933/144 +f 868/935/163 876/1002/163 878/936/163 +f 899/905/133 884/907/133 886/871/133 +f 884/937/128 882/885/128 883/887/128 +f 896/938/141 895/1003/141 897/939/141 +f 901/941/129 871/1004/129 873/942/129 +f 896/943/128 893/1005/128 894/944/128 +f 873/942/151 871/1004/151 872/946/151 +f 905/919/140 904/917/140 891/918/140 +f 890/947/130 889/1006/130 887/870/130 +f 974/948/135 975/1007/135 973/949/135 +f 982/951/164 981/1008/164 979/952/164 +f 980/953/165 979/952/165 977/954/165 +f 984/956/130 981/1008/130 982/951/130 +f 1003/958/130 1002/1009/130 1004/959/130 +s 1 +f 350/961/166 344/445/167 345/461/166 +f 330/1010/168 325/1011/169 332/1012/170 +f 322/1013/171 319/1014/172 320/1015/173 +f 267/1016/144 268/1017/144 258/1018/174 +f 268/1017/144 259/1019/174 258/1018/174 +f 329/1020/175 328/1021/176 326/1022/177 +f 313/1023/178 310/1024/179 312/1025/180 +f 579/1026/181 604/1027/182 603/1028/181 +f 389/1029/183 385/1030/184 386/1031/185 +f 264/1032/186 280/1033/187 265/1034/188 +f 314/1035/189 269/1036/190 288/1037/191 +f 278/1038/192 277/1039/193 279/1040/194 +f 351/459/195 341/1041/196 340/460/197 +f 462/1042/198 461/1043/199 456/1044/200 +f 288/1045/191 268/1046/201 273/1047/202 +f 287/1048/203 280/1049/187 283/1050/204 +f 257/1051/205 281/1052/206 258/1053/207 +f 288/1037/191 269/1036/190 259/1054/208 +f 284/1055/209 276/1056/210 274/1057/211 +f 297/1058/212 263/1059/213 271/1060/213 +f 324/1061/214 321/1062/215 322/1013/171 +f 295/1063/145 290/1064/212 297/1058/212 +f 315/1065/216 302/1066/217 303/1067/218 +f 302/1066/217 274/1068/211 303/1067/218 +f 277/1069/193 303/1067/218 274/1068/211 +f 279/1070/194 274/1057/211 276/1056/210 +f 283/1071/204 284/1072/209 304/1073/219 +f 305/1074/220 283/1071/204 304/1073/219 +f 300/1075/221 299/1076/130 301/1077/130 +f 283/1078/204 275/1079/222 284/1055/209 +f 306/1080/223 309/1081/224 307/1082/225 +f 265/1034/226 272/1083/226 266/1084/226 +f 314/1035/189 315/1085/216 277/1039/193 +f 277/1039/193 315/1085/216 303/1086/218 +f 287/1087/203 309/1081/224 311/1088/227 +f 306/1080/223 315/1065/216 308/1089/228 +f 280/1033/187 320/1015/173 265/1034/188 +f 309/1081/224 316/1090/229 307/1082/225 +f 331/1091/230 327/1092/231 329/1020/175 +f 305/1093/220 316/1094/229 283/1050/204 +f 316/1094/229 287/1048/203 283/1050/204 +f 277/1039/193 289/1095/232 314/1035/189 +f 313/1023/178 287/1087/203 311/1088/227 +f 312/1025/180 310/1024/179 314/1096/189 +f 314/1096/189 288/1045/191 312/1025/180 +f 288/1045/191 273/1047/202 312/1025/180 +f 281/1097/206 313/1023/178 286/1098/233 +f 287/1087/203 313/1023/178 281/1097/206 +f 310/1099/179 309/1100/224 308/1089/228 +f 261/1101/234 298/1102/221 300/1075/221 +f 332/1012/170 323/1103/235 324/1061/214 +f 286/1098/233 268/1046/201 267/1104/236 +f 294/1105/237 293/1106/144 291/1107/144 +f 291/1107/144 296/1108/145 295/1063/145 +f 284/1109/209 302/1110/217 304/1111/219 +f 429/1112/238 421/1113/239 424/1114/240 +f 302/1066/217 307/1082/225 304/1111/219 +f 320/1015/173 266/1084/241 265/1034/188 +f 263/1115/213 266/1116/144 271/1060/213 +f 269/1117/242 258/1018/174 259/1019/174 +f 333/1118/243 330/1010/168 332/1012/170 +f 331/1091/230 334/1119/244 325/1011/169 +f 334/1119/244 323/1103/235 325/1011/169 +f 308/1089/228 314/1096/189 310/1024/179 +f 331/1091/230 329/1020/175 334/1119/244 +f 330/1010/168 333/1118/243 327/1092/231 +f 465/1120/245 457/1121/246 461/1122/199 +f 329/1020/175 326/1022/177 269/1123/190 +f 328/1021/176 327/1092/231 257/1124/205 +f 333/1118/243 257/1124/205 327/1092/231 +f 334/1119/244 329/1020/175 269/1123/190 +f 321/1062/215 323/1103/235 335/1125/247 +f 324/1061/214 322/1013/171 336/1126/248 +f 319/1014/172 321/1062/215 335/1125/247 +f 322/1013/171 320/1015/173 336/1126/248 +f 289/1127/232 319/1014/172 335/1125/247 +f 280/1033/187 257/1124/205 336/1126/248 +f 257/1124/205 333/1118/243 336/1126/248 +f 335/1125/247 269/1123/190 289/1127/232 +f 269/1123/190 335/1125/247 334/1119/244 +f 289/1127/232 272/1083/249 266/1084/241 +f 343/452/250 346/443/251 344/445/167 +f 313/1023/178 273/1047/202 286/1098/233 +f 353/1128/252 386/1031/185 356/1129/253 +f 337/1130/254 338/453/255 339/1131/256 +f 301/1077/130 292/1132/237 294/1105/237 +f 382/1133/257 388/1134/258 383/1135/259 +f 270/1136/234 262/455/260 260/458/260 +f 424/1114/240 420/1137/261 423/1138/262 +f 425/1139/263 412/1140/264 426/1141/265 +f 420/1137/261 413/1142/266 415/1143/267 +f 406/1144/268 404/1145/269 405/1146/270 +f 479/1147/271 355/1148/272 353/1149/252 +f 400/1150/273 401/1151/274 402/1152/275 +f 380/1153/276 365/1154/277 369/1155/278 +f 374/1156/279 373/1157/280 372/1158/281 +f 324/1061/214 333/1118/243 332/1012/170 +f 369/1159/278 367/1160/282 368/1161/283 +f 368/1161/283 370/1162/284 371/1163/285 +f 555/1164/144 562/1165/162 563/1166/162 +f 371/1163/285 373/1157/280 375/1167/286 +f 357/1168/128 358/1169/287 359/1170/288 +f 409/1171/289 402/1152/275 401/1151/274 +f 374/1156/279 376/1172/290 377/1173/291 +f 381/1174/292 375/1167/286 378/1175/293 +f 369/1155/278 366/1176/294 364/1177/295 +f 355/1148/272 360/1178/296 382/1133/257 +f 287/1048/203 257/1051/205 280/1049/187 +f 384/1179/297 360/1178/296 361/1180/298 +f 355/1148/272 383/1135/259 353/1149/252 +f 726/1181/299 717/1182/300 725/1183/299 +f 497/1184/301 510/1185/152 511/1186/152 +f 494/1187/302 442/1188/303 491/1189/304 +f 387/1190/305 384/1179/297 385/1030/184 +f 267/1191/236 281/1097/206 286/1098/233 +f 360/1178/296 390/1192/306 382/1133/257 +f 282/1193/307 283/1050/204 280/1049/187 +f 388/1194/258 386/1031/185 383/1195/259 +f 392/1196/308 393/1197/309 379/1198/153 +f 381/1174/292 392/1196/308 379/1198/153 +f 432/1199/310 424/1114/240 423/1138/262 +f 398/1200/311 399/1201/312 397/1202/313 +f 376/1172/290 395/1203/150 377/1173/291 +f 472/1204/314 464/1205/315 463/1206/316 +f 379/1198/153 397/1207/313 380/1208/276 +f 398/1209/311 397/1207/313 379/1198/153 +f 394/1210/317 381/1174/292 378/1175/293 +f 614/1211/318 635/1212/319 617/1213/319 +f 404/1145/269 394/1210/317 395/1203/150 +f 378/1175/293 374/1156/279 377/1173/291 +f 422/1214/320 417/1215/321 425/1139/263 +f 363/1216/322 360/1178/296 362/1217/129 +f 401/1218/274 379/1198/153 403/1219/323 +f 420/1220/261 422/1214/320 423/1221/262 +f 429/1112/238 412/1140/264 418/1222/324 +f 407/1223/270 406/1144/268 405/1146/270 +f 269/1117/242 328/1224/325 257/1225/242 +f 417/1215/321 406/1144/268 412/1140/264 +f 408/1226/326 405/1146/270 402/1152/275 +f 410/1227/323 403/1219/323 411/1228/327 +f 362/1217/129 355/1148/272 354/1229/328 +f 409/1230/289 416/1231/329 415/1232/267 +f 410/1227/323 417/1215/321 416/1231/329 +f 359/1170/288 361/1180/298 363/1216/322 +f 411/1228/327 379/1198/153 393/1197/309 +f 412/1140/264 414/1233/324 418/1222/324 +f 417/1215/321 419/1234/329 416/1231/329 +f 403/1219/323 409/1230/289 401/1218/274 +f 479/1235/271 356/1129/253 357/1168/128 +f 419/1234/329 415/1232/267 416/1231/329 +f 379/1198/153 371/1163/285 381/1174/292 +f 411/1228/327 396/1236/330 406/1144/268 +f 407/1223/270 412/1140/264 406/1144/268 +f 408/1226/326 415/1143/267 413/1142/266 +f 405/1146/270 400/1150/273 402/1152/275 +f 369/1159/278 379/1198/153 380/1208/276 +f 450/1237/331 440/1238/332 443/1239/333 +f 429/1112/238 427/1240/334 426/1141/265 +f 431/1241/145 423/1221/262 422/1214/320 +f 437/1242/335 430/1243/336 435/1244/337 +f 438/1245/338 431/1241/145 428/1246/339 +f 428/1246/339 426/1141/265 427/1240/334 +f 441/1247/237 455/1248/340 448/1249/341 +f 436/1250/342 428/1246/339 427/1240/334 +f 470/1251/343 463/1252/316 467/1253/344 +f 427/1240/334 437/1242/335 436/1250/342 +f 434/1254/345 431/1255/145 433/1256/346 +f 469/1257/347 465/1120/245 471/1258/348 +f 443/1239/333 452/1259/349 450/1237/331 +f 452/1259/349 449/1260/350 451/1261/351 +f 441/1247/237 439/1262/352 440/1263/332 +f 440/1238/332 444/1264/353 443/1239/333 +f 435/1244/337 432/1199/310 434/1265/345 +f 442/1188/303 443/1266/333 444/1267/353 +f 451/1268/351 448/1269/341 455/1270/340 +f 430/1243/336 429/1112/238 424/1114/240 +f 441/1247/237 445/1271/354 446/1272/355 +f 449/1260/350 442/1188/303 447/1273/356 +f 453/1274/357 441/1247/237 440/1263/332 +f 457/1121/246 455/1248/340 454/1275/358 +f 514/1276/359 511/1186/128 509/1277/153 +f 418/1222/324 413/1142/266 421/1113/239 +f 459/1278/360 455/1270/340 458/1279/361 +f 461/1122/199 454/1280/358 453/1274/357 +f 466/1281/362 458/1282/361 457/1121/246 +f 463/1252/316 458/1279/361 467/1253/344 +f 628/1283/363 611/1284/364 612/1285/363 +f 358/1169/287 384/1179/297 361/1180/298 +f 464/1205/315 459/1286/360 463/1206/316 +f 456/1044/200 453/1287/357 450/1237/331 +f 365/1154/277 372/1158/281 366/1176/294 +f 431/1241/145 425/1139/263 428/1246/339 +f 460/1288/365 462/1042/198 456/1044/200 +f 471/1289/348 462/1042/198 468/1290/366 +f 394/1210/317 393/1197/309 392/1196/308 +f 464/1205/315 468/1290/366 462/1042/198 +f 469/1257/347 467/1291/344 466/1281/362 +f 489/1292/367 476/1293/368 468/1290/366 +f 489/1292/367 473/1294/369 474/1295/370 +f 475/1296/371 468/1290/366 476/1293/368 +f 477/1297/372 471/1258/348 475/1298/371 +f 484/1299/373 437/1242/335 487/1300/374 +f 478/1301/375 472/1302/314 470/1251/343 +f 483/1303/376 437/1242/335 435/1244/337 +f 493/1304/377 447/1305/356 494/1306/302 +f 482/1307/378 436/1250/342 484/1299/373 +f 486/1308/379 438/1245/338 482/1307/378 +f 434/1309/345 486/1310/379 485/1311/380 +f 356/1129/253 385/1030/184 358/1169/287 +f 492/1312/381 439/1262/352 446/1272/355 +f 492/1312/381 445/1271/354 493/1313/377 +f 485/1314/380 435/1244/337 434/1265/345 +f 495/1315/382 442/1316/303 444/1267/353 +f 490/1317/383 444/1264/353 439/1318/352 +f 460/1288/365 451/1261/351 459/1286/360 +f 507/1319/140 508/1320/384 506/1321/140 +f 499/1322/221 500/1323/385 498/1324/221 +f 501/1325/385 502/1326/151 500/1327/385 +f 499/1328/221 496/1329/301 497/1184/301 +f 507/1319/140 504/1330/386 505/1331/386 +f 505/1331/386 502/1332/151 503/1333/151 +f 509/1277/384 510/1334/152 508/1335/384 +f 503/1333/129 516/1336/387 505/1331/137 +f 501/1325/150 517/1337/388 503/1333/129 +f 505/1331/137 515/1338/389 507/1319/133 +f 513/1339/390 499/1328/130 497/1184/391 +f 470/1340/343 477/1297/372 478/1341/375 +f 512/1342/392 497/1184/391 511/1186/128 +f 515/1338/389 509/1277/153 507/1319/133 +f 452/1259/349 456/1044/200 450/1237/331 +f 520/1343/393 521/1344/394 522/1345/130 +f 523/1346/395 520/1343/393 522/1345/130 +f 524/1347/155 523/1348/395 522/1345/130 +f 525/1349/396 524/1350/155 522/1345/130 +f 526/1351/397 525/1352/396 522/1353/130 +f 527/1354/398 526/1355/397 522/1345/130 +f 528/1356/157 527/1357/398 522/1345/130 +f 521/1344/394 528/1358/157 522/1359/130 +f 570/509/399 566/1360/328 567/1361/328 +f 551/503/400 561/1362/401 552/500/400 +f 521/1363/139 535/1364/144 536/1365/139 +f 561/1362/401 558/1366/402 556/1367/402 +f 571/1368/271 573/1369/128 574/1370/271 +f 549/1371/151 540/1372/403 550/1373/403 +f 548/1374/135 541/1375/151 549/1371/151 +f 524/1376/128 532/1377/152 533/1378/128 +f 349/962/404 347/454/405 348/474/404 +f 399/1201/312 380/1153/276 397/1202/313 +f 448/1269/341 447/1305/356 445/1379/354 +f 573/1369/128 575/1380/406 576/1381/406 +f 526/1382/135 530/1383/151 531/1384/135 +f 523/1385/141 533/1378/128 534/1386/141 +f 544/1387/407 537/1388/141 545/1389/141 +f 611/1284/139 610/1390/408 612/1391/408 +f 558/1366/402 555/1164/144 556/1367/402 +f 528/1392/129 536/1393/139 529/1394/129 +f 525/1395/152 531/1384/135 532/1377/152 +f 547/1396/152 542/1397/135 548/1374/135 +f 574/1370/271 566/1360/328 571/1368/271 +f 527/1398/151 529/1399/129 530/1400/151 +f 546/1401/128 543/1402/152 547/1396/152 +f 545/1389/141 538/1403/128 546/1401/128 +f 520/1404/144 534/1405/141 535/1406/144 +f 559/499/409 551/503/400 552/500/400 +f 722/1407/408 670/1408/129 671/1409/129 +f 581/1410/139 580/1411/129 582/1412/129 +f 616/1413/152 613/1414/410 614/1415/152 +f 616/1413/152 617/1416/128 618/1417/128 +f 584/1418/151 585/1419/411 586/1420/411 +f 611/1284/139 621/1421/144 609/1422/139 +f 626/1423/412 615/1424/413 616/1425/412 +f 622/1426/414 624/1427/415 620/1428/415 +f 339/1131/256 340/460/197 341/1041/196 +f 592/1429/414 594/1430/415 590/1431/415 +f 620/1432/415 630/1433/416 618/1434/416 +f 594/1435/415 589/1436/417 590/1431/415 +f 637/1437/418 614/1438/318 613/1439/418 +f 610/1440/419 632/1441/181 631/1442/419 +f 633/1443/182 619/1444/420 634/1445/420 +f 605/1446/420 587/1447/421 606/1448/421 +f 634/1449/420 617/1450/319 635/1451/319 +f 404/1145/269 399/1201/312 400/1150/273 +f 589/1436/422 588/1452/141 590/1431/141 +f 618/1417/128 619/1453/141 620/1454/141 +f 582/1412/129 583/1455/151 584/1418/151 +f 591/1456/144 590/1431/141 588/1452/141 +f 621/1421/144 620/1454/141 619/1453/141 +f 630/1457/416 616/1458/412 618/1459/416 +f 598/1460/423 584/1418/424 593/1461/424 +f 586/1420/425 593/1462/424 584/1418/424 +f 625/1463/364 622/1464/414 611/1284/364 +f 595/1465/364 592/1429/414 581/1410/364 +f 598/1466/423 581/1410/364 582/1412/423 +f 395/1203/150 378/1175/293 377/1173/291 +f 604/1467/182 588/1452/420 605/1468/420 +f 609/1469/181 633/1470/182 632/1471/181 +f 580/1411/426 603/1472/181 602/1473/426 +f 583/1455/427 602/1474/426 601/1475/427 +f 607/1476/428 583/1455/427 601/1477/427 +f 721/1478/429 679/1479/144 678/1480/144 +f 384/1179/297 391/1481/430 360/1178/296 +f 723/1482/408 720/1483/429 721/1478/429 +f 733/1484/431 732/1485/432 734/1486/431 +f 716/1487/433 735/1488/434 736/1489/434 +f 727/1490/435 725/1491/299 728/1492/435 +f 719/1493/433 717/1494/300 718/1495/300 +f 736/1496/434 733/1484/431 734/1497/431 +f 729/1498/436 728/1499/435 730/1500/436 +f 732/1501/432 729/1498/436 730/1502/436 +f 581/1410/139 591/1456/144 579/1026/139 +f 499/1322/130 518/1503/437 501/1325/150 +f 414/1233/324 408/1226/326 413/1142/266 +f 304/1111/219 316/1090/229 305/1074/220 +f 918/1504/135 919/1505/151 920/1506/151 +f 932/1507/129 940/1508/139 933/1509/129 +f 919/1510/151 924/1511/129 920/1512/151 +f 954/1513/438 964/1514/439 956/1515/440 +f 1004/1516/144 1001/1517/441 1005/1518/442 +f 914/1519/128 915/1520/152 916/1521/152 +f 930/1522/144 938/1523/141 939/1524/144 +f 911/1525/144 910/1526/141 912/1527/141 +f 921/1528/139 911/1525/144 922/1529/139 +f 926/1530/135 936/1531/152 927/1532/152 +f 979/1533/443 986/1534/129 977/1535/129 +f 931/1536/139 939/1524/144 940/1537/139 +f 923/1538/129 922/1539/139 924/1540/129 +f 942/1541/444 964/1542/439 957/1543/445 +f 948/1544/446 959/1545/447 960/1546/448 +f 948/1544/446 949/1547/449 947/1548/450 +f 959/1545/447 967/1549/318 960/1550/448 +f 946/1551/451 943/1552/452 944/1553/453 +f 958/1554/454 966/1555/455 959/1556/447 +f 912/1557/420 928/1558/319 929/1559/420 +f 958/1554/454 972/1560/426 965/1561/427 +f 911/1525/182 929/1562/420 930/1563/182 +f 959/1564/447 944/1565/453 958/1554/454 +f 982/1566/456 992/1567/457 983/1568/456 +f 929/1562/141 937/1569/128 938/1570/141 +f 944/1571/453 957/1572/445 958/1573/454 +f 1012/1574/145 1009/1575/133 1010/1576/133 +f 912/1557/141 913/1577/128 914/1578/128 +f 956/1515/440 953/1579/458 954/1580/438 +f 962/1581/459 968/1582/319 969/1583/420 +f 961/1584/460 967/1549/318 968/1582/319 +f 927/1585/318 918/1504/455 926/1586/455 +f 924/1540/426 931/1536/181 932/1587/426 +f 963/1588/461 969/1583/420 970/1589/182 +f 964/1542/439 970/1589/182 971/1590/181 +f 957/1572/445 971/1590/181 972/1560/426 +f 925/1591/151 933/1592/129 934/1593/151 +f 935/1594/135 925/1595/151 934/1596/151 +f 952/1597/462 961/1584/460 962/1598/459 +f 928/1599/128 936/1600/152 937/1601/128 +f 954/1580/438 962/1581/459 963/1602/461 +f 942/1541/444 955/1603/463 956/1515/440 +f 946/1604/451 947/1548/450 945/1605/464 +f 914/1519/319 927/1606/318 928/1607/319 +f 942/1541/444 943/1552/452 941/1608/465 +f 926/1586/455 920/1506/427 925/1595/427 +f 952/1597/462 949/1547/449 950/1609/466 +f 954/1580/438 951/1610/467 952/1597/462 +f 920/1512/427 932/1611/426 925/1612/427 +f 999/1613/468 1002/1614/456 1003/1615/456 +f 1010/1616/133 993/1617/140 1008/1618/140 +f 980/1619/469 991/1620/128 992/1567/457 +f 990/1621/470 978/1622/128 974/1623/471 +f 960/1550/448 950/1609/466 948/1624/446 +f 1000/1625/472 993/1626/128 1011/1627/128 +f 973/1628/473 987/1629/474 988/1630/473 +f 1005/1631/475 997/1632/476 996/1633/477 +f 999/1634/478 998/1635/479 994/1636/479 +f 981/1637/480 985/1638/481 979/1533/443 +f 993/1626/128 994/1639/482 995/1640/128 +f 996/1633/477 997/1632/476 998/1641/483 +f 996/1633/477 1004/1642/480 1005/1631/475 +f 976/1643/484 990/1621/470 974/1623/471 +f 1000/1625/472 1001/1644/485 999/1613/468 +f 1015/1645/486 1005/1518/442 1001/1517/441 +f 922/1529/181 930/1563/182 931/1646/181 +f 973/1628/473 989/1647/484 976/1648/484 +f 995/1649/135 998/1650/479 1007/1651/135 +f 1003/958/135 996/1652/478 999/1634/478 +f 1007/1653/129 998/1654/483 1008/1655/129 +f 1008/1618/140 995/1649/135 1007/1651/135 +f 1008/1655/129 1012/1656/129 1010/1657/129 +f 1012/1656/129 997/1632/476 1014/1658/129 +f 1008/1655/129 997/1632/476 1012/1656/129 +f 993/1626/128 1009/1659/128 1011/1627/128 +f 1011/1627/128 1013/1660/128 1000/1625/472 +f 994/1661/482 1000/1625/472 999/1613/468 +f 1013/1662/487 1016/1663/488 1015/1645/486 +f 1000/1625/472 1013/1660/128 1015/1664/489 +f 997/1632/476 1016/1665/490 1014/1658/129 +f 1014/1666/487 1011/1667/145 1012/1574/145 +f 977/1535/129 987/1629/474 975/1668/491 +f 916/1669/152 917/1670/135 918/1504/135 +f 350/961/166 343/452/250 344/445/167 +f 330/1010/168 331/1091/230 325/1011/169 +f 322/1013/171 321/1062/215 319/1014/172 +f 329/1020/175 327/1092/231 328/1021/176 +f 313/1023/178 311/1088/227 310/1024/179 +f 579/1026/181 591/1456/182 604/1027/182 +f 389/1029/183 387/1190/305 385/1030/184 +f 264/1032/186 282/1193/307 280/1033/187 +f 314/1035/189 289/1095/232 269/1036/190 +f 278/1038/192 289/1095/232 277/1039/193 +f 351/459/195 342/1671/195 341/1041/196 +f 462/1042/198 465/1672/245 461/1043/199 +f 288/1045/191 259/1673/208 268/1046/201 +f 284/1055/209 275/1079/222 276/1056/210 +f 297/1058/212 290/1064/212 263/1059/213 +f 324/1061/214 323/1103/235 321/1062/215 +f 295/1063/145 296/1108/145 290/1064/212 +f 315/1065/216 306/1080/223 302/1066/217 +f 279/1070/194 277/1674/193 274/1057/211 +f 300/1075/221 298/1102/221 299/1076/130 +f 283/1078/204 285/1675/492 275/1079/222 +f 306/1080/223 308/1089/228 309/1081/224 +f 265/1034/226 264/1032/226 272/1083/226 +f 287/1087/203 316/1090/229 309/1081/224 +f 280/1033/187 336/1126/248 320/1015/173 +f 331/1091/230 330/1010/168 327/1092/231 +f 310/1099/179 311/1088/227 309/1100/224 +f 261/1101/234 270/1136/234 298/1102/221 +f 332/1012/170 325/1011/169 323/1103/235 +f 286/1098/233 273/1676/202 268/1046/201 +f 294/1105/237 292/1132/237 293/1106/144 +f 291/1107/144 293/1106/144 296/1108/145 +f 284/1109/209 274/1068/211 302/1110/217 +f 429/1112/238 418/1222/324 421/1113/239 +f 302/1066/217 306/1080/223 307/1082/225 +f 320/1015/173 319/1014/172 266/1084/241 +f 263/1115/213 265/1677/144 266/1116/144 +f 269/1117/242 257/1225/242 258/1018/174 +f 334/1119/244 335/1125/247 323/1103/235 +f 308/1089/228 315/1065/216 314/1096/189 +f 465/1120/245 466/1281/362 457/1121/246 +f 289/1127/232 266/1084/241 319/1014/172 +f 289/1127/232 278/1038/192 272/1083/249 +f 343/452/250 347/454/405 346/443/251 +f 313/1023/178 312/1025/180 273/1047/202 +f 353/1128/252 383/1195/259 386/1031/185 +f 337/1130/254 352/475/254 338/453/255 +f 301/1077/130 299/1076/130 292/1132/237 +f 382/1133/257 390/1192/306 388/1134/258 +f 270/1136/234 261/1101/234 262/455/260 +f 424/1114/240 421/1113/239 420/1137/261 +f 425/1139/263 417/1215/321 412/1140/264 +f 420/1137/261 421/1113/239 413/1142/266 +f 406/1144/268 396/1236/330 404/1145/269 +f 479/1147/271 354/1229/328 355/1148/272 +f 400/1150/273 398/1200/311 401/1151/274 +f 380/1153/276 376/1172/290 365/1154/277 +f 374/1156/279 375/1167/286 373/1157/280 +f 324/1061/214 336/1126/248 333/1118/243 +f 369/1159/278 364/1678/295 367/1160/282 +f 368/1161/283 367/1160/282 370/1162/284 +f 555/1164/144 554/1679/144 562/1165/162 +f 371/1163/285 370/1162/284 373/1157/280 +f 357/1168/128 356/1129/253 358/1169/287 +f 409/1171/289 408/1226/326 402/1152/275 +f 374/1156/279 365/1154/277 376/1172/290 +f 381/1174/292 371/1163/285 375/1167/286 +f 369/1155/278 365/1154/277 366/1176/294 +f 287/1048/203 281/1052/206 257/1051/205 +f 355/1148/272 382/1133/257 383/1135/259 +f 726/1181/299 718/1495/300 717/1182/300 +f 497/1184/301 496/1680/301 510/1185/152 +f 494/1187/302 447/1273/356 442/1188/303 +f 387/1190/305 480/1681/493 384/1179/297 +f 267/1191/236 258/1682/207 281/1097/206 +f 360/1178/296 391/1481/430 390/1192/306 +f 282/1193/307 285/1683/492 283/1050/204 +f 388/1194/258 389/1029/183 386/1031/185 +f 432/1199/310 430/1243/336 424/1114/240 +f 398/1200/311 400/1150/273 399/1201/312 +f 376/1172/290 399/1201/312 395/1203/150 +f 472/1204/314 489/1292/367 464/1205/315 +f 394/1210/317 392/1196/308 381/1174/292 +f 614/1211/318 636/1684/318 635/1212/319 +f 404/1145/269 396/1236/330 394/1210/317 +f 378/1175/293 375/1167/286 374/1156/279 +f 422/1214/320 419/1234/329 417/1215/321 +f 363/1216/322 361/1180/298 360/1178/296 +f 401/1218/274 398/1209/311 379/1198/153 +f 420/1220/261 419/1234/329 422/1214/320 +f 429/1112/238 426/1141/265 412/1140/264 +f 269/1117/242 326/1685/325 328/1224/325 +f 417/1215/321 411/1228/327 406/1144/268 +f 408/1226/326 407/1223/270 405/1146/270 +f 362/1217/129 360/1178/296 355/1148/272 +f 409/1230/289 410/1227/323 416/1231/329 +f 410/1227/323 411/1228/327 417/1215/321 +f 359/1170/288 358/1169/287 361/1180/298 +f 411/1228/327 403/1219/323 379/1198/153 +f 403/1219/323 410/1227/323 409/1230/289 +f 479/1235/271 353/1128/252 356/1129/253 +f 419/1234/329 420/1220/261 415/1232/267 +f 379/1198/153 368/1161/283 371/1163/285 +f 411/1228/327 393/1197/309 396/1236/330 +f 407/1223/270 414/1233/324 412/1140/264 +f 408/1226/326 409/1171/289 415/1143/267 +f 405/1146/270 404/1145/269 400/1150/273 +f 369/1159/278 368/1161/283 379/1198/153 +f 450/1237/331 453/1287/357 440/1238/332 +f 429/1112/238 481/1686/221 427/1240/334 +f 431/1241/145 432/1687/310 423/1221/262 +f 437/1242/335 481/1686/221 430/1243/336 +f 438/1245/338 433/1688/346 431/1241/145 +f 428/1246/339 425/1139/263 426/1141/265 +f 441/1247/237 454/1275/358 455/1248/340 +f 436/1250/342 438/1245/338 428/1246/339 +f 470/1251/343 472/1302/314 463/1252/316 +f 427/1240/334 481/1686/221 437/1242/335 +f 434/1254/345 432/1687/310 431/1255/145 +f 469/1257/347 466/1281/362 465/1120/245 +f 443/1239/333 488/1689/140 452/1259/349 +f 452/1259/349 488/1689/140 449/1260/350 +f 441/1247/237 446/1272/355 439/1262/352 +f 440/1238/332 439/1318/352 444/1264/353 +f 435/1244/337 430/1243/336 432/1199/310 +f 442/1188/303 488/1689/140 443/1266/333 +f 451/1268/351 449/1690/350 448/1269/341 +f 430/1243/336 481/1686/221 429/1112/238 +f 441/1247/237 448/1249/341 445/1271/354 +f 449/1260/350 488/1689/140 442/1188/303 +f 453/1274/357 454/1280/358 441/1247/237 +f 457/1121/246 458/1282/361 455/1248/340 +f 514/1276/359 512/1342/392 511/1186/128 +f 418/1222/324 414/1233/324 413/1142/266 +f 459/1278/360 451/1268/351 455/1270/340 +f 461/1122/199 457/1121/246 454/1280/358 +f 466/1281/362 467/1291/344 458/1282/361 +f 463/1252/316 459/1278/360 458/1279/361 +f 628/1283/363 625/1691/364 611/1284/364 +f 358/1169/287 385/1030/184 384/1179/297 +f 464/1205/315 460/1288/365 459/1286/360 +f 456/1044/200 461/1043/199 453/1287/357 +f 365/1154/277 374/1156/279 372/1158/281 +f 431/1241/145 422/1214/320 425/1139/263 +f 460/1288/365 464/1205/315 462/1042/198 +f 471/1289/348 465/1672/245 462/1042/198 +f 394/1210/317 396/1236/330 393/1197/309 +f 464/1205/315 489/1292/367 468/1290/366 +f 469/1257/347 470/1340/343 467/1291/344 +f 489/1292/367 474/1295/370 476/1293/368 +f 489/1292/367 472/1204/314 473/1294/369 +f 475/1296/371 471/1289/348 468/1290/366 +f 477/1297/372 469/1257/347 471/1258/348 +f 484/1299/373 436/1250/342 437/1242/335 +f 478/1301/375 473/1692/369 472/1302/314 +f 483/1303/376 487/1300/374 437/1242/335 +f 493/1304/377 445/1379/354 447/1305/356 +f 482/1307/378 438/1245/338 436/1250/342 +f 486/1308/379 433/1688/346 438/1245/338 +f 434/1309/345 433/1256/346 486/1310/379 +f 356/1129/253 386/1031/185 385/1030/184 +f 492/1312/381 490/1693/383 439/1262/352 +f 492/1312/381 446/1272/355 445/1271/354 +f 485/1314/380 483/1303/376 435/1244/337 +f 495/1315/382 491/1694/304 442/1316/303 +f 490/1317/383 495/1695/382 444/1264/353 +f 460/1288/365 452/1259/349 451/1261/351 +f 507/1319/140 509/1277/384 508/1320/384 +f 499/1322/221 501/1325/385 500/1323/385 +f 501/1325/385 503/1333/151 502/1326/151 +f 499/1328/221 498/1696/221 496/1329/301 +f 507/1319/140 506/1697/140 504/1330/386 +f 505/1331/386 504/1698/386 502/1332/151 +f 509/1277/384 511/1186/152 510/1334/152 +f 503/1333/129 517/1337/388 516/1336/387 +f 501/1325/150 518/1503/437 517/1337/388 +f 505/1331/137 516/1336/387 515/1338/389 +f 513/1339/390 519/1699/494 499/1328/130 +f 470/1340/343 469/1257/347 477/1297/372 +f 512/1342/392 513/1339/390 497/1184/391 +f 515/1338/389 514/1276/359 509/1277/153 +f 452/1259/349 460/1288/365 456/1044/200 +f 570/509/399 565/506/399 566/1360/328 +f 551/503/400 557/1700/401 561/1362/401 +f 521/1363/139 520/1701/144 535/1364/144 +f 561/1362/401 557/1700/401 558/1366/402 +f 571/1368/271 572/1702/128 573/1369/128 +f 549/1371/151 541/1375/151 540/1372/403 +f 548/1374/135 542/1397/135 541/1375/151 +f 524/1376/128 525/1395/152 532/1377/152 +f 349/962/404 346/443/251 347/454/405 +f 399/1201/312 376/1172/290 380/1153/276 +f 448/1269/341 449/1690/350 447/1305/356 +f 573/1369/128 572/1702/128 575/1380/406 +f 526/1382/135 527/1703/151 530/1383/151 +f 523/1385/141 524/1376/128 533/1378/128 +f 544/1387/407 539/1704/407 537/1388/141 +f 611/1284/139 609/1422/139 610/1390/408 +f 558/1366/402 554/1679/144 555/1164/144 +f 528/1392/129 521/1705/139 536/1393/139 +f 525/1395/152 526/1382/135 531/1384/135 +f 547/1396/152 543/1402/152 542/1397/135 +f 574/1370/271 567/1361/328 566/1360/328 +f 527/1398/151 528/1706/129 529/1399/129 +f 546/1401/128 538/1403/128 543/1402/152 +f 545/1389/141 537/1388/141 538/1403/128 +f 520/1404/144 523/1707/141 534/1405/141 +f 559/499/409 553/504/409 551/503/400 +f 722/1407/408 723/1708/408 670/1408/129 +f 581/1410/139 579/1026/139 580/1411/129 +f 616/1413/152 615/1709/410 613/1414/410 +f 616/1413/152 614/1415/152 617/1416/128 +f 584/1418/151 583/1455/151 585/1419/411 +f 611/1284/139 622/1710/144 621/1421/144 +f 626/1423/412 627/1711/413 615/1424/413 +f 622/1426/414 629/1712/414 624/1427/415 +f 339/1131/256 338/453/255 340/460/197 +f 592/1429/414 599/1713/414 594/1430/415 +f 620/1432/415 624/1714/415 630/1433/416 +f 594/1435/415 600/1715/417 589/1436/417 +f 637/1437/418 636/1716/318 614/1438/318 +f 610/1440/419 609/1717/181 632/1441/181 +f 633/1443/182 621/1718/182 619/1444/420 +f 605/1446/420 588/1452/420 587/1447/421 +f 634/1449/420 619/1719/420 617/1450/319 +f 404/1145/269 395/1203/150 399/1201/312 +f 589/1436/422 587/1447/422 588/1452/141 +f 618/1417/128 617/1416/128 619/1453/141 +f 582/1412/129 580/1411/129 583/1455/151 +f 591/1456/144 592/1429/144 590/1431/141 +f 621/1421/144 622/1710/144 620/1454/141 +f 630/1457/416 626/1720/412 616/1458/412 +f 598/1460/423 582/1412/423 584/1418/424 +f 586/1420/425 597/1721/425 593/1462/424 +f 625/1463/364 629/1722/414 622/1464/414 +f 595/1465/364 599/1723/414 592/1429/414 +f 598/1466/423 595/1724/364 581/1410/364 +f 395/1203/150 394/1210/317 378/1175/293 +f 604/1467/182 591/1456/182 588/1452/420 +f 609/1469/181 621/1725/182 633/1470/182 +f 580/1411/426 579/1026/181 603/1472/181 +f 583/1455/427 580/1411/426 602/1474/426 +f 607/1476/428 585/1419/428 583/1455/427 +f 721/1478/429 720/1483/429 679/1479/144 +f 384/1179/297 480/1681/493 391/1481/430 +f 723/1482/408 722/1407/408 720/1483/429 +f 733/1484/431 731/1726/432 732/1485/432 +f 716/1487/433 719/1493/433 735/1488/434 +f 727/1490/435 726/1181/299 725/1491/299 +f 719/1493/433 716/1727/433 717/1494/300 +f 736/1496/434 735/1488/434 733/1484/431 +f 729/1498/436 727/1490/435 728/1499/435 +f 732/1501/432 731/1728/432 729/1498/436 +f 581/1410/139 592/1429/144 591/1456/144 +f 499/1322/130 519/1729/494 518/1503/437 +f 414/1233/324 407/1223/270 408/1226/326 +f 304/1111/219 307/1082/225 316/1090/229 +f 918/1504/135 917/1670/135 919/1505/151 +f 932/1507/129 931/1730/139 940/1508/139 +f 919/1510/151 923/1731/129 924/1511/129 +f 954/1513/438 963/1588/461 964/1514/439 +f 1004/1516/144 1002/1732/144 1001/1517/441 +f 914/1519/128 913/1733/128 915/1520/152 +f 930/1522/144 929/1734/141 938/1523/141 +f 911/1525/144 909/1735/144 910/1526/141 +f 921/1528/139 909/1735/144 911/1525/144 +f 926/1530/135 935/1594/135 936/1531/152 +f 979/1533/443 985/1638/481 986/1534/129 +f 931/1536/139 930/1522/144 939/1524/144 +f 923/1538/129 921/1736/139 922/1539/139 +f 942/1541/444 956/1737/440 964/1542/439 +f 948/1544/446 946/1738/451 959/1545/447 +f 948/1544/446 950/1609/466 949/1547/449 +f 959/1545/447 966/1739/455 967/1549/318 +f 946/1551/451 945/1740/464 943/1552/452 +f 958/1554/454 965/1561/427 966/1555/455 +f 912/1557/420 914/1578/319 928/1558/319 +f 958/1554/454 957/1572/445 972/1560/426 +f 911/1525/182 912/1527/420 929/1562/420 +f 959/1564/447 946/1551/451 944/1565/453 +f 982/1566/456 980/1619/469 992/1567/457 +f 929/1562/141 928/1741/128 937/1569/128 +f 944/1571/453 942/1742/444 957/1572/445 +f 1012/1574/145 1011/1667/145 1009/1575/133 +f 912/1557/141 910/1743/141 913/1577/128 +f 956/1515/440 955/1603/463 953/1579/458 +f 962/1581/459 961/1584/460 968/1582/319 +f 961/1584/460 960/1550/448 967/1549/318 +f 927/1585/318 916/1669/318 918/1504/455 +f 924/1540/426 922/1539/181 931/1536/181 +f 963/1588/461 962/1581/459 969/1583/420 +f 964/1542/439 963/1588/461 970/1589/182 +f 957/1572/445 964/1542/439 971/1590/181 +f 925/1591/151 932/1744/129 933/1592/129 +f 935/1594/135 926/1530/135 925/1595/151 +f 952/1597/462 950/1745/466 961/1584/460 +f 928/1599/128 927/1606/152 936/1600/152 +f 954/1580/438 952/1746/462 962/1581/459 +f 942/1541/444 941/1608/465 955/1603/463 +f 946/1604/451 948/1544/446 947/1548/450 +f 914/1519/319 916/1521/318 927/1606/318 +f 942/1541/444 944/1571/453 943/1552/452 +f 926/1586/455 918/1504/455 920/1506/427 +f 952/1597/462 951/1610/467 949/1547/449 +f 954/1580/438 953/1579/458 951/1610/467 +f 920/1512/427 924/1511/426 932/1611/426 +f 999/1613/468 1001/1644/485 1002/1614/456 +f 1010/1616/133 1009/1747/133 993/1617/140 +f 980/1619/469 978/1622/128 991/1620/128 +f 990/1621/470 991/1620/128 978/1622/128 +f 960/1550/448 961/1748/460 950/1609/466 +f 1000/1625/472 994/1639/482 993/1626/128 +f 973/1628/473 975/1668/491 987/1629/474 +f 1005/1631/475 1016/1665/490 997/1632/476 +f 999/1634/478 996/1652/478 998/1635/479 +f 981/1637/480 984/1749/480 985/1638/481 +f 996/1633/477 1006/1750/480 1004/1642/480 +f 976/1643/484 989/1751/484 990/1621/470 +f 1000/1625/472 1015/1664/489 1001/1644/485 +f 1015/1645/486 1016/1663/488 1005/1518/442 +f 922/1529/181 911/1525/182 930/1563/182 +f 973/1628/473 988/1630/473 989/1647/484 +f 995/1649/135 994/1752/479 998/1650/479 +f 1003/958/135 1006/960/135 996/1652/478 +f 1008/1618/140 993/1617/140 995/1649/135 +f 1008/1655/129 998/1654/483 997/1632/476 +f 1013/1662/487 1014/1666/487 1016/1663/488 +f 1014/1666/487 1013/1662/487 1011/1667/145 +f 977/1535/129 986/1534/129 987/1629/474 +f 916/1669/152 915/1753/152 917/1670/135 diff --git a/src/main/resources/assets/hbm/models/weapons/lasrifle.obj b/src/main/resources/assets/hbm/models/weapons/lasrifle.obj index e6cf75634..5cb099694 100644 --- a/src/main/resources/assets/hbm/models/weapons/lasrifle.obj +++ b/src/main/resources/assets/hbm/models/weapons/lasrifle.obj @@ -1,416 +1,6 @@ # Blender v2.79 (sub 0) OBJ File: 'lasrifle.blend' # www.blender.org -o Plane -v -0.562500 -1.000000 3.000000 -v 0.562500 -1.000000 3.000000 -v -0.562500 -1.000000 -2.000000 -v 0.562500 -1.000000 -2.000000 -v -0.562500 2.000000 -2.000000 -v -0.562500 2.000000 2.000000 -v 0.562500 2.000000 2.000000 -v 0.562500 2.000000 -2.000000 -v 0.000000 1.875000 4.000000 -v -0.250000 1.808013 4.000000 -v -0.433012 1.625000 4.000000 -v -0.500000 1.375000 4.000000 -v -0.433012 1.125000 4.000000 -v -0.250000 0.941987 4.000000 -v 0.000000 0.875000 4.000000 -v 0.250000 0.941987 4.000000 -v 0.433012 1.125000 4.000000 -v 0.500000 1.375000 4.000000 -v 0.433013 1.625000 4.000000 -v 0.250000 1.808012 4.000000 -v 0.000000 1.875000 11.500000 -v -0.250000 1.808013 11.500000 -v -0.433012 1.625000 11.500000 -v -0.500000 1.375000 11.500000 -v -0.433012 1.125000 11.500000 -v -0.250000 0.941987 11.500000 -v 0.000000 0.875000 11.500000 -v 0.250000 0.941987 11.500000 -v 0.433012 1.125000 11.500000 -v 0.500000 1.375000 11.500000 -v 0.433013 1.625000 11.500000 -v 0.250000 1.808012 11.500000 -v 0.562500 0.750000 3.000000 -v -0.562500 0.750000 3.000000 -v 0.000000 1.812500 12.000000 -v -0.218750 1.753886 12.000000 -v -0.378886 1.593750 12.000000 -v -0.437500 1.375000 12.000000 -v -0.378886 1.156250 12.000000 -v -0.218750 0.996114 12.000000 -v 0.000000 0.937500 12.000000 -v 0.218750 0.996114 12.000000 -v 0.378886 1.156250 12.000000 -v 0.437500 1.375000 12.000000 -v 0.378886 1.593750 12.000000 -v 0.218750 1.753886 12.000000 -v -0.218750 1.753892 4.500000 -v 0.000000 1.812506 4.500000 -v -0.378886 1.593756 4.500000 -v -0.437500 1.375006 4.500000 -v -0.378886 1.156256 4.500000 -v -0.218750 0.996120 4.500000 -v 0.000000 0.937506 4.500000 -v 0.218750 0.996120 4.500000 -v 0.378886 1.156256 4.500000 -v 0.437500 1.375006 4.500000 -v 0.378886 1.593756 4.500000 -v 0.218750 1.753892 4.500000 -v -0.500000 0.187500 -2.000000 -v 0.500000 0.187500 -2.000000 -v -0.500000 1.937500 -2.000000 -v 0.500000 1.937500 -2.000000 -v -0.500000 1.937500 -4.000000 -v -0.250000 -0.062500 -2.500000 -v -0.250000 -0.062500 -2.000000 -v 0.500000 1.937500 -4.000000 -v -0.500000 1.437500 -4.750000 -v 0.500000 1.437500 -4.750000 -v -0.250000 -0.812500 -2.500000 -v 0.250000 -0.812500 -2.500000 -v 0.250000 -0.812500 -2.000000 -v -0.250000 -0.812500 -2.000000 -v 0.250000 -0.062500 -2.500000 -v 0.250000 -0.062500 -2.000000 -v -0.500000 0.437500 -4.750000 -v -0.500000 0.187500 -4.500000 -v 0.500000 0.187500 -4.500000 -v 0.500000 0.437500 -4.750000 -v -0.500000 1.187500 -9.750000 -v -0.250000 1.437500 -9.750000 -v -0.250000 1.437500 -4.750000 -v -0.500000 1.187500 -4.750000 -v 0.500000 1.187500 -4.750000 -v 0.250000 1.437500 -4.750000 -v 0.250000 1.437500 -9.750000 -v 0.500000 1.187500 -9.750000 -v -0.250000 -1.062500 -9.750000 -v -0.500000 -0.812500 -9.750000 -v 0.500000 0.687500 -4.750000 -v -0.250000 0.437500 -4.750000 -v 0.250000 0.437500 -4.750000 -v -0.500000 0.687500 -4.750000 -v 0.500000 -0.812500 -9.750000 -v 0.250000 -1.062500 -9.750000 -v -0.500000 -0.802500 -8.250000 -v -0.250000 -1.062500 -8.250000 -v 0.250000 -1.062500 -8.250000 -v 0.500000 -0.812500 -8.250000 -v -0.500000 0.687500 -9.500000 -v 0.125000 0.187500 -3.500000 -v -0.500000 -0.312500 -9.500000 -v 0.500000 0.687500 -9.500000 -v -0.125000 0.187500 -3.500000 -v 0.500000 -0.312500 -9.500000 -v 0.125000 -0.437500 -3.500000 -v -0.125000 -0.437500 -3.500000 -v 0.125000 -1.937500 -4.250000 -v -0.125000 -1.937500 -4.250000 -v 0.125000 -1.937500 -5.250000 -v -0.137500 -1.937500 -5.250000 -v 0.125000 -1.562500 -5.250000 -v -0.137500 -1.562500 -5.250000 -v 0.125000 0.187500 -4.500000 -v -0.137500 0.187500 -4.500000 -v 0.125000 -0.062500 -4.500000 -v -0.137500 -0.062500 -4.500000 -v 0.375000 -0.437500 -3.750000 -v 0.375000 0.187500 -3.750000 -v 0.375000 -1.937500 -4.500000 -v 0.375000 -1.937500 -5.000000 -v 0.375000 -1.562500 -5.000000 -v 0.375000 -0.062500 -4.250000 -v 0.375000 0.187500 -4.250000 -v -0.375000 0.187500 -3.750000 -v -0.375000 -0.437500 -3.750000 -v -0.375000 -1.937500 -4.500000 -v -0.375000 -1.937500 -5.000000 -v -0.375000 -1.562500 -5.000000 -v -0.375000 0.187500 -4.250000 -v -0.375000 -0.062500 -4.250000 -v -0.250000 -0.812500 -2.500000 -v 0.250000 -0.812500 -2.500000 -v -0.250000 -0.812500 -3.750000 -v 0.250000 -0.812500 -3.750000 -v -0.250000 -0.687500 -2.500000 -v 0.250000 -0.687500 -2.500000 -v -0.250000 -0.687500 -3.750000 -v 0.250000 -0.687500 -3.750000 -v -0.562500 -1.000000 -1.500000 -v 0.562500 -1.000000 -1.500000 -v -0.562500 -1.000000 2.000000 -v 0.562500 -1.000000 2.000000 -v -0.562500 -0.750000 -1.500000 -v 0.562500 -0.750000 -1.500000 -v -0.562500 -0.750000 2.000000 -v 0.562500 -0.750000 2.000000 -v -0.562500 -1.000000 -1.500000 -v 0.562500 -1.000000 -1.500000 -v -0.562500 -1.000000 2.000000 -v 0.562500 -1.000000 2.000000 -v 0.437500 -0.750000 -1.375000 -v -0.437500 -0.750000 -1.375000 -v -0.437500 -0.750000 1.875000 -v 0.437500 -0.750000 1.875000 -v 0.562500 -0.750000 -1.500000 -v -0.562500 -0.750000 -1.500000 -v -0.562500 -0.750000 2.000000 -v 0.562500 -0.750000 2.000000 -v 0.437500 0.750000 -1.375000 -v -0.437500 0.750000 -1.375000 -v -0.437500 0.750000 1.875000 -v 0.437500 0.750000 1.875000 -v 0.062500 0.750000 -1.000000 -v 0.312500 0.750000 -1.000000 -v 0.062500 0.750000 -1.250000 -v 0.312500 0.750000 -1.250000 -v -0.312500 0.750000 -1.000000 -v -0.062500 0.750000 -1.000000 -v -0.312500 0.750000 -1.250000 -v -0.062500 0.750000 -1.250000 -v 0.062500 0.875000 -1.250000 -v 0.062500 0.875000 -1.000000 -v 0.312500 0.875000 -1.000000 -v 0.312500 0.875000 -1.250000 -v -0.312500 0.875000 -1.250000 -v -0.312500 0.875000 -1.000000 -v -0.062500 0.875000 -1.000000 -v -0.062500 0.875000 -1.250000 -v 0.000000 1.875000 4.000000 -v -0.250000 1.808013 4.000000 -v -0.433012 1.625000 4.000000 -v -0.500000 1.375000 4.000000 -v -0.433012 1.125000 4.000000 -v -0.250000 0.941987 4.000000 -v 0.000000 0.875000 4.000000 -v 0.250000 0.941987 4.000000 -v 0.433012 1.125000 4.000000 -v 0.500000 1.375000 4.000000 -v 0.433013 1.625000 4.000000 -v 0.250000 1.808012 4.000000 -v -0.218750 1.753892 4.500000 -v 0.000000 1.812506 4.500000 -v -0.378886 1.593756 4.500000 -v -0.437500 1.375006 4.500000 -v -0.378886 1.156256 4.500000 -v -0.218750 0.996120 4.500000 -v 0.000000 0.937506 4.500000 -v 0.218750 0.996120 4.500000 -v 0.378886 1.156256 4.500000 -v 0.437500 1.375006 4.500000 -v 0.378886 1.593756 4.500000 -v 0.218750 1.753892 4.500000 -v 0.000000 1.875000 2.000000 -v -0.250000 1.808013 2.000000 -v -0.433012 1.625000 2.000000 -v -0.500000 1.375000 2.000000 -v -0.433012 1.125000 2.000000 -v -0.250000 0.941987 2.000000 -v 0.000000 0.875000 2.000000 -v 0.250000 0.941987 2.000000 -v 0.433012 1.125000 2.000000 -v 0.500000 1.375000 2.000000 -v 0.433013 1.625000 2.000000 -v 0.250000 1.808012 2.000000 -v -0.218750 1.753892 2.000000 -v 0.000000 1.812506 2.000000 -v -0.378886 1.593756 2.000000 -v -0.437500 1.375006 2.000000 -v -0.378886 1.156256 2.000000 -v -0.218750 0.996120 2.000000 -v 0.000000 0.937506 2.000000 -v 0.218750 0.996120 2.000000 -v 0.378886 1.156256 2.000000 -v 0.437500 1.375006 2.000000 -v 0.378886 1.593756 2.000000 -v 0.218750 1.753892 2.000000 -v 0.000000 0.562500 3.000000 -v -0.218750 0.503886 3.000000 -v -0.378886 0.343750 3.000000 -v -0.437500 0.125000 3.000000 -v -0.378886 -0.093750 3.000000 -v -0.218750 -0.253886 3.000000 -v 0.000000 -0.312500 3.000000 -v 0.218750 -0.253886 3.000000 -v 0.378886 -0.093750 3.000000 -v 0.437500 0.125000 3.000000 -v 0.378886 0.343750 3.000000 -v 0.218750 0.503886 3.000000 -v 0.000000 0.562500 3.250000 -v -0.218750 0.503886 3.250000 -v -0.378886 0.343750 3.250000 -v -0.437500 0.125000 3.250000 -v -0.378886 -0.093750 3.250000 -v -0.218750 -0.253886 3.250000 -v 0.000000 -0.312500 3.250000 -v 0.218750 -0.253886 3.250000 -v 0.378886 -0.093750 3.250000 -v 0.437500 0.125000 3.250000 -v 0.378886 0.343750 3.250000 -v 0.218750 0.503886 3.250000 -v 0.562500 -0.375000 2.000000 -v 0.562500 -0.109835 2.109835 -v 0.562500 0.000000 2.375000 -v 0.562500 -0.109835 2.640165 -v 0.562500 -0.375000 2.750000 -v 0.562500 -0.640165 2.640165 -v 0.562500 -0.750000 2.375000 -v 0.562500 -0.640165 2.109835 -v 1.062500 -0.375000 2.000000 -v 1.062500 -0.109835 2.109835 -v 1.062500 0.000000 2.375000 -v 1.062500 -0.109835 2.640165 -v 1.062500 -0.375000 2.750000 -v 1.062500 -0.640165 2.640165 -v 1.062500 -0.750000 2.375000 -v 1.062500 -0.640165 2.109835 -v 0.812500 -0.625000 2.250000 -v 0.724112 -0.625000 2.286612 -v 0.687500 -0.625000 2.375000 -v 0.724112 -0.625000 2.463388 -v 0.812500 -0.625000 2.500000 -v 0.900888 -0.625000 2.463388 -v 0.937500 -0.625000 2.375000 -v 0.900888 -0.625000 2.286612 -v 0.812500 -1.125000 2.250000 -v 0.724112 -1.125000 2.286612 -v 0.687500 -1.125000 2.375000 -v 0.724112 -1.125000 2.463388 -v 0.812500 -1.125000 2.500000 -v 0.900888 -1.125000 2.463388 -v 0.937500 -1.125000 2.375000 -v 0.900888 -1.125000 2.286612 -v 0.724112 -1.150888 2.275888 -v 0.687500 -1.213388 2.338388 -v 0.724112 -1.275888 2.400888 -v 0.812500 -1.301777 2.426777 -v 0.900888 -1.275888 2.400888 -v 0.937500 -1.213388 2.338388 -v 0.900888 -1.150888 2.275888 -v 0.724112 -1.161612 2.250000 -v 0.687500 -1.250000 2.250000 -v 0.724112 -1.338388 2.250000 -v 0.812500 -1.375000 2.250000 -v 0.900888 -1.338388 2.250000 -v 0.937500 -1.250000 2.250000 -v 0.900888 -1.161612 2.250000 -v 0.812500 -1.125000 -0.750000 -v 0.724112 -1.161612 -0.750000 -v 0.687500 -1.250000 -0.750000 -v 0.724112 -1.338388 -0.750000 -v 0.812500 -1.375000 -0.750000 -v 0.900888 -1.338388 -0.750000 -v 0.937500 -1.250000 -0.750000 -v 0.900888 -1.161612 -0.750000 -v -0.812500 -0.625000 2.250000 -v -0.900888 -0.625000 2.286612 -v -0.937500 -0.625000 2.375000 -v -0.900888 -0.625000 2.463388 -v -0.812500 -0.625000 2.500000 -v -0.724112 -0.625000 2.463388 -v -0.687500 -0.625000 2.375000 -v -0.724112 -0.625000 2.286612 -v -0.812500 -1.125000 2.250000 -v -0.900888 -1.125000 2.286612 -v -0.937500 -1.125000 2.375000 -v -0.900888 -1.125000 2.463388 -v -0.812500 -1.125000 2.500000 -v -0.724112 -1.125000 2.463388 -v -0.687500 -1.125000 2.375000 -v -0.724112 -1.125000 2.286612 -v -0.900888 -1.150888 2.275888 -v -0.937500 -1.213388 2.338388 -v -0.900888 -1.275888 2.400888 -v -0.812500 -1.301777 2.426777 -v -0.724112 -1.275888 2.400888 -v -0.687500 -1.213388 2.338388 -v -0.724112 -1.150888 2.275888 -v -0.900888 -1.161612 2.250000 -v -0.937500 -1.250000 2.250000 -v -0.900888 -1.338388 2.250000 -v -0.812500 -1.375000 2.250000 -v -0.724112 -1.338388 2.250000 -v -0.687500 -1.250000 2.250000 -v -0.724112 -1.161612 2.250000 -v -0.812500 -1.125000 -0.750000 -v -0.900888 -1.161612 -0.750000 -v -0.937500 -1.250000 -0.750000 -v -0.900888 -1.338388 -0.750000 -v -0.812500 -1.375000 -0.750000 -v -0.724112 -1.338388 -0.750000 -v -0.687500 -1.250000 -0.750000 -v -0.724112 -1.161612 -0.750000 -v 0.775888 -1.125000 -0.838388 -v 0.713388 -1.161612 -0.775888 -v 0.713388 -1.338388 -0.775888 -v 0.775888 -1.375000 -0.838388 -v 0.838388 -1.338388 -0.900888 -v 0.864277 -1.250000 -0.926777 -v 0.838388 -1.161612 -0.900888 -v 0.687500 -1.125000 -0.875000 -v 0.687500 -1.161612 -0.786612 -v 0.687500 -1.338388 -0.786612 -v 0.687500 -1.375000 -0.875000 -v 0.687500 -1.338388 -0.963388 -v 0.687500 -1.250000 -1.000000 -v 0.687500 -1.161612 -0.963388 -v -0.775888 -1.125000 -0.838388 -v -0.838388 -1.161612 -0.900888 -v -0.864277 -1.250000 -0.926777 -v -0.838388 -1.338388 -0.900888 -v -0.775888 -1.375000 -0.838388 -v -0.713388 -1.338388 -0.775888 -v -0.713388 -1.161612 -0.775888 -v -0.687500 -1.125000 -0.875000 -v -0.687500 -1.161612 -0.963388 -v -0.687500 -1.250000 -1.000000 -v -0.687500 -1.338388 -0.963388 -v -0.687500 -1.375000 -0.875000 -v -0.687500 -1.338388 -0.786612 -v -0.687500 -1.161612 -0.786612 -v -0.500000 0.187500 -2.500000 -v -0.500000 0.187500 -2.000000 -v 0.500000 0.187500 -2.500000 -v 0.500000 0.187500 -2.000000 -v 0.500000 0.500000 -2.750000 -v 0.500000 1.125000 -2.750000 -v 0.500000 1.125000 -2.625000 -v 0.500000 0.500000 -2.625000 -v 1.062500 0.687500 -2.750000 -v 0.875000 0.500000 -2.750000 -v 0.875000 1.125000 -2.750000 -v 1.062500 0.937500 -2.750000 -v 1.062500 0.937500 -2.625000 -v 0.875000 1.125000 -2.625000 -v 0.875000 0.500000 -2.625000 -v 1.062500 0.687500 -2.625000 -v -0.750000 1.062500 -3.250000 -v -0.750000 1.062500 -1.250000 -v -0.926777 0.989277 -3.250000 -v -0.926777 0.989277 -1.250000 -v -1.000000 0.812500 -3.250000 -v -1.000000 0.812500 -1.250000 -v -0.926777 0.635723 -3.250000 -v -0.926777 0.635723 -1.250000 -v -0.750000 0.562500 -3.250000 -v -0.750000 0.562500 -1.250000 -v -0.573223 0.635723 -3.250000 -v -0.573223 0.635723 -1.250000 -v -0.500000 0.812500 -3.250000 -v -0.500000 0.812500 -1.250000 -v -0.573223 0.989277 -3.250000 -v -0.573223 0.989277 -1.250000 -v 0.125000 0.187500 -3.250000 -v -0.125000 0.187500 -3.250000 -v 0.125000 -0.437500 -3.125000 -v -0.125000 -0.437500 -3.125000 -v 0.125000 0.187500 -3.500000 -v -0.125000 0.187500 -3.500000 -v 0.125000 -0.437500 -3.500000 -v -0.125000 -0.437500 -3.500000 +o Scope v -0.750000 2.437500 -1.500000 v 0.750000 2.437500 -1.500000 v -0.750000 2.437500 -4.500000 @@ -819,239 +409,6 @@ v -0.250000 2.312500 -3.750000 v -0.250000 2.312500 -3.000000 v -0.375000 2.312500 -3.750000 v -0.375000 2.312500 -3.000000 -v -0.500000 0.500000 -2.750000 -v -0.500000 1.125000 -2.750000 -v -0.500000 1.125000 -2.625000 -v -0.500000 0.500000 -2.625000 -v -1.062500 0.687500 -2.750000 -v -0.875000 0.500000 -2.750000 -v -0.875000 1.125000 -2.750000 -v -1.062500 0.937500 -2.750000 -v -1.062500 0.937500 -2.625000 -v -0.875000 1.125000 -2.625000 -v -0.875000 0.500000 -2.625000 -v -1.062500 0.687500 -2.625000 -v 0.500000 0.500000 -1.875000 -v 0.500000 1.125000 -1.875000 -v 0.500000 1.125000 -1.750000 -v 0.500000 0.500000 -1.750000 -v 1.062500 0.687500 -1.875000 -v 0.875000 0.500000 -1.875000 -v 0.875000 1.125000 -1.875000 -v 1.062500 0.937500 -1.875000 -v 1.062500 0.937500 -1.750000 -v 0.875000 1.125000 -1.750000 -v 0.875000 0.500000 -1.750000 -v 1.062500 0.687500 -1.750000 -v -0.500000 0.500000 -1.875000 -v -0.500000 1.125000 -1.875000 -v -0.500000 1.125000 -1.750000 -v -0.500000 0.500000 -1.750000 -v -1.062500 0.687500 -1.875000 -v -0.875000 0.500000 -1.875000 -v -0.875000 1.125000 -1.875000 -v -1.062500 0.937500 -1.875000 -v -1.062500 0.937500 -1.750000 -v -0.875000 1.125000 -1.750000 -v -0.875000 0.500000 -1.750000 -v -1.062500 0.687500 -1.750000 -v 0.750000 1.062500 -3.250000 -v 0.750000 1.062500 -1.250000 -v 0.573223 0.989277 -3.250000 -v 0.573223 0.989277 -1.250000 -v 0.500000 0.812500 -3.250000 -v 0.500000 0.812500 -1.250000 -v 0.573223 0.635723 -3.250000 -v 0.573223 0.635723 -1.250000 -v 0.750000 0.562500 -3.250000 -v 0.750000 0.562500 -1.250000 -v 0.926777 0.635723 -3.250000 -v 0.926777 0.635723 -1.250000 -v 1.000000 0.812500 -3.250000 -v 1.000000 0.812500 -1.250000 -v 0.926777 0.989277 -3.250000 -v 0.926777 0.989277 -1.250000 -v -0.562500 -0.375000 2.000000 -v -0.562500 -0.109835 2.109835 -v -0.562500 0.000000 2.375000 -v -0.562500 -0.109835 2.640165 -v -0.562500 -0.375000 2.750000 -v -0.562500 -0.640165 2.640165 -v -0.562500 -0.750000 2.375000 -v -0.562500 -0.640165 2.109835 -v -1.062500 -0.375000 2.000000 -v -1.062500 -0.109835 2.109835 -v -1.062500 0.000000 2.375000 -v -1.062500 -0.109835 2.640165 -v -1.062500 -0.375000 2.750000 -v -1.062500 -0.640165 2.640165 -v -1.062500 -0.750000 2.375000 -v -1.062500 -0.640165 2.109835 -vt 0.465385 -0.000000 -vt 0.496154 0.084906 -vt 0.465385 0.084906 -vt 0.496154 0.311321 -vt 0.619231 0.396226 -vt 0.496154 0.396226 -vt 0.653846 0.084906 -vt 0.619231 0.311321 -vt 0.619231 0.084906 -vt 0.465385 0.216981 -vt 0.430769 0.311321 -vt 0.430769 0.216981 -vt 0.603846 0.000000 -vt 0.619231 0.000000 -vt 0.496154 0.000000 -vt 0.503846 0.084906 -vt 0.002103 0.018927 -vt 0.015385 0.000117 -vt 0.028667 0.018927 -vt 0.430769 0.084906 -vt 0.017308 0.226425 -vt 0.028962 0.242929 -vt 0.017308 0.292443 -vt 0.346154 0.566038 -vt 0.369231 0.603774 -vt 0.346154 0.603774 -vt 0.330769 0.660377 -vt 0.330769 0.603774 -vt 0.738462 0.169811 -vt 0.715385 0.207547 -vt 0.730769 0.075472 -vt 0.653846 0.207547 -vt 0.715385 0.283019 -vt 0.653846 0.283019 -vt 0.307692 0.566038 -vt 0.330769 0.566038 -vt 0.738462 0.283019 -vt 0.730769 -0.000000 -vt 0.653846 0.075472 -vt 0.653846 -0.000000 -vt 0.769231 0.094340 -vt 0.769231 0.169811 -vt 0.738462 0.075472 -vt 0.738462 0.000000 -vt 0.730769 0.415094 -vt 0.653846 0.415094 -vt 0.796154 0.462264 -vt 0.811538 0.462264 -vt 0.811538 0.518868 -vt 0.411538 0.622642 -vt 0.419231 0.575472 -vt 0.419231 0.622642 -vt 0.415385 0.452830 -vt 0.453846 0.490566 -vt 0.415385 0.490566 -vt 0.415385 0.547170 -vt 0.453846 0.537736 -vt 0.453846 0.547170 -vt 0.415385 0.500000 -vt 0.453846 0.500000 -vt 0.603846 0.084906 -vt 0.596154 0.000000 -vt 0.388462 0.915094 -vt 0.496154 0.830189 -vt 0.496154 0.915094 -vt 0.465385 0.490566 -vt 0.496154 0.603774 -vt 0.603846 0.103774 -vt 0.115385 0.556604 -vt 0.007692 0.471698 -vt 0.115385 0.471698 -vt 0.376923 0.452830 -vt 0.276923 0.566038 -vt 0.276923 0.452830 -vt 0.007692 0.575472 -vt 0.007692 0.556604 -vt 0.123077 0.556604 -vt 0.115385 0.452830 -vt -0.000000 0.471698 -vt 0.111538 0.584906 -vt 0.115385 0.660377 -vt 0.111538 0.650943 -vt 0.011538 0.650943 -vt 0.011538 0.584906 -vt 0.115385 0.575472 -vt 0.007692 0.660377 -vt 0.150000 0.632075 -vt 0.250000 0.566038 -vt 0.250000 0.632075 -vt 0.150000 0.452830 -vt 0.123077 0.566038 -vt 0.123077 0.452830 -vt 0.250000 0.452830 -vt 0.150000 0.566038 -vt 0.138462 0.575472 -vt 0.146154 0.594340 -vt 0.138462 0.594340 -vt 0.123077 0.575472 -vt 0.130769 0.594340 -vt 0.123077 0.594340 -vt 0.146154 0.566038 -vt 0.138462 0.566038 -vt 0.138462 0.603774 -vt 0.146154 0.603774 -vt 0.134615 0.594340 -vt 0.130769 0.575472 -vt 0.134615 0.575472 -vt 0.119231 0.575472 -vt 0.119231 0.594340 -vt 0.150000 0.594340 -vt 0.146154 0.575472 -vt 0.150000 0.575472 -vt 0.134615 0.575472 -vt 0.134615 0.594340 -vt 0.130769 0.566038 -vt 0.123077 0.566038 -vt 0.123077 0.603774 -vt 0.130769 0.603774 -vt 0.017308 0.226425 -vt 0.028962 0.242929 -vt 0.017308 0.292443 -vt 0.002103 0.018927 -vt 0.015385 0.000117 -vt 0.028667 0.018927 -vt 0.028944 0.209875 -vt 0.017308 0.226354 -vt 0.005671 0.176917 -vt 0.392282 0.481132 -vt 0.403846 0.452768 -vt 0.415410 0.481132 -vt 0.369231 0.566038 -vt 0.376923 0.603774 -vt 0.307692 0.603774 -vt 0.300000 0.566038 -vt 0.346154 0.660377 -vt 0.323077 0.679245 -vt 0.721154 0.462264 -vt 0.709615 0.471698 -vt 0.709615 0.462264 -vt 0.721154 0.471698 -vt 0.709615 0.518868 -vt 0.703846 0.462264 -vt 0.696154 0.471698 -vt 0.696154 0.462264 -vt 0.709615 0.528302 -vt 0.721154 0.518868 -vt 0.721154 0.528302 -vt 0.703846 0.471698 -vt 0.703846 0.518868 -vt 0.703846 0.528302 -vt 0.703846 0.448113 -vt 0.703846 0.429245 -vt 0.709615 0.415094 -vt 0.688461 0.453302 -vt 0.695961 0.471698 -vt 0.688461 0.490094 -vt 0.695961 0.433962 -vt 0.693765 0.446970 -vt 0.683158 0.420954 -vt 0.392308 0.566038 -vt 0.411538 0.547170 -vt 0.411538 0.575472 -vt 0.438462 0.566038 -vt 0.419231 0.547170 -vt 0.438462 0.547170 vt 0.588462 0.886792 vt 0.496154 1.000000 vt 0.496154 0.886792 @@ -1241,157 +598,6 @@ vt 0.453846 0.650943 vt 0.465385 0.650943 vt 0.461538 0.688679 vt 0.453846 0.660377 -vt 0.709615 0.471698 -vt 0.721154 0.462264 -vt 0.709615 0.462264 -vt 0.703846 0.485849 -vt 0.703846 0.504717 -vt 0.709615 0.518868 -vt 0.696154 0.471698 -vt 0.703846 0.462264 -vt 0.696154 0.462264 -vt 0.721154 0.518868 -vt 0.709615 0.528302 -vt 0.721154 0.528302 -vt 0.703846 0.471698 -vt 0.703846 0.518868 -vt 0.703846 0.528302 -vt 0.709615 0.415094 -vt 0.721154 0.462264 -vt 0.709615 0.471698 -vt 0.709615 0.462264 -vt 0.721154 0.471698 -vt 0.709615 0.518868 -vt 0.703846 0.462264 -vt 0.696154 0.471698 -vt 0.696154 0.462264 -vt 0.709615 0.528302 -vt 0.721154 0.518868 -vt 0.721154 0.528302 -vt 0.703846 0.471698 -vt 0.703846 0.518868 -vt 0.703846 0.528302 -vt 0.703846 0.448113 -vt 0.703846 0.429245 -vt 0.709615 0.415094 -vt 0.709615 0.471698 -vt 0.721154 0.462264 -vt 0.709615 0.462264 -vt 0.703846 0.485849 -vt 0.703846 0.504717 -vt 0.709615 0.518868 -vt 0.696154 0.471698 -vt 0.703846 0.462264 -vt 0.696154 0.462264 -vt 0.721154 0.518868 -vt 0.709615 0.528302 -vt 0.721154 0.528302 -vt 0.703846 0.471698 -vt 0.703846 0.518868 -vt 0.703846 0.528302 -vt 0.709615 0.415094 -vt 0.688461 0.453302 -vt 0.695961 0.471698 -vt 0.688461 0.490094 -vt 0.695961 0.433962 -vt 0.693765 0.446970 -vt 0.683158 0.420954 -vt 0.403846 0.452768 -vt 0.392282 0.481132 -vt 0.403846 0.509497 -vt 0.653846 0.311321 -vt 0.465385 0.311321 -vt 0.503846 -0.000000 -vt 0.015385 0.075355 -vt 0.007716 0.070315 -vt 0.002103 0.056545 -vt 0.000048 0.037736 -vt 0.007716 0.005157 -vt 0.023053 0.005157 -vt 0.030721 0.037736 -vt 0.028667 0.056545 -vt 0.023053 0.070315 -vt 0.010579 0.288021 -vt 0.005653 0.275939 -vt 0.003850 0.259434 -vt 0.005653 0.242929 -vt 0.010579 0.230847 -vt 0.024036 0.230847 -vt 0.030765 0.259434 -vt 0.028962 0.275939 -vt 0.024036 0.288021 -vt 0.738462 0.094340 -vt 0.738462 0.207547 -vt 0.738462 0.320755 -vt 0.738462 0.396226 -vt 0.819231 0.481132 -vt 0.819231 0.500000 -vt 0.796154 0.518868 -vt 0.788462 0.500000 -vt 0.788462 0.481132 -vt 0.453846 0.452830 -vt 0.415385 0.537736 -vt 0.596154 0.084906 -vt 0.388462 0.830189 -vt 0.619231 0.622642 -vt 0.603846 0.622642 -vt 0.603846 0.603774 -vt 0.496154 0.622642 -vt 0.465385 0.622642 -vt 0.496154 0.103774 -vt 0.376923 0.566038 -vt 0.123077 0.471698 -vt 0.007692 0.452830 -vt -0.000000 0.556604 -vt 0.010579 0.288021 -vt 0.005653 0.275939 -vt 0.003850 0.259434 -vt 0.005653 0.242929 -vt 0.010579 0.230847 -vt 0.024036 0.230847 -vt 0.030765 0.259434 -vt 0.028962 0.275939 -vt 0.024036 0.288021 -vt 0.015385 0.075355 -vt 0.007716 0.070315 -vt 0.002103 0.056545 -vt 0.000048 0.037736 -vt 0.007716 0.005157 -vt 0.023053 0.005157 -vt 0.030721 0.037736 -vt 0.028667 0.056545 -vt 0.023053 0.070315 -vt 0.010589 0.221938 -vt 0.005671 0.209875 -vt 0.003871 0.193396 -vt 0.010589 0.164854 -vt 0.017308 0.160439 -vt 0.024026 0.164854 -vt 0.028944 0.176917 -vt 0.030744 0.193396 -vt 0.024026 0.221938 -vt 0.412023 0.501189 -vt 0.403846 0.509497 -vt 0.395669 0.501189 -vt 0.395669 0.461075 -vt 0.412023 0.461075 -vt 0.376923 0.566038 -vt 0.300000 0.603774 -vt 0.353846 0.679245 -vt 0.703846 0.504717 -vt 0.703846 0.485849 -vt 0.721154 0.415094 -vt 0.683158 0.484706 -vt 0.680962 0.471698 -vt 0.683158 0.458690 -vt 0.693765 0.458690 -vt 0.693765 0.484706 -vt 0.688461 0.452358 -vt 0.683158 0.446970 -vt 0.680962 0.433962 -vt 0.688462 0.415566 -vt 0.693765 0.420954 -vt 0.392308 0.547170 vt 0.588462 1.000000 vt 0.596154 0.830189 vt 0.588462 0.698113 @@ -1429,408 +635,6 @@ vt 0.142677 0.829236 vt 0.142677 0.783263 vt 0.152048 0.773742 vt 0.407692 0.688679 -vt 0.721154 0.471698 -vt 0.721154 0.415094 -vt 0.703846 0.429245 -vt 0.703846 0.448113 -vt 0.703846 0.504717 -vt 0.703846 0.485849 -vt 0.721154 0.415094 -vt 0.721154 0.471698 -vt 0.721154 0.415094 -vt 0.703846 0.429245 -vt 0.703846 0.448113 -vt 0.683158 0.484706 -vt 0.680962 0.471698 -vt 0.683158 0.458690 -vt 0.693765 0.458690 -vt 0.693765 0.484706 -vt 0.688461 0.452358 -vt 0.683158 0.446970 -vt 0.680962 0.433962 -vt 0.688462 0.415566 -vt 0.693765 0.420954 -vt 0.412023 0.501189 -vt 0.415410 0.481132 -vt 0.412023 0.461075 -vt 0.395669 0.461075 -vt 0.395669 0.501189 -vt 0.338462 0.169811 -vt 0.030769 0.150943 -vt 0.338462 0.150943 -vt 0.338462 0.075472 -vt 0.030769 0.056604 -vt 0.338462 0.056604 -vt 0.338462 0.018868 -vt 0.030769 -0.000000 -vt 0.338462 -0.000000 -vt 0.338462 0.188679 -vt 0.030769 0.169811 -vt 0.338462 0.094340 -vt 0.030769 0.075472 -vt 0.338462 0.132075 -vt 0.030769 0.113208 -vt 0.338462 0.113208 -vt 0.338462 0.037736 -vt 0.030769 0.018868 -vt 0.338462 0.207547 -vt 0.030769 0.188679 -vt 0.030769 0.094340 -vt 0.030769 0.132075 -vt 0.030769 0.037736 -vt 0.338462 0.226415 -vt 0.030769 0.207547 -vt 0.030769 0.415094 -vt 0.338462 0.433962 -vt 0.030769 0.433962 -vt 0.030769 0.320755 -vt 0.338462 0.339623 -vt 0.030769 0.339623 -vt 0.030769 0.358491 -vt 0.338462 0.377358 -vt 0.030769 0.377358 -vt 0.030769 0.264151 -vt 0.338462 0.283019 -vt 0.030769 0.283019 -vt 0.338462 0.452830 -vt 0.030769 0.452830 -vt 0.338462 0.396226 -vt 0.030769 0.396226 -vt 0.338462 0.301887 -vt 0.030769 0.301887 -vt 0.030769 0.226415 -vt 0.338462 0.245283 -vt 0.030769 0.245283 -vt 0.338462 0.415094 -vt 0.338462 0.320755 -vt 0.338462 0.358491 -vt 0.338462 0.264151 -vt 0.769231 0.018868 -vt 0.876923 0.056604 -vt 0.769231 0.056604 -vt 0.992308 0.301887 -vt 1.000000 0.245283 -vt 1.000000 0.283019 -vt 0.923077 0.000000 -vt 0.876923 0.018868 -vt 0.876923 0.000000 -vt 0.923077 0.283019 -vt 0.769231 0.301887 -vt 0.769231 0.283019 -vt 0.923077 0.226415 -vt 0.769231 0.245283 -vt 0.769231 0.226415 -vt 0.876923 0.075472 -vt 0.769231 0.075472 -vt 0.915385 0.113208 -vt 0.923077 0.075472 -vt 0.923077 0.056604 -vt 0.930769 0.301887 -vt 0.923077 0.245283 -vt 0.930769 0.226415 -vt 0.946154 0.301887 -vt 0.946154 0.226415 -vt 0.976923 0.226415 -vt 0.992308 0.226415 -vt 0.742308 0.481132 -vt 0.742308 0.500000 -vt 0.723077 0.481132 -vt 0.723077 0.500000 -vt 0.976923 0.301887 -vt 0.830769 0.500000 -vt 0.876923 0.500000 -vt 0.884615 0.481132 -vt 0.884615 0.500000 -vt 0.796154 0.660377 -vt 0.811538 0.547170 -vt 0.819231 0.547170 -vt 0.796154 0.679245 -vt 0.788462 0.660377 -vt 0.773077 0.679245 -vt 0.788462 0.679245 -vt 0.819231 0.518868 -vt 0.796154 0.660377 -vt 0.811538 0.547170 -vt 0.788462 0.660377 -vt 0.788462 0.518868 -vt 0.773077 0.632075 -vt 0.765385 0.632075 -vt 0.765385 0.679245 -vt 0.773077 0.632075 -vt 0.796154 0.518868 -vt 0.773077 0.679245 -vt 0.788462 0.679245 -vt 0.796154 0.679245 -vt 0.765385 0.679245 -vt 0.765385 0.632075 -vt 0.819231 0.518868 -vt 0.819231 0.547170 -vt 0.788462 0.518868 -vt 0.830769 0.481132 -vt 0.430769 0.339623 -vt 0.338462 0.358491 -vt 0.338462 0.339623 -vt 0.400000 0.207547 -vt 0.338462 0.226415 -vt 0.338462 0.207547 -vt 0.430769 0.264151 -vt 0.338462 0.283019 -vt 0.338462 0.264151 -vt 0.430769 0.358491 -vt 0.338462 0.377358 -vt 0.400000 0.000000 -vt 0.338462 0.018868 -vt 0.338462 0.000000 -vt 0.430769 0.283019 -vt 0.338462 0.301887 -vt 0.430769 0.377358 -vt 0.338462 0.396226 -vt 0.400000 0.018868 -vt 0.338462 0.037736 -vt 0.430769 0.301887 -vt 0.338462 0.320755 -vt 0.400000 0.113208 -vt 0.338462 0.132075 -vt 0.338462 0.113208 -vt 0.430769 0.396226 -vt 0.338462 0.415094 -vt 0.400000 0.037736 -vt 0.338462 0.056604 -vt 0.430769 0.320755 -vt 0.400000 0.132075 -vt 0.338462 0.150943 -vt 0.430769 0.415094 -vt 0.338462 0.433962 -vt 0.400000 0.056604 -vt 0.338462 0.075472 -vt 0.400000 0.150943 -vt 0.338462 0.169811 -vt 0.430769 0.433962 -vt 0.338462 0.452830 -vt 0.400000 0.075472 -vt 0.338462 0.094340 -vt 0.400000 0.169811 -vt 0.338462 0.188679 -vt 0.430769 0.226415 -vt 0.338462 0.245283 -vt 0.338462 0.226415 -vt 0.400000 0.094340 -vt 0.400000 0.188679 -vt 0.430769 0.245283 -vt 0.407692 0.226415 -vt 0.400000 0.207547 -vt 0.407692 0.207547 -vt 0.407692 0.169811 -vt 0.400000 0.150943 -vt 0.407692 0.150943 -vt 0.407692 0.075472 -vt 0.400000 0.056604 -vt 0.407692 0.056604 -vt 0.407692 0.018868 -vt 0.400000 -0.000000 -vt 0.407692 -0.000000 -vt 0.407692 0.188679 -vt 0.400000 0.169811 -vt 0.407692 0.094340 -vt 0.400000 0.075472 -vt 0.407692 0.132075 -vt 0.400000 0.113208 -vt 0.407692 0.113208 -vt 0.407692 0.037736 -vt 0.400000 0.018868 -vt 0.400000 0.188679 -vt 0.400000 0.094340 -vt 0.400000 0.132075 -vt 0.400000 0.037736 -vt 0.376923 0.509434 -vt 0.392308 0.528302 -vt 0.376923 0.528302 -vt 0.376923 0.547170 -vt 0.392308 0.566038 -vt 0.376923 0.566038 -vt 0.392308 0.584906 -vt 0.376923 0.584906 -vt 0.376923 0.452830 -vt 0.392308 0.471698 -vt 0.376923 0.471698 -vt 0.376923 0.490566 -vt 0.392308 0.509434 -vt 0.392308 0.547170 -vt 0.392308 0.603774 -vt 0.376923 0.603774 -vt 0.392308 0.490566 -vt 0.303846 0.688679 -vt 0.319231 0.679245 -vt 0.319231 0.688679 -vt 0.303846 0.707547 -vt 0.319231 0.698113 -vt 0.319231 0.707547 -vt 0.303846 0.726415 -vt 0.319231 0.716981 -vt 0.319231 0.726415 -vt 0.303846 0.669811 -vt 0.319231 0.660377 -vt 0.319231 0.669811 -vt 0.303846 0.698113 -vt 0.303846 0.716981 -vt 0.303846 0.735849 -vt 0.319231 0.735849 -vt 0.303846 0.679245 -vt 0.300000 0.660377 -vt 0.296154 0.669811 -vt 0.296154 0.660377 -vt 0.300000 0.688679 -vt 0.296154 0.698113 -vt 0.296154 0.688679 -vt 0.296154 0.707547 -vt 0.296154 0.735849 -vt 0.296154 0.726415 -vt 0.300000 0.698113 -vt 0.296154 0.716981 -vt 0.292308 0.698113 -vt 0.292308 0.688679 -vt 0.288462 0.707547 -vt 0.292308 0.735849 -vt 0.288462 0.726415 -vt 0.288462 0.716981 -vt 0.292308 0.669811 -vt 0.292308 0.660377 -vt 0.296154 0.679245 -vt 0.300000 0.669811 -vt 0.288462 0.688679 -vt 0.196154 0.679245 -vt 0.288462 0.679245 -vt 0.288462 0.698113 -vt 0.196154 0.688679 -vt 0.196154 0.669811 -vt 0.288462 0.669811 -vt 0.196154 0.707547 -vt 0.288462 0.735849 -vt 0.196154 0.726415 -vt 0.196154 0.698113 -vt 0.196154 0.716981 -vt 0.196154 0.660377 -vt 0.288462 0.660377 -vt 0.015385 0.669811 -vt -0.000000 0.679245 -vt 0.000000 0.669811 -vt 0.015385 0.726415 -vt 0.000000 0.735849 -vt -0.000000 0.726415 -vt 0.015385 0.707547 -vt 0.000000 0.716981 -vt -0.000000 0.707547 -vt 0.015385 0.688679 -vt -0.000000 0.698113 -vt -0.000000 0.688679 -vt 0.015385 0.660377 -vt 0.000000 0.660377 -vt 0.015385 0.716981 -vt 0.015385 0.698113 -vt 0.015385 0.679245 -vt 0.019231 0.698113 -vt 0.023077 0.688679 -vt 0.023077 0.698113 -vt 0.019231 0.669811 -vt 0.023077 0.660377 -vt 0.023077 0.669811 -vt 0.023077 0.716981 -vt 0.023077 0.726415 -vt 0.023077 0.707547 -vt 0.023077 0.735849 -vt 0.019231 0.735849 -vt 0.026923 0.660377 -vt 0.026923 0.669811 -vt 0.030769 0.716981 -vt 0.030769 0.726415 -vt 0.026923 0.698113 -vt 0.030769 0.707547 -vt 0.026923 0.735849 -vt 0.026923 0.688679 -vt 0.023077 0.679245 -vt 0.019231 0.688679 -vt 0.030769 0.669811 -vt 0.123077 0.679245 -vt 0.030769 0.679245 -vt 0.030769 0.660377 -vt 0.123077 0.669811 -vt 0.123077 0.688679 -vt 0.030769 0.688679 -vt 0.123077 0.726415 -vt 0.030769 0.698113 -vt 0.123077 0.707547 -vt 0.123077 0.735849 -vt 0.030769 0.735849 -vt 0.123077 0.716981 -vt 0.123077 0.698113 -vt 0.192308 0.679245 -vt 0.188462 0.669811 -vt 0.192308 0.669811 -vt 0.188462 0.707547 -vt 0.188462 0.698113 -vt 0.192308 0.716981 -vt 0.188462 0.726415 -vt 0.188462 0.716981 -vt 0.188462 0.679245 -vt 0.188462 0.688679 -vt 0.180769 0.707547 -vt 0.184615 0.679245 -vt 0.184615 0.669811 -vt 0.180769 0.698113 -vt 0.184615 0.716981 -vt 0.180769 0.688679 -vt 0.188462 0.660377 -vt 0.188462 0.735849 -vt 0.192308 0.726415 -vt 0.184615 0.726415 -vt 0.130769 0.679245 -vt 0.130769 0.688679 -vt 0.126923 0.716981 -vt 0.130769 0.707547 -vt 0.130769 0.716981 -vt 0.130769 0.698113 -vt 0.126923 0.679245 -vt 0.130769 0.669811 -vt 0.130769 0.726415 -vt 0.126923 0.726415 -vt 0.138462 0.688679 -vt 0.138462 0.707547 -vt 0.134615 0.716981 -vt 0.138462 0.698113 -vt 0.134615 0.679245 -vt 0.134615 0.726415 -vt 0.130769 0.660377 -vt 0.126923 0.669811 -vt 0.134615 0.669811 -vt 0.130769 0.735849 -vt 0.138462 0.679245 -vt 0.180769 0.669811 -vt 0.180769 0.679245 -vt 0.138462 0.660377 -vt 0.180769 0.660377 -vt 0.138462 0.735849 -vt 0.180769 0.726415 -vt 0.180769 0.735849 -vt 0.138462 0.716981 -vt 0.180769 0.716981 -vt 0.680769 0.509434 -vt 0.619231 0.490566 -vt 0.680769 0.490566 -vt 0.680769 0.528302 -vt 0.619231 0.509434 -vt 0.680769 0.547170 -vt 0.619231 0.528302 -vt 0.680769 0.566038 -vt 0.619231 0.547170 -vt 0.680769 0.433962 -vt 0.619231 0.415094 -vt 0.680769 0.415094 -vt 0.680769 0.452830 -vt 0.619231 0.433962 -vt 0.680769 0.471698 -vt 0.619231 0.452830 -vt 0.619231 0.471698 -vt 0.811538 0.518868 vt 0.100000 0.735849 vt 0.092308 0.735849 vt 0.084615 0.735849 @@ -2111,64 +915,6 @@ vt 0.365385 0.801887 vt 0.380769 0.792453 vt 0.380769 0.735849 vt 0.357692 0.811321 -vt 0.915385 0.339623 -vt 0.876923 0.452830 -vt 0.915385 0.188679 -vt 0.915385 0.415094 -vt 0.923077 0.452830 -vt 0.680769 0.509434 -vt 0.619231 0.490566 -vt 0.680769 0.490566 -vt 0.680769 0.528302 -vt 0.619231 0.509434 -vt 0.680769 0.547170 -vt 0.619231 0.528302 -vt 0.680769 0.566038 -vt 0.619231 0.547170 -vt 0.680769 0.433962 -vt 0.619231 0.415094 -vt 0.680769 0.415094 -vt 0.680769 0.452830 -vt 0.619231 0.433962 -vt 0.680769 0.471698 -vt 0.619231 0.452830 -vt 0.619231 0.471698 -vt 0.392308 0.528302 -vt 0.376923 0.509434 -vt 0.376923 0.528302 -vt 0.392308 0.566038 -vt 0.376923 0.547170 -vt 0.376923 0.566038 -vt 0.392308 0.584906 -vt 0.376923 0.584906 -vt 0.392308 0.471698 -vt 0.376923 0.452830 -vt 0.376923 0.471698 -vt 0.392308 0.509434 -vt 0.376923 0.490566 -vt 0.392308 0.547170 -vt 0.392308 0.603774 -vt 0.376923 0.603774 -vt 0.392308 0.490566 -vt 0.030769 0.226415 -vt 0.338462 0.226415 -vt 0.923077 0.018868 -vt 0.923077 0.301887 -vt 0.769231 0.000000 -vt 0.876923 0.481132 -vt 0.400000 0.226415 -vt 0.430769 0.452830 -vt 0.400000 0.226415 -vt 0.392308 0.452830 -vt 0.303846 0.660377 -vt 0.300000 0.735849 -vt 0.196154 0.735849 -vt 0.015385 0.735849 -vt 0.019231 0.660377 -vt 0.123077 0.660377 -vt 0.138462 0.669811 -vt 0.138462 0.726415 -vt 0.619231 0.566038 vt 0.138462 0.773585 vt 0.230769 0.773585 vt 0.380769 0.735849 @@ -2177,145 +923,19 @@ vt 0.238462 0.811321 vt 0.276923 0.811321 vt 0.307692 0.811321 vt 0.380769 0.811321 -vt 0.769231 0.339623 -vt 0.769231 0.188679 -vt 0.619231 0.566038 -vt 0.392308 0.452830 vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.6247 0.7809 -vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 -vn 0.0000 0.8321 -0.5547 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 0.1961 0.9806 -vn -0.7071 -0.7071 0.0000 -vn 0.7071 -0.7071 0.0000 vn 0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.0000 0.0000 1.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 1.0000 0.0000 vn -0.7071 0.7071 0.0000 vn 0.7190 0.6950 0.0000 vn 0.0000 0.8944 0.4472 vn 0.0000 0.5547 -0.8321 -vn -0.8660 0.5000 0.0000 -vn 0.8660 0.5000 0.0000 -vn 0.5000 -0.8660 0.0000 -vn -0.8660 -0.5000 0.0000 -vn 0.5000 0.8660 0.0000 -vn -0.5000 0.8660 0.0000 -vn 0.8660 -0.5000 0.0000 -vn -0.5000 -0.8660 0.0000 -vn -0.3936 -0.8453 0.3612 -vn 0.3627 -0.9141 0.1815 -vn 0.3929 -0.8452 0.3622 -vn 0.0000 0.3054 -0.9522 -vn -0.8941 -0.4478 0.0004 -vn -0.3703 -0.9109 0.1819 -vn -0.9078 -0.4085 0.0944 -vn -0.3827 0.9239 0.0000 -vn -0.9239 0.3827 0.0000 -vn 0.8941 0.4478 0.0000 -vn 0.3827 0.9239 0.0000 -vn 0.9239 0.3827 0.0000 -vn 0.9032 -0.4186 0.0951 -vn 0.9487 -0.2905 0.1245 -vn 0.8941 -0.4478 0.0000 -vn 0.3827 -0.9239 0.0000 -vn 0.0000 -0.3054 -0.9522 -vn 0.0000 -0.2298 -0.9732 -vn 0.0000 0.2298 -0.9732 -vn -0.3595 -0.2070 0.9099 -vn 0.3897 -0.4119 0.8237 -vn 0.3595 -0.2070 0.9099 -vn -0.3827 0.0000 0.9239 -vn 0.3827 0.0000 0.9239 -vn -0.3945 0.0000 -0.9189 -vn 0.3595 0.2070 -0.9099 -vn 0.3827 0.0000 -0.9239 -vn 0.3954 0.2222 -0.8912 -vn 0.8994 0.1123 -0.4225 -vn 0.9414 0.0706 -0.3297 -vn 0.9239 0.0000 0.3827 -vn 0.9239 0.0000 -0.3827 -vn -0.4084 0.2210 -0.8856 -vn -0.9054 0.1095 -0.4102 -vn -0.9452 0.0682 -0.3193 -vn 0.8994 -0.1123 0.4225 -vn -0.8994 -0.1123 0.4225 -vn -0.9511 -0.1381 0.2762 -vn -0.9239 0.0000 0.3827 -vn -0.9287 0.0000 -0.3708 -vn -0.3703 0.2060 -0.9058 -vn -0.3897 -0.4119 0.8237 -vn 0.0000 0.7071 0.7071 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 -0.7071 0.7071 -vn 0.7263 0.1363 -0.6737 -vn 0.7071 0.0000 -0.7071 -vn 0.6794 -0.1448 0.7194 -vn 0.7071 0.0000 0.7071 -vn -0.6794 -0.1448 0.7194 -vn -0.7071 0.0000 0.7071 -vn -0.7263 0.1363 -0.6737 -vn -0.7071 0.0000 -0.7071 -vn 0.9987 -0.0196 0.0473 -vn -0.0000 -0.1866 0.9824 -vn -0.9987 -0.0196 0.0473 -vn -0.7574 0.4617 -0.4617 -vn -0.9955 -0.0671 0.0671 -vn 0.9955 -0.0671 0.0671 -vn 0.7574 0.4617 -0.4617 -vn 0.6630 -0.5294 0.5294 -vn -0.6630 -0.5294 0.5294 -vn 0.9987 -0.0473 0.0196 -vn 0.7263 0.6737 -0.1363 -vn 0.6794 -0.7194 0.1448 -vn -0.9987 -0.0473 0.0196 -vn -0.6794 -0.7194 0.1448 -vn -0.0000 -0.9824 0.1866 -vn -0.7263 0.6737 -0.1363 -vn 0.0473 0.9987 -0.0196 -vn 0.7194 0.6794 -0.1448 -vn -0.6737 0.7263 0.1363 -vn 0.7194 -0.6794 -0.1448 -vn -0.6737 -0.7263 0.1363 -vn 0.9824 -0.0000 -0.1866 -vn 0.0473 -0.9987 -0.0196 -vn -0.0473 0.9987 -0.0196 -vn 0.6737 0.7263 0.1363 -vn -0.7194 0.6794 -0.1448 -vn 0.6737 -0.7263 0.1363 -vn -0.7194 -0.6794 -0.1448 -vn -0.0473 -0.9987 -0.0196 -vn -0.9824 0.0000 -0.1866 -vn -0.4617 0.7574 0.4617 -vn 0.5294 -0.6630 -0.5294 -vn -0.4617 -0.7574 0.4617 -vn 0.0671 -0.9955 -0.0671 -vn 0.0671 0.9955 -0.0671 -vn 0.5294 0.6630 -0.5294 -vn 0.1448 -0.6794 -0.7194 -vn 0.0196 0.9987 -0.0473 -vn -0.1363 0.7263 0.6737 -vn 0.1866 -0.0000 -0.9824 -vn 0.0196 -0.9987 -0.0473 -vn 0.1448 0.6794 -0.7194 -vn -0.1363 -0.7263 0.6737 -vn -0.0671 0.9955 -0.0671 -vn -0.5294 0.6630 -0.5294 -vn -0.5294 -0.6630 -0.5294 -vn -0.0671 -0.9955 -0.0671 -vn 0.4617 0.7574 0.4617 -vn 0.4617 -0.7574 0.4617 -vn -0.1448 0.6794 -0.7194 -vn -0.1448 -0.6794 -0.7194 -vn -0.0196 -0.9987 -0.0473 -vn -0.1866 0.0000 -0.9824 -vn -0.0196 0.9987 -0.0473 -vn 0.1363 -0.7263 0.6737 -vn 0.1363 0.7263 0.6737 -vn 0.9511 -0.1381 0.2762 vn 0.0000 -0.9803 -0.1973 vn 0.7046 -0.7095 0.0098 vn 0.7345 -0.6651 -0.1347 @@ -2524,1432 +1144,2864 @@ vn 0.1302 0.4906 0.8616 vn 0.0363 0.9640 0.2636 vn 0.1468 -0.2381 0.9601 vn 0.0000 -0.9999 0.0154 +s off +f 3/1/1 2/2/1 1/3/1 +f 15/4/2 11/5/2 13/6/2 +f 3/7/3 13/8/3 5/9/3 +f 14/10/4 9/11/4 16/12/4 +f 10/13/5 8/14/5 9/11/5 +f 26/15/1 30/16/1 25/17/1 +f 4/18/6 16/12/6 2/19/6 +f 2/20/7 16/21/7 8/14/7 +f 1/3/8 13/6/8 3/1/8 +f 8/14/9 5/9/9 7/22/9 +f 12/23/10 5/9/10 11/5/10 +f 21/24/4 24/25/4 22/26/4 +f 18/27/1 22/26/1 17/28/1 +f 19/29/3 21/24/3 18/30/3 +f 20/31/9 23/32/9 19/33/9 +f 17/34/7 24/25/7 20/35/7 +f 27/36/3 29/37/3 26/15/3 +f 28/38/9 31/39/9 27/36/9 +f 25/17/7 32/40/7 28/38/7 +f 28/38/2 26/15/2 25/17/2 +f 43/41/3 38/42/3 37/43/3 +f 34/44/7 41/45/7 33/46/7 +f 38/47/3 48/48/3 39/49/3 +f 47/50/7 34/51/7 35/52/7 +f 40/53/3 43/41/3 37/54/3 +f 41/45/7 36/55/7 33/56/7 +f 50/57/3 46/58/3 40/59/3 +f 45/60/7 49/61/7 36/62/7 +f 56/63/3 39/64/3 48/48/3 +f 35/65/7 55/66/7 47/50/7 +f 47/50/4 56/63/4 48/48/4 +f 44/67/11 47/50/11 48/48/11 +f 42/68/9 43/41/9 41/45/9 +f 45/60/10 43/41/10 46/58/10 +f 51/69/2 46/58/2 52/70/2 +f 67/71/3 62/72/3 61/73/3 +f 58/74/7 65/75/7 57/76/7 +f 62/77/3 72/78/3 63/79/3 +f 71/80/7 58/81/7 59/82/7 +f 64/83/3 67/71/3 61/84/3 +f 65/75/7 60/85/7 57/86/7 +f 74/87/3 70/88/3 64/89/3 +f 69/90/7 73/91/7 60/92/7 +f 80/93/3 63/94/3 72/78/3 +f 59/95/7 79/96/7 71/80/7 +f 71/80/4 80/93/4 72/78/4 +f 68/97/11 71/80/11 72/78/11 +f 66/98/9 67/71/9 65/75/9 +f 69/90/10 67/71/10 70/88/10 +f 75/99/2 70/88/2 76/100/2 +f 87/101/3 86/102/3 83/103/3 +f 85/104/3 89/105/3 84/106/3 +f 82/107/3 91/108/3 81/109/3 +f 84/110/3 92/111/3 82/112/3 +f 91/108/3 83/113/3 81/114/3 +f 98/115/7 99/116/7 95/117/7 +f 101/118/7 97/119/7 96/120/7 +f 103/121/7 94/122/7 93/123/7 +f 104/124/7 96/125/7 94/126/7 +f 95/127/7 103/121/7 93/128/7 +f 92/111/1 103/121/1 91/108/1 +f 89/105/6 104/124/6 92/111/6 +f 90/129/4 101/118/4 89/105/4 +f 103/121/8 87/101/8 91/108/8 +f 99/116/2 88/130/2 87/101/2 +f 105/131/12 112/132/12 107/133/12 +f 106/134/4 110/135/4 105/136/4 +f 108/137/13 109/138/13 106/139/13 +f 108/140/2 112/132/2 111/141/2 +f 135/142/7 128/143/7 127/144/7 +f 136/145/7 121/146/7 128/143/7 +f 121/146/7 130/147/7 122/148/7 +f 122/148/7 131/149/7 123/150/7 +f 131/149/7 124/151/7 123/150/7 +f 132/152/7 125/153/7 124/151/7 +f 125/154/7 134/155/7 126/156/7 +f 126/156/7 135/142/7 127/144/7 +f 141/157/7 143/158/7 138/159/7 +f 158/160/3 167/161/3 159/162/3 +f 159/162/3 168/163/3 160/164/3 +f 160/164/3 161/165/3 153/166/3 +f 161/165/3 154/167/3 153/166/3 +f 162/168/3 155/169/3 154/167/3 +f 163/170/3 156/171/3 155/169/3 +f 164/172/3 157/173/3 156/171/3 +f 157/174/3 166/175/3 158/160/3 +f 172/176/3 171/177/3 175/178/3 +f 401/179/12 408/180/12 403/181/12 +f 402/182/4 406/183/4 401/184/4 +f 404/185/13 405/186/13 402/187/13 +f 404/188/2 408/180/2 407/189/2 +f 3/1/1 4/190/1 2/2/1 +f 15/4/2 12/23/2 11/5/2 +f 13/8/3 11/191/3 5/9/3 +f 5/9/3 6/192/3 4/193/3 +f 6/192/3 10/194/3 4/193/3 +f 10/194/3 14/195/3 4/193/3 +f 4/193/3 3/7/3 5/9/3 +f 14/10/4 10/13/4 9/11/4 +f 10/13/5 6/192/5 8/14/5 +f 26/15/1 29/196/1 30/16/1 +f 4/18/6 14/10/6 16/12/6 +f 16/21/7 9/197/7 8/14/7 +f 8/14/7 7/22/7 1/198/7 +f 7/22/7 12/199/7 1/198/7 +f 12/199/7 15/200/7 1/198/7 +f 1/198/7 2/20/7 8/14/7 +f 1/3/8 15/4/8 13/6/8 +f 8/14/9 6/192/9 5/9/9 +f 12/23/10 7/22/10 5/9/10 +f 21/24/4 23/32/4 24/25/4 +f 18/27/1 21/24/1 22/26/1 +f 19/29/3 23/32/3 21/24/3 +f 20/31/9 24/25/9 23/32/9 +f 17/34/7 22/26/7 24/25/7 +f 27/36/3 31/201/3 29/37/3 +f 28/38/9 32/202/9 31/39/9 +f 25/17/7 30/203/7 32/40/7 +f 28/38/2 27/36/2 26/15/2 +f 43/41/3 44/67/3 38/42/3 +f 34/44/7 42/68/7 41/45/7 +f 38/47/3 44/67/3 48/48/3 +f 47/50/7 42/68/7 34/51/7 +f 40/53/3 46/58/3 43/41/3 +f 41/45/7 45/60/7 36/55/7 +f 50/57/3 52/70/3 46/58/3 +f 45/60/7 51/69/7 49/61/7 +f 56/63/3 54/204/3 39/64/3 +f 35/65/7 53/205/7 55/66/7 +f 47/50/4 55/66/4 56/63/4 +f 44/67/11 42/68/11 47/50/11 +f 42/68/9 44/67/9 43/41/9 +f 45/60/10 41/45/10 43/41/10 +f 51/69/2 45/60/2 46/58/2 +f 67/71/3 68/97/3 62/72/3 +f 58/74/7 66/98/7 65/75/7 +f 62/77/3 68/97/3 72/78/3 +f 71/80/7 66/98/7 58/81/7 +f 64/83/3 70/88/3 67/71/3 +f 65/75/7 69/90/7 60/85/7 +f 74/87/3 76/100/3 70/88/3 +f 69/90/7 75/99/7 73/91/7 +f 80/93/3 78/206/3 63/94/3 +f 59/95/7 77/207/7 79/96/7 +f 71/80/4 79/96/4 80/93/4 +f 68/97/11 66/98/11 71/80/11 +f 66/98/9 68/97/9 67/71/9 +f 69/90/10 65/75/10 67/71/10 +f 75/99/2 69/90/2 70/88/2 +f 87/101/3 88/130/3 86/102/3 +f 85/104/3 90/129/3 89/105/3 +f 82/107/3 92/111/3 91/108/3 +f 84/110/3 89/105/3 92/111/3 +f 91/108/3 87/101/3 83/113/3 +f 98/115/7 100/208/7 99/116/7 +f 101/118/7 102/209/7 97/119/7 +f 103/121/7 104/124/7 94/122/7 +f 104/124/7 101/118/7 96/125/7 +f 95/127/7 99/116/7 103/121/7 +f 92/111/1 104/124/1 103/121/1 +f 89/105/6 101/118/6 104/124/6 +f 90/129/4 102/209/4 101/118/4 +f 103/121/8 99/116/8 87/101/8 +f 99/116/2 100/208/2 88/130/2 +f 105/131/12 110/135/12 112/132/12 +f 106/134/4 109/138/4 110/135/4 +f 108/137/13 111/141/13 109/138/13 +f 108/140/2 107/210/2 112/132/2 +f 135/142/7 136/145/7 128/143/7 +f 136/145/7 129/211/7 121/146/7 +f 121/146/7 129/211/7 130/147/7 +f 122/148/7 130/147/7 131/149/7 +f 131/149/7 132/152/7 124/151/7 +f 132/152/7 133/212/7 125/153/7 +f 125/154/7 133/213/7 134/155/7 +f 126/156/7 134/155/7 135/142/7 +f 138/159/7 137/214/7 139/215/7 +f 139/215/7 140/216/7 141/157/7 +f 141/157/7 142/217/7 143/158/7 +f 143/158/7 144/218/7 138/159/7 +f 138/159/7 139/215/7 141/157/7 +f 158/160/3 166/175/3 167/161/3 +f 159/162/3 167/161/3 168/163/3 +f 160/164/3 168/163/3 161/165/3 +f 161/165/3 162/168/3 154/167/3 +f 162/168/3 163/170/3 155/169/3 +f 163/170/3 164/172/3 156/171/3 +f 164/172/3 165/219/3 157/173/3 +f 157/174/3 165/220/3 166/175/3 +f 171/177/3 169/221/3 170/222/3 +f 170/222/3 176/223/3 171/177/3 +f 176/223/3 175/178/3 171/177/3 +f 175/178/3 174/224/3 173/225/3 +f 173/225/3 172/176/3 175/178/3 +f 401/179/12 406/183/12 408/180/12 +f 402/182/4 405/186/4 406/183/4 +f 404/185/13 407/189/13 405/186/13 +f 404/188/2 403/226/2 408/180/2 +s 1 +f 120/227/5 135/142/4 119/228/4 +f 118/229/6 133/213/1 117/230/1 +f 116/231/8 131/149/2 115/232/2 +f 114/233/10 129/211/9 113/234/9 +f 113/234/9 136/145/5 120/227/5 +f 119/228/4 134/155/6 118/229/6 +f 117/235/1 132/152/8 116/231/8 +f 115/232/2 130/147/10 114/233/10 +f 122/148/6 138/236/1 121/146/1 +f 121/146/1 144/237/8 128/143/8 +f 127/144/2 142/238/10 126/156/10 +f 125/153/9 140/239/5 124/151/5 +f 123/150/4 137/240/6 122/148/6 +f 128/143/8 143/241/2 127/144/2 +f 126/156/10 141/242/9 125/154/9 +f 124/151/5 139/243/4 123/150/4 +f 160/164/5 145/244/9 152/245/5 +f 158/160/6 151/246/4 150/247/6 +f 156/171/8 149/248/1 148/249/8 +f 154/167/10 147/250/2 146/251/10 +f 159/162/4 152/245/5 151/246/4 +f 157/174/1 150/247/6 149/252/1 +f 155/169/2 148/249/8 147/250/2 +f 153/166/9 146/251/10 145/244/9 +f 166/175/10 175/253/2 167/161/2 +f 164/172/5 173/254/9 165/219/9 +f 162/168/6 171/255/4 163/170/4 +f 167/161/2 176/256/8 168/163/8 +f 165/220/9 174/257/10 166/175/10 +f 163/170/4 172/258/5 164/172/5 +f 161/165/1 169/259/6 162/168/6 +f 168/163/8 170/260/1 161/165/1 +f 181/261/14 237/262/15 241/263/16 +f 246/264/17 181/265/14 185/266/18 +f 186/267/19 242/268/20 246/264/17 +f 178/269/21 242/268/20 182/270/22 +f 238/271/23 181/265/14 242/268/20 +f 247/272/24 182/270/22 186/267/19 +f 187/273/25 243/274/26 247/272/24 +f 179/275/27 243/274/26 183/276/28 +f 239/277/29 182/270/22 243/274/26 +f 187/273/25 244/278/30 183/276/28 +f 184/279/31 248/280/32 188/281/33 +f 184/279/31 240/282/34 244/278/30 +f 244/278/30 179/275/27 183/276/28 +f 188/281/33 241/263/16 184/279/31 +f 185/283/18 249/284/35 189/285/36 +f 181/261/14 245/286/37 185/283/18 +f 180/287/38 241/263/16 237/262/15 +f 189/288/36 246/264/17 185/266/18 +f 190/289/39 246/264/17 250/290/40 +f 251/291/41 186/267/19 190/289/39 +f 191/292/42 247/272/24 251/291/41 +f 252/293/43 187/273/25 191/292/42 +f 192/294/44 248/280/32 252/293/43 +f 192/294/44 245/286/37 188/281/33 +f 189/285/36 253/295/45 193/296/46 +f 193/297/46 250/290/40 189/288/36 +f 190/289/39 254/298/47 194/299/48 +f 194/299/48 251/291/41 190/289/39 +f 195/300/49 251/291/41 255/301/50 +f 256/302/51 191/292/42 195/300/49 +f 196/303/52 252/293/43 256/302/51 +f 253/295/45 192/294/44 196/303/52 +f 346/304/53 193/297/46 257/305/54 +f 258/306/55 254/298/47 346/304/53 +f 347/307/56 194/299/48 258/306/55 +f 195/300/49 347/307/56 259/308/57 +f 256/302/51 259/308/57 348/309/58 +f 196/303/52 348/309/58 260/310/59 +f 253/295/45 260/310/59 345/311/60 +f 257/312/54 253/295/45 345/311/60 +f 257/312/54 349/313/61 261/314/62 +f 262/315/63 346/304/53 350/316/64 +f 259/308/57 351/317/65 263/318/66 +f 350/316/64 257/305/54 261/319/62 +f 260/310/59 352/320/67 264/321/68 +f 351/317/65 258/306/55 262/315/63 +f 200/322/69 282/323/70 268/324/71 +f 348/309/58 263/318/66 352/320/67 +f 345/311/60 264/321/68 349/313/61 +f 356/325/72 199/326/73 371/327/74 +f 212/328/75 268/324/71 288/329/76 +f 353/330/77 197/331/78 209/332/79 +f 197/331/78 282/323/70 209/332/79 +f 210/333/80 265/334/81 197/331/78 +f 354/335/82 198/336/83 210/333/80 +f 200/322/69 353/330/77 209/332/79 +f 198/336/83 284/337/84 210/333/80 +f 211/338/85 266/339/86 198/336/83 +f 371/327/74 211/338/85 355/340/87 +f 369/341/88 210/333/80 197/331/78 +f 261/314/62 273/342/89 201/343/90 +f 199/326/73 288/344/76 267/345/91 +f 372/346/92 212/328/75 356/347/72 +f 370/348/93 211/338/85 198/336/83 +f 205/349/94 275/350/95 201/351/90 +f 202/352/96 283/353/97 206/354/98 +f 202/352/96 350/316/64 275/350/95 +f 350/316/64 201/351/90 275/350/95 +f 206/354/98 277/355/99 202/352/96 +f 203/356/100 285/357/101 207/358/102 +f 203/356/100 351/317/65 277/355/99 +f 277/355/99 262/315/63 202/352/96 +f 287/359/103 203/356/100 207/358/102 +f 208/360/104 279/361/105 287/359/103 +f 264/321/68 279/361/105 204/362/106 +f 352/320/67 203/356/100 279/361/105 +f 281/363/107 204/362/106 208/360/104 +f 295/364/108 271/365/109 375/366/110 +f 205/367/94 273/342/89 281/363/107 +f 349/313/61 204/362/106 273/342/89 +f 358/368/111 205/349/94 290/369/112 +f 292/370/113 283/353/97 358/368/111 +f 268/324/71 289/371/114 376/372/115 +f 288/329/76 376/372/115 295/373/108 +f 359/374/116 206/354/98 292/370/113 +f 294/375/117 285/357/101 359/374/116 +f 211/338/85 267/345/91 286/376/118 +f 284/337/84 373/377/119 265/334/81 +f 287/359/103 294/375/117 360/378/120 +f 208/360/104 360/378/120 296/379/121 +f 282/323/70 373/377/119 289/371/114 +f 286/376/118 374/380/122 266/339/86 +f 281/363/107 296/379/121 357/381/123 +f 358/368/111 298/382/124 386/383/125 +f 266/339/86 291/384/126 284/337/84 +f 267/345/91 295/364/108 375/366/110 +f 269/385/127 229/386/128 381/387/129 +f 272/388/130 232/389/131 384/390/132 +f 289/371/114 269/385/127 381/387/129 +f 267/345/91 293/391/133 286/376/118 +f 382/392/134 214/393/135 230/394/136 +f 216/395/137 381/387/129 229/386/128 +f 374/380/122 382/392/134 291/384/126 +f 376/372/115 381/387/129 272/388/130 +f 383/396/138 215/397/139 231/398/140 +f 382/392/134 213/399/141 269/385/127 +f 375/366/110 383/396/138 293/391/133 +f 373/377/119 382/392/134 269/385/127 +f 205/367/94 357/381/123 290/400/112 +f 270/401/142 231/398/140 214/393/135 +f 295/373/108 272/388/130 384/390/132 +f 293/391/133 270/401/142 374/380/122 +f 359/374/116 300/402/143 387/403/144 +f 298/404/124 357/381/123 385/405/145 +f 271/365/109 232/406/131 215/397/139 +f 380/407/146 321/408/147 217/409/148 +f 388/410/149 294/375/117 302/411/150 +f 292/370/113 386/383/125 300/402/143 +f 232/389/131 303/412/151 324/413/152 +f 321/408/147 216/395/137 229/386/128 +f 296/379/121 385/405/145 357/381/123 +f 294/375/117 387/403/144 302/411/150 +f 322/414/153 377/415/154 297/416/155 +f 297/416/155 217/409/148 321/408/147 +f 300/402/143 362/417/156 316/418/157 +f 304/419/158 360/378/120 388/410/149 +f 229/386/128 297/416/155 321/408/147 +f 322/414/153 213/399/141 230/394/136 +f 302/411/150 363/420/159 318/421/160 +f 362/417/156 298/382/124 314/422/161 +f 299/423/162 219/424/163 378/425/164 +f 322/414/153 378/425/164 218/426/165 +f 320/427/166 388/410/149 364/428/167 +f 387/403/144 316/418/157 363/420/159 +f 214/393/135 322/414/153 230/394/136 +f 231/398/140 299/423/162 214/393/135 +f 332/429/168 362/417/156 366/430/169 +f 388/410/149 318/421/160 364/428/167 +f 324/431/152 379/432/170 301/433/171 +f 323/434/172 379/432/170 219/424/163 +f 224/435/173 308/436/174 328/437/175 +f 304/419/158 361/438/176 385/405/145 +f 215/397/139 323/434/172 231/398/140 +f 232/406/131 301/433/171 215/397/139 +f 274/439/177 325/440/178 221/441/179 +f 380/407/146 224/435/173 220/442/180 +f 303/412/151 220/442/180 324/413/152 +f 280/443/181 217/409/148 221/441/179 +f 276/444/182 326/445/183 222/446/184 +f 308/436/174 221/441/179 325/440/178 +f 218/426/165 274/439/177 377/415/154 +f 378/425/164 223/447/185 276/444/182 +f 223/447/185 307/448/186 327/449/187 +f 222/446/184 305/450/188 274/439/177 +f 377/415/154 221/441/179 217/409/148 +f 379/432/170 224/451/173 278/452/189 +f 314/453/161 385/405/145 361/438/176 +f 276/444/182 327/449/187 306/454/190 +f 378/425/164 222/446/184 218/426/165 +f 219/424/163 278/452/189 223/447/185 +f 318/421/160 367/455/191 334/456/192 +f 366/430/169 314/422/161 330/457/193 +f 278/452/189 328/458/175 307/448/186 +f 329/459/194 308/436/174 325/440/178 +f 320/427/166 368/460/195 336/461/196 +f 363/420/159 332/429/168 367/455/191 +f 325/440/178 309/462/197 329/459/194 +f 331/463/198 305/450/188 326/445/183 +f 366/430/169 338/464/199 398/465/200 +f 364/428/167 334/456/192 368/460/195 +f 326/445/183 310/466/201 331/463/198 +f 327/449/187 310/466/201 306/454/190 +f 319/467/202 236/468/14 396/469/203 +f 320/427/166 365/470/204 361/438/176 +f 307/448/186 333/471/205 327/449/187 +f 328/458/175 311/472/206 307/448/186 +f 393/473/207 392/474/20 319/467/202 +f 392/474/20 337/475/21 228/476/23 +f 308/436/174 335/477/208 328/437/175 +f 329/459/194 319/467/202 312/478/209 +f 233/479/22 225/480/29 337/475/21 +f 312/478/209 396/469/203 335/477/208 +f 329/459/194 313/481/210 393/473/207 +f 394/482/211 309/462/197 331/463/198 +f 394/482/211 389/483/26 313/481/210 +f 389/483/26 339/484/27 225/480/29 +f 331/463/198 315/485/212 394/482/211 +f 395/486/213 310/466/201 333/471/205 +f 330/487/193 361/438/176 365/470/204 +f 313/481/210 233/479/22 393/473/207 +f 333/471/205 317/488/214 395/486/213 +f 335/489/208 317/488/214 311/472/206 +f 399/490/215 332/429/168 340/491/216 +f 330/487/193 397/492/217 338/493/199 +f 235/494/31 226/495/34 390/496/30 +f 390/496/30 339/484/27 234/497/28 +f 400/498/218 334/456/192 342/499/219 +f 332/429/168 398/465/200 340/491/216 +f 394/482/211 390/496/30 234/497/28 +f 235/494/31 315/485/212 395/486/213 +f 365/470/204 344/500/220 397/492/217 +f 342/499/219 367/455/191 399/490/215 +f 236/501/14 227/502/15 391/503/16 +f 391/503/16 341/504/38 235/494/31 +f 236/468/14 228/476/23 343/505/221 +f 344/500/220 368/460/195 400/498/218 +f 395/486/213 391/503/16 235/494/31 +f 236/501/14 317/488/214 396/506/203 +f 120/227/5 136/145/5 135/142/4 +f 118/229/6 134/155/6 133/213/1 +f 116/231/8 132/152/8 131/149/2 +f 114/233/10 130/147/10 129/211/9 +f 113/234/9 129/211/9 136/145/5 +f 119/228/4 135/142/4 134/155/6 +f 117/235/1 133/212/1 132/152/8 +f 115/232/2 131/149/2 130/147/10 +f 122/148/6 137/240/6 138/236/1 +f 121/146/1 138/236/1 144/237/8 +f 127/144/2 143/241/2 142/238/10 +f 125/153/9 141/507/9 140/239/5 +f 123/150/4 139/243/4 137/240/6 +f 128/143/8 144/237/8 143/241/2 +f 126/156/10 142/238/10 141/242/9 +f 124/151/5 140/239/5 139/243/4 +f 160/164/5 153/166/9 145/244/9 +f 158/160/6 159/162/4 151/246/4 +f 156/171/8 157/173/1 149/248/1 +f 154/167/10 155/169/2 147/250/2 +f 159/162/4 160/164/5 152/245/5 +f 157/174/1 158/160/6 150/247/6 +f 155/169/2 156/171/8 148/249/8 +f 153/166/9 154/167/10 146/251/10 +f 166/175/10 174/257/10 175/253/2 +f 164/172/5 172/258/5 173/254/9 +f 162/168/6 169/259/6 171/255/4 +f 167/161/2 175/253/2 176/256/8 +f 165/220/9 173/508/9 174/257/10 +f 163/170/4 171/255/4 172/258/5 +f 161/165/1 170/260/1 169/259/6 +f 168/163/8 176/256/8 170/260/1 +f 181/261/14 177/509/221 237/262/15 +f 246/264/17 242/268/20 181/265/14 +f 186/267/19 182/270/22 242/268/20 +f 178/269/21 238/271/23 242/268/20 +f 238/271/23 177/510/221 181/265/14 +f 247/272/24 243/274/26 182/270/22 +f 187/273/25 183/276/28 243/274/26 +f 179/275/27 239/277/29 243/274/26 +f 239/277/29 178/269/21 182/270/22 +f 187/273/25 248/280/32 244/278/30 +f 184/279/31 244/278/30 248/280/32 +f 184/279/31 180/287/38 240/282/34 +f 244/278/30 240/282/34 179/275/27 +f 188/281/33 245/286/37 241/263/16 +f 185/283/18 245/286/37 249/284/35 +f 181/261/14 241/263/16 245/286/37 +f 180/287/38 184/279/31 241/263/16 +f 189/288/36 250/290/40 246/264/17 +f 190/289/39 186/267/19 246/264/17 +f 251/291/41 247/272/24 186/267/19 +f 191/292/42 187/273/25 247/272/24 +f 252/293/43 248/280/32 187/273/25 +f 192/294/44 188/281/33 248/280/32 +f 192/294/44 249/284/35 245/286/37 +f 189/285/36 249/284/35 253/295/45 +f 193/297/46 254/298/47 250/290/40 +f 190/289/39 250/290/40 254/298/47 +f 194/299/48 255/301/50 251/291/41 +f 195/300/49 191/292/42 251/291/41 +f 256/302/51 252/293/43 191/292/42 +f 196/303/52 192/294/44 252/293/43 +f 253/295/45 249/284/35 192/294/44 +f 346/304/53 254/298/47 193/297/46 +f 258/306/55 194/299/48 254/298/47 +f 347/307/56 255/301/50 194/299/48 +f 195/300/49 255/301/50 347/307/56 +f 256/302/51 195/300/49 259/308/57 +f 196/303/52 256/302/51 348/309/58 +f 253/295/45 196/303/52 260/310/59 +f 257/312/54 193/296/46 253/295/45 +f 257/312/54 345/311/60 349/313/61 +f 262/315/63 258/306/55 346/304/53 +f 259/308/57 347/307/56 351/317/65 +f 350/316/64 346/304/53 257/305/54 +f 260/310/59 348/309/58 352/320/67 +f 351/317/65 347/307/56 258/306/55 +f 200/322/69 209/332/79 282/323/70 +f 348/309/58 259/308/57 263/318/66 +f 345/311/60 260/310/59 264/321/68 +f 356/325/72 212/511/75 199/326/73 +f 212/328/75 200/322/69 268/324/71 +f 353/330/77 369/341/88 197/331/78 +f 197/331/78 265/334/81 282/323/70 +f 210/333/80 284/337/84 265/334/81 +f 354/335/82 370/348/93 198/336/83 +f 200/322/69 372/346/92 353/330/77 +f 198/336/83 266/339/86 284/337/84 +f 211/338/85 286/376/118 266/339/86 +f 371/327/74 199/326/73 211/338/85 +f 369/341/88 354/335/82 210/333/80 +f 261/314/62 349/313/61 273/342/89 +f 199/326/73 212/511/75 288/344/76 +f 372/346/92 200/322/69 212/328/75 +f 370/348/93 355/340/87 211/338/85 +f 205/349/94 283/353/97 275/350/95 +f 202/352/96 275/350/95 283/353/97 +f 202/352/96 262/315/63 350/316/64 +f 350/316/64 261/319/62 201/351/90 +f 206/354/98 285/357/101 277/355/99 +f 203/356/100 277/355/99 285/357/101 +f 203/356/100 263/318/66 351/317/65 +f 277/355/99 351/317/65 262/315/63 +f 287/359/103 279/361/105 203/356/100 +f 208/360/104 204/362/106 279/361/105 +f 264/321/68 352/320/67 279/361/105 +f 352/320/67 263/318/66 203/356/100 +f 281/363/107 273/342/89 204/362/106 +f 295/364/108 384/512/132 271/365/109 +f 205/367/94 201/343/90 273/342/89 +f 349/313/61 264/321/68 204/362/106 +f 358/368/111 283/353/97 205/349/94 +f 292/370/113 206/354/98 283/353/97 +f 268/324/71 282/323/70 289/371/114 +f 288/329/76 268/324/71 376/372/115 +f 359/374/116 285/357/101 206/354/98 +f 294/375/117 207/358/102 285/357/101 +f 211/338/85 199/326/73 267/345/91 +f 284/337/84 291/384/126 373/377/119 +f 287/359/103 207/358/102 294/375/117 +f 208/360/104 287/359/103 360/378/120 +f 282/323/70 265/334/81 373/377/119 +f 286/376/118 293/391/133 374/380/122 +f 281/363/107 208/360/104 296/379/121 +f 358/368/111 290/369/112 298/382/124 +f 266/339/86 374/380/122 291/384/126 +f 267/345/91 288/344/76 295/364/108 +f 269/385/127 213/399/141 229/386/128 +f 272/388/130 216/395/137 232/389/131 +f 289/371/114 373/377/119 269/385/127 +f 267/345/91 375/366/110 293/391/133 +f 382/392/134 270/401/142 214/393/135 +f 216/395/137 272/388/130 381/387/129 +f 374/380/122 270/401/142 382/392/134 +f 376/372/115 289/371/114 381/387/129 +f 383/396/138 271/365/109 215/397/139 +f 382/392/134 230/394/136 213/399/141 +f 375/366/110 271/365/109 383/396/138 +f 373/377/119 291/384/126 382/392/134 +f 205/367/94 281/363/107 357/381/123 +f 270/401/142 383/396/138 231/398/140 +f 295/373/108 376/372/115 272/388/130 +f 293/391/133 383/396/138 270/401/142 +f 359/374/116 292/370/113 300/402/143 +f 298/404/124 290/400/112 357/381/123 +f 271/365/109 384/512/132 232/406/131 +f 380/407/146 303/412/151 321/408/147 +f 388/410/149 360/378/120 294/375/117 +f 292/370/113 358/368/111 386/383/125 +f 232/389/131 216/395/137 303/412/151 +f 321/408/147 303/412/151 216/395/137 +f 296/379/121 304/419/158 385/405/145 +f 294/375/117 359/374/116 387/403/144 +f 322/414/153 218/426/165 377/415/154 +f 297/416/155 377/415/154 217/409/148 +f 300/402/143 386/383/125 362/417/156 +f 304/419/158 296/379/121 360/378/120 +f 229/386/128 213/399/141 297/416/155 +f 322/414/153 297/416/155 213/399/141 +f 302/411/150 387/403/144 363/420/159 +f 362/417/156 386/383/125 298/382/124 +f 299/423/162 323/434/172 219/424/163 +f 322/414/153 299/423/162 378/425/164 +f 320/427/166 304/419/158 388/410/149 +f 387/403/144 300/402/143 316/418/157 +f 214/393/135 299/423/162 322/414/153 +f 231/398/140 323/434/172 299/423/162 +f 332/429/168 316/418/157 362/417/156 +f 388/410/149 302/411/150 318/421/160 +f 324/431/152 220/513/180 379/432/170 +f 323/434/172 301/433/171 379/432/170 +f 224/435/173 280/443/181 308/436/174 +f 304/419/158 320/427/166 361/438/176 +f 215/397/139 301/433/171 323/434/172 +f 232/406/131 324/431/152 301/433/171 +f 274/439/177 305/450/188 325/440/178 +f 380/407/146 280/443/181 224/435/173 +f 303/412/151 380/407/146 220/442/180 +f 280/443/181 380/407/146 217/409/148 +f 276/444/182 306/454/190 326/445/183 +f 308/436/174 280/443/181 221/441/179 +f 218/426/165 222/446/184 274/439/177 +f 378/425/164 219/424/163 223/447/185 +f 223/447/185 278/452/189 307/448/186 +f 222/446/184 326/445/183 305/450/188 +f 377/415/154 274/439/177 221/441/179 +f 379/432/170 220/513/180 224/451/173 +f 314/453/161 298/404/124 385/405/145 +f 276/444/182 223/447/185 327/449/187 +f 378/425/164 276/444/182 222/446/184 +f 219/424/163 379/432/170 278/452/189 +f 318/421/160 363/420/159 367/455/191 +f 366/430/169 362/417/156 314/422/161 +f 278/452/189 224/451/173 328/458/175 +f 329/459/194 312/478/209 308/436/174 +f 320/427/166 364/428/167 368/460/195 +f 363/420/159 316/418/157 332/429/168 +f 325/440/178 305/450/188 309/462/197 +f 331/463/198 309/462/197 305/450/188 +f 366/430/169 330/457/193 338/464/199 +f 364/428/167 318/421/160 334/456/192 +f 326/445/183 306/454/190 310/466/201 +f 327/449/187 333/471/205 310/466/201 +f 319/467/202 392/474/20 236/468/14 +f 320/427/166 336/461/196 365/470/204 +f 307/448/186 311/472/206 333/471/205 +f 328/458/175 335/489/208 311/472/206 +f 393/473/207 233/479/22 392/474/20 +f 392/474/20 233/479/22 337/475/21 +f 308/436/174 312/478/209 335/477/208 +f 329/459/194 393/473/207 319/467/202 +f 233/479/22 389/483/26 225/480/29 +f 312/478/209 319/467/202 396/469/203 +f 329/459/194 309/462/197 313/481/210 +f 394/482/211 313/481/210 309/462/197 +f 394/482/211 234/497/28 389/483/26 +f 389/483/26 234/497/28 339/484/27 +f 331/463/198 310/466/201 315/485/212 +f 395/486/213 315/485/212 310/466/201 +f 330/487/193 314/453/161 361/438/176 +f 313/481/210 389/483/26 233/479/22 +f 333/471/205 311/472/206 317/488/214 +f 335/489/208 396/506/203 317/488/214 +f 399/490/215 367/455/191 332/429/168 +f 330/487/193 365/470/204 397/492/217 +f 235/494/31 341/504/38 226/495/34 +f 390/496/30 226/495/34 339/484/27 +f 400/498/218 368/460/195 334/456/192 +f 332/429/168 366/430/169 398/465/200 +f 394/482/211 315/485/212 390/496/30 +f 235/494/31 390/496/30 315/485/212 +f 365/470/204 336/461/196 344/500/220 +f 342/499/219 334/456/192 367/455/191 +f 236/501/14 343/514/221 227/502/15 +f 391/503/16 227/502/15 341/504/38 +f 236/468/14 392/474/20 228/476/23 +f 344/500/220 336/461/196 368/460/195 +f 395/486/213 317/488/214 391/503/16 +f 236/501/14 391/503/16 317/488/214 +o Stock +v -0.500000 1.187500 -9.750000 +v -0.250000 1.437500 -9.750000 +v -0.250000 1.437500 -4.750000 +v -0.500000 1.187500 -4.750000 +v 0.500000 1.187500 -4.750000 +v 0.250000 1.437500 -4.750000 +v 0.250000 1.437500 -9.750000 +v 0.500000 1.187500 -9.750000 +v -0.250000 -1.062500 -9.750000 +v -0.500000 -0.812500 -9.750000 +v 0.500000 0.687500 -4.750000 +v -0.250000 0.437500 -4.750000 +v 0.250000 0.437500 -4.750000 +v -0.500000 0.687500 -4.750000 +v 0.500000 -0.812500 -9.750000 +v 0.250000 -1.062500 -9.750000 +v -0.500000 -0.802500 -8.250000 +v -0.250000 -1.062500 -8.250000 +v 0.250000 -1.062500 -8.250000 +v 0.500000 -0.812500 -8.250000 +v -0.500000 0.687500 -9.500000 +v -0.500000 -0.312500 -9.500000 +v 0.500000 0.687500 -9.500000 +v 0.500000 -0.312500 -9.500000 +vt 0.769231 0.018868 +vt 0.876923 0.056604 +vt 0.769231 0.056604 +vt 0.992308 0.301887 +vt 1.000000 0.245283 +vt 1.000000 0.283019 +vt 0.923077 0.000000 +vt 0.876923 0.018868 +vt 0.876923 0.000000 +vt 0.923077 0.283019 +vt 0.769231 0.301887 +vt 0.769231 0.283019 +vt 0.923077 0.226415 +vt 0.769231 0.245283 +vt 0.769231 0.226415 +vt 0.876923 0.075472 +vt 0.769231 0.075472 +vt 0.915385 0.113208 +vt 0.923077 0.075472 +vt 0.923077 0.056604 +vt 0.930769 0.301887 +vt 0.923077 0.245283 +vt 0.930769 0.226415 +vt 0.946154 0.301887 +vt 0.946154 0.226415 +vt 0.976923 0.226415 +vt 0.992308 0.226415 +vt 0.976923 0.301887 +vt 0.915385 0.339623 +vt 0.876923 0.452830 +vt 0.915385 0.188679 +vt 0.915385 0.415094 +vt 0.923077 0.452830 +vt 0.923077 0.018868 +vt 0.923077 0.301887 +vt 0.769231 0.000000 +vt 0.769231 0.339623 +vt 0.769231 0.188679 +vn -0.3936 -0.8453 0.3612 +vn 0.3627 -0.9141 0.1815 +vn 0.3929 -0.8452 0.3622 +vn 0.0000 0.3054 -0.9522 +vn 0.0000 0.0000 -1.0000 +vn -0.8941 -0.4478 0.0004 +vn -0.3703 -0.9109 0.1819 +vn -0.9078 -0.4085 0.0944 +vn -0.3827 0.9239 0.0000 +vn -0.9239 0.3827 0.0000 +vn 0.8941 0.4478 0.0000 +vn 0.3827 0.9239 0.0000 +vn 0.9239 0.3827 0.0000 +vn 0.9032 -0.4186 0.0951 +vn 0.9487 -0.2905 0.1245 +vn 1.0000 0.0000 0.0000 +vn 0.8941 -0.4478 0.0000 +vn 0.3827 -0.9239 0.0000 +vn 0.0000 -0.3054 -0.9522 +vn 0.0000 -0.2298 -0.9732 +vn 0.0000 0.2298 -0.9732 +vn -1.0000 0.0000 0.0000 vn -0.3827 -0.9239 0.0000 vn -0.8941 0.4478 0.0000 vn -0.9486 -0.2911 0.1239 -s off -f 1/1/1 142/2/1 2/3/1 -f 7/4/2 5/5/2 6/6/2 -f 3/7/3 8/8/3 4/9/3 -f 33/10/4 6/11/4 34/12/4 -f 4/9/1 139/13/1 3/14/1 -f 141/15/3 146/16/3 142/2/3 -f 25/17/5 27/18/5 29/19/5 -f 2/3/5 34/12/5 1/20/5 -f 41/21/5 43/22/5 35/23/5 -f 72/24/6 64/25/6 69/26/6 -f 69/26/3 73/27/3 70/28/3 -f 68/29/7 66/30/7 77/31/7 -f 62/32/2 63/33/2 61/34/2 -f 70/28/7 74/35/7 71/36/7 -f 66/30/8 67/37/8 63/33/8 -f 76/38/1 60/39/1 59/40/1 -f 68/29/3 75/41/3 67/42/3 -f 72/24/1 70/28/1 71/36/1 -f 78/43/9 76/38/9 75/44/9 -f 76/45/6 59/46/6 63/33/6 -f 126/47/1 127/48/1 120/49/1 -f 404/50/10 405/51/10 403/52/10 -f 131/53/1 134/54/1 132/55/1 -f 131/56/6 137/57/6 133/58/6 -f 134/54/7 136/59/7 132/55/7 -f 137/57/2 136/59/2 138/60/2 -f 140/61/5 143/62/5 139/13/5 -f 146/63/1 143/64/1 144/65/1 -f 34/66/6 6/6/6 145/67/6 -f 4/9/7 8/8/7 144/68/7 -f 148/69/1 149/70/1 147/71/1 -f 153/72/6 160/73/6 152/74/6 -f 148/69/7 158/75/7 150/76/7 -f 147/71/3 155/77/3 148/69/3 -f 149/70/6 156/78/6 147/71/6 -f 150/76/5 157/79/5 149/70/5 -f 151/80/2 156/81/2 152/82/2 -f 153/83/2 158/75/2 154/84/2 -f 154/84/2 155/85/2 151/80/2 -f 152/82/2 157/86/2 153/83/2 -f 161/87/2 159/88/2 160/89/2 -f 154/90/5 161/91/5 153/92/5 -f 151/93/7 162/94/7 154/90/7 -f 152/74/3 159/88/3 151/93/3 -f 173/95/2 171/96/2 172/97/2 -f 177/98/2 175/99/2 176/100/2 -f 166/101/7 173/95/7 164/102/7 -f 163/103/6 171/96/6 165/104/6 -f 169/105/3 178/106/3 170/107/3 -f 168/108/5 176/100/5 167/109/5 -f 165/110/3 174/111/3 166/112/3 -f 164/113/5 172/97/5 163/114/5 -f 170/115/7 177/98/7 168/116/7 -f 167/117/6 175/99/6 169/118/6 -f 197/119/5 199/120/5 192/121/5 -f 183/122/5 185/123/5 187/124/5 -f 249/125/5 239/126/5 243/127/5 -f 263/128/7 265/129/7 259/130/7 -f 65/131/11 371/132/11 64/25/11 -f 73/133/12 374/134/12 74/35/12 -f 64/135/3 373/136/3 73/27/3 -f 376/137/2 384/138/2 381/139/2 -f 384/138/5 377/140/5 385/141/5 -f 382/142/7 386/143/7 379/144/7 -f 380/145/1 378/146/1 375/147/1 -f 382/142/13 384/138/13 383/148/13 -f 386/149/12 380/145/12 379/150/12 -f 382/151/3 379/152/3 380/153/3 -f 396/154/5 400/155/5 388/156/5 -f 391/157/3 389/158/3 397/159/3 -f 404/160/6 410/161/6 406/162/6 -f 403/163/7 409/164/7 407/165/7 -f 406/162/1 409/164/1 405/51/1 -f 413/166/1 412/167/1 411/168/1 -f 425/169/6 421/170/6 423/171/6 -f 413/172/3 423/173/3 415/174/3 -f 424/175/7 419/176/7 426/177/7 -f 420/178/13 418/179/13 419/176/13 -f 436/180/1 440/181/1 435/182/1 -f 414/183/12 426/177/12 412/184/12 -f 412/185/5 426/186/5 418/179/5 -f 411/168/11 423/171/11 413/166/11 -f 418/179/2 415/174/2 417/187/2 -f 422/188/14 415/174/14 421/170/14 -f 431/189/7 434/190/7 432/191/7 -f 428/192/1 432/191/1 427/193/1 -f 429/194/3 431/189/3 428/195/3 -f 430/196/2 433/197/2 429/198/2 -f 427/199/5 434/190/5 430/200/5 -f 437/201/3 439/202/3 436/180/3 -f 438/203/2 441/204/2 437/201/2 -f 435/182/5 442/205/5 438/203/5 -f 438/203/6 436/180/6 435/182/6 -f 453/206/3 448/207/3 447/208/3 -f 444/209/5 451/210/5 443/211/5 -f 448/212/3 458/213/3 449/214/3 -f 457/215/5 444/216/5 445/217/5 -f 450/218/3 453/206/3 447/219/3 -f 451/210/5 446/220/5 443/221/5 -f 460/222/3 456/223/3 450/224/3 -f 455/225/5 459/226/5 446/227/5 -f 466/228/3 449/229/3 458/213/3 -f 445/230/5 465/231/5 457/215/5 -f 457/215/7 466/228/7 458/213/7 -f 454/232/15 457/215/15 458/213/15 -f 452/233/2 453/206/2 451/210/2 -f 455/225/14 453/206/14 456/223/14 -f 461/234/6 456/223/6 462/235/6 -f 477/236/3 472/237/3 471/238/3 -f 468/239/5 475/240/5 467/241/5 -f 472/242/3 482/243/3 473/244/3 -f 481/245/5 468/246/5 469/247/5 -f 474/248/3 477/236/3 471/249/3 -f 475/240/5 470/250/5 467/251/5 -f 484/252/3 480/253/3 474/254/3 -f 479/255/5 483/256/5 470/257/5 -f 490/258/3 473/259/3 482/243/3 -f 469/260/5 489/261/5 481/245/5 -f 481/245/7 490/258/7 482/243/7 -f 478/262/15 481/245/15 482/243/15 -f 476/263/2 477/236/2 475/240/2 -f 479/255/14 477/236/14 480/253/14 -f 485/264/6 480/253/6 486/265/6 -f 497/266/3 496/267/3 493/268/3 -f 495/269/3 499/270/3 494/271/3 -f 492/272/3 501/273/3 491/274/3 -f 494/275/3 502/276/3 492/277/3 -f 501/273/3 493/278/3 491/279/3 -f 508/280/5 509/281/5 505/282/5 -f 511/283/5 507/284/5 506/285/5 -f 513/286/5 504/287/5 503/288/5 -f 514/289/5 506/290/5 504/291/5 -f 505/292/5 513/286/5 503/293/5 -f 502/276/1 513/286/1 501/273/1 -f 499/270/12 514/289/12 502/276/12 -f 500/294/7 511/283/7 499/270/7 -f 513/286/11 497/266/11 501/273/11 -f 509/281/6 498/295/6 497/266/6 -f 515/296/16 522/297/16 517/298/16 -f 516/299/7 520/300/7 515/301/7 -f 518/302/17 519/303/17 516/304/17 -f 518/305/6 522/297/6 521/306/6 -f 545/307/5 538/308/5 537/309/5 -f 546/310/5 531/311/5 538/308/5 -f 531/311/5 540/312/5 532/313/5 -f 532/313/5 541/314/5 533/315/5 -f 541/314/5 534/316/5 533/315/5 -f 542/317/5 535/318/5 534/316/5 -f 535/319/5 544/320/5 536/321/5 -f 536/321/5 545/307/5 537/309/5 -f 551/322/5 553/323/5 548/324/5 -f 568/325/3 577/326/3 569/327/3 -f 569/327/3 578/328/3 570/329/3 -f 570/329/3 571/330/3 563/331/3 -f 571/330/3 564/332/3 563/331/3 -f 572/333/3 565/334/3 564/332/3 -f 573/335/3 566/336/3 565/334/3 -f 574/337/3 567/338/3 566/336/3 -f 567/339/3 576/340/3 568/325/3 -f 582/341/3 581/342/3 585/343/3 -f 811/344/16 818/345/16 813/346/16 -f 812/347/7 816/348/7 811/349/7 -f 814/350/17 815/351/17 812/352/17 -f 814/353/6 818/345/6 817/354/6 -f 828/355/2 820/356/2 825/357/2 -f 827/358/5 830/359/5 829/360/5 -f 830/361/6 826/362/6 823/363/6 -f 822/364/1 824/365/1 819/366/1 -f 828/355/14 826/362/14 827/367/14 -f 824/365/11 830/368/11 823/369/11 -f 825/357/3 820/356/3 824/370/3 -f 832/371/2 840/372/2 837/373/2 -f 840/372/5 833/374/5 841/375/5 -f 838/376/7 842/377/7 835/378/7 -f 836/379/1 834/380/1 831/381/1 -f 838/376/13 840/372/13 839/382/13 -f 842/383/12 836/379/12 835/384/12 -f 838/385/3 835/386/3 836/387/3 -f 852/388/2 844/389/2 849/390/2 -f 851/391/5 854/392/5 853/393/5 -f 854/394/6 850/395/6 847/396/6 -f 846/397/1 848/398/1 843/399/1 -f 852/388/14 850/395/14 851/400/14 -f 848/398/11 854/401/11 847/402/11 -f 849/390/3 844/389/3 848/403/3 -f 864/404/5 868/405/5 856/406/5 -f 859/407/3 857/408/3 865/409/3 -f 885/410/6 883/411/6 881/412/6 -f 1/1/1 141/15/1 142/2/1 -f 7/4/2 8/8/2 5/5/2 -f 3/7/3 5/413/3 8/8/3 -f 33/10/4 7/414/4 6/11/4 -f 4/9/1 140/61/1 139/13/1 -f 141/15/3 145/415/3 146/16/3 -f 21/416/5 22/417/5 23/418/5 -f 23/418/5 24/419/5 25/17/5 -f 25/17/5 26/420/5 27/18/5 -f 27/18/5 28/421/5 29/19/5 -f 29/19/5 30/422/5 31/423/5 -f 31/423/5 32/424/5 29/19/5 -f 32/424/5 21/416/5 29/19/5 -f 21/416/5 23/418/5 29/19/5 -f 23/418/5 25/17/5 29/19/5 -f 2/3/5 33/10/5 34/12/5 -f 35/23/5 36/425/5 37/426/5 -f 37/426/5 38/427/5 35/23/5 -f 38/427/5 39/428/5 35/23/5 -f 39/428/5 40/429/5 41/21/5 -f 41/21/5 42/430/5 43/22/5 -f 43/22/5 44/431/5 35/23/5 -f 44/431/5 45/432/5 35/23/5 -f 45/432/5 46/433/5 35/23/5 -f 39/428/5 41/21/5 35/23/5 -f 72/24/6 65/131/6 64/25/6 -f 69/26/3 64/135/3 73/27/3 -f 62/32/7 60/39/7 66/30/7 -f 60/39/7 77/31/7 66/30/7 -f 77/31/7 78/434/7 68/29/7 -f 62/32/2 66/30/2 63/33/2 -f 70/28/7 73/133/7 74/35/7 -f 66/30/8 68/435/8 67/37/8 -f 76/38/1 77/31/1 60/39/1 -f 68/29/3 78/434/3 75/41/3 -f 72/24/1 69/26/1 70/28/1 -f 78/43/9 77/31/9 76/38/9 -f 61/34/6 63/33/6 59/46/6 -f 63/33/6 67/436/6 76/45/6 -f 67/436/6 75/437/6 76/45/6 -f 110/438/1 109/439/1 127/48/1 -f 109/439/1 120/49/1 127/48/1 -f 120/49/1 119/440/1 126/47/1 -f 119/440/1 107/441/1 126/47/1 -f 107/441/1 108/442/1 126/47/1 -f 404/50/10 406/162/10 405/51/10 -f 131/53/1 133/443/1 134/54/1 -f 131/56/6 135/444/6 137/57/6 -f 134/54/7 138/60/7 136/59/7 -f 137/57/2 135/444/2 136/59/2 -f 140/61/5 144/445/5 143/62/5 -f 146/63/1 145/446/1 143/64/1 -f 3/447/6 139/448/6 143/449/6 -f 145/67/6 141/450/6 1/451/6 -f 5/5/6 3/447/6 143/449/6 -f 145/67/6 1/451/6 34/66/6 -f 5/5/6 143/449/6 6/6/6 -f 143/449/6 145/67/6 6/6/6 -f 8/8/7 7/4/7 144/68/7 -f 7/4/7 33/10/7 146/452/7 -f 144/68/7 7/4/7 146/452/7 -f 33/10/7 2/3/7 146/452/7 -f 2/3/7 142/2/7 146/452/7 -f 140/61/7 4/9/7 144/68/7 -f 148/69/1 150/76/1 149/70/1 -f 153/72/6 161/453/6 160/73/6 -f 148/69/7 155/85/7 158/75/7 -f 147/71/3 156/454/3 155/77/3 -f 149/70/6 157/455/6 156/78/6 -f 150/76/5 158/456/5 157/79/5 -f 151/80/2 155/85/2 156/81/2 -f 153/83/2 157/86/2 158/75/2 -f 154/84/2 158/75/2 155/85/2 -f 152/82/2 156/81/2 157/86/2 -f 161/87/2 162/94/2 159/88/2 -f 154/90/5 162/94/5 161/91/5 -f 151/93/7 159/88/7 162/94/7 -f 152/74/3 160/73/3 159/88/3 -f 173/95/2 174/111/2 171/96/2 -f 177/98/2 178/106/2 175/99/2 -f 166/101/7 174/111/7 173/95/7 -f 163/103/6 172/97/6 171/96/6 -f 169/105/3 175/99/3 178/106/3 -f 168/108/5 177/98/5 176/100/5 -f 165/110/3 171/96/3 174/111/3 -f 164/113/5 173/95/5 172/97/5 -f 170/115/7 178/106/7 177/98/7 -f 167/117/6 176/100/6 175/99/6 -f 192/121/5 191/457/5 193/458/5 -f 193/458/5 194/459/5 192/121/5 -f 194/459/5 195/460/5 192/121/5 -f 195/460/5 196/461/5 197/119/5 -f 197/119/5 198/462/5 199/120/5 -f 199/120/5 200/463/5 192/121/5 -f 200/463/5 201/464/5 192/121/5 -f 201/464/5 202/465/5 192/121/5 -f 195/460/5 197/119/5 192/121/5 -f 179/466/5 180/467/5 181/468/5 -f 181/468/5 182/469/5 183/122/5 -f 183/122/5 184/470/5 185/123/5 -f 185/123/5 186/471/5 187/124/5 -f 187/124/5 188/472/5 189/473/5 -f 189/473/5 190/474/5 187/124/5 -f 190/474/5 179/466/5 187/124/5 -f 179/466/5 181/468/5 187/124/5 -f 181/468/5 183/122/5 187/124/5 -f 239/126/5 240/475/5 241/476/5 -f 241/476/5 242/477/5 239/126/5 -f 242/477/5 243/127/5 239/126/5 -f 243/127/5 244/478/5 245/479/5 -f 245/479/5 246/480/5 247/481/5 -f 247/481/5 248/482/5 249/125/5 -f 249/125/5 250/483/5 239/126/5 -f 243/127/5 245/479/5 247/481/5 -f 247/481/5 249/125/5 243/127/5 -f 259/130/7 260/484/7 261/485/7 -f 261/485/7 262/486/7 263/128/7 -f 263/128/7 264/487/7 265/129/7 -f 265/129/7 266/488/7 259/130/7 -f 259/130/7 261/485/7 263/128/7 -f 65/131/11 372/489/11 371/132/11 -f 73/133/12 373/490/12 374/134/12 -f 64/135/3 371/491/3 373/136/3 -f 376/137/2 377/140/2 384/138/2 -f 377/140/5 378/146/5 385/141/5 -f 385/141/5 386/492/5 383/493/5 -f 383/493/5 384/138/5 385/141/5 -f 382/142/7 383/148/7 386/143/7 -f 380/145/1 385/141/1 378/146/1 -f 382/142/13 381/139/13 384/138/13 -f 386/149/12 385/141/12 380/145/12 -f 380/153/3 375/494/3 376/137/3 -f 376/137/3 381/139/3 380/153/3 -f 381/139/3 382/151/3 380/153/3 -f 388/156/5 390/495/5 392/496/5 -f 392/496/5 394/497/5 396/154/5 -f 396/154/5 398/498/5 400/155/5 -f 400/155/5 402/499/5 388/156/5 -f 388/156/5 392/496/5 396/154/5 -f 389/158/3 387/500/3 397/159/3 -f 387/500/3 401/501/3 397/159/3 -f 401/501/3 399/502/3 397/159/3 -f 397/159/3 395/503/3 393/504/3 -f 393/504/3 391/157/3 397/159/3 -f 404/160/6 408/505/6 410/161/6 -f 403/163/7 405/51/7 409/164/7 -f 406/162/1 410/161/1 409/164/1 -f 413/166/1 414/506/1 412/167/1 -f 425/169/6 422/188/6 421/170/6 -f 423/173/3 421/507/3 415/174/3 -f 415/174/3 416/508/3 414/509/3 -f 416/508/3 420/510/3 414/509/3 -f 420/510/3 424/511/3 414/509/3 -f 414/509/3 413/172/3 415/174/3 -f 424/175/7 420/178/7 419/176/7 -f 420/178/13 416/508/13 418/179/13 -f 436/180/1 439/512/1 440/181/1 -f 414/183/12 424/175/12 426/177/12 -f 426/186/5 419/513/5 418/179/5 -f 418/179/5 417/187/5 411/514/5 -f 417/187/5 422/515/5 411/514/5 -f 422/515/5 425/516/5 411/514/5 -f 411/514/5 412/185/5 418/179/5 -f 411/168/11 425/169/11 423/171/11 -f 418/179/2 416/508/2 415/174/2 -f 422/188/14 417/187/14 415/174/14 -f 431/189/7 433/197/7 434/190/7 -f 428/192/1 431/189/1 432/191/1 -f 429/194/3 433/197/3 431/189/3 -f 430/196/2 434/190/2 433/197/2 -f 427/199/5 432/191/5 434/190/5 -f 437/201/3 441/517/3 439/202/3 -f 438/203/2 442/518/2 441/204/2 -f 435/182/5 440/519/5 442/205/5 -f 438/203/6 437/201/6 436/180/6 -f 453/206/3 454/232/3 448/207/3 -f 444/209/5 452/233/5 451/210/5 -f 448/212/3 454/232/3 458/213/3 -f 457/215/5 452/233/5 444/216/5 -f 450/218/3 456/223/3 453/206/3 -f 451/210/5 455/225/5 446/220/5 -f 460/222/3 462/235/3 456/223/3 -f 455/225/5 461/234/5 459/226/5 -f 466/228/3 464/520/3 449/229/3 -f 445/230/5 463/521/5 465/231/5 -f 457/215/7 465/231/7 466/228/7 -f 454/232/15 452/233/15 457/215/15 -f 452/233/2 454/232/2 453/206/2 -f 455/225/14 451/210/14 453/206/14 -f 461/234/6 455/225/6 456/223/6 -f 477/236/3 478/262/3 472/237/3 -f 468/239/5 476/263/5 475/240/5 -f 472/242/3 478/262/3 482/243/3 -f 481/245/5 476/263/5 468/246/5 -f 474/248/3 480/253/3 477/236/3 -f 475/240/5 479/255/5 470/250/5 -f 484/252/3 486/265/3 480/253/3 -f 479/255/5 485/264/5 483/256/5 -f 490/258/3 488/522/3 473/259/3 -f 469/260/5 487/523/5 489/261/5 -f 481/245/7 489/261/7 490/258/7 -f 478/262/15 476/263/15 481/245/15 -f 476/263/2 478/262/2 477/236/2 -f 479/255/14 475/240/14 477/236/14 -f 485/264/6 479/255/6 480/253/6 -f 497/266/3 498/295/3 496/267/3 -f 495/269/3 500/294/3 499/270/3 -f 492/272/3 502/276/3 501/273/3 -f 494/275/3 499/270/3 502/276/3 -f 501/273/3 497/266/3 493/278/3 -f 508/280/5 510/524/5 509/281/5 -f 511/283/5 512/525/5 507/284/5 -f 513/286/5 514/289/5 504/287/5 -f 514/289/5 511/283/5 506/290/5 -f 505/292/5 509/281/5 513/286/5 -f 502/276/1 514/289/1 513/286/1 -f 499/270/12 511/283/12 514/289/12 -f 500/294/7 512/525/7 511/283/7 -f 513/286/11 509/281/11 497/266/11 -f 509/281/6 510/524/6 498/295/6 -f 515/296/16 520/300/16 522/297/16 -f 516/299/7 519/303/7 520/300/7 -f 518/302/17 521/306/17 519/303/17 -f 518/305/6 517/526/6 522/297/6 -f 545/307/5 546/310/5 538/308/5 -f 546/310/5 539/527/5 531/311/5 -f 531/311/5 539/527/5 540/312/5 -f 532/313/5 540/312/5 541/314/5 -f 541/314/5 542/317/5 534/316/5 -f 542/317/5 543/528/5 535/318/5 -f 535/319/5 543/529/5 544/320/5 -f 536/321/5 544/320/5 545/307/5 -f 548/324/5 547/530/5 549/531/5 -f 549/531/5 550/532/5 551/322/5 -f 551/322/5 552/533/5 553/323/5 -f 553/323/5 554/534/5 548/324/5 -f 548/324/5 549/531/5 551/322/5 -f 568/325/3 576/340/3 577/326/3 -f 569/327/3 577/326/3 578/328/3 -f 570/329/3 578/328/3 571/330/3 -f 571/330/3 572/333/3 564/332/3 -f 572/333/3 573/335/3 565/334/3 -f 573/335/3 574/337/3 566/336/3 -f 574/337/3 575/535/3 567/338/3 -f 567/339/3 575/536/3 576/340/3 -f 581/342/3 579/537/3 580/538/3 -f 580/538/3 586/539/3 581/342/3 -f 586/539/3 585/343/3 581/342/3 -f 585/343/3 584/540/3 583/541/3 -f 583/541/3 582/341/3 585/343/3 -f 811/344/16 816/348/16 818/345/16 -f 812/347/7 815/351/7 816/348/7 -f 814/350/17 817/354/17 815/351/17 -f 814/353/6 813/542/6 818/345/6 -f 828/355/2 821/543/2 820/356/2 -f 829/360/5 822/364/5 821/543/5 -f 821/543/5 828/355/5 829/360/5 -f 828/355/5 827/358/5 829/360/5 -f 830/361/6 827/367/6 826/362/6 -f 822/364/1 829/360/1 824/365/1 -f 828/355/14 825/357/14 826/362/14 -f 824/365/11 829/360/11 830/368/11 -f 820/356/3 819/544/3 824/370/3 -f 824/370/3 823/545/3 826/546/3 -f 826/546/3 825/357/3 824/370/3 -f 832/371/2 833/374/2 840/372/2 -f 833/374/5 834/380/5 841/375/5 -f 841/375/5 842/547/5 839/548/5 -f 839/548/5 840/372/5 841/375/5 -f 838/376/7 839/382/7 842/377/7 -f 836/379/1 841/375/1 834/380/1 -f 838/376/13 837/373/13 840/372/13 -f 842/383/12 841/375/12 836/379/12 -f 836/387/3 831/549/3 832/371/3 -f 832/371/3 837/373/3 836/387/3 -f 837/373/3 838/385/3 836/387/3 -f 852/388/2 845/550/2 844/389/2 -f 853/393/5 846/397/5 845/550/5 -f 845/550/5 852/388/5 853/393/5 -f 852/388/5 851/391/5 853/393/5 -f 854/394/6 851/400/6 850/395/6 -f 846/397/1 853/393/1 848/398/1 -f 852/388/14 849/390/14 850/395/14 -f 848/398/11 853/393/11 854/401/11 -f 844/389/3 843/551/3 848/403/3 -f 848/403/3 847/552/3 850/553/3 -f 850/553/3 849/390/3 848/403/3 -f 856/406/5 858/554/5 860/555/5 -f 860/555/5 862/556/5 864/404/5 -f 864/404/5 866/557/5 868/405/5 -f 868/405/5 870/558/5 856/406/5 -f 856/406/5 860/555/5 864/404/5 -f 857/408/3 855/559/3 865/409/3 -f 855/559/3 869/560/3 865/409/3 -f 869/560/3 867/561/3 865/409/3 -f 865/409/3 863/562/3 861/563/3 -f 861/563/3 859/407/3 865/409/3 -f 881/412/6 880/564/6 879/565/6 -f 879/565/6 886/566/6 885/410/6 -f 885/410/6 884/567/6 883/411/6 -f 883/411/6 882/568/6 881/412/6 -f 881/412/6 879/565/6 885/410/6 s 1 -f 12/569/6 23/570/18 11/571/18 -f 19/572/19 30/573/7 18/574/7 -f 16/575/20 27/576/1 15/577/1 -f 13/578/21 24/579/6 12/569/6 -f 20/580/22 31/581/19 19/572/19 -f 10/582/23 21/583/2 9/584/2 -f 17/585/24 28/586/20 16/575/20 -f 14/587/25 25/588/21 13/578/21 -f 9/584/2 32/589/22 20/580/22 -f 11/571/18 22/590/23 10/582/23 -f 18/574/7 29/591/24 17/585/24 -f 15/592/1 26/593/25 14/587/25 -f 39/594/21 52/595/25 40/596/25 -f 46/597/22 48/598/2 35/599/2 -f 36/600/23 49/601/18 37/602/18 -f 43/603/24 56/604/7 44/605/7 -f 40/596/25 53/606/1 41/607/1 -f 37/602/18 50/608/6 38/609/6 -f 44/605/7 57/610/19 45/611/19 -f 41/612/1 54/613/20 42/614/20 -f 38/609/6 51/615/21 39/594/21 -f 45/611/19 58/616/22 46/597/22 -f 35/599/2 47/617/23 36/600/23 -f 42/614/20 55/618/24 43/603/24 -f 90/619/26 97/620/27 91/621/28 -f 88/622/29 94/623/3 87/624/3 -f 88/625/30 96/626/31 95/627/32 -f 80/628/33 82/629/34 81/630/33 -f 86/631/35 84/632/36 83/633/37 -f 84/632/36 80/628/33 81/630/33 -f 91/621/28 98/634/38 89/635/39 -f 90/619/26 95/627/32 96/626/31 -f 104/636/7 98/634/38 93/637/40 -f 96/626/31 94/638/41 97/620/27 -f 79/639/42 85/640/3 86/641/42 -f 99/642/43 86/641/42 102/643/43 -f 88/622/29 104/644/44 93/645/29 -f 106/646/45 107/441/46 105/647/47 -f 103/648/48 105/647/47 100/649/49 -f 101/650/44 102/643/43 104/644/44 -f 110/438/50 111/651/51 109/439/52 -f 115/652/53 114/653/50 113/654/52 -f 115/655/53 121/656/54 111/657/51 -f 113/658/52 122/659/55 115/655/53 -f 118/660/56 122/659/55 123/661/57 -f 111/657/51 120/49/57 109/662/52 -f 116/663/58 128/664/59 130/665/60 -f 107/666/46 117/667/61 105/668/47 -f 105/668/47 118/660/56 100/669/49 -f 125/670/62 128/664/59 126/671/63 -f 124/672/64 130/665/60 125/670/62 -f 116/663/58 129/673/65 114/674/50 -f 103/675/48 125/670/62 106/676/45 -f 110/677/50 128/664/59 112/678/66 -f 108/679/67 125/670/62 126/671/63 -f 112/680/66 115/652/53 111/651/51 -f 216/681/2 191/682/23 192/683/2 -f 208/684/25 185/685/1 184/686/25 -f 223/687/24 200/688/7 199/689/24 -f 215/690/23 193/691/18 191/682/23 -f 209/692/1 186/693/20 185/694/1 -f 224/695/7 201/696/19 200/688/7 -f 217/697/18 194/698/6 193/691/18 -f 210/699/20 187/700/24 186/693/20 -f 225/701/19 202/702/22 201/696/19 -f 203/703/2 180/704/23 179/705/2 -f 218/706/6 195/707/21 194/698/6 -f 211/708/24 188/709/7 187/700/24 -f 226/710/22 192/683/2 202/702/22 -f 204/711/23 181/712/18 180/704/23 -f 219/713/21 196/714/25 195/707/21 -f 212/715/7 189/716/19 188/709/7 -f 205/717/18 182/718/6 181/712/18 -f 220/719/25 197/720/1 196/714/25 -f 213/721/19 190/722/22 189/716/19 -f 206/723/6 183/724/21 182/718/6 -f 221/725/1 198/726/20 197/727/1 -f 214/728/22 179/705/2 190/722/22 -f 207/729/21 184/686/25 183/724/21 -f 222/730/20 199/689/24 198/726/20 -f 233/731/1 244/732/25 232/733/25 -f 230/734/6 241/735/18 229/736/18 -f 237/737/19 248/738/7 236/739/7 -f 234/740/20 245/741/1 233/742/1 -f 231/743/21 242/744/6 230/734/6 -f 238/745/22 249/746/19 237/737/19 -f 228/747/23 239/748/2 227/749/2 -f 235/750/24 246/751/20 234/740/20 -f 232/733/25 243/752/21 231/743/21 -f 227/749/2 250/753/22 238/745/22 -f 229/736/18 240/754/23 228/747/23 -f 236/739/7 247/755/24 235/750/24 -f 254/756/68 261/757/2 253/758/2 -f 252/759/69 259/760/3 251/761/3 -f 251/761/3 266/762/9 258/763/9 -f 257/764/1 264/765/70 256/766/70 -f 255/767/5 262/768/68 254/756/68 -f 253/758/2 260/769/69 252/759/69 -f 258/763/9 265/770/1 257/771/1 -f 256/766/70 263/772/5 255/767/5 -f 282/773/71 267/774/3 274/775/72 -f 280/776/73 273/777/7 272/778/74 -f 278/779/75 271/780/5 270/781/76 -f 276/782/77 269/783/6 268/784/78 -f 281/785/79 274/775/72 273/777/7 -f 279/786/80 272/778/74 271/780/5 -f 277/787/81 270/781/76 269/788/6 -f 275/789/69 268/784/78 267/774/3 -f 277/790/81 283/791/82 284/792/83 -f 282/793/71 288/794/84 289/795/85 -f 279/786/80 287/796/86 280/776/73 -f 278/779/75 284/797/83 285/798/87 -f 280/776/73 288/794/84 281/799/79 -f 278/779/75 286/800/70 279/786/80 -f 289/795/85 295/801/88 296/802/89 -f 286/800/70 294/803/90 287/796/86 -f 285/798/87 291/804/91 292/805/92 -f 287/796/86 295/801/88 288/794/84 -f 285/798/87 293/806/93 286/800/70 -f 284/792/83 290/807/94 291/808/91 -f 275/809/69 283/791/82 276/810/77 -f 283/791/82 275/809/69 290/807/94 -f 282/793/71 289/795/85 275/809/69 -f 289/795/85 296/802/89 275/809/69 -f 296/811/89 297/812/95 275/813/69 -f 295/814/88 304/815/96 296/811/89 -f 275/813/69 298/816/97 290/817/94 -f 293/806/93 302/818/98 294/803/90 -f 291/819/91 300/820/99 292/805/92 -f 294/803/90 303/821/100 295/814/88 -f 292/805/92 301/822/101 293/806/93 -f 290/817/94 299/823/76 291/824/91 -f 320/825/71 305/826/3 312/827/72 -f 318/828/73 311/829/7 310/830/74 -f 316/831/75 309/832/5 308/833/76 -f 314/834/77 307/835/6 306/836/78 -f 319/837/79 312/827/72 311/838/7 -f 317/839/80 310/830/74 309/832/5 -f 315/840/81 308/833/76 307/835/6 -f 313/841/69 306/836/78 305/826/3 -f 315/842/81 321/843/82 322/844/83 -f 320/845/71 326/846/84 327/847/85 -f 318/828/73 324/848/70 325/849/86 -f 316/831/75 322/844/83 323/850/87 -f 318/828/73 326/851/84 319/852/79 -f 316/831/75 324/848/70 317/839/80 -f 327/847/85 333/853/88 334/854/89 -f 325/849/86 331/855/93 332/856/90 -f 323/850/87 329/857/91 330/858/92 -f 325/849/86 333/859/88 326/851/84 -f 323/850/87 331/855/93 324/848/70 -f 322/844/83 328/860/94 329/857/91 -f 313/861/69 321/843/82 314/862/77 -f 321/843/82 313/861/69 328/860/94 -f 320/845/71 327/847/85 313/861/69 -f 327/847/85 334/854/89 313/861/69 -f 334/863/89 335/864/102 313/865/69 -f 333/866/88 342/867/103 334/863/89 -f 313/865/69 336/868/104 328/869/94 -f 331/855/93 340/870/105 332/856/90 -f 329/871/91 338/872/106 330/858/92 -f 332/856/90 341/873/74 333/874/88 -f 330/858/92 339/875/107 331/855/93 -f 328/869/94 337/876/108 329/871/91 -f 297/877/95 344/878/109 298/879/97 -f 303/821/100 347/880/110 348/881/72 -f 301/882/101 345/883/111 346/884/112 -f 304/815/96 343/885/113 297/877/95 -f 304/815/96 348/881/72 349/886/114 -f 302/818/98 346/884/112 347/880/110 -f 346/884/112 354/887/115 347/880/110 -f 344/878/109 350/888/116 351/889/117 -f 347/880/110 355/890/118 348/881/72 -f 345/883/111 353/891/119 346/884/112 -f 343/885/113 356/892/120 350/888/116 -f 348/881/72 356/892/120 349/886/114 -f 298/879/97 344/878/109 299/893/76 -f 344/878/109 351/889/117 299/893/76 -f 299/894/76 345/883/111 300/895/99 -f 345/883/111 299/894/76 352/896/121 -f 336/868/104 357/897/122 358/898/123 -f 339/899/107 360/900/124 361/901/125 -f 337/876/108 358/898/123 359/902/78 -f 335/903/102 363/904/126 357/897/122 -f 339/899/107 362/905/127 340/906/105 -f 337/876/108 360/900/124 338/872/106 -f 357/897/122 365/907/128 358/898/123 -f 361/901/125 367/908/129 368/909/130 -f 358/898/123 366/910/131 359/902/78 -f 363/904/126 364/911/132 357/897/122 -f 362/905/127 368/909/130 369/912/133 -f 360/900/124 366/910/131 367/908/129 -f 341/913/74 363/904/126 342/914/103 -f 363/904/126 341/913/74 370/915/134 -f 340/906/105 362/905/127 341/916/74 -f 362/905/127 369/912/133 341/916/74 -f 364/917/132 351/918/117 350/919/116 -f 351/918/117 341/920/74 299/921/76 -f 341/922/74 352/923/121 299/924/76 -f 352/923/121 368/925/130 353/926/119 -f 353/926/119 367/908/129 354/887/115 -f 354/887/115 366/910/131 355/890/118 -f 355/890/118 365/907/128 356/892/120 -f 356/892/120 364/917/132 350/919/116 -f 389/927/14 388/928/2 387/929/2 -f 391/930/6 390/931/14 389/927/14 -f 393/932/11 392/933/6 391/930/6 -f 395/934/1 394/935/11 393/932/11 -f 397/936/12 396/937/1 395/938/1 -f 399/939/7 398/940/12 397/936/12 -f 401/941/13 400/942/7 399/939/7 -f 387/929/2 402/943/13 401/941/13 -f 117/667/61 121/656/54 122/659/55 -f 126/671/63 128/664/59 127/944/65 -f 121/656/54 119/440/135 120/49/57 -f 530/945/13 545/307/7 529/946/7 -f 528/947/12 543/529/1 527/948/1 -f 526/949/11 541/314/6 525/950/6 -f 524/951/14 539/527/2 523/952/2 -f 523/952/2 546/310/13 530/945/13 -f 529/946/7 544/320/12 528/947/12 -f 527/953/1 542/317/11 526/949/11 -f 525/950/6 540/312/14 524/951/14 -f 532/313/12 548/954/1 531/311/1 -f 531/311/1 554/955/11 538/308/11 -f 537/309/6 552/956/14 536/321/14 -f 535/318/2 550/957/13 534/316/13 -f 533/315/7 547/958/12 532/313/12 -f 538/308/11 553/959/6 537/309/6 -f 536/321/14 551/960/2 535/319/2 -f 534/316/13 549/961/7 533/315/7 -f 570/329/13 555/962/2 562/963/13 -f 568/325/12 561/964/7 560/965/12 -f 566/336/11 559/966/1 558/967/11 -f 564/332/14 557/968/6 556/969/14 -f 569/327/7 562/963/13 561/964/7 -f 567/339/1 560/965/12 559/970/1 -f 565/334/6 558/967/11 557/968/6 -f 563/331/2 556/969/14 555/962/2 -f 576/340/14 585/971/6 577/326/6 -f 574/337/13 583/972/2 575/535/2 -f 572/333/12 581/973/7 573/335/7 -f 577/326/6 586/974/11 578/328/11 -f 575/536/2 584/975/14 576/340/14 -f 573/335/7 582/976/13 574/337/13 -f 571/330/1 579/977/12 572/333/12 -f 578/328/11 580/978/1 571/330/1 -f 591/979/136 647/980/137 651/981/138 -f 656/982/139 591/983/136 595/984/140 -f 596/985/141 652/986/142 656/982/139 -f 588/987/143 652/986/142 592/988/144 -f 648/989/145 591/983/136 652/986/142 -f 657/990/146 592/988/144 596/985/141 -f 597/991/147 653/992/148 657/990/146 -f 589/993/149 653/992/148 593/994/150 -f 649/995/151 592/988/144 653/992/148 -f 597/991/147 654/996/152 593/994/150 -f 594/997/153 658/998/154 598/999/155 -f 594/997/153 650/1000/156 654/996/152 -f 654/996/152 589/993/149 593/994/150 -f 598/999/155 651/981/138 594/997/153 -f 595/1001/140 659/1002/157 599/1003/158 -f 591/979/136 655/1004/159 595/1001/140 -f 590/1005/160 651/981/138 647/980/137 -f 599/1006/158 656/982/139 595/984/140 -f 600/1007/161 656/982/139 660/1008/162 -f 661/1009/163 596/985/141 600/1007/161 -f 601/1010/164 657/990/146 661/1009/163 -f 662/1011/165 597/991/147 601/1010/164 -f 602/1012/166 658/998/154 662/1011/165 -f 602/1012/166 655/1004/159 598/999/155 -f 599/1003/158 663/1013/167 603/1014/168 -f 603/1015/168 660/1008/162 599/1006/158 -f 600/1007/161 664/1016/169 604/1017/170 -f 604/1017/170 661/1009/163 600/1007/161 -f 605/1018/171 661/1009/163 665/1019/172 -f 666/1020/173 601/1010/164 605/1018/171 -f 606/1021/174 662/1011/165 666/1020/173 -f 663/1013/167 602/1012/166 606/1021/174 -f 756/1022/175 603/1015/168 667/1023/176 -f 668/1024/177 664/1016/169 756/1022/175 -f 757/1025/178 604/1017/170 668/1024/177 -f 605/1018/171 757/1025/178 669/1026/179 -f 666/1020/173 669/1026/179 758/1027/180 -f 606/1021/174 758/1027/180 670/1028/181 -f 663/1013/167 670/1028/181 755/1029/182 -f 667/1030/176 663/1013/167 755/1029/182 -f 667/1030/176 759/1031/183 671/1032/184 -f 672/1033/185 756/1022/175 760/1034/186 -f 669/1026/179 761/1035/187 673/1036/188 -f 760/1034/186 667/1023/176 671/1037/184 -f 670/1028/181 762/1038/189 674/1039/190 -f 761/1035/187 668/1024/177 672/1033/185 -f 610/1040/191 692/1041/192 678/1042/193 -f 758/1027/180 673/1036/188 762/1038/189 -f 755/1029/182 674/1039/190 759/1031/183 -f 766/1043/194 609/1044/195 781/1045/196 -f 622/1046/197 678/1042/193 698/1047/198 -f 763/1048/199 607/1049/200 619/1050/201 -f 607/1049/200 692/1041/192 619/1050/201 -f 620/1051/202 675/1052/203 607/1049/200 -f 764/1053/204 608/1054/205 620/1051/202 -f 610/1040/191 763/1048/199 619/1050/201 -f 608/1054/205 694/1055/206 620/1051/202 -f 621/1056/207 676/1057/208 608/1054/205 -f 781/1045/196 621/1056/207 765/1058/209 -f 779/1059/210 620/1051/202 607/1049/200 -f 671/1032/184 683/1060/211 611/1061/212 -f 609/1044/195 698/1062/198 677/1063/213 -f 782/1064/214 622/1046/197 766/1065/194 -f 780/1066/215 621/1056/207 608/1054/205 -f 615/1067/216 685/1068/217 611/1069/212 -f 612/1070/218 693/1071/219 616/1072/220 -f 612/1070/218 760/1034/186 685/1068/217 -f 760/1034/186 611/1069/212 685/1068/217 -f 616/1072/220 687/1073/221 612/1070/218 -f 613/1074/222 695/1075/223 617/1076/224 -f 613/1074/222 761/1035/187 687/1073/221 -f 687/1073/221 672/1033/185 612/1070/218 -f 697/1077/225 613/1074/222 617/1076/224 -f 618/1078/226 689/1079/227 697/1077/225 -f 674/1039/190 689/1079/227 614/1080/228 -f 762/1038/189 613/1074/222 689/1079/227 -f 691/1081/229 614/1080/228 618/1078/226 -f 705/1082/230 681/1083/231 785/1084/232 -f 615/1085/216 683/1060/211 691/1081/229 -f 759/1031/183 614/1080/228 683/1060/211 -f 768/1086/233 615/1067/216 700/1087/234 -f 702/1088/235 693/1071/219 768/1086/233 -f 678/1042/193 699/1089/236 786/1090/237 -f 698/1047/198 786/1090/237 705/1091/230 -f 769/1092/238 616/1072/220 702/1088/235 -f 704/1093/239 695/1075/223 769/1092/238 -f 621/1056/207 677/1063/213 696/1094/240 -f 694/1055/206 783/1095/241 675/1052/203 -f 697/1077/225 704/1093/239 770/1096/242 -f 618/1078/226 770/1096/242 706/1097/243 -f 692/1041/192 783/1095/241 699/1089/236 -f 696/1094/240 784/1098/244 676/1057/208 -f 691/1081/229 706/1097/243 767/1099/245 -f 768/1086/233 708/1100/246 796/1101/247 -f 676/1057/208 701/1102/248 694/1055/206 -f 677/1063/213 705/1082/230 785/1084/232 -f 679/1103/249 639/1104/250 791/1105/251 -f 682/1106/252 642/1107/253 794/1108/254 -f 699/1089/236 679/1103/249 791/1105/251 -f 677/1063/213 703/1109/255 696/1094/240 -f 792/1110/256 624/1111/257 640/1112/258 -f 626/1113/259 791/1105/251 639/1104/250 -f 784/1098/244 792/1110/256 701/1102/248 -f 786/1090/237 791/1105/251 682/1106/252 -f 793/1114/260 625/1115/261 641/1116/262 -f 792/1110/256 623/1117/263 679/1103/249 -f 785/1084/232 793/1114/260 703/1109/255 -f 783/1095/241 792/1110/256 679/1103/249 -f 615/1085/216 767/1099/245 700/1118/234 -f 680/1119/264 641/1116/262 624/1111/257 -f 705/1091/230 682/1106/252 794/1108/254 -f 703/1109/255 680/1119/264 784/1098/244 -f 769/1092/238 710/1120/265 797/1121/266 -f 708/1122/246 767/1099/245 795/1123/267 -f 681/1083/231 642/1124/253 625/1115/261 -f 790/1125/268 731/1126/269 627/1127/270 -f 798/1128/271 704/1093/239 712/1129/272 -f 702/1088/235 796/1101/247 710/1120/265 -f 642/1107/253 713/1130/273 734/1131/274 -f 731/1126/269 626/1113/259 639/1104/250 -f 706/1097/243 795/1123/267 767/1099/245 -f 704/1093/239 797/1121/266 712/1129/272 -f 732/1132/275 787/1133/276 707/1134/277 -f 707/1134/277 627/1127/270 731/1126/269 -f 710/1120/265 772/1135/278 726/1136/279 -f 714/1137/280 770/1096/242 798/1128/271 -f 639/1104/250 707/1134/277 731/1126/269 -f 732/1132/275 623/1117/263 640/1112/258 -f 712/1129/272 773/1138/281 728/1139/282 -f 772/1135/278 708/1100/246 724/1140/283 -f 709/1141/284 629/1142/285 788/1143/286 -f 732/1132/275 788/1143/286 628/1144/287 -f 730/1145/288 798/1128/271 774/1146/289 -f 797/1121/266 726/1136/279 773/1138/281 -f 624/1111/257 732/1132/275 640/1112/258 -f 641/1116/262 709/1141/284 624/1111/257 -f 742/1147/290 772/1135/278 776/1148/291 -f 798/1128/271 728/1139/282 774/1146/289 -f 734/1149/274 789/1150/292 711/1151/293 -f 733/1152/294 789/1150/292 629/1142/285 -f 634/1153/295 718/1154/296 738/1155/297 -f 714/1137/280 771/1156/298 795/1123/267 -f 625/1115/261 733/1152/294 641/1116/262 -f 642/1124/253 711/1151/293 625/1115/261 -f 684/1157/299 735/1158/300 631/1159/301 -f 790/1125/268 634/1153/295 630/1160/302 -f 713/1130/273 630/1160/302 734/1131/274 -f 690/1161/303 627/1127/270 631/1159/301 -f 686/1162/304 736/1163/305 632/1164/306 -f 718/1154/296 631/1159/301 735/1158/300 -f 628/1144/287 684/1157/299 787/1133/276 -f 788/1143/286 633/1165/307 686/1162/304 -f 633/1165/307 717/1166/308 737/1167/309 -f 632/1164/306 715/1168/310 684/1157/299 -f 787/1133/276 631/1159/301 627/1127/270 -f 789/1150/292 634/1169/295 688/1170/311 -f 724/1171/283 795/1123/267 771/1156/298 -f 686/1162/304 737/1167/309 716/1172/312 -f 788/1143/286 632/1164/306 628/1144/287 -f 629/1142/285 688/1170/311 633/1165/307 -f 728/1139/282 777/1173/313 744/1174/314 -f 776/1148/291 724/1140/283 740/1175/315 -f 688/1170/311 738/1176/297 717/1166/308 -f 739/1177/316 718/1154/296 735/1158/300 -f 730/1145/288 778/1178/317 746/1179/318 -f 773/1138/281 742/1147/290 777/1173/313 -f 735/1158/300 719/1180/319 739/1177/316 -f 741/1181/320 715/1168/310 736/1163/305 -f 776/1148/291 748/1182/321 808/1183/322 -f 774/1146/289 744/1174/314 778/1178/317 -f 736/1163/305 720/1184/323 741/1181/320 -f 737/1167/309 720/1184/323 716/1172/312 -f 729/1185/324 646/1186/136 806/1187/325 -f 730/1145/288 775/1188/326 771/1156/298 -f 717/1166/308 743/1189/327 737/1167/309 -f 738/1176/297 721/1190/328 717/1166/308 -f 803/1191/329 802/1192/142 729/1185/324 -f 802/1192/142 747/1193/143 638/1194/145 -f 718/1154/296 745/1195/330 738/1155/297 -f 739/1177/316 729/1185/324 722/1196/331 -f 643/1197/144 635/1198/151 747/1193/143 -f 722/1196/331 806/1187/325 745/1195/330 -f 739/1177/316 723/1199/332 803/1191/329 -f 804/1200/333 719/1180/319 741/1181/320 -f 804/1200/333 799/1201/148 723/1199/332 -f 799/1201/148 749/1202/149 635/1198/151 -f 741/1181/320 725/1203/334 804/1200/333 -f 805/1204/335 720/1184/323 743/1189/327 -f 740/1205/315 771/1156/298 775/1188/326 -f 723/1199/332 643/1197/144 803/1191/329 -f 743/1189/327 727/1206/336 805/1204/335 -f 745/1207/330 727/1206/336 721/1190/328 -f 809/1208/337 742/1147/290 750/1209/338 -f 740/1205/315 807/1210/339 748/1211/321 -f 645/1212/153 636/1213/156 800/1214/152 -f 800/1214/152 749/1202/149 644/1215/150 -f 810/1216/340 744/1174/314 752/1217/341 -f 742/1147/290 808/1183/322 750/1209/338 -f 804/1200/333 800/1214/152 644/1215/150 -f 645/1212/153 725/1203/334 805/1204/335 -f 775/1188/326 754/1218/342 807/1210/339 -f 752/1217/341 777/1173/313 809/1208/337 -f 646/1219/136 637/1220/137 801/1221/138 -f 801/1221/138 751/1222/160 645/1212/153 -f 646/1186/136 638/1194/145 753/1223/343 -f 754/1218/342 778/1178/317 810/1216/340 -f 805/1204/335 801/1221/138 645/1212/153 -f 646/1219/136 727/1206/336 806/1224/325 -f 98/634/38 94/638/41 93/637/40 -f 82/629/34 99/1225/6 95/1226/32 -f 83/633/37 98/634/38 102/1227/7 -f 95/1226/32 101/1228/6 88/1229/30 -f 857/1230/14 856/1231/2 855/1232/2 -f 859/1233/6 858/1234/14 857/1230/14 -f 861/1235/11 860/1236/6 859/1233/6 -f 863/1237/1 862/1238/11 861/1235/11 -f 865/1239/12 864/1240/1 863/1241/1 -f 867/1242/7 866/1243/12 865/1239/12 -f 869/1244/13 868/1245/7 867/1242/7 -f 855/1232/2 870/1246/13 869/1244/13 -f 881/1247/2 874/1248/68 873/1249/2 -f 879/1250/3 872/1251/69 871/1252/3 -f 886/1253/9 871/1252/3 878/1254/9 -f 884/1255/70 877/1256/1 876/1257/70 -f 882/1258/68 875/1259/5 874/1248/68 -f 880/1260/69 873/1249/2 872/1251/69 -f 885/1261/1 878/1254/9 877/1262/1 -f 883/1263/5 876/1257/70 875/1259/5 -f 12/569/6 24/579/6 23/570/18 -f 19/572/19 31/581/19 30/573/7 -f 16/575/20 28/586/20 27/576/1 -f 13/578/21 25/588/21 24/579/6 -f 20/580/22 32/589/22 31/581/19 -f 10/582/23 22/590/23 21/583/2 -f 17/585/24 29/591/24 28/586/20 -f 14/587/25 26/593/25 25/588/21 -f 9/584/2 21/583/2 32/589/22 -f 11/571/18 23/570/18 22/590/23 -f 18/574/7 30/573/7 29/591/24 -f 15/592/1 27/1264/1 26/593/25 -f 39/594/21 51/615/21 52/595/25 -f 46/597/22 58/616/22 48/598/2 -f 36/600/23 47/617/23 49/601/18 -f 43/603/24 55/618/24 56/604/7 -f 40/596/25 52/595/25 53/606/1 -f 37/602/18 49/601/18 50/608/6 -f 44/605/7 56/604/7 57/610/19 -f 41/612/1 53/1265/1 54/613/20 -f 38/609/6 50/608/6 51/615/21 -f 45/611/19 57/610/19 58/616/22 -f 35/599/2 48/598/2 47/617/23 -f 42/614/20 54/613/20 55/618/24 -f 90/619/26 96/626/31 97/620/27 -f 88/622/29 93/645/29 94/623/3 -f 88/625/30 87/1266/344 96/626/31 -f 80/628/33 79/1267/345 82/629/34 -f 86/631/35 85/640/36 84/632/36 -f 84/632/36 85/640/36 80/628/33 -f 91/621/28 97/620/27 98/634/38 -f 90/619/26 92/1268/346 95/627/32 -f 96/626/31 87/1266/344 94/638/41 -f 79/639/42 80/628/3 85/640/3 -f 99/642/43 79/639/42 86/641/42 -f 88/622/29 101/650/44 104/644/44 -f 106/646/45 108/442/67 107/441/46 -f 103/648/48 106/646/45 105/647/47 -f 101/650/44 99/642/43 102/643/43 -f 110/438/50 112/680/66 111/651/51 -f 115/652/53 116/1269/58 114/653/50 -f 115/655/53 122/659/55 121/656/54 -f 113/658/52 123/661/57 122/659/55 -f 118/660/56 117/667/61 122/659/55 -f 111/657/51 121/656/54 120/49/57 -f 116/663/58 112/678/66 128/664/59 -f 107/666/46 119/440/135 117/667/61 -f 105/668/47 117/667/61 118/660/56 -f 125/670/62 130/665/60 128/664/59 -f 124/672/64 129/673/65 130/665/60 -f 116/663/58 130/665/60 129/673/65 -f 103/675/48 124/672/64 125/670/62 -f 110/677/50 127/944/65 128/664/59 -f 108/679/67 106/676/45 125/670/62 -f 112/680/66 116/1269/58 115/652/53 -f 216/681/2 215/690/23 191/682/23 -f 208/684/25 209/1270/1 185/685/1 -f 223/687/24 224/695/7 200/688/7 -f 215/690/23 217/697/18 193/691/18 -f 209/692/1 210/699/20 186/693/20 -f 224/695/7 225/701/19 201/696/19 -f 217/697/18 218/706/6 194/698/6 -f 210/699/20 211/708/24 187/700/24 -f 225/701/19 226/710/22 202/702/22 -f 203/703/2 204/711/23 180/704/23 -f 218/706/6 219/713/21 195/707/21 -f 211/708/24 212/715/7 188/709/7 -f 226/710/22 216/681/2 192/683/2 -f 204/711/23 205/717/18 181/712/18 -f 219/713/21 220/719/25 196/714/25 -f 212/715/7 213/721/19 189/716/19 -f 205/717/18 206/723/6 182/718/6 -f 220/719/25 221/1271/1 197/720/1 -f 213/721/19 214/728/22 190/722/22 -f 206/723/6 207/729/21 183/724/21 -f 221/725/1 222/730/20 198/726/20 -f 214/728/22 203/703/2 179/705/2 -f 207/729/21 208/684/25 184/686/25 -f 222/730/20 223/687/24 199/689/24 -f 233/731/1 245/1272/1 244/732/25 -f 230/734/6 242/744/6 241/735/18 -f 237/737/19 249/746/19 248/738/7 -f 234/740/20 246/751/20 245/741/1 -f 231/743/21 243/752/21 242/744/6 -f 238/745/22 250/753/22 249/746/19 -f 228/747/23 240/754/23 239/748/2 -f 235/750/24 247/755/24 246/751/20 -f 232/733/25 244/732/25 243/752/21 -f 227/749/2 239/748/2 250/753/22 -f 229/736/18 241/735/18 240/754/23 -f 236/739/7 248/738/7 247/755/24 -f 254/756/68 262/768/68 261/757/2 -f 252/759/69 260/769/69 259/760/3 -f 251/761/3 259/760/3 266/762/9 -f 257/764/1 265/1273/1 264/765/70 -f 255/767/5 263/772/5 262/768/68 -f 253/758/2 261/757/2 260/769/69 -f 258/763/9 266/762/9 265/770/1 -f 256/766/70 264/765/70 263/772/5 -f 282/773/71 275/789/69 267/774/3 -f 280/776/73 281/785/79 273/777/7 -f 278/779/75 279/786/80 271/780/5 -f 276/782/77 277/1274/81 269/783/6 -f 281/785/79 282/773/71 274/775/72 -f 279/786/80 280/776/73 272/778/74 -f 277/787/81 278/779/75 270/781/76 -f 275/789/69 276/782/77 268/784/78 -f 277/790/81 276/810/77 283/791/82 -f 282/793/71 281/799/79 288/794/84 -f 279/786/80 286/800/70 287/796/86 -f 278/779/75 277/1275/81 284/797/83 -f 280/776/73 287/796/86 288/794/84 -f 278/779/75 285/798/87 286/800/70 -f 289/795/85 288/794/84 295/801/88 -f 286/800/70 293/806/93 294/803/90 -f 285/798/87 284/797/83 291/804/91 -f 287/796/86 294/803/90 295/801/88 -f 285/798/87 292/805/92 293/806/93 -f 284/792/83 283/791/82 290/807/94 -f 296/811/89 304/815/96 297/812/95 -f 295/814/88 303/821/100 304/815/96 -f 275/813/69 297/812/95 298/816/97 -f 293/806/93 301/822/101 302/818/98 -f 291/819/91 299/1276/76 300/820/99 -f 294/803/90 302/818/98 303/821/100 -f 292/805/92 300/820/99 301/822/101 -f 290/817/94 298/816/97 299/823/76 -f 320/825/71 313/841/69 305/826/3 -f 318/828/73 319/1277/79 311/829/7 -f 316/831/75 317/839/80 309/832/5 -f 314/834/77 315/840/81 307/835/6 -f 319/837/79 320/825/71 312/827/72 -f 317/839/80 318/828/73 310/830/74 -f 315/840/81 316/831/75 308/833/76 -f 313/841/69 314/834/77 306/836/78 -f 315/842/81 314/862/77 321/843/82 -f 320/845/71 319/1278/79 326/846/84 -f 318/828/73 317/839/80 324/848/70 -f 316/831/75 315/842/81 322/844/83 -f 318/828/73 325/849/86 326/851/84 -f 316/831/75 323/850/87 324/848/70 -f 327/847/85 326/846/84 333/853/88 -f 325/849/86 324/848/70 331/855/93 -f 323/850/87 322/844/83 329/857/91 -f 325/849/86 332/856/90 333/859/88 -f 323/850/87 330/858/92 331/855/93 -f 322/844/83 321/843/82 328/860/94 -f 334/863/89 342/867/103 335/864/102 -f 333/866/88 341/1279/74 342/867/103 -f 313/865/69 335/864/102 336/868/104 -f 331/855/93 339/875/107 340/870/105 -f 329/871/91 337/876/108 338/872/106 -f 332/856/90 340/870/105 341/873/74 -f 330/858/92 338/872/106 339/875/107 -f 328/869/94 336/868/104 337/876/108 -f 297/877/95 343/885/113 344/878/109 -f 303/821/100 302/818/98 347/880/110 -f 301/882/101 300/895/99 345/883/111 -f 304/815/96 349/886/114 343/885/113 -f 304/815/96 303/821/100 348/881/72 -f 302/818/98 301/882/101 346/884/112 -f 346/884/112 353/891/119 354/887/115 -f 344/878/109 343/885/113 350/888/116 -f 347/880/110 354/887/115 355/890/118 -f 345/883/111 352/896/121 353/891/119 -f 343/885/113 349/886/114 356/892/120 -f 348/881/72 355/890/118 356/892/120 -f 336/868/104 335/903/102 357/897/122 -f 339/899/107 338/872/106 360/900/124 -f 337/876/108 336/868/104 358/898/123 -f 335/903/102 342/914/103 363/904/126 -f 339/899/107 361/901/125 362/905/127 -f 337/876/108 359/902/78 360/900/124 -f 357/897/122 364/911/132 365/907/128 -f 361/901/125 360/900/124 367/908/129 -f 358/898/123 365/907/128 366/910/131 -f 363/904/126 370/915/134 364/911/132 -f 362/905/127 361/901/125 368/909/130 -f 360/900/124 359/902/78 366/910/131 -f 364/917/132 370/1280/134 351/918/117 -f 351/918/117 370/1280/134 341/920/74 -f 341/922/74 369/1281/133 352/923/121 -f 352/923/121 369/1281/133 368/925/130 -f 353/926/119 368/925/130 367/908/129 -f 354/887/115 367/908/129 366/910/131 -f 355/890/118 366/910/131 365/907/128 -f 356/892/120 365/907/128 364/917/132 -f 389/927/14 390/931/14 388/928/2 -f 391/930/6 392/933/6 390/931/14 -f 393/932/11 394/935/11 392/933/6 -f 395/934/1 396/1282/1 394/935/11 -f 397/936/12 398/940/12 396/937/1 -f 399/939/7 400/942/7 398/940/12 -f 401/941/13 402/943/13 400/942/7 -f 387/929/2 388/928/2 402/943/13 -f 117/667/61 119/440/135 121/656/54 -f 530/945/13 546/310/13 545/307/7 -f 528/947/12 544/320/12 543/529/1 -f 526/949/11 542/317/11 541/314/6 -f 524/951/14 540/312/14 539/527/2 -f 523/952/2 539/527/2 546/310/13 -f 529/946/7 545/307/7 544/320/12 -f 527/953/1 543/528/1 542/317/11 -f 525/950/6 541/314/6 540/312/14 -f 532/313/12 547/958/12 548/954/1 -f 531/311/1 548/954/1 554/955/11 -f 537/309/6 553/959/6 552/956/14 -f 535/318/2 551/1283/2 550/957/13 -f 533/315/7 549/961/7 547/958/12 -f 538/308/11 554/955/11 553/959/6 -f 536/321/14 552/956/14 551/960/2 -f 534/316/13 550/957/13 549/961/7 -f 570/329/13 563/331/2 555/962/2 -f 568/325/12 569/327/7 561/964/7 -f 566/336/11 567/338/1 559/966/1 -f 564/332/14 565/334/6 557/968/6 -f 569/327/7 570/329/13 562/963/13 -f 567/339/1 568/325/12 560/965/12 -f 565/334/6 566/336/11 558/967/11 -f 563/331/2 564/332/14 556/969/14 -f 576/340/14 584/975/14 585/971/6 -f 574/337/13 582/976/13 583/972/2 -f 572/333/12 579/977/12 581/973/7 -f 577/326/6 585/971/6 586/974/11 -f 575/536/2 583/1284/2 584/975/14 -f 573/335/7 581/973/7 582/976/13 -f 571/330/1 580/978/1 579/977/12 -f 578/328/11 586/974/11 580/978/1 -f 591/979/136 587/1285/343 647/980/137 -f 656/982/139 652/986/142 591/983/136 -f 596/985/141 592/988/144 652/986/142 -f 588/987/143 648/989/145 652/986/142 -f 648/989/145 587/1286/343 591/983/136 -f 657/990/146 653/992/148 592/988/144 -f 597/991/147 593/994/150 653/992/148 -f 589/993/149 649/995/151 653/992/148 -f 649/995/151 588/987/143 592/988/144 -f 597/991/147 658/998/154 654/996/152 -f 594/997/153 654/996/152 658/998/154 -f 594/997/153 590/1005/160 650/1000/156 -f 654/996/152 650/1000/156 589/993/149 -f 598/999/155 655/1004/159 651/981/138 -f 595/1001/140 655/1004/159 659/1002/157 -f 591/979/136 651/981/138 655/1004/159 -f 590/1005/160 594/997/153 651/981/138 -f 599/1006/158 660/1008/162 656/982/139 -f 600/1007/161 596/985/141 656/982/139 -f 661/1009/163 657/990/146 596/985/141 -f 601/1010/164 597/991/147 657/990/146 -f 662/1011/165 658/998/154 597/991/147 -f 602/1012/166 598/999/155 658/998/154 -f 602/1012/166 659/1002/157 655/1004/159 -f 599/1003/158 659/1002/157 663/1013/167 -f 603/1015/168 664/1016/169 660/1008/162 -f 600/1007/161 660/1008/162 664/1016/169 -f 604/1017/170 665/1019/172 661/1009/163 -f 605/1018/171 601/1010/164 661/1009/163 -f 666/1020/173 662/1011/165 601/1010/164 -f 606/1021/174 602/1012/166 662/1011/165 -f 663/1013/167 659/1002/157 602/1012/166 -f 756/1022/175 664/1016/169 603/1015/168 -f 668/1024/177 604/1017/170 664/1016/169 -f 757/1025/178 665/1019/172 604/1017/170 -f 605/1018/171 665/1019/172 757/1025/178 -f 666/1020/173 605/1018/171 669/1026/179 -f 606/1021/174 666/1020/173 758/1027/180 -f 663/1013/167 606/1021/174 670/1028/181 -f 667/1030/176 603/1014/168 663/1013/167 -f 667/1030/176 755/1029/182 759/1031/183 -f 672/1033/185 668/1024/177 756/1022/175 -f 669/1026/179 757/1025/178 761/1035/187 -f 760/1034/186 756/1022/175 667/1023/176 -f 670/1028/181 758/1027/180 762/1038/189 -f 761/1035/187 757/1025/178 668/1024/177 -f 610/1040/191 619/1050/201 692/1041/192 -f 758/1027/180 669/1026/179 673/1036/188 -f 755/1029/182 670/1028/181 674/1039/190 -f 766/1043/194 622/1287/197 609/1044/195 -f 622/1046/197 610/1040/191 678/1042/193 -f 763/1048/199 779/1059/210 607/1049/200 -f 607/1049/200 675/1052/203 692/1041/192 -f 620/1051/202 694/1055/206 675/1052/203 -f 764/1053/204 780/1066/215 608/1054/205 -f 610/1040/191 782/1064/214 763/1048/199 -f 608/1054/205 676/1057/208 694/1055/206 -f 621/1056/207 696/1094/240 676/1057/208 -f 781/1045/196 609/1044/195 621/1056/207 -f 779/1059/210 764/1053/204 620/1051/202 -f 671/1032/184 759/1031/183 683/1060/211 -f 609/1044/195 622/1287/197 698/1062/198 -f 782/1064/214 610/1040/191 622/1046/197 -f 780/1066/215 765/1058/209 621/1056/207 -f 615/1067/216 693/1071/219 685/1068/217 -f 612/1070/218 685/1068/217 693/1071/219 -f 612/1070/218 672/1033/185 760/1034/186 -f 760/1034/186 671/1037/184 611/1069/212 -f 616/1072/220 695/1075/223 687/1073/221 -f 613/1074/222 687/1073/221 695/1075/223 -f 613/1074/222 673/1036/188 761/1035/187 -f 687/1073/221 761/1035/187 672/1033/185 -f 697/1077/225 689/1079/227 613/1074/222 -f 618/1078/226 614/1080/228 689/1079/227 -f 674/1039/190 762/1038/189 689/1079/227 -f 762/1038/189 673/1036/188 613/1074/222 -f 691/1081/229 683/1060/211 614/1080/228 -f 705/1082/230 794/1288/254 681/1083/231 -f 615/1085/216 611/1061/212 683/1060/211 -f 759/1031/183 674/1039/190 614/1080/228 -f 768/1086/233 693/1071/219 615/1067/216 -f 702/1088/235 616/1072/220 693/1071/219 -f 678/1042/193 692/1041/192 699/1089/236 -f 698/1047/198 678/1042/193 786/1090/237 -f 769/1092/238 695/1075/223 616/1072/220 -f 704/1093/239 617/1076/224 695/1075/223 -f 621/1056/207 609/1044/195 677/1063/213 -f 694/1055/206 701/1102/248 783/1095/241 -f 697/1077/225 617/1076/224 704/1093/239 -f 618/1078/226 697/1077/225 770/1096/242 -f 692/1041/192 675/1052/203 783/1095/241 -f 696/1094/240 703/1109/255 784/1098/244 -f 691/1081/229 618/1078/226 706/1097/243 -f 768/1086/233 700/1087/234 708/1100/246 -f 676/1057/208 784/1098/244 701/1102/248 -f 677/1063/213 698/1062/198 705/1082/230 -f 679/1103/249 623/1117/263 639/1104/250 -f 682/1106/252 626/1113/259 642/1107/253 -f 699/1089/236 783/1095/241 679/1103/249 -f 677/1063/213 785/1084/232 703/1109/255 -f 792/1110/256 680/1119/264 624/1111/257 -f 626/1113/259 682/1106/252 791/1105/251 -f 784/1098/244 680/1119/264 792/1110/256 -f 786/1090/237 699/1089/236 791/1105/251 -f 793/1114/260 681/1083/231 625/1115/261 -f 792/1110/256 640/1112/258 623/1117/263 -f 785/1084/232 681/1083/231 793/1114/260 -f 783/1095/241 701/1102/248 792/1110/256 -f 615/1085/216 691/1081/229 767/1099/245 -f 680/1119/264 793/1114/260 641/1116/262 -f 705/1091/230 786/1090/237 682/1106/252 -f 703/1109/255 793/1114/260 680/1119/264 -f 769/1092/238 702/1088/235 710/1120/265 -f 708/1122/246 700/1118/234 767/1099/245 -f 681/1083/231 794/1288/254 642/1124/253 -f 790/1125/268 713/1130/273 731/1126/269 -f 798/1128/271 770/1096/242 704/1093/239 -f 702/1088/235 768/1086/233 796/1101/247 -f 642/1107/253 626/1113/259 713/1130/273 -f 731/1126/269 713/1130/273 626/1113/259 -f 706/1097/243 714/1137/280 795/1123/267 -f 704/1093/239 769/1092/238 797/1121/266 -f 732/1132/275 628/1144/287 787/1133/276 -f 707/1134/277 787/1133/276 627/1127/270 -f 710/1120/265 796/1101/247 772/1135/278 -f 714/1137/280 706/1097/243 770/1096/242 -f 639/1104/250 623/1117/263 707/1134/277 -f 732/1132/275 707/1134/277 623/1117/263 -f 712/1129/272 797/1121/266 773/1138/281 -f 772/1135/278 796/1101/247 708/1100/246 -f 709/1141/284 733/1152/294 629/1142/285 -f 732/1132/275 709/1141/284 788/1143/286 -f 730/1145/288 714/1137/280 798/1128/271 -f 797/1121/266 710/1120/265 726/1136/279 -f 624/1111/257 709/1141/284 732/1132/275 -f 641/1116/262 733/1152/294 709/1141/284 -f 742/1147/290 726/1136/279 772/1135/278 -f 798/1128/271 712/1129/272 728/1139/282 -f 734/1149/274 630/1289/302 789/1150/292 -f 733/1152/294 711/1151/293 789/1150/292 -f 634/1153/295 690/1161/303 718/1154/296 -f 714/1137/280 730/1145/288 771/1156/298 -f 625/1115/261 711/1151/293 733/1152/294 -f 642/1124/253 734/1149/274 711/1151/293 -f 684/1157/299 715/1168/310 735/1158/300 -f 790/1125/268 690/1161/303 634/1153/295 -f 713/1130/273 790/1125/268 630/1160/302 -f 690/1161/303 790/1125/268 627/1127/270 -f 686/1162/304 716/1172/312 736/1163/305 -f 718/1154/296 690/1161/303 631/1159/301 -f 628/1144/287 632/1164/306 684/1157/299 -f 788/1143/286 629/1142/285 633/1165/307 -f 633/1165/307 688/1170/311 717/1166/308 -f 632/1164/306 736/1163/305 715/1168/310 -f 787/1133/276 684/1157/299 631/1159/301 -f 789/1150/292 630/1289/302 634/1169/295 -f 724/1171/283 708/1122/246 795/1123/267 -f 686/1162/304 633/1165/307 737/1167/309 -f 788/1143/286 686/1162/304 632/1164/306 -f 629/1142/285 789/1150/292 688/1170/311 -f 728/1139/282 773/1138/281 777/1173/313 -f 776/1148/291 772/1135/278 724/1140/283 -f 688/1170/311 634/1169/295 738/1176/297 -f 739/1177/316 722/1196/331 718/1154/296 -f 730/1145/288 774/1146/289 778/1178/317 -f 773/1138/281 726/1136/279 742/1147/290 -f 735/1158/300 715/1168/310 719/1180/319 -f 741/1181/320 719/1180/319 715/1168/310 -f 776/1148/291 740/1175/315 748/1182/321 -f 774/1146/289 728/1139/282 744/1174/314 -f 736/1163/305 716/1172/312 720/1184/323 -f 737/1167/309 743/1189/327 720/1184/323 -f 729/1185/324 802/1192/142 646/1186/136 -f 730/1145/288 746/1179/318 775/1188/326 -f 717/1166/308 721/1190/328 743/1189/327 -f 738/1176/297 745/1207/330 721/1190/328 -f 803/1191/329 643/1197/144 802/1192/142 -f 802/1192/142 643/1197/144 747/1193/143 -f 718/1154/296 722/1196/331 745/1195/330 -f 739/1177/316 803/1191/329 729/1185/324 -f 643/1197/144 799/1201/148 635/1198/151 -f 722/1196/331 729/1185/324 806/1187/325 -f 739/1177/316 719/1180/319 723/1199/332 -f 804/1200/333 723/1199/332 719/1180/319 -f 804/1200/333 644/1215/150 799/1201/148 -f 799/1201/148 644/1215/150 749/1202/149 -f 741/1181/320 720/1184/323 725/1203/334 -f 805/1204/335 725/1203/334 720/1184/323 -f 740/1205/315 724/1171/283 771/1156/298 -f 723/1199/332 799/1201/148 643/1197/144 -f 743/1189/327 721/1190/328 727/1206/336 -f 745/1207/330 806/1224/325 727/1206/336 -f 809/1208/337 777/1173/313 742/1147/290 -f 740/1205/315 775/1188/326 807/1210/339 -f 645/1212/153 751/1222/160 636/1213/156 -f 800/1214/152 636/1213/156 749/1202/149 -f 810/1216/340 778/1178/317 744/1174/314 -f 742/1147/290 776/1148/291 808/1183/322 -f 804/1200/333 725/1203/334 800/1214/152 -f 645/1212/153 800/1214/152 725/1203/334 -f 775/1188/326 746/1179/318 754/1218/342 -f 752/1217/341 744/1174/314 777/1173/313 -f 646/1219/136 753/1290/343 637/1220/137 -f 801/1221/138 637/1220/137 751/1222/160 -f 646/1186/136 802/1192/142 638/1194/145 -f 754/1218/342 746/1179/318 778/1178/317 -f 805/1204/335 727/1206/336 801/1221/138 -f 646/1219/136 801/1221/138 727/1206/336 -f 98/634/38 97/620/27 94/638/41 -f 92/1291/346 82/629/34 95/1226/32 -f 82/629/34 79/1267/345 99/1225/6 -f 99/1225/6 101/1228/6 95/1226/32 -f 102/1227/7 86/631/35 83/633/37 -f 83/633/37 89/1292/39 98/634/38 -f 98/634/38 104/636/7 102/1227/7 -f 857/1230/14 858/1234/14 856/1231/2 -f 859/1233/6 860/1236/6 858/1234/14 -f 861/1235/11 862/1238/11 860/1236/6 -f 863/1237/1 864/1293/1 862/1238/11 -f 865/1239/12 866/1243/12 864/1240/1 -f 867/1242/7 868/1245/7 866/1243/12 -f 869/1244/13 870/1246/13 868/1245/7 -f 855/1232/2 856/1231/2 870/1246/13 -f 881/1247/2 882/1258/68 874/1248/68 -f 879/1250/3 880/1260/69 872/1251/69 -f 886/1253/9 879/1250/3 871/1252/3 -f 884/1255/70 885/1294/1 877/1256/1 -f 882/1258/68 883/1263/5 875/1259/5 -f 880/1260/69 881/1247/2 873/1249/2 -f 885/1261/1 886/1253/9 878/1254/9 -f 883/1263/5 884/1255/70 876/1257/70 +f 420/515/222 427/516/223 421/517/224 +f 418/518/225 424/519/226 417/520/226 +f 418/521/227 426/522/228 425/523/229 +f 410/524/230 412/525/231 411/526/230 +f 416/527/232 414/528/233 413/529/234 +f 414/528/233 410/524/230 411/526/230 +f 421/517/224 428/530/235 419/531/236 +f 420/515/222 425/523/229 426/522/228 +f 432/532/237 428/530/235 423/533/238 +f 426/522/228 424/534/239 427/516/223 +f 409/535/240 415/536/226 416/537/240 +f 429/538/241 416/537/240 431/539/241 +f 418/518/225 432/540/242 423/541/225 +f 430/542/242 431/539/241 432/540/242 +f 428/530/235 424/534/239 423/533/238 +f 412/525/231 429/543/243 425/544/229 +f 413/529/234 428/530/235 431/545/237 +f 425/544/229 430/546/243 418/547/227 +f 420/515/222 426/522/228 427/516/223 +f 418/518/225 423/541/225 424/519/226 +f 418/521/227 417/548/244 426/522/228 +f 410/524/230 409/549/245 412/525/231 +f 416/527/232 415/536/233 414/528/233 +f 414/528/233 415/536/233 410/524/230 +f 421/517/224 427/516/223 428/530/235 +f 420/515/222 422/550/246 425/523/229 +f 426/522/228 417/548/244 424/534/239 +f 409/535/240 410/524/226 415/536/226 +f 429/538/241 409/535/240 416/537/240 +f 418/518/225 430/542/242 432/540/242 +f 430/542/242 429/538/241 431/539/241 +f 428/530/235 427/516/223 424/534/239 +f 422/551/246 412/525/231 425/544/229 +f 412/525/231 409/549/245 429/543/243 +f 429/543/243 430/546/243 425/544/229 +f 431/545/237 416/527/232 413/529/234 +f 413/529/234 419/552/236 428/530/235 +f 428/530/235 432/532/237 431/545/237 +o Barrel +v 0.000000 1.875000 4.000000 +v -0.250000 1.808013 4.000000 +v -0.433012 1.625000 4.000000 +v -0.500000 1.375000 4.000000 +v -0.433012 1.125000 4.000000 +v -0.250000 0.941987 4.000000 +v 0.000000 0.875000 4.000000 +v 0.250000 0.941987 4.000000 +v 0.433012 1.125000 4.000000 +v 0.500000 1.375000 4.000000 +v 0.433013 1.625000 4.000000 +v 0.250000 1.808012 4.000000 +v 0.000000 1.875000 11.500000 +v -0.250000 1.808013 11.500000 +v -0.433012 1.625000 11.500000 +v -0.500000 1.375000 11.500000 +v -0.433012 1.125000 11.500000 +v -0.250000 0.941987 11.500000 +v 0.000000 0.875000 11.500000 +v 0.250000 0.941987 11.500000 +v 0.433012 1.125000 11.500000 +v 0.500000 1.375000 11.500000 +v 0.433013 1.625000 11.500000 +v 0.250000 1.808012 11.500000 +v 0.000000 1.812500 12.000000 +v -0.218750 1.753886 12.000000 +v -0.378886 1.593750 12.000000 +v -0.437500 1.375000 12.000000 +v -0.378886 1.156250 12.000000 +v -0.218750 0.996114 12.000000 +v 0.000000 0.937500 12.000000 +v 0.218750 0.996114 12.000000 +v 0.378886 1.156250 12.000000 +v 0.437500 1.375000 12.000000 +v 0.378886 1.593750 12.000000 +v 0.218750 1.753886 12.000000 +v -0.218750 1.753892 4.500000 +v 0.000000 1.812506 4.500000 +v -0.378886 1.593756 4.500000 +v -0.437500 1.375006 4.500000 +v -0.378886 1.156256 4.500000 +v -0.218750 0.996120 4.500000 +v 0.000000 0.937506 4.500000 +v 0.218750 0.996120 4.500000 +v 0.378886 1.156256 4.500000 +v 0.437500 1.375006 4.500000 +v 0.378886 1.593756 4.500000 +v 0.218750 1.753892 4.500000 +vt 0.002103 0.018927 +vt 0.015385 0.000117 +vt 0.028667 0.018927 +vt 0.017308 0.226425 +vt 0.028962 0.242929 +vt 0.017308 0.292443 +vt 0.015385 0.075355 +vt 0.007716 0.070315 +vt 0.002103 0.056545 +vt 0.000048 0.037736 +vt 0.007716 0.005157 +vt 0.023053 0.005157 +vt 0.030721 0.037736 +vt 0.028667 0.056545 +vt 0.023053 0.070315 +vt 0.010579 0.288021 +vt 0.005653 0.275939 +vt 0.003850 0.259434 +vt 0.005653 0.242929 +vt 0.010579 0.230847 +vt 0.024036 0.230847 +vt 0.030765 0.259434 +vt 0.028962 0.275939 +vt 0.024036 0.288021 +vt 0.261538 0.169811 +vt 0.030769 0.150943 +vt 0.261538 0.150943 +vt 0.261538 0.075472 +vt 0.030769 0.056604 +vt 0.261538 0.056604 +vt 0.261538 0.018868 +vt 0.030769 -0.000000 +vt 0.261538 -0.000000 +vt 0.261538 0.188679 +vt 0.030769 0.169811 +vt 0.261538 0.094340 +vt 0.030769 0.075472 +vt 0.261538 0.132075 +vt 0.030769 0.113208 +vt 0.261538 0.113208 +vt 0.261538 0.037736 +vt 0.030769 0.018868 +vt 0.261538 0.207547 +vt 0.030769 0.188679 +vt 0.030769 0.094340 +vt 0.030769 0.132075 +vt 0.030769 0.037736 +vt 0.261538 0.226415 +vt 0.030769 0.207547 +vt 0.030769 0.415094 +vt 0.261538 0.433962 +vt 0.030769 0.433962 +vt 0.030769 0.320755 +vt 0.261538 0.339623 +vt 0.030769 0.339623 +vt 0.030769 0.358491 +vt 0.261538 0.377358 +vt 0.030769 0.377358 +vt 0.030769 0.264151 +vt 0.261538 0.283019 +vt 0.030769 0.283019 +vt 0.261538 0.452830 +vt 0.030769 0.452830 +vt 0.261538 0.396226 +vt 0.030769 0.396226 +vt 0.261538 0.301887 +vt 0.030769 0.301887 +vt 0.030769 0.226415 +vt 0.261538 0.245283 +vt 0.030769 0.245283 +vt 0.261538 0.415094 +vt 0.261538 0.320755 +vt 0.261538 0.358491 +vt 0.261538 0.264151 +vt 0.030769 0.226415 +vt 0.261538 0.226415 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +s off +f 449/553/247 451/554/247 453/555/247 +f 463/556/247 465/557/247 457/558/247 +f 445/559/247 446/560/247 447/561/247 +f 447/561/247 448/562/247 449/553/247 +f 449/553/247 450/563/247 451/554/247 +f 451/554/247 452/564/247 453/555/247 +f 453/555/247 454/565/247 455/566/247 +f 455/566/247 456/567/247 453/555/247 +f 456/567/247 445/559/247 453/555/247 +f 445/559/247 447/561/247 453/555/247 +f 447/561/247 449/553/247 453/555/247 +f 457/558/247 458/568/247 459/569/247 +f 459/569/247 460/570/247 457/558/247 +f 460/570/247 461/571/247 457/558/247 +f 461/571/247 462/572/247 463/556/247 +f 463/556/247 464/573/247 465/557/247 +f 465/557/247 466/574/247 457/558/247 +f 466/574/247 467/575/247 457/558/247 +f 467/575/247 468/576/247 457/558/247 +f 461/571/247 463/556/247 457/558/247 +s 1 +f 436/577/248 447/578/249 435/579/249 +f 443/580/250 454/581/251 442/582/251 +f 440/583/252 451/584/253 439/585/253 +f 437/586/254 448/587/248 436/577/248 +f 444/588/255 455/589/250 443/580/250 +f 434/590/256 445/591/257 433/592/257 +f 441/593/258 452/594/252 440/583/252 +f 438/595/259 449/596/254 437/586/254 +f 433/592/257 456/597/255 444/588/255 +f 435/579/249 446/598/256 434/590/256 +f 442/582/251 453/599/258 441/593/258 +f 439/600/253 450/601/259 438/595/259 +f 461/602/254 474/603/259 462/604/259 +f 468/605/255 470/606/257 457/607/257 +f 458/608/256 471/609/249 459/610/249 +f 465/611/258 478/612/251 466/613/251 +f 462/604/259 475/614/253 463/615/253 +f 459/610/249 472/616/248 460/617/248 +f 466/613/251 479/618/250 467/619/250 +f 463/620/253 476/621/252 464/622/252 +f 460/617/248 473/623/254 461/602/254 +f 467/619/250 480/624/255 468/605/255 +f 457/607/257 469/625/256 458/608/256 +f 464/622/252 477/626/258 465/611/258 +f 436/577/248 448/587/248 447/578/249 +f 443/580/250 455/589/250 454/581/251 +f 440/583/252 452/594/252 451/584/253 +f 437/586/254 449/596/254 448/587/248 +f 444/588/255 456/597/255 455/589/250 +f 434/590/256 446/598/256 445/591/257 +f 441/593/258 453/599/258 452/594/252 +f 438/595/259 450/601/259 449/596/254 +f 433/592/257 445/591/257 456/597/255 +f 435/579/249 447/578/249 446/598/256 +f 442/582/251 454/581/251 453/599/258 +f 439/600/253 451/627/253 450/601/259 +f 461/602/254 473/623/254 474/603/259 +f 468/605/255 480/624/255 470/606/257 +f 458/608/256 469/625/256 471/609/249 +f 465/611/258 477/626/258 478/612/251 +f 462/604/259 474/603/259 475/614/253 +f 459/610/249 471/609/249 472/616/248 +f 466/613/251 478/612/251 479/618/250 +f 463/620/253 475/628/253 476/621/252 +f 460/617/248 472/616/248 473/623/254 +f 467/619/250 479/618/250 480/624/255 +f 457/607/257 470/606/257 469/625/256 +f 464/622/252 476/621/252 477/626/258 +o Battery +v -0.562500 -1.000000 -1.500000 +v 0.562500 -1.000000 -1.500000 +v -0.562500 -1.000000 2.000000 +v 0.562500 -1.000000 2.000000 +v 0.437500 -0.750000 -1.375000 +v -0.437500 -0.750000 -1.375000 +v -0.437500 -0.750000 1.875000 +v 0.437500 -0.750000 1.875000 +v 0.562500 -0.750000 -1.500000 +v -0.562500 -0.750000 -1.500000 +v -0.562500 -0.750000 2.000000 +v 0.562500 -0.750000 2.000000 +v 0.437500 0.750000 -1.375000 +v -0.437500 0.750000 -1.375000 +v -0.437500 0.750000 1.875000 +v 0.437500 0.750000 1.875000 +v 0.062500 0.750000 -1.000000 +v 0.312500 0.750000 -1.000000 +v 0.062500 0.750000 -1.250000 +v 0.312500 0.750000 -1.250000 +v -0.312500 0.750000 -1.000000 +v -0.062500 0.750000 -1.000000 +v -0.312500 0.750000 -1.250000 +v -0.062500 0.750000 -1.250000 +v 0.062500 0.875000 -1.250000 +v 0.062500 0.875000 -1.000000 +v 0.312500 0.875000 -1.000000 +v 0.312500 0.875000 -1.250000 +v -0.312500 0.875000 -1.250000 +v -0.312500 0.875000 -1.000000 +v -0.062500 0.875000 -1.000000 +v -0.062500 0.875000 -1.250000 +vt 0.115385 0.556604 +vt 0.007692 0.471698 +vt 0.115385 0.471698 +vt 0.376923 0.452830 +vt 0.276923 0.566038 +vt 0.276923 0.452830 +vt 0.007692 0.575472 +vt 0.007692 0.556604 +vt 0.123077 0.556604 +vt 0.115385 0.452830 +vt -0.000000 0.471698 +vt 0.111538 0.584906 +vt 0.115385 0.660377 +vt 0.111538 0.650943 +vt 0.011538 0.650943 +vt 0.011538 0.584906 +vt 0.115385 0.575472 +vt 0.007692 0.660377 +vt 0.150000 0.632075 +vt 0.250000 0.566038 +vt 0.250000 0.632075 +vt 0.150000 0.452830 +vt 0.123077 0.566038 +vt 0.123077 0.452830 +vt 0.250000 0.452830 +vt 0.150000 0.566038 +vt 0.138462 0.575472 +vt 0.146154 0.594340 +vt 0.138462 0.594340 +vt 0.123077 0.575472 +vt 0.130769 0.594340 +vt 0.123077 0.594340 +vt 0.146154 0.566038 +vt 0.138462 0.566038 +vt 0.138462 0.603774 +vt 0.146154 0.603774 +vt 0.134615 0.594340 +vt 0.130769 0.575472 +vt 0.134615 0.575472 +vt 0.119231 0.575472 +vt 0.119231 0.594340 +vt 0.150000 0.594340 +vt 0.146154 0.575472 +vt 0.150000 0.575472 +vt 0.134615 0.575472 +vt 0.134615 0.594340 +vt 0.130769 0.566038 +vt 0.123077 0.566038 +vt 0.123077 0.603774 +vt 0.130769 0.603774 +vt 0.376923 0.566038 +vt 0.123077 0.471698 +vt 0.007692 0.452830 +vt -0.000000 0.556604 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +s off +f 482/629/260 483/630/260 481/631/260 +f 487/632/261 494/633/261 486/634/261 +f 482/629/262 492/635/262 484/636/262 +f 481/631/263 489/637/263 482/629/263 +f 483/630/261 490/638/261 481/631/261 +f 484/636/264 491/639/264 483/630/264 +f 485/640/265 490/641/265 486/642/265 +f 487/643/265 492/635/265 488/644/265 +f 488/644/265 489/645/265 485/640/265 +f 486/642/265 491/646/265 487/643/265 +f 495/647/265 493/648/265 494/649/265 +f 488/650/264 495/651/264 487/652/264 +f 485/653/262 496/654/262 488/650/262 +f 486/634/263 493/648/263 485/653/263 +f 507/655/265 505/656/265 506/657/265 +f 511/658/265 509/659/265 510/660/265 +f 500/661/262 507/655/262 498/662/262 +f 497/663/261 505/656/261 499/664/261 +f 503/665/263 512/666/263 504/667/263 +f 502/668/264 510/660/264 501/669/264 +f 499/670/263 508/671/263 500/672/263 +f 498/673/264 506/657/264 497/674/264 +f 504/675/262 511/658/262 502/676/262 +f 501/677/261 509/659/261 503/678/261 +f 482/629/260 484/636/260 483/630/260 +f 487/632/261 495/679/261 494/633/261 +f 482/629/262 489/645/262 492/635/262 +f 481/631/263 490/680/263 489/637/263 +f 483/630/261 491/681/261 490/638/261 +f 484/636/264 492/682/264 491/639/264 +f 485/640/265 489/645/265 490/641/265 +f 487/643/265 491/646/265 492/635/265 +f 488/644/265 492/635/265 489/645/265 +f 486/642/265 490/641/265 491/646/265 +f 495/647/265 496/654/265 493/648/265 +f 488/650/264 496/654/264 495/651/264 +f 485/653/262 493/648/262 496/654/262 +f 486/634/263 494/633/263 493/648/263 +f 507/655/265 508/671/265 505/656/265 +f 511/658/265 512/666/265 509/659/265 +f 500/661/262 508/671/262 507/655/262 +f 497/663/261 506/657/261 505/656/261 +f 503/665/263 509/659/263 512/666/263 +f 502/668/264 511/658/264 510/660/264 +f 499/670/263 505/656/263 508/671/263 +f 498/673/264 507/655/264 506/657/264 +f 504/675/262 512/666/262 511/658/262 +f 501/677/261 510/660/261 509/659/261 +o Lever +v 0.562500 -0.375000 2.000000 +v 0.562500 -0.109835 2.109835 +v 0.562500 0.000000 2.375000 +v 0.562500 -0.109835 2.640165 +v 0.562500 -0.375000 2.750000 +v 0.562500 -0.640165 2.640165 +v 0.562500 -0.750000 2.375000 +v 0.562500 -0.640165 2.109835 +v 1.062500 -0.375000 2.000000 +v 1.062500 -0.109835 2.109835 +v 1.062500 0.000000 2.375000 +v 1.062500 -0.109835 2.640165 +v 1.062500 -0.375000 2.750000 +v 1.062500 -0.640165 2.640165 +v 1.062500 -0.750000 2.375000 +v 1.062500 -0.640165 2.109835 +v 0.812500 -0.625000 2.250000 +v 0.724112 -0.625000 2.286612 +v 0.687500 -0.625000 2.375000 +v 0.724112 -0.625000 2.463388 +v 0.812500 -0.625000 2.500000 +v 0.900888 -0.625000 2.463388 +v 0.937500 -0.625000 2.375000 +v 0.900888 -0.625000 2.286612 +v 0.812500 -1.125000 2.250000 +v 0.724112 -1.125000 2.286612 +v 0.687500 -1.125000 2.375000 +v 0.724112 -1.125000 2.463388 +v 0.812500 -1.125000 2.500000 +v 0.900888 -1.125000 2.463388 +v 0.937500 -1.125000 2.375000 +v 0.900888 -1.125000 2.286612 +v 0.724112 -1.150888 2.275888 +v 0.687500 -1.213388 2.338388 +v 0.724112 -1.275888 2.400888 +v 0.812500 -1.301777 2.426777 +v 0.900888 -1.275888 2.400888 +v 0.937500 -1.213388 2.338388 +v 0.900888 -1.150888 2.275888 +v 0.724112 -1.161612 2.250000 +v 0.687500 -1.250000 2.250000 +v 0.724112 -1.338388 2.250000 +v 0.812500 -1.375000 2.250000 +v 0.900888 -1.338388 2.250000 +v 0.937500 -1.250000 2.250000 +v 0.900888 -1.161612 2.250000 +v 0.812500 -1.125000 -0.750000 +v 0.724112 -1.161612 -0.750000 +v 0.687500 -1.250000 -0.750000 +v 0.724112 -1.338388 -0.750000 +v 0.812500 -1.375000 -0.750000 +v 0.900888 -1.338388 -0.750000 +v 0.937500 -1.250000 -0.750000 +v 0.900888 -1.161612 -0.750000 +v -0.812500 -0.625000 2.250000 +v -0.900888 -0.625000 2.286612 +v -0.937500 -0.625000 2.375000 +v -0.900888 -0.625000 2.463388 +v -0.812500 -0.625000 2.500000 +v -0.724112 -0.625000 2.463388 +v -0.687500 -0.625000 2.375000 +v -0.724112 -0.625000 2.286612 +v -0.812500 -1.125000 2.250000 +v -0.900888 -1.125000 2.286612 +v -0.937500 -1.125000 2.375000 +v -0.900888 -1.125000 2.463388 +v -0.812500 -1.125000 2.500000 +v -0.724112 -1.125000 2.463388 +v -0.687500 -1.125000 2.375000 +v -0.724112 -1.125000 2.286612 +v -0.900888 -1.150888 2.275888 +v -0.937500 -1.213388 2.338388 +v -0.900888 -1.275888 2.400888 +v -0.812500 -1.301777 2.426777 +v -0.724112 -1.275888 2.400888 +v -0.687500 -1.213388 2.338388 +v -0.724112 -1.150888 2.275888 +v -0.900888 -1.161612 2.250000 +v -0.937500 -1.250000 2.250000 +v -0.900888 -1.338388 2.250000 +v -0.812500 -1.375000 2.250000 +v -0.724112 -1.338388 2.250000 +v -0.687500 -1.250000 2.250000 +v -0.724112 -1.161612 2.250000 +v -0.812500 -1.125000 -0.750000 +v -0.900888 -1.161612 -0.750000 +v -0.937500 -1.250000 -0.750000 +v -0.900888 -1.338388 -0.750000 +v -0.812500 -1.375000 -0.750000 +v -0.724112 -1.338388 -0.750000 +v -0.687500 -1.250000 -0.750000 +v -0.724112 -1.161612 -0.750000 +v 0.775888 -1.125000 -0.838388 +v 0.713388 -1.161612 -0.775888 +v 0.713388 -1.338388 -0.775888 +v 0.775888 -1.375000 -0.838388 +v 0.838388 -1.338388 -0.900888 +v 0.864277 -1.250000 -0.926777 +v 0.838388 -1.161612 -0.900888 +v 0.687500 -1.125000 -0.875000 +v 0.687500 -1.161612 -0.786612 +v 0.687500 -1.338388 -0.786612 +v 0.687500 -1.375000 -0.875000 +v 0.687500 -1.338388 -0.963388 +v 0.687500 -1.250000 -1.000000 +v 0.687500 -1.161612 -0.963388 +v -0.775888 -1.125000 -0.838388 +v -0.838388 -1.161612 -0.900888 +v -0.864277 -1.250000 -0.926777 +v -0.838388 -1.338388 -0.900888 +v -0.775888 -1.375000 -0.838388 +v -0.713388 -1.338388 -0.775888 +v -0.713388 -1.161612 -0.775888 +v -0.687500 -1.125000 -0.875000 +v -0.687500 -1.161612 -0.963388 +v -0.687500 -1.250000 -1.000000 +v -0.687500 -1.338388 -0.963388 +v -0.687500 -1.375000 -0.875000 +v -0.687500 -1.338388 -0.786612 +v -0.687500 -1.161612 -0.786612 +v -0.562500 -0.375000 2.000000 +v -0.562500 -0.109835 2.109835 +v -0.562500 0.000000 2.375000 +v -0.562500 -0.109835 2.640165 +v -0.562500 -0.375000 2.750000 +v -0.562500 -0.640165 2.640165 +v -0.562500 -0.750000 2.375000 +v -0.562500 -0.640165 2.109835 +v -1.062500 -0.375000 2.000000 +v -1.062500 -0.109835 2.109835 +v -1.062500 0.000000 2.375000 +v -1.062500 -0.109835 2.640165 +v -1.062500 -0.375000 2.750000 +v -1.062500 -0.640165 2.640165 +v -1.062500 -0.750000 2.375000 +v -1.062500 -0.640165 2.109835 +vt 0.392282 0.481132 +vt 0.403846 0.452768 +vt 0.415410 0.481132 +vt 0.403846 0.452768 +vt 0.392282 0.481132 +vt 0.403846 0.509497 +vt 0.412023 0.501189 +vt 0.403846 0.509497 +vt 0.395669 0.501189 +vt 0.395669 0.461075 +vt 0.412023 0.461075 +vt 0.412023 0.501189 +vt 0.415410 0.481132 +vt 0.412023 0.461075 +vt 0.395669 0.461075 +vt 0.395669 0.501189 +vt 0.376923 0.509434 +vt 0.392308 0.528302 +vt 0.376923 0.528302 +vt 0.376923 0.547170 +vt 0.392308 0.566038 +vt 0.376923 0.566038 +vt 0.392308 0.584906 +vt 0.376923 0.584906 +vt 0.376923 0.452830 +vt 0.392308 0.471698 +vt 0.376923 0.471698 +vt 0.376923 0.490566 +vt 0.392308 0.509434 +vt 0.392308 0.547170 +vt 0.392308 0.603774 +vt 0.376923 0.603774 +vt 0.392308 0.490566 +vt 0.303846 0.688679 +vt 0.319231 0.679245 +vt 0.319231 0.688679 +vt 0.303846 0.707547 +vt 0.319231 0.698113 +vt 0.319231 0.707547 +vt 0.303846 0.726415 +vt 0.319231 0.716981 +vt 0.319231 0.726415 +vt 0.303846 0.669811 +vt 0.319231 0.660377 +vt 0.319231 0.669811 +vt 0.303846 0.698113 +vt 0.303846 0.716981 +vt 0.303846 0.735849 +vt 0.319231 0.735849 +vt 0.303846 0.679245 +vt 0.300000 0.660377 +vt 0.296154 0.669811 +vt 0.296154 0.660377 +vt 0.300000 0.688679 +vt 0.296154 0.698113 +vt 0.296154 0.688679 +vt 0.296154 0.707547 +vt 0.296154 0.735849 +vt 0.296154 0.726415 +vt 0.300000 0.698113 +vt 0.296154 0.716981 +vt 0.292308 0.698113 +vt 0.292308 0.688679 +vt 0.288462 0.707547 +vt 0.292308 0.735849 +vt 0.288462 0.726415 +vt 0.288462 0.716981 +vt 0.292308 0.669811 +vt 0.292308 0.660377 +vt 0.296154 0.679245 +vt 0.300000 0.669811 +vt 0.288462 0.688679 +vt 0.196154 0.679245 +vt 0.288462 0.679245 +vt 0.288462 0.698113 +vt 0.196154 0.688679 +vt 0.196154 0.669811 +vt 0.288462 0.669811 +vt 0.196154 0.707547 +vt 0.288462 0.735849 +vt 0.196154 0.726415 +vt 0.196154 0.698113 +vt 0.196154 0.716981 +vt 0.196154 0.660377 +vt 0.288462 0.660377 +vt 0.015385 0.669811 +vt -0.000000 0.679245 +vt 0.000000 0.669811 +vt 0.015385 0.726415 +vt 0.000000 0.735849 +vt -0.000000 0.726415 +vt 0.015385 0.707547 +vt 0.000000 0.716981 +vt -0.000000 0.707547 +vt 0.015385 0.688679 +vt -0.000000 0.698113 +vt -0.000000 0.688679 +vt 0.015385 0.660377 +vt 0.000000 0.660377 +vt 0.015385 0.716981 +vt 0.015385 0.698113 +vt 0.015385 0.679245 +vt 0.019231 0.698113 +vt 0.023077 0.688679 +vt 0.023077 0.698113 +vt 0.019231 0.669811 +vt 0.023077 0.660377 +vt 0.023077 0.669811 +vt 0.023077 0.716981 +vt 0.023077 0.726415 +vt 0.023077 0.707547 +vt 0.023077 0.735849 +vt 0.019231 0.735849 +vt 0.026923 0.660377 +vt 0.026923 0.669811 +vt 0.030769 0.716981 +vt 0.030769 0.726415 +vt 0.026923 0.698113 +vt 0.030769 0.707547 +vt 0.026923 0.735849 +vt 0.026923 0.688679 +vt 0.023077 0.679245 +vt 0.019231 0.688679 +vt 0.030769 0.669811 +vt 0.123077 0.679245 +vt 0.030769 0.679245 +vt 0.030769 0.660377 +vt 0.123077 0.669811 +vt 0.123077 0.688679 +vt 0.030769 0.688679 +vt 0.123077 0.726415 +vt 0.030769 0.698113 +vt 0.123077 0.707547 +vt 0.123077 0.735849 +vt 0.030769 0.735849 +vt 0.123077 0.716981 +vt 0.123077 0.698113 +vt 0.192308 0.679245 +vt 0.188462 0.669811 +vt 0.192308 0.669811 +vt 0.188462 0.707547 +vt 0.188462 0.698113 +vt 0.192308 0.716981 +vt 0.188462 0.726415 +vt 0.188462 0.716981 +vt 0.188462 0.679245 +vt 0.188462 0.688679 +vt 0.180769 0.707547 +vt 0.184615 0.679245 +vt 0.184615 0.669811 +vt 0.180769 0.698113 +vt 0.184615 0.716981 +vt 0.180769 0.688679 +vt 0.188462 0.660377 +vt 0.188462 0.735849 +vt 0.192308 0.726415 +vt 0.184615 0.726415 +vt 0.130769 0.679245 +vt 0.130769 0.688679 +vt 0.126923 0.716981 +vt 0.130769 0.707547 +vt 0.130769 0.716981 +vt 0.130769 0.698113 +vt 0.126923 0.679245 +vt 0.130769 0.669811 +vt 0.130769 0.726415 +vt 0.126923 0.726415 +vt 0.138462 0.688679 +vt 0.138462 0.707547 +vt 0.134615 0.716981 +vt 0.138462 0.698113 +vt 0.134615 0.679245 +vt 0.134615 0.726415 +vt 0.130769 0.660377 +vt 0.126923 0.669811 +vt 0.134615 0.669811 +vt 0.130769 0.735849 +vt 0.138462 0.679245 +vt 0.180769 0.669811 +vt 0.180769 0.679245 +vt 0.138462 0.660377 +vt 0.180769 0.660377 +vt 0.138462 0.735849 +vt 0.180769 0.726415 +vt 0.180769 0.735849 +vt 0.138462 0.716981 +vt 0.180769 0.716981 +vt 0.392308 0.528302 +vt 0.376923 0.509434 +vt 0.376923 0.528302 +vt 0.392308 0.566038 +vt 0.376923 0.547170 +vt 0.376923 0.566038 +vt 0.392308 0.584906 +vt 0.376923 0.584906 +vt 0.392308 0.471698 +vt 0.376923 0.452830 +vt 0.376923 0.471698 +vt 0.392308 0.509434 +vt 0.376923 0.490566 +vt 0.392308 0.547170 +vt 0.392308 0.603774 +vt 0.376923 0.603774 +vt 0.392308 0.490566 +vt 0.392308 0.452830 +vt 0.303846 0.660377 +vt 0.300000 0.735849 +vt 0.196154 0.735849 +vt 0.015385 0.735849 +vt 0.019231 0.660377 +vt 0.123077 0.660377 +vt 0.138462 0.669811 +vt 0.138462 0.726415 +vt 0.392308 0.452830 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 1.0000 -0.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.0000 1.0000 +vn 0.7263 0.1363 -0.6737 +vn 0.7071 0.0000 -0.7071 +vn 0.6794 -0.1448 0.7194 +vn 0.7071 0.0000 0.7071 +vn -0.6794 -0.1448 0.7194 +vn -0.7071 0.0000 0.7071 +vn -0.7263 0.1363 -0.6737 +vn -0.7071 0.0000 -0.7071 +vn 0.9987 -0.0196 0.0473 +vn -0.0000 -0.1866 0.9824 +vn -0.9987 -0.0196 0.0473 +vn -0.7574 0.4617 -0.4617 +vn -0.9955 -0.0671 0.0671 +vn 0.9955 -0.0671 0.0671 +vn 0.7574 0.4617 -0.4617 +vn 0.6630 -0.5294 0.5294 +vn -0.6630 -0.5294 0.5294 +vn 0.9987 -0.0473 0.0196 +vn 0.7263 0.6737 -0.1363 +vn 0.6794 -0.7194 0.1448 +vn -0.9987 -0.0473 0.0196 +vn -0.6794 -0.7194 0.1448 +vn -0.0000 -0.9824 0.1866 +vn -0.7263 0.6737 -0.1363 +vn 0.0473 0.9987 -0.0196 +vn 0.7194 0.6794 -0.1448 +vn -0.6737 0.7263 0.1363 +vn 0.7194 -0.6794 -0.1448 +vn -0.6737 -0.7263 0.1363 +vn 0.9824 -0.0000 -0.1866 +vn 0.0473 -0.9987 -0.0196 +vn -0.0473 0.9987 -0.0196 +vn 0.6737 0.7263 0.1363 +vn -0.7194 0.6794 -0.1448 +vn 0.6737 -0.7263 0.1363 +vn -0.7194 -0.6794 -0.1448 +vn -0.0473 -0.9987 -0.0196 +vn -0.9824 0.0000 -0.1866 +vn -0.4617 0.7574 0.4617 +vn 0.5294 -0.6630 -0.5294 +vn -0.4617 -0.7574 0.4617 +vn 0.0671 -0.9955 -0.0671 +vn 0.0671 0.9955 -0.0671 +vn 0.5294 0.6630 -0.5294 +vn 0.1448 -0.6794 -0.7194 +vn 0.0196 0.9987 -0.0473 +vn -0.1363 0.7263 0.6737 +vn 0.1866 -0.0000 -0.9824 +vn 0.0196 -0.9987 -0.0473 +vn 0.1448 0.6794 -0.7194 +vn -0.1363 -0.7263 0.6737 +vn -0.0671 0.9955 -0.0671 +vn -0.5294 0.6630 -0.5294 +vn -0.5294 -0.6630 -0.5294 +vn -0.0671 -0.9955 -0.0671 +vn 0.4617 0.7574 0.4617 +vn 0.4617 -0.7574 0.4617 +vn -0.1448 0.6794 -0.7194 +vn -0.1448 -0.6794 -0.7194 +vn -0.0196 -0.9987 -0.0473 +vn -0.1866 0.0000 -0.9824 +vn -0.0196 0.9987 -0.0473 +vn 0.1363 -0.7263 0.6737 +vn 0.1363 0.7263 0.6737 +s off +f 525/683/266 527/684/266 521/685/266 +f 647/686/267 645/687/267 643/688/267 +f 521/685/266 522/689/266 523/690/266 +f 523/690/266 524/691/266 525/683/266 +f 525/683/266 526/692/266 527/684/266 +f 527/684/266 528/693/266 521/685/266 +f 521/685/266 523/690/266 525/683/266 +f 643/688/267 642/694/267 641/695/267 +f 641/695/267 648/696/267 647/686/267 +f 647/686/267 646/697/267 645/687/267 +f 645/687/267 644/698/267 643/688/267 +f 643/688/267 641/695/267 647/686/267 +s 1 +f 516/699/268 523/700/269 515/701/269 +f 514/702/270 521/703/271 513/704/271 +f 513/704/271 528/705/272 520/706/272 +f 519/707/273 526/708/274 518/709/274 +f 517/710/275 524/711/268 516/699/268 +f 515/701/269 522/712/270 514/702/270 +f 520/706/272 527/713/273 519/714/273 +f 518/709/274 525/715/275 517/710/275 +f 544/716/276 529/717/271 536/718/277 +f 542/719/278 535/720/266 534/721/279 +f 540/722/280 533/723/275 532/724/281 +f 538/725/282 531/726/267 530/727/283 +f 543/728/284 536/718/277 535/720/266 +f 541/729/285 534/721/279 533/723/275 +f 539/730/286 532/724/281 531/731/267 +f 537/732/270 530/727/283 529/717/271 +f 539/733/286 545/734/287 546/735/288 +f 544/736/276 550/737/289 551/738/290 +f 541/729/285 549/739/291 542/719/278 +f 540/722/280 546/740/288 547/741/292 +f 542/719/278 550/737/289 543/742/284 +f 540/722/280 548/743/274 541/729/285 +f 551/738/290 557/744/293 558/745/294 +f 548/743/274 556/746/295 549/739/291 +f 547/741/292 553/747/296 554/748/297 +f 549/739/291 557/744/293 550/737/289 +f 547/741/292 555/749/298 548/743/274 +f 546/735/288 552/750/299 553/751/296 +f 537/752/270 545/734/287 538/753/282 +f 545/734/287 537/752/270 552/750/299 +f 544/736/276 551/738/290 537/752/270 +f 551/738/290 558/745/294 537/752/270 +f 558/754/294 559/755/300 537/756/270 +f 557/757/293 566/758/301 558/754/294 +f 537/756/270 560/759/302 552/760/299 +f 555/749/298 564/761/303 556/746/295 +f 553/762/296 562/763/304 554/748/297 +f 556/746/295 565/764/305 557/757/293 +f 554/748/297 563/765/306 555/749/298 +f 552/760/299 561/766/281 553/767/296 +f 582/768/276 567/769/271 574/770/277 +f 580/771/278 573/772/266 572/773/279 +f 578/774/280 571/775/275 570/776/281 +f 576/777/282 569/778/267 568/779/283 +f 581/780/284 574/770/277 573/781/266 +f 579/782/285 572/773/279 571/775/275 +f 577/783/286 570/776/281 569/778/267 +f 575/784/270 568/779/283 567/769/271 +f 577/785/286 583/786/287 584/787/288 +f 582/788/276 588/789/289 589/790/290 +f 580/771/278 586/791/274 587/792/291 +f 578/774/280 584/787/288 585/793/292 +f 580/771/278 588/794/289 581/795/284 +f 578/774/280 586/791/274 579/782/285 +f 589/790/290 595/796/293 596/797/294 +f 587/792/291 593/798/298 594/799/295 +f 585/793/292 591/800/296 592/801/297 +f 587/792/291 595/802/293 588/794/289 +f 585/793/292 593/798/298 586/791/274 +f 584/787/288 590/803/299 591/800/296 +f 575/804/270 583/786/287 576/805/282 +f 583/786/287 575/804/270 590/803/299 +f 582/788/276 589/790/290 575/804/270 +f 589/790/290 596/797/294 575/804/270 +f 596/806/294 597/807/307 575/808/270 +f 595/809/293 604/810/308 596/806/294 +f 575/808/270 598/811/309 590/812/299 +f 593/798/298 602/813/310 594/799/295 +f 591/814/296 600/815/311 592/801/297 +f 594/799/295 603/816/279 595/817/293 +f 592/801/297 601/818/312 593/798/298 +f 590/812/299 599/819/313 591/814/296 +f 559/820/300 606/821/314 560/822/302 +f 565/764/305 609/823/315 610/824/277 +f 563/825/306 607/826/316 608/827/317 +f 566/758/301 605/828/318 559/820/300 +f 566/758/301 610/824/277 611/829/319 +f 564/761/303 608/827/317 609/823/315 +f 608/827/317 616/830/320 609/823/315 +f 606/821/314 612/831/321 613/832/322 +f 609/823/315 617/833/323 610/824/277 +f 607/826/316 615/834/324 608/827/317 +f 605/828/318 618/835/325 612/831/321 +f 610/824/277 618/835/325 611/829/319 +f 560/822/302 606/821/314 561/836/281 +f 606/821/314 613/832/322 561/836/281 +f 561/837/281 607/826/316 562/838/304 +f 607/826/316 561/837/281 614/839/326 +f 598/811/309 619/840/327 620/841/328 +f 601/842/312 622/843/329 623/844/330 +f 599/819/313 620/841/328 621/845/283 +f 597/846/307 625/847/331 619/840/327 +f 601/842/312 624/848/332 602/849/310 +f 599/819/313 622/843/329 600/815/311 +f 619/840/327 627/850/333 620/841/328 +f 623/844/330 629/851/334 630/852/335 +f 620/841/328 628/853/336 621/845/283 +f 625/847/331 626/854/337 619/840/327 +f 624/848/332 630/852/335 631/855/338 +f 622/843/329 628/853/336 629/851/334 +f 603/856/279 625/847/331 604/857/308 +f 625/847/331 603/856/279 632/858/339 +f 602/849/310 624/848/332 603/859/279 +f 624/848/332 631/855/338 603/859/279 +f 626/860/337 613/861/322 612/862/321 +f 613/861/322 603/863/279 561/864/281 +f 603/865/279 614/866/326 561/867/281 +f 614/866/326 630/868/335 615/869/324 +f 615/869/324 629/851/334 616/830/320 +f 616/830/320 628/853/336 617/833/323 +f 617/833/323 627/850/333 618/835/325 +f 618/835/325 626/860/337 612/862/321 +f 643/870/269 636/871/268 635/872/269 +f 641/873/271 634/874/270 633/875/271 +f 648/876/272 633/875/271 640/877/272 +f 646/878/274 639/879/273 638/880/274 +f 644/881/268 637/882/275 636/871/268 +f 642/883/270 635/872/269 634/874/270 +f 647/884/273 640/877/272 639/885/273 +f 645/886/275 638/880/274 637/882/275 +f 516/699/268 524/711/268 523/700/269 +f 514/702/270 522/712/270 521/703/271 +f 513/704/271 521/703/271 528/705/272 +f 519/707/273 527/887/273 526/708/274 +f 517/710/275 525/715/275 524/711/268 +f 515/701/269 523/700/269 522/712/270 +f 520/706/272 528/705/272 527/713/273 +f 518/709/274 526/708/274 525/715/275 +f 544/716/276 537/732/270 529/717/271 +f 542/719/278 543/728/284 535/720/266 +f 540/722/280 541/729/285 533/723/275 +f 538/725/282 539/888/286 531/726/267 +f 543/728/284 544/716/276 536/718/277 +f 541/729/285 542/719/278 534/721/279 +f 539/730/286 540/722/280 532/724/281 +f 537/732/270 538/725/282 530/727/283 +f 539/733/286 538/753/282 545/734/287 +f 544/736/276 543/742/284 550/737/289 +f 541/729/285 548/743/274 549/739/291 +f 540/722/280 539/889/286 546/740/288 +f 542/719/278 549/739/291 550/737/289 +f 540/722/280 547/741/292 548/743/274 +f 551/738/290 550/737/289 557/744/293 +f 548/743/274 555/749/298 556/746/295 +f 547/741/292 546/740/288 553/747/296 +f 549/739/291 556/746/295 557/744/293 +f 547/741/292 554/748/297 555/749/298 +f 546/735/288 545/734/287 552/750/299 +f 558/754/294 566/758/301 559/755/300 +f 557/757/293 565/764/305 566/758/301 +f 537/756/270 559/755/300 560/759/302 +f 555/749/298 563/765/306 564/761/303 +f 553/762/296 561/890/281 562/763/304 +f 556/746/295 564/761/303 565/764/305 +f 554/748/297 562/763/304 563/765/306 +f 552/760/299 560/759/302 561/766/281 +f 582/768/276 575/784/270 567/769/271 +f 580/771/278 581/891/284 573/772/266 +f 578/774/280 579/782/285 571/775/275 +f 576/777/282 577/783/286 569/778/267 +f 581/780/284 582/768/276 574/770/277 +f 579/782/285 580/771/278 572/773/279 +f 577/783/286 578/774/280 570/776/281 +f 575/784/270 576/777/282 568/779/283 +f 577/785/286 576/805/282 583/786/287 +f 582/788/276 581/892/284 588/789/289 +f 580/771/278 579/782/285 586/791/274 +f 578/774/280 577/785/286 584/787/288 +f 580/771/278 587/792/291 588/794/289 +f 578/774/280 585/793/292 586/791/274 +f 589/790/290 588/789/289 595/796/293 +f 587/792/291 586/791/274 593/798/298 +f 585/793/292 584/787/288 591/800/296 +f 587/792/291 594/799/295 595/802/293 +f 585/793/292 592/801/297 593/798/298 +f 584/787/288 583/786/287 590/803/299 +f 596/806/294 604/810/308 597/807/307 +f 595/809/293 603/893/279 604/810/308 +f 575/808/270 597/807/307 598/811/309 +f 593/798/298 601/818/312 602/813/310 +f 591/814/296 599/819/313 600/815/311 +f 594/799/295 602/813/310 603/816/279 +f 592/801/297 600/815/311 601/818/312 +f 590/812/299 598/811/309 599/819/313 +f 559/820/300 605/828/318 606/821/314 +f 565/764/305 564/761/303 609/823/315 +f 563/825/306 562/838/304 607/826/316 +f 566/758/301 611/829/319 605/828/318 +f 566/758/301 565/764/305 610/824/277 +f 564/761/303 563/825/306 608/827/317 +f 608/827/317 615/834/324 616/830/320 +f 606/821/314 605/828/318 612/831/321 +f 609/823/315 616/830/320 617/833/323 +f 607/826/316 614/839/326 615/834/324 +f 605/828/318 611/829/319 618/835/325 +f 610/824/277 617/833/323 618/835/325 +f 598/811/309 597/846/307 619/840/327 +f 601/842/312 600/815/311 622/843/329 +f 599/819/313 598/811/309 620/841/328 +f 597/846/307 604/857/308 625/847/331 +f 601/842/312 623/844/330 624/848/332 +f 599/819/313 621/845/283 622/843/329 +f 619/840/327 626/854/337 627/850/333 +f 623/844/330 622/843/329 629/851/334 +f 620/841/328 627/850/333 628/853/336 +f 625/847/331 632/858/339 626/854/337 +f 624/848/332 623/844/330 630/852/335 +f 622/843/329 621/845/283 628/853/336 +f 626/860/337 632/894/339 613/861/322 +f 613/861/322 632/894/339 603/863/279 +f 603/865/279 631/895/338 614/866/326 +f 614/866/326 631/895/338 630/868/335 +f 615/869/324 630/868/335 629/851/334 +f 616/830/320 629/851/334 628/853/336 +f 617/833/323 628/853/336 627/850/333 +f 618/835/325 627/850/333 626/860/337 +f 643/870/269 644/881/268 636/871/268 +f 641/873/271 642/883/270 634/874/270 +f 648/876/272 641/873/271 633/875/271 +f 646/878/274 647/896/273 639/879/273 +f 644/881/268 645/886/275 637/882/275 +f 642/883/270 643/870/269 635/872/269 +f 647/884/273 648/876/272 640/877/272 +f 645/886/275 646/878/274 638/880/274 +o Gun +v -0.562500 -1.000000 3.000000 +v 0.562500 -1.000000 3.000000 +v -0.562500 -1.000000 -2.000000 +v 0.562500 -1.000000 -2.000000 +v -0.562500 2.000000 -2.000000 +v -0.562500 2.000000 2.000000 +v 0.562500 2.000000 2.000000 +v 0.562500 2.000000 -2.000000 +v 0.562500 0.750000 3.000000 +v -0.562500 0.750000 3.000000 +v -0.500000 0.187500 -2.000000 +v 0.500000 0.187500 -2.000000 +v -0.500000 1.937500 -2.000000 +v 0.500000 1.937500 -2.000000 +v -0.500000 1.937500 -4.000000 +v -0.250000 -0.062500 -2.500000 +v -0.250000 -0.062500 -2.000000 +v 0.500000 1.937500 -4.000000 +v -0.500000 1.437500 -4.750000 +v 0.500000 1.437500 -4.750000 +v -0.250000 -0.812500 -2.500000 +v 0.250000 -0.812500 -2.500000 +v 0.250000 -0.812500 -2.000000 +v -0.250000 -0.812500 -2.000000 +v 0.250000 -0.062500 -2.500000 +v 0.250000 -0.062500 -2.000000 +v -0.500000 0.437500 -4.750000 +v -0.500000 0.187500 -4.500000 +v 0.500000 0.187500 -4.500000 +v 0.500000 0.437500 -4.750000 +v 0.125000 0.187500 -3.500000 +v -0.125000 0.187500 -3.500000 +v 0.125000 -0.437500 -3.500000 +v -0.125000 -0.437500 -3.500000 +v 0.125000 -1.937500 -4.250000 +v -0.125000 -1.937500 -4.250000 +v 0.125000 -1.937500 -5.250000 +v -0.137500 -1.937500 -5.250000 +v 0.125000 -1.562500 -5.250000 +v -0.137500 -1.562500 -5.250000 +v 0.125000 0.187500 -4.500000 +v -0.137500 0.187500 -4.500000 +v 0.125000 -0.062500 -4.500000 +v -0.137500 -0.062500 -4.500000 +v 0.375000 -0.437500 -3.750000 +v 0.375000 0.187500 -3.750000 +v 0.375000 -1.937500 -4.500000 +v 0.375000 -1.937500 -5.000000 +v 0.375000 -1.562500 -5.000000 +v 0.375000 -0.062500 -4.250000 +v 0.375000 0.187500 -4.250000 +v -0.375000 0.187500 -3.750000 +v -0.375000 -0.437500 -3.750000 +v -0.375000 -1.937500 -4.500000 +v -0.375000 -1.937500 -5.000000 +v -0.375000 -1.562500 -5.000000 +v -0.375000 0.187500 -4.250000 +v -0.375000 -0.062500 -4.250000 +v -0.250000 -0.812500 -2.500000 +v 0.250000 -0.812500 -2.500000 +v -0.250000 -0.812500 -3.750000 +v 0.250000 -0.812500 -3.750000 +v -0.250000 -0.687500 -2.500000 +v 0.250000 -0.687500 -2.500000 +v -0.250000 -0.687500 -3.750000 +v 0.250000 -0.687500 -3.750000 +v -0.562500 -1.000000 -1.500000 +v 0.562500 -1.000000 -1.500000 +v -0.562500 -1.000000 2.000000 +v 0.562500 -1.000000 2.000000 +v -0.562500 -0.750000 -1.500000 +v 0.562500 -0.750000 -1.500000 +v -0.562500 -0.750000 2.000000 +v 0.562500 -0.750000 2.000000 +v 0.000000 1.875000 4.000000 +v -0.250000 1.808013 4.000000 +v -0.433012 1.625000 4.000000 +v -0.500000 1.375000 4.000000 +v -0.433012 1.125000 4.000000 +v -0.250000 0.941987 4.000000 +v 0.000000 0.875000 4.000000 +v 0.250000 0.941987 4.000000 +v 0.433012 1.125000 4.000000 +v 0.500000 1.375000 4.000000 +v 0.433013 1.625000 4.000000 +v 0.250000 1.808012 4.000000 +v -0.218750 1.753892 4.500000 +v 0.000000 1.812506 4.500000 +v -0.378886 1.593756 4.500000 +v -0.437500 1.375006 4.500000 +v -0.378886 1.156256 4.500000 +v -0.218750 0.996120 4.500000 +v 0.000000 0.937506 4.500000 +v 0.218750 0.996120 4.500000 +v 0.378886 1.156256 4.500000 +v 0.437500 1.375006 4.500000 +v 0.378886 1.593756 4.500000 +v 0.218750 1.753892 4.500000 +v 0.000000 1.875000 2.000000 +v -0.250000 1.808013 2.000000 +v -0.433012 1.625000 2.000000 +v -0.500000 1.375000 2.000000 +v -0.433012 1.125000 2.000000 +v -0.250000 0.941987 2.000000 +v 0.000000 0.875000 2.000000 +v 0.250000 0.941987 2.000000 +v 0.433012 1.125000 2.000000 +v 0.500000 1.375000 2.000000 +v 0.433013 1.625000 2.000000 +v 0.250000 1.808012 2.000000 +v -0.218750 1.753892 2.000000 +v 0.000000 1.812506 2.000000 +v -0.378886 1.593756 2.000000 +v -0.437500 1.375006 2.000000 +v -0.378886 1.156256 2.000000 +v -0.218750 0.996120 2.000000 +v 0.000000 0.937506 2.000000 +v 0.218750 0.996120 2.000000 +v 0.378886 1.156256 2.000000 +v 0.437500 1.375006 2.000000 +v 0.378886 1.593756 2.000000 +v 0.218750 1.753892 2.000000 +v 0.000000 0.562500 3.000000 +v -0.218750 0.503886 3.000000 +v -0.378886 0.343750 3.000000 +v -0.437500 0.125000 3.000000 +v -0.378886 -0.093750 3.000000 +v -0.218750 -0.253886 3.000000 +v 0.000000 -0.312500 3.000000 +v 0.218750 -0.253886 3.000000 +v 0.378886 -0.093750 3.000000 +v 0.437500 0.125000 3.000000 +v 0.378886 0.343750 3.000000 +v 0.218750 0.503886 3.000000 +v 0.000000 0.562500 3.250000 +v -0.218750 0.503886 3.250000 +v -0.378886 0.343750 3.250000 +v -0.437500 0.125000 3.250000 +v -0.378886 -0.093750 3.250000 +v -0.218750 -0.253886 3.250000 +v 0.000000 -0.312500 3.250000 +v 0.218750 -0.253886 3.250000 +v 0.378886 -0.093750 3.250000 +v 0.437500 0.125000 3.250000 +v 0.378886 0.343750 3.250000 +v 0.218750 0.503886 3.250000 +v -0.500000 0.187500 -2.500000 +v -0.500000 0.187500 -2.000000 +v 0.500000 0.187500 -2.500000 +v 0.500000 0.187500 -2.000000 +v 0.500000 0.500000 -2.750000 +v 0.500000 1.125000 -2.750000 +v 0.500000 1.125000 -2.625000 +v 0.500000 0.500000 -2.625000 +v 1.062500 0.687500 -2.750000 +v 0.875000 0.500000 -2.750000 +v 0.875000 1.125000 -2.750000 +v 1.062500 0.937500 -2.750000 +v 1.062500 0.937500 -2.625000 +v 0.875000 1.125000 -2.625000 +v 0.875000 0.500000 -2.625000 +v 1.062500 0.687500 -2.625000 +v -0.750000 1.062500 -3.250000 +v -0.750000 1.062500 -1.250000 +v -0.926777 0.989277 -3.250000 +v -0.926777 0.989277 -1.250000 +v -1.000000 0.812500 -3.250000 +v -1.000000 0.812500 -1.250000 +v -0.926777 0.635723 -3.250000 +v -0.926777 0.635723 -1.250000 +v -0.750000 0.562500 -3.250000 +v -0.750000 0.562500 -1.250000 +v -0.573223 0.635723 -3.250000 +v -0.573223 0.635723 -1.250000 +v -0.500000 0.812500 -3.250000 +v -0.500000 0.812500 -1.250000 +v -0.573223 0.989277 -3.250000 +v -0.573223 0.989277 -1.250000 +v 0.125000 0.187500 -3.250000 +v -0.125000 0.187500 -3.250000 +v 0.125000 -0.437500 -3.125000 +v -0.125000 -0.437500 -3.125000 +v 0.125000 0.187500 -3.500000 +v -0.125000 0.187500 -3.500000 +v 0.125000 -0.437500 -3.500000 +v -0.125000 -0.437500 -3.500000 +v -0.500000 0.500000 -2.750000 +v -0.500000 1.125000 -2.750000 +v -0.500000 1.125000 -2.625000 +v -0.500000 0.500000 -2.625000 +v -1.062500 0.687500 -2.750000 +v -0.875000 0.500000 -2.750000 +v -0.875000 1.125000 -2.750000 +v -1.062500 0.937500 -2.750000 +v -1.062500 0.937500 -2.625000 +v -0.875000 1.125000 -2.625000 +v -0.875000 0.500000 -2.625000 +v -1.062500 0.687500 -2.625000 +v 0.500000 0.500000 -1.875000 +v 0.500000 1.125000 -1.875000 +v 0.500000 1.125000 -1.750000 +v 0.500000 0.500000 -1.750000 +v 1.062500 0.687500 -1.875000 +v 0.875000 0.500000 -1.875000 +v 0.875000 1.125000 -1.875000 +v 1.062500 0.937500 -1.875000 +v 1.062500 0.937500 -1.750000 +v 0.875000 1.125000 -1.750000 +v 0.875000 0.500000 -1.750000 +v 1.062500 0.687500 -1.750000 +v -0.500000 0.500000 -1.875000 +v -0.500000 1.125000 -1.875000 +v -0.500000 1.125000 -1.750000 +v -0.500000 0.500000 -1.750000 +v -1.062500 0.687500 -1.875000 +v -0.875000 0.500000 -1.875000 +v -0.875000 1.125000 -1.875000 +v -1.062500 0.937500 -1.875000 +v -1.062500 0.937500 -1.750000 +v -0.875000 1.125000 -1.750000 +v -0.875000 0.500000 -1.750000 +v -1.062500 0.687500 -1.750000 +v 0.750000 1.062500 -3.250000 +v 0.750000 1.062500 -1.250000 +v 0.573223 0.989277 -3.250000 +v 0.573223 0.989277 -1.250000 +v 0.500000 0.812500 -3.250000 +v 0.500000 0.812500 -1.250000 +v 0.573223 0.635723 -3.250000 +v 0.573223 0.635723 -1.250000 +v 0.750000 0.562500 -3.250000 +v 0.750000 0.562500 -1.250000 +v 0.926777 0.635723 -3.250000 +v 0.926777 0.635723 -1.250000 +v 1.000000 0.812500 -3.250000 +v 1.000000 0.812500 -1.250000 +v 0.926777 0.989277 -3.250000 +v 0.926777 0.989277 -1.250000 +vt 0.465385 -0.000000 +vt 0.496154 0.084906 +vt 0.465385 0.084906 +vt 0.496154 0.311321 +vt 0.619231 0.396226 +vt 0.496154 0.396226 +vt 0.653846 0.084906 +vt 0.619231 0.311321 +vt 0.619231 0.084906 +vt 0.465385 0.216981 +vt 0.430769 0.311321 +vt 0.430769 0.216981 +vt 0.603846 0.000000 +vt 0.619231 0.000000 +vt 0.496154 0.000000 +vt 0.503846 0.084906 +vt 0.430769 0.084906 +vt 0.346154 0.566038 +vt 0.369231 0.603774 +vt 0.346154 0.603774 +vt 0.330769 0.660377 +vt 0.330769 0.603774 +vt 0.738462 0.169811 +vt 0.715385 0.207547 +vt 0.730769 0.075472 +vt 0.653846 0.207547 +vt 0.715385 0.283019 +vt 0.653846 0.283019 +vt 0.307692 0.566038 +vt 0.330769 0.566038 +vt 0.738462 0.283019 +vt 0.730769 -0.000000 +vt 0.653846 0.075472 +vt 0.653846 -0.000000 +vt 0.769231 0.094340 +vt 0.769231 0.169811 +vt 0.738462 0.075472 +vt 0.738462 0.000000 +vt 0.730769 0.415094 +vt 0.653846 0.415094 +vt 0.796154 0.462264 +vt 0.811538 0.462264 +vt 0.811538 0.518868 +vt 0.411538 0.622642 +vt 0.419231 0.575472 +vt 0.419231 0.622642 +vt 0.415385 0.452830 +vt 0.453846 0.490566 +vt 0.415385 0.490566 +vt 0.415385 0.547170 +vt 0.453846 0.537736 +vt 0.453846 0.547170 +vt 0.415385 0.500000 +vt 0.453846 0.500000 +vt 0.603846 0.084906 +vt 0.596154 0.000000 +vt 0.388462 0.915094 +vt 0.496154 0.830189 +vt 0.496154 0.915094 +vt 0.465385 0.490566 +vt 0.496154 0.603774 +vt 0.603846 0.103774 +vt 0.017308 0.226425 +vt 0.028962 0.242929 +vt 0.017308 0.292443 +vt 0.002103 0.018927 +vt 0.015385 0.000117 +vt 0.028667 0.018927 +vt 0.028944 0.209875 +vt 0.017308 0.226354 +vt 0.005671 0.176917 +vt 0.369231 0.566038 +vt 0.376923 0.603774 +vt 0.307692 0.603774 +vt 0.300000 0.566038 +vt 0.346154 0.660377 +vt 0.323077 0.679245 +vt 0.721154 0.462264 +vt 0.709615 0.471698 +vt 0.709615 0.462264 +vt 0.721154 0.471698 +vt 0.709615 0.518868 +vt 0.703846 0.462264 +vt 0.696154 0.471698 +vt 0.696154 0.462264 +vt 0.709615 0.528302 +vt 0.721154 0.518868 +vt 0.721154 0.528302 +vt 0.703846 0.471698 +vt 0.703846 0.518868 +vt 0.703846 0.528302 +vt 0.703846 0.448113 +vt 0.703846 0.429245 +vt 0.709615 0.415094 +vt 0.688461 0.453302 +vt 0.695961 0.471698 +vt 0.688461 0.490094 +vt 0.695961 0.433962 +vt 0.693765 0.446970 +vt 0.683158 0.420954 +vt 0.392308 0.566038 +vt 0.411538 0.547170 +vt 0.411538 0.575472 +vt 0.438462 0.566038 +vt 0.419231 0.547170 +vt 0.438462 0.547170 +vt 0.709615 0.471698 +vt 0.721154 0.462264 +vt 0.709615 0.462264 +vt 0.703846 0.485849 +vt 0.703846 0.504717 +vt 0.709615 0.518868 +vt 0.696154 0.471698 +vt 0.703846 0.462264 +vt 0.696154 0.462264 +vt 0.721154 0.518868 +vt 0.709615 0.528302 +vt 0.721154 0.528302 +vt 0.703846 0.471698 +vt 0.703846 0.518868 +vt 0.703846 0.528302 +vt 0.709615 0.415094 +vt 0.721154 0.462264 +vt 0.709615 0.471698 +vt 0.709615 0.462264 +vt 0.721154 0.471698 +vt 0.709615 0.518868 +vt 0.703846 0.462264 +vt 0.696154 0.471698 +vt 0.696154 0.462264 +vt 0.709615 0.528302 +vt 0.721154 0.518868 +vt 0.721154 0.528302 +vt 0.703846 0.471698 +vt 0.703846 0.518868 +vt 0.703846 0.528302 +vt 0.703846 0.448113 +vt 0.703846 0.429245 +vt 0.709615 0.415094 +vt 0.709615 0.471698 +vt 0.721154 0.462264 +vt 0.709615 0.462264 +vt 0.703846 0.485849 +vt 0.703846 0.504717 +vt 0.709615 0.518868 +vt 0.696154 0.471698 +vt 0.703846 0.462264 +vt 0.696154 0.462264 +vt 0.721154 0.518868 +vt 0.709615 0.528302 +vt 0.721154 0.528302 +vt 0.703846 0.471698 +vt 0.703846 0.518868 +vt 0.703846 0.528302 +vt 0.709615 0.415094 +vt 0.688461 0.453302 +vt 0.695961 0.471698 +vt 0.688461 0.490094 +vt 0.695961 0.433962 +vt 0.693765 0.446970 +vt 0.683158 0.420954 +vt 0.653846 0.311321 +vt 0.465385 0.311321 +vt 0.503846 -0.000000 +vt 0.738462 0.094340 +vt 0.738462 0.207547 +vt 0.738462 0.320755 +vt 0.738462 0.396226 +vt 0.819231 0.481132 +vt 0.819231 0.500000 +vt 0.796154 0.518868 +vt 0.788462 0.500000 +vt 0.788462 0.481132 +vt 0.453846 0.452830 +vt 0.415385 0.537736 +vt 0.596154 0.084906 +vt 0.388462 0.830189 +vt 0.619231 0.622642 +vt 0.603846 0.622642 +vt 0.603846 0.603774 +vt 0.496154 0.622642 +vt 0.465385 0.622642 +vt 0.496154 0.103774 +vt 0.010579 0.288021 +vt 0.005653 0.275939 +vt 0.003850 0.259434 +vt 0.005653 0.242929 +vt 0.010579 0.230847 +vt 0.024036 0.230847 +vt 0.030765 0.259434 +vt 0.028962 0.275939 +vt 0.024036 0.288021 +vt 0.015385 0.075355 +vt 0.007716 0.070315 +vt 0.002103 0.056545 +vt 0.000048 0.037736 +vt 0.007716 0.005157 +vt 0.023053 0.005157 +vt 0.030721 0.037736 +vt 0.028667 0.056545 +vt 0.023053 0.070315 +vt 0.010589 0.221938 +vt 0.005671 0.209875 +vt 0.003871 0.193396 +vt 0.010589 0.164854 +vt 0.017308 0.160439 +vt 0.024026 0.164854 +vt 0.028944 0.176917 +vt 0.030744 0.193396 +vt 0.024026 0.221938 +vt 0.376923 0.566038 +vt 0.300000 0.603774 +vt 0.353846 0.679245 +vt 0.703846 0.504717 +vt 0.703846 0.485849 +vt 0.721154 0.415094 +vt 0.683158 0.484706 +vt 0.680962 0.471698 +vt 0.683158 0.458690 +vt 0.693765 0.458690 +vt 0.693765 0.484706 +vt 0.688461 0.452358 +vt 0.683158 0.446970 +vt 0.680962 0.433962 +vt 0.688462 0.415566 +vt 0.693765 0.420954 +vt 0.392308 0.547170 +vt 0.721154 0.471698 +vt 0.721154 0.415094 +vt 0.703846 0.429245 +vt 0.703846 0.448113 +vt 0.703846 0.504717 +vt 0.703846 0.485849 +vt 0.721154 0.415094 +vt 0.721154 0.471698 +vt 0.721154 0.415094 +vt 0.703846 0.429245 +vt 0.703846 0.448113 +vt 0.683158 0.484706 +vt 0.680962 0.471698 +vt 0.683158 0.458690 +vt 0.693765 0.458690 +vt 0.693765 0.484706 +vt 0.688461 0.452358 +vt 0.683158 0.446970 +vt 0.680962 0.433962 +vt 0.688462 0.415566 +vt 0.693765 0.420954 +vt 0.742308 0.481132 +vt 0.742308 0.500000 +vt 0.723077 0.481132 +vt 0.723077 0.500000 +vt 0.830769 0.500000 +vt 0.876923 0.500000 +vt 0.884615 0.481132 +vt 0.884615 0.500000 +vt 0.796154 0.660377 +vt 0.811538 0.547170 +vt 0.819231 0.547170 +vt 0.796154 0.679245 +vt 0.788462 0.660377 +vt 0.773077 0.679245 +vt 0.788462 0.679245 +vt 0.819231 0.518868 +vt 0.796154 0.660377 +vt 0.811538 0.547170 +vt 0.788462 0.660377 +vt 0.788462 0.518868 +vt 0.773077 0.632075 +vt 0.765385 0.632075 +vt 0.765385 0.679245 +vt 0.773077 0.632075 +vt 0.796154 0.518868 +vt 0.773077 0.679245 +vt 0.788462 0.679245 +vt 0.796154 0.679245 +vt 0.765385 0.679245 +vt 0.765385 0.632075 +vt 0.819231 0.518868 +vt 0.819231 0.547170 +vt 0.788462 0.518868 +vt 0.830769 0.481132 +vt 0.430769 0.339623 +vt 0.338462 0.358491 +vt 0.338462 0.339623 +vt 0.400000 0.207547 +vt 0.338462 0.226415 +vt 0.338462 0.207547 +vt 0.430769 0.264151 +vt 0.338462 0.283019 +vt 0.338462 0.264151 +vt 0.430769 0.358491 +vt 0.338462 0.377358 +vt 0.400000 0.000000 +vt 0.338462 0.018868 +vt 0.338462 0.000000 +vt 0.430769 0.283019 +vt 0.338462 0.301887 +vt 0.430769 0.377358 +vt 0.338462 0.396226 +vt 0.400000 0.018868 +vt 0.338462 0.037736 +vt 0.430769 0.301887 +vt 0.338462 0.320755 +vt 0.400000 0.113208 +vt 0.338462 0.132075 +vt 0.338462 0.113208 +vt 0.430769 0.396226 +vt 0.338462 0.415094 +vt 0.400000 0.037736 +vt 0.338462 0.056604 +vt 0.430769 0.320755 +vt 0.400000 0.132075 +vt 0.338462 0.150943 +vt 0.430769 0.415094 +vt 0.338462 0.433962 +vt 0.400000 0.056604 +vt 0.338462 0.075472 +vt 0.400000 0.150943 +vt 0.338462 0.169811 +vt 0.430769 0.433962 +vt 0.338462 0.452830 +vt 0.400000 0.075472 +vt 0.338462 0.094340 +vt 0.400000 0.169811 +vt 0.338462 0.188679 +vt 0.430769 0.226415 +vt 0.338462 0.245283 +vt 0.338462 0.226415 +vt 0.400000 0.094340 +vt 0.400000 0.188679 +vt 0.430769 0.245283 +vt 0.407692 0.226415 +vt 0.400000 0.207547 +vt 0.407692 0.207547 +vt 0.407692 0.169811 +vt 0.400000 0.150943 +vt 0.407692 0.150943 +vt 0.407692 0.075472 +vt 0.400000 0.056604 +vt 0.407692 0.056604 +vt 0.407692 0.018868 +vt 0.400000 -0.000000 +vt 0.407692 -0.000000 +vt 0.407692 0.188679 +vt 0.400000 0.169811 +vt 0.407692 0.094340 +vt 0.400000 0.075472 +vt 0.407692 0.132075 +vt 0.400000 0.113208 +vt 0.407692 0.113208 +vt 0.407692 0.037736 +vt 0.400000 0.018868 +vt 0.400000 0.188679 +vt 0.400000 0.094340 +vt 0.400000 0.132075 +vt 0.400000 0.037736 +vt 0.680769 0.509434 +vt 0.619231 0.490566 +vt 0.680769 0.490566 +vt 0.680769 0.528302 +vt 0.619231 0.509434 +vt 0.680769 0.547170 +vt 0.619231 0.528302 +vt 0.680769 0.566038 +vt 0.619231 0.547170 +vt 0.680769 0.433962 +vt 0.619231 0.415094 +vt 0.680769 0.415094 +vt 0.680769 0.452830 +vt 0.619231 0.433962 +vt 0.680769 0.471698 +vt 0.619231 0.452830 +vt 0.619231 0.471698 +vt 0.811538 0.518868 +vt 0.680769 0.509434 +vt 0.619231 0.490566 +vt 0.680769 0.490566 +vt 0.680769 0.528302 +vt 0.619231 0.509434 +vt 0.680769 0.547170 +vt 0.619231 0.528302 +vt 0.680769 0.566038 +vt 0.619231 0.547170 +vt 0.680769 0.433962 +vt 0.619231 0.415094 +vt 0.680769 0.415094 +vt 0.680769 0.452830 +vt 0.619231 0.433962 +vt 0.680769 0.471698 +vt 0.619231 0.452830 +vt 0.619231 0.471698 +vt 0.876923 0.481132 +vt 0.400000 0.226415 +vt 0.430769 0.452830 +vt 0.400000 0.226415 +vt 0.619231 0.566038 +vt 0.619231 0.566038 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.6247 0.7809 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.8321 -0.5547 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 0.1961 0.9806 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.3595 -0.2070 0.9099 +vn 0.3897 -0.4119 0.8237 +vn 0.3595 -0.2070 0.9099 +vn -0.3827 0.0000 0.9239 +vn 0.3827 0.0000 0.9239 +vn -0.3945 0.0000 -0.9189 +vn 0.3595 0.2070 -0.9099 +vn 0.3827 0.0000 -0.9239 +vn 0.3954 0.2222 -0.8912 +vn 0.8994 0.1123 -0.4225 +vn 0.9414 0.0706 -0.3297 +vn 0.9239 0.0000 0.3827 +vn 0.9239 0.0000 -0.3827 +vn -0.4084 0.2210 -0.8856 +vn -0.9054 0.1095 -0.4102 +vn -0.9452 0.0682 -0.3193 +vn 0.8994 -0.1123 0.4225 +vn -0.8994 -0.1123 0.4225 +vn -0.9511 -0.1381 0.2762 +vn -0.9239 0.0000 0.3827 +vn -0.9287 0.0000 -0.3708 +vn -0.3703 0.2060 -0.9058 +vn -0.3897 -0.4119 0.8237 +vn -0.5000 0.8660 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.9511 -0.1381 0.2762 +s off +f 649/897/340 718/898/340 650/899/340 +f 655/900/341 653/901/341 654/902/341 +f 651/903/342 656/904/342 652/905/342 +f 657/906/343 654/907/343 658/908/343 +f 652/905/340 715/909/340 651/910/340 +f 717/911/342 722/912/342 718/898/342 +f 650/899/344 658/908/344 649/913/344 +f 672/914/345 664/915/345 669/916/345 +f 669/916/342 673/917/342 670/918/342 +f 668/919/346 666/920/346 677/921/346 +f 662/922/341 663/923/341 661/924/341 +f 670/918/346 674/925/346 671/926/346 +f 666/920/347 667/927/347 663/923/347 +f 676/928/340 660/929/340 659/930/340 +f 668/919/342 675/931/342 667/932/342 +f 672/914/340 670/918/340 671/926/340 +f 678/933/348 676/928/348 675/934/348 +f 676/935/345 659/936/345 663/923/345 +f 702/937/340 703/938/340 696/939/340 +f 828/940/349 829/941/349 827/942/349 +f 707/943/340 710/944/340 708/945/340 +f 707/946/345 713/947/345 709/948/345 +f 710/944/346 712/949/346 708/945/346 +f 713/947/341 712/949/341 714/950/341 +f 716/951/344 719/952/344 715/909/344 +f 722/953/340 719/954/340 720/955/340 +f 658/956/345 654/902/345 721/957/345 +f 652/905/346 656/904/346 720/958/346 +f 741/959/344 743/960/344 736/961/344 +f 727/962/344 729/963/344 731/964/344 +f 793/965/344 783/966/344 787/967/344 +f 665/968/350 795/969/350 664/915/350 +f 673/970/351 798/971/351 674/925/351 +f 664/972/342 797/973/342 673/917/342 +f 800/974/341 808/975/341 805/976/341 +f 808/975/344 801/977/344 809/978/344 +f 806/979/346 810/980/346 803/981/346 +f 804/982/340 802/983/340 799/984/340 +f 806/979/352 808/975/352 807/985/352 +f 810/986/351 804/982/351 803/987/351 +f 806/988/342 803/989/342 804/990/342 +f 820/991/344 824/992/344 812/993/344 +f 815/994/342 813/995/342 821/996/342 +f 828/997/345 834/998/345 830/999/345 +f 827/1000/346 833/1001/346 831/1002/346 +f 830/999/340 833/1001/340 829/941/340 +f 844/1003/341 836/1004/341 841/1005/341 +f 843/1006/344 846/1007/344 845/1008/344 +f 846/1009/345 842/1010/345 839/1011/345 +f 838/1012/340 840/1013/340 835/1014/340 +f 844/1003/353 842/1010/353 843/1015/353 +f 840/1013/350 846/1016/350 839/1017/350 +f 841/1005/342 836/1004/342 840/1018/342 +f 848/1019/341 856/1020/341 853/1021/341 +f 856/1020/344 849/1022/344 857/1023/344 +f 854/1024/346 858/1025/346 851/1026/346 +f 852/1027/340 850/1028/340 847/1029/340 +f 854/1024/352 856/1020/352 855/1030/352 +f 858/1031/351 852/1027/351 851/1032/351 +f 854/1033/342 851/1034/342 852/1035/342 +f 868/1036/341 860/1037/341 865/1038/341 +f 867/1039/344 870/1040/344 869/1041/344 +f 870/1042/345 866/1043/345 863/1044/345 +f 862/1045/340 864/1046/340 859/1047/340 +f 868/1036/353 866/1043/353 867/1048/353 +f 864/1046/350 870/1049/350 863/1050/350 +f 865/1038/342 860/1037/342 864/1051/342 +f 880/1052/344 884/1053/344 872/1054/344 +f 875/1055/342 873/1056/342 881/1057/342 +f 649/897/340 717/911/340 718/898/340 +f 655/900/341 656/904/341 653/901/341 +f 651/903/342 653/1058/342 656/904/342 +f 657/906/343 655/1059/343 654/907/343 +f 652/905/340 716/951/340 715/909/340 +f 717/911/342 721/1060/342 722/912/342 +f 650/899/344 657/906/344 658/908/344 +f 672/914/345 665/968/345 664/915/345 +f 669/916/342 664/972/342 673/917/342 +f 662/922/346 660/929/346 666/920/346 +f 660/929/346 677/921/346 666/920/346 +f 677/921/346 678/1061/346 668/919/346 +f 662/922/341 666/920/341 663/923/341 +f 670/918/346 673/970/346 674/925/346 +f 666/920/347 668/1062/347 667/927/347 +f 676/928/340 677/921/340 660/929/340 +f 668/919/342 678/1061/342 675/931/342 +f 672/914/340 669/916/340 670/918/340 +f 678/933/348 677/921/348 676/928/348 +f 661/924/345 663/923/345 659/936/345 +f 663/923/345 667/1063/345 676/935/345 +f 667/1063/345 675/1064/345 676/935/345 +f 686/1065/340 685/1066/340 703/938/340 +f 685/1066/340 696/939/340 703/938/340 +f 696/939/340 695/1067/340 702/937/340 +f 695/1067/340 683/1068/340 702/937/340 +f 683/1068/340 684/1069/340 702/937/340 +f 828/940/349 830/999/349 829/941/349 +f 707/943/340 709/1070/340 710/944/340 +f 707/946/345 711/1071/345 713/947/345 +f 710/944/346 714/950/346 712/949/346 +f 713/947/341 711/1071/341 712/949/341 +f 716/951/344 720/1072/344 719/952/344 +f 722/953/340 721/1073/340 719/954/340 +f 651/1074/345 715/1075/345 719/1076/345 +f 721/957/345 717/1077/345 649/1078/345 +f 653/901/345 651/1074/345 719/1076/345 +f 721/957/345 649/1078/345 658/956/345 +f 653/901/345 719/1076/345 654/902/345 +f 719/1076/345 721/957/345 654/902/345 +f 656/904/346 655/900/346 720/958/346 +f 655/900/346 657/906/346 722/1079/346 +f 720/958/346 655/900/346 722/1079/346 +f 657/906/346 650/899/346 722/1079/346 +f 650/899/346 718/898/346 722/1079/346 +f 716/951/346 652/905/346 720/958/346 +f 736/961/344 735/1080/344 737/1081/344 +f 737/1081/344 738/1082/344 736/961/344 +f 738/1082/344 739/1083/344 736/961/344 +f 739/1083/344 740/1084/344 741/959/344 +f 741/959/344 742/1085/344 743/960/344 +f 743/960/344 744/1086/344 736/961/344 +f 744/1086/344 745/1087/344 736/961/344 +f 745/1087/344 746/1088/344 736/961/344 +f 739/1083/344 741/959/344 736/961/344 +f 723/1089/344 724/1090/344 725/1091/344 +f 725/1091/344 726/1092/344 727/962/344 +f 727/962/344 728/1093/344 729/963/344 +f 729/963/344 730/1094/344 731/964/344 +f 731/964/344 732/1095/344 733/1096/344 +f 733/1096/344 734/1097/344 731/964/344 +f 734/1097/344 723/1089/344 731/964/344 +f 723/1089/344 725/1091/344 731/964/344 +f 725/1091/344 727/962/344 731/964/344 +f 783/966/344 784/1098/344 785/1099/344 +f 785/1099/344 786/1100/344 783/966/344 +f 786/1100/344 787/967/344 783/966/344 +f 787/967/344 788/1101/344 789/1102/344 +f 789/1102/344 790/1103/344 791/1104/344 +f 791/1104/344 792/1105/344 793/965/344 +f 793/965/344 794/1106/344 783/966/344 +f 787/967/344 789/1102/344 791/1104/344 +f 791/1104/344 793/965/344 787/967/344 +f 665/968/350 796/1107/350 795/969/350 +f 673/970/351 797/1108/351 798/971/351 +f 664/972/342 795/1109/342 797/973/342 +f 800/974/341 801/977/341 808/975/341 +f 801/977/344 802/983/344 809/978/344 +f 809/978/344 810/1110/344 807/1111/344 +f 807/1111/344 808/975/344 809/978/344 +f 806/979/346 807/985/346 810/980/346 +f 804/982/340 809/978/340 802/983/340 +f 806/979/352 805/976/352 808/975/352 +f 810/986/351 809/978/351 804/982/351 +f 804/990/342 799/1112/342 800/974/342 +f 800/974/342 805/976/342 804/990/342 +f 805/976/342 806/988/342 804/990/342 +f 812/993/344 814/1113/344 816/1114/344 +f 816/1114/344 818/1115/344 820/991/344 +f 820/991/344 822/1116/344 824/992/344 +f 824/992/344 826/1117/344 812/993/344 +f 812/993/344 816/1114/344 820/991/344 +f 813/995/342 811/1118/342 821/996/342 +f 811/1118/342 825/1119/342 821/996/342 +f 825/1119/342 823/1120/342 821/996/342 +f 821/996/342 819/1121/342 817/1122/342 +f 817/1122/342 815/994/342 821/996/342 +f 828/997/345 832/1123/345 834/998/345 +f 827/1000/346 829/941/346 833/1001/346 +f 830/999/340 834/998/340 833/1001/340 +f 844/1003/341 837/1124/341 836/1004/341 +f 845/1008/344 838/1012/344 837/1124/344 +f 837/1124/344 844/1003/344 845/1008/344 +f 844/1003/344 843/1006/344 845/1008/344 +f 846/1009/345 843/1015/345 842/1010/345 +f 838/1012/340 845/1008/340 840/1013/340 +f 844/1003/353 841/1005/353 842/1010/353 +f 840/1013/350 845/1008/350 846/1016/350 +f 836/1004/342 835/1125/342 840/1018/342 +f 840/1018/342 839/1126/342 842/1127/342 +f 842/1127/342 841/1005/342 840/1018/342 +f 848/1019/341 849/1022/341 856/1020/341 +f 849/1022/344 850/1028/344 857/1023/344 +f 857/1023/344 858/1128/344 855/1129/344 +f 855/1129/344 856/1020/344 857/1023/344 +f 854/1024/346 855/1030/346 858/1025/346 +f 852/1027/340 857/1023/340 850/1028/340 +f 854/1024/352 853/1021/352 856/1020/352 +f 858/1031/351 857/1023/351 852/1027/351 +f 852/1035/342 847/1130/342 848/1019/342 +f 848/1019/342 853/1021/342 852/1035/342 +f 853/1021/342 854/1033/342 852/1035/342 +f 868/1036/341 861/1131/341 860/1037/341 +f 869/1041/344 862/1045/344 861/1131/344 +f 861/1131/344 868/1036/344 869/1041/344 +f 868/1036/344 867/1039/344 869/1041/344 +f 870/1042/345 867/1048/345 866/1043/345 +f 862/1045/340 869/1041/340 864/1046/340 +f 868/1036/353 865/1038/353 866/1043/353 +f 864/1046/350 869/1041/350 870/1049/350 +f 860/1037/342 859/1132/342 864/1051/342 +f 864/1051/342 863/1133/342 866/1134/342 +f 866/1134/342 865/1038/342 864/1051/342 +f 872/1054/344 874/1135/344 876/1136/344 +f 876/1136/344 878/1137/344 880/1052/344 +f 880/1052/344 882/1138/344 884/1053/344 +f 884/1053/344 886/1139/344 872/1054/344 +f 872/1054/344 876/1136/344 880/1052/344 +f 873/1056/342 871/1140/342 881/1057/342 +f 871/1140/342 885/1141/342 881/1057/342 +f 885/1141/342 883/1142/342 881/1057/342 +f 881/1057/342 879/1143/342 877/1144/342 +f 877/1144/342 875/1055/342 881/1057/342 +s 1 +f 682/1145/354 683/1068/355 681/1146/356 +f 680/1147/357 681/1146/356 679/1148/358 +f 686/1065/359 687/1149/360 685/1066/361 +f 691/1150/362 690/1151/359 689/1152/361 +f 691/1153/362 697/1154/363 687/1155/360 +f 689/1156/361 698/1157/364 691/1153/362 +f 694/1158/365 698/1157/364 699/1159/366 +f 687/1155/360 696/939/366 685/1160/361 +f 692/1161/367 704/1162/368 706/1163/369 +f 683/1164/355 693/1165/370 681/1166/356 +f 681/1166/356 694/1158/365 679/1167/358 +f 701/1168/371 704/1162/368 702/1169/372 +f 700/1170/373 706/1163/369 701/1168/371 +f 692/1161/367 705/1171/374 690/1172/359 +f 680/1173/357 701/1168/371 682/1174/354 +f 686/1175/359 704/1162/368 688/1176/375 +f 684/1177/376 701/1168/371 702/1169/372 +f 688/1178/375 691/1150/362 687/1149/360 +f 760/1179/341 735/1180/377 736/1181/341 +f 752/1182/378 729/1183/340 728/1184/378 +f 767/1185/379 744/1186/346 743/1187/379 +f 759/1188/377 737/1189/380 735/1180/377 +f 753/1190/340 730/1191/381 729/1192/340 +f 768/1193/346 745/1194/382 744/1186/346 +f 761/1195/380 738/1196/345 737/1189/380 +f 754/1197/381 731/1198/379 730/1191/381 +f 769/1199/382 746/1200/383 745/1194/382 +f 747/1201/341 724/1202/377 723/1203/341 +f 762/1204/345 739/1205/384 738/1196/345 +f 755/1206/379 732/1207/346 731/1198/379 +f 770/1208/383 736/1181/341 746/1200/383 +f 748/1209/377 725/1210/380 724/1202/377 +f 763/1211/384 740/1212/378 739/1205/384 +f 756/1213/346 733/1214/382 732/1207/346 +f 749/1215/380 726/1216/345 725/1210/380 +f 764/1217/378 741/1218/340 740/1212/378 +f 757/1219/382 734/1220/383 733/1214/382 +f 750/1221/345 727/1222/384 726/1216/345 +f 765/1223/340 742/1224/381 741/1225/340 +f 758/1226/383 723/1203/341 734/1220/383 +f 751/1227/384 728/1184/378 727/1222/384 +f 766/1228/381 743/1187/379 742/1224/381 +f 777/1229/340 788/1230/378 776/1231/378 +f 774/1232/345 785/1233/380 773/1234/380 +f 781/1235/382 792/1236/346 780/1237/346 +f 778/1238/381 789/1239/340 777/1240/340 +f 775/1241/384 786/1242/345 774/1232/345 +f 782/1243/383 793/1244/382 781/1235/382 +f 772/1245/377 783/1246/341 771/1247/341 +f 779/1248/379 790/1249/381 778/1238/381 +f 776/1231/378 787/1250/384 775/1241/384 +f 771/1247/341 794/1251/383 782/1243/383 +f 773/1234/380 784/1252/377 772/1245/377 +f 780/1237/346 791/1253/379 779/1248/379 +f 813/1254/353 812/1255/341 811/1256/341 +f 815/1257/345 814/1258/353 813/1254/353 +f 817/1259/350 816/1260/345 815/1257/345 +f 819/1261/340 818/1262/350 817/1259/350 +f 821/1263/351 820/1264/340 819/1265/340 +f 823/1266/346 822/1267/351 821/1263/351 +f 825/1268/352 824/1269/346 823/1266/346 +f 811/1256/341 826/1270/352 825/1268/352 +f 693/1165/370 697/1154/363 698/1157/364 +f 702/1169/372 704/1162/368 703/1271/374 +f 697/1154/363 695/1067/385 696/939/366 +f 873/1272/353 872/1273/341 871/1274/341 +f 875/1275/345 874/1276/353 873/1272/353 +f 877/1277/350 876/1278/345 875/1275/345 +f 879/1279/340 878/1280/350 877/1277/350 +f 881/1281/351 880/1282/340 879/1283/340 +f 883/1284/346 882/1285/351 881/1281/351 +f 885/1286/352 884/1287/346 883/1284/346 +f 871/1274/341 886/1288/352 885/1286/352 +f 682/1145/354 684/1069/376 683/1068/355 +f 680/1147/357 682/1145/354 681/1146/356 +f 686/1065/359 688/1178/375 687/1149/360 +f 691/1150/362 692/1289/367 690/1151/359 +f 691/1153/362 698/1157/364 697/1154/363 +f 689/1156/361 699/1159/366 698/1157/364 +f 694/1158/365 693/1165/370 698/1157/364 +f 687/1155/360 697/1154/363 696/939/366 +f 692/1161/367 688/1176/375 704/1162/368 +f 683/1164/355 695/1067/385 693/1165/370 +f 681/1166/356 693/1165/370 694/1158/365 +f 701/1168/371 706/1163/369 704/1162/368 +f 700/1170/373 705/1171/374 706/1163/369 +f 692/1161/367 706/1163/369 705/1171/374 +f 680/1173/357 700/1170/373 701/1168/371 +f 686/1175/359 703/1271/374 704/1162/368 +f 684/1177/376 682/1174/354 701/1168/371 +f 688/1178/375 692/1289/367 691/1150/362 +f 760/1179/341 759/1188/377 735/1180/377 +f 752/1182/378 753/1290/340 729/1183/340 +f 767/1185/379 768/1193/346 744/1186/346 +f 759/1188/377 761/1195/380 737/1189/380 +f 753/1190/340 754/1197/381 730/1191/381 +f 768/1193/346 769/1199/382 745/1194/382 +f 761/1195/380 762/1204/345 738/1196/345 +f 754/1197/381 755/1206/379 731/1198/379 +f 769/1199/382 770/1208/383 746/1200/383 +f 747/1201/341 748/1209/377 724/1202/377 +f 762/1204/345 763/1211/384 739/1205/384 +f 755/1206/379 756/1213/346 732/1207/346 +f 770/1208/383 760/1179/341 736/1181/341 +f 748/1209/377 749/1215/380 725/1210/380 +f 763/1211/384 764/1217/378 740/1212/378 +f 756/1213/346 757/1219/382 733/1214/382 +f 749/1215/380 750/1221/345 726/1216/345 +f 764/1217/378 765/1291/340 741/1218/340 +f 757/1219/382 758/1226/383 734/1220/383 +f 750/1221/345 751/1227/384 727/1222/384 +f 765/1223/340 766/1228/381 742/1224/381 +f 758/1226/383 747/1201/341 723/1203/341 +f 751/1227/384 752/1182/378 728/1184/378 +f 766/1228/381 767/1185/379 743/1187/379 +f 777/1229/340 789/1292/340 788/1230/378 +f 774/1232/345 786/1242/345 785/1233/380 +f 781/1235/382 793/1244/382 792/1236/346 +f 778/1238/381 790/1249/381 789/1239/340 +f 775/1241/384 787/1250/384 786/1242/345 +f 782/1243/383 794/1251/383 793/1244/382 +f 772/1245/377 784/1252/377 783/1246/341 +f 779/1248/379 791/1253/379 790/1249/381 +f 776/1231/378 788/1230/378 787/1250/384 +f 771/1247/341 783/1246/341 794/1251/383 +f 773/1234/380 785/1233/380 784/1252/377 +f 780/1237/346 792/1236/346 791/1253/379 +f 813/1254/353 814/1258/353 812/1255/341 +f 815/1257/345 816/1260/345 814/1258/353 +f 817/1259/350 818/1262/350 816/1260/345 +f 819/1261/340 820/1293/340 818/1262/350 +f 821/1263/351 822/1267/351 820/1264/340 +f 823/1266/346 824/1269/346 822/1267/351 +f 825/1268/352 826/1270/352 824/1269/346 +f 811/1256/341 812/1255/341 826/1270/352 +f 693/1165/370 695/1067/385 697/1154/363 +f 873/1272/353 874/1276/353 872/1273/341 +f 875/1275/345 876/1278/345 874/1276/353 +f 877/1277/350 878/1280/350 876/1278/345 +f 879/1279/340 880/1294/340 878/1280/350 +f 881/1281/351 882/1285/351 880/1282/340 +f 883/1284/346 884/1287/346 882/1285/351 +f 885/1286/352 886/1288/352 884/1287/346 +f 871/1274/341 872/1273/341 886/1288/352 diff --git a/src/main/resources/assets/hbm/models/weapons/lasrifle_mods.obj b/src/main/resources/assets/hbm/models/weapons/lasrifle_mods.obj new file mode 100644 index 000000000..3757c8511 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/lasrifle_mods.obj @@ -0,0 +1,422 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +o UnderBarrel +v -0.562500 -0.750000 4.000000 +v 0.562500 -0.750000 4.000000 +v 0.562500 -0.750000 3.000000 +v 0.562500 0.750000 4.000000 +v -0.562500 0.750000 4.000000 +v -0.562500 0.750000 3.000000 +v 0.562500 0.750000 3.000000 +v -0.562500 -0.750000 3.000000 +v 0.562500 0.500000 4.500000 +v -0.562500 0.500000 4.500000 +v -0.562500 -0.500000 5.000000 +v 0.562500 0.500000 5.000000 +v -0.562500 0.500000 5.000000 +v 0.562500 -0.500000 5.000000 +v -0.562500 -0.250000 9.000000 +v 0.562500 -0.250000 9.000000 +v 0.562500 0.500000 9.000000 +v -0.562500 0.500000 9.000000 +v -0.437500 -0.500000 5.000000 +v -0.437500 -0.500000 9.000000 +v 0.437500 -0.500000 5.000000 +v 0.437500 -0.500000 9.000000 +v 0.437500 0.500000 9.000000 +v -0.437500 0.500000 9.000000 +v 0.437500 -0.500000 11.000000 +v 0.437500 0.500000 11.000000 +v -0.437500 0.500000 11.000000 +v -0.437500 -0.500000 11.000000 +v 0.375000 0.499999 11.750000 +v -0.375000 0.499999 11.750000 +v 0.375000 -0.250001 11.750000 +v -0.375000 -0.250001 11.750000 +vt 0.078947 0.080000 +vt 0.144737 0.000000 +vt 0.144737 0.080000 +vt 0.289474 0.080000 +vt 0.223684 0.000000 +vt 0.223684 0.080000 +vt 0.289474 0.000000 +vt 0.223684 0.000000 +vt 0.223684 0.080000 +vt 0.078947 0.000000 +vt 0.000000 0.080000 +vt 0.000000 0.000000 +vt 0.289474 0.120000 +vt 0.223684 0.120000 +vt 0.078947 0.160000 +vt 0.289474 0.160000 +vt 0.223684 0.160000 +vt 0.144737 0.160000 +vt 0.157895 0.160000 +vt 0.210526 0.160000 +vt 0.210526 0.120000 +vt 0.013158 0.120000 +vt 0.013158 0.160000 +vt 0.065789 0.160000 +vt 0.078947 0.480000 +vt 0.144737 0.480000 +vt 0.210526 0.480000 +vt 0.171053 0.480000 +vt 0.289474 0.480000 +vt 0.223684 0.480000 +vt 0.078947 0.480000 +vt 0.144737 0.480000 +vt 0.144737 0.540000 +vt 0.078947 0.540000 +vt 0.052632 0.480000 +vt 0.013158 0.480000 +vt 0.394737 0.160000 +vt 0.447368 0.160000 +vt 0.394737 0.480000 +vt 0.447368 0.480000 +vt 0.289474 0.480000 +vt 0.289474 0.160000 +vt 0.342105 0.480000 +vt 0.342105 0.480000 +vt 0.289474 0.620000 +vt 0.342105 0.620000 +vt 0.500000 0.480000 +vt 0.447368 0.620000 +vt 0.447368 0.480000 +vt 0.500000 0.620000 +vt 0.394737 0.620000 +vt 0.342105 0.620000 +vt 0.447368 0.620000 +vt 0.447368 0.680000 +vt 0.500000 0.680000 +vt 0.302632 0.680000 +vt 0.342105 0.680000 +vt 0.342105 0.680000 +vt 0.381579 0.680000 +vt 0.381579 0.740000 +vt 0.342105 0.740000 +vt 0.342105 0.680000 +vt 0.381579 0.680000 +vt 0.401316 0.680000 +vt 0.440789 0.680000 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 0.9732 0.2298 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -0.9701 0.2425 +vn 0.0000 -0.9882 0.1531 +vn 0.0000 -0.9981 0.0624 +vn 0.0000 0.0000 1.0000 +vn 0.9993 0.0000 0.0368 +vn 0.9991 0.0000 0.0416 +vn -0.9993 0.0000 0.0368 +vn -0.9991 0.0000 0.0416 +vn 0.0000 -0.9877 0.1561 +vn 0.9965 0.0000 0.0830 +vn -0.9965 0.0000 0.0830 +vn 0.0000 -0.9487 0.3162 +s 1 +f 1/1/1 3/2/1 2/3/1 +f 4/4/2 6/5/3 5/6/2 +f 7/7/3 6/5/3 4/4/2 +f 2/3/4 7/8/4 4/9/4 +f 3/2/4 7/8/4 2/3/4 +f 3/2/1 1/1/1 8/10/1 +f 5/11/5 8/10/5 1/1/5 +f 5/11/5 6/12/5 8/10/5 +f 4/4/2 5/6/2 9/13/2 +f 10/14/2 9/13/2 5/6/2 +f 1/1/6 2/3/6 11/15/7 +f 9/13/2 10/14/2 12/16/3 +f 13/17/3 12/16/3 10/14/2 +f 11/15/7 2/3/6 14/18/7 +f 14/19/4 2/3/4 12/20/4 +f 2/3/4 4/9/4 9/21/4 +f 12/20/4 2/3/4 9/21/4 +f 1/1/5 10/22/5 5/11/5 +f 10/22/5 1/1/5 13/23/5 +f 1/1/5 11/24/5 13/23/5 +f 15/25/8 14/18/7 16/26/8 +f 14/18/7 15/25/8 11/15/7 +f 17/27/4 16/28/4 12/20/4 +f 16/28/4 14/19/4 12/20/4 +f 12/16/3 13/17/3 17/29/3 +f 18/30/3 17/29/3 13/17/3 +f 17/31/9 18/32/9 15/33/9 +f 16/34/9 17/31/9 15/33/9 +f 15/35/5 18/36/5 11/24/5 +f 18/36/5 13/23/5 11/24/5 +f 19/37/1 21/38/1 20/39/1 +f 22/40/1 20/39/1 21/38/1 +f 22/41/4 21/42/4 23/43/4 +f 20/39/5 24/44/5 19/37/5 +f 25/45/10 23/43/4 26/46/11 +f 23/43/4 25/45/10 22/41/4 +f 24/47/3 26/48/3 23/49/3 +f 27/50/3 26/48/3 24/47/3 +f 20/39/5 28/51/12 24/44/5 +f 27/52/13 24/44/5 28/51/12 +f 20/39/1 22/40/1 25/53/14 +f 28/51/14 20/39/1 25/53/14 +f 26/48/3 27/50/3 29/54/3 +f 30/55/3 29/54/3 27/50/3 +f 25/45/10 26/46/11 31/56/15 +f 29/57/15 31/56/15 26/46/11 +f 32/58/9 31/59/9 29/60/9 +f 29/60/9 30/61/9 32/58/9 +f 30/62/16 27/52/13 32/63/16 +f 28/51/12 32/63/16 27/52/13 +f 32/64/17 28/51/14 31/65/17 +f 25/53/14 31/65/17 28/51/14 +o BarrelShotgun +v -0.500000 1.375000 4.000000 +v -0.433012 1.625000 4.000000 +v -0.649518 1.750000 4.500000 +v 0.433013 1.625000 4.000000 +v 0.500000 1.375000 4.000000 +v 0.750000 1.375000 4.500000 +v 0.250000 0.941987 4.000000 +v 0.000000 0.875000 4.000000 +v 0.000000 0.625000 4.500000 +v -0.433012 1.125000 4.000000 +v -0.750000 1.375000 4.500000 +v 0.250000 1.808012 4.000000 +v 0.649519 1.750000 4.500000 +v -0.250000 1.808013 4.000000 +v 0.000000 1.875000 4.000000 +v 0.000000 2.125000 4.500000 +v 0.433012 1.125000 4.000000 +v 0.375000 0.725481 4.500000 +v -0.250000 0.941987 4.000000 +v -0.649518 1.000000 4.500000 +v 0.375000 2.024518 4.500000 +v -0.375000 2.024520 4.500000 +v 0.649518 1.000000 4.500000 +v -0.375000 0.725481 4.500000 +v -0.375000 2.024520 5.500000 +v -0.649518 1.750000 5.375000 +v -0.750000 1.375000 5.375000 +v -0.649518 1.000000 5.375000 +v 0.000000 2.125000 5.500000 +v 0.375000 2.024518 5.500000 +v 0.649519 1.750000 5.375000 +v 0.750000 1.375000 5.375000 +v 0.649518 1.000000 5.375000 +v 0.375000 0.725481 5.500000 +v 0.000000 0.625000 5.500000 +v -0.375000 0.725481 5.500000 +v -0.375000 2.000000 12.000000 +v 0.000000 2.062500 12.000000 +v 0.375000 2.000000 12.000000 +v 0.375000 2.000000 5.500000 +v 0.000000 2.062500 5.500000 +v -0.375000 2.000000 5.500000 +v -0.375000 0.750000 12.000000 +v 0.375000 0.750000 12.000000 +v 0.000000 0.687500 12.000000 +v -0.375000 0.750000 5.500000 +v 0.000000 0.687500 5.500000 +v 0.375000 0.750000 5.500000 +v 0.750000 1.375000 4.500000 +vt 0.631579 0.560000 +vt 0.618421 0.540000 +vt 0.618421 0.560000 +vt 0.565789 0.560000 +vt 0.552632 0.540000 +vt 0.552632 0.560000 +vt 0.526316 0.560000 +vt 0.513158 0.540000 +vt 0.513158 0.560000 +vt 0.644737 0.560000 +vt 0.631579 0.540000 +vt 0.578947 0.560000 +vt 0.565789 0.540000 +vt 0.605263 0.560000 +vt 0.592105 0.540000 +vt 0.592105 0.560000 +vt 0.539474 0.560000 +vt 0.526316 0.540000 +vt 0.657895 0.560000 +vt 0.644737 0.540000 +vt 0.578947 0.540000 +vt 0.605263 0.540000 +vt 0.539474 0.540000 +vt 0.671053 0.560000 +vt 0.657895 0.540000 +vt 0.671053 0.540000 +vt 0.605263 0.480000 +vt 0.618421 0.490000 +vt 0.631579 0.490000 +vt 0.644737 0.490000 +vt 0.592105 0.480000 +vt 0.578947 0.480000 +vt 0.565789 0.490000 +vt 0.552632 0.490000 +vt 0.539474 0.490000 +vt 0.526316 0.480000 +vt 0.513158 0.480000 +vt 0.671053 0.480000 +vt 0.657895 0.480000 +vt 0.427632 0.080000 +vt 0.427632 0.110000 +vt 0.440789 0.130000 +vt 0.427632 0.080000 +vt 0.427632 0.050000 +vt 0.440789 0.030000 +vt 0.453947 0.440000 +vt 0.493421 0.440000 +vt 0.473684 0.460000 +vt 0.565789 0.460000 +vt 0.578947 0.460000 +vt 0.565789 0.000000 +vt 0.578947 0.000000 +vt 0.592105 0.460000 +vt 0.592105 0.000000 +vt 0.453947 0.340000 +vt 0.473684 0.320000 +vt 0.493421 0.340000 +vt 0.657895 0.000000 +vt 0.657895 0.460000 +vt 0.671053 0.000000 +vt 0.671053 0.460000 +vt 0.684211 0.460000 +vt 0.684211 0.000000 +vt 0.500000 0.000000 +vt 0.500000 0.460000 +vt 0.440789 0.130000 +vt 0.480263 0.130000 +vt 0.493421 0.110000 +vt 0.493421 0.080000 +vt 0.480263 0.030000 +vt 0.493421 0.050000 +vt 0.493421 0.080000 +vt 0.480263 0.130000 +vt 0.460526 0.140000 +vt 0.460526 0.020000 +vn -0.8944 0.0000 -0.4472 +vn -0.8445 0.4876 -0.2217 +vn -0.7746 0.4472 -0.4472 +vn 0.7746 0.4472 -0.4472 +vn 0.9751 -0.0000 -0.2217 +vn 0.8944 -0.0000 -0.4472 +vn 0.4472 -0.7746 -0.4472 +vn -0.0000 -0.9751 -0.2217 +vn -0.0000 -0.8944 -0.4472 +vn -0.7746 -0.4472 -0.4472 +vn -0.9751 -0.0000 -0.2217 +vn 0.4472 0.7746 -0.4472 +vn 0.8445 0.4876 -0.2217 +vn -0.4472 0.7746 -0.4472 +vn 0.0000 0.9751 -0.2217 +vn 0.0000 0.8944 -0.4472 +vn 0.7746 -0.4472 -0.4472 +vn 0.4876 -0.8445 -0.2217 +vn -0.4472 -0.7746 -0.4472 +vn -0.8445 -0.4876 -0.2217 +vn 0.4876 0.8445 -0.2217 +vn -0.4876 0.8445 -0.2217 +vn 0.8445 -0.4876 -0.2217 +vn -0.4876 -0.8445 -0.2217 +vn -0.4743 0.8804 0.0000 +vn -0.8537 0.5208 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.8537 -0.5208 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.4743 0.8804 0.0000 +vn 0.8537 0.5208 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.8537 -0.5208 0.0000 +vn 0.4743 -0.8804 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.4743 -0.8804 0.0000 +vn -0.1246 0.0157 0.9921 +vn -0.5230 0.1401 0.8408 +vn -0.3667 -0.0000 0.9303 +vn -0.5230 -0.1401 0.8408 +vn -0.1246 -0.0157 0.9921 +vn 0.0000 0.0000 1.0000 +vn 0.1644 0.9864 -0.0000 +vn -0.1644 0.9864 -0.0000 +vn -0.1644 -0.9864 0.0000 +vn 0.1644 -0.9864 0.0000 +vn 0.3667 -0.0000 0.9303 +vn 0.5230 0.1401 0.8408 +vn 0.1246 0.0157 0.9921 +vn 0.1246 -0.0157 0.9921 +vn 0.5230 -0.1401 0.8408 +s 1 +f 33/66/18 35/67/19 34/68/20 +f 36/69/21 38/70/22 37/71/23 +f 39/72/24 41/73/25 40/74/26 +f 42/75/27 43/76/28 33/66/18 +f 44/77/29 45/78/30 36/69/21 +f 46/79/31 48/80/32 47/81/33 +f 49/82/34 50/83/35 39/72/24 +f 51/84/36 52/85/37 42/75/27 +f 47/81/33 53/86/38 44/77/29 +f 34/68/20 54/87/39 46/79/31 +f 37/71/23 55/88/40 49/82/34 +f 40/89/26 56/90/41 51/84/36 +f 33/66/18 43/76/28 35/67/19 +f 36/69/21 45/78/30 38/70/22 +f 39/72/24 50/83/35 41/73/25 +f 42/75/27 52/85/37 43/76/28 +f 44/77/29 53/86/38 45/78/30 +f 46/79/31 54/87/39 48/80/32 +f 49/82/34 55/88/40 50/83/35 +f 51/84/36 56/90/41 52/85/37 +f 47/81/33 48/80/32 53/86/38 +f 34/68/20 35/67/19 54/87/39 +f 37/71/23 38/70/22 55/88/40 +f 40/89/26 41/91/25 56/90/41 +f 54/87/39 35/67/19 57/92/42 +f 58/93/43 43/76/28 59/94/44 +f 57/92/42 35/67/19 58/93/43 +f 60/95/45 59/94/44 52/85/37 +f 52/85/37 59/94/44 43/76/28 +f 43/76/28 58/93/43 35/67/19 +f 57/92/42 61/96/46 54/87/39 +f 54/87/39 61/96/46 48/80/32 +f 53/86/38 48/80/32 62/97/47 +f 61/96/46 62/97/47 48/80/32 +f 53/86/38 63/98/48 45/78/30 +f 63/98/48 53/86/38 62/97/47 +f 63/98/48 64/99/49 45/78/30 +f 45/78/30 64/99/49 38/70/22 +f 64/99/49 65/100/50 38/70/22 +f 38/70/22 65/100/50 55/88/40 +f 65/100/50 66/101/51 55/88/40 +f 50/83/35 55/88/40 66/101/51 +f 66/101/51 67/102/52 50/83/35 +f 50/83/35 67/102/52 41/73/25 +f 67/103/52 68/104/53 41/91/25 +f 68/104/53 60/95/45 56/90/41 +f 52/85/37 56/90/41 60/95/45 +f 41/91/25 68/104/53 56/90/41 +f 57/105/54 58/106/55 59/107/56 +f 59/108/56 60/109/57 68/110/58 +f 69/111/59 71/112/59 70/113/59 +f 72/114/60 73/115/46 71/116/60 +f 73/115/46 70/117/46 71/116/60 +f 70/117/46 73/115/46 74/118/61 +f 69/119/61 70/117/46 74/118/61 +f 75/120/59 77/121/59 76/122/59 +f 71/112/59 75/120/59 76/122/59 +f 75/120/59 71/112/59 69/111/59 +f 75/123/44 69/119/44 78/124/44 +f 69/119/44 74/118/44 78/124/44 +f 77/125/52 75/123/62 79/126/52 +f 75/123/62 78/124/62 79/126/52 +f 79/126/52 80/127/63 77/125/52 +f 76/128/63 77/125/52 80/127/63 +f 76/129/49 80/130/49 72/114/49 +f 72/114/49 71/116/49 76/129/49 +f 57/131/54 59/108/56 68/110/58 +f 64/132/64 63/133/65 62/134/66 +f 66/135/67 65/136/68 64/137/64 +f 64/137/64 62/138/66 66/135/67 +f 57/131/54 68/110/58 62/138/66 +f 62/138/66 68/110/58 66/135/67 +f 57/131/54 62/138/66 61/139/59 +f 67/140/59 66/135/67 68/110/58 +l 38 81 diff --git a/src/main/resources/assets/hbm/models/weapons/launch_pad_erector.obj b/src/main/resources/assets/hbm/models/weapons/launch_pad_erector.obj index 6e1c08cdd..9ac4f0251 100644 --- a/src/main/resources/assets/hbm/models/weapons/launch_pad_erector.obj +++ b/src/main/resources/assets/hbm/models/weapons/launch_pad_erector.obj @@ -1,4493 +1,8702 @@ -# Blender v2.79 (sub 0) OBJ File: 'launch_pad_erector.blend' +# Blender v2.79 (sub 0) OBJ File: '' # www.blender.org -o ABM_Pivot -v 0.125000 1.250000 -1.375000 -v 0.375000 1.250000 -1.375000 -v 0.125000 1.250000 -1.625000 -v 0.375000 1.250000 -1.625000 -v -0.375000 1.250000 -1.375000 -v -0.125000 1.250000 -1.375000 -v -0.375000 1.250000 -1.625000 -v -0.125000 1.250000 -1.625000 -v 0.125000 2.750000 -1.625000 -v 0.125000 2.750000 -1.375000 -v 0.375000 2.750000 -1.375000 -v 0.375000 2.750000 -1.625000 -v -0.375000 2.750000 -1.625000 -v -0.375000 2.750000 -1.375000 -v -0.125000 2.750000 -1.375000 -v -0.125000 2.750000 -1.625000 -v 0.187500 2.750000 -1.437500 -v 0.312500 2.750000 -1.437500 -v 0.187500 2.750000 -1.562500 -v 0.312500 2.750000 -1.562500 -v 0.187500 3.750000 -1.437500 -v 0.312500 3.750000 -1.437500 -v 0.187500 3.750000 -1.562500 -v 0.312500 3.750000 -1.562500 -v -0.312500 2.750000 -1.437500 -v -0.187500 2.750000 -1.437500 -v -0.312500 2.750000 -1.562500 -v -0.187500 2.750000 -1.562500 -v -0.312500 3.750000 -1.437500 -v -0.187500 3.750000 -1.437500 -v -0.312500 3.750000 -1.562500 -v -0.187500 3.750000 -1.562500 -v 0.125000 2.312500 -1.437500 -v 0.125000 2.187500 -1.437500 -v 0.125000 2.312500 -1.562500 -v 0.125000 2.187500 -1.562500 -v -0.125000 2.312500 -1.562500 -v -0.125000 2.312500 -1.437500 -v -0.125000 2.187500 -1.437500 -v -0.125000 2.187500 -1.562500 -vt 0.750000 0.227273 -vt 0.729167 0.136364 -vt 0.750000 0.136364 -vt 0.791667 0.227273 -vt 0.770833 0.136364 -vt 0.791667 0.136364 -vt 0.666667 0.159091 -vt 0.708333 0.136364 -vt 0.708333 0.159091 -vt 0.666667 0.159091 -vt 0.708333 0.136364 -vt 0.708333 0.159091 -vt 0.833333 -0.000000 -vt 0.791667 0.136364 -vt 0.791667 -0.000000 -vt 0.750000 -0.000000 -vt 0.708333 -0.000000 -vt 0.833333 -0.000000 -vt 0.791667 0.136364 -vt 0.791667 -0.000000 -vt 0.750000 -0.000000 -vt 0.708333 -0.000000 -vt 0.666667 0.136364 -vt 0.666667 -0.000000 -vt 0.750000 0.136364 -vt 0.666667 0.136364 -vt 0.666667 -0.000000 -vt 0.750000 0.136364 -vt 0.729167 0.227273 -vt 0.708333 0.136364 -vt 0.770833 0.227273 -vt 0.750000 0.227273 -vt 0.729167 0.136364 -vt 0.750000 0.136364 -vt 0.791667 0.227273 -vt 0.770833 0.136364 -vt 0.791667 0.136364 -vt 0.729167 0.227273 -vt 0.708333 0.136364 -vt 0.770833 0.227273 -vt 0.708333 0.170455 -vt 0.666667 0.181818 -vt 0.666667 0.170455 -vt 0.708333 0.193182 -vt 0.666667 0.204545 -vt 0.666667 0.193182 -vt 0.708333 0.159091 -vt 0.666667 0.159091 -vt 0.708333 0.181818 -vt 0.833333 0.136364 -vt 0.833333 0.136364 -vt 0.708333 0.227273 -vt 0.708333 0.227273 -vt 0.708333 0.204545 -vn -1.0000 0.0000 0.0000 +o Pad +v 4.500000 -0.000000 4.500000 +v 4.500000 1.000000 0.500000 +v 4.500000 1.000000 4.500000 +v -4.500000 1.000000 0.500000 +v 4.500000 -0.000000 0.500000 +v -4.500000 -0.000000 0.500000 +v -4.500000 1.000000 4.500000 +v -4.500000 0.000000 -4.500000 +v 4.500000 1.000000 -4.500000 +v 4.500000 0.000000 -4.500000 +v -4.500000 -0.000000 4.500000 +v 4.500000 1.000000 -0.500000 +v -4.500000 0.000000 -0.500000 +v 4.500000 0.000000 -0.500000 +v -4.500000 1.000000 -0.500000 +v -4.500000 1.000000 -4.500000 +v 0.500000 1.000000 -0.500000 +v 4.500000 1.000000 0.500000 +v 4.500000 1.000000 -0.500000 +v -4.500000 1.000000 0.500000 +v -0.500000 1.000000 -0.500000 +v -4.500000 1.000000 -0.500000 +v 0.500000 1.000000 0.250000 +v 4.500000 0.750000 0.500000 +v 0.500000 0.750000 0.500000 +v 0.500000 1.000000 -0.250000 +v 4.500000 1.000000 0.250000 +v 0.500000 0.750000 -0.500000 +v 4.500000 1.000000 -0.250000 +v -4.500000 0.750000 0.500000 +v -4.500000 1.000000 0.500000 +v -4.500000 1.000000 0.250000 +v -4.500000 0.750000 -0.500000 +v -4.500000 1.000000 -0.250000 +v -4.500000 1.000000 -0.500000 +v 4.500000 1.000000 0.500000 +v 4.500000 0.750000 -0.500000 +v 4.500000 1.000000 -0.500000 +v 0.500000 1.000000 -0.500000 +v 0.500000 1.000000 0.500000 +v -0.500000 0.750000 -0.500000 +v -0.500000 1.000000 -0.500000 +v -0.500000 1.000000 -0.250000 +v -0.500000 0.750000 0.500000 +v -0.500000 1.000000 0.250000 +v -0.500000 1.000000 0.500000 +v 0.500000 -0.000000 0.500000 +v 0.000000 0.500000 -0.500000 +v 0.000000 0.500000 0.500000 +v -0.500000 0.000000 -0.500000 +v -0.500000 -0.000000 0.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 1.000000 0.500000 +v -0.500000 1.000000 0.500000 +vt 0.000000 0.473684 +vt 0.400000 0.526316 +vt 0.000000 0.526316 +vt 0.900000 0.526316 +vt 0.000000 0.473684 +vt 0.900000 0.473684 +vt 0.400000 1.000000 +vt 0.000000 1.000000 +vt 0.900000 0.473684 +vt -0.000000 0.526316 +vt -0.000000 0.473684 +vt 0.900000 0.473684 +vt -0.000000 0.526316 +vt -0.000000 0.473684 +vt 0.900000 0.526316 +vt 0.500000 0.473684 +vt 0.900000 0.473684 +vt 0.000000 0.000000 +vt 0.400000 0.473684 +vt 0.900000 0.526316 +vt -0.000000 0.473684 +vt 0.900000 0.473684 +vt 0.900000 0.526316 +vt 0.500000 0.473684 +vt 0.900000 0.473684 +vt 0.000000 0.473684 +vt 0.400000 0.526316 +vt 0.000000 0.526316 +vt 0.900000 1.000000 +vt 0.500000 0.526316 +vt 0.500000 0.000000 +vt 0.900000 0.000000 +vt 0.500000 0.736842 +vt 0.400000 0.526316 +vt 0.500000 0.526316 +vt 0.400000 1.000000 +vt 0.500000 0.789474 +vt 0.500000 1.000000 +vt 0.925000 0.539474 +vt 0.900000 0.750000 +vt 0.900000 0.539474 +vt 0.975000 0.539474 +vt 0.925000 0.750000 +vt 1.000000 0.539474 +vt 0.975000 0.750000 +vt 1.000000 0.763158 +vt 1.000000 0.776316 +vt 0.975000 0.776316 +vt 0.900000 0.763158 +vt 0.925000 0.776316 +vt 0.900000 0.776316 +vt 1.000000 0.763158 +vt 0.975000 0.750000 +vt 1.000000 0.750000 +vt 0.900000 0.763158 +vt 0.900000 0.750000 +vt 0.925000 0.750000 +vt 0.900000 0.526316 +vt 0.925000 0.539474 +vt 0.900000 0.539474 +vt 1.000000 0.526316 +vt 1.000000 0.539474 +vt 0.975000 0.539474 +vt 0.900000 1.000000 +vt 0.900000 0.986842 +vt 0.925000 0.986842 +vt 1.000000 1.000000 +vt 0.975000 0.986842 +vt 1.000000 0.986842 +vt 1.000000 0.776316 +vt 0.975000 0.986842 +vt 0.975000 0.776316 +vt 0.925000 0.986842 +vt 0.925000 0.776316 +vt 0.900000 0.986842 +vt 0.900000 0.776316 +vt 0.900000 0.473684 +vt 1.000000 0.500000 +vt 0.900000 0.500000 +vt 1.000000 0.526316 +vt 0.900000 0.526316 +vt 1.000000 0.473684 +vt 0.900000 0.421053 +vt 1.000000 0.421053 +vt 0.000000 0.526316 +vt 0.900000 0.526316 +vt 0.900000 0.526316 +vt 0.500000 0.526316 +vt 0.400000 0.000000 +vt -0.000000 0.526316 +vt 0.400000 0.473684 +vt 0.500000 1.000000 +vt 0.400000 0.736842 +vt 0.400000 0.789474 +vt 1.000000 0.750000 +vt 1.000000 0.986842 vn 1.0000 0.0000 0.0000 -vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 1.0000 -vn 0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 s off -f 21/1/1 19/2/1 17/3/1 -f 24/4/2 18/5/2 20/6/2 -f 11/7/3 9/8/3 10/9/3 -f 15/10/3 13/11/3 14/12/3 -f 8/13/2 15/14/2 6/15/2 -f 5/16/1 13/11/1 7/17/1 -f 4/18/2 11/19/2 2/20/2 -f 1/21/1 9/8/1 3/22/1 -f 7/17/4 16/23/4 8/24/4 -f 6/15/5 14/25/5 5/16/5 -f 3/22/4 12/26/4 4/27/4 -f 2/20/5 10/28/5 1/21/5 -f 23/29/4 20/30/4 19/2/4 -f 22/31/5 17/3/5 18/5/5 -f 29/32/1 27/33/1 25/34/1 -f 32/35/2 26/36/2 28/37/2 -f 31/38/4 28/39/4 27/33/4 -f 30/40/5 25/34/5 26/36/5 -f 40/41/4 35/42/4 36/43/4 -f 38/44/5 34/45/5 33/46/5 -f 39/47/6 36/43/6 34/48/6 -f 37/49/3 33/46/3 35/42/3 -f 21/1/1 23/29/1 19/2/1 -f 24/4/2 22/31/2 18/5/2 -f 11/7/3 12/26/3 9/8/3 -f 15/10/3 16/23/3 13/11/3 -f 8/13/2 16/50/2 15/14/2 -f 5/16/1 14/25/1 13/11/1 -f 4/18/2 12/51/2 11/19/2 -f 1/21/1 10/28/1 9/8/1 -f 7/17/4 13/11/4 16/23/4 -f 6/15/5 15/14/5 14/25/5 -f 3/22/4 9/8/4 12/26/4 -f 2/20/5 11/19/5 10/28/5 -f 23/29/4 24/52/4 20/30/4 -f 22/31/5 21/1/5 17/3/5 -f 29/32/1 31/38/1 27/33/1 -f 32/35/2 30/40/2 26/36/2 -f 31/38/4 32/53/4 28/39/4 -f 30/40/5 29/32/5 25/34/5 -f 40/41/4 37/49/4 35/42/4 -f 38/44/5 39/54/5 34/45/5 -f 39/47/6 40/41/6 36/43/6 -f 37/49/3 38/44/3 33/46/3 -o ABM_Rope -v 0.000000 10.500000 1.437500 -v 0.000000 10.375000 1.437500 -v 0.000000 10.500000 0.000000 -v 0.000000 10.375000 0.000000 -v 0.000000 10.375000 1.062500 -v 0.000000 10.250000 1.062500 -v 0.000000 10.375000 0.375000 -v 0.000000 10.250000 0.375000 -v 0.000000 10.500000 1.437500 -v 0.000000 10.375000 1.437500 -v 0.000000 10.500000 0.000000 -v 0.000000 10.375000 0.000000 -v 0.000000 10.375000 1.062500 -v 0.000000 10.250000 1.062500 -v 0.000000 10.375000 0.375000 -v 0.000000 10.250000 0.375000 -vt 0.593750 0.920455 -vt 0.656250 0.909091 -vt 0.656250 0.920455 -vt 0.593750 0.909091 -vt 0.479167 0.920455 -vt 0.479167 0.909091 -vt 0.416667 0.909091 -vt 0.416667 0.920455 -vt 0.656250 0.909091 -vt 0.593750 0.920455 -vt 0.656250 0.920455 -vt 0.479167 0.920455 -vt 0.593750 0.909091 -vt 0.479167 0.909091 -vt 0.416667 0.909091 -vt 0.416667 0.920455 +f 1/1/1 2/2/1 3/3/1 +f 4/4/2 5/5/2 6/6/2 +f 3/3/3 4/7/3 7/8/3 +f 8/9/2 9/10/2 10/11/2 +f 1/12/4 7/13/4 11/14/4 +f 7/15/5 6/16/5 11/17/5 +f 11/18/6 5/19/6 1/1/6 +f 12/20/4 13/21/4 14/22/4 +f 9/23/1 14/24/1 10/25/1 +f 8/26/5 15/27/5 16/28/5 +f 16/29/3 12/30/3 9/23/3 +f 10/25/6 13/31/6 8/32/6 +f 17/33/3 18/34/3 19/35/3 +f 20/36/3 21/37/3 22/38/3 +f 23/39/7 24/40/7 25/41/7 +f 26/42/6 27/43/6 23/39/6 +f 28/44/8 29/45/8 26/42/8 +f 30/46/5 31/47/5 32/48/5 +f 33/49/5 34/50/5 35/51/5 +f 24/52/1 27/53/1 36/54/1 +f 37/55/1 38/56/1 29/57/1 +f 28/58/5 26/59/5 39/60/5 +f 25/61/5 40/62/5 23/63/5 +f 41/64/1 42/65/1 43/66/1 +f 44/67/1 45/68/1 46/69/1 +f 33/70/8 43/71/8 34/72/8 +f 34/72/6 45/73/6 32/74/6 +f 32/74/7 44/75/7 30/76/7 +f 47/77/9 48/78/9 49/79/9 +f 49/79/10 50/80/10 51/81/10 +f 52/82/6 51/83/6 50/84/6 +f 1/1/1 5/19/1 2/2/1 +f 4/4/2 2/85/2 5/5/2 +f 3/3/3 2/2/3 4/7/3 +f 8/9/2 16/86/2 9/10/2 +f 1/12/4 3/87/4 7/13/4 +f 7/15/5 4/88/5 6/16/5 +f 11/18/6 6/89/6 5/19/6 +f 12/20/4 15/90/4 13/21/4 +f 9/23/1 12/30/1 14/24/1 +f 8/26/5 13/91/5 15/27/5 +f 16/29/3 15/92/3 12/30/3 +f 10/25/6 14/24/6 13/31/6 +f 17/33/3 53/93/3 18/34/3 +f 20/36/3 54/94/3 21/37/3 +f 23/39/7 27/43/7 24/40/7 +f 26/42/6 29/45/6 27/43/6 +f 28/44/8 37/95/8 29/45/8 +f 33/70/8 41/96/8 43/71/8 +f 34/72/6 43/71/6 45/73/6 +f 32/74/7 45/73/7 44/75/7 +f 47/77/9 52/82/9 48/78/9 +f 49/79/10 48/78/10 50/80/10 +f 52/82/6 47/77/6 51/83/6 +o V2_Erector +v -0.500000 7.750000 0.125000 +v -0.750000 7.750000 -0.125000 +v -0.750000 7.750000 0.125000 +v 0.750000 7.750000 0.125000 +v 0.500000 7.750000 -0.125000 +v 0.500000 7.750000 0.125000 +v -0.750000 4.250000 -0.125000 +v -0.500000 4.250000 0.125000 +v -0.750000 4.250000 0.125000 +v 0.500000 4.250000 -0.125000 +v 0.750000 4.250000 0.125000 +v 0.500000 4.250000 0.125000 +v 0.500000 2.750000 -1.875000 +v 0.750000 2.750000 -1.625000 +v 0.500000 2.750000 -1.625000 +v -0.750000 2.750000 -1.875000 +v -0.500000 2.750000 -1.625000 +v -0.750000 2.750000 -1.625000 +v 0.750000 7.750000 -1.625000 +v 0.500000 7.750000 -1.875000 +v 0.500000 7.750000 -1.625000 +v -0.500000 7.750000 -1.625000 +v -0.750000 7.750000 -1.875000 +v -0.750000 7.750000 -1.625000 +v -0.500000 2.750000 -1.875000 +v 0.750000 2.750000 -1.875000 +v -0.500000 7.750000 -1.875000 +v 0.750000 7.750000 -1.875000 +v -0.500000 4.250000 -0.125000 +v 0.750000 4.250000 -0.125000 +v -0.500000 7.750000 -0.125000 +v 0.750000 7.750000 -0.125000 +v -0.500000 7.250000 -0.125000 +v -0.250000 7.250000 -0.625000 +v -0.750000 7.250000 -0.125000 +v 0.750000 7.250000 -0.125000 +v 0.250000 7.250000 -0.375000 +v 0.500000 7.250000 -0.125000 +v 0.250000 7.250000 -0.625000 +v -0.250000 5.000000 -0.625000 +v 0.250000 5.000000 -0.375000 +v 0.250000 5.000000 -0.625000 +v 0.750000 5.000000 -0.125000 +v 0.500000 5.000000 -0.125000 +v -0.500000 5.000000 -0.125000 +v -0.750000 5.000000 -0.125000 +v -0.250000 5.000000 -0.375000 +v 0.250000 4.750000 -0.375000 +v -0.750000 4.750000 -0.125000 +v 0.500000 4.750000 -0.125000 +v -0.250000 4.750000 -0.625000 +v -0.250000 4.750000 -0.375000 +v 0.250000 4.750000 -0.625000 +v 0.750000 4.750000 -0.125000 +v -0.500000 4.750000 -0.125000 +v 0.750000 7.375000 -1.625000 +v 0.750000 7.625000 -0.125000 +v 0.750000 7.375000 -0.125000 +v 0.500000 7.375000 -1.625000 +v 0.500000 7.375000 -0.125000 +v 0.500000 7.625000 -1.625000 +v 0.500000 7.625000 -0.125000 +v -0.500000 7.375000 -1.625000 +v -0.500000 7.625000 -0.125000 +v -0.500000 7.375000 -0.125000 +v -0.750000 7.375000 -1.625000 +v -0.750000 7.375000 -0.125000 +v -0.750000 7.625000 -1.625000 +v -0.750000 7.625000 -0.125000 +v 0.750000 4.375000 -1.625000 +v 0.750000 4.625000 -0.125000 +v 0.750000 4.375000 -0.125000 +v 0.500000 4.375000 -1.625000 +v 0.500000 4.375000 -0.125000 +v 0.500000 4.625000 -1.625000 +v 0.500000 4.625000 -0.125000 +v -0.500000 4.375000 -1.625000 +v -0.500000 4.625000 -0.125000 +v -0.500000 4.375000 -0.125000 +v -0.750000 4.375000 -1.625000 +v -0.750000 4.375000 -0.125000 +v -0.750000 4.625000 -1.625000 +v -0.750000 4.625000 -0.125000 +v 0.750000 5.875000 -1.625000 +v 0.750000 6.125000 -0.125000 +v 0.750000 5.875000 -0.125000 +v 0.500000 5.875000 -1.625000 +v 0.500000 5.875000 -0.125000 +v 0.500000 6.125000 -1.625000 +v 0.500000 6.125000 -0.125000 +v -0.500000 5.875000 -1.625000 +v -0.500000 6.125000 -0.125000 +v -0.500000 5.875000 -0.125000 +v -0.750000 5.875000 -1.625000 +v -0.750000 5.875000 -0.125000 +v -0.750000 6.125000 -1.625000 +v -0.750000 6.125000 -0.125000 +v 0.500000 7.125000 -1.812500 +v -0.500000 6.375000 -1.812500 +v 0.500000 7.375000 -1.812500 +v -0.500000 7.125000 -1.687500 +v 0.500000 6.375000 -1.687500 +v 0.500000 6.125000 -1.687500 +v 0.500000 5.625000 -1.812500 +v -0.500000 4.875000 -1.812500 +v 0.500000 5.875000 -1.812500 +v -0.500000 5.625000 -1.687500 +v 0.500000 4.875000 -1.687500 +v 0.500000 4.625000 -1.687500 +v 0.500000 4.125000 -1.812500 +v -0.500000 3.375000 -1.812500 +v 0.500000 4.375000 -1.812500 +v -0.500000 4.125000 -1.687500 +v 0.500000 3.375000 -1.687500 +v 0.500000 3.125000 -1.687500 +v -0.250000 7.250000 -0.375000 +v 0.250000 7.000000 -0.375000 +v -0.750000 7.000000 -0.125000 +v 0.500000 7.000000 -0.125000 +v -0.250000 7.000000 -0.625000 +v -0.250000 7.000000 -0.375000 +v 0.250000 7.000000 -0.625000 +v 0.750000 7.000000 -0.125000 +v -0.500000 7.000000 -0.125000 +v -0.500000 6.375000 -1.812500 +v 0.500000 7.125000 -1.812500 +v 0.500000 7.375000 -1.812500 +v -0.500000 7.125000 -1.687500 +v 0.500000 6.375000 -1.687500 +v -0.500000 7.375000 -1.687500 +v -0.500000 4.875000 -1.812500 +v 0.500000 5.625000 -1.812500 +v 0.500000 5.875000 -1.812500 +v -0.500000 5.625000 -1.687500 +v 0.500000 4.875000 -1.687500 +v -0.500000 5.875000 -1.687500 +v -0.500000 3.375000 -1.812500 +v 0.500000 4.125000 -1.812500 +v 0.500000 4.375000 -1.812500 +v -0.500000 4.125000 -1.687500 +v 0.500000 3.375000 -1.687500 +v -0.500000 4.375000 -1.687500 +v 0.750000 7.625000 -1.625000 +v -0.500000 7.625000 -1.625000 +v 0.750000 4.625000 -1.625000 +v -0.500000 4.625000 -1.625000 +v 0.750000 6.125000 -1.625000 +v -0.500000 6.125000 -1.625000 +v -0.500000 6.125000 -1.812500 +v -0.500000 7.375000 -1.687500 +v -0.500000 4.625000 -1.812500 +v -0.500000 5.875000 -1.687500 +v -0.500000 3.125000 -1.812500 +v -0.500000 4.375000 -1.687500 +v -0.500000 6.125000 -1.812500 +v 0.500000 6.125000 -1.687500 +v -0.500000 4.625000 -1.812500 +v 0.500000 4.625000 -1.687500 +v -0.500000 3.125000 -1.812500 +v 0.500000 3.125000 -1.687500 +vt 0.918367 0.421053 +vt 0.938776 0.394737 +vt 0.938776 0.421053 +vt 0.918367 0.421053 +vt 0.938776 0.394737 +vt 0.938776 0.421053 +vt 0.938776 0.026316 +vt 0.918367 -0.000000 +vt 0.938776 -0.000000 +vt 0.938776 0.026316 +vt 0.918367 -0.000000 +vt 0.938776 -0.000000 +vt 0.857143 0.263158 +vt 0.836735 0.236842 +vt 0.857143 0.236842 +vt 0.857143 0.263158 +vt 0.836735 0.236842 +vt 0.857143 0.236842 +vt 0.836735 0.815789 +vt 0.857143 0.789474 +vt 0.857143 0.815789 +vt 0.836735 0.815789 +vt 0.857143 0.789474 +vt 0.857143 0.815789 +vt 0.918367 0.263158 +vt 0.897959 0.789474 +vt 0.897959 0.263158 +vt 0.877551 0.263158 +vt 0.918367 0.263158 +vt 0.897959 0.789474 +vt 0.897959 0.263158 +vt 0.877551 0.263158 +vt 0.836735 0.789474 +vt 0.836735 0.263158 +vt 0.877551 0.789474 +vt 0.836735 0.789474 +vt 0.836735 0.263158 +vt 0.877551 0.789474 +vt 1.000000 0.026316 +vt 0.979592 0.394737 +vt 0.979592 0.026316 +vt 0.959184 0.026316 +vt 1.000000 0.026316 +vt 0.979592 0.394737 +vt 0.979592 0.026316 +vt 0.959184 0.026316 +vt 0.918367 0.394737 +vt 0.918367 0.026316 +vt 0.959184 0.394737 +vt 0.918367 0.394737 +vt 0.918367 0.026316 +vt 0.959184 0.394737 +vt 0.653061 0.763158 +vt 0.632653 0.710526 +vt 0.673469 0.763158 +vt 0.551020 0.763158 +vt 0.591837 0.736842 +vt 0.571429 0.763158 +vt 0.591837 0.710526 +vt 0.632653 0.710526 +vt 0.591837 0.736842 +vt 0.591837 0.710526 +vt 0.551020 0.763158 +vt 0.571429 0.763158 +vt 0.653061 0.763158 +vt 0.673469 0.763158 +vt 0.632653 0.763158 +vt 0.591837 0.789474 +vt 0.591837 0.763158 +vt 0.673469 0.684211 +vt 0.673469 0.710526 +vt 0.571429 0.789474 +vt 0.632653 0.684211 +vt 0.632653 0.789474 +vt 0.551020 0.710526 +vt 0.591149 0.684899 +vt 0.551020 0.631579 +vt 0.591837 0.657895 +vt 0.632653 0.657895 +vt 0.653061 0.631579 +vt 0.918367 0.421053 +vt 0.938776 0.578947 +vt 0.918367 0.578947 +vt 0.979592 0.421053 +vt 1.000000 0.578947 +vt 0.979592 0.578947 +vt 0.959184 0.421053 +vt 0.959184 0.578947 +vt 0.918367 0.421053 +vt 0.938776 0.578947 +vt 0.918367 0.578947 +vt 0.979592 0.421053 +vt 1.000000 0.578947 +vt 0.979592 0.578947 +vt 0.959184 0.421053 +vt 0.959184 0.578947 +vt 0.918367 0.421053 +vt 0.938776 0.578947 +vt 0.918367 0.578947 +vt 0.979592 0.421053 +vt 1.000000 0.578947 +vt 0.979592 0.578947 +vt 0.959184 0.421053 +vt 0.959184 0.578947 +vt 0.918367 0.421053 +vt 0.938776 0.578947 +vt 0.918367 0.578947 +vt 0.979592 0.421053 +vt 1.000000 0.578947 +vt 0.979592 0.578947 +vt 0.959184 0.421053 +vt 0.959184 0.578947 +vt 0.918367 0.421053 +vt 0.938776 0.578947 +vt 0.918367 0.578947 +vt 0.979592 0.421053 +vt 1.000000 0.578947 +vt 0.979592 0.578947 +vt 0.959184 0.421053 +vt 0.959184 0.578947 +vt 0.918367 0.421053 +vt 0.938776 0.578947 +vt 0.918367 0.578947 +vt 0.979592 0.421053 +vt 1.000000 0.578947 +vt 0.979592 0.578947 +vt 0.959184 0.421053 +vt 0.959184 0.578947 +vt 0.918367 0.578947 +vt 1.000000 0.605263 +vt 0.918367 0.605263 +vt 1.000000 0.578947 +vt 0.918367 0.605263 +vt 0.918367 0.578947 +vt 0.918367 0.578947 +vt 1.000000 0.605263 +vt 0.918367 0.605263 +vt 1.000000 0.578947 +vt 0.918367 0.605263 +vt 0.918367 0.578947 +vt 0.918367 0.578947 +vt 1.000000 0.605263 +vt 0.918367 0.605263 +vt 1.000000 0.578947 +vt 0.918367 0.605263 +vt 0.918367 0.578947 +vt 0.632653 0.763158 +vt 0.591837 0.789474 +vt 0.591837 0.763158 +vt 0.673469 0.684211 +vt 0.673469 0.710526 +vt 0.571429 0.789474 +vt 0.632653 0.684211 +vt 0.632653 0.789474 +vt 0.551020 0.710526 +vt 0.591149 0.684899 +vt 0.551020 0.631579 +vt 0.591837 0.657895 +vt 0.632653 0.657895 +vt 0.653061 0.631579 +vt 1.000000 0.605263 +vt 0.918367 0.578947 +vt 0.918367 0.605263 +vt 1.000000 0.578947 +vt 0.918367 0.605263 +vt 1.000000 0.605263 +vt 1.000000 0.605263 +vt 0.918367 0.578947 +vt 0.918367 0.605263 +vt 1.000000 0.578947 +vt 0.918367 0.605263 +vt 1.000000 0.605263 +vt 1.000000 0.605263 +vt 0.918367 0.578947 +vt 0.918367 0.605263 +vt 1.000000 0.578947 +vt 0.918367 0.605263 +vt 1.000000 0.605263 +vt 0.918367 0.789474 +vt 0.918367 0.789474 +vt 1.000000 0.394737 +vt 1.000000 0.394737 +vt 0.632653 0.736842 +vt 0.632653 0.736842 +vt 0.653061 0.789474 +vt 0.551020 0.684211 +vt 0.571429 0.631579 +vt 0.673469 0.631579 +vt 0.938776 0.421053 +vt 1.000000 0.421053 +vt 0.938776 0.421053 +vt 1.000000 0.421053 +vt 0.938776 0.421053 +vt 1.000000 0.421053 +vt 0.938776 0.421053 +vt 1.000000 0.421053 +vt 0.938776 0.421053 +vt 1.000000 0.421053 +vt 0.938776 0.421053 +vt 1.000000 0.421053 +vt 1.000000 0.578947 +vt 1.000000 0.605263 +vt 1.000000 0.578947 +vt 1.000000 0.605263 +vt 1.000000 0.578947 +vt 1.000000 0.605263 +vt 0.653061 0.789474 +vt 0.551020 0.684211 +vt 0.571429 0.631579 +vt 0.673469 0.631579 +vt 1.000000 0.578947 +vt 0.918367 0.578947 +vt 1.000000 0.578947 +vt 0.918367 0.578947 +vt 1.000000 0.578947 +vt 0.918367 0.578947 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 vn 1.0000 0.0000 0.0000 vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.0000 1.0000 +vn -0.7071 0.0000 -0.7071 +vn -0.7071 -0.0000 0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 s off -f 47/55/7 44/56/7 43/57/7 -f 48/58/7 45/59/7 46/60/7 -f 42/61/7 45/59/7 41/62/7 -f 52/63/8 55/64/8 51/65/8 -f 53/66/8 56/67/8 54/68/8 -f 50/69/8 53/66/8 54/68/8 -f 47/55/7 48/58/7 44/56/7 -f 48/58/7 47/55/7 45/59/7 -f 42/61/7 46/60/7 45/59/7 -f 52/63/8 56/67/8 55/64/8 -f 53/66/8 55/64/8 56/67/8 -f 50/69/8 49/70/8 53/66/8 -o ABM_Erector -v 0.125000 2.750000 -1.625000 -v 0.125000 2.750000 -1.375000 -v 0.375000 2.750000 -1.375000 -v 0.375000 2.750000 -1.625000 -v -0.375000 2.750000 -1.625000 -v -0.375000 2.750000 -1.375000 -v -0.125000 2.750000 -1.375000 -v -0.125000 2.750000 -1.625000 -v 0.125000 9.750000 -1.625000 -v 0.125000 9.750000 -1.375000 -v 0.375000 9.750000 -1.375000 -v 0.375000 9.750000 -1.625000 -v -0.375000 9.750000 -1.625000 -v -0.375000 9.750000 -1.375000 -v -0.125000 9.750000 -1.375000 -v -0.125000 9.750000 -1.625000 -v 0.250000 4.625000 -1.500000 -v 0.500000 4.625000 -1.500000 -v 0.250000 4.875000 -1.500000 -v 0.500000 4.875000 -1.500000 -v 0.250000 4.625000 0.250000 -v 0.500000 4.625000 0.250000 -v 0.250000 4.875000 0.250000 -v 0.500000 4.875000 0.250000 -v -0.500000 4.625000 -1.500000 -v -0.250000 4.625000 -1.500000 -v -0.500000 4.875000 -1.500000 -v -0.250000 4.875000 -1.500000 -v -0.500000 4.625000 0.250000 -v -0.250000 4.625000 0.250000 -v -0.500000 4.875000 0.250000 -v -0.250000 4.875000 0.250000 -v 0.250000 4.625000 -0.250000 -v 0.250000 4.875000 -0.250000 -v -0.250000 4.625000 -0.250000 -v -0.250000 4.875000 -0.250000 -v 0.250000 4.875000 -0.500000 -v 0.250000 4.625000 -0.500000 -v -0.250000 4.625000 -0.500000 -v -0.250000 4.875000 -0.500000 -v 0.250000 9.125000 -1.500000 -v 0.500000 9.125000 -1.500000 -v 0.250000 9.375000 -1.500000 -v 0.500000 9.375000 -1.500000 -v 0.250000 9.125000 0.250000 -v 0.500000 9.125000 0.250000 -v 0.250000 9.375000 0.250000 -v 0.500000 9.375000 0.250000 -v -0.500000 9.125000 -1.500000 -v -0.250000 9.125000 -1.500000 -v -0.500000 9.375000 -1.500000 -v -0.250000 9.375000 -1.500000 -v -0.500000 9.125000 0.250000 -v -0.250000 9.125000 0.250000 -v -0.500000 9.375000 0.250000 -v -0.250000 9.375000 0.250000 -v 0.250000 9.125000 -0.250000 -v 0.250000 9.375000 -0.250000 -v -0.250000 9.125000 -0.250000 -v -0.250000 9.375000 -0.250000 -v 0.250000 9.375000 -0.500000 -v 0.250000 9.125000 -0.500000 -v -0.250000 9.125000 -0.500000 -v -0.250000 9.375000 -0.500000 -v 0.125000 9.312500 -1.437500 -v 0.125000 9.187500 -1.437500 -v 0.125000 9.312500 -1.562500 -v 0.125000 9.187500 -1.562500 -v -0.125000 9.312500 -1.562500 -v -0.125000 9.312500 -1.437500 -v -0.125000 9.187500 -1.437500 -v -0.125000 9.187500 -1.562500 -v -0.125000 8.187500 -1.562500 -v -0.125000 8.187500 -1.437500 -v -0.125000 8.312500 -1.437500 -v -0.125000 8.312500 -1.562500 -v 0.125000 8.187500 -1.562500 -v 0.125000 8.312500 -1.562500 -v 0.125000 8.187500 -1.437500 -v 0.125000 8.312500 -1.437500 -v 0.125000 7.312500 -1.437500 -v 0.125000 7.187500 -1.437500 -v 0.125000 7.312500 -1.562500 -v 0.125000 7.187500 -1.562500 -v -0.125000 7.312500 -1.562500 -v -0.125000 7.312500 -1.437500 -v -0.125000 7.187500 -1.437500 -v -0.125000 7.187500 -1.562500 -v -0.125000 6.187500 -1.562500 -v -0.125000 6.187500 -1.437500 -v -0.125000 6.312500 -1.437500 -v -0.125000 6.312500 -1.562500 -v 0.125000 6.187500 -1.562500 -v 0.125000 6.312500 -1.562500 -v 0.125000 6.187500 -1.437500 -v 0.125000 6.312500 -1.437500 -v 0.125000 3.312500 -1.437500 -v 0.125000 3.187500 -1.437500 -v 0.125000 3.312500 -1.562500 -v 0.125000 3.187500 -1.562500 -v -0.125000 3.312500 -1.562500 -v -0.125000 3.312500 -1.437500 -v -0.125000 3.187500 -1.437500 -v -0.125000 3.187500 -1.562500 -v 0.125000 5.312500 -1.437500 -v 0.125000 5.187500 -1.437500 -v 0.125000 5.312500 -1.562500 -v 0.125000 5.187500 -1.562500 -v -0.125000 5.312500 -1.562500 -v -0.125000 5.312500 -1.437500 -v -0.125000 5.187500 -1.437500 -v -0.125000 5.187500 -1.562500 -v -0.125000 4.187500 -1.562500 -v -0.125000 4.187500 -1.437500 -v -0.125000 4.312500 -1.437500 -v -0.125000 4.312500 -1.562500 -v 0.125000 4.187500 -1.562500 -v 0.125000 4.312500 -1.562500 -v 0.125000 4.187500 -1.437500 -v 0.125000 4.312500 -1.437500 -v 0.250000 4.875000 -0.625000 -v 0.250000 4.875000 -0.875000 -v 0.250000 5.625000 -1.375000 -v 0.250000 5.375000 -1.375000 -v -0.250000 4.875000 -0.625000 -v -0.250000 4.875000 -0.875000 -v -0.250000 5.625000 -1.375000 -v -0.250000 5.375000 -1.375000 -v 0.250000 9.125000 -0.625000 -v 0.250000 9.125000 -0.875000 -v -0.250000 9.125000 -0.625000 -v -0.250000 9.125000 -0.875000 -v 0.250000 8.625000 -1.375000 -v 0.250000 8.375000 -1.375000 -v -0.250000 8.625000 -1.375000 -v -0.250000 8.375000 -1.375000 -v 0.250000 4.625000 -0.625000 -v 0.250000 4.625000 -0.875000 -v -0.250000 4.625000 -0.625000 -v -0.250000 4.625000 -0.875000 -v 0.250000 4.125000 -1.375000 -v 0.250000 3.875000 -1.375000 -v -0.250000 4.125000 -1.375000 -v -0.250000 3.875000 -1.375000 -v 0.250000 4.875000 -0.625000 -v 0.250000 4.875000 -0.875000 -v 0.250000 5.625000 -1.375000 -v 0.250000 5.375000 -1.375000 -v -0.250000 4.875000 -0.625000 -v -0.250000 4.875000 -0.875000 -v -0.250000 5.625000 -1.375000 -v -0.250000 5.375000 -1.375000 -v 0.250000 9.125000 -0.625000 -v 0.250000 9.125000 -0.875000 -v -0.250000 9.125000 -0.625000 -v -0.250000 9.125000 -0.875000 -v 0.250000 8.625000 -1.375000 -v 0.250000 8.375000 -1.375000 -v -0.250000 8.625000 -1.375000 -v -0.250000 8.375000 -1.375000 -v 0.250000 4.625000 -0.625000 -v 0.250000 4.625000 -0.875000 -v -0.250000 4.625000 -0.625000 -v -0.250000 4.625000 -0.875000 -v 0.250000 4.125000 -1.375000 -v 0.250000 3.875000 -1.375000 -v -0.250000 4.125000 -1.375000 -v -0.250000 3.875000 -1.375000 -vt 0.708333 0.227273 -vt 0.666667 0.204545 -vt 0.708333 0.204545 -vt 0.708333 0.227273 -vt 0.666667 0.204545 -vt 0.708333 0.204545 -vt 0.666667 0.886364 -vt 0.708333 0.863636 -vt 0.708333 0.886364 -vt 0.666667 0.886364 -vt 0.708333 0.863636 -vt 0.708333 0.886364 -vt 0.833333 0.227273 -vt 0.791667 0.863636 -vt 0.791667 0.227273 -vt 0.750000 0.227273 -vt 0.666667 0.863636 -vt 0.666667 0.227273 -vt 0.791667 0.227273 -vt 0.750000 0.863636 -vt 0.750000 0.227273 -vt 0.666667 0.863636 -vt 0.666667 0.227273 -vt 0.750000 0.863636 -vt 0.833333 0.227273 -vt 0.791667 0.863636 -vt 0.875000 0.022727 -vt 0.833333 -0.000000 -vt 0.875000 -0.000000 -vt 0.833333 0.204545 -vt 0.875000 0.181818 -vt 0.875000 0.204545 -vt 0.916667 0.022727 -vt 0.833333 0.181818 -vt 0.833333 0.022727 -vt 0.958333 0.022727 -vt 0.916667 0.181818 -vt 1.000000 0.022727 -vt 0.958333 0.181818 -vt 0.875000 0.022727 -vt 0.833333 -0.000000 -vt 0.875000 -0.000000 -vt 0.833333 0.204545 -vt 0.875000 0.181818 -vt 0.875000 0.204545 -vt 0.916667 0.022727 -vt 0.833333 0.181818 -vt 0.833333 0.022727 -vt 0.958333 0.022727 -vt 0.916667 0.181818 -vt 1.000000 0.022727 -vt 0.958333 0.181818 -vt 0.875000 0.250000 -vt 0.958333 0.272727 -vt 0.875000 0.272727 -vt 0.958333 0.204545 -vt 0.875000 0.227273 -vt 0.875000 0.204545 -vt 0.958333 0.181818 -vt 0.875000 0.181818 -vt 0.833333 0.204545 -vt 0.875000 0.181818 -vt 0.875000 0.204545 -vt 0.958333 0.227273 -vt 0.958333 0.250000 -vt 0.875000 0.022727 -vt 0.833333 -0.000000 -vt 0.875000 -0.000000 -vt 0.916667 0.022727 -vt 0.833333 0.181818 -vt 0.833333 0.022727 -vt 0.958333 0.022727 -vt 0.916667 0.181818 -vt 1.000000 0.022727 -vt 0.958333 0.181818 -vt 0.875000 0.022727 -vt 0.833333 -0.000000 -vt 0.875000 -0.000000 -vt 0.833333 0.204545 -vt 0.875000 0.181818 -vt 0.875000 0.204545 -vt 0.916667 0.022727 -vt 0.833333 0.181818 -vt 0.833333 0.022727 -vt 0.958333 0.022727 -vt 0.916667 0.181818 -vt 1.000000 0.022727 -vt 0.958333 0.181818 -vt 0.875000 0.250000 -vt 0.958333 0.272727 -vt 0.875000 0.272727 -vt 0.958333 0.204545 -vt 0.875000 0.227273 -vt 0.875000 0.204545 -vt 0.958333 0.181818 -vt 0.875000 0.181818 -vt 0.958333 0.227273 -vt 0.958333 0.250000 -vt 0.708333 0.159091 -vt 0.666667 0.170455 -vt 0.666667 0.159091 -vt 0.708333 0.181818 -vt 0.666667 0.193182 -vt 0.666667 0.181818 -vt 0.708333 0.170455 -vt 0.708333 0.193182 -vt 0.666667 0.204545 -vt 0.708333 0.193182 -vt 0.666667 0.204545 -vt 0.666667 0.193182 -vt 0.708333 0.170455 -vt 0.666667 0.181818 -vt 0.666667 0.170455 -vt 0.708333 0.181818 -vt 0.708333 0.159091 -vt 0.666667 0.159091 -vt 0.708333 0.159091 -vt 0.666667 0.170455 -vt 0.666667 0.159091 -vt 0.708333 0.181818 -vt 0.666667 0.193182 -vt 0.666667 0.181818 -vt 0.708333 0.193182 -vt 0.666667 0.204545 -vt 0.666667 0.193182 -vt 0.708333 0.170455 -vt 0.666667 0.181818 -vt 0.666667 0.170455 -vt 0.708333 0.170455 -vt 0.666667 0.181818 -vt 0.666667 0.170455 -vt 0.708333 0.193182 -vt 0.666667 0.204545 -vt 0.666667 0.193182 -vt 0.708333 0.159091 -vt 0.666667 0.159091 -vt 0.708333 0.181818 -vt 0.708333 0.170455 -vt 0.708333 0.193182 -vt 0.666667 0.204545 -vt 0.708333 0.193182 -vt 0.666667 0.204545 -vt 0.666667 0.193182 -vt 0.708333 0.170455 -vt 0.666667 0.181818 -vt 0.666667 0.170455 -vt 0.708333 0.181818 -vt 0.708333 0.159091 -vt 0.666667 0.159091 -vt 0.708333 0.159091 -vt 0.666667 0.170455 -vt 0.666667 0.159091 -vt 0.708333 0.181818 -vt 0.666667 0.193182 -vt 0.666667 0.181818 -vt 0.708333 0.170455 -vt 0.708333 0.193182 -vt 0.666667 0.204545 -vt 0.708333 0.181818 -vt 0.708333 0.159091 -vt 0.666667 0.159091 -vt 0.875000 0.272727 -vt 0.958333 0.340909 -vt 0.833333 0.272727 -vt 0.833333 0.272727 -vt 0.958333 0.318182 -vt 0.958333 0.340909 -vt 0.958333 0.318182 -vt 0.833333 0.272727 -vt 0.875000 0.272727 -vt 0.958333 0.340909 -vt 0.875000 0.272727 -vt 0.958333 0.318182 -vt 0.958333 0.318182 -vt 0.833333 0.272727 -vt 0.875000 0.272727 -vt 0.958333 0.340909 -vt 0.875000 0.272727 -vt 0.958333 0.318182 -vt 0.958333 0.340909 -vt 0.875000 0.272727 -vt 0.833333 0.272727 -vt 0.958333 0.318182 -vt 0.833333 0.272727 -vt 0.958333 0.340909 -vt 0.833333 0.272727 -vt 0.958333 0.318182 -vt 0.875000 0.272727 -vt 0.875000 0.272727 -vt 0.958333 0.340909 -vt 0.958333 0.318182 -vt 0.833333 0.272727 -vt 0.958333 0.318182 -vt 0.875000 0.272727 -vt 0.875000 0.272727 -vt 0.958333 0.340909 -vt 0.958333 0.318182 -vt 0.833333 0.863636 -vt 0.833333 0.863636 -vt 1.000000 0.181818 -vt 1.000000 0.181818 -vt 1.000000 0.181818 -vt 1.000000 0.181818 -vt 0.708333 0.204545 -vt 0.708333 0.204545 -vt 0.708333 0.204545 -vt 0.708333 0.204545 -vt 0.708333 0.204545 -vt 0.708333 0.204545 -vt 0.708333 0.204545 -vt 0.958333 0.318182 -vt 0.875000 0.272727 -vt 0.958333 0.340909 -vt 0.833333 0.272727 -vt 0.958333 0.340909 -vt 0.833333 0.272727 -vt 0.958333 0.318182 -vt 0.875000 0.272727 -vt 0.958333 0.340909 -vt 0.833333 0.272727 -vt 0.958333 0.340909 -vt 0.833333 0.272727 -vn 0.0000 -1.0000 0.0000 +f 55/97/11 56/98/11 57/99/11 +f 58/100/11 59/101/11 60/102/11 +f 61/103/12 62/104/12 63/105/12 +f 64/106/12 65/107/12 66/108/12 +f 67/109/12 68/110/12 69/111/12 +f 70/112/12 71/113/12 72/114/12 +f 73/115/11 74/116/11 75/117/11 +f 76/118/11 77/119/11 78/120/11 +f 79/121/13 76/122/13 71/123/13 +f 72/124/14 77/119/14 70/112/14 +f 80/125/13 73/126/13 68/127/13 +f 69/128/14 74/116/14 67/109/14 +f 70/112/15 81/129/15 79/130/15 +f 71/123/16 78/131/16 72/124/16 +f 67/109/15 82/132/15 80/133/15 +f 68/127/16 75/134/16 69/128/16 +f 83/135/13 55/136/13 62/137/13 +f 63/138/14 56/98/14 61/103/14 +f 84/139/13 58/140/13 65/141/13 +f 66/142/14 59/101/14 64/106/14 +f 61/103/15 85/143/15 83/144/15 +f 62/137/16 57/145/16 63/138/16 +f 64/106/15 86/146/15 84/147/15 +f 65/141/16 60/148/16 66/142/16 +f 87/149/11 88/150/11 89/151/11 +f 90/152/11 91/153/11 92/154/11 +f 88/150/11 91/153/11 93/155/11 +f 94/156/11 95/157/11 96/158/11 +f 97/159/11 95/157/11 98/160/11 +f 99/161/11 94/156/11 100/162/11 +f 101/163/16 102/164/16 95/165/16 +f 94/156/17 103/166/17 100/167/17 +f 95/165/18 104/168/18 98/160/18 +f 96/158/15 105/169/15 94/156/15 +f 99/161/19 106/170/19 101/163/19 +f 97/171/20 107/172/20 96/158/20 +f 108/173/12 102/174/12 107/172/12 +f 105/169/12 102/174/12 106/175/12 +f 109/176/12 105/169/12 106/175/12 +f 110/177/13 111/178/13 112/179/13 +f 113/180/12 112/181/12 114/182/12 +f 115/183/14 114/182/14 116/184/14 +f 111/178/11 115/183/11 116/184/11 +f 117/185/13 118/186/13 119/187/13 +f 120/188/12 119/189/12 121/190/12 +f 122/191/14 121/190/14 123/192/14 +f 118/186/11 122/191/11 123/192/11 +f 124/193/13 125/194/13 126/195/13 +f 127/196/12 126/197/12 128/198/12 +f 129/199/14 128/198/14 130/200/14 +f 125/194/11 129/199/11 130/200/11 +f 131/201/13 132/202/13 133/203/13 +f 134/204/12 133/205/12 135/206/12 +f 136/207/14 135/206/14 137/208/14 +f 132/202/11 136/207/11 137/208/11 +f 138/209/13 139/210/13 140/211/13 +f 141/212/12 140/213/12 142/214/12 +f 143/215/14 142/214/14 144/216/14 +f 139/210/11 143/215/11 144/216/11 +f 145/217/13 146/218/13 147/219/13 +f 148/220/12 147/221/12 149/222/12 +f 150/223/14 149/222/14 151/224/14 +f 146/218/11 150/223/11 151/224/11 +f 152/225/15 153/226/15 154/227/15 +f 155/228/15 156/229/15 157/230/15 +f 158/231/15 159/232/15 160/233/15 +f 161/234/15 162/235/15 163/236/15 +f 164/237/15 165/238/15 166/239/15 +f 167/240/15 168/241/15 169/242/15 +f 170/243/16 171/244/16 91/245/16 +f 88/150/17 172/246/17 89/247/17 +f 91/245/18 173/248/18 92/154/18 +f 93/155/15 174/249/15 88/150/15 +f 87/149/19 175/250/19 170/243/19 +f 90/251/20 176/252/20 93/155/20 +f 177/253/12 171/254/12 176/252/12 +f 174/249/12 171/254/12 175/255/12 +f 178/256/12 174/249/12 175/255/12 +f 179/257/16 180/258/16 181/259/16 +f 182/260/16 183/261/16 184/262/16 +f 185/263/16 186/264/16 187/265/16 +f 188/266/16 189/267/16 190/268/16 +f 191/269/16 192/270/16 193/271/16 +f 194/272/16 195/273/16 196/274/16 +f 55/97/11 85/143/11 56/98/11 +f 58/100/11 86/146/11 59/101/11 +f 61/103/12 83/144/12 62/104/12 +f 64/106/12 84/147/12 65/107/12 +f 67/109/12 80/133/12 68/110/12 +f 70/112/12 79/130/12 71/113/12 +f 73/115/11 82/132/11 74/116/11 +f 76/118/11 81/129/11 77/119/11 +f 79/121/13 81/275/13 76/122/13 +f 72/124/14 78/131/14 77/119/14 +f 80/125/13 82/276/13 73/126/13 +f 69/128/14 75/134/14 74/116/14 +f 70/112/15 77/119/15 81/129/15 +f 71/123/16 76/122/16 78/131/16 +f 67/109/15 74/116/15 82/132/15 +f 68/127/16 73/126/16 75/134/16 +f 83/135/13 85/277/13 55/136/13 +f 63/138/14 57/145/14 56/98/14 +f 84/139/13 86/278/13 58/140/13 +f 66/142/14 60/148/14 59/101/14 +f 61/103/15 56/98/15 85/143/15 +f 62/137/16 55/136/16 57/145/16 +f 64/106/15 59/101/15 86/146/15 +f 65/141/16 58/140/16 60/148/16 +f 87/149/11 170/279/11 88/150/11 +f 90/152/11 93/155/11 91/153/11 +f 88/150/11 170/279/11 91/153/11 +f 94/156/11 101/280/11 95/157/11 +f 97/159/11 96/158/11 95/157/11 +f 99/161/11 101/280/11 94/156/11 +f 101/163/16 106/170/16 102/164/16 +f 94/156/17 105/169/17 103/166/17 +f 95/165/18 102/164/18 104/168/18 +f 96/158/15 107/172/15 105/169/15 +f 99/161/19 109/281/19 106/170/19 +f 97/171/20 108/282/20 107/172/20 +f 108/173/12 104/283/12 102/174/12 +f 105/169/12 107/172/12 102/174/12 +f 109/176/12 103/284/12 105/169/12 +f 110/177/13 197/285/13 111/178/13 +f 113/180/12 110/286/12 112/181/12 +f 115/183/14 113/180/14 114/182/14 +f 111/178/11 197/285/11 115/183/11 +f 117/185/13 198/287/13 118/186/13 +f 120/188/12 117/288/12 119/189/12 +f 122/191/14 120/188/14 121/190/14 +f 118/186/11 198/287/11 122/191/11 +f 124/193/13 199/289/13 125/194/13 +f 127/196/12 124/290/12 126/197/12 +f 129/199/14 127/196/14 128/198/14 +f 125/194/11 199/289/11 129/199/11 +f 131/201/13 200/291/13 132/202/13 +f 134/204/12 131/292/12 133/205/12 +f 136/207/14 134/204/14 135/206/14 +f 132/202/11 200/291/11 136/207/11 +f 138/209/13 201/293/13 139/210/13 +f 141/212/12 138/294/12 140/213/12 +f 143/215/14 141/212/14 142/214/14 +f 139/210/11 201/293/11 143/215/11 +f 145/217/13 202/295/13 146/218/13 +f 148/220/12 145/296/12 147/221/12 +f 150/223/14 148/220/14 149/222/14 +f 146/218/11 202/295/11 150/223/11 +f 152/225/15 203/297/15 153/226/15 +f 155/228/15 204/298/15 156/229/15 +f 158/231/15 205/299/15 159/232/15 +f 161/234/15 206/300/15 162/235/15 +f 164/237/15 207/301/15 165/238/15 +f 167/240/15 208/302/15 168/241/15 +f 170/243/16 175/250/16 171/244/16 +f 88/150/17 174/249/17 172/246/17 +f 91/245/18 171/244/18 173/248/18 +f 93/155/15 176/252/15 174/249/15 +f 87/149/19 178/303/19 175/250/19 +f 90/251/20 177/304/20 176/252/20 +f 177/253/12 173/305/12 171/254/12 +f 174/249/12 176/252/12 171/254/12 +f 178/256/12 172/306/12 174/249/12 +f 179/257/16 209/307/16 180/258/16 +f 182/260/16 210/308/16 183/261/16 +f 185/263/16 211/309/16 186/264/16 +f 188/266/16 212/310/16 189/267/16 +f 191/269/16 213/311/16 192/270/16 +f 194/272/16 214/312/16 195/273/16 +o V2_Pivot +v 0.750000 2.750000 -1.625000 +v 0.500000 2.750000 -1.875000 +v 0.500000 2.750000 -1.625000 +v 0.750000 1.250000 -1.875000 +v 0.750000 1.250000 -1.625000 +v 0.500000 1.250000 -1.625000 +v 0.500000 1.250000 -1.875000 +v 0.750000 2.750000 -1.875000 +v -0.500000 2.750000 -1.625000 +v -0.750000 2.750000 -1.875000 +v -0.750000 2.750000 -1.625000 +v -0.500000 1.250000 -1.875000 +v -0.500000 1.250000 -1.625000 +v -0.750000 1.250000 -1.625000 +v -0.750000 1.250000 -1.875000 +v -0.500000 2.750000 -1.875000 +v 0.687500 2.750000 -1.812500 +v 0.687500 3.750000 -1.687500 +v 0.687500 2.750000 -1.687500 +v 0.562500 2.750000 -1.687500 +v 0.562500 3.750000 -1.812500 +v 0.562500 2.750000 -1.812500 +v 0.687500 3.750000 -1.812500 +v 0.562500 3.750000 -1.687500 +v -0.562500 2.750000 -1.812500 +v -0.562500 3.750000 -1.687500 +v -0.562500 2.750000 -1.687500 +v -0.687500 2.750000 -1.687500 +v -0.687500 3.750000 -1.812500 +v -0.687500 2.750000 -1.812500 +v -0.562500 3.750000 -1.812500 +v -0.687500 3.750000 -1.687500 +vt 0.836735 0.184211 +vt 0.857143 0.157895 +vt 0.857143 0.184211 +vt 0.918367 -0.000000 +vt 0.897959 0.157895 +vt 0.897959 -0.000000 +vt 0.877551 -0.000000 +vt 0.857143 -0.000000 +vt 0.836735 0.157895 +vt 0.836735 -0.000000 +vt 0.877551 0.157895 +vt 0.836735 0.184211 +vt 0.857143 0.157895 +vt 0.857143 0.184211 +vt 0.918367 -0.000000 +vt 0.897959 0.157895 +vt 0.897959 -0.000000 +vt 0.877551 -0.000000 +vt 0.857143 -0.000000 +vt 0.836735 0.157895 +vt 0.836735 -0.000000 +vt 0.877551 0.157895 +vt 0.897959 0.157895 +vt 0.887755 0.263158 +vt 0.887755 0.157895 +vt 0.877551 0.157895 +vt 0.867347 0.263158 +vt 0.867347 0.157895 +vt 0.857143 0.263158 +vt 0.857143 0.157895 +vt 0.877551 0.263158 +vt 0.897959 0.157895 +vt 0.887755 0.263158 +vt 0.887755 0.157895 +vt 0.877551 0.157895 +vt 0.867347 0.263158 +vt 0.867347 0.157895 +vt 0.857143 0.263158 +vt 0.857143 0.157895 +vt 0.877551 0.263158 +vt 0.918367 0.157895 +vt 0.918367 0.157895 +vt 0.897959 0.263158 +vt 0.897959 0.263158 vn 0.0000 1.0000 0.0000 vn 1.0000 0.0000 0.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.0000 1.0000 s off -f 57/71/9 59/72/9 58/73/9 -f 61/74/9 63/75/9 62/76/9 -f 67/77/10 65/78/10 66/79/10 -f 71/80/10 69/81/10 70/82/10 -f 60/83/11 67/84/11 59/85/11 -f 58/86/12 65/78/12 57/71/12 -f 61/74/13 72/87/13 64/88/13 -f 63/89/14 70/90/14 62/91/14 -f 57/71/13 68/92/13 60/93/13 -f 59/85/14 66/94/14 58/86/14 -f 64/95/11 71/96/11 63/89/11 -f 62/91/12 69/81/12 61/74/12 -f 75/97/13 74/98/13 73/99/13 -f 78/100/14 79/101/14 77/102/14 -f 73/103/12 79/101/12 75/97/12 -f 75/97/10 80/104/10 76/105/10 -f 74/106/9 77/107/9 73/103/9 -f 76/108/11 78/109/11 74/106/11 -f 83/110/13 82/111/13 81/112/13 -f 86/113/14 87/114/14 85/115/14 -f 81/116/12 87/114/12 83/110/12 -f 83/110/10 88/117/10 84/118/10 -f 82/119/9 85/120/9 81/116/9 -f 84/121/11 86/122/11 82/119/11 -f 90/123/14 91/124/14 89/125/14 -f 95/126/13 93/127/13 94/128/13 -f 91/129/9 94/128/9 89/130/9 -f 102/131/14 103/132/14 101/133/14 -f 90/123/10 96/134/10 92/135/10 -f 99/136/13 98/137/13 97/138/13 -f 97/139/12 103/132/12 99/136/12 -f 99/136/10 104/140/10 100/141/10 -f 98/142/9 101/143/9 97/139/9 -f 100/144/11 102/145/11 98/142/11 -f 107/146/13 106/147/13 105/148/13 -f 110/149/14 111/150/14 109/151/14 -f 105/152/12 111/150/12 107/146/12 -f 107/146/10 112/153/10 108/154/10 -f 106/155/9 109/156/9 105/152/9 -f 108/157/11 110/158/11 106/155/11 -f 114/159/14 115/160/14 113/161/14 -f 119/162/13 117/163/13 118/164/13 -f 115/165/9 118/164/9 113/166/9 -f 114/159/10 120/167/10 116/168/10 -f 127/169/9 124/170/9 122/171/9 -f 125/172/10 121/173/10 123/174/10 -f 128/175/13 123/174/13 124/170/13 -f 126/176/14 122/177/14 121/173/14 -f 131/178/14 135/179/14 136/180/14 -f 129/181/13 134/182/13 133/183/13 -f 132/184/10 136/180/10 134/182/10 -f 130/185/9 133/183/9 135/186/9 -f 143/187/9 140/188/9 138/189/9 -f 141/190/10 137/191/10 139/192/10 -f 171/193/14 175/194/14 176/195/14 -f 169/196/13 174/197/13 173/198/13 -f 160/199/13 155/200/13 156/201/13 -f 158/202/14 154/203/14 153/204/14 -f 159/205/9 156/201/9 154/206/9 -f 157/207/10 153/204/10 155/200/10 -f 144/208/13 139/192/13 140/188/13 -f 142/209/14 138/210/14 137/191/14 -f 147/211/14 151/212/14 152/213/14 -f 145/214/13 150/215/13 149/216/13 -f 148/217/10 152/213/10 150/215/10 -f 146/218/9 149/216/9 151/219/9 -f 167/220/9 164/221/9 162/222/9 -f 165/223/10 161/224/10 163/225/10 -f 168/226/13 163/225/13 164/221/13 -f 166/227/14 162/228/14 161/224/14 -f 172/229/10 176/195/10 174/197/10 -f 170/230/9 173/198/9 175/231/9 -f 178/232/11 179/233/11 177/234/11 -f 183/235/12 182/236/12 181/237/12 -f 191/238/12 187/239/12 188/240/12 -f 185/241/11 189/242/11 186/243/11 -f 199/244/12 195/245/12 196/246/12 -f 193/247/11 197/248/11 194/249/11 -f 203/250/12 202/251/12 201/252/12 -f 206/253/11 207/254/11 205/255/11 -f 211/256/11 215/257/11 212/258/11 -f 213/259/12 209/260/12 210/261/12 -f 219/262/11 223/263/11 220/264/11 -f 221/265/12 217/266/12 218/267/12 -f 57/71/9 60/93/9 59/72/9 -f 61/74/9 64/88/9 63/75/9 -f 67/77/10 68/92/10 65/78/10 -f 71/80/10 72/87/10 69/81/10 -f 60/83/11 68/268/11 67/84/11 -f 58/86/12 66/94/12 65/78/12 -f 61/74/13 69/81/13 72/87/13 -f 63/89/14 71/96/14 70/90/14 -f 57/71/13 65/78/13 68/92/13 -f 59/85/14 67/84/14 66/94/14 -f 64/95/11 72/269/11 71/96/11 -f 62/91/12 70/90/12 69/81/12 -f 75/97/13 76/105/13 74/98/13 -f 78/100/14 80/104/14 79/101/14 -f 73/103/12 77/107/12 79/101/12 -f 75/97/10 79/101/10 80/104/10 -f 74/106/9 78/109/9 77/107/9 -f 76/108/11 80/270/11 78/109/11 -f 83/110/13 84/118/13 82/111/13 -f 86/113/14 88/117/14 87/114/14 -f 81/116/12 85/120/12 87/114/12 -f 83/110/10 87/114/10 88/117/10 -f 82/119/9 86/122/9 85/120/9 -f 84/121/11 88/271/11 86/122/11 -f 90/123/14 92/135/14 91/124/14 -f 95/126/13 96/134/13 93/127/13 -f 91/129/9 95/126/9 94/128/9 -f 102/131/14 104/140/14 103/132/14 -f 90/123/10 93/127/10 96/134/10 -f 99/136/13 100/141/13 98/137/13 -f 97/139/12 101/143/12 103/132/12 -f 99/136/10 103/132/10 104/140/10 -f 98/142/9 102/145/9 101/143/9 -f 100/144/11 104/272/11 102/145/11 -f 107/146/13 108/154/13 106/147/13 -f 110/149/14 112/153/14 111/150/14 -f 105/152/12 109/156/12 111/150/12 -f 107/146/10 111/150/10 112/153/10 -f 106/155/9 110/158/9 109/156/9 -f 108/157/11 112/273/11 110/158/11 -f 114/159/14 116/168/14 115/160/14 -f 119/162/13 120/167/13 117/163/13 -f 115/165/9 119/162/9 118/164/9 -f 114/159/10 117/163/10 120/167/10 -f 127/169/9 128/175/9 124/170/9 -f 125/172/10 126/176/10 121/173/10 -f 128/175/13 125/172/13 123/174/13 -f 126/176/14 127/274/14 122/177/14 -f 131/178/14 130/275/14 135/179/14 -f 129/181/13 132/184/13 134/182/13 -f 132/184/10 131/178/10 136/180/10 -f 130/185/9 129/181/9 133/183/9 -f 143/187/9 144/208/9 140/188/9 -f 141/190/10 142/209/10 137/191/10 -f 171/193/14 170/276/14 175/194/14 -f 169/196/13 172/229/13 174/197/13 -f 160/199/13 157/207/13 155/200/13 -f 158/202/14 159/277/14 154/203/14 -f 159/205/9 160/199/9 156/201/9 -f 157/207/10 158/202/10 153/204/10 -f 144/208/13 141/190/13 139/192/13 -f 142/209/14 143/278/14 138/210/14 -f 147/211/14 146/279/14 151/212/14 -f 145/214/13 148/217/13 150/215/13 -f 148/217/10 147/211/10 152/213/10 -f 146/218/9 145/214/9 149/216/9 -f 167/220/9 168/226/9 164/221/9 -f 165/223/10 166/227/10 161/224/10 -f 168/226/13 165/223/13 163/225/13 -f 166/227/14 167/280/14 162/228/14 -f 172/229/10 171/193/10 176/195/10 -f 170/230/9 169/196/9 173/198/9 -f 178/232/11 180/281/11 179/233/11 -f 183/235/12 184/282/12 182/236/12 -f 191/238/12 192/283/12 187/239/12 -f 185/241/11 190/284/11 189/242/11 -f 199/244/12 200/285/12 195/245/12 -f 193/247/11 198/286/11 197/248/11 -f 203/250/12 204/287/12 202/251/12 -f 206/253/11 208/288/11 207/254/11 -f 211/256/11 216/289/11 215/257/11 -f 213/259/12 214/290/12 209/260/12 -f 219/262/11 224/291/11 223/263/11 -f 221/265/12 222/292/12 217/266/12 -o ABM_Pad -v -1.000000 2.000000 1.000000 -v 1.000000 2.000000 1.000000 -v -1.000000 2.000000 -1.000000 -v 1.000000 2.000000 -1.000000 +f 215/313/21 216/314/21 217/315/21 +f 218/316/22 215/317/22 219/318/22 +f 220/319/23 216/314/23 221/320/23 +f 221/320/24 222/321/24 218/322/24 +f 219/318/25 217/323/25 220/319/25 +f 223/324/21 224/325/21 225/326/21 +f 226/327/22 223/328/22 227/329/22 +f 228/330/23 224/325/23 229/331/23 +f 229/331/24 230/332/24 226/333/24 +f 227/329/25 225/334/25 228/330/25 +f 231/335/22 232/336/22 233/337/22 +f 234/338/23 235/339/23 236/340/23 +f 236/340/24 237/341/24 231/342/24 +f 233/337/25 238/343/25 234/338/25 +f 239/344/22 240/345/22 241/346/22 +f 242/347/23 243/348/23 244/349/23 +f 244/349/24 245/350/24 239/351/24 +f 241/346/25 246/352/25 242/347/25 +f 215/313/21 222/321/21 216/314/21 +f 218/316/22 222/353/22 215/317/22 +f 220/319/23 217/323/23 216/314/23 +f 221/320/24 216/314/24 222/321/24 +f 219/318/25 215/317/25 217/323/25 +f 223/324/21 230/332/21 224/325/21 +f 226/327/22 230/354/22 223/328/22 +f 228/330/23 225/334/23 224/325/23 +f 229/331/24 224/325/24 230/332/24 +f 227/329/25 223/328/25 225/334/25 +f 231/335/22 237/355/22 232/336/22 +f 234/338/23 238/343/23 235/339/23 +f 236/340/24 235/339/24 237/341/24 +f 233/337/25 232/336/25 238/343/25 +f 239/344/22 245/356/22 240/345/22 +f 242/347/23 246/352/23 243/348/23 +f 244/349/24 243/348/24 245/350/24 +f 241/346/25 240/345/25 246/352/25 +o V2_Rope +v 0.000000 8.875000 1.750000 +v 0.000000 8.875000 1.375000 +v 0.000000 9.000000 1.750000 +v 0.000000 8.875000 0.375000 +v 0.000000 8.875000 0.000000 +v 0.000000 9.000000 0.000000 +v 0.000000 8.750000 1.375000 +v 0.000000 8.875000 1.750000 +v 0.000000 8.875000 1.375000 +v 0.000000 8.750000 1.375000 +v 0.000000 8.875000 0.000000 +v 0.000000 8.875000 0.375000 +v 0.000000 9.000000 0.000000 +v 0.000000 8.750000 0.375000 +v 0.000000 9.000000 1.750000 +v 0.000000 8.750000 0.375000 +v 0.312500 2.062500 2.062500 +v 0.362056 2.049556 2.044194 +v 0.356694 2.062500 2.044194 +v 0.250000 2.062500 2.000000 +v 0.299556 1.987056 2.044194 +v 0.268306 2.062500 2.044194 +v 0.312500 2.062500 1.937500 +v 0.299556 1.987056 1.955806 +v 0.268306 2.062500 1.955806 +v 0.362056 2.049556 1.955806 +v 0.330806 2.018306 1.937500 +v 0.330806 2.018306 2.062500 +v 0.286612 1.974112 2.000000 +v 0.375000 2.000000 1.937500 +v 0.375000 2.000000 2.062500 +v 0.375000 1.955806 1.955806 +v 0.375000 1.937500 2.000000 +v 0.375000 2.044194 2.044194 +v 0.375000 1.955806 2.044194 +v 0.375000 2.062500 2.000000 +v 0.356694 2.062500 1.955806 +v 0.375000 2.044194 1.955806 +v 0.500000 2.062500 2.000000 +v 0.500000 2.044194 1.955806 +v 0.500000 2.000000 1.937500 +v 0.500000 2.000000 2.062500 +v 0.500000 1.955806 1.955806 +v 0.500000 1.937500 2.000000 +v 0.500000 2.044194 2.044194 +v 0.500000 1.955806 2.044194 +v 0.375000 5.312500 2.000000 +v 0.312500 5.312500 2.062500 +v 0.250000 5.312500 2.000000 +v 0.312500 5.312500 1.937500 +v 0.356694 5.312500 1.955806 +v 0.356694 5.312500 2.044194 +v 0.268306 5.312500 2.044194 +v 0.268306 5.312500 1.955806 +v 0.250000 4.562500 0.250000 +v 0.268306 4.518306 2.000000 +v 0.250000 4.562500 2.000000 +v 0.312500 4.625000 0.250000 +v 0.268306 4.606694 2.000000 +v 0.312500 4.625000 2.000000 +v 0.356694 4.606694 0.250000 +v 0.356694 4.606694 2.000000 +v 0.356694 4.518306 0.250000 +v 0.375000 4.562500 2.000000 +v 0.356694 4.518306 2.000000 +v 0.268306 4.518306 0.250000 +v 0.312500 4.500000 2.000000 +v 0.268306 4.606694 0.250000 +v 0.375000 4.562500 0.250000 +v 0.312500 4.500000 0.250000 +v 0.356694 5.387944 2.012944 +v 0.268306 5.387944 2.012944 +v 0.268306 5.325444 1.950444 +v 0.356694 5.325444 1.950444 +v 0.375000 5.356694 1.981694 +v 0.312500 5.400888 2.025888 +v 0.250000 5.356694 1.981694 +v 0.250000 5.375000 1.937500 +v 0.268306 5.330806 1.937500 +v 0.375000 5.375000 1.937500 +v 0.312500 5.437500 1.937500 +v 0.268306 5.419194 1.937500 +v 0.356694 5.419194 1.937500 +v 0.356694 5.330806 1.937500 +v 0.312500 5.312500 0.187500 +v 0.356694 5.330806 0.187500 +v 0.375000 5.375000 0.187500 +v 0.312500 5.437500 0.187500 +v 0.250000 5.375000 0.187500 +v 0.356694 5.419194 0.187500 +v 0.268306 5.419194 0.187500 +v 0.268306 5.330806 0.187500 +vt 0.408163 0.631579 +vt 0.438776 0.644737 +vt 0.408163 0.644737 +vt 0.520408 0.644737 +vt 0.551020 0.631579 +vt 0.551020 0.644737 +vt 0.438776 0.631579 +vt 0.408163 0.631579 +vt 0.438776 0.644737 +vt 0.438776 0.631579 +vt 0.551020 0.631579 +vt 0.520408 0.644737 +vt 0.551020 0.644737 +vt 0.520408 0.631579 +vt 0.408163 0.644737 +vt 0.520408 0.631579 +vt 0.816327 0.342105 +vt 0.821429 0.335526 +vt 0.821429 0.342105 +vt 0.806122 0.342105 +vt 0.811224 0.335526 +vt 0.811224 0.342105 +vt 0.795918 0.342105 +vt 0.801020 0.335526 +vt 0.801020 0.342105 +vt 0.836735 0.342105 +vt 0.831633 0.335526 +vt 0.836735 0.335526 +vt 0.816327 0.335526 +vt 0.806122 0.335526 +vt 0.836735 0.328947 +vt 0.816327 0.328947 +vt 0.801020 0.328947 +vt 0.806122 0.328947 +vt 0.821429 0.328947 +vt 0.811224 0.328947 +vt 0.795918 0.328947 +vt 0.826531 0.335526 +vt 0.831633 0.342105 +vt 0.831633 0.328947 +vt 0.826531 0.315789 +vt 0.831633 0.315789 +vt 0.836735 0.315789 +vt 0.826531 0.328947 +vt 0.816327 0.315789 +vt 0.801020 0.315789 +vt 0.806122 0.315789 +vt 0.821429 0.315789 +vt 0.811224 0.315789 +vt 0.826531 0.684211 +vt 0.826531 0.342105 +vt 0.816327 0.684211 +vt 0.806122 0.684211 +vt 0.795918 0.684211 +vt 0.831633 0.684211 +vt 0.821429 0.684211 +vt 0.811224 0.684211 +vt 0.801020 0.684211 +vt 0.806122 0.828947 +vt 0.801020 0.697368 +vt 0.806122 0.697368 +vt 0.816327 0.828947 +vt 0.811224 0.697368 +vt 0.816327 0.697368 +vt 0.821429 0.828947 +vt 0.821429 0.697368 +vt 0.831633 0.828947 +vt 0.826531 0.697368 +vt 0.831633 0.697368 +vt 0.801020 0.828947 +vt 0.795918 0.697368 +vt 0.811224 0.828947 +vt 0.826531 0.828947 +vt 0.836735 0.828947 +vt 0.836735 0.697368 +vt 0.821429 0.690789 +vt 0.811224 0.690789 +vt 0.801020 0.690789 +vt 0.831633 0.690789 +vt 0.826531 0.690789 +vt 0.816327 0.690789 +vt 0.806122 0.690789 +vt 0.806122 0.697368 +vt 0.801020 0.697368 +vt 0.826531 0.697368 +vt 0.816327 0.697368 +vt 0.811224 0.697368 +vt 0.821429 0.697368 +vt 0.795918 0.690789 +vt 0.836735 0.690789 +vt 0.831633 0.697368 +vt 0.836735 0.828947 +vt 0.831633 0.828947 +vt 0.826531 0.828947 +vt 0.795918 0.828947 +vt 0.795918 0.697368 +vt 0.816327 0.828947 +vt 0.806122 0.828947 +vt 0.821429 0.828947 +vt 0.811224 0.828947 +vt 0.801020 0.828947 +vt 0.795918 0.335526 +vt 0.795918 0.315789 +vt 0.836735 0.684211 +vt 0.795918 0.828947 +vt 0.836735 0.697368 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.0473 -0.0196 0.9987 +vn 0.4617 0.4617 0.7574 +vn 0.6737 0.1363 0.7263 +vn -0.9824 -0.1866 -0.0000 +vn -0.5294 -0.5294 0.6630 +vn -0.7194 -0.1448 0.6794 +vn -0.0473 -0.0196 -0.9987 +vn -0.5294 -0.5294 -0.6630 +vn -0.7194 -0.1448 -0.6794 +vn 0.4617 0.4617 -0.7574 +vn -0.0671 -0.0671 -0.9955 +vn -0.0671 -0.0671 0.9955 +vn -0.7071 -0.7071 -0.0000 +vn -0.0196 -0.0473 -0.9987 +vn -0.0196 -0.0473 0.9987 +vn -0.1448 -0.7194 -0.6794 +vn -0.1866 -0.9824 -0.0000 +vn 0.1363 0.6737 0.7263 +vn -0.1448 -0.7194 0.6794 +vn 0.7071 0.7071 -0.0000 +vn 0.6737 0.1363 -0.7263 +vn 0.1363 0.6737 -0.7263 +vn 0.0000 1.0000 -0.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.9987 0.0196 0.0473 +vn -0.0000 0.1866 0.9824 +vn -0.9987 0.0196 0.0473 +vn 0.7263 -0.1363 -0.6737 +vn 0.6794 0.1448 0.7194 +vn -0.6794 0.1448 0.7194 +vn -0.7263 -0.1363 -0.6737 +vn -0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.6630 0.5294 0.5294 +vn -0.6630 0.5294 0.5294 +vn -0.7574 -0.4617 -0.4617 +vn 0.7574 -0.4617 -0.4617 +vn 0.9955 0.0671 0.0671 +vn -0.9955 0.0671 0.0671 +vn -0.9987 0.0473 0.0196 +vn -0.7263 -0.6737 -0.1363 +vn 0.9987 0.0473 0.0196 +vn 0.0000 0.9824 0.1866 +vn -0.6794 0.7194 0.1448 +vn 0.6794 0.7194 0.1448 +vn 0.7263 -0.6737 -0.1363 +s off +f 247/357/26 248/358/26 249/359/26 +f 250/360/26 251/361/26 252/362/26 +f 253/363/26 250/360/26 248/358/26 +f 254/364/27 255/365/27 256/366/27 +f 257/367/27 258/368/27 259/369/27 +f 258/368/27 256/366/27 255/365/27 +f 247/357/26 253/363/26 248/358/26 +f 250/360/26 260/370/26 251/361/26 +f 253/363/26 260/370/26 250/360/26 +f 254/364/27 261/371/27 255/365/27 +f 257/367/27 262/372/27 258/368/27 +f 258/368/27 262/372/27 256/366/27 +s 1 +f 263/373/28 264/374/29 265/375/30 +f 266/376/31 267/377/32 268/378/33 +f 269/379/34 270/380/35 271/381/36 +f 269/382/34 272/383/37 273/384/38 +f 263/373/28 267/377/32 274/385/39 +f 271/381/36 275/386/40 266/376/31 +f 272/383/37 276/387/41 273/384/38 +f 267/377/32 277/388/42 274/385/39 +f 275/386/40 278/389/43 279/390/44 +f 264/374/29 277/388/42 280/391/45 +f 275/386/40 281/392/46 267/377/32 +f 270/380/35 276/393/41 278/389/43 +f 265/375/30 264/374/29 282/394/47 +f 264/374/29 280/391/45 282/394/47 +f 282/394/47 272/383/37 283/395/48 +f 272/383/37 282/394/47 284/396/49 +f 284/396/49 285/397/50 286/398/51 +f 284/396/49 287/399/52 276/387/41 +f 280/391/45 285/397/50 282/400/47 +f 281/392/46 288/401/53 277/388/42 +f 279/390/44 289/402/54 290/403/55 +f 277/388/42 291/404/56 280/391/45 +f 279/390/44 292/405/57 281/392/46 +f 276/393/41 289/402/54 278/389/43 +f 283/395/48 293/406/58 282/407/47 +f 265/375/30 294/408/59 263/373/28 +f 268/378/33 295/409/60 266/376/31 +f 271/381/36 296/410/54 269/379/34 +f 269/382/34 297/411/61 283/395/48 +f 282/407/47 298/412/62 265/375/30 +f 263/373/28 299/413/63 268/378/33 +f 266/376/31 300/414/64 271/381/36 +f 301/415/27 302/416/40 303/417/27 +f 304/418/50 305/419/65 306/420/50 +f 307/421/47 306/420/50 308/422/47 +f 309/423/66 310/424/26 311/425/66 +f 312/426/40 313/427/55 302/416/40 +f 314/428/65 303/417/27 305/419/65 +f 315/429/26 308/422/47 310/424/26 +f 316/430/55 311/425/66 313/431/55 +f 293/406/58 317/432/67 298/412/62 +f 294/408/59 318/433/68 299/413/63 +f 295/409/60 319/434/69 300/414/64 +f 293/406/58 320/435/70 321/436/71 +f 298/412/62 322/437/56 294/408/59 +f 295/409/60 318/433/68 323/438/72 +f 319/434/69 324/439/73 325/440/74 +f 320/435/70 326/441/75 321/436/71 +f 317/432/67 327/442/76 322/437/56 +f 323/438/72 328/443/77 324/439/73 +f 317/432/67 326/441/75 329/444/78 +f 318/433/68 327/442/76 328/443/77 +f 300/414/64 319/434/69 296/445/54 +f 319/434/69 325/440/74 296/445/54 +f 297/411/61 296/446/54 320/435/70 +f 320/435/70 296/446/54 330/447/79 +f 330/447/79 331/448/55 332/449/66 +f 330/447/79 333/450/26 326/441/75 +f 325/440/74 331/451/55 296/452/54 +f 329/444/78 334/453/50 327/442/76 +f 328/443/77 335/454/27 324/439/73 +f 326/441/75 336/455/47 329/444/78 +f 327/442/76 337/456/65 328/443/77 +f 325/440/74 335/454/27 338/457/40 +f 263/373/28 274/385/39 264/374/29 +f 266/376/31 275/386/40 267/377/32 +f 269/379/34 273/458/38 270/380/35 +f 269/382/34 283/395/48 272/383/37 +f 263/373/28 268/378/33 267/377/32 +f 271/381/36 270/380/35 275/386/40 +f 272/383/37 284/396/49 276/387/41 +f 267/377/32 281/392/46 277/388/42 +f 275/386/40 270/380/35 278/389/43 +f 264/374/29 274/385/39 277/388/42 +f 275/386/40 279/390/44 281/392/46 +f 270/380/35 273/458/38 276/393/41 +f 284/396/49 282/400/47 285/397/50 +f 284/396/49 286/398/51 287/399/52 +f 280/391/45 291/404/56 285/397/50 +f 281/392/46 292/405/57 288/401/53 +f 279/390/44 278/389/43 289/402/54 +f 277/388/42 288/401/53 291/404/56 +f 279/390/44 290/403/55 292/405/57 +f 276/393/41 287/459/52 289/402/54 +f 283/395/48 297/411/61 293/406/58 +f 265/375/30 298/412/62 294/408/59 +f 268/378/33 299/413/63 295/409/60 +f 271/381/36 300/414/64 296/410/54 +f 269/382/34 296/460/54 297/411/61 +f 282/407/47 293/406/58 298/412/62 +f 263/373/28 294/408/59 299/413/63 +f 266/376/31 295/409/60 300/414/64 +f 301/415/27 312/426/40 302/416/40 +f 304/418/50 314/428/65 305/419/65 +f 307/421/47 304/418/50 306/420/50 +f 309/423/66 315/429/26 310/424/26 +f 312/426/40 316/461/55 313/427/55 +f 314/428/65 301/415/27 303/417/27 +f 315/429/26 307/421/47 308/422/47 +f 316/430/55 309/423/66 311/425/66 +f 293/406/58 321/436/71 317/432/67 +f 294/408/59 322/437/56 318/433/68 +f 295/409/60 323/438/72 319/434/69 +f 293/406/58 297/411/61 320/435/70 +f 298/412/62 317/432/67 322/437/56 +f 295/409/60 299/413/63 318/433/68 +f 319/434/69 323/438/72 324/439/73 +f 320/435/70 330/447/79 326/441/75 +f 317/432/67 329/444/78 327/442/76 +f 323/438/72 318/433/68 328/443/77 +f 317/432/67 321/436/71 326/441/75 +f 318/433/68 322/437/56 327/442/76 +f 330/447/79 296/462/54 331/448/55 +f 330/447/79 332/449/66 333/450/26 +f 325/440/74 338/457/40 331/451/55 +f 329/444/78 336/455/47 334/453/50 +f 328/443/77 337/456/65 335/454/27 +f 326/441/75 333/450/26 336/455/47 +f 327/442/76 334/453/50 337/456/65 +f 325/440/74 324/439/73 335/454/27 +o V2_Pad +v 1.500000 1.500000 -1.500000 +v -1.500000 1.500000 -2.000000 +v -1.500000 1.500000 -1.500000 +v 1.500000 1.000000 -1.500000 +v -1.500000 1.000000 -1.500000 +v 1.500000 1.500000 -2.000000 +v -1.500000 1.000000 -2.000000 +v 1.500000 1.000000 -2.000000 +v -0.500000 2.000000 0.500000 +v 1.500000 2.000000 1.500000 +v 0.500000 2.000000 0.500000 +v 1.500000 2.000000 -1.500000 +v 0.500000 2.000000 -0.500000 +v -1.500000 2.000000 -1.500000 +v -0.500000 2.000000 -0.500000 +v -1.500000 2.000000 1.500000 +v 0.500000 2.000000 -0.500000 v -0.500000 2.000000 0.500000 v 0.500000 2.000000 0.500000 -v -0.500000 2.000000 -0.500000 -v 0.500000 2.000000 -0.500000 -v -1.000000 1.750000 -1.000000 -v -1.000000 1.750000 1.000000 -v 1.000000 1.750000 1.000000 -v 1.000000 1.750000 -1.000000 -v -0.500000 1.750000 -0.500000 +v 1.500000 1.750000 1.500000 v -0.500000 1.750000 0.500000 v 0.500000 1.750000 0.500000 +v 1.500000 1.750000 -1.500000 v 0.500000 1.750000 -0.500000 +v -1.500000 1.750000 -1.500000 +v -0.500000 1.750000 -0.500000 +v -1.500000 1.750000 1.500000 +v 0.750000 1.125000 0.750000 +v 1.250000 1.625000 0.750000 +v 1.250000 1.125000 0.750000 +v 1.250000 1.125000 1.250000 +v 0.750000 1.625000 1.250000 +v 0.750000 1.125000 1.250000 +v 1.250000 1.625000 1.250000 +v 0.750000 1.625000 0.750000 +v 1.375000 1.625000 0.625000 +v 1.375000 1.750000 1.375000 +v 1.375000 1.625000 1.375000 +v 1.375000 1.125000 1.375000 +v 0.625000 1.125000 0.625000 +v 0.625000 1.125000 1.375000 +v 1.375000 1.000000 0.625000 +v 1.375000 1.000000 1.375000 +v 0.625000 1.000000 1.375000 +v 0.625000 1.000000 0.625000 +v 1.375000 1.125000 0.625000 +v 0.625000 1.625000 1.375000 +v 0.625000 1.750000 0.625000 +v 0.625000 1.625000 0.625000 +v 1.375000 1.750000 0.625000 +v 0.625000 1.750000 1.375000 +v 0.250000 10.000000 2.250000 +v -0.250000 10.000000 1.750000 +v -0.250000 10.000000 2.250000 +v 0.250000 1.000000 1.750000 +v 0.250000 1.000000 2.250000 +v -0.250000 1.000000 2.250000 +v -0.250000 1.000000 1.750000 +v 0.250000 10.000000 1.750000 +v 3.750000 2.750000 1.750000 +v 4.000000 2.750000 1.500000 +v 4.000000 2.750000 1.750000 +v 3.750000 1.000000 1.750000 +v 4.000000 1.000000 1.500000 +v 4.000000 1.000000 1.750000 +v 4.000000 1.250000 1.500000 +v 3.750000 1.250000 1.750000 +v 4.000000 1.250000 1.750000 +v 3.750000 1.000000 1.500000 +v 3.750000 1.250000 1.500000 +v 4.000000 1.250000 3.250000 +v 4.000000 1.000000 3.500000 +v 4.000000 1.000000 3.250000 +v 3.750000 1.250000 3.250000 +v 3.750000 1.000000 3.250000 +v 3.750000 1.250000 3.500000 +v 3.750000 1.000000 3.500000 +v 4.000000 1.250000 3.500000 +v 0.500000 1.000000 1.750000 +v 0.750000 1.000000 1.500000 +v 0.750000 1.000000 1.750000 +v 0.750000 1.250000 1.500000 +v 0.500000 1.250000 1.750000 +v 0.750000 1.250000 1.750000 +v 0.500000 1.000000 1.500000 +v 0.500000 1.250000 1.500000 +v 0.750000 1.250000 3.250000 +v 0.750000 1.000000 3.500000 +v 0.750000 1.000000 3.250000 +v 0.500000 1.250000 3.250000 +v 0.500000 1.000000 3.250000 +v 0.500000 1.250000 3.500000 +v 0.500000 1.000000 3.500000 +v 0.750000 1.250000 3.500000 +v 4.000000 3.000000 1.500000 +v 3.750000 3.000000 1.750000 +v 4.000000 3.000000 1.750000 +v 3.750000 2.750000 1.500000 +v 3.750000 3.000000 1.500000 +v 4.000000 3.000000 3.250000 +v 4.000000 2.750000 3.500000 +v 4.000000 2.750000 3.250000 +v 3.750000 3.000000 3.250000 +v 3.750000 2.750000 3.250000 +v 3.750000 3.000000 3.500000 +v 3.750000 2.750000 3.500000 +v 4.000000 3.000000 3.500000 +v 0.500000 2.750000 1.750000 +v 0.750000 2.750000 1.500000 +v 0.750000 2.750000 1.750000 +v 0.750000 3.000000 1.500000 +v 0.500000 3.000000 1.750000 +v 0.750000 3.000000 1.750000 +v 0.500000 2.750000 1.500000 +v 0.500000 3.000000 1.500000 +v 0.750000 3.000000 3.250000 +v 0.750000 2.750000 3.500000 +v 0.750000 2.750000 3.250000 +v 0.500000 3.000000 3.250000 +v 0.500000 2.750000 3.250000 +v 0.500000 3.000000 3.500000 +v 0.500000 2.750000 3.500000 +v 0.750000 3.000000 3.500000 +v 4.000000 1.000000 3.250000 +v 3.875000 1.000000 1.750000 +v 4.000000 1.000000 1.750000 +v 3.875000 1.000000 3.250000 +v 3.875000 1.125000 1.750000 +v 4.000000 1.125000 3.250000 +v 4.000000 1.125000 1.750000 +v 3.875000 1.125000 3.250000 +v 0.625000 1.000000 3.250000 +v 0.500000 1.000000 1.750000 +v 0.625000 1.000000 1.750000 +v 0.500000 1.000000 3.250000 +v 0.500000 1.125000 1.750000 +v 0.625000 1.125000 3.250000 +v 0.625000 1.125000 1.750000 +v 0.500000 1.125000 3.250000 +v 4.000000 2.875000 3.250000 +v 3.875000 2.875000 1.750000 +v 4.000000 2.875000 1.750000 +v 3.875000 2.875000 3.250000 +v 3.875000 3.000000 1.750000 +v 4.000000 3.000000 3.250000 +v 4.000000 3.000000 1.750000 +v 3.875000 3.000000 3.250000 +v 0.625000 2.875000 3.250000 +v 0.500000 2.875000 1.750000 +v 0.625000 2.875000 1.750000 +v 0.500000 2.875000 3.250000 +v 0.500000 3.000000 1.750000 +v 0.625000 3.000000 3.250000 +v 0.625000 3.000000 1.750000 +v 0.500000 3.000000 3.250000 +v 4.000000 1.250000 1.500000 +v 3.875000 2.750000 1.500000 +v 4.000000 2.750000 1.500000 +v 3.875000 1.250000 1.500000 +v 3.875000 2.750000 1.625000 +v 4.000000 1.250000 1.625000 +v 4.000000 2.750000 1.625000 +v 3.875000 1.250000 1.625000 +v 0.625000 1.250000 1.500000 +v 0.500000 2.750000 1.500000 +v 0.625000 2.750000 1.500000 +v 0.500000 1.250000 1.500000 +v 0.500000 2.750000 1.625000 +v 0.625000 1.250000 1.625000 +v 0.625000 2.750000 1.625000 +v 0.500000 1.250000 1.625000 +v 4.000000 1.250000 3.375000 +v 3.875000 2.750000 3.375000 +v 4.000000 2.750000 3.375000 +v 3.875000 1.250000 3.375000 +v 3.875000 2.750000 3.500000 +v 4.000000 1.250000 3.500000 +v 4.000000 2.750000 3.500000 +v 3.875000 1.250000 3.500000 +v 0.625000 1.250000 3.375000 +v 0.500000 2.750000 3.375000 +v 0.625000 2.750000 3.375000 +v 0.500000 1.250000 3.375000 +v 0.500000 2.750000 3.500000 +v 0.625000 1.250000 3.500000 +v 0.625000 2.750000 3.500000 +v 0.500000 1.250000 3.500000 +v 0.750000 1.000000 3.375000 +v 3.750000 1.000000 3.500000 +v 0.750000 1.000000 3.500000 +v 0.750000 1.125000 3.375000 +v 3.750000 1.000000 3.375000 +v 3.750000 1.125000 3.500000 +v 0.750000 1.125000 3.500000 +v 0.750000 2.875000 3.375000 +v 3.750000 2.875000 3.500000 +v 0.750000 2.875000 3.500000 +v 0.750000 3.000000 3.375000 +v 3.750000 2.875000 3.375000 +v 3.750000 3.000000 3.500000 +v 0.750000 3.000000 3.500000 +v 0.750000 1.000000 1.500000 +v 3.750000 1.000000 1.625000 +v 0.750000 1.000000 1.625000 +v 0.750000 1.125000 1.500000 +v 3.750000 1.000000 1.500000 +v 3.750000 1.125000 1.625000 +v 0.750000 1.125000 1.625000 +v 0.750000 2.875000 1.500000 +v 3.750000 2.875000 1.625000 +v 0.750000 2.875000 1.625000 +v 0.750000 3.000000 1.500000 +v 3.750000 2.875000 1.500000 +v 3.750000 3.000000 1.625000 +v 0.750000 3.000000 1.625000 +v 0.750000 1.125000 -1.250000 +v 1.250000 1.625000 -1.250000 +v 1.250000 1.125000 -1.250000 +v 1.250000 1.125000 -0.750000 +v 0.750000 1.625000 -0.750000 +v 0.750000 1.125000 -0.750000 +v 1.250000 1.625000 -0.750000 +v 0.750000 1.625000 -1.250000 +v 1.375000 1.625000 -1.375000 +v 1.375000 1.750000 -0.625000 +v 1.375000 1.625000 -0.625000 +v 1.375000 1.125000 -0.625000 +v 0.625000 1.125000 -1.375000 +v 0.625000 1.125000 -0.625000 +v 1.375000 1.000000 -1.375000 +v 1.375000 1.000000 -0.625000 +v 0.625000 1.000000 -0.625000 +v 0.625000 1.000000 -1.375000 +v 1.375000 1.125000 -1.375000 +v 0.625000 1.625000 -0.625000 +v 0.625000 1.750000 -1.375000 +v 0.625000 1.625000 -1.375000 +v 1.375000 1.750000 -1.375000 +v 0.625000 1.750000 -0.625000 +v -1.250000 1.125000 0.750000 +v -0.750000 1.625000 0.750000 +v -0.750000 1.125000 0.750000 +v -0.750000 1.125000 1.250000 +v -1.250000 1.625000 1.250000 +v -1.250000 1.125000 1.250000 +v -0.750000 1.625000 1.250000 +v -1.250000 1.625000 0.750000 +v -0.625000 1.625000 0.625000 +v -0.625000 1.750000 1.375000 +v -0.625000 1.625000 1.375000 +v -0.625000 1.125000 1.375000 +v -1.375000 1.125000 0.625000 +v -1.375000 1.125000 1.375000 +v -0.625000 1.000000 0.625000 +v -0.625000 1.000000 1.375000 +v -1.375000 1.000000 1.375000 +v -1.375000 1.000000 0.625000 +v -0.625000 1.125000 0.625000 +v -1.375000 1.625000 1.375000 +v -1.375000 1.750000 0.625000 +v -1.375000 1.625000 0.625000 +v -0.625000 1.750000 0.625000 +v -1.375000 1.750000 1.375000 +v -1.250000 1.125000 -1.250000 +v -0.750000 1.625000 -1.250000 +v -0.750000 1.125000 -1.250000 +v -0.750000 1.125000 -0.750000 +v -1.250000 1.625000 -0.750000 +v -1.250000 1.125000 -0.750000 +v -0.750000 1.625000 -0.750000 +v -1.250000 1.625000 -1.250000 +v -0.625000 1.625000 -1.375000 +v -0.625000 1.750000 -0.625000 +v -0.625000 1.625000 -0.625000 +v -0.625000 1.125000 -0.625000 +v -1.375000 1.125000 -1.375000 +v -1.375000 1.125000 -0.625000 +v -0.625000 1.000000 -1.375000 +v -0.625000 1.000000 -0.625000 +v -1.375000 1.000000 -0.625000 +v -1.375000 1.000000 -1.375000 +v -0.625000 1.125000 -1.375000 +v -1.375000 1.625000 -0.625000 +v -1.375000 1.750000 -1.375000 +v -1.375000 1.625000 -1.375000 +v -0.625000 1.750000 -1.375000 +v -1.375000 1.750000 -0.625000 +v -0.500000 2.000000 -0.500000 +v 3.750000 1.125000 3.375000 +v 3.750000 3.000000 3.375000 +v 3.750000 1.125000 1.500000 +v 3.750000 3.000000 1.500000 +v 3.750000 2.000000 1.500000 +v 0.750001 1.500000 1.633975 +v 0.750001 2.000000 1.500000 +v 3.750000 1.500000 1.633975 +v 0.750001 1.133975 2.000000 +v 3.750000 1.133975 2.000000 +v 0.750001 1.000000 2.500000 +v 3.750000 1.000000 2.500000 +v 0.750001 1.133975 3.000000 +v 3.750000 1.133975 3.000000 +v 0.750001 1.500000 3.366025 +v 3.750000 1.500000 3.366025 +v 0.750001 2.000000 3.500000 +v 3.750000 2.000000 3.500000 +v 0.750001 2.500000 3.366025 +v 3.750000 2.500000 3.366025 +v 0.750001 2.866026 3.000000 +v 3.750000 2.866026 3.000000 +v 0.750001 3.000000 2.500000 +v 3.750000 3.000000 2.500000 +v 0.750001 2.866026 2.000000 +v 4.000000 2.649519 2.875000 +v 3.750000 2.866026 2.000000 +v 0.750001 2.500001 1.633975 +v 3.750000 2.500001 1.633975 +v 0.500001 2.000000 3.250000 +v 0.500001 1.625000 3.149519 +v 4.000000 1.350481 2.875000 +v 4.000000 1.350481 2.125000 +v 4.000000 2.649520 2.125000 +v 4.000000 2.000000 3.250000 +v 4.000000 2.375000 3.149519 +v 4.000000 1.625000 3.149519 +v 4.000000 2.375001 1.850481 +v 4.000000 2.000000 1.750000 +v 4.000000 1.625000 1.850481 +v 4.000000 1.250000 2.500000 +v 4.000000 2.750000 2.500000 +v 0.500001 1.250000 2.500000 +v 0.500001 2.375000 3.149519 +v 0.500001 2.375001 1.850481 +v 0.500001 1.350481 2.875000 +v 0.500001 2.000000 1.750000 +v 0.500001 1.625000 1.850481 +v 0.500001 1.350481 2.125000 +v 0.500001 2.649520 2.125000 +v 0.500001 2.750000 2.500000 +v 0.500001 2.649519 2.875000 +vt 0.265306 0.763158 +vt 0.510204 0.710526 +vt 0.510204 0.763158 +vt 0.265306 0.815789 +vt 0.510204 0.815789 +vt 0.265306 0.710526 +vt 0.510204 0.657895 +vt 0.224490 0.710526 +vt 0.224490 0.763158 +vt 0.551020 0.710526 +vt 0.551020 0.763158 +vt 0.244898 0.552632 +vt 0.163265 0.342105 +vt 0.244898 0.447368 +vt 0.408163 0.342105 +vt 0.326531 0.447368 +vt 0.408163 0.657895 +vt 0.326531 0.552632 +vt 0.163265 0.657895 +vt 0.326531 0.447368 +vt 0.244898 0.552632 +vt 0.244898 0.447368 +vt 0.163265 0.315789 +vt 0.244898 0.105263 +vt 0.244898 0.210526 +vt 0.408163 0.315789 +vt 0.326531 0.210526 +vt 0.408163 -0.000000 +vt 0.326531 0.105263 +vt 0.163265 -0.000000 +vt 0.244898 0.210526 +vt 0.326531 0.184211 +vt 0.326531 0.210526 +vt 0.163265 0.342105 +vt 0.408163 0.315789 +vt 0.408163 0.342105 +vt 0.244898 0.210526 +vt 0.326531 0.184211 +vt 0.326531 0.210526 +vt 0.244898 0.210526 +vt 0.326531 0.184211 +vt 0.326531 0.210526 +vt 0.163265 0.342105 +vt 0.408163 0.315789 +vt 0.408163 0.342105 +vt 0.163265 0.342105 +vt 0.408163 0.315789 +vt 0.408163 0.342105 +vt 0.244898 0.210526 +vt 0.326531 0.184211 +vt 0.326531 0.210526 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.163265 0.671053 +vt 0.224490 0.750000 +vt 0.163265 0.750000 +vt 0.224490 0.657895 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.163265 0.802632 +vt 0.224490 0.802632 +vt 0.040816 0.947368 +vt 0.081633 1.000000 +vt 0.040816 1.000000 +vt 0.081633 0.000000 +vt 0.040816 0.000000 +vt 0.163265 0.000000 +vt 0.122449 0.947368 +vt 0.122449 0.000000 +vt 0.081633 0.947368 +vt 0.000000 0.947368 +vt 0.000000 0.000000 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.500000 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.500000 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.500000 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.765306 0.315789 +vt 0.775510 0.315789 +vt 0.765306 0.473684 +vt 0.755102 0.315789 +vt 0.785714 0.473684 +vt 0.785714 0.315789 +vt 0.795918 0.473684 +vt 0.785714 0.473684 +vt 0.775510 0.315789 +vt 0.785714 0.315789 +vt 0.775510 0.473684 +vt 0.765306 0.315789 +vt 0.795918 0.473684 +vt 0.755102 0.315789 +vt 0.765306 0.473684 +vt 0.755102 0.473684 +vt 0.765306 0.473684 +vt 0.755102 0.315789 +vt 0.765306 0.315789 +vt 0.795918 0.473684 +vt 0.785714 0.315789 +vt 0.795918 0.315789 +vt 0.775510 0.473684 +vt 0.775510 0.315789 +vt 0.785714 0.473684 +vt 0.795918 0.473684 +vt 0.785714 0.315789 +vt 0.795918 0.315789 +vt 0.785714 0.473684 +vt 0.775510 0.315789 +vt 0.755102 0.315789 +vt 0.765306 0.473684 +vt 0.755102 0.473684 +vt 0.765306 0.315789 +vt 0.775510 0.473684 +vt 0.775510 0.315789 +vt 0.785714 0.473684 +vt 0.775510 0.473684 +vt 0.785714 0.315789 +vt 0.795918 0.473684 +vt 0.765306 0.315789 +vt 0.765306 0.473684 +vt 0.755102 0.315789 +vt 0.765306 0.315789 +vt 0.775510 0.473684 +vt 0.765306 0.473684 +vt 0.775510 0.315789 +vt 0.785714 0.473684 +vt 0.755102 0.315789 +vt 0.795918 0.473684 +vt 0.785714 0.315789 +vt 0.795918 0.315789 +vt 0.785714 0.315789 +vt 0.795918 0.473684 +vt 0.785714 0.473684 +vt 0.755102 0.315789 +vt 0.765306 0.473684 +vt 0.755102 0.473684 +vt 0.775510 0.315789 +vt 0.775510 0.473684 +vt 0.765306 0.315789 +vt 0.755102 0.315789 +vt 0.765306 0.473684 +vt 0.755102 0.473684 +vt 0.765306 0.315789 +vt 0.775510 0.473684 +vt 0.795918 0.473684 +vt 0.785714 0.315789 +vt 0.795918 0.315789 +vt 0.785714 0.473684 +vt 0.775510 0.315789 +vt 0.724490 0.631579 +vt 0.734694 0.315789 +vt 0.734694 0.631579 +vt 0.714286 0.631579 +vt 0.724490 0.315789 +vt 0.744898 0.315789 +vt 0.755102 0.631579 +vt 0.744898 0.631579 +vt 0.714286 0.631579 +vt 0.724490 0.315789 +vt 0.724490 0.631579 +vt 0.744898 0.631579 +vt 0.755102 0.315789 +vt 0.755102 0.631579 +vt 0.734694 0.315789 +vt 0.734694 0.631579 +vt 0.734694 0.631579 +vt 0.744898 0.315789 +vt 0.744898 0.631579 +vt 0.724490 0.631579 +vt 0.734694 0.315789 +vt 0.755102 0.315789 +vt 0.714286 0.315789 +vt 0.714286 0.631579 +vt 0.744898 0.631579 +vt 0.755102 0.315789 +vt 0.755102 0.631579 +vt 0.734694 0.631579 +vt 0.744898 0.315789 +vt 0.724490 0.315789 +vt 0.714286 0.631579 +vt 0.714286 0.315789 +vt 0.724490 0.631579 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.163265 0.671053 +vt 0.224490 0.750000 +vt 0.163265 0.750000 +vt 0.224490 0.657895 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.163265 0.802632 +vt 0.224490 0.802632 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.163265 0.671053 +vt 0.224490 0.750000 +vt 0.163265 0.750000 +vt 0.224490 0.657895 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.163265 0.802632 +vt 0.224490 0.802632 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.163265 0.671053 +vt 0.224490 0.750000 +vt 0.163265 0.750000 +vt 0.224490 0.657895 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.163265 0.802632 +vt 0.224490 0.802632 +vt 0.265306 0.657895 +vt 0.326531 0.552632 +vt 0.244898 0.184211 +vt 0.163265 0.315789 +vt 0.244898 0.184211 +vt 0.244898 0.184211 +vt 0.163265 0.315789 +vt 0.163265 0.315789 +vt 0.244898 0.184211 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.224490 0.894737 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.894737 +vt 0.224490 0.894737 +vt 0.224490 0.894737 +vt 0.163265 0.947368 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.500000 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.795918 0.315789 +vt 0.795918 0.315789 +vt 0.755102 0.473684 +vt 0.795918 0.315789 +vt 0.755102 0.473684 +vt 0.755102 0.473684 +vt 0.795918 0.315789 +vt 0.714286 0.315789 +vt 0.755102 0.315789 +vt 0.714286 0.315789 +vt 0.744898 0.315789 +vt 0.724490 0.315789 +vt 0.755102 0.631579 +vt 0.734694 0.315789 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.224490 0.894737 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.894737 +vt 0.224490 0.894737 +vt 0.224490 0.894737 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.224490 0.894737 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.894737 +vt 0.224490 0.894737 +vt 0.224490 0.894737 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.224490 0.894737 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.894737 +vt 0.224490 0.894737 +vt 0.224490 0.894737 +vt 0.683673 0.473684 +vt 0.438776 0.526316 +vt 0.438776 0.473684 +vt 0.683673 0.526316 +vt 0.438776 0.578947 +vt 0.683673 0.578947 +vt 0.438776 0.631579 +vt 0.683673 -0.000000 +vt 0.438776 0.052632 +vt 0.438776 -0.000000 +vt 0.683673 0.052632 +vt 0.438776 0.105263 +vt 0.683673 0.105263 +vt 0.438776 0.157895 +vt 0.683673 0.157895 +vt 0.438776 0.210526 +vt 0.683673 0.210526 +vt 0.438776 0.263158 +vt 0.683673 0.263158 +vt 0.438776 0.315789 +vt 0.683673 0.315789 +vt 0.438776 0.368421 +vt 0.714286 0.256579 +vt 0.683673 0.368421 +vt 0.438776 0.421053 +vt 0.683673 0.421053 +vt 0.408163 0.151316 +vt 0.408163 0.111842 +vt 0.745408 0.011716 +vt 0.805612 0.011716 +vt 0.805612 0.146179 +vt 0.714286 0.164474 +vt 0.714286 0.203947 +vt 0.714286 0.151316 +vt 0.714286 0.098684 +vt 0.714286 0.046053 +vt 0.714286 0.427632 +vt 0.714286 0.467105 +vt 0.714286 0.519737 +vt 0.683673 0.631579 +vt 0.714286 0.585526 +vt 0.714286 0.625000 +vt 0.714286 0.375000 +vt 0.714286 0.414474 +vt 0.714286 0.532895 +vt 0.714286 0.572368 +vt 0.714286 0.322368 +vt 0.714286 0.361842 +vt 0.714286 0.309211 +vt 0.775510 0.159210 +vt 0.827649 0.275658 +vt 0.723372 0.275658 +vt 0.408163 0.059211 +vt 0.408163 0.046053 +vt 0.408163 0.006579 +vt 0.408163 0.467105 +vt 0.408163 0.427632 +vt 0.408163 0.519737 +vt 0.408163 0.480263 +vt 0.408163 0.585526 +vt 0.408163 0.375000 +vt 0.408163 0.532895 +vt 0.408163 0.322368 +vt 0.408163 0.309211 +vt 0.408163 0.269737 +vt 0.408163 0.217105 +vt 0.408163 0.164474 +vt 0.714286 0.217105 +vt 0.827649 0.040131 +vt 0.835715 0.078947 +vt 0.827649 0.117763 +vt 0.775510 0.156579 +vt 0.745408 0.146179 +vt 0.723372 0.117763 +vt 0.715306 0.078947 +vt 0.723372 0.040131 +vt 0.775510 0.001315 +vt 0.714286 0.111842 +vt 0.714286 0.059211 +vt 0.714286 0.006579 +vt 0.714286 0.480263 +vt 0.714286 0.269737 +vt 0.715306 0.236842 +vt 0.723372 0.198026 +vt 0.745408 0.169611 +vt 0.805612 0.169611 +vt 0.827649 0.198026 +vt 0.835715 0.236842 +vt 0.805612 0.304073 +vt 0.775510 0.314474 +vt 0.745408 0.304073 +vt 0.408163 0.098684 +vt 0.408163 0.625000 +vt 0.408163 0.414474 +vt 0.408163 0.572368 +vt 0.408163 0.361842 +vt 0.408163 0.256579 +vt 0.408163 0.203947 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.3620 -0.0000 -0.9322 +vn -0.3620 -0.4661 -0.8073 +vn -0.3620 -0.0000 -0.9322 +vn 0.3620 -0.4661 -0.8073 +vn -0.3620 -0.8073 -0.4661 +vn 0.3620 -0.8073 -0.4661 +vn -0.3620 -0.9322 -0.0000 +vn 0.3620 -0.9322 0.0000 +vn -0.3620 -0.8073 0.4661 +vn 0.3620 -0.8073 0.4661 +vn -0.3620 -0.4661 0.8073 +vn 0.3620 -0.4661 0.8073 +vn -0.3620 0.0000 0.9322 +vn 0.3620 -0.0000 0.9322 +vn -0.3620 0.4661 0.8073 +vn 0.3620 0.4661 0.8073 +vn -0.3620 0.8073 0.4661 +vn 0.3620 0.8073 0.4661 +vn -0.3620 0.9322 0.0000 +vn 0.3620 0.9322 -0.0000 +vn -0.3620 0.8073 -0.4661 +vn 0.9007 0.3762 0.2172 +vn 0.3620 0.8073 -0.4661 +vn -0.3620 0.4661 -0.8073 +vn 0.3620 0.4661 -0.8073 +vn -0.9007 -0.0000 0.4344 +vn -0.9007 -0.2172 0.3762 +vn 0.9007 -0.3762 0.2172 +vn 0.9007 -0.3762 -0.2172 +vn 0.9007 0.3762 -0.2172 +vn 0.9007 -0.0000 0.4344 +vn 0.9007 0.2172 0.3762 +vn 0.9007 -0.2172 0.3762 +vn 0.9007 0.2172 -0.3762 +vn 0.9007 -0.0000 -0.4344 +vn 0.9007 -0.2172 -0.3762 +vn 0.9007 -0.4344 0.0000 +vn 0.9007 0.4344 0.0000 +vn -0.9007 -0.4344 0.0000 +vn -0.9007 0.2172 0.3762 +vn -0.9007 0.2172 -0.3762 +vn -0.9007 -0.3762 0.2172 +vn -0.9007 -0.0000 -0.4344 +vn -0.9007 -0.2172 -0.3762 +vn -0.9007 -0.3762 -0.2172 +vn -0.9007 0.3762 -0.2172 +vn -0.9007 0.4344 0.0000 +vn -0.9007 0.3762 0.2172 +s off +f 339/463/80 340/464/80 341/465/80 +f 342/466/81 341/465/81 343/467/81 +f 344/468/82 345/469/82 340/464/82 +f 346/470/83 339/463/83 342/471/83 +f 341/465/84 345/472/84 343/473/84 +f 347/474/80 348/475/80 349/476/80 +f 349/476/80 350/477/80 351/478/80 +f 351/478/80 352/479/80 353/480/80 +f 353/480/80 354/481/80 347/474/80 +f 355/482/80 356/483/80 357/484/80 +f 358/485/85 359/486/85 360/487/85 +f 361/488/85 360/487/85 362/489/85 +f 363/490/85 362/489/85 364/491/85 +f 365/492/85 364/491/85 359/486/85 +f 351/493/84 360/494/84 349/495/84 +f 348/475/83 361/488/83 350/477/83 +f 352/496/84 365/497/84 354/498/84 +f 349/499/82 359/500/82 347/501/82 +f 347/502/83 364/503/83 353/504/83 +f 350/505/82 363/506/82 352/507/82 +f 354/508/81 358/509/81 348/510/81 +f 353/511/81 362/512/81 351/513/81 +f 366/514/82 367/515/82 368/516/82 +f 369/517/81 370/518/81 371/519/81 +f 368/520/83 372/521/83 369/522/83 +f 371/523/84 373/524/84 366/525/84 +f 374/526/83 375/527/83 376/528/83 +f 377/529/80 378/530/80 379/531/80 +f 380/532/83 377/529/83 381/533/83 +f 382/534/84 378/535/84 383/536/84 +f 383/537/82 384/538/82 380/539/82 +f 381/540/81 379/541/81 382/542/81 +f 385/543/84 386/544/84 387/545/84 +f 387/546/82 388/547/82 374/548/82 +f 376/549/81 389/550/81 385/551/81 +f 374/526/85 385/552/85 387/553/85 +f 390/554/80 391/555/80 392/556/80 +f 393/557/83 390/554/83 394/558/83 +f 395/559/84 391/560/84 396/561/84 +f 396/561/82 397/562/82 393/557/82 +f 394/558/81 392/563/81 395/564/81 +f 398/565/85 399/566/85 400/567/85 +f 401/568/85 402/569/85 403/570/85 +f 404/571/80 405/572/80 406/573/80 +f 406/574/81 401/575/81 403/576/81 +f 405/572/84 407/577/84 401/578/84 +f 408/579/82 402/569/82 407/580/82 +f 404/581/83 403/582/83 402/569/83 +f 409/583/83 410/584/83 411/585/83 +f 412/586/82 411/587/82 413/588/82 +f 414/589/84 413/590/84 415/591/84 +f 416/592/81 415/593/81 410/584/81 +f 409/594/80 414/595/80 416/596/80 +f 415/597/85 411/598/85 410/584/85 +f 417/599/85 418/600/85 419/601/85 +f 420/602/80 421/603/80 422/604/80 +f 422/604/81 417/605/81 419/606/81 +f 421/607/84 423/608/84 417/609/84 +f 424/610/82 418/611/82 423/608/82 +f 420/612/83 419/613/83 418/614/83 +f 425/615/83 426/616/83 427/617/83 +f 428/618/82 427/619/82 429/620/82 +f 430/621/84 429/622/84 431/623/84 +f 432/624/81 431/623/81 426/625/81 +f 425/615/80 430/626/80 432/627/80 +f 431/623/85 427/628/85 426/629/85 +f 433/630/80 434/631/80 435/632/80 +f 435/633/81 398/565/81 400/634/81 +f 434/635/84 436/636/84 398/565/84 +f 437/637/82 399/638/82 436/639/82 +f 433/630/83 400/640/83 399/641/83 +f 438/642/83 439/643/83 440/644/83 +f 441/645/82 440/646/82 442/647/82 +f 443/648/84 442/647/84 444/649/84 +f 445/650/81 444/651/81 439/652/81 +f 438/653/80 443/654/80 445/650/80 +f 444/655/85 440/656/85 439/657/85 +f 446/658/85 447/659/85 448/660/85 +f 449/661/80 450/662/80 451/663/80 +f 451/664/81 446/665/81 448/660/81 +f 450/666/84 452/667/84 446/668/84 +f 453/669/82 447/670/82 452/671/82 +f 449/672/83 448/660/83 447/673/83 +f 454/674/83 455/675/83 456/676/83 +f 457/677/82 456/676/82 458/678/82 +f 459/679/84 458/680/84 460/681/84 +f 461/682/81 460/683/81 455/684/81 +f 454/685/80 459/679/80 461/686/80 +f 460/687/85 456/676/85 455/688/85 +f 462/689/85 463/690/85 464/691/85 +f 465/692/84 466/693/84 463/690/84 +f 464/691/83 467/694/83 462/689/83 +f 468/695/80 469/696/80 467/694/80 +f 470/697/85 471/698/85 472/699/85 +f 473/700/84 474/701/84 471/698/84 +f 472/699/83 475/702/83 470/697/83 +f 476/703/80 477/704/80 475/705/80 +f 478/706/85 479/707/85 480/708/85 +f 481/709/84 482/710/84 479/711/84 +f 480/708/83 483/712/83 478/706/83 +f 484/713/80 485/714/80 483/712/80 +f 486/715/85 487/716/85 488/717/85 +f 489/718/84 490/719/84 487/716/84 +f 488/720/83 491/721/83 486/722/83 +f 492/723/80 493/724/80 491/721/80 +f 494/725/82 495/726/82 496/727/82 +f 497/728/84 498/729/84 495/726/84 +f 496/727/83 499/730/83 494/725/83 +f 500/731/81 501/732/81 499/730/81 +f 502/733/82 503/734/82 504/735/82 +f 505/736/84 506/737/84 503/734/84 +f 504/735/83 507/738/83 502/733/83 +f 508/739/81 509/740/81 507/741/81 +f 510/742/82 511/743/82 512/744/82 +f 513/745/84 514/746/84 511/747/84 +f 512/744/83 515/748/83 510/742/83 +f 516/749/81 517/750/81 515/748/81 +f 518/751/82 519/752/82 520/753/82 +f 521/754/84 522/755/84 519/752/84 +f 520/756/83 523/757/83 518/758/83 +f 524/759/81 525/760/81 523/757/81 +f 526/761/85 527/762/85 528/763/85 +f 529/764/82 530/765/82 526/761/82 +f 531/766/81 528/763/81 527/762/81 +f 531/766/80 529/767/80 532/768/80 +f 533/769/85 534/770/85 535/771/85 +f 536/772/82 537/773/82 533/774/82 +f 538/775/81 535/771/81 534/770/81 +f 538/775/80 536/772/80 539/776/80 +f 540/777/85 541/778/85 542/779/85 +f 543/780/82 544/781/82 540/777/82 +f 545/782/81 542/779/81 541/778/81 +f 545/783/80 543/780/80 546/784/80 +f 547/785/85 548/786/85 549/787/85 +f 550/788/82 551/789/82 547/785/82 +f 552/790/81 549/791/81 548/792/81 +f 552/790/80 550/788/80 553/793/80 +f 554/794/82 555/795/82 556/796/82 +f 557/797/81 558/798/81 559/799/81 +f 556/800/83 560/801/83 557/802/83 +f 559/803/84 561/804/84 554/805/84 +f 562/806/83 563/807/83 564/808/83 +f 565/809/80 566/810/80 567/811/80 +f 568/812/83 565/809/83 569/813/83 +f 570/814/84 566/815/84 571/816/84 +f 571/817/82 572/818/82 568/819/82 +f 569/820/81 567/821/81 570/822/81 +f 573/823/84 574/824/84 575/825/84 +f 575/826/82 576/827/82 562/828/82 +f 564/829/81 577/830/81 573/831/81 +f 562/806/85 573/832/85 575/833/85 +f 578/834/82 579/835/82 580/836/82 +f 581/837/81 582/838/81 583/839/81 +f 580/840/83 584/841/83 581/842/83 +f 583/843/84 585/844/84 578/845/84 +f 586/846/83 587/847/83 588/848/83 +f 589/849/80 590/850/80 591/851/80 +f 592/852/83 589/849/83 593/853/83 +f 594/854/84 590/855/84 595/856/84 +f 595/857/82 596/858/82 592/859/82 +f 593/860/81 591/861/81 594/862/81 +f 597/863/84 598/864/84 599/865/84 +f 599/866/82 600/867/82 586/868/82 +f 588/869/81 601/870/81 597/871/81 +f 586/846/85 597/872/85 599/873/85 +f 602/874/82 603/875/82 604/876/82 +f 605/877/81 606/878/81 607/879/81 +f 604/880/83 608/881/83 605/882/83 +f 607/883/84 609/884/84 602/885/84 +f 610/886/83 611/887/83 612/888/83 +f 613/889/80 614/890/80 615/891/80 +f 616/892/83 613/889/83 617/893/83 +f 618/894/84 614/895/84 619/896/84 +f 619/897/82 620/898/82 616/899/82 +f 617/900/81 615/901/81 618/902/81 +f 621/903/84 622/904/84 623/905/84 +f 623/906/82 624/907/82 610/908/82 +f 612/909/81 625/910/81 621/911/81 +f 610/886/85 621/912/85 623/913/85 +f 339/463/80 344/468/80 340/464/80 +f 342/466/81 339/463/81 341/465/81 +f 344/468/82 346/914/82 345/469/82 +f 346/470/83 344/468/83 339/463/83 +f 341/465/84 340/464/84 345/472/84 +f 347/474/80 354/481/80 348/475/80 +f 349/476/80 348/475/80 350/477/80 +f 351/478/80 350/477/80 352/479/80 +f 353/480/80 352/479/80 354/481/80 +f 355/482/80 626/915/80 356/483/80 +f 358/485/85 365/492/85 359/486/85 +f 361/488/85 358/485/85 360/487/85 +f 363/490/85 361/488/85 362/489/85 +f 365/492/85 363/490/85 364/491/85 +f 351/493/84 362/916/84 360/494/84 +f 348/475/83 358/485/83 361/488/83 +f 352/496/84 363/917/84 365/497/84 +f 349/499/82 360/918/82 359/500/82 +f 347/502/83 359/919/83 364/503/83 +f 350/505/82 361/920/82 363/506/82 +f 354/508/81 365/921/81 358/509/81 +f 353/511/81 364/922/81 362/512/81 +f 366/514/82 373/923/82 367/515/82 +f 369/517/81 372/924/81 370/518/81 +f 368/520/83 367/925/83 372/521/83 +f 371/523/84 370/926/84 373/524/84 +f 374/526/83 388/927/83 375/527/83 +f 377/529/80 384/928/80 378/530/80 +f 380/532/83 384/928/83 377/529/83 +f 382/534/84 379/929/84 378/535/84 +f 383/537/82 378/930/82 384/538/82 +f 381/540/81 377/931/81 379/541/81 +f 385/543/84 389/932/84 386/544/84 +f 387/546/82 386/933/82 388/547/82 +f 376/549/81 375/934/81 389/550/81 +f 374/526/85 376/528/85 385/552/85 +f 390/554/80 397/562/80 391/555/80 +f 393/557/83 397/562/83 390/554/83 +f 395/559/84 392/935/84 391/560/84 +f 396/561/82 391/560/82 397/562/82 +f 394/558/81 390/554/81 392/563/81 +f 398/565/85 436/936/85 399/566/85 +f 401/568/85 407/937/85 402/569/85 +f 404/571/80 408/938/80 405/572/80 +f 406/574/81 405/572/81 401/575/81 +f 405/572/84 408/939/84 407/577/84 +f 408/579/82 404/940/82 402/569/82 +f 404/581/83 406/941/83 403/582/83 +f 409/583/83 416/942/83 410/584/83 +f 412/586/82 409/943/82 411/587/82 +f 414/589/84 412/586/84 413/590/84 +f 416/592/81 414/944/81 415/593/81 +f 409/594/80 412/586/80 414/595/80 +f 415/597/85 413/945/85 411/598/85 +f 417/599/85 423/608/85 418/600/85 +f 420/602/80 424/946/80 421/603/80 +f 422/604/81 421/947/81 417/605/81 +f 421/607/84 424/948/84 423/608/84 +f 424/610/82 420/949/82 418/611/82 +f 420/612/83 422/604/83 419/613/83 +f 425/615/83 432/950/83 426/616/83 +f 428/618/82 425/615/82 427/619/82 +f 430/621/84 428/951/84 429/622/84 +f 432/624/81 430/952/81 431/623/81 +f 425/615/80 428/953/80 430/626/80 +f 431/623/85 429/954/85 427/628/85 +f 433/630/80 437/955/80 434/631/80 +f 435/633/81 434/956/81 398/565/81 +f 434/635/84 437/957/84 436/636/84 +f 437/637/82 433/630/82 399/638/82 +f 433/630/83 435/958/83 400/640/83 +f 438/642/83 445/650/83 439/643/83 +f 441/645/82 438/959/82 440/646/82 +f 443/648/84 441/960/84 442/647/84 +f 445/650/81 443/961/81 444/651/81 +f 438/653/80 441/962/80 443/654/80 +f 444/655/85 442/647/85 440/656/85 +f 446/658/85 452/963/85 447/659/85 +f 449/661/80 453/669/80 450/662/80 +f 451/664/81 450/964/81 446/665/81 +f 450/666/84 453/669/84 452/667/84 +f 453/669/82 449/965/82 447/670/82 +f 449/672/83 451/966/83 448/660/83 +f 454/674/83 461/967/83 455/675/83 +f 457/677/82 454/968/82 456/676/82 +f 459/679/84 457/969/84 458/680/84 +f 461/682/81 459/679/81 460/683/81 +f 454/685/80 457/970/80 459/679/80 +f 460/687/85 458/971/85 456/676/85 +f 462/689/85 465/692/85 463/690/85 +f 465/692/84 469/972/84 466/693/84 +f 464/691/83 468/695/83 467/694/83 +f 468/695/80 466/973/80 469/696/80 +f 470/697/85 473/700/85 471/698/85 +f 473/700/84 477/704/84 474/701/84 +f 472/699/83 476/974/83 475/702/83 +f 476/703/80 474/701/80 477/704/80 +f 478/706/85 481/975/85 479/707/85 +f 481/709/84 485/714/84 482/710/84 +f 480/708/83 484/713/83 483/712/83 +f 484/713/80 482/710/80 485/714/80 +f 486/715/85 489/718/85 487/716/85 +f 489/718/84 493/724/84 490/719/84 +f 488/720/83 492/723/83 491/721/83 +f 492/723/80 490/719/80 493/724/80 +f 494/725/82 497/728/82 495/726/82 +f 497/728/84 501/976/84 498/729/84 +f 496/727/83 500/731/83 499/730/83 +f 500/731/81 498/977/81 501/732/81 +f 502/733/82 505/736/82 503/734/82 +f 505/736/84 509/740/84 506/737/84 +f 504/735/83 508/978/83 507/738/83 +f 508/739/81 506/737/81 509/740/81 +f 510/742/82 513/979/82 511/743/82 +f 513/745/84 517/750/84 514/746/84 +f 512/744/83 516/749/83 515/748/83 +f 516/749/81 514/746/81 517/750/81 +f 518/751/82 521/754/82 519/752/82 +f 521/754/84 525/760/84 522/755/84 +f 520/756/83 524/759/83 523/757/83 +f 524/759/81 522/755/81 525/760/81 +f 526/761/85 530/765/85 527/762/85 +f 529/764/82 627/980/82 530/765/82 +f 531/766/81 532/768/81 528/763/81 +f 531/766/80 627/981/80 529/767/80 +f 533/769/85 537/982/85 534/770/85 +f 536/772/82 628/983/82 537/773/82 +f 538/775/81 539/776/81 535/771/81 +f 538/775/80 628/983/80 536/772/80 +f 540/777/85 544/781/85 541/778/85 +f 543/780/82 629/984/82 544/781/82 +f 545/782/81 546/985/81 542/779/81 +f 545/783/80 629/984/80 543/780/80 +f 547/785/85 551/789/85 548/786/85 +f 550/788/82 630/986/82 551/789/82 +f 552/790/81 553/793/81 549/791/81 +f 552/790/80 630/986/80 550/788/80 +f 554/794/82 561/987/82 555/795/82 +f 557/797/81 560/988/81 558/798/81 +f 556/800/83 555/989/83 560/801/83 +f 559/803/84 558/990/84 561/804/84 +f 562/806/83 576/991/83 563/807/83 +f 565/809/80 572/992/80 566/810/80 +f 568/812/83 572/992/83 565/809/83 +f 570/814/84 567/993/84 566/815/84 +f 571/817/82 566/994/82 572/818/82 +f 569/820/81 565/995/81 567/821/81 +f 573/823/84 577/996/84 574/824/84 +f 575/826/82 574/997/82 576/827/82 +f 564/829/81 563/998/81 577/830/81 +f 562/806/85 564/808/85 573/832/85 +f 578/834/82 585/999/82 579/835/82 +f 581/837/81 584/1000/81 582/838/81 +f 580/840/83 579/1001/83 584/841/83 +f 583/843/84 582/1002/84 585/844/84 +f 586/846/83 600/1003/83 587/847/83 +f 589/849/80 596/1004/80 590/850/80 +f 592/852/83 596/1004/83 589/849/83 +f 594/854/84 591/1005/84 590/855/84 +f 595/857/82 590/1006/82 596/858/82 +f 593/860/81 589/1007/81 591/861/81 +f 597/863/84 601/1008/84 598/864/84 +f 599/866/82 598/1009/82 600/867/82 +f 588/869/81 587/1010/81 601/870/81 +f 586/846/85 588/848/85 597/872/85 +f 602/874/82 609/1011/82 603/875/82 +f 605/877/81 608/1012/81 606/878/81 +f 604/880/83 603/1013/83 608/881/83 +f 607/883/84 606/1014/84 609/884/84 +f 610/886/83 624/1015/83 611/887/83 +f 613/889/80 620/1016/80 614/890/80 +f 616/892/83 620/1016/83 613/889/83 +f 618/894/84 615/1017/84 614/895/84 +f 619/897/82 614/1018/82 620/898/82 +f 617/900/81 613/1019/81 615/901/81 +f 621/903/84 625/1020/84 622/904/84 +f 623/906/82 622/1021/82 624/907/82 +f 612/909/81 611/1022/81 625/910/81 +f 610/886/85 612/888/85 621/912/85 +s 1 +f 631/1023/86 632/1024/87 633/1025/88 +f 634/1026/89 635/1027/90 632/1024/87 +f 636/1028/91 637/1029/92 635/1027/90 +f 638/1030/93 639/1031/94 637/1032/92 +f 640/1033/95 641/1034/96 639/1031/94 +f 642/1035/97 643/1036/98 641/1034/96 +f 644/1037/99 645/1038/100 643/1036/98 +f 646/1039/101 647/1040/102 645/1038/100 +f 648/1041/103 649/1042/104 647/1040/102 +f 650/1043/105 651/1044/106 649/1042/104 +f 646/1039/101 652/1045/107 648/1041/103 +f 653/1046/108 654/1047/109 651/1044/106 +f 655/1048/110 633/1025/88 654/1047/109 +f 641/1034/96 656/1049/111 657/1050/112 +f 658/1051/113 659/1052/114 660/1053/115 +f 646/1039/101 661/1054/116 662/1055/117 +f 642/1035/97 661/1056/116 644/1037/99 +f 640/1033/95 663/1057/118 642/1035/97 +f 638/1030/93 658/1058/113 640/1033/95 +f 631/1023/86 664/1059/119 665/1060/120 +f 631/1023/86 666/1061/121 634/1026/89 +f 638/1062/93 659/1063/114 667/1064/122 +f 655/1048/110 660/1065/115 664/1066/119 +f 636/1028/91 666/1067/121 659/1068/114 +f 653/1046/108 668/1069/123 660/1070/115 +f 648/1041/103 668/1071/123 650/1043/105 +f 669/1072/124 670/1073/125 671/1074/126 +f 641/1034/96 672/1075/127 639/1031/94 +f 637/1032/92 672/1076/127 669/1077/124 +f 654/1047/109 673/1078/128 671/1079/126 +f 633/1025/88 674/1080/129 673/1081/128 +f 637/1029/92 675/1082/130 635/1027/90 +f 654/1047/109 676/1083/131 651/1044/106 +f 635/1027/90 674/1084/129 632/1024/87 +f 651/1044/106 677/1085/132 649/1042/104 +f 647/1040/102 677/1086/132 678/1087/133 +f 647/1040/102 670/1088/125 645/1038/100 +f 645/1038/100 656/1089/111 643/1036/98 +f 631/1023/86 634/1026/89 632/1024/87 +f 634/1026/89 636/1028/91 635/1027/90 +f 636/1028/91 638/1062/93 637/1029/92 +f 638/1030/93 640/1033/95 639/1031/94 +f 640/1033/95 642/1035/97 641/1034/96 +f 642/1035/97 644/1037/99 643/1036/98 +f 644/1037/99 646/1039/101 645/1038/100 +f 646/1039/101 648/1041/103 647/1040/102 +f 648/1041/103 650/1043/105 649/1042/104 +f 650/1043/105 653/1046/108 651/1044/106 +f 646/1039/101 662/1090/117 652/1045/107 +f 653/1046/108 655/1048/110 654/1047/109 +f 655/1048/110 631/1023/86 633/1025/88 +f 641/1034/96 643/1036/98 656/1049/111 +f 659/1052/114 666/1091/121 665/1092/120 +f 665/1092/120 664/1093/119 659/1052/114 +f 664/1093/119 660/1053/115 659/1052/114 +f 660/1053/115 668/1094/123 652/1095/107 +f 652/1095/107 662/1096/117 660/1053/115 +f 662/1096/117 661/1097/116 660/1053/115 +f 661/1097/116 663/1098/118 658/1051/113 +f 658/1051/113 667/1099/122 659/1052/114 +f 661/1097/116 658/1051/113 660/1053/115 +f 646/1039/101 644/1037/99 661/1054/116 +f 642/1035/97 663/1100/118 661/1056/116 +f 640/1033/95 658/1101/113 663/1057/118 +f 638/1030/93 667/1102/122 658/1058/113 +f 631/1023/86 655/1048/110 664/1059/119 +f 631/1023/86 665/1103/120 666/1061/121 +f 638/1062/93 636/1028/91 659/1063/114 +f 655/1048/110 653/1046/108 660/1065/115 +f 636/1028/91 634/1026/89 666/1067/121 +f 653/1046/108 650/1043/105 668/1069/123 +f 648/1041/103 652/1104/107 668/1071/123 +f 671/1074/126 673/1105/128 674/1106/129 +f 674/1106/129 675/1107/130 671/1074/126 +f 675/1107/130 669/1072/124 671/1074/126 +f 669/1072/124 672/1108/127 657/1109/112 +f 657/1109/112 656/1110/111 670/1073/125 +f 670/1073/125 678/1111/133 677/1112/132 +f 677/1112/132 676/1113/131 670/1073/125 +f 676/1113/131 671/1074/126 670/1073/125 +f 669/1072/124 657/1109/112 670/1073/125 +f 641/1034/96 657/1114/112 672/1075/127 +f 637/1032/92 639/1031/94 672/1076/127 +f 654/1047/109 633/1025/88 673/1078/128 +f 633/1025/88 632/1024/87 674/1080/129 +f 637/1029/92 669/1115/124 675/1082/130 +f 654/1047/109 671/1116/126 676/1083/131 +f 635/1027/90 675/1117/130 674/1084/129 +f 651/1044/106 676/1118/131 677/1085/132 +f 647/1040/102 649/1042/104 677/1086/132 +f 647/1040/102 678/1119/133 670/1088/125 +f 645/1038/100 670/1120/125 656/1089/111 +o Micro_Pad v -0.500000 2.000000 0.500000 +v -1.250000 2.000000 -1.250000 +v -1.250000 2.000000 1.250000 v 0.500000 2.000000 0.500000 +v 1.250000 2.000000 1.250000 +v 1.250000 1.500000 -1.250000 +v 1.250000 2.000000 -1.250000 +v -1.250000 1.500000 1.250000 +v -1.250000 1.500000 -1.250000 +v 1.250000 1.500000 1.250000 +v -0.500000 1.500000 0.500000 v -0.500000 2.000000 -0.500000 v 0.500000 2.000000 -0.500000 -v 0.562500 1.750000 0.937500 -v 0.937500 1.750000 0.937500 -v 0.562500 1.750000 0.562500 -v 0.937500 1.750000 0.562500 -v 0.562500 1.000000 0.937500 -v 0.937500 1.000000 0.937500 -v 0.562500 1.000000 0.562500 -v 0.937500 1.000000 0.562500 -v -0.500000 1.000000 -1.250000 +v 0.500000 1.500000 0.500000 +v 0.500000 1.500000 -0.500000 +v -0.500000 1.500000 -0.500000 +v 0.500000 2.000000 0.500000 +v -0.500000 2.000000 -0.500000 +v -0.500000 2.000000 0.500000 +v 1.250000 1.000000 -1.250000 v 0.500000 1.000000 -1.250000 +v 0.500000 1.250000 -1.250000 +v 0.500000 1.250000 -0.500000 +v 1.250000 1.500000 -1.250000 +v 1.250000 1.500000 -0.250000 +v 1.250000 1.250000 -0.500000 +v 0.250000 1.500000 -0.500000 +v 0.500000 1.000000 -0.500000 +v 1.250000 1.000000 -0.500000 +v 0.500000 1.500000 -0.500000 +v 0.500000 1.500000 -0.250000 +v 0.500000 1.500000 -1.250000 +v -0.500000 1.500000 -1.750000 +v -0.500000 1.500000 -1.250000 +v -0.500000 1.000000 -1.250000 v -0.500000 1.000000 -1.750000 +v 0.500000 1.500000 -1.750000 v 0.500000 1.000000 -1.750000 -v -0.500000 1.500000 -1.625000 -v -0.500000 1.375000 -1.750000 -v -0.500000 1.375000 -1.250000 -v -0.500000 1.500000 -1.375000 -v 0.500000 1.500000 -1.375000 -v 0.500000 1.375000 -1.250000 -v 0.500000 1.375000 -1.750000 -v 0.500000 1.500000 -1.625000 -v 0.750000 1.750000 0.562500 -v 0.750000 1.000000 0.562500 -v 0.750000 1.750000 -0.562500 -v 0.750000 1.000000 -0.562500 -v 0.500000 1.000000 1.750000 -v 1.000000 1.000000 1.750000 -v 0.500000 1.000000 1.250000 -v 1.000000 1.000000 1.250000 -v -1.000000 1.000000 1.750000 -v -0.500000 1.000000 1.750000 -v -1.000000 1.000000 1.250000 +v 0.500000 1.000000 -1.250000 +v -0.625000 8.000000 2.000000 +v -0.875000 8.000000 1.750000 +v -0.875000 8.000000 2.000000 +v 0.875000 8.000000 2.000000 +v 0.625000 8.000000 1.750000 +v 0.625000 8.000000 2.000000 +v -0.625000 8.000000 1.000000 +v -0.875000 8.000000 0.750000 +v -0.875000 8.000000 1.000000 +v 0.875000 8.000000 1.000000 +v 0.625000 8.000000 0.750000 +v 0.625000 8.000000 1.000000 +v -0.625000 2.000000 0.750000 +v -0.625000 2.000000 1.000000 +v -0.875000 1.000000 1.750000 +v -0.625000 8.000000 1.750000 +v -0.625000 1.000000 1.750000 +v -0.875000 2.000000 0.750000 +v -0.625000 8.000000 0.750000 +v 0.625000 1.000000 2.000000 +v 0.625000 1.000000 1.750000 +v 0.625000 2.000000 1.000000 +v 0.625000 2.000000 0.750000 +v 0.875000 1.000000 2.000000 +v 0.875000 2.000000 1.000000 +v 0.875000 1.000000 1.750000 +v 0.875000 2.000000 0.750000 +v 0.875000 8.000000 1.750000 +v -0.875000 1.000000 2.000000 +v 0.875000 8.000000 0.750000 +v -0.875000 2.000000 1.000000 +v -0.625000 1.000000 2.000000 +v -0.625000 8.000000 1.875000 +v 0.625000 1.000000 1.875000 +v 0.625000 8.000000 1.875000 +v -0.625000 8.000000 0.875000 +v 0.625000 2.000000 0.875000 +v -0.625000 2.000000 0.875000 +v 0.750000 1.000000 1.750000 +v 0.750000 8.000000 1.000000 +v 0.750000 8.000000 1.750000 +v -0.750000 8.000000 1.000000 +v -0.750000 1.000000 1.750000 +v -0.750000 8.000000 1.750000 +v -0.062500 6.000000 1.625000 +v -0.312500 6.000000 1.375000 +v -0.312500 6.000000 1.625000 +v 0.312500 6.000000 1.625000 +v 0.062500 6.000000 1.375000 +v 0.062500 6.000000 1.625000 +v -0.062500 1.000000 1.375000 +v -0.062500 1.000000 1.625000 +v -0.312500 1.000000 1.625000 +v -0.312500 1.000000 1.375000 +v 0.062500 1.000000 1.375000 +v 0.312500 6.000000 1.375000 +v 0.312500 1.000000 1.375000 +v 0.312500 1.000000 1.625000 +v 0.062500 1.000000 1.625000 +v -0.062500 6.000000 1.375000 +v -1.250000 1.000000 1.250000 v -0.500000 1.000000 1.250000 -v 0.500000 11.000000 1.250000 -v 0.500000 11.000000 1.750000 -v 1.000000 11.000000 1.750000 -v 1.000000 11.000000 1.250000 -v -1.000000 11.000000 1.250000 -v -1.000000 11.000000 1.750000 -v -0.500000 11.000000 1.750000 -v -0.500000 11.000000 1.250000 -v -0.500000 10.750000 1.562500 -v 0.500000 10.000000 1.562500 -v -0.500000 11.000000 1.562500 -v 0.500000 10.250000 1.562500 -v -0.500000 1.250000 1.437500 -v 0.500000 2.000000 1.437500 -v -0.500000 1.000000 1.437500 -v 0.500000 1.750000 1.437500 -v 0.500000 1.250000 1.562500 -v -0.500000 2.000000 1.562500 -v 0.500000 1.000000 1.562500 -v -0.500000 1.750000 1.562500 -v -0.500000 4.750000 1.562500 -v 0.500000 4.000000 1.562500 -v -0.500000 5.000000 1.562500 -v 0.500000 4.250000 1.562500 -v 0.500000 4.750000 1.437500 -v -0.500000 4.000000 1.437500 -v 0.500000 5.000000 1.437500 -v -0.500000 4.250000 1.437500 -v -0.500000 2.500000 1.562500 -v 0.500000 1.750000 1.562500 -v -0.500000 2.750000 1.562500 -v 0.500000 2.000000 1.562500 -v 0.500000 2.500000 1.437500 -v -0.500000 1.750000 1.437500 -v 0.500000 2.750000 1.437500 -v -0.500000 2.000000 1.437500 -v -0.500000 2.750000 1.437500 -v 0.500000 3.500000 1.437500 -v -0.500000 2.500000 1.437500 -v 0.500000 3.250000 1.437500 -v 0.500000 2.750000 1.562500 -v -0.500000 3.500000 1.562500 -v 0.500000 2.500000 1.562500 -v -0.500000 3.250000 1.562500 -v -0.500000 3.500000 1.437500 -v 0.500000 4.250000 1.437500 -v -0.500000 3.250000 1.437500 -v 0.500000 4.000000 1.437500 -v 0.500000 3.500000 1.562500 -v -0.500000 4.250000 1.562500 -v 0.500000 3.250000 1.562500 -v -0.500000 4.000000 1.562500 -v -0.500000 7.000000 1.562500 -v 0.500000 6.250000 1.562500 -v -0.500000 7.250000 1.562500 -v 0.500000 6.500000 1.562500 -v 0.500000 7.000000 1.437500 -v -0.500000 6.250000 1.437500 -v 0.500000 7.250000 1.437500 -v -0.500000 6.500000 1.437500 -v 0.500000 10.750000 1.437500 -v -0.500000 10.000000 1.437500 -v 0.500000 11.000000 1.437500 -v -0.500000 10.250000 1.437500 -v -0.500000 6.250000 1.562500 -v 0.500000 5.500000 1.562500 -v -0.500000 6.500000 1.562500 -v 0.500000 5.750000 1.562500 -v 0.500000 6.250000 1.437500 -v -0.500000 5.500000 1.437500 -v 0.500000 6.500000 1.437500 -v -0.500000 5.750000 1.437500 -v -0.500000 5.000000 1.437500 -v 0.500000 5.750000 1.437500 -v -0.500000 4.750000 1.437500 -v 0.500000 5.500000 1.437500 -v 0.500000 5.000000 1.562500 -v -0.500000 5.750000 1.562500 -v 0.500000 4.750000 1.562500 -v -0.500000 5.500000 1.562500 -v -0.500000 7.250000 1.437500 -v 0.500000 8.000000 1.437500 -v -0.500000 7.000000 1.437500 -v 0.500000 7.750000 1.437500 -v 0.500000 7.250000 1.562500 -v -0.500000 8.000000 1.562500 -v 0.500000 7.000000 1.562500 -v -0.500000 7.750000 1.562500 -v -0.500000 8.500000 1.562500 -v 0.500000 7.750000 1.562500 -v -0.500000 8.750000 1.562500 -v 0.500000 8.000000 1.562500 -v 0.500000 8.500000 1.437500 -v -0.500000 7.750000 1.437500 -v 0.500000 8.750000 1.437500 -v -0.500000 8.000000 1.437500 -v -0.500000 8.750000 1.437500 -v 0.500000 9.500000 1.437500 -v -0.500000 8.500000 1.437500 -v 0.500000 9.250000 1.437500 -v 0.500000 8.750000 1.562500 -v -0.500000 9.500000 1.562500 -v 0.500000 8.500000 1.562500 -v -0.500000 9.250000 1.562500 -v -0.500000 9.500000 1.437500 -v 0.500000 10.250000 1.437500 -v -0.500000 9.250000 1.437500 -v 0.500000 10.000000 1.437500 -v 0.500000 9.500000 1.562500 -v -0.500000 10.250000 1.562500 -v 0.500000 9.250000 1.562500 -v -0.500000 10.000000 1.562500 -v -0.937500 1.000000 3.937500 -v -0.562500 1.000000 3.937500 -v -0.937500 1.000000 3.562500 -v -0.562500 1.000000 3.562500 -v -0.937500 2.812500 1.750000 -v -0.562500 2.812500 1.750000 -v -0.937500 3.187500 1.750000 -v -0.562500 3.187500 1.750000 -v 0.562500 1.000000 3.937500 -v 0.937500 1.000000 3.937500 -v 0.562500 1.000000 3.562500 -v 0.937500 1.000000 3.562500 -v 0.562500 2.812500 1.750000 -v 0.937500 2.812500 1.750000 -v 0.562500 3.187500 1.750000 -v 0.937500 3.187500 1.750000 -v -0.500000 10.750000 1.562500 -v 0.500000 10.000000 1.562500 -v -0.500000 11.000000 1.562500 -v 0.500000 10.250000 1.562500 -v -0.500000 1.250000 1.437500 -v 0.500000 2.000000 1.437500 -v -0.500000 1.000000 1.437500 -v 0.500000 1.750000 1.437500 -v 0.500000 1.250000 1.562500 -v -0.500000 2.000000 1.562500 -v 0.500000 1.000000 1.562500 -v -0.500000 1.750000 1.562500 -v -0.500000 4.750000 1.562500 -v 0.500000 4.000000 1.562500 -v -0.500000 5.000000 1.562500 -v 0.500000 4.250000 1.562500 -v 0.500000 4.750000 1.437500 -v -0.500000 4.000000 1.437500 -v 0.500000 5.000000 1.437500 -v -0.500000 4.250000 1.437500 -v -0.500000 2.500000 1.562500 -v 0.500000 1.750000 1.562500 -v -0.500000 2.750000 1.562500 -v 0.500000 2.000000 1.562500 -v 0.500000 2.500000 1.437500 -v -0.500000 1.750000 1.437500 -v 0.500000 2.750000 1.437500 -v -0.500000 2.000000 1.437500 -v -0.500000 2.750000 1.437500 -v 0.500000 3.500000 1.437500 -v -0.500000 2.500000 1.437500 -v 0.500000 3.250000 1.437500 -v 0.500000 2.750000 1.562500 -v -0.500000 3.500000 1.562500 -v 0.500000 2.500000 1.562500 -v -0.500000 3.250000 1.562500 -v -0.500000 3.500000 1.437500 -v 0.500000 4.250000 1.437500 -v -0.500000 3.250000 1.437500 -v 0.500000 4.000000 1.437500 -v 0.500000 3.500000 1.562500 -v -0.500000 4.250000 1.562500 -v 0.500000 3.250000 1.562500 -v -0.500000 4.000000 1.562500 -v -0.500000 7.000000 1.562500 -v 0.500000 6.250000 1.562500 -v -0.500000 7.250000 1.562500 -v 0.500000 6.500000 1.562500 -v 0.500000 7.000000 1.437500 -v -0.500000 6.250000 1.437500 -v 0.500000 7.250000 1.437500 -v -0.500000 6.500000 1.437500 -v 0.500000 10.750000 1.437500 -v -0.500000 10.000000 1.437500 -v 0.500000 11.000000 1.437500 -v -0.500000 10.250000 1.437500 -v -0.500000 6.250000 1.562500 -v 0.500000 5.500000 1.562500 -v -0.500000 6.500000 1.562500 -v 0.500000 5.750000 1.562500 -v 0.500000 6.250000 1.437500 -v -0.500000 5.500000 1.437500 -v 0.500000 6.500000 1.437500 -v -0.500000 5.750000 1.437500 -v -0.500000 5.000000 1.437500 -v 0.500000 5.750000 1.437500 -v -0.500000 4.750000 1.437500 -v 0.500000 5.500000 1.437500 -v 0.500000 5.000000 1.562500 -v -0.500000 5.750000 1.562500 -v 0.500000 4.750000 1.562500 -v -0.500000 5.500000 1.562500 -v -0.500000 7.250000 1.437500 -v 0.500000 8.000000 1.437500 -v -0.500000 7.000000 1.437500 -v 0.500000 7.750000 1.437500 -v 0.500000 7.250000 1.562500 -v -0.500000 8.000000 1.562500 -v 0.500000 7.000000 1.562500 -v -0.500000 7.750000 1.562500 -v -0.500000 8.500000 1.562500 -v 0.500000 7.750000 1.562500 -v -0.500000 8.750000 1.562500 -v 0.500000 8.000000 1.562500 -v 0.500000 8.500000 1.437500 -v -0.500000 7.750000 1.437500 -v 0.500000 8.750000 1.437500 -v -0.500000 8.000000 1.437500 -v -0.500000 8.750000 1.437500 -v 0.500000 9.500000 1.437500 -v -0.500000 8.500000 1.437500 -v 0.500000 9.250000 1.437500 -v 0.500000 8.750000 1.562500 -v -0.500000 9.500000 1.562500 -v 0.500000 8.500000 1.562500 -v -0.500000 9.250000 1.562500 -v -0.500000 9.500000 1.437500 -v 0.500000 10.250000 1.437500 -v -0.500000 9.250000 1.437500 -v 0.500000 10.000000 1.437500 -v 0.500000 9.500000 1.562500 -v -0.500000 10.250000 1.562500 -v 0.500000 9.250000 1.562500 -v -0.500000 10.000000 1.562500 -v 0.562500 1.750000 -0.562500 -v 0.937500 1.750000 -0.562500 -v 0.562500 1.750000 -0.937500 -v 0.937500 1.750000 -0.937500 -v 0.562500 1.000000 -0.562500 -v 0.937500 1.000000 -0.562500 -v 0.562500 1.000000 -0.937500 -v 0.937500 1.000000 -0.937500 -v -0.937500 1.750000 0.937500 -v -0.562500 1.750000 0.937500 -v -0.937500 1.750000 0.562500 -v -0.562500 1.750000 0.562500 -v -0.937500 1.000000 0.937500 -v -0.562500 1.000000 0.937500 -v -0.937500 1.000000 0.562500 -v -0.562500 1.000000 0.562500 -v -0.937500 1.750000 -0.562500 -v -0.562500 1.750000 -0.562500 -v -0.937500 1.750000 -0.937500 -v -0.562500 1.750000 -0.937500 -v -0.937500 1.000000 -0.562500 -v -0.562500 1.000000 -0.562500 -v -0.937500 1.000000 -0.937500 -v -0.562500 1.000000 -0.937500 -v -0.750000 1.750000 -0.562500 -v -0.750000 1.000000 -0.562500 -v -0.750000 1.750000 0.562500 -v -0.750000 1.000000 0.562500 -v 0.562500 1.750000 -0.750000 -v 0.562500 1.000000 -0.750000 -v -0.562500 1.750000 -0.750000 -v -0.562500 1.000000 -0.750000 -v -0.562500 1.750000 0.750000 -v -0.562500 1.000000 0.750000 -v 0.562500 1.750000 0.750000 -v 0.562500 1.000000 0.750000 -vt 0.083333 0.250000 -vt 0.000000 0.386364 -vt 0.000000 0.204545 -vt 0.000000 0.000000 -vt 0.083333 0.136364 -vt 0.000000 0.181818 -vt 0.083333 0.340909 -vt 0.333333 0.386364 -vt 0.250000 0.340909 -vt 0.333333 0.204545 -vt 0.250000 0.250000 -vt 0.333333 -0.000000 -vt 0.083333 0.045455 -vt 0.333333 0.181818 -vt 0.250000 0.045455 -vt 0.250000 0.136364 -vt 0.083333 0.136364 -vt 0.250000 0.113636 -vt 0.250000 0.136364 -vt 0.083333 0.136364 -vt 0.250000 0.113636 -vt 0.250000 0.136364 -vt -0.000000 0.204545 -vt 0.333333 0.181818 -vt 0.333333 0.204545 -vt -0.000000 0.204545 -vt 0.333333 0.181818 -vt 0.333333 0.204545 -vt 0.083333 0.136364 -vt 0.250000 0.113636 -vt 0.250000 0.136364 -vt 0.083333 0.136364 -vt 0.250000 0.113636 -vt 0.250000 0.136364 -vt -0.000000 0.204545 -vt 0.333333 0.181818 -vt 0.333333 0.204545 -vt 0.083333 0.340909 -vt 0.250000 0.250000 -vt 0.250000 0.340909 -vt 0.125000 0.454545 -vt 0.187500 0.386364 -vt 0.187500 0.454545 -vt -0.000000 0.454545 -vt 0.062500 0.386364 -vt 0.062500 0.454545 -vt 0.250000 0.386364 -vt 0.250000 0.454545 -vt 0.125000 0.386364 -vt 0.208333 0.954545 -vt 0.145833 0.863636 -vt 0.208333 0.863636 -vt 0.083333 0.863636 -vt 0.125000 0.954545 -vt 0.083333 0.954545 -vt 0.000000 0.863636 -vt 0.062500 0.954545 -vt 0.000000 0.954545 -vt 0.125000 0.863636 -vt 0.062500 0.852273 -vt 0.062500 0.863636 -vt 0.145833 0.954545 -vt 0.145833 0.965909 -vt 0.187500 0.454545 -vt 0.000000 0.522727 -vt 0.000000 0.454545 -vt 0.333333 0.909091 -vt 0.416667 0.954545 -vt 0.333333 0.954545 -vt 0.333333 0.909091 -vt 0.416667 0.954545 -vt 0.333333 0.954545 +v -0.500000 1.250000 1.250000 +v -0.500000 1.250000 0.500000 +v -1.250000 1.500000 1.250000 +v -1.250000 1.500000 0.250000 +v -1.250000 1.250000 0.500000 +v -0.250000 1.500000 1.250000 +v -0.250000 1.500000 0.500000 +v -0.500000 1.000000 0.500000 +v -1.250000 1.000000 0.500000 +v -0.500000 1.500000 0.500000 +v -0.500000 1.500000 0.250000 +v -1.250000 1.000000 -1.250000 +v -1.250000 1.000000 -0.500000 +v -1.250000 1.250000 -0.500000 +v -0.500000 1.250000 -0.500000 +v -1.250000 1.500000 -1.250000 +v -0.250000 1.500000 -1.250000 +v -0.500000 1.250000 -1.250000 +v -1.250000 1.500000 -0.250000 +v -0.500000 1.500000 -0.250000 +v -0.500000 1.000000 -0.500000 +v -0.500000 1.000000 -1.250000 +v -0.500000 1.500000 -0.500000 +v -0.250000 1.500000 -0.500000 +v 1.250000 1.000000 1.250000 +v 1.250000 1.000000 0.500000 +v 1.250000 1.250000 0.500000 +v 0.500000 1.250000 0.500000 +v 1.250000 1.500000 1.250000 +v 0.250000 1.500000 1.250000 +v 0.500000 1.250000 1.250000 +v 0.500000 1.500000 0.250000 +v 0.500000 1.000000 0.500000 +v 0.500000 1.000000 1.250000 +v 0.500000 1.500000 0.500000 +v 0.250000 1.500000 0.500000 +v 0.625000 1.000000 1.875000 +v -0.625000 8.000000 1.875000 +v 0.625000 8.000000 1.875000 +v 0.625000 2.000000 0.875000 +v -0.625000 8.000000 0.875000 +v -0.625000 2.000000 0.875000 +v 0.750000 8.000000 1.000000 +v 0.750000 1.000000 1.750000 +v 0.750000 8.000000 1.750000 +v -0.750000 1.000000 1.750000 +v -0.750000 8.000000 1.000000 +v -0.750000 8.000000 1.750000 +v 0.500000 2.000000 -0.500000 +v 0.250000 1.500000 -1.250000 +v -0.625000 1.000000 1.875000 +v 0.625000 8.000000 0.875000 +v 0.750000 1.000000 1.000000 +v -0.750000 1.000000 1.000000 +v 1.250000 1.500000 0.250000 +v -0.625000 1.000000 1.875000 +v 0.625000 8.000000 0.875000 +v 0.750000 1.000000 1.000000 +v -0.750000 1.000000 1.000000 +vt 0.066667 0.655172 +vt 0.222222 0.758621 +vt 0.000000 0.758621 +vt 0.066667 0.517241 +vt 0.000000 0.413793 +vt 0.222222 0.344828 +vt 0.222222 0.413793 +vt 0.000000 0.413793 +vt 0.222222 0.344828 +vt 0.222222 0.413793 +vt 0.000000 0.413793 +vt 0.222222 0.344828 +vt 0.222222 0.413793 +vt -0.000000 0.413793 +vt 0.222222 0.344828 +vt 0.222222 0.413793 +vt 0.066667 0.172414 +vt 0.155556 0.241379 +vt 0.066667 0.241379 +vt 0.155556 0.655172 +vt 0.155556 0.517241 +vt 0.000000 -0.000000 +vt 0.066667 0.241379 +vt 0.000000 0.344828 +vt 0.155556 0.241379 +vt 0.155556 0.103448 +vt 0.222222 -0.000000 +vt 0.066667 0.103448 +vt 0.066667 0.517241 +vt 0.155556 0.655172 +vt 0.066667 0.655172 +vt 0.066667 0.172414 +vt 0.155556 0.241379 +vt 0.066667 0.241379 +vt 0.066667 0.172414 +vt 0.155556 0.241379 +vt 0.066667 0.241379 +vt 0.066667 0.172414 +vt 0.155556 0.241379 +vt 0.066667 0.241379 +vt 0.088889 0.758621 +vt 0.155556 0.758621 +vt 0.155556 0.793103 +vt 0.022222 0.827586 +vt 0.088889 0.862069 +vt 0.022222 0.862069 +vt 0.088889 0.827586 +vt 0.000000 0.827586 +vt 0.022222 0.793103 +vt 0.088889 0.896552 +vt 0.155556 0.862069 +vt 0.088889 0.827586 +vt 0.155556 0.827586 +vt 0.155556 0.793103 +vt 0.177778 0.758621 +vt 0.177778 0.793103 +vt 0.200000 0.793103 +vt 0.088889 0.896552 +vt 0.155556 0.896552 +vt 0.888889 0.655172 +vt 0.933333 0.793103 +vt 0.888889 0.793103 +vt 0.888889 0.862069 +vt 0.933333 0.862069 +vt 0.977778 0.793103 +vt 0.933333 0.655172 +vt 0.977778 0.655172 +vt 0.844444 0.655172 +vt 0.844444 0.793103 +vt 0.933333 0.586207 +vt 0.888889 0.586207 +vt 0.577778 0.965517 +vt 0.600000 1.000000 +vt 0.577778 1.000000 +vt 0.577778 0.965517 +vt 0.600000 1.000000 +vt 0.577778 1.000000 +vt 0.577778 0.965517 +vt 0.600000 1.000000 +vt 0.577778 1.000000 +vt 0.577778 0.965517 +vt 0.600000 1.000000 +vt 0.577778 1.000000 +vt 0.600000 0.137931 +vt 0.577778 0.137931 +vt 0.622222 0.000000 +vt 0.600000 0.965517 +vt 0.600000 0.000000 +vt 0.622222 0.137931 +vt 0.600000 0.965517 +vt 0.644444 0.000000 +vt 0.622222 0.965517 +vt 0.622222 0.000000 +vt 0.644444 0.137931 +vt 0.622222 0.965517 +vt 0.622222 0.137931 vt 0.666667 0.000000 -vt 0.583333 0.909091 -vt 0.583333 0.000000 -vt 0.416667 -0.000000 -vt 0.333333 -0.000000 -vt 0.583333 0.000000 -vt 0.500000 0.909091 -vt 0.500000 0.000000 -vt 0.416667 -0.000000 -vt 0.333333 -0.000000 -vt 0.500000 0.909091 -vt 0.500000 0.000000 -vt 0.416667 0.909091 +vt 0.644444 0.965517 +vt 0.666667 0.137931 +vt 0.644444 0.965517 +vt 0.600000 0.000000 +vt 0.577778 0.000000 +vt 0.600000 0.137931 +vt 0.577778 0.137931 +vt 0.600000 0.965517 +vt 0.644444 0.000000 +vt 0.622222 0.965517 +vt 0.600000 0.965517 +vt 0.644444 0.137931 +vt 0.622222 0.965517 vt 0.666667 0.000000 -vt 0.583333 0.909091 -vt 0.416667 0.909091 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt -0.000000 0.522727 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt -0.000000 0.545455 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt -0.000000 0.522727 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt -0.000000 0.522727 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt -0.000000 0.545455 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt -0.000000 0.522727 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt -0.000000 0.545455 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt -0.000000 0.545455 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt -0.000000 0.522727 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt -0.000000 0.545455 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt -0.000000 0.522727 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt -0.000000 0.522727 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt -0.000000 0.545455 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt -0.000000 0.545455 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt -0.000000 0.522727 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt -0.000000 0.545455 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt -0.000000 0.545455 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt -0.000000 0.522727 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt -0.000000 0.545455 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt -0.000000 0.522727 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt -0.000000 0.522727 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt -0.000000 0.545455 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt -0.000000 0.545455 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt -0.000000 0.522727 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt -0.000000 0.545455 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt -0.000000 0.522727 -vt 0.062500 0.545455 -vt 0.000000 0.784091 -vt -0.000000 0.579545 -vt 0.125000 0.545455 -vt 0.062500 0.818182 -vt 0.250000 0.579545 -vt 0.187500 0.784091 -vt 0.187500 0.579545 -vt 0.125000 0.818182 -vt 0.062500 0.545455 -vt 0.000000 0.784091 -vt -0.000000 0.579545 -vt 0.125000 0.545455 -vt 0.062500 0.818182 -vt 0.250000 0.579545 -vt 0.187500 0.784091 -vt 0.187500 0.579545 -vt 0.125000 0.818182 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt 0.166667 0.545455 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt 0.166667 0.545455 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt 0.166667 0.545455 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt 0.166667 0.545455 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt 0.166667 0.545455 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt 0.166667 0.545455 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt 0.166667 0.545455 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt 0.166667 0.545455 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt 0.166667 0.545455 -vt -0.000000 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.166667 0.522727 -vt 0.000000 0.545455 -vt 0.166667 0.545455 -vt 0.125000 0.454545 -vt 0.187500 0.386364 -vt 0.187500 0.454545 -vt -0.000000 0.454545 -vt 0.062500 0.386364 -vt 0.062500 0.454545 -vt 0.250000 0.386364 -vt 0.250000 0.454545 -vt 0.125000 0.386364 -vt 0.125000 0.454545 -vt 0.187500 0.386364 -vt 0.187500 0.454545 -vt -0.000000 0.454545 -vt 0.062500 0.386364 -vt 0.062500 0.454545 -vt 0.250000 0.386364 -vt 0.250000 0.454545 -vt 0.125000 0.386364 -vt 0.125000 0.454545 -vt 0.187500 0.386364 -vt 0.187500 0.454545 -vt -0.000000 0.454545 -vt 0.062500 0.386364 -vt 0.062500 0.454545 -vt 0.250000 0.386364 -vt 0.250000 0.454545 -vt 0.125000 0.386364 -vt 0.187500 0.454545 -vt 0.000000 0.522727 -vt 0.000000 0.454545 -vt 0.187500 0.454545 -vt 0.000000 0.522727 -vt 0.000000 0.454545 -vt 0.187500 0.454545 -vt 0.000000 0.522727 -vt 0.000000 0.454545 -vt 0.083333 0.113636 -vt 0.083333 0.113636 -vt -0.000000 0.181818 -vt -0.000000 0.181818 -vt 0.083333 0.113636 -vt 0.083333 0.113636 -vt -0.000000 0.181818 -vt 0.083333 0.250000 -vt -0.000000 0.386364 -vt 0.062500 0.818182 -vt 0.145833 0.818182 -vt 0.145833 0.852273 -vt 0.145833 1.000000 -vt 0.062500 1.000000 -vt 0.062500 0.965909 -vt 0.187500 0.522727 -vt 0.666667 0.909091 -vt 0.666667 0.909091 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.166667 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.166667 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.166667 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.166667 0.522727 -vt 0.166667 0.545455 -vt 0.166667 0.522727 -vt 0.166667 0.545455 -vt 0.250000 0.784091 -vt 0.250000 0.784091 -vt -0.000000 0.522727 -vt -0.000000 0.545455 -vt -0.000000 0.522727 -vt -0.000000 0.522727 -vt -0.000000 0.545455 -vt -0.000000 0.522727 -vt -0.000000 0.545455 -vt -0.000000 0.545455 -vt -0.000000 0.522727 -vt -0.000000 0.545455 -vt -0.000000 0.522727 -vt -0.000000 0.522727 -vt -0.000000 0.545455 -vt -0.000000 0.545455 -vt -0.000000 0.522727 -vt -0.000000 0.545455 -vt -0.000000 0.545455 -vt -0.000000 0.522727 -vt -0.000000 0.545455 -vt -0.000000 0.522727 -vt -0.000000 0.522727 -vt -0.000000 0.545455 -vt -0.000000 0.545455 -vt -0.000000 0.522727 -vt -0.000000 0.545455 -vt -0.000000 0.522727 -vt -0.000000 0.386364 -vt -0.000000 0.386364 -vt -0.000000 0.386364 -vt 0.187500 0.522727 -vt 0.187500 0.522727 -vt 0.187500 0.522727 +vt 0.644444 0.965517 +vt 0.666667 0.137931 +vt 0.644444 0.965517 +vt 0.577778 0.000000 +vt 0.222222 0.965517 +vt 0.333333 -0.000000 +vt 0.333333 0.965517 +vt 0.511111 0.965517 +vt 0.400000 0.137931 +vt 0.511111 0.137931 +vt 0.333333 0.000000 +vt 0.400000 0.965517 +vt 0.333333 0.965517 +vt 0.511111 0.965517 +vt 0.577778 0.000000 +vt 0.577778 0.965517 +vt 0.666667 0.689655 +vt 0.688889 0.724138 +vt 0.666667 0.724138 +vt 0.666667 0.689655 +vt 0.688889 0.724138 +vt 0.666667 0.724138 +vt 0.688889 0.000000 +vt 0.666667 0.000000 +vt 0.733333 0.000000 +vt 0.711111 0.689655 +vt 0.711111 0.000000 +vt 0.711111 0.000000 +vt 0.688889 0.689655 +vt 0.688889 0.000000 +vt 0.755556 0.000000 +vt 0.733333 0.689655 +vt 0.733333 0.000000 +vt 0.688889 0.689655 +vt 0.755556 0.000000 +vt 0.733333 0.689655 +vt 0.666667 0.000000 +vt 0.711111 0.689655 +vt 0.088889 0.758621 +vt 0.155556 0.758621 +vt 0.155556 0.793103 +vt 0.022222 0.827586 +vt 0.088889 0.862069 +vt 0.022222 0.862069 +vt 0.088889 0.827586 +vt 0.000000 0.827586 +vt 0.022222 0.793103 +vt 0.022222 0.896552 +vt 0.088889 0.896552 +vt 0.155556 0.862069 +vt 0.088889 0.827586 +vt 0.155556 0.827586 +vt 0.155556 0.793103 +vt 0.177778 0.758621 +vt 0.177778 0.793103 +vt 0.200000 0.793103 +vt 0.088889 0.896552 +vt 0.155556 0.896552 +vt 0.088889 0.758621 +vt 0.155556 0.758621 +vt 0.155556 0.793103 +vt 0.022222 0.827586 +vt 0.088889 0.862069 +vt 0.022222 0.862069 +vt 0.088889 0.827586 +vt 0.000000 0.827586 +vt 0.022222 0.793103 +vt 0.022222 0.896552 +vt 0.088889 0.896552 +vt 0.155556 0.862069 +vt 0.088889 0.827586 +vt 0.155556 0.827586 +vt 0.155556 0.793103 +vt 0.177778 0.758621 +vt 0.177778 0.793103 +vt 0.200000 0.793103 +vt 0.088889 0.896552 +vt 0.155556 0.896552 +vt 0.088889 0.758621 +vt 0.155556 0.758621 +vt 0.155556 0.793103 +vt 0.022222 0.827586 +vt 0.088889 0.862069 +vt 0.022222 0.862069 +vt 0.088889 0.827586 +vt 0.000000 0.827586 +vt 0.022222 0.793103 +vt 0.088889 0.896552 +vt 0.155556 0.862069 +vt 0.088889 0.827586 +vt 0.155556 0.827586 +vt 0.155556 0.793103 +vt 0.177778 0.758621 +vt 0.177778 0.793103 +vt 0.200000 0.793103 +vt 0.088889 0.896552 +vt 0.155556 0.896552 +vt 0.333333 -0.000000 +vt 0.222222 0.965517 +vt 0.333333 0.965517 +vt 0.400000 0.137931 +vt 0.511111 0.965517 +vt 0.511111 0.137931 +vt 0.400000 0.965517 +vt 0.333333 0.000000 +vt 0.333333 0.965517 +vt 0.577778 0.000000 +vt 0.511111 0.965517 +vt 0.577778 0.965517 +vt 0.000000 0.344828 +vt 0.000000 0.344828 +vt -0.000000 0.344828 +vt 0.155556 0.172414 +vt 0.155556 0.517241 +vt 0.155556 0.172414 +vt 0.155556 0.172414 +vt 0.155556 0.172414 +vt 0.177778 0.827586 +vt 0.022222 0.758621 +vt 0.022222 0.896552 +vt 0.666667 0.965517 +vt 0.666667 0.965517 +vt 0.666667 0.965517 +vt 0.666667 0.965517 +vt 0.222222 0.000000 +vt 0.400000 0.965517 +vt 0.400000 0.000000 +vt 0.511111 0.000000 +vt 0.755556 0.689655 +vt 0.755556 0.689655 +vt 0.177778 0.827586 +vt 0.022222 0.758621 +vt 0.177778 0.827586 +vt 0.022222 0.758621 +vt 0.177778 0.827586 +vt 0.022222 0.758621 +vt 0.022222 0.896552 +vt 0.222222 0.000000 +vt 0.400000 0.965517 +vt 0.400000 0.000000 +vt 0.511111 0.000000 vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn -1.0000 0.0000 0.0000 vn 1.0000 0.0000 0.0000 -vn 0.0000 0.7071 0.7071 -vn 0.0000 0.7071 -0.7071 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.7071 -0.7071 0.0000 vn 0.0000 -0.7071 -0.7071 s off -f 230/293/15 225/294/15 226/295/15 -f 234/296/16 239/297/16 235/298/16 -f 229/299/15 227/300/15 225/294/15 -f 231/301/15 228/302/15 227/300/15 -f 232/303/15 226/295/15 228/302/15 -f 233/304/16 238/305/16 234/296/16 -f 236/306/16 237/307/16 233/304/16 -f 235/298/16 240/308/16 236/306/16 -f 231/309/17 240/310/17 232/311/17 -f 230/312/18 238/313/18 229/314/18 -f 228/315/18 233/316/18 227/317/18 -f 225/318/17 235/319/17 226/320/17 -f 232/321/19 239/322/19 230/323/19 -f 229/324/20 237/325/20 231/326/20 -f 226/295/20 236/306/20 228/302/20 -f 227/327/19 234/328/19 225/329/19 -f 241/330/15 244/331/15 243/332/15 -f 246/333/20 252/334/20 248/335/20 -f 247/336/19 249/337/19 245/338/19 -f 248/335/18 251/339/18 247/340/18 -f 245/338/17 250/341/17 246/333/17 -f 255/342/18 263/343/18 256/344/18 -f 261/345/15 257/346/15 260/347/15 -f 254/348/17 259/349/17 253/350/17 -f 264/351/20 261/345/20 262/352/20 -f 262/353/21 260/347/21 259/349/21 -f 258/354/22 264/351/22 263/343/22 -f 260/347/19 257/346/19 258/355/19 -f 268/356/20 265/357/20 266/358/20 -f 279/359/15 277/360/15 278/361/15 -f 283/362/15 281/363/15 282/364/15 -f 270/365/17 278/366/17 269/367/17 -f 276/368/20 283/362/20 274/369/20 -f 273/370/19 281/371/19 275/372/19 -f 272/373/20 279/359/20 270/374/20 -f 269/367/19 277/375/19 271/376/19 -f 275/372/18 284/377/18 276/368/18 -f 274/378/17 282/379/17 273/370/17 -f 271/376/18 280/380/18 272/373/18 -f 285/381/18 288/382/18 286/383/18 -f 292/384/18 289/385/18 290/386/18 -f 296/387/18 293/388/18 295/389/18 -f 297/390/18 300/391/18 298/392/18 -f 301/393/18 304/394/18 303/395/18 -f 305/396/18 308/397/18 306/398/18 -f 309/399/18 312/400/18 311/401/18 -f 316/402/18 313/403/18 314/404/18 -f 320/405/18 317/406/18 319/407/18 -f 324/408/18 321/409/18 322/410/18 -f 328/411/18 325/412/18 327/413/18 -f 329/414/18 332/415/18 330/416/18 -f 333/417/18 336/418/18 335/419/18 -f 337/420/18 340/421/18 339/422/18 -f 341/423/18 344/424/18 342/425/18 -f 345/426/18 348/427/18 347/428/18 -f 352/429/18 349/430/18 350/431/18 -f 356/432/18 353/433/18 355/434/18 -f 360/435/18 357/436/18 358/437/18 -f 364/438/18 361/439/18 363/440/18 -f 365/441/18 368/442/18 366/443/18 -f 369/444/18 372/445/18 371/446/18 -f 376/447/18 373/448/18 374/449/18 -f 380/450/18 377/451/18 379/452/18 -f 384/453/18 381/454/18 382/455/18 -f 388/456/18 385/457/18 387/458/18 -f 389/459/19 393/460/19 391/461/19 -f 390/462/21 395/463/21 389/459/21 -f 391/464/23 394/465/23 392/466/23 -f 392/466/20 396/467/20 390/462/20 -f 397/468/19 401/469/19 399/470/19 -f 398/471/21 403/472/21 397/468/21 -f 399/473/23 402/474/23 400/475/23 -f 400/475/20 404/476/20 398/471/20 -f 405/477/17 408/478/17 407/479/17 -f 412/480/17 409/481/17 411/482/17 -f 416/483/17 413/484/17 414/485/17 -f 417/486/17 420/487/17 419/488/17 -f 421/489/17 424/490/17 422/491/17 -f 425/492/17 428/493/17 427/494/17 -f 429/495/17 432/496/17 430/497/17 -f 436/498/17 433/499/17 435/500/17 -f 440/501/17 437/502/17 438/503/17 -f 444/504/17 441/505/17 443/506/17 -f 448/507/17 445/508/17 446/509/17 -f 449/510/17 452/511/17 451/512/17 -f 453/513/17 456/514/17 454/515/17 -f 457/516/17 460/517/17 458/518/17 -f 461/519/17 464/520/17 463/521/17 -f 465/522/17 468/523/17 466/524/17 -f 472/525/17 469/526/17 471/527/17 -f 476/528/17 473/529/17 474/530/17 -f 480/531/17 477/532/17 479/533/17 -f 484/534/17 481/535/17 482/536/17 -f 485/537/17 488/538/17 487/539/17 -f 489/540/17 492/541/17 490/542/17 -f 496/543/17 493/544/17 495/545/17 -f 500/546/17 497/547/17 498/548/17 -f 504/549/17 501/550/17 503/551/17 -f 508/552/17 505/553/17 506/554/17 -f 510/555/20 516/556/20 512/557/20 -f 511/558/19 513/559/19 509/560/19 -f 512/557/18 515/561/18 511/562/18 -f 509/560/17 514/563/17 510/555/17 -f 518/564/20 524/565/20 520/566/20 -f 519/567/19 521/568/19 517/569/19 -f 520/566/18 523/570/18 519/571/18 -f 517/569/17 522/572/17 518/564/17 -f 526/573/20 532/574/20 528/575/20 -f 527/576/19 529/577/19 525/578/19 -f 528/575/18 531/579/18 527/580/18 -f 525/578/17 530/581/17 526/573/17 -f 536/582/19 533/583/19 534/584/19 -f 540/585/18 537/586/18 538/587/18 -f 544/588/17 541/589/17 542/590/17 -f 230/293/15 229/299/15 225/294/15 -f 234/296/16 238/305/16 239/297/16 -f 229/299/15 231/301/15 227/300/15 -f 231/301/15 232/303/15 228/302/15 -f 232/303/15 230/293/15 226/295/15 -f 233/304/16 237/307/16 238/305/16 -f 236/306/16 240/308/16 237/307/16 -f 235/298/16 239/297/16 240/308/16 -f 231/309/17 237/591/17 240/310/17 -f 230/312/18 239/592/18 238/313/18 -f 228/315/18 236/593/18 233/316/18 -f 225/318/17 234/594/17 235/319/17 -f 232/321/19 240/595/19 239/322/19 -f 229/324/20 238/596/20 237/325/20 -f 226/295/20 235/298/20 236/306/20 -f 227/327/19 233/597/19 234/328/19 -f 241/330/15 242/598/15 244/331/15 -f 246/333/20 250/341/20 252/334/20 -f 247/336/19 251/599/19 249/337/19 -f 248/335/18 252/334/18 251/339/18 -f 245/338/17 249/337/17 250/341/17 -f 255/342/18 258/354/18 263/343/18 -f 261/345/15 264/351/15 257/346/15 -f 254/348/17 262/353/17 259/349/17 -f 262/352/20 254/600/20 256/601/20 -f 256/601/20 263/602/20 262/352/20 -f 263/602/20 264/351/20 262/352/20 -f 262/353/21 261/345/21 260/347/21 -f 258/354/22 257/346/22 264/351/22 -f 258/355/19 255/603/19 253/604/19 -f 253/604/19 259/605/19 258/355/19 -f 259/605/19 260/347/19 258/355/19 -f 268/356/20 267/606/20 265/357/20 -f 279/359/15 280/380/15 277/360/15 -f 283/362/15 284/377/15 281/363/15 -f 270/365/17 279/607/17 278/366/17 -f 276/368/20 284/377/20 283/362/20 -f 273/370/19 282/379/19 281/371/19 -f 272/373/20 280/380/20 279/359/20 -f 269/367/19 278/366/19 277/375/19 -f 275/372/18 281/371/18 284/377/18 -f 274/378/17 283/608/17 282/379/17 -f 271/376/18 277/375/18 280/380/18 -f 285/381/18 287/609/18 288/382/18 -f 292/384/18 291/610/18 289/385/18 -f 296/387/18 294/611/18 293/388/18 -f 297/390/18 299/612/18 300/391/18 -f 301/393/18 302/613/18 304/394/18 -f 305/396/18 307/614/18 308/397/18 -f 309/399/18 310/615/18 312/400/18 -f 316/402/18 315/616/18 313/403/18 -f 320/405/18 318/617/18 317/406/18 -f 324/408/18 323/618/18 321/409/18 -f 328/411/18 326/619/18 325/412/18 -f 329/414/18 331/620/18 332/415/18 -f 333/417/18 334/621/18 336/418/18 -f 337/420/18 338/622/18 340/421/18 -f 341/423/18 343/623/18 344/424/18 -f 345/426/18 346/624/18 348/427/18 -f 352/429/18 351/625/18 349/430/18 -f 356/432/18 354/626/18 353/433/18 -f 360/435/18 359/627/18 357/436/18 -f 364/438/18 362/628/18 361/439/18 -f 365/441/18 367/629/18 368/442/18 -f 369/444/18 370/630/18 372/445/18 -f 376/447/18 375/631/18 373/448/18 -f 380/450/18 378/632/18 377/451/18 -f 384/453/18 383/633/18 381/454/18 -f 388/456/18 386/634/18 385/457/18 -f 389/459/19 395/463/19 393/460/19 -f 390/462/21 396/467/21 395/463/21 -f 391/464/23 393/635/23 394/465/23 -f 392/466/20 394/465/20 396/467/20 -f 397/468/19 403/472/19 401/469/19 -f 398/471/21 404/476/21 403/472/21 -f 399/473/23 401/636/23 402/474/23 -f 400/475/20 402/474/20 404/476/20 -f 405/477/17 406/637/17 408/478/17 -f 412/480/17 410/638/17 409/481/17 -f 416/483/17 415/639/17 413/484/17 -f 417/486/17 418/640/17 420/487/17 -f 421/489/17 423/641/17 424/490/17 -f 425/492/17 426/642/17 428/493/17 -f 429/495/17 431/643/17 432/496/17 -f 436/498/17 434/644/17 433/499/17 -f 440/501/17 439/645/17 437/502/17 -f 444/504/17 442/646/17 441/505/17 -f 448/507/17 447/647/17 445/508/17 -f 449/510/17 450/648/17 452/511/17 -f 453/513/17 455/649/17 456/514/17 -f 457/516/17 459/650/17 460/517/17 -f 461/519/17 462/651/17 464/520/17 -f 465/522/17 467/652/17 468/523/17 -f 472/525/17 470/653/17 469/526/17 -f 476/528/17 475/654/17 473/529/17 -f 480/531/17 478/655/17 477/532/17 -f 484/534/17 483/656/17 481/535/17 -f 485/537/17 486/657/17 488/538/17 -f 489/540/17 491/658/17 492/541/17 -f 496/543/17 494/659/17 493/544/17 -f 500/546/17 499/660/17 497/547/17 -f 504/549/17 502/661/17 501/550/17 -f 508/552/17 507/662/17 505/553/17 -f 510/555/20 514/563/20 516/556/20 -f 511/558/19 515/663/19 513/559/19 -f 512/557/18 516/556/18 515/561/18 -f 509/560/17 513/559/17 514/563/17 -f 518/564/20 522/572/20 524/565/20 -f 519/567/19 523/664/19 521/568/19 -f 520/566/18 524/565/18 523/570/18 -f 517/569/17 521/568/17 522/572/17 -f 526/573/20 530/581/20 532/574/20 -f 527/576/19 531/665/19 529/577/19 -f 528/575/18 532/574/18 531/579/18 -f 525/578/17 529/577/17 530/581/17 -f 536/582/19 535/666/19 533/583/19 -f 540/585/18 539/667/18 537/586/18 -f 544/588/17 543/668/17 541/589/17 -o Atlas_Rope -v -2.116117 11.000000 2.292893 -v -2.292893 11.000000 2.116117 -v -2.292893 11.000000 2.469670 -v -2.469670 11.000000 2.292893 -v -1.762563 16.250000 1.939340 -v -1.939340 16.250000 1.762563 -v -1.939340 16.250000 2.116117 -v -2.116117 16.250000 1.939340 -v -1.409010 16.750000 1.585786 -v -1.585786 16.750000 1.409010 -v -1.409010 17.000000 1.585786 -v -1.585786 17.000000 1.409010 -v -1.055456 17.000000 0.878680 -v -0.878680 17.000000 1.055456 -v -0.701903 16.750000 0.878680 -v -0.878680 16.750000 0.701903 -v -0.878680 16.750000 1.055456 -v -1.055456 16.750000 0.878680 -v -0.701903 15.250000 0.878680 -v -0.878680 15.250000 0.701903 -v -0.878680 15.250000 1.055456 -v -1.055456 15.250000 0.878680 -v 0.005204 14.250000 0.171573 -v -0.171573 14.250000 -0.005204 -v -0.171573 14.250000 0.348350 -v -0.348350 14.250000 0.171573 -vt 0.897436 0.395161 -vt 0.884615 0.346774 -vt 0.897436 0.346774 -vt 0.846154 -0.000000 -vt 0.858974 0.338710 -vt 0.846154 0.338710 -vt 0.884615 -0.000000 -vt 0.871795 0.338710 -vt 0.871795 -0.000000 -vt 0.858974 -0.000000 -vt 0.897436 -0.000000 -vt 0.884615 0.338710 -vt 0.858974 0.451613 -vt 0.846154 0.467742 -vt 0.846154 0.451613 -vt 0.858974 0.403226 -vt 0.846154 0.346774 -vt 0.884615 0.395161 -vt 0.871795 0.451613 -vt 0.897436 0.403226 -vt 0.884615 0.451613 -vt 0.884615 0.403226 -vt 0.871795 0.403226 -vt 0.871795 0.467742 -vt 0.884615 0.532258 -vt 0.897436 0.467742 -vt 0.897436 0.532258 -vt 0.884615 0.629032 -vt 0.897436 0.629032 -vt 0.871795 0.629032 -vt 0.858974 0.629032 -vt 0.871795 0.532258 -vt 0.846154 0.629032 -vt 0.858974 0.532258 -vt 0.884615 0.467742 -vt 0.858974 0.467742 -vt 0.871795 0.467742 -vt 0.846154 0.532258 -vt 0.897436 0.338710 -vt 0.846154 0.403226 -vt 0.846154 0.395161 -vt 0.897436 0.451613 -vt 0.884615 0.467742 -vt 0.858974 0.467742 -vt 0.846154 0.467742 -vn 0.5000 -0.7071 -0.5000 -vn -0.7071 -0.0000 -0.7071 -vn 0.7071 -0.0000 0.7071 -vn -0.7039 0.0948 0.7039 -vn 0.7039 -0.0948 -0.7039 -vn -0.5000 0.7071 0.5000 -vn 0.0000 1.0000 0.0000 +f 679/1121/134 680/1122/134 681/1123/134 +f 682/1124/134 681/1123/134 683/1125/134 +f 683/1125/135 684/1126/135 685/1127/135 +f 680/1128/136 686/1129/136 681/1130/136 +f 685/1131/137 687/1132/137 680/1133/137 +f 681/1134/138 688/1135/138 683/1136/138 +f 689/1137/135 690/1138/135 679/1139/135 +f 690/1140/134 685/1127/134 680/1122/134 +f 691/1141/134 683/1125/134 685/1127/134 +f 686/1142/139 692/1143/139 688/1144/139 +f 688/1144/139 693/1145/139 684/1126/139 +f 684/1126/139 694/1146/139 687/1147/139 +f 687/1147/139 689/1148/139 686/1142/139 +f 695/1149/134 696/1150/134 697/1151/134 +f 694/1152/138 691/1153/138 690/1154/138 +f 693/1155/136 682/1156/136 691/1157/136 +f 692/1158/137 679/1159/137 682/1160/137 +f 698/1161/137 699/1162/137 700/1163/137 +f 699/1164/136 701/1165/136 700/1166/136 +f 702/1167/135 703/1168/135 704/1169/135 +f 705/1170/140 700/1166/140 701/1165/140 +f 704/1171/138 706/1172/138 707/1173/138 +f 705/1174/138 701/1175/138 708/1176/138 +f 701/1175/136 709/1177/136 708/1176/136 +f 709/1178/141 704/1171/141 703/1179/141 +f 710/1180/134 711/1181/134 712/1182/134 +f 713/1183/136 711/1181/136 714/1184/136 +f 714/1185/137 715/1186/137 716/1187/137 +f 717/1188/138 712/1182/138 713/1189/138 +f 716/1190/135 710/1180/135 717/1191/135 +f 718/1192/134 719/1193/134 720/1194/134 +f 721/1195/134 722/1196/134 723/1197/134 +f 724/1198/134 725/1199/134 726/1200/134 +f 727/1201/134 728/1202/134 729/1203/134 +f 730/1204/135 724/1198/135 731/1205/135 +f 732/1206/137 733/1207/137 734/1208/137 +f 735/1209/137 736/1210/137 730/1204/137 +f 737/1211/136 722/1212/136 738/1213/136 +f 739/1214/136 728/1215/136 740/1216/136 +f 741/1217/138 723/1218/138 737/1211/138 +f 742/1219/138 729/1220/138 739/1214/138 +f 743/1221/135 721/1195/135 741/1222/135 +f 744/1223/135 727/1201/135 742/1224/135 +f 738/1213/137 745/1225/137 743/1221/137 +f 746/1226/136 719/1227/136 732/1206/136 +f 740/1216/137 747/1228/137 744/1223/137 +f 748/1229/136 725/1230/136 735/1209/136 +f 749/1231/138 720/1232/138 746/1226/138 +f 731/1233/138 726/1234/138 748/1229/138 +f 734/1208/135 718/1192/135 749/1235/135 +f 750/1236/138 751/1237/138 752/1238/138 +f 753/1239/137 754/1240/137 755/1241/137 +f 756/1242/135 757/1243/135 758/1244/135 +f 759/1245/136 760/1246/136 761/1247/136 +f 762/1248/134 763/1249/134 764/1250/134 +f 765/1251/134 766/1252/134 767/1253/134 +f 768/1254/135 762/1248/135 769/1255/135 +f 770/1256/136 763/1257/136 771/1258/136 +f 772/1259/137 773/1260/137 774/1261/137 +f 775/1262/138 767/1263/138 776/1264/138 +f 771/1258/137 777/1265/137 768/1254/137 +f 769/1266/138 764/1267/138 770/1256/138 +f 774/1261/135 765/1251/135 775/1268/135 +f 776/1264/136 766/1269/136 772/1259/136 +f 778/1270/138 779/1271/138 780/1272/138 +f 779/1273/135 781/1274/135 780/1275/135 +f 782/1276/136 783/1277/136 784/1278/136 +f 785/1279/142 781/1274/142 786/1280/142 +f 784/1281/137 787/1282/137 788/1283/137 +f 786/1284/137 781/1285/137 789/1286/137 +f 781/1285/135 790/1287/135 789/1286/135 +f 790/1288/143 784/1281/143 783/1289/143 +f 791/1290/136 792/1291/136 793/1292/136 +f 792/1293/138 794/1294/138 793/1295/138 +f 795/1296/137 796/1297/137 797/1298/137 +f 798/1299/141 794/1294/141 799/1300/141 +f 797/1301/135 800/1302/135 801/1303/135 +f 799/1304/135 794/1305/135 802/1306/135 +f 794/1305/138 803/1307/138 802/1306/138 +f 803/1308/142 797/1301/142 796/1309/142 +f 804/1310/135 805/1311/135 806/1312/135 +f 805/1313/137 807/1314/137 806/1315/137 +f 808/1316/138 809/1317/138 810/1318/138 +f 811/1319/143 806/1315/143 807/1314/143 +f 810/1320/136 812/1321/136 813/1322/136 +f 811/1323/136 807/1324/136 814/1325/136 +f 807/1324/137 815/1326/137 814/1325/137 +f 815/1327/140 810/1320/140 809/1328/140 +f 816/1329/137 817/1330/137 818/1331/137 +f 819/1332/138 820/1333/138 821/1334/138 +f 822/1335/136 823/1336/136 824/1337/136 +f 825/1338/135 826/1339/135 827/1340/135 +f 679/1121/134 690/1140/134 680/1122/134 +f 682/1124/134 679/1121/134 681/1123/134 +f 683/1125/135 688/1144/135 684/1126/135 +f 680/1128/136 687/1341/136 686/1129/136 +f 685/1131/137 684/1342/137 687/1132/137 +f 681/1134/138 686/1343/138 688/1135/138 +f 689/1137/135 694/1344/135 690/1138/135 +f 690/1140/134 691/1141/134 685/1127/134 +f 691/1141/134 682/1124/134 683/1125/134 +f 686/1142/139 689/1148/139 692/1143/139 +f 688/1144/139 692/1143/139 693/1145/139 +f 684/1126/139 693/1145/139 694/1146/139 +f 687/1147/139 694/1146/139 689/1148/139 +f 695/1149/134 828/1345/134 696/1150/134 +f 694/1152/138 693/1346/138 691/1153/138 +f 693/1155/136 692/1347/136 682/1156/136 +f 692/1158/137 689/1348/137 679/1159/137 +f 829/1349/137 702/1167/137 700/1163/137 +f 702/1167/137 698/1161/137 700/1163/137 +f 699/1164/136 706/1172/136 701/1165/136 +f 707/1350/135 698/1161/135 704/1169/135 +f 698/1161/135 702/1167/135 704/1169/135 +f 705/1170/140 829/1351/140 700/1166/140 +f 704/1171/138 701/1165/138 706/1172/138 +f 709/1178/141 701/1165/141 704/1171/141 +f 710/1180/134 715/1186/134 711/1181/134 +f 713/1183/136 712/1182/136 711/1181/136 +f 714/1185/137 711/1181/137 715/1186/137 +f 717/1188/138 710/1180/138 712/1182/138 +f 716/1190/135 715/1186/135 710/1180/135 +f 718/1192/134 733/1207/134 719/1193/134 +f 721/1195/134 745/1225/134 722/1196/134 +f 724/1198/134 736/1210/134 725/1199/134 +f 727/1201/134 747/1228/134 728/1202/134 +f 730/1204/135 736/1210/135 724/1198/135 +f 732/1206/137 719/1227/137 733/1207/137 +f 735/1209/137 725/1230/137 736/1210/137 +f 737/1211/136 723/1218/136 722/1212/136 +f 739/1214/136 729/1220/136 728/1215/136 +f 741/1217/138 721/1352/138 723/1218/138 +f 742/1219/138 727/1353/138 729/1220/138 +f 743/1221/135 745/1225/135 721/1195/135 +f 744/1223/135 747/1228/135 727/1201/135 +f 738/1213/137 722/1212/137 745/1225/137 +f 746/1226/136 720/1232/136 719/1227/136 +f 740/1216/137 728/1215/137 747/1228/137 +f 748/1229/136 726/1234/136 725/1230/136 +f 749/1231/138 718/1354/138 720/1232/138 +f 731/1233/138 724/1355/138 726/1234/138 +f 734/1208/135 733/1207/135 718/1192/135 +f 750/1236/138 830/1356/138 751/1237/138 +f 753/1239/137 831/1357/137 754/1240/137 +f 756/1242/135 832/1358/135 757/1243/135 +f 759/1245/136 833/1359/136 760/1246/136 +f 762/1248/134 777/1265/134 763/1249/134 +f 765/1251/134 773/1260/134 766/1252/134 +f 768/1254/135 777/1265/135 762/1248/135 +f 770/1256/136 764/1267/136 763/1257/136 +f 772/1259/137 766/1269/137 773/1260/137 +f 775/1262/138 765/1360/138 767/1263/138 +f 771/1258/137 763/1257/137 777/1265/137 +f 769/1266/138 762/1361/138 764/1267/138 +f 774/1261/135 773/1260/135 765/1251/135 +f 776/1264/136 767/1263/136 766/1269/136 +f 785/1362/138 782/1276/138 780/1272/138 +f 782/1276/138 778/1270/138 780/1272/138 +f 779/1273/135 787/1282/135 781/1274/135 +f 788/1363/136 778/1270/136 784/1278/136 +f 778/1270/136 782/1276/136 784/1278/136 +f 785/1279/142 780/1275/142 781/1274/142 +f 784/1281/137 781/1274/137 787/1282/137 +f 790/1288/143 781/1274/143 784/1281/143 +f 798/1364/136 795/1296/136 793/1292/136 +f 795/1296/136 791/1290/136 793/1292/136 +f 792/1293/138 800/1302/138 794/1294/138 +f 801/1365/137 791/1290/137 797/1298/137 +f 791/1290/137 795/1296/137 797/1298/137 +f 798/1299/141 793/1295/141 794/1294/141 +f 797/1301/135 794/1294/135 800/1302/135 +f 803/1308/142 794/1294/142 797/1301/142 +f 834/1366/135 808/1316/135 806/1312/135 +f 808/1316/135 804/1310/135 806/1312/135 +f 805/1313/137 812/1321/137 807/1314/137 +f 813/1367/138 804/1310/138 810/1318/138 +f 804/1310/138 808/1316/138 810/1318/138 +f 811/1319/143 834/1368/143 806/1315/143 +f 810/1320/136 807/1314/136 812/1321/136 +f 815/1327/140 807/1314/140 810/1320/140 +f 816/1329/137 835/1369/137 817/1330/137 +f 819/1332/138 836/1370/138 820/1333/138 +f 822/1335/136 837/1371/136 823/1336/136 +f 825/1338/135 838/1372/135 826/1339/135 +o Micro_Erector +v -0.125000 3.250000 -1.625000 +v 0.125000 3.250000 -1.375000 +v -0.125000 3.250000 -1.375000 +v 0.125000 6.250000 -1.375000 +v -0.125000 6.000000 -1.625000 +v -0.125000 6.250000 -1.375000 +v 0.125000 6.000000 -1.625000 +v 0.125000 3.250000 -1.625000 +v -0.625000 6.000000 -0.125000 +v -0.125000 6.000000 -0.375000 +v -0.375000 6.000000 -0.125000 +v -0.125000 6.250000 -0.625000 +v -0.125000 6.000000 -0.625000 +v 0.125000 6.250000 -1.375000 +v 0.125000 6.000000 -0.625000 +v 0.125000 6.000000 -1.375000 +v -0.125000 6.250000 -1.375000 +v 0.125000 6.250000 -0.625000 +v -0.125000 6.000000 -1.375000 +v 0.375000 6.250000 0.375000 +v 0.625000 6.000000 0.125000 +v 0.625000 6.250000 0.125000 +v 0.375000 6.000000 -0.125000 +v 0.375000 6.000000 0.375000 +v 0.625000 6.250000 -0.125000 +v 0.625000 6.000000 -0.125000 +v 0.375000 6.250000 -0.125000 +v -0.375000 6.250000 -0.125000 +v -0.625000 6.250000 -0.125000 +v -0.625000 6.250000 0.125000 +v -0.375000 6.000000 0.375000 +v -0.375000 6.250000 0.375000 +v -0.625000 6.000000 0.125000 +v -0.125000 6.250000 -0.375000 +v 0.125000 6.000000 -0.375000 +v 0.125000 6.250000 -0.375000 +v 0.000000 6.000000 -0.625000 +v 0.000000 5.500000 -1.375000 +v 0.000000 6.250000 -0.625000 +v 0.000000 4.250000 -0.625000 +v 0.000000 4.750000 -1.375000 +v 0.000000 5.000000 -1.375000 +v 0.125000 4.000000 -0.625000 +v -0.125000 4.000000 -0.375000 +v -0.125000 4.000000 -0.625000 +v -0.125000 4.250000 -0.375000 +v 0.125000 4.000000 -0.375000 +v 0.125000 4.250000 -0.375000 +v -0.625000 4.000000 -0.125000 +v -0.625000 4.250000 0.125000 +v -0.625000 4.250000 -0.125000 +v -0.375000 4.250000 -0.125000 +v -0.375000 4.250000 0.375000 +v -0.375000 4.000000 0.375000 +v -0.375000 4.000000 -0.125000 +v -0.625000 4.000000 0.125000 +v -0.125000 4.250000 -0.625000 +v 0.375000 4.000000 -0.125000 +v 0.375000 4.250000 0.375000 +v 0.375000 4.250000 -0.125000 +v 0.625000 4.250000 0.125000 +v 0.625000 4.250000 -0.125000 +v 0.625000 4.000000 0.125000 +v 0.625000 4.000000 -0.125000 +v 0.375000 4.000000 0.375000 +v 0.125000 4.000000 -1.375000 +v -0.125000 4.000000 -1.375000 +v -0.125000 4.250000 -1.375000 +v 0.125000 4.250000 -0.625000 +v 0.125000 4.250000 -1.375000 +v 0.000000 5.500000 -1.375000 +v 0.000000 6.000000 -0.625000 +v 0.000000 6.250000 -0.625000 +v 0.000000 4.750000 -1.375000 +v 0.000000 4.250000 -0.625000 +v 0.000000 5.000000 -1.375000 +v 0.000000 5.250000 -1.375000 +v 0.000000 4.000000 -0.625000 +v 0.000000 5.250000 -1.375000 +v 0.000000 4.000000 -0.625000 +vt 0.800000 0.448276 +vt 0.777778 0.413793 +vt 0.800000 0.413793 +vt 0.777778 0.862069 +vt 0.800000 0.827586 +vt 0.800000 0.862069 +vt 0.777778 0.827586 +vt 0.777778 0.448276 +vt 0.844444 0.448276 +vt 0.822222 0.862069 +vt 0.822222 0.448276 +vt 0.755556 0.448276 +vt 0.755556 0.862069 +vt 0.866667 0.172414 +vt 0.911111 0.137931 +vt 0.888889 0.172414 +vt 1.000000 0.172414 +vt 0.977778 0.103448 +vt 1.000000 0.103448 +vt 0.866667 -0.000000 +vt 0.844444 0.103448 +vt 0.844444 -0.000000 +vt 0.933333 0.000000 +vt 0.911111 0.103448 +vt 0.911111 0.000000 +vt 1.000000 -0.000000 +vt 0.977778 -0.000000 +vt 0.933333 -0.000000 +vt 0.911111 0.103448 +vt 0.911111 -0.000000 +vt 0.866667 0.241379 +vt 0.844444 0.206897 +vt 0.866667 0.206897 +vt 0.955556 0.172414 +vt 0.977778 0.206897 +vt 0.955556 0.241379 +vt 0.866667 0.172414 +vt 0.844444 0.172414 +vt 0.888889 0.172414 +vt 0.844444 0.310345 +vt 0.866667 0.310345 +vt 0.955556 0.172414 +vt 0.933333 0.103448 +vt 0.977778 0.172414 +vt 0.977778 0.206897 +vt 1.000000 0.241379 +vt 0.977778 0.241379 +vt 0.866667 0.206897 +vt 0.977778 0.310345 +vt 1.000000 0.310345 +vt 0.955556 0.241379 +vt 0.933333 0.137931 +vt 0.911111 0.172414 +vt 0.911111 0.137931 +vt 0.933333 0.103448 +vt 1.000000 0.344828 +vt 0.866667 0.344828 +vt 0.866667 0.103448 +vt 0.933333 0.137931 +vt 0.977778 0.172414 +vt 0.444444 0.000000 +vt 0.511111 0.034483 +vt 0.444444 0.034483 +vt 0.444444 0.034483 +vt 0.511111 0.000000 +vt 0.511111 0.034483 +vt 0.933333 0.103448 +vt 0.911111 0.137931 +vt 0.911111 0.103448 +vt 0.933333 0.137931 +vt 0.911111 0.172414 +vt 0.911111 0.137931 +vt 1.000000 0.172414 +vt 0.977778 0.206897 +vt 0.977778 0.172414 +vt 0.955556 0.172414 +vt 0.955556 0.241379 +vt 0.977778 0.310345 +vt 1.000000 0.241379 +vt 1.000000 0.310345 +vt 0.888889 0.172414 +vt 0.866667 0.206897 +vt 0.866667 0.172414 +vt 0.977778 0.241379 +vt 0.933333 0.103448 +vt 0.844444 0.310345 +vt 0.866667 0.241379 +vt 0.866667 0.310345 +vt 0.888889 0.172414 +vt 0.866667 0.206897 +vt 0.866667 0.172414 +vt 0.844444 0.206897 +vt 0.844444 0.172414 +vt 0.955556 0.172414 +vt 0.977778 0.206897 +vt 0.955556 0.241379 +vt 0.933333 -0.000000 +vt 0.911111 -0.000000 +vt 1.000000 -0.000000 +vt 0.977778 0.103448 +vt 0.977778 -0.000000 +vt 0.933333 0.000000 +vt 0.911111 0.103448 +vt 0.911111 0.000000 +vt 0.866667 -0.000000 +vt 0.844444 0.103448 +vt 0.844444 -0.000000 +vt 1.000000 0.103448 +vt 0.511111 0.034483 +vt 0.444444 0.000000 +vt 0.444444 0.034483 +vt 0.511111 0.000000 +vt 0.444444 0.034483 +vt 0.511111 0.034483 +vt 1.000000 0.344828 +vt 0.866667 0.344828 +vt 0.866667 0.103448 +vt 0.933333 0.137931 +vt 0.977778 0.172414 +vt 0.844444 0.862069 +vt 0.844444 0.241379 +vt 0.888889 0.241379 +vt 1.000000 0.206897 +vt 0.888889 0.241379 +vt 0.933333 0.172414 +vt 0.977778 0.344828 +vt 0.844444 0.344828 +vt 0.511111 0.000000 +vt 0.444444 -0.000000 +vt 0.933333 0.172414 +vt 1.000000 0.206897 +vt 0.888889 0.241379 +vt 0.844444 0.241379 +vt 0.888889 0.241379 +vt 0.511111 0.000000 +vt 0.444444 -0.000000 +vt 0.977778 0.344828 +vt 0.844444 0.344828 vn 0.0000 -1.0000 0.0000 -vn 0.5000 0.7071 -0.5000 -vn 0.7071 0.0000 -0.7071 -vn -0.7071 0.0000 0.7071 -vn -0.5000 -0.7071 0.5000 -s off -f 554/669/24 549/670/24 550/671/24 -f 546/672/25 552/673/25 550/674/25 -f 545/675/26 551/676/26 547/677/26 -f 547/677/27 552/673/27 548/678/27 -f 546/679/28 549/680/28 545/675/28 -f 557/681/25 560/682/25 562/683/25 -f 556/684/25 550/685/25 552/673/25 -f 551/676/29 556/684/29 552/673/29 -f 553/686/26 551/676/26 549/670/26 -f 556/684/30 558/687/30 557/681/30 -f 554/688/31 561/689/31 553/690/31 -f 561/689/26 558/687/26 555/691/26 -f 559/692/32 557/681/32 558/687/32 -f 564/693/25 570/694/25 566/695/25 -f 560/696/25 566/695/25 562/697/25 -f 559/698/33 564/693/33 560/696/33 -f 561/699/26 563/700/26 559/698/26 -f 562/701/34 565/702/34 561/699/34 -f 563/700/32 568/703/32 564/693/32 -f 563/700/26 569/704/26 567/705/26 -f 566/706/35 569/704/35 565/702/35 -f 554/669/24 553/686/24 549/670/24 -f 546/672/25 548/678/25 552/673/25 -f 545/675/26 549/680/26 551/676/26 -f 547/677/27 551/676/27 552/673/27 -f 546/679/28 550/707/28 549/680/28 -f 562/683/25 554/708/25 556/684/25 -f 556/684/25 557/681/25 562/683/25 -f 556/684/25 554/709/25 550/685/25 -f 551/676/29 555/691/29 556/684/29 -f 553/686/26 555/691/26 551/676/26 -f 556/684/30 555/691/30 558/687/30 -f 554/688/31 562/710/31 561/689/31 -f 555/691/26 553/690/26 561/689/26 -f 561/689/26 559/711/26 558/687/26 -f 559/692/32 560/712/32 557/681/32 -f 564/693/25 568/703/25 570/694/25 -f 560/696/25 564/693/25 566/695/25 -f 559/698/33 563/700/33 564/693/33 -f 561/699/26 565/702/26 563/700/26 -f 562/701/34 566/706/34 565/702/34 -f 563/700/32 567/705/32 568/703/32 -f 563/700/26 565/702/26 569/704/26 -f 566/706/35 570/713/35 569/704/35 -o Atlas_Pivot -v 0.750000 1.500000 -3.750000 -v 1.250000 1.500000 -3.750000 -v 0.750000 1.500000 -4.250000 -v 1.250000 1.500000 -4.250000 -v -1.250000 1.500000 -3.750000 -v -0.750000 1.500000 -3.750000 -v -1.250000 1.500000 -4.250000 -v -0.750000 1.500000 -4.250000 -v 0.750000 2.000000 -2.250000 -v 1.250000 2.000000 -2.250000 -v 0.750000 2.000000 -2.750000 -v 1.250000 2.000000 -2.750000 -v -1.250000 2.000000 -2.250000 -v -0.750000 2.000000 -2.250000 -v -1.250000 2.000000 -2.750000 -v -0.750000 2.000000 -2.750000 -v 0.750000 3.500000 -4.250000 -v 0.750000 3.500000 -3.750000 -v 1.250000 3.500000 -3.750000 -v 1.250000 3.500000 -4.250000 -v -1.250000 3.500000 -4.250000 -v -1.250000 3.500000 -3.750000 -v -0.750000 3.500000 -3.750000 -v -0.750000 3.500000 -4.250000 -v 0.750000 3.500000 -2.750000 -v 0.750000 3.500000 -2.250000 -v 1.250000 3.500000 -2.250000 -v 1.250000 3.500000 -2.750000 -v -1.250000 3.500000 -2.750000 -v -1.250000 3.500000 -2.250000 -v -0.750000 3.500000 -2.250000 -v -0.750000 3.500000 -2.750000 -v 0.812500 3.500000 -3.812500 -v 1.187500 3.500000 -3.812500 -v 0.812500 3.500000 -4.187500 -v 1.187500 3.500000 -4.187500 -v 0.812500 4.500000 -3.812500 -v 1.187500 4.500000 -3.812500 -v 0.812500 4.500000 -4.187500 -v 1.187500 4.500000 -4.187500 -v 0.812500 3.500000 -2.312500 -v 1.187500 3.500000 -2.312500 -v 0.812500 3.500000 -2.687500 -v 1.187500 3.500000 -2.687500 -v 0.812500 4.500000 -2.312500 -v 1.187500 4.500000 -2.312500 -v 0.812500 4.500000 -2.687500 -v 1.187500 4.500000 -2.687500 -v -1.187500 3.500000 -3.812500 -v -0.812500 3.500000 -3.812500 -v -1.187500 3.500000 -4.187500 -v -0.812500 3.500000 -4.187500 -v -1.187500 4.500000 -3.812500 -v -0.812500 4.500000 -3.812500 -v -1.187500 4.500000 -4.187500 -v -0.812500 4.500000 -4.187500 -v -1.187500 3.500000 -2.312500 -v -0.812500 3.500000 -2.312500 -v -1.187500 3.500000 -2.687500 -v -0.812500 3.500000 -2.687500 -v -1.187500 4.500000 -2.312500 -v -0.812500 4.500000 -2.312500 -v -1.187500 4.500000 -2.687500 -v -0.812500 4.500000 -2.687500 -v 1.000000 3.000000 -2.750000 -v 1.000000 2.500000 -2.750000 -v 1.000000 3.000000 -3.750000 -v 1.000000 2.500000 -3.750000 -v -1.000000 3.000000 -2.750000 -v -1.000000 2.500000 -2.750000 -v -1.000000 3.000000 -3.750000 -v -1.000000 2.500000 -3.750000 -v 0.750000 3.000000 -4.000000 -v 0.750000 2.500000 -4.000000 -v -0.750000 3.000000 -4.000000 -v -0.750000 2.500000 -4.000000 -v 0.750000 3.000000 -2.500000 -v 0.750000 2.500000 -2.500000 -v -0.750000 3.000000 -2.500000 -v -0.750000 2.500000 -2.500000 -v 1.000000 3.000000 -2.750000 -v 1.000000 2.500000 -2.750000 -v 1.000000 3.000000 -3.750000 -v 1.000000 2.500000 -3.750000 -v -1.000000 3.000000 -2.750000 -v -1.000000 2.500000 -2.750000 -v -1.000000 3.000000 -3.750000 -v -1.000000 2.500000 -3.750000 -v 0.750000 3.000000 -4.000000 -v 0.750000 2.500000 -4.000000 -v -0.750000 3.000000 -4.000000 -v -0.750000 2.500000 -4.000000 -v 0.750000 3.000000 -2.500000 -v 0.750000 2.500000 -2.500000 -v -0.750000 3.000000 -2.500000 -v -0.750000 2.500000 -2.500000 -vt 0.769231 0.967742 -vt 0.750000 0.903226 -vt 0.769231 0.903226 -vt 0.750000 0.967742 -vt 0.730769 0.903226 -vt 0.692308 0.870968 -vt 0.717949 0.903226 -vt 0.692308 0.903226 -vt 0.692308 0.870968 -vt 0.717949 0.903226 -vt 0.692308 0.903226 -vt 0.692308 0.870968 -vt 0.717949 0.838710 -vt 0.717949 0.870968 -vt 0.692308 0.870968 -vt 0.717949 0.838710 -vt 0.717949 0.870968 -vt 0.769231 0.709677 -vt 0.743590 0.838710 -vt 0.743590 0.709677 -vt 0.717949 0.709677 -vt 0.692308 0.838710 -vt 0.692308 0.709677 -vt 0.769231 0.709677 -vt 0.743590 0.838710 -vt 0.743590 0.709677 -vt 0.794872 0.709677 -vt 0.769231 0.838710 -vt 0.717949 0.709677 -vt 0.794872 0.709677 -vt 0.769231 0.838710 -vt 0.692308 0.838710 -vt 0.692308 0.709677 -vt 0.692308 0.870968 -vt 0.717949 0.838710 -vt 0.717949 0.870968 -vt 0.692308 0.870968 -vt 0.717949 0.838710 -vt 0.717949 0.870968 -vt 0.794872 0.741935 -vt 0.769231 0.838710 -vt 0.769231 0.741935 -vt 0.743590 0.741935 -vt 0.717949 0.741935 -vt 0.794872 0.741935 -vt 0.769231 0.838710 -vt 0.769231 0.741935 -vt 0.743590 0.741935 -vt 0.717949 0.741935 -vt 0.692308 0.838710 -vt 0.692308 0.741935 -vt 0.743590 0.838710 -vt 0.692308 0.838710 -vt 0.692308 0.741935 -vt 0.743590 0.838710 -vt 0.730769 0.967742 -vt 0.711538 0.903226 -vt 0.711538 0.967742 -vt 0.692308 0.903226 -vt 0.769231 0.967742 -vt 0.750000 0.903226 -vt 0.769231 0.903226 -vt 0.750000 0.967742 -vt 0.730769 0.903226 -vt 0.730769 0.967742 -vt 0.711538 0.903226 -vt 0.711538 0.967742 -vt 0.692308 0.903226 -vt 0.769231 0.967742 -vt 0.750000 0.903226 -vt 0.769231 0.903226 -vt 0.750000 0.967742 -vt 0.730769 0.903226 -vt 0.730769 0.967742 -vt 0.711538 0.903226 -vt 0.711538 0.967742 -vt 0.692308 0.903226 -vt 0.769231 0.967742 -vt 0.750000 0.903226 -vt 0.769231 0.903226 -vt 0.750000 0.967742 -vt 0.730769 0.903226 -vt 0.730769 0.967742 -vt 0.711538 0.903226 -vt 0.711538 0.967742 -vt 0.692308 0.903226 -vt 0.743590 0.870968 -vt 0.794872 0.903226 -vt 0.743590 0.903226 -vt 0.743590 0.903226 -vt 0.794872 0.870968 -vt 0.794872 0.903226 -vt 0.717949 0.838710 -vt 0.794872 0.870968 -vt 0.717949 0.870968 -vt 0.717949 0.870968 -vt 0.794872 0.838710 -vt 0.794872 0.870968 -vt 0.794872 0.903226 -vt 0.743590 0.870968 -vt 0.743590 0.903226 -vt 0.794872 0.870968 -vt 0.743590 0.903226 -vt 0.794872 0.903226 -vt 0.794872 0.870968 -vt 0.717949 0.838710 -vt 0.717949 0.870968 -vt 0.794872 0.838710 -vt 0.717949 0.870968 -vt 0.794872 0.870968 -vt 0.717949 0.870968 -vt 0.717949 0.870968 -vt 0.794872 0.838710 -vt 0.794872 0.838710 -vt 0.794872 0.838710 -vt 0.794872 0.838710 -vt 0.692308 0.967742 -vt 0.692308 0.967742 -vt 0.692308 0.967742 -vt 0.692308 0.967742 -vt 0.794872 0.870968 -vt 0.743590 0.870968 -vt 0.794872 0.838710 -vt 0.717949 0.838710 -vt 0.794872 0.870968 -vt 0.743590 0.870968 -vt 0.794872 0.838710 -vt 0.717949 0.838710 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 0.0000 +vn 0.0000 0.7071 -0.7071 vn 0.0000 0.0000 -1.0000 -vn -1.0000 0.0000 0.0000 -s off -f 610/714/36 604/715/36 606/716/36 -f 608/717/37 603/718/37 604/715/37 -f 581/719/38 580/720/38 579/721/38 -f 585/722/38 584/723/38 583/724/38 -f 589/725/39 587/726/39 588/727/39 -f 593/728/39 591/729/39 592/730/39 -f 576/731/37 592/732/37 575/733/37 -f 573/734/40 590/735/40 574/736/40 -f 572/737/37 588/738/37 571/739/37 -f 578/740/36 593/741/36 576/731/36 -f 575/733/41 591/729/41 577/742/41 -f 574/743/36 589/744/36 572/737/36 -f 571/739/41 587/726/41 573/734/41 -f 577/742/40 594/745/40 578/746/40 -f 597/747/39 595/748/39 596/749/39 -f 601/750/39 599/751/39 600/752/39 -f 586/753/36 601/754/36 584/755/36 -f 583/756/41 599/751/41 585/757/41 -f 582/758/36 597/759/36 580/760/36 -f 579/761/41 595/748/41 581/762/41 -f 585/757/40 602/763/40 586/764/40 -f 584/755/37 600/765/37 583/756/37 -f 581/762/40 598/766/40 582/767/40 -f 580/760/37 596/768/37 579/761/37 -f 607/769/41 605/770/41 603/718/41 -f 609/771/40 606/772/40 605/770/40 -f 618/773/36 612/774/36 614/775/36 -f 616/776/37 611/777/37 612/774/37 -f 615/778/41 613/779/41 611/777/41 -f 617/780/40 614/781/40 613/779/40 -f 626/782/36 620/783/36 622/784/36 -f 624/785/37 619/786/37 620/783/37 -f 623/787/41 621/788/41 619/786/41 -f 625/789/40 622/790/40 621/788/40 -f 634/791/36 628/792/36 630/793/36 -f 632/794/37 627/795/37 628/792/37 -f 631/796/41 629/797/41 627/795/41 -f 633/798/40 630/799/40 629/797/40 -f 636/800/36 637/801/36 635/802/36 -f 641/803/41 640/804/41 639/805/41 -f 644/806/40 645/807/40 643/808/40 -f 649/809/37 648/810/37 647/811/37 -f 653/812/41 652/813/41 651/814/41 -f 656/815/36 657/816/36 655/817/36 -f 661/818/37 660/819/37 659/820/37 -f 664/821/40 665/822/40 663/823/40 -f 610/714/36 608/717/36 604/715/36 -f 608/717/37 607/769/37 603/718/37 -f 581/719/38 582/824/38 580/720/38 -f 585/722/38 586/825/38 584/723/38 -f 589/725/39 590/735/39 587/726/39 -f 593/728/39 594/745/39 591/729/39 -f 576/731/37 593/741/37 592/732/37 -f 573/734/40 587/726/40 590/735/40 -f 572/737/37 589/744/37 588/738/37 -f 578/740/36 594/826/36 593/741/36 -f 575/733/41 592/732/41 591/729/41 -f 574/743/36 590/827/36 589/744/36 -f 571/739/41 588/738/41 587/726/41 -f 577/742/40 591/729/40 594/745/40 -f 597/747/39 598/766/39 595/748/39 -f 601/750/39 602/763/39 599/751/39 -f 586/753/36 602/828/36 601/754/36 -f 583/756/41 600/765/41 599/751/41 -f 582/758/36 598/829/36 597/759/36 -f 579/761/41 596/768/41 595/748/41 -f 585/757/40 599/751/40 602/763/40 -f 584/755/37 601/754/37 600/765/37 -f 581/762/40 595/748/40 598/766/40 -f 580/760/37 597/759/37 596/768/37 -f 607/769/41 609/771/41 605/770/41 -f 609/771/40 610/830/40 606/772/40 -f 618/773/36 616/776/36 612/774/36 -f 616/776/37 615/778/37 611/777/37 -f 615/778/41 617/780/41 613/779/41 -f 617/780/40 618/831/40 614/781/40 -f 626/782/36 624/785/36 620/783/36 -f 624/785/37 623/787/37 619/786/37 -f 623/787/41 625/789/41 621/788/41 -f 625/789/40 626/832/40 622/790/40 -f 634/791/36 632/794/36 628/792/36 -f 632/794/37 631/796/37 627/795/37 -f 631/796/41 633/798/41 629/797/41 -f 633/798/40 634/833/40 630/799/40 -f 636/800/36 638/834/36 637/801/36 -f 641/803/41 642/835/41 640/804/41 -f 644/806/40 646/836/40 645/807/40 -f 649/809/37 650/837/37 648/810/37 -f 653/812/41 654/838/41 652/813/41 -f 656/815/36 658/839/36 657/816/36 -f 661/818/37 662/840/37 660/819/37 -f 664/821/40 666/841/40 665/822/40 -o Atlas_Erector -v 0.750000 3.500000 -4.250000 -v 0.750000 3.500000 -3.750000 -v 1.250000 3.500000 -3.750000 -v 1.250000 3.500000 -4.250000 -v -1.250000 3.500000 -4.250000 -v -1.250000 3.500000 -3.750000 -v -0.750000 3.500000 -3.750000 -v -0.750000 3.500000 -4.250000 -v 0.750000 3.500000 -2.750000 -v 0.750000 3.500000 -2.250000 -v 1.250000 3.500000 -2.250000 -v 1.250000 3.500000 -2.750000 -v -1.250000 3.500000 -2.750000 -v -1.250000 3.500000 -2.250000 -v -0.750000 3.500000 -2.250000 -v -0.750000 3.500000 -2.750000 -v 0.750000 14.750000 -4.250000 -v 0.750000 14.750000 -3.750000 -v 1.250000 14.750000 -3.750000 -v 1.250000 14.750000 -4.250000 -v -1.250000 14.750000 -4.250000 -v -1.250000 14.750000 -3.750000 -v -0.750000 14.750000 -3.750000 -v -0.750000 14.750000 -4.250000 -v 0.750000 14.750000 -2.750000 -v 0.750000 14.750000 -2.250000 -v 1.250000 14.750000 -2.250000 -v 1.250000 14.750000 -2.750000 -v -1.250000 14.750000 -2.750000 -v -1.250000 14.750000 -2.250000 -v -0.750000 14.750000 -2.250000 -v -0.750000 14.750000 -2.750000 -v 0.750000 12.750000 -2.750000 -v 0.750000 12.750000 -2.250000 -v -0.750000 12.750000 -2.250000 -v -0.750000 12.750000 -2.750000 -v 0.750000 12.250000 -2.750000 -v 0.750000 12.250000 -2.250000 -v -0.750000 12.250000 -2.250000 -v -0.750000 12.250000 -2.750000 -v 0.625000 12.750000 -1.375000 -v -0.625000 12.750000 -1.375000 -v 0.625000 12.250000 -1.375000 -v -0.625000 12.250000 -1.375000 -v 0.625000 12.750000 -1.125000 -v -0.625000 12.750000 -1.125000 -v 0.625000 12.250000 -1.125000 -v -0.625000 12.250000 -1.125000 -v -1.375000 12.749999 -0.625000 -v -1.375000 12.749999 0.250000 -v -1.375000 12.249999 -0.625000 -v -1.375000 12.249999 0.250000 -v -1.125000 12.749999 -0.625000 -v -1.125000 12.749999 0.250000 -v -1.125000 12.249999 -0.625000 -v -1.125000 12.249999 0.250000 -v 1.375000 12.749999 0.250000 -v 1.375000 12.749999 -0.625000 -v 1.375000 12.249999 0.250000 -v 1.375000 12.249999 -0.625000 -v 1.125000 12.749999 0.250000 -v 1.125000 12.749999 -0.625000 -v 1.125000 12.249999 0.250000 -v 1.125000 12.249999 -0.625000 -v 0.750000 12.750000 -4.250000 -v 0.750000 12.750000 -3.750000 -v -0.750000 12.750000 -3.750000 -v -0.750000 12.750000 -4.250000 -v 0.750000 12.250000 -4.250000 -v 0.750000 12.250000 -3.750000 -v -0.750000 12.250000 -3.750000 -v -0.750000 12.250000 -4.250000 -v 0.187500 12.312500 -1.375000 -v 0.562500 12.312500 -1.375000 -v 0.187500 12.687500 -1.375000 -v 0.562500 12.687500 -1.375000 -v 0.187500 12.312500 -3.750000 -v 0.562500 12.312500 -3.750000 -v 0.187500 12.687500 -3.750000 -v 0.562500 12.687500 -3.750000 -v -0.562500 12.312500 -1.375000 -v -0.187500 12.312500 -1.375000 -v -0.562500 12.687500 -1.375000 -v -0.187500 12.687500 -1.375000 -v -0.562500 12.312500 -3.750000 -v -0.187500 12.312500 -3.750000 -v -0.562500 12.687500 -3.750000 -v -0.187500 12.687500 -3.750000 -v 0.750000 8.750000 -2.750000 -v 0.750000 8.750000 -2.250000 -v -0.750000 8.750000 -2.250000 -v -0.750000 8.750000 -2.750000 -v 0.750000 8.250000 -2.750000 -v 0.750000 8.250000 -2.250000 -v -0.750000 8.250000 -2.250000 -v -0.750000 8.250000 -2.750000 -v 0.625000 8.750000 -1.625000 -v -0.625000 8.750000 -1.625000 -v 0.625000 8.250000 -1.625000 -v -0.625000 8.250000 -1.625000 -v 0.625000 8.750000 -1.375000 -v -0.625000 8.750000 -1.375000 -v 0.625000 8.250000 -1.375000 -v -0.625000 8.250000 -1.375000 -v -1.375000 8.749999 -0.875000 -v -1.375000 8.749999 0.250000 -v -1.375000 8.249999 -0.875000 -v -1.375000 8.249999 0.250000 -v -1.125000 8.749999 -0.875000 -v -1.125000 8.749999 0.250000 -v -1.125000 8.249999 -0.875000 -v -1.125000 8.249999 0.250000 -v 1.375000 8.749999 0.250000 -v 1.375000 8.749999 -0.875000 -v 1.375000 8.249999 0.250000 -v 1.375000 8.249999 -0.875000 -v 1.125000 8.749999 0.250000 -v 1.125000 8.749999 -0.875000 -v 1.125000 8.249999 0.250000 -v 1.125000 8.249999 -0.875000 -v 0.750000 8.750000 -4.250000 -v 0.750000 8.750000 -3.750000 -v -0.750000 8.750000 -3.750000 -v -0.750000 8.750000 -4.250000 -v 0.750000 8.250000 -4.250000 -v 0.750000 8.250000 -3.750000 -v -0.750000 8.250000 -3.750000 -v -0.750000 8.250000 -4.250000 -v 0.187500 8.312500 -1.625000 -v 0.562500 8.312500 -1.625000 -v 0.187500 8.687500 -1.625000 -v 0.562500 8.687500 -1.625000 -v 0.187500 8.312500 -3.750000 -v 0.562500 8.312500 -3.750000 -v 0.187500 8.687500 -3.750000 -v 0.562500 8.687500 -3.750000 -v -0.562500 8.312500 -1.625000 -v -0.187500 8.312500 -1.625000 -v -0.562500 8.687500 -1.625000 -v -0.187500 8.687500 -1.625000 -v -0.562500 8.312500 -3.750000 -v -0.187500 8.312500 -3.750000 -v -0.562500 8.687500 -3.750000 -v -0.187500 8.687500 -3.750000 -v 0.750000 4.750000 -2.750000 -v 0.750000 4.750000 -2.250000 -v -0.750000 4.750000 -2.250000 -v -0.750000 4.750000 -2.750000 -v 0.750000 4.250000 -2.750000 -v 0.750000 4.250000 -2.250000 -v -0.750000 4.250000 -2.250000 -v -0.750000 4.250000 -2.750000 -v 0.625000 4.750000 -1.875000 -v -0.625000 4.750000 -1.875000 -v 0.625000 4.250000 -1.875000 -v -0.625000 4.250000 -1.875000 -v 0.625000 4.750000 -1.625000 -v -0.625000 4.750000 -1.625000 -v 0.625000 4.250000 -1.625000 -v -0.625000 4.250000 -1.625000 -v -1.375000 4.749999 -1.125000 -v -1.375000 4.749999 0.250000 -v -1.375000 4.249999 -1.125000 -v -1.375000 4.249999 0.250000 -v -1.125000 4.749999 -1.125000 -v -1.125000 4.749999 0.250000 -v -1.125000 4.249999 -1.125000 -v -1.125000 4.249999 0.250000 -v 1.375000 4.749999 0.250000 -v 1.375000 4.749999 -1.125000 -v 1.375000 4.249999 0.250000 -v 1.375000 4.249999 -1.125000 -v 1.125000 4.749999 0.250000 -v 1.125000 4.749999 -1.125000 -v 1.125000 4.249999 0.250000 -v 1.125000 4.249999 -1.125000 -v 0.750000 4.750000 -4.250000 -v 0.750000 4.750000 -3.750000 -v -0.750000 4.750000 -3.750000 -v -0.750000 4.750000 -4.250000 -v 0.750000 4.250000 -4.250000 -v 0.750000 4.250000 -3.750000 -v -0.750000 4.250000 -3.750000 -v -0.750000 4.250000 -4.250000 -v 0.187500 4.312500 -1.875000 -v 0.562500 4.312500 -1.875000 -v 0.187500 4.687500 -1.875000 -v 0.562500 4.687500 -1.875000 -v 0.187500 4.312500 -3.750000 -v 0.562500 4.312500 -3.750000 -v 0.187500 4.687500 -3.750000 -v 0.562500 4.687500 -3.750000 -v -0.562500 4.312500 -1.875000 -v -0.187500 4.312500 -1.875000 -v -0.562500 4.687500 -1.875000 -v -0.187500 4.687500 -1.875000 -v -0.562500 4.312500 -3.750000 -v -0.187500 4.312500 -3.750000 -v -0.562500 4.687500 -3.750000 -v -0.187500 4.687500 -3.750000 -v 0.750000 12.250000 -4.062500 -v 0.750000 11.750000 -4.062500 -v -0.750000 10.750000 -4.062500 -v -0.750000 10.250000 -4.062500 -v 0.750000 10.750000 -4.062500 -v 0.750000 10.250000 -4.062500 -v -0.750000 9.250000 -4.062500 -v -0.750000 8.750000 -4.062500 -v 0.750000 10.750000 -3.937500 -v 0.750000 10.250000 -3.937500 -v -0.750000 12.250000 -3.937500 -v -0.750000 11.750000 -3.937500 -v 0.750000 9.250000 -3.937500 -v 0.750000 8.750000 -3.937500 -v -0.750000 10.750000 -3.937500 -v -0.750000 10.250000 -3.937500 -v 0.750000 8.250000 -4.062500 -v 0.750000 7.750000 -4.062500 -v -0.750000 6.750000 -4.062500 -v -0.750000 6.250000 -4.062500 -v 0.750000 6.750000 -4.062500 -v 0.750000 6.250000 -4.062500 -v -0.750000 5.250000 -4.062500 -v -0.750000 4.750000 -4.062500 -v 0.750000 6.750000 -3.937500 -v 0.750000 6.250000 -3.937500 -v -0.750000 8.250000 -3.937500 -v -0.750000 7.750000 -3.937500 -v 0.750000 5.250000 -3.937500 -v 0.750000 4.750000 -3.937500 -v -0.750000 6.750000 -3.937500 -v -0.750000 6.250000 -3.937500 -v 0.750000 12.250000 -2.562500 -v 0.750000 11.750000 -2.562500 -v -0.750000 10.750000 -2.562500 -v -0.750000 10.250000 -2.562500 -v 0.750000 10.750000 -2.562500 -v 0.750000 10.250000 -2.562500 -v -0.750000 9.250000 -2.562500 -v -0.750000 8.750000 -2.562500 -v 0.750000 10.750000 -2.437500 -v 0.750000 10.250000 -2.437500 -v -0.750000 12.250000 -2.437500 -v -0.750000 11.750000 -2.437500 -v 0.750000 9.250000 -2.437500 -v 0.750000 8.750000 -2.437500 -v -0.750000 10.750000 -2.437500 -v -0.750000 10.250000 -2.437500 -v 0.750000 8.250000 -2.562500 -v 0.750000 7.750000 -2.562500 -v -0.750000 6.750000 -2.562500 -v -0.750000 6.250000 -2.562500 -v 0.750000 6.750000 -2.562500 -v 0.750000 6.250000 -2.562500 -v -0.750000 5.250000 -2.562500 -v -0.750000 4.750000 -2.562500 -v 0.750000 6.750000 -2.437500 -v 0.750000 6.250000 -2.437500 -v -0.750000 8.250000 -2.437500 -v -0.750000 7.750000 -2.437500 -v 0.750000 5.250000 -2.437500 -v 0.750000 4.750000 -2.437500 -v -0.750000 6.750000 -2.437500 -v -0.750000 6.250000 -2.437500 -v 0.750000 14.750000 -4.062500 -v 0.750000 14.250000 -4.062500 -v -0.750000 13.250000 -4.062500 -v -0.750000 12.750000 -4.062500 -v 0.750000 13.250000 -3.937500 -v 0.750000 12.750000 -3.937500 -v -0.750000 14.750000 -3.937500 -v -0.750000 14.250000 -3.937500 -v 0.750000 14.750000 -2.562500 -v 0.750000 14.250000 -2.562500 -v -0.750000 13.250000 -2.562500 -v -0.750000 12.750000 -2.562500 -v 0.750000 13.250000 -2.437500 -v 0.750000 12.750000 -2.437500 -v -0.750000 14.750000 -2.437500 -v -0.750000 14.250000 -2.437500 -v 1.062500 14.750000 -2.750000 -v 1.062500 14.250000 -2.750000 -v 1.062500 13.250000 -3.750000 -v 1.062500 12.750000 -3.750000 -v 0.937500 13.250000 -2.750000 -v 0.937500 12.750000 -2.750000 -v 0.937500 14.750000 -3.750000 -v 0.937500 14.250000 -3.750000 -v 1.062500 12.250000 -2.750000 -v 1.062500 11.750000 -2.750000 -v 1.062500 10.750000 -3.750000 -v 1.062500 10.250000 -3.750000 -v 0.937500 10.750000 -2.750000 -v 0.937500 10.250000 -2.750000 -v 0.937500 12.250000 -3.750000 -v 0.937500 11.750000 -3.750000 -v 1.062500 10.750000 -2.750000 -v 1.062500 10.250000 -2.750000 -v 1.062500 9.250000 -3.750000 -v 1.062500 8.750000 -3.750000 -v 0.937500 9.250000 -2.750000 -v 0.937500 8.750000 -2.750000 -v 0.937500 10.750000 -3.750000 -v 0.937500 10.250000 -3.750000 -v 1.062500 8.250000 -2.750000 -v 1.062500 7.750000 -2.750000 -v 1.062500 6.750000 -3.750000 -v 1.062500 6.250000 -3.750000 -v 0.937500 6.750000 -2.750000 -v 0.937500 6.250000 -2.750000 -v 0.937500 8.250000 -3.750000 -v 0.937500 7.750000 -3.750000 -v 1.062500 6.750000 -2.750000 -v 1.062500 6.250000 -2.750000 -v 1.062500 5.250000 -3.750000 -v 1.062500 4.750000 -3.750000 -v 0.937500 5.250000 -2.750000 -v 0.937500 4.750000 -2.750000 -v 0.937500 6.750000 -3.750000 -v 0.937500 6.250000 -3.750000 -v -0.937500 14.750000 -2.750000 -v -0.937500 14.250000 -2.750000 -v -0.937500 13.250000 -3.750000 -v -0.937500 12.750000 -3.750000 -v -1.062500 13.250000 -2.750000 -v -1.062500 12.750000 -2.750000 -v -1.062500 14.750000 -3.750000 -v -1.062500 14.250000 -3.750000 -v -0.937500 12.250000 -2.750000 -v -0.937500 11.750000 -2.750000 -v -0.937500 10.750000 -3.750000 -v -0.937500 10.250000 -3.750000 -v -1.062500 10.750000 -2.750000 -v -1.062500 10.250000 -2.750000 -v -1.062500 12.250000 -3.750000 -v -1.062500 11.750000 -3.750000 -v -0.937500 10.750000 -2.750000 -v -0.937500 10.250000 -2.750000 -v -0.937500 9.250000 -3.750000 -v -0.937500 8.750000 -3.750000 -v -1.062500 9.250000 -2.750000 -v -1.062500 8.750000 -2.750000 -v -1.062500 10.750000 -3.750000 -v -1.062500 10.250000 -3.750000 -v -0.937500 8.250000 -2.750000 -v -0.937500 7.750000 -2.750000 -v -0.937500 6.750000 -3.750000 -v -0.937500 6.250000 -3.750000 -v -1.062500 6.750000 -2.750000 -v -1.062500 6.250000 -2.750000 -v -1.062500 8.250000 -3.750000 -v -1.062500 7.750000 -3.750000 -v -0.937500 6.750000 -2.750000 -v -0.937500 6.250000 -2.750000 -v -0.937500 5.250000 -3.750000 -v -0.937500 4.750000 -3.750000 -v -1.062500 5.250000 -2.750000 -v -1.062500 4.750000 -2.750000 -v -1.062500 6.750000 -3.750000 -v -1.062500 6.250000 -3.750000 -v 0.750000 12.250000 -4.062500 -v 0.750000 11.750000 -4.062500 -v -0.750000 10.750000 -4.062500 -v -0.750000 10.250000 -4.062500 -v 0.750000 10.750000 -4.062500 -v 0.750000 10.250000 -4.062500 -v -0.750000 9.250000 -4.062500 -v -0.750000 8.750000 -4.062500 -v 0.750000 10.750000 -3.937500 -v 0.750000 10.250000 -3.937500 -v -0.750000 12.250000 -3.937500 -v -0.750000 11.750000 -3.937500 -v 0.750000 9.250000 -3.937500 -v 0.750000 8.750000 -3.937500 -v -0.750000 10.750000 -3.937500 -v -0.750000 10.250000 -3.937500 -v 0.750000 8.250000 -4.062500 -v 0.750000 7.750000 -4.062500 -v -0.750000 6.750000 -4.062500 -v -0.750000 6.250000 -4.062500 -v 0.750000 6.750000 -4.062500 -v 0.750000 6.250000 -4.062500 -v -0.750000 5.250000 -4.062500 -v -0.750000 4.750000 -4.062500 -v 0.750000 6.750000 -3.937500 -v 0.750000 6.250000 -3.937500 -v -0.750000 8.250000 -3.937500 -v -0.750000 7.750000 -3.937500 -v 0.750000 5.250000 -3.937500 -v 0.750000 4.750000 -3.937500 -v -0.750000 6.750000 -3.937500 -v -0.750000 6.250000 -3.937500 -v 0.750000 12.250000 -2.562500 -v 0.750000 11.750000 -2.562500 -v -0.750000 10.750000 -2.562500 -v -0.750000 10.250000 -2.562500 -v 0.750000 10.750000 -2.562500 -v 0.750000 10.250000 -2.562500 -v -0.750000 9.250000 -2.562500 -v -0.750000 8.750000 -2.562500 -v 0.750000 10.750000 -2.437500 -v 0.750000 10.250000 -2.437500 -v -0.750000 12.250000 -2.437500 -v -0.750000 11.750000 -2.437500 -v 0.750000 9.250000 -2.437500 -v 0.750000 8.750000 -2.437500 -v -0.750000 10.750000 -2.437500 -v -0.750000 10.250000 -2.437500 -v 0.750000 8.250000 -2.562500 -v 0.750000 7.750000 -2.562500 -v -0.750000 6.750000 -2.562500 -v -0.750000 6.250000 -2.562500 -v 0.750000 6.750000 -2.562500 -v 0.750000 6.250000 -2.562500 -v -0.750000 5.250000 -2.562500 -v -0.750000 4.750000 -2.562500 -v 0.750000 6.750000 -2.437500 -v 0.750000 6.250000 -2.437500 -v -0.750000 8.250000 -2.437500 -v -0.750000 7.750000 -2.437500 -v 0.750000 5.250000 -2.437500 -v 0.750000 4.750000 -2.437500 -v -0.750000 6.750000 -2.437500 -v -0.750000 6.250000 -2.437500 -v 0.750000 14.750000 -4.062500 -v 0.750000 14.250000 -4.062500 -v -0.750000 13.250000 -4.062500 -v -0.750000 12.750000 -4.062500 -v 0.750000 13.250000 -3.937500 -v 0.750000 12.750000 -3.937500 -v -0.750000 14.750000 -3.937500 -v -0.750000 14.250000 -3.937500 -v 0.750000 14.750000 -2.562500 -v 0.750000 14.250000 -2.562500 -v -0.750000 13.250000 -2.562500 -v -0.750000 12.750000 -2.562500 -v 0.750000 13.250000 -2.437500 -v 0.750000 12.750000 -2.437500 -v -0.750000 14.750000 -2.437500 -v -0.750000 14.250000 -2.437500 -v 1.062500 14.750000 -2.750000 -v 1.062500 14.250000 -2.750000 -v 1.062500 13.250000 -3.750000 -v 1.062500 12.750000 -3.750000 -v 0.937500 13.250000 -2.750000 -v 0.937500 12.750000 -2.750000 -v 0.937500 14.750000 -3.750000 -v 0.937500 14.250000 -3.750000 -v 1.062500 12.250000 -2.750000 -v 1.062500 11.750000 -2.750000 -v 1.062500 10.750000 -3.750000 -v 1.062500 10.250000 -3.750000 -v 0.937500 10.750000 -2.750000 -v 0.937500 10.250000 -2.750000 -v 0.937500 12.250000 -3.750000 -v 0.937500 11.750000 -3.750000 -v 1.062500 10.750000 -2.750000 -v 1.062500 10.250000 -2.750000 -v 1.062500 9.250000 -3.750000 -v 1.062500 8.750000 -3.750000 -v 0.937500 9.250000 -2.750000 -v 0.937500 8.750000 -2.750000 -v 0.937500 10.750000 -3.750000 -v 0.937500 10.250000 -3.750000 -v 1.062500 8.250000 -2.750000 -v 1.062500 7.750000 -2.750000 -v 1.062500 6.750000 -3.750000 -v 1.062500 6.250000 -3.750000 -v 0.937500 6.750000 -2.750000 -v 0.937500 6.250000 -2.750000 -v 0.937500 8.250000 -3.750000 -v 0.937500 7.750000 -3.750000 -v 1.062500 6.750000 -2.750000 -v 1.062500 6.250000 -2.750000 -v 1.062500 5.250000 -3.750000 -v 1.062500 4.750000 -3.750000 -v 0.937500 5.250000 -2.750000 -v 0.937500 4.750000 -2.750000 -v 0.937500 6.750000 -3.750000 -v 0.937500 6.250000 -3.750000 -v -0.937500 14.750000 -2.750000 -v -0.937500 14.250000 -2.750000 -v -0.937500 13.250000 -3.750000 -v -0.937500 12.750000 -3.750000 -v -1.062500 13.250000 -2.750000 -v -1.062500 12.750000 -2.750000 -v -1.062500 14.750000 -3.750000 -v -1.062500 14.250000 -3.750000 -v -0.937500 12.250000 -2.750000 -v -0.937500 11.750000 -2.750000 -v -0.937500 10.750000 -3.750000 -v -0.937500 10.250000 -3.750000 -v -1.062500 10.750000 -2.750000 -v -1.062500 10.250000 -2.750000 -v -1.062500 12.250000 -3.750000 -v -1.062500 11.750000 -3.750000 -v -0.937500 10.750000 -2.750000 -v -0.937500 10.250000 -2.750000 -v -0.937500 9.250000 -3.750000 -v -0.937500 8.750000 -3.750000 -v -1.062500 9.250000 -2.750000 -v -1.062500 8.750000 -2.750000 -v -1.062500 10.750000 -3.750000 -v -1.062500 10.250000 -3.750000 -v -0.937500 8.250000 -2.750000 -v -0.937500 7.750000 -2.750000 -v -0.937500 6.750000 -3.750000 -v -0.937500 6.250000 -3.750000 -v -1.062500 6.750000 -2.750000 -v -1.062500 6.250000 -2.750000 -v -1.062500 8.250000 -3.750000 -v -1.062500 7.750000 -3.750000 -v -0.937500 6.750000 -2.750000 -v -0.937500 6.250000 -2.750000 -v -0.937500 5.250000 -3.750000 -v -0.937500 4.750000 -3.750000 -v -1.062500 5.250000 -2.750000 -v -1.062500 4.750000 -2.750000 -v -1.062500 6.750000 -3.750000 -v -1.062500 6.250000 -3.750000 -vt 0.923077 0.032258 -vt 0.897436 -0.000000 -vt 0.923077 -0.000000 -vt 0.923077 0.032258 -vt 0.897436 -0.000000 -vt 0.923077 -0.000000 -vt 0.923077 0.032258 -vt 0.897436 -0.000000 -vt 0.923077 -0.000000 -vt 0.923077 0.032258 -vt 0.897436 -0.000000 -vt 0.923077 -0.000000 -vt 0.897436 0.790323 -vt 0.923077 0.758065 -vt 0.923077 0.790323 -vt 0.897436 0.790323 -vt 0.923077 0.758065 -vt 0.923077 0.790323 -vt 0.897436 0.790323 -vt 0.923077 0.758065 -vt 0.923077 0.790323 -vt 0.897436 0.790323 -vt 0.923077 0.758065 -vt 0.923077 0.790323 -vt 0.974359 0.032258 -vt 0.948718 0.758065 -vt 0.948718 0.032258 -vt 1.000000 0.032258 -vt 0.974359 0.758065 -vt 0.974359 0.032258 -vt 1.000000 0.032258 -vt 0.974359 0.758065 -vt 0.897436 0.758065 -vt 0.897436 0.032258 -vt 0.897436 0.758065 -vt 0.897436 0.032258 -vt 0.948718 0.032258 -vt 0.948718 0.032258 -vt 0.974359 0.032258 -vt 0.948718 0.758065 -vt 0.974359 0.032258 -vt 0.948718 0.758065 -vt 1.000000 0.032258 -vt 0.974359 0.758065 -vt 1.000000 0.032258 -vt 0.974359 0.758065 -vt 0.897436 0.758065 -vt 0.897436 0.032258 -vt 0.948718 0.032258 -vt 0.897436 0.758065 -vt 0.897436 0.032258 -vt 0.948718 0.758065 -vt 0.897436 0.854839 -vt 0.974359 0.887097 -vt 0.897436 0.887097 -vt 0.974359 0.790323 -vt 0.897436 0.822581 -vt 0.897436 0.790323 -vt 0.974359 0.822581 -vt 0.974359 0.854839 -vt 0.897436 0.919355 -vt 0.448718 0.822581 -vt 0.512821 0.854839 -vt 0.448718 0.854839 -vt 0.275641 0.919355 -vt 0.211538 0.951613 -vt 0.211538 0.919355 -vt 0.512821 0.854839 -vt 0.538462 0.903226 -vt 0.512821 0.870968 -vt 0.448718 0.870968 -vt 0.448718 0.854839 -vt 0.384615 0.854839 -vt 0.410256 0.903226 -vt 0.384615 0.903226 -vt 0.448718 0.870968 -vt 0.576923 0.903226 -vt 0.551282 0.959677 -vt 0.551282 0.903226 -vt 0.346154 0.919355 -vt 0.301282 0.951613 -vt 0.301282 0.919355 -vt 0.384615 0.951613 -vt 0.371795 0.919355 -vt 0.384615 0.919355 -vt 0.410256 0.903226 -vt 0.423077 0.959677 -vt 0.410256 0.959677 -vt 0.538462 0.903226 -vt 0.384615 0.959677 -vt 0.410256 0.959677 -vt 0.185897 0.919355 -vt 0.141026 0.951613 -vt 0.141026 0.919355 -vt 0.551282 0.959677 -vt 0.551282 0.903226 -vt 0.102564 0.919355 -vt 0.115385 0.951613 -vt 0.102564 0.951613 -vt 0.423077 0.959677 -vt 0.275641 0.951613 -vt 0.512821 0.870968 -vt 0.576923 0.854839 -vt 0.551282 0.854839 -vt 0.423077 0.903226 -vt 0.897436 0.854839 -vt 0.974359 0.887097 -vt 0.897436 0.887097 -vt 0.974359 0.790323 -vt 0.897436 0.822581 -vt 0.897436 0.790323 -vt 0.974359 0.822581 -vt 0.974359 0.854839 -vt 0.897436 0.919355 -vt 0.794872 0.846774 -vt 0.814103 0.693548 -vt 0.814103 0.846774 -vt 0.833333 0.846774 -vt 0.852564 0.693548 -vt 0.852564 0.846774 -vt 0.833333 0.693548 -vt 0.871795 0.693548 -vt 0.871795 0.846774 -vt 0.794872 0.846774 -vt 0.814103 0.693548 -vt 0.814103 0.846774 -vt 0.833333 0.846774 -vt 0.852564 0.693548 -vt 0.852564 0.846774 -vt 0.833333 0.693548 -vt 0.871795 0.693548 -vt 0.871795 0.846774 -vt 0.897436 0.854839 -vt 0.974359 0.887097 -vt 0.897436 0.887097 -vt 0.974359 0.790323 -vt 0.897436 0.822581 -vt 0.897436 0.790323 -vt 0.974359 0.822581 -vt 0.974359 0.854839 -vt 0.897436 0.919355 -vt 0.448718 0.822581 -vt 0.512821 0.854839 -vt 0.448718 0.854839 -vt 0.275641 0.919355 -vt 0.211538 0.951613 -vt 0.211538 0.919355 -vt 0.512821 0.854839 -vt 0.538462 0.903226 -vt 0.512821 0.870968 -vt 0.448718 0.870968 -vt 0.448718 0.854839 -vt 0.384615 0.854839 -vt 0.410256 0.903226 -vt 0.384615 0.903226 -vt 0.448718 0.870968 -vt 0.576923 0.903226 -vt 0.551282 0.975806 -vt 0.551282 0.903226 -vt 0.358974 0.919355 -vt 0.301282 0.951613 -vt 0.301282 0.919355 -vt 0.384615 0.951613 -vt 0.371795 0.919355 -vt 0.384615 0.919355 -vt 0.410256 0.903226 -vt 0.423077 0.975806 -vt 0.410256 0.975806 -vt 0.538462 0.903226 -vt 0.384615 0.975806 -vt 0.410256 0.975806 -vt 0.185897 0.919355 -vt 0.128205 0.951613 -vt 0.128205 0.919355 -vt 0.551282 0.975806 -vt 0.551282 0.903226 -vt 0.102564 0.919355 -vt 0.115385 0.951613 -vt 0.102564 0.951613 -vt 0.423077 0.975806 -vt 0.275641 0.951613 -vt 0.512821 0.870968 -vt 0.576923 0.854839 -vt 0.551282 0.854839 -vt 0.423077 0.903226 -vt 0.897436 0.854839 -vt 0.974359 0.887097 -vt 0.897436 0.887097 -vt 0.974359 0.790323 -vt 0.897436 0.822581 -vt 0.897436 0.790323 -vt 0.974359 0.822581 -vt 0.974359 0.854839 -vt 0.897436 0.919355 -vt 0.794872 0.830645 -vt 0.814103 0.693548 -vt 0.814103 0.830645 -vt 0.833333 0.830645 -vt 0.852564 0.693548 -vt 0.852564 0.830645 -vt 0.833333 0.693548 -vt 0.871795 0.693548 -vt 0.871795 0.830645 -vt 0.794872 0.830645 -vt 0.814103 0.693548 -vt 0.814103 0.830645 -vt 0.833333 0.830645 -vt 0.852564 0.693548 -vt 0.852564 0.830645 -vt 0.833333 0.693548 -vt 0.871795 0.693548 -vt 0.871795 0.830645 -vt 0.897436 0.854839 -vt 0.974359 0.887097 -vt 0.897436 0.887097 -vt 0.974359 0.790323 -vt 0.897436 0.822581 -vt 0.897436 0.790323 -vt 0.974359 0.822581 -vt 0.974359 0.854839 -vt 0.897436 0.919355 -vt 0.448718 0.822581 -vt 0.512821 0.854839 -vt 0.448718 0.854839 -vt 0.275641 0.919355 -vt 0.211538 0.951613 -vt 0.211538 0.919355 -vt 0.512821 0.854839 -vt 0.538462 0.903226 -vt 0.512821 0.870968 -vt 0.448718 0.870968 -vt 0.448718 0.854839 -vt 0.384615 0.854839 -vt 0.410256 0.903226 -vt 0.384615 0.903226 -vt 0.448718 0.870968 -vt 0.576923 0.903226 -vt 0.551282 0.991935 -vt 0.551282 0.903226 -vt 0.371795 0.919355 -vt 0.301282 0.951613 -vt 0.301282 0.919355 -vt 0.384615 0.951613 -vt 0.384615 0.919355 -vt 0.410256 0.903226 -vt 0.423077 0.991935 -vt 0.410256 0.991935 -vt 0.538462 0.903226 -vt 0.384615 0.991935 -vt 0.410256 0.991935 -vt 0.185897 0.919355 -vt 0.115385 0.951613 -vt 0.115385 0.919355 -vt 0.551282 0.991935 -vt 0.551282 0.903226 -vt 0.102564 0.919355 -vt 0.102564 0.951613 -vt 0.423077 0.991935 -vt 0.275641 0.951613 -vt 0.512821 0.870968 -vt 0.576923 0.854839 -vt 0.551282 0.854839 -vt 0.423077 0.903226 -vt 0.897436 0.854839 -vt 0.974359 0.887097 -vt 0.897436 0.887097 -vt 0.974359 0.790323 -vt 0.897436 0.822581 -vt 0.897436 0.790323 -vt 0.974359 0.822581 -vt 0.974359 0.854839 -vt 0.897436 0.919355 -vt 0.794872 0.814516 -vt 0.814103 0.693548 -vt 0.814103 0.814516 -vt 0.833333 0.814516 -vt 0.852564 0.693548 -vt 0.852564 0.814516 -vt 0.833333 0.693548 -vt 0.871795 0.693548 -vt 0.871795 0.814516 -vt 0.794872 0.814516 -vt 0.814103 0.693548 -vt 0.814103 0.814516 -vt 0.833333 0.814516 -vt 0.852564 0.693548 -vt 0.852564 0.814516 -vt 0.833333 0.693548 -vt 0.871795 0.693548 -vt 0.871795 0.814516 -vt 0.948718 0.758065 -vt 1.000000 0.790323 -vt 0.948718 0.790323 -vt 0.948718 0.758065 -vt 1.000000 0.790323 -vt 0.948718 0.790323 -vt 0.948718 0.790323 -vt 1.000000 0.758065 -vt 1.000000 0.790323 -vt 0.948718 0.790323 -vt 1.000000 0.758065 -vt 1.000000 0.790323 -vt 0.948718 0.758065 -vt 1.000000 0.790323 -vt 0.948718 0.790323 -vt 0.948718 0.758065 -vt 1.000000 0.790323 -vt 0.948718 0.790323 -vt 0.948718 0.790323 -vt 1.000000 0.758065 -vt 1.000000 0.790323 -vt 0.948718 0.790323 -vt 1.000000 0.758065 -vt 1.000000 0.790323 -vt 0.948718 0.790323 -vt 1.000000 0.758065 -vt 1.000000 0.790323 -vt 0.948718 0.790323 -vt 1.000000 0.758065 -vt 1.000000 0.790323 -vt 1.000000 0.790323 -vt 0.948718 0.758065 -vt 1.000000 0.758065 -vt 1.000000 0.790323 -vt 0.948718 0.758065 -vt 1.000000 0.758065 -vt 0.948718 0.790323 -vt 1.000000 0.758065 -vt 1.000000 0.790323 -vt 0.948718 0.790323 -vt 1.000000 0.758065 -vt 1.000000 0.790323 -vt 1.000000 0.790323 -vt 0.948718 0.758065 -vt 1.000000 0.758065 -vt 1.000000 0.790323 -vt 0.948718 0.758065 -vt 1.000000 0.758065 -vt 0.948718 0.758065 -vt 1.000000 0.790323 -vt 0.948718 0.790323 -vt 0.948718 0.790323 -vt 1.000000 0.758065 -vt 1.000000 0.790323 -vt 0.948718 0.790323 -vt 1.000000 0.758065 -vt 1.000000 0.790323 -vt 1.000000 0.790323 -vt 0.948718 0.758065 -vt 1.000000 0.758065 -vt 0.948718 0.758065 -vt 0.987179 0.790323 -vt 0.948718 0.790323 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.987179 0.790323 -vt 0.948718 0.790323 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.987179 0.790323 -vt 0.948718 0.790323 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.987179 0.790323 -vt 0.948718 0.790323 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.987179 0.790323 -vt 0.948718 0.790323 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.987179 0.790323 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.987179 0.790323 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.987179 0.758065 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.987179 0.790323 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.987179 0.758065 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.987179 0.790323 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.987179 0.758065 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.987179 0.790323 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.987179 0.758065 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.987179 0.790323 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.987179 0.758065 -vt 1.000000 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 1.000000 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.948718 0.790323 -vt 1.000000 0.758065 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 1.000000 0.758065 -vt 0.948718 0.758065 -vt 1.000000 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 1.000000 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.948718 0.790323 -vt 1.000000 0.758065 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 1.000000 0.758065 -vt 0.948718 0.758065 -vt 1.000000 0.758065 -vt 0.948718 0.790323 -vt 1.000000 0.790323 -vt 1.000000 0.758065 -vt 0.948718 0.790323 -vt 1.000000 0.790323 -vt 1.000000 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 1.000000 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 1.000000 0.758065 -vt 0.948718 0.790323 -vt 1.000000 0.790323 -vt 1.000000 0.758065 -vt 0.948718 0.790323 -vt 1.000000 0.790323 -vt 1.000000 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 1.000000 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 1.000000 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.948718 0.790323 -vt 1.000000 0.758065 -vt 0.948718 0.758065 -vt 1.000000 0.758065 -vt 0.948718 0.790323 -vt 1.000000 0.790323 -vt 1.000000 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.948718 0.758065 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.948718 0.758065 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.948718 0.758065 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.948718 0.758065 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.948718 0.758065 -vt 0.987179 0.758065 -vt 0.948718 0.790323 -vt 0.987179 0.790323 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.948718 0.790323 -vt 0.987179 0.790323 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.948718 0.790323 -vt 0.987179 0.790323 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.948718 0.790323 -vt 0.987179 0.790323 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.948718 0.790323 -vt 0.987179 0.790323 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 1.000000 0.758065 -vt 1.000000 0.758065 -vt 1.000000 0.758065 -vt 1.000000 0.758065 -vt 0.974359 0.919355 -vt 0.512821 0.822581 -vt 0.410256 0.854839 -vt 0.576923 0.959677 -vt 0.346154 0.951613 -vt 0.371795 0.951613 -vt 0.423077 0.903226 -vt 0.538462 0.959677 -vt 0.185897 0.951613 -vt 0.538462 0.959677 -vt 0.115385 0.919355 -vt 0.974359 0.919355 -vt 0.794872 0.693548 -vt 0.794872 0.693548 -vt 0.974359 0.919355 -vt 0.512821 0.822581 -vt 0.410256 0.854839 -vt 0.576923 0.975806 -vt 0.358974 0.951613 -vt 0.371795 0.951613 -vt 0.423077 0.903226 -vt 0.538462 0.975806 -vt 0.185897 0.951613 -vt 0.538462 0.975806 -vt 0.115385 0.919355 -vt 0.974359 0.919355 -vt 0.794872 0.693548 -vt 0.794872 0.693548 -vt 0.974359 0.919355 -vt 0.512821 0.822581 -vt 0.410256 0.854839 -vt 0.576923 0.991935 -vt 0.371795 0.951613 -vt 0.423077 0.903226 -vt 0.538462 0.991935 -vt 0.185897 0.951613 -vt 0.538462 0.991935 -vt 0.974359 0.919355 -vt 0.794872 0.693548 -vt 0.794872 0.693548 -vt 1.000000 0.758065 -vt 1.000000 0.758065 -vt 0.948718 0.758065 -vt 0.948718 0.758065 -vt 1.000000 0.758065 -vt 1.000000 0.758065 -vt 0.948718 0.758065 -vt 0.948718 0.758065 -vt 0.948718 0.758065 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.948718 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.948718 0.790323 -vt 1.000000 0.758065 -vt 0.948718 0.758065 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.987179 0.758065 -vt 0.948718 0.758065 -vt 0.987179 0.758065 -vt 0.948718 0.758065 -vt 0.987179 0.758065 -vt 0.948718 0.758065 -vt 0.987179 0.758065 -vt 0.948718 0.758065 -vt 0.987179 0.758065 -vt 0.948718 0.758065 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.790323 -vt 1.000000 0.758065 -vt 1.000000 0.758065 -vt 1.000000 0.790323 -vt 1.000000 0.790323 -vt 1.000000 0.758065 -vt 1.000000 0.758065 -vt 1.000000 0.790323 -vt 1.000000 0.790323 -vt 0.948718 0.758065 -vt 0.948718 0.758065 -vt 1.000000 0.758065 -vt 1.000000 0.758065 -vt 0.948718 0.758065 -vt 0.948718 0.758065 -vt 1.000000 0.758065 -vt 1.000000 0.758065 -vt 1.000000 0.758065 -vt 1.000000 0.790323 -vt 0.948718 0.758065 -vt 1.000000 0.758065 -vt 0.987179 0.758065 -vt 0.987179 0.790323 -vt 0.987179 0.758065 -vt 0.987179 0.790323 -vt 0.987179 0.758065 -vt 0.987179 0.790323 -vt 0.987179 0.758065 -vt 0.987179 0.790323 -vt 0.987179 0.758065 -vt 0.987179 0.790323 -vt 0.948718 0.758065 -vt 0.987179 0.758065 -vt 0.948718 0.758065 -vt 0.987179 0.758065 -vt 0.948718 0.758065 -vt 0.987179 0.758065 -vt 0.948718 0.758065 -vt 0.987179 0.758065 -vt 0.948718 0.758065 -vt 0.987179 0.758065 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.0000 1.0000 vn 1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 vn -1.0000 0.0000 0.0000 -vn 0.7071 0.0000 -0.7071 -vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.0000 1.0000 0.0000 vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +s off +f 839/1373/144 840/1374/144 841/1375/144 +f 842/1376/145 843/1377/145 844/1378/145 +f 839/1373/146 845/1379/146 846/1380/146 +f 840/1381/147 844/1382/147 841/1383/147 +f 840/1384/148 845/1379/148 842/1385/148 +f 841/1383/149 843/1377/149 839/1373/149 +f 847/1386/144 848/1387/144 849/1388/144 +f 847/1389/150 850/1390/150 851/1391/150 +f 852/1392/148 853/1393/148 854/1394/148 +f 855/1395/151 856/1396/151 852/1397/151 +f 857/1398/149 850/1390/149 855/1399/149 +f 854/1400/144 851/1401/144 857/1402/144 +f 858/1403/152 859/1404/152 860/1405/152 +f 861/1406/144 859/1407/144 862/1408/144 +f 863/1409/148 859/1404/148 864/1410/148 +f 865/1411/151 860/1405/151 863/1409/151 +f 861/1412/149 858/1403/149 865/1413/149 +f 866/1414/151 850/1415/151 867/1416/151 +f 868/1417/153 869/1418/153 870/1419/153 +f 849/1388/144 871/1420/144 847/1386/144 +f 866/1421/148 869/1418/148 849/1422/148 +f 866/1414/151 868/1417/151 870/1423/151 +f 847/1389/149 868/1417/149 867/1416/149 +f 872/1424/147 873/1425/147 874/1426/147 +f 853/1427/144 848/1387/144 851/1401/144 +f 848/1428/152 866/1421/152 849/1422/152 +f 850/1415/151 874/1426/151 856/1396/151 +f 874/1429/153 861/1412/153 865/1413/153 +f 863/1409/151 874/1426/151 865/1411/151 +f 863/1409/154 853/1393/154 856/1430/154 +f 873/1431/144 864/1432/144 861/1406/144 +f 875/1433/148 876/1434/148 877/1435/148 +f 878/1436/148 879/1437/148 880/1438/148 +f 881/1439/144 882/1440/144 883/1441/144 +f 884/1442/147 885/1443/147 886/1444/147 +f 887/1445/149 888/1446/149 889/1447/149 +f 890/1448/151 888/1446/151 891/1449/151 +f 890/1450/148 892/1451/148 893/1452/148 +f 893/1453/144 894/1454/144 887/1455/144 +f 888/1446/153 892/1451/153 891/1456/153 +f 890/1448/151 895/1457/151 889/1447/151 +f 896/1458/149 897/1459/149 898/1460/149 +f 898/1461/151 899/1462/151 900/1463/151 +f 900/1463/148 901/1464/148 902/1465/148 +f 896/1466/144 901/1467/144 903/1468/144 +f 897/1459/152 901/1464/152 899/1462/152 +f 904/1469/144 883/1441/144 905/1470/144 +f 905/1471/149 895/1472/149 906/1473/149 +f 906/1474/151 907/1475/151 908/1476/151 +f 908/1477/148 881/1478/148 904/1479/148 +f 887/1445/150 895/1472/150 883/1480/150 +f 887/1455/144 882/1440/144 893/1453/144 +f 909/1481/149 910/1482/149 911/1483/149 +f 912/1484/149 913/1485/149 914/1486/149 +f 882/1487/152 890/1450/152 893/1452/152 +f 895/1457/151 886/1444/151 907/1475/151 +f 886/1488/153 896/1458/153 898/1460/153 +f 900/1463/151 886/1444/151 898/1461/151 +f 900/1463/154 881/1478/154 907/1489/154 +f 885/1490/144 902/1491/144 896/1466/144 +f 839/1373/144 846/1380/144 840/1374/144 +f 842/1376/145 845/1379/145 843/1377/145 +f 839/1373/146 843/1377/146 845/1379/146 +f 840/1381/147 842/1492/147 844/1382/147 +f 840/1384/148 846/1380/148 845/1379/148 +f 841/1383/149 844/1382/149 843/1377/149 +f 847/1386/144 851/1401/144 848/1387/144 +f 847/1389/150 867/1416/150 850/1390/150 +f 852/1392/148 856/1430/148 853/1393/148 +f 855/1395/151 850/1415/151 856/1396/151 +f 857/1398/149 851/1391/149 850/1390/149 +f 854/1400/144 853/1427/144 851/1401/144 +f 858/1403/152 862/1493/152 859/1404/152 +f 861/1406/144 864/1432/144 859/1407/144 +f 863/1409/148 860/1405/148 859/1404/148 +f 865/1411/151 858/1494/151 860/1405/151 +f 861/1412/149 862/1493/149 858/1403/149 +f 866/1414/151 872/1424/151 850/1415/151 +f 868/1417/153 871/1495/153 869/1418/153 +f 849/1388/144 869/1496/144 871/1420/144 +f 866/1421/148 870/1419/148 869/1418/148 +f 866/1414/151 867/1416/151 868/1417/151 +f 847/1389/149 871/1495/149 868/1417/149 +f 872/1424/147 848/1497/147 873/1425/147 +f 853/1427/144 873/1431/144 848/1387/144 +f 848/1428/152 872/1498/152 866/1421/152 +f 850/1415/151 872/1424/151 874/1426/151 +f 874/1429/153 873/1499/153 861/1412/153 +f 863/1409/151 856/1396/151 874/1426/151 +f 863/1409/154 864/1410/154 853/1393/154 +f 873/1431/144 853/1427/144 864/1432/144 +f 875/1433/148 915/1500/148 876/1434/148 +f 878/1436/148 916/1501/148 879/1437/148 +f 881/1439/144 885/1490/144 882/1440/144 +f 884/1442/147 882/1502/147 885/1443/147 +f 887/1445/149 894/1503/149 888/1446/149 +f 890/1448/151 889/1447/151 888/1446/151 +f 890/1450/148 891/1456/148 892/1451/148 +f 893/1453/144 892/1504/144 894/1454/144 +f 888/1446/153 894/1503/153 892/1451/153 +f 890/1448/151 884/1442/151 895/1457/151 +f 896/1458/149 903/1505/149 897/1459/149 +f 898/1461/151 897/1506/151 899/1462/151 +f 900/1463/148 899/1462/148 901/1464/148 +f 896/1466/144 902/1491/144 901/1467/144 +f 897/1459/152 903/1505/152 901/1464/152 +f 904/1469/144 881/1439/144 883/1441/144 +f 905/1471/149 883/1480/149 895/1472/149 +f 906/1474/151 895/1457/151 907/1475/151 +f 908/1477/148 907/1489/148 881/1478/148 +f 887/1445/150 889/1447/150 895/1472/150 +f 887/1455/144 883/1441/144 882/1440/144 +f 909/1481/149 917/1507/149 910/1482/149 +f 912/1484/149 918/1508/149 913/1485/149 +f 882/1487/152 884/1509/152 890/1450/152 +f 895/1457/151 884/1442/151 886/1444/151 +f 886/1488/153 885/1510/153 896/1458/153 +f 900/1463/151 907/1475/151 886/1444/151 +f 900/1463/154 902/1465/154 881/1478/154 +f 885/1490/144 881/1439/144 902/1491/144 +o Micro_Pivot +v 0.125000 3.250000 -1.375000 +v -0.125000 3.250000 -1.625000 +v -0.125000 3.250000 -1.375000 +v 0.125000 1.250000 -1.625000 +v 0.125000 1.250000 -1.375000 +v -0.125000 1.250000 -1.375000 +v -0.125000 1.250000 -1.625000 +v 0.125000 3.250000 -1.625000 +v -0.062500 3.250000 -1.562500 +v 0.062500 4.250000 -1.562500 +v 0.062500 3.250000 -1.562500 +v 0.062500 3.250000 -1.437500 +v -0.062500 4.250000 -1.437500 +v -0.062500 3.250000 -1.437500 +v 0.062500 4.250000 -1.437500 +v -0.062500 4.250000 -1.562500 +vt 0.755556 0.310345 +vt 0.777778 0.275862 +vt 0.777778 0.310345 +vt 0.844444 -0.000000 +vt 0.822222 0.275862 +vt 0.822222 -0.000000 +vt 0.800000 -0.000000 +vt 0.777778 -0.000000 +vt 0.755556 0.275862 +vt 0.755556 -0.000000 +vt 0.800000 0.275862 +vt 0.788889 0.275862 +vt 0.777778 0.413793 +vt 0.777778 0.275862 +vt 0.811111 0.275862 +vt 0.800000 0.413793 +vt 0.800000 0.275862 +vt 0.822222 0.275862 +vt 0.811111 0.413793 +vt 0.788889 0.413793 +vt 0.844444 0.275862 +vt 0.822222 0.413793 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.0000 1.0000 +s off +f 919/1511/155 920/1512/155 921/1513/155 +f 922/1514/156 919/1515/156 923/1516/156 +f 924/1517/157 920/1512/157 925/1518/157 +f 925/1518/158 926/1519/158 922/1520/158 +f 923/1516/159 921/1521/159 924/1517/159 +f 927/1522/158 928/1523/158 929/1524/158 +f 930/1525/159 931/1526/159 932/1527/159 +f 929/1528/156 933/1529/156 930/1525/156 +f 932/1527/157 934/1530/157 927/1522/157 +f 919/1511/155 926/1519/155 920/1512/155 +f 922/1514/156 926/1531/156 919/1515/156 +f 924/1517/157 921/1521/157 920/1512/157 +f 925/1518/158 920/1512/158 926/1519/158 +f 923/1516/159 919/1515/159 921/1521/159 +f 927/1522/158 934/1530/158 928/1523/158 +f 930/1525/159 933/1529/159 931/1526/159 +f 929/1528/156 928/1532/156 933/1529/156 +f 932/1527/157 931/1526/157 934/1530/157 +o Micro_Rope +v -0.187500 5.250000 0.125000 +v -0.275888 5.213388 1.375000 +v -0.187500 5.250000 1.375000 +v -0.099112 5.213388 0.125000 +v -0.099112 5.213388 1.375000 +v -0.099112 5.036612 0.125000 +v -0.062500 5.125000 1.375000 +v -0.099112 5.036612 1.375000 +v -0.275888 5.036612 0.125000 +v -0.187500 5.000000 1.375000 +v -0.275888 5.036612 1.375000 +v -0.275888 5.213388 0.125000 +v -0.312500 5.125000 1.375000 +v -0.062500 5.125000 0.125000 +v -0.187500 5.000000 0.125000 +v -0.312500 5.125000 0.125000 +v 0.187500 4.250000 0.125000 +v 0.099112 4.213388 1.375000 +v 0.187500 4.250000 1.375000 +v 0.275888 4.213388 0.125000 +v 0.275888 4.213388 1.375000 +v 0.275888 4.036612 0.125000 +v 0.312500 4.125000 1.375000 +v 0.275888 4.036612 1.375000 +v 0.099112 4.036612 0.125000 +v 0.187500 4.000000 1.375000 +v 0.099112 4.036612 1.375000 +v 0.099112 4.213388 0.125000 +v 0.062500 4.125000 1.375000 +v 0.312500 4.125000 0.125000 +v 0.187500 4.000000 0.125000 +v 0.062500 4.125000 0.125000 +vt 0.711111 0.896552 +vt 0.700000 0.724138 +vt 0.711111 0.724138 +vt 0.722222 0.896552 +vt 0.722222 0.724138 +vt 0.744444 0.896552 +vt 0.733333 0.724138 +vt 0.744444 0.724138 +vt 0.677778 0.896552 +vt 0.666667 0.724138 +vt 0.677778 0.724138 +vt 0.700000 0.896552 +vt 0.688889 0.724138 +vt 0.733333 0.896552 +vt 0.755556 0.896552 +vt 0.755556 0.724138 +vt 0.688889 0.896552 +vt 0.711111 0.896552 +vt 0.700000 0.724138 +vt 0.711111 0.724138 +vt 0.722222 0.896552 +vt 0.722222 0.724138 +vt 0.744444 0.896552 +vt 0.733333 0.724138 +vt 0.744444 0.724138 +vt 0.677778 0.896552 +vt 0.666667 0.724138 +vt 0.677778 0.724138 +vt 0.700000 0.896552 +vt 0.688889 0.724138 +vt 0.733333 0.896552 +vt 0.755556 0.896552 +vt 0.755556 0.724138 +vt 0.688889 0.896552 +vt 0.666667 0.896552 +vt 0.666667 0.896552 +vn -0.0000 1.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 -0.0000 0.0000 +s 1 +f 935/1533/160 936/1534/161 937/1535/160 +f 938/1536/162 937/1535/160 939/1537/162 +f 940/1538/163 941/1539/164 942/1540/163 +f 943/1541/165 944/1542/166 945/1543/165 +f 946/1544/161 947/1545/167 936/1534/161 +f 948/1546/164 939/1537/162 941/1539/164 +f 949/1547/166 942/1540/163 944/1548/166 +f 950/1549/167 945/1543/165 947/1545/167 +f 951/1550/160 952/1551/161 953/1552/160 +f 954/1553/162 953/1552/160 955/1554/162 +f 956/1555/163 957/1556/164 958/1557/163 +f 959/1558/165 960/1559/166 961/1560/165 +f 962/1561/161 963/1562/167 952/1551/161 +f 964/1563/164 955/1554/162 957/1556/164 +f 965/1564/166 958/1557/163 960/1565/166 +f 966/1566/167 961/1560/165 963/1562/167 +f 935/1533/160 946/1544/161 936/1534/161 +f 938/1536/162 935/1533/160 937/1535/160 +f 940/1538/163 948/1546/164 941/1539/164 +f 943/1541/165 949/1567/166 944/1542/166 +f 946/1544/161 950/1549/167 947/1545/167 +f 948/1546/164 938/1536/162 939/1537/162 +f 949/1547/166 940/1538/163 942/1540/163 +f 950/1549/167 943/1541/165 945/1543/165 +f 951/1550/160 962/1561/161 952/1551/161 +f 954/1553/162 951/1550/160 953/1552/160 +f 956/1555/163 964/1563/164 957/1556/164 +f 959/1558/165 965/1568/166 960/1559/166 +f 962/1561/161 966/1566/167 963/1562/167 +f 964/1563/164 954/1553/162 955/1554/162 +f 965/1564/166 956/1555/163 958/1557/163 +f 966/1566/167 959/1558/165 961/1560/165 +o Strong_Erector +v 0.250000 3.500000 -3.250000 +v 0.750000 3.500000 -2.750000 +v 0.250000 3.500000 -2.750000 +v -0.750000 3.500000 -3.250000 +v -0.250000 3.500000 -2.750000 +v -0.750000 3.500000 -2.750000 +v 0.750000 10.000000 -2.750000 +v 0.250000 10.000000 -3.250000 +v 0.250000 10.000000 -2.750000 +v -0.250000 10.000000 -2.750000 +v -0.750000 10.000000 -3.250000 +v -0.750000 10.000000 -2.750000 +v -0.250000 3.500000 -3.250000 +v -0.250000 10.000000 -3.250000 +v 0.750000 3.500000 -3.250000 +v 0.750000 10.000000 -3.250000 +v 0.250000 9.000000 -3.500000 +v -0.250000 9.000000 -1.000000 +v 0.250000 9.000000 -1.000000 +v -0.250000 8.500000 -1.000000 +v 0.250000 8.500000 -3.500000 +v 0.250000 8.500000 -1.000000 +v 0.375000 9.125000 -1.000000 +v -0.250000 9.000000 -3.500000 +v -0.250000 8.500000 -3.500000 +v -0.375000 8.375000 -1.000000 +v -0.375000 9.125000 -0.750000 +v -0.375000 9.125000 -1.000000 +v 0.375000 8.375000 -1.000000 +v 0.375000 8.375000 -0.750000 +v 0.375000 9.125000 -0.750000 +v -0.375000 8.375000 -0.750000 +v 0.375000 3.875000 -1.000000 +v -0.375000 3.875000 -0.750000 +v -0.375000 3.875000 -1.000000 +v 0.375000 4.625000 -1.000000 +v 0.375000 3.875000 -0.750000 +v -0.375000 4.625000 -1.000000 +v 0.375000 4.625000 -0.750000 +v -0.375000 4.625000 -0.750000 +v 0.250000 4.000000 -1.000000 +v -0.250000 4.000000 -1.000000 +v 0.250000 4.500000 -1.000000 +v -0.250000 4.500000 -1.000000 +v 0.250000 4.000000 -3.500000 +v 0.250000 4.500000 -3.500000 +v -0.250000 4.000000 -3.500000 +v -0.250000 4.500000 -3.500000 +v 0.750000 6.500000 -1.250000 +v 0.250000 6.500000 -2.750000 +v 0.750000 6.500000 -2.750000 +v -0.250000 7.000000 -1.250000 +v -0.250000 6.500000 -2.750000 +v -0.250000 7.000000 -2.750000 +v 0.250000 7.000000 -2.750000 +v 0.750000 7.000000 -1.250000 +v 0.750000 7.000000 -2.750000 +v 0.250000 6.500000 -1.250000 +v -0.750000 6.500000 -1.250000 +v -0.750000 7.000000 -2.750000 +v -0.750000 6.500000 -2.750000 +v -0.250000 6.500000 -1.250000 +v -0.750000 7.000000 -1.250000 +v 0.750000 6.500000 -1.250000 +v -0.750000 6.500000 -1.250000 +v 0.750000 6.500000 -0.750000 +v -0.750000 7.000000 -0.750000 +v -0.750000 6.500000 -0.750000 +v 0.750000 7.000000 -0.750000 +v 0.750000 7.000000 -1.250000 +v 1.250000 7.000000 0.750000 +v 1.250000 7.000000 -0.750000 +v -1.250000 6.500000 0.750000 +v -1.250000 6.500000 -0.750000 +v 1.250000 6.500000 -0.750000 +v -1.250000 7.000000 -0.750000 +v 0.750000 6.500000 0.750000 +v 0.750000 7.000000 0.750000 +v -0.750000 7.000000 0.750000 +v -0.750000 6.500000 0.750000 +v -1.250000 7.000000 0.750000 +v 1.250000 6.500000 0.750000 +v 0.250000 7.000000 -1.250000 +v -0.750000 7.000000 -1.250000 +vt 0.820513 0.269663 +vt 0.794872 0.224719 +vt 0.820513 0.224719 +vt 0.820513 0.269663 +vt 0.794872 0.224719 +vt 0.820513 0.224719 +vt 0.794872 0.898876 +vt 0.820513 0.853933 +vt 0.820513 0.898876 +vt 0.794872 0.898876 +vt 0.820513 0.853933 +vt 0.820513 0.898876 +vt 0.897436 0.269663 +vt 0.871795 0.853933 +vt 0.871795 0.269663 +vt 0.794872 0.853933 +vt 0.794872 0.269663 +vt 0.897436 0.269663 +vt 0.871795 0.853933 +vt 0.871795 0.269663 +vt 0.794872 0.853933 +vt 0.794872 0.269663 +vt 0.846154 0.269663 +vt 0.846154 0.853933 +vt 0.846154 0.269663 +vt 0.846154 0.853933 +vt 0.544872 0.921348 +vt 0.416667 0.966292 +vt 0.416667 0.921348 +vt 0.416667 0.921348 +vt 0.544872 0.966292 +vt 0.416667 0.966292 +vt 0.410256 0.910112 +vt 0.544872 0.921348 +vt 0.416667 0.966292 +vt 0.416667 0.921348 +vt 0.570513 0.966292 +vt 0.544872 0.966292 +vt 0.416667 0.966292 +vt 0.544872 0.921348 +vt 0.544872 0.966292 +vt 0.410256 0.977528 +vt 0.397436 0.910112 +vt 0.410256 0.910112 +vt 0.410256 0.910112 +vt 0.416667 0.921348 +vt 0.410256 0.910112 +vt 0.397436 0.977528 +vt 0.358974 0.910112 +vt 0.397436 0.910112 +vt 0.410256 0.977528 +vt 0.410256 0.977528 +vt 0.397436 0.910112 +vt 0.410256 0.977528 +vt 0.397436 0.910112 +vt 0.410256 0.977528 +vt 0.397436 0.910112 +vt 0.410256 0.910112 +vt 0.410256 0.977528 +vt 0.397436 0.910112 +vt 0.410256 0.910112 +vt 0.410256 0.977528 +vt 0.397436 0.910112 +vt 0.410256 0.910112 +vt 0.397436 0.977528 +vt 0.358974 0.910112 +vt 0.416667 0.966292 +vt 0.416667 0.921348 +vt 0.416667 0.966292 +vt 0.416667 0.921348 +vt 0.416667 0.966292 +vt 0.410256 0.910112 +vt 0.416667 0.921348 +vt 0.410256 0.977528 +vt 0.397436 0.910112 +vt 0.544872 0.921348 +vt 0.544872 0.966292 +vt 0.544872 0.921348 +vt 0.570513 0.966292 +vt 0.544872 0.966292 +vt 0.544872 0.921348 +vt 0.416667 0.966292 +vt 0.416667 0.921348 +vt 0.544872 0.966292 +vt 1.000000 0.134831 +vt 0.974359 -0.000000 +vt 1.000000 -0.000000 +vt 0.923077 0.134831 +vt 0.897436 -0.000000 +vt 0.923077 0.000000 +vt 0.948718 -0.000000 +vt 0.923077 0.134831 +vt 0.923077 0.000000 +vt 0.974359 0.134831 +vt 0.974359 0.134831 +vt 0.948718 -0.000000 +vt 0.974359 -0.000000 +vt 1.000000 0.134831 +vt 1.000000 -0.000000 +vt 0.897436 -0.000000 +vt 0.948718 0.494382 +vt 0.974359 0.359551 +vt 0.974359 0.494382 +vt 0.897436 0.359551 +vt 0.923077 0.494382 +vt 0.897436 0.494382 +vt 0.923077 0.359551 +vt 0.948718 0.359551 +vt 0.923077 0.314607 +vt 0.948718 0.179775 +vt 0.948718 0.314607 +vt 1.000000 0.494382 +vt 1.000000 0.539326 +vt 0.974359 0.674157 +vt 0.974359 0.539326 +vt 1.000000 0.359551 +vt 1.000000 0.314607 +vt 0.923077 0.314607 +vt 1.000000 0.539326 +vt 0.923077 0.539326 +vt 0.974359 0.134831 +vt 0.948718 0.134831 +vt 0.948718 0.719101 +vt 0.974359 0.719101 +vt 0.897436 0.314607 +vt 0.923077 0.179775 +vt 0.948718 0.539326 +vt 0.923077 0.674157 +vt 0.923077 0.539326 +vt 0.948718 0.674157 +vt 0.974359 0.314607 +vt 1.000000 0.179775 +vt 1.000000 0.314607 +vt 0.974359 0.179775 +vt 0.897436 0.674157 +vt 0.897436 0.539326 +vt 0.897436 0.853933 +vt 0.897436 0.853933 +vt 0.544872 0.921348 +vt 0.544872 0.966292 +vt 0.570513 0.921348 +vt 0.397436 0.977528 +vt 0.358974 0.977528 +vt 0.397436 0.977528 +vt 0.397436 0.977528 +vt 0.397436 0.977528 +vt 0.397436 0.977528 +vt 0.358974 0.977528 +vt 0.397436 0.977528 +vt 0.570513 0.921348 +vt 0.544872 0.966292 +vt 0.544872 0.921348 +vt 0.897436 0.134831 +vt 0.948718 0.134831 +vt 0.948718 0.134831 +vt 0.897436 0.134831 +vt 1.000000 0.674157 +vt 0.897436 0.179775 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -0.0000 1.0000 +vn 0.7071 0.0000 -0.7071 vn -0.7071 0.0000 -0.7071 s off -f 667/842/42 669/843/42 668/844/42 -f 671/845/42 673/846/42 672/847/42 -f 675/848/42 677/849/42 676/850/42 -f 679/851/42 681/852/42 680/853/42 -f 685/854/43 683/855/43 684/856/43 -f 689/857/43 687/858/43 688/859/43 -f 693/860/43 691/861/43 692/862/43 -f 697/863/43 695/864/43 696/865/43 -f 677/866/44 692/867/44 676/868/44 -f 670/869/45 685/870/45 669/871/45 -f 678/872/45 693/873/45 677/866/45 -f 667/842/46 686/874/46 670/875/46 -f 675/848/46 694/876/46 678/877/46 -f 672/878/47 687/858/47 671/845/47 -f 680/879/47 695/864/47 679/851/47 -f 673/880/44 688/881/44 672/878/44 -f 681/882/44 696/883/44 680/879/44 -f 674/884/45 689/885/45 673/880/45 -f 682/886/45 697/887/45 681/882/45 -f 671/845/46 690/888/46 674/889/46 -f 668/890/47 683/855/47 667/842/47 -f 679/851/46 698/891/46 682/892/46 -f 676/868/47 691/861/47 675/848/47 -f 669/871/44 684/893/44 668/890/44 -f 699/894/43 701/895/43 700/896/43 -f 705/897/42 703/898/42 704/899/42 -f 699/894/46 706/900/46 702/901/46 -f 701/895/44 704/902/44 700/896/44 -f 709/903/46 708/904/46 707/905/46 -f 712/906/44 713/907/44 711/908/44 -f 709/909/42 730/910/42 713/911/42 -f 709/909/42 714/912/42 710/913/42 -f 709/914/48 724/915/48 726/916/48 -f 708/904/43 711/917/43 707/905/43 -f 717/918/47 716/919/47 715/920/47 -f 720/921/45 721/922/45 719/923/45 -f 718/924/44 720/925/44 716/926/44 -f 717/927/42 722/928/42 718/929/42 -f 711/917/43 724/915/43 707/905/43 -f 716/919/43 719/930/43 715/920/43 -f 725/931/45 724/915/45 723/932/45 -f 728/933/47 729/934/47 727/935/47 -f 713/907/49 728/933/49 711/908/49 -f 725/936/42 730/910/42 726/937/42 -f 723/938/44 729/939/44 725/940/44 -f 724/915/43 727/941/43 723/932/43 -f 714/942/50 719/923/50 721/922/50 -f 708/904/43 719/930/43 712/943/43 -f 710/944/51 715/920/51 708/945/51 -f 721/946/42 710/913/42 714/912/42 -f 731/947/43 733/948/43 732/949/43 -f 737/950/42 735/951/42 736/952/42 -f 731/947/46 738/953/46 734/954/46 -f 733/948/44 736/955/44 732/949/44 -f 740/956/45 746/957/45 742/958/45 -f 741/959/47 743/960/47 739/961/47 -f 742/958/43 745/962/43 741/959/43 -f 739/961/42 744/963/42 740/964/42 -f 748/965/45 754/966/45 750/967/45 -f 749/968/47 751/969/47 747/970/47 -f 750/967/43 753/971/43 749/968/43 -f 747/970/42 752/972/42 748/973/42 -f 755/974/43 757/975/43 756/976/43 -f 761/977/42 759/978/42 760/979/42 -f 755/974/46 762/980/46 758/981/46 -f 757/975/44 760/982/44 756/976/44 -f 765/983/46 764/984/46 763/985/46 -f 768/986/44 769/987/44 767/988/44 -f 765/989/42 786/990/42 769/991/42 -f 765/989/42 770/992/42 766/993/42 -f 765/994/48 780/995/48 782/996/48 -f 764/984/43 767/997/43 763/985/43 -f 773/998/47 772/999/47 771/1000/47 -f 776/1001/45 777/1002/45 775/1003/45 -f 774/1004/44 776/1005/44 772/1006/44 -f 773/1007/42 778/1008/42 774/1009/42 -f 767/997/43 780/995/43 763/985/43 -f 772/999/43 775/1010/43 771/1000/43 -f 781/1011/45 780/995/45 779/1012/45 -f 784/1013/47 785/1014/47 783/1015/47 -f 769/987/49 784/1013/49 767/988/49 -f 781/1016/42 786/990/42 782/1017/42 -f 779/1018/44 785/1019/44 781/1020/44 -f 780/995/43 783/1021/43 779/1012/43 -f 770/1022/50 775/1003/50 777/1002/50 -f 764/984/43 775/1010/43 768/1023/43 -f 766/1024/51 771/1000/51 764/1025/51 -f 777/1026/42 766/993/42 770/992/42 -f 787/1027/43 789/1028/43 788/1029/43 -f 793/1030/42 791/1031/42 792/1032/42 -f 787/1027/46 794/1033/46 790/1034/46 -f 789/1028/44 792/1035/44 788/1029/44 -f 796/1036/45 802/1037/45 798/1038/45 -f 797/1039/47 799/1040/47 795/1041/47 -f 798/1038/43 801/1042/43 797/1039/43 -f 795/1041/42 800/1043/42 796/1044/42 -f 804/1045/45 810/1046/45 806/1047/45 -f 805/1048/47 807/1049/47 803/1050/47 -f 806/1047/43 809/1051/43 805/1048/43 -f 803/1050/42 808/1052/42 804/1053/42 -f 811/1054/43 813/1055/43 812/1056/43 -f 817/1057/42 815/1058/42 816/1059/42 -f 811/1054/46 818/1060/46 814/1061/46 -f 813/1055/44 816/1062/44 812/1056/44 -f 821/1063/46 820/1064/46 819/1065/46 -f 824/1066/44 825/1067/44 823/1068/44 -f 821/1069/42 842/1070/42 825/1071/42 -f 821/1069/42 826/1072/42 822/1073/42 -f 821/1074/48 836/1075/48 838/1076/48 -f 820/1064/43 823/1077/43 819/1065/43 -f 829/1078/47 828/1079/47 827/1080/47 -f 832/1081/45 833/1082/45 831/1083/45 -f 830/1084/44 832/1081/44 828/1085/44 -f 829/1086/42 834/1087/42 830/1088/42 -f 823/1077/43 836/1075/43 819/1065/43 -f 828/1079/43 831/1089/43 827/1080/43 -f 837/1090/45 836/1075/45 835/1091/45 -f 840/1092/47 841/1093/47 839/1094/47 -f 825/1067/49 840/1092/49 823/1068/49 -f 837/1095/42 842/1070/42 838/1096/42 -f 835/1097/44 841/1093/44 837/1098/44 -f 836/1075/43 839/1099/43 835/1091/43 -f 826/1100/50 831/1083/50 833/1082/50 -f 820/1064/43 831/1089/43 824/1101/43 -f 822/1102/51 827/1080/51 820/1103/51 -f 833/1104/42 822/1073/42 826/1072/42 -f 843/1105/43 845/1106/43 844/1107/43 -f 849/1108/42 847/1109/42 848/1110/42 -f 843/1105/46 850/1111/46 846/1112/46 -f 845/1106/44 848/1113/44 844/1107/44 -f 852/1114/45 858/1115/45 854/1116/45 -f 853/1117/47 855/1118/47 851/1119/47 -f 854/1116/43 857/1120/43 853/1117/43 -f 851/1119/42 856/1121/42 852/1122/42 -f 860/1123/45 866/1124/45 862/1125/45 -f 861/1126/47 863/1127/47 859/1128/47 -f 862/1125/43 865/1129/43 861/1126/43 -f 859/1128/42 864/1130/42 860/1131/42 -f 868/1132/46 869/1133/46 867/1134/46 -f 872/1135/46 873/1136/46 871/1137/46 -f 875/1138/46 878/1139/46 877/1140/46 -f 879/1141/46 882/1142/46 881/1143/46 -f 884/1144/46 885/1145/46 883/1146/46 -f 888/1147/46 889/1148/46 887/1149/46 -f 891/1150/46 894/1151/46 893/1152/46 -f 895/1153/46 898/1154/46 897/1155/46 -f 901/1156/44 900/1157/44 899/1158/44 -f 905/1159/44 904/1160/44 903/1161/44 -f 907/1162/44 910/1163/44 908/1164/44 -f 911/1165/44 914/1166/44 912/1167/44 -f 917/1168/44 916/1169/44 915/1170/44 -f 921/1171/44 920/1172/44 919/1173/44 -f 923/1174/44 926/1175/44 924/1176/44 -f 927/1177/44 930/1178/44 928/1179/44 -f 932/1180/46 933/1181/46 931/1182/46 -f 935/1183/46 938/1184/46 937/1185/46 -f 941/1186/44 940/1187/44 939/1188/44 -f 943/1189/44 946/1190/44 944/1191/44 -f 948/1192/45 949/1193/45 947/1194/45 -f 951/1195/45 954/1196/45 953/1197/45 -f 956/1198/45 957/1199/45 955/1200/45 -f 959/1201/45 962/1202/45 961/1203/45 -f 964/1204/45 965/1205/45 963/1206/45 -f 967/1207/45 970/1208/45 969/1209/45 -f 972/1210/45 973/1211/45 971/1212/45 -f 975/1213/45 978/1214/45 977/1215/45 -f 980/1216/45 981/1217/45 979/1218/45 -f 983/1219/45 986/1220/45 985/1221/45 -f 989/1222/47 988/1223/47 987/1224/47 -f 991/1225/47 994/1226/47 992/1227/47 -f 997/1228/47 996/1229/47 995/1230/47 -f 999/1231/47 1002/1232/47 1000/1233/47 -f 1005/1234/47 1004/1235/47 1003/1236/47 -f 1007/1237/47 1010/1238/47 1008/1239/47 -f 1013/1240/47 1012/1241/47 1011/1242/47 -f 1015/1243/47 1018/1244/47 1016/1245/47 -f 1021/1246/47 1020/1247/47 1019/1248/47 -f 1023/1249/47 1026/1250/47 1024/1251/47 -f 1029/1252/44 1028/1253/44 1027/1254/44 -f 1033/1255/44 1032/1256/44 1031/1257/44 -f 1035/1258/44 1038/1259/44 1036/1260/44 -f 1039/1261/44 1042/1262/44 1040/1263/44 -f 1045/1264/44 1044/1265/44 1043/1266/44 -f 1049/1267/44 1048/1268/44 1047/1269/44 -f 1051/1270/44 1054/1271/44 1052/1272/44 -f 1055/1273/44 1058/1274/44 1056/1275/44 -f 1060/1276/46 1061/1277/46 1059/1278/46 -f 1064/1279/46 1065/1280/46 1063/1281/46 -f 1067/1282/46 1070/1283/46 1069/1284/46 -f 1071/1285/46 1074/1286/46 1073/1287/46 -f 1076/1288/46 1077/1289/46 1075/1290/46 -f 1080/1291/46 1081/1292/46 1079/1293/46 -f 1083/1294/46 1086/1295/46 1085/1296/46 -f 1087/1297/46 1090/1298/46 1089/1299/46 -f 1093/1300/44 1092/1301/44 1091/1302/44 -f 1095/1303/44 1098/1304/44 1096/1305/44 -f 1100/1306/46 1101/1307/46 1099/1308/46 -f 1103/1309/46 1106/1310/46 1105/1311/46 -f 1109/1312/47 1108/1313/47 1107/1314/47 -f 1111/1315/47 1114/1316/47 1112/1317/47 -f 1117/1318/47 1116/1319/47 1115/1320/47 -f 1119/1321/47 1122/1322/47 1120/1323/47 -f 1125/1324/47 1124/1325/47 1123/1326/47 -f 1127/1327/47 1130/1328/47 1128/1329/47 -f 1133/1330/47 1132/1331/47 1131/1332/47 -f 1135/1333/47 1138/1334/47 1136/1335/47 -f 1141/1336/47 1140/1337/47 1139/1338/47 -f 1143/1339/47 1146/1340/47 1144/1341/47 -f 1148/1342/45 1149/1343/45 1147/1344/45 -f 1151/1345/45 1154/1346/45 1153/1347/45 -f 1156/1348/45 1157/1349/45 1155/1350/45 -f 1159/1351/45 1162/1352/45 1161/1353/45 -f 1164/1354/45 1165/1355/45 1163/1356/45 -f 1167/1357/45 1170/1358/45 1169/1359/45 -f 1172/1360/45 1173/1361/45 1171/1362/45 -f 1175/1363/45 1178/1364/45 1177/1365/45 -f 1180/1366/45 1181/1367/45 1179/1368/45 -f 1183/1369/45 1186/1370/45 1185/1371/45 -f 667/842/42 670/875/42 669/843/42 -f 671/845/42 674/889/42 673/846/42 -f 675/848/42 678/877/42 677/849/42 -f 679/851/42 682/892/42 681/852/42 -f 685/854/43 686/874/43 683/855/43 -f 689/857/43 690/888/43 687/858/43 -f 693/860/43 694/876/43 691/861/43 -f 697/863/43 698/891/43 695/864/43 -f 677/866/44 693/873/44 692/867/44 -f 670/869/45 686/1372/45 685/870/45 -f 678/872/45 694/1373/45 693/873/45 -f 667/842/46 683/855/46 686/874/46 -f 675/848/46 691/861/46 694/876/46 -f 672/878/47 688/881/47 687/858/47 -f 680/879/47 696/883/47 695/864/47 -f 673/880/44 689/885/44 688/881/44 -f 681/882/44 697/887/44 696/883/44 -f 674/884/45 690/1374/45 689/885/45 -f 682/886/45 698/1375/45 697/887/45 -f 671/845/46 687/858/46 690/888/46 -f 668/890/47 684/893/47 683/855/47 -f 679/851/46 695/864/46 698/891/46 -f 676/868/47 692/867/47 691/861/47 -f 669/871/44 685/870/44 684/893/44 -f 699/894/43 702/901/43 701/895/43 -f 705/897/42 706/900/42 703/898/42 -f 699/894/46 703/898/46 706/900/46 -f 701/895/44 705/1376/44 704/902/44 -f 709/903/46 710/1377/46 708/904/46 -f 712/906/44 714/942/44 713/907/44 -f 709/909/42 726/937/42 730/910/42 -f 709/909/42 713/911/42 714/912/42 -f 709/914/48 707/1378/48 724/915/48 -f 708/904/43 712/943/43 711/917/43 -f 717/918/47 718/1379/47 716/919/47 -f 720/921/45 722/1380/45 721/922/45 -f 718/924/44 722/1381/44 720/925/44 -f 717/927/42 721/946/42 722/928/42 -f 711/917/43 728/1382/43 724/915/43 -f 716/919/43 720/1383/43 719/930/43 -f 725/931/45 726/916/45 724/915/45 -f 728/933/47 730/1384/47 729/934/47 -f 713/907/49 730/1384/49 728/933/49 -f 725/936/42 729/1385/42 730/910/42 -f 723/938/44 727/1386/44 729/939/44 -f 724/915/43 728/1382/43 727/941/43 -f 714/942/50 712/906/50 719/923/50 -f 708/904/43 715/920/43 719/930/43 -f 710/944/51 717/918/51 715/920/51 -f 721/946/42 717/927/42 710/913/42 -f 731/947/43 734/954/43 733/948/43 -f 737/950/42 738/953/42 735/951/42 -f 731/947/46 735/951/46 738/953/46 -f 733/948/44 737/1387/44 736/955/44 -f 740/956/45 744/1388/45 746/957/45 -f 741/959/47 745/962/47 743/960/47 -f 742/958/43 746/957/43 745/962/43 -f 739/961/42 743/960/42 744/963/42 -f 748/965/45 752/1389/45 754/966/45 -f 749/968/47 753/971/47 751/969/47 -f 750/967/43 754/966/43 753/971/43 -f 747/970/42 751/969/42 752/972/42 -f 755/974/43 758/981/43 757/975/43 -f 761/977/42 762/980/42 759/978/42 -f 755/974/46 759/978/46 762/980/46 -f 757/975/44 761/1390/44 760/982/44 -f 765/983/46 766/1391/46 764/984/46 -f 768/986/44 770/1022/44 769/987/44 -f 765/989/42 782/1017/42 786/990/42 -f 765/989/42 769/991/42 770/992/42 -f 765/994/48 763/1392/48 780/995/48 -f 764/984/43 768/1023/43 767/997/43 -f 773/998/47 774/1393/47 772/999/47 -f 776/1001/45 778/1394/45 777/1002/45 -f 774/1004/44 778/1395/44 776/1005/44 -f 773/1007/42 777/1026/42 778/1008/42 -f 767/997/43 784/1396/43 780/995/43 -f 772/999/43 776/1397/43 775/1010/43 -f 781/1011/45 782/996/45 780/995/45 -f 784/1013/47 786/1398/47 785/1014/47 -f 769/987/49 786/1398/49 784/1013/49 -f 781/1016/42 785/1399/42 786/990/42 -f 779/1018/44 783/1400/44 785/1019/44 -f 780/995/43 784/1396/43 783/1021/43 -f 770/1022/50 768/986/50 775/1003/50 -f 764/984/43 771/1000/43 775/1010/43 -f 766/1024/51 773/998/51 771/1000/51 -f 777/1026/42 773/1007/42 766/993/42 -f 787/1027/43 790/1034/43 789/1028/43 -f 793/1030/42 794/1033/42 791/1031/42 -f 787/1027/46 791/1031/46 794/1033/46 -f 789/1028/44 793/1401/44 792/1035/44 -f 796/1036/45 800/1402/45 802/1037/45 -f 797/1039/47 801/1042/47 799/1040/47 -f 798/1038/43 802/1037/43 801/1042/43 -f 795/1041/42 799/1040/42 800/1043/42 -f 804/1045/45 808/1403/45 810/1046/45 -f 805/1048/47 809/1051/47 807/1049/47 -f 806/1047/43 810/1046/43 809/1051/43 -f 803/1050/42 807/1049/42 808/1052/42 -f 811/1054/43 814/1061/43 813/1055/43 -f 817/1057/42 818/1060/42 815/1058/42 -f 811/1054/46 815/1058/46 818/1060/46 -f 813/1055/44 817/1404/44 816/1062/44 -f 821/1063/46 822/1405/46 820/1064/46 -f 824/1066/44 826/1100/44 825/1067/44 -f 821/1069/42 838/1096/42 842/1070/42 -f 821/1069/42 825/1071/42 826/1072/42 -f 821/1074/48 819/1406/48 836/1075/48 -f 820/1064/43 824/1101/43 823/1077/43 -f 829/1078/47 830/1407/47 828/1079/47 -f 832/1081/45 834/1408/45 833/1082/45 -f 830/1084/44 834/1408/44 832/1081/44 -f 829/1086/42 833/1104/42 834/1087/42 -f 823/1077/43 840/1409/43 836/1075/43 -f 828/1079/43 832/1410/43 831/1089/43 -f 837/1090/45 838/1076/45 836/1075/45 -f 840/1092/47 842/1411/47 841/1093/47 -f 825/1067/49 842/1411/49 840/1092/49 -f 837/1095/42 841/1412/42 842/1070/42 -f 835/1097/44 839/1094/44 841/1093/44 -f 836/1075/43 840/1409/43 839/1099/43 -f 826/1100/50 824/1066/50 831/1083/50 -f 820/1064/43 827/1080/43 831/1089/43 -f 822/1102/51 829/1078/51 827/1080/51 -f 833/1104/42 829/1086/42 822/1073/42 -f 843/1105/43 846/1112/43 845/1106/43 -f 849/1108/42 850/1111/42 847/1109/42 -f 843/1105/46 847/1109/46 850/1111/46 -f 845/1106/44 849/1413/44 848/1113/44 -f 852/1114/45 856/1414/45 858/1115/45 -f 853/1117/47 857/1120/47 855/1118/47 -f 854/1116/43 858/1115/43 857/1120/43 -f 851/1119/42 855/1118/42 856/1121/42 -f 860/1123/45 864/1415/45 866/1124/45 -f 861/1126/47 865/1129/47 863/1127/47 -f 862/1125/43 866/1124/43 865/1129/43 -f 859/1128/42 863/1127/42 864/1130/42 -f 868/1132/46 870/1416/46 869/1133/46 -f 872/1135/46 874/1417/46 873/1136/46 -f 875/1138/46 876/1418/46 878/1139/46 -f 879/1141/46 880/1419/46 882/1142/46 -f 884/1144/46 886/1420/46 885/1145/46 -f 888/1147/46 890/1421/46 889/1148/46 -f 891/1150/46 892/1422/46 894/1151/46 -f 895/1153/46 896/1423/46 898/1154/46 -f 901/1156/44 902/1424/44 900/1157/44 -f 905/1159/44 906/1425/44 904/1160/44 -f 907/1162/44 909/1426/44 910/1163/44 -f 911/1165/44 913/1427/44 914/1166/44 -f 917/1168/44 918/1428/44 916/1169/44 -f 921/1171/44 922/1429/44 920/1172/44 -f 923/1174/44 925/1430/44 926/1175/44 -f 927/1177/44 929/1431/44 930/1178/44 -f 932/1180/46 934/1432/46 933/1181/46 -f 935/1183/46 936/1433/46 938/1184/46 -f 941/1186/44 942/1434/44 940/1187/44 -f 943/1189/44 945/1435/44 946/1190/44 -f 948/1192/45 950/1436/45 949/1193/45 -f 951/1195/45 952/1437/45 954/1196/45 -f 956/1198/45 958/1438/45 957/1199/45 -f 959/1201/45 960/1439/45 962/1202/45 -f 964/1204/45 966/1440/45 965/1205/45 -f 967/1207/45 968/1441/45 970/1208/45 -f 972/1210/45 974/1442/45 973/1211/45 -f 975/1213/45 976/1443/45 978/1214/45 -f 980/1216/45 982/1444/45 981/1217/45 -f 983/1219/45 984/1445/45 986/1220/45 -f 989/1222/47 990/1446/47 988/1223/47 -f 991/1225/47 993/1447/47 994/1226/47 -f 997/1228/47 998/1448/47 996/1229/47 -f 999/1231/47 1001/1449/47 1002/1232/47 -f 1005/1234/47 1006/1450/47 1004/1235/47 -f 1007/1237/47 1009/1451/47 1010/1238/47 -f 1013/1240/47 1014/1452/47 1012/1241/47 -f 1015/1243/47 1017/1453/47 1018/1244/47 -f 1021/1246/47 1022/1454/47 1020/1247/47 -f 1023/1249/47 1025/1455/47 1026/1250/47 -f 1029/1252/44 1030/1456/44 1028/1253/44 -f 1033/1255/44 1034/1457/44 1032/1256/44 -f 1035/1258/44 1037/1458/44 1038/1259/44 -f 1039/1261/44 1041/1459/44 1042/1262/44 -f 1045/1264/44 1046/1460/44 1044/1265/44 -f 1049/1267/44 1050/1461/44 1048/1268/44 -f 1051/1270/44 1053/1462/44 1054/1271/44 -f 1055/1273/44 1057/1463/44 1058/1274/44 -f 1060/1276/46 1062/1464/46 1061/1277/46 -f 1064/1279/46 1066/1465/46 1065/1280/46 -f 1067/1282/46 1068/1466/46 1070/1283/46 -f 1071/1285/46 1072/1467/46 1074/1286/46 -f 1076/1288/46 1078/1468/46 1077/1289/46 -f 1080/1291/46 1082/1469/46 1081/1292/46 -f 1083/1294/46 1084/1470/46 1086/1295/46 -f 1087/1297/46 1088/1471/46 1090/1298/46 -f 1093/1300/44 1094/1472/44 1092/1301/44 -f 1095/1303/44 1097/1473/44 1098/1304/44 -f 1100/1306/46 1102/1474/46 1101/1307/46 -f 1103/1309/46 1104/1475/46 1106/1310/46 -f 1109/1312/47 1110/1476/47 1108/1313/47 -f 1111/1315/47 1113/1477/47 1114/1316/47 -f 1117/1318/47 1118/1478/47 1116/1319/47 -f 1119/1321/47 1121/1479/47 1122/1322/47 -f 1125/1324/47 1126/1480/47 1124/1325/47 -f 1127/1327/47 1129/1481/47 1130/1328/47 -f 1133/1330/47 1134/1482/47 1132/1331/47 -f 1135/1333/47 1137/1483/47 1138/1334/47 -f 1141/1336/47 1142/1484/47 1140/1337/47 -f 1143/1339/47 1145/1485/47 1146/1340/47 -f 1148/1342/45 1150/1486/45 1149/1343/45 -f 1151/1345/45 1152/1487/45 1154/1346/45 -f 1156/1348/45 1158/1488/45 1157/1349/45 -f 1159/1351/45 1160/1489/45 1162/1352/45 -f 1164/1354/45 1166/1490/45 1165/1355/45 -f 1167/1357/45 1168/1491/45 1170/1358/45 -f 1172/1360/45 1174/1492/45 1173/1361/45 -f 1175/1363/45 1176/1493/45 1178/1364/45 -f 1180/1366/45 1182/1494/45 1181/1367/45 -f 1183/1369/45 1184/1495/45 1186/1370/45 -o Atlas_Pad -v -1.500000 2.000000 1.500000 -v 1.500000 2.000000 1.500000 -v -1.500000 2.000000 -1.500000 -v 1.500000 2.000000 -1.500000 -v -3.500000 2.000000 3.500000 -v 3.500000 2.000000 3.500000 -v -3.500000 2.000000 -3.500000 -v 3.500000 2.000000 -3.500000 -v -3.500000 1.750000 -3.500000 -v -3.500000 1.750000 3.500000 -v 3.500000 1.750000 3.500000 -v 3.500000 1.750000 -3.500000 -v -3.250000 1.750000 3.250000 -v 3.250000 1.750000 3.250000 -v -3.250000 1.750000 -3.250000 -v 3.250000 1.750000 -3.250000 -v -3.250000 1.000000 -3.250000 -v -3.250000 1.000000 3.250000 -v 3.250000 1.000000 3.250000 -v 3.250000 1.000000 -3.250000 -v -0.500000 1.000000 0.500000 +f 967/1569/168 968/1570/168 969/1571/168 +f 970/1572/168 971/1573/168 972/1574/168 +f 973/1575/169 974/1576/169 975/1577/169 +f 976/1578/169 977/1579/169 978/1580/169 +f 979/1581/170 976/1582/170 971/1583/170 +f 970/1572/171 980/1584/171 979/1585/171 +f 981/1586/170 973/1587/170 968/1588/170 +f 967/1569/171 982/1589/171 981/1590/171 +f 972/1591/172 977/1579/172 970/1572/172 +f 971/1583/173 978/1592/173 972/1591/173 +f 969/1593/172 974/1576/172 967/1569/172 +f 968/1588/173 975/1594/173 969/1593/173 +f 983/1595/169 984/1596/169 985/1597/169 +f 986/1598/168 987/1599/168 988/1600/168 +f 984/1596/171 989/1601/171 985/1597/171 +f 990/1602/172 986/1603/172 984/1604/172 +f 983/1595/171 991/1605/171 990/1606/171 +f 985/1607/170 987/1608/170 983/1609/170 +f 992/1610/172 993/1611/172 994/1612/172 +f 986/1603/171 994/1612/171 984/1604/171 +f 985/1607/171 995/1613/171 988/1614/171 +f 988/1600/171 992/1615/171 986/1598/171 +f 993/1616/173 996/1617/173 997/1618/173 +f 994/1619/169 997/1618/169 989/1601/169 +f 989/1620/170 996/1621/170 995/1613/170 +f 995/1622/168 998/1623/168 992/1615/168 +f 999/1624/168 1000/1625/168 1001/1626/168 +f 1002/1627/170 1003/1628/170 999/1629/170 +f 1004/1630/169 1005/1631/169 1002/1632/169 +f 1006/1633/173 1003/1634/173 1005/1631/173 +f 1007/1635/171 1001/1626/171 1008/1636/171 +f 1009/1637/171 999/1629/171 1007/1638/171 +f 1008/1639/171 1004/1640/171 1010/1641/171 +f 1001/1642/172 1006/1643/172 1004/1640/172 +f 1009/1637/170 1011/1644/170 1012/1645/170 +f 1012/1646/171 1013/1647/171 1014/1648/171 +f 1014/1649/172 1008/1639/172 1010/1641/172 +f 1010/1650/171 1002/1632/171 1009/1651/171 +f 1008/1636/168 1011/1652/168 1007/1635/168 +f 1012/1646/169 1010/1650/169 1009/1651/169 +f 1015/1653/168 1016/1654/168 1017/1655/168 +f 1018/1656/170 1019/1657/170 1020/1658/170 +f 1021/1659/169 1022/1660/169 1023/1661/169 +f 1024/1662/172 1021/1659/172 1016/1654/172 +f 1025/1663/172 1026/1664/172 1027/1665/172 +f 1028/1666/168 1027/1665/168 1019/1667/168 +f 1026/1664/169 1018/1656/169 1020/1658/169 +f 1022/1660/170 1017/1668/170 1023/1661/170 +f 1029/1669/171 1030/1670/171 1031/1671/171 +f 1032/1672/173 1033/1673/173 1034/1674/173 +f 1029/1669/169 1035/1675/169 1036/1676/169 +f 1035/1677/169 1037/1678/169 1038/1679/169 +f 1030/1670/168 1034/1680/168 1031/1671/168 +f 1034/1681/168 1039/1682/168 1040/1683/168 +f 1032/1684/168 1030/1670/168 1041/1685/168 +f 1035/1675/169 1038/1686/169 1036/1676/169 +f 1038/1679/174 1030/1670/174 1036/1676/174 +f 1034/1680/168 1040/1687/168 1031/1671/168 +f 1033/1673/169 1029/1669/169 1042/1688/169 +f 1040/1683/175 1029/1669/175 1031/1671/175 +f 1043/1689/173 1037/1678/173 1044/1690/173 +f 1045/1691/173 1039/1682/173 1046/1692/173 +f 1032/1693/172 1044/1694/172 1035/1677/172 +f 1042/1695/169 1045/1696/169 1033/1697/169 +f 1040/1683/172 1047/1698/172 1042/1695/172 +f 1041/1699/168 1043/1700/168 1032/1701/168 +f 1038/1679/170 1048/1702/170 1041/1699/170 +f 1033/1697/170 1046/1703/170 1034/1704/170 +f 967/1569/168 981/1590/168 968/1570/168 +f 970/1572/168 979/1585/168 971/1573/168 +f 973/1575/169 982/1589/169 974/1576/169 +f 976/1578/169 980/1584/169 977/1579/169 +f 979/1581/170 980/1705/170 976/1582/170 +f 970/1572/171 977/1579/171 980/1584/171 +f 981/1586/170 982/1706/170 973/1587/170 +f 967/1569/171 974/1576/171 982/1589/171 +f 972/1591/172 978/1592/172 977/1579/172 +f 971/1583/173 976/1582/173 978/1592/173 +f 969/1593/172 975/1594/172 974/1576/172 +f 968/1588/173 973/1587/173 975/1594/173 +f 983/1595/169 990/1606/169 984/1596/169 +f 986/1598/168 991/1707/168 987/1599/168 +f 984/1596/171 994/1619/171 989/1601/171 +f 990/1602/172 991/1708/172 986/1603/172 +f 983/1595/171 987/1709/171 991/1605/171 +f 985/1607/170 988/1614/170 987/1608/170 +f 992/1610/172 998/1710/172 993/1611/172 +f 986/1603/171 992/1610/171 994/1612/171 +f 985/1607/171 989/1620/171 995/1613/171 +f 988/1600/171 995/1622/171 992/1615/171 +f 993/1616/173 998/1711/173 996/1617/173 +f 994/1619/169 993/1616/169 997/1618/169 +f 989/1620/170 997/1712/170 996/1621/170 +f 995/1622/168 996/1713/168 998/1623/168 +f 999/1624/168 1003/1714/168 1000/1625/168 +f 1002/1627/170 1005/1715/170 1003/1628/170 +f 1004/1630/169 1006/1633/169 1005/1631/169 +f 1006/1633/173 1000/1716/173 1003/1634/173 +f 1007/1635/171 999/1624/171 1001/1626/171 +f 1009/1637/171 1002/1627/171 999/1629/171 +f 1008/1639/171 1001/1642/171 1004/1640/171 +f 1001/1642/172 1000/1717/172 1006/1643/172 +f 1009/1637/170 1007/1638/170 1011/1644/170 +f 1012/1646/171 1011/1718/171 1013/1647/171 +f 1014/1649/172 1013/1719/172 1008/1639/172 +f 1010/1650/171 1004/1630/171 1002/1632/171 +f 1008/1636/168 1013/1720/168 1011/1652/168 +f 1012/1646/169 1014/1648/169 1010/1650/169 +f 1015/1653/168 1024/1662/168 1016/1654/168 +f 1018/1656/170 1028/1721/170 1019/1657/170 +f 1021/1659/169 1049/1722/169 1022/1660/169 +f 1024/1662/172 1049/1722/172 1021/1659/172 +f 1025/1663/172 1050/1723/172 1026/1664/172 +f 1028/1666/168 1025/1663/168 1027/1665/168 +f 1026/1664/169 1050/1723/169 1018/1656/169 +f 1022/1660/170 1015/1724/170 1017/1668/170 +f 1029/1669/171 1036/1676/171 1030/1670/171 +f 1032/1672/173 1035/1675/173 1033/1673/173 +f 1029/1669/169 1033/1673/169 1035/1675/169 +f 1035/1677/169 1044/1694/169 1037/1678/169 +f 1030/1670/168 1032/1684/168 1034/1680/168 +f 1034/1681/168 1046/1725/168 1039/1682/168 +f 1038/1679/174 1041/1699/174 1030/1670/174 +f 1040/1683/175 1042/1695/175 1029/1669/175 +f 1043/1689/173 1048/1702/173 1037/1678/173 +f 1045/1691/173 1047/1698/173 1039/1682/173 +f 1032/1693/172 1043/1726/172 1044/1694/172 +f 1042/1695/169 1047/1698/169 1045/1696/169 +f 1040/1683/172 1039/1682/172 1047/1698/172 +f 1041/1699/168 1048/1702/168 1043/1700/168 +f 1038/1679/170 1037/1678/170 1048/1702/170 +f 1033/1697/170 1045/1696/170 1046/1703/170 +o Strong_Pivot +v 0.750000 3.500000 -2.750000 +v 0.250000 3.500000 -3.250000 +v 0.250000 3.500000 -2.750000 +v 0.750000 1.500000 -3.250000 +v 0.750000 1.500000 -2.750000 +v 0.250000 1.500000 -3.250000 +v 0.750000 3.500000 -3.250000 +v 0.250000 1.500000 -2.750000 +v -0.250000 3.500000 -2.750000 +v -0.750000 3.500000 -3.250000 +v -0.750000 3.500000 -2.750000 +v -0.250000 1.500000 -3.250000 +v -0.250000 1.500000 -2.750000 +v -0.750000 1.500000 -3.250000 +v -0.250000 3.500000 -3.250000 +v -0.750000 1.500000 -2.750000 +v 0.312500 4.500000 -3.187500 +v 0.687500 3.500000 -3.187500 +v 0.312500 3.500000 -3.187500 +v 0.687500 4.500000 -2.812500 +v 0.312500 3.500000 -2.812500 +v 0.687500 3.500000 -2.812500 +v 0.687500 4.500000 -3.187500 +v 0.312500 4.500000 -2.812500 +v -0.687500 4.500000 -3.187500 +v -0.312500 3.500000 -3.187500 +v -0.687500 3.500000 -3.187500 +v -0.312500 4.500000 -2.812500 +v -0.687500 3.500000 -2.812500 +v -0.312500 3.500000 -2.812500 +v -0.312500 4.500000 -3.187500 +v -0.687500 4.500000 -2.812500 +vt 0.794872 0.224719 +vt 0.820513 0.179775 +vt 0.820513 0.224719 +vt 0.897436 0.000000 +vt 0.871795 0.179775 +vt 0.871795 0.000000 +vt 0.820513 0.000000 +vt 0.794872 0.179775 +vt 0.794872 0.000000 +vt 0.846154 0.000000 +vt 0.846154 0.179775 +vt 0.794872 0.224719 +vt 0.820513 0.179775 +vt 0.820513 0.224719 +vt 0.897436 0.000000 +vt 0.871795 0.179775 +vt 0.871795 0.000000 +vt 0.820513 0.000000 +vt 0.794872 0.179775 +vt 0.794872 0.000000 +vt 0.846154 0.000000 +vt 0.846154 0.179775 +vt 0.839744 0.269663 +vt 0.820513 0.179775 +vt 0.839744 0.179775 +vt 0.878205 0.269663 +vt 0.858974 0.179775 +vt 0.878205 0.179775 +vt 0.897436 0.269663 +vt 0.897436 0.179775 +vt 0.858974 0.269663 +vt 0.839744 0.269663 +vt 0.820513 0.179775 +vt 0.839744 0.179775 +vt 0.878205 0.269663 +vt 0.858974 0.179775 +vt 0.878205 0.179775 +vt 0.897436 0.269663 +vt 0.897436 0.179775 +vt 0.858974 0.269663 +vt 0.897436 0.179775 +vt 0.897436 0.179775 +vt 0.820513 0.269663 +vt 0.820513 0.269663 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -0.0000 1.0000 +s off +f 1051/1727/176 1052/1728/176 1053/1729/176 +f 1054/1730/177 1051/1731/177 1055/1732/177 +f 1056/1733/178 1057/1734/178 1054/1735/178 +f 1058/1736/179 1052/1728/179 1056/1733/179 +f 1055/1732/180 1053/1737/180 1058/1736/180 +f 1059/1738/176 1060/1739/176 1061/1740/176 +f 1062/1741/177 1059/1742/177 1063/1743/177 +f 1064/1744/178 1065/1745/178 1062/1746/178 +f 1066/1747/179 1060/1739/179 1064/1744/179 +f 1063/1743/180 1061/1748/180 1066/1747/180 +f 1067/1749/178 1068/1750/178 1069/1751/178 +f 1070/1752/180 1071/1753/180 1072/1754/180 +f 1073/1755/177 1072/1754/177 1068/1756/177 +f 1074/1757/179 1069/1751/179 1071/1753/179 +f 1075/1758/178 1076/1759/178 1077/1760/178 +f 1078/1761/180 1079/1762/180 1080/1763/180 +f 1081/1764/177 1080/1763/177 1076/1765/177 +f 1082/1766/179 1077/1760/179 1079/1762/179 +f 1051/1727/176 1057/1734/176 1052/1728/176 +f 1054/1730/177 1057/1767/177 1051/1731/177 +f 1056/1733/178 1052/1728/178 1057/1734/178 +f 1058/1736/179 1053/1737/179 1052/1728/179 +f 1055/1732/180 1051/1731/180 1053/1737/180 +f 1059/1738/176 1065/1745/176 1060/1739/176 +f 1062/1741/177 1065/1768/177 1059/1742/177 +f 1064/1744/178 1060/1739/178 1065/1745/178 +f 1066/1747/179 1061/1748/179 1060/1739/179 +f 1063/1743/180 1059/1742/180 1061/1748/180 +f 1067/1749/178 1073/1769/178 1068/1750/178 +f 1070/1752/180 1074/1757/180 1071/1753/180 +f 1073/1755/177 1070/1752/177 1072/1754/177 +f 1074/1757/179 1067/1749/179 1069/1751/179 +f 1075/1758/178 1081/1770/178 1076/1759/178 +f 1078/1761/180 1082/1766/180 1079/1762/180 +f 1081/1764/177 1078/1761/177 1080/1763/177 +f 1082/1766/179 1075/1758/179 1077/1760/179 +o Strong_Rope +v -0.250000 8.500000 2.500000 +v 0.250000 8.500000 0.250000 +v 0.250000 8.500000 2.500000 +v 0.250000 9.000000 0.250000 +v 0.250000 9.000000 2.500000 +v -0.250000 9.000000 2.500000 +v -0.250000 8.500000 0.250000 +v -0.250000 9.000000 0.250000 +v 0.000000 10.812500 0.500000 +v 0.000000 10.875000 0.000000 +v 0.000000 11.000000 0.000000 +v 0.000000 10.875000 2.500000 +v 0.000000 10.812500 2.000000 +v 0.000000 11.000000 2.500000 +v 0.000000 10.687500 2.000000 +v 0.000000 10.750000 1.500000 +v 0.000000 10.625000 1.500000 +v 0.000000 10.750000 1.000000 +v 0.000000 10.687500 0.500000 +v 0.000000 10.812500 0.500000 +v 0.000000 10.875000 0.000000 +v 0.000000 10.687500 0.500000 +v 0.000000 10.812500 2.000000 +v 0.000000 10.875000 2.500000 +v 0.000000 11.000000 2.500000 +v 0.000000 10.750000 1.500000 +v 0.000000 10.687500 2.000000 +v 0.000000 10.750000 1.000000 +v 0.000000 10.625000 1.500000 +v 0.000000 10.625000 1.000000 +v 0.000000 10.625000 1.000000 +v 0.000000 11.000000 0.000000 +v 1.000000 7.625000 0.000000 +v 0.625000 7.661612 -0.088388 +v 1.000000 7.661612 -0.088388 +v 1.000000 7.838388 -0.088388 +v 0.625000 7.875000 0.000000 +v 1.000000 7.875000 0.000000 +v 0.625000 7.750000 -0.125000 +v 1.000000 7.750000 -0.125000 +v 1.000000 7.838388 0.088388 +v 0.625000 7.750000 0.125000 +v 1.000000 7.750000 0.125000 +v 1.000000 7.661612 0.088388 +v 0.625000 7.625000 0.000000 +v 0.625000 7.661612 0.088388 +v 0.625000 7.838388 0.088388 +v 0.625000 7.838388 -0.088388 +v 1.025888 7.661612 0.099112 +v 1.036612 7.661612 0.125000 +v 1.025888 7.838388 0.099112 +v 1.036612 7.838388 0.125000 +v 1.150888 7.838388 -0.025888 +v 1.088388 7.875000 0.036612 +v 1.150888 7.661612 -0.025888 +v 1.176777 7.750000 -0.051777 +v 1.088388 7.625000 0.036612 +v 1.213388 7.838388 0.125000 +v 1.213388 7.661612 0.125000 +v 1.125000 7.875000 0.125000 +v 1.250000 7.750000 0.125000 +v 1.125000 7.625000 0.125000 +v 1.213388 7.838388 2.875000 +v 1.125000 7.875000 2.875000 +v 1.213388 7.661612 2.875000 +v 1.250000 7.750000 2.875000 +v 1.036612 7.838388 2.875000 +v 1.000000 7.750000 2.875000 +v 1.036612 7.661612 2.875000 +v 1.125000 7.625000 2.875000 +v 1.025888 7.661612 2.900888 +v 1.000000 7.661612 2.911612 +v 1.025888 7.838388 2.900888 +v 1.000000 7.838388 2.911612 +v 1.088388 7.875000 2.963388 +v 1.150888 7.838388 3.025888 +v 1.176777 7.750000 3.051777 +v 1.150888 7.661612 3.025888 +v 1.088388 7.625000 2.963388 +v 1.000000 7.661612 3.088388 +v 1.000000 7.625000 3.000000 +v 1.000000 7.838388 3.088388 +v 1.000000 7.875000 3.000000 +v 1.000000 7.750000 3.125000 +v 1.176777 5.500000 3.051777 +v 1.000000 5.588388 3.088388 +v 1.000000 5.500000 3.125000 +v 1.000000 5.625000 3.000000 +v 1.025888 5.588388 2.900888 +v 1.000000 5.588388 2.911612 +v 1.000000 5.411612 2.911612 +v 1.088388 5.375000 2.963388 +v 1.000000 5.375000 3.000000 +v 1.000000 5.411612 3.088388 +v 1.088388 5.625000 2.963388 +v 1.213388 5.411612 2.875000 +v 1.150888 5.411612 3.025888 +v 1.213388 5.588388 2.875000 +v 1.150888 5.588388 3.025888 +v 1.125000 5.625000 2.875000 +v 1.025888 5.411612 2.900888 +v 1.125000 5.375000 2.875000 +v 1.000000 5.500000 2.875000 +v 1.036612 5.588388 2.875000 +v 1.036612 5.411612 2.875000 +v 1.213388 5.411612 0.125000 +v 1.250000 5.500000 2.875000 +v 1.213388 5.588388 0.125000 +v 1.036612 5.588388 0.125000 +v 1.036612 5.411612 0.125000 +v 1.125000 5.375000 0.125000 +v 1.000000 5.500000 0.125000 +v 1.250000 5.500000 0.125000 +v 1.125000 5.625000 0.125000 +v 1.088388 5.375000 0.036612 +v 1.176777 5.500000 -0.051777 +v 1.088388 5.625000 0.036612 +v 1.150888 5.411612 -0.025888 +v 1.150888 5.588388 -0.025888 +v 1.025888 5.588388 0.099112 +v 1.000000 5.375000 0.000000 +v 1.000000 5.411612 -0.088388 +v 1.000000 5.500000 -0.125000 +v 1.000000 5.588388 -0.088388 +v 1.000000 5.588388 0.088388 +v 1.025888 5.411612 0.099112 +v 1.000000 5.625000 0.000000 +v 1.000000 5.411612 0.088388 +v 0.625000 5.588388 -0.088388 +v 0.625000 5.588388 0.088388 +v 0.625000 5.411612 0.088388 +v 0.625000 5.375000 0.000000 +v 0.625000 5.500000 0.125000 +v 0.625000 5.500000 -0.125000 +v 0.625000 5.625000 0.000000 +v 0.625000 5.411612 -0.088388 +vt 0.692308 0.449438 +vt 0.666667 0.651685 +vt 0.666667 0.449438 +vt 0.769231 0.449438 +vt 0.743590 0.651685 +vt 0.743590 0.449438 +vt 0.717949 0.449438 +vt 0.692308 0.651685 +vt 0.717949 0.651685 +vt 0.461538 0.910112 +vt 0.487179 0.898876 +vt 0.487179 0.910112 +vt 0.358974 0.898876 +vt 0.384615 0.910112 +vt 0.358974 0.910112 +vt 0.384615 0.898876 +vt 0.410256 0.910112 +vt 0.410256 0.898876 +vt 0.435897 0.910112 +vt 0.461538 0.898876 +vt 0.461538 0.910112 +vt 0.487179 0.898876 +vt 0.461538 0.898876 +vt 0.384615 0.910112 +vt 0.358974 0.898876 +vt 0.358974 0.910112 +vt 0.410256 0.910112 +vt 0.384615 0.898876 +vt 0.435897 0.910112 +vt 0.410256 0.898876 +vt 0.435897 0.898876 +vt 0.769231 0.651685 +vt 0.435897 0.898876 +vt 0.487179 0.910112 +vt 0.705128 0.966292 +vt 0.698718 1.000000 +vt 0.698718 0.966292 +vt 0.685897 0.966292 +vt 0.679487 1.000000 +vt 0.679487 0.966292 +vt 0.692308 1.000000 +vt 0.692308 0.966292 +vt 0.673077 0.966292 +vt 0.666667 1.000000 +vt 0.666667 0.966292 +vt 0.711538 0.966292 +vt 0.705128 1.000000 +vt 0.717949 0.966292 +vt 0.711538 1.000000 +vt 0.673077 1.000000 +vt 0.685897 1.000000 +vt 0.711538 0.949438 +vt 0.717949 0.949438 +vt 0.711538 0.955056 +vt 0.711538 0.943820 +vt 0.673077 0.949438 +vt 0.673077 0.955056 +vt 0.666667 0.949438 +vt 0.673077 0.943820 +vt 0.685897 0.949438 +vt 0.679487 0.960674 +vt 0.679487 0.949438 +vt 0.698718 0.949438 +vt 0.692308 0.949438 +vt 0.705128 0.960674 +vt 0.705128 0.949438 +vt 0.685897 0.932584 +vt 0.698718 0.932584 +vt 0.679487 0.938202 +vt 0.692308 0.932584 +vt 0.705128 0.938202 +vt 0.685897 0.685393 +vt 0.679487 0.932584 +vt 0.679487 0.685393 +vt 0.698718 0.685393 +vt 0.692308 0.685393 +vt 0.673077 0.685393 +vt 0.666667 0.932584 +vt 0.666667 0.685393 +vt 0.711538 0.685393 +vt 0.705128 0.932584 +vt 0.705128 0.685393 +vt 0.717949 0.685393 +vt 0.711538 0.932584 +vt 0.673077 0.932584 +vt 0.711538 0.668539 +vt 0.717949 0.668539 +vt 0.711538 0.674157 +vt 0.711538 0.662921 +vt 0.673077 0.668539 +vt 0.673077 0.674157 +vt 0.666667 0.668539 +vt 0.673077 0.662921 +vt 0.679487 0.668539 +vt 0.685897 0.668539 +vt 0.692308 0.668539 +vt 0.698718 0.668539 +vt 0.705128 0.679775 +vt 0.705128 0.668539 +vt 0.679487 0.679775 +vt 0.698718 0.651685 +vt 0.705128 0.657303 +vt 0.685897 0.651685 +vt 0.679487 0.657303 +vt 0.692308 0.651685 +vt 0.692308 0.668539 +vt 0.685897 0.651685 +vt 0.692308 0.651685 +vt 0.679487 0.657303 +vt 0.673077 0.668539 +vt 0.673077 0.662921 +vt 0.711538 0.662921 +vt 0.705128 0.668539 +vt 0.705128 0.657303 +vt 0.698718 0.651685 +vt 0.679487 0.668539 +vt 0.698718 0.685393 +vt 0.698718 0.668539 +vt 0.685897 0.685393 +vt 0.685897 0.668539 +vt 0.679487 0.679775 +vt 0.711538 0.668539 +vt 0.705128 0.679775 +vt 0.666667 0.668539 +vt 0.673077 0.674157 +vt 0.717949 0.668539 +vt 0.711538 0.674157 +vt 0.705128 0.685393 +vt 0.698718 0.932584 +vt 0.692308 0.685393 +vt 0.685897 0.932584 +vt 0.679487 0.685393 +vt 0.673077 0.932584 +vt 0.673077 0.685393 +vt 0.717949 0.685393 +vt 0.711538 0.932584 +vt 0.711538 0.685393 +vt 0.705128 0.932584 +vt 0.666667 0.932584 +vt 0.666667 0.685393 +vt 0.692308 0.932584 +vt 0.679487 0.932584 +vt 0.711538 0.943820 +vt 0.705128 0.949438 +vt 0.705128 0.938202 +vt 0.692308 0.949438 +vt 0.679487 0.949438 +vt 0.679487 0.938202 +vt 0.698718 0.949438 +vt 0.685897 0.949438 +vt 0.673077 0.943820 +vt 0.673077 0.949438 +vt 0.705128 0.960674 +vt 0.698718 0.966292 +vt 0.692308 0.966292 +vt 0.685897 0.966292 +vt 0.673077 0.955056 +vt 0.711538 0.949438 +vt 0.679487 0.960674 +vt 0.666667 0.949438 +vt 0.717949 0.949438 +vt 0.711538 0.955056 +vt 0.685897 1.000000 +vt 0.679487 0.966292 +vt 0.673077 1.000000 +vt 0.673077 0.966292 +vt 0.717949 0.966292 +vt 0.711538 1.000000 +vt 0.711538 0.966292 +vt 0.705128 1.000000 +vt 0.705128 0.966292 +vt 0.666667 1.000000 +vt 0.666667 0.966292 +vt 0.692308 1.000000 +vt 0.679487 1.000000 +vt 0.698718 1.000000 +vt 0.717949 1.000000 +vt 0.717949 0.932584 +vt 0.717949 0.932584 +vt 0.717949 1.000000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0196 -0.9987 -0.0473 +vn 0.0000 -0.7071 -0.7071 +vn 0.1448 -0.6794 -0.7194 +vn 0.1448 0.6794 -0.7194 +vn 0.0196 0.9987 -0.0473 +vn 0.0000 -0.0000 -1.0000 +vn 0.1866 0.0000 -0.9824 +vn -0.1363 0.7263 0.6737 +vn 0.0000 0.0000 1.0000 +vn -0.7071 -0.0000 0.7071 +vn -0.1363 -0.7263 0.6737 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +vn -0.4617 -0.7574 0.4617 +vn -0.6737 -0.7263 0.1363 +vn -0.4617 0.7574 0.4617 +vn -0.6737 0.7263 0.1363 +vn 0.5293 0.6630 -0.5294 +vn 0.0671 0.9955 -0.0671 +vn 0.5293 -0.6630 -0.5294 +vn 0.7071 0.0000 -0.7071 +vn 0.0671 -0.9955 -0.0671 +vn 0.7194 0.6794 -0.1448 +vn 0.7194 -0.6794 -0.1448 +vn 0.0473 0.9987 -0.0196 +vn 0.9824 -0.0000 -0.1866 +vn 0.0473 -0.9987 -0.0196 +vn 0.7194 0.6794 0.1448 +vn 0.0473 0.9987 0.0196 +vn 0.7194 -0.6794 0.1448 +vn 0.9824 -0.0000 0.1866 +vn -0.6737 0.7263 -0.1363 +vn -0.9809 -0.0000 -0.1944 +vn -0.6737 -0.7263 -0.1363 +vn 0.0473 -0.9987 0.0196 +vn -0.4617 -0.7574 -0.4617 +vn -0.2611 -0.7311 -0.6303 +vn -0.4617 0.7574 -0.4617 +vn -0.2611 0.7311 -0.6303 +vn 0.0671 0.9955 0.0671 +vn 0.5294 0.6630 0.5293 +vn 0.7071 0.0000 0.7071 +vn 0.5293 -0.6630 0.5294 +vn 0.0671 -0.9955 0.0671 +vn 0.2962 -0.6333 0.7150 +vn 0.0393 -0.9947 0.0948 +vn 0.2962 0.6333 0.7150 +vn 0.0393 0.9947 0.0948 +vn 0.3827 0.0000 0.9239 +vn 0.5293 -0.6630 0.5293 +vn 0.5293 0.6630 0.5294 +s off +f 1083/1771/181 1084/1772/181 1085/1773/181 +f 1085/1774/182 1086/1775/182 1087/1776/182 +f 1088/1777/183 1089/1778/183 1083/1771/183 +f 1087/1776/184 1090/1779/184 1088/1777/184 +f 1091/1780/182 1092/1781/182 1093/1782/182 +f 1094/1783/182 1095/1784/182 1096/1785/182 +f 1097/1786/182 1098/1787/182 1095/1784/182 +f 1099/1788/182 1100/1789/182 1098/1787/182 +f 1100/1789/182 1101/1790/182 1091/1780/182 +f 1102/1791/183 1103/1792/183 1104/1793/183 +f 1105/1794/183 1106/1795/183 1107/1796/183 +f 1108/1797/183 1109/1798/183 1105/1794/183 +f 1110/1799/183 1111/1800/183 1108/1797/183 +f 1110/1799/183 1104/1793/183 1112/1801/183 +f 1083/1771/181 1089/1778/181 1084/1772/181 +f 1085/1774/182 1084/1802/182 1086/1775/182 +f 1088/1777/183 1090/1779/183 1089/1778/183 +f 1087/1776/184 1086/1775/184 1090/1779/184 +f 1091/1780/182 1101/1790/182 1092/1781/182 +f 1094/1783/182 1097/1786/182 1095/1784/182 +f 1097/1786/182 1099/1788/182 1098/1787/182 +f 1099/1788/182 1113/1803/182 1100/1789/182 +f 1100/1789/182 1113/1803/182 1101/1790/182 +f 1102/1791/183 1114/1804/183 1103/1792/183 +f 1105/1794/183 1109/1798/183 1106/1795/183 +f 1108/1797/183 1111/1800/183 1109/1798/183 +f 1110/1799/183 1112/1801/183 1111/1800/183 +f 1110/1799/183 1102/1791/183 1104/1793/183 +s 1 +f 1115/1805/185 1116/1806/186 1117/1807/187 +f 1118/1808/188 1119/1809/184 1120/1810/189 +f 1117/1807/187 1121/1811/190 1122/1812/191 +f 1123/1813/192 1124/1814/193 1125/1815/194 +f 1126/1816/195 1127/1817/181 1115/1805/185 +f 1125/1818/194 1128/1819/196 1126/1816/195 +f 1120/1810/189 1129/1820/197 1123/1813/192 +f 1122/1812/191 1130/1821/198 1118/1808/188 +f 1131/1822/199 1125/1823/194 1126/1824/195 +f 1125/1823/194 1131/1822/199 1132/1825/200 +f 1133/1826/201 1123/1827/192 1125/1828/194 +f 1134/1829/202 1133/1826/201 1125/1828/194 +f 1135/1830/203 1120/1831/189 1136/1832/204 +f 1137/1833/205 1122/1812/191 1138/1834/206 +f 1131/1822/199 1115/1835/185 1139/1836/207 +f 1136/1832/204 1123/1827/192 1133/1826/201 +f 1135/1830/203 1122/1812/191 1118/1808/188 +f 1139/1836/207 1117/1807/187 1137/1833/205 +f 1134/1829/202 1136/1832/204 1133/1826/201 +f 1140/1837/208 1138/1834/206 1135/1830/203 +f 1141/1838/209 1139/1836/207 1137/1833/205 +f 1140/1837/208 1136/1832/204 1142/1839/210 +f 1141/1838/209 1138/1834/206 1143/1840/211 +f 1144/1841/212 1131/1822/199 1139/1836/207 +f 1145/1842/213 1142/1843/210 1146/1844/214 +f 1147/1845/215 1143/1840/211 1148/1846/216 +f 1149/1847/217 1125/1848/194 1150/1849/218 +f 1151/1850/219 1144/1851/212 1152/1852/220 +f 1150/1853/218 1132/1854/200 1151/1850/219 +f 1146/1844/214 1134/1855/202 1149/1847/217 +f 1148/1846/216 1140/1837/208 1145/1842/213 +f 1152/1852/220 1141/1838/209 1147/1845/215 +f 1153/1856/221 1150/1857/218 1151/1858/219 +f 1154/1859/222 1150/1857/218 1153/1856/221 +f 1155/1860/223 1149/1861/217 1150/1862/218 +f 1150/1862/218 1156/1863/224 1155/1860/223 +f 1145/1842/213 1157/1864/225 1158/1865/226 +f 1147/1845/215 1159/1866/227 1160/1867/228 +f 1153/1856/221 1152/1868/220 1161/1869/229 +f 1146/1870/214 1155/1860/223 1157/1864/225 +f 1159/1866/227 1145/1842/213 1158/1865/226 +f 1161/1869/229 1147/1845/215 1160/1867/228 +f 1161/1869/229 1162/1871/230 1163/1872/231 +f 1164/1873/232 1157/1864/225 1165/1874/233 +f 1162/1871/230 1159/1866/227 1166/1875/234 +f 1154/1859/222 1161/1869/229 1163/1872/231 +f 1165/1874/233 1155/1860/223 1156/1863/224 +f 1159/1866/227 1164/1873/232 1166/1875/234 +f 1167/1876/227 1168/1877/232 1169/1878/234 +f 1170/1879/233 1171/1880/223 1172/1881/224 +f 1173/1882/222 1174/1883/229 1175/1884/231 +f 1176/1885/230 1167/1876/227 1169/1878/234 +f 1168/1877/232 1177/1886/225 1170/1879/233 +f 1174/1883/229 1176/1885/230 1175/1884/231 +f 1174/1883/229 1178/1887/215 1179/1888/235 +f 1167/1876/227 1180/1889/213 1181/1890/236 +f 1182/1891/214 1171/1880/223 1177/1886/225 +f 1183/1892/221 1184/1893/220 1174/1883/229 +f 1178/1887/215 1167/1876/227 1179/1888/235 +f 1180/1889/213 1177/1886/225 1181/1890/236 +f 1185/1894/218 1172/1881/224 1171/1880/223 +f 1171/1880/223 1186/1895/217 1185/1894/218 +f 1173/1882/222 1185/1896/218 1183/1892/221 +f 1183/1892/221 1185/1896/218 1187/1897/219 +f 1184/1898/220 1188/1899/209 1178/1887/215 +f 1189/1900/216 1190/1901/208 1180/1889/213 +f 1182/1902/214 1191/1903/202 1186/1904/217 +f 1185/1905/218 1192/1906/200 1187/1907/219 +f 1187/1907/219 1193/1908/212 1184/1898/220 +f 1186/1904/217 1194/1909/194 1185/1910/218 +f 1178/1887/215 1195/1911/211 1189/1900/216 +f 1180/1889/213 1196/1912/210 1182/1902/214 +f 1192/1913/200 1197/1914/207 1193/1915/212 +f 1188/1899/209 1198/1916/206 1195/1911/211 +f 1190/1901/208 1199/1917/204 1196/1918/210 +f 1193/1915/212 1200/1919/205 1188/1899/209 +f 1190/1901/208 1198/1916/206 1201/1920/203 +f 1191/1921/202 1199/1917/204 1202/1922/201 +f 1200/1919/205 1203/1923/185 1204/1924/187 +f 1201/1920/203 1205/1925/191 1206/1926/188 +f 1199/1917/204 1207/1927/192 1202/1922/201 +f 1208/1928/199 1203/1923/185 1197/1914/207 +f 1200/1919/205 1205/1925/191 1198/1916/206 +f 1201/1920/203 1209/1929/189 1199/1917/204 +f 1191/1921/202 1202/1922/201 1194/1930/194 +f 1202/1922/201 1207/1927/192 1194/1930/194 +f 1194/1931/194 1208/1928/199 1192/1913/200 +f 1208/1928/199 1194/1931/194 1210/1932/195 +f 1205/1925/191 1211/1933/198 1206/1926/188 +f 1209/1934/189 1212/1935/197 1207/1936/192 +f 1194/1937/194 1213/1938/196 1210/1939/195 +f 1210/1939/195 1214/1940/181 1203/1941/185 +f 1207/1936/192 1215/1942/193 1194/1943/194 +f 1204/1924/187 1216/1944/190 1205/1925/191 +f 1206/1926/188 1217/1945/184 1209/1934/189 +f 1203/1941/185 1218/1946/186 1204/1924/187 +f 1115/1805/185 1127/1817/181 1116/1806/186 +f 1118/1808/188 1130/1821/198 1119/1809/184 +f 1117/1807/187 1116/1806/186 1121/1811/190 +f 1123/1813/192 1129/1820/197 1124/1814/193 +f 1126/1816/195 1128/1819/196 1127/1817/181 +f 1125/1818/194 1124/1947/193 1128/1819/196 +f 1120/1810/189 1119/1809/184 1129/1820/197 +f 1122/1812/191 1121/1811/190 1130/1821/198 +f 1135/1830/203 1118/1808/188 1120/1831/189 +f 1137/1833/205 1117/1807/187 1122/1812/191 +f 1131/1822/199 1126/1824/195 1115/1835/185 +f 1136/1832/204 1120/1831/189 1123/1827/192 +f 1135/1830/203 1138/1834/206 1122/1812/191 +f 1139/1836/207 1115/1835/185 1117/1807/187 +f 1134/1829/202 1142/1839/210 1136/1832/204 +f 1140/1837/208 1143/1840/211 1138/1834/206 +f 1141/1838/209 1144/1841/212 1139/1836/207 +f 1140/1837/208 1135/1830/203 1136/1832/204 +f 1141/1838/209 1137/1833/205 1138/1834/206 +f 1144/1841/212 1132/1825/200 1131/1822/199 +f 1145/1842/213 1140/1837/208 1142/1843/210 +f 1147/1845/215 1141/1838/209 1143/1840/211 +f 1149/1847/217 1134/1855/202 1125/1848/194 +f 1151/1850/219 1132/1854/200 1144/1851/212 +f 1150/1853/218 1125/1948/194 1132/1854/200 +f 1146/1844/214 1142/1843/210 1134/1855/202 +f 1148/1846/216 1143/1840/211 1140/1837/208 +f 1152/1852/220 1144/1851/212 1141/1838/209 +f 1145/1842/213 1146/1870/214 1157/1864/225 +f 1147/1845/215 1148/1846/216 1159/1866/227 +f 1153/1856/221 1151/1858/219 1152/1868/220 +f 1146/1870/214 1149/1861/217 1155/1860/223 +f 1159/1866/227 1148/1846/216 1145/1842/213 +f 1161/1869/229 1152/1868/220 1147/1845/215 +f 1161/1869/229 1160/1867/228 1162/1871/230 +f 1164/1873/232 1158/1865/226 1157/1864/225 +f 1162/1871/230 1160/1867/228 1159/1866/227 +f 1154/1859/222 1153/1856/221 1161/1869/229 +f 1165/1874/233 1157/1864/225 1155/1860/223 +f 1159/1866/227 1158/1865/226 1164/1873/232 +f 1167/1876/227 1181/1890/236 1168/1877/232 +f 1170/1879/233 1177/1886/225 1171/1880/223 +f 1173/1882/222 1183/1892/221 1174/1883/229 +f 1176/1885/230 1179/1888/235 1167/1876/227 +f 1168/1877/232 1181/1890/236 1177/1886/225 +f 1174/1883/229 1179/1888/235 1176/1885/230 +f 1174/1883/229 1184/1893/220 1178/1887/215 +f 1167/1876/227 1189/1900/216 1180/1889/213 +f 1182/1891/214 1186/1895/217 1171/1880/223 +f 1183/1892/221 1187/1897/219 1184/1893/220 +f 1178/1887/215 1189/1900/216 1167/1876/227 +f 1180/1889/213 1182/1891/214 1177/1886/225 +f 1184/1898/220 1193/1908/212 1188/1899/209 +f 1189/1900/216 1195/1911/211 1190/1901/208 +f 1182/1902/214 1196/1912/210 1191/1903/202 +f 1185/1905/218 1194/1949/194 1192/1906/200 +f 1187/1907/219 1192/1906/200 1193/1908/212 +f 1186/1904/217 1191/1903/202 1194/1909/194 +f 1178/1887/215 1188/1899/209 1195/1911/211 +f 1180/1889/213 1190/1901/208 1196/1912/210 +f 1192/1913/200 1208/1928/199 1197/1914/207 +f 1188/1899/209 1200/1919/205 1198/1916/206 +f 1190/1901/208 1201/1920/203 1199/1917/204 +f 1193/1915/212 1197/1914/207 1200/1919/205 +f 1190/1901/208 1195/1911/211 1198/1916/206 +f 1191/1921/202 1196/1918/210 1199/1917/204 +f 1200/1919/205 1197/1914/207 1203/1923/185 +f 1201/1920/203 1198/1916/206 1205/1925/191 +f 1199/1917/204 1209/1929/189 1207/1927/192 +f 1208/1928/199 1210/1932/195 1203/1923/185 +f 1200/1919/205 1204/1924/187 1205/1925/191 +f 1201/1920/203 1206/1926/188 1209/1929/189 +f 1205/1925/191 1216/1944/190 1211/1933/198 +f 1209/1934/189 1217/1945/184 1212/1935/197 +f 1194/1937/194 1215/1950/193 1213/1938/196 +f 1210/1939/195 1213/1938/196 1214/1940/181 +f 1207/1936/192 1212/1935/197 1215/1942/193 +f 1204/1924/187 1218/1946/186 1216/1944/190 +f 1206/1926/188 1211/1933/198 1217/1945/184 +f 1203/1941/185 1214/1940/181 1218/1946/186 +o Strong_Pad +v 0.500000 2.000000 0.500000 +v -2.500000 2.000000 2.500000 +v 2.500000 2.000000 2.500000 +v 0.500000 2.000000 -0.500000 +v 0.500000 1.500000 0.500000 +v -0.500000 2.000000 0.500000 +v -2.500000 2.000000 -2.500000 +v -0.500000 2.000000 -0.500000 +v 2.500000 2.000000 -2.500000 +v 0.500000 1.500000 2.500000 +v -2.500000 1.500000 0.500000 +v -0.500000 1.500000 -2.500000 +v 2.500000 1.500000 -0.500000 +v -0.500000 1.500000 -0.500000 +v 0.500000 1.500000 -0.500000 +v -0.500000 1.500000 0.500000 +v 2.500000 1.500000 0.500000 +v -0.500000 1.500000 2.500000 +v -2.500000 1.500000 -0.500000 +v 0.500000 1.500000 -2.500000 +v 1.500000 1.000000 1.500000 +v 2.500000 1.000000 1.500000 +v 1.500000 1.000000 -1.500000 +v 2.500000 1.000000 -1.500000 +v -1.500000 1.000000 -1.500000 +v -2.500000 1.000000 -1.500000 +v -1.500000 1.000000 1.500000 +v -2.500000 1.000000 1.500000 +v -1.500000 1.000000 -3.500000 +v 1.500000 1.500000 -3.500000 +v 1.500000 1.000000 -3.500000 +v 1.500000 2.000000 -2.500000 +v -1.500000 2.000000 -3.000000 +v -1.500000 2.000000 -2.500000 +v 1.500000 2.000000 -3.000000 +v 1.500000 1.000000 -2.500000 +v -1.500000 1.000000 -2.500000 +v -1.500000 1.500000 -3.500000 +v 2.500000 1.250000 4.500000 +v 2.250000 2.000000 4.500000 +v 1.500000 1.750000 4.500000 +v 1.000000 11.000000 3.500000 +v -1.000000 11.000000 2.500000 +v -1.000000 11.000000 3.500000 +v 1.000000 1.000000 2.500000 +v 1.000000 1.000000 3.500000 +v -1.000000 1.000000 3.500000 +v -1.000000 1.000000 2.500000 +v 1.000000 11.000000 2.500000 +v 3.500000 1.250000 4.500000 +v 3.250000 2.000000 4.500000 +v 2.500000 1.750000 4.500000 +v 1.750000 2.000000 2.500000 +v 1.750000 2.000000 4.500000 +v 2.500000 1.250000 2.500000 +v 2.500000 1.750000 4.500000 +v 1.500000 1.250000 2.500000 +v 2.500000 1.750000 2.500000 +v 1.750000 1.000000 2.500000 +v 2.250000 1.000000 4.500000 +v 1.750000 1.000000 4.500000 +v 2.250000 1.000000 2.500000 +v 1.500000 1.750000 2.500000 +v 1.500000 1.250000 4.500000 +v 2.750000 2.000000 2.500000 +v 2.750000 2.000000 4.500000 +v 3.500000 1.250000 2.500000 +v 3.500000 1.750000 4.500000 +v 2.500000 1.250000 2.500000 +v 3.500000 1.750000 2.500000 +v 2.750000 1.000000 2.500000 +v 3.250000 1.000000 4.500000 +v 2.750000 1.000000 4.500000 +v 3.250000 1.000000 2.500000 +v 2.500000 1.750000 2.500000 +v 2.500000 1.250000 4.500000 +v -0.500000 2.000000 0.500000 +v 0.500000 2.000000 -0.500000 +v -0.500000 2.000000 -0.500000 +v -2.500000 1.250000 4.500000 +v -2.750000 2.000000 4.500000 +v -3.500000 1.750000 4.500000 +v -1.500000 1.250000 4.500000 +v -1.750000 2.000000 4.500000 +v -2.500000 1.750000 4.500000 +v -3.250000 2.000000 2.500000 +v -3.250000 2.000000 4.500000 +v -2.500000 1.250000 2.500000 +v -2.500000 1.750000 4.500000 +v -3.500000 1.250000 2.500000 +v -2.500000 1.750000 2.500000 +v -3.250000 1.000000 2.500000 +v -2.750000 1.000000 4.500000 +v -3.250000 1.000000 4.500000 +v -2.750000 1.000000 2.500000 +v -3.500000 1.750000 2.500000 +v -3.500000 1.250000 4.500000 +v -2.250000 2.000000 2.500000 +v -2.250000 2.000000 4.500000 +v -1.500000 1.250000 2.500000 +v -1.500000 1.750000 4.500000 +v -2.500000 1.250000 2.500000 +v -1.500000 1.750000 2.500000 +v -2.250000 1.000000 2.500000 +v -1.750000 1.000000 4.500000 +v -2.250000 1.000000 4.500000 +v -1.750000 1.000000 2.500000 +v -2.500000 1.750000 2.500000 +v -2.500000 1.250000 4.500000 +v 1.500000 1.000000 2.500000 +v 2.500000 1.000000 2.500000 +v -2.500000 1.000000 2.500000 +v -1.500000 1.000000 2.500000 +v -2.500000 1.000000 -2.500000 +v -1.500000 1.000000 -2.500000 +v 2.500000 1.000000 -2.500000 +v 1.500000 1.000000 -2.500000 +v 2.250000 2.000000 2.500000 +v 3.250000 2.000000 2.500000 +v 0.500000 2.000000 0.500000 +v -2.750000 2.000000 2.500000 +v -1.750000 2.000000 2.500000 +v 3.025888 2.150888 2.661612 +v 3.125000 2.000000 2.750000 +v 3.088388 2.000000 2.661612 +v 3.088388 2.000000 2.838388 +v 2.963388 2.088388 2.875000 +v 3.000000 2.000000 2.875000 +v 2.900888 2.025888 2.661612 +v 3.000000 2.000000 2.625000 +v 2.911612 2.000000 2.661612 +v 2.963388 2.088388 2.625000 +v 3.051777 2.176777 2.750000 +v 2.900888 2.025888 2.838388 +v 2.911612 2.000000 2.838388 +v 2.875000 2.213388 2.838388 +v 3.025888 2.150888 2.838388 +v 2.875000 2.036612 2.661612 +v 2.875000 2.125000 2.625000 +v 2.875000 2.250000 2.750000 +v 2.875000 2.036612 2.838388 +v 2.875000 2.000000 2.750000 +v 1.000000 2.125000 2.625000 +v 1.000000 2.036612 2.661612 +v 1.000000 2.213388 2.661612 +v 2.875000 2.213388 2.661612 +v 1.000000 2.000000 2.750000 +v 1.000000 2.213388 2.838388 +v 2.875000 2.125000 2.875000 +v 1.000000 2.036612 2.838388 +v 1.000000 2.250000 2.750000 +v 1.000000 2.125000 2.875000 +v 2.088388 2.000000 3.161612 +v 2.051777 2.176777 3.250000 +v 2.125000 2.000000 3.250000 +v 2.025888 2.150888 3.338388 +v 2.000000 2.000000 3.375000 +v 2.088388 2.000000 3.338388 +v 1.900888 2.025888 3.161612 +v 2.000000 2.000000 3.125000 +v 1.911612 2.000000 3.161612 +v 1.963388 2.088388 3.125000 +v 1.963388 2.088388 3.375000 +v 1.911612 2.000000 3.338388 +v 1.875000 2.125000 3.375000 +v 1.875000 2.036612 3.161612 +v 1.875000 2.213388 3.161612 +v 2.025888 2.150888 3.161612 +v 1.875000 2.250000 3.250000 +v 1.875000 2.036612 3.338388 +v 1.900888 2.025888 3.338388 +v 1.875000 2.000000 3.250000 +v 1.000000 2.125000 3.125000 +v 1.875000 2.125000 3.125000 +v 1.000000 2.036612 3.161612 +v 1.000000 2.213388 3.161612 +v 1.000000 2.000000 3.250000 +v 1.000000 2.213388 3.338388 +v 1.875000 2.213388 3.338388 +v 1.000000 2.036612 3.338388 +v 1.000000 2.250000 3.250000 +v 1.000000 2.125000 3.375000 +v -3.088388 2.000000 3.338389 +v -3.051777 2.176777 3.250000 +v -3.125000 2.000000 3.250000 +v -3.088388 2.000000 3.161612 +v -2.963388 2.088388 3.125000 +v -3.000000 2.000000 3.125000 +v -2.900888 2.025888 3.338389 +v -3.000000 2.000000 3.375000 +v -2.911612 2.000000 3.338389 +v -2.963388 2.088388 3.375000 +v -3.025888 2.150888 3.161612 +v -2.900888 2.025888 3.161612 +v -2.911612 2.000000 3.161612 +v -2.875000 2.125000 3.125000 +v -2.875000 2.036612 3.338389 +v -2.875000 2.125000 3.375000 +v -3.025888 2.150888 3.338389 +v -2.875000 2.250000 3.250000 +v -2.875000 2.036612 3.161612 +v -2.875000 2.000000 3.250000 +v -1.000000 2.125000 3.375000 +v -1.000000 2.036612 3.338388 +v -1.000000 2.213388 3.338388 +v -2.875000 2.213388 3.338389 +v -1.000000 2.000000 3.250000 +v -1.000000 2.213388 3.161612 +v -2.875000 2.213388 3.161612 +v -1.000000 2.036612 3.161612 +v -1.000000 2.250000 3.250000 +v -1.000000 2.125000 3.125000 +v -2.088388 2.000000 2.838389 +v -2.051777 2.176777 2.750000 +v -2.125000 2.000000 2.750000 +v -2.025888 2.150888 2.661612 +v -2.000000 2.000000 2.625000 +v -2.088388 2.000000 2.661612 +v -1.900888 2.025888 2.838389 +v -2.000000 2.000000 2.875000 +v -1.911612 2.000000 2.838389 +v -1.963388 2.088388 2.875000 +v -1.900888 2.025888 2.661612 +v -1.911612 2.000000 2.661612 +v -1.875000 2.213388 2.661612 +v -1.963388 2.088388 2.625000 +v -1.875000 2.125000 2.875000 +v -2.025888 2.150888 2.838389 +v -1.875000 2.250000 2.750000 +v -1.875000 2.036612 2.661612 +v -1.875000 2.213388 2.838389 +v -1.875000 2.000000 2.750000 +v -1.875000 2.036612 2.838389 +v -1.000000 2.125000 2.875000 +v -1.000000 2.036612 2.838388 +v -1.000000 2.213388 2.838388 +v -1.000000 2.000000 2.750000 +v -1.000000 2.213388 2.661612 +v -1.875000 2.125000 2.625000 +v -1.000000 2.036612 2.661612 +v -1.000000 2.250000 2.750000 +v -1.000000 2.125000 2.625000 +vt 0.102564 0.719101 +vt -0.000000 0.988764 +vt -0.000000 0.539326 +vt 0.102564 0.269663 +vt 0.153846 0.224719 +vt 0.153846 0.269663 +vt 0.102564 0.808989 +vt 0.256410 0.988764 +vt 0.153846 0.808989 +vt 0.256410 0.539326 +vt 0.153846 0.719101 +vt 0.256410 0.539326 +vt -0.000000 0.539326 +vt 0.153846 0.494382 +vt 0.256410 0.539326 +vt -0.000000 0.539326 +vt 0.153846 0.494382 +vt 0.256410 0.539326 +vt -0.000000 0.539326 +vt 0.153846 0.494382 +vt 0.153846 0.494382 +vt 0.102564 0.269663 +vt 0.153846 0.224719 +vt 0.153846 0.269663 +vt 0.102564 0.269663 +vt 0.153846 0.224719 +vt 0.153846 0.269663 +vt 0.102564 0.269663 +vt 0.153846 0.224719 +vt 0.153846 0.269663 +vt 0.102564 0.449438 +vt 0.153846 0.269663 +vt 0.153846 0.449438 +vt -0.000000 0.179775 +vt 0.102564 0.269663 +vt -0.000000 0.269663 +vt 0.153846 0.000000 +vt 0.102564 0.179775 +vt 0.102564 -0.000000 +vt 0.256410 0.269663 +vt 0.153846 0.179775 +vt 0.256410 0.179775 +vt 0.051282 0.359551 +vt 0.051282 0.449438 +vt 0.205128 0.359551 +vt 0.205128 0.449438 +vt 0.205128 0.089888 +vt 0.205128 0.000000 +vt 0.051282 0.089888 +vt 0.051282 -0.000000 +vt 0.794872 0.359551 +vt 0.769231 0.089888 +vt 0.794872 0.089888 +vt 0.717949 0.089888 +vt 0.743590 0.359551 +vt 0.717949 0.359551 +vt 0.743590 0.089888 +vt 0.717949 -0.000000 +vt 0.769231 0.044944 +vt 0.666667 0.089888 +vt 0.666667 0.359551 +vt 0.769231 0.359551 +vt 0.717949 0.449438 +vt 0.769231 0.404494 +vt 0.615385 0.651685 +vt 0.602564 0.719101 +vt 0.564103 0.696629 +vt 0.358974 0.898876 +vt 0.256410 0.988764 +vt 0.256410 0.898876 +vt 0.410256 -0.000000 +vt 0.358974 -0.000000 +vt 0.564103 -0.000000 +vt 0.512821 0.898876 +vt 0.512821 -0.000000 +vt 0.410256 0.898876 +vt 0.256410 -0.000000 +vt 0.615385 0.292135 +vt 0.602564 0.359551 +vt 0.564103 0.337079 +vt 0.564103 0.449438 +vt 0.666667 0.494382 +vt 0.564103 0.494382 +vt 0.666667 0.382022 +vt 0.564103 0.426966 +vt 0.564103 0.382022 +vt 0.666667 0.651685 +vt 0.653846 0.719101 +vt 0.615385 0.696629 +vt 0.666667 0.584270 +vt 0.564103 0.629214 +vt 0.564103 0.584270 +vt 0.666667 0.561798 +vt 0.666667 0.359551 +vt 0.564103 0.359551 +vt 0.564103 0.516854 +vt 0.666667 0.516854 +vt 0.666667 0.426966 +vt 0.564103 0.561798 +vt 0.564103 0.089888 +vt 0.666667 0.134831 +vt 0.564103 0.134831 +vt 0.666667 0.022472 +vt 0.564103 0.067416 +vt 0.564103 0.022472 +vt 0.666667 0.292135 +vt 0.653846 0.359551 +vt 0.615385 0.337079 +vt 0.666667 0.224719 +vt 0.564103 0.269663 +vt 0.564103 0.224719 +vt 0.666667 0.202247 +vt 0.666667 0.000000 +vt 0.564103 -0.000000 +vt 0.564103 0.157303 +vt 0.666667 0.157303 +vt 0.666667 0.067416 +vt 0.564103 0.202247 +vt 0.102564 0.808989 +vt 0.153846 0.719101 +vt 0.153846 0.808989 +vt 0.615385 0.651685 +vt 0.602564 0.719101 +vt 0.564103 0.696629 +vt 0.615385 0.292135 +vt 0.602564 0.359551 +vt 0.564103 0.337079 +vt 0.564103 0.449438 +vt 0.666667 0.494382 +vt 0.564103 0.494382 +vt 0.666667 0.382022 +vt 0.564103 0.426966 +vt 0.564103 0.382022 +vt 0.666667 0.651685 +vt 0.653846 0.719101 +vt 0.615385 0.696629 +vt 0.666667 0.584270 +vt 0.564103 0.629214 +vt 0.564103 0.584270 +vt 0.666667 0.561798 +vt 0.666667 0.359551 +vt 0.564103 0.359551 +vt 0.564103 0.516854 +vt 0.666667 0.516854 +vt 0.666667 0.426966 +vt 0.564103 0.561798 +vt 0.564103 0.089888 +vt 0.666667 0.134831 +vt 0.564103 0.134831 +vt 0.666667 0.022472 +vt 0.564103 0.067416 +vt 0.564103 0.022472 +vt 0.666667 0.292135 +vt 0.653846 0.359551 +vt 0.615385 0.337079 +vt 0.666667 0.224719 +vt 0.564103 0.269663 +vt 0.564103 0.224719 +vt 0.666667 0.202247 +vt 0.666667 0.000000 +vt 0.564103 -0.000000 +vt 0.564103 0.157303 +vt 0.666667 0.157303 +vt 0.666667 0.067416 +vt 0.564103 0.202247 +vt 0.102564 0.224719 +vt 0.205128 0.449438 +vt 0.256410 0.449438 +vt 0.000000 0.449438 +vt 0.051282 0.449438 +vt 0.102564 0.494382 +vt 0.205128 0.449438 +vt 0.256410 0.449438 +vt -0.000000 0.449438 +vt 0.051282 0.449438 +vt 0.102564 0.494382 +vt 0.205128 0.449438 +vt 0.256410 0.449438 +vt 0.000000 0.449438 +vt 0.051282 0.449438 +vt 0.102564 0.494382 +vt 0.256410 0.449438 +vt -0.000000 0.449438 +vt 0.102564 0.494382 +vt 0.102564 0.224719 +vt 0.102564 0.224719 +vt 0.102564 0.224719 +vt -0.000000 0.359551 +vt 0.256410 0.359551 +vt 0.256410 0.089888 +vt -0.000000 0.089888 +vt 0.769231 -0.000000 +vt 0.769231 0.449438 +vt 0.564103 0.651685 +vt 0.576923 0.629214 +vt 0.602564 0.629214 +vt 0.615385 0.696629 +vt 0.576923 0.719101 +vt 0.358974 0.988764 +vt 0.564103 0.898876 +vt 0.564103 0.292135 +vt 0.576923 0.269663 +vt 0.602564 0.269663 +vt 0.615385 0.337079 +vt 0.576923 0.359551 +vt 0.666667 0.449438 +vt 0.615385 0.651685 +vt 0.628205 0.629214 +vt 0.653846 0.629214 +vt 0.666667 0.696629 +vt 0.628205 0.719101 +vt 0.666667 0.629214 +vt 0.666667 0.089888 +vt 0.615385 0.292135 +vt 0.628205 0.269663 +vt 0.653846 0.269663 +vt 0.666667 0.337079 +vt 0.628205 0.359551 +vt 0.666667 0.269663 +vt 0.102564 0.719101 +vt 0.564103 0.651685 +vt 0.576923 0.629214 +vt 0.602564 0.629214 +vt 0.615385 0.696629 +vt 0.576923 0.719101 +vt 0.564103 0.292135 +vt 0.576923 0.269663 +vt 0.602564 0.269663 +vt 0.615385 0.337079 +vt 0.576923 0.359551 +vt 0.666667 0.449438 +vt 0.615385 0.651685 +vt 0.628205 0.629214 +vt 0.653846 0.629214 +vt 0.666667 0.696629 +vt 0.628205 0.719101 +vt 0.666667 0.629214 +vt 0.666667 0.089888 +vt 0.615385 0.292135 +vt 0.628205 0.269663 +vt 0.653846 0.269663 +vt 0.666667 0.337079 +vt 0.628205 0.359551 +vt 0.666667 0.269663 +vt 0.634615 0.904494 +vt 0.641026 0.921348 +vt 0.634615 0.921348 +vt 0.647436 0.921348 +vt 0.653846 0.904494 +vt 0.653846 0.915730 +vt 0.621795 0.904494 +vt 0.628205 0.915730 +vt 0.621795 0.910112 +vt 0.628205 0.904494 +vt 0.641026 0.904494 +vt 0.660256 0.904494 +vt 0.660256 0.910112 +vt 0.647436 0.887640 +vt 0.647436 0.904494 +vt 0.621795 0.898876 +vt 0.628205 0.893258 +vt 0.641026 0.887640 +vt 0.660256 0.898876 +vt 0.666667 0.904494 +vt 0.615385 0.904494 +vt 0.621795 0.887640 +vt 0.628205 0.719101 +vt 0.628205 0.887640 +vt 0.615385 0.887640 +vt 0.621795 0.719101 +vt 0.634615 0.719101 +vt 0.634615 0.887640 +vt 0.660256 0.887640 +vt 0.666667 0.719101 +vt 0.666667 0.887640 +vt 0.647436 0.719101 +vt 0.653846 0.887640 +vt 0.660256 0.719101 +vt 0.641026 0.719101 +vt 0.653846 0.719101 +vt 0.583333 0.831461 +vt 0.589744 0.814607 +vt 0.589744 0.831461 +vt 0.596154 0.814607 +vt 0.602564 0.825843 +vt 0.596154 0.831461 +vt 0.570513 0.814607 +vt 0.576923 0.825843 +vt 0.570513 0.820225 +vt 0.576923 0.814607 +vt 0.602564 0.814607 +vt 0.608974 0.820225 +vt 0.602564 0.803371 +vt 0.570513 0.808989 +vt 0.583333 0.797753 +vt 0.583333 0.814607 +vt 0.589744 0.797753 +vt 0.608974 0.808989 +vt 0.608974 0.814607 +vt 0.615385 0.814607 +vt 0.564103 0.814607 +vt 0.570513 0.797753 +vt 0.576923 0.719101 +vt 0.576923 0.797753 +vt 0.564103 0.797753 +vt 0.570513 0.719101 +vt 0.583333 0.719101 +vt 0.608974 0.797753 +vt 0.615385 0.719101 +vt 0.615385 0.797753 +vt 0.596154 0.719101 +vt 0.596154 0.797753 +vt 0.602564 0.797753 +vt 0.608974 0.719101 +vt 0.589744 0.719101 +vt 0.602564 0.719101 +vt 0.634615 0.921348 +vt 0.641026 0.904494 +vt 0.641026 0.921348 +vt 0.647436 0.921348 +vt 0.653846 0.904494 +vt 0.653846 0.915730 +vt 0.621795 0.904494 +vt 0.628205 0.915730 +vt 0.621795 0.910112 +vt 0.628205 0.904494 +vt 0.647436 0.904494 +vt 0.660256 0.904494 +vt 0.660256 0.910112 +vt 0.653846 0.893258 +vt 0.621795 0.898876 +vt 0.628205 0.893258 +vt 0.634615 0.904494 +vt 0.641026 0.887640 +vt 0.660256 0.898876 +vt 0.666667 0.904494 +vt 0.615385 0.904494 +vt 0.621795 0.887640 +vt 0.628205 0.719101 +vt 0.628205 0.887640 +vt 0.615385 0.887640 +vt 0.621795 0.719101 +vt 0.634615 0.719101 +vt 0.634615 0.887640 +vt 0.660256 0.887640 +vt 0.666667 0.719101 +vt 0.666667 0.887640 +vt 0.647436 0.719101 +vt 0.647436 0.887640 +vt 0.653846 0.887640 +vt 0.660256 0.719101 +vt 0.641026 0.719101 +vt 0.653846 0.719101 +vt 0.583333 0.831461 +vt 0.589744 0.814607 +vt 0.589744 0.831461 +vt 0.596154 0.814607 +vt 0.602564 0.825843 +vt 0.596154 0.831461 +vt 0.570513 0.814607 +vt 0.576923 0.825843 +vt 0.570513 0.820225 +vt 0.576923 0.814607 +vt 0.608974 0.814607 +vt 0.608974 0.820225 +vt 0.596154 0.797753 +vt 0.602564 0.814607 +vt 0.576923 0.803371 +vt 0.583333 0.814607 +vt 0.589744 0.797753 +vt 0.608974 0.808989 +vt 0.583333 0.797753 +vt 0.615385 0.814607 +vt 0.564103 0.814607 +vt 0.570513 0.808989 +vt 0.570513 0.797753 +vt 0.576923 0.719101 +vt 0.576923 0.797753 +vt 0.564103 0.797753 +vt 0.570513 0.719101 +vt 0.583333 0.719101 +vt 0.608974 0.797753 +vt 0.615385 0.719101 +vt 0.615385 0.797753 +vt 0.596154 0.719101 +vt 0.602564 0.797753 +vt 0.608974 0.719101 +vt 0.589744 0.719101 +vt 0.602564 0.719101 +vt 0.653846 0.893258 +vt 0.615385 0.719101 +vt 0.576923 0.803371 +vt 0.564103 0.719101 +vt 0.615385 0.719101 +vt 0.602564 0.803371 +vt 0.564103 0.719101 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.4472 -0.8944 -0.0000 +vn 0.0000 -0.8944 -0.4472 +vn 0.0000 -0.8944 0.4472 +vn 0.4472 -0.8944 -0.0000 +vn 0.0000 0.7071 -0.7071 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.5294 0.5294 -0.6630 +vn 0.9239 0.3827 -0.0000 +vn 0.7150 0.2962 -0.6333 +vn 0.7150 0.2962 0.6333 +vn 0.0671 0.0671 0.9955 +vn 0.0948 0.0393 0.9947 +vn -0.4617 -0.4617 -0.7574 +vn 0.0948 0.0393 -0.9947 +vn -0.6303 -0.2611 -0.7311 +vn 0.0671 0.0671 -0.9955 +vn -0.4617 -0.4617 0.7574 +vn -0.6303 -0.2611 0.7311 +vn 0.1448 0.7194 0.6794 +vn 0.5293 0.5293 0.6630 +vn -0.1363 -0.6737 -0.7263 +vn 0.0196 0.0473 -0.9987 +vn 0.1866 0.9824 0.0000 +vn -0.1363 -0.6737 0.7263 +vn -0.1944 -0.9809 -0.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.1448 0.7194 -0.6794 +vn 0.0000 0.7071 0.7071 +vn 0.0196 0.0473 0.9987 +vn 0.0000 -0.7071 0.7071 +vn 0.5293 0.5293 -0.6630 +vn -0.7150 0.2962 0.6333 +vn -0.9239 0.3827 -0.0000 +vn -0.7150 0.2962 -0.6333 +vn -0.0671 0.0671 -0.9955 +vn -0.0948 0.0393 -0.9947 +vn 0.4617 -0.4617 0.7574 +vn -0.0948 0.0393 0.9947 +vn 0.6303 -0.2611 0.7311 +vn -0.0671 0.0671 0.9955 +vn -0.5294 0.5293 -0.6630 +vn 0.4617 -0.4617 -0.7574 +vn 0.6303 -0.2611 -0.7311 +vn -0.0196 0.0473 -0.9987 +vn 0.1363 -0.6737 0.7263 +vn -0.0196 0.0473 0.9987 +vn -0.5293 0.5293 0.6630 +vn -0.1866 0.9824 -0.0000 +vn 0.1363 -0.6737 -0.7263 +vn 0.1944 -0.9809 -0.0000 +vn -0.1448 0.7194 0.6794 +vn -0.1448 0.7194 -0.6794 +vn -0.5293 0.5294 -0.6630 +s off +f 1219/1951/237 1220/1952/237 1221/1953/237 +f 1222/1954/238 1223/1955/238 1219/1956/238 +f 1224/1957/237 1225/1958/237 1220/1952/237 +f 1226/1959/237 1227/1960/237 1225/1958/237 +f 1222/1961/237 1221/1953/237 1227/1960/237 +f 1221/1962/239 1220/1963/239 1228/1964/239 +f 1220/1965/238 1225/1966/238 1229/1967/238 +f 1225/1968/240 1227/1969/240 1230/1970/240 +f 1227/1960/241 1221/1953/241 1231/1971/241 +f 1224/1972/241 1232/1973/241 1226/1974/241 +f 1226/1975/239 1233/1976/239 1222/1977/239 +f 1219/1978/240 1234/1979/240 1224/1980/240 +f 1235/1981/242 1233/1982/242 1231/1983/242 +f 1236/1984/242 1223/1985/242 1228/1986/242 +f 1237/1987/242 1234/1988/242 1229/1989/242 +f 1238/1990/242 1232/1991/242 1230/1992/242 +f 1239/1993/243 1228/1986/243 1223/1985/243 +f 1239/1993/244 1235/1981/244 1240/1994/244 +f 1231/1983/245 1241/1995/245 1242/1996/245 +f 1238/1990/243 1241/1995/243 1233/1982/243 +f 1243/1997/246 1230/1992/246 1232/1991/246 +f 1243/1997/245 1237/1987/245 1244/1998/245 +f 1229/1989/244 1245/1999/244 1246/2000/244 +f 1236/1984/246 1245/1999/246 1234/1988/246 +f 1247/2001/240 1248/2002/240 1249/2003/240 +f 1250/2004/237 1251/2005/237 1252/2006/237 +f 1253/2007/241 1254/2008/241 1248/2009/241 +f 1254/2010/239 1252/2006/239 1255/2011/239 +f 1256/2012/247 1253/2007/247 1248/2002/247 +f 1255/2013/238 1251/2005/238 1256/2014/238 +f 1257/2015/239 1258/2016/239 1259/2017/239 +f 1260/2018/237 1261/2019/237 1262/2020/237 +f 1263/2021/241 1260/2018/241 1264/2022/241 +f 1265/2023/238 1261/2024/238 1266/2025/238 +f 1266/2025/240 1267/2026/240 1263/2021/240 +f 1264/2022/239 1262/2020/239 1265/2027/239 +f 1268/2028/239 1269/2029/239 1270/2030/239 +f 1258/2031/237 1271/2032/237 1272/2033/237 +f 1273/2034/241 1274/2035/241 1257/2036/241 +f 1275/2037/240 1271/2038/240 1276/2039/240 +f 1277/2040/242 1278/2041/242 1279/2042/242 +f 1279/2042/248 1275/2043/248 1277/2040/248 +f 1280/2044/249 1257/2036/249 1278/2045/249 +f 1259/2046/250 1271/2032/250 1281/2047/250 +f 1276/2048/251 1258/2031/251 1274/2035/251 +f 1282/2049/238 1281/2047/238 1275/2043/238 +f 1269/2050/237 1283/2051/237 1284/2052/237 +f 1285/2053/241 1286/2054/241 1268/2055/241 +f 1287/2056/240 1283/2057/240 1288/2058/240 +f 1289/2059/242 1290/2060/242 1291/2061/242 +f 1291/2061/248 1287/2062/248 1289/2059/248 +f 1292/2063/249 1268/2055/249 1290/2064/249 +f 1270/2065/250 1283/2051/250 1293/2066/250 +f 1288/2067/251 1269/2050/251 1286/2054/251 +f 1294/2068/238 1293/2066/238 1287/2062/238 +f 1295/2069/237 1296/2070/237 1297/2071/237 +f 1298/2072/239 1299/2073/239 1300/2074/239 +f 1301/2075/239 1302/2076/239 1303/2077/239 +f 1299/2078/237 1304/2079/237 1305/2080/237 +f 1306/2081/241 1307/2082/241 1298/2083/241 +f 1308/2084/240 1304/2085/240 1309/2086/240 +f 1310/2087/242 1311/2088/242 1312/2089/242 +f 1312/2089/248 1308/2090/248 1310/2087/248 +f 1313/2091/249 1298/2083/249 1311/2092/249 +f 1300/2093/250 1304/2079/250 1314/2094/250 +f 1309/2095/251 1299/2078/251 1307/2082/251 +f 1315/2096/238 1314/2094/238 1308/2090/238 +f 1302/2097/237 1316/2098/237 1317/2099/237 +f 1318/2100/241 1319/2101/241 1301/2102/241 +f 1320/2103/240 1316/2104/240 1321/2105/240 +f 1322/2106/242 1323/2107/242 1324/2108/242 +f 1324/2108/248 1320/2109/248 1322/2106/248 +f 1325/2110/249 1301/2102/249 1323/2111/249 +f 1303/2112/250 1316/2098/250 1326/2113/250 +f 1321/2114/251 1302/2097/251 1319/2101/251 +f 1327/2115/238 1326/2113/238 1320/2109/238 +f 1219/1951/237 1224/1957/237 1220/1952/237 +f 1222/1954/238 1233/2116/238 1223/1955/238 +f 1224/1957/237 1226/1959/237 1225/1958/237 +f 1226/1959/237 1222/1961/237 1227/1960/237 +f 1222/1961/237 1219/1951/237 1221/1953/237 +f 1328/2117/239 1329/2118/239 1221/1962/239 +f 1220/1963/239 1330/2119/239 1331/2120/239 +f 1220/1963/239 1331/2120/239 1236/2121/239 +f 1228/1964/239 1328/2117/239 1221/1962/239 +f 1220/1963/239 1236/2121/239 1228/1964/239 +f 1246/2122/238 1330/2123/238 1220/1965/238 +f 1225/1966/238 1332/2124/238 1244/2125/238 +f 1225/1966/238 1244/2125/238 1237/2126/238 +f 1229/1967/238 1246/2122/238 1220/1965/238 +f 1225/1966/238 1237/2126/238 1229/1967/238 +f 1333/2127/240 1332/2128/240 1225/1968/240 +f 1227/1969/240 1334/2129/240 1335/2130/240 +f 1227/1969/240 1335/2130/240 1238/2131/240 +f 1230/1970/240 1333/2127/240 1225/1968/240 +f 1227/1969/240 1238/2131/240 1230/1970/240 +f 1242/1996/241 1334/2132/241 1227/1960/241 +f 1221/1953/241 1329/2133/241 1240/1994/241 +f 1221/1953/241 1240/1994/241 1235/2134/241 +f 1231/1971/241 1242/1996/241 1227/1960/241 +f 1221/1953/241 1235/2134/241 1231/1971/241 +f 1224/1972/241 1234/2135/241 1232/1973/241 +f 1226/1975/239 1232/2136/239 1233/1976/239 +f 1219/1978/240 1223/2137/240 1234/1979/240 +f 1235/1981/242 1223/1985/242 1233/1982/242 +f 1236/1984/242 1234/1988/242 1223/1985/242 +f 1237/1987/242 1232/1991/242 1234/1988/242 +f 1238/1990/242 1233/1982/242 1232/1991/242 +f 1239/1993/243 1328/2138/243 1228/1986/243 +f 1239/1993/244 1223/1985/244 1235/1981/244 +f 1231/1983/245 1233/1982/245 1241/1995/245 +f 1238/1990/243 1335/2139/243 1241/1995/243 +f 1243/1997/246 1333/2140/246 1230/1992/246 +f 1243/1997/245 1232/1991/245 1237/1987/245 +f 1229/1989/244 1234/1988/244 1245/1999/244 +f 1236/1984/246 1331/2141/246 1245/1999/246 +f 1247/2001/240 1256/2012/240 1248/2002/240 +f 1250/2004/237 1253/2007/237 1251/2005/237 +f 1250/2004/241 1254/2008/241 1253/2007/241 +f 1254/2008/241 1249/2142/241 1248/2009/241 +f 1254/2010/239 1250/2004/239 1252/2006/239 +f 1256/2012/247 1251/2005/247 1253/2007/247 +f 1256/2014/238 1247/2143/238 1255/2013/238 +f 1255/2013/238 1252/2006/238 1251/2005/238 +f 1259/2017/239 1282/2144/239 1279/2145/239 +f 1279/2145/239 1278/2146/239 1257/2015/239 +f 1257/2015/239 1274/2147/239 1258/2016/239 +f 1258/2016/239 1272/2148/239 1259/2017/239 +f 1259/2017/239 1279/2145/239 1257/2015/239 +f 1260/2018/237 1267/2149/237 1261/2019/237 +f 1263/2021/241 1267/2026/241 1260/2018/241 +f 1265/2023/238 1262/2150/238 1261/2024/238 +f 1266/2025/240 1261/2024/240 1267/2026/240 +f 1264/2022/239 1260/2018/239 1262/2020/239 +f 1270/2030/239 1294/2151/239 1291/2152/239 +f 1291/2152/239 1290/2153/239 1268/2028/239 +f 1268/2028/239 1286/2154/239 1269/2029/239 +f 1269/2029/239 1284/2155/239 1270/2030/239 +f 1270/2030/239 1291/2152/239 1268/2028/239 +f 1258/2031/237 1336/2156/237 1271/2032/237 +f 1273/2034/241 1276/2048/241 1274/2035/241 +f 1276/2039/240 1273/2157/240 1280/2158/240 +f 1280/2158/240 1277/2159/240 1275/2037/240 +f 1275/2037/240 1281/2160/240 1271/2038/240 +f 1271/2038/240 1336/2161/240 1276/2039/240 +f 1276/2039/240 1280/2158/240 1275/2037/240 +f 1277/2040/242 1280/2162/242 1278/2041/242 +f 1279/2042/248 1282/2049/248 1275/2043/248 +f 1280/2044/249 1273/2034/249 1257/2036/249 +f 1259/2046/250 1272/2033/250 1271/2032/250 +f 1276/2048/251 1336/2156/251 1258/2031/251 +f 1282/2049/238 1259/2046/238 1281/2047/238 +f 1269/2050/237 1337/2163/237 1283/2051/237 +f 1285/2053/241 1288/2067/241 1286/2054/241 +f 1288/2058/240 1285/2164/240 1292/2165/240 +f 1292/2165/240 1289/2166/240 1287/2056/240 +f 1287/2056/240 1293/2167/240 1283/2057/240 +f 1283/2057/240 1337/2168/240 1288/2058/240 +f 1288/2058/240 1292/2165/240 1287/2056/240 +f 1289/2059/242 1292/2169/242 1290/2060/242 +f 1291/2061/248 1294/2068/248 1287/2062/248 +f 1292/2063/249 1285/2053/249 1268/2055/249 +f 1270/2065/250 1284/2052/250 1283/2051/250 +f 1288/2067/251 1337/2163/251 1269/2050/251 +f 1294/2068/238 1270/2065/238 1293/2066/238 +f 1295/2069/237 1338/2170/237 1296/2070/237 +f 1300/2074/239 1315/2171/239 1312/2172/239 +f 1312/2172/239 1311/2173/239 1298/2072/239 +f 1298/2072/239 1307/2174/239 1299/2073/239 +f 1299/2073/239 1305/2175/239 1300/2074/239 +f 1300/2074/239 1312/2172/239 1298/2072/239 +f 1303/2077/239 1327/2176/239 1324/2177/239 +f 1324/2177/239 1323/2178/239 1301/2075/239 +f 1301/2075/239 1319/2179/239 1302/2076/239 +f 1302/2076/239 1317/2180/239 1303/2077/239 +f 1303/2077/239 1324/2177/239 1301/2075/239 +f 1299/2078/237 1339/2181/237 1304/2079/237 +f 1306/2081/241 1309/2095/241 1307/2082/241 +f 1309/2086/240 1306/2182/240 1313/2183/240 +f 1313/2183/240 1310/2184/240 1308/2084/240 +f 1308/2084/240 1314/2185/240 1304/2085/240 +f 1304/2085/240 1339/2186/240 1309/2086/240 +f 1309/2086/240 1313/2183/240 1308/2084/240 +f 1310/2087/242 1313/2187/242 1311/2088/242 +f 1312/2089/248 1315/2096/248 1308/2090/248 +f 1313/2091/249 1306/2081/249 1298/2083/249 +f 1300/2093/250 1305/2080/250 1304/2079/250 +f 1309/2095/251 1339/2181/251 1299/2078/251 +f 1315/2096/238 1300/2093/238 1314/2094/238 +f 1302/2097/237 1340/2188/237 1316/2098/237 +f 1318/2100/241 1321/2114/241 1319/2101/241 +f 1321/2105/240 1318/2189/240 1325/2190/240 +f 1325/2190/240 1322/2191/240 1320/2103/240 +f 1320/2103/240 1326/2192/240 1316/2104/240 +f 1316/2104/240 1340/2193/240 1321/2105/240 +f 1321/2105/240 1325/2190/240 1320/2103/240 +f 1322/2106/242 1325/2194/242 1323/2107/242 +f 1324/2108/248 1327/2115/248 1320/2109/248 +f 1325/2110/249 1318/2100/249 1301/2102/249 +f 1303/2112/250 1317/2099/250 1316/2098/250 +f 1321/2114/251 1340/2188/251 1302/2097/251 +f 1327/2115/238 1303/2112/238 1326/2113/238 +s 1 +f 1341/2195/252 1342/2196/253 1343/2197/254 +f 1344/2198/255 1345/2199/256 1346/2200/257 +f 1347/2201/258 1348/2202/259 1349/2203/260 +f 1350/2204/261 1343/2197/254 1348/2202/259 +f 1351/2205/251 1344/2198/255 1342/2196/253 +f 1346/2200/257 1352/2206/262 1353/2207/263 +f 1354/2208/264 1345/2199/256 1355/2209/265 +f 1356/2210/266 1350/2204/261 1347/2201/258 +f 1357/2211/267 1341/2195/252 1350/2204/261 +f 1358/2212/268 1355/2209/265 1351/2205/251 +f 1345/2199/256 1359/2213/269 1352/2206/262 +f 1341/2195/252 1358/2212/268 1351/2205/251 +f 1360/2214/270 1353/2207/263 1352/2206/262 +f 1352/2206/262 1359/2213/269 1360/2214/270 +f 1349/2203/260 1360/2215/270 1347/2201/258 +f 1347/2201/258 1360/2215/270 1356/2210/266 +f 1356/2216/266 1361/2217/240 1357/2218/267 +f 1360/2219/270 1362/2220/271 1356/2216/266 +f 1357/2218/267 1363/2221/247 1364/2222/272 +f 1359/2223/269 1365/2224/242 1360/2225/270 +f 1358/2212/268 1366/2226/273 1354/2208/264 +f 1367/2227/274 1368/2228/275 1359/2223/269 +f 1364/2222/272 1369/2229/237 1358/2212/268 +f 1354/2208/264 1370/2230/239 1367/2227/274 +f 1371/2231/254 1372/2232/251 1373/2233/253 +f 1374/2234/265 1375/2235/257 1376/2236/255 +f 1377/2237/258 1378/2238/259 1379/2239/260 +f 1380/2240/261 1371/2231/254 1378/2238/259 +f 1372/2232/251 1376/2236/255 1373/2233/253 +f 1381/2241/256 1382/2242/263 1375/2235/257 +f 1374/2234/265 1383/2243/274 1381/2241/256 +f 1384/2244/266 1380/2240/261 1377/2237/258 +f 1380/2240/261 1385/2245/272 1386/2246/276 +f 1387/2247/268 1374/2234/265 1372/2232/251 +f 1381/2241/256 1388/2248/269 1389/2249/262 +f 1386/2246/276 1387/2247/268 1372/2232/251 +f 1390/2250/270 1382/2242/263 1389/2249/262 +f 1389/2249/262 1388/2248/269 1390/2250/270 +f 1379/2239/260 1390/2251/270 1377/2237/258 +f 1377/2237/258 1390/2251/270 1384/2244/266 +f 1384/2252/266 1391/2253/240 1392/2254/267 +f 1390/2255/270 1393/2256/271 1384/2252/266 +f 1392/2254/267 1394/2257/247 1385/2245/272 +f 1388/2258/269 1395/2259/242 1390/2260/270 +f 1387/2247/268 1396/2261/273 1397/2262/264 +f 1383/2263/274 1398/2264/275 1388/2258/269 +f 1385/2245/272 1399/2265/237 1387/2247/268 +f 1397/2262/264 1400/2266/239 1383/2263/274 +f 1401/2267/277 1402/2268/250 1403/2269/278 +f 1404/2270/279 1405/2271/280 1406/2272/281 +f 1407/2273/282 1408/2274/283 1409/2275/284 +f 1410/2276/285 1401/2267/277 1408/2274/283 +f 1403/2269/278 1411/2277/286 1404/2270/279 +f 1406/2272/281 1412/2278/287 1413/2279/288 +f 1411/2277/286 1414/2280/289 1405/2271/280 +f 1415/2281/290 1410/2276/285 1407/2273/282 +f 1416/2282/291 1417/2283/292 1410/2276/285 +f 1418/2284/293 1411/2277/286 1402/2268/250 +f 1405/2271/280 1419/2285/294 1412/2278/287 +f 1417/2283/292 1418/2284/293 1402/2268/250 +f 1420/2286/295 1413/2279/288 1412/2278/287 +f 1412/2278/287 1419/2285/294 1420/2286/295 +f 1409/2275/284 1420/2287/295 1407/2273/282 +f 1407/2273/282 1420/2287/295 1415/2281/290 +f 1415/2288/290 1421/2289/239 1416/2290/291 +f 1420/2291/295 1422/2292/275 1415/2288/290 +f 1416/2290/291 1423/2293/273 1424/2294/296 +f 1419/2295/294 1425/2296/242 1420/2297/295 +f 1418/2284/293 1426/2298/247 1427/2299/297 +f 1414/2300/289 1428/2301/271 1419/2295/294 +f 1424/2294/296 1429/2302/237 1418/2284/293 +f 1427/2299/297 1430/2303/240 1414/2300/289 +f 1431/2304/277 1432/2305/250 1433/2306/278 +f 1434/2307/298 1435/2308/281 1436/2309/279 +f 1437/2310/282 1438/2311/283 1439/2312/284 +f 1440/2313/285 1431/2304/277 1438/2311/283 +f 1432/2305/250 1436/2309/279 1433/2306/278 +f 1435/2308/281 1441/2314/287 1442/2315/288 +f 1443/2316/297 1444/2317/280 1434/2307/298 +f 1437/2310/282 1445/2318/291 1440/2313/285 +f 1445/2318/291 1446/2319/292 1440/2313/285 +f 1447/2320/293 1434/2307/298 1432/2305/250 +f 1444/2317/280 1448/2321/294 1441/2314/287 +f 1449/2322/296 1432/2305/250 1446/2319/292 +f 1450/2323/295 1442/2315/288 1441/2314/287 +f 1441/2314/287 1448/2321/294 1450/2323/295 +f 1439/2312/284 1450/2324/295 1437/2310/282 +f 1437/2310/282 1450/2324/295 1451/2325/290 +f 1451/2326/290 1452/2327/239 1445/2328/291 +f 1450/2329/295 1453/2330/275 1451/2326/290 +f 1445/2328/291 1454/2331/273 1449/2322/296 +f 1448/2332/294 1455/2333/242 1450/2334/295 +f 1447/2320/293 1456/2335/247 1443/2316/297 +f 1457/2336/289 1458/2337/271 1448/2332/294 +f 1447/2320/293 1454/2331/273 1459/2338/237 +f 1457/2336/289 1456/2335/247 1460/2339/240 +f 1341/2195/252 1351/2205/251 1342/2196/253 +f 1344/2198/255 1355/2209/265 1345/2199/256 +f 1347/2201/258 1350/2204/261 1348/2202/259 +f 1350/2204/261 1341/2195/252 1343/2197/254 +f 1351/2205/251 1355/2209/265 1344/2198/255 +f 1346/2200/257 1345/2199/256 1352/2206/262 +f 1354/2208/264 1367/2340/274 1345/2199/256 +f 1356/2210/266 1357/2211/267 1350/2204/261 +f 1357/2211/267 1364/2222/272 1341/2195/252 +f 1358/2212/268 1354/2208/264 1355/2209/265 +f 1345/2199/256 1367/2340/274 1359/2213/269 +f 1341/2195/252 1364/2222/272 1358/2212/268 +f 1356/2216/266 1362/2220/271 1361/2217/240 +f 1360/2219/270 1365/2341/242 1362/2220/271 +f 1357/2218/267 1361/2217/240 1363/2221/247 +f 1359/2223/269 1368/2228/275 1365/2224/242 +f 1358/2212/268 1369/2229/237 1366/2226/273 +f 1367/2227/274 1370/2230/239 1368/2228/275 +f 1364/2222/272 1363/2221/247 1369/2229/237 +f 1354/2208/264 1366/2226/273 1370/2230/239 +f 1371/2231/254 1386/2246/276 1372/2232/251 +f 1374/2234/265 1381/2241/256 1375/2235/257 +f 1377/2237/258 1380/2240/261 1378/2238/259 +f 1380/2240/261 1386/2246/276 1371/2231/254 +f 1372/2232/251 1374/2234/265 1376/2236/255 +f 1381/2241/256 1389/2249/262 1382/2242/263 +f 1374/2234/265 1397/2262/264 1383/2243/274 +f 1384/2244/266 1392/2342/267 1380/2240/261 +f 1380/2240/261 1392/2342/267 1385/2245/272 +f 1387/2247/268 1397/2262/264 1374/2234/265 +f 1381/2241/256 1383/2243/274 1388/2248/269 +f 1386/2246/276 1385/2245/272 1387/2247/268 +f 1384/2252/266 1393/2256/271 1391/2253/240 +f 1390/2255/270 1395/2343/242 1393/2256/271 +f 1392/2254/267 1391/2253/240 1394/2257/247 +f 1388/2258/269 1398/2264/275 1395/2259/242 +f 1387/2247/268 1399/2265/237 1396/2261/273 +f 1383/2263/274 1400/2266/239 1398/2264/275 +f 1385/2245/272 1394/2257/247 1399/2265/237 +f 1397/2262/264 1396/2261/273 1400/2266/239 +f 1401/2267/277 1417/2283/292 1402/2268/250 +f 1404/2270/279 1411/2277/286 1405/2271/280 +f 1407/2273/282 1410/2276/285 1408/2274/283 +f 1410/2276/285 1417/2283/292 1401/2267/277 +f 1403/2269/278 1402/2268/250 1411/2277/286 +f 1406/2272/281 1405/2271/280 1412/2278/287 +f 1411/2277/286 1427/2299/297 1414/2280/289 +f 1415/2281/290 1416/2282/291 1410/2276/285 +f 1416/2282/291 1424/2294/296 1417/2283/292 +f 1418/2284/293 1427/2299/297 1411/2277/286 +f 1405/2271/280 1414/2280/289 1419/2285/294 +f 1417/2283/292 1424/2294/296 1418/2284/293 +f 1415/2288/290 1422/2292/275 1421/2289/239 +f 1420/2291/295 1425/2344/242 1422/2292/275 +f 1416/2290/291 1421/2289/239 1423/2293/273 +f 1419/2295/294 1428/2301/271 1425/2296/242 +f 1418/2284/293 1429/2302/237 1426/2298/247 +f 1414/2300/289 1430/2303/240 1428/2301/271 +f 1424/2294/296 1423/2293/273 1429/2302/237 +f 1427/2299/297 1426/2298/247 1430/2303/240 +f 1431/2304/277 1446/2319/292 1432/2305/250 +f 1434/2307/298 1444/2317/280 1435/2308/281 +f 1437/2310/282 1440/2313/285 1438/2311/283 +f 1440/2313/285 1446/2319/292 1431/2304/277 +f 1432/2305/250 1434/2307/298 1436/2309/279 +f 1435/2308/281 1444/2317/280 1441/2314/287 +f 1443/2316/297 1457/2345/289 1444/2317/280 +f 1437/2310/282 1451/2325/290 1445/2318/291 +f 1445/2318/291 1449/2322/296 1446/2319/292 +f 1447/2320/293 1443/2316/297 1434/2307/298 +f 1444/2317/280 1457/2345/289 1448/2321/294 +f 1449/2322/296 1447/2320/293 1432/2305/250 +f 1451/2326/290 1453/2330/275 1452/2327/239 +f 1450/2329/295 1455/2346/242 1453/2330/275 +f 1445/2328/291 1452/2327/239 1454/2331/273 +f 1448/2332/294 1458/2337/271 1455/2333/242 +f 1447/2320/293 1459/2338/237 1456/2335/247 +f 1457/2336/289 1460/2339/240 1458/2337/271 +f 1447/2320/293 1449/2322/296 1454/2331/273 +f 1457/2336/289 1443/2316/297 1456/2335/247 +o Huge_Pad +v -1.250000 2.000000 1.250000 +v 1.250000 2.000000 -1.250000 +v -1.250000 2.000000 -1.250000 +v -1.250000 2.000000 1.250000 +v 2.500000 2.000000 2.500000 +v 1.250000 2.000000 1.250000 +v -1.250000 2.000000 -1.250000 +v -2.500000 2.000000 2.500000 +v 1.250000 2.000000 -1.250000 +v -2.500000 2.000000 -2.500000 +v 2.500000 2.000000 -2.500000 +v -2.500000 1.500000 -2.500000 +v 2.500000 1.500000 2.500000 +v 2.500000 1.500000 -2.500000 +v -2.500000 1.500000 2.500000 +v 3.000000 1.500000 -3.000000 +v 3.000000 1.500000 3.000000 +v -3.000000 1.500000 3.000000 +v -3.000000 1.500000 -3.000000 +v 3.000000 1.000000 -3.000000 +v -3.000000 1.000000 3.000000 +v -3.000000 1.000000 -3.000000 +v 3.000000 1.000000 3.000000 v 0.500000 1.000000 0.500000 +v -0.500000 1.000000 0.500000 v -0.500000 1.000000 -0.500000 v 0.500000 1.000000 -0.500000 +v 1.500000 2.000000 -2.500000 +v -1.500000 2.000000 -3.500000 +v -1.500000 2.000000 -2.500000 +v -1.500000 1.000000 -3.500000 +v 1.500000 2.000000 -3.500000 +v 1.500000 1.000000 -3.500000 +v 1.500000 1.000000 -2.500000 +v -1.500000 1.000000 -2.500000 +v 2.000000 2.000000 4.000000 +v -2.000000 2.000000 2.500000 +v -2.000000 2.000000 4.000000 +v 2.000000 1.000000 2.500000 +v 2.000000 1.000000 4.000000 +v -2.000000 1.000000 4.000000 +v -2.000000 1.000000 2.500000 +v 1.187500 2.000000 1.812500 +v 1.187500 8.000000 2.187500 +v 1.187500 2.000000 2.187500 +v 0.812500 2.000000 3.312500 +v 1.187500 8.000000 3.312500 +v 1.187500 2.000000 3.312500 +v 0.812500 2.000000 1.812500 +v 1.187500 8.000000 1.812500 +v -1.187500 2.000000 3.687500 +v -1.187500 8.000000 3.312500 +v -1.187500 2.000000 3.312500 +v -1.187500 2.000000 2.187500 +v -1.187500 8.000000 1.812500 +v -1.187500 2.000000 1.812500 +v -0.812500 2.000000 3.687500 +v -1.187500 8.000000 3.687500 +v -0.812500 2.000000 2.187500 +v -1.187500 8.000000 2.187500 +v -0.812500 2.000000 3.312500 +v -0.812500 8.000000 3.687500 +v -0.812500 2.000000 1.812500 +v -0.812500 8.000000 2.187500 +v -0.812500 8.000000 3.312500 +v 0.812500 2.000000 3.687500 +v 0.812500 8.000000 3.312500 +v -0.812500 8.000000 1.812500 +v 0.812500 2.000000 2.187500 +v 0.812500 8.000000 1.812500 +v 1.187500 2.000000 3.687500 +v 0.812500 8.000000 3.687500 +v 0.812500 8.000000 2.187500 +v 1.187500 8.000000 3.687500 +v -1.500000 8.000000 1.500000 +v 1.500000 8.000000 4.000000 +v -1.500000 8.000000 4.000000 +v 1.500000 8.250000 4.000000 +v -1.500000 8.250000 1.500000 +v -1.500000 8.250000 4.000000 +v 1.500000 8.250000 1.500000 +v 1.500000 8.000000 1.500000 +v 1.187500 8.250000 1.812500 +v 1.187500 14.250000 2.187501 +v 1.187500 8.250000 2.187500 +v 0.812500 8.250000 1.812500 +v 1.187500 14.250000 1.812501 +v -1.187500 8.250000 2.187500 +v -1.187500 14.250000 1.812501 +v -1.187500 8.250000 1.812500 +v -0.812500 8.250000 2.187500 +v -1.187500 14.250000 2.187501 +v -0.812500 8.250000 1.812500 +v -0.812500 14.250000 2.187501 +v -0.812500 14.250000 1.812501 +v 0.812500 8.250000 2.187500 +v 0.812500 14.250000 1.812501 +v 0.812500 14.250000 2.187501 +v 1.187500 8.250000 2.812500 +v 1.187500 14.250000 3.187501 +v 1.187500 8.250000 3.187500 +v 0.812500 8.250000 2.812500 +v 1.187500 14.250000 2.812501 +v -1.187500 8.250000 3.187500 +v -1.187500 14.250000 2.812501 +v -1.187500 8.250000 2.812500 +v -0.812500 8.250000 3.187500 +v -1.187500 14.250000 3.187501 +v -0.812500 8.250000 2.812500 +v -0.812500 14.250000 3.187501 +v -0.812500 14.250000 2.812501 +v 0.812500 8.250000 3.187500 +v 0.812500 14.250000 2.812501 +v 0.812500 14.250000 3.187501 +v -1.500000 14.250000 1.500001 +v 1.500000 14.250000 3.500001 +v -1.500000 14.250000 3.500001 +v 0.812500 8.000000 2.000000 +v -0.812500 2.000000 2.000000 +v -0.812500 8.000000 2.000000 +v -0.812500 2.000000 3.500000 +v 0.812500 8.000000 3.500000 +v -0.812500 8.000000 3.500000 +v -1.000000 2.000000 2.187500 +v -1.000000 8.000000 3.312500 +v -1.000000 8.000000 2.187500 +v 1.000000 8.000000 3.312500 +v 1.000000 2.000000 2.187500 +v 1.000000 8.000000 2.187500 +v 0.812500 14.250000 2.000001 +v -0.812500 8.250000 2.000000 +v -0.812500 14.250000 2.000001 +v -0.812500 8.250000 3.000000 +v 0.812500 14.250000 3.000001 +v -0.812500 14.250000 3.000001 +v -1.000000 8.250000 2.187500 +v -1.000000 14.250000 2.812501 +v -1.000000 14.250000 2.187501 +v 1.000000 14.250000 2.812501 +v 1.000000 8.250000 2.187500 +v 1.000000 14.250000 2.187501 +v 1.500000 14.500000 3.500001 +v -1.500000 14.500000 1.500001 +v -1.500000 14.500000 3.500001 +v 1.500000 14.500000 1.500001 +v 1.500000 14.250000 1.500001 +v 0.375000 10.000000 2.250000 +v 0.198223 10.073223 2.250000 +v 0.551777 10.426777 2.250000 +v -0.375000 10.000000 2.250000 +v -0.551777 10.073223 2.250000 +v -0.198223 10.426777 2.250000 +v -0.812500 2.000000 2.000000 +v 0.812500 8.000000 2.000000 +v -0.812500 8.000000 2.000000 +v 0.812500 8.000000 3.500000 +v -0.812500 2.000000 3.500000 +v -0.812500 8.000000 3.500000 +v -1.000000 8.000000 3.312500 +v -1.000000 2.000000 2.187500 +v -1.000000 8.000000 2.187500 +v 1.000000 2.000000 2.187500 +v 1.000000 8.000000 3.312500 +v 1.000000 8.000000 2.187500 +v -0.812500 8.250000 2.000000 +v 0.812500 14.250000 2.000001 +v -0.812500 14.250000 2.000001 +v 0.812500 14.250000 3.000001 +v -0.812500 8.250000 3.000000 +v -0.812500 14.250000 3.000001 +v -1.000000 14.250000 2.812501 +v -1.000000 8.250000 2.187500 +v -1.000000 14.250000 2.187501 +v 1.000000 8.250000 2.187500 +v 1.000000 14.250000 2.812501 +v 1.000000 14.250000 2.187501 +v 1.250000 2.000000 1.250000 +v 2.000000 2.000000 2.500000 +v 0.812500 2.000000 2.000000 +v 0.812500 2.000000 3.500000 +v -1.000000 2.000000 3.312500 +v 1.000000 2.000000 3.312500 +v 0.812500 8.250000 2.000000 +v 0.812500 8.250000 3.000000 +v -1.000000 8.250000 2.812500 +v 1.000000 8.250000 2.812500 +v 0.125000 10.250000 2.250000 +v 0.198223 10.426777 2.250000 +v 0.375000 10.500000 2.250000 +v 0.625000 10.250000 2.250000 +v 0.551777 10.073223 2.250000 +v -0.625000 10.250000 2.250000 +v -0.551777 10.426777 2.250000 +v -0.375000 10.500000 2.250000 +v -0.125000 10.250000 2.250000 +v -0.198223 10.073223 2.250000 +v 0.812500 2.000000 2.000000 +v 0.812500 2.000000 3.500000 +v -1.000000 2.000000 3.312500 +v 1.000000 2.000000 3.312500 +v 0.812500 8.250000 2.000000 +v 0.812500 8.250000 3.000000 +v -1.000000 8.250000 2.812500 +v 1.000000 8.250000 2.812500 +v 0.551777 2.000000 2.676777 +v 0.375000 10.000000 2.750000 +v 0.375000 2.000000 2.750000 +v 0.198223 2.000000 2.676777 +v 0.125000 10.000000 2.500000 +v 0.125000 2.000000 2.500000 +v 0.198223 2.000000 2.323223 +v 0.375000 2.000000 2.250000 +v 0.551777 10.000000 2.323224 +v 0.551777 2.000000 2.323223 +v 0.625000 2.000000 2.500000 +v 0.551777 10.000000 2.676777 +v 0.198223 10.000000 2.676777 +v 0.198223 10.000000 2.323224 +v 0.625000 10.000000 2.500000 +v 0.625000 10.176777 2.426777 +v 0.551777 10.301777 2.551777 +v 0.375000 10.353554 2.603554 +v 0.198223 10.301777 2.551777 +v 0.125000 10.176777 2.426777 +v 0.198223 10.051777 2.301777 +v 0.551777 10.051777 2.301777 +v -0.198223 2.000000 2.676777 +v -0.375000 10.000000 2.750000 +v -0.375000 2.000000 2.750000 +v -0.551777 2.000000 2.676777 +v -0.625000 10.000000 2.500000 +v -0.625000 2.000000 2.500000 +v -0.551777 2.000000 2.323223 +v -0.375000 2.000000 2.250000 +v -0.198223 10.000000 2.323224 +v -0.198223 2.000000 2.323223 +v -0.125000 2.000000 2.500000 +v -0.198223 10.000000 2.676777 +v -0.551777 10.000000 2.676777 +v -0.551777 10.000000 2.323224 +v -0.125000 10.000000 2.500000 +v -0.125000 10.176777 2.426777 +v -0.198223 10.301777 2.551777 +v -0.551777 10.301777 2.551777 +v -0.551777 10.051777 2.301777 +v -0.375000 10.353554 2.603554 +v -0.625000 10.176777 2.426777 +v -0.198223 10.051777 2.301777 +vt 0.155844 0.875000 +vt 0.285714 0.666667 +vt 0.285714 0.875000 +vt 0.090909 0.437500 +vt 0.025974 0.125000 +vt 0.090909 0.229167 +vt 0.220779 0.437500 +vt 0.025974 0.541667 +vt 0.220779 0.229167 +vt 0.285714 0.541667 +vt 0.285714 0.125000 +vt 0.025974 0.125000 +vt 0.285714 0.083333 +vt 0.285714 0.125000 +vt 0.025974 0.125000 +vt 0.285714 0.083333 +vt 0.285714 0.125000 +vt 0.285714 0.083333 +vt 0.025974 0.125000 +vt 0.285714 0.083333 +vt 0.285714 0.125000 +vt 0.025974 0.083333 +vt 0.311688 0.041667 +vt 0.025974 0.083333 +vt 0.311688 0.041667 +vt 0.025974 0.083333 +vt 0.311688 0.041667 +vt 0.025974 0.083333 +vt 0.311688 0.041667 +vt -0.000000 0.041667 +vt 0.311688 -0.000000 +vt 0.000000 0.041667 +vt 0.311688 0.000000 +vt 0.000000 0.041667 +vt 0.311688 0.000000 +vt 0.000000 0.041667 +vt 0.311688 0.000000 +vt 0.129870 0.291667 +vt 0.129870 0.375000 +vt 0.181818 0.375000 +vt 0.181818 0.291667 +vt 0.441558 0.625000 +vt 0.493506 0.875000 +vt 0.441558 0.875000 +vt 0.545455 0.875000 +vt 0.493506 0.625000 +vt 0.545455 0.625000 +vt 0.493506 0.541667 +vt 0.441558 0.541667 +vt 0.441558 0.958333 +vt 0.493506 0.958333 +vt 0.337662 0.083333 +vt 0.415584 0.416667 +vt 0.337662 0.416667 +vt 0.415584 -0.000000 +vt 0.337662 -0.000000 +vt 0.337662 0.500000 +vt 0.415584 0.500000 +vt 0.285714 0.083333 +vt 0.285714 0.416667 +vt 0.324675 0.500000 +vt 0.305195 1.000000 +vt 0.305195 0.500000 +vt 0.344156 0.500000 +vt 0.324675 1.000000 +vt 0.324675 0.500000 +vt 0.344156 0.500000 +vt 0.324675 1.000000 +vt 0.363636 0.500000 +vt 0.344156 1.000000 +vt 0.344156 0.500000 +vt 0.363636 0.500000 +vt 0.344156 1.000000 +vt 0.344156 0.500000 +vt 0.305195 0.500000 +vt 0.285714 1.000000 +vt 0.285714 0.500000 +vt 0.305195 0.500000 +vt 0.285714 1.000000 +vt 0.285714 0.500000 +vt 0.324675 0.500000 +vt 0.305195 1.000000 +vt 0.324675 0.500000 +vt 0.305195 1.000000 +vt 0.324675 1.000000 +vt 0.363636 0.500000 +vt 0.344156 1.000000 +vt 0.324675 1.000000 +vt 0.363636 0.500000 +vt 0.344156 1.000000 +vt 0.305195 0.500000 +vt 0.285714 1.000000 +vt 0.285714 0.500000 +vt 0.285714 1.000000 +vt 0.285714 0.500000 +vt 0.305195 1.000000 +vt 0.675325 0.750000 +vt 0.545455 1.000000 +vt 0.545455 0.750000 +vt 0.545455 0.750000 +vt 0.675325 1.000000 +vt 0.545455 1.000000 +vt 0.688312 1.000000 +vt 0.675325 0.750000 +vt 0.688312 0.750000 +vt 0.688312 1.000000 +vt 0.675325 0.750000 +vt 0.688312 0.750000 +vt 0.675325 0.729167 +vt 0.545455 0.729167 +vt 0.675325 0.729167 +vt 0.545455 0.750000 +vt 0.545455 0.729167 +vt 0.402597 0.500000 +vt 0.383117 1.000000 +vt 0.383117 0.500000 +vt 0.422078 0.500000 +vt 0.402597 1.000000 +vt 0.441558 0.500000 +vt 0.422078 1.000000 +vt 0.422078 0.500000 +vt 0.383117 0.500000 +vt 0.363636 1.000000 +vt 0.363636 0.500000 +vt 0.402597 0.500000 +vt 0.383117 1.000000 +vt 0.402597 1.000000 +vt 0.441558 0.500000 +vt 0.422078 1.000000 +vt 0.363636 1.000000 +vt 0.363636 0.500000 +vt 0.402597 0.500000 +vt 0.383117 1.000000 +vt 0.383117 0.500000 +vt 0.422078 0.500000 +vt 0.402597 1.000000 +vt 0.441558 0.500000 +vt 0.422078 1.000000 +vt 0.422078 0.500000 +vt 0.383117 0.500000 +vt 0.363636 1.000000 +vt 0.363636 0.500000 +vt 0.402597 0.500000 +vt 0.383117 1.000000 +vt 0.402597 1.000000 +vt 0.441558 0.500000 +vt 0.422078 1.000000 +vt 0.363636 1.000000 +vt 0.363636 0.500000 +vt 0.792208 0.750000 +vt 0.688312 1.000000 +vt 0.688312 0.750000 +vt 0.415584 0.500000 +vt 0.500000 0.000000 +vt 0.500000 0.500000 +vt 0.415584 0.000000 +vt 0.500000 0.500000 +vt 0.415584 0.500000 +vt 0.500000 0.000000 +vt 0.558442 0.500000 +vt 0.500000 0.500000 +vt 0.500000 0.500000 +vt 0.558442 0.000000 +vt 0.558442 0.500000 +vt 0.558442 0.500000 +vt 0.642857 0.000000 +vt 0.642857 0.500000 +vt 0.558442 0.000000 +vt 0.642857 0.500000 +vt 0.558442 0.500000 +vt 0.642857 0.000000 +vt 0.675325 0.500000 +vt 0.642857 0.500000 +vt 0.642857 0.500000 +vt 0.675325 0.000000 +vt 0.675325 0.500000 +vt 0.688312 0.750000 +vt 0.792208 1.000000 +vt 0.688312 1.000000 +vt 0.805195 1.000000 +vt 0.792208 0.750000 +vt 0.805195 0.750000 +vt 0.805195 1.000000 +vt 0.792208 0.750000 +vt 0.805195 0.750000 +vt 0.792208 0.729167 +vt 0.688312 0.729167 +vt 0.792208 0.729167 +vt 0.688312 0.750000 +vt 0.688312 0.729167 +vt 0.636364 0.625272 +vt 0.645427 0.631294 +vt 0.627300 0.660373 +vt 0.662338 0.624730 +vt 0.671640 0.630911 +vt 0.653036 0.660756 +vt 0.500000 0.000000 +vt 0.415584 0.500000 +vt 0.500000 0.500000 +vt 0.500000 0.500000 +vt 0.415584 0.000000 +vt 0.415584 0.500000 +vt 0.558442 0.500000 +vt 0.500000 0.000000 +vt 0.500000 0.500000 +vt 0.558442 0.000000 +vt 0.500000 0.500000 +vt 0.558442 0.500000 +vt 0.642857 0.000000 +vt 0.558442 0.500000 +vt 0.642857 0.500000 +vt 0.642857 0.500000 +vt 0.558442 0.000000 +vt 0.558442 0.500000 +vt 0.675325 0.500000 +vt 0.642857 0.000000 +vt 0.642857 0.500000 +vt 0.675325 0.000000 +vt 0.642857 0.500000 +vt 0.675325 0.500000 +vt 0.155844 0.666667 +vt -0.000000 -0.000000 +vt -0.000000 -0.000000 +vt -0.000000 -0.000000 +vt -0.000000 -0.000000 +vt 0.415584 0.083333 +vt 0.363636 1.000000 +vt 0.363636 1.000000 +vt 0.363636 1.000000 +vt 0.363636 1.000000 +vt 0.675325 1.000000 +vt 0.675325 1.000000 +vt 0.441558 1.000000 +vt 0.441558 1.000000 +vt 0.441558 1.000000 +vt 0.441558 1.000000 +vt 0.792208 1.000000 +vt 0.415584 0.000000 +vt 0.500000 0.000000 +vt 0.558442 0.000000 +vt 0.500000 0.000000 +vt 0.558442 0.000000 +vt 0.642857 0.000000 +vt 0.675325 0.000000 +vt 0.642857 0.000000 +vt 0.792208 1.000000 +vt 0.649182 0.645834 +vt 0.645427 0.660374 +vt 0.636364 0.666396 +vt 0.623546 0.645834 +vt 0.627300 0.631294 +vt 0.675493 0.645833 +vt 0.671640 0.660756 +vt 0.662338 0.666937 +vt 0.649182 0.645833 +vt 0.653035 0.630911 +vt 0.415584 0.000000 +vt 0.500000 0.000000 +vt 0.558442 0.000000 +vt 0.500000 0.000000 +vt 0.558442 0.000000 +vt 0.642857 0.000000 +vt 0.675325 0.000000 +vt 0.642857 0.000000 +vt 0.724026 -0.000000 +vt 0.714286 0.666667 +vt 0.714286 0.000000 +vt 0.704545 -0.000000 +vt 0.694805 0.666667 +vt 0.694805 0.000000 +vt 0.685065 0.000000 +vt 0.675325 0.666667 +vt 0.675325 -0.000000 +vt 0.753247 0.000000 +vt 0.743506 0.666667 +vt 0.743506 -0.000000 +vt 0.733766 -0.000000 +vt 0.724026 0.666667 +vt 0.704545 0.666667 +vt 0.685065 0.666667 +vt 0.733766 0.666667 +vt 0.724026 0.671875 +vt 0.733766 0.697917 +vt 0.724026 0.697917 +vt 0.704545 0.671875 +vt 0.714286 0.697917 +vt 0.704545 0.697917 +vt 0.685065 0.692708 +vt 0.694805 0.697917 +vt 0.685065 0.697917 +vt 0.733766 0.682292 +vt 0.743506 0.697917 +vt 0.694805 0.682292 +vt 0.704545 0.723958 +vt 0.694805 0.713542 +vt 0.685065 0.703125 +vt 0.733766 0.713542 +vt 0.724026 0.723958 +vt 0.714286 0.729167 +vt 0.743506 0.692708 +vt 0.753247 0.697917 +vt 0.743506 0.703125 +vt 0.675325 0.697917 +vt 0.801948 0.000000 +vt 0.792208 0.666667 +vt 0.792208 0.000000 +vt 0.782468 0.000000 +vt 0.772727 0.666667 +vt 0.772727 0.000000 +vt 0.762987 -0.000000 +vt 0.753247 0.666667 +vt 0.753247 0.000000 +vt 0.831169 0.000000 +vt 0.821429 0.666667 +vt 0.821429 -0.000000 +vt 0.811688 -0.000000 +vt 0.801948 0.666667 +vt 0.782468 0.666667 +vt 0.762987 0.666667 +vt 0.811688 0.666667 +vt 0.801948 0.671875 +vt 0.811688 0.697917 +vt 0.801948 0.697917 +vt 0.782468 0.697917 +vt 0.782468 0.671875 +vt 0.772727 0.682292 +vt 0.762987 0.697917 +vt 0.762987 0.692708 +vt 0.821429 0.692708 +vt 0.811688 0.682292 +vt 0.792208 0.697917 +vt 0.772727 0.697917 +vt 0.782468 0.723958 +vt 0.772727 0.713542 +vt 0.762987 0.703125 +vt 0.821429 0.697917 +vt 0.811688 0.713542 +vt 0.801948 0.723958 +vt 0.792208 0.729167 +vt 0.831169 0.697917 +vt 0.821429 0.703125 +vt 0.753247 0.697917 +vt 0.753247 0.666667 +vt 0.831169 0.666667 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.6000 -0.8000 +vn 0.8000 0.6000 0.0000 +vn 0.0000 0.6000 0.8000 +vn -0.8000 0.6000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.7071 -0.0000 0.7071 +vn -0.0000 0.1866 0.9824 +vn -0.7071 -0.0000 0.7071 +vn -0.9987 0.0196 0.0473 +vn -0.7071 0.0000 -0.7071 +vn -0.0000 -0.1944 -0.9809 +vn 0.7263 -0.1363 -0.6737 +vn 0.7071 0.0000 -0.7071 +vn 0.6794 0.1448 0.7194 +vn -0.6794 0.1448 0.7194 +vn -0.7263 -0.1363 -0.6737 +vn 0.9987 0.0196 0.0473 +vn 0.9955 0.0671 0.0671 +vn 0.6630 0.5294 0.5294 +vn -0.0000 0.7071 0.7071 +vn -0.6630 0.5294 0.5294 +vn -0.9955 0.0671 0.0671 +vn -0.7574 -0.4617 -0.4617 +vn 0.7574 -0.4617 -0.4617 +vn -0.6333 0.7150 0.2962 +vn -0.9947 0.0948 0.0393 +vn -0.7311 -0.6303 -0.2611 +vn 0.9947 0.0948 0.0393 +vn 0.6333 0.7150 0.2962 +vn -0.0000 0.9239 0.3827 +vn 0.7311 -0.6303 -0.2611 +s off +f 1461/2347/299 1462/2348/299 1463/2349/299 +f 1464/2350/299 1465/2351/299 1466/2352/299 +f 1467/2353/299 1468/2354/299 1464/2350/299 +f 1469/2355/299 1470/2356/299 1467/2353/299 +f 1466/2352/299 1471/2357/299 1469/2355/299 +f 1471/2358/300 1472/2359/300 1470/2360/300 +f 1468/2361/301 1473/2362/301 1465/2363/301 +f 1465/2351/302 1474/2364/302 1471/2357/302 +f 1470/2365/303 1475/2366/303 1468/2367/303 +f 1473/2368/299 1476/2369/299 1474/2364/299 +f 1475/2370/299 1477/2371/299 1473/2362/299 +f 1472/2372/299 1478/2373/299 1475/2366/299 +f 1474/2374/299 1479/2375/299 1472/2359/299 +f 1477/2376/302 1480/2377/302 1476/2369/302 +f 1479/2378/303 1481/2379/303 1478/2373/303 +f 1476/2380/300 1482/2381/300 1479/2375/300 +f 1478/2382/301 1483/2383/301 1477/2371/301 +f 1484/2384/304 1464/2350/304 1466/2352/304 +f 1485/2385/305 1467/2353/305 1464/2350/305 +f 1486/2386/306 1469/2355/306 1467/2353/306 +f 1487/2387/307 1466/2352/307 1469/2355/307 +f 1488/2388/299 1489/2389/299 1490/2390/299 +f 1491/2391/300 1492/2392/300 1493/2393/300 +f 1493/2394/302 1488/2388/302 1494/2395/302 +f 1495/2396/303 1489/2389/303 1491/2397/303 +f 1496/2398/299 1497/2399/299 1498/2400/299 +f 1499/2401/302 1496/2398/302 1500/2402/302 +f 1501/2403/303 1497/2399/303 1502/2404/303 +f 1500/2405/301 1498/2400/301 1501/2406/301 +f 1503/2407/302 1504/2408/302 1505/2409/302 +f 1506/2410/300 1507/2411/300 1508/2412/300 +f 1509/2413/300 1510/2414/300 1503/2407/300 +f 1511/2415/303 1512/2416/303 1513/2417/303 +f 1514/2418/303 1515/2419/303 1516/2420/303 +f 1517/2421/301 1518/2422/301 1511/2423/301 +f 1519/2424/301 1520/2425/301 1514/2426/301 +f 1521/2427/302 1522/2428/302 1517/2421/302 +f 1523/2429/302 1524/2430/302 1519/2424/302 +f 1513/2417/300 1525/2431/300 1521/2427/300 +f 1526/2432/303 1527/2433/303 1506/2410/303 +f 1516/2420/300 1528/2434/300 1523/2429/300 +f 1529/2435/303 1530/2436/303 1509/2413/303 +f 1531/2437/301 1532/2438/301 1526/2439/301 +f 1505/2409/301 1533/2440/301 1529/2441/301 +f 1508/2412/302 1534/2442/302 1531/2437/302 +f 1535/2443/308 1536/2444/308 1537/2445/308 +f 1538/2446/299 1539/2447/299 1540/2448/299 +f 1535/2449/300 1541/2450/300 1542/2451/300 +f 1536/2452/301 1540/2453/301 1537/2454/301 +f 1542/2455/302 1538/2446/302 1536/2456/302 +f 1537/2457/303 1539/2458/303 1535/2459/303 +f 1543/2460/302 1544/2461/302 1545/2462/302 +f 1546/2463/300 1547/2464/300 1543/2460/300 +f 1548/2465/303 1549/2466/303 1550/2467/303 +f 1551/2468/301 1552/2469/301 1548/2470/301 +f 1553/2471/302 1554/2472/302 1551/2468/302 +f 1550/2467/300 1555/2473/300 1553/2471/300 +f 1556/2474/303 1557/2475/303 1546/2463/303 +f 1545/2462/301 1558/2476/301 1556/2477/301 +f 1559/2478/302 1560/2479/302 1561/2480/302 +f 1562/2481/300 1563/2482/300 1559/2478/300 +f 1564/2483/303 1565/2484/303 1566/2485/303 +f 1567/2486/301 1568/2487/301 1564/2488/301 +f 1569/2489/302 1570/2490/302 1567/2486/302 +f 1566/2485/300 1571/2491/300 1569/2489/300 +f 1572/2492/303 1573/2493/303 1562/2481/303 +f 1561/2480/301 1574/2494/301 1572/2495/301 +f 1575/2496/308 1576/2497/308 1577/2498/308 +f 1578/2499/300 1579/2500/300 1580/2501/300 +f 1581/2502/301 1582/2503/301 1583/2504/301 +f 1584/2505/303 1585/2506/303 1586/2507/303 +f 1587/2508/302 1588/2509/302 1589/2510/302 +f 1590/2511/300 1591/2512/300 1592/2513/300 +f 1593/2514/301 1594/2515/301 1595/2516/301 +f 1596/2517/303 1597/2518/303 1598/2519/303 +f 1599/2520/302 1600/2521/302 1601/2522/302 +f 1602/2523/299 1603/2524/299 1604/2525/299 +f 1575/2526/300 1605/2527/300 1606/2528/300 +f 1576/2529/301 1604/2530/301 1577/2531/301 +f 1606/2532/302 1602/2523/302 1576/2533/302 +f 1577/2534/303 1603/2535/303 1575/2536/303 +f 1607/2537/300 1608/2538/300 1609/2539/300 +f 1610/2540/300 1611/2541/300 1612/2542/300 +f 1613/2543/301 1614/2544/301 1615/2545/301 +f 1616/2546/300 1617/2547/300 1618/2548/300 +f 1619/2549/302 1620/2550/302 1621/2551/302 +f 1622/2552/303 1623/2553/303 1624/2554/303 +f 1625/2555/301 1626/2556/301 1627/2557/301 +f 1628/2558/300 1629/2559/300 1630/2560/300 +f 1631/2561/302 1632/2562/302 1633/2563/302 +f 1634/2564/303 1635/2565/303 1636/2566/303 +f 1461/2347/299 1637/2567/299 1462/2348/299 +f 1464/2350/299 1468/2354/299 1465/2351/299 +f 1467/2353/299 1470/2356/299 1468/2354/299 +f 1469/2355/299 1471/2357/299 1470/2356/299 +f 1466/2352/299 1465/2351/299 1471/2357/299 +f 1471/2358/300 1474/2374/300 1472/2359/300 +f 1468/2361/301 1475/2370/301 1473/2362/301 +f 1465/2351/302 1473/2368/302 1474/2364/302 +f 1470/2365/303 1472/2372/303 1475/2366/303 +f 1473/2368/299 1477/2376/299 1476/2369/299 +f 1475/2370/299 1478/2382/299 1477/2371/299 +f 1472/2372/299 1479/2378/299 1478/2373/299 +f 1474/2374/299 1476/2380/299 1479/2375/299 +f 1477/2376/302 1483/2568/302 1480/2377/302 +f 1479/2378/303 1482/2569/303 1481/2379/303 +f 1476/2380/300 1480/2570/300 1482/2381/300 +f 1478/2382/301 1481/2571/301 1483/2383/301 +f 1484/2384/304 1485/2385/304 1464/2350/304 +f 1485/2385/305 1486/2386/305 1467/2353/305 +f 1486/2386/306 1487/2387/306 1469/2355/306 +f 1487/2387/307 1484/2384/307 1466/2352/307 +f 1488/2388/299 1492/2392/299 1489/2389/299 +f 1491/2391/300 1489/2389/300 1492/2392/300 +f 1493/2394/302 1492/2392/302 1488/2388/302 +f 1495/2396/303 1490/2390/303 1489/2389/303 +f 1496/2398/299 1638/2572/299 1497/2399/299 +f 1499/2401/302 1638/2572/302 1496/2398/302 +f 1501/2403/303 1498/2400/303 1497/2399/303 +f 1500/2405/301 1496/2398/301 1498/2400/301 +f 1503/2407/302 1510/2414/302 1504/2408/302 +f 1506/2410/300 1527/2433/300 1507/2411/300 +f 1509/2413/300 1530/2436/300 1510/2414/300 +f 1511/2415/303 1518/2573/303 1512/2416/303 +f 1514/2418/303 1520/2574/303 1515/2419/303 +f 1517/2421/301 1522/2428/301 1518/2422/301 +f 1519/2424/301 1524/2430/301 1520/2425/301 +f 1521/2427/302 1525/2431/302 1522/2428/302 +f 1523/2429/302 1528/2434/302 1524/2430/302 +f 1513/2417/300 1512/2416/300 1525/2431/300 +f 1526/2432/303 1532/2575/303 1527/2433/303 +f 1516/2420/300 1515/2419/300 1528/2434/300 +f 1529/2435/303 1533/2576/303 1530/2436/303 +f 1531/2437/301 1534/2442/301 1532/2438/301 +f 1505/2409/301 1504/2408/301 1533/2440/301 +f 1508/2412/302 1507/2411/302 1534/2442/302 +f 1535/2443/308 1542/2577/308 1536/2444/308 +f 1538/2446/299 1541/2450/299 1539/2447/299 +f 1535/2449/300 1539/2447/300 1541/2450/300 +f 1536/2452/301 1538/2578/301 1540/2453/301 +f 1542/2455/302 1541/2450/302 1538/2446/302 +f 1537/2457/303 1540/2453/303 1539/2458/303 +f 1543/2460/302 1547/2464/302 1544/2461/302 +f 1546/2463/300 1557/2475/300 1547/2464/300 +f 1548/2465/303 1552/2579/303 1549/2466/303 +f 1551/2468/301 1554/2472/301 1552/2469/301 +f 1553/2471/302 1555/2473/302 1554/2472/302 +f 1550/2467/300 1549/2466/300 1555/2473/300 +f 1556/2474/303 1558/2580/303 1557/2475/303 +f 1545/2462/301 1544/2461/301 1558/2476/301 +f 1559/2478/302 1563/2482/302 1560/2479/302 +f 1562/2481/300 1573/2493/300 1563/2482/300 +f 1564/2483/303 1568/2581/303 1565/2484/303 +f 1567/2486/301 1570/2490/301 1568/2487/301 +f 1569/2489/302 1571/2491/302 1570/2490/302 +f 1566/2485/300 1565/2484/300 1571/2491/300 +f 1572/2492/303 1574/2582/303 1573/2493/303 +f 1561/2480/301 1560/2479/301 1574/2494/301 +f 1575/2496/308 1606/2583/308 1576/2497/308 +f 1578/2499/300 1639/2584/300 1579/2500/300 +f 1581/2502/301 1640/2585/301 1582/2503/301 +f 1584/2505/303 1641/2586/303 1585/2506/303 +f 1587/2508/302 1642/2587/302 1588/2509/302 +f 1590/2511/300 1643/2588/300 1591/2512/300 +f 1593/2514/301 1644/2589/301 1594/2515/301 +f 1596/2517/303 1645/2590/303 1597/2518/303 +f 1599/2520/302 1646/2591/302 1600/2521/302 +f 1602/2523/299 1605/2527/299 1603/2524/299 +f 1575/2526/300 1603/2524/300 1605/2527/300 +f 1576/2529/301 1602/2592/301 1604/2530/301 +f 1606/2532/302 1605/2527/302 1602/2523/302 +f 1577/2534/303 1604/2530/303 1603/2535/303 +f 1608/2538/300 1647/2593/300 1648/2594/300 +f 1648/2594/300 1649/2595/300 1608/2538/300 +f 1649/2595/300 1609/2539/300 1608/2538/300 +f 1609/2539/300 1650/2596/300 1651/2597/300 +f 1651/2597/300 1607/2537/300 1609/2539/300 +f 1611/2541/300 1652/2598/300 1653/2599/300 +f 1653/2599/300 1654/2600/300 1611/2541/300 +f 1654/2600/300 1612/2542/300 1611/2541/300 +f 1612/2542/300 1655/2601/300 1656/2602/300 +f 1656/2602/300 1610/2540/300 1612/2542/300 +f 1613/2543/301 1657/2603/301 1614/2544/301 +f 1616/2546/300 1658/2604/300 1617/2547/300 +f 1619/2549/302 1659/2605/302 1620/2550/302 +f 1622/2552/303 1660/2606/303 1623/2553/303 +f 1625/2555/301 1661/2607/301 1626/2556/301 +f 1628/2558/300 1662/2608/300 1629/2559/300 +f 1631/2561/302 1663/2609/302 1632/2562/302 +f 1634/2564/303 1664/2610/303 1635/2565/303 +s 1 +f 1665/2611/309 1666/2612/310 1667/2613/301 +f 1668/2614/311 1669/2615/312 1670/2616/303 +f 1671/2617/313 1607/2618/314 1672/2619/300 +f 1672/2620/300 1673/2621/315 1674/2622/316 +f 1675/2623/302 1676/2624/317 1665/2611/309 +f 1667/2613/301 1677/2625/318 1668/2614/311 +f 1670/2616/303 1678/2626/319 1671/2617/313 +f 1674/2622/316 1679/2627/320 1675/2623/302 +f 1676/2628/317 1680/2629/321 1681/2630/322 +f 1677/2631/318 1682/2632/323 1683/2633/324 +f 1678/2634/319 1684/2635/325 1685/2636/326 +f 1679/2637/320 1686/2638/327 1680/2629/321 +f 1666/2612/310 1681/2630/322 1682/2632/323 +f 1677/2631/318 1684/2635/325 1669/2639/312 +f 1682/2632/323 1648/2640/328 1683/2633/324 +f 1685/2636/326 1647/2641/329 1608/2642/330 +f 1686/2638/327 1650/2643/331 1680/2629/321 +f 1682/2632/323 1609/2644/332 1649/2645/333 +f 1684/2635/325 1648/2640/328 1647/2641/329 +f 1680/2629/321 1609/2644/332 1681/2630/322 +f 1673/2646/315 1607/2647/314 1686/2638/327 +f 1686/2638/327 1607/2647/314 1651/2648/334 +f 1678/2634/319 1685/2636/326 1607/2649/314 +f 1685/2636/326 1608/2642/330 1607/2649/314 +f 1687/2650/309 1688/2651/310 1689/2652/301 +f 1690/2653/311 1691/2654/312 1692/2655/303 +f 1693/2656/313 1610/2657/314 1694/2658/300 +f 1694/2659/300 1695/2660/315 1696/2661/316 +f 1697/2662/302 1698/2663/317 1687/2650/309 +f 1689/2652/301 1699/2664/318 1690/2653/311 +f 1692/2655/303 1700/2665/319 1693/2656/313 +f 1696/2661/316 1701/2666/320 1697/2662/302 +f 1698/2667/317 1702/2668/321 1703/2669/322 +f 1688/2651/310 1704/2670/324 1699/2671/318 +f 1691/2672/312 1705/2673/326 1700/2674/319 +f 1695/2675/315 1702/2668/321 1701/2676/320 +f 1688/2651/310 1703/2669/322 1706/2677/323 +f 1699/2671/318 1707/2678/325 1691/2672/312 +f 1706/2677/323 1653/2679/328 1704/2670/324 +f 1705/2673/326 1652/2680/329 1611/2681/330 +f 1708/2682/327 1655/2683/331 1702/2668/321 +f 1706/2677/323 1612/2684/332 1654/2685/333 +f 1707/2678/325 1653/2679/328 1652/2680/329 +f 1702/2668/321 1612/2684/332 1703/2669/322 +f 1695/2675/315 1610/2686/314 1708/2682/327 +f 1708/2682/327 1610/2686/314 1656/2687/334 +f 1700/2674/319 1705/2673/326 1610/2688/314 +f 1705/2673/326 1611/2681/330 1610/2688/314 +f 1665/2611/309 1676/2624/317 1666/2612/310 +f 1668/2614/311 1677/2625/318 1669/2615/312 +f 1671/2617/313 1678/2626/319 1607/2618/314 +f 1672/2620/300 1607/2689/314 1673/2621/315 +f 1675/2623/302 1679/2627/320 1676/2624/317 +f 1667/2613/301 1666/2612/310 1677/2625/318 +f 1670/2616/303 1669/2615/312 1678/2626/319 +f 1674/2622/316 1673/2621/315 1679/2627/320 +f 1676/2628/317 1679/2637/320 1680/2629/321 +f 1677/2631/318 1666/2612/310 1682/2632/323 +f 1678/2634/319 1669/2639/312 1684/2635/325 +f 1679/2637/320 1673/2646/315 1686/2638/327 +f 1666/2612/310 1676/2628/317 1681/2630/322 +f 1677/2631/318 1683/2633/324 1684/2635/325 +f 1682/2632/323 1649/2645/333 1648/2640/328 +f 1685/2636/326 1684/2635/325 1647/2641/329 +f 1686/2638/327 1651/2648/334 1650/2643/331 +f 1682/2632/323 1681/2630/322 1609/2644/332 +f 1684/2635/325 1683/2633/324 1648/2640/328 +f 1680/2629/321 1650/2643/331 1609/2644/332 +f 1687/2650/309 1698/2663/317 1688/2651/310 +f 1690/2653/311 1699/2664/318 1691/2654/312 +f 1693/2656/313 1700/2665/319 1610/2657/314 +f 1694/2659/300 1610/2690/314 1695/2660/315 +f 1697/2662/302 1701/2666/320 1698/2663/317 +f 1689/2652/301 1688/2651/310 1699/2664/318 +f 1692/2655/303 1691/2654/312 1700/2665/319 +f 1696/2661/316 1695/2660/315 1701/2666/320 +f 1698/2667/317 1701/2676/320 1702/2668/321 +f 1688/2651/310 1706/2677/323 1704/2670/324 +f 1691/2672/312 1707/2678/325 1705/2673/326 +f 1695/2675/315 1708/2682/327 1702/2668/321 +f 1688/2651/310 1698/2667/317 1703/2669/322 +f 1699/2671/318 1704/2670/324 1707/2678/325 +f 1706/2677/323 1654/2685/333 1653/2679/328 +f 1705/2673/326 1707/2678/325 1652/2680/329 +f 1708/2682/327 1656/2687/334 1655/2683/331 +f 1706/2677/323 1703/2669/322 1612/2684/332 +f 1707/2678/325 1704/2670/324 1653/2679/328 +f 1702/2668/321 1655/2683/331 1612/2684/332 +o Huge_Erector +v 0.562500 3.500000 -3.187500 +v 0.937500 3.500000 -2.812500 +v 0.562500 3.500000 -2.812500 +v 0.937500 14.500000 -2.812499 +v 0.562500 14.500000 -3.187499 +v 0.562500 14.500000 -2.812499 +v 0.937500 3.500000 -3.187500 +v 0.937500 14.500000 -3.187499 +v -0.937500 5.750000 -1.812500 +v 0.937500 6.125000 -1.812500 +v 0.937500 5.750000 -1.812500 +v -0.562500 6.125000 -1.187500 +v -0.937500 5.750000 -0.812500 +v -0.562500 5.750000 -1.187500 +v -0.937500 6.125000 -0.812500 +v -0.937500 6.125000 -1.812500 +v 0.937500 5.750000 -0.812500 +v 0.562500 6.125000 -1.187500 +v 0.937500 6.125000 -0.812500 +v 0.562500 5.750000 -1.187500 +v -0.937500 8.750000 -1.812500 +v 0.937500 9.125000 -1.812500 +v 0.937500 8.750000 -1.812500 +v -0.562500 9.125000 -0.937500 +v -0.937500 8.750000 -0.562500 +v -0.562500 8.750000 -0.937500 +v -0.937500 9.125000 -0.562500 +v -0.937500 9.125000 -1.812500 +v 0.937500 8.750000 -0.562500 +v 0.562500 9.125000 -0.937500 +v 0.937500 9.125000 -0.562500 +v 0.562500 8.750000 -0.937500 +v -0.937500 10.750000 -1.812500 +v 0.937500 11.125000 -1.812500 +v 0.937500 10.750000 -1.812500 +v -0.562500 11.125000 -0.937500 +v -0.937500 10.750000 -0.562500 +v -0.562500 10.750000 -0.937500 +v -0.937500 11.125000 -0.562500 +v -0.937500 11.125000 -1.812500 +v 0.937500 10.750000 -0.562500 +v 0.562500 11.125000 -0.937500 +v 0.937500 11.125000 -0.562500 +v 0.562500 10.750000 -0.937500 +v -0.562500 8.812500 -1.812500 +v 0.562500 8.812500 -2.062500 +v 0.562500 8.812500 -1.812500 +v -0.562500 11.062500 -2.062500 +v 0.562500 10.812500 -2.062500 +v -0.562500 10.812500 -2.062500 +v 0.562500 11.062500 -1.812500 +v -0.562500 11.062500 -1.812500 +v -0.562500 10.812500 -1.812500 +v 0.562500 10.812500 -1.812500 +v 0.562500 9.062500 -1.812500 +v -0.562500 9.062500 -2.062500 +v -0.562500 9.062500 -1.812500 +v -0.562500 8.812500 -2.062500 +v -0.562500 5.812500 -1.812500 +v 0.562500 5.812500 -2.062500 +v 0.562500 5.812500 -1.812500 +v 0.562500 6.062500 -1.812500 +v -0.562500 6.062500 -2.062500 +v -0.562500 6.062500 -1.812500 +v -0.562500 5.812500 -2.062500 +v -0.562500 3.500000 -3.000000 +v 0.562500 14.500000 -2.999999 +v 0.562500 3.500000 -3.000000 +v -0.750000 14.500000 -2.187499 +v -0.750000 3.500000 -2.812500 +v -0.750000 3.500000 -2.187500 +v 0.562500 14.500000 -1.999999 +v -0.562500 3.500000 -2.000000 +v 0.562500 3.500000 -2.000000 +v 0.750000 3.500000 -2.812500 +v 0.750000 14.500000 -2.187499 +v 0.750000 3.500000 -2.187500 +v 0.562500 3.500000 -2.187500 +v 0.937500 3.500000 -1.812500 +v 0.562500 3.500000 -1.812500 +v 0.937500 14.500000 -1.812499 +v 0.562500 14.500000 -2.187499 +v 0.562500 14.500000 -1.812499 +v 0.937500 3.500000 -2.187500 +v 0.937500 14.500000 -2.187499 +v -0.937500 3.500000 -3.187500 +v -0.562500 3.500000 -2.812500 +v -0.937500 3.500000 -2.812500 +v -0.562500 14.500000 -2.812499 +v -0.937500 14.500000 -3.187499 +v -0.937500 14.500000 -2.812499 +v -0.562500 3.500000 -3.187500 +v -0.562500 14.500000 -3.187499 +v -0.937500 3.500000 -2.187500 +v -0.562500 3.500000 -1.812500 +v -0.937500 3.500000 -1.812500 +v -0.562500 14.500000 -1.812499 +v -0.937500 14.500000 -2.187499 +v -0.937500 14.500000 -1.812499 +v -0.562500 3.500000 -2.187500 +v -0.562500 14.500000 -2.187499 +v 0.562500 14.500000 -2.999999 +v -0.562500 3.500000 -3.000000 +v 0.562500 3.500000 -3.000000 +v -0.750000 3.500000 -2.812500 +v -0.750000 14.500000 -2.187499 +v -0.750000 3.500000 -2.187500 +v -0.562500 3.500000 -2.000000 +v 0.562500 14.500000 -1.999999 +v 0.562500 3.500000 -2.000000 +v 0.750000 14.500000 -2.187499 +v 0.750000 3.500000 -2.812500 +v 0.750000 3.500000 -2.187500 +v 0.562500 11.062500 -2.062500 +v 0.562500 9.062500 -2.062500 +v 0.562500 6.062500 -2.062500 +v -0.562500 14.500000 -2.999999 +v -0.750000 14.500000 -2.812499 +v -0.562500 14.500000 -1.999999 +v 0.750000 14.500000 -2.812499 +v -0.562500 14.500000 -2.999999 +v -0.750000 14.500000 -2.812499 +v -0.562500 14.500000 -1.999999 +v 0.750000 14.500000 -2.812499 +vt 0.850649 0.031250 +vt 0.831169 -0.000000 +vt 0.850649 -0.000000 +vt 0.831169 0.979167 +vt 0.850649 0.947917 +vt 0.850649 0.979167 +vt 0.870130 0.031250 +vt 0.889610 0.031250 +vt 0.870130 0.947917 +vt 0.909091 0.031250 +vt 0.889610 0.947917 +vt 0.831169 0.947917 +vt 0.831169 0.031250 +vt 0.136364 0.739583 +vt 0.038961 0.770833 +vt 0.038961 0.739583 +vt 0.116883 0.875000 +vt 0.136364 0.906250 +vt 0.116883 0.906250 +vt 0.155844 0.791667 +vt 0.136364 0.875000 +vt 0.136364 0.791667 +vt 0.038961 0.791667 +vt 0.136364 0.791667 +vt 0.058442 0.843750 +vt 0.038961 0.791667 +vt 0.019481 0.875000 +vt 0.019481 0.791667 +vt 0.058442 0.843750 +vt 0.038961 0.875000 +vt 0.058442 0.906250 +vt 0.038961 0.906250 +vt 0.058442 0.875000 +vt 0.136364 0.739583 +vt 0.038961 0.770833 +vt 0.038961 0.739583 +vt 0.116883 0.875000 +vt 0.136364 0.906250 +vt 0.116883 0.906250 +vt 0.155844 0.770833 +vt 0.136364 0.875000 +vt 0.136364 0.770833 +vt 0.038961 0.770833 +vt 0.136364 0.770833 +vt 0.058442 0.843750 +vt 0.019481 0.875000 +vt 0.019481 0.770833 +vt 0.058442 0.843750 +vt 0.038961 0.875000 +vt 0.058442 0.906250 +vt 0.038961 0.906250 +vt 0.058442 0.875000 +vt 0.136364 0.739583 +vt 0.038961 0.770833 +vt 0.038961 0.739583 +vt 0.116883 0.875000 +vt 0.136364 0.906250 +vt 0.116883 0.906250 +vt 0.155844 0.770833 +vt 0.136364 0.875000 +vt 0.136364 0.770833 +vt 0.038961 0.770833 +vt 0.136364 0.770833 +vt 0.058442 0.843750 +vt 0.019481 0.875000 +vt 0.019481 0.770833 +vt 0.058442 0.843750 +vt 0.038961 0.875000 +vt 0.058442 0.906250 +vt 0.038961 0.906250 +vt 0.058442 0.875000 +vt 0.967532 0.916667 +vt 0.909091 0.937500 +vt 0.909091 0.916667 +vt 0.967532 0.958333 +vt 0.909091 0.937500 +vt 0.967532 0.937500 +vt 0.909091 0.979167 +vt 0.967532 0.979167 +vt 0.967532 0.916667 +vt 0.909091 0.916667 +vt 0.909091 0.979167 +vt 0.967532 0.958333 +vt 0.967532 0.979167 +vt 0.967532 0.937500 +vt 0.967532 0.916667 +vt 0.909091 0.937500 +vt 0.909091 0.916667 +vt 0.909091 0.979167 +vt 0.967532 0.958333 +vt 0.967532 0.979167 +vt 0.967532 0.937500 +vt 0.967532 0.000000 +vt 0.909091 0.916667 +vt 0.909091 -0.000000 +vt 1.000000 0.916667 +vt 0.967532 -0.000000 +vt 1.000000 -0.000000 +vt 0.967532 0.916667 +vt 0.909091 -0.000000 +vt 0.967532 0.000000 +vt 1.000000 -0.000000 +vt 0.967532 0.916667 +vt 0.967532 -0.000000 +vt 0.850649 0.031250 +vt 0.831169 -0.000000 +vt 0.850649 -0.000000 +vt 0.831169 0.979167 +vt 0.850649 0.947917 +vt 0.850649 0.979167 +vt 0.870130 0.031250 +vt 0.889610 0.031250 +vt 0.870130 0.947917 +vt 0.909091 0.031250 +vt 0.889610 0.947917 +vt 0.831169 0.947917 +vt 0.831169 0.031250 +vt 0.850649 0.031250 +vt 0.831169 -0.000000 +vt 0.850649 -0.000000 +vt 0.831169 0.979167 +vt 0.850649 0.947917 +vt 0.850649 0.979167 +vt 0.870130 0.031250 +vt 0.889610 0.031250 +vt 0.870130 0.947917 +vt 0.909091 0.031250 +vt 0.889610 0.947917 +vt 0.831169 0.947917 +vt 0.831169 0.031250 +vt 0.850649 0.031250 +vt 0.831169 -0.000000 +vt 0.850649 -0.000000 +vt 0.831169 0.979167 +vt 0.850649 0.947917 +vt 0.850649 0.979167 +vt 0.870130 0.031250 +vt 0.889610 0.031250 +vt 0.870130 0.947917 +vt 0.909091 0.031250 +vt 0.889610 0.947917 +vt 0.831169 0.947917 +vt 0.831169 0.031250 +vt 0.909091 0.916667 +vt 0.967532 0.000000 +vt 0.909091 -0.000000 +vt 0.967532 -0.000000 +vt 1.000000 0.916667 +vt 1.000000 -0.000000 +vt 0.909091 -0.000000 +vt 0.967532 0.916667 +vt 0.967532 0.000000 +vt 0.967532 0.916667 +vt 1.000000 -0.000000 +vt 0.967532 -0.000000 +vt 0.909091 0.947917 +vt 0.136364 0.770833 +vt 0.155844 0.875000 +vt 0.136364 0.875000 +vt 0.116883 0.843750 +vt 0.038961 0.875000 +vt 0.116883 0.843750 +vt 0.155844 0.875000 +vt 0.136364 0.875000 +vt 0.116883 0.843750 +vt 0.038961 0.875000 +vt 0.116883 0.843750 +vt 0.155844 0.875000 +vt 0.136364 0.875000 +vt 0.116883 0.843750 +vt 0.038961 0.875000 +vt 0.116883 0.843750 +vt 0.909091 0.958333 +vt 0.909091 0.958333 +vt 0.909091 0.958333 +vt 0.967532 0.916667 +vt 0.967532 0.916667 +vt 0.909091 0.916667 +vt 1.000000 0.916667 +vt 0.909091 0.947917 +vt 0.909091 0.947917 +vt 0.909091 0.947917 +vt 0.967532 0.916667 +vt 0.967532 0.916667 +vt 0.909091 0.916667 +vt 1.000000 0.916667 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +s off +f 1709/2691/335 1710/2692/335 1711/2693/335 +f 1712/2694/336 1713/2695/336 1714/2696/336 +f 1711/2697/337 1713/2695/337 1709/2691/337 +f 1710/2698/338 1714/2699/338 1711/2697/338 +f 1715/2700/339 1712/2701/339 1710/2698/339 +f 1709/2691/340 1716/2702/340 1715/2703/340 +f 1717/2704/340 1718/2705/340 1719/2706/340 +f 1720/2707/341 1721/2708/341 1722/2709/341 +f 1717/2710/337 1723/2711/337 1724/2712/337 +f 1717/2713/335 1719/2714/335 1722/2715/335 +f 1718/2716/339 1725/2717/339 1719/2718/339 +f 1718/2716/336 1724/2712/336 1726/2719/336 +f 1727/2720/342 1728/2721/342 1725/2722/342 +f 1726/2723/338 1722/2709/338 1728/2721/338 +f 1729/2724/340 1730/2725/340 1731/2726/340 +f 1732/2727/341 1733/2728/341 1734/2729/341 +f 1729/2730/337 1735/2731/337 1736/2732/337 +f 1729/2733/335 1731/2734/335 1734/2735/335 +f 1730/2725/339 1737/2736/339 1731/2737/339 +f 1730/2725/336 1736/2732/336 1738/2738/336 +f 1739/2739/342 1740/2740/342 1737/2741/342 +f 1738/2742/338 1734/2729/338 1740/2740/338 +f 1741/2743/340 1742/2744/340 1743/2745/340 +f 1744/2746/341 1745/2747/341 1746/2748/341 +f 1741/2749/337 1747/2750/337 1748/2751/337 +f 1741/2752/335 1743/2753/335 1746/2754/335 +f 1742/2744/339 1749/2755/339 1743/2756/339 +f 1742/2744/336 1748/2751/336 1750/2757/336 +f 1751/2758/342 1752/2759/342 1749/2760/342 +f 1750/2761/338 1746/2748/338 1752/2759/338 +f 1753/2762/335 1754/2763/335 1755/2764/335 +f 1756/2765/340 1757/2766/340 1758/2767/340 +f 1759/2768/336 1756/2765/336 1760/2769/336 +f 1761/2770/335 1757/2766/335 1762/2771/335 +f 1763/2772/336 1764/2773/336 1765/2774/336 +f 1764/2773/340 1754/2763/340 1766/2775/340 +f 1767/2776/335 1768/2777/335 1769/2778/335 +f 1770/2779/336 1771/2780/336 1772/2781/336 +f 1771/2780/340 1768/2777/340 1773/2782/340 +f 1774/2783/340 1775/2784/340 1776/2785/340 +f 1777/2786/337 1778/2787/337 1779/2788/337 +f 1780/2789/338 1781/2790/338 1782/2791/338 +f 1783/2792/339 1784/2793/339 1785/2794/339 +f 1786/2795/335 1787/2796/335 1788/2797/335 +f 1789/2798/336 1790/2799/336 1791/2800/336 +f 1788/2801/337 1790/2799/337 1786/2795/337 +f 1787/2802/338 1791/2803/338 1788/2801/338 +f 1792/2804/339 1789/2805/339 1787/2802/339 +f 1786/2795/340 1793/2806/340 1792/2807/340 +f 1794/2808/335 1795/2809/335 1796/2810/335 +f 1797/2811/336 1798/2812/336 1799/2813/336 +f 1796/2814/337 1798/2812/337 1794/2808/337 +f 1795/2815/338 1799/2816/338 1796/2814/338 +f 1800/2817/339 1797/2818/339 1795/2815/339 +f 1794/2808/340 1801/2819/340 1800/2820/340 +f 1802/2821/335 1803/2822/335 1804/2823/335 +f 1805/2824/336 1806/2825/336 1807/2826/336 +f 1804/2827/337 1806/2825/337 1802/2821/337 +f 1803/2828/338 1807/2829/338 1804/2827/338 +f 1808/2830/339 1805/2831/339 1803/2828/339 +f 1802/2821/340 1809/2832/340 1808/2833/340 +f 1810/2834/338 1811/2835/338 1812/2836/338 +f 1813/2837/339 1814/2838/339 1815/2839/339 +f 1816/2840/340 1817/2841/340 1818/2842/340 +f 1819/2843/337 1820/2844/337 1821/2845/337 +f 1709/2691/335 1715/2703/335 1710/2692/335 +f 1712/2694/336 1716/2702/336 1713/2695/336 +f 1711/2697/337 1714/2699/337 1713/2695/337 +f 1710/2698/338 1712/2701/338 1714/2699/338 +f 1715/2700/339 1716/2846/339 1712/2701/339 +f 1709/2691/340 1713/2695/340 1716/2702/340 +f 1717/2704/340 1724/2847/340 1718/2705/340 +f 1720/2707/341 1723/2711/341 1721/2708/341 +f 1717/2710/337 1721/2848/337 1723/2711/337 +f 1719/2714/335 1725/2849/335 1728/2850/335 +f 1722/2715/335 1721/2851/335 1717/2713/335 +f 1719/2714/335 1728/2850/335 1722/2715/335 +f 1718/2716/339 1727/2720/339 1725/2717/339 +f 1724/2712/336 1723/2711/336 1720/2852/336 +f 1726/2719/336 1727/2720/336 1718/2716/336 +f 1724/2712/336 1720/2852/336 1726/2719/336 +f 1727/2720/342 1726/2723/342 1728/2721/342 +f 1726/2723/338 1720/2707/338 1722/2709/338 +f 1729/2724/340 1736/2732/340 1730/2725/340 +f 1732/2727/341 1735/2731/341 1733/2728/341 +f 1729/2730/337 1733/2853/337 1735/2731/337 +f 1731/2734/335 1737/2854/335 1740/2855/335 +f 1734/2735/335 1733/2856/335 1729/2733/335 +f 1731/2734/335 1740/2855/335 1734/2735/335 +f 1730/2725/339 1739/2739/339 1737/2736/339 +f 1736/2732/336 1735/2731/336 1732/2857/336 +f 1738/2738/336 1739/2739/336 1730/2725/336 +f 1736/2732/336 1732/2857/336 1738/2738/336 +f 1739/2739/342 1738/2742/342 1740/2740/342 +f 1738/2742/338 1732/2727/338 1734/2729/338 +f 1741/2743/340 1748/2751/340 1742/2744/340 +f 1744/2746/341 1747/2750/341 1745/2747/341 +f 1741/2749/337 1745/2858/337 1747/2750/337 +f 1743/2753/335 1749/2859/335 1752/2860/335 +f 1746/2754/335 1745/2861/335 1741/2752/335 +f 1743/2753/335 1752/2860/335 1746/2754/335 +f 1742/2744/339 1751/2758/339 1749/2755/339 +f 1748/2751/336 1747/2750/336 1744/2862/336 +f 1750/2757/336 1751/2758/336 1742/2744/336 +f 1748/2751/336 1744/2862/336 1750/2757/336 +f 1751/2758/342 1750/2761/342 1752/2759/342 +f 1750/2761/338 1744/2746/338 1746/2748/338 +f 1753/2762/335 1766/2775/335 1754/2763/335 +f 1756/2765/340 1822/2863/340 1757/2766/340 +f 1759/2768/336 1822/2863/336 1756/2765/336 +f 1761/2770/335 1758/2767/335 1757/2766/335 +f 1763/2772/336 1823/2864/336 1764/2773/336 +f 1764/2773/340 1823/2864/340 1754/2763/340 +f 1767/2776/335 1773/2782/335 1768/2777/335 +f 1770/2779/336 1824/2865/336 1771/2780/336 +f 1771/2780/340 1824/2865/340 1768/2777/340 +f 1774/2783/340 1825/2866/340 1775/2784/340 +f 1777/2786/337 1826/2867/337 1778/2787/337 +f 1780/2789/338 1827/2868/338 1781/2790/338 +f 1783/2792/339 1828/2869/339 1784/2793/339 +f 1786/2795/335 1792/2807/335 1787/2796/335 +f 1789/2798/336 1793/2806/336 1790/2799/336 +f 1788/2801/337 1791/2803/337 1790/2799/337 +f 1787/2802/338 1789/2805/338 1791/2803/338 +f 1792/2804/339 1793/2870/339 1789/2805/339 +f 1786/2795/340 1790/2799/340 1793/2806/340 +f 1794/2808/335 1800/2820/335 1795/2809/335 +f 1797/2811/336 1801/2819/336 1798/2812/336 +f 1796/2814/337 1799/2816/337 1798/2812/337 +f 1795/2815/338 1797/2818/338 1799/2816/338 +f 1800/2817/339 1801/2871/339 1797/2818/339 +f 1794/2808/340 1798/2812/340 1801/2819/340 +f 1802/2821/335 1808/2833/335 1803/2822/335 +f 1805/2824/336 1809/2832/336 1806/2825/336 +f 1804/2827/337 1807/2829/337 1806/2825/337 +f 1803/2828/338 1805/2831/338 1807/2829/338 +f 1808/2830/339 1809/2872/339 1805/2831/339 +f 1802/2821/340 1806/2825/340 1809/2832/340 +f 1810/2834/338 1829/2873/338 1811/2835/338 +f 1813/2837/339 1830/2874/339 1814/2838/339 +f 1816/2840/340 1831/2875/340 1817/2841/340 +f 1819/2843/337 1832/2876/337 1820/2844/337 +o Huge_Pivot +v 0.875000 3.500000 -1.875000 +v 0.625000 4.500000 -1.875000 +v 0.625000 3.500000 -1.875000 +v 0.625000 3.500000 -2.125000 +v 0.875000 4.500000 -2.125000 +v 0.875000 3.500000 -2.125000 +v 0.562500 2.000000 -2.187500 +v 0.937500 2.000000 -1.812500 +v 0.562500 2.000000 -1.812500 +v -0.937500 2.000000 -2.187500 +v -0.562500 2.000000 -1.812500 +v -0.937500 2.000000 -1.812500 +v 0.937500 3.500000 -2.812500 +v 0.562500 3.500000 -3.187500 +v 0.562500 3.500000 -2.812500 +v -0.562500 3.500000 -2.812500 +v -0.937500 3.500000 -3.187500 +v -0.937500 3.500000 -2.812500 +v -0.937500 1.500000 -3.187500 +v -0.562500 3.500000 -3.187500 +v -0.562500 1.500000 -3.187500 +v -0.562500 1.500000 -2.812500 +v -0.937500 1.500000 -2.812500 +v 0.562500 1.500000 -3.187500 +v 0.937500 3.500000 -3.187500 +v 0.937500 1.500000 -3.187500 +v 0.937500 1.500000 -2.812500 +v 0.562500 1.500000 -2.812500 +v 0.937500 3.500000 -1.812500 +v 0.562500 3.500000 -2.187500 +v 0.562500 3.500000 -1.812500 +v -0.562500 3.500000 -1.812500 +v -0.937500 3.500000 -2.187500 +v -0.937500 3.500000 -1.812500 +v -0.562500 2.000000 -2.187500 +v 0.937500 2.000000 -2.187500 +v -0.562500 3.500000 -2.187500 +v 0.937500 3.500000 -2.187500 +v 0.625000 3.500000 -3.125000 +v 0.875000 4.500000 -3.125000 +v 0.875000 3.500000 -3.125000 +v 0.875000 3.500000 -2.875000 +v 0.625000 4.500000 -2.875000 +v 0.625000 3.500000 -2.875000 +v 0.875000 4.500000 -2.875000 +v 0.625000 4.500000 -3.125000 +v 0.875000 4.500000 -1.875000 +v 0.625000 4.500000 -2.125000 +v -0.625000 3.500000 -1.875000 +v -0.875000 4.500000 -1.875000 +v -0.875000 3.500000 -1.875000 +v -0.875000 3.500000 -2.125000 +v -0.625000 4.500000 -2.125000 +v -0.625000 3.500000 -2.125000 +v -0.875000 3.500000 -3.125000 +v -0.625000 4.500000 -3.125000 +v -0.625000 3.500000 -3.125000 +v -0.625000 3.500000 -2.875000 +v -0.875000 4.500000 -2.875000 +v -0.875000 3.500000 -2.875000 +v -0.625000 4.500000 -2.875000 +v -0.875000 4.500000 -3.125000 +v -0.625000 4.500000 -1.875000 +v -0.875000 4.500000 -2.125000 +v 0.750000 2.000000 -2.187500 +v 0.750000 3.500000 -2.812500 +v 0.750000 3.500000 -2.187500 +v -0.750000 3.500000 -2.812500 +v -0.750000 2.000000 -2.187500 +v -0.750000 3.500000 -2.187500 +v -0.562500 2.000000 -2.000000 +v 0.562500 3.500000 -2.000000 +v -0.562500 3.500000 -2.000000 +v 0.562500 3.500000 -3.000000 +v -0.562500 2.000000 -3.000000 +v -0.562500 3.500000 -3.000000 +v 0.750000 3.500000 -2.812500 +v 0.750000 2.000000 -2.187500 +v 0.750000 3.500000 -2.187500 +v -0.750000 2.000000 -2.187500 +v -0.750000 3.500000 -2.812500 +v -0.750000 3.500000 -2.187500 +v 0.562500 3.500000 -2.000000 +v -0.562500 2.000000 -2.000000 +v -0.562500 3.500000 -2.000000 +v -0.562500 2.000000 -3.000000 +v 0.562500 3.500000 -3.000000 +v -0.562500 3.500000 -3.000000 +v 0.750000 2.000000 -2.812500 +v -0.750000 2.000000 -2.812500 +v 0.562500 2.000000 -2.000000 +v 0.562500 2.000000 -3.000000 +v 0.750000 2.000000 -2.812500 +v -0.750000 2.000000 -2.812500 +v 0.562500 2.000000 -2.000000 +v 0.562500 2.000000 -3.000000 +vt 0.168831 0.541667 +vt 0.155844 0.625000 +vt 0.155844 0.541667 +vt 0.142857 0.541667 +vt 0.129870 0.625000 +vt 0.129870 0.541667 +vt 0.051948 0.708333 +vt 0.071429 0.739583 +vt 0.051948 0.739583 +vt 0.051948 0.708333 +vt 0.071429 0.739583 +vt 0.051948 0.739583 +vt 0.051948 0.739583 +vt 0.071429 0.708333 +vt 0.071429 0.739583 +vt 0.051948 0.739583 +vt 0.071429 0.708333 +vt 0.071429 0.739583 +vt 0.071429 0.541667 +vt 0.051948 0.708333 +vt 0.051948 0.541667 +vt 0.110390 0.541667 +vt 0.090909 0.708333 +vt 0.090909 0.541667 +vt 0.071429 0.541667 +vt 0.051948 0.708333 +vt 0.051948 0.541667 +vt 0.110390 0.541667 +vt 0.090909 0.708333 +vt 0.090909 0.541667 +vt 0.129870 0.541667 +vt 0.110390 0.708333 +vt 0.129870 0.541667 +vt 0.110390 0.708333 +vt 0.051948 0.739583 +vt 0.071429 0.708333 +vt 0.071429 0.739583 +vt 0.051948 0.739583 +vt 0.071429 0.708333 +vt 0.071429 0.739583 +vt 0.110390 0.583333 +vt 0.090909 0.708333 +vt 0.090909 0.583333 +vt 0.129870 0.583333 +vt 0.110390 0.708333 +vt 0.110390 0.583333 +vt 0.090909 0.583333 +vt 0.071429 0.583333 +vt 0.129870 0.583333 +vt 0.110390 0.708333 +vt 0.071429 0.583333 +vt 0.051948 0.708333 +vt 0.051948 0.583333 +vt 0.090909 0.708333 +vt 0.051948 0.708333 +vt 0.051948 0.583333 +vt 0.142857 0.541667 +vt 0.129870 0.625000 +vt 0.129870 0.541667 +vt 0.168831 0.541667 +vt 0.155844 0.625000 +vt 0.155844 0.541667 +vt 0.181818 0.541667 +vt 0.168831 0.625000 +vt 0.142857 0.625000 +vt 0.181818 0.541667 +vt 0.168831 0.625000 +vt 0.142857 0.625000 +vt 0.168831 0.541667 +vt 0.155844 0.625000 +vt 0.155844 0.541667 +vt 0.142857 0.541667 +vt 0.129870 0.625000 +vt 0.129870 0.541667 +vt 0.142857 0.541667 +vt 0.129870 0.625000 +vt 0.129870 0.541667 +vt 0.168831 0.541667 +vt 0.155844 0.625000 +vt 0.155844 0.541667 +vt 0.181818 0.541667 +vt 0.168831 0.625000 +vt 0.142857 0.625000 +vt 0.181818 0.541667 +vt 0.168831 0.625000 +vt 0.142857 0.625000 +vt 0.240260 0.541667 +vt 0.272727 0.666667 +vt 0.240260 0.666667 +vt 0.240260 0.666667 +vt 0.272727 0.541667 +vt 0.272727 0.666667 +vt 0.181818 0.541667 +vt 0.240260 0.666667 +vt 0.181818 0.666667 +vt 0.181818 0.666667 +vt 0.240260 0.541667 +vt 0.240260 0.666667 +vt 0.272727 0.666667 +vt 0.240260 0.541667 +vt 0.240260 0.666667 +vt 0.272727 0.541667 +vt 0.240260 0.666667 +vt 0.272727 0.666667 +vt 0.240260 0.666667 +vt 0.181818 0.541667 +vt 0.181818 0.666667 +vt 0.240260 0.541667 +vt 0.181818 0.666667 +vt 0.240260 0.666667 +vt 0.071429 0.708333 +vt 0.071429 0.708333 +vt 0.129870 0.708333 +vt 0.129870 0.708333 +vt 0.129870 0.708333 +vt 0.129870 0.708333 +vt 0.181818 0.625000 +vt 0.181818 0.625000 +vt 0.181818 0.625000 +vt 0.181818 0.625000 +vt 0.272727 0.541667 +vt 0.240260 0.541667 +vt 0.240260 0.541667 +vt 0.181818 0.541667 +vt 0.272727 0.541667 +vt 0.240260 0.541667 +vt 0.240260 0.541667 +vt 0.181818 0.541667 +vn 0.0000 -0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +s off +f 1833/2877/343 1834/2878/343 1835/2879/343 +f 1836/2880/344 1837/2881/344 1838/2882/344 +f 1839/2883/345 1840/2884/345 1841/2885/345 +f 1842/2886/345 1843/2887/345 1844/2888/345 +f 1845/2889/346 1846/2890/346 1847/2891/346 +f 1848/2892/346 1849/2893/346 1850/2894/346 +f 1851/2895/344 1852/2896/344 1853/2897/344 +f 1854/2898/343 1850/2899/343 1855/2900/343 +f 1856/2901/344 1857/2902/344 1858/2903/344 +f 1859/2904/343 1847/2905/343 1860/2906/343 +f 1853/2907/347 1848/2908/347 1854/2898/347 +f 1855/2900/348 1849/2893/348 1851/2895/348 +f 1858/2909/347 1845/2910/347 1859/2904/347 +f 1860/2906/348 1846/2890/348 1856/2901/348 +f 1861/2911/346 1862/2912/346 1863/2913/346 +f 1864/2914/346 1865/2915/346 1866/2916/346 +f 1840/2917/343 1863/2918/343 1841/2919/343 +f 1867/2920/347 1864/2921/347 1843/2922/347 +f 1844/2923/348 1865/2915/348 1842/2924/348 +f 1868/2925/347 1861/2926/347 1840/2917/347 +f 1841/2919/348 1862/2912/348 1839/2927/348 +f 1842/2924/344 1869/2928/344 1867/2929/344 +f 1843/2922/343 1866/2930/343 1844/2923/343 +f 1839/2927/344 1870/2931/344 1868/2932/344 +f 1871/2933/344 1872/2934/344 1873/2935/344 +f 1874/2936/343 1875/2937/343 1876/2938/343 +f 1873/2939/347 1877/2940/347 1874/2936/347 +f 1876/2938/348 1878/2941/348 1871/2933/348 +f 1838/2942/347 1879/2943/347 1833/2877/347 +f 1835/2879/348 1880/2944/348 1836/2880/348 +f 1881/2945/343 1882/2946/343 1883/2947/343 +f 1884/2948/344 1885/2949/344 1886/2950/344 +f 1887/2951/344 1888/2952/344 1889/2953/344 +f 1890/2954/343 1891/2955/343 1892/2956/343 +f 1889/2957/347 1893/2958/347 1890/2954/347 +f 1892/2956/348 1894/2959/348 1887/2951/348 +f 1886/2960/347 1895/2961/347 1881/2945/347 +f 1883/2947/348 1896/2962/348 1884/2948/348 +f 1897/2963/347 1898/2964/347 1899/2965/347 +f 1900/2966/348 1901/2967/348 1902/2968/348 +f 1903/2969/343 1904/2970/343 1905/2971/343 +f 1906/2972/344 1907/2973/344 1908/2974/344 +f 1909/2975/348 1910/2976/348 1911/2977/348 +f 1912/2978/347 1913/2979/347 1914/2980/347 +f 1915/2981/344 1916/2982/344 1917/2983/344 +f 1918/2984/343 1919/2985/343 1920/2986/343 +f 1833/2877/343 1879/2943/343 1834/2878/343 +f 1836/2880/344 1880/2944/344 1837/2881/344 +f 1839/2883/345 1868/2987/345 1840/2884/345 +f 1842/2886/345 1867/2988/345 1843/2887/345 +f 1845/2889/346 1857/2902/346 1846/2890/346 +f 1848/2892/346 1852/2896/346 1849/2893/346 +f 1851/2895/344 1849/2893/344 1852/2896/344 +f 1854/2898/343 1848/2908/343 1850/2899/343 +f 1856/2901/344 1846/2890/344 1857/2902/344 +f 1859/2904/343 1845/2910/343 1847/2905/343 +f 1853/2907/347 1852/2989/347 1848/2908/347 +f 1855/2900/348 1850/2899/348 1849/2893/348 +f 1858/2909/347 1857/2990/347 1845/2910/347 +f 1860/2906/348 1847/2905/348 1846/2890/348 +f 1861/2911/346 1870/2931/346 1862/2912/346 +f 1864/2914/346 1869/2928/346 1865/2915/346 +f 1840/2917/343 1861/2926/343 1863/2918/343 +f 1867/2920/347 1869/2991/347 1864/2921/347 +f 1844/2923/348 1866/2930/348 1865/2915/348 +f 1868/2925/347 1870/2992/347 1861/2926/347 +f 1841/2919/348 1863/2918/348 1862/2912/348 +f 1842/2924/344 1865/2915/344 1869/2928/344 +f 1843/2922/343 1864/2921/343 1866/2930/343 +f 1839/2927/344 1862/2912/344 1870/2931/344 +f 1871/2933/344 1878/2941/344 1872/2934/344 +f 1874/2936/343 1877/2940/343 1875/2937/343 +f 1873/2939/347 1872/2993/347 1877/2940/347 +f 1876/2938/348 1875/2937/348 1878/2941/348 +f 1838/2942/347 1837/2994/347 1879/2943/347 +f 1835/2879/348 1834/2878/348 1880/2944/348 +f 1881/2945/343 1895/2961/343 1882/2946/343 +f 1884/2948/344 1896/2962/344 1885/2949/344 +f 1887/2951/344 1894/2959/344 1888/2952/344 +f 1890/2954/343 1893/2958/343 1891/2955/343 +f 1889/2957/347 1888/2995/347 1893/2958/347 +f 1892/2956/348 1891/2955/348 1894/2959/348 +f 1886/2960/347 1885/2996/347 1895/2961/347 +f 1883/2947/348 1882/2946/348 1896/2962/348 +f 1897/2963/347 1921/2997/347 1898/2964/347 +f 1900/2966/348 1922/2998/348 1901/2967/348 +f 1903/2969/343 1923/2999/343 1904/2970/343 +f 1906/2972/344 1924/3000/344 1907/2973/344 +f 1909/2975/348 1925/3001/348 1910/2976/348 +f 1912/2978/347 1926/3002/347 1913/2979/347 +f 1915/2981/344 1927/3003/344 1916/2982/344 +f 1918/2984/343 1928/3004/343 1919/2985/343 +o Huge_Rope +v 0.125000 5.750000 2.500000 +v 0.198223 5.573223 1.000000 +v 0.198223 5.573223 2.500000 +v 0.375000 5.500000 1.000000 +v 0.375000 5.500000 2.500000 +v 0.551777 5.573223 2.500000 +v 0.625000 5.750000 1.000000 +v 0.625000 5.750000 2.500000 +v 0.551777 5.573223 1.000000 +v 0.551777 5.926777 2.500000 +v 0.375000 6.000000 1.000000 +v 0.375000 6.000000 2.500000 +v 0.198223 5.926777 2.500000 +v 0.125000 5.750000 1.000000 +v 0.551777 5.926777 1.000000 +v 0.198223 5.926777 1.000000 +v -0.625000 5.750000 2.500000 +v -0.551777 5.573223 1.000000 +v -0.551777 5.573223 2.500000 +v -0.375000 5.500000 1.000000 +v -0.375000 5.500000 2.500000 +v -0.198223 5.573223 2.500000 +v -0.125000 5.750000 1.000000 +v -0.125000 5.750000 2.500000 +v -0.198223 5.573223 1.000000 +v -0.198223 5.926777 2.500000 +v -0.375000 6.000000 1.000000 +v -0.375000 6.000000 2.500000 +v -0.551777 5.926777 2.500000 +v -0.625000 5.750000 1.000000 +v -0.198223 5.926777 1.000000 +v -0.551777 5.926777 1.000000 +v 0.125000 10.250000 2.250000 +v 0.198223 10.073223 0.750000 +v 0.198223 10.073223 2.250000 +v 0.375000 10.000000 0.750000 +v 0.375000 10.000000 2.250000 +v 0.551777 10.073223 2.250000 +v 0.625000 10.250000 0.750000 +v 0.625000 10.250000 2.250000 +v 0.551777 10.073223 0.750000 +v 0.551777 10.426777 2.250000 +v 0.375000 10.500000 0.750000 +v 0.375000 10.500000 2.250000 +v 0.198223 10.426777 2.250000 +v 0.125000 10.250000 0.750000 +v 0.551777 10.426777 0.750000 +v 0.198223 10.426777 0.750000 +v -0.625000 10.250000 2.250000 +v -0.551777 10.073223 0.750000 +v -0.551777 10.073223 2.250000 +v -0.375000 10.000000 0.750000 +v -0.375000 10.000000 2.250000 +v -0.198223 10.073223 2.250000 +v -0.125000 10.250000 0.750000 +v -0.125000 10.250000 2.250000 +v -0.198223 10.073223 0.750000 +v -0.198223 10.426777 2.250000 +v -0.375000 10.500000 0.750000 +v -0.375000 10.500000 2.250000 +v -0.551777 10.426777 2.250000 +v -0.625000 10.250000 0.750000 +v -0.198223 10.426777 0.750000 +v -0.551777 10.426777 0.750000 +vt 0.538961 0.500000 +vt 0.529221 0.625000 +vt 0.529221 0.500000 +vt 0.519481 0.625000 +vt 0.519481 0.500000 +vt 0.587662 0.500000 +vt 0.577922 0.625000 +vt 0.577922 0.500000 +vt 0.597403 0.625000 +vt 0.587662 0.625000 +vt 0.568182 0.500000 +vt 0.558442 0.625000 +vt 0.558442 0.500000 +vt 0.548701 0.500000 +vt 0.538961 0.625000 +vt 0.568182 0.625000 +vt 0.548701 0.625000 +vt 0.616883 0.500000 +vt 0.607143 0.625000 +vt 0.607143 0.500000 +vt 0.597403 0.625000 +vt 0.597403 0.500000 +vt 0.665585 0.500000 +vt 0.655844 0.625000 +vt 0.655844 0.500000 +vt 0.675325 0.625000 +vt 0.665585 0.625000 +vt 0.646104 0.500000 +vt 0.636364 0.625000 +vt 0.636364 0.500000 +vt 0.626623 0.500000 +vt 0.616883 0.625000 +vt 0.646104 0.625000 +vt 0.626623 0.625000 +vt 0.538961 0.500000 +vt 0.529221 0.625000 +vt 0.529221 0.500000 +vt 0.519481 0.625000 +vt 0.519481 0.500000 +vt 0.587662 0.500000 +vt 0.577922 0.625000 +vt 0.577922 0.500000 +vt 0.597403 0.625000 +vt 0.587662 0.625000 +vt 0.568182 0.500000 +vt 0.558442 0.625000 +vt 0.558442 0.500000 +vt 0.548701 0.500000 +vt 0.538961 0.625000 +vt 0.568182 0.625000 +vt 0.548701 0.625000 +vt 0.616883 0.500000 +vt 0.607143 0.625000 +vt 0.607143 0.500000 +vt 0.597403 0.625000 +vt 0.597403 0.500000 +vt 0.665585 0.500000 +vt 0.655844 0.625000 +vt 0.655844 0.500000 +vt 0.675325 0.625000 +vt 0.665585 0.625000 +vt 0.646104 0.500000 +vt 0.636364 0.625000 +vt 0.636364 0.500000 +vt 0.626623 0.500000 +vt 0.616883 0.625000 +vt 0.646104 0.625000 +vt 0.626623 0.625000 +vt 0.597403 0.500000 +vt 0.675325 0.500000 +vt 0.597403 0.500000 +vt 0.675325 0.500000 +vn -1.0000 0.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.7071 0.7071 0.0000 +s 1 +f 1929/3005/349 1930/3006/350 1931/3007/350 +f 1931/3007/350 1932/3008/351 1933/3009/351 +f 1934/3010/352 1935/3011/353 1936/3012/353 +f 1934/3010/352 1932/3013/351 1937/3014/352 +f 1938/3015/354 1939/3016/355 1940/3017/355 +f 1941/3018/356 1942/3019/349 1929/3005/349 +f 1936/3012/353 1943/3020/354 1938/3015/354 +f 1940/3017/355 1944/3021/356 1941/3018/356 +f 1945/3022/349 1946/3023/350 1947/3024/350 +f 1947/3024/350 1948/3025/351 1949/3026/351 +f 1950/3027/352 1951/3028/353 1952/3029/353 +f 1950/3027/352 1948/3030/351 1953/3031/352 +f 1954/3032/354 1955/3033/355 1956/3034/355 +f 1957/3035/356 1958/3036/349 1945/3022/349 +f 1952/3029/353 1959/3037/354 1954/3032/354 +f 1956/3034/355 1960/3038/356 1957/3035/356 +f 1961/3039/349 1962/3040/350 1963/3041/350 +f 1963/3041/350 1964/3042/351 1965/3043/351 +f 1966/3044/352 1967/3045/353 1968/3046/353 +f 1966/3044/352 1964/3047/351 1969/3048/352 +f 1970/3049/354 1971/3050/355 1972/3051/355 +f 1973/3052/356 1974/3053/349 1961/3039/349 +f 1968/3046/353 1975/3054/354 1970/3049/354 +f 1972/3051/355 1976/3055/356 1973/3052/356 +f 1977/3056/349 1978/3057/350 1979/3058/350 +f 1979/3058/350 1980/3059/351 1981/3060/351 +f 1982/3061/352 1983/3062/353 1984/3063/353 +f 1982/3061/352 1980/3064/351 1985/3065/352 +f 1986/3066/354 1987/3067/355 1988/3068/355 +f 1989/3069/356 1990/3070/349 1977/3056/349 +f 1984/3063/353 1991/3071/354 1986/3066/354 +f 1988/3068/355 1992/3072/356 1989/3069/356 +f 1929/3005/349 1942/3019/349 1930/3006/350 +f 1931/3007/350 1930/3006/350 1932/3008/351 +f 1934/3010/352 1937/3014/352 1935/3011/353 +f 1934/3010/352 1933/3073/351 1932/3013/351 +f 1938/3015/354 1943/3020/354 1939/3016/355 +f 1941/3018/356 1944/3021/356 1942/3019/349 +f 1936/3012/353 1935/3011/353 1943/3020/354 +f 1940/3017/355 1939/3016/355 1944/3021/356 +f 1945/3022/349 1958/3036/349 1946/3023/350 +f 1947/3024/350 1946/3023/350 1948/3025/351 +f 1950/3027/352 1953/3031/352 1951/3028/353 +f 1950/3027/352 1949/3074/351 1948/3030/351 +f 1954/3032/354 1959/3037/354 1955/3033/355 +f 1957/3035/356 1960/3038/356 1958/3036/349 +f 1952/3029/353 1951/3028/353 1959/3037/354 +f 1956/3034/355 1955/3033/355 1960/3038/356 +f 1961/3039/349 1974/3053/349 1962/3040/350 +f 1963/3041/350 1962/3040/350 1964/3042/351 +f 1966/3044/352 1969/3048/352 1967/3045/353 +f 1966/3044/352 1965/3075/351 1964/3047/351 +f 1970/3049/354 1975/3054/354 1971/3050/355 +f 1973/3052/356 1976/3055/356 1974/3053/349 +f 1968/3046/353 1967/3045/353 1975/3054/354 +f 1972/3051/355 1971/3050/355 1976/3055/356 +f 1977/3056/349 1990/3070/349 1978/3057/350 +f 1979/3058/350 1978/3057/350 1980/3059/351 +f 1982/3061/352 1985/3065/352 1983/3062/353 +f 1982/3061/352 1981/3076/351 1980/3064/351 +f 1986/3066/354 1991/3071/354 1987/3067/355 +f 1989/3069/356 1992/3072/356 1990/3070/349 +f 1984/3063/353 1983/3062/353 1991/3071/354 +f 1988/3068/355 1987/3067/355 1992/3072/356 +o Atlas_Pad +v 1.500000 2.000000 -1.500000 v -1.500000 2.000000 1.500000 v 1.500000 2.000000 1.500000 +v -1.500000 2.000000 1.500000 +v 3.500000 2.000000 3.500000 +v 1.500000 2.000000 1.500000 +v 3.500000 1.750000 3.500000 +v 3.250000 1.750000 -3.250000 +v 3.500000 1.750000 -3.500000 +v 3.500000 2.000000 -3.500000 +v -3.500000 2.000000 -3.500000 +v -3.500000 1.750000 3.500000 +v -3.500000 2.000000 3.500000 +v -3.500000 1.750000 -3.500000 +v -3.250000 1.000000 -3.250000 +v -3.250000 1.750000 -3.250000 +v -3.250000 1.750000 3.250000 +v 3.250000 1.750000 3.250000 v -1.500000 2.000000 -1.500000 +v 3.250000 1.000000 3.250000 +v 3.250000 1.000000 -3.250000 +v -3.250000 1.000000 3.250000 v 1.500000 2.000000 -1.500000 -v -2.000000 2.000000 -3.500000 -v 2.000000 2.000000 -3.500000 -v -2.000000 1.000000 -4.500000 -v -2.000000 1.000000 -3.500000 -v 2.000000 1.000000 -3.500000 -v 2.000000 1.000000 -4.500000 -v -2.000000 2.000000 -4.000000 -v -2.000000 1.500000 -4.500000 +v 0.500000 1.000000 0.500000 +v -0.500000 1.000000 0.500000 +v -0.500000 1.000000 -0.500000 +v 0.500000 1.000000 -0.500000 v 2.000000 1.500000 -4.500000 +v -2.000000 1.000000 -4.500000 +v -2.000000 1.500000 -4.500000 +v 2.000000 2.000000 -3.500000 +v -2.000000 2.000000 -4.000000 +v -2.000000 2.000000 -3.500000 v 2.000000 2.000000 -4.000000 +v 2.000000 1.000000 -3.500000 +v -2.000000 1.000000 -3.500000 +v -4.500000 2.000000 1.500000 +v -3.500000 2.000000 1.500000 +v -3.500000 1.750000 1.500000 +v -4.500000 2.000000 4.500000 +v -4.500000 1.000000 1.500000 +v -4.500000 1.000000 4.500000 +v -1.500000 1.000000 4.500000 v -1.500000 1.750000 3.500000 +v -1.500000 2.000000 4.500000 +v -3.500000 2.000000 3.500000 +v -4.500000 4.000000 1.500000 +v -1.500000 4.000000 4.500000 +v -4.500000 4.000000 4.500000 +v -4.500000 4.250000 4.500000 +v -1.500000 4.250000 4.500000 +v -4.500000 4.250000 1.500000 +v -1.500000 4.250000 1.500000 +v -1.500000 4.000000 1.500000 +v -4.000000 2.000000 4.250000 +v -2.000000 4.000000 4.250000 +v -4.000000 4.000000 4.250000 +v -1.500000 2.000000 2.000000 +v -2.000000 4.000000 2.000000 +v -2.000000 2.000000 2.000000 +v -4.000000 2.000000 1.500000 +v -4.000000 4.000000 2.000000 +v -4.000000 2.000000 2.000000 +v -1.500000 2.000000 1.500000 +v -1.500000 4.000000 2.000000 +v -4.500000 2.000000 1.500000 +v -4.000000 4.000000 1.500000 +v -2.000000 2.000000 1.500000 +v -1.500000 4.000000 1.500000 +v -4.500000 2.000000 4.500000 +v -4.500000 4.000000 4.000000 +v -4.500000 2.000000 4.000000 +v -2.000000 2.000000 4.500000 +v -2.000000 4.000000 4.000000 +v -2.000000 2.000000 4.000000 +v -4.000000 2.000000 4.500000 +v -4.500000 4.000000 4.500000 +v -1.500000 2.000000 4.500000 +v -2.000000 4.000000 4.500000 +v -4.000000 2.000000 4.000000 +v -4.000000 4.000000 4.500000 +v -1.500000 2.000000 4.000000 +v -1.500000 4.000000 4.500000 +v -4.000000 4.000000 4.000000 +v -4.500000 2.000000 2.000000 +v -4.500000 4.000000 1.500000 +v -1.500000 4.000000 4.000000 +v -2.000000 4.000000 1.500000 +v -4.500000 4.000000 2.000000 +v -2.000000 4.000000 1.750000 +v -4.000000 2.000000 1.750000 +v -4.000000 4.000000 1.750000 +v -1.750000 4.000000 4.000000 +v -1.750000 2.000000 2.000000 +v -1.750000 4.000000 2.000000 +v -4.250000 2.000000 2.000000 +v -4.250000 4.000000 4.000000 +v -4.250000 4.000000 2.000000 +v -4.500000 6.250000 1.500000 +v -1.500000 6.250000 4.500000 +v -4.500000 6.250000 4.500000 +v -4.500000 6.500000 4.500000 +v -1.500000 6.500000 4.500000 +v -4.500000 6.500000 1.500000 +v -1.500000 6.500000 1.500000 +v -1.500000 6.250000 1.500000 +v -4.000000 4.250000 4.250000 +v -2.000000 6.250000 4.250000 +v -4.000000 6.250000 4.250000 +v -1.500000 4.250000 2.000000 +v -2.000000 6.250000 2.000000 +v -2.000000 4.250000 2.000000 +v -4.000000 4.250000 1.500000 +v -4.000000 6.250000 2.000000 +v -4.000000 4.250000 2.000000 +v -1.500000 4.250000 1.500000 +v -1.500000 6.250000 2.000000 +v -4.500000 4.250000 1.500000 +v -4.000000 6.250000 1.500000 +v -2.000000 4.250000 1.500000 +v -1.500000 6.250000 1.500000 +v -4.500000 4.250000 4.500000 +v -4.500000 6.250000 4.000000 +v -4.500000 4.250000 4.000000 +v -2.000000 4.250000 4.500000 +v -2.000000 6.250000 4.000000 +v -2.000000 4.250000 4.000000 +v -4.000000 4.250000 4.500000 +v -4.500000 6.250000 4.500000 +v -1.500000 4.250000 4.500000 +v -2.000000 6.250000 4.500000 +v -4.000000 4.250000 4.000000 +v -4.000000 6.250000 4.500000 +v -1.500000 4.250000 4.000000 +v -1.500000 6.250000 4.500000 +v -4.000000 6.250000 4.000000 +v -4.500000 4.250000 2.000000 +v -4.500000 6.250000 1.500000 +v -1.500000 6.250000 4.000000 +v -2.000000 6.250000 1.500000 +v -4.500000 6.250000 2.000000 +v -2.000000 6.250000 1.750000 +v -4.000000 4.250000 1.750000 +v -4.000000 6.250000 1.750000 +v -1.750000 6.250000 4.000000 +v -1.750000 4.250000 2.000000 +v -1.750000 6.250000 2.000000 +v -4.250000 4.250000 2.000000 +v -4.250000 6.250000 4.000000 +v -4.250000 6.250000 2.000000 +v -4.500000 8.500000 1.500000 +v -1.500000 8.500000 4.500000 +v -4.500000 8.500000 4.500000 +v -4.500000 8.750000 4.500000 +v -1.500000 8.750000 4.500000 +v -4.500000 8.750000 1.500000 +v -1.500000 8.750000 1.500000 +v -1.500000 8.500000 1.500000 +v -4.000000 6.500000 4.250000 +v -2.000000 8.500000 4.250000 +v -4.000000 8.500000 4.250000 +v -1.500000 6.500000 2.000000 +v -2.000000 8.500000 2.000000 +v -2.000000 6.500000 2.000000 +v -4.000000 6.500000 1.500000 +v -4.000000 8.500000 2.000000 +v -4.000000 6.500000 2.000000 +v -1.500000 6.500000 1.500000 +v -1.500000 8.500000 2.000000 +v -4.500000 6.500000 1.500000 +v -4.000000 8.500000 1.500000 +v -2.000000 6.500000 1.500000 +v -1.500000 8.500000 1.500000 +v -4.500000 6.500000 4.500000 +v -4.500000 8.500000 4.000000 +v -4.500000 6.500000 4.000000 +v -2.000000 6.500000 4.500000 +v -2.000000 8.500000 4.000000 +v -2.000000 6.500000 4.000000 +v -4.000000 6.500000 4.500000 +v -4.500000 8.500000 4.500000 +v -1.500000 6.500000 4.500000 +v -2.000000 8.500000 4.500000 +v -4.000000 6.500000 4.000000 +v -4.000000 8.500000 4.500000 +v -1.500000 6.500000 4.000000 +v -1.500000 8.500000 4.500000 +v -4.000000 8.500000 4.000000 +v -4.500000 6.500000 2.000000 +v -4.500000 8.500000 1.500000 +v -1.500000 8.500000 4.000000 +v -2.000000 8.500000 1.500000 +v -4.500000 8.500000 2.000000 +v -2.000000 8.500000 1.750000 +v -4.000000 6.500000 1.750000 +v -4.000000 8.500000 1.750000 +v -1.750000 8.500000 4.000000 +v -1.750000 6.500000 2.000000 +v -1.750000 8.500000 2.000000 +v -4.250000 6.500000 2.000000 +v -4.250000 8.500000 4.000000 +v -4.250000 8.500000 2.000000 +v -4.500000 10.750000 1.500000 +v -1.500000 10.750000 4.500000 +v -4.500000 10.750000 4.500000 +v -4.500000 11.000000 4.500000 +v -1.500000 11.000000 4.500000 +v -4.500000 11.000000 1.500000 +v -1.500000 11.000000 1.500000 +v -1.500000 10.750000 1.500000 +v -4.000000 8.750000 4.250000 +v -2.000000 10.750000 4.250000 +v -4.000000 10.750000 4.250000 +v -1.500000 8.750000 2.000000 +v -2.000000 10.750000 2.000000 +v -2.000000 8.750000 2.000000 +v -4.000000 8.750000 1.500000 +v -4.000000 10.750000 2.000000 +v -4.000000 8.750000 2.000000 +v -1.500000 8.750000 1.500000 +v -1.500000 10.750000 2.000000 +v -4.500000 8.750000 1.500000 +v -4.000000 10.750000 1.500000 +v -2.000000 8.750000 1.500000 +v -1.500000 10.750000 1.500000 +v -4.500000 8.750000 4.500000 +v -4.500000 10.750000 4.000000 +v -4.500000 8.750000 4.000000 +v -2.000000 8.750000 4.500000 +v -2.000000 10.750000 4.000000 +v -2.000000 8.750000 4.000000 +v -4.000000 8.750000 4.500000 +v -4.500000 10.750000 4.500000 +v -1.500000 8.750000 4.500000 +v -2.000000 10.750000 4.500000 +v -4.000000 8.750000 4.000000 +v -4.000000 10.750000 4.500000 +v -1.500000 8.750000 4.000000 +v -1.500000 10.750000 4.500000 +v -4.000000 10.750000 4.000000 +v -4.500000 8.750000 2.000000 +v -4.500000 10.750000 1.500000 +v -1.500000 10.750000 4.000000 +v -2.000000 10.750000 1.500000 +v -4.500000 10.750000 2.000000 +v -2.000000 10.750000 1.750000 +v -4.000000 8.750000 1.750000 +v -4.000000 10.750000 1.750000 +v -1.750000 10.750000 4.000000 +v -1.750000 8.750000 2.000000 +v -1.750000 10.750000 2.000000 +v -4.250000 8.750000 2.000000 +v -4.250000 10.750000 4.000000 +v -4.250000 10.750000 2.000000 +v -3.187500 15.250000 3.750001 +v -3.750000 15.250000 4.625000 +v -3.187500 13.250000 3.750000 +v -3.750000 15.250000 3.187501 +v -3.750000 13.250000 3.187500 +v -4.625000 15.250000 3.750001 +v -3.375000 15.250000 4.250000 +v -4.625000 15.250000 3.750001 +v -4.250000 15.250000 3.375001 +v -3.750000 15.500000 4.625000 +v -3.750000 15.250000 4.625000 +v -4.250000 15.500000 3.375001 +v -3.375000 15.500000 4.250000 +v -2.250000 15.250000 1.375001 +v -1.750000 15.250000 2.625001 +v -2.625000 15.250000 1.750001 +v -1.750000 15.500000 2.625001 +v -2.250000 15.500000 1.375001 +v -2.625000 15.500000 1.750001 +v -1.375000 15.500000 2.250001 +v -1.375000 15.250000 2.250001 +v -4.250000 15.500000 2.625001 +v -4.250000 15.250000 2.625001 +v -1.750000 15.500000 3.375001 +v -1.750000 15.250000 3.375001 +v -4.625000 15.500000 3.750001 +v -2.625000 15.250000 4.250000 +v -3.375000 15.250000 1.750001 +v -2.625000 15.500000 4.250000 +v -3.375000 15.500000 1.750001 +v -4.250000 13.000000 2.625000 +v -3.375000 13.250000 1.750001 +v -3.375000 13.000000 1.750001 +v -3.937500 2.000000 2.812500 +v -3.562500 17.500000 2.812501 +v -3.562500 2.000000 2.812500 +v -1.750000 13.000000 3.375000 +v -2.625000 13.250000 4.250000 +v -2.625000 13.000000 4.250000 +v -1.750000 13.250000 2.625000 +v -1.750000 13.000000 2.625000 +v -4.250000 13.000000 3.375000 +v -3.187500 2.000000 3.562500 +v -2.812500 17.500000 3.562501 +v -2.812500 2.000000 3.562500 +v -2.062500 2.000000 3.187500 +v -2.437500 17.500000 3.187501 +v -2.437500 2.000000 3.187500 +v -2.437500 17.500000 2.812501 +v -2.437500 2.000000 2.812500 +v -2.062500 17.500000 2.812501 +v -2.062500 2.000000 2.812500 +v -2.812500 2.000000 2.437500 +v -3.187500 17.500000 2.437501 +v -3.187500 2.000000 2.437500 +v -3.187500 17.500000 2.062501 +v -3.187500 2.000000 2.062500 +v -3.562500 17.500000 3.187501 +v -3.562500 2.000000 3.187500 +v -2.812500 2.000000 2.062500 +v -2.812500 17.500000 2.437501 +v -2.812500 17.500000 2.062501 +v -3.187500 2.000000 3.937500 +v -3.187500 17.500000 3.562501 +v -3.937500 2.000000 3.187500 +v -3.937500 17.500000 2.812501 +v -2.812500 17.500000 3.937501 +v -2.812500 2.000000 3.937500 +v -3.187500 17.500000 3.937501 +v -3.937500 17.500000 3.187501 +v -2.062500 17.500000 3.187501 +v -3.750000 17.500000 2.812501 +v -3.187500 2.000000 2.250000 +v -3.750000 2.000000 2.812500 +v -2.250000 17.500000 3.187501 +v -2.812500 2.000000 3.750000 +v -2.250000 2.000000 3.187500 +v -3.187500 2.000000 3.750000 +v -3.750000 17.500000 3.187501 +v -3.750000 2.000000 3.187500 +v -2.812500 2.000000 2.250000 +v -2.250000 17.500000 2.812501 +v -2.250000 2.000000 2.812500 +v -2.625000 13.250000 1.750001 +v -2.625000 13.000000 1.750001 +v -3.375000 13.250000 4.250000 +v -3.375000 13.000000 4.250000 +v -1.375000 13.250000 2.250000 +v -4.625000 13.250000 3.750000 +v -4.250000 13.250000 3.375000 +v -1.750000 13.250000 3.375000 +v -4.250000 13.250000 2.625000 +v -1.750000 17.500000 2.625001 +v -2.625000 17.500000 4.250001 +v -4.250000 17.500000 3.375001 +v -2.625000 17.750000 4.250001 +v -1.750000 17.750000 2.625001 +v -3.375000 17.750000 1.750001 +v -1.750000 17.500000 3.375001 +v -4.250000 17.500000 2.625001 +v -3.375000 17.500000 1.750001 +v -2.625000 17.750000 1.750001 +v -2.625000 17.500000 1.750001 +v -3.375000 17.750000 4.250001 +v -3.375000 17.500000 4.250001 +v -4.250000 17.750000 3.375001 +v -1.750000 17.750000 3.375001 +v -4.250000 17.750000 2.625001 +v -2.250000 13.000000 1.375001 +v -1.375000 13.000000 2.250000 +v -2.250000 13.250000 1.375001 +v -3.750000 13.000000 4.625000 +v -3.750000 13.250000 4.625000 +v -4.625000 13.000000 3.750000 +v 1.375000 3.000000 0.250000 +v 1.375000 4.000000 -0.250000 +v 1.375000 4.000000 0.250000 +v 1.125000 4.000000 -0.250000 +v 1.125000 3.000000 0.250000 +v 1.125000 4.000000 0.250000 +v 1.375000 3.000000 -0.250000 +v 1.125000 3.000000 -0.250000 +v 3.500000 2.250000 0.250000 +v 2.500000 2.250000 -0.250000 +v 2.500000 2.250000 0.250000 +v 3.500000 2.000000 -0.250000 +v 3.500000 2.000000 0.250000 +v 2.500000 2.000000 0.250000 +v 2.500000 2.000000 -0.250000 +v 3.500000 2.250000 -0.250000 +v 1.196051 3.475517 -0.125000 +v 3.080348 2.220756 -0.125000 +v 2.919652 2.029244 -0.125000 +v 1.356748 3.667028 0.125000 +v 3.080348 2.220756 0.125000 +v 1.875000 2.000000 0.375000 +v 1.875000 3.000000 0.125000 +v 1.875000 3.000000 -0.125000 +v 2.919652 2.029244 0.125000 +v 2.125000 3.000000 -0.125000 +v 2.125000 2.000000 0.375000 +v 2.125000 2.000000 0.625000 +v 1.875000 2.000000 0.625000 +v 1.196051 3.475517 0.125000 +v 2.125000 3.000000 0.125000 +v 2.125000 2.000000 -0.375000 +v 2.125000 3.000000 -0.125000 +v 2.125000 3.000000 0.125000 +v 1.875000 2.000000 -0.375000 +v 1.875000 3.000000 -0.125000 +v 1.875000 2.000000 -0.625000 +v 2.125000 2.000000 -0.625000 +v 1.875000 3.000000 0.125000 +v -1.502151 2.591684 1.678928 +v -0.934124 3.475517 0.757348 +v -0.757348 3.475517 0.934124 +v -1.615781 2.783195 1.792558 +v -0.870978 3.667028 1.047755 +v -1.792558 2.783195 1.615781 +v -1.047754 3.667028 0.870978 +v -1.678928 2.591684 1.502151 +v 1.149048 3.000000 -0.795495 +v 0.795495 4.000000 -1.149048 +v 1.149048 4.000000 -0.795495 +v -3.187500 15.250000 3.750001 +v -3.187500 13.250000 3.750000 +v -3.750000 15.250000 4.625000 +v -3.750000 15.250000 3.187501 +v -4.625000 15.250000 3.750001 +v -3.750000 13.250000 3.187500 +v -3.187500 2.000000 2.250000 +v -3.750000 17.500000 2.812501 +v -3.750000 2.000000 2.812500 +v -2.812500 2.000000 3.750000 +v -2.250000 17.500000 3.187501 +v -2.250000 2.000000 3.187500 +v -3.750000 17.500000 3.187501 +v -3.187500 2.000000 3.750000 +v -3.750000 2.000000 3.187500 +v -2.250000 17.500000 2.812501 +v -2.812500 2.000000 2.250000 +v -2.250000 2.000000 2.812500 +v -2.000000 4.000000 4.250000 +v -4.000000 2.000000 4.250000 +v -4.000000 4.000000 4.250000 +v -4.000000 2.000000 1.750000 +v -2.000000 4.000000 1.750000 +v -4.000000 4.000000 1.750000 +v -1.750000 2.000000 2.000000 +v -1.750000 4.000000 4.000000 +v -1.750000 4.000000 2.000000 +v -4.250000 4.000000 4.000000 +v -4.250000 2.000000 2.000000 +v -4.250000 4.000000 2.000000 +v -2.000000 6.250000 4.250000 +v -4.000000 4.250000 4.250000 +v -4.000000 6.250000 4.250000 +v -4.000000 4.250000 1.750000 +v -2.000000 6.250000 1.750000 +v -4.000000 6.250000 1.750000 +v -1.750000 4.250000 2.000000 +v -1.750000 6.250000 4.000000 +v -1.750000 6.250000 2.000000 +v -4.250000 6.250000 4.000000 +v -4.250000 4.250000 2.000000 +v -4.250000 6.250000 2.000000 +v -2.000000 8.500000 4.250000 +v -4.000000 6.500000 4.250000 +v -4.000000 8.500000 4.250000 +v -4.000000 6.500000 1.750000 +v -2.000000 8.500000 1.750000 +v -4.000000 8.500000 1.750000 +v -1.750000 6.500000 2.000000 +v -1.750000 8.500000 4.000000 +v -1.750000 8.500000 2.000000 +v -4.250000 8.500000 4.000000 +v -4.250000 6.500000 2.000000 +v -4.250000 8.500000 2.000000 +v -2.000000 10.750000 4.250000 +v -4.000000 8.750000 4.250000 +v -4.000000 10.750000 4.250000 +v -4.000000 8.750000 1.750000 +v -2.000000 10.750000 1.750000 +v -4.000000 10.750000 1.750000 +v -1.750000 8.750000 2.000000 +v -1.750000 10.750000 4.000000 +v -1.750000 10.750000 2.000000 +v -4.250000 10.750000 4.000000 +v -4.250000 8.750000 2.000000 +v -4.250000 10.750000 2.000000 +v 0.618718 4.000000 -0.972272 +v 0.972272 3.000000 -0.618718 +v 0.972272 4.000000 -0.618718 +v 0.795495 3.000000 -1.149048 +v 0.618718 3.000000 -0.972272 +v 2.651650 2.250000 -2.298097 +v 1.590990 2.250000 -1.944544 +v 1.944544 2.250000 -1.590990 +v 2.298097 2.000000 -2.651650 +v 2.651650 2.000000 -2.298097 +v 1.944544 2.000000 -1.590990 +v 1.590990 2.000000 -1.944544 +v 2.298097 2.250000 -2.651650 +v 0.757348 3.475517 -0.934124 +v 2.089747 2.220756 -2.266524 +v 1.976117 2.029244 -2.152894 +v 1.047754 3.667028 -0.870978 +v 2.266524 2.220756 -2.089747 +v 1.590990 2.000000 -1.060660 +v 1.414214 3.000000 -1.237437 +v 1.237437 3.000000 -1.414214 +v 2.152894 2.029244 -1.976117 +v 1.414214 3.000000 -1.590990 +v 1.767767 2.000000 -1.237437 +v 1.944544 2.000000 -1.060660 +v 1.767767 2.000000 -0.883883 +v 0.934124 3.475517 -0.757348 +v 1.590990 3.000000 -1.414214 +v 1.237437 2.000000 -1.767767 +v 1.414214 3.000000 -1.590990 +v 1.590990 3.000000 -1.414214 +v 1.060660 2.000000 -1.590990 +v 1.237437 3.000000 -1.414214 +v 0.883883 2.000000 -1.767767 +v 1.060660 2.000000 -1.944544 +v 1.414214 3.000000 -1.237437 +v 0.795495 3.000000 1.149048 +v 1.149048 4.000000 0.795495 +v 0.795495 4.000000 1.149048 +v 0.972272 4.000000 0.618719 +v 0.618718 3.000000 0.972272 +v 0.618718 4.000000 0.972272 +v 1.149048 3.000000 0.795495 +v 0.972272 3.000000 0.618719 +v 2.298097 2.250000 2.651650 +v 1.944543 2.250000 1.590990 +v 1.590990 2.250000 1.944544 +v 2.651650 2.000000 2.298097 +v 2.298097 2.000000 2.651650 +v 1.590990 2.000000 1.944544 +v 1.944543 2.000000 1.590990 +v 2.651650 2.250000 2.298097 +v 0.934124 3.475517 0.757348 +v 2.266524 2.220755 2.089747 +v 2.152894 2.029244 1.976117 +v 0.870978 3.667028 1.047755 +v 2.089747 2.220755 2.266524 +v 1.060660 2.000000 1.590990 +v 1.237437 3.000000 1.414214 +v 1.414214 3.000000 1.237437 +v 1.976117 2.029244 2.152894 +v 1.590990 3.000000 1.414214 +v 1.237437 2.000000 1.767767 +v 1.060660 2.000000 1.944544 +v 0.883883 2.000000 1.767767 +v 0.757348 3.475517 0.934125 +v 1.414213 3.000000 1.590990 +v 1.767767 2.000000 1.237437 +v 1.590990 3.000000 1.414214 +v 1.414213 3.000000 1.590990 +v 1.590990 2.000000 1.060660 +v 1.414214 3.000000 1.237437 +v 1.767767 2.000000 0.883883 +v 1.944544 2.000000 1.060660 +v 1.237437 3.000000 1.414214 +v -1.375000 3.000000 -0.250000 +v -1.375000 4.000000 0.250000 +v -1.375000 4.000000 -0.250000 +v -1.125000 4.000000 0.250000 +v -1.125000 3.000000 -0.250000 +v -1.125000 4.000000 -0.250000 +v -1.375000 3.000000 0.250000 +v -1.125000 3.000000 0.250000 +v -3.500000 2.250000 -0.250000 +v -2.500000 2.250000 0.250000 +v -2.500000 2.250000 -0.250000 +v -3.500000 2.000000 0.250000 +v -3.500000 2.000000 -0.250000 +v -2.500000 2.000000 -0.250000 +v -2.500000 2.000000 0.250000 +v -3.500000 2.250000 0.250000 +v -1.196051 3.475517 0.125000 +v -3.080348 2.220756 0.125000 +v -2.919652 2.029244 0.125000 +v -1.356748 3.667028 -0.125000 +v -3.080348 2.220756 -0.125000 +v -1.875000 2.000000 -0.375000 +v -1.875000 3.000000 -0.125000 +v -1.875000 3.000000 0.125000 +v -2.919652 2.029244 -0.125000 +v -2.125000 3.000000 0.125000 +v -2.125000 2.000000 -0.375000 +v -2.125000 2.000000 -0.625000 +v -1.875000 2.000000 -0.625000 +v -2.125000 3.000000 -0.125000 +v -2.125000 2.000000 0.375000 +v -2.125000 3.000000 0.125000 +v -2.125000 3.000000 -0.125000 +v -1.875000 2.000000 0.375000 +v -1.875000 3.000000 0.125000 +v -1.875000 2.000000 0.625000 +v -2.125000 2.000000 0.625000 +v -1.875000 3.000000 -0.125000 +v -0.795495 3.000000 -1.149048 +v -1.149049 4.000000 -0.795495 +v -0.795495 4.000000 -1.149048 +v -0.972272 4.000000 -0.618719 +v -0.618718 3.000000 -0.972272 +v -0.618718 4.000000 -0.972272 +v -1.149049 3.000000 -0.795495 +v -0.972272 3.000000 -0.618719 +v -2.298097 2.250000 -2.651650 +v -1.944544 2.250000 -1.590990 +v -1.590990 2.250000 -1.944544 +v -2.651650 2.000000 -2.298097 +v -2.298097 2.000000 -2.651650 +v -1.590990 2.000000 -1.944544 +v -1.944544 2.000000 -1.590990 +v -2.651650 2.250000 -2.298097 +v -0.934124 3.475517 -0.757348 +v -2.266524 2.220755 -2.089746 +v -2.152894 2.029244 -1.976117 +v -0.870978 3.667028 -1.047755 +v -2.089747 2.220755 -2.266523 +v -1.060660 2.000000 -1.590990 +v -1.237437 3.000000 -1.414213 +v -1.414214 3.000000 -1.237437 +v -1.976117 2.029244 -2.152894 +v -1.590990 3.000000 -1.414213 +v -1.237437 2.000000 -1.767767 +v -1.060660 2.000000 -1.944544 +v -0.883884 2.000000 -1.767767 +v -1.414213 3.000000 -1.590990 +v -1.767767 2.000000 -1.237437 +v -1.590990 3.000000 -1.414213 +v -1.414213 3.000000 -1.590990 +v -1.590990 2.000000 -1.060660 +v -1.414214 3.000000 -1.237437 +v -1.767767 2.000000 -0.883883 +v -1.944544 2.000000 -1.060660 +v -1.237437 3.000000 -1.414213 +v -1.149048 3.000000 0.795495 +v -0.795495 4.000000 1.149049 +v -1.149048 4.000000 0.795495 +v -0.618718 4.000000 0.972272 +v -0.972272 3.000000 0.618719 +v -0.972272 4.000000 0.618719 +v -0.795495 3.000000 1.149049 +v -0.618718 3.000000 0.972272 +v -1.590990 2.000000 1.060660 +v -1.414213 3.000000 1.237437 +v -1.237437 3.000000 1.414214 +v -1.414213 3.000000 1.590990 +v -1.767767 2.000000 1.237437 +v -1.944543 2.000000 1.060660 +v -1.767767 2.000000 0.883884 +v -1.590990 3.000000 1.414214 +v -1.237437 2.000000 1.767767 +v -1.414213 3.000000 1.590990 +v -1.590990 3.000000 1.414214 +v -1.060660 2.000000 1.590990 +v -1.237437 3.000000 1.414214 +v -0.883883 2.000000 1.767767 +v -1.060660 2.000000 1.944544 +v -1.414213 3.000000 1.237437 +v -1.500000 2.000000 -1.500000 +v 2.000000 1.000000 -4.500000 v -3.250000 1.750000 1.500000 +v -3.250000 1.000000 1.500000 v -1.500000 1.000000 3.250000 v -1.500000 1.750000 3.250000 v -1.500000 2.000000 3.500000 -v -1.500000 2.000000 4.500000 -v -1.500000 1.000000 4.500000 -v -4.500000 1.000000 4.500000 -v -4.500000 2.000000 4.500000 -v -3.250000 1.000000 1.500000 -v -3.500000 1.750000 1.500000 -v -3.500000 2.000000 1.500000 -v -4.500000 2.000000 1.500000 -v -4.500000 1.000000 1.500000 -v -3.500000 2.000000 3.500000 -v -4.500000 2.000000 2.000000 -v -4.000000 2.000000 2.000000 -v -4.500000 2.000000 1.500000 -v -4.000000 2.000000 1.500000 -v -4.500000 2.000000 4.500000 -v -4.000000 2.000000 4.500000 -v -4.500000 2.000000 4.000000 -v -4.000000 2.000000 4.000000 -v -2.000000 2.000000 2.000000 -v -1.500000 2.000000 2.000000 -v -2.000000 2.000000 1.500000 -v -1.500000 2.000000 1.500000 -v -2.000000 2.000000 4.500000 -v -1.500000 2.000000 4.500000 -v -2.000000 2.000000 4.000000 -v -1.500000 2.000000 4.000000 -v -4.500000 4.000000 1.500000 -v -4.500000 4.000000 2.000000 -v -4.000000 4.000000 2.000000 -v -4.000000 4.000000 1.500000 -v -4.500000 4.000000 4.000000 -v -4.500000 4.000000 4.500000 -v -4.000000 4.000000 4.500000 -v -4.000000 4.000000 4.000000 -v -2.000000 4.000000 1.500000 -v -2.000000 4.000000 2.000000 -v -1.500000 4.000000 2.000000 -v -1.500000 4.000000 1.500000 -v -2.000000 4.000000 4.000000 -v -2.000000 4.000000 4.500000 -v -1.500000 4.000000 4.500000 -v -1.500000 4.000000 4.000000 -v -4.500000 4.000000 4.500000 -v -1.500000 4.000000 4.500000 -v -4.500000 4.000000 1.500000 -v -1.500000 4.000000 1.500000 -v -4.500000 4.250000 1.500000 -v -4.500000 4.250000 4.500000 -v -1.500000 4.250000 4.500000 -v -1.500000 4.250000 1.500000 -v -4.000000 2.000000 4.250000 v -2.000000 2.000000 4.250000 -v -4.000000 4.000000 4.250000 -v -2.000000 4.000000 4.250000 -v -2.000000 4.000000 1.750000 -v -4.000000 4.000000 1.750000 v -2.000000 2.000000 1.750000 -v -4.000000 2.000000 1.750000 -v -1.750000 2.000000 2.000000 v -1.750000 2.000000 4.000000 -v -1.750000 4.000000 2.000000 -v -1.750000 4.000000 4.000000 -v -4.250000 4.000000 4.000000 -v -4.250000 4.000000 2.000000 v -4.250000 2.000000 4.000000 -v -4.250000 2.000000 2.000000 -v -4.500000 4.250000 2.000000 -v -4.000000 4.250000 2.000000 -v -4.500000 4.250000 1.500000 -v -4.000000 4.250000 1.500000 -v -4.500000 4.250000 4.500000 -v -4.000000 4.250000 4.500000 -v -4.500000 4.250000 4.000000 -v -4.000000 4.250000 4.000000 -v -2.000000 4.250000 2.000000 -v -1.500000 4.250000 2.000000 -v -2.000000 4.250000 1.500000 -v -1.500000 4.250000 1.500000 -v -2.000000 4.250000 4.500000 -v -1.500000 4.250000 4.500000 -v -2.000000 4.250000 4.000000 -v -1.500000 4.250000 4.000000 -v -4.500000 6.250000 1.500000 -v -4.500000 6.250000 2.000000 -v -4.000000 6.250000 2.000000 -v -4.000000 6.250000 1.500000 -v -4.500000 6.250000 4.000000 -v -4.500000 6.250000 4.500000 -v -4.000000 6.250000 4.500000 -v -4.000000 6.250000 4.000000 -v -2.000000 6.250000 1.500000 -v -2.000000 6.250000 2.000000 -v -1.500000 6.250000 2.000000 -v -1.500000 6.250000 1.500000 -v -2.000000 6.250000 4.000000 -v -2.000000 6.250000 4.500000 -v -1.500000 6.250000 4.500000 -v -1.500000 6.250000 4.000000 -v -4.500000 6.250000 4.500000 -v -1.500000 6.250000 4.500000 -v -4.500000 6.250000 1.500000 -v -1.500000 6.250000 1.500000 -v -4.500000 6.500000 1.500000 -v -4.500000 6.500000 4.500000 -v -1.500000 6.500000 4.500000 -v -1.500000 6.500000 1.500000 -v -4.000000 4.250000 4.250000 v -2.000000 4.250000 4.250000 -v -4.000000 6.250000 4.250000 -v -2.000000 6.250000 4.250000 -v -2.000000 6.250000 1.750000 -v -4.000000 6.250000 1.750000 v -2.000000 4.250000 1.750000 -v -4.000000 4.250000 1.750000 -v -1.750000 4.250000 2.000000 v -1.750000 4.250000 4.000000 -v -1.750000 6.250000 2.000000 -v -1.750000 6.250000 4.000000 -v -4.250000 6.250000 4.000000 -v -4.250000 6.250000 2.000000 v -4.250000 4.250000 4.000000 -v -4.250000 4.250000 2.000000 -v -4.500000 6.500000 2.000000 -v -4.000000 6.500000 2.000000 -v -4.500000 6.500000 1.500000 -v -4.000000 6.500000 1.500000 -v -4.500000 6.500000 4.500000 -v -4.000000 6.500000 4.500000 -v -4.500000 6.500000 4.000000 -v -4.000000 6.500000 4.000000 -v -2.000000 6.500000 2.000000 -v -1.500000 6.500000 2.000000 -v -2.000000 6.500000 1.500000 -v -1.500000 6.500000 1.500000 -v -2.000000 6.500000 4.500000 -v -1.500000 6.500000 4.500000 -v -2.000000 6.500000 4.000000 -v -1.500000 6.500000 4.000000 -v -4.500000 8.500000 1.500000 -v -4.500000 8.500000 2.000000 -v -4.000000 8.500000 2.000000 -v -4.000000 8.500000 1.500000 -v -4.500000 8.500000 4.000000 -v -4.500000 8.500000 4.500000 -v -4.000000 8.500000 4.500000 -v -4.000000 8.500000 4.000000 -v -2.000000 8.500000 1.500000 -v -2.000000 8.500000 2.000000 -v -1.500000 8.500000 2.000000 -v -1.500000 8.500000 1.500000 -v -2.000000 8.500000 4.000000 -v -2.000000 8.500000 4.500000 -v -1.500000 8.500000 4.500000 -v -1.500000 8.500000 4.000000 -v -4.500000 8.500000 4.500000 -v -1.500000 8.500000 4.500000 -v -4.500000 8.500000 1.500000 -v -1.500000 8.500000 1.500000 -v -4.500000 8.750000 1.500000 -v -4.500000 8.750000 4.500000 -v -1.500000 8.750000 4.500000 -v -1.500000 8.750000 1.500000 -v -4.000000 6.500000 4.250000 v -2.000000 6.500000 4.250000 -v -4.000000 8.500000 4.250000 -v -2.000000 8.500000 4.250000 -v -2.000000 8.500000 1.750000 -v -4.000000 8.500000 1.750000 v -2.000000 6.500000 1.750000 -v -4.000000 6.500000 1.750000 -v -1.750000 6.500000 2.000000 v -1.750000 6.500000 4.000000 -v -1.750000 8.500000 2.000000 -v -1.750000 8.500000 4.000000 -v -4.250000 8.500000 4.000000 -v -4.250000 8.500000 2.000000 v -4.250000 6.500000 4.000000 -v -4.250000 6.500000 2.000000 -v -4.500000 8.750000 2.000000 -v -4.000000 8.750000 2.000000 -v -4.500000 8.750000 1.500000 -v -4.000000 8.750000 1.500000 -v -4.500000 8.750000 4.500000 -v -4.000000 8.750000 4.500000 -v -4.500000 8.750000 4.000000 -v -4.000000 8.750000 4.000000 -v -2.000000 8.750000 2.000000 -v -1.500000 8.750000 2.000000 -v -2.000000 8.750000 1.500000 -v -1.500000 8.750000 1.500000 -v -2.000000 8.750000 4.500000 -v -1.500000 8.750000 4.500000 -v -2.000000 8.750000 4.000000 -v -1.500000 8.750000 4.000000 -v -4.500000 10.750000 1.500000 -v -4.500000 10.750000 2.000000 -v -4.000000 10.750000 2.000000 -v -4.000000 10.750000 1.500000 -v -4.500000 10.750000 4.000000 -v -4.500000 10.750000 4.500000 -v -4.000000 10.750000 4.500000 -v -4.000000 10.750000 4.000000 -v -2.000000 10.750000 1.500000 -v -2.000000 10.750000 2.000000 -v -1.500000 10.750000 2.000000 -v -1.500000 10.750000 1.500000 -v -2.000000 10.750000 4.000000 -v -2.000000 10.750000 4.500000 -v -1.500000 10.750000 4.500000 -v -1.500000 10.750000 4.000000 -v -4.500000 10.750000 4.500000 -v -1.500000 10.750000 4.500000 -v -4.500000 10.750000 1.500000 -v -1.500000 10.750000 1.500000 -v -4.500000 11.000000 1.500000 -v -4.500000 11.000000 4.500000 -v -1.500000 11.000000 4.500000 -v -1.500000 11.000000 1.500000 -v -4.000000 8.750000 4.250000 v -2.000000 8.750000 4.250000 -v -4.000000 10.750000 4.250000 -v -2.000000 10.750000 4.250000 -v -2.000000 10.750000 1.750000 -v -4.000000 10.750000 1.750000 v -2.000000 8.750000 1.750000 -v -4.000000 8.750000 1.750000 -v -1.750000 8.750000 2.000000 v -1.750000 8.750000 4.000000 -v -1.750000 10.750000 2.000000 -v -1.750000 10.750000 4.000000 -v -4.250000 10.750000 4.000000 -v -4.250000 10.750000 2.000000 v -4.250000 8.750000 4.000000 -v -4.250000 8.750000 2.000000 -v -3.750000 15.250000 4.625000 -v -4.625000 15.250000 3.750000 -v -3.187500 13.250000 3.750000 -v -3.750000 13.250000 3.187500 -v -3.750000 15.250000 3.187500 -v -3.187500 15.250000 3.750000 -v -3.750000 15.500000 4.625000 -v -4.625000 15.500000 3.750000 -v -4.625000 15.250000 3.750000 -v -3.750000 15.250000 4.625000 -v -2.250000 15.500000 1.375000 -v -2.250000 15.250000 1.375000 -v -1.375000 15.500000 2.250000 -v -1.375000 15.250000 2.250000 -v -3.375000 15.500000 1.750000 -v -2.625000 15.500000 1.750000 -v -1.750000 15.500000 2.625000 -v -1.750000 15.500000 3.375000 -v -2.625000 15.500000 4.250000 -v -3.375000 15.500000 4.250000 -v -4.250000 15.500000 3.375000 -v -4.250000 15.500000 2.625000 -v -4.250000 15.250000 2.625000 -v -4.250000 15.250000 3.375000 -v -1.750000 15.250000 2.625000 -v -1.750000 15.250000 3.375000 -v -2.625000 15.250000 1.750000 -v -3.375000 15.250000 1.750000 -v -2.625000 15.250000 4.250000 -v -3.375000 15.250000 4.250000 -v -3.187500 2.000000 2.437500 -v -2.812500 2.000000 2.437500 -v -3.187500 2.000000 2.062500 -v -2.812500 2.000000 2.062500 -v -3.187500 2.000000 3.937500 -v -2.812500 2.000000 3.937500 -v -3.187500 2.000000 3.562500 -v -2.812500 2.000000 3.562500 -v -3.562500 2.000000 3.187500 -v -3.562500 2.000000 2.812500 -v -3.937500 2.000000 3.187500 -v -3.937500 2.000000 2.812500 -v -2.062500 2.000000 3.187500 -v -2.062500 2.000000 2.812500 -v -2.437500 2.000000 3.187500 -v -2.437500 2.000000 2.812500 -v -3.187500 17.500000 3.562500 -v -2.812500 17.500000 3.562500 -v -2.812500 17.500000 3.937500 -v -3.187500 17.500000 3.937500 -v -3.187500 17.500000 2.062500 -v -2.812500 17.500000 2.062500 -v -2.812500 17.500000 2.437500 -v -3.187500 17.500000 2.437500 -v -3.187500 2.000000 2.250000 -v -2.812500 2.000000 2.250000 -v -3.187500 2.000000 3.750000 -v -2.812500 2.000000 3.750000 -v -3.750000 2.000000 3.187500 -v -3.750000 2.000000 2.812500 -v -2.250000 2.000000 3.187500 -v -2.250000 2.000000 2.812500 -v -3.562500 17.500000 3.187500 -v -3.562500 17.500000 2.812500 -v -3.937500 17.500000 2.812500 -v -3.937500 17.500000 3.187500 -v -2.062500 17.500000 3.187500 -v -2.062500 17.500000 2.812500 -v -2.437500 17.500000 2.812500 -v -2.437500 17.500000 3.187500 -v -3.187500 17.500000 2.250000 -v -2.812500 17.500000 2.250000 -v -3.187500 17.500000 3.750000 -v -2.812500 17.500000 3.750000 -v -3.750000 17.500000 3.187500 -v -3.750000 17.500000 2.812500 -v -2.250000 17.500000 3.187500 -v -2.250000 17.500000 2.812500 -v -3.375000 13.000000 4.250000 -v -2.625000 13.000000 4.250000 -v -3.375000 13.000000 1.750000 -v -2.625000 13.000000 1.750000 -v -1.750000 13.000000 3.375000 -v -1.750000 13.000000 2.625000 -v -4.250000 13.000000 3.375000 -v -4.250000 13.000000 2.625000 -v -4.250000 13.250000 2.625000 -v -4.250000 13.250000 3.375000 -v -3.375000 13.250000 4.250000 -v -2.625000 13.250000 4.250000 -v -1.750000 13.250000 3.375000 -v -1.750000 13.250000 2.625000 -v -2.625000 13.250000 1.750000 -v -3.375000 13.250000 1.750000 -v -4.250000 17.500000 2.625000 -v -4.250000 17.500000 3.375000 -v -3.375000 17.500000 4.250000 -v -2.625000 17.500000 4.250000 -v -1.750000 17.500000 3.375000 -v -1.750000 17.500000 2.625000 -v -2.625000 17.500000 1.750000 -v -3.375000 17.500000 1.750000 -v -4.250000 17.750000 2.625000 -v -4.250000 17.750000 3.375000 -v -3.375000 17.750000 4.250000 -v -2.625000 17.750000 4.250000 -v -1.750000 17.750000 3.375000 -v -1.750000 17.750000 2.625000 -v -2.625000 17.750000 1.750000 -v -3.375000 17.750000 1.750000 -v -1.375000 13.000000 2.250000 -v -1.375000 13.250000 2.250000 -v -2.250000 13.000000 1.375000 -v -2.250000 13.250000 1.375000 -v -3.750000 13.000000 4.625000 -v -4.625000 13.000000 3.750000 -v -4.625000 13.250000 3.750000 -v -3.750000 13.250000 4.625000 -v 1.375000 4.000000 0.250000 -v 1.375000 3.000000 0.250000 -v 1.375000 4.000000 -0.250000 -v 1.375000 3.000000 -0.250000 -v 1.125000 4.000000 -0.250000 -v 1.125000 4.000000 0.250000 -v 1.125000 3.000000 0.250000 -v 1.125000 3.000000 -0.250000 -v 2.500000 2.000000 0.250000 -v 3.500000 2.000000 0.250000 -v 2.500000 2.000000 -0.250000 -v 3.500000 2.000000 -0.250000 -v 2.500000 2.250000 -0.250000 -v 2.500000 2.250000 0.250000 -v 3.500000 2.250000 0.250000 -v 3.500000 2.250000 -0.250000 -v 2.919652 2.029244 0.125000 -v 3.080348 2.220756 0.125000 -v 2.919652 2.029244 -0.125000 -v 3.080348 2.220756 -0.125000 -v 2.125000 2.000000 0.375000 -v 1.875000 2.000000 0.375000 -v 2.125000 2.000000 0.625000 -v 1.875000 2.000000 0.625000 -v 1.196051 3.475517 -0.125000 -v 1.196051 3.475517 0.125000 -v 1.356748 3.667028 0.125000 +v -3.187500 17.500000 2.250001 +v -2.812500 17.500000 3.750001 +v -3.187500 17.500000 3.750001 +v -2.812500 17.500000 2.250001 v 1.356748 3.667028 -0.125000 -v 1.875000 3.000000 0.125000 -v 2.125000 3.000000 0.125000 -v 2.125000 3.000000 -0.125000 -v 1.875000 3.000000 -0.125000 -v 1.875000 2.000000 -0.375000 -v 2.125000 2.000000 -0.375000 -v 1.875000 2.000000 -0.625000 -v 2.125000 2.000000 -0.625000 -v 1.875000 3.000000 -0.125000 -v 1.875000 3.000000 0.125000 -v 2.125000 3.000000 0.125000 -v 2.125000 3.000000 -0.125000 -v -1.615781 2.783195 1.792558 -v -1.792558 2.783195 1.615781 -v -1.502151 2.591684 1.678928 -v -1.678928 2.591684 1.502151 -v -0.757348 3.475517 0.934124 -v -0.934124 3.475517 0.757348 -v -1.047754 3.667028 0.870978 -v -0.870978 3.667028 1.047755 -v -3.750000 15.250000 4.625000 -v -4.625000 15.250000 3.750000 -v -3.187500 13.250000 3.750000 -v -3.750000 13.250000 3.187500 -v -3.750000 15.250000 3.187500 -v -3.187500 15.250000 3.750000 -v -3.187500 2.000000 2.250000 -v -2.812500 2.000000 2.250000 -v -3.187500 2.000000 3.750000 -v -2.812500 2.000000 3.750000 -v -3.750000 2.000000 3.187500 -v -3.750000 2.000000 2.812500 -v -2.250000 2.000000 3.187500 -v -2.250000 2.000000 2.812500 -v -3.187500 17.500000 2.250000 -v -2.812500 17.500000 2.250000 -v -3.187500 17.500000 3.750000 -v -2.812500 17.500000 3.750000 -v -3.750000 17.500000 3.187500 -v -3.750000 17.500000 2.812500 -v -2.250000 17.500000 3.187500 -v -2.250000 17.500000 2.812500 -v -4.000000 2.000000 4.250000 +v -3.187500 17.500000 2.250001 +v -2.812500 17.500000 3.750001 +v -3.187500 17.500000 3.750001 +v -2.812500 17.500000 2.250001 v -2.000000 2.000000 4.250000 -v -4.000000 4.000000 4.250000 -v -2.000000 4.000000 4.250000 -v -2.000000 4.000000 1.750000 -v -4.000000 4.000000 1.750000 v -2.000000 2.000000 1.750000 -v -4.000000 2.000000 1.750000 -v -1.750000 2.000000 2.000000 v -1.750000 2.000000 4.000000 -v -1.750000 4.000000 2.000000 -v -1.750000 4.000000 4.000000 -v -4.250000 4.000000 4.000000 -v -4.250000 4.000000 2.000000 v -4.250000 2.000000 4.000000 -v -4.250000 2.000000 2.000000 -v -4.000000 4.250000 4.250000 v -2.000000 4.250000 4.250000 -v -4.000000 6.250000 4.250000 -v -2.000000 6.250000 4.250000 -v -2.000000 6.250000 1.750000 -v -4.000000 6.250000 1.750000 v -2.000000 4.250000 1.750000 -v -4.000000 4.250000 1.750000 -v -1.750000 4.250000 2.000000 v -1.750000 4.250000 4.000000 -v -1.750000 6.250000 2.000000 -v -1.750000 6.250000 4.000000 -v -4.250000 6.250000 4.000000 -v -4.250000 6.250000 2.000000 v -4.250000 4.250000 4.000000 -v -4.250000 4.250000 2.000000 -v -4.000000 6.500000 4.250000 v -2.000000 6.500000 4.250000 -v -4.000000 8.500000 4.250000 -v -2.000000 8.500000 4.250000 -v -2.000000 8.500000 1.750000 -v -4.000000 8.500000 1.750000 v -2.000000 6.500000 1.750000 -v -4.000000 6.500000 1.750000 -v -1.750000 6.500000 2.000000 v -1.750000 6.500000 4.000000 -v -1.750000 8.500000 2.000000 -v -1.750000 8.500000 4.000000 -v -4.250000 8.500000 4.000000 -v -4.250000 8.500000 2.000000 v -4.250000 6.500000 4.000000 -v -4.250000 6.500000 2.000000 -v -4.000000 8.750000 4.250000 v -2.000000 8.750000 4.250000 -v -4.000000 10.750000 4.250000 -v -2.000000 10.750000 4.250000 -v -2.000000 10.750000 1.750000 -v -4.000000 10.750000 1.750000 v -2.000000 8.750000 1.750000 -v -4.000000 8.750000 1.750000 -v -1.750000 8.750000 2.000000 v -1.750000 8.750000 4.000000 -v -1.750000 10.750000 2.000000 -v -1.750000 10.750000 4.000000 -v -4.250000 10.750000 4.000000 -v -4.250000 10.750000 2.000000 v -4.250000 8.750000 4.000000 -v -4.250000 8.750000 2.000000 -v 1.149048 4.000000 -0.795495 -v 1.149048 3.000000 -0.795495 -v 0.795495 4.000000 -1.149048 -v 0.795495 3.000000 -1.149048 -v 0.618718 4.000000 -0.972272 -v 0.972272 4.000000 -0.618718 -v 0.972272 3.000000 -0.618718 -v 0.618718 3.000000 -0.972272 -v 1.944544 2.000000 -1.590990 -v 2.651650 2.000000 -2.298097 -v 1.590990 2.000000 -1.944544 -v 2.298097 2.000000 -2.651650 -v 1.590990 2.250000 -1.944544 -v 1.944544 2.250000 -1.590990 -v 2.651650 2.250000 -2.298097 -v 2.298097 2.250000 -2.651650 -v 2.152894 2.029244 -1.976117 -v 2.266524 2.220756 -2.089747 -v 1.976117 2.029244 -2.152894 -v 2.089747 2.220756 -2.266524 -v 1.767767 2.000000 -1.237437 -v 1.590990 2.000000 -1.060660 -v 1.944544 2.000000 -1.060660 -v 1.767767 2.000000 -0.883883 -v 0.757348 3.475517 -0.934124 -v 0.934124 3.475517 -0.757348 -v 1.047754 3.667028 -0.870978 v 0.870978 3.667028 -1.047754 -v 1.414214 3.000000 -1.237437 -v 1.590990 3.000000 -1.414214 -v 1.414214 3.000000 -1.590990 -v 1.237437 3.000000 -1.414214 -v 1.060660 2.000000 -1.590990 -v 1.237437 2.000000 -1.767767 -v 0.883883 2.000000 -1.767767 -v 1.060660 2.000000 -1.944544 -v 1.237437 3.000000 -1.414214 -v 1.414214 3.000000 -1.237437 -v 1.590990 3.000000 -1.414214 -v 1.414214 3.000000 -1.590990 -v 0.795495 4.000000 1.149048 -v 0.795495 3.000000 1.149048 -v 1.149048 4.000000 0.795495 -v 1.149048 3.000000 0.795495 -v 0.972272 4.000000 0.618719 -v 0.618718 4.000000 0.972272 -v 0.618718 3.000000 0.972272 -v 0.972272 3.000000 0.618719 -v 1.590990 2.000000 1.944544 -v 2.298097 2.000000 2.651650 -v 1.944543 2.000000 1.590990 -v 2.651650 2.000000 2.298097 -v 1.944543 2.250000 1.590990 -v 1.590990 2.250000 1.944544 -v 2.298097 2.250000 2.651650 -v 2.651650 2.250000 2.298097 -v 1.976117 2.029244 2.152894 -v 2.089747 2.220755 2.266524 -v 2.152894 2.029244 1.976117 -v 2.266524 2.220755 2.089747 -v 1.237437 2.000000 1.767767 -v 1.060660 2.000000 1.590990 -v 1.060660 2.000000 1.944544 -v 0.883883 2.000000 1.767767 -v 0.934124 3.475517 0.757348 -v 0.757348 3.475517 0.934125 -v 0.870978 3.667028 1.047755 v 1.047754 3.667028 0.870978 -v 1.237437 3.000000 1.414214 -v 1.414213 3.000000 1.590990 -v 1.590990 3.000000 1.414214 -v 1.414214 3.000000 1.237437 -v 1.590990 2.000000 1.060660 -v 1.767767 2.000000 1.237437 -v 1.767767 2.000000 0.883883 -v 1.944544 2.000000 1.060660 -v 1.414214 3.000000 1.237437 -v 1.237437 3.000000 1.414214 -v 1.414213 3.000000 1.590990 -v 1.590990 3.000000 1.414214 -v -1.375000 4.000000 -0.250000 -v -1.375000 3.000000 -0.250000 -v -1.375000 4.000000 0.250000 -v -1.375000 3.000000 0.250000 -v -1.125000 4.000000 0.250000 -v -1.125000 4.000000 -0.250000 -v -1.125000 3.000000 -0.250000 -v -1.125000 3.000000 0.250000 -v -2.500000 2.000000 -0.250000 -v -3.500000 2.000000 -0.250000 -v -2.500000 2.000000 0.250000 -v -3.500000 2.000000 0.250000 -v -2.500000 2.250000 0.250000 -v -2.500000 2.250000 -0.250000 -v -3.500000 2.250000 -0.250000 -v -3.500000 2.250000 0.250000 -v -2.919652 2.029244 -0.125000 -v -3.080348 2.220756 -0.125000 -v -2.919652 2.029244 0.125000 -v -3.080348 2.220756 0.125000 -v -2.125000 2.000000 -0.375000 -v -1.875000 2.000000 -0.375000 -v -2.125000 2.000000 -0.625000 -v -1.875000 2.000000 -0.625000 -v -1.196051 3.475517 0.125000 -v -1.196051 3.475517 -0.125000 -v -1.356748 3.667028 -0.125000 v -1.356748 3.667028 0.125000 -v -1.875000 3.000000 -0.125000 -v -2.125000 3.000000 -0.125000 -v -2.125000 3.000000 0.125000 -v -1.875000 3.000000 0.125000 -v -1.875000 2.000000 0.375000 -v -2.125000 2.000000 0.375000 -v -1.875000 2.000000 0.625000 -v -2.125000 2.000000 0.625000 -v -1.875000 3.000000 0.125000 -v -1.875000 3.000000 -0.125000 -v -2.125000 3.000000 -0.125000 -v -2.125000 3.000000 0.125000 -v -0.795495 4.000000 -1.149048 -v -0.795495 3.000000 -1.149048 -v -1.149049 4.000000 -0.795495 -v -1.149049 3.000000 -0.795495 -v -0.972272 4.000000 -0.618719 -v -0.618718 4.000000 -0.972272 -v -0.618718 3.000000 -0.972272 -v -0.972272 3.000000 -0.618719 -v -1.590990 2.000000 -1.944544 -v -2.298097 2.000000 -2.651650 -v -1.944544 2.000000 -1.590990 -v -2.651650 2.000000 -2.298097 -v -1.944544 2.250000 -1.590990 -v -1.590990 2.250000 -1.944544 -v -2.298097 2.250000 -2.651650 -v -2.651650 2.250000 -2.298097 -v -1.976117 2.029244 -2.152894 -v -2.089747 2.220755 -2.266523 -v -2.152894 2.029244 -1.976117 -v -2.266524 2.220755 -2.089746 -v -1.237437 2.000000 -1.767767 -v -1.060660 2.000000 -1.590990 -v -1.060660 2.000000 -1.944544 -v -0.883884 2.000000 -1.767767 -v -0.934124 3.475517 -0.757348 -v -0.757348 3.475517 -0.934124 -v -0.870978 3.667028 -1.047755 +v -1.196051 3.475517 -0.125000 v -1.047755 3.667028 -0.870978 -v -1.237437 3.000000 -1.414213 -v -1.414213 3.000000 -1.590990 -v -1.590990 3.000000 -1.414213 -v -1.414214 3.000000 -1.237437 -v -1.590990 2.000000 -1.060660 -v -1.767767 2.000000 -1.237437 -v -1.767767 2.000000 -0.883883 -v -1.944544 2.000000 -1.060660 -v -1.414214 3.000000 -1.237437 -v -1.237437 3.000000 -1.414213 -v -1.414213 3.000000 -1.590990 -v -1.590990 3.000000 -1.414213 -v -1.149048 4.000000 0.795495 -v -1.149048 3.000000 0.795495 -v -0.795495 4.000000 1.149049 -v -0.795495 3.000000 1.149049 -v -0.618718 4.000000 0.972272 -v -0.972272 4.000000 0.618719 -v -0.972272 3.000000 0.618719 -v -0.618718 3.000000 0.972272 -v -1.767767 2.000000 1.237437 -v -1.590990 2.000000 1.060660 -v -1.944543 2.000000 1.060660 -v -1.767767 2.000000 0.883884 -v -1.414213 3.000000 1.237437 -v -1.590990 3.000000 1.414214 -v -1.414213 3.000000 1.590990 -v -1.237437 3.000000 1.414214 -v -1.060660 2.000000 1.590990 -v -1.237437 2.000000 1.767767 -v -0.883883 2.000000 1.767767 -v -1.060660 2.000000 1.944544 -v -1.237437 3.000000 1.414214 -v -1.414213 3.000000 1.237437 -v -1.590990 3.000000 1.414214 -v -1.414213 3.000000 1.590990 +v -0.757348 3.475517 -0.934124 vt 0.269231 0.532258 vt 0.115385 0.725806 vt 0.115385 0.532258 @@ -5473,7 +9682,7 @@ vt 0.730769 0.709677 vt 0.846154 0.629032 vt 0.846154 0.693548 vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 0.0000 +vn -0.0000 -1.0000 -0.0000 vn 1.0000 0.0000 0.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 @@ -5515,16499 +9724,4523 @@ vn 0.6428 -0.7660 0.0000 vn -0.4545 0.7660 -0.4545 vn 0.4545 -0.7660 0.4545 s off -f 1214/1496/52 1211/1497/52 1212/1498/52 -f 1187/1499/52 1192/1500/52 1188/1501/52 -f 1197/1502/53 1202/1503/53 1198/1504/53 -f 1192/1500/54 1198/1504/54 1194/1505/54 -f 1193/1506/55 1196/1507/55 1191/1508/55 -f 1194/1509/56 1195/1510/56 1193/1511/56 -f 1191/1512/57 1197/1513/57 1192/1514/57 -f 1202/1515/56 1203/1516/56 1201/1517/56 -f 1198/1518/53 1201/1517/53 1195/1510/53 -f 1195/1519/53 1199/1520/53 1196/1507/53 -f 1196/1521/53 1200/1522/53 1197/1513/53 -f 1189/1523/52 1191/1524/52 1187/1499/52 -f 1199/1525/57 1205/1526/57 1200/1522/57 -f 1200/1527/54 1206/1528/54 1202/1503/54 -f 1201/1529/55 1204/1530/55 1199/1520/55 -f 1190/1531/52 1193/1532/52 1189/1523/52 -f 1188/1501/52 1194/1505/52 1190/1531/52 -f 1208/1533/58 1187/1499/58 1188/1501/58 -f 1207/1534/59 1189/1523/59 1187/1499/59 -f 1209/1535/60 1190/1531/60 1189/1523/60 -f 1210/1536/61 1188/1501/61 1190/1531/61 -f 1223/1537/56 1217/1538/56 1222/1539/56 -f 1216/1540/52 1221/1541/52 1215/1542/52 -f 1224/1543/54 1216/1540/54 1219/1544/54 -f 1215/1542/57 1219/1545/57 1216/1540/57 -f 1222/1539/58 1224/1543/58 1223/1537/58 -f 1222/1546/55 1217/1547/55 1218/1548/55 -f 1237/1549/56 1236/1550/56 1235/1551/56 -f 1233/1552/55 1238/1553/55 1232/1554/55 -f 1231/1555/57 1233/1552/57 1232/1556/57 -f 1225/1557/54 1230/1558/54 1231/1559/54 -f 1239/1560/52 1237/1549/52 1233/1552/52 -f 1274/1561/53 1273/1562/53 1272/1563/53 -f 1273/1564/57 1277/1565/57 1272/1566/57 -f 1278/1567/52 1276/1568/52 1277/1565/52 -f 1274/1569/56 1279/1570/56 1275/1571/56 -f 1280/1572/57 1283/1573/57 1282/1574/57 -f 1272/1575/55 1276/1568/55 1274/1576/55 -f 1275/1577/54 1278/1567/54 1273/1578/54 -f 1249/1579/57 1265/1580/57 1248/1581/57 -f 1243/1582/54 1258/1583/54 1241/1584/54 -f 1251/1585/54 1266/1586/54 1249/1579/54 -f 1242/1587/56 1259/1588/56 1243/1582/56 -f 1250/1589/56 1267/1590/56 1251/1585/56 -f 1244/1591/55 1260/1592/55 1246/1593/55 -f 1252/1594/55 1268/1595/55 1254/1596/55 -f 1245/1597/57 1261/1598/57 1244/1591/57 -f 1253/1599/57 1269/1600/57 1252/1594/57 -f 1247/1601/54 1262/1602/54 1245/1597/54 -f 1255/1603/54 1270/1604/54 1253/1599/54 -f 1246/1593/56 1263/1605/56 1247/1606/56 -f 1240/1607/55 1256/1608/55 1242/1587/55 -f 1254/1609/56 1271/1610/56 1255/1603/56 -f 1248/1611/55 1264/1612/55 1250/1589/55 -f 1241/1613/57 1257/1614/57 1240/1607/57 -f 1284/1615/56 1287/1616/56 1285/1617/56 -f 1291/1618/54 1288/1619/54 1290/1620/54 -f 1295/1621/55 1292/1622/55 1293/1623/55 -f 1330/1624/53 1329/1625/53 1328/1626/53 -f 1329/1627/57 1333/1628/57 1328/1629/57 -f 1334/1630/52 1332/1631/52 1333/1628/52 -f 1330/1632/56 1335/1633/56 1331/1634/56 -f 1336/1635/57 1339/1636/57 1338/1637/57 -f 1328/1638/55 1332/1631/55 1330/1639/55 -f 1331/1640/54 1334/1630/54 1329/1641/54 -f 1305/1642/57 1321/1643/57 1304/1644/57 -f 1299/1645/54 1314/1646/54 1297/1647/54 -f 1307/1648/54 1322/1649/54 1305/1642/54 -f 1298/1650/56 1315/1651/56 1299/1645/56 -f 1306/1652/56 1323/1653/56 1307/1648/56 -f 1300/1654/55 1316/1655/55 1302/1656/55 -f 1308/1657/55 1324/1658/55 1310/1659/55 -f 1301/1660/57 1317/1661/57 1300/1654/57 -f 1309/1662/57 1325/1663/57 1308/1657/57 -f 1303/1664/54 1318/1665/54 1301/1660/54 -f 1311/1666/54 1326/1667/54 1309/1662/54 -f 1302/1656/56 1319/1668/56 1303/1669/56 -f 1296/1670/55 1312/1671/55 1298/1650/55 -f 1310/1672/56 1327/1673/56 1311/1666/56 -f 1304/1674/55 1320/1675/55 1306/1652/55 -f 1297/1676/57 1313/1677/57 1296/1670/57 -f 1340/1678/56 1343/1679/56 1341/1680/56 -f 1347/1681/54 1344/1682/54 1346/1683/54 -f 1351/1684/55 1348/1685/55 1349/1686/55 -f 1386/1687/53 1385/1688/53 1384/1689/53 -f 1385/1690/57 1389/1691/57 1384/1692/57 -f 1390/1693/52 1388/1694/52 1389/1691/52 -f 1386/1695/56 1391/1696/56 1387/1697/56 -f 1392/1698/57 1395/1699/57 1394/1700/57 -f 1384/1701/55 1388/1694/55 1386/1702/55 -f 1387/1703/54 1390/1693/54 1385/1704/54 -f 1361/1705/57 1377/1706/57 1360/1707/57 -f 1355/1708/54 1370/1709/54 1353/1710/54 -f 1363/1711/54 1378/1712/54 1361/1705/54 -f 1354/1713/56 1371/1714/56 1355/1708/56 -f 1362/1715/56 1379/1716/56 1363/1711/56 -f 1356/1717/55 1372/1718/55 1358/1719/55 -f 1364/1720/55 1380/1721/55 1366/1722/55 -f 1357/1723/57 1373/1724/57 1356/1717/57 -f 1365/1725/57 1381/1726/57 1364/1720/57 -f 1359/1727/54 1374/1728/54 1357/1723/54 -f 1367/1729/54 1382/1730/54 1365/1725/54 -f 1358/1719/56 1375/1731/56 1359/1732/56 -f 1352/1733/55 1368/1734/55 1354/1713/55 -f 1366/1735/56 1383/1736/56 1367/1729/56 -f 1360/1737/55 1376/1738/55 1362/1715/55 -f 1353/1739/57 1369/1740/57 1352/1733/57 -f 1396/1741/56 1399/1742/56 1397/1743/56 -f 1403/1744/54 1400/1745/54 1402/1746/54 -f 1407/1747/55 1404/1748/55 1405/1749/55 -f 1442/1750/53 1441/1751/53 1440/1752/53 -f 1441/1753/57 1445/1754/57 1440/1755/57 -f 1446/1756/52 1444/1757/52 1445/1754/52 -f 1442/1758/56 1447/1759/56 1443/1760/56 -f 1448/1761/57 1451/1762/57 1450/1763/57 -f 1440/1764/55 1444/1757/55 1442/1765/55 -f 1443/1766/54 1446/1756/54 1441/1767/54 -f 1417/1768/57 1433/1769/57 1416/1770/57 -f 1411/1771/54 1426/1772/54 1409/1773/54 -f 1419/1774/54 1434/1775/54 1417/1768/54 -f 1410/1776/56 1427/1777/56 1411/1771/56 -f 1418/1778/56 1435/1779/56 1419/1774/56 -f 1412/1780/55 1428/1781/55 1414/1782/55 -f 1420/1783/55 1436/1784/55 1422/1785/55 -f 1413/1786/57 1429/1787/57 1412/1780/57 -f 1421/1788/57 1437/1789/57 1420/1783/57 -f 1415/1790/54 1430/1791/54 1413/1786/54 -f 1423/1792/54 1438/1793/54 1421/1788/54 -f 1414/1782/56 1431/1794/56 1415/1795/56 -f 1408/1796/55 1424/1797/55 1410/1776/55 -f 1422/1798/56 1439/1799/56 1423/1792/56 -f 1416/1800/55 1432/1801/55 1418/1778/55 -f 1409/1802/57 1425/1803/57 1408/1796/57 -f 1452/1804/56 1455/1805/56 1453/1806/56 -f 1459/1807/54 1456/1808/54 1458/1809/54 -f 1463/1810/55 1460/1811/55 1461/1812/55 -f 1469/1813/62 1464/1814/62 1466/1815/62 -f 1468/1816/63 1467/1817/63 1465/1818/63 -f 1493/1819/53 1472/1820/53 1487/1821/53 -f 1470/1822/64 1472/1823/64 1473/1824/64 -f 1484/1825/52 1470/1822/52 1483/1826/52 -f 1483/1826/65 1473/1827/65 1493/1828/65 -f 1475/1829/53 1488/1830/53 1490/1831/53 -f 1480/1832/52 1474/1833/52 1479/1834/52 -f 1475/1835/66 1476/1836/66 1477/1837/66 -f 1479/1834/67 1475/1838/67 1490/1839/67 -f 1487/1840/55 1485/1841/55 1486/1842/55 -f 1488/1843/54 1481/1844/54 1489/1845/54 -f 1487/1846/67 1471/1847/67 1484/1825/67 -f 1488/1848/65 1476/1836/65 1480/1832/65 -f 1492/1849/57 1483/1850/57 1493/1851/57 -f 1491/1852/56 1479/1853/56 1490/1854/56 -f 1488/1855/53 1492/1856/53 1487/1857/53 -f 1482/1858/52 1480/1859/52 1478/1860/52 -f 1489/1845/65 1482/1861/65 1492/1862/65 -f 1486/1842/67 1478/1863/67 1491/1864/67 -f 1549/1865/67 1557/1866/67 1544/1867/67 -f 1505/1868/56 1527/1869/56 1503/1870/56 -f 1546/1871/65 1553/1872/65 1543/1873/65 -f 1553/1874/52 1555/1875/52 1557/1876/52 -f 1547/1877/53 1543/1878/53 1548/1879/53 -f 1500/1880/56 1511/1881/56 1501/1882/56 -f 1506/1883/57 1533/1884/57 1508/1885/57 -f 1508/1885/55 1532/1886/55 1509/1887/55 -f 1509/1888/56 1531/1889/56 1507/1890/56 -f 1495/1891/57 1517/1892/57 1494/1893/57 -f 1494/1893/55 1514/1894/55 1496/1895/55 -f 1503/1870/54 1526/1896/54 1502/1897/54 -f 1497/1898/54 1516/1899/54 1495/1891/54 -f 1496/1900/56 1515/1901/56 1497/1898/56 -f 1498/1902/55 1510/1903/55 1500/1904/55 -f 1504/1905/55 1528/1906/55 1505/1907/55 -f 1501/1882/54 1512/1908/54 1499/1909/54 -f 1499/1909/57 1513/1910/57 1498/1902/57 -f 1502/1897/57 1529/1911/57 1504/1905/57 -f 1507/1890/54 1530/1912/54 1506/1883/54 -f 1539/1913/67 1518/1914/67 1523/1915/67 -f 1540/1916/65 1521/1917/65 1524/1918/65 -f 1520/1919/64 1538/1920/64 1522/1921/64 -f 1519/1922/66 1541/1923/66 1525/1924/66 -f 1544/1925/56 1556/1926/56 1545/1927/56 -f 1543/1928/57 1552/1929/57 1542/1930/57 -f 1547/1931/65 1575/1932/65 1555/1933/65 -f 1548/1934/67 1580/1935/67 1551/1936/67 -f 1547/1937/54 1554/1938/54 1546/1871/54 -f 1548/1939/55 1550/1940/55 1549/1865/55 -f 1563/1941/53 1561/1942/53 1559/1943/53 -f 1569/1944/52 1571/1945/52 1573/1946/52 -f 1562/1947/65 1569/1948/65 1561/1949/65 -f 1558/1950/67 1573/1951/67 1565/1952/67 -f 1565/1953/56 1572/1954/56 1564/1955/56 -f 1561/1956/57 1568/1957/57 1560/1958/57 -f 1564/1959/66 1571/1945/66 1563/1960/66 -f 1560/1961/64 1567/1962/64 1559/1963/64 -f 1563/1960/54 1570/1964/54 1562/1947/54 -f 1559/1963/55 1566/1965/55 1558/1950/55 -f 1556/1966/67 1576/1967/67 1545/1968/67 -f 1576/1969/66 1575/1932/66 1574/1970/66 -f 1555/1933/52 1577/1971/52 1556/1966/52 -f 1576/1972/53 1547/1973/53 1545/1974/53 -f 1552/1975/65 1578/1976/65 1542/1977/65 -f 1551/1936/52 1581/1978/52 1552/1975/52 -f 1581/1978/64 1579/1979/64 1578/1980/64 -f 1542/1981/53 1579/1982/53 1548/1983/53 -f 1583/1984/54 1584/1985/54 1582/1986/54 -f 1586/1987/55 1588/1988/55 1587/1989/55 -f 1585/1990/56 1586/1987/56 1584/1985/56 -f 1582/1986/57 1588/1991/57 1583/1984/57 -f 1583/1984/53 1589/1992/53 1585/1990/53 -f 1584/1985/52 1587/1993/52 1582/1986/52 -f 1596/1994/52 1594/1995/52 1595/1996/52 -f 1593/1997/54 1596/1994/54 1591/1998/54 -f 1590/1999/55 1594/1995/55 1592/2000/55 -f 1592/2001/56 1597/2002/56 1593/2003/56 -f 1591/2004/57 1595/1996/57 1590/2005/57 -f 1606/2006/56 1601/2007/56 1600/2008/56 -f 1601/2007/68 1608/2009/68 1599/2010/68 -f 1603/2011/55 1610/2012/55 1613/2013/55 -f 1608/2009/57 1598/2014/57 1599/2010/57 -f 1603/2011/69 1612/2015/69 1602/2016/69 -f 1604/2017/70 1610/2018/70 1605/2019/70 -f 1607/2020/71 1600/2008/71 1598/2021/71 -f 1602/2016/54 1611/2022/54 1604/2017/54 -f 1615/2023/54 1621/2024/54 1620/2025/54 -f 1614/2026/55 1618/2027/55 1616/2028/55 -f 1616/2028/72 1621/2024/72 1617/2029/72 -f 1615/2023/73 1619/2030/73 1614/2031/73 -f 1624/2032/74 1627/2033/74 1626/2034/74 -f 1622/2035/65 1626/2034/65 1629/2036/65 -f 1623/2037/75 1629/2036/75 1628/2038/75 -f 1625/2039/67 1628/2038/67 1627/2040/67 -f 1717/2041/66 1718/2042/66 1716/2043/66 -f 1635/2044/76 1632/2045/76 1630/2046/76 -f 1634/2047/77 1631/2048/77 1633/2049/77 -f 1636/2050/65 1649/2051/65 1641/2052/65 -f 1639/2053/67 1650/2054/67 1642/2055/67 -f 1648/2056/66 1638/2057/66 1640/2058/66 -f 1651/2059/64 1637/2060/64 1643/2061/64 -f 1655/2062/56 1652/2063/56 1654/2064/56 -f 1659/2065/57 1656/2066/57 1657/2067/57 -f 1660/2068/55 1663/2069/55 1662/2070/55 -f 1664/2071/54 1667/2072/54 1665/2073/54 -f 1671/2074/56 1668/2075/56 1670/2076/56 -f 1675/2077/57 1672/2078/57 1673/2079/57 -f 1676/2080/55 1679/2081/55 1678/2082/55 -f 1680/2083/54 1683/2084/54 1681/2085/54 -f 1687/2086/56 1684/2087/56 1686/2088/56 -f 1691/2089/57 1688/2090/57 1689/2091/57 -f 1692/2092/55 1695/2093/55 1694/2094/55 -f 1696/2095/54 1699/2096/54 1697/2097/54 -f 1703/2098/56 1700/2099/56 1702/2100/56 -f 1707/2101/57 1704/2102/57 1705/2103/57 -f 1708/2104/55 1711/2105/55 1710/2106/55 -f 1712/2107/54 1715/2108/54 1713/2109/54 -f 1720/2110/64 1722/2111/64 1721/2112/64 -f 1719/2113/67 1720/2110/67 1718/2042/67 -f 1716/2043/65 1722/2114/65 1717/2041/65 -f 1717/2041/53 1723/2115/53 1719/2113/53 -f 1718/2042/52 1721/2116/52 1716/2043/52 -f 1730/2117/52 1728/2118/52 1729/2119/52 -f 1727/2120/66 1730/2117/66 1725/2121/66 -f 1724/2122/64 1728/2118/64 1726/2123/64 -f 1726/2124/67 1731/2125/67 1727/2126/67 -f 1725/2127/65 1729/2119/65 1724/2128/65 -f 1740/2129/67 1735/2130/67 1734/2131/67 -f 1735/2130/78 1742/2132/78 1733/2133/78 -f 1737/2134/64 1744/2135/64 1747/2136/64 -f 1742/2132/65 1732/2137/65 1733/2133/65 -f 1737/2134/79 1746/2138/79 1736/2139/79 -f 1738/2140/80 1744/2141/80 1739/2142/80 -f 1741/2143/81 1734/2131/81 1732/2144/81 -f 1736/2139/66 1745/2145/66 1738/2140/66 -f 1749/2146/66 1755/2147/66 1754/2148/66 -f 1748/2149/64 1752/2150/64 1750/2151/64 -f 1750/2151/82 1755/2147/82 1751/2152/82 -f 1749/2146/83 1753/2153/83 1748/2154/83 -f 1757/2155/65 1758/2156/65 1756/2157/65 -f 1760/2158/67 1762/2159/67 1761/2160/67 -f 1759/2161/66 1760/2158/66 1758/2156/66 -f 1756/2157/64 1762/2162/64 1757/2155/64 -f 1757/2155/53 1763/2163/53 1759/2161/53 -f 1756/2157/52 1760/2164/52 1761/2165/52 -f 1770/2166/52 1768/2167/52 1769/2168/52 -f 1767/2169/65 1770/2166/65 1765/2170/65 -f 1764/2171/67 1768/2167/67 1766/2172/67 -f 1766/2173/66 1771/2174/66 1767/2175/66 -f 1765/2176/64 1769/2168/64 1764/2177/64 -f 1780/2178/66 1775/2179/66 1774/2180/66 -f 1775/2179/84 1782/2181/84 1773/2182/84 -f 1777/2183/67 1784/2184/67 1787/2185/67 -f 1782/2181/64 1772/2186/64 1773/2182/64 -f 1777/2183/85 1786/2187/85 1776/2188/85 -f 1778/2189/86 1784/2190/86 1779/2191/86 -f 1781/2192/87 1774/2180/87 1772/2193/87 -f 1776/2188/65 1785/2194/65 1778/2189/65 -f 1789/2195/65 1795/2196/65 1794/2197/65 -f 1788/2198/67 1792/2199/67 1790/2200/67 -f 1791/2201/88 1792/2199/88 1795/2196/88 -f 1789/2195/89 1793/2202/89 1788/2203/89 -f 1797/2204/55 1798/2205/55 1796/2206/55 -f 1800/2207/54 1802/2208/54 1801/2209/54 -f 1799/2210/57 1800/2207/57 1798/2205/57 -f 1796/2206/56 1802/2211/56 1797/2204/56 -f 1797/2204/53 1803/2212/53 1799/2210/53 -f 1798/2205/52 1801/2213/52 1796/2206/52 -f 1810/2214/52 1808/2215/52 1809/2216/52 -f 1807/2217/55 1810/2214/55 1805/2218/55 -f 1804/2219/54 1808/2215/54 1806/2220/54 -f 1806/2221/57 1811/2222/57 1807/2223/57 -f 1805/2224/56 1809/2216/56 1804/2225/56 -f 1820/2226/57 1815/2227/57 1814/2228/57 -f 1815/2227/90 1822/2229/90 1813/2230/90 -f 1817/2231/54 1824/2232/54 1827/2233/54 -f 1822/2229/56 1812/2234/56 1813/2230/56 -f 1817/2231/73 1826/2235/73 1816/2236/73 -f 1818/2237/72 1824/2238/72 1819/2239/72 -f 1812/2240/91 1820/2226/91 1814/2228/91 -f 1816/2236/55 1825/2241/55 1818/2237/55 -f 1829/2242/55 1835/2243/55 1834/2244/55 -f 1828/2245/54 1832/2246/54 1830/2247/54 -f 1830/2247/70 1835/2243/70 1831/2248/70 -f 1829/2242/69 1833/2249/69 1828/2250/69 -f 1837/2251/67 1838/2252/67 1836/2253/67 -f 1840/2254/65 1842/2255/65 1841/2256/65 -f 1839/2257/64 1840/2254/64 1838/2252/64 -f 1836/2253/66 1842/2258/66 1837/2251/66 -f 1837/2251/53 1843/2259/53 1839/2257/53 -f 1836/2253/52 1840/2260/52 1841/2261/52 -f 1850/2262/52 1848/2263/52 1849/2264/52 -f 1847/2265/67 1850/2262/67 1845/2266/67 -f 1844/2267/65 1848/2263/65 1846/2268/65 -f 1846/2269/64 1851/2270/64 1847/2271/64 -f 1845/2272/66 1849/2264/66 1844/2273/66 -f 1860/2274/64 1855/2275/64 1854/2276/64 -f 1855/2275/92 1862/2277/92 1853/2278/92 -f 1857/2279/65 1864/2280/65 1867/2281/65 -f 1862/2277/66 1852/2282/66 1853/2278/66 -f 1857/2279/89 1866/2283/89 1856/2284/89 -f 1858/2285/88 1864/2286/88 1859/2287/88 -f 1852/2288/93 1860/2274/93 1854/2276/93 -f 1856/2284/67 1865/2289/67 1858/2285/67 -f 1869/2290/67 1875/2291/67 1874/2292/67 -f 1868/2293/65 1872/2294/65 1870/2295/65 -f 1871/2296/86 1872/2294/86 1875/2291/86 -f 1869/2290/85 1873/2297/85 1868/2298/85 -f 1877/2299/64 1878/2300/64 1876/2301/64 -f 1880/2302/66 1882/2303/66 1881/2304/66 -f 1879/2305/65 1880/2302/65 1878/2300/65 -f 1876/2301/67 1882/2306/67 1877/2299/67 -f 1877/2299/53 1883/2307/53 1879/2305/53 -f 1878/2300/52 1881/2308/52 1876/2301/52 -f 1885/2309/66 1888/2310/66 1891/2311/66 -f 1885/2309/83 1890/2312/83 1884/2313/83 -f 1886/2314/82 1888/2315/82 1887/2316/82 -f 1884/2313/64 1889/2317/64 1886/2314/64 -f 1893/2318/64 1899/2319/64 1898/2320/64 -f 1892/2321/66 1896/2322/66 1894/2323/66 -f 1894/2323/80 1899/2319/80 1895/2324/80 -f 1893/2318/79 1897/2325/79 1892/2326/79 -f 1214/1496/52 1213/2327/52 1211/1497/52 -f 1187/1499/52 1191/1524/52 1192/1500/52 -f 1197/1502/53 1200/1527/53 1202/1503/53 -f 1192/1500/54 1197/1502/54 1198/1504/54 -f 1193/1506/55 1195/1519/55 1196/1507/55 -f 1194/1509/56 1198/1518/56 1195/1510/56 -f 1191/1512/57 1196/1521/57 1197/1513/57 -f 1202/1515/56 1206/2328/56 1203/1516/56 -f 1198/1518/53 1202/1515/53 1201/1517/53 -f 1195/1519/53 1201/1529/53 1199/1520/53 -f 1196/1521/53 1199/1525/53 1200/1522/53 -f 1189/1523/52 1193/1532/52 1191/1524/52 -f 1199/1525/57 1204/2329/57 1205/1526/57 -f 1200/1527/54 1205/2330/54 1206/1528/54 -f 1201/1529/55 1203/2331/55 1204/1530/55 -f 1190/1531/52 1194/1505/52 1193/1532/52 -f 1188/1501/52 1192/1500/52 1194/1505/52 -f 1208/1533/58 1207/1534/58 1187/1499/58 -f 1207/1534/59 1209/1535/59 1189/1523/59 -f 1209/1535/60 1210/1536/60 1190/1531/60 -f 1210/1536/61 1208/1533/61 1188/1501/61 -f 1223/1537/56 1220/2332/56 1217/1538/56 -f 1216/1540/52 1224/1543/52 1221/1541/52 -f 1220/2333/54 1223/2334/54 1219/1544/54 -f 1223/2334/54 1224/1543/54 1219/1544/54 -f 1215/1542/57 1218/2335/57 1219/1545/57 -f 1222/1539/58 1221/1541/58 1224/1543/58 -f 1218/1548/55 1215/1542/55 1221/1541/55 -f 1221/1541/55 1222/1546/55 1218/1548/55 -f 1235/1551/56 1226/2336/56 1234/2337/56 -f 1234/2337/56 1238/2338/56 1235/1551/56 -f 1238/2338/56 1237/1549/56 1235/1551/56 -f 1233/1552/55 1237/1549/55 1238/1553/55 -f 1231/1555/57 1230/1558/57 1233/1552/57 -f 1231/1559/54 1227/2339/54 1225/1557/54 -f 1227/2339/54 1228/2340/54 1225/1557/54 -f 1225/1557/54 1229/2341/54 1230/1558/54 -f 1230/1558/52 1229/2341/52 1239/1560/52 -f 1239/1560/52 1236/1550/52 1237/1549/52 -f 1233/1552/52 1230/1558/52 1239/1560/52 -f 1274/1561/53 1275/2342/53 1273/1562/53 -f 1273/1564/57 1278/1567/57 1277/1565/57 -f 1278/1567/52 1279/1570/52 1276/1568/52 -f 1274/1569/56 1276/1568/56 1279/1570/56 -f 1280/1572/57 1281/2343/57 1283/1573/57 -f 1272/1575/55 1277/1565/55 1276/1568/55 -f 1275/1577/54 1279/1570/54 1278/1567/54 -f 1249/1579/57 1266/1586/57 1265/1580/57 -f 1243/1582/54 1259/1588/54 1258/1583/54 -f 1251/1585/54 1267/1590/54 1266/1586/54 -f 1242/1587/56 1256/1608/56 1259/1588/56 -f 1250/1589/56 1264/1612/56 1267/1590/56 -f 1244/1591/55 1261/1598/55 1260/1592/55 -f 1252/1594/55 1269/1600/55 1268/1595/55 -f 1245/1597/57 1262/1602/57 1261/1598/57 -f 1253/1599/57 1270/1604/57 1269/1600/57 -f 1247/1601/54 1263/2344/54 1262/1602/54 -f 1255/1603/54 1271/1610/54 1270/1604/54 -f 1246/1593/56 1260/1592/56 1263/1605/56 -f 1240/1607/55 1257/1614/55 1256/1608/55 -f 1254/1609/56 1268/2345/56 1271/1610/56 -f 1248/1611/55 1265/2346/55 1264/1612/55 -f 1241/1613/57 1258/2347/57 1257/1614/57 -f 1284/1615/56 1286/2348/56 1287/1616/56 -f 1291/1618/54 1289/2349/54 1288/1619/54 -f 1295/1621/55 1294/2350/55 1292/1622/55 -f 1330/1624/53 1331/2351/53 1329/1625/53 -f 1329/1627/57 1334/1630/57 1333/1628/57 -f 1334/1630/52 1335/1633/52 1332/1631/52 -f 1330/1632/56 1332/1631/56 1335/1633/56 -f 1336/1635/57 1337/2352/57 1339/1636/57 -f 1328/1638/55 1333/1628/55 1332/1631/55 -f 1331/1640/54 1335/1633/54 1334/1630/54 -f 1305/1642/57 1322/1649/57 1321/1643/57 -f 1299/1645/54 1315/1651/54 1314/1646/54 -f 1307/1648/54 1323/1653/54 1322/1649/54 -f 1298/1650/56 1312/1671/56 1315/1651/56 -f 1306/1652/56 1320/1675/56 1323/1653/56 -f 1300/1654/55 1317/1661/55 1316/1655/55 -f 1308/1657/55 1325/1663/55 1324/1658/55 -f 1301/1660/57 1318/1665/57 1317/1661/57 -f 1309/1662/57 1326/1667/57 1325/1663/57 -f 1303/1664/54 1319/2353/54 1318/1665/54 -f 1311/1666/54 1327/1673/54 1326/1667/54 -f 1302/1656/56 1316/1655/56 1319/1668/56 -f 1296/1670/55 1313/1677/55 1312/1671/55 -f 1310/1672/56 1324/2354/56 1327/1673/56 -f 1304/1674/55 1321/2355/55 1320/1675/55 -f 1297/1676/57 1314/2356/57 1313/1677/57 -f 1340/1678/56 1342/2357/56 1343/1679/56 -f 1347/1681/54 1345/2358/54 1344/1682/54 -f 1351/1684/55 1350/2359/55 1348/1685/55 -f 1386/1687/53 1387/2360/53 1385/1688/53 -f 1385/1690/57 1390/1693/57 1389/1691/57 -f 1390/1693/52 1391/1696/52 1388/1694/52 -f 1386/1695/56 1388/1694/56 1391/1696/56 -f 1392/1698/57 1393/2361/57 1395/1699/57 -f 1384/1701/55 1389/1691/55 1388/1694/55 -f 1387/1703/54 1391/1696/54 1390/1693/54 -f 1361/1705/57 1378/1712/57 1377/1706/57 -f 1355/1708/54 1371/1714/54 1370/1709/54 -f 1363/1711/54 1379/1716/54 1378/1712/54 -f 1354/1713/56 1368/1734/56 1371/1714/56 -f 1362/1715/56 1376/1738/56 1379/1716/56 -f 1356/1717/55 1373/1724/55 1372/1718/55 -f 1364/1720/55 1381/1726/55 1380/1721/55 -f 1357/1723/57 1374/1728/57 1373/1724/57 -f 1365/1725/57 1382/1730/57 1381/1726/57 -f 1359/1727/54 1375/2362/54 1374/1728/54 -f 1367/1729/54 1383/1736/54 1382/1730/54 -f 1358/1719/56 1372/1718/56 1375/1731/56 -f 1352/1733/55 1369/1740/55 1368/1734/55 -f 1366/1735/56 1380/2363/56 1383/1736/56 -f 1360/1737/55 1377/2364/55 1376/1738/55 -f 1353/1739/57 1370/2365/57 1369/1740/57 -f 1396/1741/56 1398/2366/56 1399/1742/56 -f 1403/1744/54 1401/2367/54 1400/1745/54 -f 1407/1747/55 1406/2368/55 1404/1748/55 -f 1442/1750/53 1443/2369/53 1441/1751/53 -f 1441/1753/57 1446/1756/57 1445/1754/57 -f 1446/1756/52 1447/1759/52 1444/1757/52 -f 1442/1758/56 1444/1757/56 1447/1759/56 -f 1448/1761/57 1449/2370/57 1451/1762/57 -f 1440/1764/55 1445/1754/55 1444/1757/55 -f 1443/1766/54 1447/1759/54 1446/1756/54 -f 1417/1768/57 1434/1775/57 1433/1769/57 -f 1411/1771/54 1427/1777/54 1426/1772/54 -f 1419/1774/54 1435/1779/54 1434/1775/54 -f 1410/1776/56 1424/1797/56 1427/1777/56 -f 1418/1778/56 1432/1801/56 1435/1779/56 -f 1412/1780/55 1429/1787/55 1428/1781/55 -f 1420/1783/55 1437/1789/55 1436/1784/55 -f 1413/1786/57 1430/1791/57 1429/1787/57 -f 1421/1788/57 1438/1793/57 1437/1789/57 -f 1415/1790/54 1431/2371/54 1430/1791/54 -f 1423/1792/54 1439/1799/54 1438/1793/54 -f 1414/1782/56 1428/1781/56 1431/1794/56 -f 1408/1796/55 1425/1803/55 1424/1797/55 -f 1422/1798/56 1436/2372/56 1439/1799/56 -f 1416/1800/55 1433/2373/55 1432/1801/55 -f 1409/1802/57 1426/2374/57 1425/1803/57 -f 1452/1804/56 1454/2375/56 1455/1805/56 -f 1459/1807/54 1457/2376/54 1456/1808/54 -f 1463/1810/55 1462/2377/55 1460/1811/55 -f 1493/1819/53 1473/2378/53 1472/1820/53 -f 1470/1822/64 1471/1847/64 1472/1823/64 -f 1484/1825/52 1471/1847/52 1470/1822/52 -f 1483/1826/65 1470/1822/65 1473/1827/65 -f 1475/1829/53 1477/2379/53 1488/1830/53 -f 1480/1832/52 1476/1836/52 1474/1833/52 -f 1475/1835/66 1474/1833/66 1476/1836/66 -f 1479/1834/67 1474/1833/67 1475/1838/67 -f 1487/1840/55 1484/2380/55 1485/1841/55 -f 1488/1843/54 1480/1859/54 1481/1844/54 -f 1487/1846/67 1472/2381/67 1471/1847/67 -f 1488/1848/65 1477/2382/65 1476/1836/65 -f 1492/1849/57 1482/1858/57 1483/1850/57 -f 1491/1852/56 1478/1860/56 1479/1853/56 -f 1487/1857/53 1486/2383/53 1491/2384/53 -f 1491/2384/53 1490/2385/53 1488/1855/53 -f 1488/1855/53 1489/2386/53 1492/1856/53 -f 1492/1856/53 1493/2387/53 1487/1857/53 -f 1487/1857/53 1491/2384/53 1488/1855/53 -f 1478/1860/52 1485/1841/52 1484/2380/52 -f 1484/2380/52 1483/1850/52 1482/1858/52 -f 1482/1858/52 1481/1844/52 1480/1859/52 -f 1480/1859/52 1479/1853/52 1478/1860/52 -f 1478/1860/52 1484/2380/52 1482/1858/52 -f 1489/1845/65 1481/1844/65 1482/1861/65 -f 1486/1842/67 1485/1841/67 1478/1863/67 -f 1549/1865/67 1550/1940/67 1557/1866/67 -f 1505/1868/56 1528/2388/56 1527/1869/56 -f 1546/1871/65 1554/1938/65 1553/1872/65 -f 1557/1876/52 1550/1940/52 1551/2389/52 -f 1551/2389/52 1552/1929/52 1553/1874/52 -f 1553/1874/52 1554/1938/52 1555/1875/52 -f 1555/1875/52 1556/1926/52 1557/1876/52 -f 1557/1876/52 1551/2389/52 1553/1874/52 -f 1548/1879/53 1549/2390/53 1544/2391/53 -f 1544/2391/53 1545/2392/53 1547/1877/53 -f 1547/1877/53 1546/2393/53 1543/1878/53 -f 1543/1878/53 1542/2394/53 1548/1879/53 -f 1548/1879/53 1544/2391/53 1547/1877/53 -f 1500/1880/56 1510/2395/56 1511/1881/56 -f 1506/1883/57 1530/1912/57 1533/1884/57 -f 1508/1885/55 1533/1884/55 1532/1886/55 -f 1509/1888/56 1532/2396/56 1531/1889/56 -f 1495/1891/57 1516/1899/57 1517/1892/57 -f 1494/1893/55 1517/1892/55 1514/1894/55 -f 1503/1870/54 1527/1869/54 1526/1896/54 -f 1497/1898/54 1515/1901/54 1516/1899/54 -f 1496/1900/56 1514/2397/56 1515/1901/56 -f 1498/1902/55 1513/1910/55 1510/1903/55 -f 1504/1905/55 1529/1911/55 1528/1906/55 -f 1501/1882/54 1511/1881/54 1512/1908/54 -f 1499/1909/57 1512/1908/57 1513/1910/57 -f 1502/1897/57 1526/1896/57 1529/1911/57 -f 1507/1890/54 1531/1889/54 1530/1912/54 -f 1539/1913/67 1534/2398/67 1518/1914/67 -f 1540/1916/65 1537/2399/65 1521/1917/65 -f 1520/1919/64 1536/2400/64 1538/1920/64 -f 1519/1922/66 1535/2401/66 1541/1923/66 -f 1544/1925/56 1557/1876/56 1556/1926/56 -f 1543/1928/57 1553/1874/57 1552/1929/57 -f 1547/1931/65 1574/2402/65 1575/1932/65 -f 1548/1934/67 1579/2403/67 1580/1935/67 -f 1547/1937/54 1555/1875/54 1554/1938/54 -f 1548/1939/55 1551/2389/55 1550/1940/55 -f 1559/1943/53 1558/2404/53 1565/2405/53 -f 1565/2405/53 1564/2406/53 1563/1941/53 -f 1563/1941/53 1562/2407/53 1561/1942/53 -f 1561/1942/53 1560/2408/53 1559/1943/53 -f 1559/1943/53 1565/2405/53 1563/1941/53 -f 1573/1946/52 1566/1965/52 1567/1962/52 -f 1567/1962/52 1568/1957/52 1569/1944/52 -f 1569/1944/52 1570/1964/52 1571/1945/52 -f 1571/1945/52 1572/1954/52 1573/1946/52 -f 1573/1946/52 1567/1962/52 1569/1944/52 -f 1562/1947/65 1570/1964/65 1569/1948/65 -f 1558/1950/67 1566/1965/67 1573/1951/67 -f 1565/1953/56 1573/1946/56 1572/1954/56 -f 1561/1956/57 1569/1944/57 1568/1957/57 -f 1564/1959/66 1572/2409/66 1571/1945/66 -f 1560/1961/64 1568/2410/64 1567/1962/64 -f 1563/1960/54 1571/1945/54 1570/1964/54 -f 1559/1963/55 1567/1962/55 1566/1965/55 -f 1556/1966/67 1577/1971/67 1576/1967/67 -f 1576/1969/66 1577/1971/66 1575/1932/66 -f 1555/1933/52 1575/1932/52 1577/1971/52 -f 1576/1972/53 1574/2411/53 1547/1973/53 -f 1552/1975/65 1581/1978/65 1578/1976/65 -f 1551/1936/52 1580/1935/52 1581/1978/52 -f 1581/1978/64 1580/1935/64 1579/1979/64 -f 1542/1981/53 1578/2412/53 1579/1982/53 -f 1583/1984/54 1585/1990/54 1584/1985/54 -f 1586/1987/55 1589/2413/55 1588/1988/55 -f 1585/1990/56 1589/2413/56 1586/1987/56 -f 1582/1986/57 1587/2414/57 1588/1991/57 -f 1583/1984/53 1588/2415/53 1589/1992/53 -f 1584/1985/52 1586/2416/52 1587/1993/52 -f 1596/1994/52 1597/2002/52 1594/1995/52 -f 1593/1997/54 1597/2002/54 1596/1994/54 -f 1590/1999/55 1595/1996/55 1594/1995/55 -f 1592/2001/56 1594/1995/56 1597/2002/56 -f 1591/2004/57 1596/1994/57 1595/1996/57 -f 1606/2006/56 1609/2417/56 1601/2007/56 -f 1601/2007/68 1609/2417/68 1608/2009/68 -f 1603/2011/55 1605/2418/55 1610/2012/55 -f 1608/2009/57 1607/2419/57 1598/2014/57 -f 1603/2011/69 1613/2013/69 1612/2015/69 -f 1604/2017/70 1611/2022/70 1610/2018/70 -f 1607/2020/71 1606/2006/71 1600/2008/71 -f 1602/2016/54 1612/2015/54 1611/2022/54 -f 1615/2023/54 1617/2029/54 1621/2024/54 -f 1614/2026/55 1619/2420/55 1618/2027/55 -f 1616/2028/72 1618/2027/72 1621/2024/72 -f 1615/2023/73 1620/2025/73 1619/2030/73 -f 1624/2032/74 1625/2421/74 1627/2033/74 -f 1622/2035/65 1624/2032/65 1626/2034/65 -f 1623/2037/75 1622/2035/75 1629/2036/75 -f 1625/2039/67 1623/2037/67 1628/2038/67 -f 1717/2041/66 1719/2113/66 1718/2042/66 -f 1636/2050/65 1644/2422/65 1649/2051/65 -f 1639/2053/67 1647/2423/67 1650/2054/67 -f 1648/2056/66 1646/2424/66 1638/2057/66 -f 1651/2059/64 1645/2425/64 1637/2060/64 -f 1655/2062/56 1653/2426/56 1652/2063/56 -f 1659/2065/57 1658/2427/57 1656/2066/57 -f 1660/2068/55 1661/2428/55 1663/2069/55 -f 1664/2071/54 1666/2429/54 1667/2072/54 -f 1671/2074/56 1669/2430/56 1668/2075/56 -f 1675/2077/57 1674/2431/57 1672/2078/57 -f 1676/2080/55 1677/2432/55 1679/2081/55 -f 1680/2083/54 1682/2433/54 1683/2084/54 -f 1687/2086/56 1685/2434/56 1684/2087/56 -f 1691/2089/57 1690/2435/57 1688/2090/57 -f 1692/2092/55 1693/2436/55 1695/2093/55 -f 1696/2095/54 1698/2437/54 1699/2096/54 -f 1703/2098/56 1701/2438/56 1700/2099/56 -f 1707/2101/57 1706/2439/57 1704/2102/57 -f 1708/2104/55 1709/2440/55 1711/2105/55 -f 1712/2107/54 1714/2441/54 1715/2108/54 -f 1720/2110/64 1723/2442/64 1722/2111/64 -f 1719/2113/67 1723/2442/67 1720/2110/67 -f 1716/2043/65 1721/2443/65 1722/2114/65 -f 1717/2041/53 1722/2444/53 1723/2115/53 -f 1718/2042/52 1720/2445/52 1721/2116/52 -f 1730/2117/52 1731/2125/52 1728/2118/52 -f 1727/2120/66 1731/2125/66 1730/2117/66 -f 1724/2122/64 1729/2119/64 1728/2118/64 -f 1726/2124/67 1728/2118/67 1731/2125/67 -f 1725/2127/65 1730/2117/65 1729/2119/65 -f 1740/2129/67 1743/2446/67 1735/2130/67 -f 1735/2130/78 1743/2446/78 1742/2132/78 -f 1737/2134/64 1739/2447/64 1744/2135/64 -f 1742/2132/65 1741/2448/65 1732/2137/65 -f 1737/2134/79 1747/2136/79 1746/2138/79 -f 1738/2140/80 1745/2145/80 1744/2141/80 -f 1741/2143/81 1740/2129/81 1734/2131/81 -f 1736/2139/66 1746/2138/66 1745/2145/66 -f 1749/2146/66 1751/2152/66 1755/2147/66 -f 1748/2149/64 1753/2449/64 1752/2150/64 -f 1750/2151/82 1752/2150/82 1755/2147/82 -f 1749/2146/83 1754/2148/83 1753/2153/83 -f 1757/2155/65 1759/2161/65 1758/2156/65 -f 1760/2158/67 1763/2450/67 1762/2159/67 -f 1759/2161/66 1763/2450/66 1760/2158/66 -f 1756/2157/64 1761/2451/64 1762/2162/64 -f 1757/2155/53 1762/2452/53 1763/2163/53 -f 1756/2157/52 1758/2156/52 1760/2164/52 -f 1770/2166/52 1771/2174/52 1768/2167/52 -f 1767/2169/65 1771/2174/65 1770/2166/65 -f 1764/2171/67 1769/2168/67 1768/2167/67 -f 1766/2173/66 1768/2167/66 1771/2174/66 -f 1765/2176/64 1770/2166/64 1769/2168/64 -f 1780/2178/66 1783/2453/66 1775/2179/66 -f 1775/2179/84 1783/2453/84 1782/2181/84 -f 1777/2183/67 1779/2454/67 1784/2184/67 -f 1782/2181/64 1781/2455/64 1772/2186/64 -f 1777/2183/85 1787/2185/85 1786/2187/85 -f 1778/2189/86 1785/2194/86 1784/2190/86 -f 1781/2192/87 1780/2178/87 1774/2180/87 -f 1776/2188/65 1786/2187/65 1785/2194/65 -f 1789/2195/65 1791/2201/65 1795/2196/65 -f 1788/2198/67 1793/2456/67 1792/2199/67 -f 1791/2201/88 1790/2200/88 1792/2199/88 -f 1789/2195/89 1794/2197/89 1793/2202/89 -f 1797/2204/55 1799/2210/55 1798/2205/55 -f 1800/2207/54 1803/2457/54 1802/2208/54 -f 1799/2210/57 1803/2457/57 1800/2207/57 -f 1796/2206/56 1801/2458/56 1802/2211/56 -f 1797/2204/53 1802/2459/53 1803/2212/53 -f 1798/2205/52 1800/2460/52 1801/2213/52 -f 1810/2214/52 1811/2222/52 1808/2215/52 -f 1807/2217/55 1811/2222/55 1810/2214/55 -f 1804/2219/54 1809/2216/54 1808/2215/54 -f 1806/2221/57 1808/2215/57 1811/2222/57 -f 1805/2224/56 1810/2214/56 1809/2216/56 -f 1820/2226/57 1823/2461/57 1815/2227/57 -f 1815/2227/90 1823/2461/90 1822/2229/90 -f 1817/2231/54 1819/2462/54 1824/2232/54 -f 1822/2229/56 1821/2463/56 1812/2234/56 -f 1817/2231/73 1827/2233/73 1826/2235/73 -f 1818/2237/72 1825/2241/72 1824/2238/72 -f 1812/2240/91 1821/2464/91 1820/2226/91 -f 1816/2236/55 1826/2235/55 1825/2241/55 -f 1829/2242/55 1831/2248/55 1835/2243/55 -f 1828/2245/54 1833/2465/54 1832/2246/54 -f 1830/2247/70 1832/2246/70 1835/2243/70 -f 1829/2242/69 1834/2244/69 1833/2249/69 -f 1837/2251/67 1839/2257/67 1838/2252/67 -f 1840/2254/65 1843/2466/65 1842/2255/65 -f 1839/2257/64 1843/2466/64 1840/2254/64 -f 1836/2253/66 1841/2467/66 1842/2258/66 -f 1837/2251/53 1842/2468/53 1843/2259/53 -f 1836/2253/52 1838/2252/52 1840/2260/52 -f 1850/2262/52 1851/2270/52 1848/2263/52 -f 1847/2265/67 1851/2270/67 1850/2262/67 -f 1844/2267/65 1849/2264/65 1848/2263/65 -f 1846/2269/64 1848/2263/64 1851/2270/64 -f 1845/2272/66 1850/2262/66 1849/2264/66 -f 1860/2274/64 1863/2469/64 1855/2275/64 -f 1855/2275/92 1863/2469/92 1862/2277/92 -f 1857/2279/65 1859/2470/65 1864/2280/65 -f 1862/2277/66 1861/2471/66 1852/2282/66 -f 1857/2279/89 1867/2281/89 1866/2283/89 -f 1858/2285/88 1865/2289/88 1864/2286/88 -f 1852/2288/93 1861/2472/93 1860/2274/93 -f 1856/2284/67 1866/2283/67 1865/2289/67 -f 1869/2290/67 1871/2296/67 1875/2291/67 -f 1868/2293/65 1873/2473/65 1872/2294/65 -f 1871/2296/86 1870/2295/86 1872/2294/86 -f 1869/2290/85 1874/2292/85 1873/2297/85 -f 1877/2299/64 1879/2305/64 1878/2300/64 -f 1880/2302/66 1883/2474/66 1882/2303/66 -f 1879/2305/65 1883/2474/65 1880/2302/65 -f 1876/2301/67 1881/2475/67 1882/2306/67 -f 1877/2299/53 1882/2476/53 1883/2307/53 -f 1878/2300/52 1880/2477/52 1881/2308/52 -f 1885/2309/66 1887/2478/66 1888/2310/66 -f 1885/2309/83 1891/2311/83 1890/2312/83 -f 1886/2314/82 1889/2317/82 1888/2315/82 -f 1884/2313/64 1890/2312/64 1889/2317/64 -f 1893/2318/64 1895/2324/64 1899/2319/64 -f 1892/2321/66 1897/2479/66 1896/2322/66 -f 1894/2323/80 1896/2322/80 1899/2319/80 -f 1893/2318/79 1898/2320/79 1897/2325/79 -o Huge_Rope -v 0.375000 5.500000 2.500000 -v 0.198223 5.573223 2.500000 -v 0.125000 5.750000 2.500000 -v 0.198223 5.926777 2.500000 -v 0.375000 6.000000 2.500000 -v 0.551777 5.926777 2.500000 -v 0.625000 5.750000 2.500000 -v 0.551777 5.573223 2.500000 -v 0.375000 5.500000 1.000000 -v 0.198223 5.573223 1.000000 -v 0.125000 5.750000 1.000000 -v 0.198223 5.926777 1.000000 -v 0.375000 6.000000 1.000000 -v 0.551777 5.926777 1.000000 -v 0.625000 5.750000 1.000000 -v 0.551777 5.573223 1.000000 -v -0.375000 5.500000 2.500000 -v -0.551777 5.573223 2.500000 -v -0.625000 5.750000 2.500000 -v -0.551777 5.926777 2.500000 -v -0.375000 6.000000 2.500000 -v -0.198223 5.926777 2.500000 -v -0.125000 5.750000 2.500000 -v -0.198223 5.573223 2.500000 -v -0.375000 5.500000 1.000000 -v -0.551777 5.573223 1.000000 -v -0.625000 5.750000 1.000000 -v -0.551777 5.926777 1.000000 -v -0.375000 6.000000 1.000000 -v -0.198223 5.926777 1.000000 -v -0.125000 5.750000 1.000000 -v -0.198223 5.573223 1.000000 -v 0.375000 10.000000 2.250000 -v 0.198223 10.073223 2.250000 -v 0.125000 10.250000 2.250000 -v 0.198223 10.426777 2.250000 -v 0.375000 10.500000 2.250000 -v 0.551777 10.426777 2.250000 -v 0.625000 10.250000 2.250000 -v 0.551777 10.073223 2.250000 -v 0.375000 10.000000 0.750000 -v 0.198223 10.073223 0.750000 -v 0.125000 10.250000 0.750000 -v 0.198223 10.426777 0.750000 -v 0.375000 10.500000 0.750000 -v 0.551777 10.426777 0.750000 -v 0.625000 10.250000 0.750000 -v 0.551777 10.073223 0.750000 -v -0.375000 10.000000 2.250000 -v -0.551777 10.073223 2.250000 -v -0.625000 10.250000 2.250000 -v -0.551777 10.426777 2.250000 -v -0.375000 10.500000 2.250000 -v -0.198223 10.426777 2.250000 -v -0.125000 10.250000 2.250000 -v -0.198223 10.073223 2.250000 -v -0.375000 10.000000 0.750000 -v -0.551777 10.073223 0.750000 -v -0.625000 10.250000 0.750000 -v -0.551777 10.426777 0.750000 -v -0.375000 10.500000 0.750000 -v -0.198223 10.426777 0.750000 -v -0.125000 10.250000 0.750000 -v -0.198223 10.073223 0.750000 -vt 0.538961 0.500000 -vt 0.529221 0.625000 -vt 0.529221 0.500000 -vt 0.519481 0.625000 -vt 0.519481 0.500000 -vt 0.587662 0.500000 -vt 0.577922 0.625000 -vt 0.577922 0.500000 -vt 0.597403 0.625000 -vt 0.587662 0.625000 -vt 0.568182 0.500000 -vt 0.558442 0.625000 -vt 0.558442 0.500000 -vt 0.548701 0.500000 -vt 0.538961 0.625000 -vt 0.568182 0.625000 -vt 0.548701 0.625000 -vt 0.616883 0.500000 -vt 0.607143 0.625000 -vt 0.607143 0.500000 -vt 0.597403 0.625000 -vt 0.597403 0.500000 -vt 0.665585 0.500000 -vt 0.655844 0.625000 -vt 0.655844 0.500000 -vt 0.675325 0.625000 -vt 0.665585 0.625000 -vt 0.646104 0.500000 -vt 0.636364 0.625000 -vt 0.636364 0.500000 -vt 0.626623 0.500000 -vt 0.616883 0.625000 -vt 0.646104 0.625000 -vt 0.626623 0.625000 -vt 0.538961 0.500000 -vt 0.529221 0.625000 -vt 0.529221 0.500000 -vt 0.519481 0.625000 -vt 0.519481 0.500000 -vt 0.587662 0.500000 -vt 0.577922 0.625000 -vt 0.577922 0.500000 -vt 0.597403 0.625000 -vt 0.587662 0.625000 -vt 0.568182 0.500000 -vt 0.558442 0.625000 -vt 0.558442 0.500000 -vt 0.548701 0.500000 -vt 0.538961 0.625000 -vt 0.568182 0.625000 -vt 0.548701 0.625000 -vt 0.616883 0.500000 -vt 0.607143 0.625000 -vt 0.607143 0.500000 -vt 0.597403 0.625000 -vt 0.597403 0.500000 -vt 0.665585 0.500000 -vt 0.655844 0.625000 -vt 0.655844 0.500000 -vt 0.675325 0.625000 -vt 0.665585 0.625000 -vt 0.646104 0.500000 -vt 0.636364 0.625000 -vt 0.636364 0.500000 -vt 0.626623 0.500000 -vt 0.616883 0.625000 -vt 0.646104 0.625000 -vt 0.626623 0.625000 -vt 0.597403 0.500000 -vt 0.675325 0.500000 -vt 0.597403 0.500000 -vt 0.675325 0.500000 -vn -1.0000 -0.0000 0.0000 -vn -0.7071 -0.7071 0.0000 -vn -0.0000 -1.0000 0.0000 -vn 0.7071 -0.7071 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.7071 0.7071 0.0000 -vn -0.0000 1.0000 0.0000 -vn -0.7071 0.7071 0.0000 -s 1 -f 1902/2480/94 1909/2481/95 1901/2482/95 -f 1901/2482/95 1908/2483/96 1900/2484/96 -f 1907/2485/97 1914/2486/98 1906/2487/98 -f 1907/2485/97 1908/2488/96 1915/2489/97 -f 1905/2490/99 1912/2491/100 1904/2492/100 -f 1903/2493/101 1910/2494/94 1902/2480/94 -f 1906/2487/98 1913/2495/99 1905/2490/99 -f 1904/2492/100 1911/2496/101 1903/2493/101 -f 1918/2497/94 1925/2498/95 1917/2499/95 -f 1917/2499/95 1924/2500/96 1916/2501/96 -f 1923/2502/97 1930/2503/98 1922/2504/98 -f 1923/2502/97 1924/2505/96 1931/2506/97 -f 1921/2507/99 1928/2508/100 1920/2509/100 -f 1919/2510/101 1926/2511/94 1918/2497/94 -f 1922/2504/98 1929/2512/99 1921/2507/99 -f 1920/2509/100 1927/2513/101 1919/2510/101 -f 1934/2514/94 1941/2515/95 1933/2516/95 -f 1933/2516/95 1940/2517/96 1932/2518/96 -f 1939/2519/97 1946/2520/98 1938/2521/98 -f 1939/2519/97 1940/2522/96 1947/2523/97 -f 1937/2524/99 1944/2525/100 1936/2526/100 -f 1935/2527/101 1942/2528/94 1934/2514/94 -f 1938/2521/98 1945/2529/99 1937/2524/99 -f 1936/2526/100 1943/2530/101 1935/2527/101 -f 1950/2531/94 1957/2532/95 1949/2533/95 -f 1949/2533/95 1956/2534/96 1948/2535/96 -f 1955/2536/97 1962/2537/98 1954/2538/98 -f 1955/2536/97 1956/2539/96 1963/2540/97 -f 1953/2541/99 1960/2542/100 1952/2543/100 -f 1951/2544/101 1958/2545/94 1950/2531/94 -f 1954/2538/98 1961/2546/99 1953/2541/99 -f 1952/2543/100 1959/2547/101 1951/2544/101 -f 1902/2480/94 1910/2494/94 1909/2481/95 -f 1901/2482/95 1909/2481/95 1908/2483/96 -f 1907/2485/97 1915/2489/97 1914/2486/98 -f 1907/2485/97 1900/2548/96 1908/2488/96 -f 1905/2490/99 1913/2495/99 1912/2491/100 -f 1903/2493/101 1911/2496/101 1910/2494/94 -f 1906/2487/98 1914/2486/98 1913/2495/99 -f 1904/2492/100 1912/2491/100 1911/2496/101 -f 1918/2497/94 1926/2511/94 1925/2498/95 -f 1917/2499/95 1925/2498/95 1924/2500/96 -f 1923/2502/97 1931/2506/97 1930/2503/98 -f 1923/2502/97 1916/2549/96 1924/2505/96 -f 1921/2507/99 1929/2512/99 1928/2508/100 -f 1919/2510/101 1927/2513/101 1926/2511/94 -f 1922/2504/98 1930/2503/98 1929/2512/99 -f 1920/2509/100 1928/2508/100 1927/2513/101 -f 1934/2514/94 1942/2528/94 1941/2515/95 -f 1933/2516/95 1941/2515/95 1940/2517/96 -f 1939/2519/97 1947/2523/97 1946/2520/98 -f 1939/2519/97 1932/2550/96 1940/2522/96 -f 1937/2524/99 1945/2529/99 1944/2525/100 -f 1935/2527/101 1943/2530/101 1942/2528/94 -f 1938/2521/98 1946/2520/98 1945/2529/99 -f 1936/2526/100 1944/2525/100 1943/2530/101 -f 1950/2531/94 1958/2545/94 1957/2532/95 -f 1949/2533/95 1957/2532/95 1956/2534/96 -f 1955/2536/97 1963/2540/97 1962/2537/98 -f 1955/2536/97 1948/2551/96 1956/2539/96 -f 1953/2541/99 1961/2546/99 1960/2542/100 -f 1951/2544/101 1959/2547/101 1958/2545/94 -f 1954/2538/98 1962/2537/98 1961/2546/99 -f 1952/2543/100 1960/2542/100 1959/2547/101 -o Huge_Pivot -v 0.562500 1.500000 -2.812500 -v 0.937500 1.500000 -2.812500 -v 0.562500 1.500000 -3.187500 -v 0.937500 1.500000 -3.187500 -v -0.937500 1.500000 -2.812500 -v -0.562500 1.500000 -2.812500 -v -0.937500 1.500000 -3.187500 -v -0.562500 1.500000 -3.187500 -v 0.562500 2.000000 -1.812500 -v 0.937500 2.000000 -1.812500 -v 0.562500 2.000000 -2.187500 -v 0.937500 2.000000 -2.187500 -v -0.937500 2.000000 -1.812500 -v -0.562500 2.000000 -1.812500 -v -0.937500 2.000000 -2.187500 -v -0.562500 2.000000 -2.187500 -v 0.562500 3.500000 -3.187500 -v 0.562500 3.500000 -2.812500 -v 0.937500 3.500000 -2.812500 -v 0.937500 3.500000 -3.187500 -v -0.937500 3.500000 -3.187500 -v -0.937500 3.500000 -2.812500 -v -0.562500 3.500000 -2.812500 -v -0.562500 3.500000 -3.187500 -v 0.562500 3.500000 -2.187500 -v 0.562500 3.500000 -1.812500 -v 0.937500 3.500000 -1.812500 -v 0.937500 3.500000 -2.187500 -v -0.937500 3.500000 -2.187500 -v -0.937500 3.500000 -1.812500 -v -0.562500 3.500000 -1.812500 -v -0.562500 3.500000 -2.187500 -v 0.625000 3.500000 -2.875000 -v 0.875000 3.500000 -2.875000 -v 0.625000 3.500000 -3.125000 -v 0.875000 3.500000 -3.125000 -v 0.625000 4.500000 -3.125000 -v 0.625000 4.500000 -2.875000 -v 0.875000 4.500000 -2.875000 -v 0.875000 4.500000 -3.125000 -v 0.625000 3.500000 -1.875000 -v 0.875000 3.500000 -1.875000 -v 0.625000 3.500000 -2.125000 -v 0.875000 3.500000 -2.125000 -v 0.625000 4.500000 -2.125000 -v 0.625000 4.500000 -1.875000 -v 0.875000 4.500000 -1.875000 -v 0.875000 4.500000 -2.125000 -v -0.875000 3.500000 -2.875000 -v -0.625000 3.500000 -2.875000 -v -0.875000 3.500000 -3.125000 -v -0.625000 3.500000 -3.125000 -v -0.875000 4.500000 -3.125000 -v -0.875000 4.500000 -2.875000 -v -0.625000 4.500000 -2.875000 -v -0.625000 4.500000 -3.125000 -v -0.875000 3.500000 -1.875000 -v -0.625000 3.500000 -1.875000 -v -0.875000 3.500000 -2.125000 -v -0.625000 3.500000 -2.125000 -v -0.875000 4.500000 -2.125000 -v -0.875000 4.500000 -1.875000 -v -0.625000 4.500000 -1.875000 -v -0.625000 4.500000 -2.125000 -v 0.750000 2.000000 -2.187500 -v 0.750000 3.500000 -2.187500 -v 0.750000 2.000000 -2.812500 -v 0.750000 3.500000 -2.812500 -v -0.750000 2.000000 -2.187500 -v -0.750000 3.500000 -2.187500 -v -0.750000 2.000000 -2.812500 -v -0.750000 3.500000 -2.812500 -v 0.562500 2.000000 -2.000000 -v -0.562500 2.000000 -2.000000 -v 0.562500 3.500000 -2.000000 -v -0.562500 3.500000 -2.000000 -v 0.562500 2.000000 -3.000000 -v -0.562500 2.000000 -3.000000 -v 0.562500 3.500000 -3.000000 -v -0.562500 3.500000 -3.000000 -v 0.750000 2.000000 -2.187500 -v 0.750000 3.500000 -2.187500 -v 0.750000 2.000000 -2.812500 -v 0.750000 3.500000 -2.812500 -v -0.750000 2.000000 -2.187500 -v -0.750000 3.500000 -2.187500 -v -0.750000 2.000000 -2.812500 -v -0.750000 3.500000 -2.812500 -v 0.562500 2.000000 -2.000000 -v -0.562500 2.000000 -2.000000 -v 0.562500 3.500000 -2.000000 -v -0.562500 3.500000 -2.000000 -v 0.562500 2.000000 -3.000000 -v -0.562500 2.000000 -3.000000 -v 0.562500 3.500000 -3.000000 -v -0.562500 3.500000 -3.000000 -vt 0.168831 0.541667 -vt 0.155844 0.625000 -vt 0.155844 0.541667 -vt 0.142857 0.541667 -vt 0.129870 0.625000 -vt 0.129870 0.541667 -vt 0.051948 0.708333 -vt 0.071429 0.739583 -vt 0.051948 0.739583 -vt 0.051948 0.708333 -vt 0.071429 0.739583 -vt 0.051948 0.739583 -vt 0.051948 0.739583 -vt 0.071429 0.708333 -vt 0.071429 0.739583 -vt 0.051948 0.739583 -vt 0.071429 0.708333 -vt 0.071429 0.739583 -vt 0.071429 0.541667 -vt 0.051948 0.708333 -vt 0.051948 0.541667 -vt 0.110390 0.541667 -vt 0.090909 0.708333 -vt 0.090909 0.541667 -vt 0.071429 0.541667 -vt 0.051948 0.708333 -vt 0.051948 0.541667 -vt 0.110390 0.541667 -vt 0.090909 0.708333 -vt 0.090909 0.541667 -vt 0.129870 0.541667 -vt 0.110390 0.708333 -vt 0.129870 0.541667 -vt 0.110390 0.708333 -vt 0.051948 0.739583 -vt 0.071429 0.708333 -vt 0.071429 0.739583 -vt 0.051948 0.739583 -vt 0.071429 0.708333 -vt 0.071429 0.739583 -vt 0.110390 0.583333 -vt 0.090909 0.708333 -vt 0.090909 0.583333 -vt 0.129870 0.583333 -vt 0.110390 0.708333 -vt 0.110390 0.583333 -vt 0.090909 0.583333 -vt 0.071429 0.583333 -vt 0.129870 0.583333 -vt 0.110390 0.708333 -vt 0.071429 0.583333 -vt 0.051948 0.708333 -vt 0.051948 0.583333 -vt 0.090909 0.708333 -vt 0.051948 0.708333 -vt 0.051948 0.583333 -vt 0.142857 0.541667 -vt 0.129870 0.625000 -vt 0.129870 0.541667 -vt 0.168831 0.541667 -vt 0.155844 0.625000 -vt 0.155844 0.541667 -vt 0.181818 0.541667 -vt 0.168831 0.625000 -vt 0.142857 0.625000 -vt 0.181818 0.541667 -vt 0.168831 0.625000 -vt 0.142857 0.625000 -vt 0.168831 0.541667 -vt 0.155844 0.625000 -vt 0.155844 0.541667 -vt 0.142857 0.541667 -vt 0.129870 0.625000 -vt 0.129870 0.541667 -vt 0.142857 0.541667 -vt 0.129870 0.625000 -vt 0.129870 0.541667 -vt 0.168831 0.541667 -vt 0.155844 0.625000 -vt 0.155844 0.541667 -vt 0.181818 0.541667 -vt 0.168831 0.625000 -vt 0.142857 0.625000 -vt 0.181818 0.541667 -vt 0.168831 0.625000 -vt 0.142857 0.625000 -vt 0.240260 0.541667 -vt 0.272727 0.666667 -vt 0.240260 0.666667 -vt 0.240260 0.666667 -vt 0.272727 0.541667 -vt 0.272727 0.666667 -vt 0.181818 0.541667 -vt 0.240260 0.666667 -vt 0.181818 0.666667 -vt 0.181818 0.666667 -vt 0.240260 0.541667 -vt 0.240260 0.666667 -vt 0.272727 0.666667 -vt 0.240260 0.541667 -vt 0.240260 0.666667 -vt 0.272727 0.541667 -vt 0.240260 0.666667 -vt 0.272727 0.666667 -vt 0.240260 0.666667 -vt 0.181818 0.541667 -vt 0.181818 0.666667 -vt 0.240260 0.541667 -vt 0.181818 0.666667 -vt 0.240260 0.666667 -vt 0.071429 0.708333 -vt 0.071429 0.708333 -vt 0.129870 0.708333 -vt 0.129870 0.708333 -vt 0.129870 0.708333 -vt 0.129870 0.708333 -vt 0.181818 0.625000 -vt 0.181818 0.625000 -vt 0.181818 0.625000 -vt 0.181818 0.625000 -vt 0.272727 0.541667 -vt 0.240260 0.541667 -vt 0.240260 0.541667 -vt 0.181818 0.541667 -vt 0.272727 0.541667 -vt 0.240260 0.541667 -vt 0.240260 0.541667 -vt 0.181818 0.541667 -vn 0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -s off -f 2005/2552/102 2009/2553/102 2004/2554/102 -f 2006/2555/103 2011/2556/103 2007/2557/103 -f 1974/2558/104 1973/2559/104 1972/2560/104 -f 1978/2561/104 1977/2562/104 1976/2563/104 -f 1982/2564/105 1980/2565/105 1981/2566/105 -f 1986/2567/105 1984/2568/105 1985/2569/105 -f 1970/2570/103 1987/2571/103 1971/2572/103 -f 1969/2573/102 1985/2574/102 1968/2575/102 -f 1966/2576/103 1983/2577/103 1967/2578/103 -f 1965/2579/102 1981/2580/102 1964/2581/102 -f 1971/2582/106 1986/2583/106 1969/2573/106 -f 1968/2575/107 1984/2568/107 1970/2570/107 -f 1967/2584/106 1982/2585/106 1965/2579/106 -f 1964/2581/107 1980/2565/107 1966/2576/107 -f 1990/2586/105 1988/2587/105 1989/2588/105 -f 1994/2589/105 1992/2590/105 1993/2591/105 -f 1973/2592/102 1989/2593/102 1972/2594/102 -f 1979/2595/106 1994/2596/106 1977/2597/106 -f 1976/2598/107 1992/2590/107 1978/2599/107 -f 1975/2600/106 1990/2601/106 1973/2592/106 -f 1972/2594/107 1988/2587/107 1974/2602/107 -f 1978/2599/103 1995/2603/103 1979/2604/103 -f 1977/2597/102 1993/2605/102 1976/2598/102 -f 1974/2602/103 1991/2606/103 1975/2607/103 -f 1998/2608/103 2003/2609/103 1999/2610/103 -f 1997/2611/102 2001/2612/102 1996/2613/102 -f 1999/2614/106 2002/2615/106 1997/2611/106 -f 1996/2613/107 2000/2616/107 1998/2608/107 -f 2007/2617/106 2010/2618/106 2005/2552/106 -f 2004/2554/107 2008/2619/107 2006/2555/107 -f 2021/2620/102 2025/2621/102 2020/2622/102 -f 2022/2623/103 2027/2624/103 2023/2625/103 -f 2014/2626/103 2019/2627/103 2015/2628/103 -f 2013/2629/102 2017/2630/102 2012/2631/102 -f 2015/2632/106 2018/2633/106 2013/2629/106 -f 2012/2631/107 2016/2634/107 2014/2626/107 -f 2023/2635/106 2026/2636/106 2021/2620/106 -f 2020/2622/107 2024/2637/107 2022/2623/107 -f 2028/2638/106 2031/2639/106 2029/2640/106 -f 2035/2641/107 2032/2642/107 2033/2643/107 -f 2037/2644/102 2038/2645/102 2039/2646/102 -f 2042/2647/103 2041/2648/103 2043/2649/103 -f 2047/2650/107 2044/2651/107 2045/2652/107 -f 2048/2653/106 2051/2654/106 2049/2655/106 -f 2054/2656/103 2053/2657/103 2055/2658/103 -f 2057/2659/102 2058/2660/102 2059/2661/102 -f 2005/2552/102 2010/2618/102 2009/2553/102 -f 2006/2555/103 2008/2619/103 2011/2556/103 -f 1974/2558/104 1975/2662/104 1973/2559/104 -f 1978/2561/104 1979/2663/104 1977/2562/104 -f 1982/2564/105 1983/2577/105 1980/2565/105 -f 1986/2567/105 1987/2571/105 1984/2568/105 -f 1970/2570/103 1984/2568/103 1987/2571/103 -f 1969/2573/102 1986/2583/102 1985/2574/102 -f 1966/2576/103 1980/2565/103 1983/2577/103 -f 1965/2579/102 1982/2585/102 1981/2580/102 -f 1971/2582/106 1987/2664/106 1986/2583/106 -f 1968/2575/107 1985/2574/107 1984/2568/107 -f 1967/2584/106 1983/2665/106 1982/2585/106 -f 1964/2581/107 1981/2580/107 1980/2565/107 -f 1990/2586/105 1991/2606/105 1988/2587/105 -f 1994/2589/105 1995/2603/105 1992/2590/105 -f 1973/2592/102 1990/2601/102 1989/2593/102 -f 1979/2595/106 1995/2666/106 1994/2596/106 -f 1976/2598/107 1993/2605/107 1992/2590/107 -f 1975/2600/106 1991/2667/106 1990/2601/106 -f 1972/2594/107 1989/2593/107 1988/2587/107 -f 1978/2599/103 1992/2590/103 1995/2603/103 -f 1977/2597/102 1994/2596/102 1993/2605/102 -f 1974/2602/103 1988/2587/103 1991/2606/103 -f 1998/2608/103 2000/2616/103 2003/2609/103 -f 1997/2611/102 2002/2615/102 2001/2612/102 -f 1999/2614/106 2003/2668/106 2002/2615/106 -f 1996/2613/107 2001/2612/107 2000/2616/107 -f 2007/2617/106 2011/2669/106 2010/2618/106 -f 2004/2554/107 2009/2553/107 2008/2619/107 -f 2021/2620/102 2026/2636/102 2025/2621/102 -f 2022/2623/103 2024/2637/103 2027/2624/103 -f 2014/2626/103 2016/2634/103 2019/2627/103 -f 2013/2629/102 2018/2633/102 2017/2630/102 -f 2015/2632/106 2019/2670/106 2018/2633/106 -f 2012/2631/107 2017/2630/107 2016/2634/107 -f 2023/2635/106 2027/2671/106 2026/2636/106 -f 2020/2622/107 2025/2621/107 2024/2637/107 -f 2028/2638/106 2030/2672/106 2031/2639/106 -f 2035/2641/107 2034/2673/107 2032/2642/107 -f 2037/2644/102 2036/2674/102 2038/2645/102 -f 2042/2647/103 2040/2675/103 2041/2648/103 -f 2047/2650/107 2046/2676/107 2044/2651/107 -f 2048/2653/106 2050/2677/106 2051/2654/106 -f 2054/2656/103 2052/2678/103 2053/2657/103 -f 2057/2659/102 2056/2679/102 2058/2660/102 -o Huge_Erector -v 0.562500 3.500000 -3.187500 -v 0.562500 3.500000 -2.812500 -v 0.937500 3.500000 -2.812500 -v 0.937500 3.500000 -3.187500 -v 0.562500 14.500000 -3.187500 -v 0.562500 14.500000 -2.812500 -v 0.937500 14.500000 -2.812500 -v 0.937500 14.500000 -3.187500 -v 0.937500 5.750000 -1.812500 -v -0.937500 5.750000 -1.812500 -v 0.937500 6.125000 -1.812500 -v -0.937500 6.125000 -1.812500 -v 0.937500 5.750000 -0.812500 -v -0.937500 5.750000 -0.812500 -v 0.937500 6.125000 -0.812500 -v -0.937500 6.125000 -0.812500 -v 0.562500 5.750000 -1.187500 -v -0.562500 5.750000 -1.187500 -v 0.562500 6.125000 -1.187500 -v -0.562500 6.125000 -1.187500 -v 0.937500 8.750000 -1.812500 -v -0.937500 8.750000 -1.812500 -v 0.937500 9.125000 -1.812500 -v -0.937500 9.125000 -1.812500 -v 0.937500 8.750000 -0.562500 -v -0.937500 8.750000 -0.562500 -v 0.937500 9.125000 -0.562500 -v -0.937500 9.125000 -0.562500 -v 0.562500 8.750000 -0.937500 -v -0.562500 8.750000 -0.937500 -v 0.562500 9.125000 -0.937500 -v -0.562500 9.125000 -0.937500 -v 0.937500 10.750000 -1.812500 -v -0.937500 10.750000 -1.812500 -v 0.937500 11.125000 -1.812500 -v -0.937500 11.125000 -1.812500 -v 0.937500 10.750000 -0.562500 -v -0.937500 10.750000 -0.562500 -v 0.937500 11.125000 -0.562500 -v -0.937500 11.125000 -0.562500 -v 0.562500 10.750000 -0.937500 -v -0.562500 10.750000 -0.937500 -v 0.562500 11.125000 -0.937500 -v -0.562500 11.125000 -0.937500 -v -0.562500 10.812500 -1.812500 -v 0.562500 10.812500 -1.812500 -v -0.562500 11.062500 -1.812500 -v 0.562500 11.062500 -1.812500 -v -0.562500 11.062500 -2.062500 -v -0.562500 10.812500 -2.062500 -v 0.562500 10.812500 -2.062500 -v 0.562500 11.062500 -2.062500 -v -0.562500 8.812500 -1.812500 -v 0.562500 8.812500 -1.812500 -v -0.562500 9.062500 -1.812500 -v 0.562500 9.062500 -1.812500 -v -0.562500 9.062500 -2.062500 -v -0.562500 8.812500 -2.062500 -v 0.562500 8.812500 -2.062500 -v 0.562500 9.062500 -2.062500 -v -0.562500 5.812500 -1.812500 -v 0.562500 5.812500 -1.812500 -v -0.562500 6.062500 -1.812500 -v 0.562500 6.062500 -1.812500 -v -0.562500 6.062500 -2.062500 -v -0.562500 5.812500 -2.062500 -v 0.562500 5.812500 -2.062500 -v 0.562500 6.062500 -2.062500 -v 0.750000 3.500000 -2.187500 -v 0.750000 3.500000 -2.812500 -v -0.750000 3.500000 -2.187500 -v -0.750000 3.500000 -2.812500 -v 0.562500 3.500000 -2.000000 -v -0.562500 3.500000 -2.000000 -v 0.562500 3.500000 -3.000000 -v -0.562500 3.500000 -3.000000 -v 0.750000 14.500000 -2.187500 -v 0.750000 14.500000 -2.812500 -v -0.750000 14.500000 -2.187500 -v -0.750000 14.500000 -2.812500 -v 0.562500 14.500000 -2.000000 -v -0.562500 14.500000 -2.000000 -v 0.562500 14.500000 -3.000000 -v -0.562500 14.500000 -3.000000 -v 0.562500 3.500000 -2.187500 -v 0.562500 3.500000 -1.812500 -v 0.937500 3.500000 -1.812500 -v 0.937500 3.500000 -2.187500 -v 0.562500 14.500000 -2.187500 -v 0.562500 14.500000 -1.812500 -v 0.937500 14.500000 -1.812500 -v 0.937500 14.500000 -2.187500 -v -0.937500 3.500000 -3.187500 -v -0.937500 3.500000 -2.812500 -v -0.562500 3.500000 -2.812500 -v -0.562500 3.500000 -3.187500 -v -0.937500 14.500000 -3.187500 -v -0.937500 14.500000 -2.812500 -v -0.562500 14.500000 -2.812500 -v -0.562500 14.500000 -3.187500 -v -0.937500 3.500000 -2.187500 -v -0.937500 3.500000 -1.812500 -v -0.562500 3.500000 -1.812500 -v -0.562500 3.500000 -2.187500 -v -0.937500 14.500000 -2.187500 -v -0.937500 14.500000 -1.812500 -v -0.562500 14.500000 -1.812500 -v -0.562500 14.500000 -2.187500 -v 0.750000 3.500000 -2.187500 -v 0.750000 3.500000 -2.812500 -v -0.750000 3.500000 -2.187500 -v -0.750000 3.500000 -2.812500 -v 0.562500 3.500000 -2.000000 -v -0.562500 3.500000 -2.000000 -v 0.562500 3.500000 -3.000000 -v -0.562500 3.500000 -3.000000 -v 0.750000 14.500000 -2.187500 -v 0.750000 14.500000 -2.812500 -v -0.750000 14.500000 -2.187500 -v -0.750000 14.500000 -2.812500 -v 0.562500 14.500000 -2.000000 -v -0.562500 14.500000 -2.000000 -v 0.562500 14.500000 -3.000000 -v -0.562500 14.500000 -3.000000 -vt 0.850649 0.031250 -vt 0.831169 -0.000000 -vt 0.850649 -0.000000 -vt 0.831169 0.979167 -vt 0.850649 0.947917 -vt 0.850649 0.979167 -vt 0.870130 0.031250 -vt 0.889610 0.031250 -vt 0.870130 0.947917 -vt 0.909091 0.031250 -vt 0.889610 0.947917 -vt 0.831169 0.947917 -vt 0.831169 0.031250 -vt 0.136364 0.739583 -vt 0.038961 0.770833 -vt 0.038961 0.739583 -vt 0.116883 0.875000 -vt 0.136364 0.906250 -vt 0.116883 0.906250 -vt 0.155844 0.791667 -vt 0.136364 0.875000 -vt 0.136364 0.791667 -vt 0.038961 0.791667 -vt 0.136364 0.791667 -vt 0.058442 0.843750 -vt 0.038961 0.791667 -vt 0.019481 0.875000 -vt 0.019481 0.791667 -vt 0.058442 0.843750 -vt 0.038961 0.875000 -vt 0.058442 0.906250 -vt 0.038961 0.906250 -vt 0.058442 0.875000 -vt 0.136364 0.739583 -vt 0.038961 0.770833 -vt 0.038961 0.739583 -vt 0.116883 0.875000 -vt 0.136364 0.906250 -vt 0.116883 0.906250 -vt 0.155844 0.770833 -vt 0.136364 0.875000 -vt 0.136364 0.770833 -vt 0.038961 0.770833 -vt 0.136364 0.770833 -vt 0.058442 0.843750 -vt 0.019481 0.875000 -vt 0.019481 0.770833 -vt 0.058442 0.843750 -vt 0.038961 0.875000 -vt 0.058442 0.906250 -vt 0.038961 0.906250 -vt 0.058442 0.875000 -vt 0.136364 0.739583 -vt 0.038961 0.770833 -vt 0.038961 0.739583 -vt 0.116883 0.875000 -vt 0.136364 0.906250 -vt 0.116883 0.906250 -vt 0.155844 0.770833 -vt 0.136364 0.875000 -vt 0.136364 0.770833 -vt 0.038961 0.770833 -vt 0.136364 0.770833 -vt 0.058442 0.843750 -vt 0.019481 0.875000 -vt 0.019481 0.770833 -vt 0.058442 0.843750 -vt 0.038961 0.875000 -vt 0.058442 0.906250 -vt 0.038961 0.906250 -vt 0.058442 0.875000 -vt 0.967532 0.916667 -vt 0.909091 0.937500 -vt 0.909091 0.916667 -vt 0.967532 0.958333 -vt 0.909091 0.937500 -vt 0.967532 0.937500 -vt 0.909091 0.979167 -vt 0.967532 0.979167 -vt 0.967532 0.916667 -vt 0.909091 0.916667 -vt 0.909091 0.979167 -vt 0.967532 0.958333 -vt 0.967532 0.979167 -vt 0.967532 0.937500 -vt 0.967532 0.916667 -vt 0.909091 0.937500 -vt 0.909091 0.916667 -vt 0.909091 0.979167 -vt 0.967532 0.958333 -vt 0.967532 0.979167 -vt 0.967532 0.937500 -vt 0.967532 0.000000 -vt 0.909091 0.916667 -vt 0.909091 -0.000000 -vt 1.000000 0.916667 -vt 0.967532 -0.000000 -vt 1.000000 -0.000000 -vt 0.967532 0.916667 -vt 0.909091 -0.000000 -vt 0.967532 0.000000 -vt 1.000000 -0.000000 -vt 0.967532 0.916667 -vt 0.967532 -0.000000 -vt 0.850649 0.031250 -vt 0.831169 -0.000000 -vt 0.850649 -0.000000 -vt 0.831169 0.979167 -vt 0.850649 0.947917 -vt 0.850649 0.979167 -vt 0.870130 0.031250 -vt 0.889610 0.031250 -vt 0.870130 0.947917 -vt 0.909091 0.031250 -vt 0.889610 0.947917 -vt 0.831169 0.947917 -vt 0.831169 0.031250 -vt 0.850649 0.031250 -vt 0.831169 -0.000000 -vt 0.850649 -0.000000 -vt 0.831169 0.979167 -vt 0.850649 0.947917 -vt 0.850649 0.979167 -vt 0.870130 0.031250 -vt 0.889610 0.031250 -vt 0.870130 0.947917 -vt 0.909091 0.031250 -vt 0.889610 0.947917 -vt 0.831169 0.947917 -vt 0.831169 0.031250 -vt 0.850649 0.031250 -vt 0.831169 -0.000000 -vt 0.850649 -0.000000 -vt 0.831169 0.979167 -vt 0.850649 0.947917 -vt 0.850649 0.979167 -vt 0.870130 0.031250 -vt 0.889610 0.031250 -vt 0.870130 0.947917 -vt 0.909091 0.031250 -vt 0.889610 0.947917 -vt 0.831169 0.947917 -vt 0.831169 0.031250 -vt 0.909091 0.916667 -vt 0.967532 0.000000 -vt 0.909091 -0.000000 -vt 0.967532 -0.000000 -vt 1.000000 0.916667 -vt 1.000000 -0.000000 -vt 0.909091 -0.000000 -vt 0.967532 0.916667 -vt 0.967532 0.000000 -vt 0.967532 0.916667 -vt 1.000000 -0.000000 -vt 0.967532 -0.000000 -vt 0.909091 0.947917 -vt 0.136364 0.770833 -vt 0.155844 0.875000 -vt 0.136364 0.875000 -vt 0.116883 0.843750 -vt 0.038961 0.875000 -vt 0.116883 0.843750 -vt 0.155844 0.875000 -vt 0.136364 0.875000 -vt 0.116883 0.843750 -vt 0.038961 0.875000 -vt 0.116883 0.843750 -vt 0.155844 0.875000 -vt 0.136364 0.875000 -vt 0.116883 0.843750 -vt 0.038961 0.875000 -vt 0.116883 0.843750 -vt 0.909091 0.958333 -vt 0.909091 0.958333 -vt 0.909091 0.958333 -vt 0.967532 0.916667 -vt 0.967532 0.916667 -vt 0.909091 0.916667 -vt 1.000000 0.916667 -vt 0.909091 0.947917 -vt 0.909091 0.947917 -vt 0.909091 0.947917 -vt 0.967532 0.916667 -vt 0.967532 0.916667 -vt 0.909091 0.916667 -vt 1.000000 0.916667 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.7071 0.0000 0.7071 -vn -0.7071 0.0000 0.7071 -s off -f 2060/2680/108 2062/2681/108 2061/2682/108 -f 2066/2683/109 2064/2684/109 2065/2685/109 -f 2061/2686/110 2064/2684/110 2060/2680/110 -f 2062/2687/111 2065/2688/111 2061/2686/111 -f 2063/2689/112 2066/2690/112 2062/2687/112 -f 2060/2680/113 2067/2691/113 2063/2692/113 -f 2069/2693/113 2070/2694/113 2068/2695/113 -f 2079/2696/114 2073/2697/114 2077/2698/114 -f 2069/2699/110 2075/2700/110 2071/2701/110 -f 2069/2702/108 2068/2703/108 2077/2704/108 -f 2070/2705/112 2072/2706/112 2068/2707/112 -f 2070/2705/109 2071/2701/109 2078/2708/109 -f 2074/2709/115 2076/2710/115 2072/2711/115 -f 2078/2712/111 2077/2698/111 2076/2710/111 -f 2081/2713/113 2082/2714/113 2080/2715/113 -f 2091/2716/114 2085/2717/114 2089/2718/114 -f 2081/2719/110 2087/2720/110 2083/2721/110 -f 2081/2722/108 2080/2723/108 2089/2724/108 -f 2082/2714/112 2084/2725/112 2080/2726/112 -f 2082/2714/109 2083/2721/109 2090/2727/109 -f 2086/2728/115 2088/2729/115 2084/2730/115 -f 2090/2731/111 2089/2718/111 2088/2729/111 -f 2093/2732/113 2094/2733/113 2092/2734/113 -f 2103/2735/114 2097/2736/114 2101/2737/114 -f 2093/2738/110 2099/2739/110 2095/2740/110 -f 2093/2741/108 2092/2742/108 2101/2743/108 -f 2094/2733/112 2096/2744/112 2092/2745/112 -f 2094/2733/109 2095/2740/109 2102/2746/109 -f 2098/2747/115 2100/2748/115 2096/2749/115 -f 2102/2750/111 2101/2737/111 2100/2748/111 -f 2112/2751/108 2118/2752/108 2113/2753/108 -f 2108/2754/113 2110/2755/113 2109/2756/113 -f 2107/2757/109 2108/2754/109 2106/2758/109 -f 2104/2759/108 2110/2755/108 2105/2760/108 -f 2115/2761/109 2116/2762/109 2114/2763/109 -f 2116/2762/113 2118/2752/113 2117/2764/113 -f 2120/2765/108 2126/2766/108 2121/2767/108 -f 2123/2768/109 2124/2769/109 2122/2770/109 -f 2124/2769/113 2126/2766/113 2125/2771/113 -f 2135/2772/113 2142/2773/113 2134/2774/113 -f 2138/2775/110 2131/2776/110 2130/2777/110 -f 2140/2778/111 2133/2779/111 2132/2780/111 -f 2129/2781/112 2136/2782/112 2128/2783/112 -f 2144/2784/108 2146/2785/108 2145/2786/108 -f 2150/2787/109 2148/2788/109 2149/2789/109 -f 2145/2790/110 2148/2788/110 2144/2784/110 -f 2146/2791/111 2149/2792/111 2145/2790/111 -f 2147/2793/112 2150/2794/112 2146/2791/112 -f 2144/2784/113 2151/2795/113 2147/2796/113 -f 2152/2797/108 2154/2798/108 2153/2799/108 -f 2158/2800/109 2156/2801/109 2157/2802/109 -f 2153/2803/110 2156/2801/110 2152/2797/110 -f 2154/2804/111 2157/2805/111 2153/2803/111 -f 2155/2806/112 2158/2807/112 2154/2804/112 -f 2152/2797/113 2159/2808/113 2155/2809/113 -f 2160/2810/108 2162/2811/108 2161/2812/108 -f 2166/2813/109 2164/2814/109 2165/2815/109 -f 2161/2816/110 2164/2814/110 2160/2810/110 -f 2162/2817/111 2165/2818/111 2161/2816/111 -f 2163/2819/112 2166/2820/112 2162/2817/112 -f 2160/2810/113 2167/2821/113 2163/2822/113 -f 2182/2823/111 2175/2824/111 2174/2825/111 -f 2171/2826/112 2178/2827/112 2170/2828/112 -f 2173/2829/113 2180/2830/113 2172/2831/113 -f 2176/2832/110 2169/2833/110 2168/2834/110 -f 2060/2680/108 2063/2692/108 2062/2681/108 -f 2066/2683/109 2067/2691/109 2064/2684/109 -f 2061/2686/110 2065/2688/110 2064/2684/110 -f 2062/2687/111 2066/2690/111 2065/2688/111 -f 2063/2689/112 2067/2835/112 2066/2690/112 -f 2060/2680/113 2064/2684/113 2067/2691/113 -f 2069/2693/113 2071/2836/113 2070/2694/113 -f 2079/2696/114 2075/2700/114 2073/2697/114 -f 2069/2699/110 2073/2837/110 2075/2700/110 -f 2068/2703/108 2072/2838/108 2076/2839/108 -f 2077/2704/108 2073/2840/108 2069/2702/108 -f 2068/2703/108 2076/2839/108 2077/2704/108 -f 2070/2705/112 2074/2709/112 2072/2706/112 -f 2071/2701/109 2075/2700/109 2079/2841/109 -f 2078/2708/109 2074/2709/109 2070/2705/109 -f 2071/2701/109 2079/2841/109 2078/2708/109 -f 2074/2709/115 2078/2712/115 2076/2710/115 -f 2078/2712/111 2079/2696/111 2077/2698/111 -f 2081/2713/113 2083/2721/113 2082/2714/113 -f 2091/2716/114 2087/2720/114 2085/2717/114 -f 2081/2719/110 2085/2842/110 2087/2720/110 -f 2080/2723/108 2084/2843/108 2088/2844/108 -f 2089/2724/108 2085/2845/108 2081/2722/108 -f 2080/2723/108 2088/2844/108 2089/2724/108 -f 2082/2714/112 2086/2728/112 2084/2725/112 -f 2083/2721/109 2087/2720/109 2091/2846/109 -f 2090/2727/109 2086/2728/109 2082/2714/109 -f 2083/2721/109 2091/2846/109 2090/2727/109 -f 2086/2728/115 2090/2731/115 2088/2729/115 -f 2090/2731/111 2091/2716/111 2089/2718/111 -f 2093/2732/113 2095/2740/113 2094/2733/113 -f 2103/2735/114 2099/2739/114 2097/2736/114 -f 2093/2738/110 2097/2847/110 2099/2739/110 -f 2092/2742/108 2096/2848/108 2100/2849/108 -f 2101/2743/108 2097/2850/108 2093/2741/108 -f 2092/2742/108 2100/2849/108 2101/2743/108 -f 2094/2733/112 2098/2747/112 2096/2744/112 -f 2095/2740/109 2099/2739/109 2103/2851/109 -f 2102/2746/109 2098/2747/109 2094/2733/109 -f 2095/2740/109 2103/2851/109 2102/2746/109 -f 2098/2747/115 2102/2750/115 2100/2748/115 -f 2102/2750/111 2103/2735/111 2101/2737/111 -f 2112/2751/108 2117/2764/108 2118/2752/108 -f 2108/2754/113 2111/2852/113 2110/2755/113 -f 2107/2757/109 2111/2852/109 2108/2754/109 -f 2104/2759/108 2109/2756/108 2110/2755/108 -f 2115/2761/109 2119/2853/109 2116/2762/109 -f 2116/2762/113 2119/2853/113 2118/2752/113 -f 2120/2765/108 2125/2771/108 2126/2766/108 -f 2123/2768/109 2127/2854/109 2124/2769/109 -f 2124/2769/113 2127/2854/113 2126/2766/113 -f 2135/2772/113 2143/2855/113 2142/2773/113 -f 2138/2775/110 2139/2856/110 2131/2776/110 -f 2140/2778/111 2141/2857/111 2133/2779/111 -f 2129/2781/112 2137/2858/112 2136/2782/112 -f 2144/2784/108 2147/2796/108 2146/2785/108 -f 2150/2787/109 2151/2795/109 2148/2788/109 -f 2145/2790/110 2149/2792/110 2148/2788/110 -f 2146/2791/111 2150/2794/111 2149/2792/111 -f 2147/2793/112 2151/2859/112 2150/2794/112 -f 2144/2784/113 2148/2788/113 2151/2795/113 -f 2152/2797/108 2155/2809/108 2154/2798/108 -f 2158/2800/109 2159/2808/109 2156/2801/109 -f 2153/2803/110 2157/2805/110 2156/2801/110 -f 2154/2804/111 2158/2807/111 2157/2805/111 -f 2155/2806/112 2159/2860/112 2158/2807/112 -f 2152/2797/113 2156/2801/113 2159/2808/113 -f 2160/2810/108 2163/2822/108 2162/2811/108 -f 2166/2813/109 2167/2821/109 2164/2814/109 -f 2161/2816/110 2165/2818/110 2164/2814/110 -f 2162/2817/111 2166/2820/111 2165/2818/111 -f 2163/2819/112 2167/2861/112 2166/2820/112 -f 2160/2810/113 2164/2814/113 2167/2821/113 -f 2182/2823/111 2183/2862/111 2175/2824/111 -f 2171/2826/112 2179/2863/112 2178/2827/112 -f 2173/2829/113 2181/2864/113 2180/2830/113 -f 2176/2832/110 2177/2865/110 2169/2833/110 -o Huge_Pad -v -1.250000 2.000000 1.250000 -v 1.250000 2.000000 1.250000 -v -1.250000 2.000000 -1.250000 -v 1.250000 2.000000 -1.250000 -v -2.500000 2.000000 2.500000 -v 2.500000 2.000000 2.500000 -v -2.500000 2.000000 -2.500000 -v 2.500000 2.000000 -2.500000 -v -2.500000 1.500000 2.500000 -v 2.500000 1.500000 2.500000 -v -2.500000 1.500000 -2.500000 -v 2.500000 1.500000 -2.500000 -v -3.000000 1.500000 3.000000 -v 3.000000 1.500000 3.000000 -v -3.000000 1.500000 -3.000000 -v 3.000000 1.500000 -3.000000 -v -3.000000 1.000000 3.000000 -v 3.000000 1.000000 3.000000 -v -3.000000 1.000000 -3.000000 -v 3.000000 1.000000 -3.000000 -v -0.500000 1.000000 0.500000 -v 0.500000 1.000000 0.500000 -v -0.500000 1.000000 -0.500000 -v 0.500000 1.000000 -0.500000 -v -1.250000 2.000000 1.250000 -v 1.250000 2.000000 1.250000 -v -1.250000 2.000000 -1.250000 -v 1.250000 2.000000 -1.250000 -v -1.500000 1.000000 -2.500000 -v 1.500000 1.000000 -2.500000 -v -1.500000 1.000000 -3.500000 -v 1.500000 1.000000 -3.500000 -v -1.500000 2.000000 -3.500000 -v -1.500000 2.000000 -2.500000 -v 1.500000 2.000000 -2.500000 -v 1.500000 2.000000 -3.500000 -v -2.000000 1.000000 4.000000 -v 2.000000 1.000000 4.000000 -v -2.000000 1.000000 2.500000 -v 2.000000 1.000000 2.500000 -v -2.000000 2.000000 2.500000 -v -2.000000 2.000000 4.000000 -v 2.000000 2.000000 4.000000 -v 2.000000 2.000000 2.500000 -v 0.812500 2.000000 3.687500 -v 1.187500 2.000000 3.687500 -v 0.812500 2.000000 3.312500 -v 1.187500 2.000000 3.312500 -v -1.187500 2.000000 3.687500 -v -0.812500 2.000000 3.687500 -v -1.187500 2.000000 3.312500 -v -0.812500 2.000000 3.312500 -v 0.812500 2.000000 2.187500 -v 1.187500 2.000000 2.187500 -v 0.812500 2.000000 1.812500 -v 1.187500 2.000000 1.812500 -v -1.187500 2.000000 2.187500 -v -0.812500 2.000000 2.187500 -v -1.187500 2.000000 1.812500 -v -0.812500 2.000000 1.812500 -v 0.812500 8.000000 3.312500 -v 0.812500 8.000000 3.687500 -v 1.187500 8.000000 3.687500 -v 1.187500 8.000000 3.312500 -v -1.187500 8.000000 3.312500 -v -1.187500 8.000000 3.687500 -v -0.812500 8.000000 3.687500 -v -0.812500 8.000000 3.312500 -v 0.812500 8.000000 1.812500 -v 0.812500 8.000000 2.187500 -v 1.187500 8.000000 2.187500 -v 1.187500 8.000000 1.812500 -v -1.187500 8.000000 1.812500 -v -1.187500 8.000000 2.187500 -v -0.812500 8.000000 2.187500 -v -0.812500 8.000000 1.812500 -v -1.500000 8.000000 4.000000 -v 1.500000 8.000000 4.000000 -v -1.500000 8.000000 1.500000 -v 1.500000 8.000000 1.500000 -v -1.500000 8.250000 1.500000 -v -1.500000 8.250000 4.000000 -v 1.500000 8.250000 4.000000 -v 1.500000 8.250000 1.500000 -v 0.812500 8.250000 2.187500 -v 1.187500 8.250000 2.187500 -v 0.812500 8.250000 1.812500 -v 1.187500 8.250000 1.812500 -v -1.187500 8.250000 2.187500 -v -0.812500 8.250000 2.187500 -v -1.187500 8.250000 1.812500 -v -0.812500 8.250000 1.812500 -v 0.812500 14.250000 1.812500 -v 0.812500 14.250000 2.187500 -v 1.187500 14.250000 2.187500 -v 1.187500 14.250000 1.812500 -v -1.187500 14.250000 1.812500 -v -1.187500 14.250000 2.187500 -v -0.812500 14.250000 2.187500 -v -0.812500 14.250000 1.812500 -v 0.812500 8.250000 3.187500 -v 1.187500 8.250000 3.187500 -v 0.812500 8.250000 2.812500 -v 1.187500 8.250000 2.812500 -v -1.187500 8.250000 3.187500 -v -0.812500 8.250000 3.187500 -v -1.187500 8.250000 2.812500 -v -0.812500 8.250000 2.812500 -v 0.812500 14.250000 2.812500 -v 0.812500 14.250000 3.187500 -v 1.187500 14.250000 3.187500 -v 1.187500 14.250000 2.812500 -v -1.187500 14.250000 2.812500 -v -1.187500 14.250000 3.187500 -v -0.812500 14.250000 3.187500 -v -0.812500 14.250000 2.812500 -v 0.812500 2.000000 2.000000 -v -0.812500 2.000000 2.000000 -v 0.812500 8.000000 2.000000 -v -0.812500 8.000000 2.000000 -v 0.812500 2.000000 3.500000 -v -0.812500 2.000000 3.500000 -v 0.812500 8.000000 3.500000 -v -0.812500 8.000000 3.500000 -v -1.000000 2.000000 3.312500 -v -1.000000 2.000000 2.187500 -v -1.000000 8.000000 3.312500 -v -1.000000 8.000000 2.187500 -v 1.000000 2.000000 3.312500 -v 1.000000 2.000000 2.187500 -v 1.000000 8.000000 3.312500 -v 1.000000 8.000000 2.187500 -v 0.812500 8.250000 2.000000 -v -0.812500 8.250000 2.000000 -v 0.812500 14.250000 2.000000 -v -0.812500 14.250000 2.000000 -v 0.812500 8.250000 3.000000 -v -0.812500 8.250000 3.000000 -v 0.812500 14.250000 3.000000 -v -0.812500 14.250000 3.000000 -v -1.000000 8.250000 2.187500 -v -1.000000 14.250000 2.187500 -v -1.000000 8.250000 2.812500 -v -1.000000 14.250000 2.812500 -v 1.000000 8.250000 2.187500 -v 1.000000 14.250000 2.187500 -v 1.000000 8.250000 2.812500 -v 1.000000 14.250000 2.812500 -v -1.500000 14.250000 3.500000 -v 1.500000 14.250000 3.500000 -v -1.500000 14.250000 1.500000 -v 1.500000 14.250000 1.500000 -v -1.500000 14.500000 1.500000 -v -1.500000 14.500000 3.500000 -v 1.500000 14.500000 3.500000 -v 1.500000 14.500000 1.500000 -v 0.375000 2.000000 2.250000 -v 0.198223 2.000000 2.323223 -v 0.125000 2.000000 2.500000 -v 0.198223 2.000000 2.676777 -v 0.375000 2.000000 2.750000 -v 0.551777 2.000000 2.676777 -v 0.625000 2.000000 2.500000 -v 0.551777 2.000000 2.323223 -v 0.375000 10.000000 2.250000 -v 0.198223 10.000000 2.323223 -v 0.125000 10.000000 2.500000 -v 0.198223 10.000000 2.676777 -v 0.375000 10.000000 2.750000 -v 0.551777 10.000000 2.676777 -v 0.625000 10.000000 2.500000 -v 0.551777 10.000000 2.323223 -v 0.198223 10.051777 2.301777 -v 0.125000 10.176777 2.426777 -v 0.198223 10.301777 2.551777 -v 0.375000 10.353554 2.603553 -v 0.551777 10.301777 2.551777 -v 0.625000 10.176777 2.426777 -v 0.551777 10.051777 2.301777 -v 0.198223 10.073223 2.250000 -v 0.125000 10.250000 2.250000 -v 0.198223 10.426777 2.250000 -v 0.375000 10.500000 2.250000 -v 0.551777 10.426777 2.250000 -v 0.625000 10.250000 2.250000 -v 0.551777 10.073223 2.250000 -v -0.375000 2.000000 2.250000 -v -0.551777 2.000000 2.323223 -v -0.625000 2.000000 2.500000 -v -0.551777 2.000000 2.676777 -v -0.375000 2.000000 2.750000 -v -0.198223 2.000000 2.676777 -v -0.125000 2.000000 2.500000 -v -0.198223 2.000000 2.323223 -v -0.375000 10.000000 2.250000 -v -0.551777 10.000000 2.323223 -v -0.625000 10.000000 2.500000 -v -0.551777 10.000000 2.676777 -v -0.375000 10.000000 2.750000 -v -0.198223 10.000000 2.676777 -v -0.125000 10.000000 2.500000 -v -0.198223 10.000000 2.323223 -v -0.551777 10.051777 2.301777 -v -0.625000 10.176777 2.426777 -v -0.551777 10.301777 2.551777 -v -0.375000 10.353554 2.603553 -v -0.198223 10.301777 2.551777 -v -0.125000 10.176777 2.426777 -v -0.198223 10.051777 2.301777 -v -0.551777 10.073223 2.250000 -v -0.625000 10.250000 2.250000 -v -0.551777 10.426777 2.250000 -v -0.375000 10.500000 2.250000 -v -0.198223 10.426777 2.250000 -v -0.125000 10.250000 2.250000 -v -0.198223 10.073223 2.250000 -v 0.812500 2.000000 2.000000 -v -0.812500 2.000000 2.000000 -v 0.812500 8.000000 2.000000 -v -0.812500 8.000000 2.000000 -v 0.812500 2.000000 3.500000 -v -0.812500 2.000000 3.500000 -v 0.812500 8.000000 3.500000 -v -0.812500 8.000000 3.500000 -v -1.000000 2.000000 3.312500 -v -1.000000 2.000000 2.187500 -v -1.000000 8.000000 3.312500 -v -1.000000 8.000000 2.187500 -v 1.000000 2.000000 3.312500 -v 1.000000 2.000000 2.187500 -v 1.000000 8.000000 3.312500 -v 1.000000 8.000000 2.187500 -v 0.812500 8.250000 2.000000 -v -0.812500 8.250000 2.000000 -v 0.812500 14.250000 2.000000 -v -0.812500 14.250000 2.000000 -v 0.812500 8.250000 3.000000 -v -0.812500 8.250000 3.000000 -v 0.812500 14.250000 3.000000 -v -0.812500 14.250000 3.000000 -v -1.000000 8.250000 2.187500 -v -1.000000 14.250000 2.187500 -v -1.000000 8.250000 2.812500 -v -1.000000 14.250000 2.812500 -v 1.000000 8.250000 2.187500 -v 1.000000 14.250000 2.187500 -v 1.000000 8.250000 2.812500 -v 1.000000 14.250000 2.812500 -vt 0.155844 0.875000 -vt 0.285714 0.666667 -vt 0.285714 0.875000 -vt 0.090909 0.437500 -vt 0.025974 0.125000 -vt 0.090909 0.229167 -vt 0.220779 0.437500 -vt 0.025974 0.541667 -vt 0.220779 0.229167 -vt 0.285714 0.541667 -vt 0.285714 0.125000 -vt 0.025974 0.125000 -vt 0.285714 0.083333 -vt 0.285714 0.125000 -vt 0.025974 0.125000 -vt 0.285714 0.083333 -vt 0.285714 0.125000 -vt 0.285714 0.083333 -vt 0.025974 0.125000 -vt 0.285714 0.083333 -vt 0.285714 0.125000 -vt 0.025974 0.083333 -vt 0.311688 0.041667 -vt 0.025974 0.083333 -vt 0.311688 0.041667 -vt 0.025974 0.083333 -vt 0.311688 0.041667 -vt 0.025974 0.083333 -vt 0.311688 0.041667 -vt -0.000000 0.041667 -vt 0.311688 -0.000000 -vt 0.000000 0.041667 -vt 0.311688 0.000000 -vt 0.000000 0.041667 -vt 0.311688 0.000000 -vt 0.000000 0.041667 -vt 0.311688 0.000000 -vt 0.129870 0.291667 -vt 0.129870 0.375000 -vt 0.181818 0.375000 -vt 0.181818 0.291667 -vt 0.441558 0.625000 -vt 0.493506 0.875000 -vt 0.441558 0.875000 -vt 0.545455 0.875000 -vt 0.493506 0.625000 -vt 0.545455 0.625000 -vt 0.493506 0.541667 -vt 0.441558 0.541667 -vt 0.441558 0.958333 -vt 0.493506 0.958333 -vt 0.337662 0.083333 -vt 0.415584 0.416667 -vt 0.337662 0.416667 -vt 0.415584 -0.000000 -vt 0.337662 -0.000000 -vt 0.337662 0.500000 -vt 0.415584 0.500000 -vt 0.285714 0.083333 -vt 0.285714 0.416667 -vt 0.324675 0.500000 -vt 0.305195 1.000000 -vt 0.305195 0.500000 -vt 0.344156 0.500000 -vt 0.324675 1.000000 -vt 0.324675 0.500000 -vt 0.344156 0.500000 -vt 0.324675 1.000000 -vt 0.363636 0.500000 -vt 0.344156 1.000000 -vt 0.344156 0.500000 -vt 0.363636 0.500000 -vt 0.344156 1.000000 -vt 0.344156 0.500000 -vt 0.305195 0.500000 -vt 0.285714 1.000000 -vt 0.285714 0.500000 -vt 0.305195 0.500000 -vt 0.285714 1.000000 -vt 0.285714 0.500000 -vt 0.324675 0.500000 -vt 0.305195 1.000000 -vt 0.324675 0.500000 -vt 0.305195 1.000000 -vt 0.324675 1.000000 -vt 0.363636 0.500000 -vt 0.344156 1.000000 -vt 0.324675 1.000000 -vt 0.363636 0.500000 -vt 0.344156 1.000000 -vt 0.305195 0.500000 -vt 0.285714 1.000000 -vt 0.285714 0.500000 -vt 0.285714 1.000000 -vt 0.285714 0.500000 -vt 0.305195 1.000000 -vt 0.675325 0.750000 -vt 0.545455 1.000000 -vt 0.545455 0.750000 -vt 0.545455 0.750000 -vt 0.675325 1.000000 -vt 0.545455 1.000000 -vt 0.688312 1.000000 -vt 0.675325 0.750000 -vt 0.688312 0.750000 -vt 0.688312 1.000000 -vt 0.675325 0.750000 -vt 0.688312 0.750000 -vt 0.675325 0.729167 -vt 0.545455 0.729167 -vt 0.675325 0.729167 -vt 0.545455 0.750000 -vt 0.545455 0.729167 -vt 0.402597 0.500000 -vt 0.383117 1.000000 -vt 0.383117 0.500000 -vt 0.422078 0.500000 -vt 0.402597 1.000000 -vt 0.441558 0.500000 -vt 0.422078 1.000000 -vt 0.422078 0.500000 -vt 0.383117 0.500000 -vt 0.363636 1.000000 -vt 0.363636 0.500000 -vt 0.402597 0.500000 -vt 0.383117 1.000000 -vt 0.402597 1.000000 -vt 0.441558 0.500000 -vt 0.422078 1.000000 -vt 0.363636 1.000000 -vt 0.363636 0.500000 -vt 0.402597 0.500000 -vt 0.383117 1.000000 -vt 0.383117 0.500000 -vt 0.422078 0.500000 -vt 0.402597 1.000000 -vt 0.441558 0.500000 -vt 0.422078 1.000000 -vt 0.422078 0.500000 -vt 0.383117 0.500000 -vt 0.363636 1.000000 -vt 0.363636 0.500000 -vt 0.402597 0.500000 -vt 0.383117 1.000000 -vt 0.402597 1.000000 -vt 0.441558 0.500000 -vt 0.422078 1.000000 -vt 0.363636 1.000000 -vt 0.363636 0.500000 -vt 0.792208 0.750000 -vt 0.688312 1.000000 -vt 0.688312 0.750000 -vt 0.415584 0.500000 -vt 0.500000 0.000000 -vt 0.500000 0.500000 -vt 0.415584 0.000000 -vt 0.500000 0.500000 -vt 0.415584 0.500000 -vt 0.500000 0.000000 -vt 0.558442 0.500000 -vt 0.500000 0.500000 -vt 0.500000 0.500000 -vt 0.558442 0.000000 -vt 0.558442 0.500000 -vt 0.558442 0.500000 -vt 0.642857 0.000000 -vt 0.642857 0.500000 -vt 0.558442 0.000000 -vt 0.642857 0.500000 -vt 0.558442 0.500000 -vt 0.642857 0.000000 -vt 0.675325 0.500000 -vt 0.642857 0.500000 -vt 0.642857 0.500000 -vt 0.675325 0.000000 -vt 0.675325 0.500000 -vt 0.688312 0.750000 -vt 0.792208 1.000000 -vt 0.688312 1.000000 -vt 0.805195 1.000000 -vt 0.792208 0.750000 -vt 0.805195 0.750000 -vt 0.805195 1.000000 -vt 0.792208 0.750000 -vt 0.805195 0.750000 -vt 0.792208 0.729167 -vt 0.688312 0.729167 -vt 0.792208 0.729167 -vt 0.688312 0.750000 -vt 0.688312 0.729167 -vt 0.636364 0.625272 -vt 0.645427 0.631294 -vt 0.627300 0.660373 -vt 0.662338 0.624730 -vt 0.671640 0.630911 -vt 0.653036 0.660756 -vt 0.500000 0.000000 -vt 0.415584 0.500000 -vt 0.500000 0.500000 -vt 0.500000 0.500000 -vt 0.415584 0.000000 -vt 0.415584 0.500000 -vt 0.558442 0.500000 -vt 0.500000 0.000000 -vt 0.500000 0.500000 -vt 0.558442 0.000000 -vt 0.500000 0.500000 -vt 0.558442 0.500000 -vt 0.642857 0.000000 -vt 0.558442 0.500000 -vt 0.642857 0.500000 -vt 0.642857 0.500000 -vt 0.558442 0.000000 -vt 0.558442 0.500000 -vt 0.675325 0.500000 -vt 0.642857 0.000000 -vt 0.642857 0.500000 -vt 0.675325 0.000000 -vt 0.642857 0.500000 -vt 0.675325 0.500000 -vt 0.155844 0.666667 -vt -0.000000 -0.000000 -vt -0.000000 -0.000000 -vt -0.000000 -0.000000 -vt -0.000000 -0.000000 -vt 0.415584 0.083333 -vt 0.363636 1.000000 -vt 0.363636 1.000000 -vt 0.363636 1.000000 -vt 0.363636 1.000000 -vt 0.675325 1.000000 -vt 0.675325 1.000000 -vt 0.441558 1.000000 -vt 0.441558 1.000000 -vt 0.441558 1.000000 -vt 0.441558 1.000000 -vt 0.792208 1.000000 -vt 0.415584 0.000000 -vt 0.500000 0.000000 -vt 0.558442 0.000000 -vt 0.500000 0.000000 -vt 0.558442 0.000000 -vt 0.642857 0.000000 -vt 0.675325 0.000000 -vt 0.642857 0.000000 -vt 0.792208 1.000000 -vt 0.649182 0.645834 -vt 0.645427 0.660374 -vt 0.636364 0.666396 -vt 0.623546 0.645834 -vt 0.627300 0.631294 -vt 0.675493 0.645833 -vt 0.671640 0.660756 -vt 0.662338 0.666937 -vt 0.649182 0.645833 -vt 0.653035 0.630911 -vt 0.415584 0.000000 -vt 0.500000 0.000000 -vt 0.558442 0.000000 -vt 0.500000 0.000000 -vt 0.558442 0.000000 -vt 0.642857 0.000000 -vt 0.675325 0.000000 -vt 0.642857 0.000000 -vt 0.724026 -0.000000 -vt 0.714286 0.666667 -vt 0.714286 0.000000 -vt 0.704545 -0.000000 -vt 0.694805 0.666667 -vt 0.694805 0.000000 -vt 0.685065 0.000000 -vt 0.675325 0.666667 -vt 0.675325 -0.000000 -vt 0.753247 0.000000 -vt 0.743506 0.666667 -vt 0.743506 -0.000000 -vt 0.733766 -0.000000 -vt 0.724026 0.666667 -vt 0.704545 0.666667 -vt 0.685065 0.666667 -vt 0.733766 0.666667 -vt 0.724026 0.671875 -vt 0.733766 0.697917 -vt 0.724026 0.697917 -vt 0.704545 0.671875 -vt 0.714286 0.697917 -vt 0.704545 0.697917 -vt 0.685065 0.692708 -vt 0.694805 0.697917 -vt 0.685065 0.697917 -vt 0.733766 0.682292 -vt 0.743506 0.697917 -vt 0.694805 0.682292 -vt 0.704545 0.723958 -vt 0.694805 0.713542 -vt 0.685065 0.703125 -vt 0.733766 0.713542 -vt 0.724026 0.723958 -vt 0.714286 0.729167 -vt 0.743506 0.692708 -vt 0.753247 0.697917 -vt 0.743506 0.703125 -vt 0.675325 0.697917 -vt 0.801948 0.000000 -vt 0.792208 0.666667 -vt 0.792208 0.000000 -vt 0.782468 0.000000 -vt 0.772727 0.666667 -vt 0.772727 0.000000 -vt 0.762987 -0.000000 -vt 0.753247 0.666667 -vt 0.753247 0.000000 -vt 0.831169 0.000000 -vt 0.821429 0.666667 -vt 0.821429 -0.000000 -vt 0.811688 -0.000000 -vt 0.801948 0.666667 -vt 0.782468 0.666667 -vt 0.762987 0.666667 -vt 0.811688 0.666667 -vt 0.801948 0.671875 -vt 0.811688 0.697917 -vt 0.801948 0.697917 -vt 0.782468 0.697917 -vt 0.782468 0.671875 -vt 0.772727 0.682292 -vt 0.762987 0.697917 -vt 0.762987 0.692708 -vt 0.821429 0.692708 -vt 0.811688 0.682292 -vt 0.792208 0.697917 -vt 0.772727 0.697917 -vt 0.782468 0.723958 -vt 0.772727 0.713542 -vt 0.762987 0.703125 -vt 0.821429 0.697917 -vt 0.811688 0.713542 -vt 0.801948 0.723958 -vt 0.792208 0.729167 -vt 0.831169 0.697917 -vt 0.821429 0.703125 -vt 0.753247 0.697917 -vt 0.753247 0.666667 -vt 0.831169 0.666667 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.6000 -0.8000 -vn 0.8000 0.6000 0.0000 -vn 0.0000 0.6000 0.8000 -vn -0.8000 0.6000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.7071 0.0000 0.7071 -vn 0.0000 0.1866 0.9824 -vn -0.7071 0.0000 0.7071 -vn -0.9987 0.0196 0.0473 -vn -0.7071 0.0000 -0.7071 -vn -0.0000 -0.1944 -0.9809 -vn 0.7263 -0.1363 -0.6737 -vn 0.7071 0.0000 -0.7071 -vn 0.6794 0.1448 0.7194 -vn -0.6794 0.1448 0.7194 -vn -0.7263 -0.1363 -0.6737 -vn 0.9987 0.0196 0.0473 -vn 0.9955 0.0671 0.0671 -vn 0.6630 0.5294 0.5294 -vn -0.0000 0.7071 0.7071 -vn -0.6630 0.5294 0.5294 -vn -0.9955 0.0671 0.0671 -vn -0.7574 -0.4617 -0.4617 -vn 0.7574 -0.4617 -0.4617 -vn -0.6333 0.7150 0.2962 -vn -0.9947 0.0948 0.0393 -vn -0.7311 -0.6303 -0.2611 -vn 0.9947 0.0948 0.0393 -vn 0.6333 0.7150 0.2962 -vn 0.0000 0.9239 0.3827 -vn 0.7311 -0.6303 -0.2611 -s off -f 2208/2866/116 2211/2867/116 2210/2868/116 -f 2184/2869/116 2189/2870/116 2185/2871/116 -f 2186/2872/116 2188/2873/116 2184/2869/116 -f 2187/2874/116 2190/2875/116 2186/2872/116 -f 2185/2871/116 2191/2876/116 2187/2874/116 -f 2191/2877/117 2194/2878/117 2190/2879/117 -f 2188/2880/118 2193/2881/118 2189/2882/118 -f 2189/2870/119 2195/2883/119 2191/2876/119 -f 2190/2884/120 2192/2885/120 2188/2886/120 -f 2193/2887/116 2199/2888/116 2195/2883/116 -f 2192/2889/116 2197/2890/116 2193/2881/116 -f 2194/2891/116 2196/2892/116 2192/2885/116 -f 2195/2893/116 2198/2894/116 2194/2878/116 -f 2197/2895/119 2203/2896/119 2199/2888/119 -f 2198/2897/120 2200/2898/120 2196/2892/120 -f 2199/2899/117 2202/2900/117 2198/2894/117 -f 2196/2901/118 2201/2902/118 2197/2890/118 -f 2205/2903/121 2184/2869/121 2185/2871/121 -f 2204/2904/122 2186/2872/122 2184/2869/122 -f 2206/2905/123 2187/2874/123 2186/2872/123 -f 2207/2906/124 2185/2871/124 2187/2874/124 -f 2218/2907/116 2216/2908/116 2217/2909/116 -f 2214/2910/117 2219/2911/117 2215/2912/117 -f 2215/2913/119 2218/2907/119 2213/2914/119 -f 2212/2915/120 2216/2908/120 2214/2916/120 -f 2226/2917/116 2224/2918/116 2225/2919/116 -f 2223/2920/119 2226/2917/119 2221/2921/119 -f 2220/2922/120 2224/2918/120 2222/2923/120 -f 2221/2924/118 2225/2919/118 2220/2925/118 -f 2239/2926/119 2254/2927/119 2237/2928/119 -f 2230/2929/117 2247/2930/117 2231/2931/117 -f 2238/2932/117 2255/2933/117 2239/2926/117 -f 2232/2934/120 2248/2935/120 2234/2936/120 -f 2240/2937/120 2256/2938/120 2242/2939/120 -f 2233/2940/118 2249/2941/118 2232/2942/118 -f 2241/2943/118 2257/2944/118 2240/2945/118 -f 2235/2946/119 2250/2947/119 2233/2940/119 -f 2243/2948/119 2258/2949/119 2241/2943/119 -f 2234/2936/117 2251/2950/117 2235/2946/117 -f 2228/2951/120 2244/2952/120 2230/2929/120 -f 2242/2939/117 2259/2953/117 2243/2948/117 -f 2236/2954/120 2252/2955/120 2238/2932/120 -f 2229/2956/118 2245/2957/118 2228/2958/118 -f 2237/2928/118 2253/2959/118 2236/2960/118 -f 2231/2931/119 2246/2961/119 2229/2956/119 -f 2262/2962/125 2261/2963/125 2260/2964/125 -f 2266/2965/116 2264/2966/116 2265/2967/116 -f 2262/2968/117 2267/2969/117 2263/2970/117 -f 2261/2971/118 2265/2972/118 2260/2973/118 -f 2263/2974/119 2266/2965/119 2261/2975/119 -f 2260/2976/120 2264/2977/120 2262/2978/120 -f 2271/2979/119 2278/2980/119 2269/2981/119 -f 2270/2982/117 2279/2983/117 2271/2979/117 -f 2272/2984/120 2280/2985/120 2274/2986/120 -f 2273/2987/118 2281/2988/118 2272/2989/118 -f 2275/2990/119 2282/2991/119 2273/2987/119 -f 2274/2986/117 2283/2992/117 2275/2990/117 -f 2268/2993/120 2276/2994/120 2270/2982/120 -f 2269/2981/118 2277/2995/118 2268/2996/118 -f 2287/2997/119 2294/2998/119 2285/2999/119 -f 2286/3000/117 2295/3001/117 2287/2997/117 -f 2288/3002/120 2296/3003/120 2290/3004/120 -f 2289/3005/118 2297/3006/118 2288/3007/118 -f 2291/3008/119 2298/3009/119 2289/3005/119 -f 2290/3004/117 2299/3010/117 2291/3008/117 -f 2284/3011/120 2292/3012/120 2286/3000/120 -f 2285/2999/118 2293/3013/118 2284/3014/118 -f 2334/3015/125 2333/3016/125 2332/3017/125 -f 2302/3018/117 2301/3019/117 2303/3020/117 -f 2305/3021/118 2306/3022/118 2307/3023/118 -f 2309/3024/120 2310/3025/120 2311/3026/120 -f 2314/3027/119 2313/3028/119 2315/3029/119 -f 2318/3030/117 2317/3031/117 2319/3032/117 -f 2321/3033/118 2322/3034/118 2323/3035/118 -f 2324/3036/120 2327/3037/120 2325/3038/120 -f 2331/3039/119 2328/3040/119 2329/3041/119 -f 2338/3042/116 2336/3043/116 2337/3044/116 -f 2334/3045/117 2339/3046/117 2335/3047/117 -f 2333/3048/118 2337/3049/118 2332/3050/118 -f 2335/3051/119 2338/3042/119 2333/3052/119 -f 2332/3053/120 2336/3054/120 2334/3055/120 -f 2348/3056/117 2363/3057/117 2367/3058/117 -f 2378/3059/117 2393/3060/117 2397/3061/117 -f 2401/3062/118 2402/3063/118 2403/3064/118 -f 2406/3065/117 2405/3066/117 2407/3067/117 -f 2410/3068/119 2409/3069/119 2411/3070/119 -f 2413/3071/120 2414/3072/120 2415/3073/120 -f 2417/3074/118 2418/3075/118 2419/3076/118 -f 2422/3077/117 2421/3078/117 2423/3079/117 -f 2427/3080/119 2424/3081/119 2425/3082/119 -f 2428/3083/120 2431/3084/120 2429/3085/120 -f 2208/2866/116 2209/3086/116 2211/2867/116 -f 2184/2869/116 2188/2873/116 2189/2870/116 -f 2186/2872/116 2190/2875/116 2188/2873/116 -f 2187/2874/116 2191/2876/116 2190/2875/116 -f 2185/2871/116 2189/2870/116 2191/2876/116 -f 2191/2877/117 2195/2893/117 2194/2878/117 -f 2188/2880/118 2192/2889/118 2193/2881/118 -f 2189/2870/119 2193/2887/119 2195/2883/119 -f 2190/2884/120 2194/2891/120 2192/2885/120 -f 2193/2887/116 2197/2895/116 2199/2888/116 -f 2192/2889/116 2196/2901/116 2197/2890/116 -f 2194/2891/116 2198/2897/116 2196/2892/116 -f 2195/2893/116 2199/2899/116 2198/2894/116 -f 2197/2895/119 2201/3087/119 2203/2896/119 -f 2198/2897/120 2202/3088/120 2200/2898/120 -f 2199/2899/117 2203/3089/117 2202/2900/117 -f 2196/2901/118 2200/3090/118 2201/2902/118 -f 2205/2903/121 2204/2904/121 2184/2869/121 -f 2204/2904/122 2206/2905/122 2186/2872/122 -f 2206/2905/123 2207/2906/123 2187/2874/123 -f 2207/2906/124 2205/2903/124 2185/2871/124 -f 2218/2907/116 2219/2911/116 2216/2908/116 -f 2214/2910/117 2216/2908/117 2219/2911/117 -f 2215/2913/119 2219/2911/119 2218/2907/119 -f 2212/2915/120 2217/2909/120 2216/2908/120 -f 2226/2917/116 2227/3091/116 2224/2918/116 -f 2223/2920/119 2227/3091/119 2226/2917/119 -f 2220/2922/120 2225/2919/120 2224/2918/120 -f 2221/2924/118 2226/2917/118 2225/2919/118 -f 2239/2926/119 2255/2933/119 2254/2927/119 -f 2230/2929/117 2244/2952/117 2247/2930/117 -f 2238/2932/117 2252/2955/117 2255/2933/117 -f 2232/2934/120 2249/3092/120 2248/2935/120 -f 2240/2937/120 2257/3093/120 2256/2938/120 -f 2233/2940/118 2250/2947/118 2249/2941/118 -f 2241/2943/118 2258/2949/118 2257/2944/118 -f 2235/2946/119 2251/2950/119 2250/2947/119 -f 2243/2948/119 2259/2953/119 2258/2949/119 -f 2234/2936/117 2248/2935/117 2251/2950/117 -f 2228/2951/120 2245/3094/120 2244/2952/120 -f 2242/2939/117 2256/2938/117 2259/2953/117 -f 2236/2954/120 2253/3095/120 2252/2955/120 -f 2229/2956/118 2246/2961/118 2245/2957/118 -f 2237/2928/118 2254/2927/118 2253/2959/118 -f 2231/2931/119 2247/2930/119 2246/2961/119 -f 2262/2962/125 2263/3096/125 2261/2963/125 -f 2266/2965/116 2267/2969/116 2264/2966/116 -f 2262/2968/117 2264/2966/117 2267/2969/117 -f 2261/2971/118 2266/3097/118 2265/2972/118 -f 2263/2974/119 2267/2969/119 2266/2965/119 -f 2260/2976/120 2265/2972/120 2264/2977/120 -f 2271/2979/119 2279/2983/119 2278/2980/119 -f 2270/2982/117 2276/2994/117 2279/2983/117 -f 2272/2984/120 2281/3098/120 2280/2985/120 -f 2273/2987/118 2282/2991/118 2281/2988/118 -f 2275/2990/119 2283/2992/119 2282/2991/119 -f 2274/2986/117 2280/2985/117 2283/2992/117 -f 2268/2993/120 2277/3099/120 2276/2994/120 -f 2269/2981/118 2278/2980/118 2277/2995/118 -f 2287/2997/119 2295/3001/119 2294/2998/119 -f 2286/3000/117 2292/3012/117 2295/3001/117 -f 2288/3002/120 2297/3100/120 2296/3003/120 -f 2289/3005/118 2298/3009/118 2297/3006/118 -f 2291/3008/119 2299/3010/119 2298/3009/119 -f 2290/3004/117 2296/3003/117 2299/3010/117 -f 2284/3011/120 2293/3101/120 2292/3012/120 -f 2285/2999/118 2294/2998/118 2293/3013/118 -f 2334/3015/125 2335/3102/125 2333/3016/125 -f 2302/3018/117 2300/3103/117 2301/3019/117 -f 2305/3021/118 2304/3104/118 2306/3022/118 -f 2309/3024/120 2308/3105/120 2310/3025/120 -f 2314/3027/119 2312/3106/119 2313/3028/119 -f 2318/3030/117 2316/3107/117 2317/3031/117 -f 2321/3033/118 2320/3108/118 2322/3034/118 -f 2324/3036/120 2326/3109/120 2327/3037/120 -f 2331/3039/119 2330/3110/119 2328/3040/119 -f 2338/3042/116 2339/3046/116 2336/3043/116 -f 2334/3045/117 2336/3043/117 2339/3046/117 -f 2333/3048/118 2338/3111/118 2337/3049/118 -f 2335/3051/119 2339/3046/119 2338/3042/119 -f 2332/3053/120 2337/3049/120 2336/3054/120 -f 2363/3057/117 2364/3112/117 2365/3113/117 -f 2365/3113/117 2366/3114/117 2363/3057/117 -f 2366/3114/117 2367/3058/117 2363/3057/117 -f 2367/3058/117 2368/3115/117 2369/3116/117 -f 2369/3116/117 2348/3056/117 2367/3058/117 -f 2393/3060/117 2394/3117/117 2395/3118/117 -f 2395/3118/117 2396/3119/117 2393/3060/117 -f 2396/3119/117 2397/3061/117 2393/3060/117 -f 2397/3061/117 2398/3120/117 2399/3121/117 -f 2399/3121/117 2378/3059/117 2397/3061/117 -f 2401/3062/118 2400/3122/118 2402/3063/118 -f 2406/3065/117 2404/3123/117 2405/3066/117 -f 2410/3068/119 2408/3124/119 2409/3069/119 -f 2413/3071/120 2412/3125/120 2414/3072/120 -f 2417/3074/118 2416/3126/118 2418/3075/118 -f 2422/3077/117 2420/3127/117 2421/3078/117 -f 2427/3080/119 2426/3128/119 2424/3081/119 -f 2428/3083/120 2430/3129/120 2431/3084/120 -s 1 -f 2345/3130/126 2352/3131/127 2344/3132/118 -f 2343/3133/128 2350/3134/129 2342/3135/120 -f 2341/3136/130 2348/3137/131 2340/3138/117 -f 2340/3139/117 2355/3140/132 2347/3141/133 -f 2346/3142/119 2353/3143/134 2345/3130/126 -f 2344/3132/118 2351/3144/135 2343/3133/128 -f 2342/3135/120 2349/3145/136 2341/3136/130 -f 2347/3141/133 2354/3146/137 2346/3142/119 -f 2353/3147/134 2361/3148/138 2360/3149/139 -f 2351/3150/135 2359/3151/140 2358/3152/141 -f 2349/3153/136 2357/3154/142 2356/3155/143 -f 2354/3156/137 2362/3157/144 2361/3148/138 -f 2352/3131/127 2360/3149/139 2359/3151/140 -f 2351/3150/135 2357/3154/142 2350/3158/129 -f 2359/3151/140 2365/3159/145 2358/3152/141 -f 2356/3155/143 2364/3160/146 2363/3161/147 -f 2362/3157/144 2368/3162/148 2361/3148/138 -f 2359/3151/140 2367/3163/149 2366/3164/150 -f 2357/3154/142 2365/3159/145 2364/3160/146 -f 2361/3148/138 2367/3163/149 2360/3149/139 -f 2355/3165/132 2348/3166/131 2362/3157/144 -f 2362/3157/144 2348/3166/131 2369/3167/151 -f 2349/3153/136 2356/3155/143 2348/3168/131 -f 2356/3155/143 2363/3161/147 2348/3168/131 -f 2375/3169/126 2382/3170/127 2374/3171/118 -f 2373/3172/128 2380/3173/129 2372/3174/120 -f 2371/3175/130 2378/3176/131 2370/3177/117 -f 2370/3178/117 2385/3179/132 2377/3180/133 -f 2376/3181/119 2383/3182/134 2375/3169/126 -f 2374/3171/118 2381/3183/135 2373/3172/128 -f 2372/3174/120 2379/3184/136 2371/3175/130 -f 2377/3180/133 2384/3185/137 2376/3181/119 -f 2383/3186/134 2391/3187/138 2390/3188/139 -f 2382/3170/127 2388/3189/141 2381/3190/135 -f 2380/3191/129 2386/3192/143 2379/3193/136 -f 2385/3194/132 2391/3187/138 2384/3195/137 -f 2382/3170/127 2390/3188/139 2389/3196/140 -f 2381/3190/135 2387/3197/142 2380/3191/129 -f 2389/3196/140 2395/3198/145 2388/3189/141 -f 2386/3192/143 2394/3199/146 2393/3200/147 -f 2392/3201/144 2398/3202/148 2391/3187/138 -f 2389/3196/140 2397/3203/149 2396/3204/150 -f 2387/3197/142 2395/3198/145 2394/3199/146 -f 2391/3187/138 2397/3203/149 2390/3188/139 -f 2385/3194/132 2378/3205/131 2392/3201/144 -f 2392/3201/144 2378/3205/131 2399/3206/151 -f 2379/3193/136 2386/3192/143 2378/3207/131 -f 2386/3192/143 2393/3200/147 2378/3207/131 -f 2345/3130/126 2353/3143/134 2352/3131/127 -f 2343/3133/128 2351/3144/135 2350/3134/129 -f 2341/3136/130 2349/3145/136 2348/3137/131 -f 2340/3139/117 2348/3208/131 2355/3140/132 -f 2346/3142/119 2354/3146/137 2353/3143/134 -f 2344/3132/118 2352/3131/127 2351/3144/135 -f 2342/3135/120 2350/3134/129 2349/3145/136 -f 2347/3141/133 2355/3140/132 2354/3146/137 -f 2353/3147/134 2354/3156/137 2361/3148/138 -f 2351/3150/135 2352/3131/127 2359/3151/140 -f 2349/3153/136 2350/3158/129 2357/3154/142 -f 2354/3156/137 2355/3165/132 2362/3157/144 -f 2352/3131/127 2353/3147/134 2360/3149/139 -f 2351/3150/135 2358/3152/141 2357/3154/142 -f 2359/3151/140 2366/3164/150 2365/3159/145 -f 2356/3155/143 2357/3154/142 2364/3160/146 -f 2362/3157/144 2369/3167/151 2368/3162/148 -f 2359/3151/140 2360/3149/139 2367/3163/149 -f 2357/3154/142 2358/3152/141 2365/3159/145 -f 2361/3148/138 2368/3162/148 2367/3163/149 -f 2375/3169/126 2383/3182/134 2382/3170/127 -f 2373/3172/128 2381/3183/135 2380/3173/129 -f 2371/3175/130 2379/3184/136 2378/3176/131 -f 2370/3178/117 2378/3209/131 2385/3179/132 -f 2376/3181/119 2384/3185/137 2383/3182/134 -f 2374/3171/118 2382/3170/127 2381/3183/135 -f 2372/3174/120 2380/3173/129 2379/3184/136 -f 2377/3180/133 2385/3179/132 2384/3185/137 -f 2383/3186/134 2384/3195/137 2391/3187/138 -f 2382/3170/127 2389/3196/140 2388/3189/141 -f 2380/3191/129 2387/3197/142 2386/3192/143 -f 2385/3194/132 2392/3201/144 2391/3187/138 -f 2382/3170/127 2383/3186/134 2390/3188/139 -f 2381/3190/135 2388/3189/141 2387/3197/142 -f 2389/3196/140 2396/3204/150 2395/3198/145 -f 2386/3192/143 2387/3197/142 2394/3199/146 -f 2392/3201/144 2399/3206/151 2398/3202/148 -f 2389/3196/140 2390/3188/139 2397/3203/149 -f 2387/3197/142 2388/3189/141 2395/3198/145 -f 2391/3187/138 2398/3202/148 2397/3203/149 -o Strong_Pad -v -2.500000 2.000000 2.500000 -v 2.500000 2.000000 2.500000 -v -2.500000 2.000000 -2.500000 -v 2.500000 2.000000 -2.500000 -v -0.500000 2.000000 0.500000 -v 0.500000 2.000000 0.500000 -v -0.500000 2.000000 -0.500000 -v 0.500000 2.000000 -0.500000 -v 2.500000 1.000000 2.500000 -v -2.500000 1.000000 -2.500000 -v -2.500000 1.000000 2.500000 -v 2.500000 1.000000 -2.500000 -v 2.500000 1.000000 1.500000 -v -2.500000 1.000000 1.500000 -v -2.500000 1.000000 -1.500000 -v 2.500000 1.000000 -1.500000 -v -1.500000 1.000000 -2.500000 -v -1.500000 1.000000 2.500000 -v 1.500000 1.000000 2.500000 -v 1.500000 1.000000 -2.500000 -v 2.500000 1.500000 0.500000 -v -2.500000 1.500000 0.500000 -v -2.500000 1.500000 -0.500000 -v 2.500000 1.500000 -0.500000 -v -0.500000 1.500000 -2.500000 -v -0.500000 1.500000 2.500000 -v 0.500000 1.500000 2.500000 -v 0.500000 1.500000 -2.500000 -v -0.500000 1.500000 0.500000 -v 0.500000 1.500000 0.500000 -v -0.500000 1.500000 -0.500000 -v 0.500000 1.500000 -0.500000 -v -1.500000 1.000000 -1.500000 -v 1.500000 1.000000 -1.500000 -v -1.500000 1.000000 1.500000 -v 1.500000 1.000000 1.500000 -v -1.500000 1.000000 -2.500000 -v 1.500000 1.000000 -2.500000 -v -1.500000 1.000000 -3.500000 -v 1.500000 1.000000 -3.500000 -v -1.500000 2.000000 -2.500000 -v 1.500000 2.000000 -2.500000 -v -1.500000 2.000000 -3.000000 -v -1.500000 1.500000 -3.500000 -v 1.500000 1.500000 -3.500000 -v 1.500000 2.000000 -3.000000 -v -1.000000 1.000000 3.500000 -v 1.000000 1.000000 3.500000 -v -1.000000 1.000000 2.500000 -v 1.000000 1.000000 2.500000 -v -1.000000 11.000000 2.500000 -v -1.000000 11.000000 3.500000 -v 1.000000 11.000000 3.500000 -v 1.000000 11.000000 2.500000 -v 3.250000 1.000000 2.500000 -v 3.500000 1.250000 2.500000 -v 2.500000 1.250000 2.500000 -v 2.750000 1.000000 2.500000 -v 3.500000 1.250000 4.500000 -v 3.250000 1.000000 4.500000 -v 2.750000 1.000000 4.500000 -v 2.500000 1.250000 4.500000 -v 1.500000 1.250000 4.500000 -v 1.750000 1.000000 4.500000 -v 2.250000 1.000000 4.500000 -v 2.500000 1.250000 4.500000 -v 1.750000 1.000000 2.500000 -v 1.500000 1.250000 2.500000 -v 2.500000 1.250000 2.500000 -v 2.250000 1.000000 2.500000 -v 1.500000 1.750000 2.500000 -v 1.750000 2.000000 2.500000 -v 1.750000 2.000000 4.500000 -v 1.500000 1.750000 4.500000 -v 2.500000 1.750000 4.500000 -v 2.250000 2.000000 4.500000 -v 2.250000 2.000000 2.500000 -v 2.500000 1.750000 2.500000 -v 2.500000 1.750000 2.500000 -v 2.750000 2.000000 2.500000 -v 2.750000 2.000000 4.500000 -v 2.500000 1.750000 4.500000 -v 3.500000 1.750000 4.500000 -v 3.250000 2.000000 4.500000 -v 3.250000 2.000000 2.500000 -v 3.500000 1.750000 2.500000 -v 3.000000 2.000000 2.625000 -v 2.911612 2.000000 2.661612 -v 2.875000 2.000000 2.750000 -v 2.911612 2.000000 2.838388 -v 3.000000 2.000000 2.875000 -v 3.088388 2.000000 2.838388 -v 3.125000 2.000000 2.750000 -v 3.088388 2.000000 2.661612 -v 2.963388 2.088388 2.625000 -v 2.900888 2.025888 2.661612 -v 2.900888 2.025888 2.838388 -v 2.963388 2.088388 2.875000 -v 3.025888 2.150888 2.838388 -v 3.051777 2.176777 2.750000 -v 3.025888 2.150888 2.661612 -v 2.875000 2.125000 2.625000 -v 2.875000 2.036612 2.661612 -v 2.875000 2.036612 2.838388 -v 2.875000 2.125000 2.875000 -v 2.875000 2.213388 2.838388 -v 2.875000 2.250000 2.750000 -v 2.875000 2.213388 2.661612 -v 1.000000 2.000000 2.750000 -v 1.000000 2.125000 2.625000 -v 1.000000 2.036612 2.661612 -v 1.000000 2.036612 2.838388 -v 1.000000 2.125000 2.875000 -v 1.000000 2.213388 2.838388 -v 1.000000 2.250000 2.750000 -v 1.000000 2.213388 2.661612 -v 2.000000 2.000000 3.125000 -v 1.911612 2.000000 3.161612 -v 1.875000 2.000000 3.250000 -v 1.911612 2.000000 3.338388 -v 2.000000 2.000000 3.375000 -v 2.088388 2.000000 3.338388 -v 2.125000 2.000000 3.250000 -v 2.088388 2.000000 3.161612 -v 1.963388 2.088388 3.125000 -v 1.900888 2.025888 3.161612 -v 1.900888 2.025888 3.338388 -v 1.963388 2.088388 3.375000 -v 2.025888 2.150888 3.338388 -v 2.051777 2.176777 3.250000 -v 2.025888 2.150888 3.161612 -v 1.875000 2.125000 3.125000 -v 1.875000 2.036612 3.161612 -v 1.875000 2.036612 3.338388 -v 1.875000 2.125000 3.375000 -v 1.875000 2.213388 3.338388 -v 1.875000 2.250000 3.250000 -v 1.875000 2.213388 3.161612 -v 1.000000 2.000000 3.250000 -v 1.000000 2.125000 3.125000 -v 1.000000 2.036612 3.161612 -v 1.000000 2.036612 3.338388 -v 1.000000 2.125000 3.375000 -v 1.000000 2.213388 3.338388 -v 1.000000 2.250000 3.250000 -v 1.000000 2.213388 3.161612 -v -0.500000 2.000000 0.500000 -v 0.500000 2.000000 0.500000 -v -0.500000 2.000000 -0.500000 -v 0.500000 2.000000 -0.500000 -v -1.750000 1.000000 2.500000 -v -1.500000 1.250000 2.500000 -v -2.500000 1.250000 2.500000 -v -2.250000 1.000000 2.500000 -v -1.500000 1.250000 4.500000 -v -1.750000 1.000000 4.500000 -v -2.250000 1.000000 4.500000 -v -2.500000 1.250000 4.500000 -v -3.500000 1.250000 4.500000 -v -3.250000 1.000000 4.500000 -v -2.750000 1.000000 4.500000 -v -2.500000 1.250000 4.500000 -v -3.250000 1.000000 2.500000 -v -3.500000 1.250000 2.500000 -v -2.500000 1.250000 2.500000 -v -2.750000 1.000000 2.500000 -v -3.500000 1.750000 2.500000 -v -3.250000 2.000000 2.500000 -v -3.250000 2.000000 4.500000 -v -3.500000 1.750000 4.500000 -v -2.500000 1.750000 4.500000 -v -2.750000 2.000000 4.500000 -v -2.750000 2.000000 2.500000 -v -2.500000 1.750000 2.500000 -v -2.500000 1.750000 2.500000 -v -2.250000 2.000000 2.500000 -v -2.250000 2.000000 4.500000 -v -2.500000 1.750000 4.500000 -v -1.500000 1.750000 4.500000 -v -1.750000 2.000000 4.500000 -v -1.750000 2.000000 2.500000 -v -1.500000 1.750000 2.500000 -v -3.000000 2.000000 3.375000 -v -2.911612 2.000000 3.338389 -v -2.875000 2.000000 3.250000 -v -2.911612 2.000000 3.161612 -v -3.000000 2.000000 3.125000 -v -3.088388 2.000000 3.161612 -v -3.125000 2.000000 3.250000 -v -3.088388 2.000000 3.338389 -v -2.963388 2.088388 3.375000 -v -2.900888 2.025888 3.338389 -v -2.900888 2.025888 3.161612 -v -2.963388 2.088388 3.125000 -v -3.025888 2.150888 3.161612 -v -3.051777 2.176777 3.250000 -v -3.025888 2.150888 3.338389 -v -2.875000 2.125000 3.375000 -v -2.875000 2.036612 3.338389 -v -2.875000 2.036612 3.161612 -v -2.875000 2.125000 3.125000 -v -2.875000 2.213388 3.161612 -v -2.875000 2.250000 3.250000 -v -2.875000 2.213388 3.338389 -v -1.000000 2.000000 3.250000 -v -1.000000 2.125000 3.375000 -v -1.000000 2.036612 3.338388 -v -1.000000 2.036612 3.161612 -v -1.000000 2.125000 3.125000 -v -1.000000 2.213388 3.161612 -v -1.000000 2.250000 3.250000 -v -1.000000 2.213388 3.338388 -v -2.000000 2.000000 2.875000 -v -1.911612 2.000000 2.838389 -v -1.875000 2.000000 2.750000 -v -1.911612 2.000000 2.661612 -v -2.000000 2.000000 2.625000 -v -2.088388 2.000000 2.661612 -v -2.125000 2.000000 2.750000 -v -2.088388 2.000000 2.838389 -v -1.963388 2.088388 2.875000 -v -1.900888 2.025888 2.838389 -v -1.900888 2.025888 2.661612 -v -1.963388 2.088388 2.625000 -v -2.025888 2.150888 2.661612 -v -2.051777 2.176777 2.750000 -v -2.025888 2.150888 2.838389 -v -1.875000 2.125000 2.875000 -v -1.875000 2.036612 2.838389 -v -1.875000 2.036612 2.661612 -v -1.875000 2.125000 2.625000 -v -1.875000 2.213388 2.661612 -v -1.875000 2.250000 2.750000 -v -1.875000 2.213388 2.838389 -v -1.000000 2.000000 2.750000 -v -1.000000 2.125000 2.875000 -v -1.000000 2.036612 2.838388 -v -1.000000 2.036612 2.661612 -v -1.000000 2.125000 2.625000 -v -1.000000 2.213388 2.661612 -v -1.000000 2.250000 2.750000 -v -1.000000 2.213388 2.838388 -vt 0.102564 0.719101 -vt -0.000000 0.988764 -vt -0.000000 0.539326 -vt 0.102564 0.269663 -vt 0.153846 0.224719 -vt 0.153846 0.269663 -vt 0.102564 0.808989 -vt 0.256410 0.988764 -vt 0.153846 0.808989 -vt 0.256410 0.539326 -vt 0.153846 0.719101 -vt 0.256410 0.539326 -vt -0.000000 0.539326 -vt 0.153846 0.494382 -vt 0.256410 0.539326 -vt -0.000000 0.539326 -vt 0.153846 0.494382 -vt 0.256410 0.539326 -vt -0.000000 0.539326 -vt 0.153846 0.494382 -vt 0.153846 0.494382 -vt 0.102564 0.269663 -vt 0.153846 0.224719 -vt 0.153846 0.269663 -vt 0.102564 0.269663 -vt 0.153846 0.224719 -vt 0.153846 0.269663 -vt 0.102564 0.269663 -vt 0.153846 0.224719 -vt 0.153846 0.269663 -vt 0.102564 0.449438 -vt 0.153846 0.269663 -vt 0.153846 0.449438 -vt -0.000000 0.179775 -vt 0.102564 0.269663 -vt -0.000000 0.269663 -vt 0.153846 0.000000 -vt 0.102564 0.179775 -vt 0.102564 -0.000000 -vt 0.256410 0.269663 -vt 0.153846 0.179775 -vt 0.256410 0.179775 -vt 0.051282 0.359551 -vt 0.051282 0.449438 -vt 0.205128 0.359551 -vt 0.205128 0.449438 -vt 0.205128 0.089888 -vt 0.205128 0.000000 -vt 0.051282 0.089888 -vt 0.051282 -0.000000 -vt 0.794872 0.359551 -vt 0.769231 0.089888 -vt 0.794872 0.089888 -vt 0.717949 0.089888 -vt 0.743590 0.359551 -vt 0.717949 0.359551 -vt 0.743590 0.089888 -vt 0.717949 -0.000000 -vt 0.769231 0.044944 -vt 0.666667 0.089888 -vt 0.666667 0.359551 -vt 0.769231 0.359551 -vt 0.717949 0.449438 -vt 0.769231 0.404494 -vt 0.615385 0.651685 -vt 0.602564 0.719101 -vt 0.564103 0.696629 -vt 0.358974 0.898876 -vt 0.256410 0.988764 -vt 0.256410 0.898876 -vt 0.410256 -0.000000 -vt 0.358974 -0.000000 -vt 0.564103 -0.000000 -vt 0.512821 0.898876 -vt 0.512821 -0.000000 -vt 0.410256 0.898876 -vt 0.256410 -0.000000 -vt 0.615385 0.292135 -vt 0.602564 0.359551 -vt 0.564103 0.337079 -vt 0.564103 0.449438 -vt 0.666667 0.494382 -vt 0.564103 0.494382 -vt 0.666667 0.382022 -vt 0.564103 0.426966 -vt 0.564103 0.382022 -vt 0.666667 0.651685 -vt 0.653846 0.719101 -vt 0.615385 0.696629 -vt 0.666667 0.584270 -vt 0.564103 0.629214 -vt 0.564103 0.584270 -vt 0.666667 0.561798 -vt 0.666667 0.359551 -vt 0.564103 0.359551 -vt 0.564103 0.516854 -vt 0.666667 0.516854 -vt 0.666667 0.426966 -vt 0.564103 0.561798 -vt 0.564103 0.089888 -vt 0.666667 0.134831 -vt 0.564103 0.134831 -vt 0.666667 0.022472 -vt 0.564103 0.067416 -vt 0.564103 0.022472 -vt 0.666667 0.292135 -vt 0.653846 0.359551 -vt 0.615385 0.337079 -vt 0.666667 0.224719 -vt 0.564103 0.269663 -vt 0.564103 0.224719 -vt 0.666667 0.202247 -vt 0.666667 0.000000 -vt 0.564103 -0.000000 -vt 0.564103 0.157303 -vt 0.666667 0.157303 -vt 0.666667 0.067416 -vt 0.564103 0.202247 -vt 0.102564 0.808989 -vt 0.153846 0.719101 -vt 0.153846 0.808989 -vt 0.615385 0.651685 -vt 0.602564 0.719101 -vt 0.564103 0.696629 -vt 0.615385 0.292135 -vt 0.602564 0.359551 -vt 0.564103 0.337079 -vt 0.564103 0.449438 -vt 0.666667 0.494382 -vt 0.564103 0.494382 -vt 0.666667 0.382022 -vt 0.564103 0.426966 -vt 0.564103 0.382022 -vt 0.666667 0.651685 -vt 0.653846 0.719101 -vt 0.615385 0.696629 -vt 0.666667 0.584270 -vt 0.564103 0.629214 -vt 0.564103 0.584270 -vt 0.666667 0.561798 -vt 0.666667 0.359551 -vt 0.564103 0.359551 -vt 0.564103 0.516854 -vt 0.666667 0.516854 -vt 0.666667 0.426966 -vt 0.564103 0.561798 -vt 0.564103 0.089888 -vt 0.666667 0.134831 -vt 0.564103 0.134831 -vt 0.666667 0.022472 -vt 0.564103 0.067416 -vt 0.564103 0.022472 -vt 0.666667 0.292135 -vt 0.653846 0.359551 -vt 0.615385 0.337079 -vt 0.666667 0.224719 -vt 0.564103 0.269663 -vt 0.564103 0.224719 -vt 0.666667 0.202247 -vt 0.666667 0.000000 -vt 0.564103 -0.000000 -vt 0.564103 0.157303 -vt 0.666667 0.157303 -vt 0.666667 0.067416 -vt 0.564103 0.202247 -vt 0.102564 0.224719 -vt 0.205128 0.449438 -vt 0.256410 0.449438 -vt 0.000000 0.449438 -vt 0.051282 0.449438 -vt 0.102564 0.494382 -vt 0.205128 0.449438 -vt 0.256410 0.449438 -vt -0.000000 0.449438 -vt 0.051282 0.449438 -vt 0.102564 0.494382 -vt 0.205128 0.449438 -vt 0.256410 0.449438 -vt 0.000000 0.449438 -vt 0.051282 0.449438 -vt 0.102564 0.494382 -vt 0.256410 0.449438 -vt -0.000000 0.449438 -vt 0.102564 0.494382 -vt 0.102564 0.224719 -vt 0.102564 0.224719 -vt 0.102564 0.224719 -vt -0.000000 0.359551 -vt 0.256410 0.359551 -vt 0.256410 0.089888 -vt -0.000000 0.089888 -vt 0.769231 -0.000000 -vt 0.769231 0.449438 -vt 0.564103 0.651685 -vt 0.576923 0.629214 -vt 0.602564 0.629214 -vt 0.615385 0.696629 -vt 0.576923 0.719101 -vt 0.358974 0.988764 -vt 0.564103 0.898876 -vt 0.564103 0.292135 -vt 0.576923 0.269663 -vt 0.602564 0.269663 -vt 0.615385 0.337079 -vt 0.576923 0.359551 -vt 0.666667 0.449438 -vt 0.615385 0.651685 -vt 0.628205 0.629214 -vt 0.653846 0.629214 -vt 0.666667 0.696629 -vt 0.628205 0.719101 -vt 0.666667 0.629214 -vt 0.666667 0.089888 -vt 0.615385 0.292135 -vt 0.628205 0.269663 -vt 0.653846 0.269663 -vt 0.666667 0.337079 -vt 0.628205 0.359551 -vt 0.666667 0.269663 -vt 0.102564 0.719101 -vt 0.564103 0.651685 -vt 0.576923 0.629214 -vt 0.602564 0.629214 -vt 0.615385 0.696629 -vt 0.576923 0.719101 -vt 0.564103 0.292135 -vt 0.576923 0.269663 -vt 0.602564 0.269663 -vt 0.615385 0.337079 -vt 0.576923 0.359551 -vt 0.666667 0.449438 -vt 0.615385 0.651685 -vt 0.628205 0.629214 -vt 0.653846 0.629214 -vt 0.666667 0.696629 -vt 0.628205 0.719101 -vt 0.666667 0.629214 -vt 0.666667 0.089888 -vt 0.615385 0.292135 -vt 0.628205 0.269663 -vt 0.653846 0.269663 -vt 0.666667 0.337079 -vt 0.628205 0.359551 -vt 0.666667 0.269663 -vt 0.634615 0.904494 -vt 0.641026 0.921348 -vt 0.634615 0.921348 -vt 0.647436 0.921348 -vt 0.653846 0.904494 -vt 0.653846 0.915730 -vt 0.621795 0.904494 -vt 0.628205 0.915730 -vt 0.621795 0.910112 -vt 0.628205 0.904494 -vt 0.641026 0.904494 -vt 0.660256 0.904494 -vt 0.660256 0.910112 -vt 0.647436 0.887640 -vt 0.647436 0.904494 -vt 0.621795 0.898876 -vt 0.628205 0.893258 -vt 0.641026 0.887640 -vt 0.660256 0.898876 -vt 0.666667 0.904494 -vt 0.615385 0.904494 -vt 0.621795 0.887640 -vt 0.628205 0.719101 -vt 0.628205 0.887640 -vt 0.615385 0.887640 -vt 0.621795 0.719101 -vt 0.634615 0.719101 -vt 0.634615 0.887640 -vt 0.660256 0.887640 -vt 0.666667 0.719101 -vt 0.666667 0.887640 -vt 0.647436 0.719101 -vt 0.653846 0.887640 -vt 0.660256 0.719101 -vt 0.641026 0.719101 -vt 0.653846 0.719101 -vt 0.583333 0.831461 -vt 0.589744 0.814607 -vt 0.589744 0.831461 -vt 0.596154 0.814607 -vt 0.602564 0.825843 -vt 0.596154 0.831461 -vt 0.570513 0.814607 -vt 0.576923 0.825843 -vt 0.570513 0.820225 -vt 0.576923 0.814607 -vt 0.602564 0.814607 -vt 0.608974 0.820225 -vt 0.602564 0.803371 -vt 0.570513 0.808989 -vt 0.583333 0.797753 -vt 0.583333 0.814607 -vt 0.589744 0.797753 -vt 0.608974 0.808989 -vt 0.608974 0.814607 -vt 0.615385 0.814607 -vt 0.564103 0.814607 -vt 0.570513 0.797753 -vt 0.576923 0.719101 -vt 0.576923 0.797753 -vt 0.564103 0.797753 -vt 0.570513 0.719101 -vt 0.583333 0.719101 -vt 0.608974 0.797753 -vt 0.615385 0.719101 -vt 0.615385 0.797753 -vt 0.596154 0.719101 -vt 0.596154 0.797753 -vt 0.602564 0.797753 -vt 0.608974 0.719101 -vt 0.589744 0.719101 -vt 0.602564 0.719101 -vt 0.634615 0.921348 -vt 0.641026 0.904494 -vt 0.641026 0.921348 -vt 0.647436 0.921348 -vt 0.653846 0.904494 -vt 0.653846 0.915730 -vt 0.621795 0.904494 -vt 0.628205 0.915730 -vt 0.621795 0.910112 -vt 0.628205 0.904494 -vt 0.647436 0.904494 -vt 0.660256 0.904494 -vt 0.660256 0.910112 -vt 0.653846 0.893258 -vt 0.621795 0.898876 -vt 0.628205 0.893258 -vt 0.634615 0.904494 -vt 0.641026 0.887640 -vt 0.660256 0.898876 -vt 0.666667 0.904494 -vt 0.615385 0.904494 -vt 0.621795 0.887640 -vt 0.628205 0.719101 -vt 0.628205 0.887640 -vt 0.615385 0.887640 -vt 0.621795 0.719101 -vt 0.634615 0.719101 -vt 0.634615 0.887640 -vt 0.660256 0.887640 -vt 0.666667 0.719101 -vt 0.666667 0.887640 -vt 0.647436 0.719101 -vt 0.647436 0.887640 -vt 0.653846 0.887640 -vt 0.660256 0.719101 -vt 0.641026 0.719101 -vt 0.653846 0.719101 -vt 0.583333 0.831461 -vt 0.589744 0.814607 -vt 0.589744 0.831461 -vt 0.596154 0.814607 -vt 0.602564 0.825843 -vt 0.596154 0.831461 -vt 0.570513 0.814607 -vt 0.576923 0.825843 -vt 0.570513 0.820225 -vt 0.576923 0.814607 -vt 0.608974 0.814607 -vt 0.608974 0.820225 -vt 0.596154 0.797753 -vt 0.602564 0.814607 -vt 0.576923 0.803371 -vt 0.583333 0.814607 -vt 0.589744 0.797753 -vt 0.608974 0.808989 -vt 0.583333 0.797753 -vt 0.615385 0.814607 -vt 0.564103 0.814607 -vt 0.570513 0.808989 -vt 0.570513 0.797753 -vt 0.576923 0.719101 -vt 0.576923 0.797753 -vt 0.564103 0.797753 -vt 0.570513 0.719101 -vt 0.583333 0.719101 -vt 0.608974 0.797753 -vt 0.615385 0.719101 -vt 0.615385 0.797753 -vt 0.596154 0.719101 -vt 0.602564 0.797753 -vt 0.608974 0.719101 -vt 0.589744 0.719101 -vt 0.602564 0.719101 -vt 0.653846 0.893258 -vt 0.615385 0.719101 -vt 0.576923 0.803371 -vt 0.564103 0.719101 -vt 0.615385 0.719101 -vt 0.602564 0.803371 -vt 0.564103 0.719101 -vn 0.0000 1.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn -0.4472 -0.8944 0.0000 -vn 0.0000 -0.8944 -0.4472 -vn 0.0000 -0.8944 0.4472 -vn 0.4472 -0.8944 0.0000 -vn 0.0000 0.7071 -0.7071 -vn -0.7071 -0.7071 0.0000 -vn 0.7071 -0.7071 0.0000 -vn -0.7071 0.7071 0.0000 -vn 0.7071 0.7071 0.0000 -vn 0.5293 0.5293 -0.6630 -vn 0.9239 0.3827 0.0000 -vn 0.7150 0.2962 -0.6332 -vn 0.7150 0.2962 0.6332 -vn 0.0670 0.0670 0.9955 -vn 0.0948 0.0392 0.9947 -vn -0.4617 -0.4617 -0.7573 -vn 0.0948 0.0392 -0.9947 -vn -0.6303 -0.2611 -0.7311 -vn 0.0670 0.0670 -0.9955 -vn -0.4617 -0.4617 0.7573 -vn -0.6303 -0.2611 0.7311 -vn 0.1447 0.7194 0.6794 -vn 0.5293 0.5293 0.6630 -vn -0.1363 -0.6737 -0.7263 -vn 0.0196 0.0473 -0.9987 -vn 0.1866 0.9824 0.0000 -vn -0.1363 -0.6737 0.7263 -vn -0.1944 -0.9809 0.0000 -vn 0.0000 -0.7071 -0.7071 -vn 0.1447 0.7194 -0.6794 -vn 0.0000 0.7071 0.7071 -vn 0.0196 0.0473 0.9987 -vn 0.0000 -0.7071 0.7071 -vn -0.7150 0.2962 0.6332 -vn -0.9239 0.3827 0.0000 -vn -0.7150 0.2962 -0.6332 -vn -0.0670 0.0670 -0.9955 -vn -0.0948 0.0392 -0.9947 -vn 0.4617 -0.4617 0.7573 -vn -0.0948 0.0392 0.9947 -vn 0.6303 -0.2611 0.7311 -vn -0.0670 0.0670 0.9955 -vn -0.5293 0.5293 -0.6630 -vn 0.4617 -0.4617 -0.7573 -vn 0.6303 -0.2611 -0.7311 -vn -0.0196 0.0473 -0.9987 -vn 0.1363 -0.6737 0.7263 -vn -0.0196 0.0473 0.9987 -vn -0.5293 0.5293 0.6630 -vn -0.1866 0.9824 0.0000 -vn 0.1363 -0.6737 -0.7263 -vn 0.1944 -0.9809 0.0000 -vn -0.1447 0.7194 0.6794 -vn -0.1447 0.7194 -0.6794 -s off -f 2437/3210/152 2432/3211/152 2433/3212/152 -f 2439/3213/153 2461/3214/153 2437/3215/153 -f 2436/3216/152 2434/3217/152 2432/3211/152 -f 2438/3218/152 2435/3219/152 2434/3217/152 -f 2439/3220/152 2433/3212/152 2435/3219/152 -f 2433/3221/154 2432/3222/154 2458/3223/154 -f 2432/3224/153 2434/3225/153 2453/3226/153 -f 2434/3227/155 2435/3228/155 2456/3229/155 -f 2435/3219/156 2433/3212/156 2455/3230/156 -f 2436/3231/156 2462/3232/156 2438/3233/156 -f 2438/3234/154 2463/3235/154 2439/3236/154 -f 2437/3237/155 2460/3238/155 2436/3239/155 -f 2452/3240/157 2463/3241/157 2455/3242/157 -f 2457/3243/157 2461/3244/157 2458/3245/157 -f 2454/3246/157 2460/3247/157 2453/3248/157 -f 2459/3249/157 2462/3250/157 2456/3251/157 -f 2467/3252/158 2458/3245/158 2461/3244/158 -f 2467/3252/159 2452/3240/159 2444/3253/159 -f 2455/3242/160 2465/3254/160 2447/3255/160 -f 2459/3249/158 2465/3254/158 2463/3241/158 -f 2464/3256/161 2456/3251/161 2462/3250/161 -f 2464/3256/160 2454/3246/160 2446/3257/160 -f 2453/3248/159 2466/3258/159 2445/3259/159 -f 2457/3243/161 2466/3258/161 2460/3247/161 -f 2470/3260/155 2476/3261/155 2471/3262/155 -f 2473/3263/152 2474/3264/152 2472/3265/152 -f 2477/3266/156 2469/3267/156 2476/3268/156 -f 2469/3269/154 2472/3265/154 2468/3270/154 -f 2475/3271/162 2477/3266/162 2476/3261/162 -f 2468/3272/153 2474/3264/153 2475/3273/153 -f 2497/3274/154 2507/3275/154 2505/3276/154 -f 2484/3277/152 2482/3278/152 2483/3279/152 -f 2481/3280/156 2484/3277/156 2479/3281/156 -f 2478/3282/153 2482/3283/153 2480/3284/153 -f 2480/3284/155 2485/3285/155 2481/3280/155 -f 2479/3281/154 2483/3279/154 2478/3286/154 -f 2490/3287/154 2515/3288/154 2513/3289/154 -f 2507/3290/152 2503/3291/152 2504/3292/152 -f 2500/3293/156 2506/3294/156 2497/3295/156 -f 2499/3296/155 2503/3297/155 2509/3298/155 -f 2498/3299/157 2496/3300/157 2495/3301/157 -f 2495/3301/163 2499/3302/163 2498/3299/163 -f 2501/3303/164 2497/3295/164 2496/3304/164 -f 2505/3305/165 2503/3291/165 2502/3306/165 -f 2509/3307/166 2507/3290/166 2506/3294/166 -f 2494/3308/153 2502/3306/153 2499/3302/153 -f 2515/3309/152 2511/3310/152 2512/3311/152 -f 2487/3312/156 2514/3313/156 2490/3314/156 -f 2488/3315/155 2511/3316/155 2517/3317/155 -f 2489/3318/157 2491/3319/157 2492/3320/157 -f 2492/3320/163 2488/3321/163 2489/3318/163 -f 2486/3322/164 2490/3314/164 2491/3323/164 -f 2513/3324/165 2511/3310/165 2510/3325/165 -f 2517/3326/166 2515/3309/166 2514/3313/166 -f 2493/3327/153 2510/3325/153 2488/3321/153 -f 2578/3328/152 2581/3329/152 2580/3330/152 -f 2593/3331/154 2603/3332/154 2601/3333/154 -f 2586/3334/154 2611/3335/154 2609/3336/154 -f 2603/3337/152 2599/3338/152 2600/3339/152 -f 2596/3340/156 2602/3341/156 2593/3342/156 -f 2595/3343/155 2599/3344/155 2605/3345/155 -f 2594/3346/157 2592/3347/157 2591/3348/157 -f 2591/3348/163 2595/3349/163 2594/3346/163 -f 2597/3350/164 2593/3342/164 2592/3351/164 -f 2601/3352/165 2599/3338/165 2598/3353/165 -f 2605/3354/166 2603/3337/166 2602/3341/166 -f 2590/3355/153 2598/3353/153 2595/3349/153 -f 2611/3356/152 2607/3357/152 2608/3358/152 -f 2583/3359/156 2610/3360/156 2586/3361/156 -f 2584/3362/155 2607/3363/155 2613/3364/155 -f 2585/3365/157 2587/3366/157 2588/3367/157 -f 2588/3367/163 2584/3368/163 2585/3365/163 -f 2582/3369/164 2586/3361/164 2587/3370/164 -f 2609/3371/165 2607/3357/165 2606/3372/165 -f 2613/3373/166 2611/3356/166 2610/3360/166 -f 2589/3374/153 2606/3372/153 2584/3368/153 -f 2437/3210/152 2436/3216/152 2432/3211/152 -f 2439/3213/153 2463/3375/153 2461/3214/153 -f 2436/3216/152 2438/3218/152 2434/3217/152 -f 2438/3218/152 2439/3220/152 2435/3219/152 -f 2439/3220/152 2437/3210/152 2433/3212/152 -f 2450/3376/154 2440/3377/154 2433/3221/154 -f 2432/3222/154 2442/3378/154 2449/3379/154 -f 2432/3222/154 2449/3379/154 2457/3380/154 -f 2458/3223/154 2450/3376/154 2433/3221/154 -f 2432/3222/154 2457/3380/154 2458/3223/154 -f 2445/3381/153 2442/3382/153 2432/3224/153 -f 2434/3225/153 2441/3383/153 2446/3384/153 -f 2434/3225/153 2446/3384/153 2454/3385/153 -f 2453/3226/153 2445/3381/153 2432/3224/153 -f 2434/3225/153 2454/3385/153 2453/3226/153 -f 2448/3386/155 2441/3387/155 2434/3227/155 -f 2435/3228/155 2443/3388/155 2451/3389/155 -f 2435/3228/155 2451/3389/155 2459/3390/155 -f 2456/3229/155 2448/3386/155 2434/3227/155 -f 2435/3228/155 2459/3390/155 2456/3229/155 -f 2447/3255/156 2443/3391/156 2435/3219/156 -f 2433/3212/156 2440/3392/156 2444/3253/156 -f 2433/3212/156 2444/3253/156 2452/3393/156 -f 2455/3230/156 2447/3255/156 2435/3219/156 -f 2433/3212/156 2452/3393/156 2455/3230/156 -f 2436/3231/156 2460/3394/156 2462/3232/156 -f 2438/3234/154 2462/3395/154 2463/3235/154 -f 2437/3237/155 2461/3396/155 2460/3238/155 -f 2452/3240/157 2461/3244/157 2463/3241/157 -f 2457/3243/157 2460/3247/157 2461/3244/157 -f 2454/3246/157 2462/3250/157 2460/3247/157 -f 2459/3249/157 2463/3241/157 2462/3250/157 -f 2467/3252/158 2450/3397/158 2458/3245/158 -f 2467/3252/159 2461/3244/159 2452/3240/159 -f 2455/3242/160 2463/3241/160 2465/3254/160 -f 2459/3249/158 2451/3398/158 2465/3254/158 -f 2464/3256/161 2448/3399/161 2456/3251/161 -f 2464/3256/160 2462/3250/160 2454/3246/160 -f 2453/3248/159 2460/3247/159 2466/3258/159 -f 2457/3243/161 2449/3400/161 2466/3258/161 -f 2470/3260/155 2475/3271/155 2476/3261/155 -f 2473/3263/152 2477/3266/152 2474/3264/152 -f 2473/3263/156 2469/3267/156 2477/3266/156 -f 2469/3267/156 2471/3401/156 2476/3268/156 -f 2469/3269/154 2473/3263/154 2472/3265/154 -f 2475/3271/162 2474/3264/162 2477/3266/162 -f 2475/3273/153 2470/3402/153 2468/3272/153 -f 2468/3272/153 2472/3265/153 2474/3264/153 -f 2505/3276/154 2494/3403/154 2495/3404/154 -f 2495/3404/154 2496/3405/154 2497/3274/154 -f 2497/3274/154 2506/3406/154 2507/3275/154 -f 2507/3275/154 2504/3407/154 2505/3276/154 -f 2505/3276/154 2495/3404/154 2497/3274/154 -f 2484/3277/152 2485/3408/152 2482/3278/152 -f 2481/3280/156 2485/3285/156 2484/3277/156 -f 2478/3282/153 2483/3409/153 2482/3283/153 -f 2480/3284/155 2482/3283/155 2485/3285/155 -f 2479/3281/154 2484/3277/154 2483/3279/154 -f 2513/3289/154 2493/3410/154 2492/3411/154 -f 2492/3411/154 2491/3412/154 2490/3287/154 -f 2490/3287/154 2514/3413/154 2515/3288/154 -f 2515/3288/154 2512/3414/154 2513/3289/154 -f 2513/3289/154 2492/3411/154 2490/3287/154 -f 2507/3290/152 2508/3415/152 2503/3291/152 -f 2500/3293/156 2509/3307/156 2506/3294/156 -f 2509/3298/155 2500/3416/155 2501/3417/155 -f 2501/3417/155 2498/3418/155 2499/3296/155 -f 2499/3296/155 2502/3419/155 2503/3297/155 -f 2503/3297/155 2508/3420/155 2509/3298/155 -f 2509/3298/155 2501/3417/155 2499/3296/155 -f 2498/3299/157 2501/3421/157 2496/3300/157 -f 2495/3301/163 2494/3308/163 2499/3302/163 -f 2501/3303/164 2500/3293/164 2497/3295/164 -f 2505/3305/165 2504/3292/165 2503/3291/165 -f 2509/3307/166 2508/3415/166 2507/3290/166 -f 2494/3308/153 2505/3305/153 2502/3306/153 -f 2515/3309/152 2516/3422/152 2511/3310/152 -f 2487/3312/156 2517/3326/156 2514/3313/156 -f 2517/3317/155 2487/3423/155 2486/3424/155 -f 2486/3424/155 2489/3425/155 2488/3315/155 -f 2488/3315/155 2510/3426/155 2511/3316/155 -f 2511/3316/155 2516/3427/155 2517/3317/155 -f 2517/3317/155 2486/3424/155 2488/3315/155 -f 2489/3318/157 2486/3428/157 2491/3319/157 -f 2492/3320/163 2493/3327/163 2488/3321/163 -f 2486/3322/164 2487/3312/164 2490/3314/164 -f 2513/3324/165 2512/3311/165 2511/3310/165 -f 2517/3326/166 2516/3422/166 2515/3309/166 -f 2493/3327/153 2513/3324/153 2510/3325/153 -f 2578/3328/152 2579/3429/152 2581/3329/152 -f 2601/3333/154 2590/3430/154 2591/3431/154 -f 2591/3431/154 2592/3432/154 2593/3331/154 -f 2593/3331/154 2602/3433/154 2603/3332/154 -f 2603/3332/154 2600/3434/154 2601/3333/154 -f 2601/3333/154 2591/3431/154 2593/3331/154 -f 2609/3336/154 2589/3435/154 2588/3436/154 -f 2588/3436/154 2587/3437/154 2586/3334/154 -f 2586/3334/154 2610/3438/154 2611/3335/154 -f 2611/3335/154 2608/3439/154 2609/3336/154 -f 2609/3336/154 2588/3436/154 2586/3334/154 -f 2603/3337/152 2604/3440/152 2599/3338/152 -f 2596/3340/156 2605/3354/156 2602/3341/156 -f 2605/3345/155 2596/3441/155 2597/3442/155 -f 2597/3442/155 2594/3443/155 2595/3343/155 -f 2595/3343/155 2598/3444/155 2599/3344/155 -f 2599/3344/155 2604/3445/155 2605/3345/155 -f 2605/3345/155 2597/3442/155 2595/3343/155 -f 2594/3346/157 2597/3446/157 2592/3347/157 -f 2591/3348/163 2590/3355/163 2595/3349/163 -f 2597/3350/164 2596/3340/164 2593/3342/164 -f 2601/3352/165 2600/3339/165 2599/3338/165 -f 2605/3354/166 2604/3440/166 2603/3337/166 -f 2590/3355/153 2601/3352/153 2598/3353/153 -f 2611/3356/152 2612/3447/152 2607/3357/152 -f 2583/3359/156 2613/3373/156 2610/3360/156 -f 2613/3364/155 2583/3448/155 2582/3449/155 -f 2582/3449/155 2585/3450/155 2584/3362/155 -f 2584/3362/155 2606/3451/155 2607/3363/155 -f 2607/3363/155 2612/3452/155 2613/3364/155 -f 2613/3364/155 2582/3449/155 2584/3362/155 -f 2585/3365/157 2582/3453/157 2587/3366/157 -f 2588/3367/163 2589/3374/163 2584/3368/163 -f 2582/3369/164 2583/3359/164 2586/3361/164 -f 2609/3371/165 2608/3358/165 2607/3357/165 -f 2613/3373/166 2612/3447/166 2611/3356/166 -f 2589/3374/153 2609/3371/153 2606/3372/153 -s 1 -f 2532/3454/167 2524/3455/168 2525/3456/169 -f 2523/3457/170 2529/3458/171 2522/3459/172 -f 2527/3460/173 2518/3461/174 2519/3462/175 -f 2526/3463/176 2525/3456/169 2518/3461/174 -f 2531/3464/166 2523/3457/170 2524/3455/168 -f 2522/3459/172 2528/3465/177 2521/3466/178 -f 2537/3467/179 2529/3458/171 2530/3468/180 -f 2534/3469/181 2526/3463/176 2527/3460/173 -f 2533/3470/182 2532/3454/167 2526/3463/176 -f 2538/3471/183 2530/3468/180 2531/3464/166 -f 2529/3458/171 2535/3472/184 2528/3465/177 -f 2532/3454/167 2538/3471/183 2531/3464/166 -f 2520/3473/185 2521/3466/178 2528/3465/177 -f 2528/3465/177 2535/3472/184 2520/3473/185 -f 2519/3462/175 2520/3474/185 2527/3460/173 -f 2527/3460/173 2520/3474/185 2534/3469/181 -f 2534/3475/181 2541/3476/155 2533/3477/182 -f 2520/3478/185 2542/3479/186 2534/3475/181 -f 2533/3477/182 2547/3480/162 2539/3481/187 -f 2535/3482/184 2540/3483/157 2520/3484/185 -f 2538/3471/183 2545/3485/188 2537/3467/179 -f 2536/3486/189 2543/3487/190 2535/3482/184 -f 2539/3481/187 2546/3488/152 2538/3471/183 -f 2537/3467/179 2544/3489/154 2536/3486/189 -f 2555/3490/169 2561/3491/166 2554/3492/168 -f 2560/3493/180 2552/3494/172 2553/3495/170 -f 2557/3496/173 2548/3497/174 2549/3498/175 -f 2556/3499/176 2555/3490/169 2548/3497/174 -f 2561/3491/166 2553/3495/170 2554/3492/168 -f 2559/3500/171 2551/3501/178 2552/3494/172 -f 2560/3493/180 2566/3502/189 2559/3500/171 -f 2564/3503/181 2556/3499/176 2557/3496/173 -f 2556/3499/176 2569/3504/187 2562/3505/167 -f 2568/3506/183 2560/3493/180 2561/3491/166 -f 2559/3500/171 2565/3507/184 2558/3508/177 -f 2562/3505/167 2568/3506/183 2561/3491/166 -f 2550/3509/185 2551/3501/178 2558/3508/177 -f 2558/3508/177 2565/3507/184 2550/3509/185 -f 2549/3498/175 2550/3510/185 2557/3496/173 -f 2557/3496/173 2550/3510/185 2564/3503/181 -f 2564/3511/181 2571/3512/155 2563/3513/182 -f 2550/3514/185 2572/3515/186 2564/3511/181 -f 2563/3513/182 2577/3516/162 2569/3504/187 -f 2565/3517/184 2570/3518/157 2550/3519/185 -f 2568/3506/183 2575/3520/188 2567/3521/179 -f 2566/3522/189 2573/3523/190 2565/3517/184 -f 2569/3504/187 2576/3524/152 2568/3506/183 -f 2567/3521/179 2574/3525/154 2566/3522/189 -f 2621/3526/191 2627/3527/165 2620/3528/192 -f 2619/3529/193 2625/3530/194 2618/3531/195 -f 2623/3532/196 2614/3533/197 2615/3534/198 -f 2622/3535/199 2621/3526/191 2614/3533/197 -f 2620/3528/192 2626/3536/200 2619/3529/193 -f 2618/3531/195 2624/3537/201 2617/3538/202 -f 2626/3536/200 2632/3539/203 2625/3530/194 -f 2630/3540/204 2622/3535/199 2623/3532/196 -f 2629/3541/205 2628/3542/206 2622/3535/199 -f 2634/3543/207 2626/3536/200 2627/3527/165 -f 2625/3530/194 2631/3544/208 2624/3537/201 -f 2628/3542/206 2634/3543/207 2627/3527/165 -f 2616/3545/209 2617/3538/202 2624/3537/201 -f 2624/3537/201 2631/3544/208 2616/3545/209 -f 2615/3534/198 2616/3546/209 2623/3532/196 -f 2623/3532/196 2616/3546/209 2630/3540/204 -f 2630/3547/204 2637/3548/154 2629/3549/205 -f 2616/3550/209 2638/3551/190 2630/3547/204 -f 2629/3549/205 2643/3552/188 2635/3553/210 -f 2631/3554/208 2636/3555/157 2616/3556/209 -f 2634/3543/207 2641/3557/162 2633/3558/211 -f 2632/3559/203 2639/3560/186 2631/3554/208 -f 2635/3553/210 2642/3561/152 2634/3543/207 -f 2633/3558/211 2640/3562/155 2632/3559/203 -f 2651/3563/191 2657/3564/165 2650/3565/192 -f 2656/3566/200 2648/3567/195 2649/3568/193 -f 2653/3569/196 2644/3570/197 2645/3571/198 -f 2652/3572/199 2651/3563/191 2644/3570/197 -f 2657/3564/165 2649/3568/193 2650/3565/192 -f 2648/3567/195 2654/3573/201 2647/3574/202 -f 2663/3575/211 2655/3576/194 2656/3566/200 -f 2653/3569/196 2659/3577/205 2652/3572/199 -f 2659/3577/205 2658/3578/206 2652/3572/199 -f 2664/3579/207 2656/3566/200 2657/3564/165 -f 2655/3576/194 2661/3580/208 2654/3573/201 -f 2665/3581/210 2657/3564/165 2658/3578/206 -f 2646/3582/209 2647/3574/202 2654/3573/201 -f 2654/3573/201 2661/3580/208 2646/3582/209 -f 2645/3571/198 2646/3583/209 2653/3569/196 -f 2653/3569/196 2646/3583/209 2660/3584/204 -f 2660/3585/204 2667/3586/154 2659/3587/205 -f 2646/3588/209 2668/3589/190 2660/3585/204 -f 2659/3587/205 2673/3590/188 2665/3581/210 -f 2661/3591/208 2666/3592/157 2646/3593/209 -f 2664/3579/207 2671/3594/162 2663/3575/211 -f 2662/3595/203 2669/3596/186 2661/3591/208 -f 2664/3579/207 2673/3590/188 2672/3597/152 -f 2662/3595/203 2671/3594/162 2670/3598/155 -f 2532/3454/167 2531/3464/166 2524/3455/168 -f 2523/3457/170 2530/3468/180 2529/3458/171 -f 2527/3460/173 2526/3463/176 2518/3461/174 -f 2526/3463/176 2532/3454/167 2525/3456/169 -f 2531/3464/166 2530/3468/180 2523/3457/170 -f 2522/3459/172 2529/3458/171 2528/3465/177 -f 2537/3467/179 2536/3599/189 2529/3458/171 -f 2534/3469/181 2533/3470/182 2526/3463/176 -f 2533/3470/182 2539/3481/187 2532/3454/167 -f 2538/3471/183 2537/3467/179 2530/3468/180 -f 2529/3458/171 2536/3599/189 2535/3472/184 -f 2532/3454/167 2539/3481/187 2538/3471/183 -f 2534/3475/181 2542/3479/186 2541/3476/155 -f 2520/3478/185 2540/3600/157 2542/3479/186 -f 2533/3477/182 2541/3476/155 2547/3480/162 -f 2535/3482/184 2543/3487/190 2540/3483/157 -f 2538/3471/183 2546/3488/152 2545/3485/188 -f 2536/3486/189 2544/3489/154 2543/3487/190 -f 2539/3481/187 2547/3480/162 2546/3488/152 -f 2537/3467/179 2545/3485/188 2544/3489/154 -f 2555/3490/169 2562/3505/167 2561/3491/166 -f 2560/3493/180 2559/3500/171 2552/3494/172 -f 2557/3496/173 2556/3499/176 2548/3497/174 -f 2556/3499/176 2562/3505/167 2555/3490/169 -f 2561/3491/166 2560/3493/180 2553/3495/170 -f 2559/3500/171 2558/3508/177 2551/3501/178 -f 2560/3493/180 2567/3521/179 2566/3502/189 -f 2564/3503/181 2563/3601/182 2556/3499/176 -f 2556/3499/176 2563/3601/182 2569/3504/187 -f 2568/3506/183 2567/3521/179 2560/3493/180 -f 2559/3500/171 2566/3502/189 2565/3507/184 -f 2562/3505/167 2569/3504/187 2568/3506/183 -f 2564/3511/181 2572/3515/186 2571/3512/155 -f 2550/3514/185 2570/3602/157 2572/3515/186 -f 2563/3513/182 2571/3512/155 2577/3516/162 -f 2565/3517/184 2573/3523/190 2570/3518/157 -f 2568/3506/183 2576/3524/152 2575/3520/188 -f 2566/3522/189 2574/3525/154 2573/3523/190 -f 2569/3504/187 2577/3516/162 2576/3524/152 -f 2567/3521/179 2575/3520/188 2574/3525/154 -f 2621/3526/191 2628/3542/206 2627/3527/165 -f 2619/3529/193 2626/3536/200 2625/3530/194 -f 2623/3532/196 2622/3535/199 2614/3533/197 -f 2622/3535/199 2628/3542/206 2621/3526/191 -f 2620/3528/192 2627/3527/165 2626/3536/200 -f 2618/3531/195 2625/3530/194 2624/3537/201 -f 2626/3536/200 2633/3558/211 2632/3539/203 -f 2630/3540/204 2629/3541/205 2622/3535/199 -f 2629/3541/205 2635/3553/210 2628/3542/206 -f 2634/3543/207 2633/3558/211 2626/3536/200 -f 2625/3530/194 2632/3539/203 2631/3544/208 -f 2628/3542/206 2635/3553/210 2634/3543/207 -f 2630/3547/204 2638/3551/190 2637/3548/154 -f 2616/3550/209 2636/3603/157 2638/3551/190 -f 2629/3549/205 2637/3548/154 2643/3552/188 -f 2631/3554/208 2639/3560/186 2636/3555/157 -f 2634/3543/207 2642/3561/152 2641/3557/162 -f 2632/3559/203 2640/3562/155 2639/3560/186 -f 2635/3553/210 2643/3552/188 2642/3561/152 -f 2633/3558/211 2641/3557/162 2640/3562/155 -f 2651/3563/191 2658/3578/206 2657/3564/165 -f 2656/3566/200 2655/3576/194 2648/3567/195 -f 2653/3569/196 2652/3572/199 2644/3570/197 -f 2652/3572/199 2658/3578/206 2651/3563/191 -f 2657/3564/165 2656/3566/200 2649/3568/193 -f 2648/3567/195 2655/3576/194 2654/3573/201 -f 2663/3575/211 2662/3604/203 2655/3576/194 -f 2653/3569/196 2660/3584/204 2659/3577/205 -f 2659/3577/205 2665/3581/210 2658/3578/206 -f 2664/3579/207 2663/3575/211 2656/3566/200 -f 2655/3576/194 2662/3604/203 2661/3580/208 -f 2665/3581/210 2664/3579/207 2657/3564/165 -f 2660/3585/204 2668/3589/190 2667/3586/154 -f 2646/3588/209 2666/3605/157 2668/3589/190 -f 2659/3587/205 2667/3586/154 2673/3590/188 -f 2661/3591/208 2669/3596/186 2666/3592/157 -f 2664/3579/207 2672/3597/152 2671/3594/162 -f 2662/3595/203 2670/3598/155 2669/3596/186 -f 2664/3579/207 2665/3581/210 2673/3590/188 -f 2662/3595/203 2663/3575/211 2671/3594/162 -o Strong_Rope -v 0.625000 7.661612 0.088388 -v 0.625000 7.625000 0.000000 -v 0.625000 7.661612 -0.088388 -v 0.625000 7.750000 -0.125000 -v 0.625000 7.838388 -0.088388 -v 0.625000 7.875000 0.000000 -v 0.625000 7.838388 0.088388 -v 0.625000 7.750000 0.125000 -v 1.000000 7.661612 0.088388 -v 1.000000 7.625000 0.000000 -v 1.000000 7.661612 -0.088388 -v 1.000000 7.750000 -0.125000 -v 1.000000 7.838388 -0.088388 -v 1.000000 7.875000 0.000000 -v 1.000000 7.838388 0.088388 -v 1.025888 7.661612 0.099112 -v 1.088388 7.625000 0.036612 -v 1.150888 7.661612 -0.025888 -v 1.176777 7.750000 -0.051777 -v 1.150888 7.838388 -0.025888 -v 1.088388 7.875000 0.036612 -v 1.025888 7.838388 0.099112 -v 1.036612 7.661612 0.125000 -v 1.125000 7.625000 0.125000 -v 1.213388 7.661612 0.125000 -v 1.250000 7.750000 0.125000 -v 1.213388 7.838388 0.125000 -v 1.125000 7.875000 0.125000 -v 1.036612 7.838388 0.125000 -v 1.000000 7.750000 0.125000 -v 1.036612 7.661612 2.875000 -v 1.125000 7.625000 2.875000 -v 1.213388 7.661612 2.875000 -v 1.250000 7.750000 2.875000 -v 1.213388 7.838388 2.875000 -v 1.125000 7.875000 2.875000 -v 1.036612 7.838388 2.875000 -v 1.025888 7.661612 2.900888 -v 1.088388 7.625000 2.963388 -v 1.150888 7.661612 3.025888 -v 1.176777 7.750000 3.051777 -v 1.150888 7.838388 3.025888 -v 1.088388 7.875000 2.963388 -v 1.025888 7.838388 2.900888 -v 1.000000 7.661612 2.911612 -v 1.000000 7.625000 3.000000 -v 1.000000 7.661612 3.088388 -v 1.000000 7.750000 3.125000 -v 1.000000 7.838388 3.088388 -v 1.000000 7.875000 3.000000 -v 1.000000 7.838388 2.911612 -v 1.000000 7.750000 2.875000 -v 1.000000 5.500000 2.875000 -v 1.000000 5.588388 2.911612 -v 1.000000 5.625000 3.000000 -v 1.000000 5.588388 3.088388 -v 1.000000 5.500000 3.125000 -v 1.000000 5.411612 3.088388 -v 1.000000 5.375000 3.000000 -v 1.000000 5.411612 2.911612 -v 1.025888 5.588388 2.900888 -v 1.088388 5.625000 2.963388 -v 1.150888 5.588388 3.025888 -v 1.176777 5.500000 3.051777 -v 1.150888 5.411612 3.025888 -v 1.088388 5.375000 2.963388 -v 1.025888 5.411612 2.900888 -v 1.036612 5.588388 2.875000 -v 1.125000 5.625000 2.875000 -v 1.213388 5.588388 2.875000 -v 1.250000 5.500000 2.875000 -v 1.213388 5.411612 2.875000 -v 1.125000 5.375000 2.875000 -v 1.036612 5.411612 2.875000 -v 1.000000 5.500000 0.125000 -v 1.036612 5.588388 0.125000 -v 1.125000 5.625000 0.125000 -v 1.213388 5.588388 0.125000 -v 1.250000 5.500000 0.125000 -v 1.213388 5.411612 0.125000 -v 1.125000 5.375000 0.125000 -v 1.036612 5.411612 0.125000 -v 1.025888 5.588388 0.099112 -v 1.088388 5.625000 0.036612 -v 1.150888 5.588388 -0.025888 -v 1.176777 5.500000 -0.051777 -v 1.150888 5.411612 -0.025888 -v 1.088388 5.375000 0.036612 -v 1.025888 5.411612 0.099112 -v 1.000000 5.588388 0.088388 -v 1.000000 5.625000 0.000000 -v 1.000000 5.588388 -0.088388 -v 1.000000 5.500000 -0.125000 -v 1.000000 5.411612 -0.088388 -v 1.000000 5.375000 0.000000 -v 1.000000 5.411612 0.088388 -v 0.625000 5.500000 0.125000 -v 0.625000 5.588388 0.088388 -v 0.625000 5.625000 0.000000 -v 0.625000 5.588388 -0.088388 -v 0.625000 5.500000 -0.125000 -v 0.625000 5.411612 -0.088388 -v 0.625000 5.375000 0.000000 -v 0.625000 5.411612 0.088388 -v -0.250000 8.500000 2.500000 -v 0.250000 8.500000 2.500000 -v -0.250000 9.000000 2.500000 -v 0.250000 9.000000 2.500000 -v -0.250000 8.500000 0.250000 -v 0.250000 8.500000 0.250000 -v -0.250000 9.000000 0.250000 -v 0.250000 9.000000 0.250000 -v 0.000000 11.000000 2.500000 -v 0.000000 10.875000 2.500000 -v 0.000000 11.000000 0.000000 -v 0.000000 10.875000 0.000000 -v 0.000000 10.812500 0.500000 -v 0.000000 10.750000 1.000000 -v 0.000000 10.750000 1.500000 -v 0.000000 10.812500 2.000000 -v 0.000000 10.687500 2.000000 -v 0.000000 10.625000 1.500000 -v 0.000000 10.625000 1.000000 -v 0.000000 10.687500 0.500000 -v 0.000000 11.000000 2.500000 -v 0.000000 10.875000 2.500000 -v 0.000000 11.000000 0.000000 -v 0.000000 10.875000 0.000000 -v 0.000000 10.812500 0.500000 -v 0.000000 10.750000 1.000000 -v 0.000000 10.750000 1.500000 -v 0.000000 10.812500 2.000000 -v 0.000000 10.687500 2.000000 -v 0.000000 10.625000 1.500000 -v 0.000000 10.625000 1.000000 -v 0.000000 10.687500 0.500000 -vt 0.692308 0.449438 -vt 0.666667 0.651685 -vt 0.666667 0.449438 -vt 0.769231 0.449438 -vt 0.743590 0.651685 -vt 0.743590 0.449438 -vt 0.717949 0.449438 -vt 0.692308 0.651685 -vt 0.717949 0.651685 -vt 0.461538 0.910112 -vt 0.487179 0.898876 -vt 0.487179 0.910112 -vt 0.358974 0.898876 -vt 0.384615 0.910112 -vt 0.358974 0.910112 -vt 0.384615 0.898876 -vt 0.410256 0.910112 -vt 0.410256 0.898876 -vt 0.435897 0.910112 -vt 0.461538 0.898876 -vt 0.461538 0.910112 -vt 0.487179 0.898876 -vt 0.461538 0.898876 -vt 0.384615 0.910112 -vt 0.358974 0.898876 -vt 0.358974 0.910112 -vt 0.410256 0.910112 -vt 0.384615 0.898876 -vt 0.435897 0.910112 -vt 0.410256 0.898876 -vt 0.435897 0.898876 -vt 0.769231 0.651685 -vt 0.435897 0.898876 -vt 0.487179 0.910112 -vt 0.705128 0.966292 -vt 0.698718 1.000000 -vt 0.698718 0.966292 -vt 0.685897 0.966292 -vt 0.679487 1.000000 -vt 0.679487 0.966292 -vt 0.692308 1.000000 -vt 0.692308 0.966292 -vt 0.673077 0.966292 -vt 0.666667 1.000000 -vt 0.666667 0.966292 -vt 0.711538 0.966292 -vt 0.705128 1.000000 -vt 0.717949 0.966292 -vt 0.711538 1.000000 -vt 0.673077 1.000000 -vt 0.685897 1.000000 -vt 0.711538 0.949438 -vt 0.717949 0.949438 -vt 0.711538 0.955056 -vt 0.711538 0.943820 -vt 0.673077 0.949438 -vt 0.673077 0.955056 -vt 0.666667 0.949438 -vt 0.673077 0.943820 -vt 0.685897 0.949438 -vt 0.679487 0.960674 -vt 0.679487 0.949438 -vt 0.698718 0.949438 -vt 0.692308 0.949438 -vt 0.705128 0.960674 -vt 0.705128 0.949438 -vt 0.685897 0.932584 -vt 0.698718 0.932584 -vt 0.679487 0.938202 -vt 0.692308 0.932584 -vt 0.705128 0.938202 -vt 0.685897 0.685393 -vt 0.679487 0.932584 -vt 0.679487 0.685393 -vt 0.698718 0.685393 -vt 0.692308 0.685393 -vt 0.673077 0.685393 -vt 0.666667 0.932584 -vt 0.666667 0.685393 -vt 0.711538 0.685393 -vt 0.705128 0.932584 -vt 0.705128 0.685393 -vt 0.717949 0.685393 -vt 0.711538 0.932584 -vt 0.673077 0.932584 -vt 0.711538 0.668539 -vt 0.717949 0.668539 -vt 0.711538 0.674157 -vt 0.711538 0.662921 -vt 0.673077 0.668539 -vt 0.673077 0.674157 -vt 0.666667 0.668539 -vt 0.673077 0.662921 -vt 0.679487 0.668539 -vt 0.685897 0.668539 -vt 0.692308 0.668539 -vt 0.698718 0.668539 -vt 0.705128 0.679775 -vt 0.705128 0.668539 -vt 0.679487 0.679775 -vt 0.698718 0.651685 -vt 0.705128 0.657303 -vt 0.685897 0.651685 -vt 0.679487 0.657303 -vt 0.692308 0.651685 -vt 0.692308 0.668539 -vt 0.685897 0.651685 -vt 0.692308 0.651685 -vt 0.679487 0.657303 -vt 0.673077 0.668539 -vt 0.673077 0.662921 -vt 0.711538 0.662921 -vt 0.705128 0.668539 -vt 0.705128 0.657303 -vt 0.698718 0.651685 -vt 0.679487 0.668539 -vt 0.698718 0.685393 -vt 0.698718 0.668539 -vt 0.685897 0.685393 -vt 0.685897 0.668539 -vt 0.679487 0.679775 -vt 0.711538 0.668539 -vt 0.705128 0.679775 -vt 0.666667 0.668539 -vt 0.673077 0.674157 -vt 0.717949 0.668539 -vt 0.711538 0.674157 -vt 0.705128 0.685393 -vt 0.698718 0.932584 -vt 0.692308 0.685393 -vt 0.685897 0.932584 -vt 0.679487 0.685393 -vt 0.673077 0.932584 -vt 0.673077 0.685393 -vt 0.717949 0.685393 -vt 0.711538 0.932584 -vt 0.711538 0.685393 -vt 0.705128 0.932584 -vt 0.666667 0.932584 -vt 0.666667 0.685393 -vt 0.692308 0.932584 -vt 0.679487 0.932584 -vt 0.711538 0.943820 -vt 0.705128 0.949438 -vt 0.705128 0.938202 -vt 0.692308 0.949438 -vt 0.679487 0.949438 -vt 0.679487 0.938202 -vt 0.698718 0.949438 -vt 0.685897 0.949438 -vt 0.673077 0.943820 -vt 0.673077 0.949438 -vt 0.705128 0.960674 -vt 0.698718 0.966292 -vt 0.692308 0.966292 -vt 0.685897 0.966292 -vt 0.673077 0.955056 -vt 0.711538 0.949438 -vt 0.679487 0.960674 -vt 0.666667 0.949438 -vt 0.717949 0.949438 -vt 0.711538 0.955056 -vt 0.685897 1.000000 -vt 0.679487 0.966292 -vt 0.673077 1.000000 -vt 0.673077 0.966292 -vt 0.717949 0.966292 -vt 0.711538 1.000000 -vt 0.711538 0.966292 -vt 0.705128 1.000000 -vt 0.705128 0.966292 -vt 0.666667 1.000000 -vt 0.666667 0.966292 -vt 0.692308 1.000000 -vt 0.679487 1.000000 -vt 0.698718 1.000000 -vt 0.717949 1.000000 -vt 0.717949 0.932584 -vt 0.717949 0.932584 -vt 0.717949 1.000000 -vn 0.0000 -1.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0196 -0.9987 -0.0473 -vn 0.0000 -0.7071 -0.7071 -vn 0.1447 -0.6794 -0.7194 -vn 0.1447 0.6794 -0.7194 -vn 0.0196 0.9987 -0.0473 -vn 0.0000 0.0000 -1.0000 -vn 0.1866 0.0000 -0.9824 -vn -0.1363 0.7263 0.6737 -vn 0.0000 0.0000 1.0000 -vn -0.7071 0.0000 0.7071 -vn -0.1363 -0.7263 0.6737 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 0.7071 0.7071 -vn 0.0000 0.7071 -0.7071 -vn -0.4617 -0.7573 0.4617 -vn -0.6737 -0.7263 0.1363 -vn -0.4617 0.7573 0.4617 -vn -0.6737 0.7263 0.1363 -vn 0.5293 0.6630 -0.5293 -vn 0.0670 0.9955 -0.0670 -vn 0.5293 -0.6630 -0.5293 -vn 0.7071 0.0000 -0.7071 -vn 0.0670 -0.9955 -0.0670 -vn 0.7194 0.6794 -0.1447 -vn 0.7194 -0.6794 -0.1447 -vn 0.0473 0.9987 -0.0196 -vn 0.9824 0.0000 -0.1866 -vn 0.0473 -0.9987 -0.0196 -vn 0.7194 0.6794 0.1447 -vn 0.0473 0.9987 0.0196 -vn 0.7194 -0.6794 0.1447 -vn 0.9824 0.0000 0.1866 -vn -0.6737 0.7263 -0.1363 -vn -0.9809 0.0000 -0.1944 -vn -0.6737 -0.7263 -0.1363 -vn 0.0473 -0.9987 0.0196 -vn -0.4617 -0.7573 -0.4617 -vn -0.2611 -0.7311 -0.6303 -vn -0.4617 0.7573 -0.4617 -vn -0.2611 0.7311 -0.6303 -vn 0.0670 0.9955 0.0670 -vn 0.5293 0.6630 0.5293 -vn 0.7071 0.0000 0.7071 -vn 0.5293 -0.6630 0.5293 -vn 0.0670 -0.9955 0.0670 -vn 0.2962 -0.6332 0.7150 -vn 0.0392 -0.9947 0.0948 -vn 0.2962 0.6332 0.7150 -vn 0.0392 0.9947 0.0948 -vn 0.3827 0.0000 0.9239 -s off -f 2778/3606/212 2783/3607/212 2779/3608/212 -f 2779/3609/213 2785/3610/213 2781/3611/213 -f 2780/3612/214 2782/3613/214 2778/3606/214 -f 2781/3611/215 2784/3614/215 2780/3612/215 -f 2790/3615/213 2789/3616/213 2788/3617/213 -f 2787/3618/213 2793/3619/213 2786/3620/213 -f 2794/3621/213 2792/3622/213 2793/3619/213 -f 2795/3623/213 2791/3624/213 2792/3622/213 -f 2791/3624/213 2797/3625/213 2790/3615/213 -f 2802/3626/214 2801/3627/214 2809/3628/214 -f 2805/3629/214 2799/3630/214 2798/3631/214 -f 2804/3632/214 2806/3633/214 2805/3629/214 -f 2803/3634/214 2807/3635/214 2804/3632/214 -f 2803/3634/214 2809/3628/214 2808/3636/214 -f 2778/3606/212 2782/3613/212 2783/3607/212 -f 2779/3609/213 2783/3637/213 2785/3610/213 -f 2780/3612/214 2784/3614/214 2782/3613/214 -f 2781/3611/215 2785/3610/215 2784/3614/215 -f 2790/3615/213 2797/3625/213 2789/3616/213 -f 2787/3618/213 2794/3621/213 2793/3619/213 -f 2794/3621/213 2795/3623/213 2792/3622/213 -f 2795/3623/213 2796/3638/213 2791/3624/213 -f 2791/3624/213 2796/3638/213 2797/3625/213 -f 2802/3626/214 2800/3639/214 2801/3627/214 -f 2805/3629/214 2806/3633/214 2799/3630/214 -f 2804/3632/214 2807/3635/214 2806/3633/214 -f 2803/3634/214 2808/3636/214 2807/3635/214 -f 2803/3634/214 2802/3626/214 2809/3628/214 -s 1 -f 2683/3640/216 2676/3641/217 2684/3642/218 -f 2686/3643/219 2679/3644/215 2687/3645/220 -f 2684/3642/218 2677/3646/221 2685/3647/222 -f 2688/3648/223 2681/3649/224 2703/3650/225 -f 2682/3651/226 2675/3652/212 2683/3640/216 -f 2703/3653/225 2674/3654/227 2682/3651/226 -f 2687/3645/220 2680/3655/228 2688/3648/223 -f 2685/3647/222 2678/3656/229 2686/3643/219 -f 2689/3657/230 2703/3658/225 2682/3659/226 -f 2703/3658/225 2689/3657/230 2696/3660/231 -f 2695/3661/232 2688/3662/223 2703/3663/225 -f 2702/3664/233 2695/3661/232 2703/3663/225 -f 2693/3665/234 2687/3666/220 2694/3667/235 -f 2691/3668/236 2685/3647/222 2692/3669/237 -f 2689/3657/230 2683/3670/216 2690/3671/238 -f 2694/3667/235 2688/3662/223 2695/3661/232 -f 2693/3665/234 2685/3647/222 2686/3643/219 -f 2690/3671/238 2684/3642/218 2691/3668/236 -f 2702/3664/233 2694/3667/235 2695/3661/232 -f 2700/3672/239 2692/3669/237 2693/3665/234 -f 2698/3673/240 2690/3671/238 2691/3668/236 -f 2700/3672/239 2694/3667/235 2701/3674/241 -f 2698/3673/240 2692/3669/237 2699/3675/242 -f 2697/3676/243 2689/3657/230 2690/3671/238 -f 2708/3677/244 2701/3678/241 2709/3679/245 -f 2706/3680/246 2699/3675/242 2707/3681/247 -f 2710/3682/248 2703/3683/225 2725/3684/249 -f 2704/3685/250 2697/3686/243 2705/3687/251 -f 2725/3688/249 2696/3689/231 2704/3685/250 -f 2709/3679/245 2702/3690/233 2710/3682/248 -f 2707/3681/247 2700/3672/239 2708/3677/244 -f 2705/3687/251 2698/3673/240 2706/3680/246 -f 2711/3691/252 2725/3692/249 2704/3693/250 -f 2718/3694/253 2725/3692/249 2711/3691/252 -f 2717/3695/254 2710/3696/248 2725/3697/249 -f 2725/3697/249 2724/3698/255 2717/3695/254 -f 2708/3677/244 2716/3699/256 2715/3700/257 -f 2706/3680/246 2714/3701/258 2713/3702/259 -f 2711/3691/252 2705/3703/251 2712/3704/260 -f 2709/3705/245 2717/3695/254 2716/3699/256 -f 2714/3701/258 2708/3677/244 2715/3700/257 -f 2712/3704/260 2706/3680/246 2713/3702/259 -f 2712/3704/260 2720/3706/261 2719/3707/262 -f 2722/3708/263 2716/3699/256 2723/3709/264 -f 2720/3706/261 2714/3701/258 2721/3710/265 -f 2718/3694/253 2712/3704/260 2719/3707/262 -f 2723/3709/264 2717/3695/254 2724/3698/255 -f 2714/3701/258 2722/3708/263 2721/3710/265 -f 2737/3711/258 2729/3712/263 2730/3713/265 -f 2728/3714/264 2734/3715/254 2727/3716/255 -f 2733/3717/253 2739/3718/260 2732/3719/262 -f 2731/3720/261 2737/3711/258 2730/3713/265 -f 2729/3712/263 2735/3721/256 2728/3714/264 -f 2739/3718/260 2731/3720/261 2732/3719/262 -f 2739/3718/260 2745/3722/246 2738/3723/259 -f 2737/3711/258 2743/3724/244 2736/3725/257 -f 2742/3726/245 2734/3715/254 2735/3721/256 -f 2740/3727/252 2746/3728/251 2739/3718/260 -f 2745/3722/246 2737/3711/258 2738/3723/259 -f 2743/3724/244 2735/3721/256 2736/3725/257 -f 2726/3729/249 2727/3716/255 2734/3715/254 -f 2734/3715/254 2741/3730/248 2726/3729/249 -f 2733/3717/253 2726/3731/249 2740/3727/252 -f 2740/3727/252 2726/3731/249 2747/3732/250 -f 2746/3733/251 2753/3734/240 2745/3722/246 -f 2744/3735/247 2751/3736/239 2743/3724/244 -f 2742/3737/245 2749/3738/233 2741/3739/248 -f 2726/3740/249 2755/3741/231 2747/3742/250 -f 2747/3742/250 2754/3743/243 2746/3733/251 -f 2741/3739/248 2748/3744/225 2726/3745/249 -f 2745/3722/246 2752/3746/242 2744/3735/247 -f 2743/3724/244 2750/3747/241 2742/3737/245 -f 2755/3748/231 2761/3749/238 2754/3750/243 -f 2753/3734/240 2759/3751/237 2752/3746/242 -f 2751/3736/239 2757/3752/235 2750/3753/241 -f 2754/3750/243 2760/3754/236 2753/3734/240 -f 2751/3736/239 2759/3751/237 2758/3755/234 -f 2749/3756/233 2757/3752/235 2756/3757/232 -f 2760/3754/236 2768/3758/216 2767/3759/218 -f 2758/3755/234 2766/3760/222 2765/3761/219 -f 2757/3752/235 2763/3762/223 2756/3757/232 -f 2762/3763/230 2768/3758/216 2761/3749/238 -f 2760/3754/236 2766/3760/222 2759/3751/237 -f 2758/3755/234 2764/3764/220 2757/3752/235 -f 2749/3756/233 2756/3757/232 2748/3765/225 -f 2756/3757/232 2763/3762/223 2748/3765/225 -f 2748/3766/225 2762/3763/230 2755/3748/231 -f 2762/3763/230 2748/3766/225 2769/3767/226 -f 2766/3760/222 2773/3768/229 2765/3761/219 -f 2764/3769/220 2771/3770/228 2763/3771/223 -f 2748/3772/225 2777/3773/227 2769/3774/226 -f 2769/3774/226 2776/3775/212 2768/3776/216 -f 2763/3771/223 2770/3777/224 2748/3778/225 -f 2767/3759/218 2774/3779/221 2766/3760/222 -f 2765/3761/219 2772/3780/215 2764/3769/220 -f 2768/3776/216 2775/3781/217 2767/3759/218 -f 2683/3640/216 2675/3652/212 2676/3641/217 -f 2686/3643/219 2678/3656/229 2679/3644/215 -f 2684/3642/218 2676/3641/217 2677/3646/221 -f 2688/3648/223 2680/3655/228 2681/3649/224 -f 2682/3651/226 2674/3654/227 2675/3652/212 -f 2703/3653/225 2681/3782/224 2674/3654/227 -f 2687/3645/220 2679/3644/215 2680/3655/228 -f 2685/3647/222 2677/3646/221 2678/3656/229 -f 2693/3665/234 2686/3643/219 2687/3666/220 -f 2691/3668/236 2684/3642/218 2685/3647/222 -f 2689/3657/230 2682/3659/226 2683/3670/216 -f 2694/3667/235 2687/3666/220 2688/3662/223 -f 2693/3665/234 2692/3669/237 2685/3647/222 -f 2690/3671/238 2683/3670/216 2684/3642/218 -f 2702/3664/233 2701/3674/241 2694/3667/235 -f 2700/3672/239 2699/3675/242 2692/3669/237 -f 2698/3673/240 2697/3676/243 2690/3671/238 -f 2700/3672/239 2693/3665/234 2694/3667/235 -f 2698/3673/240 2691/3668/236 2692/3669/237 -f 2697/3676/243 2696/3660/231 2689/3657/230 -f 2708/3677/244 2700/3672/239 2701/3678/241 -f 2706/3680/246 2698/3673/240 2699/3675/242 -f 2710/3682/248 2702/3690/233 2703/3683/225 -f 2704/3685/250 2696/3689/231 2697/3686/243 -f 2725/3688/249 2703/3783/225 2696/3689/231 -f 2709/3679/245 2701/3678/241 2702/3690/233 -f 2707/3681/247 2699/3675/242 2700/3672/239 -f 2705/3687/251 2697/3686/243 2698/3673/240 -f 2708/3677/244 2709/3705/245 2716/3699/256 -f 2706/3680/246 2707/3681/247 2714/3701/258 -f 2711/3691/252 2704/3693/250 2705/3703/251 -f 2709/3705/245 2710/3696/248 2717/3695/254 -f 2714/3701/258 2707/3681/247 2708/3677/244 -f 2712/3704/260 2705/3703/251 2706/3680/246 -f 2712/3704/260 2713/3702/259 2720/3706/261 -f 2722/3708/263 2715/3700/257 2716/3699/256 -f 2720/3706/261 2713/3702/259 2714/3701/258 -f 2718/3694/253 2711/3691/252 2712/3704/260 -f 2723/3709/264 2716/3699/256 2717/3695/254 -f 2714/3701/258 2715/3700/257 2722/3708/263 -f 2737/3711/258 2736/3725/257 2729/3712/263 -f 2728/3714/264 2735/3721/256 2734/3715/254 -f 2733/3717/253 2740/3727/252 2739/3718/260 -f 2731/3720/261 2738/3723/259 2737/3711/258 -f 2729/3712/263 2736/3725/257 2735/3721/256 -f 2739/3718/260 2738/3723/259 2731/3720/261 -f 2739/3718/260 2746/3728/251 2745/3722/246 -f 2737/3711/258 2744/3735/247 2743/3724/244 -f 2742/3726/245 2741/3730/248 2734/3715/254 -f 2740/3727/252 2747/3732/250 2746/3728/251 -f 2745/3722/246 2744/3735/247 2737/3711/258 -f 2743/3724/244 2742/3726/245 2735/3721/256 -f 2746/3733/251 2754/3743/243 2753/3734/240 -f 2744/3735/247 2752/3746/242 2751/3736/239 -f 2742/3737/245 2750/3747/241 2749/3738/233 -f 2726/3740/249 2748/3784/225 2755/3741/231 -f 2747/3742/250 2755/3741/231 2754/3743/243 -f 2741/3739/248 2749/3738/233 2748/3744/225 -f 2745/3722/246 2753/3734/240 2752/3746/242 -f 2743/3724/244 2751/3736/239 2750/3747/241 -f 2755/3748/231 2762/3763/230 2761/3749/238 -f 2753/3734/240 2760/3754/236 2759/3751/237 -f 2751/3736/239 2758/3755/234 2757/3752/235 -f 2754/3750/243 2761/3749/238 2760/3754/236 -f 2751/3736/239 2752/3746/242 2759/3751/237 -f 2749/3756/233 2750/3753/241 2757/3752/235 -f 2760/3754/236 2761/3749/238 2768/3758/216 -f 2758/3755/234 2759/3751/237 2766/3760/222 -f 2757/3752/235 2764/3764/220 2763/3762/223 -f 2762/3763/230 2769/3767/226 2768/3758/216 -f 2760/3754/236 2767/3759/218 2766/3760/222 -f 2758/3755/234 2765/3761/219 2764/3764/220 -f 2766/3760/222 2774/3779/221 2773/3768/229 -f 2764/3769/220 2772/3780/215 2771/3770/228 -f 2748/3772/225 2770/3785/224 2777/3773/227 -f 2769/3774/226 2777/3773/227 2776/3775/212 -f 2763/3771/223 2771/3770/228 2770/3777/224 -f 2767/3759/218 2775/3781/217 2774/3779/221 -f 2765/3761/219 2773/3768/229 2772/3780/215 -f 2768/3776/216 2776/3775/212 2775/3781/217 -o Strong_Pivot -v 0.750000 1.500000 -2.750000 -v 0.250000 1.500000 -2.750000 -v 0.250000 1.500000 -3.250000 -v 0.750000 1.500000 -3.250000 -v 0.250000 3.500000 -2.750000 +f 1993/3077/357 1994/3078/357 1995/3079/357 +f 1996/3080/357 1997/3081/357 1998/3082/357 +f 1999/3083/358 2000/3084/358 2001/3085/358 +f 1997/3081/359 2001/3085/359 2002/3086/359 +f 2003/3087/360 2004/3088/360 2005/3089/360 +f 2002/3090/361 2006/3091/361 2003/3092/361 +f 2005/3093/362 1999/3094/362 1997/3095/362 +f 2000/3096/361 2007/3097/361 2008/3098/361 +f 2001/3099/358 2008/3098/358 2006/3091/358 +f 2006/3100/358 2009/3101/358 2004/3088/358 +f 2004/3102/358 2010/3103/358 1999/3094/358 +f 2011/3104/357 2005/3105/357 1996/3080/357 +f 2009/3106/362 2012/3107/362 2010/3103/362 +f 2010/3108/359 2013/3109/359 2000/3084/359 +f 2008/3110/360 2014/3111/360 2009/3101/360 +f 2015/3112/357 2003/3113/357 2011/3104/357 +f 1998/3082/357 2002/3086/357 2015/3112/357 +f 2016/3114/363 1996/3080/363 1998/3082/363 +f 2017/3115/364 2011/3104/364 1996/3080/364 +f 2018/3116/365 2015/3112/365 2011/3104/365 +f 2019/3117/366 1998/3082/366 2015/3112/366 +f 2020/3118/361 2021/3119/361 2022/3120/361 +f 2023/3121/357 2024/3122/357 2025/3123/357 +f 2026/3124/359 2023/3121/359 2027/3125/359 +f 2025/3123/362 2027/3126/362 2023/3121/362 +f 2022/3120/363 2026/3124/363 2020/3118/363 +f 2022/3127/360 2021/3128/360 2028/3129/360 +f 2029/3130/361 2030/3131/361 2031/3132/361 +f 2032/3133/360 2033/3134/360 2034/3135/360 +f 2035/3136/362 2032/3133/362 2034/3137/362 +f 2036/3138/359 2037/3139/359 2035/3140/359 +f 2038/3141/357 2029/3130/357 2032/3133/357 +f 2039/3142/358 2040/3143/358 2041/3144/358 +f 2040/3145/362 2042/3146/362 2041/3147/362 +f 2043/3148/357 2044/3149/357 2042/3146/357 +f 2039/3150/361 2045/3151/361 2046/3152/361 +f 2047/3153/362 2048/3154/362 2049/3155/362 +f 2041/3156/360 2044/3149/360 2039/3157/360 +f 2046/3158/359 2043/3148/359 2040/3159/359 +f 2050/3160/362 2051/3161/362 2052/3162/362 +f 2053/3163/359 2054/3164/359 2055/3165/359 +f 2056/3166/359 2057/3167/359 2050/3160/359 +f 2058/3168/361 2059/3169/361 2053/3163/361 +f 2060/3170/361 2061/3171/361 2056/3166/361 +f 2062/3172/360 2063/3173/360 2064/3174/360 +f 2065/3175/360 2066/3176/360 2067/3177/360 +f 2068/3178/362 2069/3179/362 2062/3172/362 +f 2070/3180/362 2071/3181/362 2065/3175/362 +f 2072/3182/359 2073/3183/359 2068/3178/359 +f 2074/3184/359 2075/3185/359 2070/3180/359 +f 2064/3174/361 2076/3186/361 2072/3187/361 +f 2077/3188/360 2078/3189/360 2058/3168/360 +f 2067/3190/361 2079/3191/361 2074/3184/361 +f 2052/3192/360 2080/3193/360 2060/3170/360 +f 2055/3194/362 2081/3195/362 2077/3188/362 +f 2082/3196/361 2083/3197/361 2084/3198/361 +f 2085/3199/359 2086/3200/359 2087/3201/359 +f 2088/3202/360 2089/3203/360 2090/3204/360 +f 2091/3205/358 2092/3206/358 2093/3207/358 +f 2092/3208/362 2094/3209/362 2093/3210/362 +f 2095/3211/357 2096/3212/357 2094/3209/357 +f 2091/3213/361 2097/3214/361 2098/3215/361 +f 2099/3216/362 2100/3217/362 2101/3218/362 +f 2093/3219/360 2096/3212/360 2091/3220/360 +f 2098/3221/359 2095/3211/359 2092/3222/359 +f 2102/3223/362 2103/3224/362 2104/3225/362 +f 2105/3226/359 2106/3227/359 2107/3228/359 +f 2108/3229/359 2109/3230/359 2102/3223/359 +f 2110/3231/361 2111/3232/361 2105/3226/361 +f 2112/3233/361 2113/3234/361 2108/3229/361 +f 2114/3235/360 2115/3236/360 2116/3237/360 +f 2117/3238/360 2118/3239/360 2119/3240/360 +f 2120/3241/362 2121/3242/362 2114/3235/362 +f 2122/3243/362 2123/3244/362 2117/3238/362 +f 2124/3245/359 2125/3246/359 2120/3241/359 +f 2126/3247/359 2127/3248/359 2122/3243/359 +f 2116/3237/361 2128/3249/361 2124/3250/361 +f 2129/3251/360 2130/3252/360 2110/3231/360 +f 2119/3253/361 2131/3254/361 2126/3247/361 +f 2104/3255/360 2132/3256/360 2112/3233/360 +f 2107/3257/362 2133/3258/362 2129/3251/362 +f 2134/3259/361 2135/3260/361 2136/3261/361 +f 2137/3262/359 2138/3263/359 2139/3264/359 +f 2140/3265/360 2141/3266/360 2142/3267/360 +f 2143/3268/358 2144/3269/358 2145/3270/358 +f 2144/3271/362 2146/3272/362 2145/3273/362 +f 2147/3274/357 2148/3275/357 2146/3272/357 +f 2143/3276/361 2149/3277/361 2150/3278/361 +f 2151/3279/362 2152/3280/362 2153/3281/362 +f 2145/3282/360 2148/3275/360 2143/3283/360 +f 2150/3284/359 2147/3274/359 2144/3285/359 +f 2154/3286/362 2155/3287/362 2156/3288/362 +f 2157/3289/359 2158/3290/359 2159/3291/359 +f 2160/3292/359 2161/3293/359 2154/3286/359 +f 2162/3294/361 2163/3295/361 2157/3289/361 +f 2164/3296/361 2165/3297/361 2160/3292/361 +f 2166/3298/360 2167/3299/360 2168/3300/360 +f 2169/3301/360 2170/3302/360 2171/3303/360 +f 2172/3304/362 2173/3305/362 2166/3298/362 +f 2174/3306/362 2175/3307/362 2169/3301/362 +f 2176/3308/359 2177/3309/359 2172/3304/359 +f 2178/3310/359 2179/3311/359 2174/3306/359 +f 2168/3300/361 2180/3312/361 2176/3313/361 +f 2181/3314/360 2182/3315/360 2162/3294/360 +f 2171/3316/361 2183/3317/361 2178/3310/361 +f 2156/3318/360 2184/3319/360 2164/3296/360 +f 2159/3320/362 2185/3321/362 2181/3314/362 +f 2186/3322/361 2187/3323/361 2188/3324/361 +f 2189/3325/359 2190/3326/359 2191/3327/359 +f 2192/3328/360 2193/3329/360 2194/3330/360 +f 2195/3331/358 2196/3332/358 2197/3333/358 +f 2196/3334/362 2198/3335/362 2197/3336/362 +f 2199/3337/357 2200/3338/357 2198/3335/357 +f 2195/3339/361 2201/3340/361 2202/3341/361 +f 2203/3342/362 2204/3343/362 2205/3344/362 +f 2197/3345/360 2200/3338/360 2195/3346/360 +f 2202/3347/359 2199/3337/359 2196/3348/359 +f 2206/3349/362 2207/3350/362 2208/3351/362 +f 2209/3352/359 2210/3353/359 2211/3354/359 +f 2212/3355/359 2213/3356/359 2206/3349/359 +f 2214/3357/361 2215/3358/361 2209/3352/361 +f 2216/3359/361 2217/3360/361 2212/3355/361 +f 2218/3361/360 2219/3362/360 2220/3363/360 +f 2221/3364/360 2222/3365/360 2223/3366/360 +f 2224/3367/362 2225/3368/362 2218/3361/362 +f 2226/3369/362 2227/3370/362 2221/3364/362 +f 2228/3371/359 2229/3372/359 2224/3367/359 +f 2230/3373/359 2231/3374/359 2226/3369/359 +f 2220/3363/361 2232/3375/361 2228/3376/361 +f 2233/3377/360 2234/3378/360 2214/3357/360 +f 2223/3379/361 2235/3380/361 2230/3373/361 +f 2208/3381/360 2236/3382/360 2216/3359/360 +f 2211/3383/362 2237/3384/362 2233/3377/362 +f 2238/3385/361 2239/3386/361 2240/3387/361 +f 2241/3388/359 2242/3389/359 2243/3390/359 +f 2244/3391/360 2245/3392/360 2246/3393/360 +f 2247/3394/367 2248/3395/367 2249/3396/367 +f 2250/3397/368 2251/3398/368 2252/3399/368 +f 2253/3400/358 2254/3401/358 2255/3402/358 +f 2256/3403/369 2254/3404/369 2257/3405/369 +f 2258/3406/357 2256/3403/357 2259/3407/357 +f 2259/3407/370 2257/3408/370 2253/3409/370 +f 2260/3410/358 2261/3411/358 2262/3412/358 +f 2263/3413/357 2264/3414/357 2265/3415/357 +f 2260/3416/371 2266/3417/371 2267/3418/371 +f 2265/3415/372 2260/3419/372 2262/3420/372 +f 2255/3421/360 2268/3422/360 2269/3423/360 +f 2261/3424/359 2270/3425/359 2271/3426/359 +f 2255/3427/372 2272/3428/372 2258/3406/372 +f 2261/3429/370 2266/3417/370 2263/3413/370 +f 2273/3430/362 2259/3431/362 2253/3432/362 +f 2274/3433/361 2265/3434/361 2262/3435/361 +f 2261/3436/358 2273/3437/358 2255/3438/358 +f 2275/3439/357 2263/3440/357 2276/3441/357 +f 2271/3426/370 2275/3442/370 2273/3443/370 +f 2269/3423/372 2276/3444/372 2274/3445/372 +f 2277/3446/372 2278/3447/372 2279/3448/372 +f 2280/3449/361 2281/3450/361 2282/3451/361 +f 2283/3452/370 2284/3453/370 2285/3454/370 +f 2284/3455/357 2286/3456/357 2278/3457/357 +f 2287/3458/358 2285/3459/358 2288/3460/358 +f 2289/3461/361 2290/3462/361 2291/3463/361 +f 2292/3464/362 2293/3465/362 2294/3466/362 +f 2294/3466/360 2295/3467/360 2296/3468/360 +f 2296/3469/361 2297/3470/361 2298/3471/361 +f 2299/3472/362 2300/3473/362 2301/3474/362 +f 2301/3474/360 2302/3475/360 2303/3476/360 +f 2282/3451/359 2304/3477/359 2305/3478/359 +f 2306/3479/359 2307/3480/359 2299/3472/359 +f 2303/3481/361 2308/3482/361 2306/3479/361 +f 2309/3483/360 2310/3484/360 2289/3485/360 +f 2311/3486/360 2312/3487/360 2280/3488/360 +f 2291/3463/359 2313/3489/359 2314/3490/359 +f 2314/3490/362 2315/3491/362 2309/3483/362 +f 2305/3478/362 2316/3492/362 2311/3486/362 +f 2298/3471/359 2317/3493/359 2292/3464/359 +f 2318/3494/372 2319/3495/372 2320/3496/372 +f 2321/3497/370 2322/3498/370 2323/3499/370 +f 2324/3500/369 2325/3501/369 2326/3502/369 +f 2327/3503/371 2328/3504/371 2329/3505/371 +f 2279/3506/361 2330/3507/361 2331/3508/361 +f 2285/3509/362 2332/3510/362 2333/3511/362 +f 2287/3512/370 2334/3513/370 2286/3514/370 +f 2288/3515/372 2335/3516/372 2336/3517/372 +f 2287/3518/359 2337/3519/359 2283/3452/359 +f 2288/3520/360 2338/3521/360 2277/3446/360 +f 2339/3522/358 2340/3523/358 2341/3524/358 +f 2342/3525/357 2343/3526/357 2344/3527/357 +f 2345/3528/370 2342/3529/370 2340/3530/370 +f 2346/3531/372 2344/3532/372 2347/3533/372 +f 2347/3534/361 2348/3535/361 2349/3536/361 +f 2340/3537/362 2350/3538/362 2351/3539/362 +f 2349/3540/371 2343/3526/371 2339/3541/371 +f 2351/3542/369 2352/3543/369 2341/3544/369 +f 2339/3541/359 2353/3545/359 2345/3528/359 +f 2341/3544/360 2354/3546/360 2346/3531/360 +f 2330/3547/372 2355/3548/372 2331/3549/372 +f 2355/3550/371 2334/3513/371 2356/3551/371 +f 2286/3514/357 2357/3552/357 2330/3547/357 +f 2355/3553/358 2287/3554/358 2331/3555/358 +f 2332/3556/370 2358/3557/370 2333/3558/370 +f 2336/3517/357 2359/3559/357 2332/3556/357 +f 2359/3559/369 2360/3560/369 2358/3561/369 +f 2333/3562/358 2360/3563/358 2288/3564/358 +f 2361/3565/359 2362/3566/359 2363/3567/359 +f 2364/3568/360 2365/3569/360 2366/3570/360 +f 2367/3571/361 2364/3568/361 2362/3566/361 +f 2363/3567/362 2365/3572/362 2361/3565/362 +f 2361/3565/358 2368/3573/358 2367/3571/358 +f 2362/3566/357 2366/3574/357 2363/3567/357 +f 2369/3575/357 2370/3576/357 2371/3577/357 +f 2372/3578/359 2369/3575/359 2373/3579/359 +f 2374/3580/360 2370/3576/360 2375/3581/360 +f 2375/3582/361 2376/3583/361 2372/3584/361 +f 2373/3585/362 2371/3577/362 2374/3586/362 +f 2377/3587/361 2378/3588/361 2379/3589/361 +f 2378/3588/373 2380/3590/373 2381/3591/373 +f 2382/3592/360 2383/3593/360 2384/3594/360 +f 2380/3590/362 2385/3595/362 2381/3591/362 +f 2382/3592/374 2386/3596/374 2387/3597/374 +f 2388/3598/375 2383/3599/375 2389/3600/375 +f 2390/3601/376 2379/3589/376 2385/3602/376 +f 2387/3597/359 2391/3603/359 2388/3598/359 +f 2392/3604/359 2393/3605/359 2394/3606/359 +f 2395/3607/360 2396/3608/360 2397/3609/360 +f 2397/3609/377 2393/3605/377 2398/3610/377 +f 2392/3604/378 2399/3611/378 2395/3612/378 +f 2400/3613/379 2401/3614/379 2402/3615/379 +f 2403/3616/370 2402/3615/370 2404/3617/370 +f 2405/3618/380 2404/3617/380 2406/3619/380 +f 2407/3620/372 2406/3619/372 2401/3621/372 +f 2408/3622/371 2409/3623/371 2410/3624/371 +f 2411/3625/381 2412/3626/381 2413/3627/381 +f 2414/3628/382 2415/3629/382 2416/3630/382 +f 2417/3631/370 2418/3632/370 2419/3633/370 +f 2420/3634/372 2421/3635/372 2422/3636/372 +f 2423/3637/371 2424/3638/371 2425/3639/371 +f 2426/3640/369 2427/3641/369 2428/3642/369 +f 2429/3643/361 2430/3644/361 2431/3645/361 +f 2432/3646/362 2433/3647/362 2434/3648/362 +f 2435/3649/360 2436/3650/360 2437/3651/360 +f 2438/3652/359 2439/3653/359 2440/3654/359 +f 2441/3655/361 2442/3656/361 2443/3657/361 +f 2444/3658/362 2445/3659/362 2446/3660/362 +f 2447/3661/360 2448/3662/360 2449/3663/360 +f 2450/3664/359 2451/3665/359 2452/3666/359 +f 2453/3667/361 2454/3668/361 2455/3669/361 +f 2456/3670/362 2457/3671/362 2458/3672/362 +f 2459/3673/360 2460/3674/360 2461/3675/360 +f 2462/3676/359 2463/3677/359 2464/3678/359 +f 2465/3679/361 2466/3680/361 2467/3681/361 +f 2468/3682/362 2469/3683/362 2470/3684/362 +f 2471/3685/360 2472/3686/360 2473/3687/360 +f 2474/3688/359 2475/3689/359 2476/3690/359 +f 2477/3691/369 2478/3692/369 2479/3693/369 +f 2480/3694/372 2477/3691/372 2409/3623/372 +f 2410/3624/370 2478/3695/370 2408/3622/370 +f 2408/3622/358 2481/3696/358 2480/3694/358 +f 2409/3623/357 2479/3697/357 2410/3624/357 +f 2482/3698/357 2483/3699/357 2484/3700/357 +f 2485/3701/371 2482/3698/371 2486/3702/371 +f 2487/3703/369 2483/3699/369 2488/3704/369 +f 2488/3705/372 2489/3706/372 2485/3707/372 +f 2486/3708/370 2484/3700/370 2487/3709/370 +f 2490/3710/372 2491/3711/372 2492/3712/372 +f 2491/3711/383 2493/3713/383 2494/3714/383 +f 2495/3715/369 2496/3716/369 2497/3717/369 +f 2493/3713/370 2498/3718/370 2494/3714/370 +f 2495/3715/384 2499/3719/384 2500/3720/384 +f 2501/3721/385 2496/3722/385 2502/3723/385 +f 2503/3724/386 2492/3712/386 2498/3725/386 +f 2500/3720/371 2504/3726/371 2501/3721/371 +f 2505/3727/371 2506/3728/371 2507/3729/371 +f 2508/3730/369 2509/3731/369 2510/3732/369 +f 2510/3732/387 2506/3728/387 2511/3733/387 +f 2505/3727/388 2512/3734/388 2508/3735/388 +f 2513/3736/370 2514/3737/370 2515/3738/370 +f 2516/3739/372 2517/3740/372 2518/3741/372 +f 2519/3742/371 2516/3739/371 2514/3737/371 +f 2515/3738/369 2517/3743/369 2513/3736/369 +f 2513/3736/358 2520/3744/358 2519/3742/358 +f 2515/3738/357 2516/3745/357 2518/3746/357 +f 2521/3747/357 2522/3748/357 2523/3749/357 +f 2524/3750/370 2521/3747/370 2525/3751/370 +f 2526/3752/372 2522/3748/372 2527/3753/372 +f 2527/3754/371 2528/3755/371 2524/3756/371 +f 2525/3757/369 2523/3749/369 2526/3758/369 +f 2529/3759/371 2530/3760/371 2531/3761/371 +f 2530/3760/389 2532/3762/389 2533/3763/389 +f 2534/3764/372 2535/3765/372 2536/3766/372 +f 2532/3762/369 2537/3767/369 2533/3763/369 +f 2534/3764/390 2538/3768/390 2539/3769/390 +f 2540/3770/391 2535/3771/391 2541/3772/391 +f 2542/3773/392 2531/3761/392 2537/3774/392 +f 2539/3769/370 2543/3775/370 2540/3770/370 +f 2544/3776/370 2545/3777/370 2546/3778/370 +f 2547/3779/372 2548/3780/372 2549/3781/372 +f 2550/3782/393 2548/3780/393 2545/3777/393 +f 2544/3776/394 2551/3783/394 2547/3784/394 +f 2552/3785/360 2553/3786/360 2554/3787/360 +f 2555/3788/359 2556/3789/359 2557/3790/359 +f 2558/3791/362 2555/3788/362 2553/3786/362 +f 2554/3787/361 2556/3792/361 2552/3785/361 +f 2552/3785/358 2559/3793/358 2558/3791/358 +f 2553/3786/357 2557/3794/357 2554/3787/357 +f 2560/3795/357 2561/3796/357 2562/3797/357 +f 2563/3798/360 2560/3795/360 2564/3799/360 +f 2565/3800/359 2561/3796/359 2566/3801/359 +f 2566/3802/362 2567/3803/362 2563/3804/362 +f 2564/3805/361 2562/3797/361 2565/3806/361 +f 2568/3807/362 2569/3808/362 2570/3809/362 +f 2569/3808/395 2571/3810/395 2572/3811/395 +f 2573/3812/359 2574/3813/359 2575/3814/359 +f 2571/3810/361 2576/3815/361 2572/3811/361 +f 2573/3812/378 2577/3816/378 2578/3817/378 +f 2579/3818/377 2574/3819/377 2580/3820/377 +f 2576/3821/396 2568/3807/396 2570/3809/396 +f 2578/3817/360 2581/3822/360 2579/3818/360 +f 2582/3823/360 2583/3824/360 2584/3825/360 +f 2585/3826/359 2586/3827/359 2587/3828/359 +f 2587/3828/375 2583/3824/375 2588/3829/375 +f 2582/3823/374 2589/3830/374 2585/3831/374 +f 2590/3832/372 2591/3833/372 2592/3834/372 +f 2593/3835/370 2594/3836/370 2595/3837/370 +f 2596/3838/369 2593/3835/369 2591/3833/369 +f 2592/3834/371 2594/3839/371 2590/3832/371 +f 2590/3832/358 2597/3840/358 2596/3838/358 +f 2592/3834/357 2593/3841/357 2595/3842/357 +f 2598/3843/357 2599/3844/357 2600/3845/357 +f 2601/3846/372 2598/3843/372 2602/3847/372 +f 2603/3848/370 2599/3844/370 2604/3849/370 +f 2604/3850/369 2605/3851/369 2601/3852/369 +f 2602/3853/371 2600/3845/371 2603/3854/371 +f 2606/3855/369 2607/3856/369 2608/3857/369 +f 2607/3856/397 2609/3858/397 2610/3859/397 +f 2611/3860/370 2612/3861/370 2613/3862/370 +f 2609/3858/371 2614/3863/371 2610/3859/371 +f 2611/3860/394 2615/3864/394 2616/3865/394 +f 2617/3866/393 2612/3867/393 2618/3868/393 +f 2614/3869/398 2606/3855/398 2608/3857/398 +f 2616/3865/372 2619/3870/372 2617/3866/372 +f 2620/3871/372 2621/3872/372 2622/3873/372 +f 2623/3874/370 2624/3875/370 2625/3876/370 +f 2626/3877/391 2624/3875/391 2621/3872/391 +f 2620/3871/390 2627/3878/390 2623/3879/390 +f 2628/3880/369 2629/3881/369 2630/3882/369 +f 2631/3883/371 2632/3884/371 2633/3885/371 +f 2634/3886/370 2631/3883/370 2629/3881/370 +f 2630/3882/372 2632/3887/372 2628/3880/372 +f 2628/3880/358 2635/3888/358 2634/3886/358 +f 2629/3881/357 2633/3889/357 2630/3882/357 +f 2636/3890/371 2637/3891/371 2638/3892/371 +f 2636/3890/388 2639/3893/388 2640/3894/388 +f 2641/3895/387 2637/3896/387 2642/3897/387 +f 2640/3894/369 2643/3898/369 2641/3895/369 +f 2644/3899/369 2645/3900/369 2646/3901/369 +f 2647/3902/371 2648/3903/371 2649/3904/371 +f 2649/3904/385 2645/3900/385 2650/3905/385 +f 2644/3899/384 2651/3906/384 2647/3907/384 +f 1993/3077/357 2652/3908/357 1994/3078/357 +f 1996/3080/357 2005/3105/357 1997/3081/357 +f 1999/3083/358 2010/3108/358 2000/3084/358 +f 1997/3081/359 1999/3083/359 2001/3085/359 +f 2003/3087/360 2006/3100/360 2004/3088/360 +f 2002/3090/361 2001/3099/361 2006/3091/361 +f 2005/3093/362 2004/3102/362 1999/3094/362 +f 2000/3096/361 2013/3909/361 2007/3097/361 +f 2001/3099/358 2000/3096/358 2008/3098/358 +f 2006/3100/358 2008/3110/358 2009/3101/358 +f 2004/3102/358 2009/3106/358 2010/3103/358 +f 2011/3104/357 2003/3113/357 2005/3105/357 +f 2009/3106/362 2014/3910/362 2012/3107/362 +f 2010/3108/359 2012/3911/359 2013/3109/359 +f 2008/3110/360 2007/3912/360 2014/3111/360 +f 2015/3112/357 2002/3086/357 2003/3113/357 +f 1998/3082/357 1997/3081/357 2002/3086/357 +f 2016/3114/363 2017/3115/363 1996/3080/363 +f 2017/3115/364 2018/3116/364 2011/3104/364 +f 2018/3116/365 2019/3117/365 2015/3112/365 +f 2019/3117/366 2016/3114/366 1998/3082/366 +f 2020/3118/361 2653/3913/361 2021/3119/361 +f 2023/3121/357 2026/3124/357 2024/3122/357 +f 2653/3914/359 2020/3915/359 2027/3125/359 +f 2020/3915/359 2026/3124/359 2027/3125/359 +f 2025/3123/362 2028/3916/362 2027/3126/362 +f 2022/3120/363 2024/3122/363 2026/3124/363 +f 2028/3129/360 2025/3123/360 2024/3122/360 +f 2024/3122/360 2022/3127/360 2028/3129/360 +f 2031/3132/361 2654/3917/361 2655/3918/361 +f 2655/3918/361 2033/3919/361 2031/3132/361 +f 2033/3919/361 2029/3130/361 2031/3132/361 +f 2032/3133/360 2029/3130/360 2033/3134/360 +f 2035/3136/362 2037/3139/362 2032/3133/362 +f 2035/3140/359 2656/3920/359 2036/3138/359 +f 2656/3920/359 2657/3921/359 2036/3138/359 +f 2036/3138/359 2658/3922/359 2037/3139/359 +f 2037/3139/357 2658/3922/357 2038/3141/357 +f 2038/3141/357 2030/3131/357 2029/3130/357 +f 2032/3133/357 2037/3139/357 2038/3141/357 +f 2039/3142/358 2046/3923/358 2040/3143/358 +f 2040/3145/362 2043/3148/362 2042/3146/362 +f 2043/3148/357 2045/3151/357 2044/3149/357 +f 2039/3150/361 2044/3149/361 2045/3151/361 +f 2047/3153/362 2659/3924/362 2048/3154/362 +f 2041/3156/360 2042/3146/360 2044/3149/360 +f 2046/3158/359 2045/3151/359 2043/3148/359 +f 2050/3160/362 2057/3167/362 2051/3161/362 +f 2053/3163/359 2059/3169/359 2054/3164/359 +f 2056/3166/359 2061/3171/359 2057/3167/359 +f 2058/3168/361 2078/3189/361 2059/3169/361 +f 2060/3170/361 2080/3193/361 2061/3171/361 +f 2062/3172/360 2069/3179/360 2063/3173/360 +f 2065/3175/360 2071/3181/360 2066/3176/360 +f 2068/3178/362 2073/3183/362 2069/3179/362 +f 2070/3180/362 2075/3185/362 2071/3181/362 +f 2072/3182/359 2076/3925/359 2073/3183/359 +f 2074/3184/359 2079/3191/359 2075/3185/359 +f 2064/3174/361 2063/3173/361 2076/3186/361 +f 2077/3188/360 2081/3195/360 2078/3189/360 +f 2067/3190/361 2066/3926/361 2079/3191/361 +f 2052/3192/360 2051/3927/360 2080/3193/360 +f 2055/3194/362 2054/3928/362 2081/3195/362 +f 2082/3196/361 2660/3929/361 2083/3197/361 +f 2085/3199/359 2661/3930/359 2086/3200/359 +f 2088/3202/360 2662/3931/360 2089/3203/360 +f 2091/3205/358 2098/3932/358 2092/3206/358 +f 2092/3208/362 2095/3211/362 2094/3209/362 +f 2095/3211/357 2097/3214/357 2096/3212/357 +f 2091/3213/361 2096/3212/361 2097/3214/361 +f 2099/3216/362 2663/3933/362 2100/3217/362 +f 2093/3219/360 2094/3209/360 2096/3212/360 +f 2098/3221/359 2097/3214/359 2095/3211/359 +f 2102/3223/362 2109/3230/362 2103/3224/362 +f 2105/3226/359 2111/3232/359 2106/3227/359 +f 2108/3229/359 2113/3234/359 2109/3230/359 +f 2110/3231/361 2130/3252/361 2111/3232/361 +f 2112/3233/361 2132/3256/361 2113/3234/361 +f 2114/3235/360 2121/3242/360 2115/3236/360 +f 2117/3238/360 2123/3244/360 2118/3239/360 +f 2120/3241/362 2125/3246/362 2121/3242/362 +f 2122/3243/362 2127/3248/362 2123/3244/362 +f 2124/3245/359 2128/3934/359 2125/3246/359 +f 2126/3247/359 2131/3254/359 2127/3248/359 +f 2116/3237/361 2115/3236/361 2128/3249/361 +f 2129/3251/360 2133/3258/360 2130/3252/360 +f 2119/3253/361 2118/3935/361 2131/3254/361 +f 2104/3255/360 2103/3936/360 2132/3256/360 +f 2107/3257/362 2106/3937/362 2133/3258/362 +f 2134/3259/361 2664/3938/361 2135/3260/361 +f 2137/3262/359 2665/3939/359 2138/3263/359 +f 2140/3265/360 2666/3940/360 2141/3266/360 +f 2143/3268/358 2150/3941/358 2144/3269/358 +f 2144/3271/362 2147/3274/362 2146/3272/362 +f 2147/3274/357 2149/3277/357 2148/3275/357 +f 2143/3276/361 2148/3275/361 2149/3277/361 +f 2151/3279/362 2667/3942/362 2152/3280/362 +f 2145/3282/360 2146/3272/360 2148/3275/360 +f 2150/3284/359 2149/3277/359 2147/3274/359 +f 2154/3286/362 2161/3293/362 2155/3287/362 +f 2157/3289/359 2163/3295/359 2158/3290/359 +f 2160/3292/359 2165/3297/359 2161/3293/359 +f 2162/3294/361 2182/3315/361 2163/3295/361 +f 2164/3296/361 2184/3319/361 2165/3297/361 +f 2166/3298/360 2173/3305/360 2167/3299/360 +f 2169/3301/360 2175/3307/360 2170/3302/360 +f 2172/3304/362 2177/3309/362 2173/3305/362 +f 2174/3306/362 2179/3311/362 2175/3307/362 +f 2176/3308/359 2180/3943/359 2177/3309/359 +f 2178/3310/359 2183/3317/359 2179/3311/359 +f 2168/3300/361 2167/3299/361 2180/3312/361 +f 2181/3314/360 2185/3321/360 2182/3315/360 +f 2171/3316/361 2170/3944/361 2183/3317/361 +f 2156/3318/360 2155/3945/360 2184/3319/360 +f 2159/3320/362 2158/3946/362 2185/3321/362 +f 2186/3322/361 2668/3947/361 2187/3323/361 +f 2189/3325/359 2669/3948/359 2190/3326/359 +f 2192/3328/360 2670/3949/360 2193/3329/360 +f 2195/3331/358 2202/3950/358 2196/3332/358 +f 2196/3334/362 2199/3337/362 2198/3335/362 +f 2199/3337/357 2201/3340/357 2200/3338/357 +f 2195/3339/361 2200/3338/361 2201/3340/361 +f 2203/3342/362 2671/3951/362 2204/3343/362 +f 2197/3345/360 2198/3335/360 2200/3338/360 +f 2202/3347/359 2201/3340/359 2199/3337/359 +f 2206/3349/362 2213/3356/362 2207/3350/362 +f 2209/3352/359 2215/3358/359 2210/3353/359 +f 2212/3355/359 2217/3360/359 2213/3356/359 +f 2214/3357/361 2234/3378/361 2215/3358/361 +f 2216/3359/361 2236/3382/361 2217/3360/361 +f 2218/3361/360 2225/3368/360 2219/3362/360 +f 2221/3364/360 2227/3370/360 2222/3365/360 +f 2224/3367/362 2229/3372/362 2225/3368/362 +f 2226/3369/362 2231/3374/362 2227/3370/362 +f 2228/3371/359 2232/3952/359 2229/3372/359 +f 2230/3373/359 2235/3380/359 2231/3374/359 +f 2220/3363/361 2219/3362/361 2232/3375/361 +f 2233/3377/360 2237/3384/360 2234/3378/360 +f 2223/3379/361 2222/3953/361 2235/3380/361 +f 2208/3381/360 2207/3954/360 2236/3382/360 +f 2211/3383/362 2210/3955/362 2237/3384/362 +f 2238/3385/361 2672/3956/361 2239/3386/361 +f 2241/3388/359 2673/3957/359 2242/3389/359 +f 2244/3391/360 2674/3958/360 2245/3392/360 +f 2253/3400/358 2257/3959/358 2254/3401/358 +f 2256/3403/369 2272/3428/369 2254/3404/369 +f 2258/3406/357 2272/3428/357 2256/3403/357 +f 2259/3407/370 2256/3403/370 2257/3408/370 +f 2260/3410/358 2267/3960/358 2261/3411/358 +f 2263/3413/357 2266/3417/357 2264/3414/357 +f 2260/3416/371 2264/3414/371 2266/3417/371 +f 2265/3415/372 2264/3414/372 2260/3419/372 +f 2255/3421/360 2258/3961/360 2268/3422/360 +f 2261/3424/359 2263/3440/359 2270/3425/359 +f 2255/3427/372 2254/3962/372 2272/3428/372 +f 2261/3429/370 2267/3963/370 2266/3417/370 +f 2273/3430/362 2275/3439/362 2259/3431/362 +f 2274/3433/361 2276/3441/361 2265/3434/361 +f 2255/3438/358 2269/3964/358 2274/3965/358 +f 2274/3965/358 2262/3966/358 2261/3436/358 +f 2261/3436/358 2271/3967/358 2273/3437/358 +f 2273/3437/358 2253/3968/358 2255/3438/358 +f 2255/3438/358 2274/3965/358 2261/3436/358 +f 2276/3441/357 2268/3422/357 2258/3961/357 +f 2258/3961/357 2259/3431/357 2275/3439/357 +f 2275/3439/357 2270/3425/357 2263/3440/357 +f 2263/3440/357 2265/3434/357 2276/3441/357 +f 2276/3441/357 2258/3961/357 2275/3439/357 +f 2271/3426/370 2270/3425/370 2275/3442/370 +f 2269/3423/372 2268/3422/372 2276/3444/372 +f 2277/3446/372 2338/3521/372 2278/3447/372 +f 2280/3449/361 2312/3969/361 2281/3450/361 +f 2283/3452/370 2337/3519/370 2284/3453/370 +f 2278/3457/357 2338/3521/357 2336/3970/357 +f 2336/3970/357 2332/3510/357 2284/3455/357 +f 2284/3455/357 2337/3519/357 2286/3456/357 +f 2286/3456/357 2330/3507/357 2278/3457/357 +f 2278/3457/357 2336/3970/357 2284/3455/357 +f 2288/3460/358 2277/3971/358 2279/3972/358 +f 2279/3972/358 2331/3973/358 2287/3458/358 +f 2287/3458/358 2283/3974/358 2285/3459/358 +f 2285/3459/358 2333/3975/358 2288/3460/358 +f 2288/3460/358 2279/3972/358 2287/3458/358 +f 2289/3461/361 2310/3976/361 2290/3462/361 +f 2292/3464/362 2317/3493/362 2293/3465/362 +f 2294/3466/360 2293/3465/360 2295/3467/360 +f 2296/3469/361 2295/3977/361 2297/3470/361 +f 2299/3472/362 2307/3480/362 2300/3473/362 +f 2301/3474/360 2300/3473/360 2302/3475/360 +f 2282/3451/359 2281/3450/359 2304/3477/359 +f 2306/3479/359 2308/3482/359 2307/3480/359 +f 2303/3481/361 2302/3978/361 2308/3482/361 +f 2309/3483/360 2315/3491/360 2310/3484/360 +f 2311/3486/360 2316/3492/360 2312/3487/360 +f 2291/3463/359 2290/3462/359 2313/3489/359 +f 2314/3490/362 2313/3489/362 2315/3491/362 +f 2305/3478/362 2304/3477/362 2316/3492/362 +f 2298/3471/359 2297/3470/359 2317/3493/359 +f 2318/3494/372 2675/3979/372 2319/3495/372 +f 2321/3497/370 2676/3980/370 2322/3498/370 +f 2324/3500/369 2677/3981/369 2325/3501/369 +f 2327/3503/371 2678/3982/371 2328/3504/371 +f 2279/3506/361 2278/3457/361 2330/3507/361 +f 2285/3509/362 2284/3455/362 2332/3510/362 +f 2287/3512/370 2356/3983/370 2334/3513/370 +f 2288/3515/372 2360/3984/372 2335/3516/372 +f 2287/3518/359 2286/3456/359 2337/3519/359 +f 2288/3520/360 2336/3970/360 2338/3521/360 +f 2341/3524/358 2346/3985/358 2347/3986/358 +f 2347/3986/358 2349/3987/358 2339/3522/358 +f 2339/3522/358 2345/3988/358 2340/3523/358 +f 2340/3523/358 2351/3989/358 2341/3524/358 +f 2341/3524/358 2347/3986/358 2339/3522/358 +f 2344/3527/357 2354/3546/357 2352/3543/357 +f 2352/3543/357 2350/3538/357 2342/3525/357 +f 2342/3525/357 2353/3545/357 2343/3526/357 +f 2343/3526/357 2348/3535/357 2344/3527/357 +f 2344/3527/357 2352/3543/357 2342/3525/357 +f 2345/3528/370 2353/3545/370 2342/3529/370 +f 2346/3531/372 2354/3546/372 2344/3532/372 +f 2347/3534/361 2344/3527/361 2348/3535/361 +f 2340/3537/362 2342/3525/362 2350/3538/362 +f 2349/3540/371 2348/3990/371 2343/3526/371 +f 2351/3542/369 2350/3991/369 2352/3543/369 +f 2339/3541/359 2343/3526/359 2353/3545/359 +f 2341/3544/360 2352/3543/360 2354/3546/360 +f 2330/3547/372 2357/3552/372 2355/3548/372 +f 2355/3550/371 2357/3552/371 2334/3513/371 +f 2286/3514/357 2334/3513/357 2357/3552/357 +f 2355/3553/358 2356/3992/358 2287/3554/358 +f 2332/3556/370 2359/3559/370 2358/3557/370 +f 2336/3517/357 2335/3516/357 2359/3559/357 +f 2359/3559/369 2335/3516/369 2360/3560/369 +f 2333/3562/358 2358/3993/358 2360/3563/358 +f 2361/3565/359 2367/3571/359 2362/3566/359 +f 2364/3568/360 2368/3994/360 2365/3569/360 +f 2367/3571/361 2368/3994/361 2364/3568/361 +f 2363/3567/362 2366/3995/362 2365/3572/362 +f 2361/3565/358 2365/3996/358 2368/3573/358 +f 2362/3566/357 2364/3997/357 2366/3574/357 +f 2369/3575/357 2376/3583/357 2370/3576/357 +f 2372/3578/359 2376/3583/359 2369/3575/359 +f 2374/3580/360 2371/3577/360 2370/3576/360 +f 2375/3582/361 2370/3576/361 2376/3583/361 +f 2373/3585/362 2369/3575/362 2371/3577/362 +f 2377/3587/361 2679/3998/361 2378/3588/361 +f 2378/3588/373 2679/3998/373 2380/3590/373 +f 2382/3592/360 2389/3999/360 2383/3593/360 +f 2380/3590/362 2390/4000/362 2385/3595/362 +f 2382/3592/374 2384/3594/374 2386/3596/374 +f 2388/3598/375 2391/3603/375 2383/3599/375 +f 2390/3601/376 2377/3587/376 2379/3589/376 +f 2387/3597/359 2386/3596/359 2391/3603/359 +f 2392/3604/359 2398/3610/359 2393/3605/359 +f 2395/3607/360 2399/4001/360 2396/3608/360 +f 2397/3609/377 2396/3608/377 2393/3605/377 +f 2392/3604/378 2394/3606/378 2399/3611/378 +f 2400/3613/379 2407/4002/379 2401/3614/379 +f 2403/3616/370 2400/3613/370 2402/3615/370 +f 2405/3618/380 2403/3616/380 2404/3617/380 +f 2407/3620/372 2405/3618/372 2406/3619/372 +f 2408/3622/371 2480/3694/371 2409/3623/371 +f 2417/3631/370 2680/4003/370 2418/3632/370 +f 2420/3634/372 2681/4004/372 2421/3635/372 +f 2423/3637/371 2682/4005/371 2424/3638/371 +f 2426/3640/369 2683/4006/369 2427/3641/369 +f 2429/3643/361 2684/4007/361 2430/3644/361 +f 2432/3646/362 2685/4008/362 2433/3647/362 +f 2435/3649/360 2686/4009/360 2436/3650/360 +f 2438/3652/359 2687/4010/359 2439/3653/359 +f 2441/3655/361 2688/4011/361 2442/3656/361 +f 2444/3658/362 2689/4012/362 2445/3659/362 +f 2447/3661/360 2690/4013/360 2448/3662/360 +f 2450/3664/359 2691/4014/359 2451/3665/359 +f 2453/3667/361 2692/4015/361 2454/3668/361 +f 2456/3670/362 2693/4016/362 2457/3671/362 +f 2459/3673/360 2694/4017/360 2460/3674/360 +f 2462/3676/359 2695/4018/359 2463/3677/359 +f 2465/3679/361 2696/4019/361 2466/3680/361 +f 2468/3682/362 2697/4020/362 2469/3683/362 +f 2471/3685/360 2698/4021/360 2472/3686/360 +f 2474/3688/359 2699/4022/359 2475/3689/359 +f 2477/3691/369 2481/4023/369 2478/3692/369 +f 2480/3694/372 2481/4023/372 2477/3691/372 +f 2410/3624/370 2479/4024/370 2478/3695/370 +f 2408/3622/358 2478/4025/358 2481/3696/358 +f 2409/3623/357 2477/4026/357 2479/3697/357 +f 2482/3698/357 2489/3706/357 2483/3699/357 +f 2485/3701/371 2489/3706/371 2482/3698/371 +f 2487/3703/369 2484/3700/369 2483/3699/369 +f 2488/3705/372 2483/3699/372 2489/3706/372 +f 2486/3708/370 2482/3698/370 2484/3700/370 +f 2490/3710/372 2700/4027/372 2491/3711/372 +f 2491/3711/383 2700/4027/383 2493/3713/383 +f 2495/3715/369 2502/4028/369 2496/3716/369 +f 2493/3713/370 2503/4029/370 2498/3718/370 +f 2495/3715/384 2497/3717/384 2499/3719/384 +f 2501/3721/385 2504/3726/385 2496/3722/385 +f 2503/3724/386 2490/3710/386 2492/3712/386 +f 2500/3720/371 2499/3719/371 2504/3726/371 +f 2505/3727/371 2511/3733/371 2506/3728/371 +f 2508/3730/369 2512/4030/369 2509/3731/369 +f 2510/3732/387 2509/3731/387 2506/3728/387 +f 2505/3727/388 2507/3729/388 2512/3734/388 +f 2513/3736/370 2519/3742/370 2514/3737/370 +f 2516/3739/372 2520/4031/372 2517/3740/372 +f 2519/3742/371 2520/4031/371 2516/3739/371 +f 2515/3738/369 2518/4032/369 2517/3743/369 +f 2513/3736/358 2517/4033/358 2520/3744/358 +f 2515/3738/357 2514/3737/357 2516/3745/357 +f 2521/3747/357 2528/3755/357 2522/3748/357 +f 2524/3750/370 2528/3755/370 2521/3747/370 +f 2526/3752/372 2523/3749/372 2522/3748/372 +f 2527/3754/371 2522/3748/371 2528/3755/371 +f 2525/3757/369 2521/3747/369 2523/3749/369 +f 2529/3759/371 2701/4034/371 2530/3760/371 +f 2530/3760/389 2701/4034/389 2532/3762/389 +f 2534/3764/372 2541/4035/372 2535/3765/372 +f 2532/3762/369 2542/4036/369 2537/3767/369 +f 2534/3764/390 2536/3766/390 2538/3768/390 +f 2540/3770/391 2543/3775/391 2535/3771/391 +f 2542/3773/392 2529/3759/392 2531/3761/392 +f 2539/3769/370 2538/3768/370 2543/3775/370 +f 2544/3776/370 2550/3782/370 2545/3777/370 +f 2547/3779/372 2551/4037/372 2548/3780/372 +f 2550/3782/393 2549/3781/393 2548/3780/393 +f 2544/3776/394 2546/3778/394 2551/3783/394 +f 2552/3785/360 2558/3791/360 2553/3786/360 +f 2555/3788/359 2559/4038/359 2556/3789/359 +f 2558/3791/362 2559/4038/362 2555/3788/362 +f 2554/3787/361 2557/4039/361 2556/3792/361 +f 2552/3785/358 2556/4040/358 2559/3793/358 +f 2553/3786/357 2555/4041/357 2557/3794/357 +f 2560/3795/357 2567/3803/357 2561/3796/357 +f 2563/3798/360 2567/3803/360 2560/3795/360 +f 2565/3800/359 2562/3797/359 2561/3796/359 +f 2566/3802/362 2561/3796/362 2567/3803/362 +f 2564/3805/361 2560/3795/361 2562/3797/361 +f 2568/3807/362 2702/4042/362 2569/3808/362 +f 2569/3808/395 2702/4042/395 2571/3810/395 +f 2573/3812/359 2580/4043/359 2574/3813/359 +f 2571/3810/361 2703/4044/361 2576/3815/361 +f 2573/3812/378 2575/3814/378 2577/3816/378 +f 2579/3818/377 2581/3822/377 2574/3819/377 +f 2576/3821/396 2703/4045/396 2568/3807/396 +f 2578/3817/360 2577/3816/360 2581/3822/360 +f 2582/3823/360 2588/3829/360 2583/3824/360 +f 2585/3826/359 2589/4046/359 2586/3827/359 +f 2587/3828/375 2586/3827/375 2583/3824/375 +f 2582/3823/374 2584/3825/374 2589/3830/374 +f 2590/3832/372 2596/3838/372 2591/3833/372 +f 2593/3835/370 2597/4047/370 2594/3836/370 +f 2596/3838/369 2597/4047/369 2593/3835/369 +f 2592/3834/371 2595/4048/371 2594/3839/371 +f 2590/3832/358 2594/4049/358 2597/3840/358 +f 2592/3834/357 2591/3833/357 2593/3841/357 +f 2598/3843/357 2605/3851/357 2599/3844/357 +f 2601/3846/372 2605/3851/372 2598/3843/372 +f 2603/3848/370 2600/3845/370 2599/3844/370 +f 2604/3850/369 2599/3844/369 2605/3851/369 +f 2602/3853/371 2598/3843/371 2600/3845/371 +f 2606/3855/369 2704/4050/369 2607/3856/369 +f 2607/3856/397 2704/4050/397 2609/3858/397 +f 2611/3860/370 2618/4051/370 2612/3861/370 +f 2609/3858/371 2705/4052/371 2614/3863/371 +f 2611/3860/394 2613/3862/394 2615/3864/394 +f 2617/3866/393 2619/3870/393 2612/3867/393 +f 2614/3869/398 2705/4053/398 2606/3855/398 +f 2616/3865/372 2615/3864/372 2619/3870/372 +f 2620/3871/372 2626/3877/372 2621/3872/372 +f 2623/3874/370 2627/4054/370 2624/3875/370 +f 2626/3877/391 2625/3876/391 2624/3875/391 +f 2620/3871/390 2622/3873/390 2627/3878/390 +f 2628/3880/369 2634/3886/369 2629/3881/369 +f 2631/3883/371 2635/4055/371 2632/3884/371 +f 2634/3886/370 2635/4055/370 2631/3883/370 +f 2630/3882/372 2633/4056/372 2632/3887/372 +f 2628/3880/358 2632/4057/358 2635/3888/358 +f 2629/3881/357 2631/4058/357 2633/3889/357 +f 2636/3890/371 2642/4059/371 2637/3891/371 +f 2636/3890/388 2638/3892/388 2639/3893/388 +f 2641/3895/387 2643/3898/387 2637/3896/387 +f 2640/3894/369 2639/3893/369 2643/3898/369 +f 2644/3899/369 2650/3905/369 2645/3900/369 +f 2647/3902/371 2651/4060/371 2648/3903/371 +f 2649/3904/385 2648/3903/385 2645/3900/385 +f 2644/3899/384 2646/3901/384 2651/3906/384 +o Atlas_Erector +v 0.750000 3.500000 -4.250000 +v 1.250000 3.500000 -3.750000 +v 0.750000 3.500000 -3.750000 +v -1.250000 3.500000 -4.250000 +v -0.750000 3.500000 -3.750000 +v -1.250000 3.500000 -3.750000 v 0.750000 3.500000 -2.750000 -v 0.750000 3.500000 -3.250000 -v 0.250000 3.500000 -3.250000 -v -0.250000 1.500000 -2.750000 -v -0.750000 1.500000 -2.750000 -v -0.750000 1.500000 -3.250000 -v -0.250000 1.500000 -3.250000 +v 1.250000 3.500000 -2.250000 +v 0.750000 3.500000 -2.250000 +v -1.250000 3.500000 -2.750000 +v -0.750000 3.500000 -2.250000 +v -1.250000 3.500000 -2.250000 +v 1.250000 14.750000 -3.749999 +v 0.750000 14.750000 -4.250000 +v 0.750000 14.750000 -3.749999 +v -0.750000 14.750000 -3.749999 +v -1.250000 14.750000 -4.250000 +v -1.250000 14.750000 -3.749999 +v 1.250000 14.750000 -2.249999 +v 0.750000 14.750000 -2.749999 +v 0.750000 14.750000 -2.249999 +v -0.750000 14.750000 -2.249999 +v -1.250000 14.750000 -2.749999 +v -1.250000 14.750000 -2.249999 +v 1.250000 3.500000 -4.250000 +v 1.250000 3.500000 -2.750000 +v 1.250000 14.750000 -4.250000 +v 1.250000 14.750000 -2.749999 +v -0.750000 3.500000 -4.250000 v -0.750000 3.500000 -2.750000 -v -0.250000 3.500000 -2.750000 -v -0.250000 3.500000 -3.250000 -v -0.750000 3.500000 -3.250000 -v 0.312500 3.500000 -2.812500 -v 0.687500 3.500000 -2.812500 -v 0.312500 3.500000 -3.187500 -v 0.687500 3.500000 -3.187500 -v 0.312500 4.500000 -2.812500 -v 0.687500 4.500000 -2.812500 -v 0.312500 4.500000 -3.187500 -v 0.687500 4.500000 -3.187500 -v -0.687500 3.500000 -2.812500 -v -0.312500 3.500000 -2.812500 -v -0.687500 3.500000 -3.187500 -v -0.312500 3.500000 -3.187500 -v -0.687500 4.500000 -2.812500 -v -0.312500 4.500000 -2.812500 -v -0.687500 4.500000 -3.187500 -v -0.312500 4.500000 -3.187500 -vt 0.794872 0.224719 -vt 0.820513 0.179775 -vt 0.820513 0.224719 -vt 0.897436 0.000000 -vt 0.871795 0.179775 -vt 0.871795 0.000000 -vt 0.820513 0.000000 -vt 0.794872 0.179775 -vt 0.794872 0.000000 -vt 0.846154 0.000000 -vt 0.846154 0.179775 -vt 0.794872 0.224719 -vt 0.820513 0.179775 -vt 0.820513 0.224719 -vt 0.897436 0.000000 -vt 0.871795 0.179775 -vt 0.871795 0.000000 -vt 0.820513 0.000000 -vt 0.794872 0.179775 -vt 0.794872 0.000000 -vt 0.846154 0.000000 -vt 0.846154 0.179775 -vt 0.839744 0.269663 -vt 0.820513 0.179775 -vt 0.839744 0.179775 -vt 0.878205 0.269663 -vt 0.858974 0.179775 -vt 0.878205 0.179775 -vt 0.897436 0.269663 -vt 0.897436 0.179775 -vt 0.858974 0.269663 -vt 0.839744 0.269663 -vt 0.820513 0.179775 -vt 0.839744 0.179775 -vt 0.878205 0.269663 -vt 0.858974 0.179775 -vt 0.878205 0.179775 -vt 0.897436 0.269663 -vt 0.897436 0.179775 -vt 0.858974 0.269663 -vt 0.897436 0.179775 -vt 0.897436 0.179775 -vt 0.820513 0.269663 -vt 0.820513 0.269663 -vn 0.0000 1.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 -s off -f 2815/3786/266 2817/3787/266 2814/3788/266 -f 2813/3789/267 2815/3790/267 2810/3791/267 -f 2812/3792/268 2816/3793/268 2813/3794/268 -f 2811/3795/269 2817/3787/269 2812/3792/269 -f 2810/3791/270 2814/3796/270 2811/3795/270 -f 2823/3797/266 2825/3798/266 2822/3799/266 -f 2821/3800/267 2823/3801/267 2818/3802/267 -f 2820/3803/268 2824/3804/268 2821/3805/268 -f 2819/3806/269 2825/3798/269 2820/3803/269 -f 2818/3802/270 2822/3807/270 2819/3806/270 -f 2832/3808/268 2829/3809/268 2828/3810/268 -f 2831/3811/270 2826/3812/270 2827/3813/270 -f 2833/3814/267 2827/3813/267 2829/3815/267 -f 2830/3816/269 2828/3810/269 2826/3812/269 -f 2840/3817/268 2837/3818/268 2836/3819/268 -f 2839/3820/270 2834/3821/270 2835/3822/270 -f 2841/3823/267 2835/3822/267 2837/3824/267 -f 2838/3825/269 2836/3819/269 2834/3821/269 -f 2815/3786/266 2816/3793/266 2817/3787/266 -f 2813/3789/267 2816/3826/267 2815/3790/267 -f 2812/3792/268 2817/3787/268 2816/3793/268 -f 2811/3795/269 2814/3796/269 2817/3787/269 -f 2810/3791/270 2815/3790/270 2814/3796/270 -f 2823/3797/266 2824/3804/266 2825/3798/266 -f 2821/3800/267 2824/3827/267 2823/3801/267 -f 2820/3803/268 2825/3798/268 2824/3804/268 -f 2819/3806/269 2822/3807/269 2825/3798/269 -f 2818/3802/270 2823/3801/270 2822/3807/270 -f 2832/3808/268 2833/3828/268 2829/3809/268 -f 2831/3811/270 2830/3816/270 2826/3812/270 -f 2833/3814/267 2831/3811/267 2827/3813/267 -f 2830/3816/269 2832/3808/269 2828/3810/269 -f 2840/3817/268 2841/3829/268 2837/3818/268 -f 2839/3820/270 2838/3825/270 2834/3821/270 -f 2841/3823/267 2839/3820/267 2835/3822/267 -f 2838/3825/269 2840/3817/269 2836/3819/269 -o Strong_Erector -v 0.250000 3.500000 -2.750000 -v 0.750000 3.500000 -2.750000 -v 0.750000 3.500000 -3.250000 -v 0.250000 3.500000 -3.250000 -v -0.750000 3.500000 -2.750000 -v -0.250000 3.500000 -2.750000 -v -0.250000 3.500000 -3.250000 -v -0.750000 3.500000 -3.250000 -v 0.250000 10.000000 -2.750000 -v 0.750000 10.000000 -2.750000 -v 0.750000 10.000000 -3.250000 -v 0.250000 10.000000 -3.250000 -v -0.750000 10.000000 -2.750000 -v -0.250000 10.000000 -2.750000 -v -0.250000 10.000000 -3.250000 -v -0.750000 10.000000 -3.250000 -v 0.250000 9.000000 -1.000000 -v 0.250000 9.000000 -3.500000 -v -0.250000 9.000000 -1.000000 -v -0.250000 9.000000 -3.500000 -v 0.250000 8.500000 -3.500000 -v 0.250000 8.500000 -1.000000 -v -0.250000 8.500000 -1.000000 -v -0.250000 8.500000 -3.500000 -v 0.375000 9.125000 -1.000000 -v -0.375000 9.125000 -1.000000 -v 0.375000 8.375000 -1.000000 -v -0.375000 8.375000 -1.000000 -v 0.375000 9.125000 -0.750000 -v -0.375000 9.125000 -0.750000 -v 0.375000 8.375000 -0.750000 -v -0.375000 8.375000 -0.750000 -v -0.375000 3.875000 -0.750000 -v 0.375000 3.875000 -0.750000 -v -0.375000 4.625000 -0.750000 -v 0.375000 4.625000 -0.750000 -v -0.375000 3.875000 -1.000000 -v 0.375000 3.875000 -1.000000 -v -0.375000 4.625000 -1.000000 -v 0.375000 4.625000 -1.000000 -v -0.250000 4.000000 -3.500000 -v -0.250000 4.000000 -1.000000 -v 0.250000 4.000000 -1.000000 -v 0.250000 4.000000 -3.500000 -v -0.250000 4.500000 -3.500000 -v -0.250000 4.500000 -1.000000 -v 0.250000 4.500000 -3.500000 -v 0.250000 4.500000 -1.000000 -v 0.250000 7.000000 -2.750000 -v 0.750000 7.000000 -2.750000 -v -0.750000 7.000000 -2.750000 -v -0.250000 7.000000 -2.750000 -v 0.250000 6.500000 -2.750000 -v 0.750000 6.500000 -2.750000 -v -0.750000 6.500000 -2.750000 -v -0.250000 6.500000 -2.750000 -v 0.250000 7.000000 -1.250000 -v 0.750000 7.000000 -1.250000 -v -0.750000 7.000000 -1.250000 -v -0.250000 7.000000 -1.250000 -v 0.250000 6.500000 -1.250000 -v 0.750000 6.500000 -1.250000 -v -0.750000 6.500000 -1.250000 -v -0.250000 6.500000 -1.250000 -v 0.750000 7.000000 -1.250000 -v -0.750000 7.000000 -1.250000 -v 0.750000 6.500000 -1.250000 -v -0.750000 6.500000 -1.250000 -v -0.750000 7.000000 -0.750000 -v -0.750000 6.500000 -0.750000 -v 0.750000 6.500000 -0.750000 -v 0.750000 7.000000 -0.750000 -v -1.250000 7.000000 -0.750000 -v -1.250000 6.500000 -0.750000 -v 1.250000 6.500000 -0.750000 -v 1.250000 7.000000 -0.750000 -v -0.750000 7.000000 0.750000 -v -0.750000 6.500000 0.750000 -v 0.750000 6.500000 0.750000 -v 0.750000 7.000000 0.750000 -v -1.250000 7.000000 0.750000 -v -1.250000 6.500000 0.750000 -v 1.250000 6.500000 0.750000 -v 1.250000 7.000000 0.750000 -vt 0.820513 0.269663 -vt 0.794872 0.224719 -vt 0.820513 0.224719 -vt 0.820513 0.269663 -vt 0.794872 0.224719 -vt 0.820513 0.224719 -vt 0.794872 0.898876 -vt 0.820513 0.853933 -vt 0.820513 0.898876 -vt 0.794872 0.898876 -vt 0.820513 0.853933 -vt 0.820513 0.898876 -vt 0.897436 0.269663 -vt 0.871795 0.853933 -vt 0.871795 0.269663 -vt 0.794872 0.853933 -vt 0.794872 0.269663 -vt 0.897436 0.269663 -vt 0.871795 0.853933 -vt 0.871795 0.269663 -vt 0.794872 0.853933 -vt 0.794872 0.269663 -vt 0.846154 0.269663 -vt 0.846154 0.853933 -vt 0.846154 0.269663 -vt 0.846154 0.853933 -vt 0.544872 0.921348 -vt 0.416667 0.966292 -vt 0.416667 0.921348 -vt 0.416667 0.921348 -vt 0.544872 0.966292 -vt 0.416667 0.966292 -vt 0.410256 0.910112 -vt 0.544872 0.921348 -vt 0.416667 0.966292 -vt 0.416667 0.921348 -vt 0.570513 0.966292 -vt 0.544872 0.966292 -vt 0.416667 0.966292 -vt 0.544872 0.921348 -vt 0.544872 0.966292 -vt 0.410256 0.977528 -vt 0.397436 0.910112 -vt 0.410256 0.910112 -vt 0.410256 0.910112 -vt 0.416667 0.921348 -vt 0.410256 0.910112 -vt 0.397436 0.977528 -vt 0.358974 0.910112 -vt 0.397436 0.910112 -vt 0.410256 0.977528 -vt 0.410256 0.977528 -vt 0.397436 0.910112 -vt 0.410256 0.977528 -vt 0.397436 0.910112 -vt 0.410256 0.977528 -vt 0.397436 0.910112 -vt 0.410256 0.910112 -vt 0.410256 0.977528 -vt 0.397436 0.910112 -vt 0.410256 0.910112 -vt 0.410256 0.977528 -vt 0.397436 0.910112 -vt 0.410256 0.910112 -vt 0.397436 0.977528 -vt 0.358974 0.910112 -vt 0.416667 0.966292 -vt 0.416667 0.921348 -vt 0.416667 0.966292 -vt 0.416667 0.921348 -vt 0.416667 0.966292 -vt 0.410256 0.910112 -vt 0.416667 0.921348 -vt 0.410256 0.977528 -vt 0.397436 0.910112 -vt 0.544872 0.921348 -vt 0.544872 0.966292 -vt 0.544872 0.921348 -vt 0.570513 0.966292 -vt 0.544872 0.966292 -vt 0.544872 0.921348 -vt 0.416667 0.966292 -vt 0.416667 0.921348 -vt 0.544872 0.966292 -vt 1.000000 0.134831 -vt 0.974359 -0.000000 -vt 1.000000 -0.000000 -vt 0.923077 0.134831 +v -0.750000 14.750000 -4.250000 +v -0.750000 14.750000 -2.749999 +v 0.750000 12.750000 -2.750000 +v -0.750000 12.750000 -2.250000 +v 0.750000 12.750000 -2.250000 +v -0.750000 12.250000 -2.250000 +v 0.750000 12.250000 -2.750000 +v 0.750000 12.250000 -2.250000 +v -0.750000 12.250000 -2.750000 +v -0.750000 12.750000 -2.750000 +v 0.625000 12.250000 -1.375000 +v -0.625000 12.750000 -1.374999 +v 0.625000 12.750000 -1.374999 +v -0.625000 12.750000 -1.124999 +v 0.625000 12.250000 -1.125000 +v 0.625000 12.750000 -1.124999 +v 1.125000 12.249999 -0.624999 +v -0.625000 12.250000 -1.125000 +v -0.625000 12.250000 -1.375000 +v 1.375000 12.749999 -0.624999 +v 1.375000 12.249999 -0.624999 +v -1.375000 12.249999 -0.624999 +v -1.375000 12.749999 0.250001 +v -1.375000 12.749999 -0.624999 +v -1.125000 12.749999 0.250001 +v -1.125000 12.249999 -0.624999 +v -1.125000 12.749999 -0.624999 +v -1.375000 12.249999 0.250001 +v -1.125000 12.249999 0.250001 +v 1.375000 12.249999 0.250001 +v 1.375000 12.749999 0.250001 +v 1.125000 12.749999 -0.624999 +v 1.125000 12.249999 0.250001 +v 1.125000 12.749999 0.250001 +v 0.750000 12.750000 -4.250000 +v -0.750000 12.750000 -3.750000 +v 0.750000 12.750000 -3.750000 +v -0.750000 12.250000 -3.750000 +v 0.750000 12.250000 -4.250000 +v 0.750000 12.250000 -3.750000 +v -0.750000 12.250000 -4.250000 +v -0.750000 12.750000 -4.250000 +v 0.562500 12.312500 -1.374999 +v 0.562500 12.687500 -3.750000 +v 0.562500 12.687500 -1.374999 +v 0.187500 12.687500 -1.374999 +v 0.187500 12.312500 -3.750000 +v 0.187500 12.312500 -1.374999 +v 0.187500 12.687500 -3.750000 +v 0.562500 12.312500 -3.750000 +v -0.187500 12.312500 -1.374999 +v -0.187500 12.687500 -3.750000 +v -0.187500 12.687500 -1.374999 +v -0.562500 12.687500 -1.374999 +v -0.562500 12.312500 -3.750000 +v -0.562500 12.312500 -1.374999 +v -0.562500 12.687500 -3.750000 +v -0.187500 12.312500 -3.750000 +v 0.750000 8.750000 -2.750000 +v -0.750000 8.750000 -2.250000 +v 0.750000 8.750000 -2.250000 +v -0.750000 8.250000 -2.250000 +v 0.750000 8.250000 -2.750000 +v 0.750000 8.250000 -2.250000 +v -0.750000 8.250000 -2.750000 +v -0.750000 8.750000 -2.750000 +v 0.625000 8.250000 -1.625000 +v -0.625000 8.750000 -1.625000 +v 0.625000 8.750000 -1.625000 +v -0.625000 8.750000 -1.375000 +v 0.625000 8.250000 -1.375000 +v 0.625000 8.750000 -1.375000 +v 1.125000 8.249999 -0.875000 +v -0.625000 8.250000 -1.375000 +v -0.625000 8.250000 -1.625000 +v 1.375000 8.749999 -0.875000 +v 1.375000 8.249999 -0.875000 +v -1.375000 8.249999 -0.875000 +v -1.375000 8.749999 0.250000 +v -1.375000 8.749999 -0.875000 +v -1.125000 8.749999 0.250000 +v -1.125000 8.249999 -0.875000 +v -1.125000 8.749999 -0.875000 +v -1.375000 8.249999 0.250000 +v -1.125000 8.249999 0.250000 +v 1.375000 8.249999 0.250000 +v 1.375000 8.749999 0.250000 +v 1.125000 8.749999 -0.875000 +v 1.125000 8.249999 0.250000 +v 1.125000 8.749999 0.250000 +v 0.750000 8.750000 -4.250000 +v -0.750000 8.750000 -3.750000 +v 0.750000 8.750000 -3.750000 +v -0.750000 8.250000 -3.750000 +v 0.750000 8.250000 -4.250000 +v 0.750000 8.250000 -3.750000 +v -0.750000 8.250000 -4.250000 +v -0.750000 8.750000 -4.250000 +v 0.562500 8.312500 -1.625000 +v 0.562500 8.687500 -3.750000 +v 0.562500 8.687500 -1.625000 +v 0.187500 8.687500 -1.625000 +v 0.187500 8.312500 -3.750000 +v 0.187500 8.312500 -1.625000 +v 0.187500 8.687500 -3.750000 +v 0.562500 8.312500 -3.750000 +v -0.187500 8.312500 -1.625000 +v -0.187500 8.687500 -3.750000 +v -0.187500 8.687500 -1.625000 +v -0.562500 8.687500 -1.625000 +v -0.562500 8.312500 -3.750000 +v -0.562500 8.312500 -1.625000 +v -0.562500 8.687500 -3.750000 +v -0.187500 8.312500 -3.750000 +v 0.750000 4.750000 -2.750000 +v -0.750000 4.750000 -2.250000 +v 0.750000 4.750000 -2.250000 +v -0.750000 4.250000 -2.250000 +v 0.750000 4.250000 -2.750000 +v 0.750000 4.250000 -2.250000 +v -0.750000 4.250000 -2.750000 +v -0.750000 4.750000 -2.750000 +v 0.625000 4.250000 -1.875000 +v -0.625000 4.750000 -1.875000 +v 0.625000 4.750000 -1.875000 +v -0.625000 4.750000 -1.625000 +v 0.625000 4.250000 -1.625000 +v 0.625000 4.750000 -1.625000 +v 1.125000 4.249999 -1.125000 +v -0.625000 4.250000 -1.625000 +v -0.625000 4.250000 -1.875000 +v 1.375000 4.749999 -1.125000 +v 1.375000 4.249999 -1.125000 +v -1.375000 4.249999 -1.125000 +v -1.375000 4.749999 0.250000 +v -1.375000 4.749999 -1.125000 +v -1.125000 4.749999 0.250000 +v -1.125000 4.249999 -1.125000 +v -1.125000 4.749999 -1.125000 +v -1.375000 4.249999 0.250000 +v -1.125000 4.249999 0.250000 +v 1.375000 4.249999 0.250000 +v 1.375000 4.749999 0.250000 +v 1.125000 4.749999 -1.125000 +v 1.125000 4.249999 0.250000 +v 1.125000 4.749999 0.250000 +v 0.750000 4.750000 -4.250000 +v -0.750000 4.750000 -3.750000 +v 0.750000 4.750000 -3.750000 +v -0.750000 4.250000 -3.750000 +v 0.750000 4.250000 -4.250000 +v 0.750000 4.250000 -3.750000 +v -0.750000 4.250000 -4.250000 +v -0.750000 4.750000 -4.250000 +v 0.562500 4.312500 -1.875000 +v 0.562500 4.687500 -3.750000 +v 0.562500 4.687500 -1.875000 +v 0.187500 4.687500 -1.875000 +v 0.187500 4.312500 -3.750000 +v 0.187500 4.312500 -1.875000 +v 0.187500 4.687500 -3.750000 +v 0.562500 4.312500 -3.750000 +v -0.187500 4.312500 -1.875000 +v -0.187500 4.687500 -3.750000 +v -0.187500 4.687500 -1.875000 +v -0.562500 4.687500 -1.875000 +v -0.562500 4.312500 -3.750000 +v -0.562500 4.312500 -1.875000 +v -0.562500 4.687500 -3.750000 +v -0.187500 4.312500 -3.750000 +v 0.750000 11.750000 -4.062500 +v -0.750000 10.750000 -4.062500 +v 0.750000 12.250000 -4.062500 +v 0.750000 10.250000 -4.062500 +v -0.750000 9.250000 -4.062500 +v 0.750000 10.750000 -4.062500 +v 0.750000 10.750000 -3.937500 +v -0.750000 11.750000 -3.937500 +v -0.750000 12.250000 -3.937500 +v 0.750000 9.250000 -3.937500 +v -0.750000 10.250000 -3.937500 +v -0.750000 10.750000 -3.937500 +v 0.750000 7.750000 -4.062500 +v -0.750000 6.750000 -4.062500 +v 0.750000 8.250000 -4.062500 +v 0.750000 6.250000 -4.062500 +v -0.750000 5.250000 -4.062500 +v 0.750000 6.750000 -4.062500 +v 0.750000 6.750000 -3.937500 +v -0.750000 7.750000 -3.937500 +v -0.750000 8.250000 -3.937500 +v 0.750000 5.250000 -3.937500 +v -0.750000 6.250000 -3.937500 +v -0.750000 6.750000 -3.937500 +v -0.750000 10.750000 -2.562500 +v 0.750000 11.750000 -2.562500 +v 0.750000 12.250000 -2.562500 +v -0.750000 9.250000 -2.562500 +v 0.750000 10.250000 -2.562500 +v 0.750000 10.750000 -2.562500 +v 0.750000 10.750000 -2.437500 +v -0.750000 11.750000 -2.437500 +v 0.750000 10.250000 -2.437500 +v 0.750000 9.250000 -2.437500 +v -0.750000 10.250000 -2.437500 +v 0.750000 8.750000 -2.437500 +v -0.750000 6.750000 -2.562500 +v 0.750000 7.750000 -2.562500 +v 0.750000 8.250000 -2.562500 +v -0.750000 5.250000 -2.562500 +v 0.750000 6.250000 -2.562500 +v 0.750000 6.750000 -2.562500 +v 0.750000 6.750000 -2.437500 +v -0.750000 7.750000 -2.437500 +v 0.750000 6.250000 -2.437500 +v 0.750000 5.250000 -2.437500 +v -0.750000 6.250000 -2.437500 +v 0.750000 4.750000 -2.437500 +v 0.750000 14.250000 -4.062500 +v -0.750000 13.250000 -4.062500 +v 0.750000 14.750000 -4.062500 +v 0.750000 13.250000 -3.937500 +v -0.750000 14.250000 -3.937499 +v -0.750000 14.750000 -3.937499 +v -0.750000 13.250000 -2.562500 +v 0.750000 14.250000 -2.562499 +v 0.750000 14.750000 -2.562499 +v 0.750000 13.250000 -2.437500 +v -0.750000 14.250000 -2.437499 +v 0.750000 12.750000 -2.437500 +v 1.062500 14.250000 -2.749999 +v 1.062500 13.250000 -3.750000 +v 1.062500 14.750000 -2.749999 +v 0.937500 13.250000 -2.750000 +v 0.937500 14.250000 -3.749999 +v 0.937500 14.750000 -3.749999 +v 1.062500 11.750000 -2.750000 +v 1.062500 10.750000 -3.750000 +v 1.062500 12.250000 -2.750000 +v 0.937500 10.750000 -2.750000 +v 0.937500 11.750000 -3.750000 +v 0.937500 12.250000 -3.750000 +v 1.062500 10.250000 -2.750000 +v 1.062500 9.250000 -3.750000 +v 1.062500 10.750000 -2.750000 +v 0.937500 9.250000 -2.750000 +v 0.937500 10.250000 -3.750000 +v 0.937500 10.750000 -3.750000 +v 1.062500 7.750000 -2.750000 +v 1.062500 6.750000 -3.750000 +v 1.062500 8.250000 -2.750000 +v 0.937500 6.750000 -2.750000 +v 0.937500 7.750000 -3.750000 +v 0.937500 8.250000 -3.750000 +v 1.062500 6.250000 -2.750000 +v 1.062500 5.250000 -3.750000 +v 1.062500 6.750000 -2.750000 +v 0.937500 5.250000 -2.750000 +v 0.937500 6.250000 -3.750000 +v 0.937500 6.750000 -3.750000 +v -0.937500 13.250000 -3.750000 +v -0.937500 14.250000 -2.749999 +v -0.937500 14.750000 -2.749999 +v -1.062500 13.250000 -2.750000 +v -1.062500 14.250000 -3.749999 +v -1.062500 12.750000 -2.750000 +v -0.937500 10.750000 -3.750000 +v -0.937500 11.750000 -2.750000 +v -0.937500 12.250000 -2.750000 +v -1.062500 10.750000 -2.750000 +v -1.062500 11.750000 -3.750000 +v -1.062500 10.250000 -2.750000 +v -0.937500 9.250000 -3.750000 +v -0.937500 10.250000 -2.750000 +v -0.937500 10.750000 -2.750000 +v -1.062500 9.250000 -2.750000 +v -1.062500 10.250000 -3.750000 +v -1.062500 8.750000 -2.750000 +v -0.937500 6.750000 -3.750000 +v -0.937500 7.750000 -2.750000 +v -0.937500 8.250000 -2.750000 +v -1.062500 6.750000 -2.750000 +v -1.062500 7.750000 -3.750000 +v -1.062500 6.250000 -2.750000 +v -0.937500 5.250000 -3.750000 +v -0.937500 6.250000 -2.750000 +v -0.937500 6.750000 -2.750000 +v -1.062500 5.250000 -2.750000 +v -1.062500 6.250000 -3.750000 +v -1.062500 4.750000 -2.750000 +v -0.750000 10.750000 -4.062500 +v 0.750000 11.750000 -4.062500 +v 0.750000 12.250000 -4.062500 +v -0.750000 9.250000 -4.062500 +v 0.750000 10.250000 -4.062500 +v 0.750000 10.750000 -4.062500 +v 0.750000 10.750000 -3.937500 +v -0.750000 11.750000 -3.937500 +v 0.750000 10.250000 -3.937500 +v 0.750000 9.250000 -3.937500 +v -0.750000 10.250000 -3.937500 +v 0.750000 8.750000 -3.937500 +v -0.750000 6.750000 -4.062500 +v 0.750000 7.750000 -4.062500 +v 0.750000 8.250000 -4.062500 +v -0.750000 5.250000 -4.062500 +v 0.750000 6.250000 -4.062500 +v 0.750000 6.750000 -4.062500 +v 0.750000 6.750000 -3.937500 +v -0.750000 7.750000 -3.937500 +v 0.750000 6.250000 -3.937500 +v 0.750000 5.250000 -3.937500 +v -0.750000 6.250000 -3.937500 +v 0.750000 4.750000 -3.937500 +v 0.750000 11.750000 -2.562500 +v -0.750000 10.750000 -2.562500 +v 0.750000 12.250000 -2.562500 +v 0.750000 10.250000 -2.562500 +v -0.750000 9.250000 -2.562500 +v 0.750000 10.750000 -2.562500 +v 0.750000 10.750000 -2.437500 +v -0.750000 11.750000 -2.437500 +v -0.750000 12.250000 -2.437500 +v 0.750000 9.250000 -2.437500 +v -0.750000 10.250000 -2.437500 +v -0.750000 10.750000 -2.437500 +v 0.750000 7.750000 -2.562500 +v -0.750000 6.750000 -2.562500 +v 0.750000 8.250000 -2.562500 +v 0.750000 6.250000 -2.562500 +v -0.750000 5.250000 -2.562500 +v 0.750000 6.750000 -2.562500 +v 0.750000 6.750000 -2.437500 +v -0.750000 7.750000 -2.437500 +v -0.750000 8.250000 -2.437500 +v 0.750000 5.250000 -2.437500 +v -0.750000 6.250000 -2.437500 +v -0.750000 6.750000 -2.437500 +v -0.750000 13.250000 -4.062500 +v 0.750000 14.250000 -4.062500 +v 0.750000 14.750000 -4.062500 +v 0.750000 13.250000 -3.937500 +v -0.750000 14.250000 -3.937499 +v 0.750000 12.750000 -3.937500 +v 0.750000 14.250000 -2.562499 +v -0.750000 13.250000 -2.562500 +v 0.750000 14.750000 -2.562499 +v 0.750000 13.250000 -2.437500 +v -0.750000 14.250000 -2.437499 +v -0.750000 14.750000 -2.437499 +v 1.062500 13.250000 -3.750000 +v 1.062500 14.250000 -2.749999 +v 1.062500 14.750000 -2.749999 +v 0.937500 13.250000 -2.750000 +v 0.937500 14.250000 -3.749999 +v 0.937500 12.750000 -2.750000 +v 1.062500 10.750000 -3.750000 +v 1.062500 11.750000 -2.750000 +v 1.062500 12.250000 -2.750000 +v 0.937500 10.750000 -2.750000 +v 0.937500 11.750000 -3.750000 +v 0.937500 10.250000 -2.750000 +v 1.062500 9.250000 -3.750000 +v 1.062500 10.250000 -2.750000 +v 1.062500 10.750000 -2.750000 +v 0.937500 9.250000 -2.750000 +v 0.937500 10.250000 -3.750000 +v 0.937500 8.750000 -2.750000 +v 1.062500 6.750000 -3.750000 +v 1.062500 7.750000 -2.750000 +v 1.062500 8.250000 -2.750000 +v 0.937500 6.750000 -2.750000 +v 0.937500 7.750000 -3.750000 +v 0.937500 6.250000 -2.750000 +v 1.062500 5.250000 -3.750000 +v 1.062500 6.250000 -2.750000 +v 1.062500 6.750000 -2.750000 +v 0.937500 5.250000 -2.750000 +v 0.937500 6.250000 -3.750000 +v 0.937500 4.750000 -2.750000 +v -0.937500 14.250000 -2.749999 +v -0.937500 13.250000 -3.750000 +v -0.937500 14.750000 -2.749999 +v -1.062500 13.250000 -2.750000 +v -1.062500 14.250000 -3.749999 +v -1.062500 14.750000 -3.749999 +v -0.937500 11.750000 -2.750000 +v -0.937500 10.750000 -3.750000 +v -0.937500 12.250000 -2.750000 +v -1.062500 10.750000 -2.750000 +v -1.062500 11.750000 -3.750000 +v -1.062500 12.250000 -3.750000 +v -0.937500 10.250000 -2.750000 +v -0.937500 9.250000 -3.750000 +v -0.937500 10.750000 -2.750000 +v -1.062500 9.250000 -2.750000 +v -1.062500 10.250000 -3.750000 +v -1.062500 10.750000 -3.750000 +v -0.937500 7.750000 -2.750000 +v -0.937500 6.750000 -3.750000 +v -0.937500 8.250000 -2.750000 +v -1.062500 6.750000 -2.750000 +v -1.062500 7.750000 -3.750000 +v -1.062500 8.250000 -3.750000 +v -0.937500 6.250000 -2.750000 +v -0.937500 5.250000 -3.750000 +v -0.937500 6.750000 -2.750000 +v -1.062500 5.250000 -2.750000 +v -1.062500 6.250000 -3.750000 +v -1.062500 6.750000 -3.750000 +v -0.750000 10.250000 -4.062500 +v -0.750000 8.750000 -4.062500 +v 0.750000 10.250000 -3.937500 +v 0.750000 8.750000 -3.937500 +v -0.750000 6.250000 -4.062500 +v -0.750000 4.750000 -4.062500 +v 0.750000 6.250000 -3.937500 +v 0.750000 4.750000 -3.937500 +v -0.750000 10.250000 -2.562500 +v -0.750000 8.750000 -2.562500 +v -0.750000 12.250000 -2.437500 +v -0.750000 10.750000 -2.437500 +v -0.750000 6.250000 -2.562500 +v -0.750000 4.750000 -2.562500 +v -0.750000 8.250000 -2.437500 +v -0.750000 6.750000 -2.437500 +v -0.750000 12.750000 -4.062500 +v 0.750000 12.750000 -3.937500 +v -0.750000 12.750000 -2.562500 +v -0.750000 14.750000 -2.437499 +v 1.062500 12.750000 -3.750000 +v 0.937500 12.750000 -2.750000 +v 1.062500 10.250000 -3.750000 +v 0.937500 10.250000 -2.750000 +v 1.062500 8.750000 -3.750000 +v 0.937500 8.750000 -2.750000 +v 1.062500 6.250000 -3.750000 +v 0.937500 6.250000 -2.750000 +v 1.062500 4.750000 -3.750000 +v 0.937500 4.750000 -2.750000 +v -0.937500 12.750000 -3.750000 +v -1.062500 14.750000 -3.749999 +v -0.937500 10.250000 -3.750000 +v -1.062500 12.250000 -3.750000 +v -0.937500 8.750000 -3.750000 +v -1.062500 10.750000 -3.750000 +v -0.937500 6.250000 -3.750000 +v -1.062500 8.250000 -3.750000 +v -0.937500 4.750000 -3.750000 +v -1.062500 6.750000 -3.750000 +v -0.750000 10.250000 -4.062500 +v -0.750000 8.750000 -4.062500 +v -0.750000 12.250000 -3.937500 +v -0.750000 10.750000 -3.937500 +v -0.750000 6.250000 -4.062500 +v -0.750000 4.750000 -4.062500 +v -0.750000 8.250000 -3.937500 +v -0.750000 6.750000 -3.937500 +v -0.750000 10.250000 -2.562500 +v -0.750000 8.750000 -2.562500 +v 0.750000 10.250000 -2.437500 +v 0.750000 8.750000 -2.437500 +v -0.750000 6.250000 -2.562500 +v -0.750000 4.750000 -2.562500 +v 0.750000 6.250000 -2.437500 +v 0.750000 4.750000 -2.437500 +v -0.750000 12.750000 -4.062500 +v -0.750000 14.750000 -3.937499 +v -0.750000 12.750000 -2.562500 +v 0.750000 12.750000 -2.437500 +v 1.062500 12.750000 -3.750000 +v 0.937500 14.750000 -3.749999 +v 1.062500 10.250000 -3.750000 +v 0.937500 12.250000 -3.750000 +v 1.062500 8.750000 -3.750000 +v 0.937500 10.750000 -3.750000 +v 1.062500 6.250000 -3.750000 +v 0.937500 8.250000 -3.750000 +v 1.062500 4.750000 -3.750000 +v 0.937500 6.750000 -3.750000 +v -0.937500 12.750000 -3.750000 +v -1.062500 12.750000 -2.750000 +v -0.937500 10.250000 -3.750000 +v -1.062500 10.250000 -2.750000 +v -0.937500 8.750000 -3.750000 +v -1.062500 8.750000 -2.750000 +v -0.937500 6.250000 -3.750000 +v -1.062500 6.250000 -2.750000 +v -0.937500 4.750000 -3.750000 +v -1.062500 4.750000 -2.750000 +vt 0.923077 0.032258 vt 0.897436 -0.000000 -vt 0.923077 0.000000 -vt 0.948718 -0.000000 -vt 0.923077 0.134831 -vt 0.923077 0.000000 -vt 0.974359 0.134831 -vt 0.974359 0.134831 -vt 0.948718 -0.000000 -vt 0.974359 -0.000000 -vt 1.000000 0.134831 -vt 1.000000 -0.000000 +vt 0.923077 -0.000000 +vt 0.923077 0.032258 vt 0.897436 -0.000000 -vt 0.948718 0.494382 -vt 0.974359 0.359551 -vt 0.974359 0.494382 -vt 0.897436 0.359551 -vt 0.923077 0.494382 -vt 0.897436 0.494382 -vt 0.923077 0.359551 -vt 0.948718 0.359551 -vt 0.923077 0.314607 -vt 0.948718 0.179775 -vt 0.948718 0.314607 -vt 1.000000 0.494382 -vt 1.000000 0.539326 -vt 0.974359 0.674157 -vt 0.974359 0.539326 -vt 1.000000 0.359551 -vt 1.000000 0.314607 -vt 0.923077 0.314607 -vt 1.000000 0.539326 -vt 0.923077 0.539326 -vt 0.974359 0.134831 -vt 0.948718 0.134831 -vt 0.948718 0.719101 -vt 0.974359 0.719101 -vt 0.897436 0.314607 -vt 0.923077 0.179775 -vt 0.948718 0.539326 -vt 0.923077 0.674157 -vt 0.923077 0.539326 -vt 0.948718 0.674157 -vt 0.974359 0.314607 -vt 1.000000 0.179775 -vt 1.000000 0.314607 -vt 0.974359 0.179775 -vt 0.897436 0.674157 -vt 0.897436 0.539326 -vt 0.897436 0.853933 -vt 0.897436 0.853933 -vt 0.544872 0.921348 -vt 0.544872 0.966292 -vt 0.570513 0.921348 -vt 0.397436 0.977528 -vt 0.358974 0.977528 -vt 0.397436 0.977528 -vt 0.397436 0.977528 -vt 0.397436 0.977528 -vt 0.397436 0.977528 -vt 0.358974 0.977528 -vt 0.397436 0.977528 -vt 0.570513 0.921348 -vt 0.544872 0.966292 -vt 0.544872 0.921348 -vt 0.897436 0.134831 -vt 0.948718 0.134831 -vt 0.948718 0.134831 -vt 0.897436 0.134831 -vt 1.000000 0.674157 -vt 0.897436 0.179775 +vt 0.923077 -0.000000 +vt 0.923077 0.032258 +vt 0.897436 -0.000000 +vt 0.923077 -0.000000 +vt 0.923077 0.032258 +vt 0.897436 -0.000000 +vt 0.923077 -0.000000 +vt 0.897436 0.790323 +vt 0.923077 0.758065 +vt 0.923077 0.790323 +vt 0.897436 0.790323 +vt 0.923077 0.758065 +vt 0.923077 0.790323 +vt 0.897436 0.790323 +vt 0.923077 0.758065 +vt 0.923077 0.790323 +vt 0.897436 0.790323 +vt 0.923077 0.758065 +vt 0.923077 0.790323 +vt 0.974359 0.032258 +vt 0.948718 0.758065 +vt 0.948718 0.032258 +vt 1.000000 0.032258 +vt 0.974359 0.758065 +vt 0.974359 0.032258 +vt 1.000000 0.032258 +vt 0.974359 0.758065 +vt 0.897436 0.758065 +vt 0.897436 0.032258 +vt 0.897436 0.758065 +vt 0.897436 0.032258 +vt 0.948718 0.032258 +vt 0.948718 0.032258 +vt 0.974359 0.032258 +vt 0.948718 0.758065 +vt 0.974359 0.032258 +vt 0.948718 0.758065 +vt 1.000000 0.032258 +vt 0.974359 0.758065 +vt 1.000000 0.032258 +vt 0.974359 0.758065 +vt 0.897436 0.758065 +vt 0.897436 0.032258 +vt 0.948718 0.032258 +vt 0.897436 0.758065 +vt 0.897436 0.032258 +vt 0.948718 0.758065 +vt 0.897436 0.854839 +vt 0.974359 0.887097 +vt 0.897436 0.887097 +vt 0.974359 0.790323 +vt 0.897436 0.822581 +vt 0.897436 0.790323 +vt 0.974359 0.822581 +vt 0.974359 0.854839 +vt 0.897436 0.919355 +vt 0.448718 0.822581 +vt 0.512821 0.854839 +vt 0.448718 0.854839 +vt 0.275641 0.919355 +vt 0.211538 0.951613 +vt 0.211538 0.919355 +vt 0.512821 0.854839 +vt 0.538462 0.903226 +vt 0.512821 0.870968 +vt 0.448718 0.870968 +vt 0.448718 0.854839 +vt 0.384615 0.854839 +vt 0.410256 0.903226 +vt 0.384615 0.903226 +vt 0.448718 0.870968 +vt 0.576923 0.903226 +vt 0.551282 0.959677 +vt 0.551282 0.903226 +vt 0.346154 0.919355 +vt 0.301282 0.951613 +vt 0.301282 0.919355 +vt 0.384615 0.951613 +vt 0.371795 0.919355 +vt 0.384615 0.919355 +vt 0.410256 0.903226 +vt 0.423077 0.959677 +vt 0.410256 0.959677 +vt 0.538462 0.903226 +vt 0.384615 0.959677 +vt 0.410256 0.959677 +vt 0.185897 0.919355 +vt 0.141026 0.951613 +vt 0.141026 0.919355 +vt 0.551282 0.959677 +vt 0.551282 0.903226 +vt 0.102564 0.919355 +vt 0.115385 0.951613 +vt 0.102564 0.951613 +vt 0.423077 0.959677 +vt 0.275641 0.951613 +vt 0.512821 0.870968 +vt 0.576923 0.854839 +vt 0.551282 0.854839 +vt 0.423077 0.903226 +vt 0.897436 0.854839 +vt 0.974359 0.887097 +vt 0.897436 0.887097 +vt 0.974359 0.790323 +vt 0.897436 0.822581 +vt 0.897436 0.790323 +vt 0.974359 0.822581 +vt 0.974359 0.854839 +vt 0.897436 0.919355 +vt 0.794872 0.846774 +vt 0.814103 0.693548 +vt 0.814103 0.846774 +vt 0.833333 0.846774 +vt 0.852564 0.693548 +vt 0.852564 0.846774 +vt 0.833333 0.693548 +vt 0.871795 0.693548 +vt 0.871795 0.846774 +vt 0.794872 0.846774 +vt 0.814103 0.693548 +vt 0.814103 0.846774 +vt 0.833333 0.846774 +vt 0.852564 0.693548 +vt 0.852564 0.846774 +vt 0.833333 0.693548 +vt 0.871795 0.693548 +vt 0.871795 0.846774 +vt 0.897436 0.854839 +vt 0.974359 0.887097 +vt 0.897436 0.887097 +vt 0.974359 0.790323 +vt 0.897436 0.822581 +vt 0.897436 0.790323 +vt 0.974359 0.822581 +vt 0.974359 0.854839 +vt 0.897436 0.919355 +vt 0.448718 0.822581 +vt 0.512821 0.854839 +vt 0.448718 0.854839 +vt 0.275641 0.919355 +vt 0.211538 0.951613 +vt 0.211538 0.919355 +vt 0.512821 0.854839 +vt 0.538462 0.903226 +vt 0.512821 0.870968 +vt 0.448718 0.870968 +vt 0.448718 0.854839 +vt 0.384615 0.854839 +vt 0.410256 0.903226 +vt 0.384615 0.903226 +vt 0.448718 0.870968 +vt 0.576923 0.903226 +vt 0.551282 0.975806 +vt 0.551282 0.903226 +vt 0.358974 0.919355 +vt 0.301282 0.951613 +vt 0.301282 0.919355 +vt 0.384615 0.951613 +vt 0.371795 0.919355 +vt 0.384615 0.919355 +vt 0.410256 0.903226 +vt 0.423077 0.975806 +vt 0.410256 0.975806 +vt 0.538462 0.903226 +vt 0.384615 0.975806 +vt 0.410256 0.975806 +vt 0.185897 0.919355 +vt 0.128205 0.951613 +vt 0.128205 0.919355 +vt 0.551282 0.975806 +vt 0.551282 0.903226 +vt 0.102564 0.919355 +vt 0.115385 0.951613 +vt 0.102564 0.951613 +vt 0.423077 0.975806 +vt 0.275641 0.951613 +vt 0.512821 0.870968 +vt 0.576923 0.854839 +vt 0.551282 0.854839 +vt 0.423077 0.903226 +vt 0.897436 0.854839 +vt 0.974359 0.887097 +vt 0.897436 0.887097 +vt 0.974359 0.790323 +vt 0.897436 0.822581 +vt 0.897436 0.790323 +vt 0.974359 0.822581 +vt 0.974359 0.854839 +vt 0.897436 0.919355 +vt 0.794872 0.830645 +vt 0.814103 0.693548 +vt 0.814103 0.830645 +vt 0.833333 0.830645 +vt 0.852564 0.693548 +vt 0.852564 0.830645 +vt 0.833333 0.693548 +vt 0.871795 0.693548 +vt 0.871795 0.830645 +vt 0.794872 0.830645 +vt 0.814103 0.693548 +vt 0.814103 0.830645 +vt 0.833333 0.830645 +vt 0.852564 0.693548 +vt 0.852564 0.830645 +vt 0.833333 0.693548 +vt 0.871795 0.693548 +vt 0.871795 0.830645 +vt 0.897436 0.854839 +vt 0.974359 0.887097 +vt 0.897436 0.887097 +vt 0.974359 0.790323 +vt 0.897436 0.822581 +vt 0.897436 0.790323 +vt 0.974359 0.822581 +vt 0.974359 0.854839 +vt 0.897436 0.919355 +vt 0.448718 0.822581 +vt 0.512821 0.854839 +vt 0.448718 0.854839 +vt 0.275641 0.919355 +vt 0.211538 0.951613 +vt 0.211538 0.919355 +vt 0.512821 0.854839 +vt 0.538462 0.903226 +vt 0.512821 0.870968 +vt 0.448718 0.870968 +vt 0.448718 0.854839 +vt 0.384615 0.854839 +vt 0.410256 0.903226 +vt 0.384615 0.903226 +vt 0.448718 0.870968 +vt 0.576923 0.903226 +vt 0.551282 0.991935 +vt 0.551282 0.903226 +vt 0.371795 0.919355 +vt 0.301282 0.951613 +vt 0.301282 0.919355 +vt 0.384615 0.951613 +vt 0.384615 0.919355 +vt 0.410256 0.903226 +vt 0.423077 0.991935 +vt 0.410256 0.991935 +vt 0.538462 0.903226 +vt 0.384615 0.991935 +vt 0.410256 0.991935 +vt 0.185897 0.919355 +vt 0.115385 0.951613 +vt 0.115385 0.919355 +vt 0.551282 0.991935 +vt 0.551282 0.903226 +vt 0.102564 0.919355 +vt 0.102564 0.951613 +vt 0.423077 0.991935 +vt 0.275641 0.951613 +vt 0.512821 0.870968 +vt 0.576923 0.854839 +vt 0.551282 0.854839 +vt 0.423077 0.903226 +vt 0.897436 0.854839 +vt 0.974359 0.887097 +vt 0.897436 0.887097 +vt 0.974359 0.790323 +vt 0.897436 0.822581 +vt 0.897436 0.790323 +vt 0.974359 0.822581 +vt 0.974359 0.854839 +vt 0.897436 0.919355 +vt 0.794872 0.814516 +vt 0.814103 0.693548 +vt 0.814103 0.814516 +vt 0.833333 0.814516 +vt 0.852564 0.693548 +vt 0.852564 0.814516 +vt 0.833333 0.693548 +vt 0.871795 0.693548 +vt 0.871795 0.814516 +vt 0.794872 0.814516 +vt 0.814103 0.693548 +vt 0.814103 0.814516 +vt 0.833333 0.814516 +vt 0.852564 0.693548 +vt 0.852564 0.814516 +vt 0.833333 0.693548 +vt 0.871795 0.693548 +vt 0.871795 0.814516 +vt 0.948718 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 1.000000 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 1.000000 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 0.974359 0.919355 +vt 0.512821 0.822581 +vt 0.410256 0.854839 +vt 0.576923 0.959677 +vt 0.346154 0.951613 +vt 0.371795 0.951613 +vt 0.423077 0.903226 +vt 0.538462 0.959677 +vt 0.185897 0.951613 +vt 0.538462 0.959677 +vt 0.115385 0.919355 +vt 0.974359 0.919355 +vt 0.794872 0.693548 +vt 0.794872 0.693548 +vt 0.974359 0.919355 +vt 0.512821 0.822581 +vt 0.410256 0.854839 +vt 0.576923 0.975806 +vt 0.358974 0.951613 +vt 0.371795 0.951613 +vt 0.423077 0.903226 +vt 0.538462 0.975806 +vt 0.185897 0.951613 +vt 0.538462 0.975806 +vt 0.115385 0.919355 +vt 0.974359 0.919355 +vt 0.794872 0.693548 +vt 0.794872 0.693548 +vt 0.974359 0.919355 +vt 0.512821 0.822581 +vt 0.410256 0.854839 +vt 0.576923 0.991935 +vt 0.371795 0.951613 +vt 0.423077 0.903226 +vt 0.538462 0.991935 +vt 0.185897 0.951613 +vt 0.538462 0.991935 +vt 0.974359 0.919355 +vt 0.794872 0.693548 +vt 0.794872 0.693548 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 1.000000 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.758065 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 +vn 0.0000 -0.0000 1.0000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 vn 0.7071 0.0000 -0.7071 -vn -0.7071 0.0000 -0.7071 -s off -f 2845/3830/271 2843/3831/271 2842/3832/271 -f 2849/3833/271 2847/3834/271 2846/3835/271 -f 2851/3836/272 2853/3837/272 2850/3838/272 -f 2855/3839/272 2857/3840/272 2854/3841/272 -f 2848/3842/273 2855/3843/273 2847/3844/273 -f 2849/3833/274 2856/3845/274 2848/3846/274 -f 2844/3847/273 2851/3848/273 2843/3849/273 -f 2845/3830/274 2852/3850/274 2844/3851/274 -f 2846/3852/275 2857/3840/275 2849/3833/275 -f 2847/3844/276 2854/3853/276 2846/3852/276 -f 2842/3854/275 2853/3837/275 2845/3830/275 -f 2843/3849/276 2850/3855/276 2842/3854/276 -f 2859/3856/272 2860/3857/272 2858/3858/272 -f 2864/3859/271 2862/3860/271 2863/3861/271 -f 2860/3857/274 2866/3862/274 2858/3858/274 -f 2861/3863/275 2864/3864/275 2860/3865/275 -f 2859/3856/274 2865/3866/274 2861/3867/274 -f 2858/3868/273 2862/3869/273 2859/3870/273 -f 2869/3871/275 2871/3872/275 2867/3873/275 -f 2864/3864/274 2867/3873/274 2860/3865/274 -f 2858/3868/274 2868/3874/274 2863/3875/274 -f 2863/3861/274 2869/3876/274 2864/3859/274 -f 2871/3877/276 2872/3878/276 2870/3879/276 -f 2867/3880/272 2870/3879/272 2866/3862/272 -f 2866/3881/273 2872/3882/273 2868/3874/273 -f 2868/3883/271 2873/3884/271 2869/3876/271 -f 2879/3885/271 2874/3886/271 2878/3887/271 -f 2881/3888/273 2875/3889/273 2879/3890/273 -f 2880/3891/272 2877/3892/272 2881/3893/272 -f 2876/3894/276 2875/3895/276 2877/3892/276 -f 2884/3896/274 2878/3887/274 2883/3897/274 -f 2889/3898/274 2879/3890/274 2884/3899/274 -f 2883/3900/274 2880/3901/274 2887/3902/274 -f 2878/3903/275 2876/3904/275 2880/3901/275 -f 2889/3898/273 2885/3905/273 2888/3906/273 -f 2888/3907/274 2882/3908/274 2886/3909/274 -f 2886/3910/275 2883/3900/275 2887/3902/275 -f 2887/3911/274 2881/3893/274 2889/3912/274 -f 2883/3897/271 2885/3913/271 2884/3896/271 -f 2888/3907/272 2887/3911/272 2889/3912/272 -f 2903/3914/271 2894/3915/271 2895/3916/271 -f 2901/3917/273 2897/3918/273 2893/3919/273 -f 2890/3920/272 2899/3921/272 2891/3922/272 -f 2902/3923/275 2890/3920/275 2894/3915/275 -f 2904/3924/275 2892/3925/275 2896/3926/275 -f 2905/3927/271 2896/3926/271 2897/3928/271 -f 2892/3925/272 2901/3917/272 2893/3919/272 -f 2899/3921/273 2895/3929/273 2891/3922/273 -f 2907/3930/274 2908/3931/274 2909/3932/274 -f 2912/3933/276 2910/3934/276 2911/3935/276 -f 2907/3930/272 2913/3936/272 2906/3937/272 -f 2913/3938/272 2925/3939/272 2917/3940/272 -f 2908/3931/271 2911/3941/271 2909/3932/271 -f 2911/3942/271 2923/3943/271 2915/3944/271 -f 2912/3945/271 2908/3931/271 2916/3946/271 -f 2913/3936/272 2917/3947/272 2906/3937/272 -f 2917/3940/277 2908/3931/277 2906/3937/277 -f 2911/3941/271 2915/3948/271 2909/3932/271 -f 2910/3934/272 2907/3930/272 2914/3949/272 -f 2915/3944/278 2907/3930/278 2909/3932/278 -f 2920/3950/276 2925/3939/276 2921/3951/276 -f 2918/3952/276 2923/3943/276 2919/3953/276 -f 2912/3954/275 2921/3955/275 2913/3938/275 -f 2914/3956/272 2918/3957/272 2910/3958/272 -f 2915/3944/275 2922/3959/275 2914/3956/275 -f 2916/3960/271 2920/3961/271 2912/3962/271 -f 2917/3940/273 2924/3963/273 2916/3960/273 -f 2910/3958/273 2919/3964/273 2911/3965/273 -f 2845/3830/271 2844/3851/271 2843/3831/271 -f 2849/3833/271 2848/3846/271 2847/3834/271 -f 2851/3836/272 2852/3850/272 2853/3837/272 -f 2855/3839/272 2856/3845/272 2857/3840/272 -f 2848/3842/273 2856/3966/273 2855/3843/273 -f 2849/3833/274 2857/3840/274 2856/3845/274 -f 2844/3847/273 2852/3967/273 2851/3848/273 -f 2845/3830/274 2853/3837/274 2852/3850/274 -f 2846/3852/275 2854/3853/275 2857/3840/275 -f 2847/3844/276 2855/3843/276 2854/3853/276 -f 2842/3854/275 2850/3855/275 2853/3837/275 -f 2843/3849/276 2851/3848/276 2850/3855/276 -f 2859/3856/272 2861/3867/272 2860/3857/272 -f 2864/3859/271 2865/3968/271 2862/3860/271 -f 2860/3857/274 2867/3880/274 2866/3862/274 -f 2861/3863/275 2865/3969/275 2864/3864/275 -f 2859/3856/274 2862/3970/274 2865/3866/274 -f 2858/3868/273 2863/3875/273 2862/3869/273 -f 2869/3871/275 2873/3971/275 2871/3872/275 -f 2864/3864/274 2869/3871/274 2867/3873/274 -f 2858/3868/274 2866/3881/274 2868/3874/274 -f 2863/3861/274 2868/3883/274 2869/3876/274 -f 2871/3877/276 2873/3972/276 2872/3878/276 -f 2867/3880/272 2871/3877/272 2870/3879/272 -f 2866/3881/273 2870/3973/273 2872/3882/273 -f 2868/3883/271 2872/3974/271 2873/3884/271 -f 2879/3885/271 2875/3975/271 2874/3886/271 -f 2881/3888/273 2877/3976/273 2875/3889/273 -f 2880/3891/272 2876/3894/272 2877/3892/272 -f 2876/3894/276 2874/3977/276 2875/3895/276 -f 2884/3896/274 2879/3885/274 2878/3887/274 -f 2889/3898/274 2881/3888/274 2879/3890/274 -f 2883/3900/274 2878/3903/274 2880/3901/274 -f 2878/3903/275 2874/3978/275 2876/3904/275 -f 2889/3898/273 2884/3899/273 2885/3905/273 -f 2888/3907/274 2885/3979/274 2882/3908/274 -f 2886/3910/275 2882/3980/275 2883/3900/275 -f 2887/3911/274 2880/3891/274 2881/3893/274 -f 2883/3897/271 2882/3981/271 2885/3913/271 -f 2888/3907/272 2886/3909/272 2887/3911/272 -f 2903/3914/271 2902/3923/271 2894/3915/271 -f 2901/3917/273 2905/3982/273 2897/3918/273 -f 2890/3920/272 2898/3983/272 2899/3921/272 -f 2902/3923/275 2898/3983/275 2890/3920/275 -f 2904/3924/275 2900/3984/275 2892/3925/275 -f 2905/3927/271 2904/3924/271 2896/3926/271 -f 2892/3925/272 2900/3984/272 2901/3917/272 -f 2899/3921/273 2903/3985/273 2895/3929/273 -f 2907/3930/274 2906/3937/274 2908/3931/274 -f 2912/3933/276 2913/3936/276 2910/3934/276 -f 2907/3930/272 2910/3934/272 2913/3936/272 -f 2913/3938/272 2921/3955/272 2925/3939/272 -f 2908/3931/271 2912/3945/271 2911/3941/271 -f 2911/3942/271 2919/3986/271 2923/3943/271 -f 2917/3940/277 2916/3960/277 2908/3931/277 -f 2915/3944/278 2914/3956/278 2907/3930/278 -f 2920/3950/276 2924/3963/276 2925/3939/276 -f 2918/3952/276 2922/3959/276 2923/3943/276 -f 2912/3954/275 2920/3987/275 2921/3955/275 -f 2914/3956/272 2922/3959/272 2918/3957/272 -f 2915/3944/275 2923/3943/275 2922/3959/275 -f 2916/3960/271 2924/3963/271 2920/3961/271 -f 2917/3940/273 2925/3939/273 2924/3963/273 -f 2910/3958/273 2918/3957/273 2919/3964/273 -o Micro_Rope -v -0.187500 5.250000 1.375000 -v -0.275888 5.213388 1.375000 -v -0.312500 5.125000 1.375000 -v -0.275888 5.036612 1.375000 -v -0.187500 5.000000 1.375000 -v -0.099112 5.036612 1.375000 -v -0.062500 5.125000 1.375000 -v -0.099112 5.213388 1.375000 -v -0.187500 5.250000 0.125000 -v -0.275888 5.213388 0.125000 -v -0.312500 5.125000 0.125000 -v -0.275888 5.036612 0.125000 -v -0.187500 5.000000 0.125000 -v -0.099112 5.036612 0.125000 -v -0.062500 5.125000 0.125000 -v -0.099112 5.213388 0.125000 -v 0.187500 4.250000 1.375000 -v 0.099112 4.213388 1.375000 -v 0.062500 4.125000 1.375000 -v 0.099112 4.036612 1.375000 -v 0.187500 4.000000 1.375000 -v 0.275888 4.036612 1.375000 -v 0.312500 4.125000 1.375000 -v 0.275888 4.213388 1.375000 -v 0.187500 4.250000 0.125000 -v 0.099112 4.213388 0.125000 -v 0.062500 4.125000 0.125000 -v 0.099112 4.036612 0.125000 -v 0.187500 4.000000 0.125000 -v 0.275888 4.036612 0.125000 -v 0.312500 4.125000 0.125000 -v 0.275888 4.213388 0.125000 -vt 0.711111 0.896552 -vt 0.700000 0.724138 -vt 0.711111 0.724138 -vt 0.722222 0.896552 -vt 0.722222 0.724138 -vt 0.744444 0.896552 -vt 0.733333 0.724138 -vt 0.744444 0.724138 -vt 0.677778 0.896552 -vt 0.666667 0.724138 -vt 0.677778 0.724138 -vt 0.700000 0.896552 -vt 0.688889 0.724138 -vt 0.733333 0.896552 -vt 0.755556 0.896552 -vt 0.755556 0.724138 -vt 0.688889 0.896552 -vt 0.711111 0.896552 -vt 0.700000 0.724138 -vt 0.711111 0.724138 -vt 0.722222 0.896552 -vt 0.722222 0.724138 -vt 0.744444 0.896552 -vt 0.733333 0.724138 -vt 0.744444 0.724138 -vt 0.677778 0.896552 -vt 0.666667 0.724138 -vt 0.677778 0.724138 -vt 0.700000 0.896552 -vt 0.688889 0.724138 -vt 0.733333 0.896552 -vt 0.755556 0.896552 -vt 0.755556 0.724138 -vt 0.688889 0.896552 -vt 0.666667 0.896552 -vt 0.666667 0.896552 -vn 0.0000 1.0000 0.0000 -vn -0.7071 0.7071 0.0000 -vn 0.7071 0.7071 0.0000 -vn 0.7071 -0.7071 0.0000 -vn 1.0000 0.0000 0.0000 -vn -0.7071 -0.7071 0.0000 -vn 0.0000 -1.0000 0.0000 -vn -1.0000 0.0000 0.0000 -s 1 -f 2934/3988/279 2927/3989/280 2926/3990/279 -f 2941/3991/281 2926/3990/279 2933/3992/281 -f 2939/3993/282 2932/3994/283 2931/3995/282 -f 2937/3996/284 2930/3997/285 2929/3998/284 -f 2935/3999/280 2928/4000/286 2927/3989/280 -f 2940/4001/283 2933/3992/281 2932/3994/283 -f 2938/4002/285 2931/3995/282 2930/4003/285 -f 2936/4004/286 2929/3998/284 2928/4000/286 -f 2950/4005/279 2943/4006/280 2942/4007/279 -f 2957/4008/281 2942/4007/279 2949/4009/281 -f 2955/4010/282 2948/4011/283 2947/4012/282 -f 2953/4013/284 2946/4014/285 2945/4015/284 -f 2951/4016/280 2944/4017/286 2943/4006/280 -f 2956/4018/283 2949/4009/281 2948/4011/283 -f 2954/4019/285 2947/4012/282 2946/4020/285 -f 2952/4021/286 2945/4015/284 2944/4017/286 -f 2934/3988/279 2935/3999/280 2927/3989/280 -f 2941/3991/281 2934/3988/279 2926/3990/279 -f 2939/3993/282 2940/4001/283 2932/3994/283 -f 2937/3996/284 2938/4022/285 2930/3997/285 -f 2935/3999/280 2936/4004/286 2928/4000/286 -f 2940/4001/283 2941/3991/281 2933/3992/281 -f 2938/4002/285 2939/3993/282 2931/3995/282 -f 2936/4004/286 2937/3996/284 2929/3998/284 -f 2950/4005/279 2951/4016/280 2943/4006/280 -f 2957/4008/281 2950/4005/279 2942/4007/279 -f 2955/4010/282 2956/4018/283 2948/4011/283 -f 2953/4013/284 2954/4023/285 2946/4014/285 -f 2951/4016/280 2952/4021/286 2944/4017/286 -f 2956/4018/283 2957/4008/281 2949/4009/281 -f 2954/4019/285 2955/4010/282 2947/4012/282 -f 2952/4021/286 2953/4013/284 2945/4015/284 -o Micro_Pivot -v -0.125000 1.250000 -1.375000 -v 0.125000 1.250000 -1.375000 -v -0.125000 1.250000 -1.625000 -v 0.125000 1.250000 -1.625000 -v -0.125000 3.250000 -1.625000 -v -0.125000 3.250000 -1.375000 -v 0.125000 3.250000 -1.375000 -v 0.125000 3.250000 -1.625000 -v -0.062500 3.250000 -1.437500 -v 0.062500 3.250000 -1.437500 -v -0.062500 3.250000 -1.562500 -v 0.062500 3.250000 -1.562500 -v -0.062500 4.250000 -1.562500 -v -0.062500 4.250000 -1.437500 -v 0.062500 4.250000 -1.437500 -v 0.062500 4.250000 -1.562500 -vt 0.755556 0.310345 -vt 0.777778 0.275862 -vt 0.777778 0.310345 -vt 0.844444 -0.000000 -vt 0.822222 0.275862 -vt 0.822222 -0.000000 -vt 0.800000 -0.000000 -vt 0.777778 -0.000000 -vt 0.755556 0.275862 -vt 0.755556 -0.000000 -vt 0.800000 0.275862 -vt 0.788889 0.275862 -vt 0.777778 0.413793 -vt 0.777778 0.275862 -vt 0.811111 0.275862 -vt 0.800000 0.413793 -vt 0.800000 0.275862 -vt 0.822222 0.275862 -vt 0.811111 0.413793 -vt 0.788889 0.413793 -vt 0.844444 0.275862 -vt 0.822222 0.413793 -vn 0.0000 1.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -s off -f 2964/4024/287 2962/4025/287 2963/4026/287 -f 2961/4027/288 2964/4028/288 2959/4029/288 -f 2958/4030/289 2962/4025/289 2960/4031/289 -f 2960/4031/290 2965/4032/290 2961/4033/290 -f 2959/4029/291 2963/4034/291 2958/4030/291 -f 2968/4035/290 2973/4036/290 2969/4037/290 -f 2967/4038/291 2971/4039/291 2966/4040/291 -f 2969/4041/288 2972/4042/288 2967/4038/288 -f 2966/4040/289 2970/4043/289 2968/4035/289 -f 2964/4024/287 2965/4032/287 2962/4025/287 -f 2961/4027/288 2965/4044/288 2964/4028/288 -f 2958/4030/289 2963/4034/289 2962/4025/289 -f 2960/4031/290 2962/4025/290 2965/4032/290 -f 2959/4029/291 2964/4028/291 2963/4034/291 -f 2968/4035/290 2970/4043/290 2973/4036/290 -f 2967/4038/291 2972/4042/291 2971/4039/291 -f 2969/4041/288 2973/4045/288 2972/4042/288 -f 2966/4040/289 2971/4039/289 2970/4043/289 -o Micro_Erector -v -0.125000 3.250000 -1.625000 -v -0.125000 3.250000 -1.375000 -v 0.125000 3.250000 -1.375000 -v 0.125000 3.250000 -1.625000 -v -0.125000 6.000000 -1.625000 -v -0.125000 6.250000 -1.375000 -v 0.125000 6.250000 -1.375000 -v 0.125000 6.000000 -1.625000 -v -0.125000 6.250000 -1.375000 -v 0.125000 6.250000 -1.375000 -v -0.125000 6.000000 -1.375000 -v 0.125000 6.000000 -1.375000 -v -0.125000 6.250000 -0.625000 -v 0.125000 6.250000 -0.625000 -v -0.125000 6.000000 -0.625000 -v 0.125000 6.000000 -0.625000 -v 0.375000 6.250000 -0.125000 -v 0.625000 6.250000 -0.125000 -v 0.375000 6.000000 -0.125000 -v 0.625000 6.000000 -0.125000 -v 0.375000 6.250000 0.375000 -v 0.625000 6.250000 0.125000 -v 0.375000 6.000000 0.375000 -v 0.625000 6.000000 0.125000 -v -0.625000 6.250000 -0.125000 -v -0.375000 6.250000 -0.125000 -v -0.625000 6.000000 -0.125000 -v -0.375000 6.000000 -0.125000 -v -0.625000 6.250000 0.125000 -v -0.375000 6.250000 0.375000 -v -0.625000 6.000000 0.125000 -v -0.375000 6.000000 0.375000 -v -0.125000 6.250000 -0.375000 -v 0.125000 6.250000 -0.375000 -v -0.125000 6.000000 -0.375000 -v 0.125000 6.000000 -0.375000 -v 0.000000 6.250000 -0.625000 -v 0.000000 6.000000 -0.625000 -v 0.000000 5.500000 -1.375000 -v 0.000000 5.250000 -1.375000 -v 0.000000 5.000000 -1.375000 -v 0.000000 4.750000 -1.375000 -v 0.000000 4.250000 -0.625000 -v 0.000000 4.000000 -0.625000 -v 0.125000 4.000000 -0.375000 -v -0.125000 4.000000 -0.375000 -v 0.125000 4.250000 -0.375000 -v -0.125000 4.250000 -0.375000 -v -0.375000 4.000000 0.375000 -v -0.625000 4.000000 0.125000 -v -0.375000 4.250000 0.375000 -v -0.625000 4.250000 0.125000 -v -0.375000 4.000000 -0.125000 -v -0.625000 4.000000 -0.125000 -v -0.375000 4.250000 -0.125000 -v -0.625000 4.250000 -0.125000 -v 0.625000 4.000000 0.125000 -v 0.375000 4.000000 0.375000 -v 0.625000 4.250000 0.125000 -v 0.375000 4.250000 0.375000 -v 0.625000 4.000000 -0.125000 -v 0.375000 4.000000 -0.125000 -v 0.625000 4.250000 -0.125000 -v 0.375000 4.250000 -0.125000 -v 0.125000 4.000000 -0.625000 -v -0.125000 4.000000 -0.625000 -v 0.125000 4.250000 -0.625000 -v -0.125000 4.250000 -0.625000 -v 0.125000 4.000000 -1.375000 -v -0.125000 4.000000 -1.375000 -v 0.125000 4.250000 -1.375000 -v -0.125000 4.250000 -1.375000 -v 0.000000 6.250000 -0.625000 -v 0.000000 6.000000 -0.625000 -v 0.000000 5.500000 -1.375000 -v 0.000000 5.250000 -1.375000 -v 0.000000 5.000000 -1.375000 -v 0.000000 4.750000 -1.375000 -v 0.000000 4.250000 -0.625000 -v 0.000000 4.000000 -0.625000 -vt 0.800000 0.448276 -vt 0.777778 0.413793 -vt 0.800000 0.413793 -vt 0.777778 0.862069 -vt 0.800000 0.827586 -vt 0.800000 0.862069 -vt 0.777778 0.827586 -vt 0.777778 0.448276 -vt 0.844444 0.448276 -vt 0.822222 0.862069 -vt 0.822222 0.448276 -vt 0.755556 0.448276 -vt 0.755556 0.862069 -vt 0.866667 0.172414 -vt 0.911111 0.137931 -vt 0.888889 0.172414 -vt 1.000000 0.172414 -vt 0.977778 0.103448 -vt 1.000000 0.103448 -vt 0.866667 -0.000000 -vt 0.844444 0.103448 -vt 0.844444 -0.000000 -vt 0.933333 0.000000 -vt 0.911111 0.103448 -vt 0.911111 0.000000 -vt 1.000000 -0.000000 -vt 0.977778 -0.000000 -vt 0.933333 -0.000000 -vt 0.911111 0.103448 -vt 0.911111 -0.000000 -vt 0.866667 0.241379 -vt 0.844444 0.206897 -vt 0.866667 0.206897 -vt 0.955556 0.172414 -vt 0.977778 0.206897 -vt 0.955556 0.241379 -vt 0.866667 0.172414 -vt 0.844444 0.172414 -vt 0.888889 0.172414 -vt 0.844444 0.310345 -vt 0.866667 0.310345 -vt 0.955556 0.172414 -vt 0.933333 0.103448 -vt 0.977778 0.172414 -vt 0.977778 0.206897 -vt 1.000000 0.241379 -vt 0.977778 0.241379 -vt 0.866667 0.206897 -vt 0.977778 0.310345 -vt 1.000000 0.310345 -vt 0.955556 0.241379 -vt 0.933333 0.137931 -vt 0.911111 0.172414 -vt 0.911111 0.137931 -vt 0.933333 0.103448 -vt 1.000000 0.344828 -vt 0.866667 0.344828 -vt 0.866667 0.103448 -vt 0.933333 0.137931 -vt 0.977778 0.172414 -vt 0.444444 0.000000 -vt 0.511111 0.034483 -vt 0.444444 0.034483 -vt 0.444444 0.034483 -vt 0.511111 0.000000 -vt 0.511111 0.034483 -vt 0.933333 0.103448 -vt 0.911111 0.137931 -vt 0.911111 0.103448 -vt 0.933333 0.137931 -vt 0.911111 0.172414 -vt 0.911111 0.137931 -vt 1.000000 0.172414 -vt 0.977778 0.206897 -vt 0.977778 0.172414 -vt 0.955556 0.172414 -vt 0.955556 0.241379 -vt 0.977778 0.310345 -vt 1.000000 0.241379 -vt 1.000000 0.310345 -vt 0.888889 0.172414 -vt 0.866667 0.206897 -vt 0.866667 0.172414 -vt 0.977778 0.241379 -vt 0.933333 0.103448 -vt 0.844444 0.310345 -vt 0.866667 0.241379 -vt 0.866667 0.310345 -vt 0.888889 0.172414 -vt 0.866667 0.206897 -vt 0.866667 0.172414 -vt 0.844444 0.206897 -vt 0.844444 0.172414 -vt 0.955556 0.172414 -vt 0.977778 0.206897 -vt 0.955556 0.241379 -vt 0.933333 -0.000000 -vt 0.911111 -0.000000 -vt 1.000000 -0.000000 -vt 0.977778 0.103448 -vt 0.977778 -0.000000 -vt 0.933333 0.000000 -vt 0.911111 0.103448 -vt 0.911111 0.000000 -vt 0.866667 -0.000000 -vt 0.844444 0.103448 -vt 0.844444 -0.000000 -vt 1.000000 0.103448 -vt 0.511111 0.034483 -vt 0.444444 0.000000 -vt 0.444444 0.034483 -vt 0.511111 0.000000 -vt 0.444444 0.034483 -vt 0.511111 0.034483 -vt 1.000000 0.344828 -vt 0.866667 0.344828 -vt 0.866667 0.103448 -vt 0.933333 0.137931 -vt 0.977778 0.172414 -vt 0.844444 0.862069 -vt 0.844444 0.241379 -vt 0.888889 0.241379 -vt 1.000000 0.206897 -vt 0.888889 0.241379 -vt 0.933333 0.172414 -vt 0.977778 0.344828 -vt 0.844444 0.344828 -vt 0.511111 0.000000 -vt 0.444444 -0.000000 -vt 0.933333 0.172414 -vt 1.000000 0.206897 -vt 0.888889 0.241379 -vt 0.844444 0.241379 -vt 0.888889 0.241379 -vt 0.511111 0.000000 -vt 0.444444 -0.000000 -vt 0.977778 0.344828 -vt 0.844444 0.344828 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn -0.7071 0.0000 -0.7071 -vn 0.0000 1.0000 0.0000 +vn -0.7071 -0.0000 0.7071 vn 0.7071 0.0000 0.7071 -vn -0.7071 0.0000 0.7071 -vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 -0.7071 s off -f 2974/4046/292 2976/4047/292 2975/4048/292 -f 2980/4049/293 2978/4050/293 2979/4051/293 -f 2974/4046/294 2981/4052/294 2977/4053/294 -f 2976/4054/295 2979/4055/295 2975/4056/295 -f 2976/4057/296 2981/4052/296 2980/4058/296 -f 2975/4056/297 2978/4050/297 2974/4046/297 -f 3000/4059/292 3008/4060/292 3001/4061/292 -f 3000/4062/298 2986/4063/298 2988/4064/298 -f 2983/4065/296 2989/4066/296 2985/4067/296 -f 2982/4068/299 2987/4069/299 2983/4070/299 -f 2984/4071/297 2986/4063/297 2982/4072/297 -f 2985/4073/292 2988/4074/292 2984/4075/292 -f 2994/4076/300 2997/4077/300 2995/4078/300 -f 2992/4079/292 2997/4080/292 2996/4081/292 -f 2991/4082/296 2997/4077/296 2993/4083/296 -f 2990/4084/299 2995/4078/299 2991/4082/299 -f 2992/4085/297 2994/4076/297 2990/4086/297 -f 2999/4087/299 2986/4088/299 2998/4089/299 -f 3002/4090/301 3005/4091/301 3003/4092/301 -f 3001/4061/292 3004/4093/292 3000/4059/292 -f 2999/4094/296 3005/4091/296 3001/4095/296 -f 2999/4087/299 3002/4090/299 3003/4096/299 -f 3000/4062/297 3002/4090/297 2998/4089/297 -f 3006/4097/295 3009/4098/295 3007/4099/295 -f 2989/4100/292 3008/4060/292 2988/4074/292 -f 3008/4101/300 2999/4094/300 3001/4095/300 -f 2986/4088/299 3007/4099/299 2987/4069/299 -f 3007/4102/301 2992/4085/301 2990/4086/301 -f 2991/4082/299 3007/4099/299 2990/4084/299 -f 2991/4082/302 2989/4066/302 2987/4103/302 -f 3009/4104/292 2993/4105/292 2992/4079/292 -f 3011/4106/296 3012/4107/296 3010/4108/296 -f 3016/4109/296 3015/4110/296 3014/4111/296 -f 3038/4112/292 3019/4113/292 3039/4114/292 -f 3021/4115/295 3018/4116/295 3020/4117/295 -f 3027/4118/297 3025/4119/297 3029/4120/297 -f 3028/4121/299 3025/4119/299 3024/4122/299 -f 3028/4123/296 3022/4124/296 3026/4125/296 -f 3026/4126/292 3023/4127/292 3027/4128/292 -f 3025/4119/301 3022/4124/301 3024/4129/301 -f 3028/4121/299 3041/4130/299 3029/4120/299 -f 3035/4131/297 3033/4132/297 3037/4133/297 -f 3037/4134/299 3032/4135/299 3036/4136/299 -f 3036/4136/296 3030/4137/296 3034/4138/296 -f 3035/4139/292 3030/4140/292 3031/4141/292 -f 3033/4132/300 3030/4137/300 3032/4135/300 -f 3042/4142/292 3039/4114/292 3043/4143/292 -f 3043/4144/297 3041/4145/297 3045/4146/297 -f 3045/4147/299 3040/4148/299 3044/4149/299 -f 3044/4150/296 3038/4151/296 3042/4152/296 -f 3027/4118/298 3041/4145/298 3039/4153/298 -f 3027/4128/292 3019/4113/292 3026/4126/292 -f 3048/4154/297 3047/4155/297 3046/4156/297 -f 3051/4157/297 3052/4158/297 3050/4159/297 -f 3019/4160/300 3028/4123/300 3026/4125/300 -f 3041/4130/299 3020/4117/299 3040/4148/299 -f 3020/4161/301 3035/4131/301 3037/4133/301 -f 3036/4136/299 3020/4117/299 3037/4134/299 -f 3036/4136/302 3038/4151/302 3040/4162/302 -f 3018/4163/292 3034/4164/292 3035/4139/292 -f 2974/4046/292 2977/4053/292 2976/4047/292 -f 2980/4049/293 2981/4052/293 2978/4050/293 -f 2974/4046/294 2978/4050/294 2981/4052/294 -f 2976/4054/295 2980/4165/295 2979/4055/295 -f 2976/4057/296 2977/4053/296 2981/4052/296 -f 2975/4056/297 2979/4055/297 2978/4050/297 -f 3000/4059/292 2988/4074/292 3008/4060/292 -f 3000/4062/298 2998/4089/298 2986/4063/298 -f 2983/4065/296 2987/4103/296 2989/4066/296 -f 2982/4068/299 2986/4088/299 2987/4069/299 -f 2984/4071/297 2988/4064/297 2986/4063/297 -f 2985/4073/292 2989/4100/292 2988/4074/292 -f 2994/4076/300 2996/4166/300 2997/4077/300 -f 2992/4079/292 2993/4105/292 2997/4080/292 -f 2991/4082/296 2995/4078/296 2997/4077/296 -f 2990/4084/299 2994/4167/299 2995/4078/299 -f 2992/4085/297 2996/4166/297 2994/4076/297 -f 2999/4087/299 3006/4097/299 2986/4088/299 -f 3002/4090/301 3004/4168/301 3005/4091/301 -f 3001/4061/292 3005/4169/292 3004/4093/292 -f 2999/4094/296 3003/4092/296 3005/4091/296 -f 2999/4087/299 2998/4089/299 3002/4090/299 -f 3000/4062/297 3004/4168/297 3002/4090/297 -f 3006/4097/295 3008/4170/295 3009/4098/295 -f 2989/4100/292 3009/4104/292 3008/4060/292 -f 3008/4101/300 3006/4171/300 2999/4094/300 -f 2986/4088/299 3006/4097/299 3007/4099/299 -f 3007/4102/301 3009/4172/301 2992/4085/301 -f 2991/4082/299 2987/4069/299 3007/4099/299 -f 2991/4082/302 2993/4083/302 2989/4066/302 -f 3009/4104/292 2989/4100/292 2993/4105/292 -f 3011/4106/296 3013/4173/296 3012/4107/296 -f 3016/4109/296 3017/4174/296 3015/4110/296 -f 3038/4112/292 3018/4163/292 3019/4113/292 -f 3021/4115/295 3019/4175/295 3018/4116/295 -f 3027/4118/297 3023/4176/297 3025/4119/297 -f 3028/4121/299 3029/4120/299 3025/4119/299 -f 3028/4123/296 3024/4129/296 3022/4124/296 -f 3026/4126/292 3022/4177/292 3023/4127/292 -f 3025/4119/301 3023/4176/301 3022/4124/301 -f 3028/4121/299 3021/4115/299 3041/4130/299 -f 3035/4131/297 3031/4178/297 3033/4132/297 -f 3037/4134/299 3033/4179/299 3032/4135/299 -f 3036/4136/296 3032/4135/296 3030/4137/296 -f 3035/4139/292 3034/4164/292 3030/4140/292 -f 3033/4132/300 3031/4178/300 3030/4137/300 -f 3042/4142/292 3038/4112/292 3039/4114/292 -f 3043/4144/297 3039/4153/297 3041/4145/297 -f 3045/4147/299 3041/4130/299 3040/4148/299 -f 3044/4150/296 3040/4162/296 3038/4151/296 -f 3027/4118/298 3029/4120/298 3041/4145/298 -f 3027/4128/292 3039/4114/292 3019/4113/292 -f 3048/4154/297 3049/4180/297 3047/4155/297 -f 3051/4157/297 3053/4181/297 3052/4158/297 -f 3019/4160/300 3021/4182/300 3028/4123/300 -f 3041/4130/299 3021/4115/299 3020/4117/299 -f 3020/4161/301 3018/4183/301 3035/4131/301 -f 3036/4136/299 3040/4148/299 3020/4117/299 -f 3036/4136/302 3034/4138/302 3038/4151/302 -f 3018/4163/292 3038/4112/292 3034/4164/292 -o Micro_Pad -v -1.250000 2.000000 1.250000 -v 1.250000 2.000000 1.250000 -v -1.250000 2.000000 -1.250000 -v 1.250000 2.000000 -1.250000 -v -1.250000 1.500000 -1.250000 -v -1.250000 1.500000 1.250000 -v 1.250000 1.500000 1.250000 -v 1.250000 1.500000 -1.250000 -v -0.500000 2.000000 0.500000 -v 0.500000 2.000000 0.500000 -v -0.500000 2.000000 -0.500000 -v 0.500000 2.000000 -0.500000 -v -0.500000 1.500000 0.500000 -v 0.500000 1.500000 0.500000 -v -0.500000 1.500000 -0.500000 -v 0.500000 1.500000 -0.500000 -v -0.500000 2.000000 0.500000 -v 0.500000 2.000000 0.500000 -v -0.500000 2.000000 -0.500000 -v 0.500000 2.000000 -0.500000 -v 1.250000 1.500000 -1.250000 -v 1.250000 1.000000 -1.250000 -v 0.250000 1.500000 -1.250000 -v 0.500000 1.000000 -1.250000 -v 1.250000 1.500000 -0.250000 -v 1.250000 1.000000 -0.500000 -v 0.500000 1.500000 -0.500000 -v 0.500000 1.000000 -0.500000 -v 0.500000 1.250000 -1.250000 -v 1.250000 1.250000 -0.500000 -v 0.500000 1.250000 -0.500000 -v 0.250000 1.500000 -0.500000 -v 0.500000 1.500000 -0.250000 -v -0.500000 1.000000 -1.250000 -v 0.500000 1.000000 -1.250000 -v -0.500000 1.000000 -1.750000 -v 0.500000 1.000000 -1.750000 -v -0.500000 1.500000 -1.750000 -v -0.500000 1.500000 -1.250000 -v 0.500000 1.500000 -1.250000 -v 0.500000 1.500000 -1.750000 -v -0.875000 1.000000 2.000000 -v -0.625000 1.000000 2.000000 -v -0.875000 1.000000 1.750000 -v -0.625000 1.000000 1.750000 -v 0.625000 1.000000 2.000000 -v 0.875000 1.000000 2.000000 -v 0.625000 1.000000 1.750000 -v 0.875000 1.000000 1.750000 -v -0.875000 2.000000 1.000000 -v -0.625000 2.000000 1.000000 -v -0.875000 2.000000 0.750000 -v -0.625000 2.000000 0.750000 -v 0.625000 2.000000 1.000000 -v 0.875000 2.000000 1.000000 -v 0.625000 2.000000 0.750000 -v 0.875000 2.000000 0.750000 -v -0.875000 8.000000 1.750000 -v -0.875000 8.000000 2.000000 -v -0.625000 8.000000 2.000000 -v -0.625000 8.000000 1.750000 -v 0.625000 8.000000 1.750000 -v 0.625000 8.000000 2.000000 -v 0.875000 8.000000 2.000000 -v 0.875000 8.000000 1.750000 -v -0.875000 8.000000 0.750000 -v -0.875000 8.000000 1.000000 -v -0.625000 8.000000 1.000000 -v -0.625000 8.000000 0.750000 -v 0.625000 8.000000 0.750000 -v 0.625000 8.000000 1.000000 -v 0.875000 8.000000 1.000000 -v 0.875000 8.000000 0.750000 -v -0.625000 1.000000 1.875000 -v 0.625000 1.000000 1.875000 -v -0.625000 8.000000 1.875000 -v 0.625000 8.000000 1.875000 -v -0.625000 2.000000 0.875000 -v 0.625000 2.000000 0.875000 -v -0.625000 8.000000 0.875000 -v 0.625000 8.000000 0.875000 -v 0.750000 1.000000 1.750000 -v 0.750000 8.000000 1.750000 -v 0.750000 1.000000 1.000000 -v 0.750000 8.000000 1.000000 -v -0.750000 1.000000 1.750000 -v -0.750000 8.000000 1.750000 -v -0.750000 1.000000 1.000000 -v -0.750000 8.000000 1.000000 -v -0.312500 1.000000 1.625000 -v -0.062500 1.000000 1.625000 -v -0.312500 1.000000 1.375000 -v -0.062500 1.000000 1.375000 -v 0.062500 1.000000 1.625000 -v 0.312500 1.000000 1.625000 -v 0.062500 1.000000 1.375000 -v 0.312500 1.000000 1.375000 -v -0.312500 6.000000 1.375000 -v -0.312500 6.000000 1.625000 -v -0.062500 6.000000 1.625000 -v -0.062500 6.000000 1.375000 -v 0.062500 6.000000 1.375000 -v 0.062500 6.000000 1.625000 -v 0.312500 6.000000 1.625000 -v 0.312500 6.000000 1.375000 -v -1.250000 1.500000 1.250000 -v -1.250000 1.000000 1.250000 -v -0.250000 1.500000 1.250000 -v -0.500000 1.000000 1.250000 -v -1.250000 1.500000 0.250000 -v -1.250000 1.000000 0.500000 -v -0.500000 1.500000 0.500000 -v -0.500000 1.000000 0.500000 -v -0.500000 1.250000 1.250000 -v -1.250000 1.250000 0.500000 -v -0.500000 1.250000 0.500000 -v -0.250000 1.500000 0.500000 -v -0.500000 1.500000 0.250000 -v -1.250000 1.500000 -1.250000 -v -1.250000 1.000000 -1.250000 -v -1.250000 1.500000 -0.250000 -v -1.250000 1.000000 -0.500000 -v -0.250000 1.500000 -1.250000 -v -0.500000 1.000000 -1.250000 -v -0.500000 1.500000 -0.500000 -v -0.500000 1.000000 -0.500000 -v -1.250000 1.250000 -0.500000 -v -0.500000 1.250000 -1.250000 -v -0.500000 1.250000 -0.500000 -v -0.500000 1.500000 -0.250000 -v -0.250000 1.500000 -0.500000 -v 1.250000 1.500000 1.250000 -v 1.250000 1.000000 1.250000 -v 1.250000 1.500000 0.250000 -v 1.250000 1.000000 0.500000 -v 0.250000 1.500000 1.250000 -v 0.500000 1.000000 1.250000 -v 0.500000 1.500000 0.500000 -v 0.500000 1.000000 0.500000 -v 1.250000 1.250000 0.500000 -v 0.500000 1.250000 1.250000 -v 0.500000 1.250000 0.500000 -v 0.500000 1.500000 0.250000 -v 0.250000 1.500000 0.500000 -v -0.625000 1.000000 1.875000 -v 0.625000 1.000000 1.875000 -v -0.625000 8.000000 1.875000 -v 0.625000 8.000000 1.875000 -v -0.625000 2.000000 0.875000 -v 0.625000 2.000000 0.875000 -v -0.625000 8.000000 0.875000 -v 0.625000 8.000000 0.875000 -v 0.750000 1.000000 1.750000 -v 0.750000 8.000000 1.750000 -v 0.750000 1.000000 1.000000 -v 0.750000 8.000000 1.000000 -v -0.750000 1.000000 1.750000 -v -0.750000 8.000000 1.750000 -v -0.750000 1.000000 1.000000 -v -0.750000 8.000000 1.000000 -vt 0.066667 0.655172 -vt 0.222222 0.758621 -vt 0.000000 0.758621 -vt 0.066667 0.517241 -vt 0.000000 0.413793 -vt 0.222222 0.344828 -vt 0.222222 0.413793 -vt 0.000000 0.413793 -vt 0.222222 0.344828 -vt 0.222222 0.413793 -vt 0.000000 0.413793 -vt 0.222222 0.344828 -vt 0.222222 0.413793 -vt -0.000000 0.413793 -vt 0.222222 0.344828 -vt 0.222222 0.413793 -vt 0.066667 0.172414 -vt 0.155556 0.241379 -vt 0.066667 0.241379 -vt 0.155556 0.655172 -vt 0.155556 0.517241 -vt 0.000000 -0.000000 -vt 0.066667 0.241379 -vt 0.000000 0.344828 -vt 0.155556 0.241379 -vt 0.155556 0.103448 -vt 0.222222 -0.000000 -vt 0.066667 0.103448 -vt 0.066667 0.517241 -vt 0.155556 0.655172 -vt 0.066667 0.655172 -vt 0.066667 0.172414 -vt 0.155556 0.241379 -vt 0.066667 0.241379 -vt 0.066667 0.172414 -vt 0.155556 0.241379 -vt 0.066667 0.241379 -vt 0.066667 0.172414 -vt 0.155556 0.241379 -vt 0.066667 0.241379 -vt 0.088889 0.758621 -vt 0.155556 0.758621 -vt 0.155556 0.793103 -vt 0.022222 0.827586 -vt 0.088889 0.862069 -vt 0.022222 0.862069 -vt 0.088889 0.827586 -vt 0.000000 0.827586 -vt 0.022222 0.793103 -vt 0.088889 0.896552 -vt 0.155556 0.862069 -vt 0.088889 0.827586 -vt 0.155556 0.827586 -vt 0.155556 0.793103 -vt 0.177778 0.758621 -vt 0.177778 0.793103 -vt 0.200000 0.793103 -vt 0.088889 0.896552 -vt 0.155556 0.896552 -vt 0.888889 0.655172 -vt 0.933333 0.793103 -vt 0.888889 0.793103 -vt 0.888889 0.862069 -vt 0.933333 0.862069 -vt 0.977778 0.793103 -vt 0.933333 0.655172 -vt 0.977778 0.655172 -vt 0.844444 0.655172 -vt 0.844444 0.793103 -vt 0.933333 0.586207 -vt 0.888889 0.586207 -vt 0.577778 0.965517 -vt 0.600000 1.000000 -vt 0.577778 1.000000 -vt 0.577778 0.965517 -vt 0.600000 1.000000 -vt 0.577778 1.000000 -vt 0.577778 0.965517 -vt 0.600000 1.000000 -vt 0.577778 1.000000 -vt 0.577778 0.965517 -vt 0.600000 1.000000 -vt 0.577778 1.000000 -vt 0.600000 0.137931 -vt 0.577778 0.137931 -vt 0.622222 0.000000 -vt 0.600000 0.965517 -vt 0.600000 0.000000 -vt 0.622222 0.137931 -vt 0.600000 0.965517 -vt 0.644444 0.000000 -vt 0.622222 0.965517 -vt 0.622222 0.000000 -vt 0.644444 0.137931 -vt 0.622222 0.965517 -vt 0.622222 0.137931 -vt 0.666667 0.000000 -vt 0.644444 0.965517 -vt 0.666667 0.137931 -vt 0.644444 0.965517 -vt 0.600000 0.000000 -vt 0.577778 0.000000 -vt 0.600000 0.137931 -vt 0.577778 0.137931 -vt 0.600000 0.965517 -vt 0.644444 0.000000 -vt 0.622222 0.965517 -vt 0.600000 0.965517 -vt 0.644444 0.137931 -vt 0.622222 0.965517 -vt 0.666667 0.000000 -vt 0.644444 0.965517 -vt 0.666667 0.137931 -vt 0.644444 0.965517 -vt 0.577778 0.000000 -vt 0.222222 0.965517 -vt 0.333333 -0.000000 -vt 0.333333 0.965517 -vt 0.511111 0.965517 -vt 0.400000 0.137931 -vt 0.511111 0.137931 -vt 0.333333 0.000000 -vt 0.400000 0.965517 -vt 0.333333 0.965517 -vt 0.511111 0.965517 -vt 0.577778 0.000000 -vt 0.577778 0.965517 -vt 0.666667 0.689655 -vt 0.688889 0.724138 -vt 0.666667 0.724138 -vt 0.666667 0.689655 -vt 0.688889 0.724138 -vt 0.666667 0.724138 -vt 0.688889 0.000000 -vt 0.666667 0.000000 -vt 0.733333 0.000000 -vt 0.711111 0.689655 -vt 0.711111 0.000000 -vt 0.711111 0.000000 -vt 0.688889 0.689655 -vt 0.688889 0.000000 -vt 0.755556 0.000000 -vt 0.733333 0.689655 -vt 0.733333 0.000000 -vt 0.688889 0.689655 -vt 0.755556 0.000000 -vt 0.733333 0.689655 -vt 0.666667 0.000000 -vt 0.711111 0.689655 -vt 0.088889 0.758621 -vt 0.155556 0.758621 -vt 0.155556 0.793103 -vt 0.022222 0.827586 -vt 0.088889 0.862069 -vt 0.022222 0.862069 -vt 0.088889 0.827586 -vt 0.000000 0.827586 -vt 0.022222 0.793103 -vt 0.022222 0.896552 -vt 0.088889 0.896552 -vt 0.155556 0.862069 -vt 0.088889 0.827586 -vt 0.155556 0.827586 -vt 0.155556 0.793103 -vt 0.177778 0.758621 -vt 0.177778 0.793103 -vt 0.200000 0.793103 -vt 0.088889 0.896552 -vt 0.155556 0.896552 -vt 0.088889 0.758621 -vt 0.155556 0.758621 -vt 0.155556 0.793103 -vt 0.022222 0.827586 -vt 0.088889 0.862069 -vt 0.022222 0.862069 -vt 0.088889 0.827586 -vt 0.000000 0.827586 -vt 0.022222 0.793103 -vt 0.022222 0.896552 -vt 0.088889 0.896552 -vt 0.155556 0.862069 -vt 0.088889 0.827586 -vt 0.155556 0.827586 -vt 0.155556 0.793103 -vt 0.177778 0.758621 -vt 0.177778 0.793103 -vt 0.200000 0.793103 -vt 0.088889 0.896552 -vt 0.155556 0.896552 -vt 0.088889 0.758621 -vt 0.155556 0.758621 -vt 0.155556 0.793103 -vt 0.022222 0.827586 -vt 0.088889 0.862069 -vt 0.022222 0.862069 -vt 0.088889 0.827586 -vt 0.000000 0.827586 -vt 0.022222 0.793103 -vt 0.088889 0.896552 -vt 0.155556 0.862069 -vt 0.088889 0.827586 -vt 0.155556 0.827586 -vt 0.155556 0.793103 -vt 0.177778 0.758621 -vt 0.177778 0.793103 -vt 0.200000 0.793103 -vt 0.088889 0.896552 -vt 0.155556 0.896552 -vt 0.333333 -0.000000 -vt 0.222222 0.965517 -vt 0.333333 0.965517 -vt 0.400000 0.137931 -vt 0.511111 0.965517 -vt 0.511111 0.137931 -vt 0.400000 0.965517 -vt 0.333333 0.000000 -vt 0.333333 0.965517 -vt 0.577778 0.000000 -vt 0.511111 0.965517 -vt 0.577778 0.965517 -vt 0.000000 0.344828 -vt 0.000000 0.344828 -vt -0.000000 0.344828 -vt 0.155556 0.172414 -vt 0.155556 0.517241 -vt 0.155556 0.172414 -vt 0.155556 0.172414 -vt 0.155556 0.172414 -vt 0.177778 0.827586 -vt 0.022222 0.758621 -vt 0.022222 0.896552 -vt 0.666667 0.965517 -vt 0.666667 0.965517 -vt 0.666667 0.965517 -vt 0.666667 0.965517 -vt 0.222222 0.000000 -vt 0.400000 0.965517 -vt 0.400000 0.000000 -vt 0.511111 0.000000 -vt 0.755556 0.689655 -vt 0.755556 0.689655 -vt 0.177778 0.827586 -vt 0.022222 0.758621 -vt 0.177778 0.827586 -vt 0.022222 0.758621 -vt 0.177778 0.827586 -vt 0.022222 0.758621 -vt 0.022222 0.896552 -vt 0.222222 0.000000 -vt 0.400000 0.965517 -vt 0.400000 0.000000 -vt 0.511111 0.000000 -vn 0.0000 1.0000 0.0000 +f 2706/4061/399 2707/4062/399 2708/4063/399 +f 2709/4064/399 2710/4065/399 2711/4066/399 +f 2712/4067/399 2713/4068/399 2714/4069/399 +f 2715/4070/399 2716/4071/399 2717/4072/399 +f 2718/4073/400 2719/4074/400 2720/4075/400 +f 2721/4076/400 2722/4077/400 2723/4078/400 +f 2724/4079/400 2725/4080/400 2726/4081/400 +f 2727/4082/400 2728/4083/400 2729/4084/400 +f 2713/4085/401 2726/4086/401 2714/4087/401 +f 2730/4088/402 2718/4089/402 2707/4090/402 +f 2731/4091/402 2724/4092/402 2713/4085/402 +f 2706/4061/403 2732/4093/403 2730/4094/403 +f 2712/4067/403 2733/4095/403 2731/4096/403 +f 2711/4097/404 2722/4077/404 2709/4064/404 +f 2717/4098/404 2728/4083/404 2715/4070/404 +f 2710/4099/401 2723/4100/401 2711/4097/401 +f 2716/4101/401 2729/4102/401 2717/4098/401 +f 2734/4103/402 2721/4104/402 2710/4099/402 +f 2735/4105/402 2727/4106/402 2716/4101/402 +f 2709/4064/403 2736/4107/403 2734/4108/403 +f 2708/4109/404 2719/4074/404 2706/4061/404 +f 2715/4070/403 2737/4110/403 2735/4111/403 +f 2714/4087/404 2725/4080/404 2712/4067/404 +f 2707/4090/401 2720/4112/401 2708/4109/401 +f 2738/4113/400 2739/4114/400 2740/4115/400 +f 2741/4116/399 2742/4117/399 2743/4118/399 +f 2738/4113/403 2744/4119/403 2745/4120/403 +f 2739/4114/401 2743/4121/401 2740/4115/401 +f 2746/4122/403 2747/4123/403 2748/4124/403 +f 2749/4125/401 2750/4126/401 2751/4127/401 +f 2746/4128/399 2752/4129/399 2750/4130/399 +f 2746/4128/399 2753/4131/399 2754/4132/399 +f 2746/4133/405 2755/4134/405 2756/4135/405 +f 2747/4123/400 2751/4136/400 2748/4124/400 +f 2757/4137/404 2758/4138/404 2759/4139/404 +f 2760/4140/402 2761/4141/402 2762/4142/402 +f 2763/4143/401 2760/4144/401 2758/4145/401 +f 2757/4146/399 2764/4147/399 2763/4148/399 +f 2751/4136/400 2755/4134/400 2748/4124/400 +f 2758/4138/400 2762/4149/400 2759/4139/400 +f 2765/4150/402 2755/4134/402 2766/4151/402 +f 2767/4152/404 2768/4153/404 2769/4154/404 +f 2750/4126/406 2767/4152/406 2751/4127/406 +f 2765/4155/399 2752/4129/399 2756/4156/399 +f 2766/4157/401 2768/4158/401 2765/4159/401 +f 2755/4134/400 2769/4160/400 2766/4151/400 +f 2753/4161/407 2762/4142/407 2761/4141/407 +f 2747/4123/400 2762/4149/400 2749/4162/400 +f 2754/4163/408 2759/4139/408 2747/4164/408 +f 2761/4165/399 2754/4132/399 2753/4131/399 +f 2770/4166/400 2771/4167/400 2772/4168/400 +f 2773/4169/399 2774/4170/399 2775/4171/399 +f 2770/4166/403 2776/4172/403 2777/4173/403 +f 2771/4167/401 2775/4174/401 2772/4168/401 +f 2778/4175/402 2779/4176/402 2780/4177/402 +f 2781/4178/404 2782/4179/404 2783/4180/404 +f 2780/4177/400 2784/4181/400 2781/4178/400 +f 2783/4180/399 2785/4182/399 2778/4183/399 +f 2786/4184/402 2787/4185/402 2788/4186/402 +f 2789/4187/404 2790/4188/404 2791/4189/404 +f 2788/4186/400 2792/4190/400 2789/4187/400 +f 2791/4189/399 2793/4191/399 2786/4192/399 +f 2794/4193/400 2795/4194/400 2796/4195/400 +f 2797/4196/399 2798/4197/399 2799/4198/399 +f 2794/4193/403 2800/4199/403 2801/4200/403 +f 2795/4194/401 2799/4201/401 2796/4195/401 +f 2802/4202/403 2803/4203/403 2804/4204/403 +f 2805/4205/401 2806/4206/401 2807/4207/401 +f 2802/4208/399 2808/4209/399 2806/4210/399 +f 2802/4208/399 2809/4211/399 2810/4212/399 +f 2802/4213/405 2811/4214/405 2812/4215/405 +f 2803/4203/400 2807/4216/400 2804/4204/400 +f 2813/4217/404 2814/4218/404 2815/4219/404 +f 2816/4220/402 2817/4221/402 2818/4222/402 +f 2819/4223/401 2816/4224/401 2814/4225/401 +f 2813/4226/399 2820/4227/399 2819/4228/399 +f 2807/4216/400 2811/4214/400 2804/4204/400 +f 2814/4218/400 2818/4229/400 2815/4219/400 +f 2821/4230/402 2811/4214/402 2822/4231/402 +f 2823/4232/404 2824/4233/404 2825/4234/404 +f 2806/4206/406 2823/4232/406 2807/4207/406 +f 2821/4235/399 2808/4209/399 2812/4236/399 +f 2822/4237/401 2824/4238/401 2821/4239/401 +f 2811/4214/400 2825/4240/400 2822/4231/400 +f 2809/4241/407 2818/4222/407 2817/4221/407 +f 2803/4203/400 2818/4229/400 2805/4242/400 +f 2810/4243/408 2815/4219/408 2803/4244/408 +f 2817/4245/399 2810/4212/399 2809/4211/399 +f 2826/4246/400 2827/4247/400 2828/4248/400 +f 2829/4249/399 2830/4250/399 2831/4251/399 +f 2826/4246/403 2832/4252/403 2833/4253/403 +f 2827/4247/401 2831/4254/401 2828/4248/401 +f 2834/4255/402 2835/4256/402 2836/4257/402 +f 2837/4258/404 2838/4259/404 2839/4260/404 +f 2836/4257/400 2840/4261/400 2837/4258/400 +f 2839/4260/399 2841/4262/399 2834/4263/399 +f 2842/4264/402 2843/4265/402 2844/4266/402 +f 2845/4267/404 2846/4268/404 2847/4269/404 +f 2844/4266/400 2848/4270/400 2845/4267/400 +f 2847/4269/399 2849/4271/399 2842/4272/399 +f 2850/4273/400 2851/4274/400 2852/4275/400 +f 2853/4276/399 2854/4277/399 2855/4278/399 +f 2850/4273/403 2856/4279/403 2857/4280/403 +f 2851/4274/401 2855/4281/401 2852/4275/401 +f 2858/4282/403 2859/4283/403 2860/4284/403 +f 2861/4285/401 2862/4286/401 2863/4287/401 +f 2858/4288/399 2864/4289/399 2862/4290/399 +f 2858/4288/399 2865/4291/399 2866/4292/399 +f 2858/4293/405 2867/4294/405 2868/4295/405 +f 2859/4283/400 2863/4296/400 2860/4284/400 +f 2869/4297/404 2870/4298/404 2871/4299/404 +f 2872/4300/402 2873/4301/402 2874/4302/402 +f 2875/4303/401 2872/4300/401 2870/4304/401 +f 2869/4305/399 2876/4306/399 2875/4307/399 +f 2863/4296/400 2867/4294/400 2860/4284/400 +f 2870/4298/400 2874/4308/400 2871/4299/400 +f 2877/4309/402 2867/4294/402 2878/4310/402 +f 2879/4311/404 2880/4312/404 2881/4313/404 +f 2862/4286/406 2879/4311/406 2863/4287/406 +f 2877/4314/399 2864/4289/399 2868/4315/399 +f 2878/4316/401 2880/4312/401 2877/4317/401 +f 2867/4294/400 2881/4318/400 2878/4310/400 +f 2865/4319/407 2874/4302/407 2873/4301/407 +f 2859/4283/400 2874/4308/400 2861/4320/400 +f 2866/4321/408 2871/4299/408 2859/4322/408 +f 2873/4323/399 2866/4292/399 2865/4291/399 +f 2882/4324/400 2883/4325/400 2884/4326/400 +f 2885/4327/399 2886/4328/399 2887/4329/399 +f 2882/4324/403 2888/4330/403 2889/4331/403 +f 2883/4325/401 2887/4332/401 2884/4326/401 +f 2890/4333/402 2891/4334/402 2892/4335/402 +f 2893/4336/404 2894/4337/404 2895/4338/404 +f 2892/4335/400 2896/4339/400 2893/4336/400 +f 2895/4338/399 2897/4340/399 2890/4341/399 +f 2898/4342/402 2899/4343/402 2900/4344/402 +f 2901/4345/404 2902/4346/404 2903/4347/404 +f 2900/4344/400 2904/4348/400 2901/4345/400 +f 2903/4347/399 2905/4349/399 2898/4350/399 +f 2906/4351/403 2907/4352/403 2908/4353/403 +f 2909/4354/403 2910/4355/403 2911/4356/403 +f 2912/4357/403 2913/4358/403 2914/4359/403 +f 2915/4360/403 2916/4361/403 2917/4362/403 +f 2918/4363/403 2919/4364/403 2920/4365/403 +f 2921/4366/403 2922/4367/403 2923/4368/403 +f 2924/4369/403 2925/4370/403 2926/4371/403 +f 2927/4372/403 2928/4373/403 2929/4374/403 +f 2930/4375/401 2931/4376/401 2932/4377/401 +f 2933/4378/401 2934/4379/401 2935/4380/401 +f 2936/4381/401 2937/4382/401 2938/4383/401 +f 2939/4384/401 2940/4385/401 2941/4386/401 +f 2942/4387/401 2943/4388/401 2944/4389/401 +f 2945/4390/401 2946/4391/401 2947/4392/401 +f 2948/4393/401 2949/4394/401 2950/4395/401 +f 2951/4396/401 2952/4397/401 2953/4398/401 +f 2954/4399/403 2955/4400/403 2956/4401/403 +f 2957/4402/403 2958/4403/403 2959/4404/403 +f 2960/4405/401 2961/4406/401 2962/4407/401 +f 2963/4408/401 2964/4409/401 2965/4410/401 +f 2966/4411/402 2967/4412/402 2968/4413/402 +f 2969/4414/402 2970/4415/402 2971/4416/402 +f 2972/4417/402 2973/4418/402 2974/4419/402 +f 2975/4420/402 2976/4421/402 2977/4422/402 +f 2978/4423/402 2979/4424/402 2980/4425/402 +f 2981/4426/402 2982/4427/402 2983/4428/402 +f 2984/4429/402 2985/4430/402 2986/4431/402 +f 2987/4432/402 2988/4433/402 2989/4434/402 +f 2990/4435/402 2991/4436/402 2992/4437/402 +f 2993/4438/402 2994/4439/402 2995/4440/402 +f 2996/4441/404 2997/4442/404 2998/4443/404 +f 2999/4444/404 3000/4445/404 3001/4446/404 +f 3002/4447/404 3003/4448/404 3004/4449/404 +f 3005/4450/404 3006/4451/404 3007/4452/404 +f 3008/4453/404 3009/4454/404 3010/4455/404 +f 3011/4456/404 3012/4457/404 3013/4458/404 +f 3014/4459/404 3015/4460/404 3016/4461/404 +f 3017/4462/404 3018/4463/404 3019/4464/404 +f 3020/4465/404 3021/4466/404 3022/4467/404 +f 3023/4468/404 3024/4469/404 3025/4470/404 +f 3026/4471/401 3027/4472/401 3028/4473/401 +f 3029/4474/401 3030/4475/401 3031/4476/401 +f 3032/4477/401 3033/4478/401 3034/4479/401 +f 3035/4480/401 3036/4481/401 3037/4482/401 +f 3038/4483/401 3039/4484/401 3040/4485/401 +f 3041/4486/401 3042/4487/401 3043/4488/401 +f 3044/4489/401 3045/4490/401 3046/4491/401 +f 3047/4492/401 3048/4493/401 3049/4494/401 +f 3050/4495/403 3051/4496/403 3052/4497/403 +f 3053/4498/403 3054/4499/403 3055/4500/403 +f 3056/4501/403 3057/4502/403 3058/4503/403 +f 3059/4504/403 3060/4505/403 3061/4506/403 +f 3062/4507/403 3063/4508/403 3064/4509/403 +f 3065/4510/403 3066/4511/403 3067/4512/403 +f 3068/4513/403 3069/4514/403 3070/4515/403 +f 3071/4516/403 3072/4517/403 3073/4518/403 +f 3074/4519/401 3075/4520/401 3076/4521/401 +f 3077/4522/401 3078/4523/401 3079/4524/401 +f 3080/4525/403 3081/4526/403 3082/4527/403 +f 3083/4528/403 3084/4529/403 3085/4530/403 +f 3086/4531/404 3087/4532/404 3088/4533/404 +f 3089/4534/404 3090/4535/404 3091/4536/404 +f 3092/4537/404 3093/4538/404 3094/4539/404 +f 3095/4540/404 3096/4541/404 3097/4542/404 +f 3098/4543/404 3099/4544/404 3100/4545/404 +f 3101/4546/404 3102/4547/404 3103/4548/404 +f 3104/4549/404 3105/4550/404 3106/4551/404 +f 3107/4552/404 3108/4553/404 3109/4554/404 +f 3110/4555/404 3111/4556/404 3112/4557/404 +f 3113/4558/404 3114/4559/404 3115/4560/404 +f 3116/4561/402 3117/4562/402 3118/4563/402 +f 3119/4564/402 3120/4565/402 3121/4566/402 +f 3122/4567/402 3123/4568/402 3124/4569/402 +f 3125/4570/402 3126/4571/402 3127/4572/402 +f 3128/4573/402 3129/4574/402 3130/4575/402 +f 3131/4576/402 3132/4577/402 3133/4578/402 +f 3134/4579/402 3135/4580/402 3136/4581/402 +f 3137/4582/402 3138/4583/402 3139/4584/402 +f 3140/4585/402 3141/4586/402 3142/4587/402 +f 3143/4588/402 3144/4589/402 3145/4590/402 +f 2706/4061/399 2730/4094/399 2707/4062/399 +f 2709/4064/399 2734/4108/399 2710/4065/399 +f 2712/4067/399 2731/4096/399 2713/4068/399 +f 2715/4070/399 2735/4111/399 2716/4071/399 +f 2718/4073/400 2732/4093/400 2719/4074/400 +f 2721/4076/400 2736/4107/400 2722/4077/400 +f 2724/4079/400 2733/4095/400 2725/4080/400 +f 2727/4082/400 2737/4110/400 2728/4083/400 +f 2713/4085/401 2724/4092/401 2726/4086/401 +f 2730/4088/402 2732/4591/402 2718/4089/402 +f 2731/4091/402 2733/4592/402 2724/4092/402 +f 2706/4061/403 2719/4074/403 2732/4093/403 +f 2712/4067/403 2725/4080/403 2733/4095/403 +f 2711/4097/404 2723/4100/404 2722/4077/404 +f 2717/4098/404 2729/4102/404 2728/4083/404 +f 2710/4099/401 2721/4104/401 2723/4100/401 +f 2716/4101/401 2727/4106/401 2729/4102/401 +f 2734/4103/402 2736/4593/402 2721/4104/402 +f 2735/4105/402 2737/4594/402 2727/4106/402 +f 2709/4064/403 2722/4077/403 2736/4107/403 +f 2708/4109/404 2720/4112/404 2719/4074/404 +f 2715/4070/403 2728/4083/403 2737/4110/403 +f 2714/4087/404 2726/4086/404 2725/4080/404 +f 2707/4090/401 2718/4089/401 2720/4112/401 +f 2738/4113/400 2745/4120/400 2739/4114/400 +f 2741/4116/399 2744/4119/399 2742/4117/399 +f 2738/4113/403 2742/4117/403 2744/4119/403 +f 2739/4114/401 2741/4595/401 2743/4121/401 +f 2746/4122/403 2754/4596/403 2747/4123/403 +f 2749/4125/401 2753/4161/401 2750/4126/401 +f 2746/4128/399 2756/4156/399 2752/4129/399 +f 2746/4128/399 2750/4130/399 2753/4131/399 +f 2746/4133/405 2748/4597/405 2755/4134/405 +f 2747/4123/400 2749/4162/400 2751/4136/400 +f 2757/4137/404 2763/4598/404 2758/4138/404 +f 2760/4140/402 2764/4599/402 2761/4141/402 +f 2763/4143/401 2764/4600/401 2760/4144/401 +f 2757/4146/399 2761/4165/399 2764/4147/399 +f 2751/4136/400 2767/4601/400 2755/4134/400 +f 2758/4138/400 2760/4602/400 2762/4149/400 +f 2765/4150/402 2756/4135/402 2755/4134/402 +f 2767/4152/404 2752/4603/404 2768/4153/404 +f 2750/4126/406 2752/4603/406 2767/4152/406 +f 2765/4155/399 2768/4604/399 2752/4129/399 +f 2766/4157/401 2769/4605/401 2768/4158/401 +f 2755/4134/400 2767/4601/400 2769/4160/400 +f 2753/4161/407 2749/4125/407 2762/4142/407 +f 2747/4123/400 2759/4139/400 2762/4149/400 +f 2754/4163/408 2757/4137/408 2759/4139/408 +f 2761/4165/399 2757/4146/399 2754/4132/399 +f 2770/4166/400 2777/4173/400 2771/4167/400 +f 2773/4169/399 2776/4172/399 2774/4170/399 +f 2770/4166/403 2774/4170/403 2776/4172/403 +f 2771/4167/401 2773/4606/401 2775/4174/401 +f 2778/4175/402 2785/4607/402 2779/4176/402 +f 2781/4178/404 2784/4181/404 2782/4179/404 +f 2780/4177/400 2779/4176/400 2784/4181/400 +f 2783/4180/399 2782/4179/399 2785/4182/399 +f 2786/4184/402 2793/4608/402 2787/4185/402 +f 2789/4187/404 2792/4190/404 2790/4188/404 +f 2788/4186/400 2787/4185/400 2792/4190/400 +f 2791/4189/399 2790/4188/399 2793/4191/399 +f 2794/4193/400 2801/4200/400 2795/4194/400 +f 2797/4196/399 2800/4199/399 2798/4197/399 +f 2794/4193/403 2798/4197/403 2800/4199/403 +f 2795/4194/401 2797/4609/401 2799/4201/401 +f 2802/4202/403 2810/4610/403 2803/4203/403 +f 2805/4205/401 2809/4241/401 2806/4206/401 +f 2802/4208/399 2812/4236/399 2808/4209/399 +f 2802/4208/399 2806/4210/399 2809/4211/399 +f 2802/4213/405 2804/4611/405 2811/4214/405 +f 2803/4203/400 2805/4242/400 2807/4216/400 +f 2813/4217/404 2819/4612/404 2814/4218/404 +f 2816/4220/402 2820/4613/402 2817/4221/402 +f 2819/4223/401 2820/4614/401 2816/4224/401 +f 2813/4226/399 2817/4245/399 2820/4227/399 +f 2807/4216/400 2823/4615/400 2811/4214/400 +f 2814/4218/400 2816/4616/400 2818/4229/400 +f 2821/4230/402 2812/4215/402 2811/4214/402 +f 2823/4232/404 2808/4617/404 2824/4233/404 +f 2806/4206/406 2808/4617/406 2823/4232/406 +f 2821/4235/399 2824/4618/399 2808/4209/399 +f 2822/4237/401 2825/4619/401 2824/4238/401 +f 2811/4214/400 2823/4615/400 2825/4240/400 +f 2809/4241/407 2805/4205/407 2818/4222/407 +f 2803/4203/400 2815/4219/400 2818/4229/400 +f 2810/4243/408 2813/4217/408 2815/4219/408 +f 2817/4245/399 2813/4226/399 2810/4212/399 +f 2826/4246/400 2833/4253/400 2827/4247/400 +f 2829/4249/399 2832/4252/399 2830/4250/399 +f 2826/4246/403 2830/4250/403 2832/4252/403 +f 2827/4247/401 2829/4620/401 2831/4254/401 +f 2834/4255/402 2841/4621/402 2835/4256/402 +f 2837/4258/404 2840/4261/404 2838/4259/404 +f 2836/4257/400 2835/4256/400 2840/4261/400 +f 2839/4260/399 2838/4259/399 2841/4262/399 +f 2842/4264/402 2849/4622/402 2843/4265/402 +f 2845/4267/404 2848/4270/404 2846/4268/404 +f 2844/4266/400 2843/4265/400 2848/4270/400 +f 2847/4269/399 2846/4268/399 2849/4271/399 +f 2850/4273/400 2857/4280/400 2851/4274/400 +f 2853/4276/399 2856/4279/399 2854/4277/399 +f 2850/4273/403 2854/4277/403 2856/4279/403 +f 2851/4274/401 2853/4623/401 2855/4281/401 +f 2858/4282/403 2866/4624/403 2859/4283/403 +f 2861/4285/401 2865/4319/401 2862/4286/401 +f 2858/4288/399 2868/4315/399 2864/4289/399 +f 2858/4288/399 2862/4290/399 2865/4291/399 +f 2858/4293/405 2860/4625/405 2867/4294/405 +f 2859/4283/400 2861/4320/400 2863/4296/400 +f 2869/4297/404 2875/4626/404 2870/4298/404 +f 2872/4300/402 2876/4627/402 2873/4301/402 +f 2875/4303/401 2876/4627/401 2872/4300/401 +f 2869/4305/399 2873/4323/399 2876/4306/399 +f 2863/4296/400 2879/4628/400 2867/4294/400 +f 2870/4298/400 2872/4629/400 2874/4308/400 +f 2877/4309/402 2868/4295/402 2867/4294/402 +f 2879/4311/404 2864/4630/404 2880/4312/404 +f 2862/4286/406 2864/4630/406 2879/4311/406 +f 2877/4314/399 2880/4631/399 2864/4289/399 +f 2878/4316/401 2881/4313/401 2880/4312/401 +f 2867/4294/400 2879/4628/400 2881/4318/400 +f 2865/4319/407 2861/4285/407 2874/4302/407 +f 2859/4283/400 2871/4299/400 2874/4308/400 +f 2866/4321/408 2869/4297/408 2871/4299/408 +f 2873/4323/399 2869/4305/399 2866/4292/399 +f 2882/4324/400 2889/4331/400 2883/4325/400 +f 2885/4327/399 2888/4330/399 2886/4328/399 +f 2882/4324/403 2886/4328/403 2888/4330/403 +f 2883/4325/401 2885/4632/401 2887/4332/401 +f 2890/4333/402 2897/4633/402 2891/4334/402 +f 2893/4336/404 2896/4339/404 2894/4337/404 +f 2892/4335/400 2891/4334/400 2896/4339/400 +f 2895/4338/399 2894/4337/399 2897/4340/399 +f 2898/4342/402 2905/4634/402 2899/4343/402 +f 2901/4345/404 2904/4348/404 2902/4346/404 +f 2900/4344/400 2899/4343/400 2904/4348/400 +f 2903/4347/399 2902/4346/399 2905/4349/399 +f 2906/4351/403 3146/4635/403 2907/4352/403 +f 2909/4354/403 3147/4636/403 2910/4355/403 +f 2912/4357/403 3148/4637/403 2913/4358/403 +f 2915/4360/403 3149/4638/403 2916/4361/403 +f 2918/4363/403 3150/4639/403 2919/4364/403 +f 2921/4366/403 3151/4640/403 2922/4367/403 +f 2924/4369/403 3152/4641/403 2925/4370/403 +f 2927/4372/403 3153/4642/403 2928/4373/403 +f 2930/4375/401 3154/4643/401 2931/4376/401 +f 2933/4378/401 3155/4644/401 2934/4379/401 +f 2936/4381/401 3156/4645/401 2937/4382/401 +f 2939/4384/401 3157/4646/401 2940/4385/401 +f 2942/4387/401 3158/4647/401 2943/4388/401 +f 2945/4390/401 3159/4648/401 2946/4391/401 +f 2948/4393/401 3160/4649/401 2949/4394/401 +f 2951/4396/401 3161/4650/401 2952/4397/401 +f 2954/4399/403 3162/4651/403 2955/4400/403 +f 2957/4402/403 3163/4652/403 2958/4403/403 +f 2960/4405/401 3164/4653/401 2961/4406/401 +f 2963/4408/401 3165/4654/401 2964/4409/401 +f 2966/4411/402 3166/4655/402 2967/4412/402 +f 2969/4414/402 3167/4656/402 2970/4415/402 +f 2972/4417/402 3168/4657/402 2973/4418/402 +f 2975/4420/402 3169/4658/402 2976/4421/402 +f 2978/4423/402 3170/4659/402 2979/4424/402 +f 2981/4426/402 3171/4660/402 2982/4427/402 +f 2984/4429/402 3172/4661/402 2985/4430/402 +f 2987/4432/402 3173/4662/402 2988/4433/402 +f 2990/4435/402 3174/4663/402 2991/4436/402 +f 2993/4438/402 3175/4664/402 2994/4439/402 +f 2996/4441/404 3176/4665/404 2997/4442/404 +f 2999/4444/404 3177/4666/404 3000/4445/404 +f 3002/4447/404 3178/4667/404 3003/4448/404 +f 3005/4450/404 3179/4668/404 3006/4451/404 +f 3008/4453/404 3180/4669/404 3009/4454/404 +f 3011/4456/404 3181/4670/404 3012/4457/404 +f 3014/4459/404 3182/4671/404 3015/4460/404 +f 3017/4462/404 3183/4672/404 3018/4463/404 +f 3020/4465/404 3184/4673/404 3021/4466/404 +f 3023/4468/404 3185/4674/404 3024/4469/404 +f 3026/4471/401 3186/4675/401 3027/4472/401 +f 3029/4474/401 3187/4676/401 3030/4475/401 +f 3032/4477/401 3188/4677/401 3033/4478/401 +f 3035/4480/401 3189/4678/401 3036/4481/401 +f 3038/4483/401 3190/4679/401 3039/4484/401 +f 3041/4486/401 3191/4680/401 3042/4487/401 +f 3044/4489/401 3192/4681/401 3045/4490/401 +f 3047/4492/401 3193/4682/401 3048/4493/401 +f 3050/4495/403 3194/4683/403 3051/4496/403 +f 3053/4498/403 3195/4684/403 3054/4499/403 +f 3056/4501/403 3196/4685/403 3057/4502/403 +f 3059/4504/403 3197/4686/403 3060/4505/403 +f 3062/4507/403 3198/4687/403 3063/4508/403 +f 3065/4510/403 3199/4688/403 3066/4511/403 +f 3068/4513/403 3200/4689/403 3069/4514/403 +f 3071/4516/403 3201/4690/403 3072/4517/403 +f 3074/4519/401 3202/4691/401 3075/4520/401 +f 3077/4522/401 3203/4692/401 3078/4523/401 +f 3080/4525/403 3204/4693/403 3081/4526/403 +f 3083/4528/403 3205/4694/403 3084/4529/403 +f 3086/4531/404 3206/4695/404 3087/4532/404 +f 3089/4534/404 3207/4696/404 3090/4535/404 +f 3092/4537/404 3208/4697/404 3093/4538/404 +f 3095/4540/404 3209/4698/404 3096/4541/404 +f 3098/4543/404 3210/4699/404 3099/4544/404 +f 3101/4546/404 3211/4700/404 3102/4547/404 +f 3104/4549/404 3212/4701/404 3105/4550/404 +f 3107/4552/404 3213/4702/404 3108/4553/404 +f 3110/4555/404 3214/4703/404 3111/4556/404 +f 3113/4558/404 3215/4704/404 3114/4559/404 +f 3116/4561/402 3216/4705/402 3117/4562/402 +f 3119/4564/402 3217/4706/402 3120/4565/402 +f 3122/4567/402 3218/4707/402 3123/4568/402 +f 3125/4570/402 3219/4708/402 3126/4571/402 +f 3128/4573/402 3220/4709/402 3129/4574/402 +f 3131/4576/402 3221/4710/402 3132/4577/402 +f 3134/4579/402 3222/4711/402 3135/4580/402 +f 3137/4582/402 3223/4712/402 3138/4583/402 +f 3140/4585/402 3224/4713/402 3141/4586/402 +f 3143/4588/402 3225/4714/402 3144/4589/402 +o Atlas_Pivot +v 1.187500 4.500000 -4.187500 +v 1.187500 3.500000 -3.812500 +v 1.187500 3.500000 -4.187500 +v 1.187500 4.500000 -3.812500 +v 0.812500 3.500000 -3.812500 +v 0.750000 2.000000 -2.750000 +v 1.250000 2.000000 -2.250000 +v 0.750000 2.000000 -2.250000 +v -1.250000 2.000000 -2.750000 +v -0.750000 2.000000 -2.250000 +v -1.250000 2.000000 -2.250000 +v 1.250000 3.500000 -3.750000 +v 0.750000 3.500000 -4.250000 +v 0.750000 3.500000 -3.750000 +v -0.750000 3.500000 -3.750000 +v -1.250000 3.500000 -4.250000 +v -1.250000 3.500000 -3.750000 +v -0.750000 1.500000 -3.750000 +v -1.250000 1.500000 -3.750000 +v 0.750000 1.500000 -4.250000 +v 1.250000 3.500000 -4.250000 +v 1.250000 1.500000 -4.250000 +v 1.250000 1.500000 -3.750000 +v 0.750000 1.500000 -3.750000 +v -0.750000 1.500000 -4.250000 +v -1.250000 1.500000 -4.250000 +v -0.750000 3.500000 -4.250000 +v 1.250000 3.500000 -2.250000 +v 0.750000 3.500000 -2.750000 +v 0.750000 3.500000 -2.250000 +v -0.750000 3.500000 -2.250000 +v -1.250000 3.500000 -2.750000 +v -1.250000 3.500000 -2.250000 +v -0.750000 2.000000 -2.750000 +v 1.250000 2.000000 -2.750000 +v -0.750000 3.500000 -2.750000 +v 1.250000 3.500000 -2.750000 +v 0.812500 4.500000 -3.812500 +v 0.812500 3.500000 -4.187500 +v 0.812500 4.500000 -4.187500 +v 1.187500 4.500000 -2.687500 +v 1.187500 3.500000 -2.312500 +v 1.187500 3.500000 -2.687500 +v 1.187500 4.500000 -2.312500 +v 0.812500 3.500000 -2.312500 +v 0.812500 4.500000 -2.312500 +v 0.812500 3.500000 -2.687500 +v 0.812500 4.500000 -2.687500 +v -0.812500 4.500000 -4.187500 +v -0.812500 3.500000 -3.812500 +v -0.812500 3.500000 -4.187500 +v -0.812500 4.500000 -3.812500 +v -1.187500 3.500000 -3.812500 +v -1.187500 4.500000 -3.812500 +v -1.187500 3.500000 -4.187500 +v -1.187500 4.500000 -4.187500 +v -0.812500 4.500000 -2.687500 +v -0.812500 3.500000 -2.312500 +v -0.812500 3.500000 -2.687500 +v -0.812500 4.500000 -2.312500 +v -1.187500 3.500000 -2.312500 +v -1.187500 4.500000 -2.312500 +v -1.187500 3.500000 -2.687500 +v -1.187500 4.500000 -2.687500 +v 1.000000 2.500000 -2.750000 +v 1.000000 3.000000 -3.750000 +v 1.000000 3.000000 -2.750000 +v -1.000000 3.000000 -3.750000 +v -1.000000 2.500000 -2.750000 +v -1.000000 3.000000 -2.750000 +v 0.750000 2.500000 -4.000000 +v -0.750000 3.000000 -4.000000 +v 0.750000 3.000000 -4.000000 +v -0.750000 3.000000 -2.500000 +v 0.750000 2.500000 -2.500000 +v 0.750000 3.000000 -2.500000 +v 1.000000 3.000000 -3.750000 +v 1.000000 2.500000 -2.750000 +v 1.000000 3.000000 -2.750000 +v -1.000000 2.500000 -2.750000 +v -1.000000 3.000000 -3.750000 +v -1.000000 3.000000 -2.750000 +v -0.750000 3.000000 -4.000000 +v 0.750000 2.500000 -4.000000 +v 0.750000 3.000000 -4.000000 +v 0.750000 2.500000 -2.500000 +v -0.750000 3.000000 -2.500000 +v 0.750000 3.000000 -2.500000 +v 1.000000 2.500000 -3.750000 +v -1.000000 2.500000 -3.750000 +v -0.750000 2.500000 -4.000000 +v -0.750000 2.500000 -2.500000 +v 1.000000 2.500000 -3.750000 +v -1.000000 2.500000 -3.750000 +v -0.750000 2.500000 -4.000000 +v -0.750000 2.500000 -2.500000 +vt 0.769231 0.967742 +vt 0.750000 0.903226 +vt 0.769231 0.903226 +vt 0.750000 0.967742 +vt 0.730769 0.903226 +vt 0.692308 0.870968 +vt 0.717949 0.903226 +vt 0.692308 0.903226 +vt 0.692308 0.870968 +vt 0.717949 0.903226 +vt 0.692308 0.903226 +vt 0.692308 0.870968 +vt 0.717949 0.838710 +vt 0.717949 0.870968 +vt 0.692308 0.870968 +vt 0.717949 0.838710 +vt 0.717949 0.870968 +vt 0.769231 0.709677 +vt 0.743590 0.838710 +vt 0.743590 0.709677 +vt 0.717949 0.709677 +vt 0.692308 0.838710 +vt 0.692308 0.709677 +vt 0.769231 0.709677 +vt 0.743590 0.838710 +vt 0.743590 0.709677 +vt 0.794872 0.709677 +vt 0.769231 0.838710 +vt 0.717949 0.709677 +vt 0.794872 0.709677 +vt 0.769231 0.838710 +vt 0.692308 0.838710 +vt 0.692308 0.709677 +vt 0.692308 0.870968 +vt 0.717949 0.838710 +vt 0.717949 0.870968 +vt 0.692308 0.870968 +vt 0.717949 0.838710 +vt 0.717949 0.870968 +vt 0.794872 0.741935 +vt 0.769231 0.838710 +vt 0.769231 0.741935 +vt 0.743590 0.741935 +vt 0.717949 0.741935 +vt 0.794872 0.741935 +vt 0.769231 0.838710 +vt 0.769231 0.741935 +vt 0.743590 0.741935 +vt 0.717949 0.741935 +vt 0.692308 0.838710 +vt 0.692308 0.741935 +vt 0.743590 0.838710 +vt 0.692308 0.838710 +vt 0.692308 0.741935 +vt 0.743590 0.838710 +vt 0.730769 0.967742 +vt 0.711538 0.903226 +vt 0.711538 0.967742 +vt 0.692308 0.903226 +vt 0.769231 0.967742 +vt 0.750000 0.903226 +vt 0.769231 0.903226 +vt 0.750000 0.967742 +vt 0.730769 0.903226 +vt 0.730769 0.967742 +vt 0.711538 0.903226 +vt 0.711538 0.967742 +vt 0.692308 0.903226 +vt 0.769231 0.967742 +vt 0.750000 0.903226 +vt 0.769231 0.903226 +vt 0.750000 0.967742 +vt 0.730769 0.903226 +vt 0.730769 0.967742 +vt 0.711538 0.903226 +vt 0.711538 0.967742 +vt 0.692308 0.903226 +vt 0.769231 0.967742 +vt 0.750000 0.903226 +vt 0.769231 0.903226 +vt 0.750000 0.967742 +vt 0.730769 0.903226 +vt 0.730769 0.967742 +vt 0.711538 0.903226 +vt 0.711538 0.967742 +vt 0.692308 0.903226 +vt 0.743590 0.870968 +vt 0.794872 0.903226 +vt 0.743590 0.903226 +vt 0.743590 0.903226 +vt 0.794872 0.870968 +vt 0.794872 0.903226 +vt 0.717949 0.838710 +vt 0.794872 0.870968 +vt 0.717949 0.870968 +vt 0.717949 0.870968 +vt 0.794872 0.838710 +vt 0.794872 0.870968 +vt 0.794872 0.903226 +vt 0.743590 0.870968 +vt 0.743590 0.903226 +vt 0.794872 0.870968 +vt 0.743590 0.903226 +vt 0.794872 0.903226 +vt 0.794872 0.870968 +vt 0.717949 0.838710 +vt 0.717949 0.870968 +vt 0.794872 0.838710 +vt 0.717949 0.870968 +vt 0.794872 0.870968 +vt 0.717949 0.870968 +vt 0.717949 0.870968 +vt 0.794872 0.838710 +vt 0.794872 0.838710 +vt 0.794872 0.838710 +vt 0.794872 0.838710 +vt 0.692308 0.967742 +vt 0.692308 0.967742 +vt 0.692308 0.967742 +vt 0.692308 0.967742 +vt 0.794872 0.870968 +vt 0.743590 0.870968 +vt 0.794872 0.838710 +vt 0.717949 0.838710 +vt 0.794872 0.870968 +vt 0.743590 0.870968 +vt 0.794872 0.838710 +vt 0.717949 0.838710 vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 -vn -0.7071 -0.7071 0.0000 -vn 0.0000 -0.7071 0.7071 -vn 0.7071 -0.7071 -0.0000 -vn -0.0000 -0.7071 -0.7071 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 s off -f 3062/4184/303 3056/4185/303 3054/4186/303 -f 3063/4187/303 3054/4186/303 3055/4188/303 -f 3055/4188/304 3061/4189/304 3057/4190/304 -f 3056/4191/305 3059/4192/305 3054/4193/305 -f 3057/4194/306 3058/4195/306 3056/4196/306 -f 3054/4197/307 3060/4198/307 3055/4199/307 -f 3066/4200/304 3064/4201/304 3062/4202/304 -f 3064/4203/303 3057/4190/303 3056/4185/303 -f 3065/4204/303 3055/4188/303 3057/4190/303 -f 3059/4205/308 3067/4206/308 3060/4207/308 -f 3060/4207/308 3069/4208/308 3061/4189/308 -f 3061/4189/308 3068/4209/308 3058/4210/308 -f 3058/4210/308 3066/4211/308 3059/4205/308 -f 3071/4212/303 3072/4213/303 3070/4214/303 -f 3068/4215/307 3065/4216/307 3064/4217/307 -f 3069/4218/305 3063/4219/305 3065/4220/305 -f 3067/4221/306 3062/4222/306 3063/4223/306 -f 3075/4224/306 3077/4225/306 3082/4226/306 -f 3077/4227/305 3084/4228/305 3082/4229/305 -f 3074/4230/304 3078/4231/304 3083/4232/304 -f 3085/4233/309 3082/4229/309 3084/4228/309 -f 3083/4234/307 3081/4235/307 3079/4236/307 -f 3085/4237/307 3084/4238/307 3080/4239/307 -f 3084/4238/305 3086/4240/305 3080/4239/305 -f 3086/4241/310 3083/4234/310 3078/4242/310 -f 3093/4243/303 3091/4244/303 3092/4245/303 -f 3087/4246/305 3091/4244/305 3089/4247/305 -f 3089/4248/306 3094/4249/306 3090/4250/306 -f 3088/4251/307 3092/4245/307 3087/4252/307 -f 3090/4253/304 3093/4243/304 3088/4254/304 -f 3113/4255/303 3111/4256/303 3112/4257/303 -f 3117/4258/303 3115/4259/303 3116/4260/303 -f 3121/4261/303 3119/4262/303 3120/4263/303 -f 3125/4264/303 3123/4265/303 3124/4266/303 -f 3106/4267/304 3121/4261/304 3104/4268/304 -f 3097/4269/306 3114/4270/306 3098/4271/306 -f 3105/4272/306 3122/4273/306 3106/4267/306 -f 3099/4274/305 3115/4275/305 3101/4276/305 -f 3107/4277/305 3123/4278/305 3109/4279/305 -f 3100/4280/307 3116/4281/307 3099/4274/307 -f 3108/4282/307 3124/4283/307 3107/4277/307 -f 3102/4284/304 3117/4258/304 3100/4285/304 -f 3110/4286/304 3125/4264/304 3108/4287/304 -f 3101/4276/306 3118/4288/306 3102/4284/306 -f 3095/4289/305 3111/4290/305 3097/4269/305 -f 3109/4279/306 3126/4291/306 3110/4286/306 -f 3103/4292/305 3119/4293/305 3105/4272/305 -f 3096/4294/307 3112/4295/307 3095/4289/307 -f 3104/4296/307 3120/4297/307 3103/4292/307 -f 3098/4271/304 3113/4255/304 3096/4298/304 -f 3129/4299/307 3128/4300/307 3130/4301/307 -f 3133/4302/306 3132/4303/306 3131/4304/306 -f 3135/4305/304 3138/4306/304 3136/4307/304 -f 3142/4308/305 3139/4309/305 3140/4310/305 -f 3153/4311/303 3151/4312/303 3152/4313/303 -f 3157/4314/303 3155/4315/303 3156/4316/303 -f 3146/4317/304 3153/4311/304 3144/4318/304 -f 3143/4319/305 3151/4320/305 3145/4321/305 -f 3149/4322/306 3158/4323/306 3150/4324/306 -f 3148/4325/307 3156/4326/307 3147/4327/307 -f 3145/4321/306 3154/4328/306 3146/4317/306 -f 3144/4329/307 3152/4330/307 3143/4319/307 -f 3150/4324/304 3157/4314/304 3148/4331/304 -f 3147/4327/305 3155/4332/305 3149/4322/305 -f 3160/4333/307 3162/4334/307 3167/4335/307 -f 3162/4336/304 3169/4337/304 3167/4338/304 -f 3159/4339/305 3163/4340/305 3168/4341/305 -f 3161/4342/311 3169/4337/311 3170/4343/311 -f 3168/4344/306 3166/4345/306 3164/4346/306 -f 3170/4347/306 3169/4348/306 3165/4349/306 -f 3169/4348/304 3171/4350/304 3165/4349/304 -f 3171/4351/312 3168/4344/312 3163/4352/312 -f 3173/4353/305 3175/4354/305 3180/4355/305 -f 3175/4356/307 3182/4357/307 3180/4358/307 -f 3172/4359/306 3176/4360/306 3181/4361/306 -f 3174/4362/310 3182/4357/310 3183/4363/310 -f 3181/4364/304 3179/4365/304 3177/4366/304 -f 3183/4367/304 3182/4368/304 3178/4369/304 -f 3182/4368/307 3184/4370/307 3178/4369/307 -f 3184/4371/311 3181/4364/311 3176/4372/311 -f 3186/4373/304 3188/4374/304 3193/4375/304 -f 3188/4376/306 3195/4377/306 3193/4378/306 -f 3185/4379/307 3189/4380/307 3194/4381/307 -f 3196/4382/312 3193/4378/312 3195/4377/312 -f 3194/4383/305 3192/4384/305 3190/4385/305 -f 3196/4386/305 3195/4387/305 3191/4388/305 -f 3195/4387/306 3197/4389/306 3191/4388/306 -f 3197/4390/309 3194/4383/309 3189/4391/309 -f 3199/4392/306 3200/4393/306 3201/4394/306 -f 3203/4395/307 3204/4396/307 3202/4397/307 -f 3209/4398/305 3206/4399/305 3207/4400/305 -f 3210/4401/304 3213/4402/304 3211/4403/304 -f 3062/4184/303 3064/4203/303 3056/4185/303 -f 3063/4187/303 3062/4184/303 3054/4186/303 -f 3055/4188/304 3060/4207/304 3061/4189/304 -f 3056/4191/305 3058/4404/305 3059/4192/305 -f 3057/4194/306 3061/4405/306 3058/4195/306 -f 3054/4197/307 3059/4406/307 3060/4198/307 -f 3066/4200/304 3068/4407/304 3064/4201/304 -f 3064/4203/303 3065/4204/303 3057/4190/303 -f 3065/4204/303 3063/4187/303 3055/4188/303 -f 3059/4205/308 3066/4211/308 3067/4206/308 -f 3060/4207/308 3067/4206/308 3069/4208/308 -f 3061/4189/308 3069/4208/308 3068/4209/308 -f 3058/4210/308 3068/4209/308 3066/4211/308 -f 3071/4212/303 3073/4408/303 3072/4213/303 -f 3068/4215/307 3069/4409/307 3065/4216/307 -f 3069/4218/305 3067/4410/305 3063/4219/305 -f 3067/4221/306 3066/4411/306 3062/4222/306 -f 3076/4412/306 3074/4230/306 3082/4226/306 -f 3074/4230/306 3075/4224/306 3082/4226/306 -f 3077/4227/305 3081/4235/305 3084/4228/305 -f 3079/4413/304 3075/4224/304 3083/4232/304 -f 3075/4224/304 3074/4230/304 3083/4232/304 -f 3085/4233/309 3076/4414/309 3082/4229/309 -f 3083/4234/307 3084/4228/307 3081/4235/307 -f 3086/4241/310 3084/4228/310 3083/4234/310 -f 3093/4243/303 3094/4249/303 3091/4244/303 -f 3087/4246/305 3092/4245/305 3091/4244/305 -f 3089/4248/306 3091/4244/306 3094/4249/306 -f 3088/4251/307 3093/4243/307 3092/4245/307 -f 3090/4253/304 3094/4249/304 3093/4243/304 -f 3113/4255/303 3114/4270/303 3111/4256/303 -f 3117/4258/303 3118/4288/303 3115/4259/303 -f 3121/4261/303 3122/4273/303 3119/4262/303 -f 3125/4264/303 3126/4291/303 3123/4265/303 -f 3106/4267/304 3122/4273/304 3121/4261/304 -f 3097/4269/306 3111/4290/306 3114/4270/306 -f 3105/4272/306 3119/4293/306 3122/4273/306 -f 3099/4274/305 3116/4281/305 3115/4275/305 -f 3107/4277/305 3124/4283/305 3123/4278/305 -f 3100/4280/307 3117/4415/307 3116/4281/307 -f 3108/4282/307 3125/4416/307 3124/4283/307 -f 3102/4284/304 3118/4288/304 3117/4258/304 -f 3110/4286/304 3126/4291/304 3125/4264/304 -f 3101/4276/306 3115/4275/306 3118/4288/306 -f 3095/4289/305 3112/4295/305 3111/4290/305 -f 3109/4279/306 3123/4278/306 3126/4291/306 -f 3103/4292/305 3120/4297/305 3119/4293/305 -f 3096/4294/307 3113/4417/307 3112/4295/307 -f 3104/4296/307 3121/4418/307 3120/4297/307 -f 3098/4271/304 3114/4270/304 3113/4255/304 -f 3129/4299/307 3127/4419/307 3128/4300/307 -f 3133/4302/306 3134/4420/306 3132/4303/306 -f 3135/4305/304 3137/4421/304 3138/4306/304 -f 3142/4308/305 3141/4422/305 3139/4309/305 -f 3153/4311/303 3154/4328/303 3151/4312/303 -f 3157/4314/303 3158/4323/303 3155/4315/303 -f 3146/4317/304 3154/4328/304 3153/4311/304 -f 3143/4319/305 3152/4330/305 3151/4320/305 -f 3149/4322/306 3155/4332/306 3158/4323/306 -f 3148/4325/307 3157/4423/307 3156/4326/307 -f 3145/4321/306 3151/4320/306 3154/4328/306 -f 3144/4329/307 3153/4424/307 3152/4330/307 -f 3150/4324/304 3158/4323/304 3157/4314/304 -f 3147/4327/305 3156/4326/305 3155/4332/305 -f 3161/4425/307 3159/4339/307 3167/4335/307 -f 3159/4339/307 3160/4333/307 3167/4335/307 -f 3162/4336/304 3166/4345/304 3169/4337/304 -f 3164/4426/305 3160/4333/305 3168/4341/305 -f 3160/4333/305 3159/4339/305 3168/4341/305 -f 3161/4342/311 3167/4338/311 3169/4337/311 -f 3168/4344/306 3169/4337/306 3166/4345/306 -f 3171/4351/312 3169/4337/312 3168/4344/312 -f 3174/4427/305 3172/4359/305 3180/4355/305 -f 3172/4359/305 3173/4353/305 3180/4355/305 -f 3175/4356/307 3179/4365/307 3182/4357/307 -f 3177/4428/306 3173/4353/306 3181/4361/306 -f 3173/4353/306 3172/4359/306 3181/4361/306 -f 3174/4362/310 3180/4358/310 3182/4357/310 -f 3181/4364/304 3182/4357/304 3179/4365/304 -f 3184/4371/311 3182/4357/311 3181/4364/311 -f 3187/4429/304 3185/4379/304 3193/4375/304 -f 3185/4379/304 3186/4373/304 3193/4375/304 -f 3188/4376/306 3192/4384/306 3195/4377/306 -f 3190/4430/307 3186/4373/307 3194/4381/307 -f 3186/4373/307 3185/4379/307 3194/4381/307 -f 3196/4382/312 3187/4431/312 3193/4378/312 -f 3194/4383/305 3195/4377/305 3192/4384/305 -f 3197/4390/309 3195/4377/309 3194/4383/309 -f 3199/4392/306 3198/4432/306 3200/4393/306 -f 3203/4395/307 3205/4433/307 3204/4396/307 -f 3209/4398/305 3208/4434/305 3206/4399/305 -f 3210/4401/304 3212/4435/304 3213/4402/304 -o V2_Pad -v -0.500000 2.000000 0.500000 +f 3226/4715/409 3227/4716/409 3228/4717/409 +f 3229/4718/410 3230/4719/410 3227/4716/410 +f 3231/4720/411 3232/4721/411 3233/4722/411 +f 3234/4723/411 3235/4724/411 3236/4725/411 +f 3237/4726/412 3238/4727/412 3239/4728/412 +f 3240/4729/412 3241/4730/412 3242/4731/412 +f 3243/4732/410 3242/4733/410 3244/4734/410 +f 3245/4735/413 3246/4736/413 3247/4737/413 +f 3248/4738/410 3239/4739/410 3249/4740/410 +f 3250/4741/409 3240/4742/409 3243/4732/409 +f 3244/4734/414 3241/4730/414 3251/4743/414 +f 3247/4744/409 3237/4745/409 3248/4738/409 +f 3249/4740/414 3238/4727/414 3245/4735/414 +f 3251/4743/413 3252/4746/413 3250/4747/413 +f 3253/4748/412 3254/4749/412 3255/4750/412 +f 3256/4751/412 3257/4752/412 3258/4753/412 +f 3259/4754/409 3256/4755/409 3235/4756/409 +f 3236/4757/414 3257/4752/414 3234/4758/414 +f 3260/4759/409 3253/4760/409 3232/4761/409 +f 3233/4762/414 3254/4749/414 3231/4763/414 +f 3234/4758/413 3261/4764/413 3259/4765/413 +f 3235/4756/410 3258/4766/410 3236/4757/410 +f 3231/4763/413 3262/4767/413 3260/4768/413 +f 3232/4761/410 3255/4769/410 3233/4762/410 +f 3263/4770/414 3264/4771/414 3230/4719/414 +f 3265/4772/413 3228/4773/413 3264/4771/413 +f 3266/4774/409 3267/4775/409 3268/4776/409 +f 3269/4777/410 3270/4778/410 3267/4775/410 +f 3271/4779/414 3272/4780/414 3270/4778/414 +f 3273/4781/413 3268/4782/413 3272/4780/413 +f 3274/4783/409 3275/4784/409 3276/4785/409 +f 3277/4786/410 3278/4787/410 3275/4784/410 +f 3279/4788/414 3280/4789/414 3278/4787/414 +f 3281/4790/413 3276/4791/413 3280/4789/413 +f 3282/4792/409 3283/4793/409 3284/4794/409 +f 3285/4795/410 3286/4796/410 3283/4793/410 +f 3287/4797/414 3288/4798/414 3286/4796/414 +f 3289/4799/413 3284/4800/413 3288/4798/413 +f 3290/4801/409 3291/4802/409 3292/4803/409 +f 3293/4804/414 3294/4805/414 3295/4806/414 +f 3296/4807/413 3297/4808/413 3298/4809/413 +f 3299/4810/410 3300/4811/410 3301/4812/410 +f 3302/4813/414 3303/4814/414 3304/4815/414 +f 3305/4816/409 3306/4817/409 3307/4818/409 +f 3308/4819/410 3309/4820/410 3310/4821/410 +f 3311/4822/413 3312/4823/413 3313/4824/413 +f 3226/4715/409 3229/4718/409 3227/4716/409 +f 3229/4718/410 3263/4770/410 3230/4719/410 +f 3231/4720/411 3260/4825/411 3232/4721/411 +f 3234/4723/411 3259/4826/411 3235/4724/411 +f 3237/4726/412 3246/4736/412 3238/4727/412 +f 3240/4729/412 3252/4746/412 3241/4730/412 +f 3243/4732/410 3240/4742/410 3242/4733/410 +f 3245/4735/413 3238/4727/413 3246/4736/413 +f 3248/4738/410 3237/4745/410 3239/4739/410 +f 3250/4741/409 3252/4827/409 3240/4742/409 +f 3244/4734/414 3242/4733/414 3241/4730/414 +f 3247/4744/409 3246/4828/409 3237/4745/409 +f 3249/4740/414 3239/4739/414 3238/4727/414 +f 3251/4743/413 3241/4730/413 3252/4746/413 +f 3253/4748/412 3262/4767/412 3254/4749/412 +f 3256/4751/412 3261/4764/412 3257/4752/412 +f 3259/4754/409 3261/4829/409 3256/4755/409 +f 3236/4757/414 3258/4766/414 3257/4752/414 +f 3260/4759/409 3262/4830/409 3253/4760/409 +f 3233/4762/414 3255/4769/414 3254/4749/414 +f 3234/4758/413 3257/4752/413 3261/4764/413 +f 3235/4756/410 3256/4755/410 3258/4766/410 +f 3231/4763/413 3254/4749/413 3262/4767/413 +f 3232/4761/410 3253/4760/410 3255/4769/410 +f 3263/4770/414 3265/4772/414 3264/4771/414 +f 3265/4772/413 3226/4831/413 3228/4773/413 +f 3266/4774/409 3269/4777/409 3267/4775/409 +f 3269/4777/410 3271/4779/410 3270/4778/410 +f 3271/4779/414 3273/4781/414 3272/4780/414 +f 3273/4781/413 3266/4832/413 3268/4782/413 +f 3274/4783/409 3277/4786/409 3275/4784/409 +f 3277/4786/410 3279/4788/410 3278/4787/410 +f 3279/4788/414 3281/4790/414 3280/4789/414 +f 3281/4790/413 3274/4833/413 3276/4791/413 +f 3282/4792/409 3285/4795/409 3283/4793/409 +f 3285/4795/410 3287/4797/410 3286/4796/410 +f 3287/4797/414 3289/4799/414 3288/4798/414 +f 3289/4799/413 3282/4834/413 3284/4800/413 +f 3290/4801/409 3314/4835/409 3291/4802/409 +f 3293/4804/414 3315/4836/414 3294/4805/414 +f 3296/4807/413 3316/4837/413 3297/4808/413 +f 3299/4810/410 3317/4838/410 3300/4811/410 +f 3302/4813/414 3318/4839/414 3303/4814/414 +f 3305/4816/409 3319/4840/409 3306/4817/409 +f 3308/4819/410 3320/4841/410 3309/4820/410 +f 3311/4822/413 3321/4842/413 3312/4823/413 +o Atlas_Rope +v -1.585786 16.750000 1.409011 +v -1.762563 16.250000 1.939341 +v -1.939340 16.250000 1.762564 +v -2.292893 11.000000 2.116117 +v -2.116117 16.250000 1.939341 +v -2.116117 11.000000 2.292893 +v -1.939340 16.250000 2.116118 +v -2.292893 11.000000 2.469671 +v -2.469670 11.000000 2.292893 +v -1.055456 17.000000 0.878681 +v -0.878680 16.750000 0.701904 +v -1.055456 16.750000 0.878681 +v -1.585786 17.000000 1.409011 +v -1.409010 16.750000 1.585787 +v -0.878680 17.000000 1.055457 +v -0.878680 16.750000 1.055457 +v -1.409010 17.000000 1.585787 +v -0.701903 16.750000 0.878681 +v -0.878680 15.250000 0.701904 +v -0.348350 14.250000 0.171574 +v -1.055456 15.250000 0.878681 +v -0.701903 15.250000 0.878681 +v -0.878680 15.250000 1.055457 +v -0.171573 14.250000 -0.005203 +v -0.171573 14.250000 0.348351 +v 0.005204 14.250000 0.171574 +vt 0.897436 0.395161 +vt 0.884615 0.346774 +vt 0.897436 0.346774 +vt 0.846154 -0.000000 +vt 0.858974 0.338710 +vt 0.846154 0.338710 +vt 0.884615 -0.000000 +vt 0.871795 0.338710 +vt 0.871795 -0.000000 +vt 0.858974 -0.000000 +vt 0.897436 -0.000000 +vt 0.884615 0.338710 +vt 0.858974 0.451613 +vt 0.846154 0.467742 +vt 0.846154 0.451613 +vt 0.858974 0.403226 +vt 0.846154 0.346774 +vt 0.884615 0.395161 +vt 0.871795 0.451613 +vt 0.897436 0.403226 +vt 0.884615 0.451613 +vt 0.884615 0.403226 +vt 0.871795 0.403226 +vt 0.871795 0.467742 +vt 0.884615 0.532258 +vt 0.897436 0.467742 +vt 0.897436 0.532258 +vt 0.884615 0.629032 +vt 0.897436 0.629032 +vt 0.871795 0.629032 +vt 0.858974 0.629032 +vt 0.871795 0.532258 +vt 0.846154 0.629032 +vt 0.858974 0.532258 +vt 0.884615 0.467742 +vt 0.858974 0.467742 +vt 0.871795 0.467742 +vt 0.846154 0.532258 +vt 0.897436 0.338710 +vt 0.846154 0.403226 +vt 0.846154 0.395161 +vt 0.897436 0.451613 +vt 0.884615 0.467742 +vt 0.858974 0.467742 +vt 0.846154 0.467742 +vn 0.5000 -0.7071 -0.5000 +vn -0.7071 -0.0000 -0.7071 +vn 0.7071 -0.0000 0.7071 +vn -0.7039 0.0948 0.7039 +vn 0.7039 -0.0948 -0.7039 +vn -0.5000 0.7071 0.5000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.5000 0.7071 -0.5000 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.5000 -0.7071 0.5000 +s off +f 3322/4843/415 3323/4844/415 3324/4845/415 +f 3325/4846/416 3326/4847/416 3324/4848/416 +f 3327/4849/417 3328/4850/417 3329/4851/417 +f 3329/4851/418 3326/4847/418 3330/4852/418 +f 3325/4853/419 3323/4854/419 3327/4849/419 +f 3331/4855/416 3332/4856/416 3333/4857/416 +f 3334/4858/416 3324/4859/416 3326/4847/416 +f 3328/4850/420 3334/4858/420 3326/4847/420 +f 3335/4860/417 3328/4850/417 3323/4844/417 +f 3334/4858/421 3336/4861/421 3331/4855/421 +f 3322/4862/422 3337/4863/422 3335/4864/422 +f 3337/4863/417 3336/4861/417 3338/4865/417 +f 3339/4866/423 3331/4855/423 3336/4861/423 +f 3340/4867/416 3341/4868/416 3342/4869/416 +f 3332/4870/416 3342/4869/416 3333/4871/416 +f 3339/4872/424 3340/4867/424 3332/4870/424 +f 3337/4873/417 3343/4874/417 3339/4872/417 +f 3333/4875/425 3344/4876/425 3337/4873/425 +f 3343/4874/423 3345/4877/423 3340/4867/423 +f 3343/4874/417 3346/4878/417 3347/4879/417 +f 3342/4880/426 3346/4878/426 3344/4876/426 +f 3322/4843/415 3335/4860/415 3323/4844/415 +f 3325/4846/416 3330/4852/416 3326/4847/416 +f 3327/4849/417 3323/4854/417 3328/4850/417 +f 3329/4851/418 3328/4850/418 3326/4847/418 +f 3325/4853/419 3324/4881/419 3323/4854/419 +f 3333/4857/416 3322/4882/416 3334/4858/416 +f 3334/4858/416 3331/4855/416 3333/4857/416 +f 3334/4858/416 3322/4883/416 3324/4859/416 +f 3328/4850/420 3338/4865/420 3334/4858/420 +f 3335/4860/417 3338/4865/417 3328/4850/417 +f 3334/4858/421 3338/4865/421 3336/4861/421 +f 3322/4862/422 3333/4884/422 3337/4863/422 +f 3338/4865/417 3335/4864/417 3337/4863/417 +f 3337/4863/417 3339/4885/417 3336/4861/417 +f 3339/4866/423 3332/4886/423 3331/4855/423 +f 3340/4867/416 3345/4877/416 3341/4868/416 +f 3332/4870/416 3340/4867/416 3342/4869/416 +f 3339/4872/424 3343/4874/424 3340/4867/424 +f 3337/4873/417 3344/4876/417 3343/4874/417 +f 3333/4875/425 3342/4880/425 3344/4876/425 +f 3343/4874/423 3347/4879/423 3345/4877/423 +f 3343/4874/417 3344/4876/417 3346/4878/417 +f 3342/4880/426 3341/4887/426 3346/4878/426 +o ABM_Pad v 0.500000 2.000000 0.500000 -v 0.500000 2.000000 -0.500000 -v -0.500000 2.000000 -0.500000 -v -1.500000 1.500000 -1.500000 -v 1.500000 1.500000 -1.500000 -v -1.500000 1.500000 -2.000000 -v 1.500000 1.500000 -2.000000 -v -1.500000 1.000000 -2.000000 -v 1.500000 1.000000 -2.000000 -v -1.500000 1.000000 -1.500000 -v 1.500000 1.000000 -1.500000 -v -1.500000 2.000000 1.500000 -v 1.500000 2.000000 1.500000 -v -1.500000 2.000000 -1.500000 -v 1.500000 2.000000 -1.500000 -v -0.500000 2.000000 0.500000 -v 0.500000 2.000000 0.500000 -v 0.500000 2.000000 -0.500000 -v -0.500000 2.000000 -0.500000 -v 0.500000 1.750000 -0.500000 +v -1.000000 2.000000 1.000000 +v 1.000000 2.000000 1.000000 +v -1.000000 1.750000 1.000000 v 0.500000 1.750000 0.500000 -v -0.500000 1.750000 -0.500000 +v 1.000000 1.750000 1.000000 +v -0.500000 2.000000 0.500000 +v -1.000000 2.000000 -1.000000 +v -0.500000 2.000000 -0.500000 +v 1.000000 2.000000 -1.000000 +v 0.500000 2.000000 -0.500000 +v -1.000000 1.750000 -1.000000 v -0.500000 1.750000 0.500000 -v -1.500000 1.750000 -1.500000 -v -1.500000 1.750000 1.500000 -v 1.500000 1.750000 1.500000 -v 1.500000 1.750000 -1.500000 -v 0.750000 1.125000 1.250000 -v 1.250000 1.125000 1.250000 -v 0.750000 1.125000 0.750000 -v 1.250000 1.125000 0.750000 -v 0.750000 1.625000 1.250000 -v 1.250000 1.625000 1.250000 -v 0.750000 1.625000 0.750000 -v 1.250000 1.625000 0.750000 -v 0.625000 1.000000 1.375000 -v 1.375000 1.000000 1.375000 -v 0.625000 1.000000 0.625000 -v 1.375000 1.000000 0.625000 -v 0.625000 1.125000 1.375000 -v 1.375000 1.125000 1.375000 -v 0.625000 1.125000 0.625000 -v 1.375000 1.125000 0.625000 -v 0.625000 1.625000 1.375000 -v 1.375000 1.625000 1.375000 -v 0.625000 1.625000 0.625000 -v 1.375000 1.625000 0.625000 -v 0.625000 1.750000 1.375000 -v 1.375000 1.750000 1.375000 -v 0.625000 1.750000 0.625000 -v 1.375000 1.750000 0.625000 -v -0.250000 1.000000 2.250000 -v 0.250000 1.000000 2.250000 -v -0.250000 1.000000 1.750000 -v 0.250000 1.000000 1.750000 -v -0.250000 10.000000 1.750000 -v -0.250000 10.000000 2.250000 -v 0.250000 10.000000 2.250000 -v 0.250000 10.000000 1.750000 -v 4.000000 2.750000 1.500000 -v 3.750000 2.750000 1.500000 -v 3.750000 2.750000 1.750000 -v 4.000000 2.750000 1.750000 -v 0.750001 2.000000 1.500000 -v 3.750000 2.000000 1.500000 -v 0.750001 1.500000 1.633975 -v 3.750000 1.500000 1.633975 -v 0.750001 1.133975 2.000000 -v 3.750000 1.133975 2.000000 -v 0.750001 1.000000 2.500000 -v 3.750000 1.000000 2.500000 -v 0.750001 1.133975 3.000000 -v 3.750000 1.133975 3.000000 -v 0.750001 1.500000 3.366025 -v 3.750000 1.500000 3.366025 -v 0.750001 2.000000 3.500000 -v 3.750000 2.000000 3.500000 -v 0.750001 2.500000 3.366025 -v 3.750000 2.500000 3.366025 -v 0.750001 2.866026 3.000000 -v 3.750000 2.866026 3.000000 -v 0.750001 3.000000 2.500000 -v 3.750000 3.000000 2.500000 -v 0.750001 2.866026 2.000000 -v 3.750000 2.866026 2.000000 -v 0.750001 2.500001 1.633975 -v 3.750000 2.500001 1.633975 -v 4.000000 1.000000 1.750000 -v 3.750000 1.000000 1.750000 -v 3.750000 1.000000 1.500000 -v 4.000000 1.000000 1.500000 -v 4.000000 1.250000 1.500000 -v 3.750000 1.250000 1.500000 -v 3.750000 1.250000 1.750000 -v 4.000000 1.250000 1.750000 -v 4.000000 1.250000 3.500000 -v 3.750000 1.250000 3.500000 -v 3.750000 1.250000 3.250000 -v 4.000000 1.250000 3.250000 -v 4.000000 1.000000 3.250000 -v 3.750000 1.000000 3.250000 -v 3.750000 1.000000 3.500000 -v 4.000000 1.000000 3.500000 -v 0.750000 1.000000 1.750000 +v 1.000000 1.750000 -1.000000 +v -0.500000 1.750000 -0.500000 +v 0.500000 1.750000 -0.500000 +v -0.500000 2.000000 0.500000 +v 0.500000 2.000000 -0.500000 +v -0.500000 2.000000 -0.500000 +v 0.937500 1.750000 0.937500 +v 0.937500 1.000000 0.562500 +v 0.937500 1.750000 0.562500 +v 0.562500 1.750000 0.562500 +v 0.562500 1.000000 0.937500 +v 0.562500 1.750000 0.937500 +v 0.562500 1.000000 0.562500 +v 0.937500 1.000000 0.937500 +v -0.500000 1.000000 -1.750000 +v 0.500000 1.375000 -1.750000 +v 0.500000 1.000000 -1.750000 +v 0.500000 1.500000 -1.375000 +v -0.500000 1.500000 -1.625000 +v -0.500000 1.500000 -1.375000 +v 0.500000 1.000000 -1.250000 +v -0.500000 1.375000 -1.250000 +v -0.500000 1.000000 -1.250000 +v 0.500000 1.500000 -1.625000 +v 0.500000 1.375000 -1.250000 +v -0.500000 1.375000 -1.750000 +v 0.750000 1.000000 -0.562500 +v 0.750000 1.750000 0.562500 +v 0.750000 1.000000 0.562500 +v 1.000000 11.000000 1.750000 +v 0.500000 11.000000 1.250000 +v 0.500000 11.000000 1.750000 +v -0.500000 11.000000 1.750000 +v -1.000000 11.000000 1.250000 +v -1.000000 11.000000 1.750000 +v 1.000000 1.000000 1.750000 v 0.500000 1.000000 1.750000 -v 0.500000 1.000000 1.500000 -v 0.750000 1.000000 1.500000 -v 0.750000 1.250000 1.500000 -v 0.500000 1.250000 1.500000 -v 0.500000 1.250000 1.750000 -v 0.750000 1.250000 1.750000 -v 0.750000 1.250000 3.500000 -v 0.500000 1.250000 3.500000 -v 0.500000 1.250000 3.250000 -v 0.750000 1.250000 3.250000 -v 0.750000 1.000000 3.250000 -v 0.500000 1.000000 3.250000 -v 0.500000 1.000000 3.500000 -v 0.750000 1.000000 3.500000 -v 4.000000 3.000000 1.500000 -v 3.750000 3.000000 1.500000 -v 3.750000 3.000000 1.750000 -v 4.000000 3.000000 1.750000 -v 4.000000 3.000000 3.500000 -v 3.750000 3.000000 3.500000 -v 3.750000 3.000000 3.250000 -v 4.000000 3.000000 3.250000 -v 4.000000 2.750000 3.250000 -v 3.750000 2.750000 3.250000 -v 3.750000 2.750000 3.500000 -v 4.000000 2.750000 3.500000 -v 0.750000 2.750000 1.750000 -v 0.500000 2.750000 1.750000 -v 0.500000 2.750000 1.500000 -v 0.750000 2.750000 1.500000 -v 0.750000 3.000000 1.500000 -v 0.500000 3.000000 1.500000 -v 0.500000 3.000000 1.750000 -v 0.750000 3.000000 1.750000 -v 0.750000 3.000000 3.500000 -v 0.500000 3.000000 3.500000 -v 0.500000 3.000000 3.250000 -v 0.750000 3.000000 3.250000 -v 0.750000 2.750000 3.250000 -v 0.500000 2.750000 3.250000 -v 0.500000 2.750000 3.500000 -v 0.750000 2.750000 3.500000 -v 4.000000 1.000000 1.750000 -v 4.000000 1.000000 3.250000 -v 3.875000 1.000000 1.750000 -v 3.875000 1.000000 3.250000 -v 4.000000 1.125000 1.750000 -v 4.000000 1.125000 3.250000 -v 3.875000 1.125000 1.750000 -v 3.875000 1.125000 3.250000 -v 0.625000 1.000000 1.750000 -v 0.625000 1.000000 3.250000 -v 0.500000 1.000000 1.750000 -v 0.500000 1.000000 3.250000 -v 0.625000 1.125000 1.750000 -v 0.625000 1.125000 3.250000 -v 0.500000 1.125000 1.750000 -v 0.500000 1.125000 3.250000 -v 4.000000 2.875000 1.750000 -v 4.000000 2.875000 3.250000 -v 3.875000 2.875000 1.750000 -v 3.875000 2.875000 3.250000 -v 4.000000 3.000000 1.750000 -v 4.000000 3.000000 3.250000 -v 3.875000 3.000000 1.750000 -v 3.875000 3.000000 3.250000 -v 0.625000 2.875000 1.750000 -v 0.625000 2.875000 3.250000 -v 0.500000 2.875000 1.750000 -v 0.500000 2.875000 3.250000 -v 0.625000 3.000000 1.750000 -v 0.625000 3.000000 3.250000 -v 0.500000 3.000000 1.750000 -v 0.500000 3.000000 3.250000 -v 4.000000 2.750000 1.500000 -v 4.000000 1.250000 1.500000 -v 3.875000 2.750000 1.500000 -v 3.875000 1.250000 1.500000 -v 4.000000 2.750000 1.625000 -v 4.000000 1.250000 1.625000 -v 3.875000 2.750000 1.625000 -v 3.875000 1.250000 1.625000 -v 0.625000 2.750000 1.500000 -v 0.625000 1.250000 1.500000 -v 0.500000 2.750000 1.500000 -v 0.500000 1.250000 1.500000 -v 0.625000 2.750000 1.625000 -v 0.625000 1.250000 1.625000 -v 0.500000 2.750000 1.625000 -v 0.500000 1.250000 1.625000 -v 4.000000 2.750000 3.375000 -v 4.000000 1.250000 3.375000 -v 3.875000 2.750000 3.375000 -v 3.875000 1.250000 3.375000 -v 4.000000 2.750000 3.500000 -v 4.000000 1.250000 3.500000 -v 3.875000 2.750000 3.500000 -v 3.875000 1.250000 3.500000 -v 0.625000 2.750000 3.375000 -v 0.625000 1.250000 3.375000 -v 0.500000 2.750000 3.375000 -v 0.500000 1.250000 3.375000 -v 0.625000 2.750000 3.500000 -v 0.625000 1.250000 3.500000 -v 0.500000 2.750000 3.500000 -v 0.500000 1.250000 3.500000 -v 3.750000 1.000000 3.500000 -v 0.750000 1.000000 3.500000 -v 3.750000 1.000000 3.375000 -v 0.750000 1.000000 3.375000 -v 3.750000 1.125000 3.500000 -v 0.750000 1.125000 3.500000 -v 3.750000 1.125000 3.375000 -v 0.750000 1.125000 3.375000 -v 3.750000 2.875000 3.500000 -v 0.750000 2.875000 3.500000 -v 3.750000 2.875000 3.375000 -v 0.750000 2.875000 3.375000 -v 3.750000 3.000000 3.500000 -v 0.750000 3.000000 3.500000 -v 3.750000 3.000000 3.375000 -v 0.750000 3.000000 3.375000 -v 3.750000 1.000000 1.625000 -v 0.750000 1.000000 1.625000 -v 3.750000 1.000000 1.500000 -v 0.750000 1.000000 1.500000 -v 3.750000 1.125000 1.625000 -v 0.750000 1.125000 1.625000 -v 3.750000 1.125000 1.500000 -v 0.750000 1.125000 1.500000 -v 3.750000 2.875000 1.625000 -v 0.750000 2.875000 1.625000 -v 3.750000 2.875000 1.500000 -v 0.750000 2.875000 1.500000 -v 3.750000 3.000000 1.625000 -v 0.750000 3.000000 1.625000 -v 3.750000 3.000000 1.500000 -v 0.750000 3.000000 1.500000 -v 4.000000 1.625000 1.850481 -v 4.000000 2.000000 1.750000 -v 4.000000 1.350481 2.125000 -v 4.000000 1.250000 2.500000 -v 4.000000 1.350481 2.875000 -v 4.000000 1.625000 3.149519 -v 4.000000 2.000000 3.250000 -v 4.000000 2.375000 3.149519 -v 4.000000 2.649519 2.875000 -v 4.000000 2.750000 2.500000 -v 4.000000 2.649520 2.125000 -v 4.000000 2.375001 1.850481 -v 0.500001 2.000000 1.750000 -v 0.500001 1.625000 1.850481 -v 0.500001 1.350481 2.125000 -v 0.500001 1.250000 2.500000 -v 0.500001 1.350481 2.875000 -v 0.500001 1.625000 3.149519 -v 0.500001 2.000000 3.250000 -v 0.500001 2.375000 3.149519 -v 0.500001 2.649519 2.875000 -v 0.500001 2.750000 2.500000 -v 0.500001 2.649520 2.125000 -v 0.500001 2.375001 1.850481 -v 0.750000 1.125000 -0.750000 -v 1.250000 1.125000 -0.750000 -v 0.750000 1.125000 -1.250000 -v 1.250000 1.125000 -1.250000 -v 0.750000 1.625000 -0.750000 -v 1.250000 1.625000 -0.750000 -v 0.750000 1.625000 -1.250000 -v 1.250000 1.625000 -1.250000 -v 0.625000 1.000000 -0.625000 -v 1.375000 1.000000 -0.625000 -v 0.625000 1.000000 -1.375000 -v 1.375000 1.000000 -1.375000 -v 0.625000 1.125000 -0.625000 -v 1.375000 1.125000 -0.625000 -v 0.625000 1.125000 -1.375000 -v 1.375000 1.125000 -1.375000 -v 0.625000 1.625000 -0.625000 -v 1.375000 1.625000 -0.625000 -v 0.625000 1.625000 -1.375000 -v 1.375000 1.625000 -1.375000 -v 0.625000 1.750000 -0.625000 -v 1.375000 1.750000 -0.625000 -v 0.625000 1.750000 -1.375000 -v 1.375000 1.750000 -1.375000 -v -1.250000 1.125000 1.250000 -v -0.750000 1.125000 1.250000 -v -1.250000 1.125000 0.750000 -v -0.750000 1.125000 0.750000 -v -1.250000 1.625000 1.250000 -v -0.750000 1.625000 1.250000 -v -1.250000 1.625000 0.750000 -v -0.750000 1.625000 0.750000 -v -1.375000 1.000000 1.375000 -v -0.625000 1.000000 1.375000 -v -1.375000 1.000000 0.625000 -v -0.625000 1.000000 0.625000 -v -1.375000 1.125000 1.375000 -v -0.625000 1.125000 1.375000 -v -1.375000 1.125000 0.625000 -v -0.625000 1.125000 0.625000 -v -1.375000 1.625000 1.375000 -v -0.625000 1.625000 1.375000 -v -1.375000 1.625000 0.625000 -v -0.625000 1.625000 0.625000 -v -1.375000 1.750000 1.375000 -v -0.625000 1.750000 1.375000 -v -1.375000 1.750000 0.625000 -v -0.625000 1.750000 0.625000 -v -1.250000 1.125000 -0.750000 -v -0.750000 1.125000 -0.750000 -v -1.250000 1.125000 -1.250000 -v -0.750000 1.125000 -1.250000 -v -1.250000 1.625000 -0.750000 -v -0.750000 1.625000 -0.750000 -v -1.250000 1.625000 -1.250000 -v -0.750000 1.625000 -1.250000 -v -1.375000 1.000000 -0.625000 -v -0.625000 1.000000 -0.625000 -v -1.375000 1.000000 -1.375000 -v -0.625000 1.000000 -1.375000 -v -1.375000 1.125000 -0.625000 -v -0.625000 1.125000 -0.625000 -v -1.375000 1.125000 -1.375000 -v -0.625000 1.125000 -1.375000 -v -1.375000 1.625000 -0.625000 -v -0.625000 1.625000 -0.625000 -v -1.375000 1.625000 -1.375000 -v -0.625000 1.625000 -1.375000 -v -1.375000 1.750000 -0.625000 -v -0.625000 1.750000 -0.625000 -v -1.375000 1.750000 -1.375000 -v -0.625000 1.750000 -1.375000 -vt 0.265306 0.763158 -vt 0.510204 0.710526 -vt 0.510204 0.763158 -vt 0.265306 0.815789 -vt 0.510204 0.815789 -vt 0.265306 0.710526 -vt 0.510204 0.657895 -vt 0.224490 0.710526 -vt 0.224490 0.763158 -vt 0.551020 0.710526 -vt 0.551020 0.763158 -vt 0.244898 0.552632 -vt 0.163265 0.342105 -vt 0.244898 0.447368 -vt 0.408163 0.342105 -vt 0.326531 0.447368 -vt 0.408163 0.657895 -vt 0.326531 0.552632 -vt 0.163265 0.657895 -vt 0.326531 0.447368 -vt 0.244898 0.552632 -vt 0.244898 0.447368 -vt 0.163265 0.315789 -vt 0.244898 0.105263 -vt 0.244898 0.210526 -vt 0.408163 0.315789 -vt 0.326531 0.210526 -vt 0.408163 -0.000000 -vt 0.326531 0.105263 -vt 0.163265 -0.000000 -vt 0.244898 0.210526 -vt 0.326531 0.184211 -vt 0.326531 0.210526 -vt 0.163265 0.342105 -vt 0.408163 0.315789 -vt 0.408163 0.342105 -vt 0.244898 0.210526 -vt 0.326531 0.184211 -vt 0.326531 0.210526 -vt 0.244898 0.210526 -vt 0.326531 0.184211 -vt 0.326531 0.210526 -vt 0.163265 0.342105 -vt 0.408163 0.315789 -vt 0.408163 0.342105 -vt 0.163265 0.342105 -vt 0.408163 0.315789 -vt 0.408163 0.342105 -vt 0.244898 0.210526 -vt 0.326531 0.184211 -vt 0.326531 0.210526 -vt 0.214286 0.750000 -vt 0.173469 0.802632 -vt 0.173469 0.750000 -vt 0.214286 0.750000 -vt 0.173469 0.802632 -vt 0.173469 0.750000 -vt 0.214286 0.750000 -vt 0.173469 0.802632 -vt 0.173469 0.750000 -vt 0.214286 0.750000 -vt 0.173469 0.802632 -vt 0.173469 0.750000 -vt 0.224490 0.881579 -vt 0.163265 0.894737 -vt 0.163265 0.881579 -vt 0.163265 0.671053 -vt 0.224490 0.750000 -vt 0.163265 0.750000 -vt 0.224490 0.657895 -vt 0.163265 0.657895 -vt 0.224490 0.657895 -vt 0.163265 0.671053 -vt 0.163265 0.657895 -vt 0.224490 0.657895 -vt 0.163265 0.671053 -vt 0.163265 0.657895 -vt 0.224490 0.657895 -vt 0.163265 0.671053 -vt 0.163265 0.657895 -vt 0.224490 0.881579 -vt 0.163265 0.894737 -vt 0.163265 0.881579 -vt 0.224490 0.881579 -vt 0.163265 0.894737 -vt 0.163265 0.881579 -vt 0.224490 0.881579 -vt 0.163265 0.894737 -vt 0.163265 0.881579 -vt 0.163265 0.802632 -vt 0.224490 0.802632 -vt 0.040816 0.947368 -vt 0.081633 1.000000 -vt 0.040816 1.000000 -vt 0.081633 0.000000 -vt 0.040816 0.000000 -vt 0.163265 0.000000 -vt 0.122449 0.947368 -vt 0.122449 0.000000 -vt 0.081633 0.947368 -vt 0.000000 0.947368 +v -0.500000 1.000000 1.250000 +v -0.500000 1.000000 1.750000 +v -1.000000 1.000000 1.750000 +v -1.000000 1.000000 1.250000 +v 1.000000 1.000000 1.250000 +v 0.500000 1.000000 1.250000 +v -0.500000 11.000000 1.250000 +v 1.000000 11.000000 1.250000 +v -0.500000 10.750000 1.562500 +v 0.500000 10.250000 1.562500 +v 0.500000 10.000000 1.562500 +v 0.500000 1.750000 1.437500 +v -0.500000 1.250000 1.437500 +v 0.500000 2.000000 1.437500 +v -0.500000 1.750000 1.562500 +v 0.500000 1.250000 1.562500 +v 0.500000 1.000000 1.562500 +v -0.500000 4.750000 1.562500 +v 0.500000 4.250000 1.562500 +v 0.500000 4.000000 1.562500 +v 0.500000 4.750000 1.437500 +v -0.500000 4.250000 1.437500 +v 0.500000 5.000000 1.437500 +v -0.500000 2.500000 1.562500 +v 0.500000 2.000000 1.562500 +v 0.500000 1.750000 1.562500 +v 0.500000 2.500000 1.437500 +v -0.500000 2.000000 1.437500 +v 0.500000 2.750000 1.437500 +v 0.500000 3.250000 1.437500 +v -0.500000 2.750000 1.437500 +v 0.500000 3.500000 1.437500 +v -0.500000 3.250000 1.562500 +v 0.500000 2.750000 1.562500 +v 0.500000 2.500000 1.562500 +v 0.500000 4.000000 1.437500 +v -0.500000 3.500000 1.437500 +v 0.500000 4.250000 1.437500 +v -0.500000 4.000000 1.562500 +v 0.500000 3.500000 1.562500 +v 0.500000 3.250000 1.562500 +v -0.500000 7.000000 1.562500 +v 0.500000 6.500000 1.562500 +v 0.500000 6.250000 1.562500 +v 0.500000 7.000000 1.437500 +v -0.500000 6.500000 1.437500 +v 0.500000 7.250000 1.437500 +v 0.500000 10.750000 1.437500 +v -0.500000 10.250000 1.437500 +v 0.500000 11.000000 1.437500 +v -0.500000 6.250000 1.562500 +v 0.500000 5.750000 1.562500 +v 0.500000 5.500000 1.562500 +v 0.500000 6.250000 1.437500 +v -0.500000 5.750000 1.437500 +v 0.500000 6.500000 1.437500 +v 0.500000 5.500000 1.437500 +v -0.500000 5.000000 1.437500 +v 0.500000 5.750000 1.437500 +v -0.500000 5.500000 1.562500 +v 0.500000 5.000000 1.562500 +v 0.500000 4.750000 1.562500 +v 0.500000 7.750000 1.437500 +v -0.500000 7.250000 1.437500 +v 0.500000 8.000000 1.437500 +v -0.500000 7.750000 1.562500 +v 0.500000 7.250000 1.562500 +v 0.500000 7.000000 1.562500 +v -0.500000 8.500000 1.562500 +v 0.500000 8.000000 1.562500 +v 0.500000 7.750000 1.562500 +v 0.500000 8.500000 1.437500 +v -0.500000 8.000000 1.437500 +v 0.500000 8.750000 1.437500 +v 0.500000 9.250000 1.437500 +v -0.500000 8.750000 1.437500 +v 0.500000 9.500000 1.437500 +v -0.500000 9.250000 1.562500 +v 0.500000 8.750000 1.562500 +v 0.500000 8.500000 1.562500 +v 0.500000 10.000000 1.437500 +v -0.500000 9.500000 1.437500 +v 0.500000 10.250000 1.437500 +v -0.500000 10.000000 1.562500 +v 0.500000 9.500000 1.562500 +v 0.500000 9.250000 1.562500 +v -0.937500 1.000000 3.937500 +v -0.937500 2.812500 1.750000 +v -0.937500 1.000000 3.562500 +v -0.562500 1.000000 3.937500 +v -0.937500 3.187500 1.750000 +v -0.562500 2.812500 1.750000 +v -0.562500 1.000000 3.562500 +v -0.562500 3.187500 1.750000 +v 0.562500 1.000000 3.937500 +v 0.562500 2.812500 1.750000 +v 0.562500 1.000000 3.562500 +v 0.937500 1.000000 3.937500 +v 0.562500 3.187500 1.750000 +v 0.937500 2.812500 1.750000 +v 0.937500 1.000000 3.562500 +v 0.937500 3.187500 1.750000 +v -0.500000 10.750000 1.562500 +v 0.500000 10.250000 1.562500 +v -0.500000 11.000000 1.562500 +v 0.500000 1.750000 1.437500 +v -0.500000 1.250000 1.437500 +v -0.500000 1.000000 1.437500 +v -0.500000 1.750000 1.562500 +v 0.500000 1.250000 1.562500 +v -0.500000 2.000000 1.562500 +v -0.500000 4.750000 1.562500 +v 0.500000 4.250000 1.562500 +v -0.500000 5.000000 1.562500 +v 0.500000 4.750000 1.437500 +v -0.500000 4.250000 1.437500 +v -0.500000 4.000000 1.437500 +v -0.500000 2.500000 1.562500 +v 0.500000 2.000000 1.562500 +v -0.500000 2.750000 1.562500 +v 0.500000 2.500000 1.437500 +v -0.500000 2.000000 1.437500 +v -0.500000 1.750000 1.437500 +v 0.500000 3.250000 1.437500 +v -0.500000 2.750000 1.437500 +v -0.500000 2.500000 1.437500 +v -0.500000 3.250000 1.562500 +v 0.500000 2.750000 1.562500 +v -0.500000 3.500000 1.562500 +v 0.500000 4.000000 1.437500 +v -0.500000 3.500000 1.437500 +v -0.500000 3.250000 1.437500 +v -0.500000 4.000000 1.562500 +v 0.500000 3.500000 1.562500 +v -0.500000 4.250000 1.562500 +v -0.500000 7.000000 1.562500 +v 0.500000 6.500000 1.562500 +v -0.500000 7.250000 1.562500 +v 0.500000 7.000000 1.437500 +v -0.500000 6.500000 1.437500 +v -0.500000 6.250000 1.437500 +v 0.500000 10.750000 1.437500 +v -0.500000 10.250000 1.437500 +v -0.500000 10.000000 1.437500 +v -0.500000 6.250000 1.562500 +v 0.500000 5.750000 1.562500 +v -0.500000 6.500000 1.562500 +v 0.500000 6.250000 1.437500 +v -0.500000 5.750000 1.437500 +v -0.500000 5.500000 1.437500 +v 0.500000 5.500000 1.437500 +v -0.500000 5.000000 1.437500 +v -0.500000 4.750000 1.437500 +v -0.500000 5.500000 1.562500 +v 0.500000 5.000000 1.562500 +v -0.500000 5.750000 1.562500 +v 0.500000 7.750000 1.437500 +v -0.500000 7.250000 1.437500 +v -0.500000 7.000000 1.437500 +v -0.500000 7.750000 1.562500 +v 0.500000 7.250000 1.562500 +v -0.500000 8.000000 1.562500 +v -0.500000 8.500000 1.562500 +v 0.500000 8.000000 1.562500 +v -0.500000 8.750000 1.562500 +v 0.500000 8.500000 1.437500 +v -0.500000 8.000000 1.437500 +v -0.500000 7.750000 1.437500 +v 0.500000 9.250000 1.437500 +v -0.500000 8.750000 1.437500 +v -0.500000 8.500000 1.437500 +v -0.500000 9.250000 1.562500 +v 0.500000 8.750000 1.562500 +v -0.500000 9.500000 1.562500 +v 0.500000 10.000000 1.437500 +v -0.500000 9.500000 1.437500 +v -0.500000 9.250000 1.437500 +v -0.500000 10.000000 1.562500 +v 0.500000 9.500000 1.562500 +v -0.500000 10.250000 1.562500 +v 0.937500 1.750000 -0.562500 +v 0.937500 1.000000 -0.937500 +v 0.937500 1.750000 -0.937500 +v 0.562500 1.750000 -0.937500 +v 0.562500 1.000000 -0.562500 +v 0.562500 1.750000 -0.562500 +v 0.562500 1.000000 -0.937500 +v 0.937500 1.000000 -0.562500 +v -0.562500 1.750000 0.937500 +v -0.562500 1.000000 0.562500 +v -0.562500 1.750000 0.562500 +v -0.937500 1.750000 0.562500 +v -0.937500 1.000000 0.937500 +v -0.937500 1.750000 0.937500 +v -0.937500 1.000000 0.562500 +v -0.562500 1.000000 0.937500 +v -0.562500 1.750000 -0.562500 +v -0.562500 1.000000 -0.937500 +v -0.562500 1.750000 -0.937500 +v -0.937500 1.750000 -0.937500 +v -0.937500 1.000000 -0.562500 +v -0.937500 1.750000 -0.562500 +v -0.937500 1.000000 -0.937500 +v -0.562500 1.000000 -0.562500 +v -0.750000 1.000000 0.562500 +v -0.750000 1.750000 -0.562500 +v -0.750000 1.000000 -0.562500 +v -0.562500 1.000000 -0.750000 +v 0.562500 1.750000 -0.750000 +v 0.562500 1.000000 -0.750000 +v 0.562500 1.000000 0.750000 +v -0.562500 1.750000 0.750000 +v -0.562500 1.000000 0.750000 +v 0.500000 2.000000 0.500000 +v 0.750000 1.750000 -0.562500 +v -0.500000 11.000000 1.562500 +v -0.500000 1.000000 1.437500 +v -0.500000 2.000000 1.562500 +v -0.500000 5.000000 1.562500 +v -0.500000 4.000000 1.437500 +v -0.500000 2.750000 1.562500 +v -0.500000 1.750000 1.437500 +v -0.500000 2.500000 1.437500 +v -0.500000 3.500000 1.562500 +v -0.500000 3.250000 1.437500 +v -0.500000 4.250000 1.562500 +v -0.500000 7.250000 1.562500 +v -0.500000 6.250000 1.437500 +v -0.500000 10.000000 1.437500 +v -0.500000 6.500000 1.562500 +v -0.500000 5.500000 1.437500 +v -0.500000 4.750000 1.437500 +v -0.500000 5.750000 1.562500 +v -0.500000 7.000000 1.437500 +v -0.500000 8.000000 1.562500 +v -0.500000 8.750000 1.562500 +v -0.500000 7.750000 1.437500 +v -0.500000 8.500000 1.437500 +v -0.500000 9.500000 1.562500 +v -0.500000 9.250000 1.437500 +v -0.500000 10.250000 1.562500 +v 0.500000 10.000000 1.562500 +v 0.500000 2.000000 1.437500 +v 0.500000 1.000000 1.562500 +v 0.500000 4.000000 1.562500 +v 0.500000 5.000000 1.437500 +v 0.500000 1.750000 1.562500 +v 0.500000 2.750000 1.437500 +v 0.500000 3.500000 1.437500 +v 0.500000 2.500000 1.562500 +v 0.500000 4.250000 1.437500 +v 0.500000 3.250000 1.562500 +v 0.500000 6.250000 1.562500 +v 0.500000 7.250000 1.437500 +v 0.500000 11.000000 1.437500 +v 0.500000 5.500000 1.562500 +v 0.500000 6.500000 1.437500 +v 0.500000 5.750000 1.437500 +v 0.500000 4.750000 1.562500 +v 0.500000 8.000000 1.437500 +v 0.500000 7.000000 1.562500 +v 0.500000 7.750000 1.562500 +v 0.500000 8.750000 1.437500 +v 0.500000 9.500000 1.437500 +v 0.500000 8.500000 1.562500 +v 0.500000 10.250000 1.437500 +v 0.500000 9.250000 1.562500 +v -0.750000 1.750000 0.562500 +v -0.562500 1.750000 -0.750000 +v 0.562500 1.750000 0.750000 +vt 0.083333 0.250000 +vt 0.000000 0.386364 +vt 0.000000 0.204545 vt 0.000000 0.000000 -vt 0.775510 0.500000 -vt 0.755102 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.473684 -vt 0.775510 0.500000 -vt 0.755102 0.500000 -vt 0.755102 0.473684 -vt 0.775510 0.500000 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.473684 -vt 0.755102 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.755102 0.473684 -vt 0.775510 0.500000 -vt 0.755102 0.500000 -vt 0.775510 0.500000 -vt 0.755102 0.473684 -vt 0.775510 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.473684 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.473684 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.473684 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.775510 0.500000 -vt 0.755102 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.473684 -vt 0.775510 0.500000 -vt 0.755102 0.500000 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.473684 -vt 0.775510 0.500000 -vt 0.755102 0.473684 -vt 0.775510 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.473684 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.775510 0.500000 -vt 0.755102 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.473684 -vt 0.775510 0.473684 -vt 0.775510 0.500000 -vt 0.755102 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.473684 -vt 0.755102 0.473684 -vt 0.775510 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.473684 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.775510 0.500000 -vt 0.755102 0.473684 -vt 0.755102 0.500000 -vt 0.775510 0.500000 -vt 0.755102 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.473684 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.775510 0.500000 -vt 0.775510 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.473684 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.473684 -vt 0.775510 0.500000 -vt 0.755102 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.775510 0.500000 -vt 0.755102 0.473684 -vt 0.755102 0.500000 -vt 0.775510 0.500000 -vt 0.755102 0.473684 -vt 0.775510 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.473684 -vt 0.755102 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.473684 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.765306 0.315789 -vt 0.775510 0.315789 -vt 0.765306 0.473684 -vt 0.755102 0.315789 -vt 0.785714 0.473684 -vt 0.785714 0.315789 -vt 0.795918 0.473684 -vt 0.785714 0.473684 -vt 0.775510 0.315789 -vt 0.785714 0.315789 -vt 0.775510 0.473684 -vt 0.765306 0.315789 -vt 0.795918 0.473684 -vt 0.755102 0.315789 -vt 0.765306 0.473684 -vt 0.755102 0.473684 -vt 0.765306 0.473684 -vt 0.755102 0.315789 -vt 0.765306 0.315789 -vt 0.795918 0.473684 -vt 0.785714 0.315789 -vt 0.795918 0.315789 -vt 0.775510 0.473684 -vt 0.775510 0.315789 -vt 0.785714 0.473684 -vt 0.795918 0.473684 -vt 0.785714 0.315789 -vt 0.795918 0.315789 -vt 0.785714 0.473684 -vt 0.775510 0.315789 -vt 0.755102 0.315789 -vt 0.765306 0.473684 -vt 0.755102 0.473684 -vt 0.765306 0.315789 -vt 0.775510 0.473684 -vt 0.775510 0.315789 -vt 0.785714 0.473684 -vt 0.775510 0.473684 -vt 0.785714 0.315789 -vt 0.795918 0.473684 -vt 0.765306 0.315789 -vt 0.765306 0.473684 -vt 0.755102 0.315789 -vt 0.765306 0.315789 -vt 0.775510 0.473684 -vt 0.765306 0.473684 -vt 0.775510 0.315789 -vt 0.785714 0.473684 -vt 0.755102 0.315789 -vt 0.795918 0.473684 -vt 0.785714 0.315789 -vt 0.795918 0.315789 -vt 0.785714 0.315789 -vt 0.795918 0.473684 -vt 0.785714 0.473684 -vt 0.755102 0.315789 -vt 0.765306 0.473684 -vt 0.755102 0.473684 -vt 0.775510 0.315789 -vt 0.775510 0.473684 -vt 0.765306 0.315789 -vt 0.755102 0.315789 -vt 0.765306 0.473684 -vt 0.755102 0.473684 -vt 0.765306 0.315789 -vt 0.775510 0.473684 -vt 0.795918 0.473684 -vt 0.785714 0.315789 -vt 0.795918 0.315789 -vt 0.785714 0.473684 -vt 0.775510 0.315789 -vt 0.724490 0.631579 -vt 0.734694 0.315789 -vt 0.734694 0.631579 -vt 0.714286 0.631579 -vt 0.724490 0.315789 -vt 0.744898 0.315789 -vt 0.755102 0.631579 -vt 0.744898 0.631579 -vt 0.714286 0.631579 -vt 0.724490 0.315789 -vt 0.724490 0.631579 -vt 0.744898 0.631579 -vt 0.755102 0.315789 -vt 0.755102 0.631579 -vt 0.734694 0.315789 -vt 0.734694 0.631579 -vt 0.734694 0.631579 -vt 0.744898 0.315789 -vt 0.744898 0.631579 -vt 0.724490 0.631579 -vt 0.734694 0.315789 -vt 0.755102 0.315789 -vt 0.714286 0.315789 -vt 0.714286 0.631579 -vt 0.744898 0.631579 -vt 0.755102 0.315789 -vt 0.755102 0.631579 -vt 0.734694 0.631579 -vt 0.744898 0.315789 -vt 0.724490 0.315789 -vt 0.714286 0.631579 -vt 0.714286 0.315789 -vt 0.724490 0.631579 -vt 0.214286 0.750000 -vt 0.173469 0.802632 -vt 0.173469 0.750000 -vt 0.214286 0.750000 -vt 0.173469 0.802632 -vt 0.173469 0.750000 -vt 0.214286 0.750000 -vt 0.173469 0.802632 -vt 0.173469 0.750000 -vt 0.214286 0.750000 -vt 0.173469 0.802632 -vt 0.173469 0.750000 -vt 0.224490 0.881579 -vt 0.163265 0.894737 -vt 0.163265 0.881579 -vt 0.163265 0.671053 -vt 0.224490 0.750000 -vt 0.163265 0.750000 -vt 0.224490 0.657895 -vt 0.163265 0.657895 -vt 0.224490 0.657895 -vt 0.163265 0.671053 -vt 0.163265 0.657895 -vt 0.224490 0.657895 -vt 0.163265 0.671053 -vt 0.163265 0.657895 -vt 0.224490 0.657895 -vt 0.163265 0.671053 -vt 0.163265 0.657895 -vt 0.224490 0.881579 -vt 0.163265 0.894737 -vt 0.163265 0.881579 -vt 0.224490 0.881579 -vt 0.163265 0.894737 -vt 0.163265 0.881579 -vt 0.224490 0.881579 -vt 0.163265 0.894737 -vt 0.163265 0.881579 -vt 0.163265 0.802632 -vt 0.224490 0.802632 -vt 0.214286 0.750000 -vt 0.173469 0.802632 -vt 0.173469 0.750000 -vt 0.214286 0.750000 -vt 0.173469 0.802632 -vt 0.173469 0.750000 -vt 0.214286 0.750000 -vt 0.173469 0.802632 -vt 0.173469 0.750000 -vt 0.214286 0.750000 -vt 0.173469 0.802632 -vt 0.173469 0.750000 -vt 0.224490 0.881579 -vt 0.163265 0.894737 -vt 0.163265 0.881579 -vt 0.163265 0.671053 -vt 0.224490 0.750000 -vt 0.163265 0.750000 -vt 0.224490 0.657895 -vt 0.163265 0.657895 -vt 0.224490 0.657895 -vt 0.163265 0.671053 -vt 0.163265 0.657895 -vt 0.224490 0.657895 -vt 0.163265 0.671053 -vt 0.163265 0.657895 -vt 0.224490 0.657895 -vt 0.163265 0.671053 -vt 0.163265 0.657895 -vt 0.224490 0.881579 -vt 0.163265 0.894737 -vt 0.163265 0.881579 -vt 0.224490 0.881579 -vt 0.163265 0.894737 -vt 0.163265 0.881579 -vt 0.224490 0.881579 -vt 0.163265 0.894737 -vt 0.163265 0.881579 -vt 0.163265 0.802632 -vt 0.224490 0.802632 -vt 0.214286 0.750000 -vt 0.173469 0.802632 -vt 0.173469 0.750000 -vt 0.214286 0.750000 -vt 0.173469 0.802632 -vt 0.173469 0.750000 -vt 0.214286 0.750000 -vt 0.173469 0.802632 -vt 0.173469 0.750000 -vt 0.214286 0.750000 -vt 0.173469 0.802632 -vt 0.173469 0.750000 -vt 0.224490 0.881579 -vt 0.163265 0.894737 -vt 0.163265 0.881579 -vt 0.163265 0.671053 -vt 0.224490 0.750000 -vt 0.163265 0.750000 -vt 0.224490 0.657895 -vt 0.163265 0.657895 -vt 0.224490 0.657895 -vt 0.163265 0.671053 -vt 0.163265 0.657895 -vt 0.224490 0.657895 -vt 0.163265 0.671053 -vt 0.163265 0.657895 -vt 0.224490 0.657895 -vt 0.163265 0.671053 -vt 0.163265 0.657895 -vt 0.224490 0.881579 -vt 0.163265 0.894737 -vt 0.163265 0.881579 -vt 0.224490 0.881579 -vt 0.163265 0.894737 -vt 0.163265 0.881579 -vt 0.224490 0.881579 -vt 0.163265 0.894737 -vt 0.163265 0.881579 -vt 0.163265 0.802632 -vt 0.224490 0.802632 -vt 0.265306 0.657895 -vt 0.326531 0.552632 -vt 0.244898 0.184211 -vt 0.163265 0.315789 -vt 0.244898 0.184211 -vt 0.244898 0.184211 -vt 0.163265 0.315789 -vt 0.163265 0.315789 -vt 0.244898 0.184211 -vt 0.214286 0.802632 -vt 0.214286 0.802632 -vt 0.214286 0.802632 -vt 0.214286 0.802632 -vt 0.224490 0.894737 -vt 0.224490 0.671053 -vt 0.224490 0.671053 -vt 0.224490 0.671053 -vt 0.224490 0.671053 -vt 0.224490 0.894737 -vt 0.224490 0.894737 -vt 0.224490 0.894737 -vt 0.163265 0.947368 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.755102 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.473684 -vt 0.755102 0.473684 -vt 0.755102 0.473684 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.755102 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.500000 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.755102 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.500000 -vt 0.755102 0.473684 -vt 0.755102 0.473684 -vt 0.755102 0.473684 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.755102 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.500000 -vt 0.775510 0.473684 -vt 0.775510 0.473684 -vt 0.755102 0.473684 -vt 0.795918 0.315789 -vt 0.795918 0.315789 -vt 0.755102 0.473684 -vt 0.795918 0.315789 -vt 0.755102 0.473684 -vt 0.755102 0.473684 -vt 0.795918 0.315789 -vt 0.714286 0.315789 -vt 0.755102 0.315789 -vt 0.714286 0.315789 -vt 0.744898 0.315789 -vt 0.724490 0.315789 -vt 0.755102 0.631579 -vt 0.734694 0.315789 -vt 0.214286 0.802632 -vt 0.214286 0.802632 -vt 0.214286 0.802632 -vt 0.214286 0.802632 -vt 0.224490 0.894737 -vt 0.224490 0.671053 -vt 0.224490 0.671053 -vt 0.224490 0.671053 -vt 0.224490 0.671053 -vt 0.224490 0.894737 -vt 0.224490 0.894737 -vt 0.224490 0.894737 -vt 0.214286 0.802632 -vt 0.214286 0.802632 -vt 0.214286 0.802632 -vt 0.214286 0.802632 -vt 0.224490 0.894737 -vt 0.224490 0.671053 -vt 0.224490 0.671053 -vt 0.224490 0.671053 -vt 0.224490 0.671053 -vt 0.224490 0.894737 -vt 0.224490 0.894737 -vt 0.224490 0.894737 -vt 0.214286 0.802632 -vt 0.214286 0.802632 -vt 0.214286 0.802632 -vt 0.214286 0.802632 -vt 0.224490 0.894737 -vt 0.224490 0.671053 -vt 0.224490 0.671053 -vt 0.224490 0.671053 -vt 0.224490 0.671053 -vt 0.224490 0.894737 -vt 0.224490 0.894737 -vt 0.224490 0.894737 -vt 0.683673 0.473684 -vt 0.438776 0.526316 -vt 0.438776 0.473684 -vt 0.683673 0.526316 -vt 0.438776 0.578947 -vt 0.683673 0.578947 -vt 0.438776 0.631579 -vt 0.683673 -0.000000 -vt 0.438776 0.052632 -vt 0.438776 -0.000000 -vt 0.683673 0.052632 -vt 0.438776 0.105263 -vt 0.683673 0.105263 -vt 0.438776 0.157895 -vt 0.683673 0.157895 -vt 0.438776 0.210526 -vt 0.683673 0.210526 -vt 0.438776 0.263158 -vt 0.683673 0.263158 -vt 0.438776 0.315789 -vt 0.683673 0.315789 -vt 0.438776 0.368421 -vt 0.714286 0.256579 -vt 0.683673 0.368421 -vt 0.438776 0.421053 -vt 0.683673 0.421053 -vt 0.408163 0.151316 -vt 0.408163 0.111842 -vt 0.745408 0.011716 -vt 0.805612 0.011716 -vt 0.805612 0.146179 -vt 0.714286 0.164474 -vt 0.714286 0.203947 -vt 0.714286 0.151316 -vt 0.714286 0.098684 -vt 0.714286 0.046053 -vt 0.714286 0.427632 -vt 0.714286 0.467105 -vt 0.714286 0.519737 -vt 0.683673 0.631579 -vt 0.714286 0.585526 -vt 0.714286 0.625000 -vt 0.714286 0.375000 -vt 0.714286 0.414474 -vt 0.714286 0.532895 -vt 0.714286 0.572368 -vt 0.714286 0.322368 -vt 0.714286 0.361842 -vt 0.714286 0.309211 -vt 0.775510 0.159210 -vt 0.827649 0.275658 -vt 0.723372 0.275658 -vt 0.408163 0.059211 -vt 0.408163 0.046053 -vt 0.408163 0.006579 -vt 0.408163 0.467105 -vt 0.408163 0.427632 -vt 0.408163 0.519737 -vt 0.408163 0.480263 -vt 0.408163 0.585526 -vt 0.408163 0.375000 -vt 0.408163 0.532895 -vt 0.408163 0.322368 -vt 0.408163 0.309211 -vt 0.408163 0.269737 -vt 0.408163 0.217105 -vt 0.408163 0.164474 -vt 0.714286 0.217105 -vt 0.827649 0.040131 -vt 0.835715 0.078947 -vt 0.827649 0.117763 -vt 0.775510 0.156579 -vt 0.745408 0.146179 -vt 0.723372 0.117763 -vt 0.715306 0.078947 -vt 0.723372 0.040131 -vt 0.775510 0.001315 -vt 0.714286 0.111842 -vt 0.714286 0.059211 -vt 0.714286 0.006579 -vt 0.714286 0.480263 -vt 0.714286 0.269737 -vt 0.715306 0.236842 -vt 0.723372 0.198026 -vt 0.745408 0.169611 -vt 0.805612 0.169611 -vt 0.827649 0.198026 -vt 0.835715 0.236842 -vt 0.805612 0.304073 -vt 0.775510 0.314474 -vt 0.745408 0.304073 -vt 0.408163 0.098684 -vt 0.408163 0.625000 -vt 0.408163 0.414474 -vt 0.408163 0.572368 -vt 0.408163 0.361842 -vt 0.408163 0.256579 -vt 0.408163 0.203947 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.3620 0.0000 -0.9322 -vn -0.3620 -0.4661 -0.8073 -vn -0.3620 0.0000 -0.9322 -vn 0.3620 -0.4661 -0.8073 -vn -0.3620 -0.8073 -0.4661 -vn 0.3620 -0.8073 -0.4661 -vn -0.3620 -0.9322 0.0000 -vn 0.3620 -0.9322 0.0000 -vn -0.3620 -0.8073 0.4661 -vn 0.3620 -0.8073 0.4661 -vn -0.3620 -0.4661 0.8073 -vn 0.3620 -0.4661 0.8073 -vn -0.3620 0.0000 0.9322 -vn 0.3620 0.0000 0.9322 -vn -0.3620 0.4661 0.8073 -vn 0.3620 0.4661 0.8073 -vn -0.3620 0.8073 0.4661 -vn 0.3620 0.8073 0.4661 -vn -0.3620 0.9322 0.0000 -vn 0.3620 0.9322 0.0000 -vn -0.3620 0.8073 -0.4661 -vn 0.9007 0.3762 0.2172 -vn 0.3620 0.8073 -0.4661 -vn -0.3620 0.4661 -0.8073 -vn 0.3620 0.4661 -0.8073 -vn -0.9007 0.0000 0.4343 -vn -0.9007 -0.2172 0.3762 -vn 0.9007 -0.3762 0.2172 -vn 0.9007 -0.3762 -0.2172 -vn 0.9007 0.3762 -0.2172 -vn 0.9007 0.0000 0.4343 -vn 0.9007 0.2172 0.3762 -vn 0.9007 -0.2172 0.3762 -vn 0.9007 0.2172 -0.3762 -vn 0.9007 0.0000 -0.4343 -vn 0.9007 -0.2172 -0.3762 -vn 0.9007 -0.4343 0.0000 -vn 0.9007 0.4343 0.0000 -vn -0.9007 -0.4343 0.0000 -vn -0.9007 0.2172 0.3762 -vn -0.9007 0.2172 -0.3762 -vn -0.9007 -0.3762 0.2172 -vn -0.9007 0.0000 -0.4343 -vn -0.9007 -0.2172 -0.3762 -vn -0.9007 -0.3762 -0.2172 -vn -0.9007 0.3762 -0.2172 -vn -0.9007 0.4343 0.0000 -vn -0.9007 0.3762 0.2172 -s off -f 3219/4436/313 3220/4437/313 3218/4438/313 -f 3225/4439/314 3218/4438/314 3224/4440/314 -f 3221/4441/315 3222/4442/315 3220/4437/315 -f 3223/4443/316 3219/4436/316 3225/4444/316 -f 3218/4438/317 3222/4445/317 3224/4446/317 -f 3214/4447/313 3227/4448/313 3215/4449/313 -f 3215/4449/313 3229/4450/313 3216/4451/313 -f 3216/4451/313 3228/4452/313 3217/4453/313 -f 3217/4453/313 3226/4454/313 3214/4447/313 -f 3232/4455/313 3230/4456/313 3231/4457/313 -f 3240/4458/318 3237/4459/318 3235/4460/318 -f 3241/4461/318 3235/4460/318 3234/4462/318 -f 3238/4463/318 3234/4462/318 3236/4464/318 -f 3239/4465/318 3236/4464/318 3237/4459/318 -f 3216/4466/317 3235/4467/317 3215/4468/317 -f 3227/4448/316 3241/4461/316 3229/4450/316 -f 3228/4469/317 3239/4470/317 3226/4471/317 -f 3215/4472/315 3237/4473/315 3214/4474/315 -f 3214/4475/316 3236/4476/316 3217/4477/316 -f 3229/4478/315 3238/4479/315 3228/4480/315 -f 3226/4481/314 3240/4482/314 3227/4483/314 -f 3217/4484/314 3234/4485/314 3216/4486/314 -f 3244/4487/315 3249/4488/315 3245/4489/315 -f 3243/4490/314 3246/4491/314 3242/4492/314 -f 3245/4493/316 3247/4494/316 3243/4495/316 -f 3242/4496/317 3248/4497/317 3244/4498/317 -f 3261/4499/316 3263/4500/316 3259/4501/316 -f 3255/4502/313 3256/4503/313 3254/4504/313 -f 3253/4505/316 3255/4502/316 3251/4506/316 -f 3250/4507/317 3256/4508/317 3252/4509/317 -f 3252/4510/315 3257/4511/315 3253/4512/315 -f 3251/4513/314 3254/4514/314 3250/4515/314 -f 3258/4516/317 3264/4517/317 3260/4518/317 -f 3260/4519/315 3265/4520/315 3261/4521/315 -f 3259/4522/314 3262/4523/314 3258/4524/314 -f 3261/4499/318 3258/4525/318 3260/4526/318 -f 3272/4527/313 3270/4528/313 3271/4529/313 -f 3269/4530/316 3272/4527/316 3267/4531/316 -f 3266/4532/317 3270/4533/317 3268/4534/317 -f 3268/4534/315 3273/4535/315 3269/4530/315 -f 3267/4531/314 3271/4536/314 3266/4537/314 -f 3276/4538/318 3274/4539/318 3277/4540/318 -f 3303/4541/318 3305/4542/318 3302/4543/318 -f 3306/4544/313 3308/4545/313 3309/4546/313 -f 3309/4547/314 3303/4548/314 3302/4549/314 -f 3308/4545/317 3304/4550/317 3303/4551/317 -f 3307/4552/315 3305/4542/315 3304/4553/315 -f 3306/4554/316 3302/4555/316 3305/4542/316 -f 3313/4556/316 3317/4557/316 3314/4558/316 -f 3312/4559/315 3314/4560/315 3315/4561/315 -f 3311/4562/317 3315/4563/317 3316/4564/317 -f 3310/4565/314 3316/4566/314 3317/4557/314 -f 3313/4567/313 3311/4568/313 3310/4569/313 -f 3316/4570/318 3314/4571/318 3317/4557/318 -f 3319/4572/318 3321/4573/318 3318/4574/318 -f 3322/4575/313 3324/4576/313 3325/4577/313 -f 3325/4577/314 3319/4578/314 3318/4579/314 -f 3324/4580/317 3320/4581/317 3319/4582/317 -f 3323/4583/315 3321/4584/315 3320/4581/315 -f 3322/4585/316 3318/4586/316 3321/4587/316 -f 3329/4588/316 3333/4589/316 3330/4590/316 -f 3328/4591/315 3330/4592/315 3331/4593/315 -f 3327/4594/317 3331/4595/317 3332/4596/317 -f 3326/4597/314 3332/4596/314 3333/4598/314 -f 3329/4588/313 3327/4599/313 3326/4600/313 -f 3332/4596/318 3330/4601/318 3333/4602/318 -f 3334/4603/313 3336/4604/313 3337/4605/313 -f 3337/4606/314 3276/4538/314 3277/4607/314 -f 3336/4608/317 3275/4609/317 3276/4538/317 -f 3335/4610/315 3274/4611/315 3275/4612/315 -f 3334/4603/316 3277/4613/316 3274/4614/316 -f 3341/4615/316 3345/4616/316 3342/4617/316 -f 3340/4618/315 3342/4619/315 3343/4620/315 -f 3339/4621/317 3343/4620/317 3344/4622/317 -f 3338/4623/314 3344/4624/314 3345/4625/314 -f 3341/4626/313 3339/4627/313 3338/4623/313 -f 3344/4628/318 3342/4629/318 3345/4630/318 -f 3347/4631/318 3349/4632/318 3346/4633/318 -f 3350/4634/313 3352/4635/313 3353/4636/313 -f 3353/4637/314 3347/4638/314 3346/4633/314 -f 3352/4639/317 3348/4640/317 3347/4641/317 -f 3351/4642/315 3349/4643/315 3348/4644/315 -f 3350/4645/316 3346/4633/316 3349/4646/316 -f 3357/4647/316 3361/4648/316 3358/4649/316 -f 3356/4650/315 3358/4649/315 3359/4651/315 -f 3355/4652/317 3359/4653/317 3360/4654/317 -f 3354/4655/314 3360/4656/314 3361/4657/314 -f 3357/4658/313 3355/4652/313 3354/4659/313 -f 3360/4660/318 3358/4649/318 3361/4661/318 -f 3363/4662/318 3364/4663/318 3362/4664/318 -f 3365/4665/317 3368/4666/317 3364/4663/317 -f 3362/4664/316 3367/4667/316 3363/4662/316 -f 3366/4668/313 3369/4669/313 3367/4667/313 -f 3371/4670/318 3372/4671/318 3370/4672/318 -f 3373/4673/317 3376/4674/317 3372/4671/317 -f 3370/4672/316 3375/4675/316 3371/4670/316 -f 3374/4676/313 3377/4677/313 3375/4678/313 -f 3379/4679/318 3380/4680/318 3378/4681/318 -f 3381/4682/317 3384/4683/317 3380/4684/317 -f 3378/4681/316 3383/4685/316 3379/4679/316 -f 3382/4686/313 3385/4687/313 3383/4685/313 -f 3387/4688/318 3388/4689/318 3386/4690/318 -f 3389/4691/317 3392/4692/317 3388/4689/317 -f 3386/4693/316 3391/4694/316 3387/4695/316 -f 3390/4696/313 3393/4697/313 3391/4694/313 -f 3395/4698/315 3396/4699/315 3394/4700/315 -f 3397/4701/317 3400/4702/317 3396/4699/317 -f 3394/4700/316 3399/4703/316 3395/4698/316 -f 3398/4704/314 3401/4705/314 3399/4703/314 -f 3403/4706/315 3404/4707/315 3402/4708/315 -f 3405/4709/317 3408/4710/317 3404/4707/317 -f 3402/4708/316 3407/4711/316 3403/4706/316 -f 3406/4712/314 3409/4713/314 3407/4714/314 -f 3411/4715/315 3412/4716/315 3410/4717/315 -f 3413/4718/317 3416/4719/317 3412/4720/317 -f 3410/4717/316 3415/4721/316 3411/4715/316 -f 3414/4722/314 3417/4723/314 3415/4721/314 -f 3419/4724/315 3420/4725/315 3418/4726/315 -f 3421/4727/317 3424/4728/317 3420/4725/317 -f 3418/4729/316 3423/4730/316 3419/4731/316 -f 3422/4732/314 3425/4733/314 3423/4730/314 -f 3429/4734/318 3426/4735/318 3427/4736/318 -f 3433/4737/315 3428/4738/315 3429/4734/315 -f 3430/4739/314 3427/4736/314 3426/4735/314 -f 3430/4739/313 3433/4740/313 3431/4741/313 -f 3437/4742/318 3434/4743/318 3435/4744/318 -f 3441/4745/315 3436/4746/315 3437/4747/315 -f 3438/4748/314 3435/4744/314 3434/4743/314 -f 3438/4748/313 3441/4745/313 3439/4749/313 -f 3445/4750/318 3442/4751/318 3443/4752/318 -f 3449/4753/315 3444/4754/315 3445/4750/315 -f 3446/4755/314 3443/4752/314 3442/4751/314 -f 3446/4756/313 3449/4753/313 3447/4757/313 -f 3453/4758/318 3450/4759/318 3451/4760/318 -f 3457/4761/315 3452/4762/315 3453/4758/315 -f 3454/4763/314 3451/4764/314 3450/4765/314 -f 3454/4763/313 3457/4761/313 3455/4766/313 -f 3484/4767/315 3489/4768/315 3485/4769/315 -f 3483/4770/314 3486/4771/314 3482/4772/314 -f 3485/4773/316 3487/4774/316 3483/4775/316 -f 3482/4776/317 3488/4777/317 3484/4778/317 -f 3501/4779/316 3503/4780/316 3499/4781/316 -f 3495/4782/313 3496/4783/313 3494/4784/313 -f 3493/4785/316 3495/4782/316 3491/4786/316 -f 3490/4787/317 3496/4788/317 3492/4789/317 -f 3492/4790/315 3497/4791/315 3493/4792/315 -f 3491/4793/314 3494/4794/314 3490/4795/314 -f 3498/4796/317 3504/4797/317 3500/4798/317 -f 3500/4799/315 3505/4800/315 3501/4801/315 -f 3499/4802/314 3502/4803/314 3498/4804/314 -f 3501/4779/318 3498/4805/318 3500/4806/318 -f 3508/4807/315 3513/4808/315 3509/4809/315 -f 3507/4810/314 3510/4811/314 3506/4812/314 -f 3509/4813/316 3511/4814/316 3507/4815/316 -f 3506/4816/317 3512/4817/317 3508/4818/317 -f 3525/4819/316 3527/4820/316 3523/4821/316 -f 3519/4822/313 3520/4823/313 3518/4824/313 -f 3517/4825/316 3519/4822/316 3515/4826/316 -f 3514/4827/317 3520/4828/317 3516/4829/317 -f 3516/4830/315 3521/4831/315 3517/4832/315 -f 3515/4833/314 3518/4834/314 3514/4835/314 -f 3522/4836/317 3528/4837/317 3524/4838/317 -f 3524/4839/315 3529/4840/315 3525/4841/315 -f 3523/4842/314 3526/4843/314 3522/4844/314 -f 3525/4819/318 3522/4845/318 3524/4846/318 -f 3532/4847/315 3537/4848/315 3533/4849/315 -f 3531/4850/314 3534/4851/314 3530/4852/314 -f 3533/4853/316 3535/4854/316 3531/4855/316 -f 3530/4856/317 3536/4857/317 3532/4858/317 -f 3549/4859/316 3551/4860/316 3547/4861/316 -f 3543/4862/313 3544/4863/313 3542/4864/313 -f 3541/4865/316 3543/4862/316 3539/4866/316 -f 3538/4867/317 3544/4868/317 3540/4869/317 -f 3540/4870/315 3545/4871/315 3541/4872/315 -f 3539/4873/314 3542/4874/314 3538/4875/314 -f 3546/4876/317 3552/4877/317 3548/4878/317 -f 3548/4879/315 3553/4880/315 3549/4881/315 -f 3547/4882/314 3550/4883/314 3546/4884/314 -f 3549/4859/318 3546/4885/318 3548/4886/318 -f 3219/4436/313 3221/4441/313 3220/4437/313 -f 3225/4439/314 3219/4436/314 3218/4438/314 -f 3221/4441/315 3223/4887/315 3222/4442/315 -f 3223/4443/316 3221/4441/316 3219/4436/316 -f 3218/4438/317 3220/4437/317 3222/4445/317 -f 3214/4447/313 3226/4454/313 3227/4448/313 -f 3215/4449/313 3227/4448/313 3229/4450/313 -f 3216/4451/313 3229/4450/313 3228/4452/313 -f 3217/4453/313 3228/4452/313 3226/4454/313 -f 3232/4455/313 3233/4888/313 3230/4456/313 -f 3240/4458/318 3239/4465/318 3237/4459/318 -f 3241/4461/318 3240/4458/318 3235/4460/318 -f 3238/4463/318 3241/4461/318 3234/4462/318 -f 3239/4465/318 3238/4463/318 3236/4464/318 -f 3216/4466/317 3234/4889/317 3235/4467/317 -f 3227/4448/316 3240/4458/316 3241/4461/316 -f 3228/4469/317 3238/4890/317 3239/4470/317 -f 3215/4472/315 3235/4891/315 3237/4473/315 -f 3214/4475/316 3237/4892/316 3236/4476/316 -f 3229/4478/315 3241/4893/315 3238/4479/315 -f 3226/4481/314 3239/4894/314 3240/4482/314 -f 3217/4484/314 3236/4895/314 3234/4485/314 -f 3244/4487/315 3248/4896/315 3249/4488/315 -f 3243/4490/314 3247/4897/314 3246/4491/314 -f 3245/4493/316 3249/4898/316 3247/4494/316 -f 3242/4496/317 3246/4899/317 3248/4497/317 -f 3261/4499/316 3265/4900/316 3263/4500/316 -f 3255/4502/313 3257/4901/313 3256/4503/313 -f 3253/4505/316 3257/4901/316 3255/4502/316 -f 3250/4507/317 3254/4902/317 3256/4508/317 -f 3252/4510/315 3256/4903/315 3257/4511/315 -f 3251/4513/314 3255/4904/314 3254/4514/314 -f 3258/4516/317 3262/4905/317 3264/4517/317 -f 3260/4519/315 3264/4906/315 3265/4520/315 -f 3259/4522/314 3263/4907/314 3262/4523/314 -f 3261/4499/318 3259/4501/318 3258/4525/318 -f 3272/4527/313 3273/4535/313 3270/4528/313 -f 3269/4530/316 3273/4535/316 3272/4527/316 -f 3266/4532/317 3271/4908/317 3270/4533/317 -f 3268/4534/315 3270/4533/315 3273/4535/315 -f 3267/4531/314 3272/4527/314 3271/4536/314 -f 3276/4538/318 3275/4909/318 3274/4539/318 -f 3303/4541/318 3304/4910/318 3305/4542/318 -f 3306/4544/313 3307/4911/313 3308/4545/313 -f 3309/4547/314 3308/4545/314 3303/4548/314 -f 3308/4545/317 3307/4912/317 3304/4550/317 -f 3307/4552/315 3306/4913/315 3305/4542/315 -f 3306/4554/316 3309/4914/316 3302/4555/316 -f 3313/4556/316 3310/4915/316 3317/4557/316 -f 3312/4559/315 3313/4916/315 3314/4560/315 -f 3311/4562/317 3312/4559/317 3315/4563/317 -f 3310/4565/314 3311/4917/314 3316/4566/314 -f 3313/4567/313 3312/4559/313 3311/4568/313 -f 3316/4570/318 3315/4918/318 3314/4571/318 -f 3319/4572/318 3320/4581/318 3321/4573/318 -f 3322/4575/313 3323/4919/313 3324/4576/313 -f 3325/4577/314 3324/4920/314 3319/4578/314 -f 3324/4580/317 3323/4921/317 3320/4581/317 -f 3323/4583/315 3322/4922/315 3321/4584/315 -f 3322/4585/316 3325/4577/316 3318/4586/316 -f 3329/4588/316 3326/4923/316 3333/4589/316 -f 3328/4591/315 3329/4588/315 3330/4592/315 -f 3327/4594/317 3328/4924/317 3331/4595/317 -f 3326/4597/314 3327/4925/314 3332/4596/314 -f 3329/4588/313 3328/4926/313 3327/4599/313 -f 3332/4596/318 3331/4927/318 3330/4601/318 -f 3334/4603/313 3335/4928/313 3336/4604/313 -f 3337/4606/314 3336/4929/314 3276/4538/314 -f 3336/4608/317 3335/4930/317 3275/4609/317 -f 3335/4610/315 3334/4603/315 3274/4611/315 -f 3334/4603/316 3337/4931/316 3277/4613/316 -f 3341/4615/316 3338/4623/316 3345/4616/316 -f 3340/4618/315 3341/4932/315 3342/4619/315 -f 3339/4621/317 3340/4933/317 3343/4620/317 -f 3338/4623/314 3339/4934/314 3344/4624/314 -f 3341/4626/313 3340/4935/313 3339/4627/313 -f 3344/4628/318 3343/4620/318 3342/4629/318 -f 3347/4631/318 3348/4936/318 3349/4632/318 -f 3350/4634/313 3351/4642/313 3352/4635/313 -f 3353/4637/314 3352/4937/314 3347/4638/314 -f 3352/4639/317 3351/4642/317 3348/4640/317 -f 3351/4642/315 3350/4938/315 3349/4643/315 -f 3350/4645/316 3353/4939/316 3346/4633/316 -f 3357/4647/316 3354/4940/316 3361/4648/316 -f 3356/4650/315 3357/4941/315 3358/4649/315 -f 3355/4652/317 3356/4942/317 3359/4653/317 -f 3354/4655/314 3355/4652/314 3360/4656/314 -f 3357/4658/313 3356/4943/313 3355/4652/313 -f 3360/4660/318 3359/4944/318 3358/4649/318 -f 3363/4662/318 3365/4665/318 3364/4663/318 -f 3365/4665/317 3369/4945/317 3368/4666/317 -f 3362/4664/316 3366/4668/316 3367/4667/316 -f 3366/4668/313 3368/4946/313 3369/4669/313 -f 3371/4670/318 3373/4673/318 3372/4671/318 -f 3373/4673/317 3377/4677/317 3376/4674/317 -f 3370/4672/316 3374/4947/316 3375/4675/316 -f 3374/4676/313 3376/4674/313 3377/4677/313 -f 3379/4679/318 3381/4948/318 3380/4680/318 -f 3381/4682/317 3385/4687/317 3384/4683/317 -f 3378/4681/316 3382/4686/316 3383/4685/316 -f 3382/4686/313 3384/4683/313 3385/4687/313 -f 3387/4688/318 3389/4691/318 3388/4689/318 -f 3389/4691/317 3393/4697/317 3392/4692/317 -f 3386/4693/316 3390/4696/316 3391/4694/316 -f 3390/4696/313 3392/4692/313 3393/4697/313 -f 3395/4698/315 3397/4701/315 3396/4699/315 -f 3397/4701/317 3401/4949/317 3400/4702/317 -f 3394/4700/316 3398/4704/316 3399/4703/316 -f 3398/4704/314 3400/4950/314 3401/4705/314 -f 3403/4706/315 3405/4709/315 3404/4707/315 -f 3405/4709/317 3409/4713/317 3408/4710/317 -f 3402/4708/316 3406/4951/316 3407/4711/316 -f 3406/4712/314 3408/4710/314 3409/4713/314 -f 3411/4715/315 3413/4952/315 3412/4716/315 -f 3413/4718/317 3417/4723/317 3416/4719/317 -f 3410/4717/316 3414/4722/316 3415/4721/316 -f 3414/4722/314 3416/4719/314 3417/4723/314 -f 3419/4724/315 3421/4727/315 3420/4725/315 -f 3421/4727/317 3425/4733/317 3424/4728/317 -f 3418/4729/316 3422/4732/316 3423/4730/316 -f 3422/4732/314 3424/4728/314 3425/4733/314 -f 3429/4734/318 3428/4738/318 3426/4735/318 -f 3433/4737/315 3432/4953/315 3428/4738/315 -f 3430/4739/314 3431/4741/314 3427/4736/314 -f 3430/4739/313 3432/4954/313 3433/4740/313 -f 3437/4742/318 3436/4955/318 3434/4743/318 -f 3441/4745/315 3440/4956/315 3436/4746/315 -f 3438/4748/314 3439/4749/314 3435/4744/314 -f 3438/4748/313 3440/4956/313 3441/4745/313 -f 3445/4750/318 3444/4754/318 3442/4751/318 -f 3449/4753/315 3448/4957/315 3444/4754/315 -f 3446/4755/314 3447/4958/314 3443/4752/314 -f 3446/4756/313 3448/4957/313 3449/4753/313 -f 3453/4758/318 3452/4762/318 3450/4759/318 -f 3457/4761/315 3456/4959/315 3452/4762/315 -f 3454/4763/314 3455/4766/314 3451/4764/314 -f 3454/4763/313 3456/4959/313 3457/4761/313 -f 3484/4767/315 3488/4960/315 3489/4768/315 -f 3483/4770/314 3487/4961/314 3486/4771/314 -f 3485/4773/316 3489/4962/316 3487/4774/316 -f 3482/4776/317 3486/4963/317 3488/4777/317 -f 3501/4779/316 3505/4964/316 3503/4780/316 -f 3495/4782/313 3497/4965/313 3496/4783/313 -f 3493/4785/316 3497/4965/316 3495/4782/316 -f 3490/4787/317 3494/4966/317 3496/4788/317 -f 3492/4790/315 3496/4967/315 3497/4791/315 -f 3491/4793/314 3495/4968/314 3494/4794/314 -f 3498/4796/317 3502/4969/317 3504/4797/317 -f 3500/4799/315 3504/4970/315 3505/4800/315 -f 3499/4802/314 3503/4971/314 3502/4803/314 -f 3501/4779/318 3499/4781/318 3498/4805/318 -f 3508/4807/315 3512/4972/315 3513/4808/315 -f 3507/4810/314 3511/4973/314 3510/4811/314 -f 3509/4813/316 3513/4974/316 3511/4814/316 -f 3506/4816/317 3510/4975/317 3512/4817/317 -f 3525/4819/316 3529/4976/316 3527/4820/316 -f 3519/4822/313 3521/4977/313 3520/4823/313 -f 3517/4825/316 3521/4977/316 3519/4822/316 -f 3514/4827/317 3518/4978/317 3520/4828/317 -f 3516/4830/315 3520/4979/315 3521/4831/315 -f 3515/4833/314 3519/4980/314 3518/4834/314 -f 3522/4836/317 3526/4981/317 3528/4837/317 -f 3524/4839/315 3528/4982/315 3529/4840/315 -f 3523/4842/314 3527/4983/314 3526/4843/314 -f 3525/4819/318 3523/4821/318 3522/4845/318 -f 3532/4847/315 3536/4984/315 3537/4848/315 -f 3531/4850/314 3535/4985/314 3534/4851/314 -f 3533/4853/316 3537/4986/316 3535/4854/316 -f 3530/4856/317 3534/4987/317 3536/4857/317 -f 3549/4859/316 3553/4988/316 3551/4860/316 -f 3543/4862/313 3545/4989/313 3544/4863/313 -f 3541/4865/316 3545/4989/316 3543/4862/316 -f 3538/4867/317 3542/4990/317 3544/4868/317 -f 3540/4870/315 3544/4991/315 3545/4871/315 -f 3539/4873/314 3543/4992/314 3542/4874/314 -f 3546/4876/317 3550/4993/317 3552/4877/317 -f 3548/4879/315 3552/4994/315 3553/4880/315 -f 3547/4882/314 3551/4995/314 3550/4883/314 -f 3549/4859/318 3547/4861/318 3546/4885/318 -s 1 -f 3279/4996/319 3280/4997/320 3278/4998/321 -f 3281/4999/322 3282/5000/323 3280/4997/320 -f 3283/5001/324 3284/5002/325 3282/5000/323 -f 3285/5003/326 3286/5004/327 3284/5005/325 -f 3287/5006/328 3288/5007/329 3286/5004/327 -f 3289/5008/330 3290/5009/331 3288/5007/329 -f 3291/5010/332 3292/5011/333 3290/5009/331 -f 3293/5012/334 3294/5013/335 3292/5011/333 -f 3295/5014/336 3296/5015/337 3294/5013/335 -f 3297/5016/338 3298/5017/339 3296/5015/337 -f 3293/5012/334 3466/5018/340 3295/5014/336 -f 3299/5019/341 3300/5020/342 3298/5017/339 -f 3301/5021/343 3278/4998/321 3300/5020/342 -f 3288/5007/329 3476/5022/344 3475/5023/345 -f 3462/5024/346 3460/5025/347 3468/5026/348 -f 3293/5012/334 3464/5027/349 3465/5028/350 -f 3289/5008/330 3464/5029/349 3291/5010/332 -f 3287/5006/328 3463/5030/351 3289/5008/330 -f 3285/5003/326 3462/5031/346 3287/5006/328 -f 3279/4996/319 3469/5032/352 3459/5033/353 -f 3279/4996/319 3458/5034/354 3281/4999/322 -f 3285/5035/326 3460/5036/347 3461/5037/355 -f 3301/5021/343 3468/5038/348 3469/5039/352 -f 3283/5001/324 3458/5040/354 3460/5041/347 -f 3299/5019/341 3467/5042/356 3468/5043/348 -f 3295/5014/336 3467/5044/356 3297/5016/338 -f 3473/5045/357 3477/5046/358 3481/5047/359 -f 3288/5007/329 3474/5048/360 3286/5004/327 -f 3284/5005/325 3474/5049/360 3473/5050/357 -f 3300/5020/342 3470/5051/361 3481/5052/359 -f 3278/4998/321 3471/5053/362 3470/5054/361 -f 3284/5002/325 3472/5055/363 3282/5000/323 -f 3300/5020/342 3480/5056/364 3298/5017/339 -f 3282/5000/323 3471/5057/362 3280/4997/320 -f 3298/5017/339 3479/5058/365 3296/5015/337 -f 3294/5013/335 3479/5059/365 3478/5060/366 -f 3294/5013/335 3477/5061/358 3292/5011/333 -f 3292/5011/333 3476/5062/344 3290/5009/331 -f 3279/4996/319 3281/4999/322 3280/4997/320 -f 3281/4999/322 3283/5001/324 3282/5000/323 -f 3283/5001/324 3285/5035/326 3284/5002/325 -f 3285/5003/326 3287/5006/328 3286/5004/327 -f 3287/5006/328 3289/5008/330 3288/5007/329 -f 3289/5008/330 3291/5010/332 3290/5009/331 -f 3291/5010/332 3293/5012/334 3292/5011/333 -f 3293/5012/334 3295/5014/336 3294/5013/335 -f 3295/5014/336 3297/5016/338 3296/5015/337 -f 3297/5016/338 3299/5019/341 3298/5017/339 -f 3293/5012/334 3465/5063/350 3466/5018/340 -f 3299/5019/341 3301/5021/343 3300/5020/342 -f 3301/5021/343 3279/4996/319 3278/4998/321 -f 3288/5007/329 3290/5009/331 3476/5022/344 -f 3460/5025/347 3458/5064/354 3459/5065/353 -f 3459/5065/353 3469/5066/352 3460/5025/347 -f 3469/5066/352 3468/5026/348 3460/5025/347 -f 3468/5026/348 3467/5067/356 3466/5068/340 -f 3466/5068/340 3465/5069/350 3468/5026/348 -f 3465/5069/350 3464/5070/349 3468/5026/348 -f 3464/5070/349 3463/5071/351 3462/5024/346 -f 3462/5024/346 3461/5072/355 3460/5025/347 -f 3464/5070/349 3462/5024/346 3468/5026/348 -f 3293/5012/334 3291/5010/332 3464/5027/349 -f 3289/5008/330 3463/5073/351 3464/5029/349 -f 3287/5006/328 3462/5074/346 3463/5030/351 -f 3285/5003/326 3461/5075/355 3462/5031/346 -f 3279/4996/319 3301/5021/343 3469/5032/352 -f 3279/4996/319 3459/5076/353 3458/5034/354 -f 3285/5035/326 3283/5001/324 3460/5036/347 -f 3301/5021/343 3299/5019/341 3468/5038/348 -f 3283/5001/324 3281/4999/322 3458/5040/354 -f 3299/5019/341 3297/5016/338 3467/5042/356 -f 3295/5014/336 3466/5077/340 3467/5044/356 -f 3481/5047/359 3470/5078/361 3471/5079/362 -f 3471/5079/362 3472/5080/363 3481/5047/359 -f 3472/5080/363 3473/5045/357 3481/5047/359 -f 3473/5045/357 3474/5081/360 3475/5082/345 -f 3475/5082/345 3476/5083/344 3477/5046/358 -f 3477/5046/358 3478/5084/366 3479/5085/365 -f 3479/5085/365 3480/5086/364 3477/5046/358 -f 3480/5086/364 3481/5047/359 3477/5046/358 -f 3473/5045/357 3475/5082/345 3477/5046/358 -f 3288/5007/329 3475/5087/345 3474/5048/360 -f 3284/5005/325 3286/5004/327 3474/5049/360 -f 3300/5020/342 3278/4998/321 3470/5051/361 -f 3278/4998/321 3280/4997/320 3471/5053/362 -f 3284/5002/325 3473/5088/357 3472/5055/363 -f 3300/5020/342 3481/5089/359 3480/5056/364 -f 3282/5000/323 3472/5090/363 3471/5057/362 -f 3298/5017/339 3480/5091/364 3479/5058/365 -f 3294/5013/335 3296/5015/337 3479/5059/365 -f 3294/5013/335 3478/5092/366 3477/5061/358 -f 3292/5011/333 3477/5093/358 3476/5062/344 -o V2_Rope -v 0.000000 9.000000 1.750000 -v 0.000000 8.875000 1.750000 -v 0.000000 9.000000 0.000000 -v 0.000000 8.875000 0.000000 -v 0.000000 8.875000 1.375000 -v 0.000000 8.750000 1.375000 -v 0.000000 8.875000 0.375000 -v 0.000000 8.750000 0.375000 -v 0.312500 2.062500 1.937500 -v 0.268306 2.062500 1.955806 -v 0.250000 2.062500 2.000000 -v 0.268306 2.062500 2.044194 -v 0.312500 2.062500 2.062500 -v 0.356694 2.062500 2.044194 -v 0.375000 2.062500 2.000000 -v 0.356694 2.062500 1.955806 -v 0.330806 2.018306 1.937500 -v 0.299556 1.987056 1.955806 -v 0.286612 1.974112 2.000000 -v 0.299556 1.987056 2.044194 -v 0.330806 2.018306 2.062500 -v 0.362056 2.049556 2.044194 -v 0.362056 2.049556 1.955806 -v 0.375000 2.000000 1.937500 -v 0.375000 1.955806 1.955806 -v 0.375000 1.937500 2.000000 -v 0.375000 1.955806 2.044194 -v 0.375000 2.000000 2.062500 -v 0.375000 2.044194 2.044194 -v 0.375000 2.044194 1.955806 -v 0.500000 2.062500 2.000000 -v 0.500000 2.000000 1.937500 -v 0.500000 1.955806 1.955806 -v 0.500000 1.937500 2.000000 -v 0.500000 1.955806 2.044194 -v 0.500000 2.000000 2.062500 -v 0.500000 2.044194 2.044194 -v 0.500000 2.044194 1.955806 -v 0.312500 5.312500 1.937500 -v 0.268306 5.312500 1.955806 -v 0.250000 5.312500 2.000000 -v 0.268306 5.312500 2.044194 -v 0.312500 5.312500 2.062500 -v 0.356694 5.312500 2.044194 -v 0.375000 5.312500 2.000000 -v 0.356694 5.312500 1.955806 -v 0.312500 4.625000 2.000000 -v 0.268306 4.606694 2.000000 -v 0.250000 4.562500 2.000000 -v 0.268306 4.518306 2.000000 -v 0.312500 4.500000 2.000000 -v 0.356694 4.518306 2.000000 -v 0.375000 4.562500 2.000000 -v 0.356694 4.606694 2.000000 -v 0.312500 4.625000 0.250000 -v 0.268306 4.606694 0.250000 -v 0.250000 4.562500 0.250000 -v 0.268306 4.518306 0.250000 -v 0.312500 4.500000 0.250000 -v 0.356694 4.518306 0.250000 -v 0.375000 4.562500 0.250000 -v 0.356694 4.606694 0.250000 -v 0.268306 5.325444 1.950444 -v 0.250000 5.356694 1.981694 -v 0.268306 5.387944 2.012944 -v 0.312500 5.400888 2.025888 -v 0.356694 5.387944 2.012944 -v 0.375000 5.356694 1.981694 -v 0.356694 5.325444 1.950444 -v 0.268306 5.330806 1.937500 -v 0.250000 5.375000 1.937500 -v 0.268306 5.419194 1.937500 -v 0.312500 5.437500 1.937500 -v 0.356694 5.419194 1.937500 -v 0.375000 5.375000 1.937500 -v 0.356694 5.330806 1.937500 -v 0.312500 5.312500 0.187500 -v 0.268306 5.330806 0.187500 -v 0.250000 5.375000 0.187500 -v 0.268306 5.419194 0.187500 -v 0.312500 5.437500 0.187500 -v 0.356694 5.419194 0.187500 -v 0.375000 5.375000 0.187500 -v 0.356694 5.330806 0.187500 -v 0.000000 9.000000 1.750000 -v 0.000000 8.875000 1.750000 -v 0.000000 9.000000 0.000000 -v 0.000000 8.875000 0.000000 -v 0.000000 8.875000 1.375000 -v 0.000000 8.750000 1.375000 -v 0.000000 8.875000 0.375000 -v 0.000000 8.750000 0.375000 -vt 0.408163 0.631579 -vt 0.438776 0.644737 -vt 0.408163 0.644737 -vt 0.520408 0.644737 -vt 0.551020 0.631579 -vt 0.551020 0.644737 -vt 0.438776 0.631579 -vt 0.408163 0.631579 -vt 0.438776 0.644737 -vt 0.438776 0.631579 -vt 0.551020 0.631579 -vt 0.520408 0.644737 -vt 0.551020 0.644737 -vt 0.520408 0.631579 -vt 0.408163 0.644737 -vt 0.520408 0.631579 -vt 0.816327 0.342105 -vt 0.821429 0.335526 -vt 0.821429 0.342105 -vt 0.806122 0.342105 -vt 0.811224 0.335526 -vt 0.811224 0.342105 -vt 0.795918 0.342105 -vt 0.801020 0.335526 -vt 0.801020 0.342105 -vt 0.836735 0.342105 -vt 0.831633 0.335526 -vt 0.836735 0.335526 -vt 0.816327 0.335526 -vt 0.806122 0.335526 -vt 0.836735 0.328947 -vt 0.816327 0.328947 -vt 0.801020 0.328947 -vt 0.806122 0.328947 -vt 0.821429 0.328947 -vt 0.811224 0.328947 -vt 0.795918 0.328947 -vt 0.826531 0.335526 -vt 0.831633 0.342105 -vt 0.831633 0.328947 -vt 0.826531 0.315789 -vt 0.831633 0.315789 -vt 0.836735 0.315789 -vt 0.826531 0.328947 -vt 0.816327 0.315789 -vt 0.801020 0.315789 -vt 0.806122 0.315789 -vt 0.821429 0.315789 -vt 0.811224 0.315789 -vt 0.826531 0.684211 -vt 0.826531 0.342105 -vt 0.816327 0.684211 -vt 0.806122 0.684211 -vt 0.795918 0.684211 -vt 0.831633 0.684211 -vt 0.821429 0.684211 -vt 0.811224 0.684211 -vt 0.801020 0.684211 -vt 0.806122 0.828947 -vt 0.801020 0.697368 -vt 0.806122 0.697368 -vt 0.816327 0.828947 -vt 0.811224 0.697368 -vt 0.816327 0.697368 -vt 0.821429 0.828947 -vt 0.821429 0.697368 -vt 0.831633 0.828947 -vt 0.826531 0.697368 -vt 0.831633 0.697368 -vt 0.801020 0.828947 -vt 0.795918 0.697368 -vt 0.811224 0.828947 -vt 0.826531 0.828947 -vt 0.836735 0.828947 -vt 0.836735 0.697368 -vt 0.821429 0.690789 -vt 0.811224 0.690789 -vt 0.801020 0.690789 -vt 0.831633 0.690789 -vt 0.826531 0.690789 -vt 0.816327 0.690789 -vt 0.806122 0.690789 -vt 0.806122 0.697368 -vt 0.801020 0.697368 -vt 0.826531 0.697368 -vt 0.816327 0.697368 -vt 0.811224 0.697368 -vt 0.821429 0.697368 -vt 0.795918 0.690789 -vt 0.836735 0.690789 -vt 0.831633 0.697368 -vt 0.836735 0.828947 -vt 0.831633 0.828947 -vt 0.826531 0.828947 -vt 0.795918 0.828947 -vt 0.795918 0.697368 -vt 0.816327 0.828947 -vt 0.806122 0.828947 -vt 0.821429 0.828947 -vt 0.811224 0.828947 -vt 0.801020 0.828947 -vt 0.795918 0.335526 -vt 0.795918 0.315789 -vt 0.836735 0.684211 -vt 0.795918 0.828947 -vt 0.836735 0.697368 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn -0.0473 -0.0196 0.9987 -vn 0.4617 0.4617 0.7573 -vn 0.6737 0.1363 0.7263 -vn -0.9824 -0.1866 0.0000 -vn -0.5293 -0.5293 0.6630 -vn -0.7194 -0.1447 0.6794 -vn -0.0473 -0.0196 -0.9987 -vn -0.5293 -0.5293 -0.6630 -vn -0.7194 -0.1447 -0.6794 -vn 0.4617 0.4617 -0.7573 -vn -0.0670 -0.0670 -0.9955 -vn -0.0670 -0.0670 0.9955 -vn -0.7071 -0.7071 0.0000 -vn -0.0196 -0.0473 -0.9987 -vn -0.0196 -0.0473 0.9987 -vn -0.1447 -0.7194 -0.6794 -vn -0.1866 -0.9824 0.0000 -vn 0.1363 0.6737 0.7263 -vn -0.1447 -0.7194 0.6794 -vn 0.7071 0.7071 0.0000 -vn 0.6737 0.1363 -0.7263 -vn 0.1363 0.6737 -0.7263 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.7071 0.7071 -vn 0.0000 -0.7071 0.7071 -vn 0.9987 0.0196 0.0473 -vn 0.0000 0.1866 0.9824 -vn -0.9987 0.0196 0.0473 -vn 0.7263 -0.1363 -0.6737 -vn 0.6794 0.1447 0.7194 -vn -0.6794 0.1447 0.7194 -vn -0.7263 -0.1363 -0.6737 -vn -0.7071 0.7071 0.0000 -vn 0.7071 -0.7071 0.0000 -vn 0.6630 0.5293 0.5293 -vn -0.6630 0.5293 0.5293 -vn -0.7573 -0.4617 -0.4617 -vn 0.7573 -0.4617 -0.4617 -vn 0.9955 0.0670 0.0670 -vn -0.9955 0.0670 0.0670 -vn -0.9987 0.0473 0.0196 -vn -0.7263 -0.6737 -0.1363 -vn 0.9987 0.0473 0.0196 -vn 0.0000 0.9824 0.1866 -vn -0.6794 0.7194 0.1447 -vn 0.6794 0.7194 0.1447 -vn 0.7263 -0.6737 -0.1363 -s off -f 3555/5094/367 3558/5095/367 3554/5096/367 -f 3560/5097/367 3557/5098/367 3556/5099/367 -f 3559/5100/367 3560/5097/367 3558/5095/367 -f 3639/5101/368 3642/5102/368 3643/5103/368 -f 3641/5104/368 3644/5105/368 3640/5106/368 -f 3644/5105/368 3643/5103/368 3642/5102/368 -f 3555/5094/367 3559/5100/367 3558/5095/367 -f 3560/5097/367 3561/5107/367 3557/5098/367 -f 3559/5100/367 3561/5107/367 3560/5097/367 -f 3639/5101/368 3638/5108/368 3642/5102/368 -f 3641/5104/368 3645/5109/368 3644/5105/368 -f 3644/5105/368 3645/5109/368 3643/5103/368 -s 1 -f 3566/5110/369 3575/5111/370 3567/5112/371 -f 3564/5113/372 3573/5114/373 3565/5115/374 -f 3562/5116/375 3571/5117/376 3563/5118/377 -f 3562/5119/375 3576/5120/378 3570/5121/379 -f 3566/5110/369 3573/5114/373 3574/5122/380 -f 3563/5118/377 3572/5123/381 3564/5113/372 -f 3576/5120/378 3577/5124/382 3570/5121/379 -f 3573/5114/373 3581/5125/383 3574/5122/380 -f 3572/5123/381 3578/5126/384 3579/5127/385 -f 3575/5111/370 3581/5125/383 3582/5128/386 -f 3572/5123/381 3580/5129/387 3573/5114/373 -f 3571/5117/376 3577/5130/382 3578/5126/384 -f 3567/5112/371 3575/5111/370 3568/5131/388 -f 3575/5111/370 3582/5128/386 3568/5131/388 -f 3568/5131/388 3576/5120/378 3569/5132/389 -f 3576/5120/378 3568/5131/388 3583/5133/390 -f 3583/5133/390 3584/5134/391 3591/5135/392 -f 3583/5133/390 3585/5136/393 3577/5124/382 -f 3582/5128/386 3584/5134/391 3568/5137/388 -f 3580/5129/387 3589/5138/394 3581/5125/383 -f 3579/5127/385 3586/5139/395 3587/5140/396 -f 3581/5125/383 3590/5141/397 3582/5128/386 -f 3579/5127/385 3588/5142/398 3580/5129/387 -f 3577/5130/382 3586/5139/395 3578/5126/384 -f 3569/5132/389 3598/5143/399 3568/5144/388 -f 3567/5112/371 3596/5145/400 3566/5110/369 -f 3565/5115/374 3594/5146/401 3564/5113/372 -f 3563/5118/377 3592/5147/395 3562/5116/375 -f 3562/5119/375 3599/5148/402 3569/5132/389 -f 3568/5144/388 3597/5149/403 3567/5112/371 -f 3566/5110/369 3595/5150/404 3565/5115/374 -f 3564/5113/372 3593/5151/405 3563/5118/377 -f 3610/5152/368 3603/5153/381 3602/5154/368 -f 3608/5155/391 3601/5156/406 3600/5157/391 -f 3615/5158/388 3600/5157/391 3607/5159/388 -f 3613/5160/407 3606/5161/367 3605/5162/407 -f 3611/5163/381 3604/5164/396 3603/5153/381 -f 3609/5165/406 3602/5154/368 3601/5156/406 -f 3614/5166/367 3607/5159/388 3606/5161/367 -f 3612/5167/396 3605/5162/407 3604/5168/396 -f 3598/5143/399 3620/5169/408 3597/5149/403 -f 3596/5145/400 3618/5170/409 3595/5150/404 -f 3594/5146/401 3616/5171/410 3593/5151/405 -f 3598/5143/399 3622/5172/411 3621/5173/412 -f 3597/5149/403 3619/5174/397 3596/5145/400 -f 3594/5146/401 3618/5170/409 3617/5175/413 -f 3616/5171/410 3624/5176/414 3623/5177/415 -f 3622/5172/411 3628/5178/416 3621/5173/412 -f 3620/5169/408 3626/5179/417 3619/5174/397 -f 3617/5175/413 3625/5180/418 3624/5176/414 -f 3620/5169/408 3628/5178/416 3627/5181/419 -f 3618/5170/409 3626/5179/417 3625/5180/418 -f 3593/5151/405 3616/5171/410 3592/5182/395 -f 3616/5171/410 3623/5177/415 3592/5182/395 -f 3599/5148/402 3592/5183/395 3622/5172/411 -f 3622/5172/411 3592/5183/395 3629/5184/420 -f 3629/5184/420 3630/5185/396 3637/5186/407 -f 3629/5184/420 3636/5187/367 3628/5178/416 -f 3623/5177/415 3630/5188/396 3592/5189/395 -f 3627/5181/419 3634/5190/391 3626/5179/417 -f 3625/5180/418 3632/5191/368 3624/5176/414 -f 3628/5178/416 3635/5192/388 3627/5181/419 -f 3626/5179/417 3633/5193/406 3625/5180/418 -f 3623/5177/415 3632/5191/368 3631/5194/381 -f 3566/5110/369 3574/5122/380 3575/5111/370 -f 3564/5113/372 3572/5123/381 3573/5114/373 -f 3562/5116/375 3570/5195/379 3571/5117/376 -f 3562/5119/375 3569/5132/389 3576/5120/378 -f 3566/5110/369 3565/5115/374 3573/5114/373 -f 3563/5118/377 3571/5117/376 3572/5123/381 -f 3576/5120/378 3583/5133/390 3577/5124/382 -f 3573/5114/373 3580/5129/387 3581/5125/383 -f 3572/5123/381 3571/5117/376 3578/5126/384 -f 3575/5111/370 3574/5122/380 3581/5125/383 -f 3572/5123/381 3579/5127/385 3580/5129/387 -f 3571/5117/376 3570/5195/379 3577/5130/382 -f 3583/5133/390 3568/5137/388 3584/5134/391 -f 3583/5133/390 3591/5135/392 3585/5136/393 -f 3582/5128/386 3590/5141/397 3584/5134/391 -f 3580/5129/387 3588/5142/398 3589/5138/394 -f 3579/5127/385 3578/5126/384 3586/5139/395 -f 3581/5125/383 3589/5138/394 3590/5141/397 -f 3579/5127/385 3587/5140/396 3588/5142/398 -f 3577/5130/382 3585/5196/393 3586/5139/395 -f 3569/5132/389 3599/5148/402 3598/5143/399 -f 3567/5112/371 3597/5149/403 3596/5145/400 -f 3565/5115/374 3595/5150/404 3594/5146/401 -f 3563/5118/377 3593/5151/405 3592/5147/395 -f 3562/5119/375 3592/5197/395 3599/5148/402 -f 3568/5144/388 3598/5143/399 3597/5149/403 -f 3566/5110/369 3596/5145/400 3595/5150/404 -f 3564/5113/372 3594/5146/401 3593/5151/405 -f 3610/5152/368 3611/5163/381 3603/5153/381 -f 3608/5155/391 3609/5165/406 3601/5156/406 -f 3615/5158/388 3608/5155/391 3600/5157/391 -f 3613/5160/407 3614/5166/367 3606/5161/367 -f 3611/5163/381 3612/5198/396 3604/5164/396 -f 3609/5165/406 3610/5152/368 3602/5154/368 -f 3614/5166/367 3615/5158/388 3607/5159/388 -f 3612/5167/396 3613/5160/407 3605/5162/407 -f 3598/5143/399 3621/5173/412 3620/5169/408 -f 3596/5145/400 3619/5174/397 3618/5170/409 -f 3594/5146/401 3617/5175/413 3616/5171/410 -f 3598/5143/399 3599/5148/402 3622/5172/411 -f 3597/5149/403 3620/5169/408 3619/5174/397 -f 3594/5146/401 3595/5150/404 3618/5170/409 -f 3616/5171/410 3617/5175/413 3624/5176/414 -f 3622/5172/411 3629/5184/420 3628/5178/416 -f 3620/5169/408 3627/5181/419 3626/5179/417 -f 3617/5175/413 3618/5170/409 3625/5180/418 -f 3620/5169/408 3621/5173/412 3628/5178/416 -f 3618/5170/409 3619/5174/397 3626/5179/417 -f 3629/5184/420 3592/5199/395 3630/5185/396 -f 3629/5184/420 3637/5186/407 3636/5187/367 -f 3623/5177/415 3631/5194/381 3630/5188/396 -f 3627/5181/419 3635/5192/388 3634/5190/391 -f 3625/5180/418 3633/5193/406 3632/5191/368 -f 3628/5178/416 3636/5187/367 3635/5192/388 -f 3626/5179/417 3634/5190/391 3633/5193/406 -f 3623/5177/415 3624/5176/414 3632/5191/368 -o V2_Pivot -v 0.500000 1.250000 -1.625000 -v 0.750000 1.250000 -1.625000 -v 0.500000 1.250000 -1.875000 -v 0.750000 1.250000 -1.875000 -v 0.500000 2.750000 -1.875000 -v 0.500000 2.750000 -1.625000 -v 0.750000 2.750000 -1.625000 -v 0.750000 2.750000 -1.875000 -v -0.750000 1.250000 -1.625000 -v -0.500000 1.250000 -1.625000 -v -0.750000 1.250000 -1.875000 -v -0.500000 1.250000 -1.875000 -v -0.750000 2.750000 -1.875000 -v -0.750000 2.750000 -1.625000 -v -0.500000 2.750000 -1.625000 -v -0.500000 2.750000 -1.875000 -v 0.562500 2.750000 -1.687500 -v 0.687500 2.750000 -1.687500 -v 0.562500 2.750000 -1.812500 -v 0.687500 2.750000 -1.812500 -v 0.562500 3.750000 -1.812500 -v 0.562500 3.750000 -1.687500 -v 0.687500 3.750000 -1.687500 -v 0.687500 3.750000 -1.812500 -v -0.687500 2.750000 -1.687500 -v -0.562500 2.750000 -1.687500 -v -0.687500 2.750000 -1.812500 -v -0.562500 2.750000 -1.812500 -v -0.687500 3.750000 -1.812500 -v -0.687500 3.750000 -1.687500 -v -0.562500 3.750000 -1.687500 -v -0.562500 3.750000 -1.812500 -vt 0.836735 0.184211 -vt 0.857143 0.157895 -vt 0.857143 0.184211 -vt 0.918367 -0.000000 -vt 0.897959 0.157895 -vt 0.897959 -0.000000 -vt 0.877551 -0.000000 -vt 0.857143 -0.000000 -vt 0.836735 0.157895 -vt 0.836735 -0.000000 -vt 0.877551 0.157895 -vt 0.836735 0.184211 -vt 0.857143 0.157895 -vt 0.857143 0.184211 -vt 0.918367 -0.000000 -vt 0.897959 0.157895 -vt 0.897959 -0.000000 -vt 0.877551 -0.000000 -vt 0.857143 -0.000000 -vt 0.836735 0.157895 -vt 0.836735 -0.000000 -vt 0.877551 0.157895 -vt 0.897959 0.157895 -vt 0.887755 0.263158 -vt 0.887755 0.157895 -vt 0.877551 0.157895 -vt 0.867347 0.263158 -vt 0.867347 0.157895 -vt 0.857143 0.263158 -vt 0.857143 0.157895 -vt 0.877551 0.263158 -vt 0.897959 0.157895 -vt 0.887755 0.263158 -vt 0.887755 0.157895 -vt 0.877551 0.157895 -vt 0.867347 0.263158 -vt 0.867347 0.157895 -vt 0.857143 0.263158 -vt 0.857143 0.157895 -vt 0.877551 0.263158 -vt 0.918367 0.157895 -vt 0.918367 0.157895 -vt 0.897959 0.263158 -vt 0.897959 0.263158 -vn 0.0000 1.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -s off -f 3652/5200/421 3650/5201/421 3651/5202/421 -f 3649/5203/422 3652/5204/422 3647/5205/422 -f 3646/5206/423 3650/5201/423 3648/5207/423 -f 3648/5207/424 3653/5208/424 3649/5209/424 -f 3647/5205/425 3651/5210/425 3646/5206/425 -f 3660/5211/421 3658/5212/421 3659/5213/421 -f 3657/5214/422 3660/5215/422 3655/5216/422 -f 3654/5217/423 3658/5212/423 3656/5218/423 -f 3656/5218/424 3661/5219/424 3657/5220/424 -f 3655/5216/425 3659/5221/425 3654/5217/425 -f 3665/5222/422 3668/5223/422 3663/5224/422 -f 3662/5225/423 3666/5226/423 3664/5227/423 -f 3664/5227/424 3669/5228/424 3665/5229/424 -f 3663/5224/425 3667/5230/425 3662/5225/425 -f 3673/5231/422 3676/5232/422 3671/5233/422 -f 3670/5234/423 3674/5235/423 3672/5236/423 -f 3672/5236/424 3677/5237/424 3673/5238/424 -f 3671/5233/425 3675/5239/425 3670/5234/425 -f 3652/5200/421 3653/5208/421 3650/5201/421 -f 3649/5203/422 3653/5240/422 3652/5204/422 -f 3646/5206/423 3651/5210/423 3650/5201/423 -f 3648/5207/424 3650/5201/424 3653/5208/424 -f 3647/5205/425 3652/5204/425 3651/5210/425 -f 3660/5211/421 3661/5219/421 3658/5212/421 -f 3657/5214/422 3661/5241/422 3660/5215/422 -f 3654/5217/423 3659/5221/423 3658/5212/423 -f 3656/5218/424 3658/5212/424 3661/5219/424 -f 3655/5216/425 3660/5215/425 3659/5221/425 -f 3665/5222/422 3669/5242/422 3668/5223/422 -f 3662/5225/423 3667/5230/423 3666/5226/423 -f 3664/5227/424 3666/5226/424 3669/5228/424 -f 3663/5224/425 3668/5223/425 3667/5230/425 -f 3673/5231/422 3677/5243/422 3676/5232/422 -f 3670/5234/423 3675/5239/423 3674/5235/423 -f 3672/5236/424 3674/5235/424 3677/5237/424 -f 3671/5233/425 3676/5232/425 3675/5239/425 -o V2_Erector -v 0.500000 2.750000 -1.875000 -v 0.500000 2.750000 -1.625000 -v 0.750000 2.750000 -1.625000 -v 0.750000 2.750000 -1.875000 -v -0.750000 2.750000 -1.875000 -v -0.750000 2.750000 -1.625000 -v -0.500000 2.750000 -1.625000 -v -0.500000 2.750000 -1.875000 -v 0.500000 7.750000 -1.875000 -v 0.500000 7.750000 -1.625000 -v 0.750000 7.750000 -1.625000 -v 0.750000 7.750000 -1.875000 -v -0.750000 7.750000 -1.875000 -v -0.750000 7.750000 -1.625000 -v -0.500000 7.750000 -1.625000 -v -0.500000 7.750000 -1.875000 -v 0.500000 4.250000 -0.125000 -v 0.500000 4.250000 0.125000 -v 0.750000 4.250000 0.125000 -v 0.750000 4.250000 -0.125000 -v -0.750000 4.250000 -0.125000 -v -0.750000 4.250000 0.125000 -v -0.500000 4.250000 0.125000 -v -0.500000 4.250000 -0.125000 -v 0.500000 7.750000 -0.125000 -v 0.500000 7.750000 0.125000 -v 0.750000 7.750000 0.125000 -v 0.750000 7.750000 -0.125000 -v -0.750000 7.750000 -0.125000 -v -0.750000 7.750000 0.125000 -v -0.500000 7.750000 0.125000 -v -0.500000 7.750000 -0.125000 -v -0.250000 7.250000 -0.625000 -v 0.250000 7.250000 -0.625000 -v -0.250000 7.250000 -0.375000 -v 0.250000 7.250000 -0.375000 -v -0.500000 7.250000 -0.125000 -v -0.750000 7.250000 -0.125000 -v 0.750000 7.250000 -0.125000 -v 0.500000 7.250000 -0.125000 -v 0.500000 5.000000 -0.125000 -v 0.750000 5.000000 -0.125000 -v -0.750000 5.000000 -0.125000 -v -0.500000 5.000000 -0.125000 -v 0.250000 5.000000 -0.375000 -v -0.250000 5.000000 -0.375000 -v 0.250000 5.000000 -0.625000 -v -0.250000 5.000000 -0.625000 -v 0.500000 4.750000 -0.125000 -v 0.750000 4.750000 -0.125000 -v -0.750000 4.750000 -0.125000 -v -0.500000 4.750000 -0.125000 -v 0.250000 4.750000 -0.375000 -v -0.250000 4.750000 -0.375000 -v 0.250000 4.750000 -0.625000 -v -0.250000 4.750000 -0.625000 -v 0.500000 7.625000 -0.125000 -v 0.750000 7.625000 -0.125000 -v 0.500000 7.375000 -0.125000 -v 0.750000 7.375000 -0.125000 -v 0.500000 7.625000 -1.625000 -v 0.750000 7.625000 -1.625000 -v 0.500000 7.375000 -1.625000 -v 0.750000 7.375000 -1.625000 -v -0.750000 7.625000 -0.125000 -v -0.500000 7.625000 -0.125000 -v -0.750000 7.375000 -0.125000 -v -0.500000 7.375000 -0.125000 -v -0.750000 7.625000 -1.625000 -v -0.500000 7.625000 -1.625000 -v -0.750000 7.375000 -1.625000 -v -0.500000 7.375000 -1.625000 -v 0.500000 4.625000 -0.125000 -v 0.750000 4.625000 -0.125000 -v 0.500000 4.375000 -0.125000 -v 0.750000 4.375000 -0.125000 -v 0.500000 4.625000 -1.625000 -v 0.750000 4.625000 -1.625000 -v 0.500000 4.375000 -1.625000 -v 0.750000 4.375000 -1.625000 -v -0.750000 4.625000 -0.125000 -v -0.500000 4.625000 -0.125000 -v -0.750000 4.375000 -0.125000 -v -0.500000 4.375000 -0.125000 -v -0.750000 4.625000 -1.625000 -v -0.500000 4.625000 -1.625000 -v -0.750000 4.375000 -1.625000 -v -0.500000 4.375000 -1.625000 -v 0.500000 6.125000 -0.125000 -v 0.750000 6.125000 -0.125000 -v 0.500000 5.875000 -0.125000 -v 0.750000 5.875000 -0.125000 -v 0.500000 6.125000 -1.625000 -v 0.750000 6.125000 -1.625000 -v 0.500000 5.875000 -1.625000 -v 0.750000 5.875000 -1.625000 -v -0.750000 6.125000 -0.125000 -v -0.500000 6.125000 -0.125000 -v -0.750000 5.875000 -0.125000 -v -0.500000 5.875000 -0.125000 -v -0.750000 6.125000 -1.625000 -v -0.500000 6.125000 -1.625000 -v -0.750000 5.875000 -1.625000 -v -0.500000 5.875000 -1.625000 -v 0.500000 7.375000 -1.812500 -v 0.500000 7.125000 -1.812500 -v -0.500000 7.375000 -1.687500 -v -0.500000 7.125000 -1.687500 -v -0.500000 6.375000 -1.812500 -v -0.500000 6.125000 -1.812500 -v 0.500000 6.375000 -1.687500 -v 0.500000 6.125000 -1.687500 -v 0.500000 5.875000 -1.812500 -v 0.500000 5.625000 -1.812500 -v -0.500000 5.875000 -1.687500 -v -0.500000 5.625000 -1.687500 -v -0.500000 4.875000 -1.812500 -v -0.500000 4.625000 -1.812500 -v 0.500000 4.875000 -1.687500 -v 0.500000 4.625000 -1.687500 -v 0.500000 4.375000 -1.812500 -v 0.500000 4.125000 -1.812500 -v -0.500000 4.375000 -1.687500 -v -0.500000 4.125000 -1.687500 -v -0.500000 3.375000 -1.812500 -v -0.500000 3.125000 -1.812500 -v 0.500000 3.375000 -1.687500 -v 0.500000 3.125000 -1.687500 -v 0.500000 7.000000 -0.125000 -v 0.750000 7.000000 -0.125000 -v -0.750000 7.000000 -0.125000 -v -0.500000 7.000000 -0.125000 -v 0.250000 7.000000 -0.375000 -v -0.250000 7.000000 -0.375000 -v 0.250000 7.000000 -0.625000 -v -0.250000 7.000000 -0.625000 -v 0.500000 7.375000 -1.812500 -v 0.500000 7.125000 -1.812500 -v -0.500000 7.375000 -1.687500 -v -0.500000 7.125000 -1.687500 -v -0.500000 6.375000 -1.812500 -v -0.500000 6.125000 -1.812500 -v 0.500000 6.375000 -1.687500 -v 0.500000 6.125000 -1.687500 -v 0.500000 5.875000 -1.812500 -v 0.500000 5.625000 -1.812500 -v -0.500000 5.875000 -1.687500 -v -0.500000 5.625000 -1.687500 -v -0.500000 4.875000 -1.812500 -v -0.500000 4.625000 -1.812500 -v 0.500000 4.875000 -1.687500 -v 0.500000 4.625000 -1.687500 -v 0.500000 4.375000 -1.812500 -v 0.500000 4.125000 -1.812500 -v -0.500000 4.375000 -1.687500 -v -0.500000 4.125000 -1.687500 -v -0.500000 3.375000 -1.812500 -v -0.500000 3.125000 -1.812500 -v 0.500000 3.375000 -1.687500 -v 0.500000 3.125000 -1.687500 -vt 0.918367 0.421053 -vt 0.938776 0.394737 -vt 0.938776 0.421053 -vt 0.918367 0.421053 -vt 0.938776 0.394737 -vt 0.938776 0.421053 -vt 0.938776 0.026316 -vt 0.918367 -0.000000 -vt 0.938776 -0.000000 -vt 0.938776 0.026316 -vt 0.918367 -0.000000 -vt 0.938776 -0.000000 -vt 0.857143 0.263158 -vt 0.836735 0.236842 -vt 0.857143 0.236842 -vt 0.857143 0.263158 -vt 0.836735 0.236842 -vt 0.857143 0.236842 -vt 0.836735 0.815789 -vt 0.857143 0.789474 -vt 0.857143 0.815789 -vt 0.836735 0.815789 -vt 0.857143 0.789474 -vt 0.857143 0.815789 -vt 0.918367 0.263158 -vt 0.897959 0.789474 -vt 0.897959 0.263158 -vt 0.877551 0.263158 -vt 0.918367 0.263158 -vt 0.897959 0.789474 -vt 0.897959 0.263158 -vt 0.877551 0.263158 -vt 0.836735 0.789474 -vt 0.836735 0.263158 -vt 0.877551 0.789474 -vt 0.836735 0.789474 -vt 0.836735 0.263158 -vt 0.877551 0.789474 -vt 1.000000 0.026316 -vt 0.979592 0.394737 -vt 0.979592 0.026316 -vt 0.959184 0.026316 -vt 1.000000 0.026316 -vt 0.979592 0.394737 -vt 0.979592 0.026316 -vt 0.959184 0.026316 -vt 0.918367 0.394737 -vt 0.918367 0.026316 -vt 0.959184 0.394737 -vt 0.918367 0.394737 -vt 0.918367 0.026316 -vt 0.959184 0.394737 -vt 0.653061 0.763158 -vt 0.632653 0.710526 -vt 0.673469 0.763158 -vt 0.551020 0.763158 -vt 0.591837 0.736842 -vt 0.571429 0.763158 -vt 0.591837 0.710526 -vt 0.632653 0.710526 -vt 0.591837 0.736842 -vt 0.591837 0.710526 -vt 0.551020 0.763158 -vt 0.571429 0.763158 -vt 0.653061 0.763158 -vt 0.673469 0.763158 -vt 0.632653 0.763158 -vt 0.591837 0.789474 -vt 0.591837 0.763158 -vt 0.673469 0.684211 -vt 0.673469 0.710526 -vt 0.571429 0.789474 -vt 0.632653 0.684211 -vt 0.632653 0.789474 -vt 0.551020 0.710526 -vt 0.591149 0.684899 -vt 0.551020 0.631579 -vt 0.591837 0.657895 -vt 0.632653 0.657895 -vt 0.653061 0.631579 -vt 0.918367 0.421053 -vt 0.938776 0.578947 -vt 0.918367 0.578947 -vt 0.979592 0.421053 -vt 1.000000 0.578947 -vt 0.979592 0.578947 -vt 0.959184 0.421053 -vt 0.959184 0.578947 -vt 0.918367 0.421053 -vt 0.938776 0.578947 -vt 0.918367 0.578947 -vt 0.979592 0.421053 -vt 1.000000 0.578947 -vt 0.979592 0.578947 -vt 0.959184 0.421053 -vt 0.959184 0.578947 -vt 0.918367 0.421053 -vt 0.938776 0.578947 -vt 0.918367 0.578947 -vt 0.979592 0.421053 -vt 1.000000 0.578947 -vt 0.979592 0.578947 -vt 0.959184 0.421053 -vt 0.959184 0.578947 -vt 0.918367 0.421053 -vt 0.938776 0.578947 -vt 0.918367 0.578947 -vt 0.979592 0.421053 -vt 1.000000 0.578947 -vt 0.979592 0.578947 -vt 0.959184 0.421053 -vt 0.959184 0.578947 -vt 0.918367 0.421053 -vt 0.938776 0.578947 -vt 0.918367 0.578947 -vt 0.979592 0.421053 -vt 1.000000 0.578947 -vt 0.979592 0.578947 -vt 0.959184 0.421053 -vt 0.959184 0.578947 -vt 0.918367 0.421053 -vt 0.938776 0.578947 -vt 0.918367 0.578947 -vt 0.979592 0.421053 -vt 1.000000 0.578947 -vt 0.979592 0.578947 -vt 0.959184 0.421053 -vt 0.959184 0.578947 -vt 0.918367 0.578947 -vt 1.000000 0.605263 -vt 0.918367 0.605263 -vt 1.000000 0.578947 -vt 0.918367 0.605263 -vt 0.918367 0.578947 -vt 0.918367 0.578947 -vt 1.000000 0.605263 -vt 0.918367 0.605263 -vt 1.000000 0.578947 -vt 0.918367 0.605263 -vt 0.918367 0.578947 -vt 0.918367 0.578947 -vt 1.000000 0.605263 -vt 0.918367 0.605263 -vt 1.000000 0.578947 -vt 0.918367 0.605263 -vt 0.918367 0.578947 -vt 0.632653 0.763158 -vt 0.591837 0.789474 -vt 0.591837 0.763158 -vt 0.673469 0.684211 -vt 0.673469 0.710526 -vt 0.571429 0.789474 -vt 0.632653 0.684211 -vt 0.632653 0.789474 -vt 0.551020 0.710526 -vt 0.591149 0.684899 -vt 0.551020 0.631579 -vt 0.591837 0.657895 -vt 0.632653 0.657895 -vt 0.653061 0.631579 -vt 1.000000 0.605263 -vt 0.918367 0.578947 -vt 0.918367 0.605263 -vt 1.000000 0.578947 -vt 0.918367 0.605263 -vt 1.000000 0.605263 -vt 1.000000 0.605263 -vt 0.918367 0.578947 -vt 0.918367 0.605263 -vt 1.000000 0.578947 -vt 0.918367 0.605263 -vt 1.000000 0.605263 -vt 1.000000 0.605263 -vt 0.918367 0.578947 -vt 0.918367 0.605263 -vt 1.000000 0.578947 -vt 0.918367 0.605263 -vt 1.000000 0.605263 -vt 0.918367 0.789474 -vt 0.918367 0.789474 -vt 1.000000 0.394737 -vt 1.000000 0.394737 -vt 0.632653 0.736842 -vt 0.632653 0.736842 -vt 0.653061 0.789474 -vt 0.551020 0.684211 -vt 0.571429 0.631579 -vt 0.673469 0.631579 -vt 0.938776 0.421053 -vt 1.000000 0.421053 -vt 0.938776 0.421053 -vt 1.000000 0.421053 -vt 0.938776 0.421053 -vt 1.000000 0.421053 -vt 0.938776 0.421053 -vt 1.000000 0.421053 -vt 0.938776 0.421053 -vt 1.000000 0.421053 -vt 0.938776 0.421053 -vt 1.000000 0.421053 -vt 1.000000 0.578947 -vt 1.000000 0.605263 -vt 1.000000 0.578947 -vt 1.000000 0.605263 -vt 1.000000 0.578947 -vt 1.000000 0.605263 -vt 0.653061 0.789474 -vt 0.551020 0.684211 -vt 0.571429 0.631579 -vt 0.673469 0.631579 -vt 1.000000 0.578947 -vt 0.918367 0.578947 -vt 1.000000 0.578947 -vt 0.918367 0.578947 -vt 1.000000 0.578947 -vt 0.918367 0.578947 -vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -vn -0.7071 0.0000 -0.7071 -vn -0.7071 0.0000 0.7071 -vn 0.7071 0.0000 0.7071 -vn 0.7071 0.0000 -0.7071 -s off -f 3708/5244/426 3706/5245/426 3707/5246/426 -f 3704/5247/426 3702/5248/426 3703/5249/426 -f 3698/5250/427 3700/5251/427 3699/5252/427 -f 3694/5253/427 3696/5254/427 3695/5255/427 -f 3678/5256/427 3680/5257/427 3679/5258/427 -f 3682/5259/427 3684/5260/427 3683/5261/427 -f 3688/5262/426 3686/5263/426 3687/5264/426 -f 3692/5265/426 3690/5266/426 3691/5267/426 -f 3685/5268/428 3692/5269/428 3684/5270/428 -f 3683/5271/429 3690/5266/429 3682/5259/429 -f 3681/5272/428 3688/5273/428 3680/5274/428 -f 3679/5275/429 3686/5263/429 3678/5256/429 -f 3682/5259/430 3693/5276/430 3685/5277/430 -f 3684/5270/431 3691/5278/431 3683/5271/431 -f 3678/5256/430 3689/5279/430 3681/5280/430 -f 3680/5274/431 3687/5281/431 3679/5275/431 -f 3701/5282/428 3708/5283/428 3700/5284/428 -f 3699/5285/429 3706/5245/429 3698/5250/429 -f 3697/5286/428 3704/5287/428 3696/5288/428 -f 3695/5289/429 3702/5248/429 3694/5253/429 -f 3698/5250/430 3709/5290/430 3701/5291/430 -f 3700/5284/431 3707/5292/431 3699/5285/431 -f 3694/5253/430 3705/5293/430 3697/5294/430 -f 3696/5288/431 3703/5295/431 3695/5289/431 -f 3714/5296/426 3710/5297/426 3715/5298/426 -f 3716/5299/426 3713/5300/426 3717/5301/426 -f 3710/5297/426 3713/5300/426 3711/5302/426 -f 3725/5303/426 3722/5304/426 3724/5305/426 -f 3719/5306/426 3722/5304/426 3718/5307/426 -f 3721/5308/426 3725/5303/426 3720/5309/426 -f 3723/5310/431 3730/5311/431 3722/5312/431 -f 3725/5303/432 3728/5313/432 3720/5314/432 -f 3722/5312/433 3726/5315/433 3718/5307/433 -f 3724/5305/430 3733/5316/430 3725/5303/430 -f 3721/5308/434 3731/5317/434 3723/5310/434 -f 3719/5318/435 3732/5319/435 3724/5305/435 -f 3727/5320/427 3730/5321/427 3732/5319/427 -f 3733/5316/427 3730/5321/427 3731/5322/427 -f 3729/5323/427 3733/5316/427 3731/5322/427 -f 3741/5324/428 3735/5325/428 3737/5326/428 -f 3740/5327/427 3737/5328/427 3736/5329/427 -f 3738/5330/429 3736/5329/429 3734/5331/429 -f 3735/5325/426 3738/5330/426 3734/5331/426 -f 3749/5332/428 3743/5333/428 3745/5334/428 -f 3748/5335/427 3745/5336/427 3744/5337/427 -f 3746/5338/429 3744/5337/429 3742/5339/429 -f 3743/5333/426 3746/5338/426 3742/5339/426 -f 3757/5340/428 3751/5341/428 3753/5342/428 -f 3756/5343/427 3753/5344/427 3752/5345/427 -f 3754/5346/429 3752/5345/429 3750/5347/429 -f 3751/5341/426 3754/5346/426 3750/5347/426 -f 3765/5348/428 3759/5349/428 3761/5350/428 -f 3764/5351/427 3761/5352/427 3760/5353/427 -f 3762/5354/429 3760/5353/429 3758/5355/429 -f 3759/5349/426 3762/5354/426 3758/5355/426 -f 3773/5356/428 3767/5357/428 3769/5358/428 -f 3772/5359/427 3769/5360/427 3768/5361/427 -f 3770/5362/429 3768/5361/429 3766/5363/429 -f 3767/5357/426 3770/5362/426 3766/5363/426 -f 3781/5364/428 3775/5365/428 3777/5366/428 -f 3780/5367/427 3777/5368/427 3776/5369/427 -f 3778/5370/429 3776/5369/429 3774/5371/429 -f 3775/5365/426 3778/5370/426 3774/5371/426 -f 3783/5372/430 3786/5373/430 3782/5374/430 -f 3785/5375/430 3788/5376/430 3789/5377/430 -f 3791/5378/430 3794/5379/430 3790/5380/430 -f 3793/5381/430 3796/5382/430 3797/5383/430 -f 3799/5384/430 3802/5385/430 3798/5386/430 -f 3801/5387/430 3804/5388/430 3805/5389/430 -f 3712/5390/431 3810/5391/431 3713/5392/431 -f 3710/5297/432 3808/5393/432 3715/5394/432 -f 3713/5392/433 3806/5395/433 3717/5301/433 -f 3711/5302/430 3813/5396/430 3710/5297/430 -f 3714/5296/434 3811/5397/434 3712/5390/434 -f 3716/5398/435 3812/5399/435 3711/5302/435 -f 3807/5400/427 3810/5401/427 3812/5399/427 -f 3813/5396/427 3810/5401/427 3811/5402/427 -f 3809/5403/427 3813/5396/427 3811/5402/427 -f 3818/5404/431 3815/5405/431 3814/5406/431 -f 3817/5407/431 3820/5408/431 3816/5409/431 -f 3826/5410/431 3823/5411/431 3822/5412/431 -f 3825/5413/431 3828/5414/431 3824/5415/431 -f 3834/5416/431 3831/5417/431 3830/5418/431 -f 3833/5419/431 3836/5420/431 3832/5421/431 -f 3708/5244/426 3709/5290/426 3706/5245/426 -f 3704/5247/426 3705/5293/426 3702/5248/426 -f 3698/5250/427 3701/5291/427 3700/5251/427 -f 3694/5253/427 3697/5294/427 3696/5254/427 -f 3678/5256/427 3681/5280/427 3680/5257/427 -f 3682/5259/427 3685/5277/427 3684/5260/427 -f 3688/5262/426 3689/5279/426 3686/5263/426 -f 3692/5265/426 3693/5276/426 3690/5266/426 -f 3685/5268/428 3693/5422/428 3692/5269/428 -f 3683/5271/429 3691/5278/429 3690/5266/429 -f 3681/5272/428 3689/5423/428 3688/5273/428 -f 3679/5275/429 3687/5281/429 3686/5263/429 -f 3682/5259/430 3690/5266/430 3693/5276/430 -f 3684/5270/431 3692/5269/431 3691/5278/431 -f 3678/5256/430 3686/5263/430 3689/5279/430 -f 3680/5274/431 3688/5273/431 3687/5281/431 -f 3701/5282/428 3709/5424/428 3708/5283/428 -f 3699/5285/429 3707/5292/429 3706/5245/429 -f 3697/5286/428 3705/5425/428 3704/5287/428 -f 3695/5289/429 3703/5295/429 3702/5248/429 -f 3698/5250/430 3706/5245/430 3709/5290/430 -f 3700/5284/431 3708/5283/431 3707/5292/431 -f 3694/5253/430 3702/5248/430 3705/5293/430 -f 3696/5288/431 3704/5287/431 3703/5295/431 -f 3714/5296/426 3712/5426/426 3710/5297/426 -f 3716/5299/426 3711/5302/426 3713/5300/426 -f 3710/5297/426 3712/5426/426 3713/5300/426 -f 3725/5303/426 3723/5427/426 3722/5304/426 -f 3719/5306/426 3724/5305/426 3722/5304/426 -f 3721/5308/426 3723/5427/426 3725/5303/426 -f 3723/5310/431 3731/5317/431 3730/5311/431 -f 3725/5303/432 3733/5316/432 3728/5313/432 -f 3722/5312/433 3730/5311/433 3726/5315/433 -f 3724/5305/430 3732/5319/430 3733/5316/430 -f 3721/5308/434 3729/5428/434 3731/5317/434 -f 3719/5318/435 3727/5429/435 3732/5319/435 -f 3727/5320/427 3726/5430/427 3730/5321/427 -f 3733/5316/427 3732/5319/427 3730/5321/427 -f 3729/5323/427 3728/5431/427 3733/5316/427 -f 3741/5324/428 3739/5432/428 3735/5325/428 -f 3740/5327/427 3741/5433/427 3737/5328/427 -f 3738/5330/429 3740/5327/429 3736/5329/429 -f 3735/5325/426 3739/5432/426 3738/5330/426 -f 3749/5332/428 3747/5434/428 3743/5333/428 -f 3748/5335/427 3749/5435/427 3745/5336/427 -f 3746/5338/429 3748/5335/429 3744/5337/429 -f 3743/5333/426 3747/5434/426 3746/5338/426 -f 3757/5340/428 3755/5436/428 3751/5341/428 -f 3756/5343/427 3757/5437/427 3753/5344/427 -f 3754/5346/429 3756/5343/429 3752/5345/429 -f 3751/5341/426 3755/5436/426 3754/5346/426 -f 3765/5348/428 3763/5438/428 3759/5349/428 -f 3764/5351/427 3765/5439/427 3761/5352/427 -f 3762/5354/429 3764/5351/429 3760/5353/429 -f 3759/5349/426 3763/5438/426 3762/5354/426 -f 3773/5356/428 3771/5440/428 3767/5357/428 -f 3772/5359/427 3773/5441/427 3769/5360/427 -f 3770/5362/429 3772/5359/429 3768/5361/429 -f 3767/5357/426 3771/5440/426 3770/5362/426 -f 3781/5364/428 3779/5442/428 3775/5365/428 -f 3780/5367/427 3781/5443/427 3777/5368/427 -f 3778/5370/429 3780/5367/429 3776/5369/429 -f 3775/5365/426 3779/5442/426 3778/5370/426 -f 3783/5372/430 3787/5444/430 3786/5373/430 -f 3785/5375/430 3784/5445/430 3788/5376/430 -f 3791/5378/430 3795/5446/430 3794/5379/430 -f 3793/5381/430 3792/5447/430 3796/5382/430 -f 3799/5384/430 3803/5448/430 3802/5385/430 -f 3801/5387/430 3800/5449/430 3804/5388/430 -f 3712/5390/431 3811/5397/431 3810/5391/431 -f 3710/5297/432 3813/5396/432 3808/5393/432 -f 3713/5392/433 3810/5391/433 3806/5395/433 -f 3711/5302/430 3812/5399/430 3813/5396/430 -f 3714/5296/434 3809/5450/434 3811/5397/434 -f 3716/5398/435 3807/5451/435 3812/5399/435 -f 3807/5400/427 3806/5452/427 3810/5401/427 -f 3813/5396/427 3812/5399/427 3810/5401/427 -f 3809/5403/427 3808/5453/427 3813/5396/427 -f 3818/5404/431 3819/5454/431 3815/5405/431 -f 3817/5407/431 3821/5455/431 3820/5408/431 -f 3826/5410/431 3827/5456/431 3823/5411/431 -f 3825/5413/431 3829/5457/431 3828/5414/431 -f 3834/5416/431 3835/5458/431 3831/5417/431 -f 3833/5419/431 3837/5459/431 3836/5420/431 -o Pad -v -4.500000 0.000000 4.500000 -v 4.500000 0.000000 4.500000 -v -4.500000 0.000000 -4.500000 -v 4.500000 0.000000 -4.500000 -v -4.500000 1.000000 4.500000 -v 4.500000 1.000000 4.500000 -v -4.500000 1.000000 -4.500000 -v 4.500000 1.000000 -4.500000 -v -4.500000 0.000000 0.500000 -v 4.500000 0.000000 0.500000 -v -4.500000 1.000000 0.500000 -v 4.500000 1.000000 0.500000 -v 4.500000 0.000000 -0.500000 -v -4.500000 0.000000 -0.500000 -v 4.500000 1.000000 -0.500000 -v -4.500000 1.000000 -0.500000 -v -4.500000 1.000000 0.500000 -v 4.500000 1.000000 0.500000 -v 4.500000 1.000000 -0.500000 -v -4.500000 1.000000 -0.500000 -v 0.500000 1.000000 0.500000 -v 0.500000 1.000000 -0.500000 -v -0.500000 1.000000 0.500000 -v -0.500000 1.000000 -0.500000 -v 4.500000 0.750000 0.500000 -v 0.500000 0.750000 0.500000 -v 4.500000 1.000000 0.250000 -v 0.500000 1.000000 0.250000 -v 4.500000 1.000000 -0.250000 -v 0.500000 1.000000 -0.250000 -v 4.500000 0.750000 -0.500000 -v 0.500000 0.750000 -0.500000 -v 4.500000 1.000000 0.500000 -v 0.500000 1.000000 0.500000 -v 4.500000 1.000000 -0.500000 -v 0.500000 1.000000 -0.500000 -v -4.500000 1.000000 -0.500000 -v -0.500000 1.000000 -0.500000 -v -4.500000 1.000000 0.500000 -v -0.500000 1.000000 0.500000 -v -4.500000 0.750000 -0.500000 -v -0.500000 0.750000 -0.500000 -v -4.500000 1.000000 -0.250000 -v -0.500000 1.000000 -0.250000 -v -4.500000 1.000000 0.250000 -v -0.500000 1.000000 0.250000 -v -4.500000 0.750000 0.500000 -v -0.500000 0.750000 0.500000 -v -0.500000 0.000000 0.500000 -v 0.500000 0.000000 0.500000 -v -0.500000 0.000000 -0.500000 -v 0.500000 0.000000 -0.500000 -v 0.000000 0.500000 0.500000 -v 0.000000 0.500000 -0.500000 -vt 0.000000 0.473684 -vt 0.400000 0.526316 -vt 0.000000 0.526316 -vt 0.900000 0.526316 -vt 0.000000 0.473684 -vt 0.900000 0.473684 -vt 0.400000 1.000000 -vt 0.000000 1.000000 -vt 0.900000 0.473684 -vt -0.000000 0.526316 -vt -0.000000 0.473684 -vt 0.900000 0.473684 -vt -0.000000 0.526316 -vt -0.000000 0.473684 -vt 0.900000 0.526316 -vt 0.500000 0.473684 -vt 0.900000 0.473684 -vt 0.000000 0.000000 -vt 0.400000 0.473684 -vt 0.900000 0.526316 -vt -0.000000 0.473684 -vt 0.900000 0.473684 -vt 0.900000 0.526316 -vt 0.500000 0.473684 -vt 0.900000 0.473684 -vt 0.000000 0.473684 -vt 0.400000 0.526316 -vt 0.000000 0.526316 -vt 0.900000 1.000000 -vt 0.500000 0.526316 -vt 0.500000 0.000000 -vt 0.900000 0.000000 -vt 0.500000 0.736842 -vt 0.400000 0.526316 -vt 0.500000 0.526316 -vt 0.400000 1.000000 -vt 0.500000 0.789474 -vt 0.500000 1.000000 -vt 0.925000 0.539474 -vt 0.900000 0.750000 -vt 0.900000 0.539474 -vt 0.975000 0.539474 -vt 0.925000 0.750000 -vt 1.000000 0.539474 -vt 0.975000 0.750000 -vt 1.000000 0.763158 -vt 1.000000 0.776316 -vt 0.975000 0.776316 -vt 0.900000 0.763158 -vt 0.925000 0.776316 -vt 0.900000 0.776316 -vt 1.000000 0.763158 -vt 0.975000 0.750000 -vt 1.000000 0.750000 -vt 0.900000 0.763158 -vt 0.900000 0.750000 -vt 0.925000 0.750000 -vt 0.900000 0.526316 -vt 0.925000 0.539474 -vt 0.900000 0.539474 -vt 1.000000 0.526316 -vt 1.000000 0.539474 -vt 0.975000 0.539474 -vt 0.900000 1.000000 -vt 0.900000 0.986842 -vt 0.925000 0.986842 -vt 1.000000 1.000000 -vt 0.975000 0.986842 -vt 1.000000 0.986842 -vt 1.000000 0.776316 -vt 0.975000 0.986842 -vt 0.975000 0.776316 -vt 0.925000 0.986842 -vt 0.925000 0.776316 -vt 0.900000 0.986842 -vt 0.900000 0.776316 -vt 0.900000 0.473684 -vt 1.000000 0.500000 -vt 0.900000 0.500000 -vt 1.000000 0.526316 -vt 0.900000 0.526316 -vt 1.000000 0.473684 -vt 0.900000 0.421053 -vt 1.000000 0.421053 -vt 0.000000 0.526316 -vt 0.900000 0.526316 -vt 0.900000 0.526316 -vt 0.500000 0.526316 -vt 0.400000 0.000000 -vt -0.000000 0.526316 -vt 0.400000 0.473684 -vt 0.500000 1.000000 -vt 0.400000 0.736842 -vt 0.400000 0.789474 -vt 1.000000 0.750000 -vt 1.000000 0.986842 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 -0.7071 0.7071 -vn 0.7071 0.7071 0.0000 -vn -0.7071 0.7071 0.0000 -s off -f 3839/5460/436 3849/5461/436 3843/5462/436 -f 3848/5463/437 3847/5464/437 3846/5465/437 -f 3843/5462/438 3848/5466/438 3842/5467/438 -f 3840/5468/437 3845/5469/437 3841/5470/437 -f 3839/5471/439 3842/5472/439 3838/5473/439 -f 3842/5474/440 3846/5475/440 3838/5476/440 -f 3838/5477/441 3847/5478/441 3839/5460/441 -f 3852/5479/439 3851/5480/439 3850/5481/439 -f 3845/5482/436 3850/5483/436 3841/5484/436 -f 3840/5485/440 3853/5486/440 3844/5487/440 -f 3844/5488/438 3852/5489/438 3845/5482/438 -f 3841/5484/441 3851/5490/441 3840/5491/441 -f 3859/5492/438 3855/5493/438 3856/5494/438 -f 3854/5495/438 3861/5496/438 3857/5497/438 -f 3865/5498/442 3862/5499/442 3863/5500/442 -f 3867/5501/441 3864/5502/441 3865/5498/441 -f 3869/5503/443 3866/5504/443 3867/5501/443 -f 3884/5505/440 3876/5506/440 3882/5507/440 -f 3878/5508/440 3880/5509/440 3874/5510/440 -f 3862/5511/436 3864/5512/436 3870/5513/436 -f 3868/5514/436 3872/5515/436 3866/5516/436 -f 3869/5517/440 3867/5518/440 3873/5519/440 -f 3863/5520/440 3871/5521/440 3865/5522/440 -f 3879/5523/436 3875/5524/436 3881/5525/436 -f 3885/5526/436 3883/5527/436 3877/5528/436 -f 3878/5529/443 3881/5530/443 3880/5531/443 -f 3880/5531/441 3883/5532/441 3882/5533/441 -f 3882/5533/442 3885/5534/442 3884/5535/442 -f 3887/5536/444 3891/5537/444 3890/5538/444 -f 3890/5538/445 3888/5539/445 3886/5540/445 -f 3889/5541/441 3886/5542/441 3888/5543/441 -f 3839/5460/436 3847/5478/436 3849/5461/436 -f 3848/5463/437 3849/5544/437 3847/5464/437 -f 3843/5462/438 3849/5461/438 3848/5466/438 -f 3840/5468/437 3844/5545/437 3845/5469/437 -f 3839/5471/439 3843/5546/439 3842/5472/439 -f 3842/5474/440 3848/5547/440 3846/5475/440 -f 3838/5477/441 3846/5548/441 3847/5478/441 -f 3852/5479/439 3853/5549/439 3851/5480/439 -f 3845/5482/436 3852/5489/436 3850/5483/436 -f 3840/5485/440 3851/5550/440 3853/5486/440 -f 3844/5488/438 3853/5551/438 3852/5489/438 -f 3841/5484/441 3850/5483/441 3851/5490/441 -f 3859/5492/438 3858/5552/438 3855/5493/438 -f 3854/5495/438 3860/5553/438 3861/5496/438 -f 3865/5498/442 3864/5502/442 3862/5499/442 -f 3867/5501/441 3866/5504/441 3864/5502/441 -f 3869/5503/443 3868/5554/443 3866/5504/443 -f 3878/5529/443 3879/5555/443 3881/5530/443 -f 3880/5531/441 3881/5530/441 3883/5532/441 -f 3882/5533/442 3883/5532/442 3885/5534/442 -f 3887/5536/444 3889/5541/444 3891/5537/444 -f 3890/5538/445 3891/5537/445 3888/5539/445 -f 3889/5541/441 3887/5536/441 3886/5542/441 -o Micro_Missile -v 0.324760 3.500000 -0.187500 -v 0.156250 3.500000 -0.270633 -v 0.270633 3.500000 -0.156250 -v 0.187500 3.500000 -0.324759 -v 0.000000 3.500000 -0.312500 -v -0.187500 3.500000 -0.324760 -v 0.000000 3.500000 -0.375000 -v -0.324760 3.500000 -0.187500 -v -0.156250 3.500000 -0.270633 -v -0.375000 3.500000 0.000000 -v -0.270633 3.500000 -0.156250 -v -0.324760 3.500000 0.187500 -v -0.312500 3.500000 0.000000 -v -0.187500 3.500000 0.324760 -v -0.270633 3.500000 0.156250 -v 0.000000 3.500000 0.375000 -v -0.156250 3.500000 0.270633 -v 0.156250 3.500000 0.270633 -v 0.000000 3.500000 0.312500 -v 0.187500 3.500000 0.324760 -v 0.270633 3.500000 0.156250 -v 0.375000 3.500000 0.000000 -v 0.324759 3.500000 0.187500 -v 0.312500 3.500000 0.000000 -v 0.312500 3.750000 0.000000 -v 0.324759 3.750000 0.187500 -v 0.270633 3.750000 0.156250 -v 0.270633 3.750000 -0.156250 -v 0.375000 3.750000 0.000000 -v 0.156250 3.750000 -0.270633 -v 0.324760 3.750000 -0.187500 -v 0.000000 3.750000 -0.312500 -v 0.187500 3.750000 -0.324759 -v -0.156250 3.750000 -0.270633 -v 0.000000 3.750000 -0.375000 -v -0.324760 3.750000 -0.187500 -v -0.187500 3.750000 -0.324760 -v -0.270633 3.750000 -0.156250 -v -0.375000 3.750000 0.000000 -v -0.270633 3.750000 0.156250 -v -0.312500 3.750000 0.000000 -v -0.156250 3.750000 0.270633 -v -0.324760 3.750000 0.187500 -v 0.000000 3.750000 0.375000 -v -0.187500 3.750000 0.324760 -v 0.156250 3.750000 0.270633 -v 0.000000 3.750000 0.312500 -v 0.187500 3.750000 0.324760 -v 0.312500 4.750000 0.000000 -v 0.324759 4.750000 0.187500 -v 0.270633 4.750000 0.156250 -v 0.270633 4.750000 -0.156250 -v 0.375000 4.750000 0.000000 -v 0.156250 4.750000 -0.270633 -v 0.324760 4.750000 -0.187500 -v 0.000000 4.750000 -0.312500 -v 0.187500 4.750000 -0.324759 -v -0.156250 4.750000 -0.270633 -v 0.000000 4.750000 -0.375000 -v -0.324760 4.750000 -0.187500 -v -0.187500 4.750000 -0.324760 -v -0.270633 4.750000 -0.156250 -v -0.375000 4.750000 0.000000 -v -0.270633 4.750000 0.156250 -v -0.312500 4.750000 0.000000 -v -0.156250 4.750000 0.270633 -v -0.324760 4.750000 0.187500 -v 0.000000 4.750000 0.375000 -v -0.187500 4.750000 0.324760 -v 0.156250 4.750000 0.270633 -v 0.000000 4.750000 0.312500 -v 0.187500 4.750000 0.324760 -v 0.312500 5.750000 0.000000 -v 0.324759 5.750000 0.187500 -v 0.270633 5.750000 0.156250 -v 0.270633 5.750000 -0.156250 -v 0.375000 5.750000 0.000000 -v 0.156250 5.750000 -0.270633 -v 0.324760 5.750000 -0.187500 -v 0.000000 5.750000 -0.312500 -v 0.187500 5.750000 -0.324759 -v -0.156250 5.750000 -0.270633 -v 0.000000 5.750000 -0.375000 -v -0.324760 5.750000 -0.187500 -v -0.187500 5.750000 -0.324760 -v -0.270633 5.750000 -0.156250 -v -0.375000 5.750000 0.000000 -v -0.270633 5.750000 0.156250 -v -0.312500 5.750000 0.000000 -v -0.156250 5.750000 0.270633 -v -0.324760 5.750000 0.187500 -v 0.000000 5.750000 0.375000 -v -0.187500 5.750000 0.324760 -v 0.156250 5.750000 0.270633 -v 0.000000 5.750000 0.312500 -v 0.187500 5.750000 0.324760 -v 0.375000 4.500000 0.000000 -v 0.270633 4.500000 0.156250 -v 0.324759 4.500000 0.187500 -v 0.324760 4.500000 -0.187500 -v 0.312500 4.500000 0.000000 -v 0.156250 4.500000 -0.270633 -v 0.270633 4.500000 -0.156250 -v 0.187500 4.500000 -0.324759 -v 0.000000 4.500000 -0.312500 -v -0.187500 4.500000 -0.324760 -v 0.000000 4.500000 -0.375000 -v -0.324760 4.500000 -0.187500 -v -0.156250 4.500000 -0.270633 -v -0.375000 4.500000 0.000000 -v -0.270633 4.500000 -0.156250 -v -0.324760 4.500000 0.187500 -v -0.312500 4.500000 0.000000 -v -0.187500 4.500000 0.324760 -v -0.270633 4.500000 0.156250 -v 0.000000 4.500000 0.375000 -v -0.156250 4.500000 0.270633 -v 0.156250 4.500000 0.270633 -v 0.000000 4.500000 0.312500 -v 0.187500 4.500000 0.324760 -v 0.375000 5.500000 0.000000 -v 0.270633 5.500000 0.156250 -v 0.324759 5.500000 0.187500 -v 0.324760 5.500000 -0.187500 -v 0.312500 5.500000 0.000000 -v 0.156250 5.500000 -0.270633 -v 0.270633 5.500000 -0.156250 -v 0.187500 5.500000 -0.324759 -v 0.000000 5.500000 -0.312500 -v -0.187500 5.500000 -0.324760 -v 0.000000 5.500000 -0.375000 -v -0.324760 5.500000 -0.187500 -v -0.156250 5.500000 -0.270633 -v -0.375000 5.500000 0.000000 -v -0.270633 5.500000 -0.156250 -v -0.324760 5.500000 0.187500 -v -0.312500 5.500000 0.000000 -v -0.187500 5.500000 0.324760 -v -0.270633 5.500000 0.156250 -v 0.000000 5.500000 0.375000 -v -0.156250 5.500000 0.270633 -v 0.156250 5.500000 0.270633 -v 0.000000 5.500000 0.312500 -v 0.187500 5.500000 0.324760 -v -0.530330 2.031250 -0.530330 -v -0.154680 2.031250 -0.198874 -v -0.198874 2.031250 -0.154680 -v -0.154680 3.531250 -0.198874 -v -0.530330 3.031250 -0.530330 -v -0.198874 3.531250 -0.154680 -v 0.530330 3.031250 0.530330 -v 0.154680 2.031250 0.198874 -v 0.530330 2.031250 0.530330 -v 0.198874 2.031250 0.154680 -v 0.154680 3.531250 0.198874 -v 0.198874 3.531250 0.154680 -v -0.530330 2.031250 0.530330 -v -0.198874 2.031250 0.154680 -v -0.154680 2.031250 0.198874 -v -0.198874 3.531250 0.154680 -v -0.530330 3.031250 0.530330 -v -0.154680 3.531250 0.198874 -v 0.530330 3.031250 -0.530330 -v 0.198874 2.031250 -0.154680 -v 0.530330 2.031250 -0.530330 -v 0.154680 2.031250 -0.198874 -v 0.198874 3.531250 -0.154680 -v 0.154680 3.531250 -0.198874 -v 0.000000 2.000000 0.250000 -v 0.187500 2.000000 0.324760 -v 0.000000 2.000000 0.375000 -v 0.125000 2.000000 0.216506 -v 0.324759 2.000000 0.187500 -v 0.216506 2.000000 0.125000 -v 0.375000 2.000000 0.000000 -v 0.250000 2.000000 0.000000 -v 0.324760 2.000000 -0.187500 -v 0.125000 2.000000 -0.216506 -v 0.187500 2.000000 -0.324759 -v 0.000000 2.000000 -0.375000 -v 0.000000 2.000000 -0.250000 -v -0.187500 2.000000 -0.324760 -v -0.125000 2.000000 -0.216506 -v -0.324760 2.000000 -0.187500 -v -0.216506 2.000000 -0.125000 -v -0.375000 2.000000 0.000000 -v -0.250000 2.000000 0.000000 -v -0.324760 2.000000 0.187500 -v -0.216506 2.000000 0.125000 -v -0.187500 2.000000 0.324760 -v -0.125000 2.000000 0.216506 -v 0.216506 2.000000 -0.125000 -v 0.324760 6.500000 -0.187500 -v 0.000000 6.500000 -0.375000 -v 0.187500 6.500000 0.324760 -v -0.324760 6.500000 0.187500 -v 0.187500 6.500000 -0.324759 -v -0.187500 6.500000 -0.324760 -v 0.324759 6.500000 0.187500 -v -0.187500 6.500000 0.324760 -v -0.324760 6.500000 -0.187500 -v 0.375000 6.500000 0.000000 -v 0.000000 6.500000 0.375000 -v -0.375000 6.500000 0.000000 -v -0.164063 6.750000 0.284165 -v -0.284165 6.750000 -0.164062 -v 0.284165 6.750000 -0.164062 -v 0.328125 6.750000 0.000000 -v 0.000000 6.750000 0.328125 -v -0.284165 6.750000 0.164063 -v -0.328125 6.750000 0.000000 -v 0.000000 6.750000 -0.328125 -v 0.284165 6.750000 0.164063 -v 0.164062 6.750000 0.284165 -v 0.164063 6.750000 -0.284164 -v -0.164062 6.750000 -0.284165 -v 0.000000 7.000000 0.000000 -v 0.000000 2.500000 0.000000 -v 0.385000 4.937500 0.000000 -v 0.334759 5.312500 0.187500 -v 0.334759 4.937500 0.187500 -v 0.334760 4.937500 -0.187500 -v 0.385000 5.312500 0.000000 -v -0.385000 4.937500 0.000000 -v -0.334760 5.312500 -0.187500 -v -0.334760 4.937500 -0.187500 -v -0.334760 4.937500 0.187500 -v -0.385000 5.312500 0.000000 -v 0.334760 5.312500 -0.187500 -v -0.334760 5.312500 0.187500 -vt 0.576923 0.354167 -vt 0.634615 0.364583 -vt 0.576923 0.364583 -vt 0.634615 0.354167 -vt 0.692308 0.364583 -vt 0.057692 0.354167 -vt 0.000000 0.364583 -vt 0.000000 0.354167 -vt 0.115385 0.354167 -vt 0.057692 0.364583 -vt 0.173077 0.354167 -vt 0.115385 0.364583 -vt 0.230769 0.354167 -vt 0.173077 0.364583 -vt 0.288462 0.354167 -vt 0.230769 0.364583 -vt 0.346154 0.354167 -vt 0.288462 0.364583 -vt 0.403846 0.364583 -vt 0.346154 0.364583 -vt 0.403846 0.354167 -vt 0.461538 0.364583 -vt 0.519231 0.354167 -vt 0.461538 0.354167 -vt 0.519231 0.364583 -vt 0.519231 0.406250 -vt 0.461538 0.416667 -vt 0.461538 0.406250 -vt 0.576923 0.406250 -vt 0.519231 0.416667 -vt 0.634615 0.406250 -vt 0.576923 0.416667 -vt 0.692308 0.406250 -vt 0.634615 0.416667 -vt 0.057692 0.406250 -vt 0.000000 0.416667 -vt 0.000000 0.406250 -vt 0.115385 0.416667 -vt 0.057692 0.416667 -vt 0.115385 0.406250 -vt 0.173077 0.416667 -vt 0.230769 0.406250 -vt 0.173077 0.406250 -vt 0.288462 0.406250 -vt 0.230769 0.416667 -vt 0.346154 0.416667 -vt 0.288462 0.416667 -vt 0.403846 0.406250 -vt 0.346154 0.406250 -vt 0.403846 0.416667 -vt 0.519231 0.593750 -vt 0.461538 0.604167 -vt 0.461538 0.593750 -vt 0.576923 0.593750 -vt 0.519231 0.604167 -vt 0.634615 0.593750 -vt 0.576923 0.604167 -vt 0.692308 0.593750 -vt 0.634615 0.604167 -vt 0.057692 0.593750 -vt 0.000000 0.604167 -vt 0.000000 0.593750 -vt 0.115385 0.604167 -vt 0.057692 0.604167 -vt 0.115385 0.593750 -vt 0.173077 0.604167 -vt 0.230769 0.593750 -vt 0.173077 0.593750 -vt 0.288462 0.593750 -vt 0.230769 0.604167 -vt 0.346154 0.604167 -vt 0.288462 0.604167 -vt 0.403846 0.593750 -vt 0.346154 0.593750 -vt 0.403846 0.604167 -vt 0.519231 0.781250 -vt 0.461538 0.791667 -vt 0.461538 0.781250 -vt 0.576923 0.781250 -vt 0.519231 0.791667 -vt 0.634615 0.781250 -vt 0.576923 0.791667 -vt 0.692308 0.781250 -vt 0.634615 0.791667 -vt 0.057692 0.781250 -vt 0.000000 0.791667 -vt 0.000000 0.781250 -vt 0.115385 0.791667 -vt 0.057692 0.791667 -vt 0.115385 0.781250 -vt 0.173077 0.791667 -vt 0.230769 0.781250 -vt 0.173077 0.781250 -vt 0.288462 0.781250 -vt 0.230769 0.791667 -vt 0.346154 0.791667 -vt 0.288462 0.791667 -vt 0.403846 0.781250 -vt 0.346154 0.781250 -vt 0.403846 0.791667 -vt 0.519231 0.541667 -vt 0.461538 0.552083 -vt 0.461538 0.541667 -vt 0.576923 0.541667 -vt 0.519231 0.552083 -vt 0.634615 0.552083 -vt 0.576923 0.552083 -vt 0.634615 0.541667 -vt 0.692308 0.552083 -vt 0.057692 0.541667 -vt 0.000000 0.552083 -vt 0.000000 0.541667 -vt 0.115385 0.541667 -vt 0.057692 0.552083 -vt 0.173077 0.541667 -vt 0.115385 0.552083 -vt 0.230769 0.541667 -vt 0.173077 0.552083 -vt 0.288462 0.541667 -vt 0.230769 0.552083 -vt 0.346154 0.541667 -vt 0.288462 0.552083 -vt 0.403846 0.552083 -vt 0.346154 0.552083 -vt 0.403846 0.541667 -vt 0.519231 0.729167 -vt 0.461538 0.739583 -vt 0.461538 0.729167 -vt 0.576923 0.729167 -vt 0.519231 0.739583 -vt 0.634615 0.739583 -vt 0.576923 0.739583 -vt 0.634615 0.729167 -vt 0.692308 0.739583 -vt 0.057692 0.729167 -vt 0.000000 0.739583 -vt 0.000000 0.729167 -vt 0.115385 0.729167 -vt 0.057692 0.739583 -vt 0.173077 0.729167 -vt 0.115385 0.739583 -vt 0.230769 0.729167 -vt 0.173077 0.739583 -vt 0.288462 0.729167 -vt 0.230769 0.739583 -vt 0.346154 0.729167 -vt 0.288462 0.739583 -vt 0.403846 0.739583 -vt 0.346154 0.739583 -vt 0.403846 0.729167 -vt 0.846154 0.000000 -vt 0.692308 0.010417 -vt 0.692308 0.000000 -vt 0.692308 0.260417 -vt 0.846154 0.270833 -vt 0.692308 0.270833 -vt 0.692308 0.010417 -vt 0.846154 0.177083 -vt 0.846154 0.010417 -vt 0.846154 0.177083 -vt 0.692308 0.010417 -vt 0.846154 0.010417 -vt 0.692308 0.010417 -vt 0.692308 0.260417 -vt 0.846154 0.270833 -vt 0.692308 0.270833 -vt 0.846154 0.000000 -vt 0.692308 0.000000 -vt 0.846154 0.000000 -vt 0.692308 0.010417 -vt 0.692308 0.000000 -vt 0.692308 0.260417 -vt 0.846154 0.270833 -vt 0.692308 0.270833 -vt 0.692308 0.010417 -vt 0.846154 0.177083 -vt 0.846154 0.010417 -vt 0.846154 0.177083 -vt 0.692308 0.010417 -vt 0.846154 0.010417 -vt 0.692308 0.010417 -vt 0.692308 0.260417 -vt 0.846154 0.270833 -vt 0.692308 0.270833 -vt 0.846154 0.000000 -vt 0.692308 0.000000 -vt 0.346154 0.083333 -vt 0.403846 0.104167 -vt 0.346154 0.104167 -vt 0.403846 0.083333 -vt 0.461538 0.104167 -vt 0.461538 0.083333 -vt 0.519231 0.104167 -vt 0.519231 0.083333 -vt 0.576923 0.104167 -vt 0.615385 0.083333 -vt 0.634615 0.104167 -vt 0.634615 0.083333 -vt 0.692308 0.104167 -vt 0.000000 0.083333 -vt 0.057692 0.104167 -vt 0.000000 0.104167 -vt 0.057692 0.083333 -vt 0.115385 0.104167 -vt 0.115385 0.083333 -vt 0.173077 0.104167 -vt 0.173077 0.083333 -vt 0.230769 0.104167 -vt 0.230769 0.083333 -vt 0.288462 0.104167 -vt 0.288462 0.083333 -vt 0.692308 0.354167 -vt 0.692308 0.416667 -vt 0.692308 0.604167 -vt 0.692308 0.791667 -vt 0.692308 0.541667 -vt 0.692308 0.729167 -vt 0.692308 0.260417 -vt 0.692308 0.260417 -vt 0.692308 0.260417 -vt 0.692308 0.260417 -vt 0.384615 0.083333 -vt 0.442308 0.083333 -vt 0.500000 0.083333 -vt 0.557692 0.083333 -vt 0.576923 0.083333 -vt 0.673077 0.083333 -vt 0.038462 0.083333 -vt 0.096154 0.083333 -vt 0.153846 0.083333 -vt 0.211538 0.083333 -vt 0.269231 0.083333 -vt 0.326923 0.083333 -vt 0.576923 0.916667 -vt 0.000000 0.916667 -vt 0.403846 0.916667 -vt 0.230769 0.916667 -vt 0.634615 0.916667 -vt 0.057692 0.916667 -vt 0.461538 0.916667 -vt 0.288462 0.916667 -vt 0.115385 0.916667 -vt 0.519231 0.916667 -vt 0.346154 0.916667 -vt 0.173077 0.916667 -vt 0.288462 0.958333 -vt 0.115385 0.958333 -vt 0.557692 0.958333 -vt 0.519231 0.958333 -vt 0.346154 0.958333 -vt 0.211538 0.958333 -vt 0.173077 0.958333 -vt 0.576923 0.958333 -vt 0.000000 0.958333 -vt 0.442308 0.958333 -vt 0.403846 0.958333 -vt 0.230769 0.958333 -vt 0.692308 0.916667 -vt 0.634615 0.958333 -vt 0.057692 0.958333 -vt 0.461538 0.958333 -vt 0.038462 0.958333 -vt 0.019231 1.000000 -vt 0.096154 0.958333 -vt 0.076923 1.000000 -vt 0.153846 0.958333 -vt 0.134615 1.000000 -vt 0.192308 1.000000 -vt 0.269231 0.958333 -vt 0.250000 1.000000 -vt 0.326923 0.958333 -vt 0.307692 1.000000 -vt 0.384615 0.958333 -vt 0.365385 1.000000 -vt 0.423077 1.000000 -vt 0.500000 0.958333 -vt 0.480769 1.000000 -vt 0.538462 1.000000 -vt 0.615385 0.958333 -vt 0.596154 1.000000 -vt 0.673077 0.958333 -vt 0.653846 1.000000 -vt 0.019231 0.000000 -vt 0.653846 0.000000 -vt 0.596154 0.000000 -vt 0.538462 0.000000 -vt 0.480769 0.000000 -vt 0.423077 0.000000 -vt 0.365385 0.000000 -vt 0.307692 0.000000 -vt 0.250000 0.000000 -vt 0.192308 0.000000 -vt 0.134615 0.000000 -vt 0.076923 0.000000 -vt 0.846154 0.270833 -vt 0.692308 0.437500 -vt 0.692308 0.270833 -vt 1.000000 0.270833 -vt 0.846154 0.437500 -vt 0.846154 0.270833 -vt 0.692308 0.437500 -vt 0.692308 0.270833 -vt 1.000000 0.270833 -vt 0.846154 0.437500 -vt 1.000000 0.437500 -vt 1.000000 0.437500 -vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn -0.5000 0.7071 -0.5000 -vn -0.7498 -0.0000 0.6616 -vn 0.6616 0.0000 -0.7498 -vn -0.6616 -0.0000 0.7498 -vn 0.7498 0.0000 -0.6616 -vn 0.5000 0.7071 0.5000 -vn -0.5000 0.7071 0.5000 -vn 0.6616 -0.0000 0.7498 -vn -0.7498 0.0000 -0.6616 -vn 0.7498 0.0000 0.6616 -vn -0.6616 0.0000 -0.7498 -vn 0.5000 0.7071 -0.5000 -vn 0.8660 0.0000 -0.5000 -vn 1.0000 0.0000 0.0000 -vn 0.5000 -0.0000 0.8660 -vn 0.0000 -0.0000 1.0000 -vn -0.8660 -0.0000 0.5000 -vn -1.0000 -0.0000 0.0000 -vn 0.5000 0.0000 -0.8660 -vn -0.5000 0.0000 -0.8660 -vn 0.0000 0.0000 -1.0000 -vn 0.8660 -0.0000 0.5000 -vn -0.5000 -0.0000 0.8660 -vn -0.8660 0.0000 -0.5000 -vn 0.8624 0.0912 -0.4979 -vn 0.0000 0.0912 -0.9958 -vn 0.4979 0.0912 0.8624 -vn -0.8624 0.0912 0.4979 -vn 0.4979 0.0912 -0.8624 -vn -0.4979 0.0912 -0.8624 -vn 0.8624 0.0912 0.4979 -vn -0.4979 0.0912 0.8624 -vn -0.8624 0.0912 -0.4979 -vn 0.9958 0.0912 0.0000 -vn 0.0000 0.0912 0.9958 -vn -0.9958 0.0912 -0.0000 -vn -0.4330 0.5000 0.7500 -vn -0.7500 0.5000 -0.4330 -vn 0.7500 0.5000 -0.4330 -vn 0.8660 0.5000 0.0000 -vn 0.0000 0.5000 0.8660 -vn -0.7500 0.5000 0.4330 -vn -0.8660 0.5000 -0.0000 -vn 0.0000 0.5000 -0.8660 -vn 0.7500 0.5000 0.4330 -vn 0.4330 0.5000 0.7500 -vn 0.4330 0.5000 -0.7500 -vn -0.4330 0.5000 -0.7500 -vn 0.4472 -0.4472 0.7746 -vn 0.0000 -0.4472 0.8944 -vn -0.4472 -0.4472 0.7746 -vn -0.7746 -0.4472 0.4472 -vn -0.8944 -0.4472 0.0000 -vn -0.7746 -0.4472 -0.4472 -vn -0.4472 -0.4472 -0.7746 -vn 0.0000 -0.4472 -0.8944 -vn 0.4472 -0.4472 -0.7746 -vn 0.7746 -0.4472 -0.4472 -vn 0.8944 -0.4472 0.0000 -vn 0.7746 -0.4472 0.4472 -vn 0.9659 -0.0000 0.2588 -vn 0.9659 0.0000 -0.2588 -vn -0.9659 0.0000 -0.2588 -vn -0.9659 0.0000 0.2588 -s off -f 3892/5556/446 3893/5557/446 3894/5558/446 -f 3895/5559/446 3896/5560/446 3893/5557/446 -f 3897/5561/446 3896/5562/446 3898/5563/446 -f 3899/5564/446 3900/5565/446 3897/5561/446 -f 3901/5566/446 3902/5567/446 3899/5564/446 -f 3903/5568/446 3904/5569/446 3901/5566/446 -f 3905/5570/446 3906/5571/446 3903/5568/446 -f 3907/5572/446 3908/5573/446 3905/5570/446 -f 3907/5572/446 3909/5574/446 3910/5575/446 -f 3911/5576/446 3912/5577/446 3909/5574/446 -f 3913/5578/446 3912/5577/446 3914/5579/446 -f 3892/5556/446 3915/5580/446 3913/5578/446 -f 3916/5581/447 3917/5582/447 3918/5583/447 -f 3919/5584/447 3920/5585/447 3916/5581/447 -f 3921/5586/447 3922/5587/447 3919/5584/447 -f 3923/5588/447 3924/5589/447 3921/5586/447 -f 3925/5590/447 3926/5591/447 3923/5592/447 -f 3925/5590/447 3927/5593/447 3928/5594/447 -f 3929/5595/447 3930/5596/447 3927/5593/447 -f 3931/5597/447 3930/5596/447 3932/5598/447 -f 3933/5599/447 3934/5600/447 3931/5597/447 -f 3933/5599/447 3935/5601/447 3936/5602/447 -f 3937/5603/447 3935/5601/447 3938/5604/447 -f 3918/5583/447 3939/5605/447 3937/5603/447 -f 3940/5606/447 3941/5607/447 3942/5608/447 -f 3943/5609/447 3944/5610/447 3940/5606/447 -f 3945/5611/447 3946/5612/447 3943/5609/447 -f 3947/5613/447 3948/5614/447 3945/5611/447 -f 3949/5615/447 3950/5616/447 3947/5617/447 -f 3949/5615/447 3951/5618/447 3952/5619/447 -f 3953/5620/447 3954/5621/447 3951/5618/447 -f 3955/5622/447 3954/5621/447 3956/5623/447 -f 3957/5624/447 3958/5625/447 3955/5622/447 -f 3957/5624/447 3959/5626/447 3960/5627/447 -f 3961/5628/447 3959/5626/447 3962/5629/447 -f 3942/5608/447 3963/5630/447 3961/5628/447 -f 3964/5631/447 3965/5632/447 3966/5633/447 -f 3967/5634/447 3968/5635/447 3964/5631/447 -f 3969/5636/447 3970/5637/447 3967/5634/447 -f 3971/5638/447 3972/5639/447 3969/5636/447 -f 3973/5640/447 3974/5641/447 3971/5642/447 -f 3973/5640/447 3975/5643/447 3976/5644/447 -f 3977/5645/447 3978/5646/447 3975/5643/447 -f 3979/5647/447 3978/5646/447 3980/5648/447 -f 3981/5649/447 3982/5650/447 3979/5647/447 -f 3981/5649/447 3983/5651/447 3984/5652/447 -f 3985/5653/447 3983/5651/447 3986/5654/447 -f 3966/5633/447 3987/5655/447 3985/5653/447 -f 3988/5656/446 3989/5657/446 3990/5658/446 -f 3991/5659/446 3992/5660/446 3988/5656/446 -f 3991/5659/446 3993/5661/446 3994/5662/446 -f 3995/5663/446 3996/5664/446 3993/5661/446 -f 3997/5665/446 3996/5666/446 3998/5667/446 -f 3999/5668/446 4000/5669/446 3997/5665/446 -f 4001/5670/446 4002/5671/446 3999/5668/446 -f 4003/5672/446 4004/5673/446 4001/5670/446 -f 4005/5674/446 4006/5675/446 4003/5672/446 -f 4007/5676/446 4008/5677/446 4005/5674/446 -f 4007/5676/446 4009/5678/446 4010/5679/446 -f 4011/5680/446 3989/5657/446 4009/5678/446 -f 4012/5681/446 4013/5682/446 4014/5683/446 -f 4015/5684/446 4016/5685/446 4012/5681/446 -f 4015/5684/446 4017/5686/446 4018/5687/446 -f 4019/5688/446 4020/5689/446 4017/5686/446 -f 4021/5690/446 4020/5691/446 4022/5692/446 -f 4023/5693/446 4024/5694/446 4021/5690/446 -f 4025/5695/446 4026/5696/446 4023/5693/446 -f 4027/5697/446 4028/5698/446 4025/5695/446 -f 4029/5699/446 4030/5700/446 4027/5697/446 -f 4031/5701/446 4032/5702/446 4029/5699/446 -f 4031/5701/446 4033/5703/446 4034/5704/446 -f 4035/5705/446 4013/5682/446 4033/5703/446 -f 4036/5706/447 4037/5707/447 4038/5708/447 -f 4039/5709/448 4040/5710/448 4041/5711/448 -f 4038/5712/449 4040/5713/449 4036/5714/449 -f 4040/5713/450 4037/5707/450 4036/5714/450 -f 4042/5715/451 4043/5716/451 4044/5717/451 -f 4045/5718/452 4042/5715/452 4044/5717/452 -f 4046/5719/453 4042/5720/453 4047/5721/453 -f 4044/5722/447 4043/5716/447 4045/5723/447 -f 4048/5724/447 4049/5725/447 4050/5726/447 -f 4051/5727/454 4052/5728/454 4053/5729/454 -f 4050/5730/455 4052/5731/455 4048/5732/455 -f 4052/5731/456 4049/5725/456 4048/5732/456 -f 4054/5733/457 4055/5734/457 4056/5735/457 -f 4057/5736/458 4054/5733/458 4056/5735/458 -f 4058/5737/459 4054/5738/459 4059/5739/459 -f 4056/5740/447 4055/5734/447 4057/5741/447 -f 4060/5742/447 4061/5743/447 4062/5744/447 -f 4063/5745/447 4064/5746/447 4061/5743/447 -f 4065/5747/447 4066/5748/447 4064/5746/447 -f 4067/5749/447 4068/5750/447 4066/5748/447 -f 4068/5750/447 4069/5751/447 4070/5752/447 -f 4069/5753/447 4071/5754/447 4070/5752/447 -f 4072/5755/447 4073/5756/447 4071/5757/447 -f 4074/5758/447 4075/5759/447 4073/5756/447 -f 4076/5760/447 4077/5761/447 4075/5759/447 -f 4078/5762/447 4079/5763/447 4077/5761/447 -f 4080/5764/447 4081/5765/447 4079/5763/447 -f 4082/5766/447 4062/5744/447 4081/5765/447 -f 3892/5556/446 3895/5559/446 3893/5557/446 -f 3895/5559/446 3898/5767/446 3896/5560/446 -f 3897/5561/446 3900/5565/446 3896/5562/446 -f 3899/5564/446 3902/5567/446 3900/5565/446 -f 3901/5566/446 3904/5569/446 3902/5567/446 -f 3903/5568/446 3906/5571/446 3904/5569/446 -f 3905/5570/446 3908/5573/446 3906/5571/446 -f 3907/5572/446 3910/5575/446 3908/5573/446 -f 3907/5572/446 3911/5576/446 3909/5574/446 -f 3911/5576/446 3914/5579/446 3912/5577/446 -f 3913/5578/446 3915/5580/446 3912/5577/446 -f 3892/5556/446 3894/5558/446 3915/5580/446 -f 3916/5581/447 3920/5585/447 3917/5582/447 -f 3919/5584/447 3922/5587/447 3920/5585/447 -f 3921/5586/447 3924/5589/447 3922/5587/447 -f 3923/5588/447 3926/5768/447 3924/5589/447 -f 3925/5590/447 3928/5594/447 3926/5591/447 -f 3925/5590/447 3929/5595/447 3927/5593/447 -f 3929/5595/447 3932/5598/447 3930/5596/447 -f 3931/5597/447 3934/5600/447 3930/5596/447 -f 3933/5599/447 3936/5602/447 3934/5600/447 -f 3933/5599/447 3938/5604/447 3935/5601/447 -f 3937/5603/447 3939/5605/447 3935/5601/447 -f 3918/5583/447 3917/5582/447 3939/5605/447 -f 3940/5606/447 3944/5610/447 3941/5607/447 -f 3943/5609/447 3946/5612/447 3944/5610/447 -f 3945/5611/447 3948/5614/447 3946/5612/447 -f 3947/5613/447 3950/5769/447 3948/5614/447 -f 3949/5615/447 3952/5619/447 3950/5616/447 -f 3949/5615/447 3953/5620/447 3951/5618/447 -f 3953/5620/447 3956/5623/447 3954/5621/447 -f 3955/5622/447 3958/5625/447 3954/5621/447 -f 3957/5624/447 3960/5627/447 3958/5625/447 -f 3957/5624/447 3962/5629/447 3959/5626/447 -f 3961/5628/447 3963/5630/447 3959/5626/447 -f 3942/5608/447 3941/5607/447 3963/5630/447 -f 3964/5631/447 3968/5635/447 3965/5632/447 -f 3967/5634/447 3970/5637/447 3968/5635/447 -f 3969/5636/447 3972/5639/447 3970/5637/447 -f 3971/5638/447 3974/5770/447 3972/5639/447 -f 3973/5640/447 3976/5644/447 3974/5641/447 -f 3973/5640/447 3977/5645/447 3975/5643/447 -f 3977/5645/447 3980/5648/447 3978/5646/447 -f 3979/5647/447 3982/5650/447 3978/5646/447 -f 3981/5649/447 3984/5652/447 3982/5650/447 -f 3981/5649/447 3986/5654/447 3983/5651/447 -f 3985/5653/447 3987/5655/447 3983/5651/447 -f 3966/5633/447 3965/5632/447 3987/5655/447 -f 3988/5656/446 3992/5660/446 3989/5657/446 -f 3991/5659/446 3994/5662/446 3992/5660/446 -f 3991/5659/446 3995/5663/446 3993/5661/446 -f 3995/5663/446 3998/5771/446 3996/5664/446 -f 3997/5665/446 4000/5669/446 3996/5666/446 -f 3999/5668/446 4002/5671/446 4000/5669/446 -f 4001/5670/446 4004/5673/446 4002/5671/446 -f 4003/5672/446 4006/5675/446 4004/5673/446 -f 4005/5674/446 4008/5677/446 4006/5675/446 -f 4007/5676/446 4010/5679/446 4008/5677/446 -f 4007/5676/446 4011/5680/446 4009/5678/446 -f 4011/5680/446 3990/5658/446 3989/5657/446 -f 4012/5681/446 4016/5685/446 4013/5682/446 -f 4015/5684/446 4018/5687/446 4016/5685/446 -f 4015/5684/446 4019/5688/446 4017/5686/446 -f 4019/5688/446 4022/5772/446 4020/5689/446 -f 4021/5690/446 4024/5694/446 4020/5691/446 -f 4023/5693/446 4026/5696/446 4024/5694/446 -f 4025/5695/446 4028/5698/446 4026/5696/446 -f 4027/5697/446 4030/5700/446 4028/5698/446 -f 4029/5699/446 4032/5702/446 4030/5700/446 -f 4031/5701/446 4034/5704/446 4032/5702/446 -f 4031/5701/446 4035/5705/446 4033/5703/446 -f 4035/5705/446 4014/5683/446 4013/5682/446 -f 4038/5712/449 4041/5773/449 4040/5713/449 -f 4040/5713/450 4039/5709/450 4037/5707/450 -f 4042/5715/451 4046/5719/451 4043/5716/451 -f 4045/5718/452 4047/5774/452 4042/5715/452 -f 4050/5730/455 4053/5775/455 4052/5731/455 -f 4052/5731/456 4051/5727/456 4049/5725/456 -f 4054/5733/457 4058/5737/457 4055/5734/457 -f 4057/5736/458 4059/5776/458 4054/5733/458 -f 4060/5742/447 4063/5777/447 4061/5743/447 -f 4063/5745/447 4065/5778/447 4064/5746/447 -f 4065/5747/447 4067/5779/447 4066/5748/447 -f 4067/5749/447 4083/5780/447 4068/5750/447 -f 4068/5750/447 4083/5781/447 4069/5751/447 -f 4069/5753/447 4072/5782/447 4071/5754/447 -f 4072/5755/447 4074/5783/447 4073/5756/447 -f 4074/5758/447 4076/5784/447 4075/5759/447 -f 4076/5760/447 4078/5785/447 4077/5761/447 -f 4078/5762/447 4080/5786/447 4079/5763/447 -f 4080/5764/447 4082/5787/447 4081/5765/447 -f 4082/5766/447 4060/5788/447 4062/5744/447 -s 1 -f 4068/5750/460 3913/5578/461 4066/5748/461 -f 4061/5743/462 3907/5572/463 4062/5744/463 -f 4079/5763/464 3901/5566/465 4077/5761/465 -f 4070/5752/466 3892/5556/460 4068/5750/460 -f 4073/5756/467 3898/5563/468 4071/5757/468 -f 4064/5746/469 3911/5576/462 4061/5743/462 -f 4081/5765/470 3903/5568/464 4079/5763/464 -f 4071/5754/468 3895/5559/466 4070/5752/466 -f 4075/5759/471 3897/5561/467 4073/5756/467 -f 4066/5748/461 3914/5579/469 4064/5746/469 -f 4062/5744/463 3905/5570/470 4081/5765/470 -f 4077/5761/465 3899/5564/471 4075/5759/471 -f 3912/5577/469 3937/5603/462 3909/5574/462 -f 3908/5573/470 3931/5597/464 3906/5571/464 -f 3896/5560/468 3921/5586/466 3893/5557/466 -f 3902/5567/471 3925/5590/467 3900/5565/467 -f 3915/5580/461 3918/5583/469 3912/5577/469 -f 3910/5575/463 3933/5599/470 3908/5573/470 -f 3904/5569/465 3929/5595/471 3902/5567/471 -f 3894/5558/460 3916/5581/461 3915/5580/461 -f 3909/5574/462 3938/5604/463 3910/5575/463 -f 3906/5571/464 3932/5598/465 3904/5569/465 -f 3893/5557/466 3919/5584/460 3894/5558/460 -f 3900/5565/467 3923/5592/468 3896/5562/468 -f 3924/5589/466 3991/5659/460 3922/5587/460 -f 3928/5594/467 3998/5667/468 3926/5591/468 -f 3917/5582/469 4011/5680/462 3939/5605/462 -f 3936/5602/470 4003/5672/464 3934/5600/464 -f 3926/5768/468 3995/5663/466 3924/5589/466 -f 3927/5593/471 3997/5665/467 3928/5594/467 -f 3920/5585/461 3990/5658/469 3917/5582/469 -f 3935/5601/463 4005/5674/470 3936/5602/470 -f 3930/5596/465 3999/5668/471 3927/5593/471 -f 3922/5587/460 3988/5656/461 3920/5585/461 -f 3939/5605/462 4007/5676/463 3935/5601/463 -f 3934/5600/464 4001/5670/465 3930/5596/465 -f 3989/5657/469 3961/5628/462 4009/5678/462 -f 4008/5677/470 3955/5622/464 4006/5675/464 -f 3996/5664/468 3945/5611/466 3993/5661/466 -f 4002/5671/471 3949/5615/467 4000/5669/467 -f 3992/5660/461 3942/5608/469 3989/5657/469 -f 4010/5679/463 3957/5624/470 4008/5677/470 -f 4004/5673/465 3953/5620/471 4002/5671/471 -f 3994/5662/460 3940/5606/461 3992/5660/461 -f 4009/5678/462 3962/5629/463 4010/5679/463 -f 4006/5675/464 3956/5623/465 4004/5673/465 -f 3993/5661/466 3943/5609/460 3994/5662/460 -f 4000/5669/467 3947/5617/468 3996/5666/468 -f 3948/5614/466 4015/5684/460 3946/5612/460 -f 3952/5619/467 4022/5692/468 3950/5616/468 -f 3941/5607/469 4035/5705/462 3963/5630/462 -f 3960/5627/470 4027/5697/464 3958/5625/464 -f 3950/5769/468 4019/5688/466 3948/5614/466 -f 3951/5618/471 4021/5690/467 3952/5619/467 -f 3944/5610/461 4014/5683/469 3941/5607/469 -f 3959/5626/463 4029/5699/470 3960/5627/470 -f 3954/5621/465 4023/5693/471 3951/5618/471 -f 3946/5612/460 4012/5681/461 3944/5610/461 -f 3963/5630/462 4031/5701/463 3959/5626/463 -f 3958/5625/464 4025/5695/465 3954/5621/465 -f 4013/5682/469 3985/5653/462 4033/5703/462 -f 4032/5702/470 3979/5647/464 4030/5700/464 -f 4020/5689/468 3969/5636/466 4017/5686/466 -f 4026/5696/471 3973/5640/467 4024/5694/467 -f 4016/5685/461 3966/5633/469 4013/5682/469 -f 4034/5704/463 3981/5649/470 4032/5702/470 -f 4028/5698/465 3977/5645/471 4026/5696/471 -f 4018/5687/460 3964/5631/461 4016/5685/461 -f 4033/5703/462 3986/5654/463 4034/5704/463 -f 4030/5700/464 3980/5648/465 4028/5698/465 -f 4017/5686/466 3967/5634/460 4018/5687/460 -f 4024/5694/467 3971/5642/468 4020/5691/468 -f 3972/5639/466 4084/5789/472 3970/5637/460 -f 3976/5644/467 4085/5790/473 3974/5641/468 -f 3965/5632/469 4086/5791/474 3987/5655/462 -f 3984/5652/470 4087/5792/475 3982/5650/464 -f 3974/5770/468 4088/5793/476 3972/5639/466 -f 3975/5643/471 4089/5794/477 3976/5644/467 -f 3968/5635/461 4090/5795/478 3965/5632/469 -f 3983/5651/463 4091/5796/479 3984/5652/470 -f 3978/5646/465 4092/5797/480 3975/5643/471 -f 3970/5637/460 4093/5798/481 3968/5635/461 -f 3987/5655/462 4094/5799/482 3983/5651/463 -f 3982/5650/464 4095/5800/483 3978/5646/465 -f 4094/5799/482 4096/5801/484 4091/5796/479 -f 4095/5800/483 4097/5802/485 4092/5797/480 -f 4093/5798/481 4098/5803/486 4099/5804/487 -f 4086/5791/474 4100/5805/488 4094/5799/482 -f 4095/5800/483 4101/5806/489 4102/5807/490 -f 4088/5793/476 4098/5808/486 4084/5789/472 -f 4089/5794/477 4103/5809/491 4085/5790/473 -f 4086/5791/474 4104/5810/492 4105/5811/493 -f 4091/5796/479 4101/5812/489 4087/5792/475 -f 4085/5813/473 4106/5814/494 4088/5793/476 -f 4092/5797/480 4107/5815/495 4089/5794/477 -f 4093/5798/481 4104/5816/492 4090/5795/478 -f 4103/5809/491 4107/5817/495 4108/5818/446 -f 4107/5815/495 4097/5819/485 4108/5820/446 -f 4097/5802/485 4102/5821/490 4108/5822/446 -f 4102/5807/490 4101/5806/489 4108/5823/446 -f 4101/5812/489 4096/5824/484 4108/5825/446 -f 4096/5801/484 4100/5826/488 4108/5827/446 -f 4100/5805/488 4105/5828/493 4108/5829/446 -f 4105/5811/493 4104/5810/492 4108/5830/446 -f 4104/5816/492 4099/5831/487 4108/5832/446 -f 4099/5804/487 4098/5803/486 4108/5833/446 -f 4098/5808/486 4106/5834/494 4108/5835/446 -f 4106/5814/494 4103/5836/491 4108/5837/446 -f 4074/5783/496 4072/5755/497 4109/5838/447 -f 4072/5782/497 4069/5753/498 4109/5839/447 -f 4069/5751/498 4083/5781/499 4109/5840/447 -f 4083/5780/499 4067/5749/500 4109/5841/447 -f 4067/5779/500 4065/5747/501 4109/5842/447 -f 4065/5778/501 4063/5745/502 4109/5843/447 -f 4063/5777/502 4060/5742/503 4109/5844/447 -f 4060/5788/503 4082/5766/504 4109/5845/447 -f 4082/5787/504 4080/5764/505 4109/5846/447 -f 4080/5786/505 4078/5762/506 4109/5847/447 -f 4078/5785/506 4076/5760/507 4109/5848/447 -f 4076/5784/507 4074/5758/496 4109/5849/447 -f 4110/5850/461 4111/5851/508 4112/5852/508 -f 4113/5853/509 4114/5854/461 4110/5850/461 -f 4115/5855/465 4116/5856/510 4117/5857/510 -f 4118/5858/511 4119/5859/465 4115/5855/465 -f 4068/5750/460 3892/5556/460 3913/5578/461 -f 4061/5743/462 3911/5576/462 3907/5572/463 -f 4079/5763/464 3903/5568/464 3901/5566/465 -f 4070/5752/466 3895/5559/466 3892/5556/460 -f 4073/5756/467 3897/5561/467 3898/5563/468 -f 4064/5746/469 3914/5579/469 3911/5576/462 -f 4081/5765/470 3905/5570/470 3903/5568/464 -f 4071/5754/468 3898/5767/468 3895/5559/466 -f 4075/5759/471 3899/5564/471 3897/5561/467 -f 4066/5748/461 3913/5578/461 3914/5579/469 -f 4062/5744/463 3907/5572/463 3905/5570/470 -f 4077/5761/465 3901/5566/465 3899/5564/471 -f 3912/5577/469 3918/5583/469 3937/5603/462 -f 3908/5573/470 3933/5599/470 3931/5597/464 -f 3896/5560/468 3923/5588/468 3921/5586/466 -f 3902/5567/471 3929/5595/471 3925/5590/467 -f 3915/5580/461 3916/5581/461 3918/5583/469 -f 3910/5575/463 3938/5604/463 3933/5599/470 -f 3904/5569/465 3932/5598/465 3929/5595/471 -f 3894/5558/460 3919/5584/460 3916/5581/461 -f 3909/5574/462 3937/5603/462 3938/5604/463 -f 3906/5571/464 3931/5597/464 3932/5598/465 -f 3893/5557/466 3921/5586/466 3919/5584/460 -f 3900/5565/467 3925/5590/467 3923/5592/468 -f 3924/5589/466 3995/5663/466 3991/5659/460 -f 3928/5594/467 3997/5665/467 3998/5667/468 -f 3917/5582/469 3990/5658/469 4011/5680/462 -f 3936/5602/470 4005/5674/470 4003/5672/464 -f 3926/5768/468 3998/5771/468 3995/5663/466 -f 3927/5593/471 3999/5668/471 3997/5665/467 -f 3920/5585/461 3988/5656/461 3990/5658/469 -f 3935/5601/463 4007/5676/463 4005/5674/470 -f 3930/5596/465 4001/5670/465 3999/5668/471 -f 3922/5587/460 3991/5659/460 3988/5656/461 -f 3939/5605/462 4011/5680/462 4007/5676/463 -f 3934/5600/464 4003/5672/464 4001/5670/465 -f 3989/5657/469 3942/5608/469 3961/5628/462 -f 4008/5677/470 3957/5624/470 3955/5622/464 -f 3996/5664/468 3947/5613/468 3945/5611/466 -f 4002/5671/471 3953/5620/471 3949/5615/467 -f 3992/5660/461 3940/5606/461 3942/5608/469 -f 4010/5679/463 3962/5629/463 3957/5624/470 -f 4004/5673/465 3956/5623/465 3953/5620/471 -f 3994/5662/460 3943/5609/460 3940/5606/461 -f 4009/5678/462 3961/5628/462 3962/5629/463 -f 4006/5675/464 3955/5622/464 3956/5623/465 -f 3993/5661/466 3945/5611/466 3943/5609/460 -f 4000/5669/467 3949/5615/467 3947/5617/468 -f 3948/5614/466 4019/5688/466 4015/5684/460 -f 3952/5619/467 4021/5690/467 4022/5692/468 -f 3941/5607/469 4014/5683/469 4035/5705/462 -f 3960/5627/470 4029/5699/470 4027/5697/464 -f 3950/5769/468 4022/5772/468 4019/5688/466 -f 3951/5618/471 4023/5693/471 4021/5690/467 -f 3944/5610/461 4012/5681/461 4014/5683/469 -f 3959/5626/463 4031/5701/463 4029/5699/470 -f 3954/5621/465 4025/5695/465 4023/5693/471 -f 3946/5612/460 4015/5684/460 4012/5681/461 -f 3963/5630/462 4035/5705/462 4031/5701/463 -f 3958/5625/464 4027/5697/464 4025/5695/465 -f 4013/5682/469 3966/5633/469 3985/5653/462 -f 4032/5702/470 3981/5649/470 3979/5647/464 -f 4020/5689/468 3971/5638/468 3969/5636/466 -f 4026/5696/471 3977/5645/471 3973/5640/467 -f 4016/5685/461 3964/5631/461 3966/5633/469 -f 4034/5704/463 3986/5654/463 3981/5649/470 -f 4028/5698/465 3980/5648/465 3977/5645/471 -f 4018/5687/460 3967/5634/460 3964/5631/461 -f 4033/5703/462 3985/5653/462 3986/5654/463 -f 4030/5700/464 3979/5647/464 3980/5648/465 -f 4017/5686/466 3969/5636/466 3967/5634/460 -f 4024/5694/467 3973/5640/467 3971/5642/468 -f 3972/5639/466 4088/5793/476 4084/5789/472 -f 3976/5644/467 4089/5794/477 4085/5790/473 -f 3965/5632/469 4090/5795/478 4086/5791/474 -f 3984/5652/470 4091/5796/479 4087/5792/475 -f 3974/5770/468 4085/5813/473 4088/5793/476 -f 3975/5643/471 4092/5797/480 4089/5794/477 -f 3968/5635/461 4093/5798/481 4090/5795/478 -f 3983/5651/463 4094/5799/482 4091/5796/479 -f 3978/5646/465 4095/5800/483 4092/5797/480 -f 3970/5637/460 4084/5789/472 4093/5798/481 -f 3987/5655/462 4086/5791/474 4094/5799/482 -f 3982/5650/464 4087/5792/475 4095/5800/483 -f 4094/5799/482 4100/5826/488 4096/5801/484 -f 4095/5800/483 4102/5821/490 4097/5802/485 -f 4093/5798/481 4084/5789/472 4098/5803/486 -f 4086/5791/474 4105/5828/493 4100/5805/488 -f 4095/5800/483 4087/5792/475 4101/5806/489 -f 4088/5793/476 4106/5834/494 4098/5808/486 -f 4089/5794/477 4107/5817/495 4103/5809/491 -f 4086/5791/474 4090/5795/478 4104/5810/492 -f 4091/5796/479 4096/5824/484 4101/5812/489 -f 4085/5813/473 4103/5836/491 4106/5814/494 -f 4092/5797/480 4097/5819/485 4107/5815/495 -f 4093/5798/481 4099/5831/487 4104/5816/492 -f 4110/5850/461 4114/5854/461 4111/5851/508 -f 4113/5853/509 4120/5860/509 4114/5854/461 -f 4115/5855/465 4119/5859/465 4116/5856/510 -f 4118/5858/511 4121/5861/511 4119/5859/465 -o ABM_Missile -v -0.176777 3.500000 -0.176777 -v 0.176777 3.500000 -0.176777 -v 0.176777 3.500000 0.176777 -v 0.154329 2.250000 -0.019030 -v 0.161612 2.250000 -0.161612 -v 0.202165 2.250000 -0.134515 -v 0.250000 2.250000 0.000000 -v 0.250000 2.250000 -0.125000 -v 0.297835 2.250000 -0.134515 -v 0.345671 2.250000 -0.019030 -v 0.338388 2.250000 -0.161612 -v 0.426777 2.250000 -0.073223 -v 0.480970 2.250000 -0.154329 -v 0.365485 2.250000 -0.202165 -v 0.500000 2.250000 -0.250000 -v 0.375000 2.250000 -0.250000 -v 0.480970 2.250000 -0.345671 -v 0.365485 2.250000 -0.297835 -v 0.338388 2.250000 -0.338388 -v 0.426777 2.250000 -0.426777 -v 0.345671 2.250000 -0.480970 -v 0.297835 2.250000 -0.365485 -v 0.250000 2.250000 -0.500000 -v 0.250000 2.250000 -0.375000 -v 0.202165 2.250000 -0.365485 -v 0.154329 2.250000 -0.480970 -v 0.161612 2.250000 -0.338388 -v 0.073223 2.250000 -0.426777 -v 0.000000 2.250000 -0.250000 -v 0.134515 2.250000 -0.202165 -v 0.019030 2.250000 -0.154329 -v 0.019030 2.250000 -0.345671 -v 0.134515 2.250000 -0.297835 -v 0.073223 2.250000 -0.073223 -v 0.125000 2.250000 -0.250000 -v 0.426777 2.000000 -0.426777 -v 0.426777 2.000000 -0.073223 -v 0.073223 2.000000 -0.073223 -v -0.031250 8.000000 -0.125000 -v 0.000000 6.500000 -0.875000 -v -0.031250 6.000000 -0.125000 -v 0.000000 7.500000 -0.875000 -v 0.031250 6.000000 -0.125000 -v 0.031250 8.000000 -0.125000 -v 0.031250 2.500000 -0.125000 -v -0.031250 2.500000 -0.125000 -v 0.000000 2.500000 -1.125000 -v 0.031250 4.500000 -0.125000 -v 0.000000 4.000000 -1.125000 -v -0.031250 4.500000 -0.125000 -v -0.062500 7.750000 -0.875000 -v 0.031250 7.750000 -0.820873 -v 0.031250 7.750000 -0.929127 -v 0.062500 6.250000 -0.875000 -v 0.031250 6.250000 -0.820873 -v -0.031250 6.250000 -0.820873 -v -0.154329 2.250000 0.019030 -v -0.161612 2.250000 0.161612 -v -0.202165 2.250000 0.134515 -v -0.250000 2.250000 0.000000 -v -0.250000 2.250000 0.125000 -v -0.297835 2.250000 0.134515 -v -0.345671 2.250000 0.019030 -v -0.338388 2.250000 0.161612 -v -0.426777 2.250000 0.073223 -v -0.480970 2.250000 0.154329 -v -0.365485 2.250000 0.202165 -v -0.500000 2.250000 0.250000 -v -0.375000 2.250000 0.250000 -v -0.480970 2.250000 0.345671 -v -0.365485 2.250000 0.297835 -v -0.338388 2.250000 0.338388 -v -0.426777 2.250000 0.426777 -v -0.345671 2.250000 0.480970 -v -0.297835 2.250000 0.365485 -v -0.250000 2.250000 0.500000 -v -0.250000 2.250000 0.375000 -v -0.202164 2.250000 0.365485 -v -0.154329 2.250000 0.480970 -v -0.161612 2.250000 0.338388 -v -0.073223 2.250000 0.426777 -v 0.000000 2.250000 0.250000 -v -0.134515 2.250000 0.202165 -v -0.019030 2.250000 0.154329 -v -0.019030 2.250000 0.345671 -v -0.134515 2.250000 0.297835 -v -0.073223 2.250000 0.073223 -v -0.125000 2.250000 0.250000 -v -0.426777 2.000000 0.073223 -v -0.250000 2.000000 0.000000 -v -0.073223 2.000000 0.073223 -v -0.031250 2.500000 0.125000 -v 0.031250 2.500000 0.125000 -v 0.000000 2.500000 1.125000 -v -0.031250 4.500000 0.125000 -v 0.000000 4.000000 1.125000 -v 0.031250 4.500000 0.125000 -v -0.019030 2.250000 -0.154329 -v -0.161612 2.250000 -0.161612 -v -0.134515 2.250000 -0.202165 -v 0.000000 2.250000 -0.250000 -v -0.125000 2.250000 -0.250000 -v -0.134515 2.250000 -0.297835 -v -0.019030 2.250000 -0.345671 -v -0.161612 2.250000 -0.338388 -v -0.073223 2.250000 -0.426777 -v -0.154329 2.250000 -0.480970 -v -0.202165 2.250000 -0.365485 -v -0.250000 2.250000 -0.500000 -v -0.250000 2.250000 -0.375000 -v -0.345671 2.250000 -0.480970 -v -0.297835 2.250000 -0.365485 -v -0.338388 2.250000 -0.338388 -v -0.426777 2.250000 -0.426777 -v -0.480970 2.250000 -0.345671 -v -0.365485 2.250000 -0.297835 -v -0.375000 2.250000 -0.250000 -v -0.500000 2.250000 -0.250000 -v -0.365485 2.250000 -0.202164 -v -0.480970 2.250000 -0.154329 -v -0.338388 2.250000 -0.161612 -v -0.426777 2.250000 -0.073223 -v -0.250000 2.250000 0.000000 -v -0.202165 2.250000 -0.134515 -v -0.154329 2.250000 -0.019030 -v -0.345671 2.250000 -0.019030 -v -0.297835 2.250000 -0.134515 -v -0.073223 2.250000 -0.073223 -v -0.250000 2.250000 -0.125000 -v -0.426777 2.000000 -0.426777 -v -0.073223 2.000000 -0.426777 -v -0.073223 2.000000 -0.073223 -v -0.125000 2.500000 -0.031250 -v -0.125000 2.500000 0.031250 -v -1.125000 2.500000 0.000000 -v -0.125000 4.500000 -0.031250 -v -1.125000 4.000000 0.000000 -v -0.125000 4.500000 0.031250 -v 0.019030 2.250000 0.154329 -v 0.161612 2.250000 0.161612 -v 0.134515 2.250000 0.202165 -v 0.000000 2.250000 0.250000 -v 0.125000 2.250000 0.250000 -v 0.134515 2.250000 0.297835 -v 0.019030 2.250000 0.345671 -v 0.161612 2.250000 0.338388 -v 0.073223 2.250000 0.426777 -v 0.154329 2.250000 0.480970 -v 0.202165 2.250000 0.365485 -v 0.250000 2.250000 0.500000 -v 0.250000 2.250000 0.375000 -v 0.345671 2.250000 0.480970 -v 0.297835 2.250000 0.365485 -v 0.338388 2.250000 0.338388 -v 0.426777 2.250000 0.426777 -v 0.480970 2.250000 0.345671 -v 0.365485 2.250000 0.297835 -v 0.500000 2.250000 0.250000 -v 0.375000 2.250000 0.250000 -v 0.365485 2.250000 0.202164 -v 0.480970 2.250000 0.154329 -v 0.338388 2.250000 0.161612 -v 0.426777 2.250000 0.073223 -v 0.250000 2.250000 0.000000 -v 0.202165 2.250000 0.134515 -v 0.154329 2.250000 0.019030 -v 0.345671 2.250000 0.019030 -v 0.297835 2.250000 0.134515 -v 0.073223 2.250000 0.073223 -v 0.250000 2.250000 0.125000 -v 0.426777 2.000000 0.426777 -v 0.073223 2.000000 0.426777 -v 0.073223 2.000000 0.073223 -v 0.125000 2.500000 0.031250 -v 0.125000 2.500000 -0.031250 -v 1.125000 2.500000 0.000000 -v 0.125000 4.500000 0.031250 -v 1.125000 4.000000 0.000000 -v 0.125000 4.500000 -0.031250 -v 0.031250 8.000000 0.125000 -v 0.000000 6.500000 0.875000 -v 0.031250 6.000000 0.125000 -v 0.000000 7.500000 0.875000 -v -0.031250 6.000000 0.125000 -v -0.031250 8.000000 0.125000 -v -0.062500 7.750000 0.875000 -v -0.031250 7.750000 0.929127 -v 0.062500 7.750000 0.875000 -v -0.062500 6.250000 0.875000 -v -0.031250 6.250000 0.820873 -v 0.031250 6.250000 0.820873 -v -0.125000 8.000000 0.031250 -v -0.875000 6.500000 0.000000 -v -0.125000 6.000000 0.031250 -v -0.875000 7.500000 0.000000 -v -0.125000 6.000000 -0.031250 -v -0.125000 8.000000 -0.031250 -v -0.875000 7.750000 0.062500 -v -0.820873 7.750000 -0.031250 -v -0.929127 7.750000 -0.031250 -v -0.875000 6.250000 -0.062500 -v -0.820873 6.250000 -0.031250 -v -0.820873 6.250000 0.031250 -v 0.125000 6.000000 -0.031250 -v 0.875000 7.500000 0.000000 -v 0.875000 6.500000 0.000000 -v 0.125000 6.000000 0.031250 -v 0.125000 8.000000 0.031250 -v 0.125000 8.000000 -0.031250 -v 0.875000 7.750000 -0.062500 -v 0.820873 7.750000 0.031250 -v 0.929127 7.750000 0.031250 -v 0.875000 6.250000 0.062500 -v 0.820873 6.250000 0.031250 -v 0.820873 6.250000 -0.031250 -v -0.095671 3.500000 -0.230970 -v 0.000000 3.500000 -0.250000 -v 0.095671 3.500000 -0.230970 -v 0.230970 3.500000 -0.095671 -v 0.250000 3.500000 0.000000 -v 0.230970 3.500000 0.095671 -v 0.095671 3.500000 0.230970 -v 0.000000 3.500000 0.250000 -v -0.095671 3.500000 0.230970 -v -0.176777 3.500000 0.176777 -v -0.230970 3.500000 0.095671 -v -0.250000 3.500000 0.000000 -v -0.230970 3.500000 -0.095671 -v 0.019030 2.000000 -0.154329 -v 0.000000 2.000000 -0.250000 -v 0.019030 2.000000 -0.345671 -v 0.073223 2.000000 -0.426777 -v 0.154329 2.000000 -0.480970 -v 0.250000 2.000000 -0.500000 -v 0.345671 2.000000 -0.480970 -v 0.480970 2.000000 -0.345671 -v 0.500000 2.000000 -0.250000 -v 0.480970 2.000000 -0.154329 -v 0.345671 2.000000 -0.019030 -v 0.250000 2.000000 0.000000 -v 0.154329 2.000000 -0.019030 -v -0.031250 7.750000 -0.929127 -v -0.031250 7.750000 -0.820873 -v 0.062500 7.750000 -0.875000 -v -0.062500 6.250000 -0.875000 -v -0.031250 6.250000 -0.929127 -v 0.031250 6.250000 -0.929127 -v -0.019030 2.000000 0.154329 -v 0.000000 2.000000 0.250000 -v -0.019030 2.000000 0.345671 -v -0.073223 2.000000 0.426777 -v -0.154329 2.000000 0.480970 -v -0.250000 2.000000 0.500000 -v -0.345671 2.000000 0.480970 -v -0.426777 2.000000 0.426777 -v -0.480970 2.000000 0.345671 -v -0.500000 2.000000 0.250000 -v -0.480970 2.000000 0.154329 -v -0.345671 2.000000 0.019030 -v -0.154329 2.000000 0.019030 -v -0.154329 2.000000 -0.019030 -v -0.250000 2.000000 0.000000 -v -0.345671 2.000000 -0.019030 -v -0.426777 2.000000 -0.073223 -v -0.480970 2.000000 -0.154329 -v -0.500000 2.000000 -0.250000 -v -0.480970 2.000000 -0.345671 -v -0.345671 2.000000 -0.480970 -v -0.250000 2.000000 -0.500000 -v -0.154329 2.000000 -0.480970 -v -0.019030 2.000000 -0.345671 -v 0.000000 2.000000 -0.250000 -v -0.019030 2.000000 -0.154329 -v 0.154329 2.000000 0.019030 -v 0.250000 2.000000 0.000000 -v 0.345671 2.000000 0.019030 -v 0.426777 2.000000 0.073223 -v 0.480970 2.000000 0.154329 -v 0.500000 2.000000 0.250000 -v 0.480970 2.000000 0.345671 -v 0.345671 2.000000 0.480970 -v 0.250000 2.000000 0.500000 -v 0.154329 2.000000 0.480970 -v 0.019030 2.000000 0.345671 -v 0.000000 2.000000 0.250000 -v 0.019030 2.000000 0.154329 -v 0.031250 7.750000 0.929127 -v 0.031250 7.750000 0.820873 -v -0.031250 7.750000 0.820873 -v 0.062500 6.250000 0.875000 -v 0.031250 6.250000 0.929127 -v -0.031250 6.250000 0.929127 -v -0.929127 7.750000 0.031250 -v -0.820873 7.750000 0.031250 -v -0.875000 7.750000 -0.062500 -v -0.875000 6.250000 0.062500 -v -0.929127 6.250000 0.031250 -v -0.929127 6.250000 -0.031250 -v 0.929127 7.750000 -0.031250 -v 0.820873 7.750000 -0.031250 -v 0.875000 7.750000 0.062500 -v 0.875000 6.250000 -0.062500 -v 0.929127 6.250000 -0.031250 -v 0.929127 6.250000 0.031250 -v 0.143506 9.000000 -0.346455 -v 0.000000 9.000000 -0.375000 -v 0.000000 10.500000 0.000000 -v 0.265165 9.000000 -0.265165 -v 0.346455 9.000000 -0.143506 -v 0.375000 9.000000 0.000000 -v 0.346455 9.000000 0.143506 -v 0.265165 9.000000 0.265165 -v 0.143506 9.000000 0.346455 -v 0.000000 9.000000 0.375000 -v -0.143506 9.000000 0.346455 -v -0.265165 9.000000 0.265165 -v -0.346455 9.000000 0.143506 -v -0.375000 9.000000 0.000000 -v -0.346455 9.000000 -0.143506 -v -0.265165 9.000000 -0.265165 -v -0.143506 9.000000 -0.346455 -v -0.375000 7.500000 0.000000 -v 0.375000 7.500000 0.000000 -v -0.346455 7.500000 0.143506 -v 0.346455 7.500000 -0.143506 -v -0.265165 7.500000 0.265165 -v 0.265165 7.500000 -0.265165 -v -0.143506 7.500000 0.346455 -v 0.143506 7.500000 -0.346455 -v 0.000000 7.500000 0.375000 -v -0.143506 7.500000 -0.346455 -v 0.000000 7.500000 -0.375000 -v 0.143506 7.500000 0.346455 -v -0.265165 7.500000 -0.265165 -v 0.265165 7.500000 0.265165 -v -0.346455 7.500000 -0.143506 -v 0.346455 7.500000 0.143506 -v 0.095671 6.500000 0.230970 -v -0.176777 6.500000 -0.176777 -v 0.176777 6.500000 0.176777 -v -0.230970 6.500000 -0.095671 -v 0.230970 6.500000 0.095671 -v -0.250000 6.500000 0.000000 -v 0.250000 6.500000 0.000000 -v -0.230970 6.500000 0.095671 -v 0.230970 6.500000 -0.095671 -v -0.176777 6.500000 0.176777 -v 0.176777 6.500000 -0.176777 -v -0.095671 6.500000 0.230970 -v 0.095671 6.500000 -0.230970 -v 0.000000 6.500000 0.250000 -v -0.095671 6.500000 -0.230970 -v 0.000000 6.500000 -0.250000 -v 0.019030 3.500000 -0.154329 -v 0.480970 3.500000 -0.345671 -v 0.073223 3.500000 -0.073223 -v 0.426777 3.500000 -0.426777 -v 0.154329 3.500000 -0.019030 -v 0.345671 3.500000 -0.480970 -v 0.250000 3.500000 0.000000 -v 0.250000 3.500000 -0.500000 -v 0.345671 3.500000 -0.019030 -v 0.154329 3.500000 -0.480970 -v 0.426777 3.500000 -0.073223 -v 0.073223 3.500000 -0.426777 -v 0.480970 3.500000 -0.154329 -v 0.000000 3.500000 -0.250000 -v 0.019030 3.500000 -0.345671 -v 0.500000 3.500000 -0.250000 -v 0.125000 4.500000 -0.125000 -v -0.019030 3.500000 0.154329 -v -0.480970 3.500000 0.345671 -v -0.073223 3.500000 0.073223 -v -0.426777 3.500000 0.426777 -v -0.154329 3.500000 0.019030 -v -0.345671 3.500000 0.480970 -v -0.250000 3.500000 0.000000 -v -0.250000 3.500000 0.500000 -v -0.345671 3.500000 0.019030 -v -0.154329 3.500000 0.480970 -v -0.426777 3.500000 0.073223 -v -0.073223 3.500000 0.426777 -v -0.480970 3.500000 0.154329 -v 0.000000 3.500000 0.250000 -v -0.019030 3.500000 0.345671 -v -0.500000 3.500000 0.250000 -v -0.125000 4.500000 0.125000 -v -0.154329 3.500000 -0.019030 -v -0.345671 3.500000 -0.480970 -v -0.073223 3.500000 -0.073223 -v -0.426777 3.500000 -0.426777 -v -0.019030 3.500000 -0.154329 -v -0.480970 3.500000 -0.345671 -v 0.000000 3.500000 -0.250000 -v -0.500000 3.500000 -0.250000 -v -0.019030 3.500000 -0.345671 -v -0.480970 3.500000 -0.154329 -v -0.073223 3.500000 -0.426777 -v -0.426777 3.500000 -0.073223 -v -0.154329 3.500000 -0.480970 -v -0.250000 3.500000 0.000000 -v -0.345671 3.500000 -0.019030 -v -0.250000 3.500000 -0.500000 -v -0.125000 4.500000 -0.125000 -v 0.154329 3.500000 0.019030 -v 0.345671 3.500000 0.480970 -v 0.073223 3.500000 0.073223 -v 0.426777 3.500000 0.426777 -v 0.019030 3.500000 0.154329 -v 0.480970 3.500000 0.345671 -v 0.000000 3.500000 0.250000 -v 0.500000 3.500000 0.250000 -v 0.019030 3.500000 0.345671 -v 0.480970 3.500000 0.154329 -v 0.073223 3.500000 0.426777 -v 0.426777 3.500000 0.073223 -v 0.154329 3.500000 0.480970 -v 0.250000 3.500000 0.000000 -v 0.345671 3.500000 0.019030 -v 0.250000 3.500000 0.500000 -v 0.125000 4.500000 0.125000 -vt 0.720253 0.439829 -vt 0.720253 0.488743 -vt 0.648168 0.488743 -vt 0.447368 0.053571 -vt 0.421053 0.035714 -vt 0.434211 0.035714 -vt 0.473684 0.053571 -vt 0.447368 0.035714 -vt 0.460526 0.035714 -vt 0.486842 0.035714 -vt 0.500000 0.053571 -vt 0.513158 0.035714 -vt 0.526316 0.053571 -vt 0.552632 0.053571 -vt 0.526316 0.035714 -vt 0.539474 0.035714 -vt 0.578947 0.053571 -vt 0.552632 0.035714 -vt 0.565789 0.035714 -vt 0.605263 0.053571 -vt 0.578947 0.035714 -vt 0.592105 0.035714 -vt 0.618421 0.035714 -vt 0.631579 0.053571 -vt 0.657895 0.053571 -vt 0.631579 0.035714 -vt 0.644737 0.035714 -vt 0.684211 0.053571 -vt 0.657895 0.035714 -vt 0.671053 0.035714 -vt 0.697368 0.035714 -vt 0.710526 0.053571 -vt 0.723684 0.035714 -vt 0.736842 0.053571 -vt 0.789474 0.053571 -vt 0.802632 0.035714 -vt 0.815789 0.053571 -vt 0.763158 0.053571 -vt 0.736842 0.035714 -vt 0.750000 0.035714 -vt 0.828947 0.035714 -vt 0.842105 0.053571 -vt 0.776316 0.035714 -vt 0.684211 0.570302 -vt 0.633240 0.535715 -vt 0.684211 0.501127 -vt 0.842105 0.294643 -vt 1.000000 0.080357 -vt 0.842105 0.008929 -vt 1.000000 0.223214 -vt 0.842105 0.008929 -vt 0.842105 0.294643 -vt 1.000000 0.294643 -vt 0.842105 0.303571 -vt 0.842105 -0.000000 -vt 1.000000 0.008929 -vt 0.631579 0.580357 -vt 0.631579 0.571429 -vt 0.842105 0.580357 -vt 0.631579 0.875000 -vt 0.842105 0.875000 -vt 0.631579 0.883929 -vt 0.842105 0.803571 -vt 0.631579 0.580357 -vt 0.921712 0.330357 -vt 0.940460 0.323013 -vt 0.940460 0.337702 -vt 0.946709 0.312500 -vt 0.940460 0.319845 -vt 0.927961 0.319845 -vt 0.447368 0.053571 -vt 0.421053 0.035714 -vt 0.434211 0.035714 -vt 0.473684 0.053571 -vt 0.447368 0.035714 -vt 0.460526 0.035714 -vt 0.486842 0.035714 -vt 0.500000 0.053571 -vt 0.513158 0.035714 -vt 0.526316 0.053571 -vt 0.552632 0.053571 -vt 0.526316 0.035714 -vt 0.539474 0.035714 -vt 0.578947 0.053571 -vt 0.552632 0.035714 -vt 0.565789 0.035714 -vt 0.605263 0.053571 -vt 0.578947 0.035714 -vt 0.592105 0.035714 -vt 0.618421 0.035714 -vt 0.631579 0.053571 -vt 0.657895 0.053571 -vt 0.631579 0.035714 -vt 0.644737 0.035714 -vt 0.684211 0.053571 -vt 0.657895 0.035714 -vt 0.671053 0.035714 -vt 0.697368 0.035714 -vt 0.710526 0.053571 -vt 0.723684 0.035714 -vt 0.736842 0.053571 -vt 0.789474 0.053571 -vt 0.802632 0.035714 -vt 0.815789 0.053571 -vt 0.763158 0.053571 -vt 0.736842 0.035714 -vt 0.750000 0.035714 -vt 0.828947 0.035714 -vt 0.842105 0.053571 -vt 0.776316 0.035714 -vt 0.633240 0.535715 -vt 0.648169 0.511257 -vt 0.684211 0.501127 -vt 0.631579 0.580357 -vt 0.631579 0.571429 -vt 0.842105 0.580357 -vt 0.631579 0.875000 -vt 0.842105 0.875000 -vt 0.631579 0.883929 -vt 0.842105 0.803571 -vt 0.631579 0.580357 -vt 0.447368 0.053571 -vt 0.421053 0.035714 -vt 0.434211 0.035714 -vt 0.473684 0.053571 -vt 0.447368 0.035714 -vt 0.460526 0.035714 -vt 0.486842 0.035714 -vt 0.500000 0.053571 -vt 0.513158 0.035714 -vt 0.526316 0.053571 -vt 0.552632 0.053571 -vt 0.526316 0.035714 -vt 0.539474 0.035714 -vt 0.578947 0.053571 -vt 0.552632 0.035714 -vt 0.565789 0.035714 -vt 0.605263 0.053571 -vt 0.578947 0.035714 -vt 0.592105 0.035714 -vt 0.618421 0.035714 -vt 0.631579 0.053571 -vt 0.657895 0.053571 -vt 0.631579 0.035714 -vt 0.644737 0.035714 -vt 0.671053 0.035714 -vt 0.684211 0.053571 -vt 0.697368 0.035714 -vt 0.710526 0.053571 -vt 0.723684 0.035714 -vt 0.736842 0.053571 -vt 0.789474 0.053571 -vt 0.802632 0.035714 -vt 0.815789 0.053571 -vt 0.763158 0.053571 -vt 0.736842 0.035714 -vt 0.750000 0.035714 -vt 0.828947 0.035714 -vt 0.842105 0.053571 -vt 0.776316 0.035714 -vt 0.684211 0.570302 -vt 0.633240 0.535715 -vt 0.684211 0.501127 -vt 0.631579 0.580357 -vt 0.631579 0.571429 -vt 0.842105 0.580357 -vt 0.631579 0.875000 -vt 0.842105 0.875000 -vt 0.631579 0.883929 -vt 0.842105 0.803571 -vt 0.631579 0.580357 -vt 0.447368 0.053571 -vt 0.421053 0.035714 -vt 0.434211 0.035714 -vt 0.473684 0.053571 -vt 0.447368 0.035714 -vt 0.460526 0.035714 -vt 0.486842 0.035714 -vt 0.500000 0.053571 -vt 0.513158 0.035714 -vt 0.526316 0.053571 -vt 0.552632 0.053571 -vt 0.526316 0.035714 -vt 0.539474 0.035714 -vt 0.578947 0.053571 -vt 0.552632 0.035714 -vt 0.565789 0.035714 -vt 0.605263 0.053571 -vt 0.578947 0.035714 -vt 0.592105 0.035714 -vt 0.618421 0.035714 -vt 0.631579 0.053571 -vt 0.657895 0.053571 -vt 0.631579 0.035714 -vt 0.644737 0.035714 -vt 0.684211 0.053571 -vt 0.657895 0.035714 -vt 0.671053 0.035714 -vt 0.697368 0.035714 -vt 0.710526 0.053571 -vt 0.723684 0.035714 -vt 0.736842 0.053571 -vt 0.789474 0.053571 -vt 0.802632 0.035714 -vt 0.815789 0.053571 -vt 0.763158 0.053571 -vt 0.736842 0.035714 -vt 0.750000 0.035714 -vt 0.828947 0.035714 -vt 0.842105 0.053571 -vt 0.763158 0.035714 -vt 0.776316 0.035714 -vt 0.684211 0.570302 -vt 0.633240 0.535715 -vt 0.684211 0.501127 -vt 0.631579 0.580357 -vt 0.631579 0.571429 -vt 0.842105 0.580357 -vt 0.631579 0.875000 -vt 0.842105 0.875000 -vt 0.631579 0.883929 -vt 0.842105 0.803571 -vt 0.631579 0.580357 -vt 0.842105 0.294643 -vt 1.000000 0.080357 -vt 0.842105 0.008929 -vt 1.000000 0.223214 -vt 0.842105 0.008929 -vt 0.842105 0.294643 -vt 1.000000 0.294643 -vt 0.842105 0.303571 -vt 0.842105 -0.000000 -vt 1.000000 0.008929 -vt 0.946709 0.330357 -vt 0.940460 0.337702 -vt 0.921712 0.330357 -vt 0.946709 0.312500 -vt 0.940460 0.319845 -vt 0.927961 0.319845 -vt 0.842105 0.294643 -vt 1.000000 0.080357 -vt 0.842105 0.008929 -vt 1.000000 0.223214 -vt 0.842105 0.008929 -vt 0.842105 0.294643 -vt 1.000000 0.294643 -vt 0.842105 0.303571 -vt 0.842105 -0.000000 -vt 1.000000 0.008929 -vt 0.921712 0.330357 -vt 0.940460 0.323013 -vt 0.940460 0.337702 -vt 0.946709 0.312500 -vt 0.940460 0.319845 -vt 0.927961 0.319845 -vt 0.842105 0.008929 -vt 1.000000 0.223214 -vt 1.000000 0.080357 -vt 0.842105 0.008929 -vt 0.842105 0.294643 -vt 1.000000 0.294643 -vt 0.842105 0.303571 -vt 0.842105 -0.000000 -vt 1.000000 0.008929 -vt 0.921712 0.330357 -vt 0.940460 0.323013 -vt 0.940460 0.337702 -vt 0.946709 0.312500 -vt 0.940460 0.319845 -vt 0.927961 0.319845 -vt 0.731302 0.451050 -vt 0.735182 0.464286 -vt 0.731302 0.477522 -vt 0.703716 0.496241 -vt 0.684211 0.498873 -vt 0.664705 0.496241 -vt 0.637119 0.477522 -vt 0.633239 0.464286 -vt 0.637119 0.451050 -vt 0.648169 0.439829 -vt 0.664705 0.432331 -vt 0.684211 0.429698 -vt 0.703716 0.432331 -vt 0.421053 0.053571 -vt 0.473684 0.035714 -vt 0.500000 0.035714 -vt 0.605263 0.035714 -vt 0.684211 0.035714 -vt 0.710526 0.035714 -vt 0.789474 0.035714 -vt 0.815789 0.035714 -vt 0.763158 0.035714 -vt 0.703717 0.503760 -vt 0.720253 0.511257 -vt 0.731302 0.522478 -vt 0.735182 0.535715 -vt 0.731302 0.548951 -vt 0.720253 0.560172 -vt 0.703717 0.567669 -vt 0.664705 0.567669 -vt 0.648169 0.560172 -vt 0.637119 0.548951 -vt 0.637119 0.522478 -vt 0.648169 0.511257 -vt 0.664705 0.503760 -vt 0.631579 0.875000 -vt 0.927961 0.337702 -vt 0.927961 0.323013 -vt 0.946709 0.330357 -vt 0.921712 0.312500 -vt 0.927962 0.305155 -vt 0.940460 0.305155 -vt 0.421053 0.053571 -vt 0.473684 0.035714 -vt 0.500000 0.035714 -vt 0.605263 0.035714 -vt 0.684211 0.035714 -vt 0.710526 0.035714 -vt 0.789474 0.035714 -vt 0.815789 0.035714 -vt 0.763158 0.035714 -vt 0.703717 0.503760 -vt 0.720253 0.511257 -vt 0.731302 0.522478 -vt 0.735182 0.535715 -vt 0.731302 0.548951 -vt 0.720253 0.560172 -vt 0.703717 0.567669 -vt 0.684211 0.570302 -vt 0.664705 0.567669 -vt 0.648169 0.560172 -vt 0.637119 0.548951 -vt 0.637119 0.522478 -vt 0.664705 0.503760 -vt 0.631579 0.875000 -vt 0.421053 0.053571 -vt 0.473684 0.035714 -vt 0.500000 0.035714 -vt 0.605263 0.035714 -vt 0.657895 0.035714 -vt 0.684211 0.035714 -vt 0.710526 0.035714 -vt 0.789474 0.035714 -vt 0.815789 0.035714 -vt 0.763158 0.035714 -vt 0.703717 0.503760 -vt 0.720253 0.511257 -vt 0.731302 0.522478 -vt 0.735182 0.535715 -vt 0.731302 0.548951 -vt 0.720253 0.560172 -vt 0.703717 0.567669 -vt 0.664705 0.567669 -vt 0.648169 0.560172 -vt 0.637119 0.548951 -vt 0.637119 0.522478 -vt 0.648169 0.511257 -vt 0.664705 0.503760 -vt 0.631579 0.875000 -vt 0.421053 0.053571 -vt 0.473684 0.035714 -vt 0.500000 0.035714 -vt 0.605263 0.035714 -vt 0.684211 0.035714 -vt 0.710526 0.035714 -vt 0.789474 0.035714 -vt 0.815789 0.035714 -vt 0.703717 0.503760 -vt 0.720253 0.511257 -vt 0.731302 0.522478 -vt 0.735182 0.535715 -vt 0.731302 0.548951 -vt 0.720253 0.560172 -vt 0.703717 0.567669 -vt 0.664705 0.567669 -vt 0.648169 0.560172 -vt 0.637119 0.548951 -vt 0.637119 0.522478 -vt 0.648169 0.511257 -vt 0.664705 0.503760 -vt 0.631579 0.875000 -vt 0.927961 0.337702 -vt 0.927961 0.323013 -vt 0.940460 0.323013 -vt 0.921712 0.312500 -vt 0.927962 0.305155 -vt 0.940460 0.305155 -vt 0.927961 0.337702 -vt 0.927961 0.323013 -vt 0.946709 0.330357 -vt 0.921712 0.312500 -vt 0.927962 0.305155 -vt 0.940460 0.305155 -vt 0.842105 0.294643 -vt 0.927961 0.337702 -vt 0.927961 0.323013 -vt 0.946709 0.330357 -vt 0.921712 0.312500 -vt 0.927962 0.305155 -vt 0.940460 0.305155 -vt 0.434211 0.785714 -vt 0.473684 0.785714 -vt 0.447368 1.000000 -vt 0.394737 0.785714 -vt 0.407895 1.000000 -vt 0.355263 0.785714 -vt 0.368421 1.000000 -vt 0.315789 0.785714 -vt 0.328947 1.000000 -vt 0.276316 0.785714 -vt 0.289474 1.000000 -vt 0.236842 0.785714 -vt 0.250000 1.000000 -vt 0.197368 0.785714 -vt 0.210526 1.000000 -vt 0.157895 0.785714 -vt 0.171053 1.000000 -vt 0.131579 1.000000 -vt 0.118421 0.785714 -vt 0.078947 0.785714 -vt 0.092105 1.000000 -vt 0.039474 0.785714 -vt 0.052632 1.000000 -vt 0.000000 0.785714 -vt 0.013158 1.000000 -vt 0.592105 0.785714 -vt 0.631579 0.785714 -vt 0.605263 1.000000 -vt 0.552632 0.785714 -vt 0.565789 1.000000 -vt 0.513158 0.785714 -vt 0.526316 1.000000 -vt 0.486842 1.000000 -vt 0.631579 0.571429 -vt 0.315789 0.571429 -vt 0.039474 0.571429 -vt 0.355263 0.571429 -vt 0.078947 0.571429 -vt 0.394737 0.571429 -vt 0.118421 0.571429 -vt 0.434211 0.571429 -vt 0.157895 0.571429 -vt 0.513158 0.571429 -vt 0.473684 0.571429 -vt 0.197368 0.571429 -vt 0.552632 0.571429 -vt 0.236842 0.571429 -vt 0.592105 0.571429 -vt 0.276316 0.571429 -vt 0.184211 0.428571 -vt 0.539474 0.428571 -vt 0.223684 0.428571 -vt 0.578947 0.428571 -vt 0.263158 0.428571 -vt 0.618421 0.428571 -vt 0.302632 0.428571 -vt 0.000000 0.571429 -vt 0.026316 0.428571 -vt 0.342105 0.428571 -vt 0.065789 0.428571 -vt 0.381579 0.428571 -vt 0.105263 0.428571 -vt 0.421053 0.428571 -vt 0.144737 0.428571 -vt 0.500000 0.428571 -vt 0.460526 0.428571 -vt 0.236842 0.428571 -vt 0.263158 -0.000000 -vt 0.263158 0.428571 -vt 0.052632 0.428571 -vt 0.078947 -0.000000 -vt 0.078947 0.428571 -vt 0.289474 -0.000000 -vt 0.289474 0.428571 -vt 0.105263 -0.000000 -vt 0.105263 0.428571 -vt 0.315789 0.428571 -vt 0.342105 -0.000000 -vt 0.342105 0.428571 -vt 0.315789 -0.000000 -vt 0.131579 -0.000000 -vt 0.131579 0.428571 -vt 0.368421 -0.000000 -vt 0.368421 0.428571 -vt 0.157895 -0.000000 -vt 0.157895 0.428571 -vt 0.394737 -0.000000 -vt 0.394737 0.428571 -vt 0.184211 -0.000000 -vt 0.184211 0.428571 -vt 0.421053 -0.000000 -vt 0.421053 0.428571 -vt 0.210526 -0.000000 -vt 0.210526 0.428571 -vt 0.000000 0.428571 -vt 0.026316 -0.000000 -vt 0.236842 -0.000000 -vt 0.052632 -0.000000 -vt 0.815789 0.232143 -vt 0.605263 0.232143 -vt 0.421053 0.232143 -vt 0.631579 0.232143 -vt 0.447368 0.232143 -vt 0.657895 0.232143 -vt 0.473684 0.232143 -vt 0.684211 0.232143 -vt 0.500000 0.232143 -vt 0.710526 0.232143 -vt 0.526316 0.232143 -vt 0.736842 0.232143 -vt 0.552632 0.232143 -vt 0.789474 0.232143 -vt 0.763158 0.232143 -vt 0.578947 0.232143 -vt 0.671053 0.375000 -vt 0.644737 0.375000 -vt 0.618421 0.375000 -vt 0.592105 0.375000 -vt 0.565789 0.375000 -vt 0.539474 0.375000 -vt 0.513158 0.375000 -vt 0.486842 0.375000 -vt 0.460526 0.375000 -vt 0.434211 0.375000 -vt 0.842105 0.232143 -vt 0.828947 0.375000 -vt 0.802632 0.375000 -vt 0.776316 0.375000 -vt 0.750000 0.375000 -vt 0.723684 0.375000 -vt 0.697368 0.375000 -vt 0.605263 -0.000000 -vt 0.631579 -0.000000 -vt 0.657895 -0.000000 -vt 0.684211 -0.000000 -vt 0.710526 -0.000000 -vt 0.736842 -0.000000 -vt 0.789474 -0.000000 -vt 0.815789 -0.000000 -vt 0.763158 -0.000000 -vt 0.842105 -0.000000 -vt 0.421053 -0.000000 -vt 0.447368 -0.000000 -vt 0.473684 -0.000000 -vt 0.500000 -0.000000 -vt 0.526316 -0.000000 -vt 0.552632 -0.000000 -vt 0.578947 -0.000000 -vt 0.907895 0.517857 -vt 0.894737 0.303571 -vt 0.907895 0.303571 -vt 0.894737 0.517857 -vt 0.881579 0.303571 -vt 0.881579 0.517857 -vt 0.868421 0.303571 -vt 0.868421 0.517857 -vt 0.855263 0.303571 -vt 0.855263 0.517857 -vt 0.842105 0.303571 -vt 0.921053 0.517857 -vt 0.921053 0.303571 -vt 0.815789 0.232143 -vt 0.605263 0.232143 -vt 0.421053 0.232143 -vt 0.631579 0.232143 -vt 0.447368 0.232143 -vt 0.657895 0.232143 -vt 0.473684 0.232143 -vt 0.684211 0.232143 -vt 0.500000 0.232143 -vt 0.710526 0.232143 -vt 0.526316 0.232143 -vt 0.736842 0.232143 -vt 0.552632 0.232143 -vt 0.789474 0.232143 -vt 0.763158 0.232143 -vt 0.578947 0.232143 -vt 0.671053 0.375000 -vt 0.644737 0.375000 -vt 0.618421 0.375000 -vt 0.592105 0.375000 -vt 0.565789 0.375000 -vt 0.539474 0.375000 -vt 0.513158 0.375000 -vt 0.486842 0.375000 -vt 0.460526 0.375000 -vt 0.434211 0.375000 -vt 0.842105 0.232143 -vt 0.828947 0.375000 -vt 0.802632 0.375000 -vt 0.776316 0.375000 -vt 0.750000 0.375000 -vt 0.723684 0.375000 -vt 0.697368 0.375000 -vt 0.605263 -0.000000 -vt 0.631579 -0.000000 -vt 0.657895 -0.000000 -vt 0.684211 -0.000000 -vt 0.710526 -0.000000 -vt 0.736842 -0.000000 -vt 0.815789 -0.000000 -vt 0.763158 -0.000000 -vt 0.842105 -0.000000 -vt 0.789474 -0.000000 -vt 0.447368 -0.000000 -vt 0.473684 -0.000000 -vt 0.500000 -0.000000 -vt 0.526316 -0.000000 -vt 0.552632 -0.000000 -vt 0.578947 -0.000000 -vt 0.815789 0.232143 -vt 0.605263 0.232143 -vt 0.421053 0.232143 -vt 0.631579 0.232143 -vt 0.447368 0.232143 -vt 0.657895 0.232143 -vt 0.473684 0.232143 -vt 0.684211 0.232143 -vt 0.500000 0.232143 -vt 0.710526 0.232143 -vt 0.526316 0.232143 -vt 0.736842 0.232143 -vt 0.552632 0.232143 -vt 0.789474 0.232143 -vt 0.763158 0.232143 -vt 0.578947 0.232143 -vt 0.671053 0.375000 -vt 0.644737 0.375000 -vt 0.618421 0.375000 -vt 0.592105 0.375000 -vt 0.565789 0.375000 -vt 0.539474 0.375000 -vt 0.513158 0.375000 -vt 0.486842 0.375000 -vt 0.460526 0.375000 -vt 0.434211 0.375000 -vt 0.842105 0.232143 -vt 0.828947 0.375000 -vt 0.802632 0.375000 -vt 0.776316 0.375000 -vt 0.750000 0.375000 -vt 0.723684 0.375000 -vt 0.697368 0.375000 -vt 0.631579 -0.000000 -vt 0.657895 -0.000000 -vt 0.684211 -0.000000 -vt 0.710526 -0.000000 -vt 0.736842 -0.000000 -vt 0.815789 -0.000000 -vt 0.763158 -0.000000 -vt 0.842105 -0.000000 -vt 0.789474 -0.000000 -vt 0.421053 -0.000000 -vt 0.447368 -0.000000 -vt 0.473684 -0.000000 -vt 0.500000 -0.000000 -vt 0.526316 -0.000000 -vt 0.552632 -0.000000 -vt 0.578947 -0.000000 -vt 0.605263 -0.000000 -vt 0.815789 0.232143 -vt 0.605263 0.232143 -vt 0.421053 0.232143 -vt 0.631579 0.232143 -vt 0.447368 0.232143 -vt 0.657895 0.232143 -vt 0.473684 0.232143 -vt 0.684211 0.232143 -vt 0.500000 0.232143 -vt 0.710526 0.232143 -vt 0.526316 0.232143 -vt 0.736842 0.232143 -vt 0.552632 0.232143 -vt 0.789474 0.232143 -vt 0.763158 0.232143 -vt 0.578947 0.232143 -vt 0.671053 0.375000 -vt 0.644737 0.375000 -vt 0.618421 0.375000 -vt 0.592105 0.375000 -vt 0.565789 0.375000 -vt 0.539474 0.375000 -vt 0.513158 0.375000 -vt 0.486842 0.375000 -vt 0.460526 0.375000 -vt 0.434211 0.375000 -vt 0.842105 0.232143 -vt 0.828947 0.375000 -vt 0.802632 0.375000 -vt 0.776316 0.375000 -vt 0.750000 0.375000 -vt 0.723684 0.375000 -vt 0.697368 0.375000 -vt 0.605263 -0.000000 -vt 0.631579 -0.000000 -vt 0.657895 -0.000000 -vt 0.684211 -0.000000 -vt 0.710526 -0.000000 -vt 0.736842 -0.000000 -vt 0.815789 -0.000000 -vt 0.763158 -0.000000 -vt 0.842105 -0.000000 -vt 0.789474 -0.000000 -vt 0.421053 -0.000000 -vt 0.447368 -0.000000 -vt 0.473684 -0.000000 -vt 0.500000 -0.000000 -vt 0.526316 -0.000000 -vt 0.552632 -0.000000 -vt 0.578947 -0.000000 -vt 0.907895 0.517857 -vt 0.894737 0.303571 -vt 0.907895 0.303571 -vt 0.894737 0.517857 -vt 0.881579 0.303571 -vt 0.881579 0.517857 -vt 0.868421 0.303571 -vt 0.868421 0.517857 -vt 0.855263 0.303571 -vt 0.855263 0.517857 -vt 0.842105 0.303571 -vt 0.921053 0.517857 -vt 0.921053 0.303571 -vt 0.907895 0.517857 -vt 0.894737 0.303571 -vt 0.907895 0.303571 -vt 0.894737 0.517857 -vt 0.881579 0.303571 -vt 0.881579 0.517857 -vt 0.868421 0.303571 -vt 0.868421 0.517857 -vt 0.855263 0.303571 -vt 0.855263 0.517857 -vt 0.842105 0.303571 -vt 0.921053 0.517857 -vt 0.921053 0.303571 -vt 0.907895 0.517857 -vt 0.894737 0.303571 -vt 0.907895 0.303571 -vt 0.894737 0.517857 -vt 0.881579 0.303571 -vt 0.881579 0.517857 -vt 0.868421 0.303571 -vt 0.868421 0.517857 -vt 0.855263 0.303571 -vt 0.855263 0.517857 -vt 0.842105 0.303571 -vt 0.921053 0.517857 -vt 0.921053 0.303571 -vt 0.157895 0.428571 -vt 0.513158 0.428571 -vt 0.197368 0.428571 -vt 0.552632 0.428571 -vt 0.236842 0.428571 -vt 0.592105 0.428571 -vt 0.276316 0.428571 -vt 0.315789 0.428571 -vt 0.039474 0.428571 -vt 0.355263 0.428571 -vt 0.078947 0.428571 -vt 0.394737 0.428571 -vt 0.118421 0.428571 -vt 0.473684 0.428571 -vt 0.434211 0.428571 -vt 0.000000 -0.000000 -vt 0.842105 0.517857 -vt 0.421053 -0.000000 -vt 0.842105 0.517857 -vt 0.842105 0.517857 -vt 0.842105 0.517857 -vn 0.0000 -1.0000 0.0000 -vn -0.9991 0.0000 -0.0416 -vn 0.9991 0.0000 -0.0416 -vn 0.0000 0.8321 -0.5547 -vn 0.0000 -0.8321 -0.5547 -vn 0.0000 0.8944 -0.4472 -vn 0.9995 0.0000 -0.0312 -vn -0.9995 0.0000 -0.0312 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.8944 0.4472 -vn -0.9995 -0.0000 0.0312 -vn 0.9995 -0.0000 0.0312 -vn -0.4472 0.8944 0.0000 -vn -0.0312 0.0000 -0.9995 -vn -0.0312 -0.0000 0.9995 -vn 0.4472 0.8944 0.0000 -vn 0.0312 -0.0000 0.9995 -vn 0.0312 0.0000 -0.9995 -vn 0.9991 -0.0000 0.0416 -vn -0.9991 -0.0000 0.0416 -vn 0.0000 0.8321 0.5547 -vn 0.0000 -0.8321 0.5547 -vn -0.0416 -0.0000 0.9991 -vn -0.0416 0.0000 -0.9991 -vn -0.5547 0.8321 0.0000 -vn -0.5547 -0.8321 0.0000 -vn 0.0416 0.0000 -0.9991 -vn 0.0416 -0.0000 0.9991 -vn 0.5547 0.8321 0.0000 -vn 0.5547 -0.8321 0.0000 -vn 0.3713 0.2425 -0.8963 -vn 0.0000 0.2425 -0.9701 -vn 0.6860 0.2425 -0.6860 -vn 0.8963 0.2425 -0.3713 -vn 0.9701 0.2425 -0.0000 -vn 0.8963 0.2425 0.3713 -vn 0.6860 0.2425 0.6860 -vn 0.3713 0.2425 0.8963 -vn 0.0000 0.2425 0.9701 -vn -0.3713 0.2425 0.8963 -vn -0.6860 0.2425 0.6860 -vn -0.8963 0.2425 0.3713 -vn -0.9701 0.2425 -0.0000 -vn -0.8963 0.2425 -0.3713 -vn -0.6860 0.2425 -0.6860 -vn -0.3713 0.2425 -0.8963 -vn -0.9239 0.0000 -0.3827 -vn -1.0000 -0.0000 -0.0000 -vn 0.9239 0.0000 0.3827 -vn 1.0000 -0.0000 0.0000 -vn -0.9239 -0.0000 0.3827 -vn 0.9239 0.0000 -0.3827 -vn -0.7071 -0.0000 0.7071 -vn 0.7071 0.0000 -0.7071 -vn -0.3827 -0.0000 0.9239 -vn 0.3827 0.0000 -0.9239 -vn -0.0000 -0.0000 1.0000 -vn -0.0000 0.0000 -1.0000 -vn -0.3827 0.0000 -0.9239 -vn 0.3827 -0.0000 0.9239 -vn -0.7071 0.0000 -0.7071 -vn 0.7071 -0.0000 0.7071 -vn 0.0000 -0.1240 0.9923 -vn 0.3797 -0.1240 0.9167 -vn -0.3797 -0.1240 -0.9167 -vn -0.7016 -0.1240 -0.7016 -vn 0.7016 -0.1240 0.7016 -vn -0.9167 -0.1240 -0.3797 -vn 0.9167 -0.1240 0.3797 -vn -0.9923 -0.1240 0.0000 -vn 0.9923 -0.1240 -0.0000 -vn -0.9167 -0.1240 0.3797 -vn 0.9167 -0.1240 -0.3797 -vn -0.7016 -0.1240 0.7016 -vn 0.7016 -0.1240 -0.7016 -vn -0.3797 -0.1240 0.9167 -vn 0.3797 -0.1240 -0.9167 -vn 0.0000 -0.1240 -0.9923 -vn 0.0127 0.3525 -0.9357 -vn -0.1164 0.9864 0.1164 -vn 0.3598 0.3824 -0.8511 -vn 0.6504 0.3925 -0.6504 -vn 0.8511 0.3824 -0.3598 -vn 0.9357 0.3525 -0.0127 -vn 0.8863 0.3053 0.3484 -vn 0.6991 0.2457 0.6714 -vn 0.3936 0.1823 0.9010 -vn 0.0149 0.1259 0.9919 -vn -0.3736 0.0869 0.9235 -vn -0.7052 0.0730 0.7052 -vn -0.9235 0.0869 0.3736 -vn -0.9919 0.1259 -0.0149 -vn -0.9010 0.1823 -0.3936 -vn -0.6714 0.2457 -0.6991 -vn -0.3484 0.3053 -0.8863 -vn 0.6325 0.4472 -0.6325 -vn 0.8263 0.4472 -0.3423 -vn 0.3423 0.4472 -0.8263 -vn 0.0000 0.4472 -0.8944 -vn -0.3423 0.4472 -0.8263 -vn -0.6325 0.4472 -0.6325 -vn -0.8263 0.4472 0.3423 -vn -0.8944 0.4472 0.0000 -vn -0.8263 0.4472 -0.3423 -vn -0.6325 0.4472 0.6325 -vn -0.3423 0.4472 0.8263 -vn -0.0000 0.4472 0.8944 -vn 0.3423 0.4472 0.8263 -vn 0.6325 0.4472 0.6325 -vn 0.8263 0.4472 0.3423 -vn 0.8944 0.4472 0.0000 -vn -0.5000 0.0000 -0.8660 -vn 0.5000 0.0000 -0.8660 -vn 0.5000 -0.0000 0.8660 -vn -0.5000 -0.0000 0.8660 -vn -0.0127 0.3525 0.9357 -vn 0.1164 0.9864 -0.1164 -vn -0.3598 0.3824 0.8511 -vn -0.6504 0.3925 0.6504 -vn -0.8511 0.3824 0.3598 -vn -0.9357 0.3525 0.0127 -vn -0.8863 0.3053 -0.3484 -vn -0.6991 0.2457 -0.6714 -vn -0.3936 0.1823 -0.9010 -vn -0.0149 0.1259 -0.9919 -vn 0.3736 0.0869 -0.9235 -vn 0.7052 0.0730 -0.7052 -vn 0.9235 0.0869 -0.3736 -vn 0.9919 0.1259 0.0149 -vn 0.9010 0.1823 0.3936 -vn 0.6714 0.2457 0.6991 -vn 0.3484 0.3053 0.8863 -vn -0.9357 0.3525 -0.0127 -vn 0.1164 0.9864 0.1164 -vn -0.8511 0.3824 -0.3598 -vn -0.6504 0.3925 -0.6504 -vn -0.3598 0.3824 -0.8511 -vn -0.0127 0.3525 -0.9357 -vn 0.3484 0.3053 -0.8863 -vn 0.6714 0.2457 -0.6991 -vn 0.9010 0.1823 -0.3936 -vn 0.9919 0.1259 -0.0149 -vn 0.9235 0.0869 0.3736 -vn 0.7052 0.0730 0.7052 -vn 0.3736 0.0869 0.9235 -vn -0.0149 0.1259 0.9919 -vn -0.3936 0.1823 0.9010 -vn -0.6991 0.2457 0.6714 -vn -0.8863 0.3053 0.3484 -vn 0.9357 0.3525 0.0127 -vn -0.1164 0.9864 -0.1164 -vn 0.8511 0.3824 0.3598 -vn 0.6504 0.3925 0.6504 -vn 0.3598 0.3824 0.8511 -vn 0.0127 0.3525 0.9357 -vn -0.3484 0.3053 0.8863 -vn -0.6714 0.2457 0.6991 -vn -0.9010 0.1823 0.3936 -vn -0.9919 0.1259 0.0149 -vn -0.9235 0.0869 -0.3736 -vn -0.7052 0.0730 -0.7052 -vn -0.3736 0.0869 -0.9235 -vn 0.0149 0.1259 -0.9919 -vn 0.3936 0.1823 -0.9010 -vn 0.6991 0.2457 -0.6714 -vn 0.8863 0.3053 -0.3484 -vn -0.8660 0.0000 0.5000 -vn -0.8660 0.0000 -0.5000 -vn 0.8660 -0.0000 -0.5000 -vn 0.8660 -0.0000 0.5000 -s off -f 4122/5862/512 4123/5863/512 4124/5864/512 -f 4125/5865/512 4126/5866/512 4127/5867/512 -f 4128/5868/512 4127/5869/512 4129/5870/512 -f 4128/5868/512 4130/5871/512 4131/5872/512 -f 4131/5872/512 4132/5873/512 4133/5874/512 -f 4134/5875/512 4132/5876/512 4135/5877/512 -f 4136/5878/512 4135/5879/512 4137/5880/512 -f 4138/5881/512 4137/5882/512 4139/5883/512 -f 4138/5881/512 4140/5884/512 4141/5885/512 -f 4142/5886/512 4140/5887/512 4143/5888/512 -f 4144/5889/512 4143/5890/512 4145/5891/512 -f 4144/5889/512 4146/5892/512 4147/5893/512 -f 4147/5893/512 4148/5894/512 4149/5895/512 -f 4150/5896/512 4151/5897/512 4152/5898/512 -f 4153/5899/512 4148/5900/512 4154/5901/512 -f 4152/5898/512 4126/5902/512 4155/5903/512 -f 4153/5899/512 4156/5904/512 4150/5896/512 -f 4157/5905/512 4158/5906/512 4159/5907/512 -f 4160/5908/513 4161/5909/513 4162/5910/513 -f 4163/5911/514 4164/5912/514 4161/5909/514 -f 4165/5913/515 4163/5914/515 4160/5915/515 -f 4164/5912/516 4162/5916/516 4161/5917/516 -f 4166/5918/512 4167/5919/512 4168/5920/512 -f 4169/5921/517 4170/5922/517 4171/5923/517 -f 4170/5924/518 4166/5918/518 4168/5920/518 -f 4167/5925/519 4170/5924/519 4168/5920/519 -f 4172/5926/520 4173/5927/520 4174/5928/520 -f 4175/5929/512 4176/5930/512 4177/5931/512 -f 4178/5932/512 4179/5933/512 4180/5934/512 -f 4181/5935/512 4180/5936/512 4182/5937/512 -f 4181/5935/512 4183/5938/512 4184/5939/512 -f 4184/5939/512 4185/5940/512 4186/5941/512 -f 4187/5942/512 4185/5943/512 4188/5944/512 -f 4189/5945/512 4188/5946/512 4190/5947/512 -f 4191/5948/512 4190/5949/512 4192/5950/512 -f 4191/5948/512 4193/5951/512 4194/5952/512 -f 4195/5953/512 4193/5954/512 4196/5955/512 -f 4197/5956/512 4196/5957/512 4198/5958/512 -f 4197/5956/512 4199/5959/512 4200/5960/512 -f 4200/5960/512 4201/5961/512 4202/5962/512 -f 4203/5963/512 4204/5964/512 4205/5965/512 -f 4206/5966/512 4201/5967/512 4207/5968/512 -f 4205/5965/512 4179/5969/512 4208/5970/512 -f 4206/5966/512 4209/5971/512 4203/5963/512 -f 4210/5972/512 4211/5973/512 4212/5974/512 -f 4213/5975/512 4214/5976/512 4215/5977/512 -f 4216/5978/521 4217/5979/521 4218/5980/521 -f 4217/5981/522 4213/5975/522 4215/5977/522 -f 4214/5982/523 4217/5981/523 4215/5977/523 -f 4219/5983/512 4220/5984/512 4221/5985/512 -f 4222/5986/512 4221/5987/512 4223/5988/512 -f 4222/5986/512 4224/5989/512 4225/5990/512 -f 4225/5990/512 4226/5991/512 4227/5992/512 -f 4228/5993/512 4226/5994/512 4229/5995/512 -f 4230/5996/512 4229/5997/512 4231/5998/512 -f 4232/5999/512 4231/6000/512 4233/6001/512 -f 4232/5999/512 4234/6002/512 4235/6003/512 -f 4236/6004/512 4234/6005/512 4237/6006/512 -f 4236/6004/512 4238/6007/512 4239/6008/512 -f 4239/6008/512 4240/6009/512 4241/6010/512 -f 4241/6010/512 4242/6011/512 4243/6012/512 -f 4244/6013/512 4245/6014/512 4246/6015/512 -f 4247/6016/512 4242/6017/512 4248/6018/512 -f 4246/6015/512 4220/6019/512 4249/6020/512 -f 4247/6016/512 4250/6021/512 4244/6013/512 -f 4251/6022/512 4252/6023/512 4253/6024/512 -f 4254/6025/512 4255/6026/512 4256/6027/512 -f 4257/6028/524 4258/6029/524 4259/6030/524 -f 4258/6031/525 4254/6025/525 4256/6027/525 -f 4255/6032/526 4258/6031/526 4256/6027/526 -f 4260/6033/512 4261/6034/512 4262/6035/512 -f 4263/6036/512 4262/6037/512 4264/6038/512 -f 4263/6036/512 4265/6039/512 4266/6040/512 -f 4266/6040/512 4267/6041/512 4268/6042/512 -f 4269/6043/512 4267/6044/512 4270/6045/512 -f 4271/6046/512 4270/6047/512 4272/6048/512 -f 4273/6049/512 4272/6050/512 4274/6051/512 -f 4273/6049/512 4275/6052/512 4276/6053/512 -f 4277/6054/512 4275/6055/512 4278/6056/512 -f 4279/6057/512 4278/6058/512 4280/6059/512 -f 4279/6057/512 4281/6060/512 4282/6061/512 -f 4282/6061/512 4283/6062/512 4284/6063/512 -f 4285/6064/512 4286/6065/512 4287/6066/512 -f 4288/6067/512 4283/6068/512 4289/6069/512 -f 4287/6066/512 4261/6070/512 4290/6071/512 -f 4285/6064/512 4289/6072/512 4291/6073/512 -f 4292/6074/512 4293/6075/512 4294/6076/512 -f 4295/6077/512 4296/6078/512 4297/6079/512 -f 4298/6080/527 4299/6081/527 4300/6082/527 -f 4299/6083/528 4295/6077/528 4297/6079/528 -f 4296/6084/529 4299/6083/529 4297/6079/529 -f 4301/6085/530 4302/6086/530 4303/6087/530 -f 4304/6088/531 4305/6089/531 4302/6086/531 -f 4306/6090/532 4304/6091/532 4301/6092/532 -f 4305/6089/533 4303/6093/533 4302/6094/533 -f 4307/6095/520 4308/6096/520 4309/6097/520 -f 4310/6098/512 4311/6099/512 4312/6100/512 -f 4313/6101/534 4314/6102/534 4315/6103/534 -f 4316/6104/535 4317/6105/535 4314/6102/535 -f 4318/6106/536 4316/6107/536 4313/6108/536 -f 4317/6105/537 4315/6109/537 4314/6110/537 -f 4319/6111/520 4320/6112/520 4321/6113/520 -f 4322/6114/512 4323/6115/512 4324/6116/512 -f 4325/6117/538 4326/6118/538 4327/6119/538 -f 4326/6118/539 4328/6120/539 4327/6119/539 -f 4329/6121/540 4326/6122/540 4330/6123/540 -f 4328/6120/541 4325/6124/541 4327/6125/541 -f 4331/6126/520 4332/6127/520 4333/6128/520 -f 4334/6129/512 4335/6130/512 4336/6131/512 -f 4122/5862/512 4337/6132/512 4338/6133/512 -f 4338/6133/512 4339/6134/512 4122/5862/512 -f 4339/6134/512 4123/5863/512 4122/5862/512 -f 4123/5863/512 4340/6135/512 4341/6136/512 -f 4341/6136/512 4342/6137/512 4124/5864/512 -f 4124/5864/512 4343/6138/512 4344/6139/512 -f 4344/6139/512 4345/6140/512 4346/6141/512 -f 4346/6141/512 4347/6142/512 4122/5862/512 -f 4347/6142/512 4348/6143/512 4122/5862/512 -f 4348/6143/512 4349/6144/512 4122/5862/512 -f 4123/5863/512 4341/6136/512 4124/5864/512 -f 4124/5864/512 4344/6139/512 4122/5862/512 -f 4344/6139/512 4346/6141/512 4122/5862/512 -f 4125/5865/512 4155/6145/512 4126/5866/512 -f 4128/5868/512 4125/5865/512 4127/5869/512 -f 4128/5868/512 4129/6146/512 4130/5871/512 -f 4131/5872/512 4130/6147/512 4132/5873/512 -f 4134/5875/512 4133/5874/512 4132/5876/512 -f 4136/5878/512 4134/5875/512 4135/5879/512 -f 4138/5881/512 4136/5878/512 4137/5882/512 -f 4138/5881/512 4139/6148/512 4140/5884/512 -f 4142/5886/512 4141/5885/512 4140/5887/512 -f 4144/5889/512 4142/5886/512 4143/5890/512 -f 4144/5889/512 4145/6149/512 4146/5892/512 -f 4147/5893/512 4146/6150/512 4148/5894/512 -f 4150/5896/512 4156/6151/512 4151/5897/512 -f 4153/5899/512 4149/5895/512 4148/5900/512 -f 4152/5898/512 4151/6152/512 4126/5902/512 -f 4153/5899/512 4154/6153/512 4156/5904/512 -f 4159/5907/512 4350/6154/512 4351/6155/512 -f 4351/6155/512 4352/6156/512 4159/5907/512 -f 4352/6156/512 4353/6157/512 4159/5907/512 -f 4353/6157/512 4354/6158/512 4355/6159/512 -f 4355/6159/512 4356/6160/512 4157/5905/512 -f 4157/5905/512 4357/6161/512 4158/5906/512 -f 4357/6161/512 4358/6162/512 4158/5906/512 -f 4358/6162/512 4359/6163/512 4158/5906/512 -f 4158/5906/512 4360/6164/512 4361/6165/512 -f 4361/6165/512 4362/6166/512 4159/5907/512 -f 4353/6157/512 4355/6159/512 4159/5907/512 -f 4355/6159/512 4157/5905/512 4159/5907/512 -f 4158/5906/512 4361/6165/512 4159/5907/512 -f 4160/5908/513 4163/5911/513 4161/5909/513 -f 4163/5911/514 4165/5913/514 4164/5912/514 -f 4170/5924/518 4169/5921/518 4166/5918/518 -f 4167/5925/519 4171/6167/519 4170/5924/519 -f 4174/5928/520 4363/6168/520 4172/5926/520 -f 4172/5926/520 4364/6169/520 4173/5927/520 -f 4173/5927/520 4365/6170/520 4174/5928/520 -f 4177/5931/512 4366/6171/512 4367/6172/512 -f 4367/6172/512 4368/6173/512 4177/5931/512 -f 4368/6173/512 4175/5929/512 4177/5931/512 -f 4178/5932/512 4208/6174/512 4179/5933/512 -f 4181/5935/512 4178/5932/512 4180/5936/512 -f 4181/5935/512 4182/6175/512 4183/5938/512 -f 4184/5939/512 4183/6176/512 4185/5940/512 -f 4187/5942/512 4186/5941/512 4185/5943/512 -f 4189/5945/512 4187/5942/512 4188/5946/512 -f 4191/5948/512 4189/5945/512 4190/5949/512 -f 4191/5948/512 4192/6177/512 4193/5951/512 -f 4195/5953/512 4194/5952/512 4193/5954/512 -f 4197/5956/512 4195/5953/512 4196/5957/512 -f 4197/5956/512 4198/6178/512 4199/5959/512 -f 4200/5960/512 4199/6179/512 4201/5961/512 -f 4203/5963/512 4209/6180/512 4204/5964/512 -f 4206/5966/512 4202/5962/512 4201/5967/512 -f 4205/5965/512 4204/6181/512 4179/5969/512 -f 4206/5966/512 4207/6182/512 4209/5971/512 -f 4212/5974/512 4369/6183/512 4370/6184/512 -f 4370/6184/512 4371/6185/512 4372/6186/512 -f 4372/6186/512 4373/6187/512 4374/6188/512 -f 4374/6188/512 4375/6189/512 4376/6190/512 -f 4376/6190/512 4377/6191/512 4378/6192/512 -f 4378/6192/512 4379/6193/512 4210/5972/512 -f 4210/5972/512 4380/6194/512 4211/5973/512 -f 4211/5973/512 4381/6195/512 4212/5974/512 -f 4212/5974/512 4370/6184/512 4376/6190/512 -f 4370/6184/512 4372/6186/512 4376/6190/512 -f 4372/6186/512 4374/6188/512 4376/6190/512 -f 4376/6190/512 4378/6192/512 4212/5974/512 -f 4378/6192/512 4210/5972/512 4212/5974/512 -f 4217/5981/522 4216/5978/522 4213/5975/522 -f 4214/5982/523 4218/6196/523 4217/5981/523 -f 4219/5983/512 4249/6197/512 4220/5984/512 -f 4222/5986/512 4219/5983/512 4221/5987/512 -f 4222/5986/512 4223/6198/512 4224/5989/512 -f 4225/5990/512 4224/6199/512 4226/5991/512 -f 4228/5993/512 4227/5992/512 4226/5994/512 -f 4230/5996/512 4228/5993/512 4229/5997/512 -f 4232/5999/512 4230/5996/512 4231/6000/512 -f 4232/5999/512 4233/6200/512 4234/6002/512 -f 4236/6004/512 4235/6003/512 4234/6005/512 -f 4236/6004/512 4237/6201/512 4238/6007/512 -f 4239/6008/512 4238/6202/512 4240/6009/512 -f 4241/6010/512 4240/6203/512 4242/6011/512 -f 4244/6013/512 4250/6204/512 4245/6014/512 -f 4247/6016/512 4243/6012/512 4242/6017/512 -f 4246/6015/512 4245/6205/512 4220/6019/512 -f 4247/6016/512 4248/6206/512 4250/6021/512 -f 4253/6024/512 4382/6207/512 4383/6208/512 -f 4383/6208/512 4384/6209/512 4385/6210/512 -f 4385/6210/512 4386/6211/512 4387/6212/512 -f 4387/6212/512 4388/6213/512 4251/6022/512 -f 4251/6022/512 4389/6214/512 4252/6023/512 -f 4389/6214/512 4390/6215/512 4252/6023/512 -f 4390/6215/512 4391/6216/512 4252/6023/512 -f 4252/6023/512 4392/6217/512 4393/6218/512 -f 4393/6218/512 4394/6219/512 4253/6024/512 -f 4253/6024/512 4383/6208/512 4385/6210/512 -f 4385/6210/512 4387/6212/512 4253/6024/512 -f 4387/6212/512 4251/6022/512 4253/6024/512 -f 4252/6023/512 4393/6218/512 4253/6024/512 -f 4258/6031/525 4257/6028/525 4254/6025/525 -f 4255/6032/526 4259/6220/526 4258/6031/526 -f 4260/6033/512 4290/6221/512 4261/6034/512 -f 4263/6036/512 4260/6033/512 4262/6037/512 -f 4263/6036/512 4264/6222/512 4265/6039/512 -f 4266/6040/512 4265/6223/512 4267/6041/512 -f 4269/6043/512 4268/6042/512 4267/6044/512 -f 4271/6046/512 4269/6043/512 4270/6047/512 -f 4273/6049/512 4271/6046/512 4272/6050/512 -f 4273/6049/512 4274/6224/512 4275/6052/512 -f 4277/6054/512 4276/6053/512 4275/6055/512 -f 4279/6057/512 4277/6054/512 4278/6058/512 -f 4279/6057/512 4280/6225/512 4281/6060/512 -f 4282/6061/512 4281/6226/512 4283/6062/512 -f 4285/6064/512 4291/6227/512 4286/6065/512 -f 4288/6067/512 4284/6063/512 4283/6068/512 -f 4287/6066/512 4286/6228/512 4261/6070/512 -f 4285/6064/512 4288/6067/512 4289/6072/512 -f 4294/6076/512 4395/6229/512 4396/6230/512 -f 4396/6230/512 4397/6231/512 4294/6076/512 -f 4397/6231/512 4398/6232/512 4294/6076/512 -f 4398/6232/512 4399/6233/512 4400/6234/512 -f 4400/6234/512 4401/6235/512 4292/6074/512 -f 4292/6074/512 4402/6236/512 4293/6075/512 -f 4402/6236/512 4403/6237/512 4293/6075/512 -f 4403/6237/512 4404/6238/512 4293/6075/512 -f 4293/6075/512 4405/6239/512 4406/6240/512 -f 4406/6240/512 4407/6241/512 4294/6076/512 -f 4398/6232/512 4400/6234/512 4294/6076/512 -f 4400/6234/512 4292/6074/512 4294/6076/512 -f 4293/6075/512 4406/6240/512 4294/6076/512 -f 4299/6083/528 4298/6080/528 4295/6077/528 -f 4296/6084/529 4300/6242/529 4299/6083/529 -f 4301/6085/530 4304/6088/530 4302/6086/530 -f 4304/6088/531 4306/6090/531 4305/6089/531 -f 4308/6096/520 4408/6243/520 4309/6097/520 -f 4309/6097/520 4409/6244/520 4410/6245/520 -f 4410/6245/520 4307/6095/520 4309/6097/520 -f 4312/6100/512 4411/6246/512 4412/6247/512 -f 4412/6247/512 4413/6248/512 4312/6100/512 -f 4413/6248/512 4310/6098/512 4312/6100/512 -f 4313/6101/534 4316/6104/534 4314/6102/534 -f 4316/6104/535 4318/6106/535 4317/6105/535 -f 4321/6113/520 4414/6249/520 4319/6111/520 -f 4319/6111/520 4415/6250/520 4320/6112/520 -f 4320/6112/520 4416/6251/520 4321/6113/520 -f 4324/6116/512 4417/6252/512 4418/6253/512 -f 4418/6253/512 4419/6254/512 4324/6116/512 -f 4419/6254/512 4322/6114/512 4324/6116/512 -f 4325/6117/538 4330/6255/538 4326/6118/538 -f 4326/6118/539 4329/6121/539 4328/6120/539 -f 4333/6128/520 4420/6256/520 4331/6126/520 -f 4331/6126/520 4421/6257/520 4332/6127/520 -f 4332/6127/520 4422/6258/520 4333/6128/520 -f 4336/6131/512 4423/6259/512 4424/6260/512 -f 4424/6260/512 4425/6261/512 4336/6131/512 -f 4425/6261/512 4334/6129/512 4336/6131/512 -s 1 -f 4426/6262/542 4427/6263/543 4428/6264/520 -f 4429/6265/544 4426/6262/542 4428/6266/520 -f 4430/6267/545 4429/6265/544 4428/6268/520 -f 4431/6269/546 4430/6267/545 4428/6270/520 -f 4432/6271/547 4431/6269/546 4428/6272/520 -f 4433/6273/548 4432/6271/547 4428/6274/520 -f 4434/6275/549 4433/6273/548 4428/6276/520 -f 4435/6277/550 4434/6275/549 4428/6278/520 -f 4435/6277/550 4428/6279/520 4436/6280/551 -f 4437/6281/552 4436/6280/551 4428/6282/520 -f 4438/6283/553 4437/6281/552 4428/6284/520 -f 4439/6285/554 4438/6283/553 4428/6286/520 -f 4440/6287/555 4439/6288/554 4428/6289/520 -f 4441/6290/556 4440/6287/555 4428/6291/520 -f 4442/6292/557 4441/6290/556 4428/6293/520 -f 4427/6263/543 4442/6292/557 4428/6294/520 -f 4440/6287/558 4443/6295/559 4439/6288/559 -f 4432/6271/560 4444/6296/561 4431/6269/561 -f 4439/6285/559 4445/6297/562 4438/6283/562 -f 4431/6269/561 4446/6298/563 4430/6267/563 -f 4438/6283/562 4447/6299/564 4437/6281/564 -f 4430/6267/563 4448/6300/565 4429/6265/565 -f 4437/6281/564 4449/6301/566 4436/6280/566 -f 4429/6265/565 4450/6302/567 4426/6262/567 -f 4436/6280/566 4451/6303/568 4435/6277/568 -f 4427/6263/569 4452/6304/570 4442/6292/570 -f 4426/6262/567 4453/6305/569 4427/6263/569 -f 4435/6277/568 4454/6306/571 4434/6275/571 -f 4442/6292/570 4455/6307/572 4441/6290/572 -f 4434/6275/571 4456/6308/573 4433/6273/573 -f 4441/6290/572 4457/6309/558 4440/6287/558 -f 4433/6273/573 4458/6310/560 4432/6271/560 -f 4451/6303/574 4459/6311/575 4454/6306/575 -f 4452/6304/576 4460/6312/577 4455/6307/577 -f 4454/6306/575 4461/6313/578 4456/6308/578 -f 4455/6307/577 4462/6314/579 4457/6309/579 -f 4456/6308/578 4463/6315/580 4458/6310/580 -f 4457/6309/579 4464/6316/581 4443/6295/581 -f 4458/6310/580 4465/6317/582 4444/6296/582 -f 4443/6318/581 4466/6319/583 4445/6297/583 -f 4444/6296/582 4467/6320/584 4446/6298/584 -f 4445/6297/583 4468/6321/585 4447/6299/585 -f 4446/6298/584 4469/6322/586 4448/6300/586 -f 4447/6299/585 4470/6323/587 4449/6301/587 -f 4448/6300/586 4471/6324/588 4450/6302/588 -f 4449/6301/587 4472/6325/574 4451/6303/574 -f 4453/6305/589 4473/6326/576 4452/6304/576 -f 4450/6302/588 4474/6327/589 4453/6305/589 -f 4467/6328/563 4123/6329/565 4469/6330/565 -f 4468/6331/564 4345/6332/566 4470/6333/566 -f 4469/6330/565 4339/6334/567 4471/6335/567 -f 4470/6333/566 4344/6336/568 4472/6337/568 -f 4474/6338/569 4337/6339/570 4473/6340/570 -f 4471/6335/567 4338/6341/569 4474/6338/569 -f 4472/6337/568 4343/6342/571 4459/6343/571 -f 4473/6340/570 4122/6344/572 4460/6345/572 -f 4459/6343/571 4124/6346/573 4461/6347/573 -f 4460/6345/572 4349/6348/558 4462/6349/558 -f 4461/6347/573 4342/6350/560 4463/6351/560 -f 4462/6349/558 4348/6352/559 4464/6353/559 -f 4463/6351/560 4341/6354/561 4465/6355/561 -f 4464/6356/559 4347/6357/562 4466/6319/562 -f 4465/6355/561 4340/6358/563 4467/6328/563 -f 4466/6319/562 4346/6359/564 4468/6331/564 -f 4155/5903/564 4475/6360/562 4152/5898/562 -f 4141/5885/565 4476/6361/563 4138/5881/563 -f 4125/5865/566 4477/6362/564 4155/6145/564 -f 4142/5886/567 4478/6363/565 4141/5885/565 -f 4128/5868/568 4479/6364/566 4125/5865/566 -f 4144/5889/569 4480/6365/567 4142/5886/567 -f 4131/5872/571 4481/6366/568 4128/5868/568 -f 4147/5893/570 4482/6367/569 4144/5889/569 -f 4133/5874/573 4483/6368/571 4131/5872/571 -f 4149/5895/572 4484/6369/570 4147/5893/570 -f 4134/5875/560 4485/6370/573 4133/5874/573 -f 4153/5899/558 4486/6371/572 4149/5895/572 -f 4136/5878/561 4487/6372/560 4134/5875/560 -f 4152/5898/562 4488/6373/559 4150/5896/559 -f 4150/5896/559 4489/6374/558 4153/5899/558 -f 4138/5881/563 4490/6375/561 4136/5878/561 -f 4482/6367/590 4491/6376/591 4480/6365/592 -f 4478/6363/593 4480/6365/592 4491/6377/591 -f 4476/6361/594 4478/6363/593 4491/6378/591 -f 4490/6375/595 4476/6361/594 4491/6379/591 -f 4487/6372/596 4490/6375/595 4491/6380/591 -f 4485/6370/597 4487/6372/596 4491/6381/591 -f 4483/6368/598 4485/6370/597 4491/6382/591 -f 4481/6366/599 4483/6368/598 4491/6383/591 -f 4479/6364/600 4481/6366/599 4491/6384/591 -f 4477/6362/601 4479/6364/600 4491/6385/591 -f 4475/6360/602 4477/6386/601 4491/6387/591 -f 4488/6373/603 4475/6360/602 4491/6388/591 -f 4489/6374/604 4488/6373/603 4491/6389/591 -f 4486/6371/605 4489/6374/604 4491/6390/591 -f 4484/6369/606 4486/6371/605 4491/6391/591 -f 4482/6367/590 4484/6369/606 4491/6392/591 -f 4140/5884/607 4357/6393/608 4157/6394/607 -f 4140/5887/607 4356/6395/609 4143/5888/609 -f 4143/5890/609 4355/6396/610 4145/5891/610 -f 4145/6149/610 4354/6397/611 4146/5892/611 -f 4148/5894/612 4354/6397/611 4353/6398/612 -f 4151/5897/613 4351/6399/614 4350/6400/613 -f 4148/5900/612 4352/6401/615 4154/5901/615 -f 4151/6152/613 4159/6402/616 4126/5902/616 -f 4154/6153/615 4351/6399/614 4156/5904/614 -f 4127/5867/617 4159/6403/616 4362/6404/617 -f 4127/5869/617 4361/6405/618 4129/5870/618 -f 4129/6146/618 4360/6406/619 4130/5871/619 -f 4130/6147/619 4158/6407/620 4132/5873/620 -f 4132/5876/620 4359/6408/621 4135/5877/621 -f 4135/5879/621 4358/6409/622 4137/5880/622 -f 4137/5882/622 4357/6393/608 4139/5883/608 -f 4172/6410/559 4367/6411/623 4366/6412/559 -f 4363/6413/623 4368/6414/624 4367/6411/623 -f 4174/6415/624 4175/6416/561 4368/6414/624 -f 4365/6417/561 4176/6418/625 4175/6416/561 -f 4173/6419/625 4177/6420/626 4176/6418/625 -f 4364/6421/626 4366/6412/559 4177/6422/626 -f 4208/5970/565 4492/6423/563 4205/5965/563 -f 4194/5952/564 4493/6424/562 4191/5948/562 -f 4178/5932/567 4494/6425/565 4208/6174/565 -f 4195/5953/566 4495/6426/564 4194/5952/564 -f 4181/5935/569 4496/6427/567 4178/5932/567 -f 4197/5956/568 4497/6428/566 4195/5953/566 -f 4184/5939/570 4498/6429/569 4181/5935/569 -f 4200/5960/571 4499/6430/568 4197/5956/568 -f 4186/5941/572 4500/6431/570 4184/5939/570 -f 4202/5962/573 4501/6432/571 4200/5960/571 -f 4187/5942/558 4502/6433/572 4186/5941/572 -f 4206/5966/560 4503/6434/573 4202/5962/573 -f 4189/5945/559 4504/6435/558 4187/5942/558 -f 4205/5965/563 4505/6436/561 4203/5963/561 -f 4203/5963/561 4506/6437/560 4206/5966/560 -f 4191/5948/562 4507/6438/559 4189/5945/559 -f 4499/6430/627 4508/6439/628 4497/6428/629 -f 4495/6426/630 4497/6428/629 4508/6440/628 -f 4493/6424/631 4495/6426/630 4508/6441/628 -f 4507/6438/632 4493/6424/631 4508/6442/628 -f 4504/6435/633 4507/6438/632 4508/6443/628 -f 4502/6433/634 4504/6435/633 4508/6444/628 -f 4500/6431/635 4502/6433/634 4508/6445/628 -f 4498/6429/636 4500/6431/635 4508/6446/628 -f 4496/6427/637 4498/6429/636 4508/6447/628 -f 4494/6425/638 4496/6427/637 4508/6448/628 -f 4492/6423/639 4494/6449/638 4508/6450/628 -f 4505/6436/640 4492/6423/639 4508/6451/628 -f 4506/6437/641 4505/6436/640 4508/6452/628 -f 4503/6434/642 4506/6437/641 4508/6453/628 -f 4501/6432/643 4503/6434/642 4508/6454/628 -f 4499/6430/627 4501/6432/643 4508/6455/628 -f 4193/5951/616 4377/6456/613 4376/6457/616 -f 4193/5954/616 4375/6458/617 4196/5955/617 -f 4196/5957/617 4374/6459/618 4198/5958/618 -f 4199/5959/619 4374/6459/618 4373/6460/619 -f 4201/5961/620 4373/6460/619 4372/6461/620 -f 4209/6180/622 4369/6462/608 4204/5964/608 -f 4201/5967/620 4371/6463/621 4207/5968/621 -f 4179/5969/607 4369/6462/608 4212/6464/607 -f 4207/6182/621 4370/6465/622 4209/5971/622 -f 4179/5933/607 4381/6466/609 4180/5934/609 -f 4180/5936/609 4211/6467/610 4182/5937/610 -f 4182/6175/610 4380/6468/611 4183/5938/611 -f 4183/6176/611 4210/6469/612 4185/5940/612 -f 4185/5943/612 4379/6470/615 4188/5944/615 -f 4188/5946/615 4378/6471/614 4190/5947/614 -f 4190/5949/614 4377/6456/613 4192/5950/613 -f 4249/6020/573 4509/6472/571 4246/6015/571 -f 4235/6003/572 4510/6473/570 4232/5999/570 -f 4219/5983/560 4511/6474/573 4249/6197/573 -f 4236/6004/558 4512/6475/572 4235/6003/572 -f 4222/5986/561 4513/6476/560 4219/5983/560 -f 4239/6008/559 4514/6477/558 4236/6004/558 -f 4225/5990/563 4515/6478/561 4222/5986/561 -f 4241/6010/562 4516/6479/559 4239/6008/559 -f 4227/5992/565 4517/6480/563 4225/5990/563 -f 4243/6012/564 4518/6481/562 4241/6010/562 -f 4228/5993/567 4519/6482/565 4227/5992/565 -f 4247/6016/566 4520/6483/564 4243/6012/564 -f 4230/5996/569 4521/6484/567 4228/5993/567 -f 4246/6015/571 4522/6485/568 4244/6013/568 -f 4244/6013/568 4523/6486/566 4247/6016/566 -f 4232/5999/570 4524/6487/569 4230/5996/569 -f 4516/6479/644 4525/6488/645 4514/6477/646 -f 4512/6475/647 4514/6477/646 4525/6489/645 -f 4510/6473/648 4512/6475/647 4525/6490/645 -f 4524/6487/649 4510/6473/648 4525/6491/645 -f 4521/6484/650 4524/6487/649 4525/6492/645 -f 4519/6482/651 4521/6484/650 4525/6493/645 -f 4517/6480/652 4519/6482/651 4525/6494/645 -f 4515/6478/653 4517/6480/652 4525/6495/645 -f 4513/6476/654 4515/6478/653 4525/6496/645 -f 4511/6474/655 4513/6476/654 4525/6497/645 -f 4509/6472/656 4511/6498/655 4525/6499/645 -f 4522/6485/657 4509/6472/656 4525/6500/645 -f 4523/6486/658 4522/6485/657 4525/6501/645 -f 4520/6483/659 4523/6486/658 4525/6502/645 -f 4518/6481/660 4520/6483/659 4525/6503/645 -f 4516/6479/644 4518/6481/660 4525/6504/645 -f 4233/6200/611 4251/6505/612 4234/6002/612 -f 4234/6005/612 4388/6506/615 4237/6006/615 -f 4237/6201/615 4387/6507/614 4238/6007/614 -f 4238/6202/614 4386/6508/613 4240/6009/613 -f 4242/6011/616 4386/6508/613 4385/6509/616 -f 4250/6204/618 4382/6510/619 4245/6014/619 -f 4242/6017/616 4384/6511/617 4248/6018/617 -f 4245/6205/619 4253/6512/620 4220/6019/620 -f 4248/6206/617 4383/6513/618 4250/6021/618 -f 4221/5985/621 4253/6514/620 4394/6515/621 -f 4221/5987/621 4393/6516/622 4223/5988/622 -f 4223/6198/622 4392/6517/608 4224/5989/608 -f 4224/6199/608 4252/6518/607 4226/5991/607 -f 4226/5994/607 4391/6519/609 4229/5995/609 -f 4229/5997/609 4390/6520/610 4231/5998/610 -f 4231/6000/610 4389/6521/611 4233/6001/611 -f 4290/6071/572 4526/6522/570 4287/6066/570 -f 4276/6053/573 4527/6523/571 4273/6049/571 -f 4260/6033/558 4528/6524/572 4290/6221/572 -f 4277/6054/560 4529/6525/573 4276/6053/573 -f 4263/6036/559 4530/6526/558 4260/6033/558 -f 4279/6057/561 4531/6527/560 4277/6054/560 -f 4266/6040/562 4532/6528/559 4263/6036/559 -f 4282/6061/563 4533/6529/561 4279/6057/561 -f 4268/6042/564 4534/6530/562 4266/6040/562 -f 4284/6063/565 4535/6531/563 4282/6061/563 -f 4269/6043/566 4536/6532/564 4268/6042/564 -f 4288/6067/567 4537/6533/565 4284/6063/565 -f 4271/6046/568 4538/6534/566 4269/6043/566 -f 4287/6066/570 4539/6535/569 4285/6064/569 -f 4285/6064/569 4540/6536/567 4288/6067/567 -f 4273/6049/571 4541/6537/568 4271/6046/568 -f 4533/6529/661 4542/6538/662 4531/6527/663 -f 4529/6525/664 4531/6527/663 4542/6539/662 -f 4527/6523/665 4529/6525/664 4542/6540/662 -f 4541/6537/666 4527/6523/665 4542/6541/662 -f 4538/6534/667 4541/6537/666 4542/6542/662 -f 4536/6532/668 4538/6534/667 4542/6543/662 -f 4534/6530/669 4536/6532/668 4542/6544/662 -f 4532/6528/670 4534/6530/669 4542/6545/662 -f 4530/6526/671 4532/6528/670 4542/6546/662 -f 4528/6524/672 4530/6526/671 4542/6547/662 -f 4526/6522/673 4528/6548/672 4542/6549/662 -f 4539/6535/674 4526/6522/673 4542/6550/662 -f 4540/6536/675 4539/6535/674 4542/6551/662 -f 4537/6533/676 4540/6536/675 4542/6552/662 -f 4535/6531/677 4537/6533/676 4542/6553/662 -f 4533/6529/661 4535/6531/677 4542/6554/662 -f 4275/6052/620 4402/6555/619 4292/6556/620 -f 4275/6055/620 4401/6557/621 4278/6056/621 -f 4278/6058/621 4400/6558/622 4280/6059/622 -f 4281/6060/608 4400/6558/622 4399/6559/608 -f 4281/6226/608 4398/6560/607 4283/6062/607 -f 4291/6227/610 4395/6561/611 4286/6065/611 -f 4289/6069/609 4398/6560/607 4397/6562/609 -f 4261/6070/612 4395/6561/611 4294/6563/612 -f 4289/6072/609 4396/6564/610 4291/6073/610 -f 4262/6035/615 4294/6565/612 4407/6566/615 -f 4262/6037/615 4406/6567/614 4264/6038/614 -f 4265/6039/613 4406/6567/614 4405/6568/613 -f 4265/6223/613 4293/6569/616 4267/6041/616 -f 4267/6044/616 4404/6570/617 4270/6045/617 -f 4270/6047/617 4403/6571/618 4272/6048/618 -f 4272/6050/618 4402/6555/619 4274/6051/619 -f 4309/6572/561 4412/6573/625 4411/6574/561 -f 4408/6575/625 4413/6576/626 4412/6573/625 -f 4308/6577/626 4310/6578/559 4413/6576/626 -f 4307/6579/559 4311/6580/623 4310/6578/559 -f 4410/6581/623 4312/6582/624 4311/6580/623 -f 4409/6583/624 4411/6574/561 4312/6584/624 -f 4319/6585/568 4418/6586/678 4417/6587/568 -f 4414/6588/678 4419/6589/679 4418/6586/678 -f 4321/6590/679 4322/6591/569 4419/6589/679 -f 4416/6592/569 4323/6593/680 4322/6591/569 -f 4320/6594/680 4324/6595/681 4323/6593/680 -f 4415/6596/681 4417/6587/568 4324/6597/681 -f 4331/6598/569 4424/6599/680 4423/6600/569 -f 4420/6601/680 4425/6602/681 4424/6599/680 -f 4333/6603/681 4334/6604/568 4425/6602/681 -f 4422/6605/568 4335/6606/678 4334/6604/568 -f 4332/6607/678 4336/6608/679 4335/6606/678 -f 4421/6609/679 4423/6600/569 4336/6610/679 -f 4440/6287/558 4457/6309/558 4443/6295/559 -f 4432/6271/560 4458/6310/560 4444/6296/561 -f 4439/6285/559 4443/6318/559 4445/6297/562 -f 4431/6269/561 4444/6296/561 4446/6298/563 -f 4438/6283/562 4445/6297/562 4447/6299/564 -f 4430/6267/563 4446/6298/563 4448/6300/565 -f 4437/6281/564 4447/6299/564 4449/6301/566 -f 4429/6265/565 4448/6300/565 4450/6302/567 -f 4436/6280/566 4449/6301/566 4451/6303/568 -f 4427/6263/569 4453/6305/569 4452/6304/570 -f 4426/6262/567 4450/6302/567 4453/6305/569 -f 4435/6277/568 4451/6303/568 4454/6306/571 -f 4442/6292/570 4452/6304/570 4455/6307/572 -f 4434/6275/571 4454/6306/571 4456/6308/573 -f 4441/6290/572 4455/6307/572 4457/6309/558 -f 4433/6273/573 4456/6308/573 4458/6310/560 -f 4451/6303/574 4472/6611/574 4459/6311/575 -f 4452/6304/576 4473/6612/576 4460/6312/577 -f 4454/6306/575 4459/6613/575 4461/6313/578 -f 4455/6307/577 4460/6614/577 4462/6314/579 -f 4456/6308/578 4461/6615/578 4463/6315/580 -f 4457/6309/579 4462/6616/579 4464/6316/581 -f 4458/6310/580 4463/6617/580 4465/6317/582 -f 4443/6318/581 4464/6356/581 4466/6319/583 -f 4444/6296/582 4465/6618/582 4467/6320/584 -f 4445/6297/583 4466/6619/583 4468/6321/585 -f 4446/6298/584 4467/6620/584 4469/6322/586 -f 4447/6299/585 4468/6621/585 4470/6323/587 -f 4448/6300/586 4469/6622/586 4471/6324/588 -f 4449/6301/587 4470/6623/587 4472/6325/574 -f 4453/6305/589 4474/6624/589 4473/6326/576 -f 4450/6302/588 4471/6625/588 4474/6327/589 -f 4467/6328/563 4340/6358/563 4123/6329/565 -f 4468/6331/564 4346/6359/564 4345/6332/566 -f 4469/6330/565 4123/6329/565 4339/6334/567 -f 4470/6333/566 4345/6332/566 4344/6336/568 -f 4474/6338/569 4338/6341/569 4337/6339/570 -f 4471/6335/567 4339/6334/567 4338/6341/569 -f 4472/6337/568 4344/6336/568 4343/6342/571 -f 4473/6340/570 4337/6339/570 4122/6344/572 -f 4459/6343/571 4343/6342/571 4124/6346/573 -f 4460/6345/572 4122/6344/572 4349/6348/558 -f 4461/6347/573 4124/6346/573 4342/6350/560 -f 4462/6349/558 4349/6348/558 4348/6352/559 -f 4463/6351/560 4342/6350/560 4341/6354/561 -f 4464/6356/559 4348/6626/559 4347/6357/562 -f 4465/6355/561 4341/6354/561 4340/6358/563 -f 4466/6319/562 4347/6357/562 4346/6359/564 -f 4155/5903/564 4477/6386/564 4475/6360/562 -f 4141/5885/565 4478/6363/565 4476/6361/563 -f 4125/5865/566 4479/6364/566 4477/6362/564 -f 4142/5886/567 4480/6365/567 4478/6363/565 -f 4128/5868/568 4481/6366/568 4479/6364/566 -f 4144/5889/569 4482/6367/569 4480/6365/567 -f 4131/5872/571 4483/6368/571 4481/6366/568 -f 4147/5893/570 4484/6369/570 4482/6367/569 -f 4133/5874/573 4485/6370/573 4483/6368/571 -f 4149/5895/572 4486/6371/572 4484/6369/570 -f 4134/5875/560 4487/6372/560 4485/6370/573 -f 4153/5899/558 4489/6374/558 4486/6371/572 -f 4136/5878/561 4490/6375/561 4487/6372/560 -f 4152/5898/562 4475/6360/562 4488/6373/559 -f 4150/5896/559 4488/6373/559 4489/6374/558 -f 4138/5881/563 4476/6361/563 4490/6375/561 -f 4140/5884/607 4139/6148/608 4357/6393/608 -f 4140/5887/607 4157/6394/607 4356/6395/609 -f 4143/5890/609 4356/6395/609 4355/6396/610 -f 4145/6149/610 4355/6396/610 4354/6397/611 -f 4148/5894/612 4146/6150/611 4354/6397/611 -f 4151/5897/613 4156/6151/614 4351/6399/614 -f 4148/5900/612 4353/6398/612 4352/6401/615 -f 4151/6152/613 4350/6400/613 4159/6402/616 -f 4154/6153/615 4352/6401/615 4351/6399/614 -f 4127/5867/617 4126/5866/616 4159/6403/616 -f 4127/5869/617 4362/6404/617 4361/6405/618 -f 4129/6146/618 4361/6405/618 4360/6406/619 -f 4130/6147/619 4360/6406/619 4158/6407/620 -f 4132/5876/620 4158/6407/620 4359/6408/621 -f 4135/5879/621 4359/6408/621 4358/6409/622 -f 4137/5882/622 4358/6409/622 4357/6393/608 -f 4172/6410/559 4363/6413/623 4367/6411/623 -f 4363/6413/623 4174/6415/624 4368/6414/624 -f 4174/6415/624 4365/6417/561 4175/6416/561 -f 4365/6417/561 4173/6419/625 4176/6418/625 -f 4173/6419/625 4364/6627/626 4177/6420/626 -f 4364/6421/626 4172/6410/559 4366/6412/559 -f 4208/5970/565 4494/6449/565 4492/6423/563 -f 4194/5952/564 4495/6426/564 4493/6424/562 -f 4178/5932/567 4496/6427/567 4494/6425/565 -f 4195/5953/566 4497/6428/566 4495/6426/564 -f 4181/5935/569 4498/6429/569 4496/6427/567 -f 4197/5956/568 4499/6430/568 4497/6428/566 -f 4184/5939/570 4500/6431/570 4498/6429/569 -f 4200/5960/571 4501/6432/571 4499/6430/568 -f 4186/5941/572 4502/6433/572 4500/6431/570 -f 4202/5962/573 4503/6434/573 4501/6432/571 -f 4187/5942/558 4504/6435/558 4502/6433/572 -f 4206/5966/560 4506/6437/560 4503/6434/573 -f 4189/5945/559 4507/6438/559 4504/6435/558 -f 4205/5965/563 4492/6423/563 4505/6436/561 -f 4203/5963/561 4505/6436/561 4506/6437/560 -f 4191/5948/562 4493/6424/562 4507/6438/559 -f 4193/5951/616 4192/6177/613 4377/6456/613 -f 4193/5954/616 4376/6457/616 4375/6458/617 -f 4196/5957/617 4375/6458/617 4374/6459/618 -f 4199/5959/619 4198/6178/618 4374/6459/618 -f 4201/5961/620 4199/6179/619 4373/6460/619 -f 4209/6180/622 4370/6465/622 4369/6462/608 -f 4201/5967/620 4372/6461/620 4371/6463/621 -f 4179/5969/607 4204/6181/608 4369/6462/608 -f 4207/6182/621 4371/6463/621 4370/6465/622 -f 4179/5933/607 4212/6628/607 4381/6466/609 -f 4180/5936/609 4381/6466/609 4211/6467/610 -f 4182/6175/610 4211/6467/610 4380/6468/611 -f 4183/6176/611 4380/6468/611 4210/6469/612 -f 4185/5943/612 4210/6469/612 4379/6470/615 -f 4188/5946/615 4379/6470/615 4378/6471/614 -f 4190/5949/614 4378/6471/614 4377/6456/613 -f 4249/6020/573 4511/6498/573 4509/6472/571 -f 4235/6003/572 4512/6475/572 4510/6473/570 -f 4219/5983/560 4513/6476/560 4511/6474/573 -f 4236/6004/558 4514/6477/558 4512/6475/572 -f 4222/5986/561 4515/6478/561 4513/6476/560 -f 4239/6008/559 4516/6479/559 4514/6477/558 -f 4225/5990/563 4517/6480/563 4515/6478/561 -f 4241/6010/562 4518/6481/562 4516/6479/559 -f 4227/5992/565 4519/6482/565 4517/6480/563 -f 4243/6012/564 4520/6483/564 4518/6481/562 -f 4228/5993/567 4521/6484/567 4519/6482/565 -f 4247/6016/566 4523/6486/566 4520/6483/564 -f 4230/5996/569 4524/6487/569 4521/6484/567 -f 4246/6015/571 4509/6472/571 4522/6485/568 -f 4244/6013/568 4522/6485/568 4523/6486/566 -f 4232/5999/570 4510/6473/570 4524/6487/569 -f 4233/6200/611 4389/6521/611 4251/6505/612 -f 4234/6005/612 4251/6505/612 4388/6506/615 -f 4237/6201/615 4388/6506/615 4387/6507/614 -f 4238/6202/614 4387/6507/614 4386/6508/613 -f 4242/6011/616 4240/6203/613 4386/6508/613 -f 4250/6204/618 4383/6513/618 4382/6510/619 -f 4242/6017/616 4385/6509/616 4384/6511/617 -f 4245/6205/619 4382/6510/619 4253/6512/620 -f 4248/6206/617 4384/6511/617 4383/6513/618 -f 4221/5985/621 4220/5984/620 4253/6514/620 -f 4221/5987/621 4394/6515/621 4393/6516/622 -f 4223/6198/622 4393/6516/622 4392/6517/608 -f 4224/6199/608 4392/6517/608 4252/6518/607 -f 4226/5994/607 4252/6518/607 4391/6519/609 -f 4229/5997/609 4391/6519/609 4390/6520/610 -f 4231/6000/610 4390/6520/610 4389/6521/611 -f 4290/6071/572 4528/6548/572 4526/6522/570 -f 4276/6053/573 4529/6525/573 4527/6523/571 -f 4260/6033/558 4530/6526/558 4528/6524/572 -f 4277/6054/560 4531/6527/560 4529/6525/573 -f 4263/6036/559 4532/6528/559 4530/6526/558 -f 4279/6057/561 4533/6529/561 4531/6527/560 -f 4266/6040/562 4534/6530/562 4532/6528/559 -f 4282/6061/563 4535/6531/563 4533/6529/561 -f 4268/6042/564 4536/6532/564 4534/6530/562 -f 4284/6063/565 4537/6533/565 4535/6531/563 -f 4269/6043/566 4538/6534/566 4536/6532/564 -f 4288/6067/567 4540/6536/567 4537/6533/565 -f 4271/6046/568 4541/6537/568 4538/6534/566 -f 4287/6066/570 4526/6522/570 4539/6535/569 -f 4285/6064/569 4539/6535/569 4540/6536/567 -f 4273/6049/571 4527/6523/571 4541/6537/568 -f 4275/6052/620 4274/6224/619 4402/6555/619 -f 4275/6055/620 4292/6556/620 4401/6557/621 -f 4278/6058/621 4401/6557/621 4400/6558/622 -f 4281/6060/608 4280/6225/622 4400/6558/622 -f 4281/6226/608 4399/6559/608 4398/6560/607 -f 4291/6227/610 4396/6564/610 4395/6561/611 -f 4289/6069/609 4283/6068/607 4398/6560/607 -f 4261/6070/612 4286/6228/611 4395/6561/611 -f 4289/6072/609 4397/6562/609 4396/6564/610 -f 4262/6035/615 4261/6034/612 4294/6565/612 -f 4262/6037/615 4407/6566/615 4406/6567/614 -f 4265/6039/613 4264/6222/614 4406/6567/614 -f 4265/6223/613 4405/6568/613 4293/6569/616 -f 4267/6044/616 4293/6569/616 4404/6570/617 -f 4270/6047/617 4404/6570/617 4403/6571/618 -f 4272/6050/618 4403/6571/618 4402/6555/619 -f 4309/6572/561 4408/6575/625 4412/6573/625 -f 4408/6575/625 4308/6577/626 4413/6576/626 -f 4308/6577/626 4307/6579/559 4310/6578/559 -f 4307/6579/559 4410/6581/623 4311/6580/623 -f 4410/6581/623 4409/6629/624 4312/6582/624 -f 4409/6583/624 4309/6572/561 4411/6574/561 -f 4319/6585/568 4414/6588/678 4418/6586/678 -f 4414/6588/678 4321/6590/679 4419/6589/679 -f 4321/6590/679 4416/6592/569 4322/6591/569 -f 4416/6592/569 4320/6594/680 4323/6593/680 -f 4320/6594/680 4415/6630/681 4324/6595/681 -f 4415/6596/681 4319/6585/568 4417/6587/568 -f 4331/6598/569 4420/6601/680 4424/6599/680 -f 4420/6601/680 4333/6603/681 4425/6602/681 -f 4333/6603/681 4422/6605/568 4334/6604/568 -f 4422/6605/568 4332/6607/678 4335/6606/678 -f 4332/6607/678 4421/6631/679 4336/6608/679 -f 4421/6609/679 4331/6598/569 4423/6600/569 -o Huge_Missile -v 0.923880 8.500000 0.382684 -v 0.618718 8.500000 0.618719 -v 0.808395 8.500000 0.334848 -v -0.707107 8.500000 -0.707107 -v -0.808395 8.500000 -0.334848 -v -0.923880 8.500000 -0.382683 -v 0.382683 8.500000 0.923880 -v 0.707107 8.500000 0.707107 -v -0.382683 8.500000 -0.923880 -v -0.618718 8.500000 -0.618719 -v 0.000000 8.500000 0.875000 -v 0.334848 8.500000 0.808394 -v 0.000000 8.500000 -1.000000 -v 0.334848 8.500000 -0.808395 -v 0.000000 8.500000 -0.875000 -v -0.334848 8.500000 -0.808394 -v -0.382683 8.500000 0.923880 -v 0.000000 8.500000 1.000000 -v 0.707107 8.500000 -0.707107 -v 0.382683 8.500000 -0.923880 -v -0.707107 8.500000 0.707107 -v -0.334848 8.500000 0.808394 -v 0.808394 8.500000 -0.334848 -v 0.618718 8.500000 -0.618719 -v -0.923880 8.500000 0.382684 -v -0.618718 8.500000 0.618719 -v 0.923879 8.500000 -0.382684 -v 0.875000 8.500000 0.000000 -v -1.000000 8.500000 0.000000 -v -0.808395 8.500000 0.334848 -v 1.000000 8.500000 0.000000 -v 0.265165 2.000000 -0.359835 -v -0.265165 2.000000 -0.359835 -v -0.265165 2.000000 -0.890165 -v -0.875000 8.500000 0.000000 -v 1.000000 8.250000 0.000000 -v 0.808395 8.250000 0.334848 -v 0.923880 8.250000 0.382684 -v 0.923879 8.250000 -0.382684 -v 0.875000 8.250000 0.000000 -v 0.707107 8.250000 -0.707107 -v 0.808394 8.250000 -0.334848 -v 0.382683 8.250000 -0.923880 -v 0.618718 8.250000 -0.618719 -v 0.000000 8.250000 -1.000000 -v 0.334848 8.250000 -0.808395 -v -0.382683 8.250000 -0.923880 -v 0.000000 8.250000 -0.875000 -v -0.618718 8.250000 -0.618719 -v -0.334848 8.250000 -0.808394 -v -0.707107 8.250000 -0.707107 -v -0.808395 8.250000 -0.334848 -v -0.923880 8.250000 -0.382683 -v -0.875000 8.250000 0.000000 -v -1.000000 8.250000 0.000000 -v -0.808395 8.250000 0.334848 -v -0.923880 8.250000 0.382684 -v -0.618718 8.250000 0.618719 -v -0.382683 8.250000 0.923880 -v -0.707107 8.250000 0.707107 -v 0.000000 8.250000 0.875000 -v -0.334848 8.250000 0.808394 -v 0.382683 8.250000 0.923880 -v 0.000000 8.250000 1.000000 -v 0.707107 8.250000 0.707107 -v 0.334848 8.250000 0.808394 -v 0.618718 8.250000 0.618719 -v -0.883883 2.500000 -0.883883 -v 0.883883 2.500000 -0.883884 -v 0.883883 2.500000 0.883884 -v 1.502602 2.375000 -1.502602 -v 0.839689 2.375000 -0.751301 -v 0.751301 2.375000 -0.839689 -v 0.839689 5.375000 -0.751301 -v 1.502602 3.375000 -1.502602 -v 0.751301 5.375000 -0.839689 -v 0.265165 2.000000 0.890165 -v -0.265165 2.000000 0.890165 -v -0.265165 2.000000 0.359835 -v 0.890165 2.000000 0.265165 -v 0.359835 2.000000 0.265165 -v 0.359835 2.000000 -0.265165 -v -0.359835 2.000000 0.265165 -v -0.890165 2.000000 0.265165 -v -0.890165 2.000000 -0.265165 -v -1.502602 2.375000 1.502602 -v -0.839689 2.375000 0.751301 -v -0.751301 2.375000 0.839689 -v -0.839689 5.375000 0.751301 -v -1.502602 3.375000 1.502602 -v -0.751301 5.375000 0.839689 -v -1.502602 2.375000 -1.502602 -v -0.751301 2.375000 -0.839689 -v -0.839689 2.375000 -0.751301 -v -0.751301 5.375000 -0.839689 -v -1.502602 3.375000 -1.502602 -v -0.839689 5.375000 -0.751301 -v 1.502602 2.375000 1.502601 -v 0.751301 2.375000 0.839689 -v 0.839689 2.375000 0.751301 -v 0.751301 5.375000 0.839689 -v 1.502602 3.375000 1.502601 -v 0.839689 5.375000 0.751301 -v -0.143506 2.000000 -0.971455 -v 0.265165 2.000000 -0.890165 -v 0.000000 2.000000 -1.000000 -v 0.143506 2.000000 -0.971455 -v 0.346455 2.000000 -0.768507 -v 0.375000 2.000000 -0.625000 -v 0.346455 2.000000 -0.481493 -v 0.143506 2.000000 -0.278545 -v 0.000000 2.000000 -0.250000 -v -0.143506 2.000000 -0.278545 -v -0.346455 2.000000 -0.481494 -v -0.375000 2.000000 -0.625000 -v -0.346455 2.000000 -0.768506 -v -0.478354 2.500000 -1.154850 -v 0.000000 2.500000 -1.250000 -v 0.478354 2.500000 -1.154850 -v 1.154849 2.500000 -0.478354 -v 1.250000 2.500000 0.000000 -v 1.154849 2.500000 0.478354 -v 0.478354 2.500000 1.154850 -v 0.000000 2.500000 1.250000 -v -0.478354 2.500000 1.154850 -v -0.883883 2.500000 0.883883 -v -1.154849 2.500000 0.478354 -v -1.250000 2.500000 0.000000 -v -1.154849 2.500000 -0.478354 -v -0.143506 2.000000 0.278545 -v 0.265165 2.000000 0.359835 -v 0.000000 2.000000 0.250000 -v 0.143506 2.000000 0.278545 -v 0.346455 2.000000 0.481493 -v 0.375000 2.000000 0.625000 -v 0.346455 2.000000 0.768507 -v 0.143506 2.000000 0.971455 -v 0.000000 2.000000 1.000000 -v -0.143506 2.000000 0.971455 -v -0.346455 2.000000 0.768506 -v -0.375000 2.000000 0.625000 -v -0.346455 2.000000 0.481494 -v 0.481494 2.000000 -0.346455 -v 0.890165 2.000000 -0.265165 -v 0.625000 2.000000 -0.375000 -v 0.768506 2.000000 -0.346455 -v 0.971455 2.000000 -0.143507 -v 1.000000 2.000000 0.000000 -v 0.971455 2.000000 0.143507 -v 0.768506 2.000000 0.346455 -v 0.625000 2.000000 0.375000 -v 0.481494 2.000000 0.346455 -v 0.278545 2.000000 0.143506 -v 0.250000 2.000000 0.000000 -v 0.278545 2.000000 -0.143506 -v -0.768506 2.000000 -0.346455 -v -0.359835 2.000000 -0.265165 -v -0.625000 2.000000 -0.375000 -v -0.481494 2.000000 -0.346455 -v -0.278545 2.000000 -0.143507 -v -0.250000 2.000000 0.000000 -v -0.278545 2.000000 0.143507 -v -0.481494 2.000000 0.346455 -v -0.625000 2.000000 0.375000 -v -0.768506 2.000000 0.346455 -v -0.971455 2.000000 0.143506 -v -1.000000 2.000000 0.000000 -v -0.971455 2.000000 -0.143506 -v -1.250000 7.250000 0.000000 -v -1.154849 7.250000 0.478354 -v -0.707107 11.500000 -0.707107 -v -0.334848 13.000000 -0.808394 -v -0.382683 11.500000 -0.923880 -v 0.707107 11.500000 0.707107 -v 0.334848 13.000000 0.808394 -v 0.382683 11.500000 0.923880 -v -0.923880 11.500000 -0.382683 -v -0.618718 13.000000 -0.618719 -v 0.923880 11.500000 0.382684 -v 0.618718 13.000000 0.618719 -v -1.000000 11.500000 0.000000 -v -0.808395 13.000000 -0.334848 -v 0.875000 13.000000 0.000000 -v 0.808395 13.000000 0.334848 -v -0.923880 11.500000 0.382684 -v -0.875000 13.000000 0.000000 -v 0.923879 11.500000 -0.382684 -v 1.000000 11.500000 0.000000 -v -0.707107 11.500000 0.707107 -v -0.808395 13.000000 0.334848 -v 0.707107 11.500000 -0.707107 -v 0.808394 13.000000 -0.334848 -v -0.382683 11.500000 0.923880 -v -0.618718 13.000000 0.618719 -v 0.382683 11.500000 -0.923880 -v 0.618718 13.000000 -0.618719 -v 0.000000 11.500000 1.000000 -v -0.334848 13.000000 0.808394 -v 0.000000 13.000000 -0.875000 -v 0.000000 11.500000 -1.000000 -v 0.334848 13.000000 -0.808395 -v 0.000000 13.000000 0.875000 -v 1.154849 7.250000 0.478354 -v 1.250000 7.250000 0.000000 -v 0.000000 15.499999 0.000001 -v -1.154849 7.250000 -0.478354 -v 0.883883 7.250000 0.883884 -v -0.883883 7.250000 -0.883883 -v 0.478354 7.250000 1.154850 -v -0.478354 7.250000 -1.154850 -v 0.000000 7.250000 1.250000 -v 0.478354 7.250000 -1.154850 -v 0.000000 7.250000 -1.250000 -v -0.478354 7.250000 1.154850 -v 0.883883 7.250000 -0.883884 -v 0.346455 2.250000 -0.481493 -v 0.176777 2.500000 -0.448223 -v 0.265165 2.250000 -0.359835 -v 0.143506 2.250000 -0.278545 -v 0.095671 2.500000 -0.394030 -v 0.000000 2.500000 -0.375000 -v 0.000000 2.250000 -0.250000 -v -0.143506 2.250000 -0.278545 -v -0.095671 2.500000 -0.394030 -v -0.176777 2.500000 -0.448223 -v -0.265165 2.250000 -0.359835 -v -0.230970 2.500000 -0.529329 -v -0.346455 2.250000 -0.481494 -v -0.250000 2.500000 -0.625000 -v -0.375000 2.250000 -0.625000 -v -0.230970 2.500000 -0.720671 -v -0.346455 2.250000 -0.768506 -v -0.176777 2.500000 -0.801777 -v -0.265165 2.250000 -0.890165 -v -0.143506 2.250000 -0.971455 -v -0.095671 2.500000 -0.855970 -v 0.000000 2.500000 -0.875000 -v 0.000000 2.250000 -1.000000 -v 0.095671 2.500000 -0.855970 -v 0.143506 2.250000 -0.971455 -v 0.176777 2.500000 -0.801777 -v 0.265165 2.250000 -0.890165 -v 0.346455 2.250000 -0.768507 -v 0.230970 2.500000 -0.720671 -v 0.375000 2.250000 -0.625000 -v 0.250000 2.500000 -0.625000 -v 0.230970 2.500000 -0.529329 -v 1.154849 7.250000 -0.478354 -v -0.883883 7.250000 0.883883 -v 0.717107 9.313000 -0.717107 -v 0.392683 10.500000 -0.933880 -v 0.717107 10.500000 -0.717107 -v 0.933879 9.313000 -0.392684 -v 0.933879 10.500000 -0.392684 -v 1.010000 9.313000 -0.010000 -v 1.010000 10.500000 -0.010000 -v 0.346455 2.250000 0.768507 -v 0.176777 2.500000 0.801777 -v 0.265165 2.250000 0.890165 -v 0.143506 2.250000 0.971455 -v 0.095671 2.500000 0.855970 -v 0.000000 2.500000 0.875000 -v 0.000000 2.250000 1.000000 -v -0.143506 2.250000 0.971455 -v -0.095671 2.500000 0.855970 -v -0.176777 2.500000 0.801777 -v -0.265165 2.250000 0.890165 -v -0.230970 2.500000 0.720671 -v -0.346455 2.250000 0.768506 -v -0.250000 2.500000 0.625000 -v -0.375000 2.250000 0.625000 -v -0.346455 2.250000 0.481494 -v -0.230970 2.500000 0.529329 -v -0.176777 2.500000 0.448223 -v -0.265165 2.250000 0.359835 -v -0.143506 2.250000 0.278545 -v -0.095671 2.500000 0.394030 -v 0.000000 2.250000 0.250000 -v 0.000000 2.500000 0.375000 -v 0.095671 2.500000 0.394030 -v 0.143506 2.250000 0.278545 -v 0.265165 2.250000 0.359835 -v 0.176777 2.500000 0.448223 -v 0.346455 2.250000 0.481493 -v 0.230970 2.500000 0.529329 -v 0.375000 2.250000 0.625000 -v 0.250000 2.500000 0.625000 -v 0.230970 2.500000 0.720671 -v 0.971455 2.250000 0.143507 -v 0.801777 2.500000 0.176777 -v 0.890165 2.250000 0.265165 -v 0.768506 2.250000 0.346455 -v 0.720671 2.500000 0.230970 -v 0.625000 2.500000 0.250000 -v 0.625000 2.250000 0.375000 -v 0.481494 2.250000 0.346455 -v 0.529329 2.500000 0.230970 -v 0.448223 2.500000 0.176777 -v 0.359835 2.250000 0.265165 -v 0.394030 2.500000 0.095671 -v 0.278545 2.250000 0.143506 -v 0.375000 2.500000 0.000000 -v 0.250000 2.250000 0.000000 -v 0.278545 2.250000 -0.143506 -v 0.394030 2.500000 -0.095671 -v 0.448223 2.500000 -0.176777 -v 0.359835 2.250000 -0.265165 -v 0.481494 2.250000 -0.346455 -v 0.529329 2.500000 -0.230970 -v 0.625000 2.500000 -0.250000 -v 0.625000 2.250000 -0.375000 -v 0.720671 2.500000 -0.230970 -v 0.768506 2.250000 -0.346455 -v 0.801777 2.500000 -0.176777 -v 0.890165 2.250000 -0.265165 -v 0.971455 2.250000 -0.143507 -v 0.855970 2.500000 -0.095671 -v 1.000000 2.250000 0.000000 -v 0.875000 2.500000 0.000000 -v 0.855970 2.500000 0.095671 -v -0.278545 2.250000 0.143507 -v -0.448223 2.500000 0.176777 -v -0.359835 2.250000 0.265165 -v -0.481494 2.250000 0.346455 -v -0.529329 2.500000 0.230970 -v -0.625000 2.500000 0.250000 -v -0.625000 2.250000 0.375000 -v -0.768506 2.250000 0.346455 -v -0.720671 2.500000 0.230970 -v -0.801777 2.500000 0.176777 -v -0.890165 2.250000 0.265165 -v -0.855970 2.500000 0.095671 -v -0.971455 2.250000 0.143506 -v -0.875000 2.500000 0.000000 -v -1.000000 2.250000 0.000000 -v -0.971455 2.250000 -0.143506 -v -0.855970 2.500000 -0.095671 -v -0.801777 2.500000 -0.176777 -v -0.890165 2.250000 -0.265165 -v -0.768506 2.250000 -0.346455 -v -0.720671 2.500000 -0.230970 -v -0.625000 2.500000 -0.250000 -v -0.625000 2.250000 -0.375000 -v -0.529329 2.500000 -0.230970 -v -0.481494 2.250000 -0.346455 -v -0.448223 2.500000 -0.176777 -v -0.359835 2.250000 -0.265165 -v -0.278545 2.250000 -0.143507 -v -0.394030 2.500000 -0.095671 -v -0.250000 2.250000 0.000000 -v -0.375000 2.500000 0.000000 -v -0.394030 2.500000 0.095671 -v -0.717106 9.313000 0.717107 -v -0.392683 10.500000 0.933880 -v -0.717106 10.500000 0.717107 -v -0.933879 9.313000 0.392684 -v -0.933879 10.500000 0.392684 -v -1.010000 9.313000 0.010000 -v -1.010000 10.500000 0.010000 -v 0.392683 9.313000 -0.933880 -v -0.392683 9.313000 0.933880 -vt 0.291667 0.471698 -vt 0.250000 0.462264 -vt 0.291667 0.462264 -vt 0.583333 0.471698 -vt 0.625000 0.462264 -vt 0.625000 0.471698 -vt 0.208333 0.471698 -vt 0.250000 0.471698 -vt 0.541667 0.471698 -vt 0.583333 0.462264 -vt 0.166667 0.462264 -vt 0.208333 0.462264 -vt 0.500000 0.471698 -vt 0.458333 0.462264 -vt 0.500000 0.462264 -vt 0.541667 0.462264 -vt 0.125000 0.471698 -vt 0.166667 0.471698 -vt 0.416667 0.471698 -vt 0.458333 0.471698 -vt 0.083333 0.471698 -vt 0.125000 0.462264 -vt 0.375000 0.462264 -vt 0.416667 0.462264 -vt 0.041667 0.471698 -vt 0.083333 0.462264 -vt 0.375000 0.471698 -vt 0.333333 0.462264 -vt -0.000000 0.471698 -vt 0.041667 0.462264 -vt 0.333333 0.471698 -vt 0.678877 0.708687 -vt 0.678877 0.668671 -vt 0.737790 0.668671 -vt 0.666667 0.462264 -vt 0.666667 0.471698 -vt 0.333333 0.433962 -vt 0.291667 0.443396 -vt 0.291667 0.433962 -vt 0.375000 0.433962 -vt 0.333333 0.443396 -vt 0.416667 0.433962 -vt 0.375000 0.443396 -vt 0.458333 0.433962 -vt 0.416667 0.443396 -vt 0.500000 0.433962 -vt 0.458333 0.443396 -vt 0.541667 0.433962 -vt 0.500000 0.443396 -vt 0.583333 0.443396 -vt 0.541667 0.443396 -vt 0.583333 0.433962 -vt 0.625000 0.443396 -vt 0.625000 0.433962 -vt 0.666667 0.443396 -vt 0.000000 0.433962 -vt 0.041667 0.443396 -vt 0.000000 0.443396 -vt 0.041667 0.433962 -vt 0.083333 0.443396 -vt 0.125000 0.433962 -vt 0.083333 0.433962 -vt 0.166667 0.443396 -vt 0.125000 0.443396 -vt 0.208333 0.433962 -vt 0.166667 0.433962 -vt 0.250000 0.433962 -vt 0.208333 0.443396 -vt 0.250000 0.443396 -vt 0.903652 0.461671 -vt 0.903652 0.594933 -vt 0.707459 0.594933 -vt 1.000000 0.004717 -vt 0.888889 0.004717 -vt 0.888889 -0.000000 -vt 0.888889 0.231132 -vt 1.000000 0.231132 -vt 0.888889 0.235849 -vt 1.000000 0.080189 -vt 0.888889 0.004717 -vt 0.678877 0.708687 -vt 0.678877 0.668671 -vt 0.737790 0.668671 -vt 0.678877 0.708687 -vt 0.678877 0.668671 -vt 0.737790 0.668671 -vt 0.678877 0.708687 -vt 0.678877 0.668671 -vt 0.737790 0.668671 -vt 1.000000 0.004717 -vt 0.888889 0.004717 -vt 0.888889 -0.000000 -vt 0.888889 0.231132 -vt 1.000000 0.231132 -vt 0.888889 0.235849 -vt 1.000000 0.080189 -vt 0.888889 0.004717 -vt 1.000000 0.004717 -vt 0.888889 0.004717 -vt 0.888889 -0.000000 -vt 0.888889 0.231132 -vt 1.000000 0.231132 -vt 0.888889 0.235849 -vt 1.000000 0.080189 -vt 0.888889 0.004717 -vt 1.000000 0.004717 -vt 0.888889 0.004717 -vt 0.888889 -0.000000 -vt 0.888889 0.231132 -vt 1.000000 0.231132 -vt 0.888889 0.235849 -vt 1.000000 0.080189 -vt 0.888889 0.004717 -vt 0.000000 0.462264 -vt 0.746820 0.677851 -vt 0.737790 0.708687 -vt 0.749991 0.688679 -vt 0.746820 0.699508 -vt 0.724275 0.714821 -vt 0.708333 0.716975 -vt 0.692392 0.714821 -vt 0.669847 0.699508 -vt 0.666676 0.688679 -vt 0.669847 0.677851 -vt 0.692392 0.662537 -vt 0.708333 0.660383 -vt 0.724275 0.662537 -vt 0.666667 0.433962 -vt 0.933724 0.492241 -vt 0.944284 0.528302 -vt 0.933724 0.564363 -vt 0.858645 0.615360 -vt 0.805556 0.622533 -vt 0.752466 0.615360 -vt 0.677387 0.564362 -vt 0.666827 0.528302 -vt 0.677387 0.492241 -vt 0.707459 0.461671 -vt 0.752466 0.441244 -vt 0.805556 0.434071 -vt 0.858645 0.441244 -vt 0.888889 0.231132 -vt 0.746820 0.677851 -vt 0.737790 0.708687 -vt 0.749991 0.688679 -vt 0.746820 0.699508 -vt 0.724275 0.714821 -vt 0.708333 0.716975 -vt 0.692392 0.714821 -vt 0.669847 0.699508 -vt 0.666676 0.688679 -vt 0.669847 0.677851 -vt 0.692392 0.662537 -vt 0.708333 0.660383 -vt 0.724275 0.662537 -vt 0.746820 0.677851 -vt 0.737790 0.708687 -vt 0.749991 0.688679 -vt 0.746820 0.699508 -vt 0.724275 0.714821 -vt 0.708333 0.716975 -vt 0.692392 0.714821 -vt 0.669847 0.699508 -vt 0.666676 0.688679 -vt 0.669847 0.677851 -vt 0.692392 0.662537 -vt 0.708333 0.660383 -vt 0.724275 0.662537 -vt 0.746820 0.677851 -vt 0.737790 0.708687 -vt 0.749991 0.688679 -vt 0.746820 0.699508 -vt 0.724275 0.714821 -vt 0.708333 0.716975 -vt 0.692392 0.714821 -vt 0.669847 0.699508 -vt 0.666676 0.688679 -vt 0.669847 0.677851 -vt 0.692392 0.662537 -vt 0.708333 0.660383 -vt 0.724275 0.662537 -vt 0.888889 0.231132 -vt 0.888889 0.231132 -vt 0.888889 0.231132 -vt -0.000000 0.358491 -vt 0.055556 0.000000 -vt 0.055556 0.358491 -vt 0.583333 0.698113 -vt 0.541667 0.811321 -vt 0.541667 0.698113 -vt 0.250000 0.698113 -vt 0.208333 0.811321 -vt 0.208333 0.698113 -vt 0.625000 0.698113 -vt 0.583333 0.811321 -vt 0.291667 0.698113 -vt 0.250000 0.811321 -vt 0.666667 0.698113 -vt 0.625000 0.811321 -vt 0.326389 0.811321 -vt 0.291667 0.811321 -vt 0.041667 0.698113 -vt 0.000000 0.811321 -vt -0.000000 0.698113 -vt 0.375000 0.698113 -vt 0.333333 0.811321 -vt 0.333333 0.698113 -vt 0.083333 0.698113 -vt 0.041667 0.811321 -vt 0.416667 0.698113 -vt 0.375000 0.811321 -vt 0.125000 0.698113 -vt 0.083333 0.811321 -vt 0.458333 0.698113 -vt 0.416667 0.811321 -vt 0.166667 0.698113 -vt 0.125000 0.811321 -vt 0.500000 0.811321 -vt 0.500000 0.698113 -vt 0.458333 0.811321 -vt 0.166667 0.811321 -vt 0.388889 0.358491 -vt 0.444444 0.000000 -vt 0.444444 0.358491 -vt 0.576389 0.811321 -vt 0.562500 1.000000 -vt 0.618056 0.811321 -vt 0.604167 1.000000 -vt 0.659722 0.811321 -vt 0.645833 1.000000 -vt 0.034722 0.811321 -vt 0.020833 1.000000 -vt 0.076389 0.811321 -vt 0.062500 1.000000 -vt 0.118056 0.811321 -vt 0.104167 1.000000 -vt 0.159722 0.811321 -vt 0.145833 1.000000 -vt 0.194444 0.811321 -vt 0.187500 1.000000 -vt 0.243056 0.811321 -vt 0.229167 1.000000 -vt 0.284722 0.811321 -vt 0.270833 1.000000 -vt 0.312500 1.000000 -vt 0.368056 0.811321 -vt 0.354167 1.000000 -vt 0.409722 0.811321 -vt 0.395833 1.000000 -vt 0.451389 0.811321 -vt 0.437500 1.000000 -vt 0.493056 0.811321 -vt 0.479167 1.000000 -vt 0.534722 0.811321 -vt 0.520833 1.000000 -vt 0.833333 0.358491 -vt 0.888889 0.000000 -vt 0.888889 0.358491 -vt 0.333333 0.358491 -vt 0.388889 -0.000000 -vt 0.777778 0.358491 -vt 0.833333 0.000000 -vt 0.277778 0.358491 +vt 0.083333 0.136364 +vt 0.000000 0.181818 +vt 0.083333 0.340909 +vt 0.333333 0.386364 +vt 0.250000 0.340909 +vt 0.333333 0.204545 +vt 0.250000 0.250000 vt 0.333333 -0.000000 -vt 0.722222 0.358491 -vt 0.777778 0.000000 -vt 0.222222 0.358491 -vt 0.277778 0.000000 -vt 0.611111 0.358491 +vt 0.083333 0.045455 +vt 0.333333 0.181818 +vt 0.250000 0.045455 +vt 0.250000 0.136364 +vt 0.083333 0.136364 +vt 0.250000 0.113636 +vt 0.250000 0.136364 +vt 0.083333 0.136364 +vt 0.250000 0.113636 +vt 0.250000 0.136364 +vt -0.000000 0.204545 +vt 0.333333 0.181818 +vt 0.333333 0.204545 +vt -0.000000 0.204545 +vt 0.333333 0.181818 +vt 0.333333 0.204545 +vt 0.083333 0.136364 +vt 0.250000 0.113636 +vt 0.250000 0.136364 +vt 0.083333 0.136364 +vt 0.250000 0.113636 +vt 0.250000 0.136364 +vt -0.000000 0.204545 +vt 0.333333 0.181818 +vt 0.333333 0.204545 +vt 0.083333 0.340909 +vt 0.250000 0.250000 +vt 0.250000 0.340909 +vt 0.125000 0.454545 +vt 0.187500 0.386364 +vt 0.187500 0.454545 +vt -0.000000 0.454545 +vt 0.062500 0.386364 +vt 0.062500 0.454545 +vt 0.250000 0.386364 +vt 0.250000 0.454545 +vt 0.125000 0.386364 +vt 0.208333 0.954545 +vt 0.145833 0.863636 +vt 0.208333 0.863636 +vt 0.083333 0.863636 +vt 0.125000 0.954545 +vt 0.083333 0.954545 +vt 0.000000 0.863636 +vt 0.062500 0.954545 +vt 0.000000 0.954545 +vt 0.125000 0.863636 +vt 0.062500 0.852273 +vt 0.062500 0.863636 +vt 0.145833 0.954545 +vt 0.145833 0.965909 +vt 0.187500 0.454545 +vt 0.000000 0.522727 +vt 0.000000 0.454545 +vt 0.333333 0.909091 +vt 0.416667 0.954545 +vt 0.333333 0.954545 +vt 0.333333 0.909091 +vt 0.416667 0.954545 +vt 0.333333 0.954545 vt 0.666667 0.000000 -vt 0.666667 0.358491 -vt 0.729167 0.000000 -vt 0.166667 0.358491 -vt 0.222222 -0.000000 -vt 0.555556 0.358491 -vt 0.611111 0.000000 -vt 0.708333 0.641509 -vt 0.694444 0.660377 -vt 0.694444 0.641509 -vt 0.680556 0.641509 -vt 0.680556 0.660377 -vt 0.666667 0.660377 -vt 0.666667 0.641509 -vt 0.875000 0.641509 -vt 0.888889 0.660377 -vt 0.875000 0.660377 -vt 0.861111 0.660377 -vt 0.861111 0.641509 -vt 0.847222 0.660377 -vt 0.847222 0.641509 -vt 0.833333 0.660377 -vt 0.833333 0.641509 -vt 0.819444 0.660377 -vt 0.819444 0.641509 -vt 0.805556 0.660377 -vt 0.805556 0.641509 -vt 0.791667 0.641509 -vt 0.791667 0.660377 -vt 0.777778 0.660377 -vt 0.777778 0.641509 -vt 0.763889 0.660377 -vt 0.763889 0.641509 -vt 0.750000 0.660377 -vt 0.750000 0.641509 -vt 0.736111 0.641509 -vt 0.736111 0.660377 -vt 0.722222 0.641509 -vt 0.722222 0.660377 -vt 0.819444 0.622642 -vt 0.805556 0.622642 -vt 0.694444 0.622642 -vt 0.680556 0.622642 -vt 0.791667 0.622642 -vt 0.666667 0.622642 -vt 0.777778 0.622642 -vt 0.763889 0.622642 -vt 0.888889 0.622642 -vt 0.875000 0.622642 -vt 0.750000 0.622642 -vt 0.861111 0.622642 -vt 0.736111 0.622642 -vt 0.847222 0.622642 -vt 0.722222 0.622642 -vt 0.833333 0.622642 -vt 0.708333 0.622642 -vt 0.708333 0.660377 -vt 0.555556 0.433962 -vt 0.611111 0.433962 +vt 0.583333 0.909091 +vt 0.583333 0.000000 +vt 0.416667 -0.000000 +vt 0.333333 -0.000000 +vt 0.583333 0.000000 +vt 0.500000 0.909091 vt 0.500000 0.000000 -vt 0.500000 0.358491 -vt 0.166667 0.433962 -vt 0.111111 0.358491 -vt 0.500000 0.433962 -vt 0.055556 0.433962 -vt 0.111111 0.433962 -vt 0.444444 0.433962 -vt 0.833333 0.433962 -vt 0.888889 0.433962 -vt 0.333333 0.433962 -vt 0.388889 0.433962 -vt 0.777778 0.433962 -vt 0.722222 0.433962 -vt 0.222222 0.433962 -vt 0.277778 0.433962 -vt 0.666667 0.433962 -vt 0.166667 -0.000000 -vt 0.555556 -0.000000 -vt 0.111111 -0.000000 -vt 0.847222 0.716981 -vt 0.937500 0.900943 -vt 0.847222 0.900943 -vt 0.756944 0.716981 -vt 0.756944 0.900943 -vt 0.666667 0.716981 -vt 0.666667 0.900943 -vt 0.708333 0.641509 -vt 0.694444 0.660377 -vt 0.694444 0.641509 -vt 0.680556 0.641509 -vt 0.680556 0.660377 -vt 0.666667 0.660377 -vt 0.666667 0.641509 -vt 0.875000 0.641509 -vt 0.888889 0.660377 -vt 0.875000 0.660377 -vt 0.861111 0.660377 -vt 0.861111 0.641509 -vt 0.847222 0.660377 -vt 0.847222 0.641509 -vt 0.833333 0.660377 -vt 0.833333 0.641509 -vt 0.819444 0.641509 -vt 0.819444 0.660377 -vt 0.805556 0.660377 -vt 0.805556 0.641509 -vt 0.791667 0.641509 -vt 0.791667 0.660377 -vt 0.777778 0.641509 -vt 0.777778 0.660377 -vt 0.763889 0.660377 -vt 0.763889 0.641509 -vt 0.750000 0.641509 -vt 0.750000 0.660377 -vt 0.736111 0.641509 -vt 0.736111 0.660377 -vt 0.722222 0.641509 -vt 0.722222 0.660377 -vt 0.819444 0.622642 -vt 0.805556 0.622642 -vt 0.694444 0.622642 -vt 0.680556 0.622642 -vt 0.791667 0.622642 -vt 0.666667 0.622642 -vt 0.777778 0.622642 -vt 0.763889 0.622642 -vt 0.888889 0.622642 -vt 0.875000 0.622642 -vt 0.750000 0.622642 -vt 0.861111 0.622642 -vt 0.736111 0.622642 -vt 0.847222 0.622642 -vt 0.722222 0.622642 -vt 0.833333 0.622642 -vt 0.708333 0.622642 -vt 0.708333 0.660377 -vt 0.708333 0.641509 -vt 0.694444 0.660377 -vt 0.694444 0.641509 -vt 0.680556 0.641509 -vt 0.680556 0.660377 -vt 0.666667 0.660377 -vt 0.666667 0.641509 -vt 0.875000 0.641509 -vt 0.888889 0.660377 -vt 0.875000 0.660377 -vt 0.861111 0.660377 -vt 0.861111 0.641509 -vt 0.847222 0.660377 -vt 0.847222 0.641509 -vt 0.833333 0.660377 -vt 0.833333 0.641509 -vt 0.819444 0.641509 -vt 0.819444 0.660377 -vt 0.805556 0.660377 -vt 0.805556 0.641509 -vt 0.791667 0.641509 -vt 0.791667 0.660377 -vt 0.777778 0.660377 -vt 0.777778 0.641509 -vt 0.763889 0.660377 -vt 0.763889 0.641509 -vt 0.750000 0.660377 -vt 0.750000 0.641509 -vt 0.736111 0.641509 -vt 0.736111 0.660377 -vt 0.722222 0.641509 -vt 0.722222 0.660377 -vt 0.819444 0.622642 -vt 0.805556 0.622642 -vt 0.694444 0.622642 -vt 0.680556 0.622642 -vt 0.791667 0.622642 -vt 0.666667 0.622642 -vt 0.777778 0.622642 -vt 0.763889 0.622642 -vt 0.888889 0.622642 -vt 0.875000 0.622642 -vt 0.750000 0.622642 -vt 0.861111 0.622642 -vt 0.736111 0.622642 -vt 0.847222 0.622642 -vt 0.722222 0.622642 -vt 0.833333 0.622642 -vt 0.708333 0.622642 -vt 0.708333 0.660377 -vt 0.708333 0.641509 -vt 0.694444 0.660377 -vt 0.694444 0.641509 -vt 0.680556 0.641509 -vt 0.680556 0.660377 -vt 0.666667 0.660377 -vt 0.666667 0.641509 -vt 0.875000 0.641509 -vt 0.888889 0.660377 -vt 0.875000 0.660377 -vt 0.861111 0.660377 -vt 0.861111 0.641509 -vt 0.847222 0.660377 -vt 0.847222 0.641509 -vt 0.833333 0.660377 -vt 0.833333 0.641509 -vt 0.819444 0.641509 -vt 0.819444 0.660377 -vt 0.805556 0.660377 -vt 0.805556 0.641509 -vt 0.791667 0.641509 -vt 0.791667 0.660377 -vt 0.777778 0.660377 -vt 0.777778 0.641509 -vt 0.763889 0.660377 -vt 0.763889 0.641509 -vt 0.750000 0.660377 -vt 0.750000 0.641509 -vt 0.736111 0.641509 -vt 0.736111 0.660377 -vt 0.722222 0.641509 -vt 0.722222 0.660377 -vt 0.819444 0.622642 -vt 0.805556 0.622642 -vt 0.694444 0.622642 -vt 0.680556 0.622642 -vt 0.791667 0.622642 -vt 0.666667 0.622642 -vt 0.777778 0.622642 -vt 0.763889 0.622642 -vt 0.888889 0.622642 -vt 0.875000 0.622642 -vt 0.750000 0.622642 -vt 0.861111 0.622642 -vt 0.736111 0.622642 -vt 0.847222 0.622642 -vt 0.722222 0.622642 -vt 0.833333 0.622642 -vt 0.708333 0.622642 -vt 0.708333 0.660377 -vt 0.847222 0.716981 -vt 0.937500 0.900943 -vt 0.847222 0.900943 -vt 0.756944 0.716981 -vt 0.756944 0.900943 -vt 0.666667 0.716981 -vt 0.666667 0.900943 -vt 0.000000 0.000000 -vt 0.888889 0.641509 -vt 0.937500 0.716981 -vt 0.888889 0.641509 -vt 0.888889 0.641509 -vt 0.888889 0.641509 -vt 0.937500 0.716981 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.6325 0.4472 -0.6325 -vn 0.7498 -0.0000 0.6616 -vn -0.6616 0.0000 -0.7498 -vn -0.6325 0.4472 0.6325 -vn -0.7498 0.0000 -0.6616 -vn 0.6616 -0.0000 0.7498 -vn -0.6325 0.4472 -0.6325 -vn 0.6616 0.0000 -0.7498 -vn -0.7498 -0.0000 0.6616 -vn 0.6325 0.4472 0.6325 -vn -0.6616 0.0000 0.7498 -vn 0.7498 0.0000 -0.6616 -vn -1.0000 0.0000 0.0000 -vn -0.9239 -0.0000 0.3827 -vn -0.7047 0.0830 -0.7047 -vn -0.3814 0.0830 -0.9207 -vn 0.7047 0.0830 0.7047 -vn 0.3814 0.0830 0.9207 -vn -0.9207 0.0830 -0.3814 -vn 0.9207 0.0830 0.3814 -vn -0.9965 0.0830 0.0000 -vn 0.9965 0.0830 -0.0000 -vn -0.9207 0.0830 0.3814 -vn 0.9207 0.0830 -0.3814 -vn -0.7047 0.0830 0.7047 -vn 0.7047 0.0830 -0.7047 -vn -0.3814 0.0830 0.9207 -vn 0.3814 0.0830 -0.9207 -vn -0.0000 0.0830 0.9965 -vn -0.0000 0.0830 -0.9965 -vn 0.9239 -0.0000 0.3827 -vn 1.0000 -0.0000 -0.0000 -vn -0.3612 0.3304 -0.8720 -vn -0.6674 0.3304 -0.6674 -vn -0.8720 0.3304 -0.3612 -vn -0.9439 0.3304 -0.0000 -vn -0.8720 0.3304 0.3612 -vn -0.6674 0.3304 0.6674 -vn -0.3612 0.3304 0.8720 -vn 0.0000 0.3304 0.9439 -vn 0.3612 0.3304 0.8720 -vn 0.6674 0.3304 0.6674 -vn 0.8720 0.3304 0.3612 -vn 0.9439 0.3304 -0.0000 -vn 0.8720 0.3304 -0.3612 -vn 0.6674 0.3304 -0.6674 -vn 0.3612 0.3304 -0.8720 -vn -0.0000 0.3304 -0.9439 -vn -0.9239 0.0000 -0.3827 -vn 0.7071 -0.0000 0.7071 -vn -0.7071 0.0000 -0.7071 -vn 0.3827 -0.0000 0.9239 -vn -0.3827 0.0000 -0.9239 -vn 0.0000 -0.0000 1.0000 -vn 0.3827 0.0000 -0.9239 -vn 0.0000 0.0000 -1.0000 -vn -0.3827 -0.0000 0.9239 -vn 0.7071 0.0000 -0.7071 -vn 0.8263 0.4472 0.3423 -vn 0.3423 0.4472 0.8263 -vn 0.0000 0.4472 0.8944 -vn -0.3423 0.4472 0.8263 -vn -0.8263 0.4472 0.3423 -vn -0.8944 0.4472 0.0000 -vn -0.8263 0.4472 -0.3423 -vn -0.3423 0.4472 -0.8263 -vn -0.0000 0.4472 -0.8944 -vn 0.3423 0.4472 -0.8263 -vn 0.8263 0.4472 -0.3423 -vn 0.8944 0.4472 0.0000 -vn -0.7071 0.0000 0.7071 -vn 0.9239 0.0000 -0.3827 -vn 0.6860 0.2425 -0.6860 -vn 0.3713 0.2425 -0.8963 -vn -0.3713 0.2425 0.8963 -vn -0.6860 0.2425 0.6860 -vn 0.8963 0.2425 -0.3713 -vn -0.8963 0.2425 0.3713 -vn 0.9701 0.2425 -0.0000 -vn -0.9701 0.2425 -0.0000 -vn 0.8963 0.2425 0.3713 -vn -0.8963 0.2425 -0.3713 -vn 0.6860 0.2425 0.6860 -vn -0.6860 0.2425 -0.6860 -vn 0.3713 0.2425 0.8963 -vn -0.3713 0.2425 -0.8963 -vn -0.0000 0.2425 0.9701 -vn 0.0000 0.2425 -0.9701 -vn 0.5556 0.0000 -0.8315 -vn 0.9808 0.0000 -0.1951 -vn -0.5556 -0.0000 0.8315 -vn -0.9808 -0.0000 0.1951 -s off -f 4543/6632/682 4544/6633/682 4545/6634/682 -f 4546/6635/682 4547/6636/682 4548/6637/682 -f 4549/6638/682 4544/6633/682 4550/6639/682 -f 4551/6640/682 4552/6641/682 4546/6635/682 -f 4549/6638/682 4553/6642/682 4554/6643/682 -f 4555/6644/682 4556/6645/682 4557/6646/682 -f 4551/6640/682 4557/6646/682 4558/6647/682 -f 4559/6648/682 4553/6642/682 4560/6649/682 -f 4561/6650/682 4556/6645/682 4562/6651/682 -f 4563/6652/682 4564/6653/682 4559/6648/682 -f 4561/6650/682 4565/6654/682 4566/6655/682 -f 4567/6656/682 4568/6657/682 4563/6652/682 -f 4569/6658/682 4570/6659/682 4565/6654/682 -f 4571/6660/682 4572/6661/682 4567/6656/682 -f 4573/6662/682 4545/6634/682 4570/6659/682 -f 4574/6663/682 4575/6664/682 4576/6665/682 -f 4548/6637/682 4577/6666/682 4571/6667/682 -f 4578/6668/683 4579/6669/683 4580/6670/683 -f 4581/6671/683 4582/6672/683 4578/6668/683 -f 4583/6673/683 4584/6674/683 4581/6671/683 -f 4585/6675/683 4586/6676/683 4583/6673/683 -f 4587/6677/683 4588/6678/683 4585/6675/683 -f 4589/6679/683 4590/6680/683 4587/6677/683 -f 4589/6679/683 4591/6681/683 4592/6682/683 -f 4593/6683/683 4594/6684/683 4591/6681/683 -f 4595/6685/683 4596/6686/683 4594/6684/683 -f 4597/6687/683 4598/6688/683 4596/6689/683 -f 4599/6690/683 4600/6691/683 4598/6688/683 -f 4601/6692/683 4600/6691/683 4602/6693/683 -f 4601/6692/683 4603/6694/683 4604/6695/683 -f 4605/6696/683 4603/6694/683 4606/6697/683 -f 4607/6698/683 4608/6699/683 4605/6696/683 -f 4580/6670/683 4609/6700/683 4607/6698/683 -f 4610/6701/682 4611/6702/682 4612/6703/682 -f 4613/6704/682 4614/6705/682 4615/6706/682 -f 4616/6707/684 4617/6708/684 4618/6709/684 -f 4614/6705/685 4617/6710/685 4616/6707/685 -f 4615/6711/686 4617/6710/686 4613/6704/686 -f 4619/6712/682 4620/6713/682 4621/6714/682 -f 4622/6715/682 4623/6716/682 4624/6717/682 -f 4625/6718/682 4626/6719/682 4627/6720/682 -f 4628/6721/682 4629/6722/682 4630/6723/682 -f 4631/6724/687 4632/6725/687 4633/6726/687 -f 4629/6722/688 4632/6727/688 4631/6724/688 -f 4630/6728/689 4632/6727/689 4628/6721/689 -f 4634/6729/682 4635/6730/682 4636/6731/682 -f 4637/6732/690 4638/6733/690 4639/6734/690 -f 4635/6730/691 4638/6735/691 4637/6732/691 -f 4636/6736/692 4638/6735/692 4634/6729/692 -f 4640/6737/682 4641/6738/682 4642/6739/682 -f 4643/6740/693 4644/6741/693 4645/6742/693 -f 4641/6738/694 4644/6743/694 4643/6740/694 -f 4642/6744/695 4644/6743/695 4640/6737/695 -f 4543/6632/682 4550/6639/682 4544/6633/682 -f 4546/6635/682 4552/6641/682 4547/6636/682 -f 4549/6638/682 4554/6643/682 4544/6633/682 -f 4551/6640/682 4558/6647/682 4552/6641/682 -f 4549/6638/682 4560/6649/682 4553/6642/682 -f 4555/6644/682 4562/6651/682 4556/6645/682 -f 4551/6640/682 4555/6644/682 4557/6646/682 -f 4559/6648/682 4564/6653/682 4553/6642/682 -f 4561/6650/682 4566/6655/682 4556/6645/682 -f 4563/6652/682 4568/6657/682 4564/6653/682 -f 4561/6650/682 4569/6658/682 4565/6654/682 -f 4567/6656/682 4572/6661/682 4568/6657/682 -f 4569/6658/682 4573/6662/682 4570/6659/682 -f 4571/6660/682 4577/6745/682 4572/6661/682 -f 4573/6662/682 4543/6632/682 4545/6634/682 -f 4576/6665/682 4646/6746/682 4647/6747/682 -f 4646/6746/682 4648/6748/682 4647/6747/682 -f 4648/6748/682 4649/6749/682 4647/6747/682 -f 4647/6747/682 4650/6750/682 4651/6751/682 -f 4651/6751/682 4652/6752/682 4574/6663/682 -f 4574/6663/682 4653/6753/682 4575/6664/682 -f 4653/6753/682 4654/6754/682 4575/6664/682 -f 4654/6754/682 4655/6755/682 4575/6664/682 -f 4575/6664/682 4656/6756/682 4657/6757/682 -f 4657/6757/682 4658/6758/682 4575/6664/682 -f 4658/6758/682 4576/6665/682 4575/6664/682 -f 4647/6747/682 4651/6751/682 4576/6665/682 -f 4651/6751/682 4574/6663/682 4576/6665/682 -f 4548/6637/682 4547/6636/682 4577/6666/682 -f 4578/6668/683 4582/6672/683 4579/6669/683 -f 4581/6671/683 4584/6674/683 4582/6672/683 -f 4583/6673/683 4586/6676/683 4584/6674/683 -f 4585/6675/683 4588/6678/683 4586/6676/683 -f 4587/6677/683 4590/6680/683 4588/6678/683 -f 4589/6679/683 4592/6682/683 4590/6680/683 -f 4589/6679/683 4593/6683/683 4591/6681/683 -f 4593/6683/683 4595/6685/683 4594/6684/683 -f 4595/6685/683 4597/6759/683 4596/6686/683 -f 4597/6687/683 4599/6690/683 4598/6688/683 -f 4599/6690/683 4602/6693/683 4600/6691/683 -f 4601/6692/683 4604/6695/683 4600/6691/683 -f 4601/6692/683 4606/6697/683 4603/6694/683 -f 4605/6696/683 4608/6699/683 4603/6694/683 -f 4607/6698/683 4609/6700/683 4608/6699/683 -f 4580/6670/683 4579/6669/683 4609/6700/683 -f 4610/6701/682 4659/6760/682 4660/6761/682 -f 4660/6761/682 4661/6762/682 4610/6701/682 -f 4661/6762/682 4611/6702/682 4610/6701/682 -f 4611/6702/682 4662/6763/682 4663/6764/682 -f 4663/6764/682 4664/6765/682 4612/6703/682 -f 4612/6703/682 4665/6766/682 4666/6767/682 -f 4666/6767/682 4667/6768/682 4668/6769/682 -f 4668/6769/682 4669/6770/682 4670/6771/682 -f 4670/6771/682 4671/6772/682 4610/6701/682 -f 4611/6702/682 4663/6764/682 4612/6703/682 -f 4612/6703/682 4666/6767/682 4610/6701/682 -f 4666/6767/682 4668/6769/682 4610/6701/682 -f 4668/6769/682 4670/6771/682 4610/6701/682 -f 4614/6705/685 4613/6704/685 4617/6710/685 -f 4615/6711/686 4618/6773/686 4617/6710/686 -f 4621/6714/682 4672/6774/682 4673/6775/682 -f 4672/6774/682 4674/6776/682 4673/6775/682 -f 4674/6776/682 4675/6777/682 4673/6775/682 -f 4673/6775/682 4676/6778/682 4677/6779/682 -f 4677/6779/682 4678/6780/682 4619/6712/682 -f 4619/6712/682 4679/6781/682 4620/6713/682 -f 4679/6781/682 4680/6782/682 4620/6713/682 -f 4680/6782/682 4681/6783/682 4620/6713/682 -f 4620/6713/682 4682/6784/682 4683/6785/682 -f 4683/6785/682 4684/6786/682 4620/6713/682 -f 4684/6786/682 4621/6714/682 4620/6713/682 -f 4673/6775/682 4677/6779/682 4621/6714/682 -f 4677/6779/682 4619/6712/682 4621/6714/682 -f 4624/6717/682 4685/6787/682 4686/6788/682 -f 4685/6787/682 4687/6789/682 4686/6788/682 -f 4687/6789/682 4688/6790/682 4686/6788/682 -f 4686/6788/682 4689/6791/682 4690/6792/682 -f 4690/6792/682 4691/6793/682 4622/6715/682 -f 4622/6715/682 4692/6794/682 4623/6716/682 -f 4692/6794/682 4693/6795/682 4623/6716/682 -f 4693/6795/682 4694/6796/682 4623/6716/682 -f 4623/6716/682 4695/6797/682 4696/6798/682 -f 4696/6798/682 4697/6799/682 4623/6716/682 -f 4697/6799/682 4624/6717/682 4623/6716/682 -f 4686/6788/682 4690/6792/682 4624/6717/682 -f 4690/6792/682 4622/6715/682 4624/6717/682 -f 4627/6720/682 4698/6800/682 4699/6801/682 -f 4698/6800/682 4700/6802/682 4699/6801/682 -f 4700/6802/682 4701/6803/682 4699/6801/682 -f 4699/6801/682 4702/6804/682 4703/6805/682 -f 4703/6805/682 4704/6806/682 4625/6718/682 -f 4625/6718/682 4705/6807/682 4626/6719/682 -f 4705/6807/682 4706/6808/682 4626/6719/682 -f 4706/6808/682 4707/6809/682 4626/6719/682 -f 4626/6719/682 4708/6810/682 4709/6811/682 -f 4709/6811/682 4710/6812/682 4626/6719/682 -f 4710/6812/682 4627/6720/682 4626/6719/682 -f 4699/6801/682 4703/6805/682 4627/6720/682 -f 4703/6805/682 4625/6718/682 4627/6720/682 -f 4629/6722/688 4628/6721/688 4632/6727/688 -f 4630/6728/689 4633/6813/689 4632/6727/689 -f 4635/6730/691 4634/6729/691 4638/6735/691 -f 4636/6736/692 4639/6814/692 4638/6735/692 -f 4641/6738/694 4640/6737/694 4644/6743/694 -f 4642/6744/695 4645/6815/695 4644/6743/695 -s 1 -f 4711/6816/696 4669/6817/697 4712/6818/697 -f 4713/6819/698 4714/6820/699 4715/6821/699 -f 4716/6822/700 4717/6823/701 4718/6824/701 -f 4719/6825/702 4720/6826/698 4713/6819/698 -f 4721/6827/703 4722/6828/700 4716/6822/700 -f 4723/6829/704 4724/6830/702 4719/6825/702 -f 4721/6827/703 4725/6831/705 4726/6832/703 -f 4727/6833/706 4728/6834/704 4723/6835/704 -f 4729/6836/707 4725/6837/705 4730/6838/705 -f 4731/6839/708 4732/6840/706 4727/6833/706 -f 4733/6841/709 4734/6842/707 4729/6836/707 -f 4735/6843/710 4736/6844/708 4731/6839/708 -f 4737/6845/711 4738/6846/709 4733/6841/709 -f 4739/6847/712 4740/6848/710 4735/6843/710 -f 4715/6821/699 4741/6849/713 4742/6850/713 -f 4742/6850/713 4743/6851/711 4737/6845/711 -f 4718/6824/701 4744/6852/712 4739/6847/712 -f 4745/6853/714 4663/6854/715 4746/6855/715 -f 4714/6820/716 4720/6856/717 4747/6857/683 -f 4720/6826/717 4724/6858/718 4747/6859/683 -f 4724/6830/718 4728/6860/719 4747/6861/683 -f 4728/6834/719 4732/6862/720 4747/6863/683 -f 4732/6840/720 4736/6864/721 4747/6865/683 -f 4736/6844/721 4740/6866/722 4747/6867/683 -f 4740/6848/722 4744/6868/723 4747/6869/683 -f 4744/6852/723 4717/6870/724 4747/6871/683 -f 4717/6823/724 4722/6872/725 4747/6873/683 -f 4722/6828/725 4726/6874/726 4747/6875/683 -f 4726/6832/726 4725/6831/727 4747/6876/683 -f 4725/6837/727 4734/6877/728 4747/6878/683 -f 4734/6842/728 4738/6879/729 4747/6880/683 -f 4738/6846/729 4743/6881/730 4747/6882/683 -f 4743/6851/730 4741/6883/731 4747/6884/683 -f 4741/6849/731 4714/6885/716 4747/6886/683 -f 4748/6887/732 4670/6888/696 4711/6889/696 -f 4749/6890/733 4664/6891/714 4745/6853/714 -f 4750/6892/734 4671/6893/732 4748/6887/732 -f 4751/6894/735 4612/6895/733 4749/6890/733 -f 4752/6896/736 4610/6897/734 4750/6892/734 -f 4753/6898/737 4665/6899/735 4751/6894/735 -f 4754/6900/738 4660/6901/739 4755/6902/739 -f 4755/6902/739 4659/6903/736 4752/6896/736 -f 4756/6904/740 4666/6905/737 4753/6898/737 -f 4757/6906/741 4661/6907/738 4754/6900/738 -f 4758/6908/742 4759/6909/693 4760/6910/693 -f 4761/6911/743 4759/6909/693 4762/6912/743 -f 4761/6911/743 4763/6913/744 4764/6914/744 -f 4765/6915/745 4763/6916/744 4766/6917/745 -f 4765/6915/745 4767/6918/687 4768/6919/687 -f 4768/6919/687 4769/6920/746 4770/6921/746 -f 4770/6921/746 4771/6922/747 4772/6923/747 -f 4772/6923/747 4773/6924/748 4774/6925/748 -f 4774/6925/748 4775/6926/690 4776/6927/690 -f 4777/6928/749 4775/6926/690 4778/6929/749 -f 4777/6928/749 4779/6930/750 4780/6931/750 -f 4780/6931/750 4781/6932/751 4782/6933/751 -f 4782/6933/751 4783/6934/684 4784/6935/684 -f 4785/6936/752 4783/6934/684 4786/6937/752 -f 4787/6938/753 4786/6937/752 4788/6939/753 -f 4658/6940/732 4776/6927/734 4576/6941/734 -f 4574/6942/733 4761/6911/735 4653/6943/735 -f 4576/6941/734 4777/6928/736 4646/6944/736 -f 4653/6943/735 4764/6914/737 4654/6945/737 -f 4648/6946/739 4782/6933/738 4649/6947/738 -f 4646/6944/736 4780/6931/739 4648/6946/739 -f 4654/6948/737 4765/6915/740 4655/6949/740 -f 4649/6947/738 4784/6935/741 4647/6950/741 -f 4655/6949/740 4768/6919/754 4575/6951/754 -f 4647/6950/741 4785/6936/755 4650/6952/755 -f 4575/6951/754 4770/6921/697 4656/6953/697 -f 4650/6952/755 4787/6938/715 4651/6954/715 -f 4656/6953/697 4772/6923/696 4657/6955/696 -f 4651/6954/715 4758/6908/714 4652/6956/714 -f 4657/6955/696 4774/6925/732 4658/6940/732 -f 4652/6956/714 4760/6910/733 4574/6942/733 -f 4787/6938/753 4789/6957/742 4758/6908/742 -f 4583/6958/756 4754/6900/757 4585/6959/757 -f 4746/6855/715 4662/6960/755 4790/6961/755 -f 4558/6647/736 4591/6681/734 4552/6641/734 -f 4554/6643/735 4609/6700/733 4544/6633/733 -f 4552/6641/734 4594/6684/732 4547/6636/732 -f 4544/6633/733 4579/6669/714 4545/6634/714 -f 4547/6636/732 4596/6686/696 4577/6666/696 -f 4545/6634/714 4582/6672/715 4570/6659/715 -f 4577/6745/696 4598/6688/697 4572/6661/697 -f 4570/6659/715 4584/6674/755 4565/6654/755 -f 4572/6661/697 4600/6691/754 4568/6657/754 -f 4565/6654/755 4586/6676/741 4566/6655/741 -f 4568/6657/754 4604/6695/740 4564/6653/740 -f 4566/6655/741 4588/6678/738 4556/6645/738 -f 4564/6653/740 4603/6694/737 4553/6642/737 -f 4557/6646/739 4592/6682/736 4558/6647/736 -f 4556/6645/738 4590/6680/739 4557/6646/739 -f 4553/6642/737 4608/6699/735 4554/6643/735 -f 4601/6962/758 4791/6963/759 4756/6904/758 -f 4581/6964/760 4757/6906/756 4583/6958/756 -f 4599/6965/761 4791/6963/759 4602/6966/759 -f 4578/6967/762 4790/6961/760 4581/6964/760 -f 4599/6965/761 4711/6816/763 4712/6818/761 -f 4578/6967/762 4745/6853/764 4746/6855/762 -f 4595/6968/765 4711/6889/763 4597/6969/763 -f 4607/6970/766 4745/6853/764 4580/6971/764 -f 4593/6972/767 4748/6887/765 4595/6968/765 -f 4607/6970/766 4751/6894/768 4749/6890/766 -f 4589/6973/769 4750/6892/767 4593/6972/767 -f 4606/6974/770 4751/6894/768 4605/6975/768 -f 4587/6976/771 4754/6900/757 4755/6902/771 -f 4587/6976/771 4752/6896/769 4589/6973/769 -f 4601/6962/758 4753/6898/770 4606/6974/770 -f 4791/6963/754 4667/6977/740 4756/6904/740 -f 4790/6961/755 4611/6978/741 4757/6906/741 -f 4712/6818/697 4668/6979/754 4791/6963/754 -f 4543/6632/714 4730/6838/715 4721/6827/714 -f 4573/6662/715 4729/6836/755 4730/6838/715 -f 4569/6658/755 4733/6841/741 4729/6836/755 -f 4561/6650/741 4737/6845/738 4733/6841/741 -f 4562/6651/738 4742/6850/739 4737/6845/738 -f 4555/6644/739 4715/6821/736 4742/6850/739 -f 4551/6640/736 4713/6819/734 4715/6821/736 -f 4546/6635/734 4719/6825/732 4713/6819/734 -f 4548/6637/732 4723/6829/696 4719/6825/732 -f 4571/6660/696 4727/6833/697 4723/6835/696 -f 4567/6656/697 4731/6839/754 4727/6833/697 -f 4563/6652/754 4735/6843/740 4731/6839/754 -f 4559/6648/740 4739/6847/737 4735/6843/740 -f 4560/6649/737 4718/6824/735 4739/6847/737 -f 4549/6638/735 4716/6822/733 4718/6824/735 -f 4550/6639/733 4721/6827/714 4716/6822/733 -f 4792/6980/741 4793/6981/772 4794/6982/741 -f 4795/6983/755 4794/6982/741 4796/6984/755 -f 4797/6985/773 4796/6984/755 4798/6986/773 -f 4799/6987/742 4800/6988/693 4801/6989/693 -f 4802/6990/743 4800/6988/693 4803/6991/743 -f 4802/6990/743 4804/6992/744 4805/6993/744 -f 4806/6994/745 4804/6995/744 4807/6996/745 -f 4806/6994/745 4808/6997/687 4809/6998/687 -f 4809/6998/687 4810/6999/746 4811/7000/746 -f 4811/7000/746 4812/7001/747 4813/7002/747 -f 4814/7003/748 4812/7001/747 4815/7004/748 -f 4814/7003/748 4816/7005/690 4817/7006/690 -f 4818/7007/749 4816/7005/690 4819/7008/749 -f 4820/7009/750 4819/7008/749 4821/7010/750 -f 4820/7009/750 4822/7011/751 4823/7012/751 -f 4824/7013/684 4822/7011/751 4825/7014/684 -f 4826/7015/752 4825/7014/684 4827/7016/752 -f 4828/7017/753 4827/7016/752 4829/7018/753 -f 4684/7019/732 4817/7006/734 4621/7020/734 -f 4619/7021/733 4802/6990/735 4679/7022/735 -f 4621/7020/734 4818/7007/736 4672/7023/736 -f 4679/7022/735 4805/6993/737 4680/7024/737 -f 4674/7025/739 4823/7012/738 4675/7026/738 -f 4672/7023/736 4820/7009/739 4674/7025/739 -f 4680/7027/737 4806/6994/740 4681/7028/740 -f 4675/7026/738 4824/7013/741 4673/7029/741 -f 4681/7028/740 4809/6998/754 4620/7030/754 -f 4673/7029/741 4826/7015/755 4676/7031/755 -f 4620/7030/754 4811/7000/697 4682/7032/697 -f 4676/7031/755 4828/7017/715 4677/7033/715 -f 4682/7032/697 4813/7002/696 4683/7034/696 -f 4677/7033/715 4799/6987/714 4678/7035/714 -f 4683/7034/696 4814/7003/732 4684/7019/732 -f 4678/7035/714 4801/6989/733 4619/7021/733 -f 4828/7017/753 4830/7036/742 4799/6987/742 -f 4831/7037/742 4832/7038/693 4833/7039/693 -f 4834/7040/743 4832/7038/693 4835/7041/743 -f 4834/7040/743 4836/7042/744 4837/7043/744 -f 4838/7044/745 4836/7045/744 4839/7046/745 -f 4838/7044/745 4840/7047/687 4841/7048/687 -f 4841/7048/687 4842/7049/746 4843/7050/746 -f 4843/7050/746 4844/7051/747 4845/7052/747 -f 4846/7053/748 4844/7051/747 4847/7054/748 -f 4846/7053/748 4848/7055/690 4849/7056/690 -f 4850/7057/749 4848/7055/690 4851/7058/749 -f 4850/7057/749 4852/7059/750 4853/7060/750 -f 4853/7060/750 4854/7061/751 4855/7062/751 -f 4855/7062/751 4856/7063/684 4857/7064/684 -f 4858/7065/752 4856/7063/684 4859/7066/752 -f 4860/7067/753 4859/7066/752 4861/7068/753 -f 4697/7069/732 4849/7056/734 4624/7070/734 -f 4622/7071/733 4834/7040/735 4692/7072/735 -f 4624/7070/734 4850/7057/736 4685/7073/736 -f 4692/7072/735 4837/7043/737 4693/7074/737 -f 4687/7075/739 4855/7062/738 4688/7076/738 -f 4685/7073/736 4853/7060/739 4687/7075/739 -f 4693/7077/737 4838/7044/740 4694/7078/740 -f 4688/7076/738 4857/7064/741 4686/7079/741 -f 4694/7078/740 4841/7048/754 4623/7080/754 -f 4686/7079/741 4858/7065/755 4689/7081/755 -f 4623/7080/754 4843/7050/697 4695/7082/697 -f 4689/7081/755 4860/7067/715 4690/7083/715 -f 4695/7082/697 4845/7052/696 4696/7084/696 -f 4690/7083/715 4831/7037/714 4691/7085/714 -f 4696/7084/696 4846/7053/732 4697/7069/732 -f 4691/7085/714 4833/7039/733 4622/7071/733 -f 4860/7067/753 4862/7086/742 4831/7037/742 -f 4863/7087/742 4864/7088/693 4865/7089/693 -f 4866/7090/743 4864/7088/693 4867/7091/743 -f 4866/7090/743 4868/7092/744 4869/7093/744 -f 4870/7094/745 4868/7095/744 4871/7096/745 -f 4870/7094/745 4872/7097/687 4873/7098/687 -f 4873/7098/687 4874/7099/746 4875/7100/746 -f 4875/7100/746 4876/7101/747 4877/7102/747 -f 4878/7103/748 4876/7101/747 4879/7104/748 -f 4878/7103/748 4880/7105/690 4881/7106/690 -f 4882/7107/749 4880/7105/690 4883/7108/749 -f 4882/7107/749 4884/7109/750 4885/7110/750 -f 4885/7110/750 4886/7111/751 4887/7112/751 -f 4887/7112/751 4888/7113/684 4889/7114/684 -f 4890/7115/752 4888/7113/684 4891/7116/752 -f 4892/7117/753 4891/7116/752 4893/7118/753 -f 4710/7119/732 4881/7106/734 4627/7120/734 -f 4625/7121/733 4866/7090/735 4705/7122/735 -f 4627/7120/734 4882/7107/736 4698/7123/736 -f 4705/7122/735 4869/7093/737 4706/7124/737 -f 4700/7125/739 4887/7112/738 4701/7126/738 -f 4698/7123/736 4885/7110/739 4700/7125/739 -f 4706/7127/737 4870/7094/740 4707/7128/740 -f 4701/7126/738 4889/7114/741 4699/7129/741 -f 4707/7128/740 4873/7098/754 4626/7130/754 -f 4699/7129/741 4890/7115/755 4702/7131/755 -f 4626/7130/754 4875/7100/697 4708/7132/697 -f 4702/7131/755 4892/7117/715 4703/7133/715 -f 4708/7132/697 4877/7102/696 4709/7134/696 -f 4703/7133/715 4863/7087/714 4704/7135/714 -f 4709/7134/696 4878/7103/732 4710/7119/732 -f 4704/7135/714 4865/7089/733 4625/7121/733 -f 4892/7117/753 4894/7136/742 4863/7087/742 -f 4895/7137/754 4896/7138/774 4897/7139/754 -f 4898/7140/697 4897/7139/754 4899/7141/697 -f 4900/7142/775 4899/7141/697 4901/7143/775 -f 4711/6816/696 4670/7144/696 4669/6817/697 -f 4713/6819/698 4720/6856/698 4714/6820/699 -f 4716/6822/700 4722/6872/700 4717/6823/701 -f 4719/6825/702 4724/6858/702 4720/6826/698 -f 4721/6827/703 4726/6874/703 4722/6828/700 -f 4723/6829/704 4728/6860/704 4724/6830/702 -f 4721/6827/703 4730/6838/705 4725/6831/705 -f 4727/6833/706 4732/6862/706 4728/6834/704 -f 4729/6836/707 4734/6877/707 4725/6837/705 -f 4731/6839/708 4736/6864/708 4732/6840/706 -f 4733/6841/709 4738/6879/709 4734/6842/707 -f 4735/6843/710 4740/6866/710 4736/6844/708 -f 4737/6845/711 4743/6881/711 4738/6846/709 -f 4739/6847/712 4744/6868/712 4740/6848/710 -f 4715/6821/699 4714/6885/699 4741/6849/713 -f 4742/6850/713 4741/6883/713 4743/6851/711 -f 4718/6824/701 4717/6870/701 4744/6852/712 -f 4745/6853/714 4664/6891/714 4663/6854/715 -f 4748/6887/732 4671/6893/732 4670/6888/696 -f 4749/6890/733 4612/6895/733 4664/6891/714 -f 4750/6892/734 4610/6897/734 4671/6893/732 -f 4751/6894/735 4665/6899/735 4612/6895/733 -f 4752/6896/736 4659/6903/736 4610/6897/734 -f 4753/6898/737 4666/6905/737 4665/6899/735 -f 4754/6900/738 4661/6907/738 4660/6901/739 -f 4755/6902/739 4660/6901/739 4659/6903/736 -f 4756/6904/740 4667/6977/740 4666/6905/737 -f 4757/6906/741 4611/6978/741 4661/6907/738 -f 4758/6908/742 4789/6957/742 4759/6909/693 -f 4761/6911/743 4760/6910/693 4759/6909/693 -f 4761/6911/743 4762/6912/743 4763/6913/744 -f 4765/6915/745 4764/7145/744 4763/6916/744 -f 4765/6915/745 4766/6917/745 4767/6918/687 -f 4768/6919/687 4767/6918/687 4769/6920/746 -f 4770/6921/746 4769/6920/746 4771/6922/747 -f 4772/6923/747 4771/6922/747 4773/6924/748 -f 4774/6925/748 4773/6924/748 4775/6926/690 -f 4777/6928/749 4776/6927/690 4775/6926/690 -f 4777/6928/749 4778/6929/749 4779/6930/750 -f 4780/6931/750 4779/6930/750 4781/6932/751 -f 4782/6933/751 4781/6932/751 4783/6934/684 -f 4785/6936/752 4784/6935/684 4783/6934/684 -f 4787/6938/753 4785/6936/752 4786/6937/752 -f 4658/6940/732 4774/6925/732 4776/6927/734 -f 4574/6942/733 4760/6910/733 4761/6911/735 -f 4576/6941/734 4776/6927/734 4777/6928/736 -f 4653/6943/735 4761/6911/735 4764/6914/737 -f 4648/6946/739 4780/6931/739 4782/6933/738 -f 4646/6944/736 4777/6928/736 4780/6931/739 -f 4654/6948/737 4764/7145/737 4765/6915/740 -f 4649/6947/738 4782/6933/738 4784/6935/741 -f 4655/6949/740 4765/6915/740 4768/6919/754 -f 4647/6950/741 4784/6935/741 4785/6936/755 -f 4575/6951/754 4768/6919/754 4770/6921/697 -f 4650/6952/755 4785/6936/755 4787/6938/715 -f 4656/6953/697 4770/6921/697 4772/6923/696 -f 4651/6954/715 4787/6938/715 4758/6908/714 -f 4657/6955/696 4772/6923/696 4774/6925/732 -f 4652/6956/714 4758/6908/714 4760/6910/733 -f 4787/6938/753 4788/6939/753 4789/6957/742 -f 4583/6958/756 4757/6906/756 4754/6900/757 -f 4746/6855/715 4663/6854/715 4662/6960/755 -f 4558/6647/736 4592/6682/736 4591/6681/734 -f 4554/6643/735 4608/6699/735 4609/6700/733 -f 4552/6641/734 4591/6681/734 4594/6684/732 -f 4544/6633/733 4609/6700/733 4579/6669/714 -f 4547/6636/732 4594/6684/732 4596/6686/696 -f 4545/6634/714 4579/6669/714 4582/6672/715 -f 4577/6745/696 4596/6689/696 4598/6688/697 -f 4570/6659/715 4582/6672/715 4584/6674/755 -f 4572/6661/697 4598/6688/697 4600/6691/754 -f 4565/6654/755 4584/6674/755 4586/6676/741 -f 4568/6657/754 4600/6691/754 4604/6695/740 -f 4566/6655/741 4586/6676/741 4588/6678/738 -f 4564/6653/740 4604/6695/740 4603/6694/737 -f 4557/6646/739 4590/6680/739 4592/6682/736 -f 4556/6645/738 4588/6678/738 4590/6680/739 -f 4553/6642/737 4603/6694/737 4608/6699/735 -f 4601/6962/758 4602/6966/759 4791/6963/759 -f 4581/6964/760 4790/6961/760 4757/6906/756 -f 4599/6965/761 4712/6818/761 4791/6963/759 -f 4578/6967/762 4746/6855/762 4790/6961/760 -f 4599/6965/761 4597/6687/763 4711/6816/763 -f 4578/6967/762 4580/6971/764 4745/6853/764 -f 4595/6968/765 4748/6887/765 4711/6889/763 -f 4607/6970/766 4749/6890/766 4745/6853/764 -f 4593/6972/767 4750/6892/767 4748/6887/765 -f 4607/6970/766 4605/6975/768 4751/6894/768 -f 4589/6973/769 4752/6896/769 4750/6892/767 -f 4606/6974/770 4753/6898/770 4751/6894/768 -f 4587/6976/771 4585/6959/757 4754/6900/757 -f 4587/6976/771 4755/6902/771 4752/6896/769 -f 4601/6962/758 4756/6904/758 4753/6898/770 -f 4791/6963/754 4668/6979/754 4667/6977/740 -f 4790/6961/755 4662/6960/755 4611/6978/741 -f 4712/6818/697 4669/6817/697 4668/6979/754 -f 4543/6632/714 4573/6662/715 4730/6838/715 -f 4573/6662/715 4569/6658/755 4729/6836/755 -f 4569/6658/755 4561/6650/741 4733/6841/741 -f 4561/6650/741 4562/6651/738 4737/6845/738 -f 4562/6651/738 4555/6644/739 4742/6850/739 -f 4555/6644/739 4551/6640/736 4715/6821/736 -f 4551/6640/736 4546/6635/734 4713/6819/734 -f 4546/6635/734 4548/6637/732 4719/6825/732 -f 4548/6637/732 4571/6667/696 4723/6829/696 -f 4571/6660/696 4567/6656/697 4727/6833/697 -f 4567/6656/697 4563/6652/754 4731/6839/754 -f 4563/6652/754 4559/6648/740 4735/6843/740 -f 4559/6648/740 4560/6649/737 4739/6847/737 -f 4560/6649/737 4549/6638/735 4718/6824/735 -f 4549/6638/735 4550/6639/733 4716/6822/733 -f 4550/6639/733 4543/6632/714 4721/6827/714 -f 4792/6980/741 4902/7146/772 4793/6981/772 -f 4795/6983/755 4792/6980/741 4794/6982/741 -f 4797/6985/773 4795/6983/755 4796/6984/755 -f 4799/6987/742 4830/7036/742 4800/6988/693 -f 4802/6990/743 4801/6989/693 4800/6988/693 -f 4802/6990/743 4803/6991/743 4804/6992/744 -f 4806/6994/745 4805/7147/744 4804/6995/744 -f 4806/6994/745 4807/6996/745 4808/6997/687 -f 4809/6998/687 4808/6997/687 4810/6999/746 -f 4811/7000/746 4810/6999/746 4812/7001/747 -f 4814/7003/748 4813/7002/747 4812/7001/747 -f 4814/7003/748 4815/7004/748 4816/7005/690 -f 4818/7007/749 4817/7006/690 4816/7005/690 -f 4820/7009/750 4818/7007/749 4819/7008/749 -f 4820/7009/750 4821/7010/750 4822/7011/751 -f 4824/7013/684 4823/7012/751 4822/7011/751 -f 4826/7015/752 4824/7013/684 4825/7014/684 -f 4828/7017/753 4826/7015/752 4827/7016/752 -f 4684/7019/732 4814/7003/732 4817/7006/734 -f 4619/7021/733 4801/6989/733 4802/6990/735 -f 4621/7020/734 4817/7006/734 4818/7007/736 -f 4679/7022/735 4802/6990/735 4805/6993/737 -f 4674/7025/739 4820/7009/739 4823/7012/738 -f 4672/7023/736 4818/7007/736 4820/7009/739 -f 4680/7027/737 4805/7147/737 4806/6994/740 -f 4675/7026/738 4823/7012/738 4824/7013/741 -f 4681/7028/740 4806/6994/740 4809/6998/754 -f 4673/7029/741 4824/7013/741 4826/7015/755 -f 4620/7030/754 4809/6998/754 4811/7000/697 -f 4676/7031/755 4826/7015/755 4828/7017/715 -f 4682/7032/697 4811/7000/697 4813/7002/696 -f 4677/7033/715 4828/7017/715 4799/6987/714 -f 4683/7034/696 4813/7002/696 4814/7003/732 -f 4678/7035/714 4799/6987/714 4801/6989/733 -f 4828/7017/753 4829/7018/753 4830/7036/742 -f 4831/7037/742 4862/7086/742 4832/7038/693 -f 4834/7040/743 4833/7039/693 4832/7038/693 -f 4834/7040/743 4835/7041/743 4836/7042/744 -f 4838/7044/745 4837/7148/744 4836/7045/744 -f 4838/7044/745 4839/7046/745 4840/7047/687 -f 4841/7048/687 4840/7047/687 4842/7049/746 -f 4843/7050/746 4842/7049/746 4844/7051/747 -f 4846/7053/748 4845/7052/747 4844/7051/747 -f 4846/7053/748 4847/7054/748 4848/7055/690 -f 4850/7057/749 4849/7056/690 4848/7055/690 -f 4850/7057/749 4851/7058/749 4852/7059/750 -f 4853/7060/750 4852/7059/750 4854/7061/751 -f 4855/7062/751 4854/7061/751 4856/7063/684 -f 4858/7065/752 4857/7064/684 4856/7063/684 -f 4860/7067/753 4858/7065/752 4859/7066/752 -f 4697/7069/732 4846/7053/732 4849/7056/734 -f 4622/7071/733 4833/7039/733 4834/7040/735 -f 4624/7070/734 4849/7056/734 4850/7057/736 -f 4692/7072/735 4834/7040/735 4837/7043/737 -f 4687/7075/739 4853/7060/739 4855/7062/738 -f 4685/7073/736 4850/7057/736 4853/7060/739 -f 4693/7077/737 4837/7148/737 4838/7044/740 -f 4688/7076/738 4855/7062/738 4857/7064/741 -f 4694/7078/740 4838/7044/740 4841/7048/754 -f 4686/7079/741 4857/7064/741 4858/7065/755 -f 4623/7080/754 4841/7048/754 4843/7050/697 -f 4689/7081/755 4858/7065/755 4860/7067/715 -f 4695/7082/697 4843/7050/697 4845/7052/696 -f 4690/7083/715 4860/7067/715 4831/7037/714 -f 4696/7084/696 4845/7052/696 4846/7053/732 -f 4691/7085/714 4831/7037/714 4833/7039/733 -f 4860/7067/753 4861/7068/753 4862/7086/742 -f 4863/7087/742 4894/7136/742 4864/7088/693 -f 4866/7090/743 4865/7089/693 4864/7088/693 -f 4866/7090/743 4867/7091/743 4868/7092/744 -f 4870/7094/745 4869/7149/744 4868/7095/744 -f 4870/7094/745 4871/7096/745 4872/7097/687 -f 4873/7098/687 4872/7097/687 4874/7099/746 -f 4875/7100/746 4874/7099/746 4876/7101/747 -f 4878/7103/748 4877/7102/747 4876/7101/747 -f 4878/7103/748 4879/7104/748 4880/7105/690 -f 4882/7107/749 4881/7106/690 4880/7105/690 -f 4882/7107/749 4883/7108/749 4884/7109/750 -f 4885/7110/750 4884/7109/750 4886/7111/751 -f 4887/7112/751 4886/7111/751 4888/7113/684 -f 4890/7115/752 4889/7114/684 4888/7113/684 -f 4892/7117/753 4890/7115/752 4891/7116/752 -f 4710/7119/732 4878/7103/732 4881/7106/734 -f 4625/7121/733 4865/7089/733 4866/7090/735 -f 4627/7120/734 4881/7106/734 4882/7107/736 -f 4705/7122/735 4866/7090/735 4869/7093/737 -f 4700/7125/739 4885/7110/739 4887/7112/738 -f 4698/7123/736 4882/7107/736 4885/7110/739 -f 4706/7127/737 4869/7149/737 4870/7094/740 -f 4701/7126/738 4887/7112/738 4889/7114/741 -f 4707/7128/740 4870/7094/740 4873/7098/754 -f 4699/7129/741 4889/7114/741 4890/7115/755 -f 4626/7130/754 4873/7098/754 4875/7100/697 -f 4702/7131/755 4890/7115/755 4892/7117/715 -f 4708/7132/697 4875/7100/697 4877/7102/696 -f 4703/7133/715 4892/7117/715 4863/7087/714 -f 4709/7134/696 4877/7102/696 4878/7103/732 -f 4704/7135/714 4863/7087/714 4865/7089/733 -f 4892/7117/753 4893/7118/753 4894/7136/742 -f 4895/7137/754 4903/7150/774 4896/7138/774 -f 4898/7140/697 4895/7137/754 4897/7139/754 -f 4900/7142/775 4898/7140/697 4899/7141/697 -o Strong_Missile -v 0.866138 2.750000 0.358766 -v 0.750000 2.750000 0.000000 -v 0.937500 2.750000 0.000000 -v 0.692910 2.750000 -0.287013 -v 0.866138 2.750000 -0.358765 -v 0.662913 2.750000 -0.662913 -v 0.530329 2.750000 -0.530331 -v 0.358766 2.750000 -0.866137 -v 0.287012 2.750000 -0.692910 -v 0.000000 2.750000 -0.937500 -v 0.000000 2.750000 -0.750000 -v -0.358766 2.750000 -0.866137 -v -0.287013 2.750000 -0.692910 -v -0.662913 2.750000 -0.662913 -v -0.692910 2.750000 -0.287013 -v -0.866138 2.750000 -0.358765 -v -0.937500 2.750000 0.000000 -v -0.692910 2.750000 0.287013 -v -0.866138 2.750000 0.358766 -v -0.530329 2.750000 0.530330 -v -0.662913 2.750000 0.662913 -v -0.358766 2.750000 0.866138 -v -0.287013 2.750000 0.692910 -v 0.000000 2.750000 0.937500 -v 0.287013 2.750000 0.692910 -v 0.358766 2.750000 0.866138 -v 0.662913 2.750000 0.662913 -v 0.530329 2.750000 0.530331 -v -0.530329 2.000000 -0.530329 -v 0.530329 2.000000 -0.530331 -v 0.530329 2.000000 0.530331 -v 1.328476 8.750000 -1.328476 -v 0.499836 8.375000 -0.566127 -v 0.499836 9.125000 -0.566127 -v 0.566127 8.375000 -0.499836 -v 0.566127 9.125000 -0.499836 -v 1.328476 8.375000 -1.328476 -v 1.328478 8.750000 1.328477 -v 0.566127 8.375000 0.499836 -v 0.566127 9.125000 0.499836 -v 0.499836 8.375000 0.566127 -v 0.499836 9.125000 0.566127 -v 1.328478 8.375000 1.328477 -v 1.325826 4.250000 1.325825 -v 0.563477 2.375000 0.497184 -v 0.563477 5.375000 0.497184 -v 0.497184 2.375000 0.563475 -v 0.497184 5.375000 0.563475 -v 1.325826 2.375000 1.325824 -v -0.563477 2.375000 -0.497184 -v -1.325826 2.375000 -1.325824 -v -0.497184 2.375000 -0.563475 -v -1.325826 4.250000 -1.325824 -v -0.563477 5.375000 -0.497184 -v -0.497184 5.375000 -0.563475 -v 1.325824 4.250000 -1.325824 -v 0.497184 2.375000 -0.563475 -v 0.497184 5.375000 -0.563475 -v 0.563475 2.375000 -0.497184 -v 0.563475 5.375000 -0.497184 -v 1.325824 2.375000 -1.325824 -v -0.566127 8.375000 -0.499836 -v -1.328476 8.375000 -1.328476 -v -0.499836 8.375000 -0.566127 -v -1.328476 8.750000 -1.328476 -v -0.566127 9.125000 -0.499836 -v -0.499836 9.125000 -0.566127 -v -0.497184 2.375000 0.563477 -v -1.325824 2.375000 1.325824 -v -0.563475 2.375000 0.497184 -v -1.325824 4.250000 1.325825 -v -0.497184 5.375000 0.563477 -v -0.563475 5.375000 0.497184 -v -0.499836 8.375000 0.566127 -v -1.328476 8.375000 1.328477 -v -0.566127 8.375000 0.499836 -v -1.328476 8.750000 1.328477 -v -0.499836 9.125000 0.566127 -v -0.566127 9.125000 0.499836 -v 0.692910 2.750000 0.287013 -v -0.530329 2.750000 -0.530329 -v -0.750000 2.750000 0.000000 -v 0.000000 2.750000 0.750000 -v -0.287013 2.000000 -0.692910 -v 0.000000 2.000000 -0.750000 -v 0.287012 2.000000 -0.692910 -v 0.692910 2.000000 -0.287013 -v 0.750000 2.000000 0.000000 -v 0.692910 2.000000 0.287013 -v 0.287013 2.000000 0.692910 -v 0.000000 2.000000 0.750000 -v -0.287013 2.000000 0.692910 -v -0.530329 2.000000 0.530329 -v -0.692910 2.000000 0.287013 -v -0.750000 2.000000 0.000000 -v -0.692910 2.000000 -0.287013 -v -0.662913 8.187500 -0.662913 -v -0.361636 9.312500 -0.873066 -v -0.358766 8.187500 -0.866137 -v 0.662913 8.187500 0.662913 -v 0.361635 9.312500 0.873066 -v 0.358766 8.187500 0.866138 -v -0.866138 8.187500 -0.358765 -v -0.668216 9.312500 -0.668215 -v 0.866138 8.187500 0.358766 -v 0.668216 9.312500 0.668216 -v -0.937500 8.187500 0.000000 -v -0.873066 9.312500 -0.361636 -v 0.937500 8.187500 0.000000 -v 0.873066 9.312500 0.361637 -v -0.866138 8.187500 0.358766 -v -0.945000 9.312500 0.000000 -v 0.866138 8.187500 -0.358765 -v 0.945000 9.312500 0.000000 -v -0.662913 8.187500 0.662913 -v -0.873066 9.312500 0.361637 -v 0.662913 8.187500 -0.662913 -v 0.873066 9.312500 -0.361636 -v -0.358766 8.187500 0.866138 -v -0.668216 9.312500 0.668216 -v 0.358766 8.187500 -0.866137 -v 0.668216 9.312500 -0.668215 -v 0.000000 8.187500 0.937500 -v -0.361636 9.312500 0.873066 -v 0.000000 9.312500 -0.945000 -v 0.000000 8.187500 -0.937500 -v 0.361635 9.312500 -0.873066 -v 0.000000 9.312500 0.945000 -v -0.287013 9.500000 0.692910 -v 0.000000 9.500000 -0.750000 -v 0.287012 9.500000 -0.692910 -v 0.000000 9.500000 0.750000 -v -0.287013 9.500000 -0.692910 -v 0.287013 9.500000 0.692910 -v -0.530329 9.500000 -0.530329 -v 0.692910 9.500000 0.287013 -v 0.530329 9.500000 0.530331 -v -0.692910 9.500000 -0.287013 -v -0.750000 9.500000 0.000000 -v 0.692910 9.500000 -0.287013 -v 0.750000 9.500000 0.000000 -v -0.692910 9.500000 0.287013 -v -0.530329 9.500000 0.530330 -v 0.530329 9.500000 -0.530331 -v 0.530329 8.000000 0.530331 -v 0.000000 11.000000 0.000000 -v 0.692910 8.000000 0.287013 -v 0.750000 8.000000 0.000000 -v 0.692910 8.000000 -0.287013 -v 0.530329 8.000000 -0.530331 -v 0.000000 8.000000 -0.750000 -v -0.287013 8.000000 -0.692910 -v -0.530329 8.000000 -0.530329 -v -0.692910 8.000000 -0.287013 -v -0.750000 8.000000 0.000000 -v -0.692910 8.000000 0.287013 -v -0.530329 8.000000 0.530330 -v -0.287013 8.000000 0.692910 -v 0.000000 8.000000 0.750000 -v 0.287013 8.000000 0.692910 -v -0.530329 7.250000 -0.530329 -v 0.530329 7.250000 0.530331 -v -0.692910 7.250000 -0.287013 -v 0.692910 7.250000 0.287013 -v -0.750000 7.250000 0.000000 -v 0.750000 7.250000 0.000000 -v -0.692910 7.250000 0.287013 -v 0.692910 7.250000 -0.287013 -v -0.530329 7.250000 0.530330 -v 0.530329 7.250000 -0.530331 -v -0.287013 7.250000 0.692910 -v 0.287012 7.250000 -0.692910 -v 0.287012 8.000000 -0.692910 -v 0.000000 7.250000 0.750000 -v -0.287013 7.250000 -0.692910 -v 0.000000 7.250000 -0.750000 -v 0.287013 7.250000 0.692910 -v -0.358766 5.750000 0.866138 -v 0.358766 5.750000 -0.866137 -v 0.000000 5.750000 0.937500 -v -0.358766 5.750000 -0.866137 -v 0.000000 5.750000 -0.937500 -v 0.358766 5.750000 0.866138 -v -0.662913 5.750000 -0.662913 -v 0.662913 5.750000 0.662913 -v -0.866138 5.750000 -0.358765 -v 0.866138 5.750000 0.358766 -v -0.937500 5.750000 0.000000 -v 0.937500 5.750000 0.000000 -v -0.866138 5.750000 0.358766 -v 0.866138 5.750000 -0.358765 -v -0.662913 5.750000 0.662913 -v 0.662913 5.750000 -0.662913 -vt 0.350000 0.102041 -vt 0.387500 0.081633 -vt 0.400000 0.102041 -vt 0.437500 0.081633 -vt 0.450000 0.102041 -vt 0.450000 0.081633 -vt 0.500000 0.102041 -vt 0.500000 0.081633 -vt 0.550000 0.102041 -vt 0.550000 0.081633 -vt 0.600000 0.102041 -vt 0.600000 0.081633 -vt 0.650000 0.102041 -vt 0.650000 0.081633 -vt 0.700000 0.102041 -vt 0.737500 0.081633 -vt 0.750000 0.102041 -vt 0.750000 0.081633 -vt 0.800000 0.102041 -vt 0.000000 0.102041 -vt 0.037500 0.081633 -vt 0.050000 0.102041 -vt 0.087500 0.081633 -vt 0.100000 0.102041 -vt 0.100000 0.081633 -vt 0.150000 0.102041 -vt 0.150000 0.081633 -vt 0.200000 0.102041 -vt 0.237500 0.081633 -vt 0.250000 0.102041 -vt 0.250000 0.081633 -vt 0.300000 0.102041 -vt 0.300000 0.081633 -vt 0.970508 0.024075 -vt 0.970508 0.139190 -vt 0.829492 0.139190 -vt 0.950000 0.561224 -vt 0.800000 0.520408 -vt 0.800000 0.602041 -vt 0.800000 0.520408 -vt 0.800000 0.602041 -vt 0.950000 0.602041 -vt 0.800000 0.612245 -vt 0.800000 0.510204 -vt 0.950000 0.520408 -vt 0.950000 0.561224 -vt 0.800000 0.520408 -vt 0.800000 0.602041 -vt 0.800000 0.520408 -vt 0.800000 0.602041 -vt 0.950000 0.602041 -vt 0.800000 0.612245 -vt 0.800000 0.510204 -vt 0.950000 0.520408 -vt 0.950000 0.377551 -vt 0.800000 0.173469 -vt 0.800000 0.500000 -vt 0.800000 0.173469 -vt 0.800000 0.500000 -vt 0.950000 0.500000 -vt 0.800000 0.510204 -vt 0.800000 0.163265 -vt 0.950000 0.173469 -vt 0.800000 0.163265 -vt 0.950000 0.173469 -vt 0.800000 0.173469 -vt 0.950000 0.500000 -vt 0.800000 0.510204 -vt 0.800000 0.500000 -vt 0.950000 0.377551 -vt 0.800000 0.173469 -vt 0.800000 0.500000 -vt 0.950000 0.377551 -vt 0.800000 0.173469 -vt 0.800000 0.500000 -vt 0.800000 0.173469 -vt 0.800000 0.500000 -vt 0.950000 0.500000 -vt 0.800000 0.510204 -vt 0.800000 0.163265 -vt 0.950000 0.173469 -vt 0.800000 0.510204 -vt 0.950000 0.520408 -vt 0.800000 0.520408 -vt 0.950000 0.602041 -vt 0.800000 0.612245 -vt 0.800000 0.602041 -vt 0.950000 0.561224 -vt 0.800000 0.520408 -vt 0.800000 0.602041 -vt 0.800000 0.163265 -vt 0.950000 0.173469 -vt 0.800000 0.173469 -vt 0.950000 0.500000 -vt 0.800000 0.510204 -vt 0.800000 0.500000 -vt 0.950000 0.377551 -vt 0.800000 0.173469 -vt 0.800000 0.500000 -vt 0.800000 0.510204 -vt 0.950000 0.520408 -vt 0.800000 0.520408 -vt 0.950000 0.602041 -vt 0.800000 0.612245 -vt 0.800000 0.602041 -vt 0.950000 0.561224 -vt 0.800000 0.520408 -vt 0.800000 0.602041 -vt 0.350000 0.081633 -vt 0.400000 0.081633 -vt 0.487500 0.081633 -vt 0.537500 0.081633 -vt 0.587500 0.081633 -vt 0.637500 0.081633 -vt 0.687500 0.081633 -vt 0.700000 0.081633 -vt 0.787500 0.081633 -vt 0.000000 0.081633 -vt 0.050000 0.081633 -vt 0.137500 0.081633 -vt 0.187500 0.081633 -vt 0.200000 0.081633 -vt 0.287500 0.081633 -vt 0.337500 0.081633 -vt 0.992123 0.050483 -vt 0.999714 0.081633 -vt 0.992123 0.112783 -vt 0.938159 0.156836 -vt 0.900000 0.163032 -vt 0.861841 0.156836 -vt 0.807876 0.112783 -vt 0.800286 0.081633 -vt 0.807877 0.050483 -vt 0.829492 0.024075 -vt 0.861841 0.006430 -vt 0.900000 0.000234 -vt 0.938159 0.006430 -vt 0.700000 0.693878 -vt 0.650000 0.816327 -vt 0.650000 0.693878 -vt 0.300000 0.693878 -vt 0.250000 0.816327 -vt 0.250000 0.693878 -vt 0.750000 0.693878 -vt 0.700000 0.816327 -vt 0.350000 0.693878 -vt 0.300000 0.816327 -vt 0.800000 0.693878 -vt 0.750000 0.816327 -vt 0.400000 0.693878 -vt 0.350000 0.816327 -vt 0.050000 0.693878 -vt 0.000000 0.816327 -vt -0.000000 0.693878 -vt 0.450000 0.693878 -vt 0.400000 0.816327 -vt 0.100000 0.693878 -vt 0.050000 0.816327 -vt 0.500000 0.693878 -vt 0.450000 0.816327 -vt 0.150000 0.693878 -vt 0.100000 0.816327 -vt 0.550000 0.693878 -vt 0.500000 0.816327 -vt 0.200000 0.693878 -vt 0.150000 0.816327 -vt 0.600000 0.816327 -vt 0.600000 0.693878 -vt 0.550000 0.816327 -vt 0.200000 0.816327 -vt 0.150000 0.836735 -vt 0.600000 0.836735 -vt 0.550000 0.836735 -vt 0.200000 0.836735 -vt 0.650000 0.836735 -vt 0.250000 0.836735 -vt 0.700000 0.836735 -vt 0.337500 0.836735 -vt 0.300000 0.836735 -vt 0.800000 0.816327 -vt 0.750000 0.836735 -vt 0.350000 0.836735 -vt -0.000000 0.836735 -vt 0.437500 0.836735 -vt 0.400000 0.836735 -vt 0.050000 0.836735 -vt 0.450000 0.836735 -vt 0.100000 0.836735 -vt 0.500000 0.836735 -vt 0.300000 0.673469 -vt 0.687500 0.836735 -vt 0.662500 1.000000 -vt 0.737500 0.836735 -vt 0.712500 1.000000 -vt 0.787500 0.836735 -vt 0.762500 1.000000 -vt 0.037500 0.836735 -vt 0.012500 1.000000 -vt 0.087500 0.836735 +vt 0.416667 -0.000000 +vt 0.333333 -0.000000 +vt 0.500000 0.909091 +vt 0.500000 0.000000 +vt 0.416667 0.909091 +vt 0.666667 0.000000 +vt 0.583333 0.909091 +vt 0.416667 0.909091 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt 0.062500 0.545455 +vt 0.000000 0.784091 +vt -0.000000 0.579545 +vt 0.125000 0.545455 +vt 0.062500 0.818182 +vt 0.250000 0.579545 +vt 0.187500 0.784091 +vt 0.187500 0.579545 +vt 0.125000 0.818182 +vt 0.062500 0.545455 +vt 0.000000 0.784091 +vt -0.000000 0.579545 +vt 0.125000 0.545455 +vt 0.062500 0.818182 +vt 0.250000 0.579545 +vt 0.187500 0.784091 +vt 0.187500 0.579545 +vt 0.125000 0.818182 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt 0.125000 0.454545 +vt 0.187500 0.386364 +vt 0.187500 0.454545 +vt -0.000000 0.454545 +vt 0.062500 0.386364 +vt 0.062500 0.454545 +vt 0.250000 0.386364 +vt 0.250000 0.454545 +vt 0.125000 0.386364 +vt 0.125000 0.454545 +vt 0.187500 0.386364 +vt 0.187500 0.454545 +vt -0.000000 0.454545 +vt 0.062500 0.386364 +vt 0.062500 0.454545 +vt 0.250000 0.386364 +vt 0.250000 0.454545 +vt 0.125000 0.386364 +vt 0.125000 0.454545 +vt 0.187500 0.386364 +vt 0.187500 0.454545 +vt -0.000000 0.454545 +vt 0.062500 0.386364 +vt 0.062500 0.454545 +vt 0.250000 0.386364 +vt 0.250000 0.454545 +vt 0.125000 0.386364 +vt 0.187500 0.454545 +vt 0.000000 0.522727 +vt 0.000000 0.454545 +vt 0.187500 0.454545 +vt 0.000000 0.522727 +vt 0.000000 0.454545 +vt 0.187500 0.454545 +vt 0.000000 0.522727 +vt 0.000000 0.454545 +vt 0.083333 0.113636 +vt 0.083333 0.113636 +vt -0.000000 0.181818 +vt -0.000000 0.181818 +vt 0.083333 0.113636 +vt 0.083333 0.113636 +vt -0.000000 0.181818 +vt 0.083333 0.250000 +vt -0.000000 0.386364 +vt 0.062500 0.818182 +vt 0.145833 0.818182 +vt 0.145833 0.852273 +vt 0.145833 1.000000 vt 0.062500 1.000000 -vt 0.137500 0.836735 -vt 0.112500 1.000000 -vt 0.187500 0.836735 -vt 0.162500 1.000000 -vt 0.237500 0.836735 -vt 0.212500 1.000000 -vt 0.287500 0.836735 -vt 0.262500 1.000000 -vt 0.312500 1.000000 -vt 0.387500 0.836735 -vt 0.362500 1.000000 -vt 0.412500 1.000000 -vt 0.487500 0.836735 -vt 0.462500 1.000000 -vt 0.537500 0.836735 -vt 0.512500 1.000000 -vt 0.587500 0.836735 -vt 0.562500 1.000000 -vt 0.637500 0.836735 -vt 0.612500 1.000000 -vt 0.350000 0.673469 -vt 0.400000 0.673469 -vt 0.450000 0.673469 -vt 0.500000 0.673469 -vt 0.587500 0.673469 -vt 0.600000 0.673469 -vt 0.650000 0.673469 -vt 0.700000 0.673469 -vt 0.750000 0.673469 -vt 0.000000 0.673469 -vt 0.050000 0.673469 -vt 0.100000 0.673469 -vt 0.150000 0.673469 -vt 0.200000 0.673469 -vt 0.250000 0.673469 -vt 0.687500 0.591837 -vt 0.687500 0.673469 -vt 0.287500 0.591837 -vt 0.287500 0.673469 -vt 0.737500 0.591837 -vt 0.737500 0.673469 -vt 0.337500 0.591837 -vt 0.337500 0.673469 -vt 0.787500 0.591837 -vt 0.787500 0.673469 -vt 0.387500 0.591837 -vt 0.387500 0.673469 -vt 0.037500 0.591837 -vt 0.037500 0.673469 -vt 0.437500 0.591837 -vt 0.437500 0.673469 -vt 0.087500 0.591837 -vt 0.087500 0.673469 -vt 0.487500 0.591837 -vt 0.487500 0.673469 -vt 0.137500 0.591837 -vt 0.137500 0.673469 -vt 0.537500 0.591837 -vt 0.537500 0.673469 -vt 0.187500 0.591837 -vt 0.187500 0.673469 -vt 0.637500 0.591837 -vt 0.637500 0.673469 -vt 0.550000 0.673469 -vt 0.587500 0.591837 -vt 0.237500 0.591837 -vt 0.237500 0.673469 -vt 0.100000 0.591837 -vt 0.150000 0.428571 -vt 0.500000 0.591837 -vt 0.550000 0.428571 -vt 0.150000 0.591837 -vt 0.200000 0.428571 -vt 0.600000 0.591837 -vt 0.650000 0.428571 -vt 0.550000 0.591837 -vt 0.600000 0.428571 -vt 0.250000 0.428571 -vt 0.650000 0.591837 -vt 0.700000 0.428571 -vt 0.250000 0.591837 -vt 0.300000 0.428571 -vt 0.700000 0.591837 -vt 0.750000 0.428571 -vt 0.300000 0.591837 -vt 0.350000 0.428571 -vt 0.750000 0.591837 -vt 0.800000 0.428571 -vt 0.350000 0.591837 -vt 0.400000 0.428571 -vt -0.000000 0.591837 -vt 0.050000 0.428571 -vt 0.400000 0.591837 -vt 0.450000 0.428571 -vt 0.050000 0.591837 -vt 0.100000 0.428571 -vt 0.450000 0.591837 -vt 0.500000 0.428571 -vt 0.000000 0.428571 -vt 0.537500 -0.000000 -vt 0.187500 0.000000 -vt 0.637500 0.000000 -vt 0.587500 0.000000 -vt 0.237500 0.000000 -vt 0.687500 0.000000 -vt 0.287500 0.000000 -vt 0.737500 -0.000000 -vt 0.337500 0.000000 -vt 0.787500 -0.000000 -vt 0.387500 0.000000 -vt 0.037500 -0.000000 -vt 0.437500 0.000000 -vt 0.087500 -0.000000 -vt 0.487500 0.000000 -vt 0.137500 0.000000 -vt 0.200000 0.591837 -vt 0.500000 -0.000000 -vt 0.150000 0.000000 -vt 0.600000 0.000000 -vt 0.550000 0.000000 -vt 0.200000 -0.000000 -vt 0.650000 0.000000 -vt 0.250000 -0.000000 -vt 0.700000 0.000000 -vt 0.300000 -0.000000 -vt 0.750000 0.000000 -vt 0.350000 -0.000000 -vt -0.000000 0.000000 -vt 0.400000 -0.000000 -vt 0.050000 -0.000000 -vt 0.450000 0.000000 -vt 0.100000 0.000000 -vn 0.0000 -1.0000 0.0000 -vn -0.6771 0.0000 -0.7359 -vn 0.7359 0.0000 0.6771 -vn 0.2236 0.9487 -0.2236 -vn 0.7359 0.0000 -0.6771 -vn -0.6771 0.0000 0.7359 -vn 0.2236 0.9487 0.2236 -vn 0.5000 0.7071 0.5000 -vn -0.5000 0.7071 -0.5000 -vn 0.6771 0.0000 -0.7359 -vn -0.7359 -0.0000 0.6771 -vn 0.5000 0.7071 -0.5000 -vn -0.2236 0.9487 -0.2236 -vn -0.5000 0.7071 0.5000 -vn -0.7359 0.0000 -0.6771 -vn 0.6771 -0.0000 0.7359 -vn -0.2236 0.9487 0.2236 -vn -0.7071 -0.0067 -0.7071 -vn -0.3827 -0.0067 -0.9239 -vn 0.7071 -0.0067 0.7071 -vn 0.3827 -0.0067 0.9239 -vn -0.9239 -0.0067 -0.3827 -vn 0.9239 -0.0067 0.3827 -vn -1.0000 -0.0067 -0.0000 -vn 1.0000 -0.0067 0.0000 -vn -0.9239 -0.0067 0.3827 -vn 0.9239 -0.0067 -0.3827 -vn -0.7071 -0.0067 0.7071 -vn 0.7071 -0.0067 -0.7071 -vn -0.3827 -0.0067 0.9239 -vn 0.3827 -0.0067 -0.9239 -vn -0.0000 -0.0067 1.0000 -vn 0.0000 -0.0067 -1.0000 -vn 0.0000 0.7208 0.6931 -vn -0.2652 0.7208 0.6403 -vn -0.2652 0.7208 -0.6403 -vn 0.0000 0.7208 -0.6931 -vn 0.2652 0.7208 -0.6403 -vn 0.2652 0.7208 -0.6404 -vn 0.2652 0.7208 0.6404 -vn -0.4901 0.7208 -0.4901 -vn 0.4901 0.7208 0.4901 -vn -0.6403 0.7208 -0.2652 -vn 0.6403 0.7208 0.2652 -vn -0.6931 0.7208 0.0000 -vn 0.6931 0.7208 0.0000 -vn -0.6403 0.7208 0.2652 -vn 0.6403 0.7208 -0.2652 -vn -0.4901 0.7208 0.4901 -vn 0.4901 0.7208 -0.4901 -vn 0.5000 -0.7071 0.5000 -vn 0.6533 -0.7071 0.2706 -vn -0.3423 0.4472 -0.8263 -vn -0.6325 0.4472 -0.6325 -vn 0.0000 1.0000 -0.0000 -vn -0.8263 0.4472 -0.3423 -vn -0.8944 0.4472 0.0000 -vn -0.8263 0.4472 0.3423 -vn -0.6325 0.4472 0.6325 -vn -0.3423 0.4472 0.8263 -vn 0.0000 0.4472 0.8944 -vn 0.3423 0.4472 0.8263 -vn 0.6325 0.4472 0.6325 -vn 0.8263 0.4472 0.3423 -vn 0.8944 0.4472 0.0000 -vn 0.8263 0.4472 -0.3423 -vn 0.6325 0.4472 -0.6325 -vn 0.3423 0.4472 -0.8263 -vn 0.0000 0.4472 -0.8944 -vn 0.7071 -0.7071 0.0000 -vn 0.6533 -0.7071 -0.2706 -vn 0.5000 -0.7071 -0.5000 -vn 0.2706 -0.7071 -0.6533 -vn 0.0000 -0.7071 -0.7071 -vn -0.2706 -0.7071 -0.6533 -vn -0.5000 -0.7071 -0.5000 -vn -0.6533 -0.7071 -0.2706 -vn -0.7071 -0.7071 -0.0000 -vn -0.6533 -0.7071 0.2706 -vn -0.5000 -0.7071 0.5000 -vn -0.2706 -0.7071 0.6533 -vn -0.0000 -0.7071 0.7071 -vn 0.2706 -0.7071 0.6533 -vn -0.3827 0.0000 -0.9239 -vn -0.7071 0.0000 -0.7071 -vn 0.3827 0.0000 0.9239 -vn 0.7071 0.0000 0.7071 -vn -0.9239 0.0000 -0.3827 -vn 0.9239 -0.0000 0.3827 -vn -1.0000 -0.0000 0.0000 -vn 1.0000 0.0000 -0.0000 -vn -0.9239 -0.0000 0.3827 -vn 0.9239 -0.0000 -0.3827 -vn -0.7071 0.0000 0.7071 -vn 0.7071 -0.0000 -0.7071 -vn -0.3827 0.0000 0.9239 -vn 0.3827 0.0000 -0.9239 -vn -0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn -0.7016 0.1240 0.7016 -vn -0.3797 0.1240 0.9167 -vn 0.7016 0.1240 -0.7016 -vn 0.3797 0.1240 -0.9167 -vn 0.0000 0.1240 0.9923 -vn 0.0000 0.1240 -0.9923 -vn -0.3797 0.1240 -0.9167 -vn 0.3797 0.1240 0.9167 -vn -0.7016 0.1240 -0.7016 -vn 0.7016 0.1240 0.7016 -vn -0.9167 0.1240 -0.3797 -vn 0.9167 0.1240 0.3797 -vn -0.9923 0.1240 -0.0000 -vn 0.9923 0.1240 -0.0000 -vn -0.9167 0.1240 0.3797 -vn 0.9167 0.1240 -0.3797 -s off -f 4904/7151/776 4905/7152/776 4906/7153/776 -f 4906/7153/776 4907/7154/776 4908/7155/776 -f 4907/7156/776 4909/7157/776 4908/7155/776 -f 4910/7158/776 4911/7159/776 4909/7157/776 -f 4912/7160/776 4913/7161/776 4911/7159/776 -f 4914/7162/776 4915/7163/776 4913/7161/776 -f 4916/7164/776 4917/7165/776 4915/7163/776 -f 4917/7165/776 4918/7166/776 4919/7167/776 -f 4918/7168/776 4920/7169/776 4919/7167/776 -f 4920/7170/776 4921/7171/776 4922/7172/776 -f 4922/7172/776 4923/7173/776 4924/7174/776 -f 4923/7175/776 4925/7176/776 4924/7174/776 -f 4926/7177/776 4927/7178/776 4925/7176/776 -f 4927/7178/776 4928/7179/776 4929/7180/776 -f 4928/7181/776 4930/7182/776 4929/7180/776 -f 4931/7183/776 4904/7151/776 4930/7182/776 -f 4932/7184/776 4933/7185/776 4934/7186/776 -f 4935/7187/777 4936/7188/777 4937/7189/777 -f 4938/7190/778 4935/7187/778 4939/7191/778 -f 4935/7192/779 4937/7193/779 4939/7191/779 -f 4936/7194/776 4940/7195/776 4938/7190/776 -f 4941/7196/780 4942/7197/780 4943/7198/780 -f 4944/7199/781 4941/7196/781 4945/7200/781 -f 4941/7201/782 4943/7202/782 4945/7200/782 -f 4942/7203/776 4946/7204/776 4944/7199/776 -f 4947/7205/780 4948/7206/780 4949/7207/780 -f 4950/7208/781 4947/7205/781 4951/7209/781 -f 4947/7210/783 4949/7211/783 4951/7209/783 -f 4948/7212/776 4952/7213/776 4950/7208/776 -f 4953/7214/776 4954/7215/776 4955/7216/776 -f 4956/7217/784 4957/7218/784 4958/7219/784 -f 4955/7216/785 4956/7220/785 4958/7219/785 -f 4956/7220/786 4953/7221/786 4957/7222/786 -f 4959/7223/777 4960/7224/777 4961/7225/777 -f 4962/7226/778 4959/7223/778 4963/7227/778 -f 4959/7228/787 4961/7229/787 4963/7227/787 -f 4960/7230/776 4964/7231/776 4962/7226/776 -f 4965/7232/776 4966/7233/776 4967/7234/776 -f 4968/7235/788 4969/7236/788 4970/7237/788 -f 4967/7234/785 4968/7238/785 4970/7237/785 -f 4968/7238/786 4965/7239/786 4969/7240/786 -f 4971/7241/776 4972/7242/776 4973/7243/776 -f 4974/7244/789 4975/7245/789 4976/7246/789 -f 4973/7243/790 4974/7247/790 4976/7246/790 -f 4974/7247/791 4971/7248/791 4975/7249/791 -f 4977/7250/776 4978/7251/776 4979/7252/776 -f 4980/7253/792 4981/7254/792 4982/7255/792 -f 4979/7252/790 4980/7256/790 4982/7255/790 -f 4980/7256/791 4977/7257/791 4981/7258/791 -f 4904/7151/776 4983/7259/776 4905/7152/776 -f 4906/7153/776 4905/7260/776 4907/7154/776 -f 4907/7156/776 4910/7261/776 4909/7157/776 -f 4910/7158/776 4912/7262/776 4911/7159/776 -f 4912/7160/776 4914/7263/776 4913/7161/776 -f 4914/7162/776 4916/7264/776 4915/7163/776 -f 4916/7164/776 4984/7265/776 4917/7165/776 -f 4917/7165/776 4984/7266/776 4918/7166/776 -f 4918/7168/776 4985/7267/776 4920/7169/776 -f 4920/7170/776 4985/7268/776 4921/7171/776 -f 4922/7172/776 4921/7269/776 4923/7173/776 -f 4923/7175/776 4926/7270/776 4925/7176/776 -f 4926/7177/776 4986/7271/776 4927/7178/776 -f 4927/7178/776 4986/7272/776 4928/7179/776 -f 4928/7181/776 4931/7273/776 4930/7182/776 -f 4931/7183/776 4983/7274/776 4904/7151/776 -f 4932/7184/776 4987/7275/776 4988/7276/776 -f 4988/7276/776 4989/7277/776 4933/7185/776 -f 4933/7185/776 4990/7278/776 4991/7279/776 -f 4991/7279/776 4992/7280/776 4934/7186/776 -f 4934/7186/776 4993/7281/776 4994/7282/776 -f 4994/7282/776 4995/7283/776 4996/7284/776 -f 4996/7284/776 4997/7285/776 4998/7286/776 -f 4998/7286/776 4999/7287/776 4996/7284/776 -f 4999/7287/776 4932/7184/776 4996/7284/776 -f 4932/7184/776 4988/7276/776 4933/7185/776 -f 4933/7185/776 4991/7279/776 4934/7186/776 -f 4934/7186/776 4994/7282/776 4932/7184/776 -f 4994/7282/776 4996/7284/776 4932/7184/776 -f 4935/7187/777 4940/7195/777 4936/7188/777 -f 4938/7190/778 4940/7195/778 4935/7187/778 -f 4941/7196/780 4946/7204/780 4942/7197/780 -f 4944/7199/781 4946/7204/781 4941/7196/781 -f 4947/7205/780 4952/7213/780 4948/7206/780 -f 4950/7208/781 4952/7213/781 4947/7205/781 -f 4955/7216/785 4954/7215/785 4956/7220/785 -f 4956/7220/786 4954/7215/786 4953/7221/786 -f 4959/7223/777 4964/7231/777 4960/7224/777 -f 4962/7226/778 4964/7231/778 4959/7223/778 -f 4967/7234/785 4966/7233/785 4968/7238/785 -f 4968/7238/786 4966/7233/786 4965/7239/786 -f 4973/7243/790 4972/7242/790 4974/7247/790 -f 4974/7247/791 4972/7242/791 4971/7248/791 -f 4979/7252/790 4978/7251/790 4980/7256/790 -f 4980/7256/791 4978/7251/791 4977/7257/791 -s 1 -f 5000/7288/793 5001/7289/794 5002/7290/794 -f 5003/7291/795 5004/7292/796 5005/7293/796 -f 5006/7294/797 5007/7295/793 5000/7288/793 -f 5008/7296/798 5009/7297/795 5003/7291/795 -f 5010/7298/799 5011/7299/797 5006/7294/797 -f 5012/7300/800 5013/7301/798 5008/7296/798 -f 5014/7302/801 5015/7303/799 5010/7304/799 -f 5016/7305/802 5017/7306/800 5012/7300/800 -f 5018/7307/803 5019/7308/801 5014/7302/801 -f 5020/7309/804 5021/7310/802 5016/7305/802 -f 5022/7311/805 5023/7312/803 5018/7307/803 -f 5024/7313/806 5025/7314/804 5020/7309/804 -f 5026/7315/807 5027/7316/805 5022/7311/805 -f 5002/7290/794 5028/7317/808 5029/7318/808 -f 5029/7318/808 5030/7319/806 5024/7313/806 -f 5005/7293/796 5031/7320/807 5026/7315/807 -f 5031/7320/809 5032/7321/810 5027/7316/810 -f 5001/7289/811 5033/7322/812 5028/7317/812 -f 5028/7317/812 5034/7323/813 5030/7319/814 -f 5004/7292/815 5035/7324/809 5031/7320/809 -f 5007/7295/816 5036/7325/811 5001/7289/811 -f 5009/7297/817 5037/7326/815 5004/7292/815 -f 5011/7299/818 5038/7327/816 5007/7295/816 -f 5009/7297/817 5039/7328/819 5040/7329/817 -f 5015/7330/820 5041/7331/818 5011/7299/818 -f 5017/7306/821 5039/7332/819 5013/7301/819 -f 5019/7308/822 5042/7333/820 5015/7303/820 -f 5017/7306/821 5043/7334/823 5044/7335/821 -f 5023/7312/824 5045/7336/822 5019/7308/822 -f 5025/7314/825 5043/7337/823 5021/7310/823 -f 5027/7316/810 5046/7338/824 5023/7312/824 -f 5030/7319/814 5047/7339/825 5025/7314/825 -f 5048/7340/826 5008/7296/827 5003/7291/826 -f 5036/7325/828 5038/7341/829 5049/7342/830 -f 5038/7327/829 5041/7343/831 5049/7344/830 -f 5041/7331/831 5042/7345/832 5049/7346/830 -f 5042/7333/832 5045/7347/833 5049/7348/830 -f 5045/7336/833 5046/7349/834 5049/7350/830 -f 5046/7338/834 5032/7351/835 5049/7352/830 -f 5032/7321/835 5035/7353/836 5049/7354/830 -f 5035/7324/836 5037/7355/837 5049/7356/830 -f 5037/7326/837 5040/7357/838 5049/7358/830 -f 5040/7329/838 5039/7328/839 5049/7359/830 -f 5039/7332/839 5044/7360/840 5049/7361/830 -f 5044/7335/840 5043/7334/841 5049/7362/830 -f 5043/7337/841 5047/7363/842 5049/7364/830 -f 5047/7339/842 5034/7365/843 5049/7366/830 -f 5034/7323/843 5033/7367/844 5049/7368/830 -f 5033/7322/844 5036/7369/828 5049/7370/830 -f 5050/7371/827 5012/7300/845 5008/7296/827 -f 5051/7372/845 5016/7305/846 5012/7300/845 -f 5052/7373/846 5020/7309/847 5016/7305/846 -f 5053/7374/847 5024/7313/848 5020/7309/847 -f 5024/7313/848 5054/7375/849 5029/7318/849 -f 5054/7376/849 5002/7290/850 5029/7318/849 -f 5055/7377/850 5000/7288/851 5002/7290/850 -f 5056/7378/851 5006/7294/852 5000/7288/851 -f 5057/7379/852 5010/7298/853 5006/7294/852 -f 5058/7380/853 5014/7302/854 5010/7304/853 -f 5059/7381/854 5018/7307/855 5014/7302/854 -f 5060/7382/855 5022/7311/856 5018/7307/855 -f 5061/7383/856 5026/7315/857 5022/7311/856 -f 5062/7384/857 5005/7293/858 5026/7315/857 -f 5063/7385/858 5003/7291/826 5005/7293/858 -f 5055/7377/859 5064/7386/860 5056/7387/860 -f 5063/7385/861 5065/7388/862 5048/7389/862 -f 5056/7378/860 5066/7390/863 5057/7391/863 -f 5048/7340/862 5067/7392/864 5050/7393/864 -f 5057/7379/863 5068/7394/865 5058/7395/865 -f 5050/7371/864 5069/7396/866 5051/7397/866 -f 5058/7380/865 5070/7398/867 5059/7399/867 -f 5051/7372/866 5071/7400/868 5052/7401/868 -f 5059/7381/867 5072/7402/869 5060/7403/869 -f 5052/7373/868 5073/7404/870 5053/7405/870 -f 5060/7382/869 5074/7406/871 5061/7407/871 -f 5053/7374/870 5075/7408/872 5076/7409/872 -f 5061/7383/871 5077/7410/873 5062/7411/873 -f 5054/7376/874 5078/7412/859 5055/7413/859 -f 5076/7414/872 5079/7415/874 5054/7375/874 -f 5062/7384/873 5080/7416/861 5063/7417/861 -f 5072/7418/875 5081/7419/876 5074/7406/876 -f 5073/7420/877 5082/7421/878 5075/7408/878 -f 5074/7422/876 5083/7423/879 5077/7410/879 -f 5079/7424/880 5084/7425/881 5078/7412/881 -f 5075/7426/878 5085/7427/880 5079/7415/880 -f 5080/7416/882 5083/7423/879 5086/7428/882 -f 5078/7429/881 5087/7430/883 5064/7386/883 -f 5080/7431/882 5088/7432/884 5065/7388/884 -f 5064/7433/883 5089/7434/885 5066/7390/885 -f 5065/7435/884 5090/7436/886 5067/7392/886 -f 5066/7437/885 5091/7438/887 5068/7394/887 -f 5067/7439/886 5092/7440/888 5069/7396/888 -f 5068/7441/887 5093/7442/889 5070/7398/889 -f 5069/7443/888 5094/7444/890 5071/7400/890 -f 5070/7445/889 5095/7446/875 5072/7402/875 -f 5071/7447/890 5096/7448/877 5073/7404/877 -f 5090/7436/864 4906/7153/866 5092/7440/866 -f 5091/7449/865 4922/7172/867 5093/7442/867 -f 5092/7440/866 4908/7155/868 5094/7444/868 -f 5093/7442/867 4924/7174/869 5095/7446/869 -f 5094/7444/868 4909/7157/870 5096/7448/870 -f 5095/7446/869 4925/7176/871 5081/7419/871 -f 5096/7448/870 4911/7159/872 5082/7421/872 -f 5081/7419/871 4927/7178/873 5083/7423/873 -f 5085/7427/874 4915/7163/859 5084/7425/859 -f 5082/7421/872 4913/7161/874 5085/7427/874 -f 5083/7423/873 4929/7180/861 5086/7428/861 -f 5084/7425/859 4917/7165/860 5087/7430/860 -f 5086/7428/861 4930/7182/862 5088/7432/862 -f 5087/7430/860 4919/7167/863 5089/7434/863 -f 5088/7432/862 4904/7151/864 5090/7436/864 -f 5089/7434/863 4920/7169/865 5091/7438/865 -f 4910/7158/870 4989/7450/872 4912/7262/872 -f 4926/7177/871 4994/7451/873 4986/7271/873 -f 4914/7162/874 4987/7452/859 4916/7264/859 -f 4912/7160/872 4988/7453/874 4914/7263/874 -f 4986/7272/873 4993/7454/861 4928/7179/861 -f 4916/7164/859 4932/7455/860 4984/7265/860 -f 4928/7181/861 4934/7456/862 4931/7273/862 -f 4984/7266/860 4999/7457/863 4918/7166/863 -f 4931/7183/862 4992/7458/864 4983/7274/864 -f 4918/7168/863 4998/7459/865 4985/7267/865 -f 4983/7259/864 4991/7460/866 4905/7152/866 -f 4985/7268/865 4997/7461/867 4921/7171/867 -f 4905/7260/866 4990/7462/868 4907/7154/868 -f 4921/7269/867 4996/7463/869 4923/7173/869 -f 4907/7156/868 4933/7464/870 4910/7261/870 -f 4923/7175/869 4995/7465/871 4926/7270/871 -f 5000/7288/793 5007/7295/793 5001/7289/794 -f 5003/7291/795 5009/7297/795 5004/7292/796 -f 5006/7294/797 5011/7299/797 5007/7295/793 -f 5008/7296/798 5013/7301/798 5009/7297/795 -f 5010/7298/799 5015/7330/799 5011/7299/797 -f 5012/7300/800 5017/7306/800 5013/7301/798 -f 5014/7302/801 5019/7308/801 5015/7303/799 -f 5016/7305/802 5021/7310/802 5017/7306/800 -f 5018/7307/803 5023/7312/803 5019/7308/801 -f 5020/7309/804 5025/7314/804 5021/7310/802 -f 5022/7311/805 5027/7316/805 5023/7312/803 -f 5024/7313/806 5030/7319/806 5025/7314/804 -f 5026/7315/807 5031/7320/807 5027/7316/805 -f 5002/7290/794 5001/7289/794 5028/7317/808 -f 5029/7318/808 5028/7317/808 5030/7319/806 -f 5005/7293/796 5004/7292/796 5031/7320/807 -f 5031/7320/809 5035/7353/809 5032/7321/810 -f 5001/7289/811 5036/7369/811 5033/7322/812 -f 5028/7317/812 5033/7367/812 5034/7323/813 -f 5004/7292/815 5037/7355/815 5035/7324/809 -f 5007/7295/816 5038/7341/816 5036/7325/811 -f 5009/7297/817 5040/7357/817 5037/7326/815 -f 5011/7299/818 5041/7343/818 5038/7327/816 -f 5009/7297/817 5013/7301/819 5039/7328/819 -f 5015/7330/820 5042/7345/820 5041/7331/818 -f 5017/7306/821 5044/7360/821 5039/7332/819 -f 5019/7308/822 5045/7347/822 5042/7333/820 -f 5017/7306/821 5021/7310/823 5043/7334/823 -f 5023/7312/824 5046/7349/824 5045/7336/822 -f 5025/7314/825 5047/7363/825 5043/7337/823 -f 5027/7316/810 5032/7351/810 5046/7338/824 -f 5030/7319/814 5034/7365/813 5047/7339/825 -f 5048/7340/826 5050/7393/827 5008/7296/827 -f 5050/7371/827 5051/7397/845 5012/7300/845 -f 5051/7372/845 5052/7401/846 5016/7305/846 -f 5052/7373/846 5053/7405/847 5020/7309/847 -f 5053/7374/847 5076/7409/848 5024/7313/848 -f 5024/7313/848 5076/7414/848 5054/7375/849 -f 5054/7376/849 5055/7413/850 5002/7290/850 -f 5055/7377/850 5056/7387/851 5000/7288/851 -f 5056/7378/851 5057/7391/852 5006/7294/852 -f 5057/7379/852 5058/7395/853 5010/7298/853 -f 5058/7380/853 5059/7399/854 5014/7302/854 -f 5059/7381/854 5060/7403/855 5018/7307/855 -f 5060/7382/855 5061/7407/856 5022/7311/856 -f 5061/7383/856 5062/7411/857 5026/7315/857 -f 5062/7384/857 5063/7417/858 5005/7293/858 -f 5063/7385/858 5048/7389/826 5003/7291/826 -f 5055/7377/859 5078/7429/859 5064/7386/860 -f 5063/7385/861 5080/7431/861 5065/7388/862 -f 5056/7378/860 5064/7433/860 5066/7390/863 -f 5048/7340/862 5065/7435/862 5067/7392/864 -f 5057/7379/863 5066/7437/863 5068/7394/865 -f 5050/7371/864 5067/7439/864 5069/7396/866 -f 5058/7380/865 5068/7441/865 5070/7398/867 -f 5051/7372/866 5069/7443/866 5071/7400/868 -f 5059/7381/867 5070/7445/867 5072/7402/869 -f 5052/7373/868 5071/7447/868 5073/7404/870 -f 5060/7382/869 5072/7418/869 5074/7406/871 -f 5053/7374/870 5073/7420/870 5075/7408/872 -f 5061/7383/871 5074/7422/871 5077/7410/873 -f 5054/7376/874 5079/7424/874 5078/7412/859 -f 5076/7414/872 5075/7426/872 5079/7415/874 -f 5062/7384/873 5077/7466/873 5080/7416/861 -f 5072/7418/875 5095/7446/875 5081/7419/876 -f 5073/7420/877 5096/7448/877 5082/7421/878 -f 5074/7422/876 5081/7419/876 5083/7423/879 -f 5079/7424/880 5085/7427/880 5084/7425/881 -f 5075/7426/878 5082/7421/878 5085/7427/880 -f 5080/7416/882 5077/7466/879 5083/7423/879 -f 5078/7429/881 5084/7425/881 5087/7430/883 -f 5080/7431/882 5086/7428/882 5088/7432/884 -f 5064/7433/883 5087/7430/883 5089/7434/885 -f 5065/7435/884 5088/7432/884 5090/7436/886 -f 5066/7437/885 5089/7434/885 5091/7438/887 -f 5067/7439/886 5090/7436/886 5092/7440/888 -f 5068/7441/887 5091/7449/887 5093/7442/889 -f 5069/7443/888 5092/7440/888 5094/7444/890 -f 5070/7445/889 5093/7442/889 5095/7446/875 -f 5071/7447/890 5094/7444/890 5096/7448/877 -f 5090/7436/864 4904/7151/864 4906/7153/866 -f 5091/7449/865 4920/7170/865 4922/7172/867 -f 5092/7440/866 4906/7153/866 4908/7155/868 -f 5093/7442/867 4922/7172/867 4924/7174/869 -f 5094/7444/868 4908/7155/868 4909/7157/870 -f 5095/7446/869 4924/7174/869 4925/7176/871 -f 5096/7448/870 4909/7157/870 4911/7159/872 -f 5081/7419/871 4925/7176/871 4927/7178/873 -f 5085/7427/874 4913/7161/874 4915/7163/859 -f 5082/7421/872 4911/7159/872 4913/7161/874 -f 5083/7423/873 4927/7178/873 4929/7180/861 -f 5084/7425/859 4915/7163/859 4917/7165/860 -f 5086/7428/861 4929/7180/861 4930/7182/862 -f 5087/7430/860 4917/7165/860 4919/7167/863 -f 5088/7432/862 4930/7182/862 4904/7151/864 -f 5089/7434/863 4919/7167/863 4920/7169/865 -f 4910/7158/870 4933/7467/870 4989/7450/872 -f 4926/7177/871 4995/7468/871 4994/7451/873 -f 4914/7162/874 4988/7469/874 4987/7452/859 -f 4912/7160/872 4989/7470/872 4988/7453/874 -f 4986/7272/873 4994/7471/873 4993/7454/861 -f 4916/7164/859 4987/7472/859 4932/7455/860 -f 4928/7181/861 4993/7473/861 4934/7456/862 -f 4984/7266/860 4932/7474/860 4999/7457/863 -f 4931/7183/862 4934/7475/862 4992/7458/864 -f 4918/7168/863 4999/7476/863 4998/7459/865 -f 4983/7259/864 4992/7477/864 4991/7460/866 -f 4985/7268/865 4998/7478/865 4997/7461/867 -f 4905/7260/866 4991/7479/866 4990/7462/868 -f 4921/7269/867 4997/7480/867 4996/7463/869 -f 4907/7156/868 4990/7481/868 4933/7464/870 -f 4923/7175/869 4996/7482/869 4995/7465/871 -o V2_Missile -v 0.265165 2.500000 -0.265165 -v 0.265165 2.500000 0.265165 -v -0.265165 2.500000 0.265165 -v 0.729204 3.500000 -0.773398 -v 0.773398 2.000000 -0.729204 -v 0.729204 2.000000 -0.773398 -v -0.773398 3.500000 -0.729204 -v -0.729204 2.000000 -0.773398 -v -0.773398 2.000000 -0.729204 -v -0.198874 2.500000 -0.243068 -v -0.596621 2.000000 -0.552427 -v -0.552427 2.000000 -0.596621 -v 0.243068 2.500000 -0.198874 -v 0.552427 2.000000 -0.596621 -v 0.596621 2.000000 -0.552427 -v -0.729204 3.500000 -0.773398 -v 0.773398 3.500000 -0.729204 -v -0.243068 2.500000 -0.198874 -v 0.198874 2.500000 -0.243068 -v -0.243068 4.500000 -0.198874 -v -0.198874 4.500000 -0.243068 -v 0.198874 4.500000 -0.243068 -v 0.243068 4.500000 -0.198874 -v -0.243068 4.500000 0.198874 -v -0.729204 3.500000 0.773398 -v -0.198874 4.500000 0.243068 -v -0.552427 2.000000 0.596621 -v -0.773398 2.000000 0.729204 -v -0.596621 2.000000 0.552427 -v -0.729204 2.000000 0.773398 -v -0.198874 2.500000 0.243068 -v -0.773398 3.500000 0.729204 -v -0.243068 2.500000 0.198874 -v 0.729204 3.500000 0.773398 -v 0.243068 4.500000 0.198874 -v 0.198874 4.500000 0.243068 -v 0.552427 2.000000 0.596621 -v 0.773398 2.000000 0.729204 -v 0.729204 2.000000 0.773398 -v 0.773398 3.500000 0.729204 -v 0.243068 2.500000 0.198874 -v 0.198874 2.500000 0.243068 -v -0.265165 2.500000 -0.265165 -v -0.143506 2.500000 -0.346455 -v 0.000000 2.500000 -0.375000 -v 0.143506 2.500000 -0.346455 -v 0.346455 2.500000 -0.143506 -v 0.375000 2.500000 0.000000 -v 0.346455 2.500000 0.143506 -v 0.143506 2.500000 0.346455 -v 0.000000 2.500000 0.375000 -v -0.143506 2.500000 0.346455 -v -0.346455 2.500000 0.143506 -v -0.375000 2.500000 0.000000 -v -0.346455 2.500000 -0.143506 -v 0.596621 2.000000 0.552427 -v 0.353553 3.500000 0.353553 -v 0.191342 6.000000 0.461940 -v 0.191342 3.500000 0.461940 -v -0.461940 3.500000 -0.191342 -v -0.353553 6.000000 -0.353553 -v -0.353553 3.500000 -0.353553 -v 0.461940 3.500000 0.191342 -v 0.353553 6.000000 0.353554 -v -0.500000 3.500000 0.000000 -v -0.461940 6.000000 -0.191342 -v 0.500000 3.500000 0.000000 -v 0.461940 6.000000 0.191342 -v -0.461940 3.500000 0.191342 -v -0.500000 6.000000 0.000000 -v 0.461940 3.500000 -0.191342 -v 0.500000 6.000000 0.000000 -v -0.353553 3.500000 0.353553 -v -0.461940 6.000000 0.191342 -v 0.353553 3.500000 -0.353554 -v 0.461940 6.000000 -0.191342 -v -0.191342 3.500000 0.461940 -v -0.353553 6.000000 0.353553 -v 0.191341 3.500000 -0.461940 -v 0.353553 6.000000 -0.353554 -v 0.000000 6.000000 0.500000 -v -0.191342 6.000000 0.461940 -v -0.191342 3.500000 -0.461940 -v 0.000000 6.000000 -0.500000 -v 0.000000 3.500000 -0.500000 -v 0.191341 6.000000 -0.461940 -v 0.000000 3.500000 0.500000 -v -0.191342 6.000000 -0.461940 -v 0.000000 7.500000 -0.375000 -v 0.143506 7.500000 -0.346455 -v 0.000000 7.500000 0.375000 -v -0.265165 7.500000 -0.265165 -v -0.143506 7.500000 -0.346455 -v 0.265165 7.500000 0.265165 -v 0.143506 7.500000 0.346455 -v -0.375000 7.500000 0.000000 -v -0.346455 7.500000 -0.143506 -v 0.375000 7.500000 0.000000 -v 0.346455 7.500000 0.143506 -v -0.265165 7.500000 0.265165 -v -0.346455 7.500000 0.143506 -v 0.346455 7.500000 -0.143506 -v 0.265165 7.500000 -0.265165 -v -0.143506 7.500000 0.346455 -v 0.000000 9.000000 0.000000 -vt 0.954652 0.411214 -vt 0.954652 0.492632 -vt 0.815840 0.492632 -vt 0.803279 0.240385 -vt 0.786885 0.009615 -vt 0.803279 0.009615 -vt 0.803279 0.750000 -vt 0.786885 0.519231 -vt 0.803279 0.519231 -vt 1.000000 0.509615 -vt 0.868852 0.519231 -vt 0.868852 0.509615 -vt 1.000000 -0.000000 -vt 0.868852 0.009615 -vt 0.868852 -0.000000 -vt 0.803279 0.750000 -vt 1.000000 0.596154 -vt 0.803279 0.519231 -vt 0.803279 0.240385 -vt 1.000000 0.086538 -vt 0.803279 0.009615 -vt 1.000000 0.596154 -vt 1.000000 0.086538 -vt 0.803279 0.509615 -vt 0.786885 0.750000 -vt 0.803279 0.903846 -vt 0.786885 0.903846 -vt 0.803279 0.000000 -vt 0.786885 0.240385 -vt 0.803279 0.394231 -vt 0.786885 0.394231 -vt 0.786885 0.394231 -vt 0.803279 0.240385 -vt 0.803279 0.394231 -vt 0.868852 0.009615 -vt 0.803279 0.000000 -vt 0.868852 -0.000000 -vt 0.803279 0.009615 -vt 1.000000 0.086538 -vt 0.803279 0.240385 -vt 1.000000 0.086538 -vt 0.803279 0.009615 -vt 1.000000 -0.000000 -vt 0.786885 0.009615 -vt 0.786885 0.750000 -vt 0.803279 0.903846 -vt 0.786885 0.903846 -vt 0.868852 0.509615 -vt 0.803279 0.519231 -vt 0.803279 0.509615 -vt 0.803279 0.750000 -vt 1.000000 0.596154 -vt 0.803279 0.750000 -vt 1.000000 0.596154 -vt 0.803279 0.519231 -vt 1.000000 0.519231 -vt 1.000000 0.509615 -vt 0.786885 0.519231 -vt 0.815840 0.411214 -vt 0.847684 0.398734 -vt 0.885246 0.394352 -vt 0.922808 0.398734 -vt 0.975929 0.429891 -vt 0.983401 0.451923 -vt 0.975929 0.473955 -vt 0.922808 0.505112 -vt 0.885246 0.509494 -vt 0.847684 0.505112 -vt 0.794563 0.473955 -vt 0.787091 0.451923 -vt 0.794563 0.429891 -vt 1.000000 0.519231 -vt 1.000000 0.009615 -vt 1.000000 0.903846 -vt 0.868852 0.519231 -vt 1.000000 0.394231 -vt 0.868852 0.009615 -vt 1.000000 0.903846 -vt 1.000000 0.394231 -vt 0.786885 0.240385 -vt 1.000000 0.394231 -vt 1.000000 0.394231 -vt 0.868852 0.009615 -vt 1.000000 0.009615 -vt 0.868852 0.519231 -vt 1.000000 0.903846 -vt 1.000000 0.903846 -vt 0.868852 0.519231 -vt 0.295082 0.153846 -vt 0.245902 0.538462 -vt 0.245902 0.153846 -vt 0.737705 0.153846 -vt 0.688525 0.538462 -vt 0.688525 0.153846 -vt 0.344262 0.153846 -vt 0.295082 0.538462 -vt 0.786885 0.153846 -vt 0.737705 0.538462 -vt 0.393443 0.153846 -vt 0.344262 0.538462 -vt 0.049180 0.153846 -vt -0.000000 0.538462 -vt -0.000000 0.153846 -vt 0.442623 0.153846 -vt 0.393443 0.538462 -vt 0.098361 0.153846 -vt 0.049180 0.538462 -vt 0.491803 0.153846 -vt 0.442623 0.538462 -vt 0.147541 0.153846 -vt 0.098361 0.538462 -vt 0.540984 0.153846 -vt 0.491803 0.538462 -vt 0.196721 0.538462 -vt 0.147541 0.538462 -vt 0.639344 0.153846 -vt 0.590164 0.538462 -vt 0.590164 0.153846 -vt 0.540984 0.538462 -vt 0.196721 0.153846 -vt 0.639344 0.538462 -vt 0.573770 0.769231 -vt 0.540984 0.769231 -vt 0.196721 0.769231 -vt 0.672131 0.769231 -vt 0.639344 0.769231 -vt 0.278689 0.769231 -vt 0.245902 0.769231 -vt 0.688525 0.769231 -vt 0.295082 0.769231 -vt 0.770492 0.769231 -vt 0.737705 0.769231 -vt 0.377049 0.769231 -vt 0.344262 0.769231 -vt -0.000000 0.769231 -vt 0.393443 0.769231 -vt 0.081967 0.769231 -vt 0.049180 0.769231 -vt 0.442623 0.769231 -vt 0.098361 0.769231 -vt 0.491803 0.769231 -vt 0.147541 0.769231 -vt 0.590164 0.769231 -vt 0.655738 1.000000 -vt 0.721311 0.769231 -vt 0.704918 1.000000 -vt 0.754098 1.000000 -vt 0.032787 0.769231 -vt 0.016393 1.000000 -vt 0.065574 1.000000 -vt 0.131148 0.769231 -vt 0.114754 1.000000 -vt 0.180328 0.769231 -vt 0.163934 1.000000 -vt 0.229508 0.769231 -vt 0.213115 1.000000 -vt 0.262295 1.000000 -vt 0.327869 0.769231 -vt 0.311475 1.000000 -vt 0.360656 1.000000 -vt 0.426230 0.769231 -vt 0.409836 1.000000 -vt 0.475410 0.769231 -vt 0.459016 1.000000 -vt 0.524590 0.769231 -vt 0.508197 1.000000 -vt 0.557377 1.000000 -vt 0.622951 0.769231 -vt 0.606557 1.000000 -vt 0.278689 0.000000 -vt 0.688525 0.000000 -vt 0.721311 0.000000 -vt 0.295082 0.000000 -vt 0.327869 0.000000 -vt 0.737705 0.000000 -vt 0.770492 0.000000 -vt 0.344262 0.000000 -vt 0.377049 0.000000 -vt -0.000000 0.000000 -vt 0.032787 0.000000 -vt 0.426230 0.000000 -vt 0.081967 0.000000 -vt 0.475410 0.000000 -vt 0.131148 0.000000 -vt 0.491803 0.000000 -vt 0.524590 0.000000 -vt 0.180328 0.000000 -vt 0.622951 0.000000 -vt 0.573770 0.000000 -vt 0.196721 0.000000 -vt 0.229508 0.000000 -vt 0.639344 0.000000 -vt 0.672131 0.000000 -vt 0.786885 0.538462 -vt 0.245902 0.000000 -vt 0.393443 0.000000 -vt 0.049180 0.000000 -vt 0.442623 0.000000 -vt 0.098361 0.000000 -vt 0.147541 0.000000 -vt 0.590164 0.000000 -vt 0.540984 0.000000 -vn 0.0000 -1.0000 0.0000 -vn 0.7071 0.0000 -0.7071 -vn -0.7071 0.0000 -0.7071 -vn 0.5000 -0.7071 0.5000 -vn -0.5000 -0.7071 0.5000 -vn 0.7071 -0.0000 0.7071 -vn -0.7071 -0.0000 0.7071 -vn -0.5657 0.6000 -0.5657 -vn 0.5657 0.6000 -0.5657 -vn -0.5657 0.6000 0.5657 -vn 0.5000 -0.7071 -0.5000 -vn 0.5657 0.6000 0.5657 -vn -0.5000 -0.7071 -0.5000 -vn 0.7058 -0.0617 0.7058 -vn 0.3824 0.0413 0.9231 -vn 0.3820 -0.0617 0.9221 -vn -0.9221 -0.0617 -0.3820 -vn -0.7065 0.0413 -0.7065 -vn -0.7058 -0.0617 -0.7058 -vn 0.9221 -0.0617 0.3820 -vn 0.7065 0.0413 0.7065 -vn -0.9981 -0.0617 -0.0000 -vn -0.9231 0.0413 -0.3824 -vn 0.9981 -0.0617 0.0000 -vn 0.9231 0.0413 0.3824 -vn -0.9221 -0.0617 0.3820 -vn -0.9991 0.0413 0.0000 -vn 0.9221 -0.0617 -0.3820 -vn 0.9991 0.0413 -0.0000 -vn -0.7058 -0.0617 0.7058 -vn -0.9231 0.0413 0.3824 -vn 0.7058 -0.0617 -0.7058 -vn 0.9231 0.0413 -0.3824 -vn -0.3820 -0.0617 0.9221 -vn -0.7065 0.0413 0.7065 -vn 0.3820 -0.0617 -0.9221 -vn 0.7065 0.0413 -0.7065 -vn -0.0000 0.0413 0.9991 -vn -0.3824 0.0413 0.9231 -vn -0.3820 -0.0617 -0.9221 -vn 0.0000 0.0413 -0.9991 -vn 0.0000 -0.0617 -0.9981 -vn 0.3824 0.0413 -0.9231 -vn 0.0000 -0.0617 0.9981 -vn -0.3824 0.0413 -0.9231 -vn -0.0000 0.1617 -0.9868 -vn 0.3776 0.1617 -0.9117 -vn 0.0000 0.1617 0.9868 -vn -0.6978 0.1617 -0.6978 -vn -0.3776 0.1617 -0.9117 -vn 0.6978 0.1617 0.6978 -vn 0.3776 0.1617 0.9117 -vn -0.9868 0.1617 -0.0000 -vn -0.9117 0.1617 -0.3776 -vn 0.9868 0.1617 -0.0000 -vn 0.9117 0.1617 0.3776 -vn -0.6978 0.1617 0.6978 -vn -0.9117 0.1617 0.3776 -vn 0.9117 0.1617 -0.3776 -vn 0.6978 0.1617 -0.6978 -vn -0.3776 0.1617 0.9117 +vt 0.062500 0.965909 +vt 0.187500 0.522727 +vt 0.666667 0.909091 +vt 0.666667 0.909091 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.545455 +vt 0.250000 0.784091 +vt 0.250000 0.784091 +vt -0.000000 0.522727 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.545455 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt -0.000000 0.545455 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.545455 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt -0.000000 0.545455 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.386364 +vt -0.000000 0.386364 +vt -0.000000 0.386364 +vt 0.187500 0.522727 +vt 0.187500 0.522727 +vt 0.187500 0.522727 vn 0.0000 1.0000 0.0000 -vn 0.7016 -0.1240 0.7016 -vn -0.7016 -0.1240 -0.7016 -vn -0.9167 -0.1240 -0.3797 -vn 0.9167 -0.1240 0.3797 -vn -0.9923 -0.1240 -0.0000 -vn 0.9923 -0.1240 0.0000 -vn -0.9167 -0.1240 0.3797 -vn 0.9167 -0.1240 -0.3797 -vn -0.7016 -0.1240 0.7016 -vn 0.7016 -0.1240 -0.7016 -vn -0.3797 -0.1240 0.9167 -vn 0.3797 -0.1240 -0.9167 -vn 0.0000 -0.1240 0.9923 -vn -0.3797 -0.1240 -0.9167 -vn 0.0000 -0.1240 -0.9923 -vn 0.3797 -0.1240 0.9167 -s off -f 5097/7483/891 5098/7484/891 5099/7485/891 -f 5100/7486/892 5101/7487/892 5102/7488/892 -f 5103/7489/893 5104/7490/893 5105/7491/893 -f 5106/7492/894 5107/7493/894 5108/7494/894 -f 5109/7495/895 5110/7496/895 5111/7497/895 -f 5112/7498/892 5106/7499/892 5104/7500/892 -f 5113/7501/896 5109/7502/896 5101/7503/896 -f 5103/7489/897 5105/7491/897 5114/7504/897 -f 5100/7486/893 5102/7488/893 5115/7505/893 -f 5107/7493/891 5104/7506/891 5108/7494/891 -f 5112/7507/898 5116/7508/898 5117/7509/898 -f 5111/7497/891 5102/7488/891 5101/7510/891 -f 5113/7511/899 5118/7512/899 5119/7513/899 -f 5120/7514/900 5121/7515/900 5122/7516/900 -f 5123/7517/891 5124/7518/891 5125/7519/891 -f 5121/7515/896 5126/7520/896 5127/7521/896 -f 5128/7522/893 5129/7523/893 5124/7524/893 -f 5129/7525/901 5123/7517/901 5125/7519/901 -f 5121/7515/897 5124/7526/897 5126/7520/897 -f 5130/7527/902 5131/7528/902 5132/7529/902 -f 5133/7530/891 5134/7531/891 5135/7532/891 -f 5136/7533/892 5134/7531/892 5137/7534/892 -f 5130/7535/897 5138/7536/897 5135/7537/897 -f 5137/7538/903 5133/7530/903 5138/7539/903 -f 5136/7533/896 5135/7540/896 5134/7531/896 -f 5139/7541/891 5140/7542/891 5141/7543/891 -f 5141/7543/891 5142/7544/891 5097/7483/891 -f 5097/7483/891 5143/7545/891 5098/7484/891 -f 5143/7545/891 5144/7546/891 5098/7484/891 -f 5144/7546/891 5145/7547/891 5098/7484/891 -f 5098/7484/891 5146/7548/891 5099/7485/891 -f 5146/7548/891 5147/7549/891 5099/7485/891 -f 5147/7549/891 5148/7550/891 5099/7485/891 -f 5099/7485/891 5149/7551/891 5150/7552/891 -f 5150/7552/891 5151/7553/891 5139/7541/891 -f 5139/7541/891 5141/7543/891 5097/7483/891 -f 5099/7485/891 5150/7552/891 5139/7541/891 -f 5139/7541/891 5097/7483/891 5099/7485/891 -f 5100/7486/892 5113/7511/892 5101/7487/892 -f 5103/7489/893 5112/7507/893 5104/7490/893 -f 5106/7492/894 5114/7554/894 5107/7493/894 -f 5109/7495/895 5115/7555/895 5110/7496/895 -f 5117/7556/892 5106/7499/892 5112/7498/892 -f 5106/7499/892 5108/7557/892 5104/7500/892 -f 5119/7558/896 5109/7502/896 5113/7501/896 -f 5109/7502/896 5111/7559/896 5101/7503/896 -f 5107/7493/897 5114/7504/897 5105/7491/897 -f 5114/7504/897 5116/7560/897 5103/7489/897 -f 5110/7496/893 5115/7505/893 5102/7488/893 -f 5115/7505/893 5118/7561/893 5100/7486/893 -f 5107/7493/891 5105/7491/891 5104/7506/891 -f 5112/7507/898 5103/7489/898 5116/7508/898 -f 5111/7497/891 5110/7496/891 5102/7488/891 -f 5113/7511/899 5100/7486/899 5118/7512/899 -f 5120/7514/900 5128/7562/900 5121/7515/900 -f 5123/7517/891 5126/7520/891 5124/7518/891 -f 5123/7517/896 5127/7521/896 5126/7520/896 -f 5127/7521/896 5122/7563/896 5121/7515/896 -f 5120/7564/893 5129/7523/893 5128/7522/893 -f 5129/7523/893 5125/7565/893 5124/7524/893 -f 5129/7525/901 5127/7566/901 5123/7517/901 -f 5121/7515/897 5128/7562/897 5124/7526/897 -f 5130/7527/902 5136/7533/902 5131/7528/902 -f 5133/7530/891 5152/7567/891 5134/7531/891 -f 5152/7567/892 5137/7534/892 5134/7531/892 -f 5137/7534/892 5131/7568/892 5136/7533/892 -f 5132/7569/897 5138/7536/897 5130/7535/897 -f 5138/7536/897 5133/7570/897 5135/7537/897 -f 5137/7538/903 5152/7567/903 5133/7530/903 -f 5136/7533/896 5130/7527/896 5135/7540/896 -s 1 -f 5153/7571/904 5154/7572/905 5155/7573/906 -f 5156/7574/907 5157/7575/908 5158/7576/909 -f 5159/7577/910 5160/7578/911 5153/7571/904 -f 5161/7579/912 5162/7580/913 5156/7574/907 -f 5163/7581/914 5164/7582/915 5159/7577/910 -f 5165/7583/916 5166/7584/917 5161/7585/912 -f 5167/7586/918 5168/7587/919 5163/7581/914 -f 5169/7588/920 5170/7589/921 5165/7583/916 -f 5171/7590/922 5172/7591/923 5167/7586/918 -f 5173/7592/924 5174/7593/925 5169/7588/920 -f 5175/7594/926 5176/7595/927 5171/7590/922 -f 5173/7592/924 5177/7596/928 5178/7597/929 -f 5179/7598/930 5180/7599/931 5181/7600/932 -f 5181/7600/932 5182/7601/933 5175/7594/926 -f 5155/7573/906 5177/7596/928 5183/7602/934 -f 5158/7576/909 5184/7603/935 5179/7598/930 -f 5182/7601/933 5185/7604/936 5186/7605/937 -f 5154/7572/905 5187/7606/938 5177/7596/928 -f 5184/7603/935 5188/7607/939 5189/7608/940 -f 5154/7572/905 5190/7609/941 5191/7610/942 -f 5162/7580/913 5188/7611/939 5157/7575/908 -f 5164/7582/915 5190/7612/941 5160/7578/911 -f 5162/7580/913 5192/7613/943 5193/7614/944 -f 5164/7582/915 5194/7615/945 5195/7616/946 -f 5170/7589/921 5192/7617/943 5166/7584/917 -f 5172/7591/923 5194/7618/945 5168/7587/919 -f 5170/7589/921 5196/7619/947 5197/7620/948 -f 5176/7595/927 5198/7621/949 5172/7591/923 -f 5178/7597/929 5196/7622/947 5174/7593/925 -f 5182/7601/933 5199/7623/950 5176/7595/927 -f 5177/7596/928 5200/7624/951 5178/7597/929 -f 5184/7603/935 5185/7625/936 5180/7599/931 -f 5189/7608/940 5188/7607/939 5201/7626/952 -f 5188/7611/939 5193/7627/944 5201/7628/952 -f 5193/7614/944 5192/7613/943 5201/7629/952 -f 5192/7617/943 5197/7630/948 5201/7631/952 -f 5197/7620/948 5196/7619/947 5201/7632/952 -f 5196/7622/947 5200/7633/951 5201/7634/952 -f 5200/7624/951 5187/7635/938 5201/7636/952 -f 5187/7606/938 5191/7637/942 5201/7638/952 -f 5191/7610/942 5190/7609/941 5201/7639/952 -f 5190/7612/941 5195/7640/946 5201/7641/952 -f 5195/7616/946 5194/7615/945 5201/7642/952 -f 5194/7618/945 5198/7643/949 5201/7644/952 -f 5198/7621/949 5199/7645/950 5201/7646/952 -f 5199/7623/950 5186/7647/937 5201/7648/952 -f 5186/7605/937 5185/7604/936 5201/7649/952 -f 5185/7625/936 5189/7650/940 5201/7651/952 -f 5155/7573/906 5098/7652/953 5153/7571/904 -f 5156/7574/907 5139/7653/954 5151/7654/955 -f 5159/7577/910 5098/7655/953 5145/7656/956 -f 5161/7579/912 5151/7657/955 5150/7658/957 -f 5163/7581/914 5145/7659/956 5144/7660/958 -f 5165/7583/916 5150/7661/957 5149/7662/959 -f 5163/7581/914 5143/7663/960 5167/7586/918 -f 5165/7583/916 5099/7664/961 5169/7588/920 -f 5167/7586/918 5097/7665/962 5171/7590/922 -f 5169/7588/920 5148/7666/963 5173/7592/924 -f 5175/7594/926 5097/7667/962 5142/7668/964 -f 5173/7592/924 5147/7669/965 5183/7602/934 -f 5181/7600/932 5140/7670/966 5179/7598/930 -f 5175/7594/926 5141/7671/967 5181/7600/932 -f 5155/7573/906 5147/7672/965 5146/7673/968 -f 5158/7576/909 5140/7674/966 5139/7675/954 -f 5153/7571/904 5160/7578/911 5154/7572/905 -f 5156/7574/907 5162/7580/913 5157/7575/908 -f 5159/7577/910 5164/7582/915 5160/7578/911 -f 5161/7579/912 5166/7676/917 5162/7580/913 -f 5163/7581/914 5168/7587/919 5164/7582/915 -f 5165/7583/916 5170/7589/921 5166/7584/917 -f 5167/7586/918 5172/7591/923 5168/7587/919 -f 5169/7588/920 5174/7593/925 5170/7589/921 -f 5171/7590/922 5176/7595/927 5172/7591/923 -f 5173/7592/924 5178/7597/929 5174/7593/925 -f 5175/7594/926 5182/7601/933 5176/7595/927 -f 5173/7592/924 5183/7602/934 5177/7596/928 -f 5179/7598/930 5184/7603/935 5180/7599/931 -f 5181/7600/932 5180/7599/931 5182/7601/933 -f 5155/7573/906 5154/7572/905 5177/7596/928 -f 5158/7576/909 5157/7575/908 5184/7603/935 -f 5182/7601/933 5180/7599/931 5185/7604/936 -f 5154/7572/905 5191/7637/942 5187/7606/938 -f 5184/7603/935 5157/7575/908 5188/7607/939 -f 5154/7572/905 5160/7578/911 5190/7609/941 -f 5162/7580/913 5193/7627/944 5188/7611/939 -f 5164/7582/915 5195/7640/946 5190/7612/941 -f 5162/7580/913 5166/7676/917 5192/7613/943 -f 5164/7582/915 5168/7587/919 5194/7615/945 -f 5170/7589/921 5197/7630/948 5192/7617/943 -f 5172/7591/923 5198/7643/949 5194/7618/945 -f 5170/7589/921 5174/7593/925 5196/7619/947 -f 5176/7595/927 5199/7645/950 5198/7621/949 -f 5178/7597/929 5200/7633/951 5196/7622/947 -f 5182/7601/933 5186/7647/937 5199/7623/950 -f 5177/7596/928 5187/7635/938 5200/7624/951 -f 5184/7603/935 5189/7650/940 5185/7625/936 -f 5155/7573/906 5146/7677/968 5098/7652/953 -f 5156/7574/907 5158/7576/909 5139/7653/954 -f 5159/7577/910 5153/7571/904 5098/7655/953 -f 5161/7579/912 5156/7574/907 5151/7657/955 -f 5163/7581/914 5159/7577/910 5145/7659/956 -f 5165/7583/916 5161/7585/912 5150/7661/957 -f 5163/7581/914 5144/7678/958 5143/7663/960 -f 5165/7583/916 5149/7679/959 5099/7664/961 -f 5167/7586/918 5143/7680/960 5097/7665/962 -f 5169/7588/920 5099/7681/961 5148/7666/963 -f 5175/7594/926 5171/7590/922 5097/7667/962 -f 5173/7592/924 5148/7682/963 5147/7669/965 -f 5181/7600/932 5141/7683/967 5140/7670/966 -f 5175/7594/926 5142/7684/964 5141/7671/967 -f 5155/7573/906 5183/7602/934 5147/7672/965 -f 5158/7576/909 5179/7598/930 5140/7674/966 -o Atlas_Missile -v -1.154849 5.312499 -0.478354 -v -0.795495 5.312499 -0.795495 -v -0.883883 5.312499 -0.883883 -v -1.125000 5.312499 0.000000 -v -1.154849 5.312499 0.478354 -v -1.039364 5.312499 0.430519 -v -1.250000 5.312499 0.000000 -v -1.039364 5.312499 -0.430519 -v 0.216506 8.812498 -1.125000 -v 0.000000 9.687498 -1.125000 -v 0.180586 8.812498 -1.089079 -v -0.125000 5.312499 -1.466506 -v 0.125000 5.312499 -1.466506 -v 0.000000 5.312499 -1.500000 -v -0.795495 5.312499 0.795495 -v -0.883883 5.312499 0.883883 -v -0.430519 5.312499 1.039364 -v 0.000000 5.312499 1.250000 -v -0.478354 5.312499 1.154849 -v 0.478354 5.312499 1.154849 -v 0.000000 5.312499 1.125000 -v 0.795495 5.312499 0.795495 -v 0.430519 5.312499 1.039364 -v 1.154849 5.312499 0.478354 -v 0.883883 5.312499 0.883884 -v 1.039364 5.312499 0.430519 -v 1.250000 5.312499 0.000000 -v 1.125000 5.312499 0.000000 -v 1.154849 5.312499 -0.478355 -v 0.795495 5.312499 -0.795495 -v 1.039364 5.312499 -0.430519 -v 0.478354 5.312499 -1.154849 -v 0.883884 5.312499 -0.883883 -v -0.478354 5.312499 -1.154849 -v -0.430519 5.312499 -1.039364 -v 0.000000 5.312499 -1.250000 -v 0.000000 5.312499 -1.125000 -v 0.430519 5.312499 -1.039364 -v 0.883883 2.687500 0.883884 -v 0.687126 2.687500 1.015353 -v 1.154849 2.687500 0.478354 -v 0.750000 2.687500 -1.250000 -v 0.687126 2.687500 -1.015352 -v 0.649519 2.687500 -1.625000 -v -0.649519 2.687500 -1.625000 -v 0.000000 2.687500 -2.000000 -v 0.375000 2.687500 -1.899519 -v -0.375000 2.687500 -1.899519 -v -0.750000 2.687500 -1.250000 -v -0.687126 2.687500 -1.015352 -v 0.000000 2.000000 -1.750000 -v 0.250000 2.000000 -1.683013 -v -0.250000 2.000000 -1.683013 -v 0.000000 2.000000 -0.750000 -v -0.250000 2.000000 -0.816987 -v 0.250000 2.000000 -0.816987 -v 0.500000 2.000000 -1.250000 -v 0.433013 2.000000 -1.000000 -v 0.433013 2.000000 -1.500000 -v -0.500000 2.000000 -1.250000 -v -0.433013 2.000000 -1.500000 -v -0.433013 2.000000 -1.000000 -v 0.000000 2.000000 -0.500000 -v 0.250000 2.000000 -0.433013 -v -0.250000 2.000000 -0.433013 -v 0.000000 2.000000 0.500000 -v -0.250000 2.000000 0.433013 -v 0.250000 2.000000 0.433013 -v 0.500000 2.000000 0.000000 -v 0.433013 2.000000 0.250000 -v 0.433013 2.000000 -0.250000 -v -0.500000 2.000000 -0.000000 -v -0.433013 2.000000 -0.250000 -v -0.433013 2.000000 0.250000 -v 1.250000 2.687500 0.000000 -v 1.154849 2.687500 -0.478355 -v -1.250000 2.687500 0.000000 -v -1.154849 2.687500 -0.478354 -v -1.154849 2.687500 0.478354 -v -0.883883 2.687500 -0.883883 -v 0.883884 2.687500 -0.883883 -v -0.125000 5.376628 -1.642699 -v 0.125000 5.376628 -1.642699 -v -0.216506 8.812498 1.125000 -v 0.000000 9.687498 1.125000 -v -0.180586 8.812498 1.089079 -v -0.750000 2.687500 1.250000 -v -0.687126 2.687500 1.015352 -v -0.649519 2.687500 1.625000 -v 0.649519 2.687500 1.625000 -v 0.000000 2.687500 2.000000 -v -0.375000 2.687500 1.899519 -v 0.375000 2.687500 1.899519 -v 0.750000 2.687500 1.250000 -v 0.000000 2.000000 1.750000 -v -0.250000 2.000000 1.683013 -v 0.250000 2.000000 1.683013 -v 0.000000 2.000000 0.750000 -v 0.250000 2.000000 0.816987 -v -0.250000 2.000000 0.816987 -v -0.500000 2.000000 1.250000 -v -0.433013 2.000000 1.000000 -v -0.433013 2.000000 1.500000 -v 0.500000 2.000000 1.250000 -v 0.433013 2.000000 1.500000 -v 0.433013 2.000000 1.000000 -v -0.883883 2.687500 0.883883 -v -0.478354 4.249999 -1.154849 -v 0.000000 12.812498 -1.125000 -v -0.430519 12.812498 -1.039364 -v 1.039364 12.812498 0.430519 -v -1.125000 12.812498 0.000000 -v 1.125000 12.812498 0.000000 -v -1.039364 12.812498 0.430519 -v 1.039364 12.812498 -0.430519 -v -0.795495 12.812498 0.795496 -v 0.795495 12.812498 -0.795494 -v -0.430519 12.812498 1.039364 -v 0.430519 12.812498 -1.039364 -v 0.000000 12.812498 1.125000 -v 0.430519 12.812498 1.039364 -v -0.795495 12.812498 -0.795494 -v 0.795495 12.812498 0.795495 -v -1.039364 12.812498 -0.430519 -v 0.562500 15.312498 0.000001 -v 0.519682 15.312498 -0.215259 -v 0.397748 15.312498 -0.397747 -v 0.215259 15.312498 -0.519681 -v 0.000000 15.312498 -0.562499 -v -0.215259 15.312498 -0.519681 -v -0.397748 15.312498 -0.397747 -v -0.519682 15.312498 -0.215258 -v -0.519682 15.312498 0.215260 -v -0.562500 15.312498 0.000001 -v -0.215259 15.312498 0.519683 -v -0.397748 15.312498 0.397749 -v 0.000000 15.312498 0.562501 -v 0.215259 15.312498 0.519683 -v 0.397747 15.312498 0.397749 -v 0.519682 15.312498 0.215261 -v 0.000000 16.437496 0.000001 -v 0.000000 4.249999 -1.750000 -v 0.250000 4.249999 -1.683013 -v -0.250000 4.249999 -1.683013 -v -0.433013 4.249999 -1.500000 -v -0.500000 4.249999 -1.250000 -v 0.433013 4.249999 -1.500000 -v 0.500000 4.249999 -1.250000 -v 0.478354 4.249999 -1.154849 -v 0.250000 5.312499 -1.250000 -v 0.216506 5.312499 -1.125000 -v 0.216506 5.312499 -1.375000 -v -0.216506 5.312499 -1.375000 -v -0.250000 5.312499 -1.250000 -v -0.216506 5.312499 -1.125000 -v -0.180586 5.312499 -1.089079 -v -0.216506 8.812498 -1.125000 -v -0.250000 8.812498 -1.250000 -v 0.180586 5.312499 -1.089079 -v 0.216506 8.812498 -1.375000 -v 0.250000 8.812498 -1.250000 -v -0.216506 8.812498 -1.375000 -v -0.125000 8.812498 -1.466506 -v 0.125000 8.812498 -1.466506 -v -0.180586 8.812498 -1.089079 -v 0.478354 4.249999 1.154849 -v 0.324760 2.687500 -1.437500 -v 0.187500 2.687500 -1.574759 -v 0.375000 2.687500 -1.250000 -v 0.324760 2.687500 -1.062500 -v 0.187500 2.687500 -0.925241 -v 0.000000 2.687500 -0.875000 -v 0.500000 2.375000 0.000000 -v 0.433013 2.375000 -0.250000 -v 0.000000 2.375000 0.500000 -v 0.250000 2.375000 0.433013 -v -0.500000 2.375000 0.000000 -v -0.433013 2.375000 0.250000 -v 0.250000 2.375000 -0.433013 -v 0.000000 2.375000 -0.500000 -v -0.250000 2.375000 -0.433013 -v 0.433013 2.375000 0.250000 -v -0.250000 2.375000 0.433013 -v -0.433013 2.375000 -0.250000 -v 0.324760 2.687500 -0.187500 -v 0.375000 2.687500 0.000000 -v 0.187500 2.687500 -0.324759 -v 0.000000 2.687500 -0.375000 -v -0.187500 2.687500 -0.324759 -v -0.324760 2.687500 -0.187500 -v -0.375000 2.687500 0.000000 -v -0.324760 2.687500 0.187500 -v -0.187500 2.687500 0.324759 -v 0.000000 2.687500 0.375000 -v 0.187500 2.687500 0.324759 -v 0.324760 2.687500 0.187500 -v 0.000000 2.687500 -1.625000 -v -0.187500 2.687500 -1.574759 -v -0.324760 2.687500 -1.437500 -v -0.375000 2.687500 -1.250000 -v -0.324760 2.687500 -1.062500 -v -0.187500 2.687500 -0.925241 -v 0.062500 5.687499 -1.466506 -v -0.062500 5.687499 -1.466506 -v 0.000000 4.249999 1.750000 -v -0.250000 4.249999 1.683013 -v 0.250000 4.249999 1.683013 -v 0.433013 4.249999 1.500000 -v 0.500000 4.249999 1.250000 -v -0.433013 4.249999 1.500000 -v -0.500000 4.249999 1.250000 -v -0.478354 4.249999 1.154849 -v -0.250000 5.312499 1.250000 -v -0.216506 5.312499 1.125000 -v -0.216506 5.312499 1.375000 -v 0.000000 5.312499 1.500000 -v 0.125000 5.312499 1.466506 -v 0.216506 5.312499 1.375000 -v 0.250000 5.312499 1.250000 -v 0.216506 5.312499 1.125000 -v 0.218750 5.437499 1.722636 -v -0.218750 6.562499 1.722636 -v -0.218750 5.437499 1.722636 -v 0.125000 7.437499 1.466506 -v -0.125000 7.437499 1.466506 -v 0.250000 7.437499 1.250000 -v 0.216506 7.437499 1.375000 -v 0.378886 6.562499 1.500000 -v -0.378886 5.312499 1.500000 -v 0.378886 6.562499 1.049635 -v 0.216506 7.437499 1.125000 -v 0.180586 7.437499 1.089079 -v 0.218750 6.562499 1.722636 -v -0.250000 8.812498 1.250000 -v -0.216506 8.812498 1.375000 -v -0.125000 8.812498 1.466506 -v 0.125000 8.812498 1.466506 -v 0.216506 8.812498 1.375000 -v 0.250000 8.812498 1.250000 -v 0.216506 8.812498 1.125000 -v 0.180586 8.812498 1.089079 -v -0.324760 2.687500 1.437500 -v -0.187500 2.687500 1.574759 -v -0.324760 2.687500 1.062500 -v -0.375000 2.687500 1.250000 -v -0.187500 2.687500 0.925241 -v 0.000000 2.687500 0.875000 -v 0.000000 2.687500 1.625000 -v 0.187500 2.687500 1.574759 -v 0.324759 2.687500 1.437500 -v 0.375000 2.687500 1.250000 -v 0.324759 2.687500 1.062500 -v 0.187500 2.687500 0.925241 -v -0.378886 6.562499 1.500000 -v -0.216506 7.437499 1.375000 -v -0.378886 5.312499 1.049635 -v 0.378886 5.312499 1.049635 -v 0.378886 5.312499 1.500000 -v -0.250000 7.437499 1.250000 -v -0.378886 6.562499 1.049635 -v -0.216506 7.437499 1.125000 -v -0.180586 7.437499 1.089079 -v 1.140000 12.093748 0.000000 -v 1.053223 10.124998 -0.436259 -v 1.053223 12.093748 -0.436259 -v 0.806102 12.093748 0.806102 -v 1.053223 10.124998 0.436259 -v 1.053223 12.093748 0.436259 -v -1.140000 12.093748 0.000000 -v -1.053223 10.124998 0.436259 -v -1.053223 12.093748 0.436259 -v -0.806102 12.093748 -0.806102 -v -1.053223 10.124998 -0.436259 -v -1.053223 12.093748 -0.436259 -v 0.806102 10.124998 -0.806102 -v 0.806102 12.093748 -0.806102 -v 1.140000 10.124998 0.000000 -v -0.806102 10.124998 0.806102 -v -0.806102 12.093748 0.806102 -v -1.140000 10.124998 0.000000 -v 0.145625 8.406248 1.475167 -v 0.225166 7.874999 1.380000 -v 0.225166 8.406248 1.380000 -v -0.145625 7.874999 1.475167 -v -0.145625 8.406248 1.475167 -v -0.225167 8.406248 1.380000 -v -0.145625 8.406248 -1.475167 -v -0.225167 7.874999 -1.380000 -v -0.225167 8.406248 -1.380000 -v 0.145625 7.874999 -1.475167 -v 0.145625 8.406248 -1.475167 -v 0.225166 8.406248 -1.380000 -v -0.125000 5.312499 1.466506 -v 0.806102 10.124998 0.806102 -v -0.806102 10.124998 -0.806102 -v 0.145625 7.874999 1.475167 -v -0.225167 7.874999 1.380000 -v -0.145625 7.874999 -1.475167 -v 0.225166 7.874999 -1.380000 -v -0.180586 5.312499 1.089079 -v 0.180586 5.312499 1.089079 -vt 0.107143 0.186667 -vt 0.071429 0.195556 -vt 0.071429 0.186667 -vt 0.142857 0.195556 -vt 0.178571 0.186667 -vt 0.178571 0.195556 -vt 0.142857 0.186667 -vt 0.107143 0.195556 -vt 0.576531 0.622222 -vt 0.576531 0.684444 -vt 0.571429 0.622222 -vt 0.790816 0.577778 -vt 0.770408 0.577778 -vt 0.780612 0.573333 -vt 0.214286 0.195556 -vt 0.214286 0.186667 -vt 0.250000 0.195556 -vt 0.285714 0.186667 -vt 0.250000 0.186667 -vt 0.321429 0.186667 -vt 0.285714 0.195556 -vt 0.357143 0.195556 -vt 0.321429 0.195556 -vt 0.392857 0.186667 -vt 0.357143 0.186667 -vt 0.392857 0.195556 -vt 0.428571 0.186667 -vt 0.428571 0.195556 -vt 0.464286 0.186667 -vt 0.500000 0.195556 -vt 0.464286 0.195556 -vt 0.535714 0.186667 -vt 0.500000 0.186667 -vt 0.035714 0.186667 -vt 0.035714 0.195556 -vt 0.000000 0.186667 -vt 0.571429 0.195556 -vt 0.535714 0.195556 -vt 0.744173 0.160632 -vt 0.733441 0.146640 -vt 0.777277 0.179900 -vt 0.918367 0.151111 -vt 0.899213 0.146640 -vt 0.948980 0.143966 -vt 0.948980 0.051590 -vt 0.979592 0.097778 -vt 0.971389 0.124444 -vt 0.971389 0.071111 -vt 0.918367 0.044444 -vt 0.899213 0.048915 -vt 0.795918 0.320000 -vt 0.801387 0.337778 -vt 0.801387 0.302222 -vt 0.877551 0.320000 -vt 0.872083 0.302222 -vt 0.872083 0.337778 -vt 0.836735 0.355556 -vt 0.857143 0.350792 -vt 0.816327 0.350792 -vt 0.836735 0.284444 -vt 0.816327 0.289208 -vt 0.857143 0.289208 -vt 0.795918 0.320000 -vt 0.801387 0.337778 -vt 0.801387 0.302222 -vt 0.877551 0.320000 -vt 0.872083 0.302222 -vt 0.872083 0.337778 -vt 0.836735 0.355556 -vt 0.857143 0.350792 -vt 0.816327 0.350792 -vt 0.836735 0.284444 -vt 0.816327 0.289208 -vt 0.857143 0.289208 -vt 0.816327 0.186667 -vt 0.855376 0.179900 -vt 0.816327 0.008889 -vt 0.855376 0.015655 -vt 0.777277 0.015655 -vt 0.888480 0.034924 -vt 0.888480 0.160632 -vt 0.790816 0.591111 -vt 0.770408 0.591111 -vt 0.668367 0.622222 -vt 0.668367 0.684444 -vt 0.663265 0.622222 -vt 0.714286 0.044444 -vt 0.733441 0.048915 -vt 0.683674 0.051590 -vt 0.683674 0.143966 -vt 0.653061 0.097778 -vt 0.661264 0.071111 -vt 0.661264 0.124444 -vt 0.714286 0.151111 -vt 0.877551 0.320000 -vt 0.872083 0.302222 -vt 0.872083 0.337778 -vt 0.795918 0.320000 -vt 0.801387 0.337778 -vt 0.801387 0.302222 -vt 0.836735 0.284444 -vt 0.816327 0.289208 -vt 0.857143 0.289208 -vt 0.836735 0.355556 -vt 0.857143 0.350792 -vt 0.816327 0.350792 -vt 0.744173 0.034924 -vt 0.000000 0.195556 -vt 0.571429 0.186667 -vt 0.040816 0.111111 -vt 0.061224 -0.000000 -vt 0.081633 -0.000000 -vt -0.000000 0.728889 -vt 0.035714 0.728889 -vt 0.392857 0.728889 -vt 0.142857 0.728889 -vt 0.428571 0.728889 -vt 0.178571 0.728889 -vt 0.464286 0.728889 -vt 0.214286 0.728889 -vt 0.500000 0.728889 -vt 0.250000 0.728889 -vt 0.535714 0.728889 -vt 0.571429 0.728889 -vt 0.285714 0.728889 -vt 0.321429 0.728889 -vt 0.071429 0.728889 -vt 0.357143 0.728889 -vt 0.107143 0.728889 -vt 0.438776 0.911111 -vt 0.474490 0.911111 -vt 0.510204 0.911111 -vt 0.545918 0.911111 -vt 0.010204 0.911111 -vt 0.045918 0.911111 -vt 0.081633 0.911111 -vt 0.117347 0.911111 -vt 0.168367 0.911111 -vt 0.153061 0.911111 -vt 0.188776 0.911111 -vt 0.239796 0.911111 -vt 0.224490 0.911111 -vt 0.260204 0.911111 -vt 0.295918 0.911111 -vt 0.331633 0.911111 -vt 0.367347 0.911111 -vt 0.403061 0.911111 -vt 0.489796 0.911111 -vt 0.482143 1.000000 -vt 0.232143 1.000000 -vt 0.525510 0.911111 -vt 0.517857 1.000000 -vt 0.275510 0.911111 -vt 0.267857 1.000000 -vt 0.025510 0.911111 -vt 0.017857 1.000000 -vt 0.561224 0.911111 -vt 0.553571 1.000000 -vt 0.311224 0.911111 -vt 0.303571 1.000000 -vt 0.061224 0.911111 -vt 0.053571 1.000000 -vt 0.346939 0.911111 -vt 0.339286 1.000000 -vt 0.096939 0.911111 -vt 0.089286 1.000000 -vt 0.382653 0.911111 -vt 0.375000 1.000000 -vt 0.132653 0.911111 -vt 0.125000 1.000000 -vt 0.418367 0.911111 -vt 0.410714 1.000000 -vt 0.160714 1.000000 -vt 0.454082 0.911111 -vt 0.446429 1.000000 -vt 0.204082 0.911111 -vt 0.196429 1.000000 -vt 0.653061 0.186667 -vt 0.678571 0.297778 -vt 0.658163 0.297778 -vt 0.683673 0.186667 -vt 0.709184 0.297778 -vt 0.688776 0.297778 -vt 0.714286 0.186667 -vt 0.739796 0.297778 -vt 0.719388 0.297778 -vt 0.744898 0.186667 -vt 0.770408 0.297778 -vt 0.750000 0.297778 -vt 0.785714 0.297778 -vt 0.775510 0.186667 -vt 0.795918 0.186667 -vt 0.622449 0.186667 -vt 0.647959 0.297778 -vt 0.627551 0.297778 -vt 0.591837 0.186667 -vt 0.617347 0.297778 -vt 0.596939 0.297778 -vt 0.581633 0.297778 -vt 0.591837 0.297778 -vt 0.591837 0.373333 -vt 0.581633 0.373333 -vt 0.602041 0.373333 -vt 0.632653 0.373333 -vt 0.693878 0.373333 -vt 0.673469 0.373333 -vt 0.724490 0.373333 -vt 0.755102 0.373333 -vt 0.775510 0.373333 -vt 0.785714 0.373333 -vt 0.663265 0.373333 -vt 0.658163 0.622222 -vt 0.658163 0.373333 -vt 0.647959 0.622222 -vt 0.647959 0.373333 -vt 0.576531 0.373333 -vt 0.571429 0.373333 -vt 0.607143 0.373333 -vt 0.596939 0.622222 -vt 0.596939 0.373333 -vt 0.586735 0.622222 -vt 0.586735 0.373333 -vt 0.637755 0.622222 -vt 0.637755 0.373333 -vt 0.627551 0.622222 -vt 0.627551 0.373333 -vt 0.581633 0.688889 -vt 0.591837 0.688889 -vt 0.607143 0.622222 -vt 0.602041 0.688889 -vt 0.632653 0.688889 -vt 0.642857 0.688889 -vt 0.653061 0.688889 -vt 0.663265 0.622222 -vt 0.658163 0.684444 -vt 0.612245 0.111111 -vt 0.571429 0.000000 -vt 0.591837 0.000000 -vt 0.571429 0.186667 -vt 0.612245 0.186667 -vt 0.653061 0.186667 -vt 0.040816 0.186667 -vt 0.081633 0.186667 -vt 0.122449 -0.000000 -vt 0.163265 0.000000 -vt 0.122449 0.186667 -vt 0.204082 0.000000 -vt 0.163265 0.186667 -vt 0.244898 -0.000000 -vt 0.204082 0.186667 -vt 0.367347 0.186667 -vt 0.326531 0.186667 -vt 0.367347 0.111111 -vt 0.408163 0.186667 -vt 0.387755 -0.000000 -vt 0.408163 -0.000000 -vt 0.448980 0.000000 -vt 0.489796 -0.000000 -vt 0.448980 0.186667 -vt 0.530612 -0.000000 -vt 0.489796 0.186667 -vt 0.530612 0.186667 -vt 0.948980 0.235556 -vt 0.964286 0.186667 -vt 0.964286 0.235556 -vt 0.918367 0.186667 -vt 0.933673 0.235556 -vt 0.918367 0.235556 -vt 0.887755 0.186667 -vt 0.903061 0.235556 -vt 0.887755 0.235556 -vt 0.903061 0.186667 -vt 0.933673 0.186667 -vt 0.933673 0.262222 -vt 0.948980 0.235556 -vt 0.948980 0.262222 -vt 0.887755 0.262222 -vt 0.903061 0.235556 -vt 0.903061 0.262222 -vt 0.841837 0.262222 -vt 0.857143 0.235556 -vt 0.857143 0.262222 -vt 0.964286 0.235556 -vt 0.964286 0.262222 -vt 0.795918 0.262222 -vt 0.811224 0.235556 -vt 0.811224 0.262222 -vt 0.918367 0.235556 -vt 0.918367 0.262222 -vt 0.872449 0.235556 -vt 0.872449 0.262222 -vt 0.979592 0.235556 -vt 0.979592 0.262222 -vt 0.826531 0.235556 -vt 0.826531 0.262222 -vt 0.933673 0.235556 -vt 0.887755 0.235556 -vt 0.841837 0.235556 -vt 0.948980 0.284444 -vt 0.933673 0.284444 -vt 0.964286 0.284444 -vt 0.979592 0.284444 -vt 0.811224 0.284444 -vt 0.795918 0.284444 -vt 0.826531 0.284444 -vt 0.841837 0.284444 -vt 0.857143 0.284444 -vt 0.872449 0.284444 -vt 0.887755 0.284444 -vt 0.903061 0.284444 -vt 0.918367 0.284444 -vt 0.979592 0.235556 -vt 0.795918 0.186667 -vt 0.811224 0.235556 -vt 0.795918 0.235556 -vt 0.811224 0.186667 -vt 0.826531 0.235556 -vt 0.826531 0.186667 -vt 0.841837 0.235556 -vt 0.841837 0.186667 -vt 0.857143 0.235556 -vt 0.857143 0.186667 -vt 0.872449 0.235556 -vt 0.872449 0.186667 -vt 0.770408 0.617778 -vt 0.755102 0.591111 -vt 0.806122 0.591111 -vt 0.790816 0.617778 -vt 0.775510 0.617778 -vt 0.785714 0.617778 -vt 0.617347 0.688889 -vt 0.653061 0.186667 -vt 0.678571 0.297778 -vt 0.658163 0.297778 -vt 0.683673 0.186667 -vt 0.709184 0.297778 -vt 0.688776 0.297778 -vt 0.714286 0.186667 -vt 0.739796 0.297778 -vt 0.719388 0.297778 -vt 0.744898 0.186667 -vt 0.770408 0.297778 -vt 0.750000 0.297778 -vt 0.785714 0.297778 -vt 0.775510 0.186667 -vt 0.795918 0.186667 -vt 0.622449 0.186667 -vt 0.647959 0.297778 -vt 0.627551 0.297778 -vt 0.591837 0.186667 -vt 0.617347 0.297778 -vt 0.596939 0.297778 -vt 0.581633 0.297778 -vt 0.591837 0.297778 -vt 0.591837 0.373333 -vt 0.581633 0.373333 -vt 0.602041 0.373333 -vt 0.632653 0.373333 -vt 0.693878 0.373333 -vt 0.673469 0.373333 -vt 0.724490 0.373333 -vt 0.755102 0.373333 -vt 0.775510 0.373333 -vt 0.785714 0.373333 -vt 0.760204 0.382222 -vt 0.724490 0.462222 -vt 0.724490 0.382222 -vt 0.760204 0.524444 -vt 0.724490 0.524444 -vt 0.798469 0.524444 -vt 0.785714 0.524444 -vt 0.780612 0.462222 -vt 0.755102 0.555556 -vt 0.806122 0.573333 -vt 0.765306 0.573333 -vt 0.816327 0.462222 -vt 0.811224 0.524444 -vt 0.816327 0.524444 -vt 0.765306 0.524444 -vt 0.760204 0.462222 -vt 0.678571 0.622222 -vt 0.673469 0.688889 -vt 0.688776 0.622222 -vt 0.683673 0.688889 -vt 0.698980 0.622222 -vt 0.693878 0.688889 -vt 0.719388 0.622222 -vt 0.729592 0.622222 -vt 0.724490 0.688889 -vt 0.739796 0.622222 -vt 0.734694 0.688889 -vt 0.750000 0.622222 -vt 0.744898 0.688889 -vt 0.755102 0.622222 -vt 0.750000 0.684444 -vt 0.857143 0.235556 -vt 0.872449 0.186667 -vt 0.872449 0.235556 -vt 0.826531 0.235556 -vt 0.841837 0.186667 -vt 0.841837 0.235556 -vt 0.795918 0.186667 -vt 0.811224 0.235556 -vt 0.795918 0.235556 -vt 0.811224 0.186667 -vt 0.887755 0.235556 -vt 0.887755 0.186667 -vt 0.903061 0.235556 -vt 0.903061 0.186667 -vt 0.918367 0.235556 -vt 0.933673 0.186667 -vt 0.933673 0.235556 -vt 0.948980 0.235556 -vt 0.948980 0.186667 -vt 0.964286 0.235556 -vt 0.964286 0.186667 -vt 0.979592 0.235556 -vt 0.709184 0.688889 -vt 0.704082 0.462222 -vt 0.719388 0.524444 -vt 0.704082 0.524444 -vt 0.285714 0.111111 -vt 0.285714 0.186667 -vt 0.244898 0.186667 -vt 0.265306 0.000000 -vt 0.668367 0.373333 -vt 0.704082 0.373333 -vt 0.816327 0.373333 -vt 0.780612 0.373333 -vt 0.686224 0.524444 -vt 0.698980 0.524444 -vt 0.668367 0.462222 -vt 0.673469 0.524444 -vt 0.668367 0.524444 -vt 0.750000 0.524444 -vt 0.739796 0.524444 -vt 0.729592 0.524444 -vt 0.719388 0.524444 -vt 0.678571 0.524444 -vt 0.668367 0.524444 -vt 0.663265 0.524444 -vt 0.816327 0.524444 -vt 0.755102 0.524444 -vt 0.688776 0.524444 -vt 0.714286 0.968889 -vt 0.785714 0.688889 -vt 0.785714 0.968889 -vt 0.571429 0.968889 -vt 0.642857 0.688889 -vt 0.642857 0.968889 -vt 0.714286 0.968889 -vt 0.785714 0.688889 -vt 0.785714 0.968889 -vt 0.571429 0.968889 -vt 0.642857 0.688889 -vt 0.642857 0.968889 -vt 0.857143 0.688889 -vt 0.857143 0.968889 -vt 0.714286 0.688889 -vt 0.857143 0.688889 -vt 0.857143 0.968889 -vt 0.714286 0.688889 -vt 0.923469 0.764444 -vt 0.943878 0.688889 -vt 0.943878 0.764444 -vt 0.877551 0.688889 -vt 0.877551 0.764444 -vt 0.857143 0.764444 -vt 0.923469 0.764444 -vt 0.943878 0.688889 -vt 0.943878 0.764444 -vt 0.877551 0.688889 -vt 0.877551 0.764444 -vt 0.857143 0.764444 -vt 0.775510 0.297778 -vt 0.571429 0.186667 -vt 0.612245 0.373333 -vt 0.642857 0.373333 -vt 0.704082 0.373333 -vt 0.663265 0.373333 -vt 0.734694 0.373333 -vt 0.765306 0.373333 -vt 0.948980 0.186667 -vt 0.795918 0.235556 -vt 0.979592 0.186667 -vt 0.775510 0.297778 -vt 0.571429 0.186667 -vt 0.612245 0.373333 -vt 0.642857 0.373333 -vt 0.704082 0.373333 -vt 0.663265 0.373333 -vt 0.734694 0.373333 -vt 0.765306 0.373333 -vt 0.816327 0.555556 -vt 0.780612 0.524444 -vt 0.857143 0.186667 -vt 0.826531 0.186667 -vt 0.918367 0.186667 -vt 0.979592 0.186667 -vt 0.755102 0.524444 -vt 0.698980 0.524444 -vt 0.571429 0.688889 -vt 0.571429 0.688889 -vt 0.923469 0.688889 -vt 0.857143 0.688889 -vt 0.923469 0.688889 -vt 0.857143 0.688889 -vn 0.0000 1.0000 -0.0000 -vn 0.6965 0.1723 0.6965 vn 0.0000 -1.0000 0.0000 -vn 0.0000 -0.9397 -0.3420 -vn -0.6965 0.1723 -0.6965 -vn -0.5144 -0.0000 -0.8575 -vn -0.5556 0.0000 -0.8315 -vn -0.7071 0.0000 -0.7071 +vn 0.0000 0.0000 1.0000 vn 0.0000 0.0000 -1.0000 -vn -0.3827 0.0000 -0.9239 -vn 1.0000 -0.0000 0.0000 -vn 0.9239 -0.0000 0.3827 -vn -0.9239 -0.0000 0.3827 -vn -1.0000 -0.0000 0.0000 -vn 0.9239 0.0000 -0.3827 -vn -0.7071 -0.0000 0.7071 -vn 0.7071 0.0000 -0.7071 -vn -0.3827 -0.0000 0.9239 -vn 0.3827 0.0000 -0.9239 -vn -0.0000 -0.0000 1.0000 -vn 0.3827 -0.0000 0.9239 -vn 0.7071 -0.0000 0.7071 -vn -0.9239 0.0000 -0.3827 -vn 0.9013 0.2195 -0.3734 -vn 0.9436 0.3312 -0.0000 -vn 0.9756 0.2195 -0.0000 -vn 0.6899 0.2195 -0.6899 -vn 0.8717 0.3312 -0.3611 -vn 0.3734 0.2195 -0.9013 -vn 0.6672 0.3312 -0.6672 -vn 0.0000 0.2195 -0.9756 -vn 0.3611 0.3312 -0.8717 -vn -0.3733 0.2195 -0.9013 -vn -0.0000 0.3312 -0.9436 -vn -0.6899 0.2195 -0.6899 -vn -0.3611 0.3312 -0.8717 -vn -0.9013 0.2195 -0.3733 -vn -0.6672 0.3312 -0.6672 -vn -0.9756 0.2195 0.0000 -vn -0.8717 0.3312 -0.3611 -vn -0.8717 0.3312 0.3611 -vn -0.9436 0.3312 -0.0000 -vn -0.6899 0.2195 0.6899 -vn -0.9013 0.2195 0.3733 -vn -0.3611 0.3312 0.8717 -vn -0.6672 0.3312 0.6672 -vn -0.0000 0.2195 0.9756 -vn -0.3734 0.2195 0.9013 -vn 0.3734 0.2195 0.9013 -vn -0.0000 0.3312 0.9436 -vn 0.6899 0.2195 0.6899 -vn 0.3611 0.3312 0.8717 -vn 0.9013 0.2195 0.3733 -vn 0.6672 0.3312 0.6672 -vn 0.8717 0.3312 0.3611 -vn 0.4937 0.1580 -0.8551 -vn -0.0000 0.1925 -0.9813 -vn 0.4906 0.1925 -0.8498 -vn -0.0000 0.1580 -0.9874 -vn -0.4906 0.1925 -0.8498 -vn -0.4937 0.1580 -0.8551 -vn -0.8498 0.1925 -0.4906 -vn -0.8551 0.1580 -0.4937 -vn -0.9811 0.1926 -0.0186 -vn -0.9568 0.1891 0.2208 -vn -0.9876 0.1569 -0.0007 -vn -0.9549 0.1504 0.2559 -vn 0.8551 0.1580 -0.4937 -vn 0.8498 0.1925 -0.4906 -vn 0.9876 0.1569 -0.0007 -vn 0.9811 0.1926 -0.0186 -vn 0.9568 0.1891 0.2208 -vn 0.9730 0.2306 -0.0011 -vn 0.9412 0.2249 0.2522 -vn 0.8430 0.2290 -0.4867 -vn -0.0000 0.2290 -0.9734 -vn -0.4867 0.2290 -0.8430 -vn -0.8430 0.2290 -0.4867 -vn -0.9730 0.2306 -0.0011 -vn -0.9412 0.2249 0.2522 -vn -0.8658 0.1046 0.4893 -vn -0.8660 -0.0000 0.5000 -vn -0.9905 0.1370 -0.0100 -vn 0.8660 0.0000 0.5000 -vn 0.8497 0.1670 -0.5001 -vn 0.8660 0.0000 -0.5000 -vn 0.9905 0.1370 -0.0100 -vn 0.9043 0.0825 0.4189 -vn 0.8660 0.0001 0.5000 -vn -0.8497 0.1670 -0.5001 -vn -0.8660 0.0000 -0.5000 -vn -0.3745 0.1870 -0.9082 -vn -0.0746 0.6706 -0.7381 -vn 0.3745 0.1870 -0.9082 -vn -0.7043 0.0895 0.7043 -vn 0.5144 -0.0000 -0.8575 -vn 0.5556 -0.0000 -0.8315 -vn 0.1951 0.0000 -0.9808 -vn -0.1951 -0.0000 -0.9808 -vn 0.1951 -0.0000 0.9808 -vn 0.5144 0.0000 0.8575 -vn 0.5556 0.0000 0.8315 -vn 0.8521 0.1789 -0.4919 -vn 0.4919 0.1789 -0.8521 -vn 0.8521 0.1789 0.4919 -vn 0.9839 0.1789 0.0000 -vn 0.0000 0.1789 0.9839 -vn 0.4919 0.1789 0.8521 -vn 0.5000 -0.0000 0.8660 -vn 0.5000 0.0000 -0.8660 -vn -0.5000 0.0000 -0.8660 -vn -0.5000 -0.0000 0.8660 -vn 0.9285 0.3714 0.0000 -vn 0.8041 0.3714 -0.4642 -vn 0.4642 0.3714 -0.8041 -vn -0.0000 0.3714 -0.9285 -vn -0.4642 0.3714 -0.8041 -vn -0.8041 0.3714 -0.4642 -vn -0.9285 0.3714 -0.0000 -vn -0.8041 0.3714 0.4642 -vn -0.4642 0.3714 0.8041 -vn -0.0000 0.3714 0.9285 -vn 0.4642 0.3714 0.8041 -vn 0.8041 0.3714 0.4642 -vn -0.0000 0.1789 -0.9839 -vn -0.4919 0.1789 -0.8521 -vn -0.8521 0.1789 -0.4919 -vn -0.9839 0.1789 -0.0000 -vn -0.8521 0.1789 0.4919 -vn -0.4919 0.1789 0.8521 -vn 0.6886 0.4574 -0.5627 -vn 0.2733 0.5153 -0.8122 -vn 0.9846 0.1641 0.0597 -vn -0.6886 0.4574 -0.5627 -vn -0.9846 0.1641 0.0597 -vn -0.2733 0.5153 -0.8122 -vn -0.4937 0.1580 0.8551 -vn 0.0000 0.1925 0.9813 -vn -0.4906 0.1925 0.8498 -vn 0.0000 0.1580 0.9874 -vn 0.4906 0.1925 0.8498 -vn 0.4937 0.1580 0.8551 -vn 0.8498 0.1925 0.4906 -vn 0.8551 0.1580 0.4937 -vn 0.9811 0.1926 0.0186 -vn 0.9568 0.1891 -0.2208 -vn 0.9876 0.1569 0.0007 -vn 0.9549 0.1504 -0.2559 -vn -0.8551 0.1580 0.4937 -vn -0.8498 0.1925 0.4906 -vn -0.9876 0.1569 0.0007 -vn -0.9811 0.1926 0.0186 -vn -0.9568 0.1891 -0.2208 -vn -0.9730 0.2306 0.0011 -vn -0.9412 0.2249 -0.2522 -vn -0.8430 0.2290 0.4867 -vn 0.0000 0.2290 0.9734 -vn 0.4867 0.2290 0.8430 -vn 0.8430 0.2290 0.4867 -vn 0.9730 0.2306 0.0011 -vn 0.9412 0.2249 -0.2522 -vn 0.5098 -0.0000 0.8603 -vn -0.4475 0.1436 0.8827 -vn -0.5098 -0.0000 0.8603 -vn 0.3856 0.2768 0.8802 -vn -0.3856 0.2768 0.8802 -vn 0.9796 0.2009 -0.0044 -vn 0.8462 0.2260 0.4826 -vn 0.9417 0.1046 0.3198 -vn 0.0000 -0.9802 0.1978 -vn 0.0000 -0.8720 0.4896 -vn 0.9968 0.0762 -0.0244 -vn 0.8471 0.1996 -0.4925 -vn 0.6944 0.1887 -0.6944 -vn 0.4475 0.1436 0.8827 -vn -0.9043 0.0825 -0.4189 -vn -0.9905 0.1370 0.0100 -vn 0.0746 0.6706 0.7381 -vn -0.8497 0.1670 0.5001 -vn -0.3745 0.1870 0.9082 -vn 0.3745 0.1870 0.9082 -vn 0.8497 0.1670 0.5001 -vn 0.9905 0.1370 0.0100 -vn 0.8658 0.1046 -0.4893 -vn 0.7043 0.0895 -0.7043 -vn -0.9417 0.1046 0.3198 -vn -0.8462 0.2260 0.4826 -vn -0.5144 -0.0000 0.8575 -vn -0.1951 0.0000 0.9808 -vn -0.5556 -0.0000 0.8315 -vn -0.9661 -0.0000 0.2581 -vn 0.9661 -0.0000 0.2581 -vn -0.9796 0.2009 -0.0044 -vn -0.9968 0.0762 -0.0244 -vn -0.8471 0.1996 -0.4926 -vn -0.6944 0.1887 -0.6944 -vn 0.8315 0.0000 0.5556 -vn -0.8315 -0.0000 -0.5556 -vn 0.8315 -0.0000 -0.5556 -vn -0.8315 -0.0000 0.5556 -vn 0.4235 0.0000 0.9059 -vn 0.7673 0.0000 0.6413 -vn -0.4235 0.0000 0.9059 -vn -0.7673 0.0000 0.6413 -vn -0.4235 0.0000 -0.9059 -vn -0.7673 0.0000 -0.6413 -vn 0.4235 0.0000 -0.9059 -vn 0.7673 0.0000 -0.6413 -vn 0.9549 0.1504 0.2559 -vn 0.4867 0.2290 -0.8430 -vn -0.9549 0.1504 -0.2559 -vn -0.4867 0.2290 0.8430 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.7071 -0.7071 s off -f 5202/7685/969 5203/7686/969 5204/7687/969 -f 5205/7688/969 5206/7689/969 5207/7690/969 -f 5208/7691/969 5209/7692/969 5202/7685/969 -f 5210/7693/970 5211/7694/970 5212/7695/970 -f 5213/7696/969 5214/7697/969 5215/7698/969 -f 5216/7699/969 5206/7689/969 5217/7700/969 -f 5217/7700/969 5218/7701/969 5216/7699/969 -f 5219/7702/969 5218/7701/969 5220/7703/969 -f 5221/7704/969 5222/7705/969 5219/7702/969 -f 5221/7704/969 5223/7706/969 5224/7707/969 -f 5225/7708/969 5223/7706/969 5226/7709/969 -f 5227/7710/969 5228/7711/969 5229/7712/969 -f 5230/7713/969 5229/7712/969 5228/7711/969 -f 5230/7713/969 5231/7714/969 5232/7715/969 -f 5233/7716/969 5231/7714/969 5234/7717/969 -f 5235/7718/969 5203/7686/969 5236/7719/969 -f 5236/7719/969 5237/7720/969 5235/7718/969 -f 5233/7716/969 5238/7721/969 5239/7722/969 -f 5240/7723/971 5241/7724/971 5242/7725/971 -f 5243/7726/971 5244/7727/971 5245/7728/971 -f 5244/7727/971 5246/7729/971 5245/7728/971 -f 5245/7728/971 5247/7730/971 5248/7731/971 -f 5249/7732/971 5247/7730/971 5246/7729/971 -f 5250/7733/971 5246/7729/971 5251/7734/971 -f 5245/7728/971 5246/7729/971 5247/7730/971 -f 5252/7735/971 5253/7736/971 5254/7737/971 -f 5255/7738/971 5256/7739/971 5257/7740/971 -f 5258/7741/971 5259/7742/971 5260/7743/971 -f 5261/7744/971 5262/7745/971 5263/7746/971 -f 5263/7746/971 5257/7740/971 5256/7739/971 -f 5254/7737/971 5260/7743/971 5262/7745/971 -f 5263/7746/971 5260/7743/971 5259/7742/971 -f 5264/7747/971 5265/7748/971 5266/7749/971 -f 5267/7750/971 5268/7751/971 5269/7752/971 -f 5270/7753/971 5271/7754/971 5272/7755/971 -f 5273/7756/971 5274/7757/971 5275/7758/971 -f 5275/7758/971 5269/7752/971 5268/7751/971 -f 5266/7749/971 5272/7755/971 5274/7757/971 -f 5275/7758/971 5272/7755/971 5271/7754/971 -f 5276/7759/971 5242/7725/971 5277/7760/971 -f 5278/7761/971 5279/7762/971 5280/7763/971 -f 5281/7764/971 5251/7734/971 5279/7762/971 -f 5282/7765/971 5277/7760/971 5244/7727/971 -f 5277/7760/971 5251/7734/971 5244/7727/971 -f 5280/7763/971 5277/7760/971 5242/7725/971 -f 5214/7697/972 5283/7766/972 5284/7767/972 -f 5285/7768/973 5286/7769/973 5287/7770/973 -f 5288/7771/971 5289/7772/971 5290/7773/971 -f 5289/7772/971 5291/7774/971 5290/7773/971 -f 5290/7773/971 5292/7775/971 5293/7776/971 -f 5294/7777/971 5292/7775/971 5291/7774/971 -f 5295/7778/971 5291/7774/971 5241/7724/971 -f 5290/7773/971 5291/7774/971 5292/7775/971 -f 5296/7779/971 5297/7780/971 5298/7781/971 -f 5299/7782/971 5300/7783/971 5301/7784/971 -f 5302/7785/971 5303/7786/971 5304/7787/971 -f 5305/7788/971 5306/7789/971 5307/7790/971 -f 5300/7783/971 5303/7786/971 5301/7784/971 -f 5298/7781/971 5304/7787/971 5306/7789/971 -f 5307/7790/971 5304/7787/971 5303/7786/971 -f 5308/7791/971 5280/7763/971 5289/7772/971 -f 5289/7772/971 5242/7725/971 5241/7724/971 -f 5202/7685/969 5209/7692/969 5203/7686/969 -f 5205/7688/969 5208/7691/969 5206/7689/969 -f 5208/7691/969 5205/7688/969 5209/7692/969 -f 5216/7699/969 5207/7690/969 5206/7689/969 -f 5217/7700/969 5220/7703/969 5218/7701/969 -f 5219/7702/969 5222/7705/969 5218/7701/969 -f 5221/7704/969 5224/7707/969 5222/7705/969 -f 5221/7704/969 5226/7709/969 5223/7706/969 -f 5225/7708/969 5227/7710/969 5223/7706/969 -f 5227/7710/969 5225/7708/969 5228/7711/969 -f 5230/7713/969 5232/7715/969 5229/7712/969 -f 5230/7713/969 5234/7717/969 5231/7714/969 -f 5233/7716/969 5239/7722/969 5231/7714/969 -f 5235/7718/969 5204/7687/969 5203/7686/969 -f 5236/7719/969 5238/7792/969 5237/7720/969 -f 5233/7716/969 5237/7793/969 5238/7721/969 -f 5244/7727/971 5251/7734/971 5246/7729/971 -f 5263/7746/971 5259/7742/971 5257/7740/971 -f 5254/7737/971 5253/7736/971 5260/7743/971 -f 5263/7746/971 5262/7745/971 5260/7743/971 -f 5275/7758/971 5271/7754/971 5269/7752/971 -f 5266/7749/971 5265/7748/971 5272/7755/971 -f 5275/7758/971 5274/7757/971 5272/7755/971 -f 5277/7760/971 5279/7762/971 5251/7734/971 -f 5280/7763/971 5279/7762/971 5277/7760/971 -f 5214/7697/972 5213/7696/972 5283/7766/972 -f 5289/7772/971 5241/7724/971 5291/7774/971 -f 5300/7783/971 5307/7790/971 5303/7786/971 -f 5298/7781/971 5297/7780/971 5304/7787/971 -f 5307/7790/971 5306/7789/971 5304/7787/971 -f 5289/7772/971 5280/7763/971 5242/7725/971 -s 1 -f 5309/7794/974 5251/7795/975 5281/7796/976 -f 5310/7797/977 5236/7719/978 5311/7798/978 -f 5229/7712/979 5312/7799/980 5227/7710/980 -f 5207/7690/981 5313/7800/982 5205/7688/982 -f 5232/7715/983 5314/7801/979 5229/7712/979 -f 5216/7699/984 5315/7802/981 5207/7690/981 -f 5231/7714/985 5316/7803/983 5232/7715/983 -f 5218/7701/986 5317/7804/984 5216/7699/984 -f 5239/7722/987 5318/7805/985 5231/7714/985 -f 5222/7705/988 5319/7806/986 5218/7701/986 -f 5320/7807/987 5238/7721/977 5310/7808/977 -f 5224/7707/989 5321/7809/988 5222/7705/988 -f 5203/7686/976 5311/7798/978 5236/7719/978 -f 5223/7706/990 5322/7810/989 5224/7707/989 -f 5209/7692/991 5323/7811/976 5203/7686/976 -f 5227/7710/980 5324/7812/990 5223/7706/990 -f 5205/7688/982 5325/7813/991 5209/7692/991 -f 5316/7803/992 5326/7814/993 5314/7801/994 -f 5318/7805/995 5327/7815/996 5316/7803/992 -f 5320/7807/997 5328/7816/998 5318/7805/995 -f 5310/7808/999 5329/7817/1000 5320/7807/997 -f 5311/7798/1001 5330/7818/1002 5310/7797/999 -f 5323/7811/1003 5331/7819/1004 5311/7798/1001 -f 5325/7813/1005 5332/7820/1006 5323/7811/1003 -f 5313/7800/1007 5333/7821/1008 5325/7813/1005 -f 5313/7800/1007 5334/7822/1009 5335/7823/1010 -f 5317/7804/1011 5334/7824/1009 5315/7802/1012 -f 5317/7804/1011 5336/7825/1013 5337/7826/1014 -f 5321/7809/1015 5336/7827/1013 5319/7806/1016 -f 5322/7810/1017 5338/7828/1018 5321/7809/1015 -f 5324/7812/1019 5339/7829/1020 5322/7810/1017 -f 5312/7799/1021 5340/7830/1022 5324/7812/1019 -f 5314/7801/994 5341/7831/1023 5312/7799/1021 -f 5327/7815/996 5328/7832/998 5342/7833/969 -f 5337/7826/1014 5336/7825/1013 5342/7834/969 -f 5328/7816/998 5329/7835/1000 5342/7836/969 -f 5336/7827/1013 5338/7837/1018 5342/7838/969 -f 5330/7818/1002 5331/7839/1004 5342/7840/969 -f 5329/7817/1000 5330/7841/1002 5342/7842/969 -f 5338/7828/1018 5339/7843/1020 5342/7844/969 -f 5331/7819/1004 5332/7845/1006 5342/7846/969 -f 5339/7829/1020 5340/7847/1022 5342/7848/969 -f 5332/7820/1006 5333/7849/1008 5342/7850/969 -f 5340/7830/1022 5341/7851/1023 5342/7852/969 -f 5333/7821/1008 5335/7853/1010 5342/7854/969 -f 5341/7831/1023 5326/7855/993 5342/7856/969 -f 5335/7823/1010 5334/7822/1009 5342/7857/969 -f 5326/7814/993 5327/7858/996 5342/7859/969 -f 5334/7824/1009 5337/7860/1014 5342/7861/969 -f 5248/7862/1024 5343/7863/1025 5344/7864/1026 -f 5247/7865/1027 5345/7866/1028 5343/7867/1025 -f 5249/7868/1029 5346/7869/1030 5345/7870/1028 -f 5246/7871/1031 5347/7872/1032 5346/7873/1030 -f 5309/7874/1033 5250/7875/1034 5251/7876/1035 -f 5245/7877/1036 5344/7878/1026 5348/7879/1037 -f 5243/7880/1038 5348/7881/1037 5349/7882/1039 -f 5350/7883/1040 5243/7880/1038 5349/7884/1039 -f 5350/7883/1040 5351/7885/1041 5352/7886/1042 -f 5348/7881/1037 5351/7887/1041 5349/7882/1039 -f 5344/7878/1026 5353/7888/1043 5348/7879/1037 -f 5345/7866/1028 5215/7889/1044 5343/7867/1025 -f 5215/7890/1044 5344/7864/1026 5343/7863/1025 -f 5346/7869/1030 5213/7891/1045 5345/7870/1028 -f 5347/7872/1032 5354/7892/1046 5346/7873/1030 -f 5355/7893/1047 5309/7874/1033 5356/7894/1048 -f 5357/7895/984 5358/7896/1049 5356/7897/1050 -f 5356/7897/1050 5359/7898/1051 5355/7899/982 -f 5352/7900/1052 5212/7695/990 5360/7901/990 -f 5214/7902/987 5361/7903/1053 5353/7904/1054 -f 5353/7904/1054 5362/7905/1055 5351/7906/979 -f 5351/7906/979 5210/7693/1056 5352/7900/1057 -f 5355/7899/982 5363/7907/1058 5354/7908/1059 -f 5354/7908/1059 5364/7909/1060 5213/7910/978 -f 5210/7693/1056 5362/7905/1055 5211/7911/1061 -f 5362/7905/1055 5361/7903/1053 5211/7912/1061 -f 5361/7903/1053 5365/7913/1062 5211/7914/1061 -f 5364/7909/1060 5363/7907/1058 5211/7915/1061 -f 5363/7907/1058 5359/7898/1051 5211/7916/1061 -f 5359/7898/1051 5358/7896/1049 5211/7917/1061 -f 5358/7896/1049 5366/7918/1063 5211/7919/1061 -f 5350/7920/1064 5282/7921/985 5244/7922/1065 -f 5234/7923/985 5350/7920/1064 5233/7924/987 -f 5233/7924/987 5350/7920/1064 5237/7925/1066 -f 5237/7720/1067 5309/7794/974 5235/7926/978 -f 5204/7927/976 5309/7794/974 5281/7796/976 -f 5279/7928/991 5204/7927/976 5281/7796/976 -f 5278/7929/982 5202/7930/991 5279/7928/991 -f 5280/7931/981 5208/7932/982 5278/7929/982 -f 5308/7933/984 5206/7934/981 5280/7931/981 -f 5221/7935/989 5219/7936/1068 5367/7937/1069 -f 5367/7937/1069 5226/7938/990 5221/7935/989 -f 5367/7937/1069 5241/7939/1070 5240/7940/990 -f 5242/7941/980 5226/7938/990 5240/7940/990 -f 5276/7942/979 5225/7943/980 5242/7941/980 -f 5277/7944/983 5228/7945/979 5276/7942/979 -f 5282/7921/985 5230/7946/983 5277/7944/983 -f 5368/7947/1071 5253/7948/1072 5369/7949/1072 -f 5259/7950/1073 5370/7951/1074 5371/7952/1073 -f 5255/7953/1075 5372/7954/1076 5373/7955/1075 -f 5257/7956/1076 5371/7952/1073 5372/7954/1076 -f 5258/7957/1074 5368/7947/1071 5370/7951/1074 -f 5374/7958/979 5272/7959/1054 5375/7960/1054 -f 5376/7961/988 5269/7962/1077 5377/7963/1077 -f 5378/7964/982 5275/7965/1050 5379/7966/1050 -f 5375/7960/1054 5265/7967/1078 5380/7968/1078 -f 5381/7969/977 5266/7970/1079 5382/7971/1079 -f 5377/7963/1077 5271/7972/1052 5383/7973/1052 -f 5379/7966/1050 5268/7974/1080 5384/7975/1080 -f 5380/7968/1078 5264/7976/977 5381/7977/977 -f 5382/7971/1079 5274/7978/1059 5385/7979/1059 -f 5383/7973/1052 5270/7980/979 5374/7958/979 -f 5384/7975/1080 5267/7981/988 5376/7961/988 -f 5385/7979/1059 5273/7982/982 5378/7964/982 -f 5374/7958/1081 5386/7983/1082 5387/7984/1081 -f 5375/7960/1082 5388/7985/1083 5386/7983/1082 -f 5380/7968/1083 5389/7986/1084 5388/7985/1083 -f 5381/7969/1084 5390/7987/1085 5389/7988/1084 -f 5382/7971/1085 5391/7989/1086 5390/7987/1085 -f 5385/7979/1086 5392/7990/1087 5391/7989/1086 -f 5378/7964/1087 5393/7991/1088 5392/7990/1087 -f 5379/7966/1088 5394/7992/1089 5393/7991/1088 -f 5384/7975/1089 5395/7993/1090 5394/7992/1089 -f 5395/7993/1090 5377/7963/1091 5396/7994/1091 -f 5377/7963/1091 5397/7995/1092 5396/7994/1091 -f 5383/7973/1092 5387/7984/1081 5397/7995/1092 -f 5253/7948/1072 5398/7996/1093 5369/7949/1072 -f 5252/7997/1093 5399/7998/1094 5398/7999/1093 -f 5254/8000/1094 5400/8001/1095 5399/7998/1094 -f 5262/8002/1095 5401/8003/1096 5400/8001/1095 -f 5261/8004/1096 5402/8005/1097 5401/8003/1096 -f 5263/8006/1097 5403/8007/1098 5402/8005/1097 -f 5256/8008/1098 5373/7955/1075 5403/8007/1098 -f 5284/7767/1099 5404/8009/1100 5214/8010/1101 -f 5283/7766/1102 5213/8011/1103 5405/8012/1104 -f 5404/8013/1100 5283/7766/1102 5405/8014/1104 -f 5211/8015/1061 5365/7913/1062 5364/7909/1060 -f 5365/7913/1062 5213/7910/978 5364/7909/1060 -f 5293/8016/1105 5406/8017/1106 5407/8018/1107 -f 5292/8019/1108 5408/8020/1109 5406/8021/1106 -f 5294/8022/1110 5409/8023/1111 5408/8024/1109 -f 5291/8025/1112 5410/8026/1113 5409/8027/1111 -f 5367/8028/1114 5295/8029/1115 5241/8030/1116 -f 5290/8031/1117 5407/8032/1107 5411/8033/1118 -f 5288/8034/1119 5411/8035/1118 5412/8036/1120 -f 5413/8037/1121 5288/8034/1119 5412/8038/1120 -f 5413/8037/1121 5414/8039/1122 5415/8040/1123 -f 5411/8035/1118 5414/8041/1122 5412/8036/1120 -f 5407/8032/1107 5416/8042/1124 5411/8033/1118 -f 5408/8020/1109 5417/8043/1125 5406/8021/1106 -f 5417/8044/1125 5407/8018/1107 5406/8017/1106 -f 5409/8023/1111 5418/8045/1126 5408/8024/1109 -f 5410/8026/1113 5419/8046/1127 5409/8027/1111 -f 5420/8047/1128 5367/8028/1114 5421/8048/1129 -f 5422/8049/1130 5423/8050/1131 5424/8051/1132 -f 5423/8050/1131 5425/8052/1133 5426/8053/1134 -f 5427/8054/1135 5428/8055/1136 5429/8056/1137 -f 5430/8057/1138 5422/8058/1139 5424/8059/1139 -f 5427/8054/1135 5431/8060/1140 5432/8061/1141 -f 5433/8062/1142 5432/8061/1141 5431/8060/1140 -f 5429/8056/1137 5425/8063/1133 5434/8064/1143 -f 5431/8060/1140 5427/8054/1135 5429/8056/1137 -f 5285/7768/1144 5435/8065/1145 5286/8066/1146 -f 5435/8065/1145 5436/8067/1147 5286/8068/1146 -f 5436/8067/1147 5437/8069/1148 5286/8070/1146 -f 5438/8071/1149 5439/8072/1150 5286/8073/1146 -f 5439/8072/1150 5440/8074/1151 5286/8075/1146 -f 5440/8074/1151 5441/8076/1152 5286/8077/1146 -f 5441/8076/1152 5442/8078/1153 5286/8079/1146 -f 5443/8080/1097 5297/8081/1098 5444/8082/1098 -f 5445/8083/1095 5302/8084/1096 5446/8085/1096 -f 5299/8086/1093 5447/8087/1094 5448/8088/1093 -f 5301/8089/1094 5445/8083/1095 5447/8087/1094 -f 5302/8084/1096 5443/8080/1097 5446/8085/1096 -f 5297/8081/1098 5449/8090/1075 5444/8082/1098 -f 5296/8091/1075 5450/8092/1076 5449/8090/1075 -f 5298/8093/1076 5451/8094/1073 5450/8092/1076 -f 5451/8094/1073 5305/8095/1074 5452/8096/1074 -f 5305/8095/1074 5453/8097/1071 5452/8096/1074 -f 5307/8098/1071 5454/8099/1072 5453/8097/1071 -f 5300/8100/1072 5448/8101/1093 5454/8099/1072 -f 5286/8102/1146 5437/8069/1148 5438/8071/1149 -f 5455/8103/1154 5426/8104/1134 5456/8105/1155 -f 5413/8106/1156 5219/7936/1157 5220/8107/986 -f 5217/8108/984 5413/8106/1156 5220/8107/986 -f 5413/8106/1156 5308/7933/984 5289/8109/1158 -f 5455/8103/1154 5457/8110/982 5430/8111/1159 -f 5424/8051/1132 5455/8103/1154 5430/8111/1159 -f 5458/8112/979 5429/8056/1137 5459/8113/1160 -f 5429/8056/1137 5422/8049/1130 5459/8113/1160 -f 5460/8114/1161 5455/8103/1154 5456/8115/1155 -f 5460/8114/1161 5461/8116/1162 5455/8103/1154 -f 5460/8114/1161 5462/8117/1163 5461/8116/1162 -f 5463/8118/1164 5461/8116/1162 5462/8117/1163 -f 5432/8119/1054 5442/8078/1153 5441/8076/1152 -f 5427/8120/979 5441/8076/1152 5440/8074/1151 -f 5428/8121/1052 5440/8074/1151 5439/8072/1150 -f 5437/8069/1148 5425/8122/989 5438/8071/1149 -f 5460/8123/982 5436/8067/1147 5435/8065/1145 -f 5462/8124/1059 5435/8065/1145 5285/7768/1144 -f 5463/8125/976 5285/7768/1144 5287/7770/976 -f 5458/8126/971 5430/8057/1138 5457/8127/971 -f 5425/8122/989 5439/8072/1150 5438/8071/1149 -f 5456/8128/1050 5437/8069/1148 5436/8067/1147 -f 5464/8129/979 5465/8130/983 5466/8131/983 -f 5467/8132/1165 5468/8133/980 5469/8134/980 -f 5470/8135/982 5471/8136/981 5472/8137/981 -f 5473/8138/1166 5474/8139/991 5475/8140/991 -f 5466/8131/983 5476/8141/1167 5477/8142/1167 -f 5469/8134/980 5478/8143/979 5464/8129/979 -f 5472/8137/981 5479/8144/1168 5480/8145/1168 -f 5475/8140/991 5481/8146/982 5470/8135/982 -f 5482/8147/1169 5483/8148/1170 5484/8149/1170 -f 5485/8150/1171 5482/8147/1169 5486/8151/1171 -f 5487/8152/1172 5485/8150/1171 5486/8151/1171 -f 5488/8153/1173 5489/8154/1174 5490/8155/1174 -f 5491/8156/1175 5488/8153/1173 5492/8157/1175 -f 5493/8158/1176 5491/8156/1175 5492/8157/1175 -f 5310/7797/977 5238/7792/977 5236/7719/978 -f 5229/7712/979 5314/7801/979 5312/7799/980 -f 5207/7690/981 5315/7802/981 5313/7800/982 -f 5232/7715/983 5316/7803/983 5314/7801/979 -f 5216/7699/984 5317/7804/984 5315/7802/981 -f 5231/7714/985 5318/7805/985 5316/7803/983 -f 5218/7701/986 5319/7806/986 5317/7804/984 -f 5239/7722/987 5320/7807/987 5318/7805/985 -f 5222/7705/988 5321/7809/988 5319/7806/986 -f 5320/7807/987 5239/7722/987 5238/7721/977 -f 5224/7707/989 5322/7810/989 5321/7809/988 -f 5203/7686/976 5323/7811/976 5311/7798/978 -f 5223/7706/990 5324/7812/990 5322/7810/989 -f 5209/7692/991 5325/7813/991 5323/7811/976 -f 5227/7710/980 5312/7799/980 5324/7812/990 -f 5205/7688/982 5313/7800/982 5325/7813/991 -f 5316/7803/992 5327/7858/996 5326/7814/993 -f 5318/7805/995 5328/7832/998 5327/7815/996 -f 5320/7807/997 5329/7835/1000 5328/7816/998 -f 5310/7808/999 5330/7841/1002 5329/7817/1000 -f 5311/7798/1001 5331/7839/1004 5330/7818/1002 -f 5323/7811/1003 5332/7845/1006 5331/7819/1004 -f 5325/7813/1005 5333/7849/1008 5332/7820/1006 -f 5313/7800/1007 5335/7853/1010 5333/7821/1008 -f 5313/7800/1007 5315/7802/1012 5334/7822/1009 -f 5317/7804/1011 5337/7860/1014 5334/7824/1009 -f 5317/7804/1011 5319/7806/1016 5336/7825/1013 -f 5321/7809/1015 5338/7837/1018 5336/7827/1013 -f 5322/7810/1017 5339/7843/1020 5338/7828/1018 -f 5324/7812/1019 5340/7847/1022 5339/7829/1020 -f 5312/7799/1021 5341/7851/1023 5340/7830/1022 -f 5314/7801/994 5326/7855/993 5341/7831/1023 -f 5248/7862/1024 5247/7865/1027 5343/7863/1025 -f 5247/7865/1027 5249/7868/1029 5345/7866/1028 -f 5249/7868/1029 5246/7871/1031 5346/7869/1030 -f 5246/7871/1031 5250/7875/1034 5347/7872/1032 -f 5309/7874/1033 5347/8159/1032 5250/7875/1034 -f 5245/7877/1036 5248/7862/1024 5344/7878/1026 -f 5243/7880/1038 5245/7877/1036 5348/7881/1037 -f 5350/7883/1040 5244/8160/1177 5243/7880/1038 -f 5350/7883/1040 5349/7884/1039 5351/7885/1041 -f 5348/7881/1037 5353/8161/1043 5351/7887/1041 -f 5344/7878/1026 5214/8162/1178 5353/7888/1043 -f 5345/7866/1028 5213/8163/1045 5215/7889/1044 -f 5215/7890/1044 5214/8164/1178 5344/7864/1026 -f 5346/7869/1030 5354/8165/1046 5213/7891/1045 -f 5347/7872/1032 5355/8166/1047 5354/7892/1046 -f 5355/7893/1047 5347/8159/1032 5309/7874/1033 -f 5357/7895/984 5366/7918/1063 5358/7896/1049 -f 5356/7897/1050 5358/7896/1049 5359/7898/1051 -f 5352/7900/1057 5210/7693/1056 5212/7695/990 -f 5214/7902/987 5365/7913/1062 5361/7903/1053 -f 5353/7904/1054 5361/7903/1053 5362/7905/1055 -f 5351/7906/979 5362/7905/1055 5210/7693/1056 -f 5355/7899/982 5359/7898/1051 5363/7907/1058 -f 5354/7908/1059 5363/7907/1058 5364/7909/1060 -f 5234/7923/985 5282/7921/985 5350/7920/1064 -f 5204/7927/976 5235/7926/978 5309/7794/974 -f 5279/7928/991 5202/7930/991 5204/7927/976 -f 5278/7929/982 5208/7932/982 5202/7930/991 -f 5280/7931/981 5206/7934/981 5208/7932/982 -f 5308/7933/984 5217/8108/984 5206/7934/981 -f 5367/7937/1069 5240/7940/990 5226/7938/990 -f 5242/7941/980 5225/7943/980 5226/7938/990 -f 5276/7942/979 5228/7945/979 5225/7943/980 -f 5277/7944/983 5230/7946/983 5228/7945/979 -f 5282/7921/985 5234/7923/985 5230/7946/983 -f 5368/7947/1071 5260/8167/1071 5253/7948/1072 -f 5259/7950/1073 5258/7957/1074 5370/7951/1074 -f 5255/7953/1075 5257/7956/1076 5372/7954/1076 -f 5257/7956/1076 5259/7950/1073 5371/7952/1073 -f 5258/7957/1074 5260/8167/1071 5368/7947/1071 -f 5374/7958/979 5270/7980/979 5272/7959/1054 -f 5376/7961/988 5267/7981/988 5269/7962/1077 -f 5378/7964/982 5273/7982/982 5275/7965/1050 -f 5375/7960/1054 5272/7959/1054 5265/7967/1078 -f 5381/7969/977 5264/8168/977 5266/7970/1079 -f 5377/7963/1077 5269/7962/1077 5271/7972/1052 -f 5379/7966/1050 5275/7965/1050 5268/7974/1080 -f 5380/7968/1078 5265/7967/1078 5264/7976/977 -f 5382/7971/1079 5266/7970/1079 5274/7978/1059 -f 5383/7973/1052 5271/7972/1052 5270/7980/979 -f 5384/7975/1080 5268/7974/1080 5267/7981/988 -f 5385/7979/1059 5274/7978/1059 5273/7982/982 -f 5374/7958/1081 5375/7960/1082 5386/7983/1082 -f 5375/7960/1082 5380/7968/1083 5388/7985/1083 -f 5380/7968/1083 5381/7977/1084 5389/7986/1084 -f 5381/7969/1084 5382/7971/1085 5390/7987/1085 -f 5382/7971/1085 5385/7979/1086 5391/7989/1086 -f 5385/7979/1086 5378/7964/1087 5392/7990/1087 -f 5378/7964/1087 5379/7966/1088 5393/7991/1088 -f 5379/7966/1088 5384/7975/1089 5394/7992/1089 -f 5384/7975/1089 5376/7961/1090 5395/7993/1090 -f 5395/7993/1090 5376/7961/1090 5377/7963/1091 -f 5377/7963/1091 5383/7973/1092 5397/7995/1092 -f 5383/7973/1092 5374/7958/1081 5387/7984/1081 -f 5253/7948/1072 5252/8169/1093 5398/7996/1093 -f 5252/7997/1093 5254/8000/1094 5399/7998/1094 -f 5254/8000/1094 5262/8002/1095 5400/8001/1095 -f 5262/8002/1095 5261/8004/1096 5401/8003/1096 -f 5261/8004/1096 5263/8006/1097 5402/8005/1097 -f 5263/8006/1097 5256/8008/1098 5403/8007/1098 -f 5256/8008/1098 5255/7953/1075 5373/7955/1075 -f 5404/8013/1100 5284/7767/1099 5283/7766/1102 -f 5365/7913/1062 5214/7902/987 5213/7910/978 -f 5293/8016/1105 5292/8019/1108 5406/8017/1106 -f 5292/8019/1108 5294/8022/1110 5408/8020/1109 -f 5294/8022/1110 5291/8025/1112 5409/8023/1111 -f 5291/8025/1112 5295/8029/1115 5410/8026/1113 -f 5367/8028/1114 5410/8170/1113 5295/8029/1115 -f 5290/8031/1117 5293/8016/1105 5407/8032/1107 -f 5288/8034/1119 5290/8031/1117 5411/8035/1118 -f 5413/8037/1121 5289/8171/1179 5288/8034/1119 -f 5413/8037/1121 5412/8038/1120 5414/8039/1122 -f 5411/8035/1118 5416/8172/1124 5414/8041/1122 -f 5407/8032/1107 5494/8173/1180 5416/8042/1124 -f 5408/8020/1109 5418/8174/1126 5417/8043/1125 -f 5417/8044/1125 5494/8175/1180 5407/8018/1107 -f 5409/8023/1111 5419/8176/1127 5418/8045/1126 -f 5410/8026/1113 5420/8177/1128 5419/8046/1127 -f 5420/8047/1128 5410/8170/1113 5367/8028/1114 -f 5422/8049/1130 5434/8064/1143 5423/8050/1131 -f 5423/8050/1131 5434/8064/1143 5425/8052/1133 -f 5430/8057/1138 5459/8178/1138 5422/8058/1139 -f 5429/8056/1137 5428/8179/1136 5425/8063/1133 -f 5443/8080/1097 5304/8180/1097 5297/8081/1098 -f 5445/8083/1095 5303/8181/1095 5302/8084/1096 -f 5299/8086/1093 5301/8089/1094 5447/8087/1094 -f 5301/8089/1094 5303/8181/1095 5445/8083/1095 -f 5302/8084/1096 5304/8180/1097 5443/8080/1097 -f 5297/8081/1098 5296/8091/1075 5449/8090/1075 -f 5296/8091/1075 5298/8093/1076 5450/8092/1076 -f 5298/8093/1076 5306/8182/1073 5451/8094/1073 -f 5451/8094/1073 5306/8182/1073 5305/8095/1074 -f 5305/8095/1074 5307/8098/1071 5453/8097/1071 -f 5307/8098/1071 5300/8100/1072 5454/8099/1072 -f 5300/8100/1072 5299/8183/1093 5448/8101/1093 -f 5455/8103/1154 5423/8050/1131 5426/8104/1134 -f 5217/8108/984 5308/7933/984 5413/8106/1156 -f 5455/8103/1154 5461/8116/1162 5457/8110/982 -f 5424/8051/1132 5423/8050/1131 5455/8103/1154 -f 5458/8112/979 5431/8060/1140 5429/8056/1137 -f 5429/8056/1137 5434/8064/1143 5422/8049/1130 -f 5432/8119/1054 5433/8184/985 5442/8078/1153 -f 5427/8120/979 5432/8119/1054 5441/8076/1152 -f 5428/8121/1052 5427/8120/979 5440/8074/1151 -f 5437/8069/1148 5426/8185/986 5425/8122/989 -f 5460/8123/982 5456/8128/1050 5436/8067/1147 -f 5462/8124/1059 5460/8123/982 5435/8065/1145 -f 5463/8125/976 5462/8124/1059 5285/7768/1144 -f 5458/8126/971 5459/8178/1138 5430/8057/1138 -f 5425/8122/989 5428/8121/1052 5439/8072/1150 -f 5456/8128/1050 5426/8185/986 5437/8069/1148 -f 5464/8129/979 5478/8143/979 5465/8130/983 -f 5467/8132/1165 5495/8186/1165 5468/8133/980 -f 5470/8135/982 5481/8146/982 5471/8136/981 -f 5473/8138/1166 5496/8187/1166 5474/8139/991 -f 5466/8131/983 5465/8130/983 5476/8141/1167 -f 5469/8134/980 5468/8133/980 5478/8143/979 -f 5472/8137/981 5471/8136/981 5479/8144/1168 -f 5475/8140/991 5474/8139/991 5481/8146/982 -f 5482/8147/1169 5497/8188/1169 5483/8148/1170 -f 5485/8150/1171 5497/8188/1169 5482/8147/1169 -f 5487/8152/1172 5498/8189/1172 5485/8150/1171 -f 5488/8153/1173 5499/8190/1173 5489/8154/1174 -f 5491/8156/1175 5499/8190/1173 5488/8153/1173 -f 5493/8158/1176 5500/8191/1176 5491/8156/1175 -l 5502 5421 -l 5415 5501 +f 3348/4888/427 3349/4889/427 3350/4890/427 +f 3351/4891/428 3352/4892/428 3353/4893/428 +f 3354/4894/427 3355/4895/427 3349/4889/427 +f 3356/4896/427 3357/4897/427 3355/4895/427 +f 3358/4898/427 3350/4890/427 3357/4897/427 +f 3359/4899/428 3360/4900/428 3351/4891/428 +f 3361/4901/428 3362/4902/428 3359/4899/428 +f 3353/4893/428 3363/4903/428 3361/4901/428 +f 3356/4904/429 3363/4905/429 3358/4906/429 +f 3348/4907/430 3360/4908/430 3354/4909/430 +f 3357/4910/430 3359/4911/430 3355/4912/430 +f 3349/4913/429 3353/4914/429 3350/4915/429 +f 3358/4916/431 3352/4917/431 3348/4918/431 +f 3354/4919/432 3362/4920/432 3356/4921/432 +f 3350/4890/432 3361/4901/432 3357/4897/432 +f 3355/4922/431 3351/4923/431 3349/4924/431 +f 3364/4925/427 3365/4926/427 3366/4927/427 +f 3367/4928/432 3368/4929/432 3369/4930/432 +f 3370/4931/431 3371/4932/431 3372/4933/431 +f 3369/4930/430 3373/4934/430 3370/4935/430 +f 3372/4933/429 3374/4936/429 3367/4928/429 +f 3375/4937/430 3376/4938/430 3377/4939/430 +f 3378/4940/427 3379/4941/427 3380/4942/427 +f 3381/4943/429 3382/4944/429 3383/4945/429 +f 3384/4946/432 3378/4940/432 3385/4947/432 +f 3385/4948/433 3380/4942/433 3382/4944/433 +f 3386/4949/434 3384/4946/434 3376/4938/434 +f 3380/4942/431 3379/4941/431 3386/4950/431 +f 3387/4951/432 3388/4952/432 3389/4953/432 +f 3390/4954/427 3391/4955/427 3392/4956/427 +f 3393/4957/427 3394/4958/427 3395/4959/427 +f 3396/4960/429 3392/4961/429 3397/4962/429 +f 3398/4963/432 3393/4957/432 3399/4964/432 +f 3400/4965/431 3394/4966/431 3401/4967/431 +f 3402/4968/432 3390/4954/432 3396/4969/432 +f 3397/4962/431 3391/4970/431 3403/4971/431 +f 3401/4967/430 3404/4972/430 3398/4963/430 +f 3399/4973/429 3395/4974/429 3400/4965/429 +f 3403/4971/430 3405/4975/430 3402/4968/430 +f 3406/4976/430 3407/4977/430 3408/4978/430 +f 3409/4979/430 3410/4980/430 3411/4981/430 +f 3412/4982/430 3413/4983/430 3414/4984/430 +f 3415/4985/430 3416/4986/430 3417/4987/430 +f 3418/4988/430 3419/4989/430 3420/4990/430 +f 3421/4991/430 3422/4992/430 3423/4993/430 +f 3424/4994/430 3425/4995/430 3426/4996/430 +f 3427/4997/430 3428/4998/430 3429/4999/430 +f 3430/5000/430 3431/5001/430 3432/5002/430 +f 3433/5003/430 3434/5004/430 3435/5005/430 +f 3436/5006/430 3437/5007/430 3438/5008/430 +f 3439/5009/430 3440/5010/430 3441/5011/430 +f 3442/5012/430 3443/5013/430 3444/5014/430 +f 3445/5015/430 3446/5016/430 3447/5017/430 +f 3448/5018/430 3449/5019/430 3450/5020/430 +f 3451/5021/430 3452/5022/430 3453/5023/430 +f 3454/5024/430 3455/5025/430 3456/5026/430 +f 3457/5027/430 3458/5028/430 3459/5029/430 +f 3460/5030/430 3461/5031/430 3462/5032/430 +f 3463/5033/430 3464/5034/430 3465/5035/430 +f 3466/5036/430 3467/5037/430 3468/5038/430 +f 3469/5039/430 3470/5040/430 3471/5041/430 +f 3472/5042/430 3473/5043/430 3474/5044/430 +f 3475/5045/430 3476/5046/430 3477/5047/430 +f 3478/5048/430 3479/5049/430 3480/5050/430 +f 3481/5051/430 3482/5052/430 3483/5053/430 +f 3484/5054/431 3485/5055/431 3486/5056/431 +f 3487/5057/433 3488/5058/433 3484/5054/433 +f 3486/5059/435 3489/5060/435 3490/5061/435 +f 3490/5061/432 3491/5062/432 3487/5057/432 +f 3492/5063/431 3493/5064/431 3494/5065/431 +f 3495/5066/433 3496/5067/433 3492/5063/433 +f 3494/5068/435 3497/5069/435 3498/5070/435 +f 3498/5070/432 3499/5071/432 3495/5066/432 +f 3500/5072/429 3501/5073/429 3502/5074/429 +f 3503/5075/429 3504/5076/429 3505/5077/429 +f 3506/5078/429 3507/5079/429 3508/5080/429 +f 3509/5081/429 3510/5082/429 3511/5083/429 +f 3512/5084/429 3513/5085/429 3514/5086/429 +f 3515/5087/429 3516/5088/429 3517/5089/429 +f 3518/5090/429 3519/5091/429 3520/5092/429 +f 3521/5093/429 3522/5094/429 3523/5095/429 +f 3524/5096/429 3525/5097/429 3526/5098/429 +f 3527/5099/429 3528/5100/429 3529/5101/429 +f 3530/5102/429 3531/5103/429 3532/5104/429 +f 3533/5105/429 3534/5106/429 3535/5107/429 +f 3536/5108/429 3537/5109/429 3538/5110/429 +f 3539/5111/429 3540/5112/429 3541/5113/429 +f 3542/5114/429 3543/5115/429 3544/5116/429 +f 3545/5117/429 3546/5118/429 3547/5119/429 +f 3548/5120/429 3549/5121/429 3550/5122/429 +f 3551/5123/429 3552/5124/429 3553/5125/429 +f 3554/5126/429 3555/5127/429 3556/5128/429 +f 3557/5129/429 3558/5130/429 3559/5131/429 +f 3560/5132/429 3561/5133/429 3562/5134/429 +f 3563/5135/429 3564/5136/429 3565/5137/429 +f 3566/5138/429 3567/5139/429 3568/5140/429 +f 3569/5141/429 3570/5142/429 3571/5143/429 +f 3572/5144/429 3573/5145/429 3574/5146/429 +f 3575/5147/429 3576/5148/429 3577/5149/429 +f 3578/5150/432 3579/5151/432 3580/5152/432 +f 3581/5153/431 3582/5154/431 3583/5155/431 +f 3580/5152/430 3584/5156/430 3581/5157/430 +f 3583/5155/429 3585/5158/429 3578/5150/429 +f 3586/5159/432 3587/5160/432 3588/5161/432 +f 3589/5162/431 3590/5163/431 3591/5164/431 +f 3588/5161/430 3592/5165/430 3589/5166/430 +f 3591/5164/429 3593/5167/429 3586/5159/429 +f 3594/5168/432 3595/5169/432 3596/5170/432 +f 3597/5171/431 3598/5172/431 3599/5173/431 +f 3596/5170/430 3600/5174/430 3597/5175/430 +f 3599/5173/429 3601/5176/429 3594/5168/429 +f 3602/5177/431 3603/5178/431 3604/5179/431 +f 3605/5180/430 3606/5181/430 3607/5182/430 +f 3608/5183/429 3609/5184/429 3610/5185/429 +f 3348/4888/427 3354/4894/427 3349/4889/427 +f 3351/4891/428 3360/4900/428 3352/4892/428 +f 3354/4894/427 3356/4896/427 3355/4895/427 +f 3356/4896/427 3358/4898/427 3357/4897/427 +f 3358/4898/427 3348/4888/427 3350/4890/427 +f 3359/4899/428 3362/4902/428 3360/4900/428 +f 3361/4901/428 3363/4903/428 3362/4902/428 +f 3353/4893/428 3352/4892/428 3363/4903/428 +f 3356/4904/429 3362/5186/429 3363/4905/429 +f 3348/4907/430 3352/5187/430 3360/4908/430 +f 3357/4910/430 3361/5188/430 3359/4911/430 +f 3349/4913/429 3351/5189/429 3353/4914/429 +f 3358/4916/431 3363/5190/431 3352/4917/431 +f 3354/4919/432 3360/5191/432 3362/4920/432 +f 3350/4890/432 3353/4893/432 3361/4901/432 +f 3355/4922/431 3359/5192/431 3351/4923/431 +f 3364/4925/427 3611/5193/427 3365/4926/427 +f 3367/4928/432 3374/4936/432 3368/4929/432 +f 3370/4931/431 3373/5194/431 3371/4932/431 +f 3369/4930/430 3368/4929/430 3373/4934/430 +f 3372/4933/429 3371/4932/429 3374/4936/429 +f 3375/4937/430 3386/4949/430 3376/4938/430 +f 3378/4940/427 3384/4946/427 3379/4941/427 +f 3381/4943/429 3385/4948/429 3382/4944/429 +f 3385/4947/432 3381/5195/432 3377/5196/432 +f 3377/5196/432 3376/5197/432 3385/4947/432 +f 3376/5197/432 3384/4946/432 3385/4947/432 +f 3385/4948/433 3378/4940/433 3380/4942/433 +f 3386/4949/434 3379/4941/434 3384/4946/434 +f 3386/4950/431 3375/5198/431 3383/5199/431 +f 3383/5199/431 3382/5200/431 3386/4950/431 +f 3382/5200/431 3380/4942/431 3386/4950/431 +f 3387/4951/432 3612/5201/432 3388/4952/432 +f 3390/4954/427 3405/4975/427 3391/4955/427 +f 3393/4957/427 3404/4972/427 3394/4958/427 +f 3396/4960/429 3390/5202/429 3392/4961/429 +f 3398/4963/432 3404/4972/432 3393/4957/432 +f 3400/4965/431 3395/4974/431 3394/4966/431 +f 3402/4968/432 3405/4975/432 3390/4954/432 +f 3397/4962/431 3392/4961/431 3391/4970/431 +f 3401/4967/430 3394/4966/430 3404/4972/430 +f 3399/4973/429 3393/5203/429 3395/4974/429 +f 3403/4971/430 3391/4970/430 3405/4975/430 +f 3406/4976/430 3613/5204/430 3407/4977/430 +f 3409/4979/430 3614/5205/430 3410/4980/430 +f 3412/4982/430 3615/5206/430 3413/4983/430 +f 3415/4985/430 3616/5207/430 3416/4986/430 +f 3418/4988/430 3617/5208/430 3419/4989/430 +f 3421/4991/430 3618/5209/430 3422/4992/430 +f 3424/4994/430 3619/5210/430 3425/4995/430 +f 3427/4997/430 3620/5211/430 3428/4998/430 +f 3430/5000/430 3621/5212/430 3431/5001/430 +f 3433/5003/430 3622/5213/430 3434/5004/430 +f 3436/5006/430 3623/5214/430 3437/5007/430 +f 3439/5009/430 3624/5215/430 3440/5010/430 +f 3442/5012/430 3625/5216/430 3443/5013/430 +f 3445/5015/430 3626/5217/430 3446/5016/430 +f 3448/5018/430 3627/5218/430 3449/5019/430 +f 3451/5021/430 3628/5219/430 3452/5022/430 +f 3454/5024/430 3629/5220/430 3455/5025/430 +f 3457/5027/430 3630/5221/430 3458/5028/430 +f 3460/5030/430 3631/5222/430 3461/5031/430 +f 3463/5033/430 3632/5223/430 3464/5034/430 +f 3466/5036/430 3633/5224/430 3467/5037/430 +f 3469/5039/430 3634/5225/430 3470/5040/430 +f 3472/5042/430 3635/5226/430 3473/5043/430 +f 3475/5045/430 3636/5227/430 3476/5046/430 +f 3478/5048/430 3637/5228/430 3479/5049/430 +f 3481/5051/430 3638/5229/430 3482/5052/430 +f 3484/5054/431 3488/5058/431 3485/5055/431 +f 3487/5057/433 3491/5062/433 3488/5058/433 +f 3486/5059/435 3485/5230/435 3489/5060/435 +f 3490/5061/432 3489/5060/432 3491/5062/432 +f 3492/5063/431 3496/5067/431 3493/5064/431 +f 3495/5066/433 3499/5071/433 3496/5067/433 +f 3494/5068/435 3493/5231/435 3497/5069/435 +f 3498/5070/432 3497/5069/432 3499/5071/432 +f 3500/5072/429 3639/5232/429 3501/5073/429 +f 3503/5075/429 3640/5233/429 3504/5076/429 +f 3506/5078/429 3641/5234/429 3507/5079/429 +f 3509/5081/429 3642/5235/429 3510/5082/429 +f 3512/5084/429 3643/5236/429 3513/5085/429 +f 3515/5087/429 3644/5237/429 3516/5088/429 +f 3518/5090/429 3645/5238/429 3519/5091/429 +f 3521/5093/429 3646/5239/429 3522/5094/429 +f 3524/5096/429 3647/5240/429 3525/5097/429 +f 3527/5099/429 3648/5241/429 3528/5100/429 +f 3530/5102/429 3649/5242/429 3531/5103/429 +f 3533/5105/429 3650/5243/429 3534/5106/429 +f 3536/5108/429 3651/5244/429 3537/5109/429 +f 3539/5111/429 3652/5245/429 3540/5112/429 +f 3542/5114/429 3653/5246/429 3543/5115/429 +f 3545/5117/429 3654/5247/429 3546/5118/429 +f 3548/5120/429 3655/5248/429 3549/5121/429 +f 3551/5123/429 3656/5249/429 3552/5124/429 +f 3554/5126/429 3657/5250/429 3555/5127/429 +f 3557/5129/429 3658/5251/429 3558/5130/429 +f 3560/5132/429 3659/5252/429 3561/5133/429 +f 3563/5135/429 3660/5253/429 3564/5136/429 +f 3566/5138/429 3661/5254/429 3567/5139/429 +f 3569/5141/429 3662/5255/429 3570/5142/429 +f 3572/5144/429 3663/5256/429 3573/5145/429 +f 3575/5147/429 3664/5257/429 3576/5148/429 +f 3578/5150/432 3585/5158/432 3579/5151/432 +f 3581/5153/431 3584/5258/431 3582/5154/431 +f 3580/5152/430 3579/5151/430 3584/5156/430 +f 3583/5155/429 3582/5154/429 3585/5158/429 +f 3586/5159/432 3593/5167/432 3587/5160/432 +f 3589/5162/431 3592/5259/431 3590/5163/431 +f 3588/5161/430 3587/5160/430 3592/5165/430 +f 3591/5164/429 3590/5163/429 3593/5167/429 +f 3594/5168/432 3601/5176/432 3595/5169/432 +f 3597/5171/431 3600/5260/431 3598/5172/431 +f 3596/5170/430 3595/5169/430 3600/5174/430 +f 3599/5173/429 3598/5172/429 3601/5176/429 +f 3602/5177/431 3665/5261/431 3603/5178/431 +f 3605/5180/430 3666/5262/430 3606/5181/430 +f 3608/5183/429 3667/5263/429 3609/5184/429 +o ABM_Erector +v 0.125000 2.750000 -1.625000 +v 0.375000 2.750000 -1.375000 +v 0.125000 2.750000 -1.375000 +v -0.375000 2.750000 -1.625000 +v -0.125000 2.750000 -1.375000 +v -0.375000 2.750000 -1.375000 +v 0.375000 9.750000 -1.375000 +v 0.125000 9.750000 -1.625000 +v 0.125000 9.750000 -1.375000 +v -0.125000 9.750000 -1.375000 +v -0.375000 9.750000 -1.625000 +v -0.375000 9.750000 -1.375000 +v 0.375000 2.750000 -1.625000 +v -0.125000 9.750000 -1.625000 +v -0.125000 2.750000 -1.625000 +v 0.375000 9.750000 -1.625000 +v 0.250000 4.875000 -1.500000 +v 0.500000 4.625000 -1.500000 +v 0.250000 4.625000 -1.500000 +v 0.500000 4.625000 0.250000 +v 0.250000 4.875000 0.250000 +v 0.250000 4.625000 0.250000 +v 0.500000 4.875000 0.250000 +v 0.500000 4.875000 -1.500000 +v -0.500000 4.875000 -1.500000 +v -0.250000 4.625000 -1.500000 +v -0.500000 4.625000 -1.500000 +v -0.250000 4.625000 0.250000 +v -0.500000 4.875000 0.250000 +v -0.500000 4.625000 0.250000 +v -0.250000 4.875000 0.250000 +v -0.250000 4.875000 -1.500000 +v 0.250000 4.875000 -0.250000 +v -0.250000 4.625000 -0.250000 +v 0.250000 4.625000 -0.250000 +v -0.250000 4.625000 -0.500000 +v 0.250000 4.875000 -0.500000 +v 0.250000 4.625000 -0.500000 +v 0.500000 9.125000 0.250000 +v 0.250000 9.375000 0.250000 +v 0.250000 9.125000 0.250000 +v -0.250000 4.875000 -0.500000 +v -0.250000 4.875000 -0.250000 +v 0.250000 9.375000 -1.500000 +v 0.500000 9.125000 -1.500000 +v 0.250000 9.125000 -1.500000 +v 0.500000 9.375000 0.250000 +v 0.500000 9.375000 -1.500000 +v -0.500000 9.375000 -1.500000 +v -0.250000 9.125000 -1.500000 +v -0.500000 9.125000 -1.500000 +v -0.250000 9.125000 0.250000 +v -0.500000 9.375000 0.250000 +v -0.500000 9.125000 0.250000 +v -0.250000 9.375000 0.250000 +v -0.250000 9.375000 -1.500000 +v 0.250000 9.375000 -0.250000 +v -0.250000 9.125000 -0.250000 +v 0.250000 9.125000 -0.250000 +v -0.250000 9.125000 -0.500000 +v 0.250000 9.375000 -0.500000 +v 0.250000 9.125000 -0.500000 +v -0.250000 9.375000 -0.500000 +v -0.250000 9.375000 -0.250000 +v -0.125000 9.187500 -1.437500 +v 0.125000 9.187500 -1.562500 +v 0.125000 9.187500 -1.437500 +v -0.125000 9.312500 -1.562500 +v 0.125000 9.312500 -1.437500 +v 0.125000 9.312500 -1.562500 +v -0.125000 9.187500 -1.562500 +v -0.125000 9.312500 -1.437500 +v -0.125000 8.312500 -1.437500 +v 0.125000 8.187500 -1.437500 +v 0.125000 8.312500 -1.437500 +v -0.125000 8.187500 -1.562500 +v 0.125000 8.312500 -1.562500 +v 0.125000 8.187500 -1.562500 +v -0.125000 8.312500 -1.562500 +v -0.125000 8.187500 -1.437500 +v -0.125000 7.187500 -1.437500 +v 0.125000 7.187500 -1.562500 +v 0.125000 7.187500 -1.437500 +v -0.125000 7.312500 -1.562500 +v 0.125000 7.312500 -1.437500 +v 0.125000 7.312500 -1.562500 +v -0.125000 4.312500 -1.437500 +v 0.125000 4.187500 -1.437500 +v 0.125000 4.312500 -1.437500 +v -0.125000 4.187500 -1.562500 +v 0.125000 4.312500 -1.562500 +v 0.125000 4.187500 -1.562500 +v -0.125000 3.187500 -1.562500 +v 0.125000 3.312500 -1.562500 +v 0.125000 3.187500 -1.562500 +v -0.125000 3.312500 -1.437500 +v 0.125000 3.187500 -1.437500 +v 0.125000 3.312500 -1.437500 +v -0.125000 3.187500 -1.437500 +v -0.125000 3.312500 -1.562500 +v -0.125000 7.187500 -1.562500 +v -0.125000 7.312500 -1.437500 +v -0.125000 6.312500 -1.437500 +v 0.125000 6.187500 -1.437500 +v 0.125000 6.312500 -1.437500 +v -0.125000 6.187500 -1.562500 +v 0.125000 6.312500 -1.562500 +v 0.125000 6.187500 -1.562500 +v -0.125000 6.312500 -1.562500 +v -0.125000 6.187500 -1.437500 +v -0.125000 5.187500 -1.437500 +v 0.125000 5.187500 -1.562500 +v 0.125000 5.187500 -1.437500 +v -0.125000 5.312500 -1.562500 +v 0.125000 5.312500 -1.437500 +v 0.125000 5.312500 -1.562500 +v -0.125000 5.187500 -1.562500 +v -0.125000 5.312500 -1.437500 +v -0.125000 4.312500 -1.562500 +v -0.125000 4.187500 -1.437500 +v 0.250000 4.875000 -0.875000 +v 0.250000 5.625000 -1.375000 +v 0.250000 4.875000 -0.625000 +v -0.250000 5.625000 -1.375000 +v -0.250000 4.875000 -0.875000 +v -0.250000 4.875000 -0.625000 +v -0.250000 8.625000 -1.375000 +v -0.250000 9.125000 -0.625000 +v -0.250000 9.125000 -0.875000 +v 0.250000 9.125000 -0.625000 +v 0.250000 8.625000 -1.375000 +v 0.250000 9.125000 -0.875000 +v -0.250000 4.125000 -1.375000 +v -0.250000 4.625000 -0.625000 +v -0.250000 4.625000 -0.875000 +v 0.250000 4.625000 -0.625000 +v 0.250000 4.125000 -1.375000 +v 0.250000 4.625000 -0.875000 +v 0.250000 5.625000 -1.375000 +v 0.250000 4.875000 -0.875000 +v 0.250000 4.875000 -0.625000 +v -0.250000 4.875000 -0.875000 +v -0.250000 5.625000 -1.375000 +v -0.250000 4.875000 -0.625000 +v -0.250000 9.125000 -0.625000 +v -0.250000 8.625000 -1.375000 +v -0.250000 9.125000 -0.875000 +v 0.250000 8.625000 -1.375000 +v 0.250000 9.125000 -0.625000 +v 0.250000 9.125000 -0.875000 +v -0.250000 4.625000 -0.625000 +v -0.250000 4.125000 -1.375000 +v -0.250000 4.625000 -0.875000 +v 0.250000 4.125000 -1.375000 +v 0.250000 4.625000 -0.625000 +v 0.250000 4.625000 -0.875000 +v 0.250000 5.375000 -1.375000 +v -0.250000 5.375000 -1.375000 +v -0.250000 8.375000 -1.375000 +v 0.250000 8.375000 -1.375000 +v -0.250000 3.875000 -1.375000 +v 0.250000 3.875000 -1.375000 +v 0.250000 5.375000 -1.375000 +v -0.250000 5.375000 -1.375000 +v -0.250000 8.375000 -1.375000 +v 0.250000 8.375000 -1.375000 +v -0.250000 3.875000 -1.375000 +v 0.250000 3.875000 -1.375000 +vt 0.708333 0.227273 +vt 0.666667 0.204545 +vt 0.708333 0.204545 +vt 0.708333 0.227273 +vt 0.666667 0.204545 +vt 0.708333 0.204545 +vt 0.666667 0.886364 +vt 0.708333 0.863636 +vt 0.708333 0.886364 +vt 0.666667 0.886364 +vt 0.708333 0.863636 +vt 0.708333 0.886364 +vt 0.833333 0.227273 +vt 0.791667 0.863636 +vt 0.791667 0.227273 +vt 0.750000 0.227273 +vt 0.666667 0.863636 +vt 0.666667 0.227273 +vt 0.791667 0.227273 +vt 0.750000 0.863636 +vt 0.750000 0.227273 +vt 0.666667 0.863636 +vt 0.666667 0.227273 +vt 0.750000 0.863636 +vt 0.833333 0.227273 +vt 0.791667 0.863636 +vt 0.875000 0.022727 +vt 0.833333 -0.000000 +vt 0.875000 -0.000000 +vt 0.833333 0.204545 +vt 0.875000 0.181818 +vt 0.875000 0.204545 +vt 0.916667 0.022727 +vt 0.833333 0.181818 +vt 0.833333 0.022727 +vt 0.958333 0.022727 +vt 0.916667 0.181818 +vt 1.000000 0.022727 +vt 0.958333 0.181818 +vt 0.875000 0.022727 +vt 0.833333 -0.000000 +vt 0.875000 -0.000000 +vt 0.833333 0.204545 +vt 0.875000 0.181818 +vt 0.875000 0.204545 +vt 0.916667 0.022727 +vt 0.833333 0.181818 +vt 0.833333 0.022727 +vt 0.958333 0.022727 +vt 0.916667 0.181818 +vt 1.000000 0.022727 +vt 0.958333 0.181818 +vt 0.875000 0.250000 +vt 0.958333 0.272727 +vt 0.875000 0.272727 +vt 0.958333 0.204545 +vt 0.875000 0.227273 +vt 0.875000 0.204545 +vt 0.958333 0.181818 +vt 0.875000 0.181818 +vt 0.833333 0.204545 +vt 0.875000 0.181818 +vt 0.875000 0.204545 +vt 0.958333 0.227273 +vt 0.958333 0.250000 +vt 0.875000 0.022727 +vt 0.833333 -0.000000 +vt 0.875000 -0.000000 +vt 0.916667 0.022727 +vt 0.833333 0.181818 +vt 0.833333 0.022727 +vt 0.958333 0.022727 +vt 0.916667 0.181818 +vt 1.000000 0.022727 +vt 0.958333 0.181818 +vt 0.875000 0.022727 +vt 0.833333 -0.000000 +vt 0.875000 -0.000000 +vt 0.833333 0.204545 +vt 0.875000 0.181818 +vt 0.875000 0.204545 +vt 0.916667 0.022727 +vt 0.833333 0.181818 +vt 0.833333 0.022727 +vt 0.958333 0.022727 +vt 0.916667 0.181818 +vt 1.000000 0.022727 +vt 0.958333 0.181818 +vt 0.875000 0.250000 +vt 0.958333 0.272727 +vt 0.875000 0.272727 +vt 0.958333 0.204545 +vt 0.875000 0.227273 +vt 0.875000 0.204545 +vt 0.958333 0.181818 +vt 0.875000 0.181818 +vt 0.958333 0.227273 +vt 0.958333 0.250000 +vt 0.708333 0.159091 +vt 0.666667 0.170455 +vt 0.666667 0.159091 +vt 0.708333 0.181818 +vt 0.666667 0.193182 +vt 0.666667 0.181818 +vt 0.708333 0.170455 +vt 0.708333 0.193182 +vt 0.666667 0.204545 +vt 0.708333 0.193182 +vt 0.666667 0.204545 +vt 0.666667 0.193182 +vt 0.708333 0.170455 +vt 0.666667 0.181818 +vt 0.666667 0.170455 +vt 0.708333 0.181818 +vt 0.708333 0.159091 +vt 0.666667 0.159091 +vt 0.708333 0.159091 +vt 0.666667 0.170455 +vt 0.666667 0.159091 +vt 0.708333 0.181818 +vt 0.666667 0.193182 +vt 0.666667 0.181818 +vt 0.708333 0.193182 +vt 0.666667 0.204545 +vt 0.666667 0.193182 +vt 0.708333 0.170455 +vt 0.666667 0.181818 +vt 0.666667 0.170455 +vt 0.708333 0.170455 +vt 0.666667 0.181818 +vt 0.666667 0.170455 +vt 0.708333 0.193182 +vt 0.666667 0.204545 +vt 0.666667 0.193182 +vt 0.708333 0.159091 +vt 0.666667 0.159091 +vt 0.708333 0.181818 +vt 0.708333 0.170455 +vt 0.708333 0.193182 +vt 0.666667 0.204545 +vt 0.708333 0.193182 +vt 0.666667 0.204545 +vt 0.666667 0.193182 +vt 0.708333 0.170455 +vt 0.666667 0.181818 +vt 0.666667 0.170455 +vt 0.708333 0.181818 +vt 0.708333 0.159091 +vt 0.666667 0.159091 +vt 0.708333 0.159091 +vt 0.666667 0.170455 +vt 0.666667 0.159091 +vt 0.708333 0.181818 +vt 0.666667 0.193182 +vt 0.666667 0.181818 +vt 0.708333 0.170455 +vt 0.708333 0.193182 +vt 0.666667 0.204545 +vt 0.708333 0.181818 +vt 0.708333 0.159091 +vt 0.666667 0.159091 +vt 0.875000 0.272727 +vt 0.958333 0.340909 +vt 0.833333 0.272727 +vt 0.833333 0.272727 +vt 0.958333 0.318182 +vt 0.958333 0.340909 +vt 0.958333 0.318182 +vt 0.833333 0.272727 +vt 0.875000 0.272727 +vt 0.958333 0.340909 +vt 0.875000 0.272727 +vt 0.958333 0.318182 +vt 0.958333 0.318182 +vt 0.833333 0.272727 +vt 0.875000 0.272727 +vt 0.958333 0.340909 +vt 0.875000 0.272727 +vt 0.958333 0.318182 +vt 0.958333 0.340909 +vt 0.875000 0.272727 +vt 0.833333 0.272727 +vt 0.958333 0.318182 +vt 0.833333 0.272727 +vt 0.958333 0.340909 +vt 0.833333 0.272727 +vt 0.958333 0.318182 +vt 0.875000 0.272727 +vt 0.875000 0.272727 +vt 0.958333 0.340909 +vt 0.958333 0.318182 +vt 0.833333 0.272727 +vt 0.958333 0.318182 +vt 0.875000 0.272727 +vt 0.875000 0.272727 +vt 0.958333 0.340909 +vt 0.958333 0.318182 +vt 0.833333 0.863636 +vt 0.833333 0.863636 +vt 1.000000 0.181818 +vt 1.000000 0.181818 +vt 1.000000 0.181818 +vt 1.000000 0.181818 +vt 0.708333 0.204545 +vt 0.708333 0.204545 +vt 0.708333 0.204545 +vt 0.708333 0.204545 +vt 0.708333 0.204545 +vt 0.708333 0.204545 +vt 0.708333 0.204545 +vt 0.958333 0.318182 +vt 0.875000 0.272727 +vt 0.958333 0.340909 +vt 0.833333 0.272727 +vt 0.958333 0.340909 +vt 0.833333 0.272727 +vt 0.958333 0.318182 +vt 0.875000 0.272727 +vt 0.958333 0.340909 +vt 0.833333 0.272727 +vt 0.958333 0.340909 +vt 0.833333 0.272727 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.0000 1.0000 +s off +f 3668/5264/436 3669/5265/436 3670/5266/436 +f 3671/5267/436 3672/5268/436 3673/5269/436 +f 3674/5270/437 3675/5271/437 3676/5272/437 +f 3677/5273/437 3678/5274/437 3679/5275/437 +f 3680/5276/438 3674/5277/438 3669/5278/438 +f 3670/5279/439 3675/5271/439 3668/5264/439 +f 3671/5267/440 3681/5280/440 3682/5281/440 +f 3672/5282/441 3679/5283/441 3673/5284/441 +f 3668/5264/440 3683/5285/440 3680/5286/440 +f 3669/5278/441 3676/5287/441 3670/5279/441 +f 3682/5288/438 3677/5289/438 3672/5282/438 +f 3673/5284/439 3678/5274/439 3671/5267/439 +f 3684/5290/440 3685/5291/440 3686/5292/440 +f 3687/5293/441 3688/5294/441 3689/5295/441 +f 3686/5296/439 3688/5294/439 3684/5290/439 +f 3684/5290/437 3690/5297/437 3691/5298/437 +f 3685/5299/436 3689/5300/436 3686/5296/436 +f 3691/5301/438 3687/5302/438 3685/5299/438 +f 3692/5303/440 3693/5304/440 3694/5305/440 +f 3695/5306/441 3696/5307/441 3697/5308/441 +f 3694/5309/439 3696/5307/439 3692/5303/439 +f 3692/5303/437 3698/5310/437 3699/5311/437 +f 3693/5312/436 3697/5313/436 3694/5309/436 +f 3699/5314/438 3695/5315/438 3693/5312/438 +f 3700/5316/441 3701/5317/441 3702/5318/441 +f 3703/5319/440 3704/5320/440 3705/5321/440 +f 3701/5322/436 3705/5321/436 3702/5323/436 +f 3706/5324/441 3707/5325/441 3708/5326/441 +f 3700/5316/437 3709/5327/437 3710/5328/437 +f 3711/5329/440 3712/5330/440 3713/5331/440 +f 3713/5332/439 3707/5325/439 3711/5329/439 +f 3711/5329/437 3714/5333/437 3715/5334/437 +f 3712/5335/436 3708/5336/436 3713/5332/436 +f 3715/5337/438 3706/5338/438 3712/5335/438 +f 3716/5339/440 3717/5340/440 3718/5341/440 +f 3719/5342/441 3720/5343/441 3721/5344/441 +f 3718/5345/439 3720/5343/439 3716/5339/439 +f 3716/5339/437 3722/5346/437 3723/5347/437 +f 3717/5348/436 3721/5349/436 3718/5345/436 +f 3723/5350/438 3719/5351/438 3717/5348/438 +f 3724/5352/441 3725/5353/441 3726/5354/441 +f 3727/5355/440 3728/5356/440 3729/5357/440 +f 3725/5358/436 3729/5357/436 3726/5359/436 +f 3724/5352/437 3730/5360/437 3731/5361/437 +f 3732/5362/436 3733/5363/436 3734/5364/436 +f 3735/5365/437 3736/5366/437 3737/5367/437 +f 3738/5368/440 3737/5367/440 3733/5363/440 +f 3739/5369/441 3734/5370/441 3736/5366/441 +f 3740/5371/441 3741/5372/441 3742/5373/441 +f 3743/5374/440 3744/5375/440 3745/5376/440 +f 3746/5377/437 3742/5373/437 3744/5375/437 +f 3747/5378/436 3745/5376/436 3741/5379/436 +f 3748/5380/436 3749/5381/436 3750/5382/436 +f 3751/5383/437 3752/5384/437 3753/5385/437 +f 3754/5386/441 3755/5387/441 3756/5388/441 +f 3757/5389/440 3758/5390/440 3759/5391/440 +f 3760/5392/440 3761/5393/440 3762/5394/440 +f 3763/5395/441 3764/5396/441 3765/5397/441 +f 3766/5398/436 3762/5394/436 3764/5399/436 +f 3767/5400/437 3765/5397/437 3761/5393/437 +f 3768/5401/440 3753/5385/440 3749/5381/440 +f 3769/5402/441 3750/5403/441 3752/5384/441 +f 3770/5404/441 3771/5405/441 3772/5406/441 +f 3773/5407/440 3774/5408/440 3775/5409/440 +f 3776/5410/437 3772/5406/437 3774/5408/437 +f 3777/5411/436 3775/5409/436 3771/5412/436 +f 3778/5413/436 3779/5414/436 3780/5415/436 +f 3781/5416/437 3782/5417/437 3783/5418/437 +f 3784/5419/440 3783/5418/440 3779/5414/440 +f 3785/5420/441 3780/5421/441 3782/5417/441 +f 3786/5422/437 3756/5388/437 3758/5390/437 +f 3787/5423/436 3759/5391/436 3755/5424/436 +f 3788/5425/438 3789/5426/438 3790/5427/438 +f 3791/5428/439 3792/5429/439 3793/5430/439 +f 3794/5431/439 3795/5432/439 3796/5433/439 +f 3797/5434/438 3798/5435/438 3799/5436/438 +f 3800/5437/439 3801/5438/439 3802/5439/439 +f 3803/5440/438 3804/5441/438 3805/5442/438 +f 3806/5443/439 3807/5444/439 3808/5445/439 +f 3809/5446/438 3810/5447/438 3811/5448/438 +f 3812/5449/438 3813/5450/438 3814/5451/438 +f 3815/5452/439 3816/5453/439 3817/5454/439 +f 3818/5455/438 3819/5456/438 3820/5457/438 +f 3821/5458/439 3822/5459/439 3823/5460/439 +f 3668/5264/436 3680/5286/436 3669/5265/436 +f 3671/5267/436 3682/5281/436 3672/5268/436 +f 3674/5270/437 3683/5285/437 3675/5271/437 +f 3677/5273/437 3681/5280/437 3678/5274/437 +f 3680/5276/438 3683/5461/438 3674/5277/438 +f 3670/5279/439 3676/5287/439 3675/5271/439 +f 3671/5267/440 3678/5274/440 3681/5280/440 +f 3672/5282/441 3677/5289/441 3679/5283/441 +f 3668/5264/440 3675/5271/440 3683/5285/440 +f 3669/5278/441 3674/5277/441 3676/5287/441 +f 3682/5288/438 3681/5462/438 3677/5289/438 +f 3673/5284/439 3679/5283/439 3678/5274/439 +f 3684/5290/440 3691/5298/440 3685/5291/440 +f 3687/5293/441 3690/5297/441 3688/5294/441 +f 3686/5296/439 3689/5300/439 3688/5294/439 +f 3684/5290/437 3688/5294/437 3690/5297/437 +f 3685/5299/436 3687/5302/436 3689/5300/436 +f 3691/5301/438 3690/5463/438 3687/5302/438 +f 3692/5303/440 3699/5311/440 3693/5304/440 +f 3695/5306/441 3698/5310/441 3696/5307/441 +f 3694/5309/439 3697/5313/439 3696/5307/439 +f 3692/5303/437 3696/5307/437 3698/5310/437 +f 3693/5312/436 3695/5315/436 3697/5313/436 +f 3699/5314/438 3698/5464/438 3695/5315/438 +f 3700/5316/441 3710/5328/441 3701/5317/441 +f 3703/5319/440 3709/5327/440 3704/5320/440 +f 3701/5322/436 3703/5319/436 3705/5321/436 +f 3706/5324/441 3714/5333/441 3707/5325/441 +f 3700/5316/437 3704/5320/437 3709/5327/437 +f 3711/5329/440 3715/5334/440 3712/5330/440 +f 3713/5332/439 3708/5336/439 3707/5325/439 +f 3711/5329/437 3707/5325/437 3714/5333/437 +f 3712/5335/436 3706/5338/436 3708/5336/436 +f 3715/5337/438 3714/5465/438 3706/5338/438 +f 3716/5339/440 3723/5347/440 3717/5340/440 +f 3719/5342/441 3722/5346/441 3720/5343/441 +f 3718/5345/439 3721/5349/439 3720/5343/439 +f 3716/5339/437 3720/5343/437 3722/5346/437 +f 3717/5348/436 3719/5351/436 3721/5349/436 +f 3723/5350/438 3722/5466/438 3719/5351/438 +f 3724/5352/441 3731/5361/441 3725/5353/441 +f 3727/5355/440 3730/5360/440 3728/5356/440 +f 3725/5358/436 3727/5355/436 3729/5357/436 +f 3724/5352/437 3728/5356/437 3730/5360/437 +f 3732/5362/436 3738/5368/436 3733/5363/436 +f 3735/5365/437 3739/5369/437 3736/5366/437 +f 3738/5368/440 3735/5365/440 3737/5367/440 +f 3739/5369/441 3732/5467/441 3734/5370/441 +f 3740/5371/441 3747/5468/441 3741/5372/441 +f 3743/5374/440 3746/5377/440 3744/5375/440 +f 3746/5377/437 3740/5371/437 3742/5373/437 +f 3747/5378/436 3743/5374/436 3745/5376/436 +f 3748/5380/436 3768/5401/436 3749/5381/436 +f 3751/5383/437 3769/5402/437 3752/5384/437 +f 3754/5386/441 3787/5469/441 3755/5387/441 +f 3757/5389/440 3786/5422/440 3758/5390/440 +f 3760/5392/440 3767/5400/440 3761/5393/440 +f 3763/5395/441 3766/5470/441 3764/5396/441 +f 3766/5398/436 3760/5392/436 3762/5394/436 +f 3767/5400/437 3763/5395/437 3765/5397/437 +f 3768/5401/440 3751/5383/440 3753/5385/440 +f 3769/5402/441 3748/5471/441 3750/5403/441 +f 3770/5404/441 3777/5472/441 3771/5405/441 +f 3773/5407/440 3776/5410/440 3774/5408/440 +f 3776/5410/437 3770/5404/437 3772/5406/437 +f 3777/5411/436 3773/5407/436 3775/5409/436 +f 3778/5413/436 3784/5419/436 3779/5414/436 +f 3781/5416/437 3785/5420/437 3782/5417/437 +f 3784/5419/440 3781/5416/440 3783/5418/440 +f 3785/5420/441 3778/5473/441 3780/5421/441 +f 3786/5422/437 3754/5386/437 3756/5388/437 +f 3787/5423/436 3757/5389/436 3759/5391/436 +f 3788/5425/438 3824/5474/438 3789/5426/438 +f 3791/5428/439 3825/5475/439 3792/5429/439 +f 3794/5431/439 3826/5476/439 3795/5432/439 +f 3797/5434/438 3827/5477/438 3798/5435/438 +f 3800/5437/439 3828/5478/439 3801/5438/439 +f 3803/5440/438 3829/5479/438 3804/5441/438 +f 3806/5443/439 3830/5480/439 3807/5444/439 +f 3809/5446/438 3831/5481/438 3810/5447/438 +f 3812/5449/438 3832/5482/438 3813/5450/438 +f 3815/5452/439 3833/5483/439 3816/5453/439 +f 3818/5455/438 3834/5484/438 3819/5456/438 +f 3821/5458/439 3835/5485/439 3822/5459/439 +o ABM_Rope +v 0.000000 10.375000 0.375000 +v 0.000000 10.375000 0.000000 +v 0.000000 10.500000 0.000000 +v 0.000000 10.250000 0.375000 +v 0.000000 10.375000 1.062500 +v 0.000000 10.250000 1.062500 +v 0.000000 10.375000 1.437500 +v 0.000000 10.500000 1.437500 +v 0.000000 10.375000 0.000000 +v 0.000000 10.375000 0.375000 +v 0.000000 10.500000 0.000000 +v 0.000000 10.375000 1.062500 +v 0.000000 10.250000 0.375000 +v 0.000000 10.250000 1.062500 +v 0.000000 10.375000 1.437500 +v 0.000000 10.500000 1.437500 +vt 0.593750 0.920455 +vt 0.656250 0.909091 +vt 0.656250 0.920455 +vt 0.593750 0.909091 +vt 0.479167 0.920455 +vt 0.479167 0.909091 +vt 0.416667 0.909091 +vt 0.416667 0.920455 +vt 0.656250 0.909091 +vt 0.593750 0.920455 +vt 0.656250 0.920455 +vt 0.479167 0.920455 +vt 0.593750 0.909091 +vt 0.479167 0.909091 +vt 0.416667 0.909091 +vt 0.416667 0.920455 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +s off +f 3836/5486/442 3837/5487/442 3838/5488/442 +f 3839/5489/442 3840/5490/442 3841/5491/442 +f 3842/5492/442 3840/5490/442 3843/5493/442 +f 3844/5494/443 3845/5495/443 3846/5496/443 +f 3847/5497/443 3848/5498/443 3849/5499/443 +f 3850/5500/443 3847/5497/443 3849/5499/443 +f 3836/5486/442 3839/5489/442 3837/5487/442 +f 3839/5489/442 3836/5486/442 3840/5490/442 +f 3842/5492/442 3841/5491/442 3840/5490/442 +f 3844/5494/443 3848/5498/443 3845/5495/443 +f 3847/5497/443 3845/5495/443 3848/5498/443 +f 3850/5500/443 3851/5501/443 3847/5497/443 +o ABM_Pivot +v 0.187500 3.750000 -1.437500 +v 0.187500 2.750000 -1.562500 +v 0.187500 2.750000 -1.437500 +v 0.312500 3.750000 -1.562500 +v 0.312500 2.750000 -1.437500 +v 0.312500 2.750000 -1.562500 +v 0.375000 2.750000 -1.375000 +v 0.125000 2.750000 -1.625000 +v 0.125000 2.750000 -1.375000 +v -0.125000 2.750000 -1.375000 +v -0.375000 2.750000 -1.625000 +v -0.375000 2.750000 -1.375000 +v -0.125000 1.250000 -1.625000 +v -0.125000 1.250000 -1.375000 +v -0.375000 1.250000 -1.375000 +v -0.375000 1.250000 -1.625000 +v 0.375000 1.250000 -1.625000 +v 0.375000 1.250000 -1.375000 +v 0.125000 1.250000 -1.375000 +v 0.125000 1.250000 -1.625000 +v -0.125000 2.750000 -1.625000 +v 0.375000 2.750000 -1.625000 +v 0.187500 3.750000 -1.562500 +v 0.312500 3.750000 -1.437500 +v -0.312500 3.750000 -1.437500 +v -0.312500 2.750000 -1.562500 +v -0.312500 2.750000 -1.437500 +v -0.187500 3.750000 -1.562500 +v -0.187500 2.750000 -1.437500 +v -0.187500 2.750000 -1.562500 +v -0.312500 3.750000 -1.562500 +v -0.187500 3.750000 -1.437500 +v -0.125000 2.187500 -1.562500 +v 0.125000 2.312500 -1.562500 +v 0.125000 2.187500 -1.562500 +v -0.125000 2.312500 -1.437500 +v 0.125000 2.187500 -1.437500 +v 0.125000 2.312500 -1.437500 +v -0.125000 2.187500 -1.437500 +v -0.125000 2.312500 -1.562500 +vt 0.750000 0.227273 +vt 0.729167 0.136364 +vt 0.750000 0.136364 +vt 0.791667 0.227273 +vt 0.770833 0.136364 +vt 0.791667 0.136364 +vt 0.666667 0.159091 +vt 0.708333 0.136364 +vt 0.708333 0.159091 +vt 0.666667 0.159091 +vt 0.708333 0.136364 +vt 0.708333 0.159091 +vt 0.833333 -0.000000 +vt 0.791667 0.136364 +vt 0.791667 -0.000000 +vt 0.750000 -0.000000 +vt 0.708333 -0.000000 +vt 0.833333 -0.000000 +vt 0.791667 0.136364 +vt 0.791667 -0.000000 +vt 0.750000 -0.000000 +vt 0.708333 -0.000000 +vt 0.666667 0.136364 +vt 0.666667 -0.000000 +vt 0.750000 0.136364 +vt 0.666667 0.136364 +vt 0.666667 -0.000000 +vt 0.750000 0.136364 +vt 0.729167 0.227273 +vt 0.708333 0.136364 +vt 0.770833 0.227273 +vt 0.750000 0.227273 +vt 0.729167 0.136364 +vt 0.750000 0.136364 +vt 0.791667 0.227273 +vt 0.770833 0.136364 +vt 0.791667 0.136364 +vt 0.729167 0.227273 +vt 0.708333 0.136364 +vt 0.770833 0.227273 +vt 0.708333 0.170455 +vt 0.666667 0.181818 +vt 0.666667 0.170455 +vt 0.708333 0.193182 +vt 0.666667 0.204545 +vt 0.666667 0.193182 +vt 0.708333 0.159091 +vt 0.666667 0.159091 +vt 0.708333 0.181818 +vt 0.833333 0.136364 +vt 0.833333 0.136364 +vt 0.708333 0.227273 +vt 0.708333 0.227273 +vt 0.708333 0.204545 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +s off +f 3852/5502/444 3853/5503/444 3854/5504/444 +f 3855/5505/445 3856/5506/445 3857/5507/445 +f 3858/5508/446 3859/5509/446 3860/5510/446 +f 3861/5511/446 3862/5512/446 3863/5513/446 +f 3864/5514/445 3861/5515/445 3865/5516/445 +f 3866/5517/444 3862/5512/444 3867/5518/444 +f 3868/5519/445 3858/5520/445 3869/5521/445 +f 3870/5522/444 3859/5509/444 3871/5523/444 +f 3867/5518/447 3872/5524/447 3864/5525/447 +f 3865/5516/448 3863/5526/448 3866/5517/448 +f 3871/5523/447 3873/5527/447 3868/5528/447 +f 3869/5521/448 3860/5529/448 3870/5522/448 +f 3874/5530/447 3857/5531/447 3853/5503/447 +f 3875/5532/448 3854/5504/448 3856/5506/448 +f 3876/5533/444 3877/5534/444 3878/5535/444 +f 3879/5536/445 3880/5537/445 3881/5538/445 +f 3882/5539/447 3881/5540/447 3877/5534/447 +f 3883/5541/448 3878/5535/448 3880/5537/448 +f 3884/5542/447 3885/5543/447 3886/5544/447 +f 3887/5545/448 3888/5546/448 3889/5547/448 +f 3890/5548/449 3886/5544/449 3888/5549/449 +f 3891/5550/446 3889/5547/446 3885/5543/446 +f 3852/5502/444 3874/5530/444 3853/5503/444 +f 3855/5505/445 3875/5532/445 3856/5506/445 +f 3858/5508/446 3873/5527/446 3859/5509/446 +f 3861/5511/446 3872/5524/446 3862/5512/446 +f 3864/5514/445 3872/5551/445 3861/5515/445 +f 3866/5517/444 3863/5526/444 3862/5512/444 +f 3868/5519/445 3873/5552/445 3858/5520/445 +f 3870/5522/444 3860/5529/444 3859/5509/444 +f 3867/5518/447 3862/5512/447 3872/5524/447 +f 3865/5516/448 3861/5515/448 3863/5526/448 +f 3871/5523/447 3859/5509/447 3873/5527/447 +f 3869/5521/448 3858/5520/448 3860/5529/448 +f 3874/5530/447 3855/5553/447 3857/5531/447 +f 3875/5532/448 3852/5502/448 3854/5504/448 +f 3876/5533/444 3882/5539/444 3877/5534/444 +f 3879/5536/445 3883/5541/445 3880/5537/445 +f 3882/5539/447 3879/5554/447 3881/5540/447 +f 3883/5541/448 3876/5533/448 3878/5535/448 +f 3884/5542/447 3891/5550/447 3885/5543/447 +f 3887/5545/448 3890/5555/448 3888/5546/448 +f 3890/5548/449 3884/5542/449 3886/5544/449 +f 3891/5550/446 3887/5545/446 3889/5547/446 diff --git a/src/main/resources/assets/hbm/models/weapons/liberator.obj b/src/main/resources/assets/hbm/models/weapons/liberator.obj index c78b00ba7..c98168d16 100644 --- a/src/main/resources/assets/hbm/models/weapons/liberator.obj +++ b/src/main/resources/assets/hbm/models/weapons/liberator.obj @@ -1,6 +1,938 @@ # Blender v2.79 (sub 0) OBJ File: 'liberator.blend' # www.blender.org -o Cube_Cube.001 +o Shell4 +v -0.250000 0.437500 0.000000 +v -0.343750 0.412380 0.000000 +v -0.412380 0.343750 0.000000 +v -0.437500 0.250000 0.000000 +v -0.412380 0.156250 0.000000 +v -0.343750 0.087620 0.000000 +v -0.250000 0.062500 0.000000 +v -0.156250 0.087620 0.000000 +v -0.087620 0.156250 0.000000 +v -0.062500 0.250000 0.000000 +v -0.087620 0.343750 0.000000 +v -0.156250 0.412380 0.000000 +v -0.250000 0.437500 1.000000 +v -0.343750 0.412380 1.000000 +v -0.412380 0.343750 1.000000 +v -0.437500 0.250000 1.000000 +v -0.412380 0.156250 1.000000 +v -0.343750 0.087620 1.000000 +v -0.250000 0.062500 1.000000 +v -0.156250 0.087620 1.000000 +v -0.087620 0.156250 1.000000 +v -0.062500 0.250000 1.000000 +v -0.087620 0.343750 1.000000 +v -0.156250 0.412380 1.000000 +v -0.250000 0.460938 0.000000 +v -0.355469 0.432677 0.000000 +v -0.432677 0.355469 0.000000 +v -0.460938 0.250000 0.000000 +v -0.432677 0.144531 0.000000 +v -0.355469 0.067323 0.000000 +v -0.250000 0.039062 0.000000 +v -0.144531 0.067322 0.000000 +v -0.067323 0.144531 0.000000 +v -0.039062 0.250000 0.000000 +v -0.067323 0.355469 0.000000 +v -0.144531 0.432677 0.000000 +v -0.250000 0.460938 -0.062500 +v -0.355469 0.432677 -0.062500 +v -0.432677 0.355469 -0.062500 +v -0.460938 0.250000 -0.062500 +v -0.432677 0.144531 -0.062500 +v -0.355469 0.067323 -0.062500 +v -0.250000 0.039062 -0.062500 +v -0.144531 0.067322 -0.062500 +v -0.067323 0.144531 -0.062500 +v -0.039062 0.250000 -0.062500 +v -0.067323 0.355469 -0.062500 +v -0.144531 0.432677 -0.062500 +vt 0.185185 0.500000 +vt 0.189815 0.488636 +vt 0.189815 0.500000 +vt 0.185185 0.431818 +vt 0.189815 0.443182 +vt 0.185185 0.443182 +vt 0.185185 0.409091 +vt 0.189815 0.397727 +vt 0.189815 0.409091 +vt 0.189815 0.511364 +vt 0.185185 0.511364 +vt 0.189815 0.454545 +vt 0.185185 0.454545 +vt 0.185185 0.465909 +vt 0.189815 0.477273 +vt 0.185185 0.477273 +vt 0.189815 0.420455 +vt 0.185185 0.420455 +vt 0.189815 0.522727 +vt 0.185185 0.522727 +vt 0.189815 0.465909 +vt 0.185185 0.488636 +vt 0.189815 0.431818 +vt 0.185185 0.534091 +vt 0.189815 0.534091 +vt 0.210648 0.437320 +vt 0.196742 0.427467 +vt 0.210648 0.397907 +vt 0.196303 0.446021 +vt 0.220365 0.446021 +vt 0.208334 0.471595 +vt 0.185185 0.397727 +vt 0.224554 0.427467 +vt 0.218677 0.434680 +vt 0.202619 0.434680 +vt 0.194591 0.417614 +vt 0.196742 0.407760 +vt 0.202619 0.400547 +vt 0.218677 0.400547 +vt 0.224554 0.407760 +vt 0.226705 0.417614 +vt 0.201388 0.469311 +vt 0.196303 0.463070 +vt 0.194441 0.454545 +vt 0.201388 0.439780 +vt 0.208334 0.437496 +vt 0.215280 0.439780 +vt 0.222226 0.454545 +vt 0.220365 0.463070 +vt 0.215280 0.469311 +vt 0.111111 0.488636 +vt 0.111111 0.431818 +vt 0.111111 0.397727 +vt 0.111111 0.500000 +vt 0.111111 0.443182 +vt 0.111111 0.465909 +vt 0.111111 0.409091 +vt 0.111111 0.511364 +vt 0.111111 0.454545 +vt 0.111111 0.477273 +vt 0.111111 0.420455 +vt 0.111111 0.522727 +vt 0.194444 0.454545 +vt 0.194444 0.477273 +vt 0.194444 0.420455 +vt 0.194444 0.522727 +vt 0.194444 0.465909 +vt 0.194444 0.488636 +vt 0.194444 0.431818 +vt 0.194444 0.534091 +vt 0.194444 0.500000 +vt 0.194444 0.443182 +vt 0.194444 0.409091 +vt 0.194444 0.511364 +vt 0.111111 0.534091 +vt 0.194444 0.397727 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.0000 -1.0000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +s off +f 4/1/1 27/2/1 28/3/1 +f 10/4/1 35/5/1 11/6/1 +f 8/7/1 31/8/1 32/9/1 +f 4/1/1 29/10/1 5/11/1 +f 11/6/1 36/12/1 12/13/1 +f 1/14/1 26/15/1 2/16/1 +f 8/7/1 33/17/1 9/18/1 +f 5/11/1 30/19/1 6/20/1 +f 1/14/1 36/12/1 25/21/1 +f 2/16/1 27/2/1 3/22/1 +f 10/4/1 33/17/1 34/23/1 +f 7/24/1 30/19/1 31/25/1 +f 37/26/2 47/27/2 43/28/2 +f 17/29/1 21/30/1 13/31/1 +f 4/1/1 3/22/1 27/2/1 +f 10/4/1 34/23/1 35/5/1 +f 8/7/1 7/32/1 31/8/1 +f 4/1/1 28/3/1 29/10/1 +f 11/6/1 35/5/1 36/12/1 +f 1/14/1 25/21/1 26/15/1 +f 8/7/1 32/9/1 33/17/1 +f 5/11/1 29/10/1 30/19/1 +f 1/14/1 12/13/1 36/12/1 +f 2/16/1 26/15/1 27/2/1 +f 10/4/1 9/18/1 33/17/1 +f 7/24/1 6/20/1 30/19/1 +f 39/33/2 38/34/2 37/26/2 +f 37/26/2 48/35/2 47/27/2 +f 47/27/2 46/36/2 43/28/2 +f 46/36/2 45/37/2 43/28/2 +f 45/37/2 44/38/2 43/28/2 +f 43/28/2 42/39/2 41/40/2 +f 41/40/2 40/41/2 43/28/2 +f 40/41/2 39/33/2 43/28/2 +f 39/33/2 37/26/2 43/28/2 +f 13/31/1 14/42/1 15/43/1 +f 15/43/1 16/44/1 17/29/1 +f 17/29/1 18/45/1 21/30/1 +f 18/45/1 19/46/1 21/30/1 +f 19/46/1 20/47/1 21/30/1 +f 21/30/1 22/48/1 23/49/1 +f 23/49/1 24/50/1 13/31/1 +f 13/31/1 15/43/1 17/29/1 +f 21/30/1 23/49/1 13/31/1 +s 1 +f 4/1/3 15/51/4 3/22/4 +f 11/6/5 22/52/6 10/4/6 +f 8/7/7 19/53/8 7/32/8 +f 5/11/9 16/54/3 4/1/3 +f 12/13/10 23/55/5 11/6/5 +f 2/16/11 13/56/12 1/14/12 +f 9/18/13 20/57/7 8/7/7 +f 6/20/14 17/58/9 5/11/9 +f 1/14/12 24/59/10 12/13/10 +f 3/22/4 14/60/11 2/16/11 +f 10/4/6 21/61/13 9/18/13 +f 7/24/8 18/62/14 6/20/14 +f 35/5/5 48/63/10 36/12/10 +f 25/21/12 38/64/11 26/15/11 +f 32/9/7 45/65/13 33/17/13 +f 29/10/9 42/66/14 30/19/14 +f 36/12/10 37/67/12 25/21/12 +f 26/15/11 39/68/4 27/2/4 +f 33/17/13 46/69/6 34/23/6 +f 30/19/14 43/70/8 31/25/8 +f 27/2/4 40/71/3 28/3/3 +f 34/23/6 47/72/5 35/5/5 +f 31/8/8 44/73/7 32/9/7 +f 28/3/3 41/74/9 29/10/9 +f 4/1/3 16/54/3 15/51/4 +f 11/6/5 23/55/5 22/52/6 +f 8/7/7 20/57/7 19/53/8 +f 5/11/9 17/58/9 16/54/3 +f 12/13/10 24/59/10 23/55/5 +f 2/16/11 14/60/11 13/56/12 +f 9/18/13 21/61/13 20/57/7 +f 6/20/14 18/62/14 17/58/9 +f 1/14/12 13/56/12 24/59/10 +f 3/22/4 15/51/4 14/60/11 +f 10/4/6 22/52/6 21/61/13 +f 7/24/8 19/75/8 18/62/14 +f 35/5/5 47/72/5 48/63/10 +f 25/21/12 37/67/12 38/64/11 +f 32/9/7 44/73/7 45/65/13 +f 29/10/9 41/74/9 42/66/14 +f 36/12/10 48/63/10 37/67/12 +f 26/15/11 38/64/11 39/68/4 +f 33/17/13 45/65/13 46/69/6 +f 30/19/14 42/66/14 43/70/8 +f 27/2/4 39/68/4 40/71/3 +f 34/23/6 46/69/6 47/72/5 +f 31/8/8 43/76/8 44/73/7 +f 28/3/3 40/71/3 41/74/9 +o Shell2 +v -0.250000 0.937500 0.000000 +v -0.343750 0.912380 0.000000 +v -0.412380 0.843750 0.000000 +v -0.437500 0.750000 0.000000 +v -0.412380 0.656250 0.000000 +v -0.343750 0.587620 0.000000 +v -0.250000 0.562500 0.000000 +v -0.156250 0.587620 0.000000 +v -0.087620 0.656250 0.000000 +v -0.062500 0.750000 0.000000 +v -0.087620 0.843750 0.000000 +v -0.156250 0.912380 0.000000 +v -0.250000 0.937500 1.000000 +v -0.343750 0.912380 1.000000 +v -0.412380 0.843750 1.000000 +v -0.437500 0.750000 1.000000 +v -0.412380 0.656250 1.000000 +v -0.343750 0.587620 1.000000 +v -0.250000 0.562500 1.000000 +v -0.156250 0.587620 1.000000 +v -0.087620 0.656250 1.000000 +v -0.062500 0.750000 1.000000 +v -0.087620 0.843750 1.000000 +v -0.156250 0.912380 1.000000 +v -0.250000 0.960938 0.000000 +v -0.355469 0.932677 0.000000 +v -0.432677 0.855469 0.000000 +v -0.460938 0.750000 0.000000 +v -0.432677 0.644531 0.000000 +v -0.355469 0.567323 0.000000 +v -0.250000 0.539062 0.000000 +v -0.144531 0.567322 0.000000 +v -0.067323 0.644531 0.000000 +v -0.039062 0.750000 0.000000 +v -0.067323 0.855469 0.000000 +v -0.144531 0.932677 0.000000 +v -0.250000 0.960938 -0.062500 +v -0.355469 0.932677 -0.062500 +v -0.432677 0.855469 -0.062500 +v -0.460938 0.750000 -0.062500 +v -0.432677 0.644531 -0.062500 +v -0.355469 0.567323 -0.062500 +v -0.250000 0.539062 -0.062500 +v -0.144531 0.567322 -0.062500 +v -0.067323 0.644531 -0.062500 +v -0.039062 0.750000 -0.062500 +v -0.067323 0.855469 -0.062500 +v -0.144531 0.932677 -0.062500 +vt 0.185185 0.500000 +vt 0.189815 0.488636 +vt 0.189815 0.500000 +vt 0.185185 0.431818 +vt 0.189815 0.443182 +vt 0.185185 0.443182 +vt 0.185185 0.409091 +vt 0.189815 0.397727 +vt 0.189815 0.409091 +vt 0.189815 0.511364 +vt 0.185185 0.511364 +vt 0.189815 0.454545 +vt 0.185185 0.454545 +vt 0.185185 0.465909 +vt 0.189815 0.477273 +vt 0.185185 0.477273 +vt 0.189815 0.420455 +vt 0.185185 0.420455 +vt 0.189815 0.522727 +vt 0.185185 0.522727 +vt 0.189815 0.465909 +vt 0.185185 0.488636 +vt 0.189815 0.431818 +vt 0.185185 0.534091 +vt 0.189815 0.534091 +vt 0.210648 0.437320 +vt 0.196742 0.427467 +vt 0.210648 0.397907 +vt 0.196303 0.446021 +vt 0.220365 0.446021 +vt 0.208334 0.471595 +vt 0.185185 0.397727 +vt 0.224554 0.427467 +vt 0.218677 0.434680 +vt 0.202619 0.434680 +vt 0.194591 0.417614 +vt 0.196742 0.407760 +vt 0.202619 0.400547 +vt 0.218677 0.400547 +vt 0.224554 0.407760 +vt 0.226705 0.417614 +vt 0.201388 0.469311 +vt 0.196303 0.463070 +vt 0.194441 0.454545 +vt 0.201388 0.439780 +vt 0.208334 0.437496 +vt 0.215280 0.439780 +vt 0.222226 0.454545 +vt 0.220365 0.463070 +vt 0.215280 0.469311 +vt 0.111111 0.488636 +vt 0.111111 0.431818 +vt 0.111111 0.397727 +vt 0.111111 0.500000 +vt 0.111111 0.443182 +vt 0.111111 0.465909 +vt 0.111111 0.409091 +vt 0.111111 0.511364 +vt 0.111111 0.454545 +vt 0.111111 0.477273 +vt 0.111111 0.420455 +vt 0.111111 0.522727 +vt 0.194444 0.454545 +vt 0.194444 0.477273 +vt 0.194444 0.420455 +vt 0.194444 0.522727 +vt 0.194444 0.465909 +vt 0.194444 0.488636 +vt 0.194444 0.431818 +vt 0.194444 0.534091 +vt 0.194444 0.500000 +vt 0.194444 0.443182 +vt 0.194444 0.409091 +vt 0.194444 0.511364 +vt 0.111111 0.534091 +vt 0.194444 0.397727 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.0000 -1.0000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +s off +f 52/77/15 75/78/15 76/79/15 +f 58/80/15 83/81/15 59/82/15 +f 56/83/15 79/84/15 80/85/15 +f 52/77/15 77/86/15 53/87/15 +f 59/82/15 84/88/15 60/89/15 +f 49/90/15 74/91/15 50/92/15 +f 56/83/15 81/93/15 57/94/15 +f 53/87/15 78/95/15 54/96/15 +f 49/90/15 84/88/15 73/97/15 +f 50/92/15 75/78/15 51/98/15 +f 58/80/15 81/93/15 82/99/15 +f 55/100/15 78/95/15 79/101/15 +f 85/102/16 95/103/16 91/104/16 +f 65/105/15 69/106/15 61/107/15 +f 52/77/15 51/98/15 75/78/15 +f 58/80/15 82/99/15 83/81/15 +f 56/83/15 55/108/15 79/84/15 +f 52/77/15 76/79/15 77/86/15 +f 59/82/15 83/81/15 84/88/15 +f 49/90/15 73/97/15 74/91/15 +f 56/83/15 80/85/15 81/93/15 +f 53/87/15 77/86/15 78/95/15 +f 49/90/15 60/89/15 84/88/15 +f 50/92/15 74/91/15 75/78/15 +f 58/80/15 57/94/15 81/93/15 +f 55/100/15 54/96/15 78/95/15 +f 87/109/16 86/110/16 85/102/16 +f 85/102/16 96/111/16 95/103/16 +f 95/103/16 94/112/16 91/104/16 +f 94/112/16 93/113/16 91/104/16 +f 93/113/16 92/114/16 91/104/16 +f 91/104/16 90/115/16 89/116/16 +f 89/116/16 88/117/16 91/104/16 +f 88/117/16 87/109/16 91/104/16 +f 87/109/16 85/102/16 91/104/16 +f 61/107/15 62/118/15 63/119/15 +f 63/119/15 64/120/15 65/105/15 +f 65/105/15 66/121/15 69/106/15 +f 66/121/15 67/122/15 69/106/15 +f 67/122/15 68/123/15 69/106/15 +f 69/106/15 70/124/15 71/125/15 +f 71/125/15 72/126/15 61/107/15 +f 61/107/15 63/119/15 65/105/15 +f 69/106/15 71/125/15 61/107/15 +s 1 +f 52/77/17 63/127/18 51/98/18 +f 59/82/19 70/128/20 58/80/20 +f 56/83/21 67/129/22 55/108/22 +f 53/87/23 64/130/17 52/77/17 +f 60/89/24 71/131/19 59/82/19 +f 50/92/25 61/132/26 49/90/26 +f 57/94/27 68/133/21 56/83/21 +f 54/96/28 65/134/23 53/87/23 +f 49/90/26 72/135/24 60/89/24 +f 51/98/18 62/136/25 50/92/25 +f 58/80/20 69/137/27 57/94/27 +f 55/100/22 66/138/28 54/96/28 +f 83/81/19 96/139/24 84/88/24 +f 73/97/26 86/140/25 74/91/25 +f 80/85/21 93/141/27 81/93/27 +f 77/86/23 90/142/28 78/95/28 +f 84/88/24 85/143/26 73/97/26 +f 74/91/25 87/144/18 75/78/18 +f 81/93/27 94/145/20 82/99/20 +f 78/95/28 91/146/22 79/101/22 +f 75/78/18 88/147/17 76/79/17 +f 82/99/20 95/148/19 83/81/19 +f 79/84/22 92/149/21 80/85/21 +f 76/79/17 89/150/23 77/86/23 +f 52/77/17 64/130/17 63/127/18 +f 59/82/19 71/131/19 70/128/20 +f 56/83/21 68/133/21 67/129/22 +f 53/87/23 65/134/23 64/130/17 +f 60/89/24 72/135/24 71/131/19 +f 50/92/25 62/136/25 61/132/26 +f 57/94/27 69/137/27 68/133/21 +f 54/96/28 66/138/28 65/134/23 +f 49/90/26 61/132/26 72/135/24 +f 51/98/18 63/127/18 62/136/25 +f 58/80/20 70/128/20 69/137/27 +f 55/100/22 67/151/22 66/138/28 +f 83/81/19 95/148/19 96/139/24 +f 73/97/26 85/143/26 86/140/25 +f 80/85/21 92/149/21 93/141/27 +f 77/86/23 89/150/23 90/142/28 +f 84/88/24 96/139/24 85/143/26 +f 74/91/25 86/140/25 87/144/18 +f 81/93/27 93/141/27 94/145/20 +f 78/95/28 90/142/28 91/146/22 +f 75/78/18 87/144/18 88/147/17 +f 82/99/20 94/145/20 95/148/19 +f 79/84/22 91/152/22 92/149/21 +f 76/79/17 88/147/17 89/150/23 +o Shell1 +v 0.250000 0.937500 0.000000 +v 0.156250 0.912380 0.000000 +v 0.087620 0.843750 0.000000 +v 0.062500 0.750000 0.000000 +v 0.087620 0.656250 0.000000 +v 0.156250 0.587620 0.000000 +v 0.250000 0.562500 0.000000 +v 0.343750 0.587620 0.000000 +v 0.412380 0.656250 0.000000 +v 0.437500 0.750000 0.000000 +v 0.412380 0.843750 0.000000 +v 0.343750 0.912380 0.000000 +v 0.250000 0.937500 1.000000 +v 0.156250 0.912380 1.000000 +v 0.087620 0.843750 1.000000 +v 0.062500 0.750000 1.000000 +v 0.087620 0.656250 1.000000 +v 0.156250 0.587620 1.000000 +v 0.250000 0.562500 1.000000 +v 0.343750 0.587620 1.000000 +v 0.412380 0.656250 1.000000 +v 0.437500 0.750000 1.000000 +v 0.412380 0.843750 1.000000 +v 0.343750 0.912380 1.000000 +v 0.250000 0.960938 0.000000 +v 0.144531 0.932677 0.000000 +v 0.067323 0.855469 0.000000 +v 0.039062 0.750000 0.000000 +v 0.067323 0.644531 0.000000 +v 0.144531 0.567323 0.000000 +v 0.250000 0.539062 0.000000 +v 0.355469 0.567322 0.000000 +v 0.432677 0.644531 0.000000 +v 0.460938 0.750000 0.000000 +v 0.432677 0.855469 0.000000 +v 0.355469 0.932677 0.000000 +v 0.250000 0.960938 -0.062500 +v 0.144531 0.932677 -0.062500 +v 0.067323 0.855469 -0.062500 +v 0.039062 0.750000 -0.062500 +v 0.067323 0.644531 -0.062500 +v 0.144531 0.567323 -0.062500 +v 0.250000 0.539062 -0.062500 +v 0.355469 0.567322 -0.062500 +v 0.432677 0.644531 -0.062500 +v 0.460938 0.750000 -0.062500 +v 0.432677 0.855469 -0.062500 +v 0.355469 0.932677 -0.062500 +vt 0.185185 0.500000 +vt 0.189815 0.488636 +vt 0.189815 0.500000 +vt 0.185185 0.431818 +vt 0.189815 0.443182 +vt 0.185185 0.443182 +vt 0.185185 0.409091 +vt 0.189815 0.397727 +vt 0.189815 0.409091 +vt 0.189815 0.511364 +vt 0.185185 0.511364 +vt 0.189815 0.454545 +vt 0.185185 0.454545 +vt 0.185185 0.465909 +vt 0.189815 0.477273 +vt 0.185185 0.477273 +vt 0.189815 0.420455 +vt 0.185185 0.420455 +vt 0.189815 0.522727 +vt 0.185185 0.522727 +vt 0.189815 0.465909 +vt 0.185185 0.488636 +vt 0.189815 0.431818 +vt 0.185185 0.534091 +vt 0.189815 0.534091 +vt 0.210648 0.437320 +vt 0.196742 0.427467 +vt 0.210648 0.397907 +vt 0.196303 0.446021 +vt 0.220365 0.446021 +vt 0.208334 0.471595 +vt 0.185185 0.397727 +vt 0.224554 0.427467 +vt 0.218677 0.434680 +vt 0.202619 0.434680 +vt 0.194591 0.417614 +vt 0.196742 0.407760 +vt 0.202619 0.400547 +vt 0.218677 0.400547 +vt 0.224554 0.407760 +vt 0.226705 0.417614 +vt 0.201388 0.469311 +vt 0.196303 0.463070 +vt 0.194441 0.454545 +vt 0.201388 0.439780 +vt 0.208334 0.437496 +vt 0.215280 0.439780 +vt 0.222226 0.454545 +vt 0.220365 0.463070 +vt 0.215280 0.469311 +vt 0.111111 0.488636 +vt 0.111111 0.431818 +vt 0.111111 0.397727 +vt 0.111111 0.500000 +vt 0.111111 0.443182 +vt 0.111111 0.465909 +vt 0.111111 0.409091 +vt 0.111111 0.511364 +vt 0.111111 0.454545 +vt 0.111111 0.477273 +vt 0.111111 0.420455 +vt 0.111111 0.522727 +vt 0.194444 0.454545 +vt 0.194444 0.477273 +vt 0.194444 0.420455 +vt 0.194444 0.522727 +vt 0.194444 0.465909 +vt 0.194444 0.488636 +vt 0.194444 0.431818 +vt 0.194444 0.534091 +vt 0.194444 0.500000 +vt 0.194444 0.443182 +vt 0.194444 0.409091 +vt 0.194444 0.511364 +vt 0.111111 0.534091 +vt 0.194444 0.397727 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.0000 -1.0000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +s off +f 100/153/29 123/154/29 124/155/29 +f 106/156/29 131/157/29 107/158/29 +f 104/159/29 127/160/29 128/161/29 +f 100/153/29 125/162/29 101/163/29 +f 107/158/29 132/164/29 108/165/29 +f 97/166/29 122/167/29 98/168/29 +f 104/159/29 129/169/29 105/170/29 +f 101/163/29 126/171/29 102/172/29 +f 97/166/29 132/164/29 121/173/29 +f 98/168/29 123/154/29 99/174/29 +f 106/156/29 129/169/29 130/175/29 +f 103/176/29 126/171/29 127/177/29 +f 133/178/30 143/179/30 139/180/30 +f 113/181/29 117/182/29 109/183/29 +f 100/153/29 99/174/29 123/154/29 +f 106/156/29 130/175/29 131/157/29 +f 104/159/29 103/184/29 127/160/29 +f 100/153/29 124/155/29 125/162/29 +f 107/158/29 131/157/29 132/164/29 +f 97/166/29 121/173/29 122/167/29 +f 104/159/29 128/161/29 129/169/29 +f 101/163/29 125/162/29 126/171/29 +f 97/166/29 108/165/29 132/164/29 +f 98/168/29 122/167/29 123/154/29 +f 106/156/29 105/170/29 129/169/29 +f 103/176/29 102/172/29 126/171/29 +f 135/185/30 134/186/30 133/178/30 +f 133/178/30 144/187/30 143/179/30 +f 143/179/30 142/188/30 139/180/30 +f 142/188/30 141/189/30 139/180/30 +f 141/189/30 140/190/30 139/180/30 +f 139/180/30 138/191/30 137/192/30 +f 137/192/30 136/193/30 139/180/30 +f 136/193/30 135/185/30 139/180/30 +f 135/185/30 133/178/30 139/180/30 +f 109/183/29 110/194/29 111/195/29 +f 111/195/29 112/196/29 113/181/29 +f 113/181/29 114/197/29 117/182/29 +f 114/197/29 115/198/29 117/182/29 +f 115/198/29 116/199/29 117/182/29 +f 117/182/29 118/200/29 119/201/29 +f 119/201/29 120/202/29 109/183/29 +f 109/183/29 111/195/29 113/181/29 +f 117/182/29 119/201/29 109/183/29 +s 1 +f 100/153/31 111/203/32 99/174/32 +f 107/158/33 118/204/34 106/156/34 +f 104/159/35 115/205/36 103/184/36 +f 101/163/37 112/206/31 100/153/31 +f 108/165/38 119/207/33 107/158/33 +f 98/168/39 109/208/40 97/166/40 +f 105/170/41 116/209/35 104/159/35 +f 102/172/42 113/210/37 101/163/37 +f 97/166/40 120/211/38 108/165/38 +f 99/174/32 110/212/39 98/168/39 +f 106/156/34 117/213/41 105/170/41 +f 103/176/36 114/214/42 102/172/42 +f 131/157/33 144/215/38 132/164/38 +f 121/173/40 134/216/39 122/167/39 +f 128/161/35 141/217/41 129/169/41 +f 125/162/37 138/218/42 126/171/42 +f 132/164/38 133/219/40 121/173/40 +f 122/167/39 135/220/32 123/154/32 +f 129/169/41 142/221/34 130/175/34 +f 126/171/42 139/222/36 127/177/36 +f 123/154/32 136/223/31 124/155/31 +f 130/175/34 143/224/33 131/157/33 +f 127/160/36 140/225/35 128/161/35 +f 124/155/31 137/226/37 125/162/37 +f 100/153/31 112/206/31 111/203/32 +f 107/158/33 119/207/33 118/204/34 +f 104/159/35 116/209/35 115/205/36 +f 101/163/37 113/210/37 112/206/31 +f 108/165/38 120/211/38 119/207/33 +f 98/168/39 110/212/39 109/208/40 +f 105/170/41 117/213/41 116/209/35 +f 102/172/42 114/214/42 113/210/37 +f 97/166/40 109/208/40 120/211/38 +f 99/174/32 111/203/32 110/212/39 +f 106/156/34 118/204/34 117/213/41 +f 103/176/36 115/227/36 114/214/42 +f 131/157/33 143/224/33 144/215/38 +f 121/173/40 133/219/40 134/216/39 +f 128/161/35 140/225/35 141/217/41 +f 125/162/37 137/226/37 138/218/42 +f 132/164/38 144/215/38 133/219/40 +f 122/167/39 134/216/39 135/220/32 +f 129/169/41 141/217/41 142/221/34 +f 126/171/42 138/218/42 139/222/36 +f 123/154/32 135/220/32 136/223/31 +f 130/175/34 142/221/34 143/224/33 +f 127/160/36 139/228/36 140/225/35 +f 124/155/31 136/223/31 137/226/37 +o Shell3 +v 0.250000 0.437500 0.000000 +v 0.156250 0.412380 0.000000 +v 0.087620 0.343750 0.000000 +v 0.062500 0.250000 0.000000 +v 0.087620 0.156250 0.000000 +v 0.156250 0.087620 0.000000 +v 0.250000 0.062500 0.000000 +v 0.343750 0.087620 0.000000 +v 0.412380 0.156250 0.000000 +v 0.437500 0.250000 0.000000 +v 0.412380 0.343750 0.000000 +v 0.343750 0.412380 0.000000 +v 0.250000 0.437500 1.000000 +v 0.156250 0.412380 1.000000 +v 0.087620 0.343750 1.000000 +v 0.062500 0.250000 1.000000 +v 0.087620 0.156250 1.000000 +v 0.156250 0.087620 1.000000 +v 0.250000 0.062500 1.000000 +v 0.343750 0.087620 1.000000 +v 0.412380 0.156250 1.000000 +v 0.437500 0.250000 1.000000 +v 0.412380 0.343750 1.000000 +v 0.343750 0.412380 1.000000 +v 0.250000 0.460938 0.000000 +v 0.144531 0.432677 0.000000 +v 0.067323 0.355469 0.000000 +v 0.039062 0.250000 0.000000 +v 0.067323 0.144531 0.000000 +v 0.144531 0.067323 0.000000 +v 0.250000 0.039062 0.000000 +v 0.355469 0.067322 0.000000 +v 0.432677 0.144531 0.000000 +v 0.460938 0.250000 0.000000 +v 0.432677 0.355469 0.000000 +v 0.355469 0.432677 0.000000 +v 0.250000 0.460938 -0.062500 +v 0.144531 0.432677 -0.062500 +v 0.067323 0.355469 -0.062500 +v 0.039062 0.250000 -0.062500 +v 0.067323 0.144531 -0.062500 +v 0.144531 0.067323 -0.062500 +v 0.250000 0.039062 -0.062500 +v 0.355469 0.067322 -0.062500 +v 0.432677 0.144531 -0.062500 +v 0.460938 0.250000 -0.062500 +v 0.432677 0.355469 -0.062500 +v 0.355469 0.432677 -0.062500 +vt 0.185185 0.500000 +vt 0.189815 0.488636 +vt 0.189815 0.500000 +vt 0.185185 0.431818 +vt 0.189815 0.443182 +vt 0.185185 0.443182 +vt 0.185185 0.409091 +vt 0.189815 0.397727 +vt 0.189815 0.409091 +vt 0.189815 0.511364 +vt 0.185185 0.511364 +vt 0.189815 0.454545 +vt 0.185185 0.454545 +vt 0.185185 0.465909 +vt 0.189815 0.477273 +vt 0.185185 0.477273 +vt 0.189815 0.420455 +vt 0.185185 0.420455 +vt 0.189815 0.522727 +vt 0.185185 0.522727 +vt 0.189815 0.465909 +vt 0.185185 0.488636 +vt 0.189815 0.431818 +vt 0.185185 0.534091 +vt 0.189815 0.534091 +vt 0.210648 0.437320 +vt 0.196742 0.427467 +vt 0.210648 0.397907 +vt 0.196303 0.446021 +vt 0.220365 0.446021 +vt 0.208334 0.471595 +vt 0.185185 0.397727 +vt 0.224554 0.427467 +vt 0.218677 0.434680 +vt 0.202619 0.434680 +vt 0.194591 0.417614 +vt 0.196742 0.407760 +vt 0.202619 0.400547 +vt 0.218677 0.400547 +vt 0.224554 0.407760 +vt 0.226705 0.417614 +vt 0.201388 0.469311 +vt 0.196303 0.463070 +vt 0.194441 0.454545 +vt 0.201388 0.439780 +vt 0.208334 0.437496 +vt 0.215280 0.439780 +vt 0.222226 0.454545 +vt 0.220365 0.463070 +vt 0.215280 0.469311 +vt 0.111111 0.488636 +vt 0.111111 0.431818 +vt 0.111111 0.397727 +vt 0.111111 0.500000 +vt 0.111111 0.443182 +vt 0.111111 0.465909 +vt 0.111111 0.409091 +vt 0.111111 0.511364 +vt 0.111111 0.454545 +vt 0.111111 0.477273 +vt 0.111111 0.420455 +vt 0.111111 0.522727 +vt 0.194444 0.454545 +vt 0.194444 0.477273 +vt 0.194444 0.420455 +vt 0.194444 0.522727 +vt 0.194444 0.465909 +vt 0.194444 0.488636 +vt 0.194444 0.431818 +vt 0.194444 0.534091 +vt 0.194444 0.500000 +vt 0.194444 0.443182 +vt 0.194444 0.409091 +vt 0.194444 0.511364 +vt 0.111111 0.534091 +vt 0.194444 0.397727 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.0000 -1.0000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +s off +f 148/229/43 171/230/43 172/231/43 +f 154/232/43 179/233/43 155/234/43 +f 152/235/43 175/236/43 176/237/43 +f 148/229/43 173/238/43 149/239/43 +f 155/234/43 180/240/43 156/241/43 +f 145/242/43 170/243/43 146/244/43 +f 152/235/43 177/245/43 153/246/43 +f 149/239/43 174/247/43 150/248/43 +f 145/242/43 180/240/43 169/249/43 +f 146/244/43 171/230/43 147/250/43 +f 154/232/43 177/245/43 178/251/43 +f 151/252/43 174/247/43 175/253/43 +f 181/254/44 191/255/44 187/256/44 +f 161/257/43 165/258/43 157/259/43 +f 148/229/43 147/250/43 171/230/43 +f 154/232/43 178/251/43 179/233/43 +f 152/235/43 151/260/43 175/236/43 +f 148/229/43 172/231/43 173/238/43 +f 155/234/43 179/233/43 180/240/43 +f 145/242/43 169/249/43 170/243/43 +f 152/235/43 176/237/43 177/245/43 +f 149/239/43 173/238/43 174/247/43 +f 145/242/43 156/241/43 180/240/43 +f 146/244/43 170/243/43 171/230/43 +f 154/232/43 153/246/43 177/245/43 +f 151/252/43 150/248/43 174/247/43 +f 183/261/44 182/262/44 181/254/44 +f 181/254/44 192/263/44 191/255/44 +f 191/255/44 190/264/44 187/256/44 +f 190/264/44 189/265/44 187/256/44 +f 189/265/44 188/266/44 187/256/44 +f 187/256/44 186/267/44 185/268/44 +f 185/268/44 184/269/44 187/256/44 +f 184/269/44 183/261/44 187/256/44 +f 183/261/44 181/254/44 187/256/44 +f 157/259/43 158/270/43 159/271/43 +f 159/271/43 160/272/43 161/257/43 +f 161/257/43 162/273/43 165/258/43 +f 162/273/43 163/274/43 165/258/43 +f 163/274/43 164/275/43 165/258/43 +f 165/258/43 166/276/43 167/277/43 +f 167/277/43 168/278/43 157/259/43 +f 157/259/43 159/271/43 161/257/43 +f 165/258/43 167/277/43 157/259/43 +s 1 +f 148/229/45 159/279/46 147/250/46 +f 155/234/47 166/280/48 154/232/48 +f 152/235/49 163/281/50 151/260/50 +f 149/239/51 160/282/45 148/229/45 +f 156/241/52 167/283/47 155/234/47 +f 146/244/53 157/284/54 145/242/54 +f 153/246/55 164/285/49 152/235/49 +f 150/248/56 161/286/51 149/239/51 +f 145/242/54 168/287/52 156/241/52 +f 147/250/46 158/288/53 146/244/53 +f 154/232/48 165/289/55 153/246/55 +f 151/252/50 162/290/56 150/248/56 +f 179/233/47 192/291/52 180/240/52 +f 169/249/54 182/292/53 170/243/53 +f 176/237/49 189/293/55 177/245/55 +f 173/238/51 186/294/56 174/247/56 +f 180/240/52 181/295/54 169/249/54 +f 170/243/53 183/296/46 171/230/46 +f 177/245/55 190/297/48 178/251/48 +f 174/247/56 187/298/50 175/253/50 +f 171/230/46 184/299/45 172/231/45 +f 178/251/48 191/300/47 179/233/47 +f 175/236/50 188/301/49 176/237/49 +f 172/231/45 185/302/51 173/238/51 +f 148/229/45 160/282/45 159/279/46 +f 155/234/47 167/283/47 166/280/48 +f 152/235/49 164/285/49 163/281/50 +f 149/239/51 161/286/51 160/282/45 +f 156/241/52 168/287/52 167/283/47 +f 146/244/53 158/288/53 157/284/54 +f 153/246/55 165/289/55 164/285/49 +f 150/248/56 162/290/56 161/286/51 +f 145/242/54 157/284/54 168/287/52 +f 147/250/46 159/279/46 158/288/53 +f 154/232/48 166/280/48 165/289/55 +f 151/252/50 163/303/50 162/290/56 +f 179/233/47 191/300/47 192/291/52 +f 169/249/54 181/295/54 182/292/53 +f 176/237/49 188/301/49 189/293/55 +f 173/238/51 185/302/51 186/294/56 +f 180/240/52 192/291/52 181/295/54 +f 170/243/53 182/292/53 183/296/46 +f 177/245/55 189/293/55 190/297/48 +f 174/247/56 186/294/56 187/298/50 +f 171/230/46 183/296/46 184/299/45 +f 178/251/48 190/297/48 191/300/47 +f 175/236/50 187/304/50 188/301/49 +f 172/231/45 184/299/45 185/302/51 +o Barrel v 0.466506 0.375000 0.000000 v 0.466506 0.375000 7.250000 v 0.500000 0.250000 0.000000 @@ -141,12 +1073,6 @@ v 0.375000 0.500000 0.000000 v 0.375000 0.500000 7.250000 v -0.375000 0.500000 0.000000 v -0.375000 0.500000 7.250000 -v -0.500000 0.000000 0.000000 -v 0.500000 0.000000 0.000000 -v -0.500000 1.000000 -0.750000 -v -0.500000 1.000000 0.000000 -v 0.500000 1.000000 0.000000 -v 0.500000 1.000000 -0.750000 v 0.187500 -0.750000 0.500000 v -0.187500 -0.750000 0.500000 v -0.625000 -0.500000 0.656250 @@ -173,32 +1099,6 @@ v 0.187500 -0.250000 1.375000 v -0.187500 -0.250000 1.375000 v 0.187500 0.000000 1.875000 v -0.187500 0.000000 1.875000 -v 0.500000 0.500000 0.000000 -v 0.500000 0.500000 -0.750000 -v 0.500000 0.000000 1.000000 -v -0.500000 0.000000 1.000000 -v -0.500000 0.500000 0.000000 -v -0.500000 0.500000 -0.750000 -v 0.625000 0.500000 0.000000 -v 0.625000 0.500000 -0.750000 -v 0.625000 0.000000 1.000000 -v -0.625000 0.000000 1.000000 -v -0.625000 0.500000 0.000000 -v -0.625000 0.500000 -0.750000 -v 0.500000 -0.125000 1.000000 -v -0.500000 -0.125000 1.000000 -v 0.625000 0.000000 -0.750000 -v -0.625000 0.000000 -0.750000 -v 0.500000 -0.125000 -0.750000 -v -0.500000 -0.125000 -0.750000 -v 0.500000 1.000000 0.000000 -v 0.125000 1.000000 0.000000 -v 0.500000 1.312500 -0.312500 -v 0.125000 1.312500 -0.312500 -v 0.500000 1.312500 -0.625000 -v 0.125000 1.312500 -0.625000 -v 0.500000 1.000000 -0.625000 -v 0.125000 1.000000 -0.625000 v -0.500000 1.000000 1.000000 v -0.500000 1.000000 0.000000 v -0.250000 1.000000 1.000000 @@ -227,50 +1127,6 @@ v 0.250000 1.000000 0.500000 v 0.250000 1.312500 0.500000 v 0.250000 1.000000 0.000000 v 0.250000 1.312500 0.000000 -v 0.125000 1.000000 1.000000 -v -0.125000 1.000000 1.000000 -v 0.125000 1.000000 -0.625000 -v -0.125000 1.000000 -0.625000 -v 0.125000 1.312500 1.000000 -v -0.125000 1.312500 1.000000 -v 0.125000 1.312500 -0.625000 -v -0.125000 1.312500 -0.625000 -v 0.500000 1.312500 -0.625000 -v 0.500000 1.000000 -0.625000 -v -0.500000 1.312500 -0.625000 -v -0.500000 1.000000 -0.625000 -v 0.500000 1.000000 -0.875000 -v 0.500000 1.312500 -0.875000 -v -0.500000 1.312500 -0.875000 -v -0.500000 1.000000 -0.875000 -v 0.500000 1.062500 -0.937500 -v 0.500000 1.250000 -0.937500 -v -0.500000 1.250000 -0.937500 -v -0.500000 1.062500 -0.937500 -v 0.187500 -0.750000 0.500000 -v 0.187500 -0.125000 0.250000 -v 0.187500 -0.750000 1.000000 -v 0.187500 -0.125000 1.000000 -v 0.437500 -0.750000 0.500000 -v 0.437500 -0.125000 0.250000 -v 0.437500 -0.750000 1.000000 -v 0.437500 -0.125000 1.000000 -v 0.437500 -0.500000 0.500000 -v 0.437500 -0.323223 0.573223 -v 0.437500 -0.250000 0.750000 -v 0.437500 -0.323223 0.926777 -v 0.437500 -0.500000 1.000000 -v 0.437500 -0.676777 0.926777 -v 0.437500 -0.750000 0.750000 -v 0.437500 -0.676777 0.573223 -v 0.559000 -0.323223 0.573223 -v 0.559000 -0.500000 0.500000 -v 0.559000 -0.250000 0.750000 -v 0.559000 -0.323223 0.926777 -v 0.559000 -0.500000 1.000000 -v 0.559000 -0.676777 0.926777 -v 0.559000 -0.750000 0.750000 -v 0.559000 -0.676777 0.573223 v 0.250000 1.000000 1.000000 v 0.250000 1.312500 1.000000 v 0.250000 1.000000 2.000000 @@ -333,38 +1189,6 @@ v -0.250000 0.000000 4.875000 v -0.250000 -0.250000 6.125000 v -0.250000 -0.250000 6.000000 v -0.250000 0.000000 6.000000 -v -0.500000 0.125000 -0.750000 -v -0.250000 -0.125000 -0.750000 -v 0.250000 -0.125000 -0.750000 -v 0.500000 0.125000 -0.750000 -v -0.250000 0.875000 -0.750000 -v -0.500000 0.625000 -0.750000 -v 0.500000 0.625000 -0.750000 -v 0.250000 0.875000 -0.750000 -v -0.250000 -0.125000 -2.500000 -v -0.500000 0.125000 -2.500000 -v 0.500000 0.125000 -2.500000 -v 0.250000 -0.125000 -2.500000 -v -0.500000 0.625000 -2.500000 -v -0.250000 0.875000 -2.500000 -v 0.250000 0.875000 -2.500000 -v 0.500000 0.625000 -2.500000 -v 0.695083 0.632582 -0.687500 -v 0.750000 0.500000 -0.687500 -v 0.695083 0.367418 -0.687500 -v 0.562500 0.312500 -0.687500 -v 0.429917 0.367417 -0.687500 -v 0.375000 0.500000 -0.687500 -v 0.429917 0.632583 -0.687500 -v 0.562500 0.687500 -0.687500 -v 0.695083 0.632582 -2.562500 -v 0.750000 0.500000 -2.562500 -v 0.562500 0.312500 -2.562500 -v 0.429917 0.367417 -2.562500 -v 0.375000 0.500000 -2.562500 -v 0.429917 0.632583 -2.562500 -v 0.562500 0.687500 -2.562500 -v 0.695083 0.367418 -2.562500 v -0.536612 1.062500 1.224112 v -0.500000 1.062500 1.312500 v -0.536612 1.062500 1.400888 @@ -397,58 +1221,6 @@ v -0.757583 0.187500 1.445082 v -0.812500 0.187500 1.312500 v -0.757583 0.187500 1.179918 v -0.625000 0.187500 1.125000 -v 0.125000 -0.125000 -0.500000 -v -0.125000 -0.125000 -0.500000 -v 0.125000 -2.125000 -1.250000 -v -0.125000 -2.125000 -1.250000 -v 0.125000 -2.125000 -2.000000 -v -0.125000 -2.125000 -2.000000 -v 0.125000 -1.875000 -2.250000 -v -0.125000 -1.875000 -2.250000 -v 0.125000 -0.500000 -1.625000 -v -0.125000 -0.500000 -1.625000 -v 0.125000 -0.250000 -1.625000 -v -0.125000 -0.250000 -1.625000 -v 0.125000 -0.250000 -2.500000 -v -0.125000 -0.250000 -2.500000 -v 0.125000 -0.125000 -2.500000 -v -0.125000 -0.125000 -2.500000 -v 0.125000 -0.125000 -1.500000 -v -0.125000 -0.125000 -1.500000 -v 0.250000 -0.125000 -0.625000 -v 0.250000 -2.125000 -1.375000 -v 0.250000 -2.125000 -1.875000 -v 0.250000 -1.875000 -2.125000 -v 0.250000 -0.500000 -1.500000 -v 0.250000 -0.250000 -1.500000 -v 0.250000 -0.125000 -1.375000 -v -0.250000 -2.125000 -1.375000 -v -0.250000 -0.125000 -0.625000 -v -0.250000 -2.125000 -1.875000 -v -0.250000 -1.875000 -2.125000 -v -0.250000 -0.500000 -1.500000 -v -0.250000 -0.250000 -1.500000 -v -0.250000 -0.125000 -1.375000 -v 0.062500 -2.125000 -1.250000 -v -0.062500 -2.125000 -1.250000 -v 0.062500 -0.375000 0.250000 -v -0.062500 -0.375000 0.250000 -v 0.062500 -0.125000 0.250000 -v -0.062500 -0.125000 0.250000 -v 0.062500 -0.125000 -0.500000 -v -0.062500 -0.125000 -0.500000 -v 0.093750 -0.750000 0.875000 -v -0.093750 -0.750000 0.875000 -v 0.093750 -0.750000 0.687500 -v -0.093750 -0.750000 0.687500 -v 0.093750 -1.750000 0.375000 -v -0.093750 -1.750000 0.375000 -v 0.093750 -1.625000 0.250000 -v -0.093750 -1.625000 0.250000 -v 0.093750 -2.125000 -1.250000 -v -0.093750 -2.125000 -1.250000 -v 0.093750 -2.000000 -1.250000 -v -0.093750 -2.000000 -1.250000 v 0.125000 0.000000 4.750000 v -0.125000 0.000000 4.750000 v 0.125000 -0.750000 3.500000 @@ -459,30 +1231,6 @@ v 0.125000 -0.375000 3.250000 v -0.125000 -0.375000 3.250000 v 0.125000 -0.375000 3.750000 v -0.125000 -0.375000 3.750000 -v 0.000000 0.687500 0.000000 -v -0.093750 0.662380 0.000000 -v -0.162380 0.593750 0.000000 -v -0.187500 0.500000 0.000000 -v -0.162380 0.406250 0.000000 -v -0.093750 0.337620 0.000000 -v 0.000000 0.312500 0.000000 -v 0.093750 0.337620 0.000000 -v 0.162380 0.406250 0.000000 -v 0.187500 0.500000 0.000000 -v 0.162380 0.593750 0.000000 -v 0.093750 0.662380 0.000000 -v 0.062500 0.608253 -0.062500 -v 0.108253 0.562500 -0.062500 -v 0.125000 0.500000 -0.062500 -v 0.108253 0.437500 -0.062500 -v 0.062500 0.391747 -0.062500 -v 0.000000 0.375000 -0.062500 -v -0.062500 0.391747 -0.062500 -v -0.108253 0.437500 -0.062500 -v -0.125000 0.500000 -0.062500 -v -0.108253 0.562500 -0.062500 -v -0.062500 0.608253 -0.062500 -v 0.000000 0.625000 -0.062500 v 0.625000 0.187500 1.125000 v 0.492417 0.187500 1.179918 v 0.437500 0.187500 1.312500 @@ -555,6 +1303,1919 @@ v 0.125000 1.187500 7.000000 v 0.125000 1.187500 6.500000 v -0.125000 1.187500 6.500000 v -0.125000 1.187500 7.000000 +v 0.510000 1.000000 1.000000 +v 0.510000 0.750000 0.000000 +v 0.510000 0.750000 1.000000 +v 0.510000 1.000000 0.000000 +v -0.510000 1.000000 1.000000 +v -0.510000 1.000000 0.000000 +v -0.510000 0.750000 1.000000 +v -0.510000 0.750000 0.000000 +v -0.125000 1.000000 1.000000 +v -0.125000 1.312500 1.000000 +v -0.125000 1.000000 2.000000 +v -0.125000 1.312500 1.250000 +v -0.250000 1.312500 1.000000 +v -0.250000 1.000000 2.000000 +v -0.250000 1.312500 1.250000 +v -0.250000 1.000000 1.000000 +v -0.125000 1.000000 1.000000 +v -0.500000 1.000000 1.000000 +v -0.125000 1.312500 1.000000 +v -0.500000 1.312500 1.000000 +v -0.125000 1.437500 0.875000 +v -0.500000 1.437500 0.875000 +v -0.125000 1.437500 0.625000 +v -0.500000 1.437500 0.625000 +v -0.125000 1.312500 0.500000 +v -0.500000 1.312500 0.500000 +v -0.125000 1.000000 0.500000 +v -0.500000 1.000000 0.500000 +v -0.187500 1.437500 0.875000 +v -0.187500 1.437500 0.625000 +v -0.187500 1.562500 0.875000 +v -0.187500 1.562500 0.625000 +v -0.125000 1.437500 0.625000 +v -0.125000 1.437500 0.875000 +v -0.125000 1.562500 0.625000 +v -0.125000 1.562500 0.875000 +v -0.250000 1.312500 0.500000 +v -0.250000 1.000000 0.500000 +v -0.250000 1.312500 0.000000 +v -0.250000 1.000000 0.000000 +v -0.125000 1.000000 0.500000 +v -0.125000 1.312500 0.500000 +v -0.125000 1.000000 0.000000 +v -0.125000 1.312500 0.000000 +v 0.000000 0.687500 0.000000 +v -0.093750 0.662380 0.000000 +v -0.162380 0.593750 0.000000 +v -0.187500 0.500000 0.000000 +v -0.162380 0.406250 0.000000 +v -0.093750 0.337620 0.000000 +v 0.000000 0.312500 0.000000 +v 0.093750 0.337620 0.000000 +v 0.162380 0.406250 0.000000 +v 0.187500 0.500000 0.000000 +v 0.162380 0.593750 0.000000 +v 0.093750 0.662380 0.000000 +v 0.062500 0.608253 -0.062500 +v 0.108253 0.562500 -0.062500 +v 0.125000 0.500000 -0.062500 +v 0.108253 0.437500 -0.062500 +v 0.062500 0.391747 -0.062500 +v 0.000000 0.375000 -0.062500 +v -0.062500 0.391747 -0.062500 +v -0.108253 0.437500 -0.062500 +v -0.125000 0.500000 -0.062500 +v -0.108253 0.562500 -0.062500 +v -0.062500 0.608253 -0.062500 +v 0.000000 0.625000 -0.062500 +vt 0.055443 0.000276 +vt 0.062346 0.008193 +vt 0.055443 0.005923 +vt 0.071383 0.011570 +vt 0.064646 0.003302 +vt 0.069248 0.022865 +vt 0.067398 0.014394 +vt 0.071383 0.034160 +vt 0.073849 0.022865 +vt 0.002691 0.102479 +vt 0.004826 0.113774 +vt 0.000225 0.113774 +vt 0.002691 0.125069 +vt 0.018631 0.091185 +vt 0.011729 0.099102 +vt 0.009428 0.094211 +vt 0.006676 0.105303 +vt 0.009428 0.003302 +vt 0.006676 0.014394 +vt 0.002691 0.011570 +vt 0.018631 0.005923 +vt 0.011729 0.008193 +vt 0.002691 0.034160 +vt 0.004826 0.022865 +vt 0.006676 0.031336 +vt 0.000225 0.022865 +vt 0.071383 0.125069 +vt 0.069248 0.113774 +vt 0.073849 0.113774 +vt 0.071383 0.102479 +vt 0.067398 0.105303 +vt 0.064646 0.094211 +vt 0.055443 0.096832 +vt 0.055443 0.091185 +vt 0.087963 0.329545 +vt 0.092593 0.340909 +vt 0.083333 0.335227 +vt 0.071383 0.056749 +vt 0.069248 0.068044 +vt 0.067398 0.059573 +vt 0.071383 0.079339 +vt 0.073849 0.068044 +vt 0.064646 0.087607 +vt 0.067398 0.076515 +vt 0.055443 0.084986 +vt 0.062346 0.082716 +vt 0.002691 0.147658 +vt 0.004826 0.158953 +vt 0.000225 0.158953 +vt 0.111111 0.431818 +vt 0.111111 0.340909 +vt 0.074074 0.340909 +vt 0.092593 0.431818 +vt 0.074074 0.431818 +vt 0.037037 0.431818 +vt 0.037037 0.340909 +vt 0.018631 0.181542 +vt 0.025533 0.173625 +vt 0.048541 0.173625 +vt 0.069248 0.158953 +vt 0.071383 0.147658 +vt 0.073849 0.158953 +vt 0.073849 0.181542 +vt 0.062346 0.173625 +vt 0.067398 0.167424 +vt 0.009428 0.087607 +vt 0.018631 0.084986 +vt 0.018631 0.090633 +vt 0.006676 0.076515 +vt 0.011729 0.082716 +vt 0.002691 0.079339 +vt 0.004826 0.068044 +vt 0.002691 0.056749 +vt 0.000225 0.068044 +vt 0.000225 0.181542 +vt 0.006676 0.167424 +vt 0.011729 0.173625 +vt 0.011729 0.053372 +vt 0.009428 0.045455 +vt 0.011729 0.037537 +vt 0.048541 0.037537 +vt 0.043488 0.059573 +vt 0.025533 0.053372 +vt 0.018631 0.039807 +vt 0.018631 0.051102 +vt 0.041639 0.068044 +vt 0.030586 0.059573 +vt 0.055443 0.039807 +vt 0.048541 0.053372 +vt 0.043488 0.031336 +vt 0.032436 0.022865 +vt 0.041639 0.022865 +vt 0.062346 0.053372 +vt 0.062346 0.037537 +vt 0.064646 0.045455 +vt 0.055443 0.051102 +vt 0.030586 0.014394 +vt 0.043488 0.014394 +vt 0.025533 0.008193 +vt 0.048541 0.008193 +vt 0.043488 0.076515 +vt 0.032436 0.068044 +vt 0.048541 0.082716 +vt 0.055443 0.090633 +vt 0.025533 0.082716 +vt 0.011729 0.128446 +vt 0.006676 0.122245 +vt 0.011729 0.144281 +vt 0.009428 0.136364 +vt 0.062346 0.144281 +vt 0.064646 0.136364 +vt 0.062346 0.128446 +vt 0.018631 0.142011 +vt 0.055443 0.142011 +vt 0.055443 0.130716 +vt 0.043488 0.105303 +vt 0.032435 0.113774 +vt 0.030586 0.105303 +vt 0.025533 0.099102 +vt 0.048541 0.099102 +vt 0.041639 0.158953 +vt 0.030586 0.167424 +vt 0.032435 0.158953 +vt 0.043488 0.150482 +vt 0.030586 0.150482 +vt 0.048541 0.144281 +vt 0.048541 0.128446 +vt 0.041639 0.113774 +vt 0.030586 0.122245 +vt 0.025533 0.144281 +vt 0.018631 0.130716 +vt 0.025533 0.128446 +vt 0.502268 0.673238 +vt 0.506944 0.670861 +vt 0.506944 0.687094 +vt 0.486111 0.670455 +vt 0.430556 0.704545 +vt 0.430556 0.670455 +vt 0.497732 0.673238 +vt 0.497732 0.684717 +vt 0.488379 0.684717 +vt 0.384259 0.704545 +vt 0.347222 0.704545 +vt 0.384259 0.670455 +vt 0.310185 0.704545 +vt 0.347222 0.670455 +vt 0.365741 0.625000 +vt 0.328704 0.602273 +vt 0.467593 0.602273 +vt 0.467593 0.772727 +vt 0.328704 0.772727 +vt 0.365741 0.750000 +vt 0.018519 0.340909 +vt 0.018519 0.431818 +vt 0.000000 0.340909 +vt 0.023148 0.329545 +vt 0.027778 0.335227 +vt -0.000000 0.607955 +vt 0.023148 0.642045 +vt -0.000000 0.642045 +vt 0.023148 0.607955 +vt 0.032407 0.642045 +vt 0.032407 0.607955 +vt 0.050926 0.642045 +vt 0.050926 0.607955 +vt 0.060185 0.642045 +vt 0.060185 0.607955 +vt 0.083333 0.642045 +vt 0.060185 0.653409 +vt 0.060185 0.681818 +vt 0.023148 0.681818 +vt 0.023148 0.596591 +vt 0.120370 0.642045 +vt 0.083333 0.670455 +vt 0.083333 0.642045 +vt 0.083333 0.602273 +vt 0.120370 0.630682 +vt 0.083333 0.630682 +vt 0.143519 0.630682 +vt 0.143519 0.642045 +vt 0.166667 0.562500 +vt 0.185185 0.534091 +vt 0.185185 0.562500 +vt 0.185185 0.573864 +vt 0.166667 0.573864 +vt 0.111111 0.562500 +vt 0.185185 0.602273 +vt 0.648148 0.329545 +vt 0.611111 0.352273 +vt 0.611111 0.329545 +vt 0.134259 0.369318 +vt 0.555556 0.346591 +vt 0.555556 0.369318 +vt 0.555556 0.318182 +vt 0.134259 0.346591 +vt 0.111111 0.318182 +vt 0.111111 0.346591 +vt 0.111111 0.369318 +vt 0.555556 0.397727 +vt 0.578704 0.369318 +vt 0.578704 0.346591 +vt 0.722222 0.375000 +vt 0.722222 0.397727 +vt 0.648148 0.397727 +vt 0.722222 0.306818 +vt 0.722222 0.329545 +vt 0.648148 0.352273 +vt 0.907407 0.034091 +vt 0.916667 0.000000 +vt 0.944444 0.011364 +vt 0.740741 0.284091 +vt 0.722222 0.284091 +vt 0.740741 0.375000 +vt 0.740741 0.397727 +vt 0.750000 0.397727 +vt 0.731481 0.363636 +vt 0.740741 0.363636 +vt 0.750000 0.306818 +vt 0.740741 0.306818 +vt 0.731481 0.318182 +vt 0.805556 0.601731 +vt 0.796738 0.590909 +vt 0.805556 0.580087 +vt 0.736111 0.669642 +vt 0.722884 0.653409 +vt 0.736111 0.637176 +vt 0.777277 0.653381 +vt 0.764050 0.669614 +vt 0.750823 0.653381 +vt 0.726852 0.534091 +vt 0.837963 0.568182 +vt 0.763889 0.534091 +vt 0.763889 0.534091 +vt 0.652778 0.568182 +vt 0.726852 0.534091 +vt 0.777277 0.653381 +vt 0.764050 0.669614 +vt 0.750823 0.653381 +vt 0.736111 0.669642 +vt 0.722884 0.653409 +vt 0.736111 0.637176 +vt 0.805556 0.601731 +vt 0.796738 0.590909 +vt 0.805556 0.580087 +vt 0.069444 0.585227 +vt 0.087963 0.596591 +vt 0.069444 0.596591 +vt 0.087963 0.568182 +vt 0.069444 0.579545 +vt 0.069444 0.568182 +vt 0.087963 0.585227 +vt 0.097222 0.579545 +vt 0.097222 0.585227 +vt 0.087963 0.579545 +vt 0.060185 0.585227 +vt 0.083333 0.477273 +vt 0.101852 0.488636 +vt 0.083333 0.488636 +vt 0.083333 0.443182 +vt 0.101852 0.454545 +vt 0.083333 0.454545 +vt 0.101852 0.477273 +vt 0.111111 0.488636 +vt 0.074074 0.477273 +vt 0.101852 0.465909 +vt 0.083333 0.500000 +vt 0.101852 0.443182 +vt 0.111111 0.454545 +vt 0.074074 0.443182 +vt 0.101852 0.431818 +vt 0.083333 0.465909 +vt 0.083333 0.443182 +vt 0.101852 0.454545 +vt 0.083333 0.454545 +vt 0.101852 0.443182 +vt 0.111111 0.454545 +vt 0.074074 0.443182 +vt 0.101852 0.431818 +vt 0.083333 0.465909 +vt 0.055556 0.562500 +vt 0.037037 0.505682 +vt 0.055556 0.505682 +vt 0.111111 0.522727 +vt 0.074074 0.545455 +vt 0.074074 0.522727 +vt 0.018519 0.545455 +vt 0.018519 0.522727 +vt 0.092593 0.500000 +vt 0.074074 0.500000 +vt 0.092593 0.568182 +vt 0.111111 0.545455 +vt 1.000000 0.863636 +vt 0.555556 1.000000 +vt 0.555556 0.863636 +vt 0.555556 1.000000 +vt 1.000000 0.863636 +vt 1.000000 1.000000 +vt 0.166667 0.562500 +vt 0.185185 0.534091 +vt 0.185185 0.562500 +vt 0.185185 0.573864 +vt 0.166667 0.573864 +vt 0.111111 0.562500 +vt 0.185185 0.602273 +vt -0.000000 0.607955 +vt 0.023148 0.642045 +vt -0.000000 0.642045 +vt 0.023148 0.607955 +vt 0.032407 0.642045 +vt 0.032407 0.607955 +vt 0.050926 0.642045 +vt 0.050926 0.607955 +vt 0.060185 0.642045 +vt 0.060185 0.607955 +vt 0.083333 0.642045 +vt 0.060185 0.653409 +vt 0.060185 0.681818 +vt 0.023148 0.681818 +vt 0.023148 0.596591 +vt 0.069444 0.585227 +vt 0.087963 0.596591 +vt 0.069444 0.596591 +vt 0.087963 0.568182 +vt 0.069444 0.579545 +vt 0.069444 0.568182 +vt 0.087963 0.585227 +vt 0.097222 0.579545 +vt 0.097222 0.585227 +vt 0.087963 0.579545 +vt 0.060185 0.585227 +vt 0.120370 0.642045 +vt 0.083333 0.670455 +vt 0.083333 0.642045 +vt 0.083333 0.602273 +vt 0.120370 0.630682 +vt 0.083333 0.630682 +vt 0.143519 0.630682 +vt 0.143519 0.642045 +vt 0.196368 0.480158 +vt 0.220299 0.480158 +vt 0.208333 0.505593 +vt 0.211665 0.522687 +vt 0.203704 0.528328 +vt 0.195742 0.511404 +vt 0.067398 0.031336 +vt 0.018631 0.096832 +vt 0.018631 0.000276 +vt 0.067398 0.122245 +vt 0.062346 0.099102 +vt 0.092593 0.318182 +vt 0.006676 0.150482 +vt 0.055443 0.175895 +vt 0.055443 0.181542 +vt 0.018631 0.175895 +vt 0.043488 0.167424 +vt 0.067398 0.150482 +vt 0.006676 0.059573 +vt 0.030586 0.031336 +vt 0.025533 0.037537 +vt 0.030586 0.076515 +vt 0.043488 0.122245 +vt 0.511621 0.673238 +vt 0.513558 0.678977 +vt 0.511621 0.684717 +vt 0.502268 0.684717 +vt 0.500331 0.678977 +vt 0.486111 0.704545 +vt 0.486442 0.678978 +vt 0.488379 0.673238 +vt 0.493056 0.670861 +vt 0.499669 0.678978 +vt 0.493056 0.687094 +vt 0.310185 0.670455 +vt 0.000000 0.431818 +vt 0.018519 0.318182 +vt 0.083333 0.607955 +vt 0.023148 0.653409 +vt 0.023148 0.568182 +vt 0.060185 0.568182 +vt 0.060185 0.596591 +vt 0.120370 0.670455 +vt 0.120370 0.602273 +vt 0.111111 0.534091 +vt 0.111111 0.573864 +vt 0.111111 0.602273 +vt 0.111111 0.397727 +vt 0.722222 0.352273 +vt 0.648148 0.284091 +vt 0.944444 0.034091 +vt 0.935185 0.045455 +vt 0.916667 0.045455 +vt 0.907407 0.011364 +vt 0.935185 0.000000 +vt 0.750000 0.375000 +vt 0.750000 0.284091 +vt 0.740741 0.318182 +vt 0.811791 0.583257 +vt 0.814373 0.590909 +vt 0.811791 0.598561 +vt 0.799320 0.598561 +vt 0.799320 0.583257 +vt 0.745464 0.641931 +vt 0.749338 0.653409 +vt 0.745464 0.664888 +vt 0.726758 0.664888 +vt 0.726758 0.641931 +vt 0.754698 0.641903 +vt 0.764050 0.637148 +vt 0.773403 0.641903 +vt 0.773403 0.664860 +vt 0.754698 0.664860 +vt 0.745370 0.500000 +vt 0.652778 0.568182 +vt 0.745370 0.500000 +vt 0.837963 0.568182 +vt 0.754698 0.641903 +vt 0.764050 0.637148 +vt 0.773403 0.641903 +vt 0.773403 0.664860 +vt 0.754698 0.664860 +vt 0.745464 0.641931 +vt 0.749338 0.653409 +vt 0.745464 0.664888 +vt 0.726758 0.664888 +vt 0.726758 0.641931 +vt 0.811791 0.583257 +vt 0.814373 0.590909 +vt 0.811791 0.598561 +vt 0.799320 0.598561 +vt 0.799320 0.583257 +vt 0.060185 0.579545 +vt 0.111111 0.477273 +vt 0.074074 0.488636 +vt 0.083333 0.465909 +vt 0.101852 0.500000 +vt 0.111111 0.443182 +vt 0.074074 0.454545 +vt 0.083333 0.431818 +vt 0.101852 0.465909 +vt 0.111111 0.443182 +vt 0.074074 0.454545 +vt 0.083333 0.431818 +vt 0.101852 0.465909 +vt 0.037037 0.562500 +vt 0.074074 0.568182 +vt 1.000000 1.000000 +vt 0.555556 0.863636 +vt 0.111111 0.534091 +vt 0.111111 0.573864 +vt 0.111111 0.602273 +vt 0.083333 0.607955 +vt 0.023148 0.653409 +vt 0.023148 0.568182 +vt 0.060185 0.568182 +vt 0.060185 0.596591 +vt 0.060185 0.579545 +vt 0.120370 0.670455 +vt 0.120370 0.602273 +vt 0.201425 0.503321 +vt 0.196368 0.497115 +vt 0.194517 0.488636 +vt 0.201425 0.473951 +vt 0.208333 0.471680 +vt 0.215242 0.473951 +vt 0.222150 0.488636 +vt 0.220299 0.497115 +vt 0.215242 0.503321 +vt 0.199107 0.526816 +vt 0.195742 0.522687 +vt 0.194510 0.517045 +vt 0.199107 0.507274 +vt 0.203704 0.505763 +vt 0.208300 0.507274 +vt 0.211665 0.511404 +vt 0.212897 0.517045 +vt 0.208300 0.526816 +vt 0.074074 0.090909 +vt 0.611111 0.079545 +vt 0.611111 0.090909 +vt 0.074074 0.079545 +vt 0.611111 0.068182 +vt 0.074074 0.068182 +vt 0.611111 0.056818 +vt 0.074074 0.056818 +vt 0.611111 0.045455 +vt -0.000000 0.863636 +vt 0.532407 0.869318 +vt -0.000000 0.869318 +vt -0.000000 0.880682 +vt 0.532407 0.886364 +vt -0.000000 0.886364 +vt -0.000000 0.909091 +vt 0.532407 0.914773 +vt -0.000000 0.914773 +vt -0.000000 0.926136 +vt 0.532407 0.931818 +vt -0.000000 0.931818 +vt -0.000000 0.875000 +vt 0.532407 0.880682 +vt -0.000000 0.903409 +vt 0.532407 0.909091 +vt -0.000000 0.892045 +vt 0.532407 0.897727 +vt -0.000000 0.897727 +vt -0.000000 0.920455 +vt 0.532407 0.926136 +vt 0.532407 0.875000 +vt 0.532407 0.903409 +vt 0.532407 0.892045 +vt 0.532407 0.920455 +vt 0.074074 0.318182 +vt 0.611111 0.306818 +vt 0.611111 0.318182 +vt 0.074074 0.306818 +vt 0.611111 0.295455 +vt 0.074074 0.295455 +vt 0.611111 0.284091 +vt 0.074074 0.284091 +vt 0.611111 0.272727 +vt -0.000000 0.863636 +vt 0.532407 0.869318 +vt -0.000000 0.869318 +vt -0.000000 0.880682 +vt 0.532407 0.886364 +vt -0.000000 0.886364 +vt -0.000000 0.909091 +vt 0.532407 0.914773 +vt -0.000000 0.914773 +vt -0.000000 0.926136 +vt 0.532407 0.931818 +vt -0.000000 0.931818 +vt -0.000000 0.875000 +vt 0.532407 0.880682 +vt -0.000000 0.903409 +vt 0.532407 0.909091 +vt -0.000000 0.892045 +vt 0.532407 0.897727 +vt -0.000000 0.897727 +vt -0.000000 0.920455 +vt 0.532407 0.926136 +vt 0.532407 0.875000 +vt 0.532407 0.903409 +vt 0.532407 0.892045 +vt 0.532407 0.920455 +vt 0.074074 0.136364 +vt 0.537037 0.147727 +vt 0.074074 0.147727 +vt 0.074074 0.159091 +vt 0.537037 0.159091 +vt 0.074074 0.204545 +vt 0.074074 0.113636 +vt 0.611111 0.102273 +vt 0.611111 0.113636 +vt 0.074074 0.045455 +vt 0.611111 0.000000 +vt -0.000000 0.863636 +vt 0.532407 0.869318 +vt -0.000000 0.869318 +vt -0.000000 0.880682 +vt 0.532407 0.886364 +vt -0.000000 0.886364 +vt -0.000000 0.909091 +vt 0.532407 0.914773 +vt -0.000000 0.914773 +vt -0.000000 0.926136 +vt 0.532407 0.931818 +vt -0.000000 0.931818 +vt -0.000000 0.875000 +vt 0.532407 0.880682 +vt -0.000000 0.903409 +vt 0.532407 0.909091 +vt -0.000000 0.892045 +vt 0.532407 0.897727 +vt -0.000000 0.897727 +vt -0.000000 0.920455 +vt 0.532407 0.926136 +vt 0.532407 0.875000 +vt 0.532407 0.903409 +vt 0.532407 0.892045 +vt 0.532407 0.920455 +vt 0.611111 0.261364 +vt 0.074074 0.250000 +vt 0.611111 0.250000 +vt 0.074074 0.272727 +vt -0.000000 0.863636 +vt 0.532407 0.869318 +vt -0.000000 0.869318 +vt -0.000000 0.880682 +vt 0.532407 0.886364 +vt -0.000000 0.886364 +vt -0.000000 0.909091 +vt 0.532407 0.914773 +vt -0.000000 0.914773 +vt -0.000000 0.926136 +vt 0.532407 0.931818 +vt -0.000000 0.931818 +vt -0.000000 0.875000 +vt 0.532407 0.880682 +vt -0.000000 0.903409 +vt 0.532407 0.909091 +vt -0.000000 0.892045 +vt 0.532407 0.897727 +vt -0.000000 0.897727 +vt -0.000000 0.920455 +vt 0.532407 0.926136 +vt 0.532407 0.875000 +vt 0.532407 0.903409 +vt 0.532407 0.892045 +vt 0.532407 0.920455 +vt 0.537037 0.125000 +vt 0.074074 0.125000 +vt 0.537037 0.215909 +vt 0.074074 0.215909 +vt 0.537037 0.227273 +vt 0.074074 0.227273 +vt 0.074074 0.238636 +vt 0.560185 0.659091 +vt 0.467593 0.664773 +vt 0.467593 0.659091 +vt 0.560185 0.664773 +vt 0.467593 0.670455 +vt 0.560185 0.625000 +vt 0.467593 0.630682 +vt 0.467593 0.625000 +vt 0.560185 0.630682 +vt 0.467593 0.636364 +vt 0.560185 0.636364 +vt 0.467593 0.642045 +vt 0.560185 0.642045 +vt 0.467593 0.647727 +vt 0.560185 0.647727 +vt 0.467593 0.653409 +vt 0.560185 0.653409 +vt 0.537037 0.238636 +vt 0.611111 0.238636 +vt 0.833333 0.204545 +vt 0.851852 0.045455 +vt 0.851852 0.204545 +vt 0.981481 0.045455 +vt 0.962963 0.068182 +vt 0.962963 0.045455 +vt 0.981481 0.068182 +vt 0.962963 0.181818 +vt 0.981481 0.181818 +vt 0.962963 0.204545 +vt 0.981481 0.204545 +vt 0.962963 0.250000 +vt 0.925926 0.181818 +vt 0.953704 0.068182 +vt 0.916667 0.181818 +vt 0.907407 0.045455 +vt 0.861111 0.204545 +vt 0.953704 0.068182 +vt 0.916667 0.181818 +vt 0.861111 0.227273 +vt 0.851852 0.227273 +vt 0.925926 0.204545 +vt 0.953704 0.250000 +vt 0.916667 0.204545 +vt 0.925926 0.181818 +vt 0.944444 0.045455 +vt 0.935185 0.045455 +vt 0.916667 0.045455 +vt 0.861111 0.204545 +vt 0.861111 0.227273 +vt 0.870370 0.227273 +vt 0.851852 0.227273 +vt 0.851852 0.204545 +vt 0.944444 0.045455 +vt 0.962963 0.068182 +vt 0.907407 0.045455 +vt 0.925926 0.204545 +vt 0.953704 0.250000 +vt 0.962963 0.250000 +vt 0.916667 0.204545 +vt 0.870370 0.250000 +vt 0.870370 0.227273 +vt 0.870370 0.250000 +vt 0.870370 0.568182 +vt 0.861111 0.579545 +vt 0.861111 0.568182 +vt 0.814815 0.568182 +vt 0.805556 0.579545 +vt 0.805556 0.568182 +vt 0.833333 0.568182 +vt 0.824074 0.579545 +vt 0.824074 0.568182 +vt 0.851852 0.568182 +vt 0.842593 0.579545 +vt 0.842593 0.568182 +vt 0.851852 0.579545 +vt 0.796296 0.579545 +vt 0.796296 0.568182 +vt 0.814815 0.579545 +vt 0.833333 0.579545 +vt 0.796296 0.568182 +vt 0.787037 0.636364 +vt 0.787037 0.568182 +vt 0.740741 0.568182 +vt 0.731481 0.636364 +vt 0.731481 0.568182 +vt 0.759259 0.568182 +vt 0.750000 0.636364 +vt 0.750000 0.568182 +vt 0.777778 0.568182 +vt 0.768519 0.636364 +vt 0.768519 0.568182 +vt 0.777778 0.636364 +vt 0.722222 0.636364 +vt 0.722222 0.568182 +vt 0.740741 0.636364 +vt 0.759259 0.636364 +vt 0.726852 0.477273 +vt 0.745370 0.477273 +vt 0.652778 0.500000 +vt 0.652778 0.477273 +vt 0.763889 0.477273 +vt 0.837963 0.500000 +vt 0.837963 0.477273 +vt 0.768519 0.568182 +vt 0.759259 0.636364 +vt 0.759259 0.568182 +vt 0.750000 0.568182 +vt 0.740741 0.636364 +vt 0.740741 0.568182 +vt 0.731481 0.568182 +vt 0.722222 0.636364 +vt 0.722222 0.568182 +vt 0.787037 0.568182 +vt 0.777778 0.636364 +vt 0.777778 0.568182 +vt 0.768519 0.636364 +vt 0.750000 0.636364 +vt 0.731481 0.636364 +vt 0.796296 0.568182 +vt 0.787037 0.636364 +vt 0.842593 0.568182 +vt 0.833333 0.579545 +vt 0.833333 0.568182 +vt 0.824074 0.568182 +vt 0.814815 0.579545 +vt 0.814815 0.568182 +vt 0.805556 0.568182 +vt 0.796296 0.579545 +vt 0.796296 0.568182 +vt 0.861111 0.568182 +vt 0.851852 0.579545 +vt 0.851852 0.568182 +vt 0.842593 0.579545 +vt 0.824074 0.579545 +vt 0.805556 0.579545 +vt 0.870370 0.568182 +vt 0.861111 0.579545 +vt 0.226852 0.488636 +vt 0.222222 0.494318 +vt 0.222222 0.488636 +vt 0.222222 0.448864 +vt 0.226852 0.454545 +vt 0.222222 0.454545 +vt 0.222222 0.500000 +vt 0.226852 0.505682 +vt 0.222222 0.505682 +vt 0.226852 0.500000 +vt 0.226852 0.471591 +vt 0.222222 0.477273 +vt 0.222222 0.471591 +vt 0.222222 0.460227 +vt 0.226852 0.437500 +vt 0.222222 0.443182 +vt 0.222222 0.437500 +vt 0.226852 0.477273 +vt 0.222222 0.482955 +vt 0.226852 0.465909 +vt 0.222222 0.465909 +vt 0.226852 0.443182 +vt 0.532407 0.863636 +vt 0.532407 0.863636 +vt 0.537037 0.136364 +vt 0.537037 0.204545 +vt 0.074074 0.102273 +vt 0.074074 0.000000 +vt 0.532407 0.863636 +vt 0.074074 0.261364 +vt 0.532407 0.863636 +vt 0.560185 0.670455 +vt 0.611111 0.125000 +vt 0.833333 0.045455 +vt 0.981481 0.250000 +vt 0.870370 0.579545 +vt 0.796296 0.636364 +vt 0.726852 0.500000 +vt 0.763889 0.500000 +vt 0.796296 0.636364 +vt 0.870370 0.579545 +vt 0.226852 0.494318 +vt 0.226852 0.448864 +vt 0.226852 0.460227 +vt 0.226852 0.482955 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -0.5547 -0.8321 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.4472 0.8944 +vn 0.0000 -0.8944 0.4472 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.9231 0.3846 +vn 0.0000 0.7085 0.7057 +vn 0.8000 -0.6000 0.0000 +vn -0.8000 -0.6000 0.0000 +vn 0.9018 0.4321 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.5000 -0.8660 -0.0000 +vn 0.1305 -0.9914 -0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.8660 0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn -0.1305 -0.9914 -0.0000 +vn -0.9018 0.4321 0.0000 +vn 0.1305 0.9914 0.0000 +vn -0.1305 0.9914 0.0000 +vn 0.9018 -0.4321 0.0000 +vn 0.8069 -0.5907 0.0000 +vn 0.8069 0.5907 0.0000 +vn -0.8069 -0.5907 0.0000 +vn -0.9018 -0.4321 0.0000 +vn -0.8069 0.5907 0.0000 +vn 0.9960 -0.0890 0.0000 +vn 0.0000 -0.7071 -0.7071 +vn -0.0000 -0.7071 0.7071 +vn -0.9960 -0.0890 0.0000 +vn -0.9659 -0.2588 0.0000 +vn -0.4858 -0.2432 0.8396 +vn 0.3929 -0.3622 0.8452 +vn 0.4858 -0.2432 0.8396 +vn -0.3458 -0.6635 -0.6635 +vn 0.3395 -0.1767 -0.9239 +vn 0.3458 -0.6635 -0.6635 +vn -0.3395 -0.1767 -0.9239 +vn 0.3945 0.1811 -0.9009 +vn -0.3945 0.1811 -0.9009 +vn 0.3878 -0.3878 -0.8361 +vn -0.3878 -0.3878 -0.8361 +vn 0.2418 -0.6861 -0.6861 +vn -0.8661 -0.1385 -0.4802 +vn -0.9386 0.0604 -0.3398 +vn 0.9032 -0.0951 0.4186 +vn 0.9487 -0.1245 0.2905 +vn 0.8661 -0.1385 -0.4802 +vn 0.9386 0.0604 -0.3398 +vn 0.9239 0.0000 0.3827 +vn 0.7071 0.0000 0.7071 +vn 0.7592 -0.4602 -0.4602 +vn 0.9518 -0.1020 -0.2893 +vn 0.9607 -0.1962 -0.1962 +vn -0.9607 -0.1962 -0.1962 +vn -0.9487 -0.1245 0.2905 +vn -0.9032 -0.0951 0.4186 +vn -0.9239 0.0000 0.3827 +vn -0.7071 0.0000 0.7071 +vn -0.3929 -0.3622 0.8452 +vn -0.7592 -0.4602 -0.4602 +vn -0.2418 -0.6861 -0.6861 +vn -0.9518 -0.1020 -0.2893 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.0000 -0.5547 0.8321 +vn 0.0000 -0.7833 0.6216 +vn 0.0000 -0.9363 0.3511 +vn 0.0000 -0.7833 -0.6216 +vn 0.0000 -0.9363 -0.3511 +vn -0.6124 -0.3536 -0.7071 +vn 0.6124 -0.3536 -0.7071 +vn -0.3536 -0.6124 -0.7071 +vn -0.3536 0.6124 -0.7071 +vn 0.6124 0.3536 -0.7071 +vn 0.3536 -0.6124 -0.7071 +vn -0.6124 0.3536 -0.7071 +vn 0.3536 0.6124 -0.7071 +vn 0.9659 -0.2588 0.0000 +s off +f 202/305/57 210/306/57 209/307/57 +f 198/308/57 210/306/57 200/309/57 +f 198/308/57 212/310/57 211/311/57 +f 194/312/57 212/310/57 196/313/57 +f 197/314/58 224/315/58 195/316/58 +f 224/315/58 193/317/58 195/316/58 +f 201/318/58 222/319/58 199/320/58 +f 199/320/58 223/321/58 197/314/58 +f 230/322/57 241/323/57 232/324/57 +f 230/322/57 243/325/57 242/326/57 +f 236/327/57 240/328/57 239/329/57 +f 232/324/57 240/328/57 234/330/57 +f 235/331/58 252/332/58 233/333/58 +f 252/332/58 231/334/58 233/333/58 +f 253/335/58 229/336/58 231/334/58 +f 229/336/58 255/337/58 227/338/58 +f 295/339/57 261/340/57 299/341/57 +f 270/342/57 280/343/57 279/344/57 +f 266/345/57 280/343/57 268/346/57 +f 264/347/57 281/348/57 266/345/57 +f 264/347/57 271/349/57 282/350/57 +f 269/351/58 292/352/58 267/353/58 +f 267/354/59 261/340/59 301/355/59 +f 265/356/60 303/357/60 263/358/60 +f 265/356/60 362/359/60 361/360/60 +f 263/361/58 284/362/58 328/363/58 +f 320/364/58 297/365/58 364/366/58 +f 360/367/58 318/368/58 319/369/58 +f 304/370/57 305/371/57 296/372/57 +f 304/370/57 307/373/57 306/374/57 +f 302/375/57 308/376/57 307/373/57 +f 298/377/57 308/376/57 300/378/57 +f 303/379/58 293/380/58 294/381/58 +f 310/382/57 298/377/57 332/383/57 +f 238/384/57 236/327/57 239/329/57 +f 204/385/57 275/386/57 312/387/57 +f 237/388/57 312/387/57 311/389/57 +f 311/389/57 310/382/57 332/383/57 +f 274/390/57 313/391/57 275/386/57 +f 203/392/57 276/393/57 204/385/57 +f 205/394/57 246/395/57 206/396/57 +f 278/397/57 270/342/57 279/344/57 +f 214/398/57 194/312/57 330/399/57 +f 330/399/57 277/400/57 203/392/57 +f 206/396/57 245/401/57 207/402/57 +f 244/403/57 202/305/57 208/404/57 +f 273/405/57 314/406/57 274/390/57 +f 272/407/57 262/408/57 316/409/57 +f 226/410/58 193/317/58 225/411/58 +f 290/412/58 269/351/58 329/413/58 +f 297/365/58 322/414/58 331/415/58 +f 250/416/58 235/331/58 331/415/58 +f 289/417/58 290/412/58 329/413/58 +f 331/415/58 323/418/58 249/419/58 +f 257/420/58 218/421/58 219/422/58 +f 220/423/58 201/318/58 256/424/58 +f 326/425/58 285/426/58 286/427/58 +f 325/428/58 286/427/58 287/429/58 +f 249/419/58 324/430/58 260/431/58 +f 258/432/58 217/433/58 218/421/58 +f 288/434/58 215/435/58 216/436/58 +f 288/434/58 216/436/58 324/430/58 +f 342/437/59 340/438/59 348/439/59 +f 351/440/61 333/441/61 334/442/61 +f 341/443/62 345/444/62 349/445/62 +f 353/446/63 334/442/63 333/441/63 +f 355/447/64 354/448/64 353/446/64 +f 357/449/65 356/450/65 355/447/65 +f 356/451/62 358/452/62 351/453/62 +f 352/454/59 357/455/59 355/456/59 +f 359/457/60 362/359/60 360/458/60 +f 360/458/62 363/459/62 359/457/62 +f 366/460/57 365/461/57 359/457/57 +f 367/462/57 370/463/57 368/464/57 +f 369/465/66 372/466/66 370/463/66 +f 371/467/60 374/468/60 372/466/60 +f 373/469/67 376/470/67 374/468/67 +f 375/471/58 378/472/58 376/470/58 +f 376/473/62 378/474/62 368/475/62 +f 373/469/59 371/467/59 369/476/59 +f 381/477/62 380/478/62 379/479/62 +f 383/480/59 386/481/59 384/482/59 +f 381/477/58 385/483/58 382/484/58 +f 379/479/60 386/481/60 381/477/60 +f 390/485/59 387/486/59 388/487/59 +f 391/488/60 390/485/60 388/487/60 +f 393/489/68 389/490/68 390/485/68 +f 394/491/62 393/489/62 391/488/62 +f 406/492/57 403/493/57 404/494/57 +f 402/495/60 399/496/60 400/497/60 +f 395/498/59 401/499/59 397/500/59 +f 397/501/69 402/495/69 398/502/69 +f 396/503/62 402/495/62 400/497/62 +f 396/504/58 399/496/58 395/505/58 +f 424/506/59 407/507/59 403/508/59 +f 423/509/62 410/510/62 406/492/62 +f 410/510/63 405/511/63 406/492/63 +f 411/512/63 440/513/63 414/514/63 +f 427/515/62 423/509/62 408/516/62 +f 407/507/59 426/517/59 428/518/59 +f 426/517/57 438/519/57 428/518/57 +f 426/517/60 429/520/60 437/521/60 +f 427/515/57 447/522/57 425/523/57 +f 425/523/60 446/524/60 423/509/60 +f 452/525/60 450/526/60 456/527/60 +f 468/528/60 466/529/60 472/530/60 +f 474/531/63 476/532/63 478/533/63 +f 490/534/62 486/535/62 488/536/62 +f 487/537/59 481/538/59 489/539/59 +f 497/540/63 495/541/63 493/542/63 +f 503/543/60 505/544/60 499/545/60 +f 519/546/60 521/547/60 515/548/60 +f 525/549/62 524/550/62 523/551/62 +f 527/552/59 530/553/59 528/554/59 +f 526/555/58 527/556/58 524/557/58 +f 525/549/60 529/558/60 526/555/60 +f 523/559/57 530/553/57 525/549/57 +f 532/560/60 533/561/60 531/562/60 +f 540/563/60 541/564/60 539/565/60 +f 534/566/58 535/567/58 533/561/58 +f 531/562/57 537/568/57 532/560/57 +f 532/560/59 538/569/59 534/566/59 +f 533/561/62 536/570/62 531/562/62 +f 542/571/58 543/572/58 541/564/58 +f 539/565/57 545/573/57 540/563/57 +f 540/563/59 546/574/59 542/571/59 +f 541/564/62 544/575/62 539/565/62 +f 548/576/60 549/577/60 547/578/60 +f 550/579/58 551/580/58 549/577/58 +f 547/578/57 553/581/57 548/576/57 +f 548/576/59 554/582/59 550/579/59 +f 549/577/62 552/583/62 547/578/62 +f 557/584/60 555/585/60 556/586/60 +f 559/587/63 561/588/63 560/589/63 +f 555/585/66 562/590/66 559/591/66 +f 555/592/70 560/589/70 556/593/70 +f 556/586/58 561/588/58 557/584/58 +f 558/594/71 561/588/71 562/595/71 +f 564/596/59 563/597/59 565/598/59 +f 568/599/62 569/600/62 567/601/62 +f 574/602/59 571/603/59 572/604/59 +f 575/605/60 574/602/60 572/604/60 +f 577/606/68 573/607/68 574/602/68 +f 578/608/62 577/606/62 575/605/62 +f 579/609/57 582/610/57 580/611/57 +f 581/612/66 584/613/66 582/610/66 +f 583/614/60 586/615/60 584/613/60 +f 585/616/67 588/617/67 586/615/67 +f 587/618/58 590/619/58 588/617/58 +f 588/620/62 590/621/62 580/622/62 +f 585/616/59 583/614/59 581/623/59 +f 593/624/62 592/625/62 591/626/62 +f 595/627/59 598/628/59 596/629/59 +f 594/630/58 595/631/58 592/632/58 +f 593/624/60 597/633/60 594/630/60 +f 591/634/57 598/628/57 593/624/57 +f 601/635/62 600/636/62 599/637/62 +f 603/638/59 606/639/59 604/640/59 +f 601/635/58 605/641/58 602/642/58 +f 599/637/60 606/639/60 601/635/60 +f 611/643/57 615/644/57 607/645/57 +f 628/646/58 630/647/58 622/648/58 +f 202/305/57 200/309/57 210/306/57 +f 198/308/57 211/311/57 210/306/57 +f 198/308/57 196/313/57 212/310/57 +f 194/312/57 213/649/57 212/310/57 +f 197/314/58 223/321/58 224/315/58 +f 224/315/58 225/411/58 193/317/58 +f 201/318/58 221/650/58 222/319/58 +f 199/320/58 222/319/58 223/321/58 +f 230/322/57 242/326/57 241/323/57 +f 230/322/57 228/651/57 243/325/57 +f 236/327/57 234/330/57 240/328/57 +f 232/324/57 241/323/57 240/328/57 +f 235/331/58 251/652/58 252/332/58 +f 252/332/58 253/335/58 231/334/58 +f 253/335/58 254/653/58 229/336/58 +f 229/336/58 254/653/58 255/337/58 +f 295/339/57 301/654/57 261/340/57 +f 261/340/57 265/356/57 299/341/57 +f 270/342/57 268/346/57 280/343/57 +f 266/345/57 281/348/57 280/343/57 +f 264/347/57 282/350/57 281/348/57 +f 264/347/57 262/408/57 271/349/57 +f 269/351/58 291/655/58 292/352/58 +f 267/354/59 303/357/59 261/340/59 +f 265/356/60 261/340/60 303/357/60 +f 265/356/60 263/358/60 362/359/60 +f 317/656/58 362/657/58 328/363/58 +f 362/657/58 263/361/58 328/363/58 +f 263/361/58 283/658/58 284/362/58 +f 284/362/58 285/426/58 327/659/58 +f 284/362/58 327/659/58 328/363/58 +f 320/364/58 321/660/58 297/365/58 +f 320/364/58 364/366/58 319/369/58 +f 364/366/58 360/367/58 319/369/58 +f 360/367/58 362/657/58 318/368/58 +f 362/657/58 317/656/58 318/368/58 +f 304/370/57 306/374/57 305/371/57 +f 304/370/57 302/375/57 307/373/57 +f 302/375/57 300/378/57 308/376/57 +f 298/377/57 309/661/57 308/376/57 +f 303/379/58 267/353/58 293/380/58 +f 267/353/58 292/352/58 293/380/58 +f 283/658/58 263/361/58 294/381/58 +f 263/361/58 303/379/58 294/381/58 +f 310/382/57 309/661/57 298/377/57 +f 238/384/57 332/383/57 236/327/57 +f 247/662/57 205/394/57 204/385/57 +f 204/385/57 276/393/57 275/386/57 +f 275/386/57 313/391/57 312/387/57 +f 312/387/57 248/663/57 247/662/57 +f 247/662/57 204/385/57 312/387/57 +f 237/388/57 248/663/57 312/387/57 +f 332/383/57 238/384/57 237/388/57 +f 237/388/57 311/389/57 332/383/57 +f 274/390/57 314/406/57 313/391/57 +f 203/392/57 277/400/57 276/393/57 +f 205/394/57 247/662/57 246/395/57 +f 278/397/57 330/399/57 270/342/57 +f 214/398/57 213/649/57 194/312/57 +f 203/392/57 214/398/57 330/399/57 +f 330/399/57 278/397/57 277/400/57 +f 206/396/57 246/395/57 245/401/57 +f 208/404/57 207/402/57 244/403/57 +f 207/402/57 245/401/57 244/403/57 +f 244/403/57 243/325/57 228/651/57 +f 202/305/57 209/307/57 208/404/57 +f 244/403/57 228/651/57 202/305/57 +f 273/405/57 315/664/57 314/406/57 +f 272/407/57 271/349/57 262/408/57 +f 262/408/57 296/372/57 316/409/57 +f 296/372/57 305/371/57 316/409/57 +f 316/409/57 315/664/57 273/405/57 +f 316/409/57 273/405/57 272/407/57 +f 226/410/58 329/413/58 193/317/58 +f 290/412/58 291/655/58 269/351/58 +f 297/365/58 321/660/58 322/414/58 +f 250/416/58 251/652/58 235/331/58 +f 226/410/58 215/435/58 329/413/58 +f 215/435/58 289/417/58 329/413/58 +f 249/419/58 250/416/58 331/415/58 +f 331/415/58 322/414/58 323/418/58 +f 257/420/58 258/432/58 218/421/58 +f 257/420/58 219/422/58 256/424/58 +f 219/422/58 220/423/58 256/424/58 +f 220/423/58 221/650/58 201/318/58 +f 201/318/58 227/338/58 256/424/58 +f 227/338/58 255/337/58 256/424/58 +f 326/425/58 327/659/58 285/426/58 +f 325/428/58 326/425/58 286/427/58 +f 249/419/58 323/418/58 324/430/58 +f 258/432/58 259/665/58 217/433/58 +f 288/434/58 289/417/58 215/435/58 +f 216/436/58 217/433/58 324/430/58 +f 217/433/58 259/665/58 324/430/58 +f 259/665/58 260/431/58 324/430/58 +f 324/430/58 325/428/58 287/429/58 +f 287/429/58 288/434/58 324/430/58 +f 340/438/59 338/666/59 336/667/59 +f 336/667/59 350/668/59 340/438/59 +f 350/668/59 348/439/59 340/438/59 +f 348/439/59 346/669/59 344/670/59 +f 344/670/59 342/437/59 348/439/59 +f 351/440/61 352/671/61 333/441/61 +f 349/445/62 335/672/62 337/673/62 +f 337/673/62 339/674/62 349/445/62 +f 339/674/62 341/443/62 349/445/62 +f 341/443/62 343/675/62 345/444/62 +f 345/444/62 347/676/62 349/445/62 +f 353/446/63 354/448/63 334/442/63 +f 355/447/64 356/450/64 354/448/64 +f 357/449/65 358/677/65 356/450/65 +f 351/453/62 334/442/62 356/451/62 +f 334/442/62 354/448/62 356/451/62 +f 353/446/59 333/441/59 355/456/59 +f 333/441/59 352/454/59 355/456/59 +f 359/457/60 361/360/60 362/359/60 +f 360/458/62 364/678/62 363/459/62 +f 365/461/57 361/360/57 359/457/57 +f 359/457/57 363/679/57 366/460/57 +f 367/462/57 369/465/57 370/463/57 +f 369/465/66 371/467/66 372/466/66 +f 371/467/60 373/469/60 374/468/60 +f 373/469/67 375/471/67 376/470/67 +f 375/471/58 377/680/58 378/472/58 +f 368/475/62 370/681/62 376/473/62 +f 370/681/62 372/466/62 376/473/62 +f 372/466/62 374/468/62 376/473/62 +f 369/476/59 367/682/59 377/683/59 +f 377/683/59 375/684/59 369/476/59 +f 375/684/59 373/469/59 369/476/59 +f 381/477/62 382/685/62 380/478/62 +f 383/480/59 385/686/59 386/481/59 +f 381/477/58 386/481/58 385/483/58 +f 379/479/60 384/482/60 386/481/60 +f 390/485/59 389/687/59 387/486/59 +f 391/488/60 393/489/60 390/485/60 +f 393/489/68 392/688/68 389/490/68 +f 394/491/62 392/689/62 393/489/62 +f 406/492/57 405/511/57 403/493/57 +f 402/495/60 401/499/60 399/496/60 +f 395/498/59 399/496/59 401/499/59 +f 397/501/69 401/499/69 402/495/69 +f 396/503/62 398/690/62 402/495/62 +f 396/504/58 400/497/58 399/496/58 +f 403/508/59 405/511/59 424/506/59 +f 405/511/59 409/691/59 424/506/59 +f 406/492/62 404/692/62 423/509/62 +f 404/692/62 408/516/62 423/509/62 +f 410/510/63 409/691/63 405/511/63 +f 414/514/63 413/693/63 432/694/63 +f 432/694/63 431/695/63 411/512/63 +f 411/512/63 412/696/63 440/513/63 +f 440/513/63 441/697/63 414/514/63 +f 414/514/63 432/694/63 411/512/63 +f 427/515/62 425/523/62 423/509/62 +f 407/507/59 424/506/59 426/517/59 +f 426/517/57 437/698/57 438/519/57 +f 426/517/60 424/506/60 429/520/60 +f 427/515/57 448/699/57 447/522/57 +f 425/523/60 447/700/60 446/524/60 +f 456/527/60 455/701/60 454/702/60 +f 454/702/60 453/703/60 452/525/60 +f 452/525/60 451/704/60 450/526/60 +f 450/526/60 449/705/60 456/527/60 +f 456/527/60 454/702/60 452/525/60 +f 472/530/60 471/706/60 470/707/60 +f 470/707/60 469/708/60 468/528/60 +f 468/528/60 467/709/60 466/529/60 +f 466/529/60 465/710/60 472/530/60 +f 472/530/60 470/707/60 468/528/60 +f 478/533/63 479/711/63 480/712/63 +f 480/712/63 473/713/63 474/531/63 +f 474/531/63 475/714/63 476/532/63 +f 476/532/63 477/715/63 478/533/63 +f 478/533/63 480/712/63 474/531/63 +f 488/536/62 484/716/62 490/534/62 +f 490/534/62 482/717/62 486/535/62 +f 489/539/59 483/718/59 487/537/59 +f 487/537/59 485/719/59 481/538/59 +f 493/542/63 492/720/63 491/721/63 +f 491/721/63 498/722/63 497/540/63 +f 497/540/63 496/723/63 495/541/63 +f 495/541/63 494/724/63 493/542/63 +f 493/542/63 491/721/63 497/540/63 +f 499/545/60 500/725/60 501/726/60 +f 501/726/60 502/727/60 503/543/60 +f 503/543/60 504/728/60 505/544/60 +f 505/544/60 506/729/60 499/545/60 +f 499/545/60 501/726/60 503/543/60 +f 515/548/60 516/730/60 517/731/60 +f 517/731/60 518/732/60 519/546/60 +f 519/546/60 520/733/60 521/547/60 +f 521/547/60 522/734/60 515/548/60 +f 515/548/60 517/731/60 519/546/60 +f 525/549/62 526/555/62 524/550/62 +f 527/552/59 529/558/59 530/553/59 +f 526/555/58 529/558/58 527/556/58 +f 525/549/60 530/553/60 529/558/60 +f 523/559/57 528/735/57 530/553/57 +f 532/560/60 534/566/60 533/561/60 +f 540/563/60 542/571/60 541/564/60 +f 534/566/58 538/736/58 535/567/58 +f 531/562/57 536/737/57 537/568/57 +f 532/560/59 537/738/59 538/569/59 +f 533/561/62 535/739/62 536/570/62 +f 542/571/58 546/740/58 543/572/58 +f 539/565/57 544/741/57 545/573/57 +f 540/563/59 545/742/59 546/574/59 +f 541/564/62 543/743/62 544/575/62 +f 548/576/60 550/579/60 549/577/60 +f 550/579/58 554/744/58 551/580/58 +f 547/578/57 552/745/57 553/581/57 +f 548/576/59 553/746/59 554/582/59 +f 549/577/62 551/747/62 552/583/62 +f 557/584/60 558/748/60 555/585/60 +f 559/587/63 562/595/63 561/588/63 +f 555/585/66 558/748/66 562/590/66 +f 555/592/70 559/587/70 560/589/70 +f 556/586/58 560/589/58 561/588/58 +f 558/594/71 557/749/71 561/588/71 +f 564/596/59 566/750/59 563/597/59 +f 568/599/62 570/751/62 569/600/62 +f 574/602/59 573/752/59 571/603/59 +f 575/605/60 577/606/60 574/602/60 +f 577/606/68 576/753/68 573/607/68 +f 578/608/62 576/754/62 577/606/62 +f 579/609/57 581/612/57 582/610/57 +f 581/612/66 583/614/66 584/613/66 +f 583/614/60 585/616/60 586/615/60 +f 585/616/67 587/618/67 588/617/67 +f 587/618/58 589/755/58 590/619/58 +f 580/622/62 582/756/62 588/620/62 +f 582/756/62 584/613/62 588/620/62 +f 584/613/62 586/615/62 588/620/62 +f 581/623/59 579/757/59 589/758/59 +f 589/758/59 587/759/59 581/623/59 +f 587/759/59 585/616/59 581/623/59 +f 593/624/62 594/630/62 592/625/62 +f 595/627/59 597/633/59 598/628/59 +f 594/630/58 597/633/58 595/631/58 +f 593/624/60 598/628/60 597/633/60 +f 591/634/57 596/760/57 598/628/57 +f 601/635/62 602/761/62 600/636/62 +f 603/638/59 605/762/59 606/639/59 +f 601/635/58 606/639/58 605/641/58 +f 599/637/60 604/640/60 606/639/60 +f 607/645/57 608/763/57 609/764/57 +f 609/764/57 610/765/57 611/643/57 +f 611/643/57 612/766/57 613/767/57 +f 613/767/57 614/768/57 611/643/57 +f 614/768/57 615/644/57 611/643/57 +f 615/644/57 616/769/57 617/770/57 +f 617/770/57 618/771/57 607/645/57 +f 607/645/57 609/764/57 611/643/57 +f 615/644/57 617/770/57 607/645/57 +f 630/647/58 619/772/58 622/648/58 +f 619/772/58 620/773/58 622/648/58 +f 620/773/58 621/774/58 622/648/58 +f 622/648/58 623/775/58 624/776/58 +f 624/776/58 625/777/58 622/648/58 +f 625/777/58 626/778/58 622/648/58 +f 626/778/58 627/779/58 628/646/58 +f 628/646/58 629/780/58 630/647/58 +f 626/778/58 628/646/58 622/648/58 +s 1 +f 194/781/72 195/782/59 193/783/72 +f 196/784/59 197/785/73 195/782/59 +f 198/786/73 199/787/74 197/785/73 +f 200/788/74 201/789/75 199/787/74 +f 209/790/60 220/791/76 208/792/76 +f 206/793/59 217/794/73 205/795/73 +f 213/796/77 224/797/62 212/798/62 +f 210/799/78 221/800/60 209/801/60 +f 207/802/79 218/803/59 206/793/59 +f 214/804/80 225/805/77 213/796/77 +f 204/806/74 215/807/63 203/808/63 +f 211/809/81 222/810/78 210/799/78 +f 208/792/76 219/811/79 207/802/79 +f 203/808/63 226/812/80 214/804/80 +f 205/795/73 216/813/74 204/806/74 +f 212/798/62 223/814/81 211/809/81 +f 228/815/82 229/816/80 227/817/82 +f 230/818/80 231/819/77 229/816/80 +f 232/820/77 233/821/62 231/819/77 +f 234/822/62 235/823/83 233/821/62 +f 243/824/60 254/825/76 242/826/76 +f 240/827/59 251/828/73 239/829/73 +f 247/830/77 258/831/62 246/832/62 +f 244/833/78 255/834/60 243/835/60 +f 241/836/79 252/837/59 240/827/59 +f 248/838/80 259/839/77 247/830/77 +f 238/840/74 249/841/63 237/842/63 +f 245/843/81 256/844/78 244/833/78 +f 242/826/76 253/845/79 241/836/79 +f 237/842/63 260/846/80 248/838/80 +f 239/829/73 250/847/74 238/840/74 +f 246/832/62 257/848/81 245/843/81 +f 266/849/79 299/850/76 264/851/76 +f 299/850/76 262/852/84 264/851/76 +f 265/853/84 296/854/85 262/852/84 +f 270/855/86 329/856/87 269/857/86 +f 202/858/75 227/859/82 201/789/75 +f 329/856/88 194/781/72 193/783/72 +f 277/860/60 288/861/76 276/862/76 +f 274/863/59 285/864/73 273/865/73 +f 281/866/77 292/867/62 280/868/62 +f 278/869/78 289/870/60 277/871/60 +f 275/872/79 286/873/59 274/863/59 +f 282/874/80 293/875/77 281/866/77 +f 272/876/74 283/877/63 271/878/63 +f 279/879/81 290/880/78 278/869/78 +f 276/862/76 287/881/79 275/872/79 +f 271/878/63 294/882/80 282/874/80 +f 273/865/73 284/883/74 272/876/74 +f 280/868/62 291/884/81 279/879/81 +f 331/885/89 298/886/90 297/887/90 +f 236/888/83 331/885/91 235/823/83 +f 311/889/60 322/890/76 310/891/76 +f 308/892/59 319/893/73 307/894/73 +f 315/895/77 326/896/62 314/897/62 +f 312/898/78 323/899/60 311/900/60 +f 309/901/79 320/902/59 308/892/59 +f 316/903/80 327/904/77 315/895/77 +f 306/905/74 317/906/63 305/907/63 +f 313/908/81 324/909/78 312/898/78 +f 310/891/76 321/910/79 309/901/79 +f 305/907/63 328/911/80 316/903/80 +f 307/894/73 318/912/74 306/905/74 +f 314/897/62 325/913/81 313/908/81 +f 301/914/92 266/849/79 268/915/59 +f 296/854/85 365/916/78 304/917/78 +f 304/917/78 366/918/81 302/919/81 +f 366/918/81 300/920/62 302/919/81 +f 336/921/58 337/922/93 335/923/58 +f 338/924/93 339/925/63 337/922/93 +f 340/926/63 341/927/94 339/928/63 +f 342/929/94 343/930/57 341/927/94 +f 344/931/57 345/932/66 343/930/57 +f 346/933/66 347/934/60 345/932/66 +f 348/935/60 349/936/67 347/934/60 +f 350/937/67 335/923/58 349/936/67 +f 363/938/95 364/939/96 297/887/90 +f 301/914/92 270/855/86 269/857/86 +f 410/940/97 411/941/98 409/942/99 +f 414/943/100 415/944/101 413/945/102 +f 416/946/103 417/947/104 415/944/101 +f 418/948/105 419/949/106 417/947/104 +f 420/950/107 421/951/108 419/949/106 +f 418/952/105 442/953/109 443/954/110 +f 411/955/98 430/956/111 409/942/99 +f 431/695/112 433/957/113 434/958/114 +f 409/942/99 429/959/115 424/960/116 +f 419/961/106 436/962/117 435/963/118 +f 419/961/106 434/958/114 417/964/104 +f 417/964/104 433/957/113 415/944/101 +f 413/965/102 433/957/113 432/694/119 +f 442/953/109 441/966/120 440/967/121 +f 439/968/122 446/969/123 447/970/62 +f 423/971/124 439/968/122 410/972/97 +f 414/973/100 442/953/109 416/974/103 +f 412/975/125 439/968/122 440/967/121 +f 420/976/107 445/977/126 422/978/127 +f 418/952/105 444/979/128 420/976/107 +f 435/963/118 430/956/111 434/958/114 +f 448/980/62 444/979/128 447/970/62 +f 430/956/111 437/981/59 429/959/115 +f 435/963/118 438/982/59 437/981/59 +f 444/979/128 439/968/122 447/970/62 +f 462/983/62 455/984/129 463/985/129 +f 460/986/57 453/987/124 461/988/124 +f 458/989/59 451/990/116 459/991/116 +f 464/992/58 449/993/130 457/994/130 +f 463/985/129 456/995/58 464/992/58 +f 461/988/124 454/996/62 462/997/62 +f 459/991/116 452/998/57 460/986/57 +f 457/994/130 450/999/59 458/989/59 +f 478/1000/62 471/1001/129 479/1002/129 +f 476/1003/57 469/1004/124 477/1005/124 +f 474/1006/59 467/1007/116 475/1008/116 +f 480/1009/58 465/1010/130 473/1011/130 +f 479/1002/129 472/1012/58 480/1009/58 +f 477/1005/124 470/1013/62 478/1014/62 +f 475/1008/116 468/1015/57 476/1003/57 +f 473/1011/130 466/1016/59 474/1006/59 +f 483/718/131 490/1017/132 484/1018/131 +f 490/1017/132 481/1019/133 482/1020/133 +f 488/1021/134 483/718/61 484/1018/61 +f 485/1022/135 488/1021/134 486/1023/135 +f 498/1024/130 505/1025/59 497/1026/59 +f 496/1027/116 503/1028/57 495/1029/57 +f 494/1030/124 501/1031/62 493/1032/62 +f 492/1033/129 499/1034/58 491/1035/58 +f 491/1035/58 506/1036/130 498/1024/130 +f 497/1026/59 504/1037/116 496/1027/116 +f 495/1029/57 502/1038/124 494/1030/124 +f 493/1039/62 500/1040/129 492/1033/129 +f 514/1041/130 521/1042/59 513/1043/59 +f 512/1044/116 519/1045/57 511/1046/57 +f 510/1047/124 517/1048/62 509/1049/62 +f 508/1050/129 515/1051/58 507/1052/58 +f 507/1052/58 522/1053/130 514/1041/130 +f 513/1043/59 520/1054/116 512/1044/116 +f 511/1046/57 518/1055/124 510/1047/124 +f 509/1056/62 516/1057/129 508/1050/129 +f 627/1058/129 611/1059/136 610/1060/129 +f 615/1061/137 621/1062/130 616/1063/130 +f 612/1064/138 624/1065/93 613/1066/93 +f 611/1059/136 625/1067/138 612/1064/138 +f 630/1068/67 608/1069/139 607/1070/67 +f 621/1062/130 617/1071/140 616/1063/130 +f 624/1072/93 614/1073/141 613/1074/93 +f 629/1075/139 609/1076/142 608/1069/139 +f 617/1071/140 619/1077/143 618/1078/143 +f 623/1079/141 615/1061/137 614/1073/141 +f 609/1076/142 627/1058/129 610/1060/129 +f 618/1078/143 630/1068/67 607/1070/67 +f 194/781/72 196/784/59 195/782/59 +f 196/784/59 198/786/73 197/785/73 +f 198/786/73 200/788/74 199/787/74 +f 200/788/74 202/858/75 201/789/75 +f 209/790/60 221/1080/60 220/791/76 +f 206/793/59 218/803/59 217/794/73 +f 213/796/77 225/805/77 224/797/62 +f 210/799/78 222/810/78 221/800/60 +f 207/802/79 219/811/79 218/803/59 +f 214/804/80 226/812/80 225/805/77 +f 204/806/74 216/813/74 215/807/63 +f 211/809/81 223/814/81 222/810/78 +f 208/792/76 220/791/76 219/811/79 +f 203/808/63 215/807/63 226/812/80 +f 205/795/73 217/794/73 216/813/74 +f 212/798/62 224/797/62 223/814/81 +f 228/815/82 230/818/80 229/816/80 +f 230/818/80 232/820/77 231/819/77 +f 232/820/77 234/822/62 233/821/62 +f 234/822/62 236/888/83 235/823/83 +f 243/824/60 255/1081/60 254/825/76 +f 240/827/59 252/837/59 251/828/73 +f 247/830/77 259/839/77 258/831/62 +f 244/833/78 256/844/78 255/834/60 +f 241/836/79 253/845/79 252/837/59 +f 248/838/80 260/846/80 259/839/77 +f 238/840/74 250/847/74 249/841/63 +f 245/843/81 257/848/81 256/844/78 +f 242/826/76 254/825/76 253/845/79 +f 237/842/63 249/841/63 260/846/80 +f 239/829/73 251/828/73 250/847/74 +f 246/832/62 258/831/62 257/848/81 +f 266/849/79 295/1082/79 299/850/76 +f 299/850/76 265/853/84 262/852/84 +f 265/853/84 361/1083/85 296/854/85 +f 270/855/86 330/1084/87 329/856/87 +f 202/858/75 228/1085/82 227/859/82 +f 329/856/88 330/1084/88 194/781/72 +f 277/860/60 289/1086/60 288/861/76 +f 274/863/59 286/873/59 285/864/73 +f 281/866/77 293/875/77 292/867/62 +f 278/869/78 290/880/78 289/870/60 +f 275/872/79 287/881/79 286/873/59 +f 282/874/80 294/882/80 293/875/77 +f 272/876/74 284/883/74 283/877/63 +f 279/879/81 291/884/81 290/880/78 +f 276/862/76 288/861/76 287/881/79 +f 271/878/63 283/877/63 294/882/80 +f 273/865/73 285/864/73 284/883/74 +f 280/868/62 292/867/62 291/884/81 +f 331/885/89 332/1087/89 298/886/90 +f 236/888/83 332/1087/91 331/885/91 +f 311/889/60 323/1088/60 322/890/76 +f 308/892/59 320/902/59 319/893/73 +f 315/895/77 327/904/77 326/896/62 +f 312/898/78 324/909/78 323/899/60 +f 309/901/79 321/910/79 320/902/59 +f 316/903/80 328/911/80 327/904/77 +f 306/905/74 318/912/74 317/906/63 +f 313/908/81 325/913/81 324/909/78 +f 310/891/76 322/890/76 321/910/79 +f 305/907/63 317/906/63 328/911/80 +f 307/894/73 319/893/73 318/912/74 +f 314/897/62 326/896/62 325/913/81 +f 301/914/92 295/1082/79 266/849/79 +f 296/854/85 361/1083/85 365/916/78 +f 304/917/78 365/916/78 366/918/81 +f 366/918/81 363/938/95 300/920/62 +f 336/921/58 338/924/93 337/922/93 +f 338/924/93 340/1089/63 339/925/63 +f 340/926/63 342/929/94 341/927/94 +f 342/929/94 344/931/57 343/930/57 +f 344/931/57 346/933/66 345/932/66 +f 346/933/66 348/935/60 347/934/60 +f 348/935/60 350/937/67 349/936/67 +f 350/937/67 336/921/58 335/923/58 +f 297/887/90 298/886/90 363/938/95 +f 298/886/90 300/920/62 363/938/95 +f 269/857/86 267/1090/144 301/914/92 +f 301/914/92 268/915/59 270/855/86 +f 410/940/97 412/1091/125 411/941/98 +f 414/943/100 416/946/103 415/944/101 +f 416/946/103 418/948/105 417/947/104 +f 418/948/105 420/950/107 419/949/106 +f 420/950/107 422/1092/127 421/951/108 +f 418/952/105 416/974/103 442/953/109 +f 411/955/98 431/695/112 430/956/111 +f 434/958/114 430/956/111 431/695/112 +f 431/695/112 432/694/119 433/957/113 +f 409/942/99 430/956/111 429/959/115 +f 419/961/106 421/951/108 436/962/117 +f 419/961/106 435/963/118 434/958/114 +f 417/964/104 434/958/114 433/957/113 +f 413/965/102 415/944/101 433/957/113 +f 439/968/122 443/954/110 440/967/121 +f 443/954/110 442/953/109 440/967/121 +f 423/971/124 446/969/123 439/968/122 +f 414/973/100 441/966/120 442/953/109 +f 412/975/125 410/972/97 439/968/122 +f 420/976/107 444/979/128 445/977/126 +f 418/952/105 443/954/110 444/979/128 +f 435/963/118 437/981/59 430/956/111 +f 448/980/62 445/977/126 444/979/128 +f 435/963/118 436/962/117 438/982/59 +f 444/979/128 443/954/110 439/968/122 +f 462/983/62 454/1093/62 455/984/129 +f 460/986/57 452/998/57 453/987/124 +f 458/989/59 450/999/59 451/990/116 +f 464/992/58 456/995/58 449/993/130 +f 463/985/129 455/984/129 456/995/58 +f 461/988/124 453/987/124 454/996/62 +f 459/991/116 451/990/116 452/998/57 +f 457/994/130 449/993/130 450/999/59 +f 478/1000/62 470/1094/62 471/1001/129 +f 476/1003/57 468/1015/57 469/1004/124 +f 474/1006/59 466/1016/59 467/1007/116 +f 480/1009/58 472/1012/58 465/1010/130 +f 479/1002/129 471/1001/129 472/1012/58 +f 477/1005/124 469/1004/124 470/1013/62 +f 475/1008/116 467/1007/116 468/1015/57 +f 473/1011/130 465/1010/130 466/1016/59 +f 483/718/131 489/1095/132 490/1017/132 +f 490/1017/132 489/1095/132 481/1019/133 +f 488/1021/134 487/1096/134 483/718/61 +f 485/1022/135 487/1096/134 488/1021/134 +f 498/1024/130 506/1036/130 505/1025/59 +f 496/1027/116 504/1037/116 503/1028/57 +f 494/1030/124 502/1038/124 501/1031/62 +f 492/1033/129 500/1040/129 499/1034/58 +f 491/1035/58 499/1034/58 506/1036/130 +f 497/1026/59 505/1025/59 504/1037/116 +f 495/1029/57 503/1028/57 502/1038/124 +f 493/1039/62 501/1097/62 500/1040/129 +f 514/1041/130 522/1053/130 521/1042/59 +f 512/1044/116 520/1054/116 519/1045/57 +f 510/1047/124 518/1055/124 517/1048/62 +f 508/1050/129 516/1057/129 515/1051/58 +f 507/1052/58 515/1051/58 522/1053/130 +f 513/1043/59 521/1042/59 520/1054/116 +f 511/1046/57 519/1045/57 518/1055/124 +f 509/1056/62 517/1098/62 516/1057/129 +f 627/1058/129 626/1099/136 611/1059/136 +f 615/1061/137 622/1100/137 621/1062/130 +f 612/1064/138 625/1067/138 624/1065/93 +f 611/1059/136 626/1099/136 625/1067/138 +f 630/1068/67 629/1075/139 608/1069/139 +f 621/1062/130 620/1101/140 617/1071/140 +f 624/1072/93 623/1079/141 614/1073/141 +f 629/1075/139 628/1102/142 609/1076/142 +f 617/1071/140 620/1101/140 619/1077/143 +f 623/1079/141 622/1100/137 615/1061/137 +f 609/1076/142 628/1102/142 627/1058/129 +f 618/1078/143 619/1077/143 630/1068/67 +o Latch +v 0.125000 1.000000 1.000000 +v -0.125000 1.000000 1.000000 +v 0.125000 1.000000 -0.625000 +v -0.125000 1.000000 -0.625000 +v 0.125000 1.312500 1.000000 +v -0.125000 1.312500 1.000000 +v 0.125000 1.312500 -0.625000 +v -0.125000 1.312500 -0.625000 +v 0.500000 1.312500 -0.625000 +v 0.500000 1.000000 -0.625000 +v -0.500000 1.312500 -0.625000 +v -0.500000 1.000000 -0.625000 +v 0.500000 1.000000 -0.875000 +v 0.500000 1.312500 -0.875000 +v -0.500000 1.312500 -0.875000 +v -0.500000 1.000000 -0.875000 +v 0.500000 1.062500 -0.937500 +v 0.500000 1.250000 -0.937500 +v -0.500000 1.250000 -0.937500 +v -0.500000 1.062500 -0.937500 +vt 0.953704 0.522727 +vt 0.972222 0.522727 +vt 0.972222 0.551136 +vt 1.000000 0.323864 +vt 0.981481 0.471591 +vt 0.981481 0.323864 +vt 0.958333 0.471591 +vt 0.939815 0.323864 +vt 0.958333 0.323864 +vt 0.916667 0.323864 +vt 0.939815 0.471591 +vt 0.916667 0.471591 +vt 0.958333 0.295455 +vt 0.939815 0.295455 +vt 0.875000 0.500000 +vt 0.949074 0.471591 +vt 0.949074 0.500000 +vt 0.949074 0.522727 +vt 0.875000 0.528409 +vt 0.875000 0.522727 +vt 0.875000 0.573864 +vt 0.949074 0.551136 +vt 0.949074 0.573864 +vt 0.870370 0.551136 +vt 0.851852 0.551136 +vt 0.851852 0.522727 +vt 0.949074 0.545455 +vt 0.949074 0.528409 +vt 0.875000 0.551136 +vt 0.953704 0.551136 +vt 1.000000 0.471591 +vt 0.875000 0.471591 +vt 0.870370 0.522727 +vt 0.875000 0.545455 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.7071 -0.7071 +s off +f 644/1103/145 639/1104/145 640/1105/145 +f 632/1106/146 633/1107/146 631/1108/146 +f 637/1109/147 636/1110/147 635/1111/147 +f 632/1112/148 638/1113/148 634/1114/148 +f 631/1115/149 636/1110/149 632/1116/149 +f 633/1107/145 635/1111/145 631/1108/145 +f 641/1117/149 640/1118/149 639/1119/149 +f 644/1120/150 649/1121/150 645/1122/150 +f 639/1119/147 645/1122/147 641/1117/147 +f 642/1123/146 643/1124/146 640/1125/146 +f 646/1126/148 642/1127/148 641/1128/148 +f 647/1129/151 649/1121/151 648/1130/151 +f 646/1131/152 647/1129/152 643/1124/152 +f 640/1105/145 643/1132/145 644/1103/145 +f 643/1132/145 647/1129/145 644/1103/145 +f 647/1129/145 648/1130/145 644/1103/145 +f 632/1106/146 634/1133/146 633/1107/146 +f 637/1109/147 638/1113/147 636/1110/147 +f 632/1112/148 636/1110/148 638/1113/148 +f 631/1115/149 635/1111/149 636/1110/149 +f 633/1107/145 637/1109/145 635/1111/145 +f 641/1117/149 642/1134/149 640/1118/149 +f 644/1120/150 648/1130/150 649/1121/150 +f 639/1119/147 644/1120/147 645/1122/147 +f 642/1123/146 646/1131/146 643/1124/146 +f 641/1128/148 645/1135/148 646/1126/148 +f 645/1135/148 649/1121/148 646/1126/148 +f 649/1121/148 650/1136/148 646/1126/148 +f 647/1129/151 650/1136/151 649/1121/151 +f 646/1131/152 650/1136/152 647/1129/152 +o Gun +v -0.500000 0.000000 0.000000 +v 0.500000 0.000000 0.000000 +v -0.500000 1.000000 -0.750000 +v -0.500000 1.000000 0.000000 +v 0.500000 1.000000 0.000000 +v 0.500000 1.000000 -0.750000 +v 0.500000 0.500000 0.000000 +v 0.500000 0.500000 -0.750000 +v 0.500000 0.000000 1.000000 +v -0.500000 0.000000 1.000000 +v -0.500000 0.500000 0.000000 +v -0.500000 0.500000 -0.750000 +v 0.625000 0.500000 0.000000 +v 0.625000 0.500000 -0.750000 +v 0.625000 0.000000 1.000000 +v -0.625000 0.000000 1.000000 +v -0.625000 0.500000 0.000000 +v -0.625000 0.500000 -0.750000 +v 0.500000 -0.125000 1.000000 +v -0.500000 -0.125000 1.000000 +v 0.625000 0.000000 -0.750000 +v -0.625000 0.000000 -0.750000 +v 0.500000 -0.125000 -0.750000 +v -0.500000 -0.125000 -0.750000 +v 0.187500 -0.750000 0.500000 +v 0.187500 -0.125000 0.250000 +v 0.187500 -0.750000 1.000000 +v 0.187500 -0.125000 1.000000 +v 0.437500 -0.750000 0.500000 +v 0.437500 -0.125000 0.250000 +v 0.437500 -0.750000 1.000000 +v 0.437500 -0.125000 1.000000 +v 0.437500 -0.500000 0.500000 +v 0.437500 -0.323223 0.573223 +v 0.437500 -0.250000 0.750000 +v 0.437500 -0.323223 0.926777 +v 0.437500 -0.500000 1.000000 +v 0.437500 -0.676777 0.926777 +v 0.437500 -0.750000 0.750000 +v 0.437500 -0.676777 0.573223 +v 0.559000 -0.323223 0.573223 +v 0.559000 -0.500000 0.500000 +v 0.559000 -0.250000 0.750000 +v 0.559000 -0.323223 0.926777 +v 0.559000 -0.500000 1.000000 +v 0.559000 -0.676777 0.926777 +v 0.559000 -0.750000 0.750000 +v 0.559000 -0.676777 0.573223 +v -0.500000 0.125000 -0.750000 +v -0.250000 -0.125000 -0.750000 +v 0.250000 -0.125000 -0.750000 +v 0.500000 0.125000 -0.750000 +v -0.250000 0.875000 -0.750000 +v -0.500000 0.625000 -0.750000 +v 0.500000 0.625000 -0.750000 +v 0.250000 0.875000 -0.750000 +v -0.250000 -0.125000 -2.500000 +v -0.500000 0.125000 -2.500000 +v 0.500000 0.125000 -2.500000 +v 0.250000 -0.125000 -2.500000 +v -0.500000 0.625000 -2.500000 +v -0.250000 0.875000 -2.500000 +v 0.250000 0.875000 -2.500000 +v 0.500000 0.625000 -2.500000 +v 0.695083 0.632582 -0.687500 +v 0.750000 0.500000 -0.687500 +v 0.695083 0.367418 -0.687500 +v 0.562500 0.312500 -0.687500 +v 0.429917 0.367417 -0.687500 +v 0.375000 0.500000 -0.687500 +v 0.429917 0.632583 -0.687500 +v 0.562500 0.687500 -0.687500 +v 0.695083 0.632582 -2.562500 +v 0.750000 0.500000 -2.562500 +v 0.562500 0.312500 -2.562500 +v 0.429917 0.367417 -2.562500 +v 0.375000 0.500000 -2.562500 +v 0.429917 0.632583 -2.562500 +v 0.562500 0.687500 -2.562500 +v 0.695083 0.367418 -2.562500 +v 0.125000 -0.125000 -0.500000 +v -0.125000 -0.125000 -0.500000 +v 0.125000 -2.125000 -1.250000 +v -0.125000 -2.125000 -1.250000 +v 0.125000 -2.125000 -2.000000 +v -0.125000 -2.125000 -2.000000 +v 0.125000 -1.875000 -2.250000 +v -0.125000 -1.875000 -2.250000 +v 0.125000 -0.500000 -1.625000 +v -0.125000 -0.500000 -1.625000 +v 0.125000 -0.250000 -1.625000 +v -0.125000 -0.250000 -1.625000 +v 0.125000 -0.250000 -2.500000 +v -0.125000 -0.250000 -2.500000 +v 0.125000 -0.125000 -2.500000 +v -0.125000 -0.125000 -2.500000 +v 0.125000 -0.125000 -1.500000 +v -0.125000 -0.125000 -1.500000 +v 0.250000 -0.125000 -0.625000 +v 0.250000 -2.125000 -1.375000 +v 0.250000 -2.125000 -1.875000 +v 0.250000 -1.875000 -2.125000 +v 0.250000 -0.500000 -1.500000 +v 0.250000 -0.250000 -1.500000 +v 0.250000 -0.125000 -1.375000 +v -0.250000 -2.125000 -1.375000 +v -0.250000 -0.125000 -0.625000 +v -0.250000 -2.125000 -1.875000 +v -0.250000 -1.875000 -2.125000 +v -0.250000 -0.500000 -1.500000 +v -0.250000 -0.250000 -1.500000 +v -0.250000 -0.125000 -1.375000 +v 0.062500 -2.125000 -1.250000 +v -0.062500 -2.125000 -1.250000 +v 0.062500 -0.375000 0.250000 +v -0.062500 -0.375000 0.250000 +v 0.062500 -0.125000 0.250000 +v -0.062500 -0.125000 0.250000 +v 0.062500 -0.125000 -0.500000 +v -0.062500 -0.125000 -0.500000 +v 0.093750 -0.750000 0.875000 +v -0.093750 -0.750000 0.875000 +v 0.093750 -0.750000 0.687500 +v -0.093750 -0.750000 0.687500 +v 0.093750 -1.750000 0.375000 +v -0.093750 -1.750000 0.375000 +v 0.093750 -1.625000 0.250000 +v -0.093750 -1.625000 0.250000 +v 0.093750 -2.125000 -1.250000 +v -0.093750 -2.125000 -1.250000 +v 0.093750 -2.000000 -1.250000 +v -0.093750 -2.000000 -1.250000 v 0.562500 0.625000 -2.562500 v 0.474112 0.588388 -2.562500 v 0.437500 0.500000 -2.562500 @@ -672,106 +3333,6 @@ v 0.187500 -2.286612 -7.599112 v 0.187500 -2.463388 -7.599112 v 0.187500 -2.500000 -7.687500 v 0.187500 -2.463388 -7.775888 -v 0.250000 0.437500 0.000000 -v 0.156250 0.412380 0.000000 -v 0.087620 0.343750 0.000000 -v 0.062500 0.250000 0.000000 -v 0.087620 0.156250 0.000000 -v 0.156250 0.087620 0.000000 -v 0.250000 0.062500 0.000000 -v 0.343750 0.087620 0.000000 -v 0.412380 0.156250 0.000000 -v 0.437500 0.250000 0.000000 -v 0.412380 0.343750 0.000000 -v 0.343750 0.412380 0.000000 -v 0.250000 0.437500 1.000000 -v 0.156250 0.412380 1.000000 -v 0.087620 0.343750 1.000000 -v 0.062500 0.250000 1.000000 -v 0.087620 0.156250 1.000000 -v 0.156250 0.087620 1.000000 -v 0.250000 0.062500 1.000000 -v 0.343750 0.087620 1.000000 -v 0.412380 0.156250 1.000000 -v 0.437500 0.250000 1.000000 -v 0.412380 0.343750 1.000000 -v 0.343750 0.412380 1.000000 -v 0.250000 0.460938 0.000000 -v 0.144531 0.432677 0.000000 -v 0.067323 0.355469 0.000000 -v 0.039062 0.250000 0.000000 -v 0.067323 0.144531 0.000000 -v 0.144531 0.067323 0.000000 -v 0.250000 0.039062 0.000000 -v 0.355469 0.067322 0.000000 -v 0.432677 0.144531 0.000000 -v 0.460938 0.250000 0.000000 -v 0.432677 0.355469 0.000000 -v 0.355469 0.432677 0.000000 -v 0.250000 0.460938 -0.062500 -v 0.144531 0.432677 -0.062500 -v 0.067323 0.355469 -0.062500 -v 0.039062 0.250000 -0.062500 -v 0.067323 0.144531 -0.062500 -v 0.144531 0.067323 -0.062500 -v 0.250000 0.039062 -0.062500 -v 0.355469 0.067322 -0.062500 -v 0.432677 0.144531 -0.062500 -v 0.460938 0.250000 -0.062500 -v 0.432677 0.355469 -0.062500 -v 0.355469 0.432677 -0.062500 -v 0.510000 1.000000 1.000000 -v 0.510000 0.750000 0.000000 -v 0.510000 0.750000 1.000000 -v 0.510000 1.000000 0.000000 -v -0.510000 1.000000 1.000000 -v -0.510000 1.000000 0.000000 -v -0.510000 0.750000 1.000000 -v -0.510000 0.750000 0.000000 -v -0.125000 1.000000 1.000000 -v -0.125000 1.312500 1.000000 -v -0.125000 1.000000 2.000000 -v -0.125000 1.312500 1.250000 -v -0.250000 1.312500 1.000000 -v -0.250000 1.000000 2.000000 -v -0.250000 1.312500 1.250000 -v -0.250000 1.000000 1.000000 -v -0.125000 1.000000 1.000000 -v -0.500000 1.000000 1.000000 -v -0.125000 1.312500 1.000000 -v -0.500000 1.312500 1.000000 -v -0.125000 1.437500 0.875000 -v -0.500000 1.437500 0.875000 -v -0.125000 1.437500 0.625000 -v -0.500000 1.437500 0.625000 -v -0.125000 1.312500 0.500000 -v -0.500000 1.312500 0.500000 -v -0.125000 1.000000 0.500000 -v -0.500000 1.000000 0.500000 -v -0.187500 1.437500 0.875000 -v -0.187500 1.437500 0.625000 -v -0.187500 1.562500 0.875000 -v -0.187500 1.562500 0.625000 -v -0.125000 1.437500 0.625000 -v -0.125000 1.437500 0.875000 -v -0.125000 1.562500 0.625000 -v -0.125000 1.562500 0.875000 -v -0.125000 1.000000 0.000000 -v -0.500000 1.000000 0.000000 -v -0.125000 1.312500 -0.312500 -v -0.500000 1.312500 -0.312500 -v -0.125000 1.312500 -0.625000 -v -0.500000 1.312500 -0.625000 -v -0.125000 1.000000 -0.625000 -v -0.500000 1.000000 -0.625000 -v -0.250000 1.312500 0.500000 -v -0.250000 1.000000 0.500000 -v -0.250000 1.312500 0.000000 -v -0.250000 1.000000 0.000000 -v -0.125000 1.000000 0.500000 -v -0.125000 1.312500 0.500000 -v -0.125000 1.000000 0.000000 -v -0.125000 1.312500 0.000000 v -0.437500 -0.750000 0.500000 v -0.437500 -0.125000 0.250000 v -0.437500 -0.750000 1.000000 @@ -780,150 +3341,6 @@ v -0.187500 -0.750000 0.500000 v -0.187500 -0.125000 0.250000 v -0.187500 -0.750000 1.000000 v -0.187500 -0.125000 1.000000 -v -0.250000 0.437500 0.000000 -v -0.343750 0.412380 0.000000 -v -0.412380 0.343750 0.000000 -v -0.437500 0.250000 0.000000 -v -0.412380 0.156250 0.000000 -v -0.343750 0.087620 0.000000 -v -0.250000 0.062500 0.000000 -v -0.156250 0.087620 0.000000 -v -0.087620 0.156250 0.000000 -v -0.062500 0.250000 0.000000 -v -0.087620 0.343750 0.000000 -v -0.156250 0.412380 0.000000 -v -0.250000 0.437500 1.000000 -v -0.343750 0.412380 1.000000 -v -0.412380 0.343750 1.000000 -v -0.437500 0.250000 1.000000 -v -0.412380 0.156250 1.000000 -v -0.343750 0.087620 1.000000 -v -0.250000 0.062500 1.000000 -v -0.156250 0.087620 1.000000 -v -0.087620 0.156250 1.000000 -v -0.062500 0.250000 1.000000 -v -0.087620 0.343750 1.000000 -v -0.156250 0.412380 1.000000 -v -0.250000 0.460938 0.000000 -v -0.355469 0.432677 0.000000 -v -0.432677 0.355469 0.000000 -v -0.460938 0.250000 0.000000 -v -0.432677 0.144531 0.000000 -v -0.355469 0.067323 0.000000 -v -0.250000 0.039062 0.000000 -v -0.144531 0.067322 0.000000 -v -0.067323 0.144531 0.000000 -v -0.039062 0.250000 0.000000 -v -0.067323 0.355469 0.000000 -v -0.144531 0.432677 0.000000 -v -0.250000 0.460938 -0.062500 -v -0.355469 0.432677 -0.062500 -v -0.432677 0.355469 -0.062500 -v -0.460938 0.250000 -0.062500 -v -0.432677 0.144531 -0.062500 -v -0.355469 0.067323 -0.062500 -v -0.250000 0.039062 -0.062500 -v -0.144531 0.067322 -0.062500 -v -0.067323 0.144531 -0.062500 -v -0.039062 0.250000 -0.062500 -v -0.067323 0.355469 -0.062500 -v -0.144531 0.432677 -0.062500 -v 0.250000 0.937500 0.000000 -v 0.156250 0.912380 0.000000 -v 0.087620 0.843750 0.000000 -v 0.062500 0.750000 0.000000 -v 0.087620 0.656250 0.000000 -v 0.156250 0.587620 0.000000 -v 0.250000 0.562500 0.000000 -v 0.343750 0.587620 0.000000 -v 0.412380 0.656250 0.000000 -v 0.437500 0.750000 0.000000 -v 0.412380 0.843750 0.000000 -v 0.343750 0.912380 0.000000 -v 0.250000 0.937500 1.000000 -v 0.156250 0.912380 1.000000 -v 0.087620 0.843750 1.000000 -v 0.062500 0.750000 1.000000 -v 0.087620 0.656250 1.000000 -v 0.156250 0.587620 1.000000 -v 0.250000 0.562500 1.000000 -v 0.343750 0.587620 1.000000 -v 0.412380 0.656250 1.000000 -v 0.437500 0.750000 1.000000 -v 0.412380 0.843750 1.000000 -v 0.343750 0.912380 1.000000 -v 0.250000 0.960938 0.000000 -v 0.144531 0.932677 0.000000 -v 0.067323 0.855469 0.000000 -v 0.039062 0.750000 0.000000 -v 0.067323 0.644531 0.000000 -v 0.144531 0.567323 0.000000 -v 0.250000 0.539062 0.000000 -v 0.355469 0.567322 0.000000 -v 0.432677 0.644531 0.000000 -v 0.460938 0.750000 0.000000 -v 0.432677 0.855469 0.000000 -v 0.355469 0.932677 0.000000 -v 0.250000 0.960938 -0.062500 -v 0.144531 0.932677 -0.062500 -v 0.067323 0.855469 -0.062500 -v 0.039062 0.750000 -0.062500 -v 0.067323 0.644531 -0.062500 -v 0.144531 0.567323 -0.062500 -v 0.250000 0.539062 -0.062500 -v 0.355469 0.567322 -0.062500 -v 0.432677 0.644531 -0.062500 -v 0.460938 0.750000 -0.062500 -v 0.432677 0.855469 -0.062500 -v 0.355469 0.932677 -0.062500 -v -0.250000 0.937500 0.000000 -v -0.343750 0.912380 0.000000 -v -0.412380 0.843750 0.000000 -v -0.437500 0.750000 0.000000 -v -0.412380 0.656250 0.000000 -v -0.343750 0.587620 0.000000 -v -0.250000 0.562500 0.000000 -v -0.156250 0.587620 0.000000 -v -0.087620 0.656250 0.000000 -v -0.062500 0.750000 0.000000 -v -0.087620 0.843750 0.000000 -v -0.156250 0.912380 0.000000 -v -0.250000 0.937500 1.000000 -v -0.343750 0.912380 1.000000 -v -0.412380 0.843750 1.000000 -v -0.437500 0.750000 1.000000 -v -0.412380 0.656250 1.000000 -v -0.343750 0.587620 1.000000 -v -0.250000 0.562500 1.000000 -v -0.156250 0.587620 1.000000 -v -0.087620 0.656250 1.000000 -v -0.062500 0.750000 1.000000 -v -0.087620 0.843750 1.000000 -v -0.156250 0.912380 1.000000 -v -0.250000 0.960938 0.000000 -v -0.355469 0.932677 0.000000 -v -0.432677 0.855469 0.000000 -v -0.460938 0.750000 0.000000 -v -0.432677 0.644531 0.000000 -v -0.355469 0.567323 0.000000 -v -0.250000 0.539062 0.000000 -v -0.144531 0.567322 0.000000 -v -0.067323 0.644531 0.000000 -v -0.039062 0.750000 0.000000 -v -0.067323 0.855469 0.000000 -v -0.144531 0.932677 0.000000 -v -0.250000 0.960938 -0.062500 -v -0.355469 0.932677 -0.062500 -v -0.432677 0.855469 -0.062500 -v -0.460938 0.750000 -0.062500 -v -0.432677 0.644531 -0.062500 -v -0.355469 0.567323 -0.062500 -v -0.250000 0.539062 -0.062500 -v -0.144531 0.567322 -0.062500 -v -0.067323 0.644531 -0.062500 -v -0.039062 0.750000 -0.062500 -v -0.067323 0.855469 -0.062500 -v -0.144531 0.932677 -0.062500 v -0.437500 -0.500000 1.000000 v -0.437500 -0.323223 0.926777 v -0.437500 -0.250000 0.750000 @@ -1091,138 +3508,22 @@ v -0.474112 0.411612 -2.562500 v -0.437500 0.500000 -2.562500 v -0.474112 0.588388 -2.562500 v -0.562500 0.625000 -2.562500 -vt 0.055443 0.000276 -vt 0.062346 0.008193 -vt 0.055443 0.005923 -vt 0.071383 0.011570 -vt 0.064646 0.003302 -vt 0.069248 0.022865 -vt 0.067398 0.014394 -vt 0.071383 0.034160 -vt 0.073849 0.022865 -vt 0.002691 0.102479 -vt 0.004826 0.113774 -vt 0.000225 0.113774 -vt 0.002691 0.125069 -vt 0.018631 0.091185 -vt 0.011729 0.099102 -vt 0.009428 0.094211 -vt 0.006676 0.105303 -vt 0.009428 0.003302 -vt 0.006676 0.014394 -vt 0.002691 0.011570 -vt 0.018631 0.005923 -vt 0.011729 0.008193 -vt 0.002691 0.034160 -vt 0.004826 0.022865 -vt 0.006676 0.031336 -vt 0.000225 0.022865 -vt 0.071383 0.125069 -vt 0.069248 0.113774 -vt 0.073849 0.113774 -vt 0.071383 0.102479 -vt 0.067398 0.105303 -vt 0.064646 0.094211 -vt 0.055443 0.096832 -vt 0.055443 0.091185 -vt 0.087963 0.329545 -vt 0.092593 0.340909 -vt 0.083333 0.335227 -vt 0.071383 0.056749 -vt 0.069248 0.068044 -vt 0.067398 0.059573 -vt 0.071383 0.079339 -vt 0.073849 0.068044 -vt 0.064646 0.087607 -vt 0.067398 0.076515 -vt 0.055443 0.084986 -vt 0.062346 0.082716 -vt 0.002691 0.147658 -vt 0.004826 0.158953 -vt 0.000225 0.158953 -vt 0.111111 0.431818 -vt 0.111111 0.340909 -vt 0.074074 0.340909 -vt 0.092593 0.431818 -vt 0.074074 0.431818 -vt 0.037037 0.431818 -vt 0.037037 0.340909 -vt 0.018631 0.181542 -vt 0.025533 0.173625 -vt 0.048541 0.173625 -vt 0.069248 0.158953 -vt 0.071383 0.147658 -vt 0.073849 0.158953 -vt 0.073849 0.181542 -vt 0.062346 0.173625 -vt 0.067398 0.167424 -vt 0.009428 0.087607 -vt 0.018631 0.084986 -vt 0.018631 0.090633 -vt 0.006676 0.076515 -vt 0.011729 0.082716 -vt 0.002691 0.079339 -vt 0.004826 0.068044 -vt 0.002691 0.056749 -vt 0.000225 0.068044 -vt 0.000225 0.181542 -vt 0.006676 0.167424 -vt 0.011729 0.173625 -vt 0.011729 0.053372 -vt 0.009428 0.045455 -vt 0.011729 0.037537 -vt 0.048541 0.037537 -vt 0.043488 0.059573 -vt 0.025533 0.053372 -vt 0.018631 0.039807 -vt 0.018631 0.051102 -vt 0.041639 0.068044 -vt 0.030586 0.059573 -vt 0.055443 0.039807 -vt 0.048541 0.053372 -vt 0.043488 0.031336 -vt 0.032436 0.022865 -vt 0.041639 0.022865 -vt 0.062346 0.053372 -vt 0.062346 0.037537 -vt 0.064646 0.045455 -vt 0.055443 0.051102 -vt 0.030586 0.014394 -vt 0.043488 0.014394 -vt 0.025533 0.008193 -vt 0.048541 0.008193 -vt 0.043488 0.076515 -vt 0.032436 0.068044 -vt 0.048541 0.082716 -vt 0.055443 0.090633 -vt 0.025533 0.082716 -vt 0.011729 0.128446 -vt 0.006676 0.122245 -vt 0.011729 0.144281 -vt 0.009428 0.136364 -vt 0.062346 0.144281 -vt 0.064646 0.136364 -vt 0.062346 0.128446 -vt 0.018631 0.142011 -vt 0.055443 0.142011 -vt 0.055443 0.130716 -vt 0.043488 0.105303 -vt 0.032435 0.113774 -vt 0.030586 0.105303 -vt 0.025533 0.099102 -vt 0.048541 0.099102 -vt 0.041639 0.158953 -vt 0.030586 0.167424 -vt 0.032435 0.158953 -vt 0.043488 0.150482 -vt 0.030586 0.150482 -vt 0.048541 0.144281 -vt 0.048541 0.128446 -vt 0.041639 0.113774 -vt 0.030586 0.122245 -vt 0.025533 0.144281 -vt 0.018631 0.130716 -vt 0.025533 0.128446 +v 0.500000 1.000000 0.000000 +v 0.125000 1.000000 0.000000 +v 0.500000 1.312500 -0.312500 +v 0.125000 1.312500 -0.312500 +v 0.500000 1.312500 -0.625000 +v 0.125000 1.312500 -0.625000 +v 0.500000 1.000000 -0.625000 +v 0.125000 1.000000 -0.625000 +v -0.125000 1.000000 0.000000 +v -0.500000 1.000000 0.000000 +v -0.125000 1.312500 -0.312500 +v -0.500000 1.312500 -0.312500 +v -0.125000 1.312500 -0.625000 +v -0.500000 1.312500 -0.625000 +v -0.125000 1.000000 -0.625000 +v -0.500000 1.000000 -0.625000 vt 0.523148 0.568182 vt 0.578704 0.613636 vt 0.523148 0.613636 @@ -1238,26 +3539,6 @@ vt 0.439815 0.465909 vt 0.310185 0.420455 vt 0.310185 0.465909 vt 0.236111 0.465909 -vt 0.502268 0.673238 -vt 0.506944 0.670861 -vt 0.506944 0.687094 -vt 0.486111 0.670455 -vt 0.430556 0.704545 -vt 0.430556 0.670455 -vt 0.497732 0.673238 -vt 0.497732 0.684717 -vt 0.488379 0.684717 -vt 0.384259 0.704545 -vt 0.347222 0.704545 -vt 0.384259 0.670455 -vt 0.310185 0.704545 -vt 0.347222 0.670455 -vt 0.365741 0.625000 -vt 0.328704 0.602273 -vt 0.467593 0.602273 -vt 0.467593 0.772727 -vt 0.328704 0.772727 -vt 0.365741 0.750000 vt 0.652778 0.409091 vt 0.578704 0.397727 vt 0.652778 0.397727 @@ -1270,7 +3551,7 @@ vt 0.523148 0.625000 vt 0.226852 0.465909 vt 0.236111 0.568182 vt 0.226852 0.556818 -vt 0.237069 0.454560 +vt 0.236111 0.454545 vt 0.523148 0.465909 vt 0.652778 0.454545 vt 0.652778 0.465909 @@ -1283,73 +3564,6 @@ vt 0.347222 0.465909 vt 0.347222 0.556818 vt 0.476852 0.556818 vt 0.476852 0.465909 -vt 0.675926 0.596591 -vt 0.652778 0.630682 -vt 0.652778 0.596591 -vt 0.699074 0.596591 -vt 0.675926 0.630682 -vt 0.722222 0.596591 -vt 0.699074 0.630682 -vt 0.699074 0.659091 -vt 0.652778 0.659091 -vt 0.699074 0.568182 -vt 0.018519 0.340909 -vt 0.018519 0.431818 -vt 0.000000 0.340909 -vt 0.023148 0.329545 -vt 0.027778 0.335227 -vt -0.000000 0.607955 -vt 0.023148 0.642045 -vt -0.000000 0.642045 -vt 0.023148 0.607955 -vt 0.032407 0.642045 -vt 0.032407 0.607955 -vt 0.050926 0.642045 -vt 0.050926 0.607955 -vt 0.060185 0.642045 -vt 0.060185 0.607955 -vt 0.083333 0.642045 -vt 0.060185 0.653409 -vt 0.060185 0.681818 -vt 0.023148 0.681818 -vt 0.023148 0.596591 -vt 0.120370 0.642045 -vt 0.083333 0.670455 -vt 0.083333 0.642045 -vt 0.083333 0.602273 -vt 0.120370 0.630682 -vt 0.083333 0.630682 -vt 0.143519 0.630682 -vt 0.143519 0.642045 -vt 0.953704 0.522727 -vt 0.972222 0.522727 -vt 0.972222 0.551136 -vt 1.000000 0.323864 -vt 0.981481 0.471591 -vt 0.981481 0.323864 -vt 0.958333 0.471591 -vt 0.939815 0.323864 -vt 0.958333 0.323864 -vt 0.916667 0.323864 -vt 0.939815 0.471591 -vt 0.916667 0.471591 -vt 0.958333 0.295455 -vt 0.939815 0.295455 -vt 0.875000 0.500000 -vt 0.949074 0.471591 -vt 0.949074 0.500000 -vt 0.949074 0.522727 -vt 0.875000 0.528409 -vt 0.875000 0.522727 -vt 0.875000 0.573864 -vt 0.949074 0.551136 -vt 0.949074 0.573864 -vt 0.870370 0.551136 -vt 0.851852 0.551136 -vt 0.851852 0.522727 -vt 0.949074 0.545455 -vt 0.949074 0.528409 -vt 0.875000 0.551136 vt 0.263889 0.670455 vt 0.226852 0.613636 vt 0.282407 0.613636 @@ -1364,49 +3578,9 @@ vt 0.180556 0.670455 vt 0.162037 0.659195 vt 0.143434 0.636364 vt 0.162037 0.613532 -vt 0.166667 0.562500 -vt 0.185185 0.534091 -vt 0.185185 0.562500 -vt 0.185185 0.573864 -vt 0.166667 0.573864 -vt 0.111111 0.562500 -vt 0.185185 0.602273 -vt 0.648148 0.329545 -vt 0.611111 0.352273 -vt 0.611111 0.329545 -vt 0.134259 0.369318 -vt 0.555556 0.346591 -vt 0.555556 0.369318 -vt 0.555556 0.318182 -vt 0.134259 0.346591 -vt 0.111111 0.318182 -vt 0.111111 0.346591 -vt 0.111111 0.369318 -vt 0.555556 0.397727 -vt 0.578704 0.369318 -vt 0.578704 0.346591 -vt 0.722222 0.375000 -vt 0.722222 0.397727 -vt 0.648148 0.397727 -vt 0.722222 0.306818 -vt 0.722222 0.329545 -vt 0.648148 0.352273 -vt 0.907407 0.034091 -vt 0.916667 0.000000 -vt 0.944444 0.011364 -vt 0.740741 0.284091 -vt 0.722222 0.284091 -vt 0.740741 0.375000 -vt 0.740741 0.397727 -vt 0.750000 0.397727 -vt 0.731481 0.363636 -vt 0.740741 0.363636 -vt 0.750000 0.306818 -vt 0.740741 0.306818 vt 0.722222 -0.000000 vt 0.685185 0.159091 vt 0.685185 -0.000000 -vt 0.731481 0.318182 vt 0.666667 0.250000 vt 0.611111 0.227273 vt 0.629630 0.159091 @@ -1427,15 +3601,6 @@ vt 0.726852 0.283278 vt 0.685847 0.267046 vt 0.699074 0.250813 vt 0.712301 0.267045 -vt 0.805556 0.601731 -vt 0.796738 0.590909 -vt 0.805556 0.580087 -vt 0.736111 0.669642 -vt 0.722884 0.653409 -vt 0.736111 0.637176 -vt 0.777277 0.653381 -vt 0.764050 0.669614 -vt 0.750823 0.653381 vt 0.833333 0.295455 vt 0.824074 0.284091 vt 0.833333 0.250000 @@ -1469,162 +3634,6 @@ vt 0.699074 0.721591 vt 0.587963 0.738636 vt 0.587963 0.670455 vt 0.699074 0.687500 -vt 0.726852 0.534091 -vt 0.837963 0.568182 -vt 0.763889 0.534091 -vt 0.763889 0.534091 -vt 0.652778 0.568182 -vt 0.726852 0.534091 -vt 0.196368 0.480158 -vt 0.220299 0.480158 -vt 0.208333 0.505593 -vt 0.211665 0.522687 -vt 0.203704 0.528328 -vt 0.195742 0.511404 -vt 0.777277 0.653381 -vt 0.764050 0.669614 -vt 0.750823 0.653381 -vt 0.736111 0.669642 -vt 0.722884 0.653409 -vt 0.736111 0.637176 -vt 0.805556 0.601731 -vt 0.796738 0.590909 -vt 0.805556 0.580087 -vt 0.069444 0.585227 -vt 0.087963 0.596591 -vt 0.069444 0.596591 -vt 0.087963 0.568182 -vt 0.069444 0.579545 -vt 0.069444 0.568182 -vt 0.087963 0.585227 -vt 0.097222 0.579545 -vt 0.097222 0.585227 -vt 0.087963 0.579545 -vt 0.060185 0.585227 -vt 0.083333 0.477273 -vt 0.101852 0.488636 -vt 0.083333 0.488636 -vt 0.083333 0.443182 -vt 0.101852 0.454545 -vt 0.083333 0.454545 -vt 0.101852 0.477273 -vt 0.111111 0.488636 -vt 0.074074 0.477273 -vt 0.101852 0.465909 -vt 0.083333 0.500000 -vt 0.101852 0.443182 -vt 0.111111 0.454545 -vt 0.074074 0.443182 -vt 0.101852 0.431818 -vt 0.083333 0.465909 -vt 0.083333 0.443182 -vt 0.101852 0.454545 -vt 0.083333 0.454545 -vt 0.101852 0.443182 -vt 0.111111 0.454545 -vt 0.074074 0.443182 -vt 0.101852 0.431818 -vt 0.083333 0.465909 -vt 0.055556 0.562500 -vt 0.037037 0.505682 -vt 0.055556 0.505682 -vt 0.111111 0.522727 -vt 0.074074 0.545455 -vt 0.074074 0.522727 -vt 0.018519 0.545455 -vt 0.018519 0.522727 -vt 0.092593 0.500000 -vt 0.074074 0.500000 -vt 0.092593 0.568182 -vt 0.111111 0.545455 -vt 0.185185 0.500000 -vt 0.189815 0.488636 -vt 0.189815 0.500000 -vt 0.185185 0.431818 -vt 0.189815 0.443182 -vt 0.185185 0.443182 -vt 0.185185 0.409091 -vt 0.189815 0.397727 -vt 0.189815 0.409091 -vt 0.189815 0.511364 -vt 0.185185 0.511364 -vt 0.189815 0.454545 -vt 0.185185 0.454545 -vt 0.185185 0.465909 -vt 0.189815 0.477273 -vt 0.185185 0.477273 -vt 0.189815 0.420455 -vt 0.185185 0.420455 -vt 0.189815 0.522727 -vt 0.185185 0.522727 -vt 0.189815 0.465909 -vt 0.185185 0.488636 -vt 0.189815 0.431818 -vt 0.185185 0.534091 -vt 0.189815 0.534091 -vt 0.210648 0.437320 -vt 0.196742 0.427467 -vt 0.210648 0.397907 -vt 0.196303 0.446021 -vt 0.220365 0.446021 -vt 0.208334 0.471595 -vt 1.000000 0.863636 -vt 0.555556 1.000000 -vt 0.555556 0.863636 -vt 0.555556 1.000000 -vt 1.000000 0.863636 -vt 1.000000 1.000000 -vt 0.166667 0.562500 -vt 0.185185 0.534091 -vt 0.185185 0.562500 -vt 0.185185 0.573864 -vt 0.166667 0.573864 -vt 0.111111 0.562500 -vt 0.185185 0.602273 -vt -0.000000 0.607955 -vt 0.023148 0.642045 -vt -0.000000 0.642045 -vt 0.023148 0.607955 -vt 0.032407 0.642045 -vt 0.032407 0.607955 -vt 0.050926 0.642045 -vt 0.050926 0.607955 -vt 0.060185 0.642045 -vt 0.060185 0.607955 -vt 0.083333 0.642045 -vt 0.060185 0.653409 -vt 0.060185 0.681818 -vt 0.023148 0.681818 -vt 0.023148 0.596591 -vt 0.069444 0.585227 -vt 0.087963 0.596591 -vt 0.069444 0.596591 -vt 0.087963 0.568182 -vt 0.069444 0.579545 -vt 0.069444 0.568182 -vt 0.087963 0.585227 -vt 0.097222 0.579545 -vt 0.097222 0.585227 -vt 0.087963 0.579545 -vt 0.060185 0.585227 -vt 0.675926 0.596591 -vt 0.652778 0.630682 -vt 0.652778 0.596591 -vt 0.699074 0.596591 -vt 0.675926 0.630682 -vt 0.722222 0.596591 -vt 0.699074 0.630682 -vt 0.699074 0.659091 -vt 0.652778 0.659091 -vt 0.699074 0.568182 -vt 0.120370 0.642045 -vt 0.083333 0.670455 -vt 0.083333 0.642045 -vt 0.083333 0.602273 -vt 0.120370 0.630682 -vt 0.083333 0.630682 -vt 0.143519 0.630682 -vt 0.143519 0.642045 vt 0.263889 0.670455 vt 0.226852 0.613636 vt 0.282407 0.613636 @@ -1636,99 +3645,6 @@ vt 0.226852 0.693182 vt 0.226852 0.670455 vt 0.180556 0.693182 vt 0.180556 0.670455 -vt 0.185185 0.500000 -vt 0.189815 0.488636 -vt 0.189815 0.500000 -vt 0.185185 0.431818 -vt 0.189815 0.443182 -vt 0.185185 0.443182 -vt 0.185185 0.409091 -vt 0.189815 0.397727 -vt 0.189815 0.409091 -vt 0.189815 0.511364 -vt 0.185185 0.511364 -vt 0.189815 0.454545 -vt 0.185185 0.454545 -vt 0.185185 0.465909 -vt 0.189815 0.477273 -vt 0.185185 0.477273 -vt 0.189815 0.420455 -vt 0.185185 0.420455 -vt 0.189815 0.522727 -vt 0.185185 0.522727 -vt 0.189815 0.465909 -vt 0.185185 0.488636 -vt 0.189815 0.431818 -vt 0.185185 0.534091 -vt 0.189815 0.534091 -vt 0.210648 0.437320 -vt 0.196742 0.427467 -vt 0.210648 0.397907 -vt 0.196303 0.446021 -vt 0.220365 0.446021 -vt 0.208334 0.471595 -vt 0.185185 0.500000 -vt 0.189815 0.488636 -vt 0.189815 0.500000 -vt 0.185185 0.431818 -vt 0.189815 0.443182 -vt 0.185185 0.443182 -vt 0.185185 0.409091 -vt 0.189815 0.397727 -vt 0.189815 0.409091 -vt 0.189815 0.511364 -vt 0.185185 0.511364 -vt 0.189815 0.454545 -vt 0.185185 0.454545 -vt 0.185185 0.465909 -vt 0.189815 0.477273 -vt 0.185185 0.477273 -vt 0.189815 0.420455 -vt 0.185185 0.420455 -vt 0.189815 0.522727 -vt 0.185185 0.522727 -vt 0.189815 0.465909 -vt 0.185185 0.488636 -vt 0.189815 0.431818 -vt 0.185185 0.534091 -vt 0.189815 0.534091 -vt 0.210648 0.437320 -vt 0.196742 0.427467 -vt 0.210648 0.397907 -vt 0.196303 0.446021 -vt 0.220365 0.446021 -vt 0.208334 0.471595 -vt 0.185185 0.500000 -vt 0.189815 0.488636 -vt 0.189815 0.500000 -vt 0.185185 0.431818 -vt 0.189815 0.443182 -vt 0.185185 0.443182 -vt 0.185185 0.409091 -vt 0.189815 0.397727 -vt 0.189815 0.409091 -vt 0.189815 0.511364 -vt 0.185185 0.511364 -vt 0.189815 0.454545 -vt 0.185185 0.454545 -vt 0.185185 0.465909 -vt 0.189815 0.477273 -vt 0.185185 0.477273 -vt 0.189815 0.420455 -vt 0.185185 0.420455 -vt 0.189815 0.522727 -vt 0.185185 0.522727 -vt 0.189815 0.465909 -vt 0.185185 0.488636 -vt 0.189815 0.431818 -vt 0.185185 0.534091 -vt 0.189815 0.534091 -vt 0.210648 0.437320 -vt 0.196742 0.427467 -vt 0.210648 0.397907 -vt 0.196303 0.446021 -vt 0.220365 0.446021 -vt 0.208334 0.471595 vt 0.180640 0.636364 vt 0.162037 0.659195 vt 0.143434 0.636364 @@ -1747,77 +3663,38 @@ vt 0.726852 0.283278 vt 0.685847 0.267046 vt 0.699074 0.250813 vt 0.712301 0.267045 -vt 0.067398 0.031336 -vt 0.018631 0.096832 -vt 0.018631 0.000276 -vt 0.067398 0.122245 -vt 0.062346 0.099102 -vt 0.092593 0.318182 -vt 0.006676 0.150482 -vt 0.055443 0.175895 -vt 0.055443 0.181542 -vt 0.018631 0.175895 -vt 0.043488 0.167424 -vt 0.067398 0.150482 -vt 0.006676 0.059573 -vt 0.030586 0.031336 -vt 0.025533 0.037537 -vt 0.030586 0.076515 -vt 0.043488 0.122245 +vt 0.675926 0.596591 +vt 0.652778 0.630682 +vt 0.652778 0.596591 +vt 0.699074 0.596591 +vt 0.675926 0.630682 +vt 0.722222 0.596591 +vt 0.699074 0.630682 +vt 0.699074 0.659091 +vt 0.652778 0.659091 +vt 0.699074 0.568182 +vt 0.675926 0.596591 +vt 0.652778 0.630682 +vt 0.652778 0.596591 +vt 0.699074 0.596591 +vt 0.675926 0.630682 +vt 0.722222 0.596591 +vt 0.699074 0.630682 +vt 0.699074 0.659091 +vt 0.652778 0.659091 +vt 0.699074 0.568182 vt 0.384259 0.602273 vt 0.384259 0.420455 -vt 0.511621 0.673238 -vt 0.513558 0.678977 -vt 0.511621 0.684717 -vt 0.502268 0.684717 -vt 0.500331 0.678977 -vt 0.486111 0.704545 -vt 0.486442 0.678978 -vt 0.488379 0.673238 -vt 0.493056 0.670861 -vt 0.499669 0.678978 -vt 0.493056 0.687094 -vt 0.310185 0.670455 vt 0.476852 0.454545 vt 0.513889 0.454545 vt 0.513889 0.568182 vt 0.476852 0.568182 -vt 0.722222 0.630682 -vt 0.652778 0.568182 -vt 0.000000 0.431818 -vt 0.018519 0.318182 -vt 0.083333 0.607955 -vt 0.023148 0.653409 -vt 0.023148 0.568182 -vt 0.060185 0.568182 -vt 0.060185 0.596591 -vt 0.120370 0.670455 -vt 0.120370 0.602273 -vt 0.953704 0.551136 -vt 1.000000 0.471591 -vt 0.875000 0.471591 -vt 0.870370 0.522727 -vt 0.875000 0.545455 vt 0.310185 0.693182 vt 0.180640 0.636364 vt 0.175192 0.652508 vt 0.148882 0.652508 vt 0.148882 0.620219 vt 0.175192 0.620219 -vt 0.111111 0.534091 -vt 0.111111 0.573864 -vt 0.111111 0.602273 -vt 0.111111 0.397727 -vt 0.722222 0.352273 -vt 0.648148 0.284091 -vt 0.944444 0.034091 -vt 0.935185 0.045455 -vt 0.916667 0.045455 -vt 0.907407 0.011364 -vt 0.935185 0.000000 -vt 0.750000 0.375000 -vt 0.750000 0.284091 -vt 0.740741 0.318182 vt 0.685185 0.181818 vt 0.685185 0.227273 vt 0.629630 0.250000 @@ -1835,21 +3712,6 @@ vt 0.699074 0.283278 vt 0.689721 0.278524 vt 0.689721 0.255567 vt 0.708427 0.255567 -vt 0.811791 0.583257 -vt 0.814373 0.590909 -vt 0.811791 0.598561 -vt 0.799320 0.598561 -vt 0.799320 0.583257 -vt 0.745464 0.641931 -vt 0.749338 0.653409 -vt 0.745464 0.664888 -vt 0.726758 0.664888 -vt 0.726758 0.641931 -vt 0.754698 0.641903 -vt 0.764050 0.637148 -vt 0.773403 0.641903 -vt 0.773403 0.664860 -vt 0.754698 0.664860 vt 0.824074 0.261364 vt 0.870370 0.250000 vt 0.870370 0.295455 @@ -1861,150 +3723,7 @@ vt 0.009259 0.852273 vt 0.009259 0.852273 vt 0.699074 0.738636 vt 0.699074 0.670455 -vt 0.745370 0.500000 -vt 0.652778 0.568182 -vt 0.745370 0.500000 -vt 0.837963 0.568182 -vt 0.201425 0.503321 -vt 0.196368 0.497115 -vt 0.194517 0.488636 -vt 0.201425 0.473951 -vt 0.208333 0.471680 -vt 0.215242 0.473951 -vt 0.222150 0.488636 -vt 0.220299 0.497115 -vt 0.215242 0.503321 -vt 0.199107 0.526816 -vt 0.195742 0.522687 -vt 0.194510 0.517045 -vt 0.199107 0.507274 -vt 0.203704 0.505763 -vt 0.208300 0.507274 -vt 0.211665 0.511404 -vt 0.212897 0.517045 -vt 0.208300 0.526816 -vt 0.754698 0.641903 -vt 0.764050 0.637148 -vt 0.773403 0.641903 -vt 0.773403 0.664860 -vt 0.754698 0.664860 -vt 0.745464 0.641931 -vt 0.749338 0.653409 -vt 0.745464 0.664888 -vt 0.726758 0.664888 -vt 0.726758 0.641931 -vt 0.811791 0.583257 -vt 0.814373 0.590909 -vt 0.811791 0.598561 -vt 0.799320 0.598561 -vt 0.799320 0.583257 -vt 0.060185 0.579545 -vt 0.111111 0.477273 -vt 0.074074 0.488636 -vt 0.083333 0.465909 -vt 0.101852 0.500000 -vt 0.111111 0.443182 -vt 0.074074 0.454545 -vt 0.083333 0.431818 -vt 0.101852 0.465909 -vt 0.111111 0.443182 -vt 0.074074 0.454545 -vt 0.083333 0.431818 -vt 0.101852 0.465909 -vt 0.037037 0.562500 -vt 0.074074 0.568182 -vt 0.185185 0.397727 -vt 0.224554 0.427467 -vt 0.218677 0.434680 -vt 0.202619 0.434680 -vt 0.194591 0.417614 -vt 0.196742 0.407760 -vt 0.202619 0.400547 -vt 0.218677 0.400547 -vt 0.224554 0.407760 -vt 0.226705 0.417614 -vt 0.201388 0.469311 -vt 0.196303 0.463070 -vt 0.194441 0.454545 -vt 0.201388 0.439780 -vt 0.208334 0.437496 -vt 0.215280 0.439780 -vt 0.222226 0.454545 -vt 0.220365 0.463070 -vt 0.215280 0.469311 -vt 1.000000 1.000000 -vt 0.555556 0.863636 -vt 0.111111 0.534091 -vt 0.111111 0.573864 -vt 0.111111 0.602273 -vt 0.083333 0.607955 -vt 0.023148 0.653409 -vt 0.023148 0.568182 -vt 0.060185 0.568182 -vt 0.060185 0.596591 -vt 0.060185 0.579545 -vt 0.722222 0.630682 -vt 0.652778 0.568182 -vt 0.120370 0.670455 -vt 0.120370 0.602273 vt 0.310185 0.693182 -vt 0.185185 0.397727 -vt 0.224554 0.427467 -vt 0.218677 0.434680 -vt 0.202619 0.434680 -vt 0.194591 0.417614 -vt 0.196742 0.407760 -vt 0.202619 0.400547 -vt 0.218677 0.400547 -vt 0.224554 0.407760 -vt 0.226705 0.417614 -vt 0.201388 0.469311 -vt 0.196303 0.463070 -vt 0.194441 0.454545 -vt 0.201388 0.439780 -vt 0.208334 0.437496 -vt 0.215280 0.439780 -vt 0.222226 0.454545 -vt 0.220365 0.463070 -vt 0.215280 0.469311 -vt 0.185185 0.397727 -vt 0.224554 0.427467 -vt 0.218677 0.434680 -vt 0.202619 0.434680 -vt 0.194591 0.417614 -vt 0.196742 0.407760 -vt 0.202619 0.400547 -vt 0.218677 0.400547 -vt 0.224554 0.407760 -vt 0.226705 0.417614 -vt 0.201388 0.469311 -vt 0.196303 0.463070 -vt 0.194441 0.454545 -vt 0.201388 0.439780 -vt 0.208334 0.437496 -vt 0.215280 0.439780 -vt 0.222226 0.454545 -vt 0.220365 0.463070 -vt 0.215280 0.469311 -vt 0.185185 0.397727 -vt 0.224554 0.427467 -vt 0.218677 0.434680 -vt 0.202619 0.434680 -vt 0.194591 0.417614 -vt 0.196742 0.407760 -vt 0.202619 0.400547 -vt 0.218677 0.400547 -vt 0.224554 0.407760 -vt 0.226705 0.417614 -vt 0.201388 0.469311 -vt 0.196303 0.463070 -vt 0.194441 0.454545 -vt 0.201388 0.439780 -vt 0.208334 0.437496 -vt 0.215280 0.439780 -vt 0.222226 0.454545 -vt 0.220365 0.463070 -vt 0.215280 0.469311 vt 0.175192 0.652508 vt 0.148882 0.652508 vt 0.148882 0.620219 @@ -2035,165 +3754,10 @@ vt 0.699074 0.283278 vt 0.689721 0.278524 vt 0.689721 0.255567 vt 0.708427 0.255567 -vt 0.074074 0.090909 -vt 0.611111 0.079545 -vt 0.611111 0.090909 -vt 0.074074 0.079545 -vt 0.611111 0.068182 -vt 0.074074 0.068182 -vt 0.611111 0.056818 -vt 0.074074 0.056818 -vt 0.611111 0.045455 -vt -0.000000 0.863636 -vt 0.532407 0.869318 -vt -0.000000 0.869318 -vt -0.000000 0.880682 -vt 0.532407 0.886364 -vt -0.000000 0.886364 -vt -0.000000 0.909091 -vt 0.532407 0.914773 -vt -0.000000 0.914773 -vt -0.000000 0.926136 -vt 0.532407 0.931818 -vt -0.000000 0.931818 -vt -0.000000 0.875000 -vt 0.532407 0.880682 -vt -0.000000 0.903409 -vt 0.532407 0.909091 -vt -0.000000 0.892045 -vt 0.532407 0.897727 -vt -0.000000 0.897727 -vt -0.000000 0.920455 -vt 0.532407 0.926136 -vt 0.532407 0.875000 -vt 0.532407 0.903409 -vt 0.532407 0.892045 -vt 0.532407 0.920455 -vt 0.074074 0.318182 -vt 0.611111 0.306818 -vt 0.611111 0.318182 -vt 0.074074 0.306818 -vt 0.611111 0.295455 -vt 0.074074 0.295455 -vt 0.611111 0.284091 -vt 0.074074 0.284091 -vt 0.611111 0.272727 -vt -0.000000 0.863636 -vt 0.532407 0.869318 -vt -0.000000 0.869318 -vt -0.000000 0.880682 -vt 0.532407 0.886364 -vt -0.000000 0.886364 -vt -0.000000 0.909091 -vt 0.532407 0.914773 -vt -0.000000 0.914773 -vt -0.000000 0.926136 -vt 0.532407 0.931818 -vt -0.000000 0.931818 -vt -0.000000 0.875000 -vt 0.532407 0.880682 -vt -0.000000 0.903409 -vt 0.532407 0.909091 -vt -0.000000 0.892045 -vt 0.532407 0.897727 -vt -0.000000 0.897727 -vt -0.000000 0.920455 -vt 0.532407 0.926136 -vt 0.532407 0.875000 -vt 0.532407 0.903409 -vt 0.532407 0.892045 -vt 0.532407 0.920455 -vt 0.074074 0.136364 -vt 0.537037 0.147727 -vt 0.074074 0.147727 -vt 0.074074 0.159091 -vt 0.537037 0.159091 -vt 0.074074 0.204545 -vt 0.074074 0.113636 -vt 0.611111 0.102273 -vt 0.611111 0.113636 -vt 0.074074 0.045455 -vt 0.611111 0.000000 -vt -0.000000 0.863636 -vt 0.532407 0.869318 -vt -0.000000 0.869318 -vt -0.000000 0.880682 -vt 0.532407 0.886364 -vt -0.000000 0.886364 -vt -0.000000 0.909091 -vt 0.532407 0.914773 -vt -0.000000 0.914773 -vt -0.000000 0.926136 -vt 0.532407 0.931818 -vt -0.000000 0.931818 -vt -0.000000 0.875000 -vt 0.532407 0.880682 -vt -0.000000 0.903409 -vt 0.532407 0.909091 -vt -0.000000 0.892045 -vt 0.532407 0.897727 -vt -0.000000 0.897727 -vt -0.000000 0.920455 -vt 0.532407 0.926136 -vt 0.532407 0.875000 -vt 0.532407 0.903409 -vt 0.532407 0.892045 -vt 0.532407 0.920455 -vt 0.611111 0.261364 -vt 0.074074 0.250000 -vt 0.611111 0.250000 -vt 0.074074 0.272727 -vt -0.000000 0.863636 -vt 0.532407 0.869318 -vt -0.000000 0.869318 -vt -0.000000 0.880682 -vt 0.532407 0.886364 -vt -0.000000 0.886364 -vt -0.000000 0.909091 -vt 0.532407 0.914773 -vt -0.000000 0.914773 -vt -0.000000 0.926136 -vt 0.532407 0.931818 -vt -0.000000 0.931818 -vt -0.000000 0.875000 -vt 0.532407 0.880682 -vt -0.000000 0.903409 -vt 0.532407 0.909091 -vt -0.000000 0.892045 -vt 0.532407 0.897727 -vt -0.000000 0.897727 -vt -0.000000 0.920455 -vt 0.532407 0.926136 -vt 0.532407 0.875000 -vt 0.532407 0.903409 -vt 0.532407 0.892045 -vt 0.532407 0.920455 -vt 0.537037 0.125000 -vt 0.074074 0.125000 -vt 0.537037 0.215909 -vt 0.074074 0.215909 -vt 0.537037 0.227273 -vt 0.074074 0.227273 -vt 0.074074 0.238636 -vt 0.560185 0.659091 -vt 0.467593 0.664773 -vt 0.467593 0.659091 -vt 0.560185 0.664773 -vt 0.467593 0.670455 -vt 0.560185 0.625000 -vt 0.467593 0.630682 -vt 0.467593 0.625000 -vt 0.560185 0.630682 -vt 0.467593 0.636364 -vt 0.560185 0.636364 -vt 0.467593 0.642045 -vt 0.560185 0.642045 -vt 0.467593 0.647727 -vt 0.560185 0.647727 -vt 0.467593 0.653409 -vt 0.560185 0.653409 -vt 0.537037 0.238636 -vt 0.611111 0.238636 +vt 0.722222 0.630682 +vt 0.652778 0.568182 +vt 0.722222 0.630682 +vt 0.652778 0.568182 vt 0.226852 0.613636 vt 0.240741 0.602273 vt 0.240741 0.613636 @@ -2211,49 +3775,6 @@ vt 0.254630 0.613636 vt 0.171296 0.602273 vt 0.199074 0.602273 vt 0.226852 0.602273 -vt 0.833333 0.204545 -vt 0.851852 0.045455 -vt 0.851852 0.204545 -vt 0.981481 0.045455 -vt 0.962963 0.068182 -vt 0.962963 0.045455 -vt 0.981481 0.068182 -vt 0.962963 0.181818 -vt 0.981481 0.181818 -vt 0.962963 0.204545 -vt 0.981481 0.204545 -vt 0.962963 0.250000 -vt 0.925926 0.181818 -vt 0.953704 0.068182 -vt 0.916667 0.181818 -vt 0.907407 0.045455 -vt 0.861111 0.204545 -vt 0.953704 0.068182 -vt 0.916667 0.181818 -vt 0.861111 0.227273 -vt 0.851852 0.227273 -vt 0.925926 0.204545 -vt 0.953704 0.250000 -vt 0.916667 0.204545 -vt 0.925926 0.181818 -vt 0.944444 0.045455 -vt 0.935185 0.045455 -vt 0.916667 0.045455 -vt 0.861111 0.204545 -vt 0.861111 0.227273 -vt 0.870370 0.227273 -vt 0.851852 0.227273 -vt 0.851852 0.204545 -vt 0.944444 0.045455 -vt 0.962963 0.068182 -vt 0.907407 0.045455 -vt 0.925926 0.204545 -vt 0.953704 0.250000 -vt 0.962963 0.250000 -vt 0.916667 0.204545 -vt 0.870370 0.250000 -vt 0.870370 0.227273 -vt 0.870370 0.250000 vt 0.685185 0.181818 vt 0.824074 0.193182 vt 0.685185 0.193182 @@ -2271,40 +3792,6 @@ vt 0.685185 0.204545 vt 0.824074 0.181818 vt 0.824074 0.215909 vt 0.824074 0.238636 -vt 0.870370 0.568182 -vt 0.861111 0.579545 -vt 0.861111 0.568182 -vt 0.814815 0.568182 -vt 0.805556 0.579545 -vt 0.805556 0.568182 -vt 0.833333 0.568182 -vt 0.824074 0.579545 -vt 0.824074 0.568182 -vt 0.851852 0.568182 -vt 0.842593 0.579545 -vt 0.842593 0.568182 -vt 0.851852 0.579545 -vt 0.796296 0.579545 -vt 0.796296 0.568182 -vt 0.814815 0.579545 -vt 0.833333 0.579545 -vt 0.796296 0.568182 -vt 0.787037 0.636364 -vt 0.787037 0.568182 -vt 0.740741 0.568182 -vt 0.731481 0.636364 -vt 0.731481 0.568182 -vt 0.759259 0.568182 -vt 0.750000 0.636364 -vt 0.750000 0.568182 -vt 0.777778 0.568182 -vt 0.768519 0.636364 -vt 0.768519 0.568182 -vt 0.777778 0.636364 -vt 0.722222 0.636364 -vt 0.722222 0.568182 -vt 0.740741 0.636364 -vt 0.759259 0.636364 vt 0.750000 0.295455 vt 0.768519 0.477273 vt 0.750000 0.477273 @@ -2338,69 +3825,6 @@ vt 0.777778 0.477273 vt 0.851852 0.443182 vt 0.842593 0.443182 vt 0.833333 0.477273 -vt 0.726852 0.477273 -vt 0.745370 0.477273 -vt 0.652778 0.500000 -vt 0.652778 0.477273 -vt 0.763889 0.477273 -vt 0.837963 0.500000 -vt 0.837963 0.477273 -vt 0.226852 0.488636 -vt 0.222222 0.494318 -vt 0.222222 0.488636 -vt 0.222222 0.448864 -vt 0.226852 0.454545 -vt 0.222222 0.454545 -vt 0.222222 0.500000 -vt 0.226852 0.505682 -vt 0.222222 0.505682 -vt 0.226852 0.500000 -vt 0.226852 0.471591 -vt 0.222222 0.477273 -vt 0.222222 0.471591 -vt 0.222222 0.460227 -vt 0.226852 0.437500 -vt 0.222222 0.443182 -vt 0.222222 0.437500 -vt 0.226852 0.477273 -vt 0.222222 0.482955 -vt 0.226852 0.465909 -vt 0.222222 0.465909 -vt 0.226852 0.443182 -vt 0.768519 0.568182 -vt 0.759259 0.636364 -vt 0.759259 0.568182 -vt 0.750000 0.568182 -vt 0.740741 0.636364 -vt 0.740741 0.568182 -vt 0.731481 0.568182 -vt 0.722222 0.636364 -vt 0.722222 0.568182 -vt 0.787037 0.568182 -vt 0.777778 0.636364 -vt 0.777778 0.568182 -vt 0.768519 0.636364 -vt 0.750000 0.636364 -vt 0.731481 0.636364 -vt 0.796296 0.568182 -vt 0.787037 0.636364 -vt 0.842593 0.568182 -vt 0.833333 0.579545 -vt 0.833333 0.568182 -vt 0.824074 0.568182 -vt 0.814815 0.579545 -vt 0.814815 0.568182 -vt 0.805556 0.568182 -vt 0.796296 0.579545 -vt 0.796296 0.568182 -vt 0.861111 0.568182 -vt 0.851852 0.579545 -vt 0.851852 0.568182 -vt 0.842593 0.579545 -vt 0.824074 0.579545 -vt 0.805556 0.579545 -vt 0.870370 0.568182 -vt 0.861111 0.579545 vt 0.601852 0.852273 vt 0.305556 0.863636 vt 0.305556 0.852273 @@ -2572,102 +3996,6 @@ vt 0.958333 0.772727 vt 0.953704 0.784091 vt 0.962963 0.784091 vt 0.958333 0.863636 -vt 0.111111 0.488636 -vt 0.111111 0.431818 -vt 0.111111 0.397727 -vt 0.111111 0.500000 -vt 0.111111 0.443182 -vt 0.111111 0.465909 -vt 0.111111 0.409091 -vt 0.111111 0.511364 -vt 0.111111 0.454545 -vt 0.111111 0.477273 -vt 0.111111 0.420455 -vt 0.111111 0.522727 -vt 0.194444 0.454545 -vt 0.194444 0.477273 -vt 0.194444 0.420455 -vt 0.194444 0.522727 -vt 0.194444 0.465909 -vt 0.194444 0.488636 -vt 0.194444 0.431818 -vt 0.194444 0.534091 -vt 0.194444 0.500000 -vt 0.194444 0.443182 -vt 0.194444 0.409091 -vt 0.194444 0.511364 -vt 0.111111 0.488636 -vt 0.111111 0.431818 -vt 0.111111 0.397727 -vt 0.111111 0.500000 -vt 0.111111 0.443182 -vt 0.111111 0.465909 -vt 0.111111 0.409091 -vt 0.111111 0.511364 -vt 0.111111 0.454545 -vt 0.111111 0.477273 -vt 0.111111 0.420455 -vt 0.111111 0.522727 -vt 0.194444 0.454545 -vt 0.194444 0.477273 -vt 0.194444 0.420455 -vt 0.194444 0.522727 -vt 0.194444 0.465909 -vt 0.194444 0.488636 -vt 0.194444 0.431818 -vt 0.194444 0.534091 -vt 0.194444 0.500000 -vt 0.194444 0.443182 -vt 0.194444 0.409091 -vt 0.194444 0.511364 -vt 0.111111 0.488636 -vt 0.111111 0.431818 -vt 0.111111 0.397727 -vt 0.111111 0.500000 -vt 0.111111 0.443182 -vt 0.111111 0.465909 -vt 0.111111 0.409091 -vt 0.111111 0.511364 -vt 0.111111 0.454545 -vt 0.111111 0.477273 -vt 0.111111 0.420455 -vt 0.111111 0.522727 -vt 0.194444 0.454545 -vt 0.194444 0.477273 -vt 0.194444 0.420455 -vt 0.194444 0.522727 -vt 0.194444 0.465909 -vt 0.194444 0.488636 -vt 0.194444 0.431818 -vt 0.194444 0.534091 -vt 0.194444 0.500000 -vt 0.194444 0.443182 -vt 0.194444 0.409091 -vt 0.194444 0.511364 -vt 0.111111 0.488636 -vt 0.111111 0.431818 -vt 0.111111 0.397727 -vt 0.111111 0.500000 -vt 0.111111 0.443182 -vt 0.111111 0.465909 -vt 0.111111 0.409091 -vt 0.111111 0.511364 -vt 0.111111 0.454545 -vt 0.111111 0.477273 -vt 0.111111 0.420455 -vt 0.111111 0.522727 -vt 0.194444 0.454545 -vt 0.194444 0.477273 -vt 0.194444 0.420455 -vt 0.194444 0.522727 -vt 0.194444 0.465909 -vt 0.194444 0.488636 -vt 0.194444 0.431818 -vt 0.194444 0.534091 -vt 0.194444 0.500000 -vt 0.194444 0.443182 -vt 0.194444 0.409091 -vt 0.194444 0.511364 vt 0.226852 0.613636 vt 0.240741 0.602273 vt 0.240741 0.613636 @@ -2906,34 +4234,11 @@ vt 1.000000 0.772727 vt 0.972222 0.784091 vt 0.972222 0.772727 vt 1.000000 0.784091 -vt 0.532407 0.863636 -vt 0.532407 0.863636 -vt 0.537037 0.136364 -vt 0.537037 0.204545 -vt 0.074074 0.102273 -vt 0.074074 0.000000 -vt 0.532407 0.863636 -vt 0.074074 0.261364 -vt 0.532407 0.863636 -vt 0.560185 0.670455 -vt 0.611111 0.125000 vt 0.143519 0.602273 -vt 0.833333 0.045455 -vt 0.981481 0.250000 vt 0.824074 0.159091 -vt 0.870370 0.579545 -vt 0.796296 0.636364 vt 0.768519 0.295455 vt 0.898148 0.465909 vt 0.768519 0.477273 -vt 0.726852 0.500000 -vt 0.763889 0.500000 -vt 0.226852 0.494318 -vt 0.226852 0.448864 -vt 0.226852 0.460227 -vt 0.226852 0.482955 -vt 0.796296 0.636364 -vt 0.870370 0.579545 vt 0.601852 0.863636 vt 0.629630 0.772727 vt 0.787037 0.863636 @@ -2941,14 +4246,6 @@ vt 0.800926 0.772727 vt 0.944444 0.772727 vt 0.680556 0.772727 vt 0.703704 0.863636 -vt 0.111111 0.534091 -vt 0.194444 0.397727 -vt 0.111111 0.534091 -vt 0.194444 0.397727 -vt 0.111111 0.534091 -vt 0.194444 0.397727 -vt 0.111111 0.534091 -vt 0.194444 0.397727 vt 0.143519 0.602273 vt 0.888889 0.647727 vt 0.962963 0.590909 @@ -2963,94 +4260,33 @@ vt 0.675926 0.818182 vt 0.675926 0.772727 vt 0.601852 0.863636 vt 1.000000 0.863636 -vn 0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 1.0000 0.0000 vn -1.0000 0.0000 0.0000 -vn 0.0000 -0.5547 -0.8321 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 -0.4472 0.8944 -vn 0.0000 -0.8944 0.4472 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 vn 0.0000 0.8944 0.4472 +vn 0.0000 0.0000 1.0000 vn 0.7071 -0.7071 0.0000 vn -0.7071 -0.7071 0.0000 -vn 0.0000 0.7071 0.7071 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 vn 0.0000 -0.3714 -0.9285 -vn 0.0000 0.9231 0.3846 -vn 0.0000 0.7085 0.7057 vn 0.7071 0.7071 0.0000 vn -0.7071 0.7071 0.0000 vn 0.0000 -0.6508 0.7593 +vn 0.0000 -0.4472 0.8944 vn 0.0000 0.4472 -0.8944 vn 0.0000 -0.9744 0.2249 vn 0.0000 0.9701 -0.2425 -vn 0.8000 -0.6000 0.0000 -vn -0.8000 -0.6000 0.0000 -vn 0.9018 0.4321 0.0000 -vn 0.8660 -0.5000 0.0000 -vn 0.5000 -0.8660 -0.0000 -vn 0.1305 -0.9914 -0.0000 -vn 0.5000 0.8660 0.0000 -vn -0.8660 -0.5000 0.0000 -vn -0.5000 0.8660 0.0000 -vn 0.8660 0.5000 0.0000 -vn -0.5000 -0.8660 0.0000 -vn -0.8660 0.5000 0.0000 -vn -0.1305 -0.9914 -0.0000 -vn -0.9018 0.4321 0.0000 -vn 0.1305 0.9914 0.0000 -vn -0.1305 0.9914 0.0000 -vn 0.9018 -0.4321 0.0000 -vn 0.8069 -0.5907 0.0000 -vn 0.8069 0.5907 0.0000 -vn -0.8069 -0.5907 0.0000 -vn -0.9018 -0.4321 0.0000 -vn -0.8069 0.5907 0.0000 -vn 0.9960 -0.0890 0.0000 -vn -0.0000 -0.7071 0.7071 -vn -0.9960 -0.0890 0.0000 -vn -0.9659 -0.2588 0.0000 -vn -0.4858 -0.2432 0.8396 -vn 0.3929 -0.3622 0.8452 -vn 0.4858 -0.2432 0.8396 -vn -0.3458 -0.6635 -0.6635 -vn 0.3395 -0.1767 -0.9239 -vn 0.3458 -0.6635 -0.6635 -vn -0.3395 -0.1767 -0.9239 -vn 0.3945 0.1811 -0.9009 -vn -0.3945 0.1811 -0.9009 -vn 0.3878 -0.3878 -0.8361 -vn -0.3878 -0.3878 -0.8361 -vn 0.2418 -0.6861 -0.6861 -vn -0.8661 -0.1385 -0.4802 -vn -0.9386 0.0604 -0.3398 -vn 0.9032 -0.0951 0.4186 -vn 0.9487 -0.1245 0.2905 -vn 0.8661 -0.1385 -0.4802 -vn 0.9386 0.0604 -0.3398 -vn 0.9239 0.0000 0.3827 -vn 0.7071 0.0000 0.7071 -vn 0.7592 -0.4602 -0.4602 -vn 0.9518 -0.1020 -0.2893 -vn 0.9607 -0.1962 -0.1962 -vn -0.9607 -0.1962 -0.1962 -vn -0.9487 -0.1245 0.2905 -vn -0.9032 -0.0951 0.4186 -vn -0.9239 0.0000 0.3827 -vn -0.7071 0.0000 0.7071 -vn -0.3929 -0.3622 0.8452 -vn -0.7592 -0.4602 -0.4602 -vn -0.2418 -0.6861 -0.6861 -vn -0.9518 -0.1020 -0.2893 -vn -0.7071 0.0000 -0.7071 -vn 0.7071 0.0000 -0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 vn -0.3945 -0.3227 0.8604 vn 0.3354 -0.3308 0.8821 vn -0.3354 -0.3308 0.8821 vn -0.3389 -0.1566 -0.9277 +vn 0.3458 -0.6635 -0.6635 +vn -0.3458 -0.6635 -0.6635 vn -0.3951 0.2038 -0.8957 vn 0.3389 -0.1566 -0.9277 vn -0.4567 0.1610 -0.8749 @@ -3065,25 +4301,14 @@ vn -0.8727 0.2257 -0.4330 vn -0.5774 0.5774 -0.5774 vn 0.4567 0.1610 -0.8749 vn 0.8652 -0.1255 -0.4854 +vn 0.9607 -0.1962 -0.1962 vn 0.3945 -0.3227 0.8604 vn -0.9467 -0.1131 0.3016 +vn -0.9607 -0.1962 -0.1962 vn -0.8795 -0.1671 0.4457 vn -0.9402 0.0662 -0.3342 vn 0.9467 -0.1131 0.3016 vn -0.9607 0.1962 -0.1962 -vn 0.0000 -0.5547 0.8321 -vn 0.0000 -0.7833 0.6216 -vn 0.0000 -0.9363 0.3511 -vn 0.0000 -0.7833 -0.6216 -vn 0.0000 -0.9363 -0.3511 -vn -0.6124 -0.3536 -0.7071 -vn 0.6124 -0.3536 -0.7071 -vn -0.3536 -0.6124 -0.7071 -vn -0.3536 0.6124 -0.7071 -vn 0.6124 0.3536 -0.7071 -vn 0.3536 -0.6124 -0.7071 -vn -0.6124 0.3536 -0.7071 -vn 0.3536 0.6124 -0.7071 vn -0.7263 -0.6737 0.1363 vn -0.6794 0.7194 -0.1448 vn 0.9987 0.0473 -0.0196 @@ -3139,6 +4364,7 @@ vn 0.4617 -0.7574 -0.4617 vn -0.0671 -0.9955 0.0671 vn 0.1673 -0.9846 0.0505 vn 0.2775 -0.7237 -0.6318 +vn -0.7071 0.0000 0.7071 vn -0.4617 0.4617 0.7574 vn -0.0671 0.9955 0.0671 vn 0.4617 0.7574 -0.4617 @@ -3151,6 +4377,9 @@ vn 0.1448 -0.7194 -0.6794 vn 0.0196 -0.0473 -0.9987 vn -0.1363 0.6737 -0.7263 vn -0.1363 0.6737 0.7263 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 vn -0.0671 -0.0671 -0.9955 vn -0.1448 -0.7194 -0.6794 vn -0.5293 -0.5294 -0.6630 @@ -3185,1888 +4414,759 @@ vn 0.0473 -0.9987 0.0196 vn 0.7194 -0.6794 0.1448 vn 0.0473 0.9987 0.0196 vn -0.1866 -0.9824 -0.0000 -vn 0.9659 -0.2588 0.0000 s off -f 10/1/1 18/2/1 17/3/1 -f 6/4/1 18/2/1 8/5/1 -f 6/4/1 20/6/1 19/7/1 -f 2/8/1 20/6/1 4/9/1 -f 5/10/2 32/11/2 3/12/2 -f 32/11/2 1/13/2 3/12/2 -f 9/14/2 30/15/2 7/16/2 -f 7/16/2 31/17/2 5/10/2 -f 38/18/1 49/19/1 40/20/1 -f 38/18/1 51/21/1 50/22/1 -f 44/23/1 48/24/1 47/25/1 -f 40/20/1 48/24/1 42/26/1 -f 43/27/2 60/28/2 41/29/2 -f 60/28/2 39/30/2 41/29/2 -f 61/31/2 37/32/2 39/30/2 -f 37/32/2 63/33/2 35/34/2 -f 103/35/1 69/36/1 107/37/1 -f 78/38/1 88/39/1 87/40/1 -f 74/41/1 88/39/1 76/42/1 -f 72/43/1 89/44/1 74/41/1 -f 72/43/1 79/45/1 90/46/1 -f 77/47/2 100/48/2 75/49/2 -f 75/50/3 69/36/3 109/51/3 -f 73/52/4 111/53/4 71/54/4 -f 73/52/4 202/55/4 201/56/4 -f 71/57/2 92/58/2 136/59/2 -f 128/60/2 105/61/2 204/62/2 -f 200/63/2 126/64/2 127/65/2 -f 112/66/1 113/67/1 104/68/1 -f 112/66/1 115/69/1 114/70/1 -f 110/71/1 116/72/1 115/69/1 -f 106/73/1 116/72/1 108/74/1 -f 111/75/2 101/76/2 102/77/2 -f 118/78/1 106/73/1 140/79/1 -f 46/80/1 44/23/1 47/25/1 -f 12/81/1 83/82/1 120/83/1 -f 45/84/1 120/83/1 119/85/1 -f 119/85/1 118/78/1 140/79/1 -f 82/86/1 121/87/1 83/82/1 -f 11/88/1 84/89/1 12/81/1 -f 13/90/1 54/91/1 14/92/1 -f 86/93/1 78/38/1 87/40/1 -f 22/94/1 2/8/1 138/95/1 -f 138/95/1 85/96/1 11/88/1 -f 14/92/1 53/97/1 15/98/1 -f 52/99/1 10/1/1 16/100/1 -f 81/101/1 122/102/1 82/86/1 -f 80/103/1 70/104/1 124/105/1 -f 34/106/2 1/13/2 33/107/2 -f 98/108/2 77/47/2 137/109/2 -f 105/61/2 130/110/2 139/111/2 -f 58/112/2 43/27/2 139/111/2 -f 97/113/2 98/108/2 137/109/2 -f 139/111/2 131/114/2 57/115/2 -f 65/116/2 26/117/2 27/118/2 -f 28/119/2 9/14/2 64/120/2 -f 134/121/2 93/122/2 94/123/2 -f 133/124/2 94/123/2 95/125/2 -f 57/115/2 132/126/2 68/127/2 -f 66/128/2 25/129/2 26/117/2 -f 96/130/2 23/131/2 24/132/2 -f 96/130/2 24/132/2 132/126/2 -f 188/133/5 183/134/5 184/135/5 -f 145/136/4 143/137/4 144/138/4 -f 178/139/5 144/138/5 143/137/5 -f 177/140/3 176/141/3 141/142/3 -f 145/136/3 174/143/3 146/144/3 -f 173/145/5 142/146/5 175/147/5 -f 156/148/3 154/149/3 162/150/3 -f 165/151/6 147/152/6 148/153/6 -f 155/154/5 159/155/5 163/156/5 -f 167/157/7 148/153/7 147/152/7 -f 169/158/8 168/159/8 167/157/8 -f 171/160/9 170/161/9 169/158/9 -f 170/162/5 172/163/5 165/164/5 -f 166/165/3 171/166/3 169/167/3 -f 181/168/10 173/169/10 175/170/10 -f 179/171/4 174/172/4 173/169/4 -f 177/173/10 182/174/10 176/175/10 -f 178/176/4 183/134/4 177/173/4 -f 141/142/4 175/147/4 142/146/4 -f 176/141/1 185/177/1 175/147/1 -f 176/141/1 182/178/1 186/179/1 -f 175/147/1 185/177/1 181/180/1 -f 189/181/11 181/182/11 185/183/11 -f 182/184/12 190/185/12 186/186/12 -f 186/186/7 189/181/7 185/183/7 -f 179/171/3 187/187/3 180/188/3 -f 173/189/1 144/138/1 177/190/1 -f 189/181/2 178/191/2 174/192/2 -f 193/193/13 192/194/13 191/195/13 -f 195/196/4 194/197/4 193/193/4 -f 197/198/2 196/199/2 195/196/2 -f 194/197/5 198/200/5 192/201/5 -f 193/193/3 197/202/3 195/196/3 -f 199/203/4 202/55/4 200/204/4 -f 200/204/5 203/205/5 199/203/5 -f 206/206/1 205/207/1 199/203/1 -f 207/208/1 210/209/1 208/210/1 -f 209/211/13 212/212/13 210/209/13 -f 211/213/4 214/214/4 212/212/4 -f 213/215/14 216/216/14 214/214/14 -f 215/217/2 218/218/2 216/216/2 -f 216/219/5 218/220/5 208/221/5 -f 213/215/3 211/213/3 209/222/3 -f 221/223/5 220/224/5 219/225/5 -f 223/226/3 226/227/3 224/228/3 -f 221/223/2 225/229/2 222/230/2 -f 219/225/4 226/227/4 221/223/4 -f 240/231/3 235/232/3 236/233/3 -f 228/234/7 229/235/7 227/236/7 -f 233/237/4 232/238/4 231/239/4 -f 228/240/5 234/241/5 230/242/5 -f 227/243/1 232/238/1 228/244/1 -f 229/235/3 231/239/3 227/236/3 -f 237/245/1 236/246/1 235/247/1 -f 240/248/14 245/249/14 241/250/14 -f 235/247/4 241/250/4 237/245/4 -f 238/251/7 239/252/7 236/253/7 -f 242/254/5 238/255/5 237/256/5 -f 243/257/2 245/249/2 244/258/2 -f 242/259/15 243/257/15 239/252/15 -f 247/260/5 250/261/5 248/262/5 -f 254/263/3 251/264/3 252/265/3 -f 248/266/16 251/264/16 247/260/16 -f 247/260/7 253/267/7 249/268/7 -f 249/268/1 254/269/1 250/270/1 -f 265/271/3 267/272/3 269/273/3 -f 274/274/3 271/275/3 272/276/3 -f 275/277/4 274/274/4 272/276/4 -f 277/278/17 273/279/17 274/274/17 -f 278/280/5 277/278/5 275/277/5 -f 290/281/1 287/282/1 288/283/1 -f 286/284/4 283/285/4 284/286/4 -f 279/287/3 285/288/3 281/289/3 -f 281/290/18 286/284/18 282/291/18 -f 280/292/5 286/284/5 284/286/5 -f 280/293/2 283/285/2 279/294/2 -f 308/295/3 291/296/3 287/297/3 -f 307/298/5 294/299/5 290/281/5 -f 294/299/7 289/300/7 290/281/7 -f 295/301/7 324/302/7 298/303/7 -f 311/304/5 307/298/5 292/305/5 -f 291/296/3 310/306/3 312/307/3 -f 310/306/1 322/308/1 312/307/1 -f 310/306/4 313/309/4 321/310/4 -f 311/304/1 331/311/1 309/312/1 -f 338/313/5 342/314/5 333/315/5 -f 309/312/4 330/316/4 307/298/4 -f 346/317/2 348/318/2 344/319/2 -f 336/320/3 348/321/3 339/322/3 -f 340/323/4 346/324/4 337/325/4 -f 348/321/19 340/323/19 339/322/19 -f 338/313/20 346/324/20 345/326/20 -f 334/327/12 342/314/12 341/328/12 -f 344/319/11 336/329/11 335/330/11 -f 334/327/7 344/319/7 335/330/7 -f 359/331/2 361/332/2 363/333/2 -f 354/334/1 352/335/1 350/336/1 -f 368/337/4 366/338/4 372/339/4 -f 384/340/4 382/341/4 388/342/4 -f 390/343/7 392/344/7 394/345/7 -f 416/346/7 399/347/7 422/348/7 -f 410/349/7 407/350/7 408/351/7 -f 412/352/2 409/353/2 410/349/2 -f 408/351/5 412/354/5 410/349/5 -f 407/350/3 411/355/3 413/356/3 -f 429/357/21 432/358/21 430/359/21 -f 432/360/5 436/361/5 430/362/5 -f 435/363/3 431/364/3 429/365/3 -f 441/366/3 439/367/3 437/368/3 -f 438/369/8 441/366/8 437/368/8 -f 440/370/5 442/371/5 438/369/5 -f 443/372/22 440/373/22 439/367/22 -f 442/371/23 445/374/23 441/366/23 -f 447/375/24 444/376/24 443/372/24 -f 444/377/5 446/378/5 442/371/5 -f 445/374/3 443/372/3 441/366/3 -f 458/379/5 454/380/5 456/381/5 -f 455/382/3 449/383/3 457/384/3 -f 463/385/1 467/386/1 459/387/1 -f 480/388/2 482/389/2 474/390/2 -f 489/391/7 487/392/7 485/393/7 -f 495/394/4 497/395/4 491/396/4 -f 511/397/4 513/398/4 507/399/4 -f 517/400/5 516/401/5 515/402/5 -f 519/403/3 522/404/3 520/405/3 -f 518/406/2 519/407/2 516/408/2 -f 517/400/4 521/409/4 518/406/4 -f 515/410/1 522/404/1 517/400/1 -f 524/411/4 525/412/4 523/413/4 -f 532/414/4 533/415/4 531/416/4 -f 526/417/2 527/418/2 525/412/2 -f 523/413/1 529/419/1 524/411/1 -f 524/411/3 530/420/3 526/417/3 -f 525/412/5 528/421/5 523/413/5 -f 534/422/2 535/423/2 533/415/2 -f 531/416/1 537/424/1 532/414/1 -f 532/414/3 538/425/3 534/422/3 -f 533/415/5 536/426/5 531/416/5 -f 540/427/4 541/428/4 539/429/4 -f 542/430/2 543/431/2 541/428/2 -f 539/429/1 545/432/1 540/427/1 -f 540/427/3 546/433/3 542/430/3 -f 541/428/5 544/434/5 539/429/5 -f 549/435/4 547/436/4 548/437/4 -f 551/438/7 553/439/7 552/440/7 -f 547/436/13 554/441/13 551/442/13 -f 547/443/25 552/440/25 548/444/25 -f 548/437/2 553/439/2 549/435/2 -f 550/445/26 553/439/26 554/446/26 -f 675/447/1 698/448/1 699/449/1 -f 681/450/1 706/451/1 682/452/1 -f 679/453/1 702/454/1 703/455/1 -f 675/447/1 700/456/1 676/457/1 -f 682/452/1 707/458/1 683/459/1 -f 672/460/1 697/461/1 673/462/1 -f 679/453/1 704/463/1 680/464/1 -f 676/457/1 701/465/1 677/466/1 -f 672/460/1 707/458/1 696/467/1 -f 673/462/1 698/448/1 674/468/1 -f 681/450/1 704/463/1 705/469/1 -f 678/470/1 701/465/1 702/471/1 -f 708/472/2 718/473/2 714/474/2 -f 688/475/1 692/476/1 684/477/1 -f 721/478/3 720/479/3 722/480/3 -f 725/481/5 726/482/5 724/483/5 -f 731/484/3 728/485/3 729/486/3 -f 732/487/4 731/484/4 729/486/4 -f 734/488/17 730/489/17 731/484/17 -f 735/490/5 734/488/5 732/487/5 -f 736/491/1 739/492/1 737/493/1 -f 738/494/13 741/495/13 739/492/13 -f 740/496/4 743/497/4 741/495/4 -f 742/498/14 745/499/14 743/497/14 -f 744/500/2 747/501/2 745/499/2 -f 745/502/5 747/503/5 737/504/5 -f 742/498/3 740/496/3 738/505/3 -f 750/506/5 749/507/5 748/508/5 -f 752/509/3 755/510/3 753/511/3 -f 751/512/2 752/513/2 749/514/2 -f 750/506/4 754/515/4 751/512/4 -f 748/516/1 755/510/1 750/506/1 -f 758/517/13 757/518/13 756/519/13 -f 760/520/4 759/521/4 758/517/4 -f 762/522/2 761/523/2 760/520/2 -f 759/521/5 763/524/5 757/525/5 -f 758/517/3 762/526/3 760/520/3 -f 766/527/5 765/528/5 764/529/5 -f 768/530/3 771/531/3 769/532/3 -f 766/527/2 770/533/2 767/534/2 -f 764/529/4 771/531/4 766/527/4 -f 772/535/5 775/536/5 773/537/5 -f 779/538/3 776/539/3 777/540/3 -f 773/541/16 776/539/16 772/535/16 -f 772/535/7 778/542/7 774/543/7 -f 774/543/1 779/544/1 775/545/1 -f 783/546/1 806/547/1 807/548/1 -f 789/549/1 814/550/1 790/551/1 -f 787/552/1 810/553/1 811/554/1 -f 783/546/1 808/555/1 784/556/1 -f 790/551/1 815/557/1 791/558/1 -f 780/559/1 805/560/1 781/561/1 -f 787/552/1 812/562/1 788/563/1 -f 784/556/1 809/564/1 785/565/1 -f 780/559/1 815/557/1 804/566/1 -f 781/561/1 806/547/1 782/567/1 -f 789/549/1 812/562/1 813/568/1 -f 786/569/1 809/564/1 810/570/1 -f 816/571/2 826/572/2 822/573/2 -f 796/574/1 800/575/1 792/576/1 -f 831/577/1 854/578/1 855/579/1 -f 837/580/1 862/581/1 838/582/1 -f 835/583/1 858/584/1 859/585/1 -f 831/577/1 856/586/1 832/587/1 -f 838/582/1 863/588/1 839/589/1 -f 828/590/1 853/591/1 829/592/1 -f 835/583/1 860/593/1 836/594/1 -f 832/587/1 857/595/1 833/596/1 -f 828/590/1 863/588/1 852/597/1 -f 829/592/1 854/578/1 830/598/1 -f 837/580/1 860/593/1 861/599/1 -f 834/600/1 857/595/1 858/601/1 -f 864/602/2 874/603/2 870/604/2 -f 844/605/1 848/606/1 840/607/1 -f 879/608/1 902/609/1 903/610/1 -f 885/611/1 910/612/1 886/613/1 -f 883/614/1 906/615/1 907/616/1 -f 879/608/1 904/617/1 880/618/1 -f 886/613/1 911/619/1 887/620/1 -f 876/621/1 901/622/1 877/623/1 -f 883/614/1 908/624/1 884/625/1 -f 880/618/1 905/626/1 881/627/1 -f 876/621/1 911/619/1 900/628/1 -f 877/623/1 902/609/1 878/629/1 -f 885/611/1 908/624/1 909/630/1 -f 882/631/1 905/626/1 906/632/1 -f 912/633/2 922/634/2 918/635/2 -f 892/636/1 896/637/1 888/638/1 -f 933/639/5 934/640/5 936/641/5 -f 946/642/7 944/643/7 942/644/7 -f 952/645/4 954/646/4 948/647/4 -f 968/648/4 970/649/4 964/650/4 -f 982/651/2 984/652/2 986/653/2 -f 977/654/1 975/655/1 973/656/1 -f 10/1/1 8/5/1 18/2/1 -f 6/4/1 19/7/1 18/2/1 -f 6/4/1 4/9/1 20/6/1 -f 2/8/1 21/657/1 20/6/1 -f 5/10/2 31/17/2 32/11/2 -f 32/11/2 33/107/2 1/13/2 -f 9/14/2 29/658/2 30/15/2 -f 7/16/2 30/15/2 31/17/2 -f 38/18/1 50/22/1 49/19/1 -f 38/18/1 36/659/1 51/21/1 -f 44/23/1 42/26/1 48/24/1 -f 40/20/1 49/19/1 48/24/1 -f 43/27/2 59/660/2 60/28/2 -f 60/28/2 61/31/2 39/30/2 -f 61/31/2 62/661/2 37/32/2 -f 37/32/2 62/661/2 63/33/2 -f 103/35/1 109/662/1 69/36/1 -f 69/36/1 73/52/1 107/37/1 -f 78/38/1 76/42/1 88/39/1 -f 74/41/1 89/44/1 88/39/1 -f 72/43/1 90/46/1 89/44/1 -f 72/43/1 70/104/1 79/45/1 -f 77/47/2 99/663/2 100/48/2 -f 75/50/3 111/53/3 69/36/3 -f 73/52/4 69/36/4 111/53/4 -f 73/52/4 71/54/4 202/55/4 -f 125/664/2 202/665/2 136/59/2 -f 202/665/2 71/57/2 136/59/2 -f 71/57/2 91/666/2 92/58/2 -f 92/58/2 93/122/2 135/667/2 -f 92/58/2 135/667/2 136/59/2 -f 128/60/2 129/668/2 105/61/2 -f 128/60/2 204/62/2 127/65/2 -f 204/62/2 200/63/2 127/65/2 -f 200/63/2 202/665/2 126/64/2 -f 202/665/2 125/664/2 126/64/2 -f 112/66/1 114/70/1 113/67/1 -f 112/66/1 110/71/1 115/69/1 -f 110/71/1 108/74/1 116/72/1 -f 106/73/1 117/669/1 116/72/1 -f 111/75/2 75/49/2 101/76/2 -f 75/49/2 100/48/2 101/76/2 -f 91/666/2 71/57/2 102/77/2 -f 71/57/2 111/75/2 102/77/2 -f 118/78/1 117/669/1 106/73/1 -f 46/80/1 140/79/1 44/23/1 -f 55/670/1 13/90/1 12/81/1 -f 12/81/1 84/89/1 83/82/1 -f 83/82/1 121/87/1 120/83/1 -f 120/83/1 56/671/1 55/670/1 -f 55/670/1 12/81/1 120/83/1 -f 45/84/1 56/671/1 120/83/1 -f 140/79/1 46/80/1 45/84/1 -f 45/84/1 119/85/1 140/79/1 -f 82/86/1 122/102/1 121/87/1 -f 11/88/1 85/96/1 84/89/1 -f 13/90/1 55/670/1 54/91/1 -f 86/93/1 138/95/1 78/38/1 -f 22/94/1 21/657/1 2/8/1 -f 11/88/1 22/94/1 138/95/1 -f 138/95/1 86/93/1 85/96/1 -f 14/92/1 54/91/1 53/97/1 -f 16/100/1 15/98/1 52/99/1 -f 15/98/1 53/97/1 52/99/1 -f 52/99/1 51/21/1 36/659/1 -f 10/1/1 17/3/1 16/100/1 -f 52/99/1 36/659/1 10/1/1 -f 81/101/1 123/672/1 122/102/1 -f 80/103/1 79/45/1 70/104/1 -f 70/104/1 104/68/1 124/105/1 -f 104/68/1 113/67/1 124/105/1 -f 124/105/1 123/672/1 81/101/1 -f 124/105/1 81/101/1 80/103/1 -f 34/106/2 137/109/2 1/13/2 -f 98/108/2 99/663/2 77/47/2 -f 105/61/2 129/668/2 130/110/2 -f 58/112/2 59/660/2 43/27/2 -f 34/106/2 23/131/2 137/109/2 -f 23/131/2 97/113/2 137/109/2 -f 57/115/2 58/112/2 139/111/2 -f 139/111/2 130/110/2 131/114/2 -f 65/116/2 66/128/2 26/117/2 -f 65/116/2 27/118/2 64/120/2 -f 27/118/2 28/119/2 64/120/2 -f 28/119/2 29/658/2 9/14/2 -f 9/14/2 35/34/2 64/120/2 -f 35/34/2 63/33/2 64/120/2 -f 134/121/2 135/667/2 93/122/2 -f 133/124/2 134/121/2 94/123/2 -f 57/115/2 131/114/2 132/126/2 -f 66/128/2 67/673/2 25/129/2 -f 96/130/2 97/113/2 23/131/2 -f 24/132/2 25/129/2 132/126/2 -f 25/129/2 67/673/2 132/126/2 -f 67/673/2 68/127/2 132/126/2 -f 132/126/2 133/124/2 95/125/2 -f 95/125/2 96/130/2 132/126/2 -f 188/133/5 182/184/5 183/134/5 -f 145/136/4 146/144/4 143/137/4 -f 178/139/5 177/674/5 144/138/5 -f 145/136/3 173/675/3 174/143/3 -f 154/149/3 152/676/3 150/677/3 -f 150/677/3 164/678/3 154/149/3 -f 164/678/3 162/150/3 154/149/3 -f 162/150/3 160/679/3 158/680/3 -f 158/680/3 156/148/3 162/150/3 -f 165/151/6 166/681/6 147/152/6 -f 163/156/5 149/682/5 151/683/5 -f 151/683/5 153/684/5 163/156/5 -f 153/684/5 155/154/5 163/156/5 -f 155/154/5 157/685/5 159/155/5 -f 159/155/5 161/686/5 163/156/5 -f 167/157/7 168/159/7 148/153/7 -f 169/158/8 170/161/8 168/159/8 -f 171/160/9 172/687/9 170/161/9 -f 165/164/5 148/153/5 170/162/5 -f 148/153/5 168/159/5 170/162/5 -f 167/157/3 147/152/3 169/167/3 -f 147/152/3 166/165/3 169/167/3 -f 181/168/10 179/171/10 173/169/10 -f 179/171/4 180/188/4 174/172/4 -f 177/173/10 183/134/10 182/174/10 -f 178/176/4 184/135/4 183/134/4 -f 141/142/4 176/141/4 175/147/4 -f 176/141/1 186/179/1 185/177/1 -f 189/181/11 187/187/11 181/182/11 -f 182/184/12 188/133/12 190/185/12 -f 186/186/7 190/185/7 189/181/7 -f 179/171/3 181/182/3 187/187/3 -f 141/142/1 142/146/1 173/189/1 -f 173/189/1 145/136/1 144/138/1 -f 177/190/1 141/142/1 173/189/1 -f 180/688/2 187/689/2 174/192/2 -f 187/689/2 189/181/2 174/192/2 -f 189/181/2 190/185/2 178/191/2 -f 190/185/2 188/690/2 178/191/2 -f 188/690/2 184/691/2 178/191/2 -f 178/191/2 143/137/2 146/144/2 -f 178/191/2 146/144/2 174/192/2 -f 193/193/13 194/197/13 192/194/13 -f 195/196/4 196/199/4 194/197/4 -f 197/198/2 198/692/2 196/199/2 -f 194/197/5 196/199/5 198/200/5 -f 193/193/3 191/693/3 197/202/3 -f 199/203/4 201/56/4 202/55/4 -f 200/204/5 204/694/5 203/205/5 -f 205/207/1 201/56/1 199/203/1 -f 199/203/1 203/695/1 206/206/1 -f 207/208/1 209/211/1 210/209/1 -f 209/211/13 211/213/13 212/212/13 -f 211/213/4 213/215/4 214/214/4 -f 213/215/14 215/217/14 216/216/14 -f 215/217/2 217/696/2 218/218/2 -f 208/221/5 210/697/5 216/219/5 -f 210/697/5 212/212/5 216/219/5 -f 212/212/5 214/214/5 216/219/5 -f 209/222/3 207/698/3 217/699/3 -f 217/699/3 215/700/3 209/222/3 -f 215/700/3 213/215/3 209/222/3 -f 221/223/5 222/701/5 220/224/5 -f 223/226/3 225/702/3 226/227/3 -f 221/223/2 226/227/2 225/229/2 -f 219/225/4 224/228/4 226/227/4 -f 236/233/3 239/703/3 240/231/3 -f 239/703/3 243/257/3 240/231/3 -f 243/257/3 244/258/3 240/231/3 -f 228/234/7 230/704/7 229/235/7 -f 233/237/4 234/241/4 232/238/4 -f 228/240/5 232/238/5 234/241/5 -f 227/243/1 231/239/1 232/238/1 -f 229/235/3 233/237/3 231/239/3 -f 237/245/1 238/705/1 236/246/1 -f 240/248/14 244/258/14 245/249/14 -f 235/247/4 240/248/4 241/250/4 -f 238/251/7 242/259/7 239/252/7 -f 237/256/5 241/706/5 242/254/5 -f 241/706/5 245/249/5 242/254/5 -f 245/249/5 246/707/5 242/254/5 -f 243/257/2 246/707/2 245/249/2 -f 242/259/15 246/707/15 243/257/15 -f 247/260/5 249/268/5 250/261/5 -f 254/263/3 253/267/3 251/264/3 -f 248/266/16 252/708/16 251/264/16 -f 247/260/7 251/264/7 253/267/7 -f 249/268/1 253/267/1 254/269/1 -f 264/709/3 263/710/3 265/271/3 -f 265/271/3 266/711/3 267/272/3 -f 267/272/3 268/712/3 269/273/3 -f 269/273/3 270/713/3 264/709/3 -f 264/709/3 265/271/3 269/273/3 -f 274/274/3 273/714/3 271/275/3 -f 275/277/4 277/278/4 274/274/4 -f 277/278/17 276/715/17 273/279/17 -f 278/280/5 276/716/5 277/278/5 -f 290/281/1 289/300/1 287/282/1 -f 286/284/4 285/288/4 283/285/4 -f 279/287/3 283/285/3 285/288/3 -f 281/290/18 285/288/18 286/284/18 -f 280/292/5 282/717/5 286/284/5 -f 280/293/2 284/286/2 283/285/2 -f 287/297/3 289/300/3 308/295/3 -f 289/300/3 293/718/3 308/295/3 -f 290/281/5 288/719/5 307/298/5 -f 288/719/5 292/305/5 307/298/5 -f 294/299/7 293/718/7 289/300/7 -f 298/303/7 297/720/7 316/721/7 -f 316/721/7 315/722/7 295/301/7 -f 295/301/7 296/723/7 324/302/7 -f 324/302/7 325/724/7 298/303/7 -f 298/303/7 316/721/7 295/301/7 -f 311/304/5 309/312/5 307/298/5 -f 291/296/3 308/295/3 310/306/3 -f 310/306/1 321/725/1 322/308/1 -f 310/306/4 308/295/4 313/309/4 -f 311/304/1 332/726/1 331/311/1 -f 338/313/5 345/326/5 342/314/5 -f 309/312/4 331/727/4 330/316/4 -f 344/319/2 341/328/2 342/728/2 -f 342/728/2 345/729/2 346/317/2 -f 346/317/2 347/730/2 348/318/2 -f 348/318/2 343/731/2 344/319/2 -f 344/319/2 342/728/2 346/317/2 -f 336/320/3 343/732/3 348/321/3 -f 340/323/4 347/733/4 346/324/4 -f 348/321/19 347/733/19 340/323/19 -f 338/313/20 337/325/20 346/324/20 -f 334/327/12 333/315/12 342/314/12 -f 344/319/11 343/734/11 336/329/11 -f 334/327/7 341/328/7 344/319/7 -f 363/333/2 357/735/2 358/736/2 -f 358/736/2 364/737/2 359/331/2 -f 359/331/2 360/738/2 361/332/2 -f 361/332/2 362/739/2 363/333/2 -f 363/333/2 358/736/2 359/331/2 -f 350/336/1 349/740/1 356/741/1 -f 356/741/1 355/742/1 354/334/1 -f 354/334/1 353/743/1 352/335/1 -f 352/335/1 351/744/1 350/336/1 -f 350/336/1 356/741/1 354/334/1 -f 372/339/4 371/745/4 370/746/4 -f 370/746/4 369/747/4 368/337/4 -f 368/337/4 367/748/4 366/338/4 -f 366/338/4 365/749/4 372/339/4 -f 372/339/4 370/746/4 368/337/4 -f 388/342/4 387/750/4 386/751/4 -f 386/751/4 385/752/4 384/340/4 -f 384/340/4 383/753/4 382/341/4 -f 382/341/4 381/754/4 388/342/4 -f 388/342/4 386/751/4 384/340/4 -f 394/345/7 395/755/7 396/756/7 -f 396/756/7 389/757/7 390/343/7 -f 390/343/7 391/758/7 392/344/7 -f 392/344/7 393/759/7 394/345/7 -f 394/345/7 396/756/7 390/343/7 -f 399/347/7 400/760/7 422/348/7 -f 422/348/7 424/761/7 417/762/7 -f 424/761/7 402/763/7 417/762/7 -f 402/763/7 401/764/7 417/762/7 -f 417/762/7 416/346/7 422/348/7 -f 410/349/7 409/353/7 407/350/7 -f 412/352/2 411/765/2 409/353/2 -f 408/351/5 414/766/5 412/354/5 -f 407/350/3 409/353/3 411/355/3 -f 429/357/21 431/364/21 432/358/21 -f 432/360/5 434/767/5 436/361/5 -f 435/363/3 433/768/3 431/364/3 -f 441/366/3 443/372/3 439/367/3 -f 438/369/8 442/371/8 441/366/8 -f 440/370/5 444/377/5 442/371/5 -f 443/372/22 444/376/22 440/373/22 -f 442/371/23 446/378/23 445/374/23 -f 447/375/24 448/769/24 444/376/24 -f 444/377/5 448/770/5 446/378/5 -f 445/374/3 447/375/3 443/372/3 -f 456/381/5 452/771/5 458/379/5 -f 458/379/5 450/772/5 454/380/5 -f 457/384/3 451/773/3 455/382/3 -f 455/382/3 453/774/3 449/383/3 -f 459/387/1 460/775/1 461/776/1 -f 461/776/1 462/777/1 463/385/1 -f 463/385/1 464/778/1 465/779/1 -f 465/779/1 466/780/1 463/385/1 -f 466/780/1 467/386/1 463/385/1 -f 467/386/1 468/781/1 469/782/1 -f 469/782/1 470/783/1 459/387/1 -f 459/387/1 461/776/1 463/385/1 -f 467/386/1 469/782/1 459/387/1 -f 482/389/2 471/784/2 474/390/2 -f 471/784/2 472/785/2 474/390/2 -f 472/785/2 473/786/2 474/390/2 -f 474/390/2 475/787/2 476/788/2 -f 476/788/2 477/789/2 474/390/2 -f 477/789/2 478/790/2 474/390/2 -f 478/790/2 479/791/2 480/388/2 -f 480/388/2 481/792/2 482/389/2 -f 478/790/2 480/388/2 474/390/2 -f 485/393/7 484/793/7 483/794/7 -f 483/794/7 490/795/7 489/391/7 -f 489/391/7 488/796/7 487/392/7 -f 487/392/7 486/797/7 485/393/7 -f 485/393/7 483/794/7 489/391/7 -f 491/396/4 492/798/4 493/799/4 -f 493/799/4 494/800/4 495/394/4 -f 495/394/4 496/801/4 497/395/4 -f 497/395/4 498/802/4 491/396/4 -f 491/396/4 493/799/4 495/394/4 -f 507/399/4 508/803/4 509/804/4 -f 509/804/4 510/805/4 511/397/4 -f 511/397/4 512/806/4 513/398/4 -f 513/398/4 514/807/4 507/399/4 -f 507/399/4 509/804/4 511/397/4 -f 517/400/5 518/406/5 516/401/5 -f 519/403/3 521/409/3 522/404/3 -f 518/406/2 521/409/2 519/407/2 -f 517/400/4 522/404/4 521/409/4 -f 515/410/1 520/808/1 522/404/1 -f 524/411/4 526/417/4 525/412/4 -f 532/414/4 534/422/4 533/415/4 -f 526/417/2 530/809/2 527/418/2 -f 523/413/1 528/810/1 529/419/1 -f 524/411/3 529/811/3 530/420/3 -f 525/412/5 527/812/5 528/421/5 -f 534/422/2 538/813/2 535/423/2 -f 531/416/1 536/814/1 537/424/1 -f 532/414/3 537/815/3 538/425/3 -f 533/415/5 535/816/5 536/426/5 -f 540/427/4 542/430/4 541/428/4 -f 542/430/2 546/817/2 543/431/2 -f 539/429/1 544/818/1 545/432/1 -f 540/427/3 545/819/3 546/433/3 -f 541/428/5 543/820/5 544/434/5 -f 549/435/4 550/821/4 547/436/4 -f 551/438/7 554/446/7 553/439/7 -f 547/436/13 550/821/13 554/441/13 -f 547/443/25 551/438/25 552/440/25 -f 548/437/2 552/440/2 553/439/2 -f 550/445/26 549/822/26 553/439/26 -f 675/447/1 674/468/1 698/448/1 -f 681/450/1 705/469/1 706/451/1 -f 679/453/1 678/823/1 702/454/1 -f 675/447/1 699/449/1 700/456/1 -f 682/452/1 706/451/1 707/458/1 -f 672/460/1 696/467/1 697/461/1 -f 679/453/1 703/455/1 704/463/1 -f 676/457/1 700/456/1 701/465/1 -f 672/460/1 683/459/1 707/458/1 -f 673/462/1 697/461/1 698/448/1 -f 681/450/1 680/464/1 704/463/1 -f 678/470/1 677/466/1 701/465/1 -f 710/824/2 709/825/2 708/472/2 -f 708/472/2 719/826/2 718/473/2 -f 718/473/2 717/827/2 714/474/2 -f 717/827/2 716/828/2 714/474/2 -f 716/828/2 715/829/2 714/474/2 -f 714/474/2 713/830/2 712/831/2 -f 712/831/2 711/832/2 714/474/2 -f 711/832/2 710/824/2 714/474/2 -f 710/824/2 708/472/2 714/474/2 -f 684/477/1 685/833/1 686/834/1 -f 686/834/1 687/835/1 688/475/1 -f 688/475/1 689/836/1 692/476/1 -f 689/836/1 690/837/1 692/476/1 -f 690/837/1 691/838/1 692/476/1 -f 692/476/1 693/839/1 694/840/1 -f 694/840/1 695/841/1 684/477/1 -f 684/477/1 686/834/1 688/475/1 -f 692/476/1 694/840/1 684/477/1 -f 721/478/3 723/842/3 720/479/3 -f 725/481/5 727/843/5 726/482/5 -f 731/484/3 730/844/3 728/485/3 -f 732/487/4 734/488/4 731/484/4 -f 734/488/17 733/845/17 730/489/17 -f 735/490/5 733/846/5 734/488/5 -f 736/491/1 738/494/1 739/492/1 -f 738/494/13 740/496/13 741/495/13 -f 740/496/4 742/498/4 743/497/4 -f 742/498/14 744/500/14 745/499/14 -f 744/500/2 746/847/2 747/501/2 -f 737/504/5 739/848/5 745/502/5 -f 739/848/5 741/495/5 745/502/5 -f 741/495/5 743/497/5 745/502/5 -f 738/505/3 736/849/3 746/850/3 -f 746/850/3 744/851/3 738/505/3 -f 744/851/3 742/498/3 738/505/3 -f 750/506/5 751/512/5 749/507/5 -f 752/509/3 754/515/3 755/510/3 -f 751/512/2 754/515/2 752/513/2 -f 750/506/4 755/510/4 754/515/4 -f 748/516/1 753/852/1 755/510/1 -f 758/517/13 759/521/13 757/518/13 -f 760/520/4 761/523/4 759/521/4 -f 762/522/2 763/853/2 761/523/2 -f 759/521/5 761/523/5 763/524/5 -f 758/517/3 756/854/3 762/526/3 -f 766/527/5 767/855/5 765/528/5 -f 768/530/3 770/856/3 771/531/3 -f 766/527/2 771/531/2 770/533/2 -f 764/529/4 769/532/4 771/531/4 -f 772/535/5 774/543/5 775/536/5 -f 779/538/3 778/542/3 776/539/3 -f 773/541/16 777/857/16 776/539/16 -f 772/535/7 776/539/7 778/542/7 -f 774/543/1 778/542/1 779/544/1 -f 783/546/1 782/567/1 806/547/1 -f 789/549/1 813/568/1 814/550/1 -f 787/552/1 786/858/1 810/553/1 -f 783/546/1 807/548/1 808/555/1 -f 790/551/1 814/550/1 815/557/1 -f 780/559/1 804/566/1 805/560/1 -f 787/552/1 811/554/1 812/562/1 -f 784/556/1 808/555/1 809/564/1 -f 780/559/1 791/558/1 815/557/1 -f 781/561/1 805/560/1 806/547/1 -f 789/549/1 788/563/1 812/562/1 -f 786/569/1 785/565/1 809/564/1 -f 818/859/2 817/860/2 816/571/2 -f 816/571/2 827/861/2 826/572/2 -f 826/572/2 825/862/2 822/573/2 -f 825/862/2 824/863/2 822/573/2 -f 824/863/2 823/864/2 822/573/2 -f 822/573/2 821/865/2 820/866/2 -f 820/866/2 819/867/2 822/573/2 -f 819/867/2 818/859/2 822/573/2 -f 818/859/2 816/571/2 822/573/2 -f 792/576/1 793/868/1 794/869/1 -f 794/869/1 795/870/1 796/574/1 -f 796/574/1 797/871/1 800/575/1 -f 797/871/1 798/872/1 800/575/1 -f 798/872/1 799/873/1 800/575/1 -f 800/575/1 801/874/1 802/875/1 -f 802/875/1 803/876/1 792/576/1 -f 792/576/1 794/869/1 796/574/1 -f 800/575/1 802/875/1 792/576/1 -f 831/577/1 830/598/1 854/578/1 -f 837/580/1 861/599/1 862/581/1 -f 835/583/1 834/877/1 858/584/1 -f 831/577/1 855/579/1 856/586/1 -f 838/582/1 862/581/1 863/588/1 -f 828/590/1 852/597/1 853/591/1 -f 835/583/1 859/585/1 860/593/1 -f 832/587/1 856/586/1 857/595/1 -f 828/590/1 839/589/1 863/588/1 -f 829/592/1 853/591/1 854/578/1 -f 837/580/1 836/594/1 860/593/1 -f 834/600/1 833/596/1 857/595/1 -f 866/878/2 865/879/2 864/602/2 -f 864/602/2 875/880/2 874/603/2 -f 874/603/2 873/881/2 870/604/2 -f 873/881/2 872/882/2 870/604/2 -f 872/882/2 871/883/2 870/604/2 -f 870/604/2 869/884/2 868/885/2 -f 868/885/2 867/886/2 870/604/2 -f 867/886/2 866/878/2 870/604/2 -f 866/878/2 864/602/2 870/604/2 -f 840/607/1 841/887/1 842/888/1 -f 842/888/1 843/889/1 844/605/1 -f 844/605/1 845/890/1 848/606/1 -f 845/890/1 846/891/1 848/606/1 -f 846/891/1 847/892/1 848/606/1 -f 848/606/1 849/893/1 850/894/1 -f 850/894/1 851/895/1 840/607/1 -f 840/607/1 842/888/1 844/605/1 -f 848/606/1 850/894/1 840/607/1 -f 879/608/1 878/629/1 902/609/1 -f 885/611/1 909/630/1 910/612/1 -f 883/614/1 882/896/1 906/615/1 -f 879/608/1 903/610/1 904/617/1 -f 886/613/1 910/612/1 911/619/1 -f 876/621/1 900/628/1 901/622/1 -f 883/614/1 907/616/1 908/624/1 -f 880/618/1 904/617/1 905/626/1 -f 876/621/1 887/620/1 911/619/1 -f 877/623/1 901/622/1 902/609/1 -f 885/611/1 884/625/1 908/624/1 -f 882/631/1 881/627/1 905/626/1 -f 914/897/2 913/898/2 912/633/2 -f 912/633/2 923/899/2 922/634/2 -f 922/634/2 921/900/2 918/635/2 -f 921/900/2 920/901/2 918/635/2 -f 920/901/2 919/902/2 918/635/2 -f 918/635/2 917/903/2 916/904/2 -f 916/904/2 915/905/2 918/635/2 -f 915/905/2 914/897/2 918/635/2 -f 914/897/2 912/633/2 918/635/2 -f 888/638/1 889/906/1 890/907/1 -f 890/907/1 891/908/1 892/636/1 -f 892/636/1 893/909/1 896/637/1 -f 893/909/1 894/910/1 896/637/1 -f 894/910/1 895/911/1 896/637/1 -f 896/637/1 897/912/1 898/913/1 -f 898/913/1 899/914/1 888/638/1 -f 888/638/1 890/907/1 892/636/1 -f 896/637/1 898/913/1 888/638/1 -f 933/639/5 932/915/5 934/640/5 -f 934/640/5 935/916/5 936/641/5 -f 936/641/5 937/917/5 933/639/5 -f 937/917/5 938/918/5 933/639/5 -f 938/918/5 939/919/5 933/639/5 -f 942/644/7 941/920/7 940/921/7 -f 940/921/7 947/922/7 946/642/7 -f 946/642/7 945/923/7 944/643/7 -f 944/643/7 943/924/7 942/644/7 -f 942/644/7 940/921/7 946/642/7 -f 948/647/4 949/925/4 950/926/4 -f 950/926/4 951/927/4 952/645/4 -f 952/645/4 953/928/4 954/646/4 -f 954/646/4 955/929/4 948/647/4 -f 948/647/4 950/926/4 952/645/4 -f 964/650/4 965/930/4 966/931/4 -f 966/931/4 967/932/4 968/648/4 -f 968/648/4 969/933/4 970/649/4 -f 970/649/4 971/934/4 964/650/4 -f 964/650/4 966/931/4 968/648/4 -f 986/653/2 980/935/2 981/936/2 -f 981/936/2 987/937/2 982/651/2 -f 982/651/2 983/938/2 984/652/2 -f 984/652/2 985/939/2 986/653/2 -f 986/653/2 981/936/2 982/651/2 -f 973/656/1 972/940/1 979/941/1 -f 979/941/1 978/942/1 977/654/1 -f 977/654/1 976/943/1 975/655/1 -f 975/655/1 974/944/1 973/656/1 -f 973/656/1 979/941/1 977/654/1 +f 672/1137/153 667/1138/153 668/1139/153 +f 655/1140/154 653/1141/154 654/1142/154 +f 662/1143/153 654/1142/153 653/1141/153 +f 661/1144/155 660/1145/155 651/1146/155 +f 655/1140/155 658/1147/155 656/1148/155 +f 657/1149/153 652/1150/153 659/1151/153 +f 665/1152/156 657/1153/156 659/1154/156 +f 663/1155/154 658/1156/154 657/1153/154 +f 661/1157/156 666/1158/156 660/1159/156 +f 662/1160/154 667/1138/154 661/1157/154 +f 651/1146/154 659/1151/154 652/1150/154 +f 660/1145/157 669/1161/157 659/1151/157 +f 660/1145/157 666/1162/157 670/1163/157 +f 659/1151/157 669/1161/157 665/1164/157 +f 673/1165/158 665/1166/158 669/1167/158 +f 666/1168/159 674/1169/159 670/1170/159 +f 670/1170/160 673/1165/160 669/1167/160 +f 663/1155/155 671/1171/155 664/1172/155 +f 657/1173/157 654/1142/157 661/1174/157 +f 673/1165/161 662/1175/161 658/1176/161 +f 675/1177/153 678/1178/153 676/1179/153 +f 682/1180/155 679/1181/155 680/1182/155 +f 676/1183/162 679/1181/162 675/1177/162 +f 675/1177/160 681/1184/160 677/1185/160 +f 677/1185/157 682/1186/157 678/1187/157 +f 693/1188/155 695/1189/155 697/1190/155 +f 704/1191/153 708/1192/153 699/1193/153 +f 712/1194/161 714/1195/161 710/1196/161 +f 702/1197/155 714/1198/155 705/1199/155 +f 706/1200/154 712/1201/154 703/1202/154 +f 714/1198/163 706/1200/163 705/1199/163 +f 704/1191/164 712/1201/164 711/1203/164 +f 700/1204/159 708/1192/159 707/1205/159 +f 710/1196/158 702/1206/158 701/1207/158 +f 700/1204/160 710/1196/160 701/1207/160 +f 725/1208/161 727/1209/161 729/1210/161 +f 720/1211/157 718/1212/157 716/1213/157 +f 750/1214/160 733/1215/160 756/1216/160 +f 744/1217/160 741/1218/160 742/1219/160 +f 746/1220/161 743/1221/161 744/1217/161 +f 742/1219/153 746/1222/153 744/1217/153 +f 741/1218/155 745/1223/155 747/1224/155 +f 763/1225/165 766/1226/165 764/1227/165 +f 766/1228/153 770/1229/153 764/1230/153 +f 769/1231/155 765/1232/155 763/1233/155 +f 775/1234/155 773/1235/155 771/1236/155 +f 772/1237/166 775/1234/166 771/1236/166 +f 774/1238/153 776/1239/153 772/1237/153 +f 777/1240/167 774/1241/167 773/1235/167 +f 776/1239/168 779/1242/168 775/1234/168 +f 781/1243/169 778/1244/169 777/1240/169 +f 778/1245/153 780/1246/153 776/1239/153 +f 779/1242/155 777/1240/155 775/1234/155 +f 900/1247/153 903/1248/153 901/1249/153 +f 907/1250/155 904/1251/155 905/1252/155 +f 901/1253/162 904/1251/162 900/1247/162 +f 900/1247/160 906/1254/160 902/1255/160 +f 902/1255/157 907/1256/157 903/1257/157 +f 917/1258/153 918/1259/153 920/1260/153 +f 930/1261/160 928/1262/160 926/1263/160 +f 936/1264/154 938/1265/154 932/1266/154 +f 952/1267/154 954/1268/154 948/1269/154 +f 966/1270/161 968/1271/161 970/1272/161 +f 961/1273/157 959/1274/157 957/1275/157 +f 1077/1276/170 1076/1277/170 1075/1278/170 +f 1079/1279/154 1078/1280/154 1077/1276/154 +f 1081/1281/161 1080/1282/161 1079/1279/161 +f 1078/1280/153 1082/1283/153 1076/1284/153 +f 1077/1276/155 1081/1285/155 1079/1279/155 +f 1085/1286/170 1084/1287/170 1083/1288/170 +f 1087/1289/154 1086/1290/154 1085/1286/154 +f 1089/1291/161 1088/1292/161 1087/1289/161 +f 1086/1290/153 1090/1293/153 1084/1294/153 +f 1085/1286/155 1089/1295/155 1087/1289/155 +f 672/1137/153 666/1168/153 667/1138/153 +f 655/1140/154 656/1148/154 653/1141/154 +f 662/1143/153 661/1296/153 654/1142/153 +f 655/1140/155 657/1297/155 658/1147/155 +f 665/1152/156 663/1155/156 657/1153/156 +f 663/1155/154 664/1172/154 658/1156/154 +f 661/1157/156 667/1138/156 666/1158/156 +f 662/1160/154 668/1139/154 667/1138/154 +f 651/1146/154 660/1145/154 659/1151/154 +f 660/1145/157 670/1163/157 669/1161/157 +f 673/1165/158 671/1171/158 665/1166/158 +f 666/1168/159 672/1137/159 674/1169/159 +f 670/1170/160 674/1169/160 673/1165/160 +f 663/1155/155 665/1166/155 671/1171/155 +f 651/1146/157 652/1150/157 657/1173/157 +f 657/1173/157 655/1140/157 654/1142/157 +f 661/1174/157 651/1146/157 657/1173/157 +f 664/1298/161 671/1299/161 658/1176/161 +f 671/1299/161 673/1165/161 658/1176/161 +f 673/1165/161 674/1169/161 662/1175/161 +f 674/1169/161 672/1300/161 662/1175/161 +f 672/1300/161 668/1301/161 662/1175/161 +f 662/1175/161 653/1141/161 656/1148/161 +f 662/1175/161 656/1148/161 658/1176/161 +f 675/1177/153 677/1185/153 678/1178/153 +f 682/1180/155 681/1184/155 679/1181/155 +f 676/1183/162 680/1302/162 679/1181/162 +f 675/1177/160 679/1181/160 681/1184/160 +f 677/1185/157 681/1184/157 682/1186/157 +f 692/1303/155 691/1304/155 693/1188/155 +f 693/1188/155 694/1305/155 695/1189/155 +f 695/1189/155 696/1306/155 697/1190/155 +f 697/1190/155 698/1307/155 692/1303/155 +f 692/1303/155 693/1188/155 697/1190/155 +f 704/1191/153 711/1203/153 708/1192/153 +f 710/1196/161 707/1205/161 708/1308/161 +f 708/1308/161 711/1309/161 712/1194/161 +f 712/1194/161 713/1310/161 714/1195/161 +f 714/1195/161 709/1311/161 710/1196/161 +f 710/1196/161 708/1308/161 712/1194/161 +f 702/1197/155 709/1312/155 714/1198/155 +f 706/1200/154 713/1313/154 712/1201/154 +f 714/1198/163 713/1313/163 706/1200/163 +f 704/1191/164 703/1202/164 712/1201/164 +f 700/1204/159 699/1193/159 708/1192/159 +f 710/1196/158 709/1314/158 702/1206/158 +f 700/1204/160 707/1205/160 710/1196/160 +f 729/1210/161 723/1315/161 724/1316/161 +f 724/1316/161 730/1317/161 725/1208/161 +f 725/1208/161 726/1318/161 727/1209/161 +f 727/1209/161 728/1319/161 729/1210/161 +f 729/1210/161 724/1316/161 725/1208/161 +f 716/1213/157 715/1320/157 722/1321/157 +f 722/1321/157 721/1322/157 720/1211/157 +f 720/1211/157 719/1323/157 718/1212/157 +f 718/1212/157 717/1324/157 716/1213/157 +f 716/1213/157 722/1321/157 720/1211/157 +f 733/1215/160 734/1325/160 756/1216/160 +f 756/1216/160 758/1326/160 751/1327/160 +f 758/1326/160 736/1328/160 751/1327/160 +f 736/1328/160 735/1329/160 751/1327/160 +f 751/1327/160 750/1214/160 756/1216/160 +f 744/1217/160 743/1221/160 741/1218/160 +f 746/1220/161 745/1330/161 743/1221/161 +f 742/1219/153 748/1331/153 746/1222/153 +f 741/1218/155 743/1221/155 745/1223/155 +f 763/1225/165 765/1232/165 766/1226/165 +f 766/1228/153 768/1332/153 770/1229/153 +f 769/1231/155 767/1333/155 765/1232/155 +f 775/1234/155 777/1240/155 773/1235/155 +f 772/1237/166 776/1239/166 775/1234/166 +f 774/1238/153 778/1245/153 776/1239/153 +f 777/1240/167 778/1244/167 774/1241/167 +f 776/1239/168 780/1246/168 779/1242/168 +f 781/1243/169 782/1334/169 778/1244/169 +f 778/1245/153 782/1335/153 780/1246/153 +f 779/1242/155 781/1243/155 777/1240/155 +f 900/1247/153 902/1255/153 903/1248/153 +f 907/1250/155 906/1254/155 904/1251/155 +f 901/1253/162 905/1336/162 904/1251/162 +f 900/1247/160 904/1251/160 906/1254/160 +f 902/1255/157 906/1254/157 907/1256/157 +f 917/1258/153 916/1337/153 918/1259/153 +f 918/1259/153 919/1338/153 920/1260/153 +f 920/1260/153 921/1339/153 917/1258/153 +f 921/1339/153 922/1340/153 917/1258/153 +f 922/1340/153 923/1341/153 917/1258/153 +f 926/1263/160 925/1342/160 924/1343/160 +f 924/1343/160 931/1344/160 930/1261/160 +f 930/1261/160 929/1345/160 928/1262/160 +f 928/1262/160 927/1346/160 926/1263/160 +f 926/1263/160 924/1343/160 930/1261/160 +f 932/1266/154 933/1347/154 934/1348/154 +f 934/1348/154 935/1349/154 936/1264/154 +f 936/1264/154 937/1350/154 938/1265/154 +f 938/1265/154 939/1351/154 932/1266/154 +f 932/1266/154 934/1348/154 936/1264/154 +f 948/1269/154 949/1352/154 950/1353/154 +f 950/1353/154 951/1354/154 952/1267/154 +f 952/1267/154 953/1355/154 954/1268/154 +f 954/1268/154 955/1356/154 948/1269/154 +f 948/1269/154 950/1353/154 952/1267/154 +f 970/1272/161 964/1357/161 965/1358/161 +f 965/1358/161 971/1359/161 966/1270/161 +f 966/1270/161 967/1360/161 968/1271/161 +f 968/1271/161 969/1361/161 970/1272/161 +f 970/1272/161 965/1358/161 966/1270/161 +f 957/1275/157 956/1362/157 963/1363/157 +f 963/1363/157 962/1364/157 961/1273/157 +f 961/1273/157 960/1365/157 959/1274/157 +f 959/1274/157 958/1366/157 957/1275/157 +f 957/1275/157 963/1363/157 961/1273/157 +f 1077/1276/170 1078/1280/170 1076/1277/170 +f 1079/1279/154 1080/1282/154 1078/1280/154 +f 1081/1281/161 1082/1367/161 1080/1282/161 +f 1078/1280/153 1080/1282/153 1082/1283/153 +f 1077/1276/155 1075/1368/155 1081/1285/155 +f 1085/1286/170 1086/1290/170 1084/1287/170 +f 1087/1289/154 1088/1292/154 1086/1290/154 +f 1089/1291/161 1090/1369/161 1088/1292/161 +f 1086/1290/153 1088/1292/153 1090/1293/153 +f 1085/1286/155 1083/1370/155 1089/1295/155 s 1 -f 2/945/27 3/946/3 1/947/27 -f 4/948/3 5/949/28 3/946/3 -f 6/950/28 7/951/29 5/949/28 -f 8/952/29 9/953/30 7/951/29 -f 17/954/4 28/955/31 16/956/31 -f 14/957/3 25/958/28 13/959/28 -f 21/960/32 32/961/5 20/962/5 -f 18/963/33 29/964/4 17/965/4 -f 15/966/34 26/967/3 14/957/3 -f 22/968/35 33/969/32 21/960/32 -f 12/970/29 23/971/7 11/972/7 -f 19/973/36 30/974/33 18/963/33 -f 16/956/31 27/975/34 15/966/34 -f 11/972/7 34/976/35 22/968/35 -f 13/959/28 24/977/29 12/970/29 -f 20/962/5 31/978/36 19/973/36 -f 36/979/37 37/980/35 35/981/37 -f 38/982/35 39/983/32 37/980/35 -f 40/984/32 41/985/5 39/983/32 -f 42/986/5 43/987/38 41/985/5 -f 51/988/4 62/989/31 50/990/31 -f 48/991/3 59/992/28 47/993/28 -f 55/994/32 66/995/5 54/996/5 -f 52/997/33 63/998/4 51/999/4 -f 49/1000/34 60/1001/3 48/991/3 -f 56/1002/35 67/1003/32 55/994/32 -f 46/1004/29 57/1005/7 45/1006/7 -f 53/1007/36 64/1008/33 52/997/33 -f 50/990/31 61/1009/34 49/1000/34 -f 45/1006/7 68/1010/35 56/1002/35 -f 47/993/28 58/1011/29 46/1004/29 -f 54/996/5 65/1012/36 53/1007/36 -f 74/1013/34 107/1014/31 72/1015/31 -f 107/1014/31 70/1016/39 72/1015/31 -f 73/1017/39 104/1018/40 70/1016/39 -f 78/1019/41 137/1020/42 77/1021/41 -f 10/1022/30 35/1023/37 9/953/30 -f 137/1020/43 2/945/27 1/947/27 -f 85/1024/4 96/1025/31 84/1026/31 -f 82/1027/3 93/1028/28 81/1029/28 -f 89/1030/32 100/1031/5 88/1032/5 -f 86/1033/33 97/1034/4 85/1035/4 -f 83/1036/34 94/1037/3 82/1027/3 -f 90/1038/35 101/1039/32 89/1030/32 -f 80/1040/29 91/1041/7 79/1042/7 -f 87/1043/36 98/1044/33 86/1033/33 -f 84/1026/31 95/1045/34 83/1036/34 -f 79/1042/7 102/1046/35 90/1038/35 -f 81/1029/28 92/1047/29 80/1040/29 -f 88/1032/5 99/1048/36 87/1043/36 -f 139/1049/44 106/1050/45 105/1051/45 -f 44/1052/38 139/1049/46 43/987/38 -f 119/1053/4 130/1054/31 118/1055/31 -f 116/1056/3 127/1057/28 115/1058/28 -f 123/1059/32 134/1060/5 122/1061/5 -f 120/1062/33 131/1063/4 119/1064/4 -f 117/1065/34 128/1066/3 116/1056/3 -f 124/1067/35 135/1068/32 123/1059/32 -f 114/1069/29 125/1070/7 113/1071/7 -f 121/1072/36 132/1073/33 120/1062/33 -f 118/1055/31 129/1074/34 117/1065/34 -f 113/1071/7 136/1075/35 124/1067/35 -f 115/1058/28 126/1076/29 114/1069/29 -f 122/1061/5 133/1077/36 121/1072/36 -f 109/1078/47 74/1013/34 76/1079/3 -f 104/1018/40 205/1080/33 112/1081/33 -f 112/1081/33 206/1082/36 110/1083/36 -f 206/1082/36 108/1084/5 110/1083/36 -f 150/1085/2 151/1086/15 149/1087/2 -f 152/1088/15 153/1089/7 151/1086/15 -f 154/1090/7 155/1091/48 153/1092/7 -f 156/1093/48 157/1094/1 155/1091/48 -f 158/1095/1 159/1096/13 157/1094/1 -f 160/1097/13 161/1098/4 159/1096/13 -f 162/1099/4 163/1100/14 161/1098/4 -f 164/1101/14 149/1087/2 163/1100/14 -f 203/1102/49 204/1103/50 105/1051/45 -f 109/1078/47 78/1019/41 77/1021/41 -f 255/1104/2 270/1105/15 262/1106/15 -f 261/1107/7 268/1108/48 260/1109/48 -f 259/1110/1 266/1111/13 258/1112/13 -f 257/1113/4 263/1114/14 256/1115/14 -f 262/1106/15 269/1116/7 261/1117/7 -f 260/1109/48 267/1118/1 259/1110/1 -f 258/1112/13 265/1119/4 257/1113/4 -f 256/1115/14 264/1120/2 255/1104/2 -f 294/1121/51 295/1122/52 293/1123/53 -f 298/1124/54 299/1125/55 297/1126/56 -f 300/1127/57 301/1128/58 299/1125/55 -f 302/1129/59 303/1130/60 301/1128/58 -f 304/1131/61 305/1132/62 303/1130/60 -f 302/1133/59 326/1134/63 327/1135/64 -f 295/1136/52 314/1137/65 293/1123/53 -f 315/722/66 317/1138/67 318/1139/68 -f 293/1123/53 313/1140/69 308/1141/70 -f 303/1142/60 320/1143/71 319/1144/72 -f 303/1142/60 318/1139/68 301/1145/58 -f 301/1145/58 317/1138/67 299/1125/55 -f 297/1146/56 317/1138/67 316/721/73 -f 326/1134/63 325/1147/74 324/1148/75 -f 323/1149/76 330/1150/77 331/1151/5 -f 307/1152/78 323/1149/76 294/1153/51 -f 298/1154/54 326/1134/63 300/1155/57 -f 296/1156/79 323/1149/76 324/1148/75 -f 304/1157/61 329/1158/80 306/1159/81 -f 302/1133/59 328/1160/82 304/1157/61 -f 319/1144/72 314/1137/65 318/1139/68 -f 332/1161/5 328/1160/82 331/1151/5 -f 314/1137/65 321/1162/3 313/1140/69 -f 319/1144/72 322/1163/3 321/1162/3 -f 328/1160/82 323/1149/76 331/1151/5 -f 350/1164/3 357/1165/19 349/1166/19 -f 352/1167/7 364/1168/11 351/1169/11 -f 355/1170/20 361/1171/5 354/1172/5 -f 353/1173/12 359/1174/7 352/1175/7 -f 349/1166/19 363/1176/4 356/1177/4 -f 351/1169/11 358/1178/3 350/1164/3 -f 356/1177/4 362/1179/20 355/1170/20 -f 354/1172/5 360/1180/12 353/1173/12 -f 378/1181/5 371/1182/83 379/1183/83 -f 376/1184/1 369/1185/78 377/1186/78 -f 374/1187/3 367/1188/70 375/1189/70 -f 380/1190/2 365/1191/84 373/1192/84 -f 379/1183/83 372/1193/2 380/1190/2 -f 377/1186/78 370/1194/5 378/1195/5 -f 375/1189/70 368/1196/1 376/1184/1 -f 373/1192/84 366/1197/3 374/1187/3 -f 394/1198/5 387/1199/83 395/1200/83 -f 392/1201/1 385/1202/78 393/1203/78 -f 390/1204/3 383/1205/70 391/1206/70 -f 396/1207/2 381/1208/84 389/1209/84 -f 395/1200/83 388/1210/2 396/1207/2 -f 393/1203/78 386/1211/5 394/1212/5 -f 391/1206/70 384/1213/1 392/1201/1 -f 389/1209/84 382/1214/3 390/1204/3 -f 400/1215/85 397/1216/86 398/1217/87 -f 404/1218/88 401/1219/56 402/1220/54 -f 406/1221/89 403/1222/90 404/1218/88 -f 408/1223/91 405/1224/92 406/1221/89 -f 402/1225/54 425/1226/93 404/1227/88 -f 420/1228/94 413/1229/95 421/1230/96 -f 419/1231/97 421/1230/96 415/1232/98 -f 427/1233/99 414/1234/100 408/1235/91 -f 407/1236/101 419/1231/97 405/1237/92 -f 407/1236/101 413/1229/95 420/1228/94 -f 401/1238/56 418/1239/102 417/762/73 -f 399/1240/103 415/1232/98 397/1216/86 -f 405/1237/92 418/1239/102 403/1222/90 -f 422/1241/104 425/1226/93 424/1242/74 -f 400/1243/85 423/1244/105 422/1241/104 -f 406/1245/89 425/1226/93 426/1246/106 -f 416/346/107 419/1231/97 415/1232/98 -f 406/1245/89 427/1233/99 408/1235/91 -f 414/1234/100 427/1233/99 428/1247/108 -f 416/346/107 418/1239/102 419/1231/97 -f 426/1246/106 422/1241/104 423/1244/105 -f 428/1247/108 426/1246/106 423/1244/105 -f 451/773/109 458/1248/110 452/1249/109 -f 458/1248/110 449/1250/111 450/1251/111 -f 456/1252/112 451/773/6 452/1249/6 -f 453/1253/113 456/1252/112 454/1254/113 -f 479/1255/83 463/1256/114 462/1257/83 -f 467/1258/115 473/1259/84 468/1260/84 -f 464/1261/116 476/1262/15 465/1263/15 -f 463/1256/114 477/1264/116 464/1261/116 -f 482/1265/14 460/1266/117 459/1267/14 -f 473/1259/84 469/1268/118 468/1260/84 -f 476/1269/15 466/1270/119 465/1271/15 -f 481/1272/117 461/1273/120 460/1266/117 -f 469/1268/118 471/1274/121 470/1275/121 -f 475/1276/119 467/1258/115 466/1270/119 -f 461/1273/120 479/1255/83 462/1257/83 -f 470/1275/121 482/1265/14 459/1267/14 -f 490/1277/84 497/1278/3 489/1279/3 -f 488/1280/70 495/1281/1 487/1282/1 -f 486/1283/78 493/1284/5 485/1285/5 -f 484/1286/83 491/1287/2 483/1288/2 -f 483/1288/2 498/1289/84 490/1277/84 -f 489/1279/3 496/1290/70 488/1280/70 -f 487/1282/1 494/1291/78 486/1283/78 -f 485/1292/5 492/1293/83 484/1286/83 -f 506/1294/84 513/1295/3 505/1296/3 -f 504/1297/70 511/1298/1 503/1299/1 -f 502/1300/78 509/1301/5 501/1302/5 -f 500/1303/83 507/1304/2 499/1305/2 -f 499/1305/2 514/1306/84 506/1294/84 -f 505/1296/3 512/1307/70 504/1297/70 -f 503/1299/1 510/1308/78 502/1300/78 -f 501/1309/5 508/1310/83 500/1303/83 -f 566/1311/122 559/1312/7 558/1313/12 -f 564/1314/123 557/1315/5 556/1316/20 -f 569/1317/124 562/1318/19 561/1319/3 -f 567/1320/48 560/1321/11 559/1322/7 -f 565/1323/125 558/1313/12 557/1315/5 -f 563/1324/126 556/1316/20 555/1325/4 -f 570/1326/127 555/1325/4 562/1318/19 -f 568/1327/128 561/1319/3 560/1321/11 -f 569/1328/124 577/1329/129 570/1326/127 -f 565/1330/125 574/1331/130 566/1332/122 -f 564/1314/123 571/1333/14 572/1334/131 -f 563/1324/126 577/1329/129 571/1333/14 -f 569/1328/124 575/1335/132 576/1336/133 -f 564/1314/123 573/1337/134 565/1330/125 -f 572/1334/131 580/1338/135 573/1337/134 -f 577/1329/129 583/1339/136 584/1340/137 -f 574/1331/130 580/1338/135 581/1341/138 -f 572/1334/131 578/1342/139 579/1343/140 -f 571/1333/14 584/1340/137 578/1342/139 -f 575/1335/132 583/1339/136 576/1336/133 -f 566/1332/122 574/1331/130 567/1344/48 -f 567/1345/48 575/1335/132 568/1346/128 -f 575/1335/132 567/1345/48 582/1347/141 -f 574/1331/130 581/1341/138 567/1344/48 -f 582/1348/141 585/1349/142 590/1350/143 -f 583/1351/136 592/1352/144 584/1340/137 -f 580/1353/135 589/1354/145 581/1355/138 -f 578/1342/139 587/1356/146 579/1343/140 -f 581/1355/138 585/1357/142 567/1358/48 -f 578/1342/139 592/1352/144 586/1359/147 -f 582/1348/141 591/1360/148 583/1351/136 -f 579/1343/140 588/1361/149 580/1353/135 -f 604/1362/122 597/1363/150 596/1364/151 -f 602/1365/123 595/1366/152 594/1367/153 -f 607/1368/124 600/1369/154 599/1370/155 -f 605/1371/48 598/1372/156 597/1363/150 -f 603/1373/125 596/1364/151 595/1374/152 -f 601/1375/126 594/1367/153 593/1376/157 -f 608/1377/127 593/1376/157 600/1369/154 -f 606/1378/128 599/1370/155 598/1372/156 -f 607/1379/124 615/1380/158 608/1377/127 -f 603/1381/125 612/1382/130 604/1383/122 -f 601/1375/126 610/1384/159 602/1365/123 -f 608/1377/127 609/1385/14 601/1375/126 -f 606/1386/128 614/1387/133 607/1379/124 -f 602/1365/123 611/1388/134 603/1389/125 -f 611/1388/134 617/1390/140 618/1391/135 -f 614/1387/133 622/1392/137 615/1380/158 -f 612/1382/130 618/1393/135 619/1394/138 -f 609/1385/14 617/1390/140 610/1384/159 -f 609/1385/14 622/1392/137 616/1395/139 -f 613/1396/132 621/1397/136 614/1387/133 -f 604/1383/122 612/1382/130 605/1398/48 -f 605/1398/48 613/1396/132 606/1386/128 -f 613/1396/132 605/1398/48 620/1399/141 -f 612/1382/130 619/1394/138 605/1398/48 -f 605/1400/48 628/1401/143 620/1402/141 -f 621/1403/136 630/1404/144 622/1392/137 -f 618/1405/135 627/1406/145 619/1407/138 -f 616/1395/139 625/1408/146 617/1390/140 -f 619/1407/138 623/1409/142 605/1400/48 -f 622/1392/137 624/1410/147 616/1395/139 -f 620/1402/141 629/1411/148 621/1403/136 -f 617/1390/140 626/1412/20 618/1413/135 -f 992/1414/160 1019/1415/19 635/1416/161 -f 1020/1417/162 1019/1415/19 992/1414/160 -f 991/1418/163 634/1419/164 1019/1420/19 -f 1019/1420/19 1018/1421/165 991/1418/163 -f 591/1360/148 644/1422/166 592/1352/144 -f 586/1423/147 640/1424/167 587/1425/146 -f 589/1426/145 638/1427/168 585/1428/142 -f 592/1352/144 639/1429/169 586/1423/147 -f 590/1350/143 643/1430/11 591/1360/148 -f 590/1350/143 638/1431/168 642/1432/170 -f 638/1427/168 648/1433/171 645/1434/172 -f 597/1435/150 656/1436/173 655/1437/174 -f 643/1430/11 649/1438/48 650/1439/175 -f 642/1432/170 645/1440/172 649/1438/48 -f 644/1422/166 650/1439/175 651/1441/176 -f 596/1364/151 653/1442/78 595/1374/152 -f 587/1425/146 640/1424/167 588/1443/149 -f 640/1424/167 647/1444/14 588/1443/149 -f 588/1443/149 641/1445/177 589/1426/145 -f 641/1445/177 588/1443/149 648/1433/171 -f 594/1367/153 646/1446/178 593/1447/157 -f 593/1447/157 657/1448/179 600/1449/154 -f 597/1435/150 654/1450/180 596/1364/151 -f 595/1366/152 652/1451/181 594/1367/153 -f 651/1441/176 639/1429/169 644/1422/166 -f 598/1452/156 599/1453/155 656/1436/173 -f 651/1454/176 656/1436/173 599/1453/155 -f 650/1455/175 656/1436/173 651/1454/176 -f 649/1438/48 655/1437/174 650/1455/175 -f 654/1450/180 645/1456/172 653/1442/78 -f 653/1457/78 648/1458/171 652/1451/181 -f 652/1451/181 588/1459/149 646/1446/178 -f 657/1448/179 588/1459/149 647/1460/14 -f 599/1461/155 640/1424/167 639/1429/169 -f 657/1448/179 647/1460/14 599/1453/155 -f 600/1449/154 657/1448/179 599/1453/155 -f 630/1404/144 663/1462/11 664/1463/166 -f 624/1464/147 660/1465/167 625/1466/146 -f 623/1467/142 661/1468/177 658/1469/168 -f 630/1404/144 659/1470/169 624/1464/147 -f 628/1401/143 663/1462/11 629/1411/148 -f 628/1401/143 658/1469/168 662/1471/170 -f 663/1462/11 669/1472/182 670/1473/183 -f 662/1471/170 665/1474/184 669/1472/182 -f 663/1462/11 671/1475/185 664/1463/166 -f 660/1465/167 666/1476/186 667/1477/187 -f 661/1468/177 665/1474/184 658/1469/168 -f 659/1470/169 671/1475/185 666/1476/186 -f 626/1478/20 661/1468/177 627/1479/145 -f 661/1468/177 626/1478/20 668/1480/188 -f 625/1466/146 660/1465/167 626/1481/20 -f 660/1465/167 667/1477/187 626/1481/20 -f 675/447/5 686/1482/36 674/468/36 -f 682/452/34 693/1483/3 681/450/3 -f 679/453/29 690/1484/7 678/823/7 -f 676/457/32 687/1485/5 675/447/5 -f 683/459/31 694/1486/34 682/452/34 -f 673/462/33 684/1487/4 672/460/4 -f 680/464/28 691/1488/29 679/453/29 -f 677/466/35 688/1489/32 676/457/32 -f 672/460/4 695/1490/31 683/459/31 -f 674/468/36 685/1491/33 673/462/33 -f 681/450/3 692/1492/28 680/464/28 -f 678/470/7 689/1493/35 677/466/35 -f 706/451/34 719/1494/31 707/458/31 -f 696/467/4 709/1495/33 697/461/33 -f 703/455/29 716/1496/28 704/463/28 -f 700/456/32 713/1497/35 701/465/35 -f 707/458/31 708/1498/4 696/467/4 -f 697/461/33 710/1499/36 698/448/36 -f 704/463/28 717/1500/3 705/469/3 -f 701/465/35 714/1501/7 702/471/7 -f 698/448/36 711/1502/5 699/449/5 -f 705/469/3 718/1503/34 706/451/34 -f 702/454/7 715/1504/29 703/455/29 -f 699/449/5 712/1505/32 700/456/32 -f 783/546/5 794/1506/36 782/567/36 -f 790/551/34 801/1507/3 789/549/3 -f 787/552/29 798/1508/7 786/858/7 -f 784/556/32 795/1509/5 783/546/5 -f 791/558/31 802/1510/34 790/551/34 -f 781/561/33 792/1511/4 780/559/4 -f 788/563/28 799/1512/29 787/552/29 -f 785/565/35 796/1513/32 784/556/32 -f 780/559/4 803/1514/31 791/558/31 -f 782/567/36 793/1515/33 781/561/33 -f 789/549/3 800/1516/28 788/563/28 -f 786/569/7 797/1517/35 785/565/35 -f 814/550/34 827/1518/31 815/557/31 -f 804/566/4 817/1519/33 805/560/33 -f 811/554/29 824/1520/28 812/562/28 -f 808/555/32 821/1521/35 809/564/35 -f 815/557/31 816/1522/4 804/566/4 -f 805/560/33 818/1523/36 806/547/36 -f 812/562/28 825/1524/3 813/568/3 -f 809/564/35 822/1525/7 810/570/7 -f 806/547/36 819/1526/5 807/548/5 -f 813/568/3 826/1527/34 814/550/34 -f 810/553/7 823/1528/29 811/554/29 -f 807/548/5 820/1529/32 808/555/32 -f 831/577/5 842/1530/36 830/598/36 -f 838/582/34 849/1531/3 837/580/3 -f 835/583/29 846/1532/7 834/877/7 -f 832/587/32 843/1533/5 831/577/5 -f 839/589/31 850/1534/34 838/582/34 -f 829/592/33 840/1535/4 828/590/4 -f 836/594/28 847/1536/29 835/583/29 -f 833/596/35 844/1537/32 832/587/32 -f 828/590/4 851/1538/31 839/589/31 -f 830/598/36 841/1539/33 829/592/33 -f 837/580/3 848/1540/28 836/594/28 -f 834/600/7 845/1541/35 833/596/35 -f 862/581/34 875/1542/31 863/588/31 -f 852/597/4 865/1543/33 853/591/33 -f 859/585/29 872/1544/28 860/593/28 -f 856/586/32 869/1545/35 857/595/35 -f 863/588/31 864/1546/4 852/597/4 -f 853/591/33 866/1547/36 854/578/36 -f 860/593/28 873/1548/3 861/599/3 -f 857/595/35 870/1549/7 858/601/7 -f 854/578/36 867/1550/5 855/579/5 -f 861/599/3 874/1551/34 862/581/34 -f 858/584/7 871/1552/29 859/585/29 -f 855/579/5 868/1553/32 856/586/32 -f 879/608/5 890/1554/36 878/629/36 -f 886/613/34 897/1555/3 885/611/3 -f 883/614/29 894/1556/7 882/896/7 -f 880/618/32 891/1557/5 879/608/5 -f 887/620/31 898/1558/34 886/613/34 -f 877/623/33 888/1559/4 876/621/4 -f 884/625/28 895/1560/29 883/614/29 -f 881/627/35 892/1561/32 880/618/32 -f 876/621/4 899/1562/31 887/620/31 -f 878/629/36 889/1563/33 877/623/33 -f 885/611/3 896/1564/28 884/625/28 -f 882/631/7 893/1565/35 881/627/35 -f 910/612/34 923/1566/31 911/619/31 -f 900/628/4 913/1567/33 901/622/33 -f 907/616/29 920/1568/28 908/624/28 -f 904/617/32 917/1569/35 905/626/35 -f 911/619/31 912/1570/4 900/628/4 -f 901/622/33 914/1571/36 902/609/36 -f 908/624/28 921/1572/3 909/630/3 -f 905/626/35 918/1573/7 906/632/7 -f 902/609/36 915/1574/5 903/610/5 -f 909/630/3 922/1575/34 910/612/34 -f 906/615/7 919/1576/29 907/616/29 -f 903/610/5 916/1577/32 904/617/32 -f 924/1578/1 939/1579/48 931/1580/48 -f 930/1581/7 937/1582/15 929/1583/15 -f 928/1584/2 935/1585/14 927/1586/14 -f 926/1587/4 932/1588/13 925/1589/13 -f 931/1580/48 938/1590/7 930/1591/7 -f 929/1583/15 936/1592/2 928/1584/2 -f 927/1586/14 934/1593/4 926/1587/4 -f 925/1589/13 933/1594/1 924/1578/1 -f 947/1595/84 954/1596/3 946/1597/3 -f 945/1598/70 952/1599/1 944/1600/1 -f 943/1601/78 950/1602/5 942/1603/5 -f 941/1604/83 948/1605/2 940/1606/2 -f 940/1606/2 955/1607/84 947/1595/84 -f 946/1597/3 953/1608/70 945/1598/70 -f 944/1600/1 951/1609/78 943/1601/78 -f 942/1610/5 949/1611/83 941/1604/83 -f 963/1612/84 970/1613/3 962/1614/3 -f 961/1615/70 968/1616/1 960/1617/1 -f 959/1618/78 966/1619/5 958/1620/5 -f 957/1621/83 964/1622/2 956/1623/2 -f 956/1623/2 971/1624/84 963/1612/84 -f 962/1614/3 969/1625/70 961/1615/70 -f 960/1617/1 967/1626/78 959/1618/78 -f 958/1627/5 965/1628/83 957/1621/83 -f 973/1629/3 980/1630/19 972/1631/19 -f 975/1632/7 987/1633/11 974/1634/11 -f 978/1635/20 984/1636/5 977/1637/5 -f 976/1638/12 982/1639/7 975/1640/7 -f 972/1631/19 986/1641/4 979/1642/4 -f 974/1634/11 981/1643/3 973/1629/3 -f 979/1642/4 985/1644/20 978/1635/20 -f 977/1637/5 983/1645/12 976/1638/12 -f 993/1646/189 631/1647/190 988/1648/191 -f 637/1649/192 991/1418/163 994/1650/193 -f 992/1414/160 636/1651/194 993/1646/189 -f 631/1647/190 989/1652/12 988/1648/191 -f 990/1653/195 637/1649/192 994/1650/193 -f 989/1652/12 633/1654/196 990/1653/195 -f 1017/1655/197 994/1650/193 1022/1656/198 -f 989/1652/12 1017/1655/197 1016/1657/199 -f 993/1646/189 1015/1658/200 1021/1659/201 -f 1022/1656/198 991/1418/163 1018/1421/165 -f 992/1414/160 1021/1659/201 1020/1417/162 -f 1015/1658/200 989/1652/12 1016/1657/199 -f 1045/1660/202 1046/1661/203 995/1662/204 -f 995/1662/204 1046/1661/203 1005/1663/14 -f 1013/1664/189 1005/1665/14 1046/1666/203 -f 1057/1667/205 995/1662/204 1005/1663/14 -f 1057/1667/205 1000/1668/206 1006/1669/207 -f 999/1670/70 1004/1671/208 1007/1672/209 -f 999/1673/70 1003/1674/48 998/1675/210 -f 1003/1674/48 997/1676/211 998/1675/210 -f 1002/1677/212 996/1678/213 997/1676/211 -f 1001/1679/214 1046/1661/203 996/1678/213 -f 1047/1680/215 996/1678/213 1046/1661/203 -f 1013/1664/189 1001/1681/214 1008/1682/216 -f 1000/1668/206 1050/1683/217 1051/1684/218 -f 998/1675/210 1048/1685/219 1049/1686/220 -f 995/1662/204 1052/1687/221 1045/1660/202 -f 1052/1687/221 1000/1668/206 1051/1684/218 -f 1011/1688/163 1004/1689/208 1057/1690/205 -f 1057/1690/205 1056/1691/165 1011/1688/163 -f 1012/1692/160 1057/1690/205 1005/1665/14 -f 1058/1693/162 1057/1690/205 1012/1692/160 -f 999/1673/70 1049/1686/220 1050/1694/217 -f 1008/1682/216 1002/1695/212 1009/1696/12 -f 1010/1697/195 1007/1698/209 1014/1699/193 -f 1009/1696/12 1003/1674/48 1010/1697/195 -f 1048/1685/219 996/1678/213 1047/1680/215 -f 1014/1700/193 1004/1689/208 1011/1688/163 -f 1010/1697/195 1060/1701/198 1055/1702/197 -f 1054/1703/199 1010/1697/195 1055/1702/197 -f 1059/1704/201 1008/1682/216 1053/1705/200 -f 1060/1706/198 1011/1688/163 1056/1691/165 -f 1012/1692/160 1059/1704/201 1058/1693/162 -f 1008/1682/216 1054/1703/199 1053/1705/200 -f 1019/1707/19 1028/1708/137 1027/1709/136 -f 1016/1657/199 1025/1710/138 1024/1711/135 -f 1021/1712/201 1023/1713/140 1029/1714/139 -f 1022/1715/198 1026/1716/141 1040/1717/48 -f 1020/1718/162 1029/1714/139 1028/1708/137 -f 1018/1719/165 1027/1720/136 1026/1716/141 -f 1015/1658/200 1024/1711/135 1023/1713/140 -f 1017/1655/197 1040/1717/48 1025/1710/138 -f 1033/1721/132 1040/1722/48 1026/1723/141 -f 1032/1724/130 1025/1725/138 1040/1722/48 -f 1040/1722/48 1039/1726/122 1032/1724/130 -f 1041/1727/128 1040/1722/48 1033/1721/132 -f 1024/1728/135 1032/1724/130 1031/1729/134 -f 1036/1730/14 1023/1713/140 1030/1731/159 -f 1028/1708/137 1036/1730/14 1035/1732/158 -f 1033/1721/132 1027/1733/136 1034/1734/133 -f 1023/1713/140 1031/1729/134 1030/1731/159 -f 1034/1735/133 1028/1708/137 1035/1732/158 -f 1042/1736/124 1035/1732/158 1043/1737/127 -f 1031/1729/134 1039/1726/122 1038/1738/125 -f 1036/1730/14 1037/1739/123 1044/1740/126 -f 1035/1732/158 1044/1740/126 1043/1737/127 -f 1033/1721/132 1042/1741/124 1041/1727/128 -f 1037/1739/123 1031/1729/134 1038/1738/125 -f 1046/1742/203 1039/1743/122 1047/1744/215 -f 1052/1745/221 1037/1739/123 1045/1746/202 -f 1051/1684/218 1044/1740/126 1052/1745/221 -f 1049/1686/220 1042/1747/124 1050/1694/217 -f 1047/1744/215 1040/1748/48 1048/1749/219 -f 1045/1746/202 1038/1750/125 1046/1742/203 -f 1050/1683/217 1043/1737/127 1051/1684/218 -f 1048/1749/219 1041/1751/128 1049/1686/220 -f 1057/1752/205 1066/1753/137 1065/1754/136 -f 1054/1703/199 1063/1755/138 1062/1756/135 -f 1067/1757/139 1053/1705/200 1061/1758/140 -f 1060/1759/198 1064/1760/141 1078/1761/48 -f 1058/1762/162 1067/1757/139 1066/1753/137 -f 1056/1763/165 1065/1754/136 1064/1760/141 -f 1053/1705/200 1062/1756/135 1061/1758/140 -f 1055/1702/197 1078/1764/48 1063/1755/138 -f 1071/1765/132 1078/1766/48 1064/1767/141 -f 1070/1768/130 1063/1769/138 1078/1770/48 -f 1078/1770/48 1077/1771/122 1070/1768/130 -f 1079/1772/128 1078/1766/48 1071/1765/132 -f 1062/1773/135 1070/1768/130 1069/1774/134 -f 1074/1775/14 1061/1758/140 1068/1776/159 -f 1073/1777/129 1067/1757/139 1074/1775/14 -f 1071/1765/132 1065/1778/136 1072/1779/133 -f 1068/1776/159 1062/1773/135 1069/1774/134 -f 1065/1778/136 1073/1777/129 1072/1779/133 -f 1072/1779/133 1081/1780/127 1080/1781/124 -f 1076/1782/125 1070/1768/130 1077/1771/122 -f 1074/1775/14 1075/1783/123 1082/1784/126 -f 1081/1780/127 1074/1775/14 1082/1784/126 -f 1071/1765/132 1080/1781/124 1079/1772/128 -f 1068/1776/159 1076/1782/125 1075/1783/123 -f 1084/1785/5 1077/1786/122 1085/1787/12 -f 1090/1788/4 1075/1783/123 1083/1789/20 -f 1089/1790/19 1082/1784/126 1090/1788/4 -f 1087/1791/11 1080/1792/124 1088/1793/3 -f 1085/1787/12 1078/1794/48 1086/1795/7 -f 1083/1789/20 1076/1796/125 1084/1785/5 -f 1088/1793/3 1081/1780/127 1089/1790/19 -f 1086/1797/7 1079/1798/128 1087/1791/11 -f 636/1799/194 667/1800/187 666/1801/186 -f 626/1802/20 635/1803/161 1019/1804/19 -f 634/1805/164 626/1802/20 1019/1804/19 -f 668/1806/188 637/1807/192 665/1808/184 -f 637/1807/192 669/1809/182 665/1808/184 -f 633/1810/196 670/1811/183 669/1809/182 -f 632/1812/222 671/1813/185 670/1814/183 -f 631/1815/190 666/1801/186 671/1813/185 -f 2/945/27 4/948/3 3/946/3 -f 4/948/3 6/950/28 5/949/28 -f 6/950/28 8/952/29 7/951/29 -f 8/952/29 10/1022/30 9/953/30 -f 17/954/4 29/1816/4 28/955/31 -f 14/957/3 26/967/3 25/958/28 -f 21/960/32 33/969/32 32/961/5 -f 18/963/33 30/974/33 29/964/4 -f 15/966/34 27/975/34 26/967/3 -f 22/968/35 34/976/35 33/969/32 -f 12/970/29 24/977/29 23/971/7 -f 19/973/36 31/978/36 30/974/33 -f 16/956/31 28/955/31 27/975/34 -f 11/972/7 23/971/7 34/976/35 -f 13/959/28 25/958/28 24/977/29 -f 20/962/5 32/961/5 31/978/36 -f 36/979/37 38/982/35 37/980/35 -f 38/982/35 40/984/32 39/983/32 -f 40/984/32 42/986/5 41/985/5 -f 42/986/5 44/1052/38 43/987/38 -f 51/988/4 63/1817/4 62/989/31 -f 48/991/3 60/1001/3 59/992/28 -f 55/994/32 67/1003/32 66/995/5 -f 52/997/33 64/1008/33 63/998/4 -f 49/1000/34 61/1009/34 60/1001/3 -f 56/1002/35 68/1010/35 67/1003/32 -f 46/1004/29 58/1011/29 57/1005/7 -f 53/1007/36 65/1012/36 64/1008/33 -f 50/990/31 62/989/31 61/1009/34 -f 45/1006/7 57/1005/7 68/1010/35 -f 47/993/28 59/992/28 58/1011/29 -f 54/996/5 66/995/5 65/1012/36 -f 74/1013/34 103/1818/34 107/1014/31 -f 107/1014/31 73/1017/39 70/1016/39 -f 73/1017/39 201/1819/40 104/1018/40 -f 78/1019/41 138/1820/42 137/1020/42 -f 10/1022/30 36/1821/37 35/1023/37 -f 137/1020/43 138/1820/43 2/945/27 -f 85/1024/4 97/1822/4 96/1025/31 -f 82/1027/3 94/1037/3 93/1028/28 -f 89/1030/32 101/1039/32 100/1031/5 -f 86/1033/33 98/1044/33 97/1034/4 -f 83/1036/34 95/1045/34 94/1037/3 -f 90/1038/35 102/1046/35 101/1039/32 -f 80/1040/29 92/1047/29 91/1041/7 -f 87/1043/36 99/1048/36 98/1044/33 -f 84/1026/31 96/1025/31 95/1045/34 -f 79/1042/7 91/1041/7 102/1046/35 -f 81/1029/28 93/1028/28 92/1047/29 -f 88/1032/5 100/1031/5 99/1048/36 -f 139/1049/44 140/1823/44 106/1050/45 -f 44/1052/38 140/1823/46 139/1049/46 -f 119/1053/4 131/1824/4 130/1054/31 -f 116/1056/3 128/1066/3 127/1057/28 -f 123/1059/32 135/1068/32 134/1060/5 -f 120/1062/33 132/1073/33 131/1063/4 -f 117/1065/34 129/1074/34 128/1066/3 -f 124/1067/35 136/1075/35 135/1068/32 -f 114/1069/29 126/1076/29 125/1070/7 -f 121/1072/36 133/1077/36 132/1073/33 -f 118/1055/31 130/1054/31 129/1074/34 -f 113/1071/7 125/1070/7 136/1075/35 -f 115/1058/28 127/1057/28 126/1076/29 -f 122/1061/5 134/1060/5 133/1077/36 -f 109/1078/47 103/1818/34 74/1013/34 -f 104/1018/40 201/1819/40 205/1080/33 -f 112/1081/33 205/1080/33 206/1082/36 -f 206/1082/36 203/1102/49 108/1084/5 -f 150/1085/2 152/1088/15 151/1086/15 -f 152/1088/15 154/1825/7 153/1089/7 -f 154/1090/7 156/1093/48 155/1091/48 -f 156/1093/48 158/1095/1 157/1094/1 -f 158/1095/1 160/1097/13 159/1096/13 -f 160/1097/13 162/1099/4 161/1098/4 -f 162/1099/4 164/1101/14 163/1100/14 -f 164/1101/14 150/1085/2 149/1087/2 -f 105/1051/45 106/1050/45 203/1102/49 -f 106/1050/45 108/1084/5 203/1102/49 -f 77/1021/41 75/1826/223 109/1078/47 -f 109/1078/47 76/1079/3 78/1019/41 -f 255/1104/2 264/1120/2 270/1105/15 -f 261/1107/7 269/1827/7 268/1108/48 -f 259/1110/1 267/1118/1 266/1111/13 -f 257/1113/4 265/1119/4 263/1114/14 -f 262/1106/15 270/1105/15 269/1116/7 -f 260/1109/48 268/1108/48 267/1118/1 -f 258/1112/13 266/1111/13 265/1119/4 -f 256/1115/14 263/1114/14 264/1120/2 -f 294/1121/51 296/1828/79 295/1122/52 -f 298/1124/54 300/1127/57 299/1125/55 -f 300/1127/57 302/1129/59 301/1128/58 -f 302/1129/59 304/1131/61 303/1130/60 -f 304/1131/61 306/1829/81 305/1132/62 -f 302/1133/59 300/1155/57 326/1134/63 -f 295/1136/52 315/722/66 314/1137/65 -f 318/1139/68 314/1137/65 315/722/66 -f 315/722/66 316/721/73 317/1138/67 -f 293/1123/53 314/1137/65 313/1140/69 -f 303/1142/60 305/1132/62 320/1143/71 -f 303/1142/60 319/1144/72 318/1139/68 -f 301/1145/58 318/1139/68 317/1138/67 -f 297/1146/56 299/1125/55 317/1138/67 -f 323/1149/76 327/1135/64 324/1148/75 -f 327/1135/64 326/1134/63 324/1148/75 -f 307/1152/78 330/1150/77 323/1149/76 -f 298/1154/54 325/1147/74 326/1134/63 -f 296/1156/79 294/1153/51 323/1149/76 -f 304/1157/61 328/1160/82 329/1158/80 -f 302/1133/59 327/1135/64 328/1160/82 -f 319/1144/72 321/1162/3 314/1137/65 -f 332/1161/5 329/1158/80 328/1160/82 -f 319/1144/72 320/1143/71 322/1163/3 -f 328/1160/82 327/1135/64 323/1149/76 -f 350/1164/3 358/1178/3 357/1165/19 -f 352/1167/7 359/1830/7 364/1168/11 -f 355/1170/20 362/1179/20 361/1171/5 -f 353/1173/12 360/1180/12 359/1174/7 -f 349/1166/19 357/1165/19 363/1176/4 -f 351/1169/11 364/1168/11 358/1178/3 -f 356/1177/4 363/1176/4 362/1179/20 -f 354/1172/5 361/1171/5 360/1180/12 -f 378/1181/5 370/1831/5 371/1182/83 -f 376/1184/1 368/1196/1 369/1185/78 -f 374/1187/3 366/1197/3 367/1188/70 -f 380/1190/2 372/1193/2 365/1191/84 -f 379/1183/83 371/1182/83 372/1193/2 -f 377/1186/78 369/1185/78 370/1194/5 -f 375/1189/70 367/1188/70 368/1196/1 -f 373/1192/84 365/1191/84 366/1197/3 -f 394/1198/5 386/1832/5 387/1199/83 -f 392/1201/1 384/1213/1 385/1202/78 -f 390/1204/3 382/1214/3 383/1205/70 -f 396/1207/2 388/1210/2 381/1208/84 -f 395/1200/83 387/1199/83 388/1210/2 -f 393/1203/78 385/1202/78 386/1211/5 -f 391/1206/70 383/1205/70 384/1213/1 -f 389/1209/84 381/1208/84 382/1214/3 -f 400/1215/85 399/1833/103 397/1216/86 -f 404/1218/88 403/1222/90 401/1219/56 -f 406/1221/89 405/1224/92 403/1222/90 -f 408/1223/91 407/1834/101 405/1224/92 -f 402/1225/54 424/1242/74 425/1226/93 -f 419/1231/97 420/1228/94 421/1230/96 -f 407/1236/101 420/1228/94 419/1231/97 -f 401/1238/56 403/1222/90 418/1239/102 -f 399/1240/103 416/346/107 415/1232/98 -f 405/1237/92 419/1231/97 418/1239/102 -f 422/1241/104 426/1246/106 425/1226/93 -f 400/1243/85 398/1835/87 423/1244/105 -f 406/1245/89 404/1227/88 425/1226/93 -f 406/1245/89 426/1246/106 427/1233/99 -f 416/346/107 417/762/73 418/1239/102 -f 428/1247/108 427/1233/99 426/1246/106 -f 451/773/109 457/1836/110 458/1248/110 -f 458/1248/110 457/1836/110 449/1250/111 -f 456/1252/112 455/1837/112 451/773/6 -f 453/1253/113 455/1837/112 456/1252/112 -f 479/1255/83 478/1838/114 463/1256/114 -f 467/1258/115 474/1839/115 473/1259/84 -f 464/1261/116 477/1264/116 476/1262/15 -f 463/1256/114 478/1838/114 477/1264/116 -f 482/1265/14 481/1272/117 460/1266/117 -f 473/1259/84 472/1840/118 469/1268/118 -f 476/1269/15 475/1276/119 466/1270/119 -f 481/1272/117 480/1841/120 461/1273/120 -f 469/1268/118 472/1840/118 471/1274/121 -f 475/1276/119 474/1839/115 467/1258/115 -f 461/1273/120 480/1841/120 479/1255/83 -f 470/1275/121 471/1274/121 482/1265/14 -f 490/1277/84 498/1289/84 497/1278/3 -f 488/1280/70 496/1290/70 495/1281/1 -f 486/1283/78 494/1291/78 493/1284/5 -f 484/1286/83 492/1293/83 491/1287/2 -f 483/1288/2 491/1287/2 498/1289/84 -f 489/1279/3 497/1278/3 496/1290/70 -f 487/1282/1 495/1281/1 494/1291/78 -f 485/1292/5 493/1842/5 492/1293/83 -f 506/1294/84 514/1306/84 513/1295/3 -f 504/1297/70 512/1307/70 511/1298/1 -f 502/1300/78 510/1308/78 509/1301/5 -f 500/1303/83 508/1310/83 507/1304/2 -f 499/1305/2 507/1304/2 514/1306/84 -f 505/1296/3 513/1295/3 512/1307/70 -f 503/1299/1 511/1298/1 510/1308/78 -f 501/1309/5 509/1843/5 508/1310/83 -f 566/1311/122 567/1844/48 559/1312/7 -f 564/1314/123 565/1323/125 557/1315/5 -f 569/1317/124 570/1326/127 562/1318/19 -f 567/1320/48 568/1327/128 560/1321/11 -f 565/1323/125 566/1311/122 558/1313/12 -f 563/1324/126 564/1314/123 556/1316/20 -f 570/1326/127 563/1324/126 555/1325/4 -f 568/1327/128 569/1317/124 561/1319/3 -f 569/1328/124 576/1336/133 577/1329/129 -f 565/1330/125 573/1337/134 574/1331/130 -f 564/1314/123 563/1324/126 571/1333/14 -f 563/1324/126 570/1326/127 577/1329/129 -f 569/1328/124 568/1346/128 575/1335/132 -f 564/1314/123 572/1334/131 573/1337/134 -f 572/1334/131 579/1343/140 580/1338/135 -f 577/1329/129 576/1336/133 583/1339/136 -f 574/1331/130 573/1337/134 580/1338/135 -f 572/1334/131 571/1333/14 578/1342/139 -f 571/1333/14 577/1329/129 584/1340/137 -f 575/1335/132 582/1347/141 583/1339/136 -f 582/1348/141 567/1845/48 585/1349/142 -f 583/1351/136 591/1360/148 592/1352/144 -f 580/1353/135 588/1361/149 589/1354/145 -f 578/1342/139 586/1359/147 587/1356/146 -f 581/1355/138 589/1354/145 585/1357/142 -f 578/1342/139 584/1340/137 592/1352/144 -f 582/1348/141 590/1350/143 591/1360/148 -f 579/1343/140 587/1356/146 588/1361/149 -f 604/1362/122 605/1371/48 597/1363/150 -f 602/1365/123 603/1846/125 595/1366/152 -f 607/1368/124 608/1377/127 600/1369/154 -f 605/1371/48 606/1378/128 598/1372/156 -f 603/1373/125 604/1362/122 596/1364/151 -f 601/1375/126 602/1365/123 594/1367/153 -f 608/1377/127 601/1375/126 593/1376/157 -f 606/1378/128 607/1368/124 599/1370/155 -f 607/1379/124 614/1387/133 615/1380/158 -f 603/1381/125 611/1847/134 612/1382/130 -f 601/1375/126 609/1385/14 610/1384/159 -f 608/1377/127 615/1380/158 609/1385/14 -f 606/1386/128 613/1396/132 614/1387/133 -f 602/1365/123 610/1384/159 611/1388/134 -f 611/1388/134 610/1384/159 617/1390/140 -f 614/1387/133 621/1397/136 622/1392/137 -f 612/1382/130 611/1847/134 618/1393/135 -f 609/1385/14 616/1395/139 617/1390/140 -f 609/1385/14 615/1380/158 622/1392/137 -f 613/1396/132 620/1399/141 621/1397/136 -f 605/1400/48 623/1409/142 628/1401/143 -f 621/1403/136 629/1411/148 630/1404/144 -f 618/1405/135 626/1848/20 627/1406/145 -f 616/1395/139 624/1410/147 625/1408/146 -f 619/1407/138 627/1406/145 623/1409/142 -f 622/1392/137 630/1404/144 624/1410/147 -f 620/1402/141 628/1401/143 629/1411/148 -f 617/1390/140 625/1408/146 626/1412/20 -f 591/1360/148 643/1430/11 644/1422/166 -f 586/1423/147 639/1429/169 640/1424/167 -f 589/1426/145 641/1445/177 638/1427/168 -f 592/1352/144 644/1422/166 639/1429/169 -f 590/1350/143 642/1432/170 643/1430/11 -f 590/1350/143 585/1849/142 638/1431/168 -f 638/1427/168 641/1445/177 648/1433/171 -f 597/1435/150 598/1452/156 656/1436/173 -f 643/1430/11 642/1432/170 649/1438/48 -f 642/1432/170 638/1431/168 645/1440/172 -f 644/1422/166 643/1430/11 650/1439/175 -f 596/1364/151 654/1450/180 653/1442/78 -f 594/1367/153 652/1451/181 646/1446/178 -f 593/1447/157 646/1446/178 657/1448/179 -f 597/1435/150 655/1437/174 654/1450/180 -f 595/1366/152 653/1457/78 652/1451/181 -f 651/1441/176 599/1461/155 639/1429/169 -f 650/1455/175 655/1437/174 656/1436/173 -f 649/1438/48 654/1450/180 655/1437/174 -f 654/1450/180 649/1438/48 645/1456/172 -f 653/1457/78 645/1850/172 648/1458/171 -f 652/1451/181 648/1458/171 588/1459/149 -f 657/1448/179 646/1446/178 588/1459/149 -f 599/1461/155 647/1444/14 640/1424/167 -f 630/1404/144 629/1411/148 663/1462/11 -f 624/1464/147 659/1470/169 660/1465/167 -f 623/1467/142 627/1479/145 661/1468/177 -f 630/1404/144 664/1463/166 659/1470/169 -f 628/1401/143 662/1471/170 663/1462/11 -f 628/1401/143 623/1467/142 658/1469/168 -f 663/1462/11 662/1471/170 669/1472/182 -f 662/1471/170 658/1469/168 665/1474/184 -f 663/1462/11 670/1473/183 671/1475/185 -f 660/1465/167 659/1470/169 666/1476/186 -f 661/1468/177 668/1480/188 665/1474/184 -f 659/1470/169 664/1463/166 671/1475/185 -f 675/447/5 687/1485/5 686/1482/36 -f 682/452/34 694/1486/34 693/1483/3 -f 679/453/29 691/1488/29 690/1484/7 -f 676/457/32 688/1489/32 687/1485/5 -f 683/459/31 695/1490/31 694/1486/34 -f 673/462/33 685/1491/33 684/1487/4 -f 680/464/28 692/1492/28 691/1488/29 -f 677/466/35 689/1493/35 688/1489/32 -f 672/460/4 684/1487/4 695/1490/31 -f 674/468/36 686/1482/36 685/1491/33 -f 681/450/3 693/1483/3 692/1492/28 -f 678/470/7 690/1851/7 689/1493/35 -f 706/451/34 718/1503/34 719/1494/31 -f 696/467/4 708/1498/4 709/1495/33 -f 703/455/29 715/1504/29 716/1496/28 -f 700/456/32 712/1505/32 713/1497/35 -f 707/458/31 719/1494/31 708/1498/4 -f 697/461/33 709/1495/33 710/1499/36 -f 704/463/28 716/1496/28 717/1500/3 -f 701/465/35 713/1497/35 714/1501/7 -f 698/448/36 710/1499/36 711/1502/5 -f 705/469/3 717/1500/3 718/1503/34 -f 702/454/7 714/1852/7 715/1504/29 -f 699/449/5 711/1502/5 712/1505/32 -f 783/546/5 795/1509/5 794/1506/36 -f 790/551/34 802/1510/34 801/1507/3 -f 787/552/29 799/1512/29 798/1508/7 -f 784/556/32 796/1513/32 795/1509/5 -f 791/558/31 803/1514/31 802/1510/34 -f 781/561/33 793/1515/33 792/1511/4 -f 788/563/28 800/1516/28 799/1512/29 -f 785/565/35 797/1517/35 796/1513/32 -f 780/559/4 792/1511/4 803/1514/31 -f 782/567/36 794/1506/36 793/1515/33 -f 789/549/3 801/1507/3 800/1516/28 -f 786/569/7 798/1853/7 797/1517/35 -f 814/550/34 826/1527/34 827/1518/31 -f 804/566/4 816/1522/4 817/1519/33 -f 811/554/29 823/1528/29 824/1520/28 -f 808/555/32 820/1529/32 821/1521/35 -f 815/557/31 827/1518/31 816/1522/4 -f 805/560/33 817/1519/33 818/1523/36 -f 812/562/28 824/1520/28 825/1524/3 -f 809/564/35 821/1521/35 822/1525/7 -f 806/547/36 818/1523/36 819/1526/5 -f 813/568/3 825/1524/3 826/1527/34 -f 810/553/7 822/1854/7 823/1528/29 -f 807/548/5 819/1526/5 820/1529/32 -f 831/577/5 843/1533/5 842/1530/36 -f 838/582/34 850/1534/34 849/1531/3 -f 835/583/29 847/1536/29 846/1532/7 -f 832/587/32 844/1537/32 843/1533/5 -f 839/589/31 851/1538/31 850/1534/34 -f 829/592/33 841/1539/33 840/1535/4 -f 836/594/28 848/1540/28 847/1536/29 -f 833/596/35 845/1541/35 844/1537/32 -f 828/590/4 840/1535/4 851/1538/31 -f 830/598/36 842/1530/36 841/1539/33 -f 837/580/3 849/1531/3 848/1540/28 -f 834/600/7 846/1855/7 845/1541/35 -f 862/581/34 874/1551/34 875/1542/31 -f 852/597/4 864/1546/4 865/1543/33 -f 859/585/29 871/1552/29 872/1544/28 -f 856/586/32 868/1553/32 869/1545/35 -f 863/588/31 875/1542/31 864/1546/4 -f 853/591/33 865/1543/33 866/1547/36 -f 860/593/28 872/1544/28 873/1548/3 -f 857/595/35 869/1545/35 870/1549/7 -f 854/578/36 866/1547/36 867/1550/5 -f 861/599/3 873/1548/3 874/1551/34 -f 858/584/7 870/1856/7 871/1552/29 -f 855/579/5 867/1550/5 868/1553/32 -f 879/608/5 891/1557/5 890/1554/36 -f 886/613/34 898/1558/34 897/1555/3 -f 883/614/29 895/1560/29 894/1556/7 -f 880/618/32 892/1561/32 891/1557/5 -f 887/620/31 899/1562/31 898/1558/34 -f 877/623/33 889/1563/33 888/1559/4 -f 884/625/28 896/1564/28 895/1560/29 -f 881/627/35 893/1565/35 892/1561/32 -f 876/621/4 888/1559/4 899/1562/31 -f 878/629/36 890/1554/36 889/1563/33 -f 885/611/3 897/1555/3 896/1564/28 -f 882/631/7 894/1857/7 893/1565/35 -f 910/612/34 922/1575/34 923/1566/31 -f 900/628/4 912/1570/4 913/1567/33 -f 907/616/29 919/1576/29 920/1568/28 -f 904/617/32 916/1577/32 917/1569/35 -f 911/619/31 923/1566/31 912/1570/4 -f 901/622/33 913/1567/33 914/1571/36 -f 908/624/28 920/1568/28 921/1572/3 -f 905/626/35 917/1569/35 918/1573/7 -f 902/609/36 914/1571/36 915/1574/5 -f 909/630/3 921/1572/3 922/1575/34 -f 906/615/7 918/1858/7 919/1576/29 -f 903/610/5 915/1574/5 916/1577/32 -f 924/1578/1 933/1594/1 939/1579/48 -f 930/1581/7 938/1859/7 937/1582/15 -f 928/1584/2 936/1592/2 935/1585/14 -f 926/1587/4 934/1593/4 932/1588/13 -f 931/1580/48 939/1579/48 938/1590/7 -f 929/1583/15 937/1582/15 936/1592/2 -f 927/1586/14 935/1585/14 934/1593/4 -f 925/1589/13 932/1588/13 933/1594/1 -f 947/1595/84 955/1607/84 954/1596/3 -f 945/1598/70 953/1608/70 952/1599/1 -f 943/1601/78 951/1609/78 950/1602/5 -f 941/1604/83 949/1611/83 948/1605/2 -f 940/1606/2 948/1605/2 955/1607/84 -f 946/1597/3 954/1596/3 953/1608/70 -f 944/1600/1 952/1599/1 951/1609/78 -f 942/1610/5 950/1860/5 949/1611/83 -f 963/1612/84 971/1624/84 970/1613/3 -f 961/1615/70 969/1625/70 968/1616/1 -f 959/1618/78 967/1626/78 966/1619/5 -f 957/1621/83 965/1628/83 964/1622/2 -f 956/1623/2 964/1622/2 971/1624/84 -f 962/1614/3 970/1613/3 969/1625/70 -f 960/1617/1 968/1616/1 967/1626/78 -f 958/1627/5 966/1861/5 965/1628/83 -f 973/1629/3 981/1643/3 980/1630/19 -f 975/1632/7 982/1862/7 987/1633/11 -f 978/1635/20 985/1644/20 984/1636/5 -f 976/1638/12 983/1645/12 982/1639/7 -f 972/1631/19 980/1630/19 986/1641/4 -f 974/1634/11 987/1633/11 981/1643/3 -f 979/1642/4 986/1641/4 985/1644/20 -f 977/1637/5 984/1636/5 983/1645/12 -f 993/1646/189 636/1651/194 631/1647/190 -f 637/1649/192 634/1419/164 991/1418/163 -f 992/1414/160 635/1416/161 636/1651/194 -f 631/1647/190 632/1863/222 989/1652/12 -f 990/1653/195 633/1654/196 637/1649/192 -f 989/1652/12 632/1863/222 633/1654/196 -f 1017/1655/197 990/1653/195 994/1650/193 -f 989/1652/12 990/1653/195 1017/1655/197 -f 993/1646/189 988/1648/191 1015/1658/200 -f 1022/1656/198 994/1650/193 991/1418/163 -f 992/1414/160 993/1646/189 1021/1659/201 -f 1015/1658/200 988/1648/191 989/1652/12 -f 1013/1664/189 1012/1692/160 1005/1665/14 -f 1057/1667/205 1006/1669/207 995/1662/204 -f 1057/1667/205 1004/1671/208 1000/1668/206 -f 999/1670/70 1000/1668/206 1004/1671/208 -f 999/1673/70 1007/1864/209 1003/1674/48 -f 1003/1674/48 1002/1677/212 997/1676/211 -f 1002/1677/212 1001/1679/214 996/1678/213 -f 1013/1664/189 1046/1666/203 1001/1681/214 -f 1000/1668/206 999/1670/70 1050/1683/217 -f 998/1675/210 997/1676/211 1048/1685/219 -f 995/1662/204 1006/1669/207 1052/1687/221 -f 1052/1687/221 1006/1669/207 1000/1668/206 -f 999/1673/70 998/1675/210 1049/1686/220 -f 1008/1682/216 1001/1681/214 1002/1695/212 -f 1010/1697/195 1003/1674/48 1007/1698/209 -f 1009/1696/12 1002/1695/212 1003/1674/48 -f 1048/1685/219 997/1676/211 996/1678/213 -f 1014/1700/193 1007/1865/209 1004/1689/208 -f 1010/1697/195 1014/1699/193 1060/1701/198 -f 1054/1703/199 1009/1696/12 1010/1697/195 -f 1059/1704/201 1013/1664/189 1008/1682/216 -f 1060/1706/198 1014/1700/193 1011/1688/163 -f 1012/1692/160 1013/1664/189 1059/1704/201 -f 1008/1682/216 1009/1696/12 1054/1703/199 -f 1019/1707/19 1020/1718/162 1028/1708/137 -f 1016/1657/199 1017/1655/197 1025/1710/138 -f 1021/1712/201 1015/1658/200 1023/1713/140 -f 1022/1715/198 1018/1719/165 1026/1716/141 -f 1020/1718/162 1021/1712/201 1029/1714/139 -f 1018/1719/165 1019/1866/19 1027/1720/136 -f 1015/1658/200 1016/1657/199 1024/1711/135 -f 1017/1655/197 1022/1715/198 1040/1717/48 -f 1024/1728/135 1025/1725/138 1032/1724/130 -f 1036/1730/14 1029/1714/139 1023/1713/140 -f 1028/1708/137 1029/1714/139 1036/1730/14 -f 1033/1721/132 1026/1723/141 1027/1733/136 -f 1023/1713/140 1024/1728/135 1031/1729/134 -f 1034/1735/133 1027/1867/136 1028/1708/137 -f 1042/1736/124 1034/1735/133 1035/1732/158 -f 1031/1729/134 1032/1724/130 1039/1726/122 -f 1036/1730/14 1030/1731/159 1037/1739/123 -f 1035/1732/158 1036/1730/14 1044/1740/126 -f 1033/1721/132 1034/1734/133 1042/1741/124 -f 1037/1739/123 1030/1731/159 1031/1729/134 -f 1046/1742/203 1038/1750/125 1039/1743/122 -f 1052/1745/221 1044/1740/126 1037/1739/123 -f 1051/1684/218 1043/1737/127 1044/1740/126 -f 1049/1686/220 1041/1751/128 1042/1747/124 -f 1047/1744/215 1039/1743/122 1040/1748/48 -f 1045/1746/202 1037/1739/123 1038/1750/125 -f 1050/1683/217 1042/1868/124 1043/1737/127 -f 1048/1749/219 1040/1748/48 1041/1751/128 -f 1057/1752/205 1058/1762/162 1066/1753/137 -f 1054/1703/199 1055/1702/197 1063/1755/138 -f 1067/1757/139 1059/1869/201 1053/1705/200 -f 1060/1759/198 1056/1763/165 1064/1760/141 -f 1058/1762/162 1059/1869/201 1067/1757/139 -f 1056/1763/165 1057/1752/205 1065/1754/136 -f 1053/1705/200 1054/1703/199 1062/1756/135 -f 1055/1702/197 1060/1870/198 1078/1764/48 -f 1062/1773/135 1063/1769/138 1070/1768/130 -f 1074/1775/14 1067/1757/139 1061/1758/140 -f 1073/1777/129 1066/1753/137 1067/1757/139 -f 1071/1765/132 1064/1767/141 1065/1778/136 -f 1068/1776/159 1061/1758/140 1062/1773/135 -f 1065/1778/136 1066/1753/137 1073/1777/129 -f 1072/1779/133 1073/1777/129 1081/1780/127 -f 1076/1782/125 1069/1774/134 1070/1768/130 -f 1074/1775/14 1068/1776/159 1075/1783/123 -f 1081/1780/127 1073/1777/129 1074/1775/14 -f 1071/1765/132 1072/1779/133 1080/1781/124 -f 1068/1776/159 1069/1774/134 1076/1782/125 -f 1084/1785/5 1076/1796/125 1077/1786/122 -f 1090/1788/4 1082/1784/126 1075/1783/123 -f 1089/1790/19 1081/1780/127 1082/1784/126 -f 1087/1791/11 1079/1798/128 1080/1792/124 -f 1085/1787/12 1077/1786/122 1078/1794/48 -f 1083/1789/20 1075/1783/123 1076/1796/125 -f 1088/1793/3 1080/1792/124 1081/1780/127 -f 1086/1797/7 1078/1871/48 1079/1798/128 -f 636/1799/194 635/1803/161 667/1800/187 -f 626/1802/20 667/1800/187 635/1803/161 -f 634/1805/164 668/1806/188 626/1802/20 -f 668/1806/188 634/1805/164 637/1807/192 -f 637/1807/192 633/1810/196 669/1809/182 -f 633/1810/196 632/1872/222 670/1811/183 -f 632/1812/222 631/1815/190 671/1813/185 -f 631/1815/190 636/1799/194 666/1801/186 +f 683/1371/161 698/1372/171 690/1373/171 +f 689/1374/160 696/1375/172 688/1376/172 +f 687/1377/157 694/1378/170 686/1379/170 +f 685/1380/154 691/1381/173 684/1382/173 +f 690/1373/171 697/1383/160 689/1384/160 +f 688/1376/172 695/1385/157 687/1377/157 +f 686/1379/170 693/1386/154 685/1380/154 +f 684/1382/173 692/1387/161 683/1371/161 +f 716/1388/155 723/1389/163 715/1390/163 +f 718/1391/160 730/1392/158 717/1393/158 +f 721/1394/164 727/1395/153 720/1396/153 +f 719/1397/159 725/1398/160 718/1399/160 +f 715/1390/163 729/1400/154 722/1401/154 +f 717/1393/158 724/1402/155 716/1388/155 +f 722/1401/154 728/1403/164 721/1394/164 +f 720/1396/153 726/1404/159 719/1397/159 +f 734/1405/174 731/1406/175 732/1407/176 +f 738/1408/177 735/1409/178 736/1410/179 +f 740/1411/180 737/1412/181 738/1408/177 +f 742/1413/182 739/1414/183 740/1411/180 +f 736/1415/179 759/1416/184 738/1417/177 +f 754/1418/185 747/1419/186 755/1420/187 +f 753/1421/188 755/1420/187 749/1422/189 +f 761/1423/190 748/1424/191 742/1425/182 +f 741/1426/192 753/1421/188 739/1427/183 +f 741/1426/192 747/1419/186 754/1418/185 +f 735/1428/178 752/1429/193 751/1327/194 +f 733/1430/195 749/1422/189 731/1406/175 +f 739/1427/183 752/1429/193 737/1412/181 +f 756/1431/196 759/1416/184 758/1432/197 +f 734/1433/174 757/1434/198 756/1431/196 +f 740/1435/180 759/1416/184 760/1436/199 +f 750/1214/200 753/1421/188 749/1422/189 +f 740/1435/180 761/1423/190 742/1425/182 +f 748/1424/191 761/1423/190 762/1437/201 +f 750/1214/200 752/1429/193 753/1421/188 +f 760/1436/199 756/1431/196 757/1434/198 +f 762/1437/201 760/1436/199 757/1434/198 +f 794/1438/202 787/1439/160 786/1440/159 +f 792/1441/203 785/1442/153 784/1443/164 +f 797/1444/204 790/1445/163 789/1446/155 +f 795/1447/172 788/1448/158 787/1449/160 +f 793/1450/205 786/1440/159 785/1442/153 +f 791/1451/206 784/1443/164 783/1452/154 +f 798/1453/207 783/1452/154 790/1445/163 +f 796/1454/208 789/1446/155 788/1448/158 +f 797/1455/204 805/1456/209 798/1453/207 +f 793/1457/205 802/1458/210 794/1459/202 +f 792/1441/203 799/1460/173 800/1461/211 +f 791/1451/206 805/1456/209 799/1460/173 +f 797/1455/204 803/1462/212 804/1463/213 +f 792/1441/203 801/1464/214 793/1457/205 +f 800/1461/211 808/1465/215 801/1464/214 +f 805/1456/209 811/1466/216 812/1467/217 +f 802/1458/210 808/1465/215 809/1468/218 +f 800/1461/211 806/1469/219 807/1470/220 +f 799/1460/173 812/1467/217 806/1469/219 +f 803/1462/212 811/1466/216 804/1463/213 +f 794/1459/202 802/1458/210 795/1471/172 +f 795/1472/172 803/1462/212 796/1473/208 +f 803/1462/212 795/1472/172 810/1474/221 +f 802/1458/210 809/1468/218 795/1471/172 +f 810/1475/221 813/1476/222 818/1477/223 +f 811/1478/216 820/1479/224 812/1467/217 +f 808/1480/215 817/1481/225 809/1482/218 +f 806/1469/219 815/1483/226 807/1470/220 +f 809/1482/218 813/1484/222 795/1485/172 +f 806/1469/219 820/1479/224 814/1486/227 +f 810/1475/221 819/1487/228 811/1478/216 +f 807/1470/220 816/1488/229 808/1480/215 +f 832/1489/202 825/1490/230 824/1491/231 +f 830/1492/203 823/1493/232 822/1494/233 +f 835/1495/204 828/1496/234 827/1497/235 +f 833/1498/172 826/1499/236 825/1490/230 +f 831/1500/205 824/1491/231 823/1501/232 +f 829/1502/206 822/1494/233 821/1503/237 +f 836/1504/207 821/1503/237 828/1496/234 +f 834/1505/208 827/1497/235 826/1499/236 +f 835/1506/204 843/1507/238 836/1504/207 +f 831/1508/205 840/1509/210 832/1510/202 +f 829/1502/206 838/1511/239 830/1492/203 +f 836/1504/207 837/1512/173 829/1502/206 +f 834/1513/208 842/1514/213 835/1506/204 +f 830/1492/203 839/1515/214 831/1516/205 +f 839/1515/214 845/1517/220 846/1518/215 +f 842/1514/213 850/1519/217 843/1507/238 +f 840/1509/210 846/1520/215 847/1521/218 +f 837/1512/173 845/1517/220 838/1511/239 +f 837/1512/173 850/1519/217 844/1522/219 +f 841/1523/212 849/1524/216 842/1514/213 +f 832/1510/202 840/1509/210 833/1525/172 +f 833/1525/172 841/1523/212 834/1513/208 +f 841/1523/212 833/1525/172 848/1526/221 +f 840/1509/210 847/1521/218 833/1525/172 +f 833/1527/172 856/1528/223 848/1529/221 +f 849/1530/216 858/1531/224 850/1519/217 +f 846/1532/215 855/1533/225 847/1534/218 +f 844/1522/219 853/1535/226 845/1517/220 +f 847/1534/218 851/1536/222 833/1527/172 +f 850/1519/217 852/1537/227 844/1522/219 +f 848/1529/221 857/1538/228 849/1530/216 +f 845/1517/220 854/1539/164 846/1540/215 +f 976/1541/240 1003/1542/163 863/1543/241 +f 1004/1544/242 1003/1542/163 976/1541/240 +f 975/1545/243 862/1546/244 1003/1547/163 +f 1003/1547/163 1002/1548/245 975/1545/243 +f 819/1487/228 872/1549/246 820/1479/224 +f 814/1550/227 868/1551/247 815/1552/226 +f 817/1553/225 866/1554/248 813/1555/222 +f 820/1479/224 867/1556/249 814/1550/227 +f 818/1477/223 871/1557/158 819/1487/228 +f 818/1477/223 866/1558/248 870/1559/250 +f 866/1554/248 876/1560/251 873/1561/252 +f 825/1562/230 884/1563/253 883/1564/254 +f 871/1557/158 877/1565/172 878/1566/255 +f 870/1559/250 873/1567/252 877/1565/172 +f 872/1549/246 878/1566/255 879/1568/256 +f 824/1491/231 881/1569/257 823/1501/232 +f 815/1552/226 868/1551/247 816/1570/229 +f 868/1551/247 875/1571/173 816/1570/229 +f 816/1570/229 869/1572/258 817/1553/225 +f 869/1572/258 816/1570/229 876/1560/251 +f 822/1494/233 874/1573/259 821/1574/237 +f 821/1574/237 885/1575/260 828/1576/234 +f 825/1562/230 882/1577/261 824/1491/231 +f 823/1493/232 880/1578/262 822/1494/233 +f 879/1568/256 867/1556/249 872/1549/246 +f 826/1579/236 827/1580/235 884/1563/253 +f 879/1581/256 884/1563/253 827/1580/235 +f 878/1582/255 884/1563/253 879/1581/256 +f 877/1565/172 883/1564/254 878/1582/255 +f 882/1577/261 873/1583/252 881/1569/257 +f 881/1584/257 876/1585/251 880/1578/262 +f 880/1578/262 816/1586/229 874/1573/259 +f 885/1575/260 816/1586/229 875/1587/173 +f 827/1588/235 868/1551/247 867/1556/249 +f 885/1575/260 875/1587/173 827/1580/235 +f 828/1576/234 885/1575/260 827/1580/235 +f 858/1531/224 891/1589/158 892/1590/246 +f 852/1591/227 888/1592/247 853/1593/226 +f 851/1594/222 889/1595/258 886/1596/248 +f 858/1531/224 887/1597/249 852/1591/227 +f 856/1528/223 891/1589/158 857/1538/228 +f 856/1528/223 886/1596/248 890/1598/250 +f 891/1589/158 897/1599/263 898/1600/264 +f 890/1598/250 893/1601/265 897/1599/263 +f 891/1589/158 899/1602/266 892/1590/246 +f 888/1592/247 894/1603/267 895/1604/268 +f 889/1595/258 893/1601/265 886/1596/248 +f 887/1597/249 899/1602/266 894/1603/267 +f 854/1605/164 889/1595/258 855/1606/225 +f 889/1595/258 854/1605/164 896/1607/269 +f 853/1593/226 888/1592/247 854/1608/164 +f 888/1592/247 895/1604/268 854/1608/164 +f 908/1609/157 923/1610/172 915/1611/172 +f 914/1612/160 921/1613/171 913/1614/171 +f 912/1615/161 919/1616/173 911/1617/173 +f 910/1618/154 916/1619/170 909/1620/170 +f 915/1611/172 922/1621/160 914/1622/160 +f 913/1614/171 920/1623/161 912/1615/161 +f 911/1617/173 918/1624/154 910/1618/154 +f 909/1620/170 917/1625/157 908/1609/157 +f 931/1626/270 938/1627/155 930/1628/155 +f 929/1629/271 936/1630/157 928/1631/157 +f 927/1632/257 934/1633/153 926/1634/153 +f 925/1635/272 932/1636/161 924/1637/161 +f 924/1637/161 939/1638/270 931/1626/270 +f 930/1628/155 937/1639/271 929/1629/271 +f 928/1631/157 935/1640/257 927/1632/257 +f 926/1641/153 933/1642/272 925/1635/272 +f 947/1643/270 954/1644/155 946/1645/155 +f 945/1646/271 952/1647/157 944/1648/157 +f 943/1649/257 950/1650/153 942/1651/153 +f 941/1652/272 948/1653/161 940/1654/161 +f 940/1654/161 955/1655/270 947/1643/270 +f 946/1645/155 953/1656/271 945/1646/271 +f 944/1648/157 951/1657/257 943/1649/257 +f 942/1658/153 949/1659/272 941/1652/272 +f 957/1660/155 964/1661/163 956/1662/163 +f 959/1663/160 971/1664/158 958/1665/158 +f 962/1666/164 968/1667/153 961/1668/153 +f 960/1669/159 966/1670/160 959/1671/160 +f 956/1662/163 970/1672/154 963/1673/154 +f 958/1665/158 965/1674/155 957/1660/155 +f 963/1673/154 969/1675/164 962/1666/164 +f 961/1668/153 967/1676/159 960/1669/159 +f 977/1677/273 859/1678/274 972/1679/275 +f 865/1680/276 975/1545/243 978/1681/277 +f 976/1541/240 864/1682/278 977/1677/273 +f 859/1678/274 973/1683/159 972/1679/275 +f 974/1684/279 865/1680/276 978/1681/277 +f 973/1683/159 861/1685/280 974/1684/279 +f 1001/1686/281 978/1681/277 1006/1687/282 +f 973/1683/159 1001/1686/281 1000/1688/283 +f 977/1677/273 999/1689/284 1005/1690/285 +f 1006/1687/282 975/1545/243 1002/1548/245 +f 976/1541/240 1005/1690/285 1004/1544/242 +f 999/1689/284 973/1683/159 1000/1688/283 +f 1029/1691/286 1030/1692/287 979/1693/288 +f 979/1693/288 1030/1692/287 989/1694/173 +f 997/1695/273 989/1696/173 1030/1697/287 +f 1041/1698/289 979/1693/288 989/1694/173 +f 1041/1698/289 984/1699/290 990/1700/291 +f 983/1701/271 988/1702/292 991/1703/293 +f 983/1704/271 987/1705/172 982/1706/294 +f 987/1705/172 981/1707/295 982/1706/294 +f 986/1708/296 980/1709/297 981/1707/295 +f 985/1710/298 1030/1692/287 980/1709/297 +f 1031/1711/299 980/1709/297 1030/1692/287 +f 997/1695/273 985/1712/298 992/1713/300 +f 984/1699/290 1034/1714/301 1035/1715/302 +f 982/1706/294 1032/1716/303 1033/1717/304 +f 979/1693/288 1036/1718/305 1029/1691/286 +f 1036/1718/305 984/1699/290 1035/1715/302 +f 995/1719/243 988/1720/292 1041/1721/289 +f 1041/1721/289 1040/1722/245 995/1719/243 +f 996/1723/240 1041/1721/289 989/1696/173 +f 1042/1724/242 1041/1721/289 996/1723/240 +f 983/1704/271 1033/1717/304 1034/1725/301 +f 992/1713/300 986/1726/296 993/1727/159 +f 994/1728/279 991/1729/293 998/1730/277 +f 993/1727/159 987/1705/172 994/1728/279 +f 1032/1716/303 980/1709/297 1031/1711/299 +f 998/1731/277 988/1720/292 995/1719/243 +f 994/1728/279 1044/1732/282 1039/1733/281 +f 1038/1734/283 994/1728/279 1039/1733/281 +f 1043/1735/285 992/1713/300 1037/1736/284 +f 1044/1737/282 995/1719/243 1040/1722/245 +f 996/1723/240 1043/1735/285 1042/1724/242 +f 992/1713/300 1038/1734/283 1037/1736/284 +f 1003/1738/163 1012/1739/217 1011/1740/216 +f 1000/1688/283 1009/1741/218 1008/1742/215 +f 1005/1743/285 1007/1744/220 1013/1745/219 +f 1006/1746/282 1010/1747/221 1024/1748/172 +f 1004/1749/242 1013/1745/219 1012/1739/217 +f 1002/1750/245 1011/1751/216 1010/1747/221 +f 999/1689/284 1008/1742/215 1007/1744/220 +f 1001/1686/281 1024/1748/172 1009/1741/218 +f 1017/1752/212 1024/1753/172 1010/1754/221 +f 1016/1755/210 1009/1756/218 1024/1753/172 +f 1024/1753/172 1023/1757/202 1016/1755/210 +f 1025/1758/208 1024/1753/172 1017/1752/212 +f 1008/1759/215 1016/1755/210 1015/1760/214 +f 1020/1761/173 1007/1744/220 1014/1762/239 +f 1012/1739/217 1020/1761/173 1019/1763/238 +f 1017/1752/212 1011/1764/216 1018/1765/213 +f 1007/1744/220 1015/1760/214 1014/1762/239 +f 1018/1766/213 1012/1739/217 1019/1763/238 +f 1026/1767/204 1019/1763/238 1027/1768/207 +f 1015/1760/214 1023/1757/202 1022/1769/205 +f 1020/1761/173 1021/1770/203 1028/1771/206 +f 1019/1763/238 1028/1771/206 1027/1768/207 +f 1017/1752/212 1026/1772/204 1025/1758/208 +f 1021/1770/203 1015/1760/214 1022/1769/205 +f 1030/1773/287 1023/1774/202 1031/1775/299 +f 1036/1776/305 1021/1770/203 1029/1777/286 +f 1035/1715/302 1028/1771/206 1036/1776/305 +f 1033/1717/304 1026/1778/204 1034/1725/301 +f 1031/1775/299 1024/1779/172 1032/1780/303 +f 1029/1777/286 1022/1781/205 1030/1773/287 +f 1034/1714/301 1027/1768/207 1035/1715/302 +f 1032/1780/303 1025/1782/208 1033/1717/304 +f 1041/1783/289 1050/1784/217 1049/1785/216 +f 1038/1734/283 1047/1786/218 1046/1787/215 +f 1051/1788/219 1037/1736/284 1045/1789/220 +f 1044/1790/282 1048/1791/221 1062/1792/172 +f 1042/1793/242 1051/1788/219 1050/1784/217 +f 1040/1794/245 1049/1785/216 1048/1791/221 +f 1037/1736/284 1046/1787/215 1045/1789/220 +f 1039/1733/281 1062/1795/172 1047/1786/218 +f 1055/1796/212 1062/1797/172 1048/1798/221 +f 1054/1799/210 1047/1800/218 1062/1801/172 +f 1062/1801/172 1061/1802/202 1054/1799/210 +f 1063/1803/208 1062/1797/172 1055/1796/212 +f 1046/1804/215 1054/1799/210 1053/1805/214 +f 1058/1806/173 1045/1789/220 1052/1807/239 +f 1057/1808/209 1051/1788/219 1058/1806/173 +f 1055/1796/212 1049/1809/216 1056/1810/213 +f 1052/1807/239 1046/1804/215 1053/1805/214 +f 1049/1809/216 1057/1808/209 1056/1810/213 +f 1056/1810/213 1065/1811/207 1064/1812/204 +f 1060/1813/205 1054/1799/210 1061/1802/202 +f 1058/1806/173 1059/1814/203 1066/1815/206 +f 1065/1811/207 1058/1806/173 1066/1815/206 +f 1055/1796/212 1064/1812/204 1063/1803/208 +f 1052/1807/239 1060/1813/205 1059/1814/203 +f 1068/1816/153 1061/1817/202 1069/1818/159 +f 1074/1819/154 1059/1814/203 1067/1820/164 +f 1073/1821/163 1066/1815/206 1074/1819/154 +f 1071/1822/158 1064/1823/204 1072/1824/155 +f 1069/1818/159 1062/1825/172 1070/1826/160 +f 1067/1820/164 1060/1827/205 1068/1816/153 +f 1072/1824/155 1065/1811/207 1073/1821/163 +f 1070/1828/160 1063/1829/208 1071/1822/158 +f 864/1830/278 895/1831/268 894/1832/267 +f 854/1833/164 863/1834/241 1003/1835/163 +f 862/1836/244 854/1833/164 1003/1835/163 +f 896/1837/269 865/1838/276 893/1839/265 +f 865/1838/276 897/1840/263 893/1839/265 +f 861/1841/280 898/1842/264 897/1840/263 +f 860/1843/306 899/1844/266 898/1845/264 +f 859/1846/274 894/1832/267 899/1844/266 +f 683/1371/161 692/1387/161 698/1372/171 +f 689/1374/160 697/1847/160 696/1375/172 +f 687/1377/157 695/1385/157 694/1378/170 +f 685/1380/154 693/1386/154 691/1381/173 +f 690/1373/171 698/1372/171 697/1383/160 +f 688/1376/172 696/1375/172 695/1385/157 +f 686/1379/170 694/1378/170 693/1386/154 +f 684/1382/173 691/1381/173 692/1387/161 +f 716/1388/155 724/1402/155 723/1389/163 +f 718/1391/160 725/1848/160 730/1392/158 +f 721/1394/164 728/1403/164 727/1395/153 +f 719/1397/159 726/1404/159 725/1398/160 +f 715/1390/163 723/1389/163 729/1400/154 +f 717/1393/158 730/1392/158 724/1402/155 +f 722/1401/154 729/1400/154 728/1403/164 +f 720/1396/153 727/1395/153 726/1404/159 +f 734/1405/174 733/1849/195 731/1406/175 +f 738/1408/177 737/1412/181 735/1409/178 +f 740/1411/180 739/1414/183 737/1412/181 +f 742/1413/182 741/1850/192 739/1414/183 +f 736/1415/179 758/1432/197 759/1416/184 +f 753/1421/188 754/1418/185 755/1420/187 +f 741/1426/192 754/1418/185 753/1421/188 +f 735/1428/178 737/1412/181 752/1429/193 +f 733/1430/195 750/1214/200 749/1422/189 +f 739/1427/183 753/1421/188 752/1429/193 +f 756/1431/196 760/1436/199 759/1416/184 +f 734/1433/174 732/1851/176 757/1434/198 +f 740/1435/180 738/1417/177 759/1416/184 +f 740/1435/180 760/1436/199 761/1423/190 +f 750/1214/200 751/1327/194 752/1429/193 +f 762/1437/201 761/1423/190 760/1436/199 +f 794/1438/202 795/1852/172 787/1439/160 +f 792/1441/203 793/1450/205 785/1442/153 +f 797/1444/204 798/1453/207 790/1445/163 +f 795/1447/172 796/1454/208 788/1448/158 +f 793/1450/205 794/1438/202 786/1440/159 +f 791/1451/206 792/1441/203 784/1443/164 +f 798/1453/207 791/1451/206 783/1452/154 +f 796/1454/208 797/1444/204 789/1446/155 +f 797/1455/204 804/1463/213 805/1456/209 +f 793/1457/205 801/1464/214 802/1458/210 +f 792/1441/203 791/1451/206 799/1460/173 +f 791/1451/206 798/1453/207 805/1456/209 +f 797/1455/204 796/1473/208 803/1462/212 +f 792/1441/203 800/1461/211 801/1464/214 +f 800/1461/211 807/1470/220 808/1465/215 +f 805/1456/209 804/1463/213 811/1466/216 +f 802/1458/210 801/1464/214 808/1465/215 +f 800/1461/211 799/1460/173 806/1469/219 +f 799/1460/173 805/1456/209 812/1467/217 +f 803/1462/212 810/1474/221 811/1466/216 +f 810/1475/221 795/1853/172 813/1476/222 +f 811/1478/216 819/1487/228 820/1479/224 +f 808/1480/215 816/1488/229 817/1481/225 +f 806/1469/219 814/1486/227 815/1483/226 +f 809/1482/218 817/1481/225 813/1484/222 +f 806/1469/219 812/1467/217 820/1479/224 +f 810/1475/221 818/1477/223 819/1487/228 +f 807/1470/220 815/1483/226 816/1488/229 +f 832/1489/202 833/1498/172 825/1490/230 +f 830/1492/203 831/1854/205 823/1493/232 +f 835/1495/204 836/1504/207 828/1496/234 +f 833/1498/172 834/1505/208 826/1499/236 +f 831/1500/205 832/1489/202 824/1491/231 +f 829/1502/206 830/1492/203 822/1494/233 +f 836/1504/207 829/1502/206 821/1503/237 +f 834/1505/208 835/1495/204 827/1497/235 +f 835/1506/204 842/1514/213 843/1507/238 +f 831/1508/205 839/1855/214 840/1509/210 +f 829/1502/206 837/1512/173 838/1511/239 +f 836/1504/207 843/1507/238 837/1512/173 +f 834/1513/208 841/1523/212 842/1514/213 +f 830/1492/203 838/1511/239 839/1515/214 +f 839/1515/214 838/1511/239 845/1517/220 +f 842/1514/213 849/1524/216 850/1519/217 +f 840/1509/210 839/1855/214 846/1520/215 +f 837/1512/173 844/1522/219 845/1517/220 +f 837/1512/173 843/1507/238 850/1519/217 +f 841/1523/212 848/1526/221 849/1524/216 +f 833/1527/172 851/1536/222 856/1528/223 +f 849/1530/216 857/1538/228 858/1531/224 +f 846/1532/215 854/1856/164 855/1533/225 +f 844/1522/219 852/1537/227 853/1535/226 +f 847/1534/218 855/1533/225 851/1536/222 +f 850/1519/217 858/1531/224 852/1537/227 +f 848/1529/221 856/1528/223 857/1538/228 +f 845/1517/220 853/1535/226 854/1539/164 +f 819/1487/228 871/1557/158 872/1549/246 +f 814/1550/227 867/1556/249 868/1551/247 +f 817/1553/225 869/1572/258 866/1554/248 +f 820/1479/224 872/1549/246 867/1556/249 +f 818/1477/223 870/1559/250 871/1557/158 +f 818/1477/223 813/1857/222 866/1558/248 +f 866/1554/248 869/1572/258 876/1560/251 +f 825/1562/230 826/1579/236 884/1563/253 +f 871/1557/158 870/1559/250 877/1565/172 +f 870/1559/250 866/1558/248 873/1567/252 +f 872/1549/246 871/1557/158 878/1566/255 +f 824/1491/231 882/1577/261 881/1569/257 +f 822/1494/233 880/1578/262 874/1573/259 +f 821/1574/237 874/1573/259 885/1575/260 +f 825/1562/230 883/1564/254 882/1577/261 +f 823/1493/232 881/1584/257 880/1578/262 +f 879/1568/256 827/1588/235 867/1556/249 +f 878/1582/255 883/1564/254 884/1563/253 +f 877/1565/172 882/1577/261 883/1564/254 +f 882/1577/261 877/1565/172 873/1583/252 +f 881/1584/257 873/1858/252 876/1585/251 +f 880/1578/262 876/1585/251 816/1586/229 +f 885/1575/260 874/1573/259 816/1586/229 +f 827/1588/235 875/1571/173 868/1551/247 +f 858/1531/224 857/1538/228 891/1589/158 +f 852/1591/227 887/1597/249 888/1592/247 +f 851/1594/222 855/1606/225 889/1595/258 +f 858/1531/224 892/1590/246 887/1597/249 +f 856/1528/223 890/1598/250 891/1589/158 +f 856/1528/223 851/1594/222 886/1596/248 +f 891/1589/158 890/1598/250 897/1599/263 +f 890/1598/250 886/1596/248 893/1601/265 +f 891/1589/158 898/1600/264 899/1602/266 +f 888/1592/247 887/1597/249 894/1603/267 +f 889/1595/258 896/1607/269 893/1601/265 +f 887/1597/249 892/1590/246 899/1602/266 +f 908/1609/157 917/1625/157 923/1610/172 +f 914/1612/160 922/1859/160 921/1613/171 +f 912/1615/161 920/1623/161 919/1616/173 +f 910/1618/154 918/1624/154 916/1619/170 +f 915/1611/172 923/1610/172 922/1621/160 +f 913/1614/171 921/1613/171 920/1623/161 +f 911/1617/173 919/1616/173 918/1624/154 +f 909/1620/170 916/1619/170 917/1625/157 +f 931/1626/270 939/1638/270 938/1627/155 +f 929/1629/271 937/1639/271 936/1630/157 +f 927/1632/257 935/1640/257 934/1633/153 +f 925/1635/272 933/1642/272 932/1636/161 +f 924/1637/161 932/1636/161 939/1638/270 +f 930/1628/155 938/1627/155 937/1639/271 +f 928/1631/157 936/1630/157 935/1640/257 +f 926/1641/153 934/1860/153 933/1642/272 +f 947/1643/270 955/1655/270 954/1644/155 +f 945/1646/271 953/1656/271 952/1647/157 +f 943/1649/257 951/1657/257 950/1650/153 +f 941/1652/272 949/1659/272 948/1653/161 +f 940/1654/161 948/1653/161 955/1655/270 +f 946/1645/155 954/1644/155 953/1656/271 +f 944/1648/157 952/1647/157 951/1657/257 +f 942/1658/153 950/1861/153 949/1659/272 +f 957/1660/155 965/1674/155 964/1661/163 +f 959/1663/160 966/1862/160 971/1664/158 +f 962/1666/164 969/1675/164 968/1667/153 +f 960/1669/159 967/1676/159 966/1670/160 +f 956/1662/163 964/1661/163 970/1672/154 +f 958/1665/158 971/1664/158 965/1674/155 +f 963/1673/154 970/1672/154 969/1675/164 +f 961/1668/153 968/1667/153 967/1676/159 +f 977/1677/273 864/1682/278 859/1678/274 +f 865/1680/276 862/1546/244 975/1545/243 +f 976/1541/240 863/1543/241 864/1682/278 +f 859/1678/274 860/1863/306 973/1683/159 +f 974/1684/279 861/1685/280 865/1680/276 +f 973/1683/159 860/1863/306 861/1685/280 +f 1001/1686/281 974/1684/279 978/1681/277 +f 973/1683/159 974/1684/279 1001/1686/281 +f 977/1677/273 972/1679/275 999/1689/284 +f 1006/1687/282 978/1681/277 975/1545/243 +f 976/1541/240 977/1677/273 1005/1690/285 +f 999/1689/284 972/1679/275 973/1683/159 +f 997/1695/273 996/1723/240 989/1696/173 +f 1041/1698/289 990/1700/291 979/1693/288 +f 1041/1698/289 988/1702/292 984/1699/290 +f 983/1701/271 984/1699/290 988/1702/292 +f 983/1704/271 991/1864/293 987/1705/172 +f 987/1705/172 986/1708/296 981/1707/295 +f 986/1708/296 985/1710/298 980/1709/297 +f 997/1695/273 1030/1697/287 985/1712/298 +f 984/1699/290 983/1701/271 1034/1714/301 +f 982/1706/294 981/1707/295 1032/1716/303 +f 979/1693/288 990/1700/291 1036/1718/305 +f 1036/1718/305 990/1700/291 984/1699/290 +f 983/1704/271 982/1706/294 1033/1717/304 +f 992/1713/300 985/1712/298 986/1726/296 +f 994/1728/279 987/1705/172 991/1729/293 +f 993/1727/159 986/1726/296 987/1705/172 +f 1032/1716/303 981/1707/295 980/1709/297 +f 998/1731/277 991/1865/293 988/1720/292 +f 994/1728/279 998/1730/277 1044/1732/282 +f 1038/1734/283 993/1727/159 994/1728/279 +f 1043/1735/285 997/1695/273 992/1713/300 +f 1044/1737/282 998/1731/277 995/1719/243 +f 996/1723/240 997/1695/273 1043/1735/285 +f 992/1713/300 993/1727/159 1038/1734/283 +f 1003/1738/163 1004/1749/242 1012/1739/217 +f 1000/1688/283 1001/1686/281 1009/1741/218 +f 1005/1743/285 999/1689/284 1007/1744/220 +f 1006/1746/282 1002/1750/245 1010/1747/221 +f 1004/1749/242 1005/1743/285 1013/1745/219 +f 1002/1750/245 1003/1866/163 1011/1751/216 +f 999/1689/284 1000/1688/283 1008/1742/215 +f 1001/1686/281 1006/1746/282 1024/1748/172 +f 1008/1759/215 1009/1756/218 1016/1755/210 +f 1020/1761/173 1013/1745/219 1007/1744/220 +f 1012/1739/217 1013/1745/219 1020/1761/173 +f 1017/1752/212 1010/1754/221 1011/1764/216 +f 1007/1744/220 1008/1759/215 1015/1760/214 +f 1018/1766/213 1011/1867/216 1012/1739/217 +f 1026/1767/204 1018/1766/213 1019/1763/238 +f 1015/1760/214 1016/1755/210 1023/1757/202 +f 1020/1761/173 1014/1762/239 1021/1770/203 +f 1019/1763/238 1020/1761/173 1028/1771/206 +f 1017/1752/212 1018/1765/213 1026/1772/204 +f 1021/1770/203 1014/1762/239 1015/1760/214 +f 1030/1773/287 1022/1781/205 1023/1774/202 +f 1036/1776/305 1028/1771/206 1021/1770/203 +f 1035/1715/302 1027/1768/207 1028/1771/206 +f 1033/1717/304 1025/1782/208 1026/1778/204 +f 1031/1775/299 1023/1774/202 1024/1779/172 +f 1029/1777/286 1021/1770/203 1022/1781/205 +f 1034/1714/301 1026/1868/204 1027/1768/207 +f 1032/1780/303 1024/1779/172 1025/1782/208 +f 1041/1783/289 1042/1793/242 1050/1784/217 +f 1038/1734/283 1039/1733/281 1047/1786/218 +f 1051/1788/219 1043/1869/285 1037/1736/284 +f 1044/1790/282 1040/1794/245 1048/1791/221 +f 1042/1793/242 1043/1869/285 1051/1788/219 +f 1040/1794/245 1041/1783/289 1049/1785/216 +f 1037/1736/284 1038/1734/283 1046/1787/215 +f 1039/1733/281 1044/1870/282 1062/1795/172 +f 1046/1804/215 1047/1800/218 1054/1799/210 +f 1058/1806/173 1051/1788/219 1045/1789/220 +f 1057/1808/209 1050/1784/217 1051/1788/219 +f 1055/1796/212 1048/1798/221 1049/1809/216 +f 1052/1807/239 1045/1789/220 1046/1804/215 +f 1049/1809/216 1050/1784/217 1057/1808/209 +f 1056/1810/213 1057/1808/209 1065/1811/207 +f 1060/1813/205 1053/1805/214 1054/1799/210 +f 1058/1806/173 1052/1807/239 1059/1814/203 +f 1065/1811/207 1057/1808/209 1058/1806/173 +f 1055/1796/212 1056/1810/213 1064/1812/204 +f 1052/1807/239 1053/1805/214 1060/1813/205 +f 1068/1816/153 1060/1827/205 1061/1817/202 +f 1074/1819/154 1066/1815/206 1059/1814/203 +f 1073/1821/163 1065/1811/207 1066/1815/206 +f 1071/1822/158 1063/1829/208 1064/1823/204 +f 1069/1818/159 1061/1817/202 1062/1825/172 +f 1067/1820/164 1059/1814/203 1060/1827/205 +f 1072/1824/155 1064/1823/204 1065/1811/207 +f 1070/1828/160 1062/1871/172 1063/1829/208 +f 864/1830/278 863/1834/241 895/1831/268 +f 854/1833/164 895/1831/268 863/1834/241 +f 862/1836/244 896/1837/269 854/1833/164 +f 896/1837/269 862/1836/244 865/1838/276 +f 865/1838/276 861/1841/280 897/1840/263 +f 861/1841/280 860/1872/306 898/1842/264 +f 860/1843/306 859/1846/274 899/1844/266 +f 859/1846/274 864/1830/278 894/1832/267 diff --git a/src/main/resources/assets/hbm/models/weapons/lunatic_sniper.obj b/src/main/resources/assets/hbm/models/weapons/lunatic_sniper.obj deleted file mode 100644 index 0f51b1906..000000000 --- a/src/main/resources/assets/hbm/models/weapons/lunatic_sniper.obj +++ /dev/null @@ -1,5973 +0,0 @@ -# Blender v2.79 (sub 0) OBJ File: 'killme.blend' -# www.blender.org -o Spent_Casing_Casing -v 0.300002 1.349998 12.254088 -v 0.185616 1.535614 12.254088 -v 0.262502 1.349998 12.254088 -v 0.000000 1.559999 10.304089 -v 0.000000 1.349998 10.304089 -v -0.148493 1.498492 10.304089 -v -0.212132 1.137867 12.304089 -v 0.000000 1.087497 12.304089 -v 0.000000 1.049999 12.304089 -v 0.212132 1.562131 12.404088 -v 0.000000 1.349999 12.404088 -v 0.300002 1.349999 12.404088 -v -0.212132 1.137868 12.254088 -v 0.000000 1.087497 12.254088 -v -0.185614 1.164384 12.254088 -v -0.212132 1.562132 12.254088 -v 0.000000 1.612499 12.254088 -v 0.000000 1.649999 12.254088 -v 0.212132 1.562132 12.254088 -v 0.212132 1.137868 12.254088 -v 0.185616 1.164384 12.254088 -v -0.262500 1.349998 12.254088 -v -0.300000 1.349998 12.254088 -v 0.000000 1.049999 12.254088 -v -0.185614 1.535614 12.254088 -v 0.212132 1.137867 12.304089 -v 0.262502 1.349997 12.304089 -v 0.300002 1.349997 12.304089 -v 0.212132 1.562131 12.304089 -v 0.000000 1.612499 12.304089 -v 0.000000 1.649999 12.304089 -v -0.212132 1.562131 12.304089 -v -0.185614 1.535613 12.304089 -v -0.262500 1.349997 12.304089 -v -0.185614 1.164383 12.304089 -v 0.185616 1.164383 12.304089 -v 0.185616 1.535613 12.304089 -v -0.300000 1.349997 12.304089 -v 0.212132 1.137867 12.404088 -v 0.000000 1.049999 12.404088 -v -0.300000 1.349999 12.404088 -v -0.212132 1.562131 12.404088 -v -0.212132 1.137867 12.404088 -v 0.000000 1.649999 12.404088 -v -0.148493 1.201508 10.304089 -v 0.000000 1.140000 10.304089 -v -0.210000 1.349998 10.304089 -v 0.148492 1.201508 10.304089 -v 0.210001 1.349998 10.304089 -v 0.148492 1.498492 10.304089 -v 0.000000 1.649999 12.254088 -v 0.212132 1.562132 10.804089 -v 0.000000 1.649999 10.804089 -v 0.212132 1.562132 12.254088 -v 0.300002 1.349998 10.804089 -v 0.300002 1.349998 12.254088 -v 0.212132 1.137868 10.804089 -v 0.212132 1.137868 12.254088 -v 0.000000 1.049999 10.804089 -v 0.000000 1.049999 12.254088 -v -0.212132 1.137868 10.804089 -v -0.212132 1.137868 12.254088 -v -0.300000 1.349998 10.804089 -v -0.300000 1.349998 12.254088 -v -0.212132 1.562132 10.804089 -v -0.212132 1.562132 12.254088 -v -0.212132 1.137867 12.304089 -v 0.000000 1.049999 12.404088 -v -0.212132 1.137867 12.404088 -v 0.300002 1.349997 12.304089 -v 0.212132 1.137867 12.404088 -v 0.212132 1.137867 12.304089 -v 0.000000 1.649999 12.304089 -v 0.212132 1.562131 12.404088 -v 0.212132 1.562131 12.304089 -v -0.212132 1.562131 12.404088 -v 0.000000 1.649999 12.404088 -v -0.300000 1.349997 12.304089 -v -0.300000 1.349999 12.404088 -v 0.000000 1.049999 12.304089 -v 0.300002 1.349999 12.404088 -v -0.212132 1.562131 12.304089 -v 0.185616 1.164383 12.304089 -v 0.000000 1.087497 12.254088 -v 0.185616 1.164384 12.254088 -v 0.000000 1.087497 12.304089 -v -0.185614 1.164384 12.254088 -v 0.262502 1.349997 12.304089 -v 0.262502 1.349998 12.254088 -v 0.185616 1.535613 12.304089 -v 0.185616 1.535614 12.254088 -v 0.000000 1.612499 12.304089 -v 0.000000 1.612499 12.254088 -v -0.185614 1.535613 12.304089 -v -0.185614 1.535614 12.254088 -v -0.262500 1.349997 12.304089 -v -0.262500 1.349998 12.254088 -v -0.185614 1.164383 12.304089 -vt 0.099091 0.299868 -vt 0.108182 0.289967 -vt 0.108182 0.299868 -vt 0.044545 0.280066 -vt 0.008182 0.270165 -vt 0.044545 0.270165 -vt 0.126364 0.250363 -vt 0.117273 0.240462 -vt 0.126364 0.240462 -vt 0.135455 0.289967 -vt 0.171818 0.289967 -vt 0.135455 0.299868 -vt 0.099091 0.250363 -vt 0.108182 0.240462 -vt 0.108182 0.250363 -vt 0.099091 0.270165 -vt 0.108182 0.280066 -vt 0.099091 0.280066 -vt 0.099091 0.289967 -vt 0.099091 0.309769 -vt 0.108182 0.309769 -vt 0.108182 0.260264 -vt 0.099091 0.260264 -vt 0.108182 0.319670 -vt 0.099091 0.319670 -vt 0.108182 0.270165 -vt 0.126364 0.309769 -vt 0.117273 0.299868 -vt 0.126364 0.299868 -vt 0.126364 0.289967 -vt 0.117273 0.280066 -vt 0.126364 0.280066 -vt 0.126364 0.270165 -vt 0.117273 0.270165 -vt 0.117273 0.260264 -vt 0.117273 0.250363 -vt 0.117273 0.319670 -vt 0.117273 0.309769 -vt 0.117273 0.289967 -vt 0.126364 0.260264 -vt 0.135455 0.309769 -vt 0.171818 0.309769 -vt 0.135455 0.319670 -vt 0.135455 0.260264 -vt 0.171818 0.260264 -vt 0.135455 0.270165 -vt 0.171818 0.299868 -vt 0.135455 0.240462 -vt 0.171818 0.240462 -vt 0.135455 0.250363 -vt 0.171818 0.270165 -vt 0.135455 0.280066 -vt 0.171818 0.250363 -vt 0.171818 0.280066 -vt 0.044545 0.250363 -vt 0.008182 0.240462 -vt 0.044545 0.240462 -vt 0.008182 0.260264 -vt 0.044545 0.260264 -vt 0.044545 0.309769 -vt 0.008182 0.299868 -vt 0.044545 0.299868 -vt 0.008182 0.280066 -vt 0.044545 0.289967 -vt 0.044545 0.319670 -vt 0.008182 0.309769 -vt 0.008182 0.250363 -vt 0.008182 0.289967 -vt 0.099091 0.240462 -vt 0.126364 0.319670 -vt 0.099091 0.280066 -vt 0.044545 0.289967 -vt 0.044545 0.280066 -vt 0.099091 0.289967 -vt 0.044545 0.299868 -vt 0.099091 0.299868 -vt 0.044545 0.309769 -vt 0.099091 0.309769 -vt 0.044545 0.319670 -vt 0.099091 0.240462 -vt 0.044545 0.250363 -vt 0.044545 0.240462 -vt 0.099091 0.250363 -vt 0.044545 0.260264 -vt 0.099091 0.260264 -vt 0.044545 0.270165 -vt 0.099091 0.270165 -vt 0.126364 0.250363 -vt 0.135455 0.240462 -vt 0.135455 0.250363 -vt 0.126364 0.299868 -vt 0.135455 0.309769 -vt 0.126364 0.309769 -vt 0.126364 0.280066 -vt 0.135455 0.289967 -vt 0.126364 0.289967 -vt 0.135455 0.270165 -vt 0.135455 0.280066 -vt 0.126364 0.260264 -vt 0.135455 0.260264 -vt 0.135455 0.319670 -vt 0.126364 0.319670 -vt 0.135455 0.299868 -vt 0.126364 0.270165 -vt 0.117273 0.309769 -vt 0.108182 0.319670 -vt 0.108182 0.309769 -vt 0.117273 0.240462 -vt 0.108182 0.250363 -vt 0.108182 0.240462 -vt 0.117273 0.299868 -vt 0.108182 0.299868 -vt 0.117273 0.289967 -vt 0.108182 0.289967 -vt 0.117273 0.280066 -vt 0.108182 0.280066 -vt 0.117273 0.270165 -vt 0.108182 0.270165 -vt 0.117273 0.260264 -vt 0.108182 0.260264 -vt 0.117273 0.250363 -vt 0.099091 0.319670 -vt 0.126364 0.240462 -vt 0.117273 0.319670 -vn -0.0000 0.0000 1.0000 -vn 0.0000 0.7182 -0.6958 -vn -0.0000 0.0000 -1.0000 -vn -0.5078 0.5078 -0.6958 -vn -0.5078 -0.5078 -0.6958 -vn 0.0000 -0.7182 -0.6958 -vn -0.7182 -0.0000 -0.6958 -vn 0.5078 -0.5078 -0.6958 -vn 0.7182 -0.0000 -0.6958 -vn 0.5078 0.5078 -0.6958 -vn 0.0000 1.0000 0.0000 -vn 0.7071 0.7071 0.0000 -vn 1.0000 -0.0000 0.0000 -vn 0.7071 -0.7071 0.0000 -vn -0.0000 -1.0000 0.0000 -vn -0.7071 -0.7071 0.0000 -vn -1.0000 -0.0000 0.0000 -vn -0.7071 0.7071 0.0000 -vn 0.6959 -0.6959 -0.1772 -vn 0.9842 -0.0000 -0.1772 -vn -0.6959 0.6959 -0.1772 -vn -0.0000 0.9842 -0.1772 -vn -0.9842 -0.0000 -0.1772 -vn -0.6959 -0.6959 -0.1772 -vn 0.0000 -0.9842 -0.1772 -vn 0.6959 0.6959 -0.1772 -s 1 -f 1/1/1 2/2/1 3/3/1 -f 4/4/2 5/5/3 6/6/4 -f 7/7/3 8/8/3 9/9/3 -f 10/10/1 11/11/1 12/12/1 -f 13/13/1 14/14/1 15/15/1 -f 16/16/1 17/17/1 18/18/1 -f 19/19/1 17/17/1 2/2/1 -f 20/20/1 3/3/1 21/21/1 -f 13/13/1 22/22/1 23/23/1 -f 20/20/1 14/24/1 24/25/1 -f 23/23/1 25/26/1 16/16/1 -f 26/27/3 27/28/3 28/29/3 -f 29/30/3 30/31/3 31/32/3 -f 32/33/3 30/31/3 33/34/3 -f 7/7/3 34/35/3 35/36/3 -f 26/27/3 8/37/3 36/38/3 -f 28/29/3 37/39/3 29/30/3 -f 38/40/3 33/34/3 34/35/3 -f 39/41/1 11/42/1 40/43/1 -f 41/44/1 11/45/1 42/46/1 -f 12/12/1 11/47/1 39/41/1 -f 40/48/1 11/49/1 43/50/1 -f 11/51/1 44/52/1 42/46/1 -f 43/50/1 11/53/1 41/44/1 -f 11/54/1 10/10/1 44/52/1 -f 45/55/5 5/56/3 46/57/6 -f 6/6/4 5/58/3 47/59/7 -f 48/60/8 5/61/3 49/62/9 -f 5/63/3 4/4/2 50/64/10 -f 46/65/6 5/66/3 48/60/8 -f 47/59/7 5/67/3 45/55/5 -f 49/62/9 5/68/3 50/64/10 -f 1/1/1 19/19/1 2/2/1 -f 7/7/3 35/36/3 8/8/3 -f 13/13/1 24/69/1 14/14/1 -f 16/16/1 25/26/1 17/17/1 -f 19/19/1 18/18/1 17/17/1 -f 20/20/1 1/1/1 3/3/1 -f 13/13/1 15/15/1 22/22/1 -f 20/20/1 21/21/1 14/24/1 -f 23/23/1 22/22/1 25/26/1 -f 26/27/3 36/38/3 27/28/3 -f 29/30/3 37/39/3 30/31/3 -f 32/33/3 31/32/3 30/31/3 -f 7/7/3 38/40/3 34/35/3 -f 26/27/3 9/70/3 8/37/3 -f 28/29/3 27/28/3 37/39/3 -f 38/40/3 32/33/3 33/34/3 -f 51/71/11 52/72/12 53/73/11 -f 54/74/12 55/75/13 52/72/12 -f 56/76/13 57/77/14 55/75/13 -f 58/78/14 59/79/15 57/77/14 -f 60/80/15 61/81/16 59/82/15 -f 62/83/16 63/84/17 61/81/16 -f 64/85/17 65/86/18 63/84/17 -f 66/87/18 53/73/11 65/86/18 -f 67/88/16 68/89/15 69/90/16 -f 70/91/13 71/92/14 72/93/14 -f 73/94/11 74/95/12 75/96/12 -f 73/94/11 76/97/18 77/98/11 -f 78/99/17 69/90/16 79/100/17 -f 72/93/14 68/101/15 80/102/15 -f 75/96/12 81/103/13 70/91/13 -f 82/104/18 79/100/17 76/97/18 -f 83/105/14 84/106/15 85/107/14 -f 86/108/15 87/109/16 84/110/15 -f 88/111/13 85/107/14 89/112/13 -f 90/113/12 89/112/13 91/114/12 -f 92/115/11 91/114/12 93/116/11 -f 94/117/18 93/116/11 95/118/18 -f 96/119/17 95/118/18 97/120/17 -f 98/121/16 97/120/17 87/109/16 -f 51/71/11 54/74/12 52/72/12 -f 54/74/12 56/76/13 55/75/13 -f 56/76/13 58/78/14 57/77/14 -f 58/78/14 60/122/15 59/79/15 -f 60/80/15 62/83/16 61/81/16 -f 62/83/16 64/85/17 63/84/17 -f 64/85/17 66/87/18 65/86/18 -f 66/87/18 51/71/11 53/73/11 -f 67/88/16 80/123/15 68/89/15 -f 70/91/13 81/103/13 71/92/14 -f 73/94/11 77/98/11 74/95/12 -f 73/94/11 82/104/18 76/97/18 -f 78/99/17 67/88/16 69/90/16 -f 72/93/14 71/92/14 68/101/15 -f 75/96/12 74/95/12 81/103/13 -f 82/104/18 78/99/17 79/100/17 -f 83/105/14 86/124/15 84/106/15 -f 86/108/15 98/121/16 87/109/16 -f 88/111/13 83/105/14 85/107/14 -f 90/113/12 88/111/13 89/112/13 -f 92/115/11 90/113/12 91/114/12 -f 94/117/18 92/115/11 93/116/11 -f 96/119/17 94/117/18 95/118/18 -f 98/121/16 96/119/17 97/120/17 -f 49/62/9 57/77/19 48/60/8 -f 50/64/10 55/75/20 49/62/9 -f 65/86/21 4/4/2 6/6/4 -f 53/73/22 50/64/10 4/4/2 -f 6/6/4 63/84/23 65/86/21 -f 47/59/7 61/81/24 63/84/23 -f 46/57/6 61/81/24 45/55/5 -f 48/60/8 59/82/25 46/57/6 -f 49/62/9 55/75/20 57/77/19 -f 50/64/10 52/72/26 55/75/20 -f 65/86/21 53/73/22 4/4/2 -f 53/73/22 52/72/26 50/64/10 -f 6/6/4 47/59/7 63/84/23 -f 47/59/7 45/55/5 61/81/24 -f 46/57/6 59/82/25 61/81/24 -f 48/60/8 57/77/19 59/82/25 -o Full_Round_Bullet -v -1.147499 5.750000 2.438255 -v -1.350001 5.750000 2.438255 -v -1.206811 5.893189 2.438255 -v -1.552500 5.750000 2.438255 -v -1.493189 5.606811 2.438255 -v -1.350000 5.547500 2.438255 -v -1.206811 5.606811 2.438255 -v -1.350000 5.952500 2.438255 -v -1.493189 5.893189 2.438255 -v -1.350001 5.750000 4.538256 -v -1.137869 5.962132 4.538256 -v -1.350001 6.050000 4.538256 -v -1.562132 5.537868 4.538256 -v -1.650001 5.750000 4.538256 -v -1.562132 5.962132 4.538256 -v -1.350001 5.450000 4.538255 -v -1.049999 5.750000 4.538256 -v -1.137869 5.537868 4.538256 -v -1.650001 5.750000 4.438255 -v -1.535614 5.935614 4.438255 -v -1.612500 5.750000 4.438255 -v -1.049999 5.750000 4.438255 -v -1.164384 5.935614 4.438255 -v -1.137869 5.962132 4.438255 -v -1.137869 5.537868 4.438255 -v -1.350001 5.487498 4.438255 -v -1.164384 5.564384 4.438255 -v -1.562132 5.537868 4.438255 -v -1.535614 5.564384 4.438255 -v -1.562132 5.962132 4.438255 -v -1.350001 6.012500 4.438255 -v -1.350001 6.050000 4.438255 -v -1.087498 5.750000 4.438255 -v -1.650001 5.750000 4.388256 -v -1.535614 5.935614 4.388256 -v -1.562132 5.962132 4.388256 -v -1.137869 5.537868 4.388256 -v -1.350001 5.487498 4.388256 -v -1.350001 5.450000 4.388255 -v -1.562132 5.537868 4.388256 -v -1.612500 5.750000 4.388256 -v -1.087498 5.750000 4.388256 -v -1.164384 5.564384 4.388256 -v -1.137869 5.962132 4.388256 -v -1.350001 6.012500 4.388256 -v -1.164384 5.935614 4.388256 -v -1.350001 6.050000 4.388256 -v -1.535614 5.564384 4.388256 -v -1.350001 5.450000 4.438255 -v -1.049999 5.750000 4.388256 -v -1.350000 5.946875 2.438255 -v -1.467921 5.867923 2.063255 -v -1.489211 5.889211 2.438255 -v -1.546875 5.750000 2.438255 -v -1.467921 5.632078 2.063255 -v -1.489211 5.610788 2.438255 -v -1.210788 5.610788 2.438255 -v -1.350000 5.583231 2.063255 -v -1.232078 5.632078 2.063255 -v -1.153124 5.750000 2.438255 -v -1.232078 5.867923 2.063255 -v -1.210788 5.889211 2.438255 -v -1.516767 5.750000 2.063255 -v -1.350000 5.553123 2.438255 -v -1.183232 5.750000 2.063255 -v -1.350000 5.916767 2.063255 -v -1.350000 5.750000 1.688255 -v -1.164384 5.564384 4.438255 -v -1.350001 5.487498 4.388256 -v -1.164384 5.564384 4.388256 -v -1.350001 5.487498 4.438255 -v -1.535614 5.564384 4.388256 -v -1.087498 5.750000 4.438255 -v -1.087498 5.750000 4.388256 -v -1.164384 5.935614 4.438255 -v -1.164384 5.935614 4.388256 -v -1.350001 6.012500 4.438255 -v -1.350001 6.012500 4.388256 -v -1.535614 5.935614 4.438255 -v -1.535614 5.935614 4.388256 -v -1.612500 5.750000 4.438255 -v -1.612500 5.750000 4.388256 -v -1.535614 5.564384 4.438255 -v -1.562132 5.962132 4.438255 -v -1.650001 5.750000 4.538256 -v -1.562132 5.962132 4.538256 -v -1.137869 5.962132 4.438255 -v -1.049999 5.750000 4.538256 -v -1.049999 5.750000 4.438255 -v -1.137869 5.537868 4.438255 -v -1.350001 5.450000 4.538255 -v -1.350001 5.450000 4.438255 -v -1.650001 5.750000 4.438255 -v -1.562132 5.537868 4.538256 -v -1.350001 6.050000 4.538256 -v -1.350001 6.050000 4.438255 -v -1.137869 5.962132 4.538256 -v -1.137869 5.537868 4.538256 -v -1.562132 5.537868 4.438255 -v -1.562132 5.962132 4.388256 -v -1.350001 6.050000 2.938255 -v -1.562132 5.962132 2.938255 -v -1.650001 5.750000 4.388256 -v -1.650001 5.750000 2.938255 -v -1.562132 5.537868 4.388256 -v -1.562132 5.537868 2.938255 -v -1.350001 5.450000 4.388255 -v -1.350001 5.450000 2.938255 -v -1.137869 5.537868 4.388256 -v -1.137869 5.537868 2.938255 -v -1.049999 5.750000 4.388256 -v -1.049999 5.750000 2.938255 -v -1.137869 5.962132 4.388256 -v -1.137869 5.962132 2.938255 -v -1.350001 6.050000 4.388256 -vt 0.044545 0.298775 -vt 0.008182 0.288874 -vt 0.044545 0.288874 -vt 0.044545 0.259171 -vt 0.008182 0.249270 -vt 0.044545 0.249270 -vt 0.044545 0.318577 -vt 0.008182 0.308676 -vt 0.044545 0.308676 -vt 0.008182 0.278973 -vt 0.044545 0.278973 -vt 0.008182 0.298775 -vt 0.044545 0.269072 -vt 0.008182 0.259171 -vt 0.008182 0.239369 -vt 0.044545 0.239369 -vt 0.171818 0.278973 -vt 0.135455 0.288874 -vt 0.135455 0.278973 -vt 0.135455 0.249270 -vt 0.171818 0.249270 -vt 0.135455 0.259171 -vt 0.171818 0.269072 -vt 0.135455 0.269072 -vt 0.135455 0.239369 -vt 0.171818 0.239369 -vt 0.135455 0.298775 -vt 0.171818 0.298775 -vt 0.135455 0.308676 -vt 0.171818 0.259171 -vt 0.171818 0.308676 -vt 0.135455 0.318577 -vt 0.126364 0.259171 -vt 0.117273 0.269072 -vt 0.117273 0.259171 -vt 0.126364 0.298775 -vt 0.117273 0.288874 -vt 0.126364 0.288874 -vt 0.126364 0.308676 -vt 0.117273 0.318577 -vt 0.117273 0.308676 -vt 0.126364 0.249270 -vt 0.117273 0.249270 -vt 0.126364 0.269072 -vt 0.117273 0.278973 -vt 0.126364 0.278973 -vt 0.117273 0.298775 -vt 0.099091 0.259171 -vt 0.108182 0.269072 -vt 0.099091 0.269072 -vt 0.099091 0.308676 -vt 0.108182 0.318577 -vt 0.099091 0.318577 -vt 0.099091 0.249270 -vt 0.108182 0.259171 -vt 0.108182 0.298775 -vt 0.108182 0.308676 -vt 0.099091 0.288874 -vt 0.108182 0.278973 -vt 0.108182 0.288874 -vt 0.099091 0.278973 -vt 0.108182 0.239369 -vt 0.108182 0.249270 -vt 0.171818 0.288874 -vt 0.117273 0.239369 -vt 0.126364 0.239369 -vt 0.008182 0.269072 -vt 0.099091 0.298775 -vt 0.126364 0.318577 -vt 0.099091 0.239369 -vt 0.202970 0.290818 -vt 0.221152 0.300719 -vt 0.202970 0.300719 -vt 0.202970 0.310620 -vt 0.221152 0.320521 -vt 0.202970 0.320521 -vt 0.202970 0.261115 -vt 0.221152 0.251214 -vt 0.221152 0.261115 -vt 0.202970 0.271016 -vt 0.221152 0.280917 -vt 0.202970 0.280917 -vt 0.221152 0.310620 -vt 0.221152 0.330422 -vt 0.202970 0.330422 -vt 0.221152 0.271016 -vt 0.221152 0.290818 -vt 0.239334 0.280917 -vt 0.239334 0.290818 -vt 0.239334 0.300719 -vt 0.239334 0.310620 -vt 0.239334 0.271016 -vt 0.239334 0.261115 -vt 0.239334 0.320521 -vt 0.239334 0.251214 -vt 0.117273 0.308676 -vt 0.108182 0.318577 -vt 0.108182 0.308676 -vt 0.117273 0.239369 -vt 0.108182 0.249270 -vt 0.108182 0.239369 -vt 0.117273 0.298775 -vt 0.108182 0.298775 -vt 0.117273 0.288874 -vt 0.108182 0.288874 -vt 0.117273 0.278973 -vt 0.108182 0.278973 -vt 0.117273 0.269072 -vt 0.108182 0.269072 -vt 0.117273 0.259171 -vt 0.108182 0.259171 -vt 0.117273 0.249270 -vt 0.126364 0.269072 -vt 0.135455 0.259171 -vt 0.135455 0.269072 -vt 0.126364 0.288874 -vt 0.135455 0.298775 -vt 0.126364 0.298775 -vt 0.126364 0.308676 -vt 0.135455 0.318577 -vt 0.126364 0.318577 -vt 0.126364 0.259171 -vt 0.135455 0.249270 -vt 0.135455 0.278973 -vt 0.126364 0.278973 -vt 0.135455 0.288874 -vt 0.135455 0.308676 -vt 0.126364 0.249270 -vt 0.135455 0.239369 -vt 0.099091 0.269072 -vt 0.044545 0.278973 -vt 0.044545 0.269072 -vt 0.099091 0.259171 -vt 0.044545 0.259171 -vt 0.099091 0.249270 -vt 0.044545 0.249270 -vt 0.099091 0.239369 -vt 0.044545 0.239369 -vt 0.099091 0.308676 -vt 0.044545 0.318577 -vt 0.044545 0.308676 -vt 0.099091 0.298775 -vt 0.044545 0.298775 -vt 0.099091 0.288874 -vt 0.044545 0.288874 -vt 0.099091 0.278973 -vt 0.202970 0.251214 -vt 0.117273 0.318577 -vt 0.126364 0.239369 -vt 0.099091 0.318577 -vn 0.7131 0.0000 -0.7010 -vn 0.0000 0.0000 -1.0000 -vn 0.5042 0.5042 -0.7010 -vn -0.7131 -0.0000 -0.7010 -vn -0.5042 -0.5042 -0.7010 -vn 0.0000 -0.7131 -0.7010 -vn 0.5042 -0.5042 -0.7010 -vn 0.0000 0.7131 -0.7010 -vn -0.5042 0.5042 -0.7010 -vn -0.0000 -0.0000 1.0000 -vn -0.0000 0.9968 -0.0800 -vn -0.6869 0.6869 -0.2374 -vn -0.7048 0.7048 -0.0800 -vn -0.9968 -0.0000 -0.0800 -vn -0.6869 -0.6869 -0.2374 -vn -0.7048 -0.7048 -0.0800 -vn 0.7048 -0.7048 -0.0800 -vn -0.0000 -0.9714 -0.2374 -vn 0.6869 -0.6869 -0.2374 -vn 0.9968 0.0000 -0.0800 -vn 0.6869 0.6869 -0.2374 -vn 0.7048 0.7048 -0.0800 -vn -0.9714 -0.0000 -0.2374 -vn -0.0000 -0.9968 -0.0800 -vn 0.9714 -0.0000 -0.2374 -vn -0.0000 0.9714 -0.2374 -vn 0.7071 -0.7071 0.0000 -vn -0.0000 -1.0000 0.0000 -vn -0.7071 -0.7071 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.7071 0.7071 0.0000 -vn -0.0000 1.0000 0.0000 -vn -0.7071 0.7071 0.0000 -vn -1.0000 -0.0000 0.0000 -vn 0.6940 0.6940 -0.1914 -vn 0.6940 -0.6940 -0.1914 -vn -0.0000 -0.9815 -0.1914 -vn -0.6940 -0.6940 -0.1914 -vn -0.6940 0.6940 -0.1914 -vn 0.9815 0.0000 -0.1914 -vn -0.0000 0.9815 -0.1914 -vn -0.9815 0.0000 -0.1914 -s 1 -f 99/125/27 100/126/28 101/127/29 -f 102/128/30 100/129/28 103/130/31 -f 104/131/32 100/132/28 105/133/33 -f 100/134/28 106/135/34 101/127/29 -f 105/133/33 100/136/28 99/125/27 -f 107/137/35 100/138/28 102/128/30 -f 103/130/31 100/139/28 104/140/32 -f 108/141/36 109/142/36 110/143/36 -f 111/144/36 108/145/36 112/146/36 -f 108/147/36 110/143/36 113/148/36 -f 114/149/36 108/150/36 111/144/36 -f 115/151/36 108/152/36 116/153/36 -f 112/146/36 108/154/36 113/148/36 -f 116/153/36 108/155/36 114/156/36 -f 117/157/28 118/158/28 119/159/28 -f 120/160/28 121/161/28 122/162/28 -f 123/163/28 124/164/28 125/165/28 -f 126/166/28 119/159/28 127/167/28 -f 128/168/28 129/169/28 118/158/28 -f 122/162/28 129/169/28 130/170/28 -f 123/163/28 131/171/28 120/160/28 -f 132/172/36 133/173/36 134/174/36 -f 135/175/36 136/176/36 137/177/36 -f 138/178/36 139/179/36 132/172/36 -f 135/175/36 140/180/36 141/181/36 -f 142/182/36 143/183/36 144/184/36 -f 134/174/36 143/183/36 145/185/36 -f 138/178/36 136/186/36 146/187/36 -f 109/142/36 108/188/36 115/151/36 -f 126/166/28 124/189/28 147/190/28 -f 106/135/34 100/191/28 107/137/35 -f 148/192/36 144/184/36 140/180/36 -f 117/157/28 128/168/28 118/158/28 -f 120/160/28 131/171/28 121/161/28 -f 123/163/28 147/193/28 124/164/28 -f 126/166/28 117/157/28 119/159/28 -f 128/168/28 130/170/28 129/169/28 -f 122/162/28 121/161/28 129/169/28 -f 123/163/28 125/165/28 131/171/28 -f 132/172/36 139/179/36 133/173/36 -f 135/175/36 141/181/36 136/176/36 -f 138/178/36 146/187/36 139/179/36 -f 135/175/36 148/192/36 140/180/36 -f 142/182/36 145/185/36 143/183/36 -f 134/174/36 133/173/36 143/183/36 -f 138/178/36 137/194/36 136/186/36 -f 126/166/28 127/167/28 124/189/28 -f 148/192/36 142/182/36 144/184/36 -f 149/195/37 150/196/38 151/197/39 -f 152/198/40 153/199/41 154/200/42 -f 155/201/43 156/202/44 157/203/45 -f 158/204/46 159/205/47 160/206/48 -f 151/197/39 161/207/49 152/198/40 -f 154/200/42 156/208/44 162/209/50 -f 158/204/46 157/203/45 163/210/51 -f 160/206/48 164/211/52 149/195/37 -f 164/211/52 159/205/47 165/212/28 -f 164/211/52 165/213/28 150/196/38 -f 150/196/38 165/214/28 161/207/49 -f 161/207/49 165/215/28 153/199/41 -f 163/210/51 165/216/28 159/205/47 -f 157/203/45 165/217/28 163/210/51 -f 153/199/41 165/218/28 156/208/44 -f 156/202/44 165/219/28 157/203/45 -f 166/220/53 167/221/54 168/222/53 -f 169/223/54 170/224/55 167/225/54 -f 171/226/56 168/222/53 172/227/56 -f 173/228/57 172/227/56 174/229/57 -f 175/230/58 174/229/57 176/231/58 -f 177/232/59 176/231/58 178/233/59 -f 179/234/60 178/233/59 180/235/60 -f 181/236/55 180/235/60 170/224/55 -f 182/237/59 183/238/60 184/239/59 -f 185/240/57 186/241/56 187/242/56 -f 188/243/53 189/244/54 190/245/54 -f 191/246/60 192/247/55 183/238/60 -f 182/237/59 193/248/58 194/249/58 -f 194/249/58 195/250/57 185/240/57 -f 187/242/56 196/251/53 188/243/53 -f 197/252/55 189/253/54 192/247/55 -f 198/254/59 199/255/58 200/256/59 -f 201/257/60 200/256/59 202/258/60 -f 203/259/55 202/258/60 204/260/55 -f 205/261/54 204/260/55 206/262/54 -f 207/263/53 206/264/54 208/265/53 -f 209/266/56 208/265/53 210/267/56 -f 211/268/57 210/267/56 212/269/57 -f 213/270/58 212/269/57 199/255/58 -f 149/195/37 164/211/52 150/196/38 -f 152/198/40 161/207/49 153/199/41 -f 155/201/43 162/271/50 156/202/44 -f 158/204/46 163/210/51 159/205/47 -f 151/197/39 150/196/38 161/207/49 -f 154/200/42 153/199/41 156/208/44 -f 158/204/46 155/201/43 157/203/45 -f 160/206/48 159/205/47 164/211/52 -f 166/220/53 169/272/54 167/221/54 -f 169/223/54 181/236/55 170/224/55 -f 171/226/56 166/220/53 168/222/53 -f 173/228/57 171/226/56 172/227/56 -f 175/230/58 173/228/57 174/229/57 -f 177/232/59 175/230/58 176/231/58 -f 179/234/60 177/232/59 178/233/59 -f 181/236/55 179/234/60 180/235/60 -f 182/237/59 191/246/60 183/238/60 -f 185/240/57 195/250/57 186/241/56 -f 188/243/53 196/251/53 189/244/54 -f 191/246/60 197/252/55 192/247/55 -f 182/237/59 184/239/59 193/248/58 -f 194/249/58 193/248/58 195/250/57 -f 187/242/56 186/241/56 196/251/53 -f 197/252/55 190/273/54 189/253/54 -f 198/254/59 213/270/58 199/255/58 -f 201/257/60 198/254/59 200/256/59 -f 203/259/55 201/257/60 202/258/60 -f 205/261/54 203/259/55 204/260/55 -f 207/263/53 205/274/54 206/264/54 -f 209/266/56 207/263/53 208/265/53 -f 211/268/57 209/266/56 210/267/56 -f 213/270/58 211/268/57 212/269/57 -f 212/269/61 99/125/27 101/127/29 -f 106/135/34 212/269/61 101/127/29 -f 99/125/27 208/265/62 105/133/33 -f 105/133/33 206/264/63 104/131/32 -f 206/264/63 103/130/31 104/131/32 -f 204/260/64 102/128/30 103/130/31 -f 200/256/65 106/135/34 107/137/35 -f 102/128/30 200/256/65 107/137/35 -f 212/269/61 210/267/66 99/125/27 -f 106/135/34 199/255/67 212/269/61 -f 99/125/27 210/267/66 208/265/62 -f 105/133/33 208/265/62 206/264/63 -f 206/264/63 204/260/64 103/130/31 -f 204/260/64 202/258/68 102/128/30 -f 200/256/65 199/255/67 106/135/34 -f 102/128/30 202/258/68 200/256/65 -o Slide_Cube.020_Cube.007 -v 0.826798 1.415426 -2.692901 -v 0.826798 1.201111 -2.692901 -v 0.826798 1.201111 -2.743575 -v 0.235453 1.702970 0.471532 -v 0.235453 0.995316 -3.341794 -v 0.235453 0.995316 0.471532 -v 0.235453 1.702970 -3.341794 -v 0.418193 0.995316 -3.341794 -v 0.418193 1.702970 0.471532 -v 0.418193 0.995316 0.471532 -v 0.418193 1.702970 -3.341794 -v 0.826798 1.311111 -2.907216 -v 0.418193 1.409023 -2.907216 -v 0.826798 1.315426 -2.907216 -v 0.418193 1.201111 -2.692901 -v 0.418193 1.201111 -2.855891 -v 0.826798 1.415426 -2.743575 -v 0.418193 1.415426 -2.692901 -v 0.418193 1.415426 -2.855891 -v 0.418193 1.208155 -2.907216 -vt 0.473137 0.961099 -vt 0.473137 0.973001 -vt 0.463658 0.973001 -vt 0.145573 0.126157 -vt 0.173968 0.154552 -vt 0.145573 0.154552 -vt 0.173968 0.126157 -vt 0.202362 0.154552 -vt 0.230757 0.126157 -vt 0.259151 0.154552 -vt 0.230757 0.154552 -vt 0.230757 0.182946 -vt 0.202362 0.182946 -vt 0.202362 0.097763 -vt 0.202362 0.126157 -vt 0.461235 0.839668 -vt 0.450095 0.827766 -vt 0.461235 0.827766 -vt 0.484276 0.973001 -vt 0.463658 0.839668 -vt 0.473137 0.850808 -vt 0.463658 0.850808 -vt 0.463658 0.961099 -vt 0.473137 0.949959 -vt 0.461235 0.961099 -vt 0.463658 0.949959 -vt 0.461235 0.850808 -vt 0.205598 0.137952 -vt 0.205598 0.146012 -vt 0.207194 0.146294 -vt 0.207194 0.137695 -vt 0.461235 0.973001 -vt 0.463658 0.827766 -vt 0.259151 0.126157 -vt 0.230757 0.097763 -vt 0.450095 0.973001 -vt 0.450095 0.961099 -vt 0.484276 0.961099 -vt 0.473137 0.839668 -vt 0.461235 0.949959 -vt 0.463658 0.984141 -vt 0.205980 0.137695 -vt 0.205981 0.146294 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 -0.0000 1.0000 -vn 0.0000 -1.0000 -0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.1496 0.8608 -0.4865 -vn 0.2056 0.9535 -0.2205 -vn 0.1419 0.8447 -0.5162 -vn 0.1605 -0.8388 -0.5202 -vn 0.2240 -0.9444 -0.2408 -vn 0.2422 -0.9612 -0.1319 -vn 0.2216 0.9676 -0.1207 -vn 0.1516 -0.8203 -0.5514 -s 1 -f 214/275/69 215/276/69 216/277/69 -f 217/278/70 218/279/70 219/280/70 -f 220/281/71 221/282/71 218/279/71 -f 222/283/72 219/284/72 223/285/72 -f 221/282/73 219/286/73 218/287/73 -f 220/288/74 222/283/74 224/289/74 -f 225/290/71 226/291/71 227/292/71 -f 214/275/72 228/293/72 215/276/72 -f 216/294/73 228/295/73 229/296/73 -f 230/297/74 231/298/74 214/275/74 -f 227/299/75 232/300/76 230/297/77 -f 225/290/78 229/296/79 233/301/80 -f 226/302/69 233/303/69 221/282/69 -f 223/285/69 228/304/69 231/305/69 -f 216/277/69 225/306/69 230/297/69 -f 225/290/69 227/292/69 230/307/69 -f 230/297/69 214/275/69 216/277/69 -f 217/278/70 220/281/70 218/279/70 -f 220/281/71 224/289/71 221/282/71 -f 222/283/72 217/308/72 219/284/72 -f 221/282/73 223/285/73 219/286/73 -f 220/288/74 217/309/74 222/283/74 -f 225/306/71 233/310/71 226/311/71 -f 214/275/72 231/312/72 228/293/72 -f 216/294/73 215/313/73 228/295/73 -f 230/297/74 232/300/74 231/298/74 -f 227/299/75 226/314/81 232/300/76 -f 225/306/78 216/277/82 229/315/79 -f 224/289/69 232/316/69 226/302/69 -f 233/303/69 229/317/69 221/282/69 -f 224/289/69 226/302/69 221/282/69 -f 231/305/69 232/316/69 224/289/69 -f 224/289/69 222/283/69 231/305/69 -f 222/283/69 223/285/69 231/305/69 -f 223/285/69 221/282/69 228/304/69 -f 221/282/69 229/317/69 228/304/69 -o Full_Cylinder.007 -v -0.359024 1.977020 -2.301931 -v 0.359024 1.977020 -2.301931 -v -0.359024 1.977020 -2.695931 -v 0.000000 1.081492 -18.066620 -v 0.000000 1.081488 -7.026187 -v 0.103525 1.102084 -18.066620 -v 0.103525 1.102082 -7.026187 -v 0.191290 1.160724 -7.026187 -v 0.191290 1.160727 -18.066620 -v 0.249932 1.248489 -7.026187 -v 0.249932 1.248491 -18.066620 -v 0.270524 1.352013 -7.026187 -v 0.270524 1.352016 -18.066620 -v 0.249932 1.455539 -7.026187 -v 0.249932 1.455542 -18.066620 -v 0.191290 1.543303 -7.026187 -v 0.191290 1.543306 -18.066620 -v 0.103525 1.601946 -7.026187 -v 0.103525 1.601948 -18.066620 -v 0.000000 1.622537 -7.026187 -v -0.103525 1.601948 -18.066620 -v -0.103525 1.601946 -7.026187 -v -0.191290 1.543302 -7.026187 -v -0.191290 1.543306 -18.066620 -v -0.249932 1.455539 -7.026187 -v -0.249932 1.455541 -18.066620 -v -0.270524 1.352013 -7.026187 -v -0.270524 1.352016 -18.066620 -v -0.249932 1.248487 -7.026187 -v -0.249932 1.248491 -18.066620 -v -0.191289 1.160724 -7.026187 -v -0.191289 1.160726 -18.066620 -v -0.103525 1.102082 -7.026187 -v -0.078483 1.541480 -9.779011 -v -0.078479 1.541482 -18.066620 -v -0.103525 1.102084 -18.066620 -v 0.000000 1.146940 -18.066620 -v 0.078479 1.162550 -18.066620 -v 0.145011 1.207005 -18.066620 -v 0.189466 1.273537 -18.066620 -v 0.205076 1.352016 -18.066620 -v 0.189466 1.430496 -18.066620 -v 0.145011 1.497027 -18.066620 -v 0.078479 1.541482 -18.066620 -v 0.000000 1.557093 -18.066620 -v 0.000000 1.622541 -18.066620 -v -0.145011 1.497027 -18.066620 -v -0.189466 1.430496 -18.066620 -v -0.205076 1.352016 -18.066620 -v -0.189466 1.273537 -18.066620 -v -0.145011 1.207005 -18.066620 -v -0.078479 1.162550 -18.066620 -v -0.189470 1.273534 -9.779011 -v 0.189462 1.430493 -9.779011 -v 0.145007 1.207003 -9.779011 -v -0.000004 1.146938 -9.779011 -v 0.189462 1.273534 -9.779011 -v -0.145015 1.497025 -9.779011 -v 0.205073 1.352014 -9.779011 -v -0.189470 1.430493 -9.779011 -v -0.205080 1.352013 -9.779011 -v 0.145007 1.497025 -9.779011 -v 0.078476 1.541480 -9.779011 -v -0.145014 1.207003 -9.779011 -v 0.078476 1.162548 -9.779011 -v -0.000004 1.557090 -9.779011 -v -0.078483 1.162548 -9.779011 -v 0.000000 1.050107 -19.557774 -v 0.000000 1.050107 -17.960279 -v 0.115536 1.073089 -17.960279 -v 0.115536 1.073088 -19.557774 -v 0.213482 1.138534 -17.960279 -v 0.213482 1.138534 -19.557774 -v 0.278928 1.236481 -17.960279 -v 0.278928 1.236481 -19.557774 -v 0.301909 1.352016 -17.960279 -v 0.301909 1.352016 -19.557774 -v 0.278928 1.467552 -17.960279 -v 0.278928 1.467552 -19.557774 -v 0.213482 1.565499 -17.960279 -v 0.213482 1.565498 -19.557774 -v 0.115536 1.630944 -17.960279 -v 0.115536 1.630944 -19.557774 -v 0.000000 1.653926 -17.960279 -v 0.000000 1.653926 -19.557774 -v -0.115536 1.630944 -17.960279 -v -0.115536 1.630944 -19.557774 -v -0.213482 1.565498 -17.960279 -v -0.213482 1.565498 -19.557774 -v -0.278928 1.467552 -17.960279 -v -0.278928 1.467552 -19.557774 -v -0.301909 1.352016 -17.960279 -v -0.301909 1.352016 -19.557774 -v -0.278928 1.236480 -17.960279 -v -0.278928 1.236480 -19.557774 -v -0.213482 1.138534 -17.960279 -v -0.213482 1.138534 -19.557774 -v -0.115535 1.073088 -17.960279 -v -0.087584 1.563463 -19.557774 -v -0.087588 1.563463 -18.358599 -v -0.115535 1.073088 -19.557774 -v 0.000000 1.123148 -19.557774 -v 0.087584 1.140569 -19.557774 -v 0.161834 1.190182 -19.557774 -v 0.211447 1.264432 -19.557774 -v 0.228868 1.352016 -19.557774 -v 0.211447 1.439600 -19.557774 -v 0.161834 1.513851 -19.557774 -v 0.087584 1.563463 -19.557774 -v 0.000000 1.580885 -19.557774 -v -0.161835 1.513851 -19.557774 -v -0.211447 1.439600 -19.557774 -v -0.228868 1.352016 -19.557774 -v -0.211447 1.264432 -19.557774 -v -0.161834 1.190182 -19.557774 -v -0.087584 1.140569 -19.557774 -v -0.000004 1.123148 -18.358599 -v 0.211443 1.264432 -18.358599 -v -0.161839 1.513851 -18.358599 -v 0.228864 1.352016 -18.358599 -v -0.211451 1.439600 -18.358599 -v 0.211443 1.439601 -18.358599 -v -0.228873 1.352016 -18.358599 -v 0.161830 1.513851 -18.358599 -v -0.211451 1.264432 -18.358599 -v 0.087580 1.563463 -18.358599 -v -0.161838 1.190182 -18.358599 -v 0.087580 1.140569 -18.358599 -v -0.000004 1.580885 -18.358599 -v -0.087588 1.140569 -18.358599 -v 0.161830 1.190182 -18.358599 -v 0.087431 1.140938 -17.960279 -v 0.161552 1.190464 -17.960279 -v 0.211078 1.264585 -17.960279 -v 0.228469 1.352016 -17.960279 -v 0.211078 1.439448 -17.960279 -v 0.161552 1.513569 -17.960279 -v 0.087431 1.563095 -17.960279 -v 0.000000 1.580486 -17.960279 -v -0.087432 1.563094 -17.960279 -v -0.161552 1.513568 -17.960279 -v -0.211078 1.439448 -17.960279 -v -0.228469 1.352016 -17.960279 -v -0.211078 1.264585 -17.960279 -v -0.161552 1.190464 -17.960279 -v -0.087431 1.140938 -17.960279 -v 0.000000 1.123547 -17.960279 -v -0.071965 1.612123 -18.092163 -v -0.071965 1.936987 -18.749422 -v -0.071965 1.612123 -19.507059 -v 0.071965 1.612123 -19.507059 -v 0.071965 1.936987 -18.749422 -v 0.071965 1.612123 -18.092163 -v 0.071965 1.936987 -18.092163 -v -0.071965 1.936987 -18.092163 -v -0.470023 0.788254 -4.189305 -v -0.304479 1.858532 -4.714509 -v -0.256418 0.820295 -4.714509 -v 0.256418 0.820295 -4.714509 -v 0.470023 1.895913 0.803961 -v 0.328735 0.810155 1.392520 -v 0.470023 0.788254 0.803961 -v 0.328735 1.895913 1.392520 -v -0.328735 0.810155 1.392520 -v -0.470023 0.788254 0.803961 -v -0.470023 1.895913 0.803961 -v 0.470023 1.895913 -4.189304 -v 0.304479 1.858532 -4.714509 -v 0.470023 0.788254 -4.189305 -v -0.240465 1.895913 -0.893872 -v -0.470023 1.895913 -3.649134 -v 0.240465 1.895913 -3.297648 -v 0.240465 2.045789 -0.893872 -v 0.240465 1.895913 -0.893872 -v -0.470023 1.895913 -4.189304 -v -0.240465 2.045789 -3.297648 -v 0.240465 2.045789 -3.297648 -v -0.240465 1.895913 -3.297648 -v -0.240465 2.045789 -0.893872 -v 0.470023 1.013997 -4.066783 -v 0.470023 1.670170 -4.066782 -v 0.470023 1.670170 0.681439 -v 0.470023 1.013997 0.681439 -v 0.470023 1.895913 -3.649134 -v 0.470023 1.670170 -3.623867 -v 0.151885 1.670170 -3.623867 -v 0.151885 1.670170 0.681439 -v 0.151885 1.013997 0.681439 -v 0.269888 1.670170 -3.623867 -v 0.269888 1.670170 -4.066782 -v 0.269888 1.013997 -4.066783 -v 0.469888 1.013997 -4.066783 -v 0.469888 1.670170 -4.066782 -v 0.469888 1.670170 -3.623867 -v 0.469888 1.670170 -3.116115 -v 0.269888 1.013997 -3.116114 -v 0.469888 1.013997 -3.116114 -v 0.151885 1.670170 -4.066782 -v 0.151885 1.013997 -4.066783 -v 0.269888 1.013997 -0.245055 -v 0.269888 1.670170 0.681439 -v 0.269888 1.670170 -0.245055 -v 0.469888 1.670170 -0.245055 -v 0.469888 1.013997 -0.245055 -v 0.469888 1.670170 0.681439 -v 0.469888 1.013997 0.681439 -v 0.269888 1.013997 0.681439 -v 0.269888 1.670170 -3.116115 -v -0.328735 1.895913 1.392520 -v 0.328735 -0.435080 4.317563 -v -0.330240 -0.435080 7.303342 -v -0.330240 -0.435080 4.317563 -v -0.330240 1.896104 1.376784 -v 0.328735 0.810346 1.376784 -v -0.330240 0.810346 1.376784 -v -0.330240 0.810346 2.823271 -v -0.330240 0.462791 4.959949 -v -0.330240 1.686316 3.491936 -v 0.328735 0.810346 2.823271 -v -0.330239 1.896104 3.491936 -v 0.328735 1.896104 1.376784 -v 0.328735 1.896104 3.491936 -v 0.328735 1.897021 7.303342 -v -0.330240 0.462791 7.303342 -v 0.328735 0.462791 7.303342 -v -0.330240 0.462791 5.962920 -v 0.328735 0.462791 5.962920 -v 0.328735 -0.435080 7.303342 -v -0.330239 1.135957 4.152269 -v -0.330240 1.897021 5.962920 -v 0.328735 1.135957 4.152269 -v 0.328735 0.462791 4.959949 -v -0.330240 1.897021 7.303342 -v 0.328735 1.135957 5.962920 -v -0.279699 1.135957 4.868132 -v -0.279699 1.008886 5.006138 -v -0.279699 1.135957 5.005936 -v 0.278195 1.135957 5.005936 -v 0.278195 1.008886 5.006138 -v 0.278195 1.135957 4.868132 -v 0.278195 1.135957 4.675610 -v -0.279699 1.057093 4.497952 -v 0.278195 1.057093 4.497952 -v -0.279699 1.135957 4.152269 -v -0.279699 0.895944 4.440242 -v 0.278195 1.135957 4.152269 -v -0.279699 0.462791 4.959949 -v -0.279699 0.580575 5.006818 -v -0.279699 0.526067 4.884029 -v 0.278195 0.462791 4.959949 -v 0.278195 0.580575 5.006818 -v 0.278195 0.462791 5.007006 -v 0.278195 0.526067 4.884029 -v -0.279699 0.462791 5.804108 -v 0.278195 0.462791 5.669011 -v -0.279699 0.462791 5.669011 -v -0.279699 0.462791 5.962920 -v -0.279699 0.533290 5.962920 -v 0.278195 0.462791 5.804108 -v 0.278195 0.533290 5.962920 -v 0.278195 0.462791 5.962920 -v -0.279699 1.135958 5.445486 -v -0.279699 1.018964 5.445672 -v -0.279699 1.135957 5.709222 -v 0.278195 1.135957 5.709222 -v 0.278195 1.105408 5.445535 -v 0.278195 1.135957 5.445486 -v 0.278195 1.018964 5.445672 -v -0.279699 1.135957 5.793888 -v -0.279699 1.037357 5.962920 -v -0.279699 1.135957 5.962920 -v 0.278195 1.135957 5.962920 -v 0.278195 1.037357 5.962920 -v 0.278195 1.135957 5.793888 -v -0.256356 1.896161 3.729085 -v -0.279699 0.462791 5.446556 -v -0.279699 0.592676 5.446349 -v 0.278195 0.462791 5.446556 -v 0.278195 0.592676 5.446349 -v 0.328735 1.897021 5.962920 -v 0.254851 1.896161 3.729085 -v 0.254851 1.952893 7.066163 -v 0.254851 1.896964 7.066193 -v -0.256356 1.896964 7.066193 -v -0.256356 1.952893 7.066163 -v -0.256356 1.952090 3.729055 -v 0.254851 1.952090 3.729055 -v 0.328735 1.686316 3.491936 -v -0.330239 1.135957 5.962920 -v -0.279699 1.135957 4.675610 -v 0.278195 0.895944 4.440242 -v -0.279699 0.462791 5.007006 -v 0.281248 1.100154 -10.672815 -v 0.281248 1.600154 -10.672815 -v -0.281252 1.600154 -10.672815 -v -0.281252 1.100154 -10.672815 -v 0.281248 1.600155 -4.172815 -v -0.281252 1.600154 -4.172815 -v -0.281252 1.100154 -4.172815 -v 0.281248 1.100153 -4.172815 -v -0.137783 1.012145 -1.398489 -v 0.137783 1.008460 -1.513831 -v -0.137783 1.008460 -1.513831 -v -0.137783 0.666418 -1.502903 -v 0.137783 0.666418 -1.502903 -v -0.137783 0.343245 -1.390333 -v 0.137783 0.257701 -0.771109 -v -0.137783 0.142300 -0.771109 -v 0.137783 0.142300 -0.771109 -v -0.137783 0.257700 -0.428892 -v -0.137783 0.142300 -0.428892 -v 0.137783 0.257700 -0.428892 -v 0.137783 0.142300 -0.428892 -v -0.137783 0.257701 -0.771109 -v -0.137783 0.257701 -1.075877 -v -0.137783 0.142300 -1.113325 -v 0.137783 0.142300 -1.113325 -v 0.137783 0.257701 -1.075877 -v 0.137783 0.415397 -1.293265 -v -0.137783 0.415397 -1.293265 -v 0.137783 0.343245 -1.390333 -v 0.137783 1.012145 -1.398489 -v 0.137783 0.687727 -1.388125 -v -0.137783 0.687727 -1.388125 -v 0.078547 0.403827 -0.803455 -v -0.078547 0.304121 -0.891164 -v 0.078547 0.304121 -0.891164 -v 0.078547 0.407880 -1.009116 -v -0.078547 0.407880 -1.009116 -v -0.078547 0.797910 -0.907564 -v 0.078547 0.797910 -0.750469 -v 0.078547 0.797910 -0.907564 -v -0.078547 0.403827 -0.803455 -v 0.078547 0.597306 -0.750469 -v -0.078547 0.797910 -0.750469 -v -0.078547 0.618428 -0.907564 -v -0.078547 0.597306 -0.750469 -v -0.078547 0.480331 -0.945383 -v 0.078547 0.480331 -0.945383 -v 0.078547 0.618428 -0.907564 -v -0.057163 1.942269 4.281482 -v -0.039374 1.942269 4.267288 -v 0.057163 1.942269 4.281482 -v -0.057163 1.942269 6.340981 -v -0.039374 1.942269 6.326786 -v 0.057163 1.942269 6.340981 -v 0.000000 1.942269 6.315094 -v 0.020073 1.942269 6.318045 -v 0.039375 1.942269 6.326786 -v 0.072755 1.942269 6.360083 -v 0.085550 1.942269 6.383360 -v 0.095058 1.942269 6.409916 -v 0.100914 1.942269 6.438731 -v 0.102891 1.942269 6.468698 -v 0.100914 1.942269 6.498664 -v 0.095058 1.942269 6.527480 -v 0.085550 1.942269 6.554036 -v 0.072755 1.942269 6.577312 -v 0.057163 1.942269 6.596415 -v 0.039375 1.942269 6.610610 -v 0.020073 1.942269 6.619350 -v 0.000000 1.942269 6.622302 -v -0.020073 1.942269 6.619350 -v -0.039375 1.942269 6.610610 -v -0.057163 1.942269 6.596415 -v -0.072755 1.942269 6.577312 -v -0.085550 1.942269 6.554036 -v -0.095059 1.942269 6.527480 -v -0.100914 1.942269 6.498664 -v -0.102891 1.942269 6.468698 -v -0.100914 1.942269 6.438731 -v -0.095058 1.942269 6.409916 -v -0.085550 1.942269 6.383360 -v -0.072755 1.942269 6.360083 -v -0.020073 1.942269 6.318045 -v 0.000000 1.942269 4.255595 -v 0.020073 1.942269 4.258547 -v 0.039375 1.942269 4.267288 -v 0.072755 1.942269 4.300585 -v 0.085550 1.942269 4.323862 -v 0.095058 1.942269 4.350418 -v 0.100914 1.942269 4.379233 -v 0.102891 1.942269 4.409200 -v 0.100914 1.942269 4.439166 -v 0.095058 1.942269 4.467981 -v 0.085550 1.942269 4.494537 -v 0.072755 1.942269 4.517815 -v 0.057163 1.942269 4.536917 -v 0.039375 1.942269 4.551111 -v 0.020073 1.942269 4.559853 -v 0.000000 1.942269 4.562804 -v -0.020073 1.942269 4.559853 -v -0.039375 1.942269 4.551111 -v -0.057163 1.942269 4.536917 -v -0.072755 1.942269 4.517814 -v -0.085550 1.942269 4.494537 -v -0.095059 1.942269 4.467981 -v -0.100914 1.942269 4.439166 -v -0.102891 1.942269 4.409200 -v -0.100914 1.942269 4.379233 -v -0.095058 1.942269 4.350418 -v -0.085550 1.942269 4.323862 -v -0.072755 1.942269 4.300585 -v -0.020073 1.942269 4.258547 -v 0.239540 2.045793 -2.093991 -v 0.312414 2.046131 -2.093985 -v 0.239538 2.128754 -2.093985 -v 0.239538 2.128754 -2.193996 -v 0.312414 2.046131 -2.193996 -v 0.239540 2.045793 -2.193991 -v -0.239539 2.045793 -2.093991 -v -0.239539 2.045793 -2.193991 -v -0.239539 2.128756 -2.193991 -v 0.239538 2.128754 -2.093991 -v 0.239538 2.128754 -2.193991 -v -0.312230 2.046190 -2.094086 -v -0.239539 2.045886 -2.193895 -v -0.312230 2.046190 -2.193895 -v -0.239539 2.128756 -2.093991 -v 0.239540 2.045793 -0.893991 -v 0.312414 2.046131 -0.893985 -v 0.239538 2.128754 -0.893985 -v 0.239538 2.128755 -0.993996 -v 0.312414 2.046131 -0.993996 -v 0.239540 2.045793 -0.993991 -v -0.239539 2.045793 -0.893991 -v -0.239539 2.045793 -0.993991 -v -0.239539 2.128756 -0.993991 -v 0.239538 2.128754 -0.893991 -v 0.239538 2.128754 -0.993991 -v -0.312230 2.046190 -0.894086 -v -0.239539 2.045886 -0.993895 -v -0.312230 2.046190 -0.993895 -v -0.239539 2.128756 -0.893991 -v 0.239540 2.045793 -1.093991 -v 0.312414 2.046131 -1.093985 -v 0.239538 2.128754 -1.093985 -v 0.239538 2.128755 -1.193996 -v 0.312414 2.046131 -1.193996 -v 0.239540 2.045793 -1.193991 -v -0.239539 2.045793 -1.093991 -v -0.239539 2.045793 -1.193991 -v -0.239539 2.128756 -1.193991 -v 0.239538 2.128754 -1.093991 -v 0.239538 2.128754 -1.193991 -v -0.312230 2.046190 -1.094086 -v -0.239539 2.045886 -1.193895 -v -0.312230 2.046190 -1.193895 -v -0.239539 2.128756 -1.093991 -v 0.239540 2.045793 -1.293991 -v 0.312414 2.046131 -1.293985 -v 0.239538 2.128754 -1.293985 -v 0.239538 2.128755 -1.393996 -v 0.312414 2.046131 -1.393996 -v 0.239540 2.045793 -1.393991 -v -0.239539 2.045793 -1.293991 -v -0.239539 2.045793 -1.393991 -v -0.239539 2.128756 -1.393991 -v 0.239538 2.128754 -1.293991 -v 0.239538 2.128754 -1.393991 -v -0.312230 2.046190 -1.294086 -v -0.239539 2.045886 -1.393895 -v -0.312230 2.046190 -1.393895 -v -0.239539 2.128756 -1.293991 -v 0.239540 2.045793 -1.493991 -v 0.312414 2.046131 -1.493985 -v 0.239538 2.128754 -1.493985 -v 0.239538 2.128755 -1.593996 -v 0.312414 2.046131 -1.593996 -v 0.239540 2.045793 -1.593991 -v -0.239539 2.045793 -1.493991 -v -0.239539 2.045793 -1.593991 -v -0.239539 2.128756 -1.593991 -v 0.239538 2.128754 -1.493991 -v 0.239538 2.128754 -1.593991 -v -0.312230 2.046190 -1.494087 -v -0.239539 2.045886 -1.593895 -v -0.312230 2.046190 -1.593895 -v -0.239539 2.128756 -1.493991 -v 0.239540 2.045793 -1.693991 -v 0.312414 2.046131 -1.693985 -v 0.239538 2.128754 -1.693985 -v 0.239538 2.128755 -1.793996 -v 0.312414 2.046131 -1.793996 -v 0.239540 2.045793 -1.793991 -v -0.239539 2.045793 -1.693991 -v -0.239539 2.045793 -1.793991 -v -0.239539 2.128756 -1.793991 -v 0.239538 2.128754 -1.693991 -v 0.239538 2.128754 -1.793991 -v -0.312230 2.046190 -1.694087 -v -0.239539 2.045886 -1.793895 -v -0.312230 2.046190 -1.793895 -v -0.239539 2.128756 -1.693991 -v 0.239540 2.045793 -1.893991 -v 0.312414 2.046131 -1.893985 -v 0.239538 2.128754 -1.893985 -v 0.239538 2.128755 -1.993996 -v 0.312414 2.046131 -1.993996 -v 0.239540 2.045793 -1.993991 -v -0.239539 2.045793 -1.893991 -v -0.239539 2.045793 -1.993991 -v -0.239539 2.128756 -1.993991 -v 0.239538 2.128754 -1.893991 -v 0.239538 2.128754 -1.993991 -v -0.312230 2.046190 -1.894087 -v -0.239539 2.045886 -1.993895 -v -0.312230 2.046190 -1.993895 -v -0.239539 2.128756 -1.893991 -v 0.239540 2.045793 -2.293991 -v 0.312414 2.046131 -2.293985 -v 0.239538 2.128754 -2.293985 -v 0.239538 2.128755 -2.393996 -v 0.312414 2.046131 -2.393996 -v 0.239540 2.045793 -2.393991 -v -0.239539 2.045793 -2.293991 -v -0.239539 2.045793 -2.393991 -v -0.239539 2.128756 -2.393991 -v 0.239538 2.128754 -2.293991 -v 0.239538 2.128754 -2.393991 -v -0.312230 2.046190 -2.294086 -v -0.239539 2.045886 -2.393895 -v -0.312230 2.046190 -2.393895 -v -0.239539 2.128756 -2.293991 -v 0.239540 2.045793 -2.493991 -v 0.312414 2.046131 -2.493985 -v 0.239538 2.128754 -2.493985 -v 0.239538 2.128755 -2.593996 -v 0.312414 2.046131 -2.593996 -v 0.239540 2.045793 -2.593991 -v -0.239539 2.045793 -2.493991 -v -0.239539 2.045793 -2.593991 -v -0.239539 2.128756 -2.593991 -v 0.239538 2.128754 -2.493991 -v 0.239538 2.128754 -2.593991 -v -0.312230 2.046190 -2.494087 -v -0.239539 2.045886 -2.593895 -v -0.312230 2.046190 -2.593895 -v -0.239539 2.128756 -2.493991 -v 0.239540 2.045793 -2.693991 -v 0.312414 2.046131 -2.693985 -v 0.239538 2.128754 -2.693985 -v 0.239538 2.128755 -2.793996 -v 0.312414 2.046131 -2.793996 -v 0.239540 2.045793 -2.793991 -v -0.239539 2.045793 -2.693991 -v -0.239539 2.045793 -2.793991 -v -0.239539 2.128756 -2.793991 -v 0.239538 2.128754 -2.693991 -v 0.239538 2.128754 -2.793991 -v -0.312230 2.046190 -2.694087 -v -0.239539 2.045886 -2.793895 -v -0.312230 2.046190 -2.793895 -v -0.239539 2.128756 -2.693991 -v 0.239540 2.045793 -2.893991 -v 0.312414 2.046131 -2.893985 -v 0.239538 2.128754 -2.893985 -v 0.239538 2.128755 -2.993996 -v 0.312414 2.046131 -2.993996 -v 0.239540 2.045793 -2.993991 -v -0.239539 2.045793 -2.893991 -v -0.239539 2.045793 -2.993991 -v -0.239539 2.128756 -2.993991 -v 0.239538 2.128754 -2.893991 -v 0.239538 2.128754 -2.993991 -v -0.312230 2.046190 -2.894087 -v -0.239539 2.045886 -2.993895 -v -0.312230 2.046190 -2.993895 -v -0.239539 2.128756 -2.893991 -v 0.239540 2.045793 -3.093991 -v 0.312414 2.046131 -3.093985 -v 0.239538 2.128755 -3.093985 -v -0.239539 2.128756 -3.193991 -v 0.239538 2.128755 -3.093991 -v 0.239538 2.128754 -3.193991 -v -0.312230 2.046190 -3.094087 -v -0.239539 2.045887 -3.193895 -v -0.239539 2.045793 -3.093991 -v -0.239539 2.128756 -3.093991 -v -0.312230 2.046190 -3.193895 -v 0.312414 2.046131 -3.193996 -v 0.239538 2.128755 -3.193996 -v 0.239538 2.128755 -3.293996 -v 0.312414 2.046131 -3.293996 -v 0.239540 2.045793 -3.293991 -v -0.239539 2.045793 -3.193991 -v -0.239539 2.045793 -3.293991 -v -0.312230 2.046190 -3.194087 -v -0.239539 2.045886 -3.293895 -v -0.312230 2.046190 -3.293895 -v -0.239539 2.128756 -3.293991 -v 0.239538 2.128754 -3.293991 -v 0.239540 2.045793 -3.193991 -v -0.239584 2.128705 -3.193991 -v -0.239539 2.128654 -3.193991 -v 0.312414 2.046131 -3.193985 -v -0.312411 2.045790 -0.893985 -v -0.240461 1.973840 -3.297648 -v -0.240461 1.973840 -0.893985 -v -0.312411 2.045790 -3.297648 -v -0.240466 2.045790 -3.297648 -v -0.240466 2.045790 -0.893985 -v 0.240464 1.973843 -0.893985 -v 0.312414 2.045793 -3.297648 -v 0.312414 2.045793 -0.893985 -v 0.240464 1.973843 -3.297648 -v 0.240464 2.045788 -3.297648 -v 0.240464 2.045788 -0.893985 -v 0.000000 3.004697 -3.245763 -v -0.114805 2.981861 -3.245763 -v -0.212132 2.916829 -3.245763 -v -0.277163 2.819502 -3.245763 -v -0.299999 2.704697 -3.245763 -v -0.277163 2.589892 -3.245763 -v -0.212132 2.492565 -3.245763 -v -0.114805 2.427533 -3.245763 -v 0.000000 2.404697 -3.245763 -v 0.114805 2.427533 -3.245763 -v 0.212132 2.492565 -3.245763 -v 0.277164 2.589892 -3.245763 -v 0.300000 2.704697 -3.245763 -v 0.277164 2.819502 -3.245763 -v 0.212132 2.916829 -3.245763 -v 0.114805 2.981861 -3.245763 -v 0.000000 3.004697 -0.995763 -v -0.114805 2.981861 -0.995763 -v -0.212132 2.916829 -0.995763 -v -0.277163 2.819502 -0.995763 -v -0.299999 2.704697 -0.995763 -v -0.277163 2.589892 -0.995763 -v -0.212132 2.492565 -0.995763 -v -0.114805 2.427533 -0.995763 -v 0.000000 2.404697 -0.995763 -v 0.114805 2.427533 -0.995763 -v 0.212132 2.492565 -0.995763 -v 0.277164 2.589892 -0.995763 -v 0.300000 2.704697 -0.995763 -v 0.277164 2.819502 -0.995763 -v 0.212132 2.916829 -0.995763 -v 0.114805 2.981861 -0.995763 -v 0.000000 3.254697 -3.790207 -v -0.210475 3.212831 -3.790207 -v -0.388908 3.093606 -3.790207 -v -0.508133 2.915173 -3.790207 -v -0.549999 2.704697 -3.790207 -v -0.508133 2.494221 -3.790207 -v -0.388908 2.315789 -3.790207 -v -0.210475 2.196563 -3.790207 -v 0.000000 2.154697 -3.790207 -v 0.210476 2.196563 -3.790207 -v 0.388909 2.315789 -3.790207 -v 0.508134 2.494221 -3.790207 -v 0.550000 2.704697 -3.790207 -v 0.508134 2.915173 -3.790207 -v 0.388909 3.093606 -3.790207 -v 0.210476 3.212831 -3.790207 -v 0.000000 3.254697 -4.790207 -v -0.210475 3.212831 -4.790207 -v -0.388908 3.093606 -4.790207 -v -0.508133 2.915173 -4.790207 -v -0.549999 2.704697 -4.790207 -v -0.508133 2.494221 -4.790207 -v -0.388908 2.315789 -4.790207 -v -0.210475 2.196563 -4.790207 -v 0.000000 2.154697 -4.790207 -v 0.210476 2.196563 -4.790207 -v 0.388909 2.315789 -4.790207 -v 0.508134 2.494221 -4.790207 -v 0.550000 2.704697 -4.790207 -v 0.508134 2.915173 -4.790207 -v 0.388909 3.093606 -4.790207 -v 0.210476 3.212831 -4.790207 -v 0.000000 3.154697 -4.790207 -v -0.172207 3.120443 -4.790207 -v -0.318197 3.022895 -4.790207 -v -0.415745 2.876904 -4.790207 -v -0.450000 2.704697 -4.790207 -v -0.415745 2.532490 -4.790207 -v -0.318197 2.386499 -4.790207 -v -0.172207 2.288951 -4.790207 -v 0.000000 2.254697 -4.790207 -v 0.172208 2.288951 -4.790207 -v 0.318198 2.386499 -4.790207 -v 0.415746 2.532489 -4.790207 -v 0.450001 2.704697 -4.790207 -v 0.415746 2.876905 -4.790207 -v 0.318198 3.022895 -4.790207 -v 0.172208 3.120443 -4.790207 -v 0.000000 3.154697 -4.290207 -v -0.172207 3.120443 -4.290207 -v -0.318197 3.022895 -4.290207 -v -0.415745 2.876904 -4.290207 -v -0.450000 2.704697 -4.290207 -v -0.415745 2.532490 -4.290207 -v -0.318197 2.386499 -4.290207 -v -0.172207 2.288951 -4.290207 -v 0.000000 2.254697 -4.290207 -v 0.172208 2.288951 -4.290207 -v 0.318198 2.386499 -4.290207 -v 0.415746 2.532489 -4.290207 -v 0.450001 2.704697 -4.290207 -v 0.415746 2.876905 -4.290207 -v 0.318198 3.022895 -4.290207 -v 0.172208 3.120443 -4.290207 -v 0.000854 3.104644 -0.796594 -v -0.152219 3.074195 -0.796594 -v -0.281989 2.987486 -0.796594 -v -0.368698 2.857717 -0.796594 -v -0.399146 2.704643 -0.796594 -v -0.368698 2.551570 -0.796594 -v -0.281989 2.421801 -0.796594 -v -0.152219 2.335092 -0.796594 -v 0.000854 2.304644 -0.796594 -v 0.153927 2.335092 -0.796594 -v 0.283697 2.421801 -0.796594 -v 0.370406 2.551570 -0.796594 -v 0.400854 2.704643 -0.796594 -v 0.370406 2.857717 -0.796594 -v 0.283697 2.987486 -0.796594 -v 0.153927 3.074195 -0.796594 -v 0.000854 3.104644 0.203406 -v -0.152219 3.074195 0.203406 -v -0.281989 2.987486 0.203406 -v -0.368698 2.857717 0.203406 -v -0.399146 2.704643 0.203406 -v -0.368698 2.551570 0.203406 -v -0.281989 2.421801 0.203406 -v -0.152219 2.335092 0.203406 -v 0.000854 2.304644 0.203406 -v 0.153927 2.335092 0.203406 -v 0.283697 2.421801 0.203406 -v 0.370406 2.551570 0.203406 -v 0.400854 2.704643 0.203406 -v 0.370406 2.857717 0.203406 -v 0.283697 2.987486 0.203406 -v 0.153927 3.074195 0.203406 -v 0.000854 3.004643 0.203406 -v -0.113951 2.981807 0.203406 -v -0.211278 2.916775 0.203406 -v -0.276310 2.819448 0.203406 -v -0.299146 2.704643 0.203406 -v -0.276310 2.589838 0.203406 -v -0.211278 2.492511 0.203406 -v -0.113951 2.427479 0.203406 -v 0.000854 2.404643 0.203406 -v 0.115659 2.427479 0.203406 -v 0.212986 2.492511 0.203406 -v 0.278018 2.589838 0.203406 -v 0.300854 2.704643 0.203406 -v 0.278018 2.819448 0.203406 -v 0.212986 2.916775 0.203406 -v 0.115659 2.981807 0.203406 -v 0.000854 3.004643 -0.296594 -v -0.113951 2.981807 -0.296594 -v -0.211278 2.916775 -0.296594 -v -0.276310 2.819448 -0.296594 -v -0.299146 2.704643 -0.296594 -v -0.276310 2.589838 -0.296594 -v -0.211278 2.492511 -0.296594 -v -0.113951 2.427479 -0.296594 -v 0.000854 2.404643 -0.296594 -v 0.115659 2.427479 -0.296594 -v 0.212986 2.492511 -0.296594 -v 0.278018 2.589838 -0.296594 -v 0.300854 2.704643 -0.296594 -v 0.278018 2.819448 -0.296594 -v 0.212986 2.916775 -0.296594 -v 0.115659 2.981807 -0.296594 -v 0.281248 1.912654 -10.172815 -v 0.499998 1.600154 -10.172815 -v 0.499998 1.100154 -10.172815 -v 0.281248 0.787654 -10.172815 -v 0.499998 1.600155 -4.672815 -v 0.281248 1.912655 -4.672815 -v 0.281248 0.787654 -4.672815 -v 0.499998 1.100154 -4.672815 -v -0.500002 1.600154 -10.172815 -v -0.281252 1.912654 -10.172815 -v -0.281252 0.787654 -10.172815 -v -0.500002 1.100154 -10.172815 -v -0.281252 1.912655 -4.672815 -v -0.500002 1.600155 -4.672815 -v -0.500002 1.100154 -4.672815 -v -0.281252 0.787654 -4.672815 -v -0.249191 0.859472 -0.583507 -v 0.249191 0.995710 0.296201 -v 0.249191 0.859472 -0.583507 -v 0.289674 0.916436 0.272619 -v -0.249191 -0.859472 0.583507 -v 0.249191 -0.859472 0.583507 -v 0.249191 -0.748256 -0.334523 -v -0.249191 -0.748256 -0.334523 -v -0.206208 -0.980560 -0.480598 -v -0.249191 -0.995710 -0.296201 -v -0.206208 -0.793376 -0.509586 -v 0.206208 -0.980560 -0.480598 -v 0.206208 -0.793376 -0.509586 -v 0.249191 -0.995710 -0.296201 -v 0.289674 -0.916436 -0.272619 -v 0.289674 0.791045 -0.537051 -v 0.289674 -0.791045 0.537051 -v -0.292662 -0.893335 -0.265747 -v -0.292662 0.771105 -0.523514 -v -0.249191 0.995710 0.296201 -v -0.292662 0.893335 0.265747 -v -0.292662 -0.771105 0.523514 -v -0.324708 1.654417 7.298447 -v -0.124708 1.854417 7.298447 -v 0.124708 1.854417 7.298447 -v 0.324708 1.654417 7.298447 -v -0.124708 1.854417 7.365604 -v -0.324708 1.654417 7.448447 -v -0.041865 1.854417 7.448447 -v -0.124708 1.654417 7.648447 -v 0.041865 1.854417 7.448447 -v 0.124708 1.654417 7.648447 -v 0.124708 1.854417 7.365604 -v 0.324708 1.654417 7.448447 -v -0.124708 -0.383710 7.298447 -v -0.324708 -0.183710 7.298447 -v 0.324708 -0.183710 7.298447 -v 0.124708 -0.383710 7.298447 -v -0.041865 -0.383710 7.448447 -v -0.124708 -0.183710 7.648447 -v -0.324708 -0.183710 7.448447 -v -0.124708 -0.383710 7.365604 -v 0.124708 -0.383710 7.365604 -v 0.324708 -0.183710 7.448447 -v 0.124708 -0.183710 7.648447 -v 0.041865 -0.383710 7.448447 -v 0.359024 1.977020 -2.695930 -v 0.359024 2.707020 -2.301931 -v -0.359024 2.707020 -2.301931 -v -0.359024 2.707020 -2.695931 -v 0.359024 2.707020 -2.695930 -v 0.000000 3.066044 -2.301931 -v 0.000000 3.066044 -2.695931 -v -0.253868 2.960888 -2.301931 -v -0.253868 2.960888 -2.695931 -v 0.253868 2.960888 -2.301931 -v 0.253868 2.960888 -2.695931 -v -0.331695 2.844413 -2.301931 -v -0.331695 2.844413 -2.695931 -v 0.137393 3.038715 -2.301931 -v 0.137393 3.038715 -2.695931 -v -0.137393 3.038715 -2.301931 -v -0.137393 3.038715 -2.695931 -v 0.331695 2.844413 -2.301931 -v 0.331695 2.844413 -2.695931 -v -0.359024 1.977020 -1.401931 -v 0.359024 1.977020 -1.401931 -v -0.359024 1.977020 -1.795931 -v 0.359024 1.977020 -1.795930 -v 0.359024 2.707020 -1.401931 -v -0.359024 2.707020 -1.401931 -v -0.359024 2.707020 -1.795931 -v 0.359024 2.707020 -1.795930 -v 0.000000 3.066044 -1.401931 -v 0.000000 3.066044 -1.795931 -v -0.253868 2.960888 -1.401931 -v -0.253868 2.960888 -1.795931 -v 0.253868 2.960888 -1.401931 -v 0.253868 2.960888 -1.795931 -v -0.331695 2.844413 -1.401931 -v -0.331695 2.844413 -1.795931 -v 0.137393 3.038715 -1.401931 -v 0.137393 3.038715 -1.795931 -v -0.137393 3.038715 -1.401931 -v -0.137393 3.038715 -1.795931 -v 0.331695 2.844413 -1.401931 -v 0.331695 2.844413 -1.795931 -v -0.275000 2.129444 6.533130 -v 0.275000 2.129444 6.533130 -v -0.275000 2.129444 4.333130 -v 0.275000 2.129444 4.333130 -v -0.275000 2.254444 4.333130 -v -0.125000 2.404444 4.333130 -v -0.125000 2.404444 6.533130 -v -0.275000 2.254444 6.533130 -v 0.275000 2.254444 6.533130 -v 0.125000 2.404444 6.533130 -v 0.125000 2.404444 4.333130 -v 0.275000 2.254444 4.333130 -v -0.125000 2.254444 3.833130 -v 0.125000 2.254444 3.833130 -v -0.125000 2.254444 7.033130 -v 0.125000 2.254444 7.033130 -v -0.125000 2.129444 3.833130 -v 0.125000 2.129444 3.833130 -v -0.125000 2.129444 7.033130 -v 0.125000 2.129444 7.033130 -v -0.057163 1.942269 4.281482 -v -0.039374 1.942269 4.267288 -v 0.057163 1.942269 4.281482 -v -0.057163 1.942269 6.340981 -v -0.039374 1.942269 6.326786 -v 0.057163 1.942269 6.340981 -v 0.000000 1.942269 6.315094 -v 0.020073 2.129444 6.318045 -v 0.020073 1.942269 6.318045 -v 0.039375 2.129444 6.326786 -v 0.039375 1.942269 6.326786 -v 0.057163 2.129444 6.340981 -v 0.072755 2.129444 6.360083 -v 0.072755 1.942269 6.360083 -v 0.085550 1.942269 6.383360 -v 0.085550 2.129444 6.383360 -v 0.095058 1.942269 6.409916 -v 0.095058 2.129444 6.409916 -v 0.100914 1.942269 6.438731 -v 0.100914 2.129444 6.438731 -v 0.102891 1.942269 6.468698 -v 0.102891 2.129444 6.468698 -v 0.100914 1.942269 6.498664 -v 0.100914 2.129444 6.498664 -v 0.095058 1.942269 6.527480 -v 0.095058 2.129444 6.527480 -v 0.085550 1.942269 6.554036 -v 0.085550 2.129444 6.554036 -v 0.072755 1.942269 6.577312 -v 0.072755 2.129444 6.577312 -v 0.057163 1.942269 6.596415 -v 0.057163 2.129444 6.596415 -v 0.039375 1.942269 6.610610 -v 0.039375 2.129444 6.610610 -v 0.020073 1.942269 6.619350 -v 0.020073 2.129444 6.619350 -v 0.000000 1.942269 6.622302 -v 0.000000 2.129444 6.622302 -v -0.020073 1.942269 6.619350 -v -0.020073 2.129444 6.619350 -v -0.039375 1.942269 6.610610 -v -0.039375 2.129444 6.610610 -v -0.057163 1.942269 6.596415 -v -0.057163 2.129444 6.596415 -v -0.072755 1.942269 6.577312 -v -0.072755 2.129444 6.577312 -v -0.085550 2.129444 6.554036 -v -0.085550 1.942269 6.554036 -v -0.095059 2.129444 6.527480 -v -0.095059 1.942269 6.527480 -v -0.100914 2.129444 6.498664 -v -0.100914 1.942269 6.498664 -v -0.101092 2.129444 6.495955 -v -0.102891 1.942269 6.468698 -v -0.100914 2.129444 6.438731 -v -0.100914 1.942269 6.438731 -v -0.095058 2.129444 6.409916 -v -0.095058 1.942269 6.409916 -v -0.085550 2.129444 6.383360 -v -0.085550 1.942269 6.383360 -v -0.072755 2.129444 6.360083 -v -0.072755 1.942269 6.360083 -v -0.057163 2.129444 6.340981 -v -0.039374 2.129444 6.326786 -v -0.020073 2.129444 6.318045 -v -0.020073 1.942269 6.318045 -v 0.000000 2.129444 6.315094 -v 0.000000 1.942269 4.255595 -v 0.020073 2.129444 4.258547 -v 0.020073 1.942269 4.258547 -v 0.039375 2.129444 4.267288 -v 0.039375 1.942269 4.267288 -v 0.057163 2.129444 4.281482 -v 0.072755 2.129444 4.300585 -v 0.072755 1.942269 4.300585 -v 0.085550 1.942269 4.323862 -v 0.085550 2.129444 4.323862 -v 0.095058 1.942269 4.350418 -v 0.095058 2.129444 4.350418 -v 0.100914 1.942269 4.379233 -v 0.100914 2.129444 4.379233 -v 0.102891 1.942269 4.409200 -v 0.102891 2.129444 4.409200 -v 0.100914 1.942269 4.439166 -v 0.100914 2.129444 4.439166 -v 0.095058 1.942269 4.467981 -v 0.095058 2.129444 4.467981 -v 0.085550 1.942269 4.494537 -v 0.085550 2.129444 4.494537 -v 0.072755 1.942269 4.517815 -v 0.072755 2.129444 4.517815 -v 0.057163 1.942269 4.536917 -v 0.057163 2.129444 4.536917 -v 0.039375 1.942269 4.551111 -v 0.039375 2.129444 4.551111 -v 0.020073 1.942269 4.559853 -v 0.020073 2.129444 4.559853 -v 0.000000 1.942269 4.562804 -v 0.000000 2.129444 4.562804 -v -0.020073 1.942269 4.559853 -v -0.020073 2.129444 4.559853 -v -0.039375 1.942269 4.551111 -v -0.039375 2.129444 4.551111 -v -0.057163 1.942269 4.536917 -v -0.057163 2.129444 4.536917 -v -0.072755 1.942269 4.517814 -v -0.072755 2.129444 4.517814 -v -0.085550 2.129444 4.494537 -v -0.085550 1.942269 4.494537 -v -0.095059 2.129444 4.467981 -v -0.095059 1.942269 4.467981 -v -0.100914 2.129444 4.439166 -v -0.100914 1.942269 4.439166 -v -0.102891 2.129444 4.409200 -v -0.102891 1.942269 4.409200 -v -0.100914 2.129444 4.379233 -v -0.100914 1.942269 4.379233 -v -0.095058 2.129444 4.350418 -v -0.095058 1.942269 4.350418 -v -0.085550 2.129444 4.323862 -v -0.085550 1.942269 4.323862 -v -0.072755 2.129444 4.300585 -v -0.072755 1.942269 4.300585 -v -0.057163 2.129444 4.281482 -v -0.039374 2.129444 4.267288 -v -0.020073 2.129444 4.258547 -v -0.020073 1.942269 4.258547 -v 0.000000 2.129444 4.255595 -v -0.102891 2.129444 6.468698 -vt 0.376341 0.935817 -vt 0.376198 0.931407 -vt 0.379817 0.933217 -vt 0.716133 0.565578 -vt 0.631319 0.607462 -vt 0.631319 0.565578 -vt 0.467280 0.953297 -vt 0.441093 0.966442 -vt 0.441093 0.953349 -vt 0.397291 0.946293 -vt 0.385019 0.931479 -vt 0.405970 0.935817 -vt 0.479325 0.625874 -vt 0.600299 0.553290 -vt 0.600299 0.625874 -vt 0.399250 0.929115 -vt 0.402494 0.933217 -vt 0.397291 0.931479 -vt 0.842246 0.608678 -vt 0.721272 0.570874 -vt 0.842246 0.570874 -vt 0.730550 0.582368 -vt 0.832968 0.556858 -vt 0.832968 0.582368 -vt 0.379817 0.933217 -vt 0.383060 0.929115 -vt 0.385019 0.931479 -vt 0.611924 0.557636 -vt 0.721272 0.568870 -vt 0.616064 0.573177 -vt 0.467279 0.927163 -vt 0.441093 0.940256 -vt 0.441093 0.927163 -vt 0.479325 0.602072 -vt 0.600299 0.578334 -vt 0.600299 0.602072 -vt 0.391155 0.930869 -vt 0.391155 0.928309 -vt 0.267710 0.975354 -vt 0.252733 0.956368 -vt 0.267710 0.956368 -vt 0.388720 0.940256 -vt 0.414905 0.953346 -vt 0.388720 0.953349 -vt 0.370002 0.938886 -vt 0.376341 0.935817 -vt 0.375120 0.938886 -vt 0.427657 0.621677 -vt 0.544077 0.618782 -vt 0.548904 0.621677 -vt 0.306410 0.611974 -vt 0.306410 0.621677 -vt 0.306410 0.621677 -vt 0.462221 0.354752 -vt 0.498929 0.357464 -vt 0.500862 0.354752 -vt 0.431791 0.864720 -vt 0.456757 0.880512 -vt 0.431791 0.880512 -vt 0.624174 0.384507 -vt 0.624174 0.351964 -vt 0.624174 0.384507 -vt 0.600299 0.553290 -vt 0.479325 0.602929 -vt 0.479325 0.553290 -vt 0.414906 0.940256 -vt 0.388720 0.953349 -vt 0.388720 0.940256 -vt 0.467279 0.953349 -vt 0.441093 0.966442 -vt 0.441093 0.953349 -vt 0.467279 0.927163 -vt 0.441093 0.940256 -vt 0.441093 0.927163 -vt 0.467280 0.953297 -vt 0.441093 0.966442 -vt 0.441093 0.953349 -vt 0.546506 0.565578 -vt 0.624007 0.607462 -vt 0.546506 0.607462 -vt 0.455232 0.880512 -vt 0.434576 0.864720 -vt 0.455232 0.864720 -vt 0.467280 0.953297 -vt 0.441093 0.966442 -vt 0.441093 0.953349 -vt 0.600299 0.602929 -vt 0.721272 0.553290 -vt 0.721272 0.625874 -vt 0.467280 0.953297 -vt 0.441093 0.966442 -vt 0.441093 0.953349 -vt 0.467279 0.953349 -vt 0.441093 0.966442 -vt 0.441093 0.953349 -vt 0.502398 0.359038 -vt 0.481046 0.375052 -vt 0.481046 0.359038 -vt 0.402172 0.960920 -vt 0.380138 0.949903 -vt 0.402172 0.949903 -vt 0.424206 0.949903 -vt 0.402172 0.938886 -vt 0.424206 0.938886 -vt 0.623146 0.611841 -vt 0.553800 0.662729 -vt 0.553800 0.611841 -vt 0.455328 0.880512 -vt 0.433148 0.864720 -vt 0.455328 0.864720 -vt 0.479325 0.567887 -vt 0.600299 0.625874 -vt 0.479325 0.625874 -vt 0.730550 0.590090 -vt 0.832968 0.607312 -vt 0.730550 0.607312 -vt 0.458113 0.912098 -vt 0.431791 0.896305 -vt 0.458113 0.896305 -vt 0.467280 0.953297 -vt 0.441093 0.966442 -vt 0.441093 0.953349 -vt 0.459695 0.373366 -vt 0.438343 0.359038 -vt 0.459695 0.359038 -vt 0.621444 0.601470 -vt 0.621444 0.571323 -vt 0.621444 0.571323 -vt 0.459695 0.391065 -vt 0.459695 0.375052 -vt 0.600299 0.575484 -vt 0.479325 0.606187 -vt 0.479325 0.575484 -vt 0.467280 0.953297 -vt 0.441093 0.966442 -vt 0.441093 0.953349 -vt 0.842246 0.565543 -vt 0.721272 0.613124 -vt 0.721272 0.565543 -vt 0.488596 0.616958 -vt 0.590929 0.619389 -vt 0.488596 0.619389 -vt 0.467279 0.927163 -vt 0.441093 0.940256 -vt 0.441093 0.927163 -vt 0.852438 0.847538 -vt 0.991774 0.803616 -vt 0.991312 0.847538 -vt 0.467279 0.927163 -vt 0.441093 0.940256 -vt 0.441093 0.927163 -vt 0.555501 0.601470 -vt 0.555501 0.571323 -vt 0.555501 0.601470 -vt 0.414906 0.940256 -vt 0.388720 0.953349 -vt 0.388720 0.940256 -vt 0.385019 0.946293 -vt 0.376198 0.946365 -vt 0.379817 0.944555 -vt 0.553800 0.560952 -vt 0.561302 0.510065 -vt 0.561302 0.560952 -vt 0.467279 0.953349 -vt 0.441093 0.966442 -vt 0.441093 0.953349 -vt 0.590791 0.384507 -vt 0.590791 0.384507 -vt 0.371613 0.934839 -vt 0.842246 0.572154 -vt 0.721272 0.606500 -vt 0.721272 0.572154 -vt 0.600299 0.578333 -vt 0.479325 0.596674 -vt 0.479325 0.578333 -vt 0.384191 0.607462 -vt 0.461692 0.565578 -vt 0.461692 0.607462 -vt 0.600299 0.480706 -vt 0.721272 0.480706 -vt 0.424206 0.971937 -vt 0.424206 0.960920 -vt 0.467279 0.927163 -vt 0.441093 0.940256 -vt 0.441093 0.927163 -vt 0.467279 0.927163 -vt 0.441093 0.940256 -vt 0.441093 0.927163 -vt 0.502398 0.359038 -vt 0.481046 0.375052 -vt 0.481046 0.359038 -vt 0.818991 0.564730 -vt 0.730886 0.561329 -vt 0.818991 0.564730 -vt 0.467279 0.927163 -vt 0.441093 0.940256 -vt 0.441093 0.927163 -vt 0.467280 0.953297 -vt 0.441093 0.966442 -vt 0.441093 0.953349 -vt 0.561653 0.571323 -vt 0.555501 0.571323 -vt 0.555501 0.571323 -vt 0.458113 0.880512 -vt 0.434672 0.864720 -vt 0.458113 0.864720 -vt 0.488596 0.587279 -vt 0.590929 0.592807 -vt 0.488596 0.592807 -vt 0.467279 0.927163 -vt 0.441093 0.940256 -vt 0.441093 0.927163 -vt 0.721272 0.609621 -vt 0.842246 0.568870 -vt 0.842246 0.609621 -vt 0.458113 0.896305 -vt 0.431791 0.912098 -vt 0.431791 0.896305 -vt 0.730550 0.589428 -vt 0.832968 0.586144 -vt 0.832968 0.589428 -vt 0.441093 0.927163 -vt 0.467279 0.940256 -vt 0.441092 0.940256 -vt 0.385019 0.946293 -vt 0.376198 0.946365 -vt 0.379817 0.944555 -vt 0.467279 0.927163 -vt 0.441093 0.940256 -vt 0.441093 0.927163 -vt 0.619279 0.632178 -vt 0.618946 0.688686 -vt 0.619279 0.632178 -vt 0.621444 0.571323 -vt 0.621444 0.601470 -vt 0.621444 0.601470 -vt 0.435223 0.928309 -vt 0.441349 0.931492 -vt 0.443318 0.929115 -vt 0.997710 0.846286 -vt 0.843702 0.768058 -vt 0.996805 0.768544 -vt 0.624174 0.351964 -vt 0.590791 0.351964 -vt 0.458113 0.864720 -vt 0.431791 0.880512 -vt 0.431791 0.864720 -vt 0.600299 0.625874 -vt 0.721272 0.698459 -vt 0.600299 0.698459 -vt 0.842246 0.609710 -vt 0.721272 0.558758 -vt 0.842246 0.558758 -vt 0.467279 0.927163 -vt 0.441093 0.940256 -vt 0.441093 0.927163 -vt 0.555501 0.571323 -vt 0.561653 0.571323 -vt 0.467280 0.953297 -vt 0.441093 0.966442 -vt 0.441093 0.953349 -vt 0.375120 0.938886 -vt 0.371613 0.934839 -vt 0.730886 0.561329 -vt 0.467279 0.927163 -vt 0.441093 0.940256 -vt 0.441093 0.927163 -vt 0.608577 0.571323 -vt 0.568704 0.571323 -vt 0.608577 0.571323 -vt 0.716133 0.560952 -vt 0.631319 0.611841 -vt 0.631319 0.560952 -vt 0.450012 0.935823 -vt 0.450180 0.931407 -vt 0.446542 0.933227 -vt 0.502398 0.359038 -vt 0.481046 0.375052 -vt 0.481046 0.359038 -vt 0.467280 0.953297 -vt 0.441093 0.966442 -vt 0.441093 0.953349 -vt 0.479325 0.553290 -vt 0.600299 0.553290 -vt 0.446240 0.960920 -vt 0.446240 0.949903 -vt 0.458113 0.896305 -vt 0.431791 0.912098 -vt 0.431791 0.896305 -vt 0.555501 0.601470 -vt 0.555501 0.601470 -vt 0.590791 0.351964 -vt 0.467279 0.927163 -vt 0.441093 0.940256 -vt 0.441093 0.927163 -vt 0.467280 0.953297 -vt 0.441093 0.966442 -vt 0.441093 0.953349 -vt 0.391155 0.949462 -vt 0.383060 0.948657 -vt 0.467279 0.927163 -vt 0.441093 0.940256 -vt 0.441093 0.927163 -vt 0.458113 0.896305 -vt 0.431791 0.912098 -vt 0.431791 0.896305 -vt 0.600299 0.607103 -vt 0.479325 0.570983 -vt 0.600299 0.570983 -vt 0.467280 0.953297 -vt 0.441093 0.966442 -vt 0.441093 0.953349 -vt 0.397291 0.931479 -vt 0.402494 0.933217 -vt 0.391155 0.930869 -vt 0.399250 0.929115 -vt 0.397291 0.931479 -vt 0.383060 0.929115 -vt 0.385019 0.931479 -vt 0.391155 0.949462 -vt 0.397291 0.946293 -vt 0.399250 0.948657 -vt 0.450012 0.941949 -vt 0.450180 0.946365 -vt 0.454765 0.942933 -vt 0.435223 0.930882 -vt 0.427128 0.929115 -vt 0.429097 0.931492 -vt 0.414070 0.938886 -vt 0.420434 0.935823 -vt 0.415680 0.934839 -vt 0.441349 0.946280 -vt 0.435223 0.949462 -vt 0.443318 0.948657 -vt 0.405970 0.941954 -vt 0.407190 0.938886 -vt 0.420434 0.941949 -vt 0.415681 0.942933 -vt 0.405970 0.941954 -vt 0.406112 0.946365 -vt 0.402494 0.944555 -vt 0.842246 0.553290 -vt 0.842246 0.625874 -vt 0.405970 0.941954 -vt 0.406112 0.946365 -vt 0.402494 0.944555 -vt 0.391155 0.946903 -vt 0.371613 0.942933 -vt 0.376341 0.941954 -vt 0.420266 0.931407 -vt 0.423904 0.933227 -vt 0.451230 0.938886 -vt 0.402494 0.944555 -vt 0.446542 0.944546 -vt 0.414906 0.953349 -vt 0.435223 0.946890 -vt 0.427128 0.948657 -vt 0.412308 0.938886 -vt 0.405970 0.935817 -vt 0.410698 0.934839 -vt 0.376341 0.941954 -vt 0.371613 0.942933 -vt 0.423904 0.944546 -vt 0.406112 0.931407 -vt 0.397291 0.946293 -vt 0.399250 0.948657 -vt 0.402172 0.927869 -vt 0.402494 0.933217 -vt 0.406112 0.931407 -vt 0.405970 0.935817 -vt 0.410698 0.934839 -vt 0.391155 0.946903 -vt 0.385019 0.946293 -vt 0.379817 0.944555 -vt 0.376341 0.941954 -vt 0.375120 0.938886 -vt 0.376341 0.935817 -vt 0.391155 0.930869 -vt 0.424206 0.927869 -vt 0.546506 0.560952 -vt 0.546506 0.611841 -vt 0.376879 0.611841 -vt 0.385053 0.560952 -vt 0.385053 0.611841 -vt 0.631319 0.510065 -vt 0.623146 0.560952 -vt 0.623146 0.510065 -vt 0.553800 0.510065 -vt 0.546506 0.510065 -vt 0.466754 0.337660 -vt 0.498929 0.340037 -vt 0.496329 0.337660 -vt 0.376879 0.607462 -vt 0.419352 0.565578 -vt 0.456402 0.607462 -vt 0.456402 0.565578 -vt 0.551796 0.607462 -vt 0.551796 0.565578 -vt 0.588846 0.565578 -vt 0.568704 0.601470 -vt 0.608577 0.601470 -vt 0.599566 0.522491 -vt 0.566183 0.522491 -vt 0.599566 0.548526 -vt 0.566183 0.548526 -vt 0.446896 0.560952 -vt 0.454398 0.560952 -vt 0.454398 0.611841 -vt 0.842246 0.553290 -vt 0.608577 0.601470 -vt 0.621444 0.601470 -vt 0.568704 0.601470 -vt 0.621444 0.571323 -vt 0.561653 0.571323 -vt 0.568704 0.571323 -vt 0.561653 0.571323 -vt 0.635229 0.443976 -vt 0.721272 0.408122 -vt 1.000524 0.848942 -vt 0.845895 0.821077 -vt 0.661133 0.849427 -vt 0.672101 0.851237 -vt 0.852261 0.812330 -vt 0.994260 0.851850 -vt 0.647929 0.515329 -vt 0.768903 0.463337 -vt 0.768903 0.534290 -vt 0.721272 0.425318 -vt 0.721272 0.463123 -vt 0.643722 0.438382 -vt 0.643722 0.595615 -vt 0.721272 0.608678 -vt 0.622855 0.443843 -vt 0.700372 0.434813 -vt 0.600299 0.455663 -vt 0.600299 0.596674 -vt 0.700372 0.599184 -vt 0.657858 0.598938 -vt 0.684285 0.433713 -vt 0.600299 0.455663 -vt 0.600299 0.431924 -vt 0.684285 0.600284 -vt 0.702375 0.593962 -vt 0.832968 0.590090 -vt 0.842246 0.578915 -vt 0.842246 0.610258 -vt 0.661353 0.449143 -vt 0.600299 0.458513 -vt 0.600299 0.427810 -vt 0.600299 0.606187 -vt 0.661353 0.584853 -vt 0.636552 0.478391 -vt 0.737943 0.462867 -vt 0.737943 0.513819 -vt 0.646357 0.598239 -vt 0.619882 0.594186 -vt 0.721272 0.625874 -vt 0.600299 0.601029 -vt 0.600299 0.463014 -vt 0.600299 0.426893 -vt 0.677552 0.442472 -vt 0.677552 0.591525 -vt 0.721272 0.698459 -vt 0.619603 0.447908 -vt 0.721272 0.420873 -vt 0.721272 0.468455 -vt 0.619603 0.586089 -vt 0.703633 0.603994 -vt 0.721272 0.625874 -vt 0.600299 0.625874 -vt 0.600299 0.553230 -vt 0.842246 0.553290 -vt 0.441093 0.927163 -vt 0.467286 0.940256 -vt 0.441085 0.940256 -vt 0.600299 0.698459 -vt 0.418839 0.404635 -vt 0.418839 0.404635 -vt 0.418839 0.404635 -vt 0.418839 0.404635 -vt 0.418839 0.404635 -vt 0.418839 0.404635 -vt 0.418839 0.404635 -vt 0.697898 0.408122 -vt 0.697898 0.625874 -vt 0.836005 0.463043 -vt 0.854395 0.498977 -vt 0.870771 0.577804 -vt 0.771725 0.516980 -vt 0.818015 0.516980 -vt 0.734889 0.563201 -vt 0.735516 0.534290 -vt 0.647929 0.463337 -vt 0.600299 0.553290 -vt 0.721272 0.553290 -vt 0.721272 0.578915 -vt 0.644527 0.431204 -vt 0.702375 0.440034 -vt 0.730550 0.610258 -vt 0.721272 0.610258 -vt 0.730550 0.578915 -vt 0.832968 0.578915 -vt 0.832968 0.610258 -vt 0.842246 0.553290 -vt 0.832968 0.568907 -vt 0.842246 0.568907 -vt 0.832968 0.570051 -vt 0.842246 0.593289 -vt 0.832968 0.579709 -vt 0.832968 0.593289 -vt 0.730550 0.593289 -vt 0.721272 0.593289 -vt 0.730550 0.586144 -vt 0.721272 0.568907 -vt 0.730550 0.580736 -vt 0.730550 0.568907 -vt 0.730550 0.571245 -vt 0.721272 0.609710 -vt 0.488596 0.624243 -vt 0.479325 0.624243 -vt 0.479325 0.572252 -vt 0.488596 0.598980 -vt 0.488596 0.572252 -vt 0.488596 0.609386 -vt 0.600199 0.624243 -vt 0.590929 0.624243 -vt 0.600199 0.553290 -vt 0.590929 0.596764 -vt 0.590929 0.616958 -vt 0.590929 0.578243 -vt 0.590929 0.572252 -vt 0.590929 0.607923 -vt 0.700036 0.621706 -vt 0.600299 0.610550 -vt 0.713013 0.542041 -vt 0.751087 0.532539 -vt 0.773235 0.549211 -vt 0.687886 0.553230 -vt 0.721272 0.553230 -vt 0.730550 0.587358 -vt 0.721272 0.587358 -vt 0.721272 0.553290 -vt 0.730550 0.553290 -vt 0.730550 0.556858 -vt 0.832968 0.553290 -vt 0.842246 0.587336 -vt 0.832968 0.587358 -vt 0.842246 0.625828 -vt 0.721372 0.553290 -vt 0.418839 0.404635 -vt 0.479325 0.610550 -vt 0.600299 0.569991 -vt 0.379817 0.933217 -vt 0.412308 0.938886 -vt 0.410698 0.942933 -vt 0.438343 0.363416 -vt 0.438343 0.375052 -vt 0.370002 0.938886 -vt 0.429097 0.946280 -vt 0.420266 0.946365 -vt 0.410698 0.942933 -vt 0.467279 0.927163 -vt 0.441093 0.940256 -vt 0.441093 0.927163 -vt 0.546506 0.662729 -vt 0.441094 0.940256 -vt 0.467279 0.927163 -vt 0.467279 0.940256 -vt 0.467279 0.940256 -vt 0.493465 0.953332 -vt 0.458113 0.880512 -vt 0.458113 0.896305 -vt 0.458113 0.912098 -vt 0.458113 0.912098 -vt 0.438343 0.360725 -vt 0.459695 0.360725 -vt 0.481046 0.343025 -vt 0.459695 0.363416 -vt 0.502398 0.375052 -vt 0.469923 0.361792 -vt 0.473538 0.363241 -vt 0.493160 0.361792 -vt 0.469923 0.361792 -vt 0.473538 0.363241 -vt 0.493160 0.361792 -vt 0.730406 0.496370 -vt 0.688819 0.499847 -vt 0.679810 0.485186 -vt 0.631319 0.662729 -vt 0.623146 0.662729 -vt 0.641975 0.514692 -vt 0.762949 0.472322 -vt 0.762949 0.529289 -vt 0.461030 0.351810 -vt 0.502454 0.348750 -vt 0.460629 0.348750 -vt 0.618946 0.688686 -vt 0.721272 0.625874 -vt 0.665791 0.536880 -vt 0.786764 0.497250 -vt 0.461692 0.611841 -vt 0.461692 0.560952 -vt 0.500862 0.342749 -vt 0.461030 0.345691 -vt 0.502052 0.345691 -vt 0.467280 0.953297 -vt 0.441093 0.966442 -vt 0.441093 0.953349 -vt 0.407190 0.938886 -vt 0.477461 0.364133 -vt 0.481541 0.364435 -vt 0.485621 0.364133 -vt 0.489544 0.363241 -vt 0.493160 0.335709 -vt 0.469923 0.335709 -vt 0.466754 0.359841 -vt 0.464153 0.357464 -vt 0.464153 0.340037 -vt 0.498929 0.340037 -vt 0.461030 0.351810 -vt 0.502454 0.348750 -vt 0.460629 0.348750 -vt 0.502052 0.351810 -vt 0.466754 0.359841 -vt 0.498929 0.357464 -vt 0.464153 0.357464 -vt 0.496329 0.359841 -vt 0.489544 0.334260 -vt 0.485621 0.333368 -vt 0.473538 0.334260 -vt 0.481541 0.333066 -vt 0.477461 0.333368 -vt 0.477461 0.364133 -vt 0.481541 0.364435 -vt 0.485621 0.364133 -vt 0.489544 0.363241 -vt 0.456376 0.938886 -vt 0.454765 0.934839 -vt 0.496329 0.337660 -vt 0.466754 0.337660 -vt 0.462221 0.354752 -vt 0.500862 0.354752 -vt 0.502052 0.351810 -vt 0.502052 0.345691 -vt 0.461030 0.345691 -vt 0.500862 0.342749 -vt 0.464153 0.340037 -vt 0.991629 0.813556 -vt 0.991312 0.764214 -vt 0.496329 0.359841 -vt 0.493160 0.335709 -vt 0.489544 0.334260 -vt 0.469923 0.335709 -vt 0.485621 0.333368 -vt 0.473538 0.334260 -vt 0.481541 0.333066 -vt 0.477461 0.333368 -vt 0.456757 0.864720 -vt 0.458113 0.912098 -vt 0.414906 0.953349 -vt 0.414906 0.940256 -vt 0.441093 0.953349 -vt 0.493465 0.940256 -vt 0.493465 0.953349 -vt 0.388720 0.940256 -vt 0.414906 0.953332 -vt 0.388720 0.953332 -vt 0.414906 0.940256 -vt 0.414906 0.953332 -vt 0.493465 0.940256 -vt 0.493465 0.953332 -vt 0.441093 0.927163 -vt 0.467286 0.940256 -vt 0.441085 0.940256 -vt 0.467279 0.940256 -vt 0.441094 0.940256 -vt 0.467279 0.927163 -vt 0.467277 0.940256 -vt 0.441093 0.966442 -vt 0.441094 0.953349 -vt 0.467277 0.953349 -vt 0.467279 0.953349 -vt 0.467277 0.966442 -vt 0.388720 0.940256 -vt 0.414906 0.953349 -vt 0.388720 0.953349 -vt 0.441093 0.940256 -vt 0.414906 0.953349 -vt 0.414906 0.953349 -vt 0.414906 0.940256 -vt 0.414906 0.953349 -vt 0.414906 0.940256 -vt 0.441093 0.953349 -vt 0.467279 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.953349 -vt 0.388720 0.940256 -vt 0.414906 0.953332 -vt 0.388720 0.953332 -vt 0.414906 0.940256 -vt 0.441085 0.940256 -vt 0.414906 0.953332 -vt 0.467286 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.953332 -vt 0.467286 0.940256 -vt 0.441093 0.927163 -vt 0.467279 0.927163 -vt 0.467279 0.940256 -vt 0.467279 0.927163 -vt 0.441094 0.940256 -vt 0.441093 0.927163 -vt 0.441093 0.966442 -vt 0.441094 0.953349 -vt 0.467277 0.953349 -vt 0.467279 0.953349 -vt 0.467277 0.966442 -vt 0.388720 0.940256 -vt 0.414906 0.953349 -vt 0.388720 0.953349 -vt 0.441093 0.940256 -vt 0.467279 0.940256 -vt 0.493465 0.953332 -vt 0.414906 0.953349 -vt 0.414906 0.940256 -vt 0.414906 0.940256 -vt 0.441093 0.953349 -vt 0.467279 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.953349 -vt 0.388720 0.940256 -vt 0.414906 0.953332 -vt 0.388720 0.953332 -vt 0.414906 0.940256 -vt 0.441085 0.940256 -vt 0.467286 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.953332 -vt 0.441093 0.927163 -vt 0.467279 0.927163 -vt 0.441094 0.940256 -vt 0.441093 0.927163 -vt 0.441093 0.966442 -vt 0.441094 0.953349 -vt 0.467277 0.953349 -vt 0.467279 0.953349 -vt 0.467277 0.966442 -vt 0.388720 0.940256 -vt 0.414906 0.953349 -vt 0.388720 0.953349 -vt 0.441093 0.940256 -vt 0.467279 0.940256 -vt 0.414906 0.953349 -vt 0.414906 0.940256 -vt 0.414906 0.953349 -vt 0.414906 0.940256 -vt 0.441093 0.953349 -vt 0.467279 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.953349 -vt 0.431791 0.896305 -vt 0.431791 0.912098 -vt 0.388720 0.940256 -vt 0.388720 0.953332 -vt 0.414906 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.953332 -vt 0.441093 0.927163 -vt 0.467286 0.940256 -vt 0.441085 0.940256 -vt 0.467279 0.940256 -vt 0.493465 0.953332 -vt 0.467279 0.927163 -vt 0.441094 0.940256 -vt 0.441093 0.927163 -vt 0.441093 0.966442 -vt 0.441094 0.953349 -vt 0.467277 0.953349 -vt 0.467279 0.953349 -vt 0.467277 0.966442 -vt 0.388720 0.940256 -vt 0.388720 0.953349 -vt 0.441093 0.940256 -vt 0.467279 0.940256 -vt 0.414906 0.953349 -vt 0.414906 0.953349 -vt 0.414906 0.940256 -vt 0.414906 0.953349 -vt 0.414906 0.940256 -vt 0.441093 0.953349 -vt 0.467279 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.953349 -vt 0.388720 0.940256 -vt 0.414906 0.953332 -vt 0.388720 0.953332 -vt 0.414906 0.940256 -vt 0.441085 0.940256 -vt 0.467286 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.953332 -vt 0.467279 0.927163 -vt 0.441085 0.940256 -vt 0.441093 0.927163 -vt 0.467279 0.927163 -vt 0.441094 0.940256 -vt 0.441093 0.927163 -vt 0.441093 0.966442 -vt 0.441094 0.953349 -vt 0.467277 0.953349 -vt 0.467279 0.953349 -vt 0.467277 0.966442 -vt 0.388720 0.940256 -vt 0.388720 0.953349 -vt 0.441093 0.940256 -vt 0.467279 0.940256 -vt 0.414906 0.953349 -vt 0.414906 0.940256 -vt 0.414906 0.953349 -vt 0.414906 0.940256 -vt 0.441093 0.953349 -vt 0.467279 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.953349 -vt 0.388720 0.940256 -vt 0.414906 0.953332 -vt 0.388720 0.953332 -vt 0.414906 0.940256 -vt 0.414906 0.953332 -vt 0.467286 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.953332 -vt 0.467286 0.940256 -vt 0.441093 0.927163 -vt 0.467279 0.927163 -vt 0.467279 0.940256 -vt 0.467279 0.927163 -vt 0.441094 0.940256 -vt 0.441093 0.927163 -vt 0.441093 0.966442 -vt 0.441094 0.953349 -vt 0.467277 0.953349 -vt 0.467279 0.953349 -vt 0.467277 0.966442 -vt 0.388720 0.940256 -vt 0.414906 0.953349 -vt 0.388720 0.953349 -vt 0.441093 0.940256 -vt 0.414906 0.940256 -vt 0.414906 0.940256 -vt 0.441093 0.953349 -vt 0.467279 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.953349 -vt 0.388720 0.940256 -vt 0.414906 0.953332 -vt 0.388720 0.953332 -vt 0.414906 0.940256 -vt 0.441085 0.940256 -vt 0.467286 0.940256 -vt 0.493465 0.940256 -vt 0.441093 0.927163 -vt 0.467279 0.927163 -vt 0.441094 0.940256 -vt 0.441093 0.927163 -vt 0.441093 0.966442 -vt 0.441094 0.953349 -vt 0.467277 0.953349 -vt 0.467279 0.953349 -vt 0.467277 0.966442 -vt 0.388720 0.940256 -vt 0.388720 0.953349 -vt 0.441093 0.940256 -vt 0.467279 0.940256 -vt 0.493465 0.953332 -vt 0.414906 0.940256 -vt 0.414906 0.940256 -vt 0.441093 0.953349 -vt 0.467279 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.953349 -vt 0.388720 0.940256 -vt 0.388720 0.953332 -vt 0.414906 0.940256 -vt 0.414906 0.953332 -vt 0.493465 0.940256 -vt 0.441093 0.927163 -vt 0.467279 0.940256 -vt 0.493465 0.953332 -vt 0.441093 0.966442 -vt 0.441094 0.953349 -vt 0.467277 0.953349 -vt 0.467279 0.953349 -vt 0.467277 0.966442 -vt 0.414906 0.953349 -vt 0.388723 0.940256 -vt 0.414906 0.940256 -vt 0.441093 0.940256 -vt 0.414906 0.953349 -vt 0.414906 0.940256 -vt 0.414906 0.953349 -vt 0.414906 0.940256 -vt 0.441093 0.953349 -vt 0.467279 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.953349 -vt 0.388720 0.940256 -vt 0.414906 0.953332 -vt 0.388720 0.953332 -vt 0.414906 0.940256 -vt 0.441085 0.940256 -vt 0.467286 0.940256 -vt 0.493465 0.940256 -vt 0.441093 0.927163 -vt 0.467279 0.940244 -vt 0.441085 0.940256 -vt 0.467279 0.927163 -vt 0.441094 0.940256 -vt 0.441093 0.927163 -vt 0.441093 0.966442 -vt 0.441094 0.953349 -vt 0.467277 0.953349 -vt 0.467279 0.953349 -vt 0.467277 0.966442 -vt 0.388720 0.940256 -vt 0.388720 0.953349 -vt 0.441093 0.940256 -vt 0.414906 0.953349 -vt 0.414906 0.940256 -vt 0.414906 0.940256 -vt 0.441093 0.953349 -vt 0.467279 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.953349 -vt 0.388720 0.940256 -vt 0.414906 0.953332 -vt 0.388720 0.953332 -vt 0.414906 0.940256 -vt 0.441085 0.940256 -vt 0.493465 0.940256 -vt 0.441093 0.927163 -vt 0.467279 0.927163 -vt 0.467279 0.927163 -vt 0.441094 0.940256 -vt 0.441093 0.927163 -vt 0.441093 0.966442 -vt 0.441094 0.953349 -vt 0.467277 0.953349 -vt 0.467279 0.953349 -vt 0.467277 0.966442 -vt 0.388720 0.940256 -vt 0.388720 0.953349 -vt 0.441093 0.940256 -vt 0.414906 0.953349 -vt 0.414906 0.940256 -vt 0.414906 0.953349 -vt 0.414906 0.940256 -vt 0.441093 0.953349 -vt 0.467279 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.953349 -vt 0.388720 0.940256 -vt 0.388720 0.953332 -vt 0.414906 0.940256 -vt 0.441085 0.940256 -vt 0.467286 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.953332 -vt 0.441093 0.927163 -vt 0.467279 0.927163 -vt 0.467279 0.940256 -vt 0.467279 0.927163 -vt 0.441094 0.940256 -vt 0.441093 0.927163 -vt 0.441093 0.966442 -vt 0.441094 0.953349 -vt 0.467277 0.953349 -vt 0.467279 0.953349 -vt 0.467277 0.966442 -vt 0.388720 0.940256 -vt 0.388720 0.953349 -vt 0.441093 0.940256 -vt 0.414906 0.953349 -vt 0.414906 0.940256 -vt 0.441093 0.953349 -vt 0.493465 0.940256 -vt 0.467279 0.927163 -vt 0.441093 0.927163 -vt 0.467279 0.927163 -vt 0.441094 0.940256 -vt 0.441093 0.927163 -vt 0.441093 0.966442 -vt 0.441094 0.953349 -vt 0.441093 0.940256 -vt 0.467279 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.953349 -vt 0.388720 0.940256 -vt 0.414906 0.953332 -vt 0.388720 0.953332 -vt 0.414906 0.940256 -vt 0.467277 0.953349 -vt 0.467279 0.953349 -vt 0.467277 0.966442 -vt 0.388720 0.940256 -vt 0.388720 0.953349 -vt 0.441093 0.940256 -vt 0.414906 0.940256 -vt 0.441093 0.940253 -vt 0.441069 0.940256 -vt 0.441053 0.940272 -vt 0.414906 0.953349 -vt 0.459695 0.372154 -vt 0.493465 0.940256 -vt 0.467318 0.940272 -vt 0.467302 0.940256 -vt 0.388720 0.940256 -vt 0.388720 0.953332 -vt 0.467279 0.927163 -vt 0.414906 0.953349 -vt 0.467279 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.953349 -vt 0.414906 0.953349 -vt 0.467279 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.953349 -vt 0.441093 0.940256 -vt 0.441093 0.927163 -vt 0.441093 0.940256 -vt 0.441093 0.940256 -vt 0.441093 0.940256 -vt 0.441093 0.940256 -vt 0.441093 0.940256 -vt 0.441093 0.940256 -vt 0.441093 0.940256 -vt 0.441093 0.940256 -vt 0.441093 0.940256 -vt 0.441093 0.940256 -vt 0.441093 0.940256 -vt 0.441093 0.927163 -vt 0.414906 0.940256 -vt 0.388720 0.940256 -vt 0.414906 0.940272 -vt 0.493465 0.953332 -vt 0.467279 0.940253 -vt 0.441095 0.927163 -vt 0.441093 0.927163 -vt 0.998886 0.821999 -vt 0.381947 0.359403 -vt 0.368315 0.351556 -vt 0.375173 0.348501 -vt 0.362657 0.340157 -vt 0.344696 0.341035 -vt 0.346305 0.335642 -vt 0.330214 0.341035 -vt 0.328605 0.335642 -vt 0.316834 0.344729 -vt 0.312252 0.340157 -vt 0.299736 0.348501 -vt 0.306594 0.351556 -vt 0.292963 0.359403 -vt 0.301052 0.360476 -vt 0.292963 0.371203 -vt 0.301052 0.370130 -vt 0.299736 0.382105 -vt 0.316834 0.385877 -vt 0.312252 0.390449 -vt 0.328605 0.394964 -vt 0.330214 0.389571 -vt 0.346305 0.394964 -vt 0.344696 0.389571 -vt 0.362657 0.390449 -vt 0.368315 0.379050 -vt 0.375173 0.382105 -vt 0.373857 0.370130 -vt 0.381947 0.371203 -vt 0.373857 0.360476 -vt 0.944984 0.394365 -vt 0.915857 0.381390 -vt 0.928485 0.339067 -vt 0.381709 0.388313 -vt 0.399131 0.385592 -vt 0.397054 0.392551 -vt 0.411588 0.385592 -vt 0.413664 0.392551 -vt 0.423097 0.382414 -vt 0.429009 0.388313 -vt 0.440754 0.380483 -vt 0.431906 0.376542 -vt 0.447111 0.370253 -vt 0.436673 0.368869 -vt 0.436673 0.360564 -vt 0.447111 0.359180 -vt 0.431906 0.352892 -vt 0.440754 0.348950 -vt 0.429010 0.341120 -vt 0.423097 0.347019 -vt 0.413664 0.336883 -vt 0.411588 0.343841 -vt 0.397055 0.336883 -vt 0.399131 0.343841 -vt 0.381709 0.341120 -vt 0.387622 0.347019 -vt 0.369965 0.348950 -vt 0.378813 0.352892 -vt 0.363608 0.359180 -vt 0.374046 0.360564 -vt 0.374046 0.368869 -vt 0.363608 0.370253 -vt 0.369965 0.380483 -vt 0.378813 0.376542 -vt 0.387622 0.382414 -vt 0.970866 0.381352 -vt 0.928543 0.375739 -vt 0.936961 0.347524 -vt 0.670151 0.548929 -vt 0.548904 0.548929 -vt 0.427657 0.694426 -vt 0.548904 0.694426 -vt 0.427657 0.611974 -vt 0.306410 0.611974 -vt 0.544077 0.551825 -vt 0.432483 0.618782 -vt 0.432483 0.551825 -vt 0.191396 0.552669 -vt 0.300177 0.617937 -vt 0.191396 0.617937 -vt 0.427657 0.611974 -vt 0.427657 0.548929 -vt 0.427657 0.621677 -vt 0.306410 0.548929 -vt 0.427657 0.694426 -vt 0.300177 0.552669 -vt 0.670151 0.621677 -vt 0.165527 0.965861 -vt 0.169524 0.959149 -vt 0.188825 0.959149 -vt 0.169524 0.930354 -vt 0.191784 0.933434 -vt 0.165527 0.937067 -vt 0.262392 0.946560 -vt 0.247414 0.927574 -vt 0.262392 0.927574 -vt 0.220119 0.937067 -vt 0.224116 0.930354 -vt 0.243417 0.930354 -vt 0.196820 0.930354 -vt 0.219080 0.933434 -vt 0.192823 0.937067 -vt 0.435046 0.384004 -vt 0.403316 0.345003 -vt 0.435046 0.345003 -vt 0.426392 0.392868 -vt 0.403316 0.384004 -vt 0.411970 0.336139 -vt 0.462480 0.365088 -vt 0.459757 0.394810 -vt 0.459757 0.365088 -vt 0.457034 0.394810 -vt 0.457034 0.365088 -vt 0.497879 0.394810 -vt 0.495156 0.365088 -vt 0.497879 0.365088 -vt 0.497879 0.394810 -vt 0.495156 0.365088 -vt 0.497879 0.365088 -vt 0.437973 0.394810 -vt 0.435250 0.365088 -vt 0.437973 0.365088 -vt 0.457034 0.365088 -vt 0.454311 0.394810 -vt 0.454311 0.365088 -vt 0.459757 0.365088 -vt 0.457034 0.394810 -vt 0.503325 0.394810 -vt 0.500602 0.365088 -vt 0.503325 0.365088 -vt 0.476095 0.365088 -vt 0.473372 0.394810 -vt 0.473372 0.365088 -vt 0.421635 0.394810 -vt 0.418912 0.365088 -vt 0.421635 0.365088 -vt 0.451588 0.365088 -vt 0.448865 0.394810 -vt 0.448865 0.365088 -vt 0.484264 0.365088 -vt 0.481541 0.394810 -vt 0.481541 0.365088 -vt 0.454311 0.394810 -vt 0.454311 0.365088 -vt 0.492433 0.365088 -vt 0.489710 0.394810 -vt 0.489710 0.365088 -vt 0.451588 0.394810 -vt 0.451588 0.365088 -vt 0.424358 0.394810 -vt 0.421635 0.365088 -vt 0.424358 0.365088 -vt 0.495156 0.394810 -vt 0.503325 0.394810 -vt 0.500602 0.365088 -vt 0.503325 0.365088 -vt 0.476095 0.365088 -vt 0.473372 0.394810 -vt 0.473372 0.365088 -vt 0.446142 0.394810 -vt 0.443419 0.365088 -vt 0.446142 0.365088 -vt 0.424358 0.394810 -vt 0.424358 0.365088 -vt 0.500602 0.394810 -vt 0.470649 0.365088 -vt 0.467926 0.394810 -vt 0.467926 0.365088 -vt 0.465203 0.394810 -vt 0.465203 0.365088 -vt 0.470649 0.394810 -vt 0.470649 0.365088 -vt 0.435250 0.394810 -vt 0.432527 0.365088 -vt 0.435250 0.365088 -vt 0.486987 0.394810 -vt 0.486987 0.365088 -vt 0.492433 0.365088 -vt 0.489710 0.394810 -vt 0.489710 0.365088 -vt 0.448865 0.394810 -vt 0.448865 0.365088 -vt 0.478818 0.365088 -vt 0.476095 0.394810 -vt 0.462480 0.365088 -vt 0.459757 0.394810 -vt 0.427081 0.394810 -vt 0.427081 0.365088 -vt 0.432527 0.394810 -vt 0.429804 0.365088 -vt 0.432527 0.365088 -vt 0.435250 0.394810 -vt 0.478818 0.365088 -vt 0.476095 0.394810 -vt 0.465203 0.365088 -vt 0.462480 0.394810 -vt 0.500602 0.394810 -vt 0.495156 0.394810 -vt 0.470649 0.394810 -vt 0.446142 0.394810 -vt 0.443419 0.365088 -vt 0.446142 0.365088 -vt 0.478818 0.394810 -vt 0.443419 0.394810 -vt 0.440696 0.365088 -vt 0.462480 0.394810 -vt 0.440696 0.394810 -vt 0.440696 0.365088 -vt 0.481541 0.365088 -vt 0.478818 0.394810 -vt 0.467926 0.365088 -vt 0.465203 0.394810 -vt 0.427081 0.394810 -vt 0.427081 0.365088 -vt 0.418912 0.394810 -vt 0.416189 0.365088 -vt 0.421635 0.394810 -vt 0.418912 0.365088 -vt 0.451588 0.394810 -vt 0.432527 0.394810 -vt 0.429804 0.365088 -vt 0.486987 0.394810 -vt 0.486987 0.365088 -vt 0.484264 0.394810 -vt 0.484264 0.365088 -vt 0.418912 0.394810 -vt 0.416189 0.365088 -vt 0.481541 0.394810 -vt 0.437973 0.365088 -vt 0.440450 0.394810 -vt 0.437973 0.394810 -vt 0.429804 0.394810 -vt 0.484264 0.394810 -vt 0.429804 0.394810 -vt 0.443419 0.394810 -vt 0.467926 0.394810 -vt 0.716133 0.607462 -vt 0.467279 0.966442 -vt 0.479325 0.553290 -vt 0.376198 0.931407 -vt 0.659209 0.565091 -vt 0.479325 0.578334 -vt 0.252733 0.975354 -vt 0.414906 0.940256 -vt 0.467279 0.966442 -vt 0.467279 0.966442 -vt 0.624007 0.565578 -vt 0.434576 0.880512 -vt 0.467279 0.966442 -vt 0.467279 0.966442 -vt 0.467279 0.966442 -vt 0.380138 0.960920 -vt 0.433148 0.880512 -vt 0.600299 0.567887 -vt 0.431791 0.912098 -vt 0.467279 0.966442 -vt 0.438343 0.373366 -vt 0.481046 0.391065 -vt 0.467279 0.966442 -vt 0.842246 0.613124 -vt 0.852438 0.764214 -vt 0.467279 0.966442 -vt 0.842246 0.606500 -vt 0.384191 0.565578 -vt 0.402172 0.971937 -vt 0.502398 0.375052 -vt 0.467279 0.966442 -vt 0.434672 0.880512 -vt 0.590929 0.587279 -vt 0.458113 0.912098 -vt 0.467279 0.927163 -vt 0.383060 0.948657 -vt 0.844607 0.846286 -vt 0.721272 0.625874 -vt 0.467279 0.966442 -vt 0.716133 0.611841 -vt 0.502398 0.375052 -vt 0.467279 0.966442 -vt 0.479325 0.625874 -vt 0.467279 0.966442 -vt 0.391155 0.946903 -vt 0.479325 0.607103 -vt 0.467279 0.966442 -vt 0.391155 0.928309 -vt 0.419216 0.938886 -vt 0.407190 0.938886 -vt 0.376879 0.560952 -vt 0.376879 0.565578 -vt 0.467279 0.927163 -vt 0.649713 0.616266 -vt 0.479325 0.569991 -vt 0.493465 0.940256 -vt 0.641975 0.456706 -vt 0.462221 0.342749 -vt 0.467279 0.966442 -vt 0.462221 0.342749 -vt 0.467279 0.927163 -vt 0.493465 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.940256 -vt 0.467279 0.927163 -vt 0.467279 0.927163 -vt 0.493465 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.940256 -vt 0.493465 0.940256 -vt 0.467279 0.927163 -vt 0.493465 0.940256 -vt 0.467279 0.927163 -vt 0.493465 0.940256 -vt 0.388720 0.953349 -vt 0.467279 0.927163 -vt 0.493465 0.940256 -vt 0.493465 0.940256 -vt 0.438343 0.372154 -vt 0.358075 0.344729 -vt 0.306594 0.379050 -vt 0.358075 0.385877 -vt 0.944984 0.334511 -vt 0.962843 0.334511 -vt 0.979342 0.339067 -vt 0.991970 0.347485 -vt 0.998804 0.358485 -vt 0.979342 0.389809 -vt 0.998804 0.370391 -vt 0.991970 0.381390 -vt 0.962843 0.394365 -vt 0.928485 0.389809 -vt 0.909023 0.370391 -vt 0.909023 0.358485 -vt 0.915857 0.347485 -vt 0.979285 0.353136 -vt 0.983841 0.360469 -vt 0.983841 0.368406 -vt 0.979285 0.375739 -vt 0.959866 0.384389 -vt 0.947961 0.384389 -vt 0.936961 0.381352 -vt 0.923986 0.368406 -vt 0.923986 0.360469 -vt 0.928543 0.353136 -vt 0.947961 0.344486 -vt 0.959866 0.344486 -vt 0.970866 0.347524 -vt 0.191784 0.962228 -vt 0.192823 0.965861 -vt 0.192823 0.985162 -vt 0.165527 0.985162 -vt 0.166566 0.962228 -vt 0.173952 0.957091 -vt 0.179175 0.956368 -vt 0.184398 0.957091 -vt 0.173952 0.928297 -vt 0.179175 0.927574 -vt 0.184398 0.928297 -vt 0.188825 0.930354 -vt 0.192823 0.937067 -vt 0.192823 0.956368 -vt 0.165527 0.956368 -vt 0.166566 0.933434 -vt 0.247414 0.946560 -vt 0.246375 0.933434 -vt 0.247414 0.937067 -vt 0.247414 0.956368 -vt 0.220119 0.956368 -vt 0.221157 0.933434 -vt 0.228544 0.928297 -vt 0.233766 0.927574 -vt 0.238989 0.928297 -vt 0.201248 0.928297 -vt 0.206471 0.927574 -vt 0.211694 0.928297 -vt 0.216121 0.930354 -vt 0.220119 0.937067 -vt 0.220119 0.956368 -vt 0.192823 0.956368 -vt 0.193862 0.933434 -vt 0.411970 0.392868 -vt 0.426392 0.336139 -vt 0.492433 0.394810 -vt 0.492433 0.394810 -vt 0.440696 0.394810 -vt 0.416189 0.394810 -vt 0.416189 0.394810 -vt 0.461789 0.386616 -vt 0.455440 0.345154 -vt 0.461789 0.345154 -vt 0.402494 0.944555 -vt 0.237755 0.975577 -vt 0.237755 0.956368 -vt 0.207800 0.982529 -vt 0.222778 0.963321 -vt 0.222778 0.982529 -vt 0.402172 0.971937 -vt 0.407681 0.949903 -vt 0.407681 0.971937 -vt 0.407190 0.938886 -vt 0.435223 0.971937 -vt 0.440731 0.949903 -vt 0.440731 0.971937 -vt 1.001143 0.968363 -vt 0.751451 0.963957 -vt 1.001143 0.963957 -vt 0.396664 0.949903 -vt 0.396664 0.971937 -vt 0.385647 0.949903 -vt 0.391155 0.971937 -vt 0.385647 0.971937 -vt 0.429714 0.949903 -vt 0.429714 0.971937 -vt 0.405970 0.941954 -vt 0.413189 0.971937 -vt 0.418698 0.949903 -vt 0.418698 0.971937 -vt 0.397291 0.931479 -vt 0.391155 0.930869 -vt 0.376341 0.935817 -vt 0.375120 0.938886 -vt 1.001143 0.937516 -vt 0.751451 0.933109 -vt 1.001143 0.933109 -vt 0.397291 0.946293 -vt 0.751451 0.928702 -vt 1.001143 0.928702 -vt 0.751451 0.959550 -vt 1.001143 0.959550 -vt 0.751451 0.955143 -vt 1.001143 0.955143 -vt 0.380138 0.971937 -vt 0.402494 0.933217 -vt 0.446240 0.971937 -vt 0.451748 0.949903 -vt 0.451748 0.971937 -vt 0.391155 0.946903 -vt 0.385019 0.946293 -vt 1.001143 0.985990 -vt 0.751451 0.981584 -vt 1.001143 0.981584 -vt 1.001143 0.977177 -vt 0.751451 0.972770 -vt 1.001143 0.972770 -vt 1.001143 0.941922 -vt 0.751451 0.937516 -vt 0.379817 0.933217 -vt 0.379817 0.944555 -vt 1.001143 0.950736 -vt 0.751451 0.946329 -vt 1.001143 0.946329 -vt 1.001143 0.990397 -vt 0.751451 0.985990 -vt 0.446240 0.949903 -vt 0.424206 0.971937 -vt 0.457257 0.971937 -vt 0.751451 0.924295 -vt 1.001143 0.924295 -vt 0.374630 0.971937 -vt 0.380138 0.949903 -vt 0.376341 0.941954 -vt 0.751451 0.977177 -vt 0.385019 0.931479 -vt 1.001143 0.919889 -vt 0.369121 0.971937 -vt 0.374630 0.949903 -vt 0.751451 0.950736 -vt 0.751451 0.941922 -vt 0.751451 0.968363 -vt 0.424206 0.949903 -vt 0.405970 0.935817 -vt 0.413189 0.949903 -vt 0.629836 0.561021 -vt 0.394967 0.543113 -vt 0.629836 0.543113 -vt 0.373616 0.561021 -vt 0.394967 0.561021 -vt 0.629836 0.624694 -vt 0.394967 0.640612 -vt 0.394967 0.624694 -vt 0.651187 0.543113 -vt 0.394967 0.561021 -vt 0.629836 0.578929 -vt 0.394967 0.578929 -vt 0.373891 0.343374 -vt 0.275635 0.346782 -vt 0.275635 0.343374 -vt 0.373891 0.370636 -vt 0.275635 0.374043 -vt 0.275635 0.370636 -vt 0.373891 0.339966 -vt 0.275635 0.339966 -vt 0.373891 0.367228 -vt 0.275635 0.367228 -vt 0.373891 0.336558 -vt 0.275635 0.336559 -vt 0.373891 0.360413 -vt 0.275635 0.363820 -vt 0.275635 0.360413 -vt 0.373891 0.363821 -vt 0.373891 0.387675 -vt 0.275635 0.391082 -vt 0.275635 0.387674 -vt 0.373891 0.357005 -vt 0.275635 0.357005 -vt 0.373891 0.384267 -vt 0.275635 0.384266 -vt 0.373891 0.353597 -vt 0.275635 0.353597 -vt 0.373891 0.380859 -vt 0.275635 0.380859 -vt 0.373891 0.350189 -vt 0.275635 0.350189 -vt 0.373891 0.377452 -vt 0.275635 0.377451 -vt 0.373891 0.346782 -vt 0.373891 0.374044 -vt 0.456720 0.389109 -vt 0.462549 0.360841 -vt 0.469971 0.362977 -vt 0.471101 0.391501 -vt 0.477815 0.364282 -vt 0.485873 0.364721 -vt 0.493930 0.364282 -vt 0.485873 0.392305 -vt 0.501774 0.362977 -vt 0.500645 0.391501 -vt 0.528633 0.385193 -vt 0.509196 0.360841 -vt 0.516000 0.357931 -vt 0.522005 0.354323 -vt 0.541107 0.379857 -vt 0.561370 0.365523 -vt 0.527053 0.350112 -vt 0.568622 0.356906 -vt 0.531009 0.345412 -vt 0.573680 0.347619 -vt 0.533768 0.340346 -vt 0.403123 0.356906 -vt 0.437977 0.340346 -vt 0.440737 0.345412 -vt 0.410375 0.365523 -vt 0.444692 0.350112 -vt 0.419629 0.373242 -vt 0.449740 0.354323 -vt 0.430639 0.379857 -vt 0.455745 0.357931 -vt 0.443113 0.385193 -vt 0.469934 0.358809 -vt 0.904274 0.362232 -vt 0.469934 0.362232 -vt 0.469936 0.389609 -vt 0.904274 0.393032 -vt 0.469936 0.393032 -vt 0.469934 0.365654 -vt 0.904274 0.369076 -vt 0.469936 0.369076 -vt 0.904274 0.365654 -vt 0.469934 0.338276 -vt 0.904274 0.341698 -vt 0.469934 0.341698 -vt 0.904274 0.372498 -vt 0.469936 0.372498 -vt 0.904274 0.345120 -vt 0.469934 0.345120 -vt 0.904274 0.375921 -vt 0.469936 0.375921 -vt 0.904274 0.348543 -vt 0.469934 0.348543 -vt 0.904274 0.379343 -vt 0.469936 0.379343 -vt 0.904274 0.351965 -vt 0.469934 0.351965 -vt 0.904274 0.382765 -vt 0.469936 0.382765 -vt 0.904274 0.355387 -vt 0.469934 0.355387 -vt 0.904274 0.386187 -vt 0.469936 0.386187 -vt 0.904274 0.358809 -vt 0.904274 0.389609 -vt 0.340248 0.348227 -vt 0.320363 0.385978 -vt 0.320363 0.348227 -vt 0.479444 0.348227 -vt 0.459559 0.385978 -vt 0.459558 0.348227 -vt 0.300478 0.348227 -vt 0.280593 0.385978 -vt 0.280593 0.348227 -vt 0.439673 0.385978 -vt 0.439673 0.348227 -vt 0.260708 0.385978 -vt 0.260708 0.348227 -vt 0.419788 0.385978 -vt 0.419788 0.348227 -vt 0.240823 0.385978 -vt 0.240823 0.348227 -vt 0.399903 0.385978 -vt 0.399903 0.348227 -vt 0.220938 0.385978 -vt 0.220937 0.348227 -vt 0.380018 0.385978 -vt 0.380018 0.348227 -vt 0.201052 0.385978 -vt 0.201052 0.348227 -vt 0.360133 0.385978 -vt 0.360133 0.348227 -vt 0.181167 0.385978 -vt 0.181167 0.348227 -vt 0.340248 0.385978 -vt 0.161282 0.385978 -vt 0.161282 0.348227 -vt 0.300478 0.385978 -vt 0.465262 0.357410 -vt 0.443448 0.347861 -vt 0.457620 0.343424 -vt 0.476596 0.355363 -vt 0.472731 0.340694 -vt 0.488291 0.354660 -vt 0.488324 0.339757 -vt 0.499990 0.355327 -vt 0.503924 0.340647 -vt 0.511335 0.357348 -vt 0.519050 0.343341 -vt 0.521973 0.360662 -vt 0.533234 0.347760 -vt 0.531574 0.365169 -vt 0.546035 0.353769 -vt 0.557055 0.361184 -vt 0.539838 0.370730 -vt 0.565951 0.369772 -vt 0.546511 0.377171 -vt 0.572452 0.379268 -vt 0.551386 0.384293 -vt 0.576360 0.389375 -vt 0.554317 0.391873 -vt 0.422060 0.391873 -vt 0.404040 0.379288 -vt 0.425077 0.384308 -vt 0.410635 0.369821 -vt 0.430023 0.377208 -vt 0.419595 0.361262 -vt 0.436743 0.370789 -vt 0.430644 0.353867 -vt 0.445030 0.365243 -vt 0.454633 0.360738 -vt 0.315049 0.372883 -vt 0.906027 0.376391 -vt 0.315049 0.376392 -vt 0.315049 0.341307 -vt 0.906026 0.344816 -vt 0.315049 0.344816 -vt 0.315049 0.369375 -vt 0.906027 0.372883 -vt 0.315049 0.337799 -vt 0.906026 0.341307 -vt 0.315049 0.362358 -vt 0.906027 0.365866 -vt 0.315049 0.365866 -vt 0.906027 0.369375 -vt 0.315050 0.390425 -vt 0.906027 0.393934 -vt 0.315050 0.393934 -vt 0.315049 0.358849 -vt 0.906027 0.362358 -vt 0.315050 0.386917 -vt 0.906027 0.390425 -vt 0.315049 0.355341 -vt 0.906027 0.358849 -vt 0.315049 0.383408 -vt 0.906027 0.386917 -vt 0.315049 0.351833 -vt 0.906026 0.355341 -vt 0.315049 0.379900 -vt 0.906027 0.383408 -vt 0.315049 0.348324 -vt 0.906026 0.351833 -vt 0.906027 0.379900 -vt 0.906026 0.348324 -vt 0.218098 0.385855 -vt 0.231892 0.346573 -vt 0.231892 0.385855 -vt 0.314658 0.385855 -vt 0.328453 0.346573 -vt 0.328453 0.385855 -vt 0.342247 0.346573 -vt 0.342247 0.385855 -vt 0.425013 0.385855 -vt 0.438807 0.346573 -vt 0.438808 0.385855 -vt 0.300864 0.385855 -vt 0.314658 0.346573 -vt 0.411219 0.385855 -vt 0.425013 0.346573 -vt 0.287069 0.385855 -vt 0.300864 0.346573 -vt 0.397424 0.385855 -vt 0.411219 0.346573 -vt 0.273275 0.385855 -vt 0.287069 0.346573 -vt 0.383630 0.385855 -vt 0.397424 0.346573 -vt 0.259481 0.385855 -vt 0.273275 0.346573 -vt 0.369836 0.385855 -vt 0.383630 0.346573 -vt 0.245686 0.385855 -vt 0.259481 0.346573 -vt 0.356041 0.385855 -vt 0.369836 0.346573 -vt 0.245686 0.346573 -vt 0.356041 0.346573 -vt 0.394967 0.588878 -vt 0.394967 0.614745 -vt 0.629836 0.604796 -vt 0.629836 0.614745 -vt 0.394967 0.650560 -vt 0.629836 0.640612 -vt 0.629836 0.650560 -vt 0.629836 0.614745 -vt 0.394967 0.614745 -vt 0.394967 0.604796 -vt 0.651187 0.624694 -vt 0.651187 0.588878 -vt 0.629836 0.588878 -vt 0.651187 0.640612 -vt 0.397636 0.527195 -vt 0.373616 0.543113 -vt 0.373616 0.527195 -vt 0.651187 0.604796 -vt 0.651187 0.578929 -vt 0.629836 0.561021 -vt 0.651187 0.561021 -vt 0.373616 0.588878 -vt 0.373616 0.604796 -vt 0.373616 0.624694 -vt 0.373616 0.640612 -vt 0.373616 0.578929 -vt 0.421657 0.543113 -vt 0.397636 0.527195 -vt 0.421657 0.527195 -vt 0.494706 0.363560 -vt 0.494706 0.361672 -vt 0.503684 0.359803 -vt 0.427957 0.345154 -vt 0.438512 0.386616 -vt 0.427957 0.386616 -vt 0.438512 0.345154 -vt 0.455440 0.386616 -vt 0.473759 0.386616 -vt 0.461789 0.345154 -vt 0.473759 0.345154 -vt 0.491714 0.347023 -vt 0.491714 0.348912 -vt 0.482736 0.350780 -vt 0.443470 0.340643 -vt 0.494706 0.355292 -vt 0.499664 0.359803 -vt 0.499664 0.365429 -vt 0.503684 0.369940 -vt 0.494706 0.369940 -vt 0.482736 0.365429 -vt 0.482736 0.359803 -vt 0.482736 0.386616 -vt 0.478717 0.391128 -vt 0.482736 0.345154 -vt 0.450482 0.391128 -vt 0.486756 0.345154 -vt 0.503684 0.345154 -vt 0.486756 0.350780 -vt 0.482736 0.355292 -vt 0.503684 0.350780 -vt 0.478717 0.340643 -vt 0.482736 0.340643 -vt 0.207800 0.959635 -vt 0.207800 0.963321 -vt 0.222778 0.956368 -vt 0.207800 0.956368 -vt 0.192823 0.993077 -vt 0.207800 0.995696 -vt 0.192823 0.995696 -vt 0.207800 0.989655 -vt 0.207800 0.993077 -vt 0.192823 0.985951 -vt 0.192823 0.989655 -vt 0.207800 0.982529 -vt 0.192823 0.982529 -vt 0.237755 0.979263 -vt 0.252733 0.982529 -vt 0.237755 0.982529 -vt 0.252733 0.975577 -vt 0.222778 0.982529 -vt 0.237755 0.963321 -vt 0.237755 0.982529 -vt 0.192823 0.982529 -vt 0.207800 0.963321 -vt 0.207800 0.982529 -vt 0.192823 0.959635 -vt 0.192823 0.963321 -vt 0.207800 0.956368 -vt 0.192823 0.956368 -vt 0.207800 0.993077 -vt 0.222778 0.995696 -vt 0.207800 0.995696 -vt 0.222778 0.989655 -vt 0.222778 0.993077 -vt 0.207800 0.985951 -vt 0.207800 0.989655 -vt 0.222778 0.982529 -vt 0.207800 0.982529 -vt 0.237755 0.959635 -vt 0.222778 0.956368 -vt 0.237755 0.956368 -vt 0.222778 0.963321 -vt 0.466776 0.384004 -vt 0.481198 0.345003 -vt 0.481198 0.384004 -vt 0.466776 0.345003 -vt 0.481198 0.336139 -vt 0.450911 0.345003 -vt 0.458122 0.384004 -vt 0.450911 0.384004 -vt 0.442257 0.345003 -vt 0.450911 0.384004 -vt 0.442257 0.384004 -vt 0.458122 0.345003 -vt 0.466776 0.392868 -vt 0.481198 0.336139 -vt 0.488409 0.340571 -vt 0.481198 0.340571 -vt 0.488409 0.345003 -vt 0.481198 0.340571 -vt 0.488409 0.340571 -vt 0.458122 0.336139 -vt 0.450911 0.336139 -vt 0.442257 0.392868 -vt 0.435046 0.336139 -vt 0.450911 0.345003 -vt 0.442257 0.336139 -vt 0.458122 0.392868 -vt 0.402172 0.949903 -vt 0.435223 0.949903 -vt 0.391155 0.949903 -vt 0.751451 0.990397 -vt 0.457257 0.949903 -vt 0.751451 0.919889 -vt 0.369121 0.949903 -vt 0.373616 0.543113 -vt 0.651187 0.561021 -vt 0.373891 0.391083 -vt 0.515025 0.389109 -vt 0.552116 0.373242 -vt 0.398065 0.347619 -vt 0.904274 0.338276 -vt 0.479444 0.385978 -vt 0.400017 0.389375 -vt 0.906026 0.337799 -vt 0.218098 0.346573 -vt 0.397636 0.543113 -vt 0.373616 0.561021 -vt 0.397636 0.543113 -vt 0.503684 0.365429 -vt 0.461789 0.386616 -vt 0.482736 0.345154 -vt 0.450482 0.340643 -vt 0.482736 0.391128 -vt 0.443470 0.391128 -vt 0.491714 0.340643 -vt 0.491714 0.355292 -vt 0.222778 0.959635 -vt 0.207800 0.985951 -vt 0.252733 0.979263 -vt 0.207800 0.959635 -vt 0.222778 0.985951 -vt 0.222778 0.959635 -vt 0.466776 0.336139 -vt 0.481198 0.392868 -vt 0.488409 0.336139 -vt 0.481198 0.345003 -vt 0.435046 0.392868 -vt 0.450911 0.392868 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0002 -0.0005 1.0000 -vn -0.0003 -0.0003 1.0000 -vn 0.0000 -0.7356 -0.6774 -vn 1.0000 0.0000 0.0000 -vn 0.0003 1.0000 0.0001 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.9140 -0.4057 -vn 0.0046 -1.0000 0.0000 -vn 0.8793 -0.4707 0.0729 -vn -0.9726 -0.0356 -0.2296 -vn 0.0000 0.0319 0.9995 -vn -0.7071 -0.7071 -0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.8095 0.5872 -vn 1.0000 -0.0003 -0.0002 -vn -0.0001 1.0000 0.0000 -vn 0.0000 -0.6605 0.7508 -vn 0.0000 0.9191 -0.3941 -vn 0.0000 0.3289 0.9443 -vn 0.0000 -0.7682 -0.6402 -vn 0.0000 0.7682 0.6402 -vn 0.0000 -0.7508 -0.6605 -vn 0.0000 0.8638 0.5039 -vn 1.0000 -0.0001 -0.0004 -vn 0.7071 -0.7071 0.0000 -vn 1.0000 0.0001 0.0000 -vn 0.0000 -0.9140 0.4057 -vn 0.0000 -0.3371 0.9415 -vn -0.0261 0.9995 -0.0166 -vn 0.3978 0.7604 0.5134 -vn 0.0000 -0.0005 -1.0000 -vn -0.0006 -0.0005 -1.0000 -vn 0.0002 -0.0002 -1.0000 -vn 0.0002 1.0000 0.0001 -vn 0.0000 -0.0016 -1.0000 -vn -0.0896 0.9706 -0.2233 -vn -0.0241 0.9997 -0.0092 -vn 0.0000 0.0005 1.0000 -vn 0.0006 0.0006 1.0000 -vn -0.0002 0.0010 1.0000 -vn -1.0000 0.0000 -0.0005 -vn 0.0000 1.0000 -0.0002 -vn 0.0000 -0.2641 0.9645 -vn 0.0000 -0.3289 -0.9443 -vn 0.0000 -0.0319 -0.9995 -vn 0.0000 -0.8638 -0.5039 -vn -0.0001 1.0000 -0.0003 -vn 0.0003 1.0000 -0.0002 -vn 0.0096 -0.0240 -0.9997 -vn 0.9246 -0.0428 -0.3786 -vn -0.9724 0.0000 0.2334 -vn 0.0000 0.9975 -0.0710 -vn -0.0005 1.0000 -0.0004 -vn 0.0002 1.0000 0.0000 -vn 0.0004 1.0000 -0.0005 -vn -0.0003 1.0000 0.0000 -vn -0.0002 -1.0000 0.0000 -vn 0.0002 -1.0000 -0.0000 -vn -1.0000 -0.0001 -0.0003 -vn -1.0000 -0.0002 0.0003 -vn -0.9239 0.3826 -0.0006 -vn -1.0000 -0.0001 0.0000 -vn 0.9239 -0.3826 0.0006 -vn 0.0000 1.0000 -0.0006 -vn 0.0005 1.0000 -0.0000 -vn 0.0004 1.0000 -0.0004 -vn -0.7506 0.6608 0.0000 -vn -0.7505 0.6609 -0.0003 -vn 1.0000 0.0000 0.0006 -vn 1.0000 0.0002 -0.0004 -vn 0.0005 1.0000 -0.0004 -vn -0.0005 1.0000 -0.0002 -vn 0.0001 1.0000 0.0004 -vn -0.0003 1.0000 0.0002 -vn -0.0008 1.0000 -0.0004 -vn -0.0008 1.0000 0.0000 -vn 0.0000 -0.9732 0.2298 -vn 0.6036 0.7973 -0.0002 -vn 0.6036 -0.7973 0.0002 -vn -1.0000 -0.0003 -0.0001 -vn 1.0000 -0.0003 -0.0000 -vn -1.0000 -0.0003 0.0001 -vn 0.0000 0.7557 0.6549 -vn -0.9239 0.0440 0.3801 -vn 0.0009 1.0000 -0.0005 -vn 0.0008 1.0000 0.0000 -vn 0.0044 1.0000 -0.0009 -vn 0.0044 1.0000 0.0002 -vn 0.0044 1.0000 -0.0002 -vn 1.0000 -0.0003 0.0002 -vn 1.0000 -0.0000 0.0003 -vn -0.0005 1.0000 -0.0001 -vn -0.0001 1.0000 0.0001 -vn -0.0004 1.0000 -0.0004 -vn -0.0044 1.0000 0.0003 -vn -0.0043 1.0000 -0.0007 -vn -0.0044 1.0000 -0.0002 -vn 0.0000 0.0016 1.0000 -vn 0.0000 0.6605 -0.7508 -vn -0.2402 0.9706 0.0138 -vn 0.0000 -0.9981 -0.0609 -vn 0.4499 0.8867 0.1069 -vn 0.7500 0.6615 0.0000 -vn 0.8710 -0.0283 -0.4904 -vn 0.0000 -0.9993 0.0372 -vn 0.0000 -0.9734 -0.2293 -vn 0.9724 0.0000 0.2334 -vn -0.9246 -0.0428 -0.3786 -vn -0.0001 -0.0001 1.0000 -vn -0.7584 -0.1494 -0.6344 -vn -0.0001 -0.0001 -1.0000 -vn -0.0055 -1.0000 -0.0009 -vn -0.0000 -0.0012 -1.0000 -vn -0.0016 -0.0001 1.0000 -vn -0.0013 0.0000 1.0000 -vn 0.3721 -0.0892 0.9239 -vn 0.8264 0.4866 0.2833 -vn -0.9239 0.3535 0.1464 -vn -0.7604 -0.4218 0.4938 -vn -0.6345 0.4904 0.5974 -vn 0.0000 0.0000 0.0000 -vn -0.7506 0.6607 -0.0003 -vn 0.7673 0.6413 -0.0038 -vn -0.0001 -0.0193 0.9998 -vn 0.0331 -0.0200 -0.9993 -vn -0.9998 -0.0000 -0.0193 -vn -0.9996 -0.0257 0.0081 -vn -0.9995 0.0187 -0.0246 -vn -0.9992 -0.0373 -0.0105 -vn -0.9992 -0.0208 0.0326 -vn -0.9995 -0.0096 0.0294 -vn -0.9996 -0.0253 -0.0092 -vn 0.0136 -0.0278 -0.9995 -vn 0.0000 -0.8095 -0.5872 -vn -0.9999 -0.0172 0.0008 -vn -0.9999 -0.0030 -0.0169 -vn -0.0094 -0.0033 1.0000 -vn -0.0015 -0.0001 1.0000 -vn -0.0168 -0.0036 0.9999 -vn -1.0000 0.0085 -0.0049 -vn -0.9998 -0.0176 -0.0135 -vn -0.9998 0.0000 -0.0221 -vn 0.7603 0.6494 0.0154 -vn -0.0194 0.0108 0.9998 -vn -0.7505 0.6609 -0.0002 -vn 0.7612 0.6485 -0.0004 -vn -0.0243 -0.0115 0.9996 -vn -0.4343 0.4828 -0.7604 -vn -0.9417 -0.0499 0.3329 -vn -0.9706 0.1748 0.1653 -vn -0.9997 0.0142 -0.0216 -vn -0.9997 -0.0067 0.0250 -vn -0.9706 -0.2364 0.0445 -vn -1.0000 0.0002 0.0004 -vn 0.0000 0.2641 -0.9645 -vn 0.0009 -0.0006 1.0000 -vn -0.8200 -0.5442 -0.1775 -vn -0.7505 -0.5236 -0.4034 -vn -0.5849 -0.7954 -0.1589 -vn 0.7816 0.5143 -0.3529 -vn 0.7393 0.6734 0.0000 -vn 0.7560 0.6546 0.0000 -vn 0.7670 0.6411 0.0255 -vn 0.7744 0.6327 0.0000 -vn 0.7621 0.6474 0.0000 -vn 0.7499 0.6614 0.0172 -vn 0.7495 0.6620 0.0000 -vn 0.7404 0.6720 0.0176 -vn 0.7527 0.6583 0.0086 -vn 0.7592 0.6509 0.0000 -vn 0.7464 0.6655 0.0000 -vn -1.0000 0.0004 0.0000 -vn 0.7172 0.6969 0.0000 -vn -0.7500 0.6615 0.0000 -vn 0.7428 0.6685 0.0374 -vn 0.8179 0.5401 -0.1985 -vn 0.9209 0.3794 -0.0890 -vn 0.0000 0.1530 0.9882 -vn 0.0000 -0.9882 0.1530 -vn 0.0000 -0.1530 -0.9882 -vn 0.0000 0.9684 -0.2496 -vn 0.8793 0.4707 -0.0729 -vn 0.9726 -0.0356 -0.2296 -vn -0.9118 -0.4059 0.0629 -vn 0.0000 -0.9966 -0.0819 -vn -0.7250 -0.1054 -0.6806 -vn -0.7250 0.1054 0.6806 -vn -0.9118 0.4059 -0.0629 -vn 0.6586 0.1152 0.7436 -vn 0.6586 -0.1152 -0.7436 -vn 0.1455 0.0000 0.9894 -vn -0.1455 0.0000 0.9894 -vn 0.6237 0.0000 -0.7816 -vn -0.9978 0.0000 -0.0658 -vn -0.4125 0.0000 0.9109 -vn 0.1454 0.0000 -0.9894 -vn 0.9415 0.0000 0.3371 -vn -0.4126 0.0000 -0.9109 -vn -0.7747 0.0000 0.6323 -vn 0.9978 0.0000 -0.0658 -vn -0.4125 0.0000 0.9110 -vn 0.8763 0.0000 -0.4817 -vn -0.6238 0.0000 0.7816 -vn -0.6237 0.0000 -0.7816 -vn 0.7747 0.0000 -0.6323 -vn 0.1455 0.0000 -0.9894 -vn -0.9415 0.0000 0.3371 -vn -0.6237 0.0000 -0.7817 -vn 0.4125 0.0000 -0.9110 -vn 0.7747 0.0000 0.6323 -vn 0.6237 0.0000 0.7817 -vn 0.8763 0.0000 0.4817 -vn -0.9800 0.0000 -0.1992 -vn 0.9415 0.0000 -0.3371 -vn 0.9800 0.0000 0.1992 -vn 0.1454 0.0000 0.9894 -vn -0.7747 0.0000 -0.6323 -vn -0.9415 0.0000 -0.3371 -vn 0.9800 0.0000 0.1991 -vn 0.4126 0.0000 0.9109 -vn -0.8763 0.0000 0.4817 -vn 0.4125 0.0000 -0.9109 -vn 0.7747 0.0000 -0.6324 -vn 0.9978 0.0000 0.0658 -vn -0.9800 0.0000 0.1991 -vn 0.4125 0.0000 0.9110 -vn -0.9978 0.0000 0.0658 -vn 0.6237 0.0000 0.7816 -vn -0.1455 0.0000 -0.9894 -vn -0.6237 0.0000 0.7817 -vn 0.9800 0.0000 -0.1992 -vn -0.9978 0.0000 0.0659 -vn -0.8763 0.0000 -0.4817 -vn 0.0000 -0.0005 1.0000 -vn 0.0000 -0.7357 -0.6774 -vn 0.0003 1.0000 0.0002 -vn 1.0000 -0.0004 -0.0002 -vn -0.0081 0.9996 -0.0256 -vn -0.0300 0.9995 -0.0077 -vn -0.1464 0.9239 0.3535 -vn 0.5597 0.7604 0.3294 -vn -0.0005 -0.0003 -1.0000 -vn 0.0135 0.9998 -0.0176 -vn -0.2379 0.9706 -0.0355 -vn 0.0006 0.0008 1.0000 -vn -1.0000 -0.0004 -0.0004 -vn -0.0007 0.9999 -0.0172 -vn -0.0000 1.0000 -0.0003 -vn -0.0206 -0.0155 -0.9997 -vn 0.9537 0.0000 -0.3006 -vn 0.0000 1.0000 -0.0008 -vn -0.0003 1.0000 -0.0002 -vn 1.0000 0.0006 0.0002 -vn 0.0005 1.0000 -0.0002 -vn -0.0003 1.0000 -0.0005 -vn -0.0003 1.0000 0.0001 -vn -0.2002 0.9706 0.1333 -vn 0.4664 0.8680 -0.1706 -vn -0.0002 -0.0003 1.0000 -vn -0.9537 0.0000 -0.3006 -vn -0.0042 -1.0000 0.0000 -vn 0.3341 -0.1865 0.9239 -vn -0.0001 -0.0003 1.0000 -vn -0.7504 0.6609 -0.0003 -vn 0.7608 0.6487 -0.0210 -vn -0.0229 -0.0209 -0.9995 -vn -0.0172 -0.0001 0.9999 -vn 0.7644 0.6447 0.0004 -vn -0.0146 0.0166 0.9998 -vn -0.0001 -0.0002 1.0000 -vn -0.7506 0.6607 -0.0002 -vn 0.7581 0.6520 -0.0119 -vn -0.0269 -0.0009 0.9996 -vn 0.3014 0.5753 -0.7604 -vn -1.0000 0.0000 0.0004 -vn -1.0000 0.0006 -0.0002 -vn 0.6587 0.1152 0.7436 -vn 0.6587 -0.1152 -0.7436 -vn 0.6237 0.0000 -0.7817 -vn -0.4126 0.0000 0.9109 -vn -0.1454 0.0000 0.9894 -vn 0.4126 0.0000 -0.9109 -vn 0.6238 0.0000 0.7816 -vn -0.7747 0.0000 -0.6324 -vn 0.4125 0.0000 0.9109 -vn -0.4125 0.0000 -0.9109 -vn -0.6237 0.0000 0.7816 -vn -0.1454 0.0000 -0.9894 -vn 0.9239 -0.3827 0.0000 -vn -0.7071 0.7071 -0.0000 -vn -0.9239 0.3827 -0.0000 -vn -0.9239 -0.3827 0.0000 -vn -0.8587 0.3689 0.3557 -vn -0.3827 0.9239 -0.0000 -vn 0.9952 0.0980 0.0000 -vn -0.9952 0.0980 0.0000 -vn 0.9239 0.3827 0.0000 -vn 0.3827 -0.9239 -0.0000 -vn 0.3827 0.9239 0.0000 -vn 0.7071 0.7071 0.0000 -vn -0.3827 -0.9239 -0.0000 -vn 0.4258 -0.8725 -0.2396 -vn -0.4258 -0.8725 0.2396 -vn -0.4258 -0.8725 -0.2396 -vn 0.4710 -0.4076 0.7823 -vn 0.4258 -0.8725 0.2396 -vn -0.9391 -0.2861 0.1905 -vn -0.9391 0.2861 -0.1905 -vn -0.9391 -0.2861 -0.1905 -vn -0.4710 -0.4076 -0.7823 -vn -0.4258 0.8725 -0.2396 -vn 0.4258 0.8725 0.2396 -vn 0.4258 0.8725 -0.2396 -vn -0.6426 0.6426 0.4173 -vn -0.8396 0.3478 0.4173 -vn -0.3478 0.8396 0.4173 -vn -0.0000 0.9088 0.4173 -vn 0.3478 0.8396 0.4173 -vn 0.6426 0.6426 0.4173 -vn 0.8396 0.3478 0.4173 -vn 0.9088 0.0000 0.4173 -vn 0.8396 -0.3478 0.4173 -vn 0.6426 -0.6426 0.4173 -vn 0.3478 -0.8396 0.4173 -vn -0.0000 -0.9088 0.4173 -vn -0.3478 -0.8396 0.4173 -vn -0.6426 -0.6426 0.4173 -vn -0.8396 -0.3478 0.4173 -vn -0.9088 -0.0000 0.4173 -vn -0.6330 0.6325 -0.4464 -vn -0.8269 0.3427 -0.4458 -vn -0.6326 0.6329 -0.4464 -vn -0.3426 0.8261 -0.4474 -vn -0.3419 0.8264 -0.4474 -vn -0.0005 0.8938 -0.4485 -vn 0.0004 0.8938 -0.4485 -vn 0.3414 0.8254 -0.4497 -vn 0.3421 0.8250 -0.4497 -vn 0.6310 0.6315 -0.4507 -vn 0.6314 0.6310 -0.4507 -vn 0.8243 0.3417 -0.4514 -vn 0.8244 0.3413 -0.4515 -vn 0.8921 0.0000 -0.4518 -vn 0.8244 -0.3413 -0.4516 -vn 0.8242 -0.3416 -0.4516 -vn 0.6313 -0.6309 -0.4510 -vn 0.6309 -0.6313 -0.4510 -vn 0.3421 -0.8249 -0.4501 -vn 0.3414 -0.8252 -0.4500 -vn 0.0004 -0.8936 -0.4489 -vn -0.0005 -0.8936 -0.4489 -vn -0.3418 -0.8263 -0.4477 -vn -0.3426 -0.8259 -0.4477 -vn -0.6324 -0.6329 -0.4467 -vn -0.6329 -0.6324 -0.4467 -vn -0.8269 -0.3427 -0.4459 -vn -0.8270 -0.3423 -0.4459 -vn -0.8952 -0.0000 -0.4456 -vn -0.8271 0.3424 -0.4458 -vn 0.9391 0.2861 -0.1905 -vn 0.9391 -0.2861 0.1905 -vn -0.9391 0.2861 0.1905 -vn -0.4258 0.8725 0.2396 -vn 0.9391 -0.2861 -0.1905 -vn -0.4710 -0.4076 0.7823 -vn 0.4710 0.4076 0.7823 -vn 0.9391 0.2861 0.1905 -vn -0.4710 0.4076 0.7823 -vn 0.4710 0.4076 -0.7823 -vn 0.4710 -0.4076 -0.7823 -vn -0.4710 0.4076 -0.7823 -vn -0.1675 0.8991 0.4044 -vn 0.1675 0.8991 0.4044 -vn 0.3557 0.3689 0.8587 -vn -0.3557 -0.3689 0.8587 -vn 0.3557 -0.3689 0.8587 -vn -0.3557 0.3689 0.8587 -vn -0.8587 -0.3689 0.3557 -vn 0.8587 0.3689 0.3557 -vn 0.8587 -0.3689 0.3557 -vn 0.1675 -0.8991 0.4044 -vn -0.1675 -0.8991 0.4044 -vn 0.4044 0.8991 0.1675 -vn -0.4044 0.8991 0.1675 -vn -0.4044 -0.8991 0.1675 -vn 0.4044 -0.8991 0.1675 -vn 0.3687 0.9202 0.1318 -vn -0.3687 0.9202 -0.1318 -vn -0.3687 0.9202 0.1318 -vn 0.3687 0.9202 -0.1318 -vn -0.4970 0.4970 -0.7113 -vn 0.9894 0.0000 -0.1452 -vn 0.9202 0.3687 0.1318 -vn 0.9894 0.0000 0.1452 -vn -0.9202 0.3687 0.1318 -vn -0.9202 0.3687 -0.1318 -vn 0.9202 0.3687 -0.1318 -vn -0.9894 0.0000 0.1452 -vn -0.9894 0.0000 -0.1452 -vn 0.4970 0.4970 0.7113 -vn -0.4970 0.4970 0.7113 -vn 0.5969 0.0000 0.8023 -vn 0.4970 0.4970 -0.7113 -vn -0.5969 0.0000 -0.8023 -vn 0.5969 0.0000 -0.8023 -vn -0.5969 0.0000 0.8023 -s off -f 281/318/83 257/319/83 280/320/83 -f 441/321/84 430/322/84 428/323/84 -f 638/324/85 645/325/85 643/326/85 -f 298/327/83 267/328/83 287/329/83 -f 466/330/86 458/331/84 456/332/87 -f 316/333/83 341/334/83 342/335/83 -f 468/336/88 472/337/88 469/338/88 -f 506/339/83 491/340/83 503/341/83 -f 344/342/83 320/343/83 332/344/83 -f 511/345/89 484/346/89 512/347/89 -f 742/348/90 738/349/91 736/350/91 -f 482/351/92 484/352/92 486/353/92 -f 343/354/83 320/343/83 318/355/83 -f 234/356/85 1064/357/85 235/358/85 -f 817/359/93 826/360/93 818/361/93 -f 326/362/83 345/363/83 346/364/83 -f 1031/365/94 1034/366/94 1023/367/94 -f 1025/368/95 1026/369/95 1027/370/95 -f 605/371/85 584/372/85 585/373/85 -f 534/374/96 556/375/96 555/376/96 -f 406/377/84 403/378/84 407/379/84 -f 447/380/85 449/381/85 448/382/85 -f 833/383/97 832/384/97 830/385/97 -f 826/386/85 820/387/85 818/388/85 -f 836/389/98 840/390/98 839/391/98 -f 758/392/85 765/393/85 763/394/85 -f 436/395/89 439/396/89 437/397/89 -f 551/398/99 553/399/99 548/400/99 -f 728/401/85 735/402/85 733/403/85 -f 452/404/89 454/405/89 455/406/100 -f 683/407/85 690/408/85 688/409/85 -f 841/410/101 837/411/101 840/412/101 -f 566/413/102 560/414/102 558/415/102 -f 386/416/85 383/417/85 384/418/85 -f 385/419/103 383/420/103 382/421/103 -f 395/422/85 389/423/85 402/424/85 -f 552/425/104 557/426/104 553/427/104 -f 449/428/105 443/429/105 445/430/105 -f 524/431/106 482/432/106 486/433/106 -f 541/434/85 550/435/85 542/436/85 -f 668/437/85 675/438/85 673/439/85 -f 573/440/83 563/441/83 565/442/83 -f 416/443/83 438/444/83 415/445/83 -f 560/414/107 562/446/107 561/447/107 -f 493/448/92 487/449/92 491/450/92 -f 698/451/85 705/452/85 703/453/85 -f 510/454/108 488/455/108 512/456/108 -f 497/457/85 507/458/85 502/459/85 -f 757/460/90 753/461/91 751/462/91 -f 456/463/109 467/464/89 513/465/89 -f 787/466/90 783/467/91 781/468/91 -f 424/469/84 431/470/84 432/471/84 -f 839/472/110 838/473/110 836/474/110 -f 285/475/83 265/476/83 284/477/83 -f 400/478/91 404/479/91 417/480/91 -f 835/481/111 831/482/111 834/483/111 -f 410/484/89 407/379/89 405/485/89 -f 324/486/83 344/342/83 345/363/83 -f 523/487/112 476/488/112 474/489/112 -f 524/490/113 475/491/113 478/492/113 -f 440/493/98 435/494/98 433/495/98 -f 454/405/83 448/496/83 446/497/83 -f 388/498/84 386/416/84 387/499/84 -f 682/500/90 678/501/114 676/502/91 -f 652/503/90 648/504/115 646/505/91 -f 568/506/84 567/507/84 564/508/84 -f 519/509/116 514/510/117 508/511/118 -f 772/512/90 768/513/91 766/514/91 -f 773/515/85 780/516/85 778/517/85 -f 418/518/85 426/519/85 414/520/85 -f 540/521/91 548/522/91 547/523/91 -f 523/524/85 473/525/85 468/526/85 -f 712/527/119 708/528/114 706/529/91 -f 472/530/120 481/531/120 469/532/120 -f 546/533/85 541/534/85 542/535/85 -f 492/536/91 489/537/91 487/538/91 -f 824/539/91 808/540/121 825/541/122 -f 349/542/83 330/543/83 348/544/83 -f 667/545/90 663/546/91 661/547/91 -f 515/548/123 517/549/124 516/550/125 -f 420/551/83 440/552/83 421/553/83 -f 317/554/84 371/555/84 315/556/84 -f 459/557/98 466/558/126 463/559/98 -f 412/560/91 410/484/91 409/561/91 -f 543/562/91 540/563/91 547/564/91 -f 461/565/84 457/566/84 444/567/84 -f 496/568/112 498/569/112 497/570/112 -f 802/571/90 798/572/91 796/573/91 -f 423/574/85 419/575/85 431/470/85 -f 788/576/85 795/577/85 793/578/85 -f 282/579/83 259/580/83 281/318/83 -f 519/509/127 515/548/127 520/581/127 -f 343/354/83 316/333/83 342/335/83 -f 697/582/90 693/583/114 691/584/91 -f 435/585/85 428/586/85 436/587/85 -f 442/588/84 394/589/84 396/590/84 -f 369/591/84 313/592/84 370/593/84 -f 570/594/128 558/595/128 567/596/128 -f 803/597/85 819/598/85 826/599/85 -f 461/565/85 445/600/85 443/601/85 -f 388/602/91 385/419/91 382/603/91 -f 554/604/129 537/605/129 538/606/129 -f 414/520/84 425/607/84 413/608/84 -f 412/560/98 411/609/98 403/378/98 -f 727/610/90 723/611/91 721/612/91 -f 743/613/85 750/614/85 748/615/85 -f 285/475/83 237/616/83 269/617/83 -f 830/618/91 834/619/91 833/620/91 -f 538/621/130 536/622/130 535/623/130 -f 409/561/83 405/485/83 411/609/83 -f 506/624/131 502/625/131 507/626/131 -f 713/627/85 720/628/85 718/629/85 -f 287/329/83 296/630/83 295/631/83 -f 278/632/83 252/633/83 277/634/83 -f 254/635/83 278/632/83 268/636/83 -f 301/637/83 336/638/83 304/639/83 -f 367/640/84 305/641/84 307/642/84 -f 372/643/84 319/644/84 373/645/84 -f 325/646/84 375/647/84 323/648/84 -f 365/649/84 302/650/84 303/651/84 -f 370/593/84 315/556/84 371/555/84 -f 290/652/83 287/329/83 292/653/83 -f 377/654/84 325/646/84 327/655/84 -f 338/656/83 306/657/83 337/658/83 -f 455/406/132 446/659/91 453/660/133 -f 273/661/83 242/662/83 272/663/83 -f 254/635/83 280/320/83 257/319/83 -f 301/637/83 349/542/83 335/664/83 -f 284/477/83 263/665/83 283/666/83 -f 373/645/84 321/667/84 374/668/84 -f 307/642/84 368/669/84 367/640/84 -f 298/327/83 290/652/83 288/670/83 -f 366/671/84 303/651/84 305/641/84 -f 820/672/83 825/541/134 818/388/83 -f 380/673/84 331/674/84 302/650/84 -f 310/675/83 340/676/83 312/677/83 -f 336/638/83 306/657/83 304/639/83 -f 326/362/83 347/678/83 328/679/83 -f 327/655/84 378/680/84 377/654/84 -f 375/647/84 321/667/84 323/648/84 -f 314/681/83 340/676/83 341/334/83 -f 237/616/83 271/682/83 239/683/83 -f 381/684/98 382/421/98 383/420/98 -f 385/419/89 386/416/89 384/418/89 -f 276/685/83 252/633/83 250/686/83 -f 272/663/83 239/683/83 271/682/83 -f 275/687/83 250/686/83 248/688/83 -f 298/327/83 289/689/83 300/690/83 -f 300/690/83 297/691/83 298/327/83 -f 297/691/83 286/692/83 298/327/83 -f 286/692/83 294/693/83 267/328/83 -f 294/693/83 293/694/83 267/328/83 -f 267/328/83 299/695/83 287/329/83 -f 299/695/83 296/630/83 287/329/83 -f 287/329/83 290/652/83 298/327/83 -f 381/684/98 388/696/98 382/421/98 -f 385/419/89 387/499/89 386/416/89 -f 401/697/135 402/424/135 392/698/135 -f 397/699/136 399/700/136 398/701/136 -f 442/702/91 393/703/91 399/704/91 -f 413/608/89 400/478/89 414/520/89 -f 415/445/89 395/422/89 416/443/89 -f 415/445/89 417/480/89 393/703/89 -f 408/705/137 401/697/137 390/706/137 -f 628/707/85 619/708/85 620/709/85 -f 429/710/98 422/711/98 424/712/98 -f 422/711/98 423/713/98 424/712/98 -f 425/714/89 426/715/89 427/716/89 -f 429/717/91 421/553/91 433/718/91 -f 403/719/91 411/720/91 404/479/91 -f 393/703/91 417/480/91 407/721/91 -f 417/480/91 405/722/91 407/721/91 -f 403/719/91 404/479/91 399/704/91 -f 404/723/98 408/724/98 389/725/98 -f 413/608/89 402/424/89 400/478/89 -f 415/445/89 393/703/89 395/422/89 -f 432/471/89 431/470/89 419/575/89 -f 430/322/89 427/716/89 428/323/89 -f 514/510/138 453/726/139 508/511/140 -f 437/727/91 439/728/91 416/443/91 -f 416/443/139 413/608/139 430/729/139 -f 413/608/91 425/607/91 430/729/91 -f 437/727/141 416/443/141 430/729/141 -f 429/717/91 424/469/91 432/471/91 -f 421/553/91 440/552/91 433/718/91 -f 429/717/91 432/471/91 421/553/91 -f 434/730/85 420/551/85 435/585/85 -f 420/551/85 419/575/85 435/585/85 -f 419/575/85 422/731/85 441/732/85 -f 428/586/85 427/733/85 418/518/85 -f 428/586/142 418/518/142 436/587/142 -f 418/518/143 415/445/143 436/587/143 -f 415/445/85 438/444/85 436/587/85 -f 435/585/85 419/575/85 441/732/85 -f 446/497/98 449/734/98 453/735/144 -f 444/736/98 459/737/98 445/738/98 -f 443/739/89 460/740/89 461/741/89 -f 462/742/98 463/743/98 453/744/145 -f 417/480/91 411/720/91 405/722/91 -f 468/745/98 469/746/98 470/747/98 -f 471/748/89 472/337/89 473/749/89 -f 475/750/98 477/751/98 478/752/98 -f 476/753/89 479/754/89 474/755/89 -f 480/756/98 481/757/98 482/758/98 -f 483/759/89 484/352/89 485/760/89 -f 478/761/106 462/762/106 450/763/106 -f 490/764/98 491/765/98 487/766/98 -f 492/767/89 493/448/89 494/768/89 -f 495/769/98 496/770/98 497/771/98 -f 498/569/89 499/772/146 500/773/89 -f 501/774/147 500/775/147 499/772/148 -f 502/776/98 503/777/98 504/778/98 -f 505/779/89 506/624/89 507/626/89 -f 508/511/149 453/726/150 463/780/151 -f 509/781/98 489/782/98 510/783/98 -f 511/784/89 512/456/89 488/455/89 -f 472/785/89 512/347/89 484/346/89 -f 513/786/89 467/787/89 464/788/89 -f 503/341/83 491/340/83 459/789/83 -f 651/790/152 652/791/153 646/792/152 -f 414/520/89 417/480/89 418/518/89 -f 514/510/154 515/548/89 516/550/155 -f 466/793/156 516/550/157 517/549/158 -f 516/550/159 456/332/160 513/786/161 -f 520/794/162 453/795/162 455/796/162 -f 455/796/163 515/797/163 456/798/163 -f 421/553/89 419/575/89 420/551/89 -f 518/799/164 453/795/164 519/800/164 -f 449/734/98 451/801/98 453/735/165 -f 521/802/89 452/404/89 455/406/166 -f 459/803/98 450/804/98 445/805/98 -f 465/806/89 460/807/89 443/808/89 -f 453/744/167 451/809/98 462/742/98 -f 462/742/98 522/810/98 463/743/98 -f 452/811/89 521/812/89 464/813/89 -f 475/750/98 523/814/98 477/751/98 -f 476/753/89 524/490/89 479/754/89 -f 480/756/98 525/815/98 481/757/98 -f 483/759/89 486/353/89 484/352/89 -f 483/816/106 465/817/106 486/433/106 -f 465/817/106 464/813/106 524/431/106 -f 464/813/106 479/818/106 524/431/106 -f 478/761/106 477/819/106 462/762/106 -f 465/817/106 524/431/106 486/433/106 -f 450/763/106 480/820/106 482/432/106 -f 462/762/168 451/821/168 450/763/168 -f 482/432/106 478/761/106 450/763/106 -f 480/822/91 450/823/91 525/824/91 -f 450/823/91 459/825/91 509/826/91 -f 525/824/91 450/823/91 509/826/91 -f 459/825/91 490/827/91 487/538/91 -f 492/536/91 494/828/91 460/829/91 -f 492/536/91 460/829/91 488/830/91 -f 460/829/91 465/831/91 511/832/91 -f 488/830/91 460/829/91 511/832/91 -f 465/831/91 483/833/91 485/834/91 -f 485/834/91 511/832/91 465/831/91 -f 489/537/91 509/826/91 459/825/91 -f 489/537/91 459/825/91 487/538/91 -f 498/569/89 501/835/89 499/772/169 -f 466/793/170 517/549/140 463/780/171 -f 517/549/172 508/511/173 463/780/174 -f 504/836/85 522/837/85 502/459/85 -f 522/837/85 462/838/85 470/839/85 -f 502/459/85 522/837/85 497/457/85 -f 462/838/85 477/840/85 523/524/85 -f 468/526/85 470/839/85 462/838/85 -f 470/839/85 495/841/85 522/837/85 -f 462/838/85 523/524/85 468/526/85 -f 497/457/85 522/837/85 495/841/85 -f 467/842/85 505/843/85 507/458/85 -f 464/844/85 467/842/85 471/845/85 -f 467/842/85 507/458/85 498/846/85 -f 474/847/85 479/848/85 464/844/85 -f 500/849/85 471/845/85 467/842/85 -f 471/845/85 473/525/85 464/844/85 -f 473/525/85 474/847/85 464/844/85 -f 498/846/85 500/849/85 467/842/85 -f 471/850/89 501/851/89 472/785/89 -f 509/852/98 481/853/98 525/854/98 -f 521/855/89 455/856/175 464/788/89 -f 455/856/176 513/786/89 464/788/89 -f 506/339/83 505/857/83 467/858/83 -f 467/858/83 460/859/83 506/339/83 -f 460/859/83 494/860/83 493/861/83 -f 460/859/83 493/861/83 506/339/83 -f 491/340/83 490/862/83 459/789/83 -f 522/863/83 504/864/83 503/341/83 -f 459/789/83 463/865/83 522/863/83 -f 522/863/83 503/341/83 459/789/83 -f 455/866/177 514/510/178 513/786/179 -f 514/510/180 516/550/181 513/786/182 -f 455/796/163 520/794/163 515/797/163 -f 518/799/164 466/867/164 453/795/164 -f 496/868/183 512/869/183 501/851/183 -f 291/870/83 267/328/83 293/694/83 -f 273/661/83 246/871/83 244/872/83 -f 571/873/184 561/447/184 562/874/184 -f 437/727/91 429/717/91 433/718/91 -f 261/875/83 283/666/83 263/665/83 -f 379/876/84 329/877/84 331/674/84 -f 338/656/83 310/675/83 308/878/83 -f 812/879/90 808/880/185 806/881/91 -f 402/424/186 391/882/186 392/698/186 -f 395/422/89 413/608/89 416/443/89 -f 647/883/187 642/884/188 641/885/189 -f 807/886/84 811/887/84 803/597/84 -f 347/678/83 330/543/83 328/679/83 -f 545/888/89 542/535/89 540/521/89 -f 551/398/89 542/436/89 550/889/89 -f 551/398/89 554/604/89 552/425/89 -f 552/425/89 538/606/89 556/375/89 -f 556/375/89 535/623/89 555/376/89 -f 541/434/98 543/562/98 547/523/98 -f 541/434/98 548/400/98 549/890/98 -f 539/891/98 548/400/98 553/427/98 -f 571/873/98 570/594/98 569/892/98 -f 564/508/89 573/893/89 565/442/89 -f 568/894/98 569/892/98 570/594/98 -f 572/895/89 560/414/89 561/447/89 -f 571/873/98 559/896/98 566/413/98 -f 574/897/85 575/898/85 576/899/85 -f 577/900/85 578/901/85 579/902/85 -f 567/596/89 572/895/89 573/893/89 -f 470/903/98 496/904/98 495/905/98 -f 395/422/190 397/906/190 398/907/190 -f 449/908/98 450/909/98 451/910/98 -f 404/723/98 398/701/98 399/700/98 -f 633/911/85 616/912/85 632/913/85 -f 407/721/91 399/704/91 393/703/91 -f 553/427/98 537/605/98 539/891/98 -f 518/914/191 456/332/191 466/330/191 -f 443/429/89 464/813/89 465/915/89 -f 393/703/192 394/589/192 395/422/192 -f 510/916/98 469/917/98 481/853/98 -f 401/697/83 391/918/83 390/919/83 -f 389/725/193 390/919/193 391/918/193 -f 589/920/85 602/921/85 588/922/85 -f 653/923/85 660/924/85 658/925/85 -f 275/687/83 246/871/83 274/926/83 -f 637/927/85 609/928/85 610/929/85 -f 610/929/85 611/930/85 637/927/85 -f 611/930/85 576/899/85 575/898/85 -f 637/927/85 611/930/85 575/898/85 -f 628/707/85 621/931/85 627/932/85 -f 607/933/85 584/372/85 606/934/85 -f 600/935/85 589/920/85 590/936/85 -f 604/937/85 587/938/85 603/939/85 -f 605/371/85 586/940/85 604/937/85 -f 636/941/85 613/942/85 635/943/85 -f 577/900/85 583/944/85 607/933/85 -f 621/931/85 622/945/85 627/932/85 -f 622/945/85 623/946/85 626/947/85 -f 627/932/85 622/945/85 626/947/85 -f 623/946/85 624/948/85 625/949/85 -f 625/949/85 626/947/85 623/946/85 -f 608/950/85 580/951/85 581/952/85 -f 581/952/85 582/953/85 608/950/85 -f 582/953/85 579/902/85 578/901/85 -f 608/950/85 582/953/85 578/901/85 -f 369/591/84 309/954/84 311/955/84 -f 600/935/85 591/956/85 599/957/85 -f 634/958/85 613/942/85 614/959/85 -f 634/958/85 615/960/85 633/911/85 -f 603/939/85 588/922/85 602/921/85 -f 632/913/85 617/961/85 631/962/85 -f 618/963/85 631/962/85 617/961/85 -f 629/964/85 618/963/85 619/708/85 -f 458/965/89 460/966/89 467/464/89 -f 574/897/85 612/967/85 636/941/85 -f 592/968/85 593/969/85 598/970/85 -f 593/969/85 594/971/85 597/972/85 -f 598/970/85 593/969/85 597/972/85 -f 594/971/85 595/973/85 596/974/85 -f 596/974/85 597/972/85 594/971/85 -f 557/975/98 536/622/98 537/976/98 -f 598/970/85 591/956/85 592/968/85 -f 638/977/194 639/978/194 640/979/194 -f 641/885/195 642/980/196 643/981/196 -f 679/982/197 680/983/197 674/984/197 -f 651/985/198 646/792/198 650/986/198 -f 652/791/199 649/987/200 644/988/200 -f 696/989/152 697/990/153 691/991/152 -f 647/992/201 644/988/84 638/324/84 -f 807/993/188 814/994/188 815/995/202 -f 638/996/98 640/979/98 647/997/203 -f 648/998/204 641/999/205 643/1000/98 -f 777/1001/93 773/1002/93 778/1003/93 -f 641/1004/206 648/504/206 647/992/206 -f 720/1005/83 723/611/83 718/629/83 -f 645/1006/98 650/986/98 646/1007/98 -f 653/1008/194 654/1009/194 655/1010/194 -f 656/1011/196 657/1012/196 658/1013/196 -f 709/1014/197 710/1015/197 704/1016/197 -f 666/1017/198 661/1018/198 665/1019/198 -f 667/1020/199 664/1021/200 659/1022/200 -f 812/1023/207 813/1024/152 809/1025/152 -f 662/1026/84 659/1022/84 653/923/84 -f 672/1027/188 677/1028/208 669/1029/188 -f 653/1030/98 655/1010/98 662/1031/98 -f 663/1032/98 656/1033/98 658/1034/98 -f 672/1035/93 668/1036/93 673/1037/93 -f 656/1038/98 663/546/98 662/1026/98 -f 752/1039/84 749/1040/84 743/613/84 -f 660/1041/98 665/1019/98 661/1042/98 -f 668/1036/194 669/1043/194 670/1044/209 -f 671/1045/210 672/1046/196 673/1047/196 -f 694/1048/197 695/1049/197 689/1050/197 -f 681/1051/198 676/1052/198 680/983/198 -f 682/1053/199 679/1054/200 674/1055/200 -f 666/1056/152 667/1020/153 661/1018/152 -f 747/1057/188 752/1058/188 744/1059/188 -f 668/1060/98 670/1044/211 677/1061/212 -f 678/1062/213 671/1063/214 673/1064/98 -f 747/1065/93 743/1066/93 748/1067/93 -f 671/1068/215 678/501/216 677/1069/217 -f 675/1070/83 678/501/218 673/439/83 -f 675/1070/98 680/983/98 676/1071/98 -f 683/1072/194 684/1073/194 685/1074/194 -f 686/1075/210 687/1076/196 688/1077/196 -f 554/1078/219 549/890/219 539/1079/219 -f 664/1080/197 665/1019/197 659/1081/197 -f 696/1082/198 691/991/198 695/1049/198 -f 697/990/199 694/1083/200 689/1084/200 -f 756/1085/152 757/1086/153 751/1087/152 -f 737/1088/84 734/1089/84 728/401/84 -f 777/1090/188 782/1091/188 774/1092/188 -f 683/1093/98 685/1074/98 692/1094/220 -f 693/1095/213 686/1096/214 688/1097/98 -f 657/1098/93 653/1008/93 658/1099/93 -f 686/1100/215 693/583/216 692/1101/221 -f 735/1102/83 738/349/83 733/403/83 -f 690/1103/98 695/1049/98 691/1104/98 -f 698/1105/194 699/1106/194 700/1107/222 -f 701/1108/210 702/1109/196 703/1110/196 -f 739/1111/197 740/1112/197 734/1113/197 -f 711/1114/198 706/1115/198 710/1015/198 -f 712/1116/223 709/1117/200 704/1118/200 -f 724/1119/152 721/1120/152 726/1121/152 -f 692/1101/224 689/1084/84 683/407/84 -f 732/1122/188 737/1123/188 729/1124/188 -f 698/1125/98 700/1107/225 707/1126/226 -f 708/1127/213 701/1128/214 703/1129/98 -f 687/1130/93 683/1072/93 688/1131/93 -f 701/1132/215 708/528/216 707/1133/227 -f 705/1134/83 708/528/218 703/453/83 -f 705/1134/98 710/1015/98 706/1135/98 -f 713/1136/194 714/1137/194 715/1138/194 -f 716/1139/196 717/1140/196 718/1141/196 -f 769/1142/197 770/1143/197 764/1144/197 -f 726/1145/198 721/1120/198 725/1146/198 -f 727/1147/199 724/1148/200 719/1149/200 -f 787/1150/207 786/1151/152 784/1152/152 -f 722/1153/84 719/1149/84 713/627/84 -f 702/1154/188 707/1155/228 699/1156/188 -f 713/1157/98 715/1138/98 722/1158/98 -f 723/1159/98 716/1160/98 718/1161/98 -f 732/1162/93 728/1163/93 733/1164/93 -f 716/1165/98 723/611/98 722/1153/98 -f 707/1133/229 704/1118/84 698/451/84 -f 720/1005/98 725/1146/98 721/1166/98 -f 728/1163/194 729/1167/194 730/1168/194 -f 731/1169/196 732/1170/196 733/1171/196 -f 784/1172/197 785/1173/197 779/1174/197 -f 741/1175/198 736/1176/198 740/1112/198 -f 742/1177/199 739/1178/200 734/1089/200 -f 711/1179/152 712/1116/230 706/1115/152 -f 690/1103/83 693/583/218 688/409/83 -f 687/1180/188 692/1181/231 684/1182/188 -f 728/1183/98 730/1168/98 737/1184/98 -f 738/1185/98 731/1186/98 733/1187/98 -f 702/1188/93 698/1105/93 703/1189/93 -f 731/1190/98 738/349/98 737/1088/98 -f 782/1191/84 779/1192/84 773/515/84 -f 735/1102/98 740/1112/98 736/1193/98 -f 743/1066/194 744/1194/194 745/1195/194 -f 746/1196/196 747/1197/196 748/1198/196 -f 649/1199/197 650/986/197 644/1200/197 -f 756/1201/198 751/1087/198 755/1202/198 -f 757/1086/199 754/1203/200 749/1040/200 -f 681/1204/152 682/1053/153 676/1052/152 -f 767/1205/84 764/1206/84 758/392/84 -f 743/1207/98 745/1195/98 752/1208/98 -f 753/1209/98 746/1210/98 748/1211/98 -f 803/1212/93 829/1213/93 804/1214/93 -f 746/1215/98 753/461/98 752/1039/98 -f 750/1216/83 753/461/83 748/615/83 -f 750/1216/98 755/1202/98 751/1217/98 -f 758/1218/194 759/1219/194 760/1220/194 -f 761/1221/196 762/1222/196 763/1223/196 -f 435/494/83 437/397/83 433/495/83 -f 821/1224/197 822/1225/197 819/1226/197 -f 771/1227/198 766/1228/198 770/1143/198 -f 772/1229/199 769/1230/200 764/1206/200 -f 823/1231/152 827/1232/152 824/1233/152 -f 660/1041/83 663/546/83 658/925/83 -f 657/1234/188 662/1235/188 654/1236/188 -f 758/1237/98 760/1220/98 767/1238/98 -f 768/1239/98 761/1240/98 763/1241/98 -f 717/1242/93 713/1136/93 718/1243/93 -f 761/1244/98 768/513/98 767/1205/98 -f 677/1069/232 674/1055/84 668/437/84 -f 765/1245/98 770/1143/98 766/1246/98 -f 773/1002/194 774/1247/194 775/1248/194 -f 776/1249/196 777/1250/196 778/1251/196 -f 799/1252/197 800/1253/197 794/1254/197 -f 786/1255/198 781/1256/198 785/1173/198 -f 787/1150/199 784/1257/200 779/1192/200 -f 772/1229/207 771/1258/152 769/1259/152 -f 765/1245/83 768/513/83 763/394/83 -f 762/1260/188 767/1261/188 759/1262/188 -f 773/1263/98 775/1248/98 782/1264/98 -f 783/1265/98 776/1266/98 778/1267/98 -f 762/1268/93 758/1218/93 763/1269/93 -f 776/1270/98 783/467/98 782/1191/98 -f 780/1271/83 783/467/83 778/517/83 -f 780/1271/98 785/1173/98 781/1272/98 -f 788/1273/194 789/1274/194 790/1275/194 -f 791/1276/196 792/1277/196 793/1278/196 -f 724/1279/197 725/1146/197 719/1280/197 -f 801/1281/198 796/1282/198 800/1253/198 -f 802/1283/199 799/1284/200 794/1285/200 -f 742/1177/207 741/1286/152 739/1287/152 -f 797/1288/84 794/1285/84 788/576/84 -f 717/1289/188 722/1290/188 714/1291/188 -f 788/1292/98 790/1275/98 797/1293/98 -f 798/1294/98 791/1295/98 793/1296/98 -f 642/1297/93 638/977/93 643/1298/93 -f 791/1299/98 798/572/98 797/1288/98 -f 645/1006/83 648/504/233 643/326/83 -f 795/1300/98 800/1253/98 796/1301/98 -f 803/1212/194 804/1214/194 805/1302/194 -f 812/1023/199 809/1303/200 811/887/200 -f 799/1304/152 796/1282/152 801/1305/152 -f 792/1306/188 797/1307/188 789/1308/188 -f 803/1309/98 805/1302/98 807/1310/98 -f 815/1311/234 808/880/235 807/886/98 -f 816/1312/210 817/1313/196 818/1314/196 -f 809/1315/197 810/1316/197 811/1317/197 -f 823/1318/198 824/1233/198 822/1225/198 -f 795/1300/83 798/572/83 793/578/83 -f 825/1319/236 816/1320/214 818/1321/98 -f 792/1322/93 788/1273/93 793/1323/93 -f 816/1324/215 825/541/237 808/540/238 -f 820/672/98 822/1225/98 824/1325/98 -f 806/1326/84 827/1327/84 828/1328/84 -f 508/511/239 518/914/98 519/509/98 -f 810/1316/98 819/1329/98 811/1317/98 -f 572/1330/240 569/892/240 573/893/240 -f 821/1331/241 828/1332/241 827/1333/241 -f 754/1334/197 755/1202/197 749/1335/197 -f 817/1336/242 808/880/243 815/1311/244 -f 831/1337/83 833/383/83 834/483/83 -f 835/1338/84 830/1339/84 832/1340/84 -f 837/1341/83 839/472/83 840/412/83 -f 841/1342/84 836/1343/84 838/1344/84 -f 647/883/245 640/1345/246 639/1346/246 -f 645/1006/98 644/1200/98 650/986/98 -f 662/1235/247 655/1347/247 654/1236/247 -f 660/1041/98 659/1081/98 665/1019/98 -f 677/1028/248 670/1348/249 669/1029/250 -f 675/1070/98 674/984/98 680/983/98 -f 692/1181/251 685/1349/252 684/1182/252 -f 690/1103/98 689/1050/98 695/1049/98 -f 707/1155/253 700/1350/254 699/1156/252 -f 705/1134/98 704/1016/98 710/1015/98 -f 722/1290/246 715/1351/246 714/1291/246 -f 720/1005/98 719/1280/98 725/1146/98 -f 737/1123/255 730/1352/255 729/1124/255 -f 735/1102/98 734/1113/98 740/1112/98 -f 752/1058/256 745/1353/256 744/1059/256 -f 750/1216/257 749/1335/257 755/1202/257 -f 767/1261/255 760/1354/255 759/1262/255 -f 765/1245/98 764/1144/98 770/1143/98 -f 782/1091/258 775/1355/258 774/1092/258 -f 780/1271/98 779/1174/98 785/1173/98 -f 797/1307/255 790/1356/255 789/1308/255 -f 795/1300/98 794/1254/98 800/1253/98 -f 807/993/246 805/1357/246 804/1358/246 -f 820/672/98 819/1226/98 822/1225/98 -f 828/1328/198 810/1316/198 813/1359/198 -f 828/1328/83 813/1359/83 806/1326/83 -f 829/1213/85 814/1360/85 804/1214/85 -f 810/1316/98 828/1361/98 819/1329/98 -f 821/1331/200 819/1362/200 828/1332/200 -f 806/1363/259 824/1233/259 827/1232/259 -f 814/1364/91 829/1365/91 817/1336/91 -f 817/1336/188 816/1312/260 808/880/261 -f 815/1311/262 814/1364/188 817/1336/188 -f 444/736/98 457/1366/98 459/737/98 -f 901/1367/83 918/1368/83 902/1369/83 -f 918/1368/83 903/1370/83 902/1369/83 -f 903/1370/83 920/1371/83 904/1372/83 -f 904/1372/83 921/1373/83 905/1374/83 -f 905/1374/83 906/1375/83 890/1376/83 -f 906/1375/83 891/1377/83 890/1376/83 -f 907/1378/83 892/1379/83 891/1377/83 -f 908/1380/83 893/1381/83 892/1379/83 -f 909/1382/83 894/1383/83 893/1381/83 -f 894/1383/83 911/1384/83 895/1385/83 -f 911/1384/83 896/1386/83 895/1385/83 -f 912/1387/83 897/1388/83 896/1386/83 -f 913/1389/83 898/1390/83 897/1388/83 -f 898/1390/83 915/1391/83 899/1392/83 -f 899/1392/83 916/1393/83 900/1394/83 -f 900/1394/83 917/1395/83 901/1367/83 -f 930/1396/83 928/1397/83 924/1398/83 -f 961/1399/84 976/1400/84 960/1401/84 -f 960/1401/84 975/1402/84 959/1403/84 -f 959/1403/84 974/1404/84 958/1405/84 -f 957/1406/84 974/1404/84 973/1407/84 -f 956/1408/84 973/1407/84 972/1409/84 -f 956/1408/84 971/1410/84 955/1411/84 -f 955/1411/84 970/1412/84 954/1413/84 -f 969/1414/84 970/1412/84 985/1415/84 -f 968/1416/84 985/1415/84 984/1417/84 -f 967/1418/84 984/1417/84 983/1419/84 -f 966/1420/84 983/1419/84 982/1421/84 -f 965/1422/84 982/1421/84 981/1423/84 -f 964/1424/84 981/1423/84 980/1425/84 -f 964/1424/84 979/1426/84 963/1427/84 -f 962/1428/84 979/1426/84 978/1429/84 -f 962/1428/84 977/1430/84 961/1399/84 -f 990/1431/84 994/1432/84 998/1433/84 -f 1037/1434/263 1023/367/263 1019/1435/263 -f 1027/1436/264 1023/367/264 1022/1437/264 -f 1030/1438/265 1026/369/265 1028/1439/265 -f 1021/1440/89 1032/1441/89 1033/1442/89 -f 1038/1443/98 1035/1444/98 1039/1445/98 -f 1024/1446/266 1028/1439/266 1025/368/266 -f 1019/1435/267 1033/1442/267 1020/1447/267 -f 1024/1446/268 1029/1448/268 1030/1438/268 -f 1020/1447/265 1025/368/265 1018/1449/265 -f 1027/1436/269 1039/1445/269 1035/1444/269 -f 1029/1448/270 1027/1436/270 1026/1450/270 -f 1036/1451/271 1018/1449/271 1025/368/271 -f 1038/1443/272 1022/1452/272 1037/1434/272 -f 1037/1434/273 1036/1451/273 1038/1443/273 -f 1023/367/274 1021/1440/274 1019/1435/274 -f 1032/1441/275 1031/365/275 1024/1446/275 -f 1065/1453/84 1073/1454/84 1071/1455/84 -f 1072/1456/83 1082/1457/83 1067/1458/83 -f 1083/1459/85 1086/1460/85 1084/1461/85 -f 1087/1462/84 1095/1463/84 1093/1464/84 -f 1094/1465/83 1104/1466/83 1089/1467/83 -f 1107/1468/85 1106/1469/85 1105/1470/85 -f 1121/1471/85 1108/1472/85 1107/1468/85 -f 1124/1473/85 1105/1470/85 1106/1469/85 -f 1159/1474/276 1162/1475/276 1161/1476/276 -f 1161/1476/277 1164/1477/277 1163/1478/277 -f 1134/1479/278 1130/1480/278 1135/1481/278 -f 1195/1482/278 1127/1483/278 1196/1484/278 -f 1238/1485/279 1241/1486/279 1239/1487/279 -f 1224/1488/280 1227/1489/280 1226/1490/280 -f 1222/1491/277 1225/1492/277 1224/1488/277 -f 1191/1493/281 1133/1494/281 1131/1495/281 -f 1210/1496/282 1213/1497/282 1212/1498/282 -f 1249/1499/283 1251/1500/283 1126/1501/283 -f 1228/1502/284 1231/1503/284 1230/1504/284 -f 1204/1505/285 1207/1506/285 1206/1507/285 -f 1163/1478/286 1166/1508/286 1165/1509/286 -f 1199/1510/287 1201/1511/287 1200/1512/287 -f 1165/1509/288 1168/1513/288 1167/1514/288 -f 1187/1515/289 1129/1516/289 1128/1517/289 -f 1197/1518/290 1199/1510/290 1127/1483/290 -f 1252/1519/291 1194/1520/291 1192/1521/291 -f 1149/1522/282 1152/1523/282 1151/1524/282 -f 1232/1525/292 1235/1526/292 1233/1527/292 -f 1248/1528/293 1126/1501/293 1125/1529/293 -f 1132/1530/294 1135/1481/294 1133/1494/294 -f 1153/1531/295 1156/1532/295 1155/1533/295 -f 1155/1533/296 1158/1534/296 1157/1535/296 -f 1212/1498/297 1215/1536/297 1214/1537/297 -f 1179/1538/298 1182/1539/298 1180/1540/298 -f 1200/1512/299 1203/1541/299 1202/1542/299 -f 1138/1543/287 1140/1544/287 1139/1545/287 -f 1167/1514/284 1170/1546/284 1169/1547/284 -f 1208/1548/300 1211/1549/300 1210/1496/300 -f 1220/1550/301 1223/1551/301 1222/1491/301 -f 1185/1552/302 1128/1517/302 1186/1553/302 -f 1242/1554/303 1245/1555/303 1243/1556/303 -f 1240/1557/298 1243/1556/298 1241/1486/298 -f 1147/1558/304 1150/1559/304 1149/1522/304 -f 1218/1560/305 1221/1561/305 1220/1550/305 -f 1231/1503/306 1233/1527/306 1230/1504/306 -f 1193/1562/307 1196/1484/307 1194/1520/307 -f 1136/1563/308 1138/1543/308 1130/1480/308 -f 1151/1524/297 1154/1564/297 1153/1531/297 -f 1171/1565/292 1174/1566/292 1172/1567/292 -f 1170/1546/306 1172/1567/306 1169/1547/306 -f 1206/1507/309 1209/1568/309 1208/1548/309 -f 1173/1569/310 1176/1570/310 1174/1566/310 -f 1157/1535/311 1160/1571/311 1159/1474/311 -f 1236/1572/312 1239/1487/312 1237/1573/312 -f 1145/1574/309 1148/1575/309 1147/1558/309 -f 1216/1576/313 1219/1577/313 1218/1560/313 -f 1246/1578/302 1125/1529/302 1247/1579/302 -f 1250/1580/314 1192/1581/314 1251/1500/314 -f 1188/1582/283 1190/1583/283 1129/1516/283 -f 1226/1490/315 1229/1584/315 1228/1502/315 -f 1181/1585/303 1184/1586/303 1182/1539/303 -f 1139/1545/299 1142/1587/299 1141/1588/299 -f 1141/1588/316 1144/1589/316 1143/1590/316 -f 1189/1591/314 1131/1592/314 1190/1583/314 -f 1143/1590/285 1146/1593/285 1145/1574/285 -f 1178/1594/317 1177/1595/317 1253/1596/317 -f 1244/1597/318 1247/1579/318 1245/1555/318 -f 1253/1596/279 1180/1540/279 1178/1594/279 -f 1202/1542/316 1205/1598/316 1204/1505/316 -f 1183/1599/318 1186/1553/318 1184/1586/318 -f 1234/1600/310 1237/1573/310 1235/1526/310 -f 1214/1537/295 1217/1601/295 1216/1576/295 -f 281/318/83 259/580/83 257/319/83 -f 441/321/84 429/1602/84 430/322/84 -f 638/324/85 644/1603/85 645/325/85 -f 298/327/83 286/692/83 267/328/83 -f 466/330/319 457/1604/84 458/331/84 -f 316/333/83 314/681/83 341/334/83 -f 468/336/320 473/749/320 472/337/320 -f 506/339/83 493/861/83 491/340/83 -f 344/342/83 322/1605/83 320/343/83 -f 511/345/89 485/1606/89 484/346/89 -f 742/348/321 737/1088/91 738/349/91 -f 482/351/92 481/1607/92 484/352/92 -f 343/354/83 332/344/83 320/343/83 -f 234/356/85 236/1608/85 1064/357/85 -f 817/359/93 829/1609/93 826/360/93 -f 326/362/83 324/486/83 345/363/83 -f 1031/365/94 1032/1441/94 1034/366/94 -f 1025/368/95 1028/1439/95 1026/369/95 -f 605/371/85 606/934/85 584/372/85 -f 534/374/96 557/975/96 556/375/96 -f 406/377/84 412/560/84 403/378/84 -f 447/380/85 452/404/85 449/381/85 -f 833/383/97 831/1337/97 832/384/97 -f 826/386/85 819/1610/85 820/387/85 -f 836/389/98 841/1342/98 840/390/98 -f 758/392/85 764/1611/85 765/393/85 -f 436/395/89 438/1612/89 439/396/89 -f 551/398/99 552/1613/99 553/399/99 -f 728/401/85 734/1614/85 735/402/85 -f 452/404/89 447/380/89 454/405/89 -f 683/407/85 689/1615/85 690/408/85 -f 841/410/101 838/1616/101 837/411/101 -f 566/413/102 559/896/102 560/414/102 -f 386/416/85 381/1617/85 383/417/85 -f 385/419/103 384/418/103 383/420/103 -f 395/422/85 398/907/85 389/423/85 -f 552/425/104 556/1618/104 557/426/104 -f 449/428/105 452/1619/105 443/429/105 -f 524/431/106 478/761/106 482/432/106 -f 541/434/85 549/1620/85 550/435/85 -f 668/437/85 674/1621/85 675/438/85 -f 573/440/83 569/1622/83 563/441/83 -f 416/443/83 439/728/83 438/444/83 -f 560/414/107 559/1623/107 562/446/107 -f 493/448/92 492/767/92 487/449/92 -f 698/451/85 704/1624/85 705/452/85 -f 510/454/108 489/1625/108 488/455/108 -f 497/457/85 498/846/85 507/458/85 -f 757/460/321 752/1039/91 753/461/91 -f 456/463/322 458/1626/89 467/464/89 -f 787/466/321 782/1191/91 783/467/91 -f 424/469/84 423/574/84 431/470/84 -f 839/472/110 837/1341/110 838/473/110 -f 285/475/83 269/617/83 265/476/83 -f 400/478/91 408/705/91 404/479/91 -f 835/481/111 832/1627/111 831/482/111 -f 410/484/89 406/377/89 407/379/89 -f 324/486/83 322/1605/83 344/342/83 -f 523/487/112 475/1628/112 476/488/112 -f 524/490/113 476/753/113 475/491/113 -f 440/493/98 434/1629/98 435/494/98 -f 454/405/83 447/380/83 448/496/83 -f 388/498/84 381/1630/84 386/416/84 -f 682/500/321 677/1069/323 678/501/324 -f 652/503/321 647/992/325 648/504/326 -f 568/506/84 570/1631/84 567/507/84 -f 519/509/116 520/581/116 514/510/327 -f 772/512/321 767/1205/91 768/513/91 -f 773/515/85 779/1632/85 780/516/85 -f 418/518/85 427/733/85 426/519/85 -f 540/521/91 551/1633/91 548/522/91 -f 523/524/85 474/1634/85 473/525/85 -f 712/527/119 707/1133/328 708/528/324 -f 472/530/120 484/346/120 481/531/120 -f 546/533/85 544/1635/85 541/534/85 -f 492/536/91 488/830/91 489/537/91 -f 824/539/91 806/1636/91 808/540/329 -f 349/542/83 334/1637/83 330/543/83 -f 667/545/321 662/1026/91 663/546/91 -f 515/548/123 518/914/123 517/549/330 -f 420/551/83 434/730/83 440/552/83 -f 317/554/84 372/643/84 371/555/84 -f 459/557/98 457/1638/98 466/558/331 -f 412/560/91 406/377/91 410/484/91 -f 543/562/91 545/888/91 540/563/91 -f 461/565/84 458/1639/84 457/566/84 -f 496/568/112 501/835/112 498/569/112 -f 802/571/321 797/1288/91 798/572/91 -f 423/574/85 422/731/85 419/575/85 -f 788/576/85 794/1640/85 795/577/85 -f 282/579/83 261/875/83 259/580/83 -f 519/509/127 518/914/127 515/548/127 -f 343/354/83 318/355/83 316/333/83 -f 697/582/321 692/1101/332 693/583/324 -f 435/585/85 441/732/85 428/586/85 -f 442/588/84 397/1641/84 394/589/84 -f 369/591/84 311/955/84 313/592/84 -f 570/594/128 566/1642/128 558/595/128 -f 803/597/85 811/1643/85 819/598/85 -f 461/565/85 444/1644/85 445/600/85 -f 388/602/91 387/499/91 385/419/91 -f 554/604/129 539/891/129 537/605/129 -f 414/520/84 426/519/84 425/607/84 -f 412/560/98 409/561/98 411/609/98 -f 727/610/321 722/1153/91 723/611/91 -f 743/613/85 749/1645/85 750/614/85 -f 285/475/83 270/1646/83 237/616/83 -f 830/618/91 835/1338/91 834/619/91 -f 538/621/130 537/976/130 536/622/130 -f 409/561/83 410/484/83 405/485/83 -f 506/624/131 503/1647/131 502/625/131 -f 713/627/85 719/1648/85 720/628/85 -f 278/632/83 279/1649/83 252/633/83 -f 254/635/83 279/1649/83 278/632/83 -f 301/637/83 335/664/83 336/638/83 -f 367/640/84 366/671/84 305/641/84 -f 372/643/84 317/554/84 319/644/84 -f 325/646/84 376/1650/84 375/647/84 -f 365/649/84 380/673/84 302/650/84 -f 370/593/84 313/592/84 315/556/84 -f 377/654/84 376/1650/84 325/646/84 -f 338/656/83 308/878/83 306/657/83 -f 455/406/333 454/405/91 446/659/91 -f 273/661/83 244/872/83 242/662/83 -f 254/635/83 268/636/83 280/320/83 -f 301/637/83 334/1637/83 349/542/83 -f 284/477/83 265/476/83 263/665/83 -f 373/645/84 319/644/84 321/667/84 -f 307/642/84 309/954/84 368/669/84 -f 366/671/84 365/649/84 303/651/84 -f 820/672/83 824/1325/83 825/541/334 -f 380/673/84 379/876/84 331/674/84 -f 310/675/83 339/1651/83 340/676/83 -f 336/638/83 337/658/83 306/657/83 -f 326/362/83 346/364/83 347/678/83 -f 327/655/84 329/877/84 378/680/84 -f 375/647/84 374/668/84 321/667/84 -f 314/681/83 312/677/83 340/676/83 -f 237/616/83 270/1646/83 271/682/83 -f 276/685/83 277/634/83 252/633/83 -f 272/663/83 242/662/83 239/683/83 -f 275/687/83 276/685/83 250/686/83 -f 401/697/335 400/478/335 402/424/335 -f 397/699/136 442/1652/136 399/700/136 -f 442/702/91 396/590/91 393/703/91 -f 415/445/89 418/518/89 417/480/89 -f 408/705/137 400/478/137 401/697/137 -f 628/707/85 629/964/85 619/708/85 -f 429/710/98 441/1653/98 422/711/98 -f 430/322/89 425/714/89 427/716/89 -f 514/510/336 455/866/337 453/726/133 -f 446/497/98 448/496/98 449/734/98 -f 417/480/91 404/479/91 411/720/91 -f 472/785/89 501/851/89 512/347/89 -f 651/790/152 649/1654/152 652/791/207 -f 414/520/89 400/478/89 417/480/89 -f 514/510/338 520/581/89 515/548/89 -f 466/793/339 456/332/340 516/550/341 -f 520/794/162 519/800/162 453/795/162 -f 421/553/89 432/471/89 419/575/89 -f 471/850/89 500/1655/89 501/851/89 -f 509/852/98 510/916/98 481/853/98 -f 496/868/183 510/1656/183 512/869/183 -f 273/661/83 274/926/83 246/871/83 -f 571/873/184 572/895/184 561/447/184 -f 437/727/91 430/729/91 429/717/91 -f 261/875/83 282/579/83 283/666/83 -f 379/876/84 378/680/84 329/877/84 -f 338/656/83 339/1651/83 310/675/83 -f 812/879/321 807/886/91 808/880/342 -f 402/424/186 389/423/186 391/882/186 -f 395/422/89 402/424/89 413/608/89 -f 647/883/343 639/1346/188 642/884/188 -f 807/886/84 812/1657/344 811/887/84 -f 347/678/83 348/544/83 330/543/83 -f 545/888/89 546/533/89 542/535/89 -f 551/398/89 540/521/89 542/436/89 -f 551/398/89 550/889/89 554/604/89 -f 552/425/89 554/604/89 538/606/89 -f 556/375/89 538/621/89 535/623/89 -f 541/434/98 544/1635/98 543/562/98 -f 541/434/98 547/523/98 548/400/98 -f 539/891/98 549/890/98 548/400/98 -f 571/873/98 566/1642/98 570/594/98 -f 564/508/89 567/507/89 573/893/89 -f 568/894/98 563/441/98 569/892/98 -f 572/895/89 558/415/89 560/414/89 -f 571/873/98 562/446/98 559/896/98 -f 567/596/89 558/595/89 572/895/89 -f 470/903/98 469/917/98 496/904/98 -f 395/422/190 394/589/190 397/906/190 -f 449/908/98 445/1658/98 450/909/98 -f 404/723/98 389/725/98 398/701/98 -f 633/911/85 615/960/85 616/912/85 -f 407/721/91 403/719/91 399/704/91 -f 553/427/98 557/975/98 537/605/98 -f 518/914/191 515/548/191 456/332/191 -f 443/429/89 452/811/89 464/813/89 -f 393/703/192 396/590/192 394/589/192 -f 510/916/98 496/904/98 469/917/98 -f 401/697/83 392/698/83 391/918/83 -f 389/725/345 408/724/345 390/919/345 -f 589/920/85 601/1659/85 602/921/85 -f 653/923/85 659/1660/85 660/924/85 -f 275/687/83 248/688/83 246/871/83 -f 628/707/85 620/709/85 621/931/85 -f 607/933/85 583/944/85 584/372/85 -f 600/935/85 601/1659/85 589/920/85 -f 604/937/85 586/940/85 587/938/85 -f 605/371/85 585/373/85 586/940/85 -f 636/941/85 612/967/85 613/942/85 -f 577/900/85 579/902/85 583/944/85 -f 369/591/84 368/669/84 309/954/84 -f 600/935/85 590/936/85 591/956/85 -f 634/958/85 635/943/85 613/942/85 -f 634/958/85 614/959/85 615/960/85 -f 603/939/85 587/938/85 588/922/85 -f 632/913/85 616/912/85 617/961/85 -f 618/963/85 630/1661/85 631/962/85 -f 629/964/85 630/1661/85 618/963/85 -f 458/965/89 461/741/89 460/966/89 -f 574/897/85 576/899/85 612/967/85 -f 557/975/98 534/374/98 536/622/98 -f 598/970/85 599/957/85 591/956/85 -f 679/982/346 681/1051/346 680/983/346 -f 696/989/152 694/1662/152 697/990/207 -f 647/992/347 652/1663/348 644/988/84 -f 807/993/188 804/1358/188 814/994/188 -f 777/1001/93 774/1247/93 773/1002/93 -f 720/1005/83 721/1166/83 723/611/83 -f 709/1014/346 711/1114/346 710/1015/346 -f 812/1023/349 806/1326/152 813/1024/152 -f 662/1026/84 667/1664/348 659/1022/84 -f 672/1027/188 671/1045/260 677/1028/350 -f 672/1035/93 669/1043/93 668/1036/93 -f 752/1039/84 757/1665/348 749/1040/84 -f 694/1048/346 696/1082/346 695/1049/346 -f 666/1056/152 664/1666/152 667/1020/207 -f 747/1057/188 746/1196/188 752/1058/188 -f 747/1065/93 744/1194/93 743/1066/93 -f 675/1070/83 676/1071/83 678/501/351 -f 554/1078/219 550/889/219 549/890/219 -f 664/1080/346 666/1017/346 665/1019/346 -f 756/1085/152 754/1667/152 757/1086/207 -f 737/1088/84 742/1668/344 734/1089/84 -f 777/1090/188 776/1249/188 782/1091/188 -f 657/1098/93 654/1009/93 653/1008/93 -f 735/1102/83 736/1193/83 738/349/83 -f 739/1111/346 741/1175/346 740/1112/346 -f 724/1119/152 727/1147/153 721/1120/152 -f 692/1101/352 697/1669/348 689/1084/84 -f 732/1122/188 731/1169/188 737/1123/188 -f 687/1130/93 684/1073/93 683/1072/93 -f 705/1134/83 706/1135/83 708/528/351 -f 769/1142/346 771/1227/346 770/1143/346 -f 787/1150/349 781/1256/152 786/1151/152 -f 722/1153/84 727/1670/344 719/1149/84 -f 702/1154/188 701/1108/260 707/1155/353 -f 732/1162/93 729/1167/93 728/1163/93 -f 707/1133/354 712/1671/355 704/1118/84 -f 784/1172/346 786/1255/346 785/1173/346 -f 711/1179/152 709/1672/152 712/1116/356 -f 690/1103/83 691/1104/83 693/583/351 -f 687/1180/188 686/1075/260 692/1181/357 -f 702/1188/93 699/1106/93 698/1105/93 -f 782/1191/84 787/1673/344 779/1192/84 -f 649/1199/346 651/985/346 650/986/346 -f 681/1204/152 679/1674/152 682/1053/207 -f 767/1205/84 772/1675/344 764/1206/84 -f 803/1212/93 826/1676/93 829/1213/93 -f 750/1216/83 751/1217/83 753/461/83 -f 435/494/83 436/395/83 437/397/83 -f 821/1224/346 823/1318/346 822/1225/346 -f 823/1231/152 821/1677/152 827/1232/152 -f 660/1041/83 661/1042/83 663/546/83 -f 657/1234/188 656/1011/188 662/1235/188 -f 717/1242/93 714/1137/93 713/1136/93 -f 677/1069/358 682/1678/348 674/1055/84 -f 799/1252/346 801/1281/346 800/1253/346 -f 772/1229/349 766/1228/152 771/1258/152 -f 765/1245/83 766/1246/83 768/513/83 -f 762/1260/188 761/1221/188 767/1261/188 -f 762/1268/93 759/1219/93 758/1218/93 -f 780/1271/83 781/1272/83 783/467/83 -f 724/1279/346 726/1145/346 725/1146/346 -f 742/1177/349 736/1176/152 741/1286/152 -f 797/1288/84 802/1679/344 794/1285/84 -f 717/1289/188 716/1139/188 722/1290/188 -f 642/1297/93 639/978/93 638/977/93 -f 645/1006/83 646/1007/83 648/504/359 -f 799/1304/152 802/1283/153 796/1282/152 -f 792/1306/188 791/1276/188 797/1307/188 -f 809/1315/346 813/1359/346 810/1316/346 -f 795/1300/83 796/1301/83 798/572/83 -f 792/1322/93 789/1274/93 788/1273/93 -f 508/511/360 517/549/361 518/914/98 -f 572/1330/240 571/1680/240 569/892/240 -f 754/1334/346 756/1201/346 755/1202/346 -f 901/1367/83 917/1395/83 918/1368/83 -f 918/1368/83 919/1681/83 903/1370/83 -f 903/1370/83 919/1681/83 920/1371/83 -f 904/1372/83 920/1371/83 921/1373/83 -f 905/1374/83 921/1373/83 906/1375/83 -f 906/1375/83 907/1378/83 891/1377/83 -f 907/1378/83 908/1380/83 892/1379/83 -f 908/1380/83 909/1382/83 893/1381/83 -f 909/1382/83 910/1682/83 894/1383/83 -f 894/1383/83 910/1682/83 911/1384/83 -f 911/1384/83 912/1387/83 896/1386/83 -f 912/1387/83 913/1389/83 897/1388/83 -f 913/1389/83 914/1683/83 898/1390/83 -f 898/1390/83 914/1683/83 915/1391/83 -f 899/1392/83 915/1391/83 916/1393/83 -f 900/1394/83 916/1393/83 917/1395/83 -f 924/1398/83 923/1684/83 922/1685/83 -f 922/1685/83 937/1686/83 936/1687/83 -f 936/1687/83 935/1688/83 932/1689/83 -f 935/1688/83 934/1690/83 932/1689/83 -f 934/1690/83 933/1691/83 932/1689/83 -f 932/1689/83 931/1692/83 930/1396/83 -f 930/1396/83 929/1693/83 928/1397/83 -f 928/1397/83 927/1694/83 924/1398/83 -f 927/1694/83 926/1695/83 924/1398/83 -f 926/1695/83 925/1696/83 924/1398/83 -f 924/1398/83 922/1685/83 932/1689/83 -f 922/1685/83 936/1687/83 932/1689/83 -f 932/1689/83 930/1396/83 924/1398/83 -f 961/1399/84 977/1430/84 976/1400/84 -f 960/1401/84 976/1400/84 975/1402/84 -f 959/1403/84 975/1402/84 974/1404/84 -f 957/1406/84 958/1405/84 974/1404/84 -f 956/1408/84 957/1406/84 973/1407/84 -f 956/1408/84 972/1409/84 971/1410/84 -f 955/1411/84 971/1410/84 970/1412/84 -f 969/1414/84 954/1413/84 970/1412/84 -f 968/1416/84 969/1414/84 985/1415/84 -f 967/1418/84 968/1416/84 984/1417/84 -f 966/1420/84 967/1418/84 983/1419/84 -f 965/1422/84 966/1420/84 982/1421/84 -f 964/1424/84 965/1422/84 981/1423/84 -f 964/1424/84 980/1425/84 979/1426/84 -f 962/1428/84 963/1427/84 979/1426/84 -f 962/1428/84 978/1429/84 977/1430/84 -f 986/1697/84 987/1698/84 988/1699/84 -f 988/1699/84 989/1700/84 990/1431/84 -f 990/1431/84 991/1701/84 992/1702/84 -f 992/1702/84 993/1703/84 994/1432/84 -f 994/1432/84 995/1704/84 996/1705/84 -f 996/1705/84 997/1706/84 998/1433/84 -f 998/1433/84 999/1707/84 1000/1708/84 -f 1000/1708/84 1001/1709/84 986/1697/84 -f 986/1697/84 988/1699/84 990/1431/84 -f 990/1431/84 992/1702/84 994/1432/84 -f 994/1432/84 996/1705/84 998/1433/84 -f 998/1433/84 1000/1708/84 986/1697/84 -f 986/1697/84 990/1431/84 998/1433/84 -f 1037/1434/263 1022/1452/263 1023/367/263 -f 1027/1436/264 1031/365/264 1023/367/264 -f 1030/1438/265 1029/1448/265 1026/369/265 -f 1021/1440/89 1034/366/89 1032/1441/89 -f 1038/1443/98 1036/1451/98 1035/1444/98 -f 1024/1446/266 1030/1438/266 1028/1439/266 -f 1019/1435/267 1021/1440/267 1033/1442/267 -f 1024/1446/268 1031/365/268 1029/1448/268 -f 1020/1447/265 1024/1446/265 1025/368/265 -f 1027/1436/269 1022/1437/269 1039/1445/269 -f 1029/1448/270 1031/365/270 1027/1436/270 -f 1027/1436/271 1035/1444/271 1025/368/271 -f 1035/1444/271 1036/1451/271 1025/368/271 -f 1038/1443/272 1039/1445/272 1022/1452/272 -f 1037/1434/273 1018/1449/273 1036/1451/273 -f 1023/367/362 1034/366/362 1021/1440/362 -f 1020/1447/363 1033/1442/363 1024/1446/363 -f 1033/1442/275 1032/1441/275 1024/1446/275 -f 1075/1710/84 1066/1711/84 1065/1453/84 -f 1066/1711/84 234/1712/84 1065/1453/84 -f 234/1712/84 235/1713/84 1065/1453/84 -f 1065/1453/84 1081/1714/84 1073/1454/84 -f 1073/1454/84 1077/1715/84 1069/1716/84 -f 1069/1716/84 1079/1717/84 1073/1454/84 -f 1079/1717/84 1071/1455/84 1073/1454/84 -f 1071/1455/84 1075/1710/84 1065/1453/84 -f 1080/1718/83 1070/1719/83 1078/1720/83 -f 1078/1720/83 1074/1721/83 1082/1457/83 -f 1082/1457/83 1068/1722/83 1067/1458/83 -f 1068/1722/83 1064/1723/83 1067/1458/83 -f 1064/1723/83 236/1724/83 1067/1458/83 -f 1067/1458/83 1076/1725/83 1072/1456/83 -f 1072/1456/83 1080/1718/83 1078/1720/83 -f 1078/1720/83 1082/1457/83 1072/1456/83 -f 1083/1459/85 1085/1726/85 1086/1460/85 -f 1097/1727/84 1088/1728/84 1087/1462/84 -f 1088/1728/84 1083/1729/84 1087/1462/84 -f 1083/1729/84 1084/1730/84 1087/1462/84 -f 1087/1462/84 1103/1731/84 1095/1463/84 -f 1095/1463/84 1099/1732/84 1091/1733/84 -f 1091/1733/84 1101/1734/84 1095/1463/84 -f 1101/1734/84 1093/1464/84 1095/1463/84 -f 1093/1464/84 1097/1727/84 1087/1462/84 -f 1102/1735/83 1092/1736/83 1100/1737/83 -f 1100/1737/83 1096/1738/83 1104/1466/83 -f 1104/1466/83 1090/1739/83 1089/1467/83 -f 1090/1739/83 1086/1740/83 1089/1467/83 -f 1086/1740/83 1085/1741/83 1089/1467/83 -f 1089/1467/83 1098/1742/83 1094/1465/83 -f 1094/1465/83 1102/1735/83 1100/1737/83 -f 1100/1737/83 1104/1466/83 1094/1465/83 -f 1107/1468/85 1108/1472/85 1106/1469/85 -f 1121/1471/85 1122/1743/85 1108/1472/85 -f 1124/1473/85 1123/1744/85 1105/1470/85 -f 1159/1474/276 1160/1571/276 1162/1475/276 -f 1161/1476/277 1162/1475/277 1164/1477/277 -f 1134/1479/278 1136/1563/278 1130/1480/278 -f 1195/1482/364 1197/1518/364 1127/1483/364 -f 1238/1485/279 1240/1557/279 1241/1486/279 -f 1224/1488/365 1225/1492/365 1227/1489/365 -f 1222/1491/366 1223/1551/366 1225/1492/366 -f 1191/1493/291 1132/1530/291 1133/1494/291 -f 1210/1496/282 1211/1549/282 1213/1497/282 -f 1249/1499/283 1250/1580/283 1251/1500/283 -f 1228/1502/284 1229/1584/284 1231/1503/284 -f 1204/1505/285 1205/1598/285 1207/1506/285 -f 1163/1478/286 1164/1477/286 1166/1508/286 -f 1199/1510/287 1198/1745/287 1201/1511/287 -f 1165/1509/315 1166/1508/315 1168/1513/315 -f 1187/1515/289 1188/1582/289 1129/1516/289 -f 1197/1518/290 1198/1745/290 1199/1510/290 -f 1252/1519/291 1193/1562/291 1194/1520/291 -f 1149/1522/282 1150/1559/282 1152/1523/282 -f 1232/1525/292 1234/1600/292 1235/1526/292 -f 1248/1528/289 1249/1499/289 1126/1501/289 -f 1132/1530/367 1134/1479/367 1135/1481/367 -f 1153/1531/295 1154/1564/295 1156/1532/295 -f 1155/1533/368 1156/1532/368 1158/1534/368 -f 1212/1498/297 1213/1497/297 1215/1536/297 -f 1179/1538/298 1181/1585/298 1182/1539/298 -f 1200/1512/299 1201/1511/299 1203/1541/299 -f 1138/1543/287 1137/1746/287 1140/1544/287 -f 1167/1514/284 1168/1513/284 1170/1546/284 -f 1208/1548/300 1209/1568/300 1211/1549/300 -f 1220/1550/276 1221/1561/276 1223/1551/276 -f 1185/1552/369 1187/1515/369 1128/1517/369 -f 1242/1554/303 1244/1597/303 1245/1555/303 -f 1240/1557/298 1242/1554/298 1243/1556/298 -f 1147/1558/300 1148/1575/300 1150/1559/300 -f 1218/1560/370 1219/1577/370 1221/1561/370 -f 1231/1503/306 1232/1525/306 1233/1527/306 -f 1193/1562/307 1195/1482/307 1196/1484/307 -f 1136/1563/290 1137/1746/290 1138/1543/290 -f 1151/1524/297 1152/1523/297 1154/1564/297 -f 1171/1565/292 1173/1569/292 1174/1566/292 -f 1170/1546/306 1171/1565/306 1172/1567/306 -f 1206/1507/309 1207/1506/309 1209/1568/309 -f 1173/1569/310 1175/1747/310 1176/1570/310 -f 1157/1535/311 1158/1534/311 1160/1571/311 -f 1236/1572/312 1238/1485/312 1239/1487/312 -f 1145/1574/309 1146/1593/309 1148/1575/309 -f 1216/1576/296 1217/1601/296 1219/1577/296 -f 1246/1578/302 1248/1528/302 1125/1529/302 -f 1250/1580/314 1252/1748/314 1192/1581/314 -f 1188/1582/371 1189/1591/371 1190/1583/371 -f 1226/1490/372 1227/1489/372 1229/1584/372 -f 1181/1585/303 1183/1599/303 1184/1586/303 -f 1139/1545/299 1140/1544/299 1142/1587/299 -f 1141/1588/316 1142/1587/316 1144/1589/316 -f 1189/1591/373 1191/1749/373 1131/1592/373 -f 1143/1590/285 1144/1589/285 1146/1593/285 -f 1178/1594/312 1176/1570/312 1177/1595/312 -f 1244/1597/318 1246/1578/318 1247/1579/318 -f 1253/1596/279 1179/1538/279 1180/1540/279 -f 1202/1542/316 1203/1541/316 1205/1598/316 -f 1183/1599/318 1185/1552/318 1186/1553/318 -f 1234/1600/310 1236/1572/310 1237/1573/310 -f 1214/1537/295 1215/1536/295 1217/1601/295 -s 1 -f 280/320/110 293/694/374 281/318/374 -f 272/663/375 290/652/376 273/661/376 -f 1053/1750/377 1045/1751/378 1040/1752/376 -f 336/638/379 364/1753/375 337/658/375 -f 1064/357/89 1065/1754/380 235/1755/89 -f 234/1756/98 1067/1757/381 236/1758/98 -f 257/1759/375 255/1760/379 254/1761/379 -f 338/656/376 353/1762/98 339/1651/98 -f 246/1763/89 243/1764/374 244/1765/374 -f 271/682/379 288/670/375 272/663/375 -f 324/1766/376 321/1767/375 322/1768/375 -f 258/1769/376 257/1759/375 259/1770/376 -f 262/1771/377 261/1772/98 263/1773/377 -f 247/1774/382 246/1763/89 248/1775/382 -f 267/328/383 280/320/110 268/636/383 -f 300/690/384 284/477/385 297/691/385 -f 353/1762/98 340/676/377 339/1651/98 -f 293/694/374 282/579/89 281/318/374 -f 337/658/375 351/1776/376 338/656/376 -f 279/1777/91 251/1778/384 252/1779/384 -f 343/354/85 359/1780/386 362/1781/85 -f 346/364/89 354/1782/374 356/1783/89 -f 310/1784/89 307/1785/374 308/1786/374 -f 335/664/91 361/1787/379 336/638/379 -f 308/1786/374 305/1788/110 306/1789/110 -f 322/1768/375 319/1790/379 320/1791/379 -f 320/1791/379 317/1792/91 318/1793/91 -f 283/666/382 294/693/89 286/692/382 -f 362/1781/85 332/344/383 343/354/85 -f 356/1783/89 347/678/382 346/364/89 -f 265/1794/97 262/1771/377 263/1773/377 -f 277/634/386 295/631/97 296/630/386 -f 289/689/91 285/475/384 300/690/384 -f 357/1795/97 342/335/386 341/334/97 -f 242/1796/110 240/1797/383 239/1798/383 -f 350/1799/91 349/542/384 363/1800/384 -f 334/1801/386 329/1802/97 330/1803/97 -f 328/1804/377 325/1805/98 326/1806/98 -f 312/1807/382 309/1808/89 310/1784/89 -f 352/1809/110 345/363/374 344/342/110 -f 363/1800/384 348/544/385 360/1810/385 -f 316/1811/384 313/1812/385 314/1813/385 -f 301/1814/85 331/1815/386 334/1801/386 -f 244/1765/374 241/1816/110 242/1796/110 -f 295/631/97 275/687/377 287/329/377 -f 250/1817/385 247/1774/382 248/1775/382 -f 299/695/85 268/636/383 278/632/85 -f 283/666/382 297/691/385 284/477/385 -f 240/1797/383 237/1818/85 239/1798/383 -f 289/689/91 271/682/379 270/1646/91 -f 306/1789/110 303/1819/383 304/1820/383 -f 269/1821/386 264/1822/97 265/1794/97 -f 360/1810/385 347/678/382 358/1823/382 -f 330/1803/97 327/1824/377 328/1804/377 -f 333/1825/383 344/342/110 332/344/383 -f 261/1772/98 258/1769/376 259/1770/376 -f 303/1819/383 301/1826/85 304/1820/383 -f 237/1827/85 266/1828/386 269/1821/386 -f 292/653/98 275/687/377 274/926/98 -f 318/1793/91 315/1829/384 316/1811/384 -f 292/653/98 273/661/376 290/652/376 -f 314/1813/385 311/1830/382 312/1807/382 -f 326/1806/98 323/1831/376 324/1766/376 -f 252/1779/384 249/1832/385 250/1817/385 -f 341/334/97 355/1833/377 357/1795/97 -f 278/632/85 296/630/386 299/695/85 -f 254/1761/379 253/1834/91 279/1777/91 -f 1005/1835/387 1017/1836/388 1012/1837/389 -f 533/1838/390 1017/1836/388 1008/1839/391 -f 1016/1840/392 1010/1841/393 1013/1842/394 -f 529/1843/395 1005/1835/387 1012/1837/389 -f 1011/1844/396 1007/1845/397 1002/1846/398 -f 864/1847/97 847/1848/377 848/1849/97 -f 872/1850/385 855/1851/382 856/1852/385 -f 865/1853/386 848/1849/97 849/1854/386 -f 873/1855/384 856/1852/385 857/1856/384 -f 866/1857/85 849/1854/386 850/1858/85 -f 859/1859/379 842/1860/91 843/1861/379 -f 858/1862/91 857/1856/384 842/1860/91 -f 867/1863/383 850/1864/85 851/1865/383 -f 860/1866/375 843/1861/379 844/1867/375 -f 868/1868/110 851/1865/383 852/1869/110 -f 861/1870/376 844/1867/375 845/1871/376 -f 869/1872/374 852/1869/110 853/1873/374 -f 862/1874/98 845/1871/376 846/1875/98 -f 870/1876/89 853/1873/374 854/1877/89 -f 863/1878/377 846/1875/98 847/1848/377 -f 871/1879/382 854/1877/89 855/1851/382 -f 876/1880/399 845/1881/400 844/1882/399 -f 875/1883/401 844/1882/399 843/1884/401 -f 842/1885/402 875/1883/401 843/1884/401 -f 857/1886/403 874/1887/402 842/1885/402 -f 856/1888/404 889/1889/403 857/1886/403 -f 887/1890/405 856/1888/404 855/1891/405 -f 854/1892/406 887/1890/405 855/1891/405 -f 853/1893/407 886/1894/406 854/1892/406 -f 884/1895/408 853/1893/407 852/1896/408 -f 883/1897/409 852/1896/408 851/1898/409 -f 882/1899/410 851/1898/409 850/1900/410 -f 881/1901/411 850/1902/410 849/1903/411 -f 880/1904/412 849/1903/411 848/1905/412 -f 879/1906/413 848/1905/412 847/1907/413 -f 878/1908/414 847/1907/413 846/1909/414 -f 877/1910/400 846/1909/414 845/1881/400 -f 888/1911/385 905/1912/384 889/1913/384 -f 881/1914/386 898/1915/85 882/1916/85 -f 874/1917/91 891/1918/379 875/1919/379 -f 889/1913/384 890/1920/91 874/1917/91 -f 882/1921/85 899/1922/383 883/1923/383 -f 875/1919/379 892/1924/375 876/1925/375 -f 883/1923/383 900/1926/110 884/1927/110 -f 876/1925/375 893/1928/376 877/1929/376 -f 884/1927/110 901/1930/374 885/1931/374 -f 877/1929/376 894/1932/98 878/1933/98 -f 885/1931/374 902/1934/89 886/1935/89 -f 878/1933/98 895/1936/377 879/1937/377 -f 886/1935/89 903/1938/382 887/1939/382 -f 879/1937/377 896/1940/97 880/1941/97 -f 887/1939/382 904/1942/385 888/1911/385 -f 880/1941/97 897/1943/386 881/1914/386 -f 921/1944/386 922/1945/85 906/1946/85 -f 914/1947/91 931/1948/379 915/1949/379 -f 907/1950/383 924/1951/110 908/1952/110 -f 915/1949/379 932/1953/375 916/1954/375 -f 908/1952/110 925/1955/374 909/1956/374 -f 916/1954/375 933/1957/376 917/1958/376 -f 909/1956/374 926/1959/89 910/1960/89 -f 917/1958/376 934/1961/98 918/1962/98 -f 910/1960/89 927/1963/382 911/1964/382 -f 918/1962/98 935/1965/377 919/1966/377 -f 911/1964/382 928/1967/385 912/1968/385 -f 919/1966/377 936/1969/97 920/1970/97 -f 912/1968/385 929/1971/384 913/1972/384 -f 920/1970/97 937/1973/386 921/1944/386 -f 913/1972/384 930/1974/91 914/1975/91 -f 906/1946/85 923/1976/383 907/1950/383 -f 860/1977/415 941/1978/416 940/1979/417 -f 859/1980/418 940/1979/417 939/1981/419 -f 858/1982/420 939/1981/419 938/1983/421 -f 873/1984/422 938/1983/421 953/1985/423 -f 872/1986/424 953/1985/423 952/1987/425 -f 871/1988/426 952/1987/425 951/1989/427 -f 870/1990/428 951/1989/427 950/1991/428 -f 870/1990/428 949/1992/429 869/1993/430 -f 869/1993/430 948/1994/431 868/1995/432 -f 868/1995/432 947/1996/433 867/1997/434 -f 867/1997/434 946/1998/435 866/1999/436 -f 866/2000/436 945/2001/437 865/2002/438 -f 865/2002/438 944/2003/439 864/2004/440 -f 864/2004/440 943/2005/441 863/2006/442 -f 863/2006/442 942/2007/443 862/2008/443 -f 861/2009/444 942/2007/443 941/1978/416 -f 952/2010/385 967/2011/382 951/2012/382 -f 945/2013/386 960/2014/97 944/2015/97 -f 953/2016/384 968/2017/385 952/2010/385 -f 946/2018/85 961/2019/386 945/2013/386 -f 939/2020/379 954/2021/91 938/2022/91 -f 938/2022/91 969/2023/384 953/2016/384 -f 947/2024/383 962/2025/85 946/2026/85 -f 940/2027/375 955/2028/379 939/2020/379 -f 948/2029/110 963/2030/383 947/2024/383 -f 941/2031/376 956/2032/375 940/2027/375 -f 949/2033/374 964/2034/110 948/2029/110 -f 942/2035/98 957/2036/376 941/2031/376 -f 950/2037/89 965/2038/374 949/2033/374 -f 943/2039/377 958/2040/98 942/2035/98 -f 951/2012/382 966/2041/89 950/2037/89 -f 944/2015/97 959/2042/377 943/2039/377 -f 978/2043/91 993/2044/384 977/2045/384 -f 971/2046/383 986/2047/85 970/2048/85 -f 970/2048/85 1001/2049/386 985/2050/386 -f 979/2051/379 994/2052/91 978/2053/91 -f 972/2054/110 987/2055/383 971/2046/383 -f 980/2056/375 995/2057/379 979/2051/379 -f 973/2058/374 988/2059/110 972/2054/110 -f 981/2060/376 996/2061/375 980/2056/375 -f 974/2062/89 989/2063/374 973/2058/374 -f 982/2064/98 997/2065/376 981/2060/376 -f 975/2066/382 990/2067/89 974/2062/89 -f 983/2068/377 998/2069/98 982/2064/98 -f 976/2070/385 991/2071/382 975/2066/382 -f 984/2072/97 999/2073/377 983/2068/377 -f 977/2045/384 992/2074/385 976/2070/385 -f 985/2050/386 1000/2075/97 984/2072/97 -f 1007/1845/397 1003/2076/445 1002/1846/398 -f 1005/2077/387 1009/2078/446 1008/2079/391 -f 1011/2080/396 1015/2081/447 1014/2082/448 -f 1017/2083/388 1013/1842/394 1012/2084/389 -f 1003/2076/445 1009/2078/446 1004/2085/449 -f 1017/2083/388 532/2086/450 1016/1840/392 -f 1007/1845/397 530/2087/451 1006/2088/452 -f 1016/1840/392 531/2089/453 1015/2081/447 -f 533/2090/390 531/2091/453 532/2092/450 -f 1009/2078/446 533/2093/390 1008/2079/391 -f 530/2094/451 1014/2095/448 531/2096/453 -f 530/2087/451 1009/2078/446 1006/2088/452 -f 1015/2081/447 531/2089/453 1014/2082/448 -f 1003/2076/445 527/2097/454 1002/1846/398 -f 526/2098/455 1003/2076/445 1004/2085/449 -f 529/2099/395 1012/2084/389 1013/1842/394 -f 1011/2080/396 528/2100/456 1010/1841/393 -f 529/2099/395 1010/1841/393 528/2100/456 -f 1005/2077/387 526/2098/455 1004/2085/449 -f 527/2101/454 1011/1844/396 1002/1846/398 -f 526/2102/455 528/2103/456 527/2104/454 -f 1046/2105/457 1048/2106/458 1042/2107/384 -f 1049/2108/459 1057/2109/460 1062/2110/461 -f 1047/2111/462 1058/2112/463 1057/2109/460 -f 1051/2113/464 1062/2114/461 1061/2115/465 -f 1063/2116/466 1056/2117/467 1052/2118/386 -f 1046/2119/457 1045/1751/378 1047/2111/462 -f 1048/2106/458 1051/2120/464 1050/2121/468 -f 1044/2122/469 1040/2123/376 1045/2124/378 -f 1048/2106/458 1047/2125/462 1049/2126/459 -f 1043/2127/382 1050/2128/468 1051/2113/464 -f 1043/2127/382 1061/2115/465 1054/2129/374 -f 1059/2130/470 1057/2109/460 1058/2112/463 -f 1060/2131/471 1062/2132/461 1063/2116/466 -f 1059/2133/470 1053/2134/377 1052/2118/386 -f 1063/2116/466 1057/2135/460 1056/2117/467 -f 1054/2129/374 1060/2136/471 1055/2137/383 -f 1075/2138/376 1067/1757/381 1066/2139/381 -f 1072/2140/375 1075/2138/376 1071/2141/375 -f 1079/2142/379 1072/2143/375 1071/2144/375 -f 1079/2142/379 1070/2145/91 1080/2146/379 -f 1077/2147/384 1070/2145/91 1069/2148/91 -f 1074/2149/385 1077/2147/384 1073/2150/385 -f 1081/2151/382 1074/2152/385 1073/2153/385 -f 1068/2154/380 1081/2151/382 1065/1754/380 -f 1086/2155/89 1087/2156/380 1084/2157/89 -f 1083/2158/98 1089/2159/381 1085/2160/98 -f 1097/2161/376 1089/2159/381 1088/2162/381 -f 1094/2163/375 1097/2161/376 1093/2164/375 -f 1101/2165/379 1094/2166/375 1093/2167/375 -f 1101/2165/379 1092/2168/91 1102/2169/379 -f 1099/2170/384 1092/2168/91 1091/2171/91 -f 1096/2172/385 1099/2170/384 1095/2173/385 -f 1103/2174/382 1096/2175/385 1095/2176/385 -f 1090/2177/380 1103/2174/382 1087/2156/380 -f 1114/2178/472 1110/2179/473 1111/2180/474 -f 1115/2181/475 1117/2182/476 1110/2179/473 -f 1108/2183/477 1113/2184/478 1106/2185/479 -f 1112/2186/480 1110/2187/473 1109/2188/481 -f 1116/2189/482 1114/2178/472 1113/2184/478 -f 1105/1470/483 1109/2188/481 1107/1468/484 -f 1111/2180/474 1120/2190/485 1114/2178/472 -f 1119/2191/486 1124/2192/487 1120/2193/485 -f 1118/2194/488 1121/2195/489 1117/2196/476 -f 1115/2181/475 1116/2189/482 1118/2197/488 -f 1122/2198/490 1116/2189/482 1108/2183/477 -f 1117/2199/476 1107/1468/484 1109/2188/481 -f 1110/2187/473 1117/2199/476 1109/2188/481 -f 1123/2200/491 1112/2186/480 1105/1470/483 -f 1111/2201/474 1112/2186/480 1119/2202/486 -f 1120/2203/485 1106/2185/479 1113/2184/478 -f 1114/2178/472 1120/2203/485 1113/2184/478 -f 280/320/110 291/870/110 293/694/374 -f 272/663/375 288/670/375 290/652/376 -f 1053/1750/377 1058/2112/463 1045/1751/378 -f 336/638/379 361/1787/379 364/1753/375 -f 1064/357/89 1068/2154/380 1065/1754/380 -f 234/1756/98 1066/2139/381 1067/1757/381 -f 257/1759/375 256/2204/375 255/1760/379 -f 338/656/376 351/1776/376 353/1762/98 -f 246/1763/89 245/2205/89 243/1764/374 -f 271/682/379 298/327/379 288/670/375 -f 324/1766/376 323/1831/376 321/1767/375 -f 258/1769/376 256/2204/375 257/1759/375 -f 262/1771/377 260/2206/98 261/1772/98 -f 247/1774/382 245/2205/89 246/1763/89 -f 267/328/383 291/870/110 280/320/110 -f 300/690/384 285/475/384 284/477/385 -f 353/1762/98 355/1833/377 340/676/377 -f 293/694/374 294/693/89 282/579/89 -f 337/658/375 364/1753/375 351/1776/376 -f 279/1777/91 253/1834/91 251/1778/384 -f 343/354/85 342/335/386 359/1780/386 -f 346/364/89 345/363/374 354/1782/374 -f 310/1784/89 309/1808/89 307/1785/374 -f 335/664/91 350/1799/91 361/1787/379 -f 308/1786/374 307/1785/374 305/1788/110 -f 322/1768/375 321/1767/375 319/1790/379 -f 320/1791/379 319/1790/379 317/1792/91 -f 283/666/382 282/579/89 294/693/89 -f 362/1781/85 333/1825/383 332/344/383 -f 356/1783/89 358/1823/382 347/678/382 -f 265/1794/97 264/1822/97 262/1771/377 -f 277/634/386 276/685/97 295/631/97 -f 289/689/91 270/1646/91 285/475/384 -f 357/1795/97 359/1780/386 342/335/386 -f 242/1796/110 241/1816/110 240/1797/383 -f 350/1799/91 335/664/91 349/542/384 -f 334/1801/386 331/1815/386 329/1802/97 -f 328/1804/377 327/1824/377 325/1805/98 -f 312/1807/382 311/1830/382 309/1808/89 -f 352/1809/110 354/1782/374 345/363/374 -f 363/1800/384 349/542/384 348/544/385 -f 316/1811/384 315/1829/384 313/1812/385 -f 301/1814/85 302/2207/85 331/1815/386 -f 244/1765/374 243/1764/374 241/1816/110 -f 295/631/97 276/685/97 275/687/377 -f 250/1817/385 249/1832/385 247/1774/382 -f 299/695/85 267/328/383 268/636/383 -f 283/666/382 286/692/382 297/691/385 -f 240/1797/383 238/2208/85 237/1818/85 -f 289/689/91 298/327/379 271/682/379 -f 306/1789/110 305/1788/110 303/1819/383 -f 269/1821/386 266/1828/386 264/1822/97 -f 360/1810/385 348/544/385 347/678/382 -f 330/1803/97 329/1802/97 327/1824/377 -f 333/1825/383 352/1809/110 344/342/110 -f 261/1772/98 260/2206/98 258/1769/376 -f 303/1819/383 302/2209/85 301/1826/85 -f 237/1827/85 238/2210/85 266/1828/386 -f 292/653/98 287/329/377 275/687/377 -f 318/1793/91 317/1792/91 315/1829/384 -f 292/653/98 274/926/98 273/661/376 -f 314/1813/385 313/1812/385 311/1830/382 -f 326/1806/98 325/1805/98 323/1831/376 -f 252/1779/384 251/1778/384 249/1832/385 -f 341/334/97 340/676/377 355/1833/377 -f 278/632/85 277/634/386 296/630/386 -f 254/1761/379 255/1760/379 253/1834/91 -f 1005/1835/387 1008/1839/391 1017/1836/388 -f 533/1838/390 532/2211/450 1017/1836/388 -f 1016/1840/392 1015/2081/447 1010/1841/393 -f 529/1843/395 526/2212/455 1005/1835/387 -f 1011/1844/396 1014/2095/448 1007/1845/397 -f 864/1847/97 863/1878/377 847/1848/377 -f 872/1850/385 871/1879/382 855/1851/382 -f 865/1853/386 864/1847/97 848/1849/97 -f 873/1855/384 872/1850/385 856/1852/385 -f 866/1857/85 865/1853/386 849/1854/386 -f 859/1859/379 858/1862/91 842/1860/91 -f 858/1862/91 873/1855/384 857/1856/384 -f 867/1863/383 866/2213/85 850/1864/85 -f 860/1866/375 859/1859/379 843/1861/379 -f 868/1868/110 867/1863/383 851/1865/383 -f 861/1870/376 860/1866/375 844/1867/375 -f 869/1872/374 868/1868/110 852/1869/110 -f 862/1874/98 861/1870/376 845/1871/376 -f 870/1876/89 869/1872/374 853/1873/374 -f 863/1878/377 862/1874/98 846/1875/98 -f 871/1879/382 870/1876/89 854/1877/89 -f 876/1880/399 877/1910/400 845/1881/400 -f 875/1883/401 876/1880/399 844/1882/399 -f 842/1885/402 874/1887/402 875/1883/401 -f 857/1886/403 889/1889/403 874/1887/402 -f 856/1888/404 888/2214/404 889/1889/403 -f 887/1890/405 888/2214/404 856/1888/404 -f 854/1892/406 886/1894/406 887/1890/405 -f 853/1893/407 885/2215/407 886/1894/406 -f 884/1895/408 885/2215/407 853/1893/407 -f 883/1897/409 884/1895/408 852/1896/408 -f 882/1899/410 883/1897/409 851/1898/409 -f 881/1901/411 882/2216/410 850/1902/410 -f 880/1904/412 881/1901/411 849/1903/411 -f 879/1906/413 880/1904/412 848/1905/412 -f 878/1908/414 879/1906/413 847/1907/413 -f 877/1910/400 878/1908/414 846/1909/414 -f 888/1911/385 904/1942/385 905/1912/384 -f 881/1914/386 897/1943/386 898/1915/85 -f 874/1917/91 890/1920/91 891/1918/379 -f 889/1913/384 905/1912/384 890/1920/91 -f 882/1921/85 898/2217/85 899/1922/383 -f 875/1919/379 891/1918/379 892/1924/375 -f 883/1923/383 899/1922/383 900/1926/110 -f 876/1925/375 892/1924/375 893/1928/376 -f 884/1927/110 900/1926/110 901/1930/374 -f 877/1929/376 893/1928/376 894/1932/98 -f 885/1931/374 901/1930/374 902/1934/89 -f 878/1933/98 894/1932/98 895/1936/377 -f 886/1935/89 902/1934/89 903/1938/382 -f 879/1937/377 895/1936/377 896/1940/97 -f 887/1939/382 903/1938/382 904/1942/385 -f 880/1941/97 896/1940/97 897/1943/386 -f 921/1944/386 937/1973/386 922/1945/85 -f 914/1947/91 930/2218/91 931/1948/379 -f 907/1950/383 923/1976/383 924/1951/110 -f 915/1949/379 931/1948/379 932/1953/375 -f 908/1952/110 924/1951/110 925/1955/374 -f 916/1954/375 932/1953/375 933/1957/376 -f 909/1956/374 925/1955/374 926/1959/89 -f 917/1958/376 933/1957/376 934/1961/98 -f 910/1960/89 926/1959/89 927/1963/382 -f 918/1962/98 934/1961/98 935/1965/377 -f 911/1964/382 927/1963/382 928/1967/385 -f 919/1966/377 935/1965/377 936/1969/97 -f 912/1968/385 928/1967/385 929/1971/384 -f 920/1970/97 936/1969/97 937/1973/386 -f 913/1972/384 929/1971/384 930/1974/91 -f 906/1946/85 922/1945/85 923/1976/383 -f 860/1977/415 861/2009/444 941/1978/416 -f 859/1980/418 860/1977/415 940/1979/417 -f 858/1982/420 859/1980/418 939/1981/419 -f 873/1984/422 858/1982/420 938/1983/421 -f 872/1986/424 873/1984/422 953/1985/423 -f 871/1988/426 872/1986/424 952/1987/425 -f 870/1990/428 871/1988/426 951/1989/427 -f 870/1990/428 950/1991/428 949/1992/429 -f 869/1993/430 949/1992/429 948/1994/431 -f 868/1995/432 948/1994/431 947/1996/433 -f 867/1997/434 947/1996/433 946/1998/435 -f 866/2000/436 946/2219/435 945/2001/437 -f 865/2002/438 945/2001/437 944/2003/439 -f 864/2004/440 944/2003/439 943/2005/441 -f 863/2006/442 943/2005/441 942/2007/443 -f 861/2009/444 862/2008/443 942/2007/443 -f 952/2010/385 968/2017/385 967/2011/382 -f 945/2013/386 961/2019/386 960/2014/97 -f 953/2016/384 969/2023/384 968/2017/385 -f 946/2018/85 962/2220/85 961/2019/386 -f 939/2020/379 955/2028/379 954/2021/91 -f 938/2022/91 954/2021/91 969/2023/384 -f 947/2024/383 963/2030/383 962/2025/85 -f 940/2027/375 956/2032/375 955/2028/379 -f 948/2029/110 964/2034/110 963/2030/383 -f 941/2031/376 957/2036/376 956/2032/375 -f 949/2033/374 965/2038/374 964/2034/110 -f 942/2035/98 958/2040/98 957/2036/376 -f 950/2037/89 966/2041/89 965/2038/374 -f 943/2039/377 959/2042/377 958/2040/98 -f 951/2012/382 967/2011/382 966/2041/89 -f 944/2015/97 960/2014/97 959/2042/377 -f 978/2043/91 994/2221/91 993/2044/384 -f 971/2046/383 987/2055/383 986/2047/85 -f 970/2048/85 986/2047/85 1001/2049/386 -f 979/2051/379 995/2057/379 994/2052/91 -f 972/2054/110 988/2059/110 987/2055/383 -f 980/2056/375 996/2061/375 995/2057/379 -f 973/2058/374 989/2063/374 988/2059/110 -f 981/2060/376 997/2065/376 996/2061/375 -f 974/2062/89 990/2067/89 989/2063/374 -f 982/2064/98 998/2069/98 997/2065/376 -f 975/2066/382 991/2071/382 990/2067/89 -f 983/2068/377 999/2073/377 998/2069/98 -f 976/2070/385 992/2074/385 991/2071/382 -f 984/2072/97 1000/2075/97 999/2073/377 -f 977/2045/384 993/2044/384 992/2074/385 -f 985/2050/386 1001/2049/386 1000/2075/97 -f 1007/1845/397 1006/2088/452 1003/2076/445 -f 1005/2077/387 1004/2085/449 1009/2078/446 -f 1011/2080/396 1010/1841/393 1015/2081/447 -f 1017/2083/388 1016/1840/392 1013/1842/394 -f 1003/2076/445 1006/2088/452 1009/2078/446 -f 1016/1840/392 532/2086/450 531/2089/453 -f 533/2090/390 530/2222/451 531/2091/453 -f 530/2094/451 1007/1845/397 1014/2095/448 -f 530/2087/451 533/2093/390 1009/2078/446 -f 526/2098/455 527/2097/454 1003/2076/445 -f 529/2099/395 1013/1842/394 1010/1841/393 -f 527/2101/454 528/2223/456 1011/1844/396 -f 526/2102/455 529/2224/395 528/2103/456 -f 1050/2121/468 1042/2107/384 1048/2106/458 -f 1042/2107/384 1041/2225/379 1046/2105/457 -f 1041/2225/379 1044/2122/469 1046/2105/457 -f 1049/2108/459 1047/2111/462 1057/2109/460 -f 1047/2111/462 1045/1751/378 1058/2112/463 -f 1051/2113/464 1049/2226/459 1062/2114/461 -f 1059/2133/470 1052/2118/386 1056/2117/467 -f 1052/2118/386 1055/2227/383 1063/2116/466 -f 1055/2227/383 1060/2131/471 1063/2116/466 -f 1046/2119/457 1044/2228/469 1045/1751/378 -f 1048/2106/458 1049/2126/459 1051/2120/464 -f 1044/2122/469 1041/2225/379 1040/2123/376 -f 1048/2106/458 1046/2105/457 1047/2125/462 -f 1043/2127/382 1042/2229/384 1050/2128/468 -f 1043/2127/382 1051/2113/464 1061/2115/465 -f 1059/2130/470 1056/2230/467 1057/2109/460 -f 1060/2131/471 1061/2231/465 1062/2132/461 -f 1059/2133/470 1058/2232/463 1053/2134/377 -f 1063/2116/466 1062/2132/461 1057/2135/460 -f 1054/2129/374 1061/2115/465 1060/2136/471 -f 1075/2138/376 1076/2233/376 1067/1757/381 -f 1072/2140/375 1076/2233/376 1075/2138/376 -f 1079/2142/379 1080/2146/379 1072/2143/375 -f 1079/2142/379 1069/2148/91 1070/2145/91 -f 1077/2147/384 1078/2234/384 1070/2145/91 -f 1074/2149/385 1078/2234/384 1077/2147/384 -f 1081/2151/382 1082/2235/382 1074/2152/385 -f 1068/2154/380 1082/2235/382 1081/2151/382 -f 1086/2155/89 1090/2177/380 1087/2156/380 -f 1083/2158/98 1088/2162/381 1089/2159/381 -f 1097/2161/376 1098/2236/376 1089/2159/381 -f 1094/2163/375 1098/2236/376 1097/2161/376 -f 1101/2165/379 1102/2169/379 1094/2166/375 -f 1101/2165/379 1091/2171/91 1092/2168/91 -f 1099/2170/384 1100/2237/384 1092/2168/91 -f 1096/2172/385 1100/2237/384 1099/2170/384 -f 1103/2174/382 1104/2238/382 1096/2175/385 -f 1090/2177/380 1104/2238/382 1103/2174/382 -f 1114/2178/472 1115/2181/475 1110/2179/473 -f 1115/2181/475 1118/2239/488 1117/2182/476 -f 1108/2183/477 1116/2189/482 1113/2184/478 -f 1112/2186/480 1111/2201/474 1110/2187/473 -f 1116/2189/482 1115/2181/475 1114/2178/472 -f 1105/1470/483 1112/2186/480 1109/2188/481 -f 1111/2180/474 1119/2240/486 1120/2190/485 -f 1119/2191/486 1123/2241/491 1124/2192/487 -f 1118/2194/488 1122/2242/490 1121/2195/489 -f 1122/2198/490 1118/2197/488 1116/2189/482 -f 1117/2199/476 1121/2243/489 1107/1468/484 -f 1123/2200/491 1119/2202/486 1112/2186/480 -f 1120/2203/485 1124/2244/487 1106/2185/479 diff --git a/src/main/resources/assets/hbm/models/weapons/maresleg.obj b/src/main/resources/assets/hbm/models/weapons/maresleg.obj index 22d8e64fa..d6ae6b853 100644 --- a/src/main/resources/assets/hbm/models/weapons/maresleg.obj +++ b/src/main/resources/assets/hbm/models/weapons/maresleg.obj @@ -1,3783 +1,2369 @@ # Blender v2.79 (sub 0) OBJ File: 'maresleg.blend' # www.blender.org -o Grip -v 0.026200 -0.016789 0.733764 -v 0.026200 -0.103402 0.697888 -v 0.026200 0.060944 0.546101 -v 0.026200 -0.025670 0.510225 -v -0.036300 0.060944 0.546101 -v -0.036300 -0.025670 0.510225 -v -0.036300 -0.016789 0.733764 -v -0.036300 -0.103402 0.697888 -v 0.026219 -0.093905 0.743458 -v 0.026219 -0.187655 0.743458 -v 0.026219 -0.093905 0.680958 -v 0.026219 -0.187655 0.680958 -v -0.036281 -0.093905 0.680958 -v -0.036281 -0.187655 0.680958 -v -0.036281 -0.093905 0.743458 -v -0.036281 -0.187655 0.743458 -v 0.026225 -0.091559 0.708804 -v 0.026225 -0.163738 0.738701 -v 0.026225 -0.115477 0.651061 -v 0.026225 -0.187655 0.680958 -v -0.036275 -0.115477 0.651061 -v -0.036275 -0.187655 0.680958 -v -0.036275 -0.091559 0.708804 -v -0.036275 -0.163738 0.738701 -v 0.026231 0.002670 0.634943 -v 0.026231 -0.085718 0.723331 -v 0.026231 -0.052573 0.579700 -v 0.026231 -0.140961 0.668089 -v -0.036269 -0.052573 0.579700 -v -0.036269 -0.140961 0.668089 -v -0.036269 0.002670 0.634943 -v -0.036269 -0.085718 0.723331 -v 0.026187 -0.111974 0.762847 -v 0.026187 -0.169717 0.786765 -v 0.026187 -0.129913 0.719540 -v 0.026187 -0.187655 0.743458 -v -0.036312 -0.129913 0.719540 -v -0.036312 -0.187655 0.743458 -v -0.036312 -0.111974 0.762847 -v -0.036312 -0.169717 0.786765 -v 0.026214 -0.037134 0.720474 -v 0.026214 -0.136571 0.819911 -v 0.026214 -0.070280 0.687328 -v 0.026214 -0.169717 0.786765 -v -0.036286 -0.070280 0.687328 -v -0.036286 -0.169717 0.786765 -v -0.036286 -0.037134 0.720474 -v -0.036286 -0.136571 0.819911 -v 0.041839 0.117489 0.123705 -v 0.041839 0.039364 0.123705 -v 0.041839 0.117489 -0.380670 -v 0.041839 0.039364 -0.380670 -v -0.051911 0.117489 -0.380670 -v -0.051911 0.039364 -0.380670 -v -0.051911 0.117489 0.123705 -v -0.051911 0.039364 0.123705 -v 0.041839 0.039364 0.123705 -v 0.029880 0.010493 0.123705 -v 0.041839 0.039364 -0.380670 -v 0.029880 0.010493 -0.380670 -v 0.012967 0.051323 -0.380670 -v 0.001008 0.022452 -0.380670 -v 0.012967 0.051323 0.123705 -v 0.001008 0.022452 0.123705 -v 0.005962 0.068236 0.123705 -v 0.029880 0.010493 0.123705 -v 0.005962 0.068236 -0.380670 -v 0.029880 0.010493 -0.380670 -v -0.022909 0.056277 -0.380670 -v 0.001008 -0.001466 -0.380670 -v -0.022909 0.056277 0.123705 -v 0.001008 -0.001466 0.123705 -v -0.023040 0.051323 0.123705 -v -0.011081 0.022452 0.123705 -v -0.023040 0.051323 -0.380670 -v -0.011081 0.022452 -0.380670 -v -0.051911 0.039364 -0.380670 -v -0.039952 0.010493 -0.380670 -v -0.051911 0.039364 0.123705 -v -0.039952 0.010493 0.123705 -v 0.012836 0.056277 0.123705 -v -0.011081 -0.001466 0.123705 -v 0.012836 0.056277 -0.380670 -v -0.011081 -0.001466 -0.380670 -v -0.016035 0.068235 -0.380670 -v -0.039952 0.010493 -0.380670 -v -0.016035 0.068235 0.123705 -v -0.039952 0.010493 0.123705 -v 0.001419 0.061034 0.123705 -v 0.001419 -0.001466 0.123705 -v 0.001419 0.061034 -0.380670 -v 0.001419 -0.001466 -0.380670 -v -0.011081 0.061034 -0.380670 -v -0.011081 -0.001466 -0.380670 -v -0.011081 0.061034 0.123705 -v -0.011081 -0.001466 0.123705 -v 0.041839 0.117489 -0.380670 -v 0.041839 0.039364 -0.380670 -v 0.041839 0.117489 -0.416295 -v 0.041839 0.039364 -0.416295 -v -0.051911 0.117489 -0.416295 -v -0.051911 0.039364 -0.416295 -v -0.051911 0.117489 -0.380670 -v -0.051911 0.039364 -0.380670 -v -0.023040 0.051323 -0.380670 -v -0.011081 0.022452 -0.380670 -v -0.023040 0.051323 -0.416295 -v -0.011081 0.022452 -0.416295 -v -0.051911 0.039364 -0.416295 -v -0.039952 0.010493 -0.416295 -v -0.051911 0.039364 -0.380670 -v -0.039952 0.010493 -0.380670 -v 0.012836 0.056277 -0.380670 -v -0.011081 -0.001466 -0.380670 -v 0.012836 0.056277 -0.416295 -v -0.011081 -0.001466 -0.416295 -v -0.016035 0.068235 -0.416295 -v -0.039952 0.010493 -0.416295 -v -0.016035 0.068235 -0.380670 -v -0.039952 0.010493 -0.380670 -v 0.005962 0.068236 -0.380670 -v 0.029880 0.010493 -0.380670 -v 0.005962 0.068236 -0.416295 -v 0.029880 0.010493 -0.416295 -v -0.022909 0.056277 -0.416295 -v 0.001008 -0.001466 -0.416295 -v -0.022909 0.056277 -0.380670 -v 0.001008 -0.001466 -0.380670 -v 0.001419 0.045409 -0.380670 -v 0.001419 -0.001466 -0.380670 -v 0.001419 0.045409 -0.416295 -v 0.001419 -0.001466 -0.416295 -v -0.011081 0.045409 -0.416295 -v -0.011081 -0.001466 -0.416295 -v -0.011081 0.045409 -0.380670 -v -0.011081 -0.001466 -0.380670 -v 0.041839 0.039364 -0.380670 -v 0.029880 0.010493 -0.380670 -v 0.041839 0.039364 -0.416295 -v 0.029880 0.010493 -0.416295 -v 0.012967 0.051323 -0.416295 -v 0.001008 0.022452 -0.416295 -v 0.012967 0.051323 -0.380670 -v 0.001008 0.022452 -0.380670 -v 0.026206 -0.015446 0.733253 -v 0.026206 -0.119302 0.837110 -v 0.026206 -0.048591 0.700108 -v 0.026206 -0.152448 0.803964 -v -0.036294 -0.048591 0.700108 -v -0.036294 -0.152448 0.803964 -v -0.036294 -0.015446 0.733253 -v -0.036294 -0.119302 0.837110 -vt 0.875000 0.250000 -vt 0.875000 0.062500 -vt 0.468750 0.250000 -vt 0.468750 0.062500 -vt 0.906250 0.250000 -vt 0.906250 0.062500 -vt 0.468750 0.250000 -vt 0.468750 0.062500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.187500 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.468750 0.250000 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.187500 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.468750 0.250000 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.718750 0.250000 -vt 0.718750 0.125000 -vt 0.468750 0.250000 -vt 0.468750 0.125000 -vt 0.750000 0.250000 -vt 0.750000 0.125000 -vt 0.468750 0.250000 -vt 0.468750 0.125000 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.187500 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.468750 0.250000 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.187500 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.468750 0.250000 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 1.000000 0.250000 -vt 1.000000 0.000000 -vt 0.468750 0.250000 -vt 0.468750 0.000000 -vt 0.843750 0.250000 -vt 0.843750 0.093750 -vt 0.468750 0.250000 -vt 0.468750 0.093750 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.812500 0.250000 -vt 0.812500 0.125000 -vt 0.468750 0.250000 -vt 0.468750 0.125000 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.187500 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.187500 -vt 0.468750 0.187500 -vt 0.937500 0.250000 -vt 0.937500 0.062500 -vt 0.468750 0.250000 -vt 0.468750 0.062500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.843750 0.250000 -vt 0.843750 0.093750 -vt 0.468750 0.250000 -vt 0.468750 0.093750 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.187500 -vt 0.468750 0.187500 -vt 0.906250 0.250000 -vt 0.906250 0.093750 -vt 0.468750 0.250000 -vt 0.468750 0.093750 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.187500 -vt 0.468750 0.187500 -vt 0.875000 0.250000 -vt 0.875000 0.062500 -vt 0.468750 0.250000 -vt 0.468750 0.062500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.187500 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.468750 0.250000 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.468750 0.250000 -vt 0.468750 0.187500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.9239 0.3827 -vn 0.0000 -0.9239 -0.3827 -vn 0.0000 -0.3827 0.9239 -vn 0.0000 0.3827 -0.9239 -vn 0.0000 1.0000 0.0000 +o Lever +v -0.187500 0.769607 -3.582107 +v -0.187500 0.445183 -3.798880 +v 0.187500 1.187500 -2.375000 +v -0.187500 1.187500 -2.375000 +v 0.187500 0.437500 -2.375000 +v -0.187500 0.437500 -2.375000 +v -0.187500 0.437500 -2.875000 +v 0.187500 0.437500 -2.875000 +v -0.187500 1.187500 -2.500000 +v 0.187500 1.187500 -2.500000 +v -0.187500 -0.062500 -2.875000 +v 0.187500 -0.062500 -2.875000 +v -0.187500 0.062500 -3.875000 +v 0.187500 0.062500 -3.875000 +v 0.187500 0.445183 -3.798880 +v 0.187500 0.769607 -3.582107 +v 0.187500 0.986380 -3.257684 +v 0.187500 1.062500 -2.875000 +v -0.187500 0.986380 -3.257684 +v -0.187500 1.062500 -2.875000 +v 0.187500 -0.062500 -3.875000 +v -0.187500 -0.062500 -3.875000 +v -0.187500 1.062500 -2.625000 +v 0.187500 1.062500 -2.625000 +v 0.125000 -0.062500 -3.750000 +v -0.125000 -0.062500 -3.750000 +v -0.125000 -0.062500 -3.625000 +v 0.125000 -0.062500 -3.625000 +v 0.125000 -0.812500 -4.875000 +v -0.125000 -0.812500 -4.875000 +v 0.125000 -1.062500 -4.875000 +v -0.125000 -1.062500 -4.875000 +v 0.125000 -1.187500 -4.750000 +v -0.125000 -1.187500 -4.750000 +v 0.125000 -1.187500 -4.500000 +v -0.125000 -1.187500 -4.500000 +v 0.125000 -0.687500 -3.750000 +v -0.125000 -0.687500 -3.750000 +v 0.125000 -0.437500 -3.750000 +v -0.125000 -0.437500 -3.750000 +v 0.125000 -0.437500 -3.250000 +v -0.125000 -0.437500 -3.250000 +v 0.125000 -0.187500 -3.000000 +v -0.125000 -0.187500 -3.000000 +v 0.125000 -0.062500 -3.000000 +v -0.125000 -0.062500 -3.000000 +v 0.125000 -0.187500 -3.062500 +v -0.125000 -0.187500 -3.062500 +v 0.125000 -0.062500 -3.062500 +v -0.125000 -0.062500 -3.062500 +v 0.125000 -0.375000 -3.625000 +v -0.125000 -0.375000 -3.625000 +v 0.125000 -0.375000 -3.250000 +v -0.125000 -0.375000 -3.250000 +v 0.125000 -0.250000 -3.812500 +v -0.125000 -0.250000 -3.812500 +v 0.125000 -1.125000 -4.750000 +v -0.125000 -1.125000 -4.750000 +v 0.125000 -1.125000 -4.500000 +v -0.125000 -1.125000 -4.500000 +v 0.125000 -0.812500 -4.812500 +v -0.125000 -0.812500 -4.812500 +v 0.125000 -1.062500 -4.812500 +v -0.125000 -1.062500 -4.812500 +v 0.125000 -0.750000 -3.937500 +v -0.125000 -0.750000 -3.937500 +v 0.125000 -0.500000 -3.937500 +v -0.125000 -0.500000 -3.937500 +v 0.125000 -0.437500 -4.250000 +v -0.125000 -0.437500 -4.250000 +v 0.125000 -0.437500 -4.000000 +v -0.125000 -0.437500 -4.000000 +vt 0.975410 0.317757 +vt 0.909836 0.261682 +vt 0.975410 0.261682 +vt 0.852459 0.504673 +vt 0.877049 0.392523 +vt 0.877049 0.504673 +vt 0.975410 0.635514 +vt 1.000000 0.616822 +vt 1.000000 0.635514 +vt 0.975410 0.598131 +vt 1.000000 0.598131 +vt 0.852459 0.392523 +vt 0.877049 0.317757 +vt 0.885246 0.392523 +vt 0.909836 0.317757 +vt 0.909836 0.392523 +vt 0.893443 0.485981 +vt 0.909836 0.392523 +vt 0.877049 0.392523 +vt 0.893443 0.485981 +vt 0.885246 0.504673 +vt 0.934942 0.474589 +vt 0.956208 0.442187 +vt 0.970412 0.393687 +vt 0.336066 0.878505 +vt 0.344262 0.887850 +vt 0.336066 0.887850 +vt 0.344262 0.934579 +vt 0.336066 0.925234 +vt 0.344262 0.925234 +vt 0.368852 0.887850 +vt 0.393443 0.878505 +vt 0.401639 0.887850 +vt 0.393443 0.934579 +vt 0.368852 0.925234 +vt 0.401639 0.925234 +vt 0.364754 0.878505 +vt 0.364754 0.934579 +vt 0.241803 0.738318 +vt 0.258197 0.728972 +vt 0.241803 0.728972 +vt 0.258197 0.738318 +vt 0.241803 0.728972 +vt 0.258197 0.728972 +vt 0.262295 0.747664 +vt 0.266393 0.785047 +vt 0.266393 0.747664 +vt 0.262295 0.785047 +vt 0.266393 0.747664 +vt 0.266393 0.785047 +vt 0.262295 0.747664 +vt 0.204918 0.794393 +vt 0.192623 0.803738 +vt 0.204918 0.831776 +vt 0.204918 0.794393 +vt 0.192623 0.803738 +vt 0.204918 0.831776 +vt 0.192623 0.841121 +vt 0.196721 0.869159 +vt 0.209016 0.841121 +vt 0.209016 0.841121 +vt 0.196721 0.869159 +vt 0.225410 0.841121 +vt 0.192623 0.897196 +vt 0.225410 0.841121 +vt 0.975410 0.616822 +vt 0.852459 0.317757 +vt 0.885246 0.317757 +vt 0.877049 0.504673 +vt 0.885246 0.504673 +vt 0.909836 0.485981 +vt 0.909836 0.485981 +vt 0.970417 0.393693 +vt 0.975410 0.336449 +vt 0.909836 0.317757 +vt 0.975410 0.317757 +vt 0.975410 0.336449 +vt 0.956204 0.442175 +vt 0.934941 0.474575 +vt 0.344262 0.878505 +vt 0.336066 0.934579 +vt 0.368852 0.878505 +vt 0.368852 0.934579 +vt 0.348361 0.878505 +vt 0.348361 0.934579 +vt 0.258197 0.738318 +vt 0.241803 0.738318 +vt 0.262295 0.785047 +vt 0.192623 0.841121 +vt 0.184426 0.850467 +vt 0.184426 0.850467 +vt 0.192623 0.897196 +vt 0.184426 0.897196 +vt 0.184426 0.897196 +vt 1.000000 0.504673 +vt 0.975410 0.560748 +vt 0.975410 0.504673 +vt 1.000000 0.336449 +vt 0.975410 0.392523 +vt 1.000000 0.317757 +vt 1.000000 0.392523 +vt 0.975410 0.448598 +vt 1.000000 0.560748 +vt 1.000000 0.448598 +vt 0.147541 0.897196 +vt 0.057377 0.934579 +vt 0.057377 0.897196 +vt 0.163934 0.897196 +vt 0.147541 0.934579 +vt 0.176230 0.897196 +vt 0.163934 0.934579 +vt 0.192623 0.897196 +vt 0.176230 0.934579 +vt 0.250000 0.897196 +vt 0.192623 0.934579 +vt 0.266393 0.897196 +vt 0.250000 0.934579 +vt 0.336066 0.971963 +vt 0.348361 0.971963 +vt 0.364754 0.971963 +vt 0.368852 0.971963 +vt 0.409836 0.934579 +vt 0.393443 0.971963 +vt 0.409836 0.971963 +vt 0.426230 0.934579 +vt 0.426230 0.971963 +vt 0.077869 0.728972 +vt 0.061475 0.766355 +vt 0.061475 0.728972 +vt 0.077869 0.766355 +vt 0.086066 0.728972 +vt 0.086066 0.766355 +vt 0.102459 0.728972 +vt 0.020492 0.766355 +vt 0.168033 0.766355 +vt 0.184426 0.728972 +vt 0.184426 0.766355 +vt 0.143443 0.728972 +vt 0.102459 0.766355 +vt 0.159836 0.728972 +vt 0.143443 0.766355 +vt 0.159836 0.766355 +vt 0.168033 0.728972 +vt 0.266393 0.934579 +vt 0.344262 0.971963 +vt 0.020492 0.728972 vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.9239 -0.3827 -vn 0.0000 -0.9239 0.3827 -vn 0.0000 0.3827 0.9239 -vn 0.0000 -0.3827 -0.9239 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 0.7071 0.7071 -vn 0.0000 -0.7071 -0.7071 -vn 0.9239 -0.3827 -0.0000 -vn -0.9239 0.3827 0.0000 -vn 0.3827 0.9239 0.0000 -vn -0.3827 -0.9239 -0.0000 -vn 0.9239 0.3827 0.0000 -vn -0.9239 -0.3827 -0.0000 -vn -0.3827 0.9239 0.0000 -vn 0.3827 -0.9239 -0.0000 -s off -f 1/1/1 2/2/1 3/3/1 -f 2/2/1 4/4/1 3/3/1 -f 5/5/2 6/6/2 7/7/2 -f 6/6/2 8/8/2 7/7/2 -f 5/9/3 7/10/3 3/3/3 -f 7/10/3 1/11/3 3/3/3 -f 8/12/4 6/13/4 2/14/4 -f 6/13/4 4/15/4 2/14/4 -f 7/16/5 8/17/5 1/18/5 -f 8/17/5 2/19/5 1/18/5 -f 3/20/6 4/21/6 5/22/6 -f 4/21/6 6/23/6 5/22/6 -f 9/24/1 10/25/1 11/26/1 -f 10/25/1 12/27/1 11/26/1 -f 13/28/2 14/29/2 15/30/2 -f 14/29/2 16/31/2 15/30/2 -f 13/28/7 15/32/7 11/26/7 -f 15/32/7 9/33/7 11/26/7 -f 16/34/8 14/29/8 10/35/8 -f 14/29/8 12/27/8 10/35/8 -f 15/36/9 16/37/9 9/38/9 -f 16/37/9 10/39/9 9/38/9 -f 11/40/10 12/41/10 13/42/10 -f 12/41/10 14/43/10 13/42/10 -f 17/44/1 18/45/1 19/46/1 -f 18/45/1 20/47/1 19/46/1 -f 21/48/2 22/49/2 23/50/2 -f 22/49/2 24/51/2 23/50/2 -f 21/48/11 23/52/11 19/46/11 -f 23/52/11 17/53/11 19/46/11 -f 24/54/12 22/49/12 18/55/12 -f 22/49/12 20/47/12 18/55/12 -f 23/56/13 24/57/13 17/58/13 -f 24/57/13 18/59/13 17/58/13 -f 19/60/14 20/61/14 21/62/14 -f 20/61/14 22/63/14 21/62/14 -f 25/64/1 26/65/1 27/66/1 -f 26/65/1 28/67/1 27/66/1 -f 29/68/2 30/69/2 31/70/2 -f 30/69/2 32/71/2 31/70/2 -f 29/72/15 31/73/15 27/66/15 -f 31/73/15 25/74/15 27/66/15 -f 32/75/16 30/76/16 26/77/16 -f 30/76/16 28/78/16 26/77/16 -f 31/79/17 32/80/17 25/81/17 -f 32/80/17 26/82/17 25/81/17 -f 27/83/18 28/84/18 29/85/18 -f 28/84/18 30/86/18 29/85/18 -f 33/87/1 34/88/1 35/89/1 -f 34/88/1 36/90/1 35/89/1 -f 37/91/2 38/92/2 39/93/2 -f 38/92/2 40/94/2 39/93/2 -f 37/91/11 39/95/11 35/89/11 -f 39/95/11 33/96/11 35/89/11 -f 40/97/12 38/92/12 34/98/12 -f 38/92/12 36/90/12 34/98/12 -f 39/99/13 40/100/13 33/101/13 -f 40/100/13 34/102/13 33/101/13 -f 35/103/14 36/104/14 37/105/14 -f 36/104/14 38/106/14 37/105/14 -f 41/107/1 42/108/1 43/109/1 -f 42/108/1 44/110/1 43/109/1 -f 45/111/2 46/112/2 47/113/2 -f 46/112/2 48/114/2 47/113/2 -f 45/111/15 47/115/15 43/109/15 -f 47/115/15 41/116/15 43/109/15 -f 48/117/16 46/112/16 42/118/16 -f 46/112/16 44/110/16 42/118/16 -f 47/119/17 48/120/17 41/121/17 -f 48/120/17 42/122/17 41/121/17 -f 43/123/18 44/124/18 45/125/18 -f 44/124/18 46/126/18 45/125/18 -f 49/127/1 50/128/1 51/129/1 -f 50/128/1 52/130/1 51/129/1 -f 53/131/2 54/132/2 55/133/2 -f 54/132/2 56/134/2 55/133/2 -f 53/135/7 55/136/7 51/129/7 -f 55/136/7 49/137/7 51/129/7 -f 56/138/8 54/139/8 50/140/8 -f 54/139/8 52/141/8 50/140/8 -f 55/142/9 56/143/9 49/144/9 -f 56/143/9 50/145/9 49/144/9 -f 51/146/10 52/147/10 53/148/10 -f 52/147/10 54/149/10 53/148/10 -f 57/150/19 58/151/19 59/152/19 -f 58/151/19 60/153/19 59/152/19 -f 61/154/20 62/155/20 63/156/20 -f 62/155/20 64/157/20 63/156/20 -f 61/154/21 63/158/21 59/152/21 -f 63/158/21 57/159/21 59/152/21 -f 64/160/22 62/155/22 58/161/22 -f 62/155/22 60/162/22 58/161/22 -f 63/163/9 64/164/9 57/165/9 -f 64/164/9 58/166/9 57/165/9 -f 59/167/10 60/168/10 61/169/10 -f 60/168/10 62/170/10 61/169/10 -f 65/171/23 66/172/23 67/173/23 -f 66/172/23 68/174/23 67/173/23 -f 69/175/24 70/176/24 71/177/24 -f 70/176/24 72/178/24 71/177/24 -f 69/175/25 71/179/25 67/173/25 -f 71/179/25 65/180/25 67/173/25 -f 72/181/26 70/182/26 66/183/26 -f 70/182/26 68/184/26 66/183/26 -f 71/185/9 72/186/9 65/187/9 -f 72/186/9 66/188/9 65/187/9 -f 67/189/10 68/190/10 69/191/10 -f 68/190/10 70/192/10 69/191/10 -f 73/193/23 74/194/23 75/195/23 -f 74/194/23 76/196/23 75/195/23 -f 77/197/24 78/198/24 79/199/24 -f 78/198/24 80/200/24 79/199/24 -f 77/201/25 79/202/25 75/195/25 -f 79/202/25 73/203/25 75/195/25 -f 80/204/26 78/205/26 74/206/26 -f 78/205/26 76/196/26 74/206/26 -f 79/207/9 80/208/9 73/209/9 -f 80/208/9 74/210/9 73/209/9 -f 75/211/10 76/212/10 77/213/10 -f 76/212/10 78/214/10 77/213/10 -f 81/215/19 82/216/19 83/217/19 -f 82/216/19 84/218/19 83/217/19 -f 85/219/20 86/220/20 87/221/20 -f 86/220/20 88/222/20 87/221/20 -f 85/219/21 87/223/21 83/217/21 -f 87/223/21 81/224/21 83/217/21 -f 88/225/22 86/226/22 82/227/22 -f 86/226/22 84/228/22 82/227/22 -f 87/229/9 88/230/9 81/231/9 -f 88/230/9 82/232/9 81/231/9 -f 83/233/10 84/234/10 85/235/10 -f 84/234/10 86/236/10 85/235/10 -f 89/237/1 90/238/1 91/239/1 -f 90/238/1 92/240/1 91/239/1 -f 93/241/2 94/242/2 95/243/2 -f 94/242/2 96/244/2 95/243/2 -f 93/241/7 95/245/7 91/239/7 -f 95/245/7 89/246/7 91/239/7 -f 96/247/8 94/248/8 90/249/8 -f 94/248/8 92/250/8 90/249/8 -f 95/251/9 96/252/9 89/253/9 -f 96/252/9 90/254/9 89/253/9 -f 91/255/10 92/256/10 93/257/10 -f 92/256/10 94/258/10 93/257/10 -f 145/259/1 146/260/1 147/261/1 -f 146/260/1 148/262/1 147/261/1 -f 149/263/2 150/264/2 151/265/2 -f 150/264/2 152/266/2 151/265/2 -f 149/263/15 151/267/15 147/261/15 -f 151/267/15 145/268/15 147/261/15 -f 152/269/16 150/264/16 146/270/16 -f 150/264/16 148/262/16 146/270/16 -f 151/271/17 152/272/17 145/273/17 -f 152/272/17 146/274/17 145/273/17 -f 147/275/18 148/276/18 149/277/18 -f 148/276/18 150/278/18 149/277/18 -f 97/279/1 98/280/1 99/281/1 -f 98/280/1 100/282/1 99/281/1 -f 101/283/2 102/284/2 103/285/2 -f 102/284/2 104/286/2 103/285/2 -f 101/283/7 103/287/7 99/281/7 -f 103/287/7 97/288/7 99/281/7 -f 104/289/8 102/284/8 98/290/8 -f 102/284/8 100/282/8 98/290/8 -f 103/291/9 104/292/9 97/293/9 -f 104/292/9 98/294/9 97/293/9 -f 99/295/10 100/296/10 101/297/10 -f 100/296/10 102/298/10 101/297/10 -f 105/299/23 106/300/23 107/301/23 -f 106/300/23 108/302/23 107/301/23 -f 109/303/24 110/304/24 111/305/24 -f 110/304/24 112/306/24 111/305/24 -f 109/303/25 111/307/25 107/301/25 -f 111/307/25 105/308/25 107/301/25 -f 112/309/26 110/304/26 106/310/26 -f 110/304/26 108/302/26 106/310/26 -f 111/311/9 112/312/9 105/313/9 -f 112/312/9 106/314/9 105/313/9 -f 107/315/10 108/316/10 109/317/10 -f 108/316/10 110/318/10 109/317/10 -f 113/319/19 114/320/19 115/321/19 -f 114/320/19 116/322/19 115/321/19 -f 117/323/20 118/324/20 119/325/20 -f 118/324/20 120/326/20 119/325/20 -f 117/323/21 119/327/21 115/321/21 -f 119/327/21 113/328/21 115/321/21 -f 120/329/22 118/324/22 114/330/22 -f 118/324/22 116/322/22 114/330/22 -f 119/331/9 120/332/9 113/333/9 -f 120/332/9 114/334/9 113/333/9 -f 115/335/10 116/336/10 117/337/10 -f 116/336/10 118/338/10 117/337/10 -f 121/339/23 122/340/23 123/341/23 -f 122/340/23 124/342/23 123/341/23 -f 125/343/24 126/344/24 127/345/24 -f 126/344/24 128/346/24 127/345/24 -f 125/343/25 127/347/25 123/341/25 -f 127/347/25 121/348/25 123/341/25 -f 128/349/26 126/344/26 122/350/26 -f 126/344/26 124/342/26 122/350/26 -f 127/351/9 128/352/9 121/353/9 -f 128/352/9 122/354/9 121/353/9 -f 123/355/10 124/356/10 125/357/10 -f 124/356/10 126/358/10 125/357/10 -f 129/359/1 130/360/1 131/361/1 -f 130/360/1 132/362/1 131/361/1 -f 133/363/2 134/364/2 135/365/2 -f 134/364/2 136/366/2 135/365/2 -f 133/363/7 135/367/7 131/361/7 -f 135/367/7 129/368/7 131/361/7 -f 136/369/8 134/364/8 130/370/8 -f 134/364/8 132/362/8 130/370/8 -f 135/371/9 136/372/9 129/373/9 -f 136/372/9 130/374/9 129/373/9 -f 131/375/10 132/376/10 133/377/10 -f 132/376/10 134/378/10 133/377/10 -f 137/379/19 138/380/19 139/381/19 -f 138/380/19 140/382/19 139/381/19 -f 141/383/20 142/384/20 143/385/20 -f 142/384/20 144/386/20 143/385/20 -f 141/383/21 143/387/21 139/381/21 -f 143/387/21 137/388/21 139/381/21 -f 144/389/22 142/384/22 138/390/22 -f 142/384/22 140/382/22 138/390/22 -f 143/391/9 144/392/9 137/393/9 -f 144/392/9 138/394/9 137/393/9 -f 139/395/10 140/396/10 141/397/10 -f 140/396/10 142/398/10 141/397/10 -o Lever -v 0.019964 0.080214 0.281241 -v 0.019964 0.024971 0.336484 -v 0.019964 0.024971 0.225999 -v 0.019964 -0.030272 0.281241 -v -0.030036 0.024971 0.225999 -v -0.030036 -0.030272 0.281241 -v -0.030036 0.080214 0.281241 -v -0.030036 0.024971 0.336484 -v 0.019964 0.008853 0.262532 -v 0.019964 -0.020018 0.274490 -v 0.019964 0.002874 0.248096 -v 0.019964 -0.025998 0.260055 -v -0.030036 0.002874 0.248096 -v -0.030036 -0.025998 0.260055 -v -0.030036 0.008853 0.262532 -v -0.030036 -0.020018 0.274490 -v 0.019964 -0.014949 0.271104 -v 0.019964 -0.037046 0.293201 -v 0.019964 -0.025997 0.260055 -v 0.019964 -0.048094 0.282152 -v -0.030036 -0.025997 0.260055 -v -0.030036 -0.048094 0.282152 -v -0.030036 -0.014949 0.271104 -v -0.030036 -0.037046 0.293201 -v 0.019964 -0.022610 0.299180 -v 0.019964 -0.037046 0.293200 -v 0.019964 -0.010651 0.270308 -v 0.019964 -0.025087 0.264329 -v -0.030036 -0.010651 0.270308 -v -0.030036 -0.025087 0.264329 -v -0.030036 -0.022610 0.299180 -v -0.030036 -0.037046 0.293200 -v 0.019964 0.038612 0.362084 -v 0.019964 -0.027679 0.295793 -v 0.019964 0.049660 0.351036 -v 0.019964 -0.016631 0.284744 -v -0.030036 0.049660 0.351036 -v -0.030036 -0.016631 0.284744 -v -0.030036 0.038612 0.362084 -v -0.030036 -0.027679 0.295793 -v 0.007464 0.015470 0.337208 -v 0.007464 -0.031405 0.337208 -v 0.007464 0.015470 0.274708 -v 0.007464 -0.031405 0.274708 -v -0.017536 0.015470 0.274708 -v -0.017536 -0.031405 0.274708 -v -0.017536 0.015470 0.337208 -v -0.017536 -0.031405 0.337208 -v 0.007464 0.011902 0.355146 -v 0.007464 -0.031405 0.337208 -v 0.007464 0.035819 0.297404 -v 0.007464 -0.007487 0.279466 -v -0.017536 0.035819 0.297404 -v -0.017536 -0.007487 0.279466 -v -0.017536 0.011902 0.355146 -v -0.017536 -0.031405 0.337208 -v 0.007464 -0.016969 0.331229 -v 0.007464 -0.074712 0.355146 -v 0.007464 -0.022949 0.316793 -v 0.007464 -0.080691 0.340711 -v -0.017536 -0.022949 0.316793 -v -0.017536 -0.080691 0.340711 -v -0.017536 -0.016969 0.331229 -v -0.017536 -0.074712 0.355146 -v 0.007464 -0.084194 0.389997 -v 0.007464 -0.098629 0.384018 -v 0.007464 -0.066255 0.346690 -v 0.007464 -0.080691 0.340711 -v -0.017536 -0.066255 0.346690 -v -0.017536 -0.080691 0.340711 -v -0.017536 -0.084194 0.389997 -v -0.017536 -0.098629 0.384018 -v 0.007464 -0.083004 0.430892 -v 0.007464 -0.098629 0.430892 -v 0.007464 -0.083004 0.384017 -v 0.007464 -0.098629 0.384017 -v -0.017536 -0.083004 0.384017 -v -0.017536 -0.098629 0.384017 -v -0.017536 -0.083004 0.430892 -v -0.017536 -0.098629 0.430892 -v 0.007464 -0.054436 0.452989 -v 0.007464 -0.065484 0.464038 -v 0.007464 -0.087581 0.419844 -v 0.007464 -0.098630 0.430892 -v -0.017536 -0.087581 0.419844 -v -0.017536 -0.098630 0.430892 -v -0.017536 -0.054436 0.452989 -v -0.017536 -0.065484 0.464038 -v 0.007464 -0.182975 0.584708 -v 0.007464 -0.197410 0.578729 -v 0.007464 -0.165036 0.541401 -v 0.007464 -0.179472 0.535422 -v -0.017536 -0.165036 0.541401 -v -0.017536 -0.179472 0.535422 -v -0.017536 -0.182975 0.584708 -v -0.017536 -0.197410 0.578729 -v 0.007464 -0.171016 0.601620 -v 0.007464 -0.185451 0.607599 -v 0.007464 -0.182975 0.572749 -v 0.007464 -0.197410 0.578728 -v -0.017536 -0.182975 0.572749 -v -0.017536 -0.197410 0.578728 -v -0.017536 -0.171016 0.601620 -v -0.017536 -0.185451 0.607599 -v 0.007464 -0.156580 0.619558 -v 0.007464 -0.185451 0.607599 -v 0.007464 -0.150601 0.605123 -v 0.007464 -0.179472 0.593164 -v -0.017536 -0.150601 0.605123 -v -0.017536 -0.179472 0.593164 -v -0.017536 -0.156580 0.619558 -v -0.017536 -0.185451 0.607599 -v 0.007464 -0.113273 0.601620 -v 0.007464 -0.156580 0.619558 -v 0.007464 -0.119253 0.587184 -v 0.007464 -0.162560 0.605123 -v -0.017536 -0.119253 0.587184 -v -0.017536 -0.162560 0.605123 -v -0.017536 -0.113273 0.601620 -v -0.017536 -0.156580 0.619558 -v 0.007464 -0.069079 0.557426 -v 0.007464 -0.113273 0.601620 -v 0.007464 -0.080128 0.546377 -v 0.007464 -0.124322 0.590572 -v -0.017536 -0.080128 0.546377 -v -0.017536 -0.124322 0.590572 -v -0.017536 -0.069079 0.557426 -v -0.017536 -0.113273 0.601620 -v 0.007464 -0.069079 0.557426 -v 0.007464 -0.083515 0.551446 -v 0.007464 -0.033203 0.470812 -v 0.007464 -0.047638 0.464833 -v -0.017536 -0.033203 0.470812 -v -0.017536 -0.047638 0.464833 -v -0.017536 -0.069079 0.557426 -v -0.017536 -0.083515 0.551446 -v 0.007464 -0.102132 0.480179 -v 0.007464 -0.116568 0.474199 -v 0.007464 -0.084194 0.436872 -v 0.007464 -0.098629 0.430892 -v -0.017536 -0.084194 0.436872 -v -0.017536 -0.098629 0.430892 -v -0.017536 -0.102132 0.480179 -v -0.017536 -0.116568 0.474199 -v 0.007464 -0.168423 0.546470 -v 0.007464 -0.179472 0.535422 -v 0.007464 -0.102132 0.480179 -v 0.007464 -0.113181 0.469131 -v -0.017536 -0.102132 0.480179 -v -0.017536 -0.113181 0.469131 -v -0.017536 -0.168423 0.546470 -v -0.017536 -0.179472 0.535422 -v 0.007464 -0.022177 0.481976 -v 0.007464 -0.065484 0.464038 -v 0.007464 -0.016197 0.467541 -v 0.007464 -0.059504 0.449602 -v -0.017536 -0.016197 0.467541 -v -0.017536 -0.059504 0.449602 -v -0.017536 -0.022177 0.481976 -v -0.017536 -0.065484 0.464038 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 0.7071 0.7071 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 0.9239 -0.3827 -vn 0.0000 -0.9239 0.3827 -vn 0.0000 0.3827 0.9239 -vn 0.0000 -0.3827 -0.9239 -vn 0.0000 0.9239 0.3827 -vn 0.0000 -0.9239 -0.3827 -vn 0.0000 -0.3827 0.9239 -vn 0.0000 0.3827 -0.9239 vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 -0.0000 +vn 0.0000 0.7071 -0.7071 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 0.9952 -0.0980 +vn 0.0000 0.0980 -0.9952 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.4719 -0.8817 +vn 0.0000 0.8321 -0.5547 +vn 0.0000 -0.3827 -0.9239 +vn 0.0000 -0.9239 -0.3827 +vn 0.0000 -0.9571 0.2898 +vn 0.0000 -0.4719 0.8817 +vn 0.0000 -0.9239 0.3827 +vn 0.0000 -0.3827 0.9239 +vn 0.0000 0.9571 0.2898 +vn 0.0000 0.0985 0.9951 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.9239 0.3827 +vn 0.0000 0.9571 -0.2898 +vn 0.0000 0.3827 0.9239 +s off +f 21/1/1 11/2/1 22/3/1 +f 4/4/2 5/5/2 3/6/2 +f 3/7/3 9/8/3 4/9/3 +f 9/8/4 24/10/4 23/11/4 +f 6/12/1 8/13/1 5/5/1 +f 7/14/2 12/15/2 8/16/2 +f 23/17/5 7/18/5 6/19/5 +f 24/20/6 10/21/6 3/6/6 +f 19/22/5 1/23/5 7/18/5 +f 8/16/6 12/15/6 15/24/6 +f 50/25/5 44/26/5 46/27/5 +f 47/28/6 45/29/6 43/30/6 +f 42/31/5 52/32/5 40/33/5 +f 51/34/6 41/35/6 39/36/6 +f 44/26/5 54/37/5 42/31/5 +f 53/38/6 43/30/6 41/35/6 +f 60/39/5 34/40/5 36/41/5 +f 57/42/6 35/43/6 33/44/6 +f 64/45/5 30/46/5 32/47/5 +f 61/48/6 31/49/6 29/50/6 +f 34/40/5 64/45/5 32/47/5 +f 63/51/6 33/44/6 31/49/6 +f 36/41/5 66/52/5 60/39/5 +f 38/53/5 68/54/5 66/52/5 +f 35/43/6 65/55/6 37/56/6 +f 37/56/6 67/57/6 39/58/6 +f 56/59/5 72/60/5 68/54/5 +f 39/58/6 71/61/6 55/62/6 +f 30/46/5 70/63/5 26/64/5 +f 29/50/6 69/65/6 61/48/6 +f 70/63/5 72/60/5 56/59/5 +f 55/62/6 71/61/6 69/65/6 +f 21/1/1 12/15/1 11/2/1 +f 4/4/2 6/12/2 5/5/2 +f 3/7/3 10/66/3 9/8/3 +f 9/8/4 10/66/4 24/10/4 +f 6/12/1 7/67/1 8/13/1 +f 7/14/2 11/68/2 12/15/2 +f 6/19/5 4/69/5 23/17/5 +f 4/69/5 9/70/5 23/17/5 +f 23/17/5 20/71/5 7/18/5 +f 3/6/6 5/5/6 24/20/6 +f 5/5/6 8/16/6 24/20/6 +f 8/16/6 18/72/6 24/20/6 +f 1/23/5 2/73/5 7/18/5 +f 2/73/5 13/74/5 11/75/5 +f 7/18/5 2/73/5 11/75/5 +f 13/74/5 22/76/5 11/75/5 +f 7/18/5 20/71/5 19/22/5 +f 12/15/6 21/1/6 14/77/6 +f 14/77/6 15/24/6 12/15/6 +f 15/24/6 16/78/6 8/16/6 +f 16/78/6 17/79/6 8/16/6 +f 17/79/6 18/72/6 8/16/6 +f 50/25/5 48/80/5 44/26/5 +f 47/28/6 49/81/6 45/29/6 +f 42/31/5 54/82/5 52/32/5 +f 51/34/6 53/83/6 41/35/6 +f 44/26/5 48/84/5 54/37/5 +f 53/38/6 47/85/6 43/30/6 +f 60/39/5 58/86/5 34/40/5 +f 57/42/6 59/87/6 35/43/6 +f 64/45/5 62/88/5 30/46/5 +f 61/48/6 63/51/6 31/49/6 +f 34/40/5 58/86/5 64/45/5 +f 63/51/6 57/42/6 33/44/6 +f 36/41/5 38/53/5 66/52/5 +f 38/53/5 40/89/5 68/54/5 +f 35/43/6 59/87/6 65/55/6 +f 37/56/6 65/55/6 67/57/6 +f 68/54/5 40/89/5 56/59/5 +f 40/89/5 52/90/5 56/59/5 +f 55/62/6 51/91/6 39/58/6 +f 39/58/6 67/57/6 71/61/6 +f 30/46/5 62/88/5 70/63/5 +f 29/50/6 25/92/6 69/65/6 +f 27/93/5 26/64/5 56/59/5 +f 26/64/5 70/63/5 56/59/5 +f 69/65/6 25/92/6 55/62/6 +f 25/92/6 28/94/6 55/62/6 +s 1 +f 19/95/7 18/96/8 17/97/7 +f 13/98/9 15/99/10 14/77/9 +f 14/77/9 22/100/11 13/98/9 +f 2/101/10 16/102/4 15/99/10 +f 20/103/8 24/10/3 18/96/8 +f 1/104/4 17/97/7 16/102/4 +f 29/105/12 26/106/13 25/107/13 +f 31/108/14 30/109/12 29/105/12 +f 33/110/15 32/111/14 31/108/14 +f 35/112/16 34/113/15 33/110/15 +f 37/114/17 36/115/16 35/112/16 +f 39/116/2 38/117/17 37/114/17 +f 41/35/18 40/33/1 39/36/1 +f 43/30/19 42/31/18 41/35/18 +f 45/29/2 44/26/19 43/30/19 +f 47/28/10 50/118/11 49/81/11 +f 48/119/10 53/38/7 54/120/7 +f 51/34/20 54/121/7 53/83/7 +f 55/122/21 52/123/20 51/34/20 +f 56/124/21 28/125/22 27/126/22 +f 57/127/23 60/128/24 59/129/24 +f 58/130/23 63/131/25 64/132/25 +f 61/133/17 64/132/25 63/131/25 +f 66/134/12 59/129/24 60/128/24 +f 68/135/14 65/136/12 66/137/12 +f 69/138/16 62/139/17 61/133/17 +f 71/140/15 70/141/16 69/138/16 +f 72/142/15 67/143/14 68/135/14 +f 19/95/7 20/103/8 18/96/8 +f 13/98/9 2/101/10 15/99/10 +f 14/77/9 21/1/11 22/100/11 +f 2/101/10 1/104/4 16/102/4 +f 20/103/8 23/11/3 24/10/3 +f 1/104/4 19/95/7 17/97/7 +f 29/105/12 30/109/12 26/106/13 +f 31/108/14 32/111/14 30/109/12 +f 33/110/15 34/113/15 32/111/14 +f 35/112/16 36/115/16 34/113/15 +f 37/114/17 38/117/17 36/115/16 +f 39/116/2 40/144/2 38/117/17 +f 41/35/18 42/31/18 40/33/1 +f 43/30/19 44/26/19 42/31/18 +f 45/29/2 46/27/2 44/26/19 +f 47/28/10 48/145/10 50/118/11 +f 48/119/10 47/85/10 53/38/7 +f 51/34/20 52/123/20 54/121/7 +f 55/122/21 56/124/21 52/123/20 +f 56/124/21 55/122/21 28/125/22 +f 57/127/23 58/130/23 60/128/24 +f 58/130/23 57/127/23 63/131/25 +f 61/133/17 62/139/17 64/132/25 +f 66/134/12 65/146/12 59/129/24 +f 68/135/14 67/143/14 65/136/12 +f 69/138/16 70/141/16 62/139/17 +f 71/140/15 72/142/15 70/141/16 +f 72/142/15 71/140/15 67/143/14 +o Stock +v -0.375000 -0.375000 -5.562500 +v -0.375000 -0.625000 -5.437500 +v -0.375000 -1.375000 -8.000000 +v -0.375000 0.000000 -5.562500 +v -0.375000 -0.125000 -8.000000 +v 0.375000 -0.375000 -5.562500 +v 0.375000 -0.625000 -5.437500 +v 0.375000 -1.375000 -8.000000 +v 0.375000 0.000000 -5.562500 +v 0.375000 -0.125000 -8.000000 +v 0.250000 0.000000 -8.000000 +v -0.250000 0.000000 -8.000000 +v -0.250000 -1.500000 -8.000000 +v 0.250000 -1.500000 -8.000000 +v 0.250000 -0.750000 -5.375000 +v -0.250000 -0.750000 -5.375000 +v 0.250000 0.125000 -5.562500 +v -0.250000 0.125000 -5.562500 +vt 0.803279 0.803738 +vt 0.721311 0.803738 +vt 0.803279 0.691589 +vt 0.520492 0.691589 +vt 0.520492 0.803738 +vt 0.495902 0.710280 +vt 0.545082 0.691589 +vt 0.553279 0.710280 +vt 0.713115 0.785047 +vt 0.713115 0.710280 +vt 0.721311 0.691589 +vt 0.811475 0.710280 +vt 0.811475 0.785047 +vt 0.504098 0.803738 +vt 0.495902 0.785047 +vt 0.504098 0.691589 +vt 0.553279 0.785047 +vt 0.545082 0.803738 +vt 0.553279 0.813084 +vt 0.536885 0.392523 +vt 0.713115 0.364486 +vt 0.713115 0.392523 +vt 0.553279 0.682243 +vt 0.713115 0.682243 +vt 0.536885 0.467290 +vt 0.713115 0.495327 +vt 0.536885 0.495327 +vt 0.713115 1.000000 +vt 0.553279 0.869159 +vt 0.713115 0.813084 +vt 0.553279 0.626168 +vt 0.545082 0.588785 +vt 0.536885 0.364486 +vt 0.713115 0.467290 +vt 0.545082 0.906542 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.4472 0.8944 +vn 0.0000 0.0000 1.0000 +vn -0.3867 0.9210 -0.0472 +vn -0.9193 0.3932 -0.0202 +vn -0.3779 0.9246 -0.0474 +vn -0.3846 -0.8870 0.2557 +vn -0.8923 -0.4340 0.1241 +vn -0.3487 -0.9012 0.2575 +vn 0.3867 0.9210 -0.0472 +vn 0.9193 0.3932 -0.0202 +vn 0.9281 0.3719 -0.0191 +vn 0.3846 -0.8870 0.2557 +vn 0.8923 -0.4340 0.1241 +vn 0.9180 -0.3806 0.1114 +vn 0.3779 0.9246 -0.0474 +vn -1.0000 0.0000 0.0000 +vn -0.9281 0.3719 -0.0191 +vn 1.0000 0.0000 0.0000 +vn -0.9180 -0.3806 0.1114 +vn 0.3487 -0.9012 0.2575 +s off +f 75/147/26 77/148/26 80/149/26 +f 78/150/27 73/151/27 87/152/27 +f 78/150/28 81/153/28 89/154/28 +f 77/148/26 84/155/26 83/156/26 +f 83/156/26 82/157/26 77/148/26 +f 82/157/26 80/149/26 77/148/26 +f 80/149/26 86/158/26 85/159/26 +f 85/159/26 75/147/26 80/149/26 +f 74/160/27 88/161/27 73/151/27 +f 88/161/27 87/152/27 73/151/27 +f 87/152/27 79/162/27 78/150/27 +f 89/154/28 90/163/28 73/151/28 +f 90/163/28 76/164/28 73/151/28 +f 73/151/28 78/150/28 89/154/28 +s 1 +f 84/155/29 76/165/30 90/163/31 +f 88/166/32 75/167/33 85/168/34 +f 83/156/35 81/169/36 82/170/37 +f 87/171/38 80/172/39 79/173/40 +f 89/154/41 84/155/29 90/163/31 +f 85/168/34 87/171/38 88/166/32 +f 75/174/33 73/175/42 77/176/43 +f 80/172/39 78/177/44 79/178/40 +f 78/177/44 82/170/37 81/169/36 +f 77/176/43 73/175/42 76/165/30 +f 84/155/29 77/176/43 76/165/30 +f 88/166/32 74/179/45 75/167/33 +f 83/156/35 89/154/41 81/169/36 +f 87/171/38 86/180/46 80/172/39 +f 89/154/41 83/156/35 84/155/29 +f 85/168/34 86/180/46 87/171/38 +f 75/174/33 74/181/45 73/175/42 +f 80/172/39 82/170/37 78/177/44 +o Shell +v 0.000000 1.625000 -2.375000 +v -0.062500 1.608253 -2.375000 +v -0.108253 1.562500 -2.375000 +v -0.125000 1.500000 -2.375000 +v -0.108253 1.437500 -2.375000 +v -0.062500 1.391747 -2.375000 +v 0.000000 1.375000 -2.375000 +v 0.062500 1.391747 -2.375000 +v 0.108253 1.437500 -2.375000 +v 0.125000 1.500000 -2.375000 +v 0.108253 1.562500 -2.375000 +v 0.062500 1.608253 -2.375000 +v 0.000000 1.625000 -1.625000 +v -0.062500 1.608253 -1.625000 +v -0.108253 1.562500 -1.625000 +v -0.125000 1.500000 -1.625000 +v -0.108253 1.437500 -1.625000 +v -0.062500 1.391747 -1.625000 +v 0.000000 1.375000 -1.625000 +v 0.062500 1.391747 -1.625000 +v 0.108253 1.437500 -1.625000 +v 0.125000 1.500000 -1.625000 +v 0.108253 1.562500 -1.625000 +v 0.062500 1.608253 -1.625000 +v 0.000000 1.640625 -2.375000 +v -0.070312 1.621785 -2.375000 +v -0.121785 1.570312 -2.375000 +v -0.140625 1.500000 -2.375000 +v -0.121785 1.429688 -2.375000 +v -0.070312 1.378215 -2.375000 +v 0.000000 1.359375 -2.375000 +v 0.070312 1.378215 -2.375000 +v 0.121785 1.429688 -2.375000 +v 0.140625 1.500000 -2.375000 +v 0.121785 1.570312 -2.375000 +v 0.070312 1.621785 -2.375000 +v 0.000000 1.640625 -2.437500 +v -0.070312 1.621785 -2.437500 +v -0.121785 1.570312 -2.437500 +v -0.140625 1.500000 -2.437500 +v -0.121785 1.429688 -2.437500 +v -0.070312 1.378215 -2.437500 +v 0.000000 1.359375 -2.437500 +v 0.070312 1.378215 -2.437500 +v 0.121785 1.429688 -2.437500 +v 0.140625 1.500000 -2.437500 +v 0.121785 1.570312 -2.437500 +v 0.070312 1.621785 -2.437500 +vt 0.778689 0.803764 +vt 0.785777 0.813097 +vt 0.778689 0.841096 +vt 0.762295 0.878505 +vt 0.766393 0.869159 +vt 0.766393 0.878505 +vt 0.762295 0.822430 +vt 0.766393 0.831776 +vt 0.762295 0.831776 +vt 0.762295 0.906542 +vt 0.766393 0.915888 +vt 0.762295 0.915888 +vt 0.766393 0.887850 +vt 0.762295 0.887850 +vt 0.762295 0.841121 +vt 0.766393 0.841121 +vt 0.762295 0.813084 +vt 0.766393 0.803738 +vt 0.766393 0.813084 +vt 0.762295 0.897196 +vt 0.766393 0.897196 +vt 0.766393 0.850467 +vt 0.762295 0.850467 +vt 0.762295 0.859813 +vt 0.762295 0.869159 +vt 0.766393 0.822430 +vt 0.766393 0.906542 +vt 0.766393 0.859813 +vt 0.787992 0.831765 +vt 0.795082 0.803760 +vt 0.802173 0.831765 +vt 0.774596 0.838595 +vt 0.771600 0.813097 +vt 0.771600 0.831763 +vt 0.770503 0.822430 +vt 0.774596 0.806265 +vt 0.782781 0.806265 +vt 0.786874 0.822430 +vt 0.785777 0.831763 +vt 0.782781 0.838595 +vt 0.762295 0.803738 +vt 0.799176 0.838599 +vt 0.795082 0.841100 +vt 0.790989 0.838599 +vt 0.786895 0.822430 +vt 0.787992 0.813095 +vt 0.790989 0.806261 +vt 0.799176 0.806261 +vt 0.802173 0.813095 +vt 0.803269 0.822430 +vt 0.713115 0.850467 +vt 0.713115 0.897196 +vt 0.713115 0.906542 +vt 0.713115 0.803738 +vt 0.713115 0.813084 +vt 0.713115 0.859813 +vt 0.713115 0.822430 +vt 0.713115 0.869159 +vt 0.713115 0.831776 +vt 0.713115 0.878505 +vt 0.713115 0.841121 +vt 0.713115 0.887850 +vt 0.770492 0.813084 +vt 0.770492 0.897196 +vt 0.770492 0.850467 +vt 0.770492 0.869159 +vt 0.770492 0.822430 +vt 0.770492 0.906542 +vt 0.770492 0.859813 +vt 0.770492 0.878505 +vt 0.770492 0.831776 +vt 0.770492 0.915888 +vt 0.770492 0.887850 +vt 0.770492 0.841121 +vt 0.713115 0.915888 +vt 0.770492 0.803738 vn 0.0000 0.0000 1.0000 vn 0.0000 0.0000 -1.0000 +vn -0.0000 1.0000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 0.8660 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn -1.0000 -0.0000 0.0000 s off -f 153/399/27 154/400/27 155/401/27 -f 154/400/27 156/402/27 155/401/27 -f 157/403/28 158/404/28 159/405/28 -f 158/404/28 160/406/28 159/405/28 -f 157/403/29 159/407/29 155/401/29 -f 159/407/29 153/408/29 155/401/29 -f 160/409/30 158/404/30 154/410/30 -f 158/404/30 156/402/30 154/410/30 -f 159/411/31 160/412/31 153/413/31 -f 160/412/31 154/414/31 153/413/31 -f 155/415/32 156/416/32 157/417/32 -f 156/416/32 158/418/32 157/417/32 -f 161/419/27 162/420/27 163/421/27 -f 162/420/27 164/422/27 163/421/27 -f 165/423/28 166/424/28 167/425/28 -f 166/424/28 168/426/28 167/425/28 -f 165/423/33 167/427/33 163/421/33 -f 167/427/33 161/428/33 163/421/33 -f 168/429/34 166/424/34 162/430/34 -f 166/424/34 164/422/34 162/430/34 -f 167/431/35 168/432/35 161/433/35 -f 168/432/35 162/434/35 161/433/35 -f 163/435/36 164/436/36 165/437/36 -f 164/436/36 166/438/36 165/437/36 -f 169/439/27 170/440/27 171/441/27 -f 170/440/27 172/442/27 171/441/27 -f 173/443/28 174/444/28 175/445/28 -f 174/444/28 176/446/28 175/445/28 -f 173/443/29 175/447/29 171/441/29 -f 175/447/29 169/448/29 171/441/29 -f 176/449/30 174/444/30 170/450/30 -f 174/444/30 172/442/30 170/450/30 -f 175/451/31 176/452/31 169/453/31 -f 176/452/31 170/454/31 169/453/31 -f 171/455/32 172/456/32 173/457/32 -f 172/456/32 174/458/32 173/457/32 -f 177/459/27 178/460/27 179/461/27 -f 178/460/27 180/462/27 179/461/27 -f 181/463/28 182/464/28 183/465/28 -f 182/464/28 184/466/28 183/465/28 -f 181/463/37 183/467/37 179/461/37 -f 183/467/37 177/468/37 179/461/37 -f 184/469/38 182/464/38 178/470/38 -f 182/464/38 180/462/38 178/470/38 -f 183/471/39 184/472/39 177/473/39 -f 184/472/39 178/474/39 177/473/39 -f 179/475/40 180/476/40 181/477/40 -f 180/476/40 182/478/40 181/477/40 -f 185/479/27 186/480/27 187/481/27 -f 186/480/27 188/482/27 187/481/27 -f 189/483/28 190/484/28 191/485/28 -f 190/484/28 192/486/28 191/485/28 -f 189/483/31 191/487/31 187/481/31 -f 191/487/31 185/488/31 187/481/31 -f 192/489/32 190/484/32 186/490/32 -f 190/484/32 188/482/32 186/490/32 -f 191/491/30 192/492/30 185/493/30 -f 192/492/30 186/494/30 185/493/30 -f 187/495/29 188/496/29 189/497/29 -f 188/496/29 190/498/29 189/497/29 -f 193/499/27 194/500/27 195/501/27 -f 194/500/27 196/502/27 195/501/27 -f 197/503/28 198/504/28 199/505/28 -f 198/504/28 200/506/28 199/505/28 -f 197/503/41 199/507/41 195/501/41 -f 199/507/41 193/508/41 195/501/41 -f 200/509/42 198/504/42 194/510/42 -f 198/504/42 196/502/42 194/510/42 -f 199/511/43 200/512/43 193/513/43 -f 200/512/43 194/514/43 193/513/43 -f 195/515/44 196/516/44 197/517/44 -f 196/516/44 198/518/44 197/517/44 -f 201/519/27 202/520/27 203/521/27 -f 202/520/27 204/522/27 203/521/27 -f 205/523/28 206/524/28 207/525/28 -f 206/524/28 208/526/28 207/525/28 -f 205/523/37 207/527/37 203/521/37 -f 207/527/37 201/528/37 203/521/37 -f 208/529/38 206/524/38 202/530/38 -f 206/524/38 204/522/38 202/530/38 -f 207/531/39 208/532/39 201/533/39 -f 208/532/39 202/534/39 201/533/39 -f 203/535/40 204/536/40 205/537/40 -f 204/536/40 206/538/40 205/537/40 -f 209/539/27 210/540/27 211/541/27 -f 210/540/27 212/542/27 211/541/27 -f 213/543/28 214/544/28 215/545/28 -f 214/544/28 216/546/28 215/545/28 -f 213/543/33 215/547/33 211/541/33 -f 215/547/33 209/548/33 211/541/33 -f 216/549/34 214/544/34 210/550/34 -f 214/544/34 212/542/34 210/550/34 -f 215/551/35 216/552/35 209/553/35 -f 216/552/35 210/554/35 209/553/35 -f 211/555/36 212/556/36 213/557/36 -f 212/556/36 214/558/36 213/557/36 -f 217/559/27 218/560/27 219/561/27 -f 218/560/27 220/562/27 219/561/27 -f 221/563/28 222/564/28 223/565/28 -f 222/564/28 224/566/28 223/565/28 -f 221/563/37 223/567/37 219/561/37 -f 223/567/37 217/568/37 219/561/37 -f 224/569/38 222/564/38 218/570/38 -f 222/564/38 220/562/38 218/570/38 -f 223/571/39 224/572/39 217/573/39 -f 224/572/39 218/574/39 217/573/39 -f 219/575/40 220/576/40 221/577/40 -f 220/576/40 222/578/40 221/577/40 -f 225/579/27 226/580/27 227/581/27 -f 226/580/27 228/582/27 227/581/27 -f 229/583/28 230/584/28 231/585/28 -f 230/584/28 232/586/28 231/585/28 -f 229/583/41 231/587/41 227/581/41 -f 231/587/41 225/588/41 227/581/41 -f 232/589/42 230/584/42 226/590/42 -f 230/584/42 228/582/42 226/590/42 -f 231/591/43 232/592/43 225/593/43 -f 232/592/43 226/594/43 225/593/43 -f 227/595/44 228/596/44 229/597/44 -f 228/596/44 230/598/44 229/597/44 -f 233/599/27 234/600/27 235/601/27 -f 234/600/27 236/602/27 235/601/27 -f 237/603/28 238/604/28 239/605/28 -f 238/604/28 240/606/28 239/605/28 -f 237/603/29 239/607/29 235/601/29 -f 239/607/29 233/608/29 235/601/29 -f 240/609/30 238/604/30 234/610/30 -f 238/604/30 236/602/30 234/610/30 -f 239/611/31 240/612/31 233/613/31 -f 240/612/31 234/614/31 233/613/31 -f 235/615/32 236/616/32 237/617/32 -f 236/616/32 238/618/32 237/617/32 -f 241/619/27 242/620/27 243/621/27 -f 242/620/27 244/622/27 243/621/27 -f 245/623/28 246/624/28 247/625/28 -f 246/624/28 248/626/28 247/625/28 -f 245/623/37 247/627/37 243/621/37 -f 247/627/37 241/628/37 243/621/37 -f 248/629/38 246/624/38 242/630/38 -f 246/624/38 244/622/38 242/630/38 -f 247/631/39 248/632/39 241/633/39 -f 248/632/39 242/634/39 241/633/39 -f 243/635/40 244/636/40 245/637/40 -f 244/636/40 246/638/40 245/637/40 -f 249/639/27 250/640/27 251/641/27 -f 250/640/27 252/642/27 251/641/27 -f 253/643/28 254/644/28 255/645/28 -f 254/644/28 256/646/28 255/645/28 -f 253/643/33 255/647/33 251/641/33 -f 255/647/33 249/648/33 251/641/33 -f 256/649/34 254/644/34 250/650/34 -f 254/644/34 252/642/34 250/650/34 -f 255/651/35 256/652/35 249/653/35 -f 256/652/35 250/654/35 249/653/35 -f 251/655/36 252/656/36 253/657/36 -f 252/656/36 254/658/36 253/657/36 -f 257/659/27 258/660/27 259/661/27 -f 258/660/27 260/662/27 259/661/27 -f 261/663/28 262/664/28 263/665/28 -f 262/664/28 264/666/28 263/665/28 -f 261/663/37 263/667/37 259/661/37 -f 263/667/37 257/668/37 259/661/37 -f 264/669/38 262/664/38 258/670/38 -f 262/664/38 260/662/38 258/670/38 -f 263/671/39 264/672/39 257/673/39 -f 264/672/39 258/674/39 257/673/39 -f 259/675/40 260/676/40 261/677/40 -f 260/676/40 262/678/40 261/677/40 -f 265/679/27 266/680/27 267/681/27 -f 266/680/27 268/682/27 267/681/27 -f 269/683/28 270/684/28 271/685/28 -f 270/684/28 272/686/28 271/685/28 -f 269/683/33 271/687/33 267/681/33 -f 271/687/33 265/688/33 267/681/33 -f 272/689/34 270/684/34 266/690/34 -f 270/684/34 268/682/34 266/690/34 -f 271/691/35 272/692/35 265/693/35 -f 272/692/35 266/694/35 265/693/35 -f 267/695/36 268/696/36 269/697/36 -f 268/696/36 270/698/36 269/697/36 -f 273/699/27 274/700/27 275/701/27 -f 274/700/27 276/702/27 275/701/27 -f 277/703/28 278/704/28 279/705/28 -f 278/704/28 280/706/28 279/705/28 -f 277/703/29 279/707/29 275/701/29 -f 279/707/29 273/708/29 275/701/29 -f 280/709/30 278/704/30 274/710/30 -f 278/704/30 276/702/30 274/710/30 -f 279/711/31 280/712/31 273/713/31 -f 280/712/31 274/714/31 273/713/31 -f 275/715/32 276/716/32 277/717/32 -f 276/716/32 278/718/32 277/717/32 -f 281/719/27 282/720/27 283/721/27 -f 282/720/27 284/722/27 283/721/27 -f 285/723/28 286/724/28 287/725/28 -f 286/724/28 288/726/28 287/725/28 -f 285/723/37 287/727/37 283/721/37 -f 287/727/37 281/728/37 283/721/37 -f 288/729/38 286/724/38 282/730/38 -f 286/724/38 284/722/38 282/730/38 -f 287/731/39 288/732/39 281/733/39 -f 288/732/39 282/734/39 281/733/39 -f 283/735/40 284/736/40 285/737/40 -f 284/736/40 286/738/40 285/737/40 -f 289/739/27 290/740/27 291/741/27 -f 290/740/27 292/742/27 291/741/27 -f 293/743/28 294/744/28 295/745/28 -f 294/744/28 296/746/28 295/745/28 -f 293/743/37 295/747/37 291/741/37 -f 295/747/37 289/748/37 291/741/37 -f 296/749/38 294/744/38 290/750/38 -f 294/744/38 292/742/38 290/750/38 -f 295/751/39 296/752/39 289/753/39 -f 296/752/39 290/754/39 289/753/39 -f 291/755/40 292/756/40 293/757/40 -f 292/756/40 294/758/40 293/757/40 -f 297/759/27 298/760/27 299/761/27 -f 298/760/27 300/762/27 299/761/27 -f 301/763/28 302/764/28 303/765/28 -f 302/764/28 304/766/28 303/765/28 -f 301/763/31 303/767/31 299/761/31 -f 303/767/31 297/768/31 299/761/31 -f 304/769/32 302/764/32 298/770/32 -f 302/764/32 300/762/32 298/770/32 -f 303/771/30 304/772/30 297/773/30 -f 304/772/30 298/774/30 297/773/30 -f 299/775/29 300/776/29 301/777/29 -f 300/776/29 302/778/29 301/777/29 -f 305/779/27 306/780/27 307/781/27 -f 306/780/27 308/782/27 307/781/27 -f 309/783/28 310/784/28 311/785/28 -f 310/784/28 312/786/28 311/785/28 -f 309/783/37 311/787/37 307/781/37 -f 311/787/37 305/788/37 307/781/37 -f 312/789/38 310/784/38 306/790/38 -f 310/784/38 308/782/38 306/790/38 -f 311/791/39 312/792/39 305/793/39 -f 312/792/39 306/794/39 305/793/39 -f 307/795/40 308/796/40 309/797/40 -f 308/796/40 310/798/40 309/797/40 +f 109/182/47 111/183/47 103/184/47 +f 93/185/47 116/186/47 117/187/47 +f 99/188/47 124/189/47 100/190/47 +f 96/191/47 121/192/47 97/193/47 +f 93/185/47 118/194/47 94/195/47 +f 101/196/47 124/189/47 125/197/47 +f 98/198/47 121/199/47 122/200/47 +f 95/201/47 118/194/47 119/202/47 +f 101/196/47 126/203/47 102/204/47 +f 91/205/47 116/186/47 92/206/47 +f 98/198/47 123/207/47 99/188/47 +f 96/191/47 119/202/47 120/208/47 +f 91/205/47 126/203/47 115/209/47 +f 137/210/48 133/211/48 129/212/48 +f 103/184/47 104/213/47 107/214/47 +f 104/213/47 105/215/47 107/214/47 +f 105/215/47 106/216/47 107/214/47 +f 107/214/47 108/217/47 109/182/47 +f 109/182/47 110/218/47 111/183/47 +f 111/183/47 112/219/47 113/220/47 +f 113/220/47 114/221/47 111/183/47 +f 114/221/47 103/184/47 111/183/47 +f 107/214/47 109/182/47 103/184/47 +f 93/185/47 92/206/47 116/186/47 +f 99/188/47 123/207/47 124/189/47 +f 96/191/47 120/208/47 121/192/47 +f 93/185/47 117/187/47 118/194/47 +f 101/196/47 100/190/47 124/189/47 +f 98/198/47 97/222/47 121/199/47 +f 95/201/47 94/195/47 118/194/47 +f 101/196/47 125/197/47 126/203/47 +f 91/205/47 115/209/47 116/186/47 +f 98/198/47 122/200/47 123/207/47 +f 96/191/47 95/201/47 119/202/47 +f 91/205/47 102/204/47 126/203/47 +f 129/212/48 128/223/48 127/224/48 +f 127/224/48 138/225/48 129/212/48 +f 138/225/48 137/210/48 129/212/48 +f 137/210/48 136/226/48 133/211/48 +f 136/226/48 135/227/48 133/211/48 +f 135/227/48 134/228/48 133/211/48 +f 133/211/48 132/229/48 131/230/48 +f 131/230/48 130/231/48 133/211/48 +f 130/231/48 129/212/48 133/211/48 +s 1 +f 91/205/49 114/232/50 102/204/50 +f 96/191/51 107/233/52 95/201/52 +f 97/193/53 108/234/51 96/191/51 +f 98/198/54 109/235/53 97/222/53 +f 99/188/55 110/236/54 98/198/54 +f 92/206/56 103/237/49 91/205/49 +f 100/190/57 111/238/55 99/188/55 +f 93/185/58 104/239/56 92/206/56 +f 101/196/59 112/240/57 100/190/57 +f 94/195/60 105/241/58 93/185/58 +f 102/204/50 113/242/59 101/196/59 +f 95/201/52 106/243/60 94/195/60 +f 121/199/53 134/244/54 122/200/54 +f 118/194/60 131/245/52 119/202/52 +f 125/197/59 138/246/50 126/203/50 +f 115/209/49 128/247/56 116/186/56 +f 122/200/54 135/248/55 123/207/55 +f 119/202/52 132/249/51 120/208/51 +f 126/203/50 127/250/49 115/209/49 +f 116/186/56 129/251/58 117/187/58 +f 123/207/55 136/252/57 124/189/57 +f 120/208/51 133/253/53 121/192/53 +f 117/187/58 130/254/60 118/194/60 +f 124/189/57 137/255/59 125/197/59 +f 91/205/49 103/237/49 114/232/50 +f 96/191/51 108/234/51 107/233/52 +f 97/193/53 109/256/53 108/234/51 +f 98/198/54 110/236/54 109/235/53 +f 99/188/55 111/238/55 110/236/54 +f 92/206/56 104/239/56 103/237/49 +f 100/190/57 112/240/57 111/238/55 +f 93/185/58 105/241/58 104/239/56 +f 101/196/59 113/242/59 112/240/57 +f 94/195/60 106/243/60 105/241/58 +f 102/204/50 114/232/50 113/242/59 +f 95/201/52 107/233/52 106/243/60 +f 121/199/53 133/257/53 134/244/54 +f 118/194/60 130/254/60 131/245/52 +f 125/197/59 137/255/59 138/246/50 +f 115/209/49 127/250/49 128/247/56 +f 122/200/54 134/244/54 135/248/55 +f 119/202/52 131/245/52 132/249/51 +f 126/203/50 138/246/50 127/250/49 +f 116/186/56 128/247/56 129/251/58 +f 123/207/55 135/248/55 136/252/57 +f 120/208/51 132/249/51 133/253/53 +f 117/187/58 129/251/58 130/254/60 +f 124/189/57 136/252/57 137/255/59 +o Barrel +v 0.000000 1.187500 8.000000 +v -0.093750 1.162380 8.000000 +v -0.162380 1.093750 8.000000 +v -0.187500 1.000000 8.000000 +v -0.162380 0.906250 8.000000 +v -0.093750 0.837620 8.000000 +v 0.000000 0.812500 8.000000 +v 0.093750 0.837620 8.000000 +v 0.162380 0.906250 8.000000 +v 0.187500 1.000000 8.000000 +v 0.162380 1.093750 8.000000 +v 0.093750 1.162380 8.000000 +v 0.000000 1.187500 3.750000 +v -0.093750 1.162380 3.750000 +v -0.162380 1.093750 3.750000 +v -0.187500 1.000000 3.750000 +v -0.162380 0.906250 3.750000 +v -0.093750 0.837620 3.750000 +v 0.000000 0.812500 3.750000 +v 0.093750 0.837620 3.750000 +v 0.162380 0.906250 3.750000 +v 0.187500 1.000000 3.750000 +v 0.162380 1.093750 3.750000 +v 0.093750 1.162380 3.750000 +v 0.000000 1.125000 8.000000 +v -0.062500 1.108253 8.000000 +v -0.108253 1.062500 8.000000 +v -0.125000 1.000000 8.000000 +v -0.108253 0.937500 8.000000 +v -0.062500 0.891747 8.000000 +v 0.000000 0.875000 8.000000 +v 0.062500 0.891747 8.000000 +v 0.108253 0.937500 8.000000 +v 0.125000 1.000000 8.000000 +v 0.108253 1.062500 8.000000 +v 0.062500 1.108253 8.000000 +v 0.000000 1.125000 7.000000 +v -0.062500 1.108253 7.000000 +v -0.108253 1.062500 7.000000 +v -0.125000 1.000000 7.000000 +v -0.108253 0.937500 7.000000 +v -0.062500 0.891747 7.000000 +v 0.000000 0.875000 7.000000 +v 0.062500 0.891747 7.000000 +v 0.108253 0.937500 7.000000 +v 0.125000 1.000000 7.000000 +v 0.108253 1.062500 7.000000 +v 0.062500 1.108253 7.000000 +vt 0.004098 0.224299 +vt 0.000000 0.205607 +vt 0.004098 0.205607 +vt 0.004098 -0.000000 +vt 0.000000 0.009346 +vt 0.000000 -0.000000 +vt 0.004098 0.037383 +vt 0.000000 0.018692 +vt 0.004098 0.018692 +vt 0.004098 0.056075 +vt 0.000000 0.037383 +vt 0.000000 0.065421 +vt 0.000000 0.056075 +vt 0.004098 0.093458 +vt 0.000000 0.074766 +vt 0.004098 0.074766 +vt 0.000000 0.102804 +vt 0.000000 0.093458 +vt 0.004098 0.130841 +vt 0.000000 0.112150 +vt 0.004098 0.112150 +vt 0.000000 0.140187 +vt 0.000000 0.130841 +vt 0.004098 0.168224 +vt 0.000000 0.149533 +vt 0.004098 0.149533 +vt 0.000000 0.177570 +vt 0.000000 0.168224 +vt 0.004098 0.186916 +vt 0.000000 0.196262 +vt 0.000000 0.186916 +vt 0.073770 0.224346 +vt 0.080851 0.233668 +vt 0.073770 0.261635 +vt 0.000000 0.214953 +vt 0.000000 0.028037 +vt 0.000000 0.046729 +vt 0.000000 0.084112 +vt 0.000000 0.121495 +vt 0.000000 0.158879 +vt 0.069682 0.259137 +vt 0.066690 0.233668 +vt 0.066690 0.252313 +vt 0.065594 0.242991 +vt 0.069682 0.226844 +vt 0.077859 0.226844 +vt 0.081947 0.242991 +vt 0.080851 0.252313 +vt 0.077858 0.259137 +vt 0.282787 0.149533 +vt 0.282787 0.130841 +vt 0.282787 0.018692 +vt 0.282787 0.074766 +vt 0.282787 0.205607 +vt 0.282787 0.093458 +vt 0.282787 0.112150 +vt 0.282787 0.168224 +vt 0.282787 -0.000000 +vt 0.282787 0.056075 +vt 0.282787 0.037383 +vt 0.282787 0.186916 +vt -0.000000 0.252336 +vt 0.065574 0.261682 +vt -0.000000 0.261682 +vt -0.000000 0.299065 +vt 0.065574 0.308411 +vt -0.000000 0.308411 +vt -0.000000 0.327103 +vt 0.065574 0.336449 +vt -0.000000 0.336449 +vt -0.000000 0.242991 +vt 0.065574 0.252336 +vt -0.000000 0.289720 +vt 0.065574 0.299065 +vt -0.000000 0.271028 +vt 0.065574 0.280374 +vt -0.000000 0.280374 +vt -0.000000 0.317757 +vt 0.065574 0.327103 +vt -0.000000 0.233645 +vt 0.065574 0.242991 +vt 0.065574 0.289720 +vt 0.065574 0.271028 +vt 0.065574 0.317757 +vt -0.000000 0.224299 +vt 0.065574 0.233645 +vt 0.282787 0.224299 +vt 0.065574 0.224299 +vn 0.0000 0.0000 1.0000 +vn -0.8660 0.5000 0.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.0000 1.0000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 1.0000 -0.0000 0.0000 +s off +f 145/258/61 168/259/61 144/260/61 +f 145/261/61 170/262/61 169/263/61 +f 147/264/61 170/265/61 146/266/61 +f 148/267/61 171/268/61 147/264/61 +f 148/267/61 173/269/61 172/270/61 +f 150/271/61 173/272/61 149/273/61 +f 150/271/61 163/274/61 174/275/61 +f 140/276/61 163/277/61 139/278/61 +f 140/276/61 165/279/61 164/280/61 +f 142/281/61 165/282/61 141/283/61 +f 142/281/61 167/284/61 166/285/61 +f 143/286/61 168/287/61 167/288/61 +f 181/289/61 183/290/61 175/291/61 +f 145/258/61 169/292/61 168/259/61 +f 145/261/61 146/266/61 170/262/61 +f 147/264/61 171/293/61 170/265/61 +f 148/267/61 172/294/61 171/268/61 +f 148/267/61 149/273/61 173/269/61 +f 150/271/61 174/295/61 173/272/61 +f 150/271/61 139/278/61 163/274/61 +f 140/276/61 164/296/61 163/277/61 +f 140/276/61 141/283/61 165/279/61 +f 142/281/61 166/297/61 165/282/61 +f 142/281/61 143/286/61 167/284/61 +f 143/286/61 144/260/61 168/287/61 +f 175/291/61 176/298/61 179/299/61 +f 176/298/61 177/300/61 179/299/61 +f 177/300/61 178/301/61 179/299/61 +f 179/299/61 180/302/61 181/289/61 +f 181/289/61 182/303/61 183/290/61 +f 183/290/61 184/304/61 185/305/61 +f 185/305/61 186/306/61 183/290/61 +f 186/306/61 175/291/61 183/290/61 +f 179/299/61 181/289/61 175/291/61 +s 1 +f 153/307/62 142/281/63 141/283/62 +f 152/308/64 141/283/62 140/276/64 +f 158/309/65 147/264/66 146/266/65 +f 161/310/67 150/271/68 149/273/67 +f 156/311/69 145/258/70 144/260/69 +f 162/312/68 139/278/71 150/271/68 +f 151/313/71 140/276/64 139/278/71 +f 154/314/63 143/286/72 142/281/63 +f 157/315/70 146/266/65 145/261/70 +f 160/316/73 149/273/67 148/267/73 +f 159/317/66 148/267/73 147/264/66 +f 155/318/72 144/260/69 143/286/72 +f 166/319/73 177/320/66 165/321/66 +f 173/322/72 184/323/63 172/324/63 +f 170/325/64 181/326/71 169/327/71 +f 167/328/67 178/329/73 166/319/73 +f 174/330/69 185/331/72 173/322/72 +f 164/332/65 175/333/70 163/334/70 +f 171/335/62 182/336/64 170/325/64 +f 168/337/68 179/338/67 167/328/67 +f 163/334/70 186/339/69 174/330/69 +f 165/321/66 176/340/65 164/332/65 +f 172/324/63 183/341/62 171/335/62 +f 169/342/71 180/343/68 168/337/68 +f 153/307/62 154/314/63 142/281/63 +f 152/308/64 153/307/62 141/283/62 +f 158/309/65 159/317/66 147/264/66 +f 161/310/67 162/312/68 150/271/68 +f 156/311/69 157/344/70 145/258/70 +f 162/312/68 151/313/71 139/278/71 +f 151/313/71 152/308/64 140/276/64 +f 154/314/63 155/318/72 143/286/72 +f 157/315/70 158/309/65 146/266/65 +f 160/316/73 161/310/67 149/273/67 +f 159/317/66 160/316/73 148/267/73 +f 155/318/72 156/311/69 144/260/69 +f 166/319/73 178/329/73 177/320/66 +f 173/322/72 185/331/72 184/323/63 +f 170/325/64 182/336/64 181/326/71 +f 167/328/67 179/338/67 178/329/73 +f 174/330/69 186/339/69 185/331/72 +f 164/332/65 176/340/65 175/333/70 +f 171/335/62 183/341/62 182/336/64 +f 168/337/68 180/343/68 179/338/67 +f 163/334/70 175/333/70 186/339/69 +f 165/321/66 177/320/66 176/340/65 +f 172/324/63 184/323/63 183/341/62 +f 169/342/71 181/345/71 180/343/68 o Gun -v 0.032464 0.062345 0.555958 -v 0.032464 -0.000155 0.555958 -v 0.032464 0.062345 0.446583 -v 0.032464 -0.000155 0.446583 -v -0.042536 0.062345 0.446583 -v -0.042536 -0.000155 0.446583 -v -0.042536 0.062345 0.555958 -v -0.042536 -0.000155 0.555958 -v 0.032464 0.060031 0.568015 -v 0.032464 0.016725 0.550077 -v 0.032464 0.101887 0.466966 -v 0.032464 0.058581 0.449028 -v -0.042536 0.101887 0.466966 -v -0.042536 0.058581 0.449028 -v -0.042536 0.060031 0.568015 -v -0.042536 0.016725 0.550077 -v 0.032464 0.153125 0.468417 -v 0.032464 0.080947 0.498314 -v 0.032464 0.117248 0.381803 -v 0.032464 0.045070 0.411700 -v -0.042536 0.117248 0.381803 -v -0.042536 0.045070 0.411700 -v -0.042536 0.153125 0.468417 -v -0.042536 0.080947 0.498314 -v 0.032464 0.153125 0.468416 -v 0.032464 0.121875 0.468416 -v 0.032464 0.153125 0.359041 -v 0.032464 0.121875 0.359041 -v -0.042536 0.153125 0.359041 -v -0.042536 0.121875 0.359041 -v -0.042536 0.153125 0.468416 -v -0.042536 0.121875 0.468416 -v 0.032464 0.153125 0.171541 -v 0.032464 0.121875 0.171541 -v 0.032464 0.153125 0.124666 -v 0.032464 0.121875 0.124666 -v -0.042536 0.153125 0.124666 -v -0.042536 0.121875 0.124666 -v -0.042536 0.153125 0.171541 -v -0.042536 0.121875 0.171541 -v -0.015852 0.152219 0.468416 -v -0.019440 0.143558 0.468416 -v -0.015852 0.152219 0.124666 -v -0.019440 0.143558 0.124666 -v -0.038949 0.161786 0.124666 -v -0.042537 0.153125 0.124666 -v -0.038949 0.161786 0.468416 -v -0.042537 0.153125 0.468416 -v -0.014642 0.150738 0.468416 -v -0.021271 0.144109 0.468416 -v -0.014642 0.150738 0.124666 -v -0.021271 0.144109 0.124666 -v -0.032320 0.168416 0.124666 -v -0.038949 0.161786 0.124666 -v -0.032320 0.168416 0.468416 -v -0.038949 0.161786 0.468416 -v -0.023658 0.172003 0.468416 -v -0.014091 0.148906 0.468416 -v -0.023658 0.172003 0.124666 -v -0.014091 0.148906 0.124666 -v -0.032320 0.168415 0.124666 -v -0.022753 0.145318 0.124666 -v -0.032320 0.168415 0.468416 -v -0.022753 0.145318 0.468416 -v 0.001342 0.172003 0.468416 -v 0.001342 0.147003 0.468416 -v 0.001342 0.172003 0.124666 -v 0.001342 0.147003 0.124666 -v -0.023658 0.172003 0.124666 -v -0.023658 0.147003 0.124666 -v -0.023658 0.172003 0.468416 -v -0.023658 0.147003 0.468416 -v 0.013586 0.172003 0.468416 -v 0.013586 0.147003 0.468416 -v 0.013586 0.172003 0.124666 -v 0.013586 0.147003 0.124666 -v -0.011414 0.172003 0.124666 -v -0.011414 0.147003 0.124666 -v -0.011414 0.172003 0.468416 -v -0.011414 0.147003 0.468416 -v 0.028876 0.161786 0.468416 -v 0.032463 0.153125 0.468416 -v 0.028876 0.161786 0.124666 -v 0.032463 0.153125 0.124666 -v 0.005779 0.152219 0.124666 -v 0.009366 0.143558 0.124666 -v 0.005779 0.152219 0.468416 -v 0.009366 0.143558 0.468416 -v 0.022247 0.168416 0.468416 -v 0.028876 0.161786 0.468416 -v 0.022247 0.168416 0.124666 -v 0.028876 0.161786 0.124666 -v 0.004569 0.150738 0.124666 -v 0.011198 0.144109 0.124666 -v 0.004569 0.150738 0.468416 -v 0.011198 0.144109 0.468416 -v 0.022247 0.168415 0.468416 -v 0.012680 0.145318 0.468416 -v 0.022247 0.168415 0.124666 -v 0.012680 0.145318 0.124666 -v 0.013585 0.172003 0.124666 -v 0.004018 0.148906 0.124666 -v 0.013585 0.172003 0.468416 -v 0.004018 0.148906 0.468416 -v 0.032464 0.121211 0.171541 -v 0.032464 0.011836 0.171541 -v 0.032464 0.121211 0.124666 -v 0.032464 0.011836 0.124666 -v -0.042536 0.121211 0.124666 -v -0.042536 0.011836 0.124666 -v -0.042536 0.121211 0.171541 -v -0.042536 0.011836 0.171541 -v 0.001214 0.136836 0.359041 -v 0.001214 0.105586 0.359041 -v 0.001214 0.136836 0.171541 -v 0.001214 0.105586 0.171541 -v -0.042536 0.136836 0.171541 -v -0.042536 0.105586 0.171541 -v -0.042536 0.136836 0.359041 -v -0.042536 0.105586 0.359041 -v 0.032464 0.136836 0.437166 -v 0.032464 0.089961 0.437166 -v 0.032464 0.136836 0.359041 -v 0.032464 0.089961 0.359041 -v -0.042536 0.136836 0.359041 -v -0.042536 0.089961 0.359041 -v -0.042536 0.136836 0.437166 -v -0.042536 0.089961 0.437166 -v 0.032464 0.105586 0.390291 -v 0.032464 0.011836 0.390291 -v 0.032464 0.105586 0.171541 -v 0.032464 0.011836 0.171541 -v -0.042536 0.105586 0.171541 -v -0.042536 0.011836 0.171541 -v -0.042536 0.105586 0.390291 -v -0.042536 0.011836 0.390291 -v 0.032444 0.030200 0.550109 -v 0.032444 -0.041978 0.520212 -v 0.032444 0.101953 0.376882 -v 0.032444 0.029775 0.346985 -v -0.042556 0.101953 0.376882 -v -0.042556 0.029775 0.346985 -v -0.042556 0.030200 0.550109 -v -0.042556 -0.041978 0.520212 -v 0.032464 -0.000155 0.555958 -v 0.032464 -0.033301 0.522812 -v 0.032464 0.021942 0.533861 -v 0.032464 -0.011204 0.500715 -v -0.042536 0.021942 0.533861 -v -0.042536 -0.011204 0.500715 -v -0.042536 -0.000155 0.555958 -v -0.042536 -0.033301 0.522812 -v 0.000124 0.168316 0.364050 -v 0.000124 0.106638 0.364050 -v 0.000124 0.168316 -1.179536 -v 0.000124 0.106638 -1.179536 -v -0.012211 0.168316 -1.179536 -v -0.012211 0.106638 -1.179536 -v -0.012211 0.168316 0.364050 -v -0.012211 0.106638 0.364050 -v 0.011521 0.163595 0.364050 -v -0.012082 0.106613 0.364050 -v 0.011521 0.163595 -1.179536 -v -0.012082 0.106613 -1.179536 -v 0.000124 0.168315 -1.179536 -v -0.023479 0.111333 -1.179536 -v 0.000124 0.168315 0.364050 -v -0.023479 0.111333 0.364050 -v 0.020243 0.155210 0.364050 -v -0.023370 0.111597 0.364050 -v 0.020243 0.155210 -1.179536 -v -0.023370 0.111597 -1.179536 -v 0.011521 0.163932 -1.179536 -v -0.032092 0.120319 -1.179536 -v 0.011521 0.163932 0.364050 -v -0.032092 0.120319 0.364050 -v 0.020243 0.155210 0.364050 -v 0.024963 0.143813 0.364050 -v 0.020243 0.155210 -1.179536 -v 0.024963 0.143813 -1.179536 -v -0.036739 0.131607 -1.179536 -v -0.032019 0.120210 -1.179536 -v -0.036739 0.131607 0.364050 -v -0.032019 0.120210 0.364050 -v 0.024964 0.143813 0.364050 -v 0.024964 0.131477 0.364050 -v 0.024964 0.143813 -1.179536 -v 0.024964 0.131478 -1.179536 -v -0.036714 0.143813 -1.179536 -v -0.036714 0.131478 -1.179536 -v -0.036714 0.143813 0.364050 -v -0.036714 0.131477 0.364050 -v 0.024964 0.131478 0.364050 -v 0.020243 0.120081 0.364050 -v 0.024964 0.131478 -1.179536 -v 0.020243 0.120081 -1.179536 -v -0.032019 0.155081 -1.179536 -v -0.036739 0.143684 -1.179536 -v -0.032019 0.155081 0.364050 -v -0.036739 0.143684 0.364050 -v 0.020243 0.120081 0.364050 -v 0.011520 0.111359 0.364050 -v 0.020243 0.120082 -1.179536 -v 0.011520 0.111359 -1.179536 -v -0.023370 0.163694 -1.179536 -v -0.032092 0.154971 -1.179536 -v -0.023370 0.163694 0.364050 -v -0.032092 0.154971 0.364050 -v -0.012082 0.168341 0.364050 -v 0.011520 0.111359 0.364050 -v -0.012082 0.168341 -1.179536 -v 0.011520 0.111359 -1.179536 -v -0.023479 0.163621 -1.179536 -v 0.000124 0.106639 -1.179536 -v -0.023479 0.163620 0.364050 -v 0.000124 0.106638 0.364050 -v -0.012082 0.090216 0.285925 -v 0.011520 0.033234 0.285925 -v -0.012082 0.090216 -1.023286 -v 0.011520 0.033234 -1.023286 -v -0.023479 0.085496 -1.023286 -v 0.000124 0.028513 -1.023286 -v -0.023479 0.085495 0.285925 -v 0.000124 0.028513 0.285925 -v 0.020243 0.041956 0.285925 -v 0.011520 0.033234 0.285925 -v 0.020243 0.041957 -1.023286 -v 0.011520 0.033234 -1.023286 -v -0.023370 0.085569 -1.023286 -v -0.032092 0.076846 -1.023286 -v -0.023370 0.085569 0.285925 -v -0.032092 0.076846 0.285925 -v 0.024964 0.053353 0.285925 -v 0.020243 0.041956 0.285925 -v 0.024964 0.053353 -1.023286 -v 0.020243 0.041956 -1.023286 -v -0.032019 0.076956 -1.023286 -v -0.036739 0.065559 -1.023286 -v -0.032019 0.076956 0.285925 -v -0.036739 0.065559 0.285925 -v 0.024964 0.065688 0.285925 -v 0.024964 0.053352 0.285925 -v 0.024964 0.065688 -1.023286 -v 0.024964 0.053353 -1.023286 -v -0.036714 0.065688 -1.023286 -v -0.036714 0.053353 -1.023286 -v -0.036714 0.065688 0.285925 -v -0.036714 0.053352 0.285925 -v 0.020243 0.077085 0.285925 -v 0.024963 0.065688 0.285925 -v 0.020243 0.077085 -1.023286 -v 0.024963 0.065688 -1.023286 -v -0.036739 0.053482 -1.023286 -v -0.032019 0.042085 -1.023286 -v -0.036739 0.053482 0.285925 -v -0.032019 0.042085 0.285925 -v 0.020243 0.077085 0.285925 -v -0.023370 0.033472 0.285925 -v 0.020243 0.077085 -1.023286 -v -0.023370 0.033472 -1.023286 -v 0.011521 0.085807 -1.023286 -v -0.032092 0.042194 -1.023286 -v 0.011521 0.085807 0.285925 -v -0.032092 0.042194 0.285925 -v 0.011521 0.085470 0.285925 -v -0.012082 0.028488 0.285925 -v 0.011521 0.085470 -1.023286 -v -0.012082 0.028488 -1.023286 -v 0.000124 0.090190 -1.023286 -v -0.023479 0.033208 -1.023286 -v 0.000124 0.090190 0.285925 -v -0.023479 0.033208 0.285925 -v 0.000124 0.090191 0.285925 -v 0.000124 0.028513 0.285925 -v 0.000124 0.090191 -1.023286 -v 0.000124 0.028513 -1.023286 -v -0.012211 0.090191 -1.023286 -v -0.012211 0.028513 -1.023286 -v -0.012211 0.090191 0.285925 -v -0.012211 0.028513 0.285925 -v -0.012212 0.102587 -0.867036 -v 0.016112 0.034209 -0.867036 -v -0.012212 0.102587 -0.938088 -v 0.016112 0.034209 -0.938088 -v -0.025887 0.096923 -0.938088 -v 0.002436 0.028544 -0.938088 -v -0.025887 0.096923 -0.867036 -v 0.002436 0.028544 -0.867036 -v 0.026579 0.044675 -0.867036 -v 0.016112 0.034208 -0.867036 -v 0.026579 0.044675 -0.938088 -v 0.016112 0.034208 -0.938088 -v -0.025756 0.097010 -0.938088 -v -0.036223 0.086543 -0.938088 -v -0.025756 0.097010 -0.867036 -v -0.036223 0.086543 -0.867036 -v 0.016112 0.096892 -0.867036 -v -0.012211 0.028513 -0.867036 -v 0.016112 0.096892 -0.938088 -v -0.012211 0.028513 -0.938088 -v 0.002436 0.102556 -0.938088 -v -0.025887 0.034178 -0.938088 -v 0.002436 0.102556 -0.867036 -v -0.025887 0.034178 -0.867036 -v 0.026579 0.086830 -0.867036 -v -0.025756 0.034495 -0.867036 -v 0.026579 0.086830 -0.938088 -v -0.025756 0.034495 -0.938088 -v 0.016112 0.097297 -0.938088 -v -0.036223 0.044962 -0.938088 -v 0.016112 0.097297 -0.867036 -v -0.036223 0.044962 -0.867036 -v 0.026579 0.086830 -0.867036 -v 0.032243 0.073154 -0.867036 -v 0.026579 0.086830 -0.938088 -v 0.032243 0.073154 -0.938088 -v -0.041800 0.058507 -0.938088 -v -0.036135 0.044831 -0.938088 -v -0.041800 0.058507 -0.867036 -v -0.036135 0.044831 -0.867036 -v 0.032244 0.073154 -0.867036 -v 0.032244 0.058351 -0.867036 -v 0.032244 0.073154 -0.938088 -v 0.032244 0.058351 -0.938088 -v -0.041769 0.073154 -0.938088 -v -0.041769 0.058351 -0.938088 -v -0.041769 0.073154 -0.867036 -v -0.041769 0.058351 -0.867036 -v 0.032244 0.058351 -0.867036 -v 0.026579 0.044675 -0.867036 -v 0.032244 0.058351 -0.938088 -v 0.026579 0.044675 -0.938088 -v -0.036135 0.086674 -0.938088 -v -0.041800 0.072999 -0.938088 -v -0.036135 0.086674 -0.867036 -v -0.041800 0.072999 -0.867036 -v 0.002436 0.133807 -0.867036 -v 0.002436 0.028544 -0.867036 -v 0.002436 0.133807 -0.938088 -v 0.002436 0.028544 -0.938088 -v -0.012366 0.133807 -0.938088 -v -0.012366 0.028544 -0.938088 -v -0.012366 0.133807 -0.867036 -v -0.012366 0.028544 -0.867036 -v 0.004339 -0.006552 0.435101 -v 0.004339 -0.049859 0.417163 -v 0.004339 -0.002964 0.426440 -v 0.004339 -0.046271 0.408502 -v -0.008161 -0.002964 0.426440 -v -0.008161 -0.046271 0.408502 -v -0.008161 -0.006552 0.435101 -v -0.008161 -0.049859 0.417163 -v 0.004339 -0.049859 0.417163 -v 0.004339 -0.069746 0.397276 -v 0.004339 -0.043230 0.410534 -v 0.004339 -0.063117 0.390646 -v -0.008161 -0.043230 0.410534 -v -0.008161 -0.063117 0.390646 -v -0.008161 -0.049859 0.417163 -v -0.008161 -0.069746 0.397276 -v 0.000124 0.174566 0.145300 -v 0.000124 0.168316 0.145300 -v 0.000124 0.174566 0.054839 -v 0.000124 0.168316 0.054839 -v -0.012211 0.174566 0.054839 -v -0.012211 0.168316 0.054839 -v -0.012211 0.174566 0.145300 -v -0.012211 0.168316 0.145300 -v 0.000124 0.174566 -1.104700 -v 0.000124 0.168316 -1.104700 -v 0.000124 0.174566 -1.163911 -v 0.000124 0.168316 -1.163911 -v -0.012211 0.174566 -1.163911 -v -0.012211 0.168316 -1.163911 -v -0.012211 0.174566 -1.104700 -v -0.012211 0.168316 -1.104700 -v 0.000124 0.173511 -1.111308 -v 0.000124 0.153301 -1.119679 -v 0.000124 0.190190 -1.151576 -v 0.000124 0.169980 -1.159947 -v -0.012211 0.190190 -1.151576 -v -0.012211 0.169980 -1.159947 -v -0.012211 0.173511 -1.111308 -v -0.012211 0.153301 -1.119679 -v -0.009820 0.174090 0.082800 -v -0.012211 0.168316 0.082800 -v -0.009820 0.174090 0.054839 -v -0.012211 0.168316 0.054839 -v -0.021216 0.178810 0.054839 -v -0.023607 0.173036 0.054839 -v -0.021216 0.178810 0.082800 -v -0.023607 0.173036 0.082800 -v -0.022554 0.186824 0.082800 -v -0.017834 0.175428 0.082800 -v -0.022554 0.186824 0.054839 -v -0.017834 0.175428 0.054839 -v -0.028329 0.184432 0.054839 -v -0.023608 0.173036 0.054839 -v -0.028329 0.184432 0.082800 -v -0.023608 0.173036 0.082800 -v 0.009129 0.178810 0.082800 -v 0.011520 0.173036 0.082800 -v 0.009129 0.178810 0.054839 -v 0.011520 0.173036 0.054839 -v -0.002268 0.174089 0.054839 -v 0.000124 0.168315 0.054839 -v -0.002268 0.174089 0.082800 -v 0.000124 0.168315 0.082800 -v 0.016241 0.184432 0.082800 -v 0.011521 0.173036 0.082800 -v 0.016241 0.184432 0.054839 -v 0.011521 0.173036 0.054839 -v 0.010467 0.186824 0.054839 -v 0.005747 0.175428 0.054839 -v 0.010467 0.186824 0.082800 -v 0.005747 0.175428 0.082800 -v 0.000124 0.193316 -1.151575 -v 0.000124 0.168316 -1.151575 -v 0.000124 0.193316 -1.163911 -v 0.000124 0.168316 -1.163911 -v -0.012211 0.193316 -1.163911 -v -0.012211 0.168316 -1.163911 -v -0.012211 0.193316 -1.151575 -v -0.012211 0.168316 -1.151575 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.812500 -vt 0.187500 0.937500 -vt 0.187500 0.812500 -vt 0.187500 0.937500 -vt 0.187500 0.812500 -vt 0.000000 0.937500 -vt 0.000000 0.812500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.921875 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.000000 0.937500 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vt 0.015625 0.937500 -vt 0.015625 0.921875 -vt 0.000000 0.937500 -vt 0.000000 0.921875 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 -0.0000 +v 0.000000 1.187500 -2.000000 +v -0.093750 1.162380 -2.000000 +v -0.162380 1.093750 -2.000000 +v -0.187500 1.000000 -2.000000 +v -0.162380 0.906250 -2.000000 +v -0.093750 0.837620 -2.000000 +v 0.000000 0.812500 -2.000000 +v 0.093750 0.837620 -2.000000 +v 0.162380 0.906250 -2.000000 +v 0.187500 1.000000 -2.000000 +v 0.162380 1.093750 -2.000000 +v 0.093750 1.162380 -2.000000 +v 0.000000 1.187500 3.750000 +v -0.093750 1.162380 3.750000 +v -0.162380 1.093750 3.750000 +v -0.187500 1.000000 3.750000 +v -0.162380 0.906250 3.750000 +v -0.093750 0.837620 3.750000 +v 0.000000 0.812500 3.750000 +v 0.093750 0.837620 3.750000 +v 0.162380 0.906250 3.750000 +v 0.187500 1.000000 3.750000 +v 0.162380 1.093750 3.750000 +v 0.093750 1.162380 3.750000 +v 0.000000 1.125000 3.750000 +v -0.062500 1.108253 3.750000 +v -0.108253 1.062500 3.750000 +v -0.125000 1.000000 3.750000 +v -0.108253 0.937500 3.750000 +v -0.062500 0.891747 3.750000 +v 0.000000 0.875000 3.750000 +v 0.062500 0.891747 3.750000 +v 0.108253 0.937500 3.750000 +v 0.125000 1.000000 3.750000 +v 0.108253 1.062500 3.750000 +v 0.062500 1.108253 3.750000 +v 0.000000 1.125000 2.750000 +v -0.062500 1.108253 2.750000 +v -0.108253 1.062500 2.750000 +v -0.125000 1.000000 2.750000 +v -0.108253 0.937500 2.750000 +v -0.062500 0.891747 2.750000 +v 0.000000 0.875000 2.750000 +v 0.062500 0.891747 2.750000 +v 0.108253 0.937500 2.750000 +v 0.125000 1.000000 2.750000 +v 0.108253 1.062500 2.750000 +v 0.062500 1.108253 2.750000 +v 0.000000 1.187500 3.000000 +v -0.093750 1.162380 3.000000 +v -0.162380 1.093750 3.000000 +v -0.187500 1.000000 3.000000 +v -0.162380 0.906250 3.000000 +v -0.093750 0.837620 3.000000 +v 0.000000 0.812500 3.000000 +v 0.093750 0.837620 3.000000 +v 0.162380 0.906250 3.000000 +v 0.187500 1.000000 3.000000 +v 0.162380 1.093750 3.000000 +v 0.093750 1.162380 3.000000 +v 0.000000 1.250000 3.000000 +v -0.125000 1.216506 3.000000 +v -0.216506 1.125000 3.000000 +v -0.250000 1.000000 3.000000 +v 0.250000 1.000000 3.000000 +v 0.216506 1.125000 3.000000 +v 0.125000 1.216506 3.000000 +v 0.000000 1.250000 3.250000 +v -0.125000 1.216506 3.250000 +v -0.216506 1.125000 3.250000 +v -0.250000 1.000000 3.250000 +v 0.250000 1.000000 3.250000 +v 0.216506 1.125000 3.250000 +v 0.125000 1.216506 3.250000 +v 0.000000 1.187500 3.250000 +v -0.093750 1.162380 3.250000 +v -0.162380 1.093750 3.250000 +v -0.187500 1.000000 3.250000 +v -0.162380 0.906250 3.250000 +v -0.093750 0.837620 3.250000 +v 0.000000 0.812500 3.250000 +v 0.093750 0.837620 3.250000 +v 0.162380 0.906250 3.250000 +v 0.187500 1.000000 3.250000 +v 0.162380 1.093750 3.250000 +v 0.093750 1.162380 3.250000 +v 0.000000 0.750000 -2.000000 +v -0.093750 0.724880 -2.000000 +v -0.162380 0.656250 -2.000000 +v -0.187500 0.562500 -2.000000 +v -0.162380 0.468750 -2.000000 +v -0.093750 0.400120 -2.000000 +v 0.000000 0.375000 -2.000000 +v 0.093750 0.400120 -2.000000 +v 0.162380 0.468750 -2.000000 +v 0.187500 0.562500 -2.000000 +v 0.162380 0.656250 -2.000000 +v 0.093750 0.724880 -2.000000 +v 0.000000 0.750000 3.000000 +v -0.093750 0.724880 3.000000 +v -0.162380 0.656250 3.000000 +v -0.187500 0.562500 3.000000 +v -0.162380 0.468750 3.000000 +v -0.093750 0.400120 3.000000 +v 0.000000 0.375000 3.000000 +v 0.093750 0.400120 3.000000 +v 0.162380 0.468750 3.000000 +v 0.187500 0.562500 3.000000 +v 0.162380 0.656250 3.000000 +v 0.093750 0.724880 3.000000 +v -0.250000 0.562500 3.000000 +v -0.216506 0.437500 3.000000 +v -0.125000 0.345994 3.000000 +v 0.000000 0.312500 3.000000 +v 0.125000 0.345994 3.000000 +v 0.216506 0.437500 3.000000 +v 0.250000 0.562500 3.000000 +v -0.250000 0.562500 3.250000 +v -0.216506 0.437500 3.250000 +v -0.125000 0.345994 3.250000 +v 0.000000 0.312500 3.250000 +v 0.125000 0.345994 3.250000 +v 0.216506 0.437500 3.250000 +v 0.250000 0.562500 3.250000 +v 0.000000 1.250000 -2.000000 +v -0.125000 1.216506 -2.000000 +v -0.216506 1.125000 -2.000000 +v -0.250000 1.000000 -2.000000 +v 0.250000 1.000000 -2.000000 +v 0.216506 1.125000 -2.000000 +v 0.125000 1.216506 -2.000000 +v -0.250000 0.562500 -2.000000 +v -0.216506 0.437500 -2.000000 +v -0.125000 0.345994 -2.000000 +v 0.000000 0.312500 -2.000000 +v 0.125000 0.345994 -2.000000 +v 0.216506 0.437500 -2.000000 +v 0.250000 0.562500 -2.000000 +v -0.125000 1.216506 -2.375000 +v 0.000000 1.250000 -2.375000 +v -0.216506 1.125000 -2.375000 +v -0.250000 1.000000 -2.375000 +v 0.216506 1.125000 -2.375000 +v 0.250000 1.000000 -2.375000 +v 0.125000 1.216506 -2.375000 +v -0.250000 0.562500 -2.375000 +v 0.250000 0.562500 -2.375000 +v -0.216506 0.437500 -2.375000 +v -0.125000 0.345994 -2.375000 +v 0.000000 0.312500 -2.375000 +v 0.125000 0.345994 -2.375000 +v 0.216506 0.437500 -2.375000 +v 0.000000 1.125000 -2.375000 +v -0.062500 1.108253 -2.375000 +v -0.108253 1.062500 -2.375000 +v -0.125000 1.000000 -2.375000 +v -0.108253 0.937500 -2.375000 +v -0.062500 0.891747 -2.375000 +v 0.000000 0.875000 -2.375000 +v 0.062500 0.891747 -2.375000 +v 0.108253 0.937500 -2.375000 +v 0.125000 1.000000 -2.375000 +v 0.108253 1.062500 -2.375000 +v 0.062500 1.108253 -2.375000 +v 0.000000 0.687500 -2.375000 +v -0.062500 0.670753 -2.375000 +v -0.108253 0.625000 -2.375000 +v -0.125000 0.562500 -2.375000 +v -0.108253 0.500000 -2.375000 +v -0.062500 0.454247 -2.375000 +v 0.000000 0.437500 -2.375000 +v 0.062500 0.454247 -2.375000 +v 0.108253 0.500000 -2.375000 +v 0.125000 0.562500 -2.375000 +v 0.108253 0.625000 -2.375000 +v 0.062500 0.670753 -2.375000 +v 0.000000 1.125000 -1.375000 +v -0.062500 1.108253 -1.375000 +v -0.108253 1.062500 -1.375000 +v -0.125000 1.000000 -1.375000 +v -0.108253 0.937500 -1.375000 +v -0.062500 0.891747 -1.375000 +v 0.000000 0.875000 -1.375000 +v 0.062500 0.891747 -1.375000 +v 0.108253 0.937500 -1.375000 +v 0.125000 1.000000 -1.375000 +v 0.108253 1.062500 -1.375000 +v 0.062500 1.108253 -1.375000 +v 0.000000 0.687500 -1.375000 +v -0.062500 0.670753 -1.375000 +v -0.108253 0.625000 -1.375000 +v -0.125000 0.562500 -1.375000 +v -0.108253 0.500000 -1.375000 +v -0.062500 0.454247 -1.375000 +v 0.000000 0.437500 -1.375000 +v 0.062500 0.454247 -1.375000 +v 0.108253 0.500000 -1.375000 +v 0.125000 0.562500 -1.375000 +v 0.108253 0.625000 -1.375000 +v 0.062500 0.670753 -1.375000 +v 0.312500 1.125000 -2.125000 +v 0.312500 1.125000 -2.500000 +v 0.187500 1.125000 -2.125000 +v 0.187500 1.125000 -2.500000 +v 0.312500 0.437500 -2.125000 +v 0.187500 0.437500 -2.125000 +v 0.312500 0.187500 -2.375000 +v 0.312500 1.000000 -2.625000 +v 0.187500 1.000000 -2.625000 +v 0.312500 1.000000 -3.000000 +v 0.187500 1.000000 -3.000000 +v 0.312500 0.562500 -3.750000 +v 0.312500 0.875000 -3.375000 +v 0.187500 0.875000 -3.375000 +v 0.312500 -0.062500 -2.875000 +v 0.312500 -0.062500 -3.875000 +v -0.187500 1.125000 -2.125000 +v -0.187500 1.125000 -2.500000 +v -0.312500 1.125000 -2.125000 +v -0.312500 1.125000 -2.500000 +v -0.187500 0.437500 -2.125000 +v -0.312500 0.437500 -2.125000 +v -0.312500 0.187500 -2.375000 +v -0.187500 1.000000 -2.625000 +v -0.312500 1.000000 -2.625000 +v -0.187500 1.000000 -3.000000 +v -0.312500 1.000000 -3.000000 +v -0.312500 0.562500 -3.750000 +v -0.187500 0.875000 -3.375000 +v -0.312500 0.875000 -3.375000 +v -0.312500 -0.062500 -2.875000 +v -0.312500 -0.062500 -3.875000 +v 0.250000 0.562500 -2.000000 +v -0.250000 0.562500 -2.000000 +v 0.250000 1.000000 -2.000000 +v -0.250000 1.000000 -2.000000 +v 0.250000 0.562500 1.625000 +v -0.250000 0.562500 1.625000 +v 0.250000 1.000000 1.625000 +v -0.250000 1.000000 1.625000 +v 0.250000 0.687500 1.750000 +v -0.250000 0.687500 1.750000 +v 0.250000 0.874000 1.750000 +v -0.250000 0.874000 1.750000 +v 0.187500 0.562500 -2.000000 +v 0.187500 1.000000 -2.000000 +v -0.187500 0.562500 -2.000000 +v -0.187500 1.000000 -2.000000 +v 0.187500 0.562500 -1.375000 +v 0.187500 1.000000 -1.375000 +v -0.187500 0.562500 -1.375000 +v -0.187500 1.000000 -1.375000 +v 0.187500 -0.062500 -2.875000 +v -0.187500 -0.062500 -2.875000 +v 0.187500 -0.062500 -3.875000 +v -0.187500 -0.062500 -3.875000 +v -0.187500 0.562500 -3.750000 +v 0.187500 0.562500 -3.750000 +v 0.312500 0.437500 -4.125000 +v -0.312500 0.437500 -4.125000 +v 0.312500 -0.187500 -4.125000 +v -0.312500 -0.187500 -4.125000 +v -0.187500 0.437500 -3.500000 +v 0.187500 0.437500 -3.500000 +v -0.250000 -0.250000 -4.125000 +v 0.250000 -0.250000 -4.125000 +v -0.250000 0.500000 -4.125000 +v 0.250000 0.500000 -4.125000 +v -0.250000 -0.250000 -5.625000 +v -0.250000 -1.000000 -5.250000 +v 0.250000 -1.000000 -5.250000 +v 0.250000 -0.250000 -5.625000 +v 0.375000 -0.125000 -4.125000 +v 0.375000 0.375000 -4.125000 +v 0.375000 -0.875000 -5.312500 +v 0.375000 -0.375000 -5.562500 +v -0.375000 0.375000 -4.125000 +v -0.375000 -0.125000 -4.125000 +v -0.375000 -0.375000 -5.562500 +v -0.375000 -0.875000 -5.312500 +v -0.250000 -0.500000 -5.750000 +v -0.250000 -1.000000 -5.500000 +v 0.250000 -1.000000 -5.500000 +v 0.250000 -0.500000 -5.750000 +v 0.062500 -0.062500 -3.562500 +v -0.062500 -0.062500 -3.562500 +v 0.062500 -0.062500 -3.500000 +v -0.062500 -0.062500 -3.500000 +v 0.062500 -0.187500 -3.562500 +v -0.062500 -0.187500 -3.562500 +v 0.062500 -0.187500 -3.500000 +v -0.062500 -0.187500 -3.500000 +v 0.062500 -0.312500 -3.437500 +v -0.062500 -0.312500 -3.437500 +vt 0.073770 0.336468 +vt 0.080862 0.345804 +vt 0.073770 0.373812 +vt 0.286885 0.224299 +vt 0.282787 0.205607 +vt 0.286885 0.205607 +vt 0.286885 0.186916 +vt 0.282787 0.196262 +vt 0.282787 0.186916 +vt 0.286885 0.168224 +vt 0.282787 0.177570 +vt 0.282787 0.168224 +vt 0.282787 0.149533 +vt 0.286885 0.149533 +vt 0.286885 0.130841 +vt 0.282787 0.140187 +vt 0.282787 0.130841 +vt 0.282787 0.112150 +vt 0.286885 0.112150 +vt 0.286885 0.093458 +vt 0.282787 0.102804 +vt 0.282787 0.093458 +vt 0.282787 0.074766 +vt 0.286885 0.074766 +vt 0.286885 0.056075 +vt 0.282787 0.065421 +vt 0.282787 0.056075 +vt 0.282787 0.037383 +vt 0.286885 0.037383 +vt 0.282787 0.018692 +vt 0.286885 0.018692 +vt 0.286885 0.000000 +vt 0.282787 0.009346 +vt 0.282787 -0.000000 +vt 0.571329 0.341081 +vt 0.573778 0.359421 +vt 0.567782 0.345750 +vt 0.575825 0.351334 +vt 0.581967 0.364425 +vt 0.581967 0.355087 +vt 0.590157 0.359421 +vt 0.588109 0.351334 +vt 0.596152 0.345750 +vt 0.594252 0.327074 +vt 0.592606 0.341081 +vt 0.588109 0.302814 +vt 0.596152 0.243035 +vt 0.592606 0.313068 +vt 0.569683 0.327074 +vt 0.565588 0.327074 +vt 0.557370 0.359421 +vt 0.559819 0.341081 +vt 0.563365 0.345750 +vt 0.549180 0.364425 +vt 0.555323 0.351334 +vt 0.540991 0.359421 +vt 0.549180 0.355087 +vt 0.534996 0.345750 +vt 0.543038 0.351334 +vt 0.532801 0.327074 +vt 0.538542 0.341081 +vt 0.598346 0.327074 +vt 0.598346 0.261711 +vt 0.565588 0.261711 +vt 0.571329 0.313068 +vt 0.575825 0.302814 +vt 0.567782 0.243035 +vt 0.573778 0.229364 +vt 0.581967 0.299061 +vt 0.581967 0.224360 +vt 0.590157 0.229364 +vt 0.561465 0.327074 +vt 0.565560 0.327074 +vt 0.532801 0.261711 +vt 0.538542 0.313068 +vt 0.559819 0.313068 +vt 0.555323 0.302814 +vt 0.563365 0.243035 +vt 0.549180 0.299061 +vt 0.557370 0.229364 +vt 0.540991 0.229364 +vt 0.543038 0.302814 +vt 0.534996 0.243035 +vt 0.476516 0.252326 +vt 0.483607 0.224321 +vt 0.490697 0.252326 +vt 0.476543 0.364441 +vt 0.483607 0.336542 +vt 0.490670 0.364441 +vt 0.620900 0.302820 +vt 0.625399 0.275706 +vt 0.625399 0.313079 +vt 0.614754 0.299064 +vt 0.620900 0.285965 +vt 0.608608 0.302820 +vt 0.614754 0.289721 +vt 0.604109 0.313079 +vt 0.608608 0.285965 +vt 0.602462 0.327095 +vt 0.604109 0.275706 +vt 0.627046 0.261690 +vt 0.627046 0.327095 +vt 0.631143 0.327095 +vt 0.631143 0.261690 +vt 0.602462 0.261690 +vt 0.598365 0.327095 +vt 0.598365 0.261690 +vt 0.600561 0.345781 +vt 0.604109 0.341110 +vt 0.608608 0.351370 +vt 0.614754 0.355125 +vt 0.606559 0.359461 +vt 0.620900 0.351370 +vt 0.614754 0.364468 +vt 0.625399 0.341110 +vt 0.622949 0.359461 +vt 0.628948 0.345781 +vt 0.628948 0.243004 +vt 0.625399 0.247675 +vt 0.620900 0.237416 +vt 0.614754 0.233660 +vt 0.622949 0.229324 +vt 0.606559 0.229324 +vt 0.608608 0.237416 +vt 0.600561 0.243004 +vt 0.604109 0.247675 +vt 0.643444 0.310911 +vt 0.647541 0.280377 +vt 0.647541 0.308408 +vt 0.651638 0.310911 +vt 0.654638 0.271034 +vt 0.654638 0.317751 +vt 0.655736 0.327095 +vt 0.640444 0.271034 +vt 0.640444 0.317751 +vt 0.639346 0.261690 +vt 0.639346 0.327095 +vt 0.631152 0.327095 +vt 0.631152 0.261690 +vt 0.663930 0.327095 +vt 0.655736 0.261690 +vt 0.663930 0.261690 +vt 0.654638 0.336438 +vt 0.661735 0.345781 +vt 0.651638 0.343278 +vt 0.655736 0.359461 +vt 0.647541 0.345781 +vt 0.647541 0.364468 +vt 0.639346 0.359461 +vt 0.640444 0.336438 +vt 0.633347 0.345781 +vt 0.640444 0.252347 +vt 0.633347 0.243004 +vt 0.643444 0.245507 +vt 0.639346 0.229324 +vt 0.647541 0.224317 +vt 0.651638 0.245507 +vt 0.655736 0.229324 +vt 0.661735 0.243004 +vt 0.654638 0.252347 +vt 0.713115 0.186916 +vt 0.721311 0.289720 +vt 0.713115 0.289720 +vt 0.803279 0.252336 +vt 0.778689 0.271028 +vt 0.770492 0.112150 +vt 0.721311 0.485981 +vt 0.713115 0.383178 +vt 0.721311 0.383178 +vt 0.803279 0.420561 +vt 0.827869 0.467290 +vt 0.770492 0.560748 +vt 0.028689 0.728972 +vt 0.266393 0.663551 +vt 0.266393 0.728972 +vt 0.266393 0.588785 +vt 0.028689 0.523364 +vt 0.266393 0.523364 +vt 0.020492 0.570093 +vt 0.028689 0.588785 +vt 0.020492 0.682243 +vt 0.028689 0.663551 +vt 0.836066 0.112150 +vt 0.852459 0.186916 +vt 0.827869 0.205607 +vt 0.836066 0.560748 +vt 0.852459 0.485981 +vt 0.852459 0.579439 +vt 0.852459 0.102804 +vt 0.852459 0.000000 +vt 0.885246 0.018692 +vt 0.959016 0.158879 +vt 0.942623 0.102804 +vt 0.959016 0.102804 +vt 0.959016 0.084112 +vt 0.934426 0.037383 +vt 0.942623 0.158879 +vt 0.909836 0.242991 +vt 0.885246 0.242991 +vt 0.852459 0.158879 +vt 0.934426 0.224299 +vt 0.959016 0.177570 +vt 0.266393 0.738318 +vt 0.274590 0.644860 +vt 0.315574 0.663551 +vt 0.168033 0.785047 +vt 0.172131 0.766355 +vt 0.172131 0.785047 +vt 0.180328 0.803738 +vt 0.184426 0.785047 +vt 0.184426 0.803738 +vt 0.168033 0.803738 +vt 0.172131 0.803738 +vt 0.180328 0.785047 +vt 0.180328 0.766355 +vt 0.069676 0.371311 +vt 0.066679 0.345804 +vt 0.066679 0.364476 +vt 0.065582 0.355140 +vt 0.069676 0.338970 +vt 0.077865 0.338970 +vt 0.081959 0.355140 +vt 0.080862 0.364476 +vt 0.077865 0.371311 +vt 0.282787 0.214953 +vt 0.282787 0.158879 +vt 0.282787 0.121495 +vt 0.282787 0.084112 +vt 0.282787 0.046729 +vt 0.282787 0.028037 +vt 0.536896 0.327074 +vt 0.565560 0.261711 +vt 0.549180 0.224360 +vt 0.487700 0.259160 +vt 0.483607 0.261661 +vt 0.479513 0.259160 +vt 0.475419 0.242991 +vt 0.476516 0.233656 +vt 0.479513 0.226822 +vt 0.487700 0.226822 +vt 0.490697 0.233656 +vt 0.491794 0.242991 +vt 0.487685 0.371248 +vt 0.483607 0.373740 +vt 0.479529 0.371248 +vt 0.475451 0.355141 +vt 0.476543 0.345842 +vt 0.479529 0.339034 +vt 0.487685 0.339034 +vt 0.490670 0.345842 +vt 0.491763 0.355141 +vt 0.614754 0.224317 +vt 0.643444 0.277874 +vt 0.651638 0.277874 +vt 0.643444 0.343278 +vt 0.647541 0.243004 +vt 0.721311 0.186916 +vt 0.745902 0.289720 +vt 0.754098 0.271028 +vt 0.737705 0.149533 +vt 0.713115 0.485981 +vt 0.754098 0.401869 +vt 0.745902 0.383178 +vt 0.778689 0.401869 +vt 0.737705 0.523364 +vt 0.020492 0.542056 +vt 0.020492 0.710280 +vt 0.852459 0.093458 +vt 0.877049 0.000000 +vt 0.909836 0.018692 +vt 0.877049 0.261682 +vt 0.852459 0.261682 +vt 0.315574 0.738318 +vt 0.307377 0.757009 +vt 0.274590 0.757009 +vt 0.266393 0.663551 +vt 0.307377 0.644860 +vt 0.663934 0.224299 +vt 0.663934 0.205607 +vt 0.663934 0.186916 +vt 0.663934 0.168224 +vt 0.663934 0.149533 +vt 0.663934 0.130841 +vt 0.663934 0.112150 +vt 0.663934 0.093458 +vt 0.663934 0.074766 +vt 0.663934 0.056075 +vt 0.663934 0.037383 +vt 0.663934 0.018692 +vt 0.663934 0.000000 +vt -0.000000 0.364486 +vt 0.065574 0.373832 +vt -0.000000 0.373832 +vt -0.000000 0.411215 +vt 0.065574 0.420561 +vt -0.000000 0.420561 +vt -0.000000 0.439252 +vt 0.065574 0.448598 +vt -0.000000 0.448598 +vt -0.000000 0.355140 +vt 0.065574 0.364486 +vt -0.000000 0.401869 +vt 0.065574 0.411215 +vt -0.000000 0.383178 +vt 0.065574 0.392523 +vt -0.000000 0.392523 +vt -0.000000 0.429907 +vt 0.065574 0.439252 +vt -0.000000 0.345794 +vt 0.065574 0.355140 +vt 0.065574 0.401869 +vt 0.065574 0.383178 +vt 0.065574 0.429907 +vt -0.000000 0.336449 +vt 0.065574 0.345794 +vt 0.688525 0.196262 +vt 0.704918 0.214953 +vt 0.688525 0.214953 +vt 0.688525 0.158879 +vt 0.704918 0.177570 +vt 0.688525 0.177570 +vt 0.704918 0.196262 +vt 0.688525 0.140187 +vt 0.704918 0.158879 +vt 0.688525 0.121495 +vt 0.704918 0.140187 +vt 0.704918 0.233645 +vt 0.688525 0.233645 +vt 0.688525 0.299065 +vt 0.704918 0.299065 +vt 0.409836 0.448598 +vt 0.081967 0.429907 +vt 0.409836 0.429907 +vt 0.081967 0.411215 +vt 0.409836 0.411215 +vt 0.081967 0.392523 +vt 0.409836 0.392523 +vt 0.081967 0.373832 +vt 0.409836 0.373832 +vt 0.081967 0.355140 +vt 0.409836 0.355140 +vt 0.081967 0.336449 +vt 0.409836 0.336449 +vt 0.081967 0.317757 +vt 0.409836 0.317757 +vt 0.081967 0.299065 +vt 0.409836 0.299065 +vt 0.081967 0.280374 +vt 0.409836 0.280374 +vt 0.081967 0.261682 +vt 0.409836 0.261682 +vt 0.081967 0.242991 +vt 0.409836 0.242991 +vt 0.081967 0.224299 +vt 0.409836 0.224299 +vt 0.704918 0.056075 +vt 0.688525 0.056075 +vt 0.688525 0.336449 +vt 0.704918 0.355140 +vt 0.688525 0.355140 +vt 0.688525 0.037383 +vt 0.688525 0.317757 +vt 0.704918 0.336449 +vt 0.688525 0.018692 +vt 0.704918 0.037383 +vt 0.704918 0.317757 +vt 0.688525 -0.000000 +vt 0.704918 0.018692 +vt 0.663934 0.317757 +vt 0.688525 0.336449 +vt 0.663934 0.336449 +vt 0.663934 0.214953 +vt 0.688525 0.233645 +vt 0.663934 0.233645 +vt 0.688525 0.355140 +vt 0.663934 0.355140 +vt 0.663934 0.121495 +vt 0.688525 0.140187 +vt 0.663934 0.140187 +vt 0.663934 -0.000000 +vt 0.688525 0.018692 +vt 0.663934 0.018692 +vt 0.688525 0.158879 +vt 0.663934 0.158879 +vt 0.688525 0.037383 +vt 0.663934 0.037383 +vt 0.688525 0.177570 +vt 0.663934 0.177570 +vt 0.688525 0.056075 +vt 0.663934 0.056075 +vt 0.688525 0.299065 +vt 0.663934 0.299065 +vt 0.688525 0.121495 +vt 0.688525 0.196262 +vt 0.663934 0.196262 +vt 0.688525 0.317757 +vt 0.688525 0.214953 +vt 0.409836 0.401869 +vt 0.475410 0.392523 +vt 0.475410 0.401869 +vt 0.409836 0.355140 +vt 0.475410 0.345794 +vt 0.475410 0.355140 +vt 0.409836 0.327103 +vt 0.475410 0.317757 +vt 0.475410 0.327103 +vt 0.409836 0.280374 +vt 0.475410 0.271028 +vt 0.475410 0.280374 +vt 0.409836 0.345794 +vt 0.475410 0.336449 +vt 0.409836 0.317757 +vt 0.475410 0.308411 +vt 0.409836 0.271028 +vt 0.475410 0.261682 +vt 0.409836 0.448598 +vt 0.475410 0.439252 +vt 0.475410 0.448598 +vt 0.409836 0.308411 +vt 0.475410 0.299065 +vt 0.409836 0.261682 +vt 0.475410 0.252336 +vt 0.409836 0.439252 +vt 0.475410 0.429907 +vt 0.409836 0.299065 +vt 0.475410 0.289720 +vt 0.409836 0.392523 +vt 0.475410 0.383178 +vt 0.409836 0.252336 +vt 0.475410 0.242991 +vt 0.409836 0.429907 +vt 0.475410 0.420561 +vt 0.409836 0.289720 +vt 0.409836 0.383178 +vt 0.475410 0.373832 +vt 0.409836 0.242991 +vt 0.475410 0.233645 +vt 0.409836 0.420561 +vt 0.475410 0.411215 +vt 0.409836 0.373832 +vt 0.475410 0.364486 +vt 0.409836 0.233645 +vt 0.475410 0.224299 +vt 0.409836 0.411215 +vt 0.409836 0.364486 +vt 0.409836 0.336449 +vt 0.475410 0.336449 +vt 0.745902 0.308411 +vt 0.754098 0.289720 +vt 0.778689 0.289720 +vt 0.754098 0.308411 +vt 0.803279 0.289720 +vt 0.778689 0.308411 +vt 0.721311 0.018692 +vt 0.737705 0.093458 +vt 0.721311 0.074766 +vt 0.721311 0.364486 +vt 0.745902 0.364486 +vt 0.754098 0.364486 +vt 0.778689 0.364486 +vt 0.754098 0.383178 +vt 0.803279 0.364486 +vt 0.778689 0.383178 +vt 0.827869 0.383178 +vt 0.827869 0.364486 +vt 0.852459 0.383178 +vt 0.770492 0.093458 +vt 0.836066 0.074766 +vt 0.840164 0.093458 +vt 0.000000 0.588785 +vt 0.008197 0.663551 +vt 0.000000 0.663551 +vt 0.020492 0.588785 +vt 0.020492 0.663551 +vt 0.008197 0.588785 +vt 0.225410 0.514019 +vt 0.028689 0.448598 +vt 0.225410 0.654206 +vt 0.836066 0.018692 +vt 0.770492 0.000000 +vt 0.836066 0.000000 +vt 0.770492 0.074766 +vt 0.827869 0.308411 +vt 0.803279 0.308411 +vt 0.803279 0.383178 +vt 0.852459 0.289720 +vt 0.827869 0.289720 +vt 0.852459 -0.000000 +vt 0.426230 0.663551 +vt 0.442623 0.738318 +vt 0.426230 0.738318 +vt 0.336066 0.448598 +vt 0.426230 0.523364 +vt 0.336066 0.523364 +vt 0.319672 0.635514 +vt 0.426230 0.635514 +vt 0.319672 0.766355 +vt 0.331967 0.551402 +vt 0.426230 0.850467 +vt 0.442623 0.766355 +vt 0.442623 0.850467 +vt 0.426230 0.551402 +vt 0.331967 0.850467 +vt 0.426230 0.766355 +vt 0.336066 0.878505 +vt 0.426230 0.878505 +vt 0.475410 0.663551 +vt 0.475410 0.738318 +vt 0.491803 0.738318 +vt 0.491803 0.663551 +vt 0.442623 0.635514 +vt 0.442623 0.551402 +vt 0.159836 0.803738 +vt 0.159836 0.785047 +vt 0.168033 0.766355 +vt 0.770492 0.018692 +vt 0.737705 0.000000 +vt 0.721311 -0.000000 +vt 0.721311 0.093458 +vt 0.065574 0.336449 +vt 0.704918 0.121495 +vt 0.081967 0.448598 +vt 0.704918 0.000000 +vt 0.688525 -0.000000 +vt 0.409836 0.336449 +vt 0.409836 0.224299 +vt 0.721311 0.308411 +vt 0.266393 0.448598 +vt 0.225410 0.457944 +vt 0.266393 0.457944 +vt 0.266393 0.514019 +vt 0.225410 0.598131 +vt 0.266393 0.598131 +vt 0.266393 0.654206 +vt 0.442623 0.663551 +vt 0.426230 0.448598 +vt 0.159836 0.766355 vn 0.0000 0.0000 1.0000 vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.9239 0.3827 -vn 0.0000 -0.9239 -0.3827 -vn 0.0000 -0.3827 0.9239 -vn 0.0000 0.3827 -0.9239 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.8944 0.4472 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn -0.8660 0.5000 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.9914 0.1305 0.0000 +vn 0.9914 0.1305 0.0000 +vn 0.9914 -0.1305 0.0000 +vn -0.9914 -0.1305 0.0000 vn 0.0000 0.9239 -0.3827 -vn 0.0000 -0.9239 0.3827 -vn 0.0000 0.3827 0.9239 -vn 0.0000 -0.3827 -0.9239 -vn 0.9239 -0.3827 0.0000 -vn -0.9239 0.3827 0.0000 -vn 0.3827 0.9239 0.0000 -vn -0.3827 -0.9239 -0.0000 -vn 0.7071 -0.7071 0.0000 -vn -0.7071 0.7071 0.0000 -vn 0.7071 0.7071 0.0000 -vn -0.7071 -0.7071 -0.0000 -vn 0.9239 0.3827 0.0000 -vn -0.9239 -0.3827 -0.0000 -vn -0.3827 0.9239 0.0000 -vn 0.3827 -0.9239 0.0000 -vn 0.0000 0.7071 0.7071 -vn 0.0000 -0.7071 -0.7071 +vn 0.0000 0.9871 -0.1602 +vn 0.0000 0.8736 -0.4866 vn 0.0000 -0.7071 0.7071 -vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.8112 0.5847 +vn 0.0000 0.9024 -0.4308 +vn 0.0000 0.9487 -0.3162 +vn 0.0000 -0.9732 0.2298 +vn 0.0000 -0.9522 0.3054 +vn 0.0000 -0.9239 0.3827 +vn 0.0000 -0.3827 0.9239 +vn 0.0000 0.9231 0.3845 +vn 0.0000 0.3808 0.9246 +vn 0.0000 -0.8944 0.4472 +vn 0.3702 0.6646 -0.6490 +vn -0.4346 -0.0292 -0.9002 +vn -0.3702 0.6646 -0.6490 +vn 0.3158 0.8487 -0.4243 +vn -0.3158 0.8487 -0.4243 +vn -0.3875 -0.7728 0.5027 +vn 0.3803 -0.8832 0.2744 +vn 0.3875 -0.7728 0.5027 +vn 0.8592 0.4574 -0.2292 +vn 0.9085 0.1932 -0.3706 +vn -0.8592 0.4574 -0.2292 +vn 0.9547 -0.2517 0.1590 +vn -0.9201 -0.3912 -0.0217 +vn -0.4362 -0.7533 -0.4922 +vn 0.9201 -0.3912 -0.0217 +vn -0.9547 -0.2517 0.1590 +vn -0.9085 0.1932 -0.3706 +vn -0.3803 -0.8832 0.2744 +vn 0.4362 -0.7533 -0.4922 +vn 0.4346 -0.0292 -0.9002 +vn 0.0000 0.2298 0.9732 +vn 0.0000 -0.3827 -0.9239 +vn 0.0000 0.4472 0.8944 +vn 0.0000 -0.7071 -0.7071 s off -f 313/799/45 314/800/45 315/801/45 -f 314/800/45 316/802/45 315/801/45 -f 317/803/46 318/804/46 319/805/46 -f 318/804/46 320/806/46 319/805/46 -f 317/803/47 319/807/47 315/801/47 -f 319/807/47 313/808/47 315/801/47 -f 320/809/48 318/804/48 314/810/48 -f 318/804/48 316/802/48 314/810/48 -f 319/811/49 320/812/49 313/813/49 -f 320/812/49 314/814/49 313/813/49 -f 315/815/50 316/816/50 317/817/50 -f 316/816/50 318/818/50 317/817/50 -f 321/819/45 322/820/45 323/821/45 -f 322/820/45 324/822/45 323/821/45 -f 325/823/46 326/824/46 327/825/46 -f 326/824/46 328/826/46 327/825/46 -f 325/823/51 327/827/51 323/821/51 -f 327/827/51 321/828/51 323/821/51 -f 328/829/52 326/824/52 322/830/52 -f 326/824/52 324/822/52 322/830/52 -f 327/831/53 328/832/53 321/833/53 -f 328/832/53 322/834/53 321/833/53 -f 323/835/54 324/836/54 325/837/54 -f 324/836/54 326/838/54 325/837/54 -f 329/839/45 330/840/45 331/841/45 -f 330/840/45 332/842/45 331/841/45 -f 333/843/46 334/844/46 335/845/46 -f 334/844/46 336/846/46 335/845/46 -f 333/843/55 335/847/55 331/841/55 -f 335/847/55 329/848/55 331/841/55 -f 336/849/56 334/844/56 330/850/56 -f 334/844/56 332/842/56 330/850/56 -f 335/851/57 336/852/57 329/853/57 -f 336/852/57 330/854/57 329/853/57 -f 331/855/58 332/856/58 333/857/58 -f 332/856/58 334/858/58 333/857/58 -f 337/859/45 338/860/45 339/861/45 -f 338/860/45 340/862/45 339/861/45 -f 341/863/46 342/864/46 343/865/46 -f 342/864/46 344/866/46 343/865/46 -f 341/863/47 343/867/47 339/861/47 -f 343/867/47 337/868/47 339/861/47 -f 344/869/48 342/864/48 338/870/48 -f 342/864/48 340/862/48 338/870/48 -f 343/871/49 344/872/49 337/873/49 -f 344/872/49 338/874/49 337/873/49 -f 339/875/50 340/876/50 341/877/50 -f 340/876/50 342/878/50 341/877/50 -f 345/879/45 346/880/45 347/881/45 -f 346/880/45 348/882/45 347/881/45 -f 349/883/46 350/884/46 351/885/46 -f 350/884/46 352/886/46 351/885/46 -f 349/883/47 351/887/47 347/881/47 -f 351/887/47 345/888/47 347/881/47 -f 352/889/48 350/884/48 346/890/48 -f 350/884/48 348/882/48 346/890/48 -f 351/891/49 352/892/49 345/893/49 -f 352/892/49 346/894/49 345/893/49 -f 347/895/50 348/896/50 349/897/50 -f 348/896/50 350/898/50 349/897/50 -f 353/899/59 354/900/59 355/901/59 -f 354/900/59 356/902/59 355/901/59 -f 357/903/60 358/904/60 359/905/60 -f 358/904/60 360/906/60 359/905/60 -f 357/903/61 359/907/61 355/901/61 -f 359/907/61 353/908/61 355/901/61 -f 360/909/62 358/904/62 354/910/62 -f 358/904/62 356/902/62 354/910/62 -f 359/911/49 360/912/49 353/913/49 -f 360/912/49 354/914/49 353/913/49 -f 355/915/50 356/916/50 357/917/50 -f 356/916/50 358/918/50 357/917/50 -f 361/919/63 362/920/63 363/921/63 -f 362/920/63 364/922/63 363/921/63 -f 365/923/64 366/924/64 367/925/64 -f 366/924/64 368/926/64 367/925/64 -f 365/923/65 367/927/65 363/921/65 -f 367/927/65 361/928/65 363/921/65 -f 368/929/66 366/924/66 362/930/66 -f 366/924/66 364/922/66 362/930/66 -f 367/931/49 368/932/49 361/933/49 -f 368/932/49 362/934/49 361/933/49 -f 363/935/50 364/936/50 365/937/50 -f 364/936/50 366/938/50 365/937/50 -f 369/939/67 370/940/67 371/941/67 -f 370/940/67 372/942/67 371/941/67 -f 373/943/68 374/944/68 375/945/68 -f 374/944/68 376/946/68 375/945/68 -f 373/943/69 375/947/69 371/941/69 -f 375/947/69 369/948/69 371/941/69 -f 376/949/70 374/944/70 370/950/70 -f 374/944/70 372/942/70 370/950/70 -f 375/951/49 376/952/49 369/953/49 -f 376/952/49 370/954/49 369/953/49 -f 371/955/50 372/956/50 373/957/50 -f 372/956/50 374/958/50 373/957/50 -f 377/959/45 378/960/45 379/961/45 -f 378/960/45 380/962/45 379/961/45 -f 381/963/46 382/964/46 383/965/46 -f 382/964/46 384/966/46 383/965/46 -f 381/963/47 383/967/47 379/961/47 -f 383/967/47 377/968/47 379/961/47 -f 384/969/48 382/964/48 378/970/48 -f 382/964/48 380/962/48 378/970/48 -f 383/971/49 384/972/49 377/973/49 -f 384/972/49 378/974/49 377/973/49 -f 379/975/50 380/976/50 381/977/50 -f 380/976/50 382/978/50 381/977/50 -f 385/979/45 386/980/45 387/981/45 -f 386/980/45 388/982/45 387/981/45 -f 389/983/46 390/984/46 391/985/46 -f 390/984/46 392/986/46 391/985/46 -f 389/983/47 391/987/47 387/981/47 -f 391/987/47 385/988/47 387/981/47 -f 392/989/48 390/984/48 386/990/48 -f 390/984/48 388/982/48 386/990/48 -f 391/991/49 392/992/49 385/993/49 -f 392/992/49 386/994/49 385/993/49 -f 387/995/50 388/996/50 389/997/50 -f 388/996/50 390/998/50 389/997/50 -f 393/999/67 394/1000/67 395/1001/67 -f 394/1000/67 396/1002/67 395/1001/67 -f 397/1003/68 398/1004/68 399/1005/68 -f 398/1004/68 400/1006/68 399/1005/68 -f 397/1003/69 399/1007/69 395/1001/69 -f 399/1007/69 393/1008/69 395/1001/69 -f 400/1009/70 398/1004/70 394/1010/70 -f 398/1004/70 396/1002/70 394/1010/70 -f 399/1011/49 400/1012/49 393/1013/49 -f 400/1012/49 394/1014/49 393/1013/49 -f 395/1015/50 396/1016/50 397/1017/50 -f 396/1016/50 398/1018/50 397/1017/50 -f 401/1019/65 402/1020/65 403/1021/65 -f 402/1020/65 404/1022/65 403/1021/65 -f 405/1023/66 406/1024/66 407/1025/66 -f 406/1024/66 408/1026/66 407/1025/66 -f 405/1023/64 407/1027/64 403/1021/64 -f 407/1027/64 401/1028/64 403/1021/64 -f 408/1029/63 406/1024/63 402/1030/63 -f 406/1024/63 404/1022/63 402/1030/63 -f 407/1031/49 408/1032/49 401/1033/49 -f 408/1032/49 402/1034/49 401/1033/49 -f 403/1035/50 404/1036/50 405/1037/50 -f 404/1036/50 406/1038/50 405/1037/50 -f 409/1039/59 410/1040/59 411/1041/59 -f 410/1040/59 412/1042/59 411/1041/59 -f 413/1043/60 414/1044/60 415/1045/60 -f 414/1044/60 416/1046/60 415/1045/60 -f 413/1043/61 415/1047/61 411/1041/61 -f 415/1047/61 409/1048/61 411/1041/61 -f 416/1049/62 414/1044/62 410/1050/62 -f 414/1044/62 412/1042/62 410/1050/62 -f 415/1051/49 416/1052/49 409/1053/49 -f 416/1052/49 410/1054/49 409/1053/49 -f 411/1055/50 412/1056/50 413/1057/50 -f 412/1056/50 414/1058/50 413/1057/50 -f 417/1059/45 418/1060/45 419/1061/45 -f 418/1060/45 420/1062/45 419/1061/45 -f 421/1063/46 422/1064/46 423/1065/46 -f 422/1064/46 424/1066/46 423/1065/46 -f 421/1063/47 423/1067/47 419/1061/47 -f 423/1067/47 417/1068/47 419/1061/47 -f 424/1069/48 422/1064/48 418/1070/48 -f 422/1064/48 420/1062/48 418/1070/48 -f 423/1071/49 424/1072/49 417/1073/49 -f 424/1072/49 418/1074/49 417/1073/49 -f 419/1075/50 420/1076/50 421/1077/50 -f 420/1076/50 422/1078/50 421/1077/50 -f 425/1079/45 426/1080/45 427/1081/45 -f 426/1080/45 428/1082/45 427/1081/45 -f 429/1083/46 430/1084/46 431/1085/46 -f 430/1084/46 432/1086/46 431/1085/46 -f 429/1083/47 431/1087/47 427/1081/47 -f 431/1087/47 425/1088/47 427/1081/47 -f 432/1089/48 430/1084/48 426/1090/48 -f 430/1084/48 428/1082/48 426/1090/48 -f 431/1091/49 432/1092/49 425/1093/49 -f 432/1092/49 426/1094/49 425/1093/49 -f 427/1095/50 428/1096/50 429/1097/50 -f 428/1096/50 430/1098/50 429/1097/50 -f 433/1099/45 434/1100/45 435/1101/45 -f 434/1100/45 436/1102/45 435/1101/45 -f 437/1103/46 438/1104/46 439/1105/46 -f 438/1104/46 440/1106/46 439/1105/46 -f 437/1103/47 439/1107/47 435/1101/47 -f 439/1107/47 433/1108/47 435/1101/47 -f 440/1109/48 438/1104/48 434/1110/48 -f 438/1104/48 436/1102/48 434/1110/48 -f 439/1111/49 440/1112/49 433/1113/49 -f 440/1112/49 434/1114/49 433/1113/49 -f 435/1115/50 436/1116/50 437/1117/50 -f 436/1116/50 438/1118/50 437/1117/50 -f 441/1119/45 442/1120/45 443/1121/45 -f 442/1120/45 444/1122/45 443/1121/45 -f 445/1123/46 446/1124/46 447/1125/46 -f 446/1124/46 448/1126/46 447/1125/46 -f 445/1127/47 447/1128/47 443/1129/47 -f 447/1128/47 441/1130/47 443/1129/47 -f 448/1131/48 446/1132/48 442/1133/48 -f 446/1132/48 444/1134/48 442/1133/48 -f 447/1135/49 448/1136/49 441/1119/49 -f 448/1136/49 442/1137/49 441/1119/49 -f 443/1138/50 444/1139/50 445/1140/50 -f 444/1139/50 446/1141/50 445/1140/50 -f 449/1142/45 450/1143/45 451/1144/45 -f 450/1143/45 452/1145/45 451/1144/45 -f 453/1146/46 454/1147/46 455/1148/46 -f 454/1147/46 456/1149/46 455/1148/46 -f 453/1146/51 455/1150/51 451/1144/51 -f 455/1150/51 449/1151/51 451/1144/51 -f 456/1152/52 454/1147/52 450/1153/52 -f 454/1147/52 452/1145/52 450/1153/52 -f 455/1154/53 456/1155/53 449/1156/53 -f 456/1155/53 450/1157/53 449/1156/53 -f 451/1158/54 452/1159/54 453/1160/54 -f 452/1159/54 454/1161/54 453/1160/54 -f 457/1162/45 458/1163/45 459/1164/45 -f 458/1163/45 460/1165/45 459/1164/45 -f 461/1166/46 462/1167/46 463/1168/46 -f 462/1167/46 464/1169/46 463/1168/46 -f 461/1166/71 463/1170/71 459/1164/71 -f 463/1170/71 457/1171/71 459/1164/71 -f 464/1172/72 462/1167/72 458/1173/72 -f 462/1167/72 460/1165/72 458/1173/72 -f 463/1174/73 464/1175/73 457/1176/73 -f 464/1175/73 458/1177/73 457/1176/73 -f 459/1178/74 460/1179/74 461/1180/74 -f 460/1179/74 462/1181/74 461/1180/74 -f 465/1182/45 466/1183/45 467/1184/45 -f 466/1183/45 468/1185/45 467/1184/45 -f 469/1186/46 470/1187/46 471/1188/46 -f 470/1187/46 472/1189/46 471/1188/46 -f 469/1186/47 471/1190/47 467/1184/47 -f 471/1190/47 465/1191/47 467/1184/47 -f 472/1192/48 470/1187/48 466/1193/48 -f 470/1187/48 468/1185/48 466/1193/48 -f 471/1194/49 472/1195/49 465/1196/49 -f 472/1195/49 466/1197/49 465/1196/49 -f 467/1198/50 468/1199/50 469/1200/50 -f 468/1199/50 470/1201/50 469/1200/50 -f 473/1202/59 474/1203/59 475/1204/59 -f 474/1203/59 476/1205/59 475/1204/59 -f 477/1206/60 478/1207/60 479/1208/60 -f 478/1207/60 480/1209/60 479/1208/60 -f 477/1206/61 479/1210/61 475/1204/61 -f 479/1210/61 473/1211/61 475/1204/61 -f 480/1212/62 478/1207/62 474/1213/62 -f 478/1207/62 476/1205/62 474/1213/62 -f 479/1214/49 480/1215/49 473/1216/49 -f 480/1215/49 474/1217/49 473/1216/49 -f 475/1218/50 476/1219/50 477/1220/50 -f 476/1219/50 478/1221/50 477/1220/50 -f 481/1222/63 482/1223/63 483/1224/63 -f 482/1223/63 484/1225/63 483/1224/63 -f 485/1226/64 486/1227/64 487/1228/64 -f 486/1227/64 488/1229/64 487/1228/64 -f 485/1226/65 487/1230/65 483/1224/65 -f 487/1230/65 481/1231/65 483/1224/65 -f 488/1232/66 486/1227/66 482/1233/66 -f 486/1227/66 484/1225/66 482/1233/66 -f 487/1234/49 488/1235/49 481/1236/49 -f 488/1235/49 482/1237/49 481/1236/49 -f 483/1238/50 484/1239/50 485/1240/50 -f 484/1239/50 486/1241/50 485/1240/50 -f 489/1242/67 490/1243/67 491/1244/67 -f 490/1243/67 492/1245/67 491/1244/67 -f 493/1246/68 494/1247/68 495/1248/68 -f 494/1247/68 496/1249/68 495/1248/68 -f 493/1246/69 495/1250/69 491/1244/69 -f 495/1250/69 489/1251/69 491/1244/69 -f 496/1252/70 494/1247/70 490/1253/70 -f 494/1247/70 492/1245/70 490/1253/70 -f 495/1254/49 496/1255/49 489/1256/49 -f 496/1255/49 490/1257/49 489/1256/49 -f 491/1258/50 492/1259/50 493/1260/50 -f 492/1259/50 494/1261/50 493/1260/50 -f 497/1262/45 498/1263/45 499/1264/45 -f 498/1263/45 500/1265/45 499/1264/45 -f 501/1266/46 502/1267/46 503/1268/46 -f 502/1267/46 504/1269/46 503/1268/46 -f 501/1266/47 503/1270/47 499/1264/47 -f 503/1270/47 497/1271/47 499/1264/47 -f 504/1272/48 502/1267/48 498/1273/48 -f 502/1267/48 500/1265/48 498/1273/48 -f 503/1274/49 504/1275/49 497/1276/49 -f 504/1275/49 498/1277/49 497/1276/49 -f 499/1278/50 500/1279/50 501/1280/50 -f 500/1279/50 502/1281/50 501/1280/50 -f 505/1282/59 506/1283/59 507/1284/59 -f 506/1283/59 508/1285/59 507/1284/59 -f 509/1286/60 510/1287/60 511/1288/60 -f 510/1287/60 512/1289/60 511/1288/60 -f 509/1286/61 511/1290/61 507/1284/61 -f 511/1290/61 505/1291/61 507/1284/61 -f 512/1292/62 510/1287/62 506/1293/62 -f 510/1287/62 508/1285/62 506/1293/62 -f 511/1294/49 512/1295/49 505/1296/49 -f 512/1295/49 506/1297/49 505/1296/49 -f 507/1298/50 508/1299/50 509/1300/50 -f 508/1299/50 510/1301/50 509/1300/50 -f 513/1302/63 514/1303/63 515/1304/63 -f 514/1303/63 516/1305/63 515/1304/63 -f 517/1306/64 518/1307/64 519/1308/64 -f 518/1307/64 520/1309/64 519/1308/64 -f 517/1306/65 519/1310/65 515/1304/65 -f 519/1310/65 513/1311/65 515/1304/65 -f 520/1312/66 518/1307/66 514/1313/66 -f 518/1307/66 516/1305/66 514/1313/66 -f 519/1314/49 520/1315/49 513/1316/49 -f 520/1315/49 514/1317/49 513/1316/49 -f 515/1318/50 516/1319/50 517/1320/50 -f 516/1319/50 518/1321/50 517/1320/50 -f 521/1322/67 522/1323/67 523/1324/67 -f 522/1323/67 524/1325/67 523/1324/67 -f 525/1326/68 526/1327/68 527/1328/68 -f 526/1327/68 528/1329/68 527/1328/68 -f 525/1326/69 527/1330/69 523/1324/69 -f 527/1330/69 521/1331/69 523/1324/69 -f 528/1332/70 526/1327/70 522/1333/70 -f 526/1327/70 524/1325/70 522/1333/70 -f 527/1334/49 528/1335/49 521/1336/49 -f 528/1335/49 522/1337/49 521/1336/49 -f 523/1338/50 524/1339/50 525/1340/50 -f 524/1339/50 526/1341/50 525/1340/50 -f 529/1342/67 530/1343/67 531/1344/67 -f 530/1343/67 532/1345/67 531/1344/67 -f 533/1346/68 534/1347/68 535/1348/68 -f 534/1347/68 536/1349/68 535/1348/68 -f 533/1346/69 535/1350/69 531/1344/69 -f 535/1350/69 529/1351/69 531/1344/69 -f 536/1352/70 534/1347/70 530/1353/70 -f 534/1347/70 532/1345/70 530/1353/70 -f 535/1354/49 536/1355/49 529/1356/49 -f 536/1355/49 530/1357/49 529/1356/49 -f 531/1358/50 532/1359/50 533/1360/50 -f 532/1359/50 534/1361/50 533/1360/50 -f 537/1362/63 538/1363/63 539/1364/63 -f 538/1363/63 540/1365/63 539/1364/63 -f 541/1366/64 542/1367/64 543/1368/64 -f 542/1367/64 544/1369/64 543/1368/64 -f 541/1366/65 543/1370/65 539/1364/65 -f 543/1370/65 537/1371/65 539/1364/65 -f 544/1372/66 542/1367/66 538/1373/66 -f 542/1367/66 540/1365/66 538/1373/66 -f 543/1374/49 544/1375/49 537/1376/49 -f 544/1375/49 538/1377/49 537/1376/49 -f 539/1378/50 540/1379/50 541/1380/50 -f 540/1379/50 542/1381/50 541/1380/50 -f 545/1382/59 546/1383/59 547/1384/59 -f 546/1383/59 548/1385/59 547/1384/59 -f 549/1386/60 550/1387/60 551/1388/60 -f 550/1387/60 552/1389/60 551/1388/60 -f 549/1386/61 551/1390/61 547/1384/61 -f 551/1390/61 545/1391/61 547/1384/61 -f 552/1392/62 550/1387/62 546/1393/62 -f 550/1387/62 548/1385/62 546/1393/62 -f 551/1394/49 552/1395/49 545/1396/49 -f 552/1395/49 546/1397/49 545/1396/49 -f 547/1398/50 548/1399/50 549/1400/50 -f 548/1399/50 550/1401/50 549/1400/50 -f 553/1402/45 554/1403/45 555/1404/45 -f 554/1403/45 556/1405/45 555/1404/45 -f 557/1406/46 558/1407/46 559/1408/46 -f 558/1407/46 560/1409/46 559/1408/46 -f 557/1406/47 559/1410/47 555/1404/47 -f 559/1410/47 553/1411/47 555/1404/47 -f 560/1412/48 558/1407/48 554/1413/48 -f 558/1407/48 556/1405/48 554/1413/48 -f 559/1414/49 560/1415/49 553/1416/49 -f 560/1415/49 554/1417/49 553/1416/49 -f 555/1418/50 556/1419/50 557/1420/50 -f 556/1419/50 558/1421/50 557/1420/50 -f 561/1422/67 562/1423/67 563/1424/67 -f 562/1423/67 564/1425/67 563/1424/67 -f 565/1426/68 566/1427/68 567/1428/68 -f 566/1427/68 568/1429/68 567/1428/68 -f 565/1426/69 567/1430/69 563/1424/69 -f 567/1430/69 561/1431/69 563/1424/69 -f 568/1432/70 566/1427/70 562/1433/70 -f 566/1427/70 564/1425/70 562/1433/70 -f 567/1434/49 568/1435/49 561/1436/49 -f 568/1435/49 562/1437/49 561/1436/49 -f 563/1438/50 564/1439/50 565/1440/50 -f 564/1439/50 566/1441/50 565/1440/50 -f 569/1442/63 570/1443/63 571/1444/63 -f 570/1443/63 572/1445/63 571/1444/63 -f 573/1446/64 574/1447/64 575/1448/64 -f 574/1447/64 576/1449/64 575/1448/64 -f 573/1446/65 575/1450/65 571/1444/65 -f 575/1450/65 569/1451/65 571/1444/65 -f 576/1452/66 574/1447/66 570/1453/66 -f 574/1447/66 572/1445/66 570/1453/66 -f 575/1454/49 576/1455/49 569/1456/49 -f 576/1455/49 570/1457/49 569/1456/49 -f 571/1458/50 572/1459/50 573/1460/50 -f 572/1459/50 574/1461/50 573/1460/50 -f 577/1462/59 578/1463/59 579/1464/59 -f 578/1463/59 580/1465/59 579/1464/59 -f 581/1466/60 582/1467/60 583/1468/60 -f 582/1467/60 584/1469/60 583/1468/60 -f 581/1466/61 583/1470/61 579/1464/61 -f 583/1470/61 577/1471/61 579/1464/61 -f 584/1472/62 582/1467/62 578/1473/62 -f 582/1467/62 580/1465/62 578/1473/62 -f 583/1474/49 584/1475/49 577/1476/49 -f 584/1475/49 578/1477/49 577/1476/49 -f 579/1478/50 580/1479/50 581/1480/50 -f 580/1479/50 582/1481/50 581/1480/50 -f 585/1482/45 586/1483/45 587/1484/45 -f 586/1483/45 588/1485/45 587/1484/45 -f 589/1486/46 590/1487/46 591/1488/46 -f 590/1487/46 592/1489/46 591/1488/46 -f 589/1486/47 591/1490/47 587/1484/47 -f 591/1490/47 585/1491/47 587/1484/47 -f 592/1492/48 590/1487/48 586/1493/48 -f 590/1487/48 588/1485/48 586/1493/48 -f 591/1494/49 592/1495/49 585/1496/49 -f 592/1495/49 586/1497/49 585/1496/49 -f 587/1498/50 588/1499/50 589/1500/50 -f 588/1499/50 590/1501/50 589/1500/50 -f 593/1502/67 594/1503/67 595/1504/67 -f 594/1503/67 596/1505/67 595/1504/67 -f 597/1506/68 598/1507/68 599/1508/68 -f 598/1507/68 600/1509/68 599/1508/68 -f 597/1506/69 599/1510/69 595/1504/69 -f 599/1510/69 593/1511/69 595/1504/69 -f 600/1512/70 598/1507/70 594/1513/70 -f 598/1507/70 596/1505/70 594/1513/70 -f 599/1514/49 600/1515/49 593/1516/49 -f 600/1515/49 594/1517/49 593/1516/49 -f 595/1518/50 596/1519/50 597/1520/50 -f 596/1519/50 598/1521/50 597/1520/50 -f 601/1522/63 602/1523/63 603/1524/63 -f 602/1523/63 604/1525/63 603/1524/63 -f 605/1526/64 606/1527/64 607/1528/64 -f 606/1527/64 608/1529/64 607/1528/64 -f 605/1526/65 607/1530/65 603/1524/65 -f 607/1530/65 601/1531/65 603/1524/65 -f 608/1532/66 606/1527/66 602/1533/66 -f 606/1527/66 604/1525/66 602/1533/66 -f 607/1534/49 608/1535/49 601/1536/49 -f 608/1535/49 602/1537/49 601/1536/49 -f 603/1538/50 604/1539/50 605/1540/50 -f 604/1539/50 606/1541/50 605/1540/50 -f 609/1542/59 610/1543/59 611/1544/59 -f 610/1543/59 612/1545/59 611/1544/59 -f 613/1546/60 614/1547/60 615/1548/60 -f 614/1547/60 616/1549/60 615/1548/60 -f 613/1546/61 615/1550/61 611/1544/61 -f 615/1550/61 609/1551/61 611/1544/61 -f 616/1552/62 614/1547/62 610/1553/62 -f 614/1547/62 612/1545/62 610/1553/62 -f 615/1554/49 616/1555/49 609/1556/49 -f 616/1555/49 610/1557/49 609/1556/49 -f 611/1558/50 612/1559/50 613/1560/50 -f 612/1559/50 614/1561/50 613/1560/50 -f 617/1562/63 618/1563/63 619/1564/63 -f 618/1563/63 620/1565/63 619/1564/63 -f 621/1566/64 622/1567/64 623/1568/64 -f 622/1567/64 624/1569/64 623/1568/64 -f 621/1566/65 623/1570/65 619/1564/65 -f 623/1570/65 617/1571/65 619/1564/65 -f 624/1572/66 622/1567/66 618/1573/66 -f 622/1567/66 620/1565/66 618/1573/66 -f 623/1574/49 624/1575/49 617/1576/49 -f 624/1575/49 618/1577/49 617/1576/49 -f 619/1578/50 620/1579/50 621/1580/50 -f 620/1579/50 622/1581/50 621/1580/50 -f 625/1582/67 626/1583/67 627/1584/67 -f 626/1583/67 628/1585/67 627/1584/67 -f 629/1586/68 630/1587/68 631/1588/68 -f 630/1587/68 632/1589/68 631/1588/68 -f 629/1586/69 631/1590/69 627/1584/69 -f 631/1590/69 625/1591/69 627/1584/69 -f 632/1592/70 630/1587/70 626/1593/70 -f 630/1587/70 628/1585/70 626/1593/70 -f 631/1594/49 632/1595/49 625/1596/49 -f 632/1595/49 626/1597/49 625/1596/49 -f 627/1598/50 628/1599/50 629/1600/50 -f 628/1599/50 630/1601/50 629/1600/50 -f 633/1602/45 634/1603/45 635/1604/45 -f 634/1603/45 636/1605/45 635/1604/45 -f 637/1606/46 638/1607/46 639/1608/46 -f 638/1607/46 640/1609/46 639/1608/46 -f 637/1606/47 639/1610/47 635/1604/47 -f 639/1610/47 633/1611/47 635/1604/47 -f 640/1612/48 638/1607/48 634/1613/48 -f 638/1607/48 636/1605/48 634/1613/48 -f 639/1614/49 640/1615/49 633/1616/49 -f 640/1615/49 634/1617/49 633/1616/49 -f 635/1618/50 636/1619/50 637/1620/50 -f 636/1619/50 638/1621/50 637/1620/50 -f 641/1622/59 642/1623/59 643/1624/59 -f 642/1623/59 644/1625/59 643/1624/59 -f 645/1626/60 646/1627/60 647/1628/60 -f 646/1627/60 648/1629/60 647/1628/60 -f 645/1626/61 647/1630/61 643/1624/61 -f 647/1630/61 641/1631/61 643/1624/61 -f 648/1632/62 646/1627/62 642/1633/62 -f 646/1627/62 644/1625/62 642/1633/62 -f 647/1634/49 648/1635/49 641/1636/49 -f 648/1635/49 642/1637/49 641/1636/49 -f 643/1638/50 644/1639/50 645/1640/50 -f 644/1639/50 646/1641/50 645/1640/50 -f 649/1642/45 650/1643/45 651/1644/45 -f 650/1643/45 652/1645/45 651/1644/45 -f 653/1646/46 654/1647/46 655/1648/46 -f 654/1647/46 656/1649/46 655/1648/46 -f 653/1646/47 655/1650/47 651/1644/47 -f 655/1650/47 649/1651/47 651/1644/47 -f 656/1652/48 654/1647/48 650/1653/48 -f 654/1647/48 652/1645/48 650/1653/48 -f 655/1654/49 656/1655/49 649/1656/49 -f 656/1655/49 650/1657/49 649/1656/49 -f 651/1658/50 652/1659/50 653/1660/50 -f 652/1659/50 654/1661/50 653/1660/50 -f 657/1662/45 658/1663/45 659/1664/45 -f 658/1663/45 660/1665/45 659/1664/45 -f 661/1666/46 662/1667/46 663/1668/46 -f 662/1667/46 664/1669/46 663/1668/46 -f 661/1666/51 663/1670/51 659/1664/51 -f 663/1670/51 657/1671/51 659/1664/51 -f 664/1672/52 662/1667/52 658/1673/52 -f 662/1667/52 660/1665/52 658/1673/52 -f 663/1674/53 664/1675/53 657/1676/53 -f 664/1675/53 658/1677/53 657/1676/53 -f 659/1678/54 660/1679/54 661/1680/54 -f 660/1679/54 662/1681/54 661/1680/54 -f 665/1682/45 666/1683/45 667/1684/45 -f 666/1683/45 668/1685/45 667/1684/45 -f 669/1686/46 670/1687/46 671/1688/46 -f 670/1687/46 672/1689/46 671/1688/46 -f 669/1686/71 671/1690/71 667/1684/71 -f 671/1690/71 665/1691/71 667/1684/71 -f 672/1692/72 670/1687/72 666/1693/72 -f 670/1687/72 668/1685/72 666/1693/72 -f 671/1694/73 672/1695/73 665/1696/73 -f 672/1695/73 666/1697/73 665/1696/73 -f 667/1698/74 668/1699/74 669/1700/74 -f 668/1699/74 670/1701/74 669/1700/74 -f 673/1702/45 674/1703/45 675/1704/45 -f 674/1703/45 676/1705/45 675/1704/45 -f 677/1706/46 678/1707/46 679/1708/46 -f 678/1707/46 680/1709/46 679/1708/46 -f 677/1706/47 679/1710/47 675/1704/47 -f 679/1710/47 673/1711/47 675/1704/47 -f 680/1712/48 678/1707/48 674/1713/48 -f 678/1707/48 676/1705/48 674/1713/48 -f 679/1714/49 680/1715/49 673/1716/49 -f 680/1715/49 674/1717/49 673/1716/49 -f 675/1718/50 676/1719/50 677/1720/50 -f 676/1719/50 678/1721/50 677/1720/50 -f 681/1722/45 682/1723/45 683/1724/45 -f 682/1723/45 684/1725/45 683/1724/45 -f 685/1726/46 686/1727/46 687/1728/46 -f 686/1727/46 688/1729/46 687/1728/46 -f 685/1726/47 687/1730/47 683/1724/47 -f 687/1730/47 681/1731/47 683/1724/47 -f 688/1732/48 686/1727/48 682/1733/48 -f 686/1727/48 684/1725/48 682/1733/48 -f 687/1734/49 688/1735/49 681/1736/49 -f 688/1735/49 682/1737/49 681/1736/49 -f 683/1738/50 684/1739/50 685/1740/50 -f 684/1739/50 686/1741/50 685/1740/50 -f 689/1742/45 690/1743/45 691/1744/45 -f 690/1743/45 692/1745/45 691/1744/45 -f 693/1746/46 694/1747/46 695/1748/46 -f 694/1747/46 696/1749/46 695/1748/46 -f 693/1746/51 695/1750/51 691/1744/51 -f 695/1750/51 689/1751/51 691/1744/51 -f 696/1752/52 694/1747/52 690/1753/52 -f 694/1747/52 692/1745/52 690/1753/52 -f 695/1754/53 696/1755/53 689/1756/53 -f 696/1755/53 690/1757/53 689/1756/53 -f 691/1758/54 692/1759/54 693/1760/54 -f 692/1759/54 694/1761/54 693/1760/54 -f 697/1762/59 698/1763/59 699/1764/59 -f 698/1763/59 700/1765/59 699/1764/59 -f 701/1766/60 702/1767/60 703/1768/60 -f 702/1767/60 704/1769/60 703/1768/60 -f 701/1766/61 703/1770/61 699/1764/61 -f 703/1770/61 697/1771/61 699/1764/61 -f 704/1772/62 702/1767/62 698/1773/62 -f 702/1767/62 700/1765/62 698/1773/62 -f 703/1774/49 704/1775/49 697/1776/49 -f 704/1775/49 698/1777/49 697/1776/49 -f 699/1778/50 700/1779/50 701/1780/50 -f 700/1779/50 702/1781/50 701/1780/50 -f 705/1782/67 706/1783/67 707/1784/67 -f 706/1783/67 708/1785/67 707/1784/67 -f 709/1786/68 710/1787/68 711/1788/68 -f 710/1787/68 712/1789/68 711/1788/68 -f 709/1786/69 711/1790/69 707/1784/69 -f 711/1790/69 705/1791/69 707/1784/69 -f 712/1792/70 710/1787/70 706/1793/70 -f 710/1787/70 708/1785/70 706/1793/70 -f 711/1794/49 712/1795/49 705/1796/49 -f 712/1795/49 706/1797/49 705/1796/49 -f 707/1798/50 708/1799/50 709/1800/50 -f 708/1799/50 710/1801/50 709/1800/50 -f 713/1802/67 714/1803/67 715/1804/67 -f 714/1803/67 716/1805/67 715/1804/67 -f 717/1806/68 718/1807/68 719/1808/68 -f 718/1807/68 720/1809/68 719/1808/68 -f 717/1806/69 719/1810/69 715/1804/69 -f 719/1810/69 713/1811/69 715/1804/69 -f 720/1812/70 718/1807/70 714/1813/70 -f 718/1807/70 716/1805/70 714/1813/70 -f 719/1814/49 720/1815/49 713/1816/49 -f 720/1815/49 714/1817/49 713/1816/49 -f 715/1818/50 716/1819/50 717/1820/50 -f 716/1819/50 718/1821/50 717/1820/50 -f 721/1822/59 722/1823/59 723/1824/59 -f 722/1823/59 724/1825/59 723/1824/59 -f 725/1826/60 726/1827/60 727/1828/60 -f 726/1827/60 728/1829/60 727/1828/60 -f 725/1826/61 727/1830/61 723/1824/61 -f 727/1830/61 721/1831/61 723/1824/61 -f 728/1832/62 726/1827/62 722/1833/62 -f 726/1827/62 724/1825/62 722/1833/62 -f 727/1834/49 728/1835/49 721/1836/49 -f 728/1835/49 722/1837/49 721/1836/49 -f 723/1838/50 724/1839/50 725/1840/50 -f 724/1839/50 726/1841/50 725/1840/50 -f 729/1842/45 730/1843/45 731/1844/45 -f 730/1843/45 732/1845/45 731/1844/45 -f 733/1846/46 734/1847/46 735/1848/46 -f 734/1847/46 736/1849/46 735/1848/46 -f 733/1846/47 735/1850/47 731/1844/47 -f 735/1850/47 729/1851/47 731/1844/47 -f 736/1852/48 734/1847/48 730/1853/48 -f 734/1847/48 732/1845/48 730/1853/48 -f 735/1854/49 736/1855/49 729/1856/49 -f 736/1855/49 730/1857/49 729/1856/49 -f 731/1858/50 732/1859/50 733/1860/50 -f 732/1859/50 734/1861/50 733/1860/50 +f 229/346/74 231/347/74 223/348/74 +f 205/349/74 216/350/74 204/351/74 +f 203/352/74 216/353/74 215/354/74 +f 202/355/74 215/356/74 214/357/74 +f 202/355/74 213/358/74 201/359/74 +f 200/360/74 213/361/74 212/362/74 +f 200/360/74 211/363/74 199/364/74 +f 210/365/74 211/366/74 222/367/74 +f 210/365/74 221/368/74 209/369/74 +f 208/370/74 221/371/74 220/372/74 +f 208/370/74 219/373/74 207/374/74 +f 207/374/74 218/375/74 206/376/74 +f 205/377/74 218/378/74 217/379/74 +f 245/380/75 253/381/75 252/382/75 +f 246/383/75 247/384/75 253/381/75 +f 235/385/75 248/386/75 247/384/75 +f 236/387/75 249/388/75 248/386/75 +f 238/389/75 249/388/75 237/390/75 +f 240/391/75 298/392/75 239/393/75 +f 244/394/75 252/382/75 251/395/75 +f 260/396/74 271/397/74 259/398/74 +f 254/399/74 272/400/74 260/396/74 +f 255/401/74 261/402/74 254/399/74 +f 256/403/74 262/404/74 255/401/74 +f 257/405/74 263/406/74 256/403/74 +f 250/407/75 239/393/75 297/408/75 +f 303/409/75 243/410/75 251/395/75 +f 242/411/75 302/412/75 301/413/75 +f 241/414/75 301/413/75 300/415/75 +f 241/414/75 299/416/75 240/391/75 +f 259/398/74 270/417/74 258/418/74 +f 304/419/74 265/420/74 257/405/74 +f 258/418/74 270/417/74 269/421/74 +f 268/422/74 309/423/74 269/421/74 +f 267/424/74 308/425/74 268/422/74 +f 306/426/74 267/424/74 266/427/74 +f 305/428/74 266/427/74 265/420/74 +f 385/429/75 381/430/75 377/431/75 +f 373/432/75 369/433/75 365/434/75 +f 194/435/74 283/436/74 195/437/74 +f 193/438/74 284/439/74 194/435/74 +f 192/440/74 273/441/74 193/438/74 +f 191/442/74 274/443/74 192/440/74 +f 190/444/74 275/445/74 191/442/74 +f 195/437/74 282/446/74 196/447/74 +f 315/448/74 282/446/74 324/449/74 +f 276/450/74 314/451/74 318/452/74 +f 313/453/74 190/444/74 189/454/74 +f 188/455/74 313/453/74 189/454/74 +f 187/456/74 312/457/74 188/455/74 +f 198/458/74 311/459/74 187/456/74 +f 197/460/74 317/461/74 198/458/74 +f 196/447/74 316/462/74 197/460/74 +f 323/463/74 282/446/74 281/464/74 +f 280/465/74 323/463/74 281/464/74 +f 279/466/74 322/467/74 280/465/74 +f 320/468/74 279/466/74 278/469/74 +f 319/470/74 278/469/74 277/471/74 +f 318/452/74 277/471/74 276/450/74 +f 346/472/75 351/473/75 345/474/75 +f 351/473/75 344/475/75 345/474/75 +f 344/475/75 353/476/75 343/477/75 +f 353/476/75 342/478/75 343/477/75 +f 361/479/75 346/472/75 347/480/75 +f 360/481/75 347/480/75 348/482/75 +f 360/481/75 330/483/75 333/484/75 +f 328/485/75 354/486/75 332/487/75 +f 341/488/75 328/485/75 327/489/75 +f 340/490/75 327/489/75 325/491/75 +f 339/492/75 325/491/75 326/493/75 +f 331/494/75 339/492/75 326/493/75 +f 349/495/75 331/494/75 329/496/75 +f 330/483/75 349/495/75 329/496/75 +f 359/497/75 333/484/75 338/498/75 +f 358/499/75 338/498/75 337/500/75 +f 336/501/75 358/499/75 337/500/75 +f 356/502/75 336/501/75 335/503/75 +f 334/504/75 356/502/75 335/503/75 +f 332/487/75 355/505/75 334/504/75 +f 392/506/74 387/507/74 389/508/74 +f 399/509/76 396/510/76 401/511/76 +f 408/512/74 403/513/74 405/514/74 +f 416/515/77 414/516/77 417/517/77 +f 424/518/77 422/519/77 420/520/77 +f 421/521/76 423/522/76 419/523/76 +f 429/524/76 423/522/76 425/525/76 +f 424/518/77 430/526/77 426/527/77 +f 402/528/76 445/529/76 398/530/76 +f 418/531/77 446/532/77 448/533/77 +f 392/534/77 389/535/77 395/536/77 +f 443/537/78 450/538/78 444/539/78 +f 444/540/77 450/538/77 400/541/77 +f 449/542/76 412/543/76 410/544/76 +f 392/534/79 449/542/79 407/545/79 +f 415/546/76 449/542/76 443/547/76 +f 451/548/74 459/549/74 454/550/74 +f 476/551/77 480/552/77 478/553/77 +f 473/554/76 475/555/76 471/556/76 +f 472/557/77 478/553/77 474/558/77 +f 477/559/76 479/560/76 475/555/76 +f 223/348/74 224/561/74 227/562/74 +f 224/561/74 225/563/74 227/562/74 +f 225/563/74 226/564/74 227/562/74 +f 227/562/74 228/565/74 229/346/74 +f 229/346/74 230/566/74 231/347/74 +f 231/347/74 232/567/74 233/568/74 +f 233/568/74 234/569/74 231/347/74 +f 234/569/74 223/348/74 231/347/74 +f 227/562/74 229/346/74 223/348/74 +f 205/349/74 217/570/74 216/350/74 +f 203/352/74 204/351/74 216/353/74 +f 202/355/74 203/352/74 215/356/74 +f 202/355/74 214/571/74 213/358/74 +f 200/360/74 201/359/74 213/361/74 +f 200/360/74 212/572/74 211/363/74 +f 210/365/74 199/364/74 211/366/74 +f 210/365/74 222/573/74 221/368/74 +f 208/370/74 209/369/74 221/371/74 +f 208/370/74 220/574/74 219/373/74 +f 207/374/74 219/575/74 218/375/74 +f 205/377/74 206/376/74 218/378/74 +f 245/380/75 246/383/75 253/381/75 +f 246/383/75 235/385/75 247/384/75 +f 235/385/75 236/387/75 248/386/75 +f 236/387/75 237/390/75 249/388/75 +f 238/389/75 250/407/75 249/388/75 +f 240/391/75 299/416/75 298/392/75 +f 244/394/75 245/380/75 252/382/75 +f 260/396/74 272/400/74 271/397/74 +f 254/399/74 261/402/74 272/400/74 +f 255/401/74 262/404/74 261/402/74 +f 256/403/74 263/406/74 262/404/74 +f 257/405/74 264/576/74 263/406/74 +f 238/389/75 239/393/75 250/407/75 +f 239/393/75 298/392/75 297/408/75 +f 302/412/75 243/410/75 303/409/75 +f 243/410/75 244/394/75 251/395/75 +f 242/411/75 243/410/75 302/412/75 +f 241/414/75 242/411/75 301/413/75 +f 241/414/75 300/415/75 299/416/75 +f 259/398/74 271/397/74 270/417/74 +f 305/428/74 265/420/74 304/419/74 +f 265/420/74 264/576/74 257/405/74 +f 309/423/74 310/577/74 269/421/74 +f 310/577/74 258/418/74 269/421/74 +f 268/422/74 308/425/74 309/423/74 +f 267/424/74 307/578/74 308/425/74 +f 306/426/74 307/578/74 267/424/74 +f 305/428/74 306/426/74 266/427/74 +f 377/431/75 376/579/75 375/580/75 +f 375/580/75 386/581/75 377/431/75 +f 386/581/75 385/429/75 377/431/75 +f 385/429/75 384/582/75 381/430/75 +f 384/582/75 383/583/75 381/430/75 +f 383/583/75 382/584/75 381/430/75 +f 381/430/75 380/585/75 379/586/75 +f 379/586/75 378/587/75 381/430/75 +f 378/587/75 377/431/75 381/430/75 +f 365/434/75 364/588/75 363/589/75 +f 363/589/75 374/590/75 365/434/75 +f 374/590/75 373/432/75 365/434/75 +f 373/432/75 372/591/75 369/433/75 +f 372/591/75 371/592/75 369/433/75 +f 371/592/75 370/593/75 369/433/75 +f 369/433/75 368/594/75 367/595/75 +f 367/595/75 366/596/75 369/433/75 +f 366/596/75 365/434/75 369/433/75 +f 194/435/74 284/439/74 283/436/74 +f 193/438/74 273/441/74 284/439/74 +f 192/440/74 274/443/74 273/441/74 +f 191/442/74 275/445/74 274/443/74 +f 190/444/74 276/450/74 275/445/74 +f 195/437/74 283/436/74 282/446/74 +f 315/448/74 196/447/74 282/446/74 +f 276/450/74 190/444/74 314/451/74 +f 313/453/74 314/451/74 190/444/74 +f 188/455/74 312/457/74 313/453/74 +f 187/456/74 311/459/74 312/457/74 +f 198/458/74 317/461/74 311/459/74 +f 197/460/74 316/462/74 317/461/74 +f 196/447/74 315/448/74 316/462/74 +f 323/463/74 324/449/74 282/446/74 +f 280/465/74 322/467/74 323/463/74 +f 279/466/74 321/597/74 322/467/74 +f 320/468/74 321/597/74 279/466/74 +f 319/470/74 320/468/74 278/469/74 +f 318/452/74 319/470/74 277/471/74 +f 346/472/75 362/598/75 351/473/75 +f 351/473/75 352/599/75 344/475/75 +f 344/475/75 352/599/75 353/476/75 +f 353/476/75 354/486/75 342/478/75 +f 361/479/75 362/598/75 346/472/75 +f 360/481/75 361/479/75 347/480/75 +f 360/481/75 348/482/75 330/483/75 +f 328/485/75 342/478/75 354/486/75 +f 341/488/75 342/478/75 328/485/75 +f 340/490/75 341/488/75 327/489/75 +f 339/492/75 340/490/75 325/491/75 +f 331/494/75 350/600/75 339/492/75 +f 349/495/75 350/600/75 331/494/75 +f 330/483/75 348/482/75 349/495/75 +f 359/497/75 360/481/75 333/484/75 +f 358/499/75 359/497/75 338/498/75 +f 336/501/75 357/601/75 358/499/75 +f 356/502/75 357/601/75 336/501/75 +f 334/504/75 355/505/75 356/502/75 +f 332/487/75 354/486/75 355/505/75 +f 392/506/74 391/602/74 387/507/74 +f 388/603/76 387/507/76 394/604/76 +f 387/507/76 391/602/76 394/604/76 +f 391/602/76 393/605/76 394/604/76 +f 393/605/76 401/511/76 396/510/76 +f 394/604/76 393/605/76 396/510/76 +f 401/511/76 402/528/76 398/530/76 +f 398/530/76 399/509/76 401/511/76 +f 408/512/74 407/606/74 403/513/74 +f 408/512/77 405/514/77 411/607/77 +f 405/514/77 406/608/77 411/607/77 +f 411/607/77 413/609/77 409/610/77 +f 413/609/77 416/515/77 417/517/77 +f 417/517/77 409/610/77 413/609/77 +f 409/610/77 408/512/77 411/607/77 +f 414/516/77 418/531/77 417/517/77 +f 424/518/77 426/527/77 422/519/77 +f 421/521/76 425/525/76 423/522/76 +f 429/524/76 427/611/76 423/522/76 +f 424/518/77 428/612/77 430/526/77 +f 402/528/76 447/613/76 445/529/76 +f 418/531/77 414/516/77 446/532/77 +f 389/535/77 390/614/77 395/536/77 +f 395/536/77 397/615/77 450/538/77 +f 397/615/77 400/541/77 450/538/77 +f 450/538/77 392/534/77 395/536/77 +f 443/537/78 449/542/78 450/538/78 +f 410/544/76 404/616/76 403/617/76 +f 403/617/76 407/545/76 410/544/76 +f 407/545/76 449/542/76 410/544/76 +f 449/542/76 415/546/76 412/543/76 +f 392/534/79 450/538/79 449/542/79 +f 454/550/74 453/618/74 463/619/74 +f 463/619/74 464/620/74 451/548/74 +f 451/548/74 452/621/74 459/549/74 +f 459/549/74 460/622/74 454/550/74 +f 454/550/74 463/619/74 451/548/74 +f 473/554/76 477/559/76 475/555/76 +f 472/557/77 476/551/77 478/553/77 +s 1 +f 193/623/80 204/351/81 192/624/81 +f 192/624/81 203/352/82 191/625/82 +f 191/625/82 202/355/77 190/626/77 +f 190/626/77 201/359/83 189/627/83 +f 189/627/83 200/360/84 188/628/84 +f 188/628/84 199/364/79 187/629/79 +f 187/629/79 210/365/85 198/630/85 +f 198/630/85 209/369/86 197/631/86 +f 197/631/86 208/370/76 196/632/76 +f 196/632/76 207/374/87 195/633/87 +f 195/633/87 206/376/88 194/634/88 +f 194/634/88 205/377/80 193/635/80 +f 214/636/76 225/637/87 213/638/87 +f 221/639/82 232/640/77 220/641/77 +f 218/642/84 229/643/79 217/644/79 +f 215/645/86 226/646/76 214/636/76 +f 222/647/81 233/648/82 221/639/82 +f 212/649/88 223/650/80 211/651/80 +f 219/652/83 230/653/84 218/642/84 +f 216/654/85 227/655/86 215/645/86 +f 211/651/80 234/656/81 222/647/81 +f 213/638/87 224/657/88 212/649/88 +f 220/641/77 231/658/83 219/652/83 +f 217/659/79 228/660/85 216/654/85 +f 253/661/85 259/662/86 252/663/86 +f 248/664/84 254/665/79 247/666/79 +f 247/666/79 260/667/85 253/661/85 +f 249/668/83 255/669/84 248/664/84 +f 250/670/89 256/671/83 249/668/83 +f 252/663/86 258/672/90 251/673/90 +f 303/674/91 258/672/90 310/675/91 +f 279/676/80 290/677/81 278/678/81 +f 278/678/81 289/679/82 277/680/82 +f 277/680/82 288/681/77 276/682/77 +f 276/682/77 287/683/83 275/684/83 +f 275/684/83 286/685/84 274/686/84 +f 274/686/84 285/687/79 273/688/79 +f 273/688/79 296/689/85 284/690/85 +f 284/690/85 295/691/86 283/692/86 +f 283/692/86 294/693/76 282/694/76 +f 282/694/76 293/695/87 281/696/87 +f 281/696/87 292/697/88 280/698/88 +f 280/698/88 291/699/80 279/700/80 +f 304/701/92 250/670/89 297/702/92 +f 301/703/88 307/704/80 300/705/80 +f 298/706/82 304/701/92 297/702/92 +f 302/707/87 308/708/88 301/703/88 +f 299/709/81 305/710/82 298/706/82 +f 303/674/91 309/711/87 302/707/87 +f 300/712/80 306/713/81 299/709/81 +f 319/714/82 335/715/81 320/716/81 +f 313/717/83 328/718/89 314/719/89 +f 320/716/81 336/720/80 321/721/80 +f 315/722/90 329/723/86 316/724/86 +f 321/725/80 337/726/88 322/727/88 +f 316/724/86 331/728/85 317/729/85 +f 322/727/88 338/730/87 323/731/87 +f 317/729/85 326/732/79 311/733/79 +f 323/731/87 333/734/91 324/735/91 +f 314/719/89 332/736/92 318/737/92 +f 324/735/91 330/738/90 315/722/90 +f 311/733/79 325/739/84 312/740/84 +f 318/737/92 334/741/82 319/714/82 +f 312/740/84 327/742/83 313/717/83 +f 374/743/81 339/744/80 350/745/81 +f 367/746/86 344/747/85 343/748/86 +f 382/749/84 359/750/83 358/751/84 +f 375/752/80 352/753/88 351/754/80 +f 368/755/85 345/756/79 344/747/85 +f 383/757/83 360/758/77 359/750/83 +f 376/759/88 353/760/87 352/753/88 +f 369/761/79 346/762/84 345/763/79 +f 384/764/77 361/765/82 360/758/77 +f 377/766/87 354/767/76 353/760/87 +f 370/768/84 347/769/83 346/762/84 +f 385/770/82 362/771/81 361/765/82 +f 363/772/80 340/773/88 339/744/80 +f 378/774/76 355/775/86 354/767/76 +f 371/776/83 348/777/77 347/769/83 +f 386/778/81 351/754/80 362/771/81 +f 364/779/88 341/780/87 340/773/88 +f 379/781/86 356/782/85 355/775/86 +f 372/783/77 349/784/82 348/777/77 +f 365/785/87 342/786/76 341/780/87 +f 380/787/85 357/788/79 356/782/85 +f 373/789/82 350/745/81 349/784/82 +f 366/790/76 343/748/86 342/786/76 +f 381/791/79 358/751/84 357/792/79 +f 390/793/93 387/507/79 388/603/93 +f 394/794/93 390/793/93 388/603/93 +f 396/795/94 395/796/93 394/794/93 +f 399/797/95 397/798/94 396/795/94 +f 407/799/96 393/800/97 392/801/96 +f 406/608/93 403/802/79 404/803/93 +f 410/804/93 406/608/93 404/803/93 +f 412/805/94 411/806/93 410/804/93 +f 415/807/95 413/808/94 412/805/94 +f 414/809/95 443/810/98 446/811/99 +f 401/812/100 441/813/101 402/814/100 +f 423/815/102 428/816/103 424/817/102 +f 426/527/104 429/818/105 425/525/104 +f 430/819/105 427/820/103 429/818/105 +f 435/821/80 423/522/102 424/822/102 +f 426/527/104 425/525/104 438/823/79 +f 442/824/101 417/825/100 418/826/100 +f 401/812/100 393/800/97 439/827/101 +f 399/797/95 444/828/98 400/829/95 +f 443/810/98 416/830/95 415/807/95 +f 443/810/98 445/831/99 446/811/99 +f 402/814/100 441/813/101 447/613/106 +f 445/831/99 444/828/98 398/832/95 +f 441/813/101 448/833/106 447/613/106 +f 448/833/106 442/824/101 418/826/100 +f 458/834/107 467/835/108 455/836/109 +f 454/550/110 455/836/109 453/618/111 +f 451/837/112 457/838/113 452/839/114 +f 458/834/107 460/840/115 462/841/116 +f 455/836/109 463/842/117 453/618/111 +f 459/843/118 462/841/116 460/840/115 +f 466/844/119 467/845/108 468/846/120 +f 452/839/114 461/847/121 459/843/118 +f 464/848/122 465/849/123 466/844/119 +f 451/850/112 466/844/119 456/851/124 +f 465/849/123 455/836/109 467/845/108 +f 467/835/108 469/852/125 468/853/120 +f 456/854/124 469/852/125 457/855/113 +f 468/846/120 456/851/124 466/844/119 +f 461/847/121 470/856/126 462/841/116 +f 458/834/107 462/841/116 470/856/126 +f 457/838/113 469/857/125 461/847/121 +f 474/558/74 477/559/127 473/554/74 +f 471/858/75 476/551/128 472/557/75 +f 478/553/127 479/560/129 477/559/127 +f 475/859/128 480/860/130 476/551/128 +f 440/861/101 409/862/97 417/825/100 +f 393/800/97 440/861/101 439/827/101 +f 409/862/97 407/799/96 408/863/96 +f 393/800/97 391/864/96 392/801/96 +f 193/623/80 205/349/80 204/351/81 +f 192/624/81 204/351/81 203/352/82 +f 191/625/82 203/352/82 202/355/77 +f 190/626/77 202/355/77 201/359/83 +f 189/627/83 201/359/83 200/360/84 +f 188/628/84 200/360/84 199/364/79 +f 187/629/79 199/364/79 210/365/85 +f 198/630/85 210/365/85 209/369/86 +f 197/631/86 209/369/86 208/370/76 +f 196/632/76 208/370/76 207/374/87 +f 195/633/87 207/374/87 206/376/88 +f 194/634/88 206/376/88 205/377/80 +f 214/636/76 226/646/76 225/637/87 +f 221/639/82 233/648/82 232/640/77 +f 218/642/84 230/653/84 229/643/79 +f 215/645/86 227/655/86 226/646/76 +f 222/647/81 234/656/81 233/648/82 +f 212/649/88 224/657/88 223/650/80 +f 219/652/83 231/658/83 230/653/84 +f 216/654/85 228/660/85 227/655/86 +f 211/651/80 223/650/80 234/656/81 +f 213/638/87 225/637/87 224/657/88 +f 220/641/77 232/640/77 231/658/83 +f 217/659/79 229/865/79 228/660/85 +f 253/661/85 260/667/85 259/662/86 +f 248/664/84 255/669/84 254/665/79 +f 247/666/79 254/665/79 260/667/85 +f 249/668/83 256/671/83 255/669/84 +f 250/670/89 257/866/89 256/671/83 +f 252/663/86 259/662/86 258/672/90 +f 303/674/91 251/673/90 258/672/90 +f 279/676/80 291/867/80 290/677/81 +f 278/678/81 290/677/81 289/679/82 +f 277/680/82 289/679/82 288/681/77 +f 276/682/77 288/681/77 287/683/83 +f 275/684/83 287/683/83 286/685/84 +f 274/686/84 286/685/84 285/687/79 +f 273/688/79 285/687/79 296/689/85 +f 284/690/85 296/689/85 295/691/86 +f 283/692/86 295/691/86 294/693/76 +f 282/694/76 294/693/76 293/695/87 +f 281/696/87 293/695/87 292/697/88 +f 280/698/88 292/697/88 291/699/80 +f 304/701/92 257/866/89 250/670/89 +f 301/703/88 308/708/88 307/704/80 +f 298/706/82 305/710/82 304/701/92 +f 302/707/87 309/711/87 308/708/88 +f 299/709/81 306/713/81 305/710/82 +f 303/674/91 310/675/91 309/711/87 +f 300/712/80 307/868/80 306/713/81 +f 319/714/82 334/741/82 335/715/81 +f 313/717/83 327/742/83 328/718/89 +f 320/716/81 335/715/81 336/720/80 +f 315/722/90 330/738/90 329/723/86 +f 321/725/80 336/869/80 337/726/88 +f 316/724/86 329/723/86 331/728/85 +f 322/727/88 337/726/88 338/730/87 +f 317/729/85 331/728/85 326/732/79 +f 323/731/87 338/730/87 333/734/91 +f 314/719/89 328/718/89 332/736/92 +f 324/735/91 333/734/91 330/738/90 +f 311/733/79 326/732/79 325/739/84 +f 318/737/92 332/736/92 334/741/82 +f 312/740/84 325/739/84 327/742/83 +f 374/743/81 363/772/80 339/744/80 +f 367/746/86 368/755/85 344/747/85 +f 382/749/84 383/757/83 359/750/83 +f 375/752/80 376/759/88 352/753/88 +f 368/755/85 369/870/79 345/756/79 +f 383/757/83 384/764/77 360/758/77 +f 376/759/88 377/766/87 353/760/87 +f 369/761/79 370/768/84 346/762/84 +f 384/764/77 385/770/82 361/765/82 +f 377/766/87 378/774/76 354/767/76 +f 370/768/84 371/776/83 347/769/83 +f 385/770/82 386/778/81 362/771/81 +f 363/772/80 364/779/88 340/773/88 +f 378/774/76 379/781/86 355/775/86 +f 371/776/83 372/783/77 348/777/77 +f 386/778/81 375/752/80 351/754/80 +f 364/779/88 365/785/87 341/780/87 +f 379/781/86 380/787/85 356/782/85 +f 372/783/77 373/789/82 349/784/82 +f 365/785/87 366/790/76 342/786/76 +f 380/787/85 381/871/79 357/788/79 +f 373/789/82 374/743/81 350/745/81 +f 366/790/76 367/746/86 343/748/86 +f 381/791/79 382/749/84 358/751/84 +f 390/793/93 389/872/79 387/507/79 +f 394/794/93 395/796/93 390/793/93 +f 396/795/94 397/798/94 395/796/93 +f 399/797/95 400/829/95 397/798/94 +f 407/799/96 409/862/97 393/800/97 +f 406/608/93 405/514/79 403/802/79 +f 410/804/93 411/806/93 406/608/93 +f 412/805/94 413/808/94 411/806/93 +f 415/807/95 416/830/95 413/808/94 +f 401/812/100 439/827/101 441/813/101 +f 423/815/102 427/820/103 428/816/103 +f 426/527/104 430/819/105 429/818/105 +f 430/819/105 428/816/103 427/820/103 +f 424/822/102 420/873/80 437/874/80 +f 420/873/80 433/875/80 437/874/80 +f 431/876/80 419/523/80 435/821/80 +f 419/523/80 423/522/102 435/821/80 +f 424/822/102 437/874/80 435/821/80 +f 425/525/104 421/521/79 436/877/79 +f 421/521/79 432/878/79 436/877/79 +f 434/879/79 422/519/79 438/823/79 +f 422/519/79 426/527/104 438/823/79 +f 425/525/104 436/877/79 438/823/79 +f 442/824/101 440/861/101 417/825/100 +f 399/797/95 398/832/95 444/828/98 +f 443/810/98 414/809/95 416/830/95 +f 443/810/98 444/828/98 445/831/99 +f 441/813/101 442/824/101 448/833/106 +f 458/834/107 470/880/126 467/835/108 +f 454/550/110 458/834/107 455/836/109 +f 451/837/112 456/881/124 457/838/113 +f 458/834/107 454/550/110 460/840/115 +f 455/836/109 465/849/123 463/842/117 +f 459/843/118 461/847/121 462/841/116 +f 466/844/119 465/849/123 467/845/108 +f 452/839/114 457/838/113 461/847/121 +f 464/848/122 463/842/117 465/849/123 +f 451/850/112 464/848/122 466/844/119 +f 467/835/108 470/880/126 469/852/125 +f 456/854/124 468/853/120 469/852/125 +f 461/847/121 469/857/125 470/856/126 +f 474/558/74 478/553/127 477/559/127 +f 471/858/75 475/859/128 476/551/128 +f 478/553/127 480/552/129 479/560/129 +f 475/859/128 479/882/130 480/860/130 +f 393/800/97 409/862/97 440/861/101 diff --git a/src/main/resources/assets/hbm/models/weapons/mas36.obj b/src/main/resources/assets/hbm/models/weapons/mas36.obj new file mode 100644 index 000000000..a6d7e2e54 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/mas36.obj @@ -0,0 +1,7278 @@ +# Blender v2.79 (sub 0) OBJ File: 'mas36.blend' +# www.blender.org +o Gun +v 0.312500 0.781250 6.187500 +v 0.125000 0.593750 6.187500 +v 0.250000 0.781250 6.187500 +v 0.250000 1.156250 6.187500 +v -0.250000 1.343750 6.187500 +v -0.250000 1.156250 6.187500 +v -0.312500 1.156250 6.187500 +v 0.250000 1.343750 6.187500 +v 0.187500 1.343750 6.187500 +v -0.312500 1.156250 3.875000 +v -0.250000 0.656250 3.875000 +v -0.250000 1.156250 3.875000 +v 0.250000 0.656250 3.875000 +v 0.312500 1.156250 3.875000 +v 0.250000 1.156250 3.875000 +v 0.250000 1.343750 3.875000 +v -0.250000 1.343750 3.875000 +v -0.187500 1.343750 3.875000 +v 0.000000 1.468750 3.875000 +v 0.000000 1.406250 3.875000 +v 0.187500 1.343750 3.875000 +v -0.125000 0.406250 3.875000 +v 0.125000 0.468750 3.875000 +v -0.125000 0.468750 3.875000 +v 0.312500 0.656250 3.875000 +v -0.312500 0.656250 3.875000 +v 0.250000 1.343750 3.562500 +v 0.250000 1.156250 3.562500 +v 0.187500 1.343750 3.562500 +v 0.000000 1.468750 3.562500 +v 0.000000 1.406250 3.562500 +v -0.187500 1.343750 3.562500 +v -0.250000 1.156250 3.562500 +v -0.250000 1.343750 3.562500 +v -0.312500 1.156250 3.562500 +v -0.250000 0.656250 3.562500 +v -0.312500 0.656250 3.562500 +v 0.250000 0.656250 3.562500 +v 0.312500 1.156250 3.562500 +v 0.312500 0.656250 3.562500 +v 0.125000 0.468750 3.562500 +v -0.125000 0.406250 3.562500 +v -0.125000 0.468750 3.562500 +v 0.125000 0.406250 3.562500 +v -0.125000 0.531250 6.187500 +v -0.125000 0.593750 6.187500 +v -0.312500 0.781250 6.187500 +v -0.250000 0.781250 6.187500 +v 0.187500 0.218750 0.375000 +v 0.250000 0.343750 0.312500 +v 0.250000 0.343750 0.375000 +v -0.250000 0.343750 0.312500 +v -0.187500 0.218750 0.375000 +v -0.250000 0.343750 0.375000 +v 0.187500 0.093750 0.125000 +v 0.187500 0.031250 -1.562500 +v 0.187500 0.218750 0.187500 +v 0.250000 0.031250 -1.687500 +v -0.187500 0.031250 -1.562500 +v -0.250000 0.031250 -1.687500 +v 0.250000 -0.093750 -2.937500 +v -0.250000 -0.093750 -2.937500 +v 0.250000 0.843750 0.312500 +v 0.187500 0.781250 0.187500 +v 0.250000 0.843750 -1.687500 +v 0.187500 0.781250 -1.562500 +v 0.250000 0.906250 0.375000 +v 0.250000 0.906250 -3.062500 +v -0.187500 -0.093750 -1.562500 +v -0.187500 0.093750 0.125000 +v -0.187500 0.218750 0.187500 +v 0.187500 -0.093750 -1.562500 +v 0.108253 1.218750 -0.062500 +v 0.000000 1.031250 -0.062500 +v -0.108253 1.218750 -0.062500 +v 0.108253 1.218750 -0.187500 +v 0.093750 1.318630 -0.187500 +v 0.162380 1.250000 -0.187500 +v -0.108253 1.218750 -0.187500 +v -0.187500 1.156250 -0.187500 +v -0.162380 1.250000 -0.187500 +v 0.000000 1.281250 -0.187500 +v -0.093750 1.318630 -0.187500 +v 0.000000 1.343750 -0.187500 +v -0.062500 1.264503 -0.187500 +v 0.162380 1.250000 -1.062500 +v 0.108253 1.218750 -1.062500 +v 0.093750 0.993870 -3.062500 +v 0.187500 1.031250 -3.000000 +v 0.187500 1.031250 -3.062500 +v -0.250000 0.906250 0.375000 +v -0.187500 1.031250 0.375000 +v -0.187500 1.031250 -2.750000 +v -0.062500 1.406250 -1.750000 +v 0.062500 1.406250 -2.750000 +v -0.062500 1.406250 -2.750000 +v -0.125000 1.406250 -1.562500 +v -0.125000 1.281250 -1.687500 +v -0.125000 1.281250 -1.562500 +v 0.125000 1.406250 -1.562500 +v 0.125000 1.281250 -1.687500 +v 0.125000 1.406250 -1.687500 +v -0.125000 1.406250 -1.687500 +v -0.062500 1.343750 -1.750000 +v 0.062500 1.343750 -1.750000 +v -0.062500 1.406250 -1.625000 +v -0.062500 1.406250 -1.562500 +v 0.062500 1.406250 -1.625000 +v 0.062500 1.406250 -1.562500 +v 0.062500 1.406250 -1.750000 +v 0.062500 1.343750 -2.750000 +v -0.062500 1.343750 -2.750000 +v 0.108253 1.218750 -1.750000 +v -0.108253 1.218750 -1.750000 +v 0.000000 1.031250 -1.750000 +v -0.062500 1.264503 -1.625000 +v 0.000000 1.281250 -1.625000 +v -0.062500 1.264503 -1.562500 +v 0.062500 1.264503 -1.562500 +v 0.125000 1.281250 -1.562500 +v -0.108253 1.218750 -1.562500 +v -0.187500 1.156250 -1.562500 +v 0.108253 1.218750 -1.562500 +v 0.187500 1.156250 -1.562500 +v 0.125000 1.156250 -1.562500 +v -0.187500 1.093750 -1.500000 +v -0.187500 1.093750 -0.250000 +v -0.187500 1.156250 0.437500 +v -0.187500 1.156250 -2.750000 +v 0.187500 1.031250 0.375000 +v 0.187500 1.156250 -1.125000 +v 0.187500 1.156250 0.437500 +v 0.187500 1.093750 -1.250000 +v -0.183909 0.781250 -1.561136 +v -0.187500 0.781250 0.187500 +v -0.250000 0.843750 0.312500 +v -0.250000 0.843750 -1.687500 +v -0.250000 0.906250 -3.062500 +v -0.054127 1.125000 7.750000 +v 0.054127 1.125000 7.750000 +v 0.000000 1.218750 7.750000 +v 0.000000 1.281250 8.000000 +v -0.031250 1.210377 8.000000 +v 0.000000 1.218750 8.000000 +v -0.062500 1.264503 8.000000 +v -0.054127 1.187500 8.000000 +v -0.125000 1.156250 8.000000 +v -0.108253 1.218750 8.000000 +v -0.108253 1.093750 8.000000 +v -0.062500 1.156250 8.000000 +v -0.062500 1.047997 8.000000 +v -0.054127 1.125000 8.000000 +v 0.000000 1.031250 8.000000 +v -0.031250 1.102123 8.000000 +v 0.031250 1.102123 8.000000 +v 0.000000 1.093750 8.000000 +v 0.062500 1.047997 8.000000 +v 0.054127 1.125000 8.000000 +v 0.125000 1.156250 8.000000 +v 0.108253 1.093750 8.000000 +v 0.108253 1.218750 8.000000 +v 0.062500 1.156250 8.000000 +v 0.062500 1.264503 8.000000 +v 0.054127 1.187500 8.000000 +v 0.031250 1.210377 8.000000 +v -0.250000 1.156250 6.625000 +v -0.312500 0.781250 6.625000 +v 0.312500 0.781250 6.625000 +v -0.250000 0.265625 -0.049940 +v -0.250000 0.125000 0.031250 +v -0.250000 0.265625 0.112440 +v 0.250000 0.265625 0.112440 +v 0.250000 0.125000 0.031250 +v 0.250000 0.265625 -0.049940 +v -0.125000 -0.156250 -2.687500 +v -0.125000 -0.031250 -2.500000 +v -0.125000 -0.031250 -2.875000 +v -0.125000 0.031250 -1.812500 +v -0.125000 -0.218750 -1.750000 +v -0.125000 0.031250 -1.750000 +v -0.125000 -0.468750 -1.937500 +v -0.125000 -0.468750 -2.437500 +v -0.125000 -0.531250 -2.437500 +v -0.125000 -0.218750 -1.812500 +v -0.125000 -0.343750 -1.812500 +v 0.125000 -0.218750 -1.750000 +v 0.125000 0.031250 -1.812500 +v 0.125000 0.031250 -1.750000 +v -0.125000 -0.406250 -1.937500 +v 0.125000 -0.343750 -1.812500 +v 0.125000 -0.218750 -1.812500 +v 0.125000 -0.406250 -1.937500 +v 0.125000 -0.468750 -1.937500 +v -0.125000 -0.281250 -2.312500 +v -0.125000 -0.406250 -2.312500 +v -0.125000 -0.406250 -2.250000 +v -0.125000 -0.156250 -2.375000 +v -0.125000 -0.281250 -2.375000 +v -0.125000 -0.156250 -2.312500 +v -0.125000 0.031250 -2.437500 +v 0.125000 -0.406250 -2.250000 +v 0.125000 -0.406250 -2.312500 +v 0.125000 -0.281250 -2.312500 +v 0.125000 -0.281250 -2.375000 +v 0.125000 -0.156250 -2.312500 +v 0.125000 -0.156250 -2.375000 +v 0.125000 0.031250 -2.437500 +v -0.125000 1.281250 -2.750000 +v 0.187500 1.156250 -2.875000 +v 0.187500 1.156250 -2.812500 +v 0.093750 0.993870 -3.000000 +v 0.162380 1.062500 -3.000000 +v 0.187500 1.156250 -3.000000 +v 0.108253 1.093750 -2.875000 +v 0.125000 1.156250 -2.875000 +v 0.093750 0.993870 -2.875000 +v 0.162380 1.062500 -2.875000 +v 0.000000 1.031250 -2.875000 +v 0.000000 0.968750 -2.875000 +v -0.093750 0.993870 -2.875000 +v -0.062500 1.047997 -2.750000 +v -0.062500 1.047997 -2.875000 +v 0.125000 1.156250 -2.812500 +v 0.125000 1.156250 -2.750000 +v 0.125000 1.281250 -2.750000 +v 0.000000 0.968750 -3.062500 +v -0.250000 0.218750 -3.062500 +v 0.250000 0.218750 -3.062500 +v -0.125000 -0.343750 -2.625000 +v -0.125000 -0.156250 -2.562500 +v 0.125000 -0.468750 -2.437500 +v 0.125000 -0.031250 -2.500000 +v 0.125000 -0.156250 -2.687500 +v 0.125000 -0.031250 -2.875000 +v 0.125000 -0.156250 -2.562500 +v 0.125000 -0.343750 -2.625000 +v 0.125000 -0.343750 -2.562500 +v 0.125000 -0.531250 -2.437500 +v 0.000000 1.468750 -2.500000 +v -0.044194 1.518306 -2.500000 +v -0.093750 1.468750 -2.500000 +v 0.044194 1.518306 -2.500000 +v 0.093750 1.562500 -2.500000 +v 0.062500 1.562500 -2.500000 +v 0.156250 1.343750 -2.312500 +v -0.156250 1.343750 -2.687500 +v 0.218750 1.343750 -2.687500 +v 0.093750 1.468750 -2.687500 +v 0.093750 1.593750 -2.500000 +v 0.093750 1.593750 -2.687500 +v -0.093750 1.593750 -2.500000 +v -0.093750 1.468750 -2.687500 +v -0.093750 1.593750 -2.687500 +v -0.093750 1.468750 -2.437500 +v 0.044194 1.518306 -2.625000 +v 0.093750 1.562500 -2.625000 +v 0.093750 1.468750 -2.625000 +v 0.062500 1.562500 -2.625000 +v 0.066291 1.628791 -2.625000 +v 0.044194 1.606694 -2.625000 +v 0.000000 1.656250 -2.625000 +v -0.044194 1.606694 -2.625000 +v 0.000000 1.625000 -2.625000 +v -0.062500 1.562500 -2.625000 +v -0.066291 1.628791 -2.625000 +v -0.044194 1.518306 -2.625000 +v -0.093750 1.562500 -2.625000 +v 0.000000 1.468750 -2.625000 +v 0.000000 1.500000 -2.625000 +v 0.066291 1.628791 -2.500000 +v 0.044194 1.606694 -2.500000 +v 0.000000 1.656250 -2.500000 +v 0.000000 1.625000 -2.500000 +v -0.044194 1.606694 -2.500000 +v -0.066291 1.628791 -2.500000 +v -0.062500 1.562500 -2.500000 +v -0.093750 1.562500 -2.500000 +v 0.093750 1.468750 -2.500000 +v -0.156250 1.468750 -2.437500 +v 0.093750 1.468750 -2.437500 +v 0.156250 1.468750 -2.437500 +v 0.218750 1.468750 -2.687500 +v 0.156250 1.468750 -2.687500 +v -0.156250 1.468750 -2.687500 +v 0.250000 1.406250 -2.562500 +v 0.250000 1.343750 -2.625000 +v 0.250000 1.406250 -2.687500 +v 0.156250 1.468750 -2.312500 +v -0.156250 1.343750 -2.312500 +v -0.031250 1.562500 6.250000 +v 0.031250 1.468750 6.250000 +v -0.031250 1.468750 6.250000 +v -0.031250 1.562500 6.312500 +v 0.031250 1.562500 6.250000 +v -0.031250 1.468750 6.375000 +v 0.031250 1.562500 6.312500 +v 0.031250 1.468750 6.375000 +v 0.062500 1.468750 6.187500 +v 0.125000 1.656250 6.437500 +v 0.125000 1.656250 6.187500 +v -0.125000 1.656250 6.437500 +v -0.062500 1.468750 6.187500 +v -0.125000 1.656250 6.187500 +v -0.187500 1.656250 6.187500 +v 0.187500 1.656250 6.187500 +v 0.187500 1.656250 6.437500 +v 0.125000 1.468750 6.187500 +v -0.125000 1.468750 6.187500 +v -0.187500 1.656250 6.437500 +v -0.125000 1.468750 6.437500 +v -0.062500 1.468750 6.437500 +v 0.125000 1.468750 6.437500 +v 0.062500 1.468750 6.437500 +v 0.250000 1.343750 6.437500 +v -0.250000 1.343750 6.437500 +v -0.108253 0.718750 7.187500 +v 0.108253 0.718750 7.187500 +v 0.000000 0.906250 7.187500 +v -0.081190 0.734375 7.812500 +v 0.081190 0.734375 7.812500 +v 0.000000 0.875000 7.812500 +v -0.312500 1.031250 6.625000 +v -0.375000 0.906250 6.625000 +v -0.312500 0.906250 6.625000 +v -0.375000 1.031250 6.250000 +v -0.312500 1.031250 6.187500 +v -0.375000 0.906250 6.250000 +v -0.312500 0.906250 6.187500 +v -0.437500 1.062500 7.437500 +v -0.343750 0.968750 7.437500 +v -0.437500 0.875000 7.437500 +v -0.375000 0.968750 7.500000 +v -0.393306 1.012944 7.500000 +v -0.437500 1.031250 7.500000 +v 0.062500 0.281250 3.687500 +v 0.000000 0.281250 3.750000 +v -0.062500 0.281250 3.687500 +v 0.187500 0.343750 3.500000 +v -0.187500 0.406250 3.500000 +v -0.187500 0.343750 3.500000 +v -0.187500 0.343750 3.625000 +v 0.187500 0.406250 3.625000 +v 0.187500 0.343750 3.625000 +v 0.187500 0.406250 3.500000 +v -0.250000 0.343750 3.687500 +v -0.250000 0.406250 3.437500 +v -0.250000 0.343750 3.437500 +v 0.250000 0.406250 3.437500 +v 0.250000 0.406250 3.687500 +v 0.250000 0.343750 3.437500 +v 0.250000 0.343750 3.687500 +v -0.250000 0.406250 3.687500 +v -0.187500 0.406250 3.625000 +v 0.125000 0.531250 6.187500 +v 0.312500 1.156250 6.187500 +v -0.187500 1.343750 6.187500 +v 0.125000 0.406250 3.875000 +v -0.062500 1.264503 -0.062500 +v 0.000000 1.281250 -0.062500 +v 0.062500 1.264503 -0.062500 +v 0.125000 1.156250 -0.062500 +v 0.108253 1.093750 -0.062500 +v 0.062500 1.047997 -0.062500 +v -0.062500 1.047997 -0.062500 +v -0.108253 1.093750 -0.062500 +v -0.125000 1.156250 -0.062500 +v 0.062500 1.264503 -0.187500 +v -0.125000 1.156250 -0.187500 +v -0.187500 1.031250 -3.062500 +v 0.062500 1.047997 -1.750000 +v 0.108253 1.093750 -1.750000 +v 0.125000 1.156250 -1.750000 +v 0.062500 1.264503 -1.750000 +v 0.000000 1.281250 -1.750000 +v -0.062500 1.264503 -1.750000 +v -0.125000 1.156250 -1.750000 +v -0.108253 1.093750 -1.750000 +v -0.062500 1.047997 -1.750000 +v 0.062500 1.264503 -1.625000 +v -0.125000 1.156250 -1.562500 +v 0.187500 1.093750 -1.437500 +v -0.183909 0.031250 -1.561136 +v -0.031250 1.210377 7.750000 +v -0.054127 1.187500 7.750000 +v -0.062500 1.156250 7.750000 +v -0.031250 1.102123 7.750000 +v 0.000000 1.093750 7.750000 +v 0.031250 1.102123 7.750000 +v 0.062500 1.156250 7.750000 +v 0.054127 1.187500 7.750000 +v 0.031250 1.210377 7.750000 +v -0.125000 0.531250 6.625000 +v 0.125000 0.531250 6.625000 +v 0.312500 1.156250 6.625000 +v 0.250000 1.156250 6.625000 +v 0.216506 1.281250 6.625000 +v 0.125000 1.372756 6.625000 +v 0.000000 1.406250 6.625000 +v -0.125000 1.372756 6.625000 +v -0.216506 1.281250 6.625000 +v -0.312500 1.156250 6.625000 +v -0.250000 0.299940 0.078125 +v -0.250000 0.312500 0.031250 +v -0.250000 0.299940 -0.015625 +v -0.250000 0.218750 -0.062500 +v -0.250000 0.171875 -0.049940 +v -0.250000 0.137560 -0.015625 +v -0.250000 0.137560 0.078125 +v -0.250000 0.171875 0.112440 +v -0.250000 0.218750 0.125000 +v 0.250000 0.299940 -0.015625 +v 0.250000 0.312500 0.031250 +v 0.250000 0.299940 0.078125 +v 0.250000 0.218750 0.125000 +v 0.250000 0.171875 0.112440 +v 0.250000 0.137560 0.078125 +v 0.250000 0.137560 -0.015625 +v 0.250000 0.171875 -0.049940 +v 0.250000 0.218750 -0.062500 +v -0.125000 -0.343750 -1.875000 +v 0.125000 -0.343750 -1.875000 +v -0.125000 0.031250 -2.187500 +v 0.125000 0.031250 -2.187500 +v 0.062500 1.047997 -2.875000 +v -0.093750 0.993870 -2.750000 +v -0.093750 0.993870 -3.062500 +v -0.125000 -0.343750 -2.562500 +v 0.000000 1.500000 -2.500000 +v -0.093750 1.468750 -2.625000 +v 0.250000 1.450444 -2.669194 +v 0.250000 1.468750 -2.625000 +v 0.250000 1.450444 -2.580806 +v 0.250000 1.362056 -2.580806 +v 0.250000 1.362056 -2.669194 +v -0.156250 1.468750 -2.312500 +v -0.312500 1.156250 6.437500 +v 0.312500 1.156250 6.437500 +v -0.062500 0.889503 7.187500 +v -0.108253 0.843750 7.187500 +v -0.125000 0.781250 7.187500 +v -0.062500 0.672997 7.187500 +v 0.000000 0.656250 7.187500 +v 0.062500 0.672997 7.187500 +v 0.125000 0.781250 7.187500 +v 0.108253 0.843750 7.187500 +v 0.062500 0.889503 7.187500 +v -0.046875 0.862440 7.812500 +v -0.081190 0.828125 7.812500 +v -0.093750 0.781250 7.812500 +v -0.046875 0.700060 7.812500 +v 0.000000 0.687500 7.812500 +v 0.046875 0.700060 7.812500 +v 0.093750 0.781250 7.812500 +v 0.081190 0.828125 7.812500 +v 0.046875 0.862440 7.812500 +v -0.375000 1.031250 6.625000 +v -0.531250 0.968750 7.437500 +v -0.503791 1.035041 7.437500 +v -0.371209 1.035041 7.437500 +v -0.371209 0.902459 7.437500 +v -0.503791 0.902459 7.437500 +v -0.481694 1.012944 7.500000 +v -0.500000 0.968750 7.500000 +v -0.481694 0.924556 7.500000 +v -0.437500 0.906250 7.500000 +v -0.393306 0.924556 7.500000 +v -0.044194 0.281250 3.643306 +v 0.000000 0.281250 3.625000 +v 0.044194 0.281250 3.643306 +v 0.044194 0.281250 3.731694 +v -0.044194 0.281250 3.731694 +v 0.000000 1.406250 6.187500 +v -0.187500 1.343750 0.437500 +v 0.000000 1.406250 0.437500 +v 0.187500 1.343750 0.437500 +v 0.093750 1.318630 0.437500 +v -0.093750 1.318630 0.437500 +v 0.000000 1.343750 0.437500 +v -0.162380 1.250000 0.437500 +v 0.125000 1.156250 -1.125000 +v -0.108253 1.093750 -0.250000 +v 0.108253 1.093750 -1.250000 +v 0.108253 1.093750 -1.437500 +v -0.108253 1.093750 -1.500000 +v -0.062500 1.047997 6.625000 +v 0.000000 1.031250 6.625000 +v -0.108253 1.218750 6.625000 +v -0.125000 1.156250 6.625000 +v 0.125000 1.156250 6.625000 +v 0.108253 1.218750 6.625000 +v 0.062500 1.047997 6.625000 +v -0.108253 1.093750 6.625000 +v 0.062500 1.264503 6.625000 +v 0.000000 1.281250 6.625000 +v -0.062500 1.264503 6.625000 +v 0.108253 1.093750 6.625000 +v 0.216506 1.281250 6.437500 +v -0.216506 1.281250 6.437500 +v 0.125000 1.372756 6.437500 +v 0.000000 1.406250 6.437500 +v 0.250000 1.156250 6.437500 +v -0.125000 1.372756 6.437500 +v -0.250000 1.156250 6.437500 +v -0.250000 1.156250 0.437500 +v 0.250000 1.156250 0.437500 +v 0.250000 1.031250 0.375000 +v -0.250000 1.031250 0.375000 +v -0.187500 0.125000 0.031250 +v -0.187500 0.137560 -0.015625 +v -0.187500 0.218750 0.125000 +v -0.187500 0.171875 0.112440 +v -0.187500 0.265625 -0.049940 +v -0.187500 0.299940 -0.015625 +v -0.187500 0.312500 0.031250 +v -0.187500 0.299940 0.078125 +v -0.187500 0.171875 -0.049940 +v -0.187500 0.137560 0.078125 +v -0.187500 0.265625 0.112440 +v -0.187500 0.218750 -0.062500 +v 0.187500 0.125000 0.031250 +v 0.187500 0.137560 0.078125 +v 0.187500 0.218750 -0.062500 +v 0.187500 0.171875 -0.049940 +v 0.187500 0.265625 0.112440 +v 0.187500 0.299940 0.078125 +v 0.187500 0.312500 0.031250 +v 0.187500 0.299940 -0.015625 +v 0.187500 0.171875 0.112440 +v 0.187500 0.137560 -0.015625 +v 0.187500 0.265625 -0.049940 +v 0.187500 0.218750 0.125000 +v 0.156250 1.362056 -2.580806 +v 0.156250 1.343750 -2.625000 +v 0.156250 1.450444 -2.580806 +v 0.156250 1.406250 -2.562500 +v 0.156250 1.450444 -2.669194 +v 0.156250 1.468750 -2.625000 +v 0.156250 1.362056 -2.669194 +v 0.156250 1.406250 -2.687500 +v 0.125000 0.781250 6.625000 +v 0.108253 0.843750 6.625000 +v 0.000000 0.656250 6.625000 +v 0.062500 0.672997 6.625000 +v -0.125000 0.781250 6.625000 +v -0.108253 0.718750 6.625000 +v 0.062500 0.889503 6.625000 +v 0.000000 0.906250 6.625000 +v -0.062500 0.889503 6.625000 +v 0.108253 0.718750 6.625000 +v -0.062500 0.672997 6.625000 +v -0.108253 0.843750 6.625000 +v 0.046875 0.862440 7.187500 +v 0.000000 0.875000 7.187500 +v -0.046875 0.862440 7.187500 +v -0.081190 0.828125 7.187500 +v 0.081190 0.734375 7.187500 +v 0.093750 0.781250 7.187500 +v -0.046875 0.700060 7.187500 +v 0.000000 0.687500 7.187500 +v -0.093750 0.781250 7.187500 +v 0.081190 0.828125 7.187500 +v 0.046875 0.700060 7.187500 +v -0.081190 0.734375 7.187500 +v -0.375000 0.968750 6.500000 +v -0.450444 1.012944 6.549556 +v -0.375000 1.012944 6.518306 +v -0.450444 0.924556 6.549556 +v -0.463388 0.968750 6.536612 +v -0.375000 0.924556 6.606694 +v -0.419194 0.906250 6.580806 +v -0.375000 0.906250 6.562500 +v -0.419194 1.031250 6.580806 +v -0.375000 1.031250 6.562500 +v -0.375000 0.924556 6.518306 +v -0.387944 1.012944 6.612056 +v -0.375000 1.012944 6.606694 +v -0.437500 1.031250 6.625000 +v -0.393306 0.924556 6.625000 +v -0.437500 0.906250 6.625000 +v -0.481694 1.012944 6.625000 +v -0.393306 1.012944 6.625000 +v -0.481694 0.924556 6.625000 +v -0.500000 0.968750 6.625000 +v -0.375000 0.968750 6.625000 +v -0.387944 0.924556 6.612056 +v -0.481694 1.012944 7.437500 +v -0.393306 1.012944 7.437500 +v -0.500000 0.968750 7.437500 +v -0.393306 0.924556 7.437500 +v -0.481694 0.924556 7.437500 +v -0.375000 0.968750 7.437500 +v -0.437500 1.031250 7.437500 +v -0.437500 0.906250 7.437500 +v -0.044194 0.406250 3.731694 +v 0.000000 0.406250 3.750000 +v -0.044194 0.406250 3.643306 +v -0.062500 0.406250 3.687500 +v 0.062500 0.406250 3.687500 +v 0.044194 0.406250 3.643306 +v 0.044194 0.406250 3.731694 +v 0.000000 0.406250 3.625000 +v 0.162380 1.250000 0.437500 +vt 0.784091 0.522727 +vt 0.801136 0.528409 +vt 0.784091 0.528409 +vt 0.750000 0.528409 +vt 0.903409 0.522727 +vt 0.886364 0.528409 +vt 0.886364 0.522727 +vt 0.732955 0.522727 +vt 0.732955 0.528409 +vt 0.579545 0.119318 +vt 0.573864 0.164773 +vt 0.573864 0.119318 +vt 0.573864 0.232955 +vt 0.579545 0.278409 +vt 0.573864 0.278409 +vt 0.579545 0.295455 +vt 0.579545 0.102273 +vt 0.573864 0.102273 +vt 0.556818 0.090909 +vt 0.539773 0.079545 +vt 0.556818 0.085227 +vt 0.573864 0.079545 +vt 0.579545 0.187500 +vt 0.573864 0.210227 +vt 0.573864 0.187500 +vt 0.573864 0.215909 +vt 0.579545 0.232955 +vt 0.573864 0.181818 +vt 0.579545 0.164773 +vt 0.607955 0.295455 +vt 0.613636 0.278409 +vt 0.613636 0.295455 +vt 0.556818 0.079545 +vt 0.539773 0.068182 +vt 0.556818 0.073864 +vt 0.573864 0.068182 +vt 0.613636 0.119318 +vt 0.607955 0.102273 +vt 0.613636 0.102273 +vt 0.607955 0.119318 +vt 0.613636 0.164773 +vt 0.607955 0.164773 +vt 0.613636 0.232955 +vt 0.607955 0.278409 +vt 0.607955 0.232955 +vt 0.613636 0.210227 +vt 0.607955 0.187500 +vt 0.613636 0.187500 +vt 0.613636 0.181818 +vt 0.613636 0.215909 +vt 0.607955 0.210227 +vt 0.806818 0.528409 +vt 0.829545 0.522727 +vt 0.829545 0.528409 +vt 0.852273 0.522727 +vt 0.852273 0.528409 +vt 0.835227 0.528409 +vt 0.005682 0.346591 +vt 0.011364 0.357955 +vt 0.005682 0.357955 +vt 0.670455 0.357955 +vt 0.676136 0.346591 +vt 0.676136 0.357955 +vt 0.028409 0.335227 +vt 0.181818 0.329545 +vt 0.022727 0.346591 +vt 0.318182 0.204545 +vt 0.357955 0.193182 +vt 0.363636 0.204545 +vt 0.318182 0.318182 +vt 0.363636 0.318182 +vt 0.011364 0.403409 +vt 0.022727 0.397727 +vt 0.193182 0.403409 +vt 0.181818 0.397727 +vt 0.193182 0.329545 +vt 0.005682 0.409091 +vt 0.318182 0.409091 +vt 0.357955 0.181818 +vt 0.323864 0.028409 +vt 0.357955 0.028409 +vt 0.323864 0.017045 +vt 0.357955 0.017045 +vt 0.500000 0.329545 +vt 0.653409 0.335227 +vt 0.659091 0.346591 +vt 0.323864 0.181818 +vt 0.323864 0.193182 +vt 0.206068 0.164773 +vt 0.215909 0.147727 +vt 0.225750 0.164773 +vt 0.301136 0.204545 +vt 0.295455 0.210227 +vt 0.295455 0.204545 +vt 0.301136 0.159091 +vt 0.295455 0.164773 +vt 0.295455 0.159091 +vt 0.301136 0.147727 +vt 0.295455 0.153409 +vt 0.295455 0.147727 +vt 0.301136 0.153409 +vt 0.301136 0.215909 +vt 0.295455 0.215909 +vt 0.119318 0.068182 +vt 0.125000 0.147727 +vt 0.119318 0.147727 +vt 0.164773 0.113636 +vt 0.159091 0.119318 +vt 0.159091 0.113636 +vt 0.676136 0.409091 +vt 0.676136 0.420455 +vt 0.392045 0.420455 +vt 0.210227 0.130682 +vt 0.198864 0.039773 +vt 0.210227 0.039773 +vt 0.215909 0.147727 +vt 0.227273 0.136364 +vt 0.227273 0.147727 +vt 0.193182 0.147727 +vt 0.181818 0.136364 +vt 0.193182 0.136364 +vt 0.215909 0.136364 +vt 0.221591 0.130682 +vt 0.187500 0.130682 +vt 0.210227 0.142045 +vt 0.210227 0.147727 +vt 0.198864 0.142045 +vt 0.198864 0.147727 +vt 0.198864 0.130682 +vt 0.193182 0.039773 +vt 0.187500 0.039773 +vt 0.215909 0.039773 +vt 0.221591 0.039773 +vt 0.203023 0.164773 +vt 0.183341 0.164773 +vt 0.193182 0.147727 +vt 0.142045 0.215909 +vt 0.142045 0.203023 +vt 0.147727 0.204545 +vt 0.136364 0.203023 +vt 0.136364 0.215909 +vt 0.153409 0.215909 +vt 0.159091 0.203023 +vt 0.159091 0.215909 +vt 0.130682 0.204545 +vt 0.130682 0.215909 +vt 0.119318 0.204545 +vt 0.113636 0.215909 +vt 0.113636 0.203023 +vt 0.132204 0.198864 +vt 0.125000 0.193182 +vt 0.117796 0.198864 +vt 0.125000 0.193182 +vt 0.119318 0.193182 +vt 0.505682 0.426136 +vt 0.619318 0.426136 +vt 0.625000 0.431818 +vt 0.681818 0.431818 +vt 0.500000 0.431818 +vt 0.392045 0.431818 +vt 0.005682 0.420455 +vt 0.142045 0.431818 +vt -0.000000 0.431818 +vt 0.312500 0.420455 +vt 0.153409 0.426136 +vt 0.500000 0.397727 +vt 0.488636 0.329545 +vt 0.659091 0.397727 +vt 0.670455 0.403409 +vt 0.488636 0.403409 +vt 0.363636 0.409091 +vt 0.591670 0.531250 +vt 0.601512 0.531250 +vt 0.596591 0.539773 +vt 0.619318 0.573864 +vt 0.613636 0.579545 +vt 0.613636 0.573864 +vt 0.619318 0.579545 +vt 0.613636 0.585227 +vt 0.619318 0.590909 +vt 0.619318 0.585227 +vt 0.619318 0.596591 +vt 0.613636 0.590909 +vt 0.619318 0.602273 +vt 0.613636 0.596591 +vt 0.619318 0.607955 +vt 0.613636 0.602273 +vt 0.619318 0.539773 +vt 0.613636 0.545455 +vt 0.613636 0.539773 +vt 0.619318 0.545455 +vt 0.613636 0.551136 +vt 0.619318 0.556818 +vt 0.619318 0.551136 +vt 0.619318 0.562500 +vt 0.613636 0.556818 +vt 0.619318 0.568182 +vt 0.613636 0.562500 +vt 0.613636 0.568182 +vt 0.750000 0.431818 +vt 0.784091 0.426136 +vt 0.784091 0.482955 +vt 0.357955 -0.000000 +vt 0.180676 0.109375 +vt 0.173295 0.096591 +vt 0.165915 0.109375 +vt 0.165915 0.109375 +vt 0.173295 0.096591 +vt 0.180676 0.109375 +vt 0.073864 0.312500 +vt 0.090909 0.323864 +vt 0.056818 0.323864 +vt 0.062500 0.181818 +vt 0.056818 0.204545 +vt 0.056818 0.181818 +vt 0.056818 0.227273 +vt 0.062500 0.272727 +vt 0.056818 0.272727 +vt 0.062500 0.204545 +vt 0.056818 0.215909 +vt 0.034091 0.204545 +vt 0.028409 0.181818 +vt 0.034091 0.181818 +vt 0.062500 0.221591 +vt 0.034091 0.215909 +vt 0.028409 0.204545 +vt 0.028409 0.221591 +vt 0.034091 0.227273 +vt 0.130682 0.261364 +vt 0.136364 0.272727 +vt 0.130682 0.272727 +vt 0.136364 0.250000 +vt 0.136364 0.261364 +vt 0.125000 0.250000 +vt 0.136364 0.232955 +vt 0.130682 0.250000 +vt 0.159091 0.278409 +vt 0.159091 0.272727 +vt 0.164773 0.261364 +vt 0.159091 0.261364 +vt 0.164773 0.250000 +vt 0.159091 0.250000 +vt 0.159091 0.232955 +vt 0.170455 0.250000 +vt 0.164773 0.250000 +vt 0.210227 0.034091 +vt 0.198864 0.034091 +vt 0.215909 0.028409 +vt 0.301136 0.431818 +vt 0.295455 0.431818 +vt 0.318182 0.420455 +vt 0.318182 0.426136 +vt 0.312500 0.431818 +vt 0.153409 0.130682 +vt 0.159091 0.136364 +vt 0.153409 0.136364 +vt 0.164773 0.130682 +vt 0.159091 0.130682 +vt 0.170455 0.136364 +vt 0.170455 0.130682 +vt 0.176136 0.130682 +vt 0.176136 0.136364 +vt 0.170455 0.147727 +vt 0.170455 0.136364 +vt 0.187500 0.017045 +vt 0.193182 0.017045 +vt 0.193182 0.028409 +vt 0.210227 0.007204 +vt 0.340909 0.414768 +vt 0.332388 0.417051 +vt 0.363636 0.346591 +vt 0.318182 0.346591 +vt 0.062500 0.289773 +vt 0.068182 0.306818 +vt 0.056818 0.306818 +vt 0.062500 0.278409 +vt 0.056818 0.289773 +vt 0.090909 0.278409 +vt 0.113636 0.232955 +vt 0.113636 0.278409 +vt 0.000000 0.323864 +vt 0.017045 0.312500 +vt 0.034091 0.323864 +vt 0.022727 0.306818 +vt 0.028409 0.289773 +vt 0.034091 0.306818 +vt 0.028409 0.278409 +vt 0.034091 0.289773 +vt 0.028409 0.289773 +vt 0.028409 0.272727 +vt 0.028409 0.227273 +vt 0.034091 0.272727 +vt 0.252841 0.272729 +vt 0.248824 0.277233 +vt 0.244320 0.272729 +vt 0.256858 0.277233 +vt 0.261362 0.281250 +vt 0.258522 0.281250 +vt 0.284091 0.244318 +vt 0.255682 0.210227 +vt 0.289773 0.210227 +vt 0.221591 0.295455 +vt 0.238636 0.306818 +vt 0.221591 0.306818 +vt 0.238636 0.267045 +vt 0.221591 0.278409 +vt 0.221591 0.267045 +vt 0.244318 0.278409 +vt 0.265870 0.277233 +vt 0.261365 0.281250 +vt 0.261365 0.272729 +vt 0.264206 0.281250 +vt 0.263861 0.287275 +vt 0.265870 0.285267 +vt 0.269886 0.289771 +vt 0.273903 0.285267 +vt 0.269886 0.286931 +vt 0.275567 0.281250 +vt 0.275912 0.287275 +vt 0.273903 0.277233 +vt 0.278407 0.281250 +vt 0.269886 0.272729 +vt 0.269886 0.275569 +vt 0.258866 0.287275 +vt 0.256858 0.285267 +vt 0.252841 0.289771 +vt 0.252841 0.286931 +vt 0.248824 0.285267 +vt 0.246816 0.287275 +vt 0.247160 0.281250 +vt 0.244320 0.281250 +vt 0.261362 0.272729 +vt 0.215909 0.267045 +vt 0.221591 0.278409 +vt 0.215909 0.278409 +vt 0.198864 0.267045 +vt 0.198864 0.278409 +vt 0.193182 0.278409 +vt 0.318182 0.255682 +vt 0.318182 0.244318 +vt 0.198864 0.267045 +vt 0.193182 0.255682 +vt 0.198864 0.255682 +vt 0.215909 0.267045 +vt 0.215909 0.255682 +vt 0.221591 0.255682 +vt 0.244318 0.267045 +vt 0.250000 0.261364 +vt 0.255682 0.267045 +vt 0.187500 0.255682 +vt 0.187500 0.244318 +vt 0.284091 0.255682 +vt 0.255682 0.244318 +vt 0.823864 0.477273 +vt 0.829545 0.482955 +vt 0.823864 0.482955 +vt 0.823864 0.471591 +vt 0.829545 0.477273 +vt 0.823864 0.465909 +vt 0.829545 0.471591 +vt 0.818182 0.477273 +vt 0.835227 0.477273 +vt 0.840909 0.482955 +vt 0.681818 0.522727 +vt 0.698864 0.500000 +vt 0.698864 0.522727 +vt 0.937500 0.500000 +vt 0.954545 0.522727 +vt 0.937500 0.522727 +vt 0.931818 0.522727 +vt 0.704545 0.522727 +vt 0.704545 0.500000 +vt 0.721591 0.522727 +vt 0.914773 0.522727 +vt 0.931818 0.500000 +vt 0.681818 0.528409 +vt 0.954545 0.528409 +vt 0.937500 0.528409 +vt 0.954545 0.494318 +vt 0.954545 0.500000 +vt 0.681818 0.494318 +vt 0.681818 0.500000 +vt 0.840909 0.448864 +vt 0.818182 0.460227 +vt 0.818182 0.448864 +vt 0.818182 0.465909 +vt 0.806818 0.477273 +vt 0.806818 0.471591 +vt 0.852273 0.477273 +vt 0.852273 0.431818 +vt 0.745079 0.531250 +vt 0.754921 0.531250 +vt 0.750000 0.539773 +vt 0.796216 0.531250 +vt 0.806057 0.531250 +vt 0.801136 0.539773 +vt 0.914773 0.443182 +vt 0.909091 0.431818 +vt 0.914773 0.431818 +vt 0.875000 0.443182 +vt 0.909091 0.448864 +vt 0.869318 0.448864 +vt 0.909091 0.426136 +vt 0.875000 0.431818 +vt 0.869318 0.426136 +vt 0.869318 0.443182 +vt 0.869318 0.431818 +vt 0.860795 0.562500 +vt 0.869318 0.553977 +vt 0.860795 0.545455 +vt 0.880682 0.551136 +vt 0.879018 0.555154 +vt 0.875000 0.556818 +vt 0.568182 0.062500 +vt 0.562500 0.068182 +vt 0.556818 0.062500 +vt 0.494318 0.073864 +vt 0.528409 0.068182 +vt 0.528409 0.073864 +vt 0.426136 0.073864 +vt 0.460227 0.068182 +vt 0.460227 0.073864 +vt 0.403409 0.068182 +vt 0.414773 0.073864 +vt 0.403409 0.073864 +vt 0.471591 0.073864 +vt 0.482955 0.068182 +vt 0.482955 0.073864 +vt 0.420455 0.079545 +vt 0.397727 0.085227 +vt 0.397727 0.079545 +vt 0.488636 0.085227 +vt 0.534091 0.079545 +vt 0.534091 0.085227 +vt 0.465909 0.085227 +vt 0.488636 0.079545 +vt 0.465909 0.079545 +vt 0.420455 0.085227 +vt 0.414773 0.090909 +vt 0.403409 0.090909 +vt 0.494318 0.090909 +vt 0.528409 0.090909 +vt 0.471591 0.090909 +vt 0.482955 0.090909 +vt 0.426136 0.090909 +vt 0.460227 0.090909 +vt 0.806818 0.522727 +vt 0.750000 0.522727 +vt 0.903409 0.528409 +vt 0.573864 0.295455 +vt 0.534091 0.079545 +vt 0.579545 0.079545 +vt 0.579545 0.210227 +vt 0.534091 0.068182 +vt 0.579545 0.068182 +vt 0.181818 0.318182 +vt 0.500000 0.318182 +vt 0.221591 0.168932 +vt 0.215909 0.170455 +vt 0.210227 0.168932 +vt 0.204545 0.159091 +vt 0.206068 0.153409 +vt 0.210227 0.149250 +vt 0.221591 0.149250 +vt 0.225750 0.153409 +vt 0.227273 0.159091 +vt 0.301136 0.210227 +vt 0.301136 0.164773 +vt 0.125000 0.068182 +vt 0.164773 0.119318 +vt 0.363636 0.420455 +vt 0.181818 0.147727 +vt 0.215909 0.130682 +vt 0.193182 0.130682 +vt 0.198864 0.149250 +vt 0.203023 0.153409 +vt 0.204545 0.159091 +vt 0.198864 0.168932 +vt 0.193182 0.170455 +vt 0.187500 0.168932 +vt 0.181818 0.159091 +vt 0.183341 0.153409 +vt 0.187500 0.149250 +vt 0.153409 0.203023 +vt 0.119318 0.215909 +vt 0.130682 0.193182 +vt 0.170455 0.426136 +vt 0.500000 0.329545 +vt 0.593750 0.539012 +vt 0.591670 0.536932 +vt 0.590909 0.534091 +vt 0.593750 0.529170 +vt 0.596591 0.528409 +vt 0.599432 0.529170 +vt 0.602273 0.534091 +vt 0.601512 0.536932 +vt 0.599432 0.539012 +vt 0.613636 0.607955 +vt 0.806818 0.443182 +vt 0.806818 0.465909 +vt 0.750000 0.482955 +vt 0.750000 0.477273 +vt 0.738644 0.474222 +vt 0.730327 0.465905 +vt 0.727273 0.454545 +vt 0.730327 0.443181 +vt 0.738644 0.434864 +vt 0.750000 0.426136 +vt 0.323864 -0.000000 +vt 0.169034 0.112495 +vt 0.173295 0.113636 +vt 0.177557 0.112495 +vt 0.181818 0.105114 +vt 0.180676 0.100852 +vt 0.177557 0.097733 +vt 0.169034 0.097733 +vt 0.165915 0.100852 +vt 0.164773 0.105114 +vt 0.177557 0.112495 +vt 0.173295 0.113636 +vt 0.169034 0.112495 +vt 0.164773 0.105114 +vt 0.165915 0.100852 +vt 0.169034 0.097733 +vt 0.177557 0.097733 +vt 0.180676 0.100852 +vt 0.181818 0.105114 +vt 0.085227 0.312500 +vt 0.062500 0.227273 +vt 0.062500 0.215909 +vt 0.028409 0.215909 +vt 0.130682 0.250000 +vt 0.113636 0.232955 +vt 0.136364 0.278409 +vt 0.164773 0.272727 +vt 0.181818 0.232955 +vt 0.181818 0.431818 +vt 0.164773 0.136364 +vt 0.176136 0.136364 +vt 0.176136 0.147727 +vt 0.221591 0.005682 +vt 0.221591 0.017045 +vt 0.213068 0.002841 +vt 0.318182 0.420455 +vt 0.357952 0.420449 +vt 0.349431 0.417051 +vt 0.323866 0.420449 +vt 0.375000 0.318182 +vt 0.306818 0.318182 +vt 0.068182 0.289773 +vt 0.062500 0.289773 +vt 0.090909 0.232955 +vt 0.005682 0.312500 +vt 0.022727 0.289773 +vt 0.252841 0.275569 +vt 0.244318 0.295455 +vt 0.278407 0.272729 +vt 0.254018 0.271063 +vt 0.250000 0.272727 +vt 0.245982 0.271063 +vt 0.245982 0.263028 +vt 0.254018 0.263028 +vt 0.221591 0.244318 +vt 0.255682 0.255682 +vt 0.829545 0.465909 +vt 0.812500 0.482955 +vt 0.721591 0.500000 +vt 0.914773 0.500000 +vt 0.698864 0.528409 +vt 0.937500 0.494318 +vt 0.698864 0.494318 +vt 0.840909 0.460227 +vt 0.806818 0.437500 +vt 0.806818 0.431818 +vt 0.818182 0.443182 +vt 0.869318 0.426136 +vt 0.869318 0.482955 +vt 0.840909 0.465909 +vt 0.840909 0.443182 +vt 0.747159 0.539012 +vt 0.745079 0.536932 +vt 0.744318 0.534091 +vt 0.747159 0.529170 +vt 0.750000 0.528409 +vt 0.752841 0.529170 +vt 0.755682 0.534091 +vt 0.754921 0.536932 +vt 0.752841 0.539012 +vt 0.798295 0.539012 +vt 0.796216 0.536932 +vt 0.795455 0.534091 +vt 0.798295 0.529170 +vt 0.801136 0.528409 +vt 0.803977 0.529170 +vt 0.806818 0.534091 +vt 0.806057 0.536932 +vt 0.803977 0.539012 +vt 0.909091 0.443182 +vt 0.852273 0.553977 +vt 0.854769 0.560004 +vt 0.866822 0.560004 +vt 0.866822 0.547951 +vt 0.854769 0.547951 +vt 0.870982 0.555154 +vt 0.869318 0.551136 +vt 0.870982 0.547119 +vt 0.875000 0.545455 +vt 0.879018 0.547119 +vt 0.558482 0.058482 +vt 0.562500 0.056818 +vt 0.566518 0.058482 +vt 0.566518 0.066518 +vt 0.558482 0.066518 +vt 0.494318 0.068182 +vt 0.426136 0.068182 +vt 0.414773 0.068182 +vt 0.471591 0.068182 +vt 0.573864 0.107955 +vt 0.363636 0.125000 +vt 0.363636 0.107955 +vt 0.363636 0.284091 +vt 0.573864 0.301136 +vt 0.363636 0.301136 +vt 0.573864 0.090909 +vt 0.363636 0.090909 +vt 0.573864 0.318182 +vt 0.363636 0.318182 +vt 0.363636 0.250000 +vt 0.573864 0.284091 +vt 0.363636 0.215909 +vt 0.363636 0.238636 +vt 0.573864 0.238636 +vt 0.886364 0.500000 +vt 0.852273 0.482955 +vt 0.886364 0.482955 +vt 0.829545 0.482955 +vt 0.806818 0.482955 +vt 0.750000 0.500000 +vt 0.607955 0.079545 +vt 0.579545 0.079545 +vt 0.607955 0.318182 +vt 0.579545 0.318182 +vt 0.897727 0.062500 +vt 0.613636 0.079545 +vt 0.613636 0.062500 +vt 0.613636 0.301136 +vt 0.897727 0.318182 +vt 0.613636 0.318182 +vt 0.897727 0.045455 +vt 0.613636 0.045455 +vt 0.613636 0.284091 +vt 0.897727 0.301136 +vt 0.613636 0.170455 +vt 0.903409 0.198864 +vt 0.613636 0.193182 +vt 0.903409 0.210227 +vt 0.613636 0.210227 +vt 0.903409 0.164773 +vt 0.903409 0.153409 +vt 0.613636 0.153409 +vt 0.363636 0.159091 +vt 0.573864 0.125000 +vt 0.573864 0.170455 +vt 0.573864 0.193182 +vt 0.363636 0.170455 +vt 0.363636 0.193182 +vt -0.000000 0.443182 +vt 0.056818 0.437500 +vt 0.056818 0.443182 +vt 0.681818 0.443182 +vt 0.625000 0.448864 +vt 0.625000 0.443182 +vt 0.312500 0.181818 +vt 0.159091 0.176136 +vt 0.312500 0.176136 +vt -0.000000 0.448864 +vt 0.056818 0.448864 +vt 0.681818 0.437500 +vt 0.625000 0.437500 +vt 0.312500 0.187500 +vt 0.159091 0.181818 +vt 0.312500 0.164773 +vt 0.312500 0.159091 +vt 0.221591 0.204545 +vt 0.215909 0.198864 +vt 0.125000 0.073864 +vt 0.130682 0.068182 +vt 0.130682 0.073864 +vt 0.312500 0.170455 +vt 0.312500 0.210227 +vt 0.312500 0.204545 +vt 0.312500 0.153409 +vt 0.312500 0.147727 +vt 0.125000 0.187500 +vt 0.312500 0.215909 +vt 0.119318 0.164773 +vt 0.119318 0.153409 +vt 0.125000 0.164773 +vt 0.125000 0.153409 +vt 0.312500 0.193182 +vt 0.204545 0.193182 +vt 0.125000 0.181818 +vt 0.119318 0.181818 +vt 0.193182 0.443182 +vt 0.500000 0.443182 +vt 0.488636 0.443182 +vt 0.482955 0.448864 +vt 0.392045 0.443182 +vt 0.289773 0.443182 +vt 0.198864 0.448864 +vt 0.159091 0.159091 +vt 0.176136 0.164773 +vt 0.159091 0.164773 +vt 0.159091 0.210227 +vt 0.170455 0.215909 +vt 0.159091 0.215909 +vt 0.159091 0.147727 +vt 0.170455 0.153409 +vt 0.159091 0.153409 +vt 0.159091 0.198864 +vt 0.176136 0.204545 +vt 0.159091 0.204545 +vt 0.170455 0.210227 +vt 0.176136 0.153409 +vt 0.176136 0.159091 +vt 0.130682 0.187500 +vt 0.295455 0.170455 +vt 0.176136 0.198864 +vt 0.159091 0.193182 +vt 0.187500 0.193182 +vt 0.159091 0.170455 +vt 0.147727 0.136364 +vt 0.744318 0.602273 +vt 0.744318 0.607955 +vt 0.744318 0.585227 +vt 0.744318 0.590909 +vt 0.744318 0.556818 +vt 0.744318 0.562500 +vt 0.744318 0.539773 +vt 0.744318 0.545455 +vt 0.744318 0.596591 +vt 0.744318 0.568182 +vt 0.744318 0.573864 +vt 0.744318 0.579545 +vt 0.744318 0.551136 +vt 0.590909 0.573864 +vt 0.590909 0.585227 +vt 0.590909 0.556818 +vt 0.590909 0.607955 +vt 0.590909 0.590909 +vt 0.590909 0.562500 +vt 0.590909 0.545455 +vt 0.590909 0.596591 +vt 0.590909 0.568182 +vt 0.590909 0.579545 +vt 0.590909 0.551136 +vt 0.590909 0.602273 +vt 0.732955 0.500000 +vt 0.721591 0.482955 +vt 0.732955 0.482955 +vt 0.903409 0.500000 +vt 0.892045 0.482955 +vt 0.903409 0.482955 +vt 0.721591 0.500000 +vt 0.710227 0.482955 +vt 0.926136 0.500000 +vt 0.914773 0.482955 +vt 0.926136 0.482955 +vt 0.744318 0.500000 +vt 0.744318 0.482955 +vt 0.914773 0.500000 +vt 0.892045 0.500000 +vt 0.613636 0.125000 +vt 0.897727 0.079545 +vt 0.903409 0.102273 +vt 0.903409 0.261364 +vt 0.897727 0.284091 +vt 0.613636 0.238636 +vt 0.909091 0.272727 +vt 0.903409 0.272727 +vt 0.903409 0.090909 +vt 0.909091 0.090909 +vt 0.903409 0.079545 +vt 0.909091 0.284091 +vt 0.613636 0.045455 +vt 0.607955 0.062500 +vt 0.590909 0.068182 +vt 0.181818 0.096591 +vt 0.176136 0.090909 +vt 0.181818 0.090909 +vt 0.181818 0.045455 +vt 0.176136 0.039773 +vt 0.181818 0.039773 +vt 0.181818 0.073864 +vt 0.176136 0.068182 +vt 0.181818 0.068182 +vt 0.181818 0.062500 +vt 0.176136 0.056818 +vt 0.181818 0.056818 +vt 0.176136 0.085227 +vt 0.181818 0.085227 +vt 0.176136 0.034091 +vt 0.181818 0.034091 +vt 0.176136 0.062500 +vt 0.176136 0.051136 +vt 0.181818 0.051136 +vt 0.176136 0.079545 +vt 0.181818 0.079545 +vt 0.176136 0.028409 +vt 0.181818 0.028409 +vt 0.176136 0.045455 +vt 0.176136 0.073864 +vt 0.176136 0.028409 +vt 0.181818 0.034091 +vt 0.176136 0.034091 +vt 0.176136 0.079545 +vt 0.181818 0.085227 +vt 0.176136 0.085227 +vt 0.176136 0.051136 +vt 0.181818 0.056818 +vt 0.176136 0.056818 +vt 0.176136 0.062500 +vt 0.181818 0.068182 +vt 0.176136 0.068182 +vt 0.181818 0.039773 +vt 0.176136 0.039773 +vt 0.181818 0.090909 +vt 0.176136 0.090909 +vt 0.181818 0.062500 +vt 0.181818 0.073864 +vt 0.176136 0.073864 +vt 0.181818 0.045455 +vt 0.176136 0.045455 +vt 0.181818 0.096591 +vt 0.176136 0.096591 +vt 0.181818 0.079545 +vt 0.181818 0.051136 +vt 0.090909 0.295455 +vt 0.113636 0.312500 +vt 0.090909 0.312500 +vt 0.113636 0.295455 +vt 0.113636 0.193182 +vt 0.090909 0.215909 +vt 0.090909 0.193182 +vt 0.113636 0.227273 +vt 0.090909 0.227273 +vt 0.159091 0.301136 +vt 0.136364 0.318182 +vt 0.136364 0.301136 +vt 0.159091 0.289773 +vt 0.176136 0.113636 +vt 0.170455 0.113636 +vt 0.159091 0.119318 +vt 0.153409 0.119318 +vt 0.181818 0.113636 +vt 0.136364 0.136364 +vt 0.147727 0.130682 +vt 0.113636 0.323864 +vt 0.250000 0.301136 +vt 0.244318 0.289773 +vt 0.250000 0.289773 +vt 0.261364 0.301136 +vt 0.255682 0.289773 +vt 0.261364 0.289773 +vt 0.255682 0.301136 +vt 0.267045 0.301136 +vt 0.267045 0.289773 +vt 0.284091 0.261364 +vt 0.278409 0.272727 +vt 0.278409 0.261364 +vt 0.295455 0.261364 +vt 0.289773 0.272727 +vt 0.289773 0.261364 +vt 0.261364 0.261364 +vt 0.255682 0.272727 +vt 0.255682 0.261364 +vt 0.272727 0.261364 +vt 0.267045 0.272727 +vt 0.267045 0.261364 +vt 0.284091 0.272727 +vt 0.301136 0.261364 +vt 0.295455 0.272727 +vt 0.261364 0.272727 +vt 0.272727 0.272727 +vt 0.244318 0.255682 +vt 0.221591 0.318182 +vt 0.289773 0.261364 +vt 0.284091 0.255682 +vt 0.289773 0.255682 +vt 0.278409 0.261364 +vt 0.272727 0.255682 +vt 0.278409 0.255682 +vt 0.267045 0.261364 +vt 0.261364 0.255682 +vt 0.267045 0.255682 +vt 0.250000 0.261364 +vt 0.244318 0.255682 +vt 0.250000 0.255682 +vt 0.284091 0.261364 +vt 0.272727 0.261364 +vt 0.261364 0.261364 +vt 0.255682 0.255682 +vt 0.255682 0.261364 +vt 0.193182 0.289773 +vt 0.732955 0.500000 +vt 0.903409 0.500000 +vt 0.744318 0.562500 +vt 0.795455 0.556818 +vt 0.795455 0.562500 +vt 0.744318 0.545455 +vt 0.795455 0.539773 +vt 0.795455 0.545455 +vt 0.744318 0.596591 +vt 0.795455 0.590909 +vt 0.795455 0.596591 +vt 0.744318 0.568182 +vt 0.795455 0.568182 +vt 0.744318 0.579545 +vt 0.795455 0.573864 +vt 0.795455 0.579545 +vt 0.744318 0.551136 +vt 0.795455 0.551136 +vt 0.744318 0.602273 +vt 0.795455 0.602273 +vt 0.744318 0.573864 +vt 0.744318 0.585227 +vt 0.795455 0.585227 +vt 0.744318 0.556818 +vt 0.744318 0.607955 +vt 0.795455 0.607955 +vt 0.744318 0.590909 +vt 0.795455 0.573864 +vt 0.852273 0.568182 +vt 0.852273 0.573864 +vt 0.795455 0.585227 +vt 0.852273 0.579545 +vt 0.852273 0.585227 +vt 0.795455 0.556818 +vt 0.852273 0.551136 +vt 0.852273 0.556818 +vt 0.795455 0.607955 +vt 0.852273 0.602273 +vt 0.852273 0.607955 +vt 0.795455 0.590909 +vt 0.852273 0.590909 +vt 0.795455 0.562500 +vt 0.852273 0.562500 +vt 0.795455 0.545455 +vt 0.852273 0.539773 +vt 0.852273 0.545455 +vt 0.795455 0.596591 +vt 0.852273 0.596591 +vt 0.795455 0.568182 +vt 0.795455 0.579545 +vt 0.795455 0.551136 +vt 0.795455 0.602273 +vt 0.852273 0.585227 +vt 0.857955 0.590909 +vt 0.852273 0.590909 +vt 0.857955 0.579545 +vt 0.857955 0.585227 +vt 0.852273 0.568182 +vt 0.857955 0.573864 +vt 0.852273 0.573864 +vt 0.857955 0.596591 +vt 0.852273 0.596591 +vt 0.852273 0.579545 +vt 0.857955 0.602273 +vt 0.852273 0.602273 +vt 0.863636 0.596591 +vt 0.863636 0.568182 +vt 0.863636 0.573864 +vt 0.863636 0.590909 +vt 0.863636 0.602273 +vt 0.863636 0.579545 +vt 0.863636 0.585227 +vt 0.855114 0.607955 +vt 0.860795 0.607955 +vt 0.855114 0.562500 +vt 0.857955 0.568182 +vt 0.860795 0.562500 +vt 0.937500 0.590909 +vt 0.937500 0.602273 +vt 0.937500 0.585227 +vt 0.863636 0.562500 +vt 0.937500 0.568182 +vt 0.937500 0.579545 +vt 0.937500 0.607955 +vt 0.863636 0.607955 +vt 0.937500 0.596591 +vt 0.937500 0.573864 +vt 0.892045 0.556818 +vt 0.886364 0.562500 +vt 0.886364 0.556818 +vt 0.880682 0.562500 +vt 0.880682 0.556818 +vt 0.875000 0.562500 +vt 0.875000 0.556818 +vt 0.869318 0.556818 +vt 0.869318 0.562500 +vt 0.914773 0.556818 +vt 0.909091 0.562500 +vt 0.909091 0.556818 +vt 0.903409 0.562500 +vt 0.903409 0.556818 +vt 0.897727 0.556818 +vt 0.892045 0.562500 +vt 0.897727 0.562500 +vt 0.562500 0.056818 +vt 0.568182 0.045455 +vt 0.568182 0.056818 +vt 0.551136 0.056818 +vt 0.556818 0.045455 +vt 0.556818 0.056818 +vt 0.534091 0.056818 +vt 0.539773 0.045455 +vt 0.539773 0.056818 +vt 0.522727 0.056818 +vt 0.528409 0.045455 +vt 0.528409 0.056818 +vt 0.562500 0.045455 +vt 0.545455 0.056818 +vt 0.551136 0.045455 +vt 0.545455 0.045455 +vt 0.534091 0.045455 +vt -0.000000 0.437500 +vt 0.681818 0.448864 +vt 0.159091 0.187500 +vt 0.312500 0.198864 +vt 0.125000 0.068182 +vt 0.136364 0.437500 +vt 0.181818 0.443182 +vt 0.392045 0.448864 +vt 0.289773 0.448864 +vt 0.170455 0.147727 +vt 0.176136 0.210227 +vt 0.181818 0.170455 +vt 0.590909 0.539773 +vt 0.710227 0.500000 +vt 0.909091 0.079545 +vt 0.903409 0.284091 +vt 0.573864 0.062500 +vt 0.568182 0.045455 +vt 0.176136 0.096591 +vt 0.181818 0.028409 +vt 0.113636 0.215909 +vt 0.159091 0.318182 +vt 0.136364 0.289773 +vt 0.181818 0.142045 +vt 0.176136 0.142045 +vt 0.244318 0.301136 +vt 0.301136 0.272727 +vt 0.244318 0.318182 +vt 0.244318 0.261364 +vt 0.221591 0.289773 +vt 0.744318 0.539773 +vt 0.795455 0.539773 +vt 0.937500 0.562500 +vt 0.914773 0.562500 +vt 0.522727 0.045455 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.8944 -0.4472 -0.0000 +vn -0.8944 -0.4472 -0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 -0.9950 0.0995 +vn 0.8944 0.0000 -0.4472 +vn 0.7071 -0.7071 -0.0000 +vn 0.8944 0.0000 0.4472 +vn 0.0000 -0.9939 0.1104 +vn 0.0000 -0.4472 0.8944 +vn -1.0000 0.0000 0.0000 +vn -0.5000 0.8660 0.0000 +vn -0.3704 0.9289 0.0000 +vn -0.8944 0.4472 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 -0.7071 +vn -0.8944 0.0035 0.4472 +vn -0.8944 0.0000 -0.4472 +vn -0.6857 -0.7279 -0.0014 +vn -1.0000 0.0048 -0.0005 +vn -0.8660 0.5000 0.0000 +vn 0.8944 0.4472 0.0000 +vn 0.0000 0.9923 -0.1240 +vn 0.0000 -0.9923 0.1240 +vn 0.0000 0.4472 0.8944 +vn 0.9864 0.0000 0.1644 +vn 0.0000 0.5547 0.8321 +vn -0.9487 0.3162 0.0000 +vn 0.9487 0.3162 0.0000 +vn 0.9487 -0.3162 0.0000 +vn -0.9487 -0.3162 0.0000 +vn -0.3551 0.0000 0.9348 +vn -0.8861 0.0000 0.4635 +vn -0.7071 -0.7071 0.0000 +vn -1.0000 0.0000 -0.0021 +vn -0.7071 0.7071 0.0000 +vn -0.9871 0.1602 0.0000 +vn 0.9871 0.1602 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.9597 -0.2806 0.0152 +vn 0.4782 -0.8770 0.0474 +vn 0.4647 -0.8842 0.0478 +vn 0.9542 -0.2988 0.0162 +vn -0.9943 0.1066 0.0000 +vn -0.8507 0.5257 0.0000 +vn 0.4472 -0.8944 0.0000 +vn -0.4472 -0.8944 0.0000 +vn 0.8507 0.5257 -0.0000 +vn 0.9943 0.1066 0.0000 +vn -0.7555 0.6552 0.0000 +vn 0.7555 0.6552 0.0000 +vn -0.4775 -0.8755 0.0750 +vn 0.5175 -0.8522 0.0770 +vn 0.4775 -0.8755 0.0750 +vn 0.9689 -0.2458 0.0287 +vn 0.9616 -0.2730 0.0268 +vn -0.5175 -0.8522 0.0770 +vn -0.9689 -0.2458 0.0287 +vn -0.9616 -0.2730 0.0268 +vn -0.9597 -0.2806 0.0152 +vn -0.9542 -0.2988 0.0162 +vn -0.4647 -0.8842 0.0478 +vn -0.4782 -0.8770 0.0474 +vn 0.5000 0.8660 0.0000 +vn 0.9071 0.4210 0.0000 +vn -0.9659 0.2588 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.9071 -0.4210 0.0000 +vn -0.9659 -0.2588 0.0000 +vn -0.9898 0.1424 0.0000 +vn -0.0000 0.9239 -0.3827 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.9336 -0.3583 +vn 0.8660 0.5000 0.0000 +vn 0.9986 0.0526 0.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.0000 0.9239 0.3827 +vn 0.9659 0.2588 0.0000 +vn 0.0000 0.9753 -0.2207 +vn 0.0000 0.8094 -0.5873 +vn 0.0000 0.9732 -0.2298 +vn -0.0524 0.7901 -0.6107 +vn -0.7529 0.6581 0.0000 +vn 0.0000 0.9732 0.2298 +vn 0.0000 0.9753 0.2207 +vn -0.1963 0.5576 -0.8065 +vn -0.2773 0.4804 -0.8321 +vn 0.8587 0.5125 0.0000 +vn -0.8587 0.5125 0.0000 +vn -0.8112 0.5847 0.0000 +vn 0.8223 0.5691 0.0000 +vn 0.5751 -0.8181 0.0000 +vn -0.5751 -0.8181 0.0000 +vn 0.0000 0.8944 0.4472 +vn 0.0000 0.9336 0.3583 +vn 0.0000 0.7071 0.7071 +vn 0.7768 0.6297 0.0000 +vn -0.9976 0.0690 0.0000 +vn 0.0000 0.8507 -0.5257 +vn -0.6088 0.7934 0.0000 +vn 0.6088 0.7934 0.0000 +vn -0.9902 0.1396 0.0000 +vn 0.9902 0.1396 0.0000 +vn 0.0000 0.2693 -0.9631 +vn 0.0000 0.2298 -0.9732 +vn 0.0000 0.4472 -0.8944 +vn 0.0000 -0.8660 -0.5000 +vn 0.0000 -0.5000 0.8660 +vn 0.0000 0.5000 -0.8660 +vn 0.0000 0.8660 -0.5000 +vn 0.0000 0.8660 0.5000 +vn 0.0000 -0.5000 -0.8660 +vn 0.0000 -0.8660 0.5000 +vn 0.0000 0.5000 0.8660 +vn 0.0000 0.3827 0.9239 +vn 0.0000 -0.2298 0.9732 +vn 0.0000 -0.5847 0.8112 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.5847 -0.8112 +vn 0.0000 -0.3162 -0.9487 +vn 0.0000 -0.1602 -0.9871 +vn 0.0000 -0.2298 -0.9732 +vn 0.0000 -0.4472 -0.8944 +vn 0.0000 -0.2898 0.9571 +vn 0.0000 -0.5547 0.8321 +vn 0.0000 0.2298 0.9732 +vn 0.3151 0.9490 0.0000 +vn 0.3337 0.9427 0.0000 +vn 0.3704 0.9289 0.0000 +vn 0.0000 0.8968 -0.4425 +vn -0.4210 0.9071 0.0000 +vn 0.0000 -0.1891 -0.9820 +vn 0.0000 -0.3714 -0.9285 +vn 0.0000 -0.5257 -0.8507 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.6070 -0.7947 +vn 0.0000 -0.8321 -0.5547 +vn 0.9239 0.3827 0.0000 +vn -0.9239 0.3827 0.0000 +vn -0.9925 0.1224 0.0000 +vn 0.5257 0.8507 0.0000 +vn -0.9732 0.2298 0.0000 +vn 0.1931 0.9812 0.0000 +vn -0.3827 -0.0000 -0.9239 +vn -0.5294 0.6630 -0.5294 +vn -0.2962 0.6333 -0.7150 +vn -0.5294 -0.6630 -0.5294 +vn 0.2611 -0.7311 0.6303 +vn -0.0671 -0.9955 -0.0671 +vn -0.0393 -0.9947 -0.0948 +vn -0.0671 0.9955 -0.0671 +vn -0.0393 0.9947 -0.0948 +vn -0.2962 -0.6333 -0.7150 +vn 0.4617 0.7574 0.4617 +vn 0.2611 0.7311 0.6303 +vn -0.0473 0.9987 -0.0196 +vn 0.6737 -0.7263 0.1363 +vn -0.0473 -0.9987 -0.0196 +vn -0.7194 0.6794 -0.1448 +vn 0.6737 0.7263 0.1363 +vn -0.7194 -0.6794 -0.1448 +vn -0.9824 -0.0000 -0.1866 +vn 0.9809 0.0000 0.1944 +vn 0.4617 -0.7574 0.4617 +vn -0.8944 0.0000 0.4472 +vn -0.6325 0.6325 0.4472 +vn 0.6325 0.6325 0.4472 +vn 0.6325 -0.6325 0.4472 +vn -0.0000 -0.8944 0.4472 +vn -0.6325 -0.6325 0.4472 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.2588 0.9659 0.0000 +s off +f 1/1/1 2/2/1 3/3/1 +f 4/4/1 1/1/1 3/3/1 +f 5/5/1 6/6/1 7/7/1 +f 8/8/1 4/4/1 9/9/1 +f 10/10/2 11/11/2 12/12/2 +f 13/13/2 14/14/2 15/15/2 +f 16/16/2 15/15/2 14/14/2 +f 17/17/2 12/12/2 18/18/2 +f 19/19/2 18/20/2 20/21/2 +f 21/22/2 19/19/2 20/21/2 +f 22/23/2 23/24/2 24/25/2 +f 23/26/2 25/27/2 13/13/2 +f 24/28/2 26/29/2 22/23/2 +f 27/30/1 28/31/1 29/32/1 +f 30/33/1 29/34/1 31/35/1 +f 32/36/1 30/33/1 31/35/1 +f 33/37/1 34/38/1 32/39/1 +f 35/40/1 36/41/1 37/42/1 +f 38/43/1 39/44/1 40/45/1 +f 41/46/1 42/47/1 43/48/1 +f 37/42/1 43/49/1 42/47/1 +f 41/50/1 40/45/1 44/51/1 +f 2/52/1 45/53/1 46/54/1 +f 47/55/1 6/6/1 48/56/1 +f 47/55/1 46/57/1 45/53/1 +f 49/58/3 50/59/3 51/60/3 +f 52/61/4 53/62/4 54/63/4 +f 55/64/5 56/65/5 57/66/5 +f 58/67/6 59/68/6 60/69/6 +f 61/70/7 60/69/7 62/71/7 +f 63/72/5 51/60/5 50/59/5 +f 64/73/8 50/59/8 57/66/8 +f 65/74/9 64/73/9 66/75/9 +f 58/76/10 66/75/10 56/65/10 +f 66/75/5 57/66/5 56/65/5 +f 67/77/5 65/74/5 68/78/5 +f 69/79/11 55/80/11 70/81/11 +f 70/81/12 57/82/12 71/83/12 +f 59/84/13 70/85/13 71/86/13 +f 72/87/1 59/68/1 56/88/1 +f 73/89/1 74/90/1 75/91/1 +f 76/92/1 77/93/1 78/94/1 +f 79/95/1 80/96/1 81/97/1 +f 82/98/1 83/99/1 84/100/1 +f 85/101/1 81/97/1 83/99/1 +f 77/93/1 82/102/1 84/103/1 +f 76/104/14 86/105/14 87/106/14 +f 88/107/15 89/108/15 90/109/15 +f 91/110/16 92/111/16 93/112/16 +f 94/113/17 95/114/17 96/115/17 +f 97/116/13 98/117/13 99/118/13 +f 100/119/5 101/120/5 102/121/5 +f 103/122/18 104/123/18 98/117/18 +f 105/124/19 102/121/19 101/120/19 +f 106/125/17 97/116/17 107/126/17 +f 100/119/17 108/127/17 109/128/17 +f 102/121/17 110/129/17 108/127/17 +f 94/113/17 103/122/17 106/125/17 +f 106/125/17 110/129/17 94/113/17 +f 95/130/5 105/124/5 111/131/5 +f 104/123/13 96/132/13 112/133/13 +f 113/134/2 114/135/2 115/136/2 +f 106/137/2 116/138/2 117/139/2 +f 118/140/5 106/137/5 107/141/5 +f 108/142/13 119/143/13 109/144/13 +f 99/145/2 107/141/2 97/146/2 +f 120/147/2 109/148/2 119/149/2 +f 118/140/2 99/145/2 121/150/2 +f 122/151/2 121/150/2 99/145/2 +f 119/149/2 123/152/2 120/147/2 +f 124/153/2 123/152/2 125/154/2 +f 126/155/13 92/111/13 127/156/13 +f 80/157/13 92/111/13 128/158/13 +f 93/112/13 122/159/13 129/160/13 +f 130/161/5 131/162/5 132/163/5 +f 89/164/5 133/165/5 130/161/5 +f 134/166/20 60/167/20 59/84/20 +f 135/168/21 52/61/21 136/169/21 +f 135/168/22 137/170/22 134/166/22 +f 71/86/23 134/166/23 59/84/23 +f 136/169/13 54/63/13 91/110/13 +f 137/170/13 91/110/13 138/171/13 +f 139/172/2 140/173/2 141/174/2 +f 142/175/2 143/176/2 144/177/2 +f 145/178/2 146/179/2 143/176/2 +f 147/180/2 146/179/2 148/181/2 +f 149/182/2 150/183/2 147/180/2 +f 151/184/2 152/185/2 149/182/2 +f 153/186/2 154/187/2 151/184/2 +f 153/188/2 155/189/2 156/190/2 +f 157/191/2 158/192/2 155/189/2 +f 159/193/2 158/192/2 160/194/2 +f 161/195/2 162/196/2 159/193/2 +f 163/197/2 164/198/2 161/195/2 +f 142/175/2 165/199/2 163/197/2 +f 166/200/2 167/201/2 168/202/2 +f 57/82/6 53/203/6 71/83/6 +f 169/204/13 170/205/13 171/206/13 +f 172/207/5 173/208/5 174/209/5 +f 175/210/13 176/211/13 177/212/13 +f 178/213/13 179/214/13 180/215/13 +f 181/216/13 182/217/13 183/218/13 +f 184/219/13 185/220/13 179/214/13 +f 186/221/5 187/222/5 188/223/5 +f 185/220/13 189/224/13 181/216/13 +f 190/225/5 191/226/5 186/221/5 +f 192/227/5 190/225/5 193/228/5 +f 194/229/13 195/230/13 196/231/13 +f 194/229/13 197/232/13 198/233/13 +f 199/234/13 200/235/13 197/236/13 +f 201/237/6 195/230/6 202/238/6 +f 203/239/5 202/238/5 204/240/5 +f 205/241/5 204/240/5 206/242/5 +f 207/243/5 205/244/5 206/245/5 +f 112/246/1 111/247/1 208/248/1 +f 89/164/5 209/249/5 210/250/5 +f 211/251/1 212/252/1 89/164/1 +f 213/253/1 89/164/1 212/252/1 +f 209/254/1 214/255/1 215/256/1 +f 216/257/1 214/255/1 217/258/1 +f 218/259/1 216/257/1 219/260/1 +f 220/261/1 218/259/1 219/260/1 +f 220/262/24 221/263/24 222/264/24 +f 223/265/13 224/266/13 225/267/13 +f 208/248/1 224/266/1 221/268/1 +f 89/164/25 130/161/25 67/77/25 +f 226/269/1 88/270/1 68/78/1 +f 137/170/13 138/171/13 227/271/13 +f 228/272/5 68/78/5 65/74/5 +f 229/273/13 230/274/13 175/275/13 +f 182/276/13 229/277/13 183/218/13 +f 182/278/26 192/279/26 231/280/26 +f 232/281/5 233/282/5 234/283/5 +f 235/284/5 236/285/5 233/286/5 +f 231/287/5 236/288/5 237/289/5 +f 193/228/5 231/290/5 192/291/5 +f 238/292/27 181/216/27 183/218/27 +f 239/293/2 240/294/2 241/295/2 +f 242/296/2 243/297/2 244/298/2 +f 245/299/6 246/300/6 247/301/6 +f 248/302/13 249/303/13 250/304/13 +f 251/305/5 252/306/5 253/307/5 +f 254/308/17 248/302/17 252/306/17 +f 255/309/1 256/310/1 257/311/1 +f 258/312/1 259/313/1 256/310/1 +f 260/314/1 261/315/1 259/313/1 +f 262/316/1 261/315/1 263/317/1 +f 264/318/1 265/319/1 262/316/1 +f 266/320/1 267/321/1 264/318/1 +f 268/322/1 266/320/1 269/323/1 +f 255/309/1 268/322/1 269/323/1 +f 244/298/2 270/324/2 271/325/2 +f 271/325/2 272/326/2 273/327/2 +f 272/326/2 274/328/2 273/327/2 +f 275/329/2 276/330/2 274/328/2 +f 277/331/2 240/294/2 276/330/2 +f 242/296/2 239/293/2 278/332/2 +f 251/333/28 279/334/28 254/335/28 +f 249/336/28 280/337/28 281/338/28 +f 282/339/29 245/299/29 247/340/29 +f 250/341/1 283/342/1 248/343/1 +f 253/344/1 252/345/1 284/346/1 +f 285/347/5 286/348/5 287/349/5 +f 283/342/1 282/350/1 247/351/1 +f 288/352/2 289/353/2 245/299/2 +f 290/354/1 291/355/1 292/356/1 +f 293/357/17 294/358/17 290/354/17 +f 295/359/30 296/360/30 293/357/30 +f 292/356/13 293/361/13 290/354/13 +f 291/355/5 296/362/5 297/363/5 +f 298/364/31 299/365/31 300/366/31 +f 301/367/32 302/368/32 303/369/32 +f 304/370/17 301/367/17 303/369/17 +f 299/365/17 305/371/17 300/366/17 +f 306/372/33 307/373/33 305/371/33 +f 308/374/34 309/375/34 304/370/34 +f 300/366/1 307/376/1 298/364/1 +f 303/369/1 308/377/1 304/378/1 +f 301/367/2 310/379/2 311/380/2 +f 312/381/2 299/365/2 313/382/2 +f 311/383/17 298/384/17 302/385/17 +f 307/386/1 8/387/1 9/388/1 +f 314/389/2 311/383/2 315/390/2 +f 316/391/2 317/392/2 318/393/2 +f 319/394/2 320/395/2 321/396/2 +f 322/397/2 323/398/2 324/399/2 +f 325/400/17 322/401/17 326/402/17 +f 324/403/6 327/404/6 328/405/6 +f 327/404/18 326/406/18 328/407/18 +f 323/398/13 325/400/13 327/404/13 +f 329/408/1 330/409/1 331/410/1 +f 332/411/2 333/412/2 334/413/2 +f 335/414/6 336/415/6 337/416/6 +f 338/417/2 339/418/2 340/419/2 +f 341/420/1 342/421/1 343/422/1 +f 339/423/5 341/424/5 340/425/5 +f 343/426/13 344/427/13 338/428/13 +f 345/429/13 346/430/13 347/431/13 +f 348/432/1 347/433/1 346/434/1 +f 349/435/5 350/436/5 348/432/5 +f 351/437/2 352/438/2 345/429/2 +f 346/430/17 353/439/17 339/440/17 +f 344/441/17 346/434/17 339/442/17 +f 342/443/17 348/432/17 344/444/17 +f 353/445/17 349/435/17 342/446/17 +f 341/424/6 347/431/6 340/425/6 +f 340/419/6 350/436/6 338/417/6 +f 338/428/6 351/437/6 343/426/6 +f 351/437/6 341/420/6 343/422/6 +f 1/1/1 354/447/1 2/2/1 +f 4/4/1 355/448/1 1/1/1 +f 5/5/1 356/449/1 6/6/1 +f 8/8/1 355/448/1 4/4/1 +f 10/10/2 26/29/2 11/11/2 +f 13/13/2 25/27/2 14/14/2 +f 16/16/2 21/450/2 15/15/2 +f 17/17/2 10/10/2 12/12/2 +f 19/19/2 17/451/2 18/20/2 +f 21/22/2 16/452/2 19/19/2 +f 22/23/2 357/453/2 23/24/2 +f 23/26/2 357/453/2 25/27/2 +f 24/28/2 11/11/2 26/29/2 +f 27/30/1 39/44/1 28/31/1 +f 30/33/1 27/454/1 29/34/1 +f 32/36/1 34/455/1 30/33/1 +f 33/37/1 35/40/1 34/38/1 +f 35/40/1 33/37/1 36/41/1 +f 38/43/1 28/31/1 39/44/1 +f 41/46/1 44/51/1 42/47/1 +f 37/42/1 36/41/1 43/49/1 +f 41/50/1 38/43/1 40/45/1 +f 2/52/1 354/447/1 45/53/1 +f 47/55/1 7/7/1 6/6/1 +f 47/55/1 48/56/1 46/57/1 +f 49/58/3 57/66/3 50/59/3 +f 52/61/4 71/86/4 53/62/4 +f 55/64/5 72/456/5 56/65/5 +f 58/67/6 56/88/6 59/68/6 +f 61/70/7 58/67/7 60/69/7 +f 63/72/5 67/77/5 51/60/5 +f 64/73/8 63/72/8 50/59/8 +f 65/74/9 63/72/9 64/73/9 +f 58/76/10 65/74/10 66/75/10 +f 66/75/5 64/73/5 57/66/5 +f 67/77/5 63/72/5 65/74/5 +f 69/79/11 72/87/11 55/80/11 +f 70/81/12 55/80/12 57/82/12 +f 59/84/13 69/457/13 70/85/13 +f 72/87/1 69/79/1 59/68/1 +f 75/91/1 358/458/1 73/89/1 +f 358/458/1 359/459/1 73/89/1 +f 359/459/1 360/460/1 73/89/1 +f 73/89/1 361/461/1 362/462/1 +f 362/462/1 363/463/1 73/89/1 +f 363/463/1 74/90/1 73/89/1 +f 74/90/1 364/464/1 75/91/1 +f 364/464/1 365/465/1 75/91/1 +f 365/465/1 366/466/1 75/91/1 +f 76/92/1 367/467/1 77/93/1 +f 79/95/1 368/468/1 80/96/1 +f 82/98/1 85/101/1 83/99/1 +f 85/101/1 79/95/1 81/97/1 +f 77/93/1 367/467/1 82/102/1 +f 76/104/14 78/469/14 86/105/14 +f 88/107/15 211/470/15 89/108/15 +f 369/471/16 138/171/16 93/112/16 +f 138/171/16 91/110/16 93/112/16 +f 94/113/17 110/129/17 95/114/17 +f 97/116/13 103/122/13 98/117/13 +f 100/119/5 120/472/5 101/120/5 +f 103/122/18 94/473/18 104/123/18 +f 105/124/19 110/474/19 102/121/19 +f 106/125/17 103/122/17 97/116/17 +f 100/119/17 102/121/17 108/127/17 +f 106/125/17 108/127/17 110/129/17 +f 95/130/5 110/474/5 105/124/5 +f 104/123/13 94/473/13 96/132/13 +f 115/136/2 370/475/2 113/134/2 +f 370/475/2 371/476/2 113/134/2 +f 371/476/2 372/477/2 113/134/2 +f 113/134/2 373/478/2 374/479/2 +f 374/479/2 375/480/2 113/134/2 +f 375/480/2 114/135/2 113/134/2 +f 114/135/2 376/481/2 377/482/2 +f 377/482/2 378/483/2 114/135/2 +f 378/483/2 115/136/2 114/135/2 +f 379/484/2 108/142/2 117/139/2 +f 108/142/2 106/137/2 117/139/2 +f 118/140/5 116/138/5 106/137/5 +f 108/142/13 379/484/13 119/143/13 +f 99/145/2 118/140/2 107/141/2 +f 120/147/2 100/485/2 109/148/2 +f 122/151/2 380/486/2 121/150/2 +f 124/153/2 120/147/2 123/152/2 +f 126/155/13 93/112/13 92/111/13 +f 80/157/13 127/156/13 92/111/13 +f 93/112/13 126/155/13 122/159/13 +f 130/161/5 133/165/5 131/162/5 +f 89/164/5 381/487/5 133/165/5 +f 59/84/35 382/488/35 134/166/35 +f 134/166/36 137/170/36 60/167/36 +f 135/168/21 71/86/21 52/61/21 +f 135/168/37 136/169/37 137/170/37 +f 71/86/38 135/168/38 134/166/38 +f 136/169/13 52/61/13 54/63/13 +f 137/170/13 136/169/13 91/110/13 +f 141/174/2 383/489/2 384/490/2 +f 384/490/2 385/491/2 139/172/2 +f 139/172/2 386/492/2 387/493/2 +f 387/493/2 388/494/2 140/173/2 +f 140/173/2 389/495/2 141/174/2 +f 389/495/2 390/496/2 141/174/2 +f 390/496/2 391/497/2 141/174/2 +f 141/174/2 384/490/2 139/172/2 +f 139/172/2 387/493/2 140/173/2 +f 142/175/2 145/178/2 143/176/2 +f 145/178/2 148/181/2 146/179/2 +f 147/180/2 150/183/2 146/179/2 +f 149/182/2 152/185/2 150/183/2 +f 151/184/2 154/187/2 152/185/2 +f 153/186/2 156/498/2 154/187/2 +f 153/188/2 157/191/2 155/189/2 +f 157/191/2 160/194/2 158/192/2 +f 159/193/2 162/196/2 158/192/2 +f 161/195/2 164/198/2 162/196/2 +f 163/197/2 165/199/2 164/198/2 +f 142/175/2 144/177/2 165/199/2 +f 392/499/2 393/500/2 168/202/2 +f 168/202/2 394/501/2 395/502/2 +f 395/502/2 396/503/2 397/504/2 +f 397/504/2 398/505/2 399/506/2 +f 399/506/2 400/507/2 166/200/2 +f 166/200/2 401/508/2 167/201/2 +f 167/201/2 392/499/2 168/202/2 +f 168/202/2 395/502/2 166/200/2 +f 395/502/2 397/504/2 166/200/2 +f 397/504/2 399/506/2 166/200/2 +f 57/82/6 49/509/6 53/203/6 +f 171/206/13 402/510/13 403/511/13 +f 403/511/13 404/512/13 169/204/13 +f 169/204/13 405/513/13 406/514/13 +f 406/514/13 407/515/13 169/204/13 +f 407/515/13 170/205/13 169/204/13 +f 170/205/13 408/516/13 409/517/13 +f 409/517/13 410/518/13 171/206/13 +f 171/206/13 403/511/13 169/204/13 +f 170/205/13 409/517/13 171/206/13 +f 174/209/5 411/519/5 412/520/5 +f 412/520/5 413/521/5 172/207/5 +f 172/207/5 414/522/5 415/523/5 +f 415/523/5 416/524/5 172/207/5 +f 416/524/5 173/208/5 172/207/5 +f 173/208/5 417/525/5 418/526/5 +f 418/526/5 419/527/5 174/209/5 +f 174/209/5 412/520/5 172/207/5 +f 173/208/5 418/526/5 174/209/5 +f 175/210/13 230/528/13 176/211/13 +f 178/213/13 184/219/13 179/214/13 +f 181/216/13 189/529/13 182/217/13 +f 184/219/13 420/530/13 185/220/13 +f 186/221/5 191/226/5 187/222/5 +f 185/220/13 420/530/13 189/224/13 +f 190/225/5 421/531/5 191/226/5 +f 192/227/5 421/531/5 190/225/5 +f 194/229/13 198/233/13 195/230/13 +f 194/229/13 199/532/13 197/232/13 +f 199/234/13 422/533/13 200/235/13 +f 201/237/6 196/534/6 195/230/6 +f 203/239/5 201/535/5 202/238/5 +f 205/241/5 203/239/5 204/240/5 +f 207/243/5 423/536/5 205/244/5 +f 112/246/1 96/115/1 95/114/1 +f 111/247/1 225/267/1 208/248/1 +f 112/246/1 95/114/1 111/247/1 +f 89/164/5 213/253/5 209/249/5 +f 210/250/5 124/537/5 89/164/5 +f 124/537/5 381/487/5 89/164/5 +f 209/254/1 217/258/1 214/255/1 +f 216/257/1 424/538/1 214/255/1 +f 218/259/1 424/538/1 216/257/1 +f 220/261/1 222/539/1 218/259/1 +f 220/262/24 425/540/24 221/263/24 +f 93/541/1 129/542/1 221/268/1 +f 129/542/1 208/248/1 221/268/1 +f 208/248/1 225/267/1 224/266/1 +f 221/268/1 425/543/1 93/541/1 +f 67/77/25 68/78/25 89/164/25 +f 68/78/25 90/544/25 89/164/25 +f 138/171/1 369/545/1 426/546/1 +f 138/171/1 426/546/1 226/269/1 +f 88/270/1 90/547/1 68/78/1 +f 68/78/1 138/171/1 226/269/1 +f 62/548/13 60/167/13 227/271/13 +f 60/167/13 137/170/13 227/271/13 +f 65/74/5 58/76/5 228/272/5 +f 58/76/5 61/549/5 228/272/5 +f 229/273/13 427/550/13 230/274/13 +f 182/276/13 427/551/13 229/277/13 +f 182/278/26 189/552/26 192/279/26 +f 232/281/5 235/553/5 233/282/5 +f 235/284/5 237/554/5 236/285/5 +f 231/287/5 238/292/5 236/288/5 +f 193/228/5 238/292/5 231/290/5 +f 238/292/27 193/228/27 181/216/27 +f 239/293/2 428/555/2 240/294/2 +f 242/296/2 278/332/2 243/297/2 +f 245/299/6 289/353/6 246/300/6 +f 248/302/13 280/556/13 249/303/13 +f 251/305/5 254/308/5 252/306/5 +f 254/308/17 280/556/17 248/302/17 +f 255/309/1 258/312/1 256/310/1 +f 258/312/1 260/314/1 259/313/1 +f 260/314/1 263/317/1 261/315/1 +f 262/316/1 265/319/1 261/315/1 +f 264/318/1 267/321/1 265/319/1 +f 266/320/1 429/557/1 267/321/1 +f 268/322/1 429/557/1 266/320/1 +f 255/309/1 257/311/1 268/322/1 +f 244/298/2 243/297/2 270/324/2 +f 271/325/2 270/324/2 272/326/2 +f 272/326/2 275/329/2 274/328/2 +f 275/329/2 277/331/2 276/330/2 +f 277/331/2 241/295/2 240/294/2 +f 242/296/2 428/555/2 239/293/2 +f 282/339/29 288/352/29 245/299/29 +f 287/349/5 430/558/5 431/559/5 +f 431/559/5 432/560/5 285/347/5 +f 285/347/5 433/561/5 286/348/5 +f 286/348/5 434/562/5 287/349/5 +f 287/349/5 431/559/5 285/347/5 +f 247/351/1 246/563/1 248/343/1 +f 246/563/1 284/346/1 252/345/1 +f 252/345/1 248/343/1 246/563/1 +f 248/343/1 283/342/1 247/351/1 +f 288/352/2 435/564/2 289/353/2 +f 290/354/1 294/358/1 291/355/1 +f 293/357/17 296/360/17 294/358/17 +f 295/359/30 297/565/30 296/360/30 +f 292/356/13 295/566/13 293/361/13 +f 291/355/5 294/358/5 296/362/5 +f 298/364/31 313/382/31 299/365/31 +f 301/367/32 311/380/32 302/368/32 +f 304/370/17 309/375/17 301/367/17 +f 299/365/17 306/372/17 305/371/17 +f 306/372/33 312/567/33 307/373/33 +f 308/374/34 310/568/34 309/375/34 +f 300/366/1 305/569/1 307/376/1 +f 303/369/1 302/368/1 308/377/1 +f 301/367/2 309/570/2 310/379/2 +f 312/381/2 306/571/2 299/365/2 +f 311/383/17 313/572/17 298/384/17 +f 9/388/1 356/573/1 298/384/1 +f 356/573/1 5/574/1 308/575/1 +f 298/384/1 356/573/1 302/385/1 +f 308/575/1 302/385/1 356/573/1 +f 298/384/1 307/386/1 9/388/1 +f 436/576/2 437/577/2 314/389/2 +f 314/389/2 312/578/2 313/572/2 +f 311/383/2 310/579/2 315/390/2 +f 314/389/2 313/572/2 311/383/2 +f 315/390/2 436/576/2 314/389/2 +f 318/393/2 438/580/2 439/581/2 +f 439/581/2 440/582/2 316/391/2 +f 316/391/2 441/583/2 442/584/2 +f 442/584/2 443/585/2 317/392/2 +f 317/392/2 444/586/2 318/393/2 +f 444/586/2 445/587/2 318/393/2 +f 445/587/2 446/588/2 318/393/2 +f 318/393/2 439/581/2 316/391/2 +f 316/391/2 442/584/2 317/392/2 +f 321/396/2 447/589/2 448/590/2 +f 448/590/2 449/591/2 319/394/2 +f 319/394/2 450/592/2 320/395/2 +f 450/592/2 451/593/2 320/395/2 +f 451/593/2 452/594/2 320/395/2 +f 320/395/2 453/595/2 454/596/2 +f 454/596/2 455/597/2 320/395/2 +f 455/597/2 321/396/2 320/395/2 +f 321/396/2 448/590/2 319/394/2 +f 322/397/2 456/598/2 323/398/2 +f 325/400/17 456/598/17 322/401/17 +f 324/403/6 323/398/6 327/404/6 +f 327/404/18 325/400/18 326/406/18 +f 323/398/13 456/598/13 325/400/13 +f 457/599/1 458/600/1 329/408/1 +f 329/408/1 459/601/1 330/409/1 +f 330/409/1 460/602/1 331/410/1 +f 331/410/1 461/603/1 457/599/1 +f 457/599/1 329/408/1 331/410/1 +f 334/413/2 462/604/2 463/605/2 +f 463/605/2 464/606/2 334/413/2 +f 464/606/2 465/607/2 334/413/2 +f 465/607/2 466/608/2 334/413/2 +f 466/608/2 332/411/2 334/413/2 +f 337/416/6 467/609/6 468/610/6 +f 468/610/6 469/611/6 335/414/6 +f 335/414/6 470/612/6 336/415/6 +f 336/415/6 471/613/6 337/416/6 +f 337/416/6 468/610/6 335/414/6 +f 338/417/2 344/614/2 339/418/2 +f 341/420/1 353/615/1 342/421/1 +f 339/423/5 353/616/5 341/424/5 +f 343/426/13 342/617/13 344/427/13 +f 345/429/13 352/438/13 346/430/13 +f 348/432/1 350/436/1 347/433/1 +f 349/435/5 351/437/5 350/436/5 +f 351/437/2 349/435/2 352/438/2 +f 346/430/17 352/438/17 353/439/17 +f 344/441/17 348/432/17 346/434/17 +f 342/443/17 349/435/17 348/432/17 +f 353/445/17 352/438/17 349/435/17 +f 341/424/6 345/429/6 347/431/6 +f 340/419/6 347/433/6 350/436/6 +f 338/428/6 350/436/6 351/437/6 +f 351/437/6 345/429/6 341/420/6 +s 1 +f 18/618/39 6/619/40 356/620/39 +f 4/621/41 21/622/42 9/623/42 +f 20/624/17 356/620/39 472/625/17 +f 9/623/42 20/626/17 472/627/17 +f 3/628/43 15/629/41 4/621/41 +f 2/630/44 23/26/45 3/631/43 +f 13/632/46 3/631/43 23/26/45 +f 436/633/47 5/5/48 7/7/40 +f 167/634/34 401/635/13 436/633/47 +f 168/202/33 354/447/49 1/1/33 +f 392/636/50 47/55/34 45/53/50 +f 393/637/49 45/53/50 354/447/49 +f 8/8/51 437/638/52 355/448/41 +f 437/638/52 394/501/5 168/202/33 +f 30/639/17 17/17/53 19/640/17 +f 35/40/40 26/29/34 10/10/40 +f 16/16/54 30/641/17 19/642/17 +f 34/38/53 10/10/40 17/17/53 +f 357/453/49 40/45/33 25/27/33 +f 42/47/50 357/453/49 22/23/50 +f 25/27/33 39/44/41 14/14/41 +f 37/42/34 22/23/50 26/29/34 +f 14/14/41 27/30/54 16/16/54 +f 473/643/39 33/644/40 32/645/39 +f 29/646/42 474/647/17 31/648/17 +f 474/649/17 32/645/39 31/650/17 +f 28/651/41 475/652/42 29/646/42 +f 43/653/55 49/654/56 41/655/57 +f 49/654/56 51/656/58 41/655/57 +f 41/655/57 51/656/58 38/657/59 +f 53/658/60 43/653/55 54/659/61 +f 43/653/55 36/660/62 54/659/61 +f 48/661/63 12/662/40 11/663/64 +f 24/664/65 48/665/63 11/663/64 +f 48/665/63 24/664/65 46/666/66 +f 23/26/45 46/666/66 24/664/65 +f 476/667/67 78/668/68 77/669/67 +f 477/670/14 84/671/17 83/672/14 +f 74/673/17 378/674/67 364/675/67 +f 478/676/17 77/669/67 84/677/17 +f 479/678/24 83/672/14 81/679/24 +f 363/680/14 115/681/17 74/673/17 +f 128/158/69 81/679/24 80/157/69 +f 366/682/5 79/95/70 75/683/70 +f 76/92/71 87/684/72 480/685/73 +f 127/686/74 368/687/75 481/688/76 +f 365/689/77 368/468/78 366/682/5 +f 360/690/79 76/92/71 73/691/80 +f 358/692/81 82/98/6 359/693/6 +f 481/688/76 126/694/82 127/686/74 +f 359/695/6 367/467/79 360/690/79 +f 75/683/70 85/101/81 358/692/81 +f 78/668/68 132/163/83 131/162/83 +f 482/696/84 480/697/85 133/698/86 +f 131/699/87 133/698/86 480/697/85 +f 362/700/24 480/685/73 482/701/88 +f 482/696/84 381/702/89 483/703/90 +f 480/697/85 87/106/91 131/699/87 +f 131/699/87 87/106/91 86/105/92 +f 101/704/93 124/537/25 210/250/25 +f 122/159/16 99/705/16 98/706/94 +f 104/707/39 208/708/95 98/706/94 +f 225/709/96 105/710/42 101/704/93 +f 363/680/14 362/700/24 482/701/88 +f 114/711/70 380/712/78 376/713/5 +f 373/714/79 117/715/6 374/716/6 +f 374/717/6 116/718/97 375/719/81 +f 372/720/13 123/721/80 113/722/80 +f 379/723/98 113/722/80 123/721/80 +f 116/718/97 118/724/9 121/725/70 +f 124/153/99 125/154/99 381/702/89 +f 381/702/89 125/154/99 483/703/90 +f 126/694/82 484/726/100 122/151/101 +f 122/151/101 484/726/100 380/486/101 +f 481/727/102 365/689/77 364/675/67 +f 125/728/103 371/729/24 483/730/88 +f 380/712/78 377/731/77 376/713/5 +f 223/732/104 209/254/17 215/256/17 +f 153/186/6 485/733/79 486/734/6 +f 147/180/13 487/735/24 488/736/13 +f 161/195/77 489/737/5 490/738/77 +f 157/191/81 486/739/6 491/740/81 +f 149/182/80 488/736/13 492/741/80 +f 163/197/67 490/738/77 493/742/67 +f 145/178/14 494/743/17 495/744/14 +f 160/194/70 491/740/81 496/745/70 +f 151/184/79 492/741/80 485/733/79 +f 142/175/17 493/742/67 494/743/17 +f 148/181/24 495/744/14 487/735/24 +f 159/193/5 496/745/70 489/737/5 +f 141/746/6 165/199/79 144/177/6 +f 384/747/70 143/176/81 146/179/70 +f 389/748/13 158/192/24 162/196/13 +f 387/749/17 154/187/67 156/498/17 +f 385/750/5 146/179/70 150/183/5 +f 390/751/80 162/196/13 164/198/80 +f 388/752/14 156/190/17 155/189/14 +f 139/753/77 150/183/5 152/185/77 +f 391/754/79 164/198/80 165/199/79 +f 383/755/81 144/177/6 143/176/81 +f 140/756/24 155/189/14 158/192/24 +f 386/757/67 152/185/77 154/187/67 +f 497/758/77 397/759/67 396/760/77 +f 498/761/24 166/762/105 400/763/24 +f 499/764/67 398/765/17 397/759/67 +f 500/766/17 399/767/14 398/768/17 +f 501/769/106 396/760/77 395/770/106 +f 502/771/14 400/763/24 399/767/14 +f 401/635/17 503/772/105 436/633/17 +f 437/638/17 395/770/106 394/501/17 +f 36/773/62 504/774/107 91/775/13 +f 67/776/5 505/777/108 38/778/59 +f 67/776/1 130/779/109 506/780/110 +f 91/775/1 507/781/110 92/782/109 +f 504/783/111 92/782/109 507/781/110 +f 132/784/111 506/780/110 130/779/109 +f 504/785/1 473/786/1 474/787/1 +f 508/788/6 407/789/112 509/790/112 +f 510/791/2 409/792/113 511/793/113 +f 512/794/114 404/795/115 513/796/115 +f 514/797/17 402/798/116 515/799/116 +f 509/790/112 406/800/117 516/801/117 +f 511/793/113 408/802/118 517/803/118 +f 513/796/115 403/804/17 514/797/17 +f 515/799/116 171/805/119 518/806/119 +f 516/801/117 405/807/1 519/808/1 +f 517/803/118 170/809/6 508/810/6 +f 518/806/119 410/811/2 510/791/2 +f 519/808/1 169/812/114 512/794/114 +f 520/813/6 416/814/118 521/815/118 +f 522/816/1 418/817/117 523/818/117 +f 524/819/119 413/820/116 525/821/116 +f 526/822/17 411/823/115 527/824/115 +f 521/815/118 415/825/113 528/826/113 +f 523/818/117 417/827/112 529/828/112 +f 525/821/116 412/829/17 526/822/17 +f 527/824/115 174/830/114 530/831/114 +f 528/826/113 414/832/2 531/833/2 +f 529/828/112 173/834/6 520/835/6 +f 530/831/114 419/836/1 522/816/1 +f 531/833/2 172/837/119 524/819/119 +f 427/838/120 235/839/121 230/840/121 +f 185/220/122 186/221/121 179/214/121 +f 182/278/101 237/841/120 427/838/120 +f 181/216/123 190/225/122 185/220/122 +f 187/842/1 184/843/110 178/844/1 +f 186/221/121 180/215/2 179/214/121 +f 184/843/110 421/845/124 420/846/124 +f 420/846/124 192/279/75 189/552/75 +f 207/243/125 197/232/126 200/235/125 +f 204/240/127 195/230/128 198/233/127 +f 205/847/129 422/848/130 199/849/129 +f 199/849/129 203/850/131 205/847/129 +f 198/233/127 206/242/126 204/240/127 +f 203/850/131 196/534/28 201/237/28 +f 426/851/132 219/260/17 226/852/17 +f 212/853/24 209/254/69 213/854/69 +f 220/261/133 426/851/132 369/855/134 +f 225/856/111 210/857/135 223/732/104 +f 211/470/136 226/852/17 219/260/17 +f 68/78/1 227/271/137 138/171/1 +f 62/71/138 228/272/137 61/70/138 +f 216/257/14 212/853/24 211/470/136 +f 229/277/139 238/292/140 183/218/140 +f 236/288/139 175/275/141 233/286/141 +f 177/212/142 233/286/141 175/275/141 +f 230/840/121 232/858/12 176/211/12 +f 270/859/42 256/860/143 259/861/42 +f 275/862/39 261/863/17 265/864/39 +f 272/865/17 259/861/42 261/863/17 +f 277/866/144 265/864/39 267/867/144 +f 260/868/37 273/869/6 263/870/6 +f 255/871/39 244/872/13 258/873/13 +f 266/874/42 428/875/17 269/876/17 +f 262/877/9 276/878/5 264/879/5 +f 258/873/13 271/880/37 260/868/37 +f 269/881/17 242/882/39 255/871/39 +f 264/879/5 240/883/42 266/874/42 +f 263/870/6 274/884/9 262/877/9 +f 289/353/13 435/564/13 279/885/145 +f 249/303/25 283/886/146 250/304/25 +f 284/346/147 251/305/16 253/307/16 +f 281/338/148 282/350/17 283/342/146 +f 286/887/6 532/888/123 533/889/6 +f 285/890/2 534/891/101 535/892/2 +f 431/893/17 536/894/75 537/895/17 +f 434/896/140 533/897/6 538/898/140 +f 433/899/123 535/892/2 532/888/123 +f 432/900/101 537/895/17 534/891/101 +f 430/901/75 539/902/1 536/894/75 +f 287/903/1 538/898/140 539/902/1 +f 288/904/17 280/337/17 254/335/17 +f 307/373/42 314/905/51 8/8/51 +f 315/906/48 308/374/39 5/5/48 +f 445/907/77 540/908/5 541/909/77 +f 443/910/81 542/911/6 543/912/81 +f 316/913/80 544/914/13 545/915/80 +f 446/916/67 541/909/77 546/917/67 +f 438/918/14 547/919/17 548/920/14 +f 317/921/70 543/912/81 549/922/70 +f 441/923/79 545/915/80 550/924/79 +f 318/925/17 546/917/67 547/919/17 +f 439/926/24 548/920/14 551/927/24 +f 444/928/5 549/922/70 540/908/5 +f 442/929/6 550/924/79 542/930/6 +f 440/931/13 551/927/24 544/914/13 +f 321/932/17 552/933/67 553/934/17 +f 448/935/24 554/936/14 555/937/24 +f 453/938/5 556/939/70 557/940/5 +f 451/941/6 558/942/79 559/943/6 +f 449/944/13 555/937/24 560/945/13 +f 454/946/77 557/940/5 561/947/77 +f 452/948/81 559/949/6 562/950/81 +f 319/951/80 560/945/13 563/952/80 +f 455/953/67 561/947/77 552/933/67 +f 447/954/14 553/934/17 554/936/14 +f 320/955/70 562/950/81 556/939/70 +f 450/956/79 563/952/80 558/942/79 +f 564/957/149 565/958/150 566/959/151 +f 564/957/149 567/960/152 568/961/18 +f 569/962/153 570/963/154 571/964/155 +f 566/959/151 572/965/156 573/966/157 +f 571/964/155 567/960/152 574/967/158 +f 573/966/157 575/968/159 576/969/160 +f 565/958/150 577/970/161 572/965/156 +f 570/963/154 578/971/162 579/972/163 +f 568/961/18 580/973/164 565/958/150 +f 572/965/156 581/974/165 575/968/159 +f 568/961/18 582/975/166 583/976/167 +f 570/963/154 582/975/166 567/960/152 +f 576/969/160 575/968/159 584/977/168 +f 575/968/159 581/974/165 584/978/168 +f 584/979/168 585/980/169 569/962/153 +f 585/980/169 584/981/168 578/971/162 +f 583/976/167 586/982/39 580/973/164 +f 577/970/161 587/983/42 581/974/165 +f 582/975/166 588/984/13 583/976/167 +f 584/985/168 589/986/9 578/971/162 +f 579/972/163 590/987/37 582/975/166 +f 581/974/165 591/988/5 584/989/168 +f 580/973/164 592/990/17 577/970/161 +f 578/971/162 593/991/6 579/972/163 +f 457/992/170 462/993/171 458/994/171 +f 458/994/171 334/995/99 329/996/99 +f 329/996/99 333/997/172 459/998/172 +f 330/999/10 333/997/172 332/1000/10 +f 330/1001/10 466/1002/173 460/1003/173 +f 460/1003/173 465/1004/174 331/1005/174 +f 461/1006/175 463/1007/170 457/992/170 +f 461/1006/175 465/1004/174 464/1008/175 +f 594/1009/176 336/1010/2 595/1011/2 +f 596/1012/18 337/1013/13 597/1014/13 +f 598/1015/5 469/1016/19 599/1017/19 +f 595/1018/2 470/1019/177 600/1020/177 +f 597/1014/13 471/1021/176 594/1009/176 +f 601/1022/1 467/1023/18 596/1012/18 +f 599/1017/19 468/1024/1 601/1022/1 +f 600/1020/177 335/1025/5 598/1015/5 +f 18/618/39 12/662/40 6/619/40 +f 4/621/41 15/629/41 21/622/42 +f 20/624/17 18/618/39 356/620/39 +f 9/623/42 21/622/42 20/626/17 +f 3/628/43 13/632/46 15/629/41 +f 436/633/47 315/906/48 5/5/48 +f 7/7/40 47/55/34 436/633/47 +f 47/55/34 167/634/34 436/633/47 +f 168/202/33 393/637/49 354/447/49 +f 392/636/50 167/634/34 47/55/34 +f 393/637/49 392/636/50 45/53/50 +f 8/8/51 314/905/51 437/638/52 +f 168/202/33 1/1/33 437/638/52 +f 1/1/33 355/448/41 437/638/52 +f 30/639/17 34/38/53 17/17/53 +f 35/40/40 37/42/34 26/29/34 +f 16/16/54 27/30/54 30/641/17 +f 34/38/53 35/40/40 10/10/40 +f 357/453/49 44/51/49 40/45/33 +f 42/47/50 44/51/49 357/453/49 +f 25/27/33 40/45/33 39/44/41 +f 37/42/34 42/47/50 22/23/50 +f 14/14/41 39/44/41 27/30/54 +f 473/643/39 504/774/107 33/644/40 +f 29/646/42 475/652/42 474/647/17 +f 474/649/17 473/643/39 32/645/39 +f 28/651/41 505/777/108 475/652/42 +f 43/653/55 53/658/60 49/654/56 +f 48/661/63 6/619/40 12/662/40 +f 23/26/45 2/630/44 46/666/66 +f 476/667/67 602/1026/77 78/668/68 +f 477/670/14 478/1027/17 84/671/17 +f 74/673/17 115/681/17 378/674/67 +f 478/676/17 476/667/67 77/669/67 +f 479/678/24 477/670/14 83/672/14 +f 363/680/14 370/1028/14 115/681/17 +f 128/158/69 479/678/24 81/679/24 +f 366/682/5 368/468/78 79/95/70 +f 480/685/73 361/1029/13 76/92/71 +f 361/1029/13 73/691/80 76/92/71 +f 127/686/74 80/1030/75 368/687/75 +f 365/689/77 481/727/102 368/468/78 +f 360/690/79 367/467/79 76/92/71 +f 358/692/81 85/101/81 82/98/6 +f 481/688/76 484/726/100 126/694/82 +f 359/695/6 82/102/6 367/467/79 +f 75/683/70 79/95/70 85/101/81 +f 131/162/83 86/1031/83 78/668/68 +f 78/668/68 602/1026/77 132/163/83 +f 362/700/24 361/1029/13 480/685/73 +f 482/696/84 133/698/86 381/702/89 +f 210/250/25 225/709/96 101/704/93 +f 101/704/93 120/1032/25 124/537/25 +f 98/706/94 208/708/95 129/160/16 +f 129/160/16 122/159/16 98/706/94 +f 104/707/39 112/1033/39 208/708/95 +f 225/709/96 111/1034/42 105/710/42 +f 371/729/24 370/1028/14 483/730/88 +f 370/1028/14 363/680/14 482/701/88 +f 483/730/88 370/1028/14 482/701/88 +f 114/711/70 121/725/70 380/712/78 +f 373/714/79 379/723/98 117/715/6 +f 374/717/6 117/1035/6 116/718/97 +f 372/720/13 125/728/103 123/721/80 +f 123/721/80 119/1036/37 379/723/98 +f 379/723/98 373/714/79 113/722/80 +f 121/725/70 114/711/70 116/718/97 +f 114/711/70 375/719/81 116/718/97 +f 364/675/67 378/674/67 484/1037/102 +f 378/674/67 377/731/77 484/1037/102 +f 484/1037/102 481/727/102 364/675/67 +f 125/728/103 372/720/13 371/729/24 +f 380/712/78 484/1037/102 377/731/77 +f 223/732/104 210/857/135 209/254/17 +f 153/186/6 151/184/79 485/733/79 +f 147/180/13 148/181/24 487/735/24 +f 161/195/77 159/193/5 489/737/5 +f 157/191/81 153/188/6 486/739/6 +f 149/182/80 147/180/13 488/736/13 +f 163/197/67 161/195/77 490/738/77 +f 145/178/14 142/175/17 494/743/17 +f 160/194/70 157/191/81 491/740/81 +f 151/184/79 149/182/80 492/741/80 +f 142/175/17 163/197/67 493/742/67 +f 148/181/24 145/178/14 495/744/14 +f 159/193/5 160/194/70 496/745/70 +f 141/746/6 391/754/79 165/199/79 +f 384/747/70 383/755/81 143/176/81 +f 389/748/13 140/756/24 158/192/24 +f 387/749/17 386/757/67 154/187/67 +f 385/750/5 384/747/70 146/179/70 +f 390/751/80 389/748/13 162/196/13 +f 388/752/14 387/1038/17 156/190/17 +f 139/753/77 385/750/5 150/183/5 +f 391/754/79 390/751/80 164/198/80 +f 383/755/81 141/746/6 144/177/6 +f 140/756/24 388/752/14 155/189/14 +f 386/757/67 139/753/77 152/185/77 +f 497/758/77 499/764/67 397/759/67 +f 498/761/24 503/772/105 166/762/105 +f 499/764/67 500/1039/17 398/765/17 +f 500/766/17 502/771/14 399/767/14 +f 501/769/106 497/758/77 396/760/77 +f 502/771/14 498/761/24 400/763/24 +f 401/635/17 166/762/105 503/772/105 +f 437/638/17 501/769/106 395/770/106 +f 91/775/13 54/659/61 36/773/62 +f 36/773/62 33/644/40 504/774/107 +f 504/774/107 507/781/13 91/775/13 +f 51/656/58 67/776/5 38/778/59 +f 67/776/5 506/780/5 505/777/108 +f 38/778/59 505/777/108 28/651/41 +f 504/783/111 128/1040/111 92/782/109 +f 132/784/111 505/1041/111 506/780/110 +f 475/1042/1 505/1043/1 474/787/1 +f 505/1043/1 504/785/1 474/787/1 +f 508/788/6 170/1044/6 407/789/112 +f 510/791/2 410/811/2 409/792/113 +f 512/794/114 169/812/114 404/795/115 +f 514/797/17 403/804/17 402/798/116 +f 509/790/112 407/789/112 406/800/117 +f 511/793/113 409/792/113 408/802/118 +f 513/796/115 404/795/115 403/804/17 +f 515/799/116 402/798/116 171/805/119 +f 516/801/117 406/800/117 405/807/1 +f 517/803/118 408/802/118 170/809/6 +f 518/806/119 171/805/119 410/811/2 +f 519/808/1 405/807/1 169/812/114 +f 520/813/6 173/1045/6 416/814/118 +f 522/816/1 419/836/1 418/817/117 +f 524/819/119 172/837/119 413/820/116 +f 526/822/17 412/829/17 411/823/115 +f 521/815/118 416/814/118 415/825/113 +f 523/818/117 418/817/117 417/827/112 +f 525/821/116 413/820/116 412/829/17 +f 527/824/115 411/823/115 174/830/114 +f 528/826/113 415/825/113 414/832/2 +f 529/828/112 417/827/112 173/834/6 +f 530/831/114 174/830/114 419/836/1 +f 531/833/2 414/832/2 172/837/119 +f 427/838/120 237/841/120 235/839/121 +f 185/220/122 190/225/122 186/221/121 +f 182/278/101 231/280/101 237/841/120 +f 181/216/123 193/228/123 190/225/122 +f 187/842/1 191/1046/110 184/843/110 +f 186/221/121 188/223/2 180/215/2 +f 184/843/110 191/1046/110 421/845/124 +f 420/846/124 421/845/124 192/279/75 +f 207/243/125 206/242/126 197/232/126 +f 204/240/127 202/238/128 195/230/128 +f 205/847/129 423/1047/130 422/848/130 +f 199/849/129 194/1048/131 203/850/131 +f 198/233/127 197/232/126 206/242/126 +f 203/850/131 194/1048/131 196/534/28 +f 426/851/132 220/261/133 219/260/17 +f 212/853/24 217/258/24 209/254/69 +f 369/855/134 93/1049/134 220/261/133 +f 93/1049/134 425/1050/134 220/261/133 +f 219/260/17 216/257/14 211/470/136 +f 211/470/136 88/107/178 226/852/17 +f 68/78/1 228/272/137 227/271/137 +f 62/71/138 227/271/137 228/272/137 +f 216/257/14 217/258/24 212/853/24 +f 229/277/139 236/288/139 238/292/140 +f 236/288/139 229/277/139 175/275/141 +f 177/212/142 234/283/142 233/286/141 +f 230/840/121 235/839/121 232/858/12 +f 270/859/42 243/1051/143 256/860/143 +f 275/862/39 272/865/17 261/863/17 +f 272/865/17 270/859/42 259/861/42 +f 277/866/144 275/862/39 265/864/39 +f 260/868/37 271/880/37 273/869/6 +f 255/871/39 242/882/39 244/872/13 +f 266/874/42 240/883/42 428/875/17 +f 262/877/9 274/884/9 276/878/5 +f 258/873/13 244/872/13 271/880/37 +f 269/881/17 428/1052/17 242/882/39 +f 264/879/5 276/878/5 240/883/42 +f 263/870/6 273/869/6 274/884/9 +f 284/346/147 246/563/13 279/885/145 +f 246/563/13 289/353/13 279/885/145 +f 249/303/25 281/1053/148 283/886/146 +f 284/346/147 279/885/145 251/305/16 +f 281/338/148 288/904/17 282/350/17 +f 286/887/6 433/899/123 532/888/123 +f 285/890/2 432/900/101 534/891/101 +f 431/893/17 430/901/75 536/894/75 +f 434/896/140 286/1054/6 533/897/6 +f 433/899/123 285/890/2 535/892/2 +f 432/900/101 431/893/17 537/895/17 +f 430/901/75 287/903/1 539/902/1 +f 287/903/1 434/896/140 538/898/140 +f 279/334/17 435/1055/17 254/335/17 +f 435/1055/17 288/904/17 254/335/17 +f 288/904/17 281/338/148 280/337/17 +f 307/373/42 312/567/42 314/905/51 +f 315/906/48 310/568/39 308/374/39 +f 445/907/77 444/928/5 540/908/5 +f 443/910/81 442/1056/6 542/911/6 +f 316/913/80 440/931/13 544/914/13 +f 446/916/67 445/907/77 541/909/77 +f 438/918/14 318/925/17 547/919/17 +f 317/921/70 443/910/81 543/912/81 +f 441/923/79 316/913/80 545/915/80 +f 318/925/17 446/916/67 546/917/67 +f 439/926/24 438/918/14 548/920/14 +f 444/928/5 317/921/70 549/922/70 +f 442/929/6 441/923/79 550/924/79 +f 440/931/13 439/926/24 551/927/24 +f 321/932/17 455/953/67 552/933/67 +f 448/935/24 447/954/14 554/936/14 +f 453/938/5 320/955/70 556/939/70 +f 451/941/6 450/956/79 558/942/79 +f 449/944/13 448/935/24 555/937/24 +f 454/946/77 453/938/5 557/940/5 +f 452/948/81 451/1057/6 559/949/6 +f 319/951/80 449/944/13 560/945/13 +f 455/953/67 454/946/77 561/947/77 +f 447/954/14 321/932/17 553/934/17 +f 320/955/70 452/948/81 562/950/81 +f 450/956/79 319/951/80 563/952/80 +f 564/957/149 568/961/18 565/958/150 +f 564/957/149 574/967/158 567/960/152 +f 569/962/153 585/980/169 570/963/154 +f 566/959/151 565/958/150 572/965/156 +f 571/964/155 570/963/154 567/960/152 +f 573/966/157 572/965/156 575/968/159 +f 565/958/150 580/973/164 577/970/161 +f 570/963/154 585/980/169 578/971/162 +f 568/961/18 583/976/167 580/973/164 +f 572/965/156 577/970/161 581/974/165 +f 568/961/18 567/960/152 582/975/166 +f 570/963/154 579/972/163 582/975/166 +f 583/976/167 588/984/13 586/982/39 +f 577/970/161 592/990/17 587/983/42 +f 582/975/166 590/987/37 588/984/13 +f 584/985/168 591/1058/5 589/986/9 +f 579/972/163 593/991/6 590/987/37 +f 581/974/165 587/983/42 591/988/5 +f 580/973/164 586/982/39 592/990/17 +f 578/971/162 589/986/9 593/991/6 +f 457/992/170 463/1007/170 462/993/171 +f 458/994/171 462/993/171 334/995/99 +f 329/996/99 334/995/99 333/997/172 +f 330/999/10 459/998/172 333/997/172 +f 330/1001/10 332/1059/10 466/1002/173 +f 460/1003/173 466/1002/173 465/1004/174 +f 461/1006/175 464/1008/175 463/1007/170 +f 461/1006/175 331/1005/174 465/1004/174 +f 594/1009/176 471/1021/176 336/1010/2 +f 596/1012/18 467/1023/18 337/1013/13 +f 598/1015/5 335/1025/5 469/1016/19 +f 595/1018/2 336/1060/2 470/1019/177 +f 597/1014/13 337/1013/13 471/1021/176 +f 601/1022/1 468/1024/1 467/1023/18 +f 599/1017/19 469/1016/19 468/1024/1 +f 600/1020/177 470/1019/177 335/1025/5 +o Bolt +v -0.108253 1.093750 -0.062500 +v 0.108253 1.093750 -0.062500 +v 0.000000 1.281250 -0.062500 +v 0.093750 1.318630 -2.875000 +v 0.000000 1.281250 -2.875000 +v 0.062500 1.264503 -2.875000 +v -0.162380 1.062500 -2.750000 +v -0.108253 1.093750 -2.875000 +v -0.108253 1.093750 -2.750000 +v 0.000000 1.343750 -2.812500 +v 0.000000 1.281250 -2.812500 +v -0.108253 1.218750 -2.750000 +v -0.187500 1.156250 -2.750000 +v -0.125000 1.156250 -2.750000 +v -0.062500 1.264503 -2.750000 +v -0.162380 1.250000 -2.750000 +v 0.162380 1.250000 -2.875000 +v 0.108253 1.218750 -2.875000 +v 0.187500 1.156250 -2.875000 +v 0.125000 1.156250 -2.875000 +v 0.108253 1.093750 -2.875000 +v 0.062500 1.047997 -2.875000 +v 0.162380 1.062500 -2.875000 +v 0.000000 0.968750 -2.875000 +v 0.000000 1.031250 -2.875000 +v -0.062500 1.047997 -2.875000 +v -0.093750 0.993870 -2.875000 +v -0.108253 1.218750 -3.062500 +v -0.187500 1.156250 -3.062500 +v -0.162380 1.250000 -3.062500 +v 0.000000 1.281250 -3.125000 +v 0.108253 1.218750 -3.125000 +v 0.000000 1.031250 -3.125000 +v -0.062500 1.264503 -3.062500 +v -0.093750 1.318630 -3.062500 +v 0.000000 1.343750 -3.062500 +v 0.062500 1.264503 -3.062500 +v 0.093750 1.318630 -3.062500 +v 0.108253 1.218750 -3.062500 +v 0.162380 1.250000 -3.062500 +v 0.187500 1.156250 -3.062500 +v 0.108253 1.093750 -3.062500 +v 0.162380 1.062500 -3.062500 +v 0.062500 1.047997 -3.062500 +v 0.093750 0.993870 -3.062500 +v 0.000000 1.031250 -3.062500 +v 0.000000 0.968750 -3.062500 +v -0.093750 0.993870 -3.062500 +v -0.108253 1.093750 -3.062500 +v -0.162380 1.062500 -3.062500 +v -0.589834 0.899576 -2.627277 +v -0.501673 0.800552 -2.510351 +v -0.542588 0.783848 -2.627277 +v -0.626668 0.952046 -2.488254 +v -0.548918 0.916279 -2.510351 +v -0.532177 0.720591 -2.488254 +v -0.535342 0.786807 -2.429790 +v -0.664418 0.869127 -2.663644 +v -0.681345 0.659693 -2.560987 +v -0.573092 0.703887 -2.605181 +v -0.725426 0.709205 -2.619450 +v -0.617173 0.753399 -2.663644 +v -0.775837 0.891148 -2.560987 +v -0.667583 0.935343 -2.605181 +v -0.690841 0.858340 -2.385596 +v -0.582587 0.902534 -2.429790 +v -0.806341 0.811187 -2.538889 +v -0.772672 0.824933 -2.619450 +v -0.734921 0.907852 -2.444060 +v -0.765425 0.827891 -2.421963 +v -0.643595 0.742613 -2.385596 +v -0.640430 0.676397 -2.444060 +v -0.718180 0.712164 -2.421963 +v -0.759095 0.695460 -2.538889 +v -0.062500 1.264503 -0.062500 +v -0.108253 1.218750 -0.062500 +v -0.125000 1.156250 -0.062500 +v -0.062500 1.047997 -0.062500 +v 0.000000 1.031250 -0.062500 +v 0.062500 1.047997 -0.062500 +v 0.125000 1.156250 -0.062500 +v 0.108253 1.218750 -0.062500 +v 0.062500 1.264503 -0.062500 +v 0.000000 1.343750 -2.875000 +v -0.162380 1.062500 -2.875000 +v -0.093750 1.318630 -2.750000 +v 0.093750 0.993870 -2.875000 +v -0.125000 1.156250 -3.062500 +v -0.108253 1.218750 -3.125000 +v -0.062500 1.264503 -3.125000 +v 0.062500 1.264503 -3.125000 +v 0.125000 1.156250 -3.125000 +v 0.108253 1.093750 -3.125000 +v 0.062500 1.047997 -3.125000 +v -0.062500 1.047997 -3.125000 +v -0.108253 1.093750 -3.125000 +v -0.125000 1.156250 -3.125000 +v 0.000000 1.281250 -3.062500 +v 0.125000 1.156250 -3.062500 +v -0.062500 1.047997 -3.062500 +v -0.125000 1.156250 -2.812500 +v -0.250000 1.112056 -2.830806 +v -0.125000 1.112056 -2.830806 +v -0.125000 1.218750 -2.875000 +v -0.250000 1.200444 -2.830806 +v -0.125000 1.200444 -2.830806 +v -0.125000 1.200444 -2.919194 +v -0.250000 1.218750 -2.875000 +v -0.125000 1.112056 -2.919194 +v -0.250000 1.156250 -2.937500 +v -0.125000 1.156250 -2.937500 +v -0.250000 1.093750 -2.875000 +v -0.125000 1.093750 -2.875000 +v -0.250000 1.156250 -2.812500 +v -0.250000 1.200444 -2.919194 +v -0.250000 1.112056 -2.919194 +v -0.312500 1.188603 -2.907352 +v -0.281250 1.106135 -2.913273 +v -0.281250 1.194523 -2.824885 +v -0.303347 1.208643 -2.864892 +v -0.303347 1.146143 -2.927392 +v -0.259153 1.154516 -2.810766 +v -0.358253 1.156250 -2.875000 +v -0.342400 1.181028 -2.837278 +v -0.342400 1.118528 -2.899778 +v -0.265853 1.149778 -2.806028 +v -0.265853 1.087278 -2.868528 +v -0.304127 1.089959 -2.897097 +v -0.304126 1.178347 -2.808709 +v -0.259153 1.092016 -2.873266 +v -0.468750 0.844143 -2.562893 +v -0.561150 0.913115 -2.569365 +v -0.561150 0.850615 -2.631865 +v -0.484604 0.881865 -2.538115 +v -0.484604 0.819365 -2.600615 +v -0.577003 0.888337 -2.607087 +v -0.522877 0.822046 -2.629184 +v -0.522877 0.910434 -2.540796 +v -0.567850 0.845877 -2.627127 +v -0.523657 0.854251 -2.510501 +v -0.523656 0.791751 -2.573001 +v -0.545753 0.805870 -2.613008 +v -0.545753 0.894258 -2.524620 +v -0.514503 0.811791 -2.530540 +v -0.567851 0.908377 -2.564627 +vt 0.762886 0.914773 +vt 0.782568 0.914773 +vt 0.772727 0.931818 +vt 0.818182 0.960227 +vt 0.812500 0.965909 +vt 0.812500 0.960227 +vt 0.704545 0.892045 +vt 0.698864 0.903409 +vt 0.698864 0.892045 +vt 0.732955 0.903409 +vt 0.727273 0.897727 +vt 0.732955 0.897727 +vt 0.801136 0.977273 +vt 0.806818 0.982955 +vt 0.801136 0.982955 +vt 0.801136 0.971591 +vt 0.806818 0.977273 +vt 0.818182 0.954545 +vt 0.812500 0.954545 +vt 0.818182 0.948864 +vt 0.812500 0.948864 +vt 0.812500 0.943182 +vt 0.812500 0.937500 +vt 0.818182 0.943182 +vt 0.818182 0.931818 +vt 0.812500 0.931818 +vt 0.812500 0.994318 +vt 0.818182 1.000000 +vt 0.812500 1.000000 +vt 0.812500 0.988636 +vt 0.818182 0.994318 +vt 0.801136 0.988636 +vt 0.806818 0.988636 +vt 0.715909 0.926136 +vt 0.710227 0.920455 +vt 0.715909 0.920455 +vt 0.795455 0.931818 +vt 0.785613 0.926136 +vt 0.795455 0.909091 +vt 0.721591 0.926136 +vt 0.721591 0.920455 +vt 0.727273 0.920455 +vt 0.732955 0.926136 +vt 0.732955 0.920455 +vt 0.738636 0.926136 +vt 0.738636 0.920455 +vt 0.744318 0.920455 +vt 0.750000 0.926136 +vt 0.750000 0.920455 +vt 0.755682 0.926136 +vt 0.755682 0.920455 +vt 0.761364 0.926136 +vt 0.761364 0.920455 +vt 0.698864 0.920455 +vt 0.693182 0.926136 +vt 0.693182 0.920455 +vt 0.704545 0.926136 +vt 0.704545 0.920455 +vt 0.642045 0.931818 +vt 0.630682 0.920455 +vt 0.642045 0.920455 +vt 0.664773 0.920455 +vt 0.676136 0.914773 +vt 0.676136 0.920455 +vt 0.630682 0.914773 +vt 0.630682 0.931818 +vt 0.625000 0.920455 +vt 0.647727 0.931818 +vt 0.642045 0.903409 +vt 0.642045 0.914773 +vt 0.647727 0.903409 +vt 0.659091 0.914773 +vt 0.647727 0.914773 +vt 0.664773 0.903409 +vt 0.664773 0.914773 +vt 0.681818 0.903409 +vt 0.693182 0.914773 +vt 0.681818 0.914773 +vt 0.647727 0.897727 +vt 0.642045 0.886364 +vt 0.647727 0.886364 +vt 0.676136 0.903409 +vt 0.630682 0.886364 +vt 0.625000 0.897727 +vt 0.625000 0.886364 +vt 0.676136 0.897727 +vt 0.659091 0.903409 +vt 0.664773 0.897727 +vt 0.630682 0.903409 +vt 0.625000 0.914773 +vt 0.625000 0.903409 +vt 0.647727 0.920455 +vt 0.630682 0.897727 +vt 0.642045 0.897727 +vt 0.767045 0.930296 +vt 0.762886 0.926136 +vt 0.761364 0.920455 +vt 0.767045 0.910613 +vt 0.772727 0.909091 +vt 0.778409 0.910613 +vt 0.784091 0.920455 +vt 0.782568 0.926136 +vt 0.778409 0.930296 +vt 0.818182 0.965909 +vt 0.704545 0.903409 +vt 0.727273 0.903409 +vt 0.806818 0.971591 +vt 0.818182 0.937500 +vt 0.818182 0.988636 +vt 0.710227 0.926136 +vt 0.805296 0.926136 +vt 0.801136 0.930296 +vt 0.789773 0.930296 +vt 0.784091 0.920455 +vt 0.785613 0.914773 +vt 0.789773 0.910613 +vt 0.801136 0.910613 +vt 0.805296 0.914773 +vt 0.806818 0.920455 +vt 0.727273 0.926136 +vt 0.744318 0.926136 +vt 0.698864 0.926136 +vt 0.625000 0.931818 +vt 0.693182 0.903409 +vt 0.556818 0.954545 +vt 0.556818 0.948864 +vt 0.556818 0.937500 +vt 0.556818 0.931818 +vt 0.710227 0.892045 +vt 0.556818 0.960227 +vt 0.556818 0.943182 +vt 0.556818 0.977273 +vt 0.556818 0.971591 +vt 0.556818 1.000000 +vt 0.556818 0.994318 +vt 0.556818 0.982955 +vt 0.806818 0.965909 +vt 0.732955 0.892045 +vt 0.727273 0.892045 +vt 0.556818 0.965909 +vt 0.715909 0.892045 +vt 0.721591 0.892045 +vt 0.698864 0.903409 +vt 0.744318 0.903409 +vt 0.750000 0.903409 +vt 0.693182 0.903409 +vt 0.738636 0.903409 +vt 0.755682 0.903409 +vt 0.761364 0.903409 +vt 0.732955 0.903409 +vt 0.715909 0.931818 +vt 0.744318 0.931818 +vt 0.761364 0.931818 +vt 0.710227 0.931818 +vt 0.738636 0.931818 +vt 0.727273 0.931818 +vt 0.755682 0.931818 +vt 0.704545 0.931818 +vt 0.732955 0.931818 +vt 0.721591 0.931818 +vt 0.750000 0.931818 +vt 0.698864 0.931818 +vt 0.556818 0.988636 +vt 0.625000 0.897727 +vt 0.613636 0.892045 +vt 0.625000 0.892045 +vt 0.625000 0.909091 +vt 0.613636 0.903409 +vt 0.625000 0.903409 +vt 0.625000 0.914773 +vt 0.613636 0.909091 +vt 0.625000 0.926136 +vt 0.613636 0.920455 +vt 0.625000 0.920455 +vt 0.613636 0.886364 +vt 0.625000 0.886364 +vt 0.613636 0.897727 +vt 0.613636 0.914773 +vt 0.625000 0.931818 +vt 0.613636 0.926136 +vt 0.607954 0.914773 +vt 0.613636 0.931818 +vt 0.607954 0.926136 +vt 0.607954 0.903409 +vt 0.607954 0.909091 +vt 0.607954 0.920455 +vt 0.607954 0.897727 +vt 0.602273 0.914773 +vt 0.602273 0.909091 +vt 0.602273 0.920455 +vt 0.602273 0.897727 +vt 0.602273 0.931818 +vt 0.602273 0.926136 +vt 0.602273 0.903409 +vt 0.610795 0.892045 +vt 0.610795 0.886364 +vt 0.607954 0.892045 +vt 0.613636 0.892045 +vt 0.605114 0.886364 +vt 0.602273 0.892045 +vt 0.605114 0.892045 +vt 0.562500 0.892045 +vt 0.602273 0.892045 +vt 0.562500 0.909091 +vt 0.562500 0.920455 +vt 0.562500 0.897727 +vt 0.562500 0.886364 +vt 0.602273 0.886364 +vt 0.562500 0.914773 +vt 0.562500 0.931818 +vt 0.562500 0.926136 +vt 0.562500 0.903409 +vt 0.556818 0.920455 +vt 0.556818 0.897727 +vt 0.556818 0.886364 +vt 0.556818 0.926136 +vt 0.556818 0.903409 +vt 0.556818 0.892045 +vt 0.556818 0.909091 +vt 0.693182 0.931818 +vt 0.607954 0.931818 +vt 0.556818 0.931818 +vn 0.0000 -0.0000 1.0000 +vn 0.5000 -0.8660 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.8660 0.3536 -0.3536 +vn 0.3451 0.9047 -0.2500 +vn 0.8796 -0.4047 -0.2500 +vn 0.8438 0.3445 0.4114 +vn 0.3809 0.1555 -0.9114 +vn 0.3780 -0.9258 0.0000 +vn -0.3273 -0.1336 -0.9354 +vn -0.3780 0.9258 0.0000 +vn 0.3273 0.1336 0.9354 +vn -0.8438 -0.3445 -0.4114 +vn -0.0358 0.7491 0.6614 +vn -0.3809 -0.1555 0.9114 +vn 0.4708 0.8158 0.3359 +vn -0.5292 0.4076 0.7442 +vn 0.0928 0.6615 -0.7442 +vn -0.4987 0.5602 -0.6614 +vn -0.9072 0.2532 -0.3359 +vn -0.8796 0.4047 0.2500 +vn 0.9072 -0.2532 0.3359 +vn 0.4987 -0.5602 0.6614 +vn 0.5292 -0.4075 -0.7442 +vn 0.0358 -0.7491 -0.6614 +vn -0.8660 -0.3536 0.3536 +vn -0.0928 -0.6615 0.7442 +vn -0.4708 -0.8158 -0.3359 +vn -0.3451 -0.9047 0.2500 +vn 0.8796 -0.4046 -0.2500 +vn -0.8660 -0.3536 0.3535 +vn 0.8660 0.5000 0.0000 +vn -0.0000 -1.0000 -0.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.8660 -0.5000 -0.0000 +vn -0.4538 0.8911 0.0000 +vn -0.5000 0.8660 0.0000 +vn -0.5000 -0.8660 -0.0000 +vn 0.2588 0.9659 0.0000 +vn 0.1569 0.9876 0.0000 +vn 0.7071 0.0000 0.7071 +vn 0.6293 0.1104 0.7693 +vn 0.5576 0.1963 0.8066 +vn 0.5576 0.1963 0.8065 +vn 0.4804 0.2773 0.8321 +vn -0.0000 1.0000 0.0000 +vn -0.5507 0.8347 -0.0000 +vn -0.8181 -0.5751 -0.0000 +vn -0.0890 0.9960 0.0000 +vn -0.8660 -0.5000 0.0000 +vn -0.9071 -0.4210 0.0000 +vn 0.5000 -0.6124 0.6124 +vn 0.0000 -0.7071 0.7071 +vn -0.0085 0.7292 0.6843 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +vn -0.0950 0.9953 -0.0202 +vn 0.0000 -0.7071 -0.7071 +vn -0.0951 0.0202 -0.9953 +vn 0.0910 -0.9956 -0.0242 +vn 0.0910 0.0242 0.9956 +vn -0.1266 0.7014 -0.7014 +vn -0.0085 -0.6843 -0.7292 +vn -0.5000 0.6124 -0.6124 +vn -0.0318 -0.6668 -0.7446 +vn -0.0318 0.7446 0.6668 +vn -0.3681 0.9294 0.0278 +vn -0.3681 -0.0277 -0.9294 +vn 0.3362 0.1116 0.9352 +vn -0.7958 0.4282 -0.4282 +vn -0.5743 0.7996 0.1754 +vn -0.5743 -0.1754 -0.7996 +vn 0.5493 0.2113 0.8085 +vn 0.5493 -0.8085 -0.2113 +vn -0.0232 -0.6903 -0.7232 +vn -0.0232 0.7232 0.6903 +vn 0.3362 -0.9352 -0.1116 +vn 0.7958 -0.4282 0.4282 +vn -0.5493 0.8085 0.2113 +vn -0.5493 -0.2113 -0.8085 +vn 0.5743 0.1754 0.7996 +vn 0.5743 -0.7996 -0.1754 +vn -0.8510 0.3713 -0.3713 +vn 0.0232 -0.7232 -0.6903 +vn 0.0232 0.6903 0.7232 +vn -0.4844 -0.1726 -0.8576 +vn 0.5287 0.0957 0.8434 +vn 0.5287 -0.8434 -0.0956 +vn 0.0465 -0.7385 -0.6727 +vn 0.0465 0.6727 0.7385 +vn 0.7071 -0.5000 0.5000 +vn -0.4844 0.8577 0.1725 +vn -0.7071 -0.7071 0.0000 +vn -0.2588 0.9659 0.0000 +vn -0.9659 -0.2588 0.0000 +s off +f 603/1061/179 604/1062/179 605/1063/179 +f 606/1064/179 607/1065/179 608/1066/179 +f 609/1067/180 610/1068/180 611/1069/180 +f 607/1070/181 612/1071/181 613/1072/181 +f 614/1073/179 615/1074/179 616/1075/179 +f 617/1076/179 618/1077/179 614/1073/179 +f 619/1078/179 608/1066/179 620/1079/179 +f 621/1080/179 620/1079/179 622/1081/179 +f 623/1082/179 621/1080/179 622/1081/179 +f 624/1083/179 625/1084/179 623/1082/179 +f 626/1085/179 624/1083/179 627/1086/179 +f 628/1087/179 626/1088/179 627/1089/179 +f 610/1090/179 629/1091/179 628/1087/179 +f 611/1092/179 615/1074/179 609/1093/179 +f 630/1094/182 631/1095/182 632/1096/182 +f 633/1097/182 634/1098/182 635/1099/182 +f 636/1100/182 632/1096/182 637/1101/182 +f 638/1102/182 636/1100/182 637/1101/182 +f 639/1103/182 638/1102/182 640/1104/182 +f 641/1105/182 640/1104/182 642/1106/182 +f 643/1107/182 641/1105/182 642/1106/182 +f 644/1108/182 643/1107/182 645/1109/182 +f 646/1110/182 645/1109/182 647/1111/182 +f 648/1112/182 647/1111/182 649/1113/182 +f 650/1114/182 648/1115/182 649/1116/182 +f 631/1095/182 651/1117/182 652/1118/182 +f 651/1117/182 650/1114/182 652/1118/182 +f 653/1119/183 654/1120/183 655/1121/183 +f 653/1122/184 656/1123/184 657/1124/184 +f 658/1125/185 655/1121/185 654/1120/185 +f 657/1126/186 659/1127/186 654/1120/186 +f 655/1121/187 660/1128/187 653/1119/187 +f 658/1125/188 661/1129/188 662/1130/188 +f 663/1131/189 660/1132/189 664/1133/189 +f 665/1134/190 656/1123/190 666/1135/190 +f 667/1136/191 659/1137/191 668/1138/191 +f 663/1139/192 669/1140/192 670/1141/192 +f 671/1142/193 668/1138/193 656/1123/193 +f 672/1143/194 673/1144/194 667/1145/194 +f 657/1124/195 656/1123/195 668/1138/195 +f 671/1142/196 672/1146/196 667/1136/196 +f 653/1122/197 660/1132/197 666/1135/197 +f 670/1147/198 666/1135/198 660/1132/198 +f 669/1148/199 665/1134/199 670/1147/199 +f 665/1134/200 672/1146/200 671/1142/200 +f 654/1120/201 659/1127/201 658/1125/201 +f 674/1149/202 659/1150/202 673/1151/202 +f 655/1121/203 662/1130/203 664/1152/203 +f 661/1129/204 664/1133/204 662/1130/204 +f 669/1140/205 675/1153/205 672/1143/205 +f 673/1144/206 675/1153/206 674/1149/206 +f 663/1139/207 661/1129/207 676/1154/207 +f 674/1149/208 676/1154/208 661/1129/208 +f 605/1063/179 677/1155/179 678/1156/179 +f 678/1156/179 679/1157/179 605/1063/179 +f 679/1157/179 603/1061/179 605/1063/179 +f 603/1061/179 680/1158/179 604/1062/179 +f 680/1158/179 681/1159/179 604/1062/179 +f 681/1159/179 682/1160/179 604/1062/179 +f 604/1062/179 683/1161/179 605/1063/179 +f 683/1161/179 684/1162/179 605/1063/179 +f 684/1162/179 685/1163/179 605/1063/179 +f 606/1064/179 686/1164/179 607/1065/179 +f 609/1067/180 687/1165/180 610/1068/180 +f 607/1070/181 686/1166/181 612/1071/181 +f 614/1073/179 618/1077/179 615/1074/179 +f 617/1076/179 688/1167/179 618/1077/179 +f 619/1078/179 606/1064/179 608/1066/179 +f 621/1080/179 619/1078/179 620/1079/179 +f 623/1082/179 625/1084/179 621/1080/179 +f 624/1083/179 689/1168/179 625/1084/179 +f 626/1085/179 689/1168/179 624/1083/179 +f 628/1087/179 629/1091/179 626/1088/179 +f 610/1090/179 687/1169/179 629/1091/179 +f 611/1092/179 616/1075/179 615/1074/179 +f 630/1094/182 690/1170/182 631/1095/182 +f 691/1171/182 692/1172/182 633/1097/182 +f 633/1097/182 693/1173/182 634/1098/182 +f 634/1098/182 694/1174/182 695/1175/182 +f 695/1175/182 696/1176/182 634/1098/182 +f 696/1176/182 635/1099/182 634/1098/182 +f 635/1099/182 697/1177/182 691/1171/182 +f 697/1177/182 698/1178/182 691/1171/182 +f 698/1178/182 699/1179/182 691/1171/182 +f 691/1171/182 633/1097/182 635/1099/182 +f 636/1100/182 630/1094/182 632/1096/182 +f 638/1102/182 700/1180/182 636/1100/182 +f 639/1103/182 700/1180/182 638/1102/182 +f 641/1105/182 639/1103/182 640/1104/182 +f 643/1107/182 701/1181/182 641/1105/182 +f 644/1108/182 701/1181/182 643/1107/182 +f 646/1110/182 644/1108/182 645/1109/182 +f 648/1112/182 646/1110/182 647/1111/182 +f 650/1114/182 702/1182/182 648/1115/182 +f 631/1095/182 690/1170/182 651/1117/182 +f 651/1117/182 702/1182/182 650/1114/182 +f 653/1119/183 657/1126/183 654/1120/183 +f 653/1122/184 666/1135/184 656/1123/184 +f 658/1125/209 662/1130/209 655/1121/209 +f 657/1126/186 668/1183/186 659/1127/186 +f 655/1121/187 664/1152/187 660/1128/187 +f 658/1125/188 674/1149/188 661/1129/188 +f 663/1131/189 670/1147/189 660/1132/189 +f 665/1134/190 671/1142/190 656/1123/190 +f 667/1136/191 673/1184/191 659/1137/191 +f 663/1139/192 676/1154/192 669/1140/192 +f 671/1142/193 667/1136/193 668/1138/193 +f 672/1143/194 675/1153/194 673/1144/194 +f 670/1147/198 665/1134/198 666/1135/198 +f 665/1134/200 669/1148/200 672/1146/200 +f 674/1149/202 658/1125/202 659/1150/202 +f 661/1129/204 663/1131/204 664/1133/204 +f 669/1140/210 676/1154/210 675/1153/210 +f 674/1149/208 675/1153/208 676/1154/208 +s 1 +f 622/1081/181 684/1185/211 683/1186/181 +f 627/1086/212 682/1187/180 681/1188/212 +f 615/1189/213 632/1096/214 631/1095/213 +f 620/1079/211 685/1190/215 684/1185/211 +f 624/1083/180 604/1191/216 682/1187/180 +f 617/1076/217 678/1192/214 677/1193/218 +f 623/1082/216 683/1186/181 604/1191/216 +f 628/1087/219 681/1194/212 680/1195/219 +f 614/1073/214 679/1196/213 678/1192/214 +f 608/1066/215 607/1065/220 613/1197/221 +f 613/1072/222 612/1071/223 617/1198/224 +f 617/1198/225 612/1071/223 688/1199/226 +f 605/1200/227 617/1076/217 677/1193/218 +f 637/1101/218 618/1201/214 688/1202/228 +f 611/1092/229 628/1087/219 680/1195/219 +f 688/1202/228 686/1166/230 637/1101/218 +f 652/1118/231 629/1203/219 687/1165/232 +f 645/1109/216 621/1204/181 625/1205/216 +f 650/1114/219 626/1206/212 629/1203/219 +f 643/1107/181 619/1207/211 621/1204/181 +f 649/1113/212 689/1208/180 626/1209/212 +f 619/1207/211 640/1104/215 606/1210/215 +f 647/1111/180 625/1205/216 689/1208/180 +f 640/1104/215 686/1166/230 606/1210/215 +f 631/1095/213 652/1118/231 687/1165/232 +f 691/1211/214 690/1170/213 630/1094/214 +f 694/1212/181 641/1105/211 701/1181/181 +f 635/1213/212 646/1110/180 648/1112/212 +f 699/1214/213 651/1117/231 690/1170/213 +f 634/1215/211 639/1103/215 641/1105/211 +f 633/1216/227 636/1100/218 700/1180/227 +f 696/1217/180 644/1108/216 646/1110/180 +f 698/1218/231 702/1182/219 651/1117/231 +f 693/1219/215 700/1180/227 639/1103/215 +f 692/1220/218 630/1094/214 636/1100/218 +f 695/1221/216 701/1181/181 644/1108/216 +f 697/1222/219 648/1115/212 702/1182/219 +f 679/1196/213 611/1092/229 603/1223/231 +f 703/1224/179 704/1225/233 705/1226/234 +f 706/1227/227 707/1228/235 708/1229/236 +f 709/1230/237 710/1231/238 706/1227/227 +f 711/1232/239 712/1233/240 713/1234/182 +f 705/1226/234 714/1235/241 715/1236/212 +f 708/1229/236 716/1237/242 703/1224/179 +f 713/1234/182 717/1238/243 709/1230/237 +f 715/1239/212 718/1240/244 711/1232/239 +f 712/1233/240 719/1241/245 717/1238/243 +f 714/1242/241 720/1243/246 718/1240/244 +f 710/1231/238 721/1244/247 707/1228/235 +f 717/1238/243 722/1245/248 710/1231/238 +f 712/1233/240 720/1243/246 723/1246/249 +f 707/1228/235 724/1247/250 716/1237/242 +f 722/1245/248 725/1248/251 726/1249/252 +f 720/1243/246 727/1250/253 723/1246/249 +f 721/1244/247 728/1251/254 724/1247/250 +f 723/1246/249 725/1248/251 719/1241/245 +f 720/1243/246 729/1252/255 730/1253/256 +f 721/1244/247 726/1249/252 731/1254/257 +f 716/1237/242 724/1247/250 704/1255/233 +f 704/1256/233 732/1257/258 714/1258/241 +f 732/1257/258 704/1259/233 729/1260/255 +f 724/1247/250 728/1251/254 704/1261/233 +f 728/1251/254 733/1262/259 704/1263/233 +f 725/1248/251 734/1264/260 726/1249/252 +f 730/1253/256 735/1265/261 727/1250/253 +f 731/1254/257 736/1266/262 728/1251/254 +f 704/1263/233 737/1267/263 729/1268/255 +f 727/1250/253 738/1269/264 725/1248/251 +f 730/1253/256 737/1270/263 739/1271/265 +f 726/1249/252 740/1272/266 731/1254/257 +f 739/1271/265 741/1273/267 735/1265/261 +f 740/1272/266 742/1274/268 736/1266/262 +f 733/1262/259 743/1275/269 737/1267/263 +f 737/1270/263 744/1276/270 739/1271/265 +f 734/1264/260 745/1277/271 740/1272/266 +f 736/1266/262 746/1278/272 733/1262/259 +f 738/1269/264 747/1279/273 734/1264/260 +f 735/1265/261 741/1273/267 738/1269/264 +f 622/1081/181 620/1079/211 684/1185/211 +f 627/1086/212 624/1083/180 682/1187/180 +f 615/1189/213 618/1201/214 632/1096/214 +f 620/1079/211 608/1066/215 685/1190/215 +f 624/1083/180 623/1082/216 604/1191/216 +f 617/1076/217 614/1073/214 678/1192/214 +f 623/1082/216 622/1081/181 683/1186/181 +f 628/1087/219 627/1089/212 681/1194/212 +f 614/1073/214 616/1075/213 679/1196/213 +f 613/1197/221 605/1200/227 685/1190/215 +f 685/1190/215 608/1066/215 613/1197/221 +f 605/1200/227 613/1197/221 617/1076/217 +f 637/1101/218 632/1096/214 618/1201/214 +f 680/1195/219 603/1223/231 611/1092/229 +f 611/1092/229 610/1090/274 628/1087/219 +f 612/1071/275 686/1166/230 688/1202/228 +f 686/1166/230 638/1102/227 637/1101/218 +f 652/1118/231 650/1114/219 629/1203/219 +f 645/1109/216 643/1107/181 621/1204/181 +f 650/1114/219 649/1116/212 626/1206/212 +f 643/1107/181 642/1106/211 619/1207/211 +f 649/1113/212 647/1111/180 689/1208/180 +f 619/1207/211 642/1106/211 640/1104/215 +f 647/1111/180 645/1109/216 625/1205/216 +f 640/1104/215 638/1102/227 686/1166/230 +f 687/1165/232 609/1067/276 615/1189/213 +f 615/1189/213 631/1095/213 687/1165/232 +f 691/1211/214 699/1214/213 690/1170/213 +f 694/1212/181 634/1215/211 641/1105/211 +f 635/1213/212 696/1217/180 646/1110/180 +f 699/1214/213 698/1218/231 651/1117/231 +f 634/1215/211 693/1219/215 639/1103/215 +f 633/1216/227 692/1220/218 636/1100/218 +f 696/1217/180 695/1221/216 644/1108/216 +f 698/1218/231 697/1222/219 702/1182/219 +f 693/1219/215 633/1216/227 700/1180/227 +f 692/1220/218 691/1211/214 630/1094/214 +f 695/1221/216 694/1212/181 701/1181/181 +f 697/1222/219 635/1280/212 648/1115/212 +f 679/1196/213 616/1075/213 611/1092/229 +f 703/1224/179 716/1237/242 704/1225/233 +f 706/1227/227 710/1231/238 707/1228/235 +f 709/1230/237 717/1238/243 710/1231/238 +f 711/1232/239 718/1240/244 712/1233/240 +f 705/1226/234 704/1225/233 714/1235/241 +f 708/1229/236 707/1228/235 716/1237/242 +f 713/1234/182 712/1233/240 717/1238/243 +f 715/1239/212 714/1242/241 718/1240/244 +f 712/1233/240 723/1246/249 719/1241/245 +f 714/1242/241 732/1281/258 720/1243/246 +f 710/1231/238 722/1245/248 721/1244/247 +f 717/1238/243 719/1241/245 722/1245/248 +f 712/1233/240 718/1240/244 720/1243/246 +f 707/1228/235 721/1244/247 724/1247/250 +f 722/1245/248 719/1241/245 725/1248/251 +f 720/1243/246 730/1253/256 727/1250/253 +f 721/1244/247 731/1254/257 728/1251/254 +f 723/1246/249 727/1250/253 725/1248/251 +f 720/1243/246 732/1281/258 729/1252/255 +f 721/1244/247 722/1245/248 726/1249/252 +f 728/1251/254 736/1266/262 733/1262/259 +f 725/1248/251 738/1269/264 734/1264/260 +f 730/1253/256 739/1271/265 735/1265/261 +f 731/1254/257 740/1272/266 736/1266/262 +f 704/1263/233 733/1262/259 737/1267/263 +f 727/1250/253 735/1265/261 738/1269/264 +f 730/1253/256 729/1252/255 737/1270/263 +f 726/1249/252 734/1264/260 740/1272/266 +f 739/1271/265 744/1276/270 741/1273/267 +f 740/1272/266 745/1277/271 742/1274/268 +f 733/1262/259 746/1278/272 743/1275/269 +f 737/1270/263 743/1282/269 744/1276/270 +f 734/1264/260 747/1279/273 745/1277/271 +f 736/1266/262 742/1274/268 746/1278/272 +o Stock +v -0.375000 0.393690 -2.078125 +v -0.375000 0.393690 -2.171875 +v -0.375000 0.231310 -2.171875 +v 0.375000 0.393690 -2.171875 +v 0.375000 0.393690 -2.078125 +v 0.375000 0.231310 -2.078125 +v -0.062500 0.218750 -4.125000 +v 0.062500 0.343750 -4.500000 +v 0.062500 0.218750 -4.125000 +v 0.250000 0.718750 -3.062500 +v -0.250000 0.718750 -3.062500 +v -0.375000 0.359375 -2.206190 +v -0.375000 0.312500 -2.218750 +v -0.375000 0.265625 -2.206190 +v -0.375000 0.218750 -2.125000 +v -0.375000 0.231310 -2.078125 +v -0.375000 0.265625 -2.043810 +v -0.375000 0.312500 -2.031250 +v -0.375000 0.359375 -2.043810 +v -0.375000 0.406250 -2.125000 +v 0.375000 0.312500 -2.218750 +v 0.375000 0.359375 -2.206190 +v 0.375000 0.406250 -2.125000 +v 0.375000 0.359375 -2.043810 +v 0.375000 0.312500 -2.031250 +v 0.375000 0.265625 -2.043810 +v 0.375000 0.218750 -2.125000 +v 0.375000 0.231310 -2.171875 +v 0.375000 0.265625 -2.206190 +v -0.062500 0.343750 -4.500000 +v -0.250000 0.531250 -1.750000 +v -0.312500 0.156250 -1.812500 +v -0.250000 0.093750 -1.750000 +v -0.312500 0.656250 -1.875000 +v -0.250000 0.718750 -1.812500 +v -0.250000 0.781250 -2.000000 +v -0.312500 0.718750 -3.062500 +v -0.312500 0.718750 -2.000000 +v -0.250000 -0.031250 -2.937500 +v -0.312500 0.031250 -2.937500 +v -0.312500 -0.156250 -3.437500 +v -0.250000 -0.218750 -3.437500 +v -0.312500 -0.343750 -3.687500 +v -0.250000 -0.406250 -3.687500 +v -0.312500 -0.593750 -3.812500 +v -0.250000 -0.656250 -3.812500 +v -0.312500 -0.718750 -4.562500 +v -0.250000 -0.781250 -4.562500 +v -0.312500 -2.031250 -7.500000 +v -0.250000 -2.093750 -7.500000 +v -0.250000 -2.031250 -7.625000 +v -0.312500 -1.968750 -7.625000 +v 0.312500 0.156250 -1.812500 +v 0.250000 0.531250 -1.750000 +v 0.250000 0.093750 -1.750000 +v 0.312500 0.656250 -1.875000 +v 0.250000 0.718750 -1.812500 +v 0.250000 0.781250 -2.000000 +v 0.312500 0.718750 -3.062500 +v 0.312500 0.718750 -2.000000 +v 0.250000 -0.031250 -2.937500 +v 0.312500 -0.156250 -3.437500 +v 0.250000 -0.218750 -3.437500 +v 0.312500 -0.343750 -3.687500 +v 0.250000 -0.406250 -3.687500 +v 0.312500 -0.593750 -3.812500 +v 0.250000 -0.656250 -3.812500 +v 0.312500 -0.718750 -4.562500 +v 0.250000 -0.781250 -4.562500 +v 0.312500 -2.031250 -7.500000 +v 0.250000 -2.093750 -7.500000 +v 0.250000 -2.031250 -7.625000 +v -0.312500 -0.156250 -7.937500 +v 0.250000 -0.031250 -7.812500 +v 0.312500 -0.156250 -7.937500 +v 0.062500 0.468750 -4.500000 +v -0.250000 -0.031250 -7.812500 +v -0.062500 0.468750 -4.500000 +v 0.062500 0.343750 -4.375000 +v -0.062500 0.343750 -4.375000 +v 0.062500 0.281250 -4.187500 +v -0.062500 0.281250 -4.187500 +v 0.062500 0.281250 -4.125000 +v -0.062500 0.281250 -4.125000 +v 0.187500 0.218750 -4.500000 +v -0.187500 0.218750 -4.500000 +v -0.250000 0.781250 -3.062500 +v -0.187500 0.218750 -4.375000 +v -0.312500 0.031250 -4.187500 +v -0.312500 0.531250 -1.812500 +v -0.312500 0.031250 -4.125000 +v 0.187500 0.218750 -4.375000 +v 0.312500 0.031250 -4.187500 +v 0.250000 0.781250 -3.062500 +v 0.312500 0.031250 -4.125000 +v 0.312500 0.531250 -1.812500 +v 0.312500 0.031250 -2.937500 +v -0.312500 0.468750 -2.125000 +v -0.312500 0.447816 -2.203125 +v -0.312500 0.390625 -2.260316 +v -0.312500 0.312500 -2.281250 +v -0.312500 0.234375 -2.260316 +v -0.312500 0.177184 -2.203125 +v -0.312500 0.156250 -2.125000 +v -0.312500 0.177184 -2.046875 +v -0.312500 0.234375 -1.989684 +v -0.312500 0.312500 -1.968750 +v -0.312500 0.390625 -1.989684 +v -0.312500 0.447816 -2.046875 +v 0.312500 -1.968750 -7.625000 +v 0.250000 -1.968750 -7.625000 +v -0.250000 -1.968750 -7.625000 +v 0.312500 0.468750 -2.125000 +v 0.312500 0.447816 -2.203125 +v 0.312500 0.390625 -2.260316 +v 0.312500 0.312500 -2.281250 +v 0.312500 0.234375 -2.260316 +v 0.312500 0.177184 -2.203125 +v 0.312500 0.156250 -2.125000 +v 0.312500 0.177184 -2.046875 +v 0.312500 0.234375 -1.989684 +v 0.312500 0.312500 -1.968750 +v 0.312500 0.390625 -1.989684 +v 0.312500 0.447816 -2.046875 +v -0.250000 -1.968750 -7.562500 +v 0.250000 -1.968750 -7.562500 +v -0.250000 -0.156250 -7.875000 +v 0.250000 -0.156250 -7.875000 +vt 0.004261 0.532949 +vt 0.012784 0.532949 +vt 0.012784 0.518187 +vt 0.012784 0.532949 +vt 0.004261 0.532949 +vt 0.004261 0.518187 +vt 0.488636 0.562500 +vt 0.454545 0.551136 +vt 0.488636 0.551136 +vt 0.585227 0.534091 +vt 0.585227 0.579545 +vt 0.015904 0.529830 +vt 0.017045 0.525568 +vt 0.015904 0.521307 +vt 0.008523 0.517045 +vt 0.004261 0.518187 +vt 0.001142 0.521307 +vt 0.000000 0.525568 +vt 0.001142 0.529830 +vt 0.008523 0.534091 +vt 0.017045 0.525568 +vt 0.015904 0.529830 +vt 0.008523 0.534091 +vt 0.001142 0.529830 +vt 0.000000 0.525568 +vt 0.001142 0.521307 +vt 0.008523 0.517045 +vt 0.012784 0.518187 +vt 0.015904 0.521307 +vt 0.454545 0.562500 +vt 0.119318 0.613636 +vt 0.153409 0.607955 +vt 0.159091 0.613636 +vt 0.109375 0.607955 +vt 0.107955 0.613636 +vt 0.096591 0.613636 +vt 0.106534 0.607955 +vt 0.000000 0.607955 +vt 0.096591 0.607955 +vt 0.267045 0.613636 +vt 0.164773 0.607955 +vt 0.267045 0.607955 +vt 0.312500 0.607955 +vt 0.312500 0.613636 +vt 0.340909 0.607955 +vt 0.340909 0.613636 +vt 0.363636 0.607955 +vt 0.363636 0.613636 +vt 0.000000 0.607955 +vt 0.068182 0.602273 +vt 0.068182 0.607955 +vt 0.357955 0.602273 +vt 0.357955 0.607955 +vt 0.369318 0.607955 +vt 0.369318 0.602273 +vt 0.153409 0.625000 +vt 0.119318 0.619318 +vt 0.159091 0.619318 +vt 0.109375 0.625000 +vt 0.107955 0.619318 +vt 0.106534 0.625000 +vt 0.096591 0.619318 +vt 0.000000 0.625000 +vt 0.096591 0.625000 +vt 0.267045 0.619318 +vt 0.164773 0.625000 +vt 0.312500 0.625000 +vt 0.312500 0.619318 +vt 0.340909 0.625000 +vt 0.340909 0.619318 +vt 0.363636 0.625000 +vt 0.363636 0.619318 +vt 0.068182 0.619318 +vt 0.000000 0.613636 +vt 0.068182 0.613636 +vt 0.357955 0.619318 +vt 0.357955 0.613636 +vt 0.369318 0.613636 +vt 0.170455 0.454545 +vt 0.181818 0.505682 +vt 0.170455 0.511364 +vt 0.482955 0.488636 +vt 0.181818 0.460227 +vt 0.482955 0.477273 +vt 0.500000 0.488636 +vt 0.500000 0.477273 +vt 0.517045 0.488636 +vt 0.517045 0.477273 +vt 0.522727 0.488636 +vt 0.522727 0.477273 +vt 0.244318 0.977273 +vt 0.244318 0.954545 +vt 0.545455 0.931818 +vt 0.244318 0.977273 +vt 0.545455 0.931818 +vt 0.244318 0.954545 +vt 0.522727 0.460227 +vt 0.630682 0.454545 +vt 0.630682 0.460227 +vt 0.500000 0.460227 +vt 0.517045 0.443182 +vt 0.005682 0.994318 +vt 0.017045 1.000000 +vt 0.000000 0.982955 +vt 0.000000 0.948864 +vt 0.102273 0.937500 +vt 0.113636 1.000000 +vt 0.147727 0.920455 +vt 0.210227 0.937500 +vt 0.170455 0.903409 +vt 0.181818 0.880682 +vt 0.215909 0.937500 +vt 0.250000 0.869318 +vt 0.556818 0.920455 +vt 0.517045 0.750000 +vt 0.528409 0.755682 +vt 0.232955 0.954545 +vt 0.232955 0.954545 +vt 0.500000 0.505682 +vt 0.517045 0.522727 +vt 0.630682 0.505682 +vt 0.630682 0.511364 +vt 0.522727 0.505682 +vt 0.522727 0.539773 +vt 0.522727 0.426136 +vt 0.005682 0.994318 +vt -0.000000 0.982955 +vt 0.017045 1.000000 +vt -0.000000 0.948864 +vt 0.102273 0.937500 +vt 0.113636 1.000000 +vt 0.147727 0.920455 +vt 0.210227 0.937500 +vt 0.170455 0.903409 +vt 0.181818 0.880682 +vt 0.215909 0.937500 +vt 0.556818 0.920455 +vt 0.250000 0.869318 +vt 0.517045 0.750000 +vt 0.056818 0.534091 +vt 0.051136 0.528409 +vt 0.056818 0.528409 +vt 0.062500 0.528409 +vt 0.068182 0.534091 +vt 0.068182 0.528409 +vt 0.073864 0.534091 +vt 0.073864 0.528409 +vt 0.079545 0.534091 +vt 0.079545 0.528409 +vt 0.085227 0.534091 +vt 0.085227 0.528409 +vt 0.022727 0.528409 +vt 0.017045 0.534091 +vt 0.017045 0.528409 +vt 0.028409 0.528409 +vt 0.022727 0.534091 +vt 0.034091 0.528409 +vt 0.028409 0.534091 +vt 0.039773 0.528409 +vt 0.034091 0.534091 +vt 0.051136 0.534091 +vt 0.045455 0.528409 +vt 0.039773 0.534091 +vt 0.005682 0.511364 +vt 0.000000 0.505682 +vt 0.005682 0.505682 +vt 0.005682 0.454545 +vt 0.005682 0.460227 +vt 0.000000 0.460227 +vt 0.051136 0.534091 +vt 0.056818 0.528409 +vt 0.056818 0.534091 +vt 0.062500 0.534091 +vt 0.062500 0.528409 +vt 0.068182 0.528409 +vt 0.068182 0.534091 +vt 0.073864 0.528409 +vt 0.073864 0.534091 +vt 0.079545 0.528409 +vt 0.079545 0.534091 +vt 0.085227 0.528409 +vt 0.085227 0.534091 +vt 0.022727 0.534091 +vt 0.017045 0.528409 +vt 0.022727 0.528409 +vt 0.028409 0.534091 +vt 0.028409 0.528409 +vt 0.034091 0.534091 +vt 0.034091 0.528409 +vt 0.039773 0.534091 +vt 0.039773 0.528409 +vt 0.045455 0.534091 +vt 0.051136 0.528409 +vt 0.045455 0.528409 +vt 0.511364 0.579545 +vt 0.505682 0.579545 +vt 0.511364 0.573864 +vt 0.511364 0.579545 +vt 0.511364 0.573864 +vt 0.505682 0.579545 +vt 0.005682 0.534091 +vt 0.000000 0.579545 +vt 0.000000 0.534091 +vt 0.170455 0.579545 +vt 0.005682 0.579545 +vt 0.590909 0.534091 +vt 0.590909 0.579545 +vt 0.170455 0.534091 +vt 0.005682 0.823864 +vt 0.022727 0.829545 +vt 0.000000 0.806818 +vt 0.119318 0.823864 +vt 0.107955 0.755682 +vt 0.000000 0.767045 +vt 0.176136 0.721591 +vt 0.153409 0.738636 +vt 0.215909 0.778409 +vt 0.187500 0.698864 +vt 0.255682 0.687500 +vt 0.250000 0.789773 +vt 0.534091 0.744318 +vt 0.500000 0.568182 +vt 0.005682 0.823864 +vt 0.000000 0.806818 +vt 0.022727 0.829545 +vt 0.119318 0.823864 +vt 0.119318 0.829545 +vt 0.107955 0.755682 +vt 0.000000 0.767045 +vt 0.153409 0.738636 +vt 0.215909 0.778409 +vt 0.176136 0.721591 +vt 0.187500 0.698864 +vt 0.255682 0.687500 +vt 0.250000 0.789773 +vt 0.534091 0.744318 +vt 0.500000 0.568182 +vt 0.119318 0.607955 +vt 0.117898 0.607955 +vt 0.098011 0.607955 +vt 0.000000 0.613636 +vt 0.000000 0.602273 +vt 0.119318 0.625000 +vt 0.117898 0.625000 +vt 0.098011 0.625000 +vt 0.000000 0.619318 +vt 0.267045 0.625000 +vt 0.000000 0.619318 +vt 0.369318 0.619318 +vt 0.522727 0.443182 +vt 0.522727 0.522727 +vt 0.528409 0.755682 +vt 0.062500 0.534091 +vt 0.045455 0.534091 +vt 0.017045 0.534091 +vt 0.119318 0.829545 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -0.9487 -0.3162 +vn 0.0000 -0.9048 0.4258 +vn -0.7202 0.1292 0.6816 +vn -0.7071 0.0000 0.7071 +vn -0.7863 0.4369 0.4369 +vn -0.8165 0.4082 0.4082 +vn -0.7202 0.6816 0.1292 +vn -0.6870 0.6870 -0.2366 +vn -0.6949 0.6949 0.1848 +vn -0.6969 -0.6951 0.1766 +vn -0.7385 -0.6706 0.0707 +vn -0.6982 -0.6982 0.1581 +vn -0.6650 -0.6650 0.3398 +vn -0.6521 -0.6521 0.3868 +vn -0.5716 -0.5716 0.5886 +vn -0.4925 -0.4925 0.7175 +vn -0.5704 -0.5704 0.5909 +vn -0.6517 -0.6517 0.3881 +vn -0.6932 -0.6932 0.1973 +vn -0.6895 -0.6895 0.2215 +vn -0.7070 -0.7070 -0.0195 +vn -0.7070 -0.7070 -0.0131 +vn -0.6667 -0.6667 -0.3333 +vn 0.7071 0.0000 0.7071 +vn 0.7195 0.2771 0.6368 +vn 0.7863 0.4369 0.4369 +vn 0.8165 0.4082 0.4082 +vn 0.7202 0.6816 0.1292 +vn 0.6870 0.6870 -0.2366 +vn 0.6949 0.6949 0.1848 +vn 0.6969 -0.6951 0.1766 +vn 0.7385 -0.6706 0.0707 +vn 0.7397 -0.6692 0.0704 +vn 0.6650 -0.6650 0.3398 +vn 0.6521 -0.6521 0.3868 +vn 0.5716 -0.5716 0.5886 +vn 0.4925 -0.4925 0.7175 +vn 0.5704 -0.5704 0.5909 +vn 0.6517 -0.6517 0.3881 +vn 0.6932 -0.6932 0.1973 +vn 0.6895 -0.6895 0.2215 +vn 0.7070 -0.7070 -0.0195 +vn 0.7070 -0.7070 -0.0131 +vn 0.6667 -0.6667 -0.3333 +vn 0.0000 0.2421 -0.9702 +vn 0.0000 0.8749 -0.4843 +vn 0.0000 0.9888 -0.1493 +vn 0.0000 0.8507 0.5257 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.9871 0.1602 +vn 0.3731 0.8951 -0.2443 +vn -0.3731 0.8951 -0.2443 +vn 0.8944 0.4472 -0.0130 +vn 0.8728 0.4879 -0.0146 +vn 0.8872 0.4611 -0.0181 +vn -0.8944 0.4472 -0.0130 +vn -0.8872 0.4611 -0.0181 +vn -0.8728 0.4879 -0.0146 +vn -0.4980 0.8162 -0.2930 +vn -0.7017 0.7017 0.1232 +vn -0.6318 0.6318 0.4491 +vn -0.6758 0.6758 0.2944 +vn -0.7053 0.7053 0.0723 +vn -0.9921 0.1254 -0.0045 +vn -0.9854 0.1702 -0.0069 +vn -0.8545 0.5194 0.0000 +vn -0.5774 0.5774 0.5774 +vn 0.8545 0.5194 0.0000 +vn 0.6318 0.6318 0.4491 +vn 0.6758 0.6758 0.2944 +vn 0.5774 0.5774 0.5774 +vn 0.7017 0.7017 0.1232 +vn 0.7053 0.7053 0.0723 +vn 0.4980 0.8162 -0.2930 +vn 0.6953 0.6953 -0.1823 +vn -0.6953 0.6953 -0.1823 +vn 0.9921 0.1254 -0.0045 +vn 0.9854 0.1702 -0.0069 +vn -0.7071 0.6124 -0.3536 +vn -0.7071 0.7071 0.0000 +vn -0.7071 0.3536 -0.6124 +vn -0.7071 0.0000 -0.7071 +vn -0.7071 -0.3536 -0.6124 +vn -0.7071 -0.6124 -0.3536 +vn -0.7071 -0.7071 0.0000 +vn -0.7071 -0.6124 0.3536 +vn -0.7071 -0.3536 0.6124 +vn -0.7071 0.3536 0.6124 +vn -0.7071 0.6124 0.3536 +vn 0.0000 -0.1136 -0.9935 +vn 0.0000 0.0000 -1.0000 +vn 0.7071 0.7071 0.0000 +vn 0.7071 0.6124 -0.3536 +vn 0.7071 0.3536 -0.6124 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 -0.3536 -0.6124 +vn 0.7071 -0.6124 -0.3536 +vn 0.7071 -0.7071 0.0000 +vn 0.7071 -0.6124 0.3536 +vn 0.7071 -0.3536 0.6124 +vn 0.7071 0.3536 0.6124 +vn 0.7071 0.6124 0.3536 +vn 0.0000 -0.6442 0.7648 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.5715 0.8206 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.9892 0.1465 +vn -0.9992 -0.0151 0.0379 +vn -0.9811 -0.1672 0.0979 +vn -0.9852 -0.1026 0.1371 +vn -0.9841 -0.1620 0.0733 +vn -0.9906 -0.1366 0.0031 +vn -0.9859 -0.1620 -0.0420 +vn -0.9993 -0.0355 -0.0067 +vn 0.9992 -0.0151 0.0379 +vn 0.9852 -0.1026 0.1371 +vn 0.9841 -0.1620 0.0733 +vn 0.9811 -0.1672 0.0979 +vn 0.9906 -0.1366 0.0031 +vn 0.9859 -0.1620 -0.0420 +vn 0.9993 -0.0355 -0.0067 +vn -0.6949 0.1848 0.6949 +vn -0.7397 -0.6692 0.0704 +vn 0.6667 0.3333 0.6667 +vn 0.6982 -0.6982 0.1581 +s off +f 748/1283/277 749/1284/277 750/1285/277 +f 751/1286/278 752/1287/278 753/1288/278 +f 754/1289/279 755/1290/279 756/1291/279 +f 754/1289/280 757/1292/280 758/1293/280 +f 749/1284/277 759/1294/277 750/1285/277 +f 759/1294/277 760/1295/277 750/1285/277 +f 760/1295/277 761/1296/277 750/1285/277 +f 750/1285/277 762/1297/277 763/1298/277 +f 763/1298/277 764/1299/277 750/1285/277 +f 764/1299/277 765/1300/277 750/1285/277 +f 765/1300/277 766/1301/277 748/1283/277 +f 748/1283/277 767/1302/277 749/1284/277 +f 765/1300/277 748/1283/277 750/1285/277 +f 768/1303/278 769/1304/278 751/1286/278 +f 751/1286/278 770/1305/278 752/1287/278 +f 752/1287/278 771/1306/278 772/1307/278 +f 772/1307/278 773/1308/278 752/1287/278 +f 773/1308/278 753/1288/278 752/1287/278 +f 753/1288/278 774/1309/278 775/1310/278 +f 775/1310/278 776/1311/278 753/1288/278 +f 776/1311/278 768/1303/278 753/1288/278 +f 768/1303/278 751/1286/278 753/1288/278 +f 754/1289/279 777/1312/279 755/1290/279 +f 754/1289/280 756/1291/280 757/1292/280 +s 1 +f 778/1313/281 779/1314/282 780/1315/282 +f 781/1316/283 778/1313/281 782/1317/284 +f 783/1318/285 781/1319/283 782/1317/284 +f 783/1318/285 784/1320/286 785/1321/287 +f 786/1322/288 779/1323/289 787/1324/290 +f 786/1322/288 788/1325/291 789/1326/292 +f 789/1326/292 790/1327/293 791/1328/294 +f 791/1328/294 792/1329/295 793/1330/296 +f 793/1331/296 794/1332/297 795/1333/298 +f 795/1333/298 796/1334/299 797/1335/300 +f 798/1336/301 796/1334/299 799/1337/301 +f 800/1338/302 801/1339/302 802/1340/302 +f 801/1339/303 803/1341/304 804/1342/305 +f 803/1343/304 805/1344/306 804/1342/305 +f 806/1345/307 805/1344/306 807/1346/308 +f 808/1347/309 800/1348/310 802/1340/311 +f 809/1349/312 808/1347/309 810/1350/313 +f 811/1351/314 810/1350/313 812/1352/315 +f 813/1353/316 812/1352/315 814/1354/317 +f 815/1355/318 814/1356/317 816/1357/319 +f 817/1358/320 816/1357/319 818/1359/321 +f 819/1360/322 817/1358/320 818/1359/321 +f 820/1361/323 821/1362/324 822/1363/323 +f 823/1364/325 824/1365/324 825/1366/325 +f 826/1367/326 825/1366/327 827/1368/326 +f 828/1369/328 827/1368/326 829/1370/328 +f 830/1371/329 829/1370/328 831/1372/330 +f 823/1373/331 832/1374/332 821/1375/333 +f 825/1376/334 824/1377/335 833/1378/336 +f 831/1379/330 784/1380/286 834/1381/337 +f 834/1381/337 830/1371/329 831/1372/330 +f 829/1370/338 827/1368/339 835/1382/340 +f 836/1383/341 831/1372/330 829/1370/338 +f 781/1384/277 785/1385/277 837/1386/277 +f 779/1387/277 837/1386/277 787/1388/277 +f 785/1385/277 784/1389/277 837/1386/277 +f 837/1386/277 784/1389/277 787/1388/277 +f 788/1390/277 787/1388/277 784/1389/277 +f 784/1389/277 838/1391/277 788/1390/277 +f 788/1390/277 838/1391/277 790/1392/277 +f 792/1393/277 790/1392/277 838/1391/277 +f 792/1393/277 836/1394/342 794/1395/277 +f 836/1394/342 820/1396/343 794/1395/277 +f 796/1397/277 820/1396/343 799/1398/277 +f 835/1399/344 833/1378/336 836/1394/342 +f 833/1378/336 820/1396/343 836/1394/342 +f 820/1396/343 833/1378/336 824/1377/335 +f 836/1383/341 829/1370/338 835/1382/340 +f 827/1368/339 825/1366/345 835/1382/340 +f 833/1378/336 835/1399/344 825/1376/334 +f 832/1374/332 823/1373/331 839/1400/346 +f 826/1367/347 839/1401/348 823/1364/349 +f 828/1369/350 839/1401/348 826/1367/347 +f 830/1371/329 840/1402/351 828/1369/350 +f 828/1369/350 840/1402/351 839/1401/348 +f 841/1403/352 806/1404/307 830/1405/329 +f 842/1406/353 830/1405/329 806/1404/307 +f 838/1407/354 784/1380/286 831/1379/330 +f 803/1408/278 843/1409/278 807/1410/278 +f 800/1411/278 844/1412/278 843/1409/278 +f 806/1413/278 807/1410/278 843/1409/278 +f 843/1409/278 844/1412/278 806/1413/278 +f 844/1412/278 809/1414/278 806/1413/278 +f 806/1413/278 809/1414/278 842/1415/278 +f 809/1414/278 811/1416/278 842/1415/278 +f 811/1416/278 813/1417/278 842/1415/278 +f 813/1417/278 840/1418/355 842/1415/278 +f 839/1400/346 840/1418/355 832/1374/332 +f 832/1374/332 840/1418/355 822/1419/356 +f 840/1418/355 815/1420/278 822/1419/356 +f 817/1421/278 822/1419/356 815/1420/278 +f 822/1419/356 821/1375/333 832/1374/332 +f 749/1422/357 845/1423/358 846/1424/357 +f 847/1425/359 749/1422/357 846/1424/357 +f 760/1426/360 847/1425/359 848/1427/360 +f 761/1428/361 848/1427/360 849/1429/361 +f 750/1430/362 849/1429/361 850/1431/362 +f 762/1432/363 850/1431/362 851/1433/363 +f 852/1434/364 762/1435/363 851/1436/363 +f 853/1437/365 763/1438/364 852/1434/364 +f 854/1439/282 764/1440/365 853/1437/365 +f 855/1441/366 765/1442/282 854/1439/282 +f 767/1443/358 856/1444/367 845/1423/358 +f 856/1444/367 766/1445/366 855/1441/366 +f 857/1446/368 819/1447/369 858/1448/368 +f 799/1449/368 859/1450/368 798/1451/369 +f 859/1450/368 799/1449/368 820/1361/323 +f 860/1452/370 751/1453/371 861/1454/371 +f 862/1455/372 751/1453/371 769/1456/372 +f 862/1455/372 768/1457/373 863/1458/373 +f 863/1458/373 776/1459/374 864/1460/374 +f 864/1460/374 775/1461/375 865/1462/375 +f 865/1462/375 774/1463/376 866/1464/376 +f 867/1465/377 774/1466/376 753/1467/377 +f 868/1468/378 753/1467/377 773/1469/378 +f 869/1470/302 773/1469/378 772/1471/302 +f 870/1472/379 772/1471/302 771/1473/379 +f 871/1474/380 770/1475/370 860/1452/370 +f 871/1474/380 771/1473/379 752/1476/380 +f 859/1477/278 872/1478/278 798/1479/278 +f 858/1480/277 819/1481/277 873/1482/277 +f 873/1483/381 859/1484/382 858/1485/382 +f 873/1483/381 874/1486/383 872/1487/381 +f 758/1293/384 841/1488/384 834/1489/384 +f 755/1290/385 874/1486/383 875/1490/383 +f 804/1491/277 805/1492/277 801/1493/277 +f 805/1492/277 757/1494/386 801/1493/277 +f 801/1493/277 808/1495/277 802/1496/277 +f 812/1497/387 810/1498/388 756/1499/389 +f 814/1500/277 812/1497/387 816/1501/390 +f 756/1499/389 816/1501/390 812/1497/387 +f 810/1498/388 808/1495/277 757/1494/386 +f 757/1494/386 756/1499/389 810/1498/388 +f 755/1502/391 816/1501/390 756/1499/389 +f 755/1502/391 875/1503/392 816/1501/390 +f 819/1481/277 818/1504/277 873/1482/277 +f 816/1501/390 873/1482/277 818/1504/277 +f 782/1505/278 778/1506/278 783/1507/278 +f 783/1507/278 758/1508/393 834/1509/278 +f 786/1510/278 778/1506/278 780/1511/278 +f 789/1512/394 758/1508/393 786/1510/278 +f 758/1508/393 789/1512/394 754/1513/395 +f 789/1512/394 791/1514/396 754/1513/395 +f 793/1515/278 795/1516/397 791/1514/396 +f 754/1513/395 791/1514/396 795/1516/397 +f 777/1517/398 754/1513/395 795/1516/397 +f 777/1517/398 795/1516/397 874/1518/399 +f 798/1479/278 872/1478/278 797/1519/278 +f 872/1478/278 795/1516/397 797/1519/278 +f 778/1313/281 837/1520/400 779/1314/282 +f 781/1316/283 837/1521/400 778/1313/281 +f 783/1318/285 785/1522/287 781/1319/283 +f 783/1318/285 834/1523/337 784/1320/286 +f 786/1322/288 780/1315/401 779/1323/289 +f 786/1322/288 787/1324/290 788/1325/291 +f 789/1326/292 788/1325/291 790/1327/293 +f 791/1328/294 790/1327/293 792/1329/295 +f 793/1331/296 792/1524/295 794/1332/297 +f 795/1333/298 794/1332/297 796/1334/299 +f 798/1336/301 797/1335/300 796/1334/299 +f 800/1338/302 843/1525/302 801/1339/302 +f 801/1339/303 843/1526/402 803/1341/304 +f 803/1343/304 807/1527/308 805/1344/306 +f 806/1345/307 841/1528/352 805/1344/306 +f 808/1347/309 844/1529/403 800/1348/310 +f 809/1349/312 844/1529/403 808/1347/309 +f 811/1351/314 809/1349/312 810/1350/313 +f 813/1353/316 811/1351/314 812/1352/315 +f 815/1355/318 813/1530/316 814/1356/317 +f 817/1358/320 815/1355/318 816/1357/319 +f 819/1360/322 857/1531/322 817/1358/320 +f 820/1361/323 824/1365/324 821/1362/324 +f 823/1364/325 821/1362/324 824/1365/324 +f 826/1367/326 823/1364/327 825/1366/327 +f 828/1369/328 826/1367/326 827/1368/326 +f 830/1371/329 828/1369/328 829/1370/328 +f 834/1381/337 841/1403/352 830/1371/329 +f 836/1383/341 838/1532/354 831/1372/330 +f 792/1393/277 838/1391/277 836/1394/342 +f 796/1397/277 794/1395/277 820/1396/343 +f 830/1371/329 842/1533/353 840/1402/351 +f 813/1417/278 815/1420/278 840/1418/355 +f 817/1421/278 857/1534/278 822/1419/356 +f 749/1422/357 767/1443/358 845/1423/358 +f 847/1425/359 759/1535/359 749/1422/357 +f 760/1426/360 759/1535/359 847/1425/359 +f 761/1428/361 760/1426/360 848/1427/360 +f 750/1430/362 761/1428/361 849/1429/361 +f 762/1432/363 750/1430/362 850/1431/362 +f 852/1434/364 763/1438/364 762/1435/363 +f 853/1437/365 764/1440/365 763/1438/364 +f 854/1439/282 765/1442/282 764/1440/365 +f 855/1441/366 766/1445/366 765/1442/282 +f 767/1443/358 748/1536/367 856/1444/367 +f 856/1444/367 748/1536/367 766/1445/366 +f 820/1361/323 822/1363/323 858/1448/368 +f 822/1363/323 857/1446/368 858/1448/368 +f 858/1448/368 859/1450/368 820/1361/323 +f 860/1452/370 770/1475/370 751/1453/371 +f 862/1455/372 861/1454/371 751/1453/371 +f 862/1455/372 769/1456/372 768/1457/373 +f 863/1458/373 768/1457/373 776/1459/374 +f 864/1460/374 776/1459/374 775/1461/375 +f 865/1462/375 775/1461/375 774/1463/376 +f 867/1465/377 866/1537/376 774/1466/376 +f 868/1468/378 867/1465/377 753/1467/377 +f 869/1470/302 868/1468/378 773/1469/378 +f 870/1472/379 869/1470/302 772/1471/302 +f 871/1474/380 752/1476/380 770/1475/370 +f 871/1474/380 870/1472/379 771/1473/379 +f 873/1483/381 872/1487/381 859/1484/382 +f 873/1483/381 875/1490/383 874/1486/383 +f 758/1293/384 757/1292/384 841/1488/384 +f 755/1290/385 777/1312/385 874/1486/383 +f 805/1492/277 841/1538/277 757/1494/386 +f 801/1493/277 757/1494/386 808/1495/277 +f 816/1501/390 875/1503/392 873/1482/277 +f 783/1507/278 778/1506/278 758/1508/393 +f 786/1510/278 758/1508/393 778/1506/278 +f 872/1478/278 874/1518/399 795/1516/397 +o Bayonet +v -0.062500 0.781248 12.000000 +v -0.044194 0.825444 8.062500 +v -0.062500 0.781250 8.062500 +v 0.044194 0.825442 12.000000 +v 0.062500 0.781250 8.062500 +v 0.044194 0.825444 8.062500 +v 0.044194 0.737054 12.000000 +v 0.000000 0.718750 8.062500 +v 0.044194 0.737056 8.062500 +v -0.044194 0.737054 12.000000 +v -0.044194 0.737056 8.062500 +v -0.044194 0.825442 12.000000 +v 0.000000 0.843750 8.062500 +v 0.000000 0.843748 12.000000 +v 0.062500 0.781248 12.000000 +v 0.000000 0.718748 12.000000 +v 0.000000 0.812498 12.750000 +v 0.000000 0.749998 12.750000 +v 0.081190 0.734375 7.812500 +v 0.046875 0.700060 7.812500 +v 0.000000 0.687500 7.812500 +v 0.081190 0.828125 7.812500 +v 0.093750 0.781250 7.812500 +v 0.046875 0.862440 7.812500 +v -0.046875 0.700060 7.812500 +v -0.081190 0.734375 7.812500 +v -0.093750 0.781250 7.812500 +v -0.081190 0.828125 7.812500 +v -0.046875 0.862440 7.812500 +v 0.000000 0.875000 7.812500 +vt 0.590909 0.659091 +vt 0.948864 0.664773 +vt 0.948864 0.659091 +vt 0.590909 0.630682 +vt 0.948864 0.625000 +vt 0.948864 0.630682 +vt 0.590909 0.613636 +vt 0.948864 0.607955 +vt 0.948864 0.613636 +vt 0.590909 0.653409 +vt 0.948864 0.653409 +vt 0.590909 0.647727 +vt 0.948864 0.642045 +vt 0.948864 0.647727 +vt 0.590909 0.642045 +vt 0.948864 0.636364 +vt 0.590909 0.625000 +vt 0.948864 0.619318 +vt 0.590909 0.676136 +vt 0.948864 0.670455 +vt 0.948864 0.676136 +vt 0.590909 0.636364 +vt 0.522727 0.642045 +vt 0.522727 0.625000 +vt 0.522727 0.636364 +vt 0.522727 0.630682 +vt 0.590909 0.633523 +vt 0.522727 0.625000 +vt 0.590909 0.619318 +vt 0.590909 0.607955 +vt 0.522727 0.613636 +vt 0.590909 0.670455 +vt 0.522727 0.676136 +vt 0.522727 0.659091 +vt 0.522727 0.647727 +vt 0.522727 0.653409 +vt 0.590909 0.650568 +vt 0.522727 0.659091 +vt 0.590909 0.664773 +vt 0.971591 0.619318 +vt 0.971591 0.613636 +vt 0.971591 0.607955 +vt 0.971591 0.630682 +vt 0.971591 0.625000 +vt 0.971591 0.636364 +vt 0.971591 0.670455 +vt 0.971591 0.664773 +vt 0.971591 0.653409 +vt 0.971591 0.659091 +vt 0.971591 0.664773 +vt 0.971591 0.647727 +vt 0.971591 0.653409 +vt 0.971591 0.642045 +vt 0.971591 0.676136 +vn -0.9995 -0.0000 0.0330 +vn -0.7071 0.7071 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.7093 0.7044 0.0268 +vn 1.0000 -0.0000 -0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.7093 -0.7044 0.0268 +vn -0.0000 -1.0000 -0.0000 +vn 0.7071 -0.7071 -0.0000 +vn -0.7093 -0.7044 0.0268 +vn -0.7071 -0.7071 -0.0000 +vn -0.7093 0.7044 0.0268 +vn 0.0000 1.0000 0.0000 +vn -0.0000 0.9998 0.0207 +vn 0.9995 0.0000 0.0330 +vn 0.0000 -0.9998 0.0207 +vn 0.9953 0.0515 0.0826 +vn 0.9953 -0.0515 0.0826 +vn -0.9953 -0.0515 0.0826 +vn -0.9953 0.0515 0.0826 +vn 0.8610 -0.4941 0.1209 +vn 0.9891 0.0000 0.1474 +vn 0.6993 -0.6993 0.1482 +vn 0.4941 -0.8610 0.1209 +vn 0.0000 -0.9891 0.1474 +vn 0.0000 -0.9923 0.1240 +vn 0.8610 0.4941 0.1209 +vn 0.9923 0.0000 0.1240 +vn 0.4941 0.8610 0.1209 +vn 0.6993 0.6993 0.1482 +vn 0.0000 0.9891 0.1474 +vn -0.4941 -0.8610 0.1209 +vn -0.6993 -0.6993 0.1482 +vn -0.8610 -0.4941 0.1209 +vn -0.9891 0.0000 0.1474 +vn -0.9923 0.0000 0.1240 +vn -0.8610 0.4941 0.1209 +vn -0.6993 0.6993 0.1482 +vn -0.4941 0.8610 0.1209 +vn 0.0000 0.9923 0.1240 +s 1 +f 876/1539/404 877/1540/405 878/1541/406 +f 879/1542/407 880/1543/408 881/1544/409 +f 882/1545/410 883/1546/411 884/1547/412 +f 885/1548/413 878/1541/406 886/1549/414 +f 887/1550/415 888/1551/416 877/1552/405 +f 889/1553/417 881/1554/409 888/1551/416 +f 890/1555/418 884/1556/412 880/1543/408 +f 891/1557/419 886/1558/414 883/1559/411 +f 879/1560/407 889/1553/417 892/1561/420 +f 890/1555/418 879/1542/407 892/1562/420 +f 892/1563/420 893/1564/421 890/1565/418 +f 890/1555/418 893/1566/421 882/1567/410 +f 891/1568/419 882/1545/410 893/1569/421 +f 885/1570/413 891/1557/419 893/1571/422 +f 876/1539/404 885/1548/413 893/1572/422 +f 893/1573/422 892/1574/423 876/1575/404 +f 889/1553/417 887/1550/415 892/1561/423 +f 876/1539/404 892/1576/423 887/1577/415 +f 894/1578/424 880/1543/425 884/1556/426 +f 895/1579/427 894/1578/424 884/1547/426 +f 895/1579/427 883/1546/428 896/1580/429 +f 897/1581/430 880/1543/425 898/1582/431 +f 897/1581/430 899/1583/432 881/1554/433 +f 899/1583/432 888/1551/434 881/1554/433 +f 900/1584/435 883/1559/428 886/1558/436 +f 901/1585/437 900/1584/435 886/1558/436 +f 901/1586/437 878/1541/438 902/1587/439 +f 903/1588/440 878/1541/438 877/1540/441 +f 904/1589/442 903/1590/440 877/1552/441 +f 904/1589/442 888/1551/434 905/1591/443 +f 876/1539/404 887/1577/415 877/1540/405 +f 879/1542/407 890/1555/418 880/1543/408 +f 882/1545/410 891/1568/419 883/1546/411 +f 885/1548/413 876/1539/404 878/1541/406 +f 887/1550/415 889/1553/417 888/1551/416 +f 889/1553/417 879/1560/407 881/1554/409 +f 890/1555/418 882/1567/410 884/1556/412 +f 891/1557/419 885/1570/413 886/1558/414 +f 894/1578/424 898/1582/431 880/1543/425 +f 895/1579/427 884/1547/426 883/1546/428 +f 897/1581/430 881/1544/433 880/1543/425 +f 899/1583/432 905/1591/443 888/1551/434 +f 900/1584/435 896/1592/429 883/1559/428 +f 901/1586/437 886/1549/436 878/1541/438 +f 903/1588/440 902/1587/439 878/1541/438 +f 904/1589/442 877/1552/441 888/1551/434 +o Scope +v 0.312500 1.156250 -1.812500 +v 0.187500 1.156250 -1.812500 +v 0.187500 1.031250 -1.812500 +v 0.312500 0.906250 -1.812500 +v 0.250000 0.906250 -2.937500 +v 0.312500 0.906250 -2.937500 +v 0.187500 1.031250 -2.937500 +v 0.312500 1.156250 -2.937500 +v 0.400120 1.875000 -1.750000 +v 0.724880 1.875000 -1.750000 +v 0.562500 2.156250 -1.750000 +v 0.779006 2.093750 -3.062500 +v 0.562500 1.718750 -3.062500 +v 0.345994 2.093750 -3.062500 +v 0.750000 1.643991 -4.750000 +v 0.375000 1.643991 -4.750000 +v 0.187500 1.968750 -4.750000 +v 0.562500 1.593750 -3.500000 +v 0.887260 1.781250 -3.500000 +v 0.562500 2.343750 -3.500000 +v 0.187500 1.593750 -2.000000 +v 0.187500 1.218750 -1.937500 +v 0.187500 1.593750 -1.937500 +v 0.187500 1.218750 -2.750000 +v 0.250000 1.593750 -2.750000 +v 0.187500 1.593750 -2.750000 +v 0.250000 1.593750 -2.000000 +v 0.187500 1.218750 -2.000000 +v 0.187500 1.218750 -2.812500 +v 0.187500 1.156250 -2.937500 +v 0.375000 1.843750 -1.937500 +v 0.375000 1.593750 -1.937500 +v 0.562500 1.843750 -1.937500 +v 0.375000 1.593750 -2.812500 +v 0.375000 1.843750 -2.812500 +v 0.562500 1.843750 -2.812500 +v 0.375000 1.843750 -2.000000 +v 0.375000 1.843750 -2.750000 +v 0.312500 1.093750 -2.812500 +v 0.312500 1.218750 -2.812500 +v 0.375000 1.218750 -2.812500 +v 0.375000 1.218750 -1.937500 +v 0.312500 1.218750 -1.937500 +v 0.312500 1.093750 -1.937500 +v 0.375000 1.218750 -2.000000 +v 0.312500 1.593750 -2.000000 +v 0.375000 1.593750 -2.000000 +v 0.375000 1.593750 -2.750000 +v 0.500000 1.843750 -2.750000 +v 0.312500 1.593750 -2.750000 +v 0.500000 1.843750 -2.000000 +v 0.562500 1.843750 -2.000000 +v 0.437500 1.843750 -2.000000 +v 0.437500 1.843750 -2.750000 +v 0.250000 1.218750 -2.562500 +v 0.312500 1.218750 -2.187500 +v 0.312500 1.218750 -2.562500 +v 0.312500 1.093750 -2.750000 +v 0.312500 1.093750 -2.000000 +v 0.375000 1.218750 -2.750000 +v 0.427184 2.343750 -2.421875 +v 0.697816 2.343750 -2.421875 +v 0.562500 2.343750 -2.656250 +v 0.250000 1.593750 -2.562500 +v 0.250000 1.593750 -2.187500 +v 0.250000 1.218750 -2.187500 +v 0.312500 1.593750 -2.562500 +v 0.312500 1.593750 -2.187500 +v 0.250000 0.906250 -1.812500 +v 0.468750 2.131130 -1.750000 +v 0.400120 2.062500 -1.750000 +v 0.375000 1.968750 -1.750000 +v 0.468750 1.806370 -1.750000 +v 0.562500 1.781250 -1.750000 +v 0.656250 1.806370 -1.750000 +v 0.750000 1.968750 -1.750000 +v 0.724880 2.062500 -1.750000 +v 0.656250 2.131130 -1.750000 +v 0.437500 2.185256 -3.062500 +v 0.562500 2.218750 -3.062500 +v 0.687500 2.185256 -3.062500 +v 0.812500 1.968750 -3.062500 +v 0.779006 1.843750 -3.062500 +v 0.687500 1.752244 -3.062500 +v 0.437500 1.752244 -3.062500 +v 0.345994 1.843750 -3.062500 +v 0.312500 1.968750 -3.062500 +v 0.237740 2.156250 -4.750000 +v 0.375000 2.293509 -4.750000 +v 0.562500 2.343750 -4.750000 +v 0.750000 2.293509 -4.750000 +v 0.887260 2.156250 -4.750000 +v 0.937500 1.968750 -4.750000 +v 0.887260 1.781250 -4.750000 +v 0.562500 1.593750 -4.750000 +v 0.237740 1.781250 -4.750000 +v 0.375000 2.293509 -3.500000 +v 0.237740 2.156250 -3.500000 +v 0.187500 1.968750 -3.500000 +v 0.237740 1.781250 -3.500000 +v 0.375000 1.643991 -3.500000 +v 0.750000 1.643991 -3.500000 +v 0.937500 1.968750 -3.500000 +v 0.887260 2.156250 -3.500000 +v 0.750000 2.293509 -3.500000 +v 0.250000 1.218750 -2.750000 +v 0.250000 1.218750 -2.000000 +v 0.187500 1.593750 -2.812500 +v 0.562500 1.843750 -2.750000 +v 0.484375 2.343750 -2.635316 +v 0.427184 2.343750 -2.578125 +v 0.406250 2.343750 -2.500000 +v 0.484375 2.343750 -2.364684 +v 0.562500 2.343750 -2.343750 +v 0.640625 2.343750 -2.364684 +v 0.718750 2.343750 -2.500000 +v 0.697816 2.343750 -2.578125 +v 0.640625 2.343750 -2.635316 +v 0.687500 1.752244 -1.687500 +v 0.562500 1.718750 -1.687500 +v 0.779006 1.843750 -1.687500 +v 0.779006 2.093750 -1.687500 +v 0.812500 1.968750 -1.687500 +v 0.687500 2.185256 -1.687500 +v 0.562500 2.218750 -1.687500 +v 0.437500 2.185256 -1.687500 +v 0.312500 1.968750 -1.687500 +v 0.345994 2.093750 -1.687500 +v 0.437500 1.752244 -1.687500 +v 0.345994 1.843750 -1.687500 +v 0.875000 1.968750 -3.187500 +v 0.724880 2.062500 -3.062500 +v 0.750000 1.968750 -3.062500 +v 0.718750 2.239383 -3.187500 +v 0.656250 2.131130 -3.062500 +v 0.562500 2.156250 -3.062500 +v 0.562500 2.281250 -3.187500 +v 0.468750 2.131130 -3.062500 +v 0.291867 2.125000 -3.187500 +v 0.400120 2.062500 -3.062500 +v 0.250000 1.968750 -3.187500 +v 0.375000 1.968750 -3.062500 +v 0.400120 1.875000 -3.062500 +v 0.291867 1.812500 -3.187500 +v 0.468750 1.806370 -3.062500 +v 0.562500 1.656250 -3.187500 +v 0.562500 1.781250 -3.062500 +v 0.718750 1.698117 -3.187500 +v 0.656250 1.806370 -3.062500 +v 0.724880 1.875000 -3.062500 +v 0.833133 1.812500 -3.500000 +v 0.833133 1.812500 -3.187500 +v 0.406250 1.698117 -3.500000 +v 0.406250 1.698117 -3.187500 +v 0.562500 2.281250 -3.500000 +v 0.406250 2.239383 -3.187500 +v 0.291867 2.125000 -3.500000 +v 0.875000 1.968750 -3.500000 +v 0.562500 1.656250 -3.500000 +v 0.250000 1.968750 -3.500000 +v 0.833133 2.125000 -3.500000 +v 0.833133 2.125000 -3.187500 +v 0.718750 1.698117 -3.500000 +v 0.291867 1.812500 -3.500000 +v 0.718750 2.239383 -3.500000 +v 0.406250 2.239383 -3.500000 +v 0.562500 1.593750 -3.937500 +v 0.187500 1.968750 -3.937500 +v 0.887260 2.156250 -3.937500 +v 0.750000 1.643991 -3.937500 +v 0.237740 1.781250 -3.937500 +v 0.750000 2.293509 -3.937500 +v 0.375000 2.293509 -3.937500 +v 0.887260 1.781250 -3.937500 +v 0.375000 1.643991 -3.937500 +v 0.562500 2.343750 -3.937500 +v 0.237740 2.156250 -3.937500 +v 0.937500 1.968750 -3.937500 +v 0.562500 1.531250 -4.000000 +v 0.941386 1.750000 -4.000000 +v 1.000000 1.968750 -4.000000 +v 0.781250 2.347636 -4.000000 +v 0.562500 2.406250 -4.000000 +v 0.343750 2.347636 -4.000000 +v 0.183614 2.187500 -4.000000 +v 0.183614 1.750000 -4.000000 +v 0.343750 1.589864 -4.000000 +v 0.562500 1.593750 -4.062500 +v 0.237740 1.781250 -4.062500 +v 0.187500 1.968750 -4.062500 +v 0.125000 1.968750 -4.000000 +v 0.375000 2.293509 -4.062500 +v 0.562500 2.343750 -4.062500 +v 0.887260 2.156250 -4.062500 +v 0.941386 2.187500 -4.000000 +v 0.887260 1.781250 -4.062500 +v 0.781250 1.589864 -4.000000 +v 0.750000 1.643991 -4.062500 +v 0.750000 2.293509 -4.062500 +v 0.375000 1.643991 -4.062500 +v 0.237740 2.156250 -4.062500 +v 0.937500 1.968750 -4.062500 +v 0.312500 2.401763 -4.812500 +v 0.129487 2.218750 -4.937500 +v 0.129487 2.218750 -4.812500 +v 0.995513 1.718750 -4.812500 +v 1.062500 1.968750 -4.937500 +v 1.062500 1.968750 -4.812500 +v 0.312500 1.535737 -4.812500 +v 0.562500 1.468750 -4.937500 +v 0.562500 1.468750 -4.812500 +v 0.062500 1.968750 -4.937500 +v 0.062500 1.968750 -4.812500 +v 0.995513 2.218750 -4.937500 +v 0.995513 2.218750 -4.812500 +v 0.812500 1.535737 -4.937500 +v 0.812500 1.535737 -4.812500 +v 0.129487 1.718750 -4.937500 +v 0.129487 1.718750 -4.812500 +v 0.812500 2.401763 -4.937500 +v 0.812500 2.401763 -4.812500 +v 0.562500 2.468750 -4.812500 +v 0.312500 2.401763 -4.937500 +v 0.995513 1.718750 -4.937500 +v 0.312500 1.535737 -4.937500 +v 0.562500 2.468750 -4.937500 +v 0.427184 2.093750 -2.578125 +v 0.406250 2.093750 -2.500000 +v 0.718750 2.093750 -2.500000 +v 0.697816 2.093750 -2.578125 +v 0.562500 2.093750 -2.343750 +v 0.640625 2.093750 -2.364684 +v 0.427184 2.093750 -2.421875 +v 0.640625 2.093750 -2.635316 +v 0.562500 2.093750 -2.656250 +v 0.484375 2.093750 -2.635316 +v 0.697816 2.093750 -2.421875 +v 0.484375 2.093750 -2.364684 +vt 0.579545 0.795455 +vt 0.579545 0.806818 +vt 0.568182 0.806818 +vt 0.556818 0.795455 +vt 0.551136 0.693182 +vt 0.556818 0.693182 +vt 0.568182 0.681818 +vt 0.579545 0.693182 +vt 0.564784 0.860795 +vt 0.594307 0.860795 +vt 0.579545 0.886364 +vt 0.554181 0.840909 +vt 0.573864 0.806818 +vt 0.593546 0.840909 +vt 0.789773 0.822749 +vt 0.823864 0.822749 +vt 0.840909 0.852273 +vt 0.806818 0.750000 +vt 0.836342 0.767046 +vt 0.806818 0.818182 +vt 0.727273 0.721591 +vt 0.732955 0.687500 +vt 0.732955 0.721591 +vt 0.647727 0.687500 +vt 0.653409 0.721591 +vt 0.647727 0.721591 +vt 0.721591 0.721591 +vt 0.727273 0.687500 +vt 0.642045 0.687500 +vt 0.590909 0.681818 +vt 0.579545 0.681818 +vt 0.590909 0.806818 +vt 0.732955 0.750000 +vt 0.750000 0.721591 +vt 0.750000 0.750000 +vt 0.625000 0.721591 +vt 0.642045 0.750000 +vt 0.625000 0.750000 +vt 0.727273 0.750000 +vt 0.647727 0.750000 +vt 0.625000 0.676136 +vt 0.630682 0.687500 +vt 0.625000 0.687500 +vt 0.750000 0.687500 +vt 0.744318 0.687500 +vt 0.744318 0.676136 +vt 0.755682 0.687500 +vt 0.761364 0.721591 +vt 0.755682 0.721591 +vt 0.835227 0.721591 +vt 0.829545 0.750000 +vt 0.829545 0.721591 +vt 0.761364 0.750000 +vt 0.755682 0.750000 +vt 0.721591 0.750000 +vt 0.653409 0.750000 +vt 0.670455 0.687500 +vt 0.704545 0.693182 +vt 0.670455 0.693182 +vt 0.840909 0.687500 +vt 0.835227 0.676136 +vt 0.840909 0.676136 +vt 0.755682 0.676136 +vt 0.750000 0.676136 +vt 0.835227 0.687500 +vt 0.829545 0.676136 +vt 0.585227 0.784091 +vt 0.573864 0.784091 +vt 0.585227 0.704545 +vt 0.573864 0.704545 +vt 0.636364 0.676136 +vt 0.738636 0.676136 +vt 0.721591 0.681818 +vt 0.653409 0.681818 +vt 0.600370 0.742898 +vt 0.575767 0.742898 +vt 0.588068 0.721591 +vt 0.812500 0.687500 +vt 0.806818 0.721591 +vt 0.806818 0.687500 +vt 0.784091 0.721591 +vt 0.778409 0.687500 +vt 0.784091 0.687500 +vt 0.704545 0.721591 +vt 0.670455 0.715909 +vt 0.704545 0.715909 +vt 0.556818 0.801136 +vt 0.551136 0.795455 +vt 0.556818 0.687500 +vt 0.571023 0.884080 +vt 0.564784 0.877841 +vt 0.562500 0.869318 +vt 0.571023 0.854556 +vt 0.579545 0.852273 +vt 0.588068 0.854556 +vt 0.596591 0.869318 +vt 0.594307 0.877841 +vt 0.588068 0.884080 +vt 0.585227 0.849228 +vt 0.573864 0.852273 +vt 0.562500 0.849228 +vt 0.551136 0.829545 +vt 0.554181 0.818182 +vt 0.562500 0.809863 +vt 0.585227 0.809863 +vt 0.593546 0.818182 +vt 0.596591 0.829545 +vt 0.836342 0.869318 +vt 0.823864 0.881796 +vt 0.806818 0.886364 +vt 0.789773 0.881796 +vt 0.777295 0.869318 +vt 0.772727 0.852273 +vt 0.777295 0.835227 +vt 0.806818 0.818182 +vt 0.836342 0.835227 +vt 0.789773 0.813615 +vt 0.777295 0.801136 +vt 0.772727 0.784091 +vt 0.777295 0.767046 +vt 0.789773 0.754567 +vt 0.823864 0.754567 +vt 0.840909 0.784091 +vt 0.836342 0.801136 +vt 0.823864 0.813615 +vt 0.653409 0.687500 +vt 0.721591 0.687500 +vt 0.642045 0.721591 +vt 0.590909 0.693182 +vt 0.590909 0.795455 +vt 0.761364 0.676136 +vt 0.835227 0.750000 +vt 0.704545 0.687500 +vt 0.727273 0.681818 +vt 0.647727 0.681818 +vt 0.595170 0.723494 +vt 0.600370 0.728693 +vt 0.602273 0.735795 +vt 0.595170 0.748097 +vt 0.588068 0.750000 +vt 0.580966 0.748097 +vt 0.573864 0.735795 +vt 0.575767 0.728693 +vt 0.580966 0.723494 +vt 0.812500 0.721591 +vt 0.778409 0.721591 +vt 0.670455 0.721591 +vt 0.573864 0.710227 +vt 0.573864 0.778409 +vt 0.602273 0.761364 +vt 0.596591 0.751420 +vt 0.602273 0.750000 +vt 0.602273 0.772727 +vt 0.596591 0.762784 +vt 0.596591 0.782670 +vt 0.596591 0.774148 +vt 0.602273 0.795455 +vt 0.596591 0.785511 +vt 0.602273 0.784091 +vt 0.602273 0.806818 +vt 0.596591 0.796875 +vt 0.602273 0.818182 +vt 0.596591 0.808239 +vt 0.602273 0.829545 +vt 0.596591 0.819602 +vt 0.596591 0.839489 +vt 0.596591 0.830966 +vt 0.602273 0.852273 +vt 0.596591 0.842330 +vt 0.602273 0.840909 +vt 0.596591 0.862216 +vt 0.596591 0.853693 +vt 0.602273 0.875000 +vt 0.596591 0.865057 +vt 0.602273 0.863636 +vt 0.602273 0.886364 +vt 0.596591 0.876420 +vt 0.727273 0.840909 +vt 0.727273 0.784091 +vt 0.727273 0.750000 +vt 0.727273 0.852273 +vt 0.727273 0.795455 +vt 0.727273 0.818182 +vt 0.727273 0.761364 +vt 0.727273 0.863636 +vt 0.727273 0.806818 +vt 0.727273 0.829545 +vt 0.727273 0.772727 +vt 0.727273 0.875000 +vt 0.744318 0.784091 +vt 0.727273 0.792614 +vt 0.727273 0.786932 +vt 0.727273 0.798295 +vt 0.744318 0.806818 +vt 0.727273 0.803977 +vt 0.727273 0.815341 +vt 0.727273 0.809659 +vt 0.744318 0.818182 +vt 0.727273 0.826704 +vt 0.727273 0.821023 +vt 0.727273 0.832386 +vt 0.744318 0.840909 +vt 0.727273 0.838068 +vt 0.727273 0.843750 +vt 0.744318 0.852273 +vt 0.727273 0.849432 +vt 0.727273 0.860795 +vt 0.727273 0.855114 +vt 0.744318 0.863636 +vt 0.727273 0.872159 +vt 0.727273 0.866477 +vt 0.727273 0.877841 +vt 0.744318 0.886364 +vt 0.727273 0.883523 +vt 0.727273 0.752841 +vt 0.744318 0.761364 +vt 0.727273 0.758523 +vt 0.727273 0.775568 +vt 0.727273 0.781250 +vt 0.727273 0.769886 +vt 0.727273 0.764205 +vt 0.772727 0.772727 +vt 0.744318 0.772727 +vt 0.772727 0.875000 +vt 0.744318 0.875000 +vt 0.772727 0.818182 +vt 0.744318 0.829545 +vt 0.772727 0.840909 +vt 0.772727 0.784091 +vt 0.772727 0.886364 +vt 0.772727 0.852273 +vt 0.772727 0.795455 +vt 0.744318 0.795455 +vt 0.744318 0.750000 +vt 0.772727 0.761364 +vt 0.772727 0.863636 +vt 0.772727 0.806818 +vt 0.772727 0.829545 +vt 0.840909 0.869318 +vt 0.880682 0.886364 +vt 0.840909 0.886364 +vt 0.840909 0.818182 +vt 0.880682 0.835227 +vt 0.840909 0.835227 +vt 0.840909 0.732955 +vt 0.880682 0.750000 +vt 0.840909 0.750000 +vt 0.840909 0.681818 +vt 0.880682 0.698864 +vt 0.840909 0.698864 +vt 0.880682 0.852273 +vt 0.840909 0.852273 +vt 0.880682 0.767045 +vt 0.840909 0.767045 +vt 0.840909 0.784091 +vt 0.880682 0.801136 +vt 0.840909 0.801136 +vt 0.880682 0.715909 +vt 0.840909 0.715909 +vt 0.880682 0.869318 +vt 0.880682 0.784091 +vt 0.880682 0.818182 +vt 0.880682 0.732955 +vt 0.886364 0.681818 +vt 0.880682 0.681818 +vt 0.886364 0.715909 +vt 0.886364 0.732955 +vt 0.886364 0.767045 +vt 0.886364 0.784091 +vt 0.886364 0.801136 +vt 0.886364 0.818182 +vt 0.886364 0.852273 +vt 0.886364 0.869318 +vt 0.892045 0.886364 +vt 0.886364 0.886364 +vt 0.892045 0.852273 +vt 0.892045 0.835227 +vt 0.886364 0.835227 +vt 0.892045 0.801136 +vt 0.892045 0.784091 +vt 0.892045 0.750000 +vt 0.886364 0.750000 +vt 0.892045 0.715909 +vt 0.892045 0.681818 +vt 0.886364 0.698864 +vt 0.892045 0.698864 +vt 0.948864 0.698864 +vt 0.948864 0.852273 +vt 0.948864 0.767045 +vt 0.892045 0.767045 +vt 0.948864 0.801136 +vt 0.948864 0.715909 +vt 0.948864 0.869318 +vt 0.892045 0.869318 +vt 0.948864 0.784091 +vt 0.948864 0.818182 +vt 0.892045 0.818182 +vt 0.948864 0.732955 +vt 0.892045 0.732955 +vt 0.948864 0.886364 +vt 0.948864 0.835227 +vt 0.948864 0.750000 +vt 0.965909 0.840909 +vt 0.977273 0.863636 +vt 0.965909 0.863636 +vt 0.965909 0.727273 +vt 0.977273 0.750000 +vt 0.965909 0.750000 +vt 0.965909 0.931818 +vt 0.977273 0.954545 +vt 0.965909 0.954545 +vt 0.977273 0.886364 +vt 0.965909 0.886364 +vt 0.977273 0.772727 +vt 0.965909 0.772727 +vt 0.965909 0.681818 +vt 0.977273 0.704545 +vt 0.965909 0.704545 +vt 0.977273 0.909091 +vt 0.965909 0.909091 +vt 0.977273 0.795455 +vt 0.965909 0.795455 +vt 0.965909 0.818182 +vt 0.977273 0.840909 +vt 0.977273 0.727273 +vt 0.977273 0.931818 +vt 0.977273 0.818182 +vt 0.954545 0.701705 +vt 0.954545 0.684659 +vt 0.954545 0.724432 +vt 0.954545 0.707386 +vt 0.954545 0.747159 +vt 0.954545 0.730114 +vt 0.954545 0.752841 +vt 0.954545 0.769886 +vt 0.954545 0.792614 +vt 0.954545 0.775568 +vt 0.954545 0.798295 +vt 0.954545 0.815341 +vt 0.954545 0.821023 +vt 0.954545 0.838068 +vt 0.954545 0.860795 +vt 0.954545 0.843750 +vt 0.954545 0.883523 +vt 0.954545 0.866477 +vt 0.954545 0.906250 +vt 0.954545 0.889205 +vt 0.954545 0.928977 +vt 0.954545 0.911932 +vt 0.954545 0.951705 +vt 0.954545 0.934659 +vt 0.994318 0.951705 +vt 0.994318 0.934659 +vt 0.994318 0.928977 +vt 0.994318 0.911932 +vt 0.994318 0.906250 +vt 0.994318 0.889205 +vt 0.994318 0.866477 +vt 0.994318 0.883523 +vt 0.994318 0.843750 +vt 0.994318 0.860795 +vt 0.994318 0.838068 +vt 0.994318 0.821023 +vt 0.994318 0.798295 +vt 0.994318 0.815341 +vt 0.994318 0.792614 +vt 0.994318 0.775568 +vt 0.994318 0.769886 +vt 0.994318 0.752841 +vt 0.994318 0.730114 +vt 0.994318 0.747159 +vt 0.994318 0.724432 +vt 0.994318 0.707386 +vt 0.994318 0.684659 +vt 0.994318 0.701705 +vt 0.840909 0.721591 +vt 0.840909 0.750000 +vt 0.602273 0.732955 +vt 0.625000 0.727273 +vt 0.625000 0.732955 +vt 0.602273 0.704545 +vt 0.625000 0.698864 +vt 0.625000 0.704545 +vt 0.602273 0.687500 +vt 0.625000 0.681818 +vt 0.625000 0.687500 +vt 0.602273 0.738636 +vt 0.625000 0.738636 +vt 0.602273 0.710227 +vt 0.625000 0.710227 +vt 0.602273 0.721591 +vt 0.625000 0.715909 +vt 0.625000 0.721591 +vt 0.602273 0.693182 +vt 0.625000 0.693182 +vt 0.602273 0.744318 +vt 0.625000 0.744318 +vt 0.602273 0.715909 +vt 0.602273 0.727273 +vt 0.602273 0.698864 +vt 0.602273 0.750000 +vt 0.625000 0.750000 +vt 0.596591 0.759943 +vt 0.596591 0.771307 +vt 0.596591 0.794034 +vt 0.596591 0.805398 +vt 0.596591 0.816761 +vt 0.596591 0.828125 +vt 0.596591 0.850852 +vt 0.596591 0.873580 +vt 0.596591 0.884943 +vt 0.727273 0.886364 +vt 0.772727 0.750000 +vt 0.948864 0.681818 +vt 0.977273 0.681818 +vt 0.602273 0.681818 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.8944 -0.4472 +vn 0.0000 0.8944 0.4472 +vn -0.8000 0.6000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.8944 -0.4472 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.3536 0.6124 0.7071 +vn -0.0000 0.7071 0.7071 +vn -0.6124 0.3536 0.7071 +vn -0.7071 -0.0000 0.7071 +vn -0.6124 -0.3536 0.7071 +vn -0.3536 -0.6124 0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.3536 -0.6124 0.7071 +vn 0.6124 -0.3536 0.7071 +vn 0.7071 -0.0000 0.7071 +vn 0.6124 0.3536 0.7071 +vn 0.3536 0.6124 0.7071 +vn -0.8660 0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.3536 -0.6124 -0.7071 +vn -0.0000 -0.7071 -0.7071 +vn -0.6124 -0.3536 -0.7071 +vn -0.7071 -0.0000 -0.7071 +vn -0.6124 0.3536 -0.7071 +vn -0.3536 0.6124 -0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.3536 0.6124 -0.7071 +vn 0.6124 0.3536 -0.7071 +vn 0.7071 -0.0000 -0.7071 +vn 0.6124 -0.3536 -0.7071 +vn 0.3536 -0.6124 -0.7071 +vn -0.4358 0.7548 0.4903 +vn -0.7548 0.4358 0.4903 +vn 0.7548 -0.4358 0.4903 +vn 0.8716 -0.0000 0.4903 +vn -0.4358 -0.7548 0.4903 +vn 0.0000 -0.8716 0.4903 +vn -0.8716 0.0000 0.4903 +vn 0.7548 0.4358 0.4903 +vn 0.4358 -0.7548 0.4903 +vn -0.7548 -0.4358 0.4903 +vn 0.4358 0.7548 0.4903 +vn 0.0000 0.8716 0.4903 +vn 0.2236 -0.3873 0.8944 +vn 0.0000 -0.4472 0.8944 +vn 0.3873 -0.2236 0.8944 +vn 0.4472 -0.0000 0.8944 +vn 0.3873 0.2236 0.8944 +vn 0.2236 0.3873 0.8944 +vn 0.0000 0.4472 0.8944 +vn -0.2236 0.3873 0.8944 +vn -0.3873 0.2236 0.8944 +vn -0.4472 0.0000 0.8944 +vn -0.3873 -0.2236 0.8944 +vn -0.2236 -0.3873 0.8944 +vn 0.0000 0.8320 -0.5547 +vn 0.4160 0.7206 -0.5547 +vn 0.7206 0.4160 -0.5547 +vn 0.8321 0.0000 -0.5547 +vn 0.7206 -0.4160 -0.5547 +vn 0.4160 -0.7206 -0.5547 +vn 0.0000 -0.8320 -0.5547 +vn 0.0000 -0.8321 -0.5547 +vn -0.4160 -0.7206 -0.5547 +vn -0.7206 -0.4160 -0.5547 +vn -0.8321 0.0000 -0.5547 +vn -0.7206 0.4160 -0.5547 +vn -0.4160 0.7206 -0.5547 +vn -0.9080 0.4191 0.0000 +vn 0.9487 -0.3162 0.0000 +vn 0.8000 -0.6000 0.0000 +vn -0.8660 0.0000 -0.5000 +vn 0.8660 0.0000 -0.5000 +vn 0.5000 0.0000 0.8660 +vn -0.8660 0.0000 0.5000 +vn 0.5000 0.0000 -0.8660 +vn -0.5000 0.0000 -0.8660 +vn 0.8660 0.0000 0.5000 +vn -0.5000 0.0000 0.8660 +vn 0.9080 -0.4191 0.0000 +vn -0.9487 0.3162 0.0000 +vn -0.0000 0.8321 -0.5547 +s off +f 906/1593/444 907/1594/444 908/1595/444 +f 909/1596/445 910/1597/445 911/1598/445 +f 911/1598/446 912/1599/446 913/1600/446 +f 914/1601/444 915/1602/444 916/1603/444 +f 917/1604/446 918/1605/446 919/1606/446 +f 920/1607/446 921/1608/446 922/1609/446 +f 923/1610/444 924/1611/444 925/1612/444 +f 926/1613/447 927/1614/447 928/1615/447 +f 929/1616/444 930/1617/444 931/1618/444 +f 932/1619/446 933/1620/446 926/1613/446 +f 931/1618/447 934/1621/447 929/1616/447 +f 934/1622/448 913/1600/448 935/1623/448 +f 906/1593/449 927/1624/449 907/1594/449 +f 936/1625/444 937/1626/444 938/1627/444 +f 939/1628/446 940/1629/446 941/1630/446 +f 928/1615/450 942/1631/450 926/1613/450 +f 940/1629/450 931/1618/450 943/1632/450 +f 944/1633/446 945/1634/446 946/1635/446 +f 939/1628/446 946/1635/446 945/1634/446 +f 947/1636/444 948/1637/444 949/1638/444 +f 948/1637/444 937/1626/444 928/1615/444 +f 950/1639/446 951/1640/446 952/1641/446 +f 953/1642/444 954/1643/444 955/1644/444 +f 952/1641/446 956/1645/446 957/1646/446 +f 932/1619/446 942/1631/446 958/1647/446 +f 943/1632/444 930/1617/444 959/1648/444 +f 960/1649/451 961/1650/451 962/1651/451 +f 946/1652/452 963/1653/452 944/1654/452 +f 964/1655/452 947/1636/452 949/1656/452 +f 965/1657/444 955/1644/444 963/1658/444 +f 948/1659/453 906/1593/453 949/1660/453 +f 945/1661/453 944/1662/453 913/1600/453 +f 935/1663/447 907/1664/447 933/1665/447 +f 960/1649/451 929/1666/451 933/1665/451 +f 966/1667/451 967/1668/451 968/1669/451 +f 962/1670/444 969/1671/444 960/1672/444 +f 970/1673/446 961/1674/446 971/1675/446 +f 970/1676/445 972/1677/445 973/1678/445 +f 949/1660/453 906/1593/453 909/1596/453 +f 908/1595/444 974/1679/444 909/1596/444 +f 909/1596/444 906/1593/444 908/1595/444 +f 909/1596/445 974/1680/445 910/1597/445 +f 910/1681/446 912/1599/446 911/1598/446 +f 912/1599/446 935/1623/446 913/1600/446 +f 916/1603/444 975/1682/444 914/1601/444 +f 975/1682/444 976/1683/444 914/1601/444 +f 976/1683/444 977/1684/444 914/1601/444 +f 914/1601/444 978/1685/444 979/1686/444 +f 979/1686/444 980/1687/444 914/1601/444 +f 980/1687/444 915/1602/444 914/1601/444 +f 915/1602/444 981/1688/444 982/1689/444 +f 982/1689/444 983/1690/444 916/1603/444 +f 915/1602/444 982/1689/444 916/1603/444 +f 919/1606/446 984/1691/446 917/1604/446 +f 984/1691/446 985/1692/446 917/1604/446 +f 985/1692/446 986/1693/446 917/1604/446 +f 917/1604/446 987/1694/446 988/1695/446 +f 988/1695/446 989/1696/446 918/1605/446 +f 918/1605/446 990/1697/446 991/1698/446 +f 991/1698/446 992/1699/446 919/1606/446 +f 917/1604/446 988/1695/446 918/1605/446 +f 918/1605/446 991/1698/446 919/1606/446 +f 922/1609/446 993/1700/446 994/1701/446 +f 994/1701/446 995/1702/446 996/1703/446 +f 996/1703/446 997/1704/446 920/1607/446 +f 997/1704/446 998/1705/446 920/1607/446 +f 998/1705/446 999/1706/446 920/1607/446 +f 920/1607/446 1000/1707/446 921/1608/446 +f 921/1608/446 1001/1708/446 922/1609/446 +f 922/1609/446 994/1701/446 920/1607/446 +f 994/1701/446 996/1703/446 920/1607/446 +f 925/1612/444 1002/1709/444 1003/1710/444 +f 1003/1710/444 1004/1711/444 1005/1712/444 +f 1005/1712/444 1006/1713/444 923/1610/444 +f 923/1610/444 1007/1714/444 924/1611/444 +f 924/1611/444 1008/1715/444 1009/1716/444 +f 1009/1716/444 1010/1717/444 924/1611/444 +f 1010/1717/444 925/1612/444 924/1611/444 +f 925/1612/444 1003/1710/444 1005/1712/444 +f 1005/1712/444 923/1610/444 925/1612/444 +f 926/1613/447 933/1620/447 927/1614/447 +f 929/1616/444 1011/1718/444 930/1617/444 +f 932/1619/446 1012/1719/446 933/1620/446 +f 931/1618/447 1013/1720/447 934/1621/447 +f 934/1622/448 945/1721/448 913/1600/448 +f 906/1593/449 948/1722/449 927/1624/449 +f 936/1625/444 928/1615/444 937/1626/444 +f 939/1628/446 1013/1720/446 940/1629/446 +f 928/1615/450 936/1625/450 942/1631/450 +f 940/1629/450 1013/1720/450 931/1618/450 +f 945/1634/446 934/1621/446 1013/1720/446 +f 1013/1720/446 939/1628/446 945/1634/446 +f 928/1615/444 927/1614/444 948/1637/444 +f 948/1637/444 947/1636/444 937/1626/444 +f 950/1639/446 964/1723/446 951/1640/446 +f 953/1642/444 1014/1724/444 954/1643/444 +f 952/1641/446 951/1640/446 956/1645/446 +f 932/1619/446 926/1613/446 942/1631/446 +f 943/1632/444 931/1618/444 930/1617/444 +f 960/1649/451 971/1725/451 961/1650/451 +f 946/1652/452 965/1657/452 963/1653/452 +f 964/1655/452 950/1639/452 947/1636/452 +f 965/1657/444 953/1642/444 955/1644/444 +f 927/1726/447 933/1665/447 907/1664/447 +f 933/1665/447 929/1666/447 935/1663/447 +f 929/1666/447 934/1727/447 935/1663/447 +f 933/1665/451 1012/1719/451 971/1725/451 +f 960/1649/451 1011/1718/451 929/1666/451 +f 933/1665/451 971/1725/451 960/1649/451 +f 968/1669/451 1015/1728/451 966/1667/451 +f 1015/1728/451 1016/1729/451 966/1667/451 +f 1016/1729/451 1017/1730/451 966/1667/451 +f 966/1667/451 1018/1731/451 1019/1732/451 +f 1019/1732/451 1020/1733/451 966/1667/451 +f 1020/1733/451 967/1668/451 966/1667/451 +f 967/1668/451 1021/1734/451 1022/1735/451 +f 1022/1735/451 1023/1736/451 967/1668/451 +f 1023/1736/451 968/1669/451 967/1668/451 +f 962/1670/444 972/1737/444 969/1671/444 +f 970/1673/446 973/1738/446 961/1674/446 +f 970/1676/445 969/1739/445 972/1677/445 +f 911/1598/453 913/1600/453 944/1662/453 +f 963/1740/453 964/1741/453 911/1598/453 +f 964/1741/453 949/1660/453 909/1596/453 +f 911/1598/453 964/1741/453 909/1596/453 +f 911/1598/453 944/1662/453 963/1740/453 +s 1 +f 1024/1742/454 979/1743/455 1025/1744/455 +f 1026/1745/456 980/1746/454 1024/1742/454 +f 1026/1745/456 981/1747/457 915/1748/456 +f 1027/1749/458 981/1750/457 1028/1751/457 +f 1029/1752/459 982/1753/458 1027/1749/458 +f 1030/1754/460 983/1755/459 1029/1752/459 +f 1031/1756/461 916/1757/460 1030/1754/460 +f 1031/1756/461 976/1758/462 975/1759/461 +f 1032/1760/463 976/1761/462 1033/1762/462 +f 1032/1760/463 914/1763/464 977/1764/463 +f 1034/1765/465 914/1766/464 1035/1767/464 +f 1025/1768/455 978/1769/465 1034/1765/465 +f 919/1770/466 1032/1760/447 1033/1762/466 +f 987/1771/453 1027/1749/467 1028/1751/453 +f 918/1772/445 1024/1742/468 1025/1744/445 +f 992/1773/447 1035/1767/469 1032/1760/447 +f 917/1774/467 1029/1752/470 1027/1749/467 +f 985/1775/451 1031/1756/471 1030/1754/451 +f 989/1776/468 1026/1745/472 1024/1742/468 +f 991/1777/469 1034/1765/473 1035/1767/469 +f 986/1778/470 1030/1754/451 1029/1752/470 +f 984/1779/471 1033/1762/466 1031/1756/471 +f 988/1780/472 1028/1751/453 1026/1745/472 +f 990/1781/473 1025/1768/445 1034/1765/473 +f 1036/1782/463 1037/1783/464 1038/1784/463 +f 1037/1785/464 1039/1786/465 1040/1787/465 +f 1039/1786/465 1041/1788/455 1040/1789/465 +f 1042/1790/455 1043/1791/454 1041/1792/455 +f 1043/1793/454 1044/1794/456 1045/1795/456 +f 1045/1796/456 1046/1797/457 1047/1798/457 +f 1046/1797/457 1048/1799/458 1047/1800/457 +f 1049/1801/458 1050/1802/459 1048/1803/458 +f 1050/1804/459 1051/1805/460 1052/1806/460 +f 1052/1807/460 1053/1808/461 1054/1809/461 +f 1055/1810/462 1036/1782/463 1038/1811/463 +f 1053/1808/461 1055/1812/462 1054/1813/461 +f 1053/1808/468 1056/1814/472 1057/1815/472 +f 1049/1801/469 1058/1816/473 1059/1817/473 +f 1039/1786/470 1060/1818/451 1042/1790/451 +f 1061/1819/471 1062/1820/466 1044/1794/466 +f 1057/1815/472 1063/1821/453 1036/1782/453 +f 1059/1817/473 1064/1822/445 1051/1805/445 +f 1044/1794/466 1065/1823/447 1046/1797/447 +f 1036/1782/453 1066/1824/467 1067/1825/467 +f 1051/1826/445 1068/1827/468 1053/1808/468 +f 1046/1797/447 1069/1828/469 1049/1801/469 +f 1067/1825/467 1070/1829/470 1039/1786/470 +f 1042/1790/451 1071/1830/471 1061/1819/471 +f 1006/1831/473 1072/1832/445 923/1833/445 +f 1003/1834/466 1073/1835/447 1004/1836/447 +f 1008/1837/453 1074/1838/467 1009/1839/467 +f 923/1840/445 1075/1841/468 1007/1842/468 +f 1004/1836/447 1076/1843/469 1005/1844/469 +f 1009/1839/467 1077/1845/470 1010/1846/470 +f 925/1847/451 1078/1848/471 1002/1849/471 +f 1007/1842/468 1079/1850/472 924/1851/472 +f 1005/1844/469 1080/1852/473 1006/1831/473 +f 1010/1846/470 1081/1853/451 925/1847/451 +f 1002/1849/471 1082/1854/466 1003/1834/466 +f 924/1851/472 1083/1855/453 1008/1837/453 +f 1084/1856/460 1075/1841/461 1072/1857/460 +f 1075/1841/461 1085/1858/462 1079/1850/462 +f 1079/1850/462 1086/1859/463 1083/1855/463 +f 1086/1859/463 1074/1838/464 1083/1855/463 +f 1074/1838/464 1087/1860/465 1077/1845/465 +f 1087/1860/465 1081/1853/455 1077/1845/465 +f 1088/1861/455 1078/1848/454 1081/1853/455 +f 1089/1862/454 1082/1854/456 1078/1848/454 +f 1090/1863/456 1073/1835/457 1082/1854/456 +f 1073/1835/457 1091/1864/458 1076/1843/458 +f 1091/1864/458 1080/1852/459 1076/1843/458 +f 1092/1865/459 1072/1832/460 1080/1852/459 +f 1092/1865/474 1093/1866/475 1084/1867/475 +f 1094/1868/476 1092/1865/474 1091/1864/476 +f 1095/1869/477 1091/1864/476 1096/1870/477 +f 1090/1863/478 1095/1869/477 1096/1870/477 +f 1097/1871/479 1090/1863/478 1089/1862/479 +f 1098/1872/480 1089/1862/479 1088/1861/480 +f 1087/1860/481 1098/1872/480 1088/1861/480 +f 1099/1873/482 1087/1860/481 1100/1874/482 +f 1086/1859/483 1099/1873/482 1100/1874/482 +f 1101/1875/484 1086/1859/483 1085/1858/484 +f 1093/1876/475 1102/1877/485 1084/1856/475 +f 1103/1878/485 1085/1858/484 1102/1877/485 +f 1093/1876/445 920/1879/468 1103/1878/468 +f 1095/1869/447 1001/1880/469 1094/1868/469 +f 1099/1873/467 996/1881/470 1104/1882/470 +f 1098/1872/451 994/1883/471 1097/1871/471 +f 1103/1878/468 999/1884/472 1101/1875/472 +f 1094/1868/469 921/1885/473 1105/1886/473 +f 1104/1882/470 995/1887/451 1098/1872/451 +f 1097/1871/471 993/1888/466 1106/1889/466 +f 1101/1875/472 998/1890/453 1107/1891/453 +f 1105/1886/473 1000/1892/445 1093/1866/445 +f 1106/1889/466 922/1893/447 1095/1869/447 +f 1107/1891/453 997/1894/467 1099/1873/467 +f 1108/1895/486 1109/1896/466 1110/1897/487 +f 1111/1898/488 1112/1899/453 1113/1900/489 +f 1114/1901/490 1115/1902/445 1116/1903/491 +f 1110/1897/487 1117/1904/447 1118/1905/492 +f 1113/1900/489 1119/1906/467 1120/1907/493 +f 1116/1908/491 1121/1909/468 1122/1910/494 +f 1118/1905/492 1123/1911/469 1124/1912/495 +f 1120/1907/493 1125/1913/470 1126/1914/496 +f 1127/1915/497 1128/1916/471 1108/1895/486 +f 1122/1910/494 1129/1917/472 1111/1898/488 +f 1124/1912/495 1130/1918/473 1114/1901/490 +f 1126/1914/496 1131/1919/451 1127/1915/497 +f 1116/1908/491 920/1920/498 1000/1921/499 +f 1122/1910/494 999/1922/500 920/1923/498 +f 1111/1898/488 998/1924/501 999/1925/500 +f 998/1926/501 1120/1907/493 997/1927/502 +f 1120/1907/493 996/1928/503 997/1929/502 +f 996/1930/503 1127/1915/497 995/1931/504 +f 995/1932/504 1108/1895/486 994/1933/505 +f 1108/1895/486 993/1934/506 994/1935/505 +f 1110/1897/487 922/1936/507 993/1937/506 +f 1118/1905/492 1001/1938/508 922/1939/507 +f 1124/1912/495 921/1940/509 1001/1941/508 +f 1114/1901/490 1000/1942/499 921/1943/509 +f 1000/1944/510 1130/1918/511 921/1945/511 +f 921/1946/511 1123/1911/512 1001/1947/512 +f 1001/1948/512 1117/1904/513 922/1949/513 +f 1117/1904/513 993/1950/514 922/1951/513 +f 1109/1896/514 994/1952/515 993/1953/514 +f 994/1954/515 1131/1919/516 995/1955/517 +f 1131/1919/516 996/1956/518 995/1957/517 +f 996/1958/518 1119/1906/519 997/1959/519 +f 997/1960/519 1112/1899/520 998/1961/520 +f 1112/1899/520 999/1962/521 998/1963/520 +f 999/1964/521 1121/1909/522 920/1965/522 +f 1121/1909/522 1000/1966/510 920/1967/522 +f 969/1739/523 1011/1718/447 960/1649/447 +f 939/1968/524 965/1657/453 946/1652/453 +f 941/1969/525 953/1642/524 939/1968/524 +f 947/1636/453 952/1641/524 937/1626/524 +f 937/1626/524 957/1646/525 938/1627/525 +f 961/1674/453 951/1640/524 964/1723/453 +f 1017/1970/447 1132/1971/526 1133/1972/447 +f 1022/1973/527 1134/1974/453 1135/1975/527 +f 1020/1976/528 1136/1977/444 1137/1978/528 +f 966/1979/529 1133/1972/447 1138/1980/529 +f 1023/1981/530 1135/1975/527 1139/1982/530 +f 1015/1983/531 1140/1984/446 1141/1985/531 +f 967/1986/532 1137/1978/528 1142/1987/532 +f 1018/1988/533 1138/1980/529 1143/1989/533 +f 968/1990/446 1139/1982/530 1140/1984/446 +f 1016/1991/526 1141/1985/531 1132/1971/526 +f 1021/1992/453 1142/1987/532 1134/1974/453 +f 1019/1993/444 1143/1989/533 1136/1994/444 +f 955/1644/524 962/1670/453 963/1658/453 +f 973/1738/534 972/1737/534 954/1643/525 +f 964/1723/453 962/1670/453 961/1674/453 +f 971/1725/447 932/1619/535 970/1676/523 +f 959/1648/450 969/1739/523 970/1676/523 +f 1024/1742/454 980/1995/454 979/1743/455 +f 1026/1745/456 915/1996/456 980/1746/454 +f 1026/1745/456 1028/1751/457 981/1747/457 +f 1027/1749/458 982/1997/458 981/1750/457 +f 1029/1752/459 983/1998/459 982/1753/458 +f 1030/1754/460 916/1999/460 983/1755/459 +f 1031/1756/461 975/2000/461 916/1757/460 +f 1031/1756/461 1033/1762/462 976/1758/462 +f 1032/1760/463 977/2001/463 976/1761/462 +f 1032/1760/463 1035/1767/464 914/1763/464 +f 1034/1765/465 978/2002/465 914/1766/464 +f 1025/1768/455 979/2003/455 978/1769/465 +f 919/1770/466 992/1773/447 1032/1760/447 +f 987/1771/453 917/1774/467 1027/1749/467 +f 918/1772/445 989/1776/468 1024/1742/468 +f 992/1773/447 991/1777/469 1035/1767/469 +f 917/1774/467 986/1778/470 1029/1752/470 +f 985/1775/451 984/1779/471 1031/1756/471 +f 989/1776/468 988/1780/472 1026/1745/472 +f 991/1777/469 990/1781/473 1034/1765/473 +f 986/1778/470 985/1775/451 1030/1754/451 +f 984/1779/471 919/1770/466 1033/1762/466 +f 988/1780/472 987/1771/453 1028/1751/453 +f 990/1781/473 918/2004/445 1025/1768/445 +f 1036/1782/463 1067/1825/464 1037/1783/464 +f 1037/1785/464 1067/1825/464 1039/1786/465 +f 1039/1786/465 1042/1790/455 1041/1788/455 +f 1042/1790/455 1061/1819/454 1043/1791/454 +f 1043/1793/454 1061/1819/454 1044/1794/456 +f 1045/1796/456 1044/1794/456 1046/1797/457 +f 1046/1797/457 1049/1801/458 1048/1799/458 +f 1049/1801/458 1059/1817/459 1050/1802/459 +f 1050/1804/459 1059/1817/459 1051/1805/460 +f 1052/1807/460 1051/1826/460 1053/1808/461 +f 1055/1810/462 1057/1815/462 1036/1782/463 +f 1053/1808/461 1057/1815/462 1055/1812/462 +f 1053/1808/468 1068/1827/468 1056/1814/472 +f 1049/1801/469 1069/1828/469 1058/1816/473 +f 1039/1786/470 1070/1829/470 1060/1818/451 +f 1061/1819/471 1071/1830/471 1062/1820/466 +f 1057/1815/472 1056/1814/472 1063/1821/453 +f 1059/1817/473 1058/1816/473 1064/1822/445 +f 1044/1794/466 1062/1820/466 1065/1823/447 +f 1036/1782/453 1063/1821/453 1066/1824/467 +f 1051/1826/445 1064/2005/445 1068/1827/468 +f 1046/1797/447 1065/1823/447 1069/1828/469 +f 1067/1825/467 1066/1824/467 1070/1829/470 +f 1042/1790/451 1060/1818/451 1071/1830/471 +f 1006/1831/473 1080/1852/473 1072/1832/445 +f 1003/1834/466 1082/1854/466 1073/1835/447 +f 1008/1837/453 1083/1855/453 1074/1838/467 +f 923/1840/445 1072/1857/445 1075/1841/468 +f 1004/1836/447 1073/1835/447 1076/1843/469 +f 1009/1839/467 1074/1838/467 1077/1845/470 +f 925/1847/451 1081/1853/451 1078/1848/471 +f 1007/1842/468 1075/1841/468 1079/1850/472 +f 1005/1844/469 1076/1843/469 1080/1852/473 +f 1010/1846/470 1077/1845/470 1081/1853/451 +f 1002/1849/471 1078/1848/471 1082/1854/466 +f 924/1851/472 1079/1850/472 1083/1855/453 +f 1084/1856/460 1102/1877/461 1075/1841/461 +f 1075/1841/461 1102/1877/461 1085/1858/462 +f 1079/1850/462 1085/1858/462 1086/1859/463 +f 1086/1859/463 1100/1874/464 1074/1838/464 +f 1074/1838/464 1100/1874/464 1087/1860/465 +f 1087/1860/465 1088/1861/455 1081/1853/455 +f 1088/1861/455 1089/1862/454 1078/1848/454 +f 1089/1862/454 1090/1863/456 1082/1854/456 +f 1090/1863/456 1096/1870/457 1073/1835/457 +f 1073/1835/457 1096/1870/457 1091/1864/458 +f 1091/1864/458 1092/1865/459 1080/1852/459 +f 1092/1865/459 1084/1867/460 1072/1832/460 +f 1092/1865/474 1105/1886/474 1093/1866/475 +f 1094/1868/476 1105/1886/474 1092/1865/474 +f 1095/1869/477 1094/1868/476 1091/1864/476 +f 1090/1863/478 1106/1889/478 1095/1869/477 +f 1097/1871/479 1106/1889/478 1090/1863/478 +f 1098/1872/480 1097/1871/479 1089/1862/479 +f 1087/1860/481 1104/1882/481 1098/1872/480 +f 1099/1873/482 1104/1882/481 1087/1860/481 +f 1086/1859/483 1107/1891/483 1099/1873/482 +f 1101/1875/484 1107/1891/483 1086/1859/483 +f 1093/1876/475 1103/1878/485 1102/1877/485 +f 1103/1878/485 1101/1875/484 1085/1858/484 +f 1093/1876/445 1000/2006/445 920/1879/468 +f 1095/1869/447 922/1893/447 1001/1880/469 +f 1099/1873/467 997/1894/467 996/1881/470 +f 1098/1872/451 995/1887/451 994/1883/471 +f 1103/1878/468 920/1879/468 999/1884/472 +f 1094/1868/469 1001/1880/469 921/1885/473 +f 1104/1882/470 996/1881/470 995/1887/451 +f 1097/1871/471 994/1883/471 993/1888/466 +f 1101/1875/472 999/1884/472 998/1890/453 +f 1105/1886/473 921/1885/473 1000/1892/445 +f 1106/1889/466 993/1888/466 922/1893/447 +f 1107/1891/453 998/1890/453 997/1894/467 +f 1108/1895/486 1128/1916/471 1109/1896/466 +f 1111/1898/488 1129/1917/472 1112/1899/453 +f 1114/1901/490 1130/1918/473 1115/1902/445 +f 1110/1897/487 1109/1896/466 1117/1904/447 +f 1113/1900/489 1112/1899/453 1119/1906/467 +f 1116/1908/491 1115/2007/445 1121/1909/468 +f 1118/1905/492 1117/1904/447 1123/1911/469 +f 1120/1907/493 1119/1906/467 1125/1913/470 +f 1127/1915/497 1131/1919/451 1128/1916/471 +f 1122/1910/494 1121/1909/468 1129/1917/472 +f 1124/1912/495 1123/1911/469 1130/1918/473 +f 1126/1914/496 1125/1913/470 1131/1919/451 +f 1116/1908/491 1122/1910/494 920/1920/498 +f 1122/1910/494 1111/1898/488 999/1922/500 +f 1111/1898/488 1113/1900/489 998/1924/501 +f 998/1926/501 1113/1900/489 1120/1907/493 +f 1120/1907/493 1126/1914/496 996/1928/503 +f 996/1930/503 1126/1914/496 1127/1915/497 +f 995/1932/504 1127/1915/497 1108/1895/486 +f 1108/1895/486 1110/1897/487 993/1934/506 +f 1110/1897/487 1118/1905/492 922/1936/507 +f 1118/1905/492 1124/1912/495 1001/1938/508 +f 1124/1912/495 1114/1901/490 921/1940/509 +f 1114/1901/490 1116/1903/491 1000/1942/499 +f 1000/1944/510 1115/1902/536 1130/1918/511 +f 921/1946/511 1130/1918/511 1123/1911/512 +f 1001/1948/512 1123/1911/512 1117/1904/513 +f 1117/1904/513 1109/1896/514 993/1950/514 +f 1109/1896/514 1128/1916/515 994/1952/515 +f 994/1954/515 1128/1916/515 1131/1919/516 +f 1131/1919/516 1125/1913/518 996/1956/518 +f 996/1958/518 1125/1913/518 1119/1906/519 +f 997/1960/519 1119/1906/519 1112/1899/520 +f 1112/1899/520 1129/1917/521 999/1962/521 +f 999/1964/521 1129/1917/521 1121/1909/522 +f 1121/1909/522 1115/2007/536 1000/1966/510 +f 969/1739/523 930/1617/535 1011/1718/447 +f 939/1968/524 953/1642/524 965/1657/453 +f 941/1969/525 1014/1724/525 953/1642/524 +f 947/1636/453 950/1639/453 952/1641/524 +f 937/1626/524 952/1641/524 957/1646/525 +f 961/1674/453 973/1738/534 951/1640/524 +f 1017/1970/447 1016/1991/526 1132/1971/526 +f 1022/1973/527 1021/1992/453 1134/1974/453 +f 1020/1976/528 1019/2008/444 1136/1977/444 +f 966/1979/529 1017/1970/447 1133/1972/447 +f 1023/1981/530 1022/1973/527 1135/1975/527 +f 1015/1983/531 968/1990/446 1140/1984/446 +f 967/1986/532 1020/1976/528 1137/1978/528 +f 1018/1988/533 966/1979/529 1138/1980/529 +f 968/1990/446 1023/1981/530 1139/1982/530 +f 1016/1991/526 1015/1983/531 1141/1985/531 +f 1021/1992/453 967/1986/532 1142/1987/532 +f 1019/1993/444 1018/1988/533 1143/1989/533 +f 955/1644/524 972/1737/534 962/1670/453 +f 972/1737/534 955/1644/524 954/1643/525 +f 954/1643/525 956/1645/525 973/1738/534 +f 956/1645/525 951/1640/524 973/1738/534 +f 964/1723/453 963/1658/453 962/1670/453 +f 971/1725/447 1012/1719/447 932/1619/535 +f 932/1619/535 958/1647/450 970/1676/523 +f 958/1647/450 959/1648/450 970/1676/523 +f 959/1648/450 930/1617/535 969/1739/523 +o Clip +v -0.062500 0.968750 -1.625003 +v 0.062500 2.281250 -1.625003 +v 0.062500 0.968750 -1.625003 +v -0.125000 0.968750 -1.531253 +v 0.062500 0.968750 -1.562503 +v 0.125000 0.968750 -1.531253 +v -0.062500 2.281250 -1.625003 +v 0.062500 2.281250 -1.562503 +v 0.125000 2.281250 -1.531253 +v -0.062500 2.281250 -1.562503 +v -0.125000 2.281250 -1.531253 +v -0.062500 0.968750 -1.562503 +vt 0.948864 0.965909 +vt 0.829545 0.954545 +vt 0.948864 0.954545 +vt 0.948864 0.977273 +vt 0.954545 0.994318 +vt 0.948864 1.000000 +vt 0.960227 0.982955 +vt 0.960227 0.994318 +vt 0.818182 0.982955 +vt 0.823864 0.994318 +vt 0.818182 0.994318 +vt 0.829545 1.000000 +vt 0.823864 0.982955 +vt 0.829545 0.977273 +vt 0.829545 0.965909 +vt 0.954545 0.982955 +vt 0.829545 0.948864 +vt 0.948864 0.943182 +vt 0.948864 0.948864 +vt 0.829545 0.971591 +vt 0.948864 0.971591 +vt 0.829545 0.943182 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -0.0000 1.0000 +vn 0.8507 0.0000 -0.5257 +vn 0.4472 0.0000 -0.8944 +vn 1.0000 0.0000 0.0000 +vn -0.8507 0.0000 -0.5257 +vn -0.4472 0.0000 -0.8944 +vn -1.0000 0.0000 0.0000 +s off +f 1144/2009/537 1145/2010/537 1146/2011/537 +f 1147/2012/538 1148/2013/538 1149/2014/538 +f 1148/2013/538 1144/2015/538 1146/2016/538 +f 1150/2017/539 1151/2018/539 1145/2019/539 +f 1152/2020/540 1147/2012/540 1149/2014/540 +f 1152/2020/539 1153/2021/539 1154/2022/539 +f 1144/2009/537 1150/2023/537 1145/2010/537 +f 1147/2012/538 1155/2024/538 1148/2013/538 +f 1148/2013/538 1155/2024/538 1144/2015/538 +f 1150/2017/539 1153/2021/539 1151/2018/539 +f 1152/2020/540 1154/2022/540 1147/2012/540 +f 1152/2020/539 1151/2018/539 1153/2021/539 +s 1 +f 1151/2025/541 1149/2026/542 1148/2027/541 +f 1145/2010/543 1148/2027/541 1146/2011/543 +f 1153/2028/544 1147/2012/545 1154/2022/545 +f 1155/2029/544 1150/2023/546 1144/2009/546 +f 1151/2025/541 1152/2030/542 1149/2026/542 +f 1145/2010/543 1151/2025/541 1148/2027/541 +f 1153/2028/544 1155/2029/544 1147/2012/545 +f 1155/2029/544 1153/2028/544 1150/2023/546 +o Bullet +v 0.000000 0.904644 -1.526442 +v 0.093750 0.998305 -1.530532 +v 0.000000 1.091966 -1.534621 +v -0.066291 1.064533 -1.533423 +v -0.093750 0.998305 -1.530532 +v -0.066291 0.932077 -1.527640 +v 0.066291 0.932077 -1.527640 +v 0.066291 1.064533 -1.533423 +v 0.000000 0.937359 -0.777156 +v -0.093750 1.031020 -0.781245 +v 0.093750 1.031020 -0.781245 +v 0.066291 1.097248 -0.784137 +v 0.066291 0.964791 -0.778354 +v -0.066291 0.964791 -0.778354 +v -0.066291 1.097248 -0.784137 +v 0.000000 1.124680 -0.785335 +v 0.044194 1.077898 -0.720733 +v 0.000000 1.096186 -0.721531 +v -0.044194 1.077898 -0.720733 +v -0.062500 1.033746 -0.718805 +v -0.044194 0.989594 -0.716877 +v 0.000000 0.971305 -0.716079 +v 0.044194 0.989594 -0.716877 +v 0.062500 1.033746 -0.718805 +v 0.044194 1.086076 -0.533411 +v 0.000000 0.979484 -0.528757 +v 0.044194 0.997772 -0.529556 +v -0.044194 0.997772 -0.529556 +v -0.044194 1.086076 -0.533411 +v 0.000000 1.104365 -0.534210 +v 0.062500 1.041924 -0.531483 +v -0.062500 1.041924 -0.531483 +v -0.022097 1.070806 -0.376581 +v 0.000000 1.079950 -0.376980 +v 0.022097 1.070806 -0.376581 +v 0.031250 1.048730 -0.375617 +v 0.022097 1.026654 -0.374654 +v 0.000000 1.017509 -0.374254 +v -0.031250 1.048730 -0.375617 +v -0.022097 1.026654 -0.374654 +v 0.000000 1.051456 -0.313177 +vt 0.838068 0.886364 +vt 0.838068 0.903409 +vt 0.829545 0.894886 +vt 0.846591 0.894886 +vt 0.844095 0.900913 +vt 0.844095 0.888860 +vt 0.832042 0.888860 +vt 0.832042 0.900913 +vt 0.954545 0.926136 +vt 0.954545 0.931818 +vt 0.886364 0.931818 +vt 0.954545 0.914773 +vt 0.954545 0.920455 +vt 0.886364 0.920455 +vt 0.954545 0.903409 +vt 0.886364 0.903409 +vt 0.886364 0.897727 +vt 0.954545 0.886364 +vt 0.954545 0.892045 +vt 0.886364 0.892045 +vt 0.886364 0.926136 +vt 0.954545 0.909091 +vt 0.886364 0.914773 +vt 0.886364 0.909091 +vt 0.954545 0.897727 +vt 0.880682 0.903409 +vt 0.880682 0.909091 +vt 0.880682 0.914773 +vt 0.880682 0.920455 +vt 0.880682 0.926136 +vt 0.880682 0.886364 +vt 0.886364 0.886364 +vt 0.880682 0.892045 +vt 0.880682 0.897727 +vt 0.863636 0.903409 +vt 0.863636 0.892045 +vt 0.863636 0.886364 +vt 0.863636 0.926136 +vt 0.863636 0.914773 +vt 0.863636 0.909091 +vt 0.863636 0.897727 +vt 0.880682 0.931818 +vt 0.863636 0.931818 +vt 0.863636 0.920455 +vt 0.852273 0.914773 +vt 0.852273 0.909091 +vt 0.852273 0.903409 +vt 0.852273 0.897727 +vt 0.852273 0.892045 +vt 0.852273 0.886364 +vt 0.852273 0.920455 +vt 0.852273 0.926136 +vt 0.852273 0.931818 +vt 0.846591 0.926136 +vt 0.846591 0.914773 +vt 0.846591 0.903409 +vt 0.846591 0.892045 +vn -0.0000 -0.0436 -0.9990 +vn -0.7071 -0.7064 0.0308 +vn -0.0000 -0.9990 0.0436 +vn -0.7071 0.7064 -0.0308 +vn -1.0000 -0.0000 -0.0000 +vn 0.7071 0.7064 -0.0308 +vn 1.0000 0.0000 -0.0000 +vn 0.7071 -0.7064 0.0308 +vn 0.0000 0.9990 -0.0436 +vn 0.6325 0.6514 0.4192 +vn 0.6324 0.6514 0.4192 +vn 0.0000 0.9131 0.4078 +vn -0.6324 0.6514 0.4192 +vn -0.6325 0.6514 0.4192 +vn -0.8944 0.0195 0.4468 +vn -0.6325 -0.6123 0.4744 +vn -0.0000 -0.8741 0.4858 +vn 0.6325 -0.6123 0.4744 +vn 0.8944 0.0195 0.4468 +vn 0.7038 0.7073 0.0656 +vn 0.7038 -0.6989 0.1270 +vn -0.0000 -0.9902 0.1397 +vn -0.7038 -0.6989 0.1270 +vn -0.7038 0.7073 0.0656 +vn -0.0000 0.9986 0.0529 +vn 0.9953 0.0042 0.0963 +vn -0.9953 0.0042 0.0963 +vn -0.6711 0.6842 0.2856 +vn -0.0000 0.9619 0.2734 +vn 0.6711 0.6842 0.2856 +vn 0.9490 0.0137 0.3148 +vn 0.6711 -0.6567 0.3441 +vn -0.0000 -0.9344 0.3562 +vn -0.9490 0.0137 0.3148 +vn -0.6711 -0.6567 0.3441 +vn -0.0000 0.0436 0.9990 +s off +f 1156/2031/547 1158/2032/547 1157/2033/547 +f 1158/2032/547 1160/2034/547 1159/2035/547 +f 1160/2034/547 1156/2031/547 1161/2036/547 +f 1156/2031/547 1157/2033/547 1162/2037/547 +f 1157/2033/547 1158/2032/547 1163/2038/547 +f 1158/2032/547 1156/2031/547 1160/2034/547 +s 1 +f 1161/2039/548 1156/2040/549 1164/2041/549 +f 1159/2042/550 1160/2043/551 1165/2044/551 +f 1163/2045/552 1167/2046/552 1166/2047/553 +f 1156/2048/549 1162/2049/554 1168/2050/554 +f 1160/2043/551 1161/2039/548 1169/2051/548 +f 1158/2052/555 1159/2042/550 1170/2053/550 +f 1163/2045/552 1158/2052/555 1171/2054/555 +f 1162/2049/554 1157/2055/553 1166/2047/553 +f 1172/2056/556 1167/2046/557 1171/2054/558 +f 1173/2057/558 1171/2054/558 1170/2053/559 +f 1174/2058/560 1170/2053/559 1165/2044/561 +f 1175/2059/561 1165/2044/561 1169/2051/562 +f 1176/2060/562 1169/2051/562 1164/2041/563 +f 1177/2061/563 1164/2062/563 1168/2050/564 +f 1178/2063/564 1168/2050/564 1166/2047/565 +f 1179/2064/565 1166/2047/565 1167/2046/557 +f 1179/2064/553 1172/2056/552 1180/2065/566 +f 1178/2063/554 1182/2066/567 1181/2067/568 +f 1175/2059/551 1176/2060/548 1183/2068/569 +f 1173/2057/555 1174/2058/550 1184/2069/570 +f 1172/2056/552 1173/2057/555 1185/2070/571 +f 1178/2063/554 1179/2064/553 1186/2071/572 +f 1176/2060/548 1177/2072/549 1181/2073/568 +f 1174/2058/550 1175/2059/551 1187/2074/573 +f 1188/2075/574 1184/2069/570 1187/2074/573 +f 1189/2076/575 1185/2070/571 1184/2069/570 +f 1190/2077/576 1180/2065/566 1185/2070/571 +f 1191/2078/577 1186/2071/572 1180/2065/566 +f 1192/2079/578 1182/2066/567 1186/2071/572 +f 1193/2080/579 1181/2067/568 1182/2066/567 +f 1194/2081/580 1187/2074/573 1183/2068/569 +f 1195/2082/581 1183/2068/569 1181/2073/568 +f 1195/2082/581 1193/2083/579 1196/2084/582 +f 1194/2081/580 1195/2082/581 1196/2084/582 +f 1188/2075/574 1194/2081/580 1196/2085/582 +f 1189/2076/575 1188/2075/574 1196/2085/582 +f 1190/2077/576 1189/2076/575 1196/2086/582 +f 1191/2078/577 1190/2077/576 1196/2086/582 +f 1193/2080/579 1192/2079/578 1196/2087/582 +f 1192/2079/578 1191/2078/577 1196/2087/582 +f 1161/2039/548 1164/2041/549 1169/2051/548 +f 1159/2042/550 1165/2044/551 1170/2053/550 +f 1163/2045/552 1166/2047/553 1157/2055/553 +f 1156/2048/549 1168/2050/554 1164/2062/549 +f 1160/2043/551 1169/2051/548 1165/2044/551 +f 1158/2052/555 1170/2053/550 1171/2054/555 +f 1163/2045/552 1171/2054/555 1167/2046/552 +f 1162/2049/554 1166/2047/553 1168/2050/554 +f 1172/2056/556 1171/2054/558 1173/2057/558 +f 1173/2057/558 1170/2053/559 1174/2058/560 +f 1174/2058/560 1165/2044/561 1175/2059/561 +f 1175/2059/561 1169/2051/562 1176/2060/562 +f 1176/2060/562 1164/2041/563 1177/2072/563 +f 1177/2061/563 1168/2050/564 1178/2063/564 +f 1178/2063/564 1166/2047/565 1179/2064/565 +f 1179/2064/565 1167/2046/557 1172/2056/556 +f 1179/2064/553 1180/2065/566 1186/2071/572 +f 1178/2063/554 1181/2067/568 1177/2061/549 +f 1175/2059/551 1183/2068/569 1187/2074/573 +f 1173/2057/555 1184/2069/570 1185/2070/571 +f 1172/2056/552 1185/2070/571 1180/2065/566 +f 1178/2063/554 1186/2071/572 1182/2066/567 +f 1176/2060/548 1181/2073/568 1183/2068/569 +f 1174/2058/550 1187/2074/573 1184/2069/570 +f 1188/2075/574 1187/2074/573 1194/2081/580 +f 1189/2076/575 1184/2069/570 1188/2075/574 +f 1190/2077/576 1185/2070/571 1189/2076/575 +f 1191/2078/577 1180/2065/566 1190/2077/576 +f 1192/2079/578 1186/2071/572 1191/2078/577 +f 1193/2080/579 1182/2066/567 1192/2079/578 +f 1194/2081/580 1183/2068/569 1195/2082/581 +f 1195/2082/581 1181/2073/568 1193/2083/579 +o Bullets +v 0.000000 2.093750 -1.531250 +v 0.000000 2.281250 -1.531250 +v 0.093750 2.187500 -1.531250 +v 0.086614 2.035877 -1.531250 +v -0.035877 1.913386 -1.531250 +v 0.035877 2.086614 -1.531250 +v 0.000000 1.718750 -1.531250 +v 0.000000 1.906250 -1.531250 +v 0.093750 1.812500 -1.531250 +v -0.035877 1.538386 -1.531250 +v 0.035877 1.711614 -1.531250 +v 0.086614 1.589123 -1.531250 +v 0.066291 1.503791 -1.531250 +v 0.000000 1.343750 -1.531250 +v 0.000000 1.531250 -1.531250 +v 0.086614 1.285877 -1.531250 +v -0.035877 1.163386 -1.531250 +v 0.035877 1.336614 -1.531250 +v -0.066291 2.253791 -1.531250 +v -0.093750 2.187500 -1.531250 +v -0.066291 2.121209 -1.531250 +v 0.066291 2.121209 -1.531250 +v 0.066291 2.253791 -1.531250 +v -0.035877 2.086614 -1.531250 +v -0.086614 2.035877 -1.531250 +v -0.086614 1.964123 -1.531250 +v 0.086614 1.964123 -1.531250 +v 0.035877 1.913386 -1.531250 +v -0.066291 1.878791 -1.531250 +v -0.093750 1.812500 -1.531250 +v -0.066291 1.746209 -1.531250 +v 0.066291 1.746209 -1.531250 +v 0.066291 1.878791 -1.531250 +v -0.035877 1.711614 -1.531250 +v -0.086614 1.660877 -1.531250 +v -0.086614 1.589123 -1.531250 +v 0.035877 1.538386 -1.531250 +v 0.086614 1.660877 -1.531250 +v -0.066291 1.503791 -1.531250 +v -0.093750 1.437500 -1.531250 +v -0.066291 1.371209 -1.531250 +v 0.093750 1.437500 -1.531250 +v 0.066291 1.371209 -1.531250 +v -0.035877 1.336614 -1.531250 +v -0.086614 1.285877 -1.531250 +v -0.086614 1.214123 -1.531250 +v 0.086614 1.214123 -1.531250 +v 0.035877 1.163386 -1.531250 +v 0.000000 2.093750 -0.781250 +v -0.093750 2.187500 -0.781250 +v 0.066291 2.253791 -0.781250 +v 0.066291 2.121209 -0.781250 +v -0.066291 2.121209 -0.781250 +v -0.066291 2.253791 -0.781250 +v 0.000000 2.281250 -0.781250 +v 0.093750 2.187500 -0.781250 +v 0.044194 2.231694 -0.718750 +v 0.000000 2.250000 -0.718750 +v -0.044194 2.231694 -0.718750 +v -0.062500 2.187500 -0.718750 +v -0.044194 2.143306 -0.718750 +v 0.000000 2.125000 -0.718750 +v 0.044194 2.143306 -0.718750 +v 0.062500 2.187500 -0.718750 +v 0.044194 2.231694 -0.531250 +v 0.044194 2.143306 -0.531250 +v -0.044194 2.143306 -0.531250 +v -0.044194 2.231694 -0.531250 +v 0.000000 2.250000 -0.531250 +v 0.062500 2.187500 -0.531250 +v 0.000000 2.125000 -0.531250 +v -0.062500 2.187500 -0.531250 +v -0.031250 2.187500 -0.375236 +v -0.022097 2.209597 -0.375236 +v 0.022097 2.209597 -0.375236 +v 0.031250 2.187500 -0.375236 +v 0.000000 2.156250 -0.375236 +v -0.022097 2.165403 -0.375236 +v 0.000000 2.187500 -0.312736 +v 0.000000 2.218750 -0.375236 +v 0.022097 2.165403 -0.375236 +v -0.035877 1.913386 -0.781250 +v -0.086614 2.035877 -0.781250 +v 0.086614 2.035877 -0.781250 +v 0.035877 1.913386 -0.781250 +v -0.086614 1.964123 -0.781250 +v -0.035877 2.086614 -0.781250 +v 0.035877 2.086614 -0.781250 +v 0.086614 1.964123 -0.781250 +v 0.057742 2.023918 -0.718750 +v -0.023918 2.057743 -0.718750 +v -0.057742 2.023918 -0.718750 +v -0.057742 1.976082 -0.718750 +v -0.023918 1.942258 -0.718750 +v 0.023918 1.942258 -0.718750 +v 0.057742 1.976082 -0.718750 +v 0.057742 2.023918 -0.531250 +v 0.023918 1.942258 -0.531250 +v -0.057742 1.976082 -0.531250 +v 0.023918 2.057743 -0.718750 +v -0.023918 2.057743 -0.531250 +v 0.023918 2.057743 -0.531250 +v 0.057742 1.976082 -0.531250 +v -0.023918 1.942258 -0.531250 +v -0.057742 2.023918 -0.531250 +v -0.028871 2.011959 -0.375236 +v -0.011959 2.028871 -0.375236 +v 0.028871 2.011959 -0.375236 +v 0.028871 1.988041 -0.375236 +v 0.011959 1.971129 -0.375236 +v -0.028871 1.988041 -0.375236 +v -0.011959 1.971129 -0.375236 +v 0.000000 2.000000 -0.312736 +v 0.011959 2.028871 -0.375236 +v 0.000000 1.718750 -0.781250 +v -0.093750 1.812500 -0.781250 +v 0.066291 1.878791 -0.781250 +v 0.066291 1.746209 -0.781250 +v -0.066291 1.746209 -0.781250 +v -0.066291 1.878791 -0.781250 +v 0.000000 1.906250 -0.781250 +v 0.093750 1.812500 -0.781250 +v 0.044194 1.856694 -0.718750 +v 0.000000 1.875000 -0.718750 +v -0.062500 1.812500 -0.718750 +v -0.044194 1.768306 -0.718750 +v 0.044194 1.768306 -0.718750 +v 0.062500 1.812500 -0.718750 +v 0.044194 1.856694 -0.531250 +v 0.000000 1.750000 -0.718750 +v 0.044194 1.768306 -0.531250 +v -0.044194 1.768306 -0.531250 +v -0.044194 1.856694 -0.718750 +v -0.044194 1.856694 -0.531250 +v 0.000000 1.875000 -0.531250 +v 0.062500 1.812500 -0.531250 +v 0.000000 1.750000 -0.531250 +v -0.062500 1.812500 -0.531250 +v -0.031250 1.812500 -0.375236 +v -0.022097 1.834597 -0.375236 +v 0.022097 1.834597 -0.375236 +v 0.031250 1.812500 -0.375236 +v 0.022097 1.790403 -0.375236 +v -0.022097 1.790403 -0.375236 +v 0.000000 1.781250 -0.375236 +v 0.000000 1.812500 -0.312736 +v 0.000000 1.843750 -0.375236 +v -0.035877 1.538386 -0.781250 +v -0.086614 1.660877 -0.781250 +v 0.086614 1.660877 -0.781250 +v 0.035877 1.538386 -0.781250 +v -0.086614 1.589123 -0.781250 +v -0.035877 1.711614 -0.781250 +v 0.035877 1.711614 -0.781250 +v 0.086614 1.589123 -0.781250 +v 0.023918 1.682742 -0.718750 +v -0.023918 1.682742 -0.718750 +v -0.057742 1.648918 -0.718750 +v -0.057742 1.601082 -0.718750 +v -0.023918 1.567258 -0.718750 +v 0.057743 1.601082 -0.718750 +v 0.057743 1.648918 -0.718750 +v 0.057743 1.648918 -0.531250 +v 0.023918 1.567258 -0.718750 +v 0.023918 1.567258 -0.531250 +v -0.057742 1.601082 -0.531250 +v -0.023918 1.682742 -0.531250 +v 0.023918 1.682742 -0.531250 +v 0.057743 1.601082 -0.531250 +v -0.023918 1.567258 -0.531250 +v -0.057742 1.648918 -0.531250 +v -0.011959 1.653871 -0.375236 +v 0.011959 1.653871 -0.375236 +v 0.028871 1.636959 -0.375236 +v 0.028871 1.613041 -0.375236 +v 0.011959 1.596129 -0.375236 +v -0.011959 1.596129 -0.375236 +v -0.028871 1.636959 -0.375236 +v -0.028871 1.613041 -0.375236 +v 0.000000 1.625000 -0.312736 +v 0.000000 1.343750 -0.781250 +v -0.093750 1.437500 -0.781250 +v 0.066291 1.503791 -0.781250 +v 0.066291 1.371209 -0.781250 +v -0.066291 1.371209 -0.781250 +v -0.066291 1.503791 -0.781250 +v 0.000000 1.531250 -0.781250 +v 0.093750 1.437500 -0.781250 +v 0.044194 1.481694 -0.718750 +v -0.044194 1.481694 -0.718750 +v -0.062500 1.437500 -0.718750 +v -0.044194 1.393306 -0.718750 +v 0.000000 1.375000 -0.718750 +v 0.062500 1.437500 -0.718750 +v 0.044194 1.481694 -0.531250 +v 0.044194 1.393306 -0.718750 +v 0.044194 1.393306 -0.531250 +v -0.044194 1.393306 -0.531250 +v 0.000000 1.500000 -0.718750 +v -0.044194 1.481694 -0.531250 +v 0.000000 1.500000 -0.531250 +v 0.062500 1.437500 -0.531250 +v 0.000000 1.375000 -0.531250 +v -0.062500 1.437500 -0.531250 +v -0.022097 1.459597 -0.375236 +v 0.022097 1.459597 -0.375236 +v 0.022097 1.415403 -0.375236 +v 0.000000 1.406250 -0.375236 +v -0.031250 1.437500 -0.375236 +v -0.022097 1.415403 -0.375236 +v 0.000000 1.437500 -0.312736 +v 0.000000 1.468750 -0.375236 +v 0.031250 1.437500 -0.375236 +v -0.035877 1.163386 -0.781250 +v -0.086614 1.285877 -0.781250 +v 0.086614 1.285877 -0.781250 +v 0.035877 1.163386 -0.781250 +v -0.086614 1.214123 -0.781250 +v -0.035877 1.336614 -0.781250 +v 0.035877 1.336614 -0.781250 +v 0.086614 1.214123 -0.781250 +v 0.057742 1.273918 -0.718750 +v -0.023918 1.307743 -0.718750 +v -0.057742 1.273918 -0.718750 +v -0.057742 1.226082 -0.718750 +v -0.023918 1.192258 -0.718750 +v 0.057742 1.226082 -0.718750 +v 0.057742 1.273918 -0.531250 +v 0.023918 1.192258 -0.718750 +v 0.023918 1.192258 -0.531250 +v -0.057742 1.226082 -0.531250 +v 0.023918 1.307742 -0.718750 +v -0.023918 1.307743 -0.531250 +v 0.023918 1.307742 -0.531250 +v 0.057742 1.226082 -0.531250 +v -0.023918 1.192258 -0.531250 +v -0.057742 1.273918 -0.531250 +v -0.028871 1.261959 -0.375236 +v -0.011959 1.278871 -0.375236 +v 0.028871 1.261959 -0.375236 +v 0.028871 1.238041 -0.375236 +v 0.011959 1.221129 -0.375236 +v -0.011959 1.221129 -0.375236 +v -0.028871 1.238041 -0.375236 +v 0.000000 1.250000 -0.312736 +v 0.011959 1.278871 -0.375236 +v -0.066291 0.996209 -1.531250 +v 0.000000 0.968750 -1.531250 +v 0.000000 0.968750 -0.781250 +v -0.066291 1.128791 -1.531250 +v -0.093750 1.062500 -1.531250 +v -0.093750 1.062500 -0.781250 +v 0.093750 1.062500 -1.531250 +v 0.066291 1.128791 -1.531250 +v 0.066291 1.128791 -0.781250 +v 0.066291 0.996209 -1.531250 +v 0.066291 0.996209 -0.781250 +v -0.066291 0.996209 -0.781250 +v 0.000000 1.156250 -1.531250 +v -0.066291 1.128791 -0.781250 +v 0.000000 1.156250 -0.781250 +v 0.093750 1.062500 -0.781250 +v 0.044194 1.106694 -0.718750 +v -0.044194 1.106694 -0.718750 +v -0.062500 1.062500 -0.718750 +v -0.044194 1.018306 -0.718750 +v 0.044194 1.018306 -0.718750 +v 0.062500 1.062500 -0.718750 +v 0.044194 1.106694 -0.531250 +v 0.000000 1.000000 -0.718750 +v 0.044194 1.018306 -0.531250 +v -0.044194 1.018306 -0.531250 +v 0.000000 1.125000 -0.718750 +v -0.044194 1.106694 -0.531250 +v 0.000000 1.125000 -0.531250 +v 0.062500 1.062500 -0.531250 +v 0.000000 1.000000 -0.531250 +v -0.062500 1.062500 -0.531250 +v -0.022097 1.084597 -0.375236 +v 0.000000 1.093750 -0.375236 +v 0.031250 1.062500 -0.375236 +v 0.022097 1.040403 -0.375236 +v -0.031250 1.062500 -0.375236 +v 0.000000 1.031250 -0.375236 +v -0.022097 1.040403 -0.375236 +v 0.000000 1.062500 -0.312736 +v 0.022097 1.084597 -0.375236 +vt 0.838068 0.886364 +vt 0.838068 0.903409 +vt 0.829545 0.894886 +vt 0.832042 0.900913 +vt 0.838068 0.886364 +vt 0.838068 0.903409 +vt 0.838068 0.886364 +vt 0.838068 0.903409 +vt 0.829545 0.894886 +vt 0.838068 0.886364 +vt 0.838068 0.903409 +vt 0.829545 0.894886 +vt 0.832042 0.900913 +vt 0.838068 0.886364 +vt 0.838068 0.903409 +vt 0.832042 0.900913 +vt 0.838068 0.886364 +vt 0.838068 0.903409 +vt 0.844095 0.900913 +vt 0.846591 0.894886 +vt 0.844095 0.888860 +vt 0.832042 0.888860 +vt 0.832042 0.900913 +vt 0.844095 0.900913 +vt 0.846591 0.894886 +vt 0.844095 0.888860 +vt 0.829545 0.894886 +vt 0.832042 0.888860 +vt 0.844095 0.900913 +vt 0.846591 0.894886 +vt 0.844095 0.888860 +vt 0.832042 0.888860 +vt 0.832042 0.900913 +vt 0.844095 0.900913 +vt 0.846591 0.894886 +vt 0.844095 0.888860 +vt 0.832042 0.888860 +vt 0.832042 0.900913 +vt 0.844095 0.900913 +vt 0.846591 0.894886 +vt 0.844095 0.888860 +vt 0.829545 0.894886 +vt 0.832042 0.888860 +vt 0.844095 0.900913 +vt 0.846591 0.894886 +vt 0.844095 0.888860 +vt 0.829545 0.894886 +vt 0.832042 0.888860 +vt 0.954545 0.926136 +vt 0.954545 0.931818 +vt 0.886364 0.931818 +vt 0.954545 0.914773 +vt 0.954545 0.920455 +vt 0.886364 0.920455 +vt 0.954545 0.897727 +vt 0.954545 0.903409 +vt 0.886364 0.903409 +vt 0.954545 0.886364 +vt 0.954545 0.892045 +vt 0.886364 0.892045 +vt 0.886364 0.926136 +vt 0.954545 0.909091 +vt 0.886364 0.914773 +vt 0.886364 0.909091 +vt 0.886364 0.897727 +vt 0.880682 0.903409 +vt 0.880682 0.909091 +vt 0.880682 0.914773 +vt 0.880682 0.920455 +vt 0.880682 0.926136 +vt 0.880682 0.886364 +vt 0.886364 0.886364 +vt 0.880682 0.892045 +vt 0.880682 0.897727 +vt 0.863636 0.903409 +vt 0.863636 0.892045 +vt 0.863636 0.926136 +vt 0.863636 0.914773 +vt 0.863636 0.909091 +vt 0.863636 0.897727 +vt 0.880682 0.931818 +vt 0.863636 0.931818 +vt 0.863636 0.920455 +vt 0.852273 0.920455 +vt 0.852273 0.914773 +vt 0.852273 0.903409 +vt 0.852273 0.897727 +vt 0.852273 0.886364 +vt 0.863636 0.886364 +vt 0.852273 0.926136 +vt 0.852273 0.931818 +vt 0.846591 0.926136 +vt 0.846591 0.914773 +vt 0.852273 0.909091 +vt 0.846591 0.903409 +vt 0.852273 0.892045 +vt 0.846591 0.892045 +vt 0.954545 0.926136 +vt 0.954545 0.931818 +vt 0.886364 0.931818 +vt 0.954545 0.914773 +vt 0.954545 0.920455 +vt 0.886364 0.920455 +vt 0.954545 0.897727 +vt 0.954545 0.903409 +vt 0.886364 0.903409 +vt 0.954545 0.886364 +vt 0.954545 0.892045 +vt 0.886364 0.892045 +vt 0.886364 0.926136 +vt 0.954545 0.909091 +vt 0.886364 0.914773 +vt 0.886364 0.909091 +vt 0.886364 0.897727 +vt 0.880682 0.903409 +vt 0.880682 0.914773 +vt 0.880682 0.920455 +vt 0.880682 0.926136 +vt 0.880682 0.886364 +vt 0.886364 0.886364 +vt 0.880682 0.892045 +vt 0.880682 0.897727 +vt 0.863636 0.903409 +vt 0.863636 0.892045 +vt 0.863636 0.926136 +vt 0.880682 0.909091 +vt 0.863636 0.914773 +vt 0.863636 0.909091 +vt 0.863636 0.897727 +vt 0.880682 0.931818 +vt 0.863636 0.931818 +vt 0.863636 0.920455 +vt 0.852273 0.920455 +vt 0.852273 0.914773 +vt 0.852273 0.903409 +vt 0.852273 0.897727 +vt 0.852273 0.892045 +vt 0.863636 0.886364 +vt 0.852273 0.926136 +vt 0.852273 0.931818 +vt 0.846591 0.926136 +vt 0.846591 0.914773 +vt 0.852273 0.909091 +vt 0.846591 0.903409 +vt 0.852273 0.886364 +vt 0.846591 0.892045 +vt 0.954545 0.926136 +vt 0.954545 0.931818 +vt 0.886364 0.931818 +vt 0.954545 0.914773 +vt 0.954545 0.920455 +vt 0.886364 0.920455 +vt 0.954545 0.897727 +vt 0.954545 0.903409 +vt 0.886364 0.903409 +vt 0.954545 0.886364 +vt 0.954545 0.892045 +vt 0.886364 0.892045 +vt 0.886364 0.926136 +vt 0.954545 0.909091 +vt 0.886364 0.914773 +vt 0.886364 0.909091 +vt 0.886364 0.897727 +vt 0.880682 0.903409 +vt 0.880682 0.909091 +vt 0.880682 0.920455 +vt 0.880682 0.926136 +vt 0.886364 0.886364 +vt 0.880682 0.892045 +vt 0.880682 0.897727 +vt 0.863636 0.903409 +vt 0.880682 0.886364 +vt 0.863636 0.892045 +vt 0.863636 0.926136 +vt 0.880682 0.914773 +vt 0.863636 0.914773 +vt 0.863636 0.909091 +vt 0.863636 0.897727 +vt 0.880682 0.931818 +vt 0.863636 0.931818 +vt 0.863636 0.920455 +vt 0.852273 0.920455 +vt 0.852273 0.914773 +vt 0.852273 0.903409 +vt 0.852273 0.897727 +vt 0.852273 0.892045 +vt 0.863636 0.886364 +vt 0.852273 0.926136 +vt 0.852273 0.931818 +vt 0.846591 0.926136 +vt 0.846591 0.914773 +vt 0.852273 0.909091 +vt 0.846591 0.903409 +vt 0.852273 0.886364 +vt 0.846591 0.892045 +vt 0.954545 0.926136 +vt 0.954545 0.931818 +vt 0.886364 0.931818 +vt 0.954545 0.914773 +vt 0.954545 0.920455 +vt 0.886364 0.920455 +vt 0.954545 0.897727 +vt 0.954545 0.903409 +vt 0.886364 0.903409 +vt 0.954545 0.886364 +vt 0.954545 0.892045 +vt 0.886364 0.892045 +vt 0.886364 0.926136 +vt 0.954545 0.909091 +vt 0.886364 0.914773 +vt 0.886364 0.909091 +vt 0.886364 0.897727 +vt 0.880682 0.909091 +vt 0.880682 0.914773 +vt 0.880682 0.920455 +vt 0.880682 0.926136 +vt 0.880682 0.886364 +vt 0.886364 0.886364 +vt 0.880682 0.897727 +vt 0.880682 0.903409 +vt 0.863636 0.903409 +vt 0.880682 0.892045 +vt 0.863636 0.892045 +vt 0.863636 0.926136 +vt 0.863636 0.914773 +vt 0.863636 0.909091 +vt 0.863636 0.897727 +vt 0.880682 0.931818 +vt 0.863636 0.931818 +vt 0.863636 0.920455 +vt 0.852273 0.914773 +vt 0.852273 0.909091 +vt 0.852273 0.903409 +vt 0.852273 0.897727 +vt 0.852273 0.892045 +vt 0.852273 0.886364 +vt 0.863636 0.886364 +vt 0.852273 0.920455 +vt 0.852273 0.926136 +vt 0.852273 0.931818 +vt 0.846591 0.926136 +vt 0.846591 0.914773 +vt 0.846591 0.903409 +vt 0.846591 0.892045 +vt 0.954545 0.926136 +vt 0.954545 0.931818 +vt 0.886364 0.931818 +vt 0.954545 0.914773 +vt 0.954545 0.920455 +vt 0.886364 0.920455 +vt 0.954545 0.897727 +vt 0.954545 0.903409 +vt 0.886364 0.903409 +vt 0.954545 0.886364 +vt 0.954545 0.892045 +vt 0.886364 0.892045 +vt 0.886364 0.926136 +vt 0.954545 0.909091 +vt 0.886364 0.914773 +vt 0.886364 0.909091 +vt 0.886364 0.897727 +vt 0.880682 0.903409 +vt 0.880682 0.914773 +vt 0.880682 0.920455 +vt 0.880682 0.926136 +vt 0.880682 0.886364 +vt 0.886364 0.886364 +vt 0.880682 0.897727 +vt 0.863636 0.903409 +vt 0.880682 0.892045 +vt 0.863636 0.892045 +vt 0.863636 0.926136 +vt 0.880682 0.909091 +vt 0.863636 0.914773 +vt 0.863636 0.909091 +vt 0.863636 0.897727 +vt 0.880682 0.931818 +vt 0.863636 0.931818 +vt 0.863636 0.920455 +vt 0.852273 0.914773 +vt 0.852273 0.903409 +vt 0.852273 0.892045 +vt 0.852273 0.886364 +vt 0.863636 0.886364 +vt 0.852273 0.920455 +vt 0.852273 0.931818 +vt 0.852273 0.926136 +vt 0.846591 0.926136 +vt 0.846591 0.914773 +vt 0.852273 0.909091 +vt 0.846591 0.903409 +vt 0.852273 0.897727 +vt 0.846591 0.892045 +vt 0.954545 0.926136 +vt 0.954545 0.931818 +vt 0.886364 0.931818 +vt 0.954545 0.914773 +vt 0.954545 0.920455 +vt 0.886364 0.920455 +vt 0.954545 0.897727 +vt 0.954545 0.903409 +vt 0.886364 0.903409 +vt 0.954545 0.886364 +vt 0.954545 0.892045 +vt 0.886364 0.892045 +vt 0.886364 0.926136 +vt 0.954545 0.909091 +vt 0.886364 0.914773 +vt 0.886364 0.909091 +vt 0.886364 0.897727 +vt 0.880682 0.903409 +vt 0.880682 0.914773 +vt 0.880682 0.920455 +vt 0.880682 0.926136 +vt 0.880682 0.886364 +vt 0.886364 0.886364 +vt 0.880682 0.897727 +vt 0.863636 0.903409 +vt 0.880682 0.892045 +vt 0.863636 0.892045 +vt 0.863636 0.926136 +vt 0.880682 0.909091 +vt 0.863636 0.914773 +vt 0.863636 0.909091 +vt 0.863636 0.897727 +vt 0.880682 0.931818 +vt 0.863636 0.931818 +vt 0.863636 0.920455 +vt 0.852273 0.920455 +vt 0.852273 0.914773 +vt 0.852273 0.903409 +vt 0.852273 0.897727 +vt 0.852273 0.892045 +vt 0.852273 0.886364 +vt 0.863636 0.886364 +vt 0.852273 0.926136 +vt 0.852273 0.931818 +vt 0.846591 0.926136 +vt 0.846591 0.914773 +vt 0.852273 0.909091 +vt 0.846591 0.903409 +vt 0.846591 0.892045 +vt 0.954545 0.926136 +vt 0.954545 0.931818 +vt 0.886364 0.931818 +vt 0.954545 0.914773 +vt 0.954545 0.920455 +vt 0.886364 0.920455 +vt 0.954545 0.897727 +vt 0.954545 0.903409 +vt 0.886364 0.903409 +vt 0.954545 0.886364 +vt 0.954545 0.892045 +vt 0.886364 0.892045 +vt 0.886364 0.926136 +vt 0.954545 0.909091 +vt 0.886364 0.914773 +vt 0.886364 0.909091 +vt 0.886364 0.897727 +vt 0.880682 0.903409 +vt 0.880682 0.914773 +vt 0.880682 0.920455 +vt 0.880682 0.926136 +vt 0.886364 0.886364 +vt 0.880682 0.892045 +vt 0.880682 0.897727 +vt 0.863636 0.903409 +vt 0.880682 0.886364 +vt 0.863636 0.892045 +vt 0.863636 0.926136 +vt 0.880682 0.909091 +vt 0.863636 0.914773 +vt 0.863636 0.909091 +vt 0.863636 0.897727 +vt 0.880682 0.931818 +vt 0.863636 0.931818 +vt 0.863636 0.920455 +vt 0.852273 0.914773 +vt 0.852273 0.909091 +vt 0.852273 0.897727 +vt 0.852273 0.892045 +vt 0.863636 0.886364 +vt 0.852273 0.920455 +vt 0.852273 0.931818 +vt 0.852273 0.926136 +vt 0.846591 0.926136 +vt 0.846591 0.914773 +vt 0.852273 0.903409 +vt 0.846591 0.903409 +vt 0.852273 0.886364 +vt 0.846591 0.892045 +vn 0.0000 0.0000 -1.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.0000 -1.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn -1.0000 -0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.6325 0.6325 0.4472 +vn 0.0000 0.8944 0.4472 +vn -0.6325 0.6325 0.4472 +vn -0.8944 0.0000 0.4472 +vn -0.6325 -0.6325 0.4472 +vn -0.0000 -0.8944 0.4472 +vn 0.6325 -0.6325 0.4472 +vn 0.8944 0.0000 0.4472 +vn 0.7038 0.7038 0.0964 +vn 0.7038 -0.7038 0.0964 +vn -0.7038 -0.7038 0.0964 +vn -0.7038 0.7038 0.0964 +vn 0.0000 0.9953 0.0964 +vn 0.9953 0.0000 0.0964 +vn 0.0000 -0.9953 0.0964 +vn -0.9953 -0.0000 0.0964 +vn -0.9490 -0.0000 0.3151 +vn -0.6711 0.6711 0.3151 +vn 0.6711 0.6711 0.3151 +vn 0.9490 0.0000 0.3151 +vn 0.0000 -0.9490 0.3151 +vn -0.6711 -0.6711 0.3151 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.9490 0.3151 +vn 0.6711 -0.6711 0.3151 +vn -0.9239 -0.3827 0.0000 +vn -0.3827 -0.9239 -0.0000 +vn -0.3827 0.9239 0.0000 +vn -0.9239 0.3827 0.0000 +vn 0.9239 -0.3827 0.0000 +vn 0.9239 0.3827 0.0000 +vn 0.3827 -0.9239 0.0000 +vn 0.3827 0.9239 0.0000 +vn 0.8263 0.3423 0.4472 +vn 0.3423 0.8263 0.4472 +vn -0.3423 0.8263 0.4472 +vn -0.8263 0.3423 0.4472 +vn -0.8263 -0.3423 0.4472 +vn -0.3423 -0.8263 0.4472 +vn 0.3423 -0.8263 0.4472 +vn 0.8263 -0.3423 0.4472 +vn 0.9196 0.3809 0.0964 +vn 0.3809 -0.9196 0.0964 +vn -0.9196 -0.3809 0.0964 +vn -0.3809 0.9196 0.0964 +vn 0.3809 0.9196 0.0964 +vn 0.9196 -0.3809 0.0964 +vn -0.3809 -0.9196 0.0964 +vn -0.9196 0.3809 0.0964 +vn -0.8768 0.3632 0.3151 +vn -0.3632 0.8768 0.3151 +vn 0.8768 0.3632 0.3151 +vn 0.8768 -0.3632 0.3151 +vn 0.3632 -0.8768 0.3151 +vn -0.8768 -0.3632 0.3151 +vn -0.3632 -0.8768 0.3151 +vn 0.3632 0.8768 0.3151 +s off +f 1197/2088/583 1198/2089/583 1199/2090/583 +f 1200/2091/583 1201/2092/583 1202/2093/583 +f 1203/2094/583 1204/2095/583 1205/2096/583 +f 1206/2097/583 1207/2098/583 1208/2099/583 +f 1209/2100/583 1210/2101/583 1211/2102/583 +f 1212/2103/583 1213/2104/583 1214/2105/583 +f 1198/2089/583 1197/2088/583 1215/2106/583 +f 1215/2106/583 1197/2088/583 1216/2107/583 +f 1216/2107/583 1197/2088/583 1217/2108/583 +f 1197/2088/583 1199/2090/583 1218/2109/583 +f 1199/2090/583 1198/2089/583 1219/2110/583 +f 1202/2093/583 1201/2092/583 1220/2111/583 +f 1220/2111/583 1201/2092/583 1221/2112/583 +f 1221/2112/583 1201/2092/583 1222/2113/583 +f 1201/2092/583 1223/2114/583 1224/2115/583 +f 1223/2114/583 1201/2092/583 1200/2091/583 +f 1204/2095/583 1203/2094/583 1225/2116/583 +f 1225/2116/583 1203/2094/583 1226/2117/583 +f 1226/2117/583 1203/2094/583 1227/2118/583 +f 1203/2094/583 1205/2096/583 1228/2119/583 +f 1205/2096/583 1204/2095/583 1229/2120/583 +f 1207/2098/583 1206/2097/583 1230/2121/583 +f 1230/2121/583 1206/2097/583 1231/2122/583 +f 1231/2122/583 1206/2097/583 1232/2123/583 +f 1206/2097/583 1208/2099/583 1233/2124/583 +f 1208/2099/583 1207/2098/583 1234/2125/583 +f 1211/2102/583 1210/2101/583 1235/2126/583 +f 1235/2126/583 1210/2101/583 1236/2127/583 +f 1236/2127/583 1210/2101/583 1237/2128/583 +f 1210/2101/583 1238/2129/583 1239/2130/583 +f 1238/2129/583 1210/2101/583 1209/2100/583 +f 1214/2105/583 1213/2104/583 1240/2131/583 +f 1240/2131/583 1213/2104/583 1241/2132/583 +f 1241/2132/583 1213/2104/583 1242/2133/583 +f 1213/2104/583 1243/2134/583 1244/2135/583 +f 1243/2134/583 1213/2104/583 1212/2103/583 +s 1 +f 1217/2136/584 1197/2137/585 1245/2138/585 +f 1215/2139/586 1216/2140/587 1246/2141/587 +f 1199/2142/588 1219/2143/589 1247/2144/589 +f 1197/2145/585 1218/2146/590 1248/2147/590 +f 1216/2140/587 1217/2136/584 1249/2148/584 +f 1198/2149/591 1215/2139/586 1250/2150/586 +f 1219/2143/589 1198/2149/591 1251/2151/591 +f 1218/2146/590 1199/2142/588 1252/2152/588 +f 1253/2153/592 1247/2144/592 1251/2151/593 +f 1254/2154/593 1251/2151/593 1250/2150/594 +f 1255/2155/594 1250/2150/594 1246/2141/595 +f 1256/2156/595 1246/2141/595 1249/2148/596 +f 1257/2157/596 1249/2148/596 1245/2138/597 +f 1258/2158/597 1245/2159/597 1248/2147/598 +f 1259/2160/598 1248/2147/598 1252/2152/599 +f 1252/2152/599 1247/2144/592 1253/2153/592 +f 1260/2161/588 1253/2153/589 1261/2162/600 +f 1258/2158/585 1259/2160/590 1262/2163/601 +f 1256/2156/587 1257/2157/584 1263/2164/602 +f 1254/2154/591 1255/2155/586 1264/2165/603 +f 1253/2153/589 1254/2154/591 1265/2166/604 +f 1259/2160/590 1260/2161/588 1266/2167/605 +f 1257/2157/584 1258/2168/585 1267/2169/606 +f 1255/2155/586 1256/2156/587 1268/2170/607 +f 1264/2165/603 1268/2170/607 1269/2171/608 +f 1265/2166/604 1264/2165/603 1270/2172/609 +f 1271/2173/610 1261/2162/600 1265/2166/604 +f 1272/2174/611 1266/2167/605 1261/2162/600 +f 1262/2163/601 1266/2167/605 1272/2174/611 +f 1273/2175/612 1267/2176/606 1262/2163/601 +f 1269/2171/608 1268/2170/607 1263/2164/602 +f 1274/2177/613 1263/2164/602 1267/2169/606 +f 1274/2177/613 1273/2178/612 1275/2179/614 +f 1269/2171/608 1274/2177/613 1275/2179/614 +f 1270/2172/609 1269/2171/608 1275/2180/614 +f 1276/2181/615 1270/2172/609 1275/2180/614 +f 1271/2173/610 1276/2181/615 1275/2182/614 +f 1272/2174/611 1271/2173/610 1275/2182/614 +f 1273/2175/612 1277/2183/616 1275/2184/614 +f 1277/2183/616 1272/2174/611 1275/2184/614 +f 1222/2185/617 1201/2186/618 1278/2187/618 +f 1220/2188/619 1221/2189/620 1279/2190/620 +f 1223/2191/621 1200/2192/622 1280/2193/622 +f 1201/2194/618 1224/2195/623 1281/2196/623 +f 1221/2189/620 1222/2185/617 1282/2197/617 +f 1202/2198/624 1220/2188/619 1283/2199/619 +f 1200/2192/622 1202/2198/624 1284/2200/624 +f 1224/2195/623 1223/2191/621 1285/2201/621 +f 1286/2202/625 1280/2193/625 1284/2200/626 +f 1284/2200/626 1283/2199/627 1287/2203/627 +f 1283/2199/627 1279/2190/628 1288/2204/628 +f 1288/2204/628 1279/2190/628 1282/2197/629 +f 1289/2205/629 1282/2197/629 1278/2187/630 +f 1290/2206/630 1278/2207/630 1281/2196/631 +f 1291/2208/631 1281/2196/631 1285/2201/632 +f 1292/2209/632 1285/2201/632 1280/2193/625 +f 1292/2209/621 1286/2202/622 1293/2210/633 +f 1290/2206/618 1291/2208/623 1294/2211/634 +f 1288/2204/620 1289/2205/617 1295/2212/635 +f 1296/2213/624 1287/2203/619 1297/2214/636 +f 1286/2202/622 1296/2213/624 1298/2215/637 +f 1291/2208/623 1292/2209/621 1299/2216/638 +f 1290/2217/618 1300/2218/639 1295/2212/635 +f 1287/2203/619 1288/2204/620 1301/2219/640 +f 1297/2214/636 1301/2219/640 1302/2220/641 +f 1298/2215/637 1297/2214/636 1303/2221/642 +f 1304/2222/643 1293/2210/633 1298/2215/637 +f 1305/2223/644 1299/2216/638 1293/2210/633 +f 1306/2224/645 1294/2211/634 1299/2216/638 +f 1300/2225/639 1294/2211/634 1306/2224/645 +f 1301/2219/640 1295/2212/635 1307/2226/646 +f 1295/2212/635 1300/2218/639 1308/2227/647 +f 1307/2226/646 1308/2227/647 1309/2228/614 +f 1302/2220/641 1307/2226/646 1309/2228/614 +f 1303/2221/642 1302/2220/641 1309/2229/614 +f 1310/2230/648 1303/2221/642 1309/2229/614 +f 1304/2222/643 1310/2230/648 1309/2231/614 +f 1305/2223/644 1304/2222/643 1309/2231/614 +f 1308/2232/647 1306/2224/645 1309/2233/614 +f 1306/2224/645 1305/2223/644 1309/2233/614 +f 1227/2234/584 1203/2235/585 1311/2236/585 +f 1225/2237/586 1226/2238/587 1312/2239/587 +f 1205/2240/588 1229/2241/589 1313/2242/589 +f 1203/2243/585 1228/2244/590 1314/2245/590 +f 1226/2238/587 1227/2234/584 1315/2246/584 +f 1204/2247/591 1225/2237/586 1316/2248/586 +f 1229/2241/589 1204/2247/591 1317/2249/591 +f 1228/2244/590 1205/2240/588 1318/2250/588 +f 1319/2251/592 1313/2242/592 1317/2249/593 +f 1320/2252/593 1317/2249/593 1316/2248/594 +f 1316/2248/594 1312/2239/595 1321/2253/595 +f 1321/2253/595 1312/2239/595 1315/2246/596 +f 1322/2254/596 1315/2246/596 1311/2236/597 +f 1311/2255/597 1314/2245/598 1323/2256/598 +f 1323/2256/598 1314/2245/598 1318/2250/599 +f 1324/2257/599 1318/2250/599 1313/2242/592 +f 1324/2257/588 1319/2251/589 1325/2258/600 +f 1326/2259/585 1323/2256/590 1327/2260/601 +f 1321/2253/587 1322/2254/584 1328/2261/602 +f 1320/2252/591 1329/2262/586 1330/2263/603 +f 1319/2251/589 1320/2252/591 1331/2264/604 +f 1323/2256/590 1324/2257/588 1332/2265/605 +f 1322/2254/584 1326/2266/585 1333/2267/606 +f 1329/2262/586 1321/2253/587 1334/2268/607 +f 1330/2263/603 1334/2268/607 1335/2269/608 +f 1331/2264/604 1330/2263/603 1336/2270/609 +f 1337/2271/610 1325/2258/600 1331/2264/604 +f 1338/2272/611 1332/2265/605 1325/2258/600 +f 1339/2273/616 1327/2260/601 1332/2265/605 +f 1333/2274/606 1327/2260/601 1339/2273/616 +f 1335/2269/608 1334/2268/607 1328/2261/602 +f 1340/2275/613 1328/2261/602 1333/2267/606 +f 1340/2275/613 1341/2276/612 1342/2277/614 +f 1335/2269/608 1340/2275/613 1342/2277/614 +f 1336/2270/609 1335/2269/608 1342/2278/614 +f 1343/2279/615 1336/2270/609 1342/2278/614 +f 1337/2271/610 1343/2279/615 1342/2280/614 +f 1338/2272/611 1337/2271/610 1342/2280/614 +f 1341/2281/612 1339/2273/616 1342/2282/614 +f 1339/2273/616 1338/2272/611 1342/2282/614 +f 1232/2283/617 1206/2284/618 1344/2285/618 +f 1230/2286/619 1231/2287/620 1345/2288/620 +f 1208/2289/621 1234/2290/622 1346/2291/622 +f 1206/2292/618 1233/2293/623 1347/2294/623 +f 1231/2287/620 1232/2283/617 1348/2295/617 +f 1207/2296/624 1230/2286/619 1349/2297/619 +f 1234/2290/622 1207/2296/624 1350/2298/624 +f 1233/2293/623 1208/2289/621 1351/2299/621 +f 1346/2291/625 1350/2298/626 1352/2300/626 +f 1350/2298/626 1349/2297/627 1353/2301/627 +f 1353/2301/627 1349/2297/627 1345/2288/628 +f 1354/2302/628 1345/2288/628 1348/2295/629 +f 1355/2303/629 1348/2295/629 1344/2285/630 +f 1356/2304/630 1344/2305/630 1347/2294/631 +f 1347/2294/631 1351/2299/632 1357/2306/632 +f 1351/2299/632 1346/2291/625 1358/2307/625 +f 1357/2306/621 1358/2307/622 1359/2308/633 +f 1356/2304/618 1360/2309/623 1361/2310/634 +f 1354/2302/620 1355/2303/617 1362/2311/635 +f 1352/2300/624 1353/2301/619 1363/2312/636 +f 1358/2307/622 1352/2300/624 1364/2313/637 +f 1360/2309/623 1357/2306/621 1365/2314/638 +f 1355/2303/617 1356/2315/618 1366/2316/639 +f 1353/2301/619 1354/2302/620 1367/2317/640 +f 1368/2318/642 1363/2312/636 1367/2317/640 +f 1369/2319/648 1364/2313/637 1363/2312/636 +f 1370/2320/643 1359/2308/633 1364/2313/637 +f 1371/2321/644 1365/2314/638 1359/2308/633 +f 1372/2322/645 1361/2310/634 1365/2314/638 +f 1373/2323/647 1366/2324/639 1361/2310/634 +f 1374/2325/641 1367/2317/640 1362/2311/635 +f 1375/2326/646 1362/2311/635 1366/2316/639 +f 1375/2326/646 1373/2327/647 1376/2328/614 +f 1374/2325/641 1375/2326/646 1376/2328/614 +f 1368/2318/642 1374/2325/641 1376/2329/614 +f 1369/2319/648 1368/2318/642 1376/2329/614 +f 1370/2320/643 1369/2319/648 1376/2330/614 +f 1371/2321/644 1370/2320/643 1376/2330/614 +f 1373/2323/647 1372/2322/645 1376/2331/614 +f 1372/2322/645 1371/2321/644 1376/2331/614 +f 1237/2332/584 1210/2333/585 1377/2334/585 +f 1235/2335/586 1236/2336/587 1378/2337/587 +f 1238/2338/588 1209/2339/589 1379/2340/589 +f 1210/2341/585 1239/2342/590 1380/2343/590 +f 1236/2336/587 1237/2332/584 1381/2344/584 +f 1211/2345/591 1235/2335/586 1382/2346/586 +f 1209/2339/589 1211/2345/591 1383/2347/591 +f 1239/2342/590 1238/2338/588 1384/2348/588 +f 1385/2349/592 1379/2340/592 1383/2347/593 +f 1383/2347/593 1382/2346/594 1386/2350/594 +f 1382/2346/594 1378/2337/595 1387/2351/595 +f 1387/2351/595 1378/2337/595 1381/2344/596 +f 1388/2352/596 1381/2344/596 1377/2334/597 +f 1389/2353/597 1377/2354/597 1380/2343/598 +f 1380/2343/598 1384/2348/599 1390/2355/599 +f 1390/2355/599 1384/2348/599 1379/2340/592 +f 1390/2355/588 1385/2349/589 1391/2356/600 +f 1389/2353/585 1392/2357/590 1393/2358/601 +f 1387/2351/587 1388/2352/584 1394/2359/602 +f 1395/2360/591 1386/2350/586 1396/2361/603 +f 1385/2349/589 1395/2360/591 1397/2362/604 +f 1392/2357/590 1390/2355/588 1398/2363/605 +f 1389/2364/585 1399/2365/606 1394/2359/602 +f 1387/2351/587 1400/2366/607 1396/2361/603 +f 1401/2367/609 1396/2361/603 1400/2366/607 +f 1397/2362/604 1396/2361/603 1401/2367/609 +f 1402/2368/610 1391/2356/600 1397/2362/604 +f 1398/2363/605 1391/2356/600 1402/2368/610 +f 1403/2369/616 1393/2358/601 1398/2363/605 +f 1404/2370/612 1399/2371/606 1393/2358/601 +f 1405/2372/608 1400/2366/607 1394/2359/602 +f 1394/2359/602 1399/2365/606 1404/2373/612 +f 1406/2374/613 1404/2373/612 1407/2375/614 +f 1405/2372/608 1406/2374/613 1407/2375/614 +f 1401/2367/609 1405/2372/608 1407/2376/614 +f 1408/2377/615 1401/2367/609 1407/2376/614 +f 1402/2368/610 1408/2377/615 1407/2378/614 +f 1409/2379/611 1402/2368/610 1407/2378/614 +f 1404/2370/612 1403/2369/616 1407/2380/614 +f 1403/2369/616 1409/2379/611 1407/2380/614 +f 1242/2381/617 1213/2382/618 1410/2383/618 +f 1240/2384/619 1241/2385/620 1411/2386/620 +f 1243/2387/621 1212/2388/622 1412/2389/622 +f 1213/2390/618 1244/2391/623 1413/2392/623 +f 1241/2385/620 1242/2381/617 1414/2393/617 +f 1214/2394/624 1240/2384/619 1415/2395/619 +f 1212/2388/622 1214/2394/624 1416/2396/624 +f 1244/2391/623 1243/2387/621 1417/2397/621 +f 1418/2398/625 1412/2389/625 1416/2396/626 +f 1416/2396/626 1415/2395/627 1419/2399/627 +f 1415/2395/627 1411/2386/628 1420/2400/628 +f 1420/2400/628 1411/2386/628 1414/2393/629 +f 1421/2401/629 1414/2393/629 1410/2383/630 +f 1422/2402/630 1410/2403/630 1413/2392/631 +f 1413/2392/631 1417/2397/632 1423/2404/632 +f 1423/2404/632 1417/2397/632 1412/2389/625 +f 1423/2404/621 1418/2398/622 1424/2405/633 +f 1422/2402/618 1425/2406/623 1426/2407/634 +f 1420/2400/620 1421/2401/617 1427/2408/635 +f 1428/2409/624 1419/2399/619 1429/2410/636 +f 1418/2398/622 1428/2409/624 1430/2411/637 +f 1425/2406/623 1423/2404/621 1431/2412/638 +f 1421/2401/617 1422/2413/618 1432/2414/639 +f 1420/2400/620 1433/2415/640 1429/2410/636 +f 1429/2410/636 1433/2415/640 1434/2416/641 +f 1430/2411/637 1429/2410/636 1435/2417/642 +f 1436/2418/643 1424/2405/633 1430/2411/637 +f 1437/2419/644 1431/2412/638 1424/2405/633 +f 1438/2420/645 1426/2407/634 1431/2412/638 +f 1439/2421/647 1432/2422/639 1426/2407/634 +f 1434/2416/641 1433/2415/640 1427/2408/635 +f 1440/2423/646 1427/2408/635 1432/2414/639 +f 1440/2423/646 1439/2424/647 1441/2425/614 +f 1434/2416/641 1440/2423/646 1441/2425/614 +f 1435/2417/642 1434/2416/641 1441/2426/614 +f 1442/2427/648 1435/2417/642 1441/2426/614 +f 1436/2418/643 1442/2427/648 1441/2428/614 +f 1437/2419/644 1436/2418/643 1441/2428/614 +f 1439/2421/647 1438/2420/645 1441/2429/614 +f 1438/2420/645 1437/2419/644 1441/2429/614 +f 1443/2430/584 1444/2431/585 1445/2432/585 +f 1446/2433/586 1447/2434/587 1448/2435/587 +f 1449/2436/588 1450/2437/589 1451/2438/589 +f 1444/2439/585 1452/2440/590 1453/2441/590 +f 1447/2434/587 1443/2430/584 1454/2442/584 +f 1455/2443/591 1446/2433/586 1456/2444/586 +f 1450/2437/589 1455/2443/591 1457/2445/591 +f 1452/2440/590 1449/2436/588 1458/2446/588 +f 1459/2447/592 1451/2438/592 1457/2445/593 +f 1457/2445/593 1456/2444/594 1460/2448/594 +f 1460/2448/594 1456/2444/594 1448/2435/595 +f 1461/2449/595 1448/2435/595 1454/2442/596 +f 1462/2450/596 1454/2442/596 1445/2432/597 +f 1445/2451/597 1453/2441/598 1463/2452/598 +f 1453/2441/598 1458/2446/599 1464/2453/599 +f 1458/2446/599 1451/2438/592 1459/2447/592 +f 1464/2453/588 1459/2447/589 1465/2454/600 +f 1466/2455/585 1463/2452/590 1467/2456/601 +f 1461/2449/587 1462/2450/584 1468/2457/602 +f 1469/2458/591 1460/2448/586 1470/2459/603 +f 1459/2447/589 1469/2458/591 1471/2460/604 +f 1464/2453/588 1472/2461/605 1467/2456/601 +f 1462/2450/584 1466/2462/585 1473/2463/606 +f 1460/2448/586 1461/2449/587 1474/2464/607 +f 1475/2465/609 1470/2459/603 1474/2464/607 +f 1476/2466/615 1471/2460/604 1470/2459/603 +f 1465/2454/600 1471/2460/604 1476/2466/615 +f 1477/2467/611 1472/2461/605 1465/2454/600 +f 1478/2468/616 1467/2456/601 1472/2461/605 +f 1473/2469/606 1467/2456/601 1478/2468/616 +f 1479/2470/608 1474/2464/607 1468/2457/602 +f 1468/2457/602 1473/2463/606 1480/2471/612 +f 1481/2472/613 1480/2471/612 1482/2473/614 +f 1479/2470/608 1481/2472/613 1482/2473/614 +f 1475/2465/609 1479/2470/608 1482/2474/614 +f 1476/2466/615 1475/2465/609 1482/2474/614 +f 1483/2475/610 1476/2466/615 1482/2476/614 +f 1477/2467/611 1483/2475/610 1482/2476/614 +f 1480/2477/612 1478/2468/616 1482/2478/614 +f 1478/2468/616 1477/2467/611 1482/2478/614 +f 1217/2136/584 1245/2138/585 1249/2148/584 +f 1215/2139/586 1246/2141/587 1250/2150/586 +f 1199/2142/588 1247/2144/589 1252/2152/588 +f 1197/2145/585 1248/2147/590 1245/2159/585 +f 1216/2140/587 1249/2148/584 1246/2141/587 +f 1198/2149/591 1250/2150/586 1251/2151/591 +f 1219/2143/589 1251/2151/591 1247/2144/589 +f 1218/2146/590 1252/2152/588 1248/2147/590 +f 1253/2153/592 1251/2151/593 1254/2154/593 +f 1254/2154/593 1250/2150/594 1255/2155/594 +f 1255/2155/594 1246/2141/595 1256/2156/595 +f 1256/2156/595 1249/2148/596 1257/2157/596 +f 1257/2157/596 1245/2138/597 1258/2168/597 +f 1258/2158/597 1248/2147/598 1259/2160/598 +f 1259/2160/598 1252/2152/599 1260/2161/599 +f 1252/2152/599 1253/2153/592 1260/2161/599 +f 1260/2161/588 1261/2162/600 1266/2167/605 +f 1258/2158/585 1262/2163/601 1267/2176/606 +f 1256/2156/587 1263/2164/602 1268/2170/607 +f 1254/2154/591 1264/2165/603 1265/2166/604 +f 1253/2153/589 1265/2166/604 1261/2162/600 +f 1259/2160/590 1266/2167/605 1262/2163/601 +f 1257/2157/584 1267/2169/606 1263/2164/602 +f 1255/2155/586 1268/2170/607 1264/2165/603 +f 1264/2165/603 1269/2171/608 1270/2172/609 +f 1265/2166/604 1270/2172/609 1276/2181/615 +f 1271/2173/610 1265/2166/604 1276/2181/615 +f 1272/2174/611 1261/2162/600 1271/2173/610 +f 1262/2163/601 1272/2174/611 1277/2183/616 +f 1273/2175/612 1262/2163/601 1277/2183/616 +f 1269/2171/608 1263/2164/602 1274/2177/613 +f 1274/2177/613 1267/2169/606 1273/2178/612 +f 1222/2185/617 1278/2187/618 1282/2197/617 +f 1220/2188/619 1279/2190/620 1283/2199/619 +f 1223/2191/621 1280/2193/622 1285/2201/621 +f 1201/2194/618 1281/2196/623 1278/2207/618 +f 1221/2189/620 1282/2197/617 1279/2190/620 +f 1202/2198/624 1283/2199/619 1284/2200/624 +f 1200/2192/622 1284/2200/624 1280/2193/622 +f 1224/2195/623 1285/2201/621 1281/2196/623 +f 1286/2202/625 1284/2200/626 1296/2213/626 +f 1284/2200/626 1287/2203/627 1296/2213/626 +f 1283/2199/627 1288/2204/628 1287/2203/627 +f 1288/2204/628 1282/2197/629 1289/2205/629 +f 1289/2205/629 1278/2187/630 1290/2217/630 +f 1290/2206/630 1281/2196/631 1291/2208/631 +f 1291/2208/631 1285/2201/632 1292/2209/632 +f 1292/2209/632 1280/2193/625 1286/2202/625 +f 1292/2209/621 1293/2210/633 1299/2216/638 +f 1290/2206/618 1294/2211/634 1300/2225/639 +f 1288/2204/620 1295/2212/635 1301/2219/640 +f 1296/2213/624 1297/2214/636 1298/2215/637 +f 1286/2202/622 1298/2215/637 1293/2210/633 +f 1291/2208/623 1299/2216/638 1294/2211/634 +f 1290/2217/618 1295/2212/635 1289/2205/617 +f 1287/2203/619 1301/2219/640 1297/2214/636 +f 1297/2214/636 1302/2220/641 1303/2221/642 +f 1298/2215/637 1303/2221/642 1310/2230/648 +f 1304/2222/643 1298/2215/637 1310/2230/648 +f 1305/2223/644 1293/2210/633 1304/2222/643 +f 1306/2224/645 1299/2216/638 1305/2223/644 +f 1300/2225/639 1306/2224/645 1308/2232/647 +f 1301/2219/640 1307/2226/646 1302/2220/641 +f 1295/2212/635 1308/2227/647 1307/2226/646 +f 1227/2234/584 1311/2236/585 1315/2246/584 +f 1225/2237/586 1312/2239/587 1316/2248/586 +f 1205/2240/588 1313/2242/589 1318/2250/588 +f 1203/2243/585 1314/2245/590 1311/2255/585 +f 1226/2238/587 1315/2246/584 1312/2239/587 +f 1204/2247/591 1316/2248/586 1317/2249/591 +f 1229/2241/589 1317/2249/591 1313/2242/589 +f 1228/2244/590 1318/2250/588 1314/2245/590 +f 1319/2251/592 1317/2249/593 1320/2252/593 +f 1320/2252/593 1316/2248/594 1329/2262/594 +f 1316/2248/594 1321/2253/595 1329/2262/594 +f 1321/2253/595 1315/2246/596 1322/2254/596 +f 1322/2254/596 1311/2236/597 1326/2266/597 +f 1311/2255/597 1323/2256/598 1326/2259/597 +f 1323/2256/598 1318/2250/599 1324/2257/599 +f 1324/2257/599 1313/2242/592 1319/2251/592 +f 1324/2257/588 1325/2258/600 1332/2265/605 +f 1326/2259/585 1327/2260/601 1333/2274/606 +f 1321/2253/587 1328/2261/602 1334/2268/607 +f 1320/2252/591 1330/2263/603 1331/2264/604 +f 1319/2251/589 1331/2264/604 1325/2258/600 +f 1323/2256/590 1332/2265/605 1327/2260/601 +f 1322/2254/584 1333/2267/606 1328/2261/602 +f 1329/2262/586 1334/2268/607 1330/2263/603 +f 1330/2263/603 1335/2269/608 1336/2270/609 +f 1331/2264/604 1336/2270/609 1343/2279/615 +f 1337/2271/610 1331/2264/604 1343/2279/615 +f 1338/2272/611 1325/2258/600 1337/2271/610 +f 1339/2273/616 1332/2265/605 1338/2272/611 +f 1333/2274/606 1339/2273/616 1341/2281/612 +f 1335/2269/608 1328/2261/602 1340/2275/613 +f 1340/2275/613 1333/2267/606 1341/2276/612 +f 1232/2283/617 1344/2285/618 1348/2295/617 +f 1230/2286/619 1345/2288/620 1349/2297/619 +f 1208/2289/621 1346/2291/622 1351/2299/621 +f 1206/2292/618 1347/2294/623 1344/2305/618 +f 1231/2287/620 1348/2295/617 1345/2288/620 +f 1207/2296/624 1349/2297/619 1350/2298/624 +f 1234/2290/622 1350/2298/624 1346/2291/622 +f 1233/2293/623 1351/2299/621 1347/2294/623 +f 1346/2291/625 1352/2300/626 1358/2307/625 +f 1350/2298/626 1353/2301/627 1352/2300/626 +f 1353/2301/627 1345/2288/628 1354/2302/628 +f 1354/2302/628 1348/2295/629 1355/2303/629 +f 1355/2303/629 1344/2285/630 1356/2315/630 +f 1356/2304/630 1347/2294/631 1360/2309/631 +f 1347/2294/631 1357/2306/632 1360/2309/631 +f 1351/2299/632 1358/2307/625 1357/2306/632 +f 1357/2306/621 1359/2308/633 1365/2314/638 +f 1356/2304/618 1361/2310/634 1366/2324/639 +f 1354/2302/620 1362/2311/635 1367/2317/640 +f 1352/2300/624 1363/2312/636 1364/2313/637 +f 1358/2307/622 1364/2313/637 1359/2308/633 +f 1360/2309/623 1365/2314/638 1361/2310/634 +f 1355/2303/617 1366/2316/639 1362/2311/635 +f 1353/2301/619 1367/2317/640 1363/2312/636 +f 1368/2318/642 1367/2317/640 1374/2325/641 +f 1369/2319/648 1363/2312/636 1368/2318/642 +f 1370/2320/643 1364/2313/637 1369/2319/648 +f 1371/2321/644 1359/2308/633 1370/2320/643 +f 1372/2322/645 1365/2314/638 1371/2321/644 +f 1373/2323/647 1361/2310/634 1372/2322/645 +f 1374/2325/641 1362/2311/635 1375/2326/646 +f 1375/2326/646 1366/2316/639 1373/2327/647 +f 1237/2332/584 1377/2334/585 1381/2344/584 +f 1235/2335/586 1378/2337/587 1382/2346/586 +f 1238/2338/588 1379/2340/589 1384/2348/588 +f 1210/2341/585 1380/2343/590 1377/2354/585 +f 1236/2336/587 1381/2344/584 1378/2337/587 +f 1211/2345/591 1382/2346/586 1383/2347/591 +f 1209/2339/589 1383/2347/591 1379/2340/589 +f 1239/2342/590 1384/2348/588 1380/2343/590 +f 1385/2349/592 1383/2347/593 1395/2360/593 +f 1383/2347/593 1386/2350/594 1395/2360/593 +f 1382/2346/594 1387/2351/595 1386/2350/594 +f 1387/2351/595 1381/2344/596 1388/2352/596 +f 1388/2352/596 1377/2334/597 1389/2364/597 +f 1389/2353/597 1380/2343/598 1392/2357/598 +f 1380/2343/598 1390/2355/599 1392/2357/598 +f 1390/2355/599 1379/2340/592 1385/2349/592 +f 1390/2355/588 1391/2356/600 1398/2363/605 +f 1389/2353/585 1393/2358/601 1399/2371/606 +f 1387/2351/587 1394/2359/602 1400/2366/607 +f 1395/2360/591 1396/2361/603 1397/2362/604 +f 1385/2349/589 1397/2362/604 1391/2356/600 +f 1392/2357/590 1398/2363/605 1393/2358/601 +f 1389/2364/585 1394/2359/602 1388/2352/584 +f 1387/2351/587 1396/2361/603 1386/2350/586 +f 1401/2367/609 1400/2366/607 1405/2372/608 +f 1397/2362/604 1401/2367/609 1408/2377/615 +f 1402/2368/610 1397/2362/604 1408/2377/615 +f 1398/2363/605 1402/2368/610 1409/2379/611 +f 1403/2369/616 1398/2363/605 1409/2379/611 +f 1404/2370/612 1393/2358/601 1403/2369/616 +f 1405/2372/608 1394/2359/602 1406/2374/613 +f 1394/2359/602 1404/2373/612 1406/2374/613 +f 1242/2381/617 1410/2383/618 1414/2393/617 +f 1240/2384/619 1411/2386/620 1415/2395/619 +f 1243/2387/621 1412/2389/622 1417/2397/621 +f 1213/2390/618 1413/2392/623 1410/2403/618 +f 1241/2385/620 1414/2393/617 1411/2386/620 +f 1214/2394/624 1415/2395/619 1416/2396/624 +f 1212/2388/622 1416/2396/624 1412/2389/622 +f 1244/2391/623 1417/2397/621 1413/2392/623 +f 1418/2398/625 1416/2396/626 1428/2409/626 +f 1416/2396/626 1419/2399/627 1428/2409/626 +f 1415/2395/627 1420/2400/628 1419/2399/627 +f 1420/2400/628 1414/2393/629 1421/2401/629 +f 1421/2401/629 1410/2383/630 1422/2413/630 +f 1422/2402/630 1413/2392/631 1425/2406/631 +f 1413/2392/631 1423/2404/632 1425/2406/631 +f 1423/2404/632 1412/2389/625 1418/2398/625 +f 1423/2404/621 1424/2405/633 1431/2412/638 +f 1422/2402/618 1426/2407/634 1432/2422/639 +f 1420/2400/620 1427/2408/635 1433/2415/640 +f 1428/2409/624 1429/2410/636 1430/2411/637 +f 1418/2398/622 1430/2411/637 1424/2405/633 +f 1425/2406/623 1431/2412/638 1426/2407/634 +f 1421/2401/617 1432/2414/639 1427/2408/635 +f 1420/2400/620 1429/2410/636 1419/2399/619 +f 1429/2410/636 1434/2416/641 1435/2417/642 +f 1430/2411/637 1435/2417/642 1442/2427/648 +f 1436/2418/643 1430/2411/637 1442/2427/648 +f 1437/2419/644 1424/2405/633 1436/2418/643 +f 1438/2420/645 1431/2412/638 1437/2419/644 +f 1439/2421/647 1426/2407/634 1438/2420/645 +f 1434/2416/641 1427/2408/635 1440/2423/646 +f 1440/2423/646 1432/2414/639 1439/2424/647 +f 1443/2430/584 1445/2432/585 1454/2442/584 +f 1446/2433/586 1448/2435/587 1456/2444/586 +f 1449/2436/588 1451/2438/589 1458/2446/588 +f 1444/2439/585 1453/2441/590 1445/2451/585 +f 1447/2434/587 1454/2442/584 1448/2435/587 +f 1455/2443/591 1456/2444/586 1457/2445/591 +f 1450/2437/589 1457/2445/591 1451/2438/589 +f 1452/2440/590 1458/2446/588 1453/2441/590 +f 1459/2447/592 1457/2445/593 1469/2458/593 +f 1457/2445/593 1460/2448/594 1469/2458/593 +f 1460/2448/594 1448/2435/595 1461/2449/595 +f 1461/2449/595 1454/2442/596 1462/2450/596 +f 1462/2450/596 1445/2432/597 1466/2462/597 +f 1445/2451/597 1463/2452/598 1466/2455/597 +f 1453/2441/598 1464/2453/599 1463/2452/598 +f 1458/2446/599 1459/2447/592 1464/2453/599 +f 1464/2453/588 1465/2454/600 1472/2461/605 +f 1466/2455/585 1467/2456/601 1473/2469/606 +f 1461/2449/587 1468/2457/602 1474/2464/607 +f 1469/2458/591 1470/2459/603 1471/2460/604 +f 1459/2447/589 1471/2460/604 1465/2454/600 +f 1464/2453/588 1467/2456/601 1463/2452/590 +f 1462/2450/584 1473/2463/606 1468/2457/602 +f 1460/2448/586 1474/2464/607 1470/2459/603 +f 1475/2465/609 1474/2464/607 1479/2470/608 +f 1476/2466/615 1470/2459/603 1475/2465/609 +f 1465/2454/600 1476/2466/615 1483/2475/610 +f 1477/2467/611 1465/2454/600 1483/2475/610 +f 1478/2468/616 1472/2461/605 1477/2467/611 +f 1473/2469/606 1478/2468/616 1480/2477/612 +f 1479/2470/608 1468/2457/602 1481/2472/613 +f 1468/2457/602 1480/2471/612 1481/2472/613 diff --git a/src/main/resources/assets/hbm/models/weapons/mg42.obj b/src/main/resources/assets/hbm/models/weapons/mg42.obj deleted file mode 100644 index 70009ccaf..000000000 --- a/src/main/resources/assets/hbm/models/weapons/mg42.obj +++ /dev/null @@ -1,14685 +0,0 @@ -# Blender v2.79 (sub 0) OBJ File: 'mg42.blend' -# www.blender.org -o Mag -v -1.508369 -0.146762 0.247436 -v -1.507327 -0.261149 0.296705 -v -1.507327 -0.155134 0.225868 -v -0.648763 0.501237 0.589190 -v -0.648763 -0.401237 0.750810 -v -0.648763 0.130810 0.218763 -v -1.551237 0.225475 0.952540 -v -1.551861 0.109726 0.984332 -v -1.551869 0.231374 0.960251 -v -1.551237 0.107343 0.976038 -v -1.551237 0.325623 0.885623 -v -1.551237 0.416038 0.667343 -v -0.693887 0.129636 0.219023 -v -0.648763 -0.030810 0.218763 -v -0.693887 -0.030636 0.219023 -v -1.551237 -0.145475 0.952540 -v -1.551858 -0.028873 0.984298 -v -1.551237 -0.027343 0.976038 -v -1.508369 0.420085 0.671307 -v -1.507327 0.414397 0.795399 -v -1.508369 0.396364 0.790562 -v -1.507327 -0.261149 0.901414 -v -1.545613 -0.153985 0.966290 -v -1.545608 -0.259150 0.896022 -v -1.551237 -0.145475 0.247460 -v -1.508369 -0.027507 0.223715 -v -0.693887 0.469015 0.445788 -v -0.694469 0.509179 0.582327 -v -0.694469 0.480495 0.438123 -v -0.655497 -0.177429 1.100944 -v -0.694469 -0.032055 1.123561 -v -0.694469 -0.176259 1.094877 -v -0.693887 0.389385 0.326615 -v -0.942280 0.322985 0.291045 -v -1.022934 0.332093 0.299987 -v -1.511127 0.167907 0.235570 -v -0.908872 0.167907 0.228986 -v -1.508369 0.108457 0.223715 -v -0.648528 -0.031385 0.213292 -v -0.650437 -0.031976 0.207609 -v -0.655536 -0.032204 0.205280 -v -0.648763 -0.373040 0.447434 -v -0.648546 -0.405321 0.587717 -v -0.648538 -0.376995 0.444495 -v -0.694469 0.398810 0.315873 -v -0.693887 -0.397977 0.746636 -v -0.694469 -0.380194 0.890942 -v -0.693887 -0.370015 0.887212 -v -1.507327 0.343560 0.901414 -v -1.508369 0.328811 0.891661 -v -1.507327 -0.356860 0.527772 -v -1.545595 -0.354095 0.666808 -v -1.545590 -0.354096 0.525375 -v -1.545601 0.435658 0.525374 -v -1.507327 0.414397 0.402719 -v -1.545598 0.410983 0.401324 -v -1.507327 0.237546 0.972250 -v -1.508369 0.227712 0.959214 -v -0.655511 -0.382806 0.895564 -v -0.694469 -0.298509 1.013192 -v -1.397065 0.332093 0.095548 -v -1.397065 0.332093 0.313239 -v -0.908872 0.300997 0.095548 -v -0.908872 0.300997 0.275170 -v -0.908872 0.258994 0.247104 -v -1.511127 0.167907 0.095548 -v -1.511127 0.227568 0.247438 -v -1.022934 0.332093 0.095548 -v -0.942280 0.322985 0.095548 -v -0.908872 0.167907 0.095548 -v -1.477719 0.322985 0.310010 -v -1.477719 0.322985 0.095548 -v -1.511127 0.300997 0.296501 -v -0.693887 -0.397977 0.586364 -v -1.508369 -0.339135 0.671307 -v -1.508369 -0.339135 0.535342 -v -0.694469 0.276559 1.094877 -v -0.655491 0.133369 1.129832 -v -0.655492 0.278593 1.100945 -v -0.648763 -0.172566 0.246960 -v -0.648532 -0.295984 0.323010 -v -0.648529 -0.174611 0.241810 -v -0.693887 -0.290385 1.006385 -v -0.655503 -0.300543 1.018680 -v -0.693887 -0.171212 1.086015 -v -1.508369 -0.027507 0.982935 -v -1.508369 -0.146762 0.959214 -v -1.508369 -0.247861 0.891661 -v -1.508369 -0.315414 0.790562 -v -1.508369 0.396364 0.416088 -v -1.508369 0.328811 0.314989 -v -1.508369 0.420085 0.535342 -v -0.655514 0.401707 0.316429 -v -0.655493 -0.032204 1.129832 -v -0.694469 0.132355 1.123561 -v -0.693887 -0.030636 1.113977 -v -0.694469 -0.298509 0.315873 -v -0.655535 -0.177427 0.234167 -v -0.655533 -0.300542 0.316429 -v -0.693887 0.496977 0.746636 -v -0.694469 0.480495 0.890942 -v -0.694469 0.509179 0.746737 -v -0.648763 0.473040 0.447434 -v -0.648533 0.506100 0.587625 -v -0.650430 0.400434 0.318373 -v -0.648527 0.396590 0.322919 -v -0.648560 -0.376609 0.893912 -v -0.648554 -0.405177 0.750885 -v -0.655510 0.512856 0.584768 -v -0.655506 0.512857 0.750341 -v -0.648763 -0.373040 0.892566 -v -0.648565 -0.295521 1.015109 -v -0.655524 -0.411691 0.584767 -v -0.694469 -0.408878 0.746737 -v -0.694469 -0.408878 0.582327 -v -0.648763 -0.401237 0.589190 -v -0.648763 0.473040 0.892566 -v -0.648551 0.396196 1.015273 -v -0.648763 0.392741 1.012741 -v -0.648559 0.274812 1.096209 -v -0.648763 0.272566 1.093040 -v -0.655495 0.401708 1.018681 -v -0.648763 0.501237 0.750810 -v -0.648545 0.477385 0.894017 -v -0.655513 0.483969 0.439544 -v -0.648763 -0.172566 1.093040 -v -0.648569 -0.031284 1.124492 -v -0.648569 -0.174264 1.096061 -v -0.648763 -0.292741 0.327259 -v -0.648538 0.505985 0.750890 -v -0.648763 0.130810 1.121237 -v -0.648763 -0.030810 1.121237 -v -0.648566 0.131742 1.124549 -v -0.693887 -0.171212 0.246985 -v -0.694469 -0.032055 0.205504 -v -0.694469 -0.176259 0.234188 -v -0.655500 0.483971 0.895566 -v -0.694469 0.398810 1.013192 -v -0.693887 -0.290385 0.326615 -v -0.694469 -0.380194 0.438123 -v -0.693887 -0.370015 0.445788 -v -0.655518 -0.411692 0.750340 -v -0.693887 0.270212 1.086015 -v -0.693887 0.389385 1.006385 -v -0.655529 -0.382804 0.439543 -v -0.693887 0.496977 0.586364 -v -0.648763 0.392741 0.327259 -v -0.648529 0.477697 0.444369 -v -0.693887 0.469015 0.887212 -v -0.648763 -0.292741 1.012741 -v -0.693887 0.129636 1.113977 -v -0.650437 -0.176593 1.099985 -v -0.650436 -0.031946 1.128755 -v -0.650438 -0.299231 1.018061 -v -0.650439 -0.381194 0.895441 -v -0.650435 0.132971 1.128772 -v -0.650431 0.511131 0.750783 -v -0.650431 0.482312 0.895472 -v -0.650432 0.400319 1.018110 -v -0.650439 -0.410045 0.585821 -v -0.650439 -0.410003 0.750781 -v -0.650438 -0.381307 0.441105 -v -0.650437 -0.176694 0.236404 -v -0.650437 -0.299366 0.318400 -v -0.650433 0.277644 1.100029 -v -0.650431 0.511164 0.585795 -v -0.650430 0.482403 0.441068 -v -1.551237 0.107343 0.223962 -v -1.551237 -0.027343 0.223962 -v -1.507327 0.112493 0.997125 -v -1.508369 0.108457 0.982935 -v -1.507327 0.439271 0.527772 -v -1.545605 0.435658 0.666807 -v -1.507327 0.439271 0.670347 -v -1.545610 0.410982 0.790857 -v -1.507327 -0.356860 0.670347 -v -1.507327 -0.331985 0.402719 -v -1.545586 -0.329421 0.401324 -v -1.507327 -0.030082 0.997125 -v -1.507327 -0.155134 0.972250 -v -1.508369 -0.247861 0.314989 -v -1.508369 -0.315414 0.416088 -v -1.551237 0.392540 0.414525 -v -1.551906 0.428236 0.527710 -v -1.551912 0.404106 0.405812 -v -1.551915 -0.254201 0.302457 -v -1.551237 -0.245623 0.314377 -v -1.551237 0.416038 0.532657 -v -1.551898 0.428091 0.666611 -v -1.545582 -0.153986 0.225889 -v -1.550212 -0.152999 0.228085 -v -1.551917 -0.150900 0.233380 -v -1.551237 -0.312540 0.414525 -v -1.551899 -0.347211 0.527761 -v -1.551237 -0.336038 0.532657 -v -1.551889 0.403714 0.788349 -v -1.551237 0.392540 0.785475 -v -1.551879 0.334620 0.891454 -v -1.551237 0.325623 0.314377 -v -1.551914 0.335109 0.302473 -v -1.550215 0.338867 0.297968 -v -1.545597 0.340714 0.296159 -v -1.507327 -0.331985 0.795399 -v -1.545601 -0.329419 0.790858 -v -1.551237 -0.312540 0.785475 -v -1.551869 -0.253624 0.891366 -v -1.551237 -0.245623 0.885623 -v -1.551862 -0.150459 0.960164 -v -1.545618 0.111498 0.990964 -v -1.545617 -0.029935 0.990964 -v -1.507327 0.343560 0.296705 -v -1.545617 0.235548 0.966289 -v -1.551909 -0.323139 0.405853 -v -1.545614 0.340713 0.896021 -v -1.551237 -0.336038 0.667343 -v -1.551879 -0.322663 0.788303 -v -1.545583 -0.259151 0.296159 -v -1.550206 -0.327255 0.789781 -v -1.550207 -0.351827 0.666497 -v -1.551889 -0.347034 0.666621 -v -1.550205 -0.257387 0.894269 -v -1.550204 -0.152870 0.964066 -v -1.550205 0.110907 0.988578 -v -1.550204 -0.029613 0.988568 -v -1.550208 0.234181 0.964091 -v -1.550210 0.338723 0.894294 -v -1.550211 0.408607 0.789794 -v -1.550208 -0.351879 0.525900 -v -1.550211 -0.257557 0.297964 -v -1.550210 -0.327395 0.402549 -v -1.550214 0.433223 0.525885 -v -1.550213 0.433180 0.666494 -v -1.550215 0.408722 0.402537 -v -0.648763 0.272566 0.246960 -v -1.551237 0.225475 0.247460 -v -1.511127 0.300997 0.095548 -vt 0.558710 0.261917 -vt 0.553669 0.253652 -vt 0.560279 0.261037 -vt 0.588491 0.274476 -vt 0.575919 0.204319 -vt 0.617282 0.245673 -vt 0.616910 0.293701 -vt 0.619381 0.284703 -vt 0.617509 0.294160 -vt 0.618738 0.284517 -vt 0.611708 0.301486 -vt 0.594741 0.308513 -vt 0.940434 0.274473 -vt 0.928036 0.278113 -vt 0.928000 0.274609 -vt 0.616912 0.264863 -vt 0.619379 0.273928 -vt 0.618738 0.274047 -vt 0.532285 0.310182 -vt 0.522674 0.311102 -vt 0.522848 0.309661 -vt 0.668282 0.250024 -vt 0.670459 0.241692 -vt 0.671287 0.249869 -vt 0.918045 0.208212 -vt 0.927360 0.211363 -vt 0.917991 0.211542 -vt 0.583758 0.064867 -vt 0.593557 0.070000 -vt 0.582999 0.065626 -vt 0.667870 0.084181 -vt 0.670599 0.072879 -vt 0.670937 0.084090 -vt 0.960052 0.274609 -vt 0.954814 0.255256 -vt 0.955391 0.249013 -vt 0.942458 0.211023 -vt 0.943126 0.257776 -vt 0.937907 0.211248 -vt 0.515762 0.179728 -vt 0.515735 0.179719 -vt 0.515724 0.179695 -vt 0.559196 0.119695 -vt 0.548292 0.117188 -vt 0.559425 0.119388 -vt 0.575880 0.056988 -vt 0.574918 0.057544 -vt 0.619841 0.003323 -vt 0.630572 0.006868 -vt 0.630134 0.007587 -vt 0.513741 0.306809 -vt 0.514329 0.305567 -vt 0.735778 0.076085 -vt 0.737588 0.065276 -vt 0.737588 0.076271 -vt 0.668868 0.138341 -vt 0.666009 0.128764 -vt 0.668995 0.128654 -vt 0.507130 0.299424 -vt 0.508025 0.298524 -vt 0.667690 0.103324 -vt 0.671154 0.094179 -vt 0.670725 0.103684 -vt 0.726096 0.055750 -vt 0.735742 0.084746 -vt 0.725471 0.084773 -vt 0.780361 0.333561 -vt 0.780361 0.347523 -vt 0.777095 0.345341 -vt 0.560920 0.194692 -vt 0.560920 0.195346 -vt 0.560642 0.195401 -vt 0.539407 0.205977 -vt 0.540030 0.203172 -vt 0.540061 0.205977 -vt 0.510663 0.203138 -vt 0.510706 0.202762 -vt 0.511428 0.202608 -vt 0.725634 0.091076 -vt 0.735752 0.091049 -vt 0.726296 0.093779 -vt 0.726528 0.049539 -vt 0.735742 0.055724 -vt 0.727302 0.047059 -vt 0.735752 0.049515 -vt 0.905898 0.194562 -vt 0.851314 0.130202 -vt 0.906221 0.130052 -vt 0.670937 0.048887 -vt 0.667529 0.060019 -vt 0.667870 0.048729 -vt 0.574782 0.135277 -vt 0.568869 0.125684 -vt 0.575182 0.135118 -vt 0.638653 0.014950 -vt 0.638012 0.015466 -vt 0.668841 0.093752 -vt 0.671900 0.093594 -vt 0.944650 0.191933 -vt 0.894674 0.127642 -vt 0.942839 0.127363 -vt 0.984027 0.190994 -vt 0.983673 0.126566 -vt 0.804459 0.194749 -vt 0.762290 0.129968 -vt 0.803145 0.130210 -vt 0.851863 0.194740 -vt 0.767390 0.132291 -vt 0.725943 0.195326 -vt 0.725943 0.131827 -vt 0.815757 0.132547 -vt 0.768949 0.194896 -vt 0.670728 0.158044 -vt 0.668113 0.148434 -vt 0.671150 0.148390 -vt 0.643026 0.025511 -vt 0.642275 0.025761 -vt 0.667530 0.072891 -vt 0.670599 0.060097 -vt 0.643026 0.036941 -vt 0.642275 0.036904 -vt 0.947502 0.129088 -vt 0.892953 0.192449 -vt 0.892705 0.129203 -vt 0.673313 0.149758 -vt 0.676237 0.139997 -vt 0.676336 0.149962 -vt 0.606269 0.071562 -vt 0.617519 0.072494 -vt 0.606091 0.072494 -vt 0.559205 0.185471 -vt 0.548308 0.188043 -vt 0.548186 0.187665 -vt 0.536154 0.179711 -vt 0.536145 0.179735 -vt 0.536124 0.179745 -vt 0.535614 0.117508 -vt 0.524490 0.119425 -vt 0.535608 0.117202 -vt 0.667539 0.169497 -vt 0.670580 0.182084 -vt 0.667538 0.182366 -vt 0.524595 0.119703 -vt 0.515070 0.125731 -vt 0.667539 0.127486 -vt 0.670575 0.114894 -vt 0.670575 0.127676 -vt 0.548177 0.117506 -vt 0.524604 0.185478 -vt 0.515065 0.179506 -vt 0.515261 0.179237 -vt 0.508772 0.170071 -vt 0.509018 0.169896 -vt 0.668840 0.039158 -vt 0.535623 0.187668 -vt 0.524491 0.185816 -vt 0.577401 0.146253 -vt 0.576975 0.146297 -vt 0.670580 0.169306 -vt 0.667688 0.158157 -vt 0.509014 0.135291 -vt 0.506570 0.146275 -vt 0.508779 0.135159 -vt 0.568539 0.125936 -vt 0.535617 0.188037 -vt 0.506825 0.158876 -vt 0.506823 0.146312 -vt 0.506568 0.158949 -vt 0.578311 0.013036 -vt 0.573038 0.023017 -vt 0.577412 0.012457 -vt 0.667687 0.193598 -vt 0.671150 0.202585 -vt 0.668112 0.203013 -vt 0.585493 0.004374 -vt 0.586189 0.005157 -vt 0.670728 0.193237 -vt 0.596051 0.000000 -vt 0.596482 0.000892 -vt 0.607623 0.000892 -vt 0.620014 0.002494 -vt 0.667539 0.114614 -vt 0.607480 0.000000 -vt 0.635581 0.059419 -vt 0.640533 0.049477 -vt 0.636159 0.060037 -vt 0.673215 0.139864 -vt 0.676336 0.128586 -vt 0.627703 0.067298 -vt 0.628078 0.068120 -vt 0.670725 0.138887 -vt 0.668123 0.148347 -vt 0.667691 0.138776 -vt 0.594051 0.069131 -vt 0.568546 0.179227 -vt 0.559444 0.185833 -vt 0.617410 0.071562 -vt 0.515254 0.125947 -vt 0.639844 0.049124 -vt 0.667493 0.084116 -vt 0.667154 0.072870 -vt 0.506237 0.146223 -vt 0.668459 0.093650 -vt 0.508472 0.134977 -vt 0.668121 0.093752 -vt 0.667305 0.103334 -vt 0.667735 0.093801 -vt 0.514839 0.125442 -vt 0.667153 0.060049 -vt 0.667154 0.182396 -vt 0.524376 0.186198 -vt 0.535623 0.188436 -vt 0.667302 0.193587 -vt 0.514842 0.179826 -vt 0.667153 0.127404 -vt 0.667154 0.114580 -vt 0.535614 0.116826 -vt 0.667304 0.138655 -vt 0.548437 0.116820 -vt 0.524369 0.119068 -vt 0.676641 0.139957 -vt 0.676740 0.149886 -vt 0.569225 0.125420 -vt 0.506237 0.159044 -vt 0.667492 0.048802 -vt 0.668458 0.039266 -vt 0.508473 0.170290 -vt 0.667153 0.169573 -vt 0.577840 0.146206 -vt 0.676740 0.128586 -vt 0.667734 0.148194 -vt 0.559686 0.119052 -vt 0.548448 0.188436 -vt 0.667302 0.158271 -vt 0.667725 0.148582 -vt 0.559698 0.186198 -vt 0.568884 0.179526 -vt 0.569235 0.179824 -vt 0.937774 0.207920 -vt 0.927326 0.208034 -vt 0.503849 0.290070 -vt 0.504896 0.289604 -vt 0.665880 0.138529 -vt 0.668868 0.149333 -vt 0.665880 0.149610 -vt 0.668996 0.158928 -vt 0.666009 0.159283 -vt 0.534449 0.250259 -vt 0.523867 0.250371 -vt 0.534840 0.248812 -vt 0.735857 0.085807 -vt 0.737667 0.085915 -vt 0.736083 0.094048 -vt 0.503931 0.269701 -vt 0.502290 0.279097 -vt 0.502838 0.269199 -vt 0.791598 0.127363 -vt 0.839895 0.192263 -vt 0.790947 0.191933 -vt 0.750683 0.190994 -vt 0.918822 0.195391 -vt 0.958756 0.132473 -vt 0.958145 0.196487 -vt 0.871313 0.195379 -vt 0.918572 0.132710 -vt 0.844033 0.129382 -vt 0.843827 0.192660 -vt 0.801550 0.129691 -vt 0.800950 0.193024 -vt 0.954371 0.129795 -vt 0.995171 0.192733 -vt 0.953283 0.194260 -vt 0.816897 0.195199 -vt 0.870649 0.132700 -vt 0.895701 0.192263 -vt 0.839761 0.127642 -vt 0.575090 0.306684 -vt 0.583887 0.309460 -vt 0.574412 0.307583 -vt 0.562107 0.264856 -vt 0.566382 0.256404 -vt 0.567309 0.257071 -vt 0.584272 0.308512 -vt 0.594683 0.309450 -vt 0.524177 0.178716 -vt 0.524167 0.178738 -vt 0.524142 0.178745 -vt 0.575094 0.251870 -vt 0.583895 0.249175 -vt 0.584276 0.250044 -vt 0.604146 0.307556 -vt 0.603924 0.306687 -vt 0.612161 0.302186 -vt 0.567306 0.301481 -vt 0.566380 0.302218 -vt 0.512230 0.174599 -vt 0.512251 0.174605 -vt 0.512260 0.174626 -vt 0.735857 0.055279 -vt 0.737891 0.047456 -vt 0.737667 0.055632 -vt 0.603928 0.251873 -vt 0.612157 0.256454 -vt 0.611712 0.257076 -vt 0.617504 0.264475 -vt 0.667153 0.232060 -vt 0.670168 0.221053 -vt 0.670168 0.232048 -vt 0.735777 0.065001 -vt 0.666375 0.120392 -vt 0.669358 0.120349 -vt 0.670459 0.211409 -vt 0.667153 0.220976 -vt 0.667446 0.211254 -vt 0.552406 0.254874 -vt 0.544735 0.249359 -vt 0.551667 0.305565 -vt 0.543543 0.310089 -vt 0.542749 0.308695 -vt 0.668281 0.203013 -vt 0.543887 0.250781 -vt 0.558710 0.299260 -vt 0.552895 0.306807 -vt 0.574419 0.251046 -vt 0.669359 0.166970 -vt 0.666375 0.167389 -vt 0.532570 0.311649 -vt 0.523986 0.251746 -vt 0.514515 0.253653 -vt 0.594745 0.250045 -vt 0.604146 0.251086 -vt 0.503409 0.279139 -vt 0.515067 0.254876 -vt 0.507130 0.260265 -vt 0.508025 0.261181 -vt 0.667447 0.241782 -vt 0.670281 0.191603 -vt 0.673249 0.183251 -vt 0.673249 0.191832 -vt 0.737891 0.055716 -vt 0.737813 0.065300 -vt 0.604264 0.250729 -vt 0.594688 0.249190 -vt 0.594681 0.248817 -vt 0.738113 0.047592 -vt 0.612385 0.256161 -vt 0.671661 0.249732 -vt 0.617810 0.264288 -vt 0.670549 0.221099 -vt 0.670549 0.232023 -vt 0.619714 0.273870 -vt 0.670838 0.211516 -vt 0.619714 0.284794 -vt 0.671661 0.203389 -vt 0.617810 0.294378 -vt 0.669365 0.158842 -vt 0.669726 0.166832 -vt 0.612384 0.302504 -vt 0.737813 0.076231 -vt 0.669930 0.183017 -vt 0.670281 0.183091 -vt 0.566035 0.256143 -vt 0.561012 0.264434 -vt 0.560603 0.264271 -vt 0.738113 0.093950 -vt 0.737890 0.094091 -vt 0.574165 0.250714 -vt 0.669238 0.138377 -vt 0.669238 0.149305 -vt 0.594677 0.309845 -vt 0.669365 0.128744 -vt 0.583747 0.309847 -vt 0.670838 0.241606 -vt 0.604261 0.307936 -vt 0.583753 0.248812 -vt 0.737891 0.085820 -vt 0.669726 0.120486 -vt 0.574160 0.307941 -vt 0.549323 0.256707 -vt 0.547130 0.245687 -vt 0.575928 0.274479 -vt 0.547128 0.233123 -vt 0.549319 0.222102 -vt 0.555559 0.212758 -vt 0.564900 0.206513 -vt 0.588482 0.204317 -vt 0.599501 0.206506 -vt 0.617280 0.233108 -vt 0.608844 0.212747 -vt 0.615087 0.222088 -vt 0.615092 0.256694 -vt 0.608851 0.266037 -vt 0.599510 0.272282 -vt 0.564909 0.272289 -vt 0.555566 0.266048 -vt 0.562105 0.293694 -vt 0.560279 0.284510 -vt 0.560280 0.274039 -vt 0.940574 0.277976 -vt 0.952481 0.211111 -vt 0.947027 0.211011 -vt 0.946822 0.207898 -vt 0.954260 0.208034 -vt 0.954550 0.211363 -vt 0.960356 0.278113 -vt 0.951431 0.277949 -vt 0.954155 0.213732 -vt 0.953222 0.257816 -vt 0.950103 0.257759 -vt 0.954931 0.219999 -vt 0.515724 0.179514 -vt 0.515787 0.179517 -vt 0.515787 0.179727 -vt 0.770014 0.343932 -vt 0.770014 0.333560 -vt 0.560299 0.195630 -vt 0.560299 0.194692 -vt 0.539407 0.203172 -vt 0.510808 0.202606 -vt 0.511428 0.205417 -vt 0.510808 0.205415 -vt 0.510706 0.205259 -vt 0.510663 0.204883 -vt 0.735778 0.093754 -vt 0.735778 0.047037 -vt 0.764253 0.194463 -vt 0.948259 0.192313 -vt 0.536104 0.179746 -vt 0.536104 0.179537 -vt 0.536154 0.179530 -vt 0.671900 0.039383 -vt 0.574048 0.023330 -vt 0.673313 0.128533 -vt 0.671154 0.148390 -vt 0.667726 0.202965 -vt 0.575600 0.134956 -vt 0.750768 0.126566 -vt 0.995171 0.129329 -vt 0.524076 0.178740 -vt 0.524076 0.178541 -vt 0.524177 0.178538 -vt 0.512260 0.174804 -vt 0.512174 0.174805 -vt 0.512174 0.174606 -vt 0.736082 0.047037 -vt 0.671287 0.203234 -vt 0.560279 0.300196 -vt 0.669930 0.191480 -vt 0.566032 0.302510 -vn 0.9989 0.0256 0.0383 -vn 0.9989 0.0323 0.0334 -vn 0.9997 -0.0244 0.0020 -vn 0.9996 0.0281 -0.0029 -vn 1.0000 0.0000 0.0000 -vn -0.9977 -0.0235 -0.0638 -vn -0.9973 -0.0079 -0.0728 -vn -0.9978 -0.0272 -0.0609 -vn -1.0000 -0.0000 0.0000 -vn -0.0083 0.0980 -0.9952 -vn -0.0058 0.0000 -1.0000 -vn -0.0060 -0.0654 -0.9978 -vn -0.9975 0.0250 -0.0655 -vn -0.9973 0.0076 -0.0736 -vn -0.9973 0.0068 -0.0737 -vn 0.9985 -0.0545 -0.0059 -vn 0.9984 -0.0521 -0.0208 -vn 0.9984 -0.0516 -0.0226 -vn -0.1357 -0.6953 0.7058 -vn -0.1533 -0.3818 0.9114 -vn -0.1348 -0.7062 0.6951 -vn -0.0064 -0.1951 -0.9808 -vn -0.0061 -0.0980 -0.9952 -vn -0.0101 -0.3194 -0.9476 -vn -0.9991 -0.0404 0.0153 -vn -0.9989 -0.0460 0.0051 -vn -0.9991 -0.0392 0.0172 -vn -0.1536 -0.3747 0.9143 -vn -0.1585 -0.0975 0.9825 -vn -0.0384 0.6604 -0.7499 -vn 0.1303 0.8320 -0.5393 -vn 0.0121 0.8731 -0.4874 -vn -0.0107 0.1951 -0.9807 -vn 0.0031 0.9945 -0.1044 -vn 0.0033 0.9945 -0.1045 -vn 0.0032 0.9945 -0.1045 -vn 0.9996 0.0251 0.0093 -vn 0.9987 0.0510 0.0058 -vn 0.9989 0.0427 0.0190 -vn -0.9991 -0.0350 0.0234 -vn -0.9986 0.0533 -0.0056 -vn -0.9986 0.0497 -0.0203 -vn -0.9986 0.0495 -0.0208 -vn 0.9982 -0.0432 -0.0414 -vn 0.9982 -0.0414 -0.0440 -vn -0.0659 -0.9934 -0.0935 -vn -0.0803 -0.9925 0.0924 -vn -0.0653 -0.9926 -0.1021 -vn -0.0871 0.9910 -0.1021 -vn -0.0689 0.9248 -0.3741 -vn -0.0677 0.9185 -0.3896 -vn 0.9979 -0.0266 -0.0597 -vn 0.9978 -0.0231 -0.0624 -vn -0.1076 -0.9146 0.3898 -vn -0.1059 -0.9227 0.3708 -vn -0.0562 0.9984 0.0000 -vn -0.0480 0.8721 -0.4870 -vn -0.0000 -1.0000 -0.0000 -vn 0.0000 0.0000 -1.0000 -vn -0.1714 0.8248 -0.5388 -vn -0.3403 0.9403 0.0000 -vn -0.5498 0.8353 0.0000 -vn 0.0562 0.9984 0.0000 -vn 0.5498 0.8353 0.0000 -vn 0.3403 0.9403 0.0000 -vn -0.1616 0.3790 0.9112 -vn -0.1606 0.0974 0.9822 -vn -0.1617 0.3764 0.9122 -vn 0.9997 0.0091 0.0219 -vn 0.9991 0.0303 0.0312 -vn 0.9991 0.0161 0.0390 -vn -0.9985 0.0392 -0.0385 -vn -0.9985 0.0384 -0.0395 -vn -0.1534 -0.3818 0.9114 -vn -0.0811 -0.9914 0.1029 -vn -0.0380 0.6560 -0.7538 -vn -0.0872 0.9910 -0.1021 -vn -0.0538 0.8303 -0.5548 -vn -0.9984 0.0226 -0.0527 -vn -0.9983 0.0210 -0.0536 -vn -0.1585 -0.0961 0.9827 -vn -0.1605 0.0961 0.9823 -vn -0.9982 0.0061 -0.0597 -vn -0.9982 0.0057 -0.0598 -vn -0.0265 -0.7027 -0.7110 -vn -0.0121 -0.3858 -0.9225 -vn -0.0271 -0.7109 -0.7027 -vn -0.9989 -0.0476 -0.0050 -vn -0.9988 -0.0448 -0.0181 -vn -0.9989 -0.0476 -0.0044 -vn 0.9997 -0.0226 0.0086 -vn 0.9989 -0.0456 0.0051 -vn 0.0651 -0.7484 -0.6601 -vn 0.0650 -0.7484 -0.6600 -vn 0.0651 -0.7483 -0.6601 -vn 0.9986 0.0492 -0.0202 -vn 0.9986 0.0529 -0.0050 -vn -0.0878 0.9918 -0.0933 -vn -0.1020 0.9905 0.0924 -vn -0.1029 0.9894 0.1025 -vn 0.9996 0.0276 -0.0116 -vn 0.9985 0.0387 -0.0381 -vn -0.0802 -0.9925 0.0924 -vn 0.9996 0.0274 0.0022 -vn 0.9996 -0.0247 -0.0105 -vn 0.9988 -0.0359 -0.0347 -vn 0.9996 -0.0195 -0.0204 -vn 0.9986 -0.0216 -0.0489 -vn 0.9995 -0.0107 -0.0286 -vn -0.1507 0.6951 0.7030 -vn 0.9997 -0.0251 -0.0026 -vn 0.9989 -0.0441 -0.0179 -vn 0.9991 0.0084 0.0420 -vn 0.9999 0.0030 0.0152 -vn -0.0688 0.9248 -0.3741 -vn 0.9995 0.0116 -0.0296 -vn 0.9983 0.0059 -0.0586 -vn 0.9984 0.0222 -0.0517 -vn 0.9997 0.0177 0.0170 -vn 0.9989 -0.0472 -0.0044 -vn 0.9995 -0.0027 -0.0308 -vn 0.9995 0.0030 -0.0312 -vn 0.9983 -0.0063 -0.0576 -vn -0.9991 0.0163 0.0390 -vn -0.9991 0.0084 0.0421 -vn -0.9991 0.0161 0.0391 -vn -0.1274 0.9129 0.3879 -vn -0.1502 0.7032 0.6949 -vn -0.9991 0.0303 0.0312 -vn -0.9990 0.0316 0.0303 -vn -0.1261 0.9201 0.3709 -vn -0.9989 0.0428 0.0191 -vn -0.9989 0.0447 0.0165 -vn -0.9987 0.0518 0.0042 -vn -0.9986 0.0533 -0.0050 -vn -0.9987 0.0512 0.0058 -vn -0.9985 -0.0193 -0.0517 -vn -0.9982 -0.0064 -0.0588 -vn -0.9985 -0.0220 -0.0498 -vn -0.0119 -0.3795 -0.9251 -vn -0.9987 -0.0351 -0.0368 -vn -0.9987 -0.0363 -0.0351 -vn -0.0475 -0.9200 -0.3891 -vn -0.0483 -0.9256 -0.3755 -vn -0.9989 -0.0464 0.0039 -vn 0.9999 -0.0140 0.0093 -vn 0.9991 -0.0390 0.0171 -vn -0.9988 -0.0445 -0.0190 -vn 0.9995 0.0214 -0.0219 -vn -0.9982 -0.0051 -0.0592 -vn 0.2120 -0.0976 0.9724 -vn 0.6223 -0.2967 0.7244 -vn 0.6211 -0.0765 0.7800 -vn 0.9237 -0.1395 0.3569 -vn 0.9175 -0.0377 0.3960 -vn 0.2325 -0.3805 0.8951 -vn 0.6385 -0.5407 0.5477 -vn 0.9290 -0.2574 0.2659 -vn 0.2612 -0.6900 0.6750 -vn 0.6527 -0.6976 0.2954 -vn 0.9316 -0.3342 0.1426 -vn 0.9176 0.0342 0.3961 -vn 0.6214 0.0767 0.7797 -vn 0.2967 0.8866 0.3548 -vn 0.6808 0.7287 0.0747 -vn 0.3139 0.9455 0.0866 -vn 0.6611 0.6909 0.2927 -vn 0.9377 0.3456 0.0369 -vn 0.2652 0.6905 0.6730 -vn 0.6446 0.5369 0.5442 -vn 0.9379 0.3183 0.1377 -vn 0.3075 -0.9476 0.0869 -vn 0.6799 -0.7301 -0.0689 -vn 0.6713 -0.7374 0.0755 -vn 0.9319 -0.3614 -0.0288 -vn 0.9305 -0.3642 0.0389 -vn 0.3253 -0.9401 -0.1019 -vn 0.6908 -0.6707 -0.2701 -vn 0.9397 -0.3209 -0.1184 -vn 0.2908 -0.8880 0.3563 -vn 0.4011 -0.6402 -0.6552 -vn 0.7219 -0.2666 -0.6385 -vn 0.7124 -0.4997 -0.4927 -vn 0.9498 -0.1208 -0.2886 -vn 0.9473 -0.2315 -0.2215 -vn 0.9253 0.1329 0.3553 -vn 0.6250 0.2959 0.7224 -vn 0.2116 0.0990 0.9723 -vn 0.2335 0.3827 0.8939 -vn 0.9335 0.2468 0.2601 -vn 0.9393 0.3419 -0.0280 -vn 0.6899 0.7207 -0.0678 -vn 0.7309 -0.1332 -0.6694 -vn 0.9480 -0.0621 -0.3120 -vn 0.4155 -0.1775 -0.8921 -vn 0.3650 -0.8535 -0.3719 -vn 0.9464 0.3022 -0.1142 -vn 0.7000 0.6625 -0.2666 -vn 0.3328 0.9376 -0.1013 -vn 0.3730 0.8510 -0.3696 -vn 0.6889 0.6027 -0.4027 -vn 0.3877 0.7664 -0.5121 -vn 0.9489 0.2624 -0.1753 -vn -0.0082 0.0964 -0.9953 -vn -0.0061 -0.0978 -0.9952 -vn 0.9974 -0.0077 -0.0710 -vn 0.9974 -0.0062 -0.0715 -vn 0.9984 0.0568 0.0044 -vn 0.9982 0.0590 -0.0053 -vn 0.9984 0.0559 0.0065 -vn 0.9976 0.0245 -0.0640 -vn 0.9974 0.0074 -0.0719 -vn 0.9977 0.0272 -0.0623 -vn -0.1606 0.0973 0.9822 -vn -0.1507 0.6951 0.7029 -vn -0.1275 0.9129 0.3879 -vn -0.0484 -0.9256 -0.3755 -vn -0.1021 0.9905 0.0924 -vn -0.9973 -0.0063 -0.0732 -vn -0.9988 -0.0456 0.0169 -vn -0.9986 -0.0523 0.0060 -vn -0.9989 -0.0436 0.0195 -vn -0.9989 0.0256 0.0384 -vn -0.9989 0.0324 0.0335 -vn -0.9989 0.0340 0.0324 -vn -0.9986 -0.0531 0.0042 -vn -0.9985 -0.0551 -0.0049 -vn 0.0278 0.9323 -0.3606 -vn 0.0279 0.9324 -0.3604 -vn -0.9987 0.0488 0.0177 -vn -0.9984 0.0563 0.0066 -vn -0.9984 0.0572 0.0044 -vn -0.9985 -0.0551 -0.0060 -vn -0.9984 -0.0529 -0.0210 -vn -0.9984 -0.0523 -0.0230 -vn -0.9981 -0.0440 -0.0421 -vn -0.9981 -0.0421 -0.0449 -vn -0.9989 -0.0388 0.0259 -vn 0.0669 -0.7784 -0.6241 -vn 0.0668 -0.7784 -0.6242 -vn 0.0668 -0.7784 -0.6241 -vn -0.1059 -0.9226 0.3708 -vn -0.9981 0.0564 -0.0246 -vn -0.9979 0.0466 -0.0450 -vn -0.9979 0.0449 -0.0472 -vn -0.9976 0.0278 -0.0636 -vn -0.1606 0.0961 0.9823 -vn 0.9989 0.0339 0.0323 -vn 0.9987 0.0461 0.0207 -vn 0.9988 -0.0453 0.0168 -vn 0.9986 -0.0519 0.0059 -vn 0.9986 -0.0526 0.0042 -vn 0.9987 0.0485 0.0177 -vn 0.9989 -0.0386 0.0258 -vn 0.9989 -0.0434 0.0193 -vn -0.9987 0.0463 0.0209 -vn 0.9985 -0.0545 -0.0049 -vn 0.9982 0.0590 -0.0064 -vn 0.9982 0.0562 -0.0225 -vn -0.9982 0.0596 -0.0065 -vn -0.9981 0.0570 -0.0227 -vn 0.9974 0.0067 -0.0720 -vn 0.9982 0.0557 -0.0242 -vn 0.9980 0.0457 -0.0443 -vn 0.9979 0.0442 -0.0463 -vn -0.1536 -0.3747 0.9144 -vn -0.0266 -0.7027 -0.7110 -vn -0.0171 -0.5555 -0.8313 -vn -0.4444 -0.8914 0.0890 -vn -0.7351 -0.6276 0.2564 -vn -0.7370 -0.6728 0.0649 -vn -0.9427 -0.3316 0.0357 -vn -0.4641 -0.8171 0.3421 -vn -0.7387 -0.4780 0.4753 -vn -0.9444 -0.3023 0.1297 -vn -0.4755 -0.3397 0.8115 -vn -0.4757 -0.6221 0.6219 -vn -0.7352 -0.2596 0.6262 -vn -0.9427 -0.2314 0.2404 -vn -0.4660 -0.0876 0.8805 -vn -0.7386 0.0654 0.6710 -vn -0.7372 -0.0664 0.6724 -vn -0.9341 0.0309 0.3557 -vn -0.9339 -0.0333 0.3560 -vn -0.4686 0.0900 0.8788 -vn -0.7413 0.2551 0.6208 -vn -0.9401 0.1195 0.3192 -vn -0.4865 0.3416 0.8041 -vn -0.7506 0.4674 0.4671 -vn -0.9463 0.2224 0.2346 -vn -0.4964 0.6162 0.6115 -vn -0.7511 0.6108 0.2504 -vn -0.9493 0.2885 0.1250 -vn -0.9432 -0.3311 -0.0262 -vn -0.7362 -0.6734 -0.0667 -vn -0.4609 -0.6255 -0.6295 -vn -0.7411 -0.3731 -0.5583 -vn -0.4563 -0.4944 -0.7399 -vn -0.7452 -0.4715 -0.4716 -vn -0.9562 -0.1627 -0.2434 -vn -0.4520 -0.8215 -0.3478 -vn -0.7364 -0.6254 -0.2581 -vn -0.9557 -0.2125 -0.2037 -vn -0.4764 0.8749 0.0871 -vn -0.7549 0.6526 -0.0647 -vn -0.7549 0.6527 0.0631 -vn -0.9495 0.3127 -0.0254 -vn -0.9486 0.3148 0.0338 -vn -0.4726 0.8768 -0.0890 -vn -0.7543 0.6066 -0.2511 -vn -0.9552 0.2771 -0.1043 -vn -0.9386 -0.1246 0.3218 -vn -0.9494 -0.2945 -0.1087 -vn -0.4393 -0.8937 -0.0911 -vn -0.4841 0.8066 -0.3393 -vn -0.7446 0.5550 -0.3708 -vn -0.9573 0.2403 -0.1605 -vn -0.9982 0.0595 -0.0053 -vn -0.0083 0.0996 -0.9950 -vn -0.0294 0.5553 -0.8311 -vn -0.0208 0.3881 -0.9214 -vn -0.0202 0.3771 -0.9260 -vn 0.0032 0.9945 -0.1044 -vn 0.9991 -0.0349 0.0233 -vn 0.4183 -0.3445 -0.8404 -vn 0.0668 -0.7785 -0.6241 -vn -0.4921 0.8037 0.3344 -vn -0.4820 0.7285 -0.4868 -s 1 -f 1/1/1 2/2/2 3/3/1 -f 4/4/3 5/5/4 6/6/5 -f 7/7/6 8/8/7 9/9/8 -f 10/10/9 11/11/9 12/12/9 -f 13/13/10 14/14/11 15/15/12 -f 16/16/13 17/17/14 18/18/15 -f 19/19/16 20/20/17 21/21/18 -f 22/22/19 23/23/20 24/24/21 -f 25/25/22 26/26/23 1/27/24 -f 27/28/25 28/29/26 29/30/27 -f 30/31/28 31/32/29 32/33/20 -f 33/34/30 34/35/31 35/36/32 -f 36/37/33 37/38/33 38/39/10 -f 39/40/34 40/41/35 41/42/36 -f 42/43/37 43/44/38 44/45/39 -f 33/46/40 29/30/27 45/47/40 -f 46/48/41 47/49/42 48/50/43 -f 21/21/18 49/51/44 50/52/45 -f 51/53/46 52/54/47 53/55/48 -f 54/56/49 55/57/50 56/58/51 -f 50/52/45 57/59/52 58/60/53 -f 59/61/54 60/62/21 47/63/55 -f 35/64/32 61/65/56 62/66/57 -f 63/67/5 64/68/5 65/69/5 -f 66/70/9 36/71/9 67/72/9 -f 66/73/58 37/74/58 36/75/58 -f 68/76/59 69/77/59 70/78/59 -f 61/65/56 71/79/60 62/66/57 -f 72/80/61 73/81/62 71/79/60 -f 34/82/31 68/83/63 35/64/32 -f 64/84/64 69/85/65 34/82/31 -f 74/86/46 75/87/47 76/88/48 -f 77/89/66 78/90/67 79/91/68 -f 80/92/69 81/93/70 82/94/71 -f 48/50/43 60/95/72 83/96/73 -f 84/97/19 32/33/20 60/98/21 -f 85/99/28 86/100/29 87/101/74 -f 83/102/19 87/101/74 88/103/21 -f 48/104/54 88/105/21 89/106/55 -f 46/107/75 89/106/55 75/87/47 -f 90/108/51 33/109/30 91/110/76 -f 92/111/77 27/112/50 90/108/51 -f 29/113/51 93/114/78 45/115/78 -f 83/96/73 32/116/79 85/117/80 -f 94/118/81 95/119/82 31/32/29 -f 85/117/80 31/120/83 96/121/84 -f 38/122/10 15/123/12 26/124/23 -f 97/125/85 98/126/86 99/127/87 -f 100/128/88 101/129/89 102/130/90 -f 103/131/91 104/132/92 4/133/3 -f 93/134/93 105/135/94 106/136/95 -f 5/137/4 107/138/96 108/139/97 -f 109/140/98 102/141/99 110/142/100 -f 111/143/101 112/144/102 107/138/96 -f 113/145/46 114/146/103 115/147/48 -f 116/148/104 108/139/97 43/44/38 -f 117/149/105 118/150/106 119/151/107 -f 119/151/107 120/152/108 121/153/109 -f 122/154/110 77/89/66 79/91/68 -f 123/155/111 124/156/112 117/149/105 -f 80/92/69 39/157/113 14/158/114 -f 28/159/49 125/160/115 29/113/51 -f 126/161/116 127/162/117 128/163/118 -f 129/164/119 44/45/39 81/93/70 -f 4/133/3 130/165/120 123/155/111 -f 131/166/121 127/162/117 132/167/122 -f 121/153/109 133/168/123 131/166/121 -f 134/169/124 135/170/125 136/171/126 -f 137/172/127 138/173/128 122/174/110 -f 134/169/124 97/175/129 139/176/130 -f 110/142/100 101/177/131 137/172/127 -f 139/176/130 140/178/132 141/179/133 -f 74/180/134 114/181/135 46/48/41 -f 142/182/75 47/63/55 114/146/103 -f 141/179/133 115/183/136 74/180/134 -f 143/184/137 95/185/138 77/186/139 -f 136/187/140 41/188/22 98/126/86 -f 144/189/141 77/186/139 138/190/142 -f 140/191/143 99/192/87 145/193/144 -f 146/194/145 102/130/90 28/29/26 -f 147/195/146 148/196/147 103/131/91 -f 149/197/148 138/190/142 101/129/89 -f 150/198/149 128/163/118 112/144/102 -f 151/199/150 31/120/83 95/185/138 -f 94/118/151 152/200/152 153/201/153 -f 153/202/153 128/163/154 127/162/155 -f 30/31/156 154/203/157 152/200/152 -f 152/204/152 112/144/158 128/163/154 -f 84/205/159 155/206/160 154/207/157 -f 154/208/157 107/138/161 112/144/158 -f 133/168/162 153/202/153 127/162/155 -f 156/209/163 94/118/151 153/201/153 -f 137/172/164 157/210/165 110/142/166 -f 158/211/167 130/165/168 157/212/165 -f 122/174/169 158/213/167 137/172/164 -f 159/214/170 124/156/171 158/211/167 -f 142/182/172 160/215/173 161/216/174 -f 161/217/174 43/44/175 108/139/176 -f 113/145/177 162/218/178 160/215/173 -f 160/219/173 44/45/179 43/44/175 -f 108/139/176 155/220/160 161/217/174 -f 161/216/174 59/61/180 142/182/172 -f 99/127/181 163/221/182 164/222/183 -f 164/223/183 82/94/184 81/93/185 -f 120/152/186 156/224/163 133/168/162 -f 165/225/187 78/90/188 156/209/163 -f 79/91/189 159/226/170 122/154/169 -f 165/227/187 118/150/190 159/214/170 -f 104/132/191 157/212/165 130/165/168 -f 166/228/192 110/142/166 157/210/165 -f 82/94/184 40/229/193 39/157/194 -f 163/221/182 41/188/195 40/230/193 -f 145/193/196 164/231/183 162/218/178 -f 162/232/178 81/93/185 44/45/179 -f 148/196/197 166/233/192 104/132/191 -f 167/234/198 109/140/199 166/228/192 -f 125/160/200 105/235/201 93/114/202 -f 167/236/198 106/237/203 105/238/201 -f 115/147/48 145/193/144 113/145/46 -f 168/239/204 26/26/23 169/240/205 -f 58/60/53 170/241/206 171/242/207 -f 172/243/98 173/244/99 174/245/100 -f 174/245/100 175/246/131 20/247/127 -f 76/248/208 176/249/209 51/250/210 -f 53/55/48 177/251/144 51/53/46 -f 178/252/143 2/253/87 177/251/144 -f 87/254/211 179/255/212 180/256/213 -f 58/257/66 151/258/214 143/259/68 -f 144/260/215 58/257/66 143/259/68 -f 149/261/216 50/262/128 144/263/215 -f 100/264/100 21/265/131 149/261/216 -f 1/266/24 15/123/12 134/267/86 -f 181/268/85 134/267/86 139/269/87 -f 182/270/143 139/271/87 141/272/217 -f 76/88/48 141/272/217 74/86/46 -f 146/273/98 19/274/218 100/264/100 -f 96/275/81 171/276/82 86/100/29 -f 10/10/219 17/17/14 8/8/7 -f 183/277/220 184/278/221 185/279/222 -f 25/280/223 186/281/224 187/282/225 -f 188/283/226 189/284/227 184/278/221 -f 190/285/228 191/286/229 192/287/228 -f 193/288/230 194/289/231 195/290/232 -f 12/12/233 196/291/234 189/284/227 -f 197/292/235 198/293/236 196/291/234 -f 11/11/237 9/9/8 198/293/236 -f 199/294/238 185/279/222 200/295/238 -f 200/296/239 201/297/240 202/298/241 -f 203/299/54 24/300/21 204/301/242 -f 205/302/243 206/303/244 207/304/245 -f 207/304/245 208/305/246 16/16/13 -f 179/306/81 209/307/247 210/308/29 -f 176/309/75 204/301/242 52/54/47 -f 56/58/51 211/310/78 202/311/78 -f 212/312/66 170/313/214 57/314/68 -f 181/315/248 177/316/249 2/2/2 -f 90/317/250 172/318/251 92/319/252 -f 49/320/215 212/312/66 57/314/68 -f 182/321/253 51/250/210 177/316/249 -f 91/322/254 55/323/255 90/317/250 -f 187/282/225 213/324/256 193/288/230 -f 20/247/127 214/325/128 49/326/215 -f 92/319/252 174/327/257 19/19/16 -f 75/328/258 203/329/259 176/249/209 -f 215/330/260 216/331/261 205/302/243 -f 171/242/207 179/255/212 86/332/262 -f 89/333/263 22/334/264 203/329/259 -f 88/335/265 180/256/213 22/334/264 -f 180/336/266 210/308/29 23/23/20 -f 217/337/267 3/338/268 2/339/87 -f 52/54/269 218/340/270 219/341/271 -f 218/342/270 220/343/272 219/344/271 -f 204/301/273 221/345/274 218/340/270 -f 221/346/274 216/331/275 218/342/270 -f 23/23/276 221/347/274 24/24/277 -f 222/348/278 206/303/279 221/346/274 -f 210/308/280 223/349/281 224/350/282 -f 224/351/282 8/8/283 17/17/284 -f 209/307/285 225/352/286 223/349/281 -f 223/353/281 9/9/287 8/8/283 -f 212/312/288 226/354/289 225/352/286 -f 225/355/286 198/293/290 9/9/287 -f 214/325/291 227/356/292 226/357/289 -f 226/358/289 196/291/293 198/293/290 -f 194/289/294 219/344/271 220/343/272 -f 228/359/295 52/54/269 219/341/271 -f 217/337/296 191/360/297 190/361/298 -f 229/362/299 192/363/300 191/364/297 -f 178/252/301 229/365/299 217/366/296 -f 230/367/302 186/281/303 229/362/299 -f 173/244/304 231/368/305 232/369/306 -f 232/370/306 184/278/307 189/284/308 -f 54/56/309 233/371/310 231/368/305 -f 231/372/305 185/279/311 184/278/307 -f 208/305/312 224/351/282 17/17/284 -f 222/373/278 210/308/280 224/350/282 -f 189/284/308 227/374/292 232/370/306 -f 227/356/292 173/244/304 232/369/306 -f 213/324/313 228/375/295 194/289/294 -f 230/376/302 53/55/314 228/359/295 -f 56/58/315 201/377/316 233/371/310 -f 233/378/310 200/295/317 185/279/311 -f 195/290/232 220/343/318 215/330/260 -f 1/1/1 181/315/248 2/2/2 -f 121/379/109 131/380/121 123/381/111 -f 131/380/121 132/382/122 4/4/3 -f 132/382/122 126/383/116 150/384/149 -f 150/384/149 111/385/101 5/5/4 -f 5/5/4 116/386/104 6/6/5 -f 116/386/104 42/387/37 14/388/114 -f 6/6/5 116/386/104 14/388/114 -f 42/387/37 129/389/119 80/390/69 -f 80/390/69 14/388/114 42/387/37 -f 6/6/5 234/391/5 147/392/146 -f 147/392/146 103/393/91 4/4/3 -f 4/4/3 123/381/111 131/380/121 -f 123/381/111 117/394/105 121/379/109 -f 117/394/105 119/395/107 121/379/109 -f 132/382/122 150/384/149 5/5/4 -f 6/6/5 147/392/146 4/4/3 -f 132/382/122 5/5/4 4/4/3 -f 7/7/6 10/10/219 8/8/7 -f 235/396/9 168/397/9 188/283/9 -f 168/397/9 169/398/9 12/12/9 -f 169/398/9 25/280/9 187/282/9 -f 187/282/9 193/288/9 195/290/9 -f 195/290/9 215/330/9 10/10/9 -f 215/330/9 205/302/9 18/18/9 -f 10/10/9 215/330/9 18/18/9 -f 205/302/9 207/304/9 16/16/9 -f 16/16/9 18/18/9 205/302/9 -f 10/10/9 7/7/9 11/11/9 -f 11/11/9 197/292/9 12/12/9 -f 12/12/9 188/283/9 168/397/9 -f 188/283/9 183/277/9 235/396/9 -f 183/277/9 199/294/9 235/396/9 -f 169/398/9 187/282/9 195/290/9 -f 12/12/9 195/290/9 10/10/9 -f 169/398/9 195/290/9 12/12/9 -f 13/13/10 6/399/319 14/14/11 -f 16/16/13 208/305/246 17/17/14 -f 19/19/16 174/327/257 20/20/17 -f 22/22/19 180/336/266 23/23/20 -f 25/25/22 169/240/205 26/26/23 -f 27/28/25 146/194/145 28/29/26 -f 30/31/28 94/118/81 31/32/29 -f 73/400/320 67/401/321 235/402/322 -f 235/402/322 199/403/320 73/400/320 -f 199/403/320 91/404/76 73/400/320 -f 33/34/30 147/405/320 234/406/321 -f 71/407/60 73/400/320 91/404/76 -f 33/34/30 234/406/321 64/408/320 -f 234/406/321 65/409/322 64/408/320 -f 62/410/57 71/407/60 91/404/76 -f 62/410/57 91/404/76 33/34/30 -f 33/34/30 64/408/320 34/35/31 -f 35/36/32 62/410/57 33/34/30 -f 65/409/322 234/406/321 13/13/10 -f 234/406/321 6/399/319 13/13/10 -f 37/38/33 65/409/322 13/13/10 -f 38/39/10 168/239/204 36/37/33 -f 168/239/204 235/402/322 36/37/33 -f 37/38/33 13/13/10 38/39/10 -f 235/402/322 67/401/321 36/37/33 -f 135/411/36 15/412/36 41/42/36 -f 15/412/36 14/413/323 41/42/36 -f 14/413/323 39/40/34 41/42/36 -f 42/43/37 116/148/104 43/44/38 -f 33/46/40 27/28/25 29/30/27 -f 46/48/41 114/181/135 47/49/42 -f 21/21/18 20/20/17 49/51/44 -f 51/53/46 176/309/75 52/54/47 -f 54/56/49 172/243/98 55/57/50 -f 50/52/45 49/51/44 57/59/52 -f 59/61/54 84/205/19 60/62/21 -f 35/64/32 68/83/63 61/65/56 -f 65/69/5 37/414/5 70/415/5 -f 70/415/5 63/67/5 65/69/5 -f 67/72/9 73/416/9 236/417/9 -f 236/417/9 66/70/9 67/72/9 -f 66/73/58 70/418/58 37/74/58 -f 63/419/59 70/78/59 69/77/59 -f 70/78/59 66/420/59 68/76/59 -f 66/420/59 236/421/59 72/422/59 -f 72/422/59 61/423/59 66/420/59 -f 61/423/59 68/76/59 66/420/59 -f 61/65/56 72/80/61 71/79/60 -f 72/80/61 236/424/62 73/81/62 -f 34/82/31 69/85/65 68/83/63 -f 64/84/64 63/425/64 69/85/65 -f 74/86/46 46/107/75 75/87/47 -f 77/89/66 95/119/82 78/90/67 -f 80/92/69 129/164/119 81/93/70 -f 48/50/43 47/49/42 60/95/72 -f 84/97/19 30/31/28 32/33/20 -f 85/99/28 96/275/81 86/100/29 -f 83/102/19 85/99/28 87/101/74 -f 48/104/54 83/426/19 88/105/21 -f 46/107/75 48/104/54 89/106/55 -f 90/108/51 27/112/50 33/109/30 -f 92/111/77 146/273/98 27/112/50 -f 29/113/51 125/160/115 93/114/78 -f 83/96/73 60/95/72 32/116/79 -f 94/118/81 78/90/67 95/119/82 -f 85/117/80 32/116/79 31/120/83 -f 38/122/10 13/427/10 15/123/12 -f 97/125/85 136/187/140 98/126/86 -f 100/128/88 149/197/148 101/129/89 -f 103/131/91 148/196/147 104/132/92 -f 106/136/95 147/428/95 93/134/93 -f 147/428/95 33/429/95 93/134/93 -f 33/429/95 45/430/95 93/134/93 -f 5/137/4 111/143/101 107/138/96 -f 109/140/98 28/159/49 102/141/99 -f 111/143/101 150/198/149 112/144/102 -f 113/145/46 142/182/75 114/146/103 -f 116/148/104 5/137/4 108/139/97 -f 117/149/105 124/156/112 118/150/106 -f 119/151/107 118/150/106 120/152/108 -f 122/154/110 138/431/128 77/89/66 -f 123/155/111 130/165/120 124/156/112 -f 80/92/69 82/94/71 39/157/113 -f 28/159/49 109/140/98 125/160/115 -f 126/161/116 132/167/122 127/162/117 -f 129/164/119 42/43/37 44/45/39 -f 4/133/3 104/132/92 130/165/120 -f 131/166/121 133/168/123 127/162/117 -f 121/153/109 120/152/108 133/168/123 -f 134/169/124 15/432/125 135/170/125 -f 137/172/127 101/177/131 138/173/128 -f 134/169/124 136/171/126 97/175/129 -f 110/142/100 102/141/99 101/177/131 -f 139/176/130 97/175/129 140/178/132 -f 74/180/134 115/183/136 114/181/135 -f 142/182/75 59/61/54 47/63/55 -f 141/179/133 140/178/132 115/183/136 -f 143/184/137 151/199/150 95/185/138 -f 136/187/140 135/433/22 41/188/22 -f 144/189/141 143/184/137 77/186/139 -f 140/191/143 97/434/85 99/192/87 -f 146/194/145 100/128/88 102/130/90 -f 147/195/146 106/237/324 148/196/147 -f 149/197/148 144/189/141 138/190/142 -f 150/198/149 126/161/116 128/163/118 -f 151/199/150 96/121/84 31/120/83 -f 94/118/151 30/31/156 152/200/152 -f 153/202/153 152/204/152 128/163/154 -f 30/31/156 84/97/159 154/203/157 -f 152/204/152 154/208/157 112/144/158 -f 84/205/159 59/61/180 155/206/160 -f 154/208/157 155/220/160 107/138/161 -f 133/168/162 156/224/163 153/202/153 -f 156/209/163 78/90/188 94/118/151 -f 137/172/164 158/213/167 157/210/165 -f 158/211/167 124/156/171 130/165/168 -f 122/174/169 159/435/170 158/213/167 -f 159/214/170 118/150/190 124/156/171 -f 142/182/172 113/145/177 160/215/173 -f 161/217/174 160/219/173 43/44/175 -f 113/145/177 145/193/196 162/218/178 -f 160/219/173 162/232/178 44/45/179 -f 108/139/176 107/138/161 155/220/160 -f 161/216/174 155/206/160 59/61/180 -f 99/127/181 98/126/325 163/221/182 -f 164/223/183 163/436/182 82/94/184 -f 120/152/186 165/227/187 156/224/163 -f 165/225/187 79/91/189 78/90/188 -f 79/91/189 165/225/187 159/226/170 -f 165/227/187 120/152/186 118/150/190 -f 104/132/191 166/233/192 157/212/165 -f 166/228/192 109/140/199 110/142/166 -f 82/94/184 163/436/182 40/229/193 -f 163/221/182 98/126/325 41/188/195 -f 145/193/196 99/192/181 164/231/183 -f 162/232/178 164/223/183 81/93/185 -f 148/196/197 167/236/198 166/233/192 -f 167/234/198 125/160/200 109/140/199 -f 125/160/200 167/234/198 105/235/201 -f 167/236/198 148/196/197 106/237/203 -f 115/147/48 140/191/143 145/193/144 -f 168/239/204 38/39/10 26/26/23 -f 58/60/53 57/59/52 170/241/206 -f 172/243/98 54/56/49 173/244/99 -f 174/245/100 173/244/99 175/246/131 -f 76/248/208 75/328/258 176/249/209 -f 53/55/48 178/252/143 177/251/144 -f 178/252/143 217/366/267 2/253/87 -f 87/254/211 86/332/262 179/255/212 -f 58/257/66 171/276/82 151/258/214 -f 144/260/215 50/437/128 58/257/66 -f 149/261/216 21/265/131 50/262/128 -f 100/264/100 19/274/218 21/265/131 -f 1/266/24 26/124/23 15/123/12 -f 181/268/85 1/266/24 134/267/86 -f 182/270/143 181/438/85 139/271/87 -f 76/88/48 182/270/143 141/272/217 -f 146/273/98 92/111/77 19/274/218 -f 96/275/81 151/258/214 171/276/82 -f 10/10/219 18/18/15 17/17/14 -f 183/277/220 188/283/226 184/278/221 -f 25/280/223 192/363/223 186/281/224 -f 188/283/226 12/12/233 189/284/227 -f 192/287/228 25/439/228 190/285/228 -f 25/439/228 1/440/228 190/285/228 -f 1/440/228 3/441/228 190/285/228 -f 193/288/230 213/324/256 194/289/231 -f 12/12/233 197/292/235 196/291/234 -f 197/292/235 11/11/237 198/293/236 -f 11/11/237 7/7/6 9/9/8 -f 199/294/238 183/277/220 185/279/222 -f 211/442/326 91/443/241 202/298/241 -f 91/443/241 199/444/241 202/298/241 -f 199/444/241 200/296/239 202/298/241 -f 203/299/54 22/445/19 24/300/21 -f 205/302/243 216/331/261 206/303/244 -f 207/304/245 206/303/244 208/305/246 -f 179/306/81 170/313/214 209/307/247 -f 176/309/75 203/299/54 204/301/242 -f 56/58/51 55/57/50 211/310/78 -f 212/312/66 209/307/247 170/313/214 -f 181/315/248 182/321/253 177/316/249 -f 90/317/250 55/323/255 172/318/251 -f 49/320/215 214/446/128 212/312/66 -f 182/321/253 76/248/208 51/250/210 -f 91/322/254 211/447/254 55/323/255 -f 187/282/225 186/281/224 213/324/256 -f 20/247/127 175/246/131 214/325/128 -f 92/319/252 172/318/251 174/327/257 -f 75/328/258 89/333/263 203/329/259 -f 215/330/260 220/343/318 216/331/261 -f 171/242/207 170/241/206 179/255/212 -f 89/333/263 88/335/265 22/334/264 -f 88/335/265 87/254/211 180/256/213 -f 180/336/266 179/306/81 210/308/29 -f 217/337/267 190/361/268 3/338/268 -f 52/54/269 204/301/273 218/340/270 -f 218/342/270 216/331/275 220/343/272 -f 204/301/273 24/300/277 221/345/274 -f 221/346/274 206/303/279 216/331/275 -f 23/23/276 222/373/278 221/347/274 -f 222/348/278 208/305/312 206/303/279 -f 210/308/280 209/307/285 223/349/281 -f 224/351/282 223/353/281 8/8/283 -f 209/307/285 212/312/288 225/352/286 -f 223/353/281 225/355/286 9/9/287 -f 212/312/288 214/446/291 226/354/289 -f 225/355/286 226/358/289 198/293/290 -f 214/325/291 175/246/327 227/356/292 -f 226/358/289 227/374/292 196/291/293 -f 194/289/294 228/375/295 219/344/271 -f 228/359/295 53/55/314 52/54/269 -f 217/337/296 229/448/299 191/360/297 -f 229/362/299 186/281/303 192/363/300 -f 178/252/301 230/376/302 229/365/299 -f 230/367/302 213/324/313 186/281/303 -f 173/244/304 54/56/309 231/368/305 -f 232/370/306 231/372/305 184/278/307 -f 54/56/309 56/58/315 233/371/310 -f 231/372/305 233/378/310 185/279/311 -f 208/305/312 222/348/278 224/351/282 -f 222/373/278 23/23/276 210/308/280 -f 189/284/308 196/291/293 227/374/292 -f 227/356/292 175/246/327 173/244/304 -f 213/324/313 230/367/302 228/375/295 -f 230/376/302 178/252/301 53/55/314 -f 56/58/315 202/311/328 201/377/316 -f 233/378/310 201/449/316 200/295/317 -f 195/290/232 194/289/231 220/343/318 -o Gun -v 0.380750 -0.210821 -0.202537 -v 0.574963 -0.241806 -0.202537 -v 0.574963 -0.045236 -0.202537 -v 1.612869 -0.076220 -0.236682 -v 1.612869 -0.210821 -0.202537 -v 1.612869 -0.210821 -0.236682 -v 0.574963 -0.045236 -0.236682 -v 1.418655 -0.045236 -0.202537 -v 1.418655 -0.045236 -0.236682 -v 0.380750 -0.076220 -0.202537 -v 0.380750 -0.210821 -0.236682 -v 0.406536 -0.187005 -0.236682 -v 0.406536 -0.098620 -0.236682 -v 0.484460 -0.186442 -0.236682 -v 0.692299 -0.098914 -0.236682 -v 0.492745 -0.075964 -0.236682 -v 0.437634 -0.232731 -0.236682 -v 0.574963 -0.241806 -0.236682 -v 0.437634 -0.232731 -0.202537 -v 0.437634 -0.054311 -0.202537 -v 0.437634 -0.054311 -0.236682 -v 1.418655 -0.241806 -0.236682 -v 1.555985 -0.232731 -0.202537 -v 1.418655 -0.241806 -0.202537 -v 1.555985 -0.232731 -0.236682 -v 1.555985 -0.054311 -0.236682 -v 1.555985 -0.054311 -0.202537 -v 0.507489 -0.098620 -0.259746 -v 0.492745 -0.098620 -0.242529 -v 0.406536 -0.075964 -0.368113 -v 0.507489 -0.075964 -0.259746 -v 0.543082 -0.075964 -0.266878 -v 0.406536 -0.187005 -0.346842 -v 0.574963 -0.187005 -0.236682 -v 0.681892 -0.209206 -0.368113 -v 0.406536 -0.209206 -0.236682 -v 0.406536 -0.209206 -0.368113 -v 0.681892 -0.098620 -0.346842 -v 0.681892 -0.187005 -0.346842 -v 0.406536 -0.098620 -0.346842 -v 0.492745 -0.098620 -0.236682 -v 0.543082 -0.098620 -0.266878 -v 0.681892 -0.098620 -0.266878 -v 0.345266 -0.098914 -0.339820 -v 0.692299 -0.186442 -0.343763 -v 0.345266 -0.186442 -0.339820 -v 0.692299 -0.098914 -0.343763 -v 0.692299 -0.186442 -0.236682 -v 0.304401 -0.186442 -0.288708 -v 0.360266 -0.186442 -0.251046 -v 0.304401 -0.098914 -0.289184 -v 0.304401 -0.098914 -0.288708 -v 0.484460 -0.098914 -0.236682 -v 0.360266 -0.098914 -0.251046 -v 0.328411 -0.098914 -0.299130 -v 0.287721 0.126349 -0.282275 -v 0.269823 -0.406770 -0.282275 -v 0.287721 -0.406770 -0.282275 -v 0.345266 0.126349 -0.357718 -v 0.345266 0.126349 -0.339820 -v 0.212278 0.126349 -0.339820 -v 0.212278 -0.406770 -0.357718 -v 0.212278 -0.406770 -0.339820 -v 0.269823 0.126349 -0.415263 -v 0.287721 -0.406770 -0.415263 -v 0.269823 -0.406770 -0.415263 -v 0.269823 0.126349 -0.282275 -v 0.229132 -0.406770 -0.299130 -v 0.229132 0.126349 -0.299130 -v 0.229132 0.126349 -0.398408 -v 0.229132 -0.406770 -0.398408 -v 0.212278 0.126349 -0.357718 -v 0.345266 -0.406770 -0.357718 -v 0.328411 0.126349 -0.398408 -v 0.328411 -0.406770 -0.398408 -v 0.287721 0.126349 -0.415263 -v 0.328411 0.126349 -0.299130 -v 0.328411 -0.186442 -0.299130 -v 0.345266 -0.406770 -0.339820 -v 0.328411 -0.406770 -0.299130 -v 1.612869 -0.076220 -0.202537 -v 0.380750 -0.076220 -0.236682 -v 0.574963 -0.186442 -0.236682 -v 0.406536 -0.075964 -0.236682 -v 0.681892 -0.187005 -0.236682 -v 0.681892 -0.209206 -0.236682 -v 0.492745 -0.075964 -0.242529 -v 0.681892 -0.075964 -0.368113 -v 0.681892 -0.075964 -0.266878 -v 0.304401 -0.186442 -0.289184 -v -6.253527 0.596528 0.005807 -v -6.253527 0.539472 -0.020830 -v -6.253527 0.539472 0.020830 -v -6.253527 0.596528 -0.005807 -v -6.166472 0.539472 -0.020830 -v -6.166472 0.596528 -0.005807 -v -6.166472 0.539472 0.020830 -v -6.166472 0.596528 0.005807 -v -6.219964 0.266752 -0.066857 -v -6.200772 0.266752 0.066857 -v -6.200772 0.266752 -0.066857 -v -6.054605 0.230360 -0.066857 -v -6.054605 0.189190 0.066857 -v -6.054605 0.189190 -0.066857 -v -6.366132 0.230360 0.066857 -v -6.366132 0.189190 -0.066857 -v -6.366132 0.189190 0.066857 -v -6.366132 0.230360 -0.066857 -v -6.293048 0.261876 0.066857 -v -6.219964 0.266752 0.066857 -v -6.293048 0.261876 -0.066857 -v -6.346549 0.248556 0.066857 -v -6.346549 0.248556 -0.066857 -v -6.127688 0.261876 -0.066857 -v -6.127688 0.261876 0.066857 -v -6.074187 0.248556 -0.066857 -v -6.074187 0.248556 0.066857 -v -6.054605 0.230360 0.066857 -v -6.254203 0.539653 0.044203 -v -6.254203 0.260346 -0.044203 -v -6.254203 0.260346 0.044203 -v -6.215796 0.405912 -0.044203 -v -6.210713 0.399287 -0.044203 -v -6.165797 0.539653 0.022649 -v -6.165797 0.505405 -0.022649 -v -6.165797 0.539653 -0.022649 -v -6.165797 0.260346 0.044203 -v -6.165797 0.294594 -0.044203 -v -6.165797 0.294594 0.044203 -v -6.204088 0.394203 0.044203 -v -6.210713 0.399287 0.044203 -v -6.165797 0.260346 -0.044203 -v -6.181269 0.539653 0.022649 -v -6.181269 0.539653 -0.022649 -v -6.193362 0.428730 -0.027658 -v -6.193362 0.505405 -0.027658 -v -6.193362 0.428730 0.027658 -v -6.193362 0.294594 -0.044203 -v -6.181269 0.505405 -0.022649 -v -6.181269 0.505405 0.022649 -v -6.165797 0.505405 0.022649 -v -6.193362 0.390794 0.044203 -v -6.193362 0.391793 0.041793 -v -6.215796 0.405912 0.044203 -v -6.220925 0.428730 0.039075 -v -6.223049 0.428730 0.044203 -v -6.193362 0.416637 0.031502 -v -6.192762 0.539653 0.027409 -v -6.193362 0.505405 0.027658 -v -6.220925 0.539653 0.039075 -v -6.223049 0.539653 0.044203 -v -6.204088 0.394203 -0.044203 -v -6.193362 0.391793 -0.041793 -v -6.193362 0.390794 -0.044203 -v -6.220925 0.428730 -0.039075 -v -6.223049 0.428730 -0.044203 -v -6.223049 0.539653 -0.044203 -v -6.220925 0.539653 -0.039075 -v -6.193288 0.539653 -0.027627 -v -6.254203 0.539653 -0.044203 -v -6.193362 0.294594 0.044203 -v -6.193362 0.416637 -0.031502 -v -6.392073 0.191994 -0.130346 -v -6.380502 0.191994 0.130566 -v -6.380502 0.191994 -0.130566 -v -6.380502 0.130566 0.191994 -v -6.392073 -0.130346 0.191994 -v -6.380502 -0.130566 0.191994 -v -6.392073 0.130346 -0.191994 -v -6.380502 -0.130566 -0.191994 -v -6.392073 -0.130346 -0.191994 -v -6.477810 0.162570 0.098846 -v -6.392073 0.191994 0.130346 -v -6.392073 -0.191994 0.130346 -v -6.477810 -0.162570 -0.098846 -v -6.392073 -0.191994 -0.130346 -v -6.392073 0.130346 0.191994 -v -6.477810 -0.098846 0.162570 -v -6.591106 -0.103313 0.103313 -v -6.576411 -0.118052 0.090789 -v -6.576411 -0.090789 0.118052 -v -6.591106 -0.103313 -0.103313 -v -6.576411 -0.128031 -0.053547 -v -6.591106 -0.129819 -0.039323 -v -6.591106 0.103313 0.103313 -v -6.576411 0.090789 0.118052 -v -6.576411 0.118052 0.090789 -v -6.576411 -0.128031 0.053547 -v -6.591106 -0.129819 0.039323 -v -6.477810 0.098846 -0.162570 -v -6.380502 -0.191994 -0.130566 -v -6.477998 -0.130456 -0.153805 -v -6.477810 -0.098846 -0.162570 -v -6.392073 -0.183735 -0.161170 -v -6.477998 -0.153805 -0.130455 -v -6.477998 -0.130455 0.153805 -v -6.392073 -0.161170 0.183735 -v -6.392073 -0.183735 0.161170 -v -6.477998 -0.153805 0.130455 -v -6.576411 -0.118052 -0.090789 -v -6.576411 -0.090789 -0.118052 -v -6.576411 0.128031 0.053547 -v -6.591106 0.129819 0.039323 -v -6.477998 0.153805 0.130455 -v -6.392073 0.183735 0.161170 -v -6.392073 0.161170 0.183735 -v -6.477998 0.130455 0.153805 -v -6.591106 0.039323 -0.129819 -v -6.576411 -0.053547 -0.128031 -v -6.591106 -0.039323 -0.129819 -v -6.477998 0.130455 -0.153805 -v -6.392073 0.161170 -0.183735 -v -6.392073 0.183735 -0.161170 -v -6.477998 0.153805 -0.130455 -v -6.591106 0.039323 0.129819 -v -6.576411 -0.053547 0.128031 -v -6.576411 0.053547 0.128031 -v -6.591106 0.103313 -0.103313 -v -6.576411 0.053547 -0.128031 -v -6.392073 -0.161170 -0.183735 -v -6.380502 -0.161280 -0.183764 -v -6.380502 -0.161280 0.183764 -v -6.380502 -0.183764 0.161280 -v -6.380502 -0.191994 0.130566 -v -6.380502 0.183764 0.161280 -v -6.380502 0.161280 0.183764 -v -6.380502 0.130566 -0.191994 -v -6.380502 0.161280 -0.183764 -v -6.380502 0.183764 -0.161280 -v -6.576411 0.118052 -0.090789 -v -6.576411 0.090789 -0.118052 -v -6.501047 -0.114705 -0.139608 -v -6.500950 0.080846 -0.148845 -v -6.501047 -0.139608 -0.114705 -v -6.544128 0.133718 -0.061006 -v -6.544179 0.123935 -0.097317 -v -6.500950 -0.148845 -0.080846 -v -6.544179 -0.097317 -0.123935 -v -6.544179 -0.123935 -0.097317 -v -6.501047 -0.114705 0.139608 -v -6.500950 -0.080846 0.148845 -v -6.477810 0.098846 0.162570 -v -6.500950 0.080846 0.148845 -v -6.544128 0.061006 0.133718 -v -6.544179 0.097317 0.123935 -v -6.501047 -0.139608 0.114705 -v -6.477810 -0.162570 0.098846 -v -6.500950 -0.148845 0.080846 -v -6.501047 0.139608 0.114705 -v -6.500950 0.148845 0.080846 -v -6.477810 0.162570 -0.098846 -v -6.501047 0.114705 0.139608 -v -6.544128 -0.061006 -0.133718 -v -6.544128 0.061006 -0.133718 -v -6.544128 0.133718 0.061006 -v -6.576411 0.128031 -0.053547 -v -6.501047 0.114705 -0.139608 -v -6.544179 0.097317 -0.123935 -v -6.501047 0.139608 -0.114705 -v -6.544128 -0.061006 0.133718 -v -6.544179 -0.097317 0.123935 -v -6.544128 -0.133718 0.061006 -v -6.544179 -0.123935 0.097317 -v -6.544179 0.123935 0.097317 -v -6.544128 -0.133718 -0.061006 -v -6.500950 -0.080846 -0.148845 -v -6.500950 0.148845 -0.080846 -v -7.056521 -0.135848 0.135848 -v -7.085522 -0.050417 0.078747 -v -7.088913 -0.058962 0.058962 -v -7.085522 0.050417 0.078747 -v -7.092171 0.017897 0.056224 -v -7.085522 -0.078747 0.050417 -v -7.092171 -0.056224 0.017897 -v -7.085522 -0.078747 -0.050417 -v -7.085522 -0.050417 -0.078747 -v -7.092171 -0.017897 -0.056224 -v -7.085522 0.050417 -0.078747 -v -7.056521 0.135848 -0.135848 -v -7.085522 0.078747 -0.050417 -v -7.056521 0.176974 -0.048295 -v -7.088913 0.058962 -0.058962 -v -6.729850 0.048696 0.176974 -v -7.056521 -0.048295 0.176974 -v -6.729850 -0.048696 0.176974 -v -6.729850 0.176974 0.048696 -v -6.729850 0.176974 -0.048696 -v -7.056521 0.135848 0.135848 -v -7.085522 0.078747 0.050417 -v -7.088913 0.058962 0.058962 -v -6.729850 -0.176974 -0.048696 -v -7.056521 -0.176974 0.048295 -v -7.056521 -0.176974 -0.048295 -v -7.056521 0.048295 0.176974 -v -7.056521 -0.135848 -0.135848 -v -7.092171 0.056224 -0.017897 -v -7.056521 -0.048295 -0.176974 -v -7.092800 -0.037146 0.051207 -v -7.092800 -0.051207 0.037146 -v -7.092800 0.051207 0.037146 -v -7.092800 0.037146 0.051207 -v -7.088913 -0.058962 -0.058962 -v -7.092800 -0.051207 -0.037146 -v -7.092800 -0.037146 -0.051207 -v -6.729850 -0.048696 -0.176974 -v -6.729850 -0.139403 -0.139403 -v -6.729850 0.048696 -0.176974 -v -7.056521 0.048295 -0.176974 -v -7.056521 0.176974 0.048295 -v -7.092800 0.037146 -0.051207 -v -7.092800 0.051207 -0.037146 -v -6.714221 -0.046051 -0.163640 -v -6.714221 -0.163640 -0.046051 -v -6.714221 -0.129199 -0.129199 -v -6.714221 -0.046051 0.163640 -v -6.714221 -0.129199 0.129199 -v -6.714221 -0.163640 0.046051 -v -6.714221 0.163640 0.046051 -v -6.714221 0.129199 0.129199 -v -6.714221 0.046051 0.163640 -v -6.714221 0.046051 -0.163640 -v -6.714221 0.129199 -0.129199 -v -6.714221 0.163640 -0.046051 -v -6.591106 0.129819 -0.039323 -v -6.729850 -0.139403 0.139403 -v -6.729850 -0.176974 0.048696 -v -6.729850 0.139403 0.139403 -v -6.729850 0.139403 -0.139403 -v -7.492805 -0.044275 0.139089 -v -7.492805 0.044275 0.139089 -v -7.492805 0.139089 -0.044275 -v -7.092171 0.056224 0.017897 -v -7.492805 -0.139089 -0.044275 -v -7.492805 -0.127539 -0.040598 -v -7.492805 -0.115891 -0.084068 -v -7.492805 0.139089 0.044275 -v -7.492805 0.127538 0.040598 -v -7.492805 0.115891 0.084068 -v -7.492805 0.044275 -0.139089 -v -7.492805 -0.044275 -0.139089 -v -7.093077 -0.052063 -0.034183 -v -7.093194 -0.052761 -0.031678 -v -7.492805 -0.091682 -0.126386 -v -7.093077 -0.034183 -0.052063 -v -7.093194 0.052761 -0.031678 -v -7.093077 0.052063 -0.034183 -v -7.492805 0.126386 -0.091682 -v -7.492805 0.091682 -0.126386 -v -7.093077 0.034183 -0.052063 -v -7.093194 0.031678 -0.052761 -v -7.093077 -0.052063 0.034183 -v -7.492805 -0.126386 0.091682 -v -7.492805 -0.091682 0.126386 -v -7.093077 -0.034183 0.052063 -v -7.492805 0.126386 0.091682 -v -7.093077 0.052063 0.034183 -v -7.093194 0.031678 0.052761 -v -7.093077 0.034183 0.052063 -v -7.492805 -0.139089 0.044275 -v -7.092171 -0.056224 -0.017897 -v -7.122672 -0.016229 0.050982 -v -7.492805 0.040598 0.127538 -v -7.122672 0.016229 0.050982 -v -7.122672 0.050982 -0.016229 -v -7.122672 -0.016229 -0.050982 -v -7.492805 0.127538 -0.040598 -v -7.122672 0.016229 -0.050982 -v -7.492805 -0.040598 -0.127538 -v -7.122672 -0.046326 -0.033605 -v -7.122672 -0.050982 -0.016229 -v -7.122672 -0.033605 -0.046326 -v -7.492805 -0.084068 -0.115891 -v -7.492805 -0.040808 -0.127482 -v -7.122672 0.046326 -0.033605 -v -7.492805 0.115891 -0.084068 -v -7.122672 0.033605 -0.046326 -v -7.492805 0.084068 -0.115891 -v -7.492805 0.040598 -0.127538 -v -7.122672 -0.046326 0.033605 -v -7.122672 -0.050982 0.016229 -v -7.492805 -0.127482 0.040808 -v -7.122672 -0.033605 0.046326 -v -7.492805 -0.115891 0.084068 -v -7.492805 -0.084068 0.115891 -v -7.492805 -0.040598 0.127538 -v -7.122672 0.046326 0.033605 -v -7.122672 0.050982 0.016229 -v -7.492805 0.084068 0.115891 -v -7.122672 0.033605 0.046326 -v -7.492805 -0.127539 0.040598 -v -6.380502 -0.183764 -0.161280 -v -6.591106 -0.039323 0.129819 -v -7.092171 -0.017897 0.056224 -v -7.093194 -0.031678 0.052761 -v -7.093194 -0.052761 0.031678 -v -7.092171 0.017897 -0.056224 -v -7.093194 -0.031678 -0.052761 -v -7.093194 0.052761 0.031678 -v -7.492805 -0.126386 -0.091682 -v -7.492805 0.091682 0.126386 -v -2.643474 0.403163 0.064361 -v -2.643474 0.216837 -0.064361 -v -2.643474 0.216837 0.064361 -v -2.643474 0.403163 -0.064361 -v -1.976526 0.373163 -0.064361 -v -2.583248 0.296338 -0.064361 -v -1.976526 0.216837 0.064361 -v -1.976526 0.216837 -0.064361 -v -2.583248 0.296338 0.064361 -v -2.036752 0.275368 0.064361 -v -1.976526 0.373163 0.064361 -v -2.036752 0.216837 0.064361 -v -2.036752 0.216837 -0.064361 -v -2.583248 0.216837 -0.064361 -v -2.583248 0.216837 0.064361 -v -2.036752 0.275368 -0.064361 -v -2.582134 0.415101 0.036924 -v -2.579164 0.341313 -0.036924 -v -2.579164 0.341313 0.036924 -v -2.582134 0.415101 -0.036924 -v -2.037948 0.363101 -0.036924 -v -2.040918 0.436889 -0.036924 -v -2.037948 0.363101 0.036924 -v -2.040918 0.436889 0.036924 -v -2.047184 0.589444 -0.020747 -v -2.068439 0.568697 0.000000 -v -2.050733 0.568697 0.000000 -v -2.047184 0.589444 0.020747 -v -2.064524 0.592420 0.023723 -v -2.064524 0.592420 -0.023723 -v -2.115582 0.394418 0.052508 -v -2.105692 0.390321 0.052508 -v -2.084418 0.394418 0.052508 -v -2.080321 0.415692 -0.052508 -v -2.080321 0.404308 0.052508 -v -2.080321 0.404308 -0.052508 -v -2.105692 0.429679 -0.052508 -v -2.094308 0.429679 0.052508 -v -2.094308 0.429679 -0.052508 -v -2.119679 0.415692 0.052508 -v -2.119679 0.404308 -0.052508 -v -2.119679 0.404308 0.052508 -v -2.084418 0.394418 -0.052508 -v -2.094308 0.390321 -0.052508 -v -2.115582 0.394418 -0.052508 -v -2.105692 0.390321 -0.052508 -v -2.115582 0.425582 0.052508 -v -2.105692 0.429679 0.052508 -v -2.115582 0.425582 -0.052508 -v -2.094308 0.390321 0.052508 -v -2.084418 0.425582 -0.052508 -v -2.084418 0.425582 0.052508 -v -2.053942 0.435600 0.032885 -v -2.078179 0.518490 0.032885 -v -2.096574 0.431427 0.032885 -v -2.049460 0.576139 -0.032885 -v -2.047184 0.589444 -0.032885 -v -2.069231 0.563901 -0.062885 -v -2.067164 0.576420 -0.032885 -v -2.064524 0.592420 -0.062885 -v -2.067164 0.576420 0.032885 -v -2.064524 0.592420 0.032885 -v -2.053942 0.435600 -0.032885 -v -2.096574 0.431427 -0.032885 -v -2.047184 0.589444 0.032885 -v -2.051553 0.563901 0.062885 -v -2.049460 0.576139 0.032885 -v -2.047184 0.589444 0.062885 -v -2.047184 0.589444 -0.062885 -v -2.078179 0.518490 -0.032885 -v -2.053942 0.549933 0.046180 -v -2.071536 0.549933 0.056978 -v -2.071536 0.549933 0.046180 -v -2.071536 0.549933 0.019589 -v -2.071536 0.549933 -0.046180 -v -2.053942 0.549933 -0.056978 -v -2.053942 0.549933 -0.046180 -v -2.053942 0.518490 -0.032885 -v -2.053942 0.549933 -0.019589 -v -2.053942 0.549933 0.019589 -v -2.051553 0.563901 -0.062885 -v -2.064524 0.592420 -0.032885 -v -2.074858 0.534211 0.034666 -v -2.072426 0.545720 0.039533 -v -2.072426 0.545720 -0.039533 -v -2.053942 0.534211 -0.034666 -v -2.053942 0.545720 -0.039533 -v -2.053942 0.545720 0.039533 -v -2.053942 0.534211 0.034666 -v -2.053942 0.518490 0.032885 -v -2.074858 0.534211 -0.034666 -v -2.069231 0.563901 0.062885 -v -2.053243 0.554024 0.061155 -v -2.070861 0.554024 0.061155 -v -2.053942 0.549933 0.056978 -v -2.053243 0.554024 -0.061155 -v -2.070861 0.554024 -0.061155 -v -2.071536 0.549933 -0.056978 -v -2.080321 0.415692 0.052508 -v -2.119679 0.415692 -0.052508 -v -2.071536 0.549933 -0.019589 -v -2.064524 0.592420 0.062885 -v -1.719548 0.102726 -0.390897 -v -1.711492 -0.102726 -0.390897 -v -1.719548 -0.102726 -0.390897 -v -1.711492 -0.102726 -0.298636 -v -1.712503 0.102726 -0.298636 -v -1.712503 -0.102726 -0.298636 -v -1.669390 0.102726 -0.348794 -v -1.669390 -0.102726 -0.340739 -v -1.669390 -0.102726 -0.348794 -v -1.681721 0.102726 -0.378565 -v -1.690201 0.102726 -0.370085 -v -1.766048 -0.102726 -0.344699 -v -1.852513 0.102726 -0.284036 -v -1.766048 0.102726 -0.344699 -v -1.681721 -0.102726 -0.378565 -v -1.711492 0.102726 -0.390897 -v -1.681721 0.102726 -0.310968 -v -1.711492 0.102726 -0.298636 -v -1.681721 -0.102726 -0.310968 -v -1.669390 0.102726 -0.340739 -v -1.742613 0.102726 -0.381343 -v -1.712503 0.102726 -0.379323 -v -1.718537 -0.102726 -0.379323 -v -1.712503 -0.102726 -0.379323 -v -1.680964 -0.102726 -0.341749 -v -1.680964 0.102726 -0.347784 -v -1.680964 -0.102726 -0.347784 -v -1.740839 -0.102726 -0.370085 -v -1.718537 0.102726 -0.379323 -v -1.740839 0.102726 -0.370085 -v -1.750076 -0.102726 -0.347784 -v -1.690201 -0.102726 -0.370085 -v -1.712503 -0.102726 -0.310210 -v -1.690201 0.102726 -0.319448 -v -1.690201 -0.102726 -0.319448 -v -1.680964 0.102726 -0.341749 -v -1.712503 0.102726 -0.310210 -v -2.110469 -0.102726 -0.236327 -v -2.110551 0.102726 -0.220102 -v -2.110469 0.102726 -0.236327 -v -1.808125 0.102726 -0.219789 -v -1.944088 -0.102726 -0.219789 -v -1.808125 -0.102726 -0.219789 -v -1.752018 -0.102726 -0.371828 -v -1.759653 0.102726 -0.352770 -v -1.752018 0.102726 -0.371828 -v -1.750076 0.102726 -0.347784 -v -1.944088 0.102726 -0.219789 -v -2.110551 -0.102726 -0.220102 -v -2.004165 -0.102726 -0.236224 -v -2.004165 0.102726 -0.236224 -v -1.925207 -0.102726 -0.250195 -v -1.944086 -0.102726 -0.219790 -v -1.852513 -0.102726 -0.284036 -v -1.925207 0.102726 -0.250195 -v -1.944086 0.102726 -0.219790 -v -1.742613 -0.102726 -0.381343 -v -1.756279 0.102726 -0.347784 -v -1.759653 -0.102726 -0.352770 -v -1.756279 -0.102726 -0.347784 -v -1.630315 0.017435 0.086436 -v -6.469685 -0.017435 0.086436 -v -1.630315 -0.017435 0.086436 -v -1.630315 -0.086436 0.017435 -v -1.630315 0.017435 -0.086436 -v -6.469685 0.086436 -0.017435 -v -1.630315 0.086436 0.017435 -v -1.630315 0.086436 -0.017435 -v -6.469685 -0.017435 -0.086436 -v -6.469685 -0.086436 -0.017435 -v -6.469685 0.017435 0.086436 -v -6.469685 0.017435 -0.086436 -v -1.630315 -0.017435 -0.086436 -v -1.630315 -0.066226 -0.066226 -v -1.630315 -0.086436 -0.017435 -v -6.469685 -0.066226 -0.066226 -v -6.469685 0.066226 -0.066226 -v -1.630315 0.066226 -0.066226 -v -6.469685 -0.066226 0.066226 -v -6.469685 -0.086436 0.017435 -v -1.630315 -0.066226 0.066226 -v -6.469685 0.086436 0.017435 -v -1.630315 0.066226 0.066226 -v -6.469685 0.066226 0.066226 -v -1.712235 0.336082 0.160988 -v -1.712235 0.312747 -0.160988 -v -1.712235 0.312747 0.160988 -v -1.712235 0.336082 -0.160988 -v -1.688900 0.312747 -0.160988 -v -1.688900 0.336082 -0.160988 -v -1.688900 0.312747 0.160988 -v -1.688900 0.336082 0.160988 -v -3.633726 -0.130231 0.191967 -v -3.633726 0.130231 0.191967 -v -3.689430 -0.024759 0.191967 -v -4.064554 -0.024759 0.191967 -v -4.246951 0.024759 0.191967 -v -4.246951 -0.024759 0.191967 -v -4.622075 0.024759 0.191967 -v -4.804472 -0.024759 0.191967 -v -4.622075 -0.024759 0.191967 -v -5.179596 0.024759 0.191967 -v -5.361993 -0.024759 0.191967 -v -5.179596 -0.024759 0.191967 -v -6.380726 -0.130283 0.191967 -v -5.473581 -0.061125 0.191967 -v -5.625529 -0.061125 0.191967 -v -3.633726 0.130231 -0.191967 -v -2.886536 0.076030 -0.218633 -v -3.633726 0.076030 -0.191967 -v -3.633726 -0.130231 -0.191967 -v -2.886536 -0.075616 -0.218633 -v -2.886536 -0.156897 -0.218633 -v -1.749961 0.156949 0.218633 -v -2.574388 0.024759 0.218633 -v -2.574388 -0.024759 0.218633 -v -6.380726 0.191967 0.130283 -v -5.737117 0.191967 0.024759 -v -5.737117 0.191967 -0.024759 -v -5.361993 0.191967 0.024759 -v -5.179596 0.191967 -0.024759 -v -5.361993 0.191967 -0.024759 -v -4.804472 0.191967 0.024759 -v -4.622075 0.191967 -0.024759 -v -4.804472 0.191967 -0.024759 -v -4.246951 0.191967 0.024759 -v -4.064554 0.191967 -0.024759 -v -4.246951 0.191967 -0.024759 -v -3.633726 0.191967 -0.130231 -v -3.952966 0.191967 -0.061125 -v -3.801018 0.191967 -0.061125 -v -1.749961 -0.156949 0.218633 -v -1.749961 -0.166740 0.186788 -v -1.749961 -0.139353 0.194126 -v -1.749961 0.156949 -0.218633 -v -1.749961 0.166740 -0.186788 -v -1.749961 0.139353 -0.194126 -v -3.765939 -0.075616 -0.191967 -v -3.633726 -0.075616 -0.191967 -v -3.764937 0.076030 -0.191967 -v -6.343606 -0.009035 -0.191967 -v -6.380726 -0.130283 -0.191967 -v -6.380726 0.130283 -0.191967 -v -2.949512 -0.024759 0.216386 -v -3.131909 0.024759 0.209876 -v -3.131909 -0.024759 0.209876 -v -3.474349 -0.050474 0.197655 -v -3.507033 -0.024759 0.196488 -v -6.380726 0.115678 0.170449 -v -6.380726 0.130283 0.191967 -v -6.380726 0.143064 0.163111 -v -6.380726 -0.143064 -0.163111 -v -6.380726 -0.115678 -0.170449 -v -1.749961 -0.218633 -0.156949 -v -2.886536 -0.218633 0.156897 -v -2.886536 -0.218633 -0.156897 -v -1.749961 0.218633 -0.156949 -v -2.813265 0.218633 -0.018461 -v -2.813265 0.218633 0.018461 -v -1.749961 -0.156949 -0.218633 -v -2.551679 -0.042325 -0.218633 -v -2.529955 -0.009035 -0.218633 -v -3.633726 0.191967 0.130231 -v -3.507033 0.196488 -0.024759 -v -3.243497 0.205894 0.061125 -v -2.886536 0.218633 0.156897 -v -2.888461 0.218565 0.056736 -v -3.131909 -0.209876 0.024759 -v -3.131909 -0.209876 -0.024759 -v -3.633726 -0.191967 0.130231 -v -3.633726 -0.191967 -0.130231 -v -3.507033 -0.196488 0.024759 -v -6.380726 -0.191967 -0.130283 -v -3.633726 -0.183696 -0.161099 -v -6.380726 -0.183703 -0.161125 -v -3.633726 -0.161099 -0.183696 -v -2.886536 0.210362 -0.187765 -v -2.886536 0.218633 -0.156897 -v -1.749961 0.210369 -0.187791 -v -2.886536 0.187765 -0.210362 -v -2.886536 0.156897 -0.218633 -v -1.749961 -0.218633 0.156949 -v -2.886536 -0.210362 0.187765 -v -1.749961 -0.210369 0.187791 -v -2.886536 -0.187765 0.210362 -v -2.886536 -0.156897 0.218633 -v -3.633726 0.183696 0.161099 -v -6.380726 0.183703 0.161125 -v -3.633726 0.161099 0.183696 -v -2.886536 -0.210362 -0.187765 -v -2.886536 -0.187765 -0.210362 -v -6.380726 0.191967 -0.130283 -v -3.633726 0.183696 -0.161099 -v -6.380726 0.183703 -0.161125 -v -6.380726 0.161125 -0.183703 -v -3.633726 0.161099 -0.183696 -v -6.380726 -0.191967 0.130283 -v -3.633726 -0.183696 0.161099 -v -6.380726 -0.183703 0.161125 -v -6.380726 -0.161125 0.183703 -v -3.633726 -0.161099 0.183696 -v -2.886536 0.210362 0.187765 -v -2.886536 0.187765 0.210362 -v -2.886536 0.156897 0.218633 -v -1.749961 -0.210369 -0.187791 -v -1.749961 -0.187791 -0.210369 -v -1.749961 0.218633 0.156949 -v -1.749961 0.210369 0.187791 -v -1.749961 0.187791 0.210369 -v -3.952966 -0.191967 0.061125 -v -3.801018 -0.191967 0.061125 -v -4.246951 -0.191967 0.024759 -v -4.064554 -0.191967 -0.024759 -v -4.064554 -0.191967 0.024759 -v -4.622075 -0.191967 0.024759 -v -4.804472 -0.191967 -0.024759 -v -4.622075 -0.191967 -0.024759 -v -5.361993 -0.191967 0.024759 -v -5.179596 -0.191967 -0.024759 -v -5.179596 -0.191967 0.024759 -v -5.737117 -0.191967 -0.024759 -v -5.737117 -0.191967 0.024759 -v -5.179596 0.024759 0.170449 -v -5.361993 -0.024759 0.170449 -v -5.361993 0.024759 0.170449 -v -5.473581 0.061125 0.170449 -v -5.625529 0.061125 0.170449 -v -4.622075 0.024759 0.170449 -v -4.804472 -0.024759 0.170449 -v -4.804472 0.024759 0.170449 -v -4.064554 -0.024759 0.170449 -v -4.246951 0.024759 0.170449 -v -4.064554 0.024759 0.170449 -v -3.613980 0.115633 0.170449 -v -3.613980 -0.115633 0.170449 -v -3.689430 0.024759 0.170449 -v -3.613980 -0.115633 -0.170449 -v -2.835146 -0.075616 -0.194126 -v -3.613980 -0.075616 -0.170449 -v -2.835146 0.076030 -0.194126 -v -3.613980 0.115633 -0.170449 -v -3.613980 0.076030 -0.170449 -v -2.574388 -0.024759 0.194126 -v -2.574388 0.024759 0.194126 -v -3.613980 0.170449 0.115633 -v -3.952966 0.170449 0.061125 -v -3.801018 0.170449 0.061125 -v -4.246951 0.170449 0.024759 -v -4.064554 0.170449 -0.024759 -v -4.064554 0.170449 0.024759 -v -4.804472 0.170449 -0.024759 -v -4.622075 0.170449 0.024759 -v -4.804472 0.170449 0.024759 -v -5.361993 0.170449 -0.024759 -v -5.179596 0.170449 0.024759 -v -5.361993 0.170449 0.024759 -v -6.380726 0.170449 -0.115678 -v -5.737117 0.170449 -0.024759 -v -5.737117 0.170449 0.024759 -v -3.749874 0.076030 -0.170449 -v -3.751295 -0.075616 -0.170449 -v -6.380726 0.115678 -0.170449 -v -6.343606 -0.009035 -0.170449 -v -3.474349 0.050474 0.174694 -v -3.507033 0.024759 0.173701 -v -2.949512 0.024759 0.190650 -v -3.131909 -0.024759 0.185105 -v -3.131909 0.024759 0.185105 -v -2.835146 -0.194126 0.139310 -v -1.749961 -0.194126 -0.139353 -v -2.835146 -0.194126 -0.139310 -v -1.749961 0.194126 -0.139353 -v -2.813265 0.194126 0.018461 -v -2.813265 0.194126 -0.018461 -v -2.529955 0.009449 -0.194126 -v -2.529955 -0.009035 -0.194126 -v -3.243497 0.181712 -0.061125 -v -2.835146 0.194126 -0.139310 -v -2.888461 0.192506 -0.056736 -v -3.613980 0.170449 -0.115633 -v -3.507033 0.173701 0.024759 -v -3.131909 -0.185105 -0.024759 -v -3.131909 -0.185105 0.024759 -v -3.613980 -0.170449 -0.115633 -v -3.613980 -0.170449 0.115633 -v -3.507033 -0.173701 -0.024759 -v -3.613980 -0.163105 -0.143041 -v -6.380726 -0.170449 -0.115678 -v -6.380726 -0.163111 -0.143064 -v -3.613980 -0.143041 -0.163105 -v -2.835146 0.186783 -0.166718 -v -2.835146 0.166718 -0.186783 -v -1.749961 0.186788 -0.166740 -v -1.749961 -0.194126 0.139353 -v -2.835146 -0.186783 0.166718 -v -1.749961 -0.186788 0.166740 -v -2.835146 -0.166718 0.186783 -v -3.613980 0.163105 0.143041 -v -6.380726 0.170449 0.115678 -v -6.380726 0.163111 0.143064 -v -3.613980 0.143041 0.163105 -v -2.835146 -0.186783 -0.166718 -v -2.835146 -0.166718 -0.186783 -v -2.835146 -0.139310 -0.194126 -v -6.380726 0.166536 -0.130283 -v -6.380726 0.143064 -0.163111 -v -3.613980 0.163105 -0.143041 -v -6.380726 0.163111 -0.143064 -v -3.613980 0.143041 -0.163105 -v -6.380726 -0.166536 0.130283 -v -3.613980 -0.163105 0.143041 -v -6.380726 -0.143064 0.163111 -v -6.380726 -0.163111 0.143064 -v -6.380726 -0.115678 0.170449 -v -3.613980 -0.143041 0.163105 -v -2.835146 0.194126 0.139310 -v -2.835146 0.186783 0.166718 -v -2.835146 0.166718 0.186783 -v -2.835146 0.139310 0.194126 -v -2.835146 0.139310 -0.194126 -v -2.835146 -0.139310 0.194126 -v -1.749961 -0.189412 -0.156949 -v -1.749961 -0.186788 -0.166740 -v -1.749961 -0.166740 -0.186788 -v -1.749961 -0.139353 -0.194126 -v -1.749961 0.194126 0.139353 -v -1.749961 0.189412 0.156949 -v -1.749961 0.186788 0.166740 -v -1.749961 0.166740 0.186788 -v -1.749961 0.139353 0.194126 -v -5.361993 -0.170449 0.024759 -v -5.179596 -0.170449 -0.024759 -v -5.361993 -0.170449 -0.024759 -v -3.952966 -0.170449 -0.061125 -v -3.801018 -0.170449 -0.061125 -v -4.246951 -0.170449 -0.024759 -v -4.064554 -0.170449 0.024759 -v -4.064554 -0.170449 -0.024759 -v -4.622075 -0.170449 -0.024759 -v -4.804472 -0.170449 0.024759 -v -4.622075 -0.170449 0.024759 -v -6.380726 -0.170449 0.115678 -v -5.737117 -0.170449 0.024759 -v -5.737117 -0.170449 -0.024759 -v -2.837924 0.061125 0.218633 -v -2.837924 0.061125 0.194042 -v -2.835146 0.061125 0.194126 -v -2.949512 0.024759 0.216386 -v -2.886536 -0.054563 0.218633 -v -2.837924 -0.061125 0.218633 -v -2.837924 -0.061125 0.194042 -v -2.916828 -0.050474 0.191643 -v -2.949512 -0.024759 0.190650 -v -2.916828 0.050474 0.217552 -v -2.916828 0.050474 0.191643 -v -2.685976 -0.061125 0.218633 -v -2.607071 -0.050474 0.194126 -v -2.685976 -0.061125 0.194126 -v -2.607071 -0.050474 0.218633 -v -2.607071 0.050474 0.218633 -v -2.685976 0.061125 0.194126 -v -2.607071 0.050474 0.194126 -v -2.835146 -0.061125 0.194126 -v -3.395445 0.061125 0.200471 -v -3.243497 0.061125 0.181712 -v -3.243497 0.061125 0.205894 -v -3.507033 0.024759 0.196488 -v -3.395445 -0.061125 0.177093 -v -3.474349 -0.050474 0.174694 -v -3.507033 -0.024759 0.173701 -v -3.395445 0.061125 0.177093 -v -3.474349 0.050474 0.197655 -v -3.243497 -0.061125 0.205894 -v -3.164592 -0.050474 0.184111 -v -3.243497 -0.061125 0.181712 -v -3.164592 -0.050474 0.208710 -v -3.164592 0.050474 0.184111 -v -3.164592 0.050474 0.208710 -v -3.395445 -0.061125 0.200471 -v -3.689430 0.024759 0.191967 -v -3.689430 -0.024759 0.170449 -v -3.952965 0.061125 0.191967 -v -3.801018 0.061125 0.170449 -v -3.801018 0.061125 0.191967 -v -4.064554 0.024759 0.191967 -v -4.031870 -0.050474 0.191967 -v -3.952965 -0.061125 0.170449 -v -4.031870 -0.050474 0.170449 -v -4.031870 0.050474 0.170449 -v -3.952965 0.061125 0.170449 -v -4.031870 0.050474 0.191967 -v -3.801018 -0.061125 0.191967 -v -3.722113 -0.050474 0.170449 -v -3.801018 -0.061125 0.170449 -v -3.722113 -0.050474 0.191967 -v -3.722113 0.050474 0.191967 -v -3.722113 0.050474 0.170449 -v -3.952965 -0.061125 0.191967 -v -4.246951 -0.024759 0.170449 -v -4.510487 0.061125 0.191967 -v -4.358539 0.061125 0.170449 -v -4.358539 0.061125 0.191967 -v -4.589392 -0.050474 0.191967 -v -4.510487 -0.061125 0.170449 -v -4.589392 -0.050474 0.170449 -v -4.622075 -0.024759 0.170449 -v -4.589392 0.050474 0.170449 -v -4.510487 0.061125 0.170449 -v -4.589392 0.050474 0.191967 -v -4.279634 -0.050474 0.170449 -v -4.358539 -0.061125 0.191967 -v -4.279634 -0.050474 0.191967 -v -4.279634 0.050474 0.191967 -v -4.279634 0.050474 0.170449 -v -4.510487 -0.061125 0.191967 -v -4.358539 -0.061125 0.170449 -v -4.804472 0.024759 0.191967 -v -4.916060 0.061125 0.191967 -v -5.068008 0.061125 0.170449 -v -4.916060 0.061125 0.170449 -v -5.146913 -0.050474 0.191967 -v -5.068008 -0.061125 0.170449 -v -5.146913 -0.050474 0.170449 -v -5.179596 -0.024759 0.170449 -v -5.068008 0.061125 0.191967 -v -5.146913 0.050474 0.170449 -v -5.146913 0.050474 0.191967 -v -4.916060 -0.061125 0.191967 -v -4.837155 -0.050474 0.170449 -v -4.916060 -0.061125 0.170449 -v -4.837155 -0.050474 0.191967 -v -4.837155 0.050474 0.191967 -v -4.837155 0.050474 0.170449 -v -5.068008 -0.061125 0.191967 -v -5.361993 0.024759 0.191967 -v -5.625529 0.061125 0.191967 -v -5.473581 0.061125 0.191967 -v -5.737117 -0.024759 0.191967 -v -5.737117 0.024759 0.170449 -v -5.737117 0.024759 0.191967 -v -5.704433 -0.050474 0.191967 -v -5.625529 -0.061125 0.170449 -v -5.704433 -0.050474 0.170449 -v -5.737117 -0.024759 0.170449 -v -5.704433 0.050474 0.191967 -v -5.704433 0.050474 0.170449 -v -5.394676 -0.050474 0.170449 -v -5.473581 -0.061125 0.170449 -v -5.394676 -0.050474 0.191967 -v -5.394676 0.050474 0.191967 -v -5.394676 0.050474 0.170449 -v -5.361993 -0.191967 -0.024759 -v -5.473581 0.191967 0.061125 -v -5.625529 0.170449 0.061125 -v -5.625529 0.191967 0.061125 -v -5.625529 -0.191967 0.061125 -v -5.473581 -0.170449 0.061125 -v -5.473581 -0.191967 0.061125 -v -5.625529 0.191967 -0.061125 -v -5.704433 0.170449 -0.050474 -v -5.625529 0.170449 -0.061125 -v -5.704433 -0.191967 -0.050474 -v -5.625529 -0.170449 -0.061125 -v -5.704433 -0.170449 -0.050474 -v -5.704433 0.191967 -0.050474 -v -5.704433 -0.170449 0.050474 -v -5.625529 -0.170449 0.061125 -v -5.704433 0.191967 0.050474 -v -5.704433 0.170449 0.050474 -v -5.704433 -0.191967 0.050474 -v -5.394676 -0.191967 -0.050474 -v -5.473581 -0.170449 -0.061125 -v -5.473581 -0.191967 -0.061125 -v -5.473581 0.191967 -0.061125 -v -5.394676 0.170449 -0.050474 -v -5.394676 0.191967 -0.050474 -v -5.394676 -0.170449 -0.050474 -v -5.394676 0.191967 0.050474 -v -5.473581 0.170449 0.061125 -v -5.394676 -0.170449 0.050474 -v -5.394676 -0.191967 0.050474 -v -5.394676 0.170449 0.050474 -v -5.473581 0.170449 -0.061125 -v -5.625529 -0.191967 -0.061125 -v -4.804472 -0.170449 -0.024759 -v -4.916060 0.191967 0.061125 -v -5.068008 0.170449 0.061125 -v -5.068008 0.191967 0.061125 -v -4.916060 -0.191967 0.061125 -v -5.068008 -0.170449 0.061125 -v -4.916060 -0.170449 0.061125 -v -5.179596 -0.170449 0.024759 -v -5.179596 0.170449 -0.024759 -v -5.068008 0.191967 -0.061125 -v -5.146913 0.170449 -0.050474 -v -5.068008 0.170449 -0.061125 -v -5.146913 -0.191967 -0.050474 -v -5.068008 -0.170449 -0.061125 -v -5.146913 -0.170449 -0.050474 -v -5.146913 0.191967 -0.050474 -v -5.146913 -0.170449 0.050474 -v -5.068008 -0.191967 0.061125 -v -5.146913 -0.191967 0.050474 -v -5.146913 0.191967 0.050474 -v -5.146913 0.170449 0.050474 -v -5.179596 0.191967 0.024759 -v -4.837155 -0.191967 -0.050474 -v -4.916060 -0.170449 -0.061125 -v -4.916060 -0.191967 -0.061125 -v -4.916060 0.191967 -0.061125 -v -4.837155 0.170449 -0.050474 -v -4.837155 0.191967 -0.050474 -v -4.837155 -0.170449 -0.050474 -v -4.837155 0.191967 0.050474 -v -4.916060 0.170449 0.061125 -v -4.837155 -0.170449 0.050474 -v -4.837155 -0.191967 0.050474 -v -4.837155 0.170449 0.050474 -v -4.804472 -0.191967 0.024759 -v -4.916060 0.170449 -0.061125 -v -5.068008 -0.191967 -0.061125 -v -4.246951 -0.191967 -0.024759 -v -4.246951 -0.170449 0.024759 -v -4.358539 0.191967 0.061125 -v -4.510487 0.170449 0.061125 -v -4.510487 0.191967 0.061125 -v -4.510487 -0.191967 0.061125 -v -4.358539 -0.170449 0.061125 -v -4.358539 -0.191967 0.061125 -v -4.622075 0.170449 -0.024759 -v -4.510487 -0.170449 -0.061125 -v -4.589392 -0.191967 -0.050474 -v -4.510487 -0.191967 -0.061125 -v -4.510487 0.191967 -0.061125 -v -4.589392 0.170449 -0.050474 -v -4.510487 0.170449 -0.061125 -v -4.589392 0.191967 -0.050474 -v -4.589392 -0.170449 -0.050474 -v -4.589392 -0.170449 0.050474 -v -4.589392 -0.191967 0.050474 -v -4.589392 0.191967 0.050474 -v -4.589392 0.170449 0.050474 -v -4.622075 0.191967 0.024759 -v -4.358539 -0.191967 -0.061125 -v -4.279634 -0.170449 -0.050474 -v -4.358539 -0.170449 -0.061125 -v -4.358539 0.191967 -0.061125 -v -4.279634 0.170449 -0.050474 -v -4.279634 0.191967 -0.050474 -v -4.279634 -0.191967 -0.050474 -v -4.246951 0.170449 -0.024759 -v -4.279634 -0.170449 0.050474 -v -4.279634 0.191967 0.050474 -v -4.358539 0.170449 0.061125 -v -4.279634 0.170449 0.050474 -v -4.279634 -0.191967 0.050474 -v -4.358539 0.170449 -0.061125 -v -3.689430 -0.170449 -0.024759 -v -3.689430 -0.191967 0.024759 -v -3.689430 -0.170449 0.024759 -v -3.689430 0.191967 -0.024759 -v -3.689430 0.170449 0.024759 -v -3.689430 0.191967 0.024759 -v -3.801018 -0.170449 0.061125 -v -3.952966 -0.170449 0.061125 -v -3.801018 0.191967 0.061125 -v -3.952966 0.191967 0.061125 -v -4.031870 -0.191967 -0.050474 -v -3.952966 -0.191967 -0.061125 -v -4.031870 0.170449 -0.050474 -v -3.952966 0.170449 -0.061125 -v -4.031870 -0.170449 -0.050474 -v -4.031870 0.191967 -0.050474 -v -4.031870 -0.170449 0.050474 -v -4.031870 -0.191967 0.050474 -v -4.031870 0.191967 0.050474 -v -4.031870 0.170449 0.050474 -v -4.064554 0.191967 0.024759 -v -3.722113 -0.191967 -0.050474 -v -3.722113 -0.170449 -0.050474 -v -3.722113 0.170449 -0.050474 -v -3.722113 0.191967 -0.050474 -v -3.689430 -0.191967 -0.024759 -v -3.689430 0.170449 -0.024759 -v -3.722113 -0.170449 0.050474 -v -3.722113 0.191967 0.050474 -v -3.722113 -0.191967 0.050474 -v -3.722113 0.170449 0.050474 -v -3.801018 -0.191967 -0.061125 -v -3.801018 0.170449 -0.061125 -v -3.131909 0.209876 -0.024759 -v -3.131909 0.185105 0.024759 -v -3.131909 0.209876 0.024759 -v -3.395445 0.200471 0.061125 -v -3.243497 0.181712 0.061125 -v -3.395445 0.177093 0.061125 -v -3.395445 -0.200471 0.061125 -v -3.243497 -0.181712 0.061125 -v -3.243497 -0.205894 0.061125 -v -3.507033 -0.173701 0.024759 -v -3.507033 0.173701 -0.024759 -v -3.395445 0.177093 -0.061125 -v -3.474350 0.197655 -0.050474 -v -3.474350 0.174694 -0.050474 -v -3.474350 -0.197655 -0.050474 -v -3.395445 -0.177093 -0.061125 -v -3.474350 -0.174694 -0.050474 -v -3.507033 -0.196488 -0.024759 -v -3.395445 -0.177093 0.061125 -v -3.474350 -0.197655 0.050474 -v -3.474350 -0.174694 0.050474 -v -3.474350 0.197655 0.050474 -v -3.474350 0.174694 0.050474 -v -3.507033 0.196488 0.024759 -v -3.243497 -0.205894 -0.061125 -v -3.164592 -0.184111 -0.050474 -v -3.243497 -0.181712 -0.061125 -v -3.243497 0.205894 -0.061125 -v -3.164592 0.184111 -0.050474 -v -3.164592 0.208710 -0.050474 -v -3.164592 -0.208710 -0.050474 -v -3.131909 0.185105 -0.024759 -v -3.164592 0.184111 0.050474 -v -3.164592 -0.184111 0.050474 -v -3.164592 -0.208710 0.050474 -v -3.164592 0.208710 0.050474 -v -3.395445 0.200471 -0.061125 -v -3.395445 -0.200471 -0.061125 -v -2.529955 0.009449 -0.218633 -v -2.692103 0.076030 -0.218633 -v -2.692103 0.076030 -0.194126 -v -6.343606 0.009449 -0.191967 -v -6.343606 0.009449 -0.170449 -v -6.258265 -0.066696 -0.170449 -v -6.172924 -0.075616 -0.191967 -v -6.258265 -0.066696 -0.191967 -v -6.320740 -0.042325 -0.191967 -v -6.320740 -0.042325 -0.170449 -v -6.172924 0.076030 -0.170449 -v -6.258265 0.067109 -0.191967 -v -6.172924 0.076030 -0.191967 -v -6.320740 0.042739 -0.170449 -v -6.258265 0.067109 -0.170449 -v -6.320740 0.042739 -0.191967 -v -2.692103 -0.075616 -0.218633 -v -2.611029 -0.066696 -0.194126 -v -2.611029 -0.066696 -0.218633 -v -2.551679 -0.042325 -0.194126 -v -2.611029 0.067109 -0.194126 -v -2.611029 0.067109 -0.218633 -v -2.551679 0.042739 -0.194126 -v -2.551679 0.042739 -0.218633 -v -2.851539 0.193628 0.056736 -v -2.888461 0.192506 0.056736 -v -2.926736 0.217199 -0.018461 -v -2.926736 0.191342 0.018461 -v -2.926736 0.191342 -0.018461 -v -2.851539 0.218633 -0.056736 -v -2.886536 0.218633 -0.056736 -v -2.888461 0.218565 -0.056736 -v -2.915525 0.217599 0.045525 -v -2.915525 0.191683 0.045525 -v -2.926736 0.217199 0.018461 -v -2.915525 0.217599 -0.045525 -v -2.915525 0.191683 -0.045525 -v -2.824475 0.218633 -0.045525 -v -2.851539 0.193628 -0.056736 -v -2.835146 0.194126 -0.049945 -v -2.824475 0.218633 0.045525 -v -2.824475 0.194126 0.045525 -v -2.835146 0.194126 0.049945 -v -2.886536 0.054563 0.218633 -v -2.685976 0.061125 0.218633 -v -1.749961 -0.187791 0.210369 -v -1.749961 0.187791 -0.210369 -v -2.916828 -0.050474 0.217552 -v -6.380726 0.161125 0.183703 -v -6.380726 -0.161125 -0.183703 -v -2.851539 0.218633 0.056736 -v -2.886536 0.218633 0.056736 -v -6.172924 -0.075616 -0.170449 -v -2.824475 0.194126 -0.045525 -v -2.692103 -0.075616 -0.194126 -v -4.510487 -0.170449 0.061125 -v -1.624199 0.317505 0.216722 -v -1.775651 0.338353 0.216722 -v -1.690268 0.246195 0.216722 -v -1.624199 0.338353 0.008369 -v -1.624199 0.317505 0.092808 -v -1.624199 0.317505 0.008369 -v -1.624199 0.338353 0.109570 -v -1.624199 0.338353 0.216722 -v -1.624199 0.317505 -0.008394 -v -1.624199 0.338353 -0.092833 -v -1.624199 0.338353 -0.008394 -v -1.624199 0.338353 -0.214636 -v -1.624199 0.317505 -0.109596 -v -1.624199 0.317505 -0.214636 -v -1.709583 0.409662 0.216722 -v -1.690268 0.409662 0.109570 -v -1.709583 0.409662 0.109570 -v -1.690268 0.409662 0.008369 -v -1.709583 0.409662 0.092808 -v -1.690268 0.409662 0.092808 -v -1.690268 0.409662 -0.214636 -v -1.709583 0.409662 -0.109596 -v -1.690268 0.409662 -0.109596 -v -1.709583 0.409662 -0.008394 -v -1.690268 0.409662 -0.092833 -v -1.709583 0.409662 -0.092833 -v -1.775651 0.338353 -0.008394 -v -1.775651 0.317505 -0.092833 -v -1.775651 0.317505 -0.008394 -v -1.775651 0.317505 -0.214636 -v -1.775651 0.338353 -0.109596 -v -1.775651 0.338353 -0.214636 -v -1.775651 0.317505 0.008369 -v -1.775651 0.338353 0.092808 -v -1.775651 0.338353 0.008369 -v -1.775651 0.317505 0.109570 -v -1.775651 0.317505 0.216722 -v -1.690268 0.246195 -0.214636 -v -1.756300 0.267081 0.008369 -v -1.709583 0.246195 0.092808 -v -1.756300 0.267081 0.092808 -v -1.756300 0.267081 0.216722 -v -1.709583 0.246195 0.109570 -v -1.709583 0.246195 0.216722 -v -1.756300 0.267081 -0.214636 -v -1.709583 0.246195 -0.109596 -v -1.756300 0.267081 -0.109596 -v -1.756300 0.267081 -0.008394 -v -1.709583 0.246195 -0.092833 -v -1.709583 0.246195 -0.008394 -v -1.775651 0.317505 0.092808 -v -1.756300 0.267081 0.109570 -v -1.775651 0.317505 -0.109596 -v -1.756300 0.267081 -0.092833 -v -1.709583 0.409662 -0.214636 -v -1.756300 0.388776 -0.109596 -v -1.756300 0.388776 -0.008394 -v -1.756300 0.388776 -0.092833 -v -1.756300 0.388776 0.216722 -v -1.756300 0.388776 0.109570 -v -1.709583 0.409662 0.008369 -v -1.756300 0.388776 0.092808 -v -1.756300 0.388776 -0.214636 -v -1.775651 0.338353 -0.092833 -v -1.756300 0.388776 0.008369 -v -1.775651 0.338353 0.109570 -v -1.643550 0.267081 -0.109596 -v -1.690268 0.246195 -0.109596 -v -1.690268 0.246195 -0.008394 -v -1.643550 0.267081 -0.092833 -v -1.643550 0.267081 -0.008394 -v -1.690268 0.246195 0.008369 -v -1.643550 0.267081 0.092808 -v -1.690268 0.246195 0.092808 -v -1.643550 0.267081 0.109570 -v -1.643550 0.267081 0.216722 -v -1.643550 0.267081 -0.214636 -v -1.624199 0.317505 -0.092833 -v -1.643550 0.267081 0.008369 -v -1.624199 0.317505 0.109570 -v -1.690268 0.409662 0.216722 -v -1.643550 0.388776 0.109570 -v -1.643550 0.388776 0.008369 -v -1.643550 0.388776 0.092808 -v -1.643550 0.388776 -0.214636 -v -1.643550 0.388776 -0.109596 -v -1.690268 0.409662 -0.008394 -v -1.643550 0.388776 -0.092833 -v -1.690268 0.246195 0.109570 -v -1.624199 0.338353 0.092808 -v -1.643550 0.388776 0.216722 -v -1.624199 0.338353 -0.109596 -v -1.690268 0.246195 -0.092833 -v -1.643550 0.388776 -0.008394 -v -1.709583 0.246195 0.008369 -v -1.709583 0.246195 -0.214636 -v -1.752645 0.245617 0.219945 -v -1.752645 -0.271232 -0.219945 -v -1.752645 -0.271232 0.219945 -v -1.647144 0.245617 0.219945 -v -1.690094 -0.271232 0.220085 -v -1.647144 -0.271232 0.219945 -v -1.647144 0.245617 -0.219945 -v -1.647144 -0.271232 -0.219945 -v -1.735961 0.245617 0.260496 -v -1.735961 -0.271232 0.260496 -v -1.710091 -0.271232 0.260533 -v -1.710091 0.245617 0.260533 -v -1.690094 0.245617 0.220085 -v -1.664783 0.245617 -0.296820 -v -1.735006 0.245617 -0.296820 -v -1.752645 0.245617 -0.219945 -v -1.735006 -0.271232 -0.296820 -v -1.664783 -0.271232 -0.296820 -v -1.647144 0.245617 -0.253274 -v -1.752645 0.245617 -0.253274 -v -1.647144 -0.271232 -0.253274 -v -1.752645 -0.271232 -0.253274 -v -1.510766 0.272563 -0.222163 -v -1.510766 0.073086 0.222163 -v -1.510766 0.073086 -0.222163 -v -0.924858 0.272563 -0.222163 -v -0.924858 0.073086 0.222163 -v -0.924858 0.272563 0.222163 -v -0.924858 0.073086 -0.222163 -v -1.510766 0.272563 0.222163 -v 1.420336 0.065850 -0.222163 -v -1.559361 0.037856 -0.204534 -v -1.649310 0.055596 -0.222163 -v 1.410792 0.139458 -0.194824 -v 2.131501 0.139458 0.194824 -v 2.131501 0.139458 -0.194824 -v 0.758378 0.177549 0.185626 -v 0.991317 0.162352 -0.185626 -v 0.758378 0.177549 -0.185626 -v 1.410215 0.150364 0.119031 -v 1.133068 0.143995 0.119031 -v 1.133068 0.152715 0.119031 -v -1.559361 0.037875 0.204534 -v 1.418896 0.066509 0.222163 -v -1.649310 0.055596 0.222163 -v 1.409769 0.158803 0.185626 -v 1.410791 0.139467 0.204542 -v 1.410792 0.139458 0.194824 -v 1.419803 0.048334 0.204534 -v -1.561174 -0.256905 0.204534 -v 2.035125 -0.256905 0.204534 -v 1.421225 0.047684 -0.204534 -v 2.041666 0.126654 -0.204534 -v 2.035125 -0.256905 -0.204534 -v 2.124523 -0.269709 -0.194824 -v 2.124523 -0.269709 0.194824 -v -1.650869 -0.269709 0.194824 -v -1.650869 -0.269709 -0.194824 -v -1.648979 0.037561 0.194824 -v -1.647135 0.409335 -0.185626 -v -1.049937 0.409335 0.185626 -v -1.049937 0.409335 -0.185626 -v -0.668782 0.386395 -0.185626 -v 1.410791 0.139467 -0.204542 -v 1.410792 0.139458 -0.204534 -v 1.412247 0.126654 -0.204534 -v 0.908509 0.114791 -0.222163 -v -1.118061 0.361156 -0.222163 -v 1.412058 0.126654 0.204534 -v -1.647221 0.395224 -0.211462 -v -1.647431 0.361156 -0.222163 -v 1.415261 0.110493 -0.222163 -v 1.411377 0.144653 -0.211462 -v 1.409769 0.158803 -0.185626 -v 1.411168 0.144655 0.211462 -v 1.414546 0.110499 0.222163 -v 0.700588 0.165806 -0.211462 -v 0.967063 0.148422 -0.211462 -v 0.561070 0.137457 0.222163 -v 0.967063 0.148422 0.211462 -v 0.700588 0.165806 0.211462 -v 0.991317 0.162352 0.185626 -v 0.908509 0.114791 0.222163 -v -0.725511 0.374497 -0.211462 -v -0.862466 0.345773 -0.222163 -v -1.069890 0.395224 -0.211462 -v -0.862466 0.345773 0.222163 -v -1.069890 0.395224 0.211462 -v -1.118061 0.361156 0.222163 -v -0.725511 0.374497 0.211462 -v -1.647135 0.409335 0.185626 -v -1.647221 0.395224 0.211462 -v 0.561070 0.137457 -0.222163 -v 1.411218 0.135708 -0.201690 -v 1.411163 0.135708 0.201690 -v 1.410792 0.139458 0.204534 -v -1.622730 0.037653 0.201690 -v -1.622730 0.037647 -0.201690 -v -1.648979 0.037561 -0.194824 -v -1.561174 -0.256905 -0.204534 -v -1.624598 -0.265959 -0.201690 -v 2.105189 0.135708 -0.201690 -v 2.098339 -0.265959 -0.201690 -v 2.041666 0.126654 0.204534 -v 2.098339 -0.265959 0.201690 -v 2.105189 0.135708 0.201690 -v -1.624598 -0.265959 0.201690 -v 1.133068 0.143995 -0.119031 -v 1.410215 0.150364 -0.119031 -v 1.133068 0.152715 -0.119031 -v 1.040066 0.153505 0.096893 -v 1.001543 0.143995 0.043449 -v 1.001543 0.153832 0.043449 -v 1.001543 0.153832 -0.043449 -v 1.001543 0.143995 -0.043449 -v 1.040066 0.153505 -0.096893 -v 1.040066 0.143995 0.096893 -v 1.040066 0.143995 -0.096893 -v 1.410552 0.143995 0.119031 -v 0.992651 0.162765 0.043699 -v 1.022165 0.162430 -0.098518 -v 1.022165 0.162430 0.098518 -v 0.992651 0.162765 -0.043699 -v 1.409769 0.158803 -0.125423 -v 1.409769 0.158803 0.125423 -v 1.152085 0.183000 -0.105481 -v 1.392231 0.143995 -0.105481 -v 1.152085 0.143995 -0.105481 -v 1.392231 0.183000 0.105481 -v 1.152085 0.143995 0.105481 -v 1.392231 0.143995 0.105481 -v 1.392231 0.188960 0.077517 -v 1.152085 0.183000 0.105481 -v 1.062309 0.143995 0.084111 -v 1.062309 0.183000 0.084111 -v 1.025122 0.143995 0.032521 -v 1.062309 0.183000 -0.084111 -v 1.025122 0.183000 0.032521 -v 1.025122 0.143995 -0.032521 -v 1.062309 0.143995 -0.084111 -v 1.025122 0.183000 -0.032521 -v 1.161765 0.188960 0.077517 -v 1.099553 0.188960 0.062709 -v 1.161765 0.188960 -0.077517 -v 1.099553 0.188960 -0.062709 -v 1.073784 0.188960 -0.026958 -v 1.073784 0.188960 0.026958 -v 1.392231 0.183000 -0.105481 -v 1.392231 0.188960 -0.077517 -v 1.351520 0.244526 -0.056353 -v 1.358852 0.244526 0.056353 -v 1.358852 0.244526 -0.056353 -v 1.325081 0.187551 0.056353 -v 1.325081 0.193537 -0.056353 -v 1.325081 0.187551 -0.056353 -v 1.382056 0.221322 -0.056353 -v 1.382056 0.210755 0.056353 -v 1.382056 0.210755 -0.056353 -v 1.358852 0.187551 -0.056353 -v 1.375259 0.194348 0.056353 -v 1.358852 0.187551 0.056353 -v 1.375259 0.194348 -0.056353 -v 1.375259 0.237730 -0.056353 -v 1.375259 0.237730 0.056353 -v 1.332825 0.236782 0.056353 -v 1.351520 0.244526 0.056353 -v 1.332825 0.236782 -0.056353 -v 1.325081 0.218087 0.056353 -v 1.351950 0.238540 0.056353 -v 1.357742 0.238540 -0.056353 -v 1.357742 0.238540 0.056353 -v 1.376070 0.211865 0.056353 -v 1.376070 0.220212 -0.056353 -v 1.376070 0.211865 -0.056353 -v 1.357742 0.193537 0.056353 -v 1.370702 0.198905 -0.056353 -v 1.357742 0.193537 -0.056353 -v 1.370702 0.198905 0.056353 -v 1.370702 0.233172 0.056353 -v 1.376070 0.220212 0.056353 -v 1.370702 0.233172 -0.056353 -v 1.331067 0.193537 0.056353 -v 1.351950 0.238540 -0.056353 -v 1.337183 0.232424 0.056353 -v 1.337183 0.232424 -0.056353 -v 1.331067 0.217657 0.056353 -v 1.331067 0.217657 -0.056353 -v 1.325081 0.218087 -0.056353 -v 1.325081 0.193537 0.056353 -v 1.331067 0.193537 -0.056353 -v 1.410552 0.143995 -0.119031 -v -0.668782 0.386395 0.185626 -v -1.647431 0.361156 0.222163 -v 1.095197 0.161471 -0.125423 -v 1.095197 0.161471 0.125423 -v 1.382056 0.221322 0.056353 -v 0.184559 -0.496297 0.011376 -v 0.180890 -0.460229 -0.011152 -v 0.184559 -0.496297 -0.011152 -v 0.079680 -0.361549 -0.019652 -v 0.261204 -0.361549 0.019877 -v 0.261204 -0.361549 -0.019652 -v 0.079680 -0.386082 -0.011152 -v 0.136489 -0.402629 0.011376 -v 0.079680 -0.386082 0.011376 -v 0.211072 -0.506008 -0.019652 -v 0.202276 -0.535515 0.019877 -v 0.202276 -0.535515 -0.019652 -v 0.157192 -0.545548 0.011376 -v 0.179016 -0.517412 -0.011152 -v 0.157192 -0.545548 -0.011152 -v 0.186797 -0.521250 0.019877 -v 0.162845 -0.552130 0.019877 -v 0.109690 -0.571998 -0.011152 -v 0.079680 -0.377228 0.019877 -v 0.079680 -0.361549 0.019877 -v 0.218954 -0.439676 -0.019652 -v 0.218548 -0.458385 0.019877 -v 0.218548 -0.458385 -0.019652 -v 0.264132 -0.378763 -0.019652 -v 0.238293 -0.399943 0.019877 -v 0.238293 -0.399943 -0.019652 -v 0.163654 -0.425389 -0.011152 -v 0.136489 -0.402629 -0.011152 -v 0.264132 -0.378763 0.019877 -v 0.163654 -0.425389 0.011376 -v 0.111886 -0.588101 0.019877 -v 0.110923 -0.581041 0.019877 -v 0.109690 -0.571998 0.011376 -v 0.172379 -0.566875 -0.019652 -v 0.211072 -0.506008 0.019877 -v 0.111886 -0.588101 -0.019652 -v 0.170482 -0.420019 -0.019652 -v 0.140580 -0.394966 -0.019652 -v 0.170482 -0.420019 0.019877 -v 0.193172 -0.496967 -0.019652 -v 0.189192 -0.457838 -0.019652 -v 0.189192 -0.457838 0.019877 -v 0.193172 -0.496967 0.019877 -v 0.162845 -0.552130 -0.019652 -v 0.186797 -0.521250 -0.019652 -v 0.179016 -0.517412 0.011376 -v 0.079680 -0.377228 -0.019652 -v 0.140580 -0.394966 0.019877 -v 0.110923 -0.581041 -0.019652 -v 0.180890 -0.460229 0.011376 -v 0.218954 -0.439676 0.019877 -v 0.172379 -0.566875 0.019877 -v 1.260453 -0.351646 -0.094210 -v 0.888313 -0.351646 -0.094210 -v 1.174098 -0.398490 -0.094210 -v 1.260453 -0.351646 0.094209 -v 1.174098 -0.398490 0.094209 -v 0.888313 -0.351646 0.094209 -v 0.924811 -0.385938 -0.094210 -v 0.974668 -0.398490 -0.094210 -v 1.223955 -0.385938 -0.094210 -v 1.273813 -0.304801 -0.094210 -v 0.874953 -0.304801 -0.094210 -v 1.273813 -0.266322 -0.094210 -v 0.874953 -0.266322 -0.094210 -v 1.223955 -0.385938 0.094209 -v 0.974668 -0.398490 0.094209 -v 0.924811 -0.385938 0.094209 -v 0.874953 -0.304801 0.094209 -v 0.874953 -0.266322 0.094209 -v 1.273813 -0.266322 0.094209 -v 1.273813 -0.304801 0.094209 -v 1.273813 -0.304801 0.111844 -v 1.273813 -0.266322 0.111844 -v 1.273813 -0.266322 -0.111844 -v 1.273813 -0.304801 -0.111844 -v 0.874953 -0.266322 0.111844 -v 0.874953 -0.304801 -0.111844 -v 0.874953 -0.266322 -0.111844 -v 0.874953 -0.304801 0.111844 -v 0.974668 -0.398490 0.111844 -v 1.174098 -0.398490 0.111844 -v 0.974668 -0.398490 -0.111844 -v 0.888313 -0.351646 0.111844 -v 1.260453 -0.351646 0.111844 -v 0.888313 -0.351646 -0.111844 -v 1.260453 -0.351646 -0.111844 -v 0.924811 -0.385938 0.111844 -v 0.924811 -0.385938 -0.111844 -v 1.174098 -0.398490 -0.111844 -v 1.223955 -0.385938 0.111844 -v 1.223955 -0.385938 -0.111844 -v 1.159804 -0.359882 -0.124692 -v 1.178461 -0.364881 0.124692 -v 1.159804 -0.359882 0.124692 -v 1.210777 -0.346223 -0.124692 -v 1.215776 -0.327566 0.124692 -v 1.210777 -0.346223 0.124692 -v 1.210777 -0.308908 -0.124692 -v 1.210777 -0.308908 0.124692 -v 1.197119 -0.295250 0.124692 -v 1.197119 -0.295250 -0.124692 -v 1.178461 -0.290250 0.124692 -v 1.178461 -0.290250 -0.124692 -v 1.159804 -0.295250 0.124692 -v 1.159804 -0.295250 -0.124692 -v 1.146145 -0.308908 0.124692 -v 1.146145 -0.308908 -0.124692 -v 1.141146 -0.327566 0.124692 -v 1.146145 -0.346223 -0.124692 -v 1.146145 -0.346223 0.124692 -v 1.197119 -0.359882 -0.124692 -v 1.197119 -0.359882 0.124692 -v 1.208118 -0.327566 -0.155522 -v 1.204145 -0.342394 -0.155522 -v 1.152777 -0.342394 -0.155522 -v 1.178461 -0.364881 -0.124692 -v 1.178461 -0.357223 0.155522 -v 1.178461 -0.357223 -0.155522 -v 1.193290 -0.353249 -0.155522 -v 1.193290 -0.353249 0.155522 -v 1.204145 -0.342394 0.155522 -v 1.215776 -0.327566 -0.124692 -v 1.204145 -0.312737 0.155522 -v 1.208118 -0.327566 0.155522 -v 1.204145 -0.312737 -0.155522 -v 1.193290 -0.301882 0.155522 -v 1.193290 -0.301882 -0.155522 -v 1.178461 -0.297909 0.155522 -v 1.178461 -0.297909 -0.155522 -v 1.163633 -0.301882 -0.155522 -v 1.163633 -0.301882 0.155522 -v 1.152777 -0.312737 -0.155522 -v 1.152777 -0.312737 0.155522 -v 1.141146 -0.327566 -0.124692 -v 1.148804 -0.327566 -0.155522 -v 1.152777 -0.342394 0.155522 -v 1.148804 -0.327566 0.155522 -v 1.163633 -0.353249 0.155522 -v 1.163633 -0.353249 -0.155522 -v 0.027433 -0.379938 -0.079856 -v -0.023816 -0.410696 0.083652 -v -0.024160 -0.410257 -0.079856 -v 0.928956 -1.205347 -0.079693 -v 0.887400 -1.221867 0.079459 -v 0.887065 -1.221439 -0.079860 -v 0.676766 -0.604786 -0.093099 -v 0.908281 -1.018010 -0.095231 -v 0.676767 -0.604784 -0.095231 -v 0.331101 -0.616902 0.096901 -v 0.355428 -0.626279 0.096900 -v 0.374939 -0.591431 0.096850 -v 0.652151 -1.181850 0.094797 -v 0.747125 -1.182427 0.096929 -v 0.652150 -1.181852 0.096929 -v 0.926481 -1.012206 0.096877 -v 0.925556 -1.008649 0.096895 -v 0.924747 -1.011106 0.096895 -v 0.839282 -0.372890 0.081563 -v 0.771968 -0.390926 -0.077761 -v 0.839282 -0.372890 -0.077761 -v 0.918639 -0.372890 -0.077761 -v -0.072183 -0.539188 -0.077761 -v -0.071846 -0.261700 0.081557 -v -0.072167 -0.261286 -0.077761 -v 0.446005 -0.725792 -0.077761 -v 0.395040 -0.648312 0.081560 -v 0.394937 -0.648179 -0.077761 -v 0.387550 -0.625923 -0.093099 -v 0.458827 -0.717380 -0.093099 -v 0.398115 -0.644838 -0.088607 -v 0.644221 -1.203129 0.079600 -v 0.619599 -1.173135 -0.079331 -v 0.643885 -1.202702 -0.079718 -v -0.024188 -0.578772 -0.079856 -v -0.042905 -0.537572 0.083652 -v -0.024188 -0.578772 0.083658 -v -0.043060 -0.537372 -0.079856 -v -0.042700 -0.452113 0.083652 -v 0.096846 -0.633432 -0.093099 -v 0.226629 -0.633432 -0.093099 -v 0.069296 -0.649588 -0.093099 -v 0.097883 -0.620189 -0.079856 -v 0.027405 -0.609091 0.083658 -v 0.097883 -0.620189 0.083658 -v 0.243747 -0.620189 0.083658 -v 0.243747 -0.620189 -0.079856 -v 0.027405 -0.609091 -0.079856 -v 0.097911 -0.368841 -0.079856 -v 0.027777 -0.380378 0.083652 -v 0.365848 -0.578815 -0.079856 -v 0.314224 -0.609091 0.083658 -v 0.366043 -0.579059 0.083652 -v 0.365845 -0.410257 -0.079856 -v 0.314596 -0.380378 0.083652 -v 0.314252 -0.379938 -0.079856 -v 0.385074 -0.537831 0.083652 -v 0.384729 -0.537391 -0.079856 -v 0.674871 -1.044560 0.096895 -v 0.501542 -0.783198 0.096884 -v 0.633268 -1.033717 0.097235 -v 0.244119 -0.369280 0.083652 -v 0.243775 -0.368841 -0.079856 -v 0.314224 -0.609091 -0.079856 -v 0.355366 -0.626292 -0.093099 -v 0.331048 -0.616876 -0.093099 -v 0.374772 -0.591119 -0.093099 -v 0.925368 -1.008391 -0.093099 -v 0.926292 -1.011949 -0.093117 -v 0.924558 -1.010845 -0.093099 -v 0.384729 -0.451674 -0.079856 -v 0.366189 -0.410696 0.083652 -v 0.385074 -0.452113 0.083652 -v -0.043044 -0.451674 -0.079856 -v 0.884306 -1.179031 -0.094778 -v 0.898746 -1.161435 -0.094603 -v 0.917151 -1.193399 -0.094921 -v 0.942338 -1.022170 -0.077942 -v 0.945805 -1.164070 0.080028 -v 0.945520 -1.163641 -0.079290 -v 0.682061 -1.214929 0.079459 -v 0.681726 -1.214502 -0.079860 -v 0.932531 -0.986768 -0.077761 -v 0.942499 -1.022359 0.081377 -v 0.704655 -0.560504 -0.077761 -v 0.717712 -0.609783 0.081563 -v 0.717711 -0.609784 -0.077761 -v 0.932676 -0.986958 0.081557 -v 0.918639 -0.261246 -0.077761 -v 0.918639 -0.261246 0.081563 -v 0.704655 -0.507517 -0.077761 -v 0.704655 -0.560504 0.081563 -v 0.069297 -0.649588 0.096900 -v 0.096846 -0.633432 0.096901 -v 0.022862 -0.621782 0.096901 -v 0.898746 -1.161435 0.095396 -v 0.884306 -1.179031 0.095221 -v 0.917526 -1.193913 0.095073 -v 0.722692 -0.440203 0.081563 -v 0.722692 -0.440203 -0.077761 -v 0.771968 -0.390926 0.081563 -v 0.918639 -0.372890 0.081563 -v 0.619934 -1.173563 0.079987 -v 0.615374 -1.133724 -0.078803 -v 0.624889 -1.077888 0.081277 -v 0.618167 -1.038172 -0.077761 -v 0.624553 -1.077460 -0.078041 -v 0.615709 -1.134152 0.080515 -v -0.072183 -0.546222 -0.077761 -v -0.072022 -0.539392 0.081557 -v 0.488271 -0.790930 0.081557 -v 0.488051 -0.790673 -0.077761 -v 0.381203 -0.640006 0.081561 -v 0.446192 -0.726016 0.081558 -v 0.501281 -0.782894 -0.093099 -v 0.098255 -0.369280 0.083652 -v 0.381101 -0.639935 -0.077761 -v 0.368014 -0.640085 0.081562 -v 0.368014 -0.640058 -0.077761 -v 0.314690 -0.664926 -0.077761 -v 0.067277 -0.664926 0.081563 -v 0.067277 -0.664926 -0.077761 -v 0.339393 -0.656374 0.081563 -v 0.339393 -0.656374 -0.077761 -v -0.005379 -0.645457 -0.077761 -v -0.052645 -0.618881 0.081560 -v -0.052722 -0.618881 -0.077761 -v 0.689317 -0.505497 0.096901 -v 0.676673 -0.277862 0.096895 -v 0.676673 -0.604943 0.096895 -v -0.005359 -0.645457 0.081562 -v 0.353775 -0.645062 -0.077761 -v -0.072030 -0.546222 0.081557 -v 0.398237 -0.644997 0.092404 -v 0.449965 -0.723573 0.092403 -v 0.929277 -1.205775 0.079625 -v 0.255993 -0.331335 0.116692 -v 0.242208 -0.289051 0.111652 -v 0.243689 -0.343525 0.111602 -v 0.242158 -0.288818 -0.107876 -v 0.255918 -0.330890 -0.113302 -v 0.243602 -0.343088 -0.107925 -v 0.908442 -1.018325 0.096895 -v 0.676672 -0.604944 0.099027 -v 0.908441 -1.018326 0.099027 -v 0.403816 -0.606120 0.096895 -v 0.403812 -0.354587 0.097157 -v 0.403813 -0.354585 0.095025 -v 0.674870 -1.044561 0.099027 -v 0.780248 -1.016896 0.096895 -v 0.780247 -1.016898 0.099027 -v 0.238598 -0.348563 0.096895 -v 0.238597 -0.348565 0.099027 -v 0.453201 -0.622175 0.099027 -v 0.453202 -0.622173 0.096895 -v 0.747126 -1.182426 0.094797 -v 0.236917 -0.288829 -0.095231 -v 0.238495 -0.348150 -0.095231 -v 0.658796 -0.289006 0.116895 -v 0.671432 -0.606322 0.111662 -v 0.671432 -0.289001 0.111662 -v 0.403815 -0.606122 0.099027 -v 0.671540 -0.288819 -0.107866 -v 0.676767 -0.288829 -0.095231 -v 0.403709 -0.354173 -0.094969 -v 0.403713 -0.605707 -0.095231 -v 0.403711 -0.605709 -0.093099 -v 0.652047 -1.181438 -0.095198 -v 0.674768 -1.044146 -0.095231 -v 0.652048 -1.181437 -0.097330 -v 0.908280 -1.018011 -0.093099 -v 0.780145 -1.016482 -0.095231 -v 0.403710 -0.354172 -0.097101 -v 0.453098 -0.621762 -0.093099 -v 0.674767 -1.044148 -0.093099 -v 0.747021 -1.182014 -0.095198 -v 0.780144 -1.016484 -0.093099 -v 0.256716 -0.277698 -0.101973 -v 0.250374 -0.277700 -0.099348 -v 0.236620 -0.277706 -0.093099 -v 0.453099 -0.621760 -0.095231 -v 0.747022 -1.182012 -0.097330 -v 0.671540 -0.606140 -0.107866 -v 0.658908 -0.288814 -0.113099 -v 0.676672 -0.288989 0.099027 -v 0.676672 -0.281122 0.098403 -v 0.877738 -1.000131 0.116895 -v 0.658796 -0.609627 0.116895 -v 0.899445 -1.013003 0.111662 -v 0.775961 -1.011627 0.111728 -v 0.732487 -1.164487 0.115023 -v 0.765625 -0.998883 0.117121 -v 0.742834 -1.177179 0.109629 -v 0.673187 -1.164129 0.115069 -v 0.658308 -1.176667 0.109643 -v 0.680312 -1.043696 0.111792 -v 0.693463 -1.041584 0.117342 -v 0.456839 -0.617867 0.111662 -v 0.421673 -0.593158 0.116755 -v 0.465633 -0.607446 0.116895 -v 0.409042 -0.602331 0.111621 -v 0.409039 -0.349552 0.109693 -v 0.421669 -0.337374 0.114690 -v 0.236979 -0.289041 0.099027 -v 0.676767 -0.280963 -0.094607 -v 0.676766 -0.277706 -0.093099 -v 0.899296 -1.012658 -0.107866 -v 0.877593 -0.999760 -0.113099 -v 0.658908 -0.609434 -0.113099 -v 0.775872 -1.011188 -0.107800 -v 0.742744 -1.176743 -0.109898 -v 0.732402 -1.164042 -0.114971 -v 0.765542 -0.998426 -0.112873 -v 0.658218 -1.176231 -0.109884 -v 0.673103 -1.163683 -0.114925 -v 0.680222 -1.043259 -0.107735 -v 0.456749 -0.617431 -0.107866 -v 0.693379 -1.041139 -0.112653 -v 0.408952 -0.601895 -0.107907 -v 0.421589 -0.592712 -0.113239 -v 0.465548 -0.607001 -0.113099 -v 0.408949 -0.349115 -0.109834 -v 0.421584 -0.336929 -0.115304 -v 0.236707 -0.280963 -0.094607 -v 0.662920 -0.277869 0.103145 -v 0.658148 -0.281137 0.113636 -v 0.668939 -0.281132 0.109167 -v 0.250423 -0.277918 0.103146 -v 0.255279 -0.281185 0.113624 -v 0.256755 -0.277919 0.105769 -v 0.244489 -0.281182 0.109165 -v 0.254844 -0.289054 0.116853 -v 0.236766 -0.281174 0.098403 -v 0.663021 -0.277700 -0.099352 -v 0.669045 -0.280954 -0.105372 -v 0.658260 -0.280950 -0.109840 -v 0.656694 -0.277698 -0.101973 -v 0.244442 -0.280954 -0.105374 -v 0.255238 -0.280950 -0.109853 -v 0.254799 -0.288814 -0.113142 -v 0.656583 -0.277872 0.105769 -v 0.236678 -0.277914 0.096895 -v 0.903301 -0.276584 -0.093099 -v 0.914146 -0.368398 -0.088607 -v 0.903301 -0.357552 -0.093099 -v 0.914146 -0.265739 -0.088607 -v -0.056860 -0.276584 -0.093099 -v -0.067701 -0.538894 -0.088607 -v -0.067697 -0.265750 -0.088607 -v 0.914146 -0.265741 0.092408 -v 0.914146 -0.368398 0.092408 -v 0.903301 -0.276592 0.096901 -v 0.903301 -0.357552 0.096901 -v -0.067335 -0.266218 0.092402 -v -0.067519 -0.539125 0.092403 -v -0.056488 -0.277070 0.096894 -v 0.940866 -1.163110 -0.090132 -v 0.925486 -1.201830 -0.090506 -v 0.941191 -1.163597 0.090877 -v 0.930014 -1.162397 0.095377 -v 0.925848 -1.202318 0.090503 -v 0.886282 -1.216889 -0.090662 -v 0.884439 -1.205964 -0.095051 -v 0.886663 -1.217376 0.090347 -v 0.930428 -0.993094 -0.088607 -v 0.937631 -1.019169 -0.088740 -v 0.930597 -0.993319 0.092403 -v 0.937814 -1.019393 0.092270 -v 0.929669 -1.161886 -0.094616 -v 0.689317 -0.562501 -0.093099 -v 0.713965 -0.613189 -0.088607 -v 0.704923 -0.621407 -0.093099 -v 0.700163 -0.561089 -0.088607 -v 0.689317 -0.562501 0.096901 -v 0.713968 -0.613191 0.092408 -v 0.700163 -0.561089 0.092409 -v 0.704928 -0.621418 0.096901 -v 0.837262 -0.357552 -0.093099 -v 0.769643 -0.386899 -0.088607 -v 0.764029 -0.377175 -0.093099 -v 0.838690 -0.368398 -0.088607 -v 0.837262 -0.357552 0.096901 -v 0.769643 -0.386899 0.092408 -v 0.838690 -0.368398 0.092408 -v 0.718664 -0.437878 -0.088607 -v 0.708940 -0.432264 -0.093099 -v 0.708940 -0.432264 0.096901 -v 0.764029 -0.377175 0.096901 -v 0.718664 -0.437878 0.092408 -v 0.689317 -0.505497 -0.093099 -v 0.700163 -0.506925 -0.088607 -v 0.700163 -0.506925 0.092408 -v 0.704655 -0.507517 0.081563 -v 0.652796 -1.189384 -0.094873 -v 0.682461 -1.210004 -0.090645 -v 0.646482 -1.198784 -0.090510 -v 0.653196 -1.189894 0.095121 -v 0.682842 -1.210490 0.090365 -v 0.684682 -1.199713 0.095003 -v 0.646863 -1.199270 0.090499 -v 0.634328 -1.166902 -0.094579 -v 0.623900 -1.171292 -0.090150 -v 0.624281 -1.171778 0.090859 -v 0.619882 -1.133820 -0.089648 -v 0.630813 -1.134108 -0.094139 -v 0.634728 -1.167412 0.095415 -v 0.620263 -1.134306 0.091361 -v 0.884838 -1.206474 0.094943 -v 0.632870 -1.033207 -0.092759 -v 0.629081 -1.077433 -0.088798 -v 0.622460 -1.036701 -0.088507 -v 0.640458 -1.077936 0.096920 -v 0.622839 -1.037187 0.092502 -v 0.629462 -1.077919 0.092212 -v 0.618501 -1.038601 0.081557 -v 0.631213 -1.134619 0.095855 -v 0.449753 -0.723319 -0.088607 -v 0.491917 -0.788385 -0.088607 -v 0.492167 -0.788676 0.092399 -v 0.382986 -0.635828 -0.088607 -v 0.383121 -0.635918 0.092407 -v 0.387738 -0.626040 0.096900 -v -0.003674 -0.641263 -0.088607 -v 0.000447 -0.631140 -0.093099 -v 0.067869 -0.660433 -0.088607 -v -0.003649 -0.641264 0.092407 -v 0.067869 -0.660433 0.092408 -v -0.039587 -0.608669 -0.093099 -v -0.048878 -0.615890 -0.088607 -v -0.039485 -0.608679 0.096898 -v 0.000477 -0.631141 0.096898 -v -0.048787 -0.615893 0.092406 -v -0.067701 -0.545631 -0.088607 -v -0.056860 -0.544203 -0.093099 -v -0.067527 -0.545636 0.092403 -v -0.056860 -0.538214 -0.093099 -v -0.056675 -0.544220 0.096895 -v 0.312110 -0.649588 -0.093099 -v 0.337878 -0.652145 -0.088607 -v 0.313934 -0.660433 -0.088607 -v 0.312110 -0.649588 0.096901 -v 0.337881 -0.652144 0.092408 -v 0.334230 -0.641931 0.096901 -v 0.313934 -0.660433 0.092408 -v 0.314690 -0.664926 0.081563 -v 0.353775 -0.645062 0.081563 -v 0.364328 -0.636043 0.092408 -v 0.353588 -0.639801 0.092408 -v 0.353137 -0.627100 0.096901 -v 0.364309 -0.636025 -0.088607 -v 0.353588 -0.639800 -0.088607 -v 0.334220 -0.641934 -0.093099 -v 0.900977 -1.154080 0.095470 -v 0.900977 -1.138783 0.095625 -v 0.900977 -1.138783 -0.094374 -v 0.870173 -1.107978 -0.094053 -v 0.847520 -1.110209 0.095930 -v 0.847520 -1.110209 -0.094069 -v 0.870173 -1.184885 -0.094843 -v 0.847520 -1.182654 0.095112 -v 0.870173 -1.184885 0.095156 -v 0.890247 -1.118708 -0.094165 -v 0.829925 -1.124649 -0.094244 -v 0.823317 -1.146431 0.095471 -v 0.823317 -1.146431 -0.094528 -v 0.829925 -1.168213 -0.094769 -v 0.847520 -1.182654 -0.094887 -v 0.829925 -1.168213 0.095230 -v 0.877528 -1.182654 0.095186 -v 0.877528 -1.182654 -0.094813 -v 0.890247 -1.118708 0.095834 -v 0.870173 -1.107978 0.095946 -v 0.829925 -1.124649 0.095754 -v -0.056740 -0.538206 -0.093099 -v -0.056724 -0.449657 -0.093099 -v 0.097247 -0.356072 0.096909 -v 0.023263 -0.367722 0.096895 -v 0.245183 -0.356072 0.096902 -v 0.319167 -0.367722 0.096895 -v -0.033847 -0.588457 -0.093099 -v 0.244783 -0.355562 -0.093085 -v 0.096846 -0.355562 -0.093078 -v -0.056313 -0.450144 0.096895 -v 0.022863 -0.367212 -0.093099 -v -0.034503 -0.400923 -0.093099 -v 0.318767 -0.367212 -0.093099 -v -0.033867 -0.588445 0.096904 -v -0.056557 -0.538444 0.096895 -v 0.398345 -0.449272 0.096895 -v 0.398345 -0.540778 0.096895 -v 0.022862 -0.621782 -0.093099 -v -0.034103 -0.401433 0.096895 -v 0.397945 -0.540229 -0.093099 -v 0.397945 -0.448761 -0.093099 -v 0.226840 -0.633432 0.096901 -v 0.353136 -0.627095 -0.093099 -v -0.056668 -0.538451 0.096895 -v 0.376532 -0.401433 0.096895 -v 0.900977 -1.154080 -0.094529 -v 0.238494 -0.348151 -0.093099 -v 0.684282 -1.199203 -0.094991 -v 0.640058 -1.077426 -0.093074 -v 0.376132 -0.400923 -0.093099 -v 2.617869 0.135404 0.080807 -v 1.990141 0.135404 -0.082354 -v 1.990141 0.135404 0.080807 -v 3.353718 0.321890 -0.082354 -v 3.131500 0.228647 0.080807 -v 3.353718 0.321890 0.080807 -v 2.535635 -0.536450 0.080807 -v 2.524341 -0.544794 -0.082354 -v 2.524341 -0.544794 0.080807 -v 2.481747 -0.591094 0.080807 -v 3.497823 -0.960614 0.080806 -v 3.497823 -0.359629 -0.082354 -v 3.497823 -0.359629 0.080807 -v 2.230114 -0.271501 0.080807 -v 2.535635 -0.536450 -0.082354 -v 2.501157 -0.632250 0.080807 -v 2.488553 -0.624015 -0.082354 -v 2.501157 -0.632250 -0.082354 -v 2.826175 -0.789062 -0.082354 -v 2.922679 -0.854712 0.080807 -v 2.826175 -0.789062 0.080807 -v 2.645050 -0.631481 0.080807 -v 3.179017 -0.947555 -0.082354 -v 3.299826 -0.960614 0.080806 -v 3.179017 -0.947555 0.080806 -v 3.046581 -0.910367 -0.082354 -v 3.046581 -0.910367 0.080806 -v 3.513834 -0.152136 0.080807 -v 2.922679 -0.854712 -0.082354 -v 3.497823 -0.960614 -0.082354 -v 3.513834 -0.152136 -0.082354 -v 3.557574 0.083787 0.080807 -v 3.557574 0.083787 -0.082354 -v 3.617325 0.284925 0.080807 -v 3.624713 0.359480 -0.082354 -v 3.624713 0.359480 0.080807 -v 2.568294 -0.637992 0.080807 -v 2.645050 -0.631481 -0.082354 -v 1.990141 -0.271501 -0.082354 -v 1.990141 -0.271501 0.080807 -v 2.230114 -0.271501 -0.082354 -v 2.862160 0.160388 -0.082354 -v 2.862160 0.160388 0.080807 -v 2.479499 -0.604818 0.080807 -v 2.481747 -0.591094 -0.082354 -v 2.479499 -0.604818 -0.082354 -v 3.131500 0.228647 -0.082354 -v 2.488553 -0.624015 0.080807 -v 3.605470 0.392734 -0.082354 -v 3.546421 0.407709 -0.082354 -v 3.448101 0.373999 0.080807 -v 3.546421 0.407709 0.080807 -v 3.582031 0.405072 0.080807 -v 3.605470 0.392735 0.080807 -v 3.582031 0.405072 -0.082354 -v 2.000323 0.126390 0.126124 -v 2.000323 -0.262487 0.126124 -v 2.029320 0.100720 0.164542 -v 2.072717 -0.198399 0.190212 -v 2.072717 0.062301 0.190212 -v 2.123907 0.016984 0.199226 -v 2.284716 -0.153081 0.199226 -v 2.263821 -0.198398 0.190212 -v 2.675482 -0.555462 0.190212 -v 2.593996 -0.538508 0.164542 -v 2.246106 -0.236817 0.164542 -v 2.550802 -0.536985 0.126124 -v 2.234270 -0.262487 0.126124 -v 2.123907 -0.153081 0.199226 -v 2.029320 -0.236817 0.164542 -v 2.123907 -0.153081 -0.200774 -v 2.072717 0.062301 -0.191760 -v 2.123907 0.016984 -0.200774 -v 2.072717 -0.198399 -0.191760 -v 2.029320 0.100720 -0.166090 -v 2.029320 -0.236817 -0.166090 -v 2.000323 0.126390 -0.127671 -v 2.000323 -0.262487 -0.127671 -v 2.234270 -0.262487 -0.127671 -v 2.550802 -0.536985 -0.127672 -v 2.246106 -0.236817 -0.166090 -v 2.593996 -0.538508 -0.166090 -v 2.263821 -0.198398 -0.191760 -v 2.284716 -0.153081 -0.200774 -v 2.568309 -0.603148 0.164542 -v 2.659489 -0.595413 0.164542 -v 2.648803 -0.622107 0.126124 -v 2.568298 -0.628936 0.126124 -v 2.570360 -0.603263 -0.159708 -v 2.648803 -0.622107 -0.127672 -v 2.568298 -0.628936 -0.127672 -v 2.568294 -0.637992 -0.082354 -v 2.552339 -0.569285 0.164542 -v 2.531618 -0.551159 0.126124 -v 2.552195 -0.563179 -0.164354 -v 2.531618 -0.551159 -0.127672 -v 2.994311 -0.754097 0.199226 -v 2.880473 -0.733806 0.190212 -v 2.966899 -0.792601 0.190212 -v 2.851938 -0.762845 0.164542 -v 2.943660 -0.825243 0.164542 -v 2.832871 -0.782248 0.126124 -v 2.928132 -0.847053 0.126124 -v 2.994311 -0.754097 -0.200774 -v 2.880473 -0.733806 -0.191760 -v 2.914133 -0.699553 -0.200774 -v 2.966899 -0.792601 -0.191760 -v 2.851938 -0.762845 -0.166090 -v 2.943660 -0.825243 -0.166090 -v 2.832871 -0.782248 -0.127672 -v 2.928132 -0.847053 -0.127672 -v 3.077953 -0.842485 0.190212 -v 3.097401 -0.800404 0.199226 -v 3.061466 -0.878160 0.164542 -v 3.050449 -0.901997 0.126124 -v 3.077953 -0.842485 -0.191760 -v 3.061466 -0.878160 -0.166090 -v 3.050449 -0.901997 -0.127672 -v 3.207591 -0.831345 0.199226 -v 3.196656 -0.875817 0.190212 -v 3.187386 -0.913518 0.164542 -v 3.181192 -0.938709 0.126124 -v 3.207591 -0.831345 -0.200774 -v 3.097401 -0.800404 -0.200774 -v 3.196656 -0.875817 -0.191760 -v 3.187386 -0.913518 -0.166090 -v 3.181192 -0.938709 -0.127672 -v 3.304849 -0.887512 0.190212 -v 3.307963 -0.842194 0.199226 -v 3.302209 -0.925930 0.164542 -v 3.300446 -0.951600 0.126124 -v 3.304849 -0.887512 -0.191760 -v 3.302209 -0.925930 -0.166090 -v 3.300446 -0.951600 -0.127672 -v 3.299826 -0.960614 -0.082354 -v 3.487641 -0.951600 0.126124 -v 3.458644 -0.925930 0.164542 -v 3.415247 -0.887512 0.190212 -v 3.364057 -0.842194 0.199226 -v 3.364057 -0.842194 -0.200774 -v 3.307963 -0.842194 -0.200774 -v 3.415247 -0.887512 -0.191760 -v 3.458644 -0.925930 -0.166090 -v 3.487641 -0.951600 -0.127672 -v 2.659489 -0.595413 -0.166090 -v 2.675482 -0.555462 -0.191760 -v 3.364057 -0.355590 0.199226 -v 3.431715 -0.143706 0.190212 -v 3.380809 -0.138481 0.199226 -v 3.415247 -0.357136 0.190212 -v 3.474872 -0.148137 0.164542 -v 3.458644 -0.358446 0.164542 -v 3.503708 -0.151097 0.126124 -v 3.487641 -0.359322 0.126124 -v 3.364057 -0.355590 -0.200774 -v 3.431715 -0.143706 -0.191760 -v 3.415247 -0.357136 -0.191760 -v 3.474872 -0.148137 -0.166090 -v 3.458644 -0.358446 -0.166090 -v 3.503708 -0.151097 -0.127671 -v 3.487641 -0.359322 -0.127671 -v 3.476720 0.099037 0.190212 -v 3.426598 0.108491 0.199226 -v 3.519212 0.091023 0.164542 -v 3.547604 0.085667 0.126124 -v 3.380809 -0.138481 -0.200774 -v 3.476720 0.099037 -0.191760 -v 3.547604 0.085667 -0.127671 -v 3.417969 0.217802 0.199226 -v 3.160743 0.160019 0.190212 -v 3.178870 0.117476 0.199226 -v 3.393381 0.257635 0.190212 -v 3.145374 0.196086 0.164542 -v 3.372537 0.291403 0.164542 -v 3.135106 0.220185 0.126124 -v 3.358609 0.313967 0.126124 -v 3.417969 0.217802 -0.200774 -v 3.160743 0.160019 -0.191760 -v 3.393381 0.257635 -0.191760 -v 3.145374 0.196086 -0.166090 -v 3.372537 0.291403 -0.166090 -v 3.135106 0.220185 -0.127671 -v 3.358609 0.313967 -0.127671 -v 2.878371 0.088458 0.190212 -v 2.888419 0.043867 0.199226 -v 2.869852 0.126260 0.164542 -v 2.864159 0.151519 0.126124 -v 3.178870 0.117476 -0.200774 -v 2.878371 0.088458 -0.191760 -v 2.869852 0.126260 -0.166090 -v 2.864159 0.151519 -0.127671 -v 2.625571 0.016984 0.199226 -v 2.622624 0.062302 0.190212 -v 2.620125 0.100720 0.164542 -v 2.618456 0.126390 0.126124 -v 2.625571 0.016984 -0.200774 -v 2.888419 0.043867 -0.200774 -v 2.622623 0.062302 -0.191760 -v 2.620125 0.100720 -0.166090 -v 2.618456 0.126390 -0.127671 -v 3.452674 0.365901 0.126124 -v 3.465697 0.342838 0.164542 -v 3.485188 0.308322 0.190212 -v 3.508179 0.267607 0.199226 -v 2.617869 0.135404 -0.082354 -v 3.485188 0.308322 -0.191760 -v 3.465697 0.342838 -0.166090 -v 3.452674 0.365901 -0.127671 -v 3.448101 0.374000 -0.082354 -v 2.533444 -0.592944 -0.159577 -v 2.489980 -0.603645 -0.127672 -v 2.491420 -0.594853 -0.127672 -v 2.520534 -0.601803 0.164542 -v 2.491420 -0.594853 0.126124 -v 2.489980 -0.603645 0.126124 -v 2.504938 -0.623517 -0.127672 -v 2.496864 -0.618242 -0.127672 -v 2.496864 -0.618242 0.126124 -v 2.504938 -0.623517 0.126124 -v 3.535678 0.297506 0.190212 -v 3.578586 0.290894 0.164542 -v 3.607257 0.286476 0.126124 -v 3.468758 0.252285 -0.194287 -v 3.426598 0.108491 -0.200774 -v 3.535678 0.297506 -0.191760 -v 3.519212 0.091023 -0.166090 -v 3.578586 0.290894 -0.166090 -v 3.607257 0.286476 -0.127671 -v 3.575746 0.368028 -0.166090 -v 3.614314 0.357681 -0.127671 -v 3.584697 0.352558 -0.166090 -v 3.575746 0.368028 0.164542 -v 3.614313 0.357681 0.126124 -v 3.597744 0.386314 0.126124 -v 3.584697 0.352558 0.164542 -v 3.617325 0.284925 -0.082354 -v 3.552151 0.372479 -0.166090 -v 3.578844 0.396262 -0.127671 -v 3.569768 0.371175 -0.166090 -v 3.547910 0.398553 -0.127671 -v 3.569768 0.371175 0.164542 -v 3.552151 0.372479 0.164542 -v 3.578844 0.396262 0.126124 -v 3.547910 0.398553 0.126124 -v 3.597744 0.386314 -0.127671 -v 2.914133 -0.699553 0.199226 -vt 0.539735 0.540524 -vt 0.534416 0.545713 -vt 0.534416 0.537598 -vt 0.500645 0.510869 -vt 0.492529 0.507942 -vt 0.500645 0.507942 -vt 0.353993 0.739366 -vt 0.398853 0.785349 -vt 0.328692 0.785349 -vt 0.492529 0.513131 -vt 0.500645 0.516058 -vt 0.492529 0.516058 -vt 0.470407 0.507955 -vt 0.462292 0.516070 -vt 0.462292 0.507955 -vt 0.492529 0.510869 -vt 0.539735 0.542787 -vt 0.373553 0.739366 -vt 0.500645 0.513131 -vt 0.470407 0.516070 -vt 0.332676 0.223991 -vt 0.330617 0.221932 -vt 0.332676 0.221932 -vt 0.341305 0.225938 -vt 0.339246 0.225606 -vt 0.341119 0.224757 -vt 0.334842 0.230273 -vt 0.336569 0.228214 -vt 0.336569 0.230273 -vt 0.345237 0.220941 -vt 0.343550 0.221173 -vt 0.343364 0.220092 -vt 0.330548 0.223355 -vt 0.330362 0.225414 -vt 0.330362 0.223355 -vt 0.325243 0.217749 -vt 0.325428 0.215690 -vt 0.325428 0.217749 -vt 0.340487 0.207947 -vt 0.338428 0.205861 -vt 0.340487 0.205861 -vt 0.348989 0.221820 -vt 0.349868 0.219761 -vt 0.349868 0.221820 -vt 0.344713 0.230118 -vt 0.345360 0.232177 -vt 0.344713 0.232177 -vt 0.348272 0.203734 -vt 0.346576 0.205793 -vt 0.346576 0.203734 -vt 0.341305 0.221820 -vt 0.339246 0.219761 -vt 0.341305 0.219761 -vt 0.341052 0.216005 -vt 0.338993 0.213946 -vt 0.341052 0.213946 -vt 0.325065 0.222949 -vt 0.323006 0.220890 -vt 0.325065 0.220890 -vt 0.340487 0.210006 -vt 0.338428 0.212065 -vt 0.338428 0.210006 -vt 0.340487 0.207947 -vt 0.338428 0.207947 -vt 0.327124 0.220538 -vt 0.325065 0.222597 -vt 0.325065 0.220538 -vt 0.323006 0.213072 -vt 0.324088 0.213721 -vt 0.323180 0.213721 -vt 0.323006 0.214371 -vt 0.323897 0.214464 -vt 0.330617 0.223991 -vt 0.341119 0.223879 -vt 0.341305 0.223879 -vt 0.339246 0.223879 -vt 0.339432 0.224525 -vt 0.339432 0.223879 -vt 0.334842 0.228214 -vt 0.343550 0.221820 -vt 0.343364 0.221820 -vt 0.345423 0.219761 -vt 0.345423 0.221820 -vt 0.345237 0.221820 -vt 0.330548 0.225414 -vt 0.325243 0.215690 -vt 0.338428 0.207947 -vt 0.348989 0.219761 -vt 0.345360 0.230118 -vt 0.348272 0.205793 -vt 0.339246 0.221820 -vt 0.338993 0.216005 -vt 0.323006 0.222949 -vt 0.340487 0.212065 -vt 0.327124 0.222597 -vt 0.323897 0.212979 -vt 0.520311 0.538170 -vt 0.518269 0.544168 -vt 0.518269 0.538170 -vt 0.514884 0.539881 -vt 0.516925 0.545878 -vt 0.514884 0.545878 -vt 0.516822 0.549433 -vt 0.517676 0.555431 -vt 0.516822 0.555431 -vt 0.518374 0.547556 -vt 0.517518 0.541558 -vt 0.518374 0.541558 -vt 0.520311 0.544168 -vt 0.516925 0.539881 -vt 0.517676 0.549433 -vt 0.517518 0.547556 -vt 0.628480 0.553395 -vt 0.617417 0.553395 -vt 0.625912 0.549193 -vt 0.661781 0.448391 -vt 0.664348 0.444188 -vt 0.672843 0.448391 -vt 0.618502 0.550319 -vt 0.619984 0.549193 -vt 0.627395 0.550319 -vt 0.628877 0.557598 -vt 0.617020 0.557598 -vt 0.628877 0.561050 -vt 0.617020 0.561050 -vt 0.662866 0.445314 -vt 0.670276 0.444188 -vt 0.671758 0.445314 -vt 0.673241 0.452593 -vt 0.673241 0.456045 -vt 0.661384 0.456045 -vt 0.661384 0.452593 -vt 0.058616 0.795082 -vt 0.047557 0.784023 -vt 0.117718 0.784023 -vt 0.716290 0.512103 -vt 0.710792 0.520132 -vt 0.710792 0.512103 -vt 0.715949 0.552801 -vt 0.710450 0.560831 -vt 0.710450 0.552801 -vt 0.710667 0.544441 -vt 0.716165 0.536414 -vt 0.716165 0.544441 -vt 0.739565 0.776142 -vt 0.739565 0.807689 -vt 0.735140 0.776343 -vt 0.699694 0.550828 -vt 0.700991 0.551765 -vt 0.700457 0.553020 -vt 0.686578 0.561050 -vt 0.685683 0.553020 -vt 0.686578 0.553020 -vt 0.717060 0.544450 -vt 0.717060 0.536423 -vt 0.716844 0.560831 -vt 0.715949 0.560831 -vt 0.709772 0.536423 -vt 0.709772 0.544450 -vt 0.692076 0.553020 -vt 0.692971 0.561050 -vt 0.692076 0.561050 -vt 0.709897 0.512107 -vt 0.709897 0.520136 -vt 0.709555 0.552801 -vt 0.717185 0.520136 -vt 0.717185 0.512107 -vt 0.041290 0.590618 -vt 0.042130 0.555241 -vt 0.047039 0.543226 -vt 0.567608 0.542559 -vt 0.566754 0.575649 -vt 0.566452 0.573472 -vt 0.031359 0.543226 -vt 0.031359 0.769579 -vt 0.021768 0.769579 -vt 0.609594 0.536550 -vt 0.607264 0.576684 -vt 0.607264 0.536550 -vt 0.615610 0.536064 -vt 0.620298 0.536064 -vt 0.621475 0.542559 -vt 0.738239 0.955189 -vt 0.722560 0.986735 -vt 0.722560 0.955189 -vt 0.565278 0.502437 -vt 0.572345 0.502437 -vt 0.566480 0.508930 -vt 0.298210 0.656568 -vt 0.306296 0.668583 -vt 0.298210 0.668583 -vt 0.593351 0.595412 -vt 0.591027 0.588344 -vt 0.593351 0.588344 -vt 0.306296 0.606506 -vt 0.298210 0.621183 -vt 0.298210 0.606506 -vt 0.306296 0.621183 -vt 0.550790 0.458407 -vt 0.542885 0.466494 -vt 0.542885 0.458407 -vt 0.474510 0.862964 -vt 0.471671 0.858599 -vt 0.474510 0.858599 -vt 0.489943 0.795083 -vt 0.494308 0.764342 -vt 0.494308 0.795083 -vt 0.494308 0.780148 -vt 0.497395 0.795085 -vt 0.494753 0.790961 -vt 0.015680 0.769579 -vt 0.046920 0.770557 -vt 0.015680 0.770557 -vt 0.046920 0.847995 -vt 0.015680 0.877668 -vt 0.015680 0.847995 -vt 0.327798 0.140090 -vt 0.330375 0.146479 -vt 0.327798 0.146479 -vt 0.508121 0.814345 -vt 0.507930 0.811353 -vt 0.511016 0.796416 -vt 0.357788 0.114754 -vt 0.357704 0.099055 -vt 0.357788 0.099055 -vt 0.326504 0.089308 -vt 0.326504 0.086274 -vt 0.333138 0.086274 -vt 0.369489 0.134610 -vt 0.369489 0.131576 -vt 0.370114 0.134610 -vt 0.342203 0.089296 -vt 0.357902 0.086263 -vt 0.357902 0.089296 -vt 0.357871 0.114754 -vt 0.357788 0.099055 -vt 0.357871 0.099055 -vt 0.342203 0.099055 -vt 0.357902 0.096194 -vt 0.357902 0.099055 -vt 0.342203 0.096194 -vt 0.357902 0.076517 -vt 0.342203 0.079369 -vt 0.342203 0.076517 -vt 0.357902 0.079369 -vt 0.342203 0.086263 -vt 0.342203 0.089308 -vt 0.326504 0.096205 -vt 0.342203 0.096205 -vt 0.326504 0.099059 -vt 0.326504 0.076517 -vt 0.342203 0.076517 -vt 0.333138 0.077689 -vt 0.326504 0.079376 -vt 0.333138 0.079376 -vt 0.111642 0.034658 -vt 0.190282 0.118272 -vt 0.111642 0.118272 -vt 0.406571 0.102185 -vt 0.406380 0.105042 -vt 0.406296 0.105042 -vt 0.114478 0.791843 -vt 0.106658 0.795082 -vt 0.050796 0.791843 -vt 0.047557 0.735981 -vt 0.106658 0.724922 -vt 0.050796 0.728161 -vt 0.058616 0.724922 -vt 0.114478 0.728161 -vt 0.117718 0.735981 -vt 0.716290 0.520132 -vt 0.710667 0.536414 -vt 0.730002 0.776343 -vt 0.730002 0.776142 -vt 0.739565 0.768218 -vt 0.741029 0.767642 -vt 0.741029 0.815684 -vt 0.739565 0.815775 -vt 0.734670 0.807689 -vt 0.735140 0.807584 -vt 0.701045 0.550828 -vt 0.700991 0.550840 -vt 0.700457 0.547229 -vt 0.700457 0.547252 -vt 0.699762 0.547229 -vt 0.699694 0.547252 -vt 0.701719 0.546256 -vt 0.701551 0.546322 -vt 0.701349 0.545362 -vt 0.699762 0.546322 -vt 0.694975 0.544991 -vt 0.700457 0.544991 -vt 0.693713 0.546256 -vt 0.694082 0.545362 -vt 0.694082 0.552650 -vt 0.693713 0.551755 -vt 0.694975 0.553020 -vt 0.701719 0.551755 -vt 0.701349 0.552650 -vt 0.701551 0.551765 -vt 0.685683 0.561050 -vt 0.716844 0.552801 -vt 0.692971 0.553020 -vt 0.709555 0.560831 -vt 0.047039 0.769579 -vt 0.031359 0.769579 -vt 0.039263 0.605272 -vt 0.031359 0.605272 -vt 0.042130 0.543226 -vt 0.567608 0.582692 -vt 0.566878 0.582692 -vt 0.566878 0.580907 -vt 0.565278 0.542559 -vt 0.565278 0.573472 -vt 0.015680 0.769579 -vt 0.015680 0.543226 -vt 0.609594 0.576684 -vt 0.614408 0.542559 -vt 0.614408 0.511649 -vt 0.615610 0.511649 -vt 0.620298 0.502429 -vt 0.621475 0.502429 -vt 0.738239 0.986735 -vt 0.566480 0.542559 -vt 0.565278 0.542559 -vt 0.572345 0.542559 -vt 0.571168 0.508930 -vt 0.571168 0.542559 -vt 0.306296 0.656568 -vt 0.591027 0.595412 -vt 0.550790 0.466494 -vt 0.471671 0.862964 -vt 0.489943 0.764342 -vt 0.494633 0.765474 -vt 0.497395 0.764342 -vt 0.494499 0.777156 -vt 0.496461 0.795085 -vt 0.495741 0.795085 -vt 0.494308 0.780012 -vt 0.046920 0.769579 -vt 0.046920 0.877668 -vt 0.330375 0.140090 -vt 0.507930 0.811490 -vt 0.508374 0.800541 -vt 0.509362 0.796416 -vt 0.511016 0.827160 -vt 0.508255 0.826028 -vt 0.357704 0.114754 -vt 0.335715 0.086274 -vt 0.342203 0.086274 -vt 0.369568 0.124678 -vt 0.370035 0.124678 -vt 0.369759 0.121821 -vt 0.369843 0.121821 -vt 0.370114 0.131576 -vt 0.370035 0.141508 -vt 0.369568 0.141508 -vt 0.369843 0.144366 -vt 0.369759 0.144366 -vt 0.357788 0.114754 -vt 0.342203 0.099059 -vt 0.342203 0.079376 -vt 0.335715 0.077689 -vt 0.335715 0.079376 -vt 0.190282 0.034658 -vt 0.406105 0.102185 -vt 0.406026 0.095287 -vt 0.406026 0.092253 -vt 0.406651 0.092253 -vt 0.406105 0.085355 -vt 0.406296 0.082498 -vt 0.406380 0.082498 -vt 0.406571 0.085355 -vt 0.406651 0.095287 -vt 0.558646 0.487881 -vt 0.558146 0.495997 -vt 0.558146 0.487881 -vt 0.542805 0.441721 -vt 0.547076 0.433605 -vt 0.547076 0.441721 -vt 0.542825 0.450107 -vt 0.547096 0.441991 -vt 0.547096 0.450107 -vt 0.508942 0.505747 -vt 0.500826 0.513863 -vt 0.500826 0.505747 -vt 0.535499 0.458222 -vt 0.535499 0.450107 -vt 0.539307 0.454414 -vt 0.560550 0.495997 -vt 0.558646 0.495997 -vt 0.539307 0.441991 -vt 0.540871 0.450107 -vt 0.539307 0.450107 -vt 0.540871 0.441991 -vt 0.556242 0.487881 -vt 0.539287 0.433605 -vt 0.540851 0.441721 -vt 0.539287 0.441721 -vt 0.540851 0.433605 -vt 0.535499 0.466442 -vt 0.535499 0.458327 -vt 0.539307 0.462635 -vt 0.541535 0.481971 -vt 0.533419 0.473856 -vt 0.541535 0.473856 -vt 0.513527 0.525623 -vt 0.513985 0.525815 -vt 0.510069 0.529852 -vt 0.485838 0.491765 -vt 0.486833 0.495923 -vt 0.485838 0.495923 -vt 0.484165 0.495646 -vt 0.483170 0.503762 -vt 0.483170 0.495646 -vt 0.500826 0.521978 -vt 0.505338 0.525868 -vt 0.504742 0.526016 -vt 0.542531 0.504890 -vt 0.534416 0.513006 -vt 0.534416 0.504890 -vt 0.524871 0.523100 -vt 0.526290 0.523100 -vt 0.524871 0.527259 -vt 0.557658 0.435124 -vt 0.559886 0.435124 -vt 0.557658 0.440202 -vt 0.489855 0.546175 -vt 0.492382 0.538059 -vt 0.492382 0.546175 -vt 0.510362 0.487368 -vt 0.508942 0.487368 -vt 0.510362 0.483209 -vt 0.454176 0.546842 -vt 0.455171 0.545449 -vt 0.455171 0.546842 -vt 0.527070 0.546051 -vt 0.527070 0.547040 -vt 0.526848 0.547038 -vt 0.527070 0.544961 -vt 0.526599 0.544458 -vt 0.527070 0.544263 -vt 0.525904 0.547002 -vt 0.527070 0.545437 -vt 0.454176 0.544329 -vt 0.455171 0.544271 -vt 0.560101 0.468999 -vt 0.559630 0.465776 -vt 0.560101 0.465776 -vt 0.459627 0.545449 -vt 0.460622 0.546842 -vt 0.459627 0.546842 -vt 0.528588 0.545251 -vt 0.528367 0.544264 -vt 0.528588 0.544263 -vt 0.528588 0.545866 -vt 0.528118 0.546845 -vt 0.528588 0.546342 -vt 0.528588 0.547040 -vt 0.559630 0.468999 -vt 0.560101 0.472222 -vt 0.559630 0.472222 -vt 0.460622 0.541585 -vt 0.460622 0.544278 -vt 0.459627 0.544271 -vt 0.457399 0.541585 -vt 0.457399 0.544271 -vt 0.542805 0.433605 -vt 0.542825 0.441991 -vt 0.508942 0.513863 -vt 0.531191 0.458222 -vt 0.531191 0.450107 -vt 0.537403 0.450617 -vt 0.538797 0.452011 -vt 0.539307 0.453914 -vt 0.538797 0.456318 -vt 0.537403 0.457712 -vt 0.560550 0.487881 -vt 0.556242 0.495997 -vt 0.531191 0.466442 -vt 0.531191 0.458327 -vt 0.537403 0.458837 -vt 0.538797 0.460231 -vt 0.539307 0.462135 -vt 0.538797 0.464539 -vt 0.537403 0.465932 -vt 0.533419 0.481971 -vt 0.518029 0.528857 -vt 0.518029 0.529852 -vt 0.515547 0.528857 -vt 0.510069 0.521737 -vt 0.512874 0.524960 -vt 0.512874 0.521737 -vt 0.514581 0.525963 -vt 0.515547 0.526062 -vt 0.486833 0.491765 -vt 0.484165 0.503762 -vt 0.503631 0.526871 -vt 0.503631 0.530094 -vt 0.500826 0.530094 -vt 0.508786 0.521978 -vt 0.506304 0.522974 -vt 0.508786 0.522974 -vt 0.506304 0.525769 -vt 0.504284 0.526208 -vt 0.542531 0.513006 -vt 0.521236 0.528767 -vt 0.521041 0.529237 -vt 0.518185 0.529237 -vt 0.518185 0.521122 -vt 0.523770 0.527716 -vt 0.521041 0.521122 -vt 0.521236 0.521592 -vt 0.523818 0.522663 -vt 0.526290 0.527259 -vt 0.556585 0.441500 -vt 0.556556 0.441721 -vt 0.556585 0.433827 -vt 0.553761 0.441721 -vt 0.556556 0.433605 -vt 0.553761 0.433605 -vt 0.557307 0.440555 -vt 0.557307 0.434771 -vt 0.559886 0.440202 -vt 0.489855 0.538059 -vt 0.508942 0.483209 -vt 0.511472 0.482749 -vt 0.511472 0.487827 -vt 0.454176 0.545449 -vt 0.525551 0.546985 -vt 0.559630 0.468999 -vt 0.460622 0.545449 -vt 0.527422 0.544300 -vt 0.527070 0.544318 -vt 0.560101 0.468999 -vt 0.457399 0.544271 -vt 0.457399 0.541585 -vt 0.454176 0.541585 -vt 0.806260 0.569651 -vt 0.806533 0.561201 -vt 0.806533 0.569658 -vt 0.806533 0.561200 -vt 0.806806 0.569650 -vt 0.806533 0.569657 -vt 0.815291 0.547043 -vt 0.815564 0.555493 -vt 0.815291 0.555486 -vt 0.804214 0.562229 -vt 0.806260 0.561208 -vt 0.724024 0.561131 -vt 0.726070 0.568554 -vt 0.724024 0.569574 -vt 0.806806 0.561208 -vt 0.808852 0.568630 -vt 0.728790 0.562007 -vt 0.728432 0.562413 -vt 0.728454 0.561530 -vt 0.728790 0.568699 -vt 0.728424 0.567087 -vt 0.728769 0.566626 -vt 0.811572 0.562083 -vt 0.811213 0.562489 -vt 0.811235 0.561606 -vt 0.728424 0.563619 -vt 0.728769 0.564079 -vt 0.813245 0.548063 -vt 0.300582 0.290863 -vt 0.289359 0.231927 -vt 0.300582 0.220703 -vt 0.813234 0.555489 -vt 0.813245 0.554466 -vt 0.815266 0.557215 -vt 0.813215 0.556245 -vt 0.726081 0.569578 -vt 0.808863 0.569654 -vt 0.806812 0.570649 -vt 0.806830 0.571379 -vt 0.726081 0.561128 -vt 0.724030 0.560133 -vt 0.728432 0.568293 -vt 0.728454 0.569176 -vt 0.801493 0.562084 -vt 0.801860 0.563696 -vt 0.801515 0.564156 -vt 0.804202 0.561205 -vt 0.806253 0.560210 -vt 0.808882 0.560448 -vt 0.806812 0.560209 -vt 0.806830 0.559479 -vt 0.808863 0.561204 -vt 0.810546 0.549991 -vt 0.810891 0.552999 -vt 0.810546 0.552538 -vt 0.813234 0.547039 -vt 0.815285 0.546045 -vt 0.804183 0.570411 -vt 0.806253 0.570650 -vt 0.806235 0.571380 -vt 0.804202 0.569655 -vt 0.811551 0.564155 -vt 0.811206 0.567163 -vt 0.811206 0.563695 -vt 0.810525 0.547918 -vt 0.810891 0.549530 -vt 0.815285 0.556484 -vt 0.723776 0.571304 -vt 0.724030 0.570572 -vt 0.724049 0.571303 -vt 0.723751 0.569581 -vt 0.806539 0.570652 -vt 0.806557 0.571380 -vt 0.723751 0.561124 -vt 0.723758 0.560130 -vt 0.806526 0.560207 -vt 0.806508 0.559479 -vt 0.806539 0.560206 -vt 0.815564 0.547036 -vt 0.815558 0.546041 -vt 0.806526 0.570653 -vt 0.806508 0.571381 -vt 0.801493 0.568776 -vt 0.801852 0.568370 -vt 0.801830 0.569253 -vt 0.810525 0.554610 -vt 0.810883 0.554205 -vt 0.683477 0.571082 -vt 0.683639 0.570193 -vt 0.684162 0.571118 -vt 0.812688 0.548646 -vt 0.684162 0.572187 -vt 0.683477 0.572223 -vt 0.802626 0.567406 -vt 0.802617 0.568582 -vt 0.683639 0.573112 -vt 0.682913 0.573210 -vt 0.810862 0.555088 -vt 0.811648 0.554416 -vt 0.811627 0.555278 -vt 0.738671 0.572336 -vt 0.738834 0.573225 -vt 0.738108 0.573323 -vt 0.809409 0.568047 -vt 0.808852 0.562228 -vt 0.809409 0.562811 -vt 0.739357 0.571231 -vt 0.739357 0.572301 -vt 0.810439 0.563453 -vt 0.810448 0.562277 -vt 0.738671 0.571196 -vt 0.738834 0.570307 -vt 0.726627 0.567971 -vt 0.726070 0.562152 -vt 0.726627 0.562734 -vt 0.684848 0.571082 -vt 0.684686 0.570193 -vt 0.685412 0.570095 -vt 0.804214 0.568631 -vt 0.803657 0.562812 -vt 0.684848 0.572223 -vt 0.684162 0.571118 -vt 0.811657 0.553240 -vt 0.811657 0.549289 -vt 0.684686 0.573112 -vt 0.684162 0.572187 -vt 0.802626 0.563454 -vt 0.801860 0.567164 -vt 0.815970 0.530907 -vt 0.815808 0.530017 -vt 0.816534 0.529920 -vt 0.802596 0.569444 -vt 0.815284 0.532012 -vt 0.815284 0.530942 -vt 0.815970 0.532047 -vt 0.815808 0.532936 -vt 0.810883 0.548324 -vt 0.811213 0.568369 -vt 0.810439 0.567405 -vt 0.727688 0.561339 -vt 0.727658 0.563377 -vt 0.727667 0.562201 -vt 0.810470 0.561415 -vt 0.801852 0.562490 -vt 0.727658 0.567329 -vt 0.811572 0.568775 -vt 0.812688 0.553883 -vt 0.682719 0.571043 -vt 0.727667 0.568505 -vt 0.726637 0.569068 -vt 0.810448 0.568581 -vt 0.809418 0.569144 -vt 0.737914 0.572375 -vt 0.737914 0.571156 -vt 0.802617 0.562278 -vt 0.803647 0.561715 -vt 0.685605 0.571043 -vt 0.685605 0.572262 -vt 0.811648 0.548113 -vt 0.812679 0.547549 -vt 0.816727 0.530867 -vt 0.816727 0.532086 -vt 0.803657 0.568048 -vt 0.371462 0.856413 -vt 0.361029 0.872023 -vt 0.357414 0.870462 -vt 0.361029 0.890447 -vt 0.356914 0.884505 -vt 0.355853 0.866847 -vt 0.349911 0.870962 -vt 0.337429 0.866847 -vt 0.332253 0.872023 -vt 0.336368 0.877965 -vt 0.332253 0.890447 -vt 0.321820 0.906056 -vt 0.337429 0.895623 -vt 0.337817 0.913571 -vt 0.335868 0.892008 -vt 0.299506 0.832774 -vt 0.009221 0.833103 -vt 0.299506 0.832774 -vt 0.009221 0.912220 -vt 0.299506 0.832774 -vt 0.299506 0.912549 -vt 0.371462 0.906056 -vt 0.355853 0.895623 -vt 0.357414 0.892008 -vt 0.299506 0.832774 -vt 0.009221 0.833103 -vt 0.009221 0.833103 -vt 0.378977 0.890059 -vt 0.321820 0.856413 -vt 0.337817 0.848899 -vt 0.343371 0.891508 -vt 0.314305 0.872411 -vt 0.009221 0.833103 -vt 0.009221 0.833103 -vt 0.009221 0.833103 -vt 0.355997 0.874448 -vt 0.353428 0.871879 -vt 0.009221 0.833103 -vt 0.353428 0.890591 -vt 0.355997 0.888022 -vt 0.335868 0.870462 -vt 0.339854 0.871879 -vt 0.337285 0.874448 -vt 0.299506 0.832774 -vt 0.299506 0.832774 -vt 0.005084 0.835686 -vt 0.298917 0.907072 -vt 0.006334 0.907400 -vt 0.007980 0.983934 -vt 0.009221 0.833103 -vt 0.337285 0.888022 -vt 0.339854 0.890591 -vt 0.298917 0.986846 -vt 0.006334 0.986517 -vt 0.807669 0.552756 -vt 0.731646 0.566844 -vt 0.731674 0.569537 -vt 0.814428 0.566920 -vt 0.814456 0.569613 -vt 0.731646 0.563861 -vt 0.798637 0.563938 -vt 0.798610 0.561246 -vt 0.814428 0.563938 -vt 0.807669 0.549773 -vt 0.807641 0.547080 -vt 0.798637 0.566921 -vt 0.801515 0.566703 -vt 0.586697 0.840788 -vt 0.595427 0.855497 -vt 0.592990 0.855980 -vt 0.571988 0.832059 -vt 0.588562 0.838924 -vt 0.539484 0.840788 -vt 0.530755 0.855497 -vt 0.537620 0.838924 -vt 0.554193 0.832059 -vt 0.554677 0.834495 -vt 0.539484 0.888001 -vt 0.554193 0.896730 -vt 0.537620 0.889865 -vt 0.530755 0.873292 -vt 0.533191 0.872809 -vt 0.586697 0.888001 -vt 0.595427 0.873292 -vt 0.588562 0.889865 -vt 0.571988 0.896730 -vt 0.571505 0.894294 -vt 0.571505 0.834495 -vt 0.336762 0.150807 -vt 0.338373 0.143297 -vt 0.339057 0.150807 -vt 0.416501 0.127161 -vt 0.414860 0.119658 -vt 0.415787 0.119654 -vt 0.364868 0.076675 -vt 0.365168 0.076580 -vt 0.365470 0.077706 -vt 0.372077 0.074381 -vt 0.371778 0.074476 -vt 0.371476 0.073349 -vt 0.303970 0.150822 -vt 0.305581 0.143313 -vt 0.306265 0.150822 -vt 0.415469 0.100043 -vt 0.415534 0.100045 -vt 0.415178 0.107531 -vt 0.415392 0.100038 -vt 0.413050 0.107553 -vt 0.415027 0.100045 -vt 0.306003 0.143332 -vt 0.306080 0.143328 -vt 0.307493 0.150830 -vt 0.416145 0.119674 -vt 0.416210 0.119672 -vt 0.417729 0.127164 -vt 0.416651 0.119675 -vt 0.418628 0.127183 -vt 0.304231 0.143332 -vt 0.304296 0.143334 -vt 0.417240 0.100050 -vt 0.417317 0.100045 -vt 0.418701 0.107553 -vt 0.334634 0.150837 -vt 0.336947 0.143312 -vt 0.335533 0.150815 -vt 0.337023 0.143317 -vt 0.412977 0.127183 -vt 0.414361 0.119675 -vt 0.414438 0.119679 -vt 0.341184 0.150837 -vt 0.338872 0.143312 -vt 0.339236 0.143321 -vt 0.338730 0.143319 -vt 0.338795 0.143317 -vt 0.417472 0.107540 -vt 0.415891 0.100025 -vt 0.416818 0.100028 -vt 0.412490 0.078959 -vt 0.413962 0.071923 -vt 0.413331 0.078959 -vt 0.371150 0.148151 -vt 0.372051 0.149893 -vt 0.370309 0.150794 -vt 0.389396 0.059921 -vt 0.387895 0.052891 -vt 0.390000 0.052883 -vt 0.418513 0.071926 -vt 0.417040 0.078962 -vt 0.417671 0.071926 -vt 0.299664 0.150352 -vt 0.299511 0.143313 -vt 0.300115 0.150351 -vt 0.298384 0.143316 -vt 0.299335 0.150359 -vt 0.297560 0.143333 -vt 0.417034 0.078962 -vt 0.389846 0.059923 -vt 0.391126 0.052886 -vt 0.390176 0.059929 -vt 0.391951 0.052903 -vt 0.418963 0.071923 -vt 0.419144 0.078962 -vt 0.301406 0.150359 -vt 0.300956 0.150354 -vt 0.301620 0.143321 -vt 0.412039 0.078962 -vt 0.409907 0.071951 -vt 0.410732 0.071931 -vt 0.411858 0.071923 -vt 0.388104 0.059929 -vt 0.388555 0.059925 -vt 0.414111 0.078970 -vt 0.415089 0.071931 -vt 0.415913 0.071951 -vt 0.413781 0.078962 -vt 0.301615 0.143321 -vt 0.355465 0.848899 -vt 0.299506 0.832774 -vt 0.299506 0.832774 -vt 0.353907 0.289360 -vt 0.348295 0.290863 -vt 0.359519 0.279640 -vt 0.348295 0.220703 -vt 0.294971 0.289360 -vt 0.290862 0.285251 -vt 0.289359 0.279640 -vt 0.290862 0.226315 -vt 0.294971 0.222207 -vt 0.353907 0.222207 -vt 0.358015 0.226315 -vt 0.359519 0.231927 -vt 0.358015 0.285251 -vt 0.808882 0.570410 -vt 0.811551 0.566702 -vt 0.815558 0.556488 -vt 0.723758 0.570576 -vt 0.806235 0.559479 -vt 0.682913 0.570095 -vt 0.738108 0.570209 -vt 0.685412 0.573210 -vt 0.816534 0.533034 -vt 0.812679 0.554979 -vt 0.682719 0.572262 -vt 0.726637 0.561638 -vt 0.809418 0.561714 -vt 0.803647 0.569145 -vt 0.378977 0.872411 -vt 0.356914 0.877965 -vt 0.356281 0.875447 -vt 0.356281 0.887023 -vt 0.343371 0.870962 -vt 0.340853 0.871595 -vt 0.352429 0.871595 -vt 0.336368 0.884505 -vt 0.337001 0.887023 -vt 0.314305 0.890059 -vt 0.337001 0.875447 -vt 0.355465 0.913571 -vt 0.349911 0.891508 -vt 0.352429 0.890875 -vt 0.340853 0.890875 -vt 0.299506 0.832774 -vt 0.352887 0.871722 -vt 0.356154 0.874989 -vt 0.356154 0.887481 -vt 0.352887 0.890748 -vt 0.337128 0.874989 -vt 0.340395 0.871722 -vt 0.009221 0.833103 -vt 0.297774 0.832774 -vt 0.298373 0.986846 -vt 0.340395 0.890748 -vt 0.337128 0.887481 -vt 0.807641 0.555449 -vt 0.731674 0.561169 -vt 0.814456 0.561245 -vt 0.798610 0.569614 -vt 0.533191 0.855980 -vt 0.554677 0.894294 -vt 0.592990 0.872809 -vt 0.337445 0.143297 -vt 0.414206 0.127170 -vt 0.367415 0.078831 -vt 0.367325 0.079132 -vt 0.366294 0.078531 -vt 0.366097 0.078803 -vt 0.365198 0.077904 -vt 0.364868 0.074381 -vt 0.365169 0.074470 -vt 0.365168 0.074476 -vt 0.365470 0.073349 -vt 0.365198 0.073152 -vt 0.366097 0.072253 -vt 0.367325 0.071923 -vt 0.366294 0.072525 -vt 0.369620 0.071923 -vt 0.367421 0.072223 -vt 0.370849 0.072253 -vt 0.370651 0.072525 -vt 0.371748 0.073152 -vt 0.372077 0.076675 -vt 0.371748 0.077904 -vt 0.371476 0.077706 -vt 0.370849 0.078803 -vt 0.369620 0.079132 -vt 0.370651 0.078531 -vt 0.369525 0.078833 -vt 0.367421 0.078833 -vt 0.369525 0.072223 -vt 0.371778 0.076580 -vt 0.304654 0.143313 -vt 0.413949 0.107534 -vt 0.305938 0.143334 -vt 0.416286 0.119667 -vt 0.302741 0.150830 -vt 0.304155 0.143328 -vt 0.417175 0.100051 -vt 0.336582 0.143321 -vt 0.337088 0.143319 -vt 0.414503 0.119681 -vt 0.340285 0.150815 -vt 0.371600 0.150673 -vt 0.371150 0.150794 -vt 0.369859 0.150673 -vt 0.369529 0.150343 -vt 0.369408 0.149893 -vt 0.369408 0.149052 -vt 0.369529 0.148602 -vt 0.369859 0.148272 -vt 0.370309 0.148151 -vt 0.371600 0.148272 -vt 0.371930 0.148602 -vt 0.372051 0.149052 -vt 0.371930 0.150343 -vt 0.415913 0.078955 -vt 0.417221 0.071923 -vt 0.420271 0.078955 -vt 0.302741 0.143333 -vt 0.411710 0.078970 -vt 0.386769 0.052903 -vt 0.332951 0.226498 -vt 0.332737 0.225980 -vt 0.332951 0.224867 -vt 0.325583 0.230777 -vt 0.326178 0.228718 -vt 0.326178 0.230777 -vt 0.347721 0.209835 -vt 0.347125 0.211894 -vt 0.347125 0.209835 -vt 0.347690 0.216005 -vt 0.348286 0.213946 -vt 0.348286 0.216005 -vt 0.325280 0.226501 -vt 0.325065 0.225983 -vt 0.325280 0.224870 -vt 0.333254 0.230774 -vt 0.332737 0.228715 -vt 0.333254 0.228715 -vt 0.348803 0.216005 -vt 0.348803 0.213946 -vt 0.348238 0.211894 -vt 0.347721 0.211894 -vt 0.347173 0.213946 -vt 0.347173 0.216005 -vt 0.333850 0.228715 -vt 0.334367 0.230774 -vt 0.333850 0.230774 -vt 0.326696 0.230777 -vt 0.326696 0.228718 -vt 0.346608 0.209835 -vt 0.325065 0.228718 -vt 0.325065 0.230777 -vt 0.330588 0.230319 -vt 0.329475 0.229103 -vt 0.330588 0.228131 -vt 0.334644 0.214885 -vt 0.334842 0.214885 -vt 0.334842 0.215265 -vt 0.324127 0.211753 -vt 0.324026 0.212692 -vt 0.323897 0.211753 -vt 0.324026 0.214751 -vt 0.323897 0.214751 -vt 0.336901 0.222037 -vt 0.334842 0.219849 -vt 0.336901 0.219849 -vt 0.323006 0.214751 -vt 0.323006 0.212692 -vt 0.334462 0.217883 -vt 0.334644 0.216944 -vt 0.334842 0.217883 -vt 0.334842 0.213946 -vt 0.347618 0.229193 -vt 0.348732 0.227977 -vt 0.348732 0.230165 -vt 0.338012 0.217151 -vt 0.337674 0.216248 -vt 0.338012 0.216248 -vt 0.323006 0.215690 -vt 0.324567 0.214751 -vt 0.324239 0.214335 -vt 0.324567 0.212692 -vt 0.330831 0.219428 -vt 0.330493 0.218526 -vt 0.330831 0.218526 -vt 0.333849 0.214885 -vt 0.334255 0.215301 -vt 0.334255 0.216528 -vt 0.350492 0.210058 -vt 0.350159 0.208927 -vt 0.350492 0.209151 -vt 0.323897 0.212692 -vt 0.324403 0.214807 -vt 0.324283 0.214959 -vt 0.324239 0.212276 -vt 0.324283 0.212484 -vt 0.334052 0.214829 -vt 0.334200 0.214677 -vt 0.334200 0.217152 -vt 0.334052 0.217000 -vt 0.338220 0.217151 -vt 0.329093 0.229408 -vt 0.329291 0.230351 -vt 0.329116 0.230356 -vt 0.329265 0.229279 -vt 0.329506 0.230346 -vt 0.331039 0.218526 -vt 0.331039 0.219474 -vt 0.347236 0.228889 -vt 0.347435 0.227945 -vt 0.347408 0.229018 -vt 0.347649 0.227950 -vt 0.338259 0.217417 -vt 0.338592 0.216286 -vt 0.338592 0.217193 -vt 0.338730 0.217106 -vt 0.337543 0.216283 -vt 0.337674 0.217151 -vt 0.337543 0.217187 -vt 0.350630 0.209238 -vt 0.350630 0.210142 -vt 0.330362 0.219393 -vt 0.330493 0.219428 -vt 0.324239 0.215505 -vt 0.324206 0.215636 -vt 0.324127 0.215690 -vt 0.332737 0.225385 -vt 0.333469 0.224653 -vt 0.333469 0.226712 -vt 0.334064 0.224653 -vt 0.334581 0.224867 -vt 0.334581 0.226498 -vt 0.334796 0.225385 -vt 0.334796 0.225980 -vt 0.334064 0.226712 -vt 0.325583 0.228718 -vt 0.347690 0.213946 -vt 0.325065 0.225388 -vt 0.325797 0.224656 -vt 0.325797 0.226715 -vt 0.326393 0.224656 -vt 0.326910 0.224870 -vt 0.326910 0.226501 -vt 0.327124 0.225388 -vt 0.327124 0.225983 -vt 0.326393 0.226715 -vt 0.332737 0.230774 -vt 0.348238 0.209835 -vt 0.334367 0.228715 -vt 0.346608 0.211894 -vt 0.334534 0.215914 -vt 0.334842 0.216564 -vt 0.334842 0.216944 -vt 0.324206 0.211807 -vt 0.324239 0.211938 -vt 0.324239 0.213108 -vt 0.334842 0.222037 -vt 0.334316 0.217829 -vt 0.334255 0.217698 -vt 0.334255 0.217360 -vt 0.334255 0.214469 -vt 0.334462 0.213946 -vt 0.334255 0.214131 -vt 0.334316 0.214000 -vt 0.323897 0.215690 -vt 0.325476 0.212692 -vt 0.325476 0.214751 -vt 0.333849 0.216944 -vt 0.332779 0.216944 -vt 0.332779 0.214885 -vt 0.350120 0.209817 -vt 0.323006 0.211753 -vt 0.324239 0.215167 -vt 0.324403 0.212636 -vt 0.338220 0.216202 -vt 0.347260 0.227940 -vt 0.338220 0.216527 -vt 0.338730 0.216202 -vt 0.330362 0.218489 -vt 0.462224 0.543587 -vt 0.461459 0.534727 -vt 0.462224 0.534727 -vt 0.574755 0.469649 -vt 0.574658 0.478508 -vt 0.574658 0.469649 -vt 0.558799 0.547585 -vt 0.558036 0.538725 -vt 0.558799 0.538725 -vt 0.519628 0.425708 -vt 0.522722 0.425758 -vt 0.522264 0.426815 -vt 0.485685 0.460205 -vt 0.476825 0.469267 -vt 0.476825 0.460205 -vt 0.561419 0.547585 -vt 0.458802 0.534727 -vt 0.461459 0.543587 -vt 0.458802 0.543587 -vt 0.577676 0.478508 -vt 0.574755 0.478508 -vt 0.555019 0.538725 -vt 0.558036 0.547585 -vt 0.555019 0.547585 -vt 0.464549 0.543587 -vt 0.572569 0.478508 -vt 0.571991 0.469649 -vt 0.572569 0.469649 -vt 0.572746 0.511785 -vt 0.572167 0.520644 -vt 0.572167 0.511785 -vt 0.569803 0.469649 -vt 0.571991 0.478508 -vt 0.569803 0.478508 -vt 0.509729 0.484960 -vt 0.518589 0.482700 -vt 0.518589 0.484960 -vt 0.570088 0.520644 -vt 0.570088 0.511785 -vt 0.574658 0.478508 -vt 0.519410 0.531043 -vt 0.517162 0.539903 -vt 0.517162 0.531043 -vt 0.574940 0.511785 -vt 0.572746 0.520644 -vt 0.518650 0.548763 -vt 0.519759 0.539903 -vt 0.519759 0.548763 -vt 0.499042 0.530579 -vt 0.500598 0.539438 -vt 0.499042 0.539438 -vt 0.485685 0.489200 -vt 0.494544 0.476164 -vt 0.494544 0.489200 -vt 0.574929 0.484960 -vt 0.576803 0.493820 -vt 0.574929 0.493820 -vt 0.509729 0.482700 -vt 0.518589 0.469649 -vt 0.506756 0.469364 -vt 0.507255 0.468366 -vt 0.507794 0.468579 -vt 0.485685 0.476164 -vt 0.494544 0.460205 -vt 0.511560 0.425708 -vt 0.509243 0.435778 -vt 0.505654 0.440562 -vt 0.485685 0.484342 -vt 0.476825 0.494441 -vt 0.476825 0.484342 -vt 0.521396 0.459579 -vt 0.525159 0.469069 -vt 0.523713 0.469649 -vt 0.507703 0.443322 -vt 0.505654 0.440563 -vt 0.508158 0.451009 -vt 0.520311 0.444348 -vt 0.519856 0.452035 -vt 0.517807 0.454794 -vt 0.485685 0.476645 -vt 0.476825 0.476645 -vt 0.485685 0.469267 -vt 0.465575 0.543587 -vt 0.464549 0.534727 -vt 0.465575 0.534727 -vt 0.500853 0.452704 -vt 0.523170 0.433628 -vt 0.522675 0.434484 -vt 0.522606 0.433503 -vt 0.510522 0.460872 -vt 0.511017 0.461728 -vt 0.510453 0.461854 -vt 0.576803 0.484960 -vt 0.577616 0.493820 -vt 0.513006 0.442653 -vt 0.516671 0.431329 -vt 0.516635 0.431239 -vt 0.517704 0.430920 -vt 0.516685 0.428145 -vt 0.517742 0.428603 -vt 0.518908 0.425992 -vt 0.519407 0.426990 -vt 0.524874 0.427981 -vt 0.525159 0.428701 -vt 0.523876 0.428480 -vt 0.525120 0.431098 -vt 0.524089 0.429019 -vt 0.524602 0.432274 -vt 0.524052 0.431337 -vt 0.522387 0.432949 -vt 0.519946 0.426777 -vt 0.561419 0.538725 -vt 0.577676 0.469649 -vt 0.574658 0.469649 -vt 0.519410 0.539903 -vt 0.574940 0.520644 -vt 0.518650 0.539903 -vt 0.500598 0.530579 -vt 0.509729 0.469649 -vt 0.510234 0.462408 -vt 0.512450 0.463083 -vt 0.512967 0.464259 -vt 0.511899 0.464020 -vt 0.513006 0.466656 -vt 0.511937 0.466338 -vt 0.512722 0.467376 -vt 0.511724 0.466877 -vt 0.510569 0.469599 -vt 0.507475 0.469649 -vt 0.510111 0.468542 -vt 0.504533 0.467212 -vt 0.504483 0.464118 -vt 0.505589 0.466754 -vt 0.504518 0.464028 -vt 0.505552 0.464436 -vt 0.485685 0.460205 -vt 0.513006 0.426288 -vt 0.485685 0.494441 -vt 0.517807 0.454794 -vt 0.577616 0.484960 -vt 0.664181 0.570785 -vt 0.666546 0.559059 -vt 0.666546 0.570785 -vt 0.631455 0.571584 -vt 0.626774 0.566904 -vt 0.633820 0.559858 -vt 0.667229 0.548131 -vt 0.664864 0.536405 -vt 0.667229 0.536405 -vt 0.551095 0.572171 -vt 0.546414 0.567490 -vt 0.553460 0.560444 -vt 0.664364 0.535281 -vt 0.666729 0.523554 -vt 0.666729 0.535281 -vt 0.666992 0.571264 -vt 0.670302 0.582991 -vt 0.666992 0.582991 -vt 0.670039 0.535281 -vt 0.670039 0.523554 -vt 0.670539 0.548131 -vt 0.661054 0.523554 -vt 0.661054 0.535281 -vt 0.664627 0.582991 -vt 0.661317 0.571264 -vt 0.664627 0.571264 -vt 0.669856 0.570785 -vt 0.669856 0.559059 -vt 0.664864 0.548131 -vt 0.661554 0.536405 -vt 0.660871 0.559059 -vt 0.660871 0.570785 -vt 0.664181 0.559059 -vt 0.626774 0.564538 -vt 0.628145 0.561229 -vt 0.631455 0.559858 -vt 0.637130 0.561229 -vt 0.638501 0.564538 -vt 0.638501 0.566904 -vt 0.637130 0.570213 -vt 0.633820 0.571584 -vt 0.628145 0.570213 -vt 0.546414 0.565125 -vt 0.547785 0.561815 -vt 0.551095 0.560444 -vt 0.556770 0.561815 -vt 0.558141 0.565125 -vt 0.558141 0.567490 -vt 0.556770 0.570800 -vt 0.553460 0.572171 -vt 0.547785 0.570800 -vt 0.664364 0.523554 -vt 0.670302 0.571264 -vt 0.670539 0.536405 -vt 0.661317 0.582991 -vt 0.661554 0.548131 -vt 0.281839 0.212737 -vt 0.281839 0.208108 -vt 0.281922 0.210863 -vt 0.282483 0.210863 -vt 0.282756 0.209983 -vt 0.282756 0.210863 -vt 0.283317 0.209983 -vt 0.283590 0.210863 -vt 0.283317 0.210863 -vt 0.284151 0.209983 -vt 0.284424 0.210863 -vt 0.284151 0.210863 -vt 0.285948 0.212738 -vt 0.284591 0.211509 -vt 0.284818 0.211509 -vt 0.322349 0.193741 -vt 0.323470 0.194704 -vt 0.322349 0.194704 -vt 0.322349 0.198370 -vt 0.323470 0.197399 -vt 0.323470 0.198844 -vt 0.279018 0.207634 -vt 0.280251 0.209983 -vt 0.280251 0.210863 -vt 0.297416 0.212728 -vt 0.298379 0.214604 -vt 0.298379 0.215484 -vt 0.298940 0.214604 -vt 0.299213 0.215484 -vt 0.298940 0.215484 -vt 0.299774 0.214604 -vt 0.300047 0.215484 -vt 0.299774 0.215484 -vt 0.300608 0.214604 -vt 0.300880 0.215484 -vt 0.300608 0.215484 -vt 0.301525 0.217358 -vt 0.301047 0.216130 -vt 0.301275 0.216130 -vt 0.312510 0.211879 -vt 0.312337 0.211313 -vt 0.312823 0.211444 -vt 0.318089 0.204108 -vt 0.318263 0.204674 -vt 0.317776 0.204544 -vt 0.322152 0.197399 -vt 0.322349 0.197399 -vt 0.322153 0.194704 -vt 0.318296 0.196216 -vt 0.318240 0.198371 -vt 0.318240 0.193740 -vt 0.280813 0.210863 -vt 0.281086 0.209983 -vt 0.281086 0.210863 -vt 0.281600 0.211320 -vt 0.281649 0.210863 -vt 0.345121 0.225613 -vt 0.345380 0.225231 -vt 0.345608 0.225744 -vt 0.340750 0.232054 -vt 0.340523 0.231541 -vt 0.341009 0.231671 -vt 0.319185 0.210636 -vt 0.320885 0.205059 -vt 0.320885 0.210635 -vt 0.304346 0.217833 -vt 0.302755 0.215372 -vt 0.302755 0.214716 -vt 0.325170 0.198845 -vt 0.323971 0.196808 -vt 0.324003 0.196216 -vt 0.301525 0.212729 -vt 0.301715 0.215484 -vt 0.302110 0.213957 -vt 0.302646 0.212255 -vt 0.302643 0.214035 -vt 0.321253 0.207407 -vt 0.321253 0.208287 -vt 0.322006 0.205532 -vt 0.322006 0.210161 -vt 0.321816 0.207407 -vt 0.326114 0.210162 -vt 0.322007 0.210710 -vt 0.318237 0.199320 -vt 0.322348 0.198918 -vt 0.322346 0.199320 -vt 0.302645 0.218380 -vt 0.302646 0.217832 -vt 0.325166 0.192317 -vt 0.323469 0.192719 -vt 0.323466 0.192317 -vt 0.325170 0.193266 -vt 0.323470 0.193267 -vt 0.319185 0.205058 -vt 0.320886 0.204510 -vt 0.279022 0.214161 -vt 0.280719 0.213760 -vt 0.280722 0.214161 -vt 0.279018 0.213212 -vt 0.280718 0.213211 -vt 0.301524 0.212181 -vt 0.285951 0.207158 -vt 0.281840 0.207560 -vt 0.281842 0.207158 -vt 0.285948 0.208107 -vt 0.320886 0.211184 -vt 0.322009 0.211111 -vt 0.320888 0.211585 -vt 0.323469 0.199392 -vt 0.297416 0.217359 -vt 0.301524 0.217907 -vt 0.297415 0.217907 -vt 0.322346 0.192791 -vt 0.318240 0.193192 -vt 0.318237 0.192791 -vt 0.322348 0.193193 -vt 0.326114 0.205531 -vt 0.322007 0.204984 -vt 0.326115 0.204983 -vt 0.281842 0.213687 -vt 0.285948 0.213286 -vt 0.285951 0.213687 -vt 0.281840 0.213286 -vt 0.302645 0.211707 -vt 0.301521 0.211779 -vt 0.302642 0.211305 -vt 0.280718 0.207635 -vt 0.280719 0.207086 -vt 0.301521 0.218308 -vt 0.322009 0.204582 -vt 0.319186 0.211184 -vt 0.323466 0.199794 -vt 0.325169 0.199393 -vt 0.325166 0.199794 -vt 0.304346 0.212255 -vt 0.304345 0.211706 -vt 0.280722 0.206684 -vt 0.279019 0.207085 -vt 0.279022 0.206684 -vt 0.322483 0.206761 -vt 0.322256 0.206761 -vt 0.322923 0.207407 -vt 0.322650 0.208287 -vt 0.322650 0.207407 -vt 0.323484 0.207407 -vt 0.323757 0.208287 -vt 0.323484 0.208287 -vt 0.324591 0.207407 -vt 0.324318 0.208287 -vt 0.324318 0.207407 -vt 0.325152 0.208287 -vt 0.325152 0.207407 -vt 0.289834 0.234192 -vt 0.288954 0.233919 -vt 0.289834 0.233919 -vt 0.291450 0.232395 -vt 0.290481 0.233752 -vt 0.290481 0.233525 -vt 0.289834 0.235026 -vt 0.288954 0.234753 -vt 0.289834 0.234753 -vt 0.288954 0.235859 -vt 0.289834 0.235587 -vt 0.289834 0.235859 -vt 0.291449 0.236533 -vt 0.287339 0.236533 -vt 0.289834 0.236421 -vt 0.345028 0.236192 -vt 0.344317 0.237355 -vt 0.344317 0.236192 -vt 0.341622 0.237355 -vt 0.340918 0.236192 -vt 0.341622 0.236192 -vt 0.286918 0.239319 -vt 0.288954 0.238086 -vt 0.289834 0.238086 -vt 0.344672 0.241767 -vt 0.343703 0.242274 -vt 0.343703 0.242047 -vt 0.343057 0.242714 -vt 0.342177 0.242441 -vt 0.343057 0.242441 -vt 0.342177 0.243548 -vt 0.343057 0.243275 -vt 0.343057 0.243548 -vt 0.342177 0.244381 -vt 0.343057 0.244109 -vt 0.343057 0.244381 -vt 0.340561 0.245905 -vt 0.342177 0.244943 -vt 0.343057 0.244943 -vt 0.341622 0.235989 -vt 0.344317 0.235987 -vt 0.340917 0.232054 -vt 0.345029 0.232054 -vt 0.343134 0.232109 -vt 0.290291 0.236742 -vt 0.289834 0.236693 -vt 0.289834 0.237525 -vt 0.288954 0.237253 -vt 0.289834 0.237253 -vt 0.337640 0.244177 -vt 0.332687 0.245800 -vt 0.332688 0.244177 -vt 0.340140 0.238981 -vt 0.342945 0.240572 -vt 0.342289 0.240572 -vt 0.340497 0.238978 -vt 0.342805 0.237811 -vt 0.343134 0.237811 -vt 0.341531 0.241214 -vt 0.340141 0.240605 -vt 0.341609 0.240684 -vt 0.340562 0.241767 -vt 0.343057 0.241607 -vt 0.334724 0.243734 -vt 0.335604 0.243734 -vt 0.333109 0.243015 -vt 0.337219 0.243015 -vt 0.334724 0.243175 -vt 0.332622 0.243016 -vt 0.333108 0.238877 -vt 0.345872 0.236195 -vt 0.345515 0.232055 -vt 0.345872 0.232057 -vt 0.345515 0.236193 -vt 0.339654 0.240604 -vt 0.340010 0.237355 -vt 0.339654 0.238981 -vt 0.339654 0.237357 -vt 0.340010 0.238979 -vt 0.337640 0.245800 -vt 0.338127 0.244178 -vt 0.338127 0.245801 -vt 0.286432 0.237697 -vt 0.286075 0.239322 -vt 0.286075 0.237699 -vt 0.286431 0.239320 -vt 0.345159 0.241766 -vt 0.344673 0.245905 -vt 0.292293 0.236536 -vt 0.291937 0.232396 -vt 0.292293 0.232398 -vt 0.291936 0.236534 -vt 0.332201 0.244178 -vt 0.345936 0.237355 -vt 0.345449 0.237355 -vt 0.340302 0.245905 -vt 0.340431 0.232055 -vt 0.340075 0.236195 -vt 0.340074 0.232057 -vt 0.340431 0.236193 -vt 0.337479 0.238877 -vt 0.337706 0.243016 -vt 0.286852 0.232396 -vt 0.286496 0.236536 -vt 0.286496 0.232398 -vt 0.287339 0.232395 -vt 0.286852 0.236534 -vt 0.345092 0.240605 -vt 0.345580 0.240604 -vt 0.292357 0.237697 -vt 0.291870 0.237696 -vt 0.340075 0.241766 -vt 0.340497 0.237355 -vt 0.286919 0.237696 -vt 0.332375 0.245801 -vt 0.346292 0.238981 -vt 0.345936 0.238979 -vt 0.345450 0.238978 -vt 0.345093 0.238981 -vt 0.345406 0.238981 -vt 0.292714 0.239322 -vt 0.292357 0.239320 -vt 0.291871 0.239319 -vt 0.335604 0.240400 -vt 0.334724 0.240673 -vt 0.334724 0.240400 -vt 0.334078 0.242508 -vt 0.334078 0.242735 -vt 0.334724 0.242068 -vt 0.335604 0.242341 -vt 0.334724 0.242341 -vt 0.334724 0.241507 -vt 0.335604 0.241234 -vt 0.335604 0.241507 -vt 0.337220 0.238877 -vt 0.335604 0.239839 -vt 0.334724 0.239839 -vt 0.529822 0.571835 -vt 0.529387 0.570955 -vt 0.529822 0.570955 -vt 0.511604 0.530135 -vt 0.511604 0.530572 -vt 0.511600 0.530570 -vt 0.497557 0.570893 -vt 0.498014 0.571773 -vt 0.497557 0.571773 -vt 0.497517 0.570363 -vt 0.497517 0.570247 -vt 0.497954 0.570247 -vt 0.497997 0.570436 -vt 0.498014 0.570893 -vt 0.497536 0.572230 -vt 0.497997 0.572230 -vt 0.497954 0.572419 -vt 0.529822 0.570309 -vt 0.529387 0.570498 -vt 0.529387 0.570309 -vt 0.529822 0.570498 -vt 0.529822 0.572292 -vt 0.529387 0.572482 -vt 0.529387 0.572292 -vt 0.529387 0.571835 -vt 0.528715 0.521416 -vt 0.528715 0.521852 -vt 0.528491 0.521852 -vt 0.569632 0.509757 -vt 0.570072 0.508877 -vt 0.570072 0.509757 -vt 0.511604 0.529208 -vt 0.511377 0.529541 -vt 0.511377 0.529111 -vt 0.528599 0.570955 -vt 0.529004 0.571835 -vt 0.528599 0.571835 -vt 0.528578 0.570498 -vt 0.528944 0.570309 -vt 0.528987 0.570498 -vt 0.529004 0.570955 -vt 0.528944 0.572482 -vt 0.528578 0.572292 -vt 0.528987 0.572292 -vt 0.570001 0.508231 -vt 0.569614 0.508420 -vt 0.569572 0.508231 -vt 0.570051 0.508420 -vt 0.569632 0.508877 -vt 0.569614 0.510214 -vt 0.570001 0.510403 -vt 0.569572 0.510403 -vt 0.570051 0.510214 -vt 0.511604 0.530038 -vt 0.511377 0.529705 -vt 0.511604 0.529623 -vt 0.501690 0.572120 -vt 0.501307 0.571240 -vt 0.501690 0.571240 -vt 0.493100 0.535197 -vt 0.492872 0.535580 -vt 0.492872 0.535197 -vt 0.500925 0.571240 -vt 0.501307 0.572120 -vt 0.500925 0.572120 -vt 0.500925 0.570783 -vt 0.501307 0.570593 -vt 0.501307 0.570783 -vt 0.501307 0.571240 -vt 0.500925 0.572766 -vt 0.501307 0.572577 -vt 0.501307 0.572766 -vt 0.500925 0.572577 -vt 0.501690 0.570593 -vt 0.501307 0.570783 -vt 0.501307 0.570593 -vt 0.501690 0.570783 -vt 0.501690 0.572577 -vt 0.501307 0.572766 -vt 0.501307 0.572577 -vt 0.501307 0.572120 -vt 0.492872 0.534815 -vt 0.493100 0.535197 -vt 0.492872 0.535197 -vt 0.500542 0.572120 -vt 0.500160 0.571240 -vt 0.500542 0.571240 -vt 0.493100 0.534050 -vt 0.492872 0.534433 -vt 0.492872 0.534050 -vt 0.500542 0.571240 -vt 0.500925 0.572120 -vt 0.500542 0.572120 -vt 0.500542 0.570783 -vt 0.500925 0.570593 -vt 0.500925 0.570783 -vt 0.500925 0.571240 -vt 0.500542 0.572766 -vt 0.500925 0.572577 -vt 0.500925 0.572766 -vt 0.500542 0.572577 -vt 0.500160 0.570783 -vt 0.500542 0.570593 -vt 0.500542 0.570783 -vt 0.500160 0.572766 -vt 0.500542 0.572577 -vt 0.500542 0.572766 -vt 0.500160 0.572577 -vt 0.500160 0.572120 -vt 0.492872 0.533668 -vt 0.493100 0.534050 -vt 0.492872 0.534050 -vt 0.499778 0.572120 -vt 0.499395 0.571240 -vt 0.499778 0.571240 -vt 0.492872 0.532903 -vt 0.493100 0.533285 -vt 0.492872 0.533285 -vt 0.499778 0.571240 -vt 0.500160 0.572120 -vt 0.499778 0.572120 -vt 0.499778 0.570783 -vt 0.500160 0.570593 -vt 0.500160 0.570783 -vt 0.500160 0.571240 -vt 0.499778 0.572766 -vt 0.500160 0.572577 -vt 0.500160 0.572766 -vt 0.499778 0.572577 -vt 0.499778 0.570593 -vt 0.499395 0.570783 -vt 0.499395 0.570593 -vt 0.499778 0.570783 -vt 0.499778 0.572577 -vt 0.499395 0.572766 -vt 0.499395 0.572577 -vt 0.499395 0.572120 -vt 0.492872 0.534433 -vt 0.493100 0.534815 -vt 0.492872 0.534815 -vt 0.508653 0.572044 -vt 0.508270 0.571164 -vt 0.508653 0.571164 -vt 0.493100 0.532521 -vt 0.492872 0.532903 -vt 0.492872 0.532521 -vt 0.508653 0.571164 -vt 0.509035 0.572044 -vt 0.508653 0.572044 -vt 0.508653 0.570707 -vt 0.509035 0.570518 -vt 0.509035 0.570707 -vt 0.509035 0.571164 -vt 0.508653 0.572501 -vt 0.509035 0.572691 -vt 0.508653 0.572691 -vt 0.509035 0.572501 -vt 0.508653 0.570518 -vt 0.508270 0.570707 -vt 0.508270 0.570518 -vt 0.508653 0.570707 -vt 0.508653 0.572501 -vt 0.508270 0.572691 -vt 0.508270 0.572501 -vt 0.508270 0.572044 -vt 0.493100 0.533668 -vt 0.492872 0.533285 -vt 0.493100 0.533285 -vt 0.507506 0.571164 -vt 0.507888 0.572044 -vt 0.507506 0.572044 -vt 0.508270 0.572044 -vt 0.507888 0.571164 -vt 0.508270 0.571164 -vt 0.529396 0.522181 -vt 0.529624 0.521799 -vt 0.529624 0.522181 -vt 0.511604 0.531337 -vt 0.511377 0.531719 -vt 0.511377 0.531337 -vt 0.507506 0.571164 -vt 0.507123 0.572044 -vt 0.507123 0.571164 -vt 0.506741 0.572044 -vt 0.507123 0.571164 -vt 0.507123 0.572044 -vt 0.506741 0.572691 -vt 0.507123 0.572501 -vt 0.507123 0.572691 -vt 0.507506 0.572501 -vt 0.507123 0.572691 -vt 0.507123 0.572501 -vt 0.506741 0.572501 -vt 0.507506 0.572044 -vt 0.507506 0.570518 -vt 0.507123 0.570707 -vt 0.507123 0.570518 -vt 0.506741 0.570707 -vt 0.507123 0.570518 -vt 0.507123 0.570707 -vt 0.507506 0.570707 -vt 0.506741 0.571164 -vt 0.508270 0.570707 -vt 0.507888 0.570518 -vt 0.508270 0.570518 -vt 0.507506 0.570518 -vt 0.507888 0.570707 -vt 0.507506 0.570707 -vt 0.507888 0.570707 -vt 0.507888 0.571164 -vt 0.507506 0.572501 -vt 0.507888 0.572691 -vt 0.507506 0.572691 -vt 0.508270 0.572691 -vt 0.507888 0.572501 -vt 0.508270 0.572501 -vt 0.507888 0.572501 -vt 0.507888 0.572044 -vt 0.529624 0.521799 -vt 0.529396 0.521416 -vt 0.529624 0.521416 -vt 0.511377 0.531719 -vt 0.511604 0.532101 -vt 0.511377 0.532101 -vt 0.505594 0.571164 -vt 0.505976 0.572044 -vt 0.505594 0.572044 -vt 0.570455 0.508877 -vt 0.570072 0.509757 -vt 0.570072 0.508877 -vt 0.528714 0.522236 -vt 0.528942 0.521853 -vt 0.528942 0.522236 -vt 0.528714 0.521416 -vt 0.528942 0.521799 -vt 0.528714 0.521799 -vt 0.504829 0.571164 -vt 0.504446 0.572044 -vt 0.504446 0.571164 -vt 0.504829 0.572044 -vt 0.505211 0.571164 -vt 0.505211 0.572044 -vt 0.504829 0.572691 -vt 0.505211 0.572501 -vt 0.505211 0.572691 -vt 0.504829 0.572501 -vt 0.504446 0.572691 -vt 0.504446 0.572501 -vt 0.504829 0.572501 -vt 0.504829 0.572044 -vt 0.504446 0.570707 -vt 0.504829 0.570518 -vt 0.504829 0.570707 -vt 0.504829 0.570707 -vt 0.505211 0.570518 -vt 0.505211 0.570707 -vt 0.504829 0.571164 -vt 0.570455 0.508420 -vt 0.570072 0.508231 -vt 0.570455 0.508231 -vt 0.505594 0.570518 -vt 0.505976 0.570707 -vt 0.505594 0.570707 -vt 0.570072 0.508420 -vt 0.505976 0.571164 -vt 0.505594 0.572501 -vt 0.505976 0.572691 -vt 0.505594 0.572691 -vt 0.570455 0.510403 -vt 0.570072 0.510214 -vt 0.570455 0.510214 -vt 0.505976 0.572501 -vt 0.570455 0.509757 -vt 0.529169 0.522236 -vt 0.528942 0.521853 -vt 0.529169 0.521853 -vt 0.511377 0.530572 -vt 0.511604 0.530954 -vt 0.511377 0.530954 -vt 0.506358 0.571164 -vt 0.506741 0.572044 -vt 0.506358 0.572044 -vt 0.506358 0.571164 -vt 0.505976 0.572044 -vt 0.505976 0.571164 -vt 0.529169 0.522236 -vt 0.529396 0.521853 -vt 0.529396 0.522236 -vt 0.529396 0.521416 -vt 0.529169 0.521799 -vt 0.529169 0.521416 -vt 0.504446 0.570964 -vt 0.504064 0.571844 -vt 0.504064 0.570964 -vt 0.505211 0.572044 -vt 0.505594 0.571164 -vt 0.505594 0.572044 -vt 0.504064 0.572491 -vt 0.504446 0.572301 -vt 0.504446 0.572491 -vt 0.505211 0.572691 -vt 0.505594 0.572501 -vt 0.505594 0.572691 -vt 0.505211 0.572501 -vt 0.504446 0.571844 -vt 0.504064 0.572301 -vt 0.504064 0.570507 -vt 0.504446 0.570318 -vt 0.504446 0.570507 -vt 0.505211 0.570707 -vt 0.505594 0.570518 -vt 0.505594 0.570707 -vt 0.505211 0.571164 -vt 0.506358 0.570518 -vt 0.505976 0.570707 -vt 0.505976 0.570518 -vt 0.506358 0.570518 -vt 0.506741 0.570707 -vt 0.506358 0.570707 -vt 0.506358 0.570707 -vt 0.506741 0.571164 -vt 0.505976 0.572501 -vt 0.506358 0.572691 -vt 0.505976 0.572691 -vt 0.506358 0.572501 -vt 0.506741 0.572691 -vt 0.506358 0.572691 -vt 0.506741 0.572501 -vt 0.506358 0.572044 -vt 0.506358 0.572501 -vt 0.528715 0.522236 -vt 0.528487 0.521853 -vt 0.528715 0.521853 -vt 0.506527 0.529611 -vt 0.506299 0.529229 -vt 0.506527 0.529229 -vt 0.530266 0.570955 -vt 0.530649 0.571835 -vt 0.530266 0.571835 -vt 0.530649 0.570955 -vt 0.531031 0.571835 -vt 0.530649 0.571835 -vt 0.505845 0.529611 -vt 0.506072 0.529229 -vt 0.506072 0.529611 -vt 0.506072 0.529611 -vt 0.506299 0.529229 -vt 0.506299 0.529611 -vt 0.569842 0.563655 -vt 0.570224 0.562775 -vt 0.570224 0.563655 -vt 0.503681 0.571844 -vt 0.504064 0.570964 -vt 0.504064 0.571844 -vt 0.569842 0.564301 -vt 0.570224 0.564112 -vt 0.570224 0.564301 -vt 0.503681 0.572491 -vt 0.504064 0.572301 -vt 0.504064 0.572491 -vt 0.569842 0.564112 -vt 0.503681 0.572301 -vt 0.569842 0.562318 -vt 0.570224 0.562129 -vt 0.570224 0.562318 -vt 0.503681 0.570507 -vt 0.504064 0.570318 -vt 0.504064 0.570507 -vt 0.569842 0.562775 -vt 0.503681 0.570964 -vt 0.530266 0.570309 -vt 0.530649 0.570498 -vt 0.530266 0.570498 -vt 0.530649 0.570309 -vt 0.531031 0.570498 -vt 0.530649 0.570498 -vt 0.530649 0.570955 -vt 0.531031 0.570955 -vt 0.530266 0.572292 -vt 0.530649 0.572482 -vt 0.530266 0.572482 -vt 0.530649 0.572292 -vt 0.531031 0.572482 -vt 0.530649 0.572482 -vt 0.530649 0.572292 -vt 0.531031 0.572292 -vt 0.529169 0.521799 -vt 0.528942 0.521416 -vt 0.529169 0.521416 -vt 0.511604 0.531337 -vt 0.511377 0.530954 -vt 0.511604 0.530954 -vt 0.569572 0.509757 -vt 0.569131 0.508877 -vt 0.569572 0.508877 -vt 0.493080 0.565777 -vt 0.492640 0.564897 -vt 0.493080 0.564897 -vt 0.504872 0.529092 -vt 0.505099 0.529425 -vt 0.504872 0.529508 -vt 0.505781 0.529092 -vt 0.505554 0.529425 -vt 0.505554 0.528996 -vt 0.527648 0.571835 -vt 0.528053 0.570955 -vt 0.528053 0.571835 -vt 0.528123 0.571835 -vt 0.528528 0.570955 -vt 0.528528 0.571835 -vt 0.528468 0.572482 -vt 0.528103 0.572292 -vt 0.528511 0.572292 -vt 0.527627 0.570498 -vt 0.527992 0.570309 -vt 0.528035 0.570498 -vt 0.527648 0.570955 -vt 0.527992 0.572482 -vt 0.527627 0.572292 -vt 0.528035 0.572292 -vt 0.528103 0.570498 -vt 0.528468 0.570309 -vt 0.528511 0.570498 -vt 0.528123 0.570955 -vt 0.493010 0.564251 -vt 0.492622 0.564440 -vt 0.492580 0.564251 -vt 0.569501 0.510403 -vt 0.569114 0.510214 -vt 0.569551 0.510214 -vt 0.493060 0.564440 -vt 0.569131 0.509757 -vt 0.569501 0.508231 -vt 0.569114 0.508420 -vt 0.569071 0.508231 -vt 0.493010 0.566423 -vt 0.492622 0.566234 -vt 0.493060 0.566234 -vt 0.569551 0.508420 -vt 0.492640 0.565777 -vt 0.505327 0.529078 -vt 0.505099 0.529411 -vt 0.505099 0.528996 -vt 0.505554 0.529411 -vt 0.505327 0.529078 -vt 0.505554 0.528996 -vt 0.325910 0.244095 -vt 0.325474 0.244424 -vt 0.325474 0.244095 -vt 0.297370 0.251959 -vt 0.296937 0.251917 -vt 0.296957 0.251704 -vt 0.321973 0.253133 -vt 0.322355 0.253461 -vt 0.321973 0.253461 -vt 0.310625 0.249533 -vt 0.310932 0.248334 -vt 0.311009 0.249526 -vt 0.321973 0.252108 -vt 0.322355 0.251950 -vt 0.322355 0.252108 -vt 0.322355 0.252541 -vt 0.321973 0.252541 -vt 0.322355 0.253133 -vt 0.321973 0.254645 -vt 0.322355 0.254486 -vt 0.322355 0.254645 -vt 0.321973 0.254053 -vt 0.321973 0.254486 -vt 0.322355 0.254053 -vt 0.325474 0.242912 -vt 0.325910 0.243071 -vt 0.325474 0.243071 -vt 0.325474 0.243504 -vt 0.325910 0.243504 -vt 0.325910 0.245449 -vt 0.325474 0.245607 -vt 0.325474 0.245449 -vt 0.325910 0.245016 -vt 0.325474 0.245016 -vt 0.325910 0.244424 -vt 0.487339 0.523299 -vt 0.487394 0.523279 -vt 0.487394 0.523742 -vt 0.530266 0.571645 -vt 0.529831 0.570989 -vt 0.530266 0.570989 -vt 0.569916 0.548885 -vt 0.569457 0.549541 -vt 0.569457 0.548885 -vt 0.493096 0.523568 -vt 0.493043 0.523568 -vt 0.493041 0.523566 -vt 0.569923 0.550022 -vt 0.569477 0.550221 -vt 0.569463 0.550022 -vt 0.569916 0.549541 -vt 0.569477 0.548205 -vt 0.569923 0.548404 -vt 0.569463 0.548404 -vt 0.530266 0.572126 -vt 0.529831 0.571645 -vt 0.530266 0.572326 -vt 0.529822 0.572326 -vt 0.529831 0.572205 -vt 0.530266 0.570508 -vt 0.529831 0.570508 -vt 0.529831 0.570430 -vt 0.281971 0.211320 -vt 0.282089 0.211509 -vt 0.282089 0.209337 -vt 0.281971 0.209526 -vt 0.281922 0.209983 -vt 0.282483 0.209983 -vt 0.283590 0.209983 -vt 0.284424 0.209983 -vt 0.283268 0.209526 -vt 0.283639 0.209526 -vt 0.283150 0.209337 -vt 0.283757 0.209337 -vt 0.282923 0.209337 -vt 0.282805 0.209526 -vt 0.282434 0.209526 -vt 0.282316 0.209337 -vt 0.283984 0.211509 -vt 0.282316 0.211509 -vt 0.282923 0.211509 -vt 0.283984 0.209337 -vt 0.283150 0.211509 -vt 0.282434 0.211320 -vt 0.282805 0.211320 -vt 0.284102 0.209526 -vt 0.284591 0.209337 -vt 0.284473 0.209526 -vt 0.283757 0.211509 -vt 0.283268 0.211320 -vt 0.283639 0.211320 -vt 0.284818 0.209337 -vt 0.284936 0.209526 -vt 0.284985 0.209983 -vt 0.284102 0.211320 -vt 0.284473 0.211320 -vt 0.284985 0.210863 -vt 0.284936 0.211320 -vt 0.280646 0.211509 -vt 0.280718 0.211392 -vt 0.280418 0.211509 -vt 0.280300 0.211320 -vt 0.280718 0.209453 -vt 0.280646 0.209337 -vt 0.280418 0.209337 -vt 0.280300 0.209526 -vt 0.298428 0.215941 -vt 0.298546 0.216130 -vt 0.298546 0.213957 -vt 0.298428 0.214147 -vt 0.299213 0.214604 -vt 0.300047 0.214604 -vt 0.300880 0.214604 -vt 0.299725 0.214147 -vt 0.300095 0.214147 -vt 0.299607 0.213957 -vt 0.300214 0.213957 -vt 0.299380 0.213957 -vt 0.299262 0.214147 -vt 0.298891 0.214147 -vt 0.298773 0.213957 -vt 0.299380 0.216130 -vt 0.298773 0.216130 -vt 0.298891 0.215941 -vt 0.299262 0.215941 -vt 0.300441 0.213957 -vt 0.300559 0.214147 -vt 0.301047 0.213957 -vt 0.300929 0.214147 -vt 0.299607 0.216130 -vt 0.299725 0.215941 -vt 0.300214 0.216130 -vt 0.300095 0.215941 -vt 0.301275 0.213957 -vt 0.301393 0.214147 -vt 0.300441 0.216130 -vt 0.301442 0.214604 -vt 0.301442 0.215484 -vt 0.300559 0.215941 -vt 0.300929 0.215941 -vt 0.301393 0.215941 -vt 0.318619 0.210957 -vt 0.318666 0.210783 -vt 0.319185 0.210783 -vt 0.319038 0.211331 -vt 0.318637 0.211732 -vt 0.318089 0.211879 -vt 0.318263 0.211313 -vt 0.311962 0.211732 -vt 0.311561 0.211331 -vt 0.311980 0.210957 -vt 0.311414 0.210783 -vt 0.311414 0.205205 -vt 0.311850 0.210470 -vt 0.311934 0.205205 -vt 0.311850 0.205517 -vt 0.317776 0.211444 -vt 0.311980 0.205031 -vt 0.311561 0.204656 -vt 0.311962 0.204255 -vt 0.312510 0.204108 -vt 0.312337 0.204674 -vt 0.318637 0.204255 -vt 0.319038 0.204656 -vt 0.318619 0.205031 -vt 0.319185 0.205205 -vt 0.318749 0.205517 -vt 0.318749 0.210470 -vt 0.312823 0.204544 -vt 0.318551 0.197399 -vt 0.318551 0.194704 -vt 0.318424 0.197241 -vt 0.318424 0.194863 -vt 0.318330 0.195296 -vt 0.318330 0.196808 -vt 0.318296 0.195888 -vt 0.280813 0.209983 -vt 0.281135 0.209526 -vt 0.280764 0.209526 -vt 0.281254 0.209337 -vt 0.281254 0.211509 -vt 0.280764 0.211320 -vt 0.281135 0.211320 -vt 0.281481 0.209337 -vt 0.281600 0.209526 -vt 0.281649 0.209983 -vt 0.281481 0.211509 -vt 0.340106 0.226327 -vt 0.339654 0.226327 -vt 0.340166 0.226100 -vt 0.339801 0.225779 -vt 0.340202 0.225378 -vt 0.340523 0.225744 -vt 0.340750 0.225231 -vt 0.341009 0.225613 -vt 0.345928 0.225378 -vt 0.346330 0.225779 -vt 0.345964 0.226100 -vt 0.346477 0.226327 -vt 0.346477 0.230958 -vt 0.346025 0.230958 -vt 0.346094 0.230698 -vt 0.346094 0.226587 -vt 0.345964 0.231185 -vt 0.346330 0.231506 -vt 0.345928 0.231907 -vt 0.345380 0.232054 -vt 0.345608 0.231541 -vt 0.340202 0.231907 -vt 0.339801 0.231506 -vt 0.340166 0.231185 -vt 0.339654 0.230958 -vt 0.340036 0.230698 -vt 0.340036 0.226587 -vt 0.345121 0.231671 -vt 0.302698 0.214035 -vt 0.302646 0.214035 -vt 0.302738 0.214235 -vt 0.302698 0.216052 -vt 0.302646 0.216052 -vt 0.302738 0.215853 -vt 0.323761 0.194704 -vt 0.323882 0.194863 -vt 0.323971 0.195296 -vt 0.323761 0.197399 -vt 0.324003 0.195888 -vt 0.323882 0.197241 -vt 0.301764 0.215941 -vt 0.301882 0.216130 -vt 0.301882 0.213957 -vt 0.301764 0.214147 -vt 0.301715 0.214604 -vt 0.302643 0.216052 -vt 0.302110 0.216130 -vt 0.302602 0.215853 -vt 0.302229 0.215941 -vt 0.302585 0.215372 -vt 0.302278 0.215484 -vt 0.302585 0.214716 -vt 0.302278 0.214604 -vt 0.302602 0.214235 -vt 0.302229 0.214147 -vt 0.321420 0.208933 -vt 0.321648 0.208933 -vt 0.321420 0.206761 -vt 0.321648 0.206761 -vt 0.321302 0.208744 -vt 0.321302 0.206950 -vt 0.321767 0.206950 -vt 0.321767 0.208744 -vt 0.321816 0.208287 -vt 0.326115 0.210710 -vt 0.318240 0.198919 -vt 0.304345 0.218381 -vt 0.325169 0.192718 -vt 0.319186 0.204509 -vt 0.279019 0.213760 -vt 0.297415 0.212180 -vt 0.285948 0.207559 -vt 0.302642 0.218782 -vt 0.320888 0.204108 -vt 0.323806 0.208744 -vt 0.323435 0.208744 -vt 0.323924 0.208933 -vt 0.323317 0.208933 -vt 0.324151 0.208933 -vt 0.324269 0.208744 -vt 0.324591 0.208287 -vt 0.324640 0.208744 -vt 0.324758 0.208933 -vt 0.324985 0.208933 -vt 0.324151 0.206761 -vt 0.324985 0.206761 -vt 0.324758 0.206761 -vt 0.324640 0.206950 -vt 0.324269 0.206950 -vt 0.323090 0.208933 -vt 0.322972 0.208744 -vt 0.322483 0.208933 -vt 0.322923 0.208287 -vt 0.322601 0.208744 -vt 0.323924 0.206761 -vt 0.323806 0.206950 -vt 0.323757 0.207407 -vt 0.323317 0.206761 -vt 0.323435 0.206950 -vt 0.322256 0.208933 -vt 0.322138 0.208744 -vt 0.323090 0.206761 -vt 0.322089 0.208287 -vt 0.322089 0.207407 -vt 0.322972 0.206950 -vt 0.322601 0.206950 -vt 0.322138 0.206950 -vt 0.325103 0.206950 -vt 0.325103 0.208744 -vt 0.288954 0.234192 -vt 0.288954 0.235026 -vt 0.288497 0.235074 -vt 0.288497 0.234704 -vt 0.288308 0.235192 -vt 0.288308 0.234586 -vt 0.288308 0.235420 -vt 0.288497 0.235538 -vt 0.288954 0.235587 -vt 0.288497 0.235908 -vt 0.288308 0.236026 -vt 0.288308 0.236254 -vt 0.290481 0.234359 -vt 0.290481 0.236254 -vt 0.290481 0.236026 -vt 0.290481 0.235420 -vt 0.288308 0.234359 -vt 0.290291 0.235908 -vt 0.290291 0.235538 -vt 0.288497 0.234241 -vt 0.288308 0.233752 -vt 0.288497 0.233870 -vt 0.290481 0.235192 -vt 0.290481 0.234586 -vt 0.290291 0.235074 -vt 0.290291 0.234704 -vt 0.288308 0.233525 -vt 0.288497 0.233407 -vt 0.288954 0.233358 -vt 0.290291 0.234241 -vt 0.289834 0.233358 -vt 0.290291 0.233407 -vt 0.290291 0.233870 -vt 0.290291 0.236372 -vt 0.288497 0.236372 -vt 0.288954 0.236421 -vt 0.290481 0.237919 -vt 0.290481 0.237696 -vt 0.290291 0.238037 -vt 0.288308 0.237919 -vt 0.288308 0.237696 -vt 0.288497 0.238037 -vt 0.342177 0.243275 -vt 0.341720 0.243596 -vt 0.341720 0.243226 -vt 0.341531 0.243714 -vt 0.341531 0.243108 -vt 0.341531 0.243942 -vt 0.341720 0.244060 -vt 0.342177 0.244109 -vt 0.341720 0.244430 -vt 0.341531 0.244548 -vt 0.341531 0.244776 -vt 0.343703 0.243942 -vt 0.343703 0.244776 -vt 0.343703 0.244548 -vt 0.343514 0.244430 -vt 0.343514 0.244060 -vt 0.341531 0.242881 -vt 0.341720 0.242763 -vt 0.341531 0.242274 -vt 0.342177 0.242714 -vt 0.341720 0.242392 -vt 0.343703 0.243714 -vt 0.343514 0.243596 -vt 0.343703 0.243108 -vt 0.343514 0.243226 -vt 0.341531 0.242047 -vt 0.341720 0.241929 -vt 0.343703 0.242881 -vt 0.342177 0.241880 -vt 0.343057 0.241880 -vt 0.343514 0.242763 -vt 0.343514 0.242392 -vt 0.343514 0.241929 -vt 0.343514 0.244894 -vt 0.341720 0.244894 -vt 0.341622 0.232365 -vt 0.344317 0.232365 -vt 0.341780 0.232237 -vt 0.344158 0.232237 -vt 0.343725 0.232144 -vt 0.342214 0.232144 -vt 0.342805 0.232109 -vt 0.288954 0.237525 -vt 0.288497 0.237574 -vt 0.288308 0.237692 -vt 0.288497 0.237204 -vt 0.288308 0.237086 -vt 0.290481 0.237086 -vt 0.290481 0.237692 -vt 0.290291 0.237574 -vt 0.290291 0.237204 -vt 0.288308 0.236860 -vt 0.288497 0.236742 -vt 0.288954 0.236693 -vt 0.290481 0.236860 -vt 0.341729 0.240605 -vt 0.343504 0.240605 -vt 0.343426 0.240589 -vt 0.341808 0.240589 -vt 0.344317 0.237568 -vt 0.344158 0.237690 -vt 0.343725 0.237779 -vt 0.341622 0.237568 -vt 0.341780 0.237690 -vt 0.342214 0.237779 -vt 0.343625 0.240629 -vt 0.343703 0.241214 -vt 0.343703 0.241441 -vt 0.343625 0.240684 -vt 0.343426 0.240725 -vt 0.343514 0.241096 -vt 0.343057 0.241048 -vt 0.342945 0.240741 -vt 0.342177 0.241048 -vt 0.342289 0.240741 -vt 0.341720 0.241096 -vt 0.341808 0.240725 -vt 0.341531 0.241441 -vt 0.341609 0.240629 -vt 0.343514 0.241558 -vt 0.341720 0.241558 -vt 0.342177 0.241607 -vt 0.336250 0.243568 -vt 0.336250 0.243341 -vt 0.334078 0.243568 -vt 0.334078 0.243341 -vt 0.336061 0.243686 -vt 0.334267 0.243686 -vt 0.334267 0.243223 -vt 0.336061 0.243223 -vt 0.335604 0.243175 -vt 0.332622 0.238877 -vt 0.345159 0.245904 -vt 0.346292 0.237357 -vt 0.340074 0.245904 -vt 0.337706 0.238877 -vt 0.292714 0.237699 -vt 0.332201 0.245801 -vt 0.345580 0.238981 -vt 0.335604 0.240673 -vt 0.336061 0.241185 -vt 0.336061 0.241556 -vt 0.336250 0.241067 -vt 0.336250 0.241674 -vt 0.336250 0.240840 -vt 0.336061 0.240722 -vt 0.336061 0.240352 -vt 0.336250 0.240234 -vt 0.336250 0.240006 -vt 0.334078 0.240840 -vt 0.334078 0.240006 -vt 0.334078 0.240234 -vt 0.334267 0.240352 -vt 0.334267 0.240722 -vt 0.336250 0.241901 -vt 0.336061 0.242019 -vt 0.336250 0.242508 -vt 0.335604 0.242068 -vt 0.336061 0.242390 -vt 0.334078 0.241067 -vt 0.334267 0.241185 -vt 0.334724 0.241234 -vt 0.334078 0.241674 -vt 0.334267 0.241556 -vt 0.336250 0.242735 -vt 0.336061 0.242853 -vt 0.334078 0.241901 -vt 0.335604 0.242902 -vt 0.334724 0.242902 -vt 0.334267 0.242019 -vt 0.334267 0.242390 -vt 0.334267 0.242853 -vt 0.334267 0.239888 -vt 0.336061 0.239888 -vt 0.511377 0.530570 -vt 0.511377 0.530135 -vt 0.497536 0.570436 -vt 0.497517 0.572419 -vt 0.497517 0.572303 -vt 0.529822 0.572482 -vt 0.528487 0.521853 -vt 0.528487 0.521416 -vt 0.511604 0.529623 -vt 0.528528 0.570309 -vt 0.528528 0.572482 -vt 0.511377 0.530135 -vt 0.493100 0.535580 -vt 0.500925 0.570593 -vt 0.501690 0.572766 -vt 0.493100 0.534815 -vt 0.493100 0.534433 -vt 0.500542 0.570593 -vt 0.500160 0.570593 -vt 0.493100 0.533668 -vt 0.493100 0.532903 -vt 0.499778 0.570593 -vt 0.499778 0.572766 -vt 0.493100 0.534433 -vt 0.493100 0.532903 -vt 0.508653 0.570518 -vt 0.508653 0.572691 -vt 0.492872 0.533668 -vt 0.529396 0.521799 -vt 0.511604 0.531719 -vt 0.507506 0.572691 -vt 0.506741 0.570518 -vt 0.507888 0.570518 -vt 0.507888 0.572691 -vt 0.529396 0.521799 -vt 0.511604 0.531719 -vt 0.528714 0.521853 -vt 0.528942 0.521416 -vt 0.504829 0.572691 -vt 0.504446 0.570518 -vt 0.504829 0.570518 -vt 0.505976 0.570518 -vt 0.570072 0.510403 -vt 0.528942 0.522236 -vt 0.511604 0.530572 -vt 0.529169 0.521853 -vt 0.529396 0.521799 -vt 0.504064 0.570318 -vt 0.505211 0.570518 -vt 0.506741 0.570518 -vt 0.528487 0.522236 -vt 0.506299 0.529611 -vt 0.505845 0.529229 -vt 0.506072 0.529229 -vt 0.569842 0.562129 -vt 0.503681 0.570318 -vt 0.530649 0.570309 -vt 0.531031 0.570309 -vt 0.528942 0.521799 -vt 0.511377 0.531337 -vt 0.505099 0.528996 -vt 0.505781 0.529508 -vt 0.528053 0.572482 -vt 0.527577 0.570309 -vt 0.527577 0.572482 -vt 0.528053 0.570309 -vt 0.569071 0.510403 -vt 0.492580 0.566423 -vt 0.505327 0.529508 -vt 0.505327 0.529508 -vt 0.296650 0.250504 -vt 0.296670 0.250302 -vt 0.297034 0.250511 -vt 0.297018 0.246694 -vt 0.297053 0.250316 -vt 0.297398 0.246731 -vt 0.297398 0.251669 -vt 0.310912 0.248121 -vt 0.311345 0.248079 -vt 0.311373 0.248368 -vt 0.311028 0.249723 -vt 0.311373 0.253307 -vt 0.310992 0.253343 -vt 0.310645 0.249738 -vt 0.321973 0.251950 -vt 0.325910 0.242912 -vt 0.325910 0.245607 -vt 0.487391 0.523744 -vt 0.487339 0.523744 -vt 0.493041 0.523103 -vt 0.493096 0.523123 -vt 0.569941 0.550221 -vt 0.569941 0.548205 -vt 0.529831 0.572126 -vt 0.529822 0.570309 -vt 0.530266 0.570309 -vt 0.512753 0.812675 -vt 0.640214 0.847382 -vt 0.543691 0.887363 -vt 0.706847 0.527774 -vt 0.707140 0.527964 -vt 0.706847 0.527964 -vt 0.712442 0.514493 -vt 0.712071 0.514302 -vt 0.712442 0.514302 -vt 0.707131 0.520600 -vt 0.706839 0.520410 -vt 0.707131 0.520410 -vt 0.706778 0.517461 -vt 0.707142 0.517652 -vt 0.706778 0.517652 -vt 0.707195 0.515966 -vt 0.706824 0.516157 -vt 0.706824 0.515966 -vt 0.706555 0.527964 -vt 0.706847 0.527774 -vt 0.706847 0.527964 -vt 0.706776 0.531071 -vt 0.707140 0.530881 -vt 0.707140 0.531071 -vt 0.706847 0.528886 -vt 0.706555 0.529077 -vt 0.706555 0.528886 -vt 0.706565 0.519017 -vt 0.706858 0.519207 -vt 0.706565 0.519207 -vt 0.715402 0.514625 -vt 0.715038 0.514435 -vt 0.715402 0.514435 -vt 0.707140 0.529077 -vt 0.706847 0.528886 -vt 0.707140 0.528886 -vt 0.718403 0.513910 -vt 0.718774 0.514100 -vt 0.718403 0.514100 -vt 0.645594 0.868475 -vt 0.560266 0.903819 -vt 0.514589 0.793545 -vt 0.706532 0.516618 -vt 0.706824 0.516157 -vt 0.706824 0.516618 -vt 0.707229 0.519668 -vt 0.706858 0.519207 -vt 0.707229 0.519207 -vt 0.706776 0.532645 -vt 0.707140 0.532184 -vt 0.707140 0.532645 -vt 0.706839 0.521061 -vt 0.706546 0.520600 -vt 0.706839 0.520600 -vt 0.707140 0.529538 -vt 0.706847 0.529077 -vt 0.718774 0.514561 -vt 0.718403 0.514561 -vt 0.715038 0.515086 -vt 0.715038 0.514625 -vt 0.706858 0.519668 -vt 0.706565 0.519668 -vt 0.706776 0.530881 -vt 0.707140 0.530420 -vt 0.706847 0.528425 -vt 0.706555 0.528425 -vt 0.707195 0.515505 -vt 0.706824 0.515505 -vt 0.706555 0.527774 -vt 0.706847 0.527313 -vt 0.715402 0.513974 -vt 0.715038 0.513974 -vt 0.706565 0.518556 -vt 0.706858 0.519017 -vt 0.706847 0.528425 -vt 0.707140 0.528425 -vt 0.718403 0.513449 -vt 0.718774 0.513910 -vt 0.706776 0.531994 -vt 0.707140 0.531532 -vt 0.707140 0.531994 -vt 0.706839 0.520410 -vt 0.706546 0.519948 -vt 0.706839 0.519948 -vt 0.706532 0.515966 -vt 0.706824 0.515505 -vt 0.706824 0.515966 -vt 0.707229 0.519017 -vt 0.706858 0.518556 -vt 0.707229 0.518556 -vt 0.706778 0.518113 -vt 0.707142 0.518113 -vt 0.707131 0.521061 -vt 0.706839 0.520600 -vt 0.707140 0.528425 -vt 0.706847 0.528425 -vt 0.712442 0.514954 -vt 0.712071 0.514493 -vt 0.707195 0.516157 -vt 0.706824 0.516618 -vt 0.706555 0.528425 -vt 0.706847 0.528425 -vt 0.706776 0.531532 -vt 0.707140 0.531532 -vt 0.706847 0.529077 -vt 0.706555 0.529538 -vt 0.369106 0.910054 -vt 0.366577 0.919342 -vt 0.363664 0.912308 -vt 0.706847 0.527313 -vt 0.707140 0.527774 -vt 0.405806 0.910505 -vt 0.408060 0.915947 -vt 0.401027 0.918861 -vt 0.712071 0.513841 -vt 0.712442 0.513841 -vt 0.707142 0.517000 -vt 0.707142 0.517461 -vt 0.359557 0.911688 -vt 0.357029 0.920976 -vt 0.354115 0.913943 -vt 0.706839 0.519948 -vt 0.707131 0.519948 -vt 0.706532 0.516157 -vt 0.706858 0.519017 -vt 0.465717 0.856747 -vt 0.456429 0.854218 -vt 0.463463 0.851305 -vt 0.454274 0.834439 -vt 0.459716 0.832185 -vt 0.462630 0.839218 -vt 0.463096 0.828806 -vt 0.453808 0.826277 -vt 0.460842 0.823364 -vt 0.706776 0.532184 -vt 0.706546 0.520410 -vt 0.519149 0.797235 -vt 0.609278 0.772693 -vt 0.550086 0.766298 -vt 0.593837 0.766298 -vt 0.640214 0.803630 -vt 0.633819 0.862822 -vt 0.559130 0.893759 -vt 0.602882 0.893759 -vt 0.512753 0.856426 -vt 0.507283 0.861168 -vt 0.507283 0.811184 -vt 0.542627 0.896512 -vt 0.549933 0.758201 -vt 0.599917 0.758201 -vt 0.617557 0.765507 -vt 0.652901 0.850835 -vt 0.652901 0.800851 -vt 0.610250 0.903819 -vt 0.706858 0.519668 -vt 0.706546 0.521061 -vt 0.706847 0.529538 -vt 0.715402 0.515086 -vt 0.706776 0.530420 -vt 0.706555 0.527313 -vt 0.706858 0.518556 -vt 0.718774 0.513449 -vt 0.706776 0.531532 -vt 0.706532 0.515505 -vt 0.706839 0.521061 -vt 0.712071 0.514954 -vt 0.707195 0.516618 -vt 0.706847 0.529538 -vt 0.370231 0.910520 -vt 0.372485 0.915962 -vt 0.372485 0.912774 -vt 0.372019 0.917087 -vt 0.369765 0.919342 -vt 0.365452 0.918876 -vt 0.363198 0.916621 -vt 0.363198 0.913433 -vt 0.365918 0.910054 -vt 0.707140 0.527313 -vt 0.405340 0.919327 -vt 0.402152 0.919327 -vt 0.407594 0.917072 -vt 0.398773 0.916606 -vt 0.398773 0.913419 -vt 0.399239 0.912293 -vt 0.401493 0.910039 -vt 0.404681 0.910039 -vt 0.408060 0.912759 -vt 0.706778 0.517000 -vt 0.360683 0.912154 -vt 0.362937 0.917597 -vt 0.362937 0.914409 -vt 0.362471 0.918722 -vt 0.360217 0.920976 -vt 0.355904 0.920510 -vt 0.353649 0.918256 -vt 0.353649 0.915068 -vt 0.356370 0.911688 -vt 0.465251 0.857872 -vt 0.458683 0.859661 -vt 0.462997 0.860127 -vt 0.459809 0.860127 -vt 0.456429 0.857406 -vt 0.456895 0.853094 -vt 0.462337 0.850839 -vt 0.459150 0.850839 -vt 0.465717 0.853559 -vt 0.463096 0.834905 -vt 0.463096 0.838093 -vt 0.460842 0.832651 -vt 0.460376 0.841473 -vt 0.457188 0.841473 -vt 0.456063 0.841007 -vt 0.453808 0.835564 -vt 0.453808 0.838752 -vt 0.456529 0.832185 -vt 0.462630 0.829931 -vt 0.456063 0.831719 -vt 0.460376 0.832185 -vt 0.457188 0.832185 -vt 0.453808 0.829465 -vt 0.454274 0.825152 -vt 0.459716 0.822898 -vt 0.456529 0.822898 -vt 0.463096 0.825618 -vt 0.355789 0.143313 -vt 0.362389 0.136713 -vt 0.362389 0.143313 -vt 0.382293 0.135580 -vt 0.379606 0.128980 -vt 0.382293 0.128980 -vt 0.323760 0.142643 -vt 0.330360 0.136043 -vt 0.330360 0.142643 -vt 0.376748 0.135580 -vt 0.375693 0.128980 -vt 0.376748 0.128980 -vt 0.345598 0.130195 -vt 0.347217 0.130195 -vt 0.348260 0.130804 -vt 0.378366 0.135580 -vt 0.378366 0.128980 -vt 0.314247 0.132079 -vt 0.310334 0.132081 -vt 0.312996 0.131472 -vt 0.379606 0.135580 -vt 0.315830 0.139834 -vt 0.311437 0.139834 -vt 0.310334 0.138681 -vt 0.347157 0.138557 -vt 0.342764 0.138557 -vt 0.341660 0.137404 -vt 0.374590 0.135580 -vt 0.370197 0.128980 -vt 0.374590 0.128980 -vt 0.323760 0.143143 -vt 0.375693 0.135580 -vt 0.369093 0.128980 -vt 0.370197 0.135580 -vt 0.369093 0.135580 -vt 0.355789 0.136713 -vt 0.362389 0.136213 -vt 0.323760 0.136043 -vt 0.375693 0.135580 -vt 0.348260 0.137404 -vt 0.344347 0.130802 -vt 0.341660 0.130804 -vt 0.316934 0.132081 -vt 0.316934 0.138681 -vt 0.311377 0.131472 -vt 0.310334 0.139181 -vt 0.316934 0.139181 -vt 0.341660 0.137904 -vt 0.348260 0.137904 -vt 0.330360 0.143143 -vt 0.375693 0.128980 -vt 0.355789 0.136213 -vt 0.514103 0.543885 -vt 0.513865 0.539551 -vt 0.514103 0.539409 -vt 0.515820 0.793439 -vt 0.506930 0.837928 -vt 0.506930 0.793439 -vt 0.521263 0.544243 -vt 0.521614 0.549254 -vt 0.521263 0.549254 -vt 0.516943 0.548983 -vt 0.516874 0.548579 -vt 0.516963 0.548578 -vt 0.508093 0.544508 -vt 0.508330 0.540176 -vt 0.508330 0.544649 -vt 0.506231 0.544555 -vt 0.506429 0.544300 -vt 0.506429 0.544431 -vt 0.858290 0.870643 -vt 0.374398 0.797204 -vt 0.959204 0.796878 -vt 0.513365 0.914202 -vt 0.520133 0.921854 -vt 0.487163 0.921854 -vt 0.476266 0.880227 -vt 0.511691 0.924715 -vt 0.476266 0.924715 -vt 0.467683 0.968217 -vt 0.423195 0.921590 -vt 0.467683 0.921590 -vt 0.517924 0.546516 -vt 0.512295 0.546701 -vt 0.511926 0.546516 -vt 0.517572 0.549254 -vt 0.518442 0.544243 -vt 0.518442 0.549254 -vt 0.519016 0.549254 -vt 0.506423 0.549821 -vt 0.506423 0.549821 -vt 0.506554 0.549822 -vt 0.516986 0.540157 -vt 0.517486 0.539409 -vt 0.517398 0.542836 -vt 0.515368 0.543694 -vt 0.514470 0.543121 -vt 0.515371 0.542838 -vt 0.507177 0.544063 -vt 0.507362 0.544301 -vt 0.506561 0.544300 -vt 0.517431 0.542896 -vt 0.517779 0.543041 -vt 0.517924 0.543389 -vt 0.506719 0.550060 -vt 0.506370 0.549915 -vt 0.506225 0.549566 -vt 0.506376 0.544206 -vt 0.506726 0.544062 -vt 0.516449 0.540455 -vt 0.516627 0.540066 -vt 0.521590 0.549603 -vt 0.514302 0.551181 -vt 0.514428 0.550582 -vt 0.514607 0.550972 -vt 0.521188 0.543894 -vt 0.521614 0.544243 -vt 0.522241 0.549603 -vt 0.517033 0.539416 -vt 0.514023 0.549934 -vt 0.514070 0.550674 -vt 0.522240 0.543894 -vt 0.521590 0.543894 -vt 0.514319 0.542541 -vt 0.514628 0.542747 -vt 0.518425 0.549603 -vt 0.518943 0.549603 -vt 0.516428 0.553264 -vt 0.516949 0.553561 -vt 0.516586 0.553637 -vt 0.518943 0.543894 -vt 0.518425 0.543894 -vt 0.517572 0.544243 -vt 0.516953 0.554405 -vt 0.514103 0.543888 -vt 0.514106 0.543044 -vt 0.516753 0.540665 -vt 0.521188 0.549603 -vt 0.513657 0.553352 -vt 0.513484 0.554411 -vt 0.513661 0.554208 -vt 0.515688 0.554210 -vt 0.506423 0.549690 -vt 0.506461 0.549783 -vt 0.506468 0.544338 -vt 0.506430 0.544300 -vt 0.512203 0.546699 -vt 0.508054 0.544600 -vt 0.513827 0.539458 -vt 0.517648 0.546699 -vt 0.517555 0.546701 -vt 0.487279 0.877403 -vt 0.512639 0.876594 -vt 0.512616 0.877364 -vt 0.542194 0.926431 -vt 0.541410 0.900162 -vt 0.542194 0.900148 -vt 0.507230 0.792656 -vt 0.515789 0.792656 -vt 0.520971 0.914073 -vt 0.520153 0.914074 -vt 0.511370 0.879443 -vt 0.511691 0.880226 -vt 0.486421 0.922651 -vt 0.520948 0.922651 -vt 0.514086 0.924740 -vt 0.547798 0.925536 -vt 0.513272 0.925536 -vt 0.511370 0.925499 -vt 0.586824 0.876420 -vt 0.587608 0.830099 -vt 0.587608 0.876078 -vt 0.542335 0.876420 -vt 0.541551 0.830099 -vt 0.542335 0.829793 -vt 0.546941 0.880289 -vt 0.547678 0.879521 -vt 0.515820 0.837928 -vt 0.507230 0.838712 -vt 0.513249 0.916958 -vt 0.521580 0.879479 -vt 0.496138 0.926431 -vt 0.496921 0.900162 -vt 0.496921 0.926761 -vt 0.541410 0.926761 -vt 0.518462 0.549393 -vt 0.518393 0.549797 -vt 0.518374 0.549392 -vt 0.523115 0.541383 -vt 0.523018 0.540661 -vt 0.523119 0.540661 -vt 0.523119 0.539488 -vt 0.523018 0.539488 -vt 0.523115 0.538767 -vt 0.523106 0.541681 -vt 0.523018 0.541383 -vt 0.523018 0.538767 -vt 0.523106 0.538468 -vt 0.520182 0.544723 -vt 0.520047 0.545022 -vt 0.519642 0.545022 -vt 0.523211 0.540665 -vt 0.523207 0.538745 -vt 0.523207 0.541405 -vt 0.523211 0.539485 -vt 0.518297 0.549798 -vt 0.517040 0.548985 -vt 0.521616 0.546159 -vt 0.521616 0.547338 -vt 0.305384 0.254815 -vt 0.305033 0.254417 -vt 0.305384 0.254418 -vt 0.298369 0.253971 -vt 0.298720 0.254366 -vt 0.298369 0.254368 -vt 0.300435 0.251268 -vt 0.300374 0.251646 -vt 0.299975 0.251646 -vt 0.298936 0.247485 -vt 0.299338 0.247196 -vt 0.299335 0.247485 -vt 0.298939 0.247196 -vt 0.299339 0.246500 -vt 0.299335 0.244637 -vt 0.298939 0.244926 -vt 0.298936 0.244637 -vt 0.298940 0.246500 -vt 0.299339 0.245622 -vt 0.299338 0.244926 -vt 0.298940 0.245622 -vt 0.522874 0.545309 -vt 0.522337 0.544324 -vt 0.522819 0.544613 -vt 0.296676 0.261678 -vt 0.296816 0.261767 -vt 0.296686 0.262056 -vt 0.296767 0.261479 -vt 0.296871 0.261071 -vt 0.296676 0.259586 -vt 0.296816 0.259497 -vt 0.296767 0.259786 -vt 0.296871 0.260193 -vt 0.296804 0.260268 -vt 0.296804 0.260996 -vt 0.296335 0.262056 -vt 0.296340 0.261678 -vt 0.296335 0.259208 -vt 0.296340 0.259586 -vt 0.302704 0.241106 -vt 0.302693 0.242628 -vt 0.302693 0.241106 -vt 0.304045 0.253603 -vt 0.303984 0.252082 -vt 0.304045 0.252082 -vt 0.304343 0.241753 -vt 0.304235 0.243275 -vt 0.304235 0.241753 -vt 0.303998 0.241753 -vt 0.304067 0.243275 -vt 0.303998 0.243275 -vt 0.304067 0.241753 -vt 0.304581 0.243275 -vt 0.304511 0.241753 -vt 0.304581 0.241753 -vt 0.304511 0.243275 -vt 0.302674 0.255523 -vt 0.302724 0.254002 -vt 0.302724 0.255523 -vt 0.299587 0.259229 -vt 0.299667 0.260751 -vt 0.299587 0.260751 -vt 0.299667 0.259229 -vt 0.299859 0.260751 -vt 0.302723 0.241106 -vt 0.302715 0.242628 -vt 0.302715 0.241106 -vt 0.295873 0.251281 -vt 0.295787 0.249759 -vt 0.295873 0.249759 -vt 0.296061 0.251281 -vt 0.296006 0.249759 -vt 0.296061 0.249759 -vt 0.296006 0.251281 -vt 0.295600 0.249759 -vt 0.295655 0.251281 -vt 0.295600 0.251281 -vt 0.295787 0.251281 -vt 0.295655 0.249759 -vt 0.302676 0.255523 -vt 0.302715 0.257045 -vt 0.302676 0.257045 -vt 0.299801 0.260751 -vt 0.299738 0.262272 -vt 0.299738 0.260751 -vt 0.299587 0.262272 -vt 0.299587 0.260751 -vt 0.302732 0.242628 -vt 0.302723 0.241106 -vt 0.302732 0.241106 -vt 0.302724 0.257045 -vt 0.302715 0.255523 -vt 0.302724 0.255523 -vt 0.304054 0.253194 -vt 0.304054 0.253279 -vt 0.304045 0.253291 -vt 0.302722 0.262949 -vt 0.302714 0.262817 -vt 0.302731 0.262937 -vt 0.513865 0.543897 -vt 0.516879 0.548985 -vt 0.508093 0.540164 -vt 0.506226 0.548753 -vt 0.506378 0.548667 -vt 0.506313 0.548667 -vt 0.506382 0.545454 -vt 0.506316 0.545454 -vt 0.506230 0.545367 -vt 0.373868 0.868388 -vt 0.959204 0.889500 -vt 0.856817 0.889557 -vt 0.423195 0.968217 -vt 0.519016 0.544243 -vt 0.507362 0.549823 -vt 0.507176 0.550060 -vt 0.517572 0.543894 -vt 0.517395 0.543692 -vt 0.514466 0.543894 -vt 0.511926 0.543389 -vt 0.512419 0.542896 -vt 0.512071 0.543041 -vt 0.522227 0.549254 -vt 0.516668 0.539416 -vt 0.514388 0.549933 -vt 0.522227 0.544243 -vt 0.516736 0.553058 -vt 0.517583 0.543894 -vt 0.516589 0.554411 -vt 0.517583 0.549603 -vt 0.513576 0.549927 -vt 0.515684 0.553354 -vt 0.486542 0.876635 -vt 0.476595 0.879443 -vt 0.547056 0.924740 -vt 0.476595 0.925499 -vt 0.586824 0.829793 -vt 0.541551 0.876078 -vt 0.515790 0.838712 -vt 0.514066 0.916957 -vt 0.521601 0.880249 -vt 0.496138 0.900147 -vt 0.518458 0.549798 -vt 0.523017 0.541681 -vt 0.523017 0.538468 -vt 0.519642 0.541809 -vt 0.520238 0.542829 -vt 0.520047 0.541809 -vt 0.520182 0.542107 -vt 0.520238 0.544002 -vt 0.523196 0.538382 -vt 0.523196 0.541768 -vt 0.518275 0.549338 -vt 0.517062 0.548525 -vt 0.521766 0.548441 -vt 0.522227 0.548441 -vt 0.521766 0.545056 -vt 0.522227 0.545056 -vt 0.521659 0.548078 -vt 0.521659 0.545419 -vt 0.305033 0.254813 -vt 0.298720 0.253970 -vt 0.299975 0.248798 -vt 0.300374 0.248798 -vt 0.300435 0.249176 -vt 0.522874 0.546187 -vt 0.522337 0.547172 -vt 0.522819 0.546883 -vt 0.522688 0.547172 -vt 0.522688 0.544324 -vt 0.296686 0.259208 -vt 0.302704 0.242628 -vt 0.303984 0.253603 -vt 0.304343 0.243275 -vt 0.302674 0.254002 -vt 0.299859 0.259229 -vt 0.302723 0.242628 -vt 0.299801 0.262272 -vt 0.302723 0.242628 -vt 0.304117 0.253026 -vt 0.304128 0.253216 -vt 0.304111 0.253070 -vt 0.304120 0.253220 -vt 0.304079 0.252947 -vt 0.304090 0.252947 -vt 0.304081 0.253008 -vt 0.304089 0.253008 -vt 0.304045 0.253183 -vt 0.304055 0.253016 -vt 0.304062 0.253063 -vt 0.304128 0.253526 -vt 0.304079 0.253526 -vt 0.304120 0.253465 -vt 0.304055 0.253457 -vt 0.304081 0.253465 -vt 0.304128 0.253465 -vt 0.304062 0.253411 -vt 0.302665 0.262824 -vt 0.302656 0.262974 -vt 0.302647 0.262970 -vt 0.302659 0.262780 -vt 0.302686 0.262701 -vt 0.302687 0.262762 -vt 0.302697 0.262701 -vt 0.302695 0.262762 -vt 0.302721 0.262771 -vt 0.302731 0.263045 -vt 0.302721 0.263211 -vt 0.302697 0.263280 -vt 0.302695 0.263219 -vt 0.302647 0.263280 -vt 0.302656 0.263219 -vt 0.302647 0.263219 -vt 0.302714 0.263165 -vt 0.302722 0.263033 -vt 0.335822 0.218981 -vt 0.335769 0.219065 -vt 0.335769 0.218981 -vt 0.335755 0.225641 -vt 0.335849 0.226057 -vt 0.335755 0.226057 -vt 0.335769 0.219305 -vt 0.335822 0.219227 -vt 0.335823 0.219305 -vt 0.329135 0.227214 -vt 0.329228 0.227277 -vt 0.329135 0.227277 -vt 0.335654 0.226853 -vt 0.335601 0.226920 -vt 0.335601 0.226853 -vt 0.329954 0.227117 -vt 0.329898 0.227044 -vt 0.329991 0.227083 -vt 0.335601 0.226728 -vt 0.335843 0.219325 -vt 0.335843 0.219360 -vt 0.329135 0.227095 -vt 0.329228 0.227125 -vt 0.329135 0.227125 -vt 0.329135 0.226919 -vt 0.329228 0.226998 -vt 0.329135 0.226998 -vt 0.335769 0.219156 -vt 0.335769 0.219227 -vt 0.329135 0.226897 -vt 0.329228 0.226919 -vt 0.335822 0.219156 -vt 0.335769 0.218938 -vt 0.328619 0.223238 -vt 0.328635 0.223238 -vt 0.328657 0.223258 -vt 0.329135 0.227379 -vt 0.329228 0.227214 -vt 0.329228 0.227518 -vt 0.329135 0.227518 -vt 0.335305 0.220602 -vt 0.335376 0.220662 -vt 0.335843 0.219156 -vt 0.335251 0.220420 -vt 0.335261 0.220513 -vt 0.335843 0.219065 -vt 0.335843 0.218981 -vt 0.335323 0.220290 -vt 0.335285 0.220372 -vt 0.335266 0.220363 -vt 0.329936 0.227126 -vt 0.329884 0.227060 -vt 0.335520 0.220704 -vt 0.335843 0.219227 -vt 0.335449 0.220243 -vt 0.335446 0.220222 -vt 0.335823 0.219065 -vt 0.335822 0.218938 -vt 0.335843 0.218938 -vt 0.329772 0.226997 -vt 0.329775 0.226976 -vt 0.335209 0.220399 -vt 0.335849 0.225641 -vt 0.335654 0.226920 -vt 0.330137 0.227454 -vt 0.330130 0.227495 -vt 0.330076 0.227404 -vt 0.329701 0.227495 -vt 0.329845 0.227416 -vt 0.329701 0.227458 -vt 0.329916 0.227356 -vt 0.330012 0.227153 -vt 0.330030 0.227266 -vt 0.329969 0.227174 -vt 0.330031 0.227310 -vt 0.329960 0.227267 -vt 0.329777 0.226959 -vt 0.329920 0.227009 -vt 0.335654 0.226728 -vt 0.335749 0.219360 -vt 0.335749 0.219325 -vt 0.329228 0.227095 -vt 0.329228 0.226897 -vt 0.328657 0.223311 -vt 0.328619 0.223331 -vt 0.328635 0.223331 -vt 0.329228 0.227379 -vt 0.335337 0.220306 -vt 0.335520 0.220741 -vt 0.335091 0.220741 -vt 0.335084 0.220700 -vt 0.335145 0.220650 -vt 0.335191 0.220556 -vt 0.335191 0.220512 -vt 0.335230 0.220329 -vt 0.335301 0.220255 -vt 0.335444 0.220205 -vt 0.707937 0.465422 -vt 0.708872 0.468838 -vt 0.707937 0.468838 -vt 0.708820 0.455021 -vt 0.707886 0.451604 -vt 0.708820 0.451604 -vt 0.651887 0.595369 -vt 0.652822 0.583512 -vt 0.652822 0.595369 -vt 0.677328 0.571836 -vt 0.676394 0.583693 -vt 0.676394 0.571836 -vt 0.707886 0.591559 -vt 0.708821 0.594976 -vt 0.707886 0.594976 -vt 0.708808 0.522067 -vt 0.707874 0.518650 -vt 0.708808 0.518650 -vt 0.708001 0.525709 -vt 0.708935 0.531638 -vt 0.708001 0.531638 -vt 0.708888 0.492225 -vt 0.707953 0.498153 -vt 0.707953 0.492225 -vt 0.593089 0.552794 -vt 0.601584 0.548591 -vt 0.604152 0.552794 -vt 0.641984 0.553042 -vt 0.630921 0.553042 -vt 0.639417 0.548840 -vt 0.708001 0.524227 -vt 0.708935 0.525709 -vt 0.707953 0.490743 -vt 0.708888 0.490743 -vt 0.708808 0.514434 -vt 0.707874 0.511234 -vt 0.708808 0.511234 -vt 0.707886 0.587344 -vt 0.708821 0.584143 -vt 0.708821 0.587344 -vt 0.707874 0.514434 -vt 0.708821 0.591559 -vt 0.708888 0.498153 -vt 0.707953 0.499635 -vt 0.708935 0.533120 -vt 0.708001 0.533120 -vt 0.708820 0.444188 -vt 0.707886 0.447389 -vt 0.707886 0.444188 -vt 0.707937 0.458006 -vt 0.708872 0.461206 -vt 0.707937 0.461206 -vt 0.708820 0.447389 -vt 0.708872 0.465422 -vt 0.336737 0.306212 -vt 0.346243 0.303143 -vt 0.346243 0.306212 -vt 0.341108 0.203970 -vt 0.350614 0.200901 -vt 0.350614 0.203970 -vt 0.341108 0.198243 -vt 0.350614 0.198243 -vt 0.350614 0.196709 -vt 0.325975 0.310228 -vt 0.335481 0.307570 -vt 0.335481 0.310228 -vt 0.325975 0.307570 -vt 0.335481 0.304501 -vt 0.325975 0.304501 -vt 0.335481 0.301843 -vt 0.325975 0.301843 -vt 0.335481 0.300309 -vt 0.346243 0.310404 -vt 0.336737 0.308870 -vt 0.346243 0.308870 -vt 0.341108 0.206627 -vt 0.350614 0.206627 -vt 0.362721 0.245531 -vt 0.363940 0.243419 -vt 0.371823 0.245531 -vt 0.336737 0.303143 -vt 0.346243 0.300486 -vt 0.363080 0.262396 -vt 0.366053 0.262755 -vt 0.365738 0.263930 -vt 0.365738 0.241024 -vt 0.368492 0.242199 -vt 0.366053 0.242199 -vt 0.361546 0.259738 -vt 0.363940 0.261535 -vt 0.363080 0.242559 -vt 0.361546 0.256669 -vt 0.362721 0.259423 -vt 0.361546 0.245216 -vt 0.363940 0.254872 -vt 0.362721 0.256984 -vt 0.362721 0.247970 -vt 0.361546 0.248285 -vt 0.363080 0.254011 -vt 0.366053 0.253652 -vt 0.363940 0.250082 -vt 0.363080 0.250943 -vt 0.365738 0.252477 -vt 0.368492 0.253652 -vt 0.366053 0.251302 -vt 0.365738 0.252477 -vt 0.371464 0.254011 -vt 0.368806 0.252477 -vt 0.368806 0.252477 -vt 0.368492 0.251302 -vt 0.372998 0.256669 -vt 0.370604 0.254872 -vt 0.371464 0.250943 -vt 0.370604 0.250082 -vt 0.372998 0.259738 -vt 0.371823 0.256984 -vt 0.372998 0.248285 -vt 0.371823 0.247970 -vt 0.370604 0.261535 -vt 0.371823 0.259423 -vt 0.372998 0.245216 -vt 0.371464 0.262396 -vt 0.368492 0.262755 -vt 0.370604 0.243419 -vt 0.371464 0.242559 -vt 0.368806 0.263930 -vt 0.368806 0.241024 -vt 0.707886 0.455021 -vt 0.651887 0.583512 -vt 0.677328 0.583693 -vt 0.707874 0.522067 -vt 0.592692 0.556996 -vt 0.594174 0.549717 -vt 0.595656 0.548591 -vt 0.603067 0.549717 -vt 0.604549 0.556996 -vt 0.604549 0.560448 -vt 0.592692 0.560448 -vt 0.632006 0.549966 -vt 0.633488 0.548840 -vt 0.640899 0.549966 -vt 0.642381 0.557244 -vt 0.630524 0.557244 -vt 0.642381 0.560696 -vt 0.630524 0.560696 -vt 0.708935 0.524227 -vt 0.707886 0.584143 -vt 0.708888 0.499635 -vt 0.708872 0.458006 -vt 0.341108 0.200901 -vt 0.341108 0.196709 -vt 0.325975 0.300309 -vt 0.336737 0.310404 -vt 0.336737 0.300486 -vt 0.469624 0.573243 -vt 0.470578 0.573548 -vt 0.469624 0.573550 -vt 0.472186 0.572936 -vt 0.471257 0.572690 -vt 0.472187 0.572688 -vt 0.469598 0.516040 -vt 0.469586 0.518487 -vt 0.469585 0.516040 -vt 0.532770 0.494634 -vt 0.532715 0.494492 -vt 0.532917 0.494378 -vt 0.131564 0.489261 -vt 0.131426 0.495393 -vt 0.131426 0.489261 -vt 0.530476 0.491158 -vt 0.530497 0.491163 -vt 0.530483 0.491168 -vt 0.520988 0.515367 -vt 0.521918 0.514970 -vt 0.521918 0.515367 -vt 0.521918 0.515830 -vt 0.516935 0.572539 -vt 0.516005 0.570924 -vt 0.516935 0.570922 -vt 0.507709 0.571322 -vt 0.506781 0.570845 -vt 0.507711 0.570848 -vt 0.532794 0.500067 -vt 0.532264 0.500484 -vt 0.532681 0.500129 -vt 0.506782 0.574184 -vt 0.507710 0.574001 -vt 0.507711 0.574184 -vt 0.536884 0.565742 -vt 0.536641 0.564788 -vt 0.536884 0.564788 -vt 0.536640 0.565742 -vt 0.536142 0.564788 -vt 0.532750 0.498371 -vt 0.532750 0.499128 -vt 0.532657 0.498210 -vt 0.515864 0.572491 -vt 0.514910 0.572901 -vt 0.514910 0.572491 -vt 0.514910 0.571639 -vt 0.515864 0.571639 -vt 0.515864 0.573199 -vt 0.515864 0.572901 -vt 0.469624 0.572829 -vt 0.470578 0.573241 -vt 0.515864 0.570923 -vt 0.514910 0.571227 -vt 0.514910 0.570922 -vt 0.469624 0.571275 -vt 0.470578 0.571568 -vt 0.469624 0.571570 -vt 0.499371 0.558878 -vt 0.500325 0.559109 -vt 0.499371 0.559111 -vt 0.530289 0.492626 -vt 0.531805 0.493639 -vt 0.530352 0.492869 -vt 0.470578 0.571977 -vt 0.469624 0.571979 -vt 0.515864 0.571227 -vt 0.532792 0.499880 -vt 0.532847 0.499738 -vt 0.532996 0.499993 -vt 0.530575 0.503209 -vt 0.530555 0.503214 -vt 0.530561 0.503204 -vt 0.499371 0.559610 -vt 0.500325 0.559857 -vt 0.499371 0.559859 -vt 0.500325 0.559608 -vt 0.536140 0.565742 -vt 0.535904 0.564788 -vt 0.529587 0.502971 -vt 0.529689 0.503055 -vt 0.529503 0.503162 -vt 0.542204 0.523354 -vt 0.541280 0.522528 -vt 0.542210 0.522528 -vt 0.471257 0.571494 -vt 0.472187 0.571492 -vt 0.542203 0.523562 -vt 0.541274 0.523355 -vt 0.542210 0.526084 -vt 0.541279 0.525796 -vt 0.542209 0.525794 -vt 0.541273 0.523563 -vt 0.453432 0.557975 -vt 0.452502 0.563755 -vt 0.452502 0.557975 -vt 0.542211 0.526393 -vt 0.541280 0.526086 -vt 0.532581 0.496162 -vt 0.532675 0.496001 -vt 0.532743 0.496433 -vt 0.529610 0.491319 -vt 0.529508 0.491403 -vt 0.529421 0.491209 -vt 0.541282 0.526785 -vt 0.542211 0.526783 -vt 0.472186 0.571274 -vt 0.520988 0.514970 -vt 0.521918 0.514672 -vt 0.343867 0.236077 -vt 0.336655 0.246373 -vt 0.336655 0.236077 -vt 0.506780 0.574001 -vt 0.507707 0.573770 -vt 0.506774 0.573446 -vt 0.507703 0.573215 -vt 0.507704 0.573447 -vt 0.506778 0.573770 -vt 0.516935 0.572580 -vt 0.516005 0.572540 -vt 0.506778 0.571716 -vt 0.507708 0.571718 -vt 0.510568 0.573354 -vt 0.511498 0.573432 -vt 0.510568 0.573433 -vt 0.506780 0.571320 -vt 0.469604 0.510537 -vt 0.469600 0.510083 -vt 0.469604 0.509201 -vt 0.470578 0.572827 -vt 0.511498 0.573353 -vt 0.510568 0.573277 -vt 0.511498 0.573277 -vt 0.511498 0.572960 -vt 0.510568 0.571517 -vt 0.511498 0.571517 -vt 0.510568 0.573106 -vt 0.511498 0.573106 -vt 0.511498 0.571098 -vt 0.510568 0.570828 -vt 0.511498 0.570827 -vt 0.533415 0.492544 -vt 0.534735 0.492619 -vt 0.532838 0.492618 -vt 0.510568 0.571098 -vt 0.511498 0.573193 -vt 0.516934 0.573011 -vt 0.516005 0.572580 -vt 0.532604 0.494243 -vt 0.532148 0.493940 -vt 0.541282 0.522287 -vt 0.542212 0.522287 -vt 0.138848 0.360189 -vt 0.138830 0.360062 -vt 0.138897 0.360206 -vt 0.117926 0.434006 -vt 0.117957 0.433792 -vt 0.118040 0.433763 -vt 0.469512 0.522842 -vt 0.469524 0.520395 -vt 0.469524 0.522842 -vt 0.469622 0.531227 -vt 0.469609 0.529764 -vt 0.469622 0.529763 -vt 0.131057 0.435963 -vt 0.131024 0.444699 -vt 0.130919 0.435963 -vt 0.486687 0.529696 -vt 0.486700 0.528949 -vt 0.486699 0.529696 -vt 0.469622 0.531228 -vt 0.469609 0.532190 -vt 0.469609 0.531227 -vt 0.131024 0.407666 -vt 0.131162 0.407667 -vt 0.486748 0.531758 -vt 0.486735 0.530797 -vt 0.486748 0.530797 -vt 0.082788 0.429500 -vt 0.082725 0.429229 -vt 0.082788 0.429206 -vt 0.137739 0.360607 -vt 0.138120 0.361450 -vt 0.137707 0.360625 -vt 0.469535 0.535276 -vt 0.469548 0.534991 -vt 0.469548 0.535276 -vt 0.056629 0.413828 -vt 0.056566 0.412259 -vt 0.056629 0.412260 -vt 0.469535 0.528273 -vt 0.469548 0.529737 -vt 0.469535 0.529737 -vt 0.486601 0.529750 -vt 0.486604 0.528961 -vt 0.486614 0.529750 -vt 0.469622 0.533212 -vt 0.469609 0.533959 -vt 0.469609 0.533212 -vt 0.469512 0.523804 -vt 0.469524 0.522842 -vt 0.469524 0.523805 -vt 0.486601 0.526405 -vt 0.486591 0.528960 -vt 0.469536 0.532221 -vt 0.469548 0.533181 -vt 0.469536 0.533181 -vt 0.130603 0.445998 -vt 0.130772 0.445588 -vt 0.131176 0.444700 -vt 0.500349 0.534963 -vt 0.500336 0.535247 -vt 0.500336 0.534963 -vt 0.500262 0.534118 -vt 0.500250 0.534671 -vt 0.500250 0.534118 -vt 0.116722 0.431649 -vt 0.116076 0.433080 -vt 0.116021 0.433049 -vt 0.102769 0.377107 -vt 0.102732 0.378032 -vt 0.102732 0.377108 -vt 0.469512 0.518487 -vt 0.469521 0.518506 -vt 0.469524 0.518551 -vt 0.138092 0.362744 -vt 0.138157 0.361441 -vt 0.102769 0.379243 -vt 0.102769 0.378036 -vt 0.138374 0.362642 -vt 0.138053 0.362807 -vt 0.111381 0.382347 -vt 0.111344 0.382696 -vt 0.111344 0.382322 -vt 0.138686 0.362981 -vt 0.138384 0.362593 -vt 0.111325 0.383264 -vt 0.111362 0.383730 -vt 0.111325 0.383746 -vt 0.138841 0.362902 -vt 0.138676 0.363029 -vt 0.100079 0.382221 -vt 0.100116 0.382480 -vt 0.100079 0.382468 -vt 0.138666 0.362599 -vt 0.138897 0.362917 -vt 0.100061 0.380170 -vt 0.100093 0.379789 -vt 0.100098 0.380184 -vt 0.138628 0.362610 -vt 0.138696 0.361199 -vt 0.100056 0.379787 -vt 0.100098 0.378507 -vt 0.138755 0.361087 -vt 0.138659 0.361182 -vt 0.102780 0.385478 -vt 0.102743 0.385351 -vt 0.102780 0.385340 -vt 0.138473 0.360439 -vt 0.138801 0.361096 -vt 0.102737 0.383454 -vt 0.102774 0.382730 -vt 0.102774 0.383464 -vt 0.138423 0.360422 -vt 0.102737 0.383479 -vt 0.102774 0.383947 -vt 0.102737 0.383962 -vt 0.500349 0.534940 -vt 0.500336 0.534940 -vt 0.500336 0.534593 -vt 0.469586 0.514197 -vt 0.469589 0.514151 -vt 0.469598 0.514132 -vt 0.056566 0.415881 -vt 0.056566 0.413834 -vt 0.116676 0.429455 -vt 0.116784 0.431665 -vt 0.056649 0.429070 -vt 0.056586 0.428479 -vt 0.056649 0.428435 -vt 0.117154 0.429629 -vt 0.116609 0.429348 -vt 0.056597 0.428409 -vt 0.056660 0.427618 -vt 0.056660 0.428435 -vt 0.117682 0.429055 -vt 0.117170 0.429711 -vt 0.082714 0.429206 -vt 0.082652 0.429645 -vt 0.082652 0.429226 -vt 0.117666 0.428973 -vt 0.117945 0.429188 -vt 0.071106 0.424819 -vt 0.071176 0.425466 -vt 0.071114 0.425490 -vt 0.117649 0.429701 -vt 0.118040 0.429164 -vt 0.071114 0.422645 -vt 0.071168 0.424816 -vt 0.117700 0.432078 -vt 0.117585 0.429683 -vt 0.082788 0.429924 -vt 0.082725 0.430140 -vt 0.082725 0.429905 -vt 0.117800 0.432267 -vt 0.117636 0.432106 -vt 0.056597 0.424234 -vt 0.056660 0.425462 -vt 0.056597 0.425479 -vt 0.117319 0.433369 -vt 0.117878 0.432253 -vt 0.056577 0.420433 -vt 0.056639 0.419641 -vt 0.056639 0.420460 -vt 0.117234 0.433397 -vt 0.500349 0.534528 -vt 0.500340 0.534509 -vt 0.500337 0.534464 -vt 0.118145 0.385312 -vt 0.118182 0.385152 -vt 0.118182 0.385326 -vt 0.111368 0.381074 -vt 0.111338 0.381088 -vt 0.111351 0.381057 -vt 0.137704 0.360602 -vt 0.111382 0.381034 -vt 0.111387 0.381034 -vt 0.102761 0.377084 -vt 0.102730 0.377085 -vt 0.111368 0.382281 -vt 0.111338 0.382267 -vt 0.111361 0.382263 -vt 0.138814 0.360045 -vt 0.138796 0.360077 -vt 0.138785 0.360058 -vt 0.111382 0.382321 -vt 0.111351 0.382299 -vt 0.118152 0.385131 -vt 0.118145 0.385153 -vt 0.052089 0.423300 -vt 0.052113 0.423368 -vt 0.052059 0.423329 -vt 0.056579 0.412219 -vt 0.052037 0.423276 -vt 0.052076 0.423268 -vt 0.116016 0.433088 -vt 0.116062 0.433114 -vt 0.052089 0.421251 -vt 0.052113 0.421183 -vt 0.052120 0.421183 -vt 0.082737 0.429536 -vt 0.082791 0.429539 -vt 0.052037 0.421275 -vt 0.052059 0.421221 -vt 0.117900 0.434034 -vt 0.117869 0.433980 -vt 0.137732 0.360587 -vt 0.111361 0.381093 -vt 0.486785 0.528949 -vt 0.486748 0.528869 -vt 0.486733 0.528832 -vt 0.534820 0.503075 -vt 0.534285 0.503138 -vt 0.534351 0.503075 -vt 0.605304 0.501001 -vt 0.598374 0.501702 -vt 0.598672 0.501001 -vt 0.534821 0.497471 -vt 0.534881 0.503138 -vt 0.453495 0.558002 -vt 0.453432 0.563757 -vt 0.533296 0.497410 -vt 0.534881 0.497408 -vt 0.516998 0.570950 -vt 0.598374 0.511998 -vt 0.605303 0.512699 -vt 0.598672 0.512699 -vt 0.534206 0.491233 -vt 0.534741 0.491297 -vt 0.534272 0.491296 -vt 0.452438 0.563729 -vt 0.452438 0.558002 -vt 0.534801 0.496961 -vt 0.534801 0.491234 -vt 0.515941 0.570953 -vt 0.533219 0.496961 -vt 0.534741 0.496898 -vt 0.529676 0.503300 -vt 0.529452 0.503211 -vt 0.542275 0.522308 -vt 0.529594 0.491071 -vt 0.529604 0.491136 -vt 0.541218 0.522308 -vt 0.541217 0.522531 -vt 0.529364 0.502982 -vt 0.529431 0.502972 -vt 0.472249 0.572916 -vt 0.472250 0.572684 -vt 0.529282 0.491389 -vt 0.529370 0.491161 -vt 0.471192 0.572918 -vt 0.471256 0.572937 -vt 0.542266 0.523525 -vt 0.530510 0.503280 -vt 0.530661 0.503238 -vt 0.541210 0.523526 -vt 0.541210 0.523373 -vt 0.530431 0.491092 -vt 0.529686 0.503235 -vt 0.542273 0.522532 -vt 0.533162 0.501828 -vt 0.532865 0.501972 -vt 0.532820 0.501920 -vt 0.542273 0.526081 -vt 0.542272 0.525775 -vt 0.533084 0.492544 -vt 0.532787 0.492400 -vt 0.533090 0.492481 -vt 0.541217 0.526083 -vt 0.532743 0.492453 -vt 0.530583 0.491134 -vt 0.541216 0.525777 -vt 0.534351 0.502690 -vt 0.534178 0.502295 -vt 0.534237 0.502263 -vt 0.521981 0.515364 -vt 0.521981 0.514957 -vt 0.534272 0.491682 -vt 0.534099 0.492076 -vt 0.534206 0.491674 -vt 0.520925 0.515364 -vt 0.533882 0.501998 -vt 0.533917 0.501942 -vt 0.521981 0.514649 -vt 0.533839 0.492430 -vt 0.534159 0.492109 -vt 0.520924 0.514649 -vt 0.520925 0.514957 -vt 0.533493 0.501828 -vt 0.533481 0.501891 -vt 0.542274 0.526397 -vt 0.533804 0.492374 -vt 0.541217 0.526399 -vt 0.541218 0.526799 -vt 0.521981 0.515804 -vt 0.534285 0.502698 -vt 0.520925 0.515804 -vt 0.520988 0.515830 -vt 0.533404 0.492481 -vt 0.541281 0.526395 -vt 0.529527 0.501620 -vt 0.529404 0.501793 -vt 0.529469 0.501583 -vt 0.472249 0.571289 -vt 0.529445 0.492752 -vt 0.529323 0.492579 -vt 0.529388 0.492568 -vt 0.471193 0.571292 -vt 0.471193 0.571499 -vt 0.529657 0.501512 -vt 0.529629 0.501451 -vt 0.507773 0.573993 -vt 0.529548 0.492921 -vt 0.529388 0.492789 -vt 0.506718 0.574162 -vt 0.529846 0.501427 -vt 0.529847 0.501491 -vt 0.507771 0.573773 -vt 0.529576 0.492859 -vt 0.529765 0.492944 -vt 0.506716 0.573992 -vt 0.529349 0.491400 -vt 0.471193 0.572686 -vt 0.530431 0.501502 -vt 0.530172 0.501480 -vt 0.530408 0.501441 -vt 0.507766 0.573209 -vt 0.530096 0.492826 -vt 0.530329 0.492930 -vt 0.530093 0.492891 -vt 0.506710 0.573448 -vt 0.506773 0.573215 -vt 0.529767 0.492880 -vt 0.506714 0.573773 -vt 0.507773 0.571309 -vt 0.507771 0.571706 -vt 0.531849 0.500677 -vt 0.531883 0.500732 -vt 0.506716 0.571307 -vt 0.531770 0.493694 -vt 0.506715 0.571705 -vt 0.506709 0.573209 -vt 0.511561 0.573365 -vt 0.511561 0.573451 -vt 0.532734 0.500041 -vt 0.510505 0.573366 -vt 0.532656 0.494331 -vt 0.532717 0.494304 -vt 0.507774 0.570830 -vt 0.532702 0.497784 -vt 0.532764 0.497808 -vt 0.511561 0.571522 -vt 0.511561 0.571109 -vt 0.532627 0.496588 -vt 0.532515 0.496170 -vt 0.510504 0.571522 -vt 0.532894 0.497575 -vt 0.532849 0.497520 -vt 0.511561 0.570850 -vt 0.532819 0.496797 -vt 0.532688 0.496563 -vt 0.510505 0.570851 -vt 0.510505 0.571109 -vt 0.533257 0.497410 -vt 0.533268 0.497473 -vt 0.516998 0.572996 -vt 0.516998 0.572579 -vt 0.533181 0.496961 -vt 0.532774 0.496851 -vt 0.515941 0.572996 -vt 0.516005 0.573011 -vt 0.533303 0.497473 -vt 0.516998 0.572539 -vt 0.533192 0.496897 -vt 0.515941 0.572579 -vt 0.532657 0.499627 -vt 0.532639 0.499777 -vt 0.532591 0.499638 -vt 0.511561 0.572957 -vt 0.532580 0.494745 -vt 0.532563 0.494595 -vt 0.532625 0.494616 -vt 0.510505 0.572957 -vt 0.510505 0.573098 -vt 0.532591 0.498202 -vt 0.532515 0.494734 -vt 0.510568 0.572960 -vt 0.510568 0.573193 -vt 0.510505 0.573256 -vt 0.510505 0.573193 -vt 0.532634 0.494503 -vt 0.532711 0.494505 -vt 0.511561 0.573256 -vt 0.532711 0.499869 -vt 0.532733 0.499932 -vt 0.532656 0.494440 -vt 0.532701 0.499756 -vt 0.511561 0.573098 -vt 0.534814 0.501753 -vt 0.479935 0.554099 -vt 0.479846 0.554100 -vt 0.479846 0.552991 -vt 0.479486 0.554097 -vt 0.479618 0.552989 -vt 0.479618 0.554098 -vt 0.453578 0.562224 -vt 0.453710 0.563332 -vt 0.453578 0.563333 -vt 0.479724 0.552992 -vt 0.522916 0.515758 -vt 0.523042 0.514651 -vt 0.523042 0.515760 -vt 0.453811 0.562224 -vt 0.453710 0.562223 -vt 0.523170 0.514652 -vt 0.480072 0.554098 -vt 0.479976 0.552990 -vt 0.480072 0.552989 -vt 0.453535 0.563333 -vt 0.453535 0.562224 -vt 0.479371 0.552989 -vt 0.479486 0.552989 -vt 0.479724 0.552990 -vt 0.479724 0.554098 -vt 0.533796 0.497552 -vt 0.533303 0.497474 -vt 0.533817 0.497473 -vt 0.534037 0.497662 -vt 0.534133 0.496406 -vt 0.534283 0.496000 -vt 0.534216 0.496432 -vt 0.533059 0.499940 -vt 0.532883 0.499639 -vt 0.534283 0.495137 -vt 0.534133 0.494733 -vt 0.534215 0.494705 -vt 0.536939 0.565820 -vt 0.536642 0.565820 -vt 0.534362 0.499232 -vt 0.534277 0.498374 -vt 0.534362 0.498369 -vt 0.533958 0.496707 -vt 0.533738 0.496896 -vt 0.533718 0.496817 -vt 0.532980 0.494431 -vt 0.532806 0.494734 -vt 0.534295 0.497937 -vt 0.534099 0.497603 -vt 0.534213 0.499637 -vt 0.534295 0.499664 -vt 0.534037 0.499938 -vt 0.536939 0.564711 -vt 0.536644 0.564711 -vt 0.534197 0.495144 -vt 0.534198 0.495995 -vt 0.533742 0.494243 -vt 0.533219 0.494321 -vt 0.533211 0.494242 -vt 0.533059 0.497663 -vt 0.532818 0.497939 -vt 0.533011 0.497608 -vt 0.534020 0.496767 -vt 0.533957 0.494431 -vt 0.515941 0.572498 -vt 0.515941 0.572929 -vt 0.533796 0.500049 -vt 0.533291 0.500127 -vt 0.533299 0.500049 -vt 0.532983 0.496709 -vt 0.532936 0.496764 -vt 0.515941 0.571741 -vt 0.515941 0.571130 -vt 0.533822 0.500127 -vt 0.514832 0.572498 -vt 0.514832 0.572929 -vt 0.514832 0.571739 -vt 0.514832 0.571129 -vt 0.533226 0.496897 -vt 0.534213 0.497963 -vt 0.533716 0.494321 -vt 0.530368 0.501747 -vt 0.469598 0.518487 -vt 0.131564 0.495393 -vt 0.532226 0.500431 -vt 0.532787 0.499867 -vt 0.514910 0.573199 -vt 0.470578 0.571274 -vt 0.500325 0.558877 -vt 0.530441 0.491263 -vt 0.530449 0.492011 -vt 0.529908 0.491618 -vt 0.529488 0.492204 -vt 0.529824 0.491721 -vt 0.529858 0.491369 -vt 0.529653 0.491306 -vt 0.529741 0.491306 -vt 0.529920 0.491486 -vt 0.529697 0.491759 -vt 0.529571 0.491720 -vt 0.529487 0.491618 -vt 0.529474 0.491485 -vt 0.529487 0.491442 -vt 0.529492 0.492758 -vt 0.532739 0.493922 -vt 0.532832 0.494210 -vt 0.534326 0.495175 -vt 0.534736 0.495187 -vt 0.533226 0.496897 -vt 0.534289 0.494211 -vt 0.534019 0.494370 -vt 0.535901 0.565742 -vt 0.529731 0.503068 -vt 0.529566 0.502931 -vt 0.532674 0.495243 -vt 0.471256 0.571275 -vt 0.520988 0.514672 -vt 0.343867 0.246373 -vt 0.469512 0.520395 -vt 0.469609 0.531227 -vt 0.131162 0.444700 -vt 0.486687 0.528949 -vt 0.469622 0.532190 -vt 0.486735 0.531758 -vt 0.082725 0.429498 -vt 0.469535 0.534991 -vt 0.469548 0.528273 -vt 0.469622 0.533959 -vt 0.469512 0.522842 -vt 0.486613 0.526405 -vt 0.469548 0.532220 -vt 0.131176 0.473138 -vt 0.130772 0.472250 -vt 0.130603 0.471842 -vt 0.500349 0.535247 -vt 0.500262 0.534671 -vt 0.102732 0.379259 -vt 0.111381 0.382708 -vt 0.111362 0.383248 -vt 0.100116 0.382202 -vt 0.100061 0.378495 -vt 0.102743 0.385494 -vt 0.102737 0.382717 -vt 0.102774 0.383464 -vt 0.500340 0.534547 -vt 0.500349 0.534528 -vt 0.056629 0.415909 -vt 0.056587 0.429091 -vt 0.056597 0.427592 -vt 0.082714 0.429677 -vt 0.071176 0.422625 -vt 0.082788 0.430166 -vt 0.056660 0.424210 -vt 0.056577 0.419614 -vt 0.500337 0.534118 -vt 0.500349 0.534118 -vt 0.111387 0.382322 -vt 0.118184 0.385129 -vt 0.052120 0.423368 -vt 0.056632 0.412220 -vt 0.052076 0.421283 -vt 0.117850 0.434012 -vt 0.486733 0.526499 -vt 0.486748 0.526462 -vt 0.486785 0.526382 -vt 0.605586 0.501702 -vt 0.453495 0.563731 -vt 0.605586 0.511998 -vt 0.515941 0.572541 -vt 0.542267 0.523372 -vt 0.533167 0.501891 -vt 0.542275 0.526797 -vt 0.529470 0.501803 -vt 0.472250 0.571497 -vt 0.507774 0.574163 -vt 0.530175 0.501544 -vt 0.507767 0.573449 -vt 0.510505 0.573452 -vt 0.506718 0.570827 -vt 0.511561 0.573193 -vt 0.530520 0.503109 -vt 0.532917 0.501755 -vt 0.534814 0.499184 -vt 0.479935 0.552990 -vt 0.479976 0.554099 -vt 0.479724 0.554101 -vt 0.522916 0.514649 -vt 0.453811 0.563333 -vt 0.523170 0.515761 -vt 0.453495 0.563333 -vt 0.453495 0.562224 -vt 0.479371 0.554098 -vt 0.533299 0.497553 -vt 0.534277 0.499226 -vt 0.534099 0.499999 -vt 0.532883 0.497965 -vt 0.532807 0.496407 -vt 0.533222 0.496818 -vt 0.534405 0.499196 -vt 0.532911 0.500162 -vt 0.532818 0.500450 -vt 0.529570 0.502169 -vt 0.530528 0.502361 -vt 0.529902 0.502653 -vt 0.529985 0.502755 -vt 0.529936 0.503005 -vt 0.529820 0.503067 -vt 0.529998 0.502887 -vt 0.529776 0.502614 -vt 0.529649 0.502653 -vt 0.529566 0.502756 -vt 0.529573 0.501615 -vt 0.529553 0.502888 -vt 0.534372 0.500160 -vt 0.160157 0.499602 -vt 0.230756 0.466512 -vt 0.230756 0.499602 -vt 0.075316 0.466512 -vt 0.101352 0.499602 -vt 0.075316 0.499602 -vt 0.153387 0.494846 -vt 0.174194 0.497015 -vt 0.153387 0.497015 -vt 0.151208 0.529883 -vt 0.172016 0.519741 -vt 0.172016 0.529883 -vt 0.310036 0.252282 -vt 0.309624 0.250769 -vt 0.310036 0.250769 -vt 0.105932 0.451224 -vt 0.068472 0.484313 -vt 0.068472 0.451224 -vt 0.170482 0.473513 -vt 0.171997 0.506605 -vt 0.170482 0.506605 -vt 0.132101 0.506605 -vt 0.120481 0.473513 -vt 0.132101 0.473513 -vt 0.154314 0.473513 -vt 0.090573 0.506605 -vt 0.076838 0.473513 -vt 0.090573 0.473513 -vt 0.105900 0.506605 -vt 0.105900 0.473513 -vt 0.310036 0.250244 -vt 0.120481 0.506605 -vt 0.054579 0.506605 -vt 0.054579 0.473513 -vt 0.309624 0.250244 -vt 0.310036 0.249643 -vt 0.309624 0.249643 -vt 0.310036 0.249126 -vt 0.309624 0.248937 -vt 0.310036 0.248937 -vt 0.162867 0.473513 -vt 0.154314 0.506605 -vt 0.091561 0.474299 -vt 0.039956 0.507391 -vt 0.039956 0.474299 -vt 0.132907 0.451224 -vt 0.105932 0.484313 -vt 0.132407 0.466512 -vt 0.132407 0.499602 -vt 0.172016 0.516931 -vt 0.151208 0.519741 -vt 0.151208 0.516931 -vt 0.101352 0.466512 -vt 0.172016 0.513230 -vt 0.309624 0.248857 -vt 0.052684 0.466512 -vt 0.064121 0.499602 -vt 0.052684 0.499602 -vt 0.046211 0.466512 -vt 0.048711 0.499602 -vt 0.046211 0.499602 -vt 0.048711 0.466512 -vt 0.090538 0.465110 -vt 0.041220 0.465110 -vt 0.087627 0.457317 -vt 0.012009 0.403634 -vt 0.020195 0.343736 -vt 0.017304 0.396378 -vt 0.023561 0.387965 -vt 0.043531 0.356130 -vt 0.041689 0.346714 -vt 0.091948 0.281023 -vt 0.082607 0.283347 -vt 0.104541 0.434241 -vt 0.066760 0.442032 -vt 0.061887 0.434241 -vt 0.105568 0.442032 -vt 0.025445 0.353624 -vt 0.040135 0.338850 -vt 0.128910 0.434241 -vt 0.131869 0.442032 -vt 0.025529 0.610837 -vt 0.017366 0.568106 -vt 0.023641 0.576478 -vt 0.020258 0.620775 -vt 0.012009 0.560973 -vt 0.044820 0.524374 -vt 0.090538 0.516580 -vt 0.087627 0.524374 -vt 0.041220 0.516580 -vt 0.091561 0.507391 -vt 0.105568 0.493504 -vt 0.066760 0.493504 -vt 0.104541 0.501298 -vt 0.061887 0.501298 -vt 0.131869 0.493504 -vt 0.128910 0.501298 -vt 0.040132 0.625775 -vt 0.041748 0.617785 -vt 0.043612 0.608321 -vt 0.080437 0.269895 -vt 0.090606 0.272878 -vt 0.163276 0.456532 -vt 0.154004 0.464324 -vt 0.153116 0.456532 -vt 0.162975 0.464324 -vt 0.163044 0.522292 -vt 0.154004 0.515796 -vt 0.162975 0.515796 -vt 0.162867 0.506605 -vt 0.078264 0.276485 -vt 0.142710 0.492443 -vt 0.147608 0.492144 -vt 0.147608 0.495825 -vt 0.184653 0.492360 -vt 0.179974 0.492144 -vt 0.184875 0.484446 -vt 0.179974 0.495825 -vt 0.174194 0.494846 -vt 0.130004 0.245818 -vt 0.116982 0.248202 -vt 0.127353 0.237677 -vt 0.114108 0.242065 -vt 0.125116 0.230896 -vt 0.118470 0.456532 -vt 0.131430 0.464324 -vt 0.119960 0.464324 -vt 0.130078 0.718647 -vt 0.117034 0.716311 -vt 0.120457 0.708881 -vt 0.127404 0.726838 -vt 0.114095 0.722575 -vt 0.118470 0.523587 -vt 0.131430 0.515796 -vt 0.129515 0.523587 -vt 0.119960 0.515796 -vt 0.140397 0.229333 -vt 0.142113 0.238075 -vt 0.138951 0.222045 -vt 0.105562 0.464324 -vt 0.104604 0.456532 -vt 0.140445 0.735180 -vt 0.138936 0.742595 -vt 0.125104 0.733746 -vt 0.105562 0.515796 -vt 0.154849 0.233543 -vt 0.154118 0.224452 -vt 0.153507 0.216867 -vt 0.090031 0.456532 -vt 0.090432 0.464324 -vt 0.154919 0.730919 -vt 0.142185 0.726390 -vt 0.154165 0.740058 -vt 0.090031 0.523587 -vt 0.104604 0.523587 -vt 0.090432 0.515796 -vt 0.166414 0.223778 -vt 0.166258 0.232917 -vt 0.166559 0.216149 -vt 0.076877 0.464324 -vt 0.076979 0.456532 -vt 0.166463 0.740728 -vt 0.166541 0.748481 -vt 0.153491 0.747768 -vt 0.076877 0.515796 -vt 0.076838 0.506605 -vt 0.129515 0.456532 -vt 0.055832 0.464324 -vt 0.059393 0.456532 -vt 0.178833 0.225496 -vt 0.172568 0.233790 -vt 0.172634 0.730663 -vt 0.166327 0.731542 -vt 0.178877 0.739002 -vt 0.059393 0.523587 -vt 0.076979 0.523587 -vt 0.055832 0.515796 -vt 0.090597 0.691757 -vt 0.092002 0.683485 -vt 0.153116 0.523587 -vt 0.371096 0.213800 -vt 0.370550 0.213904 -vt 0.370547 0.213790 -vt 0.371090 0.213915 -vt 0.370550 0.214002 -vt 0.310247 0.250773 -vt 0.310150 0.250244 -vt 0.310247 0.250241 -vt 0.310150 0.250771 -vt 0.367357 0.213801 -vt 0.367904 0.213905 -vt 0.367364 0.213915 -vt 0.367902 0.214001 -vt 0.367369 0.214011 -vt 0.309412 0.250773 -vt 0.309509 0.250244 -vt 0.309509 0.250771 -vt 0.369931 0.213951 -vt 0.369917 0.213838 -vt 0.369940 0.214048 -vt 0.310247 0.249631 -vt 0.310150 0.249640 -vt 0.367907 0.213791 -vt 0.368523 0.213952 -vt 0.309412 0.250241 -vt 0.309509 0.249640 -vt 0.310150 0.252261 -vt 0.310247 0.252202 -vt 0.371082 0.214012 -vt 0.372423 0.214031 -vt 0.372509 0.214136 -vt 0.372320 0.213907 -vt 0.366133 0.213908 -vt 0.366030 0.214032 -vt 0.365942 0.214136 -vt 0.309412 0.252202 -vt 0.309509 0.252261 -vt 0.309624 0.252282 -vt 0.166876 0.448679 -vt 0.138591 0.433063 -vt 0.141098 0.424692 -vt 0.163675 0.456399 -vt 0.136477 0.440277 -vt 0.073540 0.516587 -vt 0.101037 0.508793 -vt 0.100153 0.516587 -vt 0.074855 0.508793 -vt 0.166944 0.515671 -vt 0.138641 0.531350 -vt 0.163720 0.507990 -vt 0.136462 0.524255 -vt 0.160954 0.501446 -vt 0.073540 0.449530 -vt 0.101037 0.457321 -vt 0.074855 0.457321 -vt 0.107626 0.414213 -vt 0.109246 0.405304 -vt 0.106262 0.421885 -vt 0.131922 0.516587 -vt 0.132279 0.508793 -vt 0.141168 0.539679 -vt 0.107680 0.550223 -vt 0.106254 0.542669 -vt 0.100153 0.449532 -vt 0.132279 0.457321 -vt 0.079982 0.395780 -vt 0.079151 0.404945 -vt 0.078459 0.412837 -vt 0.160294 0.516587 -vt 0.160195 0.508793 -vt 0.080057 0.568633 -vt 0.109322 0.559091 -vt 0.079208 0.559505 -vt 0.160294 0.449530 -vt 0.131922 0.449530 -vt 0.160195 0.457321 -vt 0.063695 0.508793 -vt 0.062489 0.516587 -vt 0.160969 0.463065 -vt 0.173437 0.468065 -vt 0.170875 0.474901 -vt 0.176469 0.460142 -vt 0.229711 0.508793 -vt 0.226737 0.516587 -vt 0.078450 0.551734 -vt 0.226737 0.449530 -vt 0.229711 0.457321 -vt 0.160157 0.466512 -vt 0.173483 0.496316 -vt 0.170858 0.489598 -vt 0.062489 0.449532 -vt 0.063695 0.457321 -vt 0.064121 0.466512 -vt 0.150659 0.480839 -vt 0.154878 0.485492 -vt 0.153922 0.486449 -vt 0.145428 0.517364 -vt 0.145428 0.519164 -vt 0.182693 0.518312 -vt 0.177796 0.519164 -vt 0.177796 0.517364 -vt 0.155718 0.480839 -vt 0.155794 0.482634 -vt 0.170160 0.515796 -vt 0.171129 0.515796 -vt 0.168661 0.456532 -vt 0.171129 0.464324 -vt 0.170160 0.464324 -vt 0.171997 0.473513 -vt 0.177796 0.528736 -vt 0.182693 0.525471 -vt 0.075049 0.269424 -vt 0.177796 0.514552 -vt 0.166650 0.376155 -vt 0.169061 0.426739 -vt 0.141359 0.520344 -vt 0.145428 0.528736 -vt 0.140751 0.526699 -vt 0.151208 0.513230 -vt 0.167316 0.522266 -vt 0.369502 0.213984 -vt 0.369420 0.214039 -vt 0.369426 0.214136 -vt 0.310247 0.249118 -vt 0.310150 0.249124 -vt 0.368907 0.213901 -vt 0.368537 0.213839 -vt 0.369034 0.214040 -vt 0.368512 0.214048 -vt 0.309412 0.249118 -vt 0.309412 0.249631 -vt 0.309509 0.249124 -vt 0.309412 0.248924 -vt 0.309509 0.248943 -vt 0.309412 0.248961 -vt 0.310247 0.248924 -vt 0.310150 0.248943 -vt 0.310150 0.248874 -vt 0.310036 0.248857 -vt 0.310247 0.248961 -vt 0.369270 0.214136 -vt 0.369182 0.214136 -vt 0.369026 0.214136 -vt 0.309624 0.249126 -vt 0.052434 0.449530 -vt 0.049165 0.457321 -vt 0.050468 0.449530 -vt 0.052621 0.457321 -vt 0.179236 0.466667 -vt 0.182267 0.482244 -vt 0.180271 0.482235 -vt 0.052434 0.516587 -vt 0.049165 0.508793 -vt 0.052621 0.508793 -vt 0.180253 0.482257 -vt 0.182249 0.482244 -vt 0.047152 0.508793 -vt 0.049830 0.516587 -vt 0.182974 0.481704 -vt 0.179281 0.497712 -vt 0.182956 0.482788 -vt 0.049830 0.449530 -vt 0.047152 0.457321 -vt 0.169127 0.537621 -vt 0.082601 0.681285 -vt 0.078170 0.686920 -vt 0.080647 0.694725 -vt 0.076381 0.693217 -vt 0.172264 0.507899 -vt 0.132907 0.484313 -vt 0.044820 0.457317 -vt 0.015755 0.335474 -vt 0.120384 0.255584 -vt 0.015751 0.629164 -vt 0.142710 0.484446 -vt 0.184151 0.218586 -vt 0.184133 0.746035 -vt 0.167170 0.332050 -vt 0.145428 0.514552 -vt 0.309509 0.248874 -vt 0.369233 0.214113 -vt 0.369220 0.214113 -vt 0.050468 0.516587 -vt 0.167240 0.632355 -vt 0.166716 0.588231 -vt 0.741236 0.686422 -vt 0.671075 0.616262 -vt 0.741236 0.616262 -vt 0.713359 0.213718 -vt 0.643198 0.143558 -vt 0.713359 0.143558 -vt 0.741236 0.616262 -vt 0.671075 0.546102 -vt 0.741236 0.546102 -vt 0.732617 0.418127 -vt 0.662457 0.347967 -vt 0.732617 0.347967 -vt 0.117718 0.654762 -vt 0.047557 0.724922 -vt 0.047557 0.654762 -vt 0.643198 0.283878 -vt 0.643198 0.213718 -vt 0.671075 0.686422 -vt 0.671075 0.616262 -vt 0.662457 0.418127 -vt 0.117718 0.724922 -vt 0.713359 0.283878 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.2546 -0.9670 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.2546 0.9670 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0449 0.9990 0.0000 -vn -0.0383 -0.9993 0.0000 -vn -0.9992 -0.0402 0.0000 -vn 0.9992 0.0402 0.0000 -vn 0.0402 -0.9992 0.0000 -vn -0.0402 0.9992 0.0000 -vn 0.0000 0.7071 0.7071 -vn -0.0000 0.7071 -0.7071 -vn 0.8244 0.5659 0.0000 -vn 0.8244 -0.5659 0.0000 -vn -0.0330 0.9995 0.0000 -vn 0.0330 0.9995 0.0000 -vn -0.8244 0.5659 0.0000 -vn -0.8244 -0.5659 0.0000 -vn -0.0330 -0.9995 0.0000 -vn -0.2151 -0.9766 0.0000 -vn -0.2151 0.9766 0.0000 -vn 0.0330 -0.9995 0.0000 -vn 0.2151 -0.9766 0.0000 -vn 0.2151 0.9766 0.0000 -vn 0.9380 0.0000 0.3467 -vn 0.0987 0.0000 0.9951 -vn 0.5057 0.0000 0.8627 -vn -0.0114 0.0000 -0.9999 -vn -0.8829 0.0000 0.4696 -vn -0.3468 -0.0000 0.9379 -vn -0.1149 -0.0000 0.9934 -vn 0.1951 0.0000 0.9808 -vn -0.1951 -0.0000 0.9808 -vn 0.9808 0.0000 -0.1951 -vn 0.9808 0.0000 0.1951 -vn 0.9915 -0.0000 0.1298 -vn -0.9808 -0.0000 0.1951 -vn -0.9808 0.0000 -0.1951 -vn -0.1951 0.0000 -0.9808 -vn 0.1951 0.0000 -0.9808 -vn -0.7071 -0.0000 0.7071 -vn -0.7071 0.0000 -0.7071 -vn 0.7071 0.0000 -0.7071 -vn 0.3827 0.0000 0.9239 -vn 0.7071 0.0000 0.7071 -vn -0.0333 0.9994 0.0000 -vn 0.0333 0.9994 0.0000 -vn 0.9167 0.3996 0.0000 -vn -0.9167 0.3996 0.0000 -vn -0.1547 0.9880 0.0000 -vn -0.4762 0.8793 0.0000 -vn 0.1547 0.9880 0.0000 -vn 0.4762 0.8793 0.0000 -vn 0.2875 0.4171 0.8622 -vn 0.2817 0.8863 0.3675 -vn 0.3029 0.6738 0.6740 -vn 0.4173 0.2875 0.8621 -vn 0.6993 0.1479 0.6993 -vn 0.9152 0.1369 0.3791 -vn 0.3480 0.3017 0.8876 -vn 0.3250 0.3250 0.8881 -vn 0.9239 0.0000 0.3827 -vn 0.2874 0.4171 -0.8622 -vn 0.3029 0.6738 -0.6740 -vn 0.2817 0.8865 -0.3671 -vn 0.3250 0.3250 -0.8881 -vn 0.6993 0.1479 -0.6993 -vn 0.4173 0.2875 -0.8621 -vn 0.9152 0.1369 -0.3791 -vn 0.9239 0.0000 -0.3827 -vn 0.3827 -0.0000 -0.9239 -vn 0.3791 0.1369 0.9152 -vn 1.0000 0.0003 0.0000 -vn 0.3480 0.3017 -0.8876 -vn 0.3791 0.1369 -0.9152 -vn -0.1862 0.9727 -0.1384 -vn -0.0025 0.9912 0.1321 -vn -0.0025 0.9912 -0.1321 -vn -0.0025 0.1321 0.9912 -vn -0.1862 -0.1384 0.9727 -vn -0.0025 -0.1321 0.9912 -vn -0.1862 0.1384 -0.9727 -vn -0.0025 -0.1321 -0.9912 -vn -0.1862 -0.1384 -0.9727 -vn -0.4689 0.8750 0.1209 -vn -0.1862 0.9727 0.1384 -vn -0.1862 -0.9727 0.1384 -vn -0.4689 -0.8750 -0.1209 -vn -0.1862 -0.9727 -0.1384 -vn -0.1862 0.1384 0.9727 -vn -0.4689 -0.1209 0.8750 -vn -0.0124 -0.7071 0.7071 -vn -0.3775 -0.8298 0.4111 -vn -0.3775 -0.4111 0.8298 -vn -0.0124 -0.7071 -0.7071 -vn -0.1988 -0.9615 -0.1898 -vn 0.1504 -0.9778 -0.1460 -vn -0.0124 0.7071 0.7071 -vn -0.3775 0.4111 0.8298 -vn -0.3775 0.8298 0.4111 -vn -0.1988 -0.9615 0.1898 -vn 0.1504 -0.9778 0.1460 -vn -0.4689 0.1209 -0.8750 -vn -0.5417 -0.4214 -0.7273 -vn -0.4689 -0.1209 -0.8750 -vn -0.2188 -0.8413 -0.4943 -vn -0.5417 -0.7273 -0.4214 -vn -0.5417 -0.4214 0.7273 -vn -0.2188 -0.4943 0.8413 -vn -0.2188 -0.8413 0.4943 -vn -0.5417 -0.7273 0.4214 -vn -0.3775 -0.8298 -0.4111 -vn -0.3775 -0.4111 -0.8298 -vn -0.1988 0.9615 0.1898 -vn 0.1504 0.9778 0.1460 -vn -0.5417 0.7273 0.4214 -vn -0.2188 0.8413 0.4943 -vn -0.2188 0.4943 0.8413 -vn -0.5417 0.4214 0.7273 -vn 0.1504 0.1460 -0.9778 -vn -0.1988 -0.1898 -0.9615 -vn 0.1504 -0.1460 -0.9778 -vn -0.5417 0.4214 -0.7273 -vn -0.2188 0.4943 -0.8413 -vn -0.2188 0.8413 -0.4943 -vn -0.5417 0.7273 -0.4214 -vn 0.1504 0.1460 0.9778 -vn -0.1988 -0.1898 0.9615 -vn -0.1988 0.1898 0.9615 -vn -0.0124 0.7071 -0.7071 -vn -0.1988 0.1898 -0.9615 -vn -0.2188 -0.4943 -0.8413 -vn -0.0069 -0.5010 -0.8654 -vn -0.0025 -0.9912 -0.1321 -vn -0.0069 -0.5010 0.8654 -vn -0.0069 -0.8654 0.5010 -vn -0.0025 -0.9912 0.1321 -vn -0.0069 0.8654 0.5010 -vn -0.0069 0.5010 0.8654 -vn -0.0025 0.1321 -0.9912 -vn -0.0069 0.5010 -0.8654 -vn -0.0069 0.8654 -0.5010 -vn -0.3775 0.8298 -0.4111 -vn -0.3775 0.4111 -0.8298 -vn -0.5706 -0.4047 -0.7146 -vn -0.4734 0.1087 -0.8741 -vn -0.5706 -0.7146 -0.4047 -vn -0.2883 0.9502 -0.1180 -vn -0.3623 0.8104 -0.4604 -vn -0.4734 -0.8741 -0.1087 -vn -0.3623 -0.4604 -0.8104 -vn -0.3623 -0.8104 -0.4604 -vn -0.5706 -0.4047 0.7146 -vn -0.4734 -0.1087 0.8741 -vn -0.4689 0.1209 0.8750 -vn -0.4734 0.1087 0.8741 -vn -0.2883 0.1180 0.9502 -vn -0.3623 0.4604 0.8104 -vn -0.5706 -0.7146 0.4047 -vn -0.4689 -0.8750 0.1209 -vn -0.4734 -0.8741 0.1087 -vn -0.5706 0.7146 0.4047 -vn -0.4734 0.8741 0.1087 -vn -0.4689 0.8750 -0.1209 -vn -0.5706 0.4047 0.7146 -vn -0.2883 -0.1180 -0.9502 -vn -0.2883 0.1180 -0.9502 -vn -0.2883 0.9502 0.1180 -vn -0.1988 0.9615 -0.1898 -vn -0.5706 0.4047 -0.7146 -vn -0.3623 0.4604 -0.8104 -vn -0.5706 0.7146 -0.4047 -vn -0.2883 -0.1180 0.9502 -vn -0.3623 -0.4604 0.8104 -vn -0.2883 -0.9502 0.1180 -vn -0.3623 -0.8104 0.4604 -vn -0.3623 0.8104 0.4604 -vn -0.2883 -0.9502 -0.1180 -vn -0.4734 -0.1087 -0.8741 -vn -0.4734 0.8741 -0.1087 -vn -0.9557 -0.2082 0.2082 -vn -0.9623 -0.0849 0.2584 -vn -0.9711 -0.1688 0.1688 -vn -0.9623 0.0849 0.2584 -vn -0.9591 -0.0000 0.2831 -vn -0.9623 -0.2584 0.0849 -vn -0.9591 -0.2832 -0.0000 -vn -0.9623 -0.2584 -0.0849 -vn -0.9623 -0.0849 -0.2584 -vn -0.9591 0.0000 -0.2831 -vn -0.9623 0.0849 -0.2584 -vn -0.9557 0.2082 -0.2082 -vn -0.9623 0.2584 -0.0849 -vn -0.9573 0.2838 -0.0554 -vn -0.9711 0.1688 -0.1688 -vn -0.0060 0.1994 0.9799 -vn -0.0003 -0.2176 0.9760 -vn -0.0060 -0.1994 0.9799 -vn -0.0003 0.9760 -0.2176 -vn -0.0060 0.9799 0.1994 -vn -0.0060 0.9799 -0.1994 -vn -0.9557 0.2082 0.2082 -vn -0.9623 0.2584 0.0849 -vn -0.9711 0.1688 0.1688 -vn -0.0060 -0.9799 -0.1994 -vn -0.0003 -0.9760 0.2176 -vn -0.0003 -0.9760 -0.2176 -vn -0.9573 0.0554 0.2838 -vn -0.9557 -0.2082 -0.2082 -vn -0.9573 -0.2838 -0.0554 -vn -0.9591 0.2832 0.0000 -vn -0.9573 -0.0554 -0.2838 -vn -0.0033 0.7071 0.7071 -vn -0.0003 0.2176 0.9760 -vn -0.0033 -0.7071 -0.7071 -vn -0.9761 -0.1305 0.1739 -vn -0.9761 -0.1739 0.1305 -vn -0.0033 -0.7071 0.7071 -vn -0.9761 0.1738 0.1305 -vn -0.9761 0.1306 0.1739 -vn -0.9711 -0.1688 -0.1688 -vn -0.9761 -0.1738 -0.1305 -vn -0.9761 -0.1306 -0.1739 -vn -0.0060 -0.1994 -0.9799 -vn -0.0154 -0.7070 -0.7070 -vn -0.0033 0.7071 -0.7071 -vn -0.0060 0.1994 -0.9799 -vn -0.0003 0.2176 -0.9760 -vn -0.0003 0.9760 0.2176 -vn -0.9761 0.1305 -0.1739 -vn -0.9761 0.1739 -0.1305 -vn -0.0003 -0.2176 -0.9760 -vn 0.2697 -0.1879 -0.9444 -vn 0.2697 -0.9444 -0.1879 -vn 0.2850 -0.6778 -0.6778 -vn 0.2697 -0.1879 0.9444 -vn 0.2850 -0.6778 0.6778 -vn 0.2697 -0.9444 0.1879 -vn 0.2697 0.9444 0.1879 -vn 0.2850 0.6778 0.6778 -vn 0.2697 0.1879 0.9444 -vn 0.2697 0.1879 -0.9444 -vn 0.2850 0.6778 -0.6778 -vn 0.2697 0.9444 -0.1879 -vn 0.1504 0.9778 -0.1460 -vn 0.6784 -0.5195 -0.5195 -vn 0.6563 -0.1472 -0.7400 -vn 0.6563 -0.7400 -0.1472 -vn 0.6784 -0.5195 0.5195 -vn 0.6563 -0.1472 0.7400 -vn 0.6563 -0.7400 0.1472 -vn 0.6784 0.5195 0.5195 -vn 0.6563 0.7400 0.1472 -vn 0.6563 0.1472 0.7400 -vn 0.6784 0.5195 -0.5195 -vn 0.6563 0.1472 -0.7400 -vn 0.6563 0.7400 -0.1472 -vn 0.2091 -0.1306 0.9691 -vn 0.2087 0.1215 0.9704 -vn 0.2091 0.1306 0.9691 -vn 0.2091 0.9691 -0.1306 -vn 0.2087 0.9704 0.1215 -vn 0.2087 0.9704 -0.1215 -vn 0.2091 0.1306 -0.9691 -vn 0.2087 -0.1215 -0.9704 -vn 0.2091 -0.1306 -0.9691 -vn 0.2119 -0.9440 -0.2530 -vn 0.2091 -0.9691 -0.1306 -vn 0.2251 -0.8421 -0.4902 -vn 0.2251 -0.4903 -0.8420 -vn 0.2251 -0.4902 -0.8421 -vn 0.2119 -0.2531 -0.9440 -vn 0.2119 0.9440 -0.2530 -vn 0.2251 0.8420 -0.4903 -vn 0.2251 0.4902 -0.8421 -vn 0.2251 0.4903 -0.8420 -vn 0.2119 0.2531 -0.9440 -vn 0.2119 0.2528 -0.9440 -vn 0.2119 -0.9440 0.2530 -vn 0.2251 -0.8421 0.4902 -vn 0.2251 -0.8420 0.4903 -vn 0.2251 -0.4902 0.8421 -vn 0.2251 -0.4903 0.8420 -vn 0.2119 -0.2531 0.9440 -vn 0.2251 0.8420 0.4903 -vn 0.2251 0.8421 0.4902 -vn 0.2119 0.9440 0.2530 -vn 0.2251 0.4902 0.8421 -vn 0.2119 0.2531 0.9440 -vn 0.2091 -0.9691 0.1306 -vn 0.2087 -0.9704 -0.1215 -vn 0.2087 -0.9704 0.1215 -vn -0.2088 0.1246 -0.9700 -vn -0.2090 -0.1306 -0.9691 -vn -0.2088 -0.1246 -0.9700 -vn -0.2088 -0.9700 0.1246 -vn -0.2090 -0.9691 -0.1306 -vn -0.2090 -0.9691 0.1306 -vn -0.2088 -0.1246 0.9700 -vn -0.2090 0.1306 0.9691 -vn -0.2088 0.1246 0.9700 -vn -0.2249 0.8458 0.4837 -vn -0.2091 0.9691 0.1306 -vn -0.2088 0.9700 0.1246 -vn -0.2251 0.8420 0.4903 -vn -0.2249 0.4837 0.8458 -vn -0.2251 0.4903 0.8420 -vn -0.2119 0.2530 0.9440 -vn -0.2249 -0.8458 0.4837 -vn -0.2251 -0.8420 0.4903 -vn -0.2249 -0.4837 0.8458 -vn -0.2251 -0.4903 0.8420 -vn -0.2090 -0.1306 0.9691 -vn -0.2249 0.8458 -0.4837 -vn -0.2088 0.9700 -0.1246 -vn -0.2119 0.9440 -0.2530 -vn -0.2249 0.4837 -0.8458 -vn -0.2251 0.8420 -0.4903 -vn -0.2251 0.4903 -0.8420 -vn -0.2090 0.1306 -0.9691 -vn -0.2249 -0.8458 -0.4837 -vn -0.2088 -0.9700 -0.1246 -vn -0.2251 -0.4903 -0.8420 -vn -0.2251 -0.8420 -0.4903 -vn -0.2249 -0.4837 -0.8458 -vn -0.2090 0.9691 -0.1307 -vn -0.9573 -0.2838 0.0554 -vn -0.0060 -0.9799 0.1994 -vn -0.0154 -0.7070 0.7070 -vn 1.0000 -0.0001 0.0000 -vn 1.0000 0.0001 0.0000 -vn 0.1504 -0.1460 0.9778 -vn -0.0069 -0.8654 -0.5010 -vn -0.9573 -0.0554 0.2838 -vn -0.9658 -0.0405 0.2559 -vn -0.9658 0.0406 0.2559 -vn -0.9658 -0.2559 -0.0405 -vn -0.9659 -0.2559 0.0405 -vn -0.9658 0.0405 -0.2559 -vn -0.9573 0.0554 -0.2838 -vn -0.9658 -0.0406 -0.2559 -vn -0.9573 0.2838 0.0554 -vn -0.9658 0.2559 0.0405 -vn -0.9659 0.2559 -0.0405 -vn -0.0154 0.7070 0.7070 -vn -0.9720 -0.2015 0.1210 -vn -0.9720 -0.1211 0.2016 -vn -0.9720 0.1209 0.2016 -vn -0.9720 0.2015 0.1210 -vn -0.9720 -0.1208 -0.2016 -vn -0.9720 -0.2015 -0.1210 -vn -0.0154 0.7070 -0.7070 -vn -0.9720 0.2015 -0.1210 -vn -0.9720 0.1211 -0.2016 -vn 0.2087 -0.1215 0.9704 -vn 0.2091 0.9691 0.1306 -vn -1.0000 -0.0021 0.0000 -vn -1.0000 -0.0005 -0.0000 -vn -1.0000 -0.0004 0.0000 -vn -1.0000 -0.0018 -0.0000 -vn -1.0000 -0.0003 -0.0000 -vn 0.2087 0.1215 -0.9704 -vn 0.2251 -0.8420 -0.4903 -vn 0.2251 0.8421 -0.4902 -vn 0.2251 0.4903 0.8420 -vn -1.0000 0.0001 0.0000 -vn -1.0000 -0.0001 0.0000 -vn 0.9808 0.1951 0.0000 -vn 0.9808 -0.1951 0.0000 -vn -0.1951 0.9808 0.0000 -vn 0.1951 0.9808 0.0000 -vn -0.9808 0.1951 0.0000 -vn -0.9808 -0.1951 0.0000 -vn -0.1951 -0.9808 0.0000 -vn -0.7071 -0.7071 0.0000 -vn -0.7071 0.7071 0.0000 -vn 0.1951 -0.9808 0.0000 -vn 0.7071 -0.7071 0.0000 -vn 0.7071 0.7071 0.0000 -vn 0.0000 -0.0489 0.9988 -vn 0.9862 -0.1653 0.0002 -vn 0.9857 -0.1686 0.0000 -vn -0.9867 0.1628 0.0000 -vn -0.9865 0.1637 0.0000 -vn 0.0974 -0.9952 0.0000 -vn 0.1692 0.9856 0.0000 -vn 0.9862 -0.1653 -0.0002 -vn 0.0000 -0.0489 -0.9988 -vn 0.0000 -0.9604 0.2787 -vn 0.0000 -0.9316 0.3635 -vn 0.0000 -0.9575 0.2884 -vn -0.9784 0.2067 -0.0000 -vn -0.9829 0.1842 -0.0018 -vn 0.0000 -0.9575 -0.2884 -vn 0.0000 -0.9201 -0.3916 -vn 0.0000 -0.9604 -0.2787 -vn 0.9962 -0.0868 0.0068 -vn 0.9962 -0.0868 -0.0068 -vn 0.0000 -0.0955 -0.9954 -vn 0.0000 -0.0773 -0.9970 -vn -0.9829 0.1839 0.0044 -vn -0.9858 0.1677 -0.0099 -vn -0.9829 0.1839 -0.0044 -vn 0.9959 -0.0888 -0.0166 -vn 0.9959 -0.0888 0.0166 -vn 0.0000 -0.6465 0.7629 -vn 0.0000 -0.6237 0.7817 -vn 0.0000 -0.2536 0.9673 -vn 0.0000 -0.2359 0.9718 -vn 0.0000 -0.0564 0.9984 -vn 0.0000 -0.6465 -0.7629 -vn 0.0000 -0.6237 -0.7817 -vn 0.0000 -0.2536 -0.9673 -vn 0.0000 -0.2359 -0.9718 -vn 0.0000 -0.0564 -0.9984 -vn 0.0000 -0.0955 0.9954 -vn 0.0000 -0.0773 0.9970 -vn 0.0000 -0.4402 0.8979 -vn 0.0000 -0.4910 0.8711 -vn 0.0000 -0.9201 0.3916 -vn 0.0000 -0.4402 -0.8979 -vn 0.0000 -0.4910 -0.8711 -vn 0.0000 -0.9316 -0.3635 -vn -0.9867 0.1628 -0.0001 -vn -0.9867 0.1628 0.0001 -vn -0.9829 0.1842 0.0018 -vn 0.9857 -0.1687 0.0003 -vn 0.9879 -0.1504 0.0365 -vn 0.9879 -0.1504 -0.0365 -vn 0.9857 -0.1687 -0.0003 -vn -0.9858 0.1677 0.0099 -vn -0.6862 0.0000 -0.7274 -vn -0.5001 0.0000 -0.8660 -vn -0.5580 0.0000 -0.8298 -vn 0.9174 0.0000 0.3979 -vn -0.3827 0.0000 -0.9239 -vn -1.0000 0.0000 -0.0051 -vn -0.0009 0.0000 1.0000 -vn -0.8363 0.0000 -0.5483 -vn -0.8651 0.0000 -0.5017 -vn 0.9107 0.0000 0.4130 -vn -0.0019 0.0000 1.0000 -vn 0.0000 -1.0000 0.0022 -vn -0.0870 0.0000 -0.9962 -vn 0.0010 0.0000 -1.0000 -vn -0.0000 -1.0000 0.0019 -vn -0.0000 1.0000 0.0059 -vn -0.3007 0.0000 -0.9537 -vn -0.8650 0.0000 -0.5017 -vn 0.0000 1.0000 0.0020 -vn 0.0000 0.1951 0.9808 -vn 0.0000 -0.1951 0.9808 -vn 0.0000 0.9808 -0.1951 -vn 0.0000 0.9808 0.1951 -vn 0.0000 0.1951 -0.9808 -vn 0.0000 -0.1951 -0.9808 -vn 0.0000 -0.9808 -0.1951 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 -0.9808 0.1951 -vn 0.0000 -0.7071 0.7071 -vn -0.0200 -0.1292 0.9914 -vn -0.0200 0.1292 0.9914 -vn 0.0000 -0.1305 0.9914 -vn -0.0200 0.1292 -0.9914 -vn -0.0178 0.0000 -0.9998 -vn -0.0200 -0.1292 -0.9914 -vn -0.0200 -0.1318 -0.9911 -vn -0.0000 0.1305 0.9914 -vn 0.0000 0.9914 0.1305 -vn -0.0200 0.9914 -0.1292 -vn 0.0000 -0.1305 -0.9914 -vn 0.0000 0.1305 -0.9914 -vn -0.0357 -0.0000 0.9994 -vn -0.0000 -0.9914 -0.1305 -vn -0.0200 -0.9911 0.1318 -vn -0.0200 -0.9911 -0.1318 -vn -0.0000 0.9914 -0.1305 -vn -0.0200 0.9914 0.1292 -vn -0.0357 0.9994 0.0000 -vn -0.0200 0.9911 0.1318 -vn -0.0355 0.9994 0.0000 -vn -0.0357 -0.9994 -0.0000 -vn -0.0200 -0.9914 0.1292 -vn -0.0200 -0.9914 -0.1292 -vn -0.0244 -0.8663 -0.4989 -vn 0.0000 -0.8660 -0.5000 -vn -0.0244 -0.4989 -0.8663 -vn -0.0243 0.8652 -0.5008 -vn -0.0200 0.9911 -0.1318 -vn -0.0000 0.8660 -0.5000 -vn -0.0243 0.5008 -0.8652 -vn -0.0200 0.1318 -0.9911 -vn -0.0000 -0.9914 0.1305 -vn -0.0243 -0.8652 0.5008 -vn -0.0000 -0.8660 0.5000 -vn -0.0243 -0.5008 0.8652 -vn -0.0200 -0.1318 0.9911 -vn -0.0244 0.8663 0.4989 -vn 0.0000 0.8660 0.5000 -vn -0.0244 0.4989 0.8663 -vn -0.0243 -0.8652 -0.5008 -vn -0.0243 -0.5008 -0.8652 -vn -0.0244 0.8663 -0.4989 -vn 0.0000 0.5000 -0.8660 -vn -0.0244 0.4989 -0.8663 -vn -0.0244 -0.8663 0.4989 -vn 0.0000 -0.5000 0.8660 -vn -0.0244 -0.4989 0.8663 -vn -0.0243 0.8652 0.5008 -vn -0.0243 0.5008 0.8652 -vn -0.0200 0.1318 0.9911 -vn -0.0000 -0.5000 -0.8660 -vn -0.0000 0.5000 0.8660 -vn 0.0170 -0.1294 -0.9914 -vn 0.0170 0.1294 -0.9914 -vn 0.0170 0.1294 0.9914 -vn 0.0152 0.0000 0.9999 -vn 0.0170 -0.1294 0.9914 -vn 0.0170 -0.9914 -0.1294 -vn 0.0304 -0.0000 -0.9995 -vn 0.0171 0.9912 -0.1316 -vn 0.0171 0.9912 0.1316 -vn 0.0304 -0.9995 0.0000 -vn 0.0171 -0.9912 0.1316 -vn 0.0170 -0.9914 0.1294 -vn 0.0304 0.9995 0.0000 -vn 0.0170 0.9914 0.1294 -vn 0.0170 0.9914 -0.1294 -vn 0.0208 0.8663 0.4991 -vn 0.0208 0.4991 0.8663 -vn 0.0207 -0.8654 0.5007 -vn 0.0207 -0.5007 0.8654 -vn 0.0207 0.8654 -0.5007 -vn 0.0207 0.5007 -0.8654 -vn 0.0208 -0.8663 -0.4991 -vn 0.0208 -0.4991 -0.8663 -vn 0.0207 0.8654 0.5007 -vn 0.0207 0.5007 0.8654 -vn 0.0171 0.1316 0.9912 -vn -0.0000 -0.9659 0.2588 -vn 0.0208 -0.8663 0.4991 -vn 0.0208 -0.4991 0.8663 -vn -0.0000 0.9659 -0.2588 -vn 0.0208 0.8663 -0.4991 -vn 0.0208 0.4991 -0.8663 -vn 0.0171 -0.9912 -0.1316 -vn 0.0207 -0.8654 -0.5007 -vn 0.0207 -0.5007 -0.8654 -vn 0.0171 -0.1316 -0.9912 -vn 0.0171 -0.1316 0.9912 -vn 0.0171 0.1316 -0.9912 -vn 0.0000 0.9659 0.2588 -vn 0.0000 -0.9659 -0.2588 -vn -0.8995 -0.4368 0.0000 -vn -0.8995 0.4368 0.0000 -vn 0.0670 -0.9978 0.0000 -vn 0.0683 -0.9977 -0.0000 -vn 0.8977 0.4407 0.0000 -vn 0.9012 -0.4335 0.0000 -vn 0.8977 -0.4407 0.0000 -vn 0.1338 0.9910 -0.0000 -vn 0.0670 0.9978 -0.0000 -vn 0.0683 0.9977 0.0000 -vn 0.3941 0.9191 0.0000 -vn 0.9012 0.4335 0.0000 -vn 0.3847 -0.9230 -0.0000 -vn 0.3941 -0.9191 0.0000 -vn -0.0670 0.9978 0.0000 -vn -0.3898 0.9209 0.0000 -vn -0.3898 -0.9209 -0.0000 -vn -0.0670 -0.9978 -0.0000 -vn -0.8979 -0.4401 0.0000 -vn -0.9014 0.4329 0.0000 -vn -0.9014 -0.4329 0.0000 -vn 0.0655 -0.9979 0.0000 -vn -0.0657 -0.9978 0.0000 -vn -0.0686 -0.9976 0.0000 -vn 0.3847 0.9230 0.0000 -vn -0.0686 0.9976 0.0000 -vn -0.3855 0.9227 0.0000 -vn -0.0657 0.9978 0.0000 -vn -0.3949 0.9187 0.0000 -vn -0.8979 0.4401 0.0000 -vn -0.3855 -0.9227 0.0000 -vn -0.3949 -0.9187 0.0000 -vn 0.0655 0.9979 0.0000 -vn 0.8995 0.4368 0.0000 -vn 0.8995 -0.4368 0.0000 -vn 0.3898 0.9209 0.0000 -vn 0.3898 -0.9209 0.0000 -vn -0.8995 -0.0000 0.4368 -vn -0.8995 -0.0000 -0.4368 -vn -0.0670 0.0000 -0.9978 -vn 0.0670 0.0000 -0.9978 -vn 0.8995 0.0000 -0.4368 -vn 0.8995 -0.0000 0.4368 -vn 0.0670 0.0000 0.9978 -vn 0.3898 0.0000 0.9209 -vn 0.3898 0.0000 -0.9209 -vn -0.3898 0.0000 0.9209 -vn -0.0670 0.0000 0.9978 -vn -0.3898 0.0000 -0.9209 -vn -0.9014 0.0000 0.4329 -vn -0.8979 -0.0000 -0.4401 -vn -0.9014 -0.0000 -0.4329 -vn -0.8979 0.0000 0.4401 -vn 0.0655 0.0000 -0.9979 -vn -0.0657 0.0000 -0.9978 -vn 0.0683 0.0000 -0.9977 -vn -0.0686 0.0000 -0.9976 -vn 0.8977 0.0000 -0.4407 -vn 0.9012 -0.0000 0.4335 -vn 0.9012 0.0000 -0.4335 -vn 0.8977 -0.0000 0.4407 -vn 0.0683 0.0000 0.9977 -vn 0.3847 0.0000 0.9230 -vn 0.3941 0.0000 0.9191 -vn 0.3847 0.0000 -0.9230 -vn 0.3941 -0.0000 -0.9191 -vn -0.0686 0.0000 0.9976 -vn -0.3855 0.0000 0.9227 -vn -0.0657 0.0000 0.9978 -vn -0.3949 0.0000 0.9187 -vn -0.3855 0.0000 -0.9227 -vn -0.3949 -0.0000 -0.9187 -vn 0.0655 0.0000 0.9979 -vn -0.9585 0.2851 0.0000 -vn -0.9585 -0.2851 0.0000 -vn 0.9551 0.2964 0.0000 -vn 0.9551 -0.2964 0.0000 -vn 0.2358 0.9718 0.0000 -vn 0.1040 0.9946 0.0000 -vn 0.6213 0.7836 0.0000 -vn 0.1040 -0.9946 0.0000 -vn 0.2358 -0.9718 0.0000 -vn 0.6213 -0.7836 0.0000 -vn -0.1094 0.9940 0.0000 -vn -0.2470 0.9690 0.0000 -vn -0.6374 0.7705 0.0000 -vn -0.2470 -0.9690 0.0000 -vn -0.1094 -0.9940 0.0000 -vn -0.6374 -0.7705 -0.0000 -vn -0.1915 0.0000 -0.9815 -vn 0.1987 0.0000 -0.9801 -vn 0.1909 0.0000 -0.9816 -vn 0.9806 -0.0000 0.1959 -vn 0.9809 -0.0000 -0.1944 -vn 0.9809 0.0000 0.1944 -vn 0.1909 -0.0000 0.9816 -vn 0.7028 0.0000 -0.7114 -vn 0.7108 0.0000 -0.7034 -vn 0.9806 -0.0000 -0.1959 -vn 0.1987 0.0000 0.9801 -vn 0.7028 -0.0000 0.7114 -vn 0.7108 -0.0000 0.7034 -vn -0.1915 -0.0000 0.9815 -vn -0.3827 0.0000 0.9239 -vn -0.0194 -0.0000 0.9998 -vn -0.0177 0.9998 0.0000 -vn -0.0358 0.9994 0.0000 -vn 0.0151 0.0000 -0.9999 -vn 0.0303 0.0000 -0.9995 -vn 0.0114 -0.9999 0.0000 -vn 0.1338 -0.9910 -0.0000 -vn 0.9833 0.1822 0.0000 -vn 0.9833 -0.1822 0.0000 -vn -0.2087 0.9780 0.0000 -vn 0.2087 0.9780 0.0000 -vn -0.9833 0.1822 0.0000 -vn -0.9833 -0.1822 0.0000 -vn -0.7259 -0.6878 0.0000 -vn -0.2087 -0.9780 0.0000 -vn -0.7259 0.6878 0.0000 -vn 0.2087 -0.9780 0.0000 -vn 0.7259 -0.6878 0.0000 -vn 0.7259 0.6878 0.0000 -vn 0.0033 -0.0000 1.0000 -vn -0.9248 -0.0000 0.3805 -vn -0.0014 0.0000 1.0000 -vn 0.8964 0.0000 0.4432 -vn -0.9268 0.0000 -0.3754 -vn 0.9268 0.0000 -0.3754 -vn 0.0023 -0.6964 -0.7177 -vn -0.0004 -0.7059 -0.7083 -vn -0.0773 -0.7894 -0.6090 -vn 0.0000 0.9700 -0.2430 -vn 0.0000 0.9971 0.0757 -vn 0.0000 0.9971 -0.0757 -vn 0.0887 0.9564 0.2782 -vn 0.0297 0.9665 -0.2550 -vn 0.0887 0.9564 -0.2782 -vn 0.1166 0.0000 -0.9932 -vn 0.1172 0.0000 -0.9931 -vn -0.0003 -0.7059 0.7083 -vn 0.0024 -0.6962 0.7179 -vn -0.0772 -0.7894 0.6090 -vn 0.9989 0.0469 -0.0061 -vn 0.9974 0.0501 -0.0520 -vn 0.9983 0.0591 0.0000 -vn -0.0124 -0.1445 0.9894 -vn 0.0123 -0.1448 0.9894 -vn 0.0125 0.1444 -0.9894 -vn 0.0123 -0.1448 -0.9894 -vn 0.9999 -0.0171 -0.0000 -vn 0.0000 -0.9971 -0.0760 -vn 0.0000 -0.9971 0.0758 -vn 0.0000 -0.9971 -0.0758 -vn -0.9998 -0.0184 -0.0000 -vn 0.0000 0.9689 -0.2476 -vn 0.0339 0.9657 0.2576 -vn 0.0339 0.9657 -0.2576 -vn 0.1091 0.9439 -0.3116 -vn 0.9964 0.0501 0.0687 -vn 0.9957 0.0895 0.0244 -vn 0.9918 0.1127 0.0604 -vn 0.0075 0.1385 -0.9903 -vn 0.0019 0.1519 -0.9884 -vn 0.9939 0.0983 -0.0502 -vn 0.9941 0.0983 -0.0458 -vn -1.0000 0.0062 -0.0000 -vn 0.9914 0.1091 0.0722 -vn 0.9940 0.0281 0.1052 -vn 0.9990 0.0450 0.0080 -vn 0.9962 0.0341 -0.0798 -vn 0.9939 0.0955 -0.0547 -vn 0.0651 0.5563 -0.8284 -vn 0.0253 0.6168 -0.7867 -vn 0.0148 0.1078 0.9941 -vn 0.0253 0.6168 0.7867 -vn 0.0651 0.5563 0.8284 -vn 0.0297 0.9665 0.2550 -vn 0.0052 0.6170 -0.7869 -vn 0.0012 0.1399 -0.9902 -vn 0.0012 0.1413 0.9900 -vn 0.0075 0.1385 0.9903 -vn 0.0053 0.6191 0.7853 -vn 0.0505 0.5853 -0.8092 -vn 0.0095 0.1404 -0.9900 -vn 0.0160 0.6277 -0.7783 -vn 0.0095 0.1404 0.9900 -vn 0.0160 0.6277 0.7783 -vn 0.0019 0.1519 0.9884 -vn 0.0505 0.5853 0.8092 -vn 0.0000 0.9689 0.2476 -vn 0.0000 0.6338 0.7735 -vn 0.0000 0.6338 -0.7735 -vn 0.0148 0.1078 -0.9941 -vn 0.9981 0.0611 -0.0000 -vn 0.9936 0.1129 0.0000 -vn 0.9951 0.0984 0.0000 -vn 0.9967 0.0786 -0.0181 -vn -0.1394 -0.8274 0.5441 -vn -0.0605 -0.7883 0.6123 -vn -0.0607 -0.7883 -0.6123 -vn -0.1396 -0.8273 -0.5441 -vn -0.0124 -0.1445 -0.9894 -vn -0.1492 0.0009 -0.9888 -vn -0.0223 0.0001 -0.9998 -vn -0.0944 -0.4828 -0.8706 -vn -0.2531 0.0016 -0.9674 -vn 0.0949 0.4821 -0.8710 -vn 0.0000 0.6509 -0.7591 -vn 0.0000 0.1623 -0.9867 -vn 0.2531 -0.0043 -0.9674 -vn 0.0934 -0.4843 -0.8699 -vn 0.0125 0.1444 0.9894 -vn 0.0934 -0.4843 0.8699 -vn 0.0949 0.4821 0.8710 -vn 0.2531 -0.0043 0.9674 -vn 0.0000 -0.9971 0.0760 -vn -0.0944 -0.4828 0.8706 -vn 0.0000 0.9699 0.2436 -vn 0.0000 0.6488 0.7609 -vn -0.1491 0.0009 0.9888 -vn -0.2531 0.0016 0.9674 -vn 0.1166 0.0000 0.9932 -vn 0.1172 0.0000 0.9931 -vn 0.5576 0.0000 -0.8301 -vn 0.9516 0.0000 -0.3072 -vn 0.9518 0.0000 -0.3067 -vn 0.9518 0.0000 0.3067 -vn 0.9516 0.0000 0.3072 -vn 0.5576 0.0000 0.8301 -vn 0.5563 0.0000 -0.8310 -vn 0.5563 0.0000 0.8310 -vn 0.6816 0.6857 0.2555 -vn 0.6714 0.7177 -0.1849 -vn 0.6816 0.6857 -0.2555 -vn 0.0270 0.6472 0.7618 -vn 0.3755 0.8580 0.3505 -vn 0.2889 0.6713 0.6826 -vn 0.2889 0.6713 -0.6826 -vn 0.3755 0.8580 -0.3505 -vn 0.0270 0.6472 -0.7618 -vn 0.6714 0.7177 0.1849 -vn 0.0051 0.6040 0.7970 -vn 0.0051 0.6040 -0.7970 -vn -0.2554 0.9668 0.0004 -vn -0.2555 0.9668 -0.0004 -vn -0.1166 0.0000 -0.9932 -vn -0.1166 0.0000 0.9932 -vn -0.5563 0.0000 0.8310 -vn -0.9516 0.0000 0.3072 -vn -0.5563 0.0000 -0.8310 -vn -0.9516 0.0000 -0.3072 -vn -0.0201 0.9792 0.2018 -vn -0.0915 0.9890 0.1162 -vn -0.0263 0.9795 0.1997 -vn -0.0713 0.9860 0.1504 -vn -0.1177 0.9925 0.0341 -vn -0.0201 0.9792 -0.2018 -vn -0.0915 0.9890 -0.1162 -vn -0.0713 0.9860 -0.1504 -vn -0.1177 0.9925 -0.0341 -vn -0.1164 0.9922 -0.0447 -vn -0.1164 0.9922 0.0447 -vn 0.0000 0.9780 0.2085 -vn 0.0000 0.9780 -0.2085 -vn -0.9239 0.3827 0.0000 -vn 0.3826 -0.9239 0.0000 -vn 0.9239 -0.3827 0.0000 -vn 0.9239 -0.3826 0.0000 -vn -0.0716 -0.9974 0.0000 -vn -0.0717 -0.9974 0.0000 -vn 0.9986 0.0528 0.0000 -vn 0.9986 0.0529 0.0001 -vn 0.9986 0.0529 -0.0001 -vn -0.0223 0.0001 0.9998 -vn 0.0000 0.1609 0.9870 -vn 0.1091 0.9439 0.3116 -vn 0.9914 0.1127 0.0662 -vn -0.0000 0.1510 -0.9885 -vn -1.0000 0.0061 -0.0000 -vn 0.0082 0.9676 -0.2522 -vn 0.0082 0.9678 0.2517 -vn 0.0000 0.1510 0.9885 -vn 0.1371 0.8981 0.4178 -vn 0.1371 0.8981 -0.4178 -vn 0.0092 1.0000 -0.0012 -vn 0.0085 1.0000 0.0000 -vn 0.0092 1.0000 0.0012 -vn 0.0081 1.0000 -0.0037 -vn 0.0081 1.0000 0.0037 -vn -0.0263 0.9795 -0.1997 -vn -0.9125 0.0710 0.4029 -vn -0.8795 -0.2533 -0.4030 -vn -0.9125 0.0710 -0.4030 -vn -0.2556 -0.8775 -0.4058 -vn -0.4302 -0.8057 0.4071 -vn -0.2556 -0.8775 0.4058 -vn 0.9753 -0.2209 0.0000 -vn 0.8650 -0.5017 0.0000 -vn -0.5953 0.6932 0.4062 -vn -0.8195 0.4042 -0.4062 -vn -0.5953 0.6932 -0.4062 -vn -0.3004 0.1482 0.9422 -vn -0.2182 0.2541 0.9422 -vn -0.4431 0.7958 -0.4127 -vn 0.9720 -0.2351 0.0000 -vn 0.9961 -0.0886 0.0000 -vn 0.6339 -0.7734 0.0000 -vn 0.7847 -0.6199 0.0000 -vn -0.7180 -0.5646 -0.4071 -vn -0.4302 -0.8057 -0.4071 -vn 0.9858 0.1677 0.0000 -vn -0.7180 -0.5646 0.4071 -vn -0.9908 -0.1351 -0.0000 -vn -0.9908 -0.1351 -0.0001 -vn 0.5425 -0.8401 0.0000 -vn 0.3311 -0.9436 0.0000 -vn -0.2621 -0.2062 -0.9428 -vn -0.1571 -0.2942 -0.9428 -vn -0.2622 -0.2062 0.9427 -vn -0.3398 0.0264 -0.9401 -vn -0.3275 -0.0943 -0.9401 -vn -0.3275 -0.0943 0.9401 -vn -0.3398 0.0264 0.9401 -vn -0.2182 0.2541 -0.9422 -vn -0.3004 0.1482 -0.9422 -vn -0.8195 0.4042 0.4062 -vn -0.0907 -0.3113 -0.9460 -vn -0.1571 -0.2942 0.9427 -vn -0.1488 0.2673 -0.9521 -vn -0.8795 -0.2533 0.4030 -vn -0.4431 0.7958 0.4127 -vn -0.1488 0.2673 0.9521 -vn -0.0907 -0.3113 0.9460 -vn -0.9908 -0.1351 0.0001 -vn 0.9904 -0.1385 0.0000 -vn -0.9904 -0.1385 -0.0000 -vn -0.1230 -0.9924 0.0000 -vn 0.1230 -0.9924 0.0000 -vn -0.4798 -0.8774 0.0000 -vn -0.8540 -0.5203 0.0000 -vn 0.4798 -0.8774 0.0000 -vn 0.8540 -0.5203 0.0000 -vn -0.4964 -0.8599 -0.1191 -vn -0.0000 -0.9929 0.1191 -vn -0.4964 -0.8599 0.1191 -vn 0.8599 -0.4964 -0.1191 -vn 0.9929 -0.0000 0.1191 -vn 0.8599 -0.4964 0.1191 -vn 0.8599 0.4964 -0.1191 -vn 0.8599 0.4964 0.1191 -vn 0.4964 0.8599 0.1191 -vn 0.4965 0.8599 -0.1191 -vn -0.0000 0.9929 0.1191 -vn -0.0000 0.9929 -0.1191 -vn -0.4964 0.8599 0.1191 -vn -0.4964 0.8599 -0.1191 -vn -0.8599 0.4965 0.1191 -vn -0.8599 0.4965 -0.1191 -vn -0.9929 -0.0000 0.1191 -vn -0.8599 -0.4964 -0.1191 -vn -0.8599 -0.4964 0.1191 -vn 0.4964 -0.8599 -0.1191 -vn 0.4965 -0.8599 0.1191 -vn -0.0000 -0.9929 -0.1191 -vn -0.0000 -0.9705 0.2411 -vn -0.0000 -0.9705 -0.2411 -vn 0.4853 -0.8405 -0.2411 -vn 0.4853 -0.8405 0.2411 -vn 0.8405 -0.4852 -0.2411 -vn 0.8405 -0.4852 0.2411 -vn 0.9929 -0.0000 -0.1191 -vn 0.9705 -0.0000 -0.2411 -vn 0.8405 0.4852 0.2411 -vn 0.9705 -0.0000 0.2411 -vn 0.8405 0.4852 -0.2411 -vn 0.4852 0.8405 0.2411 -vn 0.4852 0.8405 -0.2411 -vn -0.0000 0.9705 0.2411 -vn -0.0000 0.9705 -0.2411 -vn -0.4852 0.8405 -0.2411 -vn -0.4852 0.8405 0.2411 -vn -0.8405 0.4853 -0.2411 -vn -0.8405 0.4853 0.2411 -vn -0.9929 -0.0000 -0.1191 -vn -0.9705 -0.0000 -0.2411 -vn -0.8405 -0.4853 0.2411 -vn -0.9705 -0.0000 0.2411 -vn -0.8405 -0.4853 -0.2411 -vn -0.4853 -0.8405 0.2411 -vn -0.4853 -0.8405 -0.2411 -vn 0.3080 -0.8602 -0.4065 -vn 0.6735 -0.6072 0.4215 -vn 0.6719 -0.6057 -0.4262 -vn 0.6891 -0.6953 -0.2041 -vn 0.1624 -0.9682 0.1903 -vn 0.1628 -0.9667 -0.1974 -vn 0.9675 0.2527 0.0007 -vn 0.8626 0.4833 -0.1496 -vn 0.9466 0.2471 -0.2069 -vn 0.0001 0.0003 1.0000 -vn 0.0371 -0.1616 0.9862 -vn 0.0500 0.0197 0.9986 -vn -0.0061 -1.0000 -0.0010 -vn -0.0059 -0.9850 0.1726 -vn -0.0061 -0.9865 0.1636 -vn 0.2302 0.0371 0.9724 -vn 0.2241 0.0716 0.9719 -vn 0.0039 -0.0041 1.0000 -vn 0.1279 -0.9715 0.1998 -vn 0.4891 -0.8471 -0.2080 -vn 0.1279 -0.9715 -0.1998 -vn 0.0000 -0.9856 -0.1693 -vn -0.9810 0.0001 -0.1941 -vn -0.9853 0.0004 0.1707 -vn -0.9858 0.0001 -0.1678 -vn -0.8212 -0.5363 -0.1950 -vn -0.6776 -0.7063 0.2052 -vn -0.6764 -0.7073 -0.2054 -vn -0.0542 -0.1469 -0.9877 -vn -0.3202 -0.2105 -0.9237 -vn -0.6093 -0.5689 -0.5524 -vn -0.5470 -0.8145 0.1935 -vn -0.9052 -0.3774 -0.1955 -vn -0.5487 -0.8123 -0.1978 -vn 0.6768 0.6050 -0.4195 -vn 0.8916 0.1989 0.4069 -vn 0.6771 0.6046 0.4195 -vn 0.8909 0.2001 -0.4078 -vn 0.8904 -0.1976 0.4100 -vn -0.0273 -0.2072 -0.9779 -vn 0.0718 0.9179 -0.3903 -vn 0.3083 0.8612 0.4042 -vn 0.0718 0.9179 0.3903 -vn -0.0904 0.9332 0.3479 -vn -0.0905 0.9334 -0.3472 -vn 0.3083 0.8612 -0.4042 -vn 0.0718 -0.9169 -0.3927 -vn 0.3085 -0.8621 0.4019 -vn -0.6771 0.5906 -0.4389 -vn -0.2781 0.8852 0.3729 -vn -0.6731 0.5929 0.4420 -vn -0.6726 -0.6065 -0.4240 -vn -0.3085 -0.8617 0.4029 -vn -0.3080 -0.8606 -0.4055 -vn -0.8908 0.1955 0.4101 -vn -0.8930 0.1939 -0.4063 -vn 0.0101 -0.0057 0.9999 -vn -0.1634 -0.0956 0.9819 -vn -0.1672 -0.0575 0.9842 -vn -0.0719 -0.9187 0.3884 -vn -0.0717 -0.9170 -0.3923 -vn -0.2798 0.8849 -0.3725 -vn 0.0374 -0.1622 -0.9860 -vn 0.2173 0.0744 -0.9733 -vn 0.2196 0.0504 -0.9743 -vn -0.0039 0.0041 -1.0000 -vn -0.8926 -0.1940 -0.4071 -vn -0.6728 -0.6064 0.4237 -vn -0.8917 -0.1936 0.4092 -vn 0.8890 -0.1965 -0.4137 -vn -0.0001 0.0101 -0.9999 -vn -0.0002 0.0100 -1.0000 -vn 0.1586 -0.1511 -0.9757 -vn 0.9735 0.1341 -0.1855 -vn 0.9656 -0.1730 0.1943 -vn 0.9652 -0.1701 -0.1985 -vn -0.1638 -0.9680 0.1903 -vn -0.1643 -0.9666 -0.1967 -vn 0.9002 0.3901 -0.1935 -vn 0.9741 0.1320 0.1838 -vn 0.9716 0.1265 -0.1997 -vn 0.9075 0.3650 0.2078 -vn 0.9075 0.3650 -0.2078 -vn 0.9004 0.3898 0.1931 -vn -0.0003 0.9856 -0.1692 -vn -0.0002 0.9852 0.1714 -vn -0.0005 0.9856 0.1694 -vn 0.9715 -0.1279 -0.1998 -vn 0.9716 0.1265 0.1997 -vn -0.0273 -0.2073 0.9779 -vn -0.0000 -0.0001 1.0000 -vn -0.0001 -0.0002 1.0000 -vn 0.0002 -0.0100 1.0000 -vn 0.0001 -0.0101 0.9999 -vn 0.1583 -0.1692 0.9728 -vn 0.8471 -0.4891 0.2080 -vn 0.8471 -0.4891 -0.2080 -vn 0.4891 -0.8471 0.2080 -vn 0.9856 0.0000 -0.1694 -vn 0.9856 0.0000 0.1694 -vn -0.9034 -0.3814 0.1958 -vn -0.9810 0.0294 -0.1915 -vn -0.9793 -0.0020 0.2023 -vn -0.9292 -0.3099 -0.2015 -vn -0.9797 0.0025 -0.2004 -vn -0.9804 0.0244 0.1954 -vn -0.9729 -0.1280 -0.1926 -vn -0.9806 0.0009 0.1960 -vn -0.8461 -0.4953 0.1968 -vn -0.8463 -0.4953 -0.1960 -vn -0.2530 -0.9467 0.1994 -vn -0.8211 -0.5364 0.1954 -vn 0.0719 -0.9188 0.3881 -vn -0.2499 -0.9474 -0.2000 -vn 0.1541 -0.9675 0.2006 -vn 0.1566 -0.9670 -0.2010 -vn 0.1627 -0.9675 -0.1936 -vn -0.1281 -0.9727 0.1935 -vn -0.1281 -0.9727 -0.1935 -vn 0.4682 -0.8631 0.1894 -vn 0.4682 -0.8631 -0.1894 -vn -0.3700 -0.9087 -0.1934 -vn -0.7742 -0.6006 0.2000 -vn -0.7739 -0.6011 -0.1993 -vn 0.1762 -0.0232 0.9841 -vn -0.0000 -0.0032 1.0000 -vn -0.0003 -0.0001 1.0000 -vn -0.3702 -0.9085 0.1936 -vn 0.4802 -0.8527 -0.2055 -vn -0.9727 -0.1270 0.1942 -vn -0.4982 -0.4660 0.7312 -vn -0.5969 -0.3910 0.7006 -vn -0.0294 -0.0187 0.9994 -vn 0.6889 -0.6977 0.1968 -vn -0.1407 -0.1509 0.9785 -vn -0.6948 0.1817 0.6959 -vn -0.4989 -0.4988 0.7087 -vn -0.6965 0.1844 -0.6935 -vn -0.1616 -0.1486 -0.9756 -vn -0.5075 -0.4981 -0.7031 -vn 0.8723 0.4890 0.0006 -vn 0.9464 0.2472 0.2081 -vn 0.8622 0.4834 0.1514 -vn -1.0000 -0.0000 -0.0005 -vn -0.9767 0.0016 0.2144 -vn -0.9875 -0.1575 -0.0006 -vn -0.9738 0.1587 0.1628 -vn -0.9646 -0.1571 0.2117 -vn -0.0111 -0.9999 -0.0009 -vn -0.0110 -0.9887 0.1497 -vn -0.0108 -0.9775 0.2108 -vn -0.0363 -0.9993 -0.0005 -vn -0.0331 -0.9764 0.2134 -vn -0.0339 -0.9846 0.1716 -vn -0.6293 -0.7457 0.2189 -vn -0.6449 -0.7643 -0.0010 -vn 0.9806 -0.1962 0.0003 -vn 0.9654 -0.1954 0.1727 -vn -0.9709 0.0208 -0.2384 -vn -0.9850 -0.0262 -0.1707 -vn 0.1893 0.1924 0.9629 -vn 0.6425 0.1678 0.7477 -vn 0.6927 0.1994 0.6932 -vn -0.3091 -0.9510 -0.0010 -vn -0.3043 -0.9361 0.1762 -vn 0.6931 0.1995 -0.6927 -vn 0.9704 0.0462 -0.2368 -vn -0.9844 -0.0013 -0.1761 -vn -1.0000 -0.0000 -0.0006 -vn -0.9866 0.1633 -0.0004 -vn -0.9645 -0.1535 -0.2148 -vn -0.9724 0.1636 -0.1664 -vn -0.0119 -0.9999 -0.0008 -vn -0.0117 -0.9767 -0.2141 -vn -0.0118 -0.9884 -0.1512 -vn -0.0364 -0.9993 -0.0005 -vn -0.0378 -0.9847 -0.1701 -vn -0.0381 -0.9757 -0.2160 -vn -0.6449 -0.7642 -0.0010 -vn -0.9871 -0.1604 -0.0006 -vn 0.9590 -0.1892 -0.2111 -vn -0.0422 0.9769 -0.2097 -vn -0.1134 0.9769 -0.1812 -vn 0.0000 1.0000 0.0010 -vn -0.3042 -0.9360 -0.1771 -vn -0.6289 -0.7455 -0.2206 -vn -0.0061 -1.0000 -0.0009 -vn -0.0060 -0.9861 -0.1660 -vn -0.0060 -0.9844 -0.1756 -vn 0.6430 0.1678 -0.7473 -vn 0.1935 0.1953 -0.9615 -vn 0.9702 0.0462 0.2378 -vn 1.0000 0.0000 0.0007 -vn 0.9766 0.0170 0.2144 -vn 0.1446 -0.0853 0.9858 -vn 0.1533 0.0418 0.9873 -vn 0.5463 -0.3247 0.7721 -vn 0.3274 -0.4135 0.8496 -vn 0.1391 -0.1820 0.9734 -vn 0.0575 -0.0716 0.9958 -vn 0.4521 -0.5604 0.6939 -vn 0.9574 -0.1943 0.2137 -vn -0.1529 -0.1437 0.9777 -vn -0.5276 -0.4501 0.7204 -vn -0.6485 -0.1119 0.7530 -vn -0.1500 -0.0340 0.9881 -vn -0.4087 -0.4821 0.7750 -vn -0.1787 -0.1235 0.9761 -vn -0.0898 -0.1013 0.9908 -vn -0.5838 -0.4215 0.6939 -vn -0.3431 -0.3342 0.8779 -vn -0.9841 0.0013 0.1774 -vn -0.0519 -0.0682 0.9963 -vn -0.9996 -0.0272 -0.0005 -vn -0.9849 -0.0268 0.1713 -vn -0.9711 0.0201 0.2379 -vn 0.9769 0.0169 -0.2132 -vn 0.5464 -0.3240 -0.7723 -vn 0.1435 -0.0857 -0.9859 -vn 0.1552 0.0388 -0.9871 -vn 0.3297 -0.3976 -0.8562 -vn 0.4526 -0.5501 -0.7018 -vn 0.1365 -0.1563 -0.9782 -vn 0.0515 -0.0628 -0.9967 -vn -0.5261 -0.4381 -0.7289 -vn -0.1525 -0.1137 -0.9817 -vn -0.6318 -0.0941 -0.7694 -vn -0.4064 -0.4838 -0.7751 -vn -0.1432 -0.0133 -0.9896 -vn -0.5845 -0.4272 -0.6898 -vn -0.1805 -0.1374 -0.9739 -vn -0.0884 -0.1100 -0.9900 -vn -0.9766 -0.0016 -0.2151 -vn -0.3577 -0.3415 -0.8692 -vn -0.0551 -0.0348 -0.9979 -vn -0.9996 -0.0266 -0.0003 -vn -0.9771 -0.0092 -0.2127 -vn 0.1124 0.9768 0.1820 -vn 0.1412 0.6886 0.7113 -vn 0.4936 0.6716 0.5525 -vn 0.3841 0.5975 0.7039 -vn 0.3811 0.3881 0.8391 -vn -0.1136 0.9765 0.1830 -vn -0.1433 0.6853 0.7140 -vn -0.0424 0.9764 0.2119 -vn -0.4997 0.6641 0.5561 -vn -0.1888 0.1842 0.9646 -vn -0.3868 0.5890 0.7096 -vn 0.1125 0.9771 -0.1805 -vn 0.3847 0.5981 -0.7030 -vn 0.4941 0.6720 -0.5516 -vn 0.1415 0.6892 -0.7106 -vn 0.0419 0.9769 -0.2097 -vn -0.3867 0.5894 -0.7092 -vn -0.3828 0.3797 -0.8422 -vn -0.5001 0.6655 -0.5540 -vn -0.1433 0.6886 -0.7109 -vn -0.1950 0.1942 -0.9614 -vn 0.0417 0.9765 0.2113 -vn -0.0001 1.0000 0.0009 -vn 0.1481 0.1481 -0.9778 -vn 0.4975 -0.4975 -0.7106 -vn 0.1481 -0.1481 -0.9778 -vn 0.4975 0.4975 -0.7107 -vn -0.1482 0.1483 -0.9778 -vn -0.0000 0.9859 -0.1672 -vn -0.7074 0.0000 -0.7068 -vn -0.4981 0.4983 -0.7096 -vn 0.4973 0.4976 0.7107 -vn 0.4975 -0.4975 0.7106 -vn 0.1481 0.1482 0.9778 -vn 0.1482 -0.1482 0.9778 -vn -0.4969 0.4968 0.7116 -vn -0.7067 0.0007 0.7075 -vn -0.1481 0.1480 0.9778 -vn 0.7100 -0.1221 -0.6935 -vn 0.5142 -0.5147 -0.6861 -vn 0.7105 -0.1340 0.6908 -vn 0.2088 -0.0489 0.9767 -vn 0.5138 -0.5246 0.6788 -vn 0.1205 -0.7107 -0.6931 -vn 0.0363 -0.2030 -0.9785 -vn 0.1199 -0.7194 0.6841 -vn 0.6718 0.2733 -0.6884 -vn 0.7244 0.1154 -0.6797 -vn 0.6733 0.2717 0.6877 -vn 0.7284 0.1057 0.6769 -vn 0.2085 -0.0302 -0.9776 -vn 0.1767 0.0230 -0.9840 -vn 0.6265 0.2553 -0.7364 -vn 0.1551 0.0679 -0.9856 -vn 0.6827 0.0889 -0.7253 -vn 0.1764 0.0230 0.9840 -vn 0.6266 0.2553 0.7364 -vn 0.6827 0.0889 0.7253 -vn 0.1549 0.0678 0.9856 -vn 0.0232 -0.1764 -0.9840 -vn 0.3315 -0.5741 -0.7487 -vn 0.0792 -0.1372 -0.9874 -vn 0.0898 -0.6823 -0.7255 -vn 0.0232 -0.1765 0.9840 -vn 0.3315 -0.5741 0.7487 -vn 0.0898 -0.6823 0.7255 -vn 0.5741 -0.3314 -0.7487 -vn 0.1372 -0.0792 -0.9874 -vn 0.1372 -0.0792 0.9874 -vn 0.0792 -0.1372 0.9874 -vn 0.5741 -0.3314 0.7487 -vn 0.1764 -0.0232 -0.9840 -vn 0.6823 -0.0898 -0.7255 -vn 0.6823 -0.0898 0.7255 -vn 0.0000 -0.9856 0.1693 -vn 0.9715 -0.1279 0.1998 -vn -0.1354 -0.1936 -0.9717 -vn -0.1209 -0.7049 -0.6989 -vn -0.4087 -0.5988 -0.6888 -vn -0.1113 -0.1725 0.9787 -vn -0.1201 -0.7159 0.6878 -vn -0.0345 -0.2066 0.9778 -vn -0.4060 -0.6109 0.6797 -vn -0.2157 -0.0755 -0.9735 -vn -0.6739 -0.2745 -0.6859 -vn -0.6710 -0.2897 0.6825 -vn -0.7206 0.0291 -0.6927 -vn -0.2149 0.0209 -0.9764 -vn -0.1913 -0.0953 0.9769 -vn -0.7200 0.0105 0.6939 -vn 0.0350 -0.2209 0.9747 -vn -0.1620 -0.0525 -0.9854 -vn -0.6767 0.0096 -0.7362 -vn -0.6411 -0.2119 -0.7377 -vn -0.1710 -0.0156 0.9852 -vn -0.6543 -0.2211 0.7232 -vn -0.6890 -0.0091 0.7247 -vn -0.9288 -0.3112 0.2012 -vn -0.2035 -0.0094 0.9790 -vn -0.5918 -0.3864 -0.7075 -vn -0.6052 -0.3543 -0.7128 -vn -0.1633 -0.0957 -0.9819 -vn -0.6049 -0.3540 0.7133 -vn -0.1718 -0.6515 -0.7389 -vn -0.1742 -0.6512 0.7386 -vn 0.3860 0.0062 0.9225 -vn -0.2714 -0.6667 -0.6942 -vn -0.0786 -0.1931 -0.9780 -vn -0.0940 -0.7141 -0.6937 -vn -0.2716 -0.6665 0.6942 -vn -0.0940 -0.7141 0.6937 -vn -0.1777 -0.1380 -0.9744 -vn -0.5774 -0.4485 -0.6823 -vn -0.1778 -0.1379 0.9743 -vn -0.0787 -0.1931 0.9780 -vn -0.5774 -0.4479 0.6826 -vn -0.7145 -0.0940 -0.6933 -vn -0.2073 -0.0273 -0.9779 -vn -0.7139 -0.0931 0.6940 -vn -0.1952 0.0000 -0.9808 -vn -0.2074 -0.0270 0.9779 -vn 0.0352 -0.2093 -0.9772 -vn 0.3502 -0.6394 -0.6845 -vn 0.1199 -0.7129 -0.6909 -vn 0.0352 -0.2093 0.9772 -vn 0.3502 -0.6395 0.6844 -vn 0.1077 -0.1892 0.9760 -vn 0.1199 -0.7129 0.6909 -vn 0.1627 -0.9675 0.1936 -vn 0.4795 -0.8531 0.2056 -vn 0.1133 -0.6734 0.7306 -vn 0.3272 -0.5917 0.7368 -vn 0.0747 -0.1482 0.9861 -vn 0.1153 -0.6731 -0.7305 -vn 0.3279 -0.5915 -0.7366 -vn 0.1076 -0.1892 -0.9760 -vn -0.9893 0.1458 0.0000 -vn -0.9697 -0.2445 0.0000 -vn -0.9704 -0.2415 0.0000 -vn -0.1955 -0.9807 0.0000 -vn 0.3819 -0.9242 0.0000 -vn 0.3834 -0.9236 0.0000 -vn -0.0976 0.9952 0.0000 -vn 0.3830 0.9238 0.0000 -vn -0.0984 0.9951 0.0000 -vn -0.7081 -0.7061 0.0000 -vn 0.8325 -0.5540 0.0000 -vn 1.0000 -0.0022 0.0000 -vn 1.0000 0.0022 0.0000 -vn 0.8306 0.5568 0.0000 -vn 0.3824 0.9240 0.0000 -vn 0.8323 0.5543 0.0000 -vn -0.6350 0.7725 0.0000 -vn -0.8814 0.4724 0.0000 -vn -0.6338 0.7735 0.0000 -vn -0.3829 0.9238 0.0000 -vn -0.3824 0.9240 0.0000 -vn -0.7061 -0.7081 0.0000 -vn -0.1947 -0.9809 0.0000 -vn 0.8304 -0.5572 0.0000 -vn 0.6844 0.1392 -0.7157 -vn 0.6774 -0.1431 -0.7216 -vn 0.0551 -0.7052 0.7069 -vn 0.2364 -0.6609 0.7122 -vn -0.2752 0.6346 -0.7222 -vn -0.0552 -0.7049 0.7071 -vn -0.2365 -0.6604 0.7127 -vn 0.5141 0.4691 -0.7180 -vn -0.0549 -0.7026 -0.7094 -vn 0.0550 -0.7023 -0.7097 -vn 0.6792 -0.1442 0.7196 -vn -0.2728 0.6352 0.7226 -vn 0.2360 -0.6587 -0.7144 -vn 0.5117 -0.4613 -0.7248 -vn -0.2359 -0.6593 -0.7139 -vn 0.5144 0.4687 0.7181 -vn 0.6851 0.1384 0.7152 -vn -0.6825 -0.1481 0.7157 -vn -0.6815 0.1497 0.7164 -vn 0.2362 0.6598 -0.7133 -vn 0.5135 -0.4628 0.7226 -vn 0.0551 0.7039 -0.7082 -vn -0.6839 0.1483 -0.7144 -vn 0.2362 0.6598 0.7133 -vn -0.0295 0.7256 -0.6875 -vn -0.6834 -0.1486 -0.7147 -vn 0.0551 0.7039 0.7082 -vn -0.0297 0.7255 0.6876 -vn -0.0100 0.0057 -0.9999 -vn 0.8724 0.4888 0.0007 -vn -0.0061 -1.0000 -0.0008 -vn 0.0746 -0.1484 -0.9861 -vn 0.0020 -0.0075 1.0000 -vn -0.0013 -0.0111 0.9999 -vn -0.0004 -0.0108 0.9999 -vn -0.0007 0.0024 1.0000 -vn -0.0024 -0.0117 0.9999 -vn 0.0005 -0.0103 0.9999 -vn 0.0003 -0.0101 0.9999 -vn 0.0002 -0.0103 0.9999 -vn 0.0002 -0.0107 0.9999 -vn -0.0032 -0.0120 0.9999 -vn -0.0023 -0.0114 0.9999 -vn -0.0003 -0.0103 0.9999 -vn 0.0450 0.0309 0.9985 -vn 0.0000 -0.0007 1.0000 -vn 0.0007 0.0030 1.0000 -vn -0.0000 0.0001 1.0000 -vn -0.1950 0.0002 0.9808 -vn -0.0010 0.0000 1.0000 -vn -0.0001 -0.0001 1.0000 -vn 0.0002 0.0011 1.0000 -vn 0.0139 0.0498 0.9987 -vn 0.0301 0.0285 0.9991 -vn 0.0297 0.0226 0.9993 -vn 0.1837 0.0086 0.9830 -vn -0.0002 -0.0000 1.0000 -vn -0.0003 0.0101 -0.9999 -vn 0.0003 0.0103 -0.9999 -vn -0.0004 -0.0002 1.0000 -vn 0.7598 0.2818 0.5859 -vn 0.9676 0.2527 0.0006 -vn -0.9866 0.1633 -0.0003 -vn -0.0111 -0.9999 -0.0005 -vn -0.0364 -0.9993 -0.0009 -vn -0.0119 -0.9999 -0.0010 -vn -0.0364 -0.9993 -0.0008 -vn 0.9658 -0.1910 -0.1753 -vn -0.3091 -0.9510 -0.0012 -vn -0.0061 -1.0000 -0.0007 -vn -0.9772 -0.0096 0.2122 -vn -0.9996 -0.0271 -0.0004 -vn -0.9996 -0.0266 -0.0005 -vn -0.3830 0.3793 0.8423 -vn 0.3817 0.3884 -0.8387 -vn -0.0355 -0.2062 -0.9779 -vn -0.1760 0.0156 -0.9843 -vn -0.0020 0.0075 -1.0000 -vn -0.9890 0.1477 0.0000 -vn -0.8824 0.4704 0.0000 -vn -0.4818 0.4560 -0.7483 -vn -0.4774 0.4572 0.7504 -vn -0.5123 -0.4622 -0.7238 -vn -0.5128 -0.4619 0.7236 -vn 0.0000 -0.0002 -1.0000 -vn -0.0007 -0.0036 -1.0000 -vn -0.0017 -0.0001 -1.0000 -vn 0.0002 0.0001 -1.0000 -vn -0.0004 -0.0023 -1.0000 -vn 0.0007 -0.0024 -1.0000 -vn 0.0013 0.0111 -0.9999 -vn 0.0024 0.0117 -0.9999 -vn 0.0004 0.0108 -0.9999 -vn -0.0005 0.0103 -0.9999 -vn -0.0001 0.0103 -0.9999 -vn -0.0002 0.0107 -0.9999 -vn 0.0032 0.0121 -0.9999 -vn 0.0032 0.0120 -0.9999 -vn -0.0430 -0.0297 -0.9986 -vn 0.0023 0.0114 -0.9999 -vn -0.0139 -0.0499 -0.9987 -vn -0.0301 -0.0284 -0.9991 -vn -0.0295 -0.0226 -0.9993 -vn -0.1747 -0.0086 -0.9846 -vn -0.0506 0.9938 0.0985 -vn 0.0000 0.9959 -0.0907 -vn 0.0000 0.9959 0.0907 -vn -0.4332 0.8956 -0.1010 -vn -0.3152 0.9437 0.1001 -vn -0.4332 0.8956 0.1010 -vn -0.5906 0.7994 0.1101 -vn -0.6651 0.7396 -0.1035 -vn -0.6651 0.7396 0.1035 -vn -0.8944 0.4337 0.1098 -vn 0.9947 -0.0000 0.1031 -vn 0.9931 -0.0383 -0.1106 -vn 0.9931 -0.0383 0.1106 -vn -0.3457 -0.9319 0.1099 -vn -0.6511 -0.7508 -0.1111 -vn -0.6511 -0.7508 0.1111 -vn -0.3254 -0.9401 0.1014 -vn -0.7511 -0.6515 -0.1070 -vn -0.3253 -0.9401 -0.1014 -vn -0.6076 -0.7876 -0.1026 -vn -0.4860 -0.8681 0.1010 -vn -0.6076 -0.7876 0.1026 -vn -0.3067 -0.9452 0.1122 -vn -0.1889 -0.9771 -0.0984 -vn -0.0536 -0.9938 0.0979 -vn -0.1889 -0.9771 0.0984 -vn -0.3397 -0.9353 -0.0994 -vn -0.3397 -0.9353 0.0994 -vn 0.9854 -0.1291 0.1106 -vn -0.4860 -0.8681 -0.1010 -vn 0.0000 -0.9959 -0.0907 -vn 0.0000 -0.9959 0.0907 -vn 0.9854 -0.1291 -0.1106 -vn 0.9663 -0.2326 0.1102 -vn 0.9663 -0.2326 -0.1102 -vn 0.9754 -0.1911 0.1095 -vn 0.9715 0.2092 -0.1116 -vn 0.9715 0.2092 0.1116 -vn -0.0003 -0.9952 0.0979 -vn -0.3067 -0.9452 -0.1122 -vn -0.9947 0.0000 0.1031 -vn -0.9947 0.0000 -0.1031 -vn -0.3457 -0.9319 -0.1099 -vn -0.1731 0.9799 -0.0992 -vn -0.1731 0.9799 0.0992 -vn -0.9842 -0.1373 0.1117 -vn -0.8944 0.4337 -0.1098 -vn -0.9842 -0.1373 -0.1117 -vn -0.3152 0.9437 -0.1001 -vn -0.7511 -0.6515 0.1071 -vn 0.6903 0.7157 -0.1062 -vn -0.1276 0.9868 -0.0995 -vn -0.4038 0.9094 0.1000 -vn -0.1276 0.9868 0.0995 -vn 0.2750 0.9562 0.1002 -vn 0.6903 0.7157 0.1062 -vn 0.2750 0.9562 -0.1002 -vn -0.9279 -0.0000 0.3728 -vn -0.7206 -0.0000 0.6933 -vn -0.2229 -0.2501 0.9422 -vn -0.2229 0.2501 0.9422 -vn -0.0638 0.0756 0.9951 -vn -0.0250 -0.0645 0.9976 -vn -0.1108 -0.2979 0.9482 -vn -0.1797 -0.2495 0.9515 -vn -0.4062 -0.0514 0.9123 -vn -0.2245 -0.6110 0.7592 -vn -0.5863 -0.6761 0.4461 -vn -0.3120 -0.8474 0.4297 -vn -0.0638 -0.0756 0.9951 -vn 0.0000 -0.7668 0.6419 -vn 0.0000 -0.9436 0.3311 -vn -0.0638 -0.0756 -0.9951 -vn -0.2229 0.2501 -0.9422 -vn -0.0638 0.0756 -0.9951 -vn -0.2229 -0.2501 -0.9422 -vn -0.7206 -0.0000 -0.6933 -vn -0.9279 -0.0000 -0.3728 -vn -0.3120 -0.8474 -0.4297 -vn -0.5863 -0.6761 -0.4461 -vn -0.2245 -0.6110 -0.7592 -vn -0.3975 -0.0432 -0.9166 -vn 0.0000 -0.9436 -0.3311 -vn 0.0000 -0.7668 -0.6419 -vn -0.1108 -0.2979 -0.9482 -vn -0.0250 -0.0645 -0.9976 -vn 0.0102 -0.6730 0.7396 -vn -0.1956 -0.6108 0.7673 -vn -0.2751 -0.8558 0.4380 -vn 0.0056 -0.9270 0.3749 -vn -0.0886 -0.6290 -0.7724 -vn -0.2834 -0.8498 -0.4444 -vn -0.0175 -0.9007 -0.4341 -vn -0.0003 -0.9952 -0.0979 -vn -0.4036 0.4552 0.7936 -vn -0.5327 0.7210 0.4433 -vn -0.6124 0.6852 0.3944 -vn -0.4656 0.3665 -0.8055 -vn -0.5274 0.7454 -0.4076 -vn -0.6335 0.6629 -0.3990 -vn -0.5906 0.7994 -0.1101 -vn -0.0482 -0.0875 0.9950 -vn -0.2275 -0.2964 0.9276 -vn -0.1850 -0.3331 0.9246 -vn -0.4236 -0.5499 0.7199 -vn -0.3417 -0.6118 0.7134 -vn -0.5612 -0.7271 0.3955 -vn -0.4500 -0.8035 0.3898 -vn -0.0482 -0.0875 -0.9950 -vn -0.2275 -0.2964 -0.9276 -vn -0.0588 -0.0770 -0.9953 -vn -0.1850 -0.3331 -0.9246 -vn -0.4236 -0.5499 -0.7199 -vn -0.3417 -0.6118 -0.7134 -vn -0.5612 -0.7271 -0.3955 -vn -0.4500 -0.8035 -0.3898 -vn -0.1305 -0.3619 0.9230 -vn -0.0340 -0.0949 0.9949 -vn -0.2404 -0.6632 0.7087 -vn -0.3151 -0.8674 0.3852 -vn -0.1305 -0.3619 -0.9230 -vn -0.2404 -0.6632 -0.7087 -vn -0.3151 -0.8674 -0.3852 -vn -0.0191 -0.1004 0.9948 -vn -0.0732 -0.3817 0.9214 -vn -0.1343 -0.6964 0.7050 -vn -0.1755 -0.9074 0.3818 -vn -0.0191 -0.1004 -0.9948 -vn -0.0340 -0.0949 -0.9949 -vn -0.0732 -0.3817 -0.9214 -vn -0.1343 -0.6964 -0.7050 -vn -0.1755 -0.9074 -0.3818 -vn -0.0208 -0.3871 0.9218 -vn -0.0054 -0.1010 0.9949 -vn -0.0382 -0.7087 0.7045 -vn -0.0498 -0.9232 0.3810 -vn -0.0208 -0.3871 -0.9218 -vn -0.0382 -0.7087 -0.7045 -vn -0.0498 -0.9232 -0.3810 -vn -0.0536 -0.9938 -0.0979 -vn 0.4260 -0.4488 0.7856 -vn 0.2229 -0.2501 0.9422 -vn 0.0638 -0.0756 0.9951 -vn 0.0638 -0.0756 -0.9951 -vn -0.0054 -0.1010 -0.9949 -vn 0.2229 -0.2501 -0.9422 -vn 0.4260 -0.4488 -0.7856 -vn -0.2224 -0.5980 -0.7700 -vn -0.1881 -0.2541 -0.9487 -vn 0.0848 -0.0033 0.9964 -vn 0.3388 -0.0442 0.9398 -vn 0.0835 -0.0109 0.9965 -vn 0.3426 -0.0132 0.9394 -vn 0.6572 -0.0860 0.7488 -vn 0.6630 -0.0255 0.7482 -vn 0.8985 -0.1178 0.4228 -vn 0.9057 -0.0349 0.4224 -vn 0.0848 -0.0033 -0.9964 -vn 0.3388 -0.0442 -0.9398 -vn 0.3426 -0.0132 -0.9394 -vn 0.6572 -0.0860 -0.7488 -vn 0.6630 -0.0255 -0.7482 -vn 0.8985 -0.1178 -0.4228 -vn 0.9057 -0.0349 -0.4224 -vn 0.3367 -0.0897 0.9373 -vn 0.0760 -0.0249 0.9968 -vn 0.6459 -0.1554 0.7475 -vn 0.8816 -0.2123 0.4215 -vn 0.0835 -0.0109 -0.9965 -vn 0.3291 -0.0690 -0.9418 -vn 0.8816 -0.2123 -0.4215 -vn 0.9279 -0.0000 0.3728 -vn 0.9279 0.0000 -0.3728 -vn 0.9947 -0.0000 -0.1031 -vn -0.0404 0.0829 0.9957 -vn -0.1176 0.3504 0.9292 -vn -0.0294 0.0870 0.9958 -vn -0.1611 0.3318 0.9295 -vn -0.2209 0.6608 0.7173 -vn -0.3027 0.6254 0.7193 -vn -0.2913 0.8730 0.3912 -vn -0.4002 0.8277 0.3934 -vn 0.0125 0.0754 -0.9971 -vn -0.1176 0.3504 -0.9292 -vn -0.1611 0.3318 -0.9295 -vn -0.2209 0.6608 -0.7173 -vn -0.3027 0.6254 -0.7192 -vn -0.2913 0.8730 -0.3912 -vn -0.4002 0.8277 -0.3934 -vn -0.0651 0.3669 0.9280 -vn -0.0163 0.0914 0.9957 -vn -0.1218 0.6893 0.7141 -vn -0.1602 0.9075 0.3882 -vn -0.0294 0.0870 -0.9958 -vn -0.0651 0.3669 -0.9280 -vn -0.1218 0.6893 -0.7141 -vn -0.1602 0.9075 -0.3882 -vn -0.0049 0.0946 0.9955 -vn -0.0192 0.3762 0.9264 -vn -0.0358 0.7023 0.7109 -vn -0.0469 0.9215 0.3855 -vn -0.0049 0.0946 -0.9955 -vn -0.0163 0.0914 -0.9957 -vn -0.0192 0.3762 -0.9264 -vn -0.0358 0.7023 -0.7109 -vn -0.0469 0.9215 -0.3855 -vn -0.3744 0.8427 0.3869 -vn -0.2851 0.6435 0.7104 -vn -0.1084 0.3542 0.9289 -vn 0.1779 0.0353 0.9834 -vn 0.0000 0.9436 0.3311 -vn 0.0000 0.7668 0.6419 -vn 0.0000 0.7668 -0.6419 -vn 0.0000 0.9436 -0.3311 -vn -0.0506 0.9938 -0.0985 -vn -0.0915 0.3044 -0.9481 -vn -0.2851 0.6435 -0.7104 -vn -0.3744 0.8427 -0.3869 -vn -0.4038 0.9094 -0.1000 -vn -0.4288 -0.1645 -0.8883 -vn -0.8412 -0.1222 -0.5267 -vn -0.7870 0.3648 -0.4975 -vn -0.4703 -0.2091 0.8574 -vn -0.8226 0.3938 0.4102 -vn -0.8993 -0.1237 0.4195 -vn -0.2943 -0.8164 -0.4969 -vn -0.6435 -0.5586 -0.5233 -vn -0.6910 -0.5997 0.4035 -vn -0.3091 -0.8727 0.3780 -vn 0.2937 0.0859 0.9520 -vn 0.6602 -0.1297 0.7398 -vn 0.8927 -0.1749 0.4154 -vn 0.0867 0.0043 -0.9962 -vn 0.0911 -0.0091 -0.9958 -vn 0.2576 0.0552 -0.9647 -vn 0.6459 -0.1554 -0.7475 -vn 0.6602 -0.1297 -0.7398 -vn 0.8927 -0.1749 -0.4154 -vn 0.4198 0.4534 -0.7863 -vn 0.8890 0.1917 -0.4158 -vn 0.6142 0.1513 -0.7745 -vn 0.4198 0.4534 0.7863 -vn 0.8890 0.1917 0.4158 -vn 0.6357 0.6596 0.4010 -vn 0.6142 0.1513 0.7745 -vn 0.9754 -0.1911 -0.1095 -vn -0.0642 0.6466 -0.7601 -vn 0.2552 0.8871 -0.3846 -vn 0.1742 0.5982 -0.7821 -vn -0.1185 0.9164 -0.3824 -vn 0.1707 0.5967 0.7841 -vn -0.0612 0.6375 0.7680 -vn 0.2552 0.8871 0.3847 -vn -0.1185 0.9164 0.3824 -vn 0.6357 0.6596 -0.4010 -vn -0.0588 -0.0770 0.9953 -s off -f 327/450/329 328/451/329 329/452/329 -f 330/453/330 331/454/330 328/455/330 -f 332/456/331 333/457/331 331/458/331 -f 334/459/332 329/460/332 333/461/332 -f 331/462/333 329/463/333 328/464/333 -f 330/453/334 334/459/334 332/465/334 -f 327/450/329 330/466/329 328/451/329 -f 330/453/330 332/465/330 331/454/330 -f 332/456/331 334/467/331 333/457/331 -f 334/459/332 327/468/332 329/460/332 -f 331/462/333 333/469/333 329/463/333 -f 330/453/334 327/468/334 334/459/334 -f 637/470/329 638/471/329 639/472/329 -f 640/473/335 641/474/335 642/475/335 -f 641/476/331 643/477/331 644/478/331 -f 645/479/336 646/480/336 647/481/336 -f 644/482/333 648/483/333 649/484/333 -f 639/485/333 650/486/333 651/487/333 -f 640/488/337 647/489/337 641/490/337 -f 642/491/331 651/492/331 650/493/331 -f 652/494/329 648/495/329 646/496/329 -f 652/497/338 645/498/338 642/499/338 -f 653/500/339 654/501/339 655/502/339 -f 656/503/335 657/504/335 654/505/335 -f 658/506/340 659/507/340 657/508/340 -f 659/509/336 653/510/336 655/511/336 -f 657/512/341 655/511/341 654/513/341 -f 656/514/342 660/515/342 658/516/342 -f 661/517/343 662/518/343 663/519/343 -f 664/520/344 662/518/344 665/521/344 -f 637/470/329 640/522/329 638/471/329 -f 650/523/335 638/524/335 642/475/335 -f 638/524/335 640/473/335 642/475/335 -f 641/474/335 644/525/335 652/526/335 -f 644/525/335 649/527/335 652/526/335 -f 641/474/335 652/526/335 642/475/335 -f 641/476/331 647/528/331 643/477/331 -f 646/480/336 648/529/336 643/530/336 -f 637/531/336 639/532/336 645/479/336 -f 639/532/336 651/533/336 645/479/336 -f 646/480/336 643/530/336 647/481/336 -f 637/531/336 645/479/336 647/481/336 -f 644/482/333 643/534/333 648/483/333 -f 639/485/333 638/535/333 650/486/333 -f 640/488/337 637/536/337 647/489/337 -f 642/491/331 645/537/331 651/492/331 -f 652/494/329 649/538/329 648/495/329 -f 652/497/338 646/539/338 645/498/338 -f 653/500/339 656/540/339 654/501/339 -f 656/503/335 658/541/335 657/504/335 -f 658/506/340 660/542/340 659/507/340 -f 659/509/336 660/543/336 653/510/336 -f 657/512/341 659/509/341 655/511/341 -f 656/514/342 653/544/342 660/515/342 -f 661/517/343 666/545/343 662/518/343 -f 664/520/344 663/519/344 662/518/344 -f 1541/546/331 1542/547/331 1543/548/331 -f 1544/549/329 1545/550/329 1546/551/329 -f 1547/552/334 1542/553/334 1545/554/334 -f 1541/555/333 1546/556/333 1548/557/333 -f 1541/546/331 1548/558/331 1542/547/331 -f 1544/549/329 1547/559/329 1545/550/329 -f 1547/552/334 1543/560/334 1542/553/334 -f 1541/555/333 1544/561/333 1546/556/333 -f 1767/562/336 1768/563/336 1769/564/336 -f 1770/565/335 1771/566/335 1772/567/335 -f 1773/568/336 1774/569/336 1768/563/336 -f 1774/569/336 1769/564/336 1768/563/336 -f 1769/564/336 1775/570/336 1767/562/336 -f 1767/562/336 1776/571/336 1777/572/336 -f 1776/571/336 1778/573/336 1777/572/336 -f 1778/573/336 1779/574/336 1777/572/336 -f 1777/572/336 1768/563/336 1767/562/336 -f 1770/565/335 1780/575/335 1771/566/335 -f 1771/566/335 1781/576/335 1772/567/335 -f 1781/576/335 1782/577/335 1772/567/335 -f 1772/567/335 1783/578/335 1770/565/335 -f 1783/578/335 1784/579/335 1785/580/335 -f 1785/580/335 1786/581/335 1783/578/335 -f 1786/581/335 1770/565/335 1783/578/335 -s 1 -f 237/582/336 238/583/336 239/584/336 -f 240/585/345 241/586/346 242/587/346 -f 243/588/347 244/589/348 245/590/348 -f 246/591/349 247/592/350 237/593/350 -f 248/594/335 249/595/335 250/596/335 -f 251/597/335 252/598/335 243/599/335 -f 238/600/351 253/601/352 254/602/351 -f 255/603/352 247/592/350 253/604/352 -f 243/588/347 256/605/353 239/606/347 -f 257/607/353 246/591/349 256/608/353 -f 258/609/354 259/610/355 260/611/354 -f 261/612/355 241/586/346 259/613/355 -f 244/589/348 262/614/356 245/590/348 -f 263/615/356 240/585/345 262/616/356 -f 258/609/354 238/600/351 254/602/351 -f 264/617/333 265/618/333 249/619/333 -f 266/620/334 267/621/334 268/622/334 -f 269/623/334 248/624/334 270/625/334 -f 271/626/333 272/627/333 273/628/333 -f 274/629/331 275/630/331 271/631/331 -f 275/632/336 276/633/336 269/634/336 -f 266/635/329 273/636/329 276/637/329 -f 265/638/357 252/639/331 277/640/331 -f 266/641/335 271/642/335 273/643/335 -f 268/644/358 264/645/359 278/646/358 -f 267/647/359 265/638/357 264/645/359 -f 279/648/336 268/649/358 278/650/358 -f 280/651/360 281/652/360 282/653/360 -f 283/654/331 284/655/331 281/656/331 -f 285/657/333 284/658/333 286/659/333 -f 287/660/329 285/661/361 288/662/361 -f 286/663/362 289/664/363 290/665/362 -f 288/666/361 286/667/362 290/668/362 -f 291/669/334 288/670/334 251/671/334 -f 292/672/364 293/673/365 294/674/364 -f 295/675/366 296/676/367 280/677/368 -f 296/678/334 295/679/334 297/680/334 -f 297/681/369 298/682/370 299/683/369 -f 300/684/371 301/685/372 302/686/371 -f 303/687/365 304/688/373 293/689/365 -f 305/690/373 299/683/369 304/688/373 -f 302/691/371 306/692/374 300/693/371 -f 307/694/374 308/695/370 306/692/374 -f 309/696/366 310/697/375 295/675/366 -f 311/698/375 312/699/372 310/697/375 -f 292/700/364 294/701/364 287/702/376 -f 280/677/368 313/703/377 291/704/377 -f 314/705/377 315/706/367 282/707/368 -f 316/708/333 294/709/333 293/710/333 -f 256/711/336 246/712/336 239/584/336 -f 246/712/336 237/582/336 239/584/336 -f 237/582/336 255/713/336 238/583/336 -f 238/583/336 260/714/336 317/715/336 -f 260/714/336 259/716/336 241/717/336 -f 317/715/336 260/714/336 241/717/336 -f 317/715/336 263/718/336 244/719/336 -f 244/719/336 239/584/336 317/715/336 -f 317/715/336 239/584/336 238/583/336 -f 240/585/345 317/720/345 241/586/346 -f 243/588/347 239/606/347 244/589/348 -f 246/591/349 318/721/349 247/592/350 -f 319/722/335 270/723/335 250/596/335 -f 270/723/335 248/594/335 250/596/335 -f 248/594/335 272/724/335 247/725/335 -f 247/725/335 318/726/335 248/594/335 -f 318/726/335 320/727/335 249/595/335 -f 249/595/335 277/728/335 289/729/335 -f 318/726/335 249/595/335 248/594/335 -f 249/595/335 289/729/335 250/596/335 -f 251/597/335 289/730/335 277/731/335 -f 251/597/335 277/731/335 252/598/335 -f 270/732/335 319/733/335 321/734/335 -f 319/733/335 284/735/335 321/734/335 -f 247/736/335 272/737/335 253/738/335 -f 272/737/335 322/739/335 253/738/335 -f 322/739/335 321/734/335 284/735/335 -f 258/740/335 254/741/335 322/739/335 -f 254/741/335 253/738/335 322/739/335 -f 242/742/335 261/743/335 258/740/335 -f 262/744/335 240/745/335 245/746/335 -f 240/745/335 242/742/335 284/735/335 -f 251/597/335 240/745/335 284/735/335 -f 243/599/335 245/746/335 251/597/335 -f 251/597/335 245/746/335 240/745/335 -f 318/747/335 257/748/335 320/749/335 -f 257/748/335 243/599/335 252/598/335 -f 320/749/335 257/748/335 252/598/335 -f 242/742/335 258/740/335 284/735/335 -f 258/740/335 322/739/335 284/735/335 -f 238/600/351 255/750/352 253/601/352 -f 255/603/352 237/593/350 247/592/350 -f 243/588/347 257/751/353 256/605/353 -f 257/607/353 318/721/349 246/591/349 -f 258/609/354 261/752/355 259/610/355 -f 261/612/355 242/587/346 241/586/346 -f 244/589/348 263/753/356 262/614/356 -f 263/615/356 317/720/345 240/585/345 -f 258/609/354 260/611/354 238/600/351 -f 249/619/333 276/754/333 264/617/333 -f 276/754/333 274/755/333 278/756/333 -f 264/617/333 276/754/333 278/756/333 -f 274/755/333 279/757/333 278/756/333 -f 265/618/333 277/758/333 249/619/333 -f 320/759/334 252/760/334 323/761/334 -f 320/759/334 323/761/334 267/621/334 -f 324/762/334 266/620/334 268/622/334 -f 266/620/334 320/759/334 267/621/334 -f 268/622/334 325/763/334 324/762/334 -f 270/625/334 321/764/334 275/765/334 -f 275/765/334 269/623/334 270/625/334 -f 271/626/333 322/766/333 272/627/333 -f 324/767/331 325/768/331 274/629/331 -f 325/768/331 279/769/331 274/629/331 -f 321/770/331 322/771/331 275/630/331 -f 322/771/331 271/631/331 275/630/331 -f 324/767/331 274/629/331 271/631/331 -f 275/632/336 274/772/336 276/633/336 -f 249/773/329 320/774/329 276/637/329 -f 320/774/329 266/635/329 276/637/329 -f 273/636/329 272/775/329 269/776/329 -f 272/775/329 248/777/329 269/776/329 -f 273/636/329 269/776/329 276/637/329 -f 265/638/357 323/778/357 252/639/331 -f 266/641/335 324/779/335 271/642/335 -f 268/644/358 267/647/359 264/645/359 -f 267/647/359 323/778/357 265/638/357 -f 279/648/336 325/780/336 268/649/358 -f 280/651/360 283/781/360 281/652/360 -f 283/654/331 251/782/331 284/655/331 -f 282/783/333 281/784/333 314/785/333 -f 281/784/333 284/658/333 314/785/333 -f 319/786/333 250/787/333 286/659/333 -f 284/658/333 319/786/333 286/659/333 -f 314/785/333 284/658/333 285/657/333 -f 285/657/333 326/788/333 314/785/333 -f 287/660/329 326/789/329 285/661/361 -f 286/663/362 250/790/363 289/664/363 -f 288/666/361 285/791/361 286/667/362 -f 291/669/334 287/792/334 288/670/334 -f 288/670/334 290/793/334 251/671/334 -f 290/793/334 289/794/334 251/671/334 -f 251/671/334 283/795/334 291/669/334 -f 283/795/334 280/796/334 291/669/334 -f 292/672/364 303/797/365 293/673/365 -f 280/677/368 282/798/368 309/696/366 -f 282/798/368 315/799/367 309/696/366 -f 280/677/368 309/696/366 295/675/366 -f 295/679/334 310/800/334 306/801/334 -f 310/800/334 312/802/334 306/801/334 -f 312/802/334 300/803/334 306/801/334 -f 306/801/334 308/804/334 295/679/334 -f 308/804/334 297/680/334 295/679/334 -f 297/680/334 305/805/334 313/806/334 -f 305/805/334 303/807/334 313/806/334 -f 303/807/334 292/808/334 313/806/334 -f 313/806/334 296/678/334 297/680/334 -f 297/681/369 308/695/370 298/682/370 -f 300/684/371 312/809/372 301/685/372 -f 303/687/365 305/690/373 304/688/373 -f 305/690/373 297/681/369 299/683/369 -f 302/691/371 307/694/374 306/692/374 -f 307/694/374 298/682/370 308/695/370 -f 309/696/366 311/698/375 310/697/375 -f 311/698/375 301/810/372 312/699/372 -f 287/702/376 291/704/377 313/703/377 -f 294/701/364 316/811/377 326/812/376 -f 316/811/377 314/813/377 326/812/376 -f 287/702/376 313/703/377 292/700/364 -f 294/701/364 326/812/376 287/702/376 -f 280/677/368 296/676/367 313/703/377 -f 314/705/377 316/814/377 315/706/367 -f 293/710/333 304/815/333 316/708/333 -f 304/815/333 299/816/333 316/708/333 -f 299/816/333 298/817/333 309/818/333 -f 298/817/333 307/819/333 309/818/333 -f 307/819/333 302/820/333 301/821/333 -f 301/821/333 311/822/333 307/819/333 -f 311/822/333 309/818/333 307/819/333 -f 309/818/333 315/823/333 299/816/333 -f 315/823/333 316/708/333 299/816/333 -f 335/824/378 336/825/379 337/826/379 -f 338/827/380 339/828/331 340/829/331 -f 341/830/381 342/831/329 343/832/329 -f 340/833/333 343/834/333 342/835/333 -f 338/836/335 344/837/335 337/838/335 -f 335/824/378 345/839/382 346/840/378 -f 347/841/382 348/842/383 345/843/382 -f 349/844/383 341/830/381 348/842/383 -f 336/825/379 350/845/384 337/826/379 -f 351/846/384 352/847/385 350/848/384 -f 353/849/385 338/827/380 352/847/385 -f 341/850/336 354/851/336 346/852/336 -f 355/853/329 356/854/329 357/855/329 -f 358/856/335 359/857/335 356/858/335 -f 360/859/331 361/860/331 362/861/331 -f 363/862/331 364/863/331 365/864/331 -f 357/865/336 366/866/336 367/867/336 -f 368/868/333 357/869/333 356/870/333 -f 369/871/334 360/872/334 370/873/334 -f 371/874/331 372/875/331 373/876/331 -f 374/877/334 365/878/334 364/879/334 -f 375/880/333 361/881/333 376/882/333 -f 360/883/336 376/884/364 377/885/336 -f 366/886/386 378/887/387 379/888/388 -f 380/889/389 381/890/390 382/891/391 -f 383/892/392 367/893/393 379/888/388 -f 376/884/364 384/894/376 385/895/376 -f 382/896/391 386/897/377 387/898/394 -f 375/899/372 362/900/335 361/901/335 -f 388/902/395 389/903/396 390/904/397 -f 389/903/396 388/902/395 359/905/398 -f 391/906/399 358/907/400 392/908/401 -f 391/909/399 393/910/402 394/911/375 -f 394/912/375 395/913/403 372/914/403 -f 381/915/390 373/916/404 385/895/376 -f 395/913/403 375/899/372 372/914/403 -f 335/824/378 346/840/378 336/825/379 -f 338/827/380 354/917/380 339/828/331 -f 341/830/381 344/918/381 342/831/329 -f 340/833/333 339/919/333 343/834/333 -f 340/920/335 342/921/335 344/837/335 -f 344/837/335 349/922/335 347/923/335 -f 347/923/335 335/924/335 344/837/335 -f 335/924/335 337/838/335 344/837/335 -f 337/838/335 350/925/335 352/926/335 -f 352/926/335 338/836/335 337/838/335 -f 338/836/335 340/920/335 344/837/335 -f 335/824/378 347/927/382 345/839/382 -f 347/841/382 349/844/383 348/842/383 -f 349/844/383 344/918/381 341/830/381 -f 336/825/379 351/928/384 350/845/384 -f 351/846/384 353/849/385 352/847/385 -f 353/849/385 354/917/380 338/827/380 -f 343/929/336 339/930/336 354/851/336 -f 354/851/336 353/931/336 351/932/336 -f 351/932/336 336/933/336 354/851/336 -f 336/933/336 346/852/336 354/851/336 -f 346/852/336 345/934/336 348/935/336 -f 348/935/336 341/850/336 346/852/336 -f 341/850/336 343/929/336 354/851/336 -f 355/853/329 396/936/329 356/854/329 -f 364/937/335 368/938/335 374/939/335 -f 368/938/335 356/858/335 374/939/335 -f 356/858/335 396/940/335 392/941/335 -f 396/940/335 393/942/335 392/941/335 -f 388/943/335 390/944/335 374/939/335 -f 359/857/335 388/943/335 356/858/335 -f 388/943/335 374/939/335 356/858/335 -f 356/858/335 392/941/335 358/856/335 -f 360/859/331 377/945/331 361/860/331 -f 363/862/331 368/946/331 364/863/331 -f 382/947/336 387/948/336 355/949/336 -f 357/865/336 363/950/336 397/951/336 -f 363/950/336 365/952/336 397/951/336 -f 397/951/336 378/953/336 366/866/336 -f 382/947/336 355/949/336 357/865/336 -f 380/954/336 382/947/336 357/865/336 -f 357/865/336 397/951/336 366/866/336 -f 367/867/336 380/954/336 357/865/336 -f 368/868/333 363/955/333 357/869/333 -f 394/956/334 393/957/334 396/958/334 -f 396/958/334 355/959/334 395/960/334 -f 355/959/334 387/961/334 386/962/334 -f 386/962/334 384/963/334 355/959/334 -f 384/963/334 369/871/334 370/873/334 -f 395/960/334 394/956/334 396/958/334 -f 360/872/334 362/964/334 370/873/334 -f 370/873/334 395/960/334 384/963/334 -f 355/959/334 384/963/334 395/960/334 -f 379/965/331 378/966/331 389/967/331 -f 378/966/331 397/968/331 390/969/405 -f 389/967/331 378/966/331 390/969/405 -f 397/968/331 374/970/331 390/969/405 -f 383/971/331 379/965/331 398/972/331 -f 398/972/331 379/965/331 389/967/331 -f 372/875/331 385/973/331 373/876/331 -f 373/876/331 383/971/331 371/874/331 -f 371/874/331 383/971/331 398/972/331 -f 374/877/334 397/974/334 365/878/334 -f 361/881/333 377/975/333 376/882/333 -f 376/882/333 385/976/333 375/880/333 -f 385/976/333 372/977/333 375/880/333 -f 360/883/336 369/978/364 376/884/364 -f 373/979/404 381/890/390 383/892/392 -f 381/890/390 380/889/389 383/892/392 -f 380/889/389 367/893/393 383/892/392 -f 367/893/393 366/886/386 379/888/388 -f 376/884/364 369/978/364 384/894/376 -f 382/896/391 381/980/390 386/897/377 -f 375/899/372 370/981/372 362/900/335 -f 359/905/398 358/907/400 398/982/406 -f 358/907/400 391/906/399 398/982/406 -f 391/906/399 371/983/407 398/982/406 -f 398/982/406 389/903/396 359/905/398 -f 391/909/399 392/984/401 393/910/402 -f 372/914/403 371/985/407 391/986/399 -f 391/986/399 394/912/375 372/914/403 -f 385/895/376 384/894/376 386/987/377 -f 386/987/377 381/915/390 385/895/376 -f 395/913/403 370/981/372 375/899/372 -f 399/988/408 400/989/409 401/990/410 -f 402/991/411 403/992/412 404/993/413 -f 405/994/414 406/995/415 407/996/416 -f 399/988/408 408/997/417 409/998/418 -f 410/999/419 411/1000/420 412/1001/421 -f 413/1002/422 414/1003/423 403/992/412 -f 415/1004/424 416/1005/425 417/1006/426 -f 418/1007/427 419/1008/428 420/1009/429 -f 421/1010/430 422/1011/431 423/1012/432 -f 420/1009/429 424/1013/433 425/1014/434 -f 407/996/416 426/1015/435 405/994/414 -f 404/1016/331 427/1017/331 406/1018/331 -f 407/996/416 428/1019/436 429/1020/437 -f 428/1019/436 430/1021/438 431/1022/439 -f 431/1023/439 412/1001/421 411/1000/420 -f 403/992/412 432/1024/440 433/1025/441 -f 432/1024/440 434/1026/442 433/1025/441 -f 435/1027/443 410/999/419 434/1028/442 -f 436/1029/444 418/1007/427 437/1030/445 -f 421/1031/430 438/1032/446 439/1033/447 -f 409/998/418 440/1034/448 441/1035/449 -f 440/1036/448 442/1037/450 441/1038/449 -f 443/1039/451 413/1002/422 442/1037/450 -f 415/1004/424 424/1013/433 416/1005/425 -f 444/1040/452 445/1041/453 446/1042/454 -f 405/994/414 447/1043/455 448/1044/456 -f 447/1045/455 449/1046/457 448/1047/456 -f 450/1048/458 399/988/408 449/1046/457 -f 451/1049/459 452/1050/460 453/1051/461 -f 454/1052/462 455/1053/463 444/1040/452 -f 406/995/415 456/1054/464 407/996/416 -f 457/1055/465 430/1056/438 456/1057/464 -f 430/1056/438 427/1058/466 412/1001/421 -f 404/993/413 433/1025/441 458/1059/467 -f 458/1059/467 434/1026/442 459/1060/468 -f 434/1028/442 460/1061/469 459/1062/468 -f 400/989/409 441/1035/449 461/1063/470 -f 441/1035/449 462/1064/471 461/1063/470 -f 442/1037/450 402/991/411 462/1065/471 -f 463/1066/472 448/1044/456 464/1067/473 -f 448/1047/456 465/1068/474 464/1069/473 -f 449/1046/457 401/990/410 465/1068/474 -f 427/1058/466 410/999/419 412/1001/421 -f 421/1010/430 453/1051/461 422/1011/431 -f 454/1070/462 466/1071/475 467/1072/476 -f 418/1073/427 445/1041/453 437/1074/445 -f 468/1075/477 429/1076/437 428/1077/436 -f 429/1020/437 469/1078/478 426/1015/435 -f 468/1075/477 431/1079/439 470/1080/479 -f 466/1071/475 471/1081/480 472/1082/481 -f 470/1080/479 411/1083/420 473/1084/482 -f 436/1085/444 474/1086/483 475/1087/484 -f 476/1088/485 414/1089/423 477/1090/486 -f 477/1091/486 478/1092/487 479/1093/488 -f 476/1088/485 435/1094/443 432/1095/440 -f 422/1011/431 480/1096/489 481/1097/490 -f 482/1098/491 483/1099/492 435/1094/443 -f 473/1100/482 483/1101/492 484/1102/493 -f 485/1103/494 408/1104/417 486/1105/495 -f 487/1106/496 486/1107/495 408/997/417 -f 488/1108/497 440/1109/448 485/1103/494 -f 489/1110/498 455/1053/463 490/1111/499 -f 488/1108/497 478/1112/487 443/1113/451 -f 491/1114/500 492/1115/501 438/1032/446 -f 493/1116/502 426/1117/435 469/1118/478 -f 466/1071/475 494/1119/503 467/1072/476 -f 493/1116/502 450/1120/458 447/1121/455 -f 495/1122/504 487/1123/496 450/1120/458 -f 467/1124/476 490/1111/499 455/1053/463 -f 417/1125/426 496/1126/505 452/1050/460 -f 416/1005/425 497/1127/506 417/1006/426 -f 416/1005/425 498/1128/507 499/1129/508 -f 452/1050/460 480/1096/489 453/1051/461 -f 423/1012/432 481/1097/490 500/1130/509 -f 423/1131/432 491/1114/500 438/1032/446 -f 436/1029/444 501/1132/510 419/1008/428 -f 437/1074/445 489/1110/498 474/1086/483 -f 452/1050/460 415/1133/424 417/1125/426 -f 502/1134/511 474/1086/483 489/1110/498 -f 470/1080/479 474/1135/483 468/1075/477 -f 473/1100/482 475/1136/484 470/1137/479 -f 477/1091/486 497/1138/506 476/1139/485 -f 482/1098/491 497/1140/506 499/1141/508 -f 484/1102/493 499/1129/508 498/1128/507 -f 486/1107/495 500/1142/509 485/1143/494 -f 488/1108/497 500/1144/509 481/1145/490 -f 479/1093/488 481/1097/490 480/1096/489 -f 469/1078/478 494/1146/503 493/1147/502 -f 495/1122/504 494/1148/503 472/1149/481 -f 503/1150/512 472/1082/481 471/1081/480 -f 479/1093/488 496/1126/505 477/1091/486 -f 473/1100/482 498/1128/507 501/1132/510 -f 491/1114/500 503/1150/512 471/1081/480 -f 490/1111/499 502/1134/511 489/1110/498 -f 424/1013/433 501/1132/510 498/1128/507 -f 504/1151/513 505/1152/514 506/1153/515 -f 507/1154/516 508/1155/517 505/1152/514 -f 509/1156/518 510/1157/519 511/1158/520 -f 512/1159/521 513/1160/522 514/1161/523 -f 515/1162/524 516/1163/525 517/1164/526 -f 515/1162/524 514/1161/523 518/1165/527 -f 519/1166/528 520/1167/529 521/1168/530 -f 517/1169/531 522/1170/532 523/1171/533 -f 524/1172/534 525/1173/535 526/1174/536 -f 527/1175/537 528/1176/538 529/1177/539 -f 524/1172/534 507/1154/516 530/1178/540 -f 511/1158/520 531/1179/541 529/1180/542 -f 516/1163/525 532/1181/543 525/1173/535 -f 531/1179/541 512/1159/521 533/1182/544 -f 519/1166/528 524/1183/545 530/1184/546 -f 531/1185/547 527/1175/537 529/1177/539 -f 534/1186/548 535/1187/549 506/1153/515 -f 504/1188/550 521/1168/530 520/1167/529 -f 536/1189/551 537/1190/552 526/1174/536 -f 538/1191/553 539/1192/554 540/1193/555 -f 531/1185/547 541/1194/556 542/1195/557 -f 515/1196/558 543/1197/559 544/1198/560 -f 523/1171/533 515/1199/558 517/1169/531 -f 524/1183/545 522/1170/532 545/1200/561 -f 546/1201/562 547/1202/563 518/1165/527 -f 544/1198/560 541/1203/556 533/1204/564 -f 418/1073/427 548/1205/565 446/1042/454 -f 418/1007/427 549/1206/566 550/1207/567 -f 415/1133/424 551/1208/568 552/1209/569 -f 415/1004/424 553/1210/570 425/1014/434 -f 421/1031/430 554/1211/571 555/1212/572 -f 421/1010/430 556/1213/573 451/1049/459 -f 454/1052/462 557/1214/574 558/1215/575 -f 454/1070/462 559/1216/576 560/1217/577 -f 425/1014/434 549/1206/566 420/1009/429 -f 557/1214/574 446/1042/454 548/1205/565 -f 554/1211/571 560/1217/577 559/1216/576 -f 551/1208/568 451/1049/459 556/1213/573 -f 550/1218/578 541/1219/579 548/1220/579 -f 550/1218/578 527/1221/580 542/1222/578 -f 552/1223/581 521/1224/582 561/1225/581 -f 552/1223/581 562/1226/583 553/1227/583 -f 555/1228/584 522/1229/585 563/1230/584 -f 555/1228/584 519/1231/586 556/1232/586 -f 558/1233/587 543/1234/588 564/1235/587 -f 558/1233/587 523/1236/589 559/1237/589 -f 553/1227/583 527/1221/580 549/1238/580 -f 543/1234/588 548/1220/579 541/1219/579 -f 522/1229/585 559/1237/589 523/1236/589 -f 521/1224/582 556/1232/586 519/1231/586 -f 565/1239/590 508/1240/591 566/1241/592 -f 567/1242/593 568/1243/594 532/1244/595 -f 569/1245/329 570/1246/329 571/1247/329 -f 572/1248/329 573/1249/329 574/1250/329 -f 575/1251/596 513/1252/597 576/1253/598 -f 577/1254/599 578/1255/599 569/1256/600 -f 539/1257/601 579/1258/602 540/1259/603 -f 580/1260/604 540/1261/603 579/1262/602 -f 567/1242/593 581/1263/605 582/1264/605 -f 583/1265/606 546/1266/607 584/1267/608 -f 585/1268/609 586/1269/610 575/1251/596 -f 587/1270/611 535/1271/612 588/1272/613 -f 588/1273/613 534/1274/614 589/1275/615 -f 589/1275/615 534/1274/614 590/1276/616 -f 591/1277/617 536/1278/618 592/1279/619 -f 591/1280/617 537/1281/620 536/1282/618 -f 566/1241/592 593/1283/621 594/1284/621 -f 595/1285/622 596/1286/623 510/1287/624 -f 597/1288/625 598/1289/626 599/1290/627 -f 599/1291/329 600/1292/329 601/1293/329 -f 600/1294/628 573/1295/629 602/1296/630 -f 603/1297/631 604/1298/632 601/1299/633 -f 605/1300/634 570/1301/635 606/1302/636 -f 571/1303/637 607/1304/638 608/1305/639 -f 601/1299/633 604/1298/632 609/1306/640 -f 610/1307/641 602/1296/630 611/1308/642 -f 612/1309/643 611/1308/642 613/1310/644 -f 612/1311/643 614/1312/645 603/1297/631 -f 615/1313/646 616/1314/647 617/1315/648 -f 618/1316/649 619/1317/650 620/1318/651 -f 621/1319/652 618/1316/649 620/1318/651 -f 622/1320/653 573/1295/629 623/1321/654 -f 622/1322/653 624/1323/655 574/1324/656 -f 625/1325/657 598/1289/626 624/1323/655 -f 616/1314/647 570/1301/635 626/1326/658 -f 439/1033/447 492/1115/501 560/1217/577 -f 454/1070/462 492/1115/501 466/1071/475 -f 504/1151/513 509/1156/518 528/1327/659 -f 504/1188/550 562/1328/660 561/1329/661 -f 399/988/408 409/998/418 400/989/409 -f 402/991/411 413/1002/422 403/992/412 -f 405/994/414 463/1066/472 406/995/415 -f 399/988/408 487/1106/496 408/997/417 -f 410/999/419 483/1101/492 411/1000/420 -f 413/1002/422 478/1092/487 414/1003/423 -f 418/1007/427 436/1029/444 419/1008/428 -f 420/1009/429 419/1008/428 424/1013/433 -f 407/996/416 429/1020/437 426/1015/435 -f 462/1330/331 402/1331/331 400/1332/331 -f 402/1331/331 404/1016/331 463/1333/331 -f 404/1016/331 458/1334/662 459/1335/331 -f 459/1335/331 460/1336/331 404/1016/331 -f 460/1336/331 427/1017/331 404/1016/331 -f 427/1017/331 627/1337/331 457/1338/331 -f 457/1338/331 406/1018/331 427/1017/331 -f 406/1018/331 463/1333/331 404/1016/331 -f 463/1333/331 464/1339/663 465/1340/331 -f 465/1340/331 401/1341/331 463/1333/331 -f 401/1341/331 400/1332/331 463/1333/331 -f 400/1332/331 461/1342/331 462/1330/331 -f 402/1331/331 463/1333/331 400/1332/331 -f 407/996/416 456/1054/464 428/1019/436 -f 428/1019/436 456/1054/464 430/1021/438 -f 431/1023/439 430/1056/438 412/1001/421 -f 403/992/412 414/1003/423 432/1024/440 -f 432/1024/440 435/1343/443 434/1026/442 -f 435/1027/443 483/1101/492 410/999/419 -f 421/1031/430 423/1131/432 438/1032/446 -f 409/998/418 408/997/417 440/1034/448 -f 440/1036/448 443/1039/451 442/1037/450 -f 443/1039/451 478/1092/487 413/1002/422 -f 415/1004/424 425/1014/434 424/1013/433 -f 444/1040/452 455/1053/463 445/1041/453 -f 405/994/414 426/1015/435 447/1043/455 -f 447/1045/455 450/1048/458 449/1046/457 -f 450/1048/458 487/1106/496 399/988/408 -f 451/1049/459 628/1344/664 452/1050/460 -f 454/1052/462 467/1124/476 455/1053/463 -f 406/995/415 457/1345/465 456/1054/464 -f 457/1055/465 627/1346/665 430/1056/438 -f 430/1056/438 627/1346/665 427/1058/466 -f 404/993/413 403/992/412 433/1025/441 -f 458/1059/467 433/1025/441 434/1026/442 -f 434/1028/442 410/999/419 460/1061/469 -f 400/989/409 409/998/418 441/1035/449 -f 441/1035/449 442/1347/450 462/1064/471 -f 442/1037/450 413/1002/422 402/991/411 -f 463/1066/472 405/994/414 448/1044/456 -f 448/1047/456 449/1046/457 465/1068/474 -f 449/1046/457 399/988/408 401/990/410 -f 427/1058/466 460/1061/469 410/999/419 -f 421/1010/430 451/1049/459 453/1051/461 -f 418/1073/427 446/1042/454 445/1041/453 -f 468/1075/477 502/1348/511 429/1076/437 -f 429/1020/437 502/1134/511 469/1078/478 -f 468/1075/477 428/1077/436 431/1079/439 -f 466/1071/475 492/1115/501 471/1081/480 -f 470/1080/479 431/1079/439 411/1083/420 -f 436/1085/444 437/1074/445 474/1086/483 -f 476/1088/485 432/1095/440 414/1089/423 -f 477/1091/486 414/1003/423 478/1092/487 -f 476/1088/485 482/1098/491 435/1094/443 -f 422/1011/431 453/1051/461 480/1096/489 -f 482/1098/491 484/1349/493 483/1099/492 -f 473/1100/482 411/1000/420 483/1101/492 -f 485/1103/494 440/1109/448 408/1104/417 -f 487/1106/496 503/1150/512 486/1107/495 -f 488/1108/497 443/1113/451 440/1109/448 -f 489/1110/498 445/1041/453 455/1053/463 -f 488/1108/497 479/1350/488 478/1112/487 -f 491/1114/500 471/1081/480 492/1115/501 -f 493/1116/502 447/1121/455 426/1117/435 -f 466/1071/475 472/1082/481 494/1119/503 -f 493/1116/502 495/1122/504 450/1120/458 -f 495/1122/504 503/1351/512 487/1123/496 -f 467/1124/476 494/1146/503 490/1111/499 -f 417/1125/426 497/1138/506 496/1126/505 -f 416/1005/425 499/1129/508 497/1127/506 -f 416/1005/425 424/1013/433 498/1128/507 -f 452/1050/460 496/1126/505 480/1096/489 -f 423/1012/432 422/1011/431 481/1097/490 -f 423/1131/432 500/1142/509 491/1114/500 -f 436/1029/444 475/1136/484 501/1132/510 -f 437/1074/445 445/1041/453 489/1110/498 -f 452/1050/460 628/1344/664 415/1133/424 -f 502/1134/511 468/1352/477 474/1086/483 -f 470/1080/479 475/1353/484 474/1135/483 -f 473/1100/482 501/1132/510 475/1136/484 -f 477/1091/486 496/1126/505 497/1138/506 -f 482/1098/491 476/1088/485 497/1140/506 -f 484/1102/493 482/1354/491 499/1129/508 -f 486/1107/495 491/1114/500 500/1142/509 -f 488/1108/497 485/1103/494 500/1144/509 -f 479/1093/488 488/1355/497 481/1097/490 -f 469/1078/478 490/1111/499 494/1146/503 -f 495/1122/504 493/1116/502 494/1148/503 -f 503/1150/512 495/1356/504 472/1082/481 -f 479/1093/488 480/1096/489 496/1126/505 -f 473/1100/482 484/1102/493 498/1128/507 -f 491/1114/500 486/1107/495 503/1150/512 -f 490/1111/499 469/1078/478 502/1134/511 -f 424/1013/433 419/1008/428 501/1132/510 -f 504/1151/513 520/1357/666 505/1152/514 -f 629/1358/517 630/1359/667 505/1152/514 -f 505/1152/514 520/1357/666 530/1178/540 -f 530/1178/540 507/1154/516 505/1152/514 -f 507/1154/516 593/1360/668 508/1155/517 -f 508/1155/517 629/1358/517 505/1152/514 -f 596/1361/519 578/1362/669 511/1158/520 -f 511/1158/520 529/1180/542 528/1327/659 -f 528/1327/659 509/1156/518 511/1158/520 -f 509/1156/518 631/1363/670 510/1157/519 -f 510/1157/519 596/1361/519 511/1158/520 -f 632/1364/522 586/1365/671 514/1161/523 -f 514/1161/523 544/1366/672 533/1182/544 -f 533/1182/544 512/1159/521 514/1161/523 -f 512/1159/521 633/1367/673 513/1160/522 -f 513/1160/522 632/1364/522 514/1161/523 -f 515/1162/524 518/1165/527 516/1163/525 -f 515/1162/524 544/1366/672 514/1161/523 -f 519/1166/528 530/1184/546 520/1167/529 -f 517/1169/531 545/1200/561 522/1170/532 -f 524/1172/534 545/1368/674 525/1173/535 -f 527/1175/537 562/1328/660 528/1176/538 -f 524/1172/534 526/1174/536 507/1154/516 -f 511/1158/520 538/1191/553 531/1179/541 -f 568/1369/543 634/1370/675 525/1173/535 -f 525/1173/535 545/1368/674 517/1164/526 -f 517/1164/526 516/1163/525 525/1173/535 -f 516/1163/525 581/1371/676 532/1181/543 -f 532/1181/543 568/1369/543 525/1173/535 -f 531/1179/541 538/1191/553 512/1159/521 -f 519/1166/528 563/1372/677 524/1183/545 -f 531/1185/547 542/1195/557 527/1175/537 -f 587/1373/678 631/1363/670 509/1156/518 -f 506/1153/515 505/1152/514 534/1186/548 -f 505/1152/514 630/1359/667 590/1374/679 -f 587/1373/678 509/1156/518 535/1187/549 -f 509/1156/518 506/1153/515 535/1187/549 -f 505/1152/514 590/1374/679 534/1186/548 -f 504/1188/550 561/1329/661 521/1168/530 -f 594/1375/680 593/1360/668 507/1154/516 -f 526/1174/536 525/1173/535 536/1189/551 -f 525/1173/535 634/1370/675 592/1376/681 -f 594/1375/680 507/1154/516 537/1190/552 -f 507/1154/516 526/1174/536 537/1190/552 -f 525/1173/535 592/1376/681 536/1189/551 -f 633/1367/673 512/1159/521 580/1377/682 -f 512/1159/521 538/1191/553 540/1193/555 -f 580/1377/682 512/1159/521 540/1193/555 -f 538/1191/553 511/1158/520 539/1192/554 -f 511/1158/520 578/1362/669 577/1378/683 -f 511/1158/520 577/1378/683 539/1192/554 -f 531/1185/547 533/1379/564 541/1194/556 -f 515/1196/558 564/1380/684 543/1197/559 -f 523/1171/533 564/1381/684 515/1199/558 -f 524/1183/545 563/1372/677 522/1170/532 -f 582/1382/685 581/1371/676 516/1163/525 -f 518/1165/527 514/1161/523 546/1201/562 -f 514/1161/523 586/1365/671 585/1383/686 -f 582/1382/685 516/1163/525 547/1202/563 -f 516/1163/525 518/1165/527 547/1202/563 -f 514/1161/523 585/1383/686 546/1201/562 -f 544/1198/560 543/1197/559 541/1203/556 -f 418/1073/427 550/1384/567 548/1205/565 -f 418/1007/427 420/1009/429 549/1206/566 -f 415/1133/424 628/1344/664 551/1208/568 -f 415/1004/424 552/1385/569 553/1210/570 -f 421/1031/430 439/1033/447 554/1211/571 -f 421/1010/430 555/1386/572 556/1213/573 -f 454/1052/462 444/1040/452 557/1214/574 -f 454/1070/462 558/1387/575 559/1216/576 -f 425/1014/434 553/1210/570 549/1206/566 -f 557/1214/574 444/1040/452 446/1042/454 -f 554/1211/571 439/1033/447 560/1217/577 -f 551/1208/568 628/1344/664 451/1049/459 -f 550/1218/578 542/1222/578 541/1219/579 -f 550/1218/578 549/1238/580 527/1221/580 -f 552/1223/581 551/1388/582 521/1224/582 -f 552/1223/581 561/1225/581 562/1226/583 -f 555/1228/584 554/1389/585 522/1229/585 -f 555/1228/584 563/1230/584 519/1231/586 -f 558/1233/587 557/1390/588 543/1234/588 -f 558/1233/587 564/1235/587 523/1236/589 -f 553/1227/583 562/1226/583 527/1221/580 -f 543/1234/588 557/1390/588 548/1220/579 -f 522/1229/585 554/1389/585 559/1237/589 -f 521/1224/582 551/1388/582 556/1232/586 -f 565/1239/590 629/1391/687 508/1240/591 -f 567/1242/593 572/1392/688 568/1243/594 -f 609/1393/689 576/1394/329 608/1395/329 -f 576/1394/329 579/1396/329 608/1395/329 -f 579/1396/329 635/1397/329 571/1247/329 -f 635/1397/329 569/1245/329 571/1247/329 -f 595/1398/329 617/1399/690 626/1400/691 -f 595/1398/329 626/1400/691 570/1246/329 -f 571/1247/329 608/1395/329 579/1396/329 -f 569/1245/329 595/1398/329 570/1246/329 -f 619/1401/329 617/1399/690 595/1398/329 -f 595/1398/329 588/1402/329 619/1401/329 -f 588/1402/329 589/1403/329 619/1401/329 -f 589/1403/329 565/1404/329 620/1405/329 -f 565/1404/329 566/1406/329 621/1407/329 -f 566/1406/329 636/1408/329 624/1409/329 -f 636/1408/329 591/1410/329 624/1409/329 -f 591/1410/329 572/1248/329 574/1250/329 -f 572/1248/329 567/1411/329 573/1249/329 -f 567/1411/329 583/1412/329 611/1413/329 -f 583/1412/329 584/1414/329 611/1413/329 -f 584/1414/329 575/1415/329 613/1416/329 -f 575/1415/329 576/1394/329 614/1417/329 -f 576/1394/329 609/1393/689 604/1418/692 -f 576/1394/329 604/1418/692 614/1417/329 -f 620/1405/329 619/1401/329 589/1403/329 -f 575/1415/329 614/1417/329 613/1416/329 -f 621/1407/329 620/1405/329 565/1404/329 -f 584/1414/329 613/1416/329 611/1413/329 -f 598/1419/329 621/1407/329 566/1406/329 -f 624/1409/329 598/1419/329 566/1406/329 -f 567/1411/329 611/1413/329 602/1420/693 -f 567/1411/329 602/1420/693 573/1249/329 -f 574/1250/329 624/1409/329 591/1410/329 -f 575/1251/596 632/1421/694 513/1252/597 -f 578/1255/599 596/1286/623 569/1256/600 -f 569/1256/600 635/1422/695 577/1254/599 -f 635/1422/695 539/1257/601 577/1254/599 -f 539/1257/601 635/1422/695 579/1258/602 -f 579/1262/602 576/1253/598 580/1260/604 -f 576/1253/598 513/1252/597 633/1423/604 -f 576/1253/598 633/1423/604 580/1260/604 -f 547/1424/696 583/1265/606 582/1264/605 -f 583/1265/606 567/1242/593 582/1264/605 -f 567/1242/593 532/1244/595 581/1263/605 -f 583/1265/606 547/1424/696 546/1266/607 -f 586/1269/610 632/1421/694 575/1251/596 -f 575/1251/596 584/1425/608 585/1268/609 -f 584/1425/608 546/1426/607 585/1268/609 -f 588/1272/613 595/1285/622 587/1270/611 -f 595/1285/622 510/1287/624 631/1427/611 -f 595/1285/622 631/1427/611 587/1270/611 -f 588/1273/613 535/1428/612 534/1274/614 -f 629/1391/687 565/1239/590 630/1429/616 -f 565/1239/590 589/1275/615 590/1276/616 -f 630/1429/616 565/1239/590 590/1276/616 -f 568/1243/594 572/1392/688 634/1430/619 -f 572/1392/688 591/1277/617 592/1279/619 -f 634/1430/619 572/1392/688 592/1279/619 -f 591/1280/617 636/1431/697 537/1281/620 -f 537/1281/620 636/1431/697 594/1284/621 -f 636/1431/697 566/1241/592 594/1284/621 -f 566/1241/592 508/1240/591 593/1283/621 -f 595/1285/622 569/1256/600 596/1286/623 -f 597/1288/625 621/1319/652 598/1289/626 -f 612/1432/698 603/1433/329 600/1292/329 -f 603/1433/329 601/1293/329 600/1292/329 -f 601/1293/329 607/1434/698 605/1435/698 -f 605/1435/698 606/1436/329 601/1293/329 -f 606/1436/329 616/1437/329 601/1293/329 -f 616/1437/329 615/1438/698 618/1439/699 -f 618/1439/699 597/1440/329 616/1437/329 -f 597/1440/329 599/1291/329 616/1437/329 -f 599/1291/329 625/1441/699 622/1442/699 -f 622/1442/699 623/1443/329 599/1291/329 -f 623/1443/329 600/1292/329 599/1291/329 -f 600/1292/329 610/1444/699 612/1432/698 -f 601/1293/329 616/1437/329 599/1291/329 -f 600/1294/628 623/1321/654 573/1295/629 -f 603/1297/631 614/1312/645 604/1298/632 -f 605/1300/634 571/1303/637 570/1301/635 -f 571/1303/637 605/1300/634 607/1304/638 -f 609/1306/640 608/1445/639 607/1446/638 -f 607/1446/638 601/1299/633 609/1306/640 -f 610/1307/641 600/1294/628 602/1296/630 -f 612/1309/643 610/1307/641 611/1308/642 -f 612/1311/643 613/1447/644 614/1312/645 -f 626/1326/658 617/1315/648 616/1314/647 -f 617/1315/648 619/1448/650 615/1313/646 -f 618/1316/649 615/1449/646 619/1317/650 -f 621/1319/652 597/1288/625 618/1316/649 -f 622/1320/653 574/1450/656 573/1295/629 -f 622/1322/653 625/1325/657 624/1323/655 -f 625/1325/657 599/1290/627 598/1289/626 -f 616/1314/647 606/1302/636 570/1301/635 -f 439/1033/447 438/1032/446 492/1115/501 -f 454/1070/462 560/1217/577 492/1115/501 -f 504/1151/513 506/1153/515 509/1156/518 -f 504/1188/550 528/1176/538 562/1328/660 -f 667/1451/336 668/1452/336 669/1453/336 -f 670/1454/700 671/1455/701 672/1456/701 -f 673/1457/702 674/1458/703 675/1459/703 -f 676/1460/704 677/1461/705 678/1462/705 -f 679/1463/335 680/1464/335 681/1465/335 -f 668/1466/706 681/1467/707 682/1468/706 -f 667/1469/707 677/1461/705 681/1470/707 -f 673/1457/702 683/1471/708 684/1472/702 -f 685/1473/708 676/1460/704 683/1474/708 -f 680/1475/709 669/1476/710 686/1477/709 -f 679/1478/710 671/1455/701 669/1479/710 -f 674/1458/703 687/1480/711 675/1459/703 -f 688/1481/711 670/1454/700 687/1482/711 -f 680/1475/709 668/1466/706 682/1468/706 -f 689/1483/336 690/1484/712 691/1485/336 -f 692/1486/713 693/1487/714 661/1488/714 -f 694/1489/715 695/1490/716 696/1491/715 -f 697/1492/716 698/1493/715 665/521/715 -f 699/1494/717 691/1495/717 700/1496/717 -f 701/1497/718 665/521/718 698/1493/718 -f 693/1498/718 666/545/718 661/517/718 -f 702/1499/714 703/1500/719 704/1501/714 -f 705/1502/714 693/1487/714 692/1486/713 -f 706/1503/720 699/1504/335 700/1505/335 -f 707/1506/721 708/1507/722 709/1508/723 -f 698/1493/718 704/1509/718 701/1497/718 -f 690/1510/724 710/1511/725 706/1512/724 -f 711/1513/726 712/1514/727 713/1515/728 -f 714/1516/331 715/1517/729 716/1518/730 -f 694/1519/731 705/1520/335 717/1521/732 -f 693/1498/718 696/1491/718 718/1522/718 -f 719/1523/724 720/1524/733 710/1511/725 -f 695/1490/716 711/1525/734 721/1526/735 -f 715/1517/729 722/1527/331 723/1528/736 -f 724/1529/737 725/1530/331 716/1518/730 -f 709/1508/723 724/1531/738 707/1506/721 -f 720/1532/739 725/1533/740 724/1534/738 -f 719/1535/741 726/1536/742 725/1533/740 -f 711/1513/726 723/1537/743 721/1538/744 -f 721/1539/744 722/1540/745 727/1541/746 -f 727/1541/746 714/1542/747 706/1503/720 -f 704/1543/336 728/1544/748 702/1545/749 -f 728/1544/748 729/1546/750 702/1545/749 -f 730/1547/751 731/1548/752 729/1549/750 -f 694/1519/731 732/1550/753 733/1551/754 -f 733/1552/754 712/1514/727 734/1553/755 -f 708/1554/715 730/1555/756 728/1556/715 -f 668/1452/336 686/1557/336 669/1453/336 -f 669/1453/336 671/1558/336 678/1559/336 -f 671/1558/336 735/1560/336 678/1559/336 -f 735/1560/336 688/1561/336 683/1562/336 -f 688/1561/336 674/1563/336 683/1562/336 -f 674/1563/336 684/1564/336 683/1562/336 -f 683/1562/336 676/1565/336 735/1560/336 -f 676/1565/336 678/1559/336 735/1560/336 -f 678/1559/336 667/1451/336 669/1453/336 -f 670/1454/700 735/1566/700 671/1455/701 -f 673/1457/702 684/1472/702 674/1458/703 -f 676/1460/704 736/1567/704 677/1461/705 -f 680/1464/335 682/1568/335 681/1465/335 -f 681/1465/335 677/1569/335 672/1570/335 -f 677/1569/335 736/1571/335 672/1570/335 -f 736/1571/335 685/1572/335 687/1573/335 -f 685/1572/335 673/1574/335 687/1573/335 -f 673/1574/335 675/1575/335 687/1573/335 -f 687/1573/335 670/1576/335 736/1571/335 -f 670/1576/335 672/1570/335 736/1571/335 -f 672/1570/335 679/1463/335 681/1465/335 -f 668/1466/706 667/1577/707 681/1467/707 -f 667/1469/707 678/1462/705 677/1461/705 -f 673/1457/702 685/1578/708 683/1471/708 -f 685/1473/708 736/1567/704 676/1460/704 -f 680/1475/709 679/1579/710 669/1476/710 -f 679/1478/710 672/1456/701 671/1455/701 -f 674/1458/703 688/1580/711 687/1480/711 -f 688/1481/711 735/1566/700 670/1454/700 -f 680/1475/709 686/1477/709 668/1466/706 -f 689/1483/336 726/1536/742 690/1484/712 -f 663/1581/714 664/1582/714 716/1518/730 -f 664/1582/714 701/1583/714 703/1500/719 -f 716/1518/730 664/1582/714 703/1500/719 -f 716/1518/730 715/1517/729 663/1581/714 -f 715/1517/729 692/1486/713 661/1488/714 -f 663/1581/714 715/1517/729 661/1488/714 -f 733/1584/757 734/1585/715 694/1489/715 -f 734/1585/715 711/1525/734 694/1489/715 -f 711/1525/734 695/1490/716 694/1489/715 -f 695/1490/716 718/1522/715 696/1491/715 -f 662/518/715 666/545/715 737/1586/758 -f 666/545/715 718/1522/715 695/1490/716 -f 737/1586/758 666/545/715 695/1490/716 -f 737/1586/758 710/1511/725 662/518/715 -f 710/1511/725 697/1492/716 665/521/715 -f 662/518/715 710/1511/725 665/521/715 -f 699/1494/717 689/1587/717 691/1495/717 -f 701/1497/718 664/520/718 665/521/718 -f 693/1498/718 718/1522/718 666/545/718 -f 729/1588/759 731/1589/714 702/1499/714 -f 731/1589/714 707/1590/760 702/1499/714 -f 707/1590/760 703/1500/719 702/1499/714 -f 703/1500/719 701/1583/714 704/1501/714 -f 692/1486/713 713/1591/761 717/1592/714 -f 713/1591/761 712/1593/714 717/1592/714 -f 712/1593/714 732/1594/762 717/1592/714 -f 717/1592/714 705/1502/714 692/1486/713 -f 706/1503/720 714/1542/747 699/1504/335 -f 707/1506/721 731/1548/752 708/1507/722 -f 698/1493/718 738/1595/718 704/1509/718 -f 710/1511/725 737/1586/758 706/1512/724 -f 706/1512/724 700/1596/724 691/1597/724 -f 691/1597/724 690/1510/724 706/1512/724 -f 711/1513/726 734/1553/755 712/1514/727 -f 716/1518/730 726/1598/331 714/1516/331 -f 726/1598/331 689/1599/331 714/1516/331 -f 689/1599/331 699/1600/331 714/1516/331 -f 694/1519/731 696/1601/335 705/1520/335 -f 693/1498/718 705/1602/718 696/1491/718 -f 720/1524/733 709/1603/763 697/1492/716 -f 697/1492/716 710/1511/725 720/1524/733 -f 710/1511/725 690/1510/724 719/1523/724 -f 706/1512/724 737/1586/758 727/1604/724 -f 737/1586/758 695/1490/716 721/1526/735 -f 727/1604/724 737/1586/758 721/1526/735 -f 713/1591/761 692/1486/713 723/1528/736 -f 692/1486/713 715/1517/729 723/1528/736 -f 715/1517/729 714/1516/331 722/1527/331 -f 725/1530/331 726/1598/331 716/1518/730 -f 716/1518/730 703/1500/719 724/1529/737 -f 703/1500/719 707/1590/760 724/1529/737 -f 709/1508/723 720/1605/739 724/1531/738 -f 720/1532/739 719/1535/741 725/1533/740 -f 719/1535/741 690/1484/712 726/1536/742 -f 711/1513/726 713/1515/728 723/1537/743 -f 721/1539/744 723/1606/743 722/1540/745 -f 727/1541/746 722/1540/745 714/1542/747 -f 704/1543/336 738/1607/336 728/1544/748 -f 728/1544/748 730/1608/751 729/1546/750 -f 730/1547/751 708/1507/722 731/1548/752 -f 694/1519/731 717/1521/732 732/1550/753 -f 733/1552/754 732/1609/753 712/1514/727 -f 728/1556/715 738/1595/715 697/1492/716 -f 738/1595/715 698/1493/715 697/1492/716 -f 697/1492/716 709/1603/763 728/1556/715 -f 709/1603/763 708/1554/715 728/1556/715 -f 739/1610/371 740/1611/372 741/1612/371 -f 742/1613/364 743/1614/336 744/1615/336 -f 745/1616/366 746/1617/367 747/1618/366 -f 745/1619/334 748/1620/334 749/1621/334 -f 750/1622/764 751/1623/765 752/1624/764 -f 747/1618/366 748/1625/375 745/1616/366 -f 753/1626/375 754/1627/372 748/1628/375 -f 742/1613/364 755/1629/377 756/1630/364 -f 757/1631/377 758/1632/367 755/1633/377 -f 741/1612/371 759/1634/766 739/1610/371 -f 760/1635/365 761/1636/364 762/1637/365 -f 763/1638/370 764/1639/369 765/1640/369 -f 766/1641/377 767/1642/364 768/1643/377 -f 768/1644/377 769/1645/767 766/1646/377 -f 765/1640/369 749/1647/373 770/1648/373 -f 762/1637/365 749/1649/373 760/1635/365 -f 771/1650/768 772/1651/374 773/1652/374 -f 773/1653/374 774/1654/370 763/1638/370 -f 775/1655/329 744/1656/329 743/1657/329 -f 776/1658/769 777/1659/769 778/1660/769 -f 779/1661/336 780/1662/770 781/1663/336 -f 782/1664/771 783/1665/772 784/1666/771 -f 785/1667/767 781/1668/773 769/1645/767 -f 746/1669/333 763/1670/333 765/1671/333 -f 786/1672/770 787/1673/774 780/1662/770 -f 787/1674/333 788/1675/333 780/1676/775 -f 788/1677/776 778/1678/777 789/1679/776 -f 789/1680/334 778/1681/334 777/1682/334 -f 788/1675/333 790/1683/333 791/1684/778 -f 790/1683/333 792/1685/333 791/1684/778 -f 751/1686/334 793/1687/334 794/1688/779 -f 793/1687/334 789/1680/334 794/1688/779 -f 789/1679/776 790/1689/780 788/1677/776 -f 793/1690/780 792/1691/765 790/1689/780 -f 784/1692/771 795/1693/766 782/1694/771 -f 791/1684/778 792/1685/333 781/1695/333 -f 783/1696/334 752/1697/334 796/1698/334 -f 750/1699/333 797/1700/333 798/1701/333 -f 797/1702/781 752/1703/764 783/1665/772 -f 751/1686/334 794/1688/779 779/1704/334 -f 739/1610/371 754/1627/372 740/1611/372 -f 742/1613/364 756/1630/364 743/1614/336 -f 745/1616/366 758/1632/367 746/1617/367 -f 743/1705/334 756/1706/334 775/1707/334 -f 756/1706/334 755/1708/334 772/1709/334 -f 775/1707/334 756/1706/334 772/1709/334 -f 755/1708/334 758/1710/334 772/1709/334 -f 758/1710/334 745/1619/334 774/1711/334 -f 772/1709/334 758/1710/334 774/1711/334 -f 748/1620/334 754/1712/334 749/1621/334 -f 754/1712/334 739/1713/334 760/1714/334 -f 749/1621/334 754/1712/334 760/1714/334 -f 739/1713/334 759/1715/334 767/1716/334 -f 759/1715/334 784/1717/334 768/1718/334 -f 784/1717/334 783/1696/334 785/1719/334 -f 783/1696/334 796/1698/334 785/1719/334 -f 785/1719/334 768/1718/334 784/1717/334 -f 759/1715/334 768/1718/334 767/1716/334 -f 739/1713/334 767/1716/334 760/1714/334 -f 764/1720/334 774/1711/334 745/1619/334 -f 749/1621/334 764/1720/334 745/1619/334 -f 750/1622/764 792/1691/765 751/1623/765 -f 747/1618/366 753/1721/375 748/1625/375 -f 753/1626/375 740/1611/372 754/1627/372 -f 742/1613/364 757/1722/377 755/1629/377 -f 757/1631/377 746/1617/367 758/1632/367 -f 741/1612/371 795/1693/766 759/1634/766 -f 760/1635/365 767/1642/364 761/1636/364 -f 763/1638/370 774/1654/370 764/1639/369 -f 766/1641/377 761/1636/364 767/1642/364 -f 768/1644/377 785/1667/767 769/1645/767 -f 765/1640/369 764/1639/369 749/1647/373 -f 762/1637/365 770/1723/373 749/1649/373 -f 771/1650/768 775/1724/768 772/1651/374 -f 773/1653/374 772/1725/374 774/1654/370 -f 775/1655/329 771/1726/329 744/1656/329 -f 776/1658/769 787/1727/769 777/1659/769 -f 779/1661/336 786/1672/770 780/1662/770 -f 782/1664/771 797/1702/781 783/1665/772 -f 785/1667/767 779/1728/773 781/1668/773 -f 769/1729/333 798/1701/333 797/1700/333 -f 797/1700/333 782/1730/333 769/1729/333 -f 782/1730/333 795/1731/333 766/1732/333 -f 769/1729/333 782/1730/333 766/1732/333 -f 795/1731/333 741/1733/333 761/1734/333 -f 741/1733/333 740/1735/333 762/1736/333 -f 753/1737/333 747/1738/333 770/1739/333 -f 747/1738/333 746/1669/333 765/1671/333 -f 770/1739/333 747/1738/333 765/1671/333 -f 757/1740/333 742/1741/333 773/1742/333 -f 742/1741/333 744/1743/333 771/1744/333 -f 773/1742/333 742/1741/333 771/1744/333 -f 741/1733/333 762/1736/333 761/1734/333 -f 740/1735/333 753/1737/333 770/1739/333 -f 762/1736/333 740/1735/333 770/1739/333 -f 746/1669/333 757/1740/333 773/1742/333 -f 746/1669/333 773/1742/333 763/1670/333 -f 761/1734/333 766/1732/333 795/1731/333 -f 786/1672/770 777/1745/774 787/1673/774 -f 776/1746/333 788/1675/333 787/1674/333 -f 788/1675/333 791/1684/778 780/1676/775 -f 788/1677/776 776/1747/777 778/1678/777 -f 777/1682/334 786/1748/782 789/1680/334 -f 786/1748/782 794/1688/779 789/1680/334 -f 789/1679/776 793/1690/780 790/1689/780 -f 793/1690/780 751/1623/765 792/1691/765 -f 784/1692/771 759/1634/766 795/1693/766 -f 792/1685/333 750/1699/333 781/1695/333 -f 750/1699/333 798/1701/333 769/1729/333 -f 781/1695/333 750/1699/333 769/1729/333 -f 781/1695/333 780/1676/775 791/1684/778 -f 797/1702/781 750/1749/764 752/1703/764 -f 779/1704/334 785/1719/334 752/1697/334 -f 785/1719/334 796/1698/334 752/1697/334 -f 752/1697/334 751/1686/334 779/1704/334 -f 794/1688/779 786/1748/782 779/1704/334 -f 799/1750/783 800/1751/784 801/1752/784 -f 801/1753/331 802/1754/331 803/1755/331 -f 804/1756/785 805/1757/786 806/1758/785 -f 807/1759/329 808/1760/329 809/1761/329 -f 810/1762/787 811/1763/788 807/1764/788 -f 808/1765/789 812/1766/790 813/1767/789 -f 814/1768/790 811/1763/788 812/1769/790 -f 806/1758/785 815/1770/344 804/1756/785 -f 816/1771/344 810/1762/787 815/1772/344 -f 802/1773/791 817/1774/792 818/1775/791 -f 819/1776/792 800/1751/784 817/1777/792 -f 820/1778/786 821/1779/343 805/1757/786 -f 822/1780/343 799/1750/783 821/1781/343 -f 813/1767/789 818/1775/791 808/1765/789 -f 799/1750/783 809/1782/783 800/1751/784 -f 802/1754/331 813/1783/331 803/1755/331 -f 813/1783/331 812/1784/331 811/1785/331 -f 803/1755/331 813/1783/331 811/1785/331 -f 803/1755/331 816/1786/331 806/1787/331 -f 806/1787/331 805/1788/331 801/1753/331 -f 805/1788/331 821/1789/331 799/1790/331 -f 801/1753/331 805/1788/331 799/1790/331 -f 801/1753/331 819/1791/331 802/1754/331 -f 803/1755/331 806/1787/331 801/1753/331 -f 804/1756/785 820/1778/786 805/1757/786 -f 808/1760/329 818/1792/329 809/1761/329 -f 818/1792/329 817/1793/329 800/1794/329 -f 809/1761/329 818/1792/329 800/1794/329 -f 809/1761/329 822/1795/329 820/1796/329 -f 820/1796/329 804/1797/329 807/1759/329 -f 804/1797/329 815/1798/329 810/1799/329 -f 807/1759/329 804/1797/329 810/1799/329 -f 807/1759/329 814/1800/329 808/1760/329 -f 809/1761/329 820/1796/329 807/1759/329 -f 810/1762/787 803/1801/787 811/1763/788 -f 808/1765/789 814/1802/790 812/1766/790 -f 814/1768/790 807/1764/788 811/1763/788 -f 806/1758/785 816/1803/344 815/1770/344 -f 816/1771/344 803/1801/787 810/1762/787 -f 802/1773/791 819/1804/792 817/1774/792 -f 819/1776/792 801/1752/784 800/1751/784 -f 820/1778/786 822/1805/343 821/1779/343 -f 822/1780/343 809/1782/783 799/1750/783 -f 813/1767/789 802/1773/791 818/1775/791 -f 831/1806/793 832/1807/794 833/1808/336 -f 834/1809/336 835/1810/336 836/1811/336 -f 837/1812/336 838/1813/336 839/1814/336 -f 840/1815/336 841/1816/336 842/1817/336 -f 843/1818/795 844/1819/336 845/1820/336 -f 846/1821/796 847/1822/797 848/1823/797 -f 849/1824/798 850/1825/797 851/1826/799 -f 852/1827/800 853/1828/336 854/1829/336 -f 855/1830/801 856/1831/334 857/1832/334 -f 858/1833/334 859/1834/334 860/1835/334 -f 861/1836/334 862/1837/334 863/1838/334 -f 864/1839/334 865/1840/334 866/1841/334 -f 867/1842/802 868/1843/334 869/1844/334 -f 870/1845/331 871/1846/331 872/1847/331 -f 873/1848/331 874/1849/331 875/1850/331 -f 849/1824/798 876/1851/335 877/1852/797 -f 878/1853/335 846/1821/796 848/1823/797 -f 879/1854/335 880/1855/803 881/1856/804 -f 882/1857/805 883/1858/805 884/1859/805 -f 831/1806/793 885/1860/805 886/1861/805 -f 887/1862/329 888/1863/329 889/1864/329 -f 880/1865/329 890/1866/329 891/1867/329 -f 892/1868/806 893/1869/807 894/1870/808 -f 895/1871/809 896/1872/334 897/1873/334 -f 898/1874/803 899/1875/335 900/1876/335 -f 867/1842/802 901/1877/810 902/1878/811 -f 903/1879/811 904/1880/812 905/1881/813 -f 893/1869/807 906/1882/814 907/1883/814 -f 908/1884/815 909/1885/816 910/1886/814 -f 911/1887/806 912/1888/817 909/1885/816 -f 913/1889/818 914/1890/819 912/1891/817 -f 914/1890/819 880/1855/803 849/1824/798 -f 895/1871/809 915/1892/820 916/1893/821 -f 917/1894/822 918/1895/823 915/1896/820 -f 918/1895/823 873/1897/804 919/1898/824 -f 920/1899/825 921/1900/826 893/1869/807 -f 922/1901/827 923/1902/828 921/1903/826 -f 923/1902/828 870/1904/795 924/1905/829 -f 855/1830/801 925/1906/830 901/1877/810 -f 926/1907/831 927/1908/832 925/1909/830 -f 927/1908/832 888/1910/800 832/1807/794 -f 894/1870/808 912/1888/817 928/1911/833 -f 928/1911/833 914/1912/819 929/1913/834 -f 914/1890/819 851/1826/799 929/1914/834 -f 930/1915/809 931/1916/835 932/1917/822 -f 931/1918/835 933/1919/836 932/1920/822 -f 934/1921/837 881/1856/804 933/1919/836 -f 935/1922/825 936/1923/838 937/1924/827 -f 936/1925/838 938/1926/839 937/1927/827 -f 939/1928/840 843/1818/795 938/1926/839 -f 904/1880/812 925/1906/830 940/1929/841 -f 940/1929/841 927/1930/832 941/1931/842 -f 927/1908/832 942/1932/843 941/1933/842 -f 916/1893/821 931/1916/835 867/1842/802 -f 915/1892/820 934/1934/837 931/1916/835 -f 934/1921/837 919/1898/824 846/1821/796 -f 893/1869/807 936/1923/838 908/1884/815 -f 921/1900/826 939/1935/840 936/1923/838 -f 939/1928/840 924/1905/829 831/1806/793 -f 892/1868/806 928/1911/833 943/1936/818 -f 928/1937/833 944/1938/844 943/1939/818 -f 929/1914/834 898/1874/803 944/1938/844 -f 945/1940/801 940/1929/841 946/1941/831 -f 940/1942/841 947/1943/845 946/1944/831 -f 941/1933/842 852/1827/800 947/1943/845 -f 908/1884/815 948/1945/333 949/1946/333 -f 950/1947/333 951/1948/333 952/1949/333 -f 953/1950/333 954/1951/333 955/1952/333 -f 956/1953/333 957/1954/333 958/1955/333 -f 911/1887/806 959/1956/333 960/1957/333 -f 961/1958/335 962/1959/335 963/1960/335 -f 887/1961/803 964/1962/335 965/1963/335 -f 966/1964/335 967/1965/335 968/1966/335 -f 969/1967/335 970/1968/335 971/1969/335 -f 972/1970/846 973/1971/847 974/1972/335 -f 975/1973/848 976/1974/849 977/1975/849 -f 978/1976/849 979/1977/850 980/1978/849 -f 872/1979/804 981/1980/335 982/1981/335 -f 983/1982/851 984/1983/333 985/1984/333 -f 986/1985/333 987/1986/333 988/1987/333 -f 989/1988/333 990/1989/333 991/1990/333 -f 992/1991/333 993/1992/333 994/1993/333 -f 995/1994/825 996/1995/333 997/1996/333 -f 980/1978/849 979/1977/850 998/1997/336 -f 975/1973/848 977/1975/849 999/1998/336 -f 1000/1999/795 891/2000/800 1001/2001/336 -f 972/1970/846 1002/2002/852 1003/2003/852 -f 1004/2004/852 1005/2005/852 1006/2006/852 -f 1007/2007/853 1008/2008/801 1009/2009/854 -f 1010/2010/825 1011/2011/333 1012/2012/333 -f 875/2013/795 1013/2014/336 1014/2015/336 -f 1015/2016/855 1016/2017/856 1017/2018/855 -f 983/1982/851 1018/2019/857 1019/2020/855 -f 1009/2009/854 1020/2021/858 1021/2022/858 -f 1022/2023/859 1023/2024/860 1024/2025/858 -f 1025/2026/861 1026/2027/801 1022/2023/859 -f 1025/2028/861 890/2029/845 1027/2030/831 -f 1028/2031/862 891/2000/800 890/2029/845 -f 1029/2032/863 1010/2010/825 1016/2017/856 -f 1030/2033/864 1031/2034/827 1029/2035/863 -f 1030/2033/864 875/2013/795 874/2036/839 -f 1032/2037/809 1033/2038/865 1034/2039/822 -f 1035/2040/866 1034/2041/822 1033/2042/865 -f 1035/2040/866 872/1979/804 871/2043/836 -f 1036/2044/867 1037/2045/806 983/1982/851 -f 1036/2046/867 889/2047/844 1038/2048/818 -f 1039/2049/868 887/1961/803 889/2047/844 -f 1025/2026/861 1009/2009/854 1040/2050/869 -f 1025/2028/861 1041/2051/870 1028/2031/862 -f 1028/2031/862 1042/2052/871 975/1973/848 -f 1018/2019/857 995/1994/825 1043/2053/872 -f 1044/2054/839 1045/2055/873 1046/2056/827 -f 1000/1999/795 1047/2057/874 1044/2054/839 -f 1023/2024/860 1048/2058/875 1049/2059/876 -f 1050/2060/836 1049/2061/876 1051/2062/822 -f 1052/2063/804 1053/2064/877 1050/2060/836 -f 1036/2044/867 1054/2065/878 1055/2066/879 -f 1036/2046/867 1056/2067/880 1039/2049/868 -f 1039/2049/868 1057/2068/881 972/1970/846 -f 1045/2069/873 1016/2017/856 1018/2019/857 -f 1047/2057/874 1029/2035/863 1045/2055/873 -f 1047/2057/874 1058/2070/882 1030/2033/864 -f 1049/2059/876 1007/2007/853 1023/2024/860 -f 1053/2064/877 1033/2042/865 1049/2061/876 -f 1053/2064/877 1059/2071/883 1035/2040/866 -f 1009/2009/854 1008/2008/801 1060/2072/884 -f 1041/2051/870 1061/2073/831 1062/2074/845 -f 1041/2051/870 1063/2075/800 1042/2052/871 -f 1054/2065/878 1064/2076/806 1065/2077/885 -f 1056/2067/880 1066/2078/818 1067/2079/844 -f 1056/2067/880 1068/2080/803 1057/2068/881 -f 1069/2081/334 1070/2082/334 1071/2083/334 -f 1022/2023/859 1072/2084/334 1073/2085/334 -f 1074/2086/334 1075/2087/334 1076/2088/334 -f 1077/2089/334 1078/2090/334 1079/2091/334 -f 1080/2092/809 1081/2093/334 1082/2094/334 -f 853/2095/886 981/2096/887 854/2097/887 -f 1083/2098/888 1084/2099/889 1085/2100/333 -f 882/2101/890 1004/2102/891 1086/2103/892 -f 1087/2104/893 1088/2105/894 1089/2106/895 -f 882/2101/890 1090/2107/896 1091/2108/897 -f 1092/2109/898 1093/2110/899 1084/2111/889 -f 1086/2103/892 1093/2110/899 1092/2109/898 -f 1094/2112/900 1095/2113/901 1096/2114/900 -f 1097/2115/901 981/2096/887 1095/2113/901 -f 1098/2116/902 1099/2117/903 1100/2118/902 -f 853/2095/886 1100/2118/902 982/2119/886 -f 1094/2120/900 1096/2121/900 1101/2122/334 -f 1006/2123/904 884/2124/905 883/2125/906 -f 1102/2126/907 1103/2127/908 1104/2128/909 -f 886/2129/890 1003/2130/891 1105/2131/892 -f 885/2132/910 1106/2133/895 1107/2134/896 -f 886/2129/890 1107/2134/896 1108/2135/897 -f 1109/2136/889 1110/2137/898 1002/2138/899 -f 1105/2131/892 1002/2138/899 1110/2137/898 -f 1111/2139/911 1112/2140/912 1113/2141/913 -f 1114/2142/914 1005/2143/915 1112/2140/912 -f 1115/2144/916 1104/2145/909 1103/2146/908 -f 1116/2147/917 1006/2123/904 883/2125/906 -f 1117/2148/918 1113/2149/913 1106/2150/895 -f 1118/2151/886 1119/2152/887 833/2153/887 -f 1120/2154/888 1121/2155/903 1122/2156/903 -f 834/2157/919 971/2158/920 1123/2159/920 -f 1124/2160/921 1125/2161/894 1126/2162/921 -f 834/2157/919 1126/2162/921 969/2163/919 -f 1120/2164/888 1127/2165/922 1128/2166/888 -f 1129/2167/922 971/2158/920 1127/2165/922 -f 1130/2168/900 1131/2169/901 1132/2170/900 -f 1133/2171/901 1119/2152/887 1131/2169/901 -f 1134/2172/902 1121/2173/903 1135/2174/902 -f 1118/2151/886 1135/2174/902 974/2175/886 -f 1136/2176/894 1132/2177/900 1125/2178/894 -f 835/2179/886 1137/2180/887 836/2181/887 -f 1138/2182/888 1139/2183/903 1140/2184/903 -f 839/2185/919 966/2186/920 837/2187/920 -f 1141/2188/921 1142/2189/894 1143/2190/921 -f 1141/2188/921 1144/2191/919 839/2185/919 -f 1138/2192/888 1145/2193/922 1146/2194/888 -f 1147/2195/922 966/2186/920 1145/2193/922 -f 1148/2196/901 1149/2197/900 1150/2198/901 -f 1137/2180/887 1150/2198/901 836/2181/887 -f 1139/2199/903 1151/2200/902 1140/2201/903 -f 835/2179/886 1152/2202/902 970/2203/886 -f 1153/2204/894 1154/2205/900 1142/2206/894 -f 1155/2207/886 967/2208/887 838/2209/887 -f 1156/2210/903 1157/2211/888 1158/2212/903 -f 842/2213/919 961/2214/920 840/2215/920 -f 1159/2216/921 1160/2217/894 1161/2218/921 -f 842/2213/919 1161/2218/921 1162/2219/919 -f 1163/2220/888 1164/2221/922 1157/2222/888 -f 1165/2223/922 961/2214/920 1164/2221/922 -f 1166/2224/900 1167/2225/901 1168/2226/900 -f 967/2208/887 1169/2227/901 838/2209/887 -f 1170/2228/902 1158/2229/903 1171/2230/902 -f 1155/2207/886 1171/2230/902 968/2231/886 -f 1172/2232/894 1168/2233/900 1160/2234/894 -f 1173/2235/886 962/2236/887 841/2237/887 -f 1174/2238/888 964/2239/903 1175/2240/903 -f 1176/2241/919 1177/2242/920 1178/2243/920 -f 1179/2244/921 1180/2245/894 1181/2246/921 -f 1176/2241/919 1181/2246/921 1182/2247/919 -f 1183/2248/922 965/2249/888 1174/2250/888 -f 1178/2243/920 1184/2251/922 1183/2248/922 -f 844/2252/900 1185/2253/901 1186/2254/900 -f 962/2236/887 1187/2255/901 841/2237/887 -f 1188/2256/902 964/2257/903 1189/2258/902 -f 1173/2235/886 1189/2258/902 963/2259/886 -f 845/2260/894 1186/2261/900 1180/2262/894 -f 860/2263/923 994/2264/924 858/2265/924 -f 956/2266/924 1071/2267/923 1190/2268/923 -f 1191/2269/925 1192/2270/926 1193/2271/926 -f 1194/2272/926 1195/2273/925 1196/2274/925 -f 960/2275/927 1082/2276/928 1081/2277/927 -f 857/2278/928 997/2279/927 996/2280/928 -f 1197/2281/929 1198/2282/930 1199/2283/929 -f 1200/2284/930 1201/2285/929 1202/2286/930 -f 1203/2287/930 996/2280/928 1198/2282/930 -f 959/2288/928 1202/2286/930 1082/2276/928 -f 1194/2289/926 1204/2290/931 1205/2291/926 -f 1206/2292/931 1192/2293/926 1207/2294/931 -f 1208/2295/931 1081/2277/927 1204/2290/931 -f 856/2296/927 1207/2294/931 997/2279/927 -f 1209/2297/932 1210/2298/933 1211/2299/933 -f 1212/2300/933 1213/2301/932 1214/2302/932 -f 1190/2268/923 1215/2303/932 1209/2297/932 -f 1214/2302/932 992/2304/923 860/2263/923 -f 1216/2305/934 1217/2306/925 1191/2307/925 -f 1196/2308/925 1218/2309/934 1219/2310/934 -f 858/2265/924 1220/2311/934 1216/2305/934 -f 1219/2310/934 1069/2312/924 956/2266/924 -f 1212/2313/933 1199/2314/929 1221/2315/933 -f 1222/2316/929 1210/2317/933 1201/2318/929 -f 863/2319/923 991/2320/924 861/2321/924 -f 954/2322/923 1078/2323/924 1223/2324/923 -f 1224/2325/925 1225/2326/926 1226/2327/926 -f 1227/2328/925 1228/2329/926 1229/2330/925 -f 958/2331/927 1070/2332/928 1230/2333/927 -f 859/2334/928 993/2335/927 1231/2336/928 -f 1232/2337/929 1233/2338/930 1234/2339/929 -f 1235/2340/930 1236/2341/929 1237/2342/930 -f 1238/2343/930 1231/2336/928 1233/2338/930 -f 957/2344/928 1237/2342/930 1070/2332/928 -f 1239/2345/931 1240/2346/926 1241/2347/931 -f 1242/2348/931 1225/2349/926 1243/2350/931 -f 1241/2347/931 1230/2333/927 1239/2345/931 -f 1244/2351/927 1243/2350/931 993/2335/927 -f 1245/2352/932 1246/2353/933 1247/2354/933 -f 1248/2355/933 1249/2356/932 1250/2357/932 -f 954/2322/923 1251/2358/932 1245/2352/932 -f 1250/2357/932 989/2359/923 863/2319/923 -f 1252/2360/934 1253/2361/925 1224/2362/925 -f 1227/2363/925 1254/2364/934 1255/2365/934 -f 861/2321/924 1256/2366/934 1252/2360/934 -f 1257/2367/924 1254/2364/934 1078/2323/924 -f 1248/2368/933 1234/2369/929 1258/2370/933 -f 1259/2371/929 1246/2372/933 1236/2373/929 -f 866/2374/923 986/2375/924 864/2376/924 -f 1260/2377/923 1261/2378/924 1074/2379/923 -f 1262/2380/925 1263/2381/926 1264/2382/926 -f 1265/2383/926 1266/2384/925 1267/2385/925 -f 953/2386/927 1077/2387/928 1079/2388/927 -f 862/2389/928 990/2390/927 1268/2391/928 -f 1269/2392/929 1270/2393/930 1271/2394/929 -f 1272/2395/929 1273/2396/930 1274/2397/929 -f 1275/2398/930 1268/2391/928 1273/2396/930 -f 955/2399/928 1276/2400/930 1077/2387/928 -f 1277/2401/931 1265/2402/926 1278/2403/931 -f 1279/2404/931 1263/2405/926 1280/2406/931 -f 1278/2403/931 1079/2388/927 1277/2401/931 -f 1281/2407/927 1280/2406/931 990/2390/927 -f 1282/2408/933 1283/2409/932 1284/2410/933 -f 1285/2411/933 1286/2412/932 1287/2413/932 -f 1260/2377/923 1283/2409/932 1288/2414/932 -f 1287/2413/932 1289/2415/923 866/2374/923 -f 1290/2416/934 1267/2417/925 1266/2418/925 -f 1291/2419/934 1292/2420/925 1262/2421/925 -f 864/2376/924 1293/2422/934 1291/2419/934 -f 1290/2416/934 950/2423/924 1294/2424/934 -f 1284/2425/933 1271/2426/929 1282/2427/933 -f 1285/2428/933 1274/2429/929 1295/2430/933 -f 1296/2431/923 1297/2432/924 1298/2433/924 -f 1299/2434/923 1300/2435/924 1301/2436/924 -f 1302/2437/925 948/2438/926 1303/2439/926 -f 1304/2440/925 984/2441/926 1305/2442/926 -f 1076/2443/928 952/2444/927 951/2445/928 -f 865/2446/928 988/2447/927 987/2448/928 -f 1072/2449/929 1306/2450/930 1307/2451/929 -f 868/2452/929 1308/2453/930 1309/2454/929 -f 1310/2455/930 951/2445/928 1306/2450/930 -f 1311/2456/930 987/2448/928 1308/2453/930 -f 1312/2457/931 948/2458/926 1313/2459/931 -f 1314/2460/931 984/2461/926 1315/2462/931 -f 1075/2463/927 1313/2459/931 952/2444/927 -f 1316/2464/927 1315/2462/931 988/2447/927 -f 1073/2465/933 1317/2466/932 1318/2467/932 -f 869/2468/933 1319/2469/932 1320/2470/932 -f 1318/2467/932 1321/2471/923 1296/2431/923 -f 1320/2470/932 1322/2472/923 1299/2434/923 -f 1323/2473/934 949/2474/925 1302/2475/925 -f 1324/2476/934 985/2477/925 1304/2478/925 -f 1298/2433/924 1325/2479/934 1323/2473/934 -f 1301/2436/924 1326/2480/934 1324/2476/934 -f 1073/2481/933 1307/2482/929 1327/2483/933 -f 869/2484/933 1309/2485/929 1328/2486/933 -f 1329/2487/935 1330/2488/936 1331/2489/937 -f 906/2490/937 1020/2491/938 907/2492/935 -f 1332/2493/939 1333/2494/940 1334/2495/941 -f 1335/2496/939 1336/2497/940 1337/2498/942 -f 910/2499/943 1024/2500/944 1338/2501/945 -f 902/2502/946 1019/2503/945 1339/2504/944 -f 1340/2505/947 1341/2506/948 1342/2507/949 -f 1343/2508/948 1344/2509/947 1345/2510/949 -f 1342/2507/949 902/2502/946 1339/2504/944 -f 1346/2511/946 1345/2510/949 1024/2500/944 -f 1347/2512/941 1348/2513/950 1349/2514/951 -f 1350/2515/950 1334/2516/941 1351/2517/951 -f 1349/2514/951 910/2499/943 1338/2501/945 -f 1352/2518/943 1351/2517/951 1019/2503/945 -f 1353/2519/952 1354/2520/953 1355/2521/954 -f 1356/2522/952 1357/2523/953 1358/2524/955 -f 1359/2525/955 1020/2491/938 1354/2520/953 -f 1358/2524/955 1360/2526/938 1329/2487/935 -f 903/2527/942 1361/2528/956 1333/2529/940 -f 1337/2530/942 1362/2531/956 1363/2532/957 -f 1364/2533/957 1330/2488/936 1361/2528/956 -f 1363/2532/957 1021/2534/936 906/2490/937 -f 1015/2535/954 1365/2536/958 1340/2537/947 -f 1366/2538/958 1355/2539/954 1344/2540/947 -f 1014/2541/959 1367/2542/960 900/2543/959 -f 1368/2544/333 1369/2545/333 978/2546/333 -f 1001/2547/961 1370/2548/962 1371/2549/962 -f 977/2550/334 976/2551/334 877/2552/334 -f 1372/2553/963 1373/2554/964 1374/2555/963 -f 1372/2553/963 1375/2556/965 1376/2557/965 -f 1376/2557/965 879/2558/961 1001/2547/961 -f 1377/2559/966 1378/2560/967 1379/2561/966 -f 1380/2562/968 1378/2560/967 1381/2563/967 -f 1371/2549/962 1382/2564/968 1380/2562/968 -f 1383/2565/969 1384/2566/970 1385/2567/970 -f 899/2568/971 1384/2566/970 1386/2569/971 -f 1386/2569/971 900/2543/959 899/2568/971 -f 1387/2570/972 1368/2571/973 1388/2572/972 -f 1388/2572/972 1389/2573/974 1387/2570/972 -f 1390/2574/974 1013/2575/960 1389/2573/974 -f 1391/2576/975 1392/2577/976 905/2578/977 -f 896/2579/369 1011/2580/370 897/2581/370 -f 1393/2582/978 1394/2583/979 1395/2584/980 -f 1396/2585/365 1397/2586/336 1398/2587/981 -f 1399/2588/982 1392/2589/976 1400/2590/983 -f 1401/2591/984 1400/2590/983 1394/2583/979 -f 1017/2592/985 1402/2593/986 1403/2594/987 -f 1403/2594/987 1393/2582/978 1395/2584/980 -f 1404/2595/373 1012/2596/369 896/2579/369 -f 1396/2597/365 1405/2598/988 1406/2599/989 -f 1407/2600/374 1408/2601/374 1409/2602/768 -f 897/2581/370 1408/2601/374 1407/2600/374 -f 1133/2603/336 1130/2604/336 831/1806/793 -f 832/1807/794 1122/2605/336 1134/2606/336 -f 832/1807/794 1134/2606/336 1118/2607/336 -f 833/1808/336 1133/2603/336 831/1806/793 -f 832/1807/794 1118/2607/336 833/1808/336 -f 834/1809/336 1123/2608/336 835/1810/336 -f 837/1812/336 1155/2609/336 838/1813/336 -f 840/1815/336 1173/2610/336 841/1816/336 -f 1155/2609/336 837/1812/336 1147/2611/336 -f 1155/2609/336 1147/2611/336 1170/2612/336 -f 1147/2611/336 1138/2613/336 1170/2612/336 -f 1156/2614/336 1170/2612/336 1138/2613/336 -f 1156/2614/336 1138/2613/336 832/1807/794 -f 1138/2613/336 1140/2615/336 832/1807/794 -f 1151/2616/336 835/1810/336 1123/2608/336 -f 1140/2615/336 1151/2616/336 1129/2617/336 -f 1151/2616/336 1123/2608/336 1129/2617/336 -f 1140/2615/336 1129/2617/336 1120/2618/336 -f 1120/2618/336 1122/2605/336 832/1807/794 -f 843/1818/795 831/1806/793 1172/2619/336 -f 831/1806/793 1130/2604/336 1136/2620/336 -f 831/1806/793 1136/2620/336 1149/2621/336 -f 1120/2618/336 832/1807/794 1140/2615/336 -f 832/1807/794 888/1910/800 1163/2622/336 -f 1156/2614/336 832/1807/794 1163/2622/336 -f 831/1806/793 1149/2621/336 1153/2623/336 -f 1136/2620/336 1124/2624/336 1149/2621/336 -f 1124/2624/336 834/1809/336 836/1811/336 -f 1124/2624/336 836/1811/336 1150/2625/336 -f 1124/2624/336 1150/2625/336 1149/2621/336 -f 1165/2626/336 1163/2622/336 1175/2627/336 -f 1163/2622/336 888/1910/800 1175/2627/336 -f 1173/2610/336 840/1815/336 1165/2626/336 -f 1188/2628/336 1173/2610/336 1165/2626/336 -f 831/1806/793 1153/2623/336 1166/2629/336 -f 1141/2630/336 839/1814/336 838/1813/336 -f 831/1806/793 1166/2629/336 1172/2619/336 -f 1153/2623/336 1141/2630/336 1166/2629/336 -f 1175/2627/336 1188/2628/336 1165/2626/336 -f 1141/2630/336 838/1813/336 1169/2631/336 -f 1141/2630/336 1169/2631/336 1166/2629/336 -f 1174/2632/336 1175/2627/336 888/1910/800 -f 1183/2633/336 1174/2632/336 888/1910/800 -f 1183/2633/336 888/1910/800 1178/2634/336 -f 888/1910/800 843/1818/795 1178/2634/336 -f 843/1818/795 1172/2619/336 844/1819/336 -f 1172/2619/336 1159/2635/336 844/1819/336 -f 1159/2635/336 842/1817/336 841/1816/336 -f 1159/2635/336 841/1816/336 1187/2636/336 -f 1176/2637/336 1178/2634/336 843/1818/795 -f 1179/2638/336 1176/2637/336 843/1818/795 -f 1159/2635/336 1187/2636/336 844/1819/336 -f 845/1820/336 1179/2638/336 843/1818/795 -f 846/1821/796 919/1898/824 847/1822/797 -f 849/1824/798 877/1852/797 850/1825/797 -f 1088/2639/336 1087/2640/990 924/1905/829 -f 924/1905/829 870/1904/795 1094/2641/336 -f 870/1904/795 852/1827/800 854/1829/336 -f 1097/2642/336 870/1904/795 854/1829/336 -f 942/1932/843 1410/2643/990 1083/2644/336 -f 942/1932/843 1083/2644/336 1411/2645/336 -f 1094/2641/336 1088/2639/336 924/1905/829 -f 1097/2642/336 1094/2641/336 870/1904/795 -f 852/1827/800 942/1932/843 1411/2645/336 -f 852/1827/800 1411/2645/336 1098/2646/336 -f 852/1827/800 1098/2646/336 853/1828/336 -f 1203/2647/334 1197/2648/334 930/1915/809 -f 855/1830/801 1193/2649/334 1206/2650/334 -f 855/1830/801 1206/2650/334 856/1831/334 -f 1203/2647/334 930/1915/809 857/1832/334 -f 930/1915/809 855/1830/801 857/1832/334 -f 858/1833/334 1244/2651/334 859/1834/334 -f 861/1836/334 1281/2652/334 862/1837/334 -f 864/1839/334 1316/2653/334 865/1840/334 -f 1281/2652/334 861/1836/334 1252/2654/334 -f 1281/2652/334 1252/2654/334 1279/2655/334 -f 1252/2654/334 1224/2656/334 1279/2655/334 -f 1264/2657/334 1279/2655/334 1224/2656/334 -f 1264/2657/334 1224/2656/334 901/1877/810 -f 1224/2656/334 1226/2658/334 901/1877/810 -f 1242/2659/334 1244/2651/334 858/1833/334 -f 1226/2658/334 1242/2659/334 1216/2660/334 -f 1242/2659/334 858/1833/334 1216/2660/334 -f 1226/2658/334 1216/2660/334 1191/2661/334 -f 1191/2661/334 1193/2649/334 855/1830/801 -f 867/1842/802 930/1915/809 1232/2662/334 -f 930/1915/809 1197/2648/334 1212/2663/334 -f 930/1915/809 1212/2663/334 1232/2662/334 -f 1191/2661/334 855/1830/801 1226/2658/334 -f 855/1830/801 901/1877/810 1226/2658/334 -f 1212/2663/334 1214/2664/334 1232/2662/334 -f 1214/2664/334 860/1835/334 859/1834/334 -f 1214/2664/334 859/1834/334 1238/2665/334 -f 1262/2666/334 1264/2657/334 901/1877/810 -f 1214/2664/334 1238/2665/334 1232/2662/334 -f 1291/2667/334 1262/2666/334 1305/2668/334 -f 1262/2666/334 901/1877/810 1305/2668/334 -f 1316/2653/334 864/1839/334 1291/2667/334 -f 1314/2669/334 1316/2653/334 1291/2667/334 -f 867/1842/802 1232/2662/334 1248/2670/334 -f 1250/2671/334 863/1838/334 862/1837/334 -f 867/1842/802 1248/2670/334 1272/2672/334 -f 1248/2670/334 1250/2671/334 1272/2672/334 -f 1314/2669/334 1291/2667/334 1305/2668/334 -f 1250/2671/334 862/1837/334 1275/2673/334 -f 1250/2671/334 1275/2673/334 1272/2672/334 -f 1304/2674/334 1305/2668/334 901/1877/810 -f 1324/2675/334 1304/2674/334 901/1877/810 -f 867/1842/802 1272/2672/334 1285/2676/334 -f 1301/2677/334 1324/2675/334 901/1877/810 -f 1299/2678/334 1301/2677/334 901/1877/810 -f 867/1842/802 1285/2676/334 868/1843/334 -f 1285/2676/334 1287/2679/334 868/1843/334 -f 1287/2679/334 866/1841/334 865/1840/334 -f 1287/2679/334 865/1840/334 1311/2680/334 -f 1299/2678/334 901/1877/810 867/1842/802 -f 1320/2681/334 1299/2678/334 867/1842/802 -f 1287/2679/334 1311/2680/334 868/1843/334 -f 869/1844/334 1320/2681/334 867/1842/802 -f 1066/2682/331 1065/2683/331 945/2684/331 -f 945/2684/331 946/2685/331 1066/2682/331 -f 946/2685/331 947/2686/331 1066/2682/331 -f 947/2686/331 852/2687/331 1067/2688/331 -f 852/2687/331 870/1845/331 872/1847/331 -f 870/1845/331 1412/2689/331 871/1846/331 -f 1412/2689/331 922/2690/331 1034/2691/331 -f 922/2690/331 920/2692/331 1034/2691/331 -f 920/2692/331 892/2693/331 1032/2694/331 -f 892/2693/331 1060/2695/331 1008/2696/331 -f 892/2693/331 1008/2696/331 1032/2694/331 -f 1067/2688/331 1066/2682/331 947/2686/331 -f 920/2692/331 1032/2694/331 1034/2691/331 -f 1068/2697/331 1067/2688/331 852/2687/331 -f 872/1847/331 1068/2697/331 852/2687/331 -f 1412/2689/331 1034/2691/331 871/1846/331 -f 1061/2698/331 1060/2695/331 892/2693/331 -f 892/2693/331 943/2699/331 1061/2698/331 -f 943/2699/331 944/2700/331 1061/2698/331 -f 944/2700/331 898/2701/331 1062/2702/331 -f 898/2701/331 873/1848/331 875/1850/331 -f 873/1848/331 1413/2703/331 874/1849/331 -f 1413/2703/331 917/2704/331 1031/2705/331 -f 917/2704/331 895/2706/331 1031/2705/331 -f 895/2706/331 945/2684/331 1010/2707/331 -f 945/2684/331 1065/2683/331 1064/2708/331 -f 945/2684/331 1064/2708/331 1010/2707/331 -f 1062/2702/331 1061/2698/331 944/2700/331 -f 895/2706/331 1010/2707/331 1031/2705/331 -f 1063/2709/331 1062/2702/331 898/2701/331 -f 875/1850/331 1063/2709/331 898/2701/331 -f 1413/2703/331 1031/2705/331 874/1849/331 -f 876/1851/335 849/1824/798 1373/2710/335 -f 849/1824/798 880/1855/803 1373/2710/335 -f 881/1856/804 846/1821/796 1379/2711/335 -f 846/1821/796 878/1853/335 1379/2711/335 -f 1374/2712/335 1373/2710/335 880/1855/803 -f 881/1856/804 1379/2711/335 1378/2713/335 -f 881/1856/804 1378/2713/335 1382/2714/335 -f 1375/2715/335 1374/2712/335 880/1855/803 -f 879/1854/335 1375/2715/335 880/1855/803 -f 881/1856/804 1382/2714/335 1370/2716/335 -f 1370/2716/335 879/1854/335 881/1856/804 -f 882/1857/805 1086/2717/805 883/1858/805 -f 1116/2718/805 883/1858/805 1086/2717/805 -f 1092/2719/805 1410/2643/990 1116/2718/805 -f 1410/2643/990 942/1932/843 1104/2720/805 -f 1116/2718/805 1086/2717/805 1092/2719/805 -f 1104/2720/805 1116/2718/805 1410/2643/990 -f 942/1932/843 832/1807/794 1104/2720/805 -f 831/1806/793 924/1905/829 1111/2721/805 -f 924/1905/829 1087/2640/990 1111/2721/805 -f 1414/2722/805 882/1857/805 884/1859/805 -f 1087/2640/990 1414/2722/805 1114/2723/805 -f 1111/2721/805 1087/2640/990 1114/2723/805 -f 1102/2724/805 1104/2720/805 832/1807/794 -f 1414/2722/805 884/1859/805 1114/2723/805 -f 1110/2725/805 1102/2724/805 832/1807/794 -f 1105/2726/805 1110/2725/805 832/1807/794 -f 831/1806/793 1111/2721/805 1117/2727/805 -f 1105/2726/805 832/1807/794 831/1806/793 -f 886/1861/805 1105/2726/805 831/1806/793 -f 831/1806/793 1117/2727/805 885/1860/805 -f 1048/2728/329 935/2729/329 1051/2730/329 -f 935/2729/329 937/2731/329 1051/2730/329 -f 937/2731/329 938/2732/329 1050/2733/329 -f 938/2732/329 843/2734/329 1050/2733/329 -f 843/2734/329 888/1863/329 1052/2735/329 -f 888/1863/329 1415/2736/329 889/1864/329 -f 1052/2735/329 888/1863/329 887/1862/329 -f 1415/2736/329 926/2737/329 1038/2738/329 -f 926/2737/329 855/2739/329 1038/2738/329 -f 930/2740/329 1043/2741/329 995/2742/329 -f 930/2740/329 995/2742/329 1037/2743/329 -f 1050/2733/329 1051/2730/329 937/2731/329 -f 855/2739/329 930/2740/329 1037/2743/329 -f 855/2739/329 1037/2743/329 1038/2738/329 -f 1052/2735/329 1050/2733/329 843/2734/329 -f 1415/2736/329 1038/2738/329 889/1864/329 -f 1046/2744/329 1043/2741/329 930/2740/329 -f 930/2740/329 932/2745/329 1046/2744/329 -f 932/2745/329 933/2746/329 1046/2744/329 -f 933/2746/329 881/2747/329 1044/2748/329 -f 881/2747/329 880/1865/329 891/1867/329 -f 880/1865/329 1416/2749/329 890/1866/329 -f 1416/2749/329 913/2750/329 1027/2751/329 -f 913/2750/329 911/2752/329 1027/2751/329 -f 911/2752/329 935/2729/329 1026/2753/329 -f 935/2729/329 1048/2728/329 1080/2754/329 -f 935/2729/329 1080/2754/329 1026/2753/329 -f 1044/2748/329 1046/2744/329 933/2746/329 -f 911/2752/329 1026/2753/329 1027/2751/329 -f 1000/2755/329 1044/2748/329 881/2747/329 -f 891/1867/329 1000/2755/329 881/2747/329 -f 1416/2749/329 1027/2751/329 890/1866/329 -f 892/1868/806 920/1899/825 893/1869/807 -f 1417/2756/334 1418/2757/991 904/1880/812 -f 904/1880/812 945/1940/801 1417/2756/334 -f 945/1940/801 895/1871/809 897/1873/334 -f 1417/2756/334 945/1940/801 1407/2758/334 -f 895/1871/809 916/1893/821 1396/2759/334 -f 916/1893/821 1397/2760/991 1396/2759/334 -f 1407/2758/334 945/1940/801 897/1873/334 -f 895/1871/809 1396/2759/334 1404/2761/334 -f 895/1871/809 1404/2761/334 896/1872/334 -f 1368/2762/335 847/1822/797 919/1898/824 -f 919/1898/824 873/1897/804 1368/2762/335 -f 873/1897/804 898/1874/803 900/1876/335 -f 1388/2763/335 873/1897/804 1390/2764/335 -f 898/1874/803 851/1826/799 1383/2765/335 -f 851/1826/799 850/1825/797 1383/2765/335 -f 1388/2763/335 1368/2762/335 873/1897/804 -f 1390/2764/335 873/1897/804 1367/2766/335 -f 898/1874/803 1383/2765/335 1385/2767/335 -f 898/1874/803 1385/2767/335 899/1875/335 -f 1367/2766/335 873/1897/804 900/1876/335 -f 1341/2768/811 1365/2769/811 867/1842/802 -f 901/1877/810 1332/2770/811 1350/2771/811 -f 901/1877/810 1350/2771/811 1352/2772/811 -f 902/1878/811 1341/2768/811 867/1842/802 -f 901/1877/810 1352/2772/811 902/1878/811 -f 1398/2773/992 1397/2760/991 916/1893/821 -f 916/1893/821 867/1842/802 1356/2774/811 -f 867/1842/802 1365/2769/811 1356/2774/811 -f 1402/2775/811 1398/2773/992 1358/2776/811 -f 1398/2773/992 916/1893/821 1356/2774/811 -f 1358/2776/811 1398/2773/992 1356/2774/811 -f 1393/2777/811 1402/2775/811 1329/2778/811 -f 1329/2778/811 1402/2775/811 1358/2776/811 -f 1393/2777/811 1329/2778/811 1401/2779/811 -f 1329/2778/811 1331/2780/811 1401/2779/811 -f 1401/2779/811 1331/2780/811 1399/2781/811 -f 1331/2780/811 1364/2782/811 1399/2781/811 -f 903/1879/811 1332/2770/811 901/1877/810 -f 1399/2781/811 1364/2782/811 905/1881/813 -f 1364/2782/811 903/1879/811 905/1881/813 -f 904/1880/812 1418/2757/991 905/1881/813 -f 903/1879/811 901/1877/810 904/1880/812 -f 1353/2783/814 1366/2784/814 909/1885/816 -f 893/1869/807 908/1884/815 1337/2785/814 -f 908/1884/815 1335/2786/814 1337/2785/814 -f 1353/2783/814 909/1885/816 894/1870/808 -f 1359/2787/814 1353/2783/814 894/1870/808 -f 893/1869/807 1337/2785/814 1363/2788/814 -f 893/1869/807 1363/2788/814 906/1882/814 -f 1359/2787/814 894/1870/808 907/1883/814 -f 894/1870/808 893/1869/807 907/1883/814 -f 1348/2789/814 1335/2786/814 908/1884/815 -f 909/1885/816 1366/2784/814 1343/2790/814 -f 909/1885/816 1343/2790/814 1346/2791/814 -f 910/1886/814 1348/2789/814 908/1884/815 -f 909/1885/816 1346/2791/814 910/1886/814 -f 911/1887/806 913/2792/818 912/1888/817 -f 913/1889/818 1416/2793/844 914/1890/819 -f 914/1890/819 1416/2793/844 880/1855/803 -f 895/1871/809 917/2794/822 915/1892/820 -f 917/1894/822 1413/2795/836 918/1895/823 -f 918/1895/823 1413/2795/836 873/1897/804 -f 920/1899/825 922/2796/827 921/1900/826 -f 922/1901/827 1412/2797/839 923/1902/828 -f 923/1902/828 1412/2797/839 870/1904/795 -f 855/1830/801 926/2798/831 925/1906/830 -f 926/1907/831 1415/2799/845 927/1908/832 -f 927/1908/832 1415/2799/845 888/1910/800 -f 894/1870/808 909/1885/816 912/1888/817 -f 928/1911/833 912/1888/817 914/1912/819 -f 914/1890/819 849/1824/798 851/1826/799 -f 930/1915/809 867/1842/802 931/1916/835 -f 931/1918/835 934/1921/837 933/1919/836 -f 934/1921/837 846/1821/796 881/1856/804 -f 935/1922/825 908/1884/815 936/1923/838 -f 936/1925/838 939/1928/840 938/1926/839 -f 939/1928/840 831/1806/793 843/1818/795 -f 904/1880/812 901/1877/810 925/1906/830 -f 940/1929/841 925/1906/830 927/1930/832 -f 927/1908/832 832/1807/794 942/1932/843 -f 916/1893/821 915/1892/820 931/1916/835 -f 915/1892/820 918/2800/823 934/1934/837 -f 934/1921/837 918/1895/823 919/1898/824 -f 893/1869/807 921/1900/826 936/1923/838 -f 921/1900/826 923/2801/828 939/1935/840 -f 939/1928/840 923/1902/828 924/1905/829 -f 892/1868/806 894/1870/808 928/1911/833 -f 928/1937/833 929/1914/834 944/1938/844 -f 929/1914/834 851/1826/799 898/1874/803 -f 945/1940/801 904/1880/812 940/1929/841 -f 940/1942/841 941/1933/842 947/1943/845 -f 941/1933/842 942/1932/843 852/1827/800 -f 955/1952/333 954/1951/333 1245/2802/333 -f 955/1952/333 1245/2802/333 1270/2803/333 -f 1245/2802/333 1247/2804/333 1270/2803/333 -f 1271/2805/333 1270/2803/333 1247/2804/333 -f 1271/2805/333 1247/2804/333 909/1885/816 -f 1247/2804/333 1259/2806/333 909/1885/816 -f 1235/2807/333 957/1954/333 1190/2808/333 -f 1259/2806/333 1235/2807/333 1209/2809/333 -f 1235/2807/333 1190/2808/333 1209/2809/333 -f 1259/2806/333 1209/2809/333 1211/2810/333 -f 1211/2810/333 1222/2811/333 911/1887/806 -f 908/1884/815 935/1922/825 1240/2812/333 -f 935/1922/825 1194/2813/333 1196/2814/333 -f 935/1922/825 1196/2814/333 1240/2812/333 -f 1211/2810/333 911/1887/806 1259/2806/333 -f 911/1887/806 909/1885/816 1259/2806/333 -f 1196/2814/333 1219/2815/333 1240/2812/333 -f 1219/2815/333 956/1953/333 958/1955/333 -f 1219/2815/333 958/1955/333 1241/2816/333 -f 1282/2817/333 1271/2805/333 909/1885/816 -f 1219/2815/333 1241/2816/333 1240/2812/333 -f 1288/2818/333 1282/2817/333 1307/2819/333 -f 1282/2817/333 909/1885/816 1307/2819/333 -f 951/1948/333 1260/2820/333 1288/2818/333 -f 1306/2821/333 951/1948/333 1288/2818/333 -f 908/1884/815 1240/2812/333 1227/2822/333 -f 1255/2823/333 1257/2824/333 953/1950/333 -f 908/1884/815 1227/2822/333 1265/2825/333 -f 1227/2822/333 1255/2823/333 1265/2825/333 -f 1306/2821/333 1288/2818/333 1307/2819/333 -f 1255/2823/333 953/1950/333 1278/2826/333 -f 1255/2823/333 1278/2826/333 1265/2825/333 -f 1327/2827/333 1307/2819/333 909/1885/816 -f 1317/2828/333 1327/2827/333 909/1885/816 -f 908/1884/815 1265/2825/333 1267/2829/333 -f 1321/2830/333 1317/2828/333 909/1885/816 -f 1297/2831/333 1321/2830/333 909/1885/816 -f 908/1884/815 1267/2829/333 948/1945/333 -f 1267/2829/333 1294/2832/333 948/1945/333 -f 1294/2832/333 950/1947/333 952/1949/333 -f 1294/2832/333 952/1949/333 1313/2833/333 -f 1297/2831/333 909/1885/816 908/1884/815 -f 1325/2834/333 1297/2831/333 908/1884/815 -f 1294/2832/333 1313/2833/333 948/1945/333 -f 949/1946/333 1325/2834/333 908/1884/815 -f 950/1947/333 1260/2820/333 951/1948/333 -f 953/1950/333 1257/2824/333 954/1951/333 -f 956/1953/333 1190/2808/333 957/1954/333 -f 1208/2835/333 1194/2813/333 935/1922/825 -f 911/1887/806 1222/2811/333 1200/2836/333 -f 911/1887/806 1200/2836/333 959/1956/333 -f 1208/2835/333 935/1922/825 960/1957/333 -f 935/1922/825 911/1887/806 960/1957/333 -f 961/1958/335 1162/2837/335 962/1959/335 -f 967/1965/335 1144/2838/335 1143/2839/335 -f 967/1965/335 1143/2839/335 1167/2840/335 -f 1143/2839/335 1142/2841/335 1167/2840/335 -f 1168/2842/335 1167/2840/335 1142/2841/335 -f 1168/2842/335 1142/2841/335 973/1971/847 -f 1142/2841/335 1154/2843/335 973/1971/847 -f 1148/2844/335 1137/2845/335 969/1967/335 -f 1154/2843/335 1148/2844/335 1126/2846/335 -f 1148/2844/335 969/1967/335 1126/2846/335 -f 1154/2843/335 1126/2846/335 1125/2847/335 -f 1125/2847/335 1132/2848/335 973/1971/847 -f 887/1961/803 972/1970/846 1157/2849/335 -f 972/1970/846 1121/2850/335 1128/2851/335 -f 972/1970/846 1128/2851/335 1139/2852/335 -f 1125/2847/335 973/1971/847 1154/2843/335 -f 973/1971/847 1052/2063/804 1160/2853/335 -f 1168/2842/335 973/1971/847 1160/2853/335 -f 1127/2854/335 971/1969/335 970/1968/335 -f 1127/2854/335 970/1968/335 1152/2855/335 -f 1128/2851/335 1127/2854/335 1152/2855/335 -f 1128/2851/335 1152/2855/335 1139/2852/335 -f 1161/2856/335 1160/2853/335 1186/2857/335 -f 1160/2853/335 1052/2063/804 1186/2857/335 -f 962/1959/335 1162/2837/335 1161/2856/335 -f 1185/2858/335 962/1959/335 1161/2856/335 -f 972/1970/846 1139/2852/335 1146/2859/335 -f 972/1970/846 1146/2859/335 1158/2860/335 -f 1186/2857/335 1185/2858/335 1161/2856/335 -f 972/1970/846 1158/2860/335 1157/2849/335 -f 1146/2859/335 1145/2861/335 1158/2860/335 -f 1145/2861/335 966/1964/335 968/1966/335 -f 1145/2861/335 968/1966/335 1171/2862/335 -f 1180/2863/335 1186/2857/335 1052/2063/804 -f 1181/2864/335 1180/2863/335 1052/2063/804 -f 1145/2861/335 1171/2862/335 1158/2860/335 -f 1181/2864/335 1052/2063/804 1182/2865/335 -f 1052/2063/804 887/1961/803 1182/2865/335 -f 1164/2866/335 961/1958/335 963/1960/335 -f 887/1961/803 1157/2849/335 964/1962/335 -f 1157/2849/335 1164/2866/335 964/1962/335 -f 1177/2867/335 1182/2865/335 887/1961/803 -f 1184/2868/335 1177/2867/335 887/1961/803 -f 1164/2866/335 963/1960/335 1189/2869/335 -f 1164/2866/335 1189/2869/335 964/1962/335 -f 965/1963/335 1184/2868/335 887/1961/803 -f 966/1964/335 1144/2838/335 967/1965/335 -f 969/1967/335 1137/2845/335 970/1968/335 -f 1135/2870/335 1121/2850/335 972/1970/846 -f 973/1971/847 1132/2848/335 1131/2871/335 -f 973/1971/847 1131/2871/335 1119/2872/335 -f 974/1972/335 1135/2870/335 972/1970/846 -f 973/1971/847 1119/2872/335 974/1972/335 -f 975/1973/848 1042/2052/871 976/1974/849 -f 978/1976/849 1058/2070/882 979/1977/850 -f 1099/2873/335 1085/2874/993 1057/2068/881 -f 1057/2068/881 1068/2080/803 1099/2873/335 -f 1068/2080/803 872/1979/804 982/1981/335 -f 1100/2875/335 1068/2080/803 982/1981/335 -f 872/1979/804 1059/2071/883 1096/2876/335 -f 1059/2071/883 1101/2877/993 1096/2876/335 -f 1100/2875/335 1099/2873/335 1068/2080/803 -f 872/1979/804 1096/2876/335 1095/2878/335 -f 872/1979/804 1095/2878/335 981/1980/335 -f 1268/2879/333 989/1988/333 1249/2880/333 -f 1268/2879/333 1249/2880/333 1273/2881/333 -f 1249/2880/333 1258/2882/333 1273/2881/333 -f 1274/2883/333 1273/2881/333 1258/2882/333 -f 1274/2883/333 1258/2882/333 1018/2019/857 -f 1258/2882/333 1234/2884/333 1018/2019/857 -f 1233/2885/333 1231/2886/333 992/1991/333 -f 1234/2884/333 1233/2885/333 1213/2887/333 -f 1233/2885/333 992/1991/333 1213/2887/333 -f 1234/2884/333 1213/2887/333 1221/2888/333 -f 1221/2888/333 1199/2889/333 995/1994/825 -f 983/1982/851 1037/2045/806 1225/2890/333 -f 1037/2045/806 1192/2891/333 1217/2892/333 -f 1037/2045/806 1217/2892/333 1225/2890/333 -f 1221/2888/333 995/1994/825 1234/2884/333 -f 995/1994/825 1018/2019/857 1234/2884/333 -f 1217/2892/333 1220/2893/333 1225/2890/333 -f 1220/2893/333 994/1993/333 993/1992/333 -f 1220/2893/333 993/1992/333 1243/2894/333 -f 1295/2895/333 1274/2883/333 1018/2019/857 -f 1220/2893/333 1243/2894/333 1225/2890/333 -f 1286/2896/333 1295/2895/333 1309/2897/333 -f 1295/2895/333 1018/2019/857 1309/2897/333 -f 987/1986/333 1289/2898/333 1286/2896/333 -f 1308/2899/333 987/1986/333 1286/2896/333 -f 983/1982/851 1225/2890/333 1253/2900/333 -f 1256/2901/333 991/1990/333 990/1989/333 -f 983/1982/851 1253/2900/333 1263/2902/333 -f 1253/2900/333 1256/2901/333 1263/2902/333 -f 1308/2899/333 1286/2896/333 1309/2897/333 -f 1256/2901/333 990/1989/333 1280/2903/333 -f 1256/2901/333 1280/2903/333 1263/2902/333 -f 1328/2904/333 1309/2897/333 1018/2019/857 -f 1319/2905/333 1328/2904/333 1018/2019/857 -f 983/1982/851 1263/2902/333 1292/2906/333 -f 1322/2907/333 1319/2905/333 1018/2019/857 -f 1300/2908/333 1322/2907/333 1018/2019/857 -f 983/1982/851 1292/2906/333 984/1983/333 -f 1292/2906/333 1293/2909/333 984/1983/333 -f 1293/2909/333 986/1985/333 988/1987/333 -f 1293/2909/333 988/1987/333 1315/2910/333 -f 1300/2908/333 1018/2019/857 983/1982/851 -f 1326/2911/333 1300/2908/333 983/1982/851 -f 1293/2909/333 1315/2910/333 984/1983/333 -f 985/1984/333 1326/2911/333 983/1982/851 -f 986/1985/333 1289/2898/333 987/1986/333 -f 989/1988/333 1268/2879/333 990/1989/333 -f 992/1991/333 1231/2886/333 993/1992/333 -f 1207/2912/333 1192/2891/333 1037/2045/806 -f 995/1994/825 1199/2889/333 1198/2913/333 -f 995/1994/825 1198/2913/333 996/1995/333 -f 1207/2912/333 1037/2045/806 997/1996/333 -f 1037/2045/806 995/1994/825 997/1996/333 -f 1377/2914/336 998/1997/336 979/1977/850 -f 891/2000/800 975/1973/848 1419/2915/336 -f 975/1973/848 999/1998/336 1419/2915/336 -f 1377/2914/336 979/1977/850 1000/1999/795 -f 1381/2916/336 1377/2914/336 1000/1999/795 -f 891/2000/800 1419/2915/336 1372/2917/336 -f 891/2000/800 1372/2917/336 1376/2918/336 -f 1380/2919/336 1381/2916/336 1000/1999/795 -f 1371/2920/336 1380/2919/336 1000/1999/795 -f 891/2000/800 1376/2918/336 1001/2001/336 -f 1001/2001/336 1371/2920/336 1000/1999/795 -f 1005/2005/852 1091/2921/852 1090/2922/852 -f 1089/2923/994 1101/2877/993 1059/2071/883 -f 1005/2005/852 1090/2922/852 1112/2924/852 -f 1090/2922/852 1089/2923/994 1112/2924/852 -f 1089/2923/994 1059/2071/883 1113/2925/852 -f 1059/2071/883 973/1971/847 1113/2925/852 -f 972/1970/846 1057/2068/881 1103/2926/852 -f 1057/2068/881 1085/2874/993 1084/2927/994 -f 1057/2068/881 1084/2927/994 1103/2926/852 -f 1112/2924/852 1089/2923/994 1113/2925/852 -f 1084/2927/994 1093/2928/852 1103/2926/852 -f 1093/2928/852 1004/2004/852 1006/2006/852 -f 1093/2928/852 1006/2006/852 1115/2929/852 -f 1106/2930/852 1113/2925/852 973/1971/847 -f 1107/2931/852 1106/2930/852 973/1971/847 -f 1093/2928/852 1115/2929/852 1103/2926/852 -f 1108/2932/852 1107/2931/852 973/1971/847 -f 1003/2003/852 1108/2932/852 973/1971/847 -f 972/1970/846 1103/2926/852 1109/2933/852 -f 972/1970/846 1109/2933/852 1002/2002/852 -f 1003/2003/852 973/1971/847 972/1970/846 -f 1004/2004/852 1091/2921/852 1005/2005/852 -f 1007/2007/853 1032/2037/809 1008/2008/801 -f 1406/2934/995 1016/2017/856 1010/2010/825 -f 1010/2010/825 1064/2076/806 1011/2011/333 -f 1064/2076/806 1054/2065/878 1409/2935/995 -f 1011/2011/333 1064/2076/806 1408/2936/333 -f 1409/2935/995 1408/2936/333 1064/2076/806 -f 1420/2937/333 1406/2934/995 1010/2010/825 -f 1012/2012/333 1420/2937/333 1010/2010/825 -f 1421/2938/336 976/1974/849 1042/2052/871 -f 1042/2052/871 1063/2075/800 1421/2938/336 -f 1063/2075/800 875/2013/795 1014/2015/336 -f 1384/2939/336 1063/2075/800 1386/2940/336 -f 875/2013/795 1058/2070/882 1369/2941/336 -f 1058/2070/882 978/1976/849 1369/2941/336 -f 1384/2939/336 1421/2938/336 1063/2075/800 -f 1386/2940/336 1063/2075/800 1014/2015/336 -f 875/2013/795 1369/2941/336 1387/2942/336 -f 875/2013/795 1387/2942/336 1389/2943/336 -f 875/2013/795 1389/2943/336 1013/2014/336 -f 1391/2944/855 1409/2935/995 1054/2065/878 -f 1054/2065/878 983/1982/851 1333/2945/855 -f 983/1982/851 1334/2946/855 1333/2945/855 -f 1392/2947/855 1391/2944/855 1054/2065/878 -f 1400/2948/855 1392/2947/855 1361/2949/855 -f 1392/2947/855 1054/2065/878 1333/2945/855 -f 1361/2949/855 1392/2947/855 1333/2945/855 -f 1361/2949/855 1330/2950/855 1400/2948/855 -f 1400/2948/855 1330/2950/855 1394/2951/855 -f 1330/2950/855 1360/2952/855 1394/2951/855 -f 1394/2951/855 1360/2952/855 1395/2953/855 -f 1360/2952/855 1357/2954/855 1403/2955/855 -f 1395/2953/855 1360/2952/855 1403/2955/855 -f 1015/2016/855 1340/2956/855 1018/2019/857 -f 1357/2954/855 1015/2016/855 1017/2018/855 -f 1403/2955/855 1357/2954/855 1017/2018/855 -f 1015/2016/855 1018/2019/857 1016/2017/856 -f 1016/2017/856 1406/2934/995 1405/2957/855 -f 1016/2017/856 1405/2957/855 1017/2018/855 -f 1351/2958/855 1334/2946/855 983/1982/851 -f 1018/2019/857 1340/2956/855 1342/2959/855 -f 1018/2019/857 1342/2959/855 1339/2960/855 -f 1019/2020/855 1351/2958/855 983/1982/851 -f 1018/2019/857 1339/2960/855 1019/2020/855 -f 1336/2961/858 1347/2962/858 1023/2024/860 -f 1009/2009/854 1022/2023/859 1355/2963/858 -f 1022/2023/859 1344/2964/858 1355/2963/858 -f 1336/2961/858 1023/2024/860 1007/2007/853 -f 1362/2965/858 1336/2961/858 1007/2007/853 -f 1009/2009/854 1355/2963/858 1354/2966/858 -f 1009/2009/854 1354/2966/858 1020/2021/858 -f 1362/2965/858 1007/2007/853 1021/2022/858 -f 1007/2007/853 1009/2009/854 1021/2022/858 -f 1345/2967/858 1344/2964/858 1022/2023/859 -f 1023/2024/860 1347/2962/858 1349/2968/858 -f 1023/2024/860 1349/2968/858 1338/2969/858 -f 1024/2025/858 1345/2967/858 1022/2023/859 -f 1023/2024/860 1338/2969/858 1024/2025/858 -f 1025/2026/861 1027/2970/831 1026/2027/801 -f 1025/2028/861 1028/2031/862 890/2029/845 -f 1028/2031/862 975/1973/848 891/2000/800 -f 1029/2032/863 1031/2034/827 1010/2010/825 -f 1030/2033/864 874/2036/839 1031/2034/827 -f 1030/2033/864 1058/2070/882 875/2013/795 -f 1032/2037/809 1007/2007/853 1033/2038/865 -f 1035/2040/866 871/2043/836 1034/2041/822 -f 1035/2040/866 1059/2071/883 872/1979/804 -f 1036/2044/867 1038/2971/818 1037/2045/806 -f 1036/2046/867 1039/2049/868 889/2047/844 -f 1039/2049/868 972/1970/846 887/1961/803 -f 1025/2026/861 1022/2023/859 1009/2009/854 -f 1025/2028/861 1040/2972/869 1041/2051/870 -f 1028/2031/862 1041/2051/870 1042/2052/871 -f 1046/2973/827 1045/2069/873 1043/2053/872 -f 1045/2069/873 1018/2019/857 1043/2053/872 -f 1044/2054/839 1047/2057/874 1045/2055/873 -f 1000/1999/795 979/1977/850 1047/2057/874 -f 1080/2092/809 1048/2058/875 1023/2024/860 -f 1048/2058/875 1051/2974/822 1049/2059/876 -f 1050/2060/836 1053/2064/877 1049/2061/876 -f 1052/2063/804 973/1971/847 1053/2064/877 -f 1036/2044/867 983/1982/851 1054/2065/878 -f 1036/2046/867 1055/2975/879 1056/2067/880 -f 1039/2049/868 1056/2067/880 1057/2068/881 -f 1045/2069/873 1029/2032/863 1016/2017/856 -f 1047/2057/874 1030/2033/864 1029/2035/863 -f 1047/2057/874 979/1977/850 1058/2070/882 -f 1049/2059/876 1033/2038/865 1007/2007/853 -f 1053/2064/877 1035/2040/866 1033/2042/865 -f 1053/2064/877 973/1971/847 1059/2071/883 -f 1060/2072/884 1061/2976/831 1040/2050/869 -f 1040/2050/869 1009/2009/854 1060/2072/884 -f 1041/2051/870 1040/2972/869 1061/2073/831 -f 1041/2051/870 1062/2074/845 1063/2075/800 -f 1065/2077/885 1066/2977/818 1055/2066/879 -f 1055/2066/879 1054/2065/878 1065/2077/885 -f 1056/2067/880 1055/2975/879 1066/2078/818 -f 1056/2067/880 1067/2079/844 1068/2080/803 -f 1069/2081/334 1230/2978/334 1070/2082/334 -f 1079/2091/334 1078/2090/334 1254/2979/334 -f 1079/2091/334 1254/2979/334 1277/2980/334 -f 1254/2979/334 1229/2981/334 1277/2980/334 -f 1422/2982/334 1277/2980/334 1229/2981/334 -f 1422/2982/334 1229/2981/334 1023/2024/860 -f 1229/2981/334 1228/2983/334 1023/2024/860 -f 1239/2984/334 1230/2978/334 1069/2081/334 -f 1228/2983/334 1239/2984/334 1218/2985/334 -f 1239/2984/334 1069/2081/334 1218/2985/334 -f 1228/2983/334 1218/2985/334 1195/2986/334 -f 1195/2986/334 1205/2987/334 1080/2092/809 -f 1022/2023/859 1026/2027/801 1236/2988/334 -f 1026/2027/801 1201/2989/334 1210/2990/334 -f 1026/2027/801 1210/2990/334 1236/2988/334 -f 1195/2986/334 1080/2092/809 1228/2983/334 -f 1080/2092/809 1023/2024/860 1228/2983/334 -f 1210/2990/334 1215/2991/334 1236/2988/334 -f 1215/2991/334 1071/2083/334 1070/2082/334 -f 1215/2991/334 1070/2082/334 1237/2992/334 -f 1266/2993/334 1422/2982/334 1023/2024/860 -f 1215/2991/334 1237/2992/334 1236/2988/334 -f 1290/2994/334 1266/2993/334 1303/2995/334 -f 1266/2993/334 1023/2024/860 1303/2995/334 -f 1075/2087/334 1261/2996/334 1290/2994/334 -f 1312/2997/334 1075/2087/334 1290/2994/334 -f 1022/2023/859 1236/2988/334 1246/2998/334 -f 1251/2999/334 1223/3000/334 1077/2089/334 -f 1022/2023/859 1246/2998/334 1269/3001/334 -f 1246/2998/334 1251/2999/334 1269/3001/334 -f 1312/2997/334 1290/2994/334 1303/2995/334 -f 1251/2999/334 1077/2089/334 1276/3002/334 -f 1251/2999/334 1276/3002/334 1269/3001/334 -f 1302/3003/334 1303/2995/334 1023/2024/860 -f 1323/3004/334 1302/3003/334 1023/2024/860 -f 1022/2023/859 1269/3001/334 1284/3005/334 -f 1298/3006/334 1323/3004/334 1023/2024/860 -f 1296/3007/334 1298/3006/334 1023/2024/860 -f 1022/2023/859 1284/3005/334 1072/2084/334 -f 1284/3005/334 1283/3008/334 1072/2084/334 -f 1283/3008/334 1074/2086/334 1076/2088/334 -f 1283/3008/334 1076/2088/334 1310/3009/334 -f 1296/3007/334 1023/2024/860 1022/2023/859 -f 1318/3010/334 1296/3007/334 1022/2023/859 -f 1283/3008/334 1310/3009/334 1072/2084/334 -f 1073/2085/334 1318/3010/334 1022/2023/859 -f 1074/2086/334 1261/2996/334 1075/2087/334 -f 1077/2089/334 1223/3000/334 1078/2090/334 -f 1202/3011/334 1201/2989/334 1026/2027/801 -f 1080/2092/809 1205/2987/334 1204/3012/334 -f 1080/2092/809 1204/3012/334 1081/2093/334 -f 1202/3011/334 1026/2027/801 1082/2094/334 -f 1026/2027/801 1080/2092/809 1082/2094/334 -f 853/2095/886 982/2119/886 981/2096/887 -f 1085/2100/333 1099/3013/903 1411/3014/903 -f 1411/3014/903 1083/2098/888 1085/2100/333 -f 882/2101/890 1091/2108/897 1004/2102/891 -f 1090/2107/896 1414/3015/910 1089/2106/895 -f 1414/3015/910 1087/2104/893 1089/2106/895 -f 882/2101/890 1414/3015/910 1090/2107/896 -f 1084/2111/889 1083/3016/888 1410/3017/996 -f 1410/3017/996 1092/2109/898 1084/2111/889 -f 1086/2103/892 1004/2102/891 1093/2110/899 -f 1094/2112/900 1097/2115/901 1095/2113/901 -f 1097/2115/901 854/2097/887 981/2096/887 -f 1098/2116/902 1411/3018/903 1099/2117/903 -f 853/2095/886 1098/2116/902 1100/2118/902 -f 1101/2122/334 1089/3019/895 1088/3020/894 -f 1088/3020/894 1094/2120/900 1101/2122/334 -f 1006/2123/904 1005/2143/915 884/2124/905 -f 1102/2126/907 1109/3021/889 1103/2127/908 -f 886/2129/890 1108/2135/897 1003/2130/891 -f 885/2132/910 1117/3022/918 1106/2133/895 -f 886/2129/890 885/2132/910 1107/2134/896 -f 1109/2136/889 1102/3023/907 1110/2137/898 -f 1105/2131/892 1003/2130/891 1002/2138/899 -f 1111/2139/911 1114/2142/914 1112/2140/912 -f 1114/2142/914 884/2124/905 1005/2143/915 -f 1115/2144/916 1116/2147/917 1104/2145/909 -f 1116/2147/917 1115/2144/916 1006/2123/904 -f 1117/2148/918 1111/3024/911 1113/2149/913 -f 1118/2151/886 974/2175/886 1119/2152/887 -f 1120/2154/888 1128/3025/888 1121/2155/903 -f 834/2157/919 969/2163/919 971/2158/920 -f 1124/2160/921 1136/3026/894 1125/2161/894 -f 834/2157/919 1124/2160/921 1126/2162/921 -f 1120/2164/888 1129/2167/922 1127/2165/922 -f 1129/2167/922 1123/2159/920 971/2158/920 -f 1130/2168/900 1133/2171/901 1131/2169/901 -f 1133/2171/901 833/2153/887 1119/2152/887 -f 1134/2172/902 1122/3027/903 1121/2173/903 -f 1118/2151/886 1134/2172/902 1135/2174/902 -f 1136/2176/894 1130/3028/900 1132/2177/900 -f 835/2179/886 970/2203/886 1137/2180/887 -f 1138/2182/888 1146/3029/888 1139/2183/903 -f 839/2185/919 1144/2191/919 966/2186/920 -f 1141/2188/921 1153/3030/894 1142/2189/894 -f 1141/2188/921 1143/2190/921 1144/2191/919 -f 1138/2192/888 1147/2195/922 1145/2193/922 -f 1147/2195/922 837/2187/920 966/2186/920 -f 1148/2196/901 1154/3031/900 1149/2197/900 -f 1137/2180/887 1148/2196/901 1150/2198/901 -f 1139/2199/903 1152/2202/902 1151/2200/902 -f 835/2179/886 1151/2200/902 1152/2202/902 -f 1153/2204/894 1149/3032/900 1154/2205/900 -f 1155/2207/886 968/2231/886 967/2208/887 -f 1156/2210/903 1163/3033/888 1157/2211/888 -f 842/2213/919 1162/2219/919 961/2214/920 -f 1159/2216/921 1172/3034/894 1160/2217/894 -f 842/2213/919 1159/2216/921 1161/2218/921 -f 1163/2220/888 1165/2223/922 1164/2221/922 -f 1165/2223/922 840/2215/920 961/2214/920 -f 1166/2224/900 1169/2227/901 1167/2225/901 -f 967/2208/887 1167/2225/901 1169/2227/901 -f 1170/2228/902 1156/3035/903 1158/2229/903 -f 1155/2207/886 1170/2228/902 1171/2230/902 -f 1172/2232/894 1166/3036/900 1168/2233/900 -f 1173/2235/886 963/2259/886 962/2236/887 -f 1174/2238/888 965/3037/888 964/2239/903 -f 1176/2241/919 1182/2247/919 1177/2242/920 -f 1179/2244/921 845/3038/894 1180/2245/894 -f 1176/2241/919 1179/2244/921 1181/2246/921 -f 1183/2248/922 1184/2251/922 965/2249/888 -f 1178/2243/920 1177/2242/920 1184/2251/922 -f 844/2252/900 1187/2255/901 1185/2253/901 -f 962/2236/887 1185/2253/901 1187/2255/901 -f 1188/2256/902 1175/3039/903 964/2257/903 -f 1173/2235/886 1188/2256/902 1189/2258/902 -f 845/2260/894 844/3040/900 1186/2261/900 -f 860/2263/923 992/2304/923 994/2264/924 -f 956/2266/924 1069/2312/924 1071/2267/923 -f 1191/2269/925 1217/3041/925 1192/2270/926 -f 1194/2272/926 1205/3042/926 1195/2273/925 -f 960/2275/927 959/2288/928 1082/2276/928 -f 857/2278/928 856/2296/927 997/2279/927 -f 1197/2281/929 1203/2287/930 1198/2282/930 -f 1200/2284/930 1222/3043/929 1201/2285/929 -f 1203/2287/930 857/2278/928 996/2280/928 -f 959/2288/928 1200/2284/930 1202/2286/930 -f 1194/2289/926 1208/2295/931 1204/2290/931 -f 1206/2292/931 1193/3044/926 1192/2293/926 -f 1208/2295/931 960/2275/927 1081/2277/927 -f 856/2296/927 1206/2292/931 1207/2294/931 -f 1209/2297/932 1215/2303/932 1210/2298/933 -f 1212/2300/933 1221/3045/933 1213/2301/932 -f 1190/2268/923 1071/2267/923 1215/2303/932 -f 1214/2302/932 1213/2301/932 992/2304/923 -f 1216/2305/934 1220/2311/934 1217/2306/925 -f 1196/2308/925 1195/3046/925 1218/2309/934 -f 858/2265/924 994/2264/924 1220/2311/934 -f 1219/2310/934 1218/2309/934 1069/2312/924 -f 1212/2313/933 1197/3047/929 1199/2314/929 -f 1222/2316/929 1211/3048/933 1210/2317/933 -f 863/2319/923 989/2359/923 991/2320/924 -f 954/2322/923 1257/2367/924 1078/2323/924 -f 1224/2325/925 1253/3049/925 1225/2326/926 -f 1227/2328/925 1240/3050/926 1228/2329/926 -f 958/2331/927 957/2344/928 1070/2332/928 -f 859/2334/928 1244/2351/927 993/2335/927 -f 1232/2337/929 1238/2343/930 1233/2338/930 -f 1235/2340/930 1259/3051/929 1236/2341/929 -f 1238/2343/930 859/2334/928 1231/2336/928 -f 957/2344/928 1235/2340/930 1237/2342/930 -f 1239/2345/931 1228/3052/926 1240/2346/926 -f 1242/2348/931 1226/3053/926 1225/2349/926 -f 1241/2347/931 958/2331/927 1230/2333/927 -f 1244/2351/927 1242/2348/931 1243/2350/931 -f 1245/2352/932 1251/2358/932 1246/2353/933 -f 1248/2355/933 1258/3054/933 1249/2356/932 -f 954/2322/923 1223/2324/923 1251/2358/932 -f 1250/2357/932 1249/2356/932 989/2359/923 -f 1252/2360/934 1256/2366/934 1253/2361/925 -f 1227/2363/925 1229/3055/925 1254/2364/934 -f 861/2321/924 991/2320/924 1256/2366/934 -f 1257/2367/924 1255/2365/934 1254/2364/934 -f 1248/2368/933 1232/3056/929 1234/2369/929 -f 1259/2371/929 1247/3057/933 1246/2372/933 -f 866/2374/923 1289/2415/923 986/2375/924 -f 1260/2377/923 950/2423/924 1261/2378/924 -f 1262/2380/925 1292/3058/925 1263/2381/926 -f 1265/2383/926 1422/3059/926 1266/2384/925 -f 953/2386/927 955/2399/928 1077/2387/928 -f 862/2389/928 1281/2407/927 990/2390/927 -f 1269/2392/929 1276/2400/930 1270/2393/930 -f 1272/2395/929 1275/2398/930 1273/2396/930 -f 1275/2398/930 862/2389/928 1268/2391/928 -f 955/2399/928 1270/2393/930 1276/2400/930 -f 1277/2401/931 1422/3060/926 1265/2402/926 -f 1279/2404/931 1264/3061/926 1263/2405/926 -f 1278/2403/931 953/2386/927 1079/2388/927 -f 1281/2407/927 1279/2404/931 1280/2406/931 -f 1282/2408/933 1288/2414/932 1283/2409/932 -f 1285/2411/933 1295/3062/933 1286/2412/932 -f 1260/2377/923 1074/2379/923 1283/2409/932 -f 1287/2413/932 1286/2412/932 1289/2415/923 -f 1290/2416/934 1294/2424/934 1267/2417/925 -f 1291/2419/934 1293/2422/934 1292/2420/925 -f 864/2376/924 986/2375/924 1293/2422/934 -f 1290/2416/934 1261/2378/924 950/2423/924 -f 1284/2425/933 1269/3063/929 1271/2426/929 -f 1285/2428/933 1272/3064/929 1274/2429/929 -f 1296/2431/923 1321/2471/923 1297/2432/924 -f 1299/2434/923 1322/2472/923 1300/2435/924 -f 1302/2437/925 949/3065/925 948/2438/926 -f 1304/2440/925 985/3066/925 984/2441/926 -f 1076/2443/928 1075/2463/927 952/2444/927 -f 865/2446/928 1316/2464/927 988/2447/927 -f 1072/2449/929 1310/2455/930 1306/2450/930 -f 868/2452/929 1311/2456/930 1308/2453/930 -f 1310/2455/930 1076/2443/928 951/2445/928 -f 1311/2456/930 865/2446/928 987/2448/928 -f 1312/2457/931 1303/3067/926 948/2458/926 -f 1314/2460/931 1305/3068/926 984/2461/926 -f 1075/2463/927 1312/2457/931 1313/2459/931 -f 1316/2464/927 1314/2460/931 1315/2462/931 -f 1073/2465/933 1327/3069/933 1317/2466/932 -f 869/2468/933 1328/3070/933 1319/2469/932 -f 1318/2467/932 1317/2466/932 1321/2471/923 -f 1320/2470/932 1319/2469/932 1322/2472/923 -f 1323/2473/934 1325/2479/934 949/2474/925 -f 1324/2476/934 1326/2480/934 985/2477/925 -f 1298/2433/924 1297/2432/924 1325/2479/934 -f 1301/2436/924 1300/2435/924 1326/2480/934 -f 1073/2481/933 1072/3071/929 1307/2482/929 -f 869/2484/933 868/3072/929 1309/2485/929 -f 1329/2487/935 1360/2526/938 1330/2488/936 -f 906/2490/937 1021/2534/936 1020/2491/938 -f 1332/2493/939 903/3073/942 1333/2494/940 -f 1335/2496/939 1347/3074/941 1336/2497/940 -f 910/2499/943 1346/2511/946 1024/2500/944 -f 902/2502/946 1352/2518/943 1019/2503/945 -f 1340/2505/947 1365/3075/958 1341/2506/948 -f 1343/2508/948 1366/3076/958 1344/2509/947 -f 1342/2507/949 1341/2506/948 902/2502/946 -f 1346/2511/946 1343/2508/948 1345/2510/949 -f 1347/2512/941 1335/3077/939 1348/2513/950 -f 1350/2515/950 1332/3078/939 1334/2516/941 -f 1349/2514/951 1348/2513/950 910/2499/943 -f 1352/2518/943 1350/2515/950 1351/2517/951 -f 1353/2519/952 1359/2525/955 1354/2520/953 -f 1356/2522/952 1015/3079/954 1357/2523/953 -f 1359/2525/955 907/2492/935 1020/2491/938 -f 1358/2524/955 1357/2523/953 1360/2526/938 -f 903/2527/942 1364/2533/957 1361/2528/956 -f 1337/2530/942 1336/3080/940 1362/2531/956 -f 1364/2533/957 1331/2489/937 1330/2488/936 -f 1363/2532/957 1362/2531/956 1021/2534/936 -f 1015/2535/954 1356/3081/952 1365/2536/958 -f 1366/2538/958 1353/3082/952 1355/2539/954 -f 1014/2541/959 1013/2575/960 1367/2542/960 -f 980/3083/333 998/3084/333 848/3085/333 -f 998/3084/333 1377/3086/333 878/3087/333 -f 980/3083/333 848/3085/333 978/2546/333 -f 1377/3086/333 1379/3088/333 878/3087/333 -f 848/3085/333 847/3089/333 978/2546/333 -f 847/3089/333 1368/2544/333 978/2546/333 -f 878/3087/333 848/3085/333 998/3084/333 -f 1001/2547/961 879/2558/961 1370/2548/962 -f 976/2551/334 1421/3090/334 1383/3091/334 -f 1383/3091/334 850/3092/334 976/2551/334 -f 850/3092/334 877/2552/334 976/2551/334 -f 876/3093/334 1373/3094/334 1419/3095/334 -f 877/2552/334 876/3093/334 999/3096/334 -f 876/3093/334 1419/3095/334 999/3096/334 -f 999/3096/334 977/2550/334 877/2552/334 -f 1372/2553/963 1419/3097/964 1373/2554/964 -f 1372/2553/963 1374/2555/963 1375/2556/965 -f 1376/2557/965 1375/2556/965 879/2558/961 -f 1377/2559/966 1381/2563/967 1378/2560/967 -f 1380/2562/968 1382/2564/968 1378/2560/967 -f 1371/2549/962 1370/2548/962 1382/2564/968 -f 1383/2565/969 1421/3098/969 1384/2566/970 -f 899/2568/971 1385/2567/970 1384/2566/970 -f 1386/2569/971 1014/2541/959 900/2543/959 -f 1387/2570/972 1369/3099/973 1368/2571/973 -f 1388/2572/972 1390/2574/974 1389/2573/974 -f 1390/2574/974 1367/2542/960 1013/2575/960 -f 1418/3100/335 1417/3101/371 905/2578/977 -f 1417/3101/371 1391/2576/975 905/2578/977 -f 896/2579/369 1012/2596/369 1011/2580/370 -f 1393/2582/978 1401/2591/984 1394/2583/979 -f 1017/3102/985 1405/3103/988 1398/2587/981 -f 1405/3103/988 1396/2585/365 1398/2587/981 -f 1399/2588/982 905/3104/977 1392/2589/976 -f 1401/2591/984 1399/2588/982 1400/2590/983 -f 1017/2592/985 1398/3105/981 1402/2593/986 -f 1403/2594/987 1402/2593/986 1393/2582/978 -f 1404/2595/373 1420/3106/373 1012/2596/369 -f 1420/3106/373 1404/2595/373 1406/2599/989 -f 1404/2595/373 1396/2597/365 1406/2599/989 -f 1391/3107/975 1417/3108/371 1409/2602/768 -f 1417/3108/371 1407/2600/374 1409/2602/768 -f 897/2581/370 1011/2580/370 1408/2601/374 -f 1423/3109/336 1424/3110/336 1425/3111/336 -f 1426/3112/997 1427/3113/998 1428/3114/998 -f 1423/3115/998 1429/3116/997 1430/3117/997 -f 1431/3118/998 1432/3119/997 1433/3120/997 -f 1434/3121/997 1435/3122/998 1436/3123/998 -f 1437/3124/999 1438/3125/1000 1439/3126/999 -f 1440/3127/1000 1441/3128/999 1442/3129/1000 -f 1443/3130/1000 1444/3131/999 1445/3132/1000 -f 1446/3133/999 1447/3134/1000 1448/3135/999 -f 1449/3136/1001 1450/3137/1002 1451/3138/1002 -f 1452/3139/1002 1453/3140/1001 1454/3141/1001 -f 1455/3142/1002 1456/3143/1001 1457/3144/1001 -f 1424/3145/1001 1458/3146/1002 1459/3147/1002 -f 1436/3148/335 1460/3149/335 1454/3150/335 -f 1461/3151/1003 1462/3152/1004 1463/3153/1003 -f 1464/3154/1003 1465/3155/1004 1466/3156/1004 -f 1467/3157/1003 1468/3158/1004 1469/3159/1003 -f 1470/3160/1003 1471/3161/1004 1472/3162/1004 -f 1461/3163/1003 1473/3164/1002 1455/3142/1002 -f 1459/3147/1002 1474/3165/1003 1464/3166/1003 -f 1452/3139/1002 1469/3167/1003 1475/3168/1002 -f 1451/3138/1002 1476/3169/1003 1470/3170/1003 -f 1477/3171/999 1478/3172/1005 1444/3131/999 -f 1479/3173/1005 1448/3135/999 1480/3174/1005 -f 1481/3175/1005 1439/3126/999 1482/3176/1005 -f 1483/3177/999 1484/3178/1005 1441/3128/999 -f 1485/3179/1005 1453/3140/1001 1478/3180/1005 -f 1479/3181/1005 1486/3182/1001 1449/3136/1001 -f 1457/3144/1001 1484/3183/1005 1487/3184/1005 -f 1481/3185/1005 1488/3186/1001 1424/3145/1001 -f 1460/3187/1006 1489/3188/1007 1490/3189/1006 -f 1491/3190/1006 1492/3191/1007 1493/3192/1007 -f 1494/3193/1006 1495/3194/1007 1496/3195/1006 -f 1425/3196/1006 1497/3197/1007 1498/3198/1007 -f 1499/3199/1007 1435/3122/998 1489/3200/1007 -f 1493/3201/1007 1500/3202/998 1431/3118/998 -f 1428/3114/998 1495/3203/1007 1501/3204/1007 -f 1498/3205/1007 1502/3206/998 1423/3115/998 -f 1503/3207/1000 1504/3208/1008 1438/3125/1000 -f 1505/3209/1008 1442/3129/1000 1506/3210/1008 -f 1507/3211/1008 1445/3132/1000 1508/3212/1008 -f 1509/3213/1000 1510/3214/1008 1447/3134/1000 -f 1439/3215/335 1511/3216/335 1488/3217/335 -f 1505/3218/1008 1512/3219/997 1426/3112/997 -f 1444/3220/336 1453/3221/336 1490/3222/336 -f 1430/3117/997 1504/3223/1008 1513/3224/1008 -f 1434/3121/997 1508/3225/1008 1514/3226/997 -f 1448/3227/335 1515/3228/335 1486/3229/335 -f 1433/3120/997 1510/3230/1008 1516/3231/1008 -f 1517/3232/1004 1496/3195/1006 1462/3152/1004 -f 1466/3156/1004 1511/3233/1006 1425/3196/1006 -f 1449/3234/336 1431/3235/336 1446/3236/336 -f 1512/3237/336 1442/3238/336 1473/3239/336 -f 1426/3240/335 1455/3241/335 1440/3242/335 -f 1518/3243/1004 1490/3189/1006 1468/3158/1004 -f 1472/3162/1004 1515/3244/1006 1491/3190/1006 -f 1423/3109/336 1430/3245/336 1437/3246/336 -f 1430/3245/336 1513/3247/336 1503/3248/336 -f 1437/3246/336 1430/3245/336 1503/3248/336 -f 1437/3246/336 1481/3249/336 1424/3110/336 -f 1424/3110/336 1459/3250/336 1466/3251/336 -f 1459/3250/336 1464/3252/336 1466/3251/336 -f 1466/3251/336 1425/3111/336 1424/3110/336 -f 1425/3111/336 1498/3253/336 1423/3109/336 -f 1437/3246/336 1424/3110/336 1423/3109/336 -f 1426/3112/997 1512/3219/997 1427/3113/998 -f 1423/3115/998 1502/3206/998 1429/3116/997 -f 1431/3118/998 1500/3202/998 1432/3119/997 -f 1434/3121/997 1514/3226/997 1435/3122/998 -f 1437/3124/999 1503/3207/1000 1438/3125/1000 -f 1440/3127/1000 1483/3177/999 1441/3128/999 -f 1443/3130/1000 1477/3171/999 1444/3131/999 -f 1446/3133/999 1509/3213/1000 1447/3134/1000 -f 1449/3136/1001 1486/3182/1001 1450/3137/1002 -f 1452/3139/1002 1475/3168/1002 1453/3140/1001 -f 1455/3142/1002 1473/3164/1002 1456/3143/1001 -f 1424/3145/1001 1488/3186/1001 1458/3146/1002 -f 1467/3254/335 1452/3255/335 1518/3256/335 -f 1452/3255/335 1454/3150/335 1460/3149/335 -f 1454/3150/335 1485/3257/335 1477/3258/335 -f 1477/3258/335 1443/3259/335 1434/3260/335 -f 1443/3259/335 1507/3261/335 1434/3260/335 -f 1434/3260/335 1436/3148/335 1477/3258/335 -f 1436/3148/335 1499/3262/335 1460/3149/335 -f 1460/3149/335 1518/3256/335 1452/3255/335 -f 1454/3150/335 1477/3258/335 1436/3148/335 -f 1461/3151/1003 1517/3232/1004 1462/3152/1004 -f 1464/3154/1003 1474/3263/1003 1465/3155/1004 -f 1467/3157/1003 1518/3243/1004 1468/3158/1004 -f 1470/3160/1003 1476/3264/1003 1471/3161/1004 -f 1461/3163/1003 1463/3265/1003 1473/3164/1002 -f 1459/3147/1002 1458/3146/1002 1474/3165/1003 -f 1452/3139/1002 1467/3266/1003 1469/3167/1003 -f 1451/3138/1002 1450/3137/1002 1476/3169/1003 -f 1477/3171/999 1485/3267/1005 1478/3172/1005 -f 1479/3173/1005 1446/3133/999 1448/3135/999 -f 1481/3175/1005 1437/3124/999 1439/3126/999 -f 1483/3177/999 1487/3268/1005 1484/3178/1005 -f 1485/3179/1005 1454/3141/1001 1453/3140/1001 -f 1479/3181/1005 1480/3269/1005 1486/3182/1001 -f 1457/3144/1001 1456/3143/1001 1484/3183/1005 -f 1481/3185/1005 1482/3270/1005 1488/3186/1001 -f 1460/3187/1006 1499/3271/1007 1489/3188/1007 -f 1491/3190/1006 1515/3244/1006 1492/3191/1007 -f 1494/3193/1006 1501/3272/1007 1495/3194/1007 -f 1425/3196/1006 1511/3233/1006 1497/3197/1007 -f 1499/3199/1007 1436/3123/998 1435/3122/998 -f 1493/3201/1007 1492/3273/1007 1500/3202/998 -f 1428/3114/998 1427/3113/998 1495/3203/1007 -f 1498/3205/1007 1497/3274/1007 1502/3206/998 -f 1503/3207/1000 1513/3275/1008 1504/3208/1008 -f 1505/3209/1008 1440/3127/1000 1442/3129/1000 -f 1507/3211/1008 1443/3130/1000 1445/3132/1000 -f 1509/3213/1000 1516/3276/1008 1510/3214/1008 -f 1439/3215/335 1438/3277/335 1429/3278/335 -f 1438/3277/335 1504/3279/335 1429/3278/335 -f 1429/3278/335 1502/3280/335 1439/3215/335 -f 1502/3280/335 1497/3281/335 1511/3216/335 -f 1511/3216/335 1465/3282/335 1488/3217/335 -f 1465/3282/335 1474/3283/335 1458/3284/335 -f 1488/3217/335 1465/3282/335 1458/3284/335 -f 1488/3217/335 1482/3285/335 1439/3215/335 -f 1502/3280/335 1511/3216/335 1439/3215/335 -f 1505/3218/1008 1506/3286/1008 1512/3219/997 -f 1469/3287/336 1468/3288/336 1475/3289/336 -f 1468/3288/336 1490/3222/336 1453/3221/336 -f 1490/3222/336 1489/3290/336 1435/3291/336 -f 1435/3291/336 1514/3292/336 1444/3220/336 -f 1514/3292/336 1508/3293/336 1445/3294/336 -f 1444/3220/336 1514/3292/336 1445/3294/336 -f 1444/3220/336 1478/3295/336 1453/3221/336 -f 1453/3221/336 1475/3289/336 1468/3288/336 -f 1490/3222/336 1435/3291/336 1444/3220/336 -f 1430/3117/997 1429/3116/997 1504/3223/1008 -f 1434/3121/997 1507/3296/1008 1508/3225/1008 -f 1448/3227/335 1447/3297/335 1432/3298/335 -f 1447/3297/335 1510/3299/335 1432/3298/335 -f 1432/3298/335 1500/3300/335 1448/3227/335 -f 1500/3300/335 1492/3301/335 1515/3228/335 -f 1515/3228/335 1471/3302/335 1486/3229/335 -f 1471/3302/335 1476/3303/335 1450/3304/335 -f 1486/3229/335 1471/3302/335 1450/3304/335 -f 1486/3229/335 1480/3305/335 1448/3227/335 -f 1500/3300/335 1515/3228/335 1448/3227/335 -f 1433/3120/997 1432/3119/997 1510/3230/1008 -f 1517/3232/1004 1494/3193/1006 1496/3195/1006 -f 1466/3156/1004 1465/3155/1004 1511/3233/1006 -f 1449/3234/336 1451/3306/336 1491/3307/336 -f 1451/3306/336 1470/3308/336 1472/3309/336 -f 1491/3307/336 1451/3306/336 1472/3309/336 -f 1491/3307/336 1493/3310/336 1431/3235/336 -f 1431/3235/336 1433/3311/336 1509/3312/336 -f 1433/3311/336 1516/3313/336 1509/3312/336 -f 1509/3312/336 1446/3236/336 1431/3235/336 -f 1446/3236/336 1479/3314/336 1449/3234/336 -f 1491/3307/336 1431/3235/336 1449/3234/336 -f 1484/3315/336 1456/3316/336 1441/3317/336 -f 1456/3316/336 1473/3239/336 1442/3238/336 -f 1473/3239/336 1463/3318/336 1462/3319/336 -f 1462/3319/336 1496/3320/336 1427/3321/336 -f 1496/3320/336 1495/3322/336 1427/3321/336 -f 1427/3321/336 1512/3237/336 1462/3319/336 -f 1512/3237/336 1506/3323/336 1442/3238/336 -f 1442/3238/336 1441/3317/336 1456/3316/336 -f 1473/3239/336 1462/3319/336 1512/3237/336 -f 1426/3240/335 1428/3324/335 1517/3325/335 -f 1428/3324/335 1501/3326/335 1494/3327/335 -f 1517/3325/335 1428/3324/335 1494/3327/335 -f 1517/3325/335 1461/3328/335 1455/3241/335 -f 1455/3241/335 1457/3329/335 1483/3330/335 -f 1457/3329/335 1487/3331/335 1483/3330/335 -f 1483/3330/335 1440/3242/335 1455/3241/335 -f 1440/3242/335 1505/3332/335 1426/3240/335 -f 1517/3325/335 1455/3241/335 1426/3240/335 -f 1518/3243/1004 1460/3187/1006 1490/3189/1006 -f 1472/3162/1004 1471/3161/1004 1515/3244/1006 -f 1519/3333/329 1520/3334/329 1521/3335/329 -f 1522/3336/1009 1523/3337/1009 1524/3338/1009 -f 1525/3339/331 1524/3340/331 1526/3341/331 -f 1527/3342/1010 1521/3343/1010 1528/3344/1010 -f 1529/3345/333 1528/3346/333 1521/3347/333 -f 1530/3348/1011 1528/3344/1011 1529/3349/1011 -f 1531/3350/334 1519/3351/334 1530/3352/334 -f 1531/3353/1012 1529/3349/1012 1523/3337/1012 -f 1532/3354/334 1533/3355/334 1534/3356/334 -f 1535/3357/333 1536/3358/333 1526/3359/333 -f 1533/3360/335 1536/3361/335 1535/3362/335 -f 1526/3341/331 1537/3363/331 1525/3339/331 -f 1535/3362/1013 1538/3364/1013 1533/3360/1013 -f 1539/3365/1014 1532/3366/1014 1537/3367/1014 -f 1534/3368/329 1540/3369/329 1520/3334/329 -f 1519/3333/329 1534/3368/329 1520/3334/329 -f 1522/3336/1009 1531/3353/1009 1523/3337/1009 -f 1525/3339/331 1522/3370/331 1524/3340/331 -f 1527/3342/1010 1519/3371/1010 1521/3343/1010 -f 1521/3347/333 1520/3372/333 1523/3373/333 -f 1520/3372/333 1526/3359/333 1523/3373/333 -f 1526/3359/333 1524/3374/333 1523/3373/333 -f 1523/3373/333 1529/3345/333 1521/3347/333 -f 1530/3348/1011 1527/3342/1011 1528/3344/1011 -f 1522/3375/334 1525/3376/334 1531/3350/334 -f 1525/3376/334 1534/3356/334 1531/3350/334 -f 1534/3356/334 1519/3351/334 1531/3350/334 -f 1519/3351/334 1527/3377/334 1530/3352/334 -f 1531/3353/1012 1530/3348/1012 1529/3349/1012 -f 1538/3378/334 1534/3356/334 1533/3355/334 -f 1534/3356/334 1525/3376/334 1532/3354/334 -f 1525/3376/334 1537/3379/334 1532/3354/334 -f 1539/3380/333 1526/3359/333 1536/3358/333 -f 1526/3359/333 1520/3372/333 1535/3357/333 -f 1520/3372/333 1540/3381/333 1535/3357/333 -f 1533/3360/335 1532/3366/335 1536/3361/335 -f 1526/3341/331 1539/3382/331 1537/3363/331 -f 1535/3362/1013 1540/3383/1013 1538/3364/1013 -f 1539/3365/1014 1536/3361/1014 1532/3366/1014 -f 1534/3368/329 1538/3384/329 1540/3369/329 -f 1549/3385/1015 1550/3386/1016 1551/3387/1017 -f 1552/3388/1018 1553/3389/1019 1554/3390/1020 -f 1555/3391/1021 1556/3392/1022 1557/3393/1023 -f 1558/3394/335 1559/3395/1024 1560/3396/1025 -f 1561/3397/1026 1562/3398/1027 1563/3399/1028 -f 1564/3400/1029 1565/3401/1030 1566/3402/1031 -f 1567/3403/336 1568/3404/1032 1569/3405/1033 -f 1570/3406/335 1571/3407/1034 1572/3408/1035 -f 1573/3409/1036 1553/3410/1036 1574/3411/1036 -f 1573/3412/1037 1575/3413/1038 1576/3414/1039 -f 1551/3415/1040 1577/3416/1040 1563/3417/1040 -f 1578/3418/1041 1579/3419/1042 1580/3420/1043 -f 1579/3419/1042 1581/3421/1044 1580/3420/1043 -f 1582/3422/1045 1583/3423/1046 1584/3424/1047 -f 1585/3425/1048 1549/3426/335 1547/3427/335 -f 1541/3428/335 1586/3429/1049 1544/3430/335 -f 1562/3431/1050 1567/3432/1050 1587/3433/1051 -f 1581/3421/1044 1555/3391/1021 1557/3393/1023 -f 1578/3434/1052 1588/3435/1052 1589/3436/1052 -f 1590/3437/1053 1591/3438/1054 1582/3422/1045 -f 1591/3438/1054 1592/3439/1055 1582/3422/1045 -f 1564/3400/1029 1593/3440/1056 1565/3401/1030 -f 1593/3440/1056 1594/3441/1057 1565/3401/1030 -f 1585/3425/1048 1595/3442/1058 1596/3443/1059 -f 1596/3444/1059 1557/3393/1023 1556/3392/1022 -f 1597/3445/1060 1598/3446/1061 1599/3447/1062 -f 1599/3448/1062 1600/3449/1063 1555/3391/1021 -f 1556/3392/1022 1591/3450/1064 1596/3444/1059 -f 1596/3443/1059 1590/3451/1065 1585/3425/1048 -f 1594/3452/1066 1598/3446/1061 1601/3453/1067 -f 1593/3454/1068 1600/3449/1063 1598/3455/1061 -f 1586/3429/1049 1602/3456/1069 1603/3457/1070 -f 1604/3458/1071 1581/3421/1044 1602/3459/1069 -f 1605/3460/1072 1606/3461/1073 1607/3462/1074 -f 1608/3463/1075 1579/3419/1042 1606/3464/1073 -f 1555/3391/1021 1608/3463/1075 1599/3448/1062 -f 1599/3447/1062 1605/3460/1072 1597/3445/1060 -f 1609/3465/1076 1606/3464/1073 1579/3419/1042 -f 1610/3466/1077 1607/3462/1074 1606/3461/1073 -f 1586/3429/1049 1588/3467/1078 1604/3468/1071 -f 1604/3458/1071 1578/3418/1041 1580/3420/1043 -f 1603/3457/1070 1595/3442/1058 1611/3469/1079 -f 1602/3459/1069 1557/3393/1023 1595/3470/1058 -f 1601/3453/1067 1597/3445/1060 1545/3471/336 -f 1563/3472/336 1542/3473/336 1548/3474/336 -f 1552/3475/1080 1612/3476/1081 1583/3423/1046 -f 1612/3476/1081 1584/3424/1047 1583/3423/1046 -f 1587/3433/1051 1613/3477/1082 1614/3478/1083 -f 1613/3477/1082 1566/3402/1031 1614/3478/1083 -f 1577/3416/1084 1615/3479/1085 1563/3417/1028 -f 1615/3480/1085 1561/3397/1026 1563/3399/1028 -f 1550/3386/1016 1616/3481/1086 1551/3387/1017 -f 1616/3482/1086 1617/3483/1087 1551/3415/1017 -f 1618/3484/1088 1616/3485/1089 1550/3486/1090 -f 1619/3487/1091 1617/3488/1092 1616/3489/1089 -f 1552/3388/1018 1620/3490/1093 1612/3491/1094 -f 1612/3492/1094 1571/3407/1034 1584/3493/1095 -f 1573/3409/1096 1620/3494/1093 1554/3495/1096 -f 1621/3496/1097 1571/3407/1034 1620/3497/1093 -f 1622/3498/1098 1623/3499/1099 1624/3500/1100 -f 1624/3501/1100 1574/3411/1101 1553/3410/1101 -f 1573/3502/1037 1619/3503/1091 1621/3504/1097 -f 1621/3496/1097 1618/3484/1088 1572/3408/1035 -f 1574/3505/1102 1625/3506/1103 1575/3507/1038 -f 1623/3499/1099 1568/3508/1032 1625/3509/1103 -f 1566/3510/1104 1624/3511/1100 1553/3389/1019 -f 1613/3512/1105 1622/3498/1098 1624/3500/1100 -f 1568/3508/1032 1615/3513/1106 1625/3509/1103 -f 1625/3514/1103 1577/3515/1107 1575/3516/1107 -f 1577/3515/1052 1576/3517/1052 1575/3516/1052 -f 1626/3518/1108 1627/3519/336 1628/3520/1109 -f 1629/3521/1110 1630/3522/1111 1631/3523/1112 -f 1630/3522/1111 1632/3524/1113 1631/3523/1112 -f 1633/3525/1114 1634/3526/1115 1632/3524/1113 -f 1560/3527/1025 1635/3528/1116 1629/3521/1110 -f 1636/3529/1117 1628/3530/1109 1634/3526/1115 -f 1635/3531/334 1559/3532/334 1637/3533/334 -f 1632/3524/1118 1638/3534/1119 1631/3523/1120 -f 1628/3530/1121 1639/3535/1122 1634/3526/1123 -f 1638/3534/1119 1629/3521/1124 1631/3523/1120 -f 1640/3536/1125 1560/3527/1126 1629/3521/1124 -f 1634/3526/1123 1641/3537/1127 1632/3524/1118 -f 1642/3538/1128 1628/3520/1121 1627/3519/1128 -f 1560/3396/1126 1643/3539/1129 1558/3394/1129 -f 1638/3540/1130 1641/3541/1131 1556/3392/1022 -f 1644/3542/1132 1645/3543/335 1646/3544/1132 -f 1647/3545/336 1648/3546/1133 1649/3547/336 -f 1650/3548/331 1647/3549/331 1649/3550/331 -f 1651/3551/1133 1652/3552/1134 1648/3553/1133 -f 1653/3554/1134 1654/3555/1135 1652/3552/1134 -f 1646/3556/1132 1655/3557/1136 1644/3558/1132 -f 1656/3559/1135 1657/3560/1137 1654/3555/1135 -f 1658/3561/1136 1659/3562/1137 1655/3557/1136 -f 1654/3563/333 1649/3564/333 1652/3565/333 -f 1660/3566/1138 1653/3567/1139 1651/3568/1140 -f 1661/3569/1141 1656/3570/1142 1653/3567/1139 -f 1662/3571/1143 1655/3572/1144 1663/3573/1145 -f 1663/3573/1145 1659/3574/1146 1664/3575/1147 -f 1664/3575/1147 1656/3570/1142 1665/3576/1148 -f 1660/3566/1138 1647/3577/1149 1650/3578/1149 -f 1666/3579/1150 1662/3571/1143 1667/3580/1150 -f 1661/3569/334 1660/3566/334 1650/3578/334 -f 1668/3581/702 1669/3582/703 1670/3583/703 -f 1671/3584/329 1672/3585/329 1673/3586/329 -f 1674/3587/700 1675/3588/701 1676/3589/701 -f 1677/3590/709 1678/3591/710 1679/3592/709 -f 1680/3593/710 1675/3588/701 1678/3591/710 -f 1669/3594/703 1681/3595/711 1670/3596/703 -f 1682/3597/711 1674/3587/700 1681/3595/711 -f 1677/3598/709 1671/3599/333 1673/3600/333 -f 1668/3601/702 1683/3602/708 1684/3603/702 -f 1685/3604/708 1686/3605/1151 1683/3602/708 -f 1687/3606/709 1688/3607/706 1689/3608/706 -f 1690/3609/704 1691/3610/705 1692/3611/704 -f 1693/3612/702 1694/3613/708 1695/3614/702 -f 1692/3611/704 1696/3615/708 1690/3609/704 -f 1688/3616/706 1697/3617/707 1689/3618/706 -f 1698/3619/705 1699/3620/707 1691/3610/705 -f 1695/3621/702 1700/3622/334 1693/3623/702 -f 1701/3624/709 1702/3625/1152 1703/3626/1152 -f 1703/3626/1153 1704/3627/1154 1705/3628/1153 -f 1706/3629/1155 1704/3630/1156 1686/3631/1156 -f 1707/3632/334 1708/3633/334 1672/3634/334 -f 1698/3635/336 1690/3636/336 1675/3637/336 -f 1691/3638/335 1699/3639/335 1674/3640/335 -f 1549/3385/1015 1570/3641/1015 1550/3386/1016 -f 1552/3388/1018 1566/3510/1104 1553/3389/1019 -f 1555/3391/1021 1600/3449/1063 1556/3392/1022 -f 1558/3394/335 1637/3642/335 1559/3395/1024 -f 1561/3397/1026 1567/3643/1027 1562/3398/1027 -f 1552/3475/1080 1583/3423/1046 1582/3422/1045 -f 1582/3422/1045 1592/3439/1055 1552/3475/1080 -f 1592/3439/1055 1642/3644/1157 1709/3645/1157 -f 1642/3644/1157 1627/3646/1158 1709/3645/1157 -f 1637/3647/1157 1558/3648/1159 1643/3649/1157 -f 1592/3439/1055 1709/3645/1157 1552/3475/1080 -f 1637/3647/1157 1643/3649/1157 1564/3400/1029 -f 1709/3645/1157 1637/3647/1157 1552/3475/1080 -f 1566/3402/1031 1552/3475/1080 1637/3647/1157 -f 1565/3401/1030 1614/3478/1083 1566/3402/1031 -f 1637/3647/1157 1564/3400/1029 1566/3402/1031 -f 1567/3403/336 1561/3650/1160 1568/3404/1032 -f 1569/3405/1033 1622/3651/1098 1567/3403/336 -f 1622/3651/1098 1587/3652/1161 1567/3403/336 -f 1618/3484/1088 1550/3486/1090 1570/3406/335 -f 1570/3406/335 1584/3493/1095 1571/3407/1034 -f 1572/3408/1035 1618/3484/1088 1570/3406/335 -f 1573/3409/1036 1554/3495/1036 1553/3410/1036 -f 1573/3412/1037 1574/3653/1102 1575/3413/1038 -f 1551/3415/1040 1617/3483/1040 1577/3416/1040 -f 1578/3418/1041 1609/3465/1076 1579/3419/1042 -f 1579/3419/1042 1710/3654/1162 1581/3421/1044 -f 1584/3424/1047 1570/3655/1163 1549/3656/1163 -f 1549/3656/1163 1590/3437/1053 1584/3424/1047 -f 1590/3437/1053 1582/3422/1045 1584/3424/1047 -f 1585/3425/1048 1590/3451/1065 1549/3426/335 -f 1549/3426/335 1551/3657/335 1547/3427/335 -f 1551/3657/335 1543/3658/335 1547/3427/335 -f 1547/3427/335 1544/3430/335 1611/3469/1079 -f 1544/3430/335 1603/3457/1070 1611/3469/1079 -f 1611/3469/1079 1585/3425/1048 1547/3427/335 -f 1543/3658/335 1551/3657/335 1541/3428/335 -f 1551/3657/335 1589/3659/1164 1541/3428/335 -f 1589/3659/1164 1586/3429/1049 1541/3428/335 -f 1586/3429/1049 1603/3457/1070 1544/3430/335 -f 1587/3433/1051 1614/3478/1083 1565/3401/1030 -f 1565/3401/1030 1594/3441/1057 1587/3433/1051 -f 1594/3441/1057 1562/3431/1050 1587/3433/1051 -f 1581/3421/1044 1710/3654/1162 1555/3391/1021 -f 1589/3436/1052 1551/3415/1165 1578/3434/1052 -f 1551/3415/1165 1563/3417/1165 1578/3434/1052 -f 1563/3417/1165 1711/3660/1052 1609/3661/1052 -f 1711/3660/1052 1610/3662/1052 1609/3661/1052 -f 1609/3661/1052 1578/3434/1052 1563/3417/1165 -f 1585/3425/1048 1611/3469/1079 1595/3442/1058 -f 1596/3444/1059 1595/3470/1058 1557/3393/1023 -f 1597/3445/1060 1601/3453/1067 1598/3446/1061 -f 1599/3448/1062 1598/3455/1061 1600/3449/1063 -f 1556/3392/1022 1592/3663/1166 1591/3450/1064 -f 1596/3443/1059 1591/3664/1064 1590/3451/1065 -f 1594/3452/1066 1593/3665/1068 1598/3446/1061 -f 1593/3454/1068 1564/3666/1167 1600/3449/1063 -f 1586/3429/1049 1604/3468/1071 1602/3456/1069 -f 1604/3458/1071 1580/3420/1043 1581/3421/1044 -f 1605/3460/1072 1608/3667/1075 1606/3461/1073 -f 1608/3463/1075 1710/3654/1162 1579/3419/1042 -f 1555/3391/1021 1710/3654/1162 1608/3463/1075 -f 1599/3447/1062 1608/3667/1075 1605/3460/1072 -f 1609/3465/1076 1610/3668/1077 1606/3464/1073 -f 1610/3466/1077 1711/3669/1168 1607/3462/1074 -f 1586/3429/1049 1589/3659/1164 1588/3467/1078 -f 1604/3458/1071 1588/3670/1078 1578/3418/1041 -f 1603/3457/1070 1602/3456/1069 1595/3442/1058 -f 1602/3459/1069 1581/3421/1044 1557/3393/1023 -f 1545/3471/336 1542/3473/336 1563/3472/336 -f 1563/3472/336 1562/3671/336 1545/3471/336 -f 1562/3671/336 1594/3452/1066 1601/3453/1067 -f 1562/3671/336 1601/3453/1067 1545/3471/336 -f 1605/3460/1072 1546/3672/336 1597/3445/1060 -f 1546/3672/336 1545/3471/336 1597/3445/1060 -f 1548/3474/336 1546/3672/336 1607/3462/1074 -f 1546/3672/336 1605/3460/1072 1607/3462/1074 -f 1607/3462/1074 1711/3669/1168 1548/3474/336 -f 1711/3669/1168 1563/3472/336 1548/3474/336 -f 1618/3484/1088 1619/3673/1091 1616/3485/1089 -f 1619/3487/1091 1576/3517/1092 1617/3488/1092 -f 1552/3388/1018 1554/3390/1020 1620/3490/1093 -f 1612/3492/1094 1620/3497/1093 1571/3407/1034 -f 1573/3409/1096 1621/3674/1097 1620/3494/1093 -f 1621/3496/1097 1572/3408/1035 1571/3407/1034 -f 1622/3498/1098 1569/3675/1033 1623/3499/1099 -f 1624/3501/1100 1623/3676/1099 1574/3411/1101 -f 1573/3502/1037 1576/3677/1039 1619/3503/1091 -f 1621/3496/1097 1619/3673/1091 1618/3484/1088 -f 1574/3505/1102 1623/3678/1099 1625/3506/1103 -f 1623/3499/1099 1569/3675/1033 1568/3508/1032 -f 1566/3510/1104 1613/3679/1105 1624/3511/1100 -f 1613/3512/1105 1587/3680/1161 1622/3498/1098 -f 1568/3508/1032 1561/3681/1160 1615/3513/1106 -f 1625/3514/1103 1615/3682/1106 1577/3515/1107 -f 1577/3515/1052 1617/3488/1052 1576/3517/1052 -f 1626/3518/1108 1709/3683/336 1627/3519/336 -f 1629/3521/1110 1635/3528/1116 1630/3522/1111 -f 1630/3522/1111 1633/3525/1114 1632/3524/1113 -f 1633/3525/1114 1636/3529/1117 1634/3526/1115 -f 1560/3527/1025 1559/3684/1024 1635/3528/1116 -f 1636/3529/1117 1626/3685/1108 1628/3530/1109 -f 1637/3533/334 1709/3686/334 1633/3687/334 -f 1709/3686/334 1626/3688/334 1636/3689/334 -f 1633/3687/334 1709/3686/334 1636/3689/334 -f 1633/3687/334 1630/3690/334 1637/3533/334 -f 1630/3690/334 1635/3531/334 1637/3533/334 -f 1632/3524/1118 1641/3537/1127 1638/3534/1119 -f 1628/3530/1121 1712/3691/1169 1639/3535/1122 -f 1638/3534/1119 1640/3536/1125 1629/3521/1124 -f 1640/3536/1125 1713/3692/1170 1560/3527/1126 -f 1634/3526/1123 1639/3535/1122 1641/3537/1127 -f 1642/3538/1128 1712/3693/1169 1628/3520/1121 -f 1560/3396/1126 1713/3694/1170 1643/3539/1129 -f 1712/3695/1171 1642/3696/1172 1592/3663/1166 -f 1600/3449/1063 1564/3666/1167 1713/3697/1173 -f 1564/3666/1167 1643/3698/1172 1713/3697/1173 -f 1712/3695/1171 1592/3663/1166 1556/3392/1022 -f 1639/3699/1174 1712/3695/1171 1556/3392/1022 -f 1600/3449/1063 1713/3697/1173 1640/3700/1175 -f 1600/3449/1063 1640/3700/1175 1638/3540/1130 -f 1641/3541/1131 1639/3699/1174 1556/3392/1022 -f 1600/3449/1063 1638/3540/1130 1556/3392/1022 -f 1644/3542/1132 1666/3701/335 1645/3543/335 -f 1647/3545/336 1651/3702/1133 1648/3546/1133 -f 1649/3550/331 1645/3703/331 1650/3548/331 -f 1645/3703/331 1666/3704/331 1667/3705/331 -f 1650/3548/331 1645/3703/331 1667/3705/331 -f 1651/3551/1133 1653/3554/1134 1652/3552/1134 -f 1653/3554/1134 1656/3559/1135 1654/3555/1135 -f 1646/3556/1132 1658/3561/1136 1655/3557/1136 -f 1656/3559/1135 1659/3562/1137 1657/3560/1137 -f 1658/3561/1136 1657/3560/1137 1659/3562/1137 -f 1654/3563/333 1657/3706/333 1645/3707/333 -f 1657/3706/333 1658/3708/333 1645/3707/333 -f 1658/3708/333 1646/3709/333 1645/3707/333 -f 1645/3707/333 1649/3564/333 1654/3563/333 -f 1649/3564/333 1648/3710/333 1652/3565/333 -f 1660/3566/1138 1661/3569/1141 1653/3567/1139 -f 1661/3569/1141 1665/3576/1148 1656/3570/1142 -f 1662/3571/1143 1644/3711/1176 1655/3572/1144 -f 1663/3573/1145 1655/3572/1144 1659/3574/1146 -f 1664/3575/1147 1659/3574/1146 1656/3570/1142 -f 1660/3566/1138 1651/3568/1140 1647/3577/1149 -f 1666/3579/1150 1644/3711/1176 1662/3571/1143 -f 1650/3578/334 1667/3580/334 1664/3575/334 -f 1667/3580/334 1662/3571/334 1663/3573/334 -f 1664/3575/334 1667/3580/334 1663/3573/334 -f 1664/3575/334 1665/3576/334 1650/3578/334 -f 1665/3576/334 1661/3569/334 1650/3578/334 -f 1668/3581/702 1684/3712/702 1669/3582/703 -f 1671/3584/329 1707/3713/329 1672/3585/329 -f 1674/3587/700 1714/3714/700 1675/3588/701 -f 1677/3590/709 1680/3593/710 1678/3591/710 -f 1680/3593/710 1676/3589/701 1675/3588/701 -f 1669/3594/703 1682/3597/711 1681/3595/711 -f 1682/3597/711 1714/3714/700 1674/3587/700 -f 1677/3598/709 1679/3715/709 1671/3599/333 -f 1668/3601/702 1685/3604/708 1683/3602/708 -f 1685/3604/708 1706/3716/1151 1686/3605/1151 -f 1687/3606/709 1701/3717/709 1688/3607/706 -f 1690/3609/704 1698/3619/705 1691/3610/705 -f 1693/3612/702 1696/3615/708 1694/3613/708 -f 1692/3611/704 1694/3613/708 1696/3615/708 -f 1688/3616/706 1699/3620/707 1697/3617/707 -f 1698/3619/705 1697/3617/707 1699/3620/707 -f 1695/3621/702 1708/3633/334 1700/3622/334 -f 1701/3624/709 1687/3718/709 1702/3625/1152 -f 1703/3626/1153 1702/3625/1154 1704/3627/1154 -f 1706/3629/1155 1705/3719/1155 1704/3630/1156 -f 1707/3632/334 1700/3622/334 1708/3633/334 -f 1683/3720/336 1686/3721/336 1702/3722/336 -f 1686/3721/336 1704/3723/336 1702/3722/336 -f 1669/3724/336 1684/3725/336 1689/3726/336 -f 1684/3725/336 1683/3720/336 1687/3727/336 -f 1675/3637/336 1714/3728/336 1698/3635/336 -f 1714/3728/336 1682/3729/336 1697/3730/336 -f 1698/3635/336 1714/3728/336 1697/3730/336 -f 1671/3731/336 1679/3732/336 1700/3733/336 -f 1679/3732/336 1678/3734/336 1693/3735/336 -f 1700/3733/336 1707/3736/336 1671/3731/336 -f 1693/3735/336 1700/3733/336 1679/3732/336 -f 1684/3725/336 1687/3727/336 1689/3726/336 -f 1683/3720/336 1702/3722/336 1687/3727/336 -f 1696/3737/336 1693/3735/336 1678/3734/336 -f 1669/3724/336 1689/3726/336 1682/3729/336 -f 1689/3726/336 1697/3730/336 1682/3729/336 -f 1696/3737/336 1678/3734/336 1675/3637/336 -f 1690/3636/336 1696/3737/336 1675/3637/336 -f 1703/3738/335 1705/3739/335 1706/3740/335 -f 1685/3741/335 1668/3742/335 1701/3743/335 -f 1668/3742/335 1670/3744/335 1688/3745/335 -f 1701/3743/335 1668/3742/335 1688/3745/335 -f 1681/3746/335 1674/3640/335 1699/3639/335 -f 1674/3640/335 1676/3747/335 1691/3638/335 -f 1680/3748/335 1677/3749/335 1695/3750/335 -f 1677/3749/335 1673/3751/335 1708/3752/335 -f 1695/3750/335 1677/3749/335 1708/3752/335 -f 1673/3751/335 1672/3753/335 1708/3752/335 -f 1703/3738/335 1706/3740/335 1685/3741/335 -f 1701/3743/335 1703/3738/335 1685/3741/335 -f 1680/3748/335 1695/3750/335 1694/3754/335 -f 1676/3747/335 1680/3748/335 1694/3754/335 -f 1676/3747/335 1694/3754/335 1692/3755/335 -f 1688/3745/335 1670/3744/335 1681/3746/335 -f 1699/3639/335 1688/3745/335 1681/3746/335 -f 1676/3747/335 1692/3755/335 1691/3638/335 -f 1715/3756/1177 1716/3757/1178 1717/3758/1179 -f 1718/3759/334 1719/3760/334 1720/3761/334 -f 1721/3762/1180 1722/3763/1181 1723/3764/1182 -f 1724/3765/1183 1725/3766/1184 1726/3767/1184 -f 1727/3768/1185 1728/3769/1186 1729/3770/1187 -f 1730/3771/1188 1731/3772/1189 1725/3773/336 -f 1732/3774/1190 1727/3768/1185 1729/3770/1187 -f 1723/3764/329 1733/3775/329 1734/3776/329 -f 1735/3777/1191 1736/3778/1192 1737/3779/1192 -f 1738/3780/1193 1739/3781/1194 1740/3782/1194 -f 1741/3783/1195 1722/3763/1181 1742/3784/1196 -f 1720/3785/1197 1743/3786/1197 1738/3780/1197 -f 1716/3757/1178 1744/3787/1198 1741/3783/1195 -f 1728/3788/1186 1715/3756/1177 1717/3758/1179 -f 1745/3789/1199 1746/3790/1200 1747/3791/1199 -f 1725/3766/1184 1748/3792/1201 1726/3767/1184 -f 1737/3779/1192 1749/3793/1183 1724/3765/1183 -f 1739/3781/1194 1735/3777/1191 1740/3782/1194 -f 1748/3792/1201 1745/3794/1202 1750/3795/1202 -f 1751/3796/1203 1742/3784/1196 1752/3797/1204 -f 1753/3798/1205 1722/3763/1181 1744/3787/1198 -f 1754/3799/1206 1716/3757/1178 1755/3800/1207 -f 1756/3801/1208 1715/3756/1177 1757/3802/1209 -f 1758/3803/1210 1728/3804/1186 1759/3805/1211 -f 1731/3772/1189 1760/3806/1212 1727/3807/1185 -f 1752/3797/1204 1721/3762/1180 1761/3808/1213 -f 1762/3809/1214 1723/3764/1182 1722/3763/1181 -f 1732/3810/1190 1758/3803/1210 1763/3811/1215 -f 1728/3788/1186 1754/3799/1206 1759/3805/1211 -f 1741/3783/1195 1755/3800/1207 1716/3757/1178 -f 1756/3801/1208 1744/3787/1198 1764/3812/1216 -f 1757/3802/1209 1760/3813/1212 1730/3814/1188 -f 1731/3772/1189 1747/3815/1217 1746/3816/1218 -f 1759/3805/1211 1754/3799/1206 1724/3817/335 -f 1715/3756/1177 1764/3812/1216 1716/3757/1178 -f 1718/3759/334 1734/3818/334 1719/3760/334 -f 1721/3762/1180 1742/3784/1196 1722/3763/1181 -f 1724/3765/1183 1749/3793/1183 1725/3766/1184 -f 1727/3768/1185 1760/3819/1212 1728/3769/1186 -f 1743/3820/336 1719/3821/336 1739/3822/336 -f 1719/3821/336 1734/3823/336 1762/3824/1214 -f 1734/3823/336 1733/3825/1219 1762/3824/1214 -f 1719/3821/336 1762/3824/1214 1739/3822/336 -f 1739/3822/336 1762/3824/1214 1753/3826/1205 -f 1749/3827/336 1736/3828/336 1757/3829/1209 -f 1736/3828/336 1765/3830/336 1756/3831/1208 -f 1765/3830/336 1739/3822/336 1753/3826/1205 -f 1765/3830/336 1753/3826/1205 1756/3831/1208 -f 1725/3773/336 1749/3827/336 1730/3771/1188 -f 1736/3828/336 1756/3831/1208 1757/3829/1209 -f 1745/3832/336 1766/3833/336 1746/3816/1218 -f 1766/3833/336 1725/3773/336 1731/3772/1189 -f 1731/3772/1189 1746/3816/1218 1766/3833/336 -f 1749/3827/336 1757/3829/1209 1730/3771/1188 -f 1732/3774/1190 1747/3834/1217 1727/3768/1185 -f 1734/3776/329 1718/3835/329 1723/3764/329 -f 1718/3835/329 1761/3836/329 1721/3762/329 -f 1723/3764/329 1718/3835/329 1721/3762/329 -f 1735/3777/1191 1765/3837/1191 1736/3778/1192 -f 1738/3780/1193 1743/3786/1193 1739/3781/1194 -f 1741/3783/1195 1744/3787/1198 1722/3763/1181 -f 1720/3785/1197 1719/3838/1197 1743/3786/1197 -f 1716/3757/1178 1764/3812/1216 1744/3787/1198 -f 1728/3788/1186 1760/3813/1212 1715/3756/1177 -f 1747/3791/1199 1732/3839/1199 1750/3840/1199 -f 1732/3839/1199 1763/3841/1220 1750/3840/1199 -f 1750/3840/1199 1745/3789/1199 1747/3791/1199 -f 1725/3766/1184 1766/3842/1201 1748/3792/1201 -f 1737/3779/1192 1736/3778/1192 1749/3793/1183 -f 1739/3781/1194 1765/3837/1191 1735/3777/1191 -f 1748/3792/1201 1766/3842/1201 1745/3794/1202 -f 1751/3796/1203 1741/3783/1195 1742/3784/1196 -f 1753/3798/1205 1762/3809/1214 1722/3763/1181 -f 1754/3799/1206 1717/3758/1179 1716/3757/1178 -f 1756/3801/1208 1764/3812/1216 1715/3756/1177 -f 1758/3803/1210 1729/3843/1187 1728/3804/1186 -f 1731/3772/1189 1730/3771/1188 1760/3806/1212 -f 1752/3797/1204 1742/3784/1196 1721/3762/1180 -f 1762/3809/1214 1733/3775/1219 1723/3764/1182 -f 1732/3810/1190 1729/3843/1187 1758/3803/1210 -f 1728/3788/1186 1717/3758/1179 1754/3799/1206 -f 1741/3783/1195 1751/3796/1203 1755/3800/1207 -f 1756/3801/1208 1753/3798/1205 1744/3787/1198 -f 1757/3802/1209 1715/3756/1177 1760/3813/1212 -f 1731/3772/1189 1727/3807/1185 1747/3815/1217 -f 1718/3844/335 1720/3845/335 1752/3797/1204 -f 1720/3845/335 1738/3846/335 1740/3847/335 -f 1720/3845/335 1740/3847/335 1752/3797/1204 -f 1752/3797/1204 1761/3808/1213 1718/3844/335 -f 1735/3848/335 1737/3849/335 1755/3800/1207 -f 1737/3849/335 1724/3817/335 1754/3799/1206 -f 1752/3797/1204 1740/3847/335 1751/3796/1203 -f 1740/3847/335 1735/3848/335 1751/3796/1203 -f 1737/3849/335 1754/3799/1206 1755/3800/1207 -f 1724/3817/335 1726/3850/335 1759/3805/1211 -f 1726/3850/335 1748/3851/335 1758/3803/1210 -f 1748/3851/335 1750/3852/335 1763/3811/1215 -f 1758/3803/1210 1748/3851/335 1763/3811/1215 -f 1755/3800/1207 1751/3796/1203 1735/3848/335 -f 1726/3850/335 1758/3803/1210 1759/3805/1211 -f 1787/3853/1221 1785/3854/331 1788/3855/331 -f 1789/3856/331 1776/3857/1221 1790/3858/1221 -f 1791/3859/334 1785/3860/334 1784/3861/334 -f 1789/3862/334 1779/3863/334 1778/3864/334 -f 1792/3865/1222 1779/3866/329 1793/3867/329 -f 1791/3868/329 1783/3869/1222 1794/3870/1222 -f 1795/3871/1223 1771/3872/1224 1796/3873/1224 -f 1797/3874/1223 1769/3875/1224 1774/3876/1223 -f 1798/3877/336 1796/3878/336 1799/3879/336 -f 1800/3880/335 1801/3881/335 1797/3882/335 -f 1802/3883/1225 1781/3884/1223 1795/3871/1223 -f 1797/3874/1223 1773/3885/1225 1803/3886/1225 -f 1798/3887/1226 1782/3888/1225 1802/3889/1225 -f 1800/3890/1226 1773/3891/1225 1768/3892/1226 -f 1794/3870/1222 1772/3893/1226 1798/3887/1226 -f 1792/3865/1222 1768/3892/1226 1777/3894/1222 -f 1804/3895/1224 1775/3896/1227 1769/3875/1224 -f 1796/3873/1224 1780/3897/1227 1805/3898/1227 -f 1806/3899/1227 1767/3900/1228 1775/3901/1227 -f 1805/3902/1227 1770/3903/1228 1799/3904/1228 -f 1790/3858/1221 1767/3900/1228 1801/3905/1228 -f 1799/3904/1228 1786/3906/1221 1787/3853/1221 -f 1807/3907/1229 1808/3908/1230 1809/3909/1231 -f 1810/3910/1232 1811/3911/1233 1812/3912/1234 -f 1811/3911/1233 1813/3913/1235 1814/3914/1236 -f 1813/3913/1235 1815/3915/1237 1814/3914/1236 -f 1816/3916/1238 1817/3917/1239 1815/3918/1237 -f 1818/3919/1240 1819/3920/1241 1817/3917/1239 -f 1820/3921/1242 1821/3922/1243 1819/3920/1241 -f 1822/3923/1244 1823/3924/1245 1821/3922/1243 -f 1823/3925/1245 1824/3926/1246 1825/3927/1247 -f 1824/3926/1246 1809/3909/1231 1825/3927/1247 -f 1826/3928/1248 1812/3912/1234 1827/3929/1249 -f 1828/3930/335 1829/3931/335 1830/3932/335 -f 1831/3933/1250 1827/3934/1249 1808/3908/1230 -f 1827/3935/1249 1832/3936/1251 1808/3937/1230 -f 1826/3938/1248 1833/3939/1252 1834/3940/1253 -f 1812/3941/1234 1835/3942/1254 1827/3935/1249 -f 1810/3943/1232 1834/3940/1253 1829/3931/1255 -f 1811/3944/1233 1836/3945/1256 1812/3941/1234 -f 1837/3946/1257 1829/3931/1255 1828/3930/1258 -f 1811/3944/1233 1838/3947/1259 1839/3948/1260 -f 1837/3946/1257 1840/3949/1261 1813/3950/1235 -f 1814/3951/1236 1841/3952/1262 1838/3947/1259 -f 1813/3950/1235 1842/3953/1263 1816/3954/1238 -f 1815/3955/1237 1843/3956/1264 1841/3952/1262 -f 1816/3954/1238 1844/3957/1265 1818/3958/1240 -f 1819/3959/1241 1843/3956/1264 1817/3960/1239 -f 1820/3961/1242 1844/3957/1265 1845/3962/1266 -f 1821/3963/1243 1846/3964/1267 1819/3959/1241 -f 1822/3965/1244 1845/3962/1266 1847/3966/1268 -f 1823/3967/1245 1848/3968/1269 1821/3963/1243 -f 1849/3969/1270 1847/3966/1268 1850/3970/1271 -f 1823/3967/1245 1851/3971/1272 1852/3972/1273 -f 1849/3969/1270 1830/3932/1274 1824/3973/1246 -f 1825/3974/1247 1853/3975/1275 1851/3971/1272 -f 1824/3973/1246 1854/3976/1276 1807/3977/1229 -f 1809/3978/1231 1832/3936/1251 1853/3975/1275 -f 1807/3977/1229 1833/3939/1252 1831/3979/1250 -f 1852/3972/336 1851/3971/336 1839/3948/336 -f 1787/3853/1221 1786/3906/1221 1785/3854/331 -f 1789/3856/331 1778/3980/331 1776/3857/1221 -f 1791/3859/334 1788/3981/334 1785/3860/334 -f 1789/3862/334 1793/3982/334 1779/3863/334 -f 1792/3865/1222 1777/3894/1222 1779/3866/329 -f 1791/3868/329 1784/3983/329 1783/3869/1222 -f 1795/3871/1223 1781/3884/1223 1771/3872/1224 -f 1797/3874/1223 1804/3895/1224 1769/3875/1224 -f 1794/3984/336 1798/3877/336 1799/3879/336 -f 1798/3877/336 1802/3985/336 1795/3986/336 -f 1796/3878/336 1798/3877/336 1795/3986/336 -f 1796/3878/336 1805/3987/336 1799/3879/336 -f 1799/3879/336 1787/3988/336 1794/3984/336 -f 1787/3988/336 1788/3989/336 1794/3984/336 -f 1788/3989/336 1791/3990/336 1794/3984/336 -f 1806/3991/335 1804/3992/335 1801/3881/335 -f 1804/3992/335 1797/3882/335 1801/3881/335 -f 1797/3882/335 1803/3993/335 1800/3880/335 -f 1800/3880/335 1792/3994/335 1790/3995/335 -f 1792/3994/335 1793/3996/335 1790/3995/335 -f 1793/3996/335 1789/3997/335 1790/3995/335 -f 1790/3995/335 1801/3881/335 1800/3880/335 -f 1802/3883/1225 1782/3998/1225 1781/3884/1223 -f 1797/3874/1223 1774/3876/1223 1773/3885/1225 -f 1798/3887/1226 1772/3893/1226 1782/3888/1225 -f 1800/3890/1226 1803/3999/1225 1773/3891/1225 -f 1794/3870/1222 1783/3869/1222 1772/3893/1226 -f 1792/3865/1222 1800/3890/1226 1768/3892/1226 -f 1804/3895/1224 1806/4000/1227 1775/3896/1227 -f 1796/3873/1224 1771/3872/1224 1780/3897/1227 -f 1806/3899/1227 1801/3905/1228 1767/3900/1228 -f 1805/3902/1227 1780/4001/1227 1770/3903/1228 -f 1790/3858/1221 1776/3857/1221 1767/3900/1228 -f 1799/3904/1228 1770/3903/1228 1786/3906/1221 -f 1807/3907/1229 1831/3933/1250 1808/3908/1230 -f 1810/3910/1232 1837/4002/1257 1811/3911/1233 -f 1811/3911/1233 1837/4002/1257 1813/3913/1235 -f 1813/3913/1235 1816/4003/1238 1815/3915/1237 -f 1816/3916/1238 1818/3919/1240 1817/3917/1239 -f 1818/3919/1240 1820/3921/1242 1819/3920/1241 -f 1820/3921/1242 1822/3923/1244 1821/3922/1243 -f 1822/3923/1244 1849/4004/1270 1823/3924/1245 -f 1823/3925/1245 1849/4005/1270 1824/3926/1246 -f 1824/3926/1246 1807/3907/1229 1809/3909/1231 -f 1826/3928/1248 1810/3910/1232 1812/3912/1234 -f 1829/3931/335 1834/3940/335 1854/3976/335 -f 1834/3940/335 1833/3939/335 1854/3976/335 -f 1854/3976/335 1830/3932/335 1829/3931/335 -f 1830/3932/335 1850/3970/335 1828/3930/335 -f 1850/3970/335 1847/3966/335 1840/3949/335 -f 1847/3966/335 1845/3962/335 1840/3949/335 -f 1845/3962/335 1844/3957/335 1842/3953/335 -f 1840/3949/335 1845/3962/335 1842/3953/335 -f 1840/3949/335 1828/3930/335 1850/3970/335 -f 1831/3933/1250 1826/4006/1248 1827/3934/1249 -f 1827/3935/1249 1835/3942/1254 1832/3936/1251 -f 1826/3938/1248 1831/3979/1250 1833/3939/1252 -f 1812/3941/1234 1836/3945/1256 1835/3942/1254 -f 1810/3943/1232 1826/3938/1248 1834/3940/1253 -f 1811/3944/1233 1839/3948/1260 1836/3945/1256 -f 1837/3946/1257 1810/3943/1232 1829/3931/1255 -f 1811/3944/1233 1814/3951/1236 1838/3947/1259 -f 1837/3946/1257 1828/3930/1258 1840/3949/1261 -f 1814/3951/1236 1815/3955/1237 1841/3952/1262 -f 1813/3950/1235 1840/3949/1261 1842/3953/1263 -f 1815/3955/1237 1817/3960/1239 1843/3956/1264 -f 1816/3954/1238 1842/3953/1263 1844/3957/1265 -f 1819/3959/1241 1846/3964/1267 1843/3956/1264 -f 1820/3961/1242 1818/3958/1240 1844/3957/1265 -f 1821/3963/1243 1848/3968/1269 1846/3964/1267 -f 1822/3965/1244 1820/3961/1242 1845/3962/1266 -f 1823/3967/1245 1852/3972/1273 1848/3968/1269 -f 1849/3969/1270 1822/3965/1244 1847/3966/1268 -f 1823/3967/1245 1825/3974/1247 1851/3971/1272 -f 1849/3969/1270 1850/3970/1271 1830/3932/1274 -f 1825/3974/1247 1809/3978/1231 1853/3975/1275 -f 1824/3973/1246 1830/3932/1274 1854/3976/1276 -f 1809/3978/1231 1808/3937/1230 1832/3936/1251 -f 1807/3977/1229 1854/3976/1276 1833/3939/1252 -f 1853/3975/336 1832/3936/336 1835/3942/336 -f 1835/3942/336 1836/3945/336 1853/3975/336 -f 1836/3945/336 1839/3948/336 1851/3971/336 -f 1853/3975/336 1836/3945/336 1851/3971/336 -f 1839/3948/336 1838/3947/336 1848/3968/336 -f 1838/3947/336 1841/3952/336 1846/3964/336 -f 1841/3952/336 1843/3956/336 1846/3964/336 -f 1846/3964/336 1848/3968/336 1838/3947/336 -f 1848/3968/336 1852/3972/336 1839/3948/336 -f 1855/4007/1277 1856/4008/1278 1857/4009/1279 -f 1858/4010/1280 1859/4011/1281 1860/4012/1282 -f 1861/4013/1283 1862/4014/1284 1863/4015/1285 -f 1864/4016/1286 1865/4017/1287 1866/4018/1288 -f 1867/4019/1289 1868/4020/1290 1869/4021/1291 -f 1870/4022/1292 1871/4023/1293 1872/4024/1294 -f 1873/4025/1295 1874/4026/1296 1875/4027/1297 -f 1876/4028/1298 1873/4025/1295 1875/4027/1297 -f 1877/4029/1299 1878/4030/1300 1879/4031/1301 -f 1880/4032/1302 1881/4033/1303 1882/4034/1304 -f 1883/4035/1305 1884/4036/1306 1885/4037/1307 -f 1886/4038/1308 1887/4039/1309 1888/4040/1310 -f 1889/4041/1311 1890/4042/1312 1891/4043/1313 -f 1892/4044/1314 1893/4045/1315 1890/4042/1312 -f 1894/4046/335 1895/4047/335 1896/4048/1316 -f 1897/4049/1317 1898/4050/1318 1899/4051/1319 -f 1897/4049/1317 1900/4052/1320 1901/4053/1321 -f 1889/4054/1311 1898/4050/1318 1902/4055/1322 -f 1903/4056/1323 1904/4057/1324 1855/4007/1277 -f 1905/4058/1325 1906/4059/1326 1907/4060/1327 -f 1908/4061/1328 1909/4062/1329 1910/4063/1330 -f 1905/4064/1325 1911/4065/1331 1912/4066/1332 -f 1913/4067/1333 1914/4068/1334 1915/4069/1335 -f 1910/4063/1330 1916/4070/1336 1917/4071/1337 -f 1901/4053/1321 1906/4059/1326 1918/4072/1338 -f 1919/4073/1339 1920/4074/335 1921/4075/335 -f 1922/4076/1340 1923/4077/1341 1924/4078/1342 -f 1925/4079/1343 1926/4080/1344 1908/4081/1328 -f 1912/4066/1332 1927/4082/1345 1925/4079/1343 -f 1928/4083/1346 1856/4084/1278 1893/4045/1315 -f 1929/4085/1347 1930/4086/1348 1931/4087/1349 -f 1932/4088/1350 1933/4089/1351 1934/4090/1352 -f 1860/4012/1282 1935/4091/1353 1936/4092/1354 -f 1937/4093/1355 1938/4094/1356 1932/4088/1350 -f 1939/4095/1357 1940/4096/1358 1941/4097/1359 -f 1937/4093/1355 1940/4096/1358 1942/4098/1360 -f 1943/4099/1361 1878/4100/1362 1944/4101/1363 -f 1945/4102/1364 1946/4103/1365 1939/4095/1357 -f 1947/4104/1366 1948/4105/1367 1949/4106/1368 -f 1950/4107/1369 1951/4108/1370 1952/4109/1371 -f 1953/4110/1372 1945/4102/1364 1954/4111/1373 -f 1935/4091/1353 1888/4112/1310 1936/4092/1354 -f 1955/4113/1374 1954/4114/1373 1874/4026/1296 -f 1943/4115/1375 1956/4116/1376 1876/4117/1375 -f 1957/4118/1377 1958/4119/1378 1887/4039/1309 -f 1959/4120/1379 1960/4121/1380 1961/4122/1381 -f 1961/4122/1381 1962/4123/1382 1959/4120/1379 -f 1963/4124/1383 1964/4125/1384 1877/4029/1299 -f 1960/4121/1380 1965/4126/1385 1966/4127/1386 -f 1967/4128/1387 1882/4129/1304 1881/4130/1303 -f 1966/4127/1386 1968/4131/1388 1880/4032/1302 -f 1969/4132/336 1884/4133/336 1921/4134/336 -f 1917/4071/1337 1970/4135/1389 1903/4056/1323 -f 1971/4136/1390 1972/4137/1391 1973/4138/1392 -f 1974/4139/1393 1975/4140/1394 1976/4141/1395 -f 1977/4142/1396 1974/4139/1393 1978/4143/1397 -f 1979/4144/1398 1980/4145/1399 1981/4146/1400 -f 1982/4147/1401 1983/4148/1402 1984/4149/1403 -f 1976/4141/1395 1985/4150/1404 1979/4144/1398 -f 1986/4151/1405 1977/4142/1396 1978/4143/1397 -f 1981/4152/1400 1987/4153/1406 1963/4124/1383 -f 1972/4137/1391 1986/4151/1405 1973/4138/1392 -f 1988/4154/1407 1989/4155/1408 1866/4018/1409 -f 1934/4090/1352 1990/4156/1410 1858/4157/1280 -f 1991/4158/1411 1992/4159/1412 1993/4160/1413 -f 1994/4161/1414 1995/4162/1415 1996/4163/1416 -f 1997/4164/1417 1998/4165/1418 1999/4166/1419 -f 2000/4167/1420 2001/4168/1421 2002/4169/1420 -f 1913/4170/1422 1869/4171/1423 2003/4172/1424 -f 2004/4173/1425 1999/4174/1426 2005/4175/1427 -f 2006/4176/1428 2001/4177/1429 2007/4178/1430 -f 1913/4170/1422 2008/4179/1431 2009/4180/1432 -f 2004/4181/1433 1868/4182/1434 2010/4183/1433 -f 2011/4184/1435 1996/4185/1416 2012/4186/1436 -f 2013/4187/1437 2014/4188/1438 2015/4189/1439 -f 2000/4190/1440 2008/4191/1431 2016/4192/1441 -f 1863/4193/1285 2017/4194/1442 2018/4195/1443 -f 2019/4196/1420 2020/4197/1444 2021/4198/1445 -f 2022/4199/1446 2023/4200/1447 2024/4201/1448 -f 2025/4202/1449 2026/4203/1450 1862/4204/1451 -f 2019/4205/1452 2012/4206/1453 2027/4207/1454 -f 2028/4208/1455 2023/4200/1447 2029/4209/1456 -f 2030/4210/1433 2026/4211/1457 2031/4212/1433 -f 2032/4213/1458 2033/4214/1459 2034/4215/1460 -f 2028/4216/1455 2020/4217/1461 2035/4218/1462 -f 2030/4219/1463 2024/4220/1464 2036/4221/1465 -f 2037/4222/1466 2038/4223/1467 2017/4224/1442 -f 2015/4225/1439 1998/4226/1418 2039/4227/1468 -f 1983/4228/1469 2040/4229/1470 2039/4230/1468 -f 2041/4231/1471 2014/4188/1438 2042/4232/1472 -f 2043/4233/1473 1998/4226/1418 2014/4234/1438 -f 2041/4231/1471 2044/4235/1474 2043/4236/1473 -f 2043/4237/1473 2005/4238/1427 1999/4239/1426 -f 2045/4240/1475 2044/4235/1474 2046/4241/1476 -f 2047/4242/1477 2005/4243/1478 2044/4244/1474 -f 2048/4245/1479 2047/4246/1477 2045/4240/1475 -f 2049/4247/1480 1868/4248/1290 2047/4249/1477 -f 2048/4245/1479 2050/4250/1481 2049/4251/1480 -f 2049/4252/1480 2003/4253/1424 1869/4254/1423 -f 2051/4255/1482 2052/4256/1483 2050/4250/1481 -f 2050/4257/1481 2008/4258/1431 2003/4253/1424 -f 2053/4259/1484 2052/4256/1483 2054/4260/1485 -f 2055/4261/1486 2008/4262/1431 2052/4263/1483 -f 2053/4259/1484 2056/4264/1487 2055/4265/1486 -f 2055/4266/1486 2001/4267/1421 2016/4268/1488 -f 1991/4158/1411 2056/4264/1487 2057/4269/1489 -f 1993/4270/1413 2001/4271/1429 2056/4272/1487 -f 2042/4232/1472 2013/4187/1437 2057/4269/1489 -f 2006/4273/1490 2007/4274/1491 2058/4275/1492 -f 2018/4276/1443 2059/4277/1493 2060/4278/1469 -f 1863/4193/1285 2061/4279/1494 2037/4280/1466 -f 2037/4222/1466 2062/4281/1495 2063/4282/1496 -f 2026/4283/1450 2061/4284/1494 1862/4285/1451 -f 2064/4286/1497 2062/4281/1495 2061/4287/1494 -f 2026/4288/1457 2065/4289/1498 2064/4290/1497 -f 2064/4286/1497 2066/4291/1499 2067/4292/1500 -f 2036/4293/1465 2068/4294/1501 2065/4295/1498 -f 2065/4296/1498 2069/4297/1502 2066/4291/1499 -f 2023/4298/1447 2068/4299/1501 2024/4300/1448 -f 2070/4301/1503 2069/4297/1502 2068/4302/1501 -f 2035/4303/1462 2070/4304/1503 2023/4298/1447 -f 2071/4305/1504 2072/4306/1505 2070/4301/1503 -f 2035/4307/1462 2073/4308/1506 2071/4309/1504 -f 2071/4305/1504 2074/4310/1507 2075/4311/1508 -f 2027/4312/1509 2073/4313/1506 2020/4314/1444 -f 2076/4315/1510 2074/4310/1507 2073/4316/1506 -f 2027/4317/1454 1996/4318/1416 2076/4319/1510 -f 2076/4315/1510 1995/4162/1415 2077/4320/1511 -f 2034/4321/1512 2078/4322/1513 2011/4323/1435 -f 2063/4282/1496 2077/4320/1511 2038/4223/1467 -f 1993/4324/1413 2058/4325/1492 2007/4326/1491 -f 2079/4327/1514 2080/4328/1515 2081/4329/1516 -f 2081/4330/1516 2013/4187/1437 2015/4189/1439 -f 2079/4327/1514 2040/4331/1517 1983/4332/1518 -f 2081/4333/1516 2039/4227/1468 2040/4334/1470 -f 2082/4335/1519 2083/4336/1520 2084/4337/1521 -f 2085/4338/1522 2086/4339/1523 2083/4340/1520 -f 2082/4335/1519 2087/4341/1524 2085/4342/1522 -f 2085/4343/1522 2058/4325/1492 1992/4344/1412 -f 2088/4345/1525 2059/4346/1526 2089/4347/1527 -f 2089/4348/1527 2018/4195/1443 2017/4194/1442 -f 2088/4345/1525 2090/4349/1528 2091/4350/1529 -f 2089/4351/1527 2038/4223/1467 2090/4352/1528 -f 2033/4353/1459 2078/4354/1530 2034/4355/1531 -f 2092/4356/1532 2011/4184/1435 2078/4357/1513 -f 2033/4353/1459 2093/4358/1533 2092/4359/1532 -f 2092/4360/1532 2094/4361/1534 1994/4161/1414 -f 2086/4339/1523 2080/4362/1515 2083/4340/1520 -f 2083/4336/1520 2095/4363/1535 2084/4337/1521 -f 2094/4361/1534 2090/4352/1528 2038/4223/1467 -f 2093/4358/1533 2091/4350/1529 2090/4349/1528 -f 2096/4364/1536 2082/4365/1519 2084/4366/1521 -f 2097/4367/1537 2098/4368/1538 2099/4369/1539 -f 2100/4370/1540 1876/4371/1375 2098/4372/1538 -f 2101/4373/1541 2100/4374/1540 2097/4367/1537 -f 2100/4375/1540 1879/4376/1542 1943/4099/1361 -f 2101/4373/1541 2102/4377/1543 2103/4378/1544 -f 2103/4379/1544 1877/4029/1299 1879/4031/1301 -f 1956/4380/1376 2104/4381/1545 2105/4382/1546 -f 2105/4383/1546 2106/4384/1547 2107/4385/1548 -f 1944/4101/1363 2108/4386/1549 2104/4387/1545 -f 2108/4388/1549 2106/4384/1547 2104/4389/1545 -f 1964/4125/1384 2108/4390/1549 1878/4030/1300 -f 2109/4391/1550 2110/4392/1551 2108/4388/1549 -f 1931/4087/1349 2111/4393/1552 2112/4394/1553 -f 2112/4395/1553 1934/4090/1352 1858/4157/1280 -f 1952/4109/1371 2113/4396/1554 2114/4397/1555 -f 2115/4398/1556 1933/4089/1351 2113/4399/1554 -f 1931/4087/1349 2116/4400/1557 2117/4401/1558 -f 2112/4402/1553 1860/4012/1282 2116/4403/1557 -f 1952/4109/1371 2118/4404/1559 2115/4405/1556 -f 2115/4406/1556 1859/4011/1281 1990/4407/1410 -f 1932/4088/1350 2119/4408/1560 1937/4093/1355 -f 2120/4409/1561 1922/4076/1340 2119/4410/1560 -f 1938/4094/1356 2121/4411/1562 2122/4412/1563 -f 2122/4413/1563 1871/4023/1293 1870/4022/1292 -f 2123/4414/1564 2120/4409/1561 2111/4393/1552 -f 2111/4415/1552 1932/4088/1350 1934/4090/1352 -f 2114/4397/1555 2122/4413/1563 1870/4022/1292 -f 2113/4399/1554 1938/4094/1356 2122/4412/1563 -f 2124/4416/1565 2125/4417/1566 2126/4418/1567 -f 2127/4419/1568 1941/4097/1359 2125/4420/1566 -f 2128/4421/1569 2129/4422/1570 2130/4423/1571 -f 2130/4424/1571 1940/4096/1358 1946/4103/1365 -f 2126/4418/1567 2119/4410/1560 1922/4076/1340 -f 2125/4420/1566 1937/4093/1355 2119/4408/1560 -f 2131/4425/1572 2121/4426/1562 2129/4422/1570 -f 2129/4427/1570 1942/4098/1360 1940/4096/1358 -f 2132/4428/1573 2133/4429/1574 2134/4430/1575 -f 2135/4431/1576 1874/4026/1296 2133/4432/1574 -f 2136/4433/1577 2137/4434/1578 2138/4435/1579 -f 2138/4436/1579 1955/4113/1374 1873/4025/1295 -f 2134/4430/1575 2139/4437/1580 2140/4438/1581 -f 2133/4432/1574 1954/4114/1373 2139/4439/1580 -f 2141/4440/1582 2137/4434/1578 2142/4441/1583 -f 2143/4442/1584 1955/4113/1374 2137/4443/1578 -f 2144/4444/1585 2139/4437/1580 2145/4445/1586 -f 2145/4446/1586 1954/4111/1373 1945/4102/1364 -f 1982/4147/1401 2143/4447/1584 2141/4440/1582 -f 2146/4448/1587 1953/4110/1372 2143/4449/1584 -f 1875/4027/1297 2098/4450/1538 1876/4028/1298 -f 2135/4451/1576 2099/4369/1539 2098/4368/1538 -f 1945/4102/1364 2127/4419/1568 2145/4446/1586 -f 2145/4445/1586 2124/4416/1565 2144/4444/1585 -f 2107/4385/1548 2138/4435/1579 2105/4383/1546 -f 2105/4452/1546 1873/4025/1295 1956/4453/1588 -f 2128/4421/1569 2146/4454/1587 1982/4147/1401 -f 2130/4424/1571 2147/4455/1589 2146/4448/1587 -f 2148/4456/1590 2149/4457/1591 2150/4458/1592 -f 2150/4459/1592 1936/4092/1354 1888/4112/1310 -f 2151/4460/1593 2152/4461/1594 2153/4462/1595 -f 2154/4463/1596 1935/4091/1353 2152/4464/1594 -f 2155/4465/1597 2150/4458/1592 2156/4466/1598 -f 2156/4467/1598 1888/4040/1310 1887/4039/1309 -f 2151/4460/1593 2157/4468/1599 2154/4469/1596 -f 2154/4470/1596 1957/4118/1377 1886/4038/1308 -f 2155/4465/1597 2158/4471/1600 2159/4472/1601 -f 2156/4467/1598 1958/4119/1378 2158/4473/1600 -f 2160/4474/1602 2161/4475/1603 2157/4468/1599 -f 2157/4476/1599 1962/4123/1382 1957/4118/1377 -f 1936/4092/1354 2116/4403/1557 1860/4012/1282 -f 2149/4457/1591 2117/4401/1558 2116/4400/1557 -f 2162/4477/1604 2152/4461/1594 2118/4404/1559 -f 2118/4478/1559 1935/4091/1353 1859/4011/1281 -f 2163/4479/1605 2164/4480/1606 2165/4481/1607 -f 2165/4482/1607 1961/4122/1381 1960/4121/1380 -f 2166/4483/1608 2167/4484/1609 2168/4485/1610 -f 2168/4486/1610 2169/4487/1611 1959/4120/1379 -f 1961/4122/1381 2158/4473/1600 1958/4119/1378 -f 2164/4480/1606 2159/4472/1601 2158/4471/1600 -f 2170/4488/1612 2168/4485/1610 2161/4475/1603 -f 2161/4489/1603 1959/4120/1379 1962/4123/1382 -f 1966/4127/1386 2171/4490/1613 2172/4491/1614 -f 2172/4492/1614 1884/4036/1306 1969/4493/1615 -f 1965/4126/1385 1989/4494/1408 1968/4131/1388 -f 1989/4155/1408 2173/4495/1616 1914/4068/1334 -f 1969/4493/1615 2165/4481/1607 2172/4492/1614 -f 2172/4491/1614 1960/4121/1380 1966/4127/1386 -f 1914/4068/1334 2167/4484/1609 1915/4069/1335 -f 2173/4496/1616 2169/4487/1611 2167/4497/1609 -f 1882/4129/1304 2174/4498/1617 1885/4499/1307 -f 1885/4037/1307 2174/4500/1617 1883/4035/1305 -f 1881/4130/1303 2175/4501/1618 1967/4128/1387 -f 2175/4502/1618 1988/4154/1407 2176/4503/1619 -f 2171/4490/1613 1882/4034/1304 1885/4504/1307 -f 1989/4494/1408 1881/4033/1303 1968/4131/1388 -f 1896/4048/1316 2177/4505/1620 2178/4506/1621 -f 2179/4507/1622 1979/4144/1398 2177/4508/1620 -f 1947/4104/1366 2180/4509/1623 2181/4510/1624 -f 2181/4511/1624 1985/4150/1404 1975/4140/1394 -f 2182/4512/1625 2177/4505/1620 2183/4513/1626 -f 2183/4514/1626 1979/4144/1398 1981/4146/1400 -f 2184/4515/1627 2180/4509/1623 2185/4516/1628 -f 2186/4517/1629 1985/4150/1404 2180/4518/1623 -f 2182/4512/1625 2187/4519/1630 2188/4520/1631 -f 2183/4521/1626 1963/4124/1383 2187/4522/1630 -f 2184/4515/1627 2189/4523/1632 2186/4524/1629 -f 2186/4525/1629 1987/4153/1406 1980/4526/1399 -f 2188/4520/1631 2102/4377/1543 2190/4527/1633 -f 2187/4522/1630 1877/4029/1299 2102/4528/1543 -f 2191/4529/1634 2109/4391/1550 2189/4523/1632 -f 2189/4530/1632 1964/4125/1384 1987/4153/1406 -f 2192/4531/1635 2193/4532/1636 2194/4533/1637 -f 2194/4534/1637 1978/4143/1397 1974/4139/1393 -f 2195/4535/1638 2196/4536/1639 2197/4537/1640 -f 2198/4538/1641 1977/4142/1396 2196/4539/1639 -f 2192/4531/1635 2179/4540/1622 1896/4048/1316 -f 2194/4534/1637 1976/4141/1395 2179/4507/1622 -f 2195/4535/1638 2181/4510/1624 2198/4541/1641 -f 2198/4538/1641 1975/4140/1394 2199/4542/1642 -f 2200/4543/1643 2201/4544/1644 2202/4545/1645 -f 2202/4546/1645 1865/4017/1287 2203/4547/1646 -f 1986/4151/1405 2204/4548/1647 1973/4138/1392 -f 2205/4549/1648 1919/4073/1339 2204/4550/1647 -f 2200/4543/1643 2196/4539/1639 1977/4142/1396 -f 2202/4546/1645 2197/4537/1640 2196/4536/1639 -f 1883/4035/1305 2204/4550/1647 1919/4073/1339 -f 2174/4498/1617 1973/4138/1392 2204/4548/1647 -f 2176/4503/1619 2201/4551/1644 2175/4502/1618 -f 2175/4501/1618 1972/4137/1391 1967/4128/1387 -f 2206/4552/1649 2205/4549/1648 2193/4532/1636 -f 2193/4553/1636 1986/4151/1405 1978/4143/1397 -f 2060/4554/335 2134/4430/1575 2140/4438/1581 -f 2207/4555/1650 2208/4556/1651 2209/4557/1652 -f 2210/4558/1653 2211/4559/1654 2212/4560/1655 -f 2213/4561/1656 2214/4562/1657 2215/4563/1658 -f 2208/4556/1651 2216/4564/1659 2209/4557/1652 -f 2217/4565/1660 2218/4566/1661 2219/4567/1662 -f 2220/4568/1663 2214/4562/1657 2221/4569/1664 -f 2222/4570/1665 2219/4567/1662 2218/4566/1661 -f 1951/4571/1666 1930/4572/1667 1929/4573/1668 -f 2223/4574/1669 2224/4575/1670 2215/4563/1658 -f 2210/4558/1653 2225/4576/1671 2226/4577/1672 -f 2212/4560/1655 2227/4578/1673 2217/4579/1660 -f 1928/4580/1346 2228/4581/1674 2229/4582/1675 -f 2229/4582/1675 1857/4583/1279 1928/4580/1346 -f 1904/4584/1324 2230/4585/1676 2231/4586/1677 -f 1905/4587/1325 1920/4074/1678 1918/4588/1338 -f 2232/4589/1679 1909/4590/1329 2233/4591/1680 -f 1892/4044/1314 2234/4592/1681 2228/4593/1674 -f 2235/4594/1682 1903/4595/1323 2236/4596/1683 -f 1856/4597/1278 2237/4598/1684 1893/4599/1315 -f 1864/4016/1685 1907/4600/1327 1906/4601/1326 -f 2238/4602/1686 1857/4583/1279 2239/4603/1687 -f 1910/4604/1330 2235/4594/1682 2240/4605/1688 -f 2240/4605/1688 1908/4606/1328 1910/4604/1330 -f 2241/4607/1689 1890/4042/1312 2242/4608/1690 -f 1916/4609/1336 2230/4585/1676 1970/4610/1389 -f 2243/4611/1691 1911/4612/1331 2244/4613/1692 -f 1889/4614/1311 2245/4615/1693 2234/4616/1681 -f 1856/4597/1278 2231/4586/1677 2246/4617/1694 -f 1926/4618/1344 2233/4591/1680 1909/4590/1329 -f 1907/4600/1327 2244/4613/1692 1911/4612/1331 -f 1902/4055/1322 1894/4619/1695 2245/4620/1693 -f 1925/4621/1343 2247/4622/1696 1912/4623/1332 -f 1949/4106/1697 1891/4624/1313 2241/4625/1689 -f 2247/4622/1696 1905/4587/1325 1912/4623/1332 -f 1895/4626/1698 1897/4049/1317 1901/4053/1321 -f 1901/4053/1321 1920/4627/1678 1895/4626/1698 -f 1908/4606/1328 2248/4628/1699 1925/4621/1343 -f 1948/4629/1700 1898/4050/1318 1949/4630/1697 -f 1899/4051/1319 2249/4631/1701 1900/4052/1320 -f 1864/4632/1685 1900/4052/1320 2249/4631/1701 -f 2242/4633/1690 1893/4599/1315 2237/4598/1684 -f 2236/4596/1683 1855/4634/1277 2238/4602/1686 -f 2243/4611/1691 1926/4618/1344 1927/4635/1345 -f 2029/4636/1702 2163/4479/1605 1969/4493/1615 -f 1855/4007/1277 1904/4057/1324 1856/4008/1278 -f 1858/4010/1280 1990/4407/1410 1859/4011/1281 -f 1861/4013/1283 2025/4637/1703 1862/4014/1284 -f 1864/4016/1286 2203/4547/1646 1865/4017/1287 -f 1867/4019/1289 2010/4638/1704 1868/4020/1290 -f 1873/4025/1295 1955/4113/1374 1874/4026/1296 -f 1876/4028/1298 1956/4453/1588 1873/4025/1295 -f 1877/4029/1299 1964/4125/1384 1878/4030/1300 -f 1880/4032/1302 1968/4131/1388 1881/4033/1303 -f 1883/4035/1305 1919/4073/1339 1921/4075/335 -f 1921/4075/335 1884/4036/1306 1883/4035/1305 -f 1884/4036/1306 2171/4639/1613 1885/4037/1307 -f 1886/4038/1308 1957/4118/1377 1887/4039/1309 -f 1889/4041/1311 1892/4044/1314 1890/4042/1312 -f 1892/4044/1314 1928/4083/1346 1893/4045/1315 -f 2182/4512/1625 2188/4520/1631 2234/4616/335 -f 2188/4520/1631 2190/4527/1633 2228/4581/335 -f 2234/4616/335 2188/4520/1631 2228/4581/335 -f 1896/4048/1316 2178/4506/1621 2245/4615/335 -f 2178/4506/1621 2182/4512/1625 2234/4616/335 -f 2206/4552/1649 2192/4531/1635 1920/4074/335 -f 2192/4531/1635 1896/4048/1316 1895/4047/335 -f 1920/4074/335 2250/4640/1705 2206/4552/1649 -f 1895/4047/335 1920/4074/335 2192/4531/1635 -f 2178/4506/1621 2234/4616/335 2245/4615/335 -f 1896/4048/1316 2245/4615/335 1894/4046/335 -f 1897/4049/1317 1902/4055/1322 1898/4050/1318 -f 1897/4049/1317 1899/4051/1319 1900/4052/1320 -f 1889/4054/1311 1891/4641/1313 1898/4050/1318 -f 1903/4056/1323 1970/4135/1389 1904/4057/1324 -f 1905/4058/1325 1918/4072/1338 1906/4059/1326 -f 1908/4061/1328 1926/4642/1344 1909/4062/1329 -f 1905/4064/1325 1907/4643/1327 1911/4065/1331 -f 1870/4022/1292 1872/4024/1294 1997/4644/1706 -f 1997/4644/1706 2004/4645/1707 2211/4646/1708 -f 2004/4645/1707 2010/4647/1709 2227/4648/1710 -f 1870/4022/1292 1997/4644/1706 2225/4649/1711 -f 2004/4645/1707 2227/4648/1710 2211/4646/1708 -f 2207/4650/1712 2114/4397/1555 2208/4651/1713 -f 2114/4397/1555 1870/4022/1292 2225/4649/1711 -f 2208/4651/1713 2114/4397/1555 2225/4649/1711 -f 2226/4652/1714 2225/4649/1711 1997/4644/1706 -f 2211/4646/1708 2226/4652/1714 1997/4644/1706 -f 2218/4653/1715 2227/4648/1710 2010/4647/1709 -f 2222/4654/1715 2218/4653/1715 2010/4647/1709 -f 2214/4655/1715 2222/4654/1715 2010/4647/1709 -f 2215/4656/1716 2214/4655/1715 2162/4477/1604 -f 2214/4655/1715 2010/4647/1709 2162/4477/1604 -f 2162/4477/1604 2223/4657/1717 2215/4656/1716 -f 2151/4460/1593 2153/4462/1595 1867/4658/1718 -f 2153/4462/1595 2162/4477/1604 2010/4647/1709 -f 2170/4488/1612 2160/4474/1602 1867/4658/1718 -f 2160/4474/1602 2151/4460/1593 1867/4658/1718 -f 2153/4462/1595 2010/4647/1709 1867/4658/1718 -f 1913/4067/1333 2009/4659/1367 1914/4068/1334 -f 2009/4659/1367 2000/4660/1719 1914/4068/1334 -f 2006/4661/1720 2096/4662/1719 2230/4585/1721 -f 2096/4662/1719 2110/4392/1551 2230/4585/1721 -f 2110/4392/1551 2251/4663/1722 2237/4598/1723 -f 2251/4663/1722 2242/4633/336 2237/4598/1723 -f 2110/4392/1551 2237/4598/1723 2246/4617/336 -f 2110/4392/1551 2246/4617/336 2231/4586/1724 -f 2110/4392/1551 2231/4586/1724 2230/4585/1721 -f 2230/4585/1721 2232/4589/1725 2006/4661/1720 -f 2006/4661/1720 2232/4589/1725 2233/4591/1726 -f 2002/4664/1727 2006/4661/1720 2233/4591/1726 -f 2002/4664/1727 2233/4591/1726 2252/4665/1728 -f 2002/4664/1727 2252/4665/1728 2243/4611/1729 -f 2000/4660/1719 2002/4664/1727 2243/4611/1729 -f 2000/4660/1719 2243/4611/1729 2244/4613/1730 -f 2166/4483/1608 2170/4488/1612 1913/4067/1333 -f 2170/4488/1612 1867/4658/1718 1913/4067/1333 -f 2000/4660/1719 2244/4613/1730 1866/4018/1409 -f 2000/4660/1719 1866/4018/1409 1914/4068/1334 -f 1915/4069/1335 2166/4483/1608 1913/4067/1333 -f 1910/4063/1330 1909/4062/1329 1916/4070/1336 -f 1901/4053/1321 1900/4052/1320 1906/4059/1326 -f 1919/4073/1339 2250/4640/1705 1920/4074/335 -f 1925/4079/1343 1927/4082/1345 1926/4080/1344 -f 1912/4066/1332 1911/4065/1331 1927/4082/1345 -f 1928/4083/1346 1857/4666/1279 1856/4084/1278 -f 1930/4086/1348 2253/4667/1731 2123/4414/1564 -f 2123/4414/1564 1931/4087/1349 1930/4086/1348 -f 1931/4087/1349 2117/4401/1558 1929/4085/1347 -f 2117/4401/1558 2224/4668/1732 1929/4085/1347 -f 1932/4088/1350 1938/4094/1356 1933/4089/1351 -f 1860/4012/1282 1859/4011/1281 1935/4091/1353 -f 1937/4093/1355 1942/4098/1360 1938/4094/1356 -f 1939/4095/1357 1946/4103/1365 1940/4096/1358 -f 1937/4093/1355 1941/4097/1359 1940/4096/1358 -f 1943/4099/1361 1879/4376/1542 1878/4100/1362 -f 1945/4102/1364 2147/4455/1589 1946/4103/1365 -f 2197/4537/1640 2203/4547/1646 1864/4016/1286 -f 2197/4537/1640 1864/4016/1286 2195/4535/1638 -f 1864/4016/1286 2249/4669/336 2195/4535/1638 -f 1947/4104/1366 2195/4535/1638 2249/4669/336 -f 2184/4515/1627 2185/4516/1628 2241/4625/1733 -f 2185/4516/1628 1947/4104/1366 1949/4106/1368 -f 2241/4625/1733 2185/4516/1628 1949/4106/1368 -f 2251/4663/1722 2191/4529/1634 2242/4633/336 -f 2191/4529/1634 2184/4515/1627 2241/4625/1733 -f 2241/4625/1733 2242/4633/336 2191/4529/1634 -f 1947/4104/1366 2249/4669/336 1948/4105/1367 -f 1951/4108/1370 2223/4657/1717 2162/4477/1604 -f 2162/4477/1604 1952/4109/1371 1951/4108/1370 -f 1952/4109/1371 2114/4397/1555 1950/4107/1369 -f 2114/4397/1555 2207/4650/1712 1950/4107/1369 -f 1953/4110/1372 2147/4455/1589 1945/4102/1364 -f 1935/4091/1353 1886/4670/1308 1888/4112/1310 -f 1955/4113/1374 1953/4671/1372 1954/4114/1373 -f 1943/4115/1375 1944/4672/1376 1956/4116/1376 -f 1957/4118/1377 1962/4123/1382 1958/4119/1378 -f 1959/4120/1379 2169/4487/1611 1960/4121/1380 -f 1961/4122/1381 1958/4119/1378 1962/4123/1382 -f 1963/4124/1383 1987/4153/1406 1964/4125/1384 -f 1960/4121/1380 2169/4487/1611 1965/4126/1385 -f 1967/4128/1387 1971/4136/1390 1882/4129/1304 -f 1966/4127/1386 1965/4126/1385 1968/4131/1388 -f 1917/4071/1337 1916/4070/1336 1970/4135/1389 -f 1971/4136/1390 1967/4128/1387 1972/4137/1391 -f 1974/4139/1393 2199/4542/1642 1975/4140/1394 -f 1977/4142/1396 2199/4542/1642 1974/4139/1393 -f 1979/4144/1398 1985/4150/1404 1980/4145/1399 -f 2136/4433/1577 2107/4385/1548 2106/4384/1547 -f 2106/4384/1547 2110/4392/1551 2096/4662/1719 -f 2106/4384/1547 2096/4662/1719 1983/4148/1402 -f 2142/4441/1583 2136/4433/1577 1983/4148/1402 -f 2136/4433/1577 2106/4384/1547 1983/4148/1402 -f 1984/4149/1403 1997/4644/1706 2131/4425/1572 -f 1997/4644/1706 1872/4024/1294 1871/4023/1293 -f 2131/4425/1572 1997/4644/1706 1871/4023/1293 -f 2141/4440/1582 2142/4441/1583 1983/4148/1402 -f 1982/4147/1401 2141/4440/1582 1983/4148/1402 -f 1984/4149/1403 2131/4425/1572 2128/4421/1569 -f 2128/4421/1569 1982/4147/1401 1984/4149/1403 -f 1976/4141/1395 1975/4140/1394 1985/4150/1404 -f 1986/4151/1405 2200/4543/1643 1977/4142/1396 -f 1981/4152/1400 1980/4526/1399 1987/4153/1406 -f 1972/4137/1391 2200/4543/1643 1986/4151/1405 -f 1989/4155/1408 1914/4068/1334 1866/4018/1409 -f 1866/4018/1288 1865/4017/1287 2176/4503/1619 -f 2176/4503/1619 1988/4154/1734 1866/4018/1288 -f 1934/4090/1352 1933/4089/1351 1990/4156/1410 -f 1991/4158/1411 2086/4339/1523 1992/4159/1412 -f 1994/4161/1414 2094/4361/1534 1995/4162/1415 -f 1997/4164/1417 1984/4673/1735 1998/4165/1418 -f 2000/4167/1420 2016/4674/1488 2001/4168/1421 -f 1913/4170/1422 1867/4675/1736 1869/4171/1423 -f 2004/4173/1425 1997/4676/1737 1999/4174/1426 -f 2006/4176/1428 2002/4677/1738 2001/4177/1429 -f 1913/4170/1422 2003/4172/1424 2008/4179/1431 -f 2004/4181/1433 2005/4678/1478 1868/4182/1434 -f 2011/4184/1435 1994/4679/1414 1996/4185/1416 -f 2013/4187/1437 2042/4232/1472 2014/4188/1438 -f 2000/4190/1440 2009/4680/1432 2008/4191/1431 -f 1863/4193/1285 2037/4280/1466 2017/4194/1442 -f 2019/4196/1420 2027/4681/1509 2020/4197/1444 -f 2022/4199/1446 2029/4209/1456 2023/4200/1447 -f 2025/4202/1449 2031/4682/1739 2026/4203/1450 -f 2019/4205/1452 2254/4683/1740 2012/4206/1453 -f 2028/4208/1455 2035/4684/1462 2023/4200/1447 -f 2030/4210/1433 2036/4685/1741 2026/4211/1457 -f 2034/4215/1460 2060/4686/1460 2032/4213/1458 -f 2060/4686/1460 2088/4687/1525 2091/4688/1529 -f 2032/4213/1458 2060/4686/1460 2091/4688/1529 -f 2028/4216/1455 2021/4689/1742 2020/4217/1461 -f 2030/4219/1463 2022/4690/1743 2024/4220/1464 -f 2037/4222/1466 2063/4282/1496 2038/4223/1467 -f 2015/4225/1439 2014/4234/1438 1998/4226/1418 -f 1998/4165/1418 1984/4673/1735 2039/4230/1468 -f 1984/4673/1735 1983/4228/1469 2039/4230/1468 -f 2041/4231/1471 2043/4236/1473 2014/4188/1438 -f 2043/4233/1473 1999/4691/1419 1998/4226/1418 -f 2041/4231/1471 2046/4241/1476 2044/4235/1474 -f 2043/4237/1473 2044/4692/1474 2005/4238/1427 -f 2045/4240/1475 2047/4246/1477 2044/4235/1474 -f 2047/4242/1477 1868/4693/1434 2005/4243/1478 -f 2048/4245/1479 2049/4251/1480 2047/4246/1477 -f 2049/4247/1480 1869/4694/1291 1868/4248/1290 -f 2048/4245/1479 2051/4255/1482 2050/4250/1481 -f 2049/4252/1480 2050/4257/1481 2003/4253/1424 -f 2051/4255/1482 2054/4260/1485 2052/4256/1483 -f 2050/4257/1481 2052/4695/1483 2008/4258/1431 -f 2053/4259/1484 2055/4265/1486 2052/4256/1483 -f 2055/4261/1486 2016/4696/1441 2008/4262/1431 -f 2053/4259/1484 2057/4269/1489 2056/4264/1487 -f 2055/4266/1486 2056/4697/1487 2001/4267/1421 -f 1991/4158/1411 1993/4160/1413 2056/4264/1487 -f 1993/4270/1413 2007/4698/1430 2001/4271/1429 -f 2051/4255/1482 2048/4245/1479 2045/4240/1475 -f 2046/4241/1476 2041/4231/1471 2042/4232/1472 -f 2051/4255/1482 2045/4240/1475 2046/4241/1476 -f 2057/4269/1489 2053/4259/1484 2054/4260/1485 -f 2054/4260/1485 2051/4255/1482 2042/4232/1472 -f 2051/4255/1482 2046/4241/1476 2042/4232/1472 -f 2086/4339/1523 1991/4158/1411 2057/4269/1489 -f 2057/4269/1489 2054/4260/1485 2042/4232/1472 -f 2013/4187/1437 2086/4339/1523 2057/4269/1489 -f 2087/4699/1744 2096/4700/1745 2058/4275/1492 -f 2096/4700/1745 2006/4273/1490 2058/4275/1492 -f 2060/4278/1469 1861/4013/1283 2018/4276/1443 -f 1861/4013/1283 1863/4015/1285 2018/4276/1443 -f 1863/4193/1285 1862/4701/1284 2061/4279/1494 -f 2037/4222/1466 2061/4287/1494 2062/4281/1495 -f 2026/4283/1450 2064/4702/1497 2061/4284/1494 -f 2064/4286/1497 2067/4292/1500 2062/4281/1495 -f 2026/4288/1457 2036/4703/1741 2065/4289/1498 -f 2064/4286/1497 2065/4296/1498 2066/4291/1499 -f 2036/4293/1465 2024/4704/1464 2068/4294/1501 -f 2065/4296/1498 2068/4302/1501 2069/4297/1502 -f 2023/4298/1447 2070/4304/1503 2068/4299/1501 -f 2070/4301/1503 2072/4306/1505 2069/4297/1502 -f 2035/4303/1462 2071/4705/1504 2070/4304/1503 -f 2071/4305/1504 2075/4311/1508 2072/4306/1505 -f 2035/4307/1462 2020/4706/1461 2073/4308/1506 -f 2071/4305/1504 2073/4316/1506 2074/4310/1507 -f 2027/4312/1509 2076/4707/1510 2073/4313/1506 -f 2076/4315/1510 2077/4320/1511 2074/4310/1507 -f 2027/4317/1454 2012/4708/1453 1996/4318/1416 -f 2076/4315/1510 1996/4163/1416 1995/4162/1415 -f 2011/4323/1435 2012/4709/1436 2254/4710/1746 -f 2254/4710/1746 2034/4321/1512 2011/4323/1435 -f 2063/4282/1496 2062/4281/1495 2067/4292/1500 -f 2067/4292/1500 2066/4291/1499 2072/4306/1505 -f 2066/4291/1499 2069/4297/1502 2072/4306/1505 -f 2063/4282/1496 2067/4292/1500 2072/4306/1505 -f 2075/4311/1508 2074/4310/1507 2077/4320/1511 -f 2063/4282/1496 2072/4306/1505 2075/4311/1508 -f 1995/4162/1415 2094/4361/1534 2077/4320/1511 -f 2094/4361/1534 2038/4223/1467 2077/4320/1511 -f 2063/4282/1496 2075/4311/1508 2077/4320/1511 -f 1993/4324/1413 1992/4344/1412 2058/4325/1492 -f 2079/4327/1514 2095/4363/1535 2080/4328/1515 -f 2081/4330/1516 2080/4362/1515 2013/4187/1437 -f 2079/4327/1514 2081/4329/1516 2040/4331/1517 -f 2081/4333/1516 2015/4225/1439 2039/4227/1468 -f 2082/4335/1519 2085/4342/1522 2083/4336/1520 -f 2085/4338/1522 1992/4159/1412 2086/4339/1523 -f 2082/4335/1519 2096/4711/1747 2087/4341/1524 -f 2085/4343/1522 2087/4712/1744 2058/4325/1492 -f 2088/4345/1525 2060/4713/1748 2059/4346/1526 -f 2089/4348/1527 2059/4714/1493 2018/4195/1443 -f 2088/4345/1525 2089/4347/1527 2090/4349/1528 -f 2089/4351/1527 2017/4224/1442 2038/4223/1467 -f 2033/4353/1459 2092/4359/1532 2078/4354/1530 -f 2092/4356/1532 1994/4679/1414 2011/4184/1435 -f 2033/4353/1459 2032/4715/1458 2093/4358/1533 -f 2092/4360/1532 2093/4716/1533 2094/4361/1534 -f 2086/4339/1523 2013/4187/1437 2080/4362/1515 -f 2083/4336/1520 2080/4328/1515 2095/4363/1535 -f 2094/4361/1534 2093/4716/1533 2090/4352/1528 -f 2093/4358/1533 2032/4715/1458 2091/4350/1529 -f 2084/4366/1521 2095/4717/1535 2096/4364/1536 -f 2095/4717/1535 2079/4718/1514 1983/4719/1536 -f 2096/4364/1536 2095/4717/1535 1983/4719/1536 -f 2097/4367/1537 2100/4374/1540 2098/4368/1538 -f 2100/4370/1540 1943/4720/1375 1876/4371/1375 -f 2101/4373/1541 2103/4378/1544 2100/4374/1540 -f 2100/4375/1540 2103/4721/1544 1879/4376/1542 -f 2101/4373/1541 2190/4527/1633 2102/4377/1543 -f 2103/4379/1544 2102/4528/1543 1877/4029/1299 -f 1956/4380/1376 1944/4722/1376 2104/4381/1545 -f 2105/4383/1546 2104/4389/1545 2106/4384/1547 -f 1944/4101/1363 1878/4100/1362 2108/4386/1549 -f 2108/4388/1549 2110/4392/1551 2106/4384/1547 -f 1964/4125/1384 2109/4723/1550 2108/4390/1549 -f 2109/4391/1550 2251/4663/1722 2110/4392/1551 -f 1931/4087/1349 2123/4414/1564 2111/4393/1552 -f 2112/4395/1553 2111/4415/1552 1934/4090/1352 -f 1952/4109/1371 2115/4405/1556 2113/4396/1554 -f 2115/4398/1556 1990/4156/1410 1933/4089/1351 -f 1931/4087/1349 2112/4394/1553 2116/4400/1557 -f 2112/4402/1553 1858/4010/1280 1860/4012/1282 -f 1952/4109/1371 2162/4477/1604 2118/4404/1559 -f 2115/4406/1556 2118/4478/1559 1859/4011/1281 -f 1932/4088/1350 2120/4724/1561 2119/4408/1560 -f 2120/4409/1561 1923/4077/1341 1922/4076/1340 -f 1938/4094/1356 1942/4098/1360 2121/4411/1562 -f 2122/4413/1563 2121/4426/1562 1871/4023/1293 -f 2123/4414/1564 1923/4077/1341 2120/4409/1561 -f 2111/4415/1552 2120/4724/1561 1932/4088/1350 -f 2114/4397/1555 2113/4396/1554 2122/4413/1563 -f 2113/4399/1554 1933/4089/1351 1938/4094/1356 -f 2124/4416/1565 2127/4725/1568 2125/4417/1566 -f 2127/4419/1568 1939/4095/1357 1941/4097/1359 -f 2128/4421/1569 2131/4425/1572 2129/4422/1570 -f 2130/4424/1571 2129/4427/1570 1940/4096/1358 -f 2126/4418/1567 2125/4417/1566 2119/4410/1560 -f 2125/4420/1566 1941/4097/1359 1937/4093/1355 -f 2131/4425/1572 1871/4023/1293 2121/4426/1562 -f 2129/4427/1570 2121/4411/1562 1942/4098/1360 -f 2132/4428/1573 2135/4451/1576 2133/4429/1574 -f 2135/4431/1576 1875/4027/1297 1874/4026/1296 -f 2136/4433/1577 2142/4441/1583 2137/4434/1578 -f 2138/4436/1579 2137/4443/1578 1955/4113/1374 -f 2134/4430/1575 2133/4429/1574 2139/4437/1580 -f 2133/4432/1574 1874/4026/1296 1954/4114/1373 -f 2141/4440/1582 2143/4447/1584 2137/4434/1578 -f 2143/4442/1584 1953/4671/1372 1955/4113/1374 -f 2144/4444/1585 2140/4438/1581 2139/4437/1580 -f 2145/4446/1586 2139/4726/1580 1954/4111/1373 -f 1982/4147/1401 2146/4454/1587 2143/4447/1584 -f 2146/4448/1587 2147/4455/1589 1953/4110/1372 -f 1875/4027/1297 2135/4431/1576 2098/4450/1538 -f 2135/4451/1576 2132/4428/1573 2099/4369/1539 -f 1945/4102/1364 1939/4095/1357 2127/4419/1568 -f 2145/4445/1586 2127/4725/1568 2124/4416/1565 -f 2107/4385/1548 2136/4433/1577 2138/4435/1579 -f 2105/4452/1546 2138/4436/1579 1873/4025/1295 -f 2128/4421/1569 2130/4423/1571 2146/4454/1587 -f 2130/4424/1571 1946/4103/1365 2147/4455/1589 -f 2148/4456/1590 2255/4727/1749 2149/4457/1591 -f 2150/4459/1592 2149/4728/1591 1936/4092/1354 -f 2151/4460/1593 2154/4469/1596 2152/4461/1594 -f 2154/4463/1596 1886/4670/1308 1935/4091/1353 -f 2155/4465/1597 2148/4456/1590 2150/4458/1592 -f 2156/4467/1598 2150/4729/1592 1888/4040/1310 -f 2151/4460/1593 2160/4474/1602 2157/4468/1599 -f 2154/4470/1596 2157/4476/1599 1957/4118/1377 -f 2155/4465/1597 2156/4466/1598 2158/4471/1600 -f 2156/4467/1598 1887/4039/1309 1958/4119/1378 -f 2160/4474/1602 2170/4488/1612 2161/4475/1603 -f 2157/4476/1599 2161/4489/1603 1962/4123/1382 -f 1936/4092/1354 2149/4728/1591 2116/4403/1557 -f 2149/4457/1591 2255/4727/1749 2117/4401/1558 -f 2162/4477/1604 2153/4462/1595 2152/4461/1594 -f 2118/4478/1559 2152/4464/1594 1935/4091/1353 -f 2163/4479/1605 2256/4730/1750 2164/4480/1606 -f 2165/4482/1607 2164/4731/1606 1961/4122/1381 -f 2166/4483/1608 1915/4069/1335 2167/4484/1609 -f 2168/4486/1610 2167/4497/1609 2169/4487/1611 -f 1961/4122/1381 2164/4731/1606 2158/4473/1600 -f 2164/4480/1606 2256/4730/1750 2159/4472/1601 -f 2170/4488/1612 2166/4483/1608 2168/4485/1610 -f 2161/4489/1603 2168/4486/1610 1959/4120/1379 -f 1966/4127/1386 1880/4032/1302 2171/4490/1613 -f 2172/4492/1614 2171/4639/1613 1884/4036/1306 -f 1965/4126/1385 2173/4496/1616 1989/4494/1408 -f 1969/4493/1615 2163/4479/1605 2165/4481/1607 -f 2172/4491/1614 2165/4482/1607 1960/4121/1380 -f 1914/4068/1334 2173/4495/1616 2167/4484/1609 -f 2173/4496/1616 1965/4126/1385 2169/4487/1611 -f 1882/4129/1304 1971/4136/1390 2174/4498/1617 -f 1881/4130/1303 1988/4732/1407 2175/4501/1618 -f 2171/4490/1613 1880/4032/1302 1882/4034/1304 -f 1989/4494/1408 1988/4733/1407 1881/4033/1303 -f 1896/4048/1316 2179/4540/1622 2177/4505/1620 -f 2179/4507/1622 1976/4141/1395 1979/4144/1398 -f 1947/4104/1366 2185/4516/1628 2180/4509/1623 -f 2181/4511/1624 2180/4518/1623 1985/4150/1404 -f 2182/4512/1625 2178/4506/1621 2177/4505/1620 -f 2183/4514/1626 2177/4508/1620 1979/4144/1398 -f 2184/4515/1627 2186/4524/1629 2180/4509/1623 -f 2186/4517/1629 1980/4145/1399 1985/4150/1404 -f 2182/4512/1625 2183/4513/1626 2187/4519/1630 -f 2183/4521/1626 1981/4152/1400 1963/4124/1383 -f 2184/4515/1627 2191/4529/1634 2189/4523/1632 -f 2186/4525/1629 2189/4530/1632 1987/4153/1406 -f 2188/4520/1631 2187/4519/1630 2102/4377/1543 -f 2187/4522/1630 1963/4124/1383 1877/4029/1299 -f 2191/4529/1634 2251/4663/1722 2109/4391/1550 -f 2189/4530/1632 2109/4723/1550 1964/4125/1384 -f 2192/4531/1635 2206/4552/1649 2193/4532/1636 -f 2194/4534/1637 2193/4553/1636 1978/4143/1397 -f 2195/4535/1638 2198/4541/1641 2196/4536/1639 -f 2198/4538/1641 2199/4542/1642 1977/4142/1396 -f 2192/4531/1635 2194/4533/1637 2179/4540/1622 -f 2194/4534/1637 1974/4139/1393 1976/4141/1395 -f 2195/4535/1638 1947/4104/1366 2181/4510/1624 -f 2198/4538/1641 2181/4511/1624 1975/4140/1394 -f 2200/4543/1643 1972/4137/1391 2201/4544/1644 -f 2202/4546/1645 2201/4551/1644 1865/4017/1287 -f 1986/4151/1405 2205/4734/1648 2204/4548/1647 -f 2205/4549/1648 2250/4640/1705 1919/4073/1339 -f 2200/4543/1643 2202/4545/1645 2196/4539/1639 -f 2202/4546/1645 2203/4547/1646 2197/4537/1640 -f 1883/4035/1305 2174/4500/1617 2204/4550/1647 -f 2174/4498/1617 1971/4136/1390 1973/4138/1392 -f 2176/4503/1619 1865/4017/1287 2201/4551/1644 -f 2175/4501/1618 2201/4544/1644 1972/4137/1391 -f 2206/4552/1649 2250/4640/1705 2205/4549/1648 -f 2193/4553/1636 2205/4734/1648 1986/4151/1405 -f 2126/4418/1567 1922/4076/1340 2025/4735/1751 -f 1922/4076/1340 1924/4078/1342 2025/4735/1751 -f 2025/4735/1751 1861/4736/335 2126/4418/1567 -f 2060/4554/335 2034/4737/335 2097/4367/1537 -f 2034/4737/335 2101/4373/1541 2097/4367/1537 -f 2124/4416/1565 2126/4418/1567 1861/4736/335 -f 2124/4416/1565 1861/4736/335 2144/4444/1585 -f 1861/4736/335 2060/4554/335 2144/4444/1585 -f 2060/4554/335 2097/4367/1537 2132/4428/1573 -f 2097/4367/1537 2099/4369/1539 2132/4428/1573 -f 2140/4438/1581 2144/4444/1585 2060/4554/335 -f 2060/4554/335 2132/4428/1573 2134/4430/1575 -f 2209/4557/1652 2253/4738/1752 2207/4555/1650 -f 2253/4738/1752 1930/4572/1667 1950/4739/1753 -f 2207/4555/1650 2253/4738/1752 1950/4739/1753 -f 2210/4558/1653 2226/4577/1672 2211/4559/1654 -f 2213/4561/1656 2221/4569/1664 2214/4562/1657 -f 2208/4556/1651 2225/4740/1671 2216/4564/1659 -f 2217/4565/1660 2227/4741/1673 2218/4566/1661 -f 2220/4568/1663 2222/4742/1665 2214/4562/1657 -f 2222/4570/1665 2220/4743/1663 2219/4567/1662 -f 1951/4571/1666 1950/4739/1753 1930/4572/1667 -f 2223/4574/1669 1951/4744/1666 1929/4745/1668 -f 1929/4745/1668 2224/4575/1670 2223/4574/1669 -f 2224/4575/1670 2213/4561/1656 2215/4563/1658 -f 2210/4558/1653 2216/4746/1659 2225/4576/1671 -f 2212/4560/1655 2211/4559/1654 2227/4578/1673 -f 1928/4580/1346 1892/4747/1314 2228/4581/1674 -f 2229/4582/1675 2239/4603/1687 1857/4583/1279 -f 1904/4584/1324 1970/4610/1389 2230/4585/1676 -f 1905/4587/1325 1921/4075/1754 1920/4074/1678 -f 2232/4589/1679 1916/4609/1336 1909/4590/1329 -f 1892/4044/1314 1889/4041/1311 2234/4592/1681 -f 2235/4594/1682 1917/4748/1337 1903/4595/1323 -f 1856/4597/1278 2246/4617/1694 2237/4598/1684 -f 1864/4016/1685 1866/4018/1755 1907/4600/1327 -f 2238/4602/1686 1855/4634/1277 1857/4583/1279 -f 1910/4604/1330 1917/4748/1337 2235/4594/1682 -f 2240/4605/1688 2257/4749/1756 1908/4606/1328 -f 2241/4607/1689 1891/4043/1313 1890/4042/1312 -f 1916/4609/1336 2232/4589/1679 2230/4585/1676 -f 2243/4611/1691 1927/4635/1345 1911/4612/1331 -f 1889/4614/1311 1902/4750/1322 2245/4615/1693 -f 1856/4597/1278 1904/4584/1324 2231/4586/1677 -f 1926/4618/1344 2252/4665/1757 2233/4591/1680 -f 1907/4600/1327 1866/4018/1755 2244/4613/1692 -f 1902/4055/1322 1897/4049/1317 1894/4619/1695 -f 1925/4621/1343 2248/4628/1699 2247/4622/1696 -f 1949/4106/1697 1898/4751/1318 1891/4624/1313 -f 2247/4622/1696 1921/4075/1754 1905/4587/1325 -f 1895/4626/1698 1894/4619/1695 1897/4049/1317 -f 1901/4053/1321 1918/4072/1338 1920/4627/1678 -f 1908/4606/1328 2257/4749/1756 2248/4628/1699 -f 1948/4629/1700 1899/4051/1319 1898/4050/1318 -f 1899/4051/1319 1948/4629/1700 2249/4631/1701 -f 1864/4632/1685 1906/4059/1326 1900/4052/1320 -f 2242/4633/1690 1890/4752/1312 1893/4599/1315 -f 2236/4596/1683 1903/4595/1323 1855/4634/1277 -f 2243/4611/1691 2252/4665/1757 1926/4618/1344 -f 2229/4582/335 2228/4581/335 2190/4527/1633 -f 2101/4373/1541 2034/4737/335 2236/4596/1758 -f 2034/4737/335 2254/4753/1759 2236/4596/1758 -f 2021/4754/1760 2028/4755/335 1969/4493/1615 -f 2028/4755/335 2029/4636/1702 1969/4493/1615 -f 2229/4582/335 2190/4527/1633 2101/4373/1541 -f 2239/4603/335 2229/4582/335 2101/4373/1541 -f 2238/4602/1761 2239/4603/335 2101/4373/1541 -f 2236/4596/1758 2238/4602/1761 2101/4373/1541 -f 2235/4594/1762 2236/4596/1758 2254/4753/1759 -f 2030/4756/1763 2031/4757/1764 2217/4758/1765 -f 2031/4757/1764 2025/4735/1751 2212/4759/1766 -f 2217/4758/1765 2031/4757/1764 2212/4759/1766 -f 2025/4735/1751 1924/4078/1342 1923/4077/1341 -f 1923/4077/1341 2123/4414/1564 2216/4760/1767 -f 2123/4414/1564 2253/4667/1731 2209/4761/1768 -f 2123/4414/1564 2209/4761/1768 2216/4760/1767 -f 2025/4735/1751 1923/4077/1341 2216/4760/1767 -f 2216/4760/1767 2210/4762/1769 2025/4735/1751 -f 2210/4762/1769 2212/4759/1766 2025/4735/1751 -f 2030/4756/1763 2217/4758/1765 2219/4763/1770 -f 2030/4756/1763 2219/4763/1770 2220/4764/1771 -f 2030/4756/1763 2220/4764/1771 2221/4765/1771 -f 2022/4766/1772 2030/4756/1763 2255/4727/1749 -f 2030/4756/1763 2221/4765/1771 2117/4401/1558 -f 2213/4767/1773 2224/4668/1732 2117/4401/1558 -f 2030/4756/1763 2117/4401/1558 2255/4727/1749 -f 2221/4765/1771 2213/4767/1773 2117/4401/1558 -f 2235/4594/1762 2254/4753/1759 2240/4605/1774 -f 2254/4753/1759 2019/4768/1775 2240/4605/1774 -f 2257/4749/1776 2240/4605/1774 2019/4768/1775 -f 2248/4628/1777 2257/4749/1776 2019/4768/1775 -f 2248/4628/1777 2019/4768/1775 2021/4754/1760 -f 2247/4622/335 2248/4628/1777 2021/4754/1760 -f 2255/4727/1749 2148/4456/1590 2022/4766/1772 -f 2148/4456/1590 2155/4465/1597 2022/4766/1772 -f 2155/4465/1597 2159/4472/1601 2022/4766/1772 -f 2159/4472/1601 2256/4730/1750 2029/4636/1702 -f 2022/4766/1772 2159/4472/1601 2029/4636/1702 -f 1921/4075/335 2247/4622/335 2021/4754/1760 -f 1969/4493/1615 1921/4075/335 2021/4754/1760 -f 2029/4636/1702 2256/4730/1750 2163/4479/1605 -f 2258/4769/1778 2259/4770/1779 2260/4771/1780 -f 2261/4772/1781 2262/4773/1782 2263/4774/1783 -f 2264/4775/1784 2265/4776/1785 2266/4777/1786 -f 2265/4778/1785 2267/4779/1787 2266/4780/1786 -f 2268/4781/1788 2269/4782/1789 2270/4783/1790 -f 2271/4784/1791 2272/4785/1792 2264/4786/1793 -f 2273/4787/1794 2274/4788/1795 2275/4789/1796 -f 2276/4790/1797 2277/4791/1798 2278/4792/1799 -f 2279/4793/1800 2276/4790/1797 2278/4792/1799 -f 2280/4794/1801 2281/4795/1802 2282/4796/1803 -f 2283/4797/1804 2282/4796/1803 2284/4798/1805 -f 2269/4782/1789 2285/4799/1806 2270/4783/1790 -f 2286/4800/1807 2284/4798/1805 2277/4791/1798 -f 2281/4795/1802 2287/4801/1808 2268/4802/1809 -f 2288/4803/1810 2289/4804/1811 2285/4799/1806 -f 2290/4805/1812 2291/4806/1813 2289/4804/1811 -f 2291/4806/1813 2292/4807/1814 2293/4808/1815 -f 2294/4809/1816 2295/4810/1817 2279/4793/1800 -f 2260/4811/1818 2296/4812/1819 2297/4813/1818 -f 2297/4814/1809 2298/4815/1820 2271/4784/1791 -f 2299/4816/1821 2258/4769/1778 2300/4817/1822 -f 2301/4818/1823 2302/4819/1824 2303/4820/1825 -f 2304/4821/1826 2300/4817/1822 2262/4773/1782 -f 2275/4789/1796 2294/4809/1816 2273/4787/1794 -f 2303/4820/1825 2305/4822/1827 2301/4818/1823 -f 2306/4823/1828 2293/4808/1815 2292/4807/1814 -f 2307/4824/1829 2308/4825/1830 2309/4826/1831 -f 2306/4827/1828 2310/4828/1832 2311/4829/1833 -f 2309/4826/1831 2312/4830/1834 2307/4824/1829 -f 2308/4825/1830 2261/4772/1781 2263/4774/1783 -f 2297/4813/1818 2313/4831/1835 2260/4811/1818 -f 2314/4832/1835 2315/4833/1836 2313/4831/1835 -f 2315/4834/1836 2316/4835/1837 2317/4836/1838 -f 2316/4835/1837 2318/4837/1839 2317/4836/1838 -f 2319/4838/1840 2320/4839/1841 2321/4840/1842 -f 2320/4839/1841 2322/4841/1843 2321/4840/1842 -f 2323/4842/1844 2324/4843/1845 2322/4844/1843 -f 2325/4845/1846 2264/4786/1793 2324/4843/1845 -f 2326/4846/1847 2320/4839/1841 2319/4838/1840 -f 2316/4835/1837 2323/4847/1844 2320/4839/1841 -f 2327/4848/1848 2325/4845/1846 2323/4842/1844 -f 2314/4849/1849 2271/4784/1791 2325/4845/1846 -f 2328/4850/1850 2329/4851/1851 2330/4852/1852 -f 2331/4853/1853 2332/4854/1854 2329/4851/1851 -f 2333/4855/1854 2334/4856/1855 2332/4857/1854 -f 2335/4858/1855 2259/4859/1819 2334/4856/1855 -f 2272/4785/1792 2336/4860/1856 2337/4861/1857 -f 2337/4861/1857 2338/4862/1858 2339/4863/1859 -f 2298/4815/1820 2335/4864/1860 2336/4860/1856 -f 2336/4860/1856 2333/4865/1861 2338/4862/1858 -f 2338/4866/1858 2331/4853/1853 2340/4867/1862 -f 2340/4867/1862 2328/4850/1850 2341/4868/1863 -f 2321/4840/1842 2342/4869/1864 2343/4870/1865 -f 2342/4871/1864 2344/4872/1866 2343/4873/1865 -f 2345/4874/1867 2279/4793/1800 2344/4872/1866 -f 2346/4875/1868 2347/4876/1869 2348/4877/1870 -f 2348/4877/1870 2295/4810/1817 2349/4878/1871 -f 2321/4840/1842 2322/4841/1843 2350/4879/1872 -f 2350/4880/1872 2324/4881/1873 2351/4882/1874 -f 2351/4882/1874 2264/4775/1784 2266/4777/1786 -f 2352/4883/1875 2337/4884/1876 2339/4885/1859 -f 2353/4886/1877 2272/4887/1878 2337/4884/1876 -f 2354/4888/1879 2355/4889/1880 2356/4890/1881 -f 2356/4890/1881 2357/4891/1882 2358/4892/1883 -f 2358/4893/1883 2359/4894/1884 2360/4895/1885 -f 2360/4895/1885 2278/4792/1799 2277/4791/1798 -f 2361/4896/1886 2362/4897/1887 2363/4898/1888 -f 2364/4899/1889 2365/4900/1890 2362/4897/1887 -f 2366/4901/1891 2367/4902/1892 2365/4903/1890 -f 2368/4904/1893 2276/4790/1797 2367/4902/1892 -f 2354/4888/1879 2369/4905/1894 2370/4906/1895 -f 2356/4890/1881 2371/4907/1896 2369/4905/1894 -f 2358/4893/1883 2372/4908/1897 2371/4909/1896 -f 2360/4895/1885 2284/4798/1805 2372/4908/1897 -f 2361/4896/1886 2373/4910/1898 2364/4899/1889 -f 2364/4899/1889 2374/4911/1899 2366/4912/1891 -f 2366/4901/1891 2375/4913/1900 2368/4904/1893 -f 2368/4904/1893 2283/4797/1804 2286/4800/1807 -f 2376/4914/1901 2369/4905/1894 2377/4915/1902 -f 2377/4915/1902 2371/4907/1896 2378/4916/1903 -f 2378/4917/1903 2372/4908/1897 2379/4918/1904 -f 2379/4918/1904 2284/4798/1805 2282/4796/1803 -f 2380/4919/1905 2373/4910/1898 2381/4920/1906 -f 2382/4921/1907 2374/4911/1899 2373/4910/1898 -f 2383/4922/1908 2375/4913/1900 2374/4923/1899 -f 2384/4924/1909 2283/4797/1804 2375/4913/1900 -f 2376/4914/1901 2385/4925/1910 2386/4926/1911 -f 2377/4915/1902 2387/4927/1912 2385/4925/1910 -f 2378/4917/1903 2388/4928/1913 2387/4929/1912 -f 2379/4918/1904 2281/4795/1802 2388/4928/1913 -f 2380/4919/1905 2389/4930/1914 2382/4921/1907 -f 2382/4921/1907 2390/4931/1915 2383/4932/1908 -f 2383/4922/1908 2391/4933/1916 2384/4924/1909 -f 2384/4924/1909 2392/4934/1917 2280/4794/1801 -f 2279/4793/1800 2359/4894/1884 2344/4872/1866 -f 2344/4872/1866 2357/4935/1882 2343/4873/1865 -f 2343/4870/1865 2355/4889/1880 2321/4840/1842 -f 2281/4795/1802 2393/4936/1849 2388/4928/1913 -f 2388/4928/1913 2394/4937/1918 2387/4929/1912 -f 2387/4927/1912 2395/4938/1919 2385/4925/1910 -f 2385/4925/1910 2396/4939/1920 2386/4926/1911 -f 2397/4940/1921 2389/4930/1914 2398/4941/1922 -f 2399/4942/1923 2390/4931/1915 2389/4930/1914 -f 2400/4943/1924 2391/4933/1916 2390/4944/1915 -f 2401/4945/1860 2392/4934/1917 2391/4933/1916 -f 2362/4897/1887 2402/4946/1925 2403/4947/1926 -f 2365/4903/1890 2347/4876/1869 2402/4948/1925 -f 2367/4902/1892 2295/4810/1817 2347/4876/1869 -f 2404/4949/1927 2405/4950/1928 2406/4951/1929 -f 2407/4952/1930 2408/4953/1931 2405/4950/1928 -f 2409/4954/1932 2410/4955/1933 2408/4956/1931 -f 2411/4957/1934 2285/4799/1806 2410/4955/1933 -f 2412/4958/1935 2413/4959/1936 2414/4960/1937 -f 2414/4960/1937 2415/4961/1938 2416/4962/1939 -f 2416/4963/1939 2417/4964/1940 2418/4965/1941 -f 2418/4965/1941 2288/4803/1810 2269/4782/1789 -f 2406/4951/1929 2419/4966/1942 2420/4967/1943 -f 2405/4950/1928 2421/4968/1944 2419/4966/1942 -f 2421/4969/1944 2410/4955/1933 2422/4970/1945 -f 2410/4955/1933 2289/4804/1811 2422/4970/1945 -f 2423/4971/1946 2424/4972/1947 2413/4959/1936 -f 2424/4972/1947 2415/4961/1938 2413/4959/1936 -f 2415/4973/1938 2425/4974/1948 2417/4964/1940 -f 2425/4974/1948 2288/4803/1810 2417/4964/1940 -f 2270/4783/1790 2393/4975/1949 2268/4781/1788 -f 2411/4957/1934 2394/4976/1918 2393/4975/1949 -f 2409/4977/1932 2395/4978/1919 2394/4979/1918 -f 2407/4952/1930 2396/4980/1920 2395/4978/1919 -f 2397/4981/1921 2414/4960/1937 2399/4982/1923 -f 2399/4982/1923 2416/4962/1939 2400/4983/1924 -f 2400/4984/1924 2418/4965/1941 2401/4985/1950 -f 2401/4985/1950 2269/4782/1789 2287/4986/1951 -f 2426/4987/1952 2427/4988/1953 2428/4989/1954 -f 2429/4990/1955 2430/4991/1956 2427/4988/1953 -f 2431/4992/1957 2432/4993/1958 2430/4994/1956 -f 2433/4995/1959 2262/4773/1782 2432/4993/1958 -f 2434/4996/1960 2435/4997/1961 2436/4998/1962 -f 2436/4998/1962 2437/4999/1963 2438/5000/1964 -f 2438/5001/1964 2439/5002/1965 2440/5003/1966 -f 2440/5003/1966 2304/4821/1826 2261/4772/1781 -f 2428/4989/1954 2441/5004/1967 2442/5005/1968 -f 2427/4988/1953 2443/5006/1969 2441/5004/1967 -f 2443/5007/1969 2432/4993/1958 2444/5008/1970 -f 2432/4993/1958 2300/4817/1822 2444/5008/1970 -f 2445/5009/1971 2446/5010/1972 2435/4997/1961 -f 2435/4997/1961 2447/5011/1973 2437/4999/1963 -f 2437/5012/1963 2448/5013/1974 2439/5002/1965 -f 2448/5013/1974 2304/4821/1826 2439/5002/1965 -f 2449/5014/1975 2441/5004/1967 2450/5015/1976 -f 2450/5015/1976 2443/5006/1969 2451/5016/1977 -f 2451/5017/1977 2444/5008/1970 2452/5018/1978 -f 2452/5018/1978 2300/4817/1822 2258/4769/1778 -f 2453/5019/1979 2446/5010/1972 2454/5020/1980 -f 2455/5021/1981 2447/5011/1973 2446/5010/1972 -f 2456/5022/1982 2448/5013/1974 2447/5023/1973 -f 2457/5024/1983 2299/4816/1821 2448/5013/1974 -f 2263/4774/1783 2458/5025/1984 2308/4825/1830 -f 2433/4995/1959 2459/5026/1985 2458/5025/1984 -f 2431/5027/1957 2460/5028/1986 2459/5029/1985 -f 2429/4990/1955 2461/5030/1987 2460/5028/1986 -f 2258/4769/1778 2313/5031/1988 2452/5018/1978 -f 2452/5018/1978 2315/5032/1989 2451/5017/1977 -f 2451/5016/1977 2317/4836/1838 2450/5015/1976 -f 2450/5015/1976 2318/4837/1839 2449/5014/1975 -f 2330/4852/1852 2455/5021/1981 2453/5019/1979 -f 2329/4851/1851 2456/5033/1982 2455/5021/1981 -f 2332/5034/1990 2457/5024/1983 2456/5022/1982 -f 2334/5035/1991 2462/5036/1992 2457/5024/1983 -f 2463/5037/1993 2434/4996/1960 2436/4998/1962 -f 2463/5037/1993 2438/5000/1964 2464/5038/1994 -f 2464/5039/1994 2440/5003/1966 2465/5040/1995 -f 2465/5040/1995 2261/4772/1781 2466/5041/1996 -f 2467/5042/1997 2468/5043/1998 2469/5044/1999 -f 2468/5045/1998 2302/4819/1824 2469/5046/1999 -f 2470/5047/2000 2471/5048/2001 2472/5049/2002 -f 2472/5049/2002 2267/4779/1787 2301/4818/1823 -f 2467/5042/1997 2473/5050/2003 2474/5051/2004 -f 2473/5052/2003 2274/4788/1795 2474/5053/2004 -f 2470/5054/2000 2475/5055/2005 2476/5056/2006 -f 2476/5056/2006 2305/5057/1827 2273/4787/1794 -f 2266/4780/1786 2471/5048/2001 2351/5058/1874 -f 2351/5058/1874 2470/5047/2000 2350/5059/1872 -f 2350/4879/1872 2470/5060/2000 2321/4840/1842 -f 2305/4822/1827 2472/5049/2002 2301/4818/1823 -f 2472/5049/2002 2475/5061/2005 2470/5047/2000 -f 2406/5062/1929 2420/5063/1943 2428/4989/1954 -f 2294/4809/1816 2476/5056/2006 2273/4787/1794 -f 2345/4874/1867 2470/5054/2000 2476/5056/2006 -f 2467/5064/1997 2353/5065/1877 2352/5066/1875 -f 2469/5046/1999 2265/4778/1785 2353/5065/1877 -f 2467/5042/1997 2474/5051/2004 2468/5043/1998 -f 2468/5045/1998 2274/5067/1795 2303/4820/1825 -f 2467/5068/1997 2348/4877/1870 2473/5052/2003 -f 2473/5052/2003 2349/4878/1871 2275/4789/1796 -f 2461/5069/1987 2419/4966/1942 2477/5070/2007 -f 2477/5070/2007 2421/4968/1944 2478/5071/2008 -f 2478/5072/2008 2422/4970/1945 2479/5073/2009 -f 2479/5073/2009 2289/4804/1811 2291/4806/1813 -f 2480/5074/2010 2424/4972/1947 2481/5075/2011 -f 2482/5076/2012 2483/5077/2013 2424/4972/1947 -f 2484/5078/2014 2425/4974/1948 2483/5079/2013 -f 2485/5080/2015 2290/4805/1812 2425/4974/1948 -f 2486/5081/2016 2487/5082/2017 2488/5083/2018 -f 2487/5082/2017 2306/4823/1828 2292/4807/1814 -f 2489/5084/2019 2490/5085/2020 2491/5086/2021 -f 2490/5085/2020 2311/5087/1833 2491/5086/2021 -f 2291/4806/1813 2490/5085/2020 2479/5073/2009 -f 2479/5073/2009 2492/5088/2022 2478/5072/2008 -f 2492/5089/2022 2477/5070/2007 2478/5071/2008 -f 2482/5076/2012 2488/5090/2018 2484/5091/2014 -f 2488/5083/2018 2485/5080/2015 2484/5078/2014 -f 2487/5082/2017 2493/5092/2023 2485/5080/2015 -f 2494/5093/2024 2495/5094/2025 2496/5095/2026 -f 2497/5096/2027 2312/4830/1834 2495/5094/2025 -f 2477/5097/2007 2498/5098/2028 2499/5099/2029 -f 2499/5100/2029 2500/5101/2030 2501/5102/2031 -f 2500/5101/2030 2309/4826/1831 2501/5102/2031 -f 2461/5030/1987 2477/5097/2007 2460/5028/1986 -f 2460/5028/1986 2499/5099/2029 2459/5029/1985 -f 2499/5100/2029 2458/5025/1984 2459/5026/1985 -f 2501/5102/2031 2308/4825/1830 2458/5025/1984 -f 2463/5037/1993 2494/5103/2024 2496/5104/2026 -f 2494/5093/2024 2465/5040/1995 2497/5096/2027 -f 2497/5096/2027 2466/5041/1996 2307/4824/1829 -f 2310/4828/1832 2491/5105/2021 2311/4829/1833 -f 2500/5101/2030 2489/5106/2019 2491/5105/2021 -f 2489/5107/2019 2498/5098/2028 2477/5097/2007 -f 2482/5108/2012 2496/5104/2026 2486/5109/2016 -f 2486/5110/2016 2495/5094/2025 2502/5111/2032 -f 2502/5111/2032 2312/4830/1834 2306/4827/1828 -f 2445/5009/1971 2434/4996/1960 2481/5112/2011 -f 2339/5113/1859 2403/4947/1926 2352/5114/1875 -f 2363/4898/1888 2362/4897/1887 2403/4947/1926 -f 2403/4947/1926 2346/5115/1868 2467/5116/1997 -f 2352/5114/1875 2403/4947/1926 2467/5116/1997 -f 2339/5113/1859 2340/4867/1862 2403/4947/1926 -f 2482/5108/2012 2480/5117/2010 2463/5037/1993 -f 2480/5117/2010 2434/4996/1960 2463/5037/1993 -f 2258/4769/1778 2462/5036/1992 2259/4770/1779 -f 2261/4772/1781 2304/4821/1826 2262/4773/1782 -f 2264/4775/1784 2272/4887/1878 2265/4776/1785 -f 2265/4778/1785 2302/4819/1824 2267/4779/1787 -f 2268/4781/1788 2287/4986/1951 2269/4782/1789 -f 2271/4784/1791 2298/4815/1820 2272/4785/1792 -f 2273/4787/1794 2305/5057/1827 2274/4788/1795 -f 2276/4790/1797 2286/4800/1807 2277/4791/1798 -f 2279/4793/1800 2295/4810/1817 2276/4790/1797 -f 2280/4794/1801 2392/4934/1917 2281/4795/1802 -f 2283/4797/1804 2280/4794/1801 2282/4796/1803 -f 2269/4782/1789 2288/4803/1810 2285/4799/1806 -f 2286/4800/1807 2283/4797/1804 2284/4798/1805 -f 2281/4795/1802 2392/4934/1917 2287/4801/1808 -f 2288/4803/1810 2290/4805/1812 2289/4804/1811 -f 2290/4805/1812 2493/5092/2023 2291/4806/1813 -f 2291/4806/1813 2493/5092/2023 2292/4807/1814 -f 2294/4809/1816 2349/4878/1871 2295/4810/1817 -f 2260/4811/1818 2259/4859/1819 2296/4812/1819 -f 2297/4814/1809 2296/5118/1808 2298/4815/1820 -f 2299/4816/1821 2462/5036/1992 2258/4769/1778 -f 2301/4818/1823 2267/4779/1787 2302/4819/1824 -f 2304/4821/1826 2299/4816/1821 2300/4817/1822 -f 2275/4789/1796 2349/4878/1871 2294/4809/1816 -f 2303/4820/1825 2274/5067/1795 2305/4822/1827 -f 2306/4823/1828 2311/5087/1833 2293/4808/1815 -f 2307/4824/1829 2466/5041/1996 2308/4825/1830 -f 2306/4827/1828 2312/4830/1834 2310/4828/1832 -f 2309/4826/1831 2310/4828/1832 2312/4830/1834 -f 2308/4825/1830 2466/5041/1996 2261/4772/1781 -f 2297/4813/1818 2314/4832/1835 2313/4831/1835 -f 2314/4832/1835 2327/5119/1836 2315/4833/1836 -f 2315/4834/1836 2327/5120/1836 2316/4835/1837 -f 2316/4835/1837 2326/4846/1847 2318/4837/1839 -f 2355/4889/1880 2503/5121/2033 2321/4840/1842 -f 2503/5121/2033 2319/4838/1840 2321/4840/1842 -f 2320/4839/1841 2323/4847/1844 2322/4841/1843 -f 2323/4842/1844 2325/4845/1846 2324/4843/1845 -f 2325/4845/1846 2271/4784/1791 2264/4786/1793 -f 2326/4846/1847 2316/4835/1837 2320/4839/1841 -f 2316/4835/1837 2327/5120/1848 2323/4847/1844 -f 2327/4848/1848 2314/4849/1849 2325/4845/1846 -f 2314/4849/1849 2297/4814/1809 2271/4784/1791 -f 2328/4850/1850 2331/4853/1853 2329/4851/1851 -f 2331/4853/1853 2333/5122/1854 2332/4854/1854 -f 2333/4855/1854 2335/4858/1855 2334/4856/1855 -f 2335/4858/1855 2296/4812/1819 2259/4859/1819 -f 2272/4785/1792 2298/4815/1820 2336/4860/1856 -f 2337/4861/1857 2336/4860/1856 2338/4862/1858 -f 2298/4815/1820 2296/5118/1808 2335/4864/1860 -f 2336/4860/1856 2335/4864/1860 2333/4865/1861 -f 2338/4866/1858 2333/5122/1861 2331/4853/1853 -f 2340/4867/1862 2331/4853/1853 2328/4850/1850 -f 2321/4840/1842 2470/5060/2000 2342/4869/1864 -f 2342/4871/1864 2345/4874/1867 2344/4872/1866 -f 2345/4874/1867 2294/4809/1816 2279/4793/1800 -f 2346/4875/1868 2402/4948/1925 2347/4876/1869 -f 2348/4877/1870 2347/4876/1869 2295/4810/1817 -f 2350/4880/1872 2322/5123/1843 2324/4881/1873 -f 2351/4882/1874 2324/4881/1873 2264/4775/1784 -f 2352/4883/1875 2353/4886/1877 2337/4884/1876 -f 2353/4886/1877 2265/4776/1785 2272/4887/1878 -f 2354/4888/1879 2503/5121/2033 2355/4889/1880 -f 2356/4890/1881 2355/4889/1880 2357/4891/1882 -f 2358/4893/1883 2357/4935/1882 2359/4894/1884 -f 2360/4895/1885 2359/4894/1884 2278/4792/1799 -f 2361/4896/1886 2364/4899/1889 2362/4897/1887 -f 2364/4899/1889 2366/4912/1891 2365/4900/1890 -f 2366/4901/1891 2368/4904/1893 2367/4902/1892 -f 2368/4904/1893 2286/4800/1807 2276/4790/1797 -f 2354/4888/1879 2356/4890/1881 2369/4905/1894 -f 2356/4890/1881 2358/4892/1883 2371/4907/1896 -f 2358/4893/1883 2360/4895/1885 2372/4908/1897 -f 2360/4895/1885 2277/4791/1798 2284/4798/1805 -f 2361/4896/1886 2381/4920/1906 2373/4910/1898 -f 2364/4899/1889 2373/4910/1898 2374/4911/1899 -f 2366/4901/1891 2374/4923/1899 2375/4913/1900 -f 2368/4904/1893 2375/4913/1900 2283/4797/1804 -f 2376/4914/1901 2370/4906/1895 2369/4905/1894 -f 2377/4915/1902 2369/4905/1894 2371/4907/1896 -f 2378/4917/1903 2371/4909/1896 2372/4908/1897 -f 2379/4918/1904 2372/4908/1897 2284/4798/1805 -f 2380/4919/1905 2382/4921/1907 2373/4910/1898 -f 2382/4921/1907 2383/4932/1908 2374/4911/1899 -f 2383/4922/1908 2384/4924/1909 2375/4913/1900 -f 2384/4924/1909 2280/4794/1801 2283/4797/1804 -f 2376/4914/1901 2377/4915/1902 2385/4925/1910 -f 2377/4915/1902 2378/4916/1903 2387/4927/1912 -f 2378/4917/1903 2379/4918/1904 2388/4928/1913 -f 2379/4918/1904 2282/4796/1803 2281/4795/1802 -f 2380/4919/1905 2398/4941/1922 2389/4930/1914 -f 2382/4921/1907 2389/4930/1914 2390/4931/1915 -f 2383/4922/1908 2390/4944/1915 2391/4933/1916 -f 2384/4924/1909 2391/4933/1916 2392/4934/1917 -f 2279/4793/1800 2278/4792/1799 2359/4894/1884 -f 2344/4872/1866 2359/4894/1884 2357/4935/1882 -f 2343/4870/1865 2357/4891/1882 2355/4889/1880 -f 2281/4795/1802 2268/4802/1809 2393/4936/1849 -f 2388/4928/1913 2393/4936/1849 2394/4937/1918 -f 2387/4927/1912 2394/5124/1918 2395/4938/1919 -f 2385/4925/1910 2395/4938/1919 2396/4939/1920 -f 2397/4940/1921 2399/4942/1923 2389/4930/1914 -f 2399/4942/1923 2400/5125/1924 2390/4931/1915 -f 2400/4943/1924 2401/4945/1860 2391/4933/1916 -f 2401/4945/1860 2287/4801/1808 2392/4934/1917 -f 2362/4897/1887 2365/4900/1890 2402/4946/1925 -f 2365/4903/1890 2367/4902/1892 2347/4876/1869 -f 2367/4902/1892 2276/4790/1797 2295/4810/1817 -f 2404/4949/1927 2407/4952/1930 2405/4950/1928 -f 2407/4952/1930 2409/4977/1932 2408/4953/1931 -f 2409/4954/1932 2411/4957/1934 2410/4955/1933 -f 2411/4957/1934 2270/4783/1790 2285/4799/1806 -f 2412/4958/1935 2423/4971/1946 2413/4959/1936 -f 2414/4960/1937 2413/4959/1936 2415/4961/1938 -f 2416/4963/1939 2415/4973/1938 2417/4964/1940 -f 2418/4965/1941 2417/4964/1940 2288/4803/1810 -f 2406/4951/1929 2405/4950/1928 2419/4966/1942 -f 2405/4950/1928 2408/4953/1931 2421/4968/1944 -f 2421/4969/1944 2408/4956/1931 2410/4955/1933 -f 2410/4955/1933 2285/4799/1806 2289/4804/1811 -f 2423/4971/1946 2481/5075/2011 2424/4972/1947 -f 2424/4972/1947 2483/5077/2013 2415/4961/1938 -f 2415/4973/1938 2483/5079/2013 2425/4974/1948 -f 2425/4974/1948 2290/4805/1812 2288/4803/1810 -f 2270/4783/1790 2411/4957/1934 2393/4975/1949 -f 2411/4957/1934 2409/4954/1932 2394/4976/1918 -f 2409/4977/1932 2407/4952/1930 2395/4978/1919 -f 2407/4952/1930 2404/4949/1927 2396/4980/1920 -f 2397/4981/1921 2412/4958/1935 2414/4960/1937 -f 2399/4982/1923 2414/4960/1937 2416/4962/1939 -f 2400/4984/1924 2416/4963/1939 2418/4965/1941 -f 2401/4985/1950 2418/4965/1941 2269/4782/1789 -f 2426/4987/1952 2429/4990/1955 2427/4988/1953 -f 2429/4990/1955 2431/5027/1957 2430/4991/1956 -f 2431/4992/1957 2433/4995/1959 2432/4993/1958 -f 2433/4995/1959 2263/4774/1783 2262/4773/1782 -f 2434/4996/1960 2445/5009/1971 2435/4997/1961 -f 2436/4998/1962 2435/4997/1961 2437/4999/1963 -f 2438/5001/1964 2437/5012/1963 2439/5002/1965 -f 2440/5003/1966 2439/5002/1965 2304/4821/1826 -f 2428/4989/1954 2427/4988/1953 2441/5004/1967 -f 2427/4988/1953 2430/4991/1956 2443/5006/1969 -f 2443/5007/1969 2430/4994/1956 2432/4993/1958 -f 2432/4993/1958 2262/4773/1782 2300/4817/1822 -f 2445/5009/1971 2454/5020/1980 2446/5010/1972 -f 2435/4997/1961 2446/5010/1972 2447/5011/1973 -f 2437/5012/1963 2447/5023/1973 2448/5013/1974 -f 2448/5013/1974 2299/4816/1821 2304/4821/1826 -f 2449/5014/1975 2442/5005/1968 2441/5004/1967 -f 2450/5015/1976 2441/5004/1967 2443/5006/1969 -f 2451/5017/1977 2443/5007/1969 2444/5008/1970 -f 2452/5018/1978 2444/5008/1970 2300/4817/1822 -f 2453/5019/1979 2455/5021/1981 2446/5010/1972 -f 2455/5021/1981 2456/5033/1982 2447/5011/1973 -f 2456/5022/1982 2457/5024/1983 2448/5013/1974 -f 2457/5024/1983 2462/5036/1992 2299/4816/1821 -f 2263/4774/1783 2433/4995/1959 2458/5025/1984 -f 2433/4995/1959 2431/4992/1957 2459/5026/1985 -f 2431/5027/1957 2429/4990/1955 2460/5028/1986 -f 2429/4990/1955 2426/4987/1952 2461/5030/1987 -f 2258/4769/1778 2260/4771/1780 2313/5031/1988 -f 2452/5018/1978 2313/5031/1988 2315/5032/1989 -f 2451/5016/1977 2315/4834/1989 2317/4836/1838 -f 2450/5015/1976 2317/4836/1838 2318/4837/1839 -f 2330/4852/1852 2329/4851/1851 2455/5021/1981 -f 2329/4851/1851 2332/4854/1990 2456/5033/1982 -f 2332/5034/1990 2334/5035/1991 2457/5024/1983 -f 2334/5035/1991 2259/4770/1779 2462/5036/1992 -f 2463/5037/1993 2436/4998/1962 2438/5000/1964 -f 2464/5039/1994 2438/5001/1964 2440/5003/1966 -f 2465/5040/1995 2440/5003/1966 2261/4772/1781 -f 2468/5045/1998 2303/4820/1825 2302/4819/1824 -f 2472/5049/2002 2471/5048/2001 2267/4779/1787 -f 2473/5052/2003 2275/4789/1796 2274/4788/1795 -f 2476/5056/2006 2475/5055/2005 2305/5057/1827 -f 2266/4780/1786 2267/4779/1787 2471/5048/2001 -f 2351/5058/1874 2471/5048/2001 2470/5047/2000 -f 2305/4822/1827 2475/5061/2005 2472/5049/2002 -f 2318/4837/1839 2326/4846/1847 2319/4838/1840 -f 2319/4838/1840 2503/5121/2033 2449/5014/1975 -f 2503/5121/2033 2354/4888/1879 2404/5126/1927 -f 2442/5005/1968 2503/5121/2033 2404/5126/1927 -f 2354/4888/1879 2370/4906/1895 2404/5126/1927 -f 2370/4906/1895 2376/4914/1901 2404/5126/1927 -f 2376/4914/1901 2386/4926/1911 2404/5126/1927 -f 2386/4926/1911 2396/4939/1920 2404/5126/1927 -f 2503/5121/2033 2442/5005/1968 2449/5014/1975 -f 2449/5014/1975 2318/4837/1839 2319/4838/1840 -f 2404/5126/1927 2406/5062/1929 2442/5005/1968 -f 2428/4989/1954 2442/5005/1968 2406/5062/1929 -f 2420/5063/1943 2461/5030/1987 2426/4987/1952 -f 2420/5063/1943 2426/4987/1952 2428/4989/1954 -f 2294/4809/1816 2345/4874/1867 2476/5056/2006 -f 2345/4874/1867 2342/4871/1864 2470/5054/2000 -f 2467/5064/1997 2469/5046/1999 2353/5065/1877 -f 2469/5046/1999 2302/4819/1824 2265/4778/1785 -f 2468/5045/1998 2474/5127/2004 2274/5067/1795 -f 2467/5068/1997 2346/4875/1868 2348/4877/1870 -f 2473/5052/2003 2348/4877/1870 2349/4878/1871 -f 2461/5069/1987 2420/4967/1943 2419/4966/1942 -f 2477/5070/2007 2419/4966/1942 2421/4968/1944 -f 2478/5072/2008 2421/4969/1944 2422/4970/1945 -f 2479/5073/2009 2422/4970/1945 2289/4804/1811 -f 2480/5074/2010 2482/5076/2012 2424/4972/1947 -f 2482/5076/2012 2484/5091/2014 2483/5077/2013 -f 2484/5078/2014 2485/5080/2015 2425/4974/1948 -f 2485/5080/2015 2493/5092/2023 2290/4805/1812 -f 2486/5081/2016 2502/5128/2032 2487/5082/2017 -f 2487/5082/2017 2502/5128/2032 2306/4823/1828 -f 2489/5084/2019 2492/5088/2022 2490/5085/2020 -f 2490/5085/2020 2293/4808/1815 2311/5087/1833 -f 2291/4806/1813 2293/4808/1815 2490/5085/2020 -f 2479/5073/2009 2490/5085/2020 2492/5088/2022 -f 2492/5089/2022 2489/5129/2019 2477/5070/2007 -f 2482/5076/2012 2486/5130/2016 2488/5090/2018 -f 2488/5083/2018 2487/5082/2017 2485/5080/2015 -f 2487/5082/2017 2292/4807/1814 2493/5092/2023 -f 2494/5093/2024 2497/5096/2027 2495/5094/2025 -f 2497/5096/2027 2307/4824/1829 2312/4830/1834 -f 2499/5100/2029 2498/5131/2028 2500/5101/2030 -f 2500/5101/2030 2310/4828/1832 2309/4826/1831 -f 2460/5028/1986 2477/5097/2007 2499/5099/2029 -f 2499/5100/2029 2501/5102/2031 2458/5025/1984 -f 2501/5102/2031 2309/4826/1831 2308/4825/1830 -f 2463/5037/1993 2464/5038/1994 2494/5103/2024 -f 2494/5093/2024 2464/5039/1994 2465/5040/1995 -f 2497/5096/2027 2465/5040/1995 2466/5041/1996 -f 2310/4828/1832 2500/5101/2030 2491/5105/2021 -f 2500/5101/2030 2498/5131/2028 2489/5106/2019 -f 2482/5108/2012 2463/5037/1993 2496/5104/2026 -f 2486/5110/2016 2496/5095/2026 2495/5094/2025 -f 2502/5111/2032 2495/5094/2025 2312/4830/1834 -f 2361/4896/1886 2363/4898/1888 2412/5132/1935 -f 2363/4898/1888 2341/4868/1863 2453/5019/1979 -f 2454/5020/1980 2363/4898/1888 2453/5019/1979 -f 2341/4868/1863 2328/4850/1850 2330/4852/1852 -f 2341/4868/1863 2330/4852/1852 2453/5019/1979 -f 2381/4920/1906 2361/4896/1886 2412/5132/1935 -f 2363/4898/1888 2454/5020/1980 2412/5132/1935 -f 2398/4941/1922 2380/4919/1905 2412/5132/1935 -f 2380/4919/1905 2381/4920/1906 2412/5132/1935 -f 2412/5132/1935 2397/4940/1921 2398/4941/1922 -f 2423/5133/1946 2412/5132/1935 2454/5020/1980 -f 2454/5020/1980 2445/5009/1971 2423/5133/1946 -f 2434/4996/1960 2480/5117/2010 2481/5112/2011 -f 2481/5112/2011 2423/5133/1946 2445/5009/1971 -f 2403/4947/1926 2340/4867/1862 2341/4868/1863 -f 2341/4868/1863 2363/4898/1888 2403/4947/1926 -f 2403/4947/1926 2402/4946/1925 2346/5115/1868 -f 2339/5113/1859 2338/4866/1858 2340/4867/1862 -s off -f 823/5134/329 824/5135/329 825/5136/329 -f 826/5137/335 827/5138/335 824/5139/335 -f 828/5140/331 829/5141/331 827/5142/331 -f 830/5143/336 825/5144/336 829/5145/336 -f 827/5146/333 825/5147/333 824/5148/333 -f 826/5137/334 830/5149/334 828/5150/334 -f 823/5134/329 826/5151/329 824/5135/329 -f 826/5137/335 828/5150/335 827/5138/335 -f 828/5140/331 830/5152/331 829/5141/331 -f 830/5143/336 823/5153/336 825/5144/336 -f 827/5146/333 829/5154/333 825/5147/333 -f 826/5137/334 823/5155/334 830/5149/334 diff --git a/src/main/resources/assets/hbm/models/weapons/mike_hawk.obj b/src/main/resources/assets/hbm/models/weapons/mike_hawk.obj index fc5e21aa0..79fe254f9 100644 --- a/src/main/resources/assets/hbm/models/weapons/mike_hawk.obj +++ b/src/main/resources/assets/hbm/models/weapons/mike_hawk.obj @@ -1,153 +1,1217 @@ # Blender v2.79 (sub 0) OBJ File: 'mike_hawk.blend' # www.blender.org -o Cylinder -v 0.000000 1.000000 0.250000 -v -10.125000 1.000000 0.250001 -v 0.000000 0.875000 0.216506 -v -10.125000 0.875000 0.216507 -v 0.000000 0.783494 0.125000 -v -10.125000 0.783494 0.125001 -v -0.000000 0.750000 0.000000 -v -10.125000 0.750000 0.000001 -v -0.000000 0.783494 -0.125000 -v -10.125000 0.783494 -0.124999 -v -0.000000 0.875000 -0.216506 -v -10.125000 0.875000 -0.216506 -v -0.000000 1.000000 -0.250000 -v -10.125000 1.000000 -0.249999 -v -0.000000 1.125000 -0.216506 -v -10.125000 1.125000 -0.216506 -v -0.000000 1.216506 -0.125000 -v -10.125000 1.216506 -0.124999 -v -0.000000 1.250000 0.000000 -v -10.125000 1.250000 0.000001 -v 0.000000 1.216506 0.125000 -v -10.125000 1.216506 0.125001 -v 0.000000 1.125000 0.216506 -v -10.125000 1.125000 0.216507 -v -10.125000 0.906250 0.162381 -v -10.125000 1.000000 0.187501 -v -10.125000 0.837620 0.093751 -v -10.125000 0.812500 0.000001 -v -10.125000 0.837620 -0.093749 -v -10.125000 0.906250 -0.162379 -v -10.125000 1.000000 -0.187499 -v -10.125000 1.093750 -0.162379 -v -10.125000 1.162380 -0.093749 -v -10.125000 1.187500 0.000001 -v -10.125000 1.162380 0.093751 -v -10.125000 1.093750 0.162381 -v 0.000000 0.906250 0.162368 -v 0.000000 1.000000 0.187489 -v 0.000000 0.837620 0.093739 -v -0.000000 0.812500 -0.000011 -v -0.000000 0.837620 -0.093761 -v -0.000000 0.906250 -0.162391 -v -0.000000 1.000000 -0.187511 -v -0.000000 1.093750 -0.162391 -v -0.000000 1.162380 -0.093761 -v -0.000000 1.187500 -0.000011 -v 0.000000 1.162380 0.093739 -v 0.000000 1.093750 0.162368 -v -10.000000 0.000000 -0.374999 -v -10.000000 0.000000 0.375001 -v -3.500000 0.000000 -0.375000 -v -10.000000 1.000000 0.250001 -v -10.000000 0.875000 0.216507 -v -10.000000 0.783494 0.125001 -v -10.000000 0.750000 0.000001 -v -10.000000 0.783494 -0.124999 -v -10.000000 0.875000 -0.216506 -v -10.000000 1.000000 -0.249999 -v -10.000000 1.125000 -0.216506 -v -10.000000 1.216506 -0.124999 -v -10.000000 1.250000 0.000001 -v -10.000000 1.216506 0.125000 -v -10.000000 1.125000 0.216507 -v -10.000000 -0.250000 -0.124999 -v -10.000000 -0.250000 0.125001 -v -10.000000 1.500000 -0.249999 -v -10.000000 1.375000 -0.374999 -v -10.000000 1.375000 0.375001 -v -10.000000 1.500000 0.250001 -v -1.500000 1.500000 0.250000 -v -1.500000 1.375000 -0.375000 -v -1.500000 1.500000 -0.250000 -v -1.500000 1.500000 0.000000 -v -1.500000 1.000000 -0.375000 -v 0.000000 1.125000 0.216506 -v 0.000000 1.216506 0.125000 -v 0.000000 1.500000 0.250000 -v 0.000000 1.000000 0.250000 -v 0.000000 1.500000 0.000000 -v 0.000000 1.000000 -0.375000 -v -1.500000 1.000000 -0.250000 -v 0.000000 1.000000 -0.250000 -v -1.500000 1.375000 0.000000 -v 0.000000 1.375000 0.000000 -v -1.500000 1.375000 -0.250000 -v -1.500000 1.000000 -0.250000 -v -1.500000 1.375000 0.000000 -v -1.500000 1.375000 -0.250000 -v -0.000000 1.000000 -0.250000 -v 0.000000 1.375000 0.000000 -v -0.000000 1.375000 -0.250000 -v 0.000000 1.375000 0.250000 -v 0.000000 1.250000 0.000000 -v -0.000000 1.125000 -0.216506 -v -0.000000 1.216506 -0.125000 -v 0.000000 1.375000 -0.375000 -v 0.000000 1.500000 -0.250000 -v 0.000000 1.375000 -0.250000 -v -3.500000 -0.250000 0.125000 -v -3.500000 -0.250000 -0.125000 -v 3.000000 1.500000 0.250000 -v 3.062500 1.375000 0.375000 -v 3.062500 1.375000 -0.375000 -v 3.000000 1.500000 -0.250000 -v 1.500000 1.375000 -0.250000 -v 0.000000 0.875000 0.216506 -v 0.000000 0.783494 0.125000 -v -0.000000 0.750000 0.000000 -v -0.000000 0.783494 -0.125000 -v -0.000000 0.875000 -0.216506 -v 1.500000 1.000000 -0.250000 -v 1.500000 1.000000 0.250000 -v 1.500000 0.875000 0.216506 -v 1.500000 0.783494 0.125000 -v 1.500000 0.750000 0.000000 -v 1.500000 0.783494 -0.125000 -v 1.500000 0.875000 -0.216506 -v 1.500000 1.000000 -0.250000 -v 1.500000 1.375000 0.000000 -v 1.500000 1.375000 0.250000 -v 3.500000 0.500000 -0.375000 -v 3.500000 0.500000 0.375000 -v 3.500000 0.000000 -0.375000 -v 3.500000 0.000000 0.375000 +o SlideM +v -10.000000 0.000000 0.374999 +v -10.000000 0.000000 -0.375001 v -3.500000 0.000000 0.375000 -v -3.500000 -0.187500 0.125000 -v 3.500000 -0.187500 0.125000 +v -10.000000 1.000000 -0.250001 +v -10.000000 0.875000 -0.216507 +v -10.000000 0.783494 -0.125001 +v -10.000000 0.750000 -0.000001 +v -10.000000 0.783494 0.124999 +v -10.000000 0.875000 0.216506 +v -10.000000 1.000000 0.249999 +v -10.000000 1.125000 0.216506 +v -10.000000 1.216506 0.124999 +v -10.000000 1.250000 -0.000001 +v -10.000000 1.216506 -0.125000 +v -10.000000 1.125000 -0.216507 +v -10.000000 -0.250000 0.124999 +v -10.000000 -0.250000 -0.125001 +v -10.000000 1.500000 0.249999 +v -10.000000 1.375000 0.374999 +v -10.000000 1.375000 -0.375001 +v -10.000000 1.500000 -0.250001 +v -1.500000 1.500000 -0.250000 +v -1.500000 1.375000 0.375000 +v -1.500000 1.500000 0.250000 +v -1.500000 1.500000 0.000000 +v -1.500000 1.000000 0.375000 +v 0.000000 1.500000 -0.250000 +v 0.000000 1.500000 0.000000 +v 0.000000 1.000000 0.375000 +v -1.500000 1.000000 0.250000 +v 0.000000 1.000000 0.250000 +v -1.500000 1.375000 0.000000 +v 0.000000 1.375000 0.000000 +v -1.500000 1.375000 0.250000 +v 0.000000 1.375000 0.375000 +v 0.000000 1.500000 0.250000 +v 0.000000 1.375000 0.250000 +v -3.500000 -0.250000 -0.125000 +v -3.500000 -0.250000 0.125000 +v 3.000000 1.500000 -0.250000 +v 3.062500 1.375000 -0.375000 +v 3.062500 1.375000 0.375000 +v 3.000000 1.500000 0.250000 +v 3.500000 0.500000 0.375000 +v 3.500000 0.500000 -0.375000 +v 3.500000 0.000000 0.375000 +v 3.500000 0.000000 -0.375000 +v -3.500000 0.000000 -0.375000 +v 3.500000 0.500000 -0.125000 +v 3.500000 0.500000 0.125000 +v 3.125000 1.250000 -0.125000 +v 3.125000 1.250000 0.125000 +v 3.500000 0.000000 -0.125000 +v 3.500000 0.000000 0.125000 +v 1.500000 0.000000 -0.125000 +v 1.500000 0.000000 0.125000 +v 1.500000 1.250000 0.125000 +v 1.500000 1.250000 -0.125000 +v -9.812500 1.500000 -0.187501 +v -8.937500 1.500000 -0.187501 +v -9.812500 1.500000 0.187499 +v -8.937500 1.500000 0.187499 +v -9.812500 1.625000 0.187499 +v -9.812500 1.625000 -0.187501 +v -9.187500 1.625000 -0.187501 +v -9.187500 1.625000 0.187499 +v -9.750000 1.625000 -0.062501 +v -9.250000 1.625000 -0.062501 +v -9.750000 1.625000 0.062499 +v -9.250000 1.625000 0.062499 +v -9.750000 1.750000 0.062499 +v -9.750000 1.750000 -0.062501 +v -9.250000 1.750000 -0.062501 +v -9.250000 1.750000 0.062499 +v 1.812500 1.500000 -0.187500 +v 2.437500 1.500000 -0.187500 +v 1.812500 1.500000 0.187500 +v 2.437500 1.500000 0.187500 +v 2.062500 1.625000 0.187500 +v 2.062500 1.625000 -0.187500 +v 2.437500 1.625000 -0.062500 +v 2.437500 1.625000 0.062500 +v 2.437500 1.750000 -0.187500 +v 2.437500 1.750000 0.187500 +v 2.437500 1.750000 -0.062500 +v 2.437500 1.750000 0.062500 +v 2.187500 1.625000 -0.187500 +v 2.187500 1.625000 0.187500 +v 2.312500 1.750000 -0.187500 +v 2.312500 1.750000 0.187500 +v 2.312500 1.750000 -0.062500 +v 2.312500 1.750000 0.062500 +v 2.187500 1.625000 -0.062500 +v 2.187500 1.625000 0.062500 +vt 0.348718 0.713178 +vt 0.430769 0.542636 +vt 0.082051 0.542636 +vt 0.082051 0.186047 +vt 0.348718 0.217054 +vt 0.348718 0.186047 +vt 0.430769 0.527132 +vt 0.082051 0.527132 +vt 0.430769 0.496124 +vt 0.430769 0.465116 +vt 0.082051 0.465116 +vt 0.070258 0.480977 +vt 0.071623 0.496376 +vt 0.076923 0.449612 +vt 0.066529 0.469703 +vt 0.076923 0.542636 +vt 0.070258 0.511776 +vt 0.066529 0.523049 +vt 0.020513 0.542636 +vt 0.061435 0.527176 +vt 0.020513 0.449612 +vt 0.056341 0.469703 +vt 0.061435 0.465577 +vt 0.051248 0.496376 +vt 0.052612 0.480977 +vt 0.492308 0.496124 +vt 0.492308 0.573643 +vt 0.430769 0.589147 +vt 0.492308 0.589147 +vt 0.430769 0.511628 +vt 0.435897 0.527132 +vt 0.446154 0.511628 +vt 0.435897 0.511628 +vt 0.430769 0.573643 +vt 0.430769 0.527132 +vt 0.487179 0.527132 +vt 0.492308 0.527132 +vt 0.487179 0.511628 +vt 0.476923 0.511628 +vt 0.476923 0.527132 +vt 0.487179 0.573643 +vt 0.492308 0.573643 +vt 0.492308 0.542636 +vt 0.615385 0.527132 +vt 0.492308 0.527132 +vt 0.635897 0.713178 +vt 0.492308 0.465116 +vt 0.615385 0.465116 +vt 0.615385 0.449612 +vt 0.348718 0.248062 +vt 0.082051 0.279070 +vt 0.348718 0.279070 +vt 0.656410 0.449612 +vt 0.676923 0.480620 +vt 0.676923 0.449612 +vt 0.082051 0.217054 +vt 0.082051 0.248062 +vt 0.635897 0.279070 +vt 0.358974 0.279070 +vt 0.358974 0.186047 +vt 0.000000 0.883721 +vt 0.082051 0.883721 +vt 0.082051 0.821705 +vt 0.625641 0.480620 +vt 0.620513 0.449612 +vt 0.620513 0.542636 +vt 0.625641 0.511628 +vt 0.656410 0.542636 +vt 0.656410 0.480620 +vt 0.348718 0.806202 +vt 0.553846 0.775194 +vt 0.553846 0.744186 +vt 0.676923 0.542636 +vt 0.656410 0.511628 +vt 0.082051 0.604651 +vt 0.082051 0.542636 +vt 0.000000 0.542636 +vt 0.000000 0.697674 +vt 0.066667 0.728682 +vt 0.066667 0.697674 +vt 0.169231 0.775194 +vt 0.194872 0.728682 +vt 0.169231 0.728682 +vt 0.164103 0.728682 +vt 0.164103 0.775194 +vt 0.194872 0.775194 +vt 0.169231 0.790698 +vt 0.205128 0.790698 +vt 0.169231 0.713178 +vt 0.205128 0.713178 +vt 0.205128 0.775194 +vt 0.205128 0.728682 +vt 0.210256 0.744186 +vt 0.230769 0.728682 +vt 0.210256 0.728682 +vt 0.235897 0.744186 +vt 0.235897 0.728682 +vt 0.205128 0.728682 +vt 0.205128 0.744186 +vt 0.230769 0.744186 +vt 0.210256 0.759690 +vt 0.230769 0.759690 +vt 0.230769 0.713178 +vt 0.210256 0.713178 +vt 0.066667 0.217054 +vt 0.071795 0.232558 +vt 0.071795 0.217054 +vt 0.082051 0.310078 +vt 0.071795 0.325581 +vt 0.082051 0.325581 +vt 0.061538 0.279070 +vt 0.046154 0.294574 +vt 0.071795 0.294574 +vt 0.082051 0.263566 +vt 0.082051 0.217054 +vt 0.076923 0.248062 +vt 0.066667 0.341085 +vt 0.056410 0.294574 +vt 0.056410 0.341085 +vt 0.066667 0.248062 +vt 0.071795 0.263566 +vt 0.071795 0.248062 +vt 0.076923 0.341085 +vt 0.076923 0.294574 +vt 0.071795 0.310078 +vt 0.061538 0.232558 +vt 0.066667 0.232558 +vt 0.061538 0.263566 +vt 0.066667 0.263566 +vt 0.071795 0.294574 +vt 0.066667 0.294574 +vt 0.071795 0.186047 +vt 0.056410 0.201550 +vt 0.061538 0.201550 +vt 0.615385 0.542636 +vt 0.082051 0.713178 +vt 0.056341 0.523049 +vt 0.010256 0.511628 +vt 0.052612 0.511776 +vt 0.010256 0.480620 +vt 0.430769 0.573643 +vt 0.492308 0.511628 +vt 0.446154 0.527132 +vt 0.435897 0.573643 +vt 0.082051 0.449612 +vt 0.635897 0.341085 +vt 0.000000 0.728682 +vt 0.635897 0.806202 +vt 0.635897 0.775194 +vt 0.635897 0.744186 +vt 0.676923 0.511628 +vt 0.056410 0.279070 +vt 0.076923 0.232558 +vt 0.082051 0.341085 +vt 0.082051 0.294574 +vt 0.061538 0.217054 +vt 0.061538 0.248062 +vt 0.071795 0.341085 +vt 0.046154 0.186047 +vt 0.635897 0.651163 +vn -0.0000 0.0000 1.0000 +vn -0.0000 -0.7071 0.7071 +vn -0.0000 0.7071 0.7071 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.0000 -1.0000 +vn 0.8944 0.4472 0.0000 +vn 0.4472 0.8944 0.0000 +vn -0.4472 0.8944 0.0000 +vn -0.7071 0.7071 0.0000 +s off +f 3/1/1 23/2/1 19/3/1 +f 1/4/2 39/5/2 3/6/2 +f 19/3/3 24/7/3 18/8/3 +f 25/9/4 22/10/4 21/11/4 +f 21/11/5 14/12/5 13/13/5 +f 14/12/5 20/14/5 15/15/5 +f 19/16/5 12/17/5 11/18/5 +f 1/19/5 19/16/5 10/20/5 +f 2/21/5 5/22/5 4/23/5 +f 7/24/5 6/25/5 2/21/5 +f 28/26/4 22/10/4 25/9/4 +f 31/27/4 26/28/4 29/29/4 +f 32/30/1 28/26/1 25/9/1 +f 34/31/6 25/32/6 24/33/6 +f 26/34/6 34/31/6 23/35/6 +f 23/35/6 34/31/6 24/33/6 +f 37/36/5 35/37/5 36/38/5 +f 37/36/5 28/39/5 33/40/5 +f 35/37/5 31/41/5 29/42/5 +f 35/43/3 43/44/3 36/45/3 +f 29/29/1 3/1/1 46/46/1 +f 27/47/7 40/48/7 41/49/7 +f 28/26/4 43/44/4 40/48/4 +f 38/50/8 2/51/8 48/52/8 +f 45/53/6 53/54/6 47/55/6 +f 38/50/9 16/56/9 17/57/9 +f 48/52/10 41/49/10 47/58/10 +f 39/5/6 48/59/6 3/60/6 +f 55/61/1 53/62/1 49/63/1 +f 43/44/11 51/64/11 40/48/11 +f 40/48/11 51/64/11 41/65/11 +f 42/66/11 52/67/11 43/44/11 +f 44/68/11 52/67/11 42/66/11 +f 45/53/11 51/64/11 49/69/11 +f 48/70/9 55/71/9 56/72/9 +f 46/73/6 50/74/6 44/68/6 +f 50/75/10 54/76/10 56/77/10 +f 57/78/9 51/79/9 52/80/9 +f 63/81/4 65/82/4 64/83/4 +f 63/81/5 59/84/5 61/85/5 +f 66/86/1 61/87/1 62/88/1 +f 59/89/10 65/82/10 60/90/10 +f 65/82/12 62/91/12 60/92/12 +f 71/93/4 73/94/4 72/95/4 +f 73/94/6 70/96/6 68/97/6 +f 71/93/5 67/98/5 69/99/5 +f 74/100/1 69/101/1 70/102/1 +f 72/95/10 68/103/10 67/104/10 +f 89/105/4 85/106/4 83/107/4 +f 81/108/4 94/109/4 82/110/4 +f 88/111/1 77/112/1 78/113/1 +f 78/114/6 76/115/6 82/116/6 +f 79/117/13 75/118/13 77/119/13 +f 92/120/4 84/121/4 86/122/4 +f 92/123/10 82/110/10 94/109/10 +f 81/108/1 91/124/1 93/125/1 +f 89/105/14 93/126/14 91/127/14 +f 92/120/14 88/128/14 90/129/14 +f 93/125/4 87/130/4 80/131/4 +f 76/132/10 80/133/10 87/134/10 +f 46/46/1 42/135/1 29/29/1 +f 19/3/1 1/136/1 3/1/1 +f 3/1/1 26/28/1 23/2/1 +f 1/4/2 16/56/2 39/5/2 +f 19/3/3 23/2/3 24/7/3 +f 21/11/4 18/8/4 25/9/4 +f 18/8/4 24/7/4 25/9/4 +f 13/13/5 12/17/5 18/8/5 +f 18/8/5 21/11/5 13/13/5 +f 14/12/5 21/11/5 20/14/5 +f 19/16/5 18/8/5 12/17/5 +f 10/20/5 9/137/5 1/19/5 +f 19/16/5 11/18/5 10/20/5 +f 4/23/5 15/15/5 20/14/5 +f 20/14/5 2/21/5 4/23/5 +f 16/138/5 1/19/5 2/21/5 +f 1/19/5 9/137/5 8/139/5 +f 1/19/5 8/139/5 7/24/5 +f 2/21/5 17/140/5 16/138/5 +f 6/25/5 5/22/5 2/21/5 +f 1/19/5 7/24/5 2/21/5 +f 28/26/4 27/47/4 22/10/4 +f 31/27/4 30/141/4 26/28/4 +f 32/30/1 33/142/1 28/26/1 +f 34/31/6 32/143/6 25/32/6 +f 26/34/6 30/144/6 34/31/6 +f 37/36/5 36/38/5 28/39/5 +f 35/37/5 37/36/5 31/41/5 +f 35/43/3 42/135/3 43/44/3 +f 29/29/1 26/28/1 3/1/1 +f 41/49/7 20/145/7 22/10/7 +f 20/145/7 21/11/7 22/10/7 +f 41/49/7 22/10/7 27/47/7 +f 40/48/4 27/47/4 28/26/4 +f 28/26/4 36/45/4 43/44/4 +f 38/50/8 17/57/8 2/51/8 +f 45/53/6 49/69/6 53/54/6 +f 38/50/9 39/5/9 16/56/9 +f 48/52/10 2/51/10 20/145/10 +f 20/145/10 41/49/10 48/52/10 +f 41/49/10 45/146/10 47/58/10 +f 39/5/6 38/50/6 48/59/6 +f 49/63/1 51/79/1 55/61/1 +f 51/79/1 58/147/1 55/61/1 +f 43/44/11 52/67/11 51/64/11 +f 44/68/11 50/74/11 52/67/11 +f 45/53/11 41/65/11 51/64/11 +f 46/46/9 3/1/9 56/72/9 +f 3/1/9 48/70/9 56/72/9 +f 48/70/9 47/148/9 55/71/9 +f 47/148/9 53/149/9 55/71/9 +f 56/72/9 54/150/9 46/46/9 +f 46/73/6 54/151/6 50/74/6 +f 57/78/10 52/80/10 56/77/10 +f 52/80/10 50/75/10 56/77/10 +f 57/78/9 58/147/9 51/79/9 +f 63/81/4 66/86/4 65/82/4 +f 63/81/5 64/83/5 59/84/5 +f 66/86/1 63/81/1 61/87/1 +f 59/89/10 64/83/10 65/82/10 +f 65/82/12 66/86/12 62/91/12 +f 71/93/4 74/100/4 73/94/4 +f 73/94/6 74/100/6 70/96/6 +f 71/93/5 72/95/5 67/98/5 +f 74/100/1 71/93/1 69/101/1 +f 72/95/10 73/94/10 68/103/10 +f 89/105/4 91/127/4 85/106/4 +f 81/108/4 93/125/4 94/109/4 +f 78/113/1 84/121/1 90/129/1 +f 88/111/1 79/152/1 77/112/1 +f 78/113/1 90/129/1 88/111/1 +f 76/115/6 83/107/6 81/153/6 +f 83/107/6 85/106/6 81/153/6 +f 86/122/6 84/121/6 82/116/6 +f 84/121/6 78/114/6 82/116/6 +f 76/115/6 81/153/6 82/116/6 +f 79/117/13 80/131/13 75/118/13 +f 92/120/4 90/129/4 84/121/4 +f 92/123/10 86/154/10 82/110/10 +f 81/108/1 85/155/1 91/124/1 +f 89/105/14 87/156/14 93/126/14 +f 92/120/14 94/157/14 88/128/14 +f 80/131/4 79/117/4 94/109/4 +f 79/117/4 88/158/4 94/109/4 +f 94/109/4 93/125/4 80/131/4 +f 76/132/10 75/159/10 80/133/10 +f 87/134/10 89/105/10 76/132/10 +f 89/105/10 83/107/10 76/132/10 +f 44/160/1 42/135/1 46/46/1 +f 42/135/1 35/43/1 29/29/1 +o GripM +v 0.000000 1.000000 -0.250000 +v -10.125000 1.000000 -0.250001 +v 0.000000 0.875000 -0.216506 +v -10.125000 0.875000 -0.216507 +v 0.000000 0.783494 -0.125000 +v -10.125000 0.783494 -0.125001 +v -0.000000 0.750000 0.000000 +v -10.125000 0.750000 -0.000001 +v -0.000000 0.783494 0.125000 +v -10.125000 0.783494 0.124999 +v -0.000000 0.875000 0.216506 +v -10.125000 0.875000 0.216506 +v -0.000000 1.000000 0.250000 +v -10.125000 1.000000 0.249999 +v -0.000000 1.125000 0.216506 +v -10.125000 1.125000 0.216506 +v -0.000000 1.216506 0.125000 +v -10.125000 1.216506 0.124999 +v -0.000000 1.250000 0.000000 +v -10.125000 1.250000 -0.000001 +v 0.000000 1.216506 -0.125000 +v -10.125000 1.216506 -0.125001 +v 0.000000 1.125000 -0.216506 +v -10.125000 1.125000 -0.216507 +v -10.125000 0.906250 -0.162381 +v -10.125000 1.000000 -0.187501 +v -10.125000 0.837620 -0.093751 +v -10.125000 0.812500 -0.000001 +v -10.125000 0.837620 0.093749 +v -10.125000 0.906250 0.162379 +v -10.125000 1.000000 0.187499 +v -10.125000 1.093750 0.162379 +v -10.125000 1.162380 0.093749 +v -10.125000 1.187500 -0.000001 +v -10.125000 1.162380 -0.093751 +v -10.125000 1.093750 -0.162381 +v 0.000000 0.906250 -0.162368 +v 0.000000 1.000000 -0.187489 +v 0.000000 0.837620 -0.093739 +v -0.000000 0.812500 0.000011 +v -0.000000 0.837620 0.093761 +v -0.000000 0.906250 0.162391 +v -0.000000 1.000000 0.187511 +v -0.000000 1.093750 0.162391 +v -0.000000 1.162380 0.093761 +v -0.000000 1.187500 0.000011 +v 0.000000 1.162380 -0.093739 +v 0.000000 1.093750 -0.162368 +v 0.000000 1.125000 -0.216506 +v 0.000000 1.216506 -0.125000 +v 0.000000 1.000000 -0.250000 +v -1.500000 1.000000 0.250000 +v -1.500000 1.375000 0.000000 +v -1.500000 1.375000 0.250000 +v -0.000000 1.000000 0.250000 +v 0.000000 1.375000 0.000000 +v -0.000000 1.375000 0.250000 +v 0.000000 1.375000 -0.250000 +v 0.000000 1.250000 0.000000 +v -0.000000 1.125000 0.216506 +v -0.000000 1.216506 0.125000 +v 1.500000 1.375000 0.250000 +v 0.000000 0.875000 -0.216506 +v 0.000000 0.783494 -0.125000 +v -0.000000 0.750000 0.000000 +v -0.000000 0.783494 0.125000 +v -0.000000 0.875000 0.216506 +v 1.500000 1.000000 0.250000 +v 1.500000 1.000000 -0.250000 +v 1.500000 0.875000 -0.216506 +v 1.500000 0.783494 -0.125000 +v 1.500000 0.750000 0.000000 +v 1.500000 0.783494 0.125000 +v 1.500000 0.875000 0.216506 +v 1.500000 1.000000 0.250000 +v 1.500000 1.375000 0.000000 +v 1.500000 1.375000 -0.250000 v -3.500000 -0.187500 -0.125000 v 3.500000 -0.187500 -0.125000 -v -3.500000 0.000000 -0.312500 +v -3.500000 -0.187500 0.125000 +v 3.500000 -0.187500 0.125000 v -3.500000 0.000000 0.312500 -v 3.500000 0.000000 0.312500 +v -3.500000 0.000000 -0.312500 v 3.500000 0.000000 -0.312500 -v 3.500000 0.500000 0.125000 -v 3.500000 0.500000 -0.125000 -v 3.125000 1.250000 0.125000 -v 3.125000 1.250000 -0.125000 -v 3.500000 0.000000 0.125000 -v 3.500000 0.000000 -0.125000 -v 1.500000 0.000000 0.125000 -v 1.500000 0.000000 -0.125000 -v 3.000000 1.250000 0.125000 +v 3.500000 0.000000 0.312500 v 3.000000 1.250000 -0.125000 -v 3.000000 0.000000 -0.125000 +v 3.000000 1.250000 0.125000 v 3.000000 0.000000 0.125000 -v 1.500000 1.250000 -0.125000 -v 1.500000 1.250000 0.125000 +v 3.000000 0.000000 -0.125000 +v 1.250000 -1.687500 -0.125000 +v 1.250000 -1.687500 0.125000 +v 0.500000 -1.437500 -0.125000 +v 0.500000 -1.437500 0.125000 +v -1.000000 -1.437500 -0.125000 +v -1.000000 -1.437500 0.125000 +v -1.250000 -0.687500 -0.125000 +v -1.250000 -0.687500 0.125000 +v -1.750000 -0.187500 -0.125000 +v -1.750000 -0.187500 0.125000 +v -0.750000 -0.187500 -0.125000 +v -0.750000 -0.187500 0.125000 +v -1.000000 -0.687500 -0.125000 +v -1.000000 -0.687500 0.125000 +v -0.875000 -1.187500 -0.125000 +v -0.875000 -1.187500 0.125000 +v 0.500000 -1.187500 -0.125000 +v 0.500000 -1.187500 0.125000 +v 0.750000 -0.687500 -0.125000 +v 0.750000 -0.687500 0.125000 +v 0.625000 0.062500 -0.125000 +v 0.625000 0.062500 0.125000 +v 1.000000 0.187500 -0.125000 +v 0.750000 -0.187500 -0.125000 +v 1.750000 -3.187500 -0.250000 +v 2.625000 -0.187500 -0.250000 +v 2.750000 -0.937500 -0.250000 +v 3.112560 -1.437500 -0.250000 +v 3.500000 -2.437500 -0.250000 +v 1.500000 -3.437500 -0.250000 +v 3.500000 -3.437500 -0.250000 +v 1.000000 0.187500 0.125000 +v 0.750000 -0.187500 0.125000 +v 0.000000 -0.187500 -0.125000 +v 0.000000 -0.187500 0.125000 +v 0.125000 -0.562500 -0.125000 +v 0.125000 -0.562500 0.125000 +v 0.000000 -1.062500 -0.125000 +v 0.000000 -1.062500 0.125000 +v 0.375000 -0.562500 -0.125000 +v 0.375000 -0.562500 0.125000 +v 0.437500 -0.187500 -0.125000 +v 0.437500 -0.187500 0.125000 +v 3.500000 -3.437500 0.250000 +v 1.500000 -3.437500 0.250000 +v 3.500000 -2.437500 0.250000 +v 3.112560 -1.437500 0.250000 +v 2.750000 -0.937500 0.250000 +v 2.625000 -0.187500 0.250000 +v 1.750000 -3.187500 0.250000 +v 1.250000 -1.687500 0.250000 +v 1.750000 -3.437500 0.500000 +v 3.250000 -3.437500 0.500000 +v 3.250000 -2.437500 0.500000 +v 2.862560 -1.437500 0.500000 +v 2.500000 -0.937500 0.500000 +v 2.375000 -0.187500 0.500000 +v 2.000000 -3.187500 0.500000 +v 1.000000 -0.187500 0.500000 +v 2.375000 0.187500 0.250000 +v 1.000000 0.187500 0.250000 +v 0.750000 -0.187500 0.250000 +v 1.250000 -1.687500 -0.250000 +v 3.250000 -3.437500 -0.500000 +v 1.750000 -3.437500 -0.500000 +v 3.250000 -2.437500 -0.500000 +v 2.862560 -1.437500 -0.500000 +v 2.500000 -0.937500 -0.500000 +v 2.375000 -0.187500 -0.500000 +v 2.000000 -3.187500 -0.500000 +v 2.375000 0.187500 -0.250000 +v 1.000000 -0.187500 -0.500000 +v 1.000000 0.187500 -0.250000 +v 0.750000 -0.187500 -0.250000 +v 3.000000 -0.187500 -0.250000 +v 3.000000 -0.187500 0.250000 +v 3.250000 0.062500 -0.250000 +v 3.250000 0.062500 0.250000 +v 2.750000 -0.562500 -0.250000 +v 2.750000 -0.562500 0.250000 +vt 0.420513 0.046512 +vt 0.417949 0.031008 +vt 0.417949 0.046512 +vt -0.000000 0.170543 +vt 0.002564 0.186047 +vt 0.002564 0.170543 +vt 0.420513 0.031008 +vt 0.417949 0.015504 +vt 0.420513 0.015504 +vt 0.417949 0.000000 +vt 0.420513 0.139535 +vt 0.417949 0.124031 +vt 0.417949 0.139535 +vt 0.417949 0.155039 +vt 0.420513 0.186047 +vt 0.417949 0.170543 +vt 0.417949 0.186047 +vt 0.420513 0.108527 +vt 0.417949 0.108527 +vt 0.420513 0.155039 +vt 0.420513 0.093023 +vt 0.417949 0.093023 +vt 0.417949 0.077519 +vt 0.420513 0.062016 +vt 0.417949 0.062016 +vt 0.000000 -0.000000 +vt 0.002564 0.015504 +vt 0.002564 -0.000000 +vt 0.000000 0.015504 +vt 0.002564 0.031008 +vt 0.000000 0.031008 +vt 0.002564 0.046512 +vt 0.000000 0.062016 +vt 0.002564 0.062016 +vt -0.000000 0.077519 +vt 0.002564 0.077519 +vt -0.000000 0.093023 +vt 0.002564 0.093023 +vt 0.000000 0.108527 +vt 0.002564 0.108527 +vt 0.000000 0.124031 +vt 0.002564 0.124031 +vt 0.000000 0.139535 +vt 0.002564 0.139535 +vt 0.002564 0.155039 +vt 0.000000 0.155039 +vt 0.246154 0.806202 +vt 0.184615 0.852713 +vt 0.246154 0.852713 +vt 0.246154 0.883721 +vt 0.182051 0.821705 +vt 0.179487 0.829457 +vt 0.169231 0.829457 +vt 0.166667 0.821705 +vt 0.164103 0.852713 +vt 0.102564 0.852713 +vt 0.164103 0.883721 +vt 0.082051 0.806202 +vt 0.082051 0.852713 +vt 0.092308 0.852713 +vt 0.087179 0.782946 +vt 0.084615 0.790698 +vt 0.541026 0.860465 +vt 0.253846 0.829457 +vt 0.253846 0.860465 +vt 0.253846 0.961240 +vt 0.541026 0.883721 +vt 0.253846 0.883721 +vt 0.541026 0.806202 +vt 0.541026 0.829457 +vt 0.548718 0.883721 +vt 0.246154 0.806202 +vt 0.010256 0.186047 +vt 0.000000 0.341085 +vt 0.010256 0.341085 +vt 0.805128 0.759690 +vt 0.835897 0.790698 +vt 0.835897 0.759690 +vt 0.743590 0.759690 +vt 0.805128 0.790698 +vt 0.712821 0.759690 +vt 0.743590 0.790698 +vt 0.692308 0.759690 +vt 0.712821 0.790698 +vt 0.712821 0.821705 +vt 0.692308 0.790698 +vt 0.692308 0.821705 +vt 0.733333 0.821705 +vt 0.712821 0.790698 +vt 0.789744 0.821705 +vt 0.733333 0.790698 +vt 0.810256 0.821705 +vt 0.789744 0.790698 +vt 0.841026 0.821705 +vt 0.810256 0.790698 +vt 0.884615 0.868217 +vt 0.905128 0.930233 +vt 0.894872 0.868217 +vt 0.900000 0.806202 +vt 0.894872 0.775194 +vt 0.956410 0.775194 +vt 0.956410 0.806202 +vt 0.987179 0.744186 +vt 0.966667 0.868217 +vt 0.961538 0.961240 +vt 0.966667 0.930233 +vt 0.976923 0.976744 +vt 0.956410 0.775194 +vt 0.900000 0.806202 +vt 0.894872 0.775194 +vt 0.966667 0.930233 +vt 0.976923 0.976744 +vt 0.961538 0.961240 +vt 0.966667 0.868217 +vt 0.884615 0.868217 +vt 0.894872 0.868217 +vt 0.987179 0.744186 +vt 0.905128 0.930233 +vt 0.864103 0.930233 +vt 0.661538 0.651163 +vt 0.671795 0.697674 +vt 0.671795 0.651163 +vt 0.661538 0.697674 +vt 0.671795 0.759690 +vt 0.661538 0.759690 +vt 0.671795 0.821705 +vt 0.661538 0.821705 +vt 0.671795 0.868217 +vt 0.651282 0.759690 +vt 0.651282 0.821705 +vt 0.689744 0.868217 +vt 0.682051 0.821705 +vt 0.728205 0.217054 +vt 0.728205 0.279070 +vt 0.738462 0.310078 +vt 0.846154 0.713178 +vt 0.830769 0.620155 +vt 0.830769 0.666667 +vt 0.810256 0.620155 +vt 0.794872 0.713178 +vt 0.810256 0.666667 +vt 0.866667 0.759690 +vt 0.830769 0.713178 +vt 0.830769 0.759690 +vt 0.774359 0.759690 +vt 0.810256 0.713178 +vt -0.000000 0.186047 +vt 0.420513 0.000000 +vt 0.420513 0.124031 +vt 0.420513 0.170543 +vt 0.420513 0.077519 +vt 0.000000 0.046512 +vt 0.184615 0.806202 +vt 0.184615 0.883721 +vt 0.174359 0.837209 +vt 0.174359 0.852713 +vt 0.164103 0.806202 +vt 0.102564 0.883721 +vt 0.102564 0.806202 +vt 0.100000 0.790698 +vt 0.097436 0.782946 +vt 0.092308 0.775194 +vt 0.082051 0.806202 +vt 0.541026 0.961240 +vt 0.253846 0.806202 +vt 0.548718 0.806202 +vt 0.246154 0.883721 +vt 0.000000 0.186047 +vt 0.692308 0.790698 +vt 0.841026 0.790698 +vt 0.864103 0.930233 +vt 0.956410 0.806202 +vt 0.661538 0.868217 +vt 0.643590 0.868217 +vt 0.682051 0.759690 +vt 0.800000 0.310078 +vt 0.800000 0.186047 +vt 0.810256 0.279070 +vt 0.810256 0.217054 +vt 0.738462 0.186047 +vt 0.810256 0.759690 +vt 0.835897 0.046512 +vt 0.835897 0.186047 +vt 0.835897 0.108527 +vt 0.835897 0.062016 +vt 0.835897 0.015504 +vt 0.835897 0.124031 +vt 0.835897 0.155039 +vt 0.835897 0.077519 +vt 0.835897 0.031008 +vt 0.835897 0.139535 +vt 0.835897 0.170543 +vt 0.835897 0.093023 +vt 0.102564 0.744186 +vt 0.164103 0.759690 +vt 0.164103 0.744186 +vt 0.102564 0.775194 +vt 0.164103 0.790698 +vt 0.164103 0.775194 +vt 0.102564 0.728682 +vt 0.164103 0.728682 +vt 0.102564 0.759690 +vt 0.102564 0.790698 +vt 0.164103 0.713178 +vt 0.102564 0.713178 +vt 0.830769 0.310078 +vt 0.810256 0.434109 +vt 0.830769 0.434109 +vt 0.810256 0.558140 +vt 0.830769 0.558140 +vt 0.697436 0.341085 +vt 0.676923 0.310078 +vt 0.676923 0.341085 +vt 0.682051 0.527132 +vt 0.697436 0.713178 +vt 0.692308 0.759690 +vt 0.697436 0.759690 +vt 0.748718 0.341085 +vt 0.697436 0.527132 +vt 0.692308 0.713178 +vt 0.717949 0.527132 +vt 0.738462 0.341085 +vt 0.748718 0.341085 +vt 0.784615 0.558140 +vt 0.800000 0.434109 +vt 0.707692 0.713178 +vt 0.707692 0.759690 +vt 0.764103 0.759690 +vt 0.764103 0.713178 +vt 0.774359 0.713178 +vt 0.769231 0.620155 +vt 0.779487 0.620155 +vt 0.810256 0.310078 +vt 0.794872 0.558140 +vt 0.738462 0.341085 +vt 0.728205 0.310078 +vt 0.707692 0.713178 +vt 0.769231 0.620155 +vt 0.738462 0.310078 +vt 0.810256 0.434109 +vt 0.800000 0.310078 +vt 0.810256 0.310078 +vt 0.794872 0.558140 +vt 0.800000 0.434109 +vt 0.779487 0.620155 +vt 0.784615 0.558140 +vt 0.774359 0.713178 +vt 0.764103 0.759690 +vt 0.707692 0.759690 +vt 0.764103 0.713178 +vt 0.697436 0.713178 +vt 0.676923 0.713178 +vt 0.682051 0.759690 +vt 0.682051 0.713178 +vt 0.717949 0.527132 +vt 0.835897 0.000000 +vt 0.697436 0.310078 +vt 0.676923 0.527132 +vt 0.692308 0.527132 +vt 0.728205 0.310078 +vt 0.676923 0.759690 +vn -1.0000 0.0000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -0.7071 -0.7071 +vn -0.3162 -0.9487 0.0000 +vn -0.9487 -0.3162 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.8944 -0.4472 0.0000 +vn 0.9701 0.2425 0.0000 +vn -0.8944 0.4472 0.0000 +vn -0.9864 -0.1644 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.9701 0.2425 0.0000 +vn 0.8000 -0.6000 0.0000 +vn 0.9864 -0.1644 0.0000 +vn 0.0000 -0.5000 -0.8660 +vn 0.0000 -0.8660 -0.5000 +vn -0.0000 -0.8660 0.5000 +vn -0.0000 -0.5000 0.8660 +vn -0.0000 0.5000 0.8660 +vn -0.0000 0.8660 0.5000 +vn 0.0000 0.8660 -0.5000 +vn 0.0000 0.5000 -0.8660 +vn -0.0000 0.1305 0.9914 +vn 0.0000 0.2588 -0.9659 +vn 0.9239 0.0000 0.3827 +vn 0.9162 0.1662 -0.3645 +vn 0.9162 0.1662 0.3645 +vn 0.8287 0.4395 -0.3465 +vn 0.8287 0.4395 0.3465 +vn 0.8603 0.3367 -0.3828 +vn 0.8603 0.3367 0.3828 +vn 0.7733 -0.6340 0.0000 +vn 0.9571 -0.2898 0.0000 +vn -0.8727 0.2440 -0.4229 +vn -0.6861 0.6861 0.2418 +vn -0.8727 0.2440 0.4229 +vn 0.7071 -0.7071 0.0000 +vn -0.9301 0.1173 -0.3481 +vn -0.8321 0.5547 0.0000 +vn -0.5496 0.6292 -0.5496 +vn -0.2557 0.0494 -0.9655 +vn 0.3827 0.0000 -0.9239 +vn -0.4602 0.4602 -0.7592 +vn -0.8812 -0.2937 -0.3705 +vn -0.9912 0.1327 0.0000 +vn -0.8812 -0.2937 0.3705 +vn -0.2557 0.0494 0.9655 +vn 0.3830 0.2240 -0.8962 +vn 0.4161 0.0853 -0.9053 +vn -0.3931 0.1897 -0.8997 +vn 0.2291 0.5399 -0.8099 +vn 0.3304 0.2876 -0.8989 +vn 0.6853 0.2467 -0.6853 +vn 0.3243 0.1224 -0.9380 +vn 0.9239 0.0000 -0.3827 +vn -0.6861 0.6861 -0.2418 +vn -0.3931 0.1897 0.8997 +vn 0.3243 0.1224 0.9380 +vn -0.4602 0.4602 0.7592 +vn 0.3827 0.0000 0.9239 +vn 0.4161 0.0853 0.9053 +vn 0.3830 0.2240 0.8962 +vn 0.6853 0.2467 0.6853 +vn 0.2291 0.5399 0.8099 +vn -0.5496 0.6292 0.5496 +vn 0.3304 0.2876 0.8989 +vn -0.9301 0.1173 0.3481 +s off +f 125/161/15 106/162/15 108/163/15 +f 133/164/16 101/165/16 99/166/16 +f 124/167/15 104/168/15 106/162/15 +f 123/169/15 102/170/15 104/168/15 +f 120/171/15 118/172/15 96/173/15 +f 98/174/15 120/171/15 96/173/15 +f 122/175/15 100/176/15 102/177/15 +f 118/172/15 129/178/15 116/179/15 +f 100/176/15 119/180/15 98/174/15 +f 116/179/15 128/181/15 114/182/15 +f 128/181/15 112/183/15 114/182/15 +f 112/183/15 126/184/15 110/185/15 +f 110/185/15 125/161/15 108/163/15 +f 134/186/16 103/187/16 101/188/16 +f 135/189/16 105/190/16 103/187/16 +f 136/191/16 107/192/16 105/190/16 +f 107/192/16 138/193/16 109/194/16 +f 109/194/16 139/195/16 111/196/16 +f 111/196/16 140/197/16 113/198/16 +f 113/198/16 141/199/16 115/200/16 +f 115/200/16 142/201/16 117/202/16 +f 117/202/16 132/203/16 95/204/16 +f 132/203/16 97/205/16 95/204/16 +f 131/206/16 99/166/16 97/205/16 +f 146/207/17 151/208/17 148/209/17 +f 151/208/18 147/210/18 148/209/18 +f 151/208/16 154/211/16 155/212/16 +f 144/213/16 143/214/16 152/215/16 +f 171/216/19 150/217/19 152/215/19 +f 162/218/15 156/219/15 170/220/15 +f 167/221/15 168/222/15 162/218/15 +f 173/223/19 174/224/19 172/225/19 +f 176/226/18 178/227/18 177/228/18 +f 179/229/20 174/224/20 175/230/20 +f 177/228/21 173/223/21 172/225/21 +f 178/231/16 175/230/16 173/223/16 +f 176/232/15 172/225/15 174/224/15 +f 182/233/16 180/234/16 181/235/16 +f 187/236/22 184/237/22 185/238/22 +f 189/239/19 186/240/19 187/236/19 +f 191/241/23 188/242/23 189/239/23 +f 193/243/24 190/244/24 191/241/24 +f 197/245/25 194/246/25 195/247/25 +f 199/248/26 196/249/26 197/245/26 +f 201/250/18 198/251/18 199/248/18 +f 203/252/27 200/253/27 201/250/27 +f 205/254/28 202/255/28 203/252/28 +f 190/256/29 194/257/29 196/258/29 +f 190/256/29 198/259/29 188/260/29 +f 186/261/29 198/259/29 200/262/29 +f 184/263/29 200/262/29 202/264/29 +f 204/265/29 207/266/29 202/264/29 +f 207/266/29 204/265/29 206/267/29 +f 187/268/17 199/269/17 189/270/17 +f 216/271/17 215/272/17 205/273/17 +f 205/273/17 203/274/17 216/271/17 +f 191/275/17 199/269/17 197/276/17 +f 185/277/17 216/271/17 203/274/17 +f 191/275/17 195/278/17 193/279/17 +f 217/280/23 220/281/23 218/282/23 +f 219/283/30 222/284/30 220/281/30 +f 221/285/31 224/286/31 222/284/31 +f 223/287/32 226/288/32 224/286/32 +f 223/287/29 221/289/29 219/290/29 +f 226/288/17 218/291/17 220/292/17 +f 228/293/19 213/294/19 248/295/19 +f 232/296/17 231/297/17 263/298/17 +f 210/299/29 209/300/29 262/301/29 +f 243/302/17 259/303/17 261/304/17 +f 254/305/29 258/306/29 209/300/29 +f 263/298/17 259/303/17 232/296/17 +f 258/306/29 262/301/29 209/300/29 +f 125/161/15 124/167/15 106/162/15 +f 133/164/16 134/307/16 101/165/16 +f 124/167/15 123/169/15 104/168/15 +f 123/169/15 122/308/15 102/170/15 +f 120/171/15 130/309/15 118/172/15 +f 98/174/15 119/180/15 120/171/15 +f 122/175/15 121/310/15 100/176/15 +f 118/172/15 130/309/15 129/178/15 +f 100/176/15 121/310/15 119/180/15 +f 116/179/15 129/178/15 128/181/15 +f 128/181/15 127/311/15 112/183/15 +f 112/183/15 127/311/15 126/184/15 +f 110/185/15 126/184/15 125/161/15 +f 134/186/16 135/189/16 103/187/16 +f 135/189/16 136/191/16 105/190/16 +f 136/191/16 137/312/16 107/192/16 +f 107/192/16 137/312/16 138/193/16 +f 109/194/16 138/193/16 139/195/16 +f 111/196/16 139/195/16 140/197/16 +f 113/198/16 140/197/16 141/199/16 +f 115/200/16 141/199/16 142/201/16 +f 117/202/16 142/201/16 132/203/16 +f 132/203/16 131/206/16 97/205/16 +f 131/206/16 133/164/16 99/166/16 +f 146/207/17 149/313/17 151/208/17 +f 151/208/18 150/314/18 147/210/18 +f 153/315/16 150/316/16 155/212/16 +f 150/316/16 151/208/16 155/212/16 +f 151/208/16 149/313/16 154/211/16 +f 143/214/16 145/317/16 152/215/16 +f 152/215/16 150/316/16 144/213/16 +f 150/316/16 153/315/16 144/213/16 +f 171/216/19 170/318/19 150/217/19 +f 170/220/15 171/216/15 163/319/15 +f 163/319/15 162/218/15 170/220/15 +f 163/319/15 164/320/15 162/218/15 +f 164/320/15 165/321/15 162/218/15 +f 165/321/15 166/322/15 167/221/15 +f 168/222/17 169/323/17 162/218/17 +f 165/321/15 167/221/15 162/218/15 +f 173/223/19 175/230/19 174/224/19 +f 176/226/18 179/324/18 178/227/18 +f 179/229/20 176/325/20 174/224/20 +f 177/228/21 178/227/21 173/223/21 +f 178/231/16 179/326/16 175/230/16 +f 176/232/15 177/327/15 172/225/15 +f 182/233/16 183/328/16 180/234/16 +f 187/236/22 186/240/22 184/237/22 +f 189/239/19 188/242/19 186/240/19 +f 191/241/23 190/244/23 188/242/23 +f 193/243/24 192/329/24 190/244/24 +f 197/245/25 196/249/25 194/246/25 +f 199/248/26 198/251/26 196/249/26 +f 201/250/18 200/253/18 198/251/18 +f 203/252/27 202/255/27 200/253/27 +f 205/254/28 204/330/28 202/255/28 +f 190/256/29 192/331/29 194/257/29 +f 190/256/29 196/258/29 198/259/29 +f 186/261/29 188/260/29 198/259/29 +f 184/263/29 186/261/29 200/262/29 +f 202/264/29 207/266/29 184/263/29 +f 187/268/17 201/332/17 199/269/17 +f 191/275/17 189/270/17 199/269/17 +f 203/274/17 201/332/17 185/277/17 +f 201/332/17 187/268/17 185/277/17 +f 191/275/17 197/276/17 195/278/17 +f 217/280/23 219/283/23 220/281/23 +f 219/283/30 221/285/30 222/284/30 +f 221/285/31 223/287/31 224/286/31 +f 223/287/32 225/333/32 226/288/32 +f 219/290/29 217/334/29 225/333/29 +f 225/333/29 223/287/29 219/290/29 +f 220/292/17 222/335/17 224/286/17 +f 224/286/17 226/288/17 220/292/17 +f 248/295/19 247/336/19 236/337/19 +f 247/336/19 214/338/19 236/337/19 +f 214/338/19 227/339/19 236/337/19 +f 236/337/19 235/340/19 248/295/19 +f 235/340/19 228/293/19 248/295/19 +f 243/302/17 232/296/17 259/303/17 +f 254/305/29 260/341/29 258/306/29 +s 1 +f 97/205/33 96/173/29 95/204/29 +f 99/166/34 98/174/33 97/205/33 +f 101/165/19 100/176/34 99/166/34 +f 103/187/35 102/170/19 101/188/19 +f 105/190/36 104/168/35 103/187/35 +f 107/192/17 106/162/36 105/190/36 +f 109/194/37 108/163/17 107/192/17 +f 111/196/38 110/185/37 109/194/37 +f 113/198/18 112/183/38 111/196/38 +f 115/200/39 114/182/18 113/198/18 +f 117/202/40 116/179/39 115/200/39 +f 95/204/29 118/172/40 117/202/40 +f 137/342/29 124/167/40 125/161/29 +f 134/343/18 121/310/38 122/175/18 +f 141/344/35 128/181/19 129/178/35 +f 138/345/33 125/161/29 126/184/33 +f 135/346/39 122/308/18 123/169/39 +f 142/347/36 129/178/35 130/309/36 +f 131/348/37 120/171/17 119/180/37 +f 139/349/34 126/184/33 127/311/34 +f 136/350/40 123/169/39 124/167/40 +f 132/351/17 130/309/36 120/171/17 +f 133/352/38 119/180/37 121/310/38 +f 140/353/19 127/311/34 128/181/19 +f 167/354/39 159/355/18 160/356/39 +f 165/357/38 157/358/37 158/359/38 +f 168/360/40 160/356/39 161/361/40 +f 166/362/18 158/359/38 159/355/18 +f 145/317/41 164/363/37 163/319/41 +f 168/360/40 149/364/42 169/365/42 +f 145/317/41 171/216/17 152/215/17 +f 227/366/43 212/367/44 229/368/45 +f 229/368/45 211/369/46 230/370/47 +f 230/370/47 210/299/48 231/297/49 +f 258/306/50 263/298/51 262/301/51 +f 208/371/52 228/372/53 233/373/54 +f 208/371/52 233/373/54 185/374/23 +f 260/341/55 259/303/50 258/306/50 +f 257/375/56 206/376/57 256/377/58 +f 253/378/59 247/336/60 248/295/61 +f 246/379/62 207/380/63 257/375/56 +f 234/381/64 233/382/54 241/383/65 +f 250/384/66 249/385/67 253/378/59 +f 255/386/68 257/375/56 256/387/58 +f 255/386/68 254/388/69 252/389/70 +f 252/389/70 254/388/69 209/390/71 +f 251/391/72 209/390/71 210/392/48 +f 247/336/60 212/367/44 214/393/73 +f 250/384/66 210/392/48 211/394/46 +f 249/385/67 211/394/46 212/367/44 +f 208/395/52 248/295/61 213/396/74 +f 242/397/75 241/383/65 239/398/76 +f 233/382/54 235/399/77 241/383/65 +f 229/400/45 236/401/78 227/402/43 +f 230/403/47 237/404/79 229/400/45 +f 231/405/49 238/406/80 230/403/47 +f 232/407/81 239/398/76 231/405/49 +f 242/397/75 243/408/82 244/409/83 +f 240/410/84 232/407/81 243/408/82 +f 244/409/83 245/411/85 242/397/75 +f 241/383/65 235/399/77 236/401/78 +f 245/412/85 215/413/57 216/414/63 +f 185/374/23 245/412/85 216/414/63 +f 262/301/51 231/297/49 210/299/48 +f 253/378/59 246/415/62 255/386/68 +f 97/205/33 98/174/33 96/173/29 +f 99/166/34 100/176/34 98/174/33 +f 101/165/19 102/177/19 100/176/34 +f 103/187/35 104/168/35 102/170/19 +f 105/190/36 106/162/36 104/168/35 +f 107/192/17 108/163/17 106/162/36 +f 109/194/37 110/185/37 108/163/17 +f 111/196/38 112/183/38 110/185/37 +f 113/198/18 114/182/18 112/183/38 +f 115/200/39 116/179/39 114/182/18 +f 117/202/40 118/172/40 116/179/39 +f 95/204/29 96/173/29 118/172/40 +f 137/342/29 136/350/40 124/167/40 +f 134/343/18 133/352/38 121/310/38 +f 141/344/35 140/353/19 128/181/19 +f 138/345/33 137/342/29 125/161/29 +f 135/346/39 134/416/18 122/308/18 +f 142/347/36 141/344/35 129/178/35 +f 131/348/37 132/351/17 120/171/17 +f 139/349/34 138/345/33 126/184/33 +f 136/350/40 135/346/39 123/169/39 +f 132/351/17 142/347/36 130/309/36 +f 133/352/38 131/348/37 119/180/37 +f 140/353/19 139/349/34 127/311/34 +f 167/354/39 166/362/18 159/355/18 +f 165/357/38 164/363/37 157/358/37 +f 168/360/40 167/354/39 160/356/39 +f 166/362/18 165/357/38 158/359/38 +f 145/317/41 157/358/37 164/363/37 +f 168/360/40 161/361/40 149/364/42 +f 145/317/41 163/319/41 171/216/17 +f 227/366/43 214/393/73 212/367/44 +f 229/368/45 212/367/44 211/369/46 +f 230/370/47 211/369/46 210/299/48 +f 258/306/50 259/303/50 263/298/51 +f 208/371/52 213/417/74 228/372/53 +f 234/418/64 185/374/23 233/373/54 +f 185/374/23 184/419/23 208/371/52 +f 184/419/23 246/379/62 208/371/52 +f 260/341/55 261/304/55 259/303/50 +f 257/375/56 207/380/63 206/376/57 +f 246/379/62 184/419/23 207/380/63 +f 241/383/65 242/397/75 234/381/64 +f 242/397/75 245/411/85 234/381/64 +f 249/385/67 247/336/60 253/378/59 +f 253/378/59 255/386/68 251/391/72 +f 255/386/68 252/389/70 251/391/72 +f 251/391/72 250/384/66 253/378/59 +f 255/386/68 256/387/58 254/388/69 +f 251/391/72 252/389/70 209/390/71 +f 247/336/60 249/385/67 212/367/44 +f 250/384/66 251/391/72 210/392/48 +f 249/385/67 250/384/66 211/394/46 +f 208/395/52 253/378/59 248/295/61 +f 241/383/65 236/401/78 237/404/79 +f 237/404/79 238/406/80 241/383/65 +f 238/406/80 239/398/76 241/383/65 +f 239/398/76 240/410/84 242/397/75 +f 233/382/54 228/420/53 235/399/77 +f 229/400/45 237/404/79 236/401/78 +f 230/403/47 238/406/80 237/404/79 +f 231/405/49 239/398/76 238/406/80 +f 232/407/81 240/410/84 239/398/76 +f 242/397/75 240/410/84 243/408/82 +f 245/412/85 244/421/83 215/413/57 +f 185/374/23 234/418/64 245/412/85 +f 262/301/51 263/298/51 231/297/49 +f 208/395/52 246/415/62 253/378/59 +f 246/415/62 257/375/56 255/386/68 +o Hammer v 3.125000 0.375000 -0.125000 v 3.125000 0.375000 0.125000 v 3.301777 0.301777 -0.125000 @@ -204,6 +1268,1013 @@ v 3.375000 0.750000 -0.125000 v 3.375000 0.750000 0.125000 v 3.286612 0.786612 -0.125000 v 3.286612 0.786612 0.125000 +vt 0.028205 0.279070 +vt 0.035897 0.310078 +vt 0.028205 0.310078 +vt 0.035897 0.186047 +vt 0.028205 0.186047 +vt 0.017949 0.186047 +vt 0.010256 0.294574 +vt 0.010256 0.186047 +vt 0.046154 0.186047 +vt 0.035897 0.279070 +vt 0.017949 0.294574 +vt 0.051282 0.418605 +vt 0.046154 0.403101 +vt 0.051282 0.403101 +vt 0.061538 0.418605 +vt 0.056410 0.403101 +vt 0.061538 0.403101 +vt 0.051282 0.372093 +vt 0.056410 0.387597 +vt 0.051282 0.387597 +vt 0.061538 0.372093 +vt 0.061538 0.387597 +vt 0.066667 0.372093 +vt 0.071795 0.387597 +vt 0.066667 0.387597 +vt 0.071795 0.372093 +vt 0.076923 0.387597 +vt 0.071795 0.418605 +vt 0.066667 0.403101 +vt 0.071795 0.403101 +vt 0.082051 0.372093 +vt 0.082051 0.387597 +vt 0.076923 0.403101 +vt 0.041026 0.372093 +vt 0.046154 0.387597 +vt 0.041026 0.387597 +vt 0.082051 0.418605 +vt 0.082051 0.403101 +vt 0.041026 0.418605 +vt 0.041026 0.403101 +vt 0.066667 0.418605 +vt 0.046154 0.294574 +vt 0.046154 0.418605 +vt 0.056410 0.418605 +vt 0.056410 0.372093 +vt 0.076923 0.372093 +vt 0.076923 0.418605 +vt 0.046154 0.372093 +vt 0.051282 0.418605 +vt 0.058974 0.449612 +vt 0.051282 0.449612 +vt 0.058974 0.418605 +vt 0.066667 0.449612 +vt 0.066667 0.418605 +vt 0.074359 0.449612 +vt 0.074359 0.418605 +vt 0.082051 0.449612 +vt 0.020513 0.418605 +vt 0.028205 0.449612 +vt 0.020513 0.449612 +vt 0.028205 0.418605 +vt 0.035897 0.449612 +vt 0.035897 0.418605 +vt 0.043590 0.449612 +vt 0.043590 0.418605 +vt 0.051282 0.356589 +vt 0.046154 0.356589 +vt 0.056410 0.356589 +vt 0.061538 0.356589 +vt 0.066667 0.356589 +vt 0.071795 0.356589 +vt 0.076923 0.356589 +vt 0.082051 0.356589 +vt 0.041026 0.356589 +vt 0.082051 0.418605 +vn 0.4472 0.8944 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +s off +f 286/422/86 284/423/86 285/424/86 +f 283/425/87 286/422/87 281/426/87 +f 280/427/88 284/428/88 282/429/88 +f 282/430/89 287/431/89 283/425/89 +f 280/427/90 286/422/90 285/432/90 +f 306/433/89 300/434/89 302/435/89 +f 310/436/89 288/437/89 290/438/89 +f 307/439/90 289/440/90 303/441/90 +f 289/440/90 311/442/90 291/443/90 +f 313/444/90 295/445/90 293/446/90 +f 311/442/90 293/446/90 291/443/90 +f 315/447/90 297/448/90 295/445/90 +f 314/449/89 292/450/89 294/451/89 +f 297/448/90 319/452/90 299/453/90 +f 296/454/89 314/449/89 294/451/89 +f 319/455/90 301/456/90 299/457/90 +f 318/458/89 296/454/89 298/459/89 +f 288/437/89 306/433/89 302/435/89 +f 300/434/89 318/460/89 298/461/89 +f 301/456/90 307/439/90 303/441/90 +f 312/462/89 290/438/89 292/450/89 +f 286/422/86 287/431/86 284/423/86 +f 283/425/87 287/431/87 286/422/87 +f 280/427/88 285/432/88 284/428/88 +f 282/430/89 284/463/89 287/431/89 +f 280/427/90 281/426/90 286/422/90 +f 306/433/89 304/464/89 300/434/89 +f 310/436/89 308/465/89 288/437/89 +f 307/439/90 309/466/90 289/440/90 +f 289/440/90 309/466/90 311/442/90 +f 313/444/90 315/447/90 295/445/90 +f 311/442/90 313/444/90 293/446/90 +f 315/447/90 317/467/90 297/448/90 +f 314/449/89 312/462/89 292/450/89 +f 297/448/90 317/467/90 319/452/90 +f 296/454/89 316/468/89 314/449/89 +f 319/455/90 305/469/90 301/456/90 +f 318/458/89 316/468/89 296/454/89 +f 288/437/89 308/465/89 306/433/89 +f 300/434/89 304/464/89 318/460/89 +f 301/456/90 305/469/90 307/439/90 +f 312/462/89 310/436/89 290/438/89 +s 1 +f 265/470/91 266/471/92 264/472/91 +f 267/473/92 268/474/87 266/471/92 +f 269/475/87 270/476/93 268/474/87 +f 271/477/93 272/478/94 270/476/93 +f 273/479/94 274/480/95 272/481/94 +f 275/482/95 276/483/88 274/480/95 +f 277/484/88 278/485/96 276/483/88 +f 279/486/96 264/472/91 278/485/96 +f 289/440/91 290/438/92 288/437/91 +f 291/443/92 292/450/87 290/438/92 +f 293/446/87 294/451/93 292/450/87 +f 295/445/93 296/454/94 294/451/93 +f 297/448/94 298/459/95 296/454/94 +f 299/457/95 300/434/88 298/461/95 +f 301/456/88 302/435/96 300/434/88 +f 303/441/96 288/437/91 302/435/96 +f 306/487/93 305/469/87 304/488/87 +f 308/489/94 307/439/93 306/487/93 +f 310/490/95 309/466/94 308/489/94 +f 312/491/88 311/442/95 310/490/95 +f 314/492/96 313/444/88 312/491/88 +f 316/493/91 315/447/96 314/492/96 +f 318/494/92 317/467/91 316/493/91 +f 304/488/87 319/455/92 318/495/92 +f 265/470/91 267/473/92 266/471/92 +f 267/473/92 269/475/87 268/474/87 +f 269/475/87 271/477/93 270/476/93 +f 271/477/93 273/496/94 272/478/94 +f 273/479/94 275/482/95 274/480/95 +f 275/482/95 277/484/88 276/483/88 +f 277/484/88 279/486/96 278/485/96 +f 279/486/96 265/470/91 264/472/91 +f 289/440/91 291/443/92 290/438/92 +f 291/443/92 293/446/87 292/450/87 +f 293/446/87 295/445/93 294/451/93 +f 295/445/93 297/448/94 296/454/94 +f 297/448/94 299/453/95 298/459/95 +f 299/457/95 301/456/88 300/434/88 +f 301/456/88 303/441/96 302/435/96 +f 303/441/96 289/440/91 288/437/91 +f 306/487/93 307/439/93 305/469/87 +f 308/489/94 309/466/94 307/439/93 +f 310/490/95 311/442/95 309/466/94 +f 312/491/88 313/444/88 311/442/95 +f 314/492/96 315/447/96 313/444/88 +f 316/493/91 317/467/91 315/447/96 +f 318/494/92 319/452/92 317/467/91 +f 304/488/87 305/469/87 319/455/92 +o Magazine +v 1.875000 -3.437500 0.437500 +v 3.250000 -3.437500 0.437500 +v 3.375000 -3.437500 0.312500 +v 3.375000 -3.437500 -0.312500 +v 1.750000 -3.437500 -0.312500 +v 1.750000 -3.437500 0.312500 +v 3.250000 -3.437500 -0.437500 +v 1.875000 -3.437500 -0.437500 +v 3.375000 -3.562500 0.312500 +v 3.375000 -3.562500 -0.312500 +v 1.750000 -3.562500 0.312500 +v 1.750000 -3.562500 -0.312500 +v 1.875000 -3.562500 0.437500 +v 3.250000 -3.562500 0.437500 +v 3.250000 -3.562500 -0.437500 +v 1.875000 -3.562500 -0.437500 +v 1.937500 -3.437500 -0.312500 +v 1.937500 -3.437500 0.312500 +v 3.312500 -3.437500 -0.312500 +v 3.312500 -3.437500 0.312500 +v 0.875000 0.562500 0.312500 +v 0.875000 0.562500 -0.312500 +v 2.250000 0.562500 0.312500 +v 2.250000 0.562500 -0.312500 +vt 0.928205 0.744186 +vt 0.923077 0.728682 +vt 0.928205 0.635659 +vt 0.984615 0.511628 +vt 0.989744 0.527132 +vt 0.984615 0.620155 +vt 0.861538 0.496124 +vt 0.917949 0.573643 +vt 0.861538 0.573643 +vt 1.000000 0.000000 +vt 0.943590 0.496124 +vt 0.943590 0.000000 +vt 0.861538 0.000000 +vt 0.835897 0.496124 +vt 0.835897 -0.000000 +vt 0.917949 0.496124 +vt 0.917949 -0.000000 +vt 0.923077 0.651163 +vt 0.984615 0.635659 +vt 0.984615 0.744186 +vt 0.989744 0.651163 +vt 0.989744 0.728682 +vt 0.989744 0.604651 +vt 0.928205 0.620155 +vt 0.928205 0.511628 +vt 0.923077 0.604651 +vt 0.923077 0.527132 +vt 1.000000 0.496124 +vt 0.917949 0.527132 +vt 0.917949 0.604651 +vt 0.989744 0.620155 +vt 0.989744 0.635659 +vt 0.928205 0.496124 +vt 0.923077 0.511628 +vt 0.923077 0.496124 +vt 0.994872 0.604651 +vt 0.994872 0.527132 +vt 0.923077 0.635659 +vt 0.989744 0.496124 +vt 0.984615 0.496124 +vt 0.923077 0.620155 +vt 0.989744 0.511628 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.9665 -0.2567 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.9665 0.2567 0.0000 +vn -0.9239 0.0000 -0.3827 +vn -0.9239 0.0000 0.3827 +vn 0.3827 0.0000 0.9239 +vn 0.9239 0.0000 0.3827 +vn -0.3827 0.0000 -0.9239 +vn -0.3827 0.0000 0.9239 +vn 0.9239 0.0000 -0.3827 +vn 0.3827 0.0000 -0.9239 +s off +f 327/497/97 324/498/97 320/499/97 +f 334/500/98 329/501/98 333/502/98 +f 340/503/97 343/504/97 341/505/97 +f 336/506/99 343/507/99 338/508/99 +f 337/509/100 341/510/100 336/511/100 +f 337/509/101 342/512/101 340/503/101 +f 338/508/102 342/512/102 339/513/102 +f 324/498/97 325/514/97 320/499/97 +f 320/499/97 321/515/97 326/516/97 +f 321/515/97 322/517/97 326/516/97 +f 322/517/97 323/518/97 326/516/97 +f 326/516/97 327/497/97 320/499/97 +f 329/501/98 328/519/98 333/502/98 +f 333/502/98 332/520/98 335/521/98 +f 332/520/98 330/522/98 335/521/98 +f 330/522/98 331/523/98 335/521/98 +f 335/521/98 334/500/98 333/502/98 +f 340/503/97 342/512/97 343/504/97 +f 336/506/99 341/524/99 343/507/99 +f 337/509/100 340/503/100 341/510/100 +f 337/509/101 339/513/101 342/512/101 +f 338/508/102 343/507/102 342/512/102 +s 1 +f 324/525/103 330/522/104 325/526/104 +f 321/515/105 328/527/106 322/528/106 +f 327/529/107 331/530/103 324/531/103 +f 320/499/108 333/502/105 321/515/105 +f 322/532/106 329/501/109 323/533/109 +f 325/534/104 332/520/108 320/499/108 +f 323/535/109 334/500/110 326/536/110 +f 326/536/110 335/521/107 327/529/107 +f 324/525/103 331/523/103 330/522/104 +f 321/515/105 333/502/105 328/527/106 +f 327/529/107 335/521/107 331/530/103 +f 320/499/108 332/520/108 333/502/105 +f 322/532/106 328/519/106 329/501/109 +f 325/534/104 330/537/104 332/520/108 +f 323/535/109 329/538/109 334/500/110 +f 326/536/110 334/500/110 335/521/107 +o Bullet +v 1.187500 0.562500 -0.187500 +v 2.187500 0.562500 -0.187500 +v 1.187500 0.429918 -0.132583 +v 2.187500 0.429918 -0.132583 +v 1.187500 0.375000 0.000000 +v 2.187500 0.375000 0.000000 +v 1.187500 0.429918 0.132583 +v 2.187500 0.429918 0.132583 +v 1.187500 0.562500 0.187500 +v 2.187500 0.562500 0.187500 +v 1.187500 0.695083 0.132583 +v 2.187500 0.695083 0.132583 +v 1.187500 0.750000 0.000000 +v 2.187500 0.750000 0.000000 +v 1.187500 0.695083 -0.132583 +v 2.187500 0.695083 -0.132583 +v 1.000000 0.562500 -0.093750 +v 1.000000 0.496209 -0.066291 +v 1.000000 0.468750 0.000000 +v 1.000000 0.496209 0.066291 +v 1.000000 0.562500 0.093750 +v 1.000000 0.628792 0.066291 +v 1.000000 0.656250 0.000000 +v 1.000000 0.628792 -0.066291 +vt 0.612821 0.852407 +vt 0.605230 0.829458 +vt 0.612821 0.806508 +vt 0.618188 0.813230 +vt 0.620412 0.829458 +vt 0.618188 0.845685 +vt 0.607453 0.845685 +vt 0.607453 0.813230 +vt 0.605128 0.899225 +vt 0.564103 0.914729 +vt 0.564103 0.899225 +vt 0.605128 0.914729 +vt 0.564103 0.930233 +vt 0.605128 0.806202 +vt 0.564103 0.821705 +vt 0.564103 0.806202 +vt 0.605128 0.821705 +vt 0.564103 0.837209 +vt 0.605128 0.837209 +vt 0.564103 0.852713 +vt 0.605128 0.852713 +vt 0.564103 0.868217 +vt 0.605128 0.868217 +vt 0.564103 0.883721 +vt 0.605128 0.883721 +vt 0.556410 0.844961 +vt 0.556410 0.837209 +vt 0.554054 0.807659 +vt 0.556123 0.813913 +vt 0.549060 0.822757 +vt 0.556410 0.883721 +vt 0.556410 0.906977 +vt 0.556410 0.899225 +vt 0.556410 0.813953 +vt 0.556410 0.806202 +vt 0.556410 0.852713 +vt 0.556410 0.821705 +vt 0.556410 0.868217 +vt 0.556410 0.914729 +vt 0.605128 0.930233 +vt 0.556123 0.822757 +vt 0.554054 0.829011 +vt 0.551129 0.829011 +vt 0.549060 0.813913 +vt 0.551129 0.807659 +vt 0.556410 0.891473 +vt 0.556410 0.860465 +vt 0.556410 0.829457 +vt 0.556410 0.875969 +vt 0.556410 0.922481 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 1.0000 -0.0000 +vn 0.0000 0.7071 -0.7071 +vn -0.4472 0.0000 0.8944 +vn -0.7940 0.4299 0.4299 +vn -0.7940 0.0000 0.6080 +vn -0.7940 0.6080 -0.0000 +vn -0.7940 0.4299 -0.4299 +vn -0.7940 -0.4299 0.4299 +vn -0.4472 0.0000 -0.8944 +vn -0.4472 0.6325 -0.6325 +vn -0.7940 -0.4299 -0.4299 +vn -0.7940 0.0000 -0.6080 +vn -0.4472 -0.8944 0.0000 +vn -0.7940 -0.6080 0.0000 +vn -0.4472 0.8944 0.0000 +vn -0.4472 0.6325 0.6325 +vn -0.4472 -0.6325 0.6325 +vn -0.4472 -0.6325 -0.6325 +s off +f 357/539/111 353/540/111 349/541/111 +f 349/541/111 347/542/111 345/543/111 +f 345/543/111 359/544/111 357/539/111 +f 357/539/111 355/545/111 353/540/111 +f 353/540/111 351/546/111 349/541/111 +f 349/541/111 345/543/111 357/539/111 +s 1 +f 345/547/112 346/548/113 344/549/112 +f 347/550/113 348/551/114 346/548/113 +f 349/552/114 350/553/115 348/554/114 +f 351/555/115 352/556/116 350/553/115 +f 353/557/116 354/558/117 352/556/116 +f 355/559/117 356/560/118 354/558/117 +f 357/561/118 358/562/119 356/560/118 +f 359/563/119 344/549/112 358/562/119 +f 352/556/120 365/564/121 364/565/122 +f 366/566/123 367/567/124 363/568/125 +f 344/549/126 367/569/124 358/562/127 +f 344/549/126 361/570/128 360/571/129 +f 348/554/130 363/572/125 362/573/131 +f 356/560/132 365/574/121 354/558/133 +f 352/556/120 363/575/125 350/553/134 +f 358/562/127 366/576/123 356/560/132 +f 348/551/130 361/577/128 346/548/135 +f 345/547/112 347/550/113 346/548/113 +f 347/550/113 349/578/114 348/551/114 +f 349/552/114 351/555/115 350/553/115 +f 351/555/115 353/557/116 352/556/116 +f 353/557/116 355/559/117 354/558/117 +f 355/559/117 357/561/118 356/560/118 +f 357/561/118 359/563/119 358/562/119 +f 359/563/119 345/547/112 344/549/112 +f 352/556/120 354/558/133 365/564/121 +f 367/567/124 360/579/129 361/580/128 +f 361/580/128 362/581/131 367/567/124 +f 362/581/131 363/568/125 367/567/124 +f 363/568/125 364/582/122 365/583/121 +f 365/583/121 366/566/123 363/568/125 +f 344/549/126 360/584/129 367/569/124 +f 344/549/126 346/548/135 361/570/128 +f 348/554/130 350/553/134 363/572/125 +f 356/560/132 366/585/123 365/574/121 +f 352/556/120 364/586/122 363/575/125 +f 358/562/127 367/587/124 366/576/123 +f 348/551/130 362/588/131 361/577/128 +o Slide +v -10.000000 0.000000 -0.374999 +v -10.000000 0.000000 0.375001 +v -3.500000 0.000000 -0.375000 +v -10.000000 1.000000 0.250001 +v -10.000000 0.875000 0.216507 +v -10.000000 0.783494 0.125001 +v -10.000000 0.750000 0.000001 +v -10.000000 0.783494 -0.124999 +v -10.000000 0.875000 -0.216506 +v -10.000000 1.000000 -0.249999 +v -10.000000 1.125000 -0.216506 +v -10.000000 1.216506 -0.124999 +v -10.000000 1.250000 0.000001 +v -10.000000 1.216506 0.125000 +v -10.000000 1.125000 0.216507 +v -10.000000 -0.250000 -0.124999 +v -10.000000 -0.250000 0.125001 +v -10.000000 1.500000 -0.249999 +v -10.000000 1.375000 -0.374999 +v -10.000000 1.375000 0.375001 +v -10.000000 1.500000 0.250001 +v -1.500000 1.500000 0.250000 +v -1.500000 1.375000 -0.375000 +v -1.500000 1.500000 -0.250000 +v -1.500000 1.500000 0.000000 +v -1.500000 1.000000 -0.375000 +v 0.000000 1.500000 0.250000 +v 0.000000 1.500000 0.000000 +v 0.000000 1.000000 -0.375000 +v -1.500000 1.000000 -0.250000 +v 0.000000 1.000000 -0.250000 +v -1.500000 1.375000 0.000000 +v 0.000000 1.375000 0.000000 +v -1.500000 1.375000 -0.250000 +v 0.000000 1.375000 -0.375000 +v 0.000000 1.500000 -0.250000 +v 0.000000 1.375000 -0.250000 +v -3.500000 -0.250000 0.125000 +v -3.500000 -0.250000 -0.125000 +v 3.000000 1.500000 0.250000 +v 3.062500 1.375000 0.375000 +v 3.062500 1.375000 -0.375000 +v 3.000000 1.500000 -0.250000 +v 3.500000 0.500000 -0.375000 +v 3.500000 0.500000 0.375000 +v 3.500000 0.000000 -0.375000 +v 3.500000 0.000000 0.375000 +v -3.500000 0.000000 0.375000 +v 3.500000 0.500000 0.125000 +v 3.500000 0.500000 -0.125000 +v 3.125000 1.250000 0.125000 +v 3.125000 1.250000 -0.125000 +v 3.500000 0.000000 0.125000 +v 3.500000 0.000000 -0.125000 +v 1.500000 0.000000 0.125000 +v 1.500000 0.000000 -0.125000 +v 1.500000 1.250000 -0.125000 +v 1.500000 1.250000 0.125000 +v -9.812500 1.500000 0.187501 +v -8.937500 1.500000 0.187501 +v -9.812500 1.500000 -0.187499 +v -8.937500 1.500000 -0.187499 +v -9.812500 1.625000 -0.187499 +v -9.812500 1.625000 0.187501 +v -9.187500 1.625000 0.187501 +v -9.187500 1.625000 -0.187499 +v -9.750000 1.625000 0.062501 +v -9.250000 1.625000 0.062501 +v -9.750000 1.625000 -0.062499 +v -9.250000 1.625000 -0.062499 +v -9.750000 1.750000 -0.062499 +v -9.750000 1.750000 0.062501 +v -9.250000 1.750000 0.062501 +v -9.250000 1.750000 -0.062499 +v 1.812500 1.500000 0.187500 +v 2.437500 1.500000 0.187500 +v 1.812500 1.500000 -0.187500 +v 2.437500 1.500000 -0.187500 +v 2.062500 1.625000 -0.187500 +v 2.062500 1.625000 0.187500 +v 2.437500 1.625000 0.062500 +v 2.437500 1.625000 -0.062500 +v 2.437500 1.750000 0.187500 +v 2.437500 1.750000 -0.187500 +v 2.437500 1.750000 0.062500 +v 2.437500 1.750000 -0.062500 +v 2.187500 1.625000 0.187500 +v 2.187500 1.625000 -0.187500 +v 2.312500 1.750000 0.187500 +v 2.312500 1.750000 -0.187500 +v 2.312500 1.750000 0.062500 +v 2.312500 1.750000 -0.062500 +v 2.187500 1.625000 0.062500 +v 2.187500 1.625000 -0.062500 +vt 0.430769 0.542636 +vt 0.430769 0.589147 +vt 0.348718 0.713178 +vt 0.348718 0.217054 +vt 0.082051 0.186047 +vt 0.348718 0.186047 +vt 0.430769 0.527132 +vt 0.082051 0.542636 +vt 0.082051 0.527132 +vt 0.082051 0.465116 +vt 0.430769 0.465116 +vt 0.430769 0.496124 +vt 0.070258 0.511776 +vt 0.071623 0.496376 +vt 0.070258 0.480977 +vt 0.076923 0.449612 +vt 0.076923 0.542636 +vt 0.066529 0.523049 +vt 0.061435 0.527176 +vt 0.020513 0.542636 +vt 0.061435 0.465577 +vt 0.020513 0.449612 +vt 0.052612 0.511776 +vt 0.051248 0.496376 +vt 0.492308 0.496124 +vt 0.492308 0.573643 +vt 0.492308 0.589147 +vt 0.430769 0.511628 +vt 0.446154 0.511628 +vt 0.435897 0.527132 +vt 0.435897 0.511628 +vt 0.430769 0.573643 +vt 0.430769 0.527132 +vt 0.487179 0.527132 +vt 0.487179 0.511628 +vt 0.492308 0.527132 +vt 0.476923 0.511628 +vt 0.476923 0.527132 +vt 0.487179 0.573643 +vt 0.492308 0.573643 +vt 0.492308 0.542636 +vt 0.615385 0.527132 +vt 0.615385 0.542636 +vt 0.615385 0.449612 +vt 0.615385 0.465116 +vt 0.492308 0.465116 +vt 0.492308 0.527132 +vt 0.082051 0.279070 +vt 0.348718 0.248062 +vt 0.348718 0.279070 +vt 0.676923 0.480620 +vt 0.656410 0.449612 +vt 0.676923 0.449612 +vt 0.082051 0.217054 +vt 0.082051 0.248062 +vt 0.082051 0.449612 +vt 0.358974 0.279070 +vt 0.358974 0.186047 +vt 0.082051 0.821705 +vt 0.082051 0.883721 +vt 0.000000 0.883721 +vt 0.625641 0.480620 +vt 0.625641 0.511628 +vt 0.620513 0.449612 +vt 0.620513 0.542636 +vt 0.656410 0.542636 +vt 0.553846 0.744186 +vt 0.553846 0.775194 +vt 0.348718 0.806202 +vt 0.656410 0.511628 +vt 0.676923 0.542636 +vt 0.000000 0.542636 +vt 0.082051 0.542636 +vt 0.082051 0.604651 +vt 0.066667 0.728682 +vt 0.000000 0.697674 +vt 0.066667 0.697674 +vt 0.194872 0.728682 +vt 0.169231 0.775194 +vt 0.169231 0.728682 +vt 0.164103 0.728682 +vt 0.164103 0.775194 +vt 0.169231 0.790698 +vt 0.194872 0.775194 +vt 0.205128 0.790698 +vt 0.169231 0.713178 +vt 0.205128 0.775194 +vt 0.205128 0.728682 +vt 0.230769 0.728682 +vt 0.210256 0.744186 +vt 0.210256 0.728682 +vt 0.235897 0.744186 +vt 0.235897 0.728682 +vt 0.205128 0.728682 +vt 0.205128 0.744186 +vt 0.210256 0.759690 +vt 0.230769 0.744186 +vt 0.230769 0.759690 +vt 0.230769 0.713178 +vt 0.210256 0.713178 +vt 0.071795 0.232558 +vt 0.066667 0.217054 +vt 0.071795 0.217054 +vt 0.071795 0.325581 +vt 0.082051 0.310078 +vt 0.082051 0.325581 +vt 0.071795 0.294574 +vt 0.056410 0.279070 +vt 0.061538 0.279070 +vt 0.082051 0.263566 +vt 0.076923 0.232558 +vt 0.082051 0.217054 +vt 0.056410 0.294574 +vt 0.066667 0.341085 +vt 0.056410 0.341085 +vt 0.071795 0.263566 +vt 0.066667 0.248062 +vt 0.071795 0.248062 +vt 0.076923 0.341085 +vt 0.082051 0.341085 +vt 0.076923 0.294574 +vt 0.082051 0.294574 +vt 0.061538 0.232558 +vt 0.066667 0.232558 +vt 0.061538 0.263566 +vt 0.066667 0.263566 +vt 0.066667 0.294574 +vt 0.071795 0.310078 +vt 0.071795 0.186047 +vt 0.061538 0.201550 +vt 0.046154 0.186047 +vt 0.635897 0.713178 +vt 0.082051 0.713178 +vt 0.066529 0.469703 +vt 0.056341 0.523049 +vt 0.056341 0.469703 +vt 0.010256 0.511628 +vt 0.010256 0.480620 +vt 0.052612 0.480977 +vt 0.430769 0.573643 +vt 0.492308 0.511628 +vt 0.446154 0.527132 +vt 0.435897 0.573643 +vt 0.656410 0.480620 +vt 0.635897 0.279070 +vt 0.635897 0.341085 +vt 0.000000 0.728682 +vt 0.635897 0.744186 +vt 0.635897 0.775194 +vt 0.635897 0.806202 +vt 0.676923 0.511628 +vt 0.205128 0.713178 +vt 0.046154 0.294574 +vt 0.076923 0.248062 +vt 0.061538 0.217054 +vt 0.061538 0.248062 +vt 0.071795 0.341085 +vt 0.071795 0.294574 +vt 0.056410 0.201550 +vt 0.635897 0.651163 +vn 0.0000 0.0000 -1.0000 +vn -0.0000 -0.7071 -0.7071 +vn -0.0000 0.7071 -0.7071 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.0000 1.0000 +vn 0.8944 0.4472 0.0000 +vn 0.4472 0.8944 0.0000 +vn -0.4472 0.8944 0.0000 +vn -0.7071 0.7071 0.0000 +s off +f 390/589/136 393/590/136 370/591/136 +f 406/592/137 368/593/137 370/594/137 +f 391/595/138 386/596/138 385/597/138 +f 388/598/139 389/599/139 392/600/139 +f 385/597/140 379/601/140 380/602/140 +f 381/603/140 387/604/140 388/598/140 +f 379/601/140 386/605/140 378/606/140 +f 377/607/140 386/605/140 368/608/140 +f 371/609/140 369/610/140 387/604/140 +f 375/611/140 368/608/140 374/612/140 +f 389/599/139 395/613/139 392/600/139 +f 393/590/139 398/614/139 396/615/139 +f 395/613/136 399/616/136 392/600/136 +f 392/617/141 401/618/141 391/619/141 +f 401/618/141 393/620/141 390/621/141 +f 390/621/141 391/619/141 401/618/141 +f 404/622/140 403/623/140 402/624/140 +f 395/625/140 404/622/140 400/626/140 +f 398/627/140 402/624/140 396/628/140 +f 402/629/138 410/630/138 409/631/138 +f 396/615/136 370/591/136 393/590/136 +f 408/632/142 407/633/142 394/634/142 +f 410/630/139 403/635/139 395/613/139 +f 369/636/143 405/637/143 415/638/143 +f 420/639/141 412/640/141 414/641/141 +f 383/642/144 405/637/144 384/643/144 +f 408/632/145 387/644/145 415/638/145 +f 415/645/141 406/592/141 370/646/141 +f 416/647/136 420/648/136 422/649/136 +f 410/630/146 418/650/146 419/651/146 +f 407/633/146 408/652/146 418/650/146 +f 409/653/146 410/630/146 419/651/146 +f 419/651/146 411/654/146 409/653/146 +f 412/640/146 418/650/146 408/652/146 +f 423/655/144 422/656/144 415/657/144 +f 417/658/141 413/659/141 411/654/141 +f 423/660/145 421/661/145 417/662/145 +f 418/663/144 424/664/144 419/665/144 +f 432/666/139 430/667/139 431/668/139 +f 426/669/140 430/667/140 428/670/140 +f 428/671/136 433/672/136 429/673/136 +f 426/674/145 432/666/145 431/668/145 +f 429/675/147 432/666/147 427/676/147 +f 440/677/139 438/678/139 439/679/139 +f 437/680/141 440/677/141 435/681/141 +f 434/682/140 438/678/140 436/683/140 +f 436/684/136 441/685/136 437/686/136 +f 435/687/145 439/679/145 434/688/145 +f 452/689/139 456/690/139 450/691/139 +f 461/692/139 448/693/139 449/694/139 +f 445/695/136 446/696/136 455/697/136 +f 445/698/141 448/699/141 443/700/141 +f 442/701/148 446/702/148 444/703/148 +f 451/704/139 459/705/139 453/706/139 +f 459/707/145 449/694/145 453/708/145 +f 448/693/136 458/709/136 452/710/136 +f 460/711/149 456/690/149 458/712/149 +f 455/713/149 459/705/149 457/714/149 +f 447/715/139 460/716/139 461/692/139 +f 443/717/145 454/718/145 442/719/145 +f 396/615/136 409/631/136 413/720/136 +f 370/591/136 368/721/136 386/596/136 +f 386/596/136 390/589/136 370/591/136 +f 406/592/137 383/642/137 368/593/137 +f 391/595/138 390/589/138 386/596/138 +f 391/595/139 385/597/139 392/600/139 +f 385/597/139 388/598/139 392/600/139 +f 380/602/140 381/603/140 388/598/140 +f 388/598/140 385/597/140 380/602/140 +f 381/603/140 382/722/140 387/604/140 +f 379/601/140 385/597/140 386/605/140 +f 368/608/140 376/723/140 377/607/140 +f 377/607/140 378/606/140 386/605/140 +f 371/609/140 372/724/140 369/610/140 +f 387/604/140 382/722/140 371/609/140 +f 376/723/140 368/608/140 375/611/140 +f 368/608/140 383/725/140 369/610/140 +f 383/725/140 384/726/140 369/610/140 +f 369/610/140 372/724/140 373/727/140 +f 369/610/140 373/727/140 374/612/140 +f 368/608/140 369/610/140 374/612/140 +f 389/599/139 394/634/139 395/613/139 +f 393/590/139 397/728/139 398/614/139 +f 395/613/136 400/729/136 399/616/136 +f 392/617/141 399/730/141 401/618/141 +f 401/618/141 397/731/141 393/620/141 +f 395/625/140 403/623/140 404/622/140 +f 398/627/140 404/622/140 402/624/140 +f 402/629/138 403/635/138 410/630/138 +f 396/615/136 413/720/136 370/591/136 +f 388/598/142 387/644/142 389/599/142 +f 387/644/142 408/632/142 389/599/142 +f 389/599/142 408/632/142 394/634/142 +f 395/613/139 394/634/139 407/633/139 +f 407/633/139 410/630/139 395/613/139 +f 369/636/143 384/643/143 405/637/143 +f 420/639/141 416/732/141 412/640/141 +f 383/642/144 406/592/144 405/637/144 +f 387/644/145 369/636/145 415/638/145 +f 415/638/145 414/733/145 408/632/145 +f 414/733/145 412/734/145 408/632/145 +f 415/645/141 405/637/141 406/592/141 +f 425/735/136 418/663/136 422/649/136 +f 418/663/136 416/647/136 422/649/136 +f 410/630/146 407/633/146 418/650/146 +f 419/651/146 417/658/146 411/654/146 +f 412/640/146 416/732/146 418/650/146 +f 415/657/144 370/591/144 423/655/144 +f 370/591/144 413/720/144 423/655/144 +f 413/720/144 421/736/144 423/655/144 +f 422/656/144 420/737/144 414/738/144 +f 422/656/144 414/738/144 415/657/144 +f 417/658/141 421/739/141 413/659/141 +f 417/662/145 419/665/145 423/660/145 +f 419/665/145 424/664/145 423/660/145 +f 418/663/144 425/735/144 424/664/144 +f 432/666/139 433/672/139 430/667/139 +f 426/669/140 431/668/140 430/667/140 +f 428/671/136 430/667/136 433/672/136 +f 426/674/145 427/740/145 432/666/145 +f 429/675/147 433/672/147 432/666/147 +f 440/677/139 441/685/139 438/678/139 +f 437/680/141 441/685/141 440/677/141 +f 434/682/140 439/679/140 438/678/140 +f 436/684/136 438/678/136 441/685/136 +f 435/687/145 440/677/145 439/679/145 +f 452/689/139 458/712/139 456/690/139 +f 461/692/139 460/716/139 448/693/139 +f 457/714/136 451/704/136 445/695/136 +f 445/695/136 444/741/136 446/696/136 +f 455/697/136 457/714/136 445/695/136 +f 445/698/141 451/704/141 449/742/141 +f 451/704/141 453/706/141 449/742/141 +f 452/689/141 450/691/141 448/699/141 +f 450/691/141 443/700/141 448/699/141 +f 445/698/141 449/742/141 448/699/141 +f 442/701/148 447/715/148 446/702/148 +f 451/704/139 457/714/139 459/705/139 +f 459/707/145 461/692/145 449/694/145 +f 448/693/136 460/716/136 458/709/136 +f 460/711/149 454/743/149 456/690/149 +f 455/713/149 461/744/149 459/705/149 +f 455/745/139 446/702/139 461/692/139 +f 446/702/139 447/715/139 461/692/139 +f 447/715/139 454/746/139 460/716/139 +f 443/717/145 450/691/145 456/690/145 +f 454/718/145 447/747/145 442/719/145 +f 443/717/145 456/690/145 454/718/145 +f 402/629/136 409/631/136 396/615/136 +f 409/631/136 411/748/136 413/720/136 +o Decal +v -3.000000 0.000000 0.385001 +v -3.000000 1.375000 0.385001 +v -1.625000 0.000000 0.385001 +v -1.625000 1.375000 0.385001 +vt -0.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 -0.003906 +vn 0.0000 0.0000 1.0000 +s off +f 462/749/150 465/750/150 463/751/150 +f 462/749/150 464/752/150 465/750/150 +o DecalM +v -3.000000 0.000000 -0.384999 +v -3.000000 1.375000 -0.384999 +v -1.625000 0.000000 -0.384999 +v -1.625000 1.375000 -0.384999 +vt 0.000000 1.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 -0.003906 +vn 0.0000 0.0000 -1.0000 +s off +f 469/753/151 466/754/151 467/755/151 +f 469/753/151 468/756/151 466/754/151 +o TextM +v -9.000000 0.000000 -0.384999 +v -9.000000 1.375000 -0.384999 +v -3.500000 0.000000 -0.384999 +v -3.500000 1.375000 -0.384999 +vt 0.000000 1.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 0.000000 +vn 0.0000 0.0000 -1.0000 +s off +f 473/757/152 470/758/152 471/759/152 +f 473/757/152 472/760/152 470/758/152 +o Text +v -9.000000 0.000000 0.385001 +v -9.000000 1.375000 0.385001 +v -3.500000 0.000000 0.385001 +v -3.500000 1.375000 0.385001 +vt 0.000050 0.000050 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.999950 0.000050 +vn 0.0000 0.0000 1.0000 +s off +f 474/761/153 477/762/153 475/763/153 +f 474/761/153 476/764/153 477/762/153 +o Grip +v 0.000000 1.000000 0.250000 +v -10.125000 1.000000 0.250001 +v 0.000000 0.875000 0.216506 +v -10.125000 0.875000 0.216507 +v 0.000000 0.783494 0.125000 +v -10.125000 0.783494 0.125001 +v -0.000000 0.750000 0.000000 +v -10.125000 0.750000 0.000001 +v -0.000000 0.783494 -0.125000 +v -10.125000 0.783494 -0.124999 +v -0.000000 0.875000 -0.216506 +v -10.125000 0.875000 -0.216506 +v -0.000000 1.000000 -0.250000 +v -10.125000 1.000000 -0.249999 +v -0.000000 1.125000 -0.216506 +v -10.125000 1.125000 -0.216506 +v -0.000000 1.216506 -0.125000 +v -10.125000 1.216506 -0.124999 +v -0.000000 1.250000 0.000000 +v -10.125000 1.250000 0.000001 +v 0.000000 1.216506 0.125000 +v -10.125000 1.216506 0.125001 +v 0.000000 1.125000 0.216506 +v -10.125000 1.125000 0.216507 +v -10.125000 0.906250 0.162381 +v -10.125000 1.000000 0.187501 +v -10.125000 0.837620 0.093751 +v -10.125000 0.812500 0.000001 +v -10.125000 0.837620 -0.093749 +v -10.125000 0.906250 -0.162379 +v -10.125000 1.000000 -0.187499 +v -10.125000 1.093750 -0.162379 +v -10.125000 1.162380 -0.093749 +v -10.125000 1.187500 0.000001 +v -10.125000 1.162380 0.093751 +v -10.125000 1.093750 0.162381 +v 0.000000 0.906250 0.162368 +v 0.000000 1.000000 0.187489 +v 0.000000 0.837620 0.093739 +v -0.000000 0.812500 -0.000011 +v -0.000000 0.837620 -0.093761 +v -0.000000 0.906250 -0.162391 +v -0.000000 1.000000 -0.187511 +v -0.000000 1.093750 -0.162391 +v -0.000000 1.162380 -0.093761 +v -0.000000 1.187500 -0.000011 +v 0.000000 1.162380 0.093739 +v 0.000000 1.093750 0.162368 +v 0.000000 1.125000 0.216506 +v 0.000000 1.216506 0.125000 +v 0.000000 1.000000 0.250000 +v -1.500000 1.000000 -0.250000 +v -1.500000 1.375000 0.000000 +v -1.500000 1.375000 -0.250000 +v -0.000000 1.000000 -0.250000 +v 0.000000 1.375000 0.000000 +v -0.000000 1.375000 -0.250000 +v 0.000000 1.375000 0.250000 +v 0.000000 1.250000 0.000000 +v -0.000000 1.125000 -0.216506 +v -0.000000 1.216506 -0.125000 +v 1.500000 1.375000 -0.250000 +v 0.000000 0.875000 0.216506 +v 0.000000 0.783494 0.125000 +v -0.000000 0.750000 0.000000 +v -0.000000 0.783494 -0.125000 +v -0.000000 0.875000 -0.216506 +v 1.500000 1.000000 -0.250000 +v 1.500000 1.000000 0.250000 +v 1.500000 0.875000 0.216506 +v 1.500000 0.783494 0.125000 +v 1.500000 0.750000 0.000000 +v 1.500000 0.783494 -0.125000 +v 1.500000 0.875000 -0.216506 +v 1.500000 1.000000 -0.250000 +v 1.500000 1.375000 0.000000 +v 1.500000 1.375000 0.250000 +v -3.500000 -0.187500 0.125000 +v 3.500000 -0.187500 0.125000 +v -3.500000 -0.187500 -0.125000 +v 3.500000 -0.187500 -0.125000 +v -3.500000 0.000000 -0.312500 +v -3.500000 0.000000 0.312500 +v 3.500000 0.000000 0.312500 +v 3.500000 0.000000 -0.312500 +v 3.000000 1.250000 0.125000 +v 3.000000 1.250000 -0.125000 +v 3.000000 0.000000 -0.125000 +v 3.000000 0.000000 0.125000 v 1.250000 -1.687500 0.125000 v 1.250000 -1.687500 -0.125000 v 0.500000 -1.437500 0.125000 @@ -247,66 +2318,6 @@ v 0.375000 -0.562500 0.125000 v 0.375000 -0.562500 -0.125000 v 0.437500 -0.187500 0.125000 v 0.437500 -0.187500 -0.125000 -v -9.812500 1.500000 0.187501 -v -8.937500 1.500000 0.187501 -v -9.812500 1.500000 -0.187499 -v -8.937500 1.500000 -0.187499 -v -9.812500 1.625000 -0.187499 -v -9.812500 1.625000 0.187501 -v -9.187500 1.625000 0.187501 -v -9.187500 1.625000 -0.187499 -v -9.750000 1.625000 0.062501 -v -9.250000 1.625000 0.062501 -v -9.750000 1.625000 -0.062499 -v -9.250000 1.625000 -0.062499 -v -9.750000 1.750000 -0.062499 -v -9.750000 1.750000 0.062501 -v -9.250000 1.750000 0.062501 -v -9.250000 1.750000 -0.062499 -v 1.812500 1.500000 0.187500 -v 2.437500 1.500000 0.187500 -v 1.812500 1.500000 -0.187500 -v 2.437500 1.500000 -0.187500 -v 2.062500 1.625000 -0.187500 -v 2.062500 1.625000 0.187500 -v 2.437500 1.625000 0.062500 -v 2.437500 1.625000 -0.062500 -v 2.437500 1.750000 0.187500 -v 2.437500 1.750000 -0.187500 -v 2.437500 1.750000 0.062500 -v 2.437500 1.750000 -0.062500 -v 2.187500 1.625000 0.187500 -v 2.187500 1.625000 -0.187500 -v 2.312500 1.750000 0.187500 -v 2.312500 1.750000 -0.187500 -v 2.312500 1.750000 0.062500 -v 2.312500 1.750000 -0.062500 -v 2.187500 1.625000 0.062500 -v 2.187500 1.625000 -0.062500 -v 1.875000 -3.437500 0.437500 -v 3.250000 -3.437500 0.437500 -v 3.375000 -3.437500 0.312500 -v 3.375000 -3.437500 -0.312500 -v 1.750000 -3.437500 -0.312500 -v 1.750000 -3.437500 0.312500 -v 3.250000 -3.437500 -0.437500 -v 1.875000 -3.437500 -0.437500 -v 3.375000 -3.562500 0.312500 -v 3.375000 -3.562500 -0.312500 -v 1.750000 -3.562500 0.312500 -v 1.750000 -3.562500 -0.312500 -v 1.875000 -3.562500 0.437500 -v 3.250000 -3.562500 0.437500 -v 3.250000 -3.562500 -0.437500 -v 1.875000 -3.562500 -0.437500 -v 1.937500 -3.437500 -0.312500 -v 1.937500 -3.437500 0.312500 -v 3.312500 -3.437500 -0.312500 -v 3.312500 -3.437500 0.312500 -v 0.875000 0.562500 0.312500 -v 0.875000 0.562500 -0.312500 -v 2.250000 0.562500 0.312500 -v 2.250000 0.562500 -0.312500 v 3.500000 -3.437500 -0.250000 v 1.500000 -3.437500 -0.250000 v 3.500000 -2.437500 -0.250000 @@ -344,46 +2355,6 @@ v 3.250000 0.062500 0.250000 v 3.250000 0.062500 -0.250000 v 2.750000 -0.562500 0.250000 v 2.750000 -0.562500 -0.250000 -v 1.187500 0.562500 -0.187500 -v 2.187500 0.562500 -0.187500 -v 1.187500 0.429918 -0.132583 -v 2.187500 0.429918 -0.132583 -v 1.187500 0.375000 0.000000 -v 2.187500 0.375000 0.000000 -v 1.187500 0.429918 0.132583 -v 2.187500 0.429918 0.132583 -v 1.187500 0.562500 0.187500 -v 2.187500 0.562500 0.187500 -v 1.187500 0.695083 0.132583 -v 2.187500 0.695083 0.132583 -v 1.187500 0.750000 0.000000 -v 2.187500 0.750000 0.000000 -v 1.187500 0.695083 -0.132583 -v 2.187500 0.695083 -0.132583 -v 1.000000 0.562500 -0.093750 -v 1.000000 0.496209 -0.066291 -v 1.000000 0.468750 0.000000 -v 1.000000 0.496209 0.066291 -v 1.000000 0.562500 0.093750 -v 1.000000 0.628792 0.066291 -v 1.000000 0.656250 0.000000 -v 1.000000 0.628792 -0.066291 -v -3.000000 0.000000 0.385001 -v -3.000000 1.375000 0.385001 -v -1.625000 0.000000 0.385001 -v -1.625000 1.375000 0.385001 -v -9.000000 0.000000 0.385001 -v -9.000000 1.375000 0.385001 -v -3.500000 0.000000 0.385001 -v -3.500000 1.375000 0.385001 -vt 0.000050 0.000050 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.999950 0.000050 -vt -0.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 1.000000 -0.003906 vt 0.417949 0.031008 vt 0.420513 0.046512 vt 0.417949 0.046512 @@ -434,59 +2405,12 @@ vt 0.000000 0.139535 vt 0.002564 0.155039 vt 0.002564 0.139535 vt 0.000000 0.155039 -vt 0.430769 0.542636 -vt 0.430769 0.589147 -vt 0.348718 0.713178 -vt 0.348718 0.217054 -vt 0.082051 0.186047 -vt 0.348718 0.186047 -vt 0.430769 0.527132 -vt 0.082051 0.542636 -vt 0.082051 0.527132 -vt 0.082051 0.465116 -vt 0.430769 0.465116 -vt 0.430769 0.496124 -vt 0.069231 0.511628 -vt 0.071795 0.496124 -vt 0.069231 0.480620 -vt 0.076923 0.449612 -vt 0.076923 0.542636 -vt 0.066667 0.519380 -vt 0.061538 0.527132 -vt 0.020513 0.542636 -vt 0.061538 0.472868 -vt 0.020513 0.449612 -vt 0.053846 0.511628 -vt 0.053846 0.496124 -vt 0.492308 0.496124 -vt 0.492308 0.573643 -vt 0.492308 0.589147 -vt 0.430769 0.511628 -vt 0.116983 0.508758 -vt 0.131570 0.486708 -vt 0.131570 0.508758 -vt 0.138863 0.420561 -vt 0.138863 0.486708 vt 0.184615 0.852713 vt 0.246154 0.806202 vt 0.246154 0.852713 vt 0.246154 0.883721 vt 0.179487 0.829457 vt 0.182051 0.821705 -vt 0.146351 0.442610 -vt 0.139058 0.442610 -vt 0.146351 0.420561 -vt 0.139058 0.486708 -vt 0.146351 0.486708 -vt 0.168230 0.442610 -vt 0.168230 0.420561 -vt 0.492308 0.542636 -vt 0.615385 0.527132 -vt 0.615385 0.542636 -vt 0.615385 0.449612 -vt 0.615385 0.465116 -vt 0.492308 0.465116 -vt 0.492308 0.527132 vt 0.169231 0.829457 vt 0.174359 0.852713 vt 0.164103 0.852713 @@ -497,20 +2421,6 @@ vt 0.082051 0.806202 vt 0.102564 0.806202 vt 0.084615 0.790698 vt 0.087179 0.782946 -vt 0.082051 0.279070 -vt 0.348718 0.248062 -vt 0.348718 0.279070 -vt 0.676923 0.480620 -vt 0.656410 0.449612 -vt 0.676923 0.449612 -vt 0.082051 0.217054 -vt 0.082051 0.248062 -vt 0.082051 0.449612 -vt 0.358974 0.279070 -vt 0.358974 0.186047 -vt 0.082051 0.821705 -vt 0.082051 0.883721 -vt 0.000000 0.883721 vt 0.253846 0.829457 vt 0.541026 0.860465 vt 0.253846 0.860465 @@ -521,66 +2431,9 @@ vt 0.541026 0.806202 vt 0.541026 0.829457 vt 0.548718 0.883721 vt 0.246154 0.806202 -vt 0.625641 0.480620 -vt 0.625641 0.511628 -vt 0.620513 0.449612 -vt 0.620513 0.542636 -vt 0.656410 0.542636 -vt 0.553846 0.744186 -vt 0.553846 0.775194 -vt 0.348718 0.806202 -vt 0.656410 0.511628 -vt 0.676923 0.542636 vt 0.000000 0.341085 vt 0.010256 0.186047 vt 0.010256 0.341085 -vt 0.000000 0.542636 -vt 0.082051 0.542636 -vt 0.082051 0.604651 -vt 0.066667 0.728682 -vt 0.000000 0.697674 -vt 0.066667 0.697674 -vt 0.028205 0.279070 -vt 0.035897 0.310078 -vt 0.028205 0.310078 -vt 0.035897 0.186047 -vt 0.028205 0.186047 -vt 0.017949 0.186047 -vt 0.010256 0.294574 -vt 0.010256 0.186047 -vt 0.046154 0.186047 -vt 0.035897 0.279070 -vt 0.017949 0.294574 -vt 0.051282 0.418605 -vt 0.046154 0.403101 -vt 0.051282 0.403101 -vt 0.061538 0.418605 -vt 0.056410 0.403101 -vt 0.061538 0.403101 -vt 0.051282 0.372093 -vt 0.056410 0.387597 -vt 0.051282 0.387597 -vt 0.061538 0.372093 -vt 0.061538 0.387597 -vt 0.066667 0.372093 -vt 0.071795 0.387597 -vt 0.066667 0.387597 -vt 0.071795 0.372093 -vt 0.076923 0.387597 -vt 0.071795 0.418605 -vt 0.066667 0.403101 -vt 0.071795 0.403101 -vt 0.082051 0.372093 -vt 0.082051 0.387597 -vt 0.076923 0.403101 -vt 0.041026 0.372093 -vt 0.046154 0.387597 -vt 0.041026 0.387597 -vt 0.082051 0.418605 -vt 0.082051 0.403101 -vt 0.041026 0.418605 -vt 0.041026 0.403101 -vt 0.066667 0.418605 vt 0.835897 0.790698 vt 0.805128 0.759690 vt 0.835897 0.759690 @@ -601,9 +2454,6 @@ vt 0.789744 0.790698 vt 0.810256 0.821705 vt 0.810256 0.790698 vt 0.841026 0.821705 -vt 0.928205 0.744186 -vt 0.923077 0.728682 -vt 0.928205 0.635659 vt 0.884615 0.868217 vt 0.905128 0.930233 vt 0.864103 0.930233 @@ -641,74 +2491,6 @@ vt 0.651282 0.821705 vt 0.661538 0.868217 vt 0.682051 0.759690 vt 0.682051 0.821705 -vt 0.194872 0.728682 -vt 0.169231 0.775194 -vt 0.169231 0.728682 -vt 0.164103 0.728682 -vt 0.164103 0.775194 -vt 0.169231 0.790698 -vt 0.194872 0.775194 -vt 0.205128 0.790698 -vt 0.169231 0.713178 -vt 0.205128 0.775194 -vt 0.205128 0.728682 -vt 0.230769 0.728682 -vt 0.210256 0.744186 -vt 0.210256 0.728682 -vt 0.235897 0.744186 -vt 0.235897 0.728682 -vt 0.205128 0.728682 -vt 0.205128 0.744186 -vt 0.210256 0.759690 -vt 0.230769 0.744186 -vt 0.230769 0.759690 -vt 0.230769 0.713178 -vt 0.210256 0.713178 -vt 0.074359 0.232558 -vt 0.066667 0.217054 -vt 0.071795 0.217054 -vt 0.071795 0.325581 -vt 0.082051 0.310078 -vt 0.082051 0.325581 -vt 0.071795 0.294574 -vt 0.056410 0.279070 -vt 0.061538 0.279070 -vt 0.082051 0.263566 -vt 0.076923 0.232558 -vt 0.082051 0.217054 -vt 0.056410 0.294574 -vt 0.066667 0.341085 -vt 0.056410 0.341085 -vt 0.071795 0.263566 -vt 0.066667 0.248062 -vt 0.071795 0.248062 -vt 0.076923 0.341085 -vt 0.082051 0.341085 -vt 0.076923 0.294574 -vt 0.082051 0.294574 -vt 0.061538 0.232558 -vt 0.066667 0.232558 -vt 0.061538 0.263566 -vt 0.066667 0.263566 -vt 0.066667 0.294574 -vt 0.071795 0.310078 -vt 0.071795 0.186047 -vt 0.061538 0.201550 -vt 0.046154 0.186047 -vt 0.984615 0.511628 -vt 0.989744 0.527132 -vt 0.984615 0.620155 -vt 0.861538 0.496124 -vt 0.917949 0.573643 -vt 0.861538 0.573643 -vt 1.000000 0.000000 -vt 0.943590 0.496124 -vt 0.943590 0.000000 -vt 0.861538 0.000000 -vt 0.835897 0.496124 -vt 0.835897 -0.000000 -vt 0.917949 0.496124 -vt 0.917949 -0.000000 vt 0.800000 0.186047 vt 0.810256 0.217054 vt 0.810256 0.279070 @@ -722,23 +2504,8 @@ vt 0.866667 0.759690 vt 0.830769 0.713178 vt 0.810256 0.713178 vt 0.774359 0.759690 -vt 0.612821 0.852407 -vt 0.605230 0.829458 -vt 0.612821 0.806508 -vt 0.635897 0.713178 vt -0.000000 0.186047 vt 0.420513 0.000000 -vt 0.082051 0.713178 -vt 0.066667 0.472868 -vt 0.056410 0.519380 -vt 0.056410 0.472868 -vt 0.010256 0.511628 -vt 0.010256 0.480620 -vt 0.053846 0.488372 -vt 0.430769 0.573643 -vt 0.492308 0.511628 -vt 0.116983 0.486709 -vt 0.131570 0.420561 vt 0.184615 0.806202 vt 0.184615 0.883721 vt 0.174359 0.837209 @@ -750,52 +2517,18 @@ vt 0.100000 0.790698 vt 0.082051 0.806202 vt 0.097436 0.782946 vt 0.092308 0.775194 -vt 0.656410 0.480620 -vt 0.635897 0.279070 -vt 0.635897 0.341085 -vt 0.000000 0.728682 vt 0.541026 0.961240 vt 0.253846 0.806202 vt 0.548718 0.806202 vt 0.246154 0.883721 -vt 0.635897 0.744186 -vt 0.635897 0.775194 -vt 0.635897 0.806202 -vt 0.676923 0.511628 vt 0.000000 0.186047 -vt 0.046154 0.294574 -vt 0.046154 0.418605 -vt 0.056410 0.418605 -vt 0.056410 0.372093 -vt 0.076923 0.372093 -vt 0.076923 0.418605 -vt 0.046154 0.372093 vt 0.692308 0.790698 vt 0.841026 0.790698 -vt 0.923077 0.651163 -vt 0.984615 0.635659 -vt 0.984615 0.744186 -vt 0.989744 0.651163 -vt 0.989744 0.728682 vt 0.894872 0.868217 vt 0.894872 0.868217 vt 0.643590 0.868217 vt 0.651282 0.759690 vt 0.689744 0.868217 -vt 0.205128 0.713178 -vt 0.046154 0.294574 -vt 0.076923 0.248062 -vt 0.061538 0.217054 -vt 0.061538 0.248062 -vt 0.071795 0.341085 -vt 0.071795 0.294574 -vt 0.056410 0.201550 -vt 0.989744 0.604651 -vt 0.928205 0.620155 -vt 0.928205 0.511628 -vt 0.923077 0.604651 -vt 0.923077 0.527132 -vt 1.000000 0.496124 vt 0.800000 0.310078 vt 0.738462 0.310078 vt 0.728205 0.279070 @@ -803,12 +2536,6 @@ vt 0.728205 0.217054 vt 0.738462 0.186047 vt 0.830769 0.759690 vt 0.810256 0.759690 -vt 0.618188 0.813230 -vt 0.620412 0.829458 -vt 0.618188 0.845685 -vt 0.607453 0.845685 -vt 0.607453 0.813230 -vt 0.635897 0.651163 vt 0.835897 0.046512 vt 0.835897 0.186047 vt 0.835897 0.108527 @@ -833,32 +2560,6 @@ vt 0.102564 0.759690 vt 0.102564 0.790698 vt 0.164103 0.713178 vt 0.102564 0.713178 -vt 0.051282 0.418605 -vt 0.058974 0.449612 -vt 0.051282 0.449612 -vt 0.058974 0.418605 -vt 0.066667 0.449612 -vt 0.066667 0.418605 -vt 0.074359 0.449612 -vt 0.074359 0.418605 -vt 0.082051 0.449612 -vt 0.020513 0.418605 -vt 0.028205 0.449612 -vt 0.020513 0.449612 -vt 0.028205 0.418605 -vt 0.035897 0.449612 -vt 0.035897 0.418605 -vt 0.043590 0.449612 -vt 0.043590 0.418605 -vt 0.051282 0.356589 -vt 0.046154 0.356589 -vt 0.056410 0.356589 -vt 0.061538 0.356589 -vt 0.066667 0.356589 -vt 0.071795 0.356589 -vt 0.076923 0.356589 -vt 0.082051 0.356589 -vt 0.041026 0.356589 vt 0.810256 0.434109 vt 0.830769 0.310078 vt 0.830769 0.434109 @@ -889,18 +2590,6 @@ vt 0.784615 0.558140 vt 0.794872 0.558140 vt 0.800000 0.434109 vt 0.738462 0.341085 -vt 0.917949 0.527132 -vt 0.917949 0.604651 -vt 0.989744 0.620155 -vt 0.989744 0.635659 -vt 0.928205 0.496124 -vt 0.923077 0.511628 -vt 0.923077 0.496124 -vt 0.994872 0.604651 -vt 0.994872 0.527132 -vt 0.923077 0.635659 -vt 0.989744 0.496124 -vt 0.984615 0.496124 vt 0.784615 0.558140 vt 0.800000 0.434109 vt 0.738462 0.310078 @@ -921,69 +2610,19 @@ vt 0.682051 0.759690 vt 0.676923 0.713178 vt 0.682051 0.713178 vt 0.682051 0.527132 -vt 0.605128 0.899225 -vt 0.564103 0.914729 -vt 0.564103 0.899225 -vt 0.605128 0.914729 -vt 0.564103 0.930233 -vt 0.605128 0.806202 -vt 0.564103 0.821705 -vt 0.564103 0.806202 -vt 0.605128 0.821705 -vt 0.564103 0.837209 -vt 0.605128 0.837209 -vt 0.564103 0.852713 -vt 0.605128 0.852713 -vt 0.564103 0.868217 -vt 0.605128 0.868217 -vt 0.564103 0.883721 -vt 0.605128 0.883721 -vt 0.556410 0.844961 -vt 0.556410 0.837209 -vt 0.554054 0.807659 -vt 0.556123 0.813913 -vt 0.549060 0.822757 -vt 0.556410 0.883721 -vt 0.556410 0.906977 -vt 0.556410 0.899225 -vt 0.556410 0.813953 -vt 0.556410 0.806202 -vt 0.556410 0.852713 -vt 0.556410 0.821705 -vt 0.556410 0.868217 -vt 0.556410 0.914729 vt 0.717949 0.527132 vt 0.835897 0.000000 -vt 0.082051 0.418605 vt 0.697436 0.310078 vt 0.676923 0.527132 vt 0.728205 0.310078 -vt 0.923077 0.620155 -vt 0.989744 0.511628 vt 0.676923 0.759690 -vt 0.605128 0.930233 -vt 0.556123 0.822757 -vt 0.554054 0.829011 -vt 0.551129 0.829011 -vt 0.549060 0.813913 -vt 0.551129 0.807659 -vt 0.556410 0.891473 -vt 0.556410 0.860465 -vt 0.556410 0.829457 -vt 0.556410 0.875969 -vt 0.556410 0.922481 -vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn 1.0000 -0.0000 -0.0000 vn 0.0000 0.0000 -1.0000 -vn -0.0000 -0.7071 -0.7071 -vn -0.0000 0.7071 -0.7071 vn 0.0000 1.0000 0.0000 -vn 0.0000 0.7071 0.7071 vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.7071 -0.7071 vn 0.0000 -0.7071 0.7071 -vn 0.8944 0.4472 0.0000 -vn 0.4472 0.8944 0.0000 vn -0.3162 -0.9487 0.0000 vn -0.9487 -0.3162 0.0000 vn -0.7071 -0.7071 0.0000 @@ -991,13 +2630,10 @@ vn 0.8944 -0.4472 0.0000 vn 0.9701 0.2425 0.0000 vn -0.8944 0.4472 0.0000 vn -0.9864 -0.1644 0.0000 +vn 0.0000 0.0000 1.0000 vn -0.9701 0.2425 0.0000 vn 0.8000 -0.6000 0.0000 vn 0.9864 -0.1644 0.0000 -vn -0.4472 0.8944 0.0000 -vn -0.7071 0.7071 0.0000 -vn -0.9665 -0.2567 0.0000 -vn 0.9665 0.2567 0.0000 vn 0.0000 -0.5000 0.8660 vn 0.0000 -0.8660 0.5000 vn -0.0000 -0.8660 -0.5000 @@ -1008,8 +2644,6 @@ vn 0.0000 0.8660 0.5000 vn 0.0000 0.5000 0.8660 vn -0.0000 0.1305 -0.9914 vn 0.0000 0.2588 0.9659 -vn 0.7071 0.7071 0.0000 -vn 0.7071 -0.7071 0.0000 vn 0.9162 0.1662 0.3645 vn 0.9239 0.0000 -0.3827 vn 0.9162 0.1662 -0.3645 @@ -1023,6 +2657,7 @@ vn -0.6861 0.6861 -0.2418 vn -0.8727 0.2440 0.4229 vn -0.8727 0.2440 -0.4229 vn -0.8812 -0.2937 0.3705 +vn 0.7071 -0.7071 0.0000 vn -0.8321 0.5547 0.0000 vn -0.9301 0.1173 0.3481 vn -0.5496 0.6292 0.5496 @@ -1040,14 +2675,10 @@ vn 0.6853 0.2467 0.6853 vn 0.9239 0.0000 0.3827 vn 0.3830 0.2240 0.8962 vn 0.4161 0.0853 0.9053 -vn -0.9239 0.0000 -0.3827 -vn -0.9239 0.0000 0.3827 -vn -0.3827 0.0000 -0.9239 -vn -0.3827 0.0000 0.9239 -vn 0.3827 0.0000 -0.9239 vn 0.3830 0.2240 -0.8962 vn 0.4161 0.0853 -0.9053 vn -0.4602 0.4602 -0.7592 +vn 0.3827 0.0000 -0.9239 vn 0.3243 0.1224 -0.9380 vn 0.6853 0.2467 -0.6853 vn 0.2291 0.5399 -0.8099 @@ -1055,634 +2686,293 @@ vn -0.3931 0.1897 -0.8997 vn -0.5496 0.6292 -0.5496 vn 0.3304 0.2876 -0.8989 vn -0.9301 0.1173 -0.3481 -vn -0.4472 0.0000 0.8944 -vn -0.7940 0.4299 0.4299 -vn -0.7940 0.0000 0.6080 -vn -0.7940 0.6080 -0.0000 -vn -0.7940 0.4299 -0.4299 -vn -0.7940 -0.4299 0.4299 -vn -0.4472 0.0000 -0.8944 -vn -0.4472 0.6325 -0.6325 -vn -0.7940 -0.4299 -0.4299 -vn -0.7940 0.0000 -0.6080 -vn -0.4472 -0.8944 0.0000 -vn -0.7940 -0.6080 0.0000 -vn -0.4472 0.6325 0.6325 -vn -0.4472 -0.6325 0.6325 -vn -0.4472 -0.6325 -0.6325 vn -0.6861 0.6861 0.2418 s off -f 372/1/1 375/2/1 373/3/1 -f 372/1/1 374/4/1 375/2/1 -f 368/5/1 371/6/1 369/7/1 -f 368/5/1 370/8/1 371/6/1 -f 12/9/2 31/10/2 14/11/2 -f 7/12/3 39/13/3 5/14/3 -f 10/15/2 30/16/2 12/9/2 -f 8/17/2 29/18/2 10/15/2 -f 24/19/2 26/20/2 2/21/2 -f 4/22/2 26/20/2 25/23/2 -f 6/24/2 28/25/2 8/26/2 -f 24/19/2 35/27/2 36/28/2 -f 6/24/2 25/23/2 27/29/2 -f 22/30/2 34/31/2 35/27/2 -f 18/32/2 34/31/2 20/33/2 -f 18/32/2 32/34/2 33/35/2 -f 16/36/2 31/10/2 32/34/2 -f 9/37/3 40/38/3 7/39/3 -f 11/40/3 41/41/3 9/37/3 -f 13/42/3 42/43/3 11/40/3 -f 13/42/3 44/44/3 43/45/3 -f 15/46/3 45/47/3 44/44/3 -f 17/48/3 46/49/3 45/47/3 -f 19/50/3 47/51/3 46/49/3 -f 21/52/3 48/53/3 47/51/3 -f 23/54/3 38/55/3 48/53/3 -f 3/56/3 38/55/3 1/57/3 -f 5/14/3 37/58/3 3/56/3 -f 71/59/4 74/60/4 51/61/4 -f 100/62/5 49/63/5 51/64/5 -f 72/65/6 67/66/6 66/67/6 -f 69/68/7 70/69/7 73/70/7 -f 66/67/2 60/71/2 61/72/2 -f 62/73/2 68/74/2 69/68/2 -f 60/71/2 67/75/2 59/76/2 -f 58/77/2 67/75/2 49/78/2 -f 52/79/2 50/80/2 68/74/2 -f 56/81/2 49/78/2 55/82/2 -f 70/69/7 79/83/7 73/70/7 -f 74/60/7 82/84/7 80/85/7 -f 79/83/4 83/86/4 73/70/4 -f 73/87/3 85/88/3 72/89/3 -f 85/88/3 74/90/3 71/91/3 -f 71/91/3 72/89/3 85/88/3 -f 91/92/4 86/93/4 88/94/4 -f 87/95/7 91/92/7 88/94/7 -f 95/96/3 94/97/3 91/92/3 -f 98/98/2 97/99/2 96/100/2 -f 79/101/2 98/98/2 84/102/2 -f 82/103/2 96/100/2 80/104/2 -f 96/105/6 104/106/6 103/107/6 -f 80/85/4 51/61/4 74/60/4 -f 102/108/8 101/109/8 77/110/8 -f 104/106/7 97/111/7 79/83/7 -f 76/112/3 90/113/3 92/114/3 -f 90/115/9 120/116/9 92/114/9 -f 119/117/2 111/118/2 112/119/2 -f 111/118/2 117/120/2 116/121/2 -f 50/122/10 99/123/10 125/124/10 -f 138/125/3 122/126/3 124/127/3 -f 64/128/9 99/123/9 65/129/9 -f 102/108/1 68/130/1 125/124/1 -f 125/131/3 100/62/3 51/132/3 -f 134/133/4 138/134/4 140/135/4 -f 128/136/9 127/137/9 126/138/9 -f 132/139/7 130/140/7 131/141/7 -f 128/136/5 133/142/5 129/143/5 -f 127/137/10 131/141/10 126/138/10 -f 129/143/3 132/144/3 127/137/3 -f 126/138/2 130/145/2 128/136/2 -f 104/106/11 136/146/11 137/147/11 -f 101/109/11 102/148/11 136/146/11 -f 103/149/11 104/106/11 137/147/11 -f 137/147/11 121/150/11 103/149/11 -f 122/126/11 136/146/11 102/148/11 -f 141/151/9 140/152/9 125/153/9 -f 135/154/3 123/155/3 121/150/3 -f 142/156/3 144/157/3 143/158/3 -f 141/159/1 139/160/1 135/161/1 -f 136/162/9 146/163/9 137/164/9 -f 170/165/12 168/166/12 169/167/12 -f 167/168/3 170/165/3 165/169/3 -f 164/170/2 168/171/2 166/172/2 -f 166/173/4 171/174/4 167/168/4 -f 164/170/1 170/165/1 169/175/1 -f 190/176/4 184/177/4 186/178/4 -f 194/179/4 172/180/4 174/181/4 -f 191/182/1 173/183/1 187/184/1 -f 173/183/1 195/185/1 175/186/1 -f 197/187/1 179/188/1 177/189/1 -f 195/185/1 177/189/1 175/186/1 -f 199/190/1 181/191/1 179/188/1 -f 198/192/4 176/193/4 178/194/4 -f 181/191/1 203/195/1 183/196/1 -f 180/197/4 198/192/4 178/194/4 -f 203/198/1 185/199/1 183/200/1 -f 202/201/4 180/197/4 182/202/4 -f 172/180/4 190/176/4 186/178/4 -f 184/177/4 202/203/4 182/204/4 -f 185/199/1 191/182/1 187/184/1 -f 196/205/4 174/181/4 176/193/4 -f 204/206/13 207/207/13 205/208/13 -f 206/209/9 209/210/9 207/207/9 -f 208/211/14 211/212/14 209/210/14 -f 210/213/15 213/214/15 211/212/15 -f 214/215/16 217/216/16 215/217/16 -f 216/218/17 219/219/17 217/216/17 -f 218/220/7 221/221/7 219/219/7 -f 220/222/18 223/223/18 221/221/18 -f 222/224/19 225/225/19 223/223/19 -f 290/226/7 287/227/7 283/228/7 -f 210/229/1 214/230/1 212/231/1 -f 218/232/1 210/229/1 208/233/1 -f 206/234/1 218/232/1 208/233/1 -f 220/235/1 206/234/1 204/236/1 -f 224/237/1 222/238/1 227/239/1 -f 227/239/1 226/240/1 224/237/1 -f 219/241/4 207/242/4 209/243/4 -f 236/244/4 225/245/4 235/246/4 -f 225/245/4 236/244/4 223/247/4 -f 211/248/4 219/241/4 209/243/4 -f 223/247/4 205/249/4 221/250/4 -f 215/251/4 211/248/4 213/252/4 -f 240/253/14 237/254/14 238/255/14 -f 242/256/20 239/257/20 240/253/20 -f 244/258/21 241/259/21 242/256/21 -f 246/260/22 243/261/22 244/258/22 -f 239/262/1 243/261/1 245/263/1 -f 244/258/4 242/264/4 240/265/4 -f 253/266/7 251/267/7 252/268/7 -f 247/269/2 251/267/2 249/270/2 -f 249/271/4 254/272/4 250/273/4 -f 247/274/1 253/266/1 252/268/1 -f 250/275/12 253/266/12 248/276/12 -f 261/277/7 259/278/7 260/279/7 -f 258/280/3 261/277/3 256/281/3 -f 255/282/2 259/278/2 257/283/2 -f 257/284/4 262/285/4 258/286/4 -f 256/287/1 260/279/1 255/288/1 -f 273/289/7 277/290/7 271/291/7 -f 282/292/7 269/293/7 270/294/7 -f 266/295/4 267/296/4 276/297/4 -f 266/298/3 269/299/3 264/300/3 -f 263/301/23 267/302/23 265/303/23 -f 272/304/7 280/305/7 274/306/7 -f 280/307/1 270/294/1 274/308/1 -f 269/293/4 279/309/4 273/310/4 -f 281/311/24 277/290/24 279/312/24 -f 276/313/24 280/305/24 278/314/24 -f 268/315/7 281/316/7 282/292/7 -f 264/317/1 275/318/1 263/319/1 -f 297/320/9 292/321/9 296/322/9 -f 303/323/7 306/324/7 304/325/7 -f 299/326/4 306/327/4 301/328/4 -f 300/329/25 304/330/25 299/331/25 -f 300/329/1 305/332/1 303/323/1 -f 301/328/26 305/332/26 302/333/26 -f 316/334/9 307/335/9 234/336/9 -f 312/337/4 343/338/4 311/339/4 -f 230/340/1 342/341/1 229/342/1 -f 323/343/4 339/344/4 312/337/4 -f 338/345/1 334/346/1 229/342/1 -f 343/338/4 312/337/4 339/344/4 -f 338/345/1 229/342/1 342/341/1 -f 357/347/3 353/348/3 349/349/3 -f 80/85/4 103/107/4 123/350/4 -f 12/9/2 30/16/2 31/10/2 -f 7/12/3 40/351/3 39/13/3 -f 10/15/2 29/18/2 30/16/2 -f 8/17/2 28/352/2 29/18/2 -f 24/19/2 36/28/2 26/20/2 -f 4/22/2 2/21/2 26/20/2 -f 6/24/2 27/29/2 28/25/2 -f 24/19/2 22/30/2 35/27/2 -f 6/24/2 4/22/2 25/23/2 -f 22/30/2 20/33/2 34/31/2 -f 18/32/2 33/35/2 34/31/2 -f 18/32/2 16/36/2 32/34/2 -f 16/36/2 14/11/2 31/10/2 -f 9/37/3 41/41/3 40/38/3 -f 11/40/3 42/43/3 41/41/3 -f 13/42/3 43/45/3 42/43/3 -f 13/42/3 15/46/3 44/44/3 -f 15/46/3 17/48/3 45/47/3 -f 17/48/3 19/50/3 46/49/3 -f 19/50/3 21/52/3 47/51/3 -f 21/52/3 23/54/3 48/53/3 -f 23/54/3 1/57/3 38/55/3 -f 3/56/3 37/58/3 38/55/3 -f 5/14/3 39/13/3 37/58/3 -f 51/61/4 49/353/4 67/66/4 -f 67/66/4 71/59/4 51/61/4 -f 100/62/5 64/128/5 49/63/5 -f 72/65/6 71/59/6 67/66/6 -f 72/65/7 66/67/7 73/70/7 -f 66/67/7 69/68/7 73/70/7 -f 61/72/2 62/73/2 69/68/2 -f 69/68/2 66/67/2 61/72/2 -f 62/73/2 63/354/2 68/74/2 -f 60/71/2 66/67/2 67/75/2 -f 49/78/2 57/355/2 58/77/2 -f 58/77/2 59/76/2 67/75/2 -f 52/79/2 53/356/2 50/80/2 -f 68/74/2 63/354/2 52/79/2 -f 57/355/2 49/78/2 56/81/2 -f 49/78/2 64/357/2 50/80/2 -f 64/357/2 65/358/2 50/80/2 -f 50/80/2 53/356/2 54/359/2 -f 50/80/2 54/359/2 55/82/2 -f 49/78/2 50/80/2 55/82/2 -f 70/69/7 77/110/7 79/83/7 -f 74/60/7 81/360/7 82/84/7 -f 79/83/4 84/361/4 83/86/4 -f 73/87/3 83/362/3 85/88/3 -f 85/88/3 81/363/3 74/90/3 -f 91/92/4 89/364/4 86/93/4 -f 87/95/7 90/365/7 91/92/7 -f 91/92/3 90/113/3 95/96/3 -f 90/113/3 93/366/3 95/96/3 -f 94/97/3 89/364/3 91/92/3 -f 79/101/2 97/99/2 98/98/2 -f 82/103/2 98/98/2 96/100/2 -f 96/105/6 97/111/6 104/106/6 -f 80/85/4 123/350/4 51/61/4 -f 69/68/8 68/130/8 70/69/8 -f 68/130/8 102/108/8 70/69/8 -f 70/69/8 102/108/8 77/110/8 -f 79/83/7 77/110/7 101/109/7 -f 101/109/7 104/106/7 79/83/7 -f 76/112/3 93/366/3 90/113/3 -f 92/114/3 78/367/3 75/368/3 -f 75/368/3 76/112/3 92/114/3 -f 90/115/9 119/369/9 120/116/9 -f 112/119/2 120/116/2 119/117/2 -f 119/117/2 105/370/2 111/118/2 -f 113/371/2 112/119/2 111/118/2 -f 111/118/1 118/372/1 117/120/1 -f 114/373/2 113/371/2 116/121/2 -f 113/371/2 111/118/2 116/121/2 -f 116/121/2 115/374/2 114/373/2 -f 50/122/10 65/129/10 99/123/10 -f 138/125/3 134/375/3 122/126/3 -f 64/128/9 100/62/9 99/123/9 -f 68/130/1 50/122/1 125/124/1 -f 125/124/1 124/376/1 102/108/1 -f 124/376/1 122/377/1 102/108/1 -f 125/131/3 99/123/3 100/62/3 -f 147/378/4 136/162/4 140/135/4 -f 136/162/4 134/133/4 140/135/4 -f 128/136/9 129/143/9 127/137/9 -f 132/139/7 133/379/7 130/140/7 -f 128/136/5 130/380/5 133/142/5 -f 127/137/10 132/139/10 131/141/10 -f 129/143/3 133/381/3 132/144/3 -f 126/138/2 131/382/2 130/145/2 -f 104/106/11 101/109/11 136/146/11 -f 137/147/11 135/154/11 121/150/11 -f 122/126/11 134/375/11 136/146/11 -f 125/153/9 51/61/9 141/151/9 -f 51/61/9 123/350/9 141/151/9 -f 123/350/9 139/383/9 141/151/9 -f 140/152/9 138/384/9 124/385/9 -f 140/152/9 124/385/9 125/153/9 -f 135/154/3 139/386/3 123/155/3 -f 142/156/3 145/387/3 144/157/3 -f 135/161/1 137/164/1 141/159/1 -f 137/164/1 146/163/1 141/159/1 -f 136/162/9 147/378/9 146/163/9 -f 170/165/12 171/174/12 168/166/12 -f 167/168/3 171/174/3 170/165/3 -f 164/170/2 169/175/2 168/171/2 -f 166/173/4 168/388/4 171/174/4 -f 164/170/1 165/169/1 170/165/1 -f 190/176/4 188/389/4 184/177/4 -f 194/179/4 192/390/4 172/180/4 -f 191/182/1 193/391/1 173/183/1 -f 173/183/1 193/391/1 195/185/1 -f 197/187/1 199/190/1 179/188/1 -f 195/185/1 197/187/1 177/189/1 -f 199/190/1 201/392/1 181/191/1 -f 198/192/4 196/205/4 176/193/4 -f 181/191/1 201/392/1 203/195/1 -f 180/197/4 200/393/4 198/192/4 -f 203/198/1 189/394/1 185/199/1 -f 202/201/4 200/393/4 180/197/4 -f 172/180/4 192/390/4 190/176/4 -f 184/177/4 188/389/4 202/203/4 -f 185/199/1 189/394/1 191/182/1 -f 196/205/4 194/179/4 174/181/4 -f 204/206/13 206/209/13 207/207/13 -f 206/209/9 208/211/9 209/210/9 -f 208/211/14 210/213/14 211/212/14 -f 210/213/15 212/395/15 213/214/15 -f 214/215/16 216/218/16 217/216/16 -f 216/218/17 218/220/17 219/219/17 -f 218/220/7 220/222/7 221/221/7 -f 220/222/18 222/224/18 223/223/18 -f 222/224/19 224/396/19 225/225/19 -f 287/227/7 288/397/7 283/228/7 -f 283/228/7 284/398/7 289/399/7 -f 284/398/7 285/400/7 289/399/7 -f 285/400/7 286/401/7 289/399/7 -f 289/399/7 290/226/7 283/228/7 -f 210/229/1 216/402/1 214/230/1 -f 218/232/1 216/402/1 210/229/1 -f 206/234/1 220/235/1 218/232/1 -f 204/236/1 227/239/1 222/238/1 -f 222/238/1 220/235/1 204/236/1 -f 219/241/4 221/250/4 207/242/4 -f 211/248/4 217/403/4 219/241/4 -f 223/247/4 236/244/4 205/249/4 -f 205/249/4 207/242/4 221/250/4 -f 215/251/4 217/403/4 211/248/4 -f 240/253/14 239/257/14 237/254/14 -f 242/256/20 241/259/20 239/257/20 -f 244/258/21 243/261/21 241/259/21 -f 246/260/22 245/263/22 243/261/22 -f 245/263/1 237/404/1 239/262/1 -f 239/262/1 241/405/1 243/261/1 -f 240/265/4 238/406/4 246/260/4 -f 246/260/4 244/258/4 240/265/4 -f 253/266/7 254/272/7 251/267/7 -f 247/269/2 252/268/2 251/267/2 -f 249/271/4 251/267/4 254/272/4 -f 247/274/1 248/407/1 253/266/1 -f 250/275/12 254/272/12 253/266/12 -f 261/277/7 262/285/7 259/278/7 -f 258/280/3 262/285/3 261/277/3 -f 255/282/2 260/279/2 259/278/2 -f 257/284/4 259/278/4 262/285/4 -f 256/287/1 261/277/1 260/279/1 -f 273/289/7 279/312/7 277/290/7 -f 282/292/7 281/316/7 269/293/7 -f 278/314/4 272/304/4 266/295/4 -f 266/295/4 265/408/4 267/296/4 -f 276/297/4 278/314/4 266/295/4 -f 266/298/3 272/304/3 270/409/3 -f 272/304/3 274/306/3 270/409/3 -f 273/289/3 271/291/3 269/299/3 -f 271/291/3 264/300/3 269/299/3 -f 266/298/3 270/409/3 269/299/3 -f 263/301/23 268/315/23 267/302/23 -f 272/304/7 278/314/7 280/305/7 -f 280/307/1 282/292/1 270/294/1 -f 269/293/4 281/316/4 279/309/4 -f 281/311/24 275/410/24 277/290/24 -f 276/313/24 282/411/24 280/305/24 -f 276/412/7 267/302/7 282/292/7 -f 267/302/7 268/315/7 282/292/7 -f 268/315/7 275/413/7 281/316/7 -f 264/317/1 271/291/1 277/290/1 -f 275/318/1 268/414/1 263/319/1 -f 264/317/1 277/290/1 275/318/1 -f 292/321/9 291/415/9 296/322/9 -f 296/322/9 295/416/9 298/417/9 -f 295/416/9 293/418/9 298/417/9 -f 293/418/9 294/419/9 298/417/9 -f 298/417/9 297/320/9 296/322/9 -f 303/323/7 305/332/7 306/324/7 -f 299/326/4 304/420/4 306/327/4 -f 300/329/25 303/323/25 304/330/25 -f 300/329/1 302/333/1 305/332/1 -f 301/328/26 306/327/26 305/332/26 -f 234/336/9 327/421/9 316/334/9 -f 327/421/9 328/422/9 316/334/9 -f 328/422/9 233/423/9 308/424/9 -f 308/424/9 315/425/9 328/422/9 -f 315/425/9 316/334/9 328/422/9 -f 323/343/4 341/426/4 339/344/4 -f 338/345/1 340/427/1 334/346/1 -f 349/349/3 347/428/3 345/429/3 -f 345/429/3 359/430/3 357/347/3 -f 357/347/3 355/431/3 353/348/3 -f 353/348/3 351/432/3 349/349/3 -f 349/349/3 345/429/3 357/347/3 -f 96/105/4 103/107/4 80/85/4 -f 103/107/4 121/433/4 123/350/4 +f 489/765/154 508/766/154 491/767/154 +f 484/768/155 516/769/155 482/770/155 +f 487/771/154 507/772/154 489/765/154 +f 485/773/154 506/774/154 487/771/154 +f 501/775/154 503/776/154 479/777/154 +f 481/778/154 503/776/154 502/779/154 +f 483/780/154 505/781/154 485/782/154 +f 501/775/154 512/783/154 513/784/154 +f 483/780/154 502/779/154 504/785/154 +f 499/786/154 511/787/154 512/783/154 +f 495/788/154 511/787/154 497/789/154 +f 495/788/154 509/790/154 510/791/154 +f 493/792/154 508/766/154 509/790/154 +f 486/793/155 517/794/155 484/795/155 +f 488/796/155 518/797/155 486/793/155 +f 490/798/155 519/799/155 488/796/155 +f 490/798/155 521/800/155 520/801/155 +f 492/802/155 522/803/155 521/800/155 +f 494/804/155 523/805/155 522/803/155 +f 496/806/155 524/807/155 523/805/155 +f 498/808/155 525/809/155 524/807/155 +f 500/810/155 515/811/155 525/809/155 +f 480/812/155 515/811/155 478/813/155 +f 482/770/155 514/814/155 480/812/155 +f 534/815/156 529/816/156 531/817/156 +f 530/818/157 534/815/157 531/817/157 +f 538/819/155 537/820/155 534/815/155 +f 527/821/155 533/822/155 535/823/155 +f 533/824/158 554/825/158 535/823/158 +f 553/826/154 545/827/154 546/828/154 +f 545/827/154 551/829/154 550/830/154 +f 557/831/158 556/832/158 555/833/158 +f 561/834/157 559/835/157 560/836/157 +f 557/831/159 562/837/159 558/838/159 +f 556/832/160 560/836/160 555/833/160 +f 558/838/155 561/839/155 556/832/155 +f 555/833/154 559/840/154 557/831/154 +f 563/841/155 565/842/155 564/843/155 +f 567/844/161 570/845/161 568/846/161 +f 569/847/158 572/848/158 570/845/158 +f 571/849/162 574/850/162 572/848/162 +f 573/851/163 576/852/163 574/850/163 +f 577/853/164 580/854/164 578/855/164 +f 579/856/165 582/857/165 580/854/165 +f 581/858/157 584/859/157 582/857/157 +f 583/860/166 586/861/166 584/859/166 +f 585/862/167 588/863/167 586/861/167 +f 573/864/168 577/865/168 575/866/168 +f 581/867/168 573/864/168 571/868/168 +f 569/869/168 581/867/168 571/868/168 +f 583/870/168 569/869/168 567/871/168 +f 587/872/168 585/873/168 590/874/168 +f 590/874/168 589/875/168 587/872/168 +f 582/876/156 570/877/156 572/878/156 +f 599/879/156 588/880/156 598/881/156 +f 588/880/156 599/879/156 586/882/156 +f 574/883/156 582/876/156 572/878/156 +f 586/882/156 568/884/156 584/885/156 +f 578/886/156 574/883/156 576/887/156 +f 603/888/162 600/889/162 601/890/162 +f 605/891/169 602/892/169 603/888/169 +f 607/893/170 604/894/170 605/891/170 +f 609/895/171 606/896/171 607/893/171 +f 602/897/168 606/896/168 608/898/168 +f 607/893/156 605/899/156 603/900/156 +f 619/901/158 610/902/158 597/903/158 +f 615/904/156 646/905/156 614/906/156 +f 593/907/168 645/908/168 592/909/168 +f 626/910/156 642/911/156 615/904/156 +f 641/912/168 637/913/168 592/909/168 +f 646/905/156 615/904/156 642/911/156 +f 641/912/168 592/909/168 645/908/168 +f 489/765/154 507/772/154 508/766/154 +f 484/768/155 517/914/155 516/769/155 +f 487/771/154 506/774/154 507/772/154 +f 485/773/154 505/915/154 506/774/154 +f 501/775/154 513/784/154 503/776/154 +f 481/778/154 479/777/154 503/776/154 +f 483/780/154 504/785/154 505/781/154 +f 501/775/154 499/786/154 512/783/154 +f 483/780/154 481/778/154 502/779/154 +f 499/786/154 497/789/154 511/787/154 +f 495/788/154 510/791/154 511/787/154 +f 495/788/154 493/792/154 509/790/154 +f 493/792/154 491/767/154 508/766/154 +f 486/793/155 518/797/155 517/794/155 +f 488/796/155 519/799/155 518/797/155 +f 490/798/155 520/801/155 519/799/155 +f 490/798/155 492/802/155 521/800/155 +f 492/802/155 494/804/155 522/803/155 +f 494/804/155 496/806/155 523/805/155 +f 496/806/155 498/808/155 524/807/155 +f 498/808/155 500/810/155 525/809/155 +f 500/810/155 478/813/155 515/811/155 +f 480/812/155 514/814/155 515/811/155 +f 482/770/155 516/769/155 514/814/155 +f 534/815/156 532/916/156 529/816/156 +f 530/818/157 533/917/157 534/815/157 +f 534/815/155 533/822/155 538/819/155 +f 533/822/155 536/918/155 538/819/155 +f 537/820/155 532/916/155 534/815/155 +f 527/821/155 536/918/155 533/822/155 +f 535/823/155 528/919/155 526/920/155 +f 526/920/155 527/821/155 535/823/155 +f 533/824/158 553/921/158 554/825/158 +f 546/828/154 554/825/154 553/826/154 +f 553/826/154 539/922/154 545/827/154 +f 547/923/154 546/828/154 545/827/154 +f 545/827/168 552/924/168 551/829/168 +f 548/925/154 547/923/154 550/830/154 +f 547/923/154 545/827/154 550/830/154 +f 550/830/154 549/926/154 548/925/154 +f 557/831/158 558/838/158 556/832/158 +f 561/834/157 562/927/157 559/835/157 +f 557/831/159 559/928/159 562/837/159 +f 556/832/160 561/834/160 560/836/160 +f 558/838/155 562/929/155 561/839/155 +f 555/833/154 560/930/154 559/840/154 +f 563/841/155 566/931/155 565/842/155 +f 567/844/161 569/847/161 570/845/161 +f 569/847/158 571/849/158 572/848/158 +f 571/849/162 573/851/162 574/850/162 +f 573/851/163 575/932/163 576/852/163 +f 577/853/164 579/856/164 580/854/164 +f 579/856/165 581/858/165 582/857/165 +f 581/858/157 583/860/157 584/859/157 +f 583/860/166 585/862/166 586/861/166 +f 585/862/167 587/933/167 588/863/167 +f 573/864/168 579/934/168 577/865/168 +f 581/867/168 579/934/168 573/864/168 +f 569/869/168 583/870/168 581/867/168 +f 567/871/168 590/874/168 585/873/168 +f 585/873/168 583/870/168 567/871/168 +f 582/876/156 584/885/156 570/877/156 +f 574/883/156 580/935/156 582/876/156 +f 586/882/156 599/879/156 568/884/156 +f 568/884/156 570/877/156 584/885/156 +f 578/886/156 580/935/156 574/883/156 +f 603/888/162 602/892/162 600/889/162 +f 605/891/169 604/894/169 602/892/169 +f 607/893/170 606/896/170 604/894/170 +f 609/895/171 608/898/171 606/896/171 +f 608/898/168 600/936/168 602/897/168 +f 602/897/168 604/937/168 606/896/168 +f 603/900/156 601/938/156 609/895/156 +f 609/895/156 607/893/156 603/900/156 +f 597/903/158 630/939/158 619/901/158 +f 630/939/158 631/940/158 619/901/158 +f 631/940/158 596/941/158 611/942/158 +f 611/942/158 618/943/158 631/940/158 +f 618/943/158 619/901/158 631/940/158 +f 626/910/156 644/944/156 642/911/156 +f 641/912/168 643/945/168 637/913/168 s 1 -f 2/21/1 3/56/27 1/57/1 -f 4/22/27 5/14/28 3/56/27 -f 6/24/28 7/12/9 5/14/28 -f 8/17/9 9/37/29 7/39/9 -f 10/15/29 11/40/30 9/37/29 -f 12/9/30 13/42/4 11/40/30 -f 14/11/4 15/46/31 13/42/4 -f 16/36/31 17/48/32 15/46/31 -f 18/32/32 19/50/7 17/48/32 -f 20/33/7 21/52/33 19/50/7 -f 22/30/33 23/54/34 21/52/33 -f 24/19/34 1/57/1 23/54/34 -f 30/16/34 43/434/1 31/10/1 -f 27/29/32 40/435/7 28/25/7 -f 34/31/9 47/436/29 35/27/29 -f 31/10/1 44/437/27 32/34/27 -f 28/352/7 41/438/33 29/18/33 -f 35/27/29 48/439/30 36/28/30 -f 26/20/4 37/440/31 25/23/31 -f 32/34/27 45/441/28 33/35/28 -f 29/18/33 42/442/34 30/16/34 -f 36/28/30 38/443/4 26/20/4 -f 25/23/31 39/444/32 27/29/32 -f 33/35/28 46/445/9 34/31/9 -f 108/446/7 116/447/33 109/448/33 -f 106/449/31 114/450/32 107/451/32 -f 109/448/33 117/452/34 110/453/34 -f 107/451/32 115/454/7 108/446/7 -f 113/455/31 78/367/35 112/119/35 -f 89/456/36 117/452/34 118/457/36 -f 120/116/4 78/367/35 92/114/4 -f 149/458/7 150/459/37 148/460/7 -f 151/461/37 152/462/3 150/459/37 -f 153/463/3 154/464/38 152/462/3 -f 155/465/38 156/466/9 154/464/38 -f 157/467/9 158/468/15 156/469/9 -f 159/470/15 160/471/2 158/468/15 -f 161/472/2 162/473/24 160/471/2 -f 163/474/24 148/460/7 162/473/24 -f 173/183/7 174/181/37 172/180/7 -f 175/186/37 176/193/3 174/181/37 -f 177/189/3 178/194/38 176/193/3 -f 179/188/38 180/197/9 178/194/38 -f 181/191/9 182/202/15 180/197/9 -f 183/200/15 184/177/2 182/204/15 -f 185/199/2 186/178/24 184/177/2 -f 187/184/24 172/180/7 186/178/24 -f 190/475/38 189/394/3 188/476/3 -f 192/477/9 191/182/38 190/475/38 -f 194/478/15 193/391/9 192/477/9 -f 196/479/2 195/185/15 194/478/15 -f 198/480/24 197/187/2 196/479/2 -f 200/481/7 199/190/24 198/480/24 -f 202/482/37 201/392/7 200/481/7 -f 188/476/3 203/198/37 202/483/37 -f 232/484/39 307/485/40 309/486/41 -f 231/487/42 309/486/41 310/488/43 -f 230/340/44 310/488/43 311/339/45 -f 343/338/46 338/345/47 342/341/46 -f 308/489/48 228/490/49 313/491/50 -f 228/490/49 326/492/51 204/493/14 -f 339/344/47 340/427/38 338/345/47 -f 226/494/52 337/495/53 336/496/54 -f 333/497/55 328/422/56 327/421/57 -f 227/498/58 326/492/51 337/495/53 -f 321/499/59 313/500/50 314/501/60 -f 335/502/61 333/497/55 331/503/62 -f 335/502/61 336/504/54 337/495/53 -f 334/505/63 335/502/61 332/506/64 -f 332/506/64 229/507/65 334/505/63 -f 229/507/65 331/503/62 230/508/44 -f 232/484/39 327/421/57 234/509/66 -f 230/508/44 330/510/67 231/511/42 -f 231/511/42 329/512/68 232/484/39 -f 228/513/49 328/422/56 333/497/55 -f 287/514/69 293/418/70 288/515/70 -f 284/398/57 291/516/66 285/517/66 -f 290/518/71 294/519/69 287/520/69 -f 283/228/72 296/322/57 284/398/57 -f 285/521/66 292/321/40 286/522/40 -f 288/523/70 295/416/72 283/228/72 -f 286/524/40 297/320/73 289/525/73 -f 289/525/73 298/417/71 290/518/71 -f 318/526/74 317/527/75 321/499/59 -f 313/500/50 315/528/76 308/529/48 -f 316/530/73 309/531/41 307/532/40 -f 317/527/75 310/533/43 309/531/41 -f 318/526/74 311/534/45 310/533/43 -f 319/535/77 312/536/78 311/534/45 -f 323/537/79 322/538/80 324/539/81 -f 320/540/82 323/537/79 312/536/78 -f 324/539/81 322/538/80 325/541/83 -f 321/499/59 316/530/73 315/528/76 -f 235/542/52 325/543/83 236/544/58 -f 325/543/83 205/545/14 236/544/58 -f 311/339/45 342/341/46 230/340/44 -f 345/546/4 346/547/5 344/548/4 -f 347/549/5 348/550/9 346/547/5 -f 349/551/9 350/552/10 348/553/9 -f 351/554/10 352/555/1 350/552/10 -f 353/556/1 354/557/8 352/555/1 -f 355/558/8 356/559/7 354/557/8 -f 357/560/7 358/561/6 356/559/7 -f 359/562/6 344/548/4 358/561/6 -f 352/555/84 365/563/85 364/564/86 -f 366/565/87 367/566/88 363/567/89 -f 344/548/90 367/568/88 358/561/91 -f 344/548/90 361/569/92 360/570/93 -f 348/553/94 363/571/89 362/572/95 -f 356/559/23 365/573/85 354/557/96 -f 352/555/84 363/574/89 350/552/97 -f 358/561/91 366/575/87 356/559/23 -f 348/550/94 361/576/92 346/547/98 -f 335/502/61 326/577/51 333/497/55 -f 2/21/1 4/22/27 3/56/27 -f 4/22/27 6/24/28 5/14/28 -f 6/24/28 8/26/9 7/12/9 -f 8/17/9 10/15/29 9/37/29 -f 10/15/29 12/9/30 11/40/30 -f 12/9/30 14/11/4 13/42/4 -f 14/11/4 16/36/31 15/46/31 -f 16/36/31 18/32/32 17/48/32 -f 18/32/32 20/33/7 19/50/7 -f 20/33/7 22/30/33 21/52/33 -f 22/30/33 24/19/34 23/54/34 -f 24/19/34 2/21/1 1/57/1 -f 30/16/34 42/442/34 43/434/1 -f 27/29/32 39/444/32 40/435/7 -f 34/31/9 46/445/9 47/436/29 -f 31/10/1 43/434/1 44/437/27 -f 28/352/7 40/578/7 41/438/33 -f 35/27/29 47/436/29 48/439/30 -f 26/20/4 38/443/4 37/440/31 -f 32/34/27 44/437/27 45/441/28 -f 29/18/33 41/438/33 42/442/34 -f 36/28/30 48/439/30 38/443/4 -f 25/23/31 37/440/31 39/444/32 -f 33/35/28 45/441/28 46/445/9 -f 108/446/7 115/454/7 116/447/33 -f 106/449/31 113/455/31 114/450/32 -f 109/448/33 116/447/33 117/452/34 -f 107/451/32 114/450/32 115/454/7 -f 113/455/31 106/449/31 78/367/35 -f 89/456/36 110/453/34 117/452/34 -f 120/116/4 112/119/35 78/367/35 -f 149/458/7 151/461/37 150/459/37 -f 151/461/37 153/463/3 152/462/3 -f 153/463/3 155/465/38 154/464/38 -f 155/465/38 157/579/9 156/466/9 -f 157/467/9 159/470/15 158/468/15 -f 159/470/15 161/472/2 160/471/2 -f 161/472/2 163/474/24 162/473/24 -f 163/474/24 149/458/7 148/460/7 -f 173/183/7 175/186/37 174/181/37 -f 175/186/37 177/189/3 176/193/3 -f 177/189/3 179/188/38 178/194/38 -f 179/188/38 181/191/9 180/197/9 -f 181/191/9 183/196/15 182/202/15 -f 183/200/15 185/199/2 184/177/2 -f 185/199/2 187/184/24 186/178/24 -f 187/184/24 173/183/7 172/180/7 -f 190/475/38 191/182/38 189/394/3 -f 192/477/9 193/391/9 191/182/38 -f 194/478/15 195/185/15 193/391/9 -f 196/479/2 197/187/2 195/185/15 -f 198/480/24 199/190/24 197/187/2 -f 200/481/7 201/392/7 199/190/24 -f 202/482/37 203/195/37 201/392/7 -f 188/476/3 189/394/3 203/198/37 -f 232/484/39 234/509/66 307/485/40 -f 231/487/42 232/484/39 309/486/41 -f 230/340/44 231/487/42 310/488/43 -f 343/338/46 339/344/47 338/345/47 -f 308/489/48 233/580/99 228/490/49 -f 204/493/14 205/545/14 228/490/49 -f 205/545/14 314/581/60 313/491/50 -f 228/490/49 205/545/14 313/491/50 -f 339/344/47 341/426/38 340/427/38 -f 226/494/52 227/498/58 337/495/53 -f 227/498/58 204/493/14 326/492/51 -f 325/541/83 322/538/80 314/501/60 -f 322/538/80 321/499/59 314/501/60 -f 333/497/55 327/421/57 329/512/68 -f 329/512/68 330/510/67 333/497/55 -f 330/510/67 331/503/62 333/497/55 -f 331/503/62 332/506/64 335/502/61 -f 334/505/63 336/504/54 335/502/61 -f 229/507/65 332/506/64 331/503/62 -f 232/484/39 329/512/68 327/421/57 -f 230/508/44 331/503/62 330/510/67 -f 231/511/42 330/510/67 329/512/68 -f 228/513/49 233/582/99 328/422/56 -f 287/514/69 294/419/69 293/418/70 -f 284/398/57 296/322/57 291/516/66 -f 290/518/71 298/417/71 294/519/69 -f 283/228/72 295/416/72 296/322/57 -f 285/521/66 291/415/66 292/321/40 -f 288/523/70 293/583/70 295/416/72 -f 286/524/40 292/584/40 297/320/73 -f 289/525/73 297/320/73 298/417/71 -f 317/527/75 316/530/73 321/499/59 -f 321/499/59 322/538/80 319/535/77 -f 322/538/80 320/540/82 319/535/77 -f 319/535/77 318/526/74 321/499/59 -f 313/500/50 321/499/59 315/528/76 -f 316/530/73 317/527/75 309/531/41 -f 317/527/75 318/526/74 310/533/43 -f 318/526/74 319/535/77 311/534/45 -f 319/535/77 320/540/82 312/536/78 -f 323/537/79 320/540/82 322/538/80 -f 235/542/52 324/585/81 325/543/83 -f 325/543/83 314/581/60 205/545/14 -f 311/339/45 343/338/46 342/341/46 -f 345/546/4 347/549/5 346/547/5 -f 347/549/5 349/586/9 348/550/9 -f 349/551/9 351/554/10 350/552/10 -f 351/554/10 353/556/1 352/555/1 -f 353/556/1 355/558/8 354/557/8 -f 355/558/8 357/560/7 356/559/7 -f 357/560/7 359/562/6 358/561/6 -f 359/562/6 345/546/4 344/548/4 -f 352/555/84 354/557/96 365/563/85 -f 367/566/88 360/587/93 361/588/92 -f 361/588/92 362/589/95 367/566/88 -f 362/589/95 363/567/89 367/566/88 -f 363/567/89 364/590/86 365/591/85 -f 365/591/85 366/565/87 363/567/89 -f 344/548/90 360/592/93 367/568/88 -f 344/548/90 346/547/98 361/569/92 -f 348/553/94 350/552/97 363/571/89 -f 356/559/23 366/593/87 365/573/85 -f 352/555/84 364/594/86 363/574/89 -f 358/561/91 367/595/88 366/575/87 -f 348/550/94 362/596/95 361/576/92 -f 337/495/53 326/577/51 335/502/61 -f 326/577/51 228/513/49 333/497/55 +f 479/777/168 480/812/172 478/813/168 +f 481/778/172 482/770/173 480/812/172 +f 483/780/173 484/768/158 482/770/173 +f 485/773/158 486/793/174 484/795/158 +f 487/771/174 488/796/175 486/793/174 +f 489/765/175 490/798/156 488/796/175 +f 491/767/156 492/802/176 490/798/156 +f 493/792/176 494/804/177 492/802/176 +f 495/788/177 496/806/157 494/804/177 +f 497/789/157 498/808/178 496/806/157 +f 499/786/178 500/810/179 498/808/178 +f 501/775/179 478/813/168 500/810/179 +f 507/772/179 520/946/168 508/766/168 +f 504/785/177 517/947/157 505/781/157 +f 511/787/158 524/948/174 512/783/174 +f 508/766/168 521/949/172 509/790/172 +f 505/915/157 518/950/178 506/774/178 +f 512/783/174 525/951/175 513/784/175 +f 503/776/156 514/952/176 502/779/176 +f 509/790/172 522/953/173 510/791/173 +f 506/774/178 519/954/179 507/772/179 +f 513/784/175 515/955/156 503/776/156 +f 502/779/176 516/956/177 504/785/177 +f 510/791/173 523/957/158 511/787/158 +f 542/958/157 550/959/178 543/960/178 +f 540/961/176 548/962/177 541/963/177 +f 543/960/178 551/964/179 544/965/179 +f 541/963/177 549/966/157 542/958/157 +f 547/967/176 528/919/180 546/828/180 +f 532/968/181 551/964/179 552/969/181 +f 554/825/156 528/919/180 535/823/156 +f 595/970/182 610/971/183 612/972/184 +f 594/973/185 612/972/184 613/974/186 +f 593/907/187 613/974/186 614/906/188 +f 646/905/189 641/912/190 645/908/189 +f 611/975/191 591/976/192 616/977/193 +f 591/976/192 629/978/194 567/979/162 +f 642/911/190 643/945/195 641/912/190 +f 589/980/196 640/981/197 639/982/198 +f 636/983/199 631/940/200 630/939/201 +f 590/984/202 629/978/194 640/981/197 +f 624/985/203 616/986/193 617/987/204 +f 638/988/205 636/983/199 634/989/206 +f 638/988/205 639/990/198 640/981/197 +f 637/991/207 638/988/205 635/992/208 +f 635/992/208 592/993/209 637/991/207 +f 592/993/209 634/989/206 593/994/187 +f 595/970/182 630/939/201 597/995/210 +f 593/994/187 633/996/211 594/997/185 +f 594/997/185 632/998/212 595/970/182 +f 591/999/192 631/940/200 636/983/199 +f 621/1000/213 620/1001/214 624/985/203 +f 616/986/193 618/1002/215 611/1003/191 +f 619/1004/216 612/1005/184 610/1006/183 +f 620/1001/214 613/1007/186 612/1005/184 +f 621/1000/213 614/1008/188 613/1007/186 +f 622/1009/217 615/1010/218 614/1008/188 +f 626/1011/219 625/1012/220 627/1013/221 +f 623/1014/222 626/1011/219 615/1010/218 +f 627/1013/221 625/1012/220 628/1015/223 +f 624/985/203 619/1004/216 618/1002/215 +f 598/1016/196 628/1017/223 599/1018/202 +f 628/1017/223 568/1019/162 599/1018/202 +f 614/906/188 645/908/189 593/907/187 +f 638/988/205 629/1020/194 636/983/199 +f 479/777/168 481/778/172 480/812/172 +f 481/778/172 483/780/173 482/770/173 +f 483/780/173 485/782/158 484/768/158 +f 485/773/158 487/771/174 486/793/174 +f 487/771/174 489/765/175 488/796/175 +f 489/765/175 491/767/156 490/798/156 +f 491/767/156 493/792/176 492/802/176 +f 493/792/176 495/788/177 494/804/177 +f 495/788/177 497/789/157 496/806/157 +f 497/789/157 499/786/178 498/808/178 +f 499/786/178 501/775/179 500/810/179 +f 501/775/179 479/777/168 478/813/168 +f 507/772/179 519/954/179 520/946/168 +f 504/785/177 516/956/177 517/947/157 +f 511/787/158 523/957/158 524/948/174 +f 508/766/168 520/946/168 521/949/172 +f 505/915/157 517/1021/157 518/950/178 +f 512/783/174 524/948/174 525/951/175 +f 503/776/156 515/955/156 514/952/176 +f 509/790/172 521/949/172 522/953/173 +f 506/774/178 518/950/178 519/954/179 +f 513/784/175 525/951/175 515/955/156 +f 502/779/176 514/952/176 516/956/177 +f 510/791/173 522/953/173 523/957/158 +f 542/958/157 549/966/157 550/959/178 +f 540/961/176 547/967/176 548/962/177 +f 543/960/178 550/959/178 551/964/179 +f 541/963/177 548/962/177 549/966/157 +f 547/967/176 540/961/176 528/919/180 +f 532/968/181 544/965/179 551/964/179 +f 554/825/156 546/828/180 528/919/180 +f 595/970/182 597/995/210 610/971/183 +f 594/973/185 595/970/182 612/972/184 +f 593/907/187 594/973/185 613/974/186 +f 646/905/189 642/911/190 641/912/190 +f 611/975/191 596/1022/224 591/976/192 +f 567/979/162 568/1019/162 591/976/192 +f 568/1019/162 617/1023/204 616/977/193 +f 591/976/192 568/1019/162 616/977/193 +f 642/911/190 644/944/195 643/945/195 +f 589/980/196 590/984/202 640/981/197 +f 590/984/202 567/979/162 629/978/194 +f 628/1015/223 625/1012/220 617/987/204 +f 625/1012/220 624/985/203 617/987/204 +f 636/983/199 630/939/201 632/998/212 +f 632/998/212 633/996/211 636/983/199 +f 633/996/211 634/989/206 636/983/199 +f 634/989/206 635/992/208 638/988/205 +f 637/991/207 639/990/198 638/988/205 +f 592/993/209 635/992/208 634/989/206 +f 595/970/182 632/998/212 630/939/201 +f 593/994/187 634/989/206 633/996/211 +f 594/997/185 633/996/211 632/998/212 +f 591/999/192 596/1024/224 631/940/200 +f 620/1001/214 619/1004/216 624/985/203 +f 624/985/203 625/1012/220 622/1009/217 +f 625/1012/220 623/1014/222 622/1009/217 +f 622/1009/217 621/1000/213 624/985/203 +f 616/986/193 624/985/203 618/1002/215 +f 619/1004/216 620/1001/214 612/1005/184 +f 620/1001/214 621/1000/213 613/1007/186 +f 621/1000/213 622/1009/217 614/1008/188 +f 622/1009/217 623/1014/222 615/1010/218 +f 626/1011/219 623/1014/222 625/1012/220 +f 598/1016/196 627/1025/221 628/1017/223 +f 628/1017/223 617/1023/204 568/1019/162 +f 614/906/188 646/905/189 645/908/189 +f 640/981/197 629/1020/194 638/988/205 +f 629/1020/194 591/999/192 636/983/199 diff --git a/src/main/resources/assets/hbm/models/weapons/minigun.obj b/src/main/resources/assets/hbm/models/weapons/minigun.obj index 7cd89bcc0..934aabc7e 100644 --- a/src/main/resources/assets/hbm/models/weapons/minigun.obj +++ b/src/main/resources/assets/hbm/models/weapons/minigun.obj @@ -1,100 +1,1819 @@ # Blender v2.79 (sub 0) OBJ File: 'minigun.blend' # www.blender.org -o Circle +o GunDual v 0.000000 1.500000 -2.000000 -v -0.574025 1.385819 -2.000000 -v -1.060660 1.060660 -2.000000 -v -1.385819 0.574025 -2.000000 -v -1.500000 -0.000000 -2.000000 -v -1.385819 -0.574025 -2.000000 -v -1.060660 -1.060660 -2.000000 -v -0.574025 -1.385819 -2.000000 -v 0.000000 -1.500000 -2.000000 -v 0.574025 -1.385819 -2.000000 -v 1.060660 -1.060660 -2.000000 -v 1.385819 -0.574025 -2.000000 -v 1.500000 -0.000000 -2.000000 -v 1.385819 0.574025 -2.000000 +v 0.574025 1.385819 -2.000000 v 1.060660 1.060660 -2.000000 -v 0.574024 1.385820 -2.000000 +v 1.385819 0.574025 -2.000000 +v 1.500000 -0.000000 -2.000000 +v 1.385819 -0.574025 -2.000000 +v 1.060660 -1.060660 -2.000000 +v 0.574025 -1.385819 -2.000000 +v 0.000000 -1.500000 -2.000000 +v -0.574025 -1.385819 -2.000000 +v -1.060660 -1.060660 -2.000000 +v -1.385819 -0.574025 -2.000000 +v -1.500000 -0.000000 -2.000000 +v -1.385819 0.574025 -2.000000 +v -1.060660 1.060660 -2.000000 +v -0.574024 1.385820 -2.000000 v 0.000000 1.500000 -5.000000 -v -0.574025 1.385819 -5.000000 -v -1.060660 1.060660 -5.000000 -v -1.385819 0.574025 -5.000000 -v -1.500000 -0.000000 -5.000000 -v -1.385819 -0.574025 -5.000000 -v -1.060660 -1.060660 -5.000000 -v -0.574025 -1.385819 -5.000000 -v 0.000000 -1.500000 -5.000000 -v 0.574025 -1.385819 -5.000000 -v 1.060660 -1.060660 -5.000000 -v 1.385819 -0.574025 -5.000000 -v 1.500000 -0.000000 -5.000000 -v 1.385819 0.574025 -5.000000 +v 0.574025 1.385819 -5.000000 v 1.060660 1.060660 -5.000000 -v 0.574024 1.385820 -5.000000 +v 1.385819 0.574025 -5.000000 +v 1.500000 -0.000000 -5.000000 +v 1.385819 -0.574025 -5.000000 +v 1.060660 -1.060660 -5.000000 +v 0.574025 -1.385819 -5.000000 +v 0.000000 -1.500000 -5.000000 +v -0.574025 -1.385819 -5.000000 +v -1.060660 -1.060660 -5.000000 +v -1.385819 -0.574025 -5.000000 +v -1.500000 -0.000000 -5.000000 +v -1.385819 0.574025 -5.000000 +v -1.060660 1.060660 -5.000000 +v -0.574024 1.385820 -5.000000 v 0.000000 1.250000 -5.500000 -v -0.478354 1.154850 -5.500000 -v -0.883883 0.883883 -5.500000 -v -1.154849 0.478354 -5.500000 -v -1.250000 0.000000 -5.500000 -v -1.154849 -0.478354 -5.500000 -v -0.883883 -0.883883 -5.500000 -v -0.478354 -1.154850 -5.500000 -v 0.000000 -1.250000 -5.500000 -v 0.478354 -1.154850 -5.500000 -v 0.883883 -0.883884 -5.500000 -v 1.154849 -0.478354 -5.500000 -v 1.250000 0.000000 -5.500000 -v 1.154849 0.478354 -5.500000 -v 0.883883 0.883884 -5.500000 v 0.478354 1.154850 -5.500000 +v 0.883883 0.883883 -5.500000 +v 1.154849 0.478354 -5.500000 +v 1.250000 0.000000 -5.500000 +v 1.154849 -0.478354 -5.500000 +v 0.883883 -0.883883 -5.500000 +v 0.478354 -1.154850 -5.500000 +v 0.000000 -1.250000 -5.500000 +v -0.478354 -1.154850 -5.500000 +v -0.883883 -0.883884 -5.500000 +v -1.154849 -0.478354 -5.500000 +v -1.250000 0.000000 -5.500000 +v -1.154849 0.478354 -5.500000 +v -0.883883 0.883884 -5.500000 +v -0.478354 1.154850 -5.500000 v 0.000000 1.250000 -9.000000 -v -0.478354 1.154850 -9.000000 -v -0.883883 0.883883 -9.000000 -v -1.154849 0.478354 -9.000000 -v -1.250000 0.000000 -9.000000 -v -1.154849 -0.478354 -9.000000 -v -0.883883 -0.883883 -9.000000 -v -0.478354 -1.154850 -9.000000 -v 0.000000 -1.250000 -9.000000 -v 0.478354 -1.154850 -9.000000 -v 0.883883 -0.883884 -9.000000 -v 1.154849 -0.478354 -9.000000 -v 1.250000 0.000000 -9.000000 -v 1.154849 0.478354 -9.000000 -v 0.883883 0.883884 -9.000000 v 0.478354 1.154850 -9.000000 +v 0.883883 0.883883 -9.000000 +v 1.154849 0.478354 -9.000000 +v 1.250000 0.000000 -9.000000 +v 1.154849 -0.478354 -9.000000 +v 0.883883 -0.883883 -9.000000 +v 0.478354 -1.154850 -9.000000 +v 0.000000 -1.250000 -9.000000 +v -0.478354 -1.154850 -9.000000 +v -0.883883 -0.883884 -9.000000 +v -1.154849 -0.478354 -9.000000 +v -1.250000 0.000000 -9.000000 +v -1.154849 0.478354 -9.000000 +v -0.883883 0.883884 -9.000000 +v -0.478354 1.154850 -9.000000 v 0.000000 1.000000 -9.500000 -v -0.382684 0.923880 -9.500000 -v -0.707107 0.707107 -9.500000 -v -0.923880 0.382684 -9.500000 -v -1.000000 -0.000000 -9.500000 -v -0.923880 -0.382684 -9.500000 -v -0.707107 -0.707107 -9.500000 -v -0.382684 -0.923880 -9.500000 -v -0.000000 -1.000000 -9.500000 -v 0.382683 -0.923880 -9.500000 -v 0.707107 -0.707107 -9.500000 -v 0.923879 -0.382684 -9.500000 -v 1.000000 -0.000000 -9.500000 -v 0.923879 0.382684 -9.500000 +v 0.382684 0.923880 -9.500000 v 0.707107 0.707107 -9.500000 -v 0.382683 0.923880 -9.500000 -v -0.750000 0.000000 -6.000000 -v -0.750000 1.500000 -6.000000 -v -0.750000 0.000000 -10.500000 -v -0.750000 1.500000 -10.500000 +v 0.923880 0.382684 -9.500000 +v 1.000000 -0.000000 -9.500000 +v 0.923880 -0.382684 -9.500000 +v 0.707107 -0.707107 -9.500000 +v 0.382684 -0.923880 -9.500000 +v 0.000000 -1.000000 -9.500000 +v -0.382683 -0.923880 -9.500000 +v -0.707107 -0.707107 -9.500000 +v -0.923879 -0.382684 -9.500000 +v -1.000000 -0.000000 -9.500000 +v -0.923879 0.382684 -9.500000 +v -0.707107 0.707107 -9.500000 +v -0.382683 0.923880 -9.500000 v 0.750000 0.000000 -6.000000 v 0.750000 1.500000 -6.000000 v 0.750000 0.000000 -10.500000 v 0.750000 1.500000 -10.500000 -v -0.750000 2.000000 -8.250000 +v -0.750000 0.000000 -6.000000 +v -0.750000 1.500000 -6.000000 +v -0.750000 0.000000 -10.500000 +v -0.750000 1.500000 -10.500000 v 0.750000 2.000000 -8.250000 -v -0.375000 -0.750000 -10.500000 -v -0.375000 -0.750000 -6.000000 +v -0.750000 2.000000 -8.250000 v 0.375000 -0.750000 -10.500000 v 0.375000 -0.750000 -6.000000 +v -0.375000 -0.750000 -10.500000 +v -0.375000 -0.750000 -6.000000 +v 0.375000 2.500000 -11.250000 +v -0.375000 2.500000 -11.250000 +v 0.375000 1.750000 -12.000000 +v -0.375000 1.750000 -12.000000 +v 0.375000 0.750000 -10.500000 +v -0.375000 0.750000 -10.500000 +v 0.375000 1.750000 -7.750000 +v -0.375000 1.750000 -7.750000 +v 0.375000 4.000000 -11.250000 +v -0.375000 4.000000 -11.250000 +v 0.375000 4.000000 -7.750000 +v -0.375000 4.000000 -7.750000 +v 0.375000 4.000000 -8.250000 +v -0.375000 4.000000 -8.250000 +v 0.375000 2.500000 -8.250000 +v -0.375000 2.500000 -8.250000 +v 0.375000 4.000000 -10.750000 +v -0.375000 4.000000 -10.750000 +v 0.375000 2.500000 -10.750000 +v -0.375000 2.500000 -10.750000 +v 0.000000 3.875000 -8.250000 +v 0.265165 3.765165 -8.250000 +v 0.375000 3.500000 -8.250000 +v 0.265165 3.234835 -8.250000 +v 0.000000 3.125000 -8.250000 +v -0.265165 3.234835 -8.250000 +v -0.375000 3.500000 -8.250000 +v -0.265165 3.765165 -8.250000 +v 0.000000 3.875000 -10.750000 +v 0.265165 3.765165 -10.750000 +v 0.375000 3.500000 -10.750000 +v 0.265165 3.234835 -10.750000 +v 0.000000 3.125000 -10.750000 +v -0.265165 3.234835 -10.750000 +v -0.375000 3.500000 -10.750000 +v -0.265165 3.765165 -10.750000 +v 1.500000 0.250000 -5.750000 +v 1.500000 -0.750000 -8.250000 +v 1.500000 0.250000 -8.250000 +v -1.500000 0.250000 -5.750000 +v -1.500000 -0.750000 -8.250000 +v -1.500000 0.250000 -8.250000 +v -2.000000 0.250000 -8.000000 +v -2.000000 -0.750000 -8.000000 +v -2.000000 0.250000 -6.250000 +v 2.000000 -0.750000 -8.000000 +v 2.000000 0.250000 -6.250000 +v 2.000000 0.250000 -8.000000 +v 1.500000 0.750000 -6.250000 +v 1.500000 0.750000 -8.000000 +v -1.500000 0.750000 -8.000000 +v -1.500000 0.750000 -6.250000 +v -2.000000 0.750000 -7.750000 +v -2.000000 0.750000 -6.750000 +v 2.000000 0.750000 -6.750000 +v 2.000000 0.750000 -7.750000 +v 1.500000 -1.500000 -7.500000 +v 1.500000 -1.500000 -5.750000 +v -1.500000 -1.500000 -7.500000 +v -1.500000 -1.500000 -5.750000 +v -2.000000 -1.500000 -6.250000 +v -2.000000 -1.500000 -7.250000 +v 2.000000 -1.500000 -7.250000 +v 2.000000 -1.500000 -6.250000 +v -1.125000 0.375000 -2.000000 +v -1.125000 -0.375000 -2.000000 +v -1.125000 0.375000 -5.750000 +v -1.125000 -0.375000 -5.750000 +v -1.875000 0.375000 -5.500000 +v -1.875000 0.375000 -2.250000 +v -1.875000 -0.375000 -2.250000 +v -1.875000 -0.375000 -5.500000 +v -2.375000 0.187500 -4.500000 +v -2.375000 0.187500 -3.250000 +v -2.375000 -0.187500 -3.250000 +v -2.375000 -0.187500 -4.500000 +v 1.125000 0.375000 -2.000000 +v 1.125000 -0.375000 -2.000000 +v 1.125000 0.375000 -5.750000 +v 1.125000 -0.375000 -5.750000 +v 1.875000 0.375000 -5.500000 +v 1.875000 0.375000 -2.250000 +v 1.875000 -0.375000 -2.250000 +v 1.875000 -0.375000 -5.500000 +v 2.375000 0.187500 -4.500000 +v 2.375000 0.187500 -3.250000 +v 2.375000 -0.187500 -3.250000 +v 2.375000 -0.187500 -4.500000 +v 1.223240 1.817343 -4.000000 +v 1.223240 1.817343 -3.000000 +v 0.840556 1.741222 -4.000000 +v 0.840556 1.741222 -3.000000 +v 0.516133 1.524449 -4.000000 +v 0.516133 1.524449 -3.000000 +v 0.299360 1.200026 -4.000000 +v 0.299360 1.200026 -3.000000 +v 0.223240 0.817343 -4.000000 +v 0.223240 0.817343 -3.000000 +v 0.299360 0.434659 -4.000000 +v 0.299360 0.434659 -3.000000 +v 0.516133 0.110236 -4.000000 +v 0.516133 0.110236 -3.000000 +v 0.840556 -0.106537 -4.000000 +v 0.840556 -0.106537 -3.000000 +v 1.223239 -0.182657 -4.000000 +v 1.223239 -0.182657 -3.000000 +v 1.605923 -0.106537 -4.000000 +v 1.605923 -0.106537 -3.000000 +v 1.930346 0.110236 -4.000000 +v 1.930346 0.110236 -3.000000 +v 2.147119 0.434659 -4.000000 +v 2.147119 0.434659 -3.000000 +v 2.223239 0.817343 -4.000000 +v 2.223239 0.817343 -3.000000 +v 2.147119 1.200026 -4.000000 +v 2.147119 1.200026 -3.000000 +v 1.930346 1.524450 -4.000000 +v 1.930346 1.524450 -3.000000 +v 1.605923 1.741222 -4.000000 +v 1.605923 1.741222 -3.000000 +v -1.223239 1.817343 -4.000000 +v -1.223239 1.817343 -3.000000 +v -1.605923 1.741222 -4.000000 +v -1.605923 1.741222 -3.000000 +v -1.930346 1.524450 -4.000000 +v -1.930346 1.524450 -3.000000 +v -2.147119 1.200026 -4.000000 +v -2.147119 1.200026 -3.000000 +v -2.223239 0.817343 -4.000000 +v -2.223239 0.817343 -3.000000 +v -2.147119 0.434659 -4.000000 +v -2.147119 0.434659 -3.000000 +v -1.930346 0.110236 -4.000000 +v -1.930346 0.110236 -3.000000 +v -1.605923 -0.106537 -4.000000 +v -1.605923 -0.106537 -3.000000 +v -1.223240 -0.182657 -4.000000 +v -1.223240 -0.182657 -3.000000 +v -0.840556 -0.106537 -4.000000 +v -0.840556 -0.106537 -3.000000 +v -0.516133 0.110236 -4.000000 +v -0.516133 0.110236 -3.000000 +v -0.299360 0.434659 -4.000000 +v -0.299360 0.434659 -3.000000 +v -0.223239 0.817343 -4.000000 +v -0.223239 0.817343 -3.000000 +v -0.299360 1.200027 -4.000000 +v -0.299360 1.200027 -3.000000 +v -0.516133 1.524450 -4.000000 +v -0.516133 1.524450 -3.000000 +v -0.840557 1.741223 -4.000000 +v -0.840557 1.741223 -3.000000 +v 0.500000 -1.000000 -2.500000 +v -0.500000 -1.000000 -2.500000 +v 0.500000 -1.000000 -6.500000 +v -0.500000 -1.000000 -6.500000 +v 0.500000 -2.000000 -5.500000 +v 0.500000 -2.000000 -2.500000 +v -0.500000 -2.000000 -2.500000 +v -0.500000 -2.000000 -5.500000 +v -1.250000 0.000000 -8.000000 +v -1.250000 0.500000 -8.000000 +v -1.250000 0.000000 -9.750000 +v -1.250000 0.500000 -9.750000 +v -1.750000 0.000000 -8.000000 +v -1.750000 0.500000 -8.000000 +v -1.750000 0.000000 -9.750000 +v -1.750000 0.500000 -9.750000 +v 1.000000 1.250000 -6.500000 +v -1.250000 0.000000 -10.250000 +v -1.750000 0.000000 -10.250000 +v -1.000000 1.250000 -6.500000 +v -1.750000 -1.000000 -9.750000 +v -1.250000 -1.000000 -9.750000 +v -1.750000 -1.000000 -10.250000 +v -1.250000 -1.000000 -10.250000 +v 1.750000 0.000000 -8.000000 +v 1.750000 0.500000 -8.000000 +v 1.750000 0.000000 -9.750000 +v 1.750000 0.500000 -9.750000 +v 1.250000 0.000000 -8.000000 +v 1.250000 0.500000 -8.000000 +v 1.250000 0.000000 -9.750000 +v 1.250000 0.500000 -9.750000 +v 1.000000 1.250000 -7.750000 +v 1.750000 0.000000 -10.250000 +v 1.250000 0.000000 -10.250000 +v -1.000000 1.250000 -7.750000 +v 1.250000 -1.000000 -9.750000 +v 1.750000 -1.000000 -9.750000 +v 1.250000 -1.000000 -10.250000 +v 1.750000 -1.000000 -10.250000 +v -1.000000 0.750000 -7.750000 +v -1.250000 -1.500000 -9.750000 +v 1.000000 0.750000 -7.750000 +v -1.250000 -1.500000 -10.250000 +v 1.250000 -1.500000 -9.750000 +v -1.000000 0.750000 -6.500000 +v 1.250000 -1.500000 -10.250000 +v 1.000000 0.750000 -6.500000 +v 1.500000 -2.000000 -2.750000 +v -1.500000 -2.000000 -2.750000 +v 1.500000 -2.000000 -5.250000 +v -1.500000 -2.000000 -5.250000 +v 1.500000 -4.000000 -5.250000 +v 1.500000 -4.000000 -2.750000 +v -1.500000 -4.000000 -2.750000 +v -1.500000 -4.000000 -5.250000 +v -1.500000 -2.187501 -3.937498 +v -1.500000 -2.562501 -3.937498 +v -1.500000 -2.187501 -3.062498 +v -1.500000 -2.562501 -3.062498 +v -2.000000 -2.187501 -3.937498 +v -2.000000 -2.562501 -3.937498 +v -2.000000 -2.187501 -3.062498 +v -2.000000 -2.562501 -3.062498 +v -2.500000 -1.687501 -3.937498 +v -2.875000 -1.687501 -3.937498 +v -2.500000 -1.687501 -3.062498 +v -2.875000 -1.687501 -3.062498 +v -2.500000 0.437499 -3.937498 +v -2.875000 0.437499 -3.937498 +v -2.500000 0.437499 -3.062498 +v -2.875000 0.437499 -3.062498 +v -2.000000 0.937498 -3.937498 +v -2.000000 0.937498 -3.062498 +v -2.000000 1.312498 -3.937498 +v -2.000000 1.312498 -3.062498 +v 0.750000 1.375000 -3.250000 +v -0.750000 1.375000 -3.250000 +v -1.750000 0.000000 -4.750000 +v -1.750000 0.000000 -3.000000 +v -1.616789 -0.669696 -4.750000 +v -1.616789 -0.669696 -3.000000 +v -1.237437 -1.237437 -4.750000 +v -1.237437 -1.237437 -3.000000 +v -0.669696 -1.616789 -4.750000 +v -0.669696 -1.616789 -3.000000 +v 0.000000 -1.750000 -4.750000 +v 0.000000 -1.750000 -3.000000 +v 0.669696 -1.616789 -4.750000 +v 0.669696 -1.616789 -3.000000 +v 1.237436 -1.237437 -4.750000 +v 1.237436 -1.237437 -3.000000 +v 1.616789 -0.669696 -4.750000 +v 1.616789 -0.669696 -3.000000 +v 1.750000 0.000000 -4.750000 +v 1.750000 0.000000 -3.000000 +v 0.750000 1.375000 -3.750000 +v -0.750000 1.375000 -3.750000 +v -0.750000 1.625000 -3.750000 +v 0.750000 1.625000 -3.750000 +v -0.750000 1.625000 -3.250000 +v 0.750000 1.625000 -3.250000 +vt 0.223684 0.187592 +vt 0.197407 0.250000 +vt 0.223684 0.312408 +vt 0.532895 0.265625 +vt 0.532895 0.359375 +vt 0.592105 0.390625 +vt 0.171053 0.812500 +vt 0.125000 0.781250 +vt 0.125000 0.812500 +vt 0.473684 0.242188 +vt 0.414474 0.148438 +vt 0.414474 0.242188 +vt 0.651316 0.125000 +vt 0.651316 0.031250 +vt 0.592105 -0.000000 +vt 0.769737 0.242188 +vt 0.710526 0.148438 +vt 0.710526 0.242188 +vt 0.532895 0.171875 +vt 0.651316 0.218750 +vt 0.651316 0.171875 +vt 0.651316 0.265625 +vt 0.184211 0.812500 +vt 0.184211 0.781250 +vt 0.171053 0.812500 +vt 0.532895 0.125000 +vt 0.264746 0.027479 +vt 0.208939 0.027479 +vt 0.208939 0.160021 +vt 0.509868 0.546875 +vt 0.496711 0.640625 +vt 0.496711 0.500000 +vt 0.628289 0.390625 +vt 0.608553 0.437500 +vt 0.628289 0.437500 +vt 0.608553 0.390625 +vt 0.569079 0.437500 +vt 0.509868 0.546875 +vt 0.496711 0.640625 +vt 0.509868 0.640625 +vt 0.588816 0.640625 +vt 0.608553 0.546875 +vt 0.588816 0.546875 +vt 0.509868 0.687500 +vt 0.496711 0.687500 +vt 0.529605 0.546875 +vt 0.529605 0.640625 +vt 0.575658 0.640625 +vt 0.588816 0.687500 +vt 0.575658 0.546875 +vt 0.555921 0.640625 +vt 0.509868 0.687500 +vt 0.575658 0.640625 +vt 0.509868 0.640625 +vt 0.476974 0.640625 +vt 0.496711 0.500000 +vt 0.476974 0.500000 +vt 0.588816 0.546875 +vt 0.575658 0.640625 +vt 0.575658 0.546875 +vt 0.569079 0.437500 +vt 0.608553 0.500000 +vt 0.322368 0.156250 +vt 0.401316 0.218750 +vt 0.401316 0.156250 +vt 0.401316 0.250000 +vt 0.414474 0.218750 +vt 0.296053 0.250000 +vt 0.269737 0.250000 +vt 0.296053 0.359375 +vt 0.401316 0.109375 +vt 0.309211 0.218750 +vt 0.322368 0.250000 +vt 0.322368 0.218750 +vt 0.414474 0.390625 +vt 0.401316 0.500000 +vt 0.414474 0.500000 +vt 0.309211 0.156250 +vt 0.427632 0.359375 +vt 0.473684 0.359375 +vt 0.473684 0.296875 +vt 0.322368 0.109375 +vt 0.414474 0.328125 +vt 0.414474 0.265625 +vt 0.309211 0.390625 +vt 0.322368 0.500000 +vt 0.322368 0.390625 +vt 0.401316 0.359375 +vt 0.401316 0.390625 +vt 0.322368 0.359375 +vt 0.414474 0.093750 +vt 0.414474 0.031250 +vt 0.414474 0.156250 +vt 0.046053 0.789062 +vt 0.019737 0.753906 +vt 0.019737 0.800781 +vt 0.105263 0.753906 +vt 0.125000 0.800781 +vt 0.125000 0.753906 +vt 0.000000 0.753906 +vt -0.000000 0.800781 +vt 0.019737 0.734375 +vt 0.111842 0.687500 +vt 0.013158 0.687500 +vt 0.105263 0.820312 +vt 0.013158 0.867188 +vt 0.111842 0.867188 +vt 0.078947 0.789062 +vt 0.046053 0.769531 +vt 0.078947 0.765625 +vt 0.105263 0.734375 +vt 0.019737 0.820312 +vt 0.105263 0.800781 +vt 0.105263 0.753906 +vt 0.078947 0.789062 +vt 0.105263 0.800781 +vt -0.000000 0.800781 +vt 0.019737 0.753906 +vt 0.000000 0.753906 +vt 0.125000 0.753906 +vt 0.125000 0.800781 +vt 0.013158 0.687500 +vt 0.105263 0.734375 +vt 0.111842 0.687500 +vt 0.111842 0.867188 +vt 0.019737 0.820312 +vt 0.013158 0.867188 +vt 0.078947 0.765625 +vt 0.046053 0.789062 +vt 0.019737 0.734375 +vt 0.105263 0.820312 +vt 0.019737 0.800781 +vt 0.046053 0.769531 +vt 0.946511 0.187500 +vt 0.921053 0.127036 +vt 0.895594 0.187500 +vt 0.891942 0.210638 +vt 0.878164 0.131639 +vt 0.844901 0.164362 +vt 0.921053 0.002036 +vt 0.895594 0.062500 +vt 0.921053 0.122964 +vt 0.878164 0.006639 +vt 0.844901 0.039362 +vt 0.858679 0.118361 +vt 0.671053 0.148438 +vt 0.414474 0.812500 +vt 0.493421 0.750000 +vt 0.414474 0.750000 +vt 0.519737 0.812500 +vt 0.519737 0.750000 +vt 0.388158 0.750000 +vt 0.388158 0.812500 +vt 0.493421 0.812500 +vt 0.414474 0.875000 +vt 0.519737 0.875000 +vt 0.414474 0.687500 +vt 0.519737 0.687500 +vt 0.125000 0.718750 +vt 0.171053 0.750000 +vt 0.171053 0.718750 +vt 0.125000 0.687500 +vt 0.171053 0.687500 +vt 0.125000 0.750000 +vt 0.171053 0.781250 +vt 0.328947 0.750000 +vt 0.342105 0.781250 +vt 0.342105 0.750000 +vt 0.171053 0.718750 +vt 0.184211 0.750000 +vt 0.184211 0.718750 +vt 0.210526 0.812500 +vt 0.243421 0.468750 +vt 0.230263 0.390625 +vt 0.230263 0.468750 +vt 0.223684 0.781250 +vt 0.223684 0.750000 +vt 0.210526 0.781250 +vt 0.210526 0.718750 +vt 0.184211 0.687500 +vt 0.210526 0.781250 +vt 0.210526 0.750000 +vt 0.342105 0.718750 +vt 0.388158 0.750000 +vt 0.388158 0.718750 +vt 0.328947 0.718750 +vt 0.342105 0.718750 +vt 0.388158 0.812500 +vt 0.342105 0.812500 +vt 0.342105 0.687500 +vt 0.388158 0.781250 +vt 0.342105 0.812500 +vt 0.328947 0.781250 +vt 0.328947 0.812500 +vt 0.302632 0.718750 +vt 0.296053 0.390625 +vt 0.309211 0.468750 +vt 0.309211 0.390625 +vt 0.243421 0.390625 +vt 0.296053 0.359375 +vt 0.243421 0.359375 +vt 0.302632 0.687500 +vt 0.328947 0.687500 +vt 0.302632 0.750000 +vt 0.302632 0.781250 +vt 0.289474 0.718750 +vt 0.296053 0.468750 +vt 0.289474 0.687500 +vt 0.302632 0.687500 +vt 0.223684 0.812500 +vt 0.289474 0.781250 +vt 0.210526 0.687500 +vt 0.223684 0.718750 +vt 0.223684 0.687500 +vt 0.302632 0.781250 +vt 0.289474 0.750000 +vt 0.243421 0.500000 +vt 0.296053 0.500000 +vt 0.684211 0.875000 +vt 0.618421 0.687500 +vt 0.618421 0.875000 +vt 0.802632 0.687500 +vt 0.736842 0.875000 +vt 0.802632 0.875000 +vt 0.684211 0.562500 +vt 0.684211 0.687500 +vt 0.618421 1.000000 +vt 0.565789 0.687500 +vt 0.825658 0.562500 +vt 0.835526 0.531250 +vt 0.825658 0.531250 +vt 0.858553 0.562500 +vt 0.868421 0.531250 +vt 0.858553 0.531250 +vt 0.835526 0.562500 +vt 0.802632 0.562500 +vt 0.802632 0.531250 +vt 0.835526 0.640625 +vt 0.802632 0.625000 +vt 0.825658 0.578125 +vt 0.802632 0.578125 +vt 0.835526 0.773438 +vt 0.858553 0.640625 +vt 0.802632 0.773438 +vt 0.825658 0.640625 +vt 0.802632 0.640625 +vt 0.802632 0.835938 +vt 0.825658 0.789062 +vt 0.802632 0.789062 +vt 0.835526 0.851562 +vt 0.858553 0.773438 +vt 0.868421 0.625000 +vt 0.868421 0.578125 +vt 0.868421 0.640625 +vt 0.868421 0.789062 +vt 0.858553 0.851562 +vt 0.868421 0.835938 +vt 0.825658 0.625000 +vt 0.825658 0.773438 +vt 0.825658 0.835938 +vt 0.723684 0.875000 +vt 0.684211 0.890625 +vt 0.723684 0.890625 +vt 0.684211 0.937500 +vt 0.723684 0.921875 +vt 0.684211 0.921875 +vt 0.799894 0.379950 +vt 0.888129 0.421634 +vt 0.842266 0.312709 +vt 0.874696 0.453987 +vt 0.842266 0.422084 +vt 0.809836 0.453987 +vt 0.513158 0.242188 +vt 0.532895 0.218750 +vt 0.233740 0.307657 +vt 0.242265 0.294129 +vt 0.247961 0.273883 +vt 0.249961 0.250000 +vt 0.247961 0.226117 +vt 0.242265 0.205871 +vt 0.233740 0.192343 +vt 0.213628 0.192342 +vt 0.205104 0.205871 +vt 0.199407 0.226117 +vt 0.199407 0.273883 +vt 0.205104 0.294129 +vt 0.213628 0.307658 +vt 0.651316 0.359375 +vt 0.473684 0.148438 +vt 0.532895 0.031250 +vt 0.769737 0.148438 +vt 0.221741 0.180337 +vt 0.236842 0.187471 +vt 0.251943 0.180337 +vt 0.264746 0.160021 +vt 0.273300 0.129616 +vt 0.276304 0.093750 +vt 0.273300 0.057885 +vt 0.251943 0.007163 +vt 0.236842 0.000029 +vt 0.221741 0.007163 +vt 0.200384 0.057884 +vt 0.197381 0.093750 +vt 0.200384 0.129615 +vt 0.509868 0.640625 +vt 0.569079 0.390625 +vt 0.608553 0.640625 +vt 0.575658 0.687500 +vt 0.555921 0.546875 +vt 0.575658 0.687500 +vt 0.588816 0.640625 +vt 0.608553 0.500000 +vt 0.414474 0.250000 +vt 0.250000 0.359375 +vt 0.250000 0.296875 +vt 0.309211 0.328125 +vt 0.309211 0.265625 +vt 0.309211 0.250000 +vt 0.453947 0.250000 +vt 0.427632 0.250000 +vt 0.309211 0.109375 +vt 0.309211 0.500000 +vt 0.309211 0.359375 +vt 0.414474 0.359375 +vt 0.401316 -0.000000 +vt 0.322368 -0.000000 +vt 0.309211 0.031250 +vt 0.309211 0.093750 +vt 0.414474 0.109375 +vt 0.921053 0.247964 +vt 0.930795 0.243361 +vt 0.939054 0.230254 +vt 0.944573 0.210638 +vt 0.944573 0.164362 +vt 0.939054 0.144746 +vt 0.930795 0.131639 +vt 0.911310 0.131639 +vt 0.903051 0.144746 +vt 0.897532 0.164362 +vt 0.897532 0.210638 +vt 0.903051 0.230254 +vt 0.911310 0.243361 +vt 0.858679 0.243361 +vt 0.868421 0.247964 +vt 0.878164 0.243361 +vt 0.886423 0.230254 +vt 0.893879 0.187500 +vt 0.891942 0.164362 +vt 0.886423 0.144746 +vt 0.868421 0.127036 +vt 0.858679 0.131639 +vt 0.850419 0.144746 +vt 0.842963 0.187500 +vt 0.844901 0.210638 +vt 0.850419 0.230254 +vt 0.930795 0.118361 +vt 0.946511 0.062500 +vt 0.939054 0.105254 +vt 0.944573 0.085638 +vt 0.944573 0.039362 +vt 0.939054 0.019746 +vt 0.930795 0.006639 +vt 0.911310 0.006639 +vt 0.903051 0.019746 +vt 0.897532 0.039362 +vt 0.897532 0.085639 +vt 0.903051 0.105254 +vt 0.911310 0.118361 +vt 0.868421 0.122964 +vt 0.878164 0.118361 +vt 0.886423 0.105254 +vt 0.891941 0.085638 +vt 0.893879 0.062500 +vt 0.891941 0.039361 +vt 0.886423 0.019746 +vt 0.868421 0.002036 +vt 0.858679 0.006639 +vt 0.850419 0.019746 +vt 0.842963 0.062500 +vt 0.844901 0.085638 +vt 0.850419 0.105254 +vt 0.671053 0.242188 +vt 0.210526 0.687500 +vt 0.388158 0.687500 +vt 0.302632 0.812500 +vt 0.289474 0.812500 +vt 0.736842 0.687500 +vt 0.618421 0.562500 +vt 0.684211 1.000000 +vt 0.565789 0.875000 +vt 0.868421 0.562500 +vt 0.868421 0.773438 +vt 0.684211 0.875000 +vt 0.723684 0.937500 +vt 0.796403 0.421634 +vt 0.884638 0.379950 +vt 0.874696 0.344612 +vt 0.859817 0.321000 +vt 0.824715 0.321000 +vt 0.809836 0.344612 +vt 0.888129 0.531009 +vt 0.884638 0.489325 +vt 0.796403 0.531009 +vt 0.859817 0.430375 +vt 0.824715 0.430375 +vt 0.799894 0.489325 +vt 0.513158 0.148438 +vt -0.000000 0.210938 +vt 0.078947 0.175781 +vt -0.000000 0.175781 +vt 0.000000 0.527344 +vt 0.078947 0.492188 +vt 0.000000 0.492188 +vt -0.000000 0.246094 +vt 0.078947 0.210938 +vt 0.000000 0.562500 +vt 0.078947 0.527344 +vt -0.000000 0.316406 +vt 0.078947 0.281250 +vt -0.000000 0.281250 +vt 0.078947 0.246094 +vt 0.000000 0.035156 +vt 0.078947 0.000000 +vt 0.000000 0.000000 +vt -0.000000 0.351562 +vt 0.078947 0.316406 +vt 0.000000 0.070312 +vt 0.078947 0.035156 +vt -0.000000 0.386719 +vt 0.078947 0.351562 +vt 0.000000 0.105469 +vt 0.078947 0.070312 +vt 0.000000 0.421875 +vt 0.078947 0.386719 +vt -0.000000 0.140625 +vt 0.078947 0.105469 +vt 0.000000 0.457031 +vt 0.078947 0.421875 +vt 0.078947 0.140625 +vt 0.078947 0.457031 +vt 0.092105 0.210938 +vt 0.092105 0.246094 +vt 0.092105 0.281250 +vt 0.092105 0.316406 +vt 0.092105 0.351562 +vt 0.092105 0.417969 +vt 0.092105 0.386719 +vt 0.092105 0.421875 +vt 0.092105 0.488281 +vt 0.092105 0.457031 +vt 0.092105 0.523438 +vt 0.092105 0.492188 +vt 0.078947 0.562500 +vt 0.092105 0.527344 +vt 0.092105 0.000000 +vt 0.092105 0.066406 +vt 0.092105 0.035156 +vt 0.092105 0.101562 +vt 0.092105 0.070312 +vt 0.092105 0.105469 +vt 0.092105 0.140625 +vt 0.092105 0.175781 +vt 0.184211 0.343750 +vt 0.092105 0.312500 +vt 0.092105 0.343750 +vt 0.184211 0.093750 +vt 0.092105 0.062500 +vt 0.092105 0.093750 +vt 0.184211 0.375000 +vt 0.092105 0.375000 +vt 0.184211 0.125000 +vt 0.092105 0.125000 +vt 0.184211 0.406250 +vt 0.092105 0.406250 +vt 0.184211 0.156250 +vt 0.092105 0.156250 +vt 0.184211 0.437500 +vt 0.092105 0.437500 +vt 0.184211 0.187500 +vt 0.092105 0.187500 +vt 0.184211 0.468750 +vt 0.092105 0.468750 +vt 0.184211 0.218750 +vt 0.092105 0.218750 +vt 0.184211 0.500000 +vt 0.092105 0.500000 +vt 0.184211 0.281250 +vt 0.092105 0.250000 +vt 0.092105 0.281250 +vt 0.184211 0.250000 +vt 0.184211 0.031250 +vt 0.092105 0.031250 +vt 0.184211 0.312500 +vt 0.184211 0.062500 +vt 0.197368 0.183594 +vt 0.197368 0.160156 +vt 0.197368 0.191406 +vt 0.197368 0.222656 +vt 0.197368 0.253906 +vt 0.197368 0.285156 +vt 0.197368 0.339844 +vt 0.197368 0.316406 +vt 0.197368 0.371094 +vt 0.197368 0.347656 +vt 0.197368 0.378906 +vt 0.197368 0.410156 +vt 0.197368 0.464844 +vt 0.197368 0.441406 +vt 0.197368 0.496094 +vt 0.197368 0.472656 +vt 0.184211 0.000000 +vt 0.197368 0.027344 +vt 0.197368 0.003906 +vt 0.197368 0.058594 +vt 0.197368 0.035156 +vt 0.197368 0.066406 +vt 0.197368 0.121094 +vt 0.197368 0.097656 +vt 0.197368 0.128906 +vt 0.414474 0.421875 +vt 0.480263 0.406250 +vt 0.414474 0.406250 +vt 0.414474 0.390625 +vt 0.480263 0.375000 +vt 0.414474 0.375000 +vt 0.414474 0.484375 +vt 0.480263 0.468750 +vt 0.414474 0.468750 +vt 0.414474 0.453125 +vt 0.480263 0.437500 +vt 0.414474 0.437500 +vt 0.480263 0.421875 +vt 0.480263 0.390625 +vt 0.414474 0.500000 +vt 0.480263 0.484375 +vt 0.480263 0.453125 +vt 0.973684 0.210938 +vt 1.000000 0.187500 +vt 0.973684 0.187500 +vt 0.973684 0.234375 +vt 1.000000 0.210938 +vt 0.973684 0.257812 +vt 1.000000 0.234375 +vt 0.973684 0.281250 +vt 1.000000 0.257812 +vt 0.973684 0.304688 +vt 1.000000 0.281250 +vt 0.973684 0.328125 +vt 1.000000 0.304688 +vt 0.973684 0.351562 +vt 1.000000 0.328125 +vt 0.973684 0.375000 +vt 1.000000 0.351562 +vt 0.973684 0.023438 +vt 1.000000 -0.000000 +vt 0.973684 -0.000000 +vt 0.973684 0.046875 +vt 1.000000 0.023438 +vt 0.973684 0.070312 +vt 1.000000 0.046875 +vt 0.973684 0.093750 +vt 1.000000 0.070312 +vt 0.973684 0.117188 +vt 1.000000 0.093750 +vt 0.973684 0.140625 +vt 1.000000 0.117188 +vt 0.973684 0.164062 +vt 1.000000 0.140625 +vt 1.000000 0.164062 +vt 0.947368 0.210938 +vt 0.973684 0.187500 +vt 0.947368 0.187500 +vt 0.947368 0.234375 +vt 0.973684 0.210938 +vt 0.947368 0.257812 +vt 0.973684 0.234375 +vt 0.947368 0.281250 +vt 0.973684 0.257812 +vt 0.947368 0.304688 +vt 0.973684 0.281250 +vt 0.947368 0.328125 +vt 0.973684 0.304688 +vt 0.947368 0.351562 +vt 0.973684 0.328125 +vt 0.947368 0.375000 +vt 0.973684 0.351562 +vt 0.947368 0.023438 +vt 0.973684 0.000000 +vt 0.947368 0.000000 +vt 0.947368 0.046875 +vt 0.973684 0.023438 +vt 0.947368 0.070312 +vt 0.973684 0.046875 +vt 0.947368 0.093750 +vt 0.973684 0.070312 +vt 0.947368 0.117188 +vt 0.973684 0.093750 +vt 0.947368 0.140625 +vt 0.973684 0.117188 +vt 0.947368 0.164062 +vt 0.973684 0.140625 +vt 0.973684 0.164062 +vt 0.796053 0.039062 +vt 0.842105 -0.000000 +vt 0.796053 0.000000 +vt 0.796053 0.078125 +vt 0.842105 0.039062 +vt 0.796053 0.117188 +vt 0.842105 0.078125 +vt 0.796053 0.156250 +vt 0.842105 0.117188 +vt 0.796053 0.195312 +vt 0.842105 0.156250 +vt 0.796053 0.234375 +vt 0.842105 0.195312 +vt 0.796053 0.273438 +vt 0.842105 0.234375 +vt 0.796053 0.312500 +vt 0.842105 0.273438 +vt 0.092105 0.242188 +vt 0.092105 0.277344 +vt 0.092105 0.312500 +vt 0.092105 0.347656 +vt 0.092105 0.382812 +vt 0.092105 0.453125 +vt 0.092105 0.558594 +vt 0.092105 0.136719 +vt 0.092105 0.171875 +vt 0.092105 0.207031 +vt 0.197368 0.214844 +vt 0.197368 0.246094 +vt 0.197368 0.277344 +vt 0.197368 0.308594 +vt 0.197368 0.402344 +vt 0.197368 0.433594 +vt 0.197368 0.089844 +vt 0.197368 0.152344 +vt 0.480263 0.500000 +vt 1.000000 0.375000 +vt 0.973684 0.375000 +vt 0.842105 0.312500 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.9762 0.2169 +vn 0.0000 0.9762 -0.2169 +vn 0.0000 -1.0000 0.0000 +vn -0.8944 -0.4472 0.0000 +vn 0.8944 -0.4472 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.8321 -0.5547 +vn 0.0000 1.0000 0.0000 +vn 0.4082 0.4082 -0.8165 +vn 0.0000 -0.7071 -0.7071 +vn -0.4082 0.4082 -0.8165 +vn 0.7071 0.0000 0.7071 +vn -0.4472 0.0000 -0.8944 +vn -0.3333 -0.6667 -0.6667 +vn 0.4472 0.0000 -0.8944 +vn -0.7071 0.0000 0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.4472 -0.8944 +vn -0.5774 0.5774 0.5774 +vn 0.5774 0.5774 0.5774 +vn 0.3333 -0.6667 -0.6667 +vn -0.8944 0.0000 0.4472 +vn -0.3162 0.0000 -0.9487 +vn -0.3162 0.0000 0.9487 +vn -0.3511 -0.9363 0.0000 +vn -0.3511 0.9363 0.0000 +vn -0.8944 0.0000 -0.4472 +vn 0.8944 0.0000 0.4472 +vn 0.3162 0.0000 -0.9487 +vn 0.3162 0.0000 0.9487 +vn 0.3511 -0.9363 0.0000 +vn 0.3511 0.9363 0.0000 +vn 0.8944 0.0000 -0.4472 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.9239 0.3827 0.0000 +vn 0.3827 -0.9239 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.3827 0.9239 0.0000 +vn -0.3827 -0.9239 0.0000 +vn 0.9239 0.3827 0.0000 +vn -0.9239 -0.3827 0.0000 +vn 0.9239 -0.3827 0.0000 +vn -0.3423 0.8263 -0.4472 +vn -0.6325 0.6325 -0.4472 +vn 0.0000 0.8944 -0.4472 +vn 0.3423 0.8263 -0.4472 +vn 0.6325 0.6325 -0.4472 +vn 0.8263 0.3423 -0.4472 +vn 0.8263 -0.3423 -0.4472 +vn 0.6325 -0.6325 -0.4472 +vn 0.3423 -0.8263 -0.4472 +vn 0.0000 -0.8944 -0.4472 +vn -0.3423 -0.8263 -0.4472 +vn -0.6325 -0.6325 -0.4472 +vn -0.8263 -0.3423 -0.4472 +vn -0.8263 0.3423 -0.4472 +vn -0.9808 -0.1951 0.0000 +vn 0.9808 -0.1951 0.0000 +s off +f 73/1/1 77/2/1 65/3/1 +f 85/4/2 86/5/2 90/6/2 +f 257/7/3 256/8/3 255/9/3 +f 86/10/4 89/11/4 90/12/4 +f 83/13/3 84/14/3 89/15/3 +f 90/16/5 84/17/5 88/18/5 +f 92/19/6 93/20/6 91/21/6 +f 93/20/7 85/4/7 87/22/7 +f 257/23/3 264/24/3 258/25/3 +f 92/19/8 83/13/8 81/26/8 +f 11/27/9 7/28/9 3/29/9 +f 109/30/3 105/31/3 101/32/3 +f 95/33/10 98/34/10 96/35/10 +f 97/36/11 100/37/11 98/34/11 +f 110/38/2 106/39/2 108/40/2 +f 104/41/1 95/42/1 96/43/1 +f 107/44/12 106/39/12 105/45/12 +f 109/46/1 108/40/1 107/47/1 +f 112/48/12 103/49/12 104/41/12 +f 114/50/9 111/51/9 112/48/9 +f 109/52/12 114/53/12 110/54/12 +f 105/55/9 102/56/9 101/57/9 +f 95/58/3 111/59/3 113/60/3 +f 96/43/2 112/48/2 104/41/2 +f 99/61/3 97/62/3 95/58/3 +f 114/50/2 100/37/2 110/38/2 +f 135/63/1 133/64/1 132/65/1 +f 144/66/13 142/67/13 133/64/13 +f 137/68/2 138/69/2 139/70/2 +f 151/71/14 135/63/14 132/65/14 +f 137/72/15 145/73/15 136/74/15 +f 141/75/16 152/76/16 158/77/16 +f 138/78/17 136/74/17 135/63/17 +f 141/79/3 158/80/3 157/81/3 +f 153/82/18 138/78/18 135/63/18 +f 142/67/19 132/65/19 133/64/19 +f 149/83/12 150/84/12 144/66/12 +f 139/85/20 154/86/20 134/87/20 +f 143/88/21 134/87/21 131/89/21 +f 145/73/22 133/64/22 136/74/22 +f 146/90/23 139/85/23 134/87/23 +f 141/75/24 143/88/24 131/89/24 +f 151/71/6 157/91/6 158/92/6 +f 140/93/25 151/71/25 132/65/25 +f 134/87/9 152/76/9 131/89/9 +f 168/94/26 165/95/26 164/96/26 +f 166/97/27 161/98/27 162/99/27 +f 164/96/28 160/100/28 159/101/28 +f 165/102/6 162/103/6 160/104/6 +f 163/105/12 159/106/12 161/107/12 +f 167/108/2 169/109/2 168/94/2 +f 165/102/29 170/110/29 166/111/29 +f 163/105/30 168/94/30 164/112/30 +f 166/97/31 167/108/31 163/113/31 +f 177/114/32 180/115/32 176/116/32 +f 173/117/33 178/118/33 174/119/33 +f 172/120/34 176/116/34 171/121/34 +f 174/122/6 177/123/6 172/124/6 +f 171/125/12 175/126/12 173/127/12 +f 181/128/3 179/129/3 180/115/3 +f 178/130/35 181/128/35 177/123/35 +f 176/131/36 179/129/36 175/126/36 +f 175/132/37 182/133/37 178/118/37 +f 192/134/9 200/135/9 208/136/9 +f 209/137/1 201/138/1 193/139/1 +f 232/140/9 240/141/9 216/142/9 +f 233/143/1 225/144/1 217/145/1 +f 83/146/1 91/21/1 93/20/1 +f 253/147/6 251/148/6 252/149/6 +f 251/148/14 250/150/14 249/151/14 +f 253/147/9 247/152/9 248/153/9 +f 254/154/2 248/155/2 250/156/2 +f 247/157/3 251/148/3 249/158/3 +f 259/159/2 262/160/2 261/161/2 +f 255/162/6 261/161/6 257/163/6 +f 260/164/12 258/165/12 262/160/12 +f 280/166/10 278/167/10 274/168/10 +f 262/169/2 265/170/2 261/171/2 +f 268/172/3 264/24/3 257/23/3 +f 266/173/2 287/174/2 292/175/2 +f 270/176/1 290/177/1 269/178/1 +f 267/179/9 257/180/9 261/171/9 +f 270/181/1 265/170/1 264/24/1 +f 269/182/2 261/171/2 265/170/2 +f 273/183/3 272/184/3 271/185/3 +f 273/186/3 280/166/3 274/187/3 +f 275/188/2 278/167/2 277/189/2 +f 271/185/6 277/190/6 273/183/6 +f 276/191/12 274/168/12 278/167/12 +f 290/177/38 267/179/38 269/182/38 +f 278/192/2 281/193/2 277/194/2 +f 284/195/3 280/166/3 273/186/3 +f 279/196/3 294/197/3 289/198/3 +f 282/199/1 289/200/1 287/201/1 +f 283/202/9 273/186/9 277/203/9 +f 286/204/1 281/193/1 280/166/1 +f 285/205/2 277/194/2 281/193/2 +f 291/206/39 286/204/39 284/195/39 +f 279/196/12 266/173/12 263/207/12 +f 283/208/9 291/206/9 284/209/9 +f 268/210/12 285/211/12 270/176/12 +f 267/212/9 288/213/9 268/214/9 +f 268/214/9 291/206/9 283/208/9 +f 286/215/1 293/216/1 285/211/1 +f 285/211/1 290/177/1 270/176/1 +f 293/216/6 288/213/6 290/177/6 +f 264/24/10 262/160/10 258/165/10 +f 263/207/9 292/217/9 294/218/9 +f 297/219/12 296/220/12 295/221/12 +f 301/222/6 299/223/6 300/224/6 +f 302/225/2 296/220/2 298/226/2 +f 300/227/3 297/219/3 295/221/3 +f 299/223/1 298/226/1 297/219/1 +f 301/228/9 295/221/9 296/220/9 +f 309/229/9 306/230/9 305/231/9 +f 308/232/1 303/233/1 304/234/1 +f 310/235/6 304/234/6 306/230/6 +f 307/236/12 305/231/12 303/237/12 +f 314/238/38 308/232/38 310/235/38 +f 311/239/40 309/240/40 307/241/40 +f 318/242/2 312/243/2 314/238/2 +f 315/244/3 313/245/3 311/246/3 +f 319/247/39 317/248/39 315/249/39 +f 322/250/41 316/251/41 318/242/41 +f 308/232/1 311/252/1 307/253/1 +f 316/251/1 311/254/1 312/243/1 +f 315/255/1 321/256/1 319/257/1 +f 313/258/9 310/235/9 309/240/9 +f 314/238/9 317/259/9 318/242/9 +f 320/260/9 318/242/9 317/248/9 +f 343/261/1 345/262/1 346/263/1 +f 324/264/9 348/265/9 347/266/9 +f 346/263/12 347/266/12 348/265/12 +f 327/267/1 341/268/1 333/269/1 +f 330/270/9 334/271/9 338/272/9 +f 85/273/9 94/274/9 92/19/9 +f 65/3/1 66/275/1 67/276/1 +f 67/276/1 68/277/1 69/278/1 +f 69/278/1 70/279/1 71/280/1 +f 71/280/1 72/281/1 73/1/1 +f 73/1/1 74/282/1 75/283/1 +f 75/283/1 76/284/1 73/1/1 +f 76/284/1 77/2/1 73/1/1 +f 77/2/1 78/285/1 79/286/1 +f 79/286/1 80/287/1 65/3/1 +f 65/3/1 67/276/1 69/278/1 +f 69/278/1 71/280/1 65/3/1 +f 71/280/1 73/1/1 65/3/1 +f 77/2/1 79/286/1 65/3/1 +f 88/288/2 87/22/2 90/6/2 +f 87/22/2 85/4/2 90/6/2 +f 257/7/3 258/165/3 256/8/3 +f 86/10/4 82/289/4 89/11/4 +f 82/290/3 81/26/3 89/15/3 +f 81/26/3 83/13/3 89/15/3 +f 90/16/5 89/291/5 84/17/5 +f 92/19/6 94/274/6 93/20/6 +f 93/20/7 94/274/7 85/4/7 +f 92/19/8 91/21/8 83/13/8 +f 3/29/9 2/292/9 1/293/9 +f 1/293/9 16/294/9 3/29/9 +f 16/294/9 15/295/9 3/29/9 +f 15/295/9 14/296/9 11/27/9 +f 14/296/9 13/297/9 11/27/9 +f 13/297/9 12/298/9 11/27/9 +f 11/27/9 10/299/9 7/28/9 +f 10/299/9 9/300/9 7/28/9 +f 9/300/9 8/301/9 7/28/9 +f 7/28/9 6/302/9 5/303/9 +f 5/303/9 4/304/9 7/28/9 +f 4/304/9 3/29/9 7/28/9 +f 3/29/9 15/295/9 11/27/9 +f 109/30/3 107/305/3 105/31/3 +f 95/33/10 97/36/10 98/34/10 +f 97/36/11 99/306/11 100/37/11 +f 110/38/2 102/56/2 106/39/2 +f 104/41/1 103/307/1 95/42/1 +f 107/44/12 108/40/12 106/39/12 +f 109/46/1 110/38/1 108/40/1 +f 112/48/12 111/308/12 103/49/12 +f 114/50/9 113/309/9 111/51/9 +f 109/52/12 113/310/12 114/53/12 +f 105/55/9 106/39/9 102/56/9 +f 95/58/3 103/311/3 111/59/3 +f 96/43/2 114/50/2 112/48/2 +f 95/58/3 113/60/3 99/61/3 +f 113/60/3 109/30/3 99/61/3 +f 109/30/3 101/32/3 99/61/3 +f 114/50/2 96/43/2 100/37/2 +f 96/43/2 98/312/2 100/37/2 +f 100/37/2 102/56/2 110/38/2 +f 135/63/1 136/74/1 133/64/1 +f 144/66/13 150/313/13 142/67/13 +f 155/314/2 139/70/2 156/315/2 +f 139/70/2 148/316/2 137/68/2 +f 156/315/2 139/70/2 138/69/2 +f 148/316/2 147/317/2 137/68/2 +f 151/71/14 153/82/14 135/63/14 +f 137/72/15 147/318/15 145/73/15 +f 141/75/16 131/89/16 152/76/16 +f 138/78/17 137/72/17 136/74/17 +f 157/81/3 140/319/3 141/79/3 +f 140/319/3 142/320/3 141/79/3 +f 142/320/3 150/84/3 149/83/3 +f 149/83/3 141/79/3 142/320/3 +f 153/82/18 156/321/18 138/78/18 +f 142/67/19 140/93/19 132/65/19 +f 144/66/12 145/73/12 146/90/12 +f 145/73/12 147/317/12 148/316/12 +f 146/90/12 145/73/12 148/316/12 +f 146/90/12 143/88/12 144/66/12 +f 143/88/12 149/83/12 144/66/12 +f 139/85/20 155/322/20 154/86/20 +f 143/88/21 146/90/21 134/87/21 +f 145/73/22 144/66/22 133/64/22 +f 146/90/23 148/323/23 139/85/23 +f 141/75/24 149/324/24 143/88/24 +f 158/92/6 152/325/6 151/71/6 +f 152/325/6 154/326/6 151/71/6 +f 154/326/6 155/327/6 153/82/6 +f 155/327/6 156/328/6 153/82/6 +f 153/82/6 151/71/6 154/326/6 +f 140/93/25 157/329/25 151/71/25 +f 134/87/9 154/86/9 152/76/9 +f 168/94/26 169/109/26 165/95/26 +f 166/97/27 163/113/27 161/98/27 +f 164/96/28 165/95/28 160/100/28 +f 165/102/6 166/111/6 162/103/6 +f 163/105/12 164/112/12 159/106/12 +f 167/108/2 170/110/2 169/109/2 +f 165/102/29 169/109/29 170/110/29 +f 163/105/30 167/108/30 168/94/30 +f 166/97/31 170/110/31 167/108/31 +f 177/114/32 181/128/32 180/115/32 +f 173/117/33 175/132/33 178/118/33 +f 172/120/34 177/114/34 176/116/34 +f 174/122/6 178/130/6 177/123/6 +f 171/125/12 176/131/12 175/126/12 +f 181/128/3 182/133/3 179/129/3 +f 178/130/35 182/133/35 181/128/35 +f 176/131/36 180/115/36 179/129/36 +f 175/132/37 179/129/37 182/133/37 +f 184/330/9 186/331/9 188/332/9 +f 188/332/9 190/333/9 184/330/9 +f 190/333/9 192/134/9 184/330/9 +f 192/134/9 194/334/9 196/335/9 +f 196/335/9 198/336/9 200/135/9 +f 200/135/9 202/337/9 208/136/9 +f 202/337/9 204/338/9 208/136/9 +f 204/338/9 206/339/9 208/136/9 +f 208/136/9 210/340/9 212/341/9 +f 212/341/9 214/342/9 184/330/9 +f 192/134/9 196/335/9 200/135/9 +f 208/136/9 212/341/9 184/330/9 +f 184/330/9 192/134/9 208/136/9 +f 185/343/1 183/344/1 213/345/1 +f 213/345/1 211/346/1 185/343/1 +f 211/346/1 209/137/1 185/343/1 +f 209/137/1 207/347/1 201/138/1 +f 207/347/1 205/348/1 201/138/1 +f 205/348/1 203/349/1 201/138/1 +f 201/138/1 199/350/1 197/351/1 +f 197/351/1 195/352/1 193/139/1 +f 193/139/1 191/353/1 185/343/1 +f 191/353/1 189/354/1 185/343/1 +f 189/354/1 187/355/1 185/343/1 +f 201/138/1 197/351/1 193/139/1 +f 185/343/1 209/137/1 193/139/1 +f 216/142/9 218/356/9 224/357/9 +f 218/356/9 220/358/9 224/357/9 +f 220/358/9 222/359/9 224/357/9 +f 224/357/9 226/360/9 228/361/9 +f 228/361/9 230/362/9 232/140/9 +f 232/140/9 234/363/9 236/364/9 +f 236/364/9 238/365/9 232/140/9 +f 238/365/9 240/141/9 232/140/9 +f 240/141/9 242/366/9 216/142/9 +f 242/366/9 244/367/9 216/142/9 +f 244/367/9 246/368/9 216/142/9 +f 224/357/9 228/361/9 232/140/9 +f 216/142/9 224/357/9 232/140/9 +f 217/145/1 215/369/1 245/370/1 +f 245/370/1 243/371/1 241/372/1 +f 241/372/1 239/373/1 237/374/1 +f 237/374/1 235/375/1 233/143/1 +f 233/143/1 231/376/1 225/144/1 +f 231/376/1 229/377/1 225/144/1 +f 229/377/1 227/378/1 225/144/1 +f 225/144/1 223/379/1 217/145/1 +f 223/379/1 221/380/1 217/145/1 +f 221/380/1 219/381/1 217/145/1 +f 217/145/1 245/370/1 241/372/1 +f 241/372/1 237/374/1 217/145/1 +f 237/374/1 233/143/1 217/145/1 +f 93/20/1 87/382/1 83/146/1 +f 87/382/1 88/18/1 83/146/1 +f 88/18/1 84/17/1 83/146/1 +f 253/147/6 254/154/6 251/148/6 +f 251/148/14 254/154/14 250/150/14 +f 253/147/9 252/149/9 247/152/9 +f 254/154/2 253/147/2 248/155/2 +f 247/157/3 252/149/3 251/148/3 +f 259/159/2 260/164/2 262/160/2 +f 255/162/6 259/159/6 261/161/6 +f 260/164/12 256/8/12 258/165/12 +f 280/166/10 281/193/10 278/167/10 +f 268/172/3 270/181/3 264/24/3 +f 266/173/2 282/199/2 287/174/2 +f 267/179/9 268/383/9 257/180/9 +f 270/181/1 269/182/1 265/170/1 +f 269/182/2 267/179/2 261/171/2 +f 273/183/3 274/168/3 272/184/3 +f 275/188/2 276/191/2 278/167/2 +f 271/185/6 275/384/6 277/190/6 +f 276/191/12 272/184/12 274/168/12 +f 290/177/38 288/213/38 267/179/38 +f 284/195/3 286/204/3 280/166/3 +f 279/196/3 263/207/3 294/197/3 +f 282/199/1 279/196/1 289/200/1 +f 283/202/9 284/195/9 273/186/9 +f 286/204/1 285/205/1 281/193/1 +f 285/205/2 283/385/2 277/194/2 +f 291/206/39 293/216/39 286/204/39 +f 279/196/12 282/199/12 266/173/12 +f 268/210/12 283/386/12 285/211/12 +f 268/214/9 288/213/9 291/206/9 +f 285/211/1 293/216/1 290/177/1 +f 293/216/6 291/206/6 288/213/6 +f 264/24/10 265/170/10 262/160/10 +f 263/207/9 266/173/9 292/217/9 +f 297/219/12 298/226/12 296/220/12 +f 301/222/6 302/387/6 299/223/6 +f 302/225/2 301/388/2 296/220/2 +f 300/227/3 299/389/3 297/219/3 +f 299/223/1 302/387/1 298/226/1 +f 301/228/9 300/390/9 295/221/9 +f 309/229/9 310/235/9 306/230/9 +f 308/232/1 307/391/1 303/233/1 +f 310/235/6 308/232/6 304/234/6 +f 307/236/12 309/229/12 305/231/12 +f 314/238/38 312/243/38 308/232/38 +f 311/239/40 313/258/40 309/240/40 +f 318/242/2 316/251/2 312/243/2 +f 315/244/3 317/259/3 313/245/3 +f 319/247/39 320/260/39 317/248/39 +f 322/250/41 321/256/41 316/251/41 +f 308/232/1 312/243/1 311/252/1 +f 316/251/1 315/392/1 311/254/1 +f 315/255/1 316/251/1 321/256/1 +f 313/258/9 314/238/9 310/235/9 +f 314/238/9 313/245/9 317/259/9 +f 320/260/9 322/250/9 318/242/9 +f 343/261/1 344/393/1 345/262/1 +f 324/264/9 323/394/9 348/265/9 +f 346/263/12 345/262/12 347/266/12 +f 327/267/1 325/395/1 341/268/1 +f 341/268/1 339/396/1 333/269/1 +f 339/396/1 337/397/1 333/269/1 +f 337/397/1 335/398/1 333/269/1 +f 333/269/1 331/399/1 329/400/1 +f 329/400/1 327/267/1 333/269/1 +f 326/401/9 328/402/9 342/403/9 +f 328/402/9 330/270/9 342/403/9 +f 330/270/9 332/404/9 334/271/9 +f 334/271/9 336/405/9 338/272/9 +f 338/272/9 340/406/9 330/270/9 +f 340/406/9 342/403/9 330/270/9 +f 92/19/9 81/407/9 85/273/9 +f 81/407/9 82/289/9 85/273/9 +f 82/289/9 86/10/9 85/273/9 +s 1 +f 15/408/41 30/409/42 14/410/42 +f 8/411/43 23/412/39 7/413/39 +f 16/414/44 31/415/41 15/408/41 +f 9/416/6 24/417/43 8/411/43 +f 2/418/45 17/419/12 1/420/12 +f 1/420/12 32/421/44 16/414/44 +f 10/422/46 25/423/6 9/424/6 +f 3/425/40 18/426/45 2/418/45 +f 11/427/38 26/428/46 10/422/46 +f 4/429/47 19/430/40 3/425/40 +f 12/431/48 27/432/38 11/427/38 +f 5/433/3 20/434/47 4/429/47 +f 13/435/2 28/436/48 12/431/48 +f 6/437/49 21/438/3 5/433/3 +f 14/410/42 29/439/2 13/435/2 +f 7/413/39 22/440/49 6/437/49 +f 32/421/50 47/441/51 31/415/51 +f 17/419/52 48/442/50 32/421/50 +f 18/426/53 33/443/52 17/419/52 +f 19/430/54 34/444/53 18/426/53 +f 20/434/55 35/445/54 19/430/54 +f 20/434/55 37/446/37 36/447/55 +f 22/440/56 37/448/37 21/438/37 +f 22/440/56 39/449/57 38/450/56 +f 23/412/57 40/451/58 39/452/57 +f 25/453/59 40/454/58 24/417/58 +f 26/428/60 41/455/59 25/423/59 +f 26/428/60 43/456/61 42/457/60 +f 27/432/61 44/458/62 43/459/61 +f 29/439/31 44/460/62 28/436/62 +f 30/409/63 45/461/31 29/439/31 +f 31/415/51 46/462/63 30/409/63 +f 52/463/47 35/464/40 36/465/47 +f 60/466/48 43/467/38 44/468/48 +f 53/469/3 36/465/47 37/470/3 +f 61/471/2 44/468/48 45/472/2 +f 54/473/49 37/470/3 38/474/49 +f 62/475/42 45/472/2 46/476/42 +f 55/477/39 38/474/49 39/478/39 +f 63/479/41 46/476/42 47/480/41 +f 56/481/43 39/478/39 40/482/43 +f 64/483/44 47/480/41 48/484/44 +f 57/485/6 40/482/43 41/486/6 +f 50/487/45 33/488/12 34/489/45 +f 49/490/12 48/484/44 33/488/12 +f 58/491/46 41/455/6 42/492/46 +f 51/493/40 34/489/45 35/464/40 +f 59/494/38 42/492/46 43/467/38 +f 62/475/63 79/495/51 78/496/63 +f 64/483/50 79/497/51 63/479/51 +f 49/490/52 80/498/50 64/483/50 +f 50/487/53 65/499/52 49/490/52 +f 51/493/54 66/500/53 50/487/53 +f 51/493/54 68/501/55 67/502/54 +f 52/463/55 69/503/37 68/504/55 +f 54/473/56 69/505/37 53/469/37 +f 55/477/57 70/506/56 54/473/56 +f 55/477/57 72/507/58 71/508/57 +f 56/481/58 73/509/59 72/510/58 +f 57/511/59 74/512/60 73/513/59 +f 58/491/60 75/514/61 74/515/60 +f 60/466/62 75/516/61 59/494/61 +f 60/466/62 77/517/31 76/518/62 +f 62/475/63 77/519/31 61/471/31 +f 122/520/41 129/521/2 121/522/2 +f 120/523/38 127/524/6 119/525/6 +f 118/526/39 125/527/3 117/528/3 +f 116/529/40 123/530/12 115/531/12 +f 115/531/12 130/532/41 122/520/41 +f 121/522/2 128/533/38 120/523/38 +f 119/534/6 126/535/39 118/526/39 +f 117/528/3 124/536/40 116/529/40 +f 185/537/44 184/538/12 183/539/12 +f 187/540/41 186/541/44 185/537/44 +f 189/542/42 188/543/41 187/540/41 +f 191/544/2 190/545/42 189/542/42 +f 193/546/48 192/547/2 191/544/2 +f 195/548/38 194/549/48 193/546/48 +f 197/550/46 196/551/38 195/548/38 +f 199/552/6 198/553/46 197/550/46 +f 201/554/43 200/555/6 199/556/6 +f 203/557/39 202/558/43 201/554/43 +f 205/559/49 204/560/39 203/557/39 +f 207/561/3 206/562/49 205/559/49 +f 209/563/47 208/564/3 207/561/3 +f 211/565/40 210/566/47 209/563/47 +f 213/567/45 212/568/40 211/565/40 +f 183/539/12 214/569/45 213/567/45 +f 217/570/44 216/571/12 215/572/12 +f 219/573/41 218/574/44 217/570/44 +f 221/575/42 220/576/41 219/573/41 +f 223/577/2 222/578/42 221/575/42 +f 225/579/48 224/580/2 223/577/2 +f 227/581/38 226/582/48 225/579/48 +f 229/583/46 228/584/38 227/581/38 +f 231/585/6 230/586/46 229/583/46 +f 233/587/43 232/588/6 231/589/6 +f 235/590/39 234/591/43 233/587/43 +f 237/592/49 236/593/39 235/590/39 +f 239/594/3 238/595/49 237/592/49 +f 241/596/47 240/597/3 239/594/3 +f 243/598/40 242/599/47 241/596/47 +f 245/600/45 244/601/40 243/598/40 +f 215/572/12 246/602/45 245/600/45 +f 327/603/48 326/604/64 325/605/64 +f 329/606/38 328/607/48 327/603/48 +f 331/608/46 330/609/38 329/606/38 +f 333/610/6 332/611/46 331/608/46 +f 335/612/43 334/613/6 333/610/6 +f 337/614/39 336/615/43 335/612/43 +f 339/616/49 338/617/39 337/614/39 +f 341/618/65 340/619/49 339/616/49 +f 15/408/41 31/415/41 30/409/42 +f 8/411/43 24/417/43 23/412/39 +f 16/414/44 32/421/44 31/415/41 +f 9/416/6 25/453/6 24/417/43 +f 2/418/45 18/426/45 17/419/12 +f 1/420/12 17/419/12 32/421/44 +f 10/422/46 26/428/46 25/423/6 +f 3/425/40 19/430/40 18/426/45 +f 11/427/38 27/432/38 26/428/46 +f 4/429/47 20/434/47 19/430/40 +f 12/431/48 28/436/48 27/432/38 +f 5/433/3 21/438/3 20/434/47 +f 13/435/2 29/439/2 28/436/48 +f 6/437/49 22/440/49 21/438/3 +f 14/410/42 30/409/42 29/439/2 +f 7/413/39 23/412/39 22/440/49 +f 32/421/50 48/620/50 47/441/51 +f 17/419/52 33/621/52 48/442/50 +f 18/426/53 34/622/53 33/443/52 +f 19/430/54 35/623/54 34/444/53 +f 20/434/55 36/624/55 35/445/54 +f 20/434/55 21/438/37 37/446/37 +f 22/440/56 38/625/56 37/448/37 +f 22/440/56 23/412/57 39/449/57 +f 23/412/57 24/417/58 40/451/58 +f 25/453/59 41/626/59 40/454/58 +f 26/428/60 42/492/60 41/455/59 +f 26/428/60 27/432/61 43/456/61 +f 27/432/61 28/436/62 44/458/62 +f 29/439/31 45/627/31 44/460/62 +f 30/409/63 46/628/63 45/461/31 +f 31/415/51 47/629/51 46/462/63 +f 52/463/47 51/493/40 35/464/40 +f 60/466/48 59/494/38 43/467/38 +f 53/469/3 52/463/47 36/465/47 +f 61/471/2 60/466/48 44/468/48 +f 54/473/49 53/469/3 37/470/3 +f 62/475/42 61/471/2 45/472/2 +f 55/477/39 54/473/49 38/474/49 +f 63/479/41 62/475/42 46/476/42 +f 56/481/43 55/477/39 39/478/39 +f 64/483/44 63/479/41 47/480/41 +f 57/485/6 56/481/43 40/482/43 +f 50/487/45 49/490/12 33/488/12 +f 49/490/12 64/483/44 48/484/44 +f 58/491/46 57/511/6 41/455/6 +f 51/493/40 50/487/45 34/489/45 +f 59/494/38 58/491/46 42/492/46 +f 62/475/63 63/479/51 79/495/51 +f 64/483/50 80/630/50 79/497/51 +f 49/490/52 65/631/52 80/498/50 +f 50/487/53 66/632/53 65/499/52 +f 51/493/54 67/633/54 66/500/53 +f 51/493/54 52/463/55 68/501/55 +f 52/463/55 53/469/37 69/503/37 +f 54/473/56 70/634/56 69/505/37 +f 55/477/57 71/635/57 70/506/56 +f 55/477/57 56/481/58 72/507/58 +f 56/481/58 57/485/59 73/509/59 +f 57/511/59 58/491/60 74/512/60 +f 58/491/60 59/494/61 75/514/61 +f 60/466/62 76/636/62 75/516/61 +f 60/466/62 61/471/31 77/517/31 +f 62/475/63 78/637/63 77/519/31 +f 122/520/41 130/532/41 129/521/2 +f 120/523/38 128/533/38 127/524/6 +f 118/526/39 126/535/39 125/527/3 +f 116/529/40 124/536/40 123/530/12 +f 115/531/12 123/530/12 130/532/41 +f 121/522/2 129/521/2 128/533/38 +f 119/534/6 127/638/6 126/535/39 +f 117/528/3 125/527/3 124/536/40 +f 185/537/44 186/541/44 184/538/12 +f 187/540/41 188/543/41 186/541/44 +f 189/542/42 190/545/42 188/543/41 +f 191/544/2 192/547/2 190/545/42 +f 193/546/48 194/549/48 192/547/2 +f 195/548/38 196/551/38 194/549/48 +f 197/550/46 198/553/46 196/551/38 +f 199/552/6 200/639/6 198/553/46 +f 201/554/43 202/558/43 200/555/6 +f 203/557/39 204/560/39 202/558/43 +f 205/559/49 206/562/49 204/560/39 +f 207/561/3 208/564/3 206/562/49 +f 209/563/47 210/566/47 208/564/3 +f 211/565/40 212/568/40 210/566/47 +f 213/567/45 214/569/45 212/568/40 +f 183/539/12 184/538/12 214/569/45 +f 217/570/44 218/574/44 216/571/12 +f 219/573/41 220/576/41 218/574/44 +f 221/575/42 222/578/42 220/576/41 +f 223/577/2 224/580/2 222/578/42 +f 225/579/48 226/582/48 224/580/2 +f 227/581/38 228/584/38 226/582/48 +f 229/583/46 230/586/46 228/584/38 +f 231/585/6 232/640/6 230/586/46 +f 233/587/43 234/591/43 232/588/6 +f 235/590/39 236/593/39 234/591/43 +f 237/592/49 238/595/49 236/593/39 +f 239/594/3 240/597/3 238/595/49 +f 241/596/47 242/599/47 240/597/3 +f 243/598/40 244/601/40 242/599/47 +f 245/600/45 246/602/45 244/601/40 +f 215/572/12 216/571/12 246/602/45 +f 327/603/48 328/607/48 326/604/64 +f 329/606/38 330/609/38 328/607/48 +f 331/608/46 332/611/46 330/609/38 +f 333/610/6 334/613/6 332/611/46 +f 335/612/43 336/615/43 334/613/6 +f 337/614/39 338/617/39 336/615/43 +f 339/616/49 340/619/49 338/617/39 +f 341/618/65 342/641/65 340/619/49 +o Grip +v 1.500000 -0.500000 -0.750000 +v 1.500000 0.500000 -0.750000 +v 1.500000 -0.500000 -2.250000 +v 1.500000 0.500000 -2.250000 +v 2.000000 -0.500000 -0.750000 +v 2.000000 0.500000 -0.750000 +v 2.000000 -0.500000 -2.250000 +v 2.000000 0.500000 -2.250000 +v 2.000000 0.000000 -2.125000 +v 2.000000 0.265165 -2.015165 +v 2.000000 0.375000 -1.750000 +v 2.000000 0.265165 -1.484835 +v 2.000000 0.000000 -1.375000 +v 2.000000 -0.265165 -1.484835 +v 2.000000 -0.375000 -1.750000 +v 2.000000 -0.265165 -2.015165 +v 4.500000 0.000000 -2.125000 +v 4.500000 0.265165 -2.015165 +v 4.500000 0.375000 -1.750000 +v 4.500000 0.265165 -1.484835 +v 4.500000 0.000000 -1.375000 +v 4.500000 -0.265165 -1.484835 +v 4.500000 -0.375000 -1.750000 +v 4.500000 -0.265165 -2.015165 +v 2.000000 -0.250000 -0.250000 +v 2.000000 0.250000 -0.250000 +v 4.500000 0.500000 -0.750000 +v 4.500000 -0.500000 -0.750000 +v 4.500000 0.250000 -0.250000 +v 4.500000 -0.250000 -0.250000 +v 5.000000 0.500000 -0.750000 +v 5.000000 -0.500000 -0.750000 +v 4.500000 0.500000 -2.250000 +v 4.500000 -0.500000 -2.250000 +v 5.000000 0.500000 -1.750000 +v 5.000000 -0.500000 -1.750000 +vt 0.164474 0.906250 +vt 0.125000 0.843750 +vt 0.164474 0.843750 +vt 0.125000 0.906250 +vt 0.111842 0.843750 +vt 0.125000 0.937500 +vt 0.164474 1.000000 +vt 0.125000 1.000000 +vt 0.125000 0.812500 +vt 0.164474 0.937500 +vt 0.184211 0.859375 +vt 0.250000 0.828125 +vt 0.263158 0.828125 +vt 0.250000 0.859375 +vt 0.269737 0.937500 +vt 0.309211 1.000000 +vt 0.269737 1.000000 +vt 0.184211 0.921875 +vt 0.250000 0.984375 +vt 0.184211 0.984375 +vt 0.250000 0.890625 +vt 0.184211 0.890625 +vt 0.250000 0.921875 +vt 0.269737 0.843750 +vt 0.309211 0.906250 +vt 0.296053 0.843750 +vt 0.309211 0.843750 +vt 0.269737 0.812500 +vt 0.296053 0.906250 +vt 0.309211 0.937500 +vt 0.269737 0.906250 +vt 0.111842 0.906250 +vt 0.164474 0.812500 +vt 0.184211 0.828125 +vt 0.171053 0.828125 +vt 0.171053 0.921875 +vt 0.263158 0.921875 +vt 0.309211 0.812500 +vt 0.375000 0.843750 +vt 0.309211 0.828125 +vt 0.375000 0.828125 +vt 0.375000 0.937500 +vt 0.309211 0.921875 +vt 0.375000 0.921875 +vt 0.375000 0.906250 +vt 0.309211 0.890625 +vt 0.375000 0.890625 +vt 0.375000 0.875000 +vt 0.309211 0.859375 +vt 0.375000 0.859375 +vt 0.309211 0.812500 +vt 0.375000 0.812500 +vt 0.309211 0.906250 +vt 0.309211 0.875000 +vt 0.309211 0.843750 +vt 0.309211 0.937500 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.7071 0.0000 0.7071 +vn 0.0000 -0.8944 0.4472 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.8944 0.4472 +vn 0.7071 0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +s off +f 350/642/66 351/643/66 349/644/66 +f 352/645/67 355/646/67 351/643/67 +f 356/647/68 353/648/68 355/649/68 +f 355/650/69 349/644/69 351/643/69 +f 352/645/70 354/651/70 356/647/70 +f 373/652/71 350/642/71 349/644/71 +f 376/653/72 380/654/72 378/655/72 +f 375/656/66 382/657/66 376/658/66 +f 354/659/67 376/660/67 353/661/67 +f 373/652/73 377/662/73 374/663/73 +f 377/662/74 375/664/74 354/659/74 +f 380/665/75 377/662/75 378/655/75 +f 381/666/76 384/667/76 382/668/76 +f 376/669/69 384/667/69 380/665/69 +f 375/656/70 383/670/70 381/671/70 +f 380/665/68 383/670/68 379/672/68 +f 350/642/66 352/645/66 351/643/66 +f 352/645/67 356/673/67 355/646/67 +f 356/647/68 354/651/68 353/648/68 +f 355/650/69 353/674/69 349/644/69 +f 352/645/70 350/642/70 354/651/70 +f 373/652/71 374/663/71 350/642/71 +f 378/655/72 373/652/72 353/675/72 +f 373/652/72 349/676/72 353/675/72 +f 353/675/72 376/653/72 378/655/72 +f 375/656/66 381/671/66 382/657/66 +f 354/659/67 375/664/67 376/660/67 +f 373/652/73 378/655/73 377/662/73 +f 350/677/74 374/663/74 354/659/74 +f 374/663/74 377/662/74 354/659/74 +f 377/662/74 379/678/74 375/664/74 +f 380/665/75 379/672/75 377/662/75 +f 381/666/76 383/670/76 384/667/76 +f 376/669/69 382/679/69 384/667/69 +f 375/656/70 379/672/70 383/670/70 +f 380/665/68 384/667/68 383/670/68 +s 1 +f 357/680/67 372/681/77 364/682/77 +f 363/683/69 370/684/78 362/685/78 +f 361/686/73 368/687/79 360/688/79 +f 359/689/70 366/690/80 358/691/80 +f 364/682/77 371/692/69 363/693/69 +f 362/685/78 369/694/73 361/686/73 +f 360/688/79 367/695/70 359/689/70 +f 358/691/80 365/696/67 357/680/67 +f 357/680/67 365/696/67 372/681/77 +f 363/683/69 371/697/69 370/684/78 +f 361/686/73 369/694/73 368/687/79 +f 359/689/70 367/695/70 366/690/80 +f 364/682/77 372/681/77 371/692/69 +f 362/685/78 370/684/78 369/694/73 +f 360/688/79 368/687/79 367/695/70 +f 358/691/80 366/690/80 365/696/67 +o Barrels v 0.000000 1.437500 -2.000000 v -0.218750 1.378886 -2.000000 v -0.378886 1.218750 -2.000000 @@ -263,296 +1982,6 @@ v 1.407290 -0.812500 10.000000 v 1.625000 0.000000 10.000000 v 1.407291 0.812500 10.000000 v 0.812501 1.407292 10.000000 -v -0.375000 2.500000 -11.250000 -v 0.375000 2.500000 -11.250000 -v -0.375000 1.750000 -12.000000 -v 0.375000 1.750000 -12.000000 -v -0.375000 0.750000 -10.500000 -v 0.375000 0.750000 -10.500000 -v -0.375000 1.750000 -7.750000 -v 0.375000 1.750000 -7.750000 -v -0.375000 4.000000 -11.250000 -v 0.375000 4.000000 -11.250000 -v -0.375000 4.000000 -7.750000 -v 0.375000 4.000000 -7.750000 -v -0.375000 4.000000 -8.250000 -v 0.375000 4.000000 -8.250000 -v -0.375000 2.500000 -8.250000 -v 0.375000 2.500000 -8.250000 -v -0.375000 4.000000 -10.750000 -v 0.375000 4.000000 -10.750000 -v -0.375000 2.500000 -10.750000 -v 0.375000 2.500000 -10.750000 -v 0.000000 3.875000 -8.250000 -v -0.265165 3.765165 -8.250000 -v -0.375000 3.500000 -8.250000 -v -0.265165 3.234835 -8.250000 -v 0.000000 3.125000 -8.250000 -v 0.265165 3.234835 -8.250000 -v 0.375000 3.500000 -8.250000 -v 0.265165 3.765165 -8.250000 -v 0.000000 3.875000 -10.750000 -v -0.265165 3.765165 -10.750000 -v -0.375000 3.500000 -10.750000 -v -0.265165 3.234835 -10.750000 -v 0.000000 3.125000 -10.750000 -v 0.265165 3.234835 -10.750000 -v 0.375000 3.500000 -10.750000 -v 0.265165 3.765165 -10.750000 -v -1.500000 0.250000 -5.750000 -v -1.500000 -0.750000 -8.250000 -v -1.500000 0.250000 -8.250000 -v 1.500000 0.250000 -5.750000 -v 1.500000 -0.750000 -8.250000 -v 1.500000 0.250000 -8.250000 -v 2.000000 0.250000 -8.000000 -v 2.000000 -0.750000 -8.000000 -v 2.000000 0.250000 -6.250000 -v -2.000000 -0.750000 -8.000000 -v -2.000000 0.250000 -6.250000 -v -2.000000 0.250000 -8.000000 -v -1.500000 0.750000 -6.250000 -v -1.500000 0.750000 -8.000000 -v 1.500000 0.750000 -8.000000 -v 1.500000 0.750000 -6.250000 -v 2.000000 0.750000 -7.750000 -v 2.000000 0.750000 -6.750000 -v -2.000000 0.750000 -6.750000 -v -2.000000 0.750000 -7.750000 -v -1.500000 -1.500000 -7.500000 -v -1.500000 -1.500000 -5.750000 -v 1.500000 -1.500000 -7.500000 -v 1.500000 -1.500000 -5.750000 -v 2.000000 -1.500000 -6.250000 -v 2.000000 -1.500000 -7.250000 -v -2.000000 -1.500000 -7.250000 -v -2.000000 -1.500000 -6.250000 -v 1.125000 0.375000 -2.000000 -v 1.125000 -0.375000 -2.000000 -v 1.125000 0.375000 -5.750000 -v 1.125000 -0.375000 -5.750000 -v 1.875000 0.375000 -5.500000 -v 1.875000 0.375000 -2.250000 -v 1.875000 -0.375000 -2.250000 -v 1.875000 -0.375000 -5.500000 -v 2.375000 0.187500 -4.500000 -v 2.375000 0.187500 -3.250000 -v 2.375000 -0.187500 -3.250000 -v 2.375000 -0.187500 -4.500000 -v -1.125000 0.375000 -2.000000 -v -1.125000 -0.375000 -2.000000 -v -1.125000 0.375000 -5.750000 -v -1.125000 -0.375000 -5.750000 -v -1.875000 0.375000 -5.500000 -v -1.875000 0.375000 -2.250000 -v -1.875000 -0.375000 -2.250000 -v -1.875000 -0.375000 -5.500000 -v -2.375000 0.187500 -4.500000 -v -2.375000 0.187500 -3.250000 -v -2.375000 -0.187500 -3.250000 -v -2.375000 -0.187500 -4.500000 -v -1.223240 1.817343 -4.000000 -v -1.223240 1.817343 -3.000000 -v -0.840556 1.741222 -4.000000 -v -0.840556 1.741222 -3.000000 -v -0.516133 1.524449 -4.000000 -v -0.516133 1.524449 -3.000000 -v -0.299360 1.200026 -4.000000 -v -0.299360 1.200026 -3.000000 -v -0.223240 0.817343 -4.000000 -v -0.223240 0.817343 -3.000000 -v -0.299360 0.434659 -4.000000 -v -0.299360 0.434659 -3.000000 -v -0.516133 0.110236 -4.000000 -v -0.516133 0.110236 -3.000000 -v -0.840556 -0.106537 -4.000000 -v -0.840556 -0.106537 -3.000000 -v -1.223239 -0.182657 -4.000000 -v -1.223239 -0.182657 -3.000000 -v -1.605923 -0.106537 -4.000000 -v -1.605923 -0.106537 -3.000000 -v -1.930346 0.110236 -4.000000 -v -1.930346 0.110236 -3.000000 -v -2.147119 0.434659 -4.000000 -v -2.147119 0.434659 -3.000000 -v -2.223239 0.817343 -4.000000 -v -2.223239 0.817343 -3.000000 -v -2.147119 1.200026 -4.000000 -v -2.147119 1.200026 -3.000000 -v -1.930346 1.524450 -4.000000 -v -1.930346 1.524450 -3.000000 -v -1.605923 1.741222 -4.000000 -v -1.605923 1.741222 -3.000000 -v 1.223239 1.817343 -4.000000 -v 1.223239 1.817343 -3.000000 -v 1.605923 1.741222 -4.000000 -v 1.605923 1.741222 -3.000000 -v 1.930346 1.524450 -4.000000 -v 1.930346 1.524450 -3.000000 -v 2.147119 1.200026 -4.000000 -v 2.147119 1.200026 -3.000000 -v 2.223239 0.817343 -4.000000 -v 2.223239 0.817343 -3.000000 -v 2.147119 0.434659 -4.000000 -v 2.147119 0.434659 -3.000000 -v 1.930346 0.110236 -4.000000 -v 1.930346 0.110236 -3.000000 -v 1.605923 -0.106537 -4.000000 -v 1.605923 -0.106537 -3.000000 -v 1.223240 -0.182657 -4.000000 -v 1.223240 -0.182657 -3.000000 -v 0.840556 -0.106537 -4.000000 -v 0.840556 -0.106537 -3.000000 -v 0.516133 0.110236 -4.000000 -v 0.516133 0.110236 -3.000000 -v 0.299360 0.434659 -4.000000 -v 0.299360 0.434659 -3.000000 -v 0.223239 0.817343 -4.000000 -v 0.223239 0.817343 -3.000000 -v 0.299360 1.200027 -4.000000 -v 0.299360 1.200027 -3.000000 -v 0.516133 1.524450 -4.000000 -v 0.516133 1.524450 -3.000000 -v 0.840557 1.741223 -4.000000 -v 0.840557 1.741223 -3.000000 -v 1.500000 -0.500000 -0.750000 -v 1.500000 0.500000 -0.750000 -v 1.500000 -0.500000 -2.250000 -v 1.500000 0.500000 -2.250000 -v 2.000000 -0.500000 -0.750000 -v 2.000000 0.500000 -0.750000 -v 2.000000 -0.500000 -2.250000 -v 2.000000 0.500000 -2.250000 -v 2.000000 0.000000 -2.125000 -v 2.000000 0.265165 -2.015165 -v 2.000000 0.375000 -1.750000 -v 2.000000 0.265165 -1.484835 -v 2.000000 0.000000 -1.375000 -v 2.000000 -0.265165 -1.484835 -v 2.000000 -0.375000 -1.750000 -v 2.000000 -0.265165 -2.015165 -v 4.500000 0.000000 -2.125000 -v 4.500000 0.265165 -2.015165 -v 4.500000 0.375000 -1.750000 -v 4.500000 0.265165 -1.484835 -v 4.500000 0.000000 -1.375000 -v 4.500000 -0.265165 -1.484835 -v 4.500000 -0.375000 -1.750000 -v 4.500000 -0.265165 -2.015165 -v 2.000000 -0.250000 -0.250000 -v 2.000000 0.250000 -0.250000 -v 4.500000 0.500000 -0.750000 -v 4.500000 -0.500000 -0.750000 -v 4.500000 0.250000 -0.250000 -v 4.500000 -0.250000 -0.250000 -v 5.000000 0.500000 -0.750000 -v 5.000000 -0.500000 -0.750000 -v 4.500000 0.500000 -2.250000 -v 4.500000 -0.500000 -2.250000 -v 5.000000 0.500000 -1.750000 -v 5.000000 -0.500000 -1.750000 -v -0.500000 -1.000000 -2.500000 -v 0.500000 -1.000000 -2.500000 -v -0.500000 -1.000000 -6.500000 -v 0.500000 -1.000000 -6.500000 -v -0.500000 -2.000000 -5.500000 -v -0.500000 -2.000000 -2.500000 -v 0.500000 -2.000000 -2.500000 -v 0.500000 -2.000000 -5.500000 -v 1.250000 0.000000 -8.000000 -v 1.250000 0.500000 -8.000000 -v 1.250000 0.000000 -9.750000 -v 1.250000 0.500000 -9.750000 -v 1.750000 0.000000 -8.000000 -v 1.750000 0.500000 -8.000000 -v 1.750000 0.000000 -9.750000 -v 1.750000 0.500000 -9.750000 -v -1.000000 1.250000 -6.500000 -v 1.250000 0.000000 -10.250000 -v 1.750000 0.000000 -10.250000 -v 1.000000 1.250000 -6.500000 -v 1.750000 -1.000000 -9.750000 -v 1.250000 -1.000000 -9.750000 -v 1.750000 -1.000000 -10.250000 -v 1.250000 -1.000000 -10.250000 -v -1.750000 0.000000 -8.000000 -v -1.750000 0.500000 -8.000000 -v -1.750000 0.000000 -9.750000 -v -1.750000 0.500000 -9.750000 -v -1.250000 0.000000 -8.000000 -v -1.250000 0.500000 -8.000000 -v -1.250000 0.000000 -9.750000 -v -1.250000 0.500000 -9.750000 -v -1.000000 1.250000 -7.750000 -v -1.750000 0.000000 -10.250000 -v -1.250000 0.000000 -10.250000 -v 1.000000 1.250000 -7.750000 -v -1.250000 -1.000000 -9.750000 -v -1.750000 -1.000000 -9.750000 -v -1.250000 -1.000000 -10.250000 -v -1.750000 -1.000000 -10.250000 -v 1.000000 0.750000 -7.750000 -v 1.250000 -1.500000 -9.750000 -v -1.000000 0.750000 -7.750000 -v 1.250000 -1.500000 -10.250000 -v -1.250000 -1.500000 -9.750000 -v 1.000000 0.750000 -6.500000 -v -1.250000 -1.500000 -10.250000 -v -1.000000 0.750000 -6.500000 -v -1.500000 -2.000000 -2.750000 -v 1.500000 -2.000000 -2.750000 -v -1.500000 -2.000000 -5.250000 -v 1.500000 -2.000000 -5.250000 -v -1.500000 -4.000000 -5.250000 -v -1.500000 -4.000000 -2.750000 -v 1.500000 -4.000000 -2.750000 -v 1.500000 -4.000000 -5.250000 -v -1.500000 -1.970942 -3.082382 -v -1.500000 -2.345942 -3.082382 -v -1.500000 -1.970942 -3.957382 -v -1.500000 -2.345942 -3.957382 -v -2.000000 -1.970942 -3.082382 -v -2.000000 -2.345942 -3.082382 -v -2.000000 -1.970942 -3.957382 -v -2.000000 -2.345942 -3.957382 -v -2.500000 -1.470942 -3.082382 -v -2.875000 -1.470942 -3.082382 -v -2.500000 -1.470942 -3.957382 -v -2.875000 -1.470942 -3.957382 -v -2.500000 0.654058 -3.082382 -v -2.875000 0.654058 -3.082382 -v -2.500000 0.654058 -3.957382 -v -2.875000 0.654058 -3.957382 -v -2.000000 1.154058 -3.082382 -v -2.000000 1.154058 -3.957382 -v -2.000000 1.529058 -3.082382 -v -2.000000 1.529058 -3.957382 -v -0.750000 1.375000 -3.250000 -v 0.750000 1.375000 -3.250000 -v 1.750000 0.000000 -4.750000 -v 1.750000 0.000000 -3.000000 -v 1.616789 -0.669696 -4.750000 -v 1.616789 -0.669696 -3.000000 -v 1.237437 -1.237437 -4.750000 -v 1.237437 -1.237437 -3.000000 -v 0.669696 -1.616789 -4.750000 -v 0.669696 -1.616789 -3.000000 -v 0.000000 -1.750000 -4.750000 -v 0.000000 -1.750000 -3.000000 -v -0.669696 -1.616789 -4.750000 -v -0.669696 -1.616789 -3.000000 -v -1.237436 -1.237437 -4.750000 -v -1.237436 -1.237437 -3.000000 -v -1.616789 -0.669696 -4.750000 -v -1.616789 -0.669696 -3.000000 -v -1.750000 0.000000 -4.750000 -v -1.750000 0.000000 -3.000000 -v -0.750000 1.375000 -3.750000 -v 0.750000 1.375000 -3.750000 -v 0.750000 1.625000 -3.750000 -v -0.750000 1.625000 -3.750000 -v 0.750000 1.625000 -3.250000 -v -0.750000 1.625000 -3.250000 v -0.000000 -1.437500 -2.000000 v 0.218750 -1.378886 -2.000000 v 0.378886 -1.218750 -2.000000 @@ -1273,35 +2702,6 @@ v -0.595393 0.656250 11.500000 v -0.709775 0.770633 11.500000 v -0.866025 0.812500 11.500000 v -1.022275 0.770633 11.500000 -vt 0.205104 0.294129 -vt 0.205104 0.205871 -vt 0.242265 0.205871 -vt 0.592105 0.390625 -vt 0.532895 0.359375 -vt 0.532895 0.265625 -vt 0.125000 0.781250 -vt 0.171053 0.812500 -vt 0.125000 0.812500 -vt 0.414474 0.148438 -vt 0.473684 0.242188 -vt 0.414474 0.242188 -vt 0.592105 -0.000000 -vt 0.651316 0.031250 -vt 0.651316 0.125000 -vt 0.710526 0.148438 -vt 0.769737 0.242188 -vt 0.710526 0.242188 -vt 0.651316 0.218750 -vt 0.532895 0.171875 -vt 0.651316 0.171875 -vt 0.651316 0.265625 -vt 0.184211 0.812500 -vt 0.171053 0.812500 -vt 0.184211 0.781250 -vt 0.532895 0.125000 -vt 0.264746 0.027479 -vt 0.276304 0.093750 -vt 0.236842 0.187471 vt 0.108553 0.593750 vt 0.105263 0.578125 vt 0.108553 0.578125 @@ -1339,281 +2739,6 @@ vt 0.764000 0.394520 vt 0.689948 0.496105 vt 0.726974 0.445335 vt 0.764000 0.496105 -vt 0.496711 0.640625 -vt 0.509868 0.546875 -vt 0.496711 0.500000 -vt 0.608553 0.437500 -vt 0.628289 0.390625 -vt 0.628289 0.437500 -vt 0.569079 0.437500 -vt 0.608553 0.390625 -vt 0.509868 0.546875 -vt 0.496711 0.640625 -vt 0.496711 0.500000 -vt 0.608553 0.546875 -vt 0.588816 0.640625 -vt 0.588816 0.546875 -vt 0.509868 0.687500 -vt 0.496711 0.687500 -vt 0.509868 0.640625 -vt 0.529605 0.546875 -vt 0.529605 0.640625 -vt 0.588816 0.687500 -vt 0.575658 0.640625 -vt 0.555921 0.640625 -vt 0.575658 0.546875 -vt 0.575658 0.640625 -vt 0.509868 0.687500 -vt 0.509868 0.640625 -vt 0.476974 0.640625 -vt 0.476974 0.500000 -vt 0.575658 0.640625 -vt 0.588816 0.546875 -vt 0.575658 0.546875 -vt 0.569079 0.437500 -vt 0.401316 0.218750 -vt 0.322368 0.156250 -vt 0.401316 0.156250 -vt 0.414474 0.218750 -vt 0.401316 0.250000 -vt 0.296053 0.250000 -vt 0.309211 0.265625 -vt 0.309211 0.328125 -vt 0.401316 0.109375 -vt 0.309211 0.218750 -vt 0.322368 0.250000 -vt 0.309211 0.250000 -vt 0.401316 0.500000 -vt 0.414474 0.390625 -vt 0.414474 0.500000 -vt 0.322368 0.218750 -vt 0.309211 0.156250 -vt 0.414474 0.328125 -vt 0.414474 0.265625 -vt 0.427632 0.250000 -vt 0.322368 0.109375 -vt 0.322368 0.359375 -vt 0.322368 0.500000 -vt 0.309211 0.390625 -vt 0.322368 0.390625 -vt 0.401316 0.359375 -vt 0.401316 0.390625 -vt 0.414474 0.359375 -vt 0.322368 -0.000000 -vt 0.309211 0.031250 -vt 0.414474 0.156250 -vt 0.414474 0.109375 -vt 0.019737 0.753906 -vt 0.046053 0.789062 -vt 0.019737 0.800781 -vt 0.125000 0.800781 -vt 0.105263 0.753906 -vt 0.125000 0.753906 -vt 0.000000 0.753906 -vt -0.000000 0.800781 -vt 0.111842 0.687500 -vt 0.019737 0.734375 -vt 0.013158 0.687500 -vt 0.013158 0.867188 -vt 0.105263 0.820312 -vt 0.111842 0.867188 -vt 0.046053 0.769531 -vt 0.078947 0.789062 -vt 0.105263 0.734375 -vt 0.019737 0.820312 -vt 0.105263 0.800781 -vt 0.078947 0.765625 -vt 0.078947 0.789062 -vt 0.105263 0.753906 -vt 0.105263 0.800781 -vt 0.019737 0.753906 -vt -0.000000 0.800781 -vt 0.000000 0.753906 -vt 0.125000 0.753906 -vt 0.125000 0.800781 -vt 0.105263 0.734375 -vt 0.013158 0.687500 -vt 0.111842 0.687500 -vt 0.019737 0.820312 -vt 0.111842 0.867188 -vt 0.013158 0.867188 -vt 0.046053 0.789062 -vt 0.078947 0.765625 -vt 0.046053 0.769531 -vt 0.019737 0.734375 -vt 0.105263 0.820312 -vt 0.019737 0.800781 -vt 0.946511 0.187500 -vt 0.939054 0.230254 -vt 0.903051 0.144746 -vt 0.858679 0.131639 -vt 0.891942 0.164362 -vt 0.878164 0.243361 -vt 0.939054 0.105254 -vt 0.903051 0.105254 -vt 0.903051 0.019746 -vt 0.858679 0.006639 -vt 0.891941 0.039361 -vt 0.878164 0.118361 -vt 0.164474 0.906250 -vt 0.125000 0.843750 -vt 0.164474 0.843750 -vt 0.125000 0.906250 -vt 0.111842 0.843750 -vt 0.125000 0.937500 -vt 0.164474 1.000000 -vt 0.125000 1.000000 -vt 0.125000 0.812500 -vt 0.164474 0.937500 -vt 0.184211 0.859375 -vt 0.250000 0.828125 -vt 0.263158 0.828125 -vt 0.250000 0.859375 -vt 0.269737 0.937500 -vt 0.309211 1.000000 -vt 0.269737 1.000000 -vt 0.184211 0.921875 -vt 0.250000 0.984375 -vt 0.184211 0.984375 -vt 0.250000 0.890625 -vt 0.184211 0.890625 -vt 0.250000 0.921875 -vt 0.269737 0.843750 -vt 0.309211 0.906250 -vt 0.296053 0.843750 -vt 0.309211 0.843750 -vt 0.269737 0.812500 -vt 0.296053 0.906250 -vt 0.309211 0.937500 -vt 0.269737 0.906250 -vt 0.671053 0.148438 -vt 0.493421 0.750000 -vt 0.414474 0.812500 -vt 0.414474 0.750000 -vt 0.519737 0.812500 -vt 0.519737 0.750000 -vt 0.388158 0.750000 -vt 0.388158 0.812500 -vt 0.414474 0.875000 -vt 0.493421 0.812500 -vt 0.519737 0.875000 -vt 0.414474 0.687500 -vt 0.171053 0.750000 -vt 0.125000 0.718750 -vt 0.171053 0.718750 -vt 0.125000 0.687500 -vt 0.171053 0.687500 -vt 0.171053 0.781250 -vt 0.125000 0.750000 -vt 0.342105 0.781250 -vt 0.328947 0.750000 -vt 0.342105 0.750000 -vt 0.171053 0.718750 -vt 0.184211 0.718750 -vt 0.184211 0.750000 -vt 0.210526 0.812500 -vt 0.230263 0.390625 -vt 0.243421 0.468750 -vt 0.230263 0.468750 -vt 0.223684 0.781250 -vt 0.210526 0.781250 -vt 0.223684 0.750000 -vt 0.184211 0.687500 -vt 0.210526 0.718750 -vt 0.210526 0.781250 -vt 0.210526 0.750000 -vt 0.388158 0.750000 -vt 0.342105 0.718750 -vt 0.388158 0.718750 -vt 0.328947 0.718750 -vt 0.342105 0.718750 -vt 0.388158 0.812500 -vt 0.342105 0.812500 -vt 0.342105 0.687500 -vt 0.388158 0.781250 -vt 0.342105 0.812500 -vt 0.328947 0.812500 -vt 0.328947 0.781250 -vt 0.302632 0.718750 -vt 0.309211 0.468750 -vt 0.296053 0.390625 -vt 0.309211 0.390625 -vt 0.296053 0.359375 -vt 0.243421 0.390625 -vt 0.243421 0.359375 -vt 0.302632 0.687500 -vt 0.328947 0.687500 -vt 0.302632 0.750000 -vt 0.302632 0.781250 -vt 0.289474 0.718750 -vt 0.296053 0.468750 -vt 0.289474 0.687500 -vt 0.302632 0.687500 -vt 0.289474 0.781250 -vt 0.223684 0.812500 -vt 0.210526 0.687500 -vt 0.223684 0.687500 -vt 0.223684 0.718750 -vt 0.302632 0.781250 -vt 0.289474 0.750000 -vt 0.243421 0.500000 -vt 0.296053 0.500000 -vt 0.618421 0.687500 -vt 0.684211 0.875000 -vt 0.618421 0.875000 -vt 0.736842 0.875000 -vt 0.802632 0.687500 -vt 0.802632 0.875000 -vt 0.684211 0.562500 -vt 0.684211 0.687500 -vt 0.618421 1.000000 -vt 0.565789 0.687500 -vt 0.835526 0.531250 -vt 0.825658 0.562500 -vt 0.825658 0.531250 -vt 0.868421 0.531250 -vt 0.858553 0.562500 -vt 0.858553 0.531250 -vt 0.835526 0.562500 -vt 0.802632 0.562500 -vt 0.802632 0.531250 -vt 0.835526 0.640625 -vt 0.825658 0.578125 -vt 0.802632 0.625000 -vt 0.802632 0.578125 -vt 0.858553 0.640625 -vt 0.835526 0.773438 -vt 0.825658 0.640625 -vt 0.802632 0.773438 -vt 0.802632 0.640625 -vt 0.825658 0.789062 -vt 0.802632 0.835938 -vt 0.802632 0.789062 -vt 0.858553 0.773438 -vt 0.835526 0.851562 -vt 0.868421 0.625000 -vt 0.868421 0.578125 -vt 0.868421 0.640625 -vt 0.858553 0.851562 -vt 0.868421 0.789062 -vt 0.868421 0.835938 -vt 0.825658 0.625000 -vt 0.825658 0.773438 -vt 0.825658 0.835938 -vt 0.684211 0.890625 -vt 0.723684 0.875000 -vt 0.723684 0.890625 -vt 0.723684 0.921875 -vt 0.684211 0.937500 -vt 0.684211 0.921875 -vt 0.799894 0.379950 -vt 0.824715 0.321000 -vt 0.859817 0.321000 -vt 0.859817 0.430375 -vt 0.874696 0.453987 -vt 0.888129 0.531009 -vt 0.513158 0.242188 -vt 0.473684 0.148438 vt 0.108553 0.593750 vt 0.105263 0.578125 vt 0.108553 0.578125 @@ -1771,36 +2896,6 @@ vt 0.105263 0.593750 vt 0.090991 0.591780 vt 0.083882 0.601529 vt 0.076772 0.572282 -vt 0.242265 0.294129 -vt 0.233740 0.307657 -vt 0.223684 0.312408 -vt 0.213628 0.307658 -vt 0.199407 0.273883 -vt 0.197407 0.250000 -vt 0.199407 0.226117 -vt 0.213628 0.192342 -vt 0.223684 0.187592 -vt 0.233740 0.192343 -vt 0.247961 0.226117 -vt 0.249961 0.250000 -vt 0.247961 0.273883 -vt 0.651316 0.359375 -vt 0.532895 0.031250 -vt 0.769737 0.148438 -vt 0.532895 0.218750 -vt 0.221741 0.180337 -vt 0.208939 0.160021 -vt 0.200384 0.129615 -vt 0.197381 0.093750 -vt 0.200384 0.057884 -vt 0.208939 0.027479 -vt 0.221741 0.007163 -vt 0.236842 0.000029 -vt 0.251943 0.007163 -vt 0.273300 0.057885 -vt 0.273300 0.129616 -vt 0.264746 0.160021 -vt 0.251943 0.180337 vt 0.105263 0.589844 vt 0.105263 0.574219 vt 0.105263 0.558594 @@ -1837,117 +2932,6 @@ vt 0.748351 0.458939 vt 0.769728 0.546875 vt 0.764000 0.597645 vt 0.748351 0.634811 -vt 0.509868 0.640625 -vt 0.569079 0.390625 -vt 0.608553 0.640625 -vt 0.575658 0.687500 -vt 0.555921 0.546875 -vt 0.575658 0.687500 -vt 0.588816 0.640625 -vt 0.608553 0.500000 -vt 0.608553 0.500000 -vt 0.414474 0.250000 -vt 0.296053 0.359375 -vt 0.250000 0.359375 -vt 0.250000 0.296875 -vt 0.269737 0.250000 -vt 0.453947 0.250000 -vt 0.427632 0.359375 -vt 0.473684 0.296875 -vt 0.473684 0.359375 -vt 0.309211 0.109375 -vt 0.309211 0.500000 -vt 0.309211 0.359375 -vt 0.401316 -0.000000 -vt 0.414474 0.031250 -vt 0.414474 0.093750 -vt 0.309211 0.093750 -vt 0.930795 0.243361 -vt 0.921053 0.247964 -vt 0.911310 0.243361 -vt 0.903051 0.230254 -vt 0.897532 0.210638 -vt 0.895594 0.187500 -vt 0.897532 0.164362 -vt 0.911310 0.131639 -vt 0.921053 0.127036 -vt 0.930795 0.131639 -vt 0.939054 0.144746 -vt 0.944573 0.164362 -vt 0.944573 0.210638 -vt 0.868421 0.247964 -vt 0.844901 0.210638 -vt 0.858679 0.243361 -vt 0.850419 0.230254 -vt 0.842963 0.187500 -vt 0.844901 0.164362 -vt 0.850419 0.144746 -vt 0.868421 0.127036 -vt 0.878164 0.131639 -vt 0.886423 0.144746 -vt 0.893879 0.187500 -vt 0.891942 0.210638 -vt 0.886423 0.230254 -vt 0.930795 0.118361 -vt 0.921053 0.122964 -vt 0.911310 0.118361 -vt 0.897532 0.085639 -vt 0.895594 0.062500 -vt 0.897532 0.039362 -vt 0.911310 0.006639 -vt 0.921053 0.002036 -vt 0.930795 0.006639 -vt 0.939054 0.019746 -vt 0.944573 0.039362 -vt 0.946511 0.062500 -vt 0.944573 0.085638 -vt 0.868421 0.122964 -vt 0.858679 0.118361 -vt 0.850419 0.105254 -vt 0.844901 0.085638 -vt 0.842963 0.062500 -vt 0.844901 0.039362 -vt 0.850419 0.019746 -vt 0.868421 0.002036 -vt 0.878164 0.006639 -vt 0.886423 0.019746 -vt 0.893879 0.062500 -vt 0.891941 0.085638 -vt 0.886423 0.105254 -vt 0.111842 0.906250 -vt 0.164474 0.812500 -vt 0.184211 0.828125 -vt 0.171053 0.828125 -vt 0.171053 0.921875 -vt 0.263158 0.921875 -vt 0.309211 0.812500 -vt 0.671053 0.242188 -vt 0.519737 0.687500 -vt 0.210526 0.687500 -vt 0.388158 0.687500 -vt 0.302632 0.812500 -vt 0.289474 0.812500 -vt 0.736842 0.687500 -vt 0.618421 0.562500 -vt 0.684211 1.000000 -vt 0.565789 0.875000 -vt 0.868421 0.562500 -vt 0.868421 0.773438 -vt 0.684211 0.875000 -vt 0.723684 0.937500 -vt 0.888129 0.421634 -vt 0.796403 0.421634 -vt 0.809836 0.344612 -vt 0.842266 0.312709 -vt 0.874696 0.344612 -vt 0.884638 0.379950 -vt 0.884638 0.489325 -vt 0.796403 0.531009 -vt 0.799894 0.489325 -vt 0.809836 0.453987 -vt 0.824715 0.430375 -vt 0.842266 0.422084 -vt 0.513158 0.148438 vt 0.105263 0.589844 vt 0.105263 0.574219 vt 0.105263 0.558594 @@ -2036,105 +3020,6 @@ vt 0.087986 0.565145 vt 0.090991 0.572282 vt 0.092091 0.582031 vt 0.087986 0.598917 -vt 0.078947 0.175781 -vt -0.000000 0.210938 -vt -0.000000 0.175781 -vt 0.078947 0.492188 -vt 0.000000 0.527344 -vt 0.000000 0.492188 -vt 0.078947 0.210938 -vt -0.000000 0.246094 -vt 0.078947 0.527344 -vt 0.000000 0.562500 -vt 0.078947 0.281250 -vt -0.000000 0.316406 -vt -0.000000 0.281250 -vt 0.078947 0.246094 -vt 0.078947 0.000000 -vt 0.000000 0.035156 -vt 0.000000 0.000000 -vt 0.078947 0.316406 -vt -0.000000 0.351562 -vt 0.078947 0.035156 -vt 0.000000 0.070312 -vt 0.078947 0.351562 -vt -0.000000 0.386719 -vt 0.078947 0.070312 -vt 0.000000 0.105469 -vt 0.078947 0.386719 -vt 0.000000 0.421875 -vt 0.078947 0.105469 -vt -0.000000 0.140625 -vt 0.078947 0.421875 -vt 0.000000 0.457031 -vt 0.078947 0.140625 -vt 0.078947 0.457031 -vt 0.092105 0.210938 -vt 0.092105 0.246094 -vt 0.092105 0.281250 -vt 0.092105 0.316406 -vt 0.092105 0.351562 -vt 0.092105 0.417969 -vt 0.092105 0.421875 -vt 0.092105 0.488281 -vt 0.092105 0.492188 -vt 0.092105 0.527344 -vt 0.078947 0.562500 -vt 0.092105 0.000000 -vt 0.092105 0.066406 -vt 0.092105 0.101562 -vt 0.092105 0.105469 -vt 0.092105 0.140625 -vt 0.092105 0.175781 -vt 0.092105 0.312500 -vt 0.184211 0.343750 -vt 0.092105 0.343750 -vt 0.092105 0.062500 -vt 0.184211 0.093750 -vt 0.092105 0.093750 -vt 0.184211 0.375000 -vt 0.092105 0.375000 -vt 0.184211 0.125000 -vt 0.092105 0.125000 -vt 0.184211 0.406250 -vt 0.092105 0.406250 -vt 0.184211 0.156250 -vt 0.092105 0.156250 -vt 0.184211 0.437500 -vt 0.092105 0.437500 -vt 0.184211 0.187500 -vt 0.092105 0.187500 -vt 0.184211 0.468750 -vt 0.092105 0.468750 -vt 0.184211 0.218750 -vt 0.092105 0.218750 -vt 0.184211 0.500000 -vt 0.092105 0.500000 -vt 0.092105 0.250000 -vt 0.184211 0.281250 -vt 0.092105 0.281250 -vt 0.184211 0.250000 -vt 0.184211 0.031250 -vt 0.092105 0.031250 -vt 0.184211 0.312500 -vt 0.184211 0.062500 -vt 0.197368 0.183594 -vt 0.197368 0.191406 -vt 0.197368 0.222656 -vt 0.197368 0.253906 -vt 0.197368 0.285156 -vt 0.197368 0.339844 -vt 0.197368 0.371094 -vt 0.197368 0.378906 -vt 0.197368 0.410156 -vt 0.197368 0.464844 -vt 0.197368 0.496094 -vt 0.184211 0.000000 -vt 0.197368 0.027344 -vt 0.197368 0.058594 -vt 0.197368 0.066406 -vt 0.197368 0.121094 -vt 0.197368 0.128906 vt 0.476974 0.609375 vt 0.371711 0.593750 vt 0.476974 0.593750 @@ -2288,6 +3173,3308 @@ vt 0.769737 0.273438 vt 0.769737 0.546875 vt 0.769737 0.054688 vt 0.796053 -0.000000 +vt 0.476974 0.625000 +vt 0.371711 0.609375 +vt 0.476974 0.609375 +vt 0.371711 0.593750 +vt 0.476974 0.593750 +vt 0.476974 0.640625 +vt 0.371711 0.625000 +vt 0.476974 0.656250 +vt 0.371711 0.640625 +vt 0.476974 0.671875 +vt 0.371711 0.656250 +vt 0.476974 0.687500 +vt 0.371711 0.671875 +vt 0.476974 0.515625 +vt 0.371711 0.500000 +vt 0.476974 0.500000 +vt 0.476974 0.531250 +vt 0.371711 0.515625 +vt 0.476974 0.546875 +vt 0.371711 0.531250 +vt 0.476974 0.562500 +vt 0.371711 0.546875 +vt 0.476974 0.578125 +vt 0.371711 0.562500 +vt 0.371711 0.578125 +vt 0.365132 0.625000 +vt 0.365132 0.609375 +vt 0.365132 0.593750 +vt 0.365132 0.578125 +vt 0.365132 0.562500 +vt 0.365132 0.546875 +vt 0.365132 0.531250 +vt 0.365132 0.515625 +vt 0.365132 0.500000 +vt 0.371711 0.687500 +vt 0.365132 0.671875 +vt 0.365132 0.656250 +vt 0.365132 0.640625 +vt 0.338816 0.593750 +vt 0.338816 0.609375 +vt 0.338816 0.625000 +vt 0.338816 0.640625 +vt 0.338816 0.656250 +vt 0.365132 0.687500 +vt 0.338816 0.671875 +vt 0.338816 0.500000 +vt 0.338816 0.515625 +vt 0.338816 0.531250 +vt 0.338816 0.546875 +vt 0.338816 0.562500 +vt 0.338816 0.578125 +vt 0.332237 0.609375 +vt 0.332237 0.593750 +vt 0.332237 0.578125 +vt 0.332237 0.562500 +vt 0.332237 0.546875 +vt 0.332237 0.531250 +vt 0.332237 0.515625 +vt 0.332237 0.500000 +vt 0.332237 0.687500 +vt 0.332237 0.671875 +vt 0.332237 0.656250 +vt 0.332237 0.640625 +vt 0.332237 0.625000 +vt 0.200658 0.593750 +vt 0.200658 0.609375 +vt 0.200658 0.625000 +vt 0.200658 0.640625 +vt 0.200658 0.656250 +vt 0.200658 0.671875 +vt 0.200658 0.500000 +vt 0.200658 0.515625 +vt 0.200658 0.531250 +vt 0.200658 0.546875 +vt 0.200658 0.562500 +vt 0.200658 0.578125 +vt 0.194079 0.562500 +vt 0.194079 0.546875 +vt 0.194079 0.578125 +vt 0.194079 0.593750 +vt 0.194079 0.609375 +vt 0.194079 0.625000 +vt 0.194079 0.640625 +vt 0.194079 0.656250 +vt 0.200658 0.687500 +vt 0.194079 0.671875 +vt 0.194079 0.500000 +vt 0.194079 0.531250 +vt 0.194079 0.515625 +vt 0.128289 0.593750 +vt 0.128289 0.609375 +vt 0.128289 0.625000 +vt 0.128289 0.640625 +vt 0.128289 0.656250 +vt 0.194079 0.687500 +vt 0.128289 0.671875 +vt 0.128289 0.500000 +vt 0.128289 0.515625 +vt 0.128289 0.531250 +vt 0.128289 0.546875 +vt 0.128289 0.562500 +vt 0.128289 0.578125 +vt 0.121711 0.593750 +vt 0.121711 0.578125 +vt 0.121711 0.609375 +vt 0.121711 0.640625 +vt 0.121711 0.625000 +vt 0.121711 0.671875 +vt 0.121711 0.656250 +vt 0.128289 0.687500 +vt 0.121711 0.500000 +vt 0.121711 0.515625 +vt 0.121711 0.531250 +vt 0.121711 0.546875 +vt 0.121711 0.562500 +vt 0.121711 0.687500 +vt 0.092105 0.593750 +vt 0.092105 0.609375 +vt 0.092105 0.625000 +vt 0.092105 0.640625 +vt 0.092105 0.656250 +vt 0.092105 0.671875 +vt 0.092105 0.500000 +vt 0.092105 0.515625 +vt 0.092105 0.531250 +vt 0.092105 0.546875 +vt 0.092105 0.562500 +vt 0.092105 0.578125 +vt 0.476974 0.609375 +vt 0.371711 0.593750 +vt 0.476974 0.593750 +vt 0.476974 0.625000 +vt 0.371711 0.609375 +vt 0.476974 0.640625 +vt 0.371711 0.625000 +vt 0.476974 0.656250 +vt 0.371711 0.640625 +vt 0.476974 0.671875 +vt 0.371711 0.656250 +vt 0.476974 0.687500 +vt 0.371711 0.671875 +vt 0.476974 0.515625 +vt 0.371711 0.500000 +vt 0.476974 0.500000 +vt 0.476974 0.531250 +vt 0.371711 0.515625 +vt 0.476974 0.546875 +vt 0.371711 0.531250 +vt 0.476974 0.562500 +vt 0.371711 0.546875 +vt 0.476974 0.578125 +vt 0.371711 0.562500 +vt 0.371711 0.578125 +vt 0.365132 0.625000 +vt 0.365132 0.609375 +vt 0.365132 0.593750 +vt 0.365132 0.578125 +vt 0.365132 0.562500 +vt 0.365132 0.546875 +vt 0.365132 0.531250 +vt 0.365132 0.515625 +vt 0.365132 0.500000 +vt 0.371711 0.687500 +vt 0.365132 0.671875 +vt 0.365132 0.656250 +vt 0.365132 0.640625 +vt 0.338816 0.593750 +vt 0.338816 0.609375 +vt 0.338816 0.625000 +vt 0.338816 0.640625 +vt 0.338816 0.656250 +vt 0.365132 0.687500 +vt 0.338816 0.671875 +vt 0.338816 0.500000 +vt 0.338816 0.515625 +vt 0.338816 0.531250 +vt 0.338816 0.546875 +vt 0.338816 0.562500 +vt 0.338816 0.578125 +vt 0.332237 0.609375 +vt 0.332237 0.593750 +vt 0.332237 0.578125 +vt 0.332237 0.562500 +vt 0.332237 0.546875 +vt 0.332237 0.531250 +vt 0.332237 0.515625 +vt 0.332237 0.500000 +vt 0.332237 0.687500 +vt 0.332237 0.671875 +vt 0.332237 0.656250 +vt 0.332237 0.640625 +vt 0.332237 0.625000 +vt 0.200658 0.593750 +vt 0.200658 0.609375 +vt 0.200658 0.625000 +vt 0.200658 0.640625 +vt 0.200658 0.656250 +vt 0.200658 0.671875 +vt 0.200658 0.500000 +vt 0.200658 0.515625 +vt 0.200658 0.531250 +vt 0.200658 0.546875 +vt 0.200658 0.562500 +vt 0.200658 0.578125 +vt 0.194079 0.546875 +vt 0.194079 0.578125 +vt 0.194079 0.562500 +vt 0.194079 0.593750 +vt 0.194079 0.609375 +vt 0.194079 0.625000 +vt 0.194079 0.640625 +vt 0.194079 0.671875 +vt 0.194079 0.656250 +vt 0.200658 0.687500 +vt 0.194079 0.500000 +vt 0.194079 0.531250 +vt 0.194079 0.515625 +vt 0.128289 0.593750 +vt 0.128289 0.609375 +vt 0.128289 0.625000 +vt 0.128289 0.640625 +vt 0.128289 0.656250 +vt 0.194079 0.687500 +vt 0.128289 0.671875 +vt 0.128289 0.500000 +vt 0.128289 0.515625 +vt 0.128289 0.531250 +vt 0.128289 0.546875 +vt 0.128289 0.562500 +vt 0.128289 0.578125 +vt 0.121711 0.593750 +vt 0.121711 0.578125 +vt 0.121711 0.625000 +vt 0.121711 0.609375 +vt 0.121711 0.656250 +vt 0.121711 0.640625 +vt 0.121711 0.687500 +vt 0.121711 0.671875 +vt 0.121711 0.515625 +vt 0.121711 0.500000 +vt 0.121711 0.546875 +vt 0.121711 0.531250 +vt 0.121711 0.562500 +vt 0.092105 0.593750 +vt 0.092105 0.609375 +vt 0.092105 0.625000 +vt 0.092105 0.640625 +vt 0.092105 0.656250 +vt 0.092105 0.671875 +vt 0.092105 0.500000 +vt 0.092105 0.515625 +vt 0.092105 0.531250 +vt 0.092105 0.546875 +vt 0.092105 0.562500 +vt 0.092105 0.578125 +vt 0.476974 0.625000 +vt 0.371711 0.609375 +vt 0.476974 0.609375 +vt 0.371711 0.593750 +vt 0.476974 0.593750 +vt 0.476974 0.640625 +vt 0.371711 0.625000 +vt 0.476974 0.656250 +vt 0.371711 0.640625 +vt 0.476974 0.671875 +vt 0.371711 0.656250 +vt 0.476974 0.687500 +vt 0.371711 0.671875 +vt 0.476974 0.515625 +vt 0.371711 0.500000 +vt 0.476974 0.500000 +vt 0.476974 0.531250 +vt 0.371711 0.515625 +vt 0.476974 0.546875 +vt 0.371711 0.531250 +vt 0.476974 0.562500 +vt 0.371711 0.546875 +vt 0.476974 0.578125 +vt 0.371711 0.562500 +vt 0.371711 0.578125 +vt 0.365132 0.625000 +vt 0.365132 0.609375 +vt 0.365132 0.593750 +vt 0.365132 0.578125 +vt 0.365132 0.562500 +vt 0.365132 0.546875 +vt 0.365132 0.531250 +vt 0.365132 0.515625 +vt 0.365132 0.500000 +vt 0.371711 0.687500 +vt 0.365132 0.671875 +vt 0.365132 0.656250 +vt 0.365132 0.640625 +vt 0.338816 0.593750 +vt 0.338816 0.609375 +vt 0.338816 0.625000 +vt 0.338816 0.640625 +vt 0.338816 0.656250 +vt 0.365132 0.687500 +vt 0.338816 0.671875 +vt 0.338816 0.500000 +vt 0.338816 0.515625 +vt 0.338816 0.531250 +vt 0.338816 0.546875 +vt 0.338816 0.562500 +vt 0.338816 0.578125 +vt 0.332237 0.609375 +vt 0.332237 0.593750 +vt 0.332237 0.578125 +vt 0.332237 0.562500 +vt 0.332237 0.546875 +vt 0.332237 0.531250 +vt 0.332237 0.515625 +vt 0.332237 0.500000 +vt 0.338816 0.687500 +vt 0.332237 0.671875 +vt 0.332237 0.656250 +vt 0.332237 0.640625 +vt 0.332237 0.625000 +vt 0.200658 0.593750 +vt 0.200658 0.609375 +vt 0.200658 0.625000 +vt 0.200658 0.640625 +vt 0.200658 0.656250 +vt 0.332237 0.687500 +vt 0.200658 0.671875 +vt 0.200658 0.500000 +vt 0.200658 0.515625 +vt 0.200658 0.531250 +vt 0.200658 0.546875 +vt 0.200658 0.562500 +vt 0.200658 0.578125 +vt 0.194079 0.546875 +vt 0.194079 0.578125 +vt 0.194079 0.562500 +vt 0.194079 0.593750 +vt 0.194079 0.609375 +vt 0.194079 0.640625 +vt 0.194079 0.625000 +vt 0.194079 0.671875 +vt 0.194079 0.656250 +vt 0.200658 0.687500 +vt 0.194079 0.500000 +vt 0.194079 0.531250 +vt 0.194079 0.515625 +vt 0.128289 0.593750 +vt 0.128289 0.609375 +vt 0.128289 0.625000 +vt 0.128289 0.640625 +vt 0.128289 0.656250 +vt 0.194079 0.687500 +vt 0.128289 0.671875 +vt 0.128289 0.500000 +vt 0.128289 0.515625 +vt 0.128289 0.531250 +vt 0.128289 0.546875 +vt 0.128289 0.562500 +vt 0.128289 0.578125 +vt 0.121711 0.593750 +vt 0.121711 0.578125 +vt 0.121711 0.609375 +vt 0.121711 0.625000 +vt 0.121711 0.656250 +vt 0.121711 0.640625 +vt 0.121711 0.687500 +vt 0.121711 0.671875 +vt 0.121711 0.515625 +vt 0.121711 0.500000 +vt 0.121711 0.546875 +vt 0.121711 0.531250 +vt 0.121711 0.562500 +vt 0.092105 0.593750 +vt 0.092105 0.609375 +vt 0.092105 0.625000 +vt 0.092105 0.640625 +vt 0.092105 0.656250 +vt 0.092105 0.671875 +vt 0.092105 0.500000 +vt 0.092105 0.515625 +vt 0.092105 0.531250 +vt 0.092105 0.546875 +vt 0.092105 0.562500 +vt 0.092105 0.578125 +vt 0.476974 0.609375 +vt 0.371711 0.593750 +vt 0.476974 0.593750 +vt 0.476974 0.625000 +vt 0.371711 0.609375 +vt 0.476974 0.640625 +vt 0.371711 0.625000 +vt 0.476974 0.656250 +vt 0.371711 0.640625 +vt 0.476974 0.671875 +vt 0.371711 0.656250 +vt 0.476974 0.687500 +vt 0.371711 0.671875 +vt 0.476974 0.515625 +vt 0.371711 0.500000 +vt 0.476974 0.500000 +vt 0.476974 0.531250 +vt 0.371711 0.515625 +vt 0.476974 0.546875 +vt 0.371711 0.531250 +vt 0.476974 0.562500 +vt 0.371711 0.546875 +vt 0.476974 0.578125 +vt 0.371711 0.562500 +vt 0.371711 0.578125 +vt 0.365132 0.625000 +vt 0.365132 0.609375 +vt 0.365132 0.593750 +vt 0.365132 0.578125 +vt 0.365132 0.562500 +vt 0.365132 0.546875 +vt 0.365132 0.531250 +vt 0.365132 0.515625 +vt 0.365132 0.500000 +vt 0.365132 0.687500 +vt 0.365132 0.671875 +vt 0.365132 0.656250 +vt 0.365132 0.640625 +vt 0.338816 0.593750 +vt 0.338816 0.609375 +vt 0.338816 0.625000 +vt 0.338816 0.640625 +vt 0.338816 0.656250 +vt 0.338816 0.671875 +vt 0.338816 0.500000 +vt 0.338816 0.515625 +vt 0.338816 0.531250 +vt 0.338816 0.546875 +vt 0.338816 0.562500 +vt 0.338816 0.578125 +vt 0.332237 0.593750 +vt 0.332237 0.578125 +vt 0.332237 0.562500 +vt 0.332237 0.546875 +vt 0.332237 0.531250 +vt 0.332237 0.515625 +vt 0.332237 0.500000 +vt 0.338816 0.687500 +vt 0.332237 0.671875 +vt 0.332237 0.656250 +vt 0.332237 0.640625 +vt 0.332237 0.625000 +vt 0.332237 0.609375 +vt 0.200658 0.593750 +vt 0.200658 0.609375 +vt 0.200658 0.625000 +vt 0.200658 0.640625 +vt 0.200658 0.656250 +vt 0.332237 0.687500 +vt 0.200658 0.671875 +vt 0.200658 0.500000 +vt 0.200658 0.515625 +vt 0.200658 0.531250 +vt 0.200658 0.546875 +vt 0.200658 0.562500 +vt 0.200658 0.578125 +vt 0.194079 0.562500 +vt 0.194079 0.546875 +vt 0.194079 0.578125 +vt 0.194079 0.593750 +vt 0.194079 0.609375 +vt 0.194079 0.625000 +vt 0.194079 0.640625 +vt 0.194079 0.671875 +vt 0.194079 0.656250 +vt 0.200658 0.687500 +vt 0.194079 0.500000 +vt 0.194079 0.531250 +vt 0.194079 0.515625 +vt 0.128289 0.593750 +vt 0.128289 0.609375 +vt 0.128289 0.625000 +vt 0.128289 0.640625 +vt 0.128289 0.656250 +vt 0.194079 0.687500 +vt 0.128289 0.671875 +vt 0.128289 0.500000 +vt 0.128289 0.515625 +vt 0.128289 0.531250 +vt 0.128289 0.546875 +vt 0.128289 0.562500 +vt 0.128289 0.578125 +vt 0.121711 0.593750 +vt 0.121711 0.578125 +vt 0.121711 0.609375 +vt 0.121711 0.625000 +vt 0.121711 0.640625 +vt 0.121711 0.671875 +vt 0.121711 0.656250 +vt 0.121711 0.687500 +vt 0.121711 0.500000 +vt 0.121711 0.515625 +vt 0.121711 0.531250 +vt 0.121711 0.546875 +vt 0.121711 0.562500 +vt 0.092105 0.593750 +vt 0.092105 0.609375 +vt 0.092105 0.625000 +vt 0.092105 0.640625 +vt 0.092105 0.656250 +vt 0.092105 0.671875 +vt 0.092105 0.500000 +vt 0.092105 0.515625 +vt 0.092105 0.531250 +vt 0.092105 0.546875 +vt 0.092105 0.562500 +vt 0.092105 0.578125 +vt 0.476974 0.625000 +vt 0.371711 0.609375 +vt 0.476974 0.609375 +vt 0.371711 0.593750 +vt 0.476974 0.593750 +vt 0.476974 0.640625 +vt 0.371711 0.625000 +vt 0.476974 0.656250 +vt 0.371711 0.640625 +vt 0.476974 0.671875 +vt 0.371711 0.656250 +vt 0.476974 0.687500 +vt 0.371711 0.671875 +vt 0.476974 0.515625 +vt 0.371711 0.500000 +vt 0.476974 0.500000 +vt 0.476974 0.531250 +vt 0.371711 0.515625 +vt 0.476974 0.546875 +vt 0.371711 0.531250 +vt 0.476974 0.562500 +vt 0.371711 0.546875 +vt 0.476974 0.578125 +vt 0.371711 0.562500 +vt 0.371711 0.578125 +vt 0.365132 0.625000 +vt 0.365132 0.609375 +vt 0.365132 0.593750 +vt 0.365132 0.578125 +vt 0.365132 0.562500 +vt 0.365132 0.546875 +vt 0.365132 0.531250 +vt 0.365132 0.515625 +vt 0.365132 0.500000 +vt 0.371711 0.687500 +vt 0.365132 0.671875 +vt 0.365132 0.656250 +vt 0.365132 0.640625 +vt 0.338816 0.593750 +vt 0.338816 0.609375 +vt 0.338816 0.625000 +vt 0.338816 0.640625 +vt 0.338816 0.656250 +vt 0.365132 0.687500 +vt 0.338816 0.671875 +vt 0.338816 0.500000 +vt 0.338816 0.515625 +vt 0.338816 0.531250 +vt 0.338816 0.546875 +vt 0.338816 0.562500 +vt 0.338816 0.578125 +vt 0.332237 0.609375 +vt 0.332237 0.593750 +vt 0.332237 0.578125 +vt 0.332237 0.562500 +vt 0.332237 0.546875 +vt 0.332237 0.531250 +vt 0.332237 0.515625 +vt 0.332237 0.500000 +vt 0.338816 0.687500 +vt 0.332237 0.671875 +vt 0.332237 0.656250 +vt 0.332237 0.640625 +vt 0.332237 0.625000 +vt 0.200658 0.593750 +vt 0.200658 0.609375 +vt 0.200658 0.625000 +vt 0.200658 0.640625 +vt 0.200658 0.656250 +vt 0.332237 0.687500 +vt 0.200658 0.671875 +vt 0.200658 0.500000 +vt 0.200658 0.515625 +vt 0.200658 0.531250 +vt 0.200658 0.546875 +vt 0.200658 0.562500 +vt 0.200658 0.578125 +vt 0.194079 0.562500 +vt 0.194079 0.546875 +vt 0.194079 0.578125 +vt 0.194079 0.593750 +vt 0.194079 0.609375 +vt 0.194079 0.625000 +vt 0.194079 0.640625 +vt 0.194079 0.656250 +vt 0.200658 0.687500 +vt 0.194079 0.671875 +vt 0.194079 0.500000 +vt 0.194079 0.531250 +vt 0.194079 0.515625 +vt 0.128289 0.593750 +vt 0.128289 0.609375 +vt 0.128289 0.625000 +vt 0.128289 0.640625 +vt 0.128289 0.656250 +vt 0.194079 0.687500 +vt 0.128289 0.671875 +vt 0.128289 0.500000 +vt 0.128289 0.515625 +vt 0.128289 0.531250 +vt 0.128289 0.546875 +vt 0.128289 0.562500 +vt 0.128289 0.578125 +vt 0.121711 0.593750 +vt 0.121711 0.578125 +vt 0.121711 0.609375 +vt 0.121711 0.625000 +vt 0.121711 0.640625 +vt 0.121711 0.656250 +vt 0.128289 0.687500 +vt 0.121711 0.671875 +vt 0.121711 0.500000 +vt 0.121711 0.515625 +vt 0.121711 0.546875 +vt 0.121711 0.531250 +vt 0.121711 0.562500 +vt 0.121711 0.687500 +vt 0.092105 0.593750 +vt 0.092105 0.609375 +vt 0.092105 0.625000 +vt 0.092105 0.640625 +vt 0.092105 0.656250 +vt 0.092105 0.671875 +vt 0.092105 0.500000 +vt 0.092105 0.515625 +vt 0.092105 0.531250 +vt 0.092105 0.546875 +vt 0.092105 0.562500 +vt 0.092105 0.578125 +vt 0.338816 0.687500 +vt 0.092105 0.605469 +vt 0.092105 0.621094 +vt 0.092105 0.636719 +vt 0.092105 0.652344 +vt 0.092105 0.667969 +vt 0.092105 0.683594 +vt 0.092105 0.511719 +vt 0.092105 0.527344 +vt 0.092105 0.542969 +vt 0.092105 0.558594 +vt 0.092105 0.574219 +vt 0.092105 0.589844 +vt 0.769737 -0.000000 +vt 0.338816 0.687500 +vt 0.092105 0.605469 +vt 0.092105 0.621094 +vt 0.092105 0.636719 +vt 0.092105 0.652344 +vt 0.092105 0.667969 +vt 0.092105 0.683594 +vt 0.092105 0.511719 +vt 0.092105 0.527344 +vt 0.092105 0.542969 +vt 0.092105 0.558594 +vt 0.092105 0.574219 +vt 0.092105 0.589844 +vt 0.338816 0.687500 +vt 0.128289 0.687500 +vt 0.092105 0.605469 +vt 0.092105 0.621094 +vt 0.092105 0.636719 +vt 0.092105 0.652344 +vt 0.092105 0.667969 +vt 0.092105 0.683594 +vt 0.092105 0.511719 +vt 0.092105 0.527344 +vt 0.092105 0.542969 +vt 0.092105 0.558594 +vt 0.092105 0.574219 +vt 0.092105 0.589844 +vt 0.128289 0.687500 +vt 0.092105 0.605469 +vt 0.092105 0.621094 +vt 0.092105 0.636719 +vt 0.092105 0.652344 +vt 0.092105 0.667969 +vt 0.092105 0.683594 +vt 0.092105 0.511719 +vt 0.092105 0.527344 +vt 0.092105 0.542969 +vt 0.092105 0.558594 +vt 0.092105 0.574219 +vt 0.092105 0.589844 +vt 0.371711 0.687500 +vt 0.128289 0.687500 +vt 0.092105 0.605469 +vt 0.092105 0.621094 +vt 0.092105 0.636719 +vt 0.092105 0.652344 +vt 0.092105 0.667969 +vt 0.092105 0.683594 +vt 0.092105 0.511719 +vt 0.092105 0.527344 +vt 0.092105 0.542969 +vt 0.092105 0.558594 +vt 0.092105 0.574219 +vt 0.092105 0.589844 +vt 0.092105 0.605469 +vt 0.092105 0.621094 +vt 0.092105 0.636719 +vt 0.092105 0.652344 +vt 0.092105 0.667969 +vt 0.092105 0.683594 +vt 0.092105 0.511719 +vt 0.092105 0.527344 +vt 0.092105 0.542969 +vt 0.092105 0.558594 +vt 0.092105 0.574219 +vt 0.092105 0.589844 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.5000 0.8660 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.8660 0.5000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.0000 -1.0000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.9701 -0.0000 -0.2425 +vn -0.8402 0.4851 -0.2425 +vn -0.4851 0.8402 -0.2425 +vn 0.0000 0.9701 -0.2425 +vn 0.4851 0.8402 -0.2425 +vn 0.8402 0.4851 -0.2425 +vn 0.9701 0.0000 -0.2425 +vn 0.8402 -0.4851 -0.2425 +vn 0.4851 -0.8402 -0.2425 +vn -0.0000 -0.9701 -0.2425 +vn -0.4851 -0.8402 -0.2425 +vn -0.8402 -0.4851 -0.2425 +vn 0.0000 0.9701 0.2425 +vn -0.4851 0.8402 0.2425 +vn 0.4851 0.8402 0.2425 +vn 0.8402 0.4851 0.2425 +vn 0.9701 -0.0000 0.2425 +vn 0.8402 -0.4851 0.2425 +vn 0.4851 -0.8402 0.2425 +vn -0.0000 -0.9701 0.2425 +vn -0.4851 -0.8402 0.2425 +vn -0.8402 -0.4851 0.2425 +vn -0.9701 -0.0000 0.2425 +vn -0.8402 0.4851 0.2425 +s off +f 493/698/81 516/699/81 504/700/81 +f 504/700/81 515/701/81 503/702/81 +f 503/702/81 514/703/81 502/704/81 +f 502/704/81 513/705/81 501/706/81 +f 501/706/81 512/707/81 500/708/81 +f 499/709/81 512/710/81 511/711/81 +f 499/712/81 510/713/81 498/714/81 +f 498/714/81 509/715/81 497/716/81 +f 497/716/81 508/717/81 496/718/81 +f 496/718/81 507/719/81 495/720/81 +f 494/721/81 507/722/81 506/723/81 +f 493/698/81 506/724/81 505/725/81 +f 527/726/81 517/727/81 521/728/81 +f 549/729/82 547/730/82 543/731/82 +f 533/732/81 535/733/81 537/734/81 +f 661/735/81 684/736/81 672/737/81 +f 672/737/81 683/738/81 671/739/81 +f 671/739/81 682/740/81 670/741/81 +f 670/741/81 681/742/81 669/743/81 +f 669/743/81 680/744/81 668/745/81 +f 667/746/81 680/747/81 679/748/81 +f 667/749/81 678/750/81 666/751/81 +f 666/751/81 677/752/81 665/753/81 +f 665/753/81 676/754/81 664/755/81 +f 664/755/81 675/756/81 663/757/81 +f 662/758/81 675/759/81 674/760/81 +f 661/735/81 674/761/81 673/762/81 +f 695/763/81 685/764/81 689/765/81 +f 805/766/81 828/767/81 816/768/81 +f 816/768/81 827/769/81 815/770/81 +f 815/770/81 826/771/81 814/772/81 +f 814/772/81 825/773/81 813/774/81 +f 812/775/81 825/776/81 824/777/81 +f 811/778/81 824/779/81 823/780/81 +f 811/781/81 822/782/81 810/783/81 +f 810/783/81 821/784/81 809/785/81 +f 809/785/81 820/786/81 808/787/81 +f 808/787/81 819/788/81 807/789/81 +f 807/789/81 818/790/81 806/791/81 +f 805/766/81 818/792/81 817/793/81 +f 839/794/81 829/795/81 833/796/81 +f 949/797/81 972/798/81 960/799/81 +f 960/799/81 971/800/81 959/801/81 +f 959/801/81 970/802/81 958/803/81 +f 957/804/81 970/805/81 969/806/81 +f 957/804/81 968/807/81 956/808/81 +f 955/809/81 968/810/81 967/811/81 +f 955/812/81 966/813/81 954/814/81 +f 954/814/81 965/815/81 953/816/81 +f 953/816/81 964/817/81 952/818/81 +f 952/818/81 963/819/81 951/820/81 +f 950/821/81 963/822/81 962/823/81 +f 949/797/81 962/824/81 961/825/81 +f 977/826/81 981/827/81 973/828/81 +f 1093/829/81 1116/830/81 1104/831/81 +f 1104/831/81 1115/832/81 1103/833/81 +f 1103/833/81 1114/834/81 1102/835/81 +f 1101/836/81 1114/837/81 1113/838/81 +f 1100/839/81 1113/840/81 1112/841/81 +f 1099/842/81 1112/843/81 1111/844/81 +f 1099/845/81 1110/846/81 1098/847/81 +f 1098/847/81 1109/848/81 1097/849/81 +f 1097/849/81 1108/850/81 1096/851/81 +f 1096/851/81 1107/852/81 1095/853/81 +f 1095/853/81 1106/854/81 1094/855/81 +f 1093/829/81 1106/856/81 1105/857/81 +f 1127/858/81 1117/859/81 1121/860/81 +f 1237/861/81 1260/862/81 1248/863/81 +f 1248/863/81 1259/864/81 1247/865/81 +f 1247/865/81 1258/866/81 1246/867/81 +f 1245/868/81 1258/869/81 1257/870/81 +f 1245/868/81 1256/871/81 1244/872/81 +f 1243/873/81 1256/874/81 1255/875/81 +f 1243/876/81 1254/877/81 1242/878/81 +f 1242/878/81 1253/879/81 1241/880/81 +f 1241/880/81 1252/881/81 1240/882/81 +f 1240/882/81 1251/883/81 1239/884/81 +f 1238/885/81 1251/886/81 1250/887/81 +f 1238/885/81 1249/888/81 1237/861/81 +f 1271/889/81 1261/890/81 1265/891/81 +f 493/698/81 505/892/81 516/699/81 +f 504/700/81 516/893/81 515/701/81 +f 503/702/81 515/894/81 514/703/81 +f 502/704/81 514/895/81 513/705/81 +f 501/706/81 513/896/81 512/707/81 +f 499/709/81 500/708/81 512/710/81 +f 499/712/81 511/897/81 510/713/81 +f 498/714/81 510/898/81 509/715/81 +f 497/716/81 509/899/81 508/717/81 +f 496/718/81 508/900/81 507/719/81 +f 494/721/81 495/720/81 507/722/81 +f 493/698/81 494/721/81 506/724/81 +f 517/727/81 518/901/81 519/902/81 +f 519/902/81 520/903/81 517/727/81 +f 520/903/81 521/728/81 517/727/81 +f 521/728/81 522/904/81 523/905/81 +f 523/905/81 524/906/81 525/907/81 +f 525/907/81 526/908/81 527/726/81 +f 527/726/81 528/909/81 517/727/81 +f 521/728/81 523/905/81 525/907/81 +f 525/907/81 527/726/81 521/728/81 +f 543/731/82 542/910/82 541/911/82 +f 541/911/82 552/912/82 551/913/82 +f 551/913/82 550/914/82 549/729/82 +f 549/729/82 548/915/82 547/730/82 +f 547/730/82 546/916/82 545/917/82 +f 545/917/82 544/918/82 547/730/82 +f 544/918/82 543/731/82 547/730/82 +f 543/731/82 541/911/82 551/913/82 +f 551/913/82 549/729/82 543/731/82 +f 529/919/81 530/920/81 531/921/81 +f 531/921/81 532/922/81 533/732/81 +f 533/732/81 534/923/81 535/733/81 +f 535/733/81 536/924/81 537/734/81 +f 537/734/81 538/925/81 529/919/81 +f 538/925/81 539/926/81 529/919/81 +f 539/926/81 540/927/81 529/919/81 +f 529/919/81 531/921/81 537/734/81 +f 531/921/81 533/732/81 537/734/81 +f 661/735/81 673/928/81 684/736/81 +f 672/737/81 684/929/81 683/738/81 +f 671/739/81 683/930/81 682/740/81 +f 670/741/81 682/931/81 681/742/81 +f 669/743/81 681/932/81 680/744/81 +f 667/746/81 668/745/81 680/747/81 +f 667/749/81 679/933/81 678/750/81 +f 666/751/81 678/934/81 677/752/81 +f 665/753/81 677/935/81 676/754/81 +f 664/755/81 676/936/81 675/756/81 +f 662/758/81 663/757/81 675/759/81 +f 661/735/81 662/758/81 674/761/81 +f 685/764/81 686/937/81 687/938/81 +f 687/938/81 688/939/81 685/764/81 +f 688/939/81 689/765/81 685/764/81 +f 689/765/81 690/940/81 691/941/81 +f 691/941/81 692/942/81 693/943/81 +f 693/943/81 694/944/81 695/763/81 +f 695/763/81 696/945/81 685/764/81 +f 689/765/81 691/941/81 693/943/81 +f 693/943/81 695/763/81 689/765/81 +f 805/766/81 817/946/81 828/767/81 +f 816/768/81 828/947/81 827/769/81 +f 815/770/81 827/948/81 826/771/81 +f 814/772/81 826/949/81 825/773/81 +f 812/775/81 813/774/81 825/776/81 +f 811/778/81 812/775/81 824/779/81 +f 811/781/81 823/950/81 822/782/81 +f 810/783/81 822/951/81 821/784/81 +f 809/785/81 821/952/81 820/786/81 +f 808/787/81 820/953/81 819/788/81 +f 807/789/81 819/954/81 818/790/81 +f 805/766/81 806/791/81 818/792/81 +f 829/795/81 830/955/81 831/956/81 +f 831/956/81 832/957/81 829/795/81 +f 832/957/81 833/796/81 829/795/81 +f 833/796/81 834/958/81 835/959/81 +f 835/959/81 836/960/81 837/961/81 +f 837/961/81 838/962/81 839/794/81 +f 839/794/81 840/963/81 829/795/81 +f 833/796/81 835/959/81 837/961/81 +f 837/961/81 839/794/81 833/796/81 +f 949/797/81 961/964/81 972/798/81 +f 960/799/81 972/965/81 971/800/81 +f 959/801/81 971/966/81 970/802/81 +f 957/804/81 958/803/81 970/805/81 +f 957/804/81 969/967/81 968/807/81 +f 955/809/81 956/808/81 968/810/81 +f 955/812/81 967/968/81 966/813/81 +f 954/814/81 966/969/81 965/815/81 +f 953/816/81 965/970/81 964/817/81 +f 952/818/81 964/971/81 963/819/81 +f 950/821/81 951/820/81 963/822/81 +f 949/797/81 950/821/81 962/824/81 +f 973/828/81 974/972/81 977/826/81 +f 974/972/81 975/973/81 977/826/81 +f 975/973/81 976/974/81 977/826/81 +f 977/826/81 978/975/81 979/976/81 +f 979/976/81 980/977/81 981/827/81 +f 981/827/81 982/978/81 983/979/81 +f 983/979/81 984/980/81 973/828/81 +f 977/826/81 979/976/81 981/827/81 +f 981/827/81 983/979/81 973/828/81 +f 1093/829/81 1105/981/81 1116/830/81 +f 1104/831/81 1116/982/81 1115/832/81 +f 1103/833/81 1115/983/81 1114/834/81 +f 1101/836/81 1102/835/81 1114/837/81 +f 1100/839/81 1101/836/81 1113/840/81 +f 1099/842/81 1100/839/81 1112/843/81 +f 1099/845/81 1111/984/81 1110/846/81 +f 1098/847/81 1110/985/81 1109/848/81 +f 1097/849/81 1109/986/81 1108/850/81 +f 1096/851/81 1108/987/81 1107/852/81 +f 1095/853/81 1107/988/81 1106/854/81 +f 1093/829/81 1094/855/81 1106/856/81 +f 1117/859/81 1118/989/81 1121/860/81 +f 1118/989/81 1119/990/81 1121/860/81 +f 1119/990/81 1120/991/81 1121/860/81 +f 1121/860/81 1122/992/81 1123/993/81 +f 1123/993/81 1124/994/81 1125/995/81 +f 1125/995/81 1126/996/81 1127/858/81 +f 1127/858/81 1128/997/81 1117/859/81 +f 1121/860/81 1123/993/81 1125/995/81 +f 1125/995/81 1127/858/81 1121/860/81 +f 1237/861/81 1249/998/81 1260/862/81 +f 1248/863/81 1260/999/81 1259/864/81 +f 1247/865/81 1259/1000/81 1258/866/81 +f 1245/868/81 1246/867/81 1258/869/81 +f 1245/868/81 1257/1001/81 1256/871/81 +f 1243/873/81 1244/872/81 1256/874/81 +f 1243/876/81 1255/1002/81 1254/877/81 +f 1242/878/81 1254/1003/81 1253/879/81 +f 1241/880/81 1253/1004/81 1252/881/81 +f 1240/882/81 1252/1005/81 1251/883/81 +f 1238/885/81 1239/884/81 1251/886/81 +f 1238/885/81 1250/1006/81 1249/888/81 +f 1261/890/81 1262/1007/81 1265/891/81 +f 1262/1007/81 1263/1008/81 1265/891/81 +f 1263/1008/81 1264/1009/81 1265/891/81 +f 1265/891/81 1266/1010/81 1267/1011/81 +f 1267/1011/81 1268/1012/81 1269/1013/81 +f 1269/1013/81 1270/1014/81 1271/889/81 +f 1271/889/81 1272/1015/81 1261/890/81 +f 1265/891/81 1267/1011/81 1269/1013/81 +f 1269/1013/81 1271/889/81 1265/891/81 +s 1 +f 386/1016/83 397/1017/84 385/1018/84 +f 387/1019/85 398/1020/83 386/1016/83 +f 388/1021/86 399/1022/85 387/1019/85 +f 389/1023/87 400/1024/86 388/1021/86 +f 390/1025/88 401/1026/87 389/1023/87 +f 391/1027/89 402/1028/88 390/1025/88 +f 392/1029/90 403/1030/89 391/1031/89 +f 393/1032/91 404/1033/90 392/1029/90 +f 394/1034/92 405/1035/91 393/1032/91 +f 395/1036/93 406/1037/92 394/1034/92 +f 396/1038/94 407/1039/93 395/1036/93 +f 385/1018/84 408/1040/94 396/1038/94 +f 400/1024/95 411/1041/96 399/1022/96 +f 399/1022/96 410/1042/97 398/1020/97 +f 398/1020/97 409/1043/98 397/1017/98 +f 408/1040/99 409/1043/98 420/1044/99 +f 407/1039/100 420/1044/99 419/1045/100 +f 406/1037/101 419/1045/100 418/1046/101 +f 405/1035/102 418/1046/101 417/1047/102 +f 404/1033/103 417/1047/102 416/1048/103 +f 403/1030/104 416/1048/103 415/1049/104 +f 403/1050/104 414/1051/105 402/1028/105 +f 401/1026/106 414/1051/105 413/1052/106 +f 401/1026/106 412/1053/95 400/1024/95 +f 410/1042/83 421/1054/84 409/1043/84 +f 411/1041/85 422/1055/83 410/1042/83 +f 412/1053/86 423/1056/85 411/1041/85 +f 413/1052/87 424/1057/86 412/1053/86 +f 414/1051/88 425/1058/87 413/1052/87 +f 415/1059/89 426/1060/88 414/1051/88 +f 416/1048/90 427/1061/89 415/1049/89 +f 417/1047/91 428/1062/90 416/1048/90 +f 418/1046/92 429/1063/91 417/1047/91 +f 419/1045/93 430/1064/92 418/1046/92 +f 420/1044/94 431/1065/93 419/1045/93 +f 409/1043/84 432/1066/94 420/1044/94 +f 421/1054/107 434/1067/108 433/1068/107 +f 421/1054/107 444/1069/109 432/1066/109 +f 432/1066/109 443/1070/110 431/1065/110 +f 431/1065/110 442/1071/111 430/1064/111 +f 430/1064/111 441/1072/112 429/1063/112 +f 429/1063/112 440/1073/113 428/1062/113 +f 428/1062/113 439/1074/114 427/1061/114 +f 426/1060/115 439/1075/114 438/1076/115 +f 426/1060/115 437/1077/116 425/1058/116 +f 424/1057/117 437/1077/116 436/1078/117 +f 423/1056/118 436/1078/117 435/1079/118 +f 422/1055/108 435/1079/118 434/1067/108 +f 434/1067/83 445/1080/84 433/1068/84 +f 435/1079/85 446/1081/83 434/1067/83 +f 436/1078/86 447/1082/85 435/1079/85 +f 437/1077/87 448/1083/86 436/1078/86 +f 438/1076/88 449/1084/87 437/1077/87 +f 439/1075/89 450/1085/88 438/1076/88 +f 440/1073/90 451/1086/89 439/1074/89 +f 441/1072/91 452/1087/90 440/1073/90 +f 442/1071/92 453/1088/91 441/1072/91 +f 443/1070/93 454/1089/92 442/1071/92 +f 444/1069/94 455/1090/93 443/1070/93 +f 433/1068/84 456/1091/94 444/1069/94 +f 454/1089/101 467/1092/100 466/1093/101 +f 455/1090/100 468/1094/99 467/1092/100 +f 445/1080/98 468/1094/99 456/1091/99 +f 446/1081/97 457/1095/98 445/1080/98 +f 447/1082/96 458/1096/97 446/1081/97 +f 448/1083/95 459/1097/96 447/1082/96 +f 448/1083/95 461/1098/106 460/1099/95 +f 450/1085/105 461/1098/106 449/1084/106 +f 451/1100/104 462/1101/105 450/1085/105 +f 452/1087/103 463/1102/104 451/1086/104 +f 452/1087/103 465/1103/102 464/1104/103 +f 453/1088/102 466/1093/101 465/1103/102 +f 458/1096/83 469/1105/84 457/1095/84 +f 459/1097/85 470/1106/83 458/1096/83 +f 460/1099/86 471/1107/85 459/1097/85 +f 461/1098/87 472/1108/86 460/1099/86 +f 462/1101/88 473/1109/87 461/1098/87 +f 463/1110/89 474/1111/88 462/1101/88 +f 464/1104/90 475/1112/89 463/1102/89 +f 465/1103/91 476/1113/90 464/1104/90 +f 466/1093/92 477/1114/91 465/1103/91 +f 467/1092/93 478/1115/92 466/1093/92 +f 468/1094/94 479/1116/93 467/1092/93 +f 457/1095/84 480/1117/94 468/1094/94 +f 480/1117/109 481/1118/107 492/1119/109 +f 470/1106/108 481/1118/107 469/1105/107 +f 471/1107/118 482/1120/108 470/1106/108 +f 471/1107/118 484/1121/117 483/1122/118 +f 473/1109/116 484/1121/117 472/1108/117 +f 473/1109/116 486/1123/115 485/1124/116 +f 475/1125/114 486/1123/115 474/1111/115 +f 475/1112/114 488/1126/113 487/1127/114 +f 477/1114/112 488/1126/113 476/1113/113 +f 478/1115/111 489/1128/112 477/1114/112 +f 479/1116/110 490/1129/111 478/1115/111 +f 479/1116/110 492/1119/109 491/1130/110 +f 482/1120/83 493/698/84 481/1118/84 +f 483/1122/85 494/721/83 482/1120/83 +f 484/1121/86 495/720/85 483/1122/85 +f 485/1124/87 496/718/86 484/1121/86 +f 486/1123/88 497/716/87 485/1124/87 +f 487/1131/89 498/714/88 486/1123/88 +f 488/1126/90 499/709/89 487/1127/89 +f 489/1128/91 500/708/90 488/1126/90 +f 490/1129/92 501/706/91 489/1128/91 +f 491/1130/93 502/704/92 490/1129/92 +f 492/1119/94 503/702/93 491/1130/93 +f 481/1118/84 504/700/94 492/1119/94 +f 506/724/90 517/1132/89 505/725/89 +f 507/722/91 518/1133/90 506/723/90 +f 508/900/92 519/1134/91 507/719/91 +f 509/899/93 520/1135/92 508/717/92 +f 510/898/94 521/1136/93 509/715/93 +f 511/897/84 522/1137/94 510/713/94 +f 512/710/83 523/1138/84 511/711/84 +f 513/896/85 524/1139/83 512/707/83 +f 514/895/86 525/1140/85 513/705/85 +f 515/894/87 526/1141/86 514/703/86 +f 516/893/88 527/1142/87 515/701/87 +f 505/892/89 528/1143/88 516/699/88 +f 543/1144/85 532/1145/86 531/1146/85 +f 550/1147/92 539/1148/93 538/1149/92 +f 547/1150/89 536/1151/90 535/1152/89 +f 544/1153/86 533/1154/87 532/1145/86 +f 551/1155/93 540/1156/94 539/1148/93 +f 541/1157/84 530/1158/83 529/1159/84 +f 548/1160/90 537/1161/91 536/1151/90 +f 545/1162/87 534/1163/88 533/1154/87 +f 552/1164/94 529/1159/84 540/1156/94 +f 542/1165/83 531/1146/85 530/1158/83 +f 549/1166/91 538/1149/92 537/1161/91 +f 546/1167/88 535/1168/89 534/1163/88 +f 555/1169/91 566/1170/90 554/1171/90 +f 554/1171/90 565/1172/89 553/1173/89 +f 556/1174/92 567/1175/91 555/1169/91 +f 557/1176/93 568/1177/92 556/1174/92 +f 558/1178/94 569/1179/93 557/1176/93 +f 559/1180/84 570/1181/94 558/1178/94 +f 560/1182/83 571/1183/84 559/1184/84 +f 561/1185/85 572/1186/83 560/1182/83 +f 562/1187/86 573/1188/85 561/1185/85 +f 563/1189/87 574/1190/86 562/1187/86 +f 564/1191/88 575/1192/87 563/1189/87 +f 553/1173/89 576/1193/88 564/1191/88 +f 568/1177/101 579/1194/102 567/1175/102 +f 567/1175/102 578/1195/103 566/1170/103 +f 566/1170/103 577/1196/104 565/1172/104 +f 576/1193/105 577/1196/104 588/1197/105 +f 575/1192/106 588/1197/105 587/1198/106 +f 574/1190/95 587/1198/106 586/1199/95 +f 574/1190/95 585/1200/96 573/1188/96 +f 572/1186/97 585/1200/96 584/1201/97 +f 571/1183/98 584/1201/97 583/1202/98 +f 571/1203/98 582/1204/99 570/1181/99 +f 569/1179/100 582/1204/99 581/1205/100 +f 569/1179/100 580/1206/101 568/1177/101 +f 578/1195/90 589/1207/89 577/1196/89 +f 579/1194/91 590/1208/90 578/1195/90 +f 580/1206/92 591/1209/91 579/1194/91 +f 581/1205/93 592/1210/92 580/1206/92 +f 582/1204/94 593/1211/93 581/1205/93 +f 583/1212/84 594/1213/94 582/1204/94 +f 584/1201/83 595/1214/84 583/1202/84 +f 585/1200/85 596/1215/83 584/1201/83 +f 586/1199/86 597/1216/85 585/1200/85 +f 587/1198/87 598/1217/86 586/1199/86 +f 588/1197/88 599/1218/87 587/1198/87 +f 577/1196/89 600/1219/88 588/1197/88 +f 589/1207/114 602/1220/113 601/1221/114 +f 589/1207/114 612/1222/115 600/1219/115 +f 600/1219/115 611/1223/116 599/1218/116 +f 599/1218/116 610/1224/117 598/1217/117 +f 598/1217/117 609/1225/118 597/1216/118 +f 597/1216/118 608/1226/108 596/1215/108 +f 596/1215/108 607/1227/107 595/1214/107 +f 594/1213/109 607/1228/107 606/1229/109 +f 594/1213/109 605/1230/110 593/1211/110 +f 592/1210/111 605/1230/110 604/1231/111 +f 591/1209/112 604/1231/111 603/1232/112 +f 590/1208/113 603/1232/112 602/1220/113 +f 602/1220/90 613/1233/89 601/1221/89 +f 603/1232/91 614/1234/90 602/1220/90 +f 604/1231/92 615/1235/91 603/1232/91 +f 605/1230/93 616/1236/92 604/1231/92 +f 606/1229/94 617/1237/93 605/1230/93 +f 607/1228/84 618/1238/94 606/1229/94 +f 608/1226/83 619/1239/84 607/1227/84 +f 609/1225/85 620/1240/83 608/1226/83 +f 610/1224/86 621/1241/85 609/1225/85 +f 611/1223/87 622/1242/86 610/1224/86 +f 612/1222/88 623/1243/87 611/1223/87 +f 601/1221/89 624/1244/88 612/1222/88 +f 622/1242/95 635/1245/106 634/1246/95 +f 623/1243/106 636/1247/105 635/1245/106 +f 624/1244/105 625/1248/104 636/1247/105 +f 613/1233/104 626/1249/103 625/1248/104 +f 614/1234/103 627/1250/102 626/1249/103 +f 616/1236/101 627/1250/102 615/1235/102 +f 617/1237/100 628/1251/101 616/1236/101 +f 618/1238/99 629/1252/100 617/1237/100 +f 619/1253/98 630/1254/99 618/1238/99 +f 620/1240/97 631/1255/98 619/1239/98 +f 620/1240/97 633/1256/96 632/1257/97 +f 621/1241/96 634/1246/95 633/1256/96 +f 626/1249/90 637/1258/89 625/1248/89 +f 627/1250/91 638/1259/90 626/1249/90 +f 628/1251/92 639/1260/91 627/1250/91 +f 629/1252/93 640/1261/92 628/1251/92 +f 630/1254/94 641/1262/93 629/1252/93 +f 631/1263/84 642/1264/94 630/1254/94 +f 632/1257/83 643/1265/84 631/1255/84 +f 633/1256/85 644/1266/83 632/1257/83 +f 634/1246/86 645/1267/85 633/1256/85 +f 635/1245/87 646/1268/86 634/1246/86 +f 636/1247/88 647/1269/87 635/1245/87 +f 625/1248/89 648/1270/88 636/1247/88 +f 648/1270/115 649/1271/114 660/1272/115 +f 638/1259/113 649/1271/114 637/1258/114 +f 639/1260/112 650/1273/113 638/1259/113 +f 639/1260/112 652/1274/111 651/1275/112 +f 641/1262/110 652/1274/111 640/1261/111 +f 641/1262/110 654/1276/109 653/1277/110 +f 643/1278/107 654/1276/109 642/1264/109 +f 644/1266/108 655/1279/107 643/1265/107 +f 645/1267/118 656/1280/108 644/1266/108 +f 646/1268/117 657/1281/118 645/1267/118 +f 647/1269/116 658/1282/117 646/1268/117 +f 648/1270/115 659/1283/116 647/1269/116 +f 650/1273/90 661/735/89 649/1271/89 +f 651/1275/91 662/758/90 650/1273/90 +f 652/1274/92 663/757/91 651/1275/91 +f 653/1277/93 664/755/92 652/1274/92 +f 654/1276/94 665/753/93 653/1277/93 +f 655/1284/84 666/751/94 654/1276/94 +f 656/1280/83 667/746/84 655/1279/84 +f 657/1281/85 668/745/83 656/1280/83 +f 658/1282/86 669/743/85 657/1281/85 +f 659/1283/87 670/741/86 658/1282/86 +f 660/1272/88 671/739/87 659/1283/87 +f 649/1271/89 672/737/88 660/1272/88 +f 674/761/83 685/1285/84 673/762/84 +f 675/759/85 686/1286/83 674/760/83 +f 676/936/86 687/1287/85 675/756/85 +f 677/935/87 688/1288/86 676/754/86 +f 678/934/88 689/1289/87 677/752/87 +f 679/933/89 690/1290/88 678/750/88 +f 680/747/90 691/1291/89 679/748/89 +f 681/932/91 692/1292/90 680/744/90 +f 682/931/92 693/1293/91 681/742/91 +f 683/930/93 694/1294/92 682/740/92 +f 684/929/94 695/1295/93 683/738/93 +f 673/928/84 696/1296/94 684/736/94 +f 698/1297/94 709/1298/93 697/1299/93 +f 699/1300/84 710/1301/94 698/1297/94 +f 700/1302/83 711/1303/84 699/1300/84 +f 701/1304/85 712/1305/83 700/1302/83 +f 702/1306/86 713/1307/85 701/1304/85 +f 703/1308/87 714/1309/86 702/1306/86 +f 704/1310/88 715/1311/87 703/1312/87 +f 705/1313/89 716/1314/88 704/1310/88 +f 706/1315/90 717/1316/89 705/1313/89 +f 707/1317/91 718/1318/90 706/1315/90 +f 708/1319/92 719/1320/91 707/1317/91 +f 697/1299/93 720/1321/92 708/1319/92 +f 712/1305/97 723/1322/98 711/1303/98 +f 711/1303/98 722/1323/99 710/1301/99 +f 710/1301/99 721/1324/100 709/1298/100 +f 720/1321/101 721/1324/100 732/1325/101 +f 719/1320/102 732/1325/101 731/1326/102 +f 718/1318/103 731/1326/102 730/1327/103 +f 717/1316/104 730/1327/103 729/1328/104 +f 716/1314/105 729/1328/104 728/1329/105 +f 715/1311/106 728/1329/105 727/1330/106 +f 715/1331/106 726/1332/95 714/1309/95 +f 714/1309/95 725/1333/96 713/1307/96 +f 713/1307/96 724/1334/97 712/1305/97 +f 722/1323/94 733/1335/93 721/1324/93 +f 723/1322/84 734/1336/94 722/1323/94 +f 724/1334/83 735/1337/84 723/1322/84 +f 725/1333/85 736/1338/83 724/1334/83 +f 726/1332/86 737/1339/85 725/1333/85 +f 727/1340/87 738/1341/86 726/1332/86 +f 728/1329/88 739/1342/87 727/1330/87 +f 729/1328/89 740/1343/88 728/1329/88 +f 730/1327/90 741/1344/89 729/1328/89 +f 731/1326/91 742/1345/90 730/1327/90 +f 732/1325/92 743/1346/91 731/1326/91 +f 721/1324/93 744/1347/92 732/1325/92 +f 733/1335/110 746/1348/109 745/1349/110 +f 733/1335/110 756/1350/111 744/1347/111 +f 744/1347/111 755/1351/112 743/1346/112 +f 743/1346/112 754/1352/113 742/1345/113 +f 742/1345/113 753/1353/114 741/1344/114 +f 741/1344/114 752/1354/115 740/1343/115 +f 740/1343/115 751/1355/116 739/1342/116 +f 738/1341/117 751/1356/116 750/1357/117 +f 738/1341/117 749/1358/118 737/1339/118 +f 736/1338/108 749/1358/118 748/1359/108 +f 735/1337/107 748/1359/108 747/1360/107 +f 734/1336/109 747/1360/107 746/1348/109 +f 746/1348/94 757/1361/93 745/1349/93 +f 747/1360/84 758/1362/94 746/1348/94 +f 748/1359/83 759/1363/84 747/1360/84 +f 749/1358/85 760/1364/83 748/1359/83 +f 750/1357/86 761/1365/85 749/1358/85 +f 751/1356/87 762/1366/86 750/1357/86 +f 752/1354/88 763/1367/87 751/1355/87 +f 753/1353/89 764/1368/88 752/1354/88 +f 754/1352/90 765/1369/89 753/1353/89 +f 755/1351/91 766/1370/90 754/1352/90 +f 756/1350/92 767/1371/91 755/1351/91 +f 745/1349/93 768/1372/92 756/1350/92 +f 767/1371/102 778/1373/103 766/1370/103 +f 767/1371/102 780/1374/101 779/1375/102 +f 757/1361/100 780/1374/101 768/1372/101 +f 758/1362/99 769/1376/100 757/1361/100 +f 759/1363/98 770/1377/99 758/1362/99 +f 760/1364/97 771/1378/98 759/1363/98 +f 761/1365/96 772/1379/97 760/1364/97 +f 761/1365/96 774/1380/95 773/1381/96 +f 763/1382/106 774/1380/95 762/1366/95 +f 764/1368/105 775/1383/106 763/1367/106 +f 764/1368/105 777/1384/104 776/1385/105 +f 766/1370/103 777/1384/104 765/1369/104 +f 770/1377/94 781/1386/93 769/1376/93 +f 771/1378/84 782/1387/94 770/1377/94 +f 772/1379/83 783/1388/84 771/1378/84 +f 773/1381/85 784/1389/83 772/1379/83 +f 774/1380/86 785/1390/85 773/1381/85 +f 775/1391/87 786/1392/86 774/1380/86 +f 776/1385/88 787/1393/87 775/1383/87 +f 777/1384/89 788/1394/88 776/1385/88 +f 778/1373/90 789/1395/89 777/1384/89 +f 779/1375/91 790/1396/90 778/1373/90 +f 780/1374/92 791/1397/91 779/1375/91 +f 769/1376/93 792/1398/92 780/1374/92 +f 792/1398/111 793/1399/110 804/1400/111 +f 782/1387/109 793/1399/110 781/1386/110 +f 782/1387/109 795/1401/107 794/1402/109 +f 784/1389/108 795/1401/107 783/1388/107 +f 784/1389/108 797/1403/118 796/1404/108 +f 786/1392/117 797/1403/118 785/1390/118 +f 786/1392/117 799/1405/116 798/1406/117 +f 787/1393/116 800/1407/115 799/1408/116 +f 789/1395/114 800/1407/115 788/1394/115 +f 789/1395/114 802/1409/113 801/1410/114 +f 790/1396/113 803/1411/112 802/1409/113 +f 792/1398/111 803/1411/112 791/1397/112 +f 794/1402/94 805/766/93 793/1399/93 +f 795/1401/84 806/791/94 794/1402/94 +f 796/1404/83 807/789/84 795/1401/84 +f 797/1403/85 808/787/83 796/1404/83 +f 798/1406/86 809/785/85 797/1403/85 +f 799/1405/87 810/783/86 798/1406/86 +f 800/1407/88 811/778/87 799/1408/87 +f 801/1410/89 812/775/88 800/1407/88 +f 802/1409/90 813/774/89 801/1410/89 +f 803/1411/91 814/772/90 802/1409/90 +f 804/1400/92 815/770/91 803/1411/91 +f 793/1399/93 816/768/92 804/1400/92 +f 818/792/88 829/1412/87 817/793/87 +f 819/954/89 830/1413/88 818/790/88 +f 820/953/90 831/1414/89 819/788/89 +f 821/952/91 832/1415/90 820/786/90 +f 822/951/92 833/1416/91 821/784/91 +f 823/950/93 834/1417/92 822/782/92 +f 824/779/94 835/1418/93 823/780/93 +f 825/776/84 836/1419/94 824/777/94 +f 826/949/83 837/1420/84 825/773/84 +f 827/948/85 838/1421/83 826/771/83 +f 828/947/86 839/1422/85 827/769/85 +f 817/946/87 840/1423/86 828/767/86 +f 843/1424/89 854/1425/88 842/1426/88 +f 842/1426/88 853/1427/87 841/1428/87 +f 844/1429/90 855/1430/89 843/1424/89 +f 845/1431/91 856/1432/90 844/1429/90 +f 846/1433/92 857/1434/91 845/1431/91 +f 847/1435/93 858/1436/92 846/1433/92 +f 848/1437/94 859/1438/93 847/1439/93 +f 849/1440/84 860/1441/94 848/1437/94 +f 850/1442/83 861/1443/84 849/1440/84 +f 851/1444/85 862/1445/83 850/1442/83 +f 852/1446/86 863/1447/85 851/1444/85 +f 841/1428/87 864/1448/86 852/1446/86 +f 856/1432/103 867/1449/104 855/1430/104 +f 855/1430/104 866/1450/105 854/1425/105 +f 854/1425/105 865/1451/106 853/1427/106 +f 853/1427/106 876/1452/95 864/1448/95 +f 863/1447/96 876/1452/95 875/1453/96 +f 863/1447/96 874/1454/97 862/1445/97 +f 862/1445/97 873/1455/98 861/1443/98 +f 860/1441/99 873/1455/98 872/1456/99 +f 860/1441/99 871/1457/100 859/1438/100 +f 859/1458/100 870/1459/101 858/1436/101 +f 857/1434/102 870/1459/101 869/1460/102 +f 857/1434/102 868/1461/103 856/1432/103 +f 866/1450/88 877/1462/87 865/1451/87 +f 867/1449/89 878/1463/88 866/1450/88 +f 868/1461/90 879/1464/89 867/1449/89 +f 869/1460/91 880/1465/90 868/1461/90 +f 870/1459/92 881/1466/91 869/1460/91 +f 871/1467/93 882/1468/92 870/1459/92 +f 872/1456/94 883/1469/93 871/1457/93 +f 873/1455/84 884/1470/94 872/1456/94 +f 874/1454/83 885/1471/84 873/1455/84 +f 875/1453/85 886/1472/83 874/1454/83 +f 876/1452/86 887/1473/85 875/1453/85 +f 865/1451/87 888/1474/86 876/1452/86 +f 877/1462/116 890/1475/115 889/1476/116 +f 877/1462/116 900/1477/117 888/1474/117 +f 888/1474/117 899/1478/118 887/1473/118 +f 887/1473/118 898/1479/108 886/1472/108 +f 886/1472/108 897/1480/107 885/1471/107 +f 885/1471/107 896/1481/109 884/1470/109 +f 884/1470/109 895/1482/110 883/1469/110 +f 883/1483/110 894/1484/111 882/1468/111 +f 882/1468/111 893/1485/112 881/1466/112 +f 880/1465/113 893/1485/112 892/1486/113 +f 879/1464/114 892/1486/113 891/1487/114 +f 878/1463/115 891/1487/114 890/1475/115 +f 890/1475/88 901/1488/87 889/1476/87 +f 891/1487/89 902/1489/88 890/1475/88 +f 892/1486/90 903/1490/89 891/1487/89 +f 893/1485/91 904/1491/90 892/1486/90 +f 894/1484/92 905/1492/91 893/1485/91 +f 895/1493/93 906/1494/92 894/1484/92 +f 896/1481/94 907/1495/93 895/1482/93 +f 897/1480/84 908/1496/94 896/1481/94 +f 898/1479/83 909/1497/84 897/1480/84 +f 899/1478/85 910/1498/83 898/1479/83 +f 900/1477/86 911/1499/85 899/1478/85 +f 889/1476/87 912/1500/86 900/1477/86 +f 911/1499/96 922/1501/97 910/1498/97 +f 911/1499/96 924/1502/95 923/1503/96 +f 901/1488/106 924/1502/95 912/1500/95 +f 902/1489/105 913/1504/106 901/1488/106 +f 903/1490/104 914/1505/105 902/1489/105 +f 903/1490/104 916/1506/103 915/1507/104 +f 905/1492/102 916/1506/103 904/1491/103 +f 905/1492/102 918/1508/101 917/1509/102 +f 907/1510/100 918/1508/101 906/1494/101 +f 908/1496/99 919/1511/100 907/1495/100 +f 908/1496/99 921/1512/98 920/1513/99 +f 910/1498/97 921/1512/98 909/1497/98 +f 914/1505/88 925/1514/87 913/1504/87 +f 915/1507/89 926/1515/88 914/1505/88 +f 916/1506/90 927/1516/89 915/1507/89 +f 917/1509/91 928/1517/90 916/1506/90 +f 918/1508/92 929/1518/91 917/1509/91 +f 919/1519/93 930/1520/92 918/1508/92 +f 920/1513/94 931/1521/93 919/1511/93 +f 921/1512/84 932/1522/94 920/1513/94 +f 922/1501/83 933/1523/84 921/1512/84 +f 923/1503/85 934/1524/83 922/1501/83 +f 924/1502/86 935/1525/85 923/1503/85 +f 913/1504/87 936/1526/86 924/1502/86 +f 936/1526/117 937/1527/116 948/1528/117 +f 925/1514/116 938/1529/115 937/1527/116 +f 926/1515/115 939/1530/114 938/1529/115 +f 928/1517/113 939/1530/114 927/1516/114 +f 928/1517/113 941/1531/112 940/1532/113 +f 930/1520/111 941/1531/112 929/1518/112 +f 930/1520/111 943/1533/110 942/1534/111 +f 931/1521/110 944/1535/109 943/1536/110 +f 933/1523/107 944/1535/109 932/1522/109 +f 933/1523/107 946/1537/108 945/1538/107 +f 935/1525/118 946/1537/108 934/1524/108 +f 936/1526/117 947/1539/118 935/1525/118 +f 938/1529/88 949/797/87 937/1527/87 +f 939/1530/89 950/821/88 938/1529/88 +f 940/1532/90 951/820/89 939/1530/89 +f 941/1531/91 952/818/90 940/1532/90 +f 942/1534/92 953/816/91 941/1531/91 +f 943/1533/93 954/814/92 942/1534/92 +f 944/1535/94 955/809/93 943/1536/93 +f 945/1538/84 956/808/94 944/1535/94 +f 946/1537/83 957/804/84 945/1538/84 +f 947/1539/85 958/803/83 946/1537/83 +f 948/1528/86 959/801/85 947/1539/85 +f 937/1527/87 960/799/86 948/1528/86 +f 962/824/94 973/1540/93 961/825/93 +f 963/822/84 974/1541/94 962/823/94 +f 964/971/83 975/1542/84 963/819/84 +f 965/970/85 976/1543/83 964/817/83 +f 966/969/86 977/1544/85 965/815/85 +f 967/968/87 978/1545/86 966/813/86 +f 968/810/88 979/1546/87 967/811/87 +f 969/967/89 980/1547/88 968/807/88 +f 970/805/90 981/1548/89 969/806/89 +f 971/966/91 982/1549/90 970/802/90 +f 972/965/92 983/1550/91 971/800/91 +f 961/964/93 984/1551/92 972/798/92 +f 986/1552/92 997/1553/91 985/1554/91 +f 987/1555/93 998/1556/92 986/1552/92 +f 988/1557/94 999/1558/93 987/1555/93 +f 989/1559/84 1000/1560/94 988/1557/94 +f 990/1561/83 1001/1562/84 989/1559/84 +f 991/1563/85 1002/1564/83 990/1561/83 +f 992/1565/86 1003/1566/85 991/1567/85 +f 993/1568/87 1004/1569/86 992/1565/86 +f 994/1570/88 1005/1571/87 993/1568/87 +f 995/1572/89 1006/1573/88 994/1570/88 +f 996/1574/90 1007/1575/89 995/1572/89 +f 985/1554/91 1008/1576/90 996/1574/90 +f 1000/1560/99 1011/1577/100 999/1558/100 +f 999/1558/100 1010/1578/101 998/1556/101 +f 997/1553/102 1010/1578/101 1009/1579/102 +f 997/1553/102 1020/1580/103 1008/1576/103 +f 1007/1575/104 1020/1580/103 1019/1581/104 +f 1007/1575/104 1018/1582/105 1006/1573/105 +f 1006/1573/105 1017/1583/106 1005/1571/106 +f 1004/1569/95 1017/1583/106 1016/1584/95 +f 1003/1566/96 1016/1584/95 1015/1585/96 +f 1002/1564/97 1015/1586/96 1014/1587/97 +f 1002/1564/97 1013/1588/98 1001/1562/98 +f 1001/1562/98 1012/1589/99 1000/1560/99 +f 1010/1578/92 1021/1590/91 1009/1579/91 +f 1011/1577/93 1022/1591/92 1010/1578/92 +f 1012/1589/94 1023/1592/93 1011/1577/93 +f 1013/1588/84 1024/1593/94 1012/1589/94 +f 1014/1587/83 1025/1594/84 1013/1588/84 +f 1015/1586/85 1026/1595/83 1014/1587/83 +f 1016/1584/86 1027/1596/85 1015/1585/85 +f 1017/1583/87 1028/1597/86 1016/1584/86 +f 1018/1582/88 1029/1598/87 1017/1583/87 +f 1019/1581/89 1030/1599/88 1018/1582/88 +f 1020/1580/90 1031/1600/89 1019/1581/89 +f 1009/1579/91 1032/1601/90 1020/1580/90 +f 1022/1591/111 1033/1602/112 1021/1590/112 +f 1021/1590/112 1044/1603/113 1032/1601/113 +f 1032/1601/113 1043/1604/114 1031/1600/114 +f 1031/1600/114 1042/1605/115 1030/1599/115 +f 1030/1599/115 1041/1606/116 1029/1598/116 +f 1029/1598/116 1040/1607/117 1028/1597/117 +f 1028/1597/117 1039/1608/118 1027/1596/118 +f 1027/1609/118 1038/1610/108 1026/1595/108 +f 1025/1594/107 1038/1610/108 1037/1611/107 +f 1024/1593/109 1037/1611/107 1036/1612/109 +f 1023/1592/110 1036/1612/109 1035/1613/110 +f 1022/1591/111 1035/1613/110 1034/1614/111 +f 1034/1614/92 1045/1615/91 1033/1602/91 +f 1035/1613/93 1046/1616/92 1034/1614/92 +f 1036/1612/94 1047/1617/93 1035/1613/93 +f 1037/1611/84 1048/1618/94 1036/1612/94 +f 1038/1610/83 1049/1619/84 1037/1611/84 +f 1039/1620/85 1050/1621/83 1038/1610/83 +f 1040/1607/86 1051/1622/85 1039/1608/85 +f 1041/1606/87 1052/1623/86 1040/1607/86 +f 1042/1605/88 1053/1624/87 1041/1606/87 +f 1043/1604/89 1054/1625/88 1042/1605/88 +f 1044/1603/90 1055/1626/89 1043/1604/89 +f 1033/1602/91 1056/1627/90 1044/1603/90 +f 1054/1625/105 1067/1628/104 1066/1629/105 +f 1055/1626/104 1068/1630/103 1067/1628/104 +f 1045/1615/102 1068/1630/103 1056/1627/103 +f 1046/1616/101 1057/1631/102 1045/1615/102 +f 1047/1617/100 1058/1632/101 1046/1616/101 +f 1048/1618/99 1059/1633/100 1047/1617/100 +f 1049/1619/98 1060/1634/99 1048/1618/99 +f 1049/1619/98 1062/1635/97 1061/1636/98 +f 1051/1637/96 1062/1635/97 1050/1621/97 +f 1052/1623/95 1063/1638/96 1051/1622/96 +f 1052/1623/95 1065/1639/106 1064/1640/95 +f 1054/1625/105 1065/1639/106 1053/1624/106 +f 1058/1632/92 1069/1641/91 1057/1631/91 +f 1059/1633/93 1070/1642/92 1058/1632/92 +f 1060/1634/94 1071/1643/93 1059/1633/93 +f 1061/1636/84 1072/1644/94 1060/1634/94 +f 1062/1635/83 1073/1645/84 1061/1636/84 +f 1063/1646/85 1074/1647/83 1062/1635/83 +f 1064/1640/86 1075/1648/85 1063/1638/85 +f 1065/1639/87 1076/1649/86 1064/1640/86 +f 1066/1629/88 1077/1650/87 1065/1639/87 +f 1067/1628/89 1078/1651/88 1066/1629/88 +f 1068/1630/90 1079/1652/89 1067/1628/89 +f 1057/1631/91 1080/1653/90 1068/1630/90 +f 1080/1653/113 1081/1654/112 1092/1655/113 +f 1069/1641/112 1082/1656/111 1081/1654/112 +f 1070/1642/111 1083/1657/110 1082/1656/111 +f 1072/1644/109 1083/1657/110 1071/1643/110 +f 1073/1645/107 1084/1658/109 1072/1644/109 +f 1073/1645/107 1086/1659/108 1085/1660/107 +f 1074/1647/108 1087/1661/118 1086/1659/108 +f 1076/1649/117 1087/1662/118 1075/1648/118 +f 1077/1650/116 1088/1663/117 1076/1649/117 +f 1078/1651/115 1089/1664/116 1077/1650/116 +f 1079/1652/114 1090/1665/115 1078/1651/115 +f 1080/1653/113 1091/1666/114 1079/1652/114 +f 1082/1656/92 1093/829/91 1081/1654/91 +f 1083/1657/93 1094/855/92 1082/1656/92 +f 1084/1658/94 1095/853/93 1083/1657/93 +f 1085/1660/84 1096/851/94 1084/1658/94 +f 1086/1659/83 1097/849/84 1085/1660/84 +f 1087/1661/85 1098/847/83 1086/1659/83 +f 1088/1663/86 1099/842/85 1087/1662/85 +f 1089/1664/87 1100/839/86 1088/1663/86 +f 1090/1665/88 1101/836/87 1089/1664/87 +f 1091/1666/89 1102/835/88 1090/1665/88 +f 1092/1655/90 1103/833/89 1091/1666/89 +f 1081/1654/91 1104/831/90 1092/1655/90 +f 1106/856/86 1117/1667/85 1105/857/85 +f 1107/988/87 1118/1668/86 1106/854/86 +f 1108/987/88 1119/1669/87 1107/852/87 +f 1109/986/89 1120/1670/88 1108/850/88 +f 1110/985/90 1121/1671/89 1109/848/89 +f 1111/984/91 1122/1672/90 1110/846/90 +f 1112/843/92 1123/1673/91 1111/844/91 +f 1113/840/93 1124/1674/92 1112/841/92 +f 1114/837/94 1125/1675/93 1113/838/93 +f 1115/983/84 1126/1676/94 1114/834/94 +f 1116/982/83 1127/1677/84 1115/832/84 +f 1105/981/85 1128/1678/83 1116/830/83 +f 1131/1679/87 1142/1680/86 1130/1681/86 +f 1130/1681/86 1141/1682/85 1129/1683/85 +f 1132/1684/88 1143/1685/87 1131/1679/87 +f 1133/1686/89 1144/1687/88 1132/1684/88 +f 1134/1688/90 1145/1689/89 1133/1686/89 +f 1135/1690/91 1146/1691/90 1134/1688/90 +f 1136/1692/92 1147/1693/91 1135/1694/91 +f 1137/1695/93 1148/1696/92 1136/1692/92 +f 1138/1697/94 1149/1698/93 1137/1695/93 +f 1139/1699/84 1150/1700/94 1138/1697/94 +f 1140/1701/83 1151/1702/84 1139/1699/84 +f 1129/1683/85 1152/1703/83 1140/1701/83 +f 1144/1687/105 1155/1704/106 1143/1685/106 +f 1143/1685/106 1154/1705/95 1142/1680/95 +f 1142/1680/95 1153/1706/96 1141/1682/96 +f 1152/1703/97 1153/1706/96 1164/1707/97 +f 1151/1702/98 1164/1707/97 1163/1708/98 +f 1151/1702/98 1162/1709/99 1150/1700/99 +f 1150/1700/99 1161/1710/100 1149/1698/100 +f 1148/1696/101 1161/1710/100 1160/1711/101 +f 1147/1693/102 1160/1711/101 1159/1712/102 +f 1147/1713/102 1158/1714/103 1146/1691/103 +f 1145/1689/104 1158/1714/103 1157/1715/104 +f 1145/1689/104 1156/1716/105 1144/1687/105 +f 1154/1705/86 1165/1717/85 1153/1706/85 +f 1155/1704/87 1166/1718/86 1154/1705/86 +f 1156/1716/88 1167/1719/87 1155/1704/87 +f 1157/1715/89 1168/1720/88 1156/1716/88 +f 1158/1714/90 1169/1721/89 1157/1715/89 +f 1159/1722/91 1170/1723/90 1158/1714/90 +f 1160/1711/92 1171/1724/91 1159/1712/91 +f 1161/1710/93 1172/1725/92 1160/1711/92 +f 1162/1709/94 1173/1726/93 1161/1710/93 +f 1163/1708/84 1174/1727/94 1162/1709/94 +f 1164/1707/83 1175/1728/84 1163/1708/84 +f 1153/1706/85 1176/1729/83 1164/1707/83 +f 1165/1717/118 1178/1730/117 1177/1731/118 +f 1165/1717/118 1188/1732/108 1176/1729/108 +f 1176/1729/108 1187/1733/107 1175/1728/107 +f 1175/1728/107 1186/1734/109 1174/1727/109 +f 1174/1727/109 1185/1735/110 1173/1726/110 +f 1173/1726/110 1184/1736/111 1172/1725/111 +f 1172/1725/111 1183/1737/112 1171/1724/112 +f 1171/1738/112 1182/1739/113 1170/1723/113 +f 1169/1721/114 1182/1739/113 1181/1740/114 +f 1168/1720/115 1181/1740/114 1180/1741/115 +f 1167/1719/116 1180/1741/115 1179/1742/116 +f 1166/1718/117 1179/1742/116 1178/1730/117 +f 1178/1730/86 1189/1743/85 1177/1731/85 +f 1179/1742/87 1190/1744/86 1178/1730/86 +f 1180/1741/88 1191/1745/87 1179/1742/87 +f 1181/1740/89 1192/1746/88 1180/1741/88 +f 1182/1739/90 1193/1747/89 1181/1740/89 +f 1183/1748/91 1194/1749/90 1182/1739/90 +f 1184/1736/92 1195/1750/91 1183/1737/91 +f 1185/1735/93 1196/1751/92 1184/1736/92 +f 1186/1734/94 1197/1752/93 1185/1735/93 +f 1187/1733/84 1198/1753/94 1186/1734/94 +f 1188/1732/83 1199/1754/84 1187/1733/84 +f 1177/1731/85 1200/1755/83 1188/1732/83 +f 1198/1753/99 1211/1756/98 1210/1757/99 +f 1199/1754/98 1212/1758/97 1211/1756/98 +f 1189/1743/96 1212/1758/97 1200/1755/97 +f 1190/1744/95 1201/1759/96 1189/1743/96 +f 1191/1745/106 1202/1760/95 1190/1744/95 +f 1192/1746/105 1203/1761/106 1191/1745/106 +f 1193/1747/104 1204/1762/105 1192/1746/105 +f 1194/1749/103 1205/1763/104 1193/1747/104 +f 1195/1764/102 1206/1765/103 1194/1749/103 +f 1196/1751/101 1207/1766/102 1195/1750/102 +f 1196/1751/101 1209/1767/100 1208/1768/101 +f 1198/1753/99 1209/1767/100 1197/1752/100 +f 1202/1760/86 1213/1769/85 1201/1759/85 +f 1203/1761/87 1214/1770/86 1202/1760/86 +f 1204/1762/88 1215/1771/87 1203/1761/87 +f 1205/1763/89 1216/1772/88 1204/1762/88 +f 1206/1765/90 1217/1773/89 1205/1763/89 +f 1207/1774/91 1218/1775/90 1206/1765/90 +f 1208/1768/92 1219/1776/91 1207/1766/91 +f 1209/1767/93 1220/1777/92 1208/1768/92 +f 1210/1757/94 1221/1778/93 1209/1767/93 +f 1211/1756/84 1222/1779/94 1210/1757/94 +f 1212/1758/83 1223/1780/84 1211/1756/84 +f 1201/1759/85 1224/1781/83 1212/1758/83 +f 1224/1781/108 1225/1782/118 1236/1783/108 +f 1213/1769/118 1226/1784/117 1225/1782/118 +f 1214/1770/117 1227/1785/116 1226/1784/117 +f 1215/1771/116 1228/1786/115 1227/1785/116 +f 1216/1772/115 1229/1787/114 1228/1786/115 +f 1218/1775/113 1229/1787/114 1217/1773/114 +f 1219/1788/112 1230/1789/113 1218/1775/113 +f 1220/1777/111 1231/1790/112 1219/1776/112 +f 1221/1778/110 1232/1791/111 1220/1777/111 +f 1221/1778/110 1234/1792/109 1233/1793/110 +f 1223/1780/107 1234/1792/109 1222/1779/109 +f 1223/1780/107 1236/1783/108 1235/1794/107 +f 1226/1784/86 1237/861/85 1225/1782/85 +f 1227/1785/87 1238/885/86 1226/1784/86 +f 1228/1786/88 1239/884/87 1227/1785/87 +f 1229/1787/89 1240/882/88 1228/1786/88 +f 1230/1789/90 1241/880/89 1229/1787/89 +f 1231/1795/91 1242/878/90 1230/1789/90 +f 1232/1791/92 1243/873/91 1231/1790/91 +f 1233/1793/93 1244/872/92 1232/1791/92 +f 1234/1792/94 1245/868/93 1233/1793/93 +f 1235/1794/84 1246/867/94 1234/1792/94 +f 1236/1783/83 1247/865/84 1235/1794/84 +f 1225/1782/85 1248/863/83 1236/1783/83 +f 1250/1006/92 1261/1796/91 1249/888/91 +f 1251/886/93 1262/1797/92 1250/887/92 +f 1252/1005/94 1263/1798/93 1251/883/93 +f 1253/1004/84 1264/1799/94 1252/881/94 +f 1254/1003/83 1265/1800/84 1253/879/84 +f 1255/1002/85 1266/1801/83 1254/877/83 +f 1256/874/86 1267/1802/85 1255/875/85 +f 1257/1001/87 1268/1803/86 1256/871/86 +f 1258/869/88 1269/1804/87 1257/870/87 +f 1259/1000/89 1270/1805/88 1258/866/88 +f 1260/999/90 1271/1806/89 1259/864/89 +f 1249/998/91 1272/1807/90 1260/862/90 +f 386/1016/83 398/1020/83 397/1017/84 +f 387/1019/85 399/1022/85 398/1020/83 +f 388/1021/86 400/1024/86 399/1022/85 +f 389/1023/87 401/1026/87 400/1024/86 +f 390/1025/88 402/1028/88 401/1026/87 +f 391/1027/89 403/1050/89 402/1028/88 +f 392/1029/90 404/1033/90 403/1030/89 +f 393/1032/91 405/1035/91 404/1033/90 +f 394/1034/92 406/1037/92 405/1035/91 +f 395/1036/93 407/1039/93 406/1037/92 +f 396/1038/94 408/1040/94 407/1039/93 +f 385/1018/84 397/1017/84 408/1040/94 +f 400/1024/95 412/1053/95 411/1041/96 +f 399/1022/96 411/1041/96 410/1042/97 +f 398/1020/97 410/1042/97 409/1043/98 +f 408/1040/99 397/1017/98 409/1043/98 +f 407/1039/100 408/1040/99 420/1044/99 +f 406/1037/101 407/1039/100 419/1045/100 +f 405/1035/102 406/1037/101 418/1046/101 +f 404/1033/103 405/1035/102 417/1047/102 +f 403/1030/104 404/1033/103 416/1048/103 +f 403/1050/104 415/1059/104 414/1051/105 +f 401/1026/106 402/1028/105 414/1051/105 +f 401/1026/106 413/1052/106 412/1053/95 +f 410/1042/83 422/1055/83 421/1054/84 +f 411/1041/85 423/1056/85 422/1055/83 +f 412/1053/86 424/1057/86 423/1056/85 +f 413/1052/87 425/1058/87 424/1057/86 +f 414/1051/88 426/1060/88 425/1058/87 +f 415/1059/89 427/1808/89 426/1060/88 +f 416/1048/90 428/1062/90 427/1061/89 +f 417/1047/91 429/1063/91 428/1062/90 +f 418/1046/92 430/1064/92 429/1063/91 +f 419/1045/93 431/1065/93 430/1064/92 +f 420/1044/94 432/1066/94 431/1065/93 +f 409/1043/84 421/1054/84 432/1066/94 +f 421/1054/107 422/1055/108 434/1067/108 +f 421/1054/107 433/1068/107 444/1069/109 +f 432/1066/109 444/1069/109 443/1070/110 +f 431/1065/110 443/1070/110 442/1071/111 +f 430/1064/111 442/1071/111 441/1072/112 +f 429/1063/112 441/1072/112 440/1073/113 +f 428/1062/113 440/1073/113 439/1074/114 +f 426/1060/115 427/1808/114 439/1075/114 +f 426/1060/115 438/1076/115 437/1077/116 +f 424/1057/117 425/1058/116 437/1077/116 +f 423/1056/118 424/1057/117 436/1078/117 +f 422/1055/108 423/1056/118 435/1079/118 +f 434/1067/83 446/1081/83 445/1080/84 +f 435/1079/85 447/1082/85 446/1081/83 +f 436/1078/86 448/1083/86 447/1082/85 +f 437/1077/87 449/1084/87 448/1083/86 +f 438/1076/88 450/1085/88 449/1084/87 +f 439/1075/89 451/1100/89 450/1085/88 +f 440/1073/90 452/1087/90 451/1086/89 +f 441/1072/91 453/1088/91 452/1087/90 +f 442/1071/92 454/1089/92 453/1088/91 +f 443/1070/93 455/1090/93 454/1089/92 +f 444/1069/94 456/1091/94 455/1090/93 +f 433/1068/84 445/1080/84 456/1091/94 +f 454/1089/101 455/1090/100 467/1092/100 +f 455/1090/100 456/1091/99 468/1094/99 +f 445/1080/98 457/1095/98 468/1094/99 +f 446/1081/97 458/1096/97 457/1095/98 +f 447/1082/96 459/1097/96 458/1096/97 +f 448/1083/95 460/1099/95 459/1097/96 +f 448/1083/95 449/1084/106 461/1098/106 +f 450/1085/105 462/1101/105 461/1098/106 +f 451/1100/104 463/1110/104 462/1101/105 +f 452/1087/103 464/1104/103 463/1102/104 +f 452/1087/103 453/1088/102 465/1103/102 +f 453/1088/102 454/1089/101 466/1093/101 +f 458/1096/83 470/1106/83 469/1105/84 +f 459/1097/85 471/1107/85 470/1106/83 +f 460/1099/86 472/1108/86 471/1107/85 +f 461/1098/87 473/1109/87 472/1108/86 +f 462/1101/88 474/1111/88 473/1109/87 +f 463/1110/89 475/1125/89 474/1111/88 +f 464/1104/90 476/1113/90 475/1112/89 +f 465/1103/91 477/1114/91 476/1113/90 +f 466/1093/92 478/1115/92 477/1114/91 +f 467/1092/93 479/1116/93 478/1115/92 +f 468/1094/94 480/1117/94 479/1116/93 +f 457/1095/84 469/1105/84 480/1117/94 +f 480/1117/109 469/1105/107 481/1118/107 +f 470/1106/108 482/1120/108 481/1118/107 +f 471/1107/118 483/1122/118 482/1120/108 +f 471/1107/118 472/1108/117 484/1121/117 +f 473/1109/116 485/1124/116 484/1121/117 +f 473/1109/116 474/1111/115 486/1123/115 +f 475/1125/114 487/1131/114 486/1123/115 +f 475/1112/114 476/1113/113 488/1126/113 +f 477/1114/112 489/1128/112 488/1126/113 +f 478/1115/111 490/1129/111 489/1128/112 +f 479/1116/110 491/1130/110 490/1129/111 +f 479/1116/110 480/1117/109 492/1119/109 +f 482/1120/83 494/721/83 493/698/84 +f 483/1122/85 495/720/85 494/721/83 +f 484/1121/86 496/718/86 495/720/85 +f 485/1124/87 497/716/87 496/718/86 +f 486/1123/88 498/714/88 497/716/87 +f 487/1131/89 499/712/89 498/714/88 +f 488/1126/90 500/708/90 499/709/89 +f 489/1128/91 501/706/91 500/708/90 +f 490/1129/92 502/704/92 501/706/91 +f 491/1130/93 503/702/93 502/704/92 +f 492/1119/94 504/700/94 503/702/93 +f 481/1118/84 493/698/84 504/700/94 +f 506/724/90 518/1809/90 517/1132/89 +f 507/722/91 519/1810/91 518/1133/90 +f 508/900/92 520/1811/92 519/1134/91 +f 509/899/93 521/1812/93 520/1135/92 +f 510/898/94 522/1813/94 521/1136/93 +f 511/897/84 523/1814/84 522/1137/94 +f 512/710/83 524/1815/83 523/1138/84 +f 513/896/85 525/1816/85 524/1139/83 +f 514/895/86 526/1817/86 525/1140/85 +f 515/894/87 527/1818/87 526/1141/86 +f 516/893/88 528/1819/88 527/1142/87 +f 505/892/89 517/1820/89 528/1143/88 +f 543/1144/85 544/1153/86 532/1145/86 +f 550/1147/92 551/1155/93 539/1148/93 +f 547/1150/89 548/1160/90 536/1151/90 +f 544/1153/86 545/1162/87 533/1154/87 +f 551/1155/93 552/1164/94 540/1156/94 +f 541/1157/84 542/1165/83 530/1158/83 +f 548/1160/90 549/1166/91 537/1161/91 +f 545/1162/87 546/1167/88 534/1163/88 +f 552/1164/94 541/1157/84 529/1159/84 +f 542/1165/83 543/1144/85 531/1146/85 +f 549/1166/91 550/1147/92 538/1149/92 +f 546/1167/88 547/1821/89 535/1168/89 +f 555/1169/91 567/1175/91 566/1170/90 +f 554/1171/90 566/1170/90 565/1172/89 +f 556/1174/92 568/1177/92 567/1175/91 +f 557/1176/93 569/1179/93 568/1177/92 +f 558/1178/94 570/1181/94 569/1179/93 +f 559/1180/84 571/1203/84 570/1181/94 +f 560/1182/83 572/1186/83 571/1183/84 +f 561/1185/85 573/1188/85 572/1186/83 +f 562/1187/86 574/1190/86 573/1188/85 +f 563/1189/87 575/1192/87 574/1190/86 +f 564/1191/88 576/1193/88 575/1192/87 +f 553/1173/89 565/1172/89 576/1193/88 +f 568/1177/101 580/1206/101 579/1194/102 +f 567/1175/102 579/1194/102 578/1195/103 +f 566/1170/103 578/1195/103 577/1196/104 +f 576/1193/105 565/1172/104 577/1196/104 +f 575/1192/106 576/1193/105 588/1197/105 +f 574/1190/95 575/1192/106 587/1198/106 +f 574/1190/95 586/1199/95 585/1200/96 +f 572/1186/97 573/1188/96 585/1200/96 +f 571/1183/98 572/1186/97 584/1201/97 +f 571/1203/98 583/1212/98 582/1204/99 +f 569/1179/100 570/1181/99 582/1204/99 +f 569/1179/100 581/1205/100 580/1206/101 +f 578/1195/90 590/1208/90 589/1207/89 +f 579/1194/91 591/1209/91 590/1208/90 +f 580/1206/92 592/1210/92 591/1209/91 +f 581/1205/93 593/1211/93 592/1210/92 +f 582/1204/94 594/1213/94 593/1211/93 +f 583/1212/84 595/1822/84 594/1213/94 +f 584/1201/83 596/1215/83 595/1214/84 +f 585/1200/85 597/1216/85 596/1215/83 +f 586/1199/86 598/1217/86 597/1216/85 +f 587/1198/87 599/1218/87 598/1217/86 +f 588/1197/88 600/1219/88 599/1218/87 +f 577/1196/89 589/1207/89 600/1219/88 +f 589/1207/114 590/1208/113 602/1220/113 +f 589/1207/114 601/1221/114 612/1222/115 +f 600/1219/115 612/1222/115 611/1223/116 +f 599/1218/116 611/1223/116 610/1224/117 +f 598/1217/117 610/1224/117 609/1225/118 +f 597/1216/118 609/1225/118 608/1226/108 +f 596/1215/108 608/1226/108 607/1227/107 +f 594/1213/109 595/1822/107 607/1228/107 +f 594/1213/109 606/1229/109 605/1230/110 +f 592/1210/111 593/1211/110 605/1230/110 +f 591/1209/112 592/1210/111 604/1231/111 +f 590/1208/113 591/1209/112 603/1232/112 +f 602/1220/90 614/1234/90 613/1233/89 +f 603/1232/91 615/1235/91 614/1234/90 +f 604/1231/92 616/1236/92 615/1235/91 +f 605/1230/93 617/1237/93 616/1236/92 +f 606/1229/94 618/1238/94 617/1237/93 +f 607/1228/84 619/1253/84 618/1238/94 +f 608/1226/83 620/1240/83 619/1239/84 +f 609/1225/85 621/1241/85 620/1240/83 +f 610/1224/86 622/1242/86 621/1241/85 +f 611/1223/87 623/1243/87 622/1242/86 +f 612/1222/88 624/1244/88 623/1243/87 +f 601/1221/89 613/1233/89 624/1244/88 +f 622/1242/95 623/1243/106 635/1245/106 +f 623/1243/106 624/1244/105 636/1247/105 +f 624/1244/105 613/1233/104 625/1248/104 +f 613/1233/104 614/1234/103 626/1249/103 +f 614/1234/103 615/1235/102 627/1250/102 +f 616/1236/101 628/1251/101 627/1250/102 +f 617/1237/100 629/1252/100 628/1251/101 +f 618/1238/99 630/1254/99 629/1252/100 +f 619/1253/98 631/1263/98 630/1254/99 +f 620/1240/97 632/1257/97 631/1255/98 +f 620/1240/97 621/1241/96 633/1256/96 +f 621/1241/96 622/1242/95 634/1246/95 +f 626/1249/90 638/1259/90 637/1258/89 +f 627/1250/91 639/1260/91 638/1259/90 +f 628/1251/92 640/1261/92 639/1260/91 +f 629/1252/93 641/1262/93 640/1261/92 +f 630/1254/94 642/1264/94 641/1262/93 +f 631/1263/84 643/1278/84 642/1264/94 +f 632/1257/83 644/1266/83 643/1265/84 +f 633/1256/85 645/1267/85 644/1266/83 +f 634/1246/86 646/1268/86 645/1267/85 +f 635/1245/87 647/1269/87 646/1268/86 +f 636/1247/88 648/1270/88 647/1269/87 +f 625/1248/89 637/1258/89 648/1270/88 +f 648/1270/115 637/1258/114 649/1271/114 +f 638/1259/113 650/1273/113 649/1271/114 +f 639/1260/112 651/1275/112 650/1273/113 +f 639/1260/112 640/1261/111 652/1274/111 +f 641/1262/110 653/1277/110 652/1274/111 +f 641/1262/110 642/1264/109 654/1276/109 +f 643/1278/107 655/1284/107 654/1276/109 +f 644/1266/108 656/1280/108 655/1279/107 +f 645/1267/118 657/1281/118 656/1280/108 +f 646/1268/117 658/1282/117 657/1281/118 +f 647/1269/116 659/1283/116 658/1282/117 +f 648/1270/115 660/1272/115 659/1283/116 +f 650/1273/90 662/758/90 661/735/89 +f 651/1275/91 663/757/91 662/758/90 +f 652/1274/92 664/755/92 663/757/91 +f 653/1277/93 665/753/93 664/755/92 +f 654/1276/94 666/751/94 665/753/93 +f 655/1284/84 667/749/84 666/751/94 +f 656/1280/83 668/745/83 667/746/84 +f 657/1281/85 669/743/85 668/745/83 +f 658/1282/86 670/741/86 669/743/85 +f 659/1283/87 671/739/87 670/741/86 +f 660/1272/88 672/737/88 671/739/87 +f 649/1271/89 661/735/89 672/737/88 +f 674/761/83 686/1823/83 685/1285/84 +f 675/759/85 687/1824/85 686/1286/83 +f 676/936/86 688/1825/86 687/1287/85 +f 677/935/87 689/1826/87 688/1288/86 +f 678/934/88 690/1827/88 689/1289/87 +f 679/933/89 691/1828/89 690/1290/88 +f 680/747/90 692/1829/90 691/1291/89 +f 681/932/91 693/1830/91 692/1292/90 +f 682/931/92 694/1831/92 693/1293/91 +f 683/930/93 695/1832/93 694/1294/92 +f 684/929/94 696/1833/94 695/1295/93 +f 673/928/84 685/1834/84 696/1296/94 +f 698/1297/94 710/1301/94 709/1298/93 +f 699/1300/84 711/1303/84 710/1301/94 +f 700/1302/83 712/1305/83 711/1303/84 +f 701/1304/85 713/1307/85 712/1305/83 +f 702/1306/86 714/1309/86 713/1307/85 +f 703/1308/87 715/1331/87 714/1309/86 +f 704/1310/88 716/1314/88 715/1311/87 +f 705/1313/89 717/1316/89 716/1314/88 +f 706/1315/90 718/1318/90 717/1316/89 +f 707/1317/91 719/1320/91 718/1318/90 +f 708/1319/92 720/1321/92 719/1320/91 +f 697/1299/93 709/1298/93 720/1321/92 +f 712/1305/97 724/1334/97 723/1322/98 +f 711/1303/98 723/1322/98 722/1323/99 +f 710/1301/99 722/1323/99 721/1324/100 +f 720/1321/101 709/1298/100 721/1324/100 +f 719/1320/102 720/1321/101 732/1325/101 +f 718/1318/103 719/1320/102 731/1326/102 +f 717/1316/104 718/1318/103 730/1327/103 +f 716/1314/105 717/1316/104 729/1328/104 +f 715/1311/106 716/1314/105 728/1329/105 +f 715/1331/106 727/1340/106 726/1332/95 +f 714/1309/95 726/1332/95 725/1333/96 +f 713/1307/96 725/1333/96 724/1334/97 +f 722/1323/94 734/1336/94 733/1335/93 +f 723/1322/84 735/1337/84 734/1336/94 +f 724/1334/83 736/1338/83 735/1337/84 +f 725/1333/85 737/1339/85 736/1338/83 +f 726/1332/86 738/1341/86 737/1339/85 +f 727/1340/87 739/1835/87 738/1341/86 +f 728/1329/88 740/1343/88 739/1342/87 +f 729/1328/89 741/1344/89 740/1343/88 +f 730/1327/90 742/1345/90 741/1344/89 +f 731/1326/91 743/1346/91 742/1345/90 +f 732/1325/92 744/1347/92 743/1346/91 +f 721/1324/93 733/1335/93 744/1347/92 +f 733/1335/110 734/1336/109 746/1348/109 +f 733/1335/110 745/1349/110 756/1350/111 +f 744/1347/111 756/1350/111 755/1351/112 +f 743/1346/112 755/1351/112 754/1352/113 +f 742/1345/113 754/1352/113 753/1353/114 +f 741/1344/114 753/1353/114 752/1354/115 +f 740/1343/115 752/1354/115 751/1355/116 +f 738/1341/117 739/1835/116 751/1356/116 +f 738/1341/117 750/1357/117 749/1358/118 +f 736/1338/108 737/1339/118 749/1358/118 +f 735/1337/107 736/1338/108 748/1359/108 +f 734/1336/109 735/1337/107 747/1360/107 +f 746/1348/94 758/1362/94 757/1361/93 +f 747/1360/84 759/1363/84 758/1362/94 +f 748/1359/83 760/1364/83 759/1363/84 +f 749/1358/85 761/1365/85 760/1364/83 +f 750/1357/86 762/1366/86 761/1365/85 +f 751/1356/87 763/1382/87 762/1366/86 +f 752/1354/88 764/1368/88 763/1367/87 +f 753/1353/89 765/1369/89 764/1368/88 +f 754/1352/90 766/1370/90 765/1369/89 +f 755/1351/91 767/1371/91 766/1370/90 +f 756/1350/92 768/1372/92 767/1371/91 +f 745/1349/93 757/1361/93 768/1372/92 +f 767/1371/102 779/1375/102 778/1373/103 +f 767/1371/102 768/1372/101 780/1374/101 +f 757/1361/100 769/1376/100 780/1374/101 +f 758/1362/99 770/1377/99 769/1376/100 +f 759/1363/98 771/1378/98 770/1377/99 +f 760/1364/97 772/1379/97 771/1378/98 +f 761/1365/96 773/1381/96 772/1379/97 +f 761/1365/96 762/1366/95 774/1380/95 +f 763/1382/106 775/1391/106 774/1380/95 +f 764/1368/105 776/1385/105 775/1383/106 +f 764/1368/105 765/1369/104 777/1384/104 +f 766/1370/103 778/1373/103 777/1384/104 +f 770/1377/94 782/1387/94 781/1386/93 +f 771/1378/84 783/1388/84 782/1387/94 +f 772/1379/83 784/1389/83 783/1388/84 +f 773/1381/85 785/1390/85 784/1389/83 +f 774/1380/86 786/1392/86 785/1390/85 +f 775/1391/87 787/1836/87 786/1392/86 +f 776/1385/88 788/1394/88 787/1393/87 +f 777/1384/89 789/1395/89 788/1394/88 +f 778/1373/90 790/1396/90 789/1395/89 +f 779/1375/91 791/1397/91 790/1396/90 +f 780/1374/92 792/1398/92 791/1397/91 +f 769/1376/93 781/1386/93 792/1398/92 +f 792/1398/111 781/1386/110 793/1399/110 +f 782/1387/109 794/1402/109 793/1399/110 +f 782/1387/109 783/1388/107 795/1401/107 +f 784/1389/108 796/1404/108 795/1401/107 +f 784/1389/108 785/1390/118 797/1403/118 +f 786/1392/117 798/1406/117 797/1403/118 +f 786/1392/117 787/1836/116 799/1405/116 +f 787/1393/116 788/1394/115 800/1407/115 +f 789/1395/114 801/1410/114 800/1407/115 +f 789/1395/114 790/1396/113 802/1409/113 +f 790/1396/113 791/1397/112 803/1411/112 +f 792/1398/111 804/1400/111 803/1411/112 +f 794/1402/94 806/791/94 805/766/93 +f 795/1401/84 807/789/84 806/791/94 +f 796/1404/83 808/787/83 807/789/84 +f 797/1403/85 809/785/85 808/787/83 +f 798/1406/86 810/783/86 809/785/85 +f 799/1405/87 811/781/87 810/783/86 +f 800/1407/88 812/775/88 811/778/87 +f 801/1410/89 813/774/89 812/775/88 +f 802/1409/90 814/772/90 813/774/89 +f 803/1411/91 815/770/91 814/772/90 +f 804/1400/92 816/768/92 815/770/91 +f 793/1399/93 805/766/93 816/768/92 +f 818/792/88 830/1837/88 829/1412/87 +f 819/954/89 831/1838/89 830/1413/88 +f 820/953/90 832/1839/90 831/1414/89 +f 821/952/91 833/1840/91 832/1415/90 +f 822/951/92 834/1841/92 833/1416/91 +f 823/950/93 835/1842/93 834/1417/92 +f 824/779/94 836/1843/94 835/1418/93 +f 825/776/84 837/1844/84 836/1419/94 +f 826/949/83 838/1845/83 837/1420/84 +f 827/948/85 839/1846/85 838/1421/83 +f 828/947/86 840/1847/86 839/1422/85 +f 817/946/87 829/1848/87 840/1423/86 +f 843/1424/89 855/1430/89 854/1425/88 +f 842/1426/88 854/1425/88 853/1427/87 +f 844/1429/90 856/1432/90 855/1430/89 +f 845/1431/91 857/1434/91 856/1432/90 +f 846/1433/92 858/1436/92 857/1434/91 +f 847/1435/93 859/1458/93 858/1436/92 +f 848/1437/94 860/1441/94 859/1438/93 +f 849/1440/84 861/1443/84 860/1441/94 +f 850/1442/83 862/1445/83 861/1443/84 +f 851/1444/85 863/1447/85 862/1445/83 +f 852/1446/86 864/1448/86 863/1447/85 +f 841/1428/87 853/1427/87 864/1448/86 +f 856/1432/103 868/1461/103 867/1449/104 +f 855/1430/104 867/1449/104 866/1450/105 +f 854/1425/105 866/1450/105 865/1451/106 +f 853/1427/106 865/1451/106 876/1452/95 +f 863/1447/96 864/1448/95 876/1452/95 +f 863/1447/96 875/1453/96 874/1454/97 +f 862/1445/97 874/1454/97 873/1455/98 +f 860/1441/99 861/1443/98 873/1455/98 +f 860/1441/99 872/1456/99 871/1457/100 +f 859/1458/100 871/1467/100 870/1459/101 +f 857/1434/102 858/1436/101 870/1459/101 +f 857/1434/102 869/1460/102 868/1461/103 +f 866/1450/88 878/1463/88 877/1462/87 +f 867/1449/89 879/1464/89 878/1463/88 +f 868/1461/90 880/1465/90 879/1464/89 +f 869/1460/91 881/1466/91 880/1465/90 +f 870/1459/92 882/1468/92 881/1466/91 +f 871/1467/93 883/1483/93 882/1468/92 +f 872/1456/94 884/1470/94 883/1469/93 +f 873/1455/84 885/1471/84 884/1470/94 +f 874/1454/83 886/1472/83 885/1471/84 +f 875/1453/85 887/1473/85 886/1472/83 +f 876/1452/86 888/1474/86 887/1473/85 +f 865/1451/87 877/1462/87 888/1474/86 +f 877/1462/116 878/1463/115 890/1475/115 +f 877/1462/116 889/1476/116 900/1477/117 +f 888/1474/117 900/1477/117 899/1478/118 +f 887/1473/118 899/1478/118 898/1479/108 +f 886/1472/108 898/1479/108 897/1480/107 +f 885/1471/107 897/1480/107 896/1481/109 +f 884/1470/109 896/1481/109 895/1482/110 +f 883/1483/110 895/1493/110 894/1484/111 +f 882/1468/111 894/1484/111 893/1485/112 +f 880/1465/113 881/1466/112 893/1485/112 +f 879/1464/114 880/1465/113 892/1486/113 +f 878/1463/115 879/1464/114 891/1487/114 +f 890/1475/88 902/1489/88 901/1488/87 +f 891/1487/89 903/1490/89 902/1489/88 +f 892/1486/90 904/1491/90 903/1490/89 +f 893/1485/91 905/1492/91 904/1491/90 +f 894/1484/92 906/1494/92 905/1492/91 +f 895/1493/93 907/1510/93 906/1494/92 +f 896/1481/94 908/1496/94 907/1495/93 +f 897/1480/84 909/1497/84 908/1496/94 +f 898/1479/83 910/1498/83 909/1497/84 +f 899/1478/85 911/1499/85 910/1498/83 +f 900/1477/86 912/1500/86 911/1499/85 +f 889/1476/87 901/1488/87 912/1500/86 +f 911/1499/96 923/1503/96 922/1501/97 +f 911/1499/96 912/1500/95 924/1502/95 +f 901/1488/106 913/1504/106 924/1502/95 +f 902/1489/105 914/1505/105 913/1504/106 +f 903/1490/104 915/1507/104 914/1505/105 +f 903/1490/104 904/1491/103 916/1506/103 +f 905/1492/102 917/1509/102 916/1506/103 +f 905/1492/102 906/1494/101 918/1508/101 +f 907/1510/100 919/1519/100 918/1508/101 +f 908/1496/99 920/1513/99 919/1511/100 +f 908/1496/99 909/1497/98 921/1512/98 +f 910/1498/97 922/1501/97 921/1512/98 +f 914/1505/88 926/1515/88 925/1514/87 +f 915/1507/89 927/1516/89 926/1515/88 +f 916/1506/90 928/1517/90 927/1516/89 +f 917/1509/91 929/1518/91 928/1517/90 +f 918/1508/92 930/1520/92 929/1518/91 +f 919/1519/93 931/1849/93 930/1520/92 +f 920/1513/94 932/1522/94 931/1521/93 +f 921/1512/84 933/1523/84 932/1522/94 +f 922/1501/83 934/1524/83 933/1523/84 +f 923/1503/85 935/1525/85 934/1524/83 +f 924/1502/86 936/1526/86 935/1525/85 +f 913/1504/87 925/1514/87 936/1526/86 +f 936/1526/117 925/1514/116 937/1527/116 +f 925/1514/116 926/1515/115 938/1529/115 +f 926/1515/115 927/1516/114 939/1530/114 +f 928/1517/113 940/1532/113 939/1530/114 +f 928/1517/113 929/1518/112 941/1531/112 +f 930/1520/111 942/1534/111 941/1531/112 +f 930/1520/111 931/1849/110 943/1533/110 +f 931/1521/110 932/1522/109 944/1535/109 +f 933/1523/107 945/1538/107 944/1535/109 +f 933/1523/107 934/1524/108 946/1537/108 +f 935/1525/118 947/1539/118 946/1537/108 +f 936/1526/117 948/1528/117 947/1539/118 +f 938/1529/88 950/821/88 949/797/87 +f 939/1530/89 951/820/89 950/821/88 +f 940/1532/90 952/818/90 951/820/89 +f 941/1531/91 953/816/91 952/818/90 +f 942/1534/92 954/814/92 953/816/91 +f 943/1533/93 955/812/93 954/814/92 +f 944/1535/94 956/808/94 955/809/93 +f 945/1538/84 957/804/84 956/808/94 +f 946/1537/83 958/803/83 957/804/84 +f 947/1539/85 959/801/85 958/803/83 +f 948/1528/86 960/799/86 959/801/85 +f 937/1527/87 949/797/87 960/799/86 +f 962/824/94 974/1850/94 973/1540/93 +f 963/822/84 975/1851/84 974/1541/94 +f 964/971/83 976/1852/83 975/1542/84 +f 965/970/85 977/1853/85 976/1543/83 +f 966/969/86 978/1854/86 977/1544/85 +f 967/968/87 979/1855/87 978/1545/86 +f 968/810/88 980/1856/88 979/1546/87 +f 969/967/89 981/1857/89 980/1547/88 +f 970/805/90 982/1858/90 981/1548/89 +f 971/966/91 983/1859/91 982/1549/90 +f 972/965/92 984/1860/92 983/1550/91 +f 961/964/93 973/1861/93 984/1551/92 +f 986/1552/92 998/1556/92 997/1553/91 +f 987/1555/93 999/1558/93 998/1556/92 +f 988/1557/94 1000/1560/94 999/1558/93 +f 989/1559/84 1001/1562/84 1000/1560/94 +f 990/1561/83 1002/1564/83 1001/1562/84 +f 991/1563/85 1003/1862/85 1002/1564/83 +f 992/1565/86 1004/1569/86 1003/1566/85 +f 993/1568/87 1005/1571/87 1004/1569/86 +f 994/1570/88 1006/1573/88 1005/1571/87 +f 995/1572/89 1007/1575/89 1006/1573/88 +f 996/1574/90 1008/1576/90 1007/1575/89 +f 985/1554/91 997/1553/91 1008/1576/90 +f 1000/1560/99 1012/1589/99 1011/1577/100 +f 999/1558/100 1011/1577/100 1010/1578/101 +f 997/1553/102 998/1556/101 1010/1578/101 +f 997/1553/102 1009/1579/102 1020/1580/103 +f 1007/1575/104 1008/1576/103 1020/1580/103 +f 1007/1575/104 1019/1581/104 1018/1582/105 +f 1006/1573/105 1018/1582/105 1017/1583/106 +f 1004/1569/95 1005/1571/106 1017/1583/106 +f 1003/1566/96 1004/1569/95 1016/1584/95 +f 1002/1564/97 1003/1862/96 1015/1586/96 +f 1002/1564/97 1014/1587/97 1013/1588/98 +f 1001/1562/98 1013/1588/98 1012/1589/99 +f 1010/1578/92 1022/1591/92 1021/1590/91 +f 1011/1577/93 1023/1592/93 1022/1591/92 +f 1012/1589/94 1024/1593/94 1023/1592/93 +f 1013/1588/84 1025/1594/84 1024/1593/94 +f 1014/1587/83 1026/1595/83 1025/1594/84 +f 1015/1586/85 1027/1609/85 1026/1595/83 +f 1016/1584/86 1028/1597/86 1027/1596/85 +f 1017/1583/87 1029/1598/87 1028/1597/86 +f 1018/1582/88 1030/1599/88 1029/1598/87 +f 1019/1581/89 1031/1600/89 1030/1599/88 +f 1020/1580/90 1032/1601/90 1031/1600/89 +f 1009/1579/91 1021/1590/91 1032/1601/90 +f 1022/1591/111 1034/1614/111 1033/1602/112 +f 1021/1590/112 1033/1602/112 1044/1603/113 +f 1032/1601/113 1044/1603/113 1043/1604/114 +f 1031/1600/114 1043/1604/114 1042/1605/115 +f 1030/1599/115 1042/1605/115 1041/1606/116 +f 1029/1598/116 1041/1606/116 1040/1607/117 +f 1028/1597/117 1040/1607/117 1039/1608/118 +f 1027/1609/118 1039/1620/118 1038/1610/108 +f 1025/1594/107 1026/1595/108 1038/1610/108 +f 1024/1593/109 1025/1594/107 1037/1611/107 +f 1023/1592/110 1024/1593/109 1036/1612/109 +f 1022/1591/111 1023/1592/110 1035/1613/110 +f 1034/1614/92 1046/1616/92 1045/1615/91 +f 1035/1613/93 1047/1617/93 1046/1616/92 +f 1036/1612/94 1048/1618/94 1047/1617/93 +f 1037/1611/84 1049/1619/84 1048/1618/94 +f 1038/1610/83 1050/1621/83 1049/1619/84 +f 1039/1620/85 1051/1637/85 1050/1621/83 +f 1040/1607/86 1052/1623/86 1051/1622/85 +f 1041/1606/87 1053/1624/87 1052/1623/86 +f 1042/1605/88 1054/1625/88 1053/1624/87 +f 1043/1604/89 1055/1626/89 1054/1625/88 +f 1044/1603/90 1056/1627/90 1055/1626/89 +f 1033/1602/91 1045/1615/91 1056/1627/90 +f 1054/1625/105 1055/1626/104 1067/1628/104 +f 1055/1626/104 1056/1627/103 1068/1630/103 +f 1045/1615/102 1057/1631/102 1068/1630/103 +f 1046/1616/101 1058/1632/101 1057/1631/102 +f 1047/1617/100 1059/1633/100 1058/1632/101 +f 1048/1618/99 1060/1634/99 1059/1633/100 +f 1049/1619/98 1061/1636/98 1060/1634/99 +f 1049/1619/98 1050/1621/97 1062/1635/97 +f 1051/1637/96 1063/1646/96 1062/1635/97 +f 1052/1623/95 1064/1640/95 1063/1638/96 +f 1052/1623/95 1053/1624/106 1065/1639/106 +f 1054/1625/105 1066/1629/105 1065/1639/106 +f 1058/1632/92 1070/1642/92 1069/1641/91 +f 1059/1633/93 1071/1643/93 1070/1642/92 +f 1060/1634/94 1072/1644/94 1071/1643/93 +f 1061/1636/84 1073/1645/84 1072/1644/94 +f 1062/1635/83 1074/1647/83 1073/1645/84 +f 1063/1646/85 1075/1863/85 1074/1647/83 +f 1064/1640/86 1076/1649/86 1075/1648/85 +f 1065/1639/87 1077/1650/87 1076/1649/86 +f 1066/1629/88 1078/1651/88 1077/1650/87 +f 1067/1628/89 1079/1652/89 1078/1651/88 +f 1068/1630/90 1080/1653/90 1079/1652/89 +f 1057/1631/91 1069/1641/91 1080/1653/90 +f 1080/1653/113 1069/1641/112 1081/1654/112 +f 1069/1641/112 1070/1642/111 1082/1656/111 +f 1070/1642/111 1071/1643/110 1083/1657/110 +f 1072/1644/109 1084/1658/109 1083/1657/110 +f 1073/1645/107 1085/1660/107 1084/1658/109 +f 1073/1645/107 1074/1647/108 1086/1659/108 +f 1074/1647/108 1075/1863/118 1087/1661/118 +f 1076/1649/117 1088/1663/117 1087/1662/118 +f 1077/1650/116 1089/1664/116 1088/1663/117 +f 1078/1651/115 1090/1665/115 1089/1664/116 +f 1079/1652/114 1091/1666/114 1090/1665/115 +f 1080/1653/113 1092/1655/113 1091/1666/114 +f 1082/1656/92 1094/855/92 1093/829/91 +f 1083/1657/93 1095/853/93 1094/855/92 +f 1084/1658/94 1096/851/94 1095/853/93 +f 1085/1660/84 1097/849/84 1096/851/94 +f 1086/1659/83 1098/847/83 1097/849/84 +f 1087/1661/85 1099/845/85 1098/847/83 +f 1088/1663/86 1100/839/86 1099/842/85 +f 1089/1664/87 1101/836/87 1100/839/86 +f 1090/1665/88 1102/835/88 1101/836/87 +f 1091/1666/89 1103/833/89 1102/835/88 +f 1092/1655/90 1104/831/90 1103/833/89 +f 1081/1654/91 1093/829/91 1104/831/90 +f 1106/856/86 1118/1864/86 1117/1667/85 +f 1107/988/87 1119/1865/87 1118/1668/86 +f 1108/987/88 1120/1866/88 1119/1669/87 +f 1109/986/89 1121/1867/89 1120/1670/88 +f 1110/985/90 1122/1868/90 1121/1671/89 +f 1111/984/91 1123/1869/91 1122/1672/90 +f 1112/843/92 1124/1870/92 1123/1673/91 +f 1113/840/93 1125/1871/93 1124/1674/92 +f 1114/837/94 1126/1872/94 1125/1675/93 +f 1115/983/84 1127/1873/84 1126/1676/94 +f 1116/982/83 1128/1874/83 1127/1677/84 +f 1105/981/85 1117/1875/85 1128/1678/83 +f 1131/1679/87 1143/1685/87 1142/1680/86 +f 1130/1681/86 1142/1680/86 1141/1682/85 +f 1132/1684/88 1144/1687/88 1143/1685/87 +f 1133/1686/89 1145/1689/89 1144/1687/88 +f 1134/1688/90 1146/1691/90 1145/1689/89 +f 1135/1690/91 1147/1713/91 1146/1691/90 +f 1136/1692/92 1148/1696/92 1147/1693/91 +f 1137/1695/93 1149/1698/93 1148/1696/92 +f 1138/1697/94 1150/1700/94 1149/1698/93 +f 1139/1699/84 1151/1702/84 1150/1700/94 +f 1140/1701/83 1152/1703/83 1151/1702/84 +f 1129/1683/85 1141/1682/85 1152/1703/83 +f 1144/1687/105 1156/1716/105 1155/1704/106 +f 1143/1685/106 1155/1704/106 1154/1705/95 +f 1142/1680/95 1154/1705/95 1153/1706/96 +f 1152/1703/97 1141/1682/96 1153/1706/96 +f 1151/1702/98 1152/1703/97 1164/1707/97 +f 1151/1702/98 1163/1708/98 1162/1709/99 +f 1150/1700/99 1162/1709/99 1161/1710/100 +f 1148/1696/101 1149/1698/100 1161/1710/100 +f 1147/1693/102 1148/1696/101 1160/1711/101 +f 1147/1713/102 1159/1722/102 1158/1714/103 +f 1145/1689/104 1146/1691/103 1158/1714/103 +f 1145/1689/104 1157/1715/104 1156/1716/105 +f 1154/1705/86 1166/1718/86 1165/1717/85 +f 1155/1704/87 1167/1719/87 1166/1718/86 +f 1156/1716/88 1168/1720/88 1167/1719/87 +f 1157/1715/89 1169/1721/89 1168/1720/88 +f 1158/1714/90 1170/1723/90 1169/1721/89 +f 1159/1722/91 1171/1738/91 1170/1723/90 +f 1160/1711/92 1172/1725/92 1171/1724/91 +f 1161/1710/93 1173/1726/93 1172/1725/92 +f 1162/1709/94 1174/1727/94 1173/1726/93 +f 1163/1708/84 1175/1728/84 1174/1727/94 +f 1164/1707/83 1176/1729/83 1175/1728/84 +f 1153/1706/85 1165/1717/85 1176/1729/83 +f 1165/1717/118 1166/1718/117 1178/1730/117 +f 1165/1717/118 1177/1731/118 1188/1732/108 +f 1176/1729/108 1188/1732/108 1187/1733/107 +f 1175/1728/107 1187/1733/107 1186/1734/109 +f 1174/1727/109 1186/1734/109 1185/1735/110 +f 1173/1726/110 1185/1735/110 1184/1736/111 +f 1172/1725/111 1184/1736/111 1183/1737/112 +f 1171/1738/112 1183/1748/112 1182/1739/113 +f 1169/1721/114 1170/1723/113 1182/1739/113 +f 1168/1720/115 1169/1721/114 1181/1740/114 +f 1167/1719/116 1168/1720/115 1180/1741/115 +f 1166/1718/117 1167/1719/116 1179/1742/116 +f 1178/1730/86 1190/1744/86 1189/1743/85 +f 1179/1742/87 1191/1745/87 1190/1744/86 +f 1180/1741/88 1192/1746/88 1191/1745/87 +f 1181/1740/89 1193/1747/89 1192/1746/88 +f 1182/1739/90 1194/1749/90 1193/1747/89 +f 1183/1748/91 1195/1764/91 1194/1749/90 +f 1184/1736/92 1196/1751/92 1195/1750/91 +f 1185/1735/93 1197/1752/93 1196/1751/92 +f 1186/1734/94 1198/1753/94 1197/1752/93 +f 1187/1733/84 1199/1754/84 1198/1753/94 +f 1188/1732/83 1200/1755/83 1199/1754/84 +f 1177/1731/85 1189/1743/85 1200/1755/83 +f 1198/1753/99 1199/1754/98 1211/1756/98 +f 1199/1754/98 1200/1755/97 1212/1758/97 +f 1189/1743/96 1201/1759/96 1212/1758/97 +f 1190/1744/95 1202/1760/95 1201/1759/96 +f 1191/1745/106 1203/1761/106 1202/1760/95 +f 1192/1746/105 1204/1762/105 1203/1761/106 +f 1193/1747/104 1205/1763/104 1204/1762/105 +f 1194/1749/103 1206/1765/103 1205/1763/104 +f 1195/1764/102 1207/1774/102 1206/1765/103 +f 1196/1751/101 1208/1768/101 1207/1766/102 +f 1196/1751/101 1197/1752/100 1209/1767/100 +f 1198/1753/99 1210/1757/99 1209/1767/100 +f 1202/1760/86 1214/1770/86 1213/1769/85 +f 1203/1761/87 1215/1771/87 1214/1770/86 +f 1204/1762/88 1216/1772/88 1215/1771/87 +f 1205/1763/89 1217/1773/89 1216/1772/88 +f 1206/1765/90 1218/1775/90 1217/1773/89 +f 1207/1774/91 1219/1788/91 1218/1775/90 +f 1208/1768/92 1220/1777/92 1219/1776/91 +f 1209/1767/93 1221/1778/93 1220/1777/92 +f 1210/1757/94 1222/1779/94 1221/1778/93 +f 1211/1756/84 1223/1780/84 1222/1779/94 +f 1212/1758/83 1224/1781/83 1223/1780/84 +f 1201/1759/85 1213/1769/85 1224/1781/83 +f 1224/1781/108 1213/1769/118 1225/1782/118 +f 1213/1769/118 1214/1770/117 1226/1784/117 +f 1214/1770/117 1215/1771/116 1227/1785/116 +f 1215/1771/116 1216/1772/115 1228/1786/115 +f 1216/1772/115 1217/1773/114 1229/1787/114 +f 1218/1775/113 1230/1789/113 1229/1787/114 +f 1219/1788/112 1231/1795/112 1230/1789/113 +f 1220/1777/111 1232/1791/111 1231/1790/112 +f 1221/1778/110 1233/1793/110 1232/1791/111 +f 1221/1778/110 1222/1779/109 1234/1792/109 +f 1223/1780/107 1235/1794/107 1234/1792/109 +f 1223/1780/107 1224/1781/108 1236/1783/108 +f 1226/1784/86 1238/885/86 1237/861/85 +f 1227/1785/87 1239/884/87 1238/885/86 +f 1228/1786/88 1240/882/88 1239/884/87 +f 1229/1787/89 1241/880/89 1240/882/88 +f 1230/1789/90 1242/878/90 1241/880/89 +f 1231/1795/91 1243/876/91 1242/878/90 +f 1232/1791/92 1244/872/92 1243/873/91 +f 1233/1793/93 1245/868/93 1244/872/92 +f 1234/1792/94 1246/867/94 1245/868/93 +f 1235/1794/84 1247/865/84 1246/867/94 +f 1236/1783/83 1248/863/83 1247/865/84 +f 1225/1782/85 1237/861/85 1248/863/83 +f 1250/1006/92 1262/1876/92 1261/1796/91 +f 1251/886/93 1263/1877/93 1262/1797/92 +f 1252/1005/94 1264/1878/94 1263/1798/93 +f 1253/1004/84 1265/1879/84 1264/1799/94 +f 1254/1003/83 1266/1880/83 1265/1800/84 +f 1255/1002/85 1267/1881/85 1266/1801/83 +f 1256/874/86 1268/1882/86 1267/1802/85 +f 1257/1001/87 1269/1883/87 1268/1803/86 +f 1258/869/88 1270/1884/88 1269/1804/87 +f 1259/1000/89 1271/1885/89 1270/1805/88 +f 1260/999/90 1272/1886/90 1271/1806/89 +f 1249/998/91 1261/1887/91 1272/1807/90 +o Gun +v 0.000000 1.500000 -2.000000 +v -0.574025 1.385819 -2.000000 +v -1.060660 1.060660 -2.000000 +v -1.385819 0.574025 -2.000000 +v -1.500000 -0.000000 -2.000000 +v -1.385819 -0.574025 -2.000000 +v -1.060660 -1.060660 -2.000000 +v -0.574025 -1.385819 -2.000000 +v 0.000000 -1.500000 -2.000000 +v 0.574025 -1.385819 -2.000000 +v 1.060660 -1.060660 -2.000000 +v 1.385819 -0.574025 -2.000000 +v 1.500000 -0.000000 -2.000000 +v 1.385819 0.574025 -2.000000 +v 1.060660 1.060660 -2.000000 +v 0.574024 1.385820 -2.000000 +v 0.000000 1.500000 -5.000000 +v -0.574025 1.385819 -5.000000 +v -1.060660 1.060660 -5.000000 +v -1.385819 0.574025 -5.000000 +v -1.500000 -0.000000 -5.000000 +v -1.385819 -0.574025 -5.000000 +v -1.060660 -1.060660 -5.000000 +v -0.574025 -1.385819 -5.000000 +v 0.000000 -1.500000 -5.000000 +v 0.574025 -1.385819 -5.000000 +v 1.060660 -1.060660 -5.000000 +v 1.385819 -0.574025 -5.000000 +v 1.500000 -0.000000 -5.000000 +v 1.385819 0.574025 -5.000000 +v 1.060660 1.060660 -5.000000 +v 0.574024 1.385820 -5.000000 +v 0.000000 1.250000 -5.500000 +v -0.478354 1.154850 -5.500000 +v -0.883883 0.883883 -5.500000 +v -1.154849 0.478354 -5.500000 +v -1.250000 0.000000 -5.500000 +v -1.154849 -0.478354 -5.500000 +v -0.883883 -0.883883 -5.500000 +v -0.478354 -1.154850 -5.500000 +v 0.000000 -1.250000 -5.500000 +v 0.478354 -1.154850 -5.500000 +v 0.883883 -0.883884 -5.500000 +v 1.154849 -0.478354 -5.500000 +v 1.250000 0.000000 -5.500000 +v 1.154849 0.478354 -5.500000 +v 0.883883 0.883884 -5.500000 +v 0.478354 1.154850 -5.500000 +v 0.000000 1.250000 -9.000000 +v -0.478354 1.154850 -9.000000 +v -0.883883 0.883883 -9.000000 +v -1.154849 0.478354 -9.000000 +v -1.250000 0.000000 -9.000000 +v -1.154849 -0.478354 -9.000000 +v -0.883883 -0.883883 -9.000000 +v -0.478354 -1.154850 -9.000000 +v 0.000000 -1.250000 -9.000000 +v 0.478354 -1.154850 -9.000000 +v 0.883883 -0.883884 -9.000000 +v 1.154849 -0.478354 -9.000000 +v 1.250000 0.000000 -9.000000 +v 1.154849 0.478354 -9.000000 +v 0.883883 0.883884 -9.000000 +v 0.478354 1.154850 -9.000000 +v 0.000000 1.000000 -9.500000 +v -0.382684 0.923880 -9.500000 +v -0.707107 0.707107 -9.500000 +v -0.923880 0.382684 -9.500000 +v -1.000000 -0.000000 -9.500000 +v -0.923880 -0.382684 -9.500000 +v -0.707107 -0.707107 -9.500000 +v -0.382684 -0.923880 -9.500000 +v -0.000000 -1.000000 -9.500000 +v 0.382683 -0.923880 -9.500000 +v 0.707107 -0.707107 -9.500000 +v 0.923879 -0.382684 -9.500000 +v 1.000000 -0.000000 -9.500000 +v 0.923879 0.382684 -9.500000 +v 0.707107 0.707107 -9.500000 +v 0.382683 0.923880 -9.500000 +v -0.750000 0.000000 -6.000000 +v -0.750000 1.500000 -6.000000 +v -0.750000 0.000000 -10.500000 +v -0.750000 1.500000 -10.500000 +v 0.750000 0.000000 -6.000000 +v 0.750000 1.500000 -6.000000 +v 0.750000 0.000000 -10.500000 +v 0.750000 1.500000 -10.500000 +v -0.750000 2.000000 -8.250000 +v 0.750000 2.000000 -8.250000 +v -0.375000 -0.750000 -10.500000 +v -0.375000 -0.750000 -6.000000 +v 0.375000 -0.750000 -10.500000 +v 0.375000 -0.750000 -6.000000 +v -0.375000 2.500000 -11.250000 +v 0.375000 2.500000 -11.250000 +v -0.375000 1.750000 -12.000000 +v 0.375000 1.750000 -12.000000 +v -0.375000 0.750000 -10.500000 +v 0.375000 0.750000 -10.500000 +v -0.375000 1.750000 -7.750000 +v 0.375000 1.750000 -7.750000 +v -0.375000 4.000000 -11.250000 +v 0.375000 4.000000 -11.250000 +v -0.375000 4.000000 -7.750000 +v 0.375000 4.000000 -7.750000 +v -0.375000 4.000000 -8.250000 +v 0.375000 4.000000 -8.250000 +v -0.375000 2.500000 -8.250000 +v 0.375000 2.500000 -8.250000 +v -0.375000 4.000000 -10.750000 +v 0.375000 4.000000 -10.750000 +v -0.375000 2.500000 -10.750000 +v 0.375000 2.500000 -10.750000 +v 0.000000 3.875000 -8.250000 +v -0.265165 3.765165 -8.250000 +v -0.375000 3.500000 -8.250000 +v -0.265165 3.234835 -8.250000 +v 0.000000 3.125000 -8.250000 +v 0.265165 3.234835 -8.250000 +v 0.375000 3.500000 -8.250000 +v 0.265165 3.765165 -8.250000 +v 0.000000 3.875000 -10.750000 +v -0.265165 3.765165 -10.750000 +v -0.375000 3.500000 -10.750000 +v -0.265165 3.234835 -10.750000 +v 0.000000 3.125000 -10.750000 +v 0.265165 3.234835 -10.750000 +v 0.375000 3.500000 -10.750000 +v 0.265165 3.765165 -10.750000 +v -1.500000 0.250000 -5.750000 +v -1.500000 -0.750000 -8.250000 +v -1.500000 0.250000 -8.250000 +v 1.500000 0.250000 -5.750000 +v 1.500000 -0.750000 -8.250000 +v 1.500000 0.250000 -8.250000 +v 2.000000 0.250000 -8.000000 +v 2.000000 -0.750000 -8.000000 +v 2.000000 0.250000 -6.250000 +v -2.000000 -0.750000 -8.000000 +v -2.000000 0.250000 -6.250000 +v -2.000000 0.250000 -8.000000 +v -1.500000 0.750000 -6.250000 +v -1.500000 0.750000 -8.000000 +v 1.500000 0.750000 -8.000000 +v 1.500000 0.750000 -6.250000 +v 2.000000 0.750000 -7.750000 +v 2.000000 0.750000 -6.750000 +v -2.000000 0.750000 -6.750000 +v -2.000000 0.750000 -7.750000 +v -1.500000 -1.500000 -7.500000 +v -1.500000 -1.500000 -5.750000 +v 1.500000 -1.500000 -7.500000 +v 1.500000 -1.500000 -5.750000 +v 2.000000 -1.500000 -6.250000 +v 2.000000 -1.500000 -7.250000 +v -2.000000 -1.500000 -7.250000 +v -2.000000 -1.500000 -6.250000 +v 1.125000 0.375000 -2.000000 +v 1.125000 -0.375000 -2.000000 +v 1.125000 0.375000 -5.750000 +v 1.125000 -0.375000 -5.750000 +v 1.875000 0.375000 -5.500000 +v 1.875000 0.375000 -2.250000 +v 1.875000 -0.375000 -2.250000 +v 1.875000 -0.375000 -5.500000 +v 2.375000 0.187500 -4.500000 +v 2.375000 0.187500 -3.250000 +v 2.375000 -0.187500 -3.250000 +v 2.375000 -0.187500 -4.500000 +v -1.125000 0.375000 -2.000000 +v -1.125000 -0.375000 -2.000000 +v -1.125000 0.375000 -5.750000 +v -1.125000 -0.375000 -5.750000 +v -1.875000 0.375000 -5.500000 +v -1.875000 0.375000 -2.250000 +v -1.875000 -0.375000 -2.250000 +v -1.875000 -0.375000 -5.500000 +v -2.375000 0.187500 -4.500000 +v -2.375000 0.187500 -3.250000 +v -2.375000 -0.187500 -3.250000 +v -2.375000 -0.187500 -4.500000 +v -1.223240 1.817343 -4.000000 +v -1.223240 1.817343 -3.000000 +v -0.840556 1.741222 -4.000000 +v -0.840556 1.741222 -3.000000 +v -0.516133 1.524449 -4.000000 +v -0.516133 1.524449 -3.000000 +v -0.299360 1.200026 -4.000000 +v -0.299360 1.200026 -3.000000 +v -0.223240 0.817343 -4.000000 +v -0.223240 0.817343 -3.000000 +v -0.299360 0.434659 -4.000000 +v -0.299360 0.434659 -3.000000 +v -0.516133 0.110236 -4.000000 +v -0.516133 0.110236 -3.000000 +v -0.840556 -0.106537 -4.000000 +v -0.840556 -0.106537 -3.000000 +v -1.223239 -0.182657 -4.000000 +v -1.223239 -0.182657 -3.000000 +v -1.605923 -0.106537 -4.000000 +v -1.605923 -0.106537 -3.000000 +v -1.930346 0.110236 -4.000000 +v -1.930346 0.110236 -3.000000 +v -2.147119 0.434659 -4.000000 +v -2.147119 0.434659 -3.000000 +v -2.223239 0.817343 -4.000000 +v -2.223239 0.817343 -3.000000 +v -2.147119 1.200026 -4.000000 +v -2.147119 1.200026 -3.000000 +v -1.930346 1.524450 -4.000000 +v -1.930346 1.524450 -3.000000 +v -1.605923 1.741222 -4.000000 +v -1.605923 1.741222 -3.000000 +v 1.223239 1.817343 -4.000000 +v 1.223239 1.817343 -3.000000 +v 1.605923 1.741222 -4.000000 +v 1.605923 1.741222 -3.000000 +v 1.930346 1.524450 -4.000000 +v 1.930346 1.524450 -3.000000 +v 2.147119 1.200026 -4.000000 +v 2.147119 1.200026 -3.000000 +v 2.223239 0.817343 -4.000000 +v 2.223239 0.817343 -3.000000 +v 2.147119 0.434659 -4.000000 +v 2.147119 0.434659 -3.000000 +v 1.930346 0.110236 -4.000000 +v 1.930346 0.110236 -3.000000 +v 1.605923 -0.106537 -4.000000 +v 1.605923 -0.106537 -3.000000 +v 1.223240 -0.182657 -4.000000 +v 1.223240 -0.182657 -3.000000 +v 0.840556 -0.106537 -4.000000 +v 0.840556 -0.106537 -3.000000 +v 0.516133 0.110236 -4.000000 +v 0.516133 0.110236 -3.000000 +v 0.299360 0.434659 -4.000000 +v 0.299360 0.434659 -3.000000 +v 0.223239 0.817343 -4.000000 +v 0.223239 0.817343 -3.000000 +v 0.299360 1.200027 -4.000000 +v 0.299360 1.200027 -3.000000 +v 0.516133 1.524450 -4.000000 +v 0.516133 1.524450 -3.000000 +v 0.840557 1.741223 -4.000000 +v 0.840557 1.741223 -3.000000 +v -0.500000 -1.000000 -2.500000 +v 0.500000 -1.000000 -2.500000 +v -0.500000 -1.000000 -6.500000 +v 0.500000 -1.000000 -6.500000 +v -0.500000 -2.000000 -5.500000 +v -0.500000 -2.000000 -2.500000 +v 0.500000 -2.000000 -2.500000 +v 0.500000 -2.000000 -5.500000 +v 1.250000 0.000000 -8.000000 +v 1.250000 0.500000 -8.000000 +v 1.250000 0.000000 -9.750000 +v 1.250000 0.500000 -9.750000 +v 1.750000 0.000000 -8.000000 +v 1.750000 0.500000 -8.000000 +v 1.750000 0.000000 -9.750000 +v 1.750000 0.500000 -9.750000 +v -1.000000 1.250000 -6.500000 +v 1.250000 0.000000 -10.250000 +v 1.750000 0.000000 -10.250000 +v 1.000000 1.250000 -6.500000 +v 1.750000 -1.000000 -9.750000 +v 1.250000 -1.000000 -9.750000 +v 1.750000 -1.000000 -10.250000 +v 1.250000 -1.000000 -10.250000 +v -1.750000 0.000000 -8.000000 +v -1.750000 0.500000 -8.000000 +v -1.750000 0.000000 -9.750000 +v -1.750000 0.500000 -9.750000 +v -1.250000 0.000000 -8.000000 +v -1.250000 0.500000 -8.000000 +v -1.250000 0.000000 -9.750000 +v -1.250000 0.500000 -9.750000 +v -1.000000 1.250000 -7.750000 +v -1.750000 0.000000 -10.250000 +v -1.250000 0.000000 -10.250000 +v 1.000000 1.250000 -7.750000 +v -1.250000 -1.000000 -9.750000 +v -1.750000 -1.000000 -9.750000 +v -1.250000 -1.000000 -10.250000 +v -1.750000 -1.000000 -10.250000 +v 1.000000 0.750000 -7.750000 +v 1.250000 -1.500000 -9.750000 +v -1.000000 0.750000 -7.750000 +v 1.250000 -1.500000 -10.250000 +v -1.250000 -1.500000 -9.750000 +v 1.000000 0.750000 -6.500000 +v -1.250000 -1.500000 -10.250000 +v -1.000000 0.750000 -6.500000 +v -1.500000 -2.000000 -2.750000 +v 1.500000 -2.000000 -2.750000 +v -1.500000 -2.000000 -5.250000 +v 1.500000 -2.000000 -5.250000 +v -1.500000 -4.000000 -5.250000 +v -1.500000 -4.000000 -2.750000 +v 1.500000 -4.000000 -2.750000 +v 1.500000 -4.000000 -5.250000 +v 1.500000 -2.187501 -3.937498 +v 1.500000 -2.562501 -3.937498 +v 1.500000 -2.187501 -3.062498 +v 1.500000 -2.562501 -3.062498 +v 2.000000 -2.187501 -3.937498 +v 2.000000 -2.562501 -3.937498 +v 2.000000 -2.187501 -3.062498 +v 2.000000 -2.562501 -3.062498 +v 2.500000 -1.687501 -3.937498 +v 2.875000 -1.687501 -3.937498 +v 2.500000 -1.687501 -3.062498 +v 2.875000 -1.687501 -3.062498 +v 2.500000 0.437499 -3.937498 +v 2.875000 0.437499 -3.937498 +v 2.500000 0.437499 -3.062498 +v 2.875000 0.437499 -3.062498 +v 2.000000 0.937498 -3.937498 +v 2.000000 0.937498 -3.062498 +v 2.000000 1.312498 -3.937498 +v 2.000000 1.312498 -3.062498 +v -0.750000 1.375000 -3.250000 +v 0.750000 1.375000 -3.250000 +v 1.750000 0.000000 -4.750000 +v 1.750000 0.000000 -3.000000 +v 1.616789 -0.669696 -4.750000 +v 1.616789 -0.669696 -3.000000 +v 1.237437 -1.237437 -4.750000 +v 1.237437 -1.237437 -3.000000 +v 0.669696 -1.616789 -4.750000 +v 0.669696 -1.616789 -3.000000 +v 0.000000 -1.750000 -4.750000 +v 0.000000 -1.750000 -3.000000 +v -0.669696 -1.616789 -4.750000 +v -0.669696 -1.616789 -3.000000 +v -1.237436 -1.237437 -4.750000 +v -1.237436 -1.237437 -3.000000 +v -1.616789 -0.669696 -4.750000 +v -1.616789 -0.669696 -3.000000 +v -1.750000 0.000000 -4.750000 +v -1.750000 0.000000 -3.000000 +v -0.750000 1.375000 -3.750000 +v 0.750000 1.375000 -3.750000 +v 0.750000 1.625000 -3.750000 +v -0.750000 1.625000 -3.750000 +v 0.750000 1.625000 -3.250000 +v -0.750000 1.625000 -3.250000 +vt 0.205104 0.294129 +vt 0.205104 0.205871 +vt 0.242265 0.205871 +vt 0.592105 0.390625 +vt 0.532895 0.359375 +vt 0.532895 0.265625 +vt 0.125000 0.781250 +vt 0.171053 0.812500 +vt 0.125000 0.812500 +vt 0.414474 0.148438 +vt 0.473684 0.242188 +vt 0.414474 0.242188 +vt 0.592105 -0.000000 +vt 0.651316 0.031250 +vt 0.651316 0.125000 +vt 0.710526 0.148438 +vt 0.769737 0.242188 +vt 0.710526 0.242188 +vt 0.651316 0.218750 +vt 0.532895 0.171875 +vt 0.651316 0.171875 +vt 0.651316 0.265625 +vt 0.184211 0.812500 +vt 0.171053 0.812500 +vt 0.184211 0.781250 +vt 0.532895 0.125000 +vt 0.264746 0.027479 +vt 0.276304 0.093750 +vt 0.236842 0.187471 +vt 0.496711 0.640625 +vt 0.509868 0.546875 +vt 0.496711 0.500000 +vt 0.608553 0.437500 +vt 0.628289 0.390625 +vt 0.628289 0.437500 +vt 0.569079 0.437500 +vt 0.608553 0.390625 +vt 0.509868 0.546875 +vt 0.496711 0.640625 +vt 0.496711 0.500000 +vt 0.608553 0.546875 +vt 0.588816 0.640625 +vt 0.588816 0.546875 +vt 0.509868 0.687500 +vt 0.496711 0.687500 +vt 0.509868 0.640625 +vt 0.529605 0.546875 +vt 0.529605 0.640625 +vt 0.588816 0.687500 +vt 0.575658 0.640625 +vt 0.555921 0.640625 +vt 0.575658 0.546875 +vt 0.575658 0.640625 +vt 0.509868 0.687500 +vt 0.509868 0.640625 +vt 0.476974 0.640625 +vt 0.476974 0.500000 +vt 0.575658 0.640625 +vt 0.588816 0.546875 +vt 0.575658 0.546875 +vt 0.569079 0.437500 +vt 0.401316 0.218750 +vt 0.322368 0.156250 +vt 0.401316 0.156250 +vt 0.414474 0.218750 +vt 0.401316 0.250000 +vt 0.296053 0.250000 +vt 0.309211 0.265625 +vt 0.309211 0.328125 +vt 0.401316 0.109375 +vt 0.309211 0.218750 +vt 0.322368 0.250000 +vt 0.309211 0.250000 +vt 0.401316 0.500000 +vt 0.414474 0.390625 +vt 0.414474 0.500000 +vt 0.322368 0.218750 +vt 0.309211 0.156250 +vt 0.414474 0.328125 +vt 0.414474 0.265625 +vt 0.427632 0.250000 +vt 0.322368 0.109375 +vt 0.322368 0.359375 +vt 0.322368 0.500000 +vt 0.309211 0.390625 +vt 0.322368 0.390625 +vt 0.401316 0.359375 +vt 0.401316 0.390625 +vt 0.414474 0.359375 +vt 0.322368 -0.000000 +vt 0.309211 0.031250 +vt 0.414474 0.156250 +vt 0.414474 0.109375 +vt 0.019737 0.753906 +vt 0.046053 0.789062 +vt 0.019737 0.800781 +vt 0.125000 0.800781 +vt 0.105263 0.753906 +vt 0.125000 0.753906 +vt 0.000000 0.753906 +vt -0.000000 0.800781 +vt 0.111842 0.687500 +vt 0.019737 0.734375 +vt 0.013158 0.687500 +vt 0.013158 0.867188 +vt 0.105263 0.820312 +vt 0.111842 0.867188 +vt 0.046053 0.769531 +vt 0.078947 0.789062 +vt 0.105263 0.734375 +vt 0.019737 0.820312 +vt 0.105263 0.800781 +vt 0.078947 0.765625 +vt 0.078947 0.789062 +vt 0.105263 0.753906 +vt 0.105263 0.800781 +vt 0.019737 0.753906 +vt -0.000000 0.800781 +vt 0.000000 0.753906 +vt 0.125000 0.753906 +vt 0.125000 0.800781 +vt 0.105263 0.734375 +vt 0.013158 0.687500 +vt 0.111842 0.687500 +vt 0.019737 0.820312 +vt 0.111842 0.867188 +vt 0.013158 0.867188 +vt 0.046053 0.789062 +vt 0.078947 0.765625 +vt 0.046053 0.769531 +vt 0.019737 0.734375 +vt 0.105263 0.820312 +vt 0.019737 0.800781 +vt 0.946511 0.187500 +vt 0.939054 0.230254 +vt 0.903051 0.144746 +vt 0.858679 0.131639 +vt 0.891942 0.164362 +vt 0.878164 0.243361 +vt 0.939054 0.105254 +vt 0.903051 0.105254 +vt 0.903051 0.019746 +vt 0.858679 0.006639 +vt 0.891941 0.039361 +vt 0.878164 0.118361 +vt 0.671053 0.148438 +vt 0.493421 0.750000 +vt 0.414474 0.812500 +vt 0.414474 0.750000 +vt 0.519737 0.812500 +vt 0.519737 0.750000 +vt 0.388158 0.750000 +vt 0.388158 0.812500 +vt 0.414474 0.875000 +vt 0.493421 0.812500 +vt 0.519737 0.875000 +vt 0.414474 0.687500 +vt 0.171053 0.750000 +vt 0.125000 0.718750 +vt 0.171053 0.718750 +vt 0.125000 0.687500 +vt 0.171053 0.687500 +vt 0.171053 0.781250 +vt 0.125000 0.750000 +vt 0.342105 0.781250 +vt 0.328947 0.750000 +vt 0.342105 0.750000 +vt 0.171053 0.718750 +vt 0.184211 0.718750 +vt 0.184211 0.750000 +vt 0.210526 0.812500 +vt 0.230263 0.390625 +vt 0.243421 0.468750 +vt 0.230263 0.468750 +vt 0.223684 0.781250 +vt 0.210526 0.781250 +vt 0.223684 0.750000 +vt 0.184211 0.687500 +vt 0.210526 0.718750 +vt 0.210526 0.781250 +vt 0.210526 0.750000 +vt 0.388158 0.750000 +vt 0.342105 0.718750 +vt 0.388158 0.718750 +vt 0.328947 0.718750 +vt 0.342105 0.718750 +vt 0.388158 0.812500 +vt 0.342105 0.812500 +vt 0.342105 0.687500 +vt 0.388158 0.781250 +vt 0.342105 0.812500 +vt 0.328947 0.812500 +vt 0.328947 0.781250 +vt 0.302632 0.718750 +vt 0.309211 0.468750 +vt 0.296053 0.390625 +vt 0.309211 0.390625 +vt 0.296053 0.359375 +vt 0.243421 0.390625 +vt 0.243421 0.359375 +vt 0.302632 0.687500 +vt 0.328947 0.687500 +vt 0.302632 0.750000 +vt 0.302632 0.781250 +vt 0.289474 0.718750 +vt 0.296053 0.468750 +vt 0.289474 0.687500 +vt 0.302632 0.687500 +vt 0.289474 0.781250 +vt 0.223684 0.812500 +vt 0.210526 0.687500 +vt 0.223684 0.687500 +vt 0.223684 0.718750 +vt 0.302632 0.781250 +vt 0.289474 0.750000 +vt 0.243421 0.500000 +vt 0.296053 0.500000 +vt 0.618421 0.687500 +vt 0.684211 0.875000 +vt 0.618421 0.875000 +vt 0.736842 0.875000 +vt 0.802632 0.687500 +vt 0.802632 0.875000 +vt 0.684211 0.562500 +vt 0.684211 0.687500 +vt 0.618421 1.000000 +vt 0.565789 0.687500 +vt 0.835526 0.531250 +vt 0.825658 0.562500 +vt 0.825658 0.531250 +vt 0.868421 0.531250 +vt 0.858553 0.562500 +vt 0.858553 0.531250 +vt 0.835526 0.562500 +vt 0.802632 0.562500 +vt 0.802632 0.531250 +vt 0.835526 0.640625 +vt 0.825658 0.578125 +vt 0.802632 0.625000 +vt 0.802632 0.578125 +vt 0.858553 0.640625 +vt 0.835526 0.773438 +vt 0.825658 0.640625 +vt 0.802632 0.773438 +vt 0.802632 0.640625 +vt 0.825658 0.789062 +vt 0.802632 0.835938 +vt 0.802632 0.789062 +vt 0.858553 0.773438 +vt 0.835526 0.851562 +vt 0.868421 0.625000 +vt 0.868421 0.578125 +vt 0.868421 0.640625 +vt 0.858553 0.851562 +vt 0.868421 0.789062 +vt 0.868421 0.835938 +vt 0.825658 0.625000 +vt 0.825658 0.773438 +vt 0.825658 0.835938 +vt 0.684211 0.890625 +vt 0.723684 0.875000 +vt 0.723684 0.890625 +vt 0.723684 0.921875 +vt 0.684211 0.937500 +vt 0.684211 0.921875 +vt 0.799894 0.379950 +vt 0.824715 0.321000 +vt 0.859817 0.321000 +vt 0.859817 0.430375 +vt 0.874696 0.453987 +vt 0.888129 0.531009 +vt 0.513158 0.242188 +vt 0.473684 0.148438 +vt 0.242265 0.294129 +vt 0.233740 0.307657 +vt 0.223684 0.312408 +vt 0.213628 0.307658 +vt 0.199407 0.273883 +vt 0.197407 0.250000 +vt 0.199407 0.226117 +vt 0.213628 0.192342 +vt 0.223684 0.187592 +vt 0.233740 0.192343 +vt 0.247961 0.226117 +vt 0.249961 0.250000 +vt 0.247961 0.273883 +vt 0.651316 0.359375 +vt 0.532895 0.031250 +vt 0.769737 0.148438 +vt 0.532895 0.218750 +vt 0.221741 0.180337 +vt 0.208939 0.160021 +vt 0.200384 0.129615 +vt 0.197381 0.093750 +vt 0.200384 0.057884 +vt 0.208939 0.027479 +vt 0.221741 0.007163 +vt 0.236842 0.000029 +vt 0.251943 0.007163 +vt 0.273300 0.057885 +vt 0.273300 0.129616 +vt 0.264746 0.160021 +vt 0.251943 0.180337 +vt 0.509868 0.640625 +vt 0.569079 0.390625 +vt 0.608553 0.640625 +vt 0.575658 0.687500 +vt 0.555921 0.546875 +vt 0.575658 0.687500 +vt 0.588816 0.640625 +vt 0.608553 0.500000 +vt 0.608553 0.500000 +vt 0.414474 0.250000 +vt 0.296053 0.359375 +vt 0.250000 0.359375 +vt 0.250000 0.296875 +vt 0.269737 0.250000 +vt 0.453947 0.250000 +vt 0.427632 0.359375 +vt 0.473684 0.296875 +vt 0.473684 0.359375 +vt 0.309211 0.109375 +vt 0.309211 0.500000 +vt 0.309211 0.359375 +vt 0.401316 -0.000000 +vt 0.414474 0.031250 +vt 0.414474 0.093750 +vt 0.309211 0.093750 +vt 0.930795 0.243361 +vt 0.921053 0.247964 +vt 0.911310 0.243361 +vt 0.903051 0.230254 +vt 0.897532 0.210638 +vt 0.895594 0.187500 +vt 0.897532 0.164362 +vt 0.911310 0.131639 +vt 0.921053 0.127036 +vt 0.930795 0.131639 +vt 0.939054 0.144746 +vt 0.944573 0.164362 +vt 0.944573 0.210638 +vt 0.868421 0.247964 +vt 0.844901 0.210638 +vt 0.858679 0.243361 +vt 0.850419 0.230254 +vt 0.842963 0.187500 +vt 0.844901 0.164362 +vt 0.850419 0.144746 +vt 0.868421 0.127036 +vt 0.878164 0.131639 +vt 0.886423 0.144746 +vt 0.893879 0.187500 +vt 0.891942 0.210638 +vt 0.886423 0.230254 +vt 0.930795 0.118361 +vt 0.921053 0.122964 +vt 0.911310 0.118361 +vt 0.897532 0.085639 +vt 0.895594 0.062500 +vt 0.897532 0.039362 +vt 0.911310 0.006639 +vt 0.921053 0.002036 +vt 0.930795 0.006639 +vt 0.939054 0.019746 +vt 0.944573 0.039362 +vt 0.946511 0.062500 +vt 0.944573 0.085638 +vt 0.868421 0.122964 +vt 0.858679 0.118361 +vt 0.850419 0.105254 +vt 0.844901 0.085638 +vt 0.842963 0.062500 +vt 0.844901 0.039362 +vt 0.850419 0.019746 +vt 0.868421 0.002036 +vt 0.878164 0.006639 +vt 0.886423 0.019746 +vt 0.893879 0.062500 +vt 0.891941 0.085638 +vt 0.886423 0.105254 +vt 0.671053 0.242188 +vt 0.519737 0.687500 +vt 0.210526 0.687500 +vt 0.388158 0.687500 +vt 0.302632 0.812500 +vt 0.289474 0.812500 +vt 0.736842 0.687500 +vt 0.618421 0.562500 +vt 0.684211 1.000000 +vt 0.565789 0.875000 +vt 0.868421 0.562500 +vt 0.868421 0.773438 +vt 0.684211 0.875000 +vt 0.723684 0.937500 +vt 0.888129 0.421634 +vt 0.796403 0.421634 +vt 0.809836 0.344612 +vt 0.842266 0.312709 +vt 0.874696 0.344612 +vt 0.884638 0.379950 +vt 0.884638 0.489325 +vt 0.796403 0.531009 +vt 0.799894 0.489325 +vt 0.809836 0.453987 +vt 0.824715 0.430375 +vt 0.842266 0.422084 +vt 0.513158 0.148438 +vt 0.078947 0.175781 +vt -0.000000 0.210938 +vt -0.000000 0.175781 +vt 0.078947 0.492188 +vt 0.000000 0.527344 +vt 0.000000 0.492188 +vt 0.078947 0.210938 +vt -0.000000 0.246094 +vt 0.078947 0.527344 +vt 0.000000 0.562500 +vt 0.078947 0.281250 +vt -0.000000 0.316406 +vt -0.000000 0.281250 +vt 0.078947 0.246094 +vt 0.078947 0.000000 +vt 0.000000 0.035156 +vt 0.000000 0.000000 +vt 0.078947 0.316406 +vt -0.000000 0.351562 +vt 0.078947 0.035156 +vt 0.000000 0.070312 +vt 0.078947 0.351562 +vt -0.000000 0.386719 +vt 0.078947 0.070312 +vt 0.000000 0.105469 +vt 0.078947 0.386719 +vt 0.000000 0.421875 +vt 0.078947 0.105469 +vt -0.000000 0.140625 +vt 0.078947 0.421875 +vt 0.000000 0.457031 +vt 0.078947 0.140625 +vt 0.078947 0.457031 +vt 0.092105 0.210938 +vt 0.092105 0.246094 +vt 0.092105 0.281250 +vt 0.092105 0.316406 +vt 0.092105 0.351562 +vt 0.092105 0.417969 +vt 0.092105 0.421875 +vt 0.092105 0.488281 +vt 0.092105 0.492188 +vt 0.092105 0.527344 +vt 0.078947 0.562500 +vt 0.092105 0.000000 +vt 0.092105 0.066406 +vt 0.092105 0.101562 +vt 0.092105 0.105469 +vt 0.092105 0.140625 +vt 0.092105 0.175781 +vt 0.092105 0.312500 +vt 0.184211 0.343750 +vt 0.092105 0.343750 +vt 0.092105 0.062500 +vt 0.184211 0.093750 +vt 0.092105 0.093750 +vt 0.184211 0.375000 +vt 0.092105 0.375000 +vt 0.184211 0.125000 +vt 0.092105 0.125000 +vt 0.184211 0.406250 +vt 0.092105 0.406250 +vt 0.184211 0.156250 +vt 0.092105 0.156250 +vt 0.184211 0.437500 +vt 0.092105 0.437500 +vt 0.184211 0.187500 +vt 0.092105 0.187500 +vt 0.184211 0.468750 +vt 0.092105 0.468750 +vt 0.184211 0.218750 +vt 0.092105 0.218750 +vt 0.184211 0.500000 +vt 0.092105 0.500000 +vt 0.092105 0.250000 +vt 0.184211 0.281250 +vt 0.092105 0.281250 +vt 0.184211 0.250000 +vt 0.184211 0.031250 +vt 0.092105 0.031250 +vt 0.184211 0.312500 +vt 0.184211 0.062500 +vt 0.197368 0.183594 +vt 0.197368 0.191406 +vt 0.197368 0.222656 +vt 0.197368 0.253906 +vt 0.197368 0.285156 +vt 0.197368 0.339844 +vt 0.197368 0.371094 +vt 0.197368 0.378906 +vt 0.197368 0.410156 +vt 0.197368 0.464844 +vt 0.197368 0.496094 +vt 0.184211 0.000000 +vt 0.197368 0.027344 +vt 0.197368 0.058594 +vt 0.197368 0.066406 +vt 0.197368 0.121094 +vt 0.197368 0.128906 vt 0.480263 0.406250 vt 0.414474 0.421875 vt 0.414474 0.406250 @@ -2370,28 +6557,6 @@ vt 0.947368 0.140625 vt 0.973684 0.140625 vt 0.947368 0.164062 vt 0.973684 0.164062 -vt 0.375000 0.843750 -vt 0.309211 0.828125 -vt 0.375000 0.828125 -vt 0.375000 0.937500 -vt 0.309211 0.921875 -vt 0.375000 0.921875 -vt 0.375000 0.906250 -vt 0.309211 0.890625 -vt 0.375000 0.890625 -vt 0.375000 0.875000 -vt 0.309211 0.859375 -vt 0.375000 0.859375 -vt 0.309211 0.812500 -vt 0.375000 0.812500 -vt 0.309211 0.906250 -vt 0.309211 0.875000 -vt 0.309211 0.843750 -vt 0.476974 0.625000 -vt 0.371711 0.609375 -vt 0.476974 0.609375 -vt 0.371711 0.593750 -vt 0.476974 0.593750 vt 0.842105 -0.000000 vt 0.796053 0.039062 vt 0.796053 0.000000 @@ -2409,640 +6574,6 @@ vt 0.842105 0.234375 vt 0.796053 0.273438 vt 0.842105 0.273438 vt 0.796053 0.312500 -vt 0.476974 0.640625 -vt 0.371711 0.625000 -vt 0.476974 0.656250 -vt 0.371711 0.640625 -vt 0.476974 0.671875 -vt 0.371711 0.656250 -vt 0.476974 0.687500 -vt 0.371711 0.671875 -vt 0.476974 0.515625 -vt 0.371711 0.500000 -vt 0.476974 0.500000 -vt 0.476974 0.531250 -vt 0.371711 0.515625 -vt 0.476974 0.546875 -vt 0.371711 0.531250 -vt 0.476974 0.562500 -vt 0.371711 0.546875 -vt 0.476974 0.578125 -vt 0.371711 0.562500 -vt 0.371711 0.578125 -vt 0.365132 0.625000 -vt 0.365132 0.609375 -vt 0.365132 0.593750 -vt 0.365132 0.578125 -vt 0.365132 0.562500 -vt 0.365132 0.546875 -vt 0.365132 0.531250 -vt 0.365132 0.515625 -vt 0.365132 0.500000 -vt 0.371711 0.687500 -vt 0.365132 0.671875 -vt 0.365132 0.656250 -vt 0.365132 0.640625 -vt 0.338816 0.593750 -vt 0.338816 0.609375 -vt 0.338816 0.625000 -vt 0.338816 0.640625 -vt 0.338816 0.656250 -vt 0.365132 0.687500 -vt 0.338816 0.671875 -vt 0.338816 0.500000 -vt 0.338816 0.515625 -vt 0.338816 0.531250 -vt 0.338816 0.546875 -vt 0.338816 0.562500 -vt 0.338816 0.578125 -vt 0.332237 0.609375 -vt 0.332237 0.593750 -vt 0.332237 0.578125 -vt 0.332237 0.562500 -vt 0.332237 0.546875 -vt 0.332237 0.531250 -vt 0.332237 0.515625 -vt 0.332237 0.500000 -vt 0.332237 0.687500 -vt 0.332237 0.671875 -vt 0.332237 0.656250 -vt 0.332237 0.640625 -vt 0.332237 0.625000 -vt 0.200658 0.593750 -vt 0.200658 0.609375 -vt 0.200658 0.625000 -vt 0.200658 0.640625 -vt 0.200658 0.656250 -vt 0.200658 0.671875 -vt 0.200658 0.500000 -vt 0.200658 0.515625 -vt 0.200658 0.531250 -vt 0.200658 0.546875 -vt 0.200658 0.562500 -vt 0.200658 0.578125 -vt 0.194079 0.562500 -vt 0.194079 0.546875 -vt 0.194079 0.578125 -vt 0.194079 0.593750 -vt 0.194079 0.609375 -vt 0.194079 0.625000 -vt 0.194079 0.640625 -vt 0.194079 0.656250 -vt 0.200658 0.687500 -vt 0.194079 0.671875 -vt 0.194079 0.500000 -vt 0.194079 0.531250 -vt 0.194079 0.515625 -vt 0.128289 0.593750 -vt 0.128289 0.609375 -vt 0.128289 0.625000 -vt 0.128289 0.640625 -vt 0.128289 0.656250 -vt 0.194079 0.687500 -vt 0.128289 0.671875 -vt 0.128289 0.500000 -vt 0.128289 0.515625 -vt 0.128289 0.531250 -vt 0.128289 0.546875 -vt 0.128289 0.562500 -vt 0.128289 0.578125 -vt 0.121711 0.593750 -vt 0.121711 0.578125 -vt 0.121711 0.609375 -vt 0.121711 0.640625 -vt 0.121711 0.625000 -vt 0.121711 0.671875 -vt 0.121711 0.656250 -vt 0.128289 0.687500 -vt 0.121711 0.500000 -vt 0.121711 0.515625 -vt 0.121711 0.531250 -vt 0.121711 0.546875 -vt 0.121711 0.562500 -vt 0.121711 0.687500 -vt 0.092105 0.593750 -vt 0.092105 0.609375 -vt 0.092105 0.625000 -vt 0.092105 0.640625 -vt 0.092105 0.656250 -vt 0.092105 0.671875 -vt 0.092105 0.500000 -vt 0.092105 0.515625 -vt 0.092105 0.531250 -vt 0.092105 0.546875 -vt 0.092105 0.562500 -vt 0.092105 0.578125 -vt 0.476974 0.609375 -vt 0.371711 0.593750 -vt 0.476974 0.593750 -vt 0.476974 0.625000 -vt 0.371711 0.609375 -vt 0.476974 0.640625 -vt 0.371711 0.625000 -vt 0.476974 0.656250 -vt 0.371711 0.640625 -vt 0.476974 0.671875 -vt 0.371711 0.656250 -vt 0.476974 0.687500 -vt 0.371711 0.671875 -vt 0.476974 0.515625 -vt 0.371711 0.500000 -vt 0.476974 0.500000 -vt 0.476974 0.531250 -vt 0.371711 0.515625 -vt 0.476974 0.546875 -vt 0.371711 0.531250 -vt 0.476974 0.562500 -vt 0.371711 0.546875 -vt 0.476974 0.578125 -vt 0.371711 0.562500 -vt 0.371711 0.578125 -vt 0.365132 0.625000 -vt 0.365132 0.609375 -vt 0.365132 0.593750 -vt 0.365132 0.578125 -vt 0.365132 0.562500 -vt 0.365132 0.546875 -vt 0.365132 0.531250 -vt 0.365132 0.515625 -vt 0.365132 0.500000 -vt 0.371711 0.687500 -vt 0.365132 0.671875 -vt 0.365132 0.656250 -vt 0.365132 0.640625 -vt 0.338816 0.593750 -vt 0.338816 0.609375 -vt 0.338816 0.625000 -vt 0.338816 0.640625 -vt 0.338816 0.656250 -vt 0.365132 0.687500 -vt 0.338816 0.671875 -vt 0.338816 0.500000 -vt 0.338816 0.515625 -vt 0.338816 0.531250 -vt 0.338816 0.546875 -vt 0.338816 0.562500 -vt 0.338816 0.578125 -vt 0.332237 0.609375 -vt 0.332237 0.593750 -vt 0.332237 0.578125 -vt 0.332237 0.562500 -vt 0.332237 0.546875 -vt 0.332237 0.531250 -vt 0.332237 0.515625 -vt 0.332237 0.500000 -vt 0.332237 0.687500 -vt 0.332237 0.671875 -vt 0.332237 0.656250 -vt 0.332237 0.640625 -vt 0.332237 0.625000 -vt 0.200658 0.593750 -vt 0.200658 0.609375 -vt 0.200658 0.625000 -vt 0.200658 0.640625 -vt 0.200658 0.656250 -vt 0.200658 0.671875 -vt 0.200658 0.500000 -vt 0.200658 0.515625 -vt 0.200658 0.531250 -vt 0.200658 0.546875 -vt 0.200658 0.562500 -vt 0.200658 0.578125 -vt 0.194079 0.546875 -vt 0.194079 0.578125 -vt 0.194079 0.562500 -vt 0.194079 0.593750 -vt 0.194079 0.609375 -vt 0.194079 0.625000 -vt 0.194079 0.640625 -vt 0.194079 0.671875 -vt 0.194079 0.656250 -vt 0.200658 0.687500 -vt 0.194079 0.500000 -vt 0.194079 0.531250 -vt 0.194079 0.515625 -vt 0.128289 0.593750 -vt 0.128289 0.609375 -vt 0.128289 0.625000 -vt 0.128289 0.640625 -vt 0.128289 0.656250 -vt 0.194079 0.687500 -vt 0.128289 0.671875 -vt 0.128289 0.500000 -vt 0.128289 0.515625 -vt 0.128289 0.531250 -vt 0.128289 0.546875 -vt 0.128289 0.562500 -vt 0.128289 0.578125 -vt 0.121711 0.593750 -vt 0.121711 0.578125 -vt 0.121711 0.625000 -vt 0.121711 0.609375 -vt 0.121711 0.656250 -vt 0.121711 0.640625 -vt 0.121711 0.687500 -vt 0.121711 0.671875 -vt 0.121711 0.515625 -vt 0.121711 0.500000 -vt 0.121711 0.546875 -vt 0.121711 0.531250 -vt 0.121711 0.562500 -vt 0.092105 0.593750 -vt 0.092105 0.609375 -vt 0.092105 0.625000 -vt 0.092105 0.640625 -vt 0.092105 0.656250 -vt 0.092105 0.671875 -vt 0.092105 0.500000 -vt 0.092105 0.515625 -vt 0.092105 0.531250 -vt 0.092105 0.546875 -vt 0.092105 0.562500 -vt 0.092105 0.578125 -vt 0.476974 0.625000 -vt 0.371711 0.609375 -vt 0.476974 0.609375 -vt 0.371711 0.593750 -vt 0.476974 0.593750 -vt 0.476974 0.640625 -vt 0.371711 0.625000 -vt 0.476974 0.656250 -vt 0.371711 0.640625 -vt 0.476974 0.671875 -vt 0.371711 0.656250 -vt 0.476974 0.687500 -vt 0.371711 0.671875 -vt 0.476974 0.515625 -vt 0.371711 0.500000 -vt 0.476974 0.500000 -vt 0.476974 0.531250 -vt 0.371711 0.515625 -vt 0.476974 0.546875 -vt 0.371711 0.531250 -vt 0.476974 0.562500 -vt 0.371711 0.546875 -vt 0.476974 0.578125 -vt 0.371711 0.562500 -vt 0.371711 0.578125 -vt 0.365132 0.625000 -vt 0.365132 0.609375 -vt 0.365132 0.593750 -vt 0.365132 0.578125 -vt 0.365132 0.562500 -vt 0.365132 0.546875 -vt 0.365132 0.531250 -vt 0.365132 0.515625 -vt 0.365132 0.500000 -vt 0.371711 0.687500 -vt 0.365132 0.671875 -vt 0.365132 0.656250 -vt 0.365132 0.640625 -vt 0.338816 0.593750 -vt 0.338816 0.609375 -vt 0.338816 0.625000 -vt 0.338816 0.640625 -vt 0.338816 0.656250 -vt 0.365132 0.687500 -vt 0.338816 0.671875 -vt 0.338816 0.500000 -vt 0.338816 0.515625 -vt 0.338816 0.531250 -vt 0.338816 0.546875 -vt 0.338816 0.562500 -vt 0.338816 0.578125 -vt 0.332237 0.609375 -vt 0.332237 0.593750 -vt 0.332237 0.578125 -vt 0.332237 0.562500 -vt 0.332237 0.546875 -vt 0.332237 0.531250 -vt 0.332237 0.515625 -vt 0.332237 0.500000 -vt 0.338816 0.687500 -vt 0.332237 0.671875 -vt 0.332237 0.656250 -vt 0.332237 0.640625 -vt 0.332237 0.625000 -vt 0.200658 0.593750 -vt 0.200658 0.609375 -vt 0.200658 0.625000 -vt 0.200658 0.640625 -vt 0.200658 0.656250 -vt 0.332237 0.687500 -vt 0.200658 0.671875 -vt 0.200658 0.500000 -vt 0.200658 0.515625 -vt 0.200658 0.531250 -vt 0.200658 0.546875 -vt 0.200658 0.562500 -vt 0.200658 0.578125 -vt 0.194079 0.546875 -vt 0.194079 0.578125 -vt 0.194079 0.562500 -vt 0.194079 0.593750 -vt 0.194079 0.609375 -vt 0.194079 0.640625 -vt 0.194079 0.625000 -vt 0.194079 0.671875 -vt 0.194079 0.656250 -vt 0.200658 0.687500 -vt 0.194079 0.500000 -vt 0.194079 0.531250 -vt 0.194079 0.515625 -vt 0.128289 0.593750 -vt 0.128289 0.609375 -vt 0.128289 0.625000 -vt 0.128289 0.640625 -vt 0.128289 0.656250 -vt 0.194079 0.687500 -vt 0.128289 0.671875 -vt 0.128289 0.500000 -vt 0.128289 0.515625 -vt 0.128289 0.531250 -vt 0.128289 0.546875 -vt 0.128289 0.562500 -vt 0.128289 0.578125 -vt 0.121711 0.593750 -vt 0.121711 0.578125 -vt 0.121711 0.609375 -vt 0.121711 0.625000 -vt 0.121711 0.656250 -vt 0.121711 0.640625 -vt 0.121711 0.687500 -vt 0.121711 0.671875 -vt 0.121711 0.515625 -vt 0.121711 0.500000 -vt 0.121711 0.546875 -vt 0.121711 0.531250 -vt 0.121711 0.562500 -vt 0.092105 0.593750 -vt 0.092105 0.609375 -vt 0.092105 0.625000 -vt 0.092105 0.640625 -vt 0.092105 0.656250 -vt 0.092105 0.671875 -vt 0.092105 0.500000 -vt 0.092105 0.515625 -vt 0.092105 0.531250 -vt 0.092105 0.546875 -vt 0.092105 0.562500 -vt 0.092105 0.578125 -vt 0.476974 0.609375 -vt 0.371711 0.593750 -vt 0.476974 0.593750 -vt 0.476974 0.625000 -vt 0.371711 0.609375 -vt 0.476974 0.640625 -vt 0.371711 0.625000 -vt 0.476974 0.656250 -vt 0.371711 0.640625 -vt 0.476974 0.671875 -vt 0.371711 0.656250 -vt 0.476974 0.687500 -vt 0.371711 0.671875 -vt 0.476974 0.515625 -vt 0.371711 0.500000 -vt 0.476974 0.500000 -vt 0.476974 0.531250 -vt 0.371711 0.515625 -vt 0.476974 0.546875 -vt 0.371711 0.531250 -vt 0.476974 0.562500 -vt 0.371711 0.546875 -vt 0.476974 0.578125 -vt 0.371711 0.562500 -vt 0.371711 0.578125 -vt 0.365132 0.625000 -vt 0.365132 0.609375 -vt 0.365132 0.593750 -vt 0.365132 0.578125 -vt 0.365132 0.562500 -vt 0.365132 0.546875 -vt 0.365132 0.531250 -vt 0.365132 0.515625 -vt 0.365132 0.500000 -vt 0.365132 0.687500 -vt 0.365132 0.671875 -vt 0.365132 0.656250 -vt 0.365132 0.640625 -vt 0.338816 0.593750 -vt 0.338816 0.609375 -vt 0.338816 0.625000 -vt 0.338816 0.640625 -vt 0.338816 0.656250 -vt 0.338816 0.671875 -vt 0.338816 0.500000 -vt 0.338816 0.515625 -vt 0.338816 0.531250 -vt 0.338816 0.546875 -vt 0.338816 0.562500 -vt 0.338816 0.578125 -vt 0.332237 0.593750 -vt 0.332237 0.578125 -vt 0.332237 0.562500 -vt 0.332237 0.546875 -vt 0.332237 0.531250 -vt 0.332237 0.515625 -vt 0.332237 0.500000 -vt 0.338816 0.687500 -vt 0.332237 0.671875 -vt 0.332237 0.656250 -vt 0.332237 0.640625 -vt 0.332237 0.625000 -vt 0.332237 0.609375 -vt 0.200658 0.593750 -vt 0.200658 0.609375 -vt 0.200658 0.625000 -vt 0.200658 0.640625 -vt 0.200658 0.656250 -vt 0.332237 0.687500 -vt 0.200658 0.671875 -vt 0.200658 0.500000 -vt 0.200658 0.515625 -vt 0.200658 0.531250 -vt 0.200658 0.546875 -vt 0.200658 0.562500 -vt 0.200658 0.578125 -vt 0.194079 0.562500 -vt 0.194079 0.546875 -vt 0.194079 0.578125 -vt 0.194079 0.593750 -vt 0.194079 0.609375 -vt 0.194079 0.625000 -vt 0.194079 0.640625 -vt 0.194079 0.671875 -vt 0.194079 0.656250 -vt 0.200658 0.687500 -vt 0.194079 0.500000 -vt 0.194079 0.531250 -vt 0.194079 0.515625 -vt 0.128289 0.593750 -vt 0.128289 0.609375 -vt 0.128289 0.625000 -vt 0.128289 0.640625 -vt 0.128289 0.656250 -vt 0.194079 0.687500 -vt 0.128289 0.671875 -vt 0.128289 0.500000 -vt 0.128289 0.515625 -vt 0.128289 0.531250 -vt 0.128289 0.546875 -vt 0.128289 0.562500 -vt 0.128289 0.578125 -vt 0.121711 0.593750 -vt 0.121711 0.578125 -vt 0.121711 0.609375 -vt 0.121711 0.625000 -vt 0.121711 0.640625 -vt 0.121711 0.671875 -vt 0.121711 0.656250 -vt 0.121711 0.687500 -vt 0.121711 0.500000 -vt 0.121711 0.515625 -vt 0.121711 0.531250 -vt 0.121711 0.546875 -vt 0.121711 0.562500 -vt 0.092105 0.593750 -vt 0.092105 0.609375 -vt 0.092105 0.625000 -vt 0.092105 0.640625 -vt 0.092105 0.656250 -vt 0.092105 0.671875 -vt 0.092105 0.500000 -vt 0.092105 0.515625 -vt 0.092105 0.531250 -vt 0.092105 0.546875 -vt 0.092105 0.562500 -vt 0.092105 0.578125 -vt 0.476974 0.625000 -vt 0.371711 0.609375 -vt 0.476974 0.609375 -vt 0.371711 0.593750 -vt 0.476974 0.593750 -vt 0.476974 0.640625 -vt 0.371711 0.625000 -vt 0.476974 0.656250 -vt 0.371711 0.640625 -vt 0.476974 0.671875 -vt 0.371711 0.656250 -vt 0.476974 0.687500 -vt 0.371711 0.671875 -vt 0.476974 0.515625 -vt 0.371711 0.500000 -vt 0.476974 0.500000 -vt 0.476974 0.531250 -vt 0.371711 0.515625 -vt 0.476974 0.546875 -vt 0.371711 0.531250 -vt 0.476974 0.562500 -vt 0.371711 0.546875 -vt 0.476974 0.578125 -vt 0.371711 0.562500 -vt 0.371711 0.578125 -vt 0.365132 0.625000 -vt 0.365132 0.609375 -vt 0.365132 0.593750 -vt 0.365132 0.578125 -vt 0.365132 0.562500 -vt 0.365132 0.546875 -vt 0.365132 0.531250 -vt 0.365132 0.515625 -vt 0.365132 0.500000 -vt 0.371711 0.687500 -vt 0.365132 0.671875 -vt 0.365132 0.656250 -vt 0.365132 0.640625 -vt 0.338816 0.593750 -vt 0.338816 0.609375 -vt 0.338816 0.625000 -vt 0.338816 0.640625 -vt 0.338816 0.656250 -vt 0.365132 0.687500 -vt 0.338816 0.671875 -vt 0.338816 0.500000 -vt 0.338816 0.515625 -vt 0.338816 0.531250 -vt 0.338816 0.546875 -vt 0.338816 0.562500 -vt 0.338816 0.578125 -vt 0.332237 0.609375 -vt 0.332237 0.593750 -vt 0.332237 0.578125 -vt 0.332237 0.562500 -vt 0.332237 0.546875 -vt 0.332237 0.531250 -vt 0.332237 0.515625 -vt 0.332237 0.500000 -vt 0.338816 0.687500 -vt 0.332237 0.671875 -vt 0.332237 0.656250 -vt 0.332237 0.640625 -vt 0.332237 0.625000 -vt 0.200658 0.593750 -vt 0.200658 0.609375 -vt 0.200658 0.625000 -vt 0.200658 0.640625 -vt 0.200658 0.656250 -vt 0.332237 0.687500 -vt 0.200658 0.671875 -vt 0.200658 0.500000 -vt 0.200658 0.515625 -vt 0.200658 0.531250 -vt 0.200658 0.546875 -vt 0.200658 0.562500 -vt 0.200658 0.578125 -vt 0.194079 0.562500 -vt 0.194079 0.546875 -vt 0.194079 0.578125 -vt 0.194079 0.593750 -vt 0.194079 0.609375 -vt 0.194079 0.625000 -vt 0.194079 0.640625 -vt 0.194079 0.656250 -vt 0.200658 0.687500 -vt 0.194079 0.671875 -vt 0.194079 0.500000 -vt 0.194079 0.531250 -vt 0.194079 0.515625 -vt 0.128289 0.593750 -vt 0.128289 0.609375 -vt 0.128289 0.625000 -vt 0.128289 0.640625 -vt 0.128289 0.656250 -vt 0.194079 0.687500 -vt 0.128289 0.671875 -vt 0.128289 0.500000 -vt 0.128289 0.515625 -vt 0.128289 0.531250 -vt 0.128289 0.546875 -vt 0.128289 0.562500 -vt 0.128289 0.578125 -vt 0.121711 0.593750 -vt 0.121711 0.578125 -vt 0.121711 0.609375 -vt 0.121711 0.625000 -vt 0.121711 0.640625 -vt 0.121711 0.656250 -vt 0.128289 0.687500 -vt 0.121711 0.671875 -vt 0.121711 0.500000 -vt 0.121711 0.515625 -vt 0.121711 0.546875 -vt 0.121711 0.531250 -vt 0.121711 0.562500 -vt 0.121711 0.687500 -vt 0.092105 0.593750 -vt 0.092105 0.609375 -vt 0.092105 0.625000 -vt 0.092105 0.640625 -vt 0.092105 0.656250 -vt 0.092105 0.671875 -vt 0.092105 0.500000 -vt 0.092105 0.515625 -vt 0.092105 0.531250 -vt 0.092105 0.546875 -vt 0.092105 0.562500 -vt 0.092105 0.578125 vt 0.092105 0.242188 vt 0.092105 0.277344 vt 0.092105 0.312500 @@ -3074,92 +6605,11 @@ vt 0.197368 0.035156 vt 0.197368 0.089844 vt 0.197368 0.097656 vt 0.197368 0.152344 -vt 0.338816 0.687500 -vt 0.092105 0.605469 -vt 0.092105 0.621094 -vt 0.092105 0.636719 -vt 0.092105 0.652344 -vt 0.092105 0.667969 -vt 0.092105 0.683594 -vt 0.092105 0.511719 -vt 0.092105 0.527344 -vt 0.092105 0.542969 -vt 0.092105 0.558594 -vt 0.092105 0.574219 -vt 0.092105 0.589844 -vt 0.769737 -0.000000 vt 0.480263 0.500000 vt 1.000000 0.375000 vt 0.973684 0.375000 vt 0.973684 0.046875 -vt 0.309211 0.937500 vt 0.842105 0.312500 -vt 0.338816 0.687500 -vt 0.092105 0.605469 -vt 0.092105 0.621094 -vt 0.092105 0.636719 -vt 0.092105 0.652344 -vt 0.092105 0.667969 -vt 0.092105 0.683594 -vt 0.092105 0.511719 -vt 0.092105 0.527344 -vt 0.092105 0.542969 -vt 0.092105 0.558594 -vt 0.092105 0.574219 -vt 0.092105 0.589844 -vt 0.338816 0.687500 -vt 0.128289 0.687500 -vt 0.092105 0.605469 -vt 0.092105 0.621094 -vt 0.092105 0.636719 -vt 0.092105 0.652344 -vt 0.092105 0.667969 -vt 0.092105 0.683594 -vt 0.092105 0.511719 -vt 0.092105 0.527344 -vt 0.092105 0.542969 -vt 0.092105 0.558594 -vt 0.092105 0.574219 -vt 0.092105 0.589844 -vt 0.128289 0.687500 -vt 0.092105 0.605469 -vt 0.092105 0.621094 -vt 0.092105 0.636719 -vt 0.092105 0.652344 -vt 0.092105 0.667969 -vt 0.092105 0.683594 -vt 0.092105 0.511719 -vt 0.092105 0.527344 -vt 0.092105 0.542969 -vt 0.092105 0.558594 -vt 0.092105 0.574219 -vt 0.092105 0.589844 -vt 0.371711 0.687500 -vt 0.128289 0.687500 -vt 0.092105 0.605469 -vt 0.092105 0.621094 -vt 0.092105 0.636719 -vt 0.092105 0.652344 -vt 0.092105 0.667969 -vt 0.092105 0.683594 -vt 0.092105 0.511719 -vt 0.092105 0.527344 -vt 0.092105 0.542969 -vt 0.092105 0.558594 -vt 0.092105 0.574219 -vt 0.092105 0.589844 -vt 0.092105 0.605469 -vt 0.092105 0.621094 -vt 0.092105 0.636719 -vt 0.092105 0.652344 -vt 0.092105 0.667969 -vt 0.092105 0.683594 -vt 0.092105 0.511719 -vt 0.092105 0.527344 -vt 0.092105 0.542969 -vt 0.092105 0.558594 -vt 0.092105 0.574219 -vt 0.092105 0.589844 vn -0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 vn -1.0000 0.0000 0.0000 @@ -3197,13 +6647,10 @@ vn -0.3162 0.0000 0.9487 vn -0.3511 -0.9363 0.0000 vn -0.3511 0.9363 0.0000 vn -0.8944 0.0000 -0.4472 -vn 0.0000 -0.8944 0.4472 -vn 0.0000 0.8944 0.4472 -vn 0.7071 0.0000 -0.7071 vn 0.7071 -0.7071 0.0000 vn -0.7071 -0.7071 0.0000 -vn 0.7071 0.7071 0.0000 vn -0.7071 0.7071 0.0000 +vn 0.7071 0.7071 0.0000 vn 0.9239 0.3827 0.0000 vn -0.3827 -0.9239 0.0000 vn 0.3827 0.9239 0.0000 @@ -3226,2374 +6673,601 @@ vn 0.3423 -0.8263 -0.4472 vn 0.6325 -0.6325 -0.4472 vn 0.8263 -0.3423 -0.4472 vn 0.8263 0.3423 -0.4472 -vn -0.5000 0.8660 0.0000 -vn -0.8660 0.5000 0.0000 -vn -0.8660 -0.5000 0.0000 -vn -0.5000 -0.8660 0.0000 -vn 0.5000 -0.8660 0.0000 -vn 0.8660 -0.5000 0.0000 -vn 0.8660 0.5000 0.0000 -vn 0.5000 0.8660 0.0000 -vn -0.9701 -0.0000 -0.2425 -vn -0.8402 0.4851 -0.2425 -vn -0.4851 0.8402 -0.2425 -vn 0.0000 0.9701 -0.2425 -vn 0.4851 0.8402 -0.2425 -vn 0.8402 0.4851 -0.2425 -vn 0.9701 0.0000 -0.2425 -vn 0.8402 -0.4851 -0.2425 -vn 0.4851 -0.8402 -0.2425 -vn -0.0000 -0.9701 -0.2425 -vn -0.4851 -0.8402 -0.2425 -vn -0.8402 -0.4851 -0.2425 -vn 0.0000 0.9701 0.2425 -vn -0.4851 0.8402 0.2425 -vn 0.4851 0.8402 0.2425 -vn 0.8402 0.4851 0.2425 -vn 0.9701 -0.0000 0.2425 -vn 0.8402 -0.4851 0.2425 -vn 0.4851 -0.8402 0.2425 -vn -0.0000 -0.9701 0.2425 -vn -0.4851 -0.8402 0.2425 -vn -0.8402 -0.4851 0.2425 -vn -0.9701 -0.0000 0.2425 -vn -0.8402 0.4851 0.2425 -vn 0.0000 -0.7071 0.7071 vn 0.9808 -0.1951 0.0000 vn -0.9808 -0.1951 0.0000 s off -f 79/1/1 75/2/1 71/3/1 -f 90/4/2 86/5/2 85/6/2 -f 460/7/3 461/8/3 459/9/3 -f 89/10/4 86/11/4 90/12/4 -f 89/13/3 84/14/3 83/15/3 -f 84/16/5 90/17/5 88/18/5 -f 93/19/6 92/20/6 91/21/6 -f 85/6/7 93/19/7 87/22/7 -f 461/23/3 462/24/3 468/25/3 -f 83/15/8 92/20/8 81/26/8 -f 11/27/9 13/28/9 1/29/9 -f 203/30/9 226/31/9 214/32/9 -f 214/32/9 225/33/9 213/34/9 -f 213/34/9 224/35/9 212/36/9 -f 212/36/9 223/37/9 211/38/9 -f 211/38/9 222/39/9 210/40/9 -f 209/41/9 222/42/9 221/43/9 -f 209/44/9 220/45/9 208/46/9 -f 208/46/9 219/47/9 207/48/9 -f 207/48/9 218/49/9 206/50/9 -f 206/50/9 217/51/9 205/52/9 -f 204/53/9 217/54/9 216/55/9 -f 203/30/9 216/56/9 215/57/9 -f 237/58/9 227/59/9 231/60/9 -f 259/61/1 257/62/1 253/63/1 -f 243/64/9 245/65/9 247/66/9 -f 273/67/3 277/68/3 269/69/3 -f 266/70/10 263/71/10 264/72/10 -f 268/73/11 265/74/11 266/70/11 -f 278/75/2 274/76/2 270/77/2 -f 263/78/1 272/79/1 264/80/1 -f 274/76/12 275/81/12 273/82/12 -f 276/83/1 277/84/1 275/85/1 -f 271/86/12 280/87/12 272/79/12 -f 279/88/9 282/89/9 280/87/9 -f 282/90/12 277/91/12 278/92/12 -f 270/77/9 273/93/9 269/94/9 -f 279/95/3 263/96/3 281/97/3 -f 280/87/2 264/80/2 272/79/2 -f 267/98/3 269/69/3 277/68/3 -f 278/75/2 270/77/2 268/73/2 -f 301/99/1 303/100/1 300/101/1 -f 310/102/13 312/103/13 301/99/13 -f 305/104/2 315/105/2 316/106/2 -f 303/100/14 319/107/14 300/101/14 -f 305/108/15 313/109/15 315/110/15 -f 320/111/16 309/112/16 326/113/16 -f 304/114/17 306/115/17 303/100/17 -f 317/116/3 318/117/3 310/118/3 -f 306/115/18 321/119/18 303/100/18 -f 300/101/19 310/102/19 301/99/19 -f 314/120/12 316/106/12 313/109/12 -f 322/121/20 307/122/20 302/123/20 -f 302/123/21 311/124/21 299/125/21 -f 301/99/22 313/109/22 304/114/22 -f 307/122/23 314/120/23 302/123/23 -f 309/112/24 311/124/24 317/126/24 -f 322/127/6 321/119/6 323/128/6 -f 308/129/25 319/107/25 325/130/25 -f 320/111/9 302/123/9 299/125/9 -f 333/131/26 336/132/26 332/133/26 -f 329/134/27 334/135/27 330/136/27 -f 328/137/28 332/133/28 327/138/28 -f 330/139/6 333/140/6 328/141/6 -f 327/142/12 331/143/12 329/144/12 -f 337/145/2 335/146/2 336/132/2 -f 334/147/29 337/145/29 333/140/29 -f 332/148/30 335/146/30 331/143/30 -f 331/149/31 338/150/31 334/135/31 -f 348/151/32 345/152/32 344/153/32 -f 346/154/33 341/155/33 342/156/33 -f 344/153/34 340/157/34 339/158/34 -f 345/159/6 342/160/6 340/161/6 -f 343/162/12 339/163/12 341/164/12 -f 347/165/3 349/166/3 348/151/3 -f 345/159/35 350/167/35 346/168/35 -f 343/162/36 348/151/36 344/169/36 -f 346/154/37 347/165/37 343/170/37 -f 360/171/9 356/172/9 372/173/9 -f 365/174/1 373/175/1 381/176/1 -f 388/177/9 412/178/9 404/179/9 -f 397/180/1 405/181/1 413/182/1 -f 416/183/3 417/184/3 415/185/3 -f 418/186/1 421/187/1 417/184/1 -f 422/188/2 419/189/2 421/190/2 -f 421/191/6 415/185/6 417/184/6 -f 418/186/12 420/192/12 422/188/12 -f 439/193/16 416/183/16 415/185/16 -f 442/194/38 446/195/38 444/196/38 -f 441/197/3 448/198/3 442/199/3 -f 420/200/1 442/201/1 419/202/1 -f 439/193/9 443/203/9 440/204/9 -f 443/203/39 441/205/39 420/200/39 -f 446/206/20 443/203/20 444/196/20 -f 447/207/40 450/208/40 448/209/40 -f 442/210/6 450/208/6 446/206/6 -f 441/197/12 449/211/12 447/212/12 -f 446/206/2 449/211/2 445/213/2 -f 83/214/1 84/16/1 88/18/1 -f 455/215/6 457/216/6 456/217/6 -f 454/218/14 455/215/14 453/219/14 -f 451/220/9 457/216/9 452/221/9 -f 452/222/2 458/223/2 454/224/2 -f 451/225/3 455/215/3 456/217/3 -f 466/226/2 463/227/2 465/228/2 -f 465/228/6 459/229/6 461/230/6 -f 462/231/12 464/232/12 466/226/12 -f 482/233/10 484/234/10 478/235/10 -f 466/236/2 465/237/2 469/238/2 -f 468/25/3 472/239/3 461/23/3 -f 491/240/2 470/241/2 496/242/2 -f 474/243/1 473/244/1 494/245/1 -f 461/246/9 471/247/9 465/237/9 -f 469/238/1 474/248/1 468/25/1 -f 465/237/2 473/249/2 469/238/2 -f 476/250/3 477/251/3 475/252/3 -f 477/253/3 478/254/3 484/234/3 -f 482/233/2 479/255/2 481/256/2 -f 481/257/6 475/252/6 477/251/6 -f 478/235/12 480/258/12 482/233/12 -f 471/247/41 494/245/41 473/249/41 -f 482/259/2 481/260/2 485/261/2 -f 484/234/3 488/262/3 477/253/3 -f 498/263/3 483/264/3 493/265/3 -f 493/266/1 486/267/1 491/268/1 -f 477/253/9 487/269/9 481/270/9 -f 485/261/1 490/271/1 484/234/1 -f 481/260/2 489/272/2 485/261/2 -f 490/271/42 495/273/42 488/262/42 -f 470/241/12 483/264/12 467/274/12 -f 487/275/9 488/276/9 495/273/9 -f 489/277/12 472/278/12 474/243/12 -f 471/279/9 472/280/9 492/281/9 -f 495/273/9 472/280/9 487/275/9 -f 490/282/1 489/277/1 497/283/1 -f 494/245/1 489/277/1 474/243/1 -f 492/281/6 497/283/6 494/245/6 -f 466/226/10 468/25/10 462/231/10 -f 496/284/9 467/274/9 498/285/9 -f 500/286/12 501/287/12 499/288/12 -f 503/289/6 505/290/6 504/291/6 -f 500/286/2 506/292/2 502/293/2 -f 501/287/3 504/294/3 499/288/3 -f 502/293/1 503/289/1 501/287/1 -f 499/288/9 505/295/9 500/286/9 -f 510/296/1 513/297/1 509/298/1 -f 507/299/9 512/300/9 508/301/9 -f 508/301/6 514/302/6 510/296/6 -f 509/298/12 511/303/12 507/304/12 -f 512/300/42 518/305/42 514/302/42 -f 513/306/43 515/307/43 511/308/43 -f 516/309/3 522/310/3 518/305/3 -f 517/311/2 519/312/2 515/313/2 -f 521/314/41 523/315/41 519/316/41 -f 520/317/44 526/318/44 522/310/44 -f 515/319/9 512/300/9 511/320/9 -f 515/321/9 520/317/9 516/309/9 -f 525/322/9 519/323/9 523/324/9 -f 514/302/1 517/325/1 513/306/1 -f 521/326/1 518/305/1 522/310/1 -f 522/310/1 524/327/1 521/314/1 -f 549/328/1 547/329/1 550/330/1 -f 552/331/9 528/332/9 551/333/9 -f 551/333/12 550/330/12 552/331/12 -f 531/334/1 535/335/1 539/336/1 -f 536/337/9 534/338/9 530/339/9 -f 85/340/9 86/11/9 82/341/9 -f 661/342/9 684/343/9 672/344/9 -f 672/344/9 683/345/9 671/346/9 -f 671/346/9 682/347/9 670/348/9 -f 670/348/9 681/349/9 669/350/9 -f 669/350/9 680/351/9 668/352/9 -f 667/353/9 680/354/9 679/355/9 -f 667/356/9 678/357/9 666/358/9 -f 666/358/9 677/359/9 665/360/9 -f 665/360/9 676/361/9 664/362/9 -f 664/362/9 675/363/9 663/364/9 -f 662/365/9 675/366/9 674/367/9 -f 661/342/9 674/368/9 673/369/9 -f 695/370/9 685/371/9 689/372/9 -f 805/373/9 828/374/9 816/375/9 -f 816/375/9 827/376/9 815/377/9 -f 815/377/9 826/378/9 814/379/9 -f 814/379/9 825/380/9 813/381/9 -f 812/382/9 825/383/9 824/384/9 -f 811/385/9 824/386/9 823/387/9 -f 811/388/9 822/389/9 810/390/9 -f 810/390/9 821/391/9 809/392/9 -f 809/392/9 820/393/9 808/394/9 -f 808/394/9 819/395/9 807/396/9 -f 807/396/9 818/397/9 806/398/9 -f 805/373/9 818/399/9 817/400/9 -f 839/401/9 829/402/9 833/403/9 -f 949/404/9 972/405/9 960/406/9 -f 960/406/9 971/407/9 959/408/9 -f 959/408/9 970/409/9 958/410/9 -f 957/411/9 970/412/9 969/413/9 -f 957/411/9 968/414/9 956/415/9 -f 955/416/9 968/417/9 967/418/9 -f 955/419/9 966/420/9 954/421/9 -f 954/421/9 965/422/9 953/423/9 -f 953/423/9 964/424/9 952/425/9 -f 952/425/9 963/426/9 951/427/9 -f 950/428/9 963/429/9 962/430/9 -f 949/404/9 962/431/9 961/432/9 -f 977/433/9 981/434/9 973/435/9 -f 1093/436/9 1116/437/9 1104/438/9 -f 1104/438/9 1115/439/9 1103/440/9 -f 1103/440/9 1114/441/9 1102/442/9 -f 1101/443/9 1114/444/9 1113/445/9 -f 1100/446/9 1113/447/9 1112/448/9 -f 1099/449/9 1112/450/9 1111/451/9 -f 1099/452/9 1110/453/9 1098/454/9 -f 1098/454/9 1109/455/9 1097/456/9 -f 1097/456/9 1108/457/9 1096/458/9 -f 1096/458/9 1107/459/9 1095/460/9 -f 1095/460/9 1106/461/9 1094/462/9 -f 1093/436/9 1106/463/9 1105/464/9 -f 1127/465/9 1117/466/9 1121/467/9 -f 1237/468/9 1260/469/9 1248/470/9 -f 1248/470/9 1259/471/9 1247/472/9 -f 1247/472/9 1258/473/9 1246/474/9 -f 1245/475/9 1258/476/9 1257/477/9 -f 1245/475/9 1256/478/9 1244/479/9 -f 1243/480/9 1256/481/9 1255/482/9 -f 1243/483/9 1254/484/9 1242/485/9 -f 1242/485/9 1253/486/9 1241/487/9 -f 1241/487/9 1252/488/9 1240/489/9 -f 1240/489/9 1251/490/9 1239/491/9 -f 1238/492/9 1251/493/9 1250/494/9 -f 1238/492/9 1249/495/9 1237/468/9 -f 1271/496/9 1261/497/9 1265/498/9 -f 67/499/1 66/500/1 65/501/1 -f 65/501/1 80/502/1 67/499/1 -f 80/502/1 79/1/1 67/499/1 -f 79/1/1 78/503/1 77/504/1 -f 77/504/1 76/505/1 79/1/1 -f 76/505/1 75/2/1 79/1/1 -f 75/2/1 74/506/1 71/3/1 -f 74/506/1 73/507/1 71/3/1 -f 73/507/1 72/508/1 71/3/1 -f 71/3/1 70/509/1 69/510/1 -f 69/510/1 68/511/1 67/499/1 -f 71/3/1 69/510/1 67/499/1 -f 67/499/1 79/1/1 71/3/1 -f 85/6/2 87/22/2 90/4/2 -f 87/22/2 88/512/2 90/4/2 -f 460/7/3 462/231/3 461/8/3 -f 89/10/4 82/341/4 86/11/4 -f 83/15/3 81/26/3 89/13/3 -f 81/26/3 82/513/3 89/13/3 -f 84/16/5 89/514/5 90/17/5 -f 93/19/6 94/515/6 92/20/6 -f 85/6/7 94/515/7 93/19/7 -f 83/15/8 91/21/8 92/20/8 -f 1/29/9 2/516/9 3/517/9 -f 3/517/9 4/518/9 1/29/9 -f 4/518/9 5/519/9 1/29/9 -f 5/519/9 6/520/9 7/521/9 -f 7/521/9 8/522/9 9/523/9 -f 9/523/9 10/524/9 11/27/9 -f 11/27/9 12/525/9 13/28/9 -f 13/28/9 14/526/9 1/29/9 -f 14/526/9 15/527/9 1/29/9 -f 15/527/9 16/528/9 1/29/9 -f 5/519/9 7/521/9 1/29/9 -f 7/521/9 9/523/9 1/29/9 -f 9/523/9 11/27/9 1/29/9 -f 203/30/9 215/529/9 226/31/9 -f 214/32/9 226/530/9 225/33/9 -f 213/34/9 225/531/9 224/35/9 -f 212/36/9 224/532/9 223/37/9 -f 211/38/9 223/533/9 222/39/9 -f 209/41/9 210/40/9 222/42/9 -f 209/44/9 221/534/9 220/45/9 -f 208/46/9 220/535/9 219/47/9 -f 207/48/9 219/536/9 218/49/9 -f 206/50/9 218/537/9 217/51/9 -f 204/53/9 205/52/9 217/54/9 -f 203/30/9 204/53/9 216/56/9 -f 227/59/9 228/538/9 229/539/9 -f 229/539/9 230/540/9 227/59/9 -f 230/540/9 231/60/9 227/59/9 -f 231/60/9 232/541/9 233/542/9 -f 233/542/9 234/543/9 235/544/9 -f 235/544/9 236/545/9 237/58/9 -f 237/58/9 238/546/9 227/59/9 -f 231/60/9 233/542/9 235/544/9 -f 235/544/9 237/58/9 231/60/9 -f 253/63/1 252/547/1 251/548/1 -f 251/548/1 262/549/1 261/550/1 -f 261/550/1 260/551/1 259/61/1 -f 259/61/1 258/552/1 257/62/1 -f 257/62/1 256/553/1 255/554/1 -f 255/554/1 254/555/1 257/62/1 -f 254/555/1 253/63/1 257/62/1 -f 253/63/1 251/548/1 261/550/1 -f 261/550/1 259/61/1 253/63/1 -f 239/556/9 240/557/9 241/558/9 -f 241/558/9 242/559/9 243/64/9 -f 243/64/9 244/560/9 245/65/9 -f 245/65/9 246/561/9 247/66/9 -f 247/66/9 248/562/9 239/556/9 -f 248/562/9 249/563/9 239/556/9 -f 249/563/9 250/564/9 239/556/9 -f 239/556/9 241/558/9 247/66/9 -f 241/558/9 243/64/9 247/66/9 -f 273/67/3 275/565/3 277/68/3 -f 266/70/10 265/74/10 263/71/10 -f 268/73/11 267/566/11 265/74/11 -f 278/75/2 276/83/2 274/76/2 -f 263/78/1 271/567/1 272/79/1 -f 274/76/12 276/83/12 275/81/12 -f 276/83/1 278/75/1 277/84/1 -f 271/86/12 279/568/12 280/87/12 -f 279/88/9 281/569/9 282/89/9 -f 282/90/12 281/570/12 277/91/12 -f 270/77/9 274/76/9 273/93/9 -f 279/95/3 271/571/3 263/96/3 -f 280/87/2 282/89/2 264/80/2 -f 277/68/3 281/97/3 267/98/3 -f 281/97/3 263/96/3 267/98/3 -f 263/96/3 265/572/3 267/98/3 -f 266/573/2 264/80/2 268/73/2 -f 264/80/2 282/89/2 268/73/2 -f 282/89/2 278/75/2 268/73/2 -f 301/99/1 304/114/1 303/100/1 -f 310/102/13 318/574/13 312/103/13 -f 316/106/2 307/575/2 305/104/2 -f 307/575/2 323/576/2 324/577/2 -f 306/578/2 307/575/2 324/577/2 -f 306/578/2 305/104/2 307/575/2 -f 303/100/14 321/119/14 319/107/14 -f 305/108/15 304/114/15 313/109/15 -f 320/111/16 299/125/16 309/112/16 -f 304/114/17 305/108/17 306/115/17 -f 310/118/3 308/579/3 309/580/3 -f 308/579/3 325/581/3 309/580/3 -f 325/581/3 326/582/3 309/580/3 -f 309/580/3 317/116/3 310/118/3 -f 306/115/18 324/583/18 321/119/18 -f 300/101/19 308/129/19 310/102/19 -f 315/105/12 313/109/12 316/106/12 -f 313/109/12 312/103/12 314/120/12 -f 312/103/12 318/117/12 317/116/12 -f 317/116/12 311/124/12 312/103/12 -f 311/124/12 314/120/12 312/103/12 -f 322/121/20 323/584/20 307/122/20 -f 302/123/21 314/120/21 311/124/21 -f 301/99/22 312/103/22 313/109/22 -f 307/122/23 316/585/23 314/120/23 -f 309/112/24 299/125/24 311/124/24 -f 322/127/6 320/586/6 319/107/6 -f 320/586/6 326/587/6 319/107/6 -f 326/587/6 325/588/6 319/107/6 -f 319/107/6 321/119/6 322/127/6 -f 321/119/6 324/589/6 323/128/6 -f 308/129/25 300/101/25 319/107/25 -f 320/111/9 322/121/9 302/123/9 -f 333/131/26 337/145/26 336/132/26 -f 329/134/27 331/149/27 334/135/27 -f 328/137/28 333/131/28 332/133/28 -f 330/139/6 334/147/6 333/140/6 -f 327/142/12 332/148/12 331/143/12 -f 337/145/2 338/150/2 335/146/2 -f 334/147/29 338/150/29 337/145/29 -f 332/148/30 336/132/30 335/146/30 -f 331/149/31 335/146/31 338/150/31 -f 348/151/32 349/166/32 345/152/32 -f 346/154/33 343/170/33 341/155/33 -f 344/153/34 345/152/34 340/157/34 -f 345/159/6 346/168/6 342/160/6 -f 343/162/12 344/169/12 339/163/12 -f 347/165/3 350/167/3 349/166/3 -f 345/159/35 349/166/35 350/167/35 -f 343/162/36 347/165/36 348/151/36 -f 346/154/37 350/167/37 347/165/37 -f 356/172/9 354/590/9 352/591/9 -f 352/591/9 382/592/9 380/593/9 -f 380/593/9 378/594/9 376/595/9 -f 376/595/9 374/596/9 372/173/9 -f 372/173/9 370/597/9 368/598/9 -f 368/598/9 366/599/9 364/600/9 -f 364/600/9 362/601/9 360/171/9 -f 360/171/9 358/602/9 356/172/9 -f 356/172/9 352/591/9 372/173/9 -f 352/591/9 380/593/9 372/173/9 -f 380/593/9 376/595/9 372/173/9 -f 372/173/9 368/598/9 364/600/9 -f 364/600/9 360/171/9 372/173/9 -f 381/176/1 351/603/1 357/604/1 -f 351/603/1 353/605/1 357/604/1 -f 353/605/1 355/606/1 357/604/1 -f 357/604/1 359/607/1 365/174/1 -f 359/607/1 361/608/1 365/174/1 -f 361/608/1 363/609/1 365/174/1 -f 365/174/1 367/610/1 369/611/1 -f 369/611/1 371/612/1 365/174/1 -f 371/612/1 373/175/1 365/174/1 -f 373/175/1 375/613/1 381/176/1 -f 375/613/1 377/614/1 381/176/1 -f 377/614/1 379/615/1 381/176/1 -f 381/176/1 357/604/1 365/174/1 -f 388/177/9 386/616/9 412/178/9 -f 386/616/9 384/617/9 412/178/9 -f 384/617/9 414/618/9 412/178/9 -f 412/178/9 410/619/9 408/620/9 -f 408/620/9 406/621/9 412/178/9 -f 406/621/9 404/179/9 412/178/9 -f 404/179/9 402/622/9 400/623/9 -f 400/623/9 398/624/9 396/625/9 -f 396/625/9 394/626/9 392/627/9 -f 392/627/9 390/628/9 388/177/9 -f 404/179/9 400/623/9 396/625/9 -f 396/625/9 392/627/9 404/179/9 -f 392/627/9 388/177/9 404/179/9 -f 413/182/1 383/629/1 385/630/1 -f 385/630/1 387/631/1 389/632/1 -f 389/632/1 391/633/1 397/180/1 -f 391/633/1 393/634/1 397/180/1 -f 393/634/1 395/635/1 397/180/1 -f 397/180/1 399/636/1 405/181/1 -f 399/636/1 401/637/1 405/181/1 -f 401/637/1 403/638/1 405/181/1 -f 405/181/1 407/639/1 409/640/1 -f 409/640/1 411/641/1 413/182/1 -f 413/182/1 385/630/1 389/632/1 -f 405/181/1 409/640/1 413/182/1 -f 413/182/1 389/632/1 397/180/1 -f 416/183/3 418/186/3 417/184/3 -f 418/186/1 422/642/1 421/187/1 -f 422/188/2 420/192/2 419/189/2 -f 421/191/6 419/643/6 415/185/6 -f 418/186/12 416/183/12 420/192/12 -f 439/193/16 440/204/16 416/183/16 -f 444/196/38 439/193/38 419/644/38 -f 439/193/38 415/645/38 419/644/38 -f 419/644/38 442/194/38 444/196/38 -f 441/197/3 447/212/3 448/198/3 -f 420/200/1 441/205/1 442/201/1 -f 439/193/9 444/196/9 443/203/9 -f 416/646/39 440/204/39 420/200/39 -f 440/204/39 443/203/39 420/200/39 -f 443/203/39 445/647/39 441/205/39 -f 446/206/20 445/213/20 443/203/20 -f 447/207/40 449/211/40 450/208/40 -f 442/210/6 448/648/6 450/208/6 -f 441/197/12 445/213/12 449/211/12 -f 446/206/2 450/208/2 449/211/2 -f 88/18/1 87/649/1 83/214/1 -f 87/649/1 93/19/1 83/214/1 -f 93/19/1 91/21/1 83/214/1 -f 455/215/6 458/223/6 457/216/6 -f 454/218/14 458/223/14 455/215/14 -f 451/220/9 456/217/9 457/216/9 -f 452/222/2 457/216/2 458/223/2 -f 451/225/3 453/650/3 455/215/3 -f 466/226/2 464/232/2 463/227/2 -f 465/228/6 463/227/6 459/229/6 -f 462/231/12 460/7/12 464/232/12 -f 482/233/10 485/261/10 484/234/10 -f 468/25/3 474/248/3 472/239/3 -f 491/240/2 486/267/2 470/241/2 -f 461/246/9 472/651/9 471/247/9 -f 469/238/1 473/249/1 474/248/1 -f 465/237/2 471/247/2 473/249/2 -f 476/250/3 478/235/3 477/251/3 -f 482/233/2 480/258/2 479/255/2 -f 481/257/6 479/652/6 475/252/6 -f 478/235/12 476/250/12 480/258/12 -f 471/247/41 492/281/41 494/245/41 -f 484/234/3 490/271/3 488/262/3 -f 498/263/3 467/274/3 483/264/3 -f 493/266/1 483/264/1 486/267/1 -f 477/253/9 488/262/9 487/269/9 -f 485/261/1 489/272/1 490/271/1 -f 481/260/2 487/653/2 489/272/2 -f 490/271/42 497/283/42 495/273/42 -f 470/241/12 486/267/12 483/264/12 -f 489/277/12 487/654/12 472/278/12 -f 495/273/9 492/281/9 472/280/9 -f 494/245/1 497/283/1 489/277/1 -f 492/281/6 495/273/6 497/283/6 -f 466/226/10 469/238/10 468/25/10 -f 496/284/9 470/241/9 467/274/9 -f 500/286/12 502/293/12 501/287/12 -f 503/289/6 506/655/6 505/290/6 -f 500/286/2 505/656/2 506/292/2 -f 501/287/3 503/657/3 504/294/3 -f 502/293/1 506/655/1 503/289/1 -f 499/288/9 504/658/9 505/295/9 -f 510/296/1 514/302/1 513/297/1 -f 507/299/9 511/659/9 512/300/9 -f 508/301/6 512/300/6 514/302/6 -f 509/298/12 513/297/12 511/303/12 -f 512/300/42 516/309/42 518/305/42 -f 513/306/43 517/325/43 515/307/43 -f 516/309/3 520/317/3 522/310/3 -f 517/311/2 521/326/2 519/312/2 -f 521/314/41 524/327/41 523/315/41 -f 520/317/44 525/322/44 526/318/44 -f 515/319/9 516/309/9 512/300/9 -f 515/321/9 519/660/9 520/317/9 -f 525/322/9 520/317/9 519/323/9 -f 514/302/1 518/305/1 517/325/1 -f 521/326/1 517/311/1 518/305/1 -f 522/310/1 526/318/1 524/327/1 -f 549/328/1 548/661/1 547/329/1 -f 552/331/9 527/662/9 528/332/9 -f 551/333/12 549/328/12 550/330/12 -f 545/663/1 529/664/1 531/334/1 -f 531/334/1 533/665/1 535/335/1 -f 535/335/1 537/666/1 539/336/1 -f 539/336/1 541/667/1 531/334/1 -f 541/667/1 543/668/1 531/334/1 -f 543/668/1 545/663/1 531/334/1 -f 534/338/9 532/669/9 530/339/9 -f 530/339/9 546/670/9 544/671/9 -f 544/671/9 542/672/9 530/339/9 -f 542/672/9 540/673/9 530/339/9 -f 540/673/9 538/674/9 530/339/9 -f 538/674/9 536/337/9 530/339/9 -f 82/341/9 81/675/9 85/340/9 -f 81/675/9 92/20/9 85/340/9 -f 92/20/9 94/515/9 85/340/9 -f 661/342/9 673/676/9 684/343/9 -f 672/344/9 684/677/9 683/345/9 -f 671/346/9 683/678/9 682/347/9 -f 670/348/9 682/679/9 681/349/9 -f 669/350/9 681/680/9 680/351/9 -f 667/353/9 668/352/9 680/354/9 -f 667/356/9 679/681/9 678/357/9 -f 666/358/9 678/682/9 677/359/9 -f 665/360/9 677/683/9 676/361/9 -f 664/362/9 676/684/9 675/363/9 -f 662/365/9 663/364/9 675/366/9 -f 661/342/9 662/365/9 674/368/9 -f 685/371/9 686/685/9 687/686/9 -f 687/686/9 688/687/9 685/371/9 -f 688/687/9 689/372/9 685/371/9 -f 689/372/9 690/688/9 691/689/9 -f 691/689/9 692/690/9 693/691/9 -f 693/691/9 694/692/9 695/370/9 -f 695/370/9 696/693/9 685/371/9 -f 689/372/9 691/689/9 693/691/9 -f 693/691/9 695/370/9 689/372/9 -f 805/373/9 817/694/9 828/374/9 -f 816/375/9 828/695/9 827/376/9 -f 815/377/9 827/696/9 826/378/9 -f 814/379/9 826/697/9 825/380/9 -f 812/382/9 813/381/9 825/383/9 -f 811/385/9 812/382/9 824/386/9 -f 811/388/9 823/698/9 822/389/9 -f 810/390/9 822/699/9 821/391/9 -f 809/392/9 821/700/9 820/393/9 -f 808/394/9 820/701/9 819/395/9 -f 807/396/9 819/702/9 818/397/9 -f 805/373/9 806/398/9 818/399/9 -f 829/402/9 830/703/9 831/704/9 -f 831/704/9 832/705/9 829/402/9 -f 832/705/9 833/403/9 829/402/9 -f 833/403/9 834/706/9 835/707/9 -f 835/707/9 836/708/9 837/709/9 -f 837/709/9 838/710/9 839/401/9 -f 839/401/9 840/711/9 829/402/9 -f 833/403/9 835/707/9 837/709/9 -f 837/709/9 839/401/9 833/403/9 -f 949/404/9 961/712/9 972/405/9 -f 960/406/9 972/713/9 971/407/9 -f 959/408/9 971/714/9 970/409/9 -f 957/411/9 958/410/9 970/412/9 -f 957/411/9 969/715/9 968/414/9 -f 955/416/9 956/415/9 968/417/9 -f 955/419/9 967/716/9 966/420/9 -f 954/421/9 966/717/9 965/422/9 -f 953/423/9 965/718/9 964/424/9 -f 952/425/9 964/719/9 963/426/9 -f 950/428/9 951/427/9 963/429/9 -f 949/404/9 950/428/9 962/431/9 -f 973/435/9 974/720/9 977/433/9 -f 974/720/9 975/721/9 977/433/9 -f 975/721/9 976/722/9 977/433/9 -f 977/433/9 978/723/9 979/724/9 -f 979/724/9 980/725/9 981/434/9 -f 981/434/9 982/726/9 983/727/9 -f 983/727/9 984/728/9 973/435/9 -f 977/433/9 979/724/9 981/434/9 -f 981/434/9 983/727/9 973/435/9 -f 1093/436/9 1105/729/9 1116/437/9 -f 1104/438/9 1116/730/9 1115/439/9 -f 1103/440/9 1115/731/9 1114/441/9 -f 1101/443/9 1102/442/9 1114/444/9 -f 1100/446/9 1101/443/9 1113/447/9 -f 1099/449/9 1100/446/9 1112/450/9 -f 1099/452/9 1111/732/9 1110/453/9 -f 1098/454/9 1110/733/9 1109/455/9 -f 1097/456/9 1109/734/9 1108/457/9 -f 1096/458/9 1108/735/9 1107/459/9 -f 1095/460/9 1107/736/9 1106/461/9 -f 1093/436/9 1094/462/9 1106/463/9 -f 1117/466/9 1118/737/9 1121/467/9 -f 1118/737/9 1119/738/9 1121/467/9 -f 1119/738/9 1120/739/9 1121/467/9 -f 1121/467/9 1122/740/9 1123/741/9 -f 1123/741/9 1124/742/9 1125/743/9 -f 1125/743/9 1126/744/9 1127/465/9 -f 1127/465/9 1128/745/9 1117/466/9 -f 1121/467/9 1123/741/9 1125/743/9 -f 1125/743/9 1127/465/9 1121/467/9 -f 1237/468/9 1249/746/9 1260/469/9 -f 1248/470/9 1260/747/9 1259/471/9 -f 1247/472/9 1259/748/9 1258/473/9 -f 1245/475/9 1246/474/9 1258/476/9 -f 1245/475/9 1257/749/9 1256/478/9 -f 1243/480/9 1244/479/9 1256/481/9 -f 1243/483/9 1255/750/9 1254/484/9 -f 1242/485/9 1254/751/9 1253/486/9 -f 1241/487/9 1253/752/9 1252/488/9 -f 1240/489/9 1252/753/9 1251/490/9 -f 1238/492/9 1239/491/9 1251/493/9 -f 1238/492/9 1250/754/9 1249/495/9 -f 1261/497/9 1262/755/9 1265/498/9 -f 1262/755/9 1263/756/9 1265/498/9 -f 1263/756/9 1264/757/9 1265/498/9 -f 1265/498/9 1266/758/9 1267/759/9 -f 1267/759/9 1268/760/9 1269/761/9 -f 1269/761/9 1270/762/9 1271/496/9 -f 1271/496/9 1272/763/9 1261/497/9 -f 1265/498/9 1267/759/9 1269/761/9 -f 1269/761/9 1271/496/9 1265/498/9 +f 1351/1888/119 1347/1889/119 1343/1890/119 +f 1362/1891/120 1358/1892/120 1357/1893/120 +f 1528/1894/121 1529/1895/121 1527/1896/121 +f 1361/1897/122 1358/1898/122 1362/1899/122 +f 1361/1900/121 1356/1901/121 1355/1902/121 +f 1356/1903/123 1362/1904/123 1360/1905/123 +f 1365/1906/124 1364/1907/124 1363/1908/124 +f 1357/1893/125 1365/1906/125 1359/1909/125 +f 1529/1910/121 1530/1911/121 1536/1912/121 +f 1355/1902/126 1364/1907/126 1353/1913/126 +f 1283/1914/127 1285/1915/127 1273/1916/127 +f 1377/1917/121 1381/1918/121 1373/1919/121 +f 1370/1920/128 1367/1921/128 1368/1922/128 +f 1372/1923/129 1369/1924/129 1370/1920/129 +f 1382/1925/120 1378/1926/120 1374/1927/120 +f 1367/1928/119 1376/1929/119 1368/1930/119 +f 1378/1926/130 1379/1931/130 1377/1932/130 +f 1380/1933/119 1381/1934/119 1379/1935/119 +f 1375/1936/130 1384/1937/130 1376/1929/130 +f 1383/1938/127 1386/1939/127 1384/1937/127 +f 1386/1940/130 1381/1941/130 1382/1942/130 +f 1374/1927/127 1377/1943/127 1373/1944/127 +f 1383/1945/121 1367/1946/121 1385/1947/121 +f 1384/1937/120 1368/1930/120 1376/1929/120 +f 1371/1948/121 1373/1919/121 1381/1918/121 +f 1382/1925/120 1374/1927/120 1372/1923/120 +f 1405/1949/119 1407/1950/119 1404/1951/119 +f 1414/1952/131 1416/1953/131 1405/1949/131 +f 1409/1954/120 1419/1955/120 1420/1956/120 +f 1407/1950/132 1423/1957/132 1404/1951/132 +f 1409/1958/133 1417/1959/133 1419/1960/133 +f 1424/1961/134 1413/1962/134 1430/1963/134 +f 1408/1964/135 1410/1965/135 1407/1950/135 +f 1421/1966/121 1422/1967/121 1414/1968/121 +f 1410/1965/136 1425/1969/136 1407/1950/136 +f 1404/1951/137 1414/1952/137 1405/1949/137 +f 1418/1970/130 1420/1956/130 1417/1959/130 +f 1426/1971/138 1411/1972/138 1406/1973/138 +f 1406/1973/139 1415/1974/139 1403/1975/139 +f 1405/1949/140 1417/1959/140 1408/1964/140 +f 1411/1972/141 1418/1970/141 1406/1973/141 +f 1413/1962/142 1415/1974/142 1421/1976/142 +f 1426/1977/124 1425/1969/124 1427/1978/124 +f 1412/1979/143 1423/1957/143 1429/1980/143 +f 1424/1961/127 1406/1973/127 1403/1975/127 +f 1437/1981/144 1440/1982/144 1436/1983/144 +f 1433/1984/145 1438/1985/145 1434/1986/145 +f 1432/1987/146 1436/1983/146 1431/1988/146 +f 1434/1989/124 1437/1990/124 1432/1991/124 +f 1431/1992/130 1435/1993/130 1433/1994/130 +f 1441/1995/120 1439/1996/120 1440/1982/120 +f 1438/1997/147 1441/1995/147 1437/1990/147 +f 1436/1998/148 1439/1996/148 1435/1993/148 +f 1435/1999/149 1442/2000/149 1438/1985/149 +f 1452/2001/150 1449/2002/150 1448/2003/150 +f 1450/2004/151 1445/2005/151 1446/2006/151 +f 1448/2003/152 1444/2007/152 1443/2008/152 +f 1449/2009/124 1446/2010/124 1444/2011/124 +f 1447/2012/130 1443/2013/130 1445/2014/130 +f 1451/2015/121 1453/2016/121 1452/2001/121 +f 1449/2009/153 1454/2017/153 1450/2018/153 +f 1447/2012/154 1452/2001/154 1448/2019/154 +f 1450/2004/155 1451/2015/155 1447/2020/155 +f 1464/2021/127 1460/2022/127 1476/2023/127 +f 1469/2024/119 1477/2025/119 1485/2026/119 +f 1492/2027/127 1516/2028/127 1508/2029/127 +f 1501/2030/119 1509/2031/119 1517/2032/119 +f 1355/2033/119 1356/1903/119 1360/1905/119 +f 1523/2034/124 1525/2035/124 1524/2036/124 +f 1522/2037/132 1523/2034/132 1521/2038/132 +f 1519/2039/127 1525/2035/127 1520/2040/127 +f 1520/2041/120 1526/2042/120 1522/2043/120 +f 1519/2044/121 1523/2034/121 1524/2036/121 +f 1534/2045/120 1531/2046/120 1533/2047/120 +f 1533/2047/124 1527/2048/124 1529/2049/124 +f 1530/2050/130 1532/2051/130 1534/2045/130 +f 1550/2052/128 1552/2053/128 1546/2054/128 +f 1534/2055/120 1533/2056/120 1537/2057/120 +f 1536/1912/121 1540/2058/121 1529/1910/121 +f 1559/2059/120 1538/2060/120 1564/2061/120 +f 1542/2062/119 1541/2063/119 1562/2064/119 +f 1529/2065/127 1539/2066/127 1533/2056/127 +f 1537/2057/119 1542/2067/119 1536/1912/119 +f 1533/2056/120 1541/2068/120 1537/2057/120 +f 1544/2069/121 1545/2070/121 1543/2071/121 +f 1545/2072/121 1546/2073/121 1552/2053/121 +f 1550/2052/120 1547/2074/120 1549/2075/120 +f 1549/2076/124 1543/2071/124 1545/2070/124 +f 1546/2054/130 1548/2077/130 1550/2052/130 +f 1539/2066/156 1562/2064/156 1541/2068/156 +f 1550/2078/120 1549/2079/120 1553/2080/120 +f 1552/2053/121 1556/2081/121 1545/2072/121 +f 1566/2082/121 1551/2083/121 1561/2084/121 +f 1561/2085/119 1554/2086/119 1559/2087/119 +f 1545/2072/127 1555/2088/127 1549/2089/127 +f 1553/2080/119 1558/2090/119 1552/2053/119 +f 1549/2079/120 1557/2091/120 1553/2080/120 +f 1558/2090/157 1563/2092/157 1556/2081/157 +f 1538/2060/130 1551/2083/130 1535/2093/130 +f 1555/2094/127 1556/2095/127 1563/2092/127 +f 1557/2096/130 1540/2097/130 1542/2062/130 +f 1539/2098/127 1540/2099/127 1560/2100/127 +f 1563/2092/127 1540/2099/127 1555/2094/127 +f 1558/2101/119 1557/2096/119 1565/2102/119 +f 1562/2064/119 1557/2096/119 1542/2062/119 +f 1560/2100/124 1565/2102/124 1562/2064/124 +f 1534/2045/128 1536/1912/128 1530/2050/128 +f 1564/2103/127 1535/2093/127 1566/2104/127 +f 1568/2105/130 1569/2106/130 1567/2107/130 +f 1571/2108/124 1573/2109/124 1572/2110/124 +f 1568/2105/120 1574/2111/120 1570/2112/120 +f 1569/2106/121 1572/2113/121 1567/2107/121 +f 1570/2112/119 1571/2108/119 1569/2106/119 +f 1567/2107/127 1573/2114/127 1568/2105/127 +f 1578/2115/127 1581/2116/127 1577/2117/127 +f 1575/2118/119 1580/2119/119 1576/2120/119 +f 1576/2120/124 1582/2121/124 1578/2115/124 +f 1577/2117/130 1579/2122/130 1575/2123/130 +f 1580/2119/156 1586/2124/156 1582/2121/156 +f 1581/2125/158 1583/2126/158 1579/2127/158 +f 1584/2128/120 1590/2129/120 1586/2124/120 +f 1585/2130/121 1587/2131/121 1583/2132/121 +f 1589/2133/157 1591/2134/157 1587/2135/157 +f 1588/2136/159 1594/2137/159 1590/2129/159 +f 1583/2138/119 1580/2119/119 1579/2139/119 +f 1583/2140/119 1588/2136/119 1584/2128/119 +f 1593/2141/119 1587/2142/119 1591/2143/119 +f 1582/2121/127 1585/2144/127 1581/2125/127 +f 1589/2145/127 1586/2124/127 1590/2129/127 +f 1590/2129/127 1592/2146/127 1589/2133/127 +f 1617/2147/119 1615/2148/119 1618/2149/119 +f 1620/2150/127 1596/2151/127 1619/2152/127 +f 1619/2152/130 1618/2149/130 1620/2150/130 +f 1599/2153/119 1603/2154/119 1607/2155/119 +f 1604/2156/127 1602/2157/127 1598/2158/127 +f 1357/2159/127 1358/1898/127 1354/2160/127 +f 1339/2161/119 1338/2162/119 1337/2163/119 +f 1337/2163/119 1352/2164/119 1339/2161/119 +f 1352/2164/119 1351/1888/119 1339/2161/119 +f 1351/1888/119 1350/2165/119 1349/2166/119 +f 1349/2166/119 1348/2167/119 1351/1888/119 +f 1348/2167/119 1347/1889/119 1351/1888/119 +f 1347/1889/119 1346/2168/119 1343/1890/119 +f 1346/2168/119 1345/2169/119 1343/1890/119 +f 1345/2169/119 1344/2170/119 1343/1890/119 +f 1343/1890/119 1342/2171/119 1341/2172/119 +f 1341/2172/119 1340/2173/119 1339/2161/119 +f 1343/1890/119 1341/2172/119 1339/2161/119 +f 1339/2161/119 1351/1888/119 1343/1890/119 +f 1357/1893/120 1359/1909/120 1362/1891/120 +f 1359/1909/120 1360/2174/120 1362/1891/120 +f 1528/1894/121 1530/2050/121 1529/1895/121 +f 1361/1897/122 1354/2160/122 1358/1898/122 +f 1355/1902/121 1353/1913/121 1361/1900/121 +f 1353/1913/121 1354/2175/121 1361/1900/121 +f 1356/1903/123 1361/2176/123 1362/1904/123 +f 1365/1906/124 1366/2177/124 1364/1907/124 +f 1357/1893/125 1366/2177/125 1365/1906/125 +f 1355/1902/126 1363/1908/126 1364/1907/126 +f 1273/1916/127 1274/2178/127 1275/2179/127 +f 1275/2179/127 1276/2180/127 1273/1916/127 +f 1276/2180/127 1277/2181/127 1273/1916/127 +f 1277/2181/127 1278/2182/127 1279/2183/127 +f 1279/2183/127 1280/2184/127 1281/2185/127 +f 1281/2185/127 1282/2186/127 1283/1914/127 +f 1283/1914/127 1284/2187/127 1285/1915/127 +f 1285/1915/127 1286/2188/127 1273/1916/127 +f 1286/2188/127 1287/2189/127 1273/1916/127 +f 1287/2189/127 1288/2190/127 1273/1916/127 +f 1277/2181/127 1279/2183/127 1273/1916/127 +f 1279/2183/127 1281/2185/127 1273/1916/127 +f 1281/2185/127 1283/1914/127 1273/1916/127 +f 1377/1917/121 1379/2191/121 1381/1918/121 +f 1370/1920/128 1369/1924/128 1367/1921/128 +f 1372/1923/129 1371/2192/129 1369/1924/129 +f 1382/1925/120 1380/1933/120 1378/1926/120 +f 1367/1928/119 1375/2193/119 1376/1929/119 +f 1378/1926/130 1380/1933/130 1379/1931/130 +f 1380/1933/119 1382/1925/119 1381/1934/119 +f 1375/1936/130 1383/2194/130 1384/1937/130 +f 1383/1938/127 1385/2195/127 1386/1939/127 +f 1386/1940/130 1385/2196/130 1381/1941/130 +f 1374/1927/127 1378/1926/127 1377/1943/127 +f 1383/1945/121 1375/2197/121 1367/1946/121 +f 1384/1937/120 1386/1939/120 1368/1930/120 +f 1381/1918/121 1385/1947/121 1371/1948/121 +f 1385/1947/121 1367/1946/121 1371/1948/121 +f 1367/1946/121 1369/2198/121 1371/1948/121 +f 1370/2199/120 1368/1930/120 1372/1923/120 +f 1368/1930/120 1386/1939/120 1372/1923/120 +f 1386/1939/120 1382/1925/120 1372/1923/120 +f 1405/1949/119 1408/1964/119 1407/1950/119 +f 1414/1952/131 1422/2200/131 1416/1953/131 +f 1420/1956/120 1411/2201/120 1409/1954/120 +f 1411/2201/120 1427/2202/120 1428/2203/120 +f 1410/2204/120 1411/2201/120 1428/2203/120 +f 1410/2204/120 1409/1954/120 1411/2201/120 +f 1407/1950/132 1425/1969/132 1423/1957/132 +f 1409/1958/133 1408/1964/133 1417/1959/133 +f 1424/1961/134 1403/1975/134 1413/1962/134 +f 1408/1964/135 1409/1958/135 1410/1965/135 +f 1414/1968/121 1412/2205/121 1413/2206/121 +f 1412/2205/121 1429/2207/121 1413/2206/121 +f 1429/2207/121 1430/2208/121 1413/2206/121 +f 1413/2206/121 1421/1966/121 1414/1968/121 +f 1410/1965/136 1428/2209/136 1425/1969/136 +f 1404/1951/137 1412/1979/137 1414/1952/137 +f 1419/1955/130 1417/1959/130 1420/1956/130 +f 1417/1959/130 1416/1953/130 1418/1970/130 +f 1416/1953/130 1422/1967/130 1421/1966/130 +f 1421/1966/130 1415/1974/130 1416/1953/130 +f 1415/1974/130 1418/1970/130 1416/1953/130 +f 1426/1971/138 1427/2210/138 1411/1972/138 +f 1406/1973/139 1418/1970/139 1415/1974/139 +f 1405/1949/140 1416/1953/140 1417/1959/140 +f 1411/1972/141 1420/2211/141 1418/1970/141 +f 1413/1962/142 1403/1975/142 1415/1974/142 +f 1426/1977/124 1424/2212/124 1423/1957/124 +f 1424/2212/124 1430/2213/124 1423/1957/124 +f 1430/2213/124 1429/2214/124 1423/1957/124 +f 1423/1957/124 1425/1969/124 1426/1977/124 +f 1425/1969/124 1428/2215/124 1427/1978/124 +f 1412/1979/143 1404/1951/143 1423/1957/143 +f 1424/1961/127 1426/1971/127 1406/1973/127 +f 1437/1981/144 1441/1995/144 1440/1982/144 +f 1433/1984/145 1435/1999/145 1438/1985/145 +f 1432/1987/146 1437/1981/146 1436/1983/146 +f 1434/1989/124 1438/1997/124 1437/1990/124 +f 1431/1992/130 1436/1998/130 1435/1993/130 +f 1441/1995/120 1442/2000/120 1439/1996/120 +f 1438/1997/147 1442/2000/147 1441/1995/147 +f 1436/1998/148 1440/1982/148 1439/1996/148 +f 1435/1999/149 1439/1996/149 1442/2000/149 +f 1452/2001/150 1453/2016/150 1449/2002/150 +f 1450/2004/151 1447/2020/151 1445/2005/151 +f 1448/2003/152 1449/2002/152 1444/2007/152 +f 1449/2009/124 1450/2018/124 1446/2010/124 +f 1447/2012/130 1448/2019/130 1443/2013/130 +f 1451/2015/121 1454/2017/121 1453/2016/121 +f 1449/2009/153 1453/2016/153 1454/2017/153 +f 1447/2012/154 1451/2015/154 1452/2001/154 +f 1450/2004/155 1454/2017/155 1451/2015/155 +f 1460/2022/127 1458/2216/127 1456/2217/127 +f 1456/2217/127 1486/2218/127 1484/2219/127 +f 1484/2219/127 1482/2220/127 1480/2221/127 +f 1480/2221/127 1478/2222/127 1476/2023/127 +f 1476/2023/127 1474/2223/127 1472/2224/127 +f 1472/2224/127 1470/2225/127 1468/2226/127 +f 1468/2226/127 1466/2227/127 1464/2021/127 +f 1464/2021/127 1462/2228/127 1460/2022/127 +f 1460/2022/127 1456/2217/127 1476/2023/127 +f 1456/2217/127 1484/2219/127 1476/2023/127 +f 1484/2219/127 1480/2221/127 1476/2023/127 +f 1476/2023/127 1472/2224/127 1468/2226/127 +f 1468/2226/127 1464/2021/127 1476/2023/127 +f 1485/2026/119 1455/2229/119 1461/2230/119 +f 1455/2229/119 1457/2231/119 1461/2230/119 +f 1457/2231/119 1459/2232/119 1461/2230/119 +f 1461/2230/119 1463/2233/119 1469/2024/119 +f 1463/2233/119 1465/2234/119 1469/2024/119 +f 1465/2234/119 1467/2235/119 1469/2024/119 +f 1469/2024/119 1471/2236/119 1473/2237/119 +f 1473/2237/119 1475/2238/119 1469/2024/119 +f 1475/2238/119 1477/2025/119 1469/2024/119 +f 1477/2025/119 1479/2239/119 1485/2026/119 +f 1479/2239/119 1481/2240/119 1485/2026/119 +f 1481/2240/119 1483/2241/119 1485/2026/119 +f 1485/2026/119 1461/2230/119 1469/2024/119 +f 1492/2027/127 1490/2242/127 1516/2028/127 +f 1490/2242/127 1488/2243/127 1516/2028/127 +f 1488/2243/127 1518/2244/127 1516/2028/127 +f 1516/2028/127 1514/2245/127 1512/2246/127 +f 1512/2246/127 1510/2247/127 1516/2028/127 +f 1510/2247/127 1508/2029/127 1516/2028/127 +f 1508/2029/127 1506/2248/127 1504/2249/127 +f 1504/2249/127 1502/2250/127 1500/2251/127 +f 1500/2251/127 1498/2252/127 1496/2253/127 +f 1496/2253/127 1494/2254/127 1492/2027/127 +f 1508/2029/127 1504/2249/127 1500/2251/127 +f 1500/2251/127 1496/2253/127 1508/2029/127 +f 1496/2253/127 1492/2027/127 1508/2029/127 +f 1517/2032/119 1487/2255/119 1489/2256/119 +f 1489/2256/119 1491/2257/119 1493/2258/119 +f 1493/2258/119 1495/2259/119 1501/2030/119 +f 1495/2259/119 1497/2260/119 1501/2030/119 +f 1497/2260/119 1499/2261/119 1501/2030/119 +f 1501/2030/119 1503/2262/119 1509/2031/119 +f 1503/2262/119 1505/2263/119 1509/2031/119 +f 1505/2263/119 1507/2264/119 1509/2031/119 +f 1509/2031/119 1511/2265/119 1513/2266/119 +f 1513/2266/119 1515/2267/119 1517/2032/119 +f 1517/2032/119 1489/2256/119 1493/2258/119 +f 1509/2031/119 1513/2266/119 1517/2032/119 +f 1517/2032/119 1493/2258/119 1501/2030/119 +f 1360/1905/119 1359/2268/119 1355/2033/119 +f 1359/2268/119 1365/1906/119 1355/2033/119 +f 1365/1906/119 1363/1908/119 1355/2033/119 +f 1523/2034/124 1526/2042/124 1525/2035/124 +f 1522/2037/132 1526/2042/132 1523/2034/132 +f 1519/2039/127 1524/2036/127 1525/2035/127 +f 1520/2041/120 1525/2035/120 1526/2042/120 +f 1519/2044/121 1521/2269/121 1523/2034/121 +f 1534/2045/120 1532/2051/120 1531/2046/120 +f 1533/2047/124 1531/2046/124 1527/2048/124 +f 1530/2050/130 1528/1894/130 1532/2051/130 +f 1550/2052/128 1553/2080/128 1552/2053/128 +f 1536/1912/121 1542/2067/121 1540/2058/121 +f 1559/2059/120 1554/2086/120 1538/2060/120 +f 1529/2065/127 1540/2270/127 1539/2066/127 +f 1537/2057/119 1541/2068/119 1542/2067/119 +f 1533/2056/120 1539/2066/120 1541/2068/120 +f 1544/2069/121 1546/2054/121 1545/2070/121 +f 1550/2052/120 1548/2077/120 1547/2074/120 +f 1549/2076/124 1547/2271/124 1543/2071/124 +f 1546/2054/130 1544/2069/130 1548/2077/130 +f 1539/2066/156 1560/2100/156 1562/2064/156 +f 1552/2053/121 1558/2090/121 1556/2081/121 +f 1566/2082/121 1535/2093/121 1551/2083/121 +f 1561/2085/119 1551/2083/119 1554/2086/119 +f 1545/2072/127 1556/2081/127 1555/2088/127 +f 1553/2080/119 1557/2091/119 1558/2090/119 +f 1549/2079/120 1555/2272/120 1557/2091/120 +f 1558/2090/157 1565/2102/157 1563/2092/157 +f 1538/2060/130 1554/2086/130 1551/2083/130 +f 1557/2096/130 1555/2273/130 1540/2097/130 +f 1563/2092/127 1560/2100/127 1540/2099/127 +f 1562/2064/119 1565/2102/119 1557/2096/119 +f 1560/2100/124 1563/2092/124 1565/2102/124 +f 1534/2045/128 1537/2057/128 1536/1912/128 +f 1564/2103/127 1538/2060/127 1535/2093/127 +f 1568/2105/130 1570/2112/130 1569/2106/130 +f 1571/2108/124 1574/2274/124 1573/2109/124 +f 1568/2105/120 1573/2275/120 1574/2111/120 +f 1569/2106/121 1571/2276/121 1572/2113/121 +f 1570/2112/119 1574/2274/119 1571/2108/119 +f 1567/2107/127 1572/2277/127 1573/2114/127 +f 1578/2115/127 1582/2121/127 1581/2116/127 +f 1575/2118/119 1579/2278/119 1580/2119/119 +f 1576/2120/124 1580/2119/124 1582/2121/124 +f 1577/2117/130 1581/2116/130 1579/2122/130 +f 1580/2119/156 1584/2128/156 1586/2124/156 +f 1581/2125/158 1585/2144/158 1583/2126/158 +f 1584/2128/120 1588/2136/120 1590/2129/120 +f 1585/2130/121 1589/2145/121 1587/2131/121 +f 1589/2133/157 1592/2146/157 1591/2134/157 +f 1588/2136/159 1593/2141/159 1594/2137/159 +f 1583/2138/119 1584/2128/119 1580/2119/119 +f 1583/2140/119 1587/2279/119 1588/2136/119 +f 1593/2141/119 1588/2136/119 1587/2142/119 +f 1582/2121/127 1586/2124/127 1585/2144/127 +f 1589/2145/127 1585/2130/127 1586/2124/127 +f 1590/2129/127 1594/2137/127 1592/2146/127 +f 1617/2147/119 1616/2280/119 1615/2148/119 +f 1620/2150/127 1595/2281/127 1596/2151/127 +f 1619/2152/130 1617/2147/130 1618/2149/130 +f 1613/2282/119 1597/2283/119 1599/2153/119 +f 1599/2153/119 1601/2284/119 1603/2154/119 +f 1603/2154/119 1605/2285/119 1607/2155/119 +f 1607/2155/119 1609/2286/119 1599/2153/119 +f 1609/2286/119 1611/2287/119 1599/2153/119 +f 1611/2287/119 1613/2282/119 1599/2153/119 +f 1602/2157/127 1600/2288/127 1598/2158/127 +f 1598/2158/127 1614/2289/127 1612/2290/127 +f 1612/2290/127 1610/2291/127 1598/2158/127 +f 1610/2291/127 1608/2292/127 1598/2158/127 +f 1608/2292/127 1606/2293/127 1598/2158/127 +f 1606/2293/127 1604/2156/127 1598/2158/127 +f 1354/2160/127 1353/2294/127 1357/2159/127 +f 1353/2294/127 1364/1907/127 1357/2159/127 +f 1364/1907/127 1366/2177/127 1357/2159/127 s 1 -f 30/764/45 15/765/43 14/766/45 -f 23/767/42 8/768/46 7/769/42 -f 31/770/43 16/771/47 15/765/43 -f 24/772/46 9/773/6 8/768/46 -f 17/774/12 2/775/48 1/776/12 -f 32/777/47 1/776/12 16/771/47 -f 25/778/6 10/779/49 9/780/6 -f 18/781/48 3/782/44 2/775/48 -f 26/783/49 11/784/41 10/779/49 -f 19/785/44 4/786/50 3/782/44 -f 27/787/41 12/788/51 11/784/41 -f 20/789/50 5/790/3 4/786/50 -f 28/791/51 13/792/2 12/788/51 -f 21/793/3 6/794/52 5/790/3 -f 29/795/2 14/766/45 13/792/2 -f 22/796/52 7/769/42 6/794/52 -f 47/797/53 32/777/54 31/770/53 -f 48/798/54 17/774/55 32/777/54 -f 33/799/55 18/781/56 17/774/55 -f 34/800/56 19/785/57 18/781/56 -f 35/801/57 20/789/58 19/785/57 -f 20/789/58 37/802/37 21/793/37 -f 37/803/37 22/796/59 21/793/37 -f 22/796/59 39/804/60 23/767/60 -f 39/805/60 24/772/61 23/767/60 -f 40/806/61 25/807/62 24/772/61 -f 41/808/62 26/783/63 25/778/62 -f 26/783/63 43/809/64 27/787/64 -f 27/787/64 44/810/65 28/791/65 -f 44/811/65 29/795/31 28/791/65 -f 45/812/31 30/764/66 29/795/31 -f 46/813/66 31/770/53 30/764/66 -f 35/814/44 52/815/50 36/816/50 -f 43/817/41 60/818/51 44/819/51 -f 36/816/50 53/820/3 37/821/3 -f 44/819/51 61/822/2 45/823/2 -f 37/821/3 54/824/52 38/825/52 -f 45/823/2 62/826/45 46/827/45 -f 38/825/52 55/828/42 39/829/42 -f 46/827/45 63/830/43 47/831/43 -f 39/829/42 56/832/46 40/833/46 -f 47/831/43 64/834/47 48/835/47 -f 40/833/46 57/836/6 41/837/6 -f 33/838/12 50/839/48 34/840/48 -f 48/835/47 49/841/12 33/838/12 -f 41/808/6 58/842/49 42/843/49 -f 34/840/48 51/844/44 35/814/44 -f 42/843/49 59/845/41 43/817/41 -f 62/826/66 79/846/53 63/830/53 -f 79/847/53 64/834/54 63/830/53 -f 80/848/54 49/841/55 64/834/54 -f 65/849/55 50/839/56 49/841/55 -f 66/850/56 51/844/57 50/839/56 -f 51/844/57 68/851/58 52/815/58 -f 52/815/58 69/852/37 53/820/37 -f 69/853/37 54/824/59 53/820/37 -f 70/854/59 55/828/60 54/824/59 -f 55/828/60 72/855/61 56/832/61 -f 56/832/61 73/856/62 57/836/62 -f 57/857/62 74/858/63 58/842/63 -f 58/842/63 75/859/64 59/845/64 -f 75/860/64 60/818/65 59/845/64 -f 60/818/65 77/861/31 61/822/31 -f 77/862/31 62/826/66 61/822/31 -f 96/863/67 107/864/12 95/865/12 -f 97/866/68 108/867/67 96/863/67 -f 98/868/3 109/869/68 97/866/68 -f 99/870/69 110/871/3 98/868/3 -f 100/872/70 111/873/69 99/870/69 -f 101/874/6 112/875/70 100/872/70 -f 102/876/71 113/877/6 101/878/6 -f 103/879/72 114/880/71 102/876/71 -f 104/881/2 115/882/72 103/879/72 -f 105/883/73 116/884/2 104/881/2 -f 106/885/74 117/886/73 105/883/73 -f 95/865/12 118/887/74 106/885/74 -f 110/871/75 121/888/76 109/869/76 -f 109/869/76 120/889/77 108/867/77 -f 108/867/77 119/890/78 107/864/78 -f 118/887/79 119/890/78 130/891/79 -f 117/886/80 130/891/79 129/892/80 -f 116/884/81 129/892/80 128/893/81 -f 115/882/82 128/893/81 127/894/82 -f 114/880/83 127/894/82 126/895/83 -f 113/877/84 126/895/83 125/896/84 -f 113/897/84 124/898/85 112/875/85 -f 111/873/86 124/898/85 123/899/86 -f 111/873/86 122/900/75 110/871/75 -f 120/889/67 131/901/12 119/890/12 -f 121/888/68 132/902/67 120/889/67 -f 122/900/3 133/903/68 121/888/68 -f 123/899/69 134/904/3 122/900/3 -f 124/898/70 135/905/69 123/899/69 -f 125/906/6 136/907/70 124/898/70 -f 126/895/71 137/908/6 125/896/6 -f 127/894/72 138/909/71 126/895/71 -f 128/893/2 139/910/72 127/894/72 -f 129/892/73 140/911/2 128/893/2 -f 130/891/74 141/912/73 129/892/73 -f 119/890/12 142/913/74 130/891/74 -f 131/901/87 144/914/88 143/915/87 -f 131/901/87 154/916/89 142/913/89 -f 142/913/89 153/917/90 141/912/90 -f 141/912/90 152/918/91 140/911/91 -f 140/911/91 151/919/92 139/910/92 -f 139/910/92 150/920/93 138/909/93 -f 138/909/93 149/921/94 137/908/94 -f 136/907/95 149/922/94 148/923/95 -f 136/907/95 147/924/96 135/905/96 -f 134/904/97 147/924/96 146/925/97 -f 133/903/98 146/925/97 145/926/98 -f 132/902/88 145/926/98 144/914/88 -f 144/914/67 155/927/12 143/915/12 -f 145/926/68 156/928/67 144/914/67 -f 146/925/3 157/929/68 145/926/68 -f 147/924/69 158/930/3 146/925/3 -f 148/923/70 159/931/69 147/924/69 -f 149/922/6 160/932/70 148/923/70 -f 150/920/71 161/933/6 149/921/6 -f 151/919/72 162/934/71 150/920/71 -f 152/918/2 163/935/72 151/919/72 -f 153/917/73 164/936/2 152/918/2 -f 154/916/74 165/937/73 153/917/73 -f 143/915/12 166/938/74 154/916/74 -f 164/936/81 177/939/80 176/940/81 -f 165/937/80 178/941/79 177/939/80 -f 155/927/78 178/941/79 166/938/79 -f 156/928/77 167/942/78 155/927/78 -f 157/929/76 168/943/77 156/928/77 -f 158/930/75 169/944/76 157/929/76 -f 158/930/75 171/945/86 170/946/75 -f 160/932/85 171/945/86 159/931/86 -f 161/947/84 172/948/85 160/932/85 -f 162/934/83 173/949/84 161/933/84 -f 162/934/83 175/950/82 174/951/83 -f 163/935/82 176/940/81 175/950/82 -f 168/943/67 179/952/12 167/942/12 -f 169/944/68 180/953/67 168/943/67 -f 170/946/3 181/954/68 169/944/68 -f 171/945/69 182/955/3 170/946/3 -f 172/948/70 183/956/69 171/945/69 -f 173/957/6 184/958/70 172/948/70 -f 174/951/71 185/959/6 173/949/6 -f 175/950/72 186/960/71 174/951/71 -f 176/940/2 187/961/72 175/950/72 -f 177/939/73 188/962/2 176/940/2 -f 178/941/74 189/963/73 177/939/73 -f 167/942/12 190/964/74 178/941/74 -f 190/964/89 191/965/87 202/966/89 -f 180/953/88 191/965/87 179/952/87 -f 181/954/98 192/967/88 180/953/88 -f 181/954/98 194/968/97 193/969/98 -f 183/956/96 194/968/97 182/955/97 -f 183/956/96 196/970/95 195/971/96 -f 185/972/94 196/970/95 184/958/95 -f 185/959/94 198/973/93 197/974/94 -f 187/961/92 198/973/93 186/960/93 -f 188/962/91 199/975/92 187/961/92 -f 189/963/90 200/976/91 188/962/91 -f 189/963/90 202/966/89 201/977/90 -f 192/967/67 203/30/12 191/965/12 -f 193/969/68 204/53/67 192/967/67 -f 194/968/3 205/52/68 193/969/68 -f 195/971/69 206/50/3 194/968/3 -f 196/970/70 207/48/69 195/971/69 -f 197/978/6 208/46/70 196/970/70 -f 198/973/71 209/41/6 197/974/6 -f 199/975/72 210/40/71 198/973/71 -f 200/976/2 211/38/72 199/975/72 -f 201/977/73 212/36/2 200/976/2 -f 202/966/74 213/34/73 201/977/73 -f 191/965/12 214/32/74 202/966/74 -f 216/56/71 227/979/6 215/57/6 -f 217/54/72 228/980/71 216/55/71 -f 218/537/2 229/981/72 217/51/72 -f 219/536/73 230/982/2 218/49/2 -f 220/535/74 231/983/73 219/47/73 -f 221/534/12 232/984/74 220/45/74 -f 222/42/67 233/985/12 221/43/12 -f 223/533/68 234/986/67 222/39/67 -f 224/532/3 235/987/68 223/37/68 -f 225/531/69 236/988/3 224/35/3 -f 226/530/70 237/989/69 225/33/69 -f 215/529/6 238/990/70 226/31/70 -f 253/991/68 242/992/3 241/993/68 -f 260/994/2 249/995/73 248/996/2 -f 257/997/6 246/998/71 245/999/6 -f 254/1000/3 243/1001/69 242/992/3 -f 261/1002/73 250/1003/74 249/995/73 -f 251/1004/12 240/1005/67 239/1006/12 -f 258/1007/71 247/1008/72 246/998/71 -f 255/1009/69 244/1010/70 243/1001/69 -f 262/1011/74 239/1006/12 250/1003/74 -f 252/1012/67 241/993/68 240/1005/67 -f 259/1013/72 248/996/2 247/1008/72 -f 256/1014/70 245/1015/6 244/1010/70 -f 297/1016/2 290/1017/43 289/1018/2 -f 295/1019/6 288/1020/41 287/1021/6 -f 293/1022/3 286/1023/42 285/1024/3 -f 291/1025/12 284/1026/44 283/1027/12 -f 298/1028/43 283/1027/12 290/1017/43 -f 296/1029/41 289/1018/2 288/1020/41 -f 294/1030/42 287/1031/6 286/1023/42 -f 292/1032/44 285/1024/3 284/1026/44 -f 352/1033/12 353/1034/47 351/1035/12 -f 354/1036/47 355/1037/43 353/1034/47 -f 356/1038/43 357/1039/45 355/1037/43 -f 358/1040/45 359/1041/2 357/1039/45 -f 360/1042/2 361/1043/51 359/1041/2 -f 362/1044/51 363/1045/41 361/1043/51 -f 364/1046/41 365/1047/49 363/1045/41 -f 366/1048/49 367/1049/6 365/1047/49 -f 368/1050/6 369/1051/46 367/1052/6 -f 370/1053/46 371/1054/42 369/1051/46 -f 372/1055/42 373/1056/52 371/1054/42 -f 374/1057/52 375/1058/3 373/1056/52 -f 376/1059/3 377/1060/50 375/1058/3 -f 378/1061/50 379/1062/44 377/1060/50 -f 380/1063/44 381/1064/48 379/1062/44 -f 382/1065/48 351/1035/12 381/1064/48 -f 384/1066/12 385/1067/47 383/1068/12 -f 386/1069/47 387/1070/43 385/1067/47 -f 388/1071/43 389/1072/45 387/1070/43 -f 390/1073/45 391/1074/2 389/1072/45 -f 392/1075/2 393/1076/51 391/1074/2 -f 394/1077/51 395/1078/41 393/1076/51 -f 396/1079/41 397/1080/49 395/1078/41 -f 398/1081/49 399/1082/6 397/1080/49 -f 400/1083/6 401/1084/46 399/1085/6 -f 402/1086/46 403/1087/42 401/1084/46 -f 403/1087/42 406/1088/52 405/1089/52 -f 406/1088/52 407/1090/3 405/1089/52 -f 408/1091/3 409/1092/50 407/1090/3 -f 410/1093/50 411/1094/44 409/1092/50 -f 412/1095/44 413/1096/48 411/1094/44 -f 414/1097/48 383/1068/12 413/1096/48 -f 423/1098/1 438/1099/14 430/1100/14 -f 429/1101/6 436/1102/99 428/1103/99 -f 427/1104/9 434/1105/21 426/1106/21 -f 425/1107/12 432/1108/10 424/1109/10 -f 430/1100/14 437/1110/6 429/1111/6 -f 428/1103/99 435/1112/9 427/1104/9 -f 426/1106/21 433/1113/12 425/1107/12 -f 424/1109/10 431/1114/1 423/1098/1 -f 555/1115/72 566/1116/71 554/1117/71 -f 554/1117/71 565/1118/6 553/1119/6 -f 530/1120/100 531/1121/51 529/1122/100 -f 532/1123/51 533/1124/41 531/1121/51 -f 534/1125/41 535/1126/49 533/1124/41 -f 536/1127/49 537/1128/6 535/1126/49 -f 538/1129/6 539/1130/46 537/1128/6 -f 540/1131/46 541/1132/42 539/1130/46 -f 542/1133/42 543/1134/52 541/1132/42 -f 544/1135/52 545/1136/101 543/1134/52 -f 556/1137/2 567/1138/72 555/1115/72 -f 557/1139/73 568/1140/2 556/1137/2 -f 558/1141/74 569/1142/73 557/1139/73 -f 559/1143/12 570/1144/74 558/1141/74 -f 560/1145/67 571/1146/12 559/1147/12 -f 561/1148/68 572/1149/67 560/1145/67 -f 562/1150/3 573/1151/68 561/1148/68 -f 563/1152/69 574/1153/3 562/1150/3 -f 564/1154/70 575/1155/69 563/1152/69 -f 553/1119/6 576/1156/70 564/1154/70 -f 568/1140/81 579/1157/82 567/1138/82 -f 567/1138/82 578/1158/83 566/1116/83 -f 566/1116/83 577/1159/84 565/1118/84 -f 576/1156/85 577/1159/84 588/1160/85 -f 575/1155/86 588/1160/85 587/1161/86 -f 574/1153/75 587/1161/86 586/1162/75 -f 574/1153/75 585/1163/76 573/1151/76 -f 572/1149/77 585/1163/76 584/1164/77 -f 571/1146/78 584/1164/77 583/1165/78 -f 571/1166/78 582/1167/79 570/1144/79 -f 569/1142/80 582/1167/79 581/1168/80 -f 569/1142/80 580/1169/81 568/1140/81 -f 578/1158/71 589/1170/6 577/1159/6 -f 579/1157/72 590/1171/71 578/1158/71 -f 580/1169/2 591/1172/72 579/1157/72 -f 581/1168/73 592/1173/2 580/1169/2 -f 582/1167/74 593/1174/73 581/1168/73 -f 583/1175/12 594/1176/74 582/1167/74 -f 584/1164/67 595/1177/12 583/1165/12 -f 585/1163/68 596/1178/67 584/1164/67 -f 586/1162/3 597/1179/68 585/1163/68 -f 587/1161/69 598/1180/3 586/1162/3 -f 588/1160/70 599/1181/69 587/1161/69 -f 577/1159/6 600/1182/70 588/1160/70 -f 589/1170/94 602/1183/93 601/1184/94 -f 589/1170/94 612/1185/95 600/1182/95 -f 600/1182/95 611/1186/96 599/1181/96 -f 599/1181/96 610/1187/97 598/1180/97 -f 598/1180/97 609/1188/98 597/1179/98 -f 597/1179/98 608/1189/88 596/1178/88 -f 596/1178/88 607/1190/87 595/1177/87 -f 594/1176/89 607/1191/87 606/1192/89 -f 594/1176/89 605/1193/90 593/1174/90 -f 592/1173/91 605/1193/90 604/1194/91 -f 591/1172/92 604/1194/91 603/1195/92 -f 590/1171/93 603/1195/92 602/1183/93 -f 602/1183/71 613/1196/6 601/1184/6 -f 603/1195/72 614/1197/71 602/1183/71 -f 604/1194/2 615/1198/72 603/1195/72 -f 605/1193/73 616/1199/2 604/1194/2 -f 606/1192/74 617/1200/73 605/1193/73 -f 607/1191/12 618/1201/74 606/1192/74 -f 608/1189/67 619/1202/12 607/1190/12 -f 609/1188/68 620/1203/67 608/1189/67 -f 610/1187/3 621/1204/68 609/1188/68 -f 611/1186/69 622/1205/3 610/1187/3 -f 612/1185/70 623/1206/69 611/1186/69 -f 601/1184/6 624/1207/70 612/1185/70 -f 622/1205/75 635/1208/86 634/1209/75 -f 623/1206/86 636/1210/85 635/1208/86 -f 624/1207/85 625/1211/84 636/1210/85 -f 613/1196/84 626/1212/83 625/1211/84 -f 614/1197/83 627/1213/82 626/1212/83 -f 616/1199/81 627/1213/82 615/1198/82 -f 617/1200/80 628/1214/81 616/1199/81 -f 618/1201/79 629/1215/80 617/1200/80 -f 619/1216/78 630/1217/79 618/1201/79 -f 620/1203/77 631/1218/78 619/1202/78 -f 620/1203/77 633/1219/76 632/1220/77 -f 621/1204/76 634/1209/75 633/1219/76 -f 626/1212/71 637/1221/6 625/1211/6 -f 627/1213/72 638/1222/71 626/1212/71 -f 628/1214/2 639/1223/72 627/1213/72 -f 629/1215/73 640/1224/2 628/1214/2 -f 630/1217/74 641/1225/73 629/1215/73 -f 631/1226/12 642/1227/74 630/1217/74 -f 632/1220/67 643/1228/12 631/1218/12 -f 633/1219/68 644/1229/67 632/1220/67 -f 634/1209/3 645/1230/68 633/1219/68 -f 635/1208/69 646/1231/3 634/1209/3 -f 636/1210/70 647/1232/69 635/1208/69 -f 625/1211/6 648/1233/70 636/1210/70 -f 648/1233/95 649/1234/94 660/1235/95 -f 638/1222/93 649/1234/94 637/1221/94 -f 639/1223/92 650/1236/93 638/1222/93 -f 639/1223/92 652/1237/91 651/1238/92 -f 641/1225/90 652/1237/91 640/1224/91 -f 641/1225/90 654/1239/89 653/1240/90 -f 643/1241/87 654/1239/89 642/1227/89 -f 644/1229/88 655/1242/87 643/1228/87 -f 645/1230/98 656/1243/88 644/1229/88 -f 646/1231/97 657/1244/98 645/1230/98 -f 647/1232/96 658/1245/97 646/1231/97 -f 648/1233/95 659/1246/96 647/1232/96 -f 650/1236/71 661/342/6 649/1234/6 -f 651/1238/72 662/365/71 650/1236/71 -f 652/1237/2 663/364/72 651/1238/72 -f 653/1240/73 664/362/2 652/1237/2 -f 654/1239/74 665/360/73 653/1240/73 -f 655/1247/12 666/358/74 654/1239/74 -f 656/1243/67 667/353/12 655/1242/12 -f 657/1244/68 668/352/67 656/1243/67 -f 658/1245/3 669/350/68 657/1244/68 -f 659/1246/69 670/348/3 658/1245/3 -f 660/1235/70 671/346/69 659/1246/69 -f 649/1234/6 672/344/70 660/1235/70 -f 674/368/67 685/1248/12 673/369/12 -f 675/366/68 686/1249/67 674/367/67 -f 676/684/3 687/1250/68 675/363/68 -f 677/683/69 688/1251/3 676/361/3 -f 678/682/70 689/1252/69 677/359/69 -f 679/681/6 690/1253/70 678/357/70 -f 680/354/71 691/1254/6 679/355/6 -f 681/680/72 692/1255/71 680/351/71 -f 682/679/2 693/1256/72 681/349/72 -f 683/678/73 694/1257/2 682/347/2 -f 684/677/74 695/1258/73 683/345/73 -f 673/676/12 696/1259/74 684/343/74 -f 698/1260/74 709/1261/73 697/1262/73 -f 699/1263/12 710/1264/74 698/1260/74 -f 700/1265/67 711/1266/12 699/1263/12 -f 701/1267/68 712/1268/67 700/1265/67 -f 702/1269/3 713/1270/68 701/1267/68 -f 703/1271/69 714/1272/3 702/1269/3 -f 704/1273/70 715/1274/69 703/1275/69 -f 705/1276/6 716/1277/70 704/1273/70 -f 706/1278/71 717/1279/6 705/1276/6 -f 707/1280/72 718/1281/71 706/1278/71 -f 708/1282/2 719/1283/72 707/1280/72 -f 697/1262/73 720/1284/2 708/1282/2 -f 712/1268/77 723/1285/78 711/1266/78 -f 711/1266/78 722/1286/79 710/1264/79 -f 710/1264/79 721/1287/80 709/1261/80 -f 720/1284/81 721/1287/80 732/1288/81 -f 719/1283/82 732/1288/81 731/1289/82 -f 718/1281/83 731/1289/82 730/1290/83 -f 717/1279/84 730/1290/83 729/1291/84 -f 716/1277/85 729/1291/84 728/1292/85 -f 715/1274/86 728/1292/85 727/1293/86 -f 715/1294/86 726/1295/75 714/1272/75 -f 714/1272/75 725/1296/76 713/1270/76 -f 713/1270/76 724/1297/77 712/1268/77 -f 722/1286/74 733/1298/73 721/1287/73 -f 723/1285/12 734/1299/74 722/1286/74 -f 724/1297/67 735/1300/12 723/1285/12 -f 725/1296/68 736/1301/67 724/1297/67 -f 726/1295/3 737/1302/68 725/1296/68 -f 727/1303/69 738/1304/3 726/1295/3 -f 728/1292/70 739/1305/69 727/1293/69 -f 729/1291/6 740/1306/70 728/1292/70 -f 730/1290/71 741/1307/6 729/1291/6 -f 731/1289/72 742/1308/71 730/1290/71 -f 732/1288/2 743/1309/72 731/1289/72 -f 721/1287/73 744/1310/2 732/1288/2 -f 733/1298/90 746/1311/89 745/1312/90 -f 733/1298/90 756/1313/91 744/1310/91 -f 744/1310/91 755/1314/92 743/1309/92 -f 743/1309/92 754/1315/93 742/1308/93 -f 742/1308/93 753/1316/94 741/1307/94 -f 741/1307/94 752/1317/95 740/1306/95 -f 740/1306/95 751/1318/96 739/1305/96 -f 738/1304/97 751/1319/96 750/1320/97 -f 738/1304/97 749/1321/98 737/1302/98 -f 736/1301/88 749/1321/98 748/1322/88 -f 735/1300/87 748/1322/88 747/1323/87 -f 734/1299/89 747/1323/87 746/1311/89 -f 746/1311/74 757/1324/73 745/1312/73 -f 747/1323/12 758/1325/74 746/1311/74 -f 748/1322/67 759/1326/12 747/1323/12 -f 749/1321/68 760/1327/67 748/1322/67 -f 750/1320/3 761/1328/68 749/1321/68 -f 751/1319/69 762/1329/3 750/1320/3 -f 752/1317/70 763/1330/69 751/1318/69 -f 753/1316/6 764/1331/70 752/1317/70 -f 754/1315/71 765/1332/6 753/1316/6 -f 755/1314/72 766/1333/71 754/1315/71 -f 756/1313/2 767/1334/72 755/1314/72 -f 745/1312/73 768/1335/2 756/1313/2 -f 767/1334/82 778/1336/83 766/1333/83 -f 767/1334/82 780/1337/81 779/1338/82 -f 757/1324/80 780/1337/81 768/1335/81 -f 758/1325/79 769/1339/80 757/1324/80 -f 759/1326/78 770/1340/79 758/1325/79 -f 760/1327/77 771/1341/78 759/1326/78 -f 761/1328/76 772/1342/77 760/1327/77 -f 761/1328/76 774/1343/75 773/1344/76 -f 763/1345/86 774/1343/75 762/1329/75 -f 764/1331/85 775/1346/86 763/1330/86 -f 764/1331/85 777/1347/84 776/1348/85 -f 766/1333/83 777/1347/84 765/1332/84 -f 770/1340/74 781/1349/73 769/1339/73 -f 771/1341/12 782/1350/74 770/1340/74 -f 772/1342/67 783/1351/12 771/1341/12 -f 773/1344/68 784/1352/67 772/1342/67 -f 774/1343/3 785/1353/68 773/1344/68 -f 775/1354/69 786/1355/3 774/1343/3 -f 776/1348/70 787/1356/69 775/1346/69 -f 777/1347/6 788/1357/70 776/1348/70 -f 778/1336/71 789/1358/6 777/1347/6 -f 779/1338/72 790/1359/71 778/1336/71 -f 780/1337/2 791/1360/72 779/1338/72 -f 769/1339/73 792/1361/2 780/1337/2 -f 792/1361/91 793/1362/90 804/1363/91 -f 782/1350/89 793/1362/90 781/1349/90 -f 782/1350/89 795/1364/87 794/1365/89 -f 784/1352/88 795/1364/87 783/1351/87 -f 784/1352/88 797/1366/98 796/1367/88 -f 786/1355/97 797/1366/98 785/1353/98 -f 786/1355/97 799/1368/96 798/1369/97 -f 787/1356/96 800/1370/95 799/1371/96 -f 789/1358/94 800/1370/95 788/1357/95 -f 789/1358/94 802/1372/93 801/1373/94 -f 790/1359/93 803/1374/92 802/1372/93 -f 792/1361/91 803/1374/92 791/1360/92 -f 794/1365/74 805/373/73 793/1362/73 -f 795/1364/12 806/398/74 794/1365/74 -f 796/1367/67 807/396/12 795/1364/12 -f 797/1366/68 808/394/67 796/1367/67 -f 798/1369/3 809/392/68 797/1366/68 -f 799/1368/69 810/390/3 798/1369/3 -f 800/1370/70 811/385/69 799/1371/69 -f 801/1373/6 812/382/70 800/1370/70 -f 802/1372/71 813/381/6 801/1373/6 -f 803/1374/72 814/379/71 802/1372/71 -f 804/1363/2 815/377/72 803/1374/72 -f 793/1362/73 816/375/2 804/1363/2 -f 818/399/70 829/1375/69 817/400/69 -f 819/702/6 830/1376/70 818/397/70 -f 820/701/71 831/1377/6 819/395/6 -f 821/700/72 832/1378/71 820/393/71 -f 822/699/2 833/1379/72 821/391/72 -f 823/698/73 834/1380/2 822/389/2 -f 824/386/74 835/1381/73 823/387/73 -f 825/383/12 836/1382/74 824/384/74 -f 826/697/67 837/1383/12 825/380/12 -f 827/696/68 838/1384/67 826/378/67 -f 828/695/3 839/1385/68 827/376/68 -f 817/694/69 840/1386/3 828/374/3 -f 843/1387/6 854/1388/70 842/1389/70 -f 842/1389/70 853/1390/69 841/1391/69 -f 844/1392/71 855/1393/6 843/1387/6 -f 845/1394/72 856/1395/71 844/1392/71 -f 846/1396/2 857/1397/72 845/1394/72 -f 847/1398/73 858/1399/2 846/1396/2 -f 848/1400/74 859/1401/73 847/1402/73 -f 849/1403/12 860/1404/74 848/1400/74 -f 850/1405/67 861/1406/12 849/1403/12 -f 851/1407/68 862/1408/67 850/1405/67 -f 852/1409/3 863/1410/68 851/1407/68 -f 841/1391/69 864/1411/3 852/1409/3 -f 856/1395/83 867/1412/84 855/1393/84 -f 855/1393/84 866/1413/85 854/1388/85 -f 854/1388/85 865/1414/86 853/1390/86 -f 853/1390/86 876/1415/75 864/1411/75 -f 863/1410/76 876/1415/75 875/1416/76 -f 863/1410/76 874/1417/77 862/1408/77 -f 862/1408/77 873/1418/78 861/1406/78 -f 860/1404/79 873/1418/78 872/1419/79 -f 860/1404/79 871/1420/80 859/1401/80 -f 859/1421/80 870/1422/81 858/1399/81 -f 857/1397/82 870/1422/81 869/1423/82 -f 857/1397/82 868/1424/83 856/1395/83 -f 866/1413/70 877/1425/69 865/1414/69 -f 867/1412/6 878/1426/70 866/1413/70 -f 868/1424/71 879/1427/6 867/1412/6 -f 869/1423/72 880/1428/71 868/1424/71 -f 870/1422/2 881/1429/72 869/1423/72 -f 871/1430/73 882/1431/2 870/1422/2 -f 872/1419/74 883/1432/73 871/1420/73 -f 873/1418/12 884/1433/74 872/1419/74 -f 874/1417/67 885/1434/12 873/1418/12 -f 875/1416/68 886/1435/67 874/1417/67 -f 876/1415/3 887/1436/68 875/1416/68 -f 865/1414/69 888/1437/3 876/1415/3 -f 877/1425/96 890/1438/95 889/1439/96 -f 877/1425/96 900/1440/97 888/1437/97 -f 888/1437/97 899/1441/98 887/1436/98 -f 887/1436/98 898/1442/88 886/1435/88 -f 886/1435/88 897/1443/87 885/1434/87 -f 885/1434/87 896/1444/89 884/1433/89 -f 884/1433/89 895/1445/90 883/1432/90 -f 883/1446/90 894/1447/91 882/1431/91 -f 882/1431/91 893/1448/92 881/1429/92 -f 880/1428/93 893/1448/92 892/1449/93 -f 879/1427/94 892/1449/93 891/1450/94 -f 878/1426/95 891/1450/94 890/1438/95 -f 890/1438/70 901/1451/69 889/1439/69 -f 891/1450/6 902/1452/70 890/1438/70 -f 892/1449/71 903/1453/6 891/1450/6 -f 893/1448/72 904/1454/71 892/1449/71 -f 894/1447/2 905/1455/72 893/1448/72 -f 895/1456/73 906/1457/2 894/1447/2 -f 896/1444/74 907/1458/73 895/1445/73 -f 897/1443/12 908/1459/74 896/1444/74 -f 898/1442/67 909/1460/12 897/1443/12 -f 899/1441/68 910/1461/67 898/1442/67 -f 900/1440/3 911/1462/68 899/1441/68 -f 889/1439/69 912/1463/3 900/1440/3 -f 911/1462/76 922/1464/77 910/1461/77 -f 911/1462/76 924/1465/75 923/1466/76 -f 901/1451/86 924/1465/75 912/1463/75 -f 902/1452/85 913/1467/86 901/1451/86 -f 903/1453/84 914/1468/85 902/1452/85 -f 903/1453/84 916/1469/83 915/1470/84 -f 905/1455/82 916/1469/83 904/1454/83 -f 905/1455/82 918/1471/81 917/1472/82 -f 907/1473/80 918/1471/81 906/1457/81 -f 908/1459/79 919/1474/80 907/1458/80 -f 908/1459/79 921/1475/78 920/1476/79 -f 910/1461/77 921/1475/78 909/1460/78 -f 914/1468/70 925/1477/69 913/1467/69 -f 915/1470/6 926/1478/70 914/1468/70 -f 916/1469/71 927/1479/6 915/1470/6 -f 917/1472/72 928/1480/71 916/1469/71 -f 918/1471/2 929/1481/72 917/1472/72 -f 919/1482/73 930/1483/2 918/1471/2 -f 920/1476/74 931/1484/73 919/1474/73 -f 921/1475/12 932/1485/74 920/1476/74 -f 922/1464/67 933/1486/12 921/1475/12 -f 923/1466/68 934/1487/67 922/1464/67 -f 924/1465/3 935/1488/68 923/1466/68 -f 913/1467/69 936/1489/3 924/1465/3 -f 936/1489/97 937/1490/96 948/1491/97 -f 925/1477/96 938/1492/95 937/1490/96 -f 926/1478/95 939/1493/94 938/1492/95 -f 928/1480/93 939/1493/94 927/1479/94 -f 928/1480/93 941/1494/92 940/1495/93 -f 930/1483/91 941/1494/92 929/1481/92 -f 930/1483/91 943/1496/90 942/1497/91 -f 931/1484/90 944/1498/89 943/1499/90 -f 933/1486/87 944/1498/89 932/1485/89 -f 933/1486/87 946/1500/88 945/1501/87 -f 935/1488/98 946/1500/88 934/1487/88 -f 936/1489/97 947/1502/98 935/1488/98 -f 938/1492/70 949/404/69 937/1490/69 -f 939/1493/6 950/428/70 938/1492/70 -f 940/1495/71 951/427/6 939/1493/6 -f 941/1494/72 952/425/71 940/1495/71 -f 942/1497/2 953/423/72 941/1494/72 -f 943/1496/73 954/421/2 942/1497/2 -f 944/1498/74 955/416/73 943/1499/73 -f 945/1501/12 956/415/74 944/1498/74 -f 946/1500/67 957/411/12 945/1501/12 -f 947/1502/68 958/410/67 946/1500/67 -f 948/1491/3 959/408/68 947/1502/68 -f 937/1490/69 960/406/3 948/1491/3 -f 962/431/74 973/1503/73 961/432/73 -f 963/429/12 974/1504/74 962/430/74 -f 964/719/67 975/1505/12 963/426/12 -f 965/718/68 976/1506/67 964/424/67 -f 966/717/3 977/1507/68 965/422/68 -f 967/716/69 978/1508/3 966/420/3 -f 968/417/70 979/1509/69 967/418/69 -f 969/715/6 980/1510/70 968/414/70 -f 970/412/71 981/1511/6 969/413/6 -f 971/714/72 982/1512/71 970/409/71 -f 972/713/2 983/1513/72 971/407/72 -f 961/712/73 984/1514/2 972/405/2 -f 986/1515/2 997/1516/72 985/1517/72 -f 987/1518/73 998/1519/2 986/1515/2 -f 988/1520/74 999/1521/73 987/1518/73 -f 989/1522/12 1000/1523/74 988/1520/74 -f 990/1524/67 1001/1525/12 989/1522/12 -f 991/1526/68 1002/1527/67 990/1524/67 -f 992/1528/3 1003/1529/68 991/1530/68 -f 993/1531/69 1004/1532/3 992/1528/3 -f 994/1533/70 1005/1534/69 993/1531/69 -f 995/1535/6 1006/1536/70 994/1533/70 -f 996/1537/71 1007/1538/6 995/1535/6 -f 985/1517/72 1008/1539/71 996/1537/71 -f 1000/1523/79 1011/1540/80 999/1521/80 -f 999/1521/80 1010/1541/81 998/1519/81 -f 997/1516/82 1010/1541/81 1009/1542/82 -f 997/1516/82 1020/1543/83 1008/1539/83 -f 1007/1538/84 1020/1543/83 1019/1544/84 -f 1007/1538/84 1018/1545/85 1006/1536/85 -f 1006/1536/85 1017/1546/86 1005/1534/86 -f 1004/1532/75 1017/1546/86 1016/1547/75 -f 1003/1529/76 1016/1547/75 1015/1548/76 -f 1002/1527/77 1015/1549/76 1014/1550/77 -f 1002/1527/77 1013/1551/78 1001/1525/78 -f 1001/1525/78 1012/1552/79 1000/1523/79 -f 1010/1541/2 1021/1553/72 1009/1542/72 -f 1011/1540/73 1022/1554/2 1010/1541/2 -f 1012/1552/74 1023/1555/73 1011/1540/73 -f 1013/1551/12 1024/1556/74 1012/1552/74 -f 1014/1550/67 1025/1557/12 1013/1551/12 -f 1015/1549/68 1026/1558/67 1014/1550/67 -f 1016/1547/3 1027/1559/68 1015/1548/68 -f 1017/1546/69 1028/1560/3 1016/1547/3 -f 1018/1545/70 1029/1561/69 1017/1546/69 -f 1019/1544/6 1030/1562/70 1018/1545/70 -f 1020/1543/71 1031/1563/6 1019/1544/6 -f 1009/1542/72 1032/1564/71 1020/1543/71 -f 1022/1554/91 1033/1565/92 1021/1553/92 -f 1021/1553/92 1044/1566/93 1032/1564/93 -f 1032/1564/93 1043/1567/94 1031/1563/94 -f 1031/1563/94 1042/1568/95 1030/1562/95 -f 1030/1562/95 1041/1569/96 1029/1561/96 -f 1029/1561/96 1040/1570/97 1028/1560/97 -f 1028/1560/97 1039/1571/98 1027/1559/98 -f 1027/1572/98 1038/1573/88 1026/1558/88 -f 1025/1557/87 1038/1573/88 1037/1574/87 -f 1024/1556/89 1037/1574/87 1036/1575/89 -f 1023/1555/90 1036/1575/89 1035/1576/90 -f 1022/1554/91 1035/1576/90 1034/1577/91 -f 1034/1577/2 1045/1578/72 1033/1565/72 -f 1035/1576/73 1046/1579/2 1034/1577/2 -f 1036/1575/74 1047/1580/73 1035/1576/73 -f 1037/1574/12 1048/1581/74 1036/1575/74 -f 1038/1573/67 1049/1582/12 1037/1574/12 -f 1039/1583/68 1050/1584/67 1038/1573/67 -f 1040/1570/3 1051/1585/68 1039/1571/68 -f 1041/1569/69 1052/1586/3 1040/1570/3 -f 1042/1568/70 1053/1587/69 1041/1569/69 -f 1043/1567/6 1054/1588/70 1042/1568/70 -f 1044/1566/71 1055/1589/6 1043/1567/6 -f 1033/1565/72 1056/1590/71 1044/1566/71 -f 1054/1588/85 1067/1591/84 1066/1592/85 -f 1055/1589/84 1068/1593/83 1067/1591/84 -f 1045/1578/82 1068/1593/83 1056/1590/83 -f 1046/1579/81 1057/1594/82 1045/1578/82 -f 1047/1580/80 1058/1595/81 1046/1579/81 -f 1048/1581/79 1059/1596/80 1047/1580/80 -f 1049/1582/78 1060/1597/79 1048/1581/79 -f 1049/1582/78 1062/1598/77 1061/1599/78 -f 1051/1600/76 1062/1598/77 1050/1584/77 -f 1052/1586/75 1063/1601/76 1051/1585/76 -f 1052/1586/75 1065/1602/86 1064/1603/75 -f 1054/1588/85 1065/1602/86 1053/1587/86 -f 1058/1595/2 1069/1604/72 1057/1594/72 -f 1059/1596/73 1070/1605/2 1058/1595/2 -f 1060/1597/74 1071/1606/73 1059/1596/73 -f 1061/1599/12 1072/1607/74 1060/1597/74 -f 1062/1598/67 1073/1608/12 1061/1599/12 -f 1063/1609/68 1074/1610/67 1062/1598/67 -f 1064/1603/3 1075/1611/68 1063/1601/68 -f 1065/1602/69 1076/1612/3 1064/1603/3 -f 1066/1592/70 1077/1613/69 1065/1602/69 -f 1067/1591/6 1078/1614/70 1066/1592/70 -f 1068/1593/71 1079/1615/6 1067/1591/6 -f 1057/1594/72 1080/1616/71 1068/1593/71 -f 1080/1616/93 1081/1617/92 1092/1618/93 -f 1069/1604/92 1082/1619/91 1081/1617/92 -f 1070/1605/91 1083/1620/90 1082/1619/91 -f 1072/1607/89 1083/1620/90 1071/1606/90 -f 1073/1608/87 1084/1621/89 1072/1607/89 -f 1073/1608/87 1086/1622/88 1085/1623/87 -f 1074/1610/88 1087/1624/98 1086/1622/88 -f 1076/1612/97 1087/1625/98 1075/1611/98 -f 1077/1613/96 1088/1626/97 1076/1612/97 -f 1078/1614/95 1089/1627/96 1077/1613/96 -f 1079/1615/94 1090/1628/95 1078/1614/95 -f 1080/1616/93 1091/1629/94 1079/1615/94 -f 1082/1619/2 1093/436/72 1081/1617/72 -f 1083/1620/73 1094/462/2 1082/1619/2 -f 1084/1621/74 1095/460/73 1083/1620/73 -f 1085/1623/12 1096/458/74 1084/1621/74 -f 1086/1622/67 1097/456/12 1085/1623/12 -f 1087/1624/68 1098/454/67 1086/1622/67 -f 1088/1626/3 1099/449/68 1087/1625/68 -f 1089/1627/69 1100/446/3 1088/1626/3 -f 1090/1628/70 1101/443/69 1089/1627/69 -f 1091/1629/6 1102/442/70 1090/1628/70 -f 1092/1618/71 1103/440/6 1091/1629/6 -f 1081/1617/72 1104/438/71 1092/1618/71 -f 1106/463/3 1117/1630/68 1105/464/68 -f 1107/736/69 1118/1631/3 1106/461/3 -f 1108/735/70 1119/1632/69 1107/459/69 -f 1109/734/6 1120/1633/70 1108/457/70 -f 1110/733/71 1121/1634/6 1109/455/6 -f 1111/732/72 1122/1635/71 1110/453/71 -f 1112/450/2 1123/1636/72 1111/451/72 -f 1113/447/73 1124/1637/2 1112/448/2 -f 1114/444/74 1125/1638/73 1113/445/73 -f 1115/731/12 1126/1639/74 1114/441/74 -f 1116/730/67 1127/1640/12 1115/439/12 -f 1105/729/68 1128/1641/67 1116/437/67 -f 1131/1642/69 1142/1643/3 1130/1644/3 -f 1130/1644/3 1141/1645/68 1129/1646/68 -f 1132/1647/70 1143/1648/69 1131/1642/69 -f 1133/1649/6 1144/1650/70 1132/1647/70 -f 1134/1651/71 1145/1652/6 1133/1649/6 -f 1135/1653/72 1146/1654/71 1134/1651/71 -f 1136/1655/2 1147/1656/72 1135/1657/72 -f 1137/1658/73 1148/1659/2 1136/1655/2 -f 1138/1660/74 1149/1661/73 1137/1658/73 -f 1139/1662/12 1150/1663/74 1138/1660/74 -f 1140/1664/67 1151/1665/12 1139/1662/12 -f 1129/1646/68 1152/1666/67 1140/1664/67 -f 1144/1650/85 1155/1667/86 1143/1648/86 -f 1143/1648/86 1154/1668/75 1142/1643/75 -f 1142/1643/75 1153/1669/76 1141/1645/76 -f 1152/1666/77 1153/1669/76 1164/1670/77 -f 1151/1665/78 1164/1670/77 1163/1671/78 -f 1151/1665/78 1162/1672/79 1150/1663/79 -f 1150/1663/79 1161/1673/80 1149/1661/80 -f 1148/1659/81 1161/1673/80 1160/1674/81 -f 1147/1656/82 1160/1674/81 1159/1675/82 -f 1147/1676/82 1158/1677/83 1146/1654/83 -f 1145/1652/84 1158/1677/83 1157/1678/84 -f 1145/1652/84 1156/1679/85 1144/1650/85 -f 1154/1668/3 1165/1680/68 1153/1669/68 -f 1155/1667/69 1166/1681/3 1154/1668/3 -f 1156/1679/70 1167/1682/69 1155/1667/69 -f 1157/1678/6 1168/1683/70 1156/1679/70 -f 1158/1677/71 1169/1684/6 1157/1678/6 -f 1159/1685/72 1170/1686/71 1158/1677/71 -f 1160/1674/2 1171/1687/72 1159/1675/72 -f 1161/1673/73 1172/1688/2 1160/1674/2 -f 1162/1672/74 1173/1689/73 1161/1673/73 -f 1163/1671/12 1174/1690/74 1162/1672/74 -f 1164/1670/67 1175/1691/12 1163/1671/12 -f 1153/1669/68 1176/1692/67 1164/1670/67 -f 1165/1680/98 1178/1693/97 1177/1694/98 -f 1165/1680/98 1188/1695/88 1176/1692/88 -f 1176/1692/88 1187/1696/87 1175/1691/87 -f 1175/1691/87 1186/1697/89 1174/1690/89 -f 1174/1690/89 1185/1698/90 1173/1689/90 -f 1173/1689/90 1184/1699/91 1172/1688/91 -f 1172/1688/91 1183/1700/92 1171/1687/92 -f 1171/1701/92 1182/1702/93 1170/1686/93 -f 1169/1684/94 1182/1702/93 1181/1703/94 -f 1168/1683/95 1181/1703/94 1180/1704/95 -f 1167/1682/96 1180/1704/95 1179/1705/96 -f 1166/1681/97 1179/1705/96 1178/1693/97 -f 1178/1693/3 1189/1706/68 1177/1694/68 -f 1179/1705/69 1190/1707/3 1178/1693/3 -f 1180/1704/70 1191/1708/69 1179/1705/69 -f 1181/1703/6 1192/1709/70 1180/1704/70 -f 1182/1702/71 1193/1710/6 1181/1703/6 -f 1183/1711/72 1194/1712/71 1182/1702/71 -f 1184/1699/2 1195/1713/72 1183/1700/72 -f 1185/1698/73 1196/1714/2 1184/1699/2 -f 1186/1697/74 1197/1715/73 1185/1698/73 -f 1187/1696/12 1198/1716/74 1186/1697/74 -f 1188/1695/67 1199/1717/12 1187/1696/12 -f 1177/1694/68 1200/1718/67 1188/1695/67 -f 1198/1716/79 1211/1719/78 1210/1720/79 -f 1199/1717/78 1212/1721/77 1211/1719/78 -f 1189/1706/76 1212/1721/77 1200/1718/77 -f 1190/1707/75 1201/1722/76 1189/1706/76 -f 1191/1708/86 1202/1723/75 1190/1707/75 -f 1192/1709/85 1203/1724/86 1191/1708/86 -f 1193/1710/84 1204/1725/85 1192/1709/85 -f 1194/1712/83 1205/1726/84 1193/1710/84 -f 1195/1727/82 1206/1728/83 1194/1712/83 -f 1196/1714/81 1207/1729/82 1195/1713/82 -f 1196/1714/81 1209/1730/80 1208/1731/81 -f 1198/1716/79 1209/1730/80 1197/1715/80 -f 1202/1723/3 1213/1732/68 1201/1722/68 -f 1203/1724/69 1214/1733/3 1202/1723/3 -f 1204/1725/70 1215/1734/69 1203/1724/69 -f 1205/1726/6 1216/1735/70 1204/1725/70 -f 1206/1728/71 1217/1736/6 1205/1726/6 -f 1207/1737/72 1218/1738/71 1206/1728/71 -f 1208/1731/2 1219/1739/72 1207/1729/72 -f 1209/1730/73 1220/1740/2 1208/1731/2 -f 1210/1720/74 1221/1741/73 1209/1730/73 -f 1211/1719/12 1222/1742/74 1210/1720/74 -f 1212/1721/67 1223/1743/12 1211/1719/12 -f 1201/1722/68 1224/1744/67 1212/1721/67 -f 1224/1744/88 1225/1745/98 1236/1746/88 -f 1213/1732/98 1226/1747/97 1225/1745/98 -f 1214/1733/97 1227/1748/96 1226/1747/97 -f 1215/1734/96 1228/1749/95 1227/1748/96 -f 1216/1735/95 1229/1750/94 1228/1749/95 -f 1218/1738/93 1229/1750/94 1217/1736/94 -f 1219/1751/92 1230/1752/93 1218/1738/93 -f 1220/1740/91 1231/1753/92 1219/1739/92 -f 1221/1741/90 1232/1754/91 1220/1740/91 -f 1221/1741/90 1234/1755/89 1233/1756/90 -f 1223/1743/87 1234/1755/89 1222/1742/89 -f 1223/1743/87 1236/1746/88 1235/1757/87 -f 1226/1747/3 1237/468/68 1225/1745/68 -f 1227/1748/69 1238/492/3 1226/1747/3 -f 1228/1749/70 1239/491/69 1227/1748/69 -f 1229/1750/6 1240/489/70 1228/1749/70 -f 1230/1752/71 1241/487/6 1229/1750/6 -f 1231/1758/72 1242/485/71 1230/1752/71 -f 1232/1754/2 1243/480/72 1231/1753/72 -f 1233/1756/73 1244/479/2 1232/1754/2 -f 1234/1755/74 1245/475/73 1233/1756/73 -f 1235/1757/12 1246/474/74 1234/1755/74 -f 1236/1746/67 1247/472/12 1235/1757/12 -f 1225/1745/68 1248/470/67 1236/1746/67 -f 1250/754/2 1261/1759/72 1249/495/72 -f 1251/493/73 1262/1760/2 1250/494/2 -f 1252/753/74 1263/1761/73 1251/490/73 -f 1253/752/12 1264/1762/74 1252/488/74 -f 1254/751/67 1265/1763/12 1253/486/12 -f 1255/750/68 1266/1764/67 1254/484/67 -f 1256/481/3 1267/1765/68 1255/482/68 -f 1257/749/69 1268/1766/3 1256/478/3 -f 1258/476/70 1269/1767/69 1257/477/69 -f 1259/748/6 1270/1768/70 1258/473/70 -f 1260/747/71 1271/1769/6 1259/471/6 -f 1249/746/72 1272/1770/71 1260/469/71 -f 30/764/45 31/770/43 15/765/43 -f 23/767/42 24/772/46 8/768/46 -f 31/770/43 32/777/47 16/771/47 -f 24/772/46 25/807/6 9/773/6 -f 17/774/12 18/781/48 2/775/48 -f 32/777/47 17/774/12 1/776/12 -f 25/778/6 26/783/49 10/779/49 -f 18/781/48 19/785/44 3/782/44 -f 26/783/49 27/787/41 11/784/41 -f 19/785/44 20/789/50 4/786/50 -f 27/787/41 28/791/51 12/788/51 -f 20/789/50 21/793/3 5/790/3 -f 28/791/51 29/795/2 13/792/2 -f 21/793/3 22/796/52 6/794/52 -f 29/795/2 30/764/45 14/766/45 -f 22/796/52 23/767/42 7/769/42 -f 47/797/53 48/1771/54 32/777/54 -f 48/798/54 33/1772/55 17/774/55 -f 33/799/55 34/1773/56 18/781/56 -f 34/800/56 35/1774/57 19/785/57 -f 35/801/57 36/1775/58 20/789/58 -f 20/789/58 36/1776/58 37/802/37 -f 37/803/37 38/1777/59 22/796/59 -f 22/796/59 38/1778/59 39/804/60 -f 39/805/60 40/1779/61 24/772/61 -f 40/806/61 41/1780/62 25/807/62 -f 41/808/62 42/843/63 26/783/63 -f 26/783/63 42/1781/63 43/809/64 -f 27/787/64 43/1782/64 44/810/65 -f 44/811/65 45/1783/31 29/795/31 -f 45/812/31 46/1784/66 30/764/66 -f 46/813/66 47/1785/53 31/770/53 -f 35/814/44 51/844/44 52/815/50 -f 43/817/41 59/845/41 60/818/51 -f 36/816/50 52/815/50 53/820/3 -f 44/819/51 60/818/51 61/822/2 -f 37/821/3 53/820/3 54/824/52 -f 45/823/2 61/822/2 62/826/45 -f 38/825/52 54/824/52 55/828/42 -f 46/827/45 62/826/45 63/830/43 -f 39/829/42 55/828/42 56/832/46 -f 47/831/43 63/830/43 64/834/47 -f 40/833/46 56/832/46 57/836/6 -f 33/838/12 49/841/12 50/839/48 -f 48/835/47 64/834/47 49/841/12 -f 41/808/6 57/857/6 58/842/49 -f 34/840/48 50/839/48 51/844/44 -f 42/843/49 58/842/49 59/845/41 -f 62/826/66 78/1786/66 79/846/53 -f 79/847/53 80/1787/54 64/834/54 -f 80/848/54 65/1788/55 49/841/55 -f 65/849/55 66/1789/56 50/839/56 -f 66/850/56 67/1790/57 51/844/57 -f 51/844/57 67/1791/57 68/851/58 -f 52/815/58 68/1792/58 69/852/37 -f 69/853/37 70/1793/59 54/824/59 -f 70/854/59 71/1794/60 55/828/60 -f 55/828/60 71/1795/60 72/855/61 -f 56/832/61 72/1796/61 73/856/62 -f 57/857/62 73/1797/62 74/858/63 -f 58/842/63 74/1798/63 75/859/64 -f 75/860/64 76/1799/65 60/818/65 -f 60/818/65 76/1800/65 77/861/31 -f 77/862/31 78/1801/66 62/826/66 -f 96/863/67 108/867/67 107/864/12 -f 97/866/68 109/869/68 108/867/67 -f 98/868/3 110/871/3 109/869/68 -f 99/870/69 111/873/69 110/871/3 -f 100/872/70 112/875/70 111/873/69 -f 101/874/6 113/897/6 112/875/70 -f 102/876/71 114/880/71 113/877/6 -f 103/879/72 115/882/72 114/880/71 -f 104/881/2 116/884/2 115/882/72 -f 105/883/73 117/886/73 116/884/2 -f 106/885/74 118/887/74 117/886/73 -f 95/865/12 107/864/12 118/887/74 -f 110/871/75 122/900/75 121/888/76 -f 109/869/76 121/888/76 120/889/77 -f 108/867/77 120/889/77 119/890/78 -f 118/887/79 107/864/78 119/890/78 -f 117/886/80 118/887/79 130/891/79 -f 116/884/81 117/886/80 129/892/80 -f 115/882/82 116/884/81 128/893/81 -f 114/880/83 115/882/82 127/894/82 -f 113/877/84 114/880/83 126/895/83 -f 113/897/84 125/906/84 124/898/85 -f 111/873/86 112/875/85 124/898/85 -f 111/873/86 123/899/86 122/900/75 -f 120/889/67 132/902/67 131/901/12 -f 121/888/68 133/903/68 132/902/67 -f 122/900/3 134/904/3 133/903/68 -f 123/899/69 135/905/69 134/904/3 -f 124/898/70 136/907/70 135/905/69 -f 125/906/6 137/1802/6 136/907/70 -f 126/895/71 138/909/71 137/908/6 -f 127/894/72 139/910/72 138/909/71 -f 128/893/2 140/911/2 139/910/72 -f 129/892/73 141/912/73 140/911/2 -f 130/891/74 142/913/74 141/912/73 -f 119/890/12 131/901/12 142/913/74 -f 131/901/87 132/902/88 144/914/88 -f 131/901/87 143/915/87 154/916/89 -f 142/913/89 154/916/89 153/917/90 -f 141/912/90 153/917/90 152/918/91 -f 140/911/91 152/918/91 151/919/92 -f 139/910/92 151/919/92 150/920/93 -f 138/909/93 150/920/93 149/921/94 -f 136/907/95 137/1802/94 149/922/94 -f 136/907/95 148/923/95 147/924/96 -f 134/904/97 135/905/96 147/924/96 -f 133/903/98 134/904/97 146/925/97 -f 132/902/88 133/903/98 145/926/98 -f 144/914/67 156/928/67 155/927/12 -f 145/926/68 157/929/68 156/928/67 -f 146/925/3 158/930/3 157/929/68 -f 147/924/69 159/931/69 158/930/3 -f 148/923/70 160/932/70 159/931/69 -f 149/922/6 161/947/6 160/932/70 -f 150/920/71 162/934/71 161/933/6 -f 151/919/72 163/935/72 162/934/71 -f 152/918/2 164/936/2 163/935/72 -f 153/917/73 165/937/73 164/936/2 -f 154/916/74 166/938/74 165/937/73 -f 143/915/12 155/927/12 166/938/74 -f 164/936/81 165/937/80 177/939/80 -f 165/937/80 166/938/79 178/941/79 -f 155/927/78 167/942/78 178/941/79 -f 156/928/77 168/943/77 167/942/78 -f 157/929/76 169/944/76 168/943/77 -f 158/930/75 170/946/75 169/944/76 -f 158/930/75 159/931/86 171/945/86 -f 160/932/85 172/948/85 171/945/86 -f 161/947/84 173/957/84 172/948/85 -f 162/934/83 174/951/83 173/949/84 -f 162/934/83 163/935/82 175/950/82 -f 163/935/82 164/936/81 176/940/81 -f 168/943/67 180/953/67 179/952/12 -f 169/944/68 181/954/68 180/953/67 -f 170/946/3 182/955/3 181/954/68 -f 171/945/69 183/956/69 182/955/3 -f 172/948/70 184/958/70 183/956/69 -f 173/957/6 185/972/6 184/958/70 -f 174/951/71 186/960/71 185/959/6 -f 175/950/72 187/961/72 186/960/71 -f 176/940/2 188/962/2 187/961/72 -f 177/939/73 189/963/73 188/962/2 -f 178/941/74 190/964/74 189/963/73 -f 167/942/12 179/952/12 190/964/74 -f 190/964/89 179/952/87 191/965/87 -f 180/953/88 192/967/88 191/965/87 -f 181/954/98 193/969/98 192/967/88 -f 181/954/98 182/955/97 194/968/97 -f 183/956/96 195/971/96 194/968/97 -f 183/956/96 184/958/95 196/970/95 -f 185/972/94 197/978/94 196/970/95 -f 185/959/94 186/960/93 198/973/93 -f 187/961/92 199/975/92 198/973/93 -f 188/962/91 200/976/91 199/975/92 -f 189/963/90 201/977/90 200/976/91 -f 189/963/90 190/964/89 202/966/89 -f 192/967/67 204/53/67 203/30/12 -f 193/969/68 205/52/68 204/53/67 -f 194/968/3 206/50/3 205/52/68 -f 195/971/69 207/48/69 206/50/3 -f 196/970/70 208/46/70 207/48/69 -f 197/978/6 209/44/6 208/46/70 -f 198/973/71 210/40/71 209/41/6 -f 199/975/72 211/38/72 210/40/71 -f 200/976/2 212/36/2 211/38/72 -f 201/977/73 213/34/73 212/36/2 -f 202/966/74 214/32/74 213/34/73 -f 191/965/12 203/30/12 214/32/74 -f 216/56/71 228/1803/71 227/979/6 -f 217/54/72 229/1804/72 228/980/71 -f 218/537/2 230/1805/2 229/981/72 -f 219/536/73 231/1806/73 230/982/2 -f 220/535/74 232/1807/74 231/983/73 -f 221/534/12 233/1808/12 232/984/74 -f 222/42/67 234/1809/67 233/985/12 -f 223/533/68 235/1810/68 234/986/67 -f 224/532/3 236/1811/3 235/987/68 -f 225/531/69 237/1812/69 236/988/3 -f 226/530/70 238/1813/70 237/989/69 -f 215/529/6 227/1814/6 238/990/70 -f 253/991/68 254/1000/3 242/992/3 -f 260/994/2 261/1002/73 249/995/73 -f 257/997/6 258/1007/71 246/998/71 -f 254/1000/3 255/1009/69 243/1001/69 -f 261/1002/73 262/1011/74 250/1003/74 -f 251/1004/12 252/1012/67 240/1005/67 -f 258/1007/71 259/1013/72 247/1008/72 -f 255/1009/69 256/1014/70 244/1010/70 -f 262/1011/74 251/1004/12 239/1006/12 -f 252/1012/67 253/991/68 241/993/68 -f 259/1013/72 260/994/2 248/996/2 -f 256/1014/70 257/1815/6 245/1015/6 -f 297/1016/2 298/1028/43 290/1017/43 -f 295/1019/6 296/1029/41 288/1020/41 -f 293/1022/3 294/1030/42 286/1023/42 -f 291/1025/12 292/1032/44 284/1026/44 -f 298/1028/43 291/1025/12 283/1027/12 -f 296/1029/41 297/1016/2 289/1018/2 -f 294/1030/42 295/1816/6 287/1031/6 -f 292/1032/44 293/1022/3 285/1024/3 -f 352/1033/12 354/1036/47 353/1034/47 -f 354/1036/47 356/1038/43 355/1037/43 -f 356/1038/43 358/1040/45 357/1039/45 -f 358/1040/45 360/1042/2 359/1041/2 -f 360/1042/2 362/1044/51 361/1043/51 -f 362/1044/51 364/1046/41 363/1045/41 -f 364/1046/41 366/1048/49 365/1047/49 -f 366/1048/49 368/1817/6 367/1049/6 -f 368/1050/6 370/1053/46 369/1051/46 -f 370/1053/46 372/1055/42 371/1054/42 -f 372/1055/42 374/1057/52 373/1056/52 -f 374/1057/52 376/1059/3 375/1058/3 -f 376/1059/3 378/1061/50 377/1060/50 -f 378/1061/50 380/1063/44 379/1062/44 -f 380/1063/44 382/1065/48 381/1064/48 -f 382/1065/48 352/1033/12 351/1035/12 -f 384/1066/12 386/1069/47 385/1067/47 -f 386/1069/47 388/1071/43 387/1070/43 -f 388/1071/43 390/1073/45 389/1072/45 -f 390/1073/45 392/1075/2 391/1074/2 -f 392/1075/2 394/1077/51 393/1076/51 -f 394/1077/51 396/1079/41 395/1078/41 -f 396/1079/41 398/1081/49 397/1080/49 -f 398/1081/49 400/1818/6 399/1082/6 -f 400/1083/6 402/1086/46 401/1084/46 -f 402/1086/46 404/1819/42 403/1087/42 -f 403/1087/42 404/1819/42 406/1088/52 -f 406/1088/52 408/1091/3 407/1090/3 -f 408/1091/3 410/1093/50 409/1092/50 -f 410/1093/50 412/1095/44 411/1094/44 -f 412/1095/44 414/1097/48 413/1096/48 -f 414/1097/48 384/1066/12 383/1068/12 -f 423/1098/1 431/1114/1 438/1099/14 -f 429/1101/6 437/1820/6 436/1102/99 -f 427/1104/9 435/1112/9 434/1105/21 -f 425/1107/12 433/1113/12 432/1108/10 -f 430/1100/14 438/1099/14 437/1110/6 -f 428/1103/99 436/1102/99 435/1112/9 -f 426/1106/21 434/1105/21 433/1113/12 -f 424/1109/10 432/1108/10 431/1114/1 -f 555/1115/72 567/1138/72 566/1116/71 -f 554/1117/71 566/1116/71 565/1118/6 -f 530/1120/100 532/1123/51 531/1121/51 -f 532/1123/51 534/1125/41 533/1124/41 -f 534/1125/41 536/1127/49 535/1126/49 -f 536/1127/49 538/1129/6 537/1128/6 -f 538/1129/6 540/1131/46 539/1130/46 -f 540/1131/46 542/1133/42 541/1132/42 -f 542/1133/42 544/1135/52 543/1134/52 -f 544/1135/52 546/1821/101 545/1136/101 -f 556/1137/2 568/1140/2 567/1138/72 -f 557/1139/73 569/1142/73 568/1140/2 -f 558/1141/74 570/1144/74 569/1142/73 -f 559/1143/12 571/1166/12 570/1144/74 -f 560/1145/67 572/1149/67 571/1146/12 -f 561/1148/68 573/1151/68 572/1149/67 -f 562/1150/3 574/1153/3 573/1151/68 -f 563/1152/69 575/1155/69 574/1153/3 -f 564/1154/70 576/1156/70 575/1155/69 -f 553/1119/6 565/1118/6 576/1156/70 -f 568/1140/81 580/1169/81 579/1157/82 -f 567/1138/82 579/1157/82 578/1158/83 -f 566/1116/83 578/1158/83 577/1159/84 -f 576/1156/85 565/1118/84 577/1159/84 -f 575/1155/86 576/1156/85 588/1160/85 -f 574/1153/75 575/1155/86 587/1161/86 -f 574/1153/75 586/1162/75 585/1163/76 -f 572/1149/77 573/1151/76 585/1163/76 -f 571/1146/78 572/1149/77 584/1164/77 -f 571/1166/78 583/1175/78 582/1167/79 -f 569/1142/80 570/1144/79 582/1167/79 -f 569/1142/80 581/1168/80 580/1169/81 -f 578/1158/71 590/1171/71 589/1170/6 -f 579/1157/72 591/1172/72 590/1171/71 -f 580/1169/2 592/1173/2 591/1172/72 -f 581/1168/73 593/1174/73 592/1173/2 -f 582/1167/74 594/1176/74 593/1174/73 -f 583/1175/12 595/1822/12 594/1176/74 -f 584/1164/67 596/1178/67 595/1177/12 -f 585/1163/68 597/1179/68 596/1178/67 -f 586/1162/3 598/1180/3 597/1179/68 -f 587/1161/69 599/1181/69 598/1180/3 -f 588/1160/70 600/1182/70 599/1181/69 -f 577/1159/6 589/1170/6 600/1182/70 -f 589/1170/94 590/1171/93 602/1183/93 -f 589/1170/94 601/1184/94 612/1185/95 -f 600/1182/95 612/1185/95 611/1186/96 -f 599/1181/96 611/1186/96 610/1187/97 -f 598/1180/97 610/1187/97 609/1188/98 -f 597/1179/98 609/1188/98 608/1189/88 -f 596/1178/88 608/1189/88 607/1190/87 -f 594/1176/89 595/1822/87 607/1191/87 -f 594/1176/89 606/1192/89 605/1193/90 -f 592/1173/91 593/1174/90 605/1193/90 -f 591/1172/92 592/1173/91 604/1194/91 -f 590/1171/93 591/1172/92 603/1195/92 -f 602/1183/71 614/1197/71 613/1196/6 -f 603/1195/72 615/1198/72 614/1197/71 -f 604/1194/2 616/1199/2 615/1198/72 -f 605/1193/73 617/1200/73 616/1199/2 -f 606/1192/74 618/1201/74 617/1200/73 -f 607/1191/12 619/1216/12 618/1201/74 -f 608/1189/67 620/1203/67 619/1202/12 -f 609/1188/68 621/1204/68 620/1203/67 -f 610/1187/3 622/1205/3 621/1204/68 -f 611/1186/69 623/1206/69 622/1205/3 -f 612/1185/70 624/1207/70 623/1206/69 -f 601/1184/6 613/1196/6 624/1207/70 -f 622/1205/75 623/1206/86 635/1208/86 -f 623/1206/86 624/1207/85 636/1210/85 -f 624/1207/85 613/1196/84 625/1211/84 -f 613/1196/84 614/1197/83 626/1212/83 -f 614/1197/83 615/1198/82 627/1213/82 -f 616/1199/81 628/1214/81 627/1213/82 -f 617/1200/80 629/1215/80 628/1214/81 -f 618/1201/79 630/1217/79 629/1215/80 -f 619/1216/78 631/1226/78 630/1217/79 -f 620/1203/77 632/1220/77 631/1218/78 -f 620/1203/77 621/1204/76 633/1219/76 -f 621/1204/76 622/1205/75 634/1209/75 -f 626/1212/71 638/1222/71 637/1221/6 -f 627/1213/72 639/1223/72 638/1222/71 -f 628/1214/2 640/1224/2 639/1223/72 -f 629/1215/73 641/1225/73 640/1224/2 -f 630/1217/74 642/1227/74 641/1225/73 -f 631/1226/12 643/1241/12 642/1227/74 -f 632/1220/67 644/1229/67 643/1228/12 -f 633/1219/68 645/1230/68 644/1229/67 -f 634/1209/3 646/1231/3 645/1230/68 -f 635/1208/69 647/1232/69 646/1231/3 -f 636/1210/70 648/1233/70 647/1232/69 -f 625/1211/6 637/1221/6 648/1233/70 -f 648/1233/95 637/1221/94 649/1234/94 -f 638/1222/93 650/1236/93 649/1234/94 -f 639/1223/92 651/1238/92 650/1236/93 -f 639/1223/92 640/1224/91 652/1237/91 -f 641/1225/90 653/1240/90 652/1237/91 -f 641/1225/90 642/1227/89 654/1239/89 -f 643/1241/87 655/1247/87 654/1239/89 -f 644/1229/88 656/1243/88 655/1242/87 -f 645/1230/98 657/1244/98 656/1243/88 -f 646/1231/97 658/1245/97 657/1244/98 -f 647/1232/96 659/1246/96 658/1245/97 -f 648/1233/95 660/1235/95 659/1246/96 -f 650/1236/71 662/365/71 661/342/6 -f 651/1238/72 663/364/72 662/365/71 -f 652/1237/2 664/362/2 663/364/72 -f 653/1240/73 665/360/73 664/362/2 -f 654/1239/74 666/358/74 665/360/73 -f 655/1247/12 667/356/12 666/358/74 -f 656/1243/67 668/352/67 667/353/12 -f 657/1244/68 669/350/68 668/352/67 -f 658/1245/3 670/348/3 669/350/68 -f 659/1246/69 671/346/69 670/348/3 -f 660/1235/70 672/344/70 671/346/69 -f 649/1234/6 661/342/6 672/344/70 -f 674/368/67 686/1823/67 685/1248/12 -f 675/366/68 687/1824/68 686/1249/67 -f 676/684/3 688/1825/3 687/1250/68 -f 677/683/69 689/1826/69 688/1251/3 -f 678/682/70 690/1827/70 689/1252/69 -f 679/681/6 691/1828/6 690/1253/70 -f 680/354/71 692/1829/71 691/1254/6 -f 681/680/72 693/1830/72 692/1255/71 -f 682/679/2 694/1831/2 693/1256/72 -f 683/678/73 695/1832/73 694/1257/2 -f 684/677/74 696/1833/74 695/1258/73 -f 673/676/12 685/1834/12 696/1259/74 -f 698/1260/74 710/1264/74 709/1261/73 -f 699/1263/12 711/1266/12 710/1264/74 -f 700/1265/67 712/1268/67 711/1266/12 -f 701/1267/68 713/1270/68 712/1268/67 -f 702/1269/3 714/1272/3 713/1270/68 -f 703/1271/69 715/1294/69 714/1272/3 -f 704/1273/70 716/1277/70 715/1274/69 -f 705/1276/6 717/1279/6 716/1277/70 -f 706/1278/71 718/1281/71 717/1279/6 -f 707/1280/72 719/1283/72 718/1281/71 -f 708/1282/2 720/1284/2 719/1283/72 -f 697/1262/73 709/1261/73 720/1284/2 -f 712/1268/77 724/1297/77 723/1285/78 -f 711/1266/78 723/1285/78 722/1286/79 -f 710/1264/79 722/1286/79 721/1287/80 -f 720/1284/81 709/1261/80 721/1287/80 -f 719/1283/82 720/1284/81 732/1288/81 -f 718/1281/83 719/1283/82 731/1289/82 -f 717/1279/84 718/1281/83 730/1290/83 -f 716/1277/85 717/1279/84 729/1291/84 -f 715/1274/86 716/1277/85 728/1292/85 -f 715/1294/86 727/1303/86 726/1295/75 -f 714/1272/75 726/1295/75 725/1296/76 -f 713/1270/76 725/1296/76 724/1297/77 -f 722/1286/74 734/1299/74 733/1298/73 -f 723/1285/12 735/1300/12 734/1299/74 -f 724/1297/67 736/1301/67 735/1300/12 -f 725/1296/68 737/1302/68 736/1301/67 -f 726/1295/3 738/1304/3 737/1302/68 -f 727/1303/69 739/1835/69 738/1304/3 -f 728/1292/70 740/1306/70 739/1305/69 -f 729/1291/6 741/1307/6 740/1306/70 -f 730/1290/71 742/1308/71 741/1307/6 -f 731/1289/72 743/1309/72 742/1308/71 -f 732/1288/2 744/1310/2 743/1309/72 -f 721/1287/73 733/1298/73 744/1310/2 -f 733/1298/90 734/1299/89 746/1311/89 -f 733/1298/90 745/1312/90 756/1313/91 -f 744/1310/91 756/1313/91 755/1314/92 -f 743/1309/92 755/1314/92 754/1315/93 -f 742/1308/93 754/1315/93 753/1316/94 -f 741/1307/94 753/1316/94 752/1317/95 -f 740/1306/95 752/1317/95 751/1318/96 -f 738/1304/97 739/1835/96 751/1319/96 -f 738/1304/97 750/1320/97 749/1321/98 -f 736/1301/88 737/1302/98 749/1321/98 -f 735/1300/87 736/1301/88 748/1322/88 -f 734/1299/89 735/1300/87 747/1323/87 -f 746/1311/74 758/1325/74 757/1324/73 -f 747/1323/12 759/1326/12 758/1325/74 -f 748/1322/67 760/1327/67 759/1326/12 -f 749/1321/68 761/1328/68 760/1327/67 -f 750/1320/3 762/1329/3 761/1328/68 -f 751/1319/69 763/1345/69 762/1329/3 -f 752/1317/70 764/1331/70 763/1330/69 -f 753/1316/6 765/1332/6 764/1331/70 -f 754/1315/71 766/1333/71 765/1332/6 -f 755/1314/72 767/1334/72 766/1333/71 -f 756/1313/2 768/1335/2 767/1334/72 -f 745/1312/73 757/1324/73 768/1335/2 -f 767/1334/82 779/1338/82 778/1336/83 -f 767/1334/82 768/1335/81 780/1337/81 -f 757/1324/80 769/1339/80 780/1337/81 -f 758/1325/79 770/1340/79 769/1339/80 -f 759/1326/78 771/1341/78 770/1340/79 -f 760/1327/77 772/1342/77 771/1341/78 -f 761/1328/76 773/1344/76 772/1342/77 -f 761/1328/76 762/1329/75 774/1343/75 -f 763/1345/86 775/1354/86 774/1343/75 -f 764/1331/85 776/1348/85 775/1346/86 -f 764/1331/85 765/1332/84 777/1347/84 -f 766/1333/83 778/1336/83 777/1347/84 -f 770/1340/74 782/1350/74 781/1349/73 -f 771/1341/12 783/1351/12 782/1350/74 -f 772/1342/67 784/1352/67 783/1351/12 -f 773/1344/68 785/1353/68 784/1352/67 -f 774/1343/3 786/1355/3 785/1353/68 -f 775/1354/69 787/1836/69 786/1355/3 -f 776/1348/70 788/1357/70 787/1356/69 -f 777/1347/6 789/1358/6 788/1357/70 -f 778/1336/71 790/1359/71 789/1358/6 -f 779/1338/72 791/1360/72 790/1359/71 -f 780/1337/2 792/1361/2 791/1360/72 -f 769/1339/73 781/1349/73 792/1361/2 -f 792/1361/91 781/1349/90 793/1362/90 -f 782/1350/89 794/1365/89 793/1362/90 -f 782/1350/89 783/1351/87 795/1364/87 -f 784/1352/88 796/1367/88 795/1364/87 -f 784/1352/88 785/1353/98 797/1366/98 -f 786/1355/97 798/1369/97 797/1366/98 -f 786/1355/97 787/1836/96 799/1368/96 -f 787/1356/96 788/1357/95 800/1370/95 -f 789/1358/94 801/1373/94 800/1370/95 -f 789/1358/94 790/1359/93 802/1372/93 -f 790/1359/93 791/1360/92 803/1374/92 -f 792/1361/91 804/1363/91 803/1374/92 -f 794/1365/74 806/398/74 805/373/73 -f 795/1364/12 807/396/12 806/398/74 -f 796/1367/67 808/394/67 807/396/12 -f 797/1366/68 809/392/68 808/394/67 -f 798/1369/3 810/390/3 809/392/68 -f 799/1368/69 811/388/69 810/390/3 -f 800/1370/70 812/382/70 811/385/69 -f 801/1373/6 813/381/6 812/382/70 -f 802/1372/71 814/379/71 813/381/6 -f 803/1374/72 815/377/72 814/379/71 -f 804/1363/2 816/375/2 815/377/72 -f 793/1362/73 805/373/73 816/375/2 -f 818/399/70 830/1837/70 829/1375/69 -f 819/702/6 831/1838/6 830/1376/70 -f 820/701/71 832/1839/71 831/1377/6 -f 821/700/72 833/1840/72 832/1378/71 -f 822/699/2 834/1841/2 833/1379/72 -f 823/698/73 835/1842/73 834/1380/2 -f 824/386/74 836/1843/74 835/1381/73 -f 825/383/12 837/1844/12 836/1382/74 -f 826/697/67 838/1845/67 837/1383/12 -f 827/696/68 839/1846/68 838/1384/67 -f 828/695/3 840/1847/3 839/1385/68 -f 817/694/69 829/1848/69 840/1386/3 -f 843/1387/6 855/1393/6 854/1388/70 -f 842/1389/70 854/1388/70 853/1390/69 -f 844/1392/71 856/1395/71 855/1393/6 -f 845/1394/72 857/1397/72 856/1395/71 -f 846/1396/2 858/1399/2 857/1397/72 -f 847/1398/73 859/1421/73 858/1399/2 -f 848/1400/74 860/1404/74 859/1401/73 -f 849/1403/12 861/1406/12 860/1404/74 -f 850/1405/67 862/1408/67 861/1406/12 -f 851/1407/68 863/1410/68 862/1408/67 -f 852/1409/3 864/1411/3 863/1410/68 -f 841/1391/69 853/1390/69 864/1411/3 -f 856/1395/83 868/1424/83 867/1412/84 -f 855/1393/84 867/1412/84 866/1413/85 -f 854/1388/85 866/1413/85 865/1414/86 -f 853/1390/86 865/1414/86 876/1415/75 -f 863/1410/76 864/1411/75 876/1415/75 -f 863/1410/76 875/1416/76 874/1417/77 -f 862/1408/77 874/1417/77 873/1418/78 -f 860/1404/79 861/1406/78 873/1418/78 -f 860/1404/79 872/1419/79 871/1420/80 -f 859/1421/80 871/1430/80 870/1422/81 -f 857/1397/82 858/1399/81 870/1422/81 -f 857/1397/82 869/1423/82 868/1424/83 -f 866/1413/70 878/1426/70 877/1425/69 -f 867/1412/6 879/1427/6 878/1426/70 -f 868/1424/71 880/1428/71 879/1427/6 -f 869/1423/72 881/1429/72 880/1428/71 -f 870/1422/2 882/1431/2 881/1429/72 -f 871/1430/73 883/1446/73 882/1431/2 -f 872/1419/74 884/1433/74 883/1432/73 -f 873/1418/12 885/1434/12 884/1433/74 -f 874/1417/67 886/1435/67 885/1434/12 -f 875/1416/68 887/1436/68 886/1435/67 -f 876/1415/3 888/1437/3 887/1436/68 -f 865/1414/69 877/1425/69 888/1437/3 -f 877/1425/96 878/1426/95 890/1438/95 -f 877/1425/96 889/1439/96 900/1440/97 -f 888/1437/97 900/1440/97 899/1441/98 -f 887/1436/98 899/1441/98 898/1442/88 -f 886/1435/88 898/1442/88 897/1443/87 -f 885/1434/87 897/1443/87 896/1444/89 -f 884/1433/89 896/1444/89 895/1445/90 -f 883/1446/90 895/1456/90 894/1447/91 -f 882/1431/91 894/1447/91 893/1448/92 -f 880/1428/93 881/1429/92 893/1448/92 -f 879/1427/94 880/1428/93 892/1449/93 -f 878/1426/95 879/1427/94 891/1450/94 -f 890/1438/70 902/1452/70 901/1451/69 -f 891/1450/6 903/1453/6 902/1452/70 -f 892/1449/71 904/1454/71 903/1453/6 -f 893/1448/72 905/1455/72 904/1454/71 -f 894/1447/2 906/1457/2 905/1455/72 -f 895/1456/73 907/1473/73 906/1457/2 -f 896/1444/74 908/1459/74 907/1458/73 -f 897/1443/12 909/1460/12 908/1459/74 -f 898/1442/67 910/1461/67 909/1460/12 -f 899/1441/68 911/1462/68 910/1461/67 -f 900/1440/3 912/1463/3 911/1462/68 -f 889/1439/69 901/1451/69 912/1463/3 -f 911/1462/76 923/1466/76 922/1464/77 -f 911/1462/76 912/1463/75 924/1465/75 -f 901/1451/86 913/1467/86 924/1465/75 -f 902/1452/85 914/1468/85 913/1467/86 -f 903/1453/84 915/1470/84 914/1468/85 -f 903/1453/84 904/1454/83 916/1469/83 -f 905/1455/82 917/1472/82 916/1469/83 -f 905/1455/82 906/1457/81 918/1471/81 -f 907/1473/80 919/1482/80 918/1471/81 -f 908/1459/79 920/1476/79 919/1474/80 -f 908/1459/79 909/1460/78 921/1475/78 -f 910/1461/77 922/1464/77 921/1475/78 -f 914/1468/70 926/1478/70 925/1477/69 -f 915/1470/6 927/1479/6 926/1478/70 -f 916/1469/71 928/1480/71 927/1479/6 -f 917/1472/72 929/1481/72 928/1480/71 -f 918/1471/2 930/1483/2 929/1481/72 -f 919/1482/73 931/1849/73 930/1483/2 -f 920/1476/74 932/1485/74 931/1484/73 -f 921/1475/12 933/1486/12 932/1485/74 -f 922/1464/67 934/1487/67 933/1486/12 -f 923/1466/68 935/1488/68 934/1487/67 -f 924/1465/3 936/1489/3 935/1488/68 -f 913/1467/69 925/1477/69 936/1489/3 -f 936/1489/97 925/1477/96 937/1490/96 -f 925/1477/96 926/1478/95 938/1492/95 -f 926/1478/95 927/1479/94 939/1493/94 -f 928/1480/93 940/1495/93 939/1493/94 -f 928/1480/93 929/1481/92 941/1494/92 -f 930/1483/91 942/1497/91 941/1494/92 -f 930/1483/91 931/1849/90 943/1496/90 -f 931/1484/90 932/1485/89 944/1498/89 -f 933/1486/87 945/1501/87 944/1498/89 -f 933/1486/87 934/1487/88 946/1500/88 -f 935/1488/98 947/1502/98 946/1500/88 -f 936/1489/97 948/1491/97 947/1502/98 -f 938/1492/70 950/428/70 949/404/69 -f 939/1493/6 951/427/6 950/428/70 -f 940/1495/71 952/425/71 951/427/6 -f 941/1494/72 953/423/72 952/425/71 -f 942/1497/2 954/421/2 953/423/72 -f 943/1496/73 955/419/73 954/421/2 -f 944/1498/74 956/415/74 955/416/73 -f 945/1501/12 957/411/12 956/415/74 -f 946/1500/67 958/410/67 957/411/12 -f 947/1502/68 959/408/68 958/410/67 -f 948/1491/3 960/406/3 959/408/68 -f 937/1490/69 949/404/69 960/406/3 -f 962/431/74 974/1850/74 973/1503/73 -f 963/429/12 975/1851/12 974/1504/74 -f 964/719/67 976/1852/67 975/1505/12 -f 965/718/68 977/1853/68 976/1506/67 -f 966/717/3 978/1854/3 977/1507/68 -f 967/716/69 979/1855/69 978/1508/3 -f 968/417/70 980/1856/70 979/1509/69 -f 969/715/6 981/1857/6 980/1510/70 -f 970/412/71 982/1858/71 981/1511/6 -f 971/714/72 983/1859/72 982/1512/71 -f 972/713/2 984/1860/2 983/1513/72 -f 961/712/73 973/1861/73 984/1514/2 -f 986/1515/2 998/1519/2 997/1516/72 -f 987/1518/73 999/1521/73 998/1519/2 -f 988/1520/74 1000/1523/74 999/1521/73 -f 989/1522/12 1001/1525/12 1000/1523/74 -f 990/1524/67 1002/1527/67 1001/1525/12 -f 991/1526/68 1003/1862/68 1002/1527/67 -f 992/1528/3 1004/1532/3 1003/1529/68 -f 993/1531/69 1005/1534/69 1004/1532/3 -f 994/1533/70 1006/1536/70 1005/1534/69 -f 995/1535/6 1007/1538/6 1006/1536/70 -f 996/1537/71 1008/1539/71 1007/1538/6 -f 985/1517/72 997/1516/72 1008/1539/71 -f 1000/1523/79 1012/1552/79 1011/1540/80 -f 999/1521/80 1011/1540/80 1010/1541/81 -f 997/1516/82 998/1519/81 1010/1541/81 -f 997/1516/82 1009/1542/82 1020/1543/83 -f 1007/1538/84 1008/1539/83 1020/1543/83 -f 1007/1538/84 1019/1544/84 1018/1545/85 -f 1006/1536/85 1018/1545/85 1017/1546/86 -f 1004/1532/75 1005/1534/86 1017/1546/86 -f 1003/1529/76 1004/1532/75 1016/1547/75 -f 1002/1527/77 1003/1862/76 1015/1549/76 -f 1002/1527/77 1014/1550/77 1013/1551/78 -f 1001/1525/78 1013/1551/78 1012/1552/79 -f 1010/1541/2 1022/1554/2 1021/1553/72 -f 1011/1540/73 1023/1555/73 1022/1554/2 -f 1012/1552/74 1024/1556/74 1023/1555/73 -f 1013/1551/12 1025/1557/12 1024/1556/74 -f 1014/1550/67 1026/1558/67 1025/1557/12 -f 1015/1549/68 1027/1572/68 1026/1558/67 -f 1016/1547/3 1028/1560/3 1027/1559/68 -f 1017/1546/69 1029/1561/69 1028/1560/3 -f 1018/1545/70 1030/1562/70 1029/1561/69 -f 1019/1544/6 1031/1563/6 1030/1562/70 -f 1020/1543/71 1032/1564/71 1031/1563/6 -f 1009/1542/72 1021/1553/72 1032/1564/71 -f 1022/1554/91 1034/1577/91 1033/1565/92 -f 1021/1553/92 1033/1565/92 1044/1566/93 -f 1032/1564/93 1044/1566/93 1043/1567/94 -f 1031/1563/94 1043/1567/94 1042/1568/95 -f 1030/1562/95 1042/1568/95 1041/1569/96 -f 1029/1561/96 1041/1569/96 1040/1570/97 -f 1028/1560/97 1040/1570/97 1039/1571/98 -f 1027/1572/98 1039/1583/98 1038/1573/88 -f 1025/1557/87 1026/1558/88 1038/1573/88 -f 1024/1556/89 1025/1557/87 1037/1574/87 -f 1023/1555/90 1024/1556/89 1036/1575/89 -f 1022/1554/91 1023/1555/90 1035/1576/90 -f 1034/1577/2 1046/1579/2 1045/1578/72 -f 1035/1576/73 1047/1580/73 1046/1579/2 -f 1036/1575/74 1048/1581/74 1047/1580/73 -f 1037/1574/12 1049/1582/12 1048/1581/74 -f 1038/1573/67 1050/1584/67 1049/1582/12 -f 1039/1583/68 1051/1600/68 1050/1584/67 -f 1040/1570/3 1052/1586/3 1051/1585/68 -f 1041/1569/69 1053/1587/69 1052/1586/3 -f 1042/1568/70 1054/1588/70 1053/1587/69 -f 1043/1567/6 1055/1589/6 1054/1588/70 -f 1044/1566/71 1056/1590/71 1055/1589/6 -f 1033/1565/72 1045/1578/72 1056/1590/71 -f 1054/1588/85 1055/1589/84 1067/1591/84 -f 1055/1589/84 1056/1590/83 1068/1593/83 -f 1045/1578/82 1057/1594/82 1068/1593/83 -f 1046/1579/81 1058/1595/81 1057/1594/82 -f 1047/1580/80 1059/1596/80 1058/1595/81 -f 1048/1581/79 1060/1597/79 1059/1596/80 -f 1049/1582/78 1061/1599/78 1060/1597/79 -f 1049/1582/78 1050/1584/77 1062/1598/77 -f 1051/1600/76 1063/1609/76 1062/1598/77 -f 1052/1586/75 1064/1603/75 1063/1601/76 -f 1052/1586/75 1053/1587/86 1065/1602/86 -f 1054/1588/85 1066/1592/85 1065/1602/86 -f 1058/1595/2 1070/1605/2 1069/1604/72 -f 1059/1596/73 1071/1606/73 1070/1605/2 -f 1060/1597/74 1072/1607/74 1071/1606/73 -f 1061/1599/12 1073/1608/12 1072/1607/74 -f 1062/1598/67 1074/1610/67 1073/1608/12 -f 1063/1609/68 1075/1863/68 1074/1610/67 -f 1064/1603/3 1076/1612/3 1075/1611/68 -f 1065/1602/69 1077/1613/69 1076/1612/3 -f 1066/1592/70 1078/1614/70 1077/1613/69 -f 1067/1591/6 1079/1615/6 1078/1614/70 -f 1068/1593/71 1080/1616/71 1079/1615/6 -f 1057/1594/72 1069/1604/72 1080/1616/71 -f 1080/1616/93 1069/1604/92 1081/1617/92 -f 1069/1604/92 1070/1605/91 1082/1619/91 -f 1070/1605/91 1071/1606/90 1083/1620/90 -f 1072/1607/89 1084/1621/89 1083/1620/90 -f 1073/1608/87 1085/1623/87 1084/1621/89 -f 1073/1608/87 1074/1610/88 1086/1622/88 -f 1074/1610/88 1075/1863/98 1087/1624/98 -f 1076/1612/97 1088/1626/97 1087/1625/98 -f 1077/1613/96 1089/1627/96 1088/1626/97 -f 1078/1614/95 1090/1628/95 1089/1627/96 -f 1079/1615/94 1091/1629/94 1090/1628/95 -f 1080/1616/93 1092/1618/93 1091/1629/94 -f 1082/1619/2 1094/462/2 1093/436/72 -f 1083/1620/73 1095/460/73 1094/462/2 -f 1084/1621/74 1096/458/74 1095/460/73 -f 1085/1623/12 1097/456/12 1096/458/74 -f 1086/1622/67 1098/454/67 1097/456/12 -f 1087/1624/68 1099/452/68 1098/454/67 -f 1088/1626/3 1100/446/3 1099/449/68 -f 1089/1627/69 1101/443/69 1100/446/3 -f 1090/1628/70 1102/442/70 1101/443/69 -f 1091/1629/6 1103/440/6 1102/442/70 -f 1092/1618/71 1104/438/71 1103/440/6 -f 1081/1617/72 1093/436/72 1104/438/71 -f 1106/463/3 1118/1864/3 1117/1630/68 -f 1107/736/69 1119/1865/69 1118/1631/3 -f 1108/735/70 1120/1866/70 1119/1632/69 -f 1109/734/6 1121/1867/6 1120/1633/70 -f 1110/733/71 1122/1868/71 1121/1634/6 -f 1111/732/72 1123/1869/72 1122/1635/71 -f 1112/450/2 1124/1870/2 1123/1636/72 -f 1113/447/73 1125/1871/73 1124/1637/2 -f 1114/444/74 1126/1872/74 1125/1638/73 -f 1115/731/12 1127/1873/12 1126/1639/74 -f 1116/730/67 1128/1874/67 1127/1640/12 -f 1105/729/68 1117/1875/68 1128/1641/67 -f 1131/1642/69 1143/1648/69 1142/1643/3 -f 1130/1644/3 1142/1643/3 1141/1645/68 -f 1132/1647/70 1144/1650/70 1143/1648/69 -f 1133/1649/6 1145/1652/6 1144/1650/70 -f 1134/1651/71 1146/1654/71 1145/1652/6 -f 1135/1653/72 1147/1676/72 1146/1654/71 -f 1136/1655/2 1148/1659/2 1147/1656/72 -f 1137/1658/73 1149/1661/73 1148/1659/2 -f 1138/1660/74 1150/1663/74 1149/1661/73 -f 1139/1662/12 1151/1665/12 1150/1663/74 -f 1140/1664/67 1152/1666/67 1151/1665/12 -f 1129/1646/68 1141/1645/68 1152/1666/67 -f 1144/1650/85 1156/1679/85 1155/1667/86 -f 1143/1648/86 1155/1667/86 1154/1668/75 -f 1142/1643/75 1154/1668/75 1153/1669/76 -f 1152/1666/77 1141/1645/76 1153/1669/76 -f 1151/1665/78 1152/1666/77 1164/1670/77 -f 1151/1665/78 1163/1671/78 1162/1672/79 -f 1150/1663/79 1162/1672/79 1161/1673/80 -f 1148/1659/81 1149/1661/80 1161/1673/80 -f 1147/1656/82 1148/1659/81 1160/1674/81 -f 1147/1676/82 1159/1685/82 1158/1677/83 -f 1145/1652/84 1146/1654/83 1158/1677/83 -f 1145/1652/84 1157/1678/84 1156/1679/85 -f 1154/1668/3 1166/1681/3 1165/1680/68 -f 1155/1667/69 1167/1682/69 1166/1681/3 -f 1156/1679/70 1168/1683/70 1167/1682/69 -f 1157/1678/6 1169/1684/6 1168/1683/70 -f 1158/1677/71 1170/1686/71 1169/1684/6 -f 1159/1685/72 1171/1701/72 1170/1686/71 -f 1160/1674/2 1172/1688/2 1171/1687/72 -f 1161/1673/73 1173/1689/73 1172/1688/2 -f 1162/1672/74 1174/1690/74 1173/1689/73 -f 1163/1671/12 1175/1691/12 1174/1690/74 -f 1164/1670/67 1176/1692/67 1175/1691/12 -f 1153/1669/68 1165/1680/68 1176/1692/67 -f 1165/1680/98 1166/1681/97 1178/1693/97 -f 1165/1680/98 1177/1694/98 1188/1695/88 -f 1176/1692/88 1188/1695/88 1187/1696/87 -f 1175/1691/87 1187/1696/87 1186/1697/89 -f 1174/1690/89 1186/1697/89 1185/1698/90 -f 1173/1689/90 1185/1698/90 1184/1699/91 -f 1172/1688/91 1184/1699/91 1183/1700/92 -f 1171/1701/92 1183/1711/92 1182/1702/93 -f 1169/1684/94 1170/1686/93 1182/1702/93 -f 1168/1683/95 1169/1684/94 1181/1703/94 -f 1167/1682/96 1168/1683/95 1180/1704/95 -f 1166/1681/97 1167/1682/96 1179/1705/96 -f 1178/1693/3 1190/1707/3 1189/1706/68 -f 1179/1705/69 1191/1708/69 1190/1707/3 -f 1180/1704/70 1192/1709/70 1191/1708/69 -f 1181/1703/6 1193/1710/6 1192/1709/70 -f 1182/1702/71 1194/1712/71 1193/1710/6 -f 1183/1711/72 1195/1727/72 1194/1712/71 -f 1184/1699/2 1196/1714/2 1195/1713/72 -f 1185/1698/73 1197/1715/73 1196/1714/2 -f 1186/1697/74 1198/1716/74 1197/1715/73 -f 1187/1696/12 1199/1717/12 1198/1716/74 -f 1188/1695/67 1200/1718/67 1199/1717/12 -f 1177/1694/68 1189/1706/68 1200/1718/67 -f 1198/1716/79 1199/1717/78 1211/1719/78 -f 1199/1717/78 1200/1718/77 1212/1721/77 -f 1189/1706/76 1201/1722/76 1212/1721/77 -f 1190/1707/75 1202/1723/75 1201/1722/76 -f 1191/1708/86 1203/1724/86 1202/1723/75 -f 1192/1709/85 1204/1725/85 1203/1724/86 -f 1193/1710/84 1205/1726/84 1204/1725/85 -f 1194/1712/83 1206/1728/83 1205/1726/84 -f 1195/1727/82 1207/1737/82 1206/1728/83 -f 1196/1714/81 1208/1731/81 1207/1729/82 -f 1196/1714/81 1197/1715/80 1209/1730/80 -f 1198/1716/79 1210/1720/79 1209/1730/80 -f 1202/1723/3 1214/1733/3 1213/1732/68 -f 1203/1724/69 1215/1734/69 1214/1733/3 -f 1204/1725/70 1216/1735/70 1215/1734/69 -f 1205/1726/6 1217/1736/6 1216/1735/70 -f 1206/1728/71 1218/1738/71 1217/1736/6 -f 1207/1737/72 1219/1751/72 1218/1738/71 -f 1208/1731/2 1220/1740/2 1219/1739/72 -f 1209/1730/73 1221/1741/73 1220/1740/2 -f 1210/1720/74 1222/1742/74 1221/1741/73 -f 1211/1719/12 1223/1743/12 1222/1742/74 -f 1212/1721/67 1224/1744/67 1223/1743/12 -f 1201/1722/68 1213/1732/68 1224/1744/67 -f 1224/1744/88 1213/1732/98 1225/1745/98 -f 1213/1732/98 1214/1733/97 1226/1747/97 -f 1214/1733/97 1215/1734/96 1227/1748/96 -f 1215/1734/96 1216/1735/95 1228/1749/95 -f 1216/1735/95 1217/1736/94 1229/1750/94 -f 1218/1738/93 1230/1752/93 1229/1750/94 -f 1219/1751/92 1231/1758/92 1230/1752/93 -f 1220/1740/91 1232/1754/91 1231/1753/92 -f 1221/1741/90 1233/1756/90 1232/1754/91 -f 1221/1741/90 1222/1742/89 1234/1755/89 -f 1223/1743/87 1235/1757/87 1234/1755/89 -f 1223/1743/87 1224/1744/88 1236/1746/88 -f 1226/1747/3 1238/492/3 1237/468/68 -f 1227/1748/69 1239/491/69 1238/492/3 -f 1228/1749/70 1240/489/70 1239/491/69 -f 1229/1750/6 1241/487/6 1240/489/70 -f 1230/1752/71 1242/485/71 1241/487/6 -f 1231/1758/72 1243/483/72 1242/485/71 -f 1232/1754/2 1244/479/2 1243/480/72 -f 1233/1756/73 1245/475/73 1244/479/2 -f 1234/1755/74 1246/474/74 1245/475/73 -f 1235/1757/12 1247/472/12 1246/474/74 -f 1236/1746/67 1248/470/67 1247/472/12 -f 1225/1745/68 1237/468/68 1248/470/67 -f 1250/754/2 1262/1876/2 1261/1759/72 -f 1251/493/73 1263/1877/73 1262/1760/2 -f 1252/753/74 1264/1878/74 1263/1761/73 -f 1253/752/12 1265/1879/12 1264/1762/74 -f 1254/751/67 1266/1880/67 1265/1763/12 -f 1255/750/68 1267/1881/68 1266/1764/67 -f 1256/481/3 1268/1882/3 1267/1765/68 -f 1257/749/69 1269/1883/69 1268/1766/3 -f 1258/476/70 1270/1884/70 1269/1767/69 -f 1259/748/6 1271/1885/6 1270/1768/70 -f 1260/747/71 1272/1886/71 1271/1769/6 -f 1249/746/72 1261/1887/72 1272/1770/71 +f 1302/2295/160 1287/2296/159 1286/2297/160 +f 1295/2298/157 1280/2299/161 1279/2300/157 +f 1303/2301/159 1288/2302/162 1287/2296/159 +f 1296/2303/161 1281/2304/124 1280/2299/161 +f 1289/2305/130 1274/2306/163 1273/2307/130 +f 1304/2308/162 1273/2307/130 1288/2302/162 +f 1297/2309/124 1282/2310/164 1281/2311/124 +f 1290/2312/163 1275/2313/158 1274/2306/163 +f 1298/2314/164 1283/2315/156 1282/2310/164 +f 1291/2316/158 1276/2317/165 1275/2313/158 +f 1299/2318/156 1284/2319/166 1283/2315/156 +f 1292/2320/165 1277/2321/121 1276/2317/165 +f 1300/2322/166 1285/2323/120 1284/2319/166 +f 1293/2324/121 1278/2325/167 1277/2321/121 +f 1301/2326/120 1286/2297/160 1285/2323/120 +f 1294/2327/167 1279/2300/157 1278/2325/167 +f 1319/2328/168 1304/2308/169 1303/2301/168 +f 1320/2329/169 1289/2305/170 1304/2308/169 +f 1305/2330/170 1290/2312/171 1289/2305/170 +f 1306/2331/171 1291/2316/172 1290/2312/171 +f 1307/2332/172 1292/2320/173 1291/2316/172 +f 1292/2320/173 1309/2333/155 1293/2324/155 +f 1309/2334/155 1294/2327/174 1293/2324/155 +f 1294/2327/174 1311/2335/175 1295/2298/175 +f 1311/2336/175 1296/2303/176 1295/2298/175 +f 1312/2337/176 1297/2338/177 1296/2303/176 +f 1313/2339/177 1298/2314/178 1297/2309/177 +f 1298/2314/178 1315/2340/179 1299/2318/179 +f 1299/2318/179 1316/2341/180 1300/2322/180 +f 1316/2342/180 1301/2326/149 1300/2322/180 +f 1317/2343/149 1302/2295/181 1301/2326/149 +f 1318/2344/181 1303/2301/168 1302/2295/181 +f 1307/2345/158 1324/2346/165 1308/2347/165 +f 1315/2348/156 1332/2349/166 1316/2350/166 +f 1308/2347/165 1325/2351/121 1309/2352/121 +f 1316/2350/166 1333/2353/120 1317/2354/120 +f 1309/2352/121 1326/2355/167 1310/2356/167 +f 1317/2354/120 1334/2357/160 1318/2358/160 +f 1310/2356/167 1327/2359/157 1311/2360/157 +f 1318/2358/160 1335/2361/159 1319/2362/159 +f 1311/2360/157 1328/2363/161 1312/2364/161 +f 1319/2362/159 1336/2365/162 1320/2366/162 +f 1312/2364/161 1329/2367/124 1313/2368/124 +f 1305/2369/130 1322/2370/163 1306/2371/163 +f 1320/2366/162 1321/2372/130 1305/2369/130 +f 1313/2339/124 1330/2373/164 1314/2374/164 +f 1306/2371/163 1323/2375/158 1307/2345/158 +f 1314/2374/164 1331/2376/156 1315/2348/156 +f 1334/2357/181 1351/2377/168 1335/2361/168 +f 1351/2378/168 1336/2365/169 1335/2361/168 +f 1352/2379/169 1321/2372/170 1336/2365/169 +f 1337/2380/170 1322/2370/171 1321/2372/170 +f 1338/2381/171 1323/2375/172 1322/2370/171 +f 1323/2375/172 1340/2382/173 1324/2346/173 +f 1324/2346/173 1341/2383/155 1325/2351/155 +f 1341/2384/155 1326/2355/174 1325/2351/155 +f 1342/2385/174 1327/2359/175 1326/2355/174 +f 1327/2359/175 1344/2386/176 1328/2363/176 +f 1328/2363/176 1345/2387/177 1329/2367/177 +f 1329/2388/177 1346/2389/178 1330/2373/178 +f 1330/2373/178 1347/2390/179 1331/2376/179 +f 1347/2391/179 1332/2349/180 1331/2376/179 +f 1332/2349/180 1349/2392/149 1333/2353/149 +f 1349/2393/149 1334/2357/181 1333/2353/149 +f 1401/2394/120 1394/2395/159 1393/2396/120 +f 1399/2397/124 1392/2398/156 1391/2399/124 +f 1397/2400/121 1390/2401/157 1389/2402/121 +f 1395/2403/130 1388/2404/158 1387/2405/130 +f 1402/2406/159 1387/2405/130 1394/2395/159 +f 1400/2407/156 1393/2396/120 1392/2398/156 +f 1398/2408/157 1391/2409/124 1390/2401/157 +f 1396/2410/158 1389/2402/121 1388/2404/158 +f 1456/2411/130 1457/2412/162 1455/2413/130 +f 1458/2414/162 1459/2415/159 1457/2412/162 +f 1460/2416/159 1461/2417/160 1459/2415/159 +f 1462/2418/160 1463/2419/120 1461/2417/160 +f 1464/2420/120 1465/2421/166 1463/2419/120 +f 1466/2422/166 1467/2423/156 1465/2421/166 +f 1468/2424/156 1469/2425/164 1467/2423/156 +f 1470/2426/164 1471/2427/124 1469/2425/164 +f 1472/2428/124 1473/2429/161 1471/2430/124 +f 1474/2431/161 1475/2432/157 1473/2429/161 +f 1476/2433/157 1477/2434/167 1475/2432/157 +f 1478/2435/167 1479/2436/121 1477/2434/167 +f 1480/2437/121 1481/2438/165 1479/2436/121 +f 1482/2439/165 1483/2440/158 1481/2438/165 +f 1484/2441/158 1485/2442/163 1483/2440/158 +f 1486/2443/163 1455/2413/130 1485/2442/163 +f 1488/2444/130 1489/2445/162 1487/2446/130 +f 1490/2447/162 1491/2448/159 1489/2445/162 +f 1492/2449/159 1493/2450/160 1491/2448/159 +f 1494/2451/160 1495/2452/120 1493/2450/160 +f 1496/2453/120 1497/2454/166 1495/2452/120 +f 1498/2455/166 1499/2456/156 1497/2454/166 +f 1500/2457/156 1501/2458/164 1499/2456/156 +f 1502/2459/164 1503/2460/124 1501/2458/164 +f 1504/2461/124 1505/2462/161 1503/2463/124 +f 1506/2464/161 1507/2465/157 1505/2462/161 +f 1507/2465/157 1510/2466/167 1509/2467/167 +f 1510/2466/167 1511/2468/121 1509/2467/167 +f 1512/2469/121 1513/2470/165 1511/2468/121 +f 1514/2471/165 1515/2472/158 1513/2470/165 +f 1516/2473/158 1517/2474/163 1515/2472/158 +f 1518/2475/163 1487/2446/130 1517/2474/163 +f 1598/2476/182 1599/2477/166 1597/2478/182 +f 1600/2479/166 1601/2480/156 1599/2477/166 +f 1602/2481/156 1603/2482/164 1601/2480/156 +f 1604/2483/164 1605/2484/124 1603/2482/164 +f 1606/2485/124 1607/2486/161 1605/2484/124 +f 1608/2487/161 1609/2488/157 1607/2486/161 +f 1610/2489/157 1611/2490/167 1609/2488/157 +f 1612/2491/167 1613/2492/183 1611/2490/167 +f 1302/2295/160 1303/2301/159 1287/2296/159 +f 1295/2298/157 1296/2303/161 1280/2299/161 +f 1303/2301/159 1304/2308/162 1288/2302/162 +f 1296/2303/161 1297/2338/124 1281/2304/124 +f 1289/2305/130 1290/2312/163 1274/2306/163 +f 1304/2308/162 1289/2305/130 1273/2307/130 +f 1297/2309/124 1298/2314/164 1282/2310/164 +f 1290/2312/163 1291/2316/158 1275/2313/158 +f 1298/2314/164 1299/2318/156 1283/2315/156 +f 1291/2316/158 1292/2320/165 1276/2317/165 +f 1299/2318/156 1300/2322/166 1284/2319/166 +f 1292/2320/165 1293/2324/121 1277/2321/121 +f 1300/2322/166 1301/2326/120 1285/2323/120 +f 1293/2324/121 1294/2327/167 1278/2325/167 +f 1301/2326/120 1302/2295/160 1286/2297/160 +f 1294/2327/167 1295/2298/157 1279/2300/157 +f 1319/2328/168 1320/2493/169 1304/2308/169 +f 1320/2329/169 1305/2494/170 1289/2305/170 +f 1305/2330/170 1306/2495/171 1290/2312/171 +f 1306/2331/171 1307/2496/172 1291/2316/172 +f 1307/2332/172 1308/2497/173 1292/2320/173 +f 1292/2320/173 1308/2498/173 1309/2333/155 +f 1309/2334/155 1310/2499/174 1294/2327/174 +f 1294/2327/174 1310/2500/174 1311/2335/175 +f 1311/2336/175 1312/2501/176 1296/2303/176 +f 1312/2337/176 1313/2502/177 1297/2338/177 +f 1313/2339/177 1314/2374/178 1298/2314/178 +f 1298/2314/178 1314/2503/178 1315/2340/179 +f 1299/2318/179 1315/2504/179 1316/2341/180 +f 1316/2342/180 1317/2505/149 1301/2326/149 +f 1317/2343/149 1318/2506/181 1302/2295/181 +f 1318/2344/181 1319/2507/168 1303/2301/168 +f 1307/2345/158 1323/2375/158 1324/2346/165 +f 1315/2348/156 1331/2376/156 1332/2349/166 +f 1308/2347/165 1324/2346/165 1325/2351/121 +f 1316/2350/166 1332/2349/166 1333/2353/120 +f 1309/2352/121 1325/2351/121 1326/2355/167 +f 1317/2354/120 1333/2353/120 1334/2357/160 +f 1310/2356/167 1326/2355/167 1327/2359/157 +f 1318/2358/160 1334/2357/160 1335/2361/159 +f 1311/2360/157 1327/2359/157 1328/2363/161 +f 1319/2362/159 1335/2361/159 1336/2365/162 +f 1312/2364/161 1328/2363/161 1329/2367/124 +f 1305/2369/130 1321/2372/130 1322/2370/163 +f 1320/2366/162 1336/2365/162 1321/2372/130 +f 1313/2339/124 1329/2388/124 1330/2373/164 +f 1306/2371/163 1322/2370/163 1323/2375/158 +f 1314/2374/164 1330/2373/164 1331/2376/156 +f 1334/2357/181 1350/2508/181 1351/2377/168 +f 1351/2378/168 1352/2509/169 1336/2365/169 +f 1352/2379/169 1337/2510/170 1321/2372/170 +f 1337/2380/170 1338/2511/171 1322/2370/171 +f 1338/2381/171 1339/2512/172 1323/2375/172 +f 1323/2375/172 1339/2513/172 1340/2382/173 +f 1324/2346/173 1340/2514/173 1341/2383/155 +f 1341/2384/155 1342/2515/174 1326/2355/174 +f 1342/2385/174 1343/2516/175 1327/2359/175 +f 1327/2359/175 1343/2517/175 1344/2386/176 +f 1328/2363/176 1344/2518/176 1345/2387/177 +f 1329/2388/177 1345/2519/177 1346/2389/178 +f 1330/2373/178 1346/2520/178 1347/2390/179 +f 1347/2391/179 1348/2521/180 1332/2349/180 +f 1332/2349/180 1348/2522/180 1349/2392/149 +f 1349/2393/149 1350/2523/181 1334/2357/181 +f 1401/2394/120 1402/2406/159 1394/2395/159 +f 1399/2397/124 1400/2407/156 1392/2398/156 +f 1397/2400/121 1398/2408/157 1390/2401/157 +f 1395/2403/130 1396/2410/158 1388/2404/158 +f 1402/2406/159 1395/2403/130 1387/2405/130 +f 1400/2407/156 1401/2394/120 1393/2396/120 +f 1398/2408/157 1399/2524/124 1391/2409/124 +f 1396/2410/158 1397/2400/121 1389/2402/121 +f 1456/2411/130 1458/2414/162 1457/2412/162 +f 1458/2414/162 1460/2416/159 1459/2415/159 +f 1460/2416/159 1462/2418/160 1461/2417/160 +f 1462/2418/160 1464/2420/120 1463/2419/120 +f 1464/2420/120 1466/2422/166 1465/2421/166 +f 1466/2422/166 1468/2424/156 1467/2423/156 +f 1468/2424/156 1470/2426/164 1469/2425/164 +f 1470/2426/164 1472/2525/124 1471/2427/124 +f 1472/2428/124 1474/2431/161 1473/2429/161 +f 1474/2431/161 1476/2433/157 1475/2432/157 +f 1476/2433/157 1478/2435/167 1477/2434/167 +f 1478/2435/167 1480/2437/121 1479/2436/121 +f 1480/2437/121 1482/2439/165 1481/2438/165 +f 1482/2439/165 1484/2441/158 1483/2440/158 +f 1484/2441/158 1486/2443/163 1485/2442/163 +f 1486/2443/163 1456/2411/130 1455/2413/130 +f 1488/2444/130 1490/2447/162 1489/2445/162 +f 1490/2447/162 1492/2449/159 1491/2448/159 +f 1492/2449/159 1494/2451/160 1493/2450/160 +f 1494/2451/160 1496/2453/120 1495/2452/120 +f 1496/2453/120 1498/2455/166 1497/2454/166 +f 1498/2455/166 1500/2457/156 1499/2456/156 +f 1500/2457/156 1502/2459/164 1501/2458/164 +f 1502/2459/164 1504/2526/124 1503/2460/124 +f 1504/2461/124 1506/2464/161 1505/2462/161 +f 1506/2464/161 1508/2527/157 1507/2465/157 +f 1507/2465/157 1508/2527/157 1510/2466/167 +f 1510/2466/167 1512/2469/121 1511/2468/121 +f 1512/2469/121 1514/2471/165 1513/2470/165 +f 1514/2471/165 1516/2473/158 1515/2472/158 +f 1516/2473/158 1518/2475/163 1517/2474/163 +f 1518/2475/163 1488/2444/130 1487/2446/130 +f 1598/2476/182 1600/2479/166 1599/2477/166 +f 1600/2479/166 1602/2481/156 1601/2480/156 +f 1602/2481/156 1604/2483/164 1603/2482/164 +f 1604/2483/164 1606/2485/124 1605/2484/124 +f 1606/2485/124 1608/2487/161 1607/2486/161 +f 1608/2487/161 1610/2489/157 1609/2488/157 +f 1610/2489/157 1612/2491/167 1611/2490/167 +f 1612/2491/167 1614/2528/183 1613/2492/183 diff --git a/src/main/resources/assets/hbm/models/weapons/missile_launcher.obj b/src/main/resources/assets/hbm/models/weapons/missile_launcher.obj index b8a259455..8818c225e 100644 --- a/src/main/resources/assets/hbm/models/weapons/missile_launcher.obj +++ b/src/main/resources/assets/hbm/models/weapons/missile_launcher.obj @@ -1,66 +1,6 @@ # Blender v2.79 (sub 0) OBJ File: 'missile_launcher.blend' # www.blender.org -o Cylinder -v -0.250000 1.433012 -1.437500 -v 0.000000 1.500000 6.687500 -v -0.433013 1.250000 -1.437500 -v 0.250000 1.433012 6.687500 -v -0.500000 1.000000 -1.437500 -v 0.433013 1.250000 6.687500 -v -0.433012 0.750000 -1.437500 -v 0.500000 1.000000 6.687500 -v -0.250000 0.566987 -1.437500 -v 0.433013 0.750000 6.687500 -v 0.000000 0.500000 -1.437500 -v 0.250000 0.566987 6.687500 -v 0.250000 0.566987 -1.437500 -v 0.000000 0.500000 6.687500 -v 0.433012 0.750000 -1.437500 -v -0.250000 0.566987 6.687500 -v 0.500000 1.000000 -1.437500 -v -0.433012 0.750000 6.687500 -v 0.433012 1.250000 -1.437500 -v -0.500000 1.000000 6.687500 -v 0.000000 1.500000 -1.437500 -v -0.433013 1.250000 6.687500 -v 0.250000 1.433012 -1.437500 -v -0.250000 1.433012 6.687500 -v 0.000000 1.500000 0.187500 -v 0.250000 1.433012 0.187500 -v 0.433013 1.250000 0.187500 -v 0.500000 1.000000 0.187500 -v 0.433013 0.750000 0.187500 -v 0.250000 0.566987 0.187500 -v 0.000000 0.500000 0.187500 -v -0.250000 0.566987 0.187500 -v -0.433012 0.750000 0.187500 -v -0.500000 1.000000 0.187500 -v -0.433013 1.250000 0.187500 -v -0.250000 1.433012 0.187500 -v 0.218750 1.378886 6.687500 -v 0.000000 1.437500 6.687500 -v 0.378886 1.218750 6.687500 -v 0.437500 1.000000 6.687500 -v 0.378886 0.781250 6.687500 -v 0.218750 0.621114 6.687500 -v 0.000000 0.562500 6.687500 -v -0.218750 0.621114 6.687500 -v -0.378886 0.781250 6.687500 -v -0.437500 1.000000 6.687500 -v -0.378886 1.218750 6.687500 -v -0.218750 1.378886 6.687500 -v 0.218750 1.378889 0.187500 -v 0.000000 1.437503 0.187500 -v 0.378886 1.218753 0.187500 -v 0.437500 1.000003 0.187500 -v 0.378886 0.781253 0.187500 -v 0.218750 0.621117 0.187500 -v 0.000000 0.562503 0.187500 -v -0.218750 0.621117 0.187500 -v -0.378886 0.781253 0.187500 -v -0.437500 1.000003 0.187500 -v -0.378886 1.218753 0.187500 -v -0.218750 1.378889 0.187500 +o Front v 0.000000 1.625000 1.687500 v 0.312500 1.541266 1.687500 v 0.541266 1.312500 1.687500 @@ -137,98 +77,6 @@ v 0.250000 0.566987 6.562500 v 0.000000 0.500000 6.562500 v -0.250000 0.566987 6.562500 v -0.433012 0.750000 6.562500 -v 0.000000 1.500000 -6.687500 -v 0.250000 1.433012 -6.687500 -v 0.433012 1.250000 -6.687500 -v 0.500000 1.000000 -6.687500 -v 0.433012 0.750000 -6.687500 -v 0.250000 0.566987 -6.687500 -v 0.000000 0.500000 -6.687500 -v -0.250000 0.566987 -6.687500 -v -0.433012 0.750000 -6.687500 -v -0.500000 1.000000 -6.687500 -v -0.433013 1.250000 -6.687500 -v -0.250000 1.433012 -6.687500 -v 0.218750 1.378889 -6.687500 -v 0.000000 1.437503 -6.687500 -v 0.378886 1.218753 -6.687500 -v 0.437500 1.000003 -6.687500 -v 0.378886 0.781253 -6.687500 -v 0.218750 0.621117 -6.687500 -v 0.000000 0.562503 -6.687500 -v -0.218750 0.621117 -6.687500 -v -0.378886 0.781253 -6.687500 -v -0.437500 1.000003 -6.687500 -v -0.378886 1.218753 -6.687500 -v -0.218750 1.378889 -6.687500 -v 0.218750 1.378889 -1.437500 -v 0.000000 1.437503 -1.437500 -v 0.378886 1.218753 -1.437500 -v 0.437500 1.000003 -1.437500 -v 0.378886 0.781253 -1.437500 -v 0.218750 0.621117 -1.437500 -v 0.000000 0.562503 -1.437500 -v -0.218750 0.621117 -1.437500 -v -0.378886 0.781253 -1.437500 -v -0.437500 1.000003 -1.437500 -v -0.378886 1.218753 -1.437500 -v -0.218750 1.378889 -1.437500 -v 0.000000 1.625000 1.687500 -v 0.312500 1.541266 1.687500 -v 0.541266 1.312500 1.687500 -v 0.625000 0.999999 1.687500 -v -0.625000 0.999999 1.687500 -v -0.541266 1.312500 1.687500 -v -0.312500 1.541266 1.687500 -v -0.250000 1.433012 1.687500 -v -0.433013 1.250000 1.687500 -v 0.000000 1.625000 0.687500 -v 0.312500 1.541266 0.687500 -v 0.541266 1.312500 0.687500 -v 0.625000 0.999999 0.687500 -v -0.625000 0.999999 0.687500 -v -0.541266 1.312500 0.687500 -v -0.312500 1.541266 0.687500 -v 0.000000 1.625000 -1.437500 -v 0.312500 1.541266 -1.437500 -v 0.541266 1.312500 -1.437500 -v 0.625000 0.999999 -1.437500 -v -0.625000 0.999999 -1.437500 -v -0.541266 1.312500 -1.437500 -v -0.312500 1.541266 -1.437500 -v 0.000000 1.625000 -1.937500 -v 0.312500 1.541266 -1.937500 -v 0.541266 1.312500 -1.937500 -v 0.625000 0.999999 -1.937500 -v -0.625000 0.999999 -1.937500 -v -0.541266 1.312500 -1.937500 -v -0.312500 1.541266 -1.937500 -v 0.541266 0.687500 -1.437500 -v 0.312500 0.458734 -1.437500 -v 0.000000 0.375000 -1.437500 -v -0.312500 0.458734 -1.437500 -v -0.541265 0.687499 -1.437500 -v 0.541266 0.687500 -5.687500 -v 0.312500 0.458734 -5.687500 -v 0.000000 0.375000 -5.687500 -v -0.312500 0.458734 -5.687500 -v -0.541265 0.687499 -5.687500 -v 0.433012 0.750000 -5.687500 -v 0.250000 0.566987 -5.687500 -v 0.000000 0.500000 -5.687500 -v -0.250000 0.566987 -5.687500 -v -0.433012 0.750000 -5.687500 -v 0.625000 0.999999 -5.687500 -v -0.625000 0.999999 -5.687500 -v 0.500000 1.000000 -5.687500 -v -0.500000 1.000000 -5.687500 -v -0.250000 1.433012 -1.937500 -v -0.433013 1.250000 -1.937500 -v -0.500000 1.000000 -1.937500 -v 0.500000 1.000000 -1.937500 -v 0.433012 1.250000 -1.937500 -v 0.000000 1.500000 -1.937500 -v 0.250000 1.433012 -1.937500 v 0.625000 1.000000 1.687500 v 0.750000 1.000000 1.687500 v 0.625000 1.000000 6.437500 @@ -237,7 +85,6 @@ v 0.500000 0.750000 1.812500 v 0.750000 0.750000 1.812500 v 0.500000 0.750000 6.437500 v 0.750000 0.250000 1.687500 -v 0.750000 0.250000 1.687500 v 0.750000 0.250000 3.125000 v 0.500000 0.437500 3.125000 v 0.750000 0.437500 3.125000 @@ -259,7 +106,6 @@ v -0.750000 1.000000 6.437500 v -0.500000 0.750000 1.812500 v -0.750000 0.750000 1.812500 v -0.500000 0.750000 6.437500 -v 0.750000 1.000000 1.687500 v -0.750000 0.250000 1.687500 v -0.750000 0.250000 3.125000 v -0.500000 0.437500 3.125000 @@ -318,91 +164,6 @@ v -0.410136 1.164623 5.500000 v -0.347636 1.272877 5.500000 v -0.410136 1.164623 6.500000 v -0.347636 1.272877 6.500000 -v -0.750000 1.000000 1.687500 -v -0.750000 0.250000 1.687500 -v -0.500000 1.000000 1.687500 -v -0.433012 0.750000 1.687500 -v -0.250000 0.566987 1.687500 -v 0.000000 0.500000 1.687500 -v 0.250000 0.566987 1.687500 -v 0.433013 0.750000 1.687500 -v 0.500000 1.000000 1.687500 -v 0.433013 1.250000 1.687500 -v 0.250000 1.433012 1.687500 -v 0.000000 1.500000 1.687500 -v 0.750000 0.250000 0.687500 -v -0.750000 0.250000 0.687500 -v 0.750000 0.750000 1.562500 -v -0.750000 0.750000 1.562500 -v 0.750000 0.750000 0.687500 -v -0.750000 0.750000 0.687500 -v 0.750000 1.000000 0.687500 -v -0.750000 1.000000 0.687500 -v 0.625000 1.000000 1.687500 -v 0.541266 0.687500 1.687500 -v 0.312500 0.458734 1.687500 -v -0.625000 1.000000 1.687500 -v -0.541265 0.687500 1.687500 -v -0.312500 0.458734 1.687500 -v 0.000000 0.375000 1.687500 -v 0.541266 0.687500 1.687500 -v 0.312500 0.458734 1.687500 -v -0.541265 0.687500 1.687500 -v -0.312500 0.458734 1.687500 -v 0.000000 0.375000 1.687500 -v 0.541266 0.687500 0.687500 -v 0.312500 0.458734 0.687500 -v -0.541265 0.687500 0.687500 -v -0.312500 0.458734 0.687500 -v 0.000000 0.375000 0.687500 -v -0.750000 0.437500 0.687500 -v 0.750000 0.437500 0.687500 -v 0.500000 0.750000 1.562500 -v -0.500000 0.750000 1.562500 -v 0.500000 0.750000 0.687500 -v 0.625000 1.000000 0.687500 -v -0.625000 0.999999 0.687500 -v -0.500000 0.750000 0.687500 -v 0.750000 0.125000 0.687500 -v -0.750000 0.125000 0.687500 -v -0.875000 0.250000 1.437500 -v 0.875000 0.249999 1.437500 -v -0.875000 0.125000 1.470994 -v 0.875000 0.124999 1.470994 -v -0.875000 0.033493 1.562500 -v 0.875000 0.033493 1.562500 -v -0.875000 -0.000000 1.687500 -v 0.875000 -0.000000 1.687500 -v -0.875000 0.033493 1.812500 -v 0.875000 0.033493 1.812500 -v -0.875000 0.125000 1.904006 -v 0.875000 0.124999 1.904006 -v -0.875000 0.250000 1.937500 -v 0.875000 0.249999 1.937500 -v -0.875000 0.375000 1.904006 -v 0.875000 0.374999 1.904006 -v -0.875000 0.466506 1.812500 -v 0.875000 0.466506 1.812500 -v -0.875000 0.500000 1.687500 -v 0.875000 0.499999 1.687500 -v -0.875000 0.466506 1.562500 -v 0.875000 0.466506 1.562500 -v -0.875000 0.375000 1.470994 -v 0.875000 0.375000 1.470994 -v -0.750000 0.125000 -1.437500 -v 0.750000 0.125000 -1.437500 -v 0.750000 1.750000 0.687500 -v -0.750000 1.750000 0.687500 -v -0.750000 1.750000 -1.437500 -v 0.750000 1.750000 -1.437500 -v -0.875000 1.750000 0.812500 -v 0.875000 1.750000 0.812500 -v -0.875000 1.750000 -1.562500 -v 0.875000 1.750000 -1.562500 -v -0.875000 2.500000 -1.562500 -v -0.875000 2.500000 0.812500 -v 0.875000 2.500000 0.812500 -v 0.875000 2.500000 -1.562500 v -0.750000 0.250000 5.687500 v 0.750000 0.250000 5.687500 v 0.750000 0.250000 6.437500 @@ -427,138 +188,6 @@ v -0.250000 0.500000 5.250000 v 0.250000 0.500000 5.250000 v -0.250000 0.500000 3.000000 v 0.250000 0.500000 3.000000 -v 0.000000 1.875000 -6.337500 -v 0.437500 1.757772 -6.337500 -v 0.757772 1.437500 -6.337500 -v 0.875000 0.999999 -6.337500 -v 0.757772 0.562500 -6.337500 -v 0.437500 0.242228 -6.337500 -v 0.000000 0.125000 -6.337500 -v -0.437500 0.242228 -6.337500 -v -0.757772 0.562499 -6.337500 -v -0.875000 0.999999 -6.337500 -v -0.757772 1.437499 -6.337500 -v -0.437500 1.757772 -6.337500 -v 0.000000 1.500000 -6.687500 -v 0.250000 1.433012 -6.687500 -v 0.433013 1.250000 -6.687500 -v 0.500000 1.000000 -6.687500 -v 0.433013 0.750000 -6.687500 -v 0.250000 0.566987 -6.687500 -v 0.000000 0.500000 -6.687500 -v -0.250000 0.566987 -6.687500 -v -0.433012 0.750000 -6.687500 -v -0.500000 1.000000 -6.687500 -v -0.433013 1.250000 -6.687500 -v -0.250000 1.433012 -6.687500 -v 0.000000 1.500000 -5.687500 -v 0.250000 1.433012 -5.687500 -v 0.433013 1.250000 -5.687500 -v 0.500000 1.000000 -5.687500 -v 0.433013 0.750000 -5.687500 -v 0.250000 0.566987 -5.687500 -v 0.000000 0.500000 -5.687500 -v -0.250000 0.566987 -5.687500 -v -0.433012 0.750000 -5.687500 -v -0.500000 1.000000 -5.687500 -v -0.433013 1.250000 -5.687500 -v -0.250000 1.433012 -5.687500 -v 0.062500 1.687500 -6.062500 -v -0.062500 1.687500 -6.062500 -v 0.062500 1.687500 -5.562500 -v -0.062500 1.687500 -5.562500 -v 0.062500 1.437500 -5.062500 -v -0.062500 1.437500 -5.062500 -v 0.062500 1.437500 -6.062500 -v -0.062500 1.437500 -6.062500 -v -0.564143 1.397877 -6.062500 -v -0.626643 1.289623 -6.062500 -v -0.564143 1.397877 -5.562500 -v -0.626643 1.289623 -5.562500 -v -0.347636 1.272877 -5.062500 -v -0.410136 1.164623 -5.062500 -v -0.347636 1.272877 -6.062500 -v -0.410136 1.164623 -6.062500 -v -0.289623 1.626642 -6.062500 -v -0.397877 1.564142 -6.062500 -v -0.289623 1.626642 -5.562500 -v -0.397877 1.564142 -5.562500 -v -0.164623 1.410136 -5.062500 -v -0.272877 1.347636 -5.062500 -v -0.164623 1.410136 -6.062500 -v -0.272877 1.347636 -6.062500 -v 0.397877 1.564142 -6.062500 -v 0.289623 1.626642 -6.062500 -v 0.397877 1.564142 -5.562500 -v 0.289623 1.626642 -5.562500 -v 0.272877 1.347636 -5.062500 -v 0.164624 1.410136 -5.062500 -v 0.272877 1.347636 -6.062500 -v 0.164623 1.410136 -6.062500 -v 0.626643 1.289623 -6.062500 -v 0.564143 1.397877 -6.062500 -v 0.626643 1.289623 -5.562500 -v 0.564143 1.397877 -5.562500 -v 0.410136 1.164623 -5.062500 -v 0.347636 1.272877 -5.062500 -v 0.410136 1.164623 -6.062500 -v 0.347636 1.272877 -6.062500 -v 0.000000 1.312500 1.687500 -v -0.156250 1.270633 1.687500 -v -0.270633 1.156250 1.687500 -v -0.312500 1.000000 1.687500 -v -0.270633 0.843750 1.687500 -v -0.156250 0.729367 1.687500 -v 0.000000 0.687500 1.687500 -v 0.156250 0.729367 1.687500 -v 0.270633 0.843750 1.687500 -v 0.312500 1.000000 1.687500 -v 0.270633 1.156250 1.687500 -v 0.156250 1.270633 1.687500 -v 0.000000 1.312500 6.437500 -v -0.156250 1.270633 6.437500 -v -0.270633 1.156250 6.437500 -v -0.312500 1.000000 6.437500 -v -0.270633 0.843750 6.437500 -v -0.156250 0.729367 6.437500 -v 0.000000 0.687500 6.437500 -v 0.156250 0.729367 6.437500 -v 0.270633 0.843750 6.437500 -v 0.312500 1.000000 6.437500 -v 0.270633 1.156250 6.437500 -v 0.156250 1.270633 6.437500 -v 0.000000 1.273438 7.062500 -v -0.136719 1.236804 7.062500 -v -0.236804 1.136719 7.062500 -v -0.273438 1.000000 7.062500 -v -0.236804 0.863281 7.062500 -v -0.136719 0.763196 7.062500 -v 0.000000 0.726562 7.062500 -v 0.136719 0.763196 7.062500 -v 0.236804 0.863281 7.062500 -v 0.273438 1.000000 7.062500 -v 0.236804 1.136718 7.062500 -v 0.136719 1.236804 7.062500 -v 0.000000 1.000000 7.687499 -v 0.245813 1.363261 1.812500 -v 0.206190 1.169631 1.687500 -v 0.245813 1.363261 3.562500 -v 0.206190 1.169631 3.687500 -v 0.191687 1.394511 1.812500 -v 0.043810 1.263381 1.687500 -v 0.191687 1.394511 3.562500 -v 0.043810 1.263381 3.687500 -v -0.750000 0.750000 -1.437500 -v -0.750000 1.000000 -1.437500 -v 0.750000 0.750000 -5.562500 -v -0.750000 0.750000 -5.562500 -v 0.750000 1.000000 -5.562500 -v -0.750000 1.000000 -5.562500 -v -0.625000 1.000000 -1.437500 -v -0.500000 0.750000 -5.562500 -v -0.625000 1.000000 -5.562500 -v 0.625000 1.000000 -5.562500 -v 0.500000 0.750000 -5.562500 v 0.408494 0.625000 4.187500 v 0.375000 0.499999 4.187500 v 0.408494 0.374999 4.187500 @@ -715,6 +344,2024 @@ v 0.406250 1.187499 5.187500 v 0.406250 1.231693 5.169194 v 0.406250 1.249999 5.125000 v 0.406250 1.231693 5.080806 +vt 0.185520 0.419753 +vt 0.180995 0.388889 +vt 0.185520 0.388889 +vt 0.180995 0.450617 +vt 0.185520 0.450617 +vt 0.185520 0.481481 +vt 0.180995 0.481481 +vt 0.185520 0.512346 +vt 0.180995 0.512346 +vt 0.185520 0.543210 +vt 0.180995 0.543210 +vt 0.180995 0.574074 +vt 0.185520 0.574074 +vt 0.158371 0.419753 +vt 0.162896 0.388889 +vt 0.162896 0.419753 +vt 0.162896 0.450617 +vt 0.158371 0.481481 +vt 0.162896 0.481481 +vt 0.158371 0.512346 +vt 0.162896 0.512346 +vt 0.158371 0.543210 +vt 0.162896 0.543210 +vt 0.162896 0.574074 +vt 0.158371 0.574074 +vt 0.009050 0.450617 +vt 0.013575 0.419753 +vt 0.013575 0.450617 +vt 0.009050 0.388889 +vt 0.013575 0.388889 +vt 0.013575 0.481481 +vt 0.009050 0.481481 +vt 0.013575 0.512346 +vt 0.013575 0.543210 +vt 0.009050 0.512346 +vt 0.009050 0.574074 +vt 0.013575 0.574074 +vt 0.004525 0.450617 +vt -0.000000 0.419753 +vt 0.004525 0.419753 +vt 0.004525 0.388889 +vt 0.000000 0.481481 +vt 0.004525 0.481481 +vt -0.000000 0.512346 +vt 0.004525 0.512346 +vt 0.000000 0.543210 +vt 0.004525 0.543210 +vt 0.004525 0.574074 +vt 0.000000 0.574074 +vt 0.162896 0.586420 +vt 0.162896 0.376543 +vt 0.185520 0.635802 +vt 0.180995 0.604938 +vt 0.185520 0.604938 +vt 0.180995 0.666667 +vt 0.185520 0.666667 +vt 0.185520 0.327161 +vt 0.180995 0.296296 +vt 0.185520 0.296296 +vt 0.180995 0.358025 +vt 0.180995 0.327161 +vt 0.185520 0.358025 +vt 0.004525 0.358025 +vt -0.000000 0.327161 +vt 0.004525 0.327161 +vt 0.004525 0.296296 +vt 0.004525 0.666667 +vt -0.000000 0.635802 +vt 0.004525 0.635802 +vt 0.004525 0.604938 +vt -0.000000 0.604938 +vt 0.000000 0.358025 +vt 0.000000 0.388889 +vt 0.212670 0.617284 +vt 0.384615 0.604938 +vt 0.384615 0.617284 +vt 0.296380 0.358025 +vt 0.248869 0.388889 +vt 0.248869 0.358025 +vt 0.248869 0.413580 +vt 0.296380 0.388889 +vt 0.296380 0.413580 +vt 0.384615 0.382716 +vt 0.389140 0.456790 +vt 0.384615 0.530864 +vt 0.332579 0.382716 +vt 0.332579 0.530864 +vt 0.248869 0.333333 +vt 0.305430 0.358025 +vt 0.305430 0.388889 +vt 0.380091 0.580247 +vt 0.380091 0.549383 +vt 0.239819 0.388889 +vt 0.106335 0.512346 +vt 0.124434 0.537037 +vt 0.106335 0.537037 +vt 0.124434 0.388889 +vt 0.128959 0.537037 +vt 0.138009 0.388889 +vt 0.142534 0.537037 +vt 0.138009 0.537037 +vt 0.314480 0.530864 +vt 0.319005 0.518519 +vt 0.332579 0.549383 +vt 0.128959 0.388889 +vt 0.212670 0.530864 +vt 0.239819 0.580247 +vt 0.212670 0.604938 +vt 0.040724 0.450617 +vt 0.031674 0.438272 +vt 0.040724 0.438272 +vt 0.384615 0.308642 +vt 0.212670 0.296296 +vt 0.384615 0.296296 +vt 0.296380 0.388889 +vt 0.248869 0.358025 +vt 0.296380 0.358025 +vt 0.248869 0.388889 +vt 0.296380 0.413580 +vt 0.248869 0.413580 +vt 0.296380 0.333333 +vt 0.239819 0.358025 +vt 0.239819 0.388889 +vt 0.380091 0.333333 +vt 0.380091 0.364198 +vt 0.305430 0.388889 +vt 0.319005 0.395062 +vt 0.314480 0.382716 +vt 0.332579 0.364198 +vt 0.239819 0.382716 +vt 0.212670 0.382716 +vt 0.058824 0.450617 +vt 0.411765 0.530864 +vt 0.400452 0.512346 +vt 0.058824 0.438272 +vt 0.076923 0.450617 +vt 0.400452 0.401235 +vt 0.411765 0.382716 +vt 0.040724 0.475309 +vt 0.040724 0.413580 +vt 0.040724 0.450617 +vt 0.031674 0.438272 +vt 0.040724 0.438272 +vt 0.058824 0.450617 +vt 0.058824 0.438272 +vt 0.076923 0.450617 +vt 0.040724 0.475309 +vt 0.040724 0.413580 +vt 0.040724 0.450617 +vt 0.031674 0.438272 +vt 0.040724 0.438272 +vt 0.058824 0.450617 +vt 0.058824 0.438272 +vt 0.076923 0.450617 +vt 0.040724 0.475309 +vt 0.040724 0.413580 +vt 0.040724 0.438272 +vt 0.031674 0.450617 +vt 0.031674 0.438272 +vt 0.058824 0.450617 +vt 0.040724 0.450617 +vt 0.058824 0.438272 +vt 0.076923 0.450617 +vt 0.040724 0.475309 +vt 0.040724 0.413580 +vt 0.040724 0.450617 +vt 0.031674 0.438272 +vt 0.040724 0.438272 +vt 0.058824 0.450617 +vt 0.076923 0.438272 +vt 0.076923 0.450617 +vt 0.040724 0.475309 +vt 0.040724 0.413580 +vt 0.058824 0.438272 +vt 0.203620 0.481481 +vt 0.203620 0.432099 +vt 0.031674 0.537037 +vt 0.031674 0.512346 +vt 0.031674 0.388889 +vt 0.106335 0.413580 +vt 0.031674 0.413580 +vt 0.194570 0.506173 +vt 0.185520 0.530864 +vt 0.185520 0.382716 +vt 0.194570 0.407407 +vt 0.314480 0.580247 +vt 0.332579 0.580247 +vt 0.332579 0.333333 +vt 0.314480 0.333333 +vt 0.013575 0.388889 +vt 0.108597 0.740741 +vt 0.027149 0.790123 +vt 0.027149 0.740741 +vt 0.108597 0.864198 +vt 0.108597 0.790123 +vt 0.027149 0.666667 +vt 0.126697 0.740741 +vt 0.009050 0.740741 +vt 0.678895 0.588520 +vt 0.674532 0.567901 +vt 0.687621 0.547283 +vt 0.687621 0.596665 +vt 0.687621 0.637903 +vt 0.674532 0.617284 +vt 0.934389 0.623457 +vt 0.843891 0.629630 +vt 0.843891 0.623457 +vt 0.843891 0.549383 +vt 0.934389 0.543210 +vt 0.934389 0.549383 +vt 0.843891 0.567901 +vt 0.841629 0.549383 +vt 0.841629 0.586420 +vt 0.841629 0.567901 +vt 0.843891 0.586420 +vt 0.841629 0.604938 +vt 0.843891 0.604938 +vt 0.936652 0.604938 +vt 0.934389 0.604938 +vt 0.936652 0.586420 +vt 0.934389 0.586420 +vt 0.936652 0.567901 +vt 0.934389 0.567901 +vt 0.936652 0.549383 +vt 0.846154 0.629542 +vt 0.849376 0.633184 +vt 0.842932 0.650765 +vt 0.013575 0.537037 +vt 0.022624 0.438272 +vt 0.106335 0.388889 +vt 0.239819 0.333333 +vt 0.212670 0.308642 +vt 0.115385 0.487654 +vt 0.180995 0.419753 +vt 0.158371 0.388889 +vt 0.158371 0.450617 +vt 0.009050 0.419753 +vt 0.009050 0.543210 +vt 0.000000 0.450617 +vt 0.009050 0.586420 +vt 0.009050 0.376543 +vt 0.180995 0.635802 +vt -0.000000 0.296296 +vt 0.000000 0.666667 +vt 0.391403 0.425926 +vt 0.391403 0.487654 +vt 0.296380 0.333333 +vt 0.239819 0.358025 +vt 0.142534 0.388889 +vt 0.328054 0.518519 +vt 0.239819 0.530864 +vt 0.031674 0.450617 +vt 0.248869 0.333333 +vt 0.305430 0.358025 +vt 0.328054 0.395062 +vt 0.411765 0.518519 +vt 0.076923 0.438272 +vt 0.411765 0.395062 +vt 0.076923 0.475309 +vt 0.076923 0.413580 +vt 0.031674 0.450617 +vt 0.076923 0.438272 +vt 0.076923 0.475309 +vt 0.076923 0.413580 +vt 0.031674 0.450617 +vt 0.076923 0.438272 +vt 0.076923 0.475309 +vt 0.076923 0.413580 +vt 0.076923 0.438272 +vt 0.076923 0.475309 +vt 0.076923 0.413580 +vt 0.031674 0.450617 +vt 0.076923 0.475309 +vt 0.076923 0.413580 +vt 0.185520 0.518519 +vt 0.185520 0.395062 +vt 0.027149 0.864198 +vt 0.108597 0.666667 +vt 0.126697 0.790123 +vt 0.135747 0.814815 +vt 0.135747 0.716049 +vt 0.000000 0.814815 +vt 0.009050 0.790123 +vt 0.000000 0.716049 +vt 0.690815 0.555997 +vt 0.691984 0.567902 +vt 0.690815 0.579806 +vt 0.687621 0.588520 +vt 0.683258 0.591710 +vt 0.675701 0.579806 +vt 0.675701 0.555997 +vt 0.678895 0.547283 +vt 0.683258 0.544093 +vt 0.675701 0.605380 +vt 0.678895 0.596665 +vt 0.683258 0.593476 +vt 0.690815 0.605380 +vt 0.691984 0.617284 +vt 0.690815 0.629188 +vt 0.683258 0.641092 +vt 0.678895 0.637903 +vt 0.675701 0.629188 +vt 0.934389 0.629630 +vt 0.843891 0.543210 +vt 0.841629 0.623457 +vt 0.936652 0.623457 +vt 0.850710 0.641974 +vt 0.849376 0.650765 +vt 0.846154 0.654407 +vt 0.841597 0.641974 +vt 0.842932 0.633184 +vt 0.022624 0.487654 +vt 0.115385 0.438272 +vt 0.746606 0.592593 +vt 0.692308 0.580247 +vt 0.746606 0.580247 +vt 0.746606 0.555556 +vt 0.692308 0.543210 +vt 0.746606 0.543210 +vt 0.746606 0.641975 +vt 0.692308 0.629630 +vt 0.746606 0.629630 +vt 0.746606 0.666667 +vt 0.692308 0.654321 +vt 0.746606 0.654321 +vt 0.746606 0.604938 +vt 0.692308 0.592593 +vt 0.746606 0.567901 +vt 0.692308 0.555556 +vt 0.692308 0.641975 +vt 0.746606 0.679012 +vt 0.692308 0.666667 +vt 0.746606 0.617284 +vt 0.692308 0.604938 +vt 0.692308 0.567901 +vt 0.746606 0.691358 +vt 0.692308 0.679012 +vt 0.692308 0.617284 +vt 0.692308 0.648148 +vt 0.671946 0.654321 +vt 0.671946 0.648148 +vt 0.692308 0.691358 +vt 0.671946 0.697531 +vt 0.671946 0.691358 +vt 0.692308 0.703704 +vt 0.671946 0.709877 +vt 0.671946 0.703704 +vt 0.692308 0.672840 +vt 0.671946 0.679012 +vt 0.671946 0.672840 +vt 0.692308 0.654321 +vt 0.671946 0.660494 +vt 0.692308 0.709877 +vt 0.671946 0.716049 +vt 0.692308 0.679012 +vt 0.671946 0.685185 +vt 0.692308 0.660494 +vt 0.671946 0.666667 +vt 0.692308 0.641975 +vt 0.671946 0.641975 +vt 0.692308 0.685185 +vt 0.692308 0.697531 +vt 0.692308 0.666667 +vt 0.886878 0.672840 +vt 0.923077 0.666667 +vt 0.923077 0.672840 +vt 0.843891 0.567901 +vt 0.934389 0.586420 +vt 0.934389 0.567901 +vt 0.843891 0.604938 +vt 0.934389 0.623457 +vt 0.934389 0.604938 +vt 0.843891 0.549383 +vt 0.934389 0.549383 +vt 0.850679 0.666667 +vt 0.886878 0.666667 +vt 0.886878 0.641975 +vt 0.850655 0.648888 +vt 0.850679 0.641975 +vt 0.886878 0.629630 +vt 0.850679 0.635802 +vt 0.850679 0.629630 +vt 0.850679 0.660494 +vt 0.886878 0.660494 +vt 0.886878 0.679012 +vt 0.850679 0.672840 +vt 0.886878 0.648148 +vt 0.850679 0.654321 +vt 0.886878 0.635802 +vt 0.886878 0.654321 +vt 0.923077 0.648148 +vt 0.923077 0.635802 +vt 0.923077 0.660494 +vt 0.923077 0.679012 +vt 0.923077 0.654321 +vt 0.923077 0.641975 +vt 0.954751 0.604938 +vt 0.952489 0.623457 +vt 0.952489 0.598765 +vt 0.947964 0.592593 +vt 0.945701 0.629630 +vt 0.945701 0.592593 +vt 0.943439 0.592593 +vt 0.941176 0.623457 +vt 0.941176 0.598765 +vt 0.938914 0.598765 +vt 0.936652 0.617284 +vt 0.936652 0.604938 +vt 0.950226 0.598765 +vt 0.950226 0.623457 +vt 0.947964 0.629630 +vt 0.943439 0.629630 +vt 0.938914 0.623457 +vt 0.952489 0.592593 +vt 0.954751 0.543210 +vt 0.954751 0.592593 +vt 0.947964 0.543210 +vt 0.941176 0.592593 +vt 0.943439 0.543210 +vt 0.936652 0.592593 +vt 0.938914 0.543210 +vt 0.938914 0.592593 +vt 0.950226 0.592593 +vt 0.952489 0.543210 +vt 0.950226 0.543210 +vt 0.945701 0.543210 +vt 0.941176 0.543210 +vt 0.941176 0.648148 +vt 0.941176 0.629630 +vt 0.938914 0.629630 +vt 0.936652 0.648148 +vt 0.936652 0.629630 +vt 0.952489 0.629630 +vt 0.950226 0.648148 +vt 0.950226 0.629630 +vt 0.947964 0.648148 +vt 0.943439 0.648148 +vt 0.938914 0.648148 +vt 0.954751 0.629630 +vt 0.952489 0.648148 +vt 0.945701 0.648148 +vt 0.952489 0.598765 +vt 0.954751 0.617284 +vt 0.952489 0.623457 +vt 0.945701 0.592593 +vt 0.947964 0.629630 +vt 0.945701 0.629630 +vt 0.943439 0.592593 +vt 0.941176 0.623457 +vt 0.941176 0.598765 +vt 0.936652 0.604938 +vt 0.938914 0.623457 +vt 0.936652 0.617284 +vt 0.950226 0.598765 +vt 0.950226 0.623457 +vt 0.947964 0.592593 +vt 0.943439 0.629630 +vt 0.938914 0.598765 +vt 0.952489 0.592593 +vt 0.954751 0.543210 +vt 0.954751 0.592593 +vt 0.947964 0.543210 +vt 0.941176 0.592593 +vt 0.943439 0.543210 +vt 0.936652 0.592593 +vt 0.938914 0.543210 +vt 0.938914 0.592593 +vt 0.950226 0.592593 +vt 0.952489 0.543210 +vt 0.950226 0.543210 +vt 0.945701 0.543210 +vt 0.941176 0.543210 +vt 0.941176 0.648148 +vt 0.941176 0.629630 +vt 0.938914 0.629630 +vt 0.936652 0.648148 +vt 0.936652 0.629630 +vt 0.952489 0.629630 +vt 0.950226 0.648148 +vt 0.950226 0.629630 +vt 0.947964 0.648148 +vt 0.943439 0.648148 +vt 0.938914 0.648148 +vt 0.954751 0.629630 +vt 0.952489 0.648148 +vt 0.945701 0.648148 +vt 0.692308 0.691358 +vt 0.692308 0.716049 +vt 0.843891 0.586420 +vt 0.843891 0.623457 +vt 0.850679 0.679012 +vt 0.923077 0.629630 +vt 0.954751 0.617284 +vt 0.936652 0.543210 +vt 0.954751 0.648148 +vt 0.954751 0.604938 +vt 0.936652 0.543210 +vt 0.954751 0.648148 +vn -0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -0.7071 -0.7071 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.8944 -0.4472 +vn 0.8660 0.5000 0.0000 +vn 0.7746 0.4472 -0.4472 +vn -0.5000 0.8660 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.4472 0.7746 -0.4472 +vn -0.8660 0.5000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.4472 0.7746 -0.4472 +vn -0.8660 -0.5000 0.0000 +vn -0.7746 0.4472 -0.4472 +vn -0.5000 -0.8660 0.0000 +vn 0.9487 -0.3162 0.0000 +vn -0.9487 -0.3162 0.0000 +vn -0.9960 -0.0890 0.0000 +vn 0.9960 -0.0890 0.0000 +vn -0.5079 -0.5470 0.6654 +vn -0.5119 -0.8570 0.0595 +vn -0.4901 -0.4877 0.7224 +vn 0.3536 0.6124 0.7071 +vn 0.4619 0.8001 0.3827 +vn -0.3536 -0.6124 0.7071 +vn -0.4619 -0.8001 0.3827 +vn 0.3536 0.6124 -0.7071 +vn -0.3536 -0.6124 -0.7071 +vn -0.4619 -0.8001 -0.3827 +vn 0.4619 0.8001 -0.3827 +vn -0.2198 -0.7134 0.6654 +vn -0.4862 -0.8718 0.0595 +vn -0.5119 -0.8570 -0.0595 +vn 0.4862 0.8718 -0.0595 +vn 0.2198 0.7134 -0.6654 +vn 0.5119 0.8570 0.0595 +vn 0.2100 -0.1213 0.9701 +vn 0.4901 0.4877 0.7224 +vn -0.5079 -0.5470 -0.6654 +vn -0.4901 -0.4877 -0.7224 +vn -0.1773 -0.6683 0.7224 +vn 0.1773 0.6683 -0.7224 +vn -0.2100 0.1213 -0.9701 +vn 0.5079 0.5470 0.6654 +vn 0.5119 0.8570 -0.0595 +vn 0.5079 0.5470 -0.6654 +vn 0.4901 0.4878 -0.7224 +vn -0.2100 0.1213 0.9701 +vn 0.1773 0.6683 0.7224 +vn 0.2198 0.7134 0.6654 +vn -0.4862 -0.8718 -0.0595 +vn -0.2198 -0.7134 -0.6654 +vn 0.2100 -0.1213 -0.9701 +vn 0.4862 0.8718 0.0595 +vn -0.1773 -0.6684 -0.7224 +vn -0.9074 -0.4202 0.0000 +vn -0.2820 -0.6233 -0.7294 +vn -0.6233 -0.2820 -0.7294 +vn 0.7023 0.3032 -0.6441 +vn 0.3532 0.9356 0.0000 +vn 0.9356 0.3532 -0.0000 +vn 0.7023 0.3032 0.6441 +vn 0.0899 0.0899 0.9919 +vn -0.6233 -0.2820 0.7294 +vn -0.4202 -0.9074 -0.0000 +vn 0.0899 0.0899 -0.9919 +vn 0.3032 0.7023 -0.6441 +vn 0.3032 0.7023 0.6441 +vn -0.2820 -0.6233 0.7294 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.7071 0.7071 +s off +f 19/1/1 4/2/1 18/3/1 +f 2/4/1 19/1/1 20/5/1 +f 2/4/1 21/6/1 1/7/1 +f 1/7/1 8/8/1 12/9/1 +f 12/9/1 9/10/1 11/11/1 +f 10/12/1 9/10/1 17/13/1 +f 26/14/2 16/15/2 15/16/2 +f 14/17/2 26/14/2 15/16/2 +f 28/18/2 14/17/2 13/19/2 +f 7/20/2 13/19/2 24/21/2 +f 6/22/2 24/21/2 23/23/2 +f 6/22/2 22/24/2 5/25/2 +f 33/26/1 40/27/1 41/28/1 +f 40/27/1 35/29/1 39/30/1 +f 33/26/1 42/31/1 29/32/1 +f 30/33/1 29/32/1 42/31/1 +f 31/34/1 38/35/1 30/33/1 +f 36/36/1 31/34/1 32/37/1 +f 44/38/2 51/39/2 43/40/2 +f 51/39/2 52/41/2 43/40/2 +f 46/42/2 44/38/2 45/43/2 +f 47/44/2 45/43/2 55/45/2 +f 48/46/2 55/45/2 53/47/2 +f 48/46/2 54/48/2 49/49/2 +f 36/36/3 5/50/3 22/24/3 +f 25/51/3 35/29/3 16/15/3 +f 58/52/1 63/53/1 57/54/1 +f 61/55/1 58/52/1 64/56/1 +f 65/57/1 61/58/1 64/59/1 +f 65/57/1 59/60/1 60/61/1 +f 4/2/1 66/62/1 18/3/1 +f 17/13/1 63/53/1 10/12/1 +f 67/63/2 73/64/2 68/65/2 +f 73/64/2 69/66/2 68/65/2 +f 69/67/2 75/68/2 70/69/2 +f 75/68/2 71/70/2 70/69/2 +f 49/49/2 71/70/2 76/71/2 +f 72/72/2 52/41/2 50/73/2 +f 79/74/3 78/75/3 77/76/3 +f 88/77/4 90/78/4 86/79/4 +f 91/80/5 81/81/5 82/82/5 +f 106/83/1 121/84/1 84/85/1 +f 107/86/5 84/85/5 85/87/5 +f 87/88/3 88/77/3 86/79/3 +f 81/81/2 89/89/2 82/90/2 +f 82/91/4 84/85/4 78/75/4 +f 89/92/4 85/87/4 84/85/4 +f 91/93/1 86/79/1 90/78/1 +f 92/94/2 94/95/2 93/96/2 +f 116/97/6 96/98/6 94/95/6 +f 117/99/7 85/100/7 95/101/7 +f 94/102/4 96/103/4 87/104/4 +f 118/105/5 95/101/5 96/98/5 +f 166/106/4 168/107/4 80/108/4 +f 124/109/2 131/110/2 125/111/2 +f 100/112/3 101/113/3 99/114/3 +f 112/115/8 110/116/8 108/117/8 +f 103/118/5 113/119/5 104/120/5 +f 110/116/3 109/121/3 108/117/3 +f 111/122/2 103/118/2 104/123/2 +f 104/124/8 106/83/8 111/125/8 +f 107/86/8 111/125/8 106/83/8 +f 108/117/1 113/126/1 112/115/1 +f 118/127/8 116/128/8 109/129/8 +f 164/130/5 166/106/5 169/131/5 +f 125/111/3 126/132/3 124/109/3 +f 78/133/1 84/85/1 97/134/1 +f 127/135/9 128/136/9 126/132/9 +f 119/137/1 106/83/1 100/138/1 +f 126/132/8 130/139/8 124/109/8 +f 131/140/4 127/135/4 125/111/4 +f 132/141/2 139/142/2 133/143/2 +f 133/143/10 134/144/10 132/141/10 +f 135/145/11 136/146/11 134/144/11 +f 134/144/12 138/147/12 132/141/12 +f 139/148/13 135/145/13 133/143/13 +f 140/149/2 147/150/2 141/151/2 +f 141/151/14 142/152/14 140/149/14 +f 143/153/15 144/154/15 142/152/15 +f 142/152/16 146/155/16 140/149/16 +f 147/156/17 143/153/17 141/151/17 +f 149/157/2 154/158/2 155/159/2 +f 149/157/12 150/160/12 148/161/12 +f 151/162/18 152/163/18 150/160/18 +f 150/160/19 154/164/19 148/161/19 +f 155/165/10 151/162/10 149/157/10 +f 156/166/2 163/167/2 157/168/2 +f 157/168/16 158/169/16 156/166/16 +f 158/169/20 161/170/20 160/171/20 +f 158/169/21 162/172/21 156/166/21 +f 163/173/14 159/174/14 157/168/14 +f 169/131/2 171/175/2 170/176/2 +f 92/94/5 168/177/5 172/178/5 +f 167/179/5 114/180/5 173/181/5 +f 83/182/2 166/106/2 80/183/2 +f 102/184/2 169/131/2 105/185/2 +f 93/186/4 91/187/4 78/75/4 +f 113/188/8 115/189/8 100/112/8 +f 173/181/1 164/190/1 167/179/1 +f 178/191/5 177/192/5 176/193/5 +f 183/194/22 177/192/22 179/195/22 +f 180/196/23 178/191/23 176/193/23 +f 179/195/1 178/191/1 186/197/1 +f 184/198/2 176/193/2 177/192/2 +f 196/199/1 194/200/1 190/201/1 +f 204/202/2 208/203/2 201/204/2 +f 246/205/1 258/206/1 240/207/1 +f 236/208/1 254/209/1 242/210/1 +f 237/211/16 262/212/16 236/208/16 +f 237/211/16 256/213/16 263/214/16 +f 238/215/16 257/216/16 256/213/16 +f 240/207/16 257/216/16 239/217/16 +f 249/218/17 246/205/17 245/219/17 +f 248/220/17 245/219/17 244/221/17 +f 255/222/17 244/221/17 243/223/17 +f 254/224/17 243/223/17 242/210/17 +f 278/225/17 279/226/17 275/227/17 +f 165/228/1 172/178/1 168/177/1 +f 174/229/1 165/228/1 164/190/1 +f 116/97/2 114/180/2 115/230/2 +f 167/231/8 169/131/8 102/232/8 +f 123/233/2 116/97/2 94/95/2 +f 19/1/1 3/234/1 4/2/1 +f 2/4/1 3/234/1 19/1/1 +f 2/4/1 20/5/1 21/6/1 +f 1/7/1 21/6/1 8/8/1 +f 12/9/1 8/8/1 9/10/1 +f 10/12/1 11/11/1 9/10/1 +f 26/14/2 25/235/2 16/15/2 +f 14/17/2 27/236/2 26/14/2 +f 28/18/2 27/236/2 14/17/2 +f 7/20/2 28/18/2 13/19/2 +f 6/22/2 7/20/2 24/21/2 +f 6/22/2 23/23/2 22/24/2 +f 33/26/1 34/237/1 40/27/1 +f 40/27/1 34/237/1 35/29/1 +f 33/26/1 41/28/1 42/31/1 +f 30/33/1 38/35/1 29/32/1 +f 31/34/1 37/238/1 38/35/1 +f 36/36/1 37/238/1 31/34/1 +f 44/38/2 56/239/2 51/39/2 +f 51/39/2 50/73/2 52/41/2 +f 46/42/2 56/239/2 44/38/2 +f 47/44/2 46/42/2 45/43/2 +f 48/46/2 47/44/2 55/45/2 +f 48/46/2 53/47/2 54/48/2 +f 36/36/3 32/240/3 5/50/3 +f 25/51/3 39/241/3 35/29/3 +f 58/52/1 62/242/1 63/53/1 +f 61/55/1 62/242/1 58/52/1 +f 65/57/1 60/61/1 61/58/1 +f 65/57/1 66/62/1 59/60/1 +f 4/2/1 59/60/1 66/62/1 +f 17/13/1 57/54/1 63/53/1 +f 67/63/2 72/72/2 73/64/2 +f 73/64/2 74/243/2 69/66/2 +f 69/67/2 74/244/2 75/68/2 +f 75/68/2 76/71/2 71/70/2 +f 49/49/2 54/48/2 71/70/2 +f 72/72/2 67/63/2 52/41/2 +f 79/74/3 80/108/3 78/75/3 +f 88/77/4 81/81/4 90/78/4 +f 91/80/5 90/78/5 81/81/5 +f 106/83/1 120/245/1 121/84/1 +f 121/84/1 98/246/1 84/85/1 +f 107/86/5 106/83/5 84/85/5 +f 87/88/3 89/247/3 88/77/3 +f 81/81/2 88/77/2 89/89/2 +f 82/91/4 89/92/4 84/85/4 +f 89/92/4 87/104/4 85/87/4 +f 91/93/1 87/248/1 86/79/1 +f 92/94/2 123/233/2 94/95/2 +f 116/97/6 118/105/6 96/98/6 +f 117/99/7 107/249/7 85/100/7 +f 85/87/4 87/104/4 95/250/4 +f 87/104/4 91/187/4 93/186/4 +f 95/250/4 87/104/4 96/103/4 +f 93/186/4 94/102/4 87/104/4 +f 118/105/5 117/99/5 95/101/5 +f 166/106/4 165/251/4 168/107/4 +f 124/109/2 130/252/2 131/110/2 +f 100/112/3 102/232/3 101/113/3 +f 112/115/8 103/118/8 110/116/8 +f 103/118/5 112/115/5 113/119/5 +f 110/116/3 111/253/3 109/121/3 +f 111/122/2 110/116/2 103/118/2 +f 104/124/8 100/112/8 106/83/8 +f 107/86/8 109/129/8 111/125/8 +f 108/117/1 109/254/1 113/126/1 +f 113/188/8 109/129/8 115/189/8 +f 109/129/8 107/86/8 117/255/8 +f 115/189/8 109/129/8 116/128/8 +f 117/255/8 118/127/8 109/129/8 +f 164/130/5 165/251/5 166/106/5 +f 125/111/3 127/135/3 126/132/3 +f 97/134/1 77/256/1 78/133/1 +f 84/85/1 98/246/1 97/134/1 +f 127/135/9 129/257/9 128/136/9 +f 100/138/1 99/258/1 119/137/1 +f 119/137/1 120/245/1 106/83/1 +f 126/132/8 128/259/8 130/139/8 +f 131/140/4 129/260/4 127/135/4 +f 132/141/2 138/261/2 139/142/2 +f 133/143/10 135/145/10 134/144/10 +f 135/145/11 137/262/11 136/146/11 +f 134/144/12 136/263/12 138/147/12 +f 139/148/13 137/264/13 135/145/13 +f 140/149/2 146/265/2 147/150/2 +f 141/151/14 143/153/14 142/152/14 +f 143/153/15 145/266/15 144/154/15 +f 142/152/16 144/267/16 146/155/16 +f 147/156/17 145/268/17 143/153/17 +f 149/157/2 148/161/2 154/158/2 +f 149/157/12 151/162/12 150/160/12 +f 151/162/18 153/269/18 152/163/18 +f 150/160/19 152/270/19 154/164/19 +f 155/165/10 153/271/10 151/162/10 +f 156/166/2 162/272/2 163/167/2 +f 157/168/16 159/174/16 158/169/16 +f 158/169/20 159/174/20 161/170/20 +f 158/169/21 160/273/21 162/172/21 +f 163/173/14 161/274/14 159/174/14 +f 169/131/2 166/106/2 171/175/2 +f 92/94/5 93/96/5 168/177/5 +f 167/179/5 115/230/5 114/180/5 +f 80/183/2 79/275/2 83/182/2 +f 83/182/2 171/175/2 166/106/2 +f 105/185/2 101/276/2 102/184/2 +f 169/131/2 170/176/2 105/185/2 +f 80/108/4 168/107/4 93/186/4 +f 91/187/4 82/91/4 78/75/4 +f 80/108/4 93/186/4 78/75/4 +f 115/189/8 167/231/8 102/232/8 +f 102/232/8 100/112/8 115/189/8 +f 100/112/8 104/124/8 113/188/8 +f 173/181/1 174/229/1 164/190/1 +f 178/191/5 179/195/5 177/192/5 +f 183/194/22 181/277/22 177/192/22 +f 180/196/23 182/278/23 178/191/23 +f 187/279/1 183/280/1 179/195/1 +f 178/191/1 182/281/1 186/197/1 +f 186/197/1 187/279/1 179/195/1 +f 177/192/2 181/282/2 185/283/2 +f 184/198/2 180/284/2 176/193/2 +f 177/192/2 185/283/2 184/198/2 +f 190/201/1 189/285/1 188/286/1 +f 188/286/1 199/287/1 190/201/1 +f 199/287/1 198/288/1 190/201/1 +f 198/288/1 197/289/1 196/199/1 +f 196/199/1 195/290/1 194/200/1 +f 194/200/1 193/291/1 190/201/1 +f 193/291/1 192/292/1 190/201/1 +f 192/292/1 191/293/1 190/201/1 +f 198/288/1 196/199/1 190/201/1 +f 201/204/2 200/294/2 204/202/2 +f 200/294/2 202/295/2 204/202/2 +f 202/295/2 203/296/2 204/202/2 +f 204/202/2 205/297/2 208/203/2 +f 205/297/2 206/298/2 208/203/2 +f 206/298/2 207/299/2 208/203/2 +f 208/203/2 209/300/2 210/301/2 +f 210/301/2 211/302/2 208/203/2 +f 211/302/2 201/204/2 208/203/2 +f 246/205/1 250/303/1 258/206/1 +f 236/208/1 262/304/1 254/209/1 +f 237/211/16 263/214/16 262/212/16 +f 237/211/16 238/215/16 256/213/16 +f 238/215/16 239/217/16 257/216/16 +f 240/207/16 258/305/16 257/216/16 +f 249/218/17 250/306/17 246/205/17 +f 248/220/17 249/218/17 245/219/17 +f 255/222/17 248/220/17 244/221/17 +f 254/224/17 255/222/17 243/223/17 +f 279/226/17 272/307/17 273/308/17 +f 273/308/17 274/309/17 279/226/17 +f 274/309/17 275/227/17 279/226/17 +f 275/227/17 276/310/17 277/311/17 +f 277/311/17 278/225/17 275/227/17 +f 165/228/1 175/312/1 172/178/1 +f 174/229/1 175/312/1 165/228/1 +f 116/97/2 122/313/2 114/180/2 +f 167/231/8 164/130/8 169/131/8 +f 123/233/2 122/313/2 116/97/2 +s 1 +f 15/16/10 4/2/4 3/234/10 +f 22/24/24 11/11/16 10/12/8 +f 23/23/16 12/9/12 11/11/16 +f 13/19/3 2/4/14 1/7/3 +f 24/21/12 1/7/3 12/9/12 +f 14/17/14 3/234/10 2/4/14 +f 34/237/10 52/41/4 35/29/25 +f 36/36/24 53/47/16 37/238/16 +f 33/26/14 43/40/10 34/237/10 +f 37/238/16 55/45/12 38/35/12 +f 29/32/3 44/38/14 33/26/14 +f 38/35/12 45/43/3 29/32/3 +f 61/55/5 70/69/21 62/242/21 +f 59/60/17 68/65/13 60/61/13 +f 62/242/21 71/70/19 63/53/19 +f 60/61/13 69/66/5 61/58/5 +f 36/36/24 22/24/24 71/70/19 +f 16/15/25 35/29/25 67/63/17 +f 195/314/4 206/315/17 194/316/17 +f 192/317/5 203/318/21 191/319/21 +f 199/320/12 210/321/3 198/322/3 +f 189/323/8 201/324/16 188/325/16 +f 196/326/10 207/327/4 195/314/4 +f 193/328/13 204/329/5 192/317/5 +f 188/325/16 211/330/12 199/320/12 +f 190/331/19 200/332/8 189/323/8 +f 197/333/14 208/334/10 196/326/10 +f 194/316/17 205/335/13 193/328/13 +f 191/336/21 202/337/19 190/331/19 +f 197/333/14 210/321/3 209/338/14 +f 228/339/5 217/340/13 216/341/5 +f 235/342/12 212/343/16 223/344/12 +f 225/345/8 214/346/19 213/347/8 +f 232/348/10 221/349/14 220/350/10 +f 229/351/13 218/352/17 217/340/13 +f 226/353/19 215/354/21 214/346/19 +f 233/355/14 222/356/3 221/349/14 +f 230/357/17 219/358/4 218/352/17 +f 227/359/21 216/341/5 215/360/21 +f 234/361/3 223/344/12 222/356/3 +f 224/362/16 213/347/8 212/343/16 +f 231/363/4 220/350/10 219/358/4 +f 253/364/26 278/365/27 277/366/28 +f 245/219/29 240/207/30 239/217/29 +f 243/223/31 238/215/2 237/211/31 +f 244/221/2 239/217/29 238/215/2 +f 242/210/32 237/211/31 236/208/32 +f 263/367/33 248/368/1 255/369/33 +f 257/370/34 250/371/35 249/372/34 +f 262/373/36 255/369/33 254/374/36 +f 248/368/1 257/370/34 249/372/34 +f 253/364/37 269/375/38 259/376/39 +f 247/377/40 264/378/41 265/379/42 +f 252/380/43 266/381/44 267/382/43 +f 259/376/39 270/383/45 260/384/46 +f 252/385/43 268/386/47 253/364/37 +f 241/387/48 271/388/49 264/378/41 +f 251/389/50 265/379/42 266/381/44 +f 260/384/46 271/388/49 261/390/49 +f 247/377/51 273/391/52 241/387/53 +f 252/380/54 275/392/55 251/389/56 +f 259/376/57 279/393/58 278/365/27 +f 252/385/54 277/366/28 276/394/54 +f 241/387/53 272/395/59 261/390/59 +f 251/389/56 274/396/60 247/377/51 +f 260/384/61 272/395/59 279/393/58 +f 282/397/62 289/398/63 281/399/64 +f 287/400/65 294/401/66 286/402/67 +f 285/403/68 292/404/69 284/405/69 +f 283/406/70 290/407/71 282/408/62 +f 280/409/72 289/398/63 288/410/72 +f 287/400/65 288/410/72 295/411/73 +f 286/402/67 293/412/74 285/403/68 +f 284/405/69 291/413/75 283/406/70 +f 281/414/64 298/415/8 282/416/62 +f 286/402/67 303/417/76 287/400/65 +f 284/418/69 301/419/77 285/403/68 +f 282/420/62 299/421/78 283/422/70 +f 280/423/72 297/424/79 281/414/64 +f 287/400/65 296/425/1 280/423/72 +f 285/403/68 302/426/4 286/402/67 +f 283/422/70 300/427/2 284/418/69 +f 293/412/74 308/428/2 292/429/69 +f 291/430/75 306/431/5 290/432/71 +f 289/433/63 304/434/1 288/435/72 +f 288/435/72 311/436/80 295/411/73 +f 294/401/66 309/437/81 293/412/74 +f 292/429/69 307/438/6 291/430/75 +f 290/439/71 305/440/7 289/433/63 +f 295/411/73 310/441/3 294/401/66 +f 313/442/64 322/443/71 321/444/63 +f 318/445/67 327/446/73 326/447/66 +f 317/448/68 324/449/69 316/450/69 +f 314/451/62 323/452/75 322/453/71 +f 312/454/72 321/444/63 320/455/72 +f 319/456/65 320/455/72 327/446/73 +f 318/445/67 325/457/74 317/448/68 +f 316/450/69 323/452/75 315/458/70 +f 313/459/64 330/460/8 314/461/62 +f 318/445/67 335/462/76 319/456/65 +f 316/463/69 333/464/77 317/448/68 +f 314/465/62 331/466/78 315/467/70 +f 312/468/72 329/469/79 313/459/64 +f 319/456/65 328/470/1 312/468/72 +f 317/448/68 334/471/4 318/445/67 +f 315/467/70 332/472/2 316/463/69 +f 325/457/74 340/473/2 324/474/69 +f 323/475/75 338/476/5 322/477/71 +f 321/478/63 336/479/1 320/480/72 +f 320/480/72 343/481/80 327/446/73 +f 326/447/66 341/482/81 325/457/74 +f 324/474/69 339/483/6 323/475/75 +f 322/484/71 337/485/7 321/478/63 +f 327/446/73 342/486/3 326/447/66 +f 15/16/10 16/15/25 4/2/4 +f 22/24/24 23/23/16 11/11/16 +f 23/23/16 24/21/12 12/9/12 +f 13/19/3 14/17/14 2/4/14 +f 24/21/12 13/19/3 1/7/3 +f 14/17/14 15/16/10 3/234/10 +f 34/237/10 43/40/10 52/41/4 +f 36/36/24 54/48/8 53/47/16 +f 33/26/14 44/38/14 43/40/10 +f 37/238/16 53/47/16 55/45/12 +f 29/32/3 45/43/3 44/38/14 +f 38/35/12 55/45/12 45/43/3 +f 61/55/5 69/67/5 70/69/21 +f 59/60/17 67/63/17 68/65/13 +f 62/242/21 70/69/21 71/70/19 +f 60/61/13 68/65/13 69/66/5 +f 22/24/24 10/12/8 63/53/19 +f 63/53/19 71/70/19 22/24/24 +f 71/70/19 54/48/8 36/36/24 +f 59/60/17 4/2/4 16/15/25 +f 35/29/25 52/41/4 67/63/17 +f 59/60/17 16/15/25 67/63/17 +f 195/314/4 207/327/4 206/315/17 +f 192/317/5 204/329/5 203/318/21 +f 199/320/12 211/330/12 210/321/3 +f 189/323/8 200/332/8 201/324/16 +f 196/326/10 208/334/10 207/327/4 +f 193/328/13 205/335/13 204/329/5 +f 188/325/16 201/324/16 211/330/12 +f 190/331/19 202/337/19 200/332/8 +f 197/333/14 209/338/14 208/334/10 +f 194/316/17 206/315/17 205/335/13 +f 191/336/21 203/487/21 202/337/19 +f 197/333/14 198/322/3 210/321/3 +f 228/339/5 229/351/13 217/340/13 +f 235/342/12 224/362/16 212/343/16 +f 225/345/8 226/353/19 214/346/19 +f 232/348/10 233/355/14 221/349/14 +f 229/351/13 230/357/17 218/352/17 +f 226/353/19 227/488/21 215/354/21 +f 233/355/14 234/361/3 222/356/3 +f 230/357/17 231/363/4 219/358/4 +f 227/359/21 228/339/5 216/341/5 +f 234/361/3 235/342/12 223/344/12 +f 224/362/16 225/345/8 213/347/8 +f 231/363/4 232/348/10 220/350/10 +f 253/364/26 259/376/57 278/365/27 +f 245/219/29 246/205/30 240/207/30 +f 243/223/31 244/221/2 238/215/2 +f 244/221/2 245/219/29 239/217/29 +f 242/210/32 243/223/31 237/211/31 +f 263/367/33 256/489/1 248/368/1 +f 257/370/34 258/490/35 250/371/35 +f 262/373/36 263/367/33 255/369/33 +f 248/368/1 256/489/1 257/370/34 +f 253/364/37 268/386/47 269/375/38 +f 247/377/40 241/387/48 264/378/41 +f 252/380/43 251/389/50 266/381/44 +f 259/376/39 269/375/38 270/383/45 +f 252/385/43 267/491/43 268/386/47 +f 241/387/48 261/390/49 271/388/49 +f 251/389/50 247/377/40 265/379/42 +f 260/384/46 270/383/45 271/388/49 +f 247/377/51 274/396/60 273/391/52 +f 252/380/54 276/492/54 275/392/55 +f 259/376/57 260/384/61 279/393/58 +f 252/385/54 253/364/26 277/366/28 +f 241/387/53 273/391/52 272/395/59 +f 251/389/56 275/392/55 274/396/60 +f 260/384/61 261/390/59 272/395/59 +f 282/397/62 290/493/71 289/398/63 +f 287/400/65 295/411/73 294/401/66 +f 285/403/68 293/412/74 292/404/69 +f 283/406/70 291/413/75 290/407/71 +f 280/409/72 281/399/64 289/398/63 +f 287/400/65 280/409/72 288/410/72 +f 286/402/67 294/401/66 293/412/74 +f 284/405/69 292/404/69 291/413/75 +f 281/414/64 297/424/79 298/415/8 +f 286/402/67 302/426/4 303/417/76 +f 284/418/69 300/427/2 301/419/77 +f 282/420/62 298/494/8 299/421/78 +f 280/423/72 296/425/1 297/424/79 +f 287/400/65 303/417/76 296/425/1 +f 285/403/68 301/419/77 302/426/4 +f 283/422/70 299/421/78 300/427/2 +f 293/412/74 309/437/81 308/428/2 +f 291/430/75 307/438/6 306/431/5 +f 289/433/63 305/440/7 304/434/1 +f 288/435/72 304/434/1 311/436/80 +f 294/401/66 310/441/3 309/437/81 +f 292/429/69 308/428/2 307/438/6 +f 290/439/71 306/495/5 305/440/7 +f 295/411/73 311/436/80 310/441/3 +f 313/442/64 314/496/62 322/443/71 +f 318/445/67 319/456/65 327/446/73 +f 317/448/68 325/457/74 324/449/69 +f 314/451/62 315/458/70 323/452/75 +f 312/454/72 313/442/64 321/444/63 +f 319/456/65 312/454/72 320/455/72 +f 318/445/67 326/447/66 325/457/74 +f 316/450/69 324/449/69 323/452/75 +f 313/459/64 329/469/79 330/460/8 +f 318/445/67 334/471/4 335/462/76 +f 316/463/69 332/472/2 333/464/77 +f 314/465/62 330/497/8 331/466/78 +f 312/468/72 328/470/1 329/469/79 +f 319/456/65 335/462/76 328/470/1 +f 317/448/68 333/464/77 334/471/4 +f 315/467/70 331/466/78 332/472/2 +f 325/457/74 341/482/81 340/473/2 +f 323/475/75 339/483/6 338/476/5 +f 321/478/63 337/485/7 336/479/1 +f 320/480/72 336/479/1 343/481/80 +f 326/447/66 342/486/3 341/482/81 +f 324/474/69 340/473/2 339/483/6 +f 322/484/71 338/498/5 337/485/7 +f 327/446/73 343/481/80 342/486/3 +o Barrel +v 0.000000 1.500000 6.687500 +v 0.250000 1.433012 6.687500 +v 0.433013 1.250000 6.687500 +v 0.500000 1.000000 6.687500 +v 0.433013 0.750000 6.687500 +v 0.250000 0.566987 6.687500 +v 0.000000 0.500000 6.687500 +v -0.250000 0.566987 6.687500 +v -0.433012 0.750000 6.687500 +v -0.500000 1.000000 6.687500 +v -0.433013 1.250000 6.687500 +v -0.250000 1.433012 6.687500 +v 0.000000 1.500000 0.187500 +v 0.250000 1.433012 0.187500 +v 0.433013 1.250000 0.187500 +v 0.500000 1.000000 0.187500 +v 0.433013 0.750000 0.187500 +v 0.250000 0.566987 0.187500 +v 0.000000 0.500000 0.187500 +v -0.250000 0.566987 0.187500 +v -0.433012 0.750000 0.187500 +v -0.500000 1.000000 0.187500 +v -0.433013 1.250000 0.187500 +v -0.250000 1.433012 0.187500 +v 0.218750 1.378886 6.687500 +v 0.000000 1.437500 6.687500 +v 0.378886 1.218750 6.687500 +v 0.437500 1.000000 6.687500 +v 0.378886 0.781250 6.687500 +v 0.218750 0.621114 6.687500 +v 0.000000 0.562500 6.687500 +v -0.218750 0.621114 6.687500 +v -0.378886 0.781250 6.687500 +v -0.437500 1.000000 6.687500 +v -0.378886 1.218750 6.687500 +v -0.218750 1.378886 6.687500 +v 0.218750 1.378889 0.187500 +v 0.000000 1.437503 0.187500 +v 0.378886 1.218753 0.187500 +v 0.437500 1.000003 0.187500 +v 0.378886 0.781253 0.187500 +v 0.218750 0.621117 0.187500 +v 0.000000 0.562503 0.187500 +v -0.218750 0.621117 0.187500 +v -0.378886 0.781253 0.187500 +v -0.437500 1.000003 0.187500 +v -0.378886 1.218753 0.187500 +v -0.218750 1.378889 0.187500 +vt 0.237557 0.222222 +vt 0.235294 0.246914 +vt 0.235294 0.222222 +vt 0.472851 0.049383 +vt 0.475113 0.024691 +vt 0.475113 0.049383 +vt 0.237557 0.246914 +vt 0.235294 0.271605 +vt 0.237557 0.296296 +vt 0.237557 0.271605 +vt 0.237557 0.000000 +vt 0.235294 0.024691 +vt 0.235294 0.000000 +vt 0.237557 0.024691 +vt 0.235294 0.049383 +vt 0.237557 0.049383 +vt 0.235294 0.074074 +vt 0.237557 0.172840 +vt 0.235294 0.148148 +vt 0.237557 0.148148 +vt 0.237557 0.123457 +vt 0.235294 0.123457 +vt 0.237557 0.074074 +vt 0.235294 0.098765 +vt 0.235294 0.197531 +vt 0.235294 0.172840 +vt 0.237557 0.098765 +vt 0.237557 0.197531 +vt 0.472851 0.074074 +vt 0.475113 0.074074 +vt 0.472851 0.098765 +vt 0.475113 0.098765 +vt 0.472851 0.123457 +vt 0.475113 0.123457 +vt 0.472851 0.148148 +vt 0.475113 0.148148 +vt 0.475113 0.172840 +vt 0.472851 0.172840 +vt 0.475113 0.197531 +vt 0.472851 0.197531 +vt 0.475113 0.222222 +vt 0.472851 0.222222 +vt 0.475113 0.246914 +vt 0.472851 0.246914 +vt 0.475113 0.271605 +vt 0.472851 0.271605 +vt 0.475113 0.296296 +vt 0.472851 0.296296 +vt 0.472851 0.024691 +vt 0.475113 0.000000 +vt 0.235294 0.296296 +vt 0.472851 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.074074 +vt -0.000000 0.197531 +vt 0.000000 0.271605 +vt 0.000000 0.049383 +vt 0.000000 0.172840 +vt -0.000000 0.123457 +vt 0.000000 0.246914 +vt 0.000000 0.024691 +vt 0.000000 0.148148 +vt -0.000000 0.098765 +vt 0.000000 0.222222 +vt -0.000000 0.296296 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.5000 0.8660 0.0000 +vn -0.0000 1.0000 0.0000 +vn -0.5000 0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.8660 0.5000 0.0000 +s off +f 353/499/82 376/500/82 377/501/82 +f 360/502/83 385/503/83 384/504/83 +f 352/505/82 375/506/82 376/500/82 +f 350/507/82 375/506/82 351/508/82 +f 350/509/82 373/510/82 374/511/82 +f 349/512/82 372/513/82 373/510/82 +f 348/514/82 371/515/82 372/513/82 +f 355/516/82 369/517/82 344/518/82 +f 345/519/82 369/517/82 368/520/82 +f 347/521/82 370/522/82 371/515/82 +f 355/516/82 378/523/82 379/524/82 +f 345/519/82 370/522/82 346/525/82 +f 353/499/82 378/523/82 354/526/82 +f 359/527/83 384/504/83 383/528/83 +f 358/529/83 383/528/83 382/530/83 +f 357/531/83 382/530/83 380/532/83 +f 356/533/83 380/532/83 381/534/83 +f 356/533/83 391/535/83 367/536/83 +f 367/536/83 390/537/83 366/538/83 +f 366/538/83 389/539/83 365/540/83 +f 365/540/83 388/541/83 364/542/83 +f 364/542/83 387/543/83 363/544/83 +f 363/544/83 386/545/83 362/546/83 +f 361/547/83 386/548/83 385/503/83 +f 353/499/82 352/505/82 376/500/82 +f 360/502/83 361/547/83 385/503/83 +f 352/505/82 351/508/82 375/506/82 +f 350/507/82 374/549/82 375/506/82 +f 350/509/82 349/512/82 373/510/82 +f 349/512/82 348/514/82 372/513/82 +f 348/514/82 347/521/82 371/515/82 +f 355/516/82 379/524/82 369/517/82 +f 345/519/82 344/518/82 369/517/82 +f 347/521/82 346/525/82 370/522/82 +f 355/516/82 354/526/82 378/523/82 +f 345/519/82 368/520/82 370/522/82 +f 353/499/82 377/501/82 378/523/82 +f 359/527/83 360/502/83 384/504/83 +f 358/529/83 359/527/83 383/528/83 +f 357/531/83 358/529/83 382/530/83 +f 356/533/83 357/531/83 380/532/83 +f 356/533/83 381/534/83 391/535/83 +f 367/536/83 391/535/83 390/537/83 +f 366/538/83 390/537/83 389/539/83 +f 365/540/83 389/539/83 388/541/83 +f 364/542/83 388/541/83 387/543/83 +f 363/544/83 387/543/83 386/545/83 +f 361/547/83 362/550/83 386/548/83 +s 1 +f 345/519/84 356/533/85 344/518/85 +f 367/536/86 344/518/85 356/533/85 +f 366/538/87 355/516/86 367/536/86 +f 365/540/88 354/526/87 366/538/87 +f 364/542/89 353/499/88 365/540/88 +f 363/544/90 352/505/89 364/542/89 +f 362/546/91 351/508/90 363/544/90 +f 350/509/91 361/547/92 349/512/92 +f 349/512/92 360/502/93 348/514/93 +f 348/514/93 359/527/94 347/521/94 +f 347/521/94 358/529/95 346/525/95 +f 346/525/95 357/531/84 345/519/84 +f 373/510/86 386/551/85 374/511/85 +f 370/522/89 383/552/88 371/515/88 +f 377/501/94 390/553/93 378/523/93 +f 374/549/85 387/554/84 375/506/84 +f 371/515/88 384/555/87 372/513/87 +f 378/523/93 391/556/92 379/524/92 +f 369/517/91 380/557/90 368/520/90 +f 375/506/84 388/558/95 376/500/95 +f 372/513/87 385/559/86 373/510/86 +f 379/524/92 381/560/91 369/517/91 +f 370/522/89 380/557/90 382/561/89 +f 377/501/94 388/558/95 389/562/94 +f 345/519/84 357/531/84 356/533/85 +f 367/536/86 355/516/86 344/518/85 +f 366/538/87 354/526/87 355/516/86 +f 365/540/88 353/499/88 354/526/87 +f 364/542/89 352/505/89 353/499/88 +f 363/544/90 351/508/90 352/505/89 +f 362/546/91 350/507/91 351/508/90 +f 350/509/91 362/550/91 361/547/92 +f 349/512/92 361/547/92 360/502/93 +f 348/514/93 360/502/93 359/527/94 +f 347/521/94 359/527/94 358/529/95 +f 346/525/95 358/529/95 357/531/84 +f 373/510/86 385/559/86 386/551/85 +f 370/522/89 382/561/89 383/552/88 +f 377/501/94 389/562/94 390/553/93 +f 374/549/85 386/563/85 387/554/84 +f 371/515/88 383/552/88 384/555/87 +f 378/523/93 390/553/93 391/556/92 +f 369/517/91 381/560/91 380/557/90 +f 375/506/84 387/554/84 388/558/95 +f 372/513/87 384/555/87 385/559/86 +f 379/524/92 391/556/92 381/560/91 +f 370/522/89 368/520/90 380/557/90 +f 377/501/94 376/500/95 388/558/95 +o Missile +v 0.000000 1.312500 1.687500 +v -0.156250 1.270633 1.687500 +v -0.270633 1.156250 1.687500 +v -0.312500 1.000000 1.687500 +v -0.270633 0.843750 1.687500 +v -0.156250 0.729367 1.687500 +v 0.000000 0.687500 1.687500 +v 0.156250 0.729367 1.687500 +v 0.270633 0.843750 1.687500 +v 0.312500 1.000000 1.687500 +v 0.270633 1.156250 1.687500 +v 0.156250 1.270633 1.687500 +v 0.000000 1.312500 6.437500 +v -0.156250 1.270633 6.437500 +v -0.270633 1.156250 6.437500 +v -0.312500 1.000000 6.437500 +v -0.270633 0.843750 6.437500 +v -0.156250 0.729367 6.437500 +v 0.000000 0.687500 6.437500 +v 0.156250 0.729367 6.437500 +v 0.270633 0.843750 6.437500 +v 0.312500 1.000000 6.437500 +v 0.270633 1.156250 6.437500 +v 0.156250 1.270633 6.437500 +v 0.000000 1.273438 7.062500 +v -0.136719 1.236804 7.062500 +v -0.236804 1.136719 7.062500 +v -0.273438 1.000000 7.062500 +v -0.236804 0.863281 7.062500 +v -0.136719 0.763196 7.062500 +v 0.000000 0.726562 7.062500 +v 0.136719 0.763196 7.062500 +v 0.236804 0.863281 7.062500 +v 0.273438 1.000000 7.062500 +v 0.236804 1.136718 7.062500 +v 0.136719 1.236804 7.062500 +v 0.000000 1.000000 7.687499 +v 0.245813 1.363261 1.812500 +v 0.206190 1.169631 1.687500 +v 0.245813 1.363261 3.562500 +v 0.206190 1.169631 3.687500 +v 0.191687 1.394511 1.812500 +v 0.043810 1.263381 1.687500 +v 0.191687 1.394511 3.562500 +v 0.043810 1.263381 3.687500 +v -0.245813 0.636739 1.812500 +v -0.206190 0.830369 1.687500 +v -0.245813 0.636739 3.562500 +v -0.206190 0.830369 3.687500 +v -0.191687 0.605489 1.812500 +v -0.043810 0.736619 1.687500 +v -0.191687 0.605489 3.562500 +v -0.043810 0.736619 3.687500 +v 0.437500 0.968750 1.812500 +v 0.250000 0.906250 1.687500 +v 0.437500 0.968750 3.562500 +v 0.250000 0.906250 3.687500 +v 0.437500 1.031250 1.812500 +v 0.250000 1.093750 1.687500 +v 0.437500 1.031250 3.562500 +v 0.250000 1.093750 3.687500 +v -0.437500 1.031250 1.812500 +v -0.250000 1.093750 1.687500 +v -0.437500 1.031250 3.562500 +v -0.250000 1.093750 3.687500 +v -0.437500 0.968750 1.812500 +v -0.250000 0.906250 1.687500 +v -0.437500 0.968750 3.562500 +v -0.250000 0.906250 3.687500 +v 0.191687 0.605489 1.812500 +v 0.043810 0.736619 1.687500 +v 0.191687 0.605489 3.562500 +v 0.043810 0.736619 3.687500 +v 0.245813 0.636739 1.812500 +v 0.206190 0.830369 1.687500 +v 0.245813 0.636739 3.562500 +v 0.206190 0.830369 3.687500 +v -0.191687 1.394511 1.812500 +v -0.043810 1.263381 1.687500 +v -0.191687 1.394511 3.562500 +v -0.043810 1.263381 3.687500 +v -0.245813 1.363261 1.812500 +v -0.206190 1.169631 1.687500 +v -0.245813 1.363261 3.562500 +v -0.206190 1.169631 3.687500 +vt 0.374030 0.768550 +vt 0.374030 0.799351 +vt 0.354477 0.799351 +vt 0.816742 0.734568 +vt 0.748869 0.716049 +vt 0.821267 0.716049 +vt 0.753394 0.734568 +vt 0.816742 0.740741 +vt 0.753394 0.740741 +vt 0.821267 0.759259 +vt 0.746606 0.728395 +vt 0.746606 0.740741 +vt 0.823529 0.740741 +vt 0.823529 0.728395 +vt 0.816742 0.734568 +vt 0.748869 0.716049 +vt 0.821267 0.716049 +vt 0.753394 0.734568 +vt 0.816742 0.740741 +vt 0.753394 0.740741 +vt 0.821267 0.759259 +vt 0.746606 0.728395 +vt 0.746606 0.740741 +vt 0.823529 0.728395 +vt 0.816742 0.734568 +vt 0.748869 0.716049 +vt 0.821267 0.716049 +vt 0.753394 0.734568 +vt 0.816742 0.740741 +vt 0.753394 0.740741 +vt 0.821267 0.759259 +vt 0.746606 0.728395 +vt 0.746606 0.740741 +vt 0.823529 0.740741 +vt 0.823529 0.728395 +vt 0.816742 0.734568 +vt 0.748869 0.716049 +vt 0.821267 0.716049 +vt 0.753394 0.734568 +vt 0.816742 0.740741 +vt 0.753394 0.740741 +vt 0.821267 0.759259 +vt 0.746606 0.728395 +vt 0.746606 0.740741 +vt 0.823529 0.740741 +vt 0.823529 0.728395 +vt 0.821267 0.716049 +vt 0.753394 0.734568 +vt 0.748869 0.716049 +vt 0.816742 0.740741 +vt 0.753394 0.740741 +vt 0.821267 0.759259 +vt 0.746606 0.728395 +vt 0.746606 0.740741 +vt 0.823529 0.740741 +vt 0.816742 0.734568 +vt 0.823529 0.728395 +vt 0.816742 0.734568 +vt 0.748869 0.716049 +vt 0.821267 0.716049 +vt 0.753394 0.734568 +vt 0.816742 0.740741 +vt 0.753394 0.740741 +vt 0.821267 0.759259 +vt 0.746606 0.728395 +vt 0.746606 0.740741 +vt 0.823529 0.728395 +vt 0.369898 0.810626 +vt 0.364253 0.814752 +vt 0.358609 0.810626 +vt 0.352964 0.783951 +vt 0.354477 0.768550 +vt 0.358609 0.757276 +vt 0.364253 0.753149 +vt 0.369898 0.757276 +vt 0.375543 0.783951 +vt 0.748869 0.759259 +vt 0.748869 0.759259 +vt 0.823529 0.740741 +vt 0.748869 0.759259 +vt 0.748869 0.759259 +vt 0.748869 0.759259 +vt 0.748869 0.759259 +vt 0.823529 0.740741 +vt 0.352941 0.888889 +vt 0.180995 0.876543 +vt 0.352941 0.876543 +vt 0.352941 0.827160 +vt 0.180995 0.814815 +vt 0.352941 0.814815 +vt 0.352941 0.851852 +vt 0.180995 0.839506 +vt 0.352941 0.839506 +vt 0.352941 0.790123 +vt 0.180995 0.777778 +vt 0.352941 0.777778 +vt 0.352941 0.901235 +vt 0.180995 0.888889 +vt 0.352941 0.864198 +vt 0.180995 0.851852 +vt 0.352941 0.802469 +vt 0.180995 0.790123 +vt 0.352941 0.765432 +vt 0.180995 0.753086 +vt 0.352941 0.753086 +vt 0.180995 0.864198 +vt 0.180995 0.802469 +vt 0.180995 0.827160 +vt 0.180995 0.765432 +vt 0.158371 0.790123 +vt 0.158371 0.753086 +vt 0.158371 0.864198 +vt 0.158371 0.814815 +vt 0.158371 0.802469 +vt 0.158371 0.827160 +vt 0.158371 0.765432 +vt 0.158371 0.888889 +vt 0.158371 0.876543 +vt 0.158371 0.839506 +vt 0.158371 0.777778 +vt 0.158371 0.901235 +vt 0.158371 0.851852 +vt 0.135747 0.845679 +vt 0.135747 0.858025 +vt 0.135747 0.870370 +vt 0.135747 0.882716 +vt 0.135747 0.895062 +vt 0.135747 0.759259 +vt 0.135747 0.771605 +vt 0.135747 0.783951 +vt 0.135747 0.796296 +vt 0.135747 0.808642 +vt 0.135747 0.820988 +vt 0.135747 0.833333 +vt 0.180995 0.901235 +vn -0.0000 0.0000 -1.0000 +vn 0.9797 -0.2005 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.6635 0.7482 0.0000 +vn 0.2773 0.4804 0.8321 +vn 0.2773 0.4804 -0.8321 +vn -0.9797 0.2005 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.6635 -0.7482 0.0000 +vn -0.2773 -0.4804 0.8321 +vn -0.2773 -0.4804 -0.8321 +vn 0.3162 -0.9487 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.3162 0.9487 0.0000 +vn 0.5547 0.0000 0.8320 +vn 0.5547 0.0000 -0.8321 +vn -0.3162 0.9487 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.3162 -0.9487 0.0000 +vn -0.5547 0.0000 0.8320 +vn -0.5547 0.0000 -0.8321 +vn -0.6635 -0.7482 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.9797 0.2005 0.0000 +vn 0.2773 -0.4804 0.8321 +vn 0.2773 -0.4804 -0.8321 +vn 0.6635 0.7482 0.0000 +vn -0.5000 0.8660 0.0000 +vn -0.9797 -0.2005 0.0000 +vn -0.2773 0.4804 0.8321 +vn -0.2773 0.4804 -0.8321 +vn 0.5547 0.0000 0.8321 +vn -0.5547 0.0000 0.8321 +vn -0.8656 -0.4998 0.0310 +vn -0.8660 -0.5000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.4998 0.8656 0.0310 +vn -0.8660 0.5000 0.0000 +vn -0.4998 0.8656 0.0310 +vn 0.8656 -0.4998 0.0310 +vn 0.8660 -0.5000 0.0000 +vn -0.0000 -1.0000 0.0000 +vn -0.4998 -0.8656 0.0310 +vn -0.8656 0.4998 0.0310 +vn 0.8660 0.5000 0.0000 +vn 0.9995 0.0000 0.0310 +vn -0.0000 -0.9995 0.0310 +vn -0.9995 -0.0000 0.0310 +vn 0.8656 0.4998 0.0310 +vn -0.0000 0.9995 0.0310 +vn 0.4998 -0.8656 0.0310 +vn 0.9735 0.0000 0.2289 +vn -0.0000 -0.9735 0.2289 +vn -0.9735 -0.0000 0.2289 +vn 0.4867 0.8430 0.2289 +vn 0.8430 0.4867 0.2289 +vn 0.0000 0.9735 0.2289 +vn 0.4867 -0.8430 0.2289 +vn -0.4867 -0.8430 0.2289 +vn -0.8430 -0.4867 0.2289 +vn -0.4867 0.8430 0.2289 +vn 0.8430 -0.4867 0.2289 +vn -0.8430 0.4867 0.2289 +vn -0.0000 0.0000 1.0000 +s off +f 396/564/96 394/565/96 402/566/96 +f 429/567/97 432/568/97 430/569/97 +f 431/570/98 433/571/98 435/572/98 +f 434/573/99 435/572/99 433/571/99 +f 432/574/100 435/572/100 436/575/100 +f 434/576/101 429/567/101 430/577/101 +f 437/578/102 440/579/102 438/580/102 +f 439/581/103 441/582/103 443/583/103 +f 442/584/104 443/583/104 441/582/104 +f 440/585/105 443/583/105 444/586/105 +f 438/587/106 441/582/106 437/578/106 +f 445/588/107 448/589/107 446/590/107 +f 447/591/108 449/592/108 451/593/108 +f 450/594/109 451/593/109 449/592/109 +f 448/595/110 451/593/110 452/596/110 +f 450/597/111 445/588/111 446/598/111 +f 453/599/112 456/600/112 454/601/112 +f 455/602/113 457/603/113 459/604/113 +f 458/605/114 459/604/114 457/603/114 +f 456/606/115 459/604/115 460/607/115 +f 458/608/116 453/599/116 454/609/116 +f 462/610/117 463/611/117 464/612/117 +f 463/611/118 465/613/118 467/614/118 +f 466/615/119 467/614/119 465/613/119 +f 464/616/120 467/614/120 468/617/120 +f 466/618/121 461/619/121 462/620/121 +f 469/621/122 472/622/122 470/623/122 +f 471/624/123 473/625/123 475/626/123 +f 474/627/124 475/626/124 473/625/124 +f 472/628/125 475/626/125 476/629/125 +f 470/630/126 473/625/126 469/621/126 +f 394/565/96 393/631/96 402/566/96 +f 393/631/96 392/632/96 402/566/96 +f 392/632/96 403/633/96 402/566/96 +f 402/566/96 401/634/96 400/635/96 +f 400/635/96 399/636/96 398/637/96 +f 398/637/96 397/638/96 396/564/96 +f 396/564/96 395/639/96 394/565/96 +f 402/566/96 400/635/96 398/637/96 +f 398/637/96 396/564/96 402/566/96 +f 429/567/97 431/570/97 432/568/97 +f 431/570/98 429/567/98 433/571/98 +f 434/573/99 436/640/99 435/572/99 +f 432/574/100 431/570/100 435/572/100 +f 434/576/101 433/571/101 429/567/101 +f 437/578/102 439/581/102 440/579/102 +f 439/581/103 437/578/103 441/582/103 +f 442/584/104 444/641/104 443/583/104 +f 440/585/105 439/581/105 443/583/105 +f 438/587/106 442/642/106 441/582/106 +f 445/588/107 447/591/107 448/589/107 +f 447/591/108 445/588/108 449/592/108 +f 450/594/109 452/643/109 451/593/109 +f 448/595/127 447/591/127 451/593/127 +f 450/597/111 449/592/111 445/588/111 +f 453/599/112 455/602/112 456/600/112 +f 455/602/113 453/599/113 457/603/113 +f 458/605/114 460/644/114 459/604/114 +f 456/606/128 455/602/128 459/604/128 +f 458/608/116 457/603/116 453/599/116 +f 462/610/117 461/619/117 463/611/117 +f 463/611/118 461/619/118 465/613/118 +f 466/615/119 468/645/119 467/614/119 +f 464/616/120 463/611/120 467/614/120 +f 466/618/121 465/613/121 461/619/121 +f 469/621/122 471/624/122 472/622/122 +f 471/624/123 469/621/123 473/625/123 +f 474/627/124 476/646/124 475/626/124 +f 472/628/125 471/624/125 475/626/125 +f 470/630/126 474/647/126 473/625/126 +s 1 +f 397/648/103 408/649/129 396/650/130 +f 392/651/131 415/652/132 403/653/98 +f 394/654/133 405/655/134 393/656/123 +f 401/657/108 412/658/135 400/659/136 +f 398/660/137 409/661/138 397/648/103 +f 395/662/113 406/663/139 394/654/133 +f 402/664/140 413/665/141 401/657/108 +f 399/666/118 410/667/142 398/668/137 +f 396/650/130 407/669/143 395/662/113 +f 403/653/98 414/670/144 402/664/140 +f 393/656/123 404/671/145 392/651/131 +f 400/659/136 411/672/146 399/666/118 +f 414/670/144 425/673/147 413/665/141 +f 411/672/146 422/674/148 410/667/142 +f 408/649/129 419/675/149 407/669/143 +f 414/670/144 427/676/150 426/677/151 +f 405/655/134 416/678/152 404/671/145 +f 412/658/135 423/679/153 411/672/146 +f 408/649/129 421/680/154 420/681/155 +f 404/671/145 427/676/150 415/652/132 +f 406/663/139 417/682/156 405/655/134 +f 413/665/141 424/683/157 412/658/135 +f 409/661/138 422/684/148 421/680/154 +f 407/669/143 418/685/158 406/663/139 +f 417/682/156 418/685/158 428/686/159 +f 418/685/158 419/675/149 428/687/159 +f 419/675/149 420/681/155 428/688/159 +f 420/681/155 421/680/154 428/689/159 +f 421/680/154 422/684/148 428/690/159 +f 422/674/148 423/679/153 428/691/159 +f 423/679/153 424/683/157 428/692/159 +f 424/683/157 425/673/147 428/693/159 +f 425/673/147 426/677/151 428/694/159 +f 426/677/151 427/676/150 428/695/159 +f 427/676/150 416/678/152 428/696/159 +f 416/678/152 417/682/156 428/697/159 +f 397/648/103 409/661/138 408/649/129 +f 392/651/131 404/671/145 415/652/132 +f 394/654/133 406/663/139 405/655/134 +f 401/657/108 413/665/141 412/658/135 +f 398/660/137 410/698/142 409/661/138 +f 395/662/113 407/669/143 406/663/139 +f 402/664/140 414/670/144 413/665/141 +f 399/666/118 411/672/146 410/667/142 +f 396/650/130 408/649/129 407/669/143 +f 403/653/98 415/652/132 414/670/144 +f 393/656/123 405/655/134 404/671/145 +f 400/659/136 412/658/135 411/672/146 +f 414/670/144 426/677/151 425/673/147 +f 411/672/146 423/679/153 422/674/148 +f 408/649/129 420/681/155 419/675/149 +f 414/670/144 415/652/132 427/676/150 +f 405/655/134 417/682/156 416/678/152 +f 412/658/135 424/683/157 423/679/153 +f 408/649/129 409/661/138 421/680/154 +f 404/671/145 416/678/152 427/676/150 +f 406/663/139 418/685/158 417/682/156 +f 413/665/141 425/673/147 424/683/157 +f 409/661/138 410/698/142 422/684/148 +f 407/669/143 419/675/149 418/685/158 +o Launcher +v -0.250000 1.433012 -1.437500 +v -0.433013 1.250000 -1.437500 +v -0.500000 1.000000 -1.437500 +v -0.433012 0.750000 -1.437500 +v -0.250000 0.566987 -1.437500 +v 0.000000 0.500000 -1.437500 +v 0.250000 0.566987 -1.437500 +v 0.433012 0.750000 -1.437500 +v 0.500000 1.000000 -1.437500 +v 0.433012 1.250000 -1.437500 +v 0.000000 1.500000 -1.437500 +v 0.250000 1.433012 -1.437500 +v 0.000000 1.500000 -6.687500 +v 0.250000 1.433012 -6.687500 +v 0.433012 1.250000 -6.687500 +v 0.500000 1.000000 -6.687500 +v 0.433012 0.750000 -6.687500 +v 0.250000 0.566987 -6.687500 +v 0.000000 0.500000 -6.687500 +v -0.250000 0.566987 -6.687500 +v -0.433012 0.750000 -6.687500 +v -0.500000 1.000000 -6.687500 +v -0.433013 1.250000 -6.687500 +v -0.250000 1.433012 -6.687500 +v 0.218750 1.378889 -6.687500 +v 0.000000 1.437503 -6.687500 +v 0.378886 1.218753 -6.687500 +v 0.437500 1.000003 -6.687500 +v 0.378886 0.781253 -6.687500 +v 0.218750 0.621117 -6.687500 +v 0.000000 0.562503 -6.687500 +v -0.218750 0.621117 -6.687500 +v -0.378886 0.781253 -6.687500 +v -0.437500 1.000003 -6.687500 +v -0.378886 1.218753 -6.687500 +v -0.218750 1.378889 -6.687500 +v 0.218750 1.378889 -1.437500 +v 0.000000 1.437503 -1.437500 +v 0.378886 1.218753 -1.437500 +v 0.437500 1.000003 -1.437500 +v 0.378886 0.781253 -1.437500 +v 0.218750 0.621117 -1.437500 +v 0.000000 0.562503 -1.437500 +v -0.218750 0.621117 -1.437500 +v -0.378886 0.781253 -1.437500 +v -0.437500 1.000003 -1.437500 +v -0.378886 1.218753 -1.437500 +v -0.218750 1.378889 -1.437500 +v 0.000000 1.625000 1.687500 +v 0.312500 1.541266 1.687500 +v 0.541266 1.312500 1.687500 +v 0.625000 0.999999 1.687500 +v -0.625000 0.999999 1.687500 +v -0.541266 1.312500 1.687500 +v -0.312500 1.541266 1.687500 +v -0.250000 1.433012 1.687500 +v -0.433013 1.250000 1.687500 +v 0.000000 1.625000 0.687500 +v 0.312500 1.541266 0.687500 +v 0.541266 1.312500 0.687500 +v 0.625000 0.999999 0.687500 +v -0.625000 0.999999 0.687500 +v -0.541266 1.312500 0.687500 +v -0.312500 1.541266 0.687500 +v 0.000000 1.625000 -1.437500 +v 0.312500 1.541266 -1.437500 +v 0.541266 1.312500 -1.437500 +v 0.625000 0.999999 -1.437500 +v -0.625000 0.999999 -1.437500 +v -0.541266 1.312500 -1.437500 +v -0.312500 1.541266 -1.437500 +v 0.000000 1.625000 -1.937500 +v 0.312500 1.541266 -1.937500 +v 0.541266 1.312500 -1.937500 +v 0.625000 0.999999 -1.937500 +v -0.625000 0.999999 -1.937500 +v -0.541266 1.312500 -1.937500 +v -0.312500 1.541266 -1.937500 +v 0.541266 0.687500 -1.437500 +v 0.312500 0.458734 -1.437500 +v 0.000000 0.375000 -1.437500 +v -0.312500 0.458734 -1.437500 +v -0.541265 0.687499 -1.437500 +v 0.541266 0.687500 -5.687500 +v 0.312500 0.458734 -5.687500 +v 0.000000 0.375000 -5.687500 +v -0.312500 0.458734 -5.687500 +v -0.541265 0.687499 -5.687500 +v 0.433012 0.750000 -5.687500 +v 0.250000 0.566987 -5.687500 +v 0.000000 0.500000 -5.687500 +v -0.250000 0.566987 -5.687500 +v -0.433012 0.750000 -5.687500 +v 0.625000 0.999999 -5.687500 +v -0.625000 0.999999 -5.687500 +v 0.500000 1.000000 -5.687500 +v -0.500000 1.000000 -5.687500 +v -0.250000 1.433012 -1.937500 +v -0.433013 1.250000 -1.937500 +v -0.500000 1.000000 -1.937500 +v 0.500000 1.000000 -1.937500 +v 0.433012 1.250000 -1.937500 +v 0.000000 1.500000 -1.937500 +v 0.250000 1.433012 -1.937500 +v 0.750000 0.250000 1.687500 +v 0.750000 1.000000 1.687500 +v -0.750000 1.000000 1.687500 +v -0.750000 0.250000 1.687500 +v -0.500000 1.000000 1.687500 +v -0.433012 0.750000 1.687500 +v -0.250000 0.566987 1.687500 +v 0.000000 0.500000 1.687500 +v 0.250000 0.566987 1.687500 +v 0.433013 0.750000 1.687500 +v 0.500000 1.000000 1.687500 +v 0.433013 1.250000 1.687500 +v 0.250000 1.433012 1.687500 +v 0.000000 1.500000 1.687500 +v 0.750000 0.250000 0.687500 +v -0.750000 0.250000 0.687500 +v 0.750000 0.750000 1.562500 +v -0.750000 0.750000 1.562500 +v 0.750000 0.750000 0.687500 +v -0.750000 0.750000 0.687500 +v 0.750000 1.000000 0.687500 +v -0.750000 1.000000 0.687500 +v 0.625000 1.000000 1.687500 +v 0.541266 0.687500 1.687500 +v 0.312500 0.458734 1.687500 +v -0.625000 1.000000 1.687500 +v -0.541265 0.687500 1.687500 +v -0.312500 0.458734 1.687500 +v 0.000000 0.375000 1.687500 +v 0.541266 0.687500 1.687500 +v 0.312500 0.458734 1.687500 +v -0.541265 0.687500 1.687500 +v -0.312500 0.458734 1.687500 +v 0.000000 0.375000 1.687500 +v 0.541266 0.687500 0.687500 +v 0.312500 0.458734 0.687500 +v -0.541265 0.687500 0.687500 +v -0.312500 0.458734 0.687500 +v 0.000000 0.375000 0.687500 +v -0.750000 0.437500 0.687500 +v 0.750000 0.437500 0.687500 +v 0.500000 0.750000 1.562500 +v -0.500000 0.750000 1.562500 +v 0.500000 0.750000 0.687500 +v 0.625000 1.000000 0.687500 +v -0.625000 0.999999 0.687500 +v -0.500000 0.750000 0.687500 +v 0.750000 0.125000 0.687500 +v -0.750000 0.125000 0.687500 +v -0.875000 0.250000 1.437500 +v 0.875000 0.249999 1.437500 +v -0.875000 0.125000 1.470994 +v 0.875000 0.124999 1.470994 +v -0.875000 0.033493 1.562500 +v 0.875000 0.033493 1.562500 +v -0.875000 -0.000000 1.687500 +v 0.875000 -0.000000 1.687500 +v -0.875000 0.033493 1.812500 +v 0.875000 0.033493 1.812500 +v -0.875000 0.125000 1.904006 +v 0.875000 0.124999 1.904006 +v -0.875000 0.250000 1.937500 +v 0.875000 0.249999 1.937500 +v -0.875000 0.375000 1.904006 +v 0.875000 0.374999 1.904006 +v -0.875000 0.466506 1.812500 +v 0.875000 0.466506 1.812500 +v -0.875000 0.500000 1.687500 +v 0.875000 0.499999 1.687500 +v -0.875000 0.466506 1.562500 +v 0.875000 0.466506 1.562500 +v -0.875000 0.375000 1.470994 +v 0.875000 0.375000 1.470994 +v -0.750000 0.125000 -1.437500 +v 0.750000 0.125000 -1.437500 +v 0.750000 1.750000 0.687500 +v -0.750000 1.750000 0.687500 +v -0.750000 1.750000 -1.437500 +v 0.750000 1.750000 -1.437500 +v -0.875000 1.750000 0.812500 +v 0.875000 1.750000 0.812500 +v -0.875000 1.750000 -1.562500 +v 0.875000 1.750000 -1.562500 +v -0.875000 2.500000 -1.562500 +v -0.875000 2.500000 0.812500 +v 0.875000 2.500000 0.812500 +v 0.875000 2.500000 -1.562500 +v 0.000000 1.875000 -6.337500 +v 0.437500 1.757772 -6.337500 +v 0.757772 1.437500 -6.337500 +v 0.875000 0.999999 -6.337500 +v 0.757772 0.562500 -6.337500 +v 0.437500 0.242228 -6.337500 +v 0.000000 0.125000 -6.337500 +v -0.437500 0.242228 -6.337500 +v -0.757772 0.562499 -6.337500 +v -0.875000 0.999999 -6.337500 +v -0.757772 1.437499 -6.337500 +v -0.437500 1.757772 -6.337500 +v 0.000000 1.500000 -6.687500 +v 0.250000 1.433012 -6.687500 +v 0.433013 1.250000 -6.687500 +v 0.500000 1.000000 -6.687500 +v 0.433013 0.750000 -6.687500 +v 0.250000 0.566987 -6.687500 +v 0.000000 0.500000 -6.687500 +v -0.250000 0.566987 -6.687500 +v -0.433012 0.750000 -6.687500 +v -0.500000 1.000000 -6.687500 +v -0.433013 1.250000 -6.687500 +v -0.250000 1.433012 -6.687500 +v 0.000000 1.500000 -5.687500 +v 0.250000 1.433012 -5.687500 +v 0.433013 1.250000 -5.687500 +v 0.500000 1.000000 -5.687500 +v 0.433013 0.750000 -5.687500 +v 0.250000 0.566987 -5.687500 +v 0.000000 0.500000 -5.687500 +v -0.250000 0.566987 -5.687500 +v -0.433012 0.750000 -5.687500 +v -0.500000 1.000000 -5.687500 +v -0.433013 1.250000 -5.687500 +v -0.250000 1.433012 -5.687500 +v 0.062500 1.687500 -6.062500 +v -0.062500 1.687500 -6.062500 +v 0.062500 1.687500 -5.562500 +v -0.062500 1.687500 -5.562500 +v 0.062500 1.437500 -5.062500 +v -0.062500 1.437500 -5.062500 +v 0.062500 1.437500 -6.062500 +v -0.062500 1.437500 -6.062500 +v -0.564143 1.397877 -6.062500 +v -0.626643 1.289623 -6.062500 +v -0.564143 1.397877 -5.562500 +v -0.626643 1.289623 -5.562500 +v -0.347636 1.272877 -5.062500 +v -0.410136 1.164623 -5.062500 +v -0.347636 1.272877 -6.062500 +v -0.410136 1.164623 -6.062500 +v -0.289623 1.626642 -6.062500 +v -0.397877 1.564142 -6.062500 +v -0.289623 1.626642 -5.562500 +v -0.397877 1.564142 -5.562500 +v -0.164623 1.410136 -5.062500 +v -0.272877 1.347636 -5.062500 +v -0.164623 1.410136 -6.062500 +v -0.272877 1.347636 -6.062500 +v 0.397877 1.564142 -6.062500 +v 0.289623 1.626642 -6.062500 +v 0.397877 1.564142 -5.562500 +v 0.289623 1.626642 -5.562500 +v 0.272877 1.347636 -5.062500 +v 0.164624 1.410136 -5.062500 +v 0.272877 1.347636 -6.062500 +v 0.164623 1.410136 -6.062500 +v 0.626643 1.289623 -6.062500 +v 0.564143 1.397877 -6.062500 +v 0.626643 1.289623 -5.562500 +v 0.564143 1.397877 -5.562500 +v 0.410136 1.164623 -5.062500 +v 0.347636 1.272877 -5.062500 +v 0.410136 1.164623 -6.062500 +v 0.347636 1.272877 -6.062500 +v -0.750000 0.750000 -1.437500 +v -0.750000 1.000000 -1.437500 +v 0.750000 0.750000 -5.562500 +v -0.750000 0.750000 -5.562500 +v 0.750000 1.000000 -5.562500 +v -0.750000 1.000000 -5.562500 +v -0.625000 1.000000 -1.437500 +v -0.500000 0.750000 -5.562500 +v -0.625000 1.000000 -5.562500 +v 0.625000 1.000000 -5.562500 +v 0.500000 0.750000 -5.562500 v 0.750000 0.625000 0.937500 v 0.661612 0.588388 0.937500 v 0.625000 0.500000 0.937500 @@ -985,169 +2632,6 @@ v -0.433012 0.750000 0.687500 v -0.500000 1.000000 0.687500 v -0.433013 1.250000 0.687500 v -0.250000 1.433012 0.687500 -v -0.245813 0.636739 1.812500 -v -0.206190 0.830369 1.687500 -v -0.245813 0.636739 3.562500 -v -0.206190 0.830369 3.687500 -v -0.191687 0.605489 1.812500 -v -0.043810 0.736619 1.687500 -v -0.191687 0.605489 3.562500 -v -0.043810 0.736619 3.687500 -v 0.437500 0.968750 1.812500 -v 0.250000 0.906250 1.687500 -v 0.437500 0.968750 3.562500 -v 0.250000 0.906250 3.687500 -v 0.437500 1.031250 1.812500 -v 0.250000 1.093750 1.687500 -v 0.437500 1.031250 3.562500 -v 0.250000 1.093750 3.687500 -v -0.437500 1.031250 1.812500 -v -0.250000 1.093750 1.687500 -v -0.437500 1.031250 3.562500 -v -0.250000 1.093750 3.687500 -v -0.437500 0.968750 1.812500 -v -0.250000 0.906250 1.687500 -v -0.437500 0.968750 3.562500 -v -0.250000 0.906250 3.687500 -v 0.191687 0.605489 1.812500 -v 0.043810 0.736619 1.687500 -v 0.191687 0.605489 3.562500 -v 0.043810 0.736619 3.687500 -v 0.245813 0.636739 1.812500 -v 0.206190 0.830369 1.687500 -v 0.245813 0.636739 3.562500 -v 0.206190 0.830369 3.687500 -v -0.191687 1.394511 1.812500 -v -0.043810 1.263381 1.687500 -v -0.191687 1.394511 3.562500 -v -0.043810 1.263381 3.687500 -v -0.245813 1.363261 1.812500 -v -0.206190 1.169631 1.687500 -v -0.245813 1.363261 3.562500 -v -0.206190 1.169631 3.687500 -vt 0.237557 0.222222 -vt 0.235294 0.246914 -vt 0.235294 0.222222 -vt 0.472851 0.049383 -vt 0.475113 0.024691 -vt 0.475113 0.049383 -vt 0.237557 0.246914 -vt 0.235294 0.271605 -vt 0.237557 0.296296 -vt 0.237557 0.271605 -vt 0.237557 0.000000 -vt 0.235294 0.024691 -vt 0.235294 0.000000 -vt 0.237557 0.024691 -vt 0.235294 0.049383 -vt 0.237557 0.049383 -vt 0.235294 0.074074 -vt 0.237557 0.172840 -vt 0.235294 0.148148 -vt 0.237557 0.148148 -vt 0.237557 0.123457 -vt 0.235294 0.123457 -vt 0.237557 0.074074 -vt 0.235294 0.098765 -vt 0.235294 0.197531 -vt 0.235294 0.172840 -vt 0.237557 0.098765 -vt 0.237557 0.197531 -vt 0.472851 0.074074 -vt 0.475113 0.074074 -vt 0.472851 0.098765 -vt 0.475113 0.098765 -vt 0.472851 0.123457 -vt 0.475113 0.123457 -vt 0.472851 0.148148 -vt 0.475113 0.148148 -vt 0.475113 0.172840 -vt 0.472851 0.172840 -vt 0.475113 0.197531 -vt 0.472851 0.197531 -vt 0.475113 0.222222 -vt 0.472851 0.222222 -vt 0.475113 0.246914 -vt 0.472851 0.246914 -vt 0.475113 0.271605 -vt 0.472851 0.271605 -vt 0.475113 0.296296 -vt 0.472851 0.296296 -vt 0.472851 0.024691 -vt 0.475113 0.000000 -vt 0.185520 0.419753 -vt 0.180995 0.388889 -vt 0.185520 0.388889 -vt 0.180995 0.450617 -vt 0.185520 0.450617 -vt 0.185520 0.481481 -vt 0.180995 0.481481 -vt 0.185520 0.512346 -vt 0.180995 0.512346 -vt 0.185520 0.543210 -vt 0.180995 0.543210 -vt 0.180995 0.574074 -vt 0.185520 0.574074 -vt 0.158371 0.419753 -vt 0.162896 0.388889 -vt 0.162896 0.419753 -vt 0.162896 0.450617 -vt 0.158371 0.481481 -vt 0.162896 0.481481 -vt 0.158371 0.512346 -vt 0.162896 0.512346 -vt 0.158371 0.543210 -vt 0.162896 0.543210 -vt 0.162896 0.574074 -vt 0.158371 0.574074 -vt 0.009050 0.450617 -vt 0.013575 0.419753 -vt 0.013575 0.450617 -vt 0.009050 0.388889 -vt 0.013575 0.388889 -vt 0.013575 0.481481 -vt 0.009050 0.481481 -vt 0.013575 0.512346 -vt 0.013575 0.543210 -vt 0.009050 0.512346 -vt 0.009050 0.574074 -vt 0.013575 0.574074 -vt 0.004525 0.450617 -vt -0.000000 0.419753 -vt 0.004525 0.419753 -vt 0.004525 0.388889 -vt 0.000000 0.481481 -vt 0.004525 0.481481 -vt -0.000000 0.512346 -vt 0.004525 0.512346 -vt 0.000000 0.543210 -vt 0.004525 0.543210 -vt 0.004525 0.574074 -vt 0.000000 0.574074 -vt 0.162896 0.586420 -vt 0.162896 0.376543 -vt 0.185520 0.635802 -vt 0.180995 0.604938 -vt 0.185520 0.604938 -vt 0.180995 0.666667 -vt 0.185520 0.666667 -vt 0.185520 0.327161 -vt 0.180995 0.296296 -vt 0.185520 0.296296 -vt 0.180995 0.358025 -vt 0.180995 0.327161 -vt 0.185520 0.358025 -vt 0.004525 0.358025 -vt -0.000000 0.327161 -vt 0.004525 0.327161 -vt 0.004525 0.296296 -vt 0.004525 0.666667 -vt -0.000000 0.635802 -vt 0.004525 0.635802 -vt 0.004525 0.604938 -vt -0.000000 0.604938 -vt 0.000000 0.358025 -vt 0.000000 0.388889 vt 0.744344 0.246914 vt 0.742081 0.271605 vt 0.742081 0.246914 @@ -1226,107 +2710,6 @@ vt 0.402715 0.666667 vt 0.402715 0.814815 vt 0.502262 0.827160 vt 0.502262 0.814815 -vt 0.212670 0.617284 -vt 0.384615 0.604938 -vt 0.384615 0.617284 -vt 0.296380 0.358025 -vt 0.248869 0.388889 -vt 0.248869 0.358025 -vt 0.248869 0.413580 -vt 0.296380 0.388889 -vt 0.296380 0.413580 -vt 0.384615 0.382716 -vt 0.389140 0.456790 -vt 0.384615 0.530864 -vt 0.332579 0.382716 -vt 0.332579 0.530864 -vt 0.248869 0.333333 -vt 0.305430 0.358025 -vt 0.305430 0.388889 -vt 0.380091 0.580247 -vt 0.380091 0.549383 -vt 0.239819 0.388889 -vt 0.106335 0.512346 -vt 0.124434 0.537037 -vt 0.106335 0.537037 -vt 0.124434 0.388889 -vt 0.128959 0.537037 -vt 0.138009 0.388889 -vt 0.142534 0.537037 -vt 0.138009 0.537037 -vt 0.314480 0.530864 -vt 0.319005 0.518519 -vt 0.332579 0.549383 -vt 0.128959 0.388889 -vt 0.212670 0.530864 -vt 0.239819 0.580247 -vt 0.212670 0.604938 -vt 0.040724 0.450617 -vt 0.031674 0.438272 -vt 0.040724 0.438272 -vt 0.384615 0.308642 -vt 0.212670 0.296296 -vt 0.384615 0.296296 -vt 0.296380 0.388889 -vt 0.248869 0.358025 -vt 0.296380 0.358025 -vt 0.248869 0.388889 -vt 0.296380 0.413580 -vt 0.248869 0.413580 -vt 0.296380 0.333333 -vt 0.239819 0.358025 -vt 0.239819 0.388889 -vt 0.380091 0.333333 -vt 0.380091 0.364198 -vt 0.305430 0.388889 -vt 0.319005 0.395062 -vt 0.314480 0.382716 -vt 0.332579 0.364198 -vt 0.239819 0.382716 -vt 0.212670 0.382716 -vt 0.058824 0.450617 -vt 0.411765 0.530864 -vt 0.400452 0.512346 -vt 0.058824 0.438272 -vt 0.076923 0.450617 -vt 0.400452 0.401235 -vt 0.411765 0.382716 -vt 0.040724 0.475309 -vt 0.040724 0.413580 -vt 0.040724 0.450617 -vt 0.031674 0.438272 -vt 0.040724 0.438272 -vt 0.058824 0.450617 -vt 0.058824 0.438272 -vt 0.076923 0.450617 -vt 0.040724 0.475309 -vt 0.040724 0.413580 -vt 0.040724 0.450617 -vt 0.031674 0.438272 -vt 0.040724 0.438272 -vt 0.058824 0.450617 -vt 0.058824 0.438272 -vt 0.076923 0.450617 -vt 0.040724 0.475309 -vt 0.040724 0.413580 -vt 0.040724 0.438272 -vt 0.031674 0.450617 -vt 0.031674 0.438272 -vt 0.058824 0.450617 -vt 0.040724 0.450617 -vt 0.058824 0.438272 -vt 0.076923 0.450617 -vt 0.040724 0.475309 -vt 0.040724 0.413580 -vt 0.040724 0.450617 -vt 0.031674 0.438272 -vt 0.040724 0.438272 -vt 0.058824 0.450617 -vt 0.076923 0.438272 -vt 0.076923 0.450617 -vt 0.040724 0.475309 -vt 0.040724 0.413580 -vt 0.058824 0.438272 vt 0.961538 0.086420 vt 0.997738 0.234568 vt 0.961538 0.234568 @@ -1379,30 +2762,6 @@ vt 0.683258 0.543210 vt 0.683258 0.469136 vt 1.000000 0.469136 vt 0.904977 0.543210 -vt 0.203620 0.481481 -vt 0.203620 0.432099 -vt 0.031674 0.537037 -vt 0.031674 0.512346 -vt 0.031674 0.388889 -vt 0.106335 0.413580 -vt 0.031674 0.413580 -vt 0.194570 0.506173 -vt 0.185520 0.530864 -vt 0.185520 0.382716 -vt 0.194570 0.407407 -vt 0.314480 0.580247 -vt 0.332579 0.580247 -vt 0.332579 0.333333 -vt 0.314480 0.333333 -vt 0.013575 0.388889 -vt 0.108597 0.740741 -vt 0.027149 0.790123 -vt 0.027149 0.740741 -vt 0.108597 0.864198 -vt 0.108597 0.790123 -vt 0.027149 0.666667 -vt 0.126697 0.740741 -vt 0.009050 0.740741 vt 0.040724 0.438272 vt 0.058824 0.450617 vt 0.040724 0.450617 @@ -1438,20 +2797,6 @@ vt 0.058824 0.438272 vt 0.076923 0.450617 vt 0.040724 0.475309 vt 0.040724 0.413580 -vt 0.374030 0.768550 -vt 0.374030 0.799351 -vt 0.354477 0.799351 -vt 0.816742 0.734568 -vt 0.748869 0.716049 -vt 0.821267 0.716049 -vt 0.753394 0.734568 -vt 0.816742 0.740741 -vt 0.753394 0.740741 -vt 0.821267 0.759259 -vt 0.746606 0.728395 -vt 0.746606 0.740741 -vt 0.823529 0.740741 -vt 0.823529 0.728395 vt 0.502262 0.395062 vt 0.497738 0.419753 vt 0.493213 0.395062 @@ -1463,35 +2808,6 @@ vt 0.488688 0.419753 vt 0.484163 0.419753 vt 0.656109 0.518519 vt 0.552036 0.370370 -vt 0.678895 0.588520 -vt 0.674532 0.567901 -vt 0.687621 0.547283 -vt 0.687621 0.596665 -vt 0.687621 0.637903 -vt 0.674532 0.617284 -vt 0.934389 0.623457 -vt 0.843891 0.629630 -vt 0.843891 0.623457 -vt 0.843891 0.549383 -vt 0.934389 0.543210 -vt 0.934389 0.549383 -vt 0.843891 0.567901 -vt 0.841629 0.549383 -vt 0.841629 0.586420 -vt 0.841629 0.567901 -vt 0.843891 0.586420 -vt 0.841629 0.604938 -vt 0.843891 0.604938 -vt 0.936652 0.604938 -vt 0.934389 0.604938 -vt 0.936652 0.586420 -vt 0.934389 0.586420 -vt 0.936652 0.567901 -vt 0.934389 0.567901 -vt 0.936652 0.549383 -vt 0.846154 0.629542 -vt 0.849376 0.633184 -vt 0.842932 0.650765 vt 0.239819 0.469136 vt 0.248869 0.438272 vt 0.280543 0.438272 @@ -1588,80 +2904,8 @@ vt 0.841629 0.320988 vt 0.886878 0.296296 vt 0.841629 0.296296 vt 0.886878 0.345679 -vt 0.013575 0.537037 -vt 0.022624 0.438272 -vt 0.106335 0.388889 -vt 0.239819 0.333333 -vt 0.212670 0.308642 -vt 0.115385 0.487654 -vt 0.816742 0.734568 -vt 0.748869 0.716049 -vt 0.821267 0.716049 -vt 0.753394 0.734568 -vt 0.816742 0.740741 -vt 0.753394 0.740741 -vt 0.821267 0.759259 -vt 0.746606 0.728395 -vt 0.746606 0.740741 -vt 0.823529 0.728395 -vt 0.816742 0.734568 -vt 0.748869 0.716049 -vt 0.821267 0.716049 -vt 0.753394 0.734568 -vt 0.816742 0.740741 -vt 0.753394 0.740741 -vt 0.821267 0.759259 -vt 0.746606 0.728395 -vt 0.746606 0.740741 -vt 0.823529 0.740741 -vt 0.823529 0.728395 -vt 0.816742 0.734568 -vt 0.748869 0.716049 -vt 0.821267 0.716049 -vt 0.753394 0.734568 -vt 0.816742 0.740741 -vt 0.753394 0.740741 -vt 0.821267 0.759259 -vt 0.746606 0.728395 -vt 0.746606 0.740741 -vt 0.823529 0.740741 -vt 0.823529 0.728395 -vt 0.821267 0.716049 -vt 0.753394 0.734568 -vt 0.748869 0.716049 -vt 0.816742 0.740741 -vt 0.753394 0.740741 -vt 0.821267 0.759259 -vt 0.746606 0.728395 -vt 0.746606 0.740741 -vt 0.823529 0.740741 -vt 0.816742 0.734568 -vt 0.823529 0.728395 -vt 0.816742 0.734568 -vt 0.748869 0.716049 -vt 0.821267 0.716049 -vt 0.753394 0.734568 -vt 0.816742 0.740741 -vt 0.753394 0.740741 -vt 0.821267 0.759259 -vt 0.746606 0.728395 -vt 0.746606 0.740741 -vt 0.823529 0.728395 vt 0.561086 0.672840 vt 0.647059 0.672840 -vt 0.235294 0.296296 -vt 0.472851 0.000000 -vt 0.180995 0.419753 -vt 0.158371 0.388889 -vt 0.158371 0.450617 -vt 0.009050 0.419753 -vt 0.009050 0.543210 -vt 0.000000 0.450617 -vt 0.009050 0.586420 -vt 0.009050 0.376543 -vt 0.180995 0.635802 -vt -0.000000 0.296296 -vt 0.000000 0.666667 vt 0.744344 0.296296 vt 0.511312 -0.000000 vt 0.511312 0.370370 @@ -1670,36 +2914,6 @@ vt 0.398190 0.888889 vt 0.402715 0.617284 vt 0.402715 0.654321 vt 0.402715 0.827160 -vt 0.391403 0.425926 -vt 0.391403 0.487654 -vt 0.296380 0.333333 -vt 0.239819 0.358025 -vt 0.142534 0.388889 -vt 0.328054 0.518519 -vt 0.239819 0.530864 -vt 0.031674 0.450617 -vt 0.248869 0.333333 -vt 0.305430 0.358025 -vt 0.328054 0.395062 -vt 0.411765 0.518519 -vt 0.076923 0.438272 -vt 0.411765 0.395062 -vt 0.076923 0.475309 -vt 0.076923 0.413580 -vt 0.031674 0.450617 -vt 0.076923 0.438272 -vt 0.076923 0.475309 -vt 0.076923 0.413580 -vt 0.031674 0.450617 -vt 0.076923 0.438272 -vt 0.076923 0.475309 -vt 0.076923 0.413580 -vt 0.076923 0.438272 -vt 0.076923 0.475309 -vt 0.076923 0.413580 -vt 0.031674 0.450617 -vt 0.076923 0.475309 -vt 0.076923 0.413580 vt 0.997738 0.283951 vt 0.997738 0.037037 vt 0.954751 0.191358 @@ -1729,16 +2943,6 @@ vt 0.678571 0.341606 vt 0.669845 0.341606 vt 1.000000 0.987654 vt 1.000000 0.543210 -vt 0.185520 0.518519 -vt 0.185520 0.395062 -vt 0.027149 0.864198 -vt 0.108597 0.666667 -vt 0.126697 0.790123 -vt 0.135747 0.814815 -vt 0.135747 0.716049 -vt 0.000000 0.814815 -vt 0.009050 0.790123 -vt 0.000000 0.716049 vt 0.076923 0.438272 vt 0.076923 0.475309 vt 0.076923 0.413580 @@ -1754,44 +2958,7 @@ vt 0.076923 0.413580 vt 0.076923 0.438272 vt 0.076923 0.475309 vt 0.076923 0.413580 -vt 0.369898 0.810626 -vt 0.364253 0.814752 -vt 0.358609 0.810626 -vt 0.352964 0.783951 -vt 0.354477 0.768550 -vt 0.358609 0.757276 -vt 0.364253 0.753149 -vt 0.369898 0.757276 -vt 0.375543 0.783951 -vt 0.748869 0.759259 vt 0.493213 0.395062 -vt 0.690815 0.555997 -vt 0.691984 0.567902 -vt 0.690815 0.579806 -vt 0.687621 0.588520 -vt 0.683258 0.591710 -vt 0.675701 0.579806 -vt 0.675701 0.555997 -vt 0.678895 0.547283 -vt 0.683258 0.544093 -vt 0.675701 0.605380 -vt 0.678895 0.596665 -vt 0.683258 0.593476 -vt 0.690815 0.605380 -vt 0.691984 0.617284 -vt 0.690815 0.629188 -vt 0.683258 0.641092 -vt 0.678895 0.637903 -vt 0.675701 0.629188 -vt 0.934389 0.629630 -vt 0.843891 0.543210 -vt 0.841629 0.623457 -vt 0.936652 0.623457 -vt 0.850710 0.641974 -vt 0.849376 0.650765 -vt 0.846154 0.654407 -vt 0.841597 0.641974 -vt 0.842932 0.633184 vt 0.239819 0.438272 vt 0.289593 0.438272 vt 0.997738 0.253086 @@ -1819,27 +2986,6 @@ vt 0.651584 0.734568 vt 0.520362 0.722222 vt 0.556561 0.672840 vt 0.886878 0.395062 -vt 0.022624 0.487654 -vt 0.115385 0.438272 -vt 0.748869 0.759259 -vt 0.823529 0.740741 -vt 0.748869 0.759259 -vt 0.748869 0.759259 -vt 0.748869 0.759259 -vt 0.748869 0.759259 -vt 0.823529 0.740741 -vt 0.000000 0.000000 -vt 0.000000 0.074074 -vt -0.000000 0.197531 -vt 0.000000 0.271605 -vt 0.000000 0.049383 -vt 0.000000 0.172840 -vt -0.000000 0.123457 -vt 0.000000 0.246914 -vt 0.000000 0.024691 -vt 0.000000 0.148148 -vt -0.000000 0.098765 -vt 0.000000 0.222222 vt 0.552036 0.024691 vt 0.552036 0.148148 vt 0.934389 0.296296 @@ -1981,229 +3127,6 @@ vt 0.909502 0.296296 vt 0.886878 0.333333 vt 0.909502 0.296296 vt 0.886878 0.333333 -vt 0.352941 0.888889 -vt 0.180995 0.876543 -vt 0.352941 0.876543 -vt 0.352941 0.827160 -vt 0.180995 0.814815 -vt 0.352941 0.814815 -vt 0.352941 0.851852 -vt 0.180995 0.839506 -vt 0.352941 0.839506 -vt 0.352941 0.790123 -vt 0.180995 0.777778 -vt 0.352941 0.777778 -vt 0.352941 0.901235 -vt 0.180995 0.888889 -vt 0.352941 0.864198 -vt 0.180995 0.851852 -vt 0.352941 0.802469 -vt 0.180995 0.790123 -vt 0.352941 0.765432 -vt 0.180995 0.753086 -vt 0.352941 0.753086 -vt 0.180995 0.864198 -vt 0.180995 0.802469 -vt 0.180995 0.827160 -vt 0.180995 0.765432 -vt 0.158371 0.790123 -vt 0.158371 0.753086 -vt 0.158371 0.864198 -vt 0.158371 0.814815 -vt 0.158371 0.802469 -vt 0.158371 0.827160 -vt 0.158371 0.765432 -vt 0.158371 0.888889 -vt 0.158371 0.876543 -vt 0.158371 0.839506 -vt 0.158371 0.777778 -vt 0.158371 0.901235 -vt 0.158371 0.851852 -vt 0.135747 0.845679 -vt 0.135747 0.858025 -vt 0.135747 0.870370 -vt 0.135747 0.882716 -vt 0.135747 0.895062 -vt 0.135747 0.759259 -vt 0.135747 0.771605 -vt 0.135747 0.783951 -vt 0.135747 0.796296 -vt 0.135747 0.808642 -vt 0.135747 0.820988 -vt 0.135747 0.833333 -vt 0.746606 0.592593 -vt 0.692308 0.580247 -vt 0.746606 0.580247 -vt 0.746606 0.555556 -vt 0.692308 0.543210 -vt 0.746606 0.543210 -vt 0.746606 0.641975 -vt 0.692308 0.629630 -vt 0.746606 0.629630 -vt 0.746606 0.666667 -vt 0.692308 0.654321 -vt 0.746606 0.654321 -vt 0.746606 0.604938 -vt 0.692308 0.592593 -vt 0.746606 0.567901 -vt 0.692308 0.555556 -vt 0.692308 0.641975 -vt 0.746606 0.679012 -vt 0.692308 0.666667 -vt 0.746606 0.617284 -vt 0.692308 0.604938 -vt 0.692308 0.567901 -vt 0.746606 0.691358 -vt 0.692308 0.679012 -vt 0.692308 0.617284 -vt 0.692308 0.648148 -vt 0.671946 0.654321 -vt 0.671946 0.648148 -vt 0.692308 0.691358 -vt 0.671946 0.697531 -vt 0.671946 0.691358 -vt 0.692308 0.703704 -vt 0.671946 0.709877 -vt 0.671946 0.703704 -vt 0.692308 0.672840 -vt 0.671946 0.679012 -vt 0.671946 0.672840 -vt 0.692308 0.654321 -vt 0.671946 0.660494 -vt 0.692308 0.709877 -vt 0.671946 0.716049 -vt 0.692308 0.679012 -vt 0.671946 0.685185 -vt 0.692308 0.660494 -vt 0.671946 0.666667 -vt 0.692308 0.641975 -vt 0.671946 0.641975 -vt 0.692308 0.685185 -vt 0.692308 0.697531 -vt 0.692308 0.666667 -vt 0.886878 0.672840 -vt 0.923077 0.666667 -vt 0.923077 0.672840 -vt 0.843891 0.567901 -vt 0.934389 0.586420 -vt 0.934389 0.567901 -vt 0.843891 0.604938 -vt 0.934389 0.623457 -vt 0.934389 0.604938 -vt 0.843891 0.549383 -vt 0.934389 0.549383 -vt 0.850679 0.666667 -vt 0.886878 0.666667 -vt 0.886878 0.641975 -vt 0.850655 0.648888 -vt 0.850679 0.641975 -vt 0.886878 0.629630 -vt 0.850679 0.635802 -vt 0.850679 0.629630 -vt 0.850679 0.660494 -vt 0.886878 0.660494 -vt 0.886878 0.679012 -vt 0.850679 0.672840 -vt 0.886878 0.648148 -vt 0.850679 0.654321 -vt 0.886878 0.635802 -vt 0.886878 0.654321 -vt 0.923077 0.648148 -vt 0.923077 0.635802 -vt 0.923077 0.660494 -vt 0.923077 0.679012 -vt 0.923077 0.654321 -vt 0.923077 0.641975 -vt 0.954751 0.604938 -vt 0.952489 0.623457 -vt 0.952489 0.598765 -vt 0.947964 0.592593 -vt 0.945701 0.629630 -vt 0.945701 0.592593 -vt 0.943439 0.592593 -vt 0.941176 0.623457 -vt 0.941176 0.598765 -vt 0.938914 0.598765 -vt 0.936652 0.617284 -vt 0.936652 0.604938 -vt 0.950226 0.598765 -vt 0.950226 0.623457 -vt 0.947964 0.629630 -vt 0.943439 0.629630 -vt 0.938914 0.623457 -vt 0.952489 0.592593 -vt 0.954751 0.543210 -vt 0.954751 0.592593 -vt 0.947964 0.543210 -vt 0.941176 0.592593 -vt 0.943439 0.543210 -vt 0.936652 0.592593 -vt 0.938914 0.543210 -vt 0.938914 0.592593 -vt 0.950226 0.592593 -vt 0.952489 0.543210 -vt 0.950226 0.543210 -vt 0.945701 0.543210 -vt 0.941176 0.543210 -vt 0.941176 0.648148 -vt 0.941176 0.629630 -vt 0.938914 0.629630 -vt 0.936652 0.648148 -vt 0.936652 0.629630 -vt 0.952489 0.629630 -vt 0.950226 0.648148 -vt 0.950226 0.629630 -vt 0.947964 0.648148 -vt 0.943439 0.648148 -vt 0.938914 0.648148 -vt 0.954751 0.629630 -vt 0.952489 0.648148 -vt 0.945701 0.648148 -vt 0.952489 0.598765 -vt 0.954751 0.617284 -vt 0.952489 0.623457 -vt 0.945701 0.592593 -vt 0.947964 0.629630 -vt 0.945701 0.629630 -vt 0.943439 0.592593 -vt 0.941176 0.623457 -vt 0.941176 0.598765 -vt 0.936652 0.604938 -vt 0.938914 0.623457 -vt 0.936652 0.617284 -vt 0.950226 0.598765 -vt 0.950226 0.623457 -vt 0.947964 0.592593 -vt 0.943439 0.629630 -vt 0.938914 0.598765 -vt 0.952489 0.592593 -vt 0.954751 0.543210 -vt 0.954751 0.592593 -vt 0.947964 0.543210 -vt 0.941176 0.592593 -vt 0.943439 0.543210 -vt 0.936652 0.592593 -vt 0.938914 0.543210 -vt 0.938914 0.592593 -vt 0.950226 0.592593 -vt 0.952489 0.543210 -vt 0.950226 0.543210 -vt 0.945701 0.543210 -vt 0.941176 0.543210 -vt 0.941176 0.648148 -vt 0.941176 0.629630 -vt 0.938914 0.629630 -vt 0.936652 0.648148 -vt 0.936652 0.629630 -vt 0.952489 0.629630 -vt 0.950226 0.648148 -vt 0.950226 0.629630 -vt 0.947964 0.648148 -vt 0.943439 0.648148 -vt 0.938914 0.648148 -vt 0.954751 0.629630 -vt 0.952489 0.648148 -vt 0.945701 0.648148 vt 0.484163 0.950617 vt 0.606335 0.962963 vt 0.484163 0.962963 @@ -2495,7 +3418,6 @@ vt 0.357466 0.987654 vt 0.357466 0.962963 vt 0.380091 0.975309 vt 0.361991 0.962963 -vt -0.000000 0.296296 vt 0.934389 0.000000 vt 0.552036 0.296296 vt 0.552036 0.000000 @@ -2518,19 +3440,6 @@ vt 0.886878 0.308642 vt 0.886878 0.308642 vt 0.886878 0.308642 vt 0.886878 0.308642 -vt 0.180995 0.901235 -vt 0.692308 0.691358 -vt 0.692308 0.716049 -vt 0.843891 0.586420 -vt 0.843891 0.623457 -vt 0.850679 0.679012 -vt 0.923077 0.629630 -vt 0.954751 0.617284 -vt 0.936652 0.543210 -vt 0.954751 0.648148 -vt 0.954751 0.604938 -vt 0.936652 0.543210 -vt 0.954751 0.648148 vt 0.613122 0.901235 vt 0.002262 0.901235 vt 0.013575 0.901235 @@ -2544,63 +3453,29 @@ vt 0.289593 0.901235 vt 0.361991 1.000000 vt 0.350679 0.901235 vt 0.361991 0.975309 -vn 0.0000 0.0000 1.0000 vn 0.0000 0.0000 -1.0000 +vn -0.0000 0.0000 1.0000 vn -0.0000 1.0000 0.0000 -vn 1.0000 0.0000 0.0000 vn 0.0000 -1.0000 0.0000 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 -0.7071 -0.7071 +vn 1.0000 0.0000 0.0000 vn -1.0000 0.0000 0.0000 -vn 0.0000 0.8944 -0.4472 -vn 0.8660 0.5000 0.0000 -vn 0.7746 0.4472 -0.4472 -vn -0.5000 0.8660 0.0000 -vn 0.5000 -0.8660 0.0000 -vn 0.5000 0.8660 0.0000 -vn 0.4472 0.7746 -0.4472 -vn -0.8660 0.5000 0.0000 -vn 0.8660 -0.5000 0.0000 -vn -0.4472 0.7746 -0.4472 -vn -0.8660 -0.5000 0.0000 -vn -0.7746 0.4472 -0.4472 -vn -0.5000 -0.8660 0.0000 -vn 0.9487 -0.3162 0.0000 -vn -0.9487 -0.3162 0.0000 vn 0.0000 0.8944 0.4472 +vn -0.8660 0.5000 0.0000 vn -0.7746 0.4472 0.4472 +vn 0.5000 0.8660 0.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.5000 0.8660 0.0000 vn -0.4472 0.7746 0.4472 +vn 0.8660 0.5000 0.0000 +vn -0.8660 -0.5000 0.0000 vn 0.4472 0.7746 0.4472 +vn 0.8660 -0.5000 0.0000 vn 0.7746 0.4472 0.4472 -vn 0.9797 -0.2005 0.0000 -vn -0.6635 0.7482 0.0000 -vn 0.2773 0.4804 0.8321 -vn 0.2773 0.4804 -0.8321 -vn -0.9797 0.2005 0.0000 -vn 0.6635 -0.7482 0.0000 -vn -0.2773 -0.4804 0.8321 -vn -0.2773 -0.4804 -0.8321 -vn 0.3162 -0.9487 0.0000 -vn 0.3162 0.9487 0.0000 -vn 0.5547 0.0000 0.8320 -vn 0.5547 0.0000 -0.8321 -vn -0.3162 0.9487 0.0000 -vn -0.3162 -0.9487 0.0000 -vn -0.5547 0.0000 0.8320 -vn -0.5547 0.0000 -0.8321 -vn -0.6635 -0.7482 0.0000 -vn 0.9797 0.2005 0.0000 -vn 0.2773 -0.4804 0.8321 -vn 0.2773 -0.4804 -0.8321 -vn 0.6635 0.7482 0.0000 -vn -0.9797 -0.2005 0.0000 -vn -0.2773 0.4804 0.8321 -vn -0.2773 0.4804 -0.8321 -vn 0.5547 0.0000 0.8321 -vn -0.5547 0.0000 0.8321 +vn 0.5000 -0.8660 0.0000 +vn 0.0000 -0.7071 0.7071 vn -0.9960 -0.0890 0.0000 -vn 0.9960 -0.0890 0.0000 vn 0.9659 -0.2588 0.0000 +vn 0.9960 -0.0890 0.0000 vn 0.0000 -0.5000 -0.8660 vn -0.0000 -0.8660 -0.5000 vn -0.0000 -0.8660 0.5000 @@ -2633,86 +3508,6 @@ vn -0.0000 -0.8662 0.4997 vn 0.4331 -0.7501 0.4997 vn 0.7501 -0.4331 0.4997 vn 0.8662 -0.0000 0.4997 -vn -0.8656 -0.4998 0.0310 -vn 0.4998 0.8656 0.0310 -vn -0.4998 0.8656 0.0310 -vn 0.8656 -0.4998 0.0310 -vn -0.4998 -0.8656 0.0310 -vn -0.8656 0.4998 0.0310 -vn 0.9995 0.0000 0.0310 -vn -0.0000 -0.9995 0.0310 -vn -0.9995 -0.0000 0.0310 -vn 0.8656 0.4998 0.0310 -vn -0.0000 0.9995 0.0310 -vn 0.4998 -0.8656 0.0310 -vn 0.9735 0.0000 0.2289 -vn -0.0000 -0.9735 0.2289 -vn -0.9735 -0.0000 0.2289 -vn 0.4867 0.8430 0.2289 -vn 0.8430 0.4867 0.2289 -vn 0.0000 0.9735 0.2289 -vn 0.4867 -0.8430 0.2289 -vn -0.4867 -0.8430 0.2289 -vn -0.8430 -0.4867 0.2289 -vn -0.4867 0.8430 0.2289 -vn 0.8430 -0.4867 0.2289 -vn -0.8430 0.4867 0.2289 -vn -0.5079 -0.5470 0.6654 -vn -0.5119 -0.8570 0.0595 -vn -0.4901 -0.4877 0.7224 -vn 0.3536 0.6124 0.7071 -vn 0.4619 0.8001 0.3827 -vn -0.3536 -0.6124 0.7071 -vn -0.4619 -0.8001 0.3827 -vn 0.3536 0.6124 -0.7071 -vn -0.3536 -0.6124 -0.7071 -vn -0.4619 -0.8001 -0.3827 -vn 0.4619 0.8001 -0.3827 -vn -0.2198 -0.7134 0.6654 -vn -0.4862 -0.8718 0.0595 -vn -0.5119 -0.8570 -0.0595 -vn 0.4862 0.8718 -0.0595 -vn 0.2198 0.7134 -0.6654 -vn 0.5119 0.8570 0.0595 -vn 0.2100 -0.1213 0.9701 -vn 0.4901 0.4877 0.7224 -vn -0.5079 -0.5470 -0.6654 -vn -0.4901 -0.4877 -0.7224 -vn -0.1773 -0.6683 0.7224 -vn 0.1773 0.6683 -0.7224 -vn -0.2100 0.1213 -0.9701 -vn 0.5079 0.5470 0.6654 -vn 0.5119 0.8570 -0.0595 -vn 0.5079 0.5470 -0.6654 -vn 0.4901 0.4878 -0.7224 -vn -0.2100 0.1213 0.9701 -vn 0.1773 0.6683 0.7224 -vn 0.2198 0.7134 0.6654 -vn -0.4862 -0.8718 -0.0595 -vn -0.2198 -0.7134 -0.6654 -vn 0.2100 -0.1213 -0.9701 -vn 0.4862 0.8718 0.0595 -vn -0.1773 -0.6684 -0.7224 -vn -0.9074 -0.4202 0.0000 -vn -0.2820 -0.6233 -0.7294 -vn -0.6233 -0.2820 -0.7294 -vn 0.7023 0.3032 -0.6441 -vn 0.3532 0.9356 0.0000 -vn 0.9356 0.3532 -0.0000 -vn 0.7023 0.3032 0.6441 -vn 0.0899 0.0899 0.9919 -vn -0.6233 -0.2820 0.7294 -vn -0.4202 -0.9074 -0.0000 -vn 0.0899 0.0899 -0.9919 -vn 0.3032 0.7023 -0.6441 -vn 0.3032 0.7023 0.6441 -vn -0.2820 -0.6233 0.7294 -vn 0.7071 0.0000 -0.7071 -vn 0.7071 0.0000 0.7071 -vn -0.7071 0.0000 0.7071 -vn -0.7071 0.0000 -0.7071 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 0.7071 0.7071 vn 0.9987 0.0473 0.0196 vn 0.6737 0.7263 0.1363 vn 0.6794 0.7194 0.1448 @@ -2734,12 +3529,15 @@ vn -0.0671 0.9955 -0.0671 vn -0.5294 0.6630 -0.5294 vn 0.4617 0.7574 0.4617 vn -0.0671 -0.9955 -0.0671 +vn -0.7071 0.0000 -0.7071 vn 0.4617 -0.7574 0.4617 vn 0.1673 -0.9846 -0.0505 vn 0.2775 -0.7237 0.6318 vn -0.1673 -0.0505 -0.9846 +vn -0.0000 -0.7071 -0.7071 vn -0.2775 0.6318 -0.7237 vn -0.7203 0.6916 -0.0527 +vn -0.0000 0.7071 0.7071 vn 0.5294 -0.5294 0.6630 vn 0.0671 -0.0671 0.9955 vn -0.4617 0.4617 0.7574 @@ -2777,6 +3575,7 @@ vn 0.1448 0.7194 -0.6794 vn -0.1363 -0.6737 0.7263 vn -0.1363 -0.6737 -0.7263 vn -0.1448 -0.6794 -0.7194 +vn 0.7071 -0.0000 0.7071 vn -0.0196 -0.9987 -0.0473 vn 0.1363 0.7263 0.6737 vn -0.1448 0.6794 -0.7194 @@ -2814,6 +3613,7 @@ vn 0.0000 -0.1866 0.9824 vn -0.9987 -0.0196 0.0473 vn -0.7263 0.1363 -0.6737 vn 0.7263 0.1363 -0.6737 +vn 0.0000 0.7071 -0.7071 vn 0.6794 -0.1448 0.7194 vn -0.7263 0.6737 -0.1363 vn -0.6794 -0.7194 0.1448 @@ -2830,1607 +3630,866 @@ vn -0.7574 0.4617 -0.4617 vn 0.7263 0.6737 -0.1363 vn -0.9659 -0.2588 0.0000 s off -f 20/1/1 45/2/1 46/3/1 -f 29/4/2 54/5/2 53/6/2 -f 18/7/1 44/8/1 45/2/1 -f 14/9/1 44/8/1 16/10/1 -f 14/11/1 42/12/1 43/13/1 -f 12/14/1 41/15/1 42/12/1 -f 10/16/1 40/17/1 41/15/1 -f 24/18/1 38/19/1 2/20/1 -f 4/21/1 38/19/1 37/22/1 -f 8/23/1 39/24/1 40/17/1 -f 24/18/1 47/25/1 48/26/1 -f 4/21/1 39/24/1 6/27/1 -f 20/1/1 47/25/1 22/28/1 -f 28/29/2 53/6/2 52/30/2 -f 27/31/2 52/30/2 51/32/2 -f 26/33/2 51/32/2 49/34/2 -f 25/35/2 49/34/2 50/36/2 -f 25/35/2 60/37/2 36/38/2 -f 36/38/2 59/39/2 35/40/2 -f 35/40/2 58/41/2 34/42/2 -f 34/42/2 57/43/2 33/44/2 -f 33/44/2 56/45/2 32/46/2 -f 32/46/2 55/47/2 31/48/2 -f 30/49/2 55/50/2 54/5/2 -f 79/51/2 64/52/2 78/53/2 -f 62/54/2 79/51/2 80/55/2 -f 62/54/2 81/56/2 61/57/2 -f 61/57/2 68/58/2 72/59/2 -f 72/59/2 69/60/2 71/61/2 -f 70/62/2 69/60/2 77/63/2 -f 86/64/1 76/65/1 75/66/1 -f 74/67/1 86/64/1 75/66/1 -f 88/68/1 74/67/1 73/69/1 -f 67/70/1 73/69/1 84/71/1 -f 66/72/1 84/71/1 83/73/1 -f 66/72/1 82/74/1 65/75/1 -f 93/76/2 100/77/2 101/78/2 -f 100/77/2 95/79/2 99/80/2 -f 93/76/2 102/81/2 89/82/2 -f 90/83/2 89/82/2 102/81/2 -f 91/84/2 98/85/2 90/83/2 -f 96/86/2 91/84/2 92/87/2 -f 104/88/1 111/89/1 103/90/1 -f 111/89/1 112/91/1 103/90/1 -f 106/92/1 104/88/1 105/93/1 -f 107/94/1 105/93/1 115/95/1 -f 108/96/1 115/95/1 113/97/1 -f 108/96/1 114/98/1 109/99/1 -f 96/86/3 65/100/3 82/74/3 -f 85/101/3 95/79/3 76/65/3 -f 118/102/2 123/103/2 117/104/2 -f 121/105/2 118/102/2 124/106/2 -f 125/107/2 121/108/2 124/109/2 -f 125/107/2 119/110/2 120/111/2 -f 64/52/2 126/112/2 78/53/2 -f 77/63/2 123/103/2 70/62/2 -f 127/113/1 133/114/1 128/115/1 -f 133/114/1 129/116/1 128/115/1 -f 129/117/1 135/118/1 130/119/1 -f 135/118/1 131/120/1 130/119/1 -f 109/99/1 131/120/1 136/121/1 -f 132/122/1 112/91/1 110/123/1 -f 141/124/2 154/125/2 153/126/2 -f 140/127/2 153/126/2 152/128/2 -f 139/129/2 152/128/2 151/130/2 -f 138/131/2 151/130/2 149/132/2 -f 137/133/2 149/132/2 150/134/2 -f 137/133/2 160/135/2 148/136/2 -f 148/136/2 159/137/2 147/138/2 -f 147/138/2 158/139/2 146/140/2 -f 146/140/2 157/141/2 145/142/2 -f 145/142/2 156/143/2 144/144/2 -f 144/144/2 155/145/2 143/146/2 -f 142/147/2 155/148/2 154/125/2 -f 325/149/1 176/150/1 326/151/1 -f 345/152/1 324/153/1 346/154/1 -f 324/153/1 349/155/1 346/154/1 -f 349/156/1 322/157/1 348/158/1 -f 322/157/1 347/159/1 348/158/1 -f 320/160/1 347/159/1 321/161/1 -f 177/162/1 181/163/1 178/164/1 -f 181/163/1 179/165/1 178/164/1 -f 180/166/1 173/167/1 179/165/1 -f 329/168/1 174/169/1 173/167/1 -f 174/169/1 327/170/1 175/171/1 -f 327/170/1 176/150/1 175/171/1 -f 209/172/2 213/173/2 208/174/2 -f 210/175/2 214/176/2 209/172/2 -f 210/177/2 216/178/2 215/179/2 -f 216/178/2 212/180/2 217/181/2 -f 212/180/2 221/182/2 217/181/2 -f 220/183/2 208/174/2 213/173/2 -f 198/184/2 225/185/2 226/186/2 -f 197/187/2 226/186/2 228/188/2 -f 197/187/2 227/189/2 196/190/2 -f 202/191/2 227/189/2 222/192/2 -f 201/193/2 222/192/2 223/194/2 -f 200/195/2 223/194/2 224/196/2 -f 224/197/3 219/198/3 200/195/3 -f 218/199/3 225/200/3 199/201/3 -f 231/202/3 230/203/3 229/204/3 -f 241/205/4 243/206/4 239/207/4 -f 244/208/5 233/209/5 234/210/5 -f 260/211/2 275/212/2 237/213/2 -f 261/214/5 237/213/5 238/215/5 -f 240/216/3 241/205/3 239/207/3 -f 233/209/1 242/217/1 234/218/1 -f 234/219/4 237/213/4 230/203/4 -f 242/220/4 238/215/4 237/213/4 -f 244/221/2 239/207/2 243/206/2 -f 245/222/1 247/223/1 246/224/1 -f 270/225/6 249/226/6 247/223/6 -f 271/227/7 238/228/7 248/229/7 -f 247/230/4 249/231/4 240/232/4 -f 272/233/5 248/229/5 249/226/5 -f 405/234/4 407/235/4 232/236/4 -f 278/237/1 285/238/1 279/239/1 -f 253/240/3 254/241/3 252/242/3 -f 266/243/8 264/244/8 262/245/8 -f 256/246/5 267/247/5 257/248/5 -f 264/244/3 263/249/3 262/245/3 -f 265/250/1 256/246/1 257/251/1 -f 257/252/8 260/211/8 265/253/8 -f 261/214/8 265/253/8 260/211/8 -f 262/245/2 267/254/2 266/243/2 -f 272/255/8 270/256/8 263/257/8 -f 403/258/5 405/234/5 408/259/5 -f 279/239/3 280/260/3 278/237/3 -f 230/261/2 237/213/2 250/262/2 -f 281/263/9 282/264/9 280/260/9 -f 273/265/2 260/211/2 253/266/2 -f 280/260/8 284/267/8 278/237/8 -f 285/268/4 281/263/4 279/239/4 -f 286/269/1 293/270/1 287/271/1 -f 287/271/10 288/272/10 286/269/10 -f 289/273/11 290/274/11 288/272/11 -f 288/272/12 292/275/12 286/269/12 -f 293/276/13 289/273/13 287/271/13 -f 294/277/1 301/278/1 295/279/1 -f 295/279/14 296/280/14 294/277/14 -f 297/281/15 298/282/15 296/280/15 -f 296/280/16 300/283/16 294/277/16 -f 301/284/17 297/281/17 295/279/17 -f 303/285/1 308/286/1 309/287/1 -f 303/285/12 304/288/12 302/289/12 -f 305/290/18 306/291/18 304/288/18 -f 304/288/19 308/292/19 302/289/19 -f 309/293/10 305/290/10 303/285/10 -f 310/294/1 317/295/1 311/296/1 -f 311/296/16 312/297/16 310/294/16 -f 312/297/20 315/298/20 314/299/20 -f 312/297/21 316/300/21 310/294/21 -f 317/301/14 313/302/14 311/296/14 -f 319/303/5 330/304/5 236/305/5 -f 332/306/4 336/307/4 259/308/4 -f 337/309/8 333/310/8 318/311/8 -f 319/303/1 236/305/1 344/312/1 -f 339/313/1 236/305/1 259/314/1 -f 318/315/1 319/303/1 342/316/1 -f 334/317/5 357/318/5 359/319/5 -f 360/320/3 259/308/3 336/307/3 -f 318/311/3 361/321/3 337/309/3 -f 362/322/5 333/323/5 335/324/5 -f 374/325/4 370/326/4 386/327/4 -f 389/328/5 363/329/5 364/330/5 -f 379/331/8 383/332/8 387/333/8 -f 397/334/5 396/335/5 395/336/5 -f 363/329/1 392/337/1 364/338/1 -f 390/339/4 391/340/4 363/329/4 -f 389/341/2 394/342/2 390/339/2 -f 364/338/8 393/343/8 389/344/8 -f 401/345/3 399/346/3 400/347/3 -f 397/348/2 402/349/2 398/350/2 -f 396/335/1 400/351/1 395/352/1 -f 398/350/4 401/345/4 396/335/4 -f 395/353/8 399/354/8 397/348/8 -f 408/259/1 410/355/1 409/356/1 -f 245/222/5 407/357/5 411/358/5 -f 406/359/5 268/360/5 412/361/5 -f 235/362/1 405/234/1 232/363/1 -f 255/364/1 408/259/1 258/365/1 -f 246/366/4 244/367/4 230/203/4 -f 267/368/8 269/369/8 253/240/8 -f 412/361/2 403/370/2 406/359/2 -f 417/371/5 416/372/5 415/373/5 -f 422/374/22 416/372/22 418/375/22 -f 419/376/23 417/371/23 415/373/23 -f 418/375/2 417/371/2 425/377/2 -f 423/378/1 415/373/1 416/372/1 -f 464/379/3 465/380/3 463/381/3 -f 466/382/24 467/383/24 465/380/24 -f 465/380/4 469/384/4 463/381/4 -f 470/385/8 466/382/8 464/379/8 -f 472/386/16 473/387/16 471/388/16 -f 474/389/25 475/390/25 473/387/25 -f 473/387/14 477/391/14 471/388/14 -f 478/392/21 474/389/21 472/386/21 -f 480/393/12 481/394/12 479/395/12 -f 482/396/26 483/397/26 481/394/26 -f 481/394/10 485/398/10 479/395/10 -f 486/399/19 482/396/19 480/393/19 -f 488/400/14 489/401/14 487/402/14 -f 490/403/27 491/404/27 489/401/27 -f 489/401/17 493/405/17 487/402/17 -f 494/406/16 490/403/16 488/400/16 -f 496/407/10 497/408/10 495/409/10 -f 498/410/28 499/411/28 497/408/28 -f 497/408/13 501/412/13 495/409/13 -f 502/413/12 498/410/12 496/407/12 -f 507/414/2 505/415/2 513/416/2 -f 540/417/29 543/418/29 541/419/29 -f 542/420/14 544/421/14 546/422/14 -f 545/423/30 546/422/30 544/421/30 -f 543/424/31 546/422/31 547/425/31 -f 545/426/32 540/417/32 541/427/32 -f 551/428/2 556/429/2 555/430/2 -f 910/431/8 925/432/8 909/433/8 -f 550/434/2 557/435/2 552/436/2 -f 905/437/5 915/438/5 910/431/5 -f 567/439/2 565/440/2 561/441/2 -f 575/442/1 579/443/1 572/444/1 -f 617/445/2 629/446/2 611/447/2 -f 607/448/2 625/449/2 613/450/2 -f 608/451/16 633/452/16 607/448/16 -f 608/451/16 627/453/16 634/454/16 -f 609/455/16 628/456/16 627/453/16 -f 611/447/16 628/456/16 610/457/16 -f 620/458/17 617/445/17 616/459/17 -f 619/460/17 616/459/17 615/461/17 -f 626/462/17 615/461/17 614/463/17 -f 625/464/17 614/463/17 613/450/17 -f 649/465/17 650/466/17 646/467/17 -f 236/305/4 332/306/4 259/308/4 -f 333/310/8 319/303/8 318/311/8 -f 332/468/2 899/469/2 357/318/2 -f 900/470/2 333/471/2 358/472/2 -f 901/473/3 898/474/3 356/475/3 -f 330/304/4 898/476/4 236/305/4 -f 357/318/4 901/473/4 359/319/4 -f 897/477/3 902/478/3 355/479/3 -f 897/480/8 331/481/8 319/303/8 -f 902/478/8 358/472/8 362/322/8 -f 910/431/2 913/482/2 905/437/2 -f 904/483/2 905/437/2 906/484/2 -f 911/485/2 910/431/2 909/486/2 -f 921/487/3 916/488/3 918/489/3 -f 922/490/3 919/491/3 917/492/3 -f 927/493/4 920/494/4 921/487/4 -f 919/495/1 929/496/1 925/497/1 -f 928/498/8 923/499/8 922/490/8 -f 924/500/1 921/487/1 918/501/1 -f 549/502/8 925/432/8 548/503/8 -f 931/504/4 924/505/4 904/506/4 -f 908/507/3 549/502/3 554/508/3 -f 915/438/8 919/509/8 910/431/8 -f 931/504/3 903/510/3 932/511/3 -f 927/493/5 930/512/5 926/513/5 -f 905/437/4 924/505/4 918/514/4 -f 918/514/4 914/515/4 905/437/4 -f 551/428/8 936/516/8 553/517/8 -f 550/434/5 940/518/5 558/519/5 -f 555/520/5 934/521/5 551/428/5 -f 557/522/3 935/523/3 552/436/3 -f 552/436/4 933/524/4 550/434/4 -f 553/517/3 938/525/3 556/526/3 -f 944/527/4 943/528/4 941/529/4 -f 950/530/8 952/531/8 947/532/8 -f 946/533/6 951/534/6 945/535/6 -f 944/536/6 949/537/6 943/528/6 -f 942/538/2 947/532/2 941/529/2 -f 956/539/4 955/540/4 953/541/4 -f 945/535/5 950/542/5 944/527/5 -f 943/528/5 948/543/5 942/538/5 -f 962/544/8 964/545/8 959/546/8 -f 958/547/6 963/548/6 957/549/6 -f 956/550/6 961/551/6 955/540/6 -f 954/552/2 959/546/2 953/541/2 -f 957/549/5 962/553/5 956/539/5 -f 955/540/5 960/554/5 954/552/5 -f 971/555/2 968/556/2 967/557/2 -f 970/558/1 965/559/1 966/560/1 -f 972/561/5 966/560/5 968/562/5 -f 969/563/3 967/557/3 965/559/3 -f 404/564/2 411/358/2 407/357/2 -f 413/565/2 404/564/2 403/370/2 -f 270/225/1 268/360/1 269/566/1 -f 406/567/8 408/259/8 255/568/8 -f 277/569/1 270/225/1 247/223/1 -f 985/570/33 988/571/33 986/572/33 -f 987/573/21 989/574/21 991/575/21 -f 990/576/34 991/575/34 989/574/34 -f 988/577/35 991/575/35 992/578/35 -f 986/579/36 989/574/36 985/570/36 -f 993/580/37 996/581/37 994/582/37 -f 995/583/4 997/584/4 999/585/4 -f 998/586/38 999/585/38 997/584/38 -f 996/587/39 999/585/39 1000/588/39 -f 998/589/40 993/580/40 994/590/40 -f 1001/591/41 1004/592/41 1002/593/41 -f 1003/594/8 1005/595/8 1007/596/8 -f 1006/597/42 1007/596/42 1005/595/42 -f 1004/598/43 1007/596/43 1008/599/43 -f 1006/600/44 1001/591/44 1002/601/44 -f 1010/602/45 1011/603/45 1012/604/45 -f 1011/603/13 1013/605/13 1015/606/13 -f 1014/607/46 1015/606/46 1013/605/46 -f 1012/608/47 1015/606/47 1016/609/47 -f 1014/610/48 1009/611/48 1010/612/48 -f 1017/613/49 1020/614/49 1018/615/49 -f 1019/616/12 1021/617/12 1023/618/12 -f 1022/619/50 1023/618/50 1021/617/50 -f 1020/620/51 1023/618/51 1024/621/51 -f 1018/622/52 1021/617/52 1017/613/52 -f 925/623/5 928/498/5 548/624/5 -f 20/1/1 18/7/1 45/2/1 -f 29/4/2 30/49/2 54/5/2 -f 18/7/1 16/10/1 44/8/1 -f 14/9/1 43/625/1 44/8/1 -f 14/11/1 12/14/1 42/12/1 -f 12/14/1 10/16/1 41/15/1 -f 10/16/1 8/23/1 40/17/1 -f 24/18/1 48/26/1 38/19/1 -f 4/21/1 2/20/1 38/19/1 -f 8/23/1 6/27/1 39/24/1 -f 24/18/1 22/28/1 47/25/1 -f 4/21/1 37/22/1 39/24/1 -f 20/1/1 46/3/1 47/25/1 -f 28/29/2 29/4/2 53/6/2 -f 27/31/2 28/29/2 52/30/2 -f 26/33/2 27/31/2 51/32/2 -f 25/35/2 26/33/2 49/34/2 -f 25/35/2 50/36/2 60/37/2 -f 36/38/2 60/37/2 59/39/2 -f 35/40/2 59/39/2 58/41/2 -f 34/42/2 58/41/2 57/43/2 -f 33/44/2 57/43/2 56/45/2 -f 32/46/2 56/45/2 55/47/2 -f 30/49/2 31/626/2 55/50/2 -f 79/51/2 63/627/2 64/52/2 -f 62/54/2 63/627/2 79/51/2 -f 62/54/2 80/55/2 81/56/2 -f 61/57/2 81/56/2 68/58/2 -f 72/59/2 68/58/2 69/60/2 -f 70/62/2 71/61/2 69/60/2 -f 86/64/1 85/628/1 76/65/1 -f 74/67/1 87/629/1 86/64/1 -f 88/68/1 87/629/1 74/67/1 -f 67/70/1 88/68/1 73/69/1 -f 66/72/1 67/70/1 84/71/1 -f 66/72/1 83/73/1 82/74/1 -f 93/76/2 94/630/2 100/77/2 -f 100/77/2 94/630/2 95/79/2 -f 93/76/2 101/78/2 102/81/2 -f 90/83/2 98/85/2 89/82/2 -f 91/84/2 97/631/2 98/85/2 -f 96/86/2 97/631/2 91/84/2 -f 104/88/1 116/632/1 111/89/1 -f 111/89/1 110/123/1 112/91/1 -f 106/92/1 116/632/1 104/88/1 -f 107/94/1 106/92/1 105/93/1 -f 108/96/1 107/94/1 115/95/1 -f 108/96/1 113/97/1 114/98/1 -f 96/86/3 92/633/3 65/100/3 -f 85/101/3 99/634/3 95/79/3 -f 118/102/2 122/635/2 123/103/2 -f 121/105/2 122/635/2 118/102/2 -f 125/107/2 120/111/2 121/108/2 -f 125/107/2 126/112/2 119/110/2 -f 64/52/2 119/110/2 126/112/2 -f 77/63/2 117/104/2 123/103/2 -f 127/113/1 132/122/1 133/114/1 -f 133/114/1 134/636/1 129/116/1 -f 129/117/1 134/637/1 135/118/1 -f 135/118/1 136/121/1 131/120/1 -f 109/99/1 114/98/1 131/120/1 -f 132/122/1 127/113/1 112/91/1 -f 141/124/2 142/147/2 154/125/2 -f 140/127/2 141/124/2 153/126/2 -f 139/129/2 140/127/2 152/128/2 -f 138/131/2 139/129/2 151/130/2 -f 137/133/2 138/131/2 149/132/2 -f 137/133/2 150/134/2 160/135/2 -f 148/136/2 160/135/2 159/137/2 -f 147/138/2 159/137/2 158/139/2 -f 146/140/2 158/139/2 157/141/2 -f 145/142/2 157/141/2 156/143/2 -f 144/144/2 156/143/2 155/145/2 -f 142/147/2 143/638/2 155/148/2 -f 325/149/1 345/152/1 176/150/1 -f 345/152/1 325/149/1 324/153/1 -f 324/153/1 323/639/1 349/155/1 -f 349/156/1 323/640/1 322/157/1 -f 322/157/1 321/161/1 347/159/1 -f 320/160/1 177/162/1 347/159/1 -f 177/162/1 320/160/1 181/163/1 -f 181/163/1 180/166/1 179/165/1 -f 180/166/1 329/168/1 173/167/1 -f 329/168/1 328/641/1 174/169/1 -f 174/169/1 328/641/1 327/170/1 -f 327/170/1 326/151/1 176/150/1 -f 209/172/2 214/176/2 213/173/2 -f 210/175/2 215/642/2 214/176/2 -f 210/177/2 211/643/2 216/178/2 -f 216/178/2 211/643/2 212/180/2 -f 212/180/2 219/198/2 221/182/2 -f 220/183/2 218/199/2 208/174/2 -f 198/184/2 199/201/2 225/185/2 -f 197/187/2 198/184/2 226/186/2 -f 197/187/2 228/188/2 227/189/2 -f 202/191/2 196/190/2 227/189/2 -f 201/193/2 202/191/2 222/192/2 -f 200/195/2 201/193/2 223/194/2 -f 224/197/3 221/644/3 219/198/3 -f 218/199/3 220/645/3 225/200/3 -f 231/202/3 232/236/3 230/203/3 -f 241/205/4 233/209/4 243/206/4 -f 244/208/5 243/206/5 233/209/5 -f 260/211/2 274/646/2 275/212/2 -f 275/212/2 251/647/2 237/213/2 -f 261/214/5 260/211/5 237/213/5 -f 240/216/3 242/648/3 241/205/3 -f 233/209/1 241/205/1 242/217/1 -f 234/219/4 242/220/4 237/213/4 -f 242/220/4 240/232/4 238/215/4 -f 244/221/2 240/649/2 239/207/2 -f 245/222/1 277/569/1 247/223/1 -f 270/225/6 272/233/6 249/226/6 -f 271/227/7 261/650/7 238/228/7 -f 238/215/4 240/232/4 248/651/4 -f 240/232/4 244/367/4 246/366/4 -f 248/651/4 240/232/4 249/231/4 -f 246/366/4 247/230/4 240/232/4 -f 272/233/5 271/227/5 248/229/5 -f 405/234/4 404/652/4 407/235/4 -f 278/237/1 284/653/1 285/238/1 -f 253/240/3 255/568/3 254/241/3 -f 266/243/8 256/246/8 264/244/8 -f 256/246/5 266/243/5 267/247/5 -f 264/244/3 265/654/3 263/249/3 -f 265/250/1 264/244/1 256/246/1 -f 257/252/8 253/240/8 260/211/8 -f 261/214/8 263/257/8 265/253/8 -f 262/245/2 263/655/2 267/254/2 -f 267/368/8 263/257/8 269/369/8 -f 263/257/8 261/214/8 271/656/8 -f 269/369/8 263/257/8 270/256/8 -f 271/656/8 272/255/8 263/257/8 -f 403/258/5 404/652/5 405/234/5 -f 279/239/3 281/263/3 280/260/3 -f 250/262/2 229/657/2 230/261/2 -f 237/213/2 251/647/2 250/262/2 -f 281/263/9 283/658/9 282/264/9 -f 253/266/2 252/659/2 273/265/2 -f 273/265/2 274/646/2 260/211/2 -f 280/260/8 282/660/8 284/267/8 -f 285/268/4 283/661/4 281/263/4 -f 286/269/1 292/662/1 293/270/1 -f 287/271/10 289/273/10 288/272/10 -f 289/273/11 291/663/11 290/274/11 -f 288/272/12 290/664/12 292/275/12 -f 293/276/13 291/665/13 289/273/13 -f 294/277/1 300/666/1 301/278/1 -f 295/279/14 297/281/14 296/280/14 -f 297/281/15 299/667/15 298/282/15 -f 296/280/16 298/668/16 300/283/16 -f 301/284/17 299/669/17 297/281/17 -f 303/285/1 302/289/1 308/286/1 -f 303/285/12 305/290/12 304/288/12 -f 305/290/18 307/670/18 306/291/18 -f 304/288/19 306/671/19 308/292/19 -f 309/293/10 307/672/10 305/290/10 -f 310/294/1 316/673/1 317/295/1 -f 311/296/16 313/302/16 312/297/16 -f 312/297/20 313/302/20 315/298/20 -f 312/297/21 314/674/21 316/300/21 -f 317/301/14 315/675/14 313/302/14 -f 319/303/5 331/481/5 330/304/5 -f 332/306/4 334/676/4 336/307/4 -f 337/309/8 335/677/8 333/310/8 -f 236/305/1 340/678/1 344/312/1 -f 344/312/1 343/679/1 319/303/1 -f 259/314/1 338/680/1 339/313/1 -f 339/313/1 340/678/1 236/305/1 -f 342/316/1 341/681/1 318/315/1 -f 319/303/1 343/679/1 342/316/1 -f 334/317/5 332/682/5 357/318/5 -f 360/320/3 338/683/3 259/308/3 -f 318/311/3 341/684/3 361/321/3 -f 362/322/5 358/472/5 333/323/5 -f 370/326/4 368/685/4 366/686/4 -f 366/686/4 388/687/4 370/326/4 -f 388/687/4 386/327/4 370/326/4 -f 386/327/4 384/688/4 378/689/4 -f 384/688/4 382/690/4 378/689/4 -f 382/690/4 380/691/4 378/689/4 -f 378/689/4 376/692/4 374/325/4 -f 374/325/4 372/693/4 370/326/4 -f 378/689/4 374/325/4 386/327/4 -f 389/328/5 390/339/5 363/329/5 -f 387/333/8 365/694/8 367/695/8 -f 367/695/8 369/696/8 371/697/8 -f 371/697/8 373/698/8 379/331/8 -f 373/698/8 375/699/8 379/331/8 -f 375/699/8 377/700/8 379/331/8 -f 379/331/8 381/701/8 383/332/8 -f 383/332/8 385/702/8 387/333/8 -f 387/333/8 367/695/8 379/331/8 -f 367/695/8 371/697/8 379/331/8 -f 397/334/5 398/350/5 396/335/5 -f 363/329/1 391/340/1 392/337/1 -f 390/339/4 394/342/4 391/340/4 -f 389/341/2 393/703/2 394/342/2 -f 364/338/8 392/337/8 393/343/8 -f 401/345/3 402/349/3 399/346/3 -f 397/348/2 399/354/2 402/349/2 -f 396/335/1 401/345/1 400/351/1 -f 398/350/4 402/349/4 401/345/4 -f 395/353/8 400/704/8 399/354/8 -f 408/259/1 405/234/1 410/355/1 -f 245/222/5 246/224/5 407/357/5 -f 406/359/5 269/566/5 268/360/5 -f 232/363/1 231/705/1 235/362/1 -f 235/362/1 410/355/1 405/234/1 -f 258/365/1 254/706/1 255/364/1 -f 408/259/1 409/356/1 258/365/1 -f 232/236/4 407/235/4 246/366/4 -f 244/367/4 234/219/4 230/203/4 -f 232/236/4 246/366/4 230/203/4 -f 269/369/8 406/567/8 255/568/8 -f 255/568/8 253/240/8 269/369/8 -f 253/240/8 257/252/8 267/368/8 -f 412/361/2 413/565/2 403/370/2 -f 417/371/5 418/375/5 416/372/5 -f 422/374/22 420/707/22 416/372/22 -f 419/376/23 421/708/23 417/371/23 -f 426/709/2 422/710/2 418/375/2 -f 417/371/2 421/711/2 425/377/2 -f 425/377/2 426/709/2 418/375/2 -f 416/372/1 420/712/1 424/713/1 -f 423/378/1 419/714/1 415/373/1 -f 416/372/1 424/713/1 423/378/1 -f 464/379/3 466/382/3 465/380/3 -f 466/382/24 468/715/24 467/383/24 -f 465/380/4 467/716/4 469/384/4 -f 470/385/8 468/717/8 466/382/8 -f 472/386/16 474/389/16 473/387/16 -f 474/389/25 476/718/25 475/390/25 -f 473/387/14 475/719/14 477/391/14 -f 478/392/21 476/720/21 474/389/21 -f 480/393/12 482/396/12 481/394/12 -f 482/396/26 484/721/26 483/397/26 -f 481/394/10 483/722/10 485/398/10 -f 486/399/19 484/723/19 482/396/19 -f 488/400/14 490/403/14 489/401/14 -f 490/403/27 492/724/27 491/404/27 -f 489/401/17 491/725/17 493/405/17 -f 494/406/16 492/726/16 490/403/16 -f 496/407/10 498/410/10 497/408/10 -f 498/410/28 500/727/28 499/411/28 -f 497/408/13 499/728/13 501/412/13 -f 502/413/12 500/729/12 498/410/12 -f 505/415/2 504/730/2 513/416/2 -f 504/730/2 503/731/2 513/416/2 -f 503/731/2 514/732/2 513/416/2 -f 513/416/2 512/733/2 511/734/2 -f 511/734/2 510/735/2 509/736/2 -f 509/736/2 508/737/2 507/414/2 -f 507/414/2 506/738/2 505/415/2 -f 513/416/2 511/734/2 509/736/2 -f 509/736/2 507/414/2 513/416/2 -f 540/417/29 542/420/29 543/418/29 -f 542/420/14 540/417/14 544/421/14 -f 545/423/30 547/739/30 546/422/30 -f 543/424/31 542/420/31 546/422/31 -f 545/426/32 544/421/32 540/417/32 -f 551/428/2 553/517/2 556/429/2 -f 910/431/8 919/509/8 925/432/8 -f 550/434/2 558/740/2 557/435/2 -f 905/437/5 914/515/5 915/438/5 -f 561/441/2 560/741/2 559/742/2 -f 559/742/2 570/743/2 561/441/2 -f 570/743/2 569/744/2 561/441/2 -f 569/744/2 568/745/2 567/439/2 -f 567/439/2 566/746/2 565/440/2 -f 565/440/2 564/747/2 561/441/2 -f 564/747/2 563/748/2 561/441/2 -f 563/748/2 562/749/2 561/441/2 -f 569/744/2 567/439/2 561/441/2 -f 572/444/1 571/750/1 575/442/1 -f 571/750/1 573/751/1 575/442/1 -f 573/751/1 574/752/1 575/442/1 -f 575/442/1 576/753/1 579/443/1 -f 576/753/1 577/754/1 579/443/1 -f 577/754/1 578/755/1 579/443/1 -f 579/443/1 580/756/1 581/757/1 -f 581/757/1 582/758/1 579/443/1 -f 582/758/1 572/444/1 579/443/1 -f 617/445/2 621/759/2 629/446/2 -f 607/448/2 633/760/2 625/449/2 -f 608/451/16 634/454/16 633/452/16 -f 608/451/16 609/455/16 627/453/16 -f 609/455/16 610/457/16 628/456/16 -f 611/447/16 629/761/16 628/456/16 -f 620/458/17 621/762/17 617/445/17 -f 619/460/17 620/458/17 616/459/17 -f 626/462/17 619/460/17 615/461/17 -f 625/464/17 626/462/17 614/463/17 -f 650/466/17 643/763/17 644/764/17 -f 644/764/17 645/765/17 650/466/17 -f 645/765/17 646/467/17 650/466/17 -f 646/467/17 647/766/17 648/767/17 -f 648/767/17 649/465/17 646/467/17 -f 236/305/4 898/476/4 332/306/4 -f 333/310/8 897/480/8 319/303/8 -f 332/468/2 898/768/2 899/469/2 -f 900/470/2 897/769/2 333/471/2 -f 901/473/3 899/469/3 898/474/3 -f 330/304/4 356/770/4 898/476/4 -f 357/318/4 899/469/4 901/473/4 -f 897/477/3 900/470/3 902/478/3 -f 897/480/8 355/771/8 331/481/8 -f 902/478/8 900/470/8 358/472/8 -f 910/431/2 912/772/2 913/482/2 -f 913/482/2 907/773/2 905/437/2 -f 906/484/2 903/774/2 904/483/2 -f 905/437/2 907/773/2 906/484/2 -f 909/486/2 908/775/2 911/485/2 -f 911/485/2 912/772/2 910/431/2 -f 921/487/3 920/494/3 916/488/3 -f 922/490/3 923/499/3 919/491/3 -f 927/493/4 926/513/4 920/494/4 -f 919/495/1 923/499/1 929/496/1 -f 928/498/8 929/496/8 923/499/8 -f 924/500/1 927/493/1 921/487/1 -f 549/502/8 909/433/8 925/432/8 -f 931/504/4 930/776/4 924/505/4 -f 908/507/3 909/433/3 549/502/3 -f 915/438/8 917/777/8 919/509/8 -f 931/504/3 904/506/3 903/510/3 -f 927/493/5 924/778/5 930/512/5 -f 905/437/4 904/506/4 924/505/4 -f 918/514/4 916/779/4 914/515/4 -f 551/428/8 934/521/8 936/516/8 -f 550/434/5 933/524/5 940/518/5 -f 555/520/5 937/780/5 934/521/5 -f 557/522/3 939/781/3 935/523/3 -f 552/436/4 935/523/4 933/524/4 -f 553/517/3 936/516/3 938/525/3 -f 943/528/4 942/538/4 941/529/4 -f 941/529/4 946/782/4 944/527/4 -f 946/782/4 945/535/4 944/527/4 -f 947/532/8 948/783/8 949/784/8 -f 950/530/8 951/785/8 952/531/8 -f 947/532/8 949/784/8 950/530/8 -f 946/533/6 952/786/6 951/534/6 -f 944/536/6 950/787/6 949/537/6 -f 942/538/2 948/783/2 947/532/2 -f 955/540/4 954/552/4 953/541/4 -f 953/541/4 958/788/4 956/539/4 -f 958/788/4 957/549/4 956/539/4 -f 945/535/5 951/534/5 950/542/5 -f 943/528/5 949/537/5 948/543/5 -f 959/546/8 960/789/8 961/790/8 -f 962/544/8 963/791/8 964/545/8 -f 959/546/8 961/790/8 962/544/8 -f 958/547/6 964/792/6 963/548/6 -f 956/550/6 962/793/6 961/551/6 -f 954/552/2 960/789/2 959/546/2 -f 957/549/5 963/548/5 962/553/5 -f 955/540/5 961/551/5 960/554/5 -f 971/555/2 972/794/2 968/556/2 -f 970/558/1 969/563/1 965/559/1 -f 972/561/5 970/558/5 966/560/5 -f 969/563/3 971/555/3 967/557/3 -f 404/564/2 414/795/2 411/358/2 -f 413/565/2 414/795/2 404/564/2 -f 270/225/1 276/796/1 268/360/1 -f 406/567/8 403/258/8 408/259/8 -f 277/569/1 276/796/1 270/225/1 -f 985/570/33 987/573/33 988/571/33 -f 987/573/21 985/570/21 989/574/21 -f 990/576/34 992/797/34 991/575/34 -f 988/577/35 987/573/35 991/575/35 -f 986/579/36 990/798/36 989/574/36 -f 993/580/37 995/583/37 996/581/37 -f 995/583/4 993/580/4 997/584/4 -f 998/586/38 1000/799/38 999/585/38 -f 996/587/53 995/583/53 999/585/53 -f 998/589/40 997/584/40 993/580/40 -f 1001/591/41 1003/594/41 1004/592/41 -f 1003/594/8 1001/591/8 1005/595/8 -f 1006/597/42 1008/800/42 1007/596/42 -f 1004/598/54 1003/594/54 1007/596/54 -f 1006/600/44 1005/595/44 1001/591/44 -f 1010/602/45 1009/611/45 1011/603/45 -f 1011/603/13 1009/611/13 1013/605/13 -f 1014/607/46 1016/801/46 1015/606/46 -f 1012/608/47 1011/603/47 1015/606/47 -f 1014/610/48 1013/605/48 1009/611/48 -f 1017/613/49 1019/616/49 1020/614/49 -f 1019/616/12 1017/613/12 1021/617/12 -f 1022/619/50 1024/802/50 1023/618/50 -f 1020/620/51 1019/616/51 1023/618/51 -f 1018/622/52 1022/803/52 1021/617/52 -f 925/623/5 929/496/5 928/498/5 +f 493/699/160 506/700/160 505/701/160 +f 492/702/160 505/701/160 504/703/160 +f 491/704/160 504/703/160 503/705/160 +f 490/706/160 503/705/160 501/707/160 +f 489/708/160 501/707/160 502/709/160 +f 489/708/160 512/710/160 500/711/160 +f 500/711/160 511/712/160 499/713/160 +f 499/713/160 510/714/160 498/715/160 +f 498/715/160 509/716/160 497/717/160 +f 497/717/160 508/718/160 496/719/160 +f 496/719/160 507/720/160 495/721/160 +f 494/722/160 507/723/160 506/700/160 +f 590/724/161 528/725/161 591/726/161 +f 610/727/161 589/728/161 611/729/161 +f 589/728/161 614/730/161 611/729/161 +f 614/731/161 587/732/161 613/733/161 +f 587/732/161 612/734/161 613/733/161 +f 585/735/161 612/734/161 586/736/161 +f 529/737/161 533/738/161 530/739/161 +f 533/738/161 531/740/161 530/739/161 +f 532/741/161 525/742/161 531/740/161 +f 594/743/161 526/744/161 525/742/161 +f 526/744/161 592/745/161 527/746/161 +f 592/745/161 528/725/161 527/746/161 +f 561/747/160 565/748/160 560/749/160 +f 562/750/160 566/751/160 561/747/160 +f 562/752/160 568/753/160 567/754/160 +f 568/753/160 564/755/160 569/756/160 +f 564/755/160 573/757/160 569/756/160 +f 572/758/160 560/749/160 565/748/160 +f 550/759/160 577/760/160 578/761/160 +f 549/762/160 578/761/160 580/763/160 +f 549/762/160 579/764/160 548/765/160 +f 554/766/160 579/764/160 574/767/160 +f 553/768/160 574/767/160 575/769/160 +f 552/770/160 575/769/160 576/771/160 +f 576/772/162 571/773/162 552/770/162 +f 570/774/162 577/775/162 551/776/162 +f 584/777/163 595/778/163 581/779/163 +f 597/780/164 601/781/164 582/782/164 +f 602/783/165 598/784/165 583/785/165 +f 584/777/161 581/779/161 609/786/161 +f 604/787/161 581/779/161 582/788/161 +f 583/789/161 584/777/161 607/790/161 +f 599/791/163 622/792/163 624/793/163 +f 625/794/162 582/782/162 601/781/162 +f 583/785/162 626/795/162 602/783/162 +f 627/796/163 598/797/163 600/798/163 +f 639/799/164 635/800/164 651/801/164 +f 654/802/163 628/803/163 629/804/163 +f 644/805/165 648/806/165 652/807/165 +f 662/808/163 661/809/163 660/810/163 +f 628/803/161 657/811/161 629/812/161 +f 655/813/164 656/814/164 628/803/164 +f 654/815/160 659/816/160 655/813/160 +f 629/812/165 658/817/165 654/818/165 +f 666/819/162 664/820/162 665/821/162 +f 662/822/160 667/823/160 663/824/160 +f 661/809/161 665/825/161 660/826/161 +f 663/824/164 666/819/164 661/809/164 +f 660/827/165 664/828/165 662/822/165 +f 705/829/162 706/830/162 704/831/162 +f 707/832/166 708/833/166 706/830/166 +f 706/830/164 710/834/164 704/831/164 +f 711/835/165 707/832/165 705/829/165 +f 713/836/167 714/837/167 712/838/167 +f 715/839/168 716/840/168 714/837/168 +f 714/837/169 718/841/169 712/838/169 +f 719/842/170 715/839/170 713/836/170 +f 721/843/171 722/844/171 720/845/171 +f 723/846/172 724/847/172 722/844/172 +f 722/844/173 726/848/173 720/845/173 +f 727/849/174 723/846/174 721/843/174 +f 729/850/169 730/851/169 728/852/169 +f 731/853/175 732/854/175 730/851/175 +f 730/851/176 734/855/176 728/852/176 +f 735/856/167 731/853/167 729/850/167 +f 737/857/173 738/858/173 736/859/173 +f 739/860/177 740/861/177 738/858/177 +f 738/858/178 742/862/178 736/859/178 +f 743/863/171 739/860/171 737/857/171 +f 747/864/160 752/865/160 751/866/160 +f 950/867/165 965/868/165 949/869/165 +f 746/870/160 753/871/160 748/872/160 +f 945/873/163 955/874/163 950/867/163 +f 581/779/164 597/780/164 582/782/164 +f 598/784/165 584/777/165 583/785/165 +f 597/875/160 939/876/160 622/792/160 +f 940/877/160 598/878/160 623/879/160 +f 941/880/162 938/881/162 621/882/162 +f 595/778/164 938/883/164 581/779/164 +f 622/792/164 941/880/164 624/793/164 +f 937/884/162 942/885/162 620/886/162 +f 937/887/165 596/888/165 584/777/165 +f 942/885/165 623/879/165 627/796/165 +f 950/867/160 953/889/160 945/873/160 +f 944/890/160 945/873/160 946/891/160 +f 951/892/160 950/867/160 949/893/160 +f 961/894/162 956/895/162 958/896/162 +f 962/897/162 959/898/162 957/899/162 +f 967/900/164 960/901/164 961/894/164 +f 959/902/161 969/903/161 965/904/161 +f 968/905/165 963/906/165 962/897/165 +f 964/907/161 961/894/161 958/908/161 +f 745/909/165 965/868/165 744/910/165 +f 971/911/164 964/912/164 944/913/164 +f 948/914/162 745/909/162 750/915/162 +f 955/874/165 959/916/165 950/867/165 +f 971/911/162 943/917/162 972/918/162 +f 967/900/163 970/919/163 966/920/163 +f 945/873/164 964/912/164 958/921/164 +f 958/921/164 954/922/164 945/873/164 +f 747/864/165 976/923/165 749/924/165 +f 746/870/163 980/925/163 754/926/163 +f 751/927/163 974/928/163 747/864/163 +f 753/929/162 975/930/162 748/872/162 +f 748/872/164 973/931/164 746/870/164 +f 749/924/162 978/932/162 752/933/162 +f 984/934/164 983/935/164 981/936/164 +f 990/937/165 992/938/165 987/939/165 +f 986/940/179 991/941/179 985/942/179 +f 984/943/179 989/944/179 983/935/179 +f 982/945/160 987/939/160 981/936/160 +f 996/946/164 995/947/164 993/948/164 +f 985/942/163 990/949/163 984/934/163 +f 983/935/163 988/950/163 982/945/163 +f 1002/951/165 1004/952/165 999/953/165 +f 998/954/179 1003/955/179 997/956/179 +f 996/957/179 1001/958/179 995/947/179 +f 994/959/160 999/953/160 993/948/160 +f 997/956/163 1002/960/163 996/946/163 +f 995/947/163 1000/961/163 994/959/163 +f 1011/962/160 1008/963/160 1007/964/160 +f 1010/965/161 1005/966/161 1006/967/161 +f 1012/968/163 1006/967/163 1008/969/163 +f 1009/970/162 1007/964/162 1005/966/162 +f 965/971/163 968/905/163 744/972/163 +f 493/699/160 494/722/160 506/700/160 +f 492/702/160 493/699/160 505/701/160 +f 491/704/160 492/702/160 504/703/160 +f 490/706/160 491/704/160 503/705/160 +f 489/708/160 490/706/160 501/707/160 +f 489/708/160 502/709/160 512/710/160 +f 500/711/160 512/710/160 511/712/160 +f 499/713/160 511/712/160 510/714/160 +f 498/715/160 510/714/160 509/716/160 +f 497/717/160 509/716/160 508/718/160 +f 496/719/160 508/718/160 507/720/160 +f 494/722/160 495/973/160 507/723/160 +f 590/724/161 610/727/161 528/725/161 +f 610/727/161 590/724/161 589/728/161 +f 589/728/161 588/974/161 614/730/161 +f 614/731/161 588/975/161 587/732/161 +f 587/732/161 586/736/161 612/734/161 +f 585/735/161 529/737/161 612/734/161 +f 529/737/161 585/735/161 533/738/161 +f 533/738/161 532/741/161 531/740/161 +f 532/741/161 594/743/161 525/742/161 +f 594/743/161 593/976/161 526/744/161 +f 526/744/161 593/976/161 592/745/161 +f 592/745/161 591/726/161 528/725/161 +f 561/747/160 566/751/160 565/748/160 +f 562/750/160 567/977/160 566/751/160 +f 562/752/160 563/978/160 568/753/160 +f 568/753/160 563/978/160 564/755/160 +f 564/755/160 571/773/160 573/757/160 +f 572/758/160 570/774/160 560/749/160 +f 550/759/160 551/776/160 577/760/160 +f 549/762/160 550/759/160 578/761/160 +f 549/762/160 580/763/160 579/764/160 +f 554/766/160 548/765/160 579/764/160 +f 553/768/160 554/766/160 574/767/160 +f 552/770/160 553/768/160 575/769/160 +f 576/772/162 573/979/162 571/773/162 +f 570/774/162 572/980/162 577/775/162 +f 584/777/163 596/888/163 595/778/163 +f 597/780/164 599/981/164 601/781/164 +f 602/783/165 600/982/165 598/784/165 +f 581/779/161 605/983/161 609/786/161 +f 609/786/161 608/984/161 584/777/161 +f 582/788/161 603/985/161 604/787/161 +f 604/787/161 605/983/161 581/779/161 +f 607/790/161 606/986/161 583/789/161 +f 584/777/161 608/984/161 607/790/161 +f 599/791/163 597/987/163 622/792/163 +f 625/794/162 603/988/162 582/782/162 +f 583/785/162 606/989/162 626/795/162 +f 627/796/163 623/879/163 598/797/163 +f 635/800/164 633/990/164 631/991/164 +f 631/991/164 653/992/164 635/800/164 +f 653/992/164 651/801/164 635/800/164 +f 651/801/164 649/993/164 643/994/164 +f 649/993/164 647/995/164 643/994/164 +f 647/995/164 645/996/164 643/994/164 +f 643/994/164 641/997/164 639/799/164 +f 639/799/164 637/998/164 635/800/164 +f 643/994/164 639/799/164 651/801/164 +f 654/802/163 655/813/163 628/803/163 +f 652/807/165 630/999/165 632/1000/165 +f 632/1000/165 634/1001/165 636/1002/165 +f 636/1002/165 638/1003/165 644/805/165 +f 638/1003/165 640/1004/165 644/805/165 +f 640/1004/165 642/1005/165 644/805/165 +f 644/805/165 646/1006/165 648/806/165 +f 648/806/165 650/1007/165 652/807/165 +f 652/807/165 632/1000/165 644/805/165 +f 632/1000/165 636/1002/165 644/805/165 +f 662/808/163 663/824/163 661/809/163 +f 628/803/161 656/814/161 657/811/161 +f 655/813/164 659/816/164 656/814/164 +f 654/815/160 658/1008/160 659/816/160 +f 629/812/165 657/811/165 658/817/165 +f 666/819/162 667/823/162 664/820/162 +f 662/822/160 664/828/160 667/823/160 +f 661/809/161 666/819/161 665/825/161 +f 663/824/164 667/823/164 666/819/164 +f 660/827/165 665/1009/165 664/828/165 +f 705/829/162 707/832/162 706/830/162 +f 707/832/166 709/1010/166 708/833/166 +f 706/830/164 708/1011/164 710/834/164 +f 711/835/165 709/1012/165 707/832/165 +f 713/836/167 715/839/167 714/837/167 +f 715/839/168 717/1013/168 716/840/168 +f 714/837/169 716/1014/169 718/841/169 +f 719/842/170 717/1015/170 715/839/170 +f 721/843/171 723/846/171 722/844/171 +f 723/846/172 725/1016/172 724/847/172 +f 722/844/173 724/1017/173 726/848/173 +f 727/849/174 725/1018/174 723/846/174 +f 729/850/169 731/853/169 730/851/169 +f 731/853/175 733/1019/175 732/854/175 +f 730/851/176 732/1020/176 734/855/176 +f 735/856/167 733/1021/167 731/853/167 +f 737/857/173 739/860/173 738/858/173 +f 739/860/177 741/1022/177 740/861/177 +f 738/858/178 740/1023/178 742/862/178 +f 743/863/171 741/1024/171 739/860/171 +f 747/864/160 749/924/160 752/865/160 +f 950/867/165 959/916/165 965/868/165 +f 746/870/160 754/1025/160 753/871/160 +f 945/873/163 954/922/163 955/874/163 +f 581/779/164 938/883/164 597/780/164 +f 598/784/165 937/887/165 584/777/165 +f 597/875/160 938/1026/160 939/876/160 +f 940/877/160 937/1027/160 598/878/160 +f 941/880/162 939/876/162 938/881/162 +f 595/778/164 621/1028/164 938/883/164 +f 622/792/164 939/876/164 941/880/164 +f 937/884/162 940/877/162 942/885/162 +f 937/887/165 620/1029/165 596/888/165 +f 942/885/165 940/877/165 623/879/165 +f 950/867/160 952/1030/160 953/889/160 +f 953/889/160 947/1031/160 945/873/160 +f 946/891/160 943/1032/160 944/890/160 +f 945/873/160 947/1031/160 946/891/160 +f 949/893/160 948/1033/160 951/892/160 +f 951/892/160 952/1030/160 950/867/160 +f 961/894/162 960/901/162 956/895/162 +f 962/897/162 963/906/162 959/898/162 +f 967/900/164 966/920/164 960/901/164 +f 959/902/161 963/906/161 969/903/161 +f 968/905/165 969/903/165 963/906/165 +f 964/907/161 967/900/161 961/894/161 +f 745/909/165 949/869/165 965/868/165 +f 971/911/164 970/1034/164 964/912/164 +f 948/914/162 949/869/162 745/909/162 +f 955/874/165 957/1035/165 959/916/165 +f 971/911/162 944/913/162 943/917/162 +f 967/900/163 964/1036/163 970/919/163 +f 945/873/164 944/913/164 964/912/164 +f 958/921/164 956/1037/164 954/922/164 +f 747/864/165 974/928/165 976/923/165 +f 746/870/163 973/931/163 980/925/163 +f 751/927/163 977/1038/163 974/928/163 +f 753/929/162 979/1039/162 975/930/162 +f 748/872/164 975/930/164 973/931/164 +f 749/924/162 976/923/162 978/932/162 +f 983/935/164 982/945/164 981/936/164 +f 981/936/164 986/1040/164 984/934/164 +f 986/1040/164 985/942/164 984/934/164 +f 987/939/165 988/1041/165 989/1042/165 +f 990/937/165 991/1043/165 992/938/165 +f 987/939/165 989/1042/165 990/937/165 +f 986/940/179 992/1044/179 991/941/179 +f 984/943/179 990/1045/179 989/944/179 +f 982/945/160 988/1041/160 987/939/160 +f 995/947/164 994/959/164 993/948/164 +f 993/948/164 998/1046/164 996/946/164 +f 998/1046/164 997/956/164 996/946/164 +f 985/942/163 991/941/163 990/949/163 +f 983/935/163 989/944/163 988/950/163 +f 999/953/165 1000/1047/165 1001/1048/165 +f 1002/951/165 1003/1049/165 1004/952/165 +f 999/953/165 1001/1048/165 1002/951/165 +f 998/954/179 1004/1050/179 1003/955/179 +f 996/957/179 1002/1051/179 1001/958/179 +f 994/959/160 1000/1047/160 999/953/160 +f 997/956/163 1003/955/163 1002/960/163 +f 995/947/163 1001/958/163 1000/961/163 +f 1011/962/160 1012/1052/160 1008/963/160 +f 1010/965/161 1009/970/161 1005/966/161 +f 1012/968/163 1010/965/163 1006/967/163 +f 1009/970/162 1011/962/162 1007/964/162 +f 965/971/163 969/903/163 968/905/163 s 1 -f 4/21/14 25/35/3 2/20/3 -f 36/38/12 2/20/3 25/35/3 -f 35/40/16 24/18/12 36/38/12 -f 34/42/8 22/28/16 35/40/16 -f 33/44/19 20/1/8 34/42/8 -f 32/46/21 18/7/19 33/44/19 -f 31/48/5 16/10/21 32/46/21 -f 14/11/5 30/49/13 12/14/13 -f 12/14/13 29/4/17 10/16/17 -f 10/16/17 28/29/4 8/23/4 -f 8/23/4 27/31/10 6/27/10 -f 6/27/10 26/33/14 4/21/14 -f 42/12/12 55/804/3 43/13/3 -f 39/24/19 52/805/8 40/17/8 -f 46/3/4 59/806/17 47/25/17 -f 43/625/3 56/807/14 44/8/14 -f 40/17/8 53/808/16 41/15/16 -f 47/25/17 60/809/13 48/26/13 -f 38/19/5 49/810/21 37/22/21 -f 44/8/14 57/811/10 45/2/10 -f 41/15/16 54/812/12 42/12/12 -f 48/26/13 50/813/5 38/19/5 -f 39/24/19 49/810/21 51/814/19 -f 46/3/4 57/811/10 58/815/4 -f 75/66/10 64/52/4 63/627/10 -f 82/74/55 71/61/16 70/62/8 -f 83/73/16 72/59/12 71/61/16 -f 73/69/3 62/54/14 61/57/3 -f 84/71/12 61/57/3 72/59/12 -f 74/67/14 63/627/10 62/54/14 -f 94/630/10 112/91/4 95/79/56 -f 96/86/55 113/97/16 97/631/16 -f 93/76/14 103/90/10 94/630/10 -f 97/631/16 115/95/12 98/85/12 -f 89/82/3 104/88/14 93/76/14 -f 98/85/12 105/93/3 89/82/3 -f 121/105/5 130/119/21 122/635/21 -f 119/110/17 128/115/13 120/111/13 -f 122/635/21 131/120/19 123/103/19 -f 120/111/13 129/116/5 121/108/5 -f 96/86/55 82/74/55 131/120/19 -f 76/65/56 95/79/56 127/113/17 -f 157/141/10 168/816/14 156/143/14 -f 149/132/21 162/817/5 150/134/5 -f 142/147/13 11/818/5 143/638/5 -f 158/139/4 169/819/10 157/141/10 -f 151/130/19 161/820/21 149/132/21 -f 143/146/5 9/821/21 144/144/21 -f 159/137/17 170/822/4 158/139/4 -f 152/128/8 163/823/19 151/130/19 -f 144/144/21 7/824/19 145/142/19 -f 160/135/13 171/825/17 159/137/17 -f 137/133/3 23/826/14 138/131/14 -f 153/126/16 164/827/8 152/128/8 -f 145/142/19 5/828/8 146/140/8 -f 150/134/5 172/829/13 160/135/13 -f 138/131/14 19/830/10 139/129/10 -f 154/125/12 165/831/16 153/126/16 -f 146/140/8 3/832/16 147/138/16 -f 139/129/10 17/833/4 140/127/4 -f 155/148/3 166/834/12 154/125/12 -f 147/138/16 1/835/12 148/136/12 -f 140/127/4 15/836/17 141/124/17 -f 156/143/14 167/837/3 155/145/3 -f 148/136/12 21/838/3 137/133/3 -f 141/124/17 13/839/13 142/147/13 -f 174/169/14 182/840/3 173/167/3 -f 179/165/12 187/841/16 178/164/16 -f 175/171/10 183/842/14 174/169/14 -f 173/167/3 188/843/12 179/165/12 -f 176/150/4 184/844/10 175/171/10 -f 178/164/16 186/845/8 177/162/8 -f 189/846/3 202/191/12 195/847/12 -f 194/848/16 200/195/55 193/849/8 -f 191/850/10 197/187/14 190/851/14 -f 195/847/12 201/193/16 194/848/16 -f 192/852/4 198/184/10 191/850/10 -f 190/851/14 196/190/3 189/846/3 -f 206/853/21 210/177/5 205/854/5 -f 204/855/13 208/174/17 203/856/17 -f 207/857/19 211/643/21 206/853/21 -f 205/858/5 209/172/13 204/855/13 -f 208/174/17 218/199/57 199/201/56 -f 207/857/19 200/195/55 212/180/19 -f 983/859/17 320/160/4 982/860/4 -f 976/861/8 327/170/19 975/862/19 -f 979/863/3 324/153/12 978/864/12 -f 982/860/4 321/161/10 981/865/10 -f 975/862/19 328/641/21 974/866/21 -f 973/867/5 180/166/13 984/868/13 -f 978/864/12 325/149/16 977/869/16 -f 981/865/10 322/157/14 980/870/14 -f 974/866/21 329/168/5 973/867/5 -f 984/868/13 181/163/17 983/859/17 -f 977/869/16 326/151/8 976/861/8 -f 980/870/14 323/640/3 979/871/3 -f 347/159/19 353/872/21 348/158/21 -f 349/155/5 351/873/13 346/154/13 -f 346/154/13 350/874/17 345/152/17 -f 348/158/21 354/875/5 349/156/5 -f 345/152/17 185/876/4 176/150/4 -f 352/877/19 177/162/8 186/845/8 -f 366/878/2 367/879/58 365/880/2 -f 368/881/58 369/882/59 367/879/58 -f 369/882/59 372/883/5 371/884/5 -f 372/885/5 373/886/60 371/887/5 -f 374/888/60 375/889/61 373/886/60 -f 376/890/61 377/891/1 375/889/61 -f 378/892/1 379/893/62 377/891/1 -f 380/894/62 381/895/63 379/893/62 -f 382/896/63 383/897/3 381/895/63 -f 384/898/3 385/899/64 383/897/3 -f 386/900/64 387/901/65 385/899/64 -f 388/902/65 365/880/2 387/901/65 -f 428/903/66 441/904/67 440/905/66 -f 428/906/66 439/907/68 427/908/68 -f 438/909/69 439/910/68 450/911/69 -f 438/912/69 449/913/70 437/914/70 -f 436/915/71 449/916/70 448/917/71 -f 436/918/71 447/919/72 435/920/72 -f 435/921/72 446/922/73 434/923/73 -f 433/924/74 446/925/73 445/926/74 -f 433/927/74 444/928/75 432/929/75 -f 431/930/76 444/931/75 443/932/76 -f 430/933/77 443/934/76 442/935/77 -f 430/936/77 441/937/67 429/938/67 -f 452/939/78 429/940/79 428/903/78 -f 451/941/80 428/906/78 427/908/80 -f 438/909/81 451/942/80 427/943/80 -f 461/944/82 438/912/81 437/914/82 -f 436/915/83 461/945/82 437/946/82 -f 459/947/84 436/918/83 435/920/84 -f 434/923/85 459/948/84 435/921/84 -f 433/924/86 458/949/85 434/950/85 -f 456/951/87 433/927/86 432/929/87 -f 455/952/88 432/953/87 431/930/88 -f 454/954/89 431/955/88 430/933/89 -f 453/956/79 430/936/89 429/938/79 -f 508/957/21 519/958/90 507/959/19 -f 503/960/3 526/961/91 514/962/14 -f 505/963/16 516/964/92 504/965/12 -f 512/966/4 523/967/93 511/968/17 -f 509/969/5 520/970/94 508/957/21 -f 506/971/8 517/972/95 505/963/16 -f 513/973/10 524/974/96 512/966/4 -f 510/975/13 521/976/97 509/977/5 -f 507/959/19 518/978/98 506/971/8 -f 514/962/14 525/979/99 513/973/10 -f 504/965/12 515/980/100 503/960/3 -f 511/968/17 522/981/101 510/975/13 -f 525/979/99 536/982/102 524/974/96 -f 522/981/101 533/983/103 521/976/97 -f 519/958/90 530/984/104 518/978/98 -f 525/979/99 538/985/105 537/986/106 -f 516/964/92 527/987/107 515/980/100 -f 523/967/93 534/988/108 522/981/101 -f 519/958/90 532/989/109 531/990/110 -f 515/980/100 538/985/105 526/961/91 -f 517/972/95 528/991/111 516/964/92 -f 524/974/96 535/992/112 523/967/93 -f 520/970/94 533/993/103 532/989/109 -f 518/978/98 529/994/113 517/972/95 -f 528/991/111 529/994/113 539/995/1 -f 529/994/113 530/984/104 539/996/1 -f 530/984/104 531/990/110 539/997/1 -f 531/990/110 532/989/109 539/998/1 -f 532/989/109 533/993/103 539/999/1 -f 533/983/103 534/988/108 539/1000/1 -f 534/988/108 535/992/112 539/1001/1 -f 535/992/112 536/982/102 539/1002/1 -f 536/982/102 537/986/106 539/1003/1 -f 537/986/106 538/985/105 539/1004/1 -f 538/985/105 527/987/107 539/1005/1 -f 527/987/107 528/991/111 539/1006/1 -f 566/1007/4 577/1008/17 565/1009/17 -f 563/1010/5 574/1011/21 562/1012/21 -f 570/1013/12 581/1014/3 569/1015/3 -f 560/1016/8 572/1017/16 559/1018/16 -f 567/1019/10 578/1020/4 566/1007/4 -f 564/1021/13 575/1022/5 563/1010/5 -f 559/1018/16 582/1023/12 570/1013/12 -f 561/1024/19 571/1025/8 560/1016/8 -f 568/1026/14 579/1027/10 567/1019/10 -f 565/1009/17 576/1028/13 564/1021/13 -f 562/1029/21 573/1030/19 561/1024/19 -f 568/1026/14 581/1014/3 580/1031/14 -f 599/1032/5 588/1033/13 587/1034/5 -f 606/1035/12 583/1036/16 594/1037/12 -f 596/1038/8 585/1039/19 584/1040/8 -f 603/1041/10 592/1042/14 591/1043/10 -f 600/1044/13 589/1045/17 588/1033/13 -f 597/1046/19 586/1047/21 585/1039/19 -f 604/1048/14 593/1049/3 592/1042/14 -f 601/1050/17 590/1051/4 589/1045/17 -f 598/1052/21 587/1034/5 586/1053/21 -f 605/1054/3 594/1037/12 593/1049/3 -f 595/1055/16 584/1040/8 583/1036/16 -f 602/1056/4 591/1043/10 590/1051/4 -f 624/1057/114 649/1058/115 648/1059/116 -f 616/459/117 611/447/118 610/457/117 -f 614/463/119 609/455/1 608/451/119 -f 615/461/1 610/457/117 609/455/1 -f 613/450/120 608/451/119 607/448/120 -f 634/1060/121 619/1061/2 626/1062/121 -f 628/1063/122 621/1064/123 620/1065/122 -f 633/1066/124 626/1062/121 625/1067/124 -f 619/1061/2 628/1063/122 620/1065/122 -f 624/1057/125 640/1068/126 630/1069/127 -f 618/1070/128 635/1071/129 636/1072/130 -f 623/1073/131 637/1074/132 638/1075/131 -f 630/1069/127 641/1076/133 631/1077/134 -f 623/1078/131 639/1079/135 624/1057/125 -f 612/1080/136 642/1081/137 635/1071/129 -f 622/1082/138 636/1072/130 637/1074/132 -f 631/1077/134 642/1081/137 632/1083/137 -f 618/1070/139 644/1084/140 612/1080/141 -f 623/1073/142 646/1085/143 622/1082/144 -f 630/1069/145 650/1086/146 649/1058/115 -f 623/1078/142 648/1059/116 647/1087/142 -f 612/1080/141 643/1088/147 632/1083/147 -f 622/1082/144 645/1089/148 618/1070/139 -f 631/1077/149 643/1088/147 650/1086/146 -f 653/1090/150 660/1091/151 652/1092/152 -f 658/1093/153 665/1094/154 657/1095/155 -f 656/1096/156 663/1097/157 655/1098/157 -f 654/1099/158 661/1100/159 653/1101/150 -f 651/1102/160 660/1091/151 659/1103/160 -f 658/1093/153 659/1103/160 666/1104/161 -f 657/1095/155 664/1105/162 656/1096/156 -f 655/1098/157 662/1106/163 654/1099/158 -f 652/1107/152 669/1108/8 653/1109/150 -f 657/1095/155 674/1110/164 658/1093/153 -f 655/1111/157 672/1112/165 656/1096/156 -f 653/1113/150 670/1114/166 654/1115/158 -f 651/1116/160 668/1117/167 652/1107/152 -f 658/1093/153 667/1118/2 651/1116/160 -f 656/1096/156 673/1119/4 657/1095/155 -f 654/1115/158 671/1120/1 655/1111/157 -f 664/1105/162 679/1121/1 663/1122/157 -f 662/1123/163 677/1124/5 661/1125/159 -f 660/1126/151 675/1127/2 659/1128/160 -f 659/1128/160 682/1129/168 666/1104/161 -f 665/1094/154 680/1130/169 664/1105/162 -f 663/1122/157 678/1131/6 662/1123/163 -f 661/1132/159 676/1133/7 660/1126/151 -f 666/1104/161 681/1134/3 665/1094/154 -f 684/1135/152 693/1136/159 692/1137/151 -f 689/1138/155 698/1139/161 697/1140/154 -f 688/1141/156 695/1142/157 687/1143/157 -f 685/1144/150 694/1145/163 693/1146/159 -f 683/1147/160 692/1137/151 691/1148/160 -f 690/1149/153 691/1148/160 698/1139/161 -f 689/1138/155 696/1150/162 688/1141/156 -f 687/1143/157 694/1145/163 686/1151/158 -f 684/1152/152 701/1153/8 685/1154/150 -f 689/1138/155 706/1155/164 690/1149/153 -f 687/1156/157 704/1157/165 688/1141/156 -f 685/1158/150 702/1159/166 686/1160/158 -f 683/1161/160 700/1162/167 684/1152/152 -f 690/1149/153 699/1163/2 683/1161/160 -f 688/1141/156 705/1164/4 689/1138/155 -f 686/1160/158 703/1165/1 687/1156/157 -f 696/1150/162 711/1166/1 695/1167/157 -f 694/1168/163 709/1169/5 693/1170/159 -f 692/1171/151 707/1172/2 691/1173/160 -f 691/1173/160 714/1174/168 698/1139/161 -f 697/1140/154 712/1175/169 696/1150/162 -f 695/1167/157 710/1176/6 694/1168/163 -f 693/1177/159 708/1178/7 692/1171/151 -f 698/1139/161 713/1179/3 697/1140/154 -f 721/1180/170 730/1181/171 722/1182/172 -f 719/1183/173 728/1184/174 720/1185/175 -f 717/1186/176 726/1187/177 718/1188/178 -f 715/1189/179 724/1190/180 716/1191/181 -f 722/1182/172 723/1192/182 715/1189/179 -f 720/1185/175 729/1193/183 721/1180/170 -f 718/1188/178 727/1194/184 719/1183/173 -f 716/1191/181 725/1195/185 717/1196/176 -f 725/1197/185 734/1198/186 726/1187/177 -f 724/1190/180 731/1199/187 732/1200/188 -f 723/1201/182 737/1202/189 731/1199/187 -f 726/1187/177 735/1203/190 727/1204/184 -f 724/1190/180 733/1205/167 725/1195/185 -f 727/1204/184 736/1206/191 728/1207/174 -f 729/1208/183 737/1202/189 730/1209/171 -f 728/1207/174 736/1206/191 729/1208/183 -f 736/1206/191 742/1210/192 743/1211/193 -f 734/1198/186 740/1212/194 741/1213/7 -f 731/1199/187 739/1214/195 732/1200/188 -f 737/1202/189 738/1215/196 731/1199/187 -f 735/1203/190 741/1213/7 742/1210/192 -f 732/1200/188 740/1216/194 733/1205/167 -f 737/1202/189 729/1208/183 744/1217/169 -f 736/1206/191 743/1211/193 729/1208/183 -f 742/1218/192 750/1219/197 743/1220/193 -f 744/1221/169 745/1222/198 751/1223/199 -f 741/1224/7 747/1225/200 748/1226/201 -f 743/1220/193 745/1222/198 729/1227/183 -f 741/1224/7 749/1228/202 742/1218/192 -f 740/1229/194 746/1230/203 747/1231/200 -f 746/1230/203 754/1232/204 747/1231/200 -f 750/1219/197 752/1233/205 745/1222/198 -f 750/1219/197 756/1234/206 757/1235/207 -f 748/1226/201 754/1236/204 755/1237/208 -f 751/1223/199 752/1233/205 758/1238/209 -f 749/1228/202 755/1237/208 756/1234/206 -f 744/1221/169 751/1223/199 738/1239/196 -f 751/1223/199 758/1238/209 738/1239/196 -f 738/1239/196 746/1230/203 739/1240/195 -f 746/1230/203 738/1239/196 753/1241/210 -f 738/1242/196 761/1243/211 753/1244/210 -f 757/1235/207 760/1245/212 752/1246/205 -f 758/1247/209 759/1248/213 738/1242/196 -f 756/1234/206 765/1249/214 757/1235/207 -f 755/1237/208 762/1250/215 763/1251/216 -f 752/1246/205 766/1252/217 758/1247/209 -f 755/1237/208 764/1253/218 756/1234/206 -f 753/1244/210 762/1254/215 754/1255/204 -f 765/1249/214 771/1256/219 772/1257/220 -f 763/1251/216 769/1258/221 770/1259/222 -f 760/1260/212 773/1261/223 766/1262/217 -f 763/1251/216 771/1256/219 764/1253/218 -f 762/1263/215 768/1264/224 769/1265/221 -f 765/1249/214 767/1266/225 760/1260/212 -f 772/1257/220 774/1267/226 767/1266/225 -f 772/1257/220 778/1268/227 779/1269/228 -f 770/1259/222 776/1270/229 777/1271/230 -f 767/1266/225 780/1272/231 773/1261/223 -f 770/1259/222 778/1268/227 771/1256/219 -f 769/1265/221 775/1273/232 776/1274/229 -f 766/1262/217 773/1261/223 759/1275/213 -f 773/1261/223 780/1272/231 759/1275/213 -f 759/1275/213 768/1264/224 761/1276/211 -f 768/1264/224 759/1275/213 775/1273/232 -f 759/1277/213 783/1278/233 775/1279/232 -f 779/1269/228 782/1280/165 774/1281/226 -f 780/1282/231 781/1283/234 759/1277/213 -f 778/1268/227 787/1284/235 779/1269/228 -f 776/1285/229 785/1286/236 777/1271/230 -f 774/1281/226 788/1287/237 780/1282/231 -f 777/1271/230 786/1288/238 778/1268/227 -f 775/1279/232 784/1289/239 776/1290/229 -f 785/1286/236 791/1291/167 792/1292/188 -f 781/1293/234 795/1294/191 789/1295/190 -f 786/1296/238 792/1292/188 793/1297/187 -f 783/1278/233 791/1298/167 784/1289/239 -f 781/1293/234 790/1299/186 783/1278/233 -f 786/1296/238 794/1300/189 787/1301/235 -f 789/1295/190 797/1302/177 790/1299/186 -f 793/1297/187 801/1303/171 794/1300/189 -f 792/1292/188 798/1304/185 799/1305/180 -f 789/1295/190 802/1306/174 796/1307/184 -f 793/1297/187 799/1305/180 800/1308/182 -f 790/1299/186 798/1309/185 791/1298/167 -f 787/1301/235 794/1300/189 782/1310/165 -f 794/1300/189 801/1303/171 782/1310/165 -f 788/1311/237 782/1310/165 795/1294/191 -f 795/1294/191 782/1310/165 802/1306/174 -f 782/1312/165 810/1313/175 802/1314/174 -f 796/1315/184 805/1316/178 797/1302/177 -f 801/1317/171 803/1318/170 782/1312/165 -f 800/1319/182 809/1320/172 801/1317/171 -f 799/1305/180 806/1321/176 807/1322/181 -f 802/1314/174 804/1323/7 796/1315/184 -f 799/1305/180 808/1324/179 800/1319/182 -f 797/1302/177 806/1325/176 798/1309/185 -f 721/1326/170 817/1327/240 816/1328/241 -f 718/1329/178 813/1330/242 717/1331/176 -f 716/1191/181 811/1332/169 715/1189/179 -f 722/1182/172 811/1332/169 817/1327/240 -f 720/1333/175 816/1328/241 815/1334/243 -f 717/1335/176 812/1336/244 716/1191/181 -f 811/1332/169 824/1337/165 817/1327/240 -f 816/1328/241 822/1338/245 815/1334/243 -f 812/1336/244 820/1339/246 819/1340/247 -f 817/1327/240 823/1341/248 816/1328/241 -f 814/1342/249 820/1343/246 813/1330/242 -f 812/1336/244 818/1344/250 811/1332/169 -f 718/1329/178 719/1345/173 814/1342/249 -f 814/1342/249 719/1345/173 821/1346/167 -f 720/1333/175 815/1334/243 719/1345/173 -f 815/1334/243 822/1338/245 719/1345/173 -f 719/1347/173 828/1348/203 821/1349/167 -f 822/1350/245 830/1351/202 829/1352/201 -f 823/1353/248 831/1354/197 830/1351/202 -f 818/1355/250 827/1356/199 826/1357/198 -f 822/1350/245 825/1358/200 719/1359/173 -f 824/1360/165 826/1357/198 831/1354/197 -f 828/1348/203 832/1361/251 835/1362/252 -f 831/1354/197 837/1363/253 830/1351/202 -f 827/1356/199 833/1364/254 826/1357/198 -f 825/1358/200 836/1365/255 832/1366/251 -f 826/1357/198 838/1367/256 831/1354/197 -f 829/1352/201 837/1363/253 836/1365/255 -f 821/1349/167 828/1348/203 820/1368/246 -f 828/1348/203 835/1362/252 820/1368/246 -f 819/1369/247 820/1368/246 827/1356/199 -f 827/1356/199 820/1368/246 834/1370/257 -f 832/1371/251 843/1372/236 835/1373/252 -f 838/1367/256 845/1374/234 837/1363/253 -f 834/1375/257 841/1376/165 833/1377/254 -f 820/1378/246 842/1379/235 834/1375/257 -f 836/1365/255 840/1380/239 832/1381/251 -f 835/1373/252 839/1382/238 820/1378/246 -f 833/1377/254 846/1383/237 838/1367/256 -f 837/1363/253 844/1384/233 836/1365/255 -f 809/1320/172 847/1385/241 803/1386/170 -f 808/1324/179 850/1387/244 851/1388/169 -f 805/1389/178 849/1390/242 806/1391/176 -f 803/1386/170 853/1392/243 810/1393/175 -f 808/1324/179 852/1394/240 809/1320/172 -f 807/1322/181 849/1395/242 850/1387/244 -f 852/1394/240 854/1396/258 847/1385/241 -f 851/1388/169 857/1397/259 858/1398/260 -f 849/1390/242 855/1399/261 856/1400/262 -f 847/1385/241 860/1401/263 853/1392/243 -f 851/1388/169 859/1402/264 852/1394/240 -f 850/1387/244 856/1403/262 857/1397/259 -f 810/1393/175 853/1392/243 804/1404/7 -f 853/1392/243 860/1401/263 804/1404/7 -f 804/1404/7 848/1405/249 805/1389/178 -f 848/1405/249 804/1404/7 855/1399/261 -f 859/1402/264 862/1406/265 854/1407/258 -f 858/1398/260 865/1408/266 866/1409/267 -f 855/1410/261 864/1411/268 856/1412/262 -f 804/1413/7 863/1414/269 855/1410/261 -f 854/1407/258 868/1415/270 860/1416/263 -f 804/1413/7 868/1415/270 861/1417/168 -f 858/1398/260 867/1418/271 859/1402/264 -f 857/1397/259 864/1419/268 865/1408/266 -f 839/1420/238 871/1421/189 842/1422/235 -f 844/1384/233 870/1423/167 840/1380/239 -f 845/1424/234 873/1425/186 844/1384/233 -f 843/1372/236 869/1426/187 839/1420/238 -f 843/1372/236 870/1427/167 872/1428/188 -f 846/1429/237 874/1430/190 845/1424/234 -f 869/1426/187 879/1431/180 876/1432/182 -f 872/1428/188 877/1433/185 879/1431/180 -f 873/1425/186 881/1434/184 880/1435/177 -f 871/1421/189 876/1432/182 878/1436/171 -f 873/1425/186 877/1437/185 870/1423/167 -f 875/1438/191 881/1434/184 874/1430/190 -f 842/1422/235 871/1421/189 841/1439/165 -f 871/1421/189 878/1436/171 841/1439/165 -f 846/1429/237 841/1439/165 875/1438/191 -f 875/1438/191 841/1439/165 882/1440/174 -f 877/1433/185 887/1441/272 879/1431/180 -f 881/1434/184 888/1442/273 880/1435/177 -f 841/1443/165 890/1444/274 882/1445/174 -f 862/1446/265 896/1447/275 868/1448/270 -f 878/1449/171 883/1450/276 841/1443/165 -f 880/1435/177 885/1451/277 877/1437/185 -f 882/1445/174 889/1452/278 881/1453/184 -f 866/1409/267 895/1454/279 867/1418/271 -f 865/1408/266 892/1455/280 893/1456/281 -f 867/1418/271 884/1457/282 862/1446/265 -f 866/1409/267 893/1456/281 894/1458/6 -f 864/1459/268 891/1460/283 892/1461/280 -f 861/1462/168 891/1460/283 863/1463/269 -f 868/1448/270 896/1447/275 861/1462/168 -f 888/1442/273 894/1458/6 893/1456/281 -f 889/1452/278 895/1454/279 894/1458/6 -f 884/1457/282 890/1444/274 883/1464/276 -f 883/1464/276 896/1447/275 884/1457/282 -f 885/1465/277 893/1456/281 892/1455/280 -f 885/1466/277 891/1460/283 887/1467/272 -f 891/1460/283 861/1462/168 887/1467/272 -f 896/1447/275 886/1468/284 861/1462/168 -f 876/1469/182 886/1470/284 878/1449/171 -f 887/1441/272 876/1469/182 879/1431/180 -f 4/21/14 26/33/14 25/35/3 -f 36/38/12 24/18/12 2/20/3 -f 35/40/16 22/28/16 24/18/12 -f 34/42/8 20/1/8 22/28/16 -f 33/44/19 18/7/19 20/1/8 -f 32/46/21 16/10/21 18/7/19 -f 31/48/5 14/9/5 16/10/21 -f 14/11/5 31/626/5 30/49/13 -f 12/14/13 30/49/13 29/4/17 -f 10/16/17 29/4/17 28/29/4 -f 8/23/4 28/29/4 27/31/10 -f 6/27/10 27/31/10 26/33/14 -f 42/12/12 54/812/12 55/804/3 -f 39/24/19 51/814/19 52/805/8 -f 46/3/4 58/815/4 59/806/17 -f 43/625/3 55/1471/3 56/807/14 -f 40/17/8 52/805/8 53/808/16 -f 47/25/17 59/806/17 60/809/13 -f 38/19/5 50/813/5 49/810/21 -f 44/8/14 56/807/14 57/811/10 -f 41/15/16 53/808/16 54/812/12 -f 48/26/13 60/809/13 50/813/5 -f 39/24/19 37/22/21 49/810/21 -f 46/3/4 45/2/10 57/811/10 -f 75/66/10 76/65/56 64/52/4 -f 82/74/55 83/73/16 71/61/16 -f 83/73/16 84/71/12 72/59/12 -f 73/69/3 74/67/14 62/54/14 -f 84/71/12 73/69/3 61/57/3 -f 74/67/14 75/66/10 63/627/10 -f 94/630/10 103/90/10 112/91/4 -f 96/86/55 114/98/8 113/97/16 -f 93/76/14 104/88/14 103/90/10 -f 97/631/16 113/97/16 115/95/12 -f 89/82/3 105/93/3 104/88/14 -f 98/85/12 115/95/12 105/93/3 -f 121/105/5 129/117/5 130/119/21 -f 119/110/17 127/113/17 128/115/13 -f 122/635/21 130/119/21 131/120/19 -f 120/111/13 128/115/13 129/116/5 -f 82/74/55 70/62/8 123/103/19 -f 123/103/19 131/120/19 82/74/55 -f 131/120/19 114/98/8 96/86/55 -f 119/110/17 64/52/4 76/65/56 -f 95/79/56 112/91/4 127/113/17 -f 119/110/17 76/65/56 127/113/17 -f 157/141/10 169/819/10 168/816/14 -f 149/132/21 161/820/21 162/817/5 -f 142/147/13 13/839/13 11/818/5 -f 158/139/4 170/822/4 169/819/10 -f 151/130/19 163/823/19 161/820/21 -f 143/146/5 11/1472/5 9/821/21 -f 159/137/17 171/825/17 170/822/4 -f 152/128/8 164/827/8 163/823/19 -f 144/144/21 9/821/21 7/824/19 -f 160/135/13 172/829/13 171/825/17 -f 137/133/3 21/838/3 23/826/14 -f 153/126/16 165/831/16 164/827/8 -f 145/142/19 7/824/19 5/828/8 -f 150/134/5 162/817/5 172/829/13 -f 138/131/14 23/826/14 19/830/10 -f 154/125/12 166/834/12 165/831/16 -f 146/140/8 5/828/8 3/832/16 -f 139/129/10 19/830/10 17/833/4 -f 155/148/3 167/1473/3 166/834/12 -f 147/138/16 3/832/16 1/835/12 -f 140/127/4 17/833/4 15/836/17 -f 156/143/14 168/816/14 167/837/3 -f 148/136/12 1/835/12 21/838/3 -f 141/124/17 15/836/17 13/839/13 -f 174/169/14 183/842/14 182/840/3 -f 179/165/12 188/843/12 187/841/16 -f 175/171/10 184/844/10 183/842/14 -f 173/167/3 182/840/3 188/843/12 -f 176/150/4 185/876/4 184/844/10 -f 178/164/16 187/841/16 186/845/8 -f 189/846/3 196/190/3 202/191/12 -f 194/848/16 201/193/16 200/195/55 -f 191/850/10 198/184/10 197/187/14 -f 195/847/12 202/191/12 201/193/16 -f 192/852/4 199/201/56 198/184/10 -f 190/851/14 197/187/14 196/190/3 -f 206/853/21 211/643/21 210/177/5 -f 204/855/13 209/172/13 208/174/17 -f 207/857/19 212/180/19 211/643/21 -f 205/858/5 210/175/5 209/172/13 -f 199/201/56 192/852/4 203/856/17 -f 203/856/17 208/174/17 199/201/56 -f 193/849/8 200/195/55 207/857/19 -f 200/195/55 219/198/285 212/180/19 -f 983/859/17 181/163/17 320/160/4 -f 976/861/8 326/151/8 327/170/19 -f 979/863/3 323/639/3 324/153/12 -f 982/860/4 320/160/4 321/161/10 -f 975/862/19 327/170/19 328/641/21 -f 973/867/5 329/168/5 180/166/13 -f 978/864/12 324/153/12 325/149/16 -f 981/865/10 321/161/10 322/157/14 -f 974/866/21 328/641/21 329/168/5 -f 984/868/13 180/166/13 181/163/17 -f 977/869/16 325/149/16 326/151/8 -f 980/870/14 322/157/14 323/640/3 -f 347/159/19 352/877/19 353/872/21 -f 349/155/5 354/1474/5 351/873/13 -f 346/154/13 351/873/13 350/874/17 -f 348/158/21 353/872/21 354/875/5 -f 345/152/17 350/874/17 185/876/4 -f 352/877/19 347/159/19 177/162/8 -f 366/878/2 368/881/58 367/879/58 -f 368/881/58 370/1475/59 369/882/59 -f 369/882/59 370/1475/59 372/883/5 -f 372/885/5 374/888/60 373/886/60 -f 374/888/60 376/890/61 375/889/61 -f 376/890/61 378/892/1 377/891/1 -f 378/892/1 380/894/62 379/893/62 -f 380/894/62 382/896/63 381/895/63 -f 382/896/63 384/898/3 383/897/3 -f 384/898/3 386/900/64 385/899/64 -f 386/900/64 388/902/65 387/901/65 -f 388/902/65 366/878/2 365/880/2 -f 428/903/66 429/940/67 441/904/67 -f 428/906/66 440/1476/66 439/907/68 -f 438/909/69 427/943/68 439/910/68 -f 438/912/69 450/1477/69 449/913/70 -f 436/915/71 437/946/70 449/916/70 -f 436/918/71 448/1478/71 447/919/72 -f 435/921/72 447/1479/72 446/922/73 -f 433/924/74 434/950/73 446/925/73 -f 433/927/74 445/1480/74 444/928/75 -f 431/930/76 432/953/75 444/931/75 -f 430/933/77 431/955/76 443/934/76 -f 430/936/77 442/1481/77 441/937/67 -f 452/939/78 453/1482/79 429/940/79 -f 451/941/80 452/1483/78 428/906/78 -f 438/909/81 462/1484/81 451/942/80 -f 461/944/82 462/1485/81 438/912/81 -f 436/915/83 460/1486/83 461/945/82 -f 459/947/84 460/1487/83 436/918/83 -f 434/923/85 458/1488/85 459/948/84 -f 433/924/86 457/1489/86 458/949/85 -f 456/951/87 457/1490/86 433/927/86 -f 455/952/88 456/1491/87 432/953/87 -f 454/954/89 455/1492/88 431/955/88 -f 453/956/79 454/1493/89 430/936/89 -f 508/957/21 520/970/94 519/958/90 -f 503/960/3 515/980/100 526/961/91 -f 505/963/16 517/972/95 516/964/92 -f 512/966/4 524/974/96 523/967/93 -f 509/969/5 521/1494/97 520/970/94 -f 506/971/8 518/978/98 517/972/95 -f 513/973/10 525/979/99 524/974/96 -f 510/975/13 522/981/101 521/976/97 -f 507/959/19 519/958/90 518/978/98 -f 514/962/14 526/961/91 525/979/99 -f 504/965/12 516/964/92 515/980/100 -f 511/968/17 523/967/93 522/981/101 -f 525/979/99 537/986/106 536/982/102 -f 522/981/101 534/988/108 533/983/103 -f 519/958/90 531/990/110 530/984/104 -f 525/979/99 526/961/91 538/985/105 -f 516/964/92 528/991/111 527/987/107 -f 523/967/93 535/992/112 534/988/108 -f 519/958/90 520/970/94 532/989/109 -f 515/980/100 527/987/107 538/985/105 -f 517/972/95 529/994/113 528/991/111 -f 524/974/96 536/982/102 535/992/112 -f 520/970/94 521/1494/97 533/993/103 -f 518/978/98 530/984/104 529/994/113 -f 566/1007/4 578/1020/4 577/1008/17 -f 563/1010/5 575/1022/5 574/1011/21 -f 570/1013/12 582/1023/12 581/1014/3 -f 560/1016/8 571/1025/8 572/1017/16 -f 567/1019/10 579/1027/10 578/1020/4 -f 564/1021/13 576/1028/13 575/1022/5 -f 559/1018/16 572/1017/16 582/1023/12 -f 561/1024/19 573/1030/19 571/1025/8 -f 568/1026/14 580/1031/14 579/1027/10 -f 565/1009/17 577/1008/17 576/1028/13 -f 562/1029/21 574/1495/21 573/1030/19 -f 568/1026/14 569/1015/3 581/1014/3 -f 599/1032/5 600/1044/13 588/1033/13 -f 606/1035/12 595/1055/16 583/1036/16 -f 596/1038/8 597/1046/19 585/1039/19 -f 603/1041/10 604/1048/14 592/1042/14 -f 600/1044/13 601/1050/17 589/1045/17 -f 597/1046/19 598/1496/21 586/1047/21 -f 604/1048/14 605/1054/3 593/1049/3 -f 601/1050/17 602/1056/4 590/1051/4 -f 598/1052/21 599/1032/5 587/1034/5 -f 605/1054/3 606/1035/12 594/1037/12 -f 595/1055/16 596/1038/8 584/1040/8 -f 602/1056/4 603/1041/10 591/1043/10 -f 624/1057/114 630/1069/145 649/1058/115 -f 616/459/117 617/445/118 611/447/118 -f 614/463/119 615/461/1 609/455/1 -f 615/461/1 616/459/117 610/457/117 -f 613/450/120 614/463/119 608/451/119 -f 634/1060/121 627/1497/2 619/1061/2 -f 628/1063/122 629/1498/123 621/1064/123 -f 633/1066/124 634/1060/121 626/1062/121 -f 619/1061/2 627/1497/2 628/1063/122 -f 624/1057/125 639/1079/135 640/1068/126 -f 618/1070/128 612/1080/136 635/1071/129 -f 623/1073/131 622/1082/138 637/1074/132 -f 630/1069/127 640/1068/126 641/1076/133 -f 623/1078/131 638/1499/131 639/1079/135 -f 612/1080/136 632/1083/137 642/1081/137 -f 622/1082/138 618/1070/128 636/1072/130 -f 631/1077/134 641/1076/133 642/1081/137 -f 618/1070/139 645/1089/148 644/1084/140 -f 623/1073/142 647/1500/142 646/1085/143 -f 630/1069/145 631/1077/149 650/1086/146 -f 623/1078/142 624/1057/114 648/1059/116 -f 612/1080/141 644/1084/140 643/1088/147 -f 622/1082/144 646/1085/143 645/1089/148 -f 631/1077/149 632/1083/147 643/1088/147 -f 653/1090/150 661/1501/159 660/1091/151 -f 658/1093/153 666/1104/161 665/1094/154 -f 656/1096/156 664/1105/162 663/1097/157 -f 654/1099/158 662/1106/163 661/1100/159 -f 651/1102/160 652/1092/152 660/1091/151 -f 658/1093/153 651/1102/160 659/1103/160 -f 657/1095/155 665/1094/154 664/1105/162 -f 655/1098/157 663/1097/157 662/1106/163 -f 652/1107/152 668/1117/167 669/1108/8 -f 657/1095/155 673/1119/4 674/1110/164 -f 655/1111/157 671/1120/1 672/1112/165 -f 653/1113/150 669/1502/8 670/1114/166 -f 651/1116/160 667/1118/2 668/1117/167 -f 658/1093/153 674/1110/164 667/1118/2 -f 656/1096/156 672/1112/165 673/1119/4 -f 654/1115/158 670/1114/166 671/1120/1 -f 664/1105/162 680/1130/169 679/1121/1 -f 662/1123/163 678/1131/6 677/1124/5 -f 660/1126/151 676/1133/7 675/1127/2 -f 659/1128/160 675/1127/2 682/1129/168 -f 665/1094/154 681/1134/3 680/1130/169 -f 663/1122/157 679/1121/1 678/1131/6 -f 661/1132/159 677/1503/5 676/1133/7 -f 666/1104/161 682/1129/168 681/1134/3 -f 684/1135/152 685/1504/150 693/1136/159 -f 689/1138/155 690/1149/153 698/1139/161 -f 688/1141/156 696/1150/162 695/1142/157 -f 685/1144/150 686/1151/158 694/1145/163 -f 683/1147/160 684/1135/152 692/1137/151 -f 690/1149/153 683/1147/160 691/1148/160 -f 689/1138/155 697/1140/154 696/1150/162 -f 687/1143/157 695/1142/157 694/1145/163 -f 684/1152/152 700/1162/167 701/1153/8 -f 689/1138/155 705/1164/4 706/1155/164 -f 687/1156/157 703/1165/1 704/1157/165 -f 685/1158/150 701/1505/8 702/1159/166 -f 683/1161/160 699/1163/2 700/1162/167 -f 690/1149/153 706/1155/164 699/1163/2 -f 688/1141/156 704/1157/165 705/1164/4 -f 686/1160/158 702/1159/166 703/1165/1 -f 696/1150/162 712/1175/169 711/1166/1 -f 694/1168/163 710/1176/6 709/1169/5 -f 692/1171/151 708/1178/7 707/1172/2 -f 691/1173/160 707/1172/2 714/1174/168 -f 697/1140/154 713/1179/3 712/1175/169 -f 695/1167/157 711/1166/1 710/1176/6 -f 693/1177/159 709/1506/5 708/1178/7 -f 698/1139/161 714/1174/168 713/1179/3 -f 721/1180/170 729/1193/183 730/1181/171 -f 719/1183/173 727/1194/184 728/1184/174 -f 717/1186/176 725/1197/185 726/1187/177 -f 715/1189/179 723/1192/182 724/1190/180 -f 722/1182/172 730/1181/171 723/1192/182 -f 720/1185/175 728/1184/174 729/1193/183 -f 718/1188/178 726/1187/177 727/1194/184 -f 716/1191/181 724/1190/180 725/1195/185 -f 725/1197/185 733/1507/167 734/1198/186 -f 724/1190/180 723/1201/182 731/1199/187 -f 723/1201/182 730/1209/171 737/1202/189 -f 726/1187/177 734/1198/186 735/1203/190 -f 724/1190/180 732/1200/188 733/1205/167 -f 727/1204/184 735/1203/190 736/1206/191 -f 736/1206/191 735/1203/190 742/1210/192 -f 734/1198/186 733/1507/167 740/1212/194 -f 731/1199/187 738/1215/196 739/1214/195 -f 737/1202/189 744/1217/169 738/1215/196 -f 735/1203/190 734/1198/186 741/1213/7 -f 732/1200/188 739/1214/195 740/1216/194 -f 742/1218/192 749/1228/202 750/1219/197 -f 744/1221/169 729/1227/183 745/1222/198 -f 741/1224/7 740/1508/194 747/1225/200 -f 743/1220/193 750/1219/197 745/1222/198 -f 741/1224/7 748/1226/201 749/1228/202 -f 740/1229/194 739/1240/195 746/1230/203 -f 746/1230/203 753/1241/210 754/1232/204 -f 750/1219/197 757/1235/207 752/1233/205 -f 750/1219/197 749/1228/202 756/1234/206 -f 748/1226/201 747/1225/200 754/1236/204 -f 751/1223/199 745/1222/198 752/1233/205 -f 749/1228/202 748/1226/201 755/1237/208 -f 738/1242/196 759/1248/213 761/1243/211 -f 757/1235/207 765/1249/214 760/1245/212 -f 758/1247/209 766/1252/217 759/1248/213 -f 756/1234/206 764/1253/218 765/1249/214 -f 755/1237/208 754/1509/204 762/1250/215 -f 752/1246/205 760/1245/212 766/1252/217 -f 755/1237/208 763/1251/216 764/1253/218 -f 753/1244/210 761/1243/211 762/1254/215 -f 765/1249/214 764/1253/218 771/1256/219 -f 763/1251/216 762/1510/215 769/1258/221 -f 760/1260/212 767/1266/225 773/1261/223 -f 763/1251/216 770/1259/222 771/1256/219 -f 762/1263/215 761/1276/211 768/1264/224 -f 765/1249/214 772/1257/220 767/1266/225 -f 772/1257/220 779/1269/228 774/1267/226 -f 772/1257/220 771/1256/219 778/1268/227 -f 770/1259/222 769/1258/221 776/1270/229 -f 767/1266/225 774/1267/226 780/1272/231 -f 770/1259/222 777/1271/230 778/1268/227 -f 769/1265/221 768/1264/224 775/1273/232 -f 759/1277/213 781/1283/234 783/1278/233 -f 779/1269/228 787/1284/235 782/1280/165 -f 780/1282/231 788/1287/237 781/1283/234 -f 778/1268/227 786/1288/238 787/1284/235 -f 776/1285/229 784/1511/239 785/1286/236 -f 774/1281/226 782/1280/165 788/1287/237 -f 777/1271/230 785/1286/236 786/1288/238 -f 775/1279/232 783/1278/233 784/1289/239 -f 785/1286/236 784/1511/239 791/1291/167 -f 781/1293/234 788/1311/237 795/1294/191 -f 786/1296/238 785/1286/236 792/1292/188 -f 783/1278/233 790/1299/186 791/1298/167 -f 781/1293/234 789/1295/190 790/1299/186 -f 786/1296/238 793/1297/187 794/1300/189 -f 789/1295/190 796/1307/184 797/1302/177 -f 793/1297/187 800/1308/182 801/1303/171 -f 792/1292/188 791/1291/167 798/1304/185 -f 789/1295/190 795/1294/191 802/1306/174 -f 793/1297/187 792/1292/188 799/1305/180 -f 790/1299/186 797/1302/177 798/1309/185 -f 782/1312/165 803/1318/170 810/1313/175 -f 796/1315/184 804/1323/7 805/1316/178 -f 801/1317/171 809/1320/172 803/1318/170 -f 800/1319/182 808/1324/179 809/1320/172 -f 799/1305/180 798/1304/185 806/1321/176 -f 802/1314/174 810/1313/175 804/1323/7 -f 799/1305/180 807/1322/181 808/1324/179 -f 797/1302/177 805/1316/178 806/1325/176 -f 721/1326/170 722/1182/172 817/1327/240 -f 718/1329/178 814/1342/249 813/1330/242 -f 716/1191/181 812/1336/244 811/1332/169 -f 722/1182/172 715/1189/179 811/1332/169 -f 720/1333/175 721/1326/170 816/1328/241 -f 717/1335/176 813/1512/242 812/1336/244 -f 811/1332/169 818/1344/250 824/1337/165 -f 816/1328/241 823/1341/248 822/1338/245 -f 812/1336/244 813/1512/242 820/1339/246 -f 817/1327/240 824/1337/165 823/1341/248 -f 814/1342/249 821/1346/167 820/1343/246 -f 812/1336/244 819/1340/247 818/1344/250 -f 719/1347/173 825/1513/200 828/1348/203 -f 822/1350/245 823/1353/248 830/1351/202 -f 823/1353/248 824/1360/165 831/1354/197 -f 818/1355/250 819/1369/247 827/1356/199 -f 822/1350/245 829/1352/201 825/1358/200 -f 824/1360/165 818/1355/250 826/1357/198 -f 828/1348/203 825/1513/200 832/1361/251 -f 831/1354/197 838/1367/256 837/1363/253 -f 827/1356/199 834/1370/257 833/1364/254 -f 825/1358/200 829/1352/201 836/1365/255 -f 826/1357/198 833/1364/254 838/1367/256 -f 829/1352/201 830/1351/202 837/1363/253 -f 832/1371/251 840/1514/239 843/1372/236 -f 838/1367/256 846/1383/237 845/1374/234 -f 834/1375/257 842/1379/235 841/1376/165 -f 820/1378/246 839/1382/238 842/1379/235 -f 836/1365/255 844/1384/233 840/1380/239 -f 835/1373/252 843/1372/236 839/1382/238 -f 833/1377/254 841/1376/165 846/1383/237 -f 837/1363/253 845/1374/234 844/1384/233 -f 809/1320/172 852/1394/240 847/1385/241 -f 808/1324/179 807/1322/181 850/1387/244 -f 805/1389/178 848/1405/249 849/1390/242 -f 803/1386/170 847/1385/241 853/1392/243 -f 808/1324/179 851/1388/169 852/1394/240 -f 807/1322/181 806/1515/176 849/1395/242 -f 852/1394/240 859/1402/264 854/1396/258 -f 851/1388/169 850/1387/244 857/1397/259 -f 849/1390/242 848/1405/249 855/1399/261 -f 847/1385/241 854/1396/258 860/1401/263 -f 851/1388/169 858/1398/260 859/1402/264 -f 850/1387/244 849/1395/242 856/1403/262 -f 859/1402/264 867/1418/271 862/1406/265 -f 858/1398/260 857/1397/259 865/1408/266 -f 855/1410/261 863/1414/269 864/1411/268 -f 804/1413/7 861/1417/168 863/1414/269 -f 854/1407/258 862/1406/265 868/1415/270 -f 804/1413/7 860/1416/263 868/1415/270 -f 858/1398/260 866/1409/267 867/1418/271 -f 857/1397/259 856/1516/262 864/1419/268 -f 839/1420/238 869/1426/187 871/1421/189 -f 844/1384/233 873/1425/186 870/1423/167 -f 845/1424/234 874/1430/190 873/1425/186 -f 843/1372/236 872/1428/188 869/1426/187 -f 843/1372/236 840/1514/239 870/1427/167 -f 846/1429/237 875/1438/191 874/1430/190 -f 869/1426/187 872/1428/188 879/1431/180 -f 872/1428/188 870/1427/167 877/1433/185 -f 873/1425/186 874/1430/190 881/1434/184 -f 871/1421/189 869/1426/187 876/1432/182 -f 873/1425/186 880/1435/177 877/1437/185 -f 875/1438/191 882/1440/174 881/1434/184 -f 877/1433/185 885/1517/277 887/1441/272 -f 881/1434/184 889/1452/278 888/1442/273 -f 841/1443/165 883/1450/276 890/1444/274 -f 862/1446/265 884/1457/282 896/1447/275 -f 878/1449/171 886/1470/284 883/1450/276 -f 880/1435/177 888/1442/273 885/1451/277 -f 882/1445/174 890/1444/274 889/1452/278 -f 866/1409/267 894/1458/6 895/1454/279 -f 865/1408/266 864/1518/268 892/1455/280 -f 867/1418/271 895/1454/279 884/1457/282 -f 866/1409/267 865/1408/266 893/1456/281 -f 864/1459/268 863/1463/269 891/1460/283 -f 888/1442/273 889/1452/278 894/1458/6 -f 889/1452/278 890/1444/274 895/1454/279 -f 884/1457/282 895/1454/279 890/1444/274 -f 883/1464/276 886/1468/284 896/1447/275 -f 885/1465/277 888/1442/273 893/1456/281 -f 885/1466/277 892/1461/280 891/1460/283 -f 876/1469/182 861/1519/168 886/1470/284 -f 887/1441/272 861/1519/168 876/1469/182 +f 509/716/173 520/1053/169 508/718/169 +f 501/707/170 514/1054/163 502/709/163 +f 494/722/178 482/1055/163 495/973/163 +f 510/714/164 521/1056/173 509/716/173 +f 503/705/174 513/1057/170 501/707/170 +f 495/721/163 481/1058/170 496/719/170 +f 511/712/176 522/1059/164 510/714/164 +f 504/703/165 515/1060/174 503/705/174 +f 496/719/170 480/1061/174 497/717/174 +f 512/710/178 523/1062/176 511/712/176 +f 489/708/162 488/1063/169 490/706/169 +f 505/701/167 516/1064/165 504/703/165 +f 497/717/174 479/1065/165 498/715/165 +f 502/709/163 524/1066/178 512/710/178 +f 490/706/169 486/1067/173 491/704/173 +f 506/700/171 517/1068/167 505/701/167 +f 498/715/165 478/1069/167 499/713/167 +f 491/704/173 485/1070/164 492/702/164 +f 507/723/162 518/1071/171 506/700/171 +f 499/713/167 477/1072/171 500/711/171 +f 492/702/164 484/1073/176 493/699/176 +f 508/718/169 519/1074/162 507/720/162 +f 500/711/171 487/1075/162 489/708/162 +f 493/699/176 483/1076/178 494/722/178 +f 526/744/169 534/1077/162 525/742/162 +f 531/740/171 539/1078/167 530/739/167 +f 527/746/173 535/1079/169 526/744/169 +f 525/742/162 540/1080/171 531/740/171 +f 528/725/164 536/1081/173 527/746/173 +f 530/739/167 538/1082/165 529/737/165 +f 541/1083/162 554/766/171 547/1084/171 +f 546/1085/167 552/770/180 545/1086/165 +f 543/1087/173 549/762/169 542/1088/169 +f 547/1084/171 553/768/167 546/1085/167 +f 544/1089/164 550/759/173 543/1087/173 +f 542/1088/169 548/765/162 541/1083/162 +f 558/1090/170 562/752/163 557/1091/163 +f 556/1092/178 560/749/176 555/1093/176 +f 559/1094/174 563/978/170 558/1090/170 +f 557/1095/163 561/747/178 556/1092/178 +f 560/749/176 570/774/181 551/776/182 +f 559/1094/174 552/770/180 564/755/174 +f 1023/1096/176 585/735/164 1022/1097/164 +f 1016/1098/165 592/745/174 1015/1099/174 +f 1019/1100/162 589/728/171 1018/1101/171 +f 1022/1097/164 586/736/173 1021/1102/173 +f 1015/1099/174 593/976/170 1014/1103/170 +f 1013/1104/163 532/741/178 1024/1105/178 +f 1018/1101/171 590/724/167 1017/1106/167 +f 1021/1102/173 587/732/169 1020/1107/169 +f 1014/1103/170 594/743/163 1013/1104/163 +f 1024/1105/178 533/738/176 1023/1096/176 +f 1017/1106/167 591/726/165 1016/1098/165 +f 1020/1107/169 588/975/162 1019/1108/162 +f 612/734/174 618/1109/170 613/733/170 +f 614/730/163 616/1110/178 611/729/178 +f 611/729/178 615/1111/176 610/727/176 +f 613/733/170 619/1112/163 614/731/163 +f 610/727/176 537/1113/164 528/725/164 +f 617/1114/174 529/737/165 538/1082/165 +f 631/1115/160 632/1116/183 630/1117/160 +f 633/1118/183 634/1119/184 632/1116/183 +f 634/1119/184 637/1120/163 636/1121/163 +f 637/1122/163 638/1123/185 636/1124/163 +f 639/1125/185 640/1126/186 638/1123/185 +f 641/1127/186 642/1128/161 640/1126/186 +f 643/1129/161 644/1130/187 642/1128/161 +f 645/1131/187 646/1132/188 644/1130/187 +f 647/1133/188 648/1134/162 646/1132/188 +f 649/1135/162 650/1136/189 648/1134/162 +f 651/1137/189 652/1138/190 650/1136/189 +f 653/1139/190 630/1117/160 652/1138/190 +f 669/1140/191 682/1141/192 681/1142/191 +f 669/1143/191 680/1144/193 668/1145/193 +f 679/1146/194 680/1147/193 691/1148/194 +f 679/1149/194 690/1150/195 678/1151/195 +f 677/1152/196 690/1153/195 689/1154/196 +f 677/1155/196 688/1156/197 676/1157/197 +f 676/1158/197 687/1159/198 675/1160/198 +f 674/1161/199 687/1162/198 686/1163/199 +f 674/1164/199 685/1165/200 673/1166/200 +f 672/1167/201 685/1168/200 684/1169/201 +f 671/1170/202 684/1171/201 683/1172/202 +f 671/1173/202 682/1174/192 670/1175/192 +f 693/1176/203 670/1177/204 669/1140/203 +f 692/1178/205 669/1143/203 668/1145/205 +f 679/1146/206 692/1179/205 668/1180/205 +f 702/1181/207 679/1149/206 678/1151/207 +f 677/1152/208 702/1182/207 678/1183/207 +f 700/1184/209 677/1155/208 676/1157/209 +f 675/1160/210 700/1185/209 676/1158/209 +f 674/1161/211 699/1186/210 675/1187/210 +f 697/1188/212 674/1164/211 673/1166/212 +f 696/1189/213 673/1190/212 672/1167/213 +f 695/1191/214 672/1192/213 671/1170/214 +f 694/1193/204 671/1173/214 670/1175/204 +f 761/1194/215 770/1195/216 762/1196/217 +f 759/1197/218 768/1198/219 760/1199/220 +f 757/1200/221 766/1201/222 758/1202/223 +f 755/1203/224 764/1204/225 756/1205/226 +f 762/1196/217 763/1206/227 755/1203/224 +f 760/1199/220 769/1207/228 761/1194/215 +f 758/1202/223 767/1208/229 759/1197/218 +f 756/1205/226 765/1209/230 757/1210/221 +f 765/1211/230 774/1212/231 766/1201/222 +f 764/1204/225 771/1213/232 772/1214/233 +f 763/1215/227 777/1216/234 771/1213/232 +f 766/1201/222 775/1217/235 767/1218/229 +f 764/1204/225 773/1219/236 765/1209/230 +f 767/1218/229 776/1220/237 768/1221/219 +f 769/1222/228 777/1216/234 770/1223/216 +f 768/1221/219 776/1220/237 769/1222/228 +f 776/1220/237 782/1224/238 783/1225/239 +f 774/1212/231 780/1226/240 781/1227/241 +f 771/1213/232 779/1228/242 772/1214/233 +f 777/1216/234 778/1229/243 771/1213/232 +f 775/1217/235 781/1227/241 782/1224/238 +f 772/1214/233 780/1230/240 773/1219/236 +f 777/1216/234 769/1222/228 784/1231/244 +f 776/1220/237 783/1225/239 769/1222/228 +f 782/1232/238 790/1233/245 783/1234/239 +f 784/1235/244 785/1236/246 791/1237/247 +f 781/1238/241 787/1239/248 788/1240/249 +f 783/1234/239 785/1236/246 769/1241/228 +f 781/1238/241 789/1242/250 782/1232/238 +f 780/1243/240 786/1244/251 787/1245/248 +f 786/1244/251 794/1246/252 787/1245/248 +f 790/1233/245 792/1247/253 785/1236/246 +f 790/1233/245 796/1248/254 797/1249/255 +f 788/1240/249 794/1250/252 795/1251/256 +f 791/1237/247 792/1247/253 798/1252/257 +f 789/1242/250 795/1251/256 796/1248/254 +f 784/1235/244 791/1237/247 778/1253/243 +f 791/1237/247 798/1252/257 778/1253/243 +f 778/1253/243 786/1244/251 779/1254/242 +f 786/1244/251 778/1253/243 793/1255/258 +f 778/1256/243 801/1257/259 793/1258/258 +f 797/1249/255 800/1259/260 792/1260/253 +f 798/1261/257 799/1262/261 778/1256/243 +f 796/1248/254 805/1263/262 797/1249/255 +f 795/1251/256 802/1264/263 803/1265/264 +f 792/1260/253 806/1266/265 798/1261/257 +f 795/1251/256 804/1267/266 796/1248/254 +f 793/1258/258 802/1268/263 794/1269/252 +f 805/1263/262 811/1270/267 812/1271/268 +f 803/1265/264 809/1272/269 810/1273/270 +f 800/1274/260 813/1275/271 806/1276/265 +f 803/1265/264 811/1270/267 804/1267/266 +f 802/1277/263 808/1278/272 809/1279/269 +f 805/1263/262 807/1280/273 800/1274/260 +f 812/1271/268 814/1281/274 807/1280/273 +f 812/1271/268 818/1282/275 819/1283/276 +f 810/1273/270 816/1284/277 817/1285/278 +f 807/1280/273 820/1286/279 813/1275/271 +f 810/1273/270 818/1282/275 811/1270/267 +f 809/1279/269 815/1287/280 816/1288/277 +f 806/1276/265 813/1275/271 799/1289/261 +f 813/1275/271 820/1286/279 799/1289/261 +f 799/1289/261 808/1278/272 801/1290/259 +f 808/1278/272 799/1289/261 815/1287/280 +f 799/1291/261 823/1292/281 815/1293/280 +f 819/1283/276 822/1294/282 814/1295/274 +f 820/1296/279 821/1297/283 799/1291/261 +f 818/1282/275 827/1298/284 819/1283/276 +f 816/1299/277 825/1300/285 817/1285/278 +f 814/1295/274 828/1301/286 820/1296/279 +f 817/1285/278 826/1302/287 818/1282/275 +f 815/1293/280 824/1303/288 816/1304/277 +f 825/1300/285 831/1305/236 832/1306/233 +f 821/1307/283 835/1308/237 829/1309/235 +f 826/1310/287 832/1306/233 833/1311/232 +f 823/1292/281 831/1312/236 824/1303/288 +f 821/1307/283 830/1313/231 823/1292/281 +f 826/1310/287 834/1314/234 827/1315/284 +f 829/1309/235 837/1316/222 830/1313/231 +f 833/1311/232 841/1317/216 834/1314/234 +f 832/1306/233 838/1318/230 839/1319/225 +f 829/1309/235 842/1320/219 836/1321/229 +f 833/1311/232 839/1319/225 840/1322/227 +f 830/1313/231 838/1323/230 831/1312/236 +f 827/1315/284 834/1314/234 822/1324/282 +f 834/1314/234 841/1317/216 822/1324/282 +f 828/1325/286 822/1324/282 835/1308/237 +f 835/1308/237 822/1324/282 842/1320/219 +f 822/1326/282 850/1327/220 842/1328/219 +f 836/1329/229 845/1330/223 837/1316/222 +f 841/1331/216 843/1332/215 822/1326/282 +f 840/1333/227 849/1334/217 841/1331/216 +f 839/1319/225 846/1335/221 847/1336/226 +f 842/1328/219 844/1337/241 836/1329/229 +f 839/1319/225 848/1338/224 840/1333/227 +f 837/1316/222 846/1339/221 838/1323/230 +f 761/1340/215 857/1341/289 856/1342/290 +f 758/1343/223 853/1344/291 757/1345/221 +f 756/1205/226 851/1346/244 755/1203/224 +f 762/1196/217 851/1346/244 857/1341/289 +f 760/1347/220 856/1342/290 855/1348/292 +f 757/1349/221 852/1350/293 756/1205/226 +f 851/1346/244 864/1351/282 857/1341/289 +f 856/1342/290 862/1352/294 855/1348/292 +f 852/1350/293 860/1353/295 859/1354/296 +f 857/1341/289 863/1355/297 856/1342/290 +f 854/1356/298 860/1357/295 853/1344/291 +f 852/1350/293 858/1358/299 851/1346/244 +f 758/1343/223 759/1359/218 854/1356/298 +f 854/1356/298 759/1359/218 861/1360/236 +f 760/1347/220 855/1348/292 759/1359/218 +f 855/1348/292 862/1352/294 759/1359/218 +f 759/1361/218 868/1362/251 861/1363/236 +f 862/1364/294 870/1365/250 869/1366/249 +f 863/1367/297 871/1368/245 870/1365/250 +f 858/1369/299 867/1370/247 866/1371/246 +f 862/1364/294 865/1372/248 759/1373/218 +f 864/1374/282 866/1371/246 871/1368/245 +f 868/1362/251 872/1375/300 875/1376/301 +f 871/1368/245 877/1377/302 870/1365/250 +f 867/1370/247 873/1378/303 866/1371/246 +f 865/1372/248 876/1379/304 872/1380/300 +f 866/1371/246 878/1381/305 871/1368/245 +f 869/1366/249 877/1377/302 876/1379/304 +f 861/1363/236 868/1362/251 860/1382/295 +f 868/1362/251 875/1376/301 860/1382/295 +f 859/1383/296 860/1382/295 867/1370/247 +f 867/1370/247 860/1382/295 874/1384/306 +f 872/1385/300 883/1386/285 875/1387/301 +f 878/1381/305 885/1388/283 877/1377/302 +f 874/1389/306 881/1390/282 873/1391/303 +f 860/1392/295 882/1393/284 874/1389/306 +f 876/1379/304 880/1394/288 872/1395/300 +f 875/1387/301 879/1396/287 860/1392/295 +f 873/1391/303 886/1397/286 878/1381/305 +f 877/1377/302 884/1398/281 876/1379/304 +f 849/1334/217 887/1399/290 843/1400/215 +f 848/1338/224 890/1401/293 891/1402/244 +f 845/1403/223 889/1404/291 846/1405/221 +f 843/1400/215 893/1406/292 850/1407/220 +f 848/1338/224 892/1408/289 849/1334/217 +f 847/1336/226 889/1409/291 890/1401/293 +f 892/1408/289 894/1410/307 887/1399/290 +f 891/1402/244 897/1411/308 898/1412/309 +f 889/1404/291 895/1413/310 896/1414/311 +f 887/1399/290 900/1415/312 893/1406/292 +f 891/1402/244 899/1416/313 892/1408/289 +f 890/1401/293 896/1417/311 897/1411/308 +f 850/1407/220 893/1406/292 844/1418/241 +f 893/1406/292 900/1415/312 844/1418/241 +f 844/1418/241 888/1419/298 845/1403/223 +f 888/1419/298 844/1418/241 895/1413/310 +f 899/1416/313 902/1420/314 894/1421/307 +f 898/1412/309 905/1422/315 906/1423/316 +f 895/1424/310 904/1425/317 896/1426/311 +f 844/1427/241 903/1428/318 895/1424/310 +f 894/1421/307 908/1429/319 900/1430/312 +f 844/1427/241 908/1429/319 901/1431/320 +f 898/1412/309 907/1432/321 899/1416/313 +f 897/1411/308 904/1433/317 905/1422/315 +f 879/1434/287 911/1435/234 882/1436/284 +f 884/1398/281 910/1437/236 880/1394/288 +f 885/1438/283 913/1439/231 884/1398/281 +f 883/1386/285 909/1440/232 879/1434/287 +f 883/1386/285 910/1441/236 912/1442/233 +f 886/1443/286 914/1444/235 885/1438/283 +f 909/1440/232 919/1445/225 916/1446/227 +f 912/1442/233 917/1447/230 919/1445/225 +f 913/1439/231 921/1448/229 920/1449/222 +f 911/1435/234 916/1446/227 918/1450/216 +f 913/1439/231 917/1451/230 910/1437/236 +f 915/1452/237 921/1448/229 914/1444/235 +f 882/1436/284 911/1435/234 881/1453/282 +f 911/1435/234 918/1450/216 881/1453/282 +f 886/1443/286 881/1453/282 915/1452/237 +f 915/1452/237 881/1453/282 922/1454/219 +f 917/1447/230 927/1455/322 919/1445/225 +f 921/1448/229 928/1456/323 920/1449/222 +f 881/1457/282 930/1458/324 922/1459/219 +f 902/1460/314 936/1461/325 908/1462/319 +f 918/1463/216 923/1464/326 881/1457/282 +f 920/1449/222 925/1465/327 917/1451/230 +f 922/1459/219 929/1466/328 921/1467/229 +f 906/1423/316 935/1468/329 907/1432/321 +f 905/1422/315 932/1469/330 933/1470/331 +f 907/1432/321 924/1471/332 902/1460/314 +f 906/1423/316 933/1470/331 934/1472/179 +f 904/1473/317 931/1474/333 932/1475/330 +f 901/1476/320 931/1474/333 903/1477/318 +f 908/1462/319 936/1461/325 901/1476/320 +f 928/1456/323 934/1472/179 933/1470/331 +f 929/1466/328 935/1468/329 934/1472/179 +f 924/1471/332 930/1458/324 923/1478/326 +f 923/1478/326 936/1461/325 924/1471/332 +f 925/1479/327 933/1470/331 932/1469/330 +f 925/1480/327 931/1474/333 927/1481/322 +f 931/1474/333 901/1476/320 927/1481/322 +f 936/1461/325 926/1482/334 901/1476/320 +f 916/1483/227 926/1484/334 918/1463/216 +f 927/1455/322 916/1483/227 919/1445/225 +f 509/716/173 521/1056/173 520/1053/169 +f 501/707/170 513/1057/170 514/1054/163 +f 494/722/178 483/1076/178 482/1055/163 +f 510/714/164 522/1059/164 521/1056/173 +f 503/705/174 515/1060/174 513/1057/170 +f 495/721/163 482/1485/163 481/1058/170 +f 511/712/176 523/1062/176 522/1059/164 +f 504/703/165 516/1064/165 515/1060/174 +f 496/719/170 481/1058/170 480/1061/174 +f 512/710/178 524/1066/178 523/1062/176 +f 489/708/162 487/1075/162 488/1063/169 +f 505/701/167 517/1068/167 516/1064/165 +f 497/717/174 480/1061/174 479/1065/165 +f 502/709/163 514/1054/163 524/1066/178 +f 490/706/169 488/1063/169 486/1067/173 +f 506/700/171 518/1071/171 517/1068/167 +f 498/715/165 479/1065/165 478/1069/167 +f 491/704/173 486/1067/173 485/1070/164 +f 507/723/162 519/1486/162 518/1071/171 +f 499/713/167 478/1069/167 477/1072/171 +f 492/702/164 485/1070/164 484/1073/176 +f 508/718/169 520/1053/169 519/1074/162 +f 500/711/171 477/1072/171 487/1075/162 +f 493/699/176 484/1073/176 483/1076/178 +f 526/744/169 535/1079/169 534/1077/162 +f 531/740/171 540/1080/171 539/1078/167 +f 527/746/173 536/1081/173 535/1079/169 +f 525/742/162 534/1077/162 540/1080/171 +f 528/725/164 537/1113/164 536/1081/173 +f 530/739/167 539/1078/167 538/1082/165 +f 541/1083/162 548/765/162 554/766/171 +f 546/1085/167 553/768/167 552/770/180 +f 543/1087/173 550/759/173 549/762/169 +f 547/1084/171 554/766/171 553/768/167 +f 544/1089/164 551/776/182 550/759/173 +f 542/1088/169 549/762/169 548/765/162 +f 558/1090/170 563/978/170 562/752/163 +f 556/1092/178 561/747/178 560/749/176 +f 559/1094/174 564/755/174 563/978/170 +f 557/1095/163 562/750/163 561/747/178 +f 551/776/182 544/1089/164 555/1093/176 +f 555/1093/176 560/749/176 551/776/182 +f 545/1086/165 552/770/180 559/1094/174 +f 552/770/180 571/773/335 564/755/174 +f 1023/1096/176 533/738/176 585/735/164 +f 1016/1098/165 591/726/165 592/745/174 +f 1019/1100/162 588/974/162 589/728/171 +f 1022/1097/164 585/735/164 586/736/173 +f 1015/1099/174 592/745/174 593/976/170 +f 1013/1104/163 594/743/163 532/741/178 +f 1018/1101/171 589/728/171 590/724/167 +f 1021/1102/173 586/736/173 587/732/169 +f 1014/1103/170 593/976/170 594/743/163 +f 1024/1105/178 532/741/178 533/738/176 +f 1017/1106/167 590/724/167 591/726/165 +f 1020/1107/169 587/732/169 588/975/162 +f 612/734/174 617/1114/174 618/1109/170 +f 614/730/163 619/1487/163 616/1110/178 +f 611/729/178 616/1110/178 615/1111/176 +f 613/733/170 618/1109/170 619/1112/163 +f 610/727/176 615/1111/176 537/1113/164 +f 617/1114/174 612/734/174 529/737/165 +f 631/1115/160 633/1118/183 632/1116/183 +f 633/1118/183 635/1488/184 634/1119/184 +f 634/1119/184 635/1488/184 637/1120/163 +f 637/1122/163 639/1125/185 638/1123/185 +f 639/1125/185 641/1127/186 640/1126/186 +f 641/1127/186 643/1129/161 642/1128/161 +f 643/1129/161 645/1131/187 644/1130/187 +f 645/1131/187 647/1133/188 646/1132/188 +f 647/1133/188 649/1135/162 648/1134/162 +f 649/1135/162 651/1137/189 650/1136/189 +f 651/1137/189 653/1139/190 652/1138/190 +f 653/1139/190 631/1115/160 630/1117/160 +f 669/1140/191 670/1177/192 682/1141/192 +f 669/1143/191 681/1489/191 680/1144/193 +f 679/1146/194 668/1180/193 680/1147/193 +f 679/1149/194 691/1490/194 690/1150/195 +f 677/1152/196 678/1183/195 690/1153/195 +f 677/1155/196 689/1491/196 688/1156/197 +f 676/1158/197 688/1492/197 687/1159/198 +f 674/1161/199 675/1187/198 687/1162/198 +f 674/1164/199 686/1493/199 685/1165/200 +f 672/1167/201 673/1190/200 685/1168/200 +f 671/1170/202 672/1192/201 684/1171/201 +f 671/1173/202 683/1494/202 682/1174/192 +f 693/1176/203 694/1495/204 670/1177/204 +f 692/1178/205 693/1496/203 669/1143/203 +f 679/1146/206 703/1497/206 692/1179/205 +f 702/1181/207 703/1498/206 679/1149/206 +f 677/1152/208 701/1499/208 702/1182/207 +f 700/1184/209 701/1500/208 677/1155/208 +f 675/1160/210 699/1501/210 700/1185/209 +f 674/1161/211 698/1502/211 699/1186/210 +f 697/1188/212 698/1503/211 674/1164/211 +f 696/1189/213 697/1504/212 673/1190/212 +f 695/1191/214 696/1505/213 672/1192/213 +f 694/1193/204 695/1506/214 671/1173/214 +f 761/1194/215 769/1207/228 770/1195/216 +f 759/1197/218 767/1208/229 768/1198/219 +f 757/1200/221 765/1211/230 766/1201/222 +f 755/1203/224 763/1206/227 764/1204/225 +f 762/1196/217 770/1195/216 763/1206/227 +f 760/1199/220 768/1198/219 769/1207/228 +f 758/1202/223 766/1201/222 767/1208/229 +f 756/1205/226 764/1204/225 765/1209/230 +f 765/1211/230 773/1507/236 774/1212/231 +f 764/1204/225 763/1215/227 771/1213/232 +f 763/1215/227 770/1223/216 777/1216/234 +f 766/1201/222 774/1212/231 775/1217/235 +f 764/1204/225 772/1214/233 773/1219/236 +f 767/1218/229 775/1217/235 776/1220/237 +f 776/1220/237 775/1217/235 782/1224/238 +f 774/1212/231 773/1507/236 780/1226/240 +f 771/1213/232 778/1229/243 779/1228/242 +f 777/1216/234 784/1231/244 778/1229/243 +f 775/1217/235 774/1212/231 781/1227/241 +f 772/1214/233 779/1228/242 780/1230/240 +f 782/1232/238 789/1242/250 790/1233/245 +f 784/1235/244 769/1241/228 785/1236/246 +f 781/1238/241 780/1508/240 787/1239/248 +f 783/1234/239 790/1233/245 785/1236/246 +f 781/1238/241 788/1240/249 789/1242/250 +f 780/1243/240 779/1254/242 786/1244/251 +f 786/1244/251 793/1255/258 794/1246/252 +f 790/1233/245 797/1249/255 792/1247/253 +f 790/1233/245 789/1242/250 796/1248/254 +f 788/1240/249 787/1239/248 794/1250/252 +f 791/1237/247 785/1236/246 792/1247/253 +f 789/1242/250 788/1240/249 795/1251/256 +f 778/1256/243 799/1262/261 801/1257/259 +f 797/1249/255 805/1263/262 800/1259/260 +f 798/1261/257 806/1266/265 799/1262/261 +f 796/1248/254 804/1267/266 805/1263/262 +f 795/1251/256 794/1509/252 802/1264/263 +f 792/1260/253 800/1259/260 806/1266/265 +f 795/1251/256 803/1265/264 804/1267/266 +f 793/1258/258 801/1257/259 802/1268/263 +f 805/1263/262 804/1267/266 811/1270/267 +f 803/1265/264 802/1510/263 809/1272/269 +f 800/1274/260 807/1280/273 813/1275/271 +f 803/1265/264 810/1273/270 811/1270/267 +f 802/1277/263 801/1290/259 808/1278/272 +f 805/1263/262 812/1271/268 807/1280/273 +f 812/1271/268 819/1283/276 814/1281/274 +f 812/1271/268 811/1270/267 818/1282/275 +f 810/1273/270 809/1272/269 816/1284/277 +f 807/1280/273 814/1281/274 820/1286/279 +f 810/1273/270 817/1285/278 818/1282/275 +f 809/1279/269 808/1278/272 815/1287/280 +f 799/1291/261 821/1297/283 823/1292/281 +f 819/1283/276 827/1298/284 822/1294/282 +f 820/1296/279 828/1301/286 821/1297/283 +f 818/1282/275 826/1302/287 827/1298/284 +f 816/1299/277 824/1511/288 825/1300/285 +f 814/1295/274 822/1294/282 828/1301/286 +f 817/1285/278 825/1300/285 826/1302/287 +f 815/1293/280 823/1292/281 824/1303/288 +f 825/1300/285 824/1511/288 831/1305/236 +f 821/1307/283 828/1325/286 835/1308/237 +f 826/1310/287 825/1300/285 832/1306/233 +f 823/1292/281 830/1313/231 831/1312/236 +f 821/1307/283 829/1309/235 830/1313/231 +f 826/1310/287 833/1311/232 834/1314/234 +f 829/1309/235 836/1321/229 837/1316/222 +f 833/1311/232 840/1322/227 841/1317/216 +f 832/1306/233 831/1305/236 838/1318/230 +f 829/1309/235 835/1308/237 842/1320/219 +f 833/1311/232 832/1306/233 839/1319/225 +f 830/1313/231 837/1316/222 838/1323/230 +f 822/1326/282 843/1332/215 850/1327/220 +f 836/1329/229 844/1337/241 845/1330/223 +f 841/1331/216 849/1334/217 843/1332/215 +f 840/1333/227 848/1338/224 849/1334/217 +f 839/1319/225 838/1318/230 846/1335/221 +f 842/1328/219 850/1327/220 844/1337/241 +f 839/1319/225 847/1336/226 848/1338/224 +f 837/1316/222 845/1330/223 846/1339/221 +f 761/1340/215 762/1196/217 857/1341/289 +f 758/1343/223 854/1356/298 853/1344/291 +f 756/1205/226 852/1350/293 851/1346/244 +f 762/1196/217 755/1203/224 851/1346/244 +f 760/1347/220 761/1340/215 856/1342/290 +f 757/1349/221 853/1512/291 852/1350/293 +f 851/1346/244 858/1358/299 864/1351/282 +f 856/1342/290 863/1355/297 862/1352/294 +f 852/1350/293 853/1512/291 860/1353/295 +f 857/1341/289 864/1351/282 863/1355/297 +f 854/1356/298 861/1360/236 860/1357/295 +f 852/1350/293 859/1354/296 858/1358/299 +f 759/1361/218 865/1513/248 868/1362/251 +f 862/1364/294 863/1367/297 870/1365/250 +f 863/1367/297 864/1374/282 871/1368/245 +f 858/1369/299 859/1383/296 867/1370/247 +f 862/1364/294 869/1366/249 865/1372/248 +f 864/1374/282 858/1369/299 866/1371/246 +f 868/1362/251 865/1513/248 872/1375/300 +f 871/1368/245 878/1381/305 877/1377/302 +f 867/1370/247 874/1384/306 873/1378/303 +f 865/1372/248 869/1366/249 876/1379/304 +f 866/1371/246 873/1378/303 878/1381/305 +f 869/1366/249 870/1365/250 877/1377/302 +f 872/1385/300 880/1514/288 883/1386/285 +f 878/1381/305 886/1397/286 885/1388/283 +f 874/1389/306 882/1393/284 881/1390/282 +f 860/1392/295 879/1396/287 882/1393/284 +f 876/1379/304 884/1398/281 880/1394/288 +f 875/1387/301 883/1386/285 879/1396/287 +f 873/1391/303 881/1390/282 886/1397/286 +f 877/1377/302 885/1388/283 884/1398/281 +f 849/1334/217 892/1408/289 887/1399/290 +f 848/1338/224 847/1336/226 890/1401/293 +f 845/1403/223 888/1419/298 889/1404/291 +f 843/1400/215 887/1399/290 893/1406/292 +f 848/1338/224 891/1402/244 892/1408/289 +f 847/1336/226 846/1515/221 889/1409/291 +f 892/1408/289 899/1416/313 894/1410/307 +f 891/1402/244 890/1401/293 897/1411/308 +f 889/1404/291 888/1419/298 895/1413/310 +f 887/1399/290 894/1410/307 900/1415/312 +f 891/1402/244 898/1412/309 899/1416/313 +f 890/1401/293 889/1409/291 896/1417/311 +f 899/1416/313 907/1432/321 902/1420/314 +f 898/1412/309 897/1411/308 905/1422/315 +f 895/1424/310 903/1428/318 904/1425/317 +f 844/1427/241 901/1431/320 903/1428/318 +f 894/1421/307 902/1420/314 908/1429/319 +f 844/1427/241 900/1430/312 908/1429/319 +f 898/1412/309 906/1423/316 907/1432/321 +f 897/1411/308 896/1516/311 904/1433/317 +f 879/1434/287 909/1440/232 911/1435/234 +f 884/1398/281 913/1439/231 910/1437/236 +f 885/1438/283 914/1444/235 913/1439/231 +f 883/1386/285 912/1442/233 909/1440/232 +f 883/1386/285 880/1514/288 910/1441/236 +f 886/1443/286 915/1452/237 914/1444/235 +f 909/1440/232 912/1442/233 919/1445/225 +f 912/1442/233 910/1441/236 917/1447/230 +f 913/1439/231 914/1444/235 921/1448/229 +f 911/1435/234 909/1440/232 916/1446/227 +f 913/1439/231 920/1449/222 917/1451/230 +f 915/1452/237 922/1454/219 921/1448/229 +f 917/1447/230 925/1517/327 927/1455/322 +f 921/1448/229 929/1466/328 928/1456/323 +f 881/1457/282 923/1464/326 930/1458/324 +f 902/1460/314 924/1471/332 936/1461/325 +f 918/1463/216 926/1484/334 923/1464/326 +f 920/1449/222 928/1456/323 925/1465/327 +f 922/1459/219 930/1458/324 929/1466/328 +f 906/1423/316 934/1472/179 935/1468/329 +f 905/1422/315 904/1518/317 932/1469/330 +f 907/1432/321 935/1468/329 924/1471/332 +f 906/1423/316 905/1422/315 933/1470/331 +f 904/1473/317 903/1477/318 931/1474/333 +f 928/1456/323 929/1466/328 934/1472/179 +f 929/1466/328 930/1458/324 935/1468/329 +f 924/1471/332 935/1468/329 930/1458/324 +f 923/1478/326 926/1482/334 936/1461/325 +f 925/1479/327 928/1456/323 933/1470/331 +f 925/1480/327 932/1475/330 931/1474/333 +f 916/1483/227 901/1519/320 926/1484/334 +f 927/1455/322 901/1519/320 916/1483/227 diff --git a/src/main/resources/assets/hbm/models/weapons/nightmare_dark.obj b/src/main/resources/assets/hbm/models/weapons/nightmare_dark.obj deleted file mode 100644 index a4d0981d9..000000000 --- a/src/main/resources/assets/hbm/models/weapons/nightmare_dark.obj +++ /dev/null @@ -1,12086 +0,0 @@ -# Blender v2.79 (sub 0) OBJ File: '' -# www.blender.org -o Gun -v -2.200000 0.900254 0.008681 -v -2.200087 0.899746 0.008681 -v -2.200000 0.899746 0.008681 -v -2.200000 0.900254 -0.008681 -v -2.200000 0.908681 -0.000254 -v -2.200000 0.891319 0.000254 -v -2.200087 0.891319 -0.000254 -v -2.200000 0.891319 -0.000254 -v -2.200000 0.899746 -0.008681 -v -2.200087 0.900254 -0.008681 -v -2.200087 0.891319 0.000254 -v -2.200087 0.908681 -0.000254 -v -2.200087 0.908681 0.000254 -v -2.200000 0.906213 0.006213 -v -2.200000 0.908681 0.000254 -v -2.200087 0.906213 0.006213 -v -2.200000 0.893787 0.006213 -v -2.200087 0.893787 0.006213 -v -2.200000 0.906213 -0.006213 -v -2.200087 0.906213 -0.006213 -v -2.200000 0.893787 -0.006213 -v -2.200087 0.893787 -0.006213 -v -2.200087 0.900254 0.008681 -v -2.200087 0.899746 -0.008681 -v -1.778779 0.667815 0.093205 -v -1.701221 0.698000 0.125953 -v -1.778779 0.698000 0.125953 -v -1.701221 0.667815 -0.100763 -v -1.778779 0.698000 -0.125953 -v -1.701221 0.698000 -0.125953 -v -1.701221 0.728185 -0.054457 -v -1.778779 0.728185 -0.098243 -v -1.778779 0.728185 -0.054457 -v -1.778779 0.667815 -0.080457 -v -1.701221 0.667815 -0.080457 -v -1.778779 0.667815 0.078279 -v -1.701221 0.687968 0.075770 -v -1.701221 0.667815 0.078279 -v -1.701221 0.728185 0.059279 -v -1.778779 0.706994 0.048770 -v -1.778779 0.728185 0.059279 -v -1.778779 0.687968 0.075770 -v -1.701221 0.687968 -0.078062 -v -1.701221 0.706994 -0.044062 -v -1.778779 0.706994 -0.044062 -v -1.701221 0.728185 -0.098243 -v -1.701221 0.728185 0.095724 -v -1.778779 0.728185 0.095724 -v -1.701221 0.667815 0.093205 -v -1.778779 0.687968 -0.078062 -v -1.701221 0.706994 0.048770 -v -1.878779 0.667815 0.093205 -v -1.801221 0.698000 0.125953 -v -1.878779 0.698000 0.125953 -v -1.801221 0.667815 -0.100763 -v -1.878779 0.698000 -0.125953 -v -1.801221 0.698000 -0.125953 -v -1.801221 0.728185 -0.054457 -v -1.878779 0.728185 -0.098243 -v -1.878779 0.728185 -0.054457 -v -1.878779 0.667815 -0.080457 -v -1.801221 0.667815 -0.080457 -v -1.878779 0.667815 0.078279 -v -1.801221 0.687968 0.075770 -v -1.801221 0.667815 0.078279 -v -1.801221 0.728185 0.059279 -v -1.878779 0.706994 0.048770 -v -1.878779 0.728185 0.059279 -v -1.878779 0.687968 0.075770 -v -1.801221 0.687968 -0.078062 -v -1.801221 0.706994 0.048770 -v -1.878779 0.706994 -0.044062 -v -1.801221 0.728185 -0.098243 -v -1.801221 0.728185 0.095724 -v -1.878779 0.728185 0.095724 -v -1.801221 0.667815 0.093205 -v -1.878779 0.687968 -0.078062 -v -1.801221 0.706994 -0.044062 -v -1.901221 0.667815 0.093205 -v -1.978779 0.680000 0.106425 -v -1.978779 0.667815 0.093205 -v -1.901221 0.667815 -0.100763 -v -1.978779 0.680000 -0.110931 -v -1.901221 0.680000 -0.110931 -v -1.978779 0.667815 -0.080457 -v -1.901221 0.667815 -0.080457 -v -1.901221 0.667815 0.078279 -v -1.978779 0.680000 0.076762 -v -1.901221 0.680000 0.076762 -v -1.978779 0.667815 -0.100763 -v -1.978779 0.680000 -0.079009 -v -1.901221 0.680000 -0.079009 -v -1.901221 0.680000 0.106425 -v -2.078779 0.667815 0.093205 -v -2.001221 0.680000 0.106425 -v -2.078779 0.680000 0.106425 -v -2.001221 0.667815 -0.100763 -v -2.078779 0.680000 -0.110931 -v -2.001221 0.680000 -0.110931 -v -2.078779 0.667815 -0.080457 -v -2.001221 0.667815 -0.080457 -v -2.001221 0.667815 0.078279 -v -2.078779 0.680000 0.076762 -v -2.001221 0.680000 0.076762 -v -2.078779 0.667815 -0.100763 -v -2.078779 0.680000 -0.079009 -v -2.001221 0.667815 0.093205 -v -2.001221 0.680000 -0.079009 -v -2.178779 0.667815 0.093205 -v -2.101221 0.680000 0.106425 -v -2.178779 0.680000 0.106425 -v -2.101221 0.667815 -0.100763 -v -2.178779 0.680000 -0.110931 -v -2.101221 0.680000 -0.110931 -v -2.178779 0.667815 -0.080457 -v -2.101221 0.667815 -0.080457 -v -2.101221 0.667815 0.078279 -v -2.178779 0.680000 0.076762 -v -2.101221 0.680000 0.076762 -v -2.178779 0.667815 -0.100763 -v -2.178779 0.680000 -0.079009 -v -2.101221 0.667815 0.093205 -v -2.101221 0.680000 -0.079009 -v -2.201221 0.667815 0.093205 -v -2.201221 0.680000 0.106425 -v -2.262414 0.680000 0.106425 -v -2.262414 0.680000 -0.110932 -v -2.201221 0.667815 -0.100763 -v -2.278778 0.667815 -0.100763 -v -2.278778 0.728185 -0.098243 -v -2.262414 0.728185 -0.054457 -v -2.262414 0.728185 -0.098243 -v -2.278778 0.667815 -0.080457 -v -2.201221 0.667815 -0.080457 -v -2.262414 0.680000 0.076762 -v -2.201221 0.667815 0.078279 -v -2.278778 0.667815 0.078279 -v -2.278778 0.706994 0.048770 -v -2.262414 0.728185 0.059279 -v -2.262414 0.706994 0.048770 -v -2.278778 0.687968 0.075770 -v -2.262414 0.687968 -0.078062 -v -2.262414 0.687968 0.075770 -v -2.278778 0.706994 -0.044062 -v -2.262414 0.706994 -0.044062 -v -2.262414 0.698000 -0.125953 -v -2.278778 0.698000 -0.125953 -v -2.278778 0.698000 0.125953 -v -2.262414 0.728185 0.095724 -v -2.278778 0.728185 0.095724 -v -2.278778 0.728185 0.059279 -v -2.278778 0.667815 0.093205 -v -2.201221 0.680000 -0.079009 -v -2.262414 0.680000 -0.079009 -v -2.278778 0.728185 -0.054457 -v -2.201221 0.680000 -0.110932 -v -2.201221 0.680000 0.076762 -v -2.378778 0.667815 0.093205 -v -2.301220 0.698000 0.125953 -v -2.378778 0.698000 0.125953 -v -2.301220 0.667815 -0.100763 -v -2.378778 0.698000 -0.125953 -v -2.301220 0.698000 -0.125953 -v -2.301220 0.728185 -0.054457 -v -2.378778 0.728185 -0.098243 -v -2.378778 0.728185 -0.054457 -v -2.378778 0.667815 -0.080457 -v -2.301220 0.667815 -0.080457 -v -2.378778 0.667815 0.078279 -v -2.301220 0.687968 0.075770 -v -2.301220 0.667815 0.078279 -v -2.301220 0.728185 0.059279 -v -2.378778 0.706994 0.048770 -v -2.378778 0.728185 0.059279 -v -2.378778 0.687968 0.075770 -v -2.301220 0.687968 -0.078062 -v -2.301220 0.706994 0.048770 -v -2.378778 0.706994 -0.044062 -v -2.301220 0.728185 -0.098243 -v -2.301220 0.728185 0.095724 -v -2.378778 0.728185 0.095724 -v -2.301220 0.667815 0.093205 -v -2.378778 0.687968 -0.078062 -v -2.301220 0.706994 -0.044062 -v -1.778779 0.667815 -0.100763 -v -1.878779 0.667815 -0.100763 -v -1.978779 0.667815 0.078279 -v -2.078779 0.667815 0.078279 -v -2.178779 0.667815 0.078279 -v -2.262414 0.698000 0.125953 -v -2.278778 0.687968 -0.078062 -v -2.378778 0.667815 -0.100763 -v -2.763699 0.310000 -0.111574 -v -2.730000 0.310000 -0.130855 -v -2.730000 0.310000 -0.111574 -v -2.730000 0.281292 -0.140282 -v -2.709700 0.289700 -0.082866 -v -2.730000 0.281292 -0.082866 -v -2.709700 0.289700 -0.140282 -v -2.701292 0.310000 -0.082866 -v -2.662602 0.354932 -0.111574 -v -2.662602 0.377398 -0.077875 -v -2.662602 0.332466 -0.111574 -v -2.696301 0.265068 -0.111574 -v -2.662602 0.242602 -0.111574 -v -2.696301 0.242602 -0.111574 -v -2.696301 0.332466 -0.111574 -v -2.696301 0.310000 -0.130855 -v -2.696301 0.310000 -0.111574 -v -2.662602 0.287534 -0.111574 -v -2.696301 0.287534 -0.111574 -v -2.797398 0.310000 -0.130855 -v -2.797398 0.310000 -0.111574 -v -2.696301 0.354932 -0.111574 -v -2.797398 0.377398 -0.077875 -v -2.797398 0.354932 -0.111574 -v -2.797398 0.332466 -0.111574 -v -2.662602 0.310000 -0.111574 -v -2.662602 0.332466 -0.130855 -v -2.763699 0.354932 -0.111574 -v -2.730000 0.332466 -0.111574 -v -2.763699 0.332466 -0.111574 -v -2.730000 0.332466 -0.130855 -v -2.730000 0.377398 -0.111574 -v -2.763699 0.377398 -0.130855 -v -2.763699 0.377398 -0.111574 -v -2.662602 0.377398 -0.111574 -v -2.696301 0.377398 -0.130855 -v -2.696301 0.377398 -0.111574 -v -2.730000 0.287534 -0.111574 -v -2.763699 0.287534 -0.111574 -v -2.696301 0.287534 -0.130855 -v -2.797398 0.287534 -0.111574 -v -2.763699 0.265068 -0.111574 -v -2.797398 0.265068 -0.111574 -v -2.763699 0.310000 -0.130855 -v -2.730000 0.265068 -0.111574 -v -2.797398 0.242602 -0.111574 -v -2.763699 0.242602 -0.130855 -v -2.763699 0.242602 -0.111574 -v -2.730000 0.242602 -0.111574 -v -2.763699 0.287534 -0.130855 -v -2.797398 0.242602 -0.077875 -v -2.662602 0.242602 -0.077875 -v -2.797398 0.377398 -0.111574 -v -2.662602 0.377398 -0.130855 -v -2.730000 0.354932 -0.111574 -v -2.662602 0.354932 -0.130855 -v -2.696301 0.354932 -0.130855 -v -2.662602 0.265068 -0.130855 -v -2.696301 0.265068 -0.130855 -v -2.696301 0.332466 -0.130855 -v -2.662602 0.310000 -0.130855 -v -2.797398 0.354932 -0.130855 -v -2.763699 0.332466 -0.130855 -v -2.797398 0.332466 -0.130855 -v -2.730000 0.354932 -0.130855 -v -2.797398 0.287534 -0.130855 -v -2.730000 0.287534 -0.130855 -v -2.730000 0.265068 -0.130855 -v -2.763699 0.265068 -0.130855 -v -2.797398 0.265068 -0.130855 -v -2.797398 0.242602 -0.130855 -v -2.696301 0.242602 -0.130855 -v -2.730000 0.242602 -0.130855 -v -2.763699 0.354932 -0.130855 -v -2.662602 0.265068 -0.111574 -v -2.662602 0.287534 -0.130855 -v -2.730000 0.377398 -0.130855 -v -2.709700 0.330300 -0.140282 -v -2.709700 0.330300 -0.082866 -v -2.730000 0.338708 -0.082866 -v -2.730000 0.338708 -0.140282 -v -2.750300 0.330300 -0.082866 -v -2.750300 0.330300 -0.140282 -v -2.758708 0.310000 -0.082866 -v -2.701292 0.310000 -0.140282 -v -2.758708 0.310000 -0.140282 -v -2.750300 0.289700 -0.082866 -v -2.750300 0.289700 -0.140282 -v -2.848778 0.149815 0.093205 -v -2.771220 0.180000 0.125953 -v -2.848778 0.180000 0.125953 -v -2.771220 0.149815 -0.100763 -v -2.848778 0.180000 -0.125953 -v -2.771220 0.180000 -0.125953 -v -2.771220 0.210185 -0.066457 -v -2.848778 0.210185 -0.098243 -v -2.848778 0.210185 -0.066457 -v -2.848778 0.149815 -0.080457 -v -2.771220 0.149815 -0.080457 -v -2.848778 0.149815 0.078279 -v -2.771220 0.169968 0.075770 -v -2.771220 0.149815 0.078279 -v -2.771220 0.210185 0.067279 -v -2.848778 0.188994 0.056770 -v -2.848778 0.210185 0.067279 -v -2.848778 0.169968 0.075770 -v -2.771220 0.169968 -0.078062 -v -2.771220 0.188994 0.056770 -v -2.848778 0.188994 -0.056062 -v -2.771220 0.210185 -0.098243 -v -2.771220 0.210185 0.095724 -v -2.848778 0.210185 0.095724 -v -2.771220 0.149815 0.093205 -v -2.848778 0.169968 -0.078062 -v -2.771220 0.188994 -0.056062 -v -2.248779 0.149815 0.093205 -v -2.171221 0.180000 0.125953 -v -2.248779 0.180000 0.125953 -v -2.171221 0.149815 -0.100763 -v -2.248779 0.180000 -0.125953 -v -2.171221 0.180000 -0.125953 -v -2.171221 0.210185 -0.066457 -v -2.248779 0.210185 -0.098243 -v -2.248779 0.210185 -0.066457 -v -2.248779 0.149815 -0.080457 -v -2.171221 0.149815 -0.080457 -v -2.248779 0.149815 0.078279 -v -2.171221 0.169968 0.075770 -v -2.171221 0.149815 0.078279 -v -2.171221 0.210185 0.067279 -v -2.248779 0.188994 0.056770 -v -2.248779 0.210185 0.067279 -v -2.248779 0.169968 0.075770 -v -2.171221 0.169968 -0.078062 -v -2.171221 0.188994 0.056770 -v -2.248779 0.188994 -0.056062 -v -2.171221 0.210185 -0.098243 -v -2.171221 0.210185 0.095724 -v -2.248779 0.210185 0.095724 -v -2.171221 0.149815 0.093205 -v -2.248779 0.169968 -0.078062 -v -2.171221 0.188994 -0.056062 -v -2.748778 0.149815 0.093205 -v -2.671220 0.180000 0.125953 -v -2.748778 0.180000 0.125953 -v -2.671220 0.149815 -0.100763 -v -2.748778 0.180000 -0.125953 -v -2.671220 0.180000 -0.125953 -v -2.671220 0.210185 -0.066457 -v -2.748778 0.210185 -0.098243 -v -2.748778 0.210185 -0.066457 -v -2.748778 0.149815 -0.080457 -v -2.671220 0.149815 -0.080457 -v -2.748778 0.149815 0.078279 -v -2.671220 0.169968 0.075770 -v -2.671220 0.149815 0.078279 -v -2.671220 0.210185 0.067279 -v -2.748778 0.188994 0.056770 -v -2.748778 0.210185 0.067279 -v -2.748778 0.169968 0.075770 -v -2.671220 0.169968 -0.078062 -v -2.671220 0.188994 0.056770 -v -2.748778 0.188994 -0.056062 -v -2.671220 0.210185 -0.098243 -v -2.671220 0.210185 0.095724 -v -2.748778 0.210185 0.095724 -v -2.671220 0.149815 0.093205 -v -2.748778 0.169968 -0.078062 -v -2.671220 0.188994 -0.056062 -v -2.848778 0.149815 -0.100763 -v -2.248779 0.149815 -0.100763 -v -2.748778 0.149815 -0.100763 -v 0.436362 0.340554 0.156791 -v 0.436362 0.324495 0.108360 -v 0.436362 0.340554 0.108360 -v 0.321036 0.324495 0.131504 -v 0.321036 0.340554 0.156791 -v 0.321036 0.340554 0.131504 -v 0.321036 0.349272 0.108360 -v 0.321036 0.349272 0.131504 -v 0.321036 0.349265 0.131504 -v 0.321036 0.324495 0.156791 -v 0.436362 0.324495 0.156791 -v 0.296428 0.309301 0.108360 -v 0.279380 0.309492 0.131504 -v 0.279380 0.309492 0.108360 -v 0.279382 0.370203 0.108360 -v 0.300105 0.370203 0.131503 -v 0.300105 0.370203 0.108360 -v 0.264788 0.315994 0.108360 -v 0.258451 0.330658 0.131504 -v 0.258451 0.330658 0.108360 -v 0.258451 0.349272 0.108360 -v 0.264789 0.363865 0.131504 -v 0.264789 0.363865 0.108360 -v 0.279382 0.370203 0.131504 -v 0.314698 0.363865 0.108360 -v 0.314698 0.363865 0.131503 -v 0.258451 0.349272 0.131504 -v 0.321036 0.324495 0.131504 -v 0.313585 0.313793 0.108360 -v 0.321036 0.324495 0.108360 -v 0.296428 0.309301 0.131504 -v 0.321036 0.346294 0.108360 -v 0.326777 0.346294 0.131504 -v 0.326777 0.346294 0.151050 -v 0.430621 0.346294 0.151050 -v 0.430621 0.346294 0.108360 -v 0.321036 0.324495 0.108360 -v 0.264788 0.315994 0.131504 -v 0.313585 0.313793 0.131504 -v 0.137127 0.116179 -0.161660 -v 0.123531 0.102628 -0.148438 -v 0.137127 0.102649 -0.148130 -v 0.137127 0.116179 -0.180794 -v 0.124072 0.116155 -0.161959 -v 0.137127 0.102649 -0.194324 -v 0.124911 0.116153 -0.181075 -v 0.137127 0.083515 -0.194324 -v 0.125558 0.102621 -0.194587 -v 0.137127 0.069985 -0.180794 -v 0.125633 0.083487 -0.194581 -v 0.124253 0.069962 -0.161944 -v 0.137127 0.069985 -0.161660 -v 0.123606 0.083494 -0.148432 -v 0.137127 0.083515 -0.148130 -v 0.096849 0.083298 -0.150700 -v 0.098135 0.115960 -0.164174 -v 0.100469 0.115960 -0.183165 -v 0.102270 0.102431 -0.196575 -v 0.100984 0.069769 -0.183102 -v 0.125092 0.069959 -0.181060 -v 0.098650 0.069769 -0.164110 -v 0.070604 0.082918 -0.154831 -v 0.096635 0.102431 -0.150726 -v 0.070268 0.102049 -0.154883 -v 0.072547 0.115585 -0.168213 -v 0.076106 0.115597 -0.187014 -v 0.102484 0.083298 -0.196549 -v 0.078859 0.102077 -0.200271 -v 0.076916 0.069410 -0.186889 -v 0.073358 0.069398 -0.168089 -v 0.044979 0.082377 -0.160413 -v 0.044534 0.101506 -0.160490 -v 0.047422 0.115053 -0.173691 -v 0.051951 0.115083 -0.192281 -v 0.079195 0.082946 -0.200219 -v 0.055468 0.101578 -0.205372 -v 0.053024 0.068902 -0.192094 -v 0.048495 0.068872 -0.173504 -v 0.019532 0.100824 -0.167148 -v 0.022871 0.114386 -0.180226 -v 0.028136 0.114439 -0.198622 -v 0.032786 0.081827 -0.211459 -v 0.055913 0.082450 -0.205294 -v 0.029447 0.068265 -0.198381 -v 0.024182 0.068211 -0.179985 -v 0.020075 0.081698 -0.167048 -v -0.004633 0.100023 -0.174468 -v -0.000993 0.113604 -0.187447 -v 0.032243 0.100953 -0.211559 -v 0.004788 0.113685 -0.205686 -v 0.009961 0.081098 -0.218386 -v 0.006321 0.067518 -0.205408 -v 0.000539 0.067436 -0.187168 -v -0.003998 0.080900 -0.174352 -v -0.027844 0.099125 -0.182068 -v -0.024053 0.112726 -0.194981 -v -0.013154 0.099404 -0.225863 -v 0.009326 0.100221 -0.218502 -v -0.012431 0.080283 -0.225742 -v -0.016222 0.066682 -0.212830 -v -0.022307 0.066566 -0.194689 -v -0.027121 0.080005 -0.181947 -v -0.049972 0.098148 -0.189574 -v -0.046184 0.111775 -0.202461 -v -0.040015 0.111929 -0.220573 -v -0.017968 0.112842 -0.213121 -v -0.035081 0.098521 -0.233300 -v -0.034270 0.079404 -0.233187 -v -0.038058 0.065777 -0.220300 -v -0.044226 0.065623 -0.202188 -v -0.049161 0.079031 -0.189461 -v -0.070863 0.097115 -0.196612 -v -0.067251 0.110769 -0.209520 -v -0.061242 0.110967 -0.227685 -v -0.056358 0.097592 -0.240467 -v -0.055459 0.078479 -0.240378 -v -0.059071 0.064825 -0.227470 -v -0.065080 0.064627 -0.209304 -v -0.069964 0.078002 -0.196523 -v -0.090336 0.096048 -0.202814 -v -0.087105 0.109732 -0.215793 -v -0.081548 0.109975 -0.234101 -v -0.076920 0.096635 -0.247013 -v -0.075931 0.077526 -0.246967 -v -0.079161 0.063843 -0.233989 -v -0.084718 0.063600 -0.215681 -v -0.089347 0.076940 -0.202768 -v -0.108160 0.094976 -0.207824 -v -0.105577 0.108686 -0.220919 -v -0.100848 0.108970 -0.239458 -v -0.096743 0.095663 -0.252580 -v -0.095667 0.076559 -0.252598 -v -0.098249 0.062849 -0.239502 -v -0.102978 0.062565 -0.220964 -v -0.107083 0.075872 -0.207842 -v -0.124035 0.093932 -0.211313 -v -0.122462 0.107657 -0.224552 -v -0.119080 0.107967 -0.243382 -v -0.115872 0.094682 -0.256774 -v -0.114716 0.075583 -0.256881 -v -0.116289 0.061859 -0.243642 -v -0.119671 0.061548 -0.224812 -v -0.122879 0.074833 -0.211420 -v -0.137567 0.092959 -0.213040 -v -0.137508 0.106676 -0.226380 -v -0.136212 0.106980 -0.245468 -v -0.134438 0.093693 -0.259122 -v -0.133226 0.074598 -0.259344 -v -0.133284 0.060882 -0.246004 -v -0.134580 0.060578 -0.226916 -v -0.136354 0.073864 -0.213262 -v -0.148280 0.092107 -0.212968 -v -0.150421 0.105777 -0.226185 -v -0.152227 0.106016 -0.245232 -v -0.152641 0.092686 -0.258952 -v -0.151420 0.073594 -0.259308 -v -0.149279 0.059924 -0.246091 -v -0.147473 0.059685 -0.227044 -v -0.147060 0.073016 -0.213324 -v -0.155864 0.091421 -0.211428 -v -0.160963 0.104993 -0.223915 -v -0.167028 0.105092 -0.242063 -v -0.170506 0.091660 -0.255239 -v -0.169361 0.072567 -0.255726 -v -0.164262 0.058995 -0.243238 -v -0.158197 0.058896 -0.225091 -v -0.154718 0.072328 -0.211915 -v -0.160812 0.090889 -0.208937 -v -0.169244 0.104332 -0.219629 -v -0.180204 0.104241 -0.235313 -v -0.187271 0.090671 -0.246802 -v -0.186306 0.071569 -0.247366 -v -0.177874 0.058126 -0.236674 -v -0.166914 0.058217 -0.220990 -v -0.159847 0.071788 -0.209501 -v -0.164649 0.090420 -0.205111 -v -0.175857 0.103767 -0.213006 -v -0.190995 0.103530 -0.224708 -v -0.201194 0.089847 -0.233361 -v -0.200480 0.070734 -0.233896 -v -0.189271 0.057386 -0.226001 -v -0.174134 0.057624 -0.214300 -v -0.163935 0.071307 -0.205647 -v -0.168426 0.089945 -0.198169 -v -0.181238 0.103277 -0.203091 -v -0.198892 0.103007 -0.210465 -v -0.211047 0.089294 -0.215971 -v -0.210582 0.070170 -0.216384 -v -0.197770 0.056837 -0.211462 -v -0.180116 0.057107 -0.204088 -v -0.167961 0.070821 -0.198582 -v -0.171733 0.089498 -0.186462 -v -0.185179 0.102884 -0.188937 -v -0.203941 0.102683 -0.192687 -v -0.217028 0.089014 -0.195514 -v -0.216775 0.069883 -0.195762 -v -0.203328 0.056497 -0.193286 -v -0.184566 0.056698 -0.189537 -v -0.171479 0.070367 -0.186710 -v -0.173666 0.089154 -0.169330 -v -0.187231 0.102631 -0.170023 -v -0.206335 0.102557 -0.171085 -v -0.219789 0.088975 -0.171893 -v -0.219710 0.069841 -0.171974 -v -0.206146 0.056364 -0.171281 -v -0.187041 0.056438 -0.170219 -v -0.173588 0.070020 -0.169411 -v -0.173901 0.089039 -0.158700 -v -0.187431 0.102569 -0.158700 -v -0.206565 0.102569 -0.158700 -v -0.220095 0.089039 -0.158700 -v -0.220095 0.069905 -0.158700 -v -0.206565 0.056375 -0.158700 -v -0.187431 0.056375 -0.158700 -v -0.173901 0.069905 -0.158700 -v -0.250000 0.080000 -0.116104 -v -0.200000 0.080000 -0.144712 -v -0.200000 0.080000 -0.116104 -v -0.200000 0.037405 -0.158700 -v -0.169881 0.049881 -0.073509 -v -0.200000 0.037405 -0.073509 -v -0.169881 0.049881 -0.158700 -v -0.157405 0.080000 -0.073509 -v -0.100000 0.146667 -0.116104 -v -0.100000 0.180000 -0.066104 -v -0.100000 0.113333 -0.116104 -v -0.150000 0.013333 -0.116104 -v -0.100000 -0.020000 -0.116104 -v -0.150000 -0.020000 -0.116104 -v -0.150000 0.113333 -0.116104 -v -0.150000 0.080000 -0.144712 -v -0.150000 0.080000 -0.116104 -v -0.100000 0.046667 -0.116104 -v -0.150000 0.046667 -0.116104 -v -0.300000 0.080000 -0.144712 -v -0.300000 0.080000 -0.116104 -v -0.150000 0.146667 -0.116104 -v -0.300000 0.180000 -0.066104 -v -0.300000 0.146667 -0.116104 -v -0.300000 0.113333 -0.116104 -v -0.100000 0.080000 -0.116104 -v -0.100000 0.113333 -0.144712 -v -0.250000 0.146667 -0.116104 -v -0.200000 0.113333 -0.116104 -v -0.250000 0.113333 -0.116104 -v -0.200000 0.113333 -0.144712 -v -0.200000 0.180000 -0.116104 -v -0.250000 0.180000 -0.144712 -v -0.250000 0.180000 -0.116104 -v -0.100000 0.180000 -0.116104 -v -0.150000 0.180000 -0.144712 -v -0.150000 0.180000 -0.116104 -v -0.200000 0.046667 -0.116104 -v -0.250000 0.046667 -0.116104 -v -0.150000 0.046667 -0.144712 -v -0.300000 0.046667 -0.116104 -v -0.250000 0.013333 -0.116104 -v -0.300000 0.013333 -0.116104 -v -0.250000 0.080000 -0.144712 -v -0.200000 0.013333 -0.116104 -v -0.300000 -0.020000 -0.116104 -v -0.250000 -0.020000 -0.144712 -v -0.250000 -0.020000 -0.116104 -v -0.200000 -0.020000 -0.116104 -v -0.250000 0.046667 -0.144712 -v -0.300000 -0.020000 -0.066104 -v -0.100000 -0.020000 -0.066104 -v -0.300000 0.180000 -0.116104 -v -0.100000 0.180000 -0.144712 -v -0.200000 0.146667 -0.116104 -v -0.100000 0.146667 -0.144712 -v -0.150000 0.146667 -0.144712 -v -0.100000 0.013333 -0.144712 -v -0.150000 0.013333 -0.144712 -v -0.150000 0.113333 -0.144712 -v -0.100000 0.080000 -0.144712 -v -0.300000 0.146667 -0.144712 -v -0.250000 0.113333 -0.144712 -v -0.300000 0.113333 -0.144712 -v -0.200000 0.146667 -0.144712 -v -0.300000 0.046667 -0.144712 -v -0.200000 0.046667 -0.144712 -v -0.200000 0.013333 -0.144712 -v -0.250000 0.013333 -0.144712 -v -0.300000 0.013333 -0.144712 -v -0.300000 -0.020000 -0.144712 -v -0.150000 -0.020000 -0.144712 -v -0.200000 -0.020000 -0.144712 -v -0.250000 0.146667 -0.144712 -v -0.100000 0.013333 -0.116104 -v -0.100000 0.046667 -0.144712 -v -0.200000 0.180000 -0.144712 -v -0.169881 0.110119 -0.158700 -v -0.169881 0.110119 -0.073509 -v -0.200000 0.122595 -0.073509 -v -0.200000 0.122595 -0.158700 -v -0.230119 0.110119 -0.073509 -v -0.230119 0.110119 -0.158700 -v -0.242595 0.080000 -0.073509 -v -0.157405 0.080000 -0.158700 -v -0.242595 0.080000 -0.158700 -v -0.230119 0.049881 -0.073509 -v -0.230119 0.049881 -0.158700 -v -0.297751 0.118870 -0.108904 -v -0.351688 0.039812 -0.108904 -v -0.297751 0.039812 -0.108904 -v -0.297751 0.118870 -0.162841 -v -0.351688 0.118870 -0.162841 -v -0.376809 0.093749 -0.134025 -v -0.376809 0.064933 -0.162841 -v -0.376809 0.064933 -0.134025 -v -0.351688 0.093749 -0.187962 -v -0.297751 0.064933 -0.187962 -v -0.351688 0.064933 -0.187962 -v -0.351688 0.039812 -0.162841 -v -0.376809 0.093749 -0.162841 -v -0.351688 0.118870 -0.108904 -v -0.297751 0.039812 -0.162841 -v -0.297751 0.093749 -0.187962 -v 0.681892 -0.004285 -0.101920 -v 0.614701 0.195765 -0.101920 -v 0.614701 -0.004285 -0.101920 -v 0.686409 0.195765 -0.211196 -v 0.686409 -0.004285 -0.108804 -v 0.686409 -0.004285 -0.211196 -v 0.614701 0.209216 -0.211196 -v 0.681891 0.209216 -0.108804 -v 0.681891 0.209216 -0.211196 -v 0.610183 0.195765 -0.108804 -v 0.610183 -0.004285 -0.211196 -v 0.610183 -0.004285 -0.108804 -v 0.614701 0.195765 -0.218080 -v 0.681892 -0.004285 -0.218080 -v 0.614701 -0.004285 -0.218080 -v 0.614701 -0.017735 -0.108804 -v 0.614701 0.209216 -0.108804 -v 0.614701 -0.017735 -0.211196 -v 0.610183 0.195765 -0.211196 -v 0.681892 -0.017735 -0.108804 -v 0.681891 0.195765 -0.101920 -v 0.686409 0.195765 -0.108804 -v 0.681892 -0.017735 -0.211196 -v 0.681891 0.195765 -0.218080 -v 0.221891 -0.004285 -0.101920 -v 0.154701 0.195765 -0.101920 -v 0.154701 -0.004285 -0.101920 -v 0.226409 0.195765 -0.211196 -v 0.226409 -0.004285 -0.108804 -v 0.226409 -0.004285 -0.211196 -v 0.154701 0.209216 -0.211196 -v 0.221891 0.209216 -0.108804 -v 0.221891 0.209216 -0.211196 -v 0.150183 0.195765 -0.108804 -v 0.150183 -0.004285 -0.211196 -v 0.150183 -0.004285 -0.108804 -v 0.154701 0.195765 -0.218080 -v 0.221891 -0.004285 -0.218080 -v 0.154701 -0.004285 -0.218080 -v 0.154701 -0.017735 -0.108804 -v 0.154701 0.209216 -0.108804 -v 0.154701 -0.017735 -0.211196 -v 0.150183 0.195765 -0.211196 -v 0.221891 -0.017735 -0.108804 -v 0.221891 0.195765 -0.101920 -v 0.226409 0.195765 -0.108804 -v 0.221891 -0.017735 -0.211196 -v 0.221891 0.195765 -0.218080 -v 0.137127 0.057183 -0.151254 -v 0.137127 0.105137 -0.131391 -v 0.137127 0.125000 -0.179345 -v 0.151464 0.106598 -0.202737 -v 0.151464 0.128529 -0.180806 -v 0.151464 0.106598 -0.127862 -v 0.137127 0.077046 -0.131391 -v 0.151464 0.075584 -0.127862 -v 0.151464 0.053654 -0.149792 -v 0.137127 0.057183 -0.179345 -v 0.151464 0.053654 -0.180806 -v 0.151464 0.075584 -0.202737 -v 0.137127 0.077046 -0.199208 -v 0.137127 0.105137 -0.199208 -v 0.137127 0.125000 -0.151254 -v 0.151464 0.128529 -0.149792 -v 0.593479 0.105812 -0.138080 -v 0.609564 0.134512 -0.114980 -v 0.593479 0.132872 -0.111021 -v 0.593479 0.105812 -0.176349 -v 0.609564 0.109771 -0.139720 -v 0.593479 0.132872 -0.203409 -v 0.609564 0.109771 -0.174709 -v 0.593479 0.171140 -0.203409 -v 0.609564 0.134512 -0.199449 -v 0.226878 0.134512 -0.199449 -v 0.226878 0.109772 -0.139721 -v 0.226878 0.169500 -0.114980 -v 0.242964 0.171140 -0.203409 -v 0.226878 0.169500 -0.199449 -v 0.242964 0.132872 -0.203409 -v 0.242964 0.198200 -0.176349 -v 0.226878 0.194241 -0.174709 -v 0.593479 0.198200 -0.176349 -v 0.226878 0.194241 -0.139721 -v 0.242964 0.198200 -0.138080 -v 0.242964 0.171140 -0.111021 -v 0.593479 0.198200 -0.138080 -v 0.226878 0.134512 -0.114980 -v 0.242964 0.132872 -0.111021 -v 0.593479 0.171140 -0.111021 -v 0.242964 0.105812 -0.138080 -v 0.242964 0.105812 -0.176349 -v 0.226878 0.109772 -0.174709 -v 0.609564 0.169500 -0.114980 -v 0.609564 0.169500 -0.199449 -v 0.609564 0.194240 -0.174709 -v 0.609564 0.194240 -0.139720 -v 0.591874 0.022872 -0.203409 -v 0.609564 0.000166 -0.174545 -v 0.591874 -0.004188 -0.176349 -v 0.591874 0.061140 -0.203409 -v 0.609564 0.024675 -0.199054 -v 0.591874 0.088200 -0.138080 -v 0.609564 0.083846 -0.174545 -v 0.591874 0.088200 -0.176349 -v 0.591874 0.061140 -0.111021 -v 0.609564 0.083846 -0.139884 -v 0.609564 0.024675 -0.115375 -v 0.609564 0.059336 -0.115375 -v 0.591874 -0.004188 -0.138080 -v 0.591874 0.022872 -0.111021 -v 0.609564 0.000166 -0.139884 -v 0.226878 0.083846 -0.174545 -v 0.226878 0.024676 -0.199054 -v 0.226878 0.000166 -0.139884 -v 0.244568 0.022872 -0.203409 -v 0.226878 0.059337 -0.199054 -v 0.244568 0.061140 -0.203409 -v 0.244568 0.088200 -0.176349 -v 0.226878 0.083846 -0.139884 -v 0.244568 0.088200 -0.138080 -v 0.226878 0.059337 -0.115375 -v 0.244568 0.061140 -0.111021 -v 0.226878 0.024676 -0.115375 -v 0.244568 0.022872 -0.111021 -v 0.244568 -0.004188 -0.138080 -v 0.226878 0.000166 -0.174545 -v 0.244568 -0.004188 -0.176349 -v 0.609564 0.059336 -0.199054 -v -0.376809 0.097011 -0.138934 -v -0.417953 0.086160 -0.128584 -v -0.376809 0.085736 -0.127659 -v -0.376809 0.097011 -0.154879 -v -0.417282 0.097433 -0.139841 -v -0.376809 0.085736 -0.166154 -v -0.416635 0.097432 -0.155773 -v -0.416694 0.070217 -0.167059 -v -0.376809 0.069791 -0.166154 -v -0.417366 0.058944 -0.155802 -v -0.376809 0.058516 -0.154879 -v -0.418012 0.058945 -0.139870 -v -0.376809 0.058516 -0.138934 -v -0.418256 0.070218 -0.128596 -v -0.376809 0.069791 -0.127659 -v -0.512099 0.100697 -0.146722 -v -0.625550 0.095674 -0.148295 -v -0.513688 0.089446 -0.135534 -v -0.416392 0.086159 -0.167047 -v -0.510581 0.100679 -0.162594 -v -0.510750 0.073475 -0.173906 -v -0.512339 0.062224 -0.162719 -v -0.513858 0.062242 -0.146846 -v -0.514417 0.073518 -0.135586 -v -0.623416 0.106901 -0.159415 -v -0.751310 0.104493 -0.165722 -v -0.510022 0.089403 -0.173854 -v -0.621398 0.106864 -0.175232 -v -0.621676 0.079672 -0.186571 -v -0.623809 0.068445 -0.175451 -v -0.625828 0.068482 -0.159634 -v -0.626549 0.079761 -0.148385 -v -0.748839 0.115700 -0.176793 -v -0.888652 0.115560 -0.186686 -v -0.620677 0.095586 -0.186480 -v -0.746530 0.115648 -0.192570 -v -0.746922 0.088468 -0.203933 -v -0.749393 0.077261 -0.192862 -v -0.751702 0.077313 -0.177085 -v -0.752496 0.088593 -0.165844 -v -0.885973 0.126749 -0.197725 -v -1.035223 0.128529 -0.210057 -v -0.745736 0.104368 -0.203811 -v -0.883509 0.126684 -0.213479 -v -0.884026 0.099514 -0.224860 -v -0.886705 0.088324 -0.213821 -v -0.889169 0.088389 -0.198067 -v -0.889976 0.099670 -0.186828 -v -1.032428 0.139703 -0.221083 -v -1.188652 0.143058 -0.234705 -v -0.882702 0.115403 -0.224718 -v -1.029906 0.139626 -0.236827 -v -1.030566 0.112462 -0.248218 -v -1.033361 0.101288 -0.237192 -v -1.035883 0.101365 -0.221448 -v -1.036654 0.112649 -0.210208 -v -1.185811 0.154216 -0.245736 -v -1.346556 0.158803 -0.259503 -v -1.029134 0.128342 -0.248067 -v -1.183310 0.154124 -0.261483 -v -1.184134 0.126964 -0.272872 -v -1.186976 0.115806 -0.261841 -v -1.189476 0.115898 -0.246094 -v -1.190171 0.127186 -0.234854 -v -1.343728 0.169943 -0.270556 -v -1.506543 0.175422 -0.283321 -v -1.182616 0.142836 -0.272723 -v -1.341321 0.169832 -0.286318 -v -1.340745 0.158536 -0.297556 -v -1.345165 0.131531 -0.286635 -v -1.347572 0.131642 -0.270873 -v -1.348148 0.142939 -0.259635 -v -1.503788 0.186539 -0.294414 -v -1.666216 0.192568 -0.305030 -v -1.501546 0.186404 -0.310200 -v -1.342337 0.142671 -0.297688 -v -1.501133 0.175094 -0.321433 -v -1.505545 0.148118 -0.310439 -v -1.507786 0.148253 -0.294652 -v -1.508199 0.159563 -0.283420 -v -1.663593 0.203659 -0.316183 -v -1.823166 0.209899 -0.323503 -v -1.661597 0.203490 -0.332002 -v -1.502789 0.159235 -0.321531 -v -1.661398 0.192162 -0.343221 -v -1.665733 0.165218 -0.332116 -v -1.667729 0.165387 -0.316297 -v -1.667929 0.176716 -0.305078 -v -1.820749 0.220956 -0.334734 -v -1.974976 0.227066 -0.337615 -v -1.819093 0.220746 -0.350592 -v -1.663111 0.176309 -0.343268 -v -1.819169 0.209392 -0.361787 -v -1.823350 0.182488 -0.350530 -v -1.825006 0.182697 -0.334673 -v -1.824929 0.194051 -0.323478 -v -1.972854 0.238085 -0.348943 -v -2.119211 0.243721 -0.346245 -v -1.971657 0.237825 -0.364841 -v -1.820932 0.193545 -0.361761 -v -1.972088 0.226440 -0.375996 -v -1.976017 0.199579 -0.364546 -v -1.977213 0.199839 -0.348647 -v -1.976782 0.211224 -0.337492 -v -2.117504 0.254697 -0.357685 -v -2.253407 0.259511 -0.348287 -v -2.116927 0.254383 -0.373616 -v -1.973894 0.210598 -0.375874 -v -2.117818 0.242962 -0.384708 -v -2.121362 0.216149 -0.373022 -v -2.121939 0.216463 -0.357091 -v -2.121048 0.227884 -0.345999 -v -2.252288 0.270446 -0.359838 -v -2.375056 0.274074 -0.342660 -v -2.252555 0.270077 -0.375776 -v -2.119655 0.227125 -0.384461 -v -2.254051 0.258621 -0.386766 -v -2.257020 0.231854 -0.374818 -v -2.256753 0.232222 -0.358879 -v -2.255257 0.243678 -0.347889 -v -2.374781 0.284978 -0.354291 -v -2.481572 0.287039 -0.328360 -v -2.376221 0.284568 -0.370166 -v -2.255900 0.242788 -0.386369 -v -2.378533 0.273085 -0.380985 -v -2.380637 0.246352 -0.368780 -v -2.379197 0.246762 -0.352905 -v -2.376885 0.258245 -0.342086 -v -2.482538 0.297940 -0.339958 -v -2.570273 0.298020 -0.304567 -v -2.485655 0.297525 -0.355590 -v -2.380362 0.257256 -0.380411 -v -2.489097 0.286038 -0.366099 -v -2.489882 0.259308 -0.353733 -v -2.486765 0.259723 -0.338101 -v -2.483323 0.271209 -0.327591 -v -2.573093 0.308974 -0.315807 -v -2.638505 0.306633 -0.270892 -v -2.578652 0.308625 -0.330747 -v -2.490848 0.270208 -0.365331 -v -2.583693 0.297178 -0.340638 -v -2.582443 0.270386 -0.328444 -v -2.576884 0.270735 -0.313504 -v -2.571843 0.282182 -0.303613 -v -2.644011 0.317724 -0.280937 -v -2.684433 0.312590 -0.227412 -v -2.653022 0.317547 -0.294091 -v -2.585263 0.281339 -0.339684 -v -2.660259 0.306205 -0.302648 -v -2.655977 0.279250 -0.291551 -v -2.646967 0.279427 -0.278397 -v -2.639730 0.290770 -0.269840 -v -2.693150 0.323873 -0.234551 -v -2.707936 0.315821 -0.172889 -v -2.706173 0.323924 -0.243751 -v -2.661483 0.290342 -0.301596 -v -2.715874 0.312714 -0.249622 -v -2.707852 0.285527 -0.241588 -v -2.694829 0.285476 -0.232388 -v -2.685128 0.296686 -0.226517 -v -2.718870 0.327163 -0.175347 -v -2.734507 0.327264 -0.178462 -v -2.716569 0.296809 -0.248726 -v -2.745688 0.316063 -0.180411 -v -2.745862 0.300123 -0.180051 -v -2.734927 0.288781 -0.177593 -v -2.719290 0.288680 -0.174478 -v -2.708110 0.299881 -0.172529 -v -2.711063 0.300425 -0.140282 -v -2.711063 0.316370 -0.140282 -v -2.722338 0.327645 -0.140282 -v -2.738283 0.327645 -0.140282 -v -2.749558 0.316370 -0.140282 -v -2.749558 0.300425 -0.140282 -v -2.738283 0.289150 -0.140282 -v -2.722338 0.289150 -0.140282 -v 0.589184 0.452928 0.050000 -v 0.546806 0.304606 -0.050000 -v 0.546806 0.304606 0.050000 -v 0.758695 0.516495 0.050000 -v 0.683286 0.438882 0.050000 -v 0.589184 0.452928 -0.050000 -v 0.683286 0.438882 -0.050000 -v 0.624418 0.380014 -0.050000 -v 0.758695 0.516495 -0.050000 -v 0.758695 0.474158 0.050000 -v 0.758695 0.474158 -0.050000 -v 0.589143 0.304606 -0.050000 -v 0.624418 0.380014 0.050000 -v 0.589143 0.304606 0.050000 -v 0.999138 -0.168940 -0.073121 -v 1.015686 -0.097842 -0.025710 -v 1.008746 -0.167621 -0.025710 -v 0.731509 -1.303870 0.026508 -v 1.391684 -1.177026 -0.025710 -v 1.391684 -1.177026 0.026508 -v 0.592234 -0.477721 -0.025710 -v 0.645650 -0.583598 0.026508 -v 0.592234 -0.477721 0.026508 -v 0.693825 -0.713563 0.026508 -v 0.743686 -0.910292 -0.025710 -v 0.743686 -0.910292 0.026508 -v 0.751809 -0.967328 -0.025710 -v 0.753563 -1.118209 0.026508 -v 0.751809 -0.967328 0.026508 -v 0.731509 -1.303870 -0.025710 -v 1.211582 0.122654 0.026508 -v 0.932762 0.145323 -0.025710 -v 0.932762 0.145323 0.026508 -v 0.999138 -0.168940 0.073919 -v 1.015686 -0.097842 0.026508 -v 1.006531 -0.094606 0.073919 -v 0.478617 -0.007077 -0.025710 -v 0.384235 -0.094572 0.026508 -v 0.478617 -0.007077 0.026508 -v 1.084915 0.007780 0.026508 -v 1.211582 0.122654 -0.025710 -v 1.097289 -0.416968 -0.025710 -v 1.049962 -0.343668 0.026508 -v 1.097289 -0.416968 0.026508 -v 0.722097 0.117555 -0.025710 -v 0.602283 0.070566 0.026508 -v 0.722097 0.117555 0.026508 -v 1.041548 -0.348023 0.073919 -v 1.024939 -0.281369 0.026508 -v 1.015344 -0.282783 0.073919 -v 0.307944 -0.186330 0.026508 -v 0.423036 -0.276049 -0.025710 -v 0.423036 -0.276049 0.026508 -v 0.785184 0.133269 0.026508 -v 0.602283 0.070566 -0.025710 -v 0.551737 -0.415847 0.026508 -v 0.693825 -0.713563 -0.025710 -v 1.349636 -1.016229 -0.025710 -v 1.349636 -1.016229 0.026508 -v 1.304955 -0.873256 -0.025710 -v 1.304955 -0.873256 0.026508 -v 1.242907 -0.712193 0.026508 -v 1.180118 -0.576196 -0.025710 -v 1.180118 -0.576196 0.026508 -v 0.981729 -0.378986 0.140968 -v 0.987998 -0.286756 0.114112 -v 0.947055 -0.292660 0.140968 -v 1.242907 -0.712193 -0.025710 -v 0.742395 -1.292175 0.073919 -v 1.380011 -1.169666 0.073919 -v 0.773396 -1.258871 0.114112 -v 1.346771 -1.148705 0.114112 -v 0.819792 -1.209028 0.140968 -v 1.297023 -1.117335 0.140968 -v 0.874521 -1.150235 0.150399 -v 0.874521 -1.150235 -0.149601 -v 1.297023 -1.117335 -0.140170 -v 0.819792 -1.209028 -0.140170 -v 1.346771 -1.148705 -0.113314 -v 0.773396 -1.258871 -0.113314 -v 1.380011 -1.169666 -0.073121 -v 0.742395 -1.292175 -0.073121 -v 0.865406 -0.886271 0.150399 -v 0.875598 -0.957833 0.150399 -v 1.187902 -0.914045 0.150399 -v 0.930806 -0.178512 0.140968 -v 0.980458 -0.085394 0.114112 -v 0.941438 -0.071606 0.140968 -v 0.971770 -0.172756 0.114112 -v 1.049962 -0.343668 -0.025710 -v 0.882479 -0.185361 -0.149601 -v 0.941438 -0.071606 -0.140170 -v 0.930806 -0.178512 -0.140170 -v 0.980458 -0.085394 -0.113314 -v 0.971770 -0.172756 -0.113314 -v 1.006531 -0.094606 -0.073121 -v 0.981729 -0.378986 -0.140170 -v 0.987998 -0.286756 -0.113314 -v 1.017588 -0.360425 -0.113314 -v 0.939430 -0.400880 0.150399 -v 0.898737 -0.299569 0.150399 -v 1.017588 -0.360425 0.114112 -v 0.939430 -0.400880 -0.149601 -v 0.947055 -0.292660 -0.140170 -v 1.008746 -0.167621 0.026508 -v 1.230514 -1.050397 -0.149601 -v 0.877539 -1.124823 -0.149601 -v 0.875598 -0.957833 -0.149601 -v 1.015344 -0.282783 -0.073121 -v 1.041548 -0.348023 -0.073121 -v 1.024939 -0.281369 -0.025710 -v 0.932785 0.021021 0.150399 -v 1.029453 0.060729 0.140968 -v 1.057106 0.031547 0.114112 -v 1.077687 0.013957 0.073919 -v 0.932785 0.021021 -0.149601 -v 0.895410 -0.055342 -0.149601 -v 1.026303 0.057872 -0.140170 -v 1.057106 0.031547 -0.113314 -v 1.077687 0.013957 -0.073121 -v 1.189124 0.115018 0.073919 -v 1.125169 0.093273 0.114112 -v 1.125169 0.093273 -0.113314 -v 1.189124 0.115018 -0.073121 -v 1.084915 0.007780 -0.025710 -v 0.658327 -0.040533 0.150399 -v 0.745399 0.044542 0.140968 -v 0.636880 0.001983 0.140968 -v 0.733153 0.082913 0.114112 -v 0.618698 0.038026 0.114112 -v 0.724970 0.108552 0.073919 -v 0.606549 0.062109 0.073919 -v 0.658327 -0.040533 -0.149601 -v 0.745399 0.044542 -0.140170 -v 0.759844 -0.000720 -0.149601 -v 0.636880 0.001983 -0.140170 -v 0.733153 0.082913 -0.113314 -v 0.618698 0.038026 -0.113314 -v 0.724970 0.108552 -0.073121 -v 0.606549 0.062109 -0.073121 -v 0.525355 -0.068038 0.140968 -v 0.554329 -0.105828 0.150399 -v 0.500793 -0.036001 0.114112 -v 0.484381 -0.014594 0.073919 -v 0.525355 -0.068038 -0.140170 -v 0.500793 -0.036001 -0.113314 -v 0.484381 -0.014594 -0.073121 -v 0.439870 -0.147285 0.140968 -v 0.507263 -0.184620 0.150399 -v 0.410632 -0.119582 0.114112 -v 0.391096 -0.101072 0.073919 -v 0.484949 -0.167225 -0.149601 -v 0.554329 -0.105828 -0.149601 -v 0.410632 -0.119582 -0.113314 -v 0.391096 -0.101072 -0.073121 -v 0.384235 -0.094572 -0.025710 -v 0.321418 -0.184876 0.073919 -v 0.359788 -0.180734 0.114112 -v 0.417212 -0.174536 0.140968 -v 0.417212 -0.174536 -0.140170 -v 0.439870 -0.147285 -0.140170 -v 0.359788 -0.180734 -0.113314 -v 0.321418 -0.184876 -0.073121 -v 0.797622 0.057550 0.140968 -v 0.805332 0.010611 0.150399 -v 0.932769 0.108916 0.114112 -v 0.791086 0.097343 0.114112 -v 0.932764 0.135861 0.073919 -v 0.786718 0.123932 0.073919 -v 0.805333 0.010611 -0.149601 -v 0.932777 0.068589 -0.140170 -v 0.797622 0.057550 -0.140170 -v 0.932769 0.108916 -0.113314 -v 0.786718 0.123932 -0.073121 -v 0.932764 0.135861 -0.073121 -v 0.932777 0.068589 0.140968 -v 0.791086 0.097343 -0.113314 -v 0.785184 0.133269 -0.025710 -v 0.612275 -0.368687 0.140968 -v 0.649804 -0.339451 0.150399 -v 0.447705 -0.249270 0.114112 -v 0.580460 -0.393471 0.114112 -v 0.429447 -0.269089 0.073919 -v 0.559202 -0.410031 0.073919 -v 0.649804 -0.339451 -0.149601 -v 0.475031 -0.219609 -0.140170 -v 0.580460 -0.393471 -0.113314 -v 0.447706 -0.249270 -0.113314 -v 0.429447 -0.269089 -0.073121 -v 0.551737 -0.415847 -0.025710 -v 0.475031 -0.219608 0.140968 -v 0.307944 -0.186330 -0.025710 -v 0.699709 -0.415700 0.150399 -v 0.715868 -0.552986 0.140968 -v 0.759397 -0.534009 0.150399 -v 0.658580 -0.439434 0.140968 -v 0.678966 -0.569074 0.114112 -v 0.623712 -0.459555 0.114112 -v 0.654308 -0.579823 0.073919 -v 0.600415 -0.473000 0.073919 -v 0.759397 -0.534009 -0.149601 -v 0.658580 -0.439434 -0.140170 -v 0.699709 -0.415700 -0.149601 -v 0.715868 -0.552986 -0.140170 -v 0.623712 -0.459555 -0.113314 -v 0.678966 -0.569074 -0.113314 -v 0.600415 -0.473000 -0.073121 -v 0.654308 -0.579823 -0.073121 -v 0.612275 -0.368687 -0.140170 -v 0.559202 -0.410031 -0.073121 -v 0.812292 -0.676709 0.150399 -v 0.818825 -0.895463 0.140968 -v 0.766957 -0.690813 0.140968 -v 0.779337 -0.903257 0.114112 -v 0.728523 -0.702769 0.114112 -v 0.752951 -0.908464 0.073919 -v 0.812292 -0.676709 -0.149601 -v 0.818825 -0.895463 -0.140170 -v 0.766957 -0.690813 -0.140170 -v 0.728523 -0.702769 -0.113314 -v 0.779337 -0.903257 -0.113314 -v 0.702842 -0.710758 -0.073121 -v 0.752951 -0.908464 -0.073121 -v 0.702842 -0.710758 0.073919 -v 0.645650 -0.583598 -0.025710 -v 0.830095 -1.122292 0.140968 -v 0.877539 -1.124823 0.150399 -v 0.828226 -0.961467 0.140968 -v 0.789874 -1.120146 0.114112 -v 0.788066 -0.964547 0.114112 -v 0.763000 -1.118712 0.073919 -v 0.828226 -0.961467 -0.140170 -v 0.830095 -1.122292 -0.140170 -v 0.788066 -0.964547 -0.113314 -v 0.789874 -1.120146 -0.113314 -v 0.761232 -0.966605 -0.073121 -v 0.753563 -1.118209 -0.025710 -v 0.761232 -0.966605 0.073919 -v 0.763000 -1.118712 -0.073121 -v 0.865406 -0.886270 -0.149601 -v 1.276100 -1.037321 0.140968 -v 1.232696 -0.898436 0.140968 -v 1.314746 -1.026236 0.114112 -v 1.270671 -0.885203 0.114112 -v 1.340569 -1.018830 0.073919 -v 1.296045 -0.876361 0.073919 -v 1.187902 -0.914045 -0.149601 -v 1.276100 -1.037321 -0.140170 -v 1.232696 -0.898436 -0.140170 -v 1.314746 -1.026236 -0.113314 -v 1.270671 -0.885203 -0.113314 -v 1.340569 -1.018830 -0.073121 -v 1.296045 -0.876361 -0.073121 -v 1.172431 -0.742000 0.140968 -v 1.128742 -0.760478 0.150399 -v 1.209469 -0.726335 0.114112 -v 1.234217 -0.715868 0.073919 -v 1.172431 -0.742000 -0.140170 -v 1.209469 -0.726335 -0.113314 -v 1.234217 -0.715868 -0.073121 -v 1.111437 -0.609891 0.140968 -v 1.068861 -0.630779 0.150399 -v 1.147532 -0.592183 0.114112 -v 1.171649 -0.580351 0.073919 -v 1.128742 -0.760478 -0.149601 -v 1.111437 -0.609891 -0.140170 -v 1.147532 -0.592183 -0.113314 -v 1.171649 -0.580351 -0.073121 -v 1.238342 -1.080331 0.150399 -v 1.238342 -1.080331 -0.149601 -v 0.990059 -0.479293 0.150399 -v 1.031094 -0.455442 0.140968 -v 1.065882 -0.435223 0.114112 -v 1.089127 -0.421712 0.073919 -v 0.990059 -0.479293 -0.149601 -v 1.068861 -0.630779 -0.149601 -v 1.031094 -0.455442 -0.140170 -v 1.065882 -0.435223 -0.113314 -v 1.089127 -0.421712 -0.073121 -v 0.898737 -0.299569 -0.149601 -v 0.882479 -0.185361 0.150399 -v 0.895410 -0.055342 0.150399 -v 0.759844 -0.000720 0.150399 -v 1.230514 -1.050397 0.150399 -v 0.063476 -0.443756 0.057075 -v -0.022182 -0.427059 -0.056278 -v 0.063476 -0.443756 -0.056278 -v 0.364171 -0.286955 0.057075 -v 0.354153 -0.338347 -0.056278 -v 0.364171 -0.286955 -0.056278 -v 0.336543 -0.225690 0.057075 -v 0.350052 -0.285425 0.057075 -v -0.022182 -0.427059 0.057075 -v -0.115304 -0.393090 -0.056278 -v -0.115304 -0.393090 0.057075 -v -0.189124 -0.342496 -0.056278 -v -0.189124 -0.342496 0.057075 -v -0.237827 -0.282794 -0.056278 -v -0.237827 -0.282794 0.057075 -v -0.251985 -0.220190 -0.056278 -v 0.350013 -0.224351 0.057075 -v 0.162539 -0.447251 0.057075 -v 0.162539 -0.447251 -0.056278 -v 0.249956 -0.428088 0.057075 -v 0.249956 -0.428088 -0.056278 -v 0.317518 -0.391050 0.057075 -v 0.317518 -0.391050 -0.056278 -v 0.354153 -0.338347 0.057075 -v -0.018594 -0.419108 -0.056278 -v 0.063137 -0.435040 -0.056278 -v 0.063137 -0.435040 0.057075 -v 0.340493 -0.334462 -0.056278 -v 0.350052 -0.285425 -0.056278 -v -0.107449 -0.386696 0.057075 -v -0.018594 -0.419108 0.057075 -v -0.177886 -0.338421 -0.056278 -v -0.177886 -0.338421 0.057075 -v -0.224357 -0.281455 0.057075 -v -0.224357 -0.281455 -0.056278 -v -0.237866 -0.221720 0.057075 -v -0.237866 -0.221720 -0.056278 -v 0.336543 -0.225690 -0.056278 -v 0.157660 -0.438375 0.057075 -v 0.157660 -0.438375 -0.056278 -v 0.241072 -0.420090 0.057075 -v 0.241072 -0.420090 -0.056278 -v 0.305537 -0.384750 0.057075 -v 0.305537 -0.384750 -0.056278 -v 0.340493 -0.334462 0.057075 -v -0.251985 -0.220190 0.057075 -v 0.350013 -0.224351 -0.056278 -v -0.343504 -0.076959 0.071298 -v -0.450756 -0.001234 -0.070501 -v -0.343504 -0.076959 -0.070501 -v -0.243769 -0.245304 -0.070501 -v -0.228651 -0.245304 0.071298 -v -0.243769 -0.245304 0.071298 -v 0.377192 -0.245304 0.071298 -v 0.336775 -0.245304 -0.070501 -v 0.377192 -0.245304 -0.070501 -v -0.265995 -0.211164 -0.070501 -v 0.377192 -0.001234 0.071298 -v 0.377192 -0.001234 -0.070501 -v -0.265995 -0.211164 0.071298 -v -0.290879 -0.130999 -0.070501 -v -0.290879 -0.130999 0.071298 -v -0.049840 -0.062218 -0.070501 -v 0.044184 -0.068637 0.071298 -v -0.049840 -0.062218 0.071298 -v -0.051615 -0.053442 0.074126 -v 0.048371 -0.060268 0.074126 -v 0.361317 -0.009822 0.074126 -v -0.228721 -0.162135 -0.070501 -v -0.195343 -0.112068 0.071298 -v -0.228721 -0.162135 0.071298 -v 0.286317 -0.174697 -0.070501 -v 0.215014 -0.123305 0.071298 -v 0.215014 -0.123305 -0.070501 -v -0.236894 -0.211743 -0.070501 -v -0.236894 -0.211743 0.071298 -v -0.132236 -0.078160 -0.070501 -v -0.132236 -0.078160 0.071298 -v 0.044184 -0.068637 -0.070501 -v 0.125837 -0.087470 0.071298 -v 0.334039 -0.234168 0.071298 -v 0.336775 -0.245304 0.071298 -v -0.195343 -0.112068 -0.070501 -v -0.228651 -0.245304 -0.070501 -v 0.125837 -0.087470 -0.070501 -v 0.334039 -0.234168 -0.070501 -v 0.286317 -0.174697 0.071298 -v 0.361317 -0.009822 -0.073328 -v 0.361317 -0.236717 -0.073328 -v -0.140913 -0.070719 0.074126 -v -0.250567 -0.209010 -0.073328 -v -0.330086 -0.072314 -0.073328 -v -0.275646 -0.128217 -0.073328 -v -0.418596 -0.009822 0.074126 -v -0.450756 -0.001234 0.071298 -v -0.330086 -0.072314 0.074126 -v -0.250567 -0.209010 0.074126 -v -0.275646 -0.128217 0.074126 -v -0.051615 -0.053442 -0.073328 -v -0.209065 -0.107337 0.074126 -v 0.226328 -0.117155 -0.073328 -v -0.244351 -0.160267 -0.073328 -v -0.209065 -0.107337 -0.073328 -v -0.140913 -0.070719 -0.073328 -v 0.350680 -0.236717 -0.073328 -v -0.244351 -0.160267 0.074126 -v -0.418596 -0.009822 -0.073328 -v 0.300134 -0.170351 -0.073328 -v 0.300134 -0.170351 0.074126 -v 0.350680 -0.236717 0.074126 -v 0.133793 -0.079970 0.074126 -v 0.048371 -0.060268 -0.073328 -v 0.361317 -0.236717 0.074126 -v 0.226328 -0.117155 0.074126 -v 0.133793 -0.079970 -0.073328 -v -0.107449 -0.386696 -0.056278 -v 0.095532 -0.241541 -0.050000 -v 0.048317 -0.328708 0.050000 -v 0.048317 -0.328708 -0.050000 -v 0.099855 -0.095325 0.050000 -v 0.069214 -0.029781 -0.050000 -v 0.069214 -0.029781 0.050000 -v 0.089697 -0.199229 -0.050000 -v 0.091229 -0.177316 -0.050000 -v 0.109804 -0.195373 -0.050000 -v 0.057298 -0.177899 0.034044 -v 0.049029 -0.098777 -0.034045 -v 0.057298 -0.177899 -0.034045 -v 0.043440 -0.245152 -0.034045 -v 0.020541 -0.296757 0.034044 -v 0.043440 -0.245152 0.034044 -v 0.091229 -0.177316 0.050000 -v 0.089697 -0.199229 0.050000 -v 0.109804 -0.195373 0.050000 -v 0.095532 -0.241541 0.050000 -v 0.111375 -0.142256 0.050000 -v 0.111375 -0.142256 -0.050000 -v 0.037262 -0.057557 0.034044 -v 0.065431 -0.033070 0.050000 -v 0.056177 -0.193931 0.034044 -v 0.056177 -0.193931 -0.034045 -v 0.045028 -0.324925 0.050000 -v 0.027956 -0.305286 0.045168 -v 0.059118 -0.096825 -0.045169 -v 0.082347 -0.092331 -0.050000 -v 0.082347 -0.092331 0.050000 -v 0.067572 -0.177722 0.045168 -v 0.059118 -0.096825 0.045168 -v 0.045792 -0.050142 0.045168 -v 0.045792 -0.050142 -0.045169 -v 0.065431 -0.033070 -0.050000 -v 0.037262 -0.057557 -0.034045 -v 0.075538 -0.256171 -0.050000 -v 0.066327 -0.195535 -0.045169 -v 0.053160 -0.248489 -0.045169 -v 0.053160 -0.248489 0.045168 -v 0.075538 -0.256171 0.050000 -v 0.066327 -0.195535 0.045168 -v 0.027956 -0.305286 -0.045169 -v 0.020541 -0.296757 -0.034045 -v 0.067572 -0.177722 -0.045169 -v 0.049029 -0.098777 0.034044 -v 0.099855 -0.095325 -0.050000 -v 0.045028 -0.324925 -0.050000 -v 0.205296 0.487704 -0.042324 -v -0.539665 0.457540 -0.029829 -v -0.539665 0.487703 -0.042323 -v 0.205296 0.457540 -0.029829 -v -0.539665 0.445046 0.000334 -v 0.205296 0.445046 0.000334 -v -0.539665 0.457540 0.030498 -v 0.205296 0.457540 0.030498 -v -0.539665 0.487703 0.042992 -v 0.205296 0.487704 0.042992 -v -0.539665 0.517867 0.030498 -v 0.205296 0.517867 0.030498 -v -0.539665 0.530361 0.000334 -v 0.205296 0.530361 0.000334 -v -0.539665 0.517867 -0.029829 -v 0.205296 0.517867 -0.029829 -v -0.493532 0.755600 0.000399 -v 0.174710 0.621399 -0.232044 -v -0.493532 0.621399 -0.232044 -v -0.493532 0.352996 -0.232044 -v 0.174710 0.352996 -0.232044 -v -0.493532 0.218795 0.000399 -v 0.174710 0.218795 0.000399 -v -0.493532 0.352996 0.232842 -v 0.174710 0.437721 0.200947 -v 0.174710 0.534381 0.198452 -v 0.174710 0.576807 0.216026 -v 0.174710 0.400284 -0.210368 -v 0.174710 0.636807 -0.147042 -v 0.174710 0.699147 -0.042092 -v 0.174710 0.656721 -0.059666 -v 0.174710 0.614295 0.042761 -v 0.174710 0.656721 0.060334 -v 0.174710 0.619234 0.113599 -v 0.174710 0.340284 -0.150368 -v 0.174710 0.357858 -0.107941 -v 0.174710 0.312865 -0.058834 -v 0.174710 0.335295 0.158520 -v 0.174710 0.270439 0.043592 -v 0.174710 0.636807 0.156026 -v 0.174710 0.755600 0.000399 -v 0.174710 0.621399 0.232842 -v -0.493532 0.621399 0.232842 -v -0.493532 0.619234 0.113599 -v -0.493532 0.636807 0.156026 -v -0.493532 0.576807 0.216026 -v -0.493532 0.437721 0.200947 -v -0.493532 0.395295 0.218520 -v -0.493532 0.699147 0.042761 -v -0.493532 0.656721 0.060334 -v -0.493532 0.656721 -0.059666 -v -0.493532 0.699147 -0.042092 -v -0.493532 0.636807 -0.147042 -v -0.493532 0.576807 -0.207042 -v -0.493532 0.400284 -0.210368 -v -0.493532 0.340284 -0.150368 -v -0.493532 0.270439 -0.041261 -v -0.493532 0.335295 0.158520 -v -0.493532 0.312865 0.061166 -v -0.493532 0.270439 0.043592 -v 0.174710 0.576807 0.096026 -v -0.493532 0.534381 0.113599 -v 0.174710 0.534381 0.113599 -v -0.493532 0.516807 0.156026 -v 0.174710 0.516807 0.156026 -v -0.493532 0.534381 0.198452 -v -0.493532 0.619234 0.198452 -v 0.174710 0.612160 0.201382 -v -0.493532 0.576807 0.096026 -v 0.174710 0.395295 0.098520 -v -0.493532 0.352869 0.116094 -v 0.174710 0.352869 0.116094 -v -0.493532 0.352869 0.200947 -v 0.174710 0.352869 0.200947 -v -0.493532 0.360211 0.203988 -v 0.174710 0.395295 0.218520 -v -0.493532 0.451271 0.168236 -v -0.493532 0.455295 0.158520 -v 0.174710 0.455295 0.158520 -v 0.174710 0.437722 0.116094 -v -0.493532 0.437721 0.116094 -v -0.493532 0.395295 0.098520 -v 0.174710 0.270439 -0.041261 -v -0.493532 0.252865 0.001166 -v 0.174710 0.252865 0.001166 -v -0.493532 0.321597 0.057549 -v -0.493532 0.355292 0.043592 -v 0.174710 0.355292 0.043592 -v 0.174710 0.372865 0.001166 -v -0.493532 0.372865 0.001166 -v 0.174710 0.355292 -0.041261 -v -0.493532 0.355292 -0.041261 -v -0.493532 0.312865 -0.058834 -v 0.174710 0.365920 -0.196134 -v -0.493532 0.357858 -0.192794 -v 0.174710 0.357858 -0.192794 -v -0.493532 0.357858 -0.107942 -v -0.493532 0.366518 -0.104355 -v -0.493532 0.400284 -0.090368 -v 0.174710 0.392223 -0.093707 -v 0.174710 0.442711 -0.107941 -v -0.493532 0.442711 -0.107942 -v 0.174710 0.460284 -0.150368 -v -0.493532 0.460284 -0.150368 -v 0.174710 0.442711 -0.192794 -v -0.493532 0.442711 -0.192794 -v 0.174710 0.576807 -0.207042 -v -0.493532 0.534381 -0.189468 -v 0.174710 0.534381 -0.189468 -v -0.493532 0.516807 -0.147042 -v 0.174710 0.516807 -0.147042 -v -0.493532 0.534381 -0.104615 -v 0.174710 0.534381 -0.104615 -v 0.174710 0.576807 -0.087042 -v -0.493532 0.576807 -0.087042 -v 0.174710 0.619234 -0.104615 -v -0.493532 0.619234 -0.104615 -v 0.174710 0.619234 -0.189468 -v -0.493532 0.619234 -0.189468 -v 0.174710 0.615805 -0.190888 -v -0.493532 0.609741 -0.193400 -v -0.493532 0.647669 -0.055916 -v 0.174710 0.614295 -0.042092 -v -0.493532 0.596721 0.000334 -v 0.174710 0.596721 0.000334 -v -0.493532 0.614295 0.042761 -v 0.174710 0.699147 0.042761 -v 0.174710 0.716721 0.000334 -v -0.493532 0.716721 0.000334 -v 0.174710 0.352996 0.232842 -v 0.174710 0.451271 0.168236 -v 0.174710 0.321597 0.057549 -v 0.174710 0.400284 -0.090368 -v 0.174710 0.312865 0.061166 -v 0.174710 0.619234 0.198452 -v -0.493532 0.614295 -0.042092 -v 0.185635 0.211549 0.101242 -v -0.500839 0.211549 -0.096394 -v -0.500839 0.211549 0.101241 -v 1.000000 -0.042449 0.101149 -v 1.001858 0.277831 -0.096330 -v 1.001858 0.277831 0.101177 -v 0.185635 0.758837 0.101241 -v 0.185635 0.211549 -0.096395 -v 0.377456 0.759083 0.101238 -v 0.185635 0.758837 -0.096394 -v -0.525164 0.387124 0.111702 -v -0.515164 0.197224 0.111702 -v -0.519070 0.387556 -0.102405 -v -0.525164 0.473437 -0.043974 -v -0.519070 0.387556 0.107252 -v -0.475400 -0.039798 0.101222 -v 0.149673 -0.039798 -0.096361 -v 0.149673 -0.039798 0.101213 -v -0.899233 0.387210 -0.104862 -v -0.899982 0.187422 -0.100893 -v -0.899233 0.387210 0.109709 -v 0.382929 -0.171148 -0.096258 -v 1.000000 -0.042449 -0.096302 -v 0.817975 0.275388 0.101198 -v 0.441358 0.536643 -0.096386 -v 0.441358 0.536643 0.101233 -v 0.639400 0.319164 -0.096367 -v 0.546472 0.385791 0.101225 -v 0.639400 0.319164 0.101214 -v 0.546472 0.385791 -0.096378 -v 0.225524 -0.047650 -0.096345 -v 0.225524 -0.047650 0.101198 -v 0.817975 0.275388 -0.096351 -v 0.382929 -0.171148 0.101111 -v 0.382929 -0.171148 -0.096258 -v 0.364818 -0.125953 0.101149 -v 0.382929 -0.171148 0.101111 -v 0.304012 -0.078016 0.101177 -v 0.364818 -0.125953 -0.096296 -v 0.304012 -0.078016 -0.096324 -v 0.985678 -0.028125 0.111702 -v 0.382929 -0.171148 0.111702 -v 0.199959 0.744531 0.111702 -v 0.199959 0.197224 0.111702 -v -0.460328 -0.025474 -0.106854 -v -0.475400 -0.039798 -0.096374 -v -0.525164 0.387124 -0.106855 -v -0.515164 0.197224 -0.106855 -v 0.985678 -0.028125 -0.106855 -v 0.382929 -0.171148 -0.106849 -v 0.199959 0.744531 -0.106855 -v 0.199959 0.197224 -0.106855 -v -0.891885 0.196356 -0.106855 -v 0.992068 0.263376 0.111702 -v 0.816338 0.261040 0.111702 -v 0.992068 0.263376 -0.106855 -v 0.634752 0.305555 0.111702 -v 0.634752 0.305555 -0.106855 -v 0.816338 0.261040 -0.106855 -v 0.535448 0.376557 0.111702 -v 0.535448 0.376557 -0.106855 -v 0.428561 0.529953 0.111702 -v 0.367492 0.744746 0.111702 -v 0.367492 0.744746 -0.106855 -v 0.428561 0.529953 -0.106855 -v 0.377455 0.759083 -0.096391 -v 0.152363 -0.025474 0.111702 -v 0.232716 -0.035079 0.111702 -v 0.152363 -0.025474 -0.106849 -v 0.314130 -0.067754 0.111702 -v 0.232716 -0.035079 -0.106849 -v 0.377307 -0.118609 0.111702 -v 0.314130 -0.067754 -0.106849 -v 0.382929 -0.171148 0.111702 -v 0.382929 -0.171148 -0.106849 -v 0.377307 -0.118609 -0.106849 -v -0.657892 0.132778 0.111702 -v -0.571456 0.084902 0.111702 -v -0.500434 0.019556 -0.106854 -v -0.525164 0.473437 0.048821 -v -0.896508 0.387124 0.111702 -v -0.896508 0.473437 0.048821 -v -0.896508 0.473437 -0.043974 -v -0.896508 0.387124 -0.106855 -v -0.891885 0.196356 0.111702 -v -0.669284 0.121497 0.103773 -v -0.751980 0.171642 0.111702 -v -0.761861 0.161529 0.104750 -v -0.838627 0.179579 0.111702 -v -0.847366 0.170281 0.105434 -v -0.899982 0.187422 0.105739 -v -0.514551 0.006037 -0.097049 -v -0.584618 0.072188 0.102571 -v -0.584618 0.072188 -0.097723 -v -0.669284 0.121497 -0.098925 -v -0.751980 0.171643 -0.106854 -v -0.657892 0.132778 -0.106854 -v -0.761861 0.161529 -0.099903 -v -0.838627 0.179579 -0.106855 -v -0.847366 0.170281 -0.100587 -v -0.571456 0.084903 -0.106854 -v -0.460328 -0.025474 0.111702 -v -0.514551 0.006037 0.101897 -v -0.896508 0.744107 0.048821 -v -0.525164 0.748703 -0.043974 -v -0.896508 0.744107 -0.043974 -v -0.525164 0.748703 0.048821 -v -0.500434 0.019556 0.111702 -v -0.896508 0.544107 0.048821 -v -0.896508 0.544107 0.048821 -v -0.896508 0.544107 -0.043974 -v -0.896508 0.544107 -0.043974 -v -0.525164 0.758837 0.048821 -v -0.525164 0.758837 0.048821 -v -0.525164 0.758837 -0.043974 -v -0.525164 0.758837 -0.043974 -v -1.877784 0.783489 0.141285 -v -2.262216 0.696511 0.141285 -v -1.877784 0.696511 0.141285 -v -1.859163 0.783489 -0.122664 -v -1.859163 0.696511 0.122664 -v -1.859163 0.696511 -0.122664 -v -2.262216 0.802110 -0.122664 -v -1.877784 0.802110 0.122664 -v -1.877784 0.802110 -0.122664 -v -2.280837 0.783489 0.122664 -v -2.280837 0.696511 -0.122664 -v -2.280837 0.696511 0.122664 -v -2.262216 0.783489 -0.141285 -v -1.877784 0.696511 -0.141285 -v -2.262216 0.696511 -0.141285 -v -2.262216 0.677890 0.122664 -v -2.262216 0.783489 0.141285 -v -2.262216 0.802110 0.122664 -v -2.262216 0.677890 -0.122664 -v -2.280837 0.783489 -0.122664 -v -1.877784 0.677890 0.122664 -v -1.859163 0.783489 0.122664 -v -1.877784 0.677890 -0.122664 -v -1.877784 0.783489 -0.141285 -v -2.263653 0.994927 -0.015215 -v -2.136791 0.994927 0.015215 -v -2.136791 0.994927 -0.015215 -v -2.136791 0.906994 0.126089 -v -2.136791 0.906994 0.103314 -v -2.136791 0.923646 0.103314 -v -2.136791 0.976865 0.036211 -v -2.136791 0.976865 -0.036211 -v -2.263653 0.976865 -0.036211 -v -2.263653 0.976865 0.036211 -v -2.263653 0.994927 0.015215 -v -2.263653 0.794927 -0.126089 -v -2.263653 0.794927 0.126089 -v -2.263653 0.812990 0.103314 -v -2.136791 0.794927 -0.103351 -v -2.136791 0.794927 0.103299 -v -2.263653 0.906994 -0.126089 -v -2.136791 0.794927 -0.126089 -v -2.263653 0.982320 -0.069914 -v -2.136791 0.982320 -0.069914 -v -2.263653 0.950376 -0.110192 -v -2.136791 0.950376 -0.110192 -v -2.136791 0.982320 0.069914 -v -2.263653 0.982320 0.069914 -v -2.136791 0.950376 0.110193 -v -2.263653 0.950376 0.110193 -v -2.136791 0.794927 0.126089 -v -2.136791 0.812990 -0.103314 -v -2.136791 0.812990 0.103314 -v -2.263653 0.812990 -0.103314 -v -2.136791 0.906994 -0.103314 -v -2.263653 0.923646 -0.103314 -v -2.263653 0.969235 -0.069316 -v -2.136791 0.969235 -0.069316 -v -2.136791 0.970297 -0.064705 -v -2.136791 0.949901 -0.093693 -v -2.263653 0.949901 -0.093693 -v -2.136791 0.923646 -0.103314 -v -2.136791 0.969235 0.069316 -v -2.263653 0.969235 0.069316 -v -2.263653 0.970297 0.064705 -v -2.263653 0.949901 0.093693 -v -2.136791 0.949901 0.093693 -v -2.263653 0.923646 0.103314 -v -2.132296 0.895318 0.126089 -v -2.132296 0.802332 0.126089 -v -1.974111 0.794927 0.126089 -v -2.008636 0.804970 0.126089 -v -2.008636 0.802332 0.126089 -v -2.132296 0.895318 -0.126089 -v -2.132296 0.802332 -0.126089 -v -1.974111 0.794927 -0.126089 -v -2.008636 0.802332 -0.126089 -v -2.008636 0.804970 -0.126089 -v -2.136791 0.906994 -0.126089 -v -1.974111 0.794927 -0.103351 -v -2.132296 0.895318 -0.103317 -v -2.132296 0.802332 -0.103349 -v -2.008636 0.804970 -0.103348 -v -2.008636 0.802332 -0.103349 -v -1.974111 0.794927 0.103299 -v -2.132296 0.895318 0.103312 -v -2.132296 0.802332 0.103300 -v -2.008636 0.802332 0.103300 -v -2.008636 0.804970 0.103300 -v -2.263653 0.906994 0.126089 -v -1.898160 0.189408 -0.105115 -v -1.898209 0.189408 -0.105115 -v -2.006190 0.228035 -0.105115 -v -0.896509 0.744107 -0.043974 -v -0.896509 0.473437 0.048821 -v -0.896509 0.473437 -0.043974 -v -2.885461 0.387210 0.105913 -v -2.885461 0.228035 0.105913 -v -2.006190 0.228035 0.105913 -v -2.885461 0.207909 0.064290 -v -2.885461 0.249190 0.050810 -v -2.885461 0.233614 0.027498 -v -2.885461 0.387210 -0.105115 -v -2.885461 0.371856 0.000000 -v -0.919806 0.626491 -0.043974 -v -2.280603 0.626491 -0.043974 -v -2.419806 0.564610 -0.043974 -v -2.419806 0.626491 -0.043974 -v -1.780603 0.626491 -0.043974 -v -1.919806 0.564610 -0.043974 -v -1.919806 0.626491 -0.043974 -v -1.280603 0.626491 -0.043974 -v -1.419806 0.564610 -0.043974 -v -1.419806 0.626491 -0.043974 -v -0.894540 0.387210 -0.105115 -v -0.894540 0.387210 0.105913 -v -0.894540 0.371856 0.000000 -v -0.894540 0.189408 0.105913 -v -0.894540 0.189408 -0.105115 -v -0.894540 0.228144 0.000000 -v -0.896509 0.744107 0.048821 -v -0.919806 0.626491 0.048821 -v -1.280603 0.626491 0.048821 -v -1.419806 0.564610 0.048821 -v -1.280603 0.564610 0.048821 -v -1.780603 0.626491 0.048821 -v -1.919806 0.564610 0.048821 -v -1.780603 0.564610 0.048821 -v -2.419806 0.564610 0.048821 -v -2.280603 0.626491 0.048821 -v -2.419806 0.626491 0.048821 -v -1.391312 0.708940 0.048821 -v -2.818637 0.708940 -0.043974 -v -2.818637 0.708940 0.048821 -v -1.768461 0.550134 0.048821 -v -1.931948 0.550134 0.048821 -v -1.963856 0.539505 0.048821 -v -2.887429 0.473437 -0.043974 -v -2.887429 0.473437 0.048821 -v -1.898160 0.189408 0.105913 -v -1.898209 0.189408 0.105913 -v -2.006190 0.189408 0.056171 -v -2.006190 0.189408 -0.055373 -v -2.006190 0.207909 -0.063492 -v -2.006190 0.221730 -0.081290 -v -2.006190 0.221730 0.082088 -v -2.006190 0.207909 0.064290 -v -2.885461 0.221730 0.082088 -v -2.885461 0.221730 -0.081290 -v -2.885461 0.228035 -0.105115 -v -2.885461 0.207909 -0.063492 -v -2.885461 0.189408 -0.055373 -v -0.919806 0.564610 -0.043974 -v -1.193092 0.655641 -0.043974 -v -1.007317 0.655641 0.048821 -v -1.193092 0.655641 0.048821 -v -1.280603 0.564610 -0.043974 -v -1.193092 0.535461 -0.043974 -v -1.236553 0.539505 0.048821 -v -1.193092 0.535461 0.048821 -v -1.236553 0.539505 -0.043974 -v -1.268461 0.550134 0.048821 -v -1.268461 0.550134 -0.043974 -v -1.236553 0.651597 -0.043974 -v -1.236553 0.651597 0.048821 -v -1.268461 0.640968 -0.043974 -v -1.268461 0.640968 0.048821 -v -1.007317 0.535461 -0.043974 -v -0.963856 0.539505 0.048821 -v -0.963856 0.539505 -0.043974 -v -0.931948 0.550134 0.048821 -v -0.931948 0.550134 -0.043974 -v -0.919806 0.564610 0.048821 -v -0.963856 0.651597 -0.043974 -v -1.007317 0.655641 -0.043974 -v -0.931948 0.640968 -0.043974 -v -0.963856 0.651597 0.048821 -v -0.931948 0.640968 0.048821 -v -1.007317 0.535461 0.048821 -v -1.419806 0.626491 0.048821 -v -1.693092 0.655641 -0.043974 -v -1.507317 0.655641 0.048821 -v -1.693092 0.655641 0.048821 -v -1.780603 0.564610 -0.043974 -v -1.693092 0.535461 -0.043974 -v -1.736553 0.539505 0.048821 -v -1.693092 0.535461 0.048821 -v -1.736553 0.539505 -0.043974 -v -1.768461 0.550134 -0.043974 -v -1.736553 0.651597 -0.043974 -v -1.736553 0.651597 0.048821 -v -1.768461 0.640968 -0.043974 -v -1.768461 0.640968 0.048821 -v -1.507317 0.535461 -0.043974 -v -1.463856 0.539505 0.048821 -v -1.463856 0.539505 -0.043974 -v -1.431948 0.550134 0.048821 -v -1.431948 0.550134 -0.043974 -v -1.463856 0.651597 -0.043974 -v -1.507317 0.655641 -0.043974 -v -1.431948 0.640968 -0.043974 -v -1.463856 0.651597 0.048821 -v -1.431948 0.640968 0.048821 -v -1.507317 0.535461 0.048821 -v -1.919806 0.626491 0.048821 -v -2.193092 0.655641 -0.043974 -v -2.007317 0.655641 0.048821 -v -2.193092 0.655641 0.048821 -v -2.280603 0.564610 -0.043974 -v -2.280603 0.564610 0.048821 -v -2.236553 0.539505 0.048821 -v -2.193092 0.535461 -0.043974 -v -2.236553 0.539505 -0.043974 -v -2.268461 0.550134 0.048821 -v -2.268461 0.550134 -0.043974 -v -2.236553 0.651597 -0.043974 -v -2.236553 0.651597 0.048821 -v -2.268461 0.640968 -0.043974 -v -2.268461 0.640968 0.048821 -v -2.007317 0.535461 -0.043974 -v -1.963856 0.539505 -0.043974 -v -1.931948 0.550134 -0.043974 -v -1.963856 0.651597 -0.043974 -v -2.007317 0.655641 -0.043974 -v -1.931948 0.640968 -0.043974 -v -1.963856 0.651597 0.048821 -v -1.931948 0.640968 0.048821 -v -2.007317 0.535461 0.048821 -v -2.693092 0.655641 -0.043974 -v -2.507317 0.655641 0.048821 -v -2.693092 0.655641 0.048821 -v -2.780603 0.626491 0.048821 -v -2.780603 0.564610 -0.043974 -v -2.780603 0.626491 -0.043974 -v -2.736553 0.539505 0.048821 -v -2.693092 0.535461 -0.043974 -v -2.736553 0.539505 -0.043974 -v -2.768461 0.550134 0.048821 -v -2.768461 0.550134 -0.043974 -v -2.780603 0.564610 0.048821 -v -2.736553 0.651597 -0.043974 -v -2.736553 0.651597 0.048821 -v -2.768461 0.640968 -0.043974 -v -2.768461 0.640968 0.048821 -v -2.507317 0.535461 -0.043974 -v -2.463856 0.539505 0.048821 -v -2.463856 0.539505 -0.043974 -v -2.431948 0.550134 0.048821 -v -2.431948 0.550134 -0.043974 -v -2.463856 0.651597 -0.043974 -v -2.507317 0.655641 -0.043974 -v -2.431948 0.640968 -0.043974 -v -2.463856 0.651597 0.048821 -v -2.431948 0.640968 0.048821 -v -2.507317 0.535461 0.048821 -v -0.924926 0.736872 -0.043974 -v -0.989203 0.720510 0.048821 -v -0.924926 0.736872 0.048821 -v -0.989202 0.720510 -0.043974 -v -1.182386 0.708940 0.048821 -v -1.182386 0.708940 -0.043974 -v -2.885461 0.272502 -0.066386 -v -0.894540 0.300000 -0.071856 -v -2.885461 0.300000 -0.071856 -v -2.885461 0.249190 -0.050810 -v -0.894540 0.272502 -0.066386 -v -0.894540 0.233614 -0.027498 -v -0.894540 0.249190 -0.050810 -v -2.885461 0.233614 -0.027498 -v -2.885461 0.228144 0.000000 -v -0.894540 0.233614 0.027498 -v -0.894540 0.249190 0.050810 -v -0.894540 0.272502 0.066386 -v -2.885461 0.272502 0.066386 -v -0.894540 0.300000 0.071856 -v -2.885461 0.300000 0.071856 -v -0.894540 0.327498 0.066386 -v -2.885461 0.327498 0.066386 -v -0.894540 0.350810 0.050810 -v -2.885461 0.366386 0.027498 -v -2.885461 0.350810 0.050810 -v -0.894540 0.366386 0.027498 -v -2.885461 0.366386 -0.027498 -v -2.885461 0.350810 -0.050810 -v -0.894540 0.366386 -0.027498 -v -2.885461 0.327498 -0.066386 -v -0.894540 0.350810 -0.050810 -v -0.894540 0.327498 -0.066386 -v -2.885461 0.189408 0.056171 -v -1.391312 0.708940 -0.043974 -v -2.193092 0.535461 0.048821 -v -2.693092 0.535461 0.048821 -v -2.266439 0.200413 0.155794 -v -2.666439 0.120275 0.155794 -v -2.266439 0.120275 0.155794 -v -2.401794 0.106420 -0.115766 -v -2.666439 0.120275 -0.155794 -v -2.266439 0.120275 -0.155794 -v -2.666439 0.106420 0.115766 -v -2.401794 -0.051111 0.115766 -v -2.401794 0.106420 0.115766 -v -2.666439 0.214267 -0.115766 -v -2.266439 0.214267 0.115766 -v -2.266439 0.214267 -0.115766 -v -2.666439 0.200413 -0.155794 -v -2.666439 0.214267 0.115766 -v -2.266439 0.120273 0.155789 -v -2.266439 0.106420 0.010328 -v -2.666439 -0.051111 -0.115766 -v -2.666439 0.106420 -0.115766 -v -2.401794 -0.087605 -0.010328 -v -2.666439 -0.087605 0.010328 -v -2.666439 -0.087605 -0.010328 -v -2.266439 -0.051111 0.010328 -v -2.401794 -0.087605 0.010328 -v -2.266439 -0.051111 -0.010328 -v -2.401794 -0.051111 -0.115766 -v -2.266439 0.106420 -0.010328 -v -2.266439 0.120273 -0.155789 -v -2.666439 -0.051111 0.115766 -v -2.666925 0.000000 -0.078813 -v -2.953075 -0.030161 -0.072814 -v -2.953075 0.000000 -0.078813 -v -2.666925 -0.030161 -0.072814 -v -2.953075 -0.055729 -0.055729 -v -2.666925 -0.072814 -0.030160 -v -2.953075 -0.072814 -0.030160 -v -2.953075 -0.078813 -0.000000 -v -2.666925 -0.072814 0.030160 -v -2.953075 -0.072814 0.030160 -v -2.953075 -0.055729 0.055729 -v -2.666925 -0.055729 0.055729 -v -2.953075 -0.030161 0.072814 -v -2.666925 -0.000000 0.078813 -v -2.953075 -0.000000 0.078813 -v -2.953075 0.030160 0.072814 -v -2.666925 0.030160 0.072814 -v -2.953075 0.055729 0.055729 -v -2.666925 0.055729 0.055729 -v -2.953075 0.072813 0.030160 -v -2.666925 0.072813 0.030160 -v -2.953075 0.078813 0.000000 -v -2.666925 0.078813 0.000000 -v -2.953075 0.072813 -0.030160 -v -2.666925 0.072813 -0.030160 -v -2.953075 0.055729 -0.055729 -v -2.666925 -0.055729 -0.055729 -v -2.666925 0.055729 -0.055729 -v -2.953075 0.030160 -0.072814 -v -2.666925 0.030160 -0.072814 -v -2.943075 0.068886 -0.018307 -v -2.943075 0.053832 -0.040836 -v -2.943075 0.068886 0.018307 -v -2.943075 -0.029355 -0.057192 -v -2.943075 -0.053833 -0.040836 -v -2.943075 -0.068886 -0.018307 -v -2.943075 -0.072528 -0.000000 -v -2.943075 -0.068886 0.018307 -v -2.943075 -0.053833 0.040836 -v -2.943075 -0.029355 0.057192 -v -2.943075 -0.000000 0.063031 -v -2.943075 0.029354 0.057192 -v -2.943075 0.053832 0.040836 -v -2.943075 0.072527 0.000000 -v -2.943075 0.029354 -0.057192 -v -2.943075 0.000000 -0.063031 -v -2.944712 0.000000 -0.025000 -v -2.953289 -0.017678 -0.017678 -v -2.953289 0.000000 -0.025000 -v -2.944712 -0.017678 -0.017678 -v -2.953289 -0.025000 -0.000000 -v -2.944712 -0.025000 -0.000000 -v -2.953289 -0.017678 0.017678 -v -2.944712 -0.000000 0.025000 -v -2.953289 -0.000000 0.025000 -v -2.953289 0.017678 0.017678 -v -2.944712 0.017678 0.017678 -v -2.953289 0.025000 0.000000 -v -2.944712 -0.017678 0.017678 -v -2.944712 0.017678 -0.017678 -v -2.953289 0.017678 -0.017678 -v -2.666439 0.200413 0.155794 -v -2.266439 0.200413 -0.155794 -v -2.666925 -0.078813 -0.000000 -v -2.666925 -0.030161 0.072814 -v -2.944712 0.025000 0.000000 -vt 0.973837 0.819193 -vt 0.973503 0.817238 -vt 0.973837 0.817238 -vt 0.910722 0.811853 -vt 0.953128 0.794288 -vt 0.971752 0.839248 -vt 0.973169 0.819193 -vt 0.972834 0.817238 -vt 0.973169 0.817238 -vt 0.972834 0.819193 -vt 0.972500 0.817238 -vt 0.972834 0.817238 -vt 0.954935 0.857562 -vt 0.972500 0.899968 -vt 0.927539 0.918591 -vt 0.973169 0.817238 -vt 0.973503 0.794288 -vt 0.973503 0.817238 -vt 0.973503 0.842143 -vt 0.973837 0.842143 -vt 0.973837 0.794288 -vt 0.972834 0.842143 -vt 0.973169 0.842143 -vt 0.972834 0.794288 -vt 0.973169 0.842143 -vt 0.973503 0.819193 -vt 0.973503 0.842143 -vt 0.973169 0.794288 -vt 0.972500 0.842143 -vt 0.972834 0.842143 -vt 0.973503 0.819193 -vt 0.954935 0.795036 -vt 0.972500 0.812601 -vt 0.972500 0.837442 -vt 0.954187 0.856813 -vt 0.929346 0.856813 -vt 0.927539 0.856065 -vt 0.909974 0.838500 -vt 0.909974 0.813659 -vt 0.928287 0.794288 -vt 0.972834 0.819193 -vt 0.972500 0.819193 -vt 0.971752 0.901774 -vt 0.954187 0.919339 -vt 0.929346 0.919339 -vt 0.909974 0.901026 -vt 0.909974 0.876185 -vt 0.910722 0.874379 -vt 0.928287 0.856813 -vt 0.953128 0.856813 -vt 0.972500 0.875127 -vt 0.973169 0.794288 -vt 0.973503 0.794288 -vt 0.972500 0.794288 -vt 0.973169 0.819193 -vt 0.972834 0.794288 -vt 0.711561 0.885107 -vt 0.722577 0.863215 -vt 0.722577 0.885107 -vt 0.733453 0.863215 -vt 0.744423 0.841323 -vt 0.744423 0.863215 -vt 0.784608 0.863215 -vt 0.780803 0.841323 -vt 0.784608 0.841323 -vt 0.791724 0.863215 -vt 0.789960 0.841323 -vt 0.791724 0.841323 -vt 0.727669 0.928890 -vt 0.734979 0.950781 -vt 0.727669 0.950781 -vt 0.776382 0.863215 -vt 0.768709 0.841323 -vt 0.776382 0.841323 -vt 0.750924 0.906998 -vt 0.764293 0.928890 -vt 0.750924 0.928890 -vt 0.763408 0.906998 -vt 0.771476 0.885107 -vt 0.771476 0.906998 -vt 0.755340 0.841323 -vt 0.755340 0.863215 -vt 0.733451 0.863215 -vt 0.733451 0.885107 -vt 0.692297 0.841323 -vt 0.695464 0.841323 -vt 0.696377 0.849008 -vt 0.784394 0.928890 -vt 0.781227 0.906998 -vt 0.784394 0.906998 -vt 0.794786 0.863215 -vt 0.793489 0.841323 -vt 0.794786 0.841323 -vt 0.705737 0.950781 -vt 0.698426 0.928890 -vt 0.705737 0.928890 -vt 0.675451 0.928890 -vt 0.683110 0.950781 -vt 0.675451 0.950781 -vt 0.674895 0.849008 -vt 0.682962 0.849008 -vt 0.685309 0.855907 -vt 0.733451 0.885107 -vt 0.744467 0.863215 -vt 0.744467 0.885107 -vt 0.689666 0.928890 -vt 0.700636 0.906998 -vt 0.700636 0.928890 -vt 0.784148 0.906998 -vt 0.780343 0.885107 -vt 0.784148 0.885107 -vt 0.793489 0.863215 -vt 0.791724 0.841323 -vt 0.793489 0.841323 -vt 0.742289 0.928890 -vt 0.749599 0.950781 -vt 0.742289 0.950781 -vt 0.776383 0.885107 -vt 0.768710 0.863215 -vt 0.776383 0.863215 -vt 0.755340 0.841323 -vt 0.768709 0.863215 -vt 0.755340 0.863215 -vt 0.755341 0.885107 -vt 0.763408 0.906998 -vt 0.755341 0.906998 -vt 0.711553 0.906998 -vt 0.711553 0.928890 -vt 0.755341 0.863215 -vt 0.755341 0.885107 -vt 0.689670 0.882480 -vt 0.689670 0.879312 -vt 0.697354 0.878399 -vt 0.786648 0.950781 -vt 0.783481 0.928890 -vt 0.786648 0.928890 -vt 0.790720 0.968054 -vt 0.789423 0.946162 -vt 0.790720 0.946162 -vt 0.720359 0.950781 -vt 0.713048 0.928890 -vt 0.720359 0.928890 -vt 0.683110 0.928890 -vt 0.690768 0.950781 -vt 0.683110 0.950781 -vt 0.719245 0.856098 -vt 0.719245 0.848031 -vt 0.726145 0.845685 -vt 0.756909 0.928890 -vt 0.761356 0.950781 -vt 0.756909 0.950781 -vt 0.770213 0.950781 -vt 0.774641 0.928890 -vt 0.774641 0.950781 -vt 0.791658 0.906998 -vt 0.789893 0.885107 -vt 0.791658 0.885107 -vt 0.779061 0.950781 -vt 0.783481 0.928890 -vt 0.783481 0.950781 -vt 0.706658 0.955200 -vt 0.704767 0.950781 -vt 0.707541 0.950781 -vt 0.725782 0.955200 -vt 0.727211 0.950781 -vt 0.728360 0.955200 -vt 0.794720 0.906998 -vt 0.793423 0.885107 -vt 0.794720 0.885107 -vt 0.776382 0.863215 -vt 0.780803 0.841323 -vt 0.780803 0.863215 -vt 0.710315 0.950781 -vt 0.708425 0.955200 -vt 0.707541 0.950781 -vt 0.724353 0.950781 -vt 0.725782 0.955200 -vt 0.723205 0.955200 -vt 0.772360 0.928890 -vt 0.776807 0.906998 -vt 0.776807 0.928890 -vt 0.765784 0.950781 -vt 0.770213 0.928890 -vt 0.770213 0.950781 -vt 0.793489 0.885107 -vt 0.791725 0.863215 -vt 0.793489 0.863215 -vt 0.776807 0.928890 -vt 0.781227 0.906998 -vt 0.781227 0.928890 -vt 0.701109 0.955200 -vt 0.699219 0.950781 -vt 0.701993 0.950781 -vt 0.723205 0.950781 -vt 0.721776 0.955200 -vt 0.720627 0.950781 -vt 0.794595 0.950781 -vt 0.793298 0.928890 -vt 0.794595 0.928890 -vt 0.775923 0.906998 -vt 0.780343 0.885107 -vt 0.780343 0.906998 -vt 0.704767 0.950781 -vt 0.702877 0.955200 -vt 0.701993 0.950781 -vt 0.719478 0.955200 -vt 0.718049 0.950781 -vt 0.720627 0.950781 -vt 0.771476 0.906998 -vt 0.775923 0.885107 -vt 0.775923 0.906998 -vt 0.761356 0.950781 -vt 0.765784 0.928890 -vt 0.765784 0.950781 -vt 0.791725 0.885107 -vt 0.789960 0.863215 -vt 0.791725 0.863215 -vt 0.776383 0.885107 -vt 0.780803 0.863215 -vt 0.780803 0.885107 -vt 0.695561 0.955200 -vt 0.693670 0.950781 -vt 0.696444 0.950781 -vt 0.715471 0.950781 -vt 0.714042 0.955200 -vt 0.712893 0.950781 -vt 0.794786 0.885107 -vt 0.793489 0.863215 -vt 0.794786 0.863215 -vt 0.774641 0.928890 -vt 0.779061 0.950781 -vt 0.774641 0.950781 -vt 0.699219 0.950781 -vt 0.697328 0.955200 -vt 0.696444 0.950781 -vt 0.716900 0.955200 -vt 0.715471 0.950781 -vt 0.718049 0.950781 -vt 0.711561 0.885107 -vt 0.716008 0.885107 -vt 0.716008 0.902379 -vt 0.685237 0.924271 -vt 0.689666 0.906998 -vt 0.689666 0.928890 -vt 0.674685 0.950781 -vt 0.678491 0.955400 -vt 0.674685 0.955400 -vt 0.793423 0.906998 -vt 0.791658 0.885107 -vt 0.793423 0.885107 -vt 0.739399 0.933509 -vt 0.734979 0.950781 -vt 0.734979 0.928890 -vt 0.683110 0.958455 -vt 0.687729 0.950781 -vt 0.687729 0.958455 -vt 0.789013 0.906998 -vt 0.784394 0.920367 -vt 0.784394 0.906998 -vt 0.667778 0.958849 -vt 0.672397 0.950781 -vt 0.672397 0.958849 -vt 0.667778 0.928890 -vt 0.678695 0.924271 -vt 0.678695 0.928890 -vt 0.722577 0.906998 -vt 0.733451 0.902379 -vt 0.733451 0.906998 -vt 0.667778 0.904371 -vt 0.667778 0.901204 -vt 0.675462 0.900291 -vt 0.687729 0.950781 -vt 0.690896 0.955400 -vt 0.687729 0.955400 -vt 0.793298 0.950781 -vt 0.792000 0.928890 -vt 0.793298 0.928890 -vt 0.713048 0.950781 -vt 0.708628 0.950781 -vt 0.708628 0.933509 -vt 0.683110 0.950781 -vt 0.678491 0.958440 -vt 0.678491 0.950781 -vt 0.693670 0.950781 -vt 0.691780 0.955200 -vt 0.690896 0.950781 -vt 0.711464 0.950781 -vt 0.712893 0.955200 -vt 0.710315 0.955200 -vt 0.733451 0.906998 -vt 0.744467 0.885107 -vt 0.744467 0.906998 -vt 0.711553 0.928890 -vt 0.722524 0.906998 -vt 0.722524 0.928890 -vt 0.784608 0.885106 -vt 0.780803 0.863215 -vt 0.784608 0.863215 -vt 0.793552 0.928890 -vt 0.791787 0.906998 -vt 0.793552 0.906998 -vt 0.749599 0.928890 -vt 0.756909 0.950781 -vt 0.749599 0.950781 -vt 0.675451 0.950781 -vt 0.667778 0.928890 -vt 0.675451 0.928890 -vt 0.755341 0.863215 -vt 0.768710 0.885106 -vt 0.755341 0.885106 -vt 0.764293 0.906998 -vt 0.772360 0.928890 -vt 0.764293 0.928890 -vt 0.733441 0.906998 -vt 0.733441 0.928890 -vt 0.755341 0.885107 -vt 0.755341 0.906998 -vt 0.689670 0.904371 -vt 0.689670 0.901204 -vt 0.697354 0.900291 -vt 0.787316 0.906998 -vt 0.784148 0.885107 -vt 0.787316 0.885107 -vt 0.794849 0.928890 -vt 0.793552 0.906998 -vt 0.794849 0.906998 -vt 0.727669 0.950781 -vt 0.720359 0.928890 -vt 0.727669 0.928890 -vt 0.690768 0.928890 -vt 0.698426 0.950781 -vt 0.690768 0.950781 -vt 0.675462 0.877990 -vt 0.675462 0.869923 -vt 0.682362 0.867576 -vt 0.744397 0.928890 -vt 0.741135 0.921773 -vt 0.748035 0.924728 -vt 0.784608 0.885107 -vt 0.787382 0.863215 -vt 0.787382 0.885107 -vt 0.786648 0.950781 -vt 0.789423 0.928890 -vt 0.789423 0.950781 -vt 0.792000 0.946162 -vt 0.789423 0.928890 -vt 0.792000 0.928890 -vt 0.789013 0.906998 -vt 0.791787 0.924271 -vt 0.789013 0.924271 -vt 0.787382 0.885107 -vt 0.789960 0.863215 -vt 0.789960 0.885107 -vt 0.789960 0.841323 -vt 0.787382 0.863215 -vt 0.787382 0.841323 -vt 0.787382 0.863215 -vt 0.784608 0.841323 -vt 0.787382 0.841323 -vt 0.789893 0.885107 -vt 0.787316 0.906998 -vt 0.787316 0.885107 -vt 0.711561 0.863215 -vt 0.733453 0.841323 -vt 0.780803 0.863215 -vt 0.789960 0.863215 -vt 0.734979 0.928890 -vt 0.768709 0.863215 -vt 0.764293 0.906998 -vt 0.763408 0.885107 -vt 0.711561 0.852269 -vt 0.709372 0.863215 -vt 0.707399 0.855907 -vt 0.707607 0.863215 -vt 0.705348 0.841323 -vt 0.709153 0.841323 -vt 0.704445 0.849008 -vt 0.694031 0.855907 -vt 0.693813 0.863215 -vt 0.692516 0.863215 -vt 0.689670 0.852269 -vt 0.781227 0.928890 -vt 0.793489 0.863215 -vt 0.698426 0.950781 -vt 0.683110 0.928890 -vt 0.687043 0.841323 -vt 0.689670 0.852269 -vt 0.686824 0.863215 -vt 0.685527 0.863215 -vt 0.671940 0.855907 -vt 0.671732 0.863215 -vt 0.669967 0.863215 -vt 0.667778 0.852269 -vt 0.683875 0.841323 -vt 0.670186 0.841323 -vt 0.673991 0.841323 -vt 0.733451 0.863215 -vt 0.689666 0.906998 -vt 0.780343 0.906998 -vt 0.791724 0.863215 -vt 0.749599 0.928890 -vt 0.768710 0.885107 -vt 0.768709 0.841323 -vt 0.763408 0.885107 -vt 0.700615 0.863215 -vt 0.711561 0.865404 -vt 0.704253 0.867377 -vt 0.711561 0.867169 -vt 0.689670 0.869428 -vt 0.689670 0.865623 -vt 0.697354 0.870332 -vt 0.704253 0.880745 -vt 0.711561 0.880964 -vt 0.711561 0.882261 -vt 0.700615 0.885107 -vt 0.783481 0.950781 -vt 0.789423 0.968054 -vt 0.713048 0.950781 -vt 0.690768 0.928890 -vt 0.711561 0.843950 -vt 0.722507 0.841323 -vt 0.733453 0.844169 -vt 0.733453 0.845466 -vt 0.726145 0.859053 -vt 0.733453 0.859261 -vt 0.733453 0.861026 -vt 0.722507 0.863215 -vt 0.711561 0.847118 -vt 0.711561 0.860807 -vt 0.711561 0.857002 -vt 0.761356 0.928890 -vt 0.770213 0.928890 -vt 0.789893 0.906998 -vt 0.779061 0.928890 -vt 0.704893 0.955200 -vt 0.725914 0.950781 -vt 0.793423 0.906998 -vt 0.776382 0.841323 -vt 0.710190 0.955200 -vt 0.725651 0.950781 -vt 0.772360 0.906998 -vt 0.765784 0.928890 -vt 0.791725 0.885107 -vt 0.776807 0.906998 -vt 0.699344 0.955200 -vt 0.723073 0.955200 -vt 0.793298 0.950781 -vt 0.775923 0.885107 -vt 0.704641 0.955200 -vt 0.718181 0.955200 -vt 0.771476 0.885107 -vt 0.761356 0.928890 -vt 0.789960 0.885107 -vt 0.776383 0.863215 -vt 0.693796 0.955200 -vt 0.715339 0.955200 -vt 0.793489 0.885107 -vt 0.779061 0.928890 -vt 0.699093 0.955200 -vt 0.715603 0.955200 -vt 0.722577 0.902379 -vt 0.711561 0.906998 -vt 0.685237 0.906998 -vt 0.678491 0.950781 -vt 0.791658 0.906998 -vt 0.739399 0.950781 -vt 0.742289 0.928890 -vt 0.742289 0.933509 -vt 0.683110 0.950781 -vt 0.789013 0.920367 -vt 0.667778 0.950781 -vt 0.667778 0.924271 -vt 0.678724 0.885107 -vt 0.689670 0.887296 -vt 0.682362 0.889268 -vt 0.689670 0.889060 -vt 0.667778 0.891320 -vt 0.667778 0.887515 -vt 0.675462 0.892223 -vt 0.682362 0.902637 -vt 0.689670 0.902855 -vt 0.689670 0.904152 -vt 0.678724 0.906998 -vt 0.690896 0.950781 -vt 0.792000 0.950781 -vt 0.705737 0.933509 -vt 0.705737 0.928890 -vt 0.713048 0.928890 -vt 0.683110 0.958440 -vt 0.693544 0.955200 -vt 0.712761 0.950781 -vt 0.733451 0.885107 -vt 0.711553 0.906998 -vt 0.780803 0.885106 -vt 0.791787 0.928890 -vt 0.756909 0.928890 -vt 0.667778 0.950781 -vt 0.768710 0.863215 -vt 0.772360 0.906998 -vt 0.700615 0.885107 -vt 0.711561 0.887296 -vt 0.704253 0.889268 -vt 0.711561 0.889060 -vt 0.689670 0.891320 -vt 0.689670 0.887515 -vt 0.697354 0.892223 -vt 0.704253 0.902637 -vt 0.711561 0.902855 -vt 0.711561 0.904152 -vt 0.700615 0.906998 -vt 0.784148 0.906998 -vt 0.793552 0.928890 -vt 0.720359 0.950781 -vt 0.698426 0.928890 -vt 0.667778 0.865842 -vt 0.678724 0.863215 -vt 0.689670 0.866061 -vt 0.689670 0.867358 -vt 0.682362 0.880945 -vt 0.689670 0.881153 -vt 0.689670 0.882917 -vt 0.678724 0.885107 -vt 0.667778 0.869009 -vt 0.667778 0.882698 -vt 0.667778 0.878893 -vt 0.733451 0.912792 -vt 0.733451 0.909625 -vt 0.741135 0.913706 -vt 0.744397 0.906998 -vt 0.750924 0.908695 -vt 0.748035 0.911359 -vt 0.750924 0.911273 -vt 0.733451 0.926482 -vt 0.733451 0.922676 -vt 0.750924 0.924810 -vt 0.750924 0.927584 -vt 0.784608 0.863215 -vt 0.786648 0.928890 -vt 0.789423 0.946162 -vt 0.791787 0.906998 -vt 0.787382 0.863215 -vt 0.789960 0.863215 -vt 0.784608 0.863215 -vt 0.789893 0.906998 -vt 0.406821 0.825140 -vt 0.410749 0.832005 -vt 0.406821 0.832005 -vt 0.370415 0.863406 -vt 0.374551 0.875102 -vt 0.370415 0.875102 -vt 0.382821 0.863406 -vt 0.386957 0.875102 -vt 0.382821 0.875102 -vt 0.379019 0.848023 -vt 0.372154 0.852600 -vt 0.379019 0.843446 -vt 0.344694 0.886925 -vt 0.349271 0.880059 -vt 0.349271 0.886925 -vt 0.411795 0.867983 -vt 0.407867 0.863406 -vt 0.411795 0.863406 -vt 0.389163 0.881967 -vt 0.393740 0.875102 -vt 0.393740 0.881967 -vt 0.402893 0.825140 -vt 0.406821 0.832005 -vt 0.402893 0.832005 -vt 0.375433 0.881967 -vt 0.380010 0.875102 -vt 0.380010 0.881967 -vt 0.393740 0.852600 -vt 0.386875 0.848023 -vt 0.386875 0.843446 -vt 0.379019 0.838870 -vt 0.382947 0.843446 -vt 0.370857 0.881967 -vt 0.375433 0.875102 -vt 0.375433 0.881967 -vt 0.374135 0.888832 -vt 0.378063 0.893409 -vt 0.374135 0.893409 -vt 0.353848 0.886925 -vt 0.358424 0.880059 -vt 0.358424 0.886925 -vt 0.351559 0.866330 -vt 0.355487 0.873195 -vt 0.351559 0.873195 -vt 0.399363 0.870271 -vt 0.403939 0.863406 -vt 0.403939 0.870271 -vt 0.351559 0.852600 -vt 0.355487 0.859465 -vt 0.351559 0.859465 -vt 0.393740 0.845735 -vt 0.398316 0.838870 -vt 0.398316 0.845735 -vt 0.358424 0.880059 -vt 0.362352 0.886925 -vt 0.358424 0.886925 -vt 0.349271 0.886925 -vt 0.353848 0.880059 -vt 0.353848 0.886925 -vt 0.370208 0.893409 -vt 0.366280 0.888832 -vt 0.370208 0.888832 -vt 0.398316 0.832005 -vt 0.402893 0.825140 -vt 0.402893 0.832005 -vt 0.362352 0.852600 -vt 0.366280 0.859465 -vt 0.362352 0.859465 -vt 0.397046 0.859465 -vt 0.401622 0.852600 -vt 0.401622 0.859465 -vt 0.402893 0.832005 -vt 0.406821 0.838870 -vt 0.402893 0.838870 -vt 0.344694 0.825140 -vt 0.372154 0.825140 -vt 0.344694 0.852600 -vt 0.355487 0.852600 -vt 0.362352 0.866330 -vt 0.393740 0.838870 -vt 0.398316 0.832005 -vt 0.398316 0.838870 -vt 0.382947 0.852600 -vt 0.379019 0.852600 -vt 0.393740 0.832005 -vt 0.398316 0.825140 -vt 0.398316 0.832005 -vt 0.393740 0.852600 -vt 0.398316 0.845735 -vt 0.398316 0.852600 -vt 0.398316 0.845735 -vt 0.402893 0.838870 -vt 0.402893 0.845735 -vt 0.398316 0.852600 -vt 0.402893 0.845735 -vt 0.402893 0.852600 -vt 0.366280 0.881967 -vt 0.370857 0.875102 -vt 0.370857 0.881967 -vt 0.380010 0.881967 -vt 0.384586 0.875102 -vt 0.384586 0.881967 -vt 0.401622 0.859465 -vt 0.406199 0.852600 -vt 0.406199 0.859465 -vt 0.392469 0.859465 -vt 0.397046 0.852600 -vt 0.397046 0.859465 -vt 0.384586 0.881967 -vt 0.389163 0.875102 -vt 0.389163 0.881967 -vt 0.393740 0.881967 -vt 0.398316 0.875102 -vt 0.398316 0.881967 -vt 0.398316 0.838870 -vt 0.402893 0.832005 -vt 0.402893 0.838870 -vt 0.398316 0.881967 -vt 0.402893 0.875102 -vt 0.402893 0.881967 -vt 0.387892 0.859465 -vt 0.392469 0.852600 -vt 0.392469 0.859465 -vt 0.406821 0.841158 -vt 0.410749 0.845735 -vt 0.406821 0.845735 -vt 0.379019 0.829716 -vt 0.382947 0.834293 -vt 0.379019 0.834293 -vt 0.402893 0.845735 -vt 0.406821 0.852600 -vt 0.402893 0.852600 -vt 0.356478 0.891501 -vt 0.352550 0.886925 -vt 0.356478 0.886925 -vt 0.403939 0.863406 -vt 0.407867 0.870271 -vt 0.403939 0.870271 -vt 0.406821 0.836581 -vt 0.410749 0.841158 -vt 0.406821 0.841158 -vt 0.370208 0.881967 -vt 0.374135 0.888832 -vt 0.370208 0.888832 -vt 0.374135 0.881967 -vt 0.378063 0.888832 -vt 0.374135 0.888832 -vt 0.411146 0.874847 -vt 0.407218 0.870271 -vt 0.411146 0.870271 -vt 0.381991 0.881967 -vt 0.385919 0.888832 -vt 0.381991 0.888832 -vt 0.385919 0.881967 -vt 0.389847 0.888832 -vt 0.385919 0.888832 -vt 0.370208 0.888832 -vt 0.374135 0.893409 -vt 0.370208 0.893409 -vt 0.393774 0.881967 -vt 0.397702 0.888832 -vt 0.393774 0.888832 -vt 0.398316 0.881967 -vt 0.402244 0.888832 -vt 0.398316 0.888832 -vt 0.403291 0.874847 -vt 0.399363 0.870271 -vt 0.403291 0.870271 -vt 0.410749 0.879679 -vt 0.406821 0.875102 -vt 0.410749 0.875102 -vt 0.406199 0.852600 -vt 0.410127 0.859465 -vt 0.406199 0.859465 -vt 0.406172 0.881967 -vt 0.410100 0.888832 -vt 0.406172 0.888832 -vt 0.344694 0.886925 -vt 0.348622 0.891501 -vt 0.344694 0.891501 -vt 0.382947 0.843446 -vt 0.402244 0.881967 -vt 0.406172 0.888832 -vt 0.402244 0.888832 -vt 0.348622 0.886925 -vt 0.352550 0.891501 -vt 0.348622 0.891501 -vt 0.389847 0.881967 -vt 0.393774 0.888832 -vt 0.389847 0.888832 -vt 0.378063 0.881967 -vt 0.381991 0.888832 -vt 0.378063 0.888832 -vt 0.407218 0.874847 -vt 0.403291 0.870271 -vt 0.407218 0.870271 -vt 0.366280 0.881967 -vt 0.370208 0.888832 -vt 0.366280 0.888832 -vt 0.381991 0.893409 -vt 0.378063 0.888832 -vt 0.381991 0.888832 -vt 0.406821 0.832005 -vt 0.410749 0.836581 -vt 0.406821 0.836581 -vt 0.386875 0.838870 -vt 0.382947 0.834293 -vt 0.386875 0.834293 -vt 0.402893 0.875102 -vt 0.406821 0.881967 -vt 0.402893 0.881967 -vt 0.356478 0.886925 -vt 0.360406 0.891501 -vt 0.356478 0.891501 -vt 0.366280 0.873195 -vt 0.362352 0.873195 -vt 0.364333 0.891501 -vt 0.360406 0.886925 -vt 0.364333 0.886925 -vt 0.402893 0.838870 -vt 0.406821 0.845735 -vt 0.402893 0.845735 -vt 0.386875 0.829716 -vt 0.382947 0.825140 -vt 0.386875 0.825140 -vt 0.406821 0.845735 -vt 0.410749 0.850311 -vt 0.406821 0.850311 -vt 0.391092 0.863406 -vt 0.391092 0.875102 -vt 0.395227 0.875102 -vt 0.395227 0.863406 -vt 0.399363 0.875102 -vt 0.374551 0.863406 -vt 0.378686 0.875102 -vt 0.374551 0.875102 -vt 0.377086 0.860241 -vt 0.380251 0.852600 -vt 0.387892 0.855765 -vt 0.378686 0.863406 -vt 0.382821 0.875102 -vt 0.366280 0.863406 -vt 0.366280 0.875102 -vt 0.369445 0.863406 -vt 0.366280 0.860241 -vt 0.377086 0.855765 -vt 0.410749 0.825140 -vt 0.374551 0.863406 -vt 0.386957 0.863406 -vt 0.379019 0.825140 -vt 0.344694 0.880059 -vt 0.407867 0.867983 -vt 0.389163 0.875102 -vt 0.406821 0.825140 -vt 0.375433 0.875102 -vt 0.393740 0.825140 -vt 0.386875 0.852600 -vt 0.382947 0.838870 -vt 0.370857 0.875102 -vt 0.378063 0.888832 -vt 0.353848 0.880059 -vt 0.355487 0.866330 -vt 0.399363 0.863406 -vt 0.355487 0.852600 -vt 0.393740 0.838870 -vt 0.362352 0.880059 -vt 0.349271 0.880059 -vt 0.366280 0.893409 -vt 0.398316 0.825140 -vt 0.366280 0.852600 -vt 0.397046 0.852600 -vt 0.406821 0.832005 -vt 0.344694 0.852600 -vt 0.344694 0.880059 -vt 0.351559 0.880059 -vt 0.355487 0.880059 -vt 0.362352 0.880059 -vt 0.393740 0.832005 -vt 0.382947 0.848023 -vt 0.393740 0.825140 -vt 0.393740 0.845735 -vt 0.398316 0.838870 -vt 0.398316 0.845735 -vt 0.366280 0.875102 -vt 0.380010 0.875102 -vt 0.401622 0.852600 -vt 0.392469 0.852600 -vt 0.384586 0.875102 -vt 0.393740 0.875102 -vt 0.398316 0.832005 -vt 0.398316 0.875102 -vt 0.387892 0.852600 -vt 0.410749 0.841158 -vt 0.382947 0.829716 -vt 0.406821 0.845735 -vt 0.352550 0.891501 -vt 0.407867 0.863406 -vt 0.410749 0.836581 -vt 0.374135 0.881967 -vt 0.378063 0.881967 -vt 0.407218 0.874847 -vt 0.385919 0.881967 -vt 0.389847 0.881967 -vt 0.374135 0.888832 -vt 0.397702 0.881967 -vt 0.402244 0.881967 -vt 0.399363 0.874847 -vt 0.406821 0.879679 -vt 0.410127 0.852600 -vt 0.410100 0.881967 -vt 0.348622 0.886925 -vt 0.382947 0.848023 -vt 0.406172 0.881967 -vt 0.352550 0.886925 -vt 0.393774 0.881967 -vt 0.381991 0.881967 -vt 0.403291 0.874847 -vt 0.370208 0.881967 -vt 0.378063 0.893409 -vt 0.410749 0.832005 -vt 0.382947 0.838870 -vt 0.360406 0.886925 -vt 0.366280 0.866330 -vt 0.360406 0.891501 -vt 0.406821 0.838870 -vt 0.382947 0.829716 -vt 0.410749 0.845735 -vt 0.399363 0.863406 -vt 0.384727 0.863406 -vt 0.380251 0.863406 -vt 0.377086 0.855765 -vt 0.384727 0.852600 -vt 0.387892 0.860241 -vt 0.382821 0.863406 -vt 0.366280 0.855765 -vt 0.369445 0.852600 -vt 0.373921 0.852600 -vt 0.377086 0.860241 -vt 0.373921 0.863406 -vt 0.752668 0.894398 -vt 0.765582 0.868445 -vt 0.765582 0.894398 -vt 0.726720 0.868445 -vt 0.739622 0.842493 -vt 0.739622 0.868445 -vt 0.799671 0.894398 -vt 0.796396 0.868445 -vt 0.799671 0.868445 -vt 0.687653 0.946303 -vt 0.685561 0.920350 -vt 0.687653 0.920350 -vt 0.793299 0.894398 -vt 0.801952 0.920350 -vt 0.793299 0.920350 -vt 0.775505 0.920350 -vt 0.766370 0.894398 -vt 0.775505 0.894398 -vt 0.690664 0.894398 -vt 0.706512 0.920350 -vt 0.690664 0.920350 -vt 0.757234 0.920350 -vt 0.745609 0.894398 -vt 0.757234 0.894398 -vt 0.752670 0.842493 -vt 0.752670 0.868445 -vt 0.778611 0.868445 -vt 0.778611 0.894398 -vt 0.735830 0.835365 -vt 0.735830 0.823741 -vt 0.744009 0.837323 -vt 0.802604 0.868445 -vt 0.799674 0.842493 -vt 0.802604 0.842493 -vt 0.804140 0.842493 -vt 0.802602 0.816540 -vt 0.804140 0.816540 -vt 0.726720 0.865850 -vt 0.713744 0.868445 -vt 0.718057 0.863511 -vt 0.793299 0.920350 -vt 0.784641 0.894398 -vt 0.793299 0.894398 -vt 0.778614 0.842493 -vt 0.787741 0.868445 -vt 0.778614 0.868445 -vt 0.718057 0.847663 -vt 0.709878 0.849620 -vt 0.713744 0.842493 -vt 0.752670 0.868445 -vt 0.765584 0.842493 -vt 0.765584 0.868445 -vt 0.700768 0.894398 -vt 0.713669 0.868445 -vt 0.713669 0.894398 -vt 0.799672 0.842493 -vt 0.796397 0.816540 -vt 0.799672 0.816540 -vt 0.804044 0.920350 -vt 0.801952 0.894398 -vt 0.804044 0.894398 -vt 0.674815 0.920350 -vt 0.683469 0.946303 -vt 0.674815 0.946303 -vt 0.766370 0.920350 -vt 0.757234 0.894398 -vt 0.766370 0.894398 -vt 0.706512 0.894398 -vt 0.722361 0.920350 -vt 0.706512 0.920350 -vt 0.733985 0.920350 -vt 0.722361 0.894398 -vt 0.733985 0.894398 -vt 0.726718 0.868445 -vt 0.726718 0.894398 -vt 0.778614 0.842493 -vt 0.778614 0.868445 -vt 0.683925 0.887270 -vt 0.683925 0.875646 -vt 0.692104 0.889228 -vt 0.802602 0.842493 -vt 0.799672 0.816540 -vt 0.802602 0.816540 -vt 0.804142 0.868445 -vt 0.802604 0.842493 -vt 0.804142 0.842493 -vt 0.700768 0.839898 -vt 0.687792 0.842493 -vt 0.692104 0.837559 -vt 0.796396 0.894398 -vt 0.787739 0.868445 -vt 0.796396 0.868445 -vt 0.778611 0.868445 -vt 0.787739 0.894398 -vt 0.778611 0.894398 -vt 0.692104 0.821710 -vt 0.683925 0.823668 -vt 0.687792 0.816540 -vt 0.752673 0.842493 -vt 0.765587 0.816540 -vt 0.765587 0.842493 -vt 0.726718 0.894398 -vt 0.739619 0.868445 -vt 0.739619 0.894398 -vt 0.799674 0.868445 -vt 0.796399 0.842493 -vt 0.799674 0.842493 -vt 0.685561 0.946303 -vt 0.683469 0.920350 -vt 0.685561 0.920350 -vt 0.787744 0.816540 -vt 0.796397 0.842493 -vt 0.787744 0.842493 -vt 0.784641 0.920350 -vt 0.775505 0.894398 -vt 0.784641 0.894398 -vt 0.674815 0.894398 -vt 0.690664 0.920350 -vt 0.674815 0.920350 -vt 0.745609 0.920350 -vt 0.733985 0.894398 -vt 0.745609 0.894398 -vt 0.752668 0.868445 -vt 0.752668 0.894398 -vt 0.778616 0.816540 -vt 0.778616 0.842493 -vt 0.709878 0.835365 -vt 0.709878 0.823741 -vt 0.718057 0.837323 -vt 0.802602 0.894398 -vt 0.799671 0.868445 -vt 0.802602 0.868445 -vt 0.804140 0.894398 -vt 0.802602 0.868445 -vt 0.804140 0.868445 -vt 0.700768 0.865850 -vt 0.687792 0.868445 -vt 0.692104 0.863511 -vt 0.796399 0.868445 -vt 0.787741 0.842493 -vt 0.796399 0.842493 -vt 0.778616 0.816540 -vt 0.787744 0.842493 -vt 0.778616 0.842493 -vt 0.692104 0.847663 -vt 0.683925 0.849620 -vt 0.687792 0.842493 -vt 0.752668 0.868445 -vt 0.726720 0.842493 -vt 0.796396 0.894398 -vt 0.685561 0.946303 -vt 0.801952 0.894398 -vt 0.766370 0.920350 -vt 0.706512 0.894398 -vt 0.745609 0.920350 -vt 0.726720 0.819395 -vt 0.739697 0.816540 -vt 0.752673 0.819136 -vt 0.744009 0.821474 -vt 0.752673 0.821228 -vt 0.752673 0.837581 -vt 0.752673 0.839119 -vt 0.739697 0.842493 -vt 0.726720 0.822670 -vt 0.726720 0.839378 -vt 0.726720 0.836448 -vt 0.799674 0.868445 -vt 0.802602 0.842493 -vt 0.700768 0.862316 -vt 0.709878 0.861245 -vt 0.700768 0.865590 -vt 0.726720 0.863758 -vt 0.784641 0.920350 -vt 0.787741 0.842493 -vt 0.726720 0.845867 -vt 0.726720 0.847404 -vt 0.700768 0.848538 -vt 0.700768 0.845607 -vt 0.752670 0.842493 -vt 0.700768 0.868445 -vt 0.796397 0.842493 -vt 0.801952 0.920350 -vt 0.683469 0.920350 -vt 0.757234 0.920350 -vt 0.722361 0.894398 -vt 0.722361 0.920350 -vt 0.674815 0.871300 -vt 0.687792 0.868445 -vt 0.700768 0.871040 -vt 0.692104 0.873379 -vt 0.700768 0.873132 -vt 0.700768 0.889486 -vt 0.700768 0.891024 -vt 0.687792 0.894398 -vt 0.674815 0.874575 -vt 0.674815 0.891283 -vt 0.674815 0.888353 -vt 0.799672 0.842493 -vt 0.802604 0.868445 -vt 0.674815 0.836363 -vt 0.683925 0.835292 -vt 0.674815 0.839638 -vt 0.700768 0.837806 -vt 0.787739 0.894398 -vt 0.787739 0.868445 -vt 0.700768 0.819914 -vt 0.700768 0.821452 -vt 0.674815 0.822585 -vt 0.674815 0.819655 -vt 0.752673 0.816540 -vt 0.726718 0.868445 -vt 0.796399 0.868445 -vt 0.683469 0.946303 -vt 0.796397 0.816540 -vt 0.775505 0.920350 -vt 0.690664 0.894398 -vt 0.733985 0.920350 -vt 0.700768 0.819395 -vt 0.713744 0.816540 -vt 0.726720 0.819136 -vt 0.718057 0.821474 -vt 0.726720 0.821228 -vt 0.726720 0.837581 -vt 0.726720 0.839119 -vt 0.713744 0.842493 -vt 0.700768 0.822670 -vt 0.700768 0.839378 -vt 0.700768 0.836448 -vt 0.799671 0.894398 -vt 0.802602 0.894398 -vt 0.674815 0.862316 -vt 0.683925 0.861245 -vt 0.674815 0.865590 -vt 0.700768 0.863758 -vt 0.787741 0.868445 -vt 0.787744 0.816540 -vt 0.700768 0.845867 -vt 0.700768 0.847404 -vt 0.674815 0.848538 -vt 0.674815 0.845607 -vt 0.451984 0.758474 -vt 0.458837 0.770453 -vt 0.451984 0.770453 -vt 0.428795 0.758474 -vt 0.436011 0.778884 -vt 0.428795 0.778884 -vt 0.421579 0.799294 -vt 0.428795 0.819704 -vt 0.421579 0.819704 -vt 0.395892 0.798404 -vt 0.383913 0.806390 -vt 0.395892 0.790418 -vt 0.443997 0.794411 -vt 0.451984 0.782432 -vt 0.451984 0.794411 -vt 0.462560 0.860160 -vt 0.455706 0.852174 -vt 0.462560 0.852174 -vt 0.351969 0.866286 -vt 0.359955 0.854307 -vt 0.359955 0.866286 -vt 0.407036 0.863129 -vt 0.413889 0.875108 -vt 0.407036 0.875108 -vt 0.436011 0.794411 -vt 0.443997 0.782432 -vt 0.443997 0.794411 -vt 0.421579 0.806390 -vt 0.409600 0.798404 -vt 0.409600 0.790418 -vt 0.395892 0.782432 -vt 0.402746 0.790418 -vt 0.359955 0.866286 -vt 0.367941 0.854307 -vt 0.367941 0.866286 -vt 0.335997 0.878265 -vt 0.342851 0.886251 -vt 0.335997 0.886251 -vt 0.443997 0.806390 -vt 0.451984 0.794411 -vt 0.451984 0.806390 -vt 0.347976 0.830349 -vt 0.354830 0.842328 -vt 0.347976 0.842328 -vt 0.436011 0.818370 -vt 0.443997 0.806390 -vt 0.443997 0.818370 -vt 0.347976 0.806390 -vt 0.354830 0.818370 -vt 0.347976 0.818370 -vt 0.381649 0.856251 -vt 0.389635 0.844272 -vt 0.389635 0.856251 -vt 0.448852 0.856167 -vt 0.455706 0.868146 -vt 0.448852 0.868146 -vt 0.443997 0.782432 -vt 0.451984 0.770453 -vt 0.451984 0.782432 -vt 0.462560 0.868146 -vt 0.455706 0.860160 -vt 0.462560 0.860160 -vt 0.373663 0.868230 -vt 0.381649 0.856251 -vt 0.381649 0.868230 -vt 0.366809 0.806390 -vt 0.373663 0.818370 -vt 0.366809 0.818370 -vt 0.381649 0.868230 -vt 0.389635 0.856251 -vt 0.389635 0.868230 -vt 0.392604 0.864598 -vt 0.399457 0.876577 -vt 0.392604 0.876577 -vt 0.335997 0.758474 -vt 0.383913 0.758474 -vt 0.335997 0.806390 -vt 0.354830 0.806390 -vt 0.366809 0.830349 -vt 0.430316 0.837310 -vt 0.438303 0.825331 -vt 0.438303 0.837310 -vt 0.402746 0.806390 -vt 0.395892 0.806390 -vt 0.335997 0.866286 -vt 0.343983 0.854307 -vt 0.343983 0.866286 -vt 0.432880 0.856167 -vt 0.440866 0.844188 -vt 0.440866 0.856167 -vt 0.436011 0.806390 -vt 0.443997 0.794411 -vt 0.443997 0.806390 -vt 0.440866 0.868146 -vt 0.448852 0.856167 -vt 0.448852 0.868146 -vt 0.343983 0.866286 -vt 0.351969 0.854307 -vt 0.351969 0.866286 -vt 0.436011 0.782432 -vt 0.443997 0.770453 -vt 0.443997 0.782432 -vt 0.432880 0.868146 -vt 0.440866 0.856167 -vt 0.440866 0.868146 -vt 0.411544 0.818370 -vt 0.419530 0.806390 -vt 0.419530 0.818370 -vt 0.436011 0.770453 -vt 0.443997 0.758474 -vt 0.443997 0.770453 -vt 0.438303 0.837310 -vt 0.446289 0.825331 -vt 0.446289 0.837310 -vt 0.440866 0.856167 -vt 0.448852 0.844188 -vt 0.448852 0.856167 -vt 0.443997 0.770453 -vt 0.451984 0.758474 -vt 0.451984 0.770453 -vt 0.373663 0.856251 -vt 0.381649 0.844272 -vt 0.381649 0.856251 -vt 0.453142 0.833317 -vt 0.459996 0.841303 -vt 0.453142 0.841303 -vt 0.395892 0.766460 -vt 0.402746 0.774446 -vt 0.395892 0.774446 -vt 0.446289 0.825331 -vt 0.453142 0.837310 -vt 0.446289 0.837310 -vt 0.399457 0.884563 -vt 0.392604 0.876577 -vt 0.399457 0.876577 -vt 0.450851 0.818370 -vt 0.443997 0.818370 -vt 0.453142 0.825331 -vt 0.459996 0.833317 -vt 0.453142 0.833317 -vt 0.413889 0.863129 -vt 0.420743 0.875108 -vt 0.413889 0.875108 -vt 0.420743 0.863129 -vt 0.427597 0.875108 -vt 0.420743 0.875108 -vt 0.462560 0.884118 -vt 0.455706 0.876132 -vt 0.462560 0.876132 -vt 0.399457 0.864598 -vt 0.406311 0.876577 -vt 0.399457 0.876577 -vt 0.448852 0.844188 -vt 0.455706 0.856167 -vt 0.448852 0.856167 -vt 0.455706 0.868146 -vt 0.462560 0.876132 -vt 0.455706 0.876132 -vt 0.335997 0.866286 -vt 0.342851 0.878265 -vt 0.335997 0.878265 -vt 0.343983 0.866286 -vt 0.350837 0.878265 -vt 0.343983 0.878265 -vt 0.458837 0.778439 -vt 0.451984 0.770453 -vt 0.458837 0.770453 -vt 0.458837 0.802397 -vt 0.451984 0.794411 -vt 0.458837 0.794411 -vt 0.432880 0.868146 -vt 0.439734 0.880125 -vt 0.432880 0.880125 -vt 0.440866 0.868146 -vt 0.447720 0.880125 -vt 0.440866 0.880125 -vt 0.413889 0.875108 -vt 0.420743 0.883094 -vt 0.413889 0.883094 -vt 0.402746 0.790418 -vt 0.450851 0.806390 -vt 0.457705 0.818370 -vt 0.450851 0.818370 -vt 0.420743 0.875108 -vt 0.427597 0.883094 -vt 0.420743 0.883094 -vt 0.381649 0.868230 -vt 0.388503 0.880210 -vt 0.381649 0.880210 -vt 0.373663 0.868230 -vt 0.380516 0.880210 -vt 0.373663 0.880210 -vt 0.458837 0.786425 -vt 0.451984 0.778439 -vt 0.458837 0.778439 -vt 0.448852 0.868146 -vt 0.455706 0.880125 -vt 0.448852 0.880125 -vt 0.350837 0.886251 -vt 0.343983 0.878265 -vt 0.350837 0.878265 -vt 0.451984 0.786425 -vt 0.458837 0.794411 -vt 0.451984 0.794411 -vt 0.409600 0.782432 -vt 0.402746 0.774446 -vt 0.409600 0.774446 -vt 0.359955 0.866286 -vt 0.366809 0.878265 -vt 0.359955 0.878265 -vt 0.399457 0.876577 -vt 0.406311 0.884563 -vt 0.399457 0.884563 -vt 0.373663 0.842328 -vt 0.366809 0.842328 -vt 0.462560 0.852174 -vt 0.455706 0.844188 -vt 0.462560 0.844188 -vt 0.351969 0.866286 -vt 0.358823 0.878265 -vt 0.351969 0.878265 -vt 0.409600 0.766460 -vt 0.402746 0.758474 -vt 0.409600 0.758474 -vt 0.407036 0.875108 -vt 0.413889 0.883094 -vt 0.407036 0.883094 -vt 0.436011 0.799294 -vt 0.436011 0.819704 -vt 0.392604 0.844188 -vt 0.399820 0.864598 -vt 0.392604 0.864598 -vt 0.399820 0.844188 -vt 0.407036 0.864598 -vt 0.421579 0.778884 -vt 0.428795 0.799294 -vt 0.421579 0.799294 -vt 0.411460 0.838665 -vt 0.416983 0.825331 -vt 0.430316 0.830854 -vt 0.428795 0.778884 -vt 0.436011 0.799294 -vt 0.421579 0.758474 -vt 0.421579 0.778884 -vt 0.398126 0.844188 -vt 0.392604 0.838665 -vt 0.411460 0.830854 -vt 0.392604 0.825331 -vt 0.411544 0.812409 -vt 0.411544 0.825331 -vt 0.392604 0.831350 -vt 0.392604 0.844272 -vt 0.373663 0.844272 -vt 0.407036 0.850206 -vt 0.419958 0.863129 -vt 0.407036 0.863129 -vt 0.418448 0.825273 -vt 0.411544 0.818370 -vt 0.418448 0.818370 -vt 0.386585 0.812409 -vt 0.379681 0.825331 -vt 0.379681 0.812409 -vt 0.070986 0.590939 -vt 0.077005 0.584920 -vt 0.077005 0.590939 -vt 0.089927 0.590939 -vt 0.083909 0.590939 -vt 0.083909 0.584920 -vt 0.130204 0.628736 -vt 0.123300 0.622717 -vt 0.130204 0.622717 -vt 0.089927 0.590939 -vt 0.102849 0.584920 -vt 0.108868 0.590939 -vt 0.104359 0.628736 -vt 0.111263 0.622717 -vt 0.117282 0.628736 -vt 0.373663 0.812409 -vt 0.373663 0.825331 -vt 0.392603 0.825331 -vt 0.392603 0.812409 -vt 0.432880 0.863129 -vt 0.419958 0.850206 -vt 0.432880 0.850206 -vt 0.458837 0.758474 -vt 0.436011 0.758474 -vt 0.428795 0.799294 -vt 0.395892 0.758474 -vt 0.443997 0.782432 -vt 0.455706 0.860160 -vt 0.351969 0.854307 -vt 0.413889 0.863129 -vt 0.436011 0.782432 -vt 0.421579 0.758474 -vt 0.409600 0.806390 -vt 0.402746 0.782432 -vt 0.359955 0.854307 -vt 0.342851 0.878265 -vt 0.443997 0.794411 -vt 0.354830 0.830349 -vt 0.436011 0.806390 -vt 0.354830 0.806390 -vt 0.381649 0.844272 -vt 0.455706 0.856167 -vt 0.443997 0.770453 -vt 0.455706 0.868146 -vt 0.373663 0.856251 -vt 0.373663 0.806390 -vt 0.381649 0.856251 -vt 0.399457 0.864598 -vt 0.335997 0.806390 -vt 0.335997 0.854307 -vt 0.347976 0.854307 -vt 0.354830 0.854307 -vt 0.366809 0.854307 -vt 0.430316 0.825331 -vt 0.402746 0.798404 -vt 0.335997 0.854307 -vt 0.432880 0.844188 -vt 0.436011 0.794411 -vt 0.440866 0.856167 -vt 0.343983 0.854307 -vt 0.436011 0.770453 -vt 0.432880 0.856167 -vt 0.411544 0.806390 -vt 0.436011 0.758474 -vt 0.438303 0.825331 -vt 0.440866 0.844188 -vt 0.443997 0.758474 -vt 0.373663 0.844272 -vt 0.459996 0.833317 -vt 0.402746 0.766460 -vt 0.453142 0.825331 -vt 0.392604 0.884563 -vt 0.450851 0.806390 -vt 0.459996 0.825331 -vt 0.420743 0.863129 -vt 0.427597 0.863129 -vt 0.455706 0.884118 -vt 0.406311 0.864598 -vt 0.462560 0.868146 -vt 0.342851 0.866286 -vt 0.350837 0.866286 -vt 0.451984 0.778439 -vt 0.451984 0.802397 -vt 0.439734 0.868146 -vt 0.447720 0.868146 -vt 0.420743 0.875108 -vt 0.402746 0.798404 -vt 0.457705 0.806390 -vt 0.427597 0.875108 -vt 0.388503 0.868230 -vt 0.380516 0.868230 -vt 0.451984 0.786425 -vt 0.455706 0.868146 -vt 0.343983 0.886251 -vt 0.458837 0.786425 -vt 0.402746 0.782432 -vt 0.366809 0.866286 -vt 0.406311 0.876577 -vt 0.373663 0.830349 -vt 0.455706 0.852174 -vt 0.358823 0.866286 -vt 0.402746 0.766460 -vt 0.413889 0.875108 -vt 0.407036 0.844188 -vt 0.424794 0.844188 -vt 0.416983 0.844188 -vt 0.411460 0.830854 -vt 0.424794 0.825331 -vt 0.430316 0.838665 -vt 0.436011 0.778884 -vt 0.392603 0.830854 -vt 0.398126 0.825331 -vt 0.405937 0.825331 -vt 0.411460 0.838665 -vt 0.405937 0.844188 -vt 0.392604 0.812409 -vt 0.373663 0.831350 -vt 0.386585 0.825331 -vt 0.419958 0.850206 -vt 0.411544 0.825273 -vt 0.117282 0.628736 -vt 0.095946 0.584920 -vt 0.104359 0.622717 -vt 0.419958 0.863129 -vt 0.736653 0.885534 -vt 0.739583 0.852152 -vt 0.739583 0.885534 -vt 0.661267 0.852152 -vt 0.678353 0.885534 -vt 0.661267 0.885534 -vt 0.741415 0.828723 -vt 0.738486 0.845809 -vt 0.738486 0.828723 -vt 0.717120 0.847663 -vt 0.700034 0.814281 -vt 0.717120 0.814281 -vt 0.748372 0.885534 -vt 0.745442 0.852152 -vt 0.748372 0.852152 -vt 0.645884 0.000000 -vt 0.658901 0.025432 -vt 0.645884 0.025432 -vt 0.658901 0.403681 -vt 0.645884 0.429114 -vt 0.645884 0.403681 -vt 0.700034 0.812036 -vt 0.698885 0.814281 -vt 0.700034 0.849908 -vt 0.698885 0.847663 -vt 0.700034 0.847663 -vt 0.206617 0.858227 -vt 0.206617 0.832795 -vt 0.219634 0.832795 -vt 0.206617 0.429114 -vt 0.219634 0.454546 -vt 0.206617 0.454546 -vt 0.661267 0.887779 -vt 0.660118 0.885534 -vt 0.661267 0.849908 -vt 0.660118 0.852152 -vt 0.717120 0.812036 -vt 0.718269 0.847663 -vt 0.718269 0.814281 -vt 0.717120 0.849908 -vt 0.745442 0.849908 -vt 0.748372 0.887779 -vt 0.745442 0.885534 -vt 0.678353 0.887779 -vt 0.678353 0.849908 -vt 0.679501 0.885534 -vt 0.678353 0.852152 -vt 0.679501 0.852152 -vt 0.867210 0.858227 -vt 0.900407 0.832795 -vt 0.900407 0.858227 -vt 0.900407 0.429114 -vt 0.867210 0.454546 -vt 0.867210 0.429114 -vt 0.690403 0.883680 -vt 0.693333 0.866594 -vt 0.693333 0.883680 -vt 0.717024 0.868189 -vt 0.720147 0.832613 -vt 0.720147 0.868189 -vt 0.654219 0.792253 -vt 0.672428 0.827829 -vt 0.654219 0.827829 -vt 0.715855 0.807645 -vt 0.712733 0.825854 -vt 0.712733 0.807645 -vt 0.651770 0.827829 -vt 0.633561 0.792253 -vt 0.651770 0.792253 -vt 0.723269 0.868189 -vt 0.720147 0.832613 -vt 0.723269 0.832613 -vt 0.651770 0.789861 -vt 0.652995 0.792253 -vt 0.652995 0.827829 -vt 0.651770 0.830221 -vt 0.633561 0.789861 -vt 0.632337 0.792253 -vt 0.633561 0.830221 -vt 0.632337 0.827829 -vt 0.633561 0.827829 -vt 0.672428 0.830221 -vt 0.673652 0.827829 -vt 0.672428 0.789861 -vt 0.673652 0.792253 -vt 0.672428 0.792253 -vt 0.654219 0.830221 -vt 0.652995 0.827829 -vt 0.654219 0.789861 -vt 0.652995 0.792253 -vt 0.720147 0.830221 -vt 0.723269 0.870581 -vt 0.720147 0.868189 -vt 0.717024 0.870581 -vt 0.720147 0.870581 -vt 0.720147 0.830221 -vt 0.717024 0.832613 -vt 0.717024 0.830221 -vt 0.718977 0.825854 -vt 0.722100 0.807645 -vt 0.722100 0.825854 -vt 0.736653 0.852152 -vt 0.741415 0.845809 -vt 0.748372 0.849908 -vt 0.745442 0.887779 -vt 0.867210 0.832795 -vt 0.900407 0.454546 -vt 0.690403 0.866594 -vt 0.715855 0.825854 -vt 0.723269 0.830221 -vt 0.720147 0.870581 -vt 0.718977 0.807645 -vt 0.392860 0.423940 -vt 0.429892 0.414313 -vt 0.429449 0.424997 -vt 0.466506 0.432373 -vt 0.478118 0.413255 -vt 0.478118 0.432373 -vt 0.429810 0.472122 -vt 0.412325 0.471617 -vt 0.412326 0.471612 -vt 0.475935 0.586745 -vt 0.488075 0.499558 -vt 0.488075 0.586745 -vt 0.429892 0.499558 -vt 0.429892 0.413255 -vt 0.449009 0.413255 -vt 0.410357 0.513330 -vt 0.427854 0.526108 -vt 0.410357 0.526108 -vt 0.429449 0.500974 -vt 0.411857 0.493043 -vt 0.429341 0.493548 -vt 0.410357 0.537726 -vt 0.392860 0.500974 -vt 0.410357 0.510180 -vt 0.392860 0.510180 -vt 0.392860 0.523640 -vt 0.410357 0.535590 -vt 0.392860 0.535590 -vt 0.410357 0.543392 -vt 0.392860 0.543392 -vt 0.429440 0.484102 -vt 0.411956 0.483597 -vt 0.410357 0.523640 -vt 0.466506 0.432373 -vt 0.470964 0.450070 -vt 0.466506 0.449865 -vt 0.410357 0.500974 -vt 0.427854 0.513330 -vt 0.427854 0.500974 -vt 0.427854 0.500974 -vt 0.427854 0.500974 -vt 0.429892 0.522501 -vt 0.453519 0.503898 -vt 0.475935 0.535389 -vt 0.392860 0.444747 -vt 0.374785 0.460570 -vt 0.346817 0.441967 -vt 0.457859 0.499558 -vt 0.460105 0.503898 -vt 0.492415 0.582404 -vt 0.397069 0.429942 -vt 0.429320 0.430874 -vt 0.483536 0.417596 -vt 0.429892 0.470141 -vt 0.412377 0.467578 -vt 0.393303 0.413255 -vt 0.466506 0.413255 -vt 0.475935 0.499558 -vt 0.466506 0.413255 -vt 0.466506 0.499558 -vt 0.411965 0.500469 -vt 0.427854 0.537726 -vt 0.410357 0.500974 -vt 0.470964 0.432578 -vt 0.427854 0.500974 -vt 0.427854 0.500974 -vt 0.441379 0.503898 -vt 0.441379 0.503898 -vt 0.460111 0.503898 -vt 0.471143 0.508689 -vt 0.433288 0.509531 -vt 0.475935 0.519721 -vt 0.471143 0.546421 -vt 0.460111 0.551212 -vt 0.446039 0.551212 -vt 0.434953 0.546421 -vt 0.430037 0.535390 -vt 0.358304 0.547757 -vt 0.358304 0.460570 -vt 0.358304 0.460570 -vt 0.350213 0.454937 -vt 0.346962 0.429078 -vt 0.362964 0.413255 -vt 0.351878 0.418047 -vt 0.377036 0.413255 -vt 0.388068 0.418047 -vt 0.392860 0.429079 -vt 0.388068 0.455779 -vt 0.377036 0.460570 -vt 0.374785 0.543417 -vt 0.370445 0.547757 -vt 0.492415 0.503898 -vt 0.483536 0.432373 -vt 0.397610 0.467152 -vt 0.642294 0.122460 -vt 0.645232 0.119534 -vt 0.645212 0.122446 -vt 0.638196 0.122338 -vt 0.642313 0.119663 -vt 0.672232 0.046570 -vt 0.669148 0.048371 -vt 0.669368 0.045795 -vt 0.676316 0.046922 -vt 0.672024 0.049009 -vt 0.662647 0.045923 -vt 0.659653 0.048256 -vt 0.659732 0.045795 -vt 0.666659 0.048718 -vt 0.666746 0.045962 -vt 0.681046 0.048671 -vt 0.678186 0.046148 -vt 0.681115 0.045795 -vt 0.685145 0.048781 -vt 0.680875 0.054411 -vt 0.638213 0.119721 -vt 0.642003 0.114096 -vt 0.668736 0.053587 -vt 0.676111 0.049346 -vt 0.671633 0.053979 -vt 0.662079 0.053660 -vt 0.662565 0.048500 -vt 0.666143 0.054198 -vt 0.678120 0.048886 -vt 0.680662 0.060100 -vt 0.684972 0.054552 -vt 0.684758 0.060268 -vt 0.644912 0.113761 -vt 0.644190 0.108087 -vt 0.637921 0.114474 -vt 0.641300 0.108590 -vt 0.668358 0.058857 -vt 0.675721 0.054285 -vt 0.671271 0.059043 -vt 0.661219 0.058809 -vt 0.659185 0.053211 -vt 0.665240 0.059608 -vt 0.677955 0.054379 -vt 0.680414 0.065702 -vt 0.684509 0.065893 -vt 0.643153 0.102539 -vt 0.637251 0.109232 -vt 0.640287 0.103173 -vt 0.668014 0.064142 -vt 0.675361 0.059323 -vt 0.670938 0.064161 -vt 0.660055 0.063918 -vt 0.658351 0.058193 -vt 0.664029 0.064925 -vt 0.677749 0.059861 -vt 0.684232 0.071396 -vt 0.641886 0.097140 -vt 0.636277 0.104024 -vt 0.639044 0.097872 -vt 0.667702 0.069399 -vt 0.674726 0.069522 -vt 0.675030 0.064417 -vt 0.658661 0.068959 -vt 0.657217 0.063172 -vt 0.662592 0.070124 -vt 0.680138 0.071183 -vt 0.677508 0.065296 -vt 0.683932 0.076741 -vt 0.640473 0.091915 -vt 0.635071 0.098882 -vt 0.637650 0.092712 -vt 0.670633 0.069288 -vt 0.667420 0.074588 -vt 0.674450 0.074596 -vt 0.657109 0.073903 -vt 0.655850 0.068117 -vt 0.661006 0.075178 -vt 0.679838 0.076508 -vt 0.677239 0.070647 -vt 0.683614 0.081892 -vt 0.636184 0.087721 -vt 0.633707 0.093833 -vt 0.670103 0.079401 -vt 0.670355 0.074382 -vt 0.674198 0.079597 -vt 0.655474 0.078721 -vt 0.654320 0.072996 -vt 0.659348 0.080061 -vt 0.679522 0.081641 -vt 0.676947 0.075878 -vt 0.683285 0.086810 -vt 0.634724 0.082929 -vt 0.638994 0.086891 -vt 0.630805 0.084135 -vt 0.632260 0.088909 -vt 0.669875 0.084309 -vt 0.667168 0.079670 -vt 0.673971 0.084487 -vt 0.653830 0.083389 -vt 0.652699 0.077782 -vt 0.657698 0.084747 -vt 0.679194 0.086540 -vt 0.676637 0.080949 -vt 0.682951 0.091451 -vt 0.633347 0.078367 -vt 0.637528 0.082100 -vt 0.629418 0.079539 -vt 0.669669 0.089071 -vt 0.666944 0.084604 -vt 0.673766 0.089231 -vt 0.652252 0.087881 -vt 0.651060 0.082450 -vt 0.656132 0.089206 -vt 0.658845 0.090177 -vt 0.660399 0.085729 -vt 0.682618 0.095766 -vt 0.678861 0.091164 -vt 0.632131 0.074070 -vt 0.636154 0.077575 -vt 0.628174 0.075144 -vt 0.625399 0.075954 -vt 0.626669 0.080404 -vt 0.673581 0.093802 -vt 0.650815 0.092178 -vt 0.649478 0.086980 -vt 0.654727 0.093406 -vt 0.657469 0.094323 -vt 0.682294 0.099694 -vt 0.678529 0.095461 -vt 0.631151 0.070075 -vt 0.634951 0.073360 -vt 0.627150 0.070971 -vt 0.624334 0.071668 -vt 0.673414 0.098181 -vt 0.669483 0.093659 -vt 0.649596 0.096261 -vt 0.648025 0.091358 -vt 0.653559 0.097313 -vt 0.656346 0.098119 -vt 0.681988 0.103162 -vt 0.678206 0.099372 -vt 0.684906 0.103307 -vt 0.685213 0.099620 -vt 0.626427 0.067036 -vt 0.623558 0.067539 -vt 0.673264 0.102364 -vt 0.669316 0.098055 -vt 0.676189 0.102433 -vt 0.676316 0.098467 -vt 0.652702 0.100888 -vt 0.655549 0.101502 -vt 0.681713 0.106079 -vt 0.677902 0.102826 -vt 0.684622 0.106548 -vt 0.626090 0.063349 -vt 0.630482 0.066430 -vt 0.623174 0.063543 -vt 0.673129 0.106364 -vt 0.669166 0.102251 -vt 0.676080 0.106111 -vt 0.652222 0.104083 -vt 0.648674 0.100124 -vt 0.655128 0.104391 -vt 0.681481 0.108343 -vt 0.677628 0.105734 -vt 0.684370 0.109274 -vt 0.626244 0.059915 -vt 0.630187 0.063191 -vt 0.623327 0.059640 -vt 0.673009 0.110200 -vt 0.669031 0.106258 -vt 0.675990 0.109489 -vt 0.652169 0.106850 -vt 0.648134 0.103765 -vt 0.655094 0.106690 -vt 0.681302 0.109900 -vt 0.677396 0.108001 -vt 0.630866 0.058174 -vt 0.633149 0.060863 -vt 0.630312 0.060421 -vt 0.627018 0.056760 -vt 0.624237 0.055832 -vt 0.672905 0.113846 -vt 0.668912 0.110091 -vt 0.648666 0.110418 -vt 0.645232 0.107527 -vt 0.648084 0.107197 -vt 0.652566 0.109156 -vt 0.655381 0.108338 -vt 0.681171 0.110868 -vt 0.677216 0.109578 -vt 0.631838 0.056423 -vt 0.633528 0.059244 -vt 0.628548 0.053977 -vt 0.626152 0.052290 -vt 0.672821 0.117097 -vt 0.668808 0.113716 -vt 0.650045 0.113353 -vt 0.645964 0.111384 -vt 0.653428 0.111036 -vt 0.655888 0.109445 -vt 0.688067 0.076714 -vt 0.692091 0.077782 -vt 0.687994 0.077703 -vt 0.633299 0.055046 -vt 0.634094 0.058197 -vt 0.630889 0.051729 -vt 0.629120 0.049390 -vt 0.688136 0.062445 -vt 0.692333 0.065869 -vt 0.688236 0.065968 -vt 0.652310 0.115820 -vt 0.647722 0.115036 -vt 0.654848 0.112600 -vt 0.656706 0.110331 -vt 0.688130 0.075078 -vt 0.692166 0.076774 -vt 0.635457 0.053954 -vt 0.634938 0.057397 -vt 0.633990 0.050126 -vt 0.632908 0.047387 -vt 0.688095 0.058287 -vt 0.692235 0.062365 -vt 0.655408 0.117673 -vt 0.650580 0.118105 -vt 0.657024 0.113905 -vt 0.658212 0.111211 -vt 0.688170 0.072472 -vt 0.692230 0.075100 -vt 0.685272 0.072384 -vt 0.685255 0.075531 -vt 0.637830 0.049156 -vt 0.637328 0.046236 -vt 0.688111 0.053680 -vt 0.692195 0.058245 -vt 0.685213 0.053796 -vt 0.685217 0.057862 -vt 0.660133 0.114890 -vt 0.660749 0.111992 -vt 0.688171 0.068804 -vt 0.692270 0.072450 -vt 0.685245 0.068339 -vt 0.642472 0.048781 -vt 0.638514 0.053198 -vt 0.642404 0.045795 -vt 0.688180 0.048579 -vt 0.692211 0.053682 -vt 0.685257 0.049072 -vt 0.664267 0.115461 -vt 0.659292 0.118902 -vt 0.664452 0.112480 -vt 0.688153 0.066576 -vt 0.692270 0.068738 -vt 0.685213 0.065968 -vt 0.645126 0.048811 -vt 0.642578 0.052877 -vt 0.645232 0.045814 -vt 0.688234 0.045795 -vt 0.692280 0.048625 -vt 0.685297 0.046431 -vt 0.666735 0.115568 -vt 0.664001 0.119550 -vt 0.666746 0.112570 -vt 0.685213 0.045890 -vt 0.676316 0.085823 -vt 0.666746 0.089354 -vt 0.633992 0.069505 -vt 0.646780 0.095580 -vt 0.677082 0.110587 -vt 0.668726 0.116926 -vt 0.636450 0.056629 -vt 0.654312 0.120307 -vt 0.692252 0.066489 -vt 0.645005 0.052906 -vt 0.692333 0.045862 -vt 0.666696 0.119665 -vt 0.465182 0.773211 -vt 0.474757 0.796327 -vt 0.451641 0.805902 -vt 0.440365 0.797032 -vt 0.450936 0.807604 -vt 0.435784 0.745594 -vt 0.437590 0.759840 -vt 0.435784 0.760544 -vt 0.476459 0.782081 -vt 0.465887 0.771510 -vt 0.439396 0.760544 -vt 0.437590 0.746298 -vt 0.439396 0.745594 -vt 0.440365 0.782081 -vt 0.451641 0.773211 -vt 0.442066 0.782786 -vt 0.435784 0.730643 -vt 0.437590 0.744889 -vt 0.435784 0.745594 -vt 0.577356 0.778484 -vt 0.677462 0.819949 -vt 0.635997 0.920055 -vt 0.437590 0.730643 -vt 0.439396 0.744889 -vt 0.437590 0.745594 -vt 0.465887 0.807604 -vt 0.476459 0.797032 -vt 0.078132 0.312794 -vt 0.074593 0.309945 -vt 0.074795 0.309457 -vt 0.080658 0.282930 -vt 0.085174 0.282412 -vt 0.085376 0.282930 -vt 0.074795 0.320849 -vt 0.077644 0.317310 -vt 0.078132 0.317512 -vt 0.080658 0.270600 -vt 0.085174 0.270082 -vt 0.085376 0.270600 -vt 0.514739 0.611285 -vt 0.561517 0.724219 -vt 0.448584 0.770997 -vt 0.080658 0.281894 -vt 0.085174 0.282412 -vt 0.080860 0.282412 -vt 0.937821 0.137331 -vt 0.953427 0.174682 -vt 0.937821 0.174682 -vt 0.055348 0.312794 -vt 0.058887 0.309945 -vt 0.055837 0.312996 -vt 0.854115 0.267233 -vt 0.843080 0.229881 -vt 0.854115 0.229881 -vt 0.052012 0.309877 -vt 0.047496 0.310396 -vt 0.047293 0.309877 -vt 0.827474 0.267233 -vt 0.843080 0.267233 -vt 0.073289 0.326052 -vt 0.073622 0.326320 -vt 0.073603 0.326365 -vt 0.909906 0.318352 -vt 0.910944 0.314839 -vt 0.910944 0.318352 -vt 0.075669 0.322702 -vt 0.075244 0.322750 -vt 0.075225 0.322702 -vt 0.919855 0.309647 -vt 0.921323 0.306134 -vt 0.921323 0.309647 -vt 0.074046 0.326365 -vt 0.074314 0.326033 -vt 0.074360 0.326052 -vt 0.918817 0.309647 -vt 0.919855 0.306134 -vt 0.080658 0.294224 -vt 0.085174 0.294742 -vt 0.080860 0.294742 -vt 0.921323 0.313483 -vt 0.922791 0.309970 -vt 0.922791 0.313483 -vt 0.066740 0.312794 -vt 0.063201 0.309945 -vt 0.063404 0.309457 -vt 0.964462 0.137331 -vt 0.964462 0.174682 -vt 0.623269 0.611285 -vt 0.736202 0.658064 -vt 0.689424 0.770997 -vt 0.066740 0.317512 -vt 0.070279 0.320360 -vt 0.070077 0.320849 -vt 0.047293 0.298584 -vt 0.051810 0.298065 -vt 0.052012 0.298584 -vt 0.066740 0.312794 -vt 0.070279 0.309945 -vt 0.067228 0.312996 -vt 0.075939 0.270600 -vt 0.080455 0.270082 -vt 0.080658 0.270600 -vt 0.066740 0.306120 -vt 0.070299 0.308920 -vt 0.070077 0.309457 -vt 0.081468 0.310966 -vt 0.085965 0.310396 -vt 0.086187 0.310966 -vt 0.047293 0.310966 -vt 0.051790 0.310396 -vt 0.052012 0.310966 -vt 0.078132 0.301402 -vt 0.074573 0.298602 -vt 0.074795 0.298065 -vt 0.086187 0.298635 -vt 0.081691 0.298065 -vt 0.085965 0.298065 -vt 0.074795 0.309457 -vt 0.077595 0.305898 -vt 0.078132 0.306120 -vt 0.080658 0.282982 -vt 0.076161 0.282412 -vt 0.080435 0.282412 -vt 0.448893 0.437347 -vt 0.560770 0.483688 -vt 0.514429 0.595565 -vt 0.086187 0.322156 -vt 0.081691 0.322726 -vt 0.081468 0.322156 -vt 0.940502 0.270832 -vt 0.956108 0.307842 -vt 0.940502 0.307842 -vt 0.063404 0.298065 -vt 0.058907 0.298602 -vt 0.058685 0.298065 -vt 0.929467 0.270833 -vt 0.052012 0.322156 -vt 0.047516 0.322726 -vt 0.047293 0.322156 -vt 0.827474 0.307842 -vt 0.843080 0.270833 -vt 0.843080 0.307842 -vt 0.073289 0.324536 -vt 0.073339 0.324959 -vt 0.073289 0.324980 -vt 0.909906 0.322172 -vt 0.910944 0.318691 -vt 0.910944 0.322172 -vt 0.076189 0.325329 -vt 0.075766 0.325382 -vt 0.075745 0.325329 -vt 0.940502 0.267062 -vt 0.956108 0.230052 -vt 0.956108 0.267062 -vt 0.073603 0.325294 -vt 0.074026 0.325244 -vt 0.074046 0.325294 -vt 0.929467 0.267062 -vt 0.940502 0.230052 -vt 0.080658 0.294172 -vt 0.076161 0.294742 -vt 0.075939 0.294172 -vt 0.922215 0.215292 -vt 0.937821 0.178282 -vt 0.937821 0.215292 -vt 0.066740 0.306120 -vt 0.066203 0.301624 -vt 0.066740 0.301402 -vt 0.911180 0.215292 -vt 0.922215 0.178282 -vt 0.623578 0.437347 -vt 0.735455 0.483688 -vt 0.689114 0.595565 -vt 0.070077 0.298065 -vt 0.067277 0.301624 -vt 0.066740 0.301402 -vt 0.442066 0.796327 -vt 0.474757 0.782786 -vt 0.465182 0.805902 -vt 0.437590 0.746298 -vt 0.437590 0.759840 -vt 0.450936 0.771510 -vt 0.437590 0.731348 -vt 0.535890 0.878590 -vt 0.535890 0.819949 -vt 0.635997 0.778484 -vt 0.677462 0.878590 -vt 0.577356 0.920055 -vt 0.439396 0.731348 -vt 0.077644 0.312996 -vt 0.080860 0.282412 -vt 0.074593 0.320360 -vt 0.080860 0.270082 -vt 0.401805 0.658064 -vt 0.448584 0.611285 -vt 0.561517 0.658064 -vt 0.514739 0.770997 -vt 0.401805 0.724218 -vt 0.085376 0.281894 -vt 0.953427 0.137331 -vt 0.058685 0.309457 -vt 0.051810 0.310396 -vt 0.827474 0.229881 -vt 0.073335 0.326033 -vt 0.909906 0.314839 -vt 0.075650 0.322750 -vt 0.074027 0.326320 -vt 0.918817 0.306134 -vt 0.085376 0.294224 -vt 0.921323 0.309970 -vt 0.066252 0.312996 -vt 0.623269 0.770997 -vt 0.576490 0.724219 -vt 0.576490 0.658064 -vt 0.689424 0.611285 -vt 0.736202 0.724219 -vt 0.067228 0.317310 -vt 0.047496 0.298065 -vt 0.070077 0.309457 -vt 0.076141 0.270082 -vt 0.067277 0.305898 -vt 0.081691 0.310396 -vt 0.047516 0.310396 -vt 0.077595 0.301624 -vt 0.081468 0.298635 -vt 0.074573 0.308920 -vt 0.075939 0.282982 -vt 0.514429 0.437347 -vt 0.560770 0.549224 -vt 0.448893 0.595565 -vt 0.402552 0.549224 -vt 0.402552 0.483688 -vt 0.085965 0.322726 -vt 0.956108 0.270833 -vt 0.063181 0.298602 -vt 0.929467 0.307842 -vt 0.051790 0.322726 -vt 0.827474 0.270833 -vt 0.073339 0.324557 -vt 0.909906 0.318691 -vt 0.076168 0.325382 -vt 0.073624 0.325244 -vt 0.929467 0.230052 -vt 0.080435 0.294742 -vt 0.066203 0.305898 -vt 0.911180 0.178282 -vt 0.577237 0.549224 -vt 0.577237 0.483688 -vt 0.689114 0.437347 -vt 0.735455 0.549224 -vt 0.623578 0.595565 -vt 0.070299 0.298602 -vt 0.701217 0.067233 -vt 0.700978 0.067877 -vt 0.701033 0.067209 -vt 0.699383 0.105794 -vt 0.699627 0.105137 -vt 0.699642 0.105794 -vt 0.699197 0.105809 -vt 0.699368 0.105148 -vt 0.700167 0.103965 -vt 0.700484 0.104585 -vt 0.700226 0.104611 -vt 0.699983 0.103984 -vt 0.700043 0.104641 -vt 0.695595 0.067854 -vt 0.695348 0.067187 -vt 0.695607 0.067185 -vt 0.695781 0.067872 -vt 0.695793 0.067199 -vt 0.701074 0.069434 -vt 0.700821 0.071265 -vt 0.700888 0.069436 -vt 0.699514 0.103595 -vt 0.699182 0.105166 -vt 0.699256 0.103619 -vt 0.700066 0.102433 -vt 0.700426 0.103944 -vt 0.699880 0.102437 -vt 0.695488 0.069414 -vt 0.695335 0.067845 -vt 0.695674 0.069437 -vt 0.700629 0.069424 -vt 0.701008 0.071253 -vt 0.700777 0.073325 -vt 0.699308 0.101781 -vt 0.699070 0.103643 -vt 0.699050 0.101814 -vt 0.699985 0.100617 -vt 0.700325 0.102418 -vt 0.699799 0.100612 -vt 0.695289 0.071240 -vt 0.695230 0.069391 -vt 0.695474 0.071265 -vt 0.700562 0.071257 -vt 0.700964 0.073308 -vt 0.700752 0.075578 -vt 0.699025 0.099735 -vt 0.698865 0.101840 -vt 0.698769 0.099772 -vt 0.699923 0.098561 -vt 0.700244 0.100607 -vt 0.699736 0.098551 -vt 0.695015 0.073294 -vt 0.695031 0.071208 -vt 0.695200 0.073321 -vt 0.700517 0.073320 -vt 0.700938 0.075558 -vt 0.700744 0.077984 -vt 0.698686 0.097496 -vt 0.698583 0.099800 -vt 0.698429 0.097536 -vt 0.699877 0.096305 -vt 0.700182 0.098554 -vt 0.699691 0.096292 -vt 0.694685 0.075540 -vt 0.694758 0.073258 -vt 0.694870 0.075567 -vt 0.700492 0.075575 -vt 0.700930 0.077962 -vt 0.700751 0.080505 -vt 0.698307 0.095103 -vt 0.698244 0.097563 -vt 0.698050 0.095144 -vt 0.699848 0.093892 -vt 0.700137 0.096301 -vt 0.699661 0.093877 -vt 0.694317 0.077939 -vt 0.694428 0.075502 -vt 0.694502 0.077966 -vt 0.700484 0.077984 -vt 0.700937 0.080483 -vt 0.700771 0.083101 -vt 0.697907 0.092596 -vt 0.697865 0.095171 -vt 0.697650 0.092636 -vt 0.699832 0.091361 -vt 0.700107 0.093889 -vt 0.699646 0.091345 -vt 0.693929 0.080452 -vt 0.694060 0.077900 -vt 0.694114 0.080477 -vt 0.700491 0.080506 -vt 0.700957 0.083078 -vt 0.700802 0.085731 -vt 0.697504 0.090013 -vt 0.697465 0.092662 -vt 0.697248 0.090052 -vt 0.700087 0.088753 -vt 0.700091 0.091360 -vt 0.699642 0.088737 -vt 0.693539 0.083039 -vt 0.693672 0.080412 -vt 0.693725 0.083062 -vt 0.700511 0.083103 -vt 0.700987 0.085709 -vt 0.700841 0.088355 -vt 0.697118 0.087395 -vt 0.697062 0.090076 -vt 0.696861 0.087431 -vt 0.699828 0.088753 -vt 0.700093 0.086110 -vt 0.699649 0.086094 -vt 0.693166 0.085662 -vt 0.693283 0.083001 -vt 0.693352 0.085682 -vt 0.700542 0.085734 -vt 0.701026 0.088336 -vt 0.700888 0.090933 -vt 0.696765 0.084780 -vt 0.696676 0.087453 -vt 0.696508 0.084813 -vt 0.699834 0.086109 -vt 0.700108 0.083469 -vt 0.699664 0.083455 -vt 0.692829 0.088280 -vt 0.692909 0.085626 -vt 0.700582 0.088359 -vt 0.701072 0.090917 -vt 0.700938 0.093426 -vt 0.696465 0.082208 -vt 0.696323 0.084831 -vt 0.696207 0.082235 -vt 0.699848 0.083468 -vt 0.700129 0.080873 -vt 0.699685 0.080861 -vt 0.692544 0.090856 -vt 0.692571 0.088249 -vt 0.693014 0.088298 -vt 0.700628 0.090938 -vt 0.696236 0.079718 -vt 0.696279 0.077337 -vt 0.696418 0.079698 -vt 0.696023 0.082249 -vt 0.695977 0.079738 -vt 0.699869 0.080870 -vt 0.700154 0.078359 -vt 0.699712 0.078351 -vt 0.692330 0.093348 -vt 0.692285 0.090830 -vt 0.692728 0.090869 -vt 0.700679 0.093431 -vt 0.696096 0.077350 -vt 0.696248 0.075139 -vt 0.700368 0.075975 -vt 0.700338 0.078359 -vt 0.699895 0.078356 -vt 0.700183 0.075968 -vt 0.691946 0.095710 -vt 0.691889 0.093311 -vt 0.692071 0.093330 -vt 0.692206 0.095719 -vt 0.700732 0.095797 -vt 0.700495 0.093428 -vt 0.700992 0.095792 -vt 0.696062 0.075143 -vt 0.696341 0.073147 -vt 0.695836 0.077359 -vt 0.700400 0.073756 -vt 0.699923 0.075965 -vt 0.700212 0.073739 -vt 0.691929 0.097931 -vt 0.691763 0.095698 -vt 0.692189 0.097926 -vt 0.700786 0.097996 -vt 0.700547 0.095801 -vt 0.701045 0.097990 -vt 0.696154 0.073137 -vt 0.696575 0.071402 -vt 0.695803 0.075139 -vt 0.700430 0.071740 -vt 0.699953 0.073735 -vt 0.700241 0.071710 -vt 0.692039 0.099955 -vt 0.691744 0.097929 -vt 0.692297 0.099931 -vt 0.700838 0.099984 -vt 0.700599 0.098009 -vt 0.701097 0.099978 -vt 0.696389 0.071372 -vt 0.696964 0.069949 -vt 0.695896 0.073114 -vt 0.700459 0.069966 -vt 0.699982 0.071707 -vt 0.700268 0.069918 -vt 0.692294 0.101743 -vt 0.691852 0.099966 -vt 0.692548 0.101692 -vt 0.700885 0.101719 -vt 0.700649 0.100010 -vt 0.701144 0.101714 -vt 0.696783 0.069889 -vt 0.697513 0.068831 -vt 0.696135 0.071322 -vt 0.700484 0.068471 -vt 0.700009 0.069916 -vt 0.700291 0.068398 -vt 0.692714 0.103257 -vt 0.692108 0.101774 -vt 0.692957 0.103166 -vt 0.700926 0.103154 -vt 0.700695 0.101763 -vt 0.701185 0.103153 -vt 0.697352 0.068727 -vt 0.698221 0.068078 -vt 0.696540 0.069799 -vt 0.696377 0.069732 -vt 0.697138 0.068581 -vt 0.700032 0.068399 -vt 0.700309 0.067185 -vt 0.693321 0.104458 -vt 0.692533 0.103318 -vt 0.693534 0.104311 -vt 0.693676 0.104208 -vt 0.693120 0.103098 -vt 0.700958 0.104247 -vt 0.701217 0.104252 -vt 0.698107 0.067922 -vt 0.699109 0.067693 -vt 0.696996 0.068478 -vt 0.697958 0.067711 -vt 0.701700 0.067193 -vt 0.701398 0.068249 -vt 0.701441 0.067185 -vt 0.694139 0.105304 -vt 0.693160 0.104563 -vt 0.694287 0.105092 -vt 0.694385 0.104949 -vt 0.701492 0.071613 -vt 0.701293 0.072493 -vt 0.701233 0.071620 -vt 0.699071 0.067501 -vt 0.701227 0.069458 -vt 0.701217 0.068313 -vt 0.701657 0.068252 -vt 0.701411 0.069462 -vt 0.695146 0.105934 -vt 0.694026 0.105461 -vt 0.695182 0.105742 -vt 0.701661 0.070661 -vt 0.701674 0.071674 -vt 0.701477 0.070668 -vt 0.701217 0.070665 -vt 0.701487 0.070148 -vt 0.701228 0.070138 -vt 0.699640 0.067642 -vt 0.699021 0.067247 -vt 0.699642 0.067444 -vt 0.701254 0.070074 -vt 0.701670 0.069454 -vt 0.701441 0.070109 -vt 0.695793 0.105991 -vt 0.695232 0.105488 -vt 0.695790 0.105794 -vt 0.701674 0.070110 -vt 0.700719 0.067858 -vt 0.701163 0.067890 -vt 0.701122 0.093415 -vt 0.695793 0.079746 -vt 0.692514 0.093355 -vt 0.700734 0.103225 -vt 0.700050 0.067193 -vt 0.697860 0.067568 -vt 0.701551 0.072482 -vt 0.699642 0.067185 -vt 0.701700 0.070095 -vt 0.695789 0.105535 -vt 0.700775 0.067185 -vt 0.401385 0.825298 -vt 0.360441 0.807567 -vt 0.401385 0.807567 -vt 0.438872 0.865470 -vt 0.424396 0.833623 -vt 0.439173 0.844562 -vt 0.401385 0.837622 -vt 0.417278 0.828380 -vt 0.415503 0.844369 -vt 0.444657 0.848511 -vt 0.452643 0.807567 -vt 0.452643 0.848511 -vt 0.360441 0.825298 -vt 0.401385 0.860280 -vt 0.360441 0.860280 -vt 0.417088 0.906060 -vt 0.401385 0.865117 -vt 0.417088 0.865117 -vt 0.391478 0.901224 -vt 0.376521 0.860280 -vt 0.391478 0.860280 -vt 0.376521 0.901224 -vt 0.360441 0.860280 -vt 0.444657 0.889454 -vt 0.452165 0.848511 -vt 0.452165 0.889454 -vt 0.438872 0.807567 -vt 0.444657 0.813352 -vt 0.439173 0.828475 -vt 0.444657 0.859685 -vt 0.419285 0.860005 -vt 0.412898 0.865117 -vt 0.419285 0.807567 -vt 0.424396 0.813954 -vt 0.444657 0.807567 -vt 0.401385 0.906060 -vt 0.360441 0.901224 -vt 0.444657 0.848511 -vt 0.737622 0.843754 -vt 0.735421 0.846560 -vt 0.735421 0.843652 -vt 0.735421 0.873788 -vt 0.732997 0.847686 -vt 0.735421 0.847686 -vt 0.745980 0.812285 -vt 0.743556 0.817699 -vt 0.743556 0.812285 -vt 0.743556 0.823857 -vt 0.745980 0.832530 -vt 0.743556 0.832530 -vt 0.745980 0.834866 -vt 0.743556 0.840493 -vt 0.743556 0.834866 -vt 0.745980 0.846737 -vt 0.743556 0.846737 -vt 0.743556 0.846737 -vt 0.745980 0.857728 -vt 0.743556 0.857728 -vt 0.730795 0.843754 -vt 0.732997 0.846560 -vt 0.730795 0.846853 -vt 0.745980 0.879696 -vt 0.743556 0.885460 -vt 0.743556 0.879696 -vt 0.698137 0.863077 -vt 0.695712 0.855142 -vt 0.698137 0.855142 -vt 0.735421 0.831370 -vt 0.732997 0.835335 -vt 0.732997 0.831370 -vt 0.745980 0.866997 -vt 0.743556 0.872938 -vt 0.743556 0.866997 -vt 0.730795 0.835287 -vt 0.732997 0.838452 -vt 0.730795 0.838551 -vt 0.743556 0.793527 -vt 0.745980 0.800077 -vt 0.743556 0.800077 -vt 0.743556 0.864063 -vt 0.745980 0.872938 -vt 0.743556 0.808860 -vt 0.745980 0.823857 -vt 0.732997 0.793527 -vt 0.735421 0.801196 -vt 0.732997 0.801196 -vt 0.735421 0.808136 -vt 0.732997 0.808136 -vt 0.732997 0.816150 -vt 0.735421 0.823090 -vt 0.732997 0.823090 -vt 0.665044 0.816940 -vt 0.663930 0.812758 -vt 0.665871 0.812702 -vt 0.695712 0.868798 -vt 0.698137 0.868798 -vt 0.735421 0.816150 -vt 0.737622 0.873048 -vt 0.737622 0.847837 -vt 0.739488 0.870938 -vt 0.655104 0.855187 -vt 0.679679 0.853355 -vt 0.682207 0.855187 -vt 0.657120 0.853355 -vt 0.676678 0.851166 -vt 0.706630 0.851157 -vt 0.726189 0.853336 -vt 0.703632 0.853336 -vt 0.728211 0.855142 -vt 0.701108 0.855142 -vt 0.728929 0.870938 -vt 0.730795 0.847837 -vt 0.730795 0.873048 -vt 0.732997 0.873788 -vt 0.674788 0.839055 -vt 0.674948 0.842406 -vt 0.660327 0.843145 -vt 0.665614 0.807357 -vt 0.662514 0.803514 -vt 0.664195 0.802577 -vt 0.728929 0.844045 -vt 0.728929 0.847686 -vt 0.735421 0.835335 -vt 0.715401 0.807281 -vt 0.719089 0.802596 -vt 0.717673 0.807372 -vt 0.720774 0.803507 -vt 0.719617 0.807410 -vt 0.739488 0.844045 -vt 0.737622 0.846853 -vt 0.718248 0.816948 -vt 0.719364 0.812744 -vt 0.720071 0.816358 -vt 0.667172 0.817579 -vt 0.668142 0.812605 -vt 0.728929 0.835148 -vt 0.728929 0.838834 -vt 0.716119 0.817595 -vt 0.717419 0.812713 -vt 0.732997 0.843652 -vt 0.723731 0.849725 -vt 0.706989 0.850026 -vt 0.708356 0.842404 -vt 0.739488 0.835148 -vt 0.737622 0.838551 -vt 0.737622 0.835287 -vt 0.735421 0.838452 -vt 0.663788 0.798291 -vt 0.659026 0.797316 -vt 0.657998 0.798855 -vt 0.702204 0.863235 -vt 0.700338 0.868999 -vt 0.700338 0.863118 -vt 0.719493 0.798322 -vt 0.717123 0.801472 -vt 0.724087 0.797441 -vt 0.691645 0.863235 -vt 0.693511 0.868999 -vt 0.691645 0.869570 -vt 0.693511 0.863118 -vt 0.700338 0.856137 -vt 0.702204 0.858971 -vt 0.654355 0.796638 -vt 0.728929 0.796636 -vt 0.725288 0.798851 -vt 0.691645 0.858971 -vt 0.693511 0.856137 -vt 0.695712 0.863077 -vt 0.676839 0.798693 -vt 0.672118 0.795566 -vt 0.677438 0.796556 -vt 0.672319 0.793677 -vt 0.677929 0.794721 -vt 0.739488 0.872961 -vt 0.741355 0.867072 -vt 0.741355 0.872944 -vt 0.706443 0.798723 -vt 0.711163 0.795590 -vt 0.711418 0.797798 -vt 0.705845 0.796579 -vt 0.710965 0.793677 -vt 0.750048 0.872961 -vt 0.748182 0.867072 -vt 0.750048 0.867286 -vt 0.748182 0.872944 -vt 0.683134 0.798771 -vt 0.682151 0.800758 -vt 0.683951 0.797062 -vt 0.741355 0.879620 -vt 0.739488 0.879404 -vt 0.700150 0.798792 -vt 0.705356 0.794720 -vt 0.750048 0.879404 -vt 0.748182 0.879620 -vt 0.687724 0.801634 -vt 0.684986 0.803937 -vt 0.688792 0.800082 -vt 0.741355 0.885317 -vt 0.739488 0.884911 -vt 0.697434 0.802976 -vt 0.701132 0.800787 -vt 0.694496 0.800077 -vt 0.699335 0.797060 -vt 0.748182 0.885317 -vt 0.745980 0.885460 -vt 0.741355 0.889985 -vt 0.739488 0.888317 -vt 0.688995 0.802678 -vt 0.694291 0.802696 -vt 0.695561 0.801653 -vt 0.750048 0.888317 -vt 0.750048 0.884911 -vt 0.748182 0.889985 -vt 0.669624 0.795431 -vt 0.669690 0.797649 -vt 0.662991 0.794240 -vt 0.669551 0.793527 -vt 0.739488 0.864591 -vt 0.741355 0.857931 -vt 0.741355 0.864200 -vt 0.713591 0.797680 -vt 0.719916 0.796134 -vt 0.713658 0.795455 -vt 0.720293 0.794240 -vt 0.750048 0.858510 -vt 0.748182 0.864200 -vt 0.748182 0.857931 -vt 0.741355 0.847825 -vt 0.739488 0.850925 -vt 0.663365 0.796111 -vt 0.750048 0.850925 -vt 0.748182 0.847825 -vt 0.745980 0.846737 -vt 0.713732 0.793527 -vt 0.750048 0.864591 -vt 0.745980 0.864063 -vt 0.681798 0.813235 -vt 0.679840 0.812243 -vt 0.688235 0.806318 -vt 0.683443 0.814053 -vt 0.739488 0.808840 -vt 0.741355 0.799999 -vt 0.741355 0.808855 -vt 0.703449 0.812263 -vt 0.696534 0.805255 -vt 0.699852 0.814038 -vt 0.695056 0.806309 -vt 0.750048 0.808840 -vt 0.748182 0.799999 -vt 0.750048 0.799780 -vt 0.745980 0.808860 -vt 0.741355 0.793851 -vt 0.739488 0.794776 -vt 0.691645 0.802424 -vt 0.686753 0.805238 -vt 0.691645 0.802418 -vt 0.750048 0.794776 -vt 0.748182 0.793851 -vt 0.745980 0.793527 -vt 0.678231 0.816155 -vt 0.678685 0.822543 -vt 0.676543 0.822070 -vt 0.680305 0.816865 -vt 0.680486 0.822920 -vt 0.739488 0.812498 -vt 0.741355 0.817803 -vt 0.739488 0.818098 -vt 0.741355 0.812340 -vt 0.706751 0.822083 -vt 0.702987 0.816873 -vt 0.705060 0.816173 -vt 0.704610 0.822546 -vt 0.701249 0.817426 -vt 0.750048 0.818098 -vt 0.748182 0.812340 -vt 0.750048 0.812498 -vt 0.748182 0.817803 -vt 0.701493 0.813246 -vt 0.748182 0.808855 -vt 0.675378 0.829038 -vt 0.676984 0.839054 -vt 0.677560 0.829272 -vt 0.678829 0.839031 -vt 0.739488 0.824433 -vt 0.741355 0.832723 -vt 0.739488 0.833271 -vt 0.707919 0.829046 -vt 0.706320 0.839046 -vt 0.705738 0.829271 -vt 0.703908 0.829421 -vt 0.750048 0.833271 -vt 0.748182 0.824007 -vt 0.750048 0.824433 -vt 0.748182 0.832723 -vt 0.741355 0.824007 -vt 0.702813 0.822898 -vt 0.745980 0.817699 -vt 0.678452 0.849492 -vt 0.676319 0.850034 -vt 0.677132 0.842145 -vt 0.680244 0.849009 -vt 0.739488 0.835782 -vt 0.741355 0.840777 -vt 0.739488 0.841585 -vt 0.706173 0.842134 -vt 0.704857 0.849475 -vt 0.704342 0.841865 -vt 0.750048 0.841585 -vt 0.748182 0.835104 -vt 0.750048 0.835782 -vt 0.745980 0.840493 -vt 0.741355 0.835104 -vt 0.678967 0.841901 -vt 0.741355 0.846610 -vt 0.739488 0.846250 -vt 0.703068 0.848967 -vt 0.750048 0.846250 -vt 0.748182 0.840777 -vt 0.748182 0.846610 -vt 0.708515 0.839055 -vt 0.704478 0.838997 -vt 0.657375 0.849525 -vt 0.658140 0.842814 -vt 0.655493 0.849325 -vt 0.656271 0.842511 -vt 0.728929 0.808190 -vt 0.730795 0.801234 -vt 0.730795 0.808150 -vt 0.722976 0.843142 -vt 0.725933 0.849508 -vt 0.725164 0.842803 -vt 0.727818 0.849283 -vt 0.739488 0.808190 -vt 0.737622 0.801234 -vt 0.739488 0.801343 -vt 0.737622 0.808150 -vt 0.659521 0.835156 -vt 0.661683 0.835627 -vt 0.657673 0.834734 -vt 0.730795 0.816136 -vt 0.728929 0.816094 -vt 0.723779 0.835151 -vt 0.725631 0.834703 -vt 0.727037 0.842474 -vt 0.739488 0.816094 -vt 0.737622 0.816136 -vt 0.661148 0.828601 -vt 0.663279 0.829191 -vt 0.659325 0.828077 -vt 0.730795 0.823051 -vt 0.728929 0.822940 -vt 0.721617 0.835630 -vt 0.722150 0.828600 -vt 0.723976 0.828051 -vt 0.737622 0.823051 -vt 0.730795 0.794040 -vt 0.728929 0.795502 -vt 0.659480 0.851166 -vt 0.723827 0.851157 -vt 0.739488 0.795502 -vt 0.737622 0.794040 -vt 0.735421 0.793527 -vt 0.665549 0.821597 -vt 0.663461 0.820857 -vt 0.661676 0.820207 -vt 0.728929 0.831102 -vt 0.730795 0.831301 -vt 0.717744 0.821610 -vt 0.720017 0.829199 -vt 0.719832 0.820862 -vt 0.739488 0.831102 -vt 0.739488 0.822940 -vt 0.737622 0.831301 -vt 0.663224 0.816375 -vt 0.721621 0.820188 -vt 0.745980 0.890571 -vt 0.743556 0.890571 -vt 0.663674 0.807420 -vt 0.715147 0.812625 -vt 0.739488 0.838834 -vt 0.667885 0.807257 -vt 0.666160 0.801444 -vt 0.739488 0.848268 -vt 0.728929 0.848268 -vt 0.671863 0.797767 -vt 0.659576 0.849733 -vt 0.739488 0.847686 -vt 0.702204 0.869570 -vt 0.739488 0.867286 -vt 0.739488 0.858510 -vt 0.739488 0.799780 -vt 0.682048 0.817444 -vt 0.679394 0.829448 -vt 0.728929 0.801343 -vt 0.455694 0.552224 -vt 0.450312 0.513589 -vt 0.455694 0.513589 -vt 0.435720 0.600554 -vt 0.430296 0.561919 -vt 0.435720 0.561919 -vt 0.460894 0.552472 -vt 0.467069 0.553113 -vt 0.461039 0.553351 -vt 0.450312 0.552224 -vt 0.444546 0.513589 -vt 0.479579 0.500134 -vt 0.474391 0.461499 -vt 0.479579 0.461499 -vt 0.474391 0.500134 -vt 0.468321 0.461499 -vt 0.468321 0.500134 -vt 0.462004 0.461499 -vt 0.441990 0.600554 -vt 0.462004 0.552224 -vt 0.462004 0.513589 -vt 0.467692 0.552224 -vt 0.419719 0.561919 -vt 0.424398 0.600554 -vt 0.419719 0.600554 -vt 0.424398 0.561919 -vt 0.430296 0.600554 -vt 0.368678 0.564542 -vt 0.369485 0.564919 -vt 0.367931 0.569873 -vt 0.387975 0.514727 -vt 0.382892 0.553362 -vt 0.382892 0.514727 -vt 0.478162 0.552224 -vt 0.473241 0.590859 -vt 0.473241 0.552224 -vt 0.393337 0.553362 -vt 0.387975 0.553362 -vt 0.394569 0.602481 -vt 0.398644 0.563846 -vt 0.398644 0.602481 -vt 0.403921 0.602481 -vt 0.403921 0.563846 -vt 0.409904 0.602481 -vt 0.409904 0.563846 -vt 0.467214 0.590859 -vt 0.467214 0.552224 -vt 0.376851 0.553362 -vt 0.376851 0.514727 -vt 0.371292 0.553362 -vt 0.371292 0.514727 -vt 0.366766 0.553362 -vt 0.366766 0.514727 -vt 0.483175 0.552224 -vt 0.478162 0.590859 -vt 0.444830 0.574682 -vt 0.445711 0.574542 -vt 0.447265 0.579496 -vt 0.377911 0.590349 -vt 0.378294 0.589544 -vt 0.383259 0.591065 -vt 0.389434 0.591997 -vt 0.390325 0.553362 -vt 0.390325 0.591997 -vt 0.390325 0.553362 -vt 0.391205 0.591997 -vt 0.390325 0.591997 -vt 0.427478 0.561919 -vt 0.419719 0.513589 -vt 0.427478 0.513589 -vt 0.393337 0.514727 -vt 0.394303 0.563057 -vt 0.393337 0.563057 -vt 0.482708 0.551260 -vt 0.480126 0.502929 -vt 0.482708 0.502929 -vt 0.444546 0.561919 -vt 0.441082 0.513589 -vt 0.444546 0.513589 -vt 0.419719 0.562883 -vt 0.394569 0.514552 -vt 0.419719 0.514552 -vt 0.441082 0.561919 -vt 0.432984 0.513589 -vt 0.432984 0.561919 -vt 0.350175 0.515690 -vt 0.356147 0.564021 -vt 0.350175 0.564021 -vt 0.414229 0.488800 -vt 0.413639 0.482503 -vt 0.419059 0.461499 -vt 0.452119 0.462463 -vt 0.457704 0.510793 -vt 0.452119 0.510793 -vt 0.472956 0.503893 -vt 0.467692 0.552224 -vt 0.467692 0.503893 -vt 0.446903 0.462463 -vt 0.446903 0.510793 -vt 0.344825 0.515690 -vt 0.344825 0.564021 -vt 0.356147 0.515690 -vt 0.361262 0.564021 -vt 0.479002 0.552224 -vt 0.480126 0.503893 -vt 0.480126 0.552224 -vt 0.457704 0.462463 -vt 0.462004 0.510793 -vt 0.443550 0.510793 -vt 0.443550 0.462463 -vt 0.361262 0.515690 -vt 0.366766 0.564021 -vt 0.479002 0.503893 -vt 0.472956 0.552224 -vt 0.418631 0.513589 -vt 0.395251 0.513589 -vt 0.344311 0.564984 -vt 0.350109 0.564984 -vt 0.430579 0.469428 -vt 0.422777 0.470711 -vt 0.422492 0.469583 -vt 0.436530 0.468066 -vt 0.430928 0.470555 -vt 0.411504 0.508065 -vt 0.418274 0.511580 -vt 0.419059 0.513589 -vt 0.406089 0.505659 -vt 0.412039 0.507021 -vt 0.398286 0.504377 -vt 0.406437 0.504532 -vt 0.350109 0.514727 -vt 0.408100 0.499184 -vt 0.412391 0.494845 -vt 0.408617 0.499881 -vt 0.432552 0.502988 -vt 0.426738 0.505705 -vt 0.431867 0.502052 -vt 0.394569 0.504693 -vt 0.394584 0.503722 -vt 0.447010 0.461499 -vt 0.452112 0.461499 -vt 0.458017 0.461499 -vt 0.344311 0.514727 -vt 0.481060 0.501966 -vt 0.481740 0.501966 -vt 0.419644 0.507673 -vt 0.420768 0.507698 -vt 0.420578 0.508819 -vt 0.452112 0.511757 -vt 0.447010 0.511757 -vt 0.458017 0.511757 -vt 0.345275 0.514727 -vt 0.344311 0.463474 -vt 0.345275 0.461499 -vt 0.427243 0.506769 -vt 0.396277 0.467389 -vt 0.402753 0.468319 -vt 0.402248 0.469383 -vt 0.395153 0.467414 -vt 0.396088 0.466268 -vt 0.407376 0.473036 -vt 0.411731 0.477372 -vt 0.410913 0.478117 -vt 0.443550 0.513589 -vt 0.438130 0.492585 -vt 0.438720 0.486287 -vt 0.394569 0.562883 -vt 0.418631 0.563846 -vt 0.395251 0.563846 -vt 0.442765 0.463508 -vt 0.435995 0.467022 -vt 0.443550 0.461499 -vt 0.436882 0.480242 -vt 0.432591 0.475904 -vt 0.433107 0.475207 -vt 0.393605 0.514727 -vt 0.394569 0.463474 -vt 0.394569 0.513613 -vt 0.481060 0.552224 -vt 0.481740 0.552224 -vt 0.408062 0.472100 -vt 0.435404 0.496971 -vt 0.437227 0.492067 -vt 0.419059 0.470395 -vt 0.419075 0.471366 -vt 0.436222 0.497715 -vt 0.393605 0.461499 -vt 0.456074 0.554871 -vt 0.455691 0.554066 -vt 0.467214 0.552224 -vt 0.444546 0.552224 -vt 0.462004 0.500134 -vt 0.441990 0.561919 -vt 0.467692 0.513589 -vt 0.373185 0.586369 -vt 0.366766 0.576030 -vt 0.367050 0.569734 -vt 0.367660 0.575881 -vt 0.383114 0.553362 -vt 0.389434 0.553610 -vt 0.383259 0.554251 -vt 0.389289 0.554489 -vt 0.372556 0.587022 -vt 0.369567 0.581576 -vt 0.368764 0.581999 -vt 0.377112 0.555385 -vt 0.377532 0.556182 -vt 0.372048 0.559190 -vt 0.372700 0.559813 -vt 0.393337 0.514727 -vt 0.394569 0.563846 -vt 0.483175 0.590859 -vt 0.461039 0.590164 -vt 0.467069 0.589927 -vt 0.467214 0.590805 -vt 0.449828 0.585225 -vt 0.446458 0.579874 -vt 0.450480 0.584603 -vt 0.450337 0.557393 -vt 0.450965 0.558046 -vt 0.460894 0.591054 -vt 0.455312 0.588233 -vt 0.454892 0.589030 -vt 0.446544 0.562417 -vt 0.447347 0.562839 -vt 0.444546 0.568385 -vt 0.445440 0.568534 -vt 0.389289 0.591302 -vt 0.383114 0.591943 -vt 0.389434 0.592192 -vt 0.389434 0.553362 -vt 0.391205 0.553362 -vt 0.419719 0.561919 -vt 0.394303 0.514727 -vt 0.480126 0.551260 -vt 0.396098 0.465585 -vt 0.403225 0.503100 -vt 0.462004 0.462463 -vt 0.366766 0.515690 -vt 0.398001 0.505505 -vt 0.356460 0.514727 -vt 0.411595 0.494521 -vt 0.344311 0.513613 -vt 0.356460 0.564984 -vt 0.420589 0.509502 -vt 0.427716 0.471988 -vt 0.412737 0.483021 -vt 0.436086 0.480567 -vt 0.399312 0.850771 -vt 0.477005 0.886236 -vt 0.399312 0.886236 -vt 0.477005 0.798748 -vt 0.399312 0.778678 -vt 0.477005 0.778678 -vt 0.510727 0.827096 -vt 0.510727 0.835150 -vt 0.503869 0.829021 -vt 0.334016 0.833116 -vt 0.386916 0.804688 -vt 0.386916 0.833116 -vt 0.386916 0.858211 -vt 0.334016 0.878012 -vt 0.334016 0.858211 -vt 0.483862 0.832080 -vt 0.483862 0.840134 -vt 0.477005 0.838209 -vt 0.477005 0.833057 -vt 0.477005 0.850771 -vt 0.399312 0.833057 -vt 0.477005 0.814158 -vt 0.399312 0.814158 -vt 0.321619 0.778678 -vt 0.334016 0.790210 -vt 0.321619 0.780043 -vt 0.334016 0.839001 -vt 0.386916 0.839001 -vt 0.321619 0.887173 -vt 0.325373 0.880786 -vt 0.524999 0.863771 -vt 0.515851 0.866009 -vt 0.395559 0.803528 -vt 0.488986 0.801221 -vt 0.493257 0.832833 -vt 0.325373 0.803528 -vt 0.325373 0.832595 -vt 0.325373 0.787131 -vt 0.503869 0.786724 -vt 0.496266 0.779978 -vt 0.530734 0.880506 -vt 0.523130 0.887252 -vt 0.386916 0.790210 -vt 0.395559 0.787131 -vt 0.514245 0.805906 -vt 0.520122 0.827850 -vt 0.395558 0.858992 -vt 0.395559 0.839133 -vt 0.496529 0.859086 -vt 0.487381 0.861324 -vt 0.325373 0.839133 -vt 0.325373 0.858992 -vt 0.503869 0.880506 -vt 0.496266 0.887252 -vt 0.530734 0.786724 -vt 0.523394 0.808144 -vt 0.386916 0.878012 -vt 0.493257 0.839380 -vt 0.520122 0.834397 -vt 0.395559 0.832595 -vt 0.334016 0.804688 -vt 0.399312 0.798748 -vt 0.521902 0.888552 -vt 0.509726 0.865361 -vt 0.504610 0.848490 -vt 0.507687 0.811769 -vt 0.521902 0.778678 -vt 0.523130 0.779978 -vt 0.495038 0.778678 -vt 0.482862 0.801869 -vt 0.477746 0.818740 -vt 0.495038 0.888552 -vt 0.480823 0.855461 -vt 0.399312 0.780043 -vt 0.399312 0.888404 -vt 0.395558 0.880786 -vt 0.399312 0.887173 -vt 0.321619 0.888404 -vt 0.498135 0.803459 -vt 0.079728 0.343067 -vt 0.074702 0.328852 -vt 0.079728 0.328852 -vt 0.162029 0.315049 -vt 0.167468 0.329265 -vt 0.162029 0.329265 -vt 0.167468 0.315049 -vt 0.171252 0.329265 -vt 0.055961 0.346540 -vt 0.050527 0.332325 -vt 0.055961 0.332325 -vt 0.050527 0.346540 -vt 0.046499 0.332325 -vt 0.171252 0.314713 -vt 0.167468 0.300497 -vt 0.171252 0.300497 -vt 0.088601 0.314874 -vt 0.084754 0.305587 -vt 0.094041 0.301741 -vt 0.167468 0.314713 -vt 0.162029 0.300497 -vt 0.084754 0.343067 -vt 0.084754 0.328852 -vt 0.107175 0.301741 -vt 0.111022 0.311027 -vt 0.101735 0.314874 -vt 0.033747 0.314244 -vt 0.046499 0.358674 -vt 0.033747 0.358674 -vt 0.059251 0.287602 -vt 0.046499 0.332325 -vt 0.046499 0.287602 -vt 0.059251 0.332031 -vt 0.072003 0.287602 -vt 0.072003 0.332032 -vt 0.020996 0.363824 -vt 0.033747 0.329698 -vt 0.033747 0.363824 -vt 0.069295 0.275941 -vt 0.083036 0.267528 -vt 0.090622 0.266529 -vt 0.029625 0.219706 -vt 0.020995 0.220518 -vt 0.059727 0.198156 -vt 0.069032 0.209139 -vt 0.086771 0.219089 -vt 0.079185 0.220088 -vt 0.081596 0.238403 -vt 0.089183 0.237404 -vt 0.088211 0.248214 -vt 0.025966 0.233363 -vt 0.032036 0.238021 -vt 0.029635 0.248856 -vt 0.050980 0.278352 -vt 0.020995 0.265241 -vt 0.032046 0.267171 -vt 0.094281 0.252872 -vt 0.098458 0.220518 -vt 0.098458 0.265241 -vt 0.020996 0.287602 -vt 0.033747 0.287602 -vt 0.046499 0.314244 -vt 0.175920 0.220518 -vt 0.146811 0.215544 -vt 0.145812 0.207957 -vt 0.132155 0.204298 -vt 0.113341 0.218062 -vt 0.105755 0.219060 -vt 0.164244 0.219108 -vt 0.156658 0.220107 -vt 0.166655 0.237423 -vt 0.171314 0.231353 -vt 0.171061 0.251691 -vt 0.167402 0.265348 -vt 0.175920 0.265241 -vt 0.142207 0.280534 -vt 0.128550 0.276875 -vt 0.137189 0.287602 -vt 0.109381 0.266950 -vt 0.102095 0.232717 -vt 0.106970 0.248634 -vt 0.102311 0.254705 -vt 0.097506 0.320540 -vt 0.084754 0.314874 -vt 0.097506 0.314874 -vt 0.059251 0.332032 -vt 0.072003 0.337353 -vt 0.059251 0.337353 -vt 0.072003 0.345004 -vt 0.059251 0.345004 -vt 0.097506 0.294671 -vt 0.084754 0.301741 -vt 0.084754 0.294671 -vt 0.084754 0.287602 -vt 0.097506 0.288781 -vt 0.161265 0.292924 -vt 0.148513 0.300574 -vt 0.148513 0.292924 -vt 0.161265 0.287602 -vt 0.148513 0.287602 -vt 0.097506 0.328182 -vt 0.084754 0.320540 -vt 0.097888 0.322517 -vt 0.110640 0.328183 -vt 0.097888 0.328183 -vt 0.084754 0.328852 -vt 0.072003 0.323530 -vt 0.084754 0.323530 -vt 0.072003 0.315879 -vt 0.084754 0.315879 -vt 0.123010 0.287602 -vt 0.135762 0.288825 -vt 0.123010 0.294671 -vt 0.123010 0.301741 -vt 0.135762 0.294671 -vt 0.135762 0.301741 -vt 0.136525 0.335095 -vt 0.136525 0.333343 -vt 0.149277 0.333343 -vt 0.149277 0.328021 -vt 0.136525 0.328021 -vt 0.097888 0.314874 -vt 0.110640 0.322517 -vt 0.136525 0.309383 -vt 0.149277 0.315049 -vt 0.136525 0.315049 -vt 0.097506 0.341155 -vt 0.084754 0.335833 -vt 0.097506 0.335833 -vt 0.084754 0.328183 -vt 0.097506 0.328183 -vt 0.110258 0.294671 -vt 0.097506 0.287602 -vt 0.110258 0.287602 -vt 0.110258 0.296126 -vt 0.110258 0.301741 -vt 0.097506 0.301741 -vt 0.162029 0.307062 -vt 0.149277 0.314713 -vt 0.149277 0.307062 -vt 0.162029 0.301741 -vt 0.149277 0.301741 -vt 0.136525 0.301741 -vt 0.149277 0.309383 -vt 0.123774 0.302817 -vt 0.111022 0.307406 -vt 0.111022 0.301741 -vt 0.111022 0.315049 -vt 0.123774 0.320370 -vt 0.111022 0.320370 -vt 0.123774 0.328021 -vt 0.111022 0.328021 -vt 0.072003 0.314436 -vt 0.072003 0.308810 -vt 0.084754 0.310153 -vt 0.084754 0.301741 -vt 0.072003 0.301741 -vt 0.136525 0.333343 -vt 0.123774 0.340994 -vt 0.123774 0.333343 -vt 0.136525 0.328021 -vt 0.123774 0.328021 -vt 0.123774 0.307406 -vt 0.111022 0.315049 -vt 0.135762 0.295245 -vt 0.148513 0.300910 -vt 0.135762 0.300910 -vt 0.110640 0.341155 -vt 0.097888 0.335833 -vt 0.110640 0.335833 -vt 0.097888 0.328183 -vt 0.110640 0.328183 -vt 0.084754 0.294671 -vt 0.072003 0.301741 -vt 0.072003 0.294671 -vt 0.084754 0.287602 -vt 0.072003 0.287602 -vt 0.162029 0.320370 -vt 0.149277 0.328021 -vt 0.149277 0.320370 -vt 0.162029 0.315049 -vt 0.149277 0.315049 -vt 0.135762 0.288220 -vt 0.148513 0.287602 -vt 0.148513 0.289312 -vt 0.123774 0.309384 -vt 0.136525 0.309384 -vt 0.136525 0.310592 -vt 0.149277 0.328021 -vt 0.136525 0.322700 -vt 0.149277 0.322700 -vt 0.136525 0.315049 -vt 0.149277 0.315049 -vt 0.123010 0.294671 -vt 0.110258 0.287602 -vt 0.123010 0.287602 -vt 0.110258 0.301741 -vt 0.123010 0.301741 -vt 0.111022 0.335672 -vt 0.123774 0.328021 -vt 0.123774 0.335672 -vt 0.111022 0.340993 -vt 0.123774 0.340994 -vt 0.123774 0.301741 -vt 0.074702 0.343067 -vt 0.171252 0.315049 -vt 0.046499 0.346540 -vt 0.084754 0.311027 -vt 0.088601 0.301741 -vt 0.097888 0.305587 -vt 0.097888 0.311027 -vt 0.094041 0.314874 -vt 0.162029 0.314713 -vt 0.097888 0.311027 -vt 0.097888 0.305587 -vt 0.101735 0.301741 -vt 0.111022 0.305587 -vt 0.107175 0.314874 -vt 0.059251 0.332325 -vt 0.059251 0.287602 -vt 0.020995 0.329698 -vt 0.094503 0.261470 -vt 0.059727 0.287602 -vt 0.057051 0.283010 -vt 0.064637 0.282011 -vt 0.068525 0.270092 -vt 0.076965 0.262870 -vt 0.062348 0.204561 -vt 0.055375 0.205479 -vt 0.050717 0.211550 -vt 0.051716 0.219136 -vt 0.043282 0.223365 -vt 0.037212 0.218707 -vt 0.025852 0.224623 -vt 0.062961 0.204481 -vt 0.092842 0.223748 -vt 0.074527 0.226159 -vt 0.065372 0.222796 -vt 0.070031 0.216725 -vt 0.075966 0.255283 -vt 0.062226 0.263696 -vt 0.068297 0.268354 -vt 0.054640 0.264695 -vt 0.049981 0.270766 -vt 0.044291 0.260102 -vt 0.040591 0.264923 -vt 0.043292 0.252515 -vt 0.080624 0.249213 -vt 0.075526 0.233745 -vt 0.037221 0.247857 -vt 0.039623 0.237022 -vt 0.038181 0.237212 -vt 0.044281 0.230952 -vt 0.093841 0.231334 -vt 0.057786 0.223794 -vt 0.024977 0.254926 -vt 0.025976 0.262513 -vt 0.024967 0.225777 -vt 0.039633 0.266172 -vt 0.095280 0.260458 -vt 0.046499 0.287602 -vt 0.139741 0.203299 -vt 0.137189 0.198156 -vt 0.101903 0.224080 -vt 0.098458 0.220518 -vt 0.127497 0.210369 -vt 0.128496 0.217955 -vt 0.118021 0.221653 -vt 0.165037 0.237636 -vt 0.164991 0.247033 -vt 0.159069 0.238422 -vt 0.157404 0.248031 -vt 0.152746 0.254102 -vt 0.153745 0.261688 -vt 0.139795 0.262219 -vt 0.145866 0.266877 -vt 0.152999 0.233764 -vt 0.132209 0.263218 -vt 0.128502 0.268049 -vt 0.121625 0.259880 -vt 0.120626 0.252294 -vt 0.152000 0.226177 -vt 0.142153 0.221614 -vt 0.134566 0.222613 -vt 0.120410 0.230306 -vt 0.114556 0.247636 -vt 0.108531 0.248429 -vt 0.108166 0.237375 -vt 0.115752 0.236377 -vt 0.119412 0.222720 -vt 0.170315 0.223766 -vt 0.171018 0.260635 -vt 0.172060 0.259277 -vt 0.134620 0.281533 -vt 0.146865 0.274464 -vt 0.159816 0.266346 -vt 0.098458 0.265241 -vt 0.103310 0.262291 -vt 0.116967 0.265951 -vt 0.127551 0.269289 -vt 0.101097 0.225131 -vt 0.072003 0.332032 -vt 0.097506 0.301741 -vt 0.097506 0.287602 -vt 0.161265 0.300574 -vt 0.084754 0.328182 -vt 0.072003 0.328852 -vt 0.135762 0.287602 -vt 0.149277 0.335095 -vt 0.149277 0.340994 -vt 0.136525 0.340993 -vt 0.110640 0.314874 -vt 0.084754 0.341155 -vt 0.097506 0.294671 -vt 0.097506 0.296126 -vt 0.162029 0.314713 -vt 0.123774 0.301741 -vt 0.123774 0.315049 -vt 0.084754 0.308810 -vt 0.084754 0.315879 -vt 0.072003 0.315879 -vt 0.136525 0.340994 -vt 0.123774 0.315049 -vt 0.148513 0.295245 -vt 0.097888 0.341155 -vt 0.084754 0.301741 -vt 0.162029 0.328021 -vt 0.135762 0.287602 -vt 0.136525 0.315049 -vt 0.123774 0.315049 -vt 0.136525 0.328021 -vt 0.110258 0.294671 -vt 0.111022 0.328021 -vt 0.136525 0.301741 -vt 0.102886 0.620414 -vt 0.095143 0.610218 -vt 0.102886 0.610218 -vt 0.102882 0.591361 -vt 0.095145 0.585065 -vt 0.102883 0.585065 -vt 0.103295 0.597942 -vt 0.111038 0.613415 -vt 0.103295 0.613415 -vt 0.102885 0.559443 -vt 0.095143 0.556600 -vt 0.102886 0.556600 -vt 0.083810 0.567992 -vt 0.078799 0.567298 -vt 0.084219 0.567583 -vt 0.094907 0.605657 -vt 0.097196 0.603474 -vt 0.103121 0.605657 -vt 0.111447 0.580627 -vt 0.103706 0.563086 -vt 0.111447 0.563086 -vt 0.041633 0.616474 -vt 0.041788 0.610829 -vt 0.050039 0.616474 -vt 0.111444 0.580627 -vt 0.103711 0.597942 -vt 0.103709 0.580627 -vt 0.102884 0.580950 -vt 0.095143 0.565814 -vt 0.102885 0.565814 -vt 0.095144 0.576150 -vt 0.102885 0.571051 -vt 0.102885 0.576150 -vt 0.095143 0.571051 -vt 0.103707 0.560917 -vt 0.111446 0.560917 -vt 0.095144 0.580950 -vt 0.058134 0.610829 -vt 0.058134 0.610829 -vt 0.058134 0.610829 -vt 0.058293 0.618978 -vt 0.059642 0.611244 -vt 0.059642 0.618976 -vt 0.111445 0.558556 -vt 0.103709 0.556600 -vt 0.111444 0.556600 -vt 0.103708 0.558556 -vt 0.111443 0.597942 -vt 0.111858 0.581103 -vt 0.111858 0.597942 -vt 0.083810 0.587585 -vt 0.068598 0.587994 -vt 0.068190 0.587585 -vt 0.084219 0.587994 -vt 0.064025 0.598281 -vt 0.064434 0.580871 -vt 0.064434 0.598711 -vt 0.052249 0.600131 -vt 0.057260 0.599437 -vt 0.057669 0.599846 -vt 0.103295 0.581103 -vt 0.103296 0.597942 -vt 0.042048 0.579435 -vt 0.057260 0.579844 -vt 0.041640 0.579844 -vt 0.057669 0.579435 -vt 0.052247 0.610808 -vt 0.057694 0.610598 -vt 0.057949 0.610829 -vt 0.087644 0.610420 -vt 0.085541 0.605905 -vt 0.085906 0.605715 -vt 0.061094 0.557009 -vt 0.058991 0.561524 -vt 0.060809 0.556600 -vt 0.082860 0.601333 -vt 0.082546 0.601596 -vt 0.056310 0.566096 -vt 0.059356 0.561714 -vt 0.079101 0.597569 -vt 0.078837 0.597884 -vt 0.052551 0.569860 -vt 0.055995 0.565833 -vt 0.103295 0.571113 -vt 0.103295 0.565787 -vt 0.094733 0.571113 -vt 0.103295 0.559645 -vt 0.094733 0.559645 -vt 0.094733 0.565787 -vt 0.094733 0.610828 -vt 0.087359 0.610829 -vt 0.068183 0.556601 -vt 0.067774 0.557010 -vt 0.068183 0.593060 -vt 0.068592 0.592775 -vt 0.041633 0.574369 -vt 0.042042 0.574654 -vt 0.111858 0.563086 -vt 0.111858 0.560781 -vt 0.103295 0.563086 -vt 0.111858 0.558326 -vt 0.103295 0.560781 -vt 0.091782 0.591252 -vt 0.093443 0.592699 -vt 0.093233 0.593056 -vt 0.065232 0.576177 -vt 0.066893 0.574730 -vt 0.065525 0.576465 -vt 0.059642 0.619391 -vt 0.059642 0.610829 -vt 0.058293 0.611243 -vt 0.058134 0.610829 -vt 0.086059 0.563510 -vt 0.087425 0.565977 -vt 0.062740 0.599425 -vt 0.058134 0.610829 -vt 0.058134 0.610829 -vt 0.058134 0.610829 -vt 0.058134 0.610829 -vt 0.100832 0.603474 -vt 0.103295 0.605577 -vt 0.078799 0.556699 -vt 0.076336 0.556699 -vt 0.078797 0.556621 -vt 0.094733 0.605577 -vt 0.049786 0.610730 -vt 0.052249 0.610730 -vt 0.084244 0.556831 -vt 0.086380 0.563184 -vt 0.084949 0.560824 -vt 0.085238 0.560542 -vt 0.084723 0.558351 -vt 0.084988 0.558102 -vt 0.084499 0.556600 -vt 0.050190 0.610829 -vt 0.058010 0.613140 -vt 0.050163 0.613140 -vt 0.058057 0.615773 -vt 0.059830 0.604245 -vt 0.058399 0.606605 -vt 0.059508 0.603920 -vt 0.058688 0.606887 -vt 0.058173 0.609078 -vt 0.058438 0.609327 -vt 0.060875 0.601453 -vt 0.061238 0.601828 -vt 0.087788 0.565601 -vt 0.050116 0.615773 -vt 0.058096 0.618580 -vt 0.050078 0.618580 -vt 0.058122 0.621025 -vt 0.050051 0.621025 -vt 0.058134 0.622590 -vt 0.050039 0.622590 -vt 0.090575 0.569148 -vt 0.090984 0.586559 -vt 0.090575 0.586635 -vt 0.059642 0.610856 -vt 0.061091 0.618623 -vt 0.059642 0.618597 -vt 0.063126 0.599828 -vt 0.089676 0.567601 -vt 0.090984 0.568718 -vt 0.049786 0.600131 -vt 0.100832 0.591361 -vt 0.097196 0.596765 -vt 0.097196 0.591361 -vt 0.042060 0.610730 -vt 0.041929 0.600131 -vt 0.100832 0.596765 -vt 0.076336 0.567298 -vt 0.068610 0.556699 -vt 0.047654 0.618901 -vt 0.044018 0.626554 -vt 0.044018 0.618901 -vt 0.095143 0.620414 -vt 0.095146 0.591361 -vt 0.111038 0.597942 -vt 0.095143 0.559443 -vt 0.078787 0.567472 -vt 0.103706 0.580627 -vt 0.049884 0.610829 -vt 0.064025 0.580794 -vt 0.052237 0.599957 -vt 0.052287 0.569545 -vt 0.094324 0.610419 -vt 0.103295 0.558326 -vt 0.092075 0.590964 -vt 0.066683 0.574374 -vt 0.058134 0.619391 -vt 0.094733 0.593216 -vt 0.094733 0.593216 -vt 0.074723 0.594518 -vt 0.090849 0.588929 -vt 0.089290 0.568004 -vt 0.048173 0.572911 -vt 0.064299 0.578500 -vt 0.068183 0.574213 -vt 0.068183 0.574213 -vt 0.058134 0.610829 -vt 0.057984 0.610829 -vt 0.061091 0.610829 -vt 0.068479 0.567298 -vt 0.047654 0.626554 -vt 0.777387 0.822088 -vt 0.768342 0.850356 -vt 0.768342 0.822088 -vt 0.764469 0.850356 -vt 0.755424 0.868396 -vt 0.755424 0.850356 -vt 0.751552 0.861263 -vt 0.726040 0.821286 -vt 0.751552 0.821286 -vt 0.785267 0.870332 -vt 0.776222 0.895844 -vt 0.776222 0.870332 -vt 0.764469 0.819350 -vt 0.755424 0.847618 -vt 0.755424 0.819350 -vt 0.774286 0.870332 -vt 0.776222 0.868396 -vt 0.785267 0.868396 -vt 0.787204 0.870332 -vt 0.774286 0.895844 -vt 0.776222 0.897780 -vt 0.787204 0.895844 -vt 0.785267 0.897780 -vt 0.785267 0.895844 -vt 0.766406 0.820719 -vt 0.768342 0.819350 -vt 0.779323 0.820719 -vt 0.777387 0.819350 -vt 0.753488 0.848987 -vt 0.766406 0.848987 -vt 0.764469 0.847618 -vt 0.696656 0.861263 -vt 0.694719 0.821286 -vt 0.696656 0.821286 -vt 0.753488 0.861263 -vt 0.722167 0.819350 -vt 0.722167 0.821286 -vt 0.751552 0.819350 -vt 0.724104 0.861263 -vt 0.722167 0.861263 -vt 0.726040 0.861263 -vt 0.724104 0.821286 -vt 0.707912 0.901249 -vt 0.694719 0.904414 -vt 0.694719 0.901249 -vt 0.732597 0.899449 -vt 0.732597 0.897775 -vt 0.734329 0.897775 -vt 0.755366 0.870874 -vt 0.755366 0.876199 -vt 0.753488 0.872418 -vt 0.739863 0.878141 -vt 0.739863 0.870610 -vt 0.741741 0.872793 -vt 0.720943 0.887487 -vt 0.720943 0.861263 -vt 0.722821 0.863632 -vt 0.720943 0.861263 -vt 0.718579 0.874456 -vt 0.697089 0.874456 -vt 0.762632 0.892137 -vt 0.774286 0.882808 -vt 0.774286 0.892137 -vt 0.707912 0.895561 -vt 0.694719 0.895561 -vt 0.707912 0.891373 -vt 0.758121 0.881639 -vt 0.758121 0.890968 -vt 0.707912 0.904414 -vt 0.694719 0.910102 -vt 0.707912 0.910102 -vt 0.694719 0.914291 -vt 0.737108 0.907609 -vt 0.737108 0.898281 -vt 0.720943 0.908778 -vt 0.720943 0.899449 -vt 0.922937 0.571867 -vt 0.909745 0.579398 -vt 0.909745 0.571867 -vt 0.883910 0.638676 -vt 0.897102 0.660163 -vt 0.883910 0.660163 -vt 0.872870 0.622999 -vt 0.882198 0.632775 -vt 0.872870 0.634506 -vt 0.909745 0.568424 -vt 0.922937 0.568424 -vt 0.922937 0.568904 -vt 0.922937 0.565889 -vt 0.909745 0.565889 -vt 0.882198 0.634506 -vt 0.872163 0.637236 -vt 0.922937 0.582840 -vt 0.909745 0.582840 -vt 0.909745 0.582361 -vt 0.909745 0.585375 -vt 0.897535 0.611133 -vt 0.906156 0.608403 -vt 0.906863 0.611133 -vt 0.896827 0.608403 -vt 0.896827 0.606671 -vt 0.731383 0.899119 -vt 0.721713 0.899119 -vt 0.925188 0.572507 -vt 0.926232 0.575046 -vt 0.925958 0.575046 -vt 0.754799 0.878678 -vt 0.756160 0.878634 -vt 0.758170 0.880426 -vt 0.753395 0.861264 -vt 0.751517 0.876457 -vt 0.751517 0.861263 -vt 0.763846 0.882478 -vt 0.773516 0.882478 -vt 0.914551 0.560787 -vt 0.913781 0.563326 -vt 0.913506 0.563326 -vt 0.911601 0.613813 -vt 0.909237 0.596896 -vt 0.911601 0.596896 -vt 0.741741 0.876457 -vt 0.753395 0.876460 -vt 0.715619 0.906991 -vt 0.707912 0.899942 -vt 0.708694 0.900243 -vt 0.846680 0.637912 -vt 0.845656 0.640460 -vt 0.845460 0.640268 -vt 0.720943 0.874456 -vt 0.718579 0.891373 -vt 0.694719 0.891373 -vt 0.694719 0.874456 -vt 0.906865 0.596896 -vt 0.909233 0.613813 -vt 0.906863 0.613813 -vt 0.753396 0.872917 -vt 0.753395 0.871039 -vt 0.753396 0.861263 -vt 0.753395 0.902659 -vt 0.742955 0.902328 -vt 0.752625 0.902329 -vt 0.883816 0.637236 -vt 0.883046 0.639775 -vt 0.882772 0.639775 -vt 0.752625 0.900653 -vt 0.773516 0.880806 -vt 0.763846 0.880803 -vt 0.752051 0.876460 -vt 0.752326 0.878824 -vt 0.752051 0.878825 -vt 0.752051 0.878830 -vt 0.751777 0.876460 -vt 0.752051 0.876460 -vt 0.774286 0.892137 -vt 0.771921 0.904996 -vt 0.771921 0.892137 -vt 0.718628 0.891373 -vt 0.716258 0.904232 -vt 0.716258 0.891373 -vt 0.771418 0.892137 -vt 0.769053 0.904996 -vt 0.769050 0.892137 -vt 0.766680 0.904996 -vt 0.769049 0.892137 -vt 0.769050 0.904996 -vt 0.777387 0.850356 -vt 0.764469 0.868396 -vt 0.694719 0.861263 -vt 0.753488 0.821286 -vt 0.696656 0.819350 -vt 0.726040 0.819350 -vt 0.724104 0.821286 -vt 0.724104 0.861263 -vt 0.737059 0.897067 -vt 0.739069 0.895275 -vt 0.740430 0.895319 -vt 0.756049 0.878295 -vt 0.753488 0.874655 -vt 0.754799 0.868396 -vt 0.756160 0.868440 -vt 0.739180 0.867647 -vt 0.740430 0.867105 -vt 0.741741 0.875957 -vt 0.740430 0.881646 -vt 0.739069 0.881583 -vt 0.737059 0.884118 -vt 0.737108 0.885834 -vt 0.732597 0.887487 -vt 0.734329 0.885119 -vt 0.732597 0.861263 -vt 0.737108 0.862916 -vt 0.734329 0.863632 -vt 0.739069 0.867167 -vt 0.737059 0.864632 -vt 0.722821 0.885119 -vt 0.694719 0.861263 -vt 0.762632 0.882808 -vt 0.694719 0.891373 -vt 0.707912 0.914291 -vt 0.732597 0.908778 -vt 0.922937 0.579398 -vt 0.897102 0.638676 -vt 0.882198 0.622999 -vt 0.881491 0.637236 -vt 0.922937 0.585375 -vt 0.896827 0.596896 -vt 0.906156 0.596896 -vt 0.925958 0.584139 -vt 0.925188 0.584469 -vt 0.936842 0.584469 -vt 0.935628 0.584139 -vt 0.760901 0.881134 -vt 0.762632 0.881134 -vt 0.904111 0.572419 -vt 0.902897 0.572750 -vt 0.914551 0.572750 -vt 0.913781 0.572419 -vt 0.909233 0.613813 -vt 0.716258 0.908075 -vt 0.839115 0.646782 -vt 0.838333 0.646481 -vt 0.846680 0.654614 -vt 0.846041 0.653530 -vt 0.720943 0.891373 -vt 0.697089 0.891373 -vt 0.909233 0.596896 -vt 0.741741 0.902658 -vt 0.873377 0.648867 -vt 0.872163 0.649198 -vt 0.883816 0.649199 -vt 0.883046 0.648868 -vt 0.742955 0.900653 -vt 0.752326 0.876460 -vt 0.751777 0.878830 -vt 0.774286 0.904996 -vt 0.718628 0.904232 -vt 0.771418 0.904996 -vt 0.766680 0.892137 -vt 0.083164 0.630290 -vt 0.083164 0.630290 -vt 0.082041 0.625400 -vt 0.120404 0.559998 -vt 0.129526 0.594263 -vt 0.120404 0.594263 -vt 0.093648 0.585046 -vt 0.093639 0.564897 -vt 0.102801 0.564893 -vt 0.151792 0.562340 -vt 0.150467 0.567565 -vt 0.148175 0.565594 -vt 0.155884 0.585037 -vt 0.135139 0.585037 -vt 0.145472 0.583093 -vt 0.093383 0.574885 -vt 0.093633 0.559998 -vt 0.093617 0.594259 -vt 0.079204 0.574879 -vt 0.077750 0.582711 -vt 0.077754 0.574878 -vt 0.084414 0.574881 -vt 0.082960 0.582714 -vt 0.082964 0.574881 -vt 0.089624 0.574884 -vt 0.088170 0.582716 -vt 0.088174 0.574883 -vt 0.114394 0.605178 -vt 0.135139 0.605178 -vt 0.124727 0.607122 -vt 0.135139 0.630219 -vt 0.114394 0.630219 -vt 0.124727 0.625315 -vt 0.114378 0.596017 -vt 0.114394 0.630279 -vt 0.114144 0.615391 -vt 0.110385 0.615393 -vt 0.108931 0.607560 -vt 0.110381 0.607559 -vt 0.105175 0.615395 -vt 0.103721 0.607563 -vt 0.105171 0.607562 -vt 0.098511 0.607565 -vt 0.099965 0.615397 -vt 0.098514 0.615398 -vt 0.155884 0.564188 -vt 0.165006 0.579060 -vt 0.155884 0.579060 -vt 0.105297 0.605729 -vt 0.103593 0.605730 -vt 0.103260 0.604385 -vt 0.150271 0.625757 -vt 0.141149 0.595952 -vt 0.150271 0.595952 -vt 0.093633 0.596026 -vt 0.072888 0.605247 -vt 0.072872 0.594250 -vt 0.155884 0.646502 -vt 0.145426 0.625757 -vt 0.155884 0.625757 -vt 0.145426 0.646502 -vt 0.145426 0.646502 -vt 0.144300 0.641612 -vt 0.127257 0.644281 -vt 0.128050 0.641937 -vt 0.132147 0.644281 -vt 0.129796 0.640184 -vt 0.132136 0.639380 -vt 0.111386 0.644341 -vt 0.109044 0.643543 -vt 0.111386 0.639441 -vt 0.107294 0.641794 -vt 0.106496 0.639452 -vt 0.127257 0.630219 -vt 0.129599 0.639380 -vt 0.127257 0.639380 -vt 0.129599 0.630219 -vt 0.131349 0.639380 -vt 0.112920 0.639441 -vt 0.110588 0.630279 -vt 0.112920 0.630279 -vt 0.110588 0.639441 -vt 0.108246 0.630279 -vt 0.110588 0.630279 -vt 0.108246 0.639441 -vt 0.106496 0.630279 -vt 0.134478 0.648542 -vt 0.132147 0.639380 -vt 0.134478 0.639380 -vt 0.135139 0.630647 -vt 0.144300 0.630647 -vt 0.174128 0.601956 -vt 0.165006 0.594123 -vt 0.174128 0.594123 -vt 0.127257 0.644281 -vt 0.129193 0.653403 -vt 0.127257 0.653403 -vt 0.165006 0.628392 -vt 0.155884 0.636226 -vt 0.155884 0.628392 -vt 0.165006 0.624702 -vt 0.155884 0.625214 -vt 0.155884 0.624702 -vt 0.165006 0.625214 -vt 0.155884 0.626560 -vt 0.165006 0.626560 -vt 0.165006 0.639404 -vt 0.155884 0.639916 -vt 0.155884 0.639404 -vt 0.165006 0.638059 -vt 0.155884 0.638059 -vt 0.165006 0.636226 -vt 0.174128 0.605638 -vt 0.165006 0.605130 -vt 0.174128 0.605130 -vt 0.165006 0.603788 -vt 0.174128 0.603788 -vt 0.165006 0.601956 -vt 0.174128 0.590941 -vt 0.165006 0.590424 -vt 0.174128 0.590424 -vt 0.174128 0.592289 -vt 0.165006 0.590941 -vt 0.165006 0.592289 -vt 0.113322 0.639441 -vt 0.111386 0.648563 -vt 0.111386 0.639441 -vt 0.174128 0.586743 -vt 0.165006 0.578910 -vt 0.174128 0.578910 -vt 0.165006 0.614760 -vt 0.166942 0.623882 -vt 0.165006 0.623882 -vt 0.165006 0.613178 -vt 0.155884 0.621012 -vt 0.155884 0.613178 -vt 0.165006 0.609488 -vt 0.155884 0.610000 -vt 0.155884 0.609488 -vt 0.155884 0.611346 -vt 0.165006 0.610000 -vt 0.165006 0.611346 -vt 0.165006 0.624190 -vt 0.155884 0.624702 -vt 0.155884 0.624190 -vt 0.165006 0.622845 -vt 0.155884 0.622845 -vt 0.165006 0.621012 -vt 0.174128 0.590424 -vt 0.165006 0.589917 -vt 0.174128 0.589917 -vt 0.165006 0.588574 -vt 0.174128 0.588574 -vt 0.165006 0.586743 -vt 0.174128 0.575727 -vt 0.165006 0.575211 -vt 0.174128 0.575211 -vt 0.174128 0.577076 -vt 0.165006 0.575727 -vt 0.165006 0.577076 -vt 0.166942 0.623882 -vt 0.165006 0.633004 -vt 0.165006 0.623882 -vt 0.174128 0.571530 -vt 0.165006 0.563696 -vt 0.174128 0.563696 -vt 0.108432 0.644341 -vt 0.110368 0.653464 -vt 0.108432 0.653464 -vt 0.165006 0.597964 -vt 0.155884 0.605798 -vt 0.155884 0.597964 -vt 0.155884 0.594786 -vt 0.165006 0.594274 -vt 0.165006 0.594786 -vt 0.155884 0.596132 -vt 0.165006 0.596132 -vt 0.165006 0.608976 -vt 0.155884 0.609488 -vt 0.155884 0.608976 -vt 0.165006 0.607631 -vt 0.155884 0.607631 -vt 0.165006 0.605798 -vt 0.174128 0.575211 -vt 0.165006 0.574703 -vt 0.174128 0.574703 -vt 0.165006 0.573361 -vt 0.174128 0.573361 -vt 0.165006 0.571530 -vt 0.174128 0.560514 -vt 0.165006 0.559998 -vt 0.174128 0.559998 -vt 0.174128 0.561863 -vt 0.165006 0.560514 -vt 0.165006 0.561863 -vt 0.166942 0.605638 -vt 0.165006 0.614760 -vt 0.165006 0.605638 -vt 0.165006 0.651448 -vt 0.155884 0.643615 -vt 0.165006 0.643615 -vt 0.106496 0.644341 -vt 0.108432 0.653464 -vt 0.106496 0.653464 -vt 0.155884 0.590584 -vt 0.165006 0.582750 -vt 0.165006 0.590584 -vt 0.155884 0.579572 -vt 0.165006 0.579060 -vt 0.165006 0.579572 -vt 0.155884 0.580918 -vt 0.165006 0.580918 -vt 0.155884 0.582750 -vt 0.165006 0.593762 -vt 0.155884 0.594274 -vt 0.155884 0.593762 -vt 0.165006 0.592417 -vt 0.155884 0.592417 -vt 0.165006 0.655129 -vt 0.155884 0.654622 -vt 0.165006 0.654622 -vt 0.155884 0.653279 -vt 0.165006 0.653279 -vt 0.155884 0.651448 -vt 0.165006 0.640432 -vt 0.155884 0.639916 -vt 0.165006 0.639916 -vt 0.165006 0.641781 -vt 0.155884 0.640432 -vt 0.155884 0.641781 -vt 0.131128 0.644281 -vt 0.129193 0.653403 -vt 0.129193 0.644281 -vt 0.074448 0.585888 -vt 0.074901 0.586400 -vt 0.133414 0.639341 -vt 0.131349 0.630219 -vt 0.133414 0.630219 -vt 0.165006 0.559998 -vt 0.155884 0.562011 -vt 0.155884 0.559998 -vt 0.165006 0.562011 -vt 0.134327 0.630219 -vt 0.124288 0.630219 -vt 0.120801 0.650964 -vt 0.120801 0.630219 -vt 0.127257 0.630219 -vt 0.124288 0.650964 -vt 0.082862 0.651040 -vt 0.080570 0.630295 -vt 0.082862 0.630295 -vt 0.077867 0.630295 -vt 0.080570 0.651040 -vt 0.077867 0.651040 -vt 0.075164 0.630295 -vt 0.075164 0.651040 -vt 0.072872 0.630295 -vt 0.072872 0.651040 -vt 0.096605 0.651024 -vt 0.093633 0.630279 -vt 0.096605 0.630279 -vt 0.100093 0.651024 -vt 0.100093 0.630279 -vt 0.103566 0.651024 -vt 0.103566 0.630279 -vt 0.106496 0.651024 -vt 0.085154 0.630295 -vt 0.082862 0.651040 -vt 0.082862 0.630295 -vt 0.087857 0.630295 -vt 0.085154 0.651040 -vt 0.090560 0.630295 -vt 0.087857 0.651040 -vt 0.092852 0.630295 -vt 0.090560 0.651040 -vt 0.117327 0.630219 -vt 0.114394 0.650964 -vt 0.114394 0.630219 -vt 0.117327 0.650964 -vt 0.072879 0.625396 -vt 0.093633 0.605257 -vt 0.093622 0.630295 -vt 0.129526 0.559998 -vt 0.103924 0.560002 -vt 0.103925 0.560002 -vt 0.114382 0.559998 -vt 0.114394 0.585036 -vt 0.142769 0.565594 -vt 0.140477 0.567565 -vt 0.139230 0.562340 -vt 0.137481 0.564089 -vt 0.140028 0.559998 -vt 0.150994 0.559998 -vt 0.145472 0.564901 -vt 0.153542 0.564089 -vt 0.151998 0.570516 -vt 0.155884 0.564887 -vt 0.152536 0.573997 -vt 0.135139 0.564887 -vt 0.138408 0.573997 -vt 0.138946 0.570516 -vt 0.138946 0.577478 -vt 0.151998 0.577478 -vt 0.150467 0.580429 -vt 0.140477 0.580429 -vt 0.142769 0.582401 -vt 0.148175 0.582401 -vt 0.092926 0.571707 -vt 0.092473 0.571195 -vt 0.092466 0.586408 -vt 0.092919 0.585896 -vt 0.093253 0.584551 -vt 0.093258 0.573053 -vt 0.093380 0.582718 -vt 0.079201 0.582712 -vt 0.084411 0.582714 -vt 0.089620 0.582717 -vt 0.122024 0.607814 -vt 0.119732 0.609786 -vt 0.129722 0.609786 -vt 0.127430 0.607814 -vt 0.131253 0.612737 -vt 0.118201 0.612737 -vt 0.117663 0.616219 -vt 0.131791 0.616219 -vt 0.118201 0.619700 -vt 0.131253 0.619700 -vt 0.129722 0.622651 -vt 0.119732 0.622651 -vt 0.122024 0.624623 -vt 0.127430 0.624623 -vt 0.113680 0.604380 -vt 0.113227 0.603868 -vt 0.113234 0.619081 -vt 0.113686 0.618569 -vt 0.114018 0.617224 -vt 0.114013 0.605725 -vt 0.114140 0.607558 -vt 0.108934 0.615393 -vt 0.103724 0.615396 -vt 0.099961 0.607564 -vt 0.165006 0.564188 -vt 0.098389 0.617231 -vt 0.100092 0.617230 -vt 0.098057 0.618576 -vt 0.100425 0.618575 -vt 0.097604 0.619088 -vt 0.100878 0.619087 -vt 0.094363 0.625837 -vt 0.102814 0.619086 -vt 0.109236 0.625830 -vt 0.098383 0.605732 -vt 0.100087 0.605732 -vt 0.098050 0.604387 -vt 0.100419 0.604386 -vt 0.097597 0.603875 -vt 0.100871 0.603874 -vt 0.095661 0.603876 -vt 0.103599 0.617228 -vt 0.105302 0.617227 -vt 0.103267 0.618574 -vt 0.105635 0.618573 -vt 0.106088 0.619084 -vt 0.108024 0.619084 -vt 0.111298 0.619082 -vt 0.108808 0.617226 -vt 0.110512 0.617225 -vt 0.108477 0.618571 -vt 0.110845 0.618570 -vt 0.111413 0.625829 -vt 0.114097 0.629363 -vt 0.113426 0.627293 -vt 0.102807 0.603873 -vt 0.111291 0.603869 -vt 0.108017 0.603871 -vt 0.095668 0.619089 -vt 0.106081 0.603872 -vt 0.110839 0.604381 -vt 0.110507 0.605727 -vt 0.095215 0.618577 -vt 0.094882 0.617232 -vt 0.108803 0.605728 -vt 0.094755 0.615400 -vt 0.094751 0.607567 -vt 0.108470 0.604382 -vt 0.094877 0.605734 -vt 0.095209 0.604388 -vt 0.105629 0.604384 -vt 0.141149 0.625757 -vt 0.145426 0.625757 -vt 0.131349 0.630219 -vt 0.110588 0.639441 -vt 0.106496 0.639441 -vt 0.132147 0.648542 -vt 0.135139 0.641612 -vt 0.129193 0.644281 -vt 0.165006 0.639916 -vt 0.165006 0.605638 -vt 0.113322 0.648563 -vt 0.166942 0.614760 -vt 0.165006 0.624702 -vt 0.165006 0.590424 -vt 0.166942 0.633004 -vt 0.110368 0.644341 -vt 0.155884 0.594274 -vt 0.165006 0.609488 -vt 0.165006 0.575211 -vt 0.166942 0.614760 -vt 0.108432 0.644341 -vt 0.155884 0.579060 -vt 0.165006 0.594274 -vt 0.155884 0.655129 -vt 0.131128 0.653403 -vt 0.079326 0.584545 -vt 0.077623 0.584544 -vt 0.079658 0.585890 -vt 0.077290 0.585889 -vt 0.080111 0.586402 -vt 0.076837 0.586401 -vt 0.079332 0.573047 -vt 0.077628 0.573046 -vt 0.079665 0.571701 -vt 0.077296 0.571700 -vt 0.080118 0.571190 -vt 0.076844 0.571188 -vt 0.082053 0.571191 -vt 0.088475 0.564447 -vt 0.073603 0.564440 -vt 0.082833 0.584546 -vt 0.084536 0.584547 -vt 0.082500 0.585891 -vt 0.084868 0.585892 -vt 0.082047 0.586403 -vt 0.085321 0.586405 -vt 0.084541 0.573049 -vt 0.082838 0.573048 -vt 0.084875 0.571704 -vt 0.082506 0.571703 -vt 0.085328 0.571192 -vt 0.087263 0.571193 -vt 0.090538 0.571194 -vt 0.089751 0.573051 -vt 0.088048 0.573051 -vt 0.090084 0.571706 -vt 0.087716 0.571705 -vt 0.093336 0.560913 -vt 0.090652 0.564448 -vt 0.092666 0.562984 -vt 0.090531 0.586407 -vt 0.087256 0.586405 -vt 0.074908 0.571187 -vt 0.090078 0.585895 -vt 0.089746 0.584549 -vt 0.074455 0.571699 -vt 0.074122 0.573044 -vt 0.088043 0.584548 -vt 0.073994 0.574877 -vt 0.073991 0.582710 -vt 0.087710 0.585894 -vt 0.074116 0.584542 -vt 0.131349 0.639341 -vt 0.134327 0.639341 -vt 0.127257 0.650964 -vt 0.093633 0.651024 -vt 0.106496 0.630279 -vt 0.092852 0.651040 -vt 0.087484 0.593638 -vt 0.061376 0.574239 -vt 0.087484 0.574239 -vt 0.130865 0.546669 -vt 0.113592 0.543315 -vt 0.139699 0.543315 -vt 0.061376 0.570885 -vt 0.078649 0.532750 -vt 0.078649 0.570885 -vt 0.080776 0.623100 -vt 0.061376 0.596992 -vt 0.080776 0.596992 -vt 0.113592 0.523915 -vt 0.110238 0.570885 -vt 0.110238 0.596992 -vt 0.087484 0.593638 -vt 0.084130 0.623100 -vt 0.139699 0.565404 -vt 0.139700 0.565404 -vt 0.151888 0.562050 -vt 0.061376 0.596992 -vt 0.087484 0.596992 -vt 0.113592 0.584804 -vt 0.113592 0.546669 -vt 0.074705 0.635276 -vt 0.061376 0.624320 -vt 0.062604 0.623100 -vt 0.080357 0.643418 -vt 0.067902 0.643418 -vt 0.073477 0.636496 -vt 0.081585 0.642198 -vt 0.081662 0.629743 -vt 0.097306 0.605555 -vt 0.106351 0.596992 -vt 0.106351 0.609186 -vt 0.106351 0.621379 -vt 0.097306 0.612817 -vt 0.106351 0.609186 -vt 0.153618 0.523915 -vt 0.162453 0.562050 -vt 0.153618 0.562050 -vt 0.113592 0.593638 -vt 0.130865 0.584804 -vt 0.130865 0.593638 -vt 0.078649 0.523915 -vt 0.061376 0.532750 -vt 0.061376 0.523915 -vt 0.087484 0.570885 -vt 0.720444 0.851863 -vt 0.739121 0.844562 -vt 0.739121 0.851863 -vt 0.720444 0.844562 -vt 0.739121 0.838372 -vt 0.720444 0.834236 -vt 0.739121 0.834236 -vt 0.718067 0.858439 -vt 0.715540 0.839717 -vt 0.718067 0.839878 -vt 0.713013 0.858439 -vt 0.713013 0.839878 -vt 0.713013 0.839717 -vt 0.694336 0.843852 -vt 0.694336 0.839717 -vt 0.713013 0.843852 -vt 0.694336 0.850042 -vt 0.713013 0.857343 -vt 0.694336 0.857343 -vt 0.694336 0.864645 -vt 0.713013 0.864645 -vt 0.694336 0.870834 -vt 0.713013 0.870834 -vt 0.694336 0.874970 -vt 0.692150 0.861747 -vt 0.689623 0.843071 -vt 0.692150 0.843071 -vt 0.689623 0.861747 -vt 0.687096 0.843071 -vt 0.720444 0.869490 -vt 0.739121 0.865354 -vt 0.739121 0.869490 -vt 0.159379 0.620330 -vt 0.166274 0.624950 -vt 0.161232 0.624603 -vt 0.720444 0.865354 -vt 0.739121 0.859164 -vt 0.720444 0.859164 -vt 0.093394 0.870181 -vt 0.095027 0.873946 -vt 0.090333 0.869970 -vt 0.432138 0.862141 -vt 0.434433 0.855176 -vt 0.433430 0.862425 -vt 0.430364 0.867958 -vt 0.431577 0.868502 -vt 0.428230 0.871464 -vt 0.429156 0.872481 -vt 0.426639 0.872238 -vt 0.426535 0.873756 -vt 0.424114 0.872134 -vt 0.425170 0.871253 -vt 0.422260 0.867860 -vt 0.423537 0.867488 -vt 0.421257 0.861587 -vt 0.422577 0.861482 -vt 0.421257 0.854269 -vt 0.422577 0.854359 -vt 0.423553 0.847304 -vt 0.422260 0.847019 -vt 0.425327 0.841486 -vt 0.424114 0.840942 -vt 0.427460 0.837980 -vt 0.426535 0.836963 -vt 0.429051 0.837206 -vt 0.429156 0.835688 -vt 0.431577 0.837311 -vt 0.430521 0.838191 -vt 0.433430 0.841584 -vt 0.432154 0.841956 -vt 0.434433 0.847857 -vt 0.433114 0.847962 -vt 0.433114 0.855085 -vt 0.947480 0.872837 -vt 0.948040 0.868558 -vt 0.948040 0.872837 -vt 0.947480 0.868558 -vt 0.948040 0.866785 -vt 0.947480 0.866785 -vt 0.946920 0.868558 -vt 0.946920 0.866785 -vt 0.947480 0.872837 -vt 0.946920 0.872837 -vt 0.946920 0.877117 -vt 0.947480 0.877117 -vt 0.946920 0.878889 -vt 0.110498 0.621957 -vt 0.109284 0.626106 -vt 0.106351 0.625686 -vt 0.948040 0.878889 -vt 0.947480 0.877117 -vt 0.948040 0.877117 -vt 0.944798 0.895945 -vt 0.943081 0.897489 -vt 0.941866 0.895524 -vt 0.061376 0.593638 -vt 0.139699 0.543315 -vt 0.061376 0.623100 -vt 0.139699 0.523915 -vt 0.090838 0.570885 -vt 0.090838 0.532750 -vt 0.099672 0.523915 -vt 0.110238 0.532750 -vt 0.101403 0.523915 -vt 0.113592 0.574239 -vt 0.113592 0.593638 -vt 0.087484 0.574239 -vt 0.090838 0.596992 -vt 0.084130 0.596992 -vt 0.162453 0.588158 -vt 0.165806 0.565404 -vt 0.165807 0.584804 -vt 0.165807 0.565404 -vt 0.143053 0.588158 -vt 0.139699 0.584804 -vt 0.087484 0.574238 -vt 0.162453 0.523915 -vt 0.087484 0.532750 -vt 0.151888 0.523915 -vt 0.720444 0.838372 -vt 0.715540 0.858278 -vt 0.713013 0.850042 -vt 0.713013 0.874970 -vt 0.687096 0.861747 -vt 0.158376 0.614057 -vt 0.170549 0.614895 -vt 0.158376 0.606738 -vt 0.171552 0.607645 -vt 0.159379 0.599489 -vt 0.171552 0.600327 -vt 0.161232 0.593412 -vt 0.170549 0.594053 -vt 0.163654 0.589433 -vt 0.166274 0.588158 -vt 0.168696 0.589780 -vt 0.168696 0.620972 -vt 0.163654 0.626226 -vt 0.095987 0.879952 -vt 0.095987 0.887075 -vt 0.085449 0.886350 -vt 0.095011 0.894131 -vt 0.085449 0.893472 -vt 0.093237 0.899948 -vt 0.091103 0.903454 -vt 0.086410 0.899478 -vt 0.089512 0.904228 -vt 0.088042 0.903244 -vt 0.086425 0.879294 -vt 0.088200 0.873476 -vt 0.091924 0.869196 -vt 0.947480 0.868558 -vt 0.947480 0.878889 -vt 0.107566 0.627650 -vt 0.106351 0.621362 -vt 0.107566 0.617213 -vt 0.109284 0.615669 -vt 0.110498 0.617634 -vt 0.941866 0.891201 -vt 0.946013 0.891796 -vt 0.943081 0.887052 -vt 0.946013 0.887473 -vt 0.944798 0.885508 -vn 0.0000 0.0000 1.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.9241 0.3823 -vn 0.0000 0.3827 0.9239 -vn 0.0000 -0.3827 0.9239 -vn 0.0000 -0.9242 0.3820 -vn 0.0000 0.3842 -0.9233 -vn 0.0000 0.9241 -0.3823 -vn 0.0000 -0.9241 -0.3823 -vn 0.0000 -0.3828 -0.9239 -vn 0.0000 1.0000 0.0000 -vn 1.0000 -0.0016 0.0000 -vn 1.0000 0.0004 0.0000 -vn 1.0000 0.0001 0.0000 -vn 1.0000 0.0016 0.0000 -vn 1.0000 -0.0005 -0.0000 -vn 1.0000 -0.0001 0.0000 -vn -1.0000 0.0017 0.0000 -vn -1.0000 -0.0001 0.0000 -vn -1.0000 0.0001 0.0000 -vn -1.0000 -0.0018 -0.0000 -vn -0.0000 0.9240 0.3824 -vn 0.0000 -0.3822 0.9241 -vn 0.0000 -0.9237 0.3831 -vn 0.0000 0.3824 -0.9240 -vn 0.0000 0.9237 -0.3831 -vn -0.0000 -0.9240 -0.3824 -vn -0.0000 -0.3828 -0.9238 -vn 0.0000 -0.7353 0.6777 -vn 0.0000 -0.6407 -0.7678 -vn 0.0000 -0.1235 -0.9923 -vn 0.0000 0.4443 -0.8959 -vn 0.0000 0.6763 -0.7367 -vn 0.0000 0.7076 0.7066 -vn 0.0000 -0.1180 0.9930 -vn 0.0000 0.4404 0.8978 -vn 0.0000 -0.7353 0.6778 -vn 0.3827 -0.9239 0.0000 -vn 0.9239 -0.3827 0.0000 -vn 0.9239 0.3827 0.0000 -vn 0.3827 0.9239 0.0000 -vn -0.3827 0.9239 0.0000 -vn -0.9239 0.3827 0.0000 -vn -0.9239 -0.3827 0.0000 -vn -0.3827 -0.9239 0.0000 -vn -0.5774 -0.5774 -0.5774 -vn -0.5774 0.5773 -0.5774 -vn -0.7071 -0.7071 0.0000 -vn -0.7071 0.0000 0.7071 -vn -0.7071 0.7071 0.0000 -vn -0.7071 0.0000 -0.7071 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 0.7071 -0.7071 -vn -0.8049 -0.2704 0.5283 -vn -0.8049 0.2704 0.5283 -vn -0.8049 -0.2704 -0.5283 -vn -0.8049 0.2703 -0.5283 -vn 0.8050 -0.2703 0.5282 -vn 0.8049 0.2704 0.5283 -vn 0.8050 -0.2703 -0.5282 -vn 0.8049 0.2703 -0.5283 -vn -0.9480 -0.3184 -0.0000 -vn -0.8360 0.0000 0.5487 -vn -0.9480 0.3184 0.0000 -vn -0.8360 0.0000 -0.5487 -vn 0.0000 -0.4556 -0.8902 -vn 0.0000 0.4556 -0.8902 -vn 0.8360 0.0000 -0.5487 -vn 0.9480 -0.3184 -0.0000 -vn 0.9480 0.3184 0.0000 -vn 0.8360 0.0000 0.5487 -vn 0.0000 -0.4556 0.8902 -vn 0.0000 0.4556 0.8902 -vn -0.8049 0.2703 0.5283 -vn -0.8049 0.2704 -0.5283 -vn 0.8049 -0.2704 0.5283 -vn 0.8049 -0.2704 -0.5283 -vn 0.8049 0.2704 -0.5283 -vn -0.9479 -0.3184 -0.0000 -vn 0.9479 -0.3184 -0.0000 -vn 0.8361 0.0000 -0.5486 -vn 0.8361 0.0000 0.5486 -vn 0.9791 0.2034 0.0000 -vn 0.1221 -0.9925 0.0000 -vn -0.2135 -0.9769 0.0000 -vn -0.2034 0.9791 0.0000 -vn 0.2034 0.9791 0.0000 -vn -0.4070 -0.9134 0.0000 -vn -0.9180 -0.3967 0.0000 -vn -0.9793 -0.2025 0.0000 -vn -0.9791 0.2034 0.0000 -vn -0.9172 0.3984 0.0000 -vn -0.3984 0.9172 0.0000 -vn 0.3984 0.9172 0.0000 -vn 0.9172 0.3984 0.0000 -vn 0.8207 -0.5714 0.0000 -vn 0.2533 -0.9674 0.0000 -vn 0.0000 0.0000 0.0000 -vn -0.0005 0.0000 1.0000 -vn 0.0000 0.7072 0.7070 -vn 0.7070 0.7072 0.0000 -vn -0.7070 0.7072 0.0000 -vn 0.4567 0.8824 -0.1133 -vn -0.0053 0.0000 1.0000 -vn 0.0000 0.0001 1.0000 -vn -0.0105 0.9220 0.3872 -vn -0.0513 0.3807 0.9233 -vn -0.0215 0.3810 0.9243 -vn 0.0068 0.9259 -0.3777 -vn -0.0253 0.9213 0.3880 -vn 0.0201 0.3850 -0.9227 -vn 0.0157 0.9266 -0.3757 -vn 0.0216 -0.3841 -0.9230 -vn 0.0478 0.3859 -0.9213 -vn 0.0103 -0.9257 -0.3781 -vn 0.0515 -0.3849 -0.9215 -vn -0.0165 -0.9210 0.3892 -vn -0.0070 -0.9219 0.3875 -vn -0.0477 -0.3794 0.9240 -vn -0.0201 -0.3804 0.9246 -vn -0.1070 -0.3789 0.9192 -vn -0.0570 0.9209 0.3857 -vn 0.0349 0.9270 -0.3735 -vn 0.1068 0.3865 -0.9161 -vn 0.0555 -0.9268 -0.3715 -vn 0.0246 -0.9265 -0.3755 -vn -0.0367 -0.9206 0.3888 -vn -0.1639 -0.3801 0.9103 -vn -0.1154 0.3803 0.9176 -vn -0.1771 0.3802 0.9078 -vn -0.0877 0.9211 0.3793 -vn 0.0532 0.9265 -0.3724 -vn 0.1154 -0.3851 -0.9156 -vn 0.1634 0.3863 -0.9078 -vn 0.0857 -0.9259 -0.3679 -vn -0.0556 -0.9213 0.3848 -vn -0.2087 -0.3815 0.9005 -vn -0.2262 0.3798 0.8970 -vn -0.1124 0.9212 0.3726 -vn 0.0674 0.9263 -0.3708 -vn 0.1770 -0.3840 -0.9062 -vn 0.2082 0.3866 -0.8985 -vn 0.1104 -0.9249 -0.3638 -vn -0.0698 -0.9221 0.3805 -vn -0.2638 0.3791 0.8869 -vn -0.1318 0.9211 0.3664 -vn 0.0775 0.9261 -0.3693 -vn 0.2638 -0.3809 -0.8862 -vn 0.2261 -0.3826 -0.8958 -vn 0.1301 -0.9238 -0.3600 -vn -0.0796 -0.9230 0.3765 -vn -0.2423 -0.3831 0.8914 -vn -0.2904 0.3781 0.8790 -vn -0.1462 0.9209 0.3613 -vn 0.2418 0.3871 -0.8897 -vn 0.0837 0.9261 -0.3680 -vn 0.2906 -0.3791 -0.8786 -vn 0.1452 -0.9226 -0.3573 -vn -0.0852 -0.9239 0.3730 -vn -0.2654 -0.3849 0.8840 -vn -0.3068 0.3769 0.8740 -vn -0.1560 0.9206 0.3580 -vn 0.2780 0.3888 -0.8784 -vn 0.2651 0.3879 -0.8828 -vn 0.3070 -0.3769 -0.8739 -vn 0.1558 -0.9213 -0.3562 -vn -0.0866 -0.9249 0.3701 -vn -0.2781 -0.3870 0.8792 -vn -0.3124 0.3755 0.8726 -vn -0.1617 0.9201 0.3567 -vn 0.0838 0.9261 -0.3679 -vn 0.0860 0.9261 -0.3674 -vn 0.2802 0.3901 -0.8771 -vn 0.3127 -0.3744 -0.8729 -vn 0.1621 -0.9198 -0.3573 -vn -0.0836 -0.9261 0.3679 -vn -0.2802 -0.3894 0.8774 -vn -0.3062 0.3739 0.8754 -vn -0.1622 0.9197 0.3575 -vn 0.0767 0.9262 -0.3693 -vn 0.2706 0.3914 -0.8795 -vn 0.3066 -0.3717 -0.8763 -vn 0.1635 -0.9181 -0.3609 -vn -0.0755 -0.9274 0.3665 -vn -0.2703 -0.3920 0.8794 -vn -0.2858 0.3724 0.8829 -vn -0.1569 0.9194 0.3606 -vn 0.0637 0.9261 -0.3719 -vn 0.2467 0.3927 -0.8860 -vn 0.2862 -0.3687 -0.8844 -vn 0.1591 -0.9163 -0.3676 -vn -0.0614 -0.9288 0.3655 -vn -0.2463 -0.3948 0.8851 -vn -0.2471 0.3714 0.8950 -vn -0.1440 0.9194 0.3660 -vn 0.0431 0.9257 -0.3758 -vn 0.2043 0.3935 -0.8963 -vn 0.2472 -0.3657 -0.8973 -vn 0.1468 -0.9142 -0.3777 -vn -0.0399 -0.9303 0.3646 -vn -0.2039 -0.3977 0.8946 -vn -0.1831 0.3714 0.9102 -vn -0.1205 0.9201 0.3727 -vn 0.0120 0.9246 -0.3807 -vn 0.1365 0.3932 -0.9093 -vn 0.1823 -0.3632 -0.9137 -vn 0.1232 -0.9121 -0.3911 -vn -0.0086 -0.9318 0.3628 -vn -0.1365 -0.4002 0.9062 -vn -0.0835 0.3735 0.9239 -vn -0.0820 0.9220 0.3785 -vn -0.0338 0.9223 -0.3851 -vn 0.0326 0.3907 -0.9199 -vn 0.0804 -0.3617 -0.9288 -vn 0.0825 -0.9100 -0.4062 -vn 0.0357 -0.9332 0.3576 -vn -0.0344 -0.4017 0.9151 -vn 0.0644 0.3790 0.9231 -vn -0.0234 0.9257 0.3776 -vn -0.0999 0.9181 -0.3835 -vn -0.1198 0.3848 -0.9152 -vn -0.0721 -0.3627 -0.9291 -vn 0.0169 -0.9087 -0.4171 -vn 0.0957 -0.9342 0.3437 -vn 0.1144 -0.4010 0.9089 -vn 0.2678 0.3887 0.8816 -vn 0.0578 0.9312 0.3599 -vn -0.1877 0.9123 -0.3639 -vn -0.3244 0.3751 -0.8684 -vn -0.2799 -0.3672 -0.8870 -vn -0.0785 -0.9088 -0.4097 -vn 0.1703 -0.9344 0.3127 -vn 0.3157 -0.3977 0.8615 -vn 0.5064 0.3996 0.7641 -vn 0.1537 0.9367 0.3147 -vn -0.2837 0.9069 -0.3114 -vn -0.5530 0.3644 -0.7493 -vn -0.5154 -0.3752 -0.7705 -vn -0.1915 -0.9114 -0.3643 -vn 0.2485 -0.9335 0.2586 -vn 0.5471 -0.3926 0.7393 -vn 0.7137 0.4046 0.5717 -vn 0.2438 0.9390 0.2427 -vn -0.3589 0.9051 -0.2280 -vn -0.7459 0.3580 -0.5617 -vn -0.7174 -0.3830 -0.5819 -vn -0.2900 -0.9155 -0.2788 -vn 0.3126 -0.9310 0.1886 -vn 0.7421 -0.3857 0.5482 -vn 0.8396 0.4036 0.3634 -vn 0.3085 0.9377 0.1600 -vn -0.3961 0.9075 -0.1394 -vn -0.8627 0.3587 -0.3564 -vn -0.8435 -0.3870 -0.3725 -vn -0.3508 -0.9191 -0.1794 -vn 0.3522 -0.9284 0.1186 -vn 0.8573 -0.3811 0.3462 -vn 0.8979 0.3981 0.1880 -vn 0.3462 0.9343 0.0854 -vn -0.4042 0.9121 -0.0685 -vn -0.9130 0.3648 -0.1825 -vn -0.9021 -0.3863 -0.1924 -vn -0.3790 -0.9207 -0.0930 -vn 0.3695 -0.9273 0.0605 -vn 0.9071 -0.3815 0.1777 -vn 0.9185 0.3895 0.0685 -vn 0.3685 0.9291 0.0322 -vn -0.3955 0.9182 -0.0231 -vn -0.9251 0.3743 -0.0647 -vn -0.9212 -0.3831 -0.0689 -vn -0.3870 -0.9215 -0.0333 -vn 0.3758 -0.9264 0.0220 -vn 0.9212 -0.3837 0.0643 -vn 0.9232 0.3835 0.0258 -vn 0.3782 0.9256 0.0129 -vn -0.3876 0.9218 -0.0069 -vn -0.9245 0.3805 -0.0221 -vn -0.9246 -0.3802 -0.0238 -vn -0.3885 -0.9214 -0.0109 -vn 0.3764 -0.9264 0.0090 -vn 0.9222 -0.3861 0.0241 -vn -0.2574 0.3698 -0.8927 -vn -0.2574 0.8927 -0.3698 -vn -0.2574 0.3698 0.8928 -vn -0.2575 -0.3698 0.8927 -vn -0.2575 -0.8927 0.3698 -vn -0.2574 -0.8927 -0.3698 -vn -0.2574 -0.8928 -0.3698 -vn -0.2574 -0.3698 -0.8927 -vn -0.2575 -0.3698 -0.8927 -vn -0.2575 0.8927 0.3698 -vn -0.2574 0.8927 0.3698 -vn -0.2574 0.3698 0.8927 -vn 0.2574 -0.8927 0.3698 -vn 0.2574 -0.3698 0.8927 -vn 0.2574 -0.8927 -0.3698 -vn 0.2575 -0.3698 -0.8927 -vn 0.2575 0.3698 -0.8927 -vn -0.2575 0.3698 -0.8927 -vn 0.0000 0.3827 -0.9239 -vn 0.0000 -0.3827 -0.9239 -vn 0.0000 0.9239 -0.3827 -vn 0.0000 0.9239 0.3827 -vn -0.2574 -0.3698 0.8927 -vn 0.0000 -0.9239 0.3827 -vn -0.2575 -0.8927 -0.3698 -vn 0.0000 -0.9239 -0.3827 -vn 0.2575 0.8927 -0.3698 -vn 0.2575 0.8927 0.3698 -vn 0.2574 0.3698 0.8927 -vn 0.2574 0.8927 0.3698 -vn 0.2574 0.8927 -0.3698 -vn 0.2574 -0.3698 0.8928 -vn -0.2574 -0.8927 0.3698 -vn 0.0008 0.9215 0.3883 -vn -0.0355 0.3781 0.9251 -vn -0.0170 0.3785 0.9254 -vn 0.0182 0.9253 -0.3788 -vn 0.0021 0.9211 0.3893 -vn 0.0249 0.3824 -0.9237 -vn 0.0388 0.9253 -0.3772 -vn 0.0352 -0.3874 -0.9212 -vn 0.0168 -0.3868 -0.9220 -vn -0.0029 -0.9263 -0.3769 -vn -0.0011 -0.9262 -0.3771 -vn -0.0390 -0.9219 0.3856 -vn -0.0183 -0.9222 0.3864 -vn -0.0524 -0.3827 0.9224 -vn -0.0248 -0.3828 0.9235 -vn 0.0052 0.9212 0.3891 -vn -0.0922 0.3815 0.9198 -vn -0.0690 0.3793 0.9227 -vn 0.0526 0.3821 -0.9226 -vn 0.0767 0.9239 -0.3748 -vn 0.0684 -0.3872 -0.9195 -vn -0.0064 -0.9255 -0.3788 -vn -0.0771 -0.9212 0.3815 -vn -0.1029 -0.3817 0.9185 -vn 0.0090 0.9216 0.3879 -vn -0.1048 0.3829 0.9178 -vn 0.1030 0.3810 -0.9188 -vn 0.1051 0.9220 -0.3726 -vn 0.0916 -0.3865 -0.9177 -vn -0.0100 -0.9242 -0.3818 -vn -0.1055 -0.9204 0.3764 -vn -0.1395 -0.3803 0.9143 -vn 0.0131 0.9218 0.3875 -vn -0.1106 0.3840 0.9167 -vn 0.1395 0.3795 -0.9146 -vn 0.1234 0.9205 -0.3708 -vn 0.1043 -0.3862 -0.9165 -vn -0.0137 -0.9233 -0.3838 -vn -0.1236 -0.9197 0.3727 -vn -0.1612 -0.3791 0.9112 -vn 0.0175 0.9218 0.3873 -vn -0.1114 0.3849 0.9162 -vn 0.1612 0.3782 -0.9116 -vn 0.1354 0.9193 -0.3696 -vn 0.1103 -0.3861 -0.9158 -vn -0.0178 -0.9226 -0.3853 -vn -0.1354 -0.9190 0.3703 -vn -0.1738 -0.3782 0.9093 -vn 0.0224 0.9218 0.3870 -vn -0.1080 0.3859 0.9162 -vn 0.1738 0.3771 -0.9097 -vn 0.1431 0.9182 -0.3693 -vn 0.1112 -0.3862 -0.9157 -vn -0.0226 -0.9221 -0.3863 -vn -0.1431 -0.9183 0.3690 -vn -0.1799 -0.3773 0.9085 -vn 0.0281 0.9219 0.3864 -vn -0.1008 0.3871 0.9165 -vn 0.1799 0.3761 -0.9090 -vn 0.1478 0.9172 -0.3700 -vn 0.1079 -0.3866 -0.9159 -vn -0.0281 -0.9218 -0.3867 -vn -0.1476 -0.9177 0.3688 -vn -0.1808 -0.3764 0.9087 -vn 0.0348 0.9221 0.3853 -vn -0.0895 0.3886 0.9170 -vn 0.1808 0.3750 -0.9092 -vn 0.1499 0.9162 -0.3717 -vn 0.1771 0.3736 -0.9105 -vn -0.0345 -0.9216 -0.3866 -vn -0.1496 -0.9170 0.3697 -vn -0.1772 -0.3752 0.9099 -vn 0.0426 0.9226 0.3835 -vn -0.0738 0.3906 0.9176 -vn 0.1496 0.9150 -0.3746 -vn 0.1008 -0.3873 -0.9164 -vn 0.1690 0.3719 -0.9128 -vn -0.0421 -0.9216 -0.3858 -vn -0.1492 -0.9163 0.3717 -vn -0.1690 -0.3737 0.9120 -vn 0.0519 0.9233 0.3807 -vn -0.0527 0.3932 0.9179 -vn 0.1470 0.9137 -0.3789 -vn 0.0896 -0.3883 -0.9172 -vn 0.1561 0.3697 -0.9159 -vn -0.0513 -0.9218 -0.3842 -vn -0.1467 -0.9154 0.3749 -vn -0.1561 -0.3719 0.9151 -vn 0.0631 0.9242 0.3767 -vn -0.0248 0.3963 0.9178 -vn 0.1417 0.9121 -0.3847 -vn 0.0740 -0.3898 -0.9179 -vn 0.1374 0.3670 -0.9200 -vn -0.0624 -0.9222 -0.3816 -vn -0.1414 -0.9144 0.3793 -vn -0.1375 -0.3696 0.9190 -vn 0.0767 0.9254 0.3711 -vn 0.0123 0.3999 0.9165 -vn 0.1330 0.9102 -0.3922 -vn 0.0529 -0.3918 -0.9185 -vn 0.1115 0.3637 -0.9248 -vn -0.0760 -0.9228 -0.3778 -vn -0.1330 -0.9132 0.3851 -vn -0.1119 -0.3670 0.9235 -vn 0.0935 0.9269 0.3635 -vn 0.0622 0.4037 0.9128 -vn 0.1197 0.9081 -0.4012 -vn 0.0251 -0.3941 -0.9187 -vn 0.0760 0.3600 -0.9299 -vn -0.0928 -0.9233 -0.3727 -vn -0.1198 -0.9121 0.3920 -vn -0.0764 -0.3644 0.9281 -vn 0.1146 0.9286 0.3530 -vn 0.1307 0.4071 0.9040 -vn 0.0995 0.9058 -0.4118 -vn -0.0118 -0.3967 -0.9179 -vn 0.0266 0.3562 -0.9340 -vn -0.1142 -0.9236 -0.3659 -vn -0.1004 -0.9114 0.3992 -vn -0.0273 -0.3619 0.9318 -vn 0.1413 0.9304 0.3384 -vn 0.2275 0.4094 0.8835 -vn 0.0688 0.9036 -0.4229 -vn -0.0616 -0.3989 -0.9149 -vn -0.0431 0.3530 -0.9346 -vn -0.1422 -0.9233 -0.3567 -vn -0.0714 -0.9114 0.4053 -vn 0.0420 -0.3607 0.9317 -vn 0.1758 0.9321 0.3166 -vn 0.3663 0.4092 0.8357 -vn 0.0212 0.9018 -0.4317 -vn -0.1301 -0.3999 -0.9073 -vn -0.1445 0.3516 -0.9250 -vn -0.1803 -0.9217 -0.3436 -vn -0.0279 -0.9132 0.4066 -vn 0.1423 -0.3623 0.9212 -vn 0.2201 0.9338 0.2822 -vn 0.5571 0.4057 0.7246 -vn -0.0540 0.9011 -0.4302 -vn -0.2273 -0.3981 -0.8887 -vn -0.2940 0.3538 -0.8879 -vn -0.2338 -0.9175 -0.3218 -vn 0.0376 -0.9182 0.3943 -vn 0.2896 -0.3691 0.8831 -vn 0.2721 0.9355 0.2253 -vn 0.7683 0.4010 0.4989 -vn -0.1680 0.9026 -0.3962 -vn -0.3677 -0.3909 -0.8438 -vn -0.5057 0.3616 -0.7833 -vn -0.3078 -0.9097 -0.2786 -vn 0.1306 -0.9278 0.3495 -vn 0.4975 -0.3836 0.7780 -vn 0.3179 0.9376 0.1406 -vn 0.8927 0.3955 0.2161 -vn -0.3071 0.9064 -0.2900 -vn -0.5630 -0.3761 -0.7359 -vn -0.7472 0.3729 -0.5501 -vn -0.3873 -0.9016 -0.1929 -vn 0.2402 -0.9393 0.2451 -vn 0.7370 -0.4002 0.5447 -vn 0.3493 0.9352 0.0579 -vn -0.3885 0.9123 -0.1292 -vn -0.7808 -0.3587 -0.5115 -vn -0.8947 0.3777 -0.2383 -vn -0.9065 -0.3613 -0.2186 -vn -0.4139 -0.9069 -0.0786 -vn 0.3290 -0.9376 0.1128 -vn 0.8860 -0.3968 0.2401 -vn 0.9176 -0.3867 0.0922 -vn 0.9162 0.3921 0.0830 -vn 0.3617 0.9320 0.0246 -vn -0.4005 0.9151 -0.0473 -vn -0.9224 0.3756 -0.0904 -vn -0.9250 -0.3712 -0.0817 -vn -0.4028 -0.9149 -0.0258 -vn 0.3636 -0.9304 0.0466 -vn -0.9615 0.2747 0.0000 -vn -0.3511 0.9363 0.0000 -vn 0.9058 -0.4237 0.0000 -vn 0.8188 -0.5741 0.0000 -vn 0.5741 -0.8188 0.0000 -vn 0.4237 -0.9058 0.0000 -vn 0.9187 0.0179 -0.3946 -vn 0.9379 -0.3314 -0.1024 -vn 0.9947 0.0201 -0.1008 -vn 0.1879 -0.9781 0.0891 -vn 0.1879 -0.9779 -0.0912 -vn 0.1879 -0.9779 0.0912 -vn -0.8619 -0.4974 -0.0985 -vn -0.9122 -0.3977 0.0985 -vn -0.8619 -0.4974 0.0985 -vn -0.9502 -0.2956 0.0985 -vn -0.9763 -0.1927 -0.0985 -vn -0.9763 -0.1927 0.0985 -vn -0.9922 -0.0761 -0.0986 -vn -0.9937 0.0530 0.0986 -vn -0.9922 -0.0761 0.0986 -vn -0.9891 0.1175 -0.0891 -vn -0.9891 0.1175 0.0891 -vn 0.0808 0.9933 0.0828 -vn -0.0002 0.9952 -0.0978 -vn -0.0002 0.9952 0.0978 -vn 0.9187 0.0179 0.3946 -vn 0.9379 -0.3314 0.1024 -vn 0.8630 -0.3049 0.4029 -vn -0.6055 0.7898 -0.0979 -vn -0.7224 0.6845 0.0978 -vn -0.6055 0.7898 0.0979 -vn 0.7564 -0.6465 0.0996 -vn 0.6695 -0.7382 -0.0828 -vn 0.6695 -0.7382 0.0828 -vn 0.8604 0.5001 -0.0978 -vn 0.8837 0.4574 0.0990 -vn 0.8604 0.5001 0.0978 -vn -0.3026 0.9481 -0.0978 -vn -0.4482 0.8885 0.0979 -vn -0.3026 0.9481 0.0978 -vn 0.8184 0.4236 0.3884 -vn 0.9608 0.2582 0.1008 -vn 0.8872 0.2392 0.3946 -vn -0.6122 -0.7854 0.0914 -vn -0.6742 -0.7319 -0.0988 -vn -0.6742 -0.7319 0.0988 -vn -0.1613 0.9820 0.0978 -vn -0.4482 0.8885 -0.0979 -vn -0.7850 -0.6115 0.0989 -vn -0.9502 -0.2956 -0.0985 -vn 0.9634 0.2519 0.0912 -vn 0.9566 0.2744 -0.0979 -vn 0.9566 0.2744 0.0979 -vn 0.9398 0.3275 -0.0979 -vn 0.9398 0.3275 0.0979 -vn 0.9166 0.3877 0.0979 -vn 0.8935 0.4383 -0.0979 -vn 0.8935 0.4383 0.0979 -vn 0.3296 0.1706 0.9286 -vn 0.6686 0.1796 0.7216 -vn 0.3511 0.0933 0.9317 -vn 0.9166 0.3877 -0.0979 -vn 0.1787 -0.9300 0.3212 -vn 0.1779 -0.9257 0.3338 -vn 0.1462 -0.7609 0.6322 -vn 0.1442 -0.7508 0.6446 -vn -0.2126 -0.2284 0.9501 -vn 0.2910 -0.1835 0.9389 -vn -0.0633 -0.0681 0.9957 -vn -0.0633 -0.0681 -0.9957 -vn 0.2910 -0.1835 -0.9389 -vn -0.2126 -0.2284 -0.9501 -vn 0.1442 -0.7508 -0.6446 -vn 0.1462 -0.7609 -0.6322 -vn 0.1779 -0.9257 -0.3338 -vn 0.1787 -0.9300 -0.3212 -vn 0.1879 -0.9781 -0.0891 -vn -0.0928 -0.0183 0.9955 -vn -0.0935 -0.0072 0.9956 -vn 0.0944 0.0329 0.9950 -vn 0.3632 0.0084 0.9317 -vn 0.6427 -0.2282 0.7313 -vn 0.3260 -0.1104 0.9389 -vn 0.6922 0.0141 0.7216 -vn 0.8837 0.4574 -0.0990 -vn 0.0885 0.0026 -0.9961 -vn 0.3268 -0.1098 -0.9387 -vn 0.3632 0.0084 -0.9317 -vn 0.6427 -0.2271 -0.7317 -vn 0.6922 0.0141 -0.7216 -vn 0.8630 -0.3049 -0.4029 -vn 0.3296 0.1706 -0.9286 -vn 0.6686 0.1796 -0.7216 -vn 0.6213 0.3216 -0.7146 -vn 0.0814 0.0421 0.9958 -vn 0.0858 0.0222 0.9961 -vn 0.6213 0.3216 0.7146 -vn 0.0814 0.0421 -0.9958 -vn 0.3511 0.0933 -0.9317 -vn 0.9947 0.0201 0.1008 -vn 0.0956 0.0274 -0.9950 -vn -0.0937 0.0050 -0.9956 -vn -0.0935 -0.0072 -0.9956 -vn 0.8872 0.2392 -0.3946 -vn 0.8184 0.4236 -0.3884 -vn 0.9608 0.2582 -0.1008 -vn 0.0538 0.0546 0.9971 -vn 0.2291 0.1172 0.9663 -vn 0.5328 -0.4523 0.7153 -vn 0.6997 -0.5980 0.3909 -vn 0.0553 0.0553 -0.9969 -vn 0.0813 -0.0237 -0.9964 -vn 0.2289 0.1035 -0.9679 -vn 0.5294 -0.4524 -0.7177 -vn 0.6997 -0.5980 -0.3909 -vn 0.6431 -0.7091 0.2891 -vn 0.5340 -0.5889 0.6067 -vn 0.5349 -0.5898 -0.6051 -vn 0.6431 -0.7091 -0.2891 -vn 0.7564 -0.6465 -0.0996 -vn -0.0465 0.0923 0.9946 -vn -0.1182 0.3705 0.9213 -vn -0.1762 0.3492 0.9203 -vn -0.2160 0.6768 0.7038 -vn -0.3204 0.6352 0.7028 -vn -0.2812 0.8810 0.3805 -vn -0.4166 0.8259 0.3799 -vn -0.0465 0.0923 -0.9946 -vn -0.1182 0.3705 -0.9213 -vn -0.0310 0.0970 -0.9948 -vn -0.1762 0.3492 -0.9203 -vn -0.2160 0.6768 -0.7038 -vn -0.3204 0.6352 -0.7028 -vn -0.2812 0.8810 -0.3805 -vn -0.4166 0.8259 -0.3799 -vn -0.2380 0.3104 0.9203 -vn -0.0657 0.0796 0.9947 -vn -0.4328 0.5646 0.7028 -vn -0.5628 0.7341 0.3800 -vn -0.2378 0.3113 -0.9201 -vn -0.4328 0.5646 -0.7028 -vn -0.5628 0.7341 -0.3800 -vn -0.2652 0.2442 0.9328 -vn -0.0850 -0.0335 0.9958 -vn -0.5157 0.4886 0.7038 -vn -0.6713 0.6361 0.3805 -vn -0.1045 0.0042 -0.9945 -vn -0.0615 0.0822 -0.9947 -vn -0.5157 0.4886 -0.7038 -vn -0.6713 0.6361 -0.3805 -vn -0.7224 0.6845 -0.0978 -vn -0.7244 0.6023 0.3354 -vn -0.5868 0.4878 0.6463 -vn -0.3381 -0.0348 0.9405 -vn -0.3459 -0.0373 -0.9375 -vn -0.2843 0.2676 -0.9206 -vn -0.5868 0.4878 -0.6463 -vn -0.7244 0.6023 -0.3354 -vn -0.0633 0.3851 0.9207 -vn -0.0166 0.1014 0.9947 -vn -0.0001 0.7110 0.7032 -vn -0.1152 0.7016 0.7032 -vn -0.0002 0.9249 0.3801 -vn -0.1499 0.9127 0.3801 -vn -0.0166 0.1014 -0.9947 -vn 0.0066 0.3919 -0.9200 -vn -0.0633 0.3851 -0.9207 -vn 0.0028 0.7092 -0.7050 -vn -0.1499 0.9127 -0.3801 -vn -0.0002 0.9249 -0.3801 -vn 0.0776 0.9541 0.2891 -vn 0.0644 0.7923 0.6067 -vn -0.0001 0.3902 0.9207 -vn 0.0641 0.7885 -0.6117 -vn 0.0776 0.9541 -0.2891 -vn 0.0808 0.9933 -0.0828 -vn -0.1152 0.7016 -0.7032 -vn -0.1613 0.9820 -0.0978 -vn -0.2942 -0.2292 0.9279 -vn -0.0731 -0.0569 0.9957 -vn -0.4748 -0.5154 0.7134 -vn -0.5528 -0.4307 0.7134 -vn -0.6246 -0.6781 0.3874 -vn -0.7273 -0.5666 0.3874 -vn -0.0730 -0.0570 -0.9957 -vn -0.2576 -0.2767 -0.9258 -vn -0.5528 -0.4307 -0.7134 -vn -0.4748 -0.5154 -0.7134 -vn -0.6246 -0.6781 -0.3874 -vn -0.7850 -0.6115 -0.0989 -vn -0.5792 -0.7430 0.3354 -vn -0.4691 -0.6018 0.6463 -vn -0.2526 -0.2742 0.9279 -vn -0.4691 -0.6018 -0.6463 -vn -0.5792 -0.7430 -0.3354 -vn -0.6122 -0.7854 -0.0914 -vn -0.0818 -0.0472 0.9955 -vn -0.3449 -0.1504 0.9265 -vn -0.0865 -0.0377 0.9955 -vn -0.3259 -0.1880 0.9265 -vn -0.6445 -0.2810 0.7111 -vn -0.6089 -0.3514 0.7111 -vn -0.8458 -0.3687 0.3857 -vn -0.7991 -0.4612 0.3856 -vn -0.0865 -0.0377 -0.9955 -vn -0.3259 -0.1880 -0.9265 -vn -0.0818 -0.0472 -0.9955 -vn -0.3449 -0.1504 -0.9265 -vn -0.6089 -0.3514 -0.7111 -vn -0.6445 -0.2810 -0.7111 -vn -0.7991 -0.4612 -0.3857 -vn -0.8458 -0.3687 -0.3857 -vn -0.2942 -0.2292 -0.9279 -vn -0.7273 -0.5666 -0.3874 -vn -0.0903 -0.0281 0.9955 -vn -0.3694 -0.0729 0.9264 -vn -0.3596 -0.1119 0.9264 -vn -0.6900 -0.1362 0.7109 -vn -0.6715 -0.2089 0.7109 -vn -0.9053 -0.1787 0.3855 -vn -0.0903 -0.0281 -0.9955 -vn -0.3694 -0.0729 -0.9264 -vn -0.3596 -0.1119 -0.9264 -vn -0.6715 -0.2089 -0.7109 -vn -0.6900 -0.1362 -0.7109 -vn -0.8811 -0.2741 -0.3855 -vn -0.9053 -0.1787 -0.3855 -vn -0.8811 -0.2741 0.3855 -vn -0.9122 -0.3977 -0.0985 -vn -0.3746 0.0200 0.9270 -vn -0.0937 0.0050 0.9956 -vn -0.3740 -0.0287 0.9270 -vn -0.7013 0.0374 0.7118 -vn -0.7003 -0.0537 0.7118 -vn -0.9211 0.0491 0.3862 -vn -0.3740 -0.0287 -0.9270 -vn -0.3746 0.0200 -0.9270 -vn -0.7003 -0.0537 -0.7118 -vn -0.7013 0.0374 -0.7118 -vn -0.9197 -0.0705 -0.3862 -vn -0.9937 0.0530 -0.0986 -vn -0.9197 -0.0705 0.3862 -vn -0.9404 0.1117 0.3212 -vn -0.7694 0.0914 0.6322 -vn -0.7694 0.0914 -0.6322 -vn -0.9211 0.0491 -0.3862 -vn -0.9404 0.1117 -0.3212 -vn -0.0928 -0.0183 -0.9955 -vn 0.3702 0.1062 0.9229 -vn 0.3645 0.1270 0.9225 -vn 0.6810 0.1953 0.7057 -vn 0.6695 0.2333 0.7053 -vn 0.8884 0.2548 0.3817 -vn 0.8729 0.3042 0.3814 -vn 0.0944 0.0329 -0.9950 -vn 0.3702 0.1062 -0.9229 -vn 0.3645 0.1270 -0.9225 -vn 0.6810 0.1953 -0.7057 -vn 0.6695 0.2333 -0.7053 -vn 0.8884 0.2548 -0.3817 -vn 0.8729 0.3042 -0.3814 -vn 0.3555 0.1503 0.9225 -vn 0.0921 0.0389 0.9950 -vn 0.6529 0.2762 0.7053 -vn 0.8514 0.3601 0.3814 -vn 0.3555 0.1503 -0.9225 -vn 0.6529 0.2762 -0.7053 -vn 0.8514 0.3601 -0.3814 -vn 0.3457 0.1696 0.9229 -vn 0.0893 0.0438 0.9950 -vn 0.6361 0.3120 0.7057 -vn 0.8298 0.4071 0.3817 -vn 0.0921 0.0389 -0.9950 -vn 0.3457 0.1696 -0.9229 -vn 0.6361 0.3120 -0.7057 -vn 0.8298 0.4071 -0.3817 -vn 0.9120 0.2385 0.3338 -vn 0.7396 0.1934 0.6446 -vn 0.0865 -0.0545 0.9948 -vn 0.0865 -0.0545 -0.9948 -vn 0.7396 0.1934 -0.6446 -vn 0.9120 0.2385 -0.3338 -vn 0.9634 0.2519 -0.0912 -vn 0.0872 0.0507 0.9949 -vn 0.3348 0.1946 0.9220 -vn 0.6135 0.3566 0.7046 -vn 0.7994 0.4646 0.3810 -vn 0.0872 0.0507 -0.9949 -vn 0.0893 0.0438 -0.9950 -vn 0.3348 0.1946 -0.9220 -vn 0.6135 0.3566 -0.7046 -vn 0.7994 0.4646 -0.3810 -vn -0.7657 0.6366 -0.0914 -vn -0.7657 0.6366 0.0914 -vn 0.0858 0.0222 -0.9961 -vn 0.0885 0.0026 0.9961 -vn 0.0813 -0.0237 0.9964 -vn -0.0310 0.0970 0.9948 -vn 0.0956 0.0274 0.9950 -vn -0.1136 -0.9935 0.0000 -vn -0.2678 -0.9635 0.0000 -vn 0.9999 0.0149 0.0000 -vn 0.9211 -0.3894 0.0000 -vn -0.4576 -0.8892 0.0000 -vn -0.6770 -0.7360 0.0000 -vn -0.8990 -0.4380 0.0000 -vn -0.9754 -0.2206 0.0000 -vn 0.9754 0.2206 0.0000 -vn 0.0901 -0.9959 0.0000 -vn 0.3510 -0.9364 0.0000 -vn 0.6687 -0.7436 0.0000 -vn 0.2678 0.9635 0.0000 -vn 0.1136 0.9935 0.0000 -vn -0.9211 0.3894 0.0000 -vn -0.9999 -0.0149 0.0000 -vn 0.4576 0.8892 0.0000 -vn 0.6770 0.7360 0.0000 -vn 0.8990 0.4380 0.0000 -vn -0.0901 0.9959 0.0000 -vn -0.3510 0.9364 0.0000 -vn -0.6687 0.7436 0.0000 -vn 0.1077 0.9942 0.0000 -vn -0.0989 0.9951 0.0000 -vn -0.6493 -0.7605 -0.0000 -vn -0.5768 -0.8169 -0.0000 -vn -0.8381 -0.5456 0.0000 -vn -0.9052 -0.4251 0.0000 -vn -0.8595 -0.5112 0.0000 -vn 0.0614 -0.9981 0.0000 -vn -0.1469 -0.9892 0.0000 -vn 0.9303 -0.3669 0.0000 -vn 0.6728 -0.7399 0.0000 -vn -0.6886 -0.7251 0.0000 -vn -0.4823 -0.8760 0.0000 -vn 0.9992 0.0388 0.0000 -vn 0.3355 -0.9421 0.0000 -vn -0.2997 -0.9540 0.0000 -vn -0.8967 -0.4427 0.0000 -vn -0.9711 -0.2386 0.0000 -vn 0.9711 0.2385 0.0000 -vn -0.6886 -0.7252 0.0000 -vn 0.1753 0.0000 -0.9845 -vn 0.1007 -0.2487 0.9633 -vn 0.0150 -0.3039 0.9526 -vn 0.0216 -0.3027 0.9528 -vn -0.1617 -0.1112 -0.9806 -vn -0.1509 -0.0818 -0.9852 -vn -0.1696 -0.0749 -0.9827 -vn -0.1485 -0.1644 -0.9751 -vn -0.1660 -0.0893 -0.9821 -vn -0.1431 -0.1793 0.9733 -vn -0.1374 -0.1945 0.9712 -vn -0.1617 -0.1112 0.9805 -vn -0.1486 -0.1644 0.9751 -vn -0.1509 -0.0818 0.9852 -vn -0.1660 -0.0893 0.9821 -vn 0.0216 -0.3026 -0.9529 -vn -0.0398 -0.3019 -0.9525 -vn 0.0150 -0.3038 -0.9526 -vn 0.1372 -0.1838 0.9733 -vn 0.1510 -0.1465 0.9776 -vn -0.1273 -0.2114 -0.9691 -vn -0.1461 -0.1695 -0.9746 -vn -0.1144 -0.2334 -0.9656 -vn -0.0306 -0.0833 0.9961 -vn 0.0000 -0.0777 0.9970 -vn 0.2040 0.0182 -0.9788 -vn 0.2122 0.0521 -0.9758 -vn 0.2026 0.0008 -0.9793 -vn 0.1728 -0.0618 -0.9830 -vn 0.1509 -0.1465 -0.9776 -vn 0.1688 -0.0749 -0.9828 -vn 0.1007 -0.2486 -0.9634 -vn 0.0000 -0.3127 -0.9498 -vn -0.1737 -0.0427 -0.9839 -vn -0.1813 -0.1087 -0.9774 -vn -0.1809 -0.0956 -0.9788 -vn 0.2040 0.0182 0.9788 -vn 0.1729 -0.0618 0.9830 -vn 0.2027 0.0008 0.9792 -vn 0.1689 -0.0749 0.9828 -vn 0.0000 0.3127 -0.9499 -vn -0.1545 -0.1503 -0.9765 -vn -0.0398 -0.3020 0.9525 -vn -0.1813 -0.1087 0.9774 -vn -0.1545 -0.1503 0.9765 -vn -0.1461 -0.1696 0.9746 -vn -0.1737 -0.0427 0.9839 -vn -0.1810 -0.0956 0.9788 -vn -0.1144 -0.2335 0.9656 -vn -0.0903 -0.2661 0.9597 -vn -0.0792 -0.2771 0.9576 -vn 0.1754 0.0000 0.9845 -vn -0.0486 -0.2979 0.9534 -vn -0.1373 -0.1945 -0.9712 -vn -0.1430 -0.1792 -0.9734 -vn 0.1372 -0.1837 -0.9734 -vn 0.0000 0.3128 0.9498 -vn 0.0000 -0.3128 0.9498 -vn 0.2123 0.0521 0.9758 -vn -0.1273 -0.2114 0.9691 -vn -0.0486 -0.2978 -0.9534 -vn -0.0791 -0.2770 -0.9576 -vn -0.0306 -0.0833 -0.9961 -vn 0.0000 -0.0777 -0.9970 -vn -0.0903 -0.2660 -0.9597 -vn 0.0800 -0.2713 0.9592 -vn -0.1697 -0.0750 0.9826 -vn 0.0799 -0.2712 -0.9592 -vn 0.8793 -0.4763 0.0000 -vn 0.9059 0.4235 0.0000 -vn -0.9999 -0.0172 0.0000 -vn -0.9818 -0.1899 0.0000 -vn -0.9458 0.3247 0.0000 -vn -0.9141 0.4056 0.0000 -vn 0.9554 -0.2953 0.0000 -vn 0.9865 -0.1639 0.0000 -vn 0.9944 0.1054 0.0000 -vn 0.9712 0.2384 0.0000 -vn -0.6561 0.7547 0.0000 -vn -0.6561 0.7547 0.0002 -vn -0.9877 0.1561 0.0000 -vn -0.7547 -0.6561 -0.0001 -vn -0.7547 -0.6561 0.0001 -vn -0.7547 -0.6561 0.0000 -vn -0.2000 -0.0034 -0.9798 -vn -0.4692 -0.0908 -0.8784 -vn -0.1964 -0.0380 -0.9798 -vn -0.7345 -0.0126 -0.6785 -vn -0.7212 -0.1395 -0.6786 -vn -0.1965 -0.0380 0.9798 -vn -0.4778 -0.0082 0.8784 -vn -0.2001 -0.0034 0.9798 -vn -0.4692 -0.0908 0.8784 -vn -0.7345 -0.0126 0.6785 -vn -0.7076 -0.2020 0.6772 -vn -0.4112 -0.1174 0.9040 -vn -0.1931 -0.0551 0.9796 -vn -0.4111 -0.1174 -0.9040 -vn -0.1931 -0.0551 -0.9796 -vn -0.7076 -0.2020 -0.6772 -vn -0.1892 0.0650 -0.9798 -vn -0.4720 0.0746 -0.8784 -vn -0.1976 0.0312 -0.9798 -vn -0.4520 0.1552 -0.8784 -vn -0.7255 0.1147 -0.6786 -vn -0.1976 0.0312 0.9798 -vn -0.4520 0.1552 0.8784 -vn -0.1893 0.0650 0.9798 -vn -0.4720 0.0746 0.8784 -vn -0.6947 0.2385 0.6786 -vn -0.3908 0.1734 0.9040 -vn -0.1836 0.0815 0.9796 -vn -0.6726 0.2985 0.6772 -vn -0.3908 0.1734 -0.9040 -vn -0.6726 0.2985 -0.6772 -vn -0.6947 0.2385 -0.6786 -vn -0.7255 0.1147 0.6785 -vn -0.4778 -0.0082 -0.8784 -vn -0.9616 -0.2745 0.0000 -vn -0.6561 0.7547 -0.0002 -vn -0.7547 -0.6560 -0.0002 -vn -0.7212 -0.1395 0.6786 -vn -0.1835 0.0814 -0.9796 -vn 0.0000 0.8660 -0.5000 -vn 0.0000 -0.8660 -0.5000 -vn 0.0000 -0.8660 0.5000 -vn 0.0000 0.8660 0.5000 -vn 0.0000 0.7071 0.7071 -vn 0.0000 -0.7071 0.7071 -vn -0.0000 -0.3826 0.9239 -vn 1.0000 -0.0058 0.0000 -vn -0.0013 1.0000 0.0000 -vn 0.5701 0.0301 0.8210 -vn 0.5867 0.0331 0.8091 -vn 0.5697 0.0300 0.8213 -vn 0.9959 0.0905 0.0000 -vn 0.9975 0.0708 0.0000 -vn -0.0515 -0.9987 -0.0000 -vn -0.9999 0.0144 0.0000 -vn -1.0000 0.0037 0.0000 -vn 0.1880 -0.9015 0.3898 -vn 0.2174 -0.9760 -0.0087 -vn 0.1880 -0.9015 -0.3898 -vn -0.0133 0.9999 0.0000 -vn 0.1133 0.9936 0.0000 -vn 0.9030 0.4297 -0.0000 -vn 0.9611 0.2761 -0.0000 -vn 0.4180 0.9085 0.0000 -vn 0.7119 0.7023 0.0000 -vn -0.2339 -0.9723 -0.0000 -vn -0.8379 -0.4658 0.2844 -vn -0.9282 -0.3720 0.0000 -vn -0.4954 -0.8686 -0.0000 -vn -0.8379 -0.4658 -0.2844 -vn 0.2174 -0.9760 0.0087 -vn 0.1093 -0.5233 0.8451 -vn 0.2309 -0.9730 0.0000 -vn -0.5897 -0.0000 0.8076 -vn -0.5898 0.0000 0.8076 -vn -0.0000 0.5897 0.8076 -vn 0.0000 -0.5905 -0.8070 -vn -0.0280 -0.5871 -0.8090 -vn 0.5867 0.0331 -0.8091 -vn 0.5701 0.0301 -0.8210 -vn 0.5697 0.0300 -0.8213 -vn 0.1093 -0.5233 -0.8451 -vn -0.5898 0.0000 -0.8076 -vn -0.5897 0.0000 -0.8076 -vn -0.0000 0.5897 -0.8076 -vn -0.5903 -0.0143 -0.8070 -vn -0.5829 -0.0140 -0.8124 -vn -0.5828 -0.0140 -0.8125 -vn -0.0078 0.5920 0.8059 -vn 0.0666 0.5844 0.8087 -vn 0.0667 0.5844 0.8087 -vn -0.0078 0.5920 -0.8059 -vn 0.0666 0.5844 -0.8087 -vn 0.2420 0.5391 0.8067 -vn 0.2531 0.5346 0.8063 -vn 0.2420 0.5391 -0.8067 -vn 0.0667 0.5844 -0.8087 -vn 0.4227 0.4118 0.8073 -vn 0.4169 0.4180 0.8071 -vn 0.4227 0.4118 -0.8073 -vn 0.2531 0.5346 -0.8063 -vn 0.5320 0.2498 0.8091 -vn 0.5298 0.2532 0.8094 -vn 0.5320 0.2498 -0.8091 -vn 0.4169 0.4180 -0.8071 -vn 0.5873 0.1686 0.7916 -vn 0.5879 0.1689 0.7911 -vn 0.5873 0.1686 -0.7916 -vn 0.5298 0.2532 -0.8094 -vn 0.7318 -0.0045 0.6815 -vn 0.5932 -0.0124 0.8049 -vn 0.7352 -0.0043 0.6779 -vn 0.7318 -0.0045 -0.6815 -vn 0.5932 -0.0124 -0.8049 -vn 0.5848 -0.0128 -0.8111 -vn -0.0008 0.5899 0.8075 -vn -0.0007 0.5898 0.8076 -vn -0.0007 0.5898 -0.8076 -vn -0.0008 0.5899 -0.8075 -vn -0.0331 -0.5889 0.8075 -vn -0.1333 -0.5868 0.7987 -vn -0.1554 -0.5819 0.7983 -vn -0.0331 -0.5889 -0.8075 -vn -0.1333 -0.5868 -0.7987 -vn -0.2905 -0.5280 0.7980 -vn -0.3107 -0.5161 0.7982 -vn -0.1554 -0.5819 -0.7983 -vn -0.2905 -0.5280 -0.7980 -vn -0.3829 -0.4770 0.7911 -vn -0.3853 -0.4786 0.7890 -vn -0.3107 -0.5161 -0.7982 -vn -0.3829 -0.4770 -0.7911 -vn -0.9278 -0.3321 0.1700 -vn -0.9278 -0.3321 -0.1700 -vn -0.6209 -0.0664 -0.7811 -vn 0.4809 0.5163 0.7087 -vn -0.4969 0.5110 0.7014 -vn 0.4809 0.5163 -0.7087 -vn -0.4969 0.5110 -0.7014 -vn 0.0000 0.5888 0.8083 -vn -0.5903 -0.0143 0.8070 -vn -0.5830 -0.0140 0.8124 -vn -0.5906 -0.0143 0.8069 -vn -0.1972 -0.4223 0.8847 -vn -0.1352 -0.4686 0.8730 -vn -0.0964 -0.4979 0.8619 -vn -0.0814 -0.5037 0.8600 -vn -0.1114 -0.4813 0.8694 -vn -0.1436 -0.4562 0.8782 -vn -0.1435 -0.4561 0.8783 -vn -0.7243 -0.6895 -0.0000 -vn -0.5982 -0.8013 -0.0000 -vn -0.4505 -0.8928 -0.0000 -vn -0.1972 -0.4223 -0.8847 -vn -0.1351 -0.4685 -0.8731 -vn -0.2052 -0.4160 -0.8859 -vn -0.0964 -0.4978 -0.8619 -vn -0.0814 -0.5037 -0.8600 -vn -0.1114 -0.4813 -0.8694 -vn -0.1435 -0.4562 -0.8782 -vn -0.2680 -0.3636 -0.8922 -vn -0.2602 -0.3705 -0.8916 -vn -0.2052 -0.4160 0.8859 -vn -0.2602 -0.3705 0.8916 -vn -0.2515 -0.9679 -0.0000 -vn -0.2074 -0.9783 0.0000 -vn -0.3098 -0.9508 0.0000 -vn 0.0000 -0.5905 0.8070 -vn -0.0281 -0.5871 0.8090 -vn -0.7604 -0.6495 -0.0000 -vn -0.3356 -0.2996 -0.8931 -vn -0.3197 -0.3146 -0.8938 -vn -0.3197 -0.3144 -0.8938 -vn -0.3356 -0.2996 0.8931 -vn -0.3197 -0.3146 0.8938 -vn -0.3358 -0.3000 0.8929 -vn 0.0000 0.5888 -0.8083 -vn -0.0124 0.9999 0.0000 -vn 0.5879 0.0333 0.8083 -vn 0.9947 0.1030 0.0000 -vn -0.9995 0.0316 0.0000 -vn 0.5879 0.0333 -0.8083 -vn -0.5906 -0.0143 -0.8069 -vn 0.5879 0.1689 -0.7911 -vn 0.5848 -0.0128 0.8111 -vn 0.7352 -0.0043 -0.6779 -vn -0.3853 -0.4786 -0.7890 -vn -0.6209 -0.0664 0.7811 -vn -0.5829 -0.0140 0.8124 -vn -0.1435 -0.4561 -0.8783 -vn -0.2680 -0.3636 0.8922 -vn -0.3197 -0.3144 0.8938 -vn 0.0000 -0.5905 0.8071 -vn -0.3358 -0.3000 -0.8929 -vn -0.5773 -0.5774 0.5773 -vn -0.5774 0.5773 0.5774 -vn -0.5774 -0.5774 -0.5773 -vn 0.5773 -0.5774 0.5773 -vn 0.5774 0.5774 0.5773 -vn 0.5774 -0.5774 -0.5773 -vn 0.5774 0.5774 -0.5773 -vn 0.7071 0.0000 -0.7071 -vn 0.7071 -0.7071 0.0000 -vn 0.7071 0.7071 0.0000 -vn 0.7071 -0.0000 0.7071 -vn 0.0000 0.9936 -0.1130 -vn 0.0000 0.9936 0.1130 -vn 0.0000 0.1747 -0.9846 -vn 0.0000 0.9011 -0.4336 -vn 0.0000 0.5857 -0.8105 -vn 0.0000 0.9011 0.4336 -vn 0.0000 0.5857 0.8105 -vn 0.0000 0.1747 0.9846 -vn 0.0000 -0.9936 0.1130 -vn 0.0000 -0.9936 -0.1130 -vn 0.0000 -0.1747 0.9846 -vn -0.0000 -0.9011 0.4336 -vn -0.0000 -0.9745 0.2245 -vn 0.0000 -0.5857 0.8105 -vn 0.0000 -0.9011 -0.4336 -vn 0.0000 -0.9745 -0.2245 -vn 0.0000 -0.5857 -0.8105 -vn -0.0000 -0.1747 -0.9846 -vn 0.5673 0.8235 0.0000 -vn -0.0001 -0.0003 1.0000 -vn 0.0000 -0.0003 1.0000 -vn 0.0001 -0.0003 1.0000 -vn -0.0000 -0.0004 1.0000 -vn 0.0000 0.0001 -1.0000 -vn -0.0000 0.0002 -1.0000 -vn -0.5899 -0.8075 0.0000 -vn -0.5899 -0.8074 0.0000 -vn 0.9999 0.0132 0.0000 -vn 0.9999 0.0133 0.0000 -vn -1.0000 -0.0088 0.0000 -vn -1.0000 -0.0086 0.0000 -vn 1.0000 0.0086 0.0000 -vn 1.0000 0.0088 0.0000 -vn -0.9599 0.2804 0.0000 -vn -0.9945 0.1051 0.0000 -vn -0.9943 0.1062 0.0000 -vn 0.0000 0.5521 0.8338 -vn 0.0000 0.5784 -0.8157 -vn -0.3887 -0.3703 -0.8437 -vn -0.3799 -0.5587 -0.7372 -vn -0.3736 -0.7375 -0.5627 -vn -0.3442 -0.8385 -0.4225 -vn -0.3268 -0.9136 -0.2418 -vn -0.3268 -0.9136 0.2418 -vn -0.3442 -0.8385 0.4225 -vn -0.3736 -0.7375 0.5627 -vn -0.3799 -0.5587 0.7372 -vn -0.3887 -0.3703 0.8437 -vn 0.0000 -0.9667 0.2558 -vn 0.0000 -0.8963 0.4435 -vn 0.0000 -0.6147 0.7887 -vn 0.0000 -0.4018 0.9157 -vn 0.0000 -0.9667 -0.2558 -vn 0.0000 -0.8963 -0.4435 -vn 0.0000 -0.6147 -0.7887 -vn 0.0000 -0.4018 -0.9157 -vn -0.9397 0.3419 0.0000 -vn -0.9397 -0.3419 0.0000 -vn 0.9397 0.3419 0.0000 -vn 0.9397 -0.3419 0.0000 -vn 0.0926 0.9957 0.0000 -vn 0.2057 0.9786 0.0000 -vn 0.5623 0.8269 0.0000 -vn 0.2057 -0.9786 0.0000 -vn 0.0926 -0.9957 0.0000 -vn 0.5623 -0.8269 0.0000 -vn -0.0926 0.9957 0.0000 -vn -0.2057 0.9786 0.0000 -vn -0.5623 0.8269 0.0000 -vn -0.2057 -0.9786 0.0000 -vn -0.0926 -0.9957 0.0000 -vn -0.5623 -0.8269 0.0000 -vn -0.5624 -0.8269 0.0000 -vn 0.5624 -0.8269 0.0000 -vn -0.2467 0.9691 -0.0000 -vn -0.1539 0.9881 -0.0000 -vn -0.0299 0.9996 -0.0000 -vn 0.0000 -1.0000 -0.0003 -vn -0.0000 -0.9450 -0.3271 -vn 0.0002 -0.9463 -0.3234 -vn 0.0000 0.9450 -0.3271 -vn 0.0000 0.9450 0.3271 -vn 0.0000 -0.9450 0.3271 -vn 0.0002 -0.9438 0.3306 -vn 0.2469 -0.9157 0.3170 -vn 0.2469 -0.9157 -0.3170 -vn 0.0737 -0.9928 0.0945 -vn 0.0737 -0.9928 -0.0945 -vn 0.6145 0.0000 -0.7889 -vn 0.2603 -0.9655 0.0000 -vn 0.6145 0.0000 0.7889 -vn 0.0000 -0.8315 -0.5556 -vn 0.0000 -0.9808 -0.1951 -vn 0.0000 -0.9808 0.1951 -vn 0.0000 -0.8315 0.5556 -vn 0.0000 0.8315 0.5556 -vn 0.0000 0.9808 0.1951 -vn 0.0000 0.9808 -0.1951 -vn 0.0000 0.8315 -0.5556 -vn -0.8234 0.2388 0.5148 -vn -0.8447 -0.0000 0.5352 -vn -0.8303 0.1973 0.5213 -vn -0.7440 0.5072 0.4350 -vn -0.7781 0.4174 0.4693 -vn -0.5899 0.7702 0.2425 -vn -0.6611 0.6713 0.3353 -vn -0.5321 0.8467 -0.0000 -vn -0.6611 0.6713 -0.3353 -vn -0.5899 0.7702 -0.2425 -vn -0.7781 0.4174 -0.4693 -vn -0.7440 0.5072 -0.4350 -vn -0.8303 0.1973 -0.5213 -vn -0.8234 0.2388 -0.5148 -vn -0.8447 -0.0000 -0.5352 -vn -0.8234 -0.2388 -0.5148 -vn -0.8303 -0.1973 -0.5213 -vn -0.7440 -0.5072 -0.4350 -vn -0.7781 -0.4174 -0.4693 -vn -0.5898 -0.7703 -0.2424 -vn -0.6610 -0.6713 -0.3353 -vn -0.5322 -0.8466 0.0000 -vn -0.6610 -0.6713 0.3353 -vn -0.5898 -0.7703 0.2424 -vn -0.7781 -0.4174 0.4693 -vn -0.7440 -0.5072 0.4350 -vn -0.8303 -0.1973 0.5213 -vn -0.8234 -0.2388 0.5148 -vn 0.0003 -0.9466 -0.3225 -vn 0.0002 -0.9435 0.3314 -s off -f 1/1/1 2/2/1 3/3/1 -f 4/4/2 5/5/2 3/6/2 -f 6/7/3 7/8/3 8/9/3 -f 9/10/4 10/11/4 4/12/4 -f 11/13/5 2/14/5 12/15/5 -f 13/16/6 14/17/6 15/18/6 -f 16/19/7 1/1/7 14/20/7 -f 2/2/8 17/21/8 3/3/8 -f 18/22/9 6/7/9 17/23/9 -f 10/11/10 19/24/10 4/12/10 -f 20/25/11 5/26/11 19/27/11 -f 7/8/12 21/28/12 8/9/12 -f 22/29/13 9/10/13 21/30/13 -f 5/26/14 13/16/14 15/18/14 -f 1/1/1 23/31/1 2/2/1 -f 5/5/15 15/32/15 3/6/15 -f 15/32/16 14/33/16 1/34/16 -f 3/6/2 15/32/2 1/34/2 -f 3/6/17 17/35/17 6/36/17 -f 6/36/18 8/37/18 4/4/18 -f 8/37/19 21/38/19 9/39/19 -f 4/4/2 8/37/2 9/39/2 -f 4/4/20 19/40/20 5/5/20 -f 3/6/2 6/36/2 4/4/2 -f 6/7/3 11/41/3 7/8/3 -f 9/10/4 24/42/4 10/11/4 -f 2/14/5 23/43/5 12/15/5 -f 23/43/5 16/44/5 13/45/5 -f 12/15/21 23/43/21 13/45/21 -f 12/15/22 20/46/22 10/47/22 -f 10/47/5 24/48/5 11/13/5 -f 24/48/23 22/49/23 7/50/23 -f 11/13/24 24/48/24 7/50/24 -f 11/13/5 18/51/5 2/14/5 -f 12/15/5 10/47/5 11/13/5 -f 13/16/25 16/52/25 14/17/25 -f 16/19/7 23/31/7 1/1/7 -f 2/2/26 18/53/26 17/21/26 -f 18/22/27 11/41/27 6/7/27 -f 10/11/28 20/54/28 19/24/28 -f 20/25/29 12/55/29 5/26/29 -f 7/8/30 22/56/30 21/28/30 -f 22/29/31 24/42/31 9/10/31 -f 5/26/14 12/55/14 13/16/14 -f 25/57/32 26/58/32 27/59/32 -f 28/60/33 29/61/33 30/62/33 -f 31/63/14 32/64/14 33/65/14 -f 34/66/3 28/67/3 35/68/3 -f 36/69/34 37/70/34 38/71/34 -f 39/72/35 40/73/35 41/74/35 -f 42/75/3 43/76/3 37/77/3 -f 40/78/14 44/79/14 45/80/14 -f 30/62/36 32/81/36 46/82/36 -f 27/59/37 47/83/37 48/84/37 -f 48/85/5 41/86/5 40/87/5 -f 47/88/14 41/89/14 48/90/14 -f 25/91/3 38/92/3 49/93/3 -f 50/94/38 35/95/38 43/96/38 -f 44/97/39 33/98/39 45/99/39 -f 44/100/2 51/101/2 37/102/2 -f 52/103/32 53/104/32 54/105/32 -f 55/106/33 56/107/33 57/108/33 -f 58/109/14 59/110/14 60/111/14 -f 61/112/3 55/113/3 62/114/3 -f 63/115/34 64/116/34 65/117/34 -f 66/118/35 67/119/35 68/120/35 -f 69/121/3 70/122/3 64/123/3 -f 71/124/14 72/125/14 67/126/14 -f 57/108/36 59/127/36 73/128/36 -f 54/105/37 74/129/37 75/130/37 -f 75/131/5 68/132/5 67/133/5 -f 74/134/14 68/135/14 75/136/14 -f 52/137/3 65/138/3 76/139/3 -f 77/140/38 62/141/38 70/142/38 -f 78/143/39 60/144/39 72/145/39 -f 78/146/2 71/147/2 64/148/2 -f 79/149/32 80/150/32 81/151/32 -f 82/152/33 83/153/33 84/154/33 -f 85/155/3 82/156/3 86/157/3 -f 87/158/34 88/159/34 89/160/34 -f 90/161/5 91/162/5 83/163/5 -f 88/164/5 81/165/5 80/166/5 -f 81/167/3 87/168/3 79/169/3 -f 85/170/38 92/171/38 91/172/38 -f 92/173/2 82/174/2 84/175/2 -f 79/176/2 89/177/2 93/178/2 -f 94/179/32 95/180/32 96/181/32 -f 97/182/33 98/183/33 99/184/33 -f 100/185/3 97/186/3 101/187/3 -f 102/188/34 103/189/34 104/190/34 -f 105/191/5 106/192/5 98/193/5 -f 103/194/5 94/195/5 96/196/5 -f 94/197/3 102/198/3 107/199/3 -f 100/200/38 108/201/38 106/202/38 -f 108/203/2 97/204/2 99/205/2 -f 107/206/2 104/207/2 95/208/2 -f 109/209/32 110/210/32 111/211/32 -f 112/212/33 113/213/33 114/214/33 -f 115/215/3 112/216/3 116/217/3 -f 117/218/34 118/219/34 119/220/34 -f 120/221/5 121/222/5 113/223/5 -f 118/224/5 109/225/5 111/226/5 -f 109/227/3 117/228/3 122/229/3 -f 116/230/38 121/231/38 115/232/38 -f 123/233/2 112/234/2 114/235/2 -f 122/236/2 119/237/2 110/238/2 -f 124/239/32 125/240/32 126/241/32 -f 127/242/33 128/243/33 129/244/33 -f 130/245/14 131/246/14 132/247/14 -f 133/248/3 128/249/3 134/250/3 -f 135/251/34 136/252/34 137/253/34 -f 138/254/35 139/255/35 140/256/35 -f 141/257/3 142/258/3 143/259/3 -f 144/260/14 140/261/14 145/262/14 -f 130/263/36 146/264/36 147/265/36 -f 148/266/37 149/267/37 150/268/37 -f 150/269/5 151/270/5 138/271/5 -f 151/272/14 149/273/14 139/274/14 -f 152/275/3 136/276/3 124/277/3 -f 134/278/38 153/279/38 154/280/38 -f 155/281/39 145/282/39 131/283/39 -f 153/284/2 128/285/2 156/286/2 -f 124/287/2 157/288/2 125/289/2 -f 158/290/32 159/291/32 160/292/32 -f 161/293/33 162/294/33 163/295/33 -f 164/296/14 165/297/14 166/298/14 -f 167/299/3 161/300/3 168/301/3 -f 169/302/34 170/303/34 171/304/34 -f 172/305/35 173/306/35 174/307/35 -f 175/308/3 176/309/3 170/310/3 -f 177/311/14 178/312/14 173/313/14 -f 163/295/36 165/314/36 179/315/36 -f 160/292/37 180/316/37 181/317/37 -f 181/318/5 174/319/5 173/320/5 -f 180/321/14 174/322/14 181/323/14 -f 158/324/3 171/325/3 182/326/3 -f 183/327/38 168/328/38 176/329/38 -f 184/330/39 166/331/39 178/332/39 -f 184/333/2 177/334/2 170/335/2 -f 146/336/2 145/337/2 142/338/2 -f 99/339/14 106/340/14 108/341/14 -f 84/342/14 91/343/14 92/344/14 -f 125/345/14 135/346/14 126/347/14 -f 127/348/14 153/349/14 156/350/14 -f 89/351/14 80/352/14 93/353/14 -f 96/354/14 104/355/14 103/356/14 -f 123/357/14 113/358/14 121/359/14 -f 111/360/14 119/361/14 118/362/14 -f 25/57/32 49/363/32 26/58/32 -f 28/60/33 185/364/33 29/61/33 -f 31/63/14 46/365/14 32/64/14 -f 34/66/3 185/366/3 28/67/3 -f 36/69/34 42/367/34 37/70/34 -f 39/72/35 51/368/35 40/73/35 -f 42/75/3 50/369/3 43/76/3 -f 40/78/14 51/370/14 44/79/14 -f 30/62/36 29/61/36 32/81/36 -f 27/59/37 26/58/37 47/83/37 -f 29/371/5 185/372/5 50/373/5 -f 185/372/5 34/374/5 50/373/5 -f 33/375/5 32/376/5 45/377/5 -f 32/376/5 29/371/5 45/377/5 -f 29/371/5 50/373/5 45/377/5 -f 50/373/5 42/378/5 45/377/5 -f 45/377/5 42/378/5 40/87/5 -f 42/378/5 36/379/5 25/380/5 -f 25/380/5 27/381/5 42/378/5 -f 27/381/5 48/85/5 40/87/5 -f 42/378/5 27/381/5 40/87/5 -f 47/88/14 39/382/14 41/89/14 -f 25/91/3 36/383/3 38/92/3 -f 50/94/38 34/384/38 35/95/38 -f 44/97/39 31/385/39 33/98/39 -f 47/386/2 26/387/2 51/101/2 -f 26/387/2 49/388/2 37/102/2 -f 49/388/2 38/389/2 37/102/2 -f 43/390/2 35/391/2 28/392/2 -f 26/387/2 37/102/2 51/101/2 -f 43/390/2 28/392/2 30/393/2 -f 39/394/2 47/386/2 51/101/2 -f 37/102/2 43/390/2 44/100/2 -f 43/390/2 30/393/2 44/100/2 -f 30/393/2 46/395/2 44/100/2 -f 46/395/2 31/396/2 44/100/2 -f 52/103/32 76/397/32 53/104/32 -f 55/106/33 186/398/33 56/107/33 -f 58/109/14 73/399/14 59/110/14 -f 61/112/3 186/400/3 55/113/3 -f 63/115/34 69/401/34 64/116/34 -f 66/118/35 71/402/35 67/119/35 -f 69/121/3 77/403/3 70/122/3 -f 71/124/14 78/404/14 72/125/14 -f 57/108/36 56/107/36 59/127/36 -f 54/105/37 53/104/37 74/129/37 -f 56/405/5 186/406/5 77/407/5 -f 186/406/5 61/408/5 77/407/5 -f 60/409/5 59/410/5 72/411/5 -f 59/410/5 56/405/5 72/411/5 -f 56/405/5 77/407/5 72/411/5 -f 77/407/5 69/412/5 72/411/5 -f 72/411/5 69/412/5 67/133/5 -f 69/412/5 63/413/5 52/414/5 -f 52/414/5 54/415/5 69/412/5 -f 54/415/5 75/131/5 67/133/5 -f 69/412/5 54/415/5 67/133/5 -f 74/134/14 66/416/14 68/135/14 -f 52/137/3 63/417/3 65/138/3 -f 77/140/38 61/418/38 62/141/38 -f 78/143/39 58/419/39 60/144/39 -f 74/420/2 53/421/2 71/147/2 -f 53/421/2 76/422/2 64/148/2 -f 76/422/2 65/423/2 64/148/2 -f 70/424/2 62/425/2 55/426/2 -f 53/421/2 64/148/2 71/147/2 -f 70/424/2 55/426/2 57/427/2 -f 66/428/2 74/420/2 71/147/2 -f 64/148/2 70/424/2 78/146/2 -f 70/424/2 57/427/2 78/146/2 -f 57/427/2 73/429/2 78/146/2 -f 73/429/2 58/430/2 78/146/2 -f 79/149/32 93/431/32 80/150/32 -f 82/152/33 90/432/33 83/153/33 -f 85/155/3 90/433/3 82/156/3 -f 87/158/34 187/434/34 88/159/34 -f 90/161/5 85/435/5 91/162/5 -f 88/164/5 187/436/5 81/165/5 -f 81/167/3 187/437/3 87/168/3 -f 85/170/38 86/438/38 92/171/38 -f 92/173/2 86/439/2 82/174/2 -f 79/176/2 87/440/2 89/177/2 -f 94/179/32 107/441/32 95/180/32 -f 97/182/33 105/442/33 98/183/33 -f 100/185/3 105/443/3 97/186/3 -f 102/188/34 188/444/34 103/189/34 -f 105/191/5 100/445/5 106/192/5 -f 103/194/5 188/446/5 94/195/5 -f 94/197/3 188/447/3 102/198/3 -f 100/200/38 101/448/38 108/201/38 -f 108/203/2 101/449/2 97/204/2 -f 107/206/2 102/450/2 104/207/2 -f 109/209/32 122/451/32 110/210/32 -f 112/212/33 120/452/33 113/213/33 -f 115/215/3 120/453/3 112/216/3 -f 117/218/34 189/454/34 118/219/34 -f 120/221/5 115/455/5 121/222/5 -f 118/224/5 189/456/5 109/225/5 -f 109/227/3 189/457/3 117/228/3 -f 116/230/38 123/458/38 121/231/38 -f 123/233/2 116/459/2 112/234/2 -f 122/236/2 117/460/2 119/237/2 -f 190/461/40 148/266/40 126/241/40 -f 148/266/32 152/462/32 126/241/32 -f 152/462/32 124/239/32 126/241/32 -f 127/242/33 156/463/33 128/243/33 -f 129/244/33 147/265/33 127/242/33 -f 147/265/33 146/264/33 127/242/33 -f 130/245/14 155/464/14 131/246/14 -f 133/248/3 129/465/3 128/249/3 -f 135/251/34 157/466/34 136/252/34 -f 137/253/34 141/467/34 135/251/34 -f 141/467/34 143/468/34 135/251/34 -f 138/254/35 151/469/35 139/255/35 -f 141/257/3 191/470/3 142/258/3 -f 144/260/14 138/471/14 140/261/14 -f 130/263/36 132/472/36 146/264/36 -f 148/266/37 190/461/37 149/267/37 -f 147/473/5 129/474/5 191/475/5 -f 129/474/5 133/476/5 191/475/5 -f 155/477/5 130/478/5 144/479/5 -f 130/478/5 147/473/5 144/479/5 -f 147/473/5 191/475/5 144/479/5 -f 191/475/5 141/480/5 144/479/5 -f 144/479/5 141/480/5 138/271/5 -f 141/480/5 137/481/5 152/482/5 -f 152/482/5 148/483/5 141/480/5 -f 148/483/5 150/269/5 138/271/5 -f 141/480/5 148/483/5 138/271/5 -f 151/272/14 150/484/14 149/273/14 -f 152/275/3 137/485/3 136/276/3 -f 142/486/38 191/487/38 154/280/38 -f 191/487/38 133/488/38 154/280/38 -f 133/488/38 134/278/38 154/280/38 -f 155/281/39 144/489/39 145/282/39 -f 153/284/2 134/490/2 128/285/2 -f 124/287/2 136/491/2 157/288/2 -f 158/290/32 182/492/32 159/291/32 -f 161/293/33 192/493/33 162/294/33 -f 164/296/14 179/494/14 165/297/14 -f 167/299/3 192/495/3 161/300/3 -f 169/302/34 175/496/34 170/303/34 -f 172/305/35 177/497/35 173/306/35 -f 175/308/3 183/498/3 176/309/3 -f 177/311/14 184/499/14 178/312/14 -f 163/295/36 162/294/36 165/314/36 -f 160/292/37 159/291/37 180/316/37 -f 162/500/5 192/501/5 183/502/5 -f 192/501/5 167/503/5 183/502/5 -f 166/504/5 165/505/5 178/506/5 -f 165/505/5 162/500/5 178/506/5 -f 162/500/5 183/502/5 178/506/5 -f 183/502/5 175/507/5 178/506/5 -f 178/506/5 175/507/5 173/320/5 -f 175/507/5 169/508/5 158/509/5 -f 158/509/5 160/510/5 175/507/5 -f 160/510/5 181/318/5 173/320/5 -f 175/507/5 160/510/5 173/320/5 -f 180/321/14 172/511/14 174/322/14 -f 158/324/3 169/512/3 171/325/3 -f 183/327/38 167/513/38 168/328/38 -f 184/330/39 164/514/39 166/331/39 -f 180/515/2 159/516/2 177/334/2 -f 159/516/2 182/517/2 170/335/2 -f 182/517/2 171/518/2 170/335/2 -f 176/519/2 168/520/2 161/521/2 -f 159/516/2 170/335/2 177/334/2 -f 176/519/2 161/521/2 163/522/2 -f 172/523/2 180/515/2 177/334/2 -f 170/335/2 176/519/2 184/333/2 -f 176/519/2 163/522/2 184/333/2 -f 163/522/2 179/524/2 184/333/2 -f 179/524/2 164/525/2 184/333/2 -f 139/526/2 149/527/2 140/528/2 -f 149/527/2 190/529/2 140/528/2 -f 190/529/2 126/530/2 143/531/2 -f 126/530/2 135/532/2 143/531/2 -f 132/533/2 131/534/2 145/337/2 -f 145/337/2 140/528/2 143/531/2 -f 140/528/2 190/529/2 143/531/2 -f 143/531/2 142/338/2 145/337/2 -f 142/338/20 154/535/20 127/536/20 -f 127/536/2 146/336/2 142/338/2 -f 146/336/2 132/533/2 145/337/2 -f 99/339/14 98/537/14 106/340/14 -f 84/342/14 83/538/14 91/343/14 -f 125/345/14 157/539/14 135/346/14 -f 127/348/14 154/540/14 153/349/14 -f 89/351/14 88/541/14 80/352/14 -f 96/354/14 95/542/14 104/355/14 -f 123/357/14 114/543/14 113/358/14 -f 111/360/14 110/544/14 119/361/14 -f 193/545/3 194/546/3 195/547/3 -f 196/548/41 197/549/41 198/550/41 -f 199/551/42 200/552/42 197/553/42 -f 201/554/2 202/555/2 203/556/2 -f 204/557/4 205/558/4 206/559/4 -f 207/560/5 208/561/5 209/562/5 -f 209/563/4 210/564/4 211/565/4 -f 193/566/14 212/567/14 213/568/14 -f 214/569/4 203/570/4 207/571/4 -f 215/572/5 216/573/5 217/574/5 -f 218/575/2 219/576/2 203/556/2 -f 220/577/4 221/578/4 222/579/4 -f 195/580/2 223/581/2 221/582/2 -f 217/583/4 193/584/4 213/585/4 -f 224/586/14 225/587/14 226/588/14 -f 221/589/4 209/590/4 195/591/4 -f 227/592/14 228/593/14 229/594/14 -f 193/595/4 230/596/4 231/597/4 -f 230/598/3 232/599/3 211/600/3 -f 233/601/4 234/602/4 235/603/4 -f 222/604/5 236/605/5 193/606/5 -f 230/607/4 204/608/4 237/609/4 -f 238/610/3 239/611/3 240/612/3 -f 234/613/4 241/614/4 240/615/4 -f 230/616/14 242/617/14 231/618/14 -f 202/555/1 243/619/1 244/620/1 -f 202/621/14 229/594/14 224/586/14 -f 243/622/3 240/612/3 241/623/3 -f 245/624/4 220/625/4 216/626/4 -f 201/554/2 246/627/2 227/628/2 -f 224/629/4 214/630/4 247/631/4 -f 228/632/4 248/633/4 249/634/4 -f 232/635/4 250/636/4 251/637/4 -f 252/638/4 253/639/4 208/640/4 -f 254/641/4 255/642/4 256/643/4 -f 257/644/4 252/645/4 223/646/4 -f 255/647/4 194/648/4 236/649/4 -f 212/650/4 242/651/4 258/652/4 -f 194/653/4 232/654/4 259/655/4 -f 242/656/4 260/657/4 261/658/4 -f 262/659/4 239/660/4 263/661/4 -f 260/662/4 264/663/4 265/664/4 -f 225/665/4 257/666/4 266/667/4 -f 231/668/2 236/669/2 193/670/2 -f 267/671/2 268/672/2 210/673/2 -f 209/674/14 194/675/14 195/676/14 -f 195/677/5 259/678/5 230/679/5 -f 217/680/3 255/681/3 222/682/3 -f 211/683/2 208/684/2 209/685/2 -f 204/686/3 250/687/3 267/688/3 -f 221/689/14 255/690/14 222/691/14 -f 231/692/5 261/693/5 234/694/5 -f 210/695/14 232/696/14 211/697/14 -f 221/698/3 252/699/3 207/700/3 -f 237/701/2 259/702/2 230/703/2 -f 209/704/3 253/705/3 218/706/3 -f 220/707/14 254/708/14 216/709/14 -f 226/710/5 266/711/5 220/712/5 -f 211/713/5 251/714/5 204/715/5 -f 203/716/14 252/717/14 207/718/14 -f 220/719/3 257/720/3 247/721/3 -f 247/722/2 269/723/2 224/724/2 -f 216/573/5 256/725/5 217/574/5 -f 234/726/14 262/727/14 235/728/14 -f 240/729/2 261/730/2 234/731/2 -f 214/732/3 248/733/3 201/734/3 -f 214/735/14 257/736/14 247/737/14 -f 229/738/5 249/739/5 214/740/5 -f 234/741/3 260/742/3 237/743/3 -f 237/744/5 265/745/5 241/746/5 -f 222/747/2 266/748/2 220/749/2 -f 213/750/5 258/751/5 233/752/5 -f 204/753/14 260/754/14 237/755/14 -f 206/756/2 251/757/2 204/758/2 -f 241/623/3 264/759/3 206/760/3 -f 247/761/5 223/762/5 221/763/5 -f 233/764/3 242/765/3 231/766/3 -f 235/767/5 263/768/5 238/769/5 -f 207/770/2 249/771/2 214/772/2 -f 200/552/43 270/773/43 271/774/43 -f 270/773/44 272/775/44 271/774/44 -f 273/776/45 274/777/45 272/775/45 -f 275/778/46 276/779/46 274/780/46 -f 277/781/4 196/782/4 278/783/4 -f 278/784/47 279/785/47 276/779/47 -f 280/786/48 198/550/48 279/787/48 -f 276/788/1 279/789/1 271/790/1 -f 193/545/3 236/791/3 194/546/3 -f 196/548/41 199/792/41 197/549/41 -f 199/551/42 277/793/42 200/552/42 -f 244/620/2 205/794/2 267/671/2 -f 210/673/2 218/575/2 244/620/2 -f 218/575/2 203/556/2 202/555/2 -f 244/620/2 218/575/2 202/555/2 -f 244/620/2 267/671/2 210/673/2 -f 227/628/2 202/555/2 201/554/2 -f 204/557/4 267/795/4 205/558/4 -f 207/560/5 252/796/5 208/561/5 -f 209/563/4 218/797/4 210/564/4 -f 193/566/14 236/798/14 212/567/14 -f 214/569/4 201/799/4 203/570/4 -f 238/769/5 243/800/5 235/767/5 -f 243/800/5 215/572/5 213/750/5 -f 235/767/5 243/800/5 233/752/5 -f 215/572/5 245/801/5 216/573/5 -f 217/574/5 213/750/5 215/572/5 -f 213/750/5 233/752/5 243/800/5 -f 218/575/2 253/802/2 219/576/2 -f 220/577/4 247/803/4 221/578/4 -f 195/580/2 194/804/2 223/581/2 -f 217/583/4 222/805/4 193/584/4 -f 224/586/14 269/806/14 225/587/14 -f 221/589/4 207/807/4 209/590/4 -f 227/592/14 246/808/14 228/593/14 -f 193/595/4 195/809/4 230/596/4 -f 230/598/3 259/810/3 232/599/3 -f 233/601/4 231/811/4 234/602/4 -f 222/604/5 255/812/5 236/605/5 -f 230/607/4 211/813/4 204/608/4 -f 238/610/3 263/814/3 239/611/3 -f 234/613/4 237/815/4 241/614/4 -f 230/616/14 259/816/14 242/617/14 -f 202/555/1 215/817/1 243/619/1 -f 202/621/14 227/592/14 229/594/14 -f 224/586/14 226/588/14 215/818/14 -f 226/588/14 245/819/14 215/818/14 -f 224/586/14 215/818/14 202/621/14 -f 243/622/3 238/610/3 240/612/3 -f 241/623/3 206/760/3 244/820/3 -f 206/760/3 205/821/3 244/820/3 -f 241/623/3 244/820/3 243/622/3 -f 245/624/4 226/822/4 220/625/4 -f 201/554/2 248/823/2 246/627/2 -f 224/629/4 229/824/4 214/630/4 -f 228/632/4 246/825/4 248/633/4 -f 232/635/4 268/826/4 250/636/4 -f 252/638/4 219/827/4 253/639/4 -f 254/641/4 266/828/4 255/642/4 -f 257/644/4 249/829/4 252/645/4 -f 255/647/4 223/830/4 194/648/4 -f 212/650/4 236/831/4 242/651/4 -f 194/653/4 208/832/4 232/654/4 -f 242/656/4 259/833/4 260/657/4 -f 262/659/4 261/834/4 239/660/4 -f 260/662/4 251/835/4 264/663/4 -f 225/665/4 269/836/4 257/666/4 -f 231/668/2 242/837/2 236/669/2 -f 267/671/2 250/838/2 268/672/2 -f 209/674/14 208/839/14 194/675/14 -f 195/677/5 194/840/5 259/678/5 -f 217/680/3 256/841/3 255/681/3 -f 211/683/2 232/842/2 208/684/2 -f 204/686/3 251/843/3 250/687/3 -f 221/689/14 223/844/14 255/690/14 -f 231/692/5 242/845/5 261/693/5 -f 210/695/14 268/846/14 232/696/14 -f 221/698/3 223/847/3 252/699/3 -f 237/701/2 260/848/2 259/702/2 -f 209/704/3 208/849/3 253/705/3 -f 220/707/14 266/850/14 254/708/14 -f 226/710/5 225/851/5 266/711/5 -f 211/713/5 232/852/5 251/714/5 -f 203/716/14 219/853/14 252/717/14 -f 220/719/3 266/854/3 257/720/3 -f 247/722/2 257/855/2 269/723/2 -f 216/573/5 254/856/5 256/725/5 -f 234/726/14 261/857/14 262/727/14 -f 240/729/2 239/858/2 261/730/2 -f 214/732/3 249/859/3 248/733/3 -f 214/735/14 249/860/14 257/736/14 -f 229/738/5 228/861/5 249/739/5 -f 234/741/3 261/862/3 260/742/3 -f 237/744/5 260/863/5 265/745/5 -f 222/747/2 255/864/2 266/748/2 -f 213/750/5 212/865/5 258/751/5 -f 204/753/14 251/714/14 260/754/14 -f 206/756/2 264/866/2 251/757/2 -f 241/623/3 265/867/3 264/759/3 -f 247/761/5 257/868/5 223/762/5 -f 233/764/3 258/869/3 242/765/3 -f 235/767/5 262/870/5 263/768/5 -f 207/770/2 252/871/2 249/771/2 -f 200/552/43 277/793/43 270/773/43 -f 270/773/44 273/776/44 272/775/44 -f 273/776/45 275/872/45 274/777/45 -f 275/778/46 278/784/46 276/779/46 -f 273/873/4 270/874/4 277/781/4 -f 277/781/4 199/875/4 196/782/4 -f 196/782/4 280/876/4 278/783/4 -f 278/783/4 275/877/4 273/873/4 -f 273/873/4 277/781/4 278/783/4 -f 278/784/47 280/878/47 279/785/47 -f 280/786/48 196/548/48 198/550/48 -f 279/789/1 198/879/1 197/880/1 -f 197/880/1 200/881/1 279/789/1 -f 200/881/1 271/790/1 279/789/1 -f 271/790/1 272/882/1 274/883/1 -f 274/883/1 276/788/1 271/790/1 -f 281/884/32 282/885/32 283/886/32 -f 284/887/33 285/888/33 286/889/33 -f 287/890/14 288/891/14 289/892/14 -f 290/893/3 284/894/3 291/895/3 -f 292/896/34 293/897/34 294/898/34 -f 295/899/35 296/900/35 297/901/35 -f 298/902/3 299/903/3 293/904/3 -f 300/905/14 301/906/14 296/907/14 -f 286/889/36 288/908/36 302/909/36 -f 283/886/37 303/910/37 304/911/37 -f 296/912/5 301/913/5 298/914/5 -f 303/915/14 297/916/14 304/917/14 -f 281/918/3 294/919/3 305/920/3 -f 284/921/2 286/922/2 299/923/2 -f 306/924/38 291/925/38 299/926/38 -f 307/927/39 289/928/39 301/929/39 -f 293/930/2 300/931/2 282/932/2 -f 308/933/32 309/934/32 310/935/32 -f 311/936/33 312/937/33 313/938/33 -f 314/939/14 315/940/14 316/941/14 -f 317/942/3 311/943/3 318/944/3 -f 319/945/34 320/946/34 321/947/34 -f 322/948/35 323/949/35 324/950/35 -f 325/951/3 326/952/3 320/953/3 -f 327/954/14 328/955/14 323/956/14 -f 313/938/36 315/957/36 329/958/36 -f 310/935/37 330/959/37 331/960/37 -f 323/961/5 328/962/5 325/963/5 -f 330/964/14 324/965/14 331/966/14 -f 308/967/3 321/968/3 332/969/3 -f 311/970/2 313/971/2 326/972/2 -f 333/973/38 318/974/38 326/975/38 -f 334/976/39 316/977/39 328/978/39 -f 320/979/2 327/980/2 309/981/2 -f 335/982/32 336/983/32 337/984/32 -f 338/985/33 339/986/33 340/987/33 -f 341/988/14 342/989/14 343/990/14 -f 344/991/3 338/992/3 345/993/3 -f 346/994/34 347/995/34 348/996/34 -f 349/997/35 350/998/35 351/999/35 -f 352/1000/3 353/1001/3 347/1002/3 -f 354/1003/14 355/1004/14 350/1005/14 -f 340/987/36 342/1006/36 356/1007/36 -f 337/984/37 357/1008/37 358/1009/37 -f 350/1010/5 355/1011/5 352/1012/5 -f 357/1013/14 351/1014/14 358/1015/14 -f 335/1016/3 348/1017/3 359/1018/3 -f 338/1019/2 340/1020/2 353/1021/2 -f 360/1022/38 345/1023/38 353/1024/38 -f 361/1025/39 343/1026/39 355/1027/39 -f 347/1028/2 354/1029/2 336/1030/2 -f 281/884/32 305/1031/32 282/885/32 -f 284/887/33 362/1032/33 285/888/33 -f 287/890/14 302/1033/14 288/891/14 -f 290/893/3 362/1034/3 284/894/3 -f 292/896/34 298/1035/34 293/897/34 -f 295/899/35 300/1036/35 296/900/35 -f 298/902/3 306/1037/3 299/903/3 -f 300/905/14 307/1038/14 301/906/14 -f 286/889/36 285/888/36 288/908/36 -f 283/886/37 282/885/37 303/910/37 -f 288/1039/5 285/1040/5 301/913/5 -f 285/1040/5 362/1041/5 306/1042/5 -f 362/1041/5 290/1043/5 306/1042/5 -f 298/914/5 292/1044/5 281/1045/5 -f 285/1040/5 306/1042/5 301/913/5 -f 298/914/5 281/1045/5 283/1046/5 -f 289/1047/5 288/1039/5 301/913/5 -f 306/1042/5 298/914/5 301/913/5 -f 298/914/5 283/1046/5 296/912/5 -f 283/1046/5 304/1048/5 296/912/5 -f 304/1048/5 297/1049/5 296/912/5 -f 303/915/14 295/1050/14 297/916/14 -f 281/918/3 292/1051/3 294/919/3 -f 287/1052/2 307/1053/2 302/1054/2 -f 307/1053/2 299/923/2 286/922/2 -f 302/1054/2 307/1053/2 286/922/2 -f 299/923/2 291/1055/2 284/921/2 -f 306/924/38 290/1056/38 291/925/38 -f 307/927/39 287/1057/39 289/928/39 -f 305/1058/2 294/1059/2 293/930/2 -f 293/930/2 299/923/2 307/1053/2 -f 300/931/2 295/1060/2 303/1061/2 -f 293/930/2 307/1053/2 300/931/2 -f 282/932/2 305/1058/2 293/930/2 -f 300/931/2 303/1061/2 282/932/2 -f 308/933/32 332/1062/32 309/934/32 -f 311/936/33 363/1063/33 312/937/33 -f 314/939/14 329/1064/14 315/940/14 -f 317/942/3 363/1065/3 311/943/3 -f 319/945/34 325/1066/34 320/946/34 -f 322/948/35 327/1067/35 323/949/35 -f 325/951/3 333/1068/3 326/952/3 -f 327/954/14 334/1069/14 328/955/14 -f 313/938/36 312/937/36 315/957/36 -f 310/935/37 309/934/37 330/959/37 -f 315/1070/5 312/1071/5 328/962/5 -f 312/1071/5 363/1072/5 333/1073/5 -f 363/1072/5 317/1074/5 333/1073/5 -f 325/963/5 319/1075/5 308/1076/5 -f 312/1071/5 333/1073/5 328/962/5 -f 325/963/5 308/1076/5 310/1077/5 -f 316/1078/5 315/1070/5 328/962/5 -f 333/1073/5 325/963/5 328/962/5 -f 325/963/5 310/1077/5 323/961/5 -f 310/1077/5 331/1079/5 323/961/5 -f 331/1079/5 324/1080/5 323/961/5 -f 330/964/14 322/1081/14 324/965/14 -f 308/967/3 319/1082/3 321/968/3 -f 314/1083/2 334/1084/2 329/1085/2 -f 334/1084/2 326/972/2 313/971/2 -f 329/1085/2 334/1084/2 313/971/2 -f 326/972/2 318/1086/2 311/970/2 -f 333/973/38 317/1087/38 318/974/38 -f 334/976/39 314/1088/39 316/977/39 -f 332/1089/2 321/1090/2 320/979/2 -f 320/979/2 326/972/2 334/1084/2 -f 327/980/2 322/1091/2 330/1092/2 -f 320/979/2 334/1084/2 327/980/2 -f 309/981/2 332/1089/2 320/979/2 -f 327/980/2 330/1092/2 309/981/2 -f 335/982/32 359/1093/32 336/983/32 -f 338/985/33 364/1094/33 339/986/33 -f 341/988/14 356/1095/14 342/989/14 -f 344/991/3 364/1096/3 338/992/3 -f 346/994/34 352/1097/34 347/995/34 -f 349/997/35 354/1098/35 350/998/35 -f 352/1000/3 360/1099/3 353/1001/3 -f 354/1003/14 361/1100/14 355/1004/14 -f 340/987/36 339/986/36 342/1006/36 -f 337/984/37 336/983/37 357/1008/37 -f 342/1101/5 339/1102/5 355/1011/5 -f 339/1102/5 364/1103/5 360/1104/5 -f 364/1103/5 344/1105/5 360/1104/5 -f 352/1012/5 346/1106/5 335/1107/5 -f 339/1102/5 360/1104/5 355/1011/5 -f 352/1012/5 335/1107/5 337/1108/5 -f 343/1109/5 342/1101/5 355/1011/5 -f 360/1104/5 352/1012/5 355/1011/5 -f 352/1012/5 337/1108/5 350/1010/5 -f 337/1108/5 358/1110/5 350/1010/5 -f 358/1110/5 351/1111/5 350/1010/5 -f 357/1013/14 349/1112/14 351/1014/14 -f 335/1016/3 346/1113/3 348/1017/3 -f 341/1114/2 361/1115/2 356/1116/2 -f 361/1115/2 353/1021/2 340/1020/2 -f 356/1116/2 361/1115/2 340/1020/2 -f 353/1021/2 345/1117/2 338/1019/2 -f 360/1022/38 344/1118/38 345/1023/38 -f 361/1025/39 341/1119/39 343/1026/39 -f 359/1120/2 348/1121/2 347/1028/2 -f 347/1028/2 353/1021/2 361/1115/2 -f 354/1029/2 349/1122/2 357/1123/2 -f 347/1028/2 361/1115/2 354/1029/2 -f 336/1030/2 359/1120/2 347/1028/2 -f 354/1029/2 357/1123/2 336/1030/2 -f 580/1124/3 581/1125/3 582/1126/3 -f 583/1127/41 584/1128/41 585/1129/41 -f 586/1130/42 587/1131/42 584/1132/42 -f 588/1133/2 589/1134/2 590/1135/2 -f 591/1136/4 592/1137/4 593/1138/4 -f 594/1139/5 595/1140/5 596/1141/5 -f 596/1142/4 597/1143/4 598/1144/4 -f 580/1145/14 599/1146/14 600/1147/14 -f 601/1148/4 590/1149/4 594/1150/4 -f 602/1151/5 603/1152/5 604/1153/5 -f 605/1154/2 606/1155/2 590/1135/2 -f 607/1156/4 608/1157/4 609/1158/4 -f 582/1159/2 610/1160/2 608/1161/2 -f 604/1162/4 580/1163/4 600/1164/4 -f 611/1165/14 612/1166/14 613/1167/14 -f 608/1168/4 596/1169/4 582/1170/4 -f 614/1171/14 615/1172/14 616/1173/14 -f 580/1174/4 617/1175/4 618/1176/4 -f 617/1177/3 619/1178/3 598/1179/3 -f 620/1180/4 621/1181/4 622/1182/4 -f 609/1183/5 623/1184/5 580/1185/5 -f 617/1186/4 591/1187/4 624/1188/4 -f 625/1189/3 626/1190/3 627/1191/3 -f 621/1192/4 628/1193/4 627/1194/4 -f 617/1195/14 629/1196/14 618/1197/14 -f 589/1134/1 630/1198/1 631/1199/1 -f 589/1200/14 616/1173/14 611/1165/14 -f 630/1201/3 627/1191/3 628/1202/3 -f 632/1203/4 607/1204/4 603/1205/4 -f 588/1133/2 633/1206/2 614/1207/2 -f 611/1208/4 601/1209/4 634/1210/4 -f 615/1211/4 635/1212/4 636/1213/4 -f 619/1214/4 637/1215/4 638/1216/4 -f 639/1217/4 640/1218/4 595/1219/4 -f 641/1220/4 642/1221/4 643/1222/4 -f 644/1223/4 639/1224/4 610/1225/4 -f 642/1226/4 581/1227/4 623/1228/4 -f 599/1229/4 629/1230/4 645/1231/4 -f 581/1232/4 619/1233/4 646/1234/4 -f 629/1235/4 647/1236/4 648/1237/4 -f 649/1238/4 626/1239/4 650/1240/4 -f 647/1241/4 651/1242/4 652/1243/4 -f 612/1244/4 644/1245/4 653/1246/4 -f 618/1247/2 623/1248/2 580/1249/2 -f 654/1250/2 655/1251/2 597/1252/2 -f 596/1253/14 581/1254/14 582/1255/14 -f 582/1256/5 646/1257/5 617/1258/5 -f 604/1162/3 642/1259/3 609/1260/3 -f 598/1261/2 595/1262/2 596/1263/2 -f 591/1264/3 637/1265/3 654/1266/3 -f 608/1267/14 642/1268/14 609/1269/14 -f 618/1270/5 648/1271/5 621/1272/5 -f 597/1273/14 619/1274/14 598/1275/14 -f 608/1276/3 639/1277/3 594/1278/3 -f 624/1279/2 646/1280/2 617/1281/2 -f 596/1282/3 640/1283/3 605/1284/3 -f 607/1285/14 641/1286/14 603/1287/14 -f 613/1288/5 653/1289/5 607/1290/5 -f 598/1291/5 638/1292/5 591/1293/5 -f 590/1294/14 639/1295/14 594/1296/14 -f 607/1297/3 644/1298/3 634/1299/3 -f 634/1300/2 656/1301/2 611/1302/2 -f 603/1152/5 643/1303/5 604/1153/5 -f 621/1304/14 649/1305/14 622/1306/14 -f 627/1307/2 648/1308/2 621/1309/2 -f 601/1310/3 635/1311/3 588/1312/3 -f 601/1313/14 644/1314/14 634/1315/14 -f 616/1316/5 636/1317/5 601/1318/5 -f 621/1319/3 647/1320/3 624/1321/3 -f 624/1322/5 652/1323/5 628/1324/5 -f 609/1325/2 653/1326/2 607/1327/2 -f 600/1328/5 645/1329/5 620/1330/5 -f 591/1331/14 647/1332/14 624/1333/14 -f 593/1334/2 638/1335/2 591/1336/2 -f 628/1202/3 651/1337/3 593/1338/3 -f 634/1339/5 610/1340/5 608/1341/5 -f 620/1342/3 629/1343/3 618/1344/3 -f 622/1345/5 650/1346/5 625/1347/5 -f 594/1348/2 636/1349/2 601/1350/2 -f 587/1131/43 657/1351/43 658/1352/43 -f 657/1353/44 659/1354/44 658/1355/44 -f 660/1356/45 661/1357/45 659/1354/45 -f 662/1358/46 663/1359/46 661/1360/46 -f 664/1361/4 583/1362/4 665/1363/4 -f 665/1364/47 666/1365/47 663/1359/47 -f 667/1366/48 585/1129/48 666/1367/48 -f 663/1368/1 666/1369/1 658/1370/1 -f 668/1371/1 669/1372/1 670/1373/1 -f 671/1374/2 668/1375/2 670/1376/2 -f 672/1377/14 668/1378/14 671/1379/14 -f 673/1380/5 674/1381/5 675/1382/5 -f 676/1383/4 677/1384/4 678/1385/4 -f 679/1386/49 674/1387/49 678/1388/49 -f 672/1389/50 676/1390/50 680/1391/50 -f 679/1392/51 675/1393/51 674/1394/51 -f 681/1395/52 675/1396/52 669/1397/52 -f 672/1398/53 673/1399/53 681/1400/53 -f 678/1388/54 680/1391/54 676/1390/54 -f 679/1401/55 677/1384/55 682/1402/55 -f 671/1403/56 676/1383/56 672/1404/56 -f 682/1405/3 669/1406/3 679/1407/3 -f 580/1124/3 623/1408/3 581/1125/3 -f 583/1127/41 586/1409/41 584/1128/41 -f 586/1130/42 664/1410/42 587/1131/42 -f 631/1199/2 592/1411/2 654/1250/2 -f 597/1252/2 605/1154/2 631/1199/2 -f 605/1154/2 590/1135/2 589/1134/2 -f 631/1199/2 605/1154/2 589/1134/2 -f 631/1199/2 654/1250/2 597/1252/2 -f 614/1207/2 589/1134/2 588/1133/2 -f 591/1136/4 654/1412/4 592/1137/4 -f 594/1139/5 639/1413/5 595/1140/5 -f 596/1142/4 605/1414/4 597/1143/4 -f 580/1145/14 623/1415/14 599/1146/14 -f 601/1148/4 588/1416/4 590/1149/4 -f 625/1347/5 630/1417/5 622/1345/5 -f 630/1417/5 602/1151/5 600/1328/5 -f 622/1345/5 630/1417/5 620/1330/5 -f 602/1151/5 632/1418/5 603/1152/5 -f 604/1153/5 600/1328/5 602/1151/5 -f 600/1328/5 620/1330/5 630/1417/5 -f 605/1154/2 640/1419/2 606/1155/2 -f 607/1156/4 634/1420/4 608/1157/4 -f 582/1159/2 581/1421/2 610/1160/2 -f 604/1162/4 609/1422/4 580/1163/4 -f 611/1165/14 656/1423/14 612/1166/14 -f 608/1168/4 594/1424/4 596/1169/4 -f 614/1171/14 633/1425/14 615/1172/14 -f 580/1174/4 582/1426/4 617/1175/4 -f 617/1177/3 646/1427/3 619/1178/3 -f 620/1180/4 618/1428/4 621/1181/4 -f 609/1183/5 642/1429/5 623/1184/5 -f 617/1186/4 598/1430/4 591/1187/4 -f 625/1189/3 650/1431/3 626/1190/3 -f 621/1192/4 624/1432/4 628/1193/4 -f 617/1195/14 646/1433/14 629/1196/14 -f 589/1134/1 602/1434/1 630/1198/1 -f 589/1200/14 614/1171/14 616/1173/14 -f 611/1165/14 613/1167/14 602/1435/14 -f 613/1167/14 632/1436/14 602/1435/14 -f 611/1165/14 602/1435/14 589/1200/14 -f 630/1201/3 625/1189/3 627/1191/3 -f 628/1202/3 593/1338/3 631/1437/3 -f 593/1338/3 592/1438/3 631/1437/3 -f 628/1202/3 631/1437/3 630/1201/3 -f 632/1203/4 613/1439/4 607/1204/4 -f 588/1133/2 635/1440/2 633/1206/2 -f 611/1208/4 616/1441/4 601/1209/4 -f 615/1211/4 633/1442/4 635/1212/4 -f 619/1214/4 655/1443/4 637/1215/4 -f 639/1217/4 606/1444/4 640/1218/4 -f 641/1220/4 653/1445/4 642/1221/4 -f 644/1223/4 636/1446/4 639/1224/4 -f 642/1226/4 610/1447/4 581/1227/4 -f 599/1229/4 623/1448/4 629/1230/4 -f 581/1232/4 595/1449/4 619/1233/4 -f 629/1235/4 646/1450/4 647/1236/4 -f 649/1238/4 648/1451/4 626/1239/4 -f 647/1241/4 638/1452/4 651/1242/4 -f 612/1244/4 656/1453/4 644/1245/4 -f 618/1247/2 629/1454/2 623/1248/2 -f 654/1250/2 637/1455/2 655/1251/2 -f 596/1253/14 595/1456/14 581/1254/14 -f 582/1256/5 581/1457/5 646/1257/5 -f 604/1162/3 643/1458/3 642/1259/3 -f 598/1261/2 619/1459/2 595/1262/2 -f 591/1264/3 638/1460/3 637/1265/3 -f 608/1267/14 610/1461/14 642/1268/14 -f 618/1270/5 629/1462/5 648/1271/5 -f 597/1273/14 655/1463/14 619/1274/14 -f 608/1276/3 610/1340/3 639/1277/3 -f 624/1279/2 647/1464/2 646/1280/2 -f 596/1282/3 595/1465/3 640/1283/3 -f 607/1285/14 653/1466/14 641/1286/14 -f 613/1288/5 612/1467/5 653/1289/5 -f 598/1291/5 619/1468/5 638/1292/5 -f 590/1294/14 606/1469/14 639/1295/14 -f 607/1297/3 653/1470/3 644/1298/3 -f 634/1300/2 644/1471/2 656/1301/2 -f 603/1152/5 641/1472/5 643/1303/5 -f 621/1304/14 648/1473/14 649/1305/14 -f 627/1307/2 626/1474/2 648/1308/2 -f 601/1310/3 636/1475/3 635/1311/3 -f 601/1313/14 636/1476/14 644/1314/14 -f 616/1316/5 615/1477/5 636/1317/5 -f 621/1319/3 648/1478/3 647/1320/3 -f 624/1322/5 647/1479/5 652/1323/5 -f 609/1325/2 642/1480/2 653/1326/2 -f 600/1328/5 599/1481/5 645/1329/5 -f 591/1331/14 638/1482/14 647/1332/14 -f 593/1334/2 651/1483/2 638/1335/2 -f 628/1202/3 652/1484/3 651/1337/3 -f 634/1339/5 644/1485/5 610/1340/5 -f 620/1342/3 645/1486/3 629/1343/3 -f 622/1345/5 649/1487/5 650/1346/5 -f 594/1348/2 639/1488/2 636/1349/2 -f 587/1131/43 664/1410/43 657/1351/43 -f 657/1353/44 660/1356/44 659/1354/44 -f 660/1356/45 662/1489/45 661/1357/45 -f 662/1358/46 665/1364/46 663/1359/46 -f 660/1490/4 657/1491/4 664/1361/4 -f 664/1361/4 586/1492/4 583/1362/4 -f 583/1362/4 667/1493/4 665/1363/4 -f 665/1363/4 662/1494/4 660/1490/4 -f 660/1490/4 664/1361/4 665/1363/4 -f 665/1364/47 667/1495/47 666/1365/47 -f 667/1366/48 583/1127/48 585/1129/48 -f 666/1369/1 585/1496/1 584/1497/1 -f 584/1497/1 587/1498/1 666/1369/1 -f 587/1498/1 658/1370/1 666/1369/1 -f 658/1370/1 659/1499/1 661/1500/1 -f 661/1500/1 663/1368/1 658/1370/1 -f 668/1371/1 681/1501/1 669/1372/1 -f 670/1376/2 682/1502/2 671/1374/2 -f 682/1502/2 677/1384/2 671/1374/2 -f 677/1384/2 683/1503/2 671/1374/2 -f 672/1377/14 681/1504/14 668/1378/14 -f 673/1380/5 680/1505/5 674/1381/5 -f 676/1383/4 683/1503/4 677/1384/4 -f 679/1392/51 669/1506/51 675/1393/51 -f 681/1395/52 673/1507/52 675/1396/52 -f 672/1398/53 680/1508/53 673/1399/53 -f 678/1388/54 674/1387/54 680/1391/54 -f 679/1401/55 678/1385/55 677/1384/55 -f 671/1403/56 683/1503/56 676/1383/56 -f 682/1405/3 670/1509/3 669/1406/3 -f 684/1510/1 685/1511/1 686/1512/1 -f 687/1513/2 688/1514/2 689/1515/2 -f 690/1516/14 691/1517/14 692/1518/14 -f 693/1519/5 694/1520/5 695/1521/5 -f 696/1522/4 697/1523/4 698/1524/4 -f 699/1525/57 686/1526/57 695/1527/57 -f 685/1528/58 700/1529/58 693/1530/58 -f 701/1531/59 694/1520/59 698/1532/59 -f 690/1533/60 696/1534/60 702/1535/60 -f 703/1536/61 688/1537/61 684/1538/61 -f 691/1539/62 704/1540/62 705/1541/62 -f 706/1542/63 697/1543/63 689/1515/63 -f 692/1544/64 687/1513/64 707/1545/64 -f 699/1546/65 694/1520/65 701/1531/65 -f 685/1547/66 695/1521/66 686/1548/66 -f 690/1533/67 693/1519/67 700/1549/67 -f 698/1532/68 702/1535/68 696/1534/68 -f 706/1550/69 698/1524/69 697/1523/69 -f 690/1551/70 707/1552/70 696/1522/70 -f 689/1515/71 707/1545/71 687/1513/71 -f 703/1553/72 689/1515/72 688/1514/72 -f 691/1554/73 687/1513/73 692/1544/73 -f 684/1555/74 705/1556/74 704/1557/74 -f 703/1558/75 686/1559/75 699/1560/75 -f 700/1561/76 704/1562/76 691/1563/76 -f 706/1564/3 699/1565/3 701/1566/3 -f 708/1567/1 709/1568/1 710/1569/1 -f 711/1570/2 712/1571/2 713/1572/2 -f 714/1573/14 715/1574/14 716/1575/14 -f 717/1576/5 718/1577/5 719/1578/5 -f 720/1579/4 721/1580/4 722/1581/4 -f 723/1582/57 710/1583/57 719/1578/57 -f 709/1584/77 724/1585/77 717/1576/77 -f 725/1586/59 718/1577/59 722/1587/59 -f 714/1588/78 720/1589/78 726/1590/78 -f 727/1591/79 712/1571/79 708/1592/79 -f 715/1593/62 728/1594/62 729/1595/62 -f 730/1596/80 721/1597/80 713/1572/80 -f 716/1598/81 711/1570/81 731/1599/81 -f 725/1586/82 719/1578/82 718/1577/82 -f 709/1584/66 719/1578/66 710/1583/66 -f 714/1588/67 717/1576/67 724/1585/67 -f 722/1587/68 726/1590/68 720/1589/68 -f 730/1600/69 722/1581/69 721/1580/69 -f 714/1601/70 731/1602/70 720/1579/70 -f 713/1572/71 731/1599/71 711/1570/71 -f 730/1596/83 712/1571/83 727/1591/83 -f 715/1593/73 711/1570/73 716/1598/73 -f 708/1592/74 729/1595/74 728/1594/74 -f 727/1603/75 710/1569/75 723/1604/75 -f 724/1605/76 728/1606/76 715/1607/76 -f 730/1608/3 723/1609/3 725/1610/3 -f 684/1510/1 704/1611/1 685/1511/1 -f 687/1513/2 705/1556/2 688/1514/2 -f 690/1516/14 700/1612/14 691/1517/14 -f 693/1519/5 702/1535/5 694/1520/5 -f 696/1522/4 707/1552/4 697/1523/4 -f 699/1546/82 695/1521/82 694/1520/82 -f 685/1547/66 693/1519/66 695/1521/66 -f 690/1533/67 702/1535/67 693/1519/67 -f 698/1532/68 694/1520/68 702/1535/68 -f 706/1550/69 701/1613/69 698/1524/69 -f 690/1551/70 692/1614/70 707/1552/70 -f 689/1515/84 697/1543/84 707/1545/84 -f 703/1553/72 706/1542/72 689/1515/72 -f 691/1554/73 705/1556/73 687/1513/73 -f 684/1555/85 688/1514/85 705/1556/85 -f 703/1558/75 684/1615/75 686/1559/75 -f 700/1561/76 685/1616/76 704/1562/76 -f 706/1564/3 703/1617/3 699/1565/3 -f 708/1567/1 728/1606/1 709/1568/1 -f 711/1570/2 729/1595/2 712/1571/2 -f 714/1573/14 724/1618/14 715/1574/14 -f 717/1576/5 726/1590/5 718/1577/5 -f 720/1579/4 731/1602/4 721/1580/4 -f 725/1586/82 723/1582/82 719/1578/82 -f 709/1584/66 717/1576/66 719/1578/66 -f 714/1588/67 726/1590/67 717/1576/67 -f 722/1587/68 718/1577/68 726/1590/68 -f 730/1600/69 725/1619/69 722/1581/69 -f 714/1601/70 716/1620/70 731/1602/70 -f 713/1572/71 721/1597/71 731/1599/71 -f 730/1596/83 713/1572/83 712/1571/83 -f 715/1593/73 729/1595/73 711/1570/73 -f 708/1592/74 712/1571/74 729/1595/74 -f 727/1603/75 708/1567/75 710/1569/75 -f 724/1605/76 709/1568/76 728/1606/76 -f 730/1608/3 727/1621/3 723/1609/3 -s 1 -f 365/1622/2 366/1623/2 367/1624/2 -f 368/1625/5 369/1626/5 370/1627/5 -f 371/1628/86 372/1629/86 373/1630/2 -f 374/1631/1 365/1632/1 369/1633/1 -f 375/1634/3 374/1635/3 368/1636/3 -f 376/1637/87 377/1638/88 378/1639/88 -f 379/1640/89 380/1641/90 381/1642/90 -f 377/1638/88 382/1643/91 378/1639/88 -f 382/1644/92 383/1645/93 384/1646/93 -f 385/1647/94 386/1648/95 387/1649/95 -f 387/1649/96 388/1650/89 379/1651/89 -f 380/1641/90 389/1652/97 381/1642/90 -f 390/1653/98 371/1628/86 389/1652/98 -f 384/1646/93 391/1654/94 385/1647/94 -f 392/1655/99 393/1656/99 394/1657/99 -f 393/1658/100 395/1659/87 376/1637/87 -f 394/1660/101 368/1661/101 392/1662/101 -f 395/1663/1 370/1664/1 388/1665/1 -f 381/1666/4 396/1667/4 376/1668/4 -f 370/1664/1 397/1669/1 373/1670/102 -f 365/1632/103 398/1671/103 369/1633/103 -f 399/1672/104 367/1624/104 400/1673/104 -f 398/1674/105 370/1627/105 369/1626/105 -f 400/1673/14 396/1675/14 397/1676/14 -f 365/1622/2 375/1677/2 366/1623/2 -f 368/1625/5 374/1678/5 369/1626/5 -f 397/1676/106 396/1675/106 373/1630/106 -f 396/1675/2 371/1628/86 373/1630/2 -f 374/1631/1 375/1679/1 365/1632/1 -f 401/1680/3 366/1681/3 368/1636/3 -f 366/1681/3 375/1634/3 368/1636/3 -f 376/1637/87 395/1659/87 377/1638/88 -f 379/1640/89 388/1682/89 380/1641/90 -f 377/1638/88 402/1683/91 382/1643/91 -f 382/1644/92 402/1684/92 383/1645/93 -f 385/1647/94 391/1654/94 386/1648/95 -f 387/1649/96 386/1648/96 388/1650/89 -f 380/1641/90 390/1653/97 389/1652/97 -f 390/1653/98 372/1629/86 371/1628/86 -f 384/1646/93 383/1645/93 391/1654/94 -f 392/1655/99 403/1685/99 393/1656/99 -f 393/1658/100 403/1686/100 395/1659/87 -f 394/1660/101 401/1687/101 368/1661/101 -f 392/1688/101 368/1689/101 370/1664/1 -f 373/1670/102 372/1690/107 390/1691/108 -f 403/1692/1 392/1688/101 395/1663/1 -f 392/1688/101 370/1664/1 395/1663/1 -f 370/1664/1 373/1670/102 380/1693/108 -f 373/1670/102 390/1691/108 380/1693/108 -f 380/1693/108 388/1665/1 370/1664/1 -f 388/1665/1 386/1694/1 391/1695/1 -f 391/1695/1 383/1696/1 395/1663/1 -f 383/1696/1 402/1697/1 377/1698/1 -f 395/1663/1 383/1696/1 377/1698/1 -f 388/1665/1 391/1695/1 395/1663/1 -f 366/1699/1 401/1700/101 394/1701/101 -f 394/1701/4 393/1702/4 376/1668/4 -f 376/1668/4 378/1703/4 384/1704/4 -f 378/1703/4 382/1705/4 384/1704/4 -f 384/1704/4 385/1706/4 376/1668/4 -f 385/1706/4 387/1707/4 379/1708/4 -f 379/1708/4 381/1666/4 376/1668/4 -f 381/1666/4 389/1709/4 371/1710/4 -f 396/1667/4 381/1666/4 371/1710/4 -f 396/1667/4 400/1711/4 394/1701/4 -f 400/1711/4 367/1712/4 366/1699/4 -f 394/1701/4 400/1711/4 366/1699/4 -f 394/1701/4 376/1668/4 396/1667/4 -f 379/1708/4 376/1668/4 385/1706/4 -f 365/1632/103 399/1713/103 398/1671/103 -f 399/1672/104 365/1622/104 367/1624/104 -f 398/1674/105 397/1714/105 370/1627/105 -f 397/1676/14 398/1715/14 399/1672/14 -f 399/1672/14 400/1673/14 397/1676/14 -f 404/1716/109 405/1717/110 406/1718/111 -f 407/1719/112 408/1720/113 404/1716/109 -f 409/1721/114 410/1722/115 407/1723/112 -f 411/1724/116 412/1725/117 409/1721/114 -f 413/1726/118 414/1727/119 411/1728/116 -f 415/1729/120 413/1726/118 416/1730/121 -f 417/1731/122 416/1732/121 418/1733/123 -f 405/1734/110 419/1735/124 417/1731/122 -f 410/1736/115 420/1737/125 408/1720/113 -f 412/1725/117 421/1738/126 410/1722/115 -f 414/1739/119 422/1740/127 412/1725/117 -f 423/1741/128 414/1727/119 424/1742/129 -f 425/1743/130 424/1742/129 415/1729/120 -f 419/1735/124 415/1744/120 417/1731/122 -f 426/1745/131 427/1746/132 428/1747/133 -f 408/1720/113 427/1748/132 405/1717/110 -f 420/1737/125 428/1749/133 427/1748/132 -f 421/1750/126 429/1751/134 420/1737/125 -f 422/1740/127 430/1752/135 421/1738/126 -f 431/1753/136 432/1754/137 422/1740/127 -f 433/1755/138 431/1756/136 423/1741/128 -f 434/1757/139 423/1741/128 425/1743/130 -f 426/1745/131 425/1758/130 419/1735/124 -f 435/1759/140 428/1747/133 436/1760/141 -f 429/1751/134 436/1761/141 428/1749/133 -f 430/1762/135 437/1763/142 429/1751/134 -f 432/1754/137 438/1764/143 430/1752/135 -f 439/1765/144 440/1766/145 432/1754/137 -f 441/1767/146 439/1768/144 433/1755/138 -f 442/1769/147 433/1755/138 434/1757/139 -f 435/1759/140 434/1770/139 426/1745/131 -f 443/1771/148 435/1759/140 436/1760/141 -f 437/1763/142 443/1772/148 436/1761/141 -f 438/1773/143 444/1774/149 437/1763/142 -f 440/1766/145 445/1775/150 438/1764/143 -f 446/1776/151 440/1766/145 447/1777/152 -f 448/1778/153 447/1779/152 441/1767/146 -f 449/1780/154 441/1767/146 442/1769/147 -f 450/1781/155 442/1782/147 435/1759/140 -f 451/1783/156 450/1781/155 443/1771/148 -f 444/1774/149 451/1784/156 443/1772/148 -f 445/1785/150 452/1786/157 444/1774/149 -f 453/1787/158 454/1788/159 445/1775/150 -f 455/1789/160 453/1787/158 446/1776/151 -f 456/1790/161 446/1791/151 448/1778/153 -f 457/1792/162 448/1778/153 449/1780/154 -f 458/1793/163 449/1794/154 450/1781/155 -f 459/1795/164 458/1793/163 451/1783/156 -f 460/1796/165 451/1784/156 452/1786/157 -f 454/1797/159 460/1796/165 452/1786/157 -f 461/1798/166 454/1788/159 462/1799/167 -f 463/1800/168 462/1799/167 455/1789/160 -f 464/1801/169 455/1802/160 456/1790/161 -f 465/1803/170 456/1790/161 457/1792/162 -f 466/1804/171 457/1805/162 458/1793/163 -f 467/1806/172 466/1804/171 459/1795/164 -f 468/1807/173 459/1808/164 460/1796/165 -f 469/1809/174 460/1796/165 470/1810/175 -f 471/1811/176 470/1812/175 461/1798/166 -f 472/1813/177 461/1798/166 463/1800/168 -f 473/1814/178 463/1815/168 464/1801/169 -f 474/1816/179 464/1801/169 465/1803/170 -f 475/1817/180 465/1818/170 466/1804/171 -f 476/1819/181 475/1817/180 467/1806/172 -f 477/1820/182 467/1821/172 468/1807/173 -f 478/1822/183 468/1807/173 469/1809/174 -f 479/1823/184 469/1824/174 471/1811/176 -f 480/1825/185 471/1811/176 472/1813/177 -f 481/1826/186 472/1827/177 473/1814/178 -f 482/1828/187 473/1814/178 474/1816/179 -f 483/1829/188 474/1816/179 475/1830/180 -f 484/1831/189 483/1832/188 476/1819/181 -f 485/1833/190 476/1834/181 477/1820/182 -f 486/1835/191 477/1820/182 478/1822/183 -f 487/1836/192 478/1822/183 479/1837/184 -f 488/1838/193 479/1823/184 480/1825/185 -f 489/1839/194 480/1840/185 481/1826/186 -f 490/1841/195 481/1826/186 482/1828/187 -f 491/1842/196 482/1828/187 483/1829/188 -f 492/1843/197 491/1844/196 484/1831/189 -f 493/1845/198 484/1846/189 485/1833/190 -f 494/1847/199 485/1833/190 486/1835/191 -f 495/1848/200 486/1835/191 487/1836/192 -f 496/1849/201 487/1850/192 488/1838/193 -f 497/1851/202 488/1852/193 489/1839/194 -f 498/1853/203 489/1839/194 490/1841/195 -f 499/1854/204 490/1841/195 491/1842/196 -f 500/1855/205 499/1856/204 492/1843/197 -f 501/1857/206 492/1843/197 493/1858/198 -f 502/1859/207 493/1845/198 494/1847/199 -f 503/1860/208 494/1847/199 495/1848/200 -f 504/1861/209 495/1862/200 496/1849/201 -f 505/1863/210 496/1849/201 497/1864/202 -f 506/1865/211 497/1851/202 498/1853/203 -f 507/1866/212 498/1853/203 499/1854/204 -f 508/1867/213 507/1868/212 500/1855/205 -f 509/1869/214 500/1855/205 501/1857/206 -f 510/1870/215 501/1871/206 502/1859/207 -f 511/1872/216 502/1859/207 503/1860/208 -f 512/1873/217 503/1874/208 504/1861/209 -f 513/1875/218 504/1861/209 505/1863/210 -f 514/1876/219 505/1877/210 506/1865/211 -f 515/1878/220 506/1865/211 507/1866/212 -f 516/1879/221 515/1880/220 508/1867/213 -f 517/1881/222 508/1867/213 509/1869/214 -f 518/1882/223 509/1883/214 510/1870/215 -f 519/1884/224 510/1870/215 511/1872/216 -f 520/1885/225 511/1886/216 512/1873/217 -f 521/1887/226 512/1873/217 513/1875/218 -f 522/1888/227 513/1889/218 514/1876/219 -f 523/1890/228 514/1876/219 515/1878/220 -f 524/1891/229 523/1892/228 516/1879/221 -f 525/1893/230 516/1894/221 517/1895/222 -f 526/1896/231 517/1895/222 518/1882/223 -f 527/1897/232 518/1882/223 519/1884/224 -f 528/1898/233 519/1899/224 520/1885/225 -f 529/1900/234 520/1901/225 521/1902/226 -f 530/1903/235 521/1902/226 522/1888/227 -f 531/1904/236 522/1888/227 523/1890/228 -f 532/1905/237 531/1906/236 524/1891/229 -f 533/1907/238 524/1908/229 525/1893/230 -f 534/1909/239 525/1893/230 526/1896/231 -f 535/1910/240 526/1896/231 527/1897/232 -f 536/1911/241 527/1912/232 528/1898/233 -f 537/1913/242 528/1914/233 529/1900/234 -f 538/1915/243 529/1900/234 530/1903/235 -f 539/1916/244 530/1903/235 531/1904/236 -f 540/1917/245 539/1918/244 532/1919/237 -f 541/1920/246 532/1921/237 533/1907/238 -f 542/1922/247 533/1907/238 534/1909/239 -f 543/1923/248 534/1909/239 535/1910/240 -f 544/1924/249 535/1925/240 536/1926/241 -f 545/1927/250 536/1928/241 537/1913/242 -f 546/1929/251 537/1913/242 538/1915/243 -f 547/1930/252 538/1915/243 539/1916/244 -f 548/1931/253 547/1932/252 540/1917/245 -f 549/1933/254 540/1934/245 541/1920/246 -f 550/1935/255 541/1920/246 542/1922/247 -f 551/1936/256 542/1922/247 543/1923/248 -f 552/1937/257 543/1938/248 544/1924/249 -f 553/1939/258 544/1940/249 545/1927/250 -f 554/1941/259 545/1927/250 546/1929/251 -f 555/1942/260 546/1929/251 547/1930/252 -f 556/1943/261 555/1944/260 548/1931/253 -f 557/1945/262 548/1931/253 549/1946/254 -f 558/1947/263 549/1933/254 550/1935/255 -f 559/1948/264 550/1935/255 551/1936/256 -f 560/1949/265 551/1950/256 552/1937/257 -f 561/1951/266 552/1937/257 553/1952/258 -f 562/1953/267 553/1939/258 554/1941/259 -f 563/1954/268 554/1941/259 555/1942/260 -f 564/1955/269 563/1956/268 556/1943/261 -f 565/1957/270 556/1943/261 557/1945/262 -f 566/1958/271 557/1959/262 558/1947/263 -f 567/1960/272 558/1947/263 559/1948/264 -f 568/1961/273 559/1962/264 560/1949/265 -f 569/1963/274 560/1949/265 561/1951/266 -f 570/1964/275 561/1965/266 562/1953/267 -f 571/1966/276 562/1953/267 563/1954/268 -f 572/1967/277 571/1968/276 564/1955/269 -f 573/1969/278 564/1955/269 565/1957/270 -f 574/1970/279 565/1971/270 566/1958/271 -f 575/1972/280 566/1958/271 567/1960/272 -f 576/1973/281 567/1974/272 568/1961/273 -f 577/1975/282 568/1961/273 569/1963/274 -f 578/1976/283 569/1977/274 570/1964/275 -f 579/1978/284 570/1964/275 571/1966/276 -f 417/1731/122 406/1979/111 405/1734/110 -f 404/1716/109 408/1720/113 405/1717/110 -f 407/1719/112 410/1736/115 408/1720/113 -f 409/1721/114 412/1725/117 410/1722/115 -f 411/1724/116 414/1739/119 412/1725/117 -f 413/1726/118 424/1742/129 414/1727/119 -f 415/1729/120 424/1742/129 413/1726/118 -f 417/1731/122 415/1744/120 416/1732/121 -f 405/1734/110 427/1746/132 419/1735/124 -f 410/1736/115 421/1750/126 420/1737/125 -f 412/1725/117 422/1740/127 421/1738/126 -f 414/1739/119 431/1753/136 422/1740/127 -f 423/1741/128 431/1756/136 414/1727/119 -f 425/1743/130 423/1741/128 424/1742/129 -f 419/1735/124 425/1758/130 415/1744/120 -f 426/1745/131 419/1735/124 427/1746/132 -f 408/1720/113 420/1737/125 427/1748/132 -f 420/1737/125 429/1751/134 428/1749/133 -f 421/1750/126 430/1762/135 429/1751/134 -f 422/1740/127 432/1754/137 430/1752/135 -f 431/1753/136 439/1765/144 432/1754/137 -f 433/1755/138 439/1768/144 431/1756/136 -f 434/1757/139 433/1755/138 423/1741/128 -f 426/1745/131 434/1770/139 425/1758/130 -f 435/1759/140 426/1745/131 428/1747/133 -f 429/1751/134 437/1763/142 436/1761/141 -f 430/1762/135 438/1773/143 437/1763/142 -f 432/1754/137 440/1766/145 438/1764/143 -f 439/1765/144 447/1777/152 440/1766/145 -f 441/1767/146 447/1779/152 439/1768/144 -f 442/1769/147 441/1767/146 433/1755/138 -f 435/1759/140 442/1782/147 434/1770/139 -f 443/1771/148 450/1781/155 435/1759/140 -f 437/1763/142 444/1774/149 443/1772/148 -f 438/1773/143 445/1785/150 444/1774/149 -f 440/1766/145 453/1787/158 445/1775/150 -f 446/1776/151 453/1787/158 440/1766/145 -f 448/1778/153 446/1791/151 447/1779/152 -f 449/1780/154 448/1778/153 441/1767/146 -f 450/1781/155 449/1794/154 442/1782/147 -f 451/1783/156 458/1793/163 450/1781/155 -f 444/1774/149 452/1786/157 451/1784/156 -f 445/1785/150 454/1797/159 452/1786/157 -f 453/1787/158 462/1799/167 454/1788/159 -f 455/1789/160 462/1799/167 453/1787/158 -f 456/1790/161 455/1802/160 446/1791/151 -f 457/1792/162 456/1790/161 448/1778/153 -f 458/1793/163 457/1805/162 449/1794/154 -f 459/1795/164 466/1804/171 458/1793/163 -f 460/1796/165 459/1808/164 451/1784/156 -f 454/1797/159 470/1810/175 460/1796/165 -f 461/1798/166 470/1812/175 454/1788/159 -f 463/1800/168 461/1798/166 462/1799/167 -f 464/1801/169 463/1815/168 455/1802/160 -f 465/1803/170 464/1801/169 456/1790/161 -f 466/1804/171 465/1818/170 457/1805/162 -f 467/1806/172 475/1817/180 466/1804/171 -f 468/1807/173 467/1821/172 459/1808/164 -f 469/1809/174 468/1807/173 460/1796/165 -f 471/1811/176 469/1824/174 470/1812/175 -f 472/1813/177 471/1811/176 461/1798/166 -f 473/1814/178 472/1827/177 463/1815/168 -f 474/1816/179 473/1814/178 464/1801/169 -f 475/1817/180 474/1980/179 465/1818/170 -f 476/1819/181 483/1832/188 475/1817/180 -f 477/1820/182 476/1834/181 467/1821/172 -f 478/1822/183 477/1820/182 468/1807/173 -f 479/1823/184 478/1981/183 469/1824/174 -f 480/1825/185 479/1823/184 471/1811/176 -f 481/1826/186 480/1840/185 472/1827/177 -f 482/1828/187 481/1826/186 473/1814/178 -f 483/1829/188 482/1828/187 474/1816/179 -f 484/1831/189 491/1844/196 483/1832/188 -f 485/1833/190 484/1846/189 476/1834/181 -f 486/1835/191 485/1833/190 477/1820/182 -f 487/1836/192 486/1835/191 478/1822/183 -f 488/1838/193 487/1850/192 479/1823/184 -f 489/1839/194 488/1852/193 480/1840/185 -f 490/1841/195 489/1839/194 481/1826/186 -f 491/1842/196 490/1841/195 482/1828/187 -f 492/1843/197 499/1856/204 491/1844/196 -f 493/1845/198 492/1982/197 484/1846/189 -f 494/1847/199 493/1845/198 485/1833/190 -f 495/1848/200 494/1847/199 486/1835/191 -f 496/1849/201 495/1862/200 487/1850/192 -f 497/1851/202 496/1983/201 488/1852/193 -f 498/1853/203 497/1851/202 489/1839/194 -f 499/1854/204 498/1853/203 490/1841/195 -f 500/1855/205 507/1868/212 499/1856/204 -f 501/1857/206 500/1855/205 492/1843/197 -f 502/1859/207 501/1871/206 493/1845/198 -f 503/1860/208 502/1859/207 494/1847/199 -f 504/1861/209 503/1874/208 495/1862/200 -f 505/1863/210 504/1861/209 496/1849/201 -f 506/1865/211 505/1877/210 497/1851/202 -f 507/1866/212 506/1865/211 498/1853/203 -f 508/1867/213 515/1880/220 507/1868/212 -f 509/1869/214 508/1867/213 500/1855/205 -f 510/1870/215 509/1883/214 501/1871/206 -f 511/1872/216 510/1870/215 502/1859/207 -f 512/1873/217 511/1886/216 503/1874/208 -f 513/1875/218 512/1873/217 504/1861/209 -f 514/1876/219 513/1889/218 505/1877/210 -f 515/1878/220 514/1876/219 506/1865/211 -f 516/1879/221 523/1892/228 515/1880/220 -f 517/1881/222 516/1879/221 508/1867/213 -f 518/1882/223 517/1895/222 509/1883/214 -f 519/1884/224 518/1882/223 510/1870/215 -f 520/1885/225 519/1899/224 511/1886/216 -f 521/1887/226 520/1885/225 512/1873/217 -f 522/1888/227 521/1902/226 513/1889/218 -f 523/1890/228 522/1888/227 514/1876/219 -f 524/1891/229 531/1906/236 523/1892/228 -f 525/1893/230 524/1908/229 516/1894/221 -f 526/1896/231 525/1893/230 517/1895/222 -f 527/1897/232 526/1896/231 518/1882/223 -f 528/1898/233 527/1912/232 519/1899/224 -f 529/1900/234 528/1914/233 520/1901/225 -f 530/1903/235 529/1900/234 521/1902/226 -f 531/1904/236 530/1903/235 522/1888/227 -f 532/1905/237 539/1984/244 531/1906/236 -f 533/1907/238 532/1921/237 524/1908/229 -f 534/1909/239 533/1907/238 525/1893/230 -f 535/1910/240 534/1909/239 526/1896/231 -f 536/1911/241 535/1985/240 527/1912/232 -f 537/1913/242 536/1928/241 528/1914/233 -f 538/1915/243 537/1913/242 529/1900/234 -f 539/1916/244 538/1915/243 530/1903/235 -f 540/1917/245 547/1932/252 539/1918/244 -f 541/1920/246 540/1934/245 532/1921/237 -f 542/1922/247 541/1920/246 533/1907/238 -f 543/1923/248 542/1922/247 534/1909/239 -f 544/1924/249 543/1938/248 535/1925/240 -f 545/1927/250 544/1940/249 536/1928/241 -f 546/1929/251 545/1927/250 537/1913/242 -f 547/1930/252 546/1929/251 538/1915/243 -f 548/1931/253 555/1944/260 547/1932/252 -f 549/1933/254 548/1986/253 540/1934/245 -f 550/1935/255 549/1933/254 541/1920/246 -f 551/1936/256 550/1935/255 542/1922/247 -f 552/1937/257 551/1950/256 543/1938/248 -f 553/1939/258 552/1987/257 544/1940/249 -f 554/1941/259 553/1939/258 545/1927/250 -f 555/1942/260 554/1941/259 546/1929/251 -f 556/1943/261 563/1956/268 555/1944/260 -f 557/1945/262 556/1943/261 548/1931/253 -f 558/1947/263 557/1959/262 549/1933/254 -f 559/1948/264 558/1947/263 550/1935/255 -f 560/1949/265 559/1962/264 551/1950/256 -f 561/1951/266 560/1949/265 552/1937/257 -f 562/1953/267 561/1965/266 553/1939/258 -f 563/1954/268 562/1953/267 554/1941/259 -f 564/1955/269 571/1968/276 563/1956/268 -f 565/1957/270 564/1955/269 556/1943/261 -f 566/1958/271 565/1971/270 557/1959/262 -f 567/1960/272 566/1958/271 558/1947/263 -f 568/1961/273 567/1974/272 559/1962/264 -f 569/1963/274 568/1961/273 560/1949/265 -f 570/1964/275 569/1977/274 561/1965/266 -f 571/1966/276 570/1964/275 562/1953/267 -f 572/1967/277 579/1988/284 571/1968/276 -f 573/1969/278 572/1967/277 564/1955/269 -f 574/1970/279 573/1989/278 565/1971/270 -f 575/1972/280 574/1970/279 566/1958/271 -f 576/1973/281 575/1990/280 567/1974/272 -f 577/1975/282 576/1973/281 568/1961/273 -f 578/1976/283 577/1991/282 569/1977/274 -f 579/1978/284 578/1976/283 570/1964/275 -f 417/1731/122 418/1733/123 406/1979/111 -f 732/1992/5 733/1993/5 734/1994/5 -f 735/1995/285 734/1994/286 736/1996/286 -f 737/1997/287 738/1998/288 739/1999/288 -f 739/2000/288 732/1992/289 740/2001/289 -f 740/2002/289 741/2003/290 742/2004/291 -f 743/2005/292 741/2006/290 744/2007/293 -f 743/2008/292 745/2009/285 735/2010/285 -f 736/2011/2 737/2012/2 740/2013/2 -f 736/2014/286 746/2015/294 747/2016/295 -f 747/2017/295 733/1993/296 737/2018/287 -f 748/2019/297 749/2020/298 750/2021/298 -f 751/2022/299 752/2023/297 748/2024/297 -f 753/2025/300 754/2026/299 751/2027/299 -f 755/2028/301 756/2029/300 753/2030/300 -f 757/2031/5 758/2032/5 759/2033/5 -f 760/2034/302 757/2035/293 761/2036/302 -f 755/2037/303 762/2038/304 760/2039/303 -f 763/2040/286 761/2041/302 764/2042/286 -f 760/2043/303 765/2044/305 755/2045/303 -f 763/2046/286 766/2047/295 767/2048/295 -f 767/2049/306 765/2044/305 763/2050/305 -f 767/2051/295 759/2052/296 768/2053/296 -f 768/2054/7 769/2055/306 767/2056/306 -f 768/2057/296 770/2058/307 771/2059/307 -f 771/2060/8 772/2061/7 768/2062/7 -f 771/2063/307 758/2064/289 773/2065/289 -f 773/2066/308 750/2067/8 771/2060/8 -f 774/2068/309 758/2069/289 775/2070/309 -f 774/2071/310 748/2072/308 773/2073/308 -f 774/2074/309 757/2075/293 762/2076/293 -f 762/2038/304 751/2077/310 774/2078/310 -f 776/2079/2 752/2080/2 756/2081/2 -f 765/2082/311 777/2083/301 755/2084/301 -f 769/2085/312 778/2086/311 765/2087/311 -f 769/2088/312 776/2089/313 779/2090/312 -f 750/2091/298 776/2092/313 772/2093/313 -f 780/2094/300 781/2095/299 782/2096/299 -f 783/2097/301 784/2098/300 780/2099/300 -f 785/2100/314 786/2101/315 787/2102/315 -f 788/2103/313 789/2104/314 785/2105/314 -f 788/2106/313 790/2107/298 791/2108/313 -f 792/2109/297 790/2110/298 793/2111/316 -f 792/2112/297 781/2113/299 794/2114/297 -f 795/2115/5 796/2116/5 797/2117/5 -f 798/2118/293 799/2119/302 800/2120/302 -f 783/2121/303 798/2122/304 800/2123/303 -f 800/2124/302 795/2125/286 801/2126/286 -f 800/2123/303 787/2127/305 783/2121/303 -f 801/2128/286 802/2129/295 803/2130/295 -f 803/2131/306 787/2132/305 801/2133/305 -f 803/2134/295 804/2135/296 805/2136/287 -f 805/2137/7 785/2138/306 803/2139/306 -f 805/2140/287 806/2141/307 807/2142/307 -f 807/2143/8 788/2144/7 805/2145/7 -f 807/2146/307 797/2147/317 808/2148/317 -f 808/2149/308 793/2150/8 807/2143/8 -f 808/2151/317 809/2152/290 810/2153/290 -f 810/2154/310 792/2155/308 808/2156/308 -f 810/2157/290 796/2158/293 798/2159/293 -f 798/2160/304 782/2161/310 810/2154/310 -f 786/2162/2 791/2163/2 794/2164/2 -f 787/2165/315 811/2166/301 783/2167/301 -f 734/1994/5 745/2168/5 744/2007/5 -f 744/2007/5 741/2006/5 732/1992/5 -f 732/1992/5 738/2169/5 733/1993/5 -f 733/1993/5 746/2170/5 734/1994/5 -f 734/1994/5 744/2007/5 732/1992/5 -f 735/1995/285 745/2168/285 734/1994/286 -f 737/1997/287 733/2171/296 738/1998/288 -f 739/2000/288 738/2169/288 732/1992/289 -f 740/2002/289 732/2172/289 741/2003/290 -f 743/2005/292 742/2173/291 741/2006/290 -f 743/2008/292 744/2174/293 745/2009/285 -f 743/2175/2 735/2176/2 736/2011/2 -f 736/2011/2 747/2177/2 737/2012/2 -f 737/2012/2 739/2178/2 740/2013/2 -f 740/2013/2 742/2179/2 743/2175/2 -f 743/2175/2 736/2011/2 740/2013/2 -f 736/2014/286 734/2180/286 746/2015/294 -f 747/2017/295 746/2170/294 733/1993/296 -f 748/2019/297 752/2181/297 749/2020/298 -f 751/2022/299 754/2182/299 752/2023/297 -f 753/2025/300 756/2183/300 754/2026/299 -f 755/2028/301 777/2184/301 756/2029/300 -f 764/2185/5 761/2186/5 757/2031/5 -f 757/2031/5 775/2187/5 758/2032/5 -f 758/2032/5 770/2188/5 759/2033/5 -f 759/2033/5 766/2189/5 764/2185/5 -f 764/2185/5 757/2031/5 759/2033/5 -f 760/2034/302 762/2190/293 757/2035/293 -f 755/2037/303 753/2191/304 762/2038/304 -f 763/2040/286 760/2192/302 761/2041/302 -f 760/2043/303 763/2050/305 765/2044/305 -f 763/2046/286 764/2193/286 766/2047/295 -f 767/2049/306 769/2194/306 765/2044/305 -f 767/2051/295 766/2195/295 759/2052/296 -f 768/2054/7 772/2196/7 769/2055/306 -f 768/2057/296 759/2197/296 770/2058/307 -f 771/2060/8 750/2067/8 772/2061/7 -f 771/2063/307 770/2198/307 758/2064/289 -f 773/2066/308 748/2199/308 750/2067/8 -f 774/2068/309 773/2200/289 758/2069/289 -f 774/2071/310 751/2201/310 748/2072/308 -f 774/2074/309 775/2202/309 757/2075/293 -f 762/2038/304 753/2191/304 751/2077/310 -f 756/2081/2 777/2203/2 778/2204/2 -f 778/2204/2 779/2205/2 776/2079/2 -f 776/2079/2 749/2206/2 752/2080/2 -f 752/2080/2 754/2207/2 756/2081/2 -f 756/2081/2 778/2204/2 776/2079/2 -f 765/2082/311 778/2208/311 777/2083/301 -f 769/2085/312 779/2209/312 778/2086/311 -f 769/2088/312 772/2210/313 776/2089/313 -f 750/2091/298 749/2211/298 776/2092/313 -f 780/2094/300 784/2212/300 781/2095/299 -f 783/2097/301 811/2213/301 784/2098/300 -f 785/2100/314 789/2214/314 786/2101/315 -f 788/2103/313 791/2215/313 789/2104/314 -f 788/2106/313 793/2216/316 790/2107/298 -f 792/2109/297 794/2217/297 790/2110/298 -f 792/2112/297 782/2218/299 781/2113/299 -f 795/2115/5 799/2219/5 796/2116/5 -f 796/2116/5 809/2220/5 797/2117/5 -f 797/2117/5 806/2221/5 795/2115/5 -f 806/2221/5 804/2222/5 795/2115/5 -f 804/2222/5 802/2223/5 795/2115/5 -f 798/2118/293 796/2224/293 799/2119/302 -f 783/2121/303 780/2225/304 798/2122/304 -f 800/2124/302 799/2226/302 795/2125/286 -f 800/2123/303 801/2227/305 787/2127/305 -f 801/2128/286 795/2228/286 802/2129/295 -f 803/2131/306 785/2229/306 787/2132/305 -f 803/2134/295 802/2230/295 804/2135/296 -f 805/2137/7 788/2231/7 785/2138/306 -f 805/2140/287 804/2232/296 806/2141/307 -f 807/2143/8 793/2150/8 788/2144/7 -f 807/2146/307 806/2233/307 797/2147/317 -f 808/2149/308 792/2234/308 793/2150/8 -f 808/2151/317 797/2235/317 809/2152/290 -f 810/2154/310 782/2161/310 792/2155/308 -f 810/2157/290 809/2236/290 796/2158/293 -f 798/2160/304 780/2237/304 782/2161/310 -f 784/2238/2 811/2239/2 786/2162/2 -f 786/2162/2 789/2240/2 791/2163/2 -f 791/2163/2 790/2241/2 794/2164/2 -f 794/2164/2 781/2242/2 784/2238/2 -f 784/2238/2 786/2162/2 794/2164/2 -f 787/2165/315 786/2243/315 811/2166/301 -f 812/2244/318 813/2245/319 814/2246/320 -f 815/2247/321 816/2248/322 812/2249/318 -f 817/2250/323 818/2251/324 815/2247/321 -f 819/2252/325 817/2253/323 820/2254/326 -f 821/2255/327 820/2254/326 822/2256/328 -f 823/2257/329 822/2258/328 824/2259/330 -f 825/2260/331 824/2259/330 826/2261/332 -f 827/2262/333 828/2263/334 829/2264/335 -f 818/2251/324 827/2265/333 816/2248/322 -f 830/2266/336 831/2267/337 818/2251/324 -f 832/2268/338 830/2269/336 819/2252/325 -f 833/2270/339 819/2252/325 821/2255/327 -f 834/2271/340 821/2272/327 823/2257/329 -f 835/2273/341 823/2257/329 825/2260/331 -f 835/2274/341 813/2245/319 829/2264/335 -f 836/2275/342 837/2276/343 828/2263/334 -f 831/2267/337 836/2277/342 827/2265/333 -f 838/2278/344 839/2279/345 831/2267/337 -f 840/2280/346 838/2281/344 832/2268/338 -f 841/2282/347 832/2268/338 833/2270/339 -f 842/2283/348 833/2284/339 834/2271/340 -f 843/2285/349 834/2271/340 835/2273/341 -f 843/2286/349 829/2264/335 828/2263/334 -f 844/2287/350 845/2288/351 837/2276/343 -f 839/2279/345 844/2289/350 836/2277/342 -f 846/2290/352 847/2291/353 839/2279/345 -f 848/2292/354 846/2293/352 840/2280/346 -f 849/2294/355 840/2280/346 841/2282/347 -f 850/2295/356 841/2296/347 842/2283/348 -f 851/2297/357 842/2283/348 843/2285/349 -f 851/2298/357 828/2263/334 837/2276/343 -f 852/2299/358 853/2300/359 845/2288/351 -f 847/2291/353 852/2301/358 844/2289/350 -f 854/2302/360 855/2303/361 847/2291/353 -f 856/2304/362 854/2305/360 848/2292/354 -f 857/2306/363 848/2292/354 849/2294/355 -f 858/2307/364 849/2308/355 850/2295/356 -f 859/2309/365 850/2295/356 851/2297/357 -f 859/2310/365 837/2276/343 845/2288/351 -f 860/2311/366 861/2312/367 853/2300/359 -f 855/2303/361 860/2313/366 852/2301/358 -f 862/2314/368 863/2315/369 855/2303/361 -f 864/2316/370 862/2317/368 856/2304/362 -f 865/2318/371 856/2304/362 857/2306/363 -f 866/2319/372 857/2320/363 858/2307/364 -f 867/2321/373 858/2307/364 859/2309/365 -f 867/2322/373 845/2288/351 853/2300/359 -f 868/2323/374 869/2324/375 861/2312/367 -f 863/2315/369 868/2325/374 860/2313/366 -f 870/2326/376 871/2327/377 863/2315/369 -f 872/2328/378 870/2329/376 864/2316/370 -f 873/2330/379 864/2316/370 865/2318/371 -f 874/2331/380 865/2332/371 866/2319/372 -f 875/2333/381 866/2319/372 867/2321/373 -f 875/2334/381 853/2300/359 861/2312/367 -f 876/2335/382 877/2336/383 869/2324/375 -f 871/2327/377 876/2337/382 868/2325/374 -f 878/2338/384 879/2339/385 871/2327/377 -f 872/2328/378 880/2340/386 878/2341/384 -f 881/2342/387 872/2328/378 873/2330/379 -f 882/2343/388 873/2344/379 874/2331/380 -f 883/2345/389 874/2331/380 875/2333/381 -f 883/2346/389 861/2312/367 869/2324/375 -f 884/2347/390 885/2348/391 877/2336/383 -f 879/2339/385 884/2349/390 876/2337/382 -f 880/2350/386 886/2351/392 879/2339/385 -f 887/2352/393 888/2353/394 880/2340/386 -f 889/2354/395 887/2352/393 881/2342/387 -f 890/2355/396 881/2356/387 882/2343/388 -f 891/2357/397 882/2343/388 883/2345/389 -f 891/2358/397 869/2324/375 877/2336/383 -f 892/2359/398 893/2360/399 885/2348/391 -f 886/2351/392 892/2361/398 884/2349/390 -f 888/2362/394 894/2363/400 886/2351/392 -f 895/2364/401 896/2365/402 888/2353/394 -f 897/2366/403 895/2364/401 889/2354/395 -f 898/2367/404 889/2368/395 890/2355/396 -f 891/2357/397 898/2367/404 890/2355/396 -f 899/2369/405 877/2336/383 885/2348/391 -f 900/2370/406 901/2371/407 893/2360/399 -f 894/2363/400 900/2372/406 892/2361/398 -f 896/2373/402 902/2374/408 894/2363/400 -f 903/2375/409 904/2376/410 896/2365/402 -f 905/2377/411 903/2375/409 897/2366/403 -f 906/2378/412 897/2379/403 898/2367/404 -f 899/2380/405 906/2378/412 898/2367/404 -f 907/2381/413 885/2348/391 893/2360/399 -f 908/2382/414 909/2383/415 901/2384/407 -f 902/2374/408 908/2382/414 900/2372/406 -f 904/2385/410 910/2386/416 902/2374/408 -f 911/2387/417 912/2388/418 904/2376/410 -f 913/2389/419 911/2387/417 905/2377/411 -f 914/2390/420 905/2391/411 906/2378/412 -f 907/2392/413 914/2390/420 906/2378/412 -f 915/2393/421 893/2360/399 901/2371/407 -f 916/2394/422 917/2395/423 909/2383/415 -f 910/2386/416 916/2394/422 908/2382/414 -f 912/2388/418 918/2396/424 910/2397/416 -f 919/2398/425 920/2399/426 912/2388/418 -f 921/2400/427 919/2401/425 913/2402/419 -f 922/2403/428 913/2402/419 914/2390/420 -f 923/2404/429 914/2405/420 915/2393/421 -f 923/2404/429 901/2371/407 909/2406/415 -f 924/2407/430 925/2408/431 917/2395/423 -f 918/2409/424 924/2407/430 916/2394/422 -f 920/2399/426 926/2410/432 918/2396/424 -f 927/2411/433 928/2412/434 920/2399/426 -f 929/2413/435 927/2414/433 921/2400/427 -f 930/2415/436 921/2400/427 922/2403/428 -f 931/2416/437 922/2417/428 923/2404/429 -f 931/2416/437 909/2406/415 917/2418/423 -f 932/2419/438 933/2420/439 925/2408/431 -f 926/2421/432 932/2419/438 924/2407/430 -f 928/2412/434 934/2422/440 926/2410/432 -f 935/2423/441 936/2424/442 928/2412/434 -f 937/2425/443 935/2426/441 929/2413/435 -f 938/2427/444 929/2413/435 930/2415/436 -f 939/2428/445 930/2429/436 931/2416/437 -f 939/2428/445 917/2418/423 925/2430/431 -f 940/2431/446 941/2432/447 933/2420/439 -f 934/2433/440 940/2431/446 932/2419/438 -f 936/2424/442 942/2434/448 934/2422/440 -f 943/2435/449 944/2436/450 936/2424/442 -f 945/2437/451 943/2438/449 937/2425/443 -f 946/2439/452 937/2425/443 938/2427/444 -f 947/2440/453 938/2441/444 939/2428/445 -f 947/2440/453 925/2430/431 933/2442/439 -f 948/2443/454 949/2444/455 941/2432/447 -f 942/2445/448 948/2443/454 940/2431/446 -f 944/2436/450 950/2446/456 942/2434/448 -f 951/2447/457 952/2448/458 944/2436/450 -f 953/2449/459 951/2450/457 945/2437/451 -f 954/2451/460 945/2437/451 946/2439/452 -f 955/2452/461 946/2453/452 947/2440/453 -f 955/2452/461 933/2442/439 941/2454/447 -f 956/2455/462 957/2456/463 949/2444/455 -f 950/2457/456 956/2455/462 948/2443/454 -f 952/2458/458 958/2459/464 950/2457/456 -f 959/2460/465 960/2461/466 952/2448/458 -f 961/2462/467 959/2463/465 953/2449/459 -f 962/2464/468 953/2449/459 954/2451/460 -f 963/2465/469 954/2451/460 955/2466/461 -f 963/2467/469 941/2454/447 949/2468/455 -f 964/2469/470 965/2470/471 957/2456/463 -f 958/2459/464 964/2469/470 956/2455/462 -f 960/2471/466 966/2472/472 958/2459/464 -f 967/2473/473 968/2474/474 960/2475/466 -f 969/2476/475 967/2477/473 961/2462/467 -f 970/2478/476 961/2462/467 962/2464/468 -f 971/2479/477 962/2464/468 963/2465/469 -f 971/2480/477 949/2481/455 957/2482/463 -f 966/2472/472 972/2483/478 964/2469/470 -f 968/2474/474 973/2484/479 966/2485/472 -f 974/2486/480 975/2487/481 968/2474/474 -f 969/2476/475 976/2488/482 974/2489/480 -f 970/2478/476 977/2490/483 969/2476/475 -f 971/2480/477 978/2491/484 970/2492/476 -f 979/2493/485 957/2482/463 965/2494/471 -f 980/2495/486 965/2494/471 981/2496/487 -f 972/2483/478 981/2497/487 965/2470/471 -f 973/2498/479 982/2499/488 972/2483/478 -f 975/2487/481 983/2500/489 973/2484/479 -f 976/2501/482 984/2502/490 975/2487/481 -f 977/2490/483 985/2503/491 976/2488/482 -f 978/2504/484 986/2505/492 977/2490/483 -f 979/2493/485 987/2506/493 978/2491/484 -f 825/2507/331 814/2246/320 813/2245/319 -f 816/2508/322 829/2264/335 813/2245/319 -f 812/2244/318 816/2508/322 813/2245/319 -f 815/2247/321 818/2251/324 816/2248/322 -f 817/2250/323 830/2266/336 818/2251/324 -f 819/2252/325 830/2269/336 817/2253/323 -f 821/2255/327 819/2252/325 820/2254/326 -f 823/2257/329 821/2272/327 822/2258/328 -f 825/2260/331 823/2257/329 824/2259/330 -f 827/2262/333 836/2275/342 828/2263/334 -f 818/2251/324 831/2267/337 827/2265/333 -f 830/2266/336 838/2278/344 831/2267/337 -f 832/2268/338 838/2281/344 830/2269/336 -f 833/2270/339 832/2268/338 819/2252/325 -f 834/2271/340 833/2284/339 821/2272/327 -f 835/2273/341 834/2271/340 823/2257/329 -f 835/2274/341 825/2507/331 813/2245/319 -f 836/2275/342 844/2287/350 837/2276/343 -f 831/2267/337 839/2279/345 836/2277/342 -f 838/2278/344 846/2290/352 839/2279/345 -f 840/2280/346 846/2293/352 838/2281/344 -f 841/2282/347 840/2280/346 832/2268/338 -f 842/2283/348 841/2296/347 833/2284/339 -f 843/2285/349 842/2283/348 834/2271/340 -f 843/2286/349 835/2274/341 829/2264/335 -f 844/2287/350 852/2299/358 845/2288/351 -f 839/2279/345 847/2291/353 844/2289/350 -f 846/2290/352 854/2302/360 847/2291/353 -f 848/2292/354 854/2305/360 846/2293/352 -f 849/2294/355 848/2292/354 840/2280/346 -f 850/2295/356 849/2308/355 841/2296/347 -f 851/2297/357 850/2295/356 842/2283/348 -f 851/2298/357 843/2286/349 828/2263/334 -f 852/2299/358 860/2311/366 853/2300/359 -f 847/2291/353 855/2303/361 852/2301/358 -f 854/2302/360 862/2314/368 855/2303/361 -f 856/2304/362 862/2317/368 854/2305/360 -f 857/2306/363 856/2304/362 848/2292/354 -f 858/2307/364 857/2320/363 849/2308/355 -f 859/2309/365 858/2307/364 850/2295/356 -f 859/2310/365 851/2298/357 837/2276/343 -f 860/2311/366 868/2323/374 861/2312/367 -f 855/2303/361 863/2315/369 860/2313/366 -f 862/2314/368 870/2326/376 863/2315/369 -f 864/2316/370 870/2329/376 862/2317/368 -f 865/2318/371 864/2316/370 856/2304/362 -f 866/2319/372 865/2332/371 857/2320/363 -f 867/2321/373 866/2319/372 858/2307/364 -f 867/2322/373 859/2310/365 845/2288/351 -f 868/2323/374 876/2335/382 869/2324/375 -f 863/2315/369 871/2327/377 868/2325/374 -f 870/2326/376 878/2338/384 871/2327/377 -f 872/2328/378 878/2341/384 870/2329/376 -f 873/2330/379 872/2328/378 864/2316/370 -f 874/2331/380 873/2344/379 865/2332/371 -f 875/2333/381 874/2331/380 866/2319/372 -f 875/2334/381 867/2322/373 853/2300/359 -f 876/2335/382 884/2347/390 877/2336/383 -f 871/2327/377 879/2339/385 876/2337/382 -f 878/2338/384 880/2350/386 879/2339/385 -f 872/2328/378 887/2352/393 880/2340/386 -f 881/2342/387 887/2352/393 872/2328/378 -f 882/2343/388 881/2356/387 873/2344/379 -f 883/2345/389 882/2343/388 874/2331/380 -f 883/2346/389 875/2334/381 861/2312/367 -f 884/2347/390 892/2359/398 885/2348/391 -f 879/2339/385 886/2351/392 884/2349/390 -f 880/2350/386 888/2362/394 886/2351/392 -f 887/2352/393 895/2364/401 888/2353/394 -f 889/2354/395 895/2364/401 887/2352/393 -f 890/2355/396 889/2368/395 881/2356/387 -f 891/2357/397 890/2355/396 882/2343/388 -f 891/2358/397 883/2346/389 869/2324/375 -f 892/2359/398 900/2370/406 893/2360/399 -f 886/2351/392 894/2363/400 892/2361/398 -f 888/2362/394 896/2373/402 894/2363/400 -f 895/2364/401 903/2375/409 896/2365/402 -f 897/2366/403 903/2375/409 895/2364/401 -f 898/2367/404 897/2379/403 889/2368/395 -f 891/2357/397 899/2380/405 898/2367/404 -f 899/2369/405 891/2358/397 877/2336/383 -f 900/2370/406 908/2509/414 901/2371/407 -f 894/2363/400 902/2374/408 900/2372/406 -f 896/2373/402 904/2385/410 902/2374/408 -f 903/2375/409 911/2387/417 904/2376/410 -f 905/2377/411 911/2387/417 903/2375/409 -f 906/2378/412 905/2391/411 897/2379/403 -f 899/2380/405 907/2392/413 906/2378/412 -f 907/2381/413 899/2369/405 885/2348/391 -f 908/2382/414 916/2394/422 909/2383/415 -f 902/2374/408 910/2386/416 908/2382/414 -f 904/2385/410 912/2510/418 910/2386/416 -f 911/2387/417 919/2398/425 912/2388/418 -f 913/2389/419 919/2398/425 911/2387/417 -f 914/2390/420 913/2402/419 905/2391/411 -f 907/2392/413 915/2511/421 914/2390/420 -f 915/2393/421 907/2381/413 893/2360/399 -f 916/2394/422 924/2407/430 917/2395/423 -f 910/2386/416 918/2409/424 916/2394/422 -f 912/2388/418 920/2399/426 918/2396/424 -f 919/2398/425 927/2411/433 920/2399/426 -f 921/2400/427 927/2414/433 919/2401/425 -f 922/2403/428 921/2400/427 913/2402/419 -f 923/2404/429 922/2417/428 914/2405/420 -f 923/2404/429 915/2393/421 901/2371/407 -f 924/2407/430 932/2419/438 925/2408/431 -f 918/2409/424 926/2421/432 924/2407/430 -f 920/2399/426 928/2412/434 926/2410/432 -f 927/2411/433 935/2423/441 928/2412/434 -f 929/2413/435 935/2426/441 927/2414/433 -f 930/2415/436 929/2413/435 921/2400/427 -f 931/2416/437 930/2429/436 922/2417/428 -f 931/2416/437 923/2404/429 909/2406/415 -f 932/2419/438 940/2431/446 933/2420/439 -f 926/2421/432 934/2433/440 932/2419/438 -f 928/2412/434 936/2424/442 934/2422/440 -f 935/2423/441 943/2435/449 936/2424/442 -f 937/2425/443 943/2438/449 935/2426/441 -f 938/2427/444 937/2425/443 929/2413/435 -f 939/2428/445 938/2441/444 930/2429/436 -f 939/2428/445 931/2416/437 917/2418/423 -f 940/2431/446 948/2443/454 941/2432/447 -f 934/2433/440 942/2445/448 940/2431/446 -f 936/2424/442 944/2436/450 942/2434/448 -f 943/2435/449 951/2447/457 944/2436/450 -f 945/2437/451 951/2450/457 943/2438/449 -f 946/2439/452 945/2437/451 937/2425/443 -f 947/2440/453 946/2453/452 938/2441/444 -f 947/2440/453 939/2428/445 925/2430/431 -f 948/2443/454 956/2455/462 949/2444/455 -f 942/2445/448 950/2457/456 948/2443/454 -f 944/2436/450 952/2448/458 950/2446/456 -f 951/2447/457 959/2460/465 952/2448/458 -f 953/2449/459 959/2463/465 951/2450/457 -f 954/2451/460 953/2449/459 945/2437/451 -f 955/2452/461 954/2512/460 946/2453/452 -f 955/2452/461 947/2440/453 933/2442/439 -f 956/2455/462 964/2469/470 957/2456/463 -f 950/2457/456 958/2459/464 956/2455/462 -f 952/2458/458 960/2471/466 958/2459/464 -f 959/2460/465 967/2513/473 960/2461/466 -f 961/2462/467 967/2477/473 959/2463/465 -f 962/2464/468 961/2462/467 953/2449/459 -f 963/2465/469 962/2464/468 954/2451/460 -f 963/2467/469 955/2452/461 941/2454/447 -f 964/2469/470 972/2483/478 965/2470/471 -f 958/2459/464 966/2472/472 964/2469/470 -f 960/2471/466 968/2514/474 966/2472/472 -f 967/2473/473 974/2486/480 968/2474/474 -f 969/2476/475 974/2489/480 967/2477/473 -f 970/2478/476 969/2476/475 961/2462/467 -f 971/2479/477 970/2478/476 962/2464/468 -f 971/2480/477 963/2515/469 949/2481/455 -f 966/2472/472 973/2498/479 972/2483/478 -f 968/2474/474 975/2487/481 973/2484/479 -f 974/2486/480 976/2501/482 975/2487/481 -f 969/2476/475 977/2490/483 976/2488/482 -f 970/2478/476 978/2504/484 977/2490/483 -f 971/2480/477 979/2493/485 978/2491/484 -f 979/2493/485 971/2480/477 957/2482/463 -f 980/2495/486 979/2493/485 965/2494/471 -f 972/2483/478 982/2499/488 981/2497/487 -f 973/2498/479 983/2516/489 982/2499/488 -f 975/2487/481 984/2502/490 983/2500/489 -f 976/2501/482 985/2517/491 984/2502/490 -f 977/2490/483 986/2505/492 985/2503/491 -f 978/2504/484 987/2518/493 986/2505/492 -f 979/2493/485 980/2495/486 987/2506/493 -f 825/2507/331 826/2519/332 814/2246/320 -f 816/2508/322 827/2262/333 829/2264/335 -f 988/2520/494 989/2521/494 990/2522/494 -f 991/2523/1 988/2524/1 992/2525/1 -f 993/2526/4 994/2527/4 995/2528/4 -f 996/2529/2 997/2530/2 998/2531/2 -f 993/2532/495 991/2533/495 996/2534/495 -f 999/2535/496 1000/2536/497 1001/2537/496 -f 995/2538/497 992/2539/498 1000/2540/497 -f 994/2541/498 997/2542/499 992/2539/498 -f 999/2543/3 990/2544/3 989/2545/3 -f 988/2520/494 993/2532/494 989/2521/494 -f 990/2546/1 1001/2547/1 1000/2548/1 -f 992/2525/1 997/2549/1 991/2523/1 -f 990/2546/1 1000/2548/1 988/2524/1 -f 1000/2548/1 992/2525/1 988/2524/1 -f 999/2550/4 989/2551/4 995/2528/4 -f 989/2551/4 993/2526/4 995/2528/4 -f 993/2526/4 996/2552/4 994/2527/4 -f 996/2552/4 998/2553/4 994/2527/4 -f 996/2529/2 991/2554/2 997/2530/2 -f 993/2532/495 988/2520/495 991/2533/495 -f 999/2535/496 995/2555/497 1000/2536/497 -f 995/2538/497 994/2541/498 992/2539/498 -f 994/2541/498 998/2556/499 997/2542/499 -f 999/2543/3 1001/2557/3 990/2544/3 -f 1002/2558/500 1003/2559/501 1004/2560/502 -f 1005/2561/503 1006/2562/504 1007/2563/505 -f 1008/2564/506 1009/2565/507 1010/2566/508 -f 1011/2567/509 1012/2568/510 1013/2569/511 -f 1014/2570/512 1015/2571/513 1016/2572/514 -f 1015/2571/513 1017/2573/515 1005/2574/516 -f 1018/2575/517 1019/2576/518 1020/2577/519 -f 1021/2578/520 1022/2579/521 1023/2580/522 -f 1024/2581/523 1025/2582/524 1026/2583/525 -f 1027/2584/526 1028/2585/527 1018/2586/528 -f 1029/2587/529 1030/2588/530 1031/2589/531 -f 1032/2590/532 1033/2591/533 1034/2592/534 -f 1035/2593/535 1036/2594/536 1037/2595/537 -f 1038/2596/538 1039/2597/539 1040/2598/540 -f 1041/2599/541 1032/2590/532 1034/2592/534 -f 1019/2576/518 1041/2599/541 1020/2577/519 -f 1042/2600/542 1026/2583/525 1033/2591/533 -f 1039/2597/539 1043/2601/543 1040/2598/540 -f 1043/2601/543 1008/2564/506 1010/2566/508 -f 1009/2565/507 1044/2602/544 1011/2567/509 -f 1013/2569/511 1014/2570/512 1016/2572/514 -f 1007/2603/545 1045/2604/546 1046/2605/547 -f 1046/2605/547 1047/2606/548 1048/2607/549 -f 1049/2608/550 1050/2609/551 1051/2610/552 -f 1051/2610/552 1029/2587/529 1031/2589/531 -f 1052/2611/553 1053/2612/554 1054/2613/555 -f 1003/2614/501 1027/2584/526 1022/2615/521 -f 1048/2607/549 1055/2616/556 1049/2608/550 -f 1007/2563/505 1056/2617/557 1005/2561/503 -f 1057/2618/558 1058/2619/559 1056/2617/557 -f 1059/2620/560 1060/2621/561 1058/2622/559 -f 1061/2623/562 1062/2624/563 1060/2621/561 -f 1063/2625/564 1064/2626/565 1065/2627/566 -f 1065/2627/566 1066/2628/567 1067/2629/568 -f 1067/2630/568 1068/2631/569 1069/2632/570 -f 1069/2632/570 1006/2562/504 1017/2633/571 -f 1070/2634/572 1071/2635/573 1072/2636/574 -f 1073/2637/575 1074/2638/576 1075/2639/577 -f 1076/2640/578 1023/2580/522 1074/2641/576 -f 1077/2642/579 1036/2594/536 1030/2588/530 -f 1078/2643/580 1079/2644/581 1080/2645/582 -f 1080/2645/582 1081/2646/583 1082/2647/584 -f 1082/2648/584 1083/2649/585 1002/2558/500 -f 1084/2650/586 1085/2651/587 1086/2652/588 -f 1087/2653/589 1054/2613/555 1088/2654/590 -f 1089/2655/591 1037/2595/537 1053/2656/554 -f 1090/2657/592 1091/2658/593 1084/2650/586 -f 1004/2560/502 1022/2579/521 1092/2659/594 -f 1093/2660/595 1094/2661/596 1095/2662/597 -f 1086/2663/588 1096/2664/598 1097/2665/599 -f 1097/2665/599 1098/2666/600 1077/2642/579 -f 1099/2667/601 1075/2639/577 1100/2668/602 -f 1100/2668/602 1074/2638/576 1101/2669/603 -f 1101/2670/603 1023/2671/522 1102/2672/604 -f 1102/2672/604 1022/2615/521 1027/2584/526 -f 1103/2673/605 1079/2644/581 1104/2674/606 -f 1105/2675/607 1081/2646/583 1079/2644/581 -f 1106/2676/608 1083/2677/585 1081/2678/583 -f 1107/2679/609 1003/2614/501 1083/2677/585 -f 1027/2584/526 1108/2680/610 1102/2672/604 -f 1102/2672/604 1109/2681/611 1101/2670/603 -f 1101/2669/603 1109/2682/611 1100/2668/602 -f 1105/2675/607 1110/2683/612 1106/2684/608 -f 1110/2685/612 1107/2679/609 1106/2676/608 -f 1111/2686/613 1112/2687/614 1107/2679/609 -f 1113/2688/615 1114/2689/616 1115/2690/617 -f 1115/2690/617 1116/2691/618 1117/2692/619 -f 1117/2693/619 1118/2694/620 1119/2695/621 -f 1119/2695/621 1034/2592/534 1033/2591/533 -f 1120/2696/622 1121/2697/623 1122/2698/624 -f 1123/2699/625 1124/2700/626 1121/2697/623 -f 1125/2701/627 1126/2702/628 1124/2703/626 -f 1127/2704/629 1032/2590/532 1126/2702/628 -f 1113/2688/615 1128/2705/630 1129/2706/631 -f 1115/2690/617 1130/2707/632 1128/2705/630 -f 1117/2693/619 1131/2708/633 1130/2709/632 -f 1119/2695/621 1026/2583/525 1131/2708/633 -f 1120/2696/622 1132/2710/634 1123/2699/625 -f 1132/2710/634 1125/2711/627 1123/2699/625 -f 1133/2712/635 1127/2704/629 1125/2701/627 -f 1134/2713/636 1042/2600/542 1127/2704/629 -f 1129/2706/631 1135/2714/637 1136/2715/638 -f 1128/2705/630 1137/2716/639 1135/2714/637 -f 1130/2709/632 1138/2717/640 1137/2718/639 -f 1131/2708/633 1025/2582/524 1138/2717/640 -f 1139/2719/641 1132/2710/634 1140/2720/642 -f 1132/2710/634 1141/2721/643 1133/2722/635 -f 1133/2712/635 1142/2723/644 1134/2713/636 -f 1134/2713/636 1143/2724/645 1024/2581/523 -f 1025/2582/524 1144/2725/646 1138/2717/640 -f 1138/2717/640 1145/2726/647 1137/2718/639 -f 1137/2716/639 1146/2727/648 1135/2714/637 -f 1135/2714/637 1146/2727/648 1136/2715/638 -f 1139/2719/641 1147/2728/649 1148/2729/650 -f 1147/2728/649 1141/2721/643 1148/2729/650 -f 1149/2730/651 1142/2723/644 1141/2731/643 -f 1150/2732/652 1143/2724/645 1142/2723/644 -f 1099/2667/601 1151/2733/653 1152/2734/654 -f 1151/2733/653 1153/2735/655 1154/2736/656 -f 1154/2737/656 1155/2738/657 1156/2739/658 -f 1156/2739/658 1020/2577/519 1041/2599/541 -f 1157/2740/659 1158/2741/660 1103/2673/605 -f 1159/2742/661 1160/2743/662 1158/2741/660 -f 1160/2744/662 1161/2745/663 1162/2746/664 -f 1161/2745/663 1019/2576/518 1162/2746/664 -f 1020/2577/519 1108/2747/665 1018/2575/517 -f 1155/2738/657 1109/2748/666 1108/2747/665 -f 1153/2735/655 1100/2668/602 1109/2682/666 -f 1100/2668/602 1163/2749/667 1099/2667/601 -f 1034/2592/534 1156/2739/658 1041/2599/541 -f 1118/2694/620 1154/2737/656 1156/2739/658 -f 1116/2691/618 1151/2733/653 1154/2736/656 -f 1114/2689/616 1152/2734/654 1151/2733/653 -f 1103/2673/605 1158/2741/660 1105/2675/607 -f 1105/2675/607 1160/2743/662 1110/2683/668 -f 1110/2750/668 1162/2746/664 1111/2751/669 -f 1111/2751/669 1019/2576/518 1028/2752/670 -f 1157/2740/659 1121/2697/623 1159/2742/661 -f 1159/2742/661 1124/2700/626 1164/2753/671 -f 1164/2754/671 1126/2702/628 1161/2745/663 -f 1161/2745/663 1032/2590/532 1165/2755/672 -f 1136/2715/638 1166/2756/673 1167/2757/674 -f 1166/2756/673 1168/2758/675 1169/2759/676 -f 1169/2760/676 1170/2761/677 1171/2762/678 -f 1170/2761/677 1043/2601/543 1171/2762/678 -f 1172/2763/679 1173/2764/680 1139/2719/641 -f 1173/2764/680 1174/2765/681 1175/2766/682 -f 1174/2767/681 1176/2768/683 1175/2769/682 -f 1176/2768/683 1177/2770/684 1039/2597/539 -f 1040/2598/540 1144/2771/685 1038/2596/538 -f 1170/2761/677 1145/2772/686 1144/2771/685 -f 1168/2758/675 1146/2727/648 1145/2773/686 -f 1146/2727/648 1178/2774/687 1136/2715/638 -f 1139/2719/641 1173/2764/680 1147/2728/649 -f 1147/2728/649 1175/2766/682 1149/2775/688 -f 1149/2776/688 1176/2768/683 1150/2777/689 -f 1150/2777/689 1039/2597/539 1179/2778/690 -f 1180/2779/691 1181/2780/692 1182/2781/693 -f 1183/2782/694 1184/2783/695 1181/2780/692 -f 1185/2784/696 1186/2785/697 1184/2786/695 -f 1187/2787/698 1009/2565/507 1186/2785/697 -f 1188/2788/699 1189/2789/700 1190/2790/701 -f 1191/2791/702 1192/2792/703 1189/2789/700 -f 1193/2793/704 1194/2794/705 1192/2795/703 -f 1195/2796/706 1008/2564/506 1194/2794/705 -f 1043/2601/543 1187/2787/698 1171/2762/678 -f 1171/2762/678 1185/2784/696 1169/2760/676 -f 1169/2759/676 1183/2782/694 1166/2756/673 -f 1166/2756/673 1180/2779/691 1167/2757/674 -f 1190/2790/701 1196/2797/707 1172/2763/679 -f 1189/2789/700 1174/2765/681 1196/2797/707 -f 1192/2795/703 1197/2798/708 1174/2767/681 -f 1194/2794/705 1177/2770/684 1197/2798/708 -f 1198/2799/709 1199/2800/710 1070/2634/572 -f 1200/2801/711 1201/2802/712 1199/2800/710 -f 1202/2803/713 1203/2804/714 1201/2805/712 -f 1203/2804/714 1011/2567/509 1013/2569/511 -f 1204/2806/715 1205/2807/716 1206/2808/717 -f 1205/2807/716 1207/2809/718 1206/2808/717 -f 1208/2810/719 1209/2811/720 1207/2812/718 -f 1210/2813/721 1044/2602/544 1209/2811/720 -f 1009/2565/507 1211/2814/722 1186/2785/697 -f 1186/2785/697 1202/2803/713 1184/2786/695 -f 1184/2783/695 1200/2801/711 1181/2780/692 -f 1181/2780/692 1198/2799/709 1182/2781/693 -f 1204/2806/715 1191/2791/702 1188/2788/699 -f 1206/2808/717 1193/2815/704 1191/2791/702 -f 1207/2812/718 1195/2796/706 1193/2793/704 -f 1209/2811/720 1212/2816/723 1195/2796/706 -f 1071/2635/573 1213/2817/724 1214/2818/725 -f 1215/2819/726 1216/2820/727 1213/2817/724 -f 1217/2821/728 1218/2822/729 1216/2823/727 -f 1218/2822/729 1016/2572/514 1015/2571/513 -f 1094/2661/596 1219/2824/730 1095/2662/597 -f 1220/2825/731 1221/2826/732 1219/2824/730 -f 1222/2827/733 1223/2828/734 1221/2829/732 -f 1223/2828/734 1224/2830/735 1014/2570/512 -f 1016/2572/514 1203/2804/714 1013/2569/511 -f 1225/2831/736 1201/2805/712 1203/2804/714 -f 1217/2832/728 1199/2800/710 1201/2802/712 -f 1215/2819/726 1070/2634/572 1199/2800/710 -f 1015/2571/513 1056/2833/737 1218/2822/729 -f 1218/2822/729 1058/2834/738 1216/2823/727 -f 1216/2820/727 1060/2621/561 1213/2817/724 -f 1213/2817/724 1062/2624/563 1214/2818/725 -f 1063/2625/564 1220/2825/731 1094/2661/596 -f 1065/2627/566 1222/2835/733 1220/2825/731 -f 1067/2836/739 1226/2837/740 1222/2827/733 -f 1069/2838/741 1224/2830/735 1226/2837/740 -f 1227/2839/742 1219/2824/730 1205/2807/716 -f 1205/2807/716 1221/2826/732 1208/2840/719 -f 1208/2810/719 1223/2828/734 1210/2813/721 -f 1210/2813/721 1014/2570/512 1012/2568/510 -f 1072/2636/574 1228/2841/743 1229/2842/744 -f 1229/2842/744 1230/2843/745 1231/2844/746 -f 1231/2845/746 1232/2846/747 1233/2847/748 -f 1233/2847/748 1046/2605/547 1048/2607/549 -f 1234/2848/749 1235/2849/750 1093/2660/595 -f 1236/2850/751 1237/2851/752 1235/2849/750 -f 1238/2852/753 1239/2853/754 1237/2854/752 -f 1240/2855/755 1045/2604/546 1239/2853/754 -f 1072/2636/574 1241/2856/756 1242/2857/757 -f 1229/2842/744 1243/2858/758 1241/2856/756 -f 1231/2845/746 1244/2859/759 1243/2860/758 -f 1233/2847/748 1049/2608/550 1244/2859/759 -f 1234/2848/749 1245/2861/760 1236/2850/751 -f 1236/2850/751 1246/2862/761 1238/2863/753 -f 1246/2864/761 1240/2855/755 1238/2852/753 -f 1247/2865/762 1047/2606/548 1240/2855/755 -f 1242/2857/757 1248/2866/763 1249/2867/764 -f 1241/2856/756 1250/2868/765 1248/2866/763 -f 1243/2860/758 1251/2869/766 1250/2870/765 -f 1244/2859/759 1051/2610/552 1251/2869/766 -f 1252/2871/767 1253/2872/768 1245/2861/760 -f 1245/2861/760 1254/2873/769 1246/2862/761 -f 1246/2864/761 1255/2874/770 1247/2865/762 -f 1247/2865/762 1050/2609/551 1055/2616/556 -f 1046/2605/547 1057/2875/771 1007/2603/545 -f 1232/2846/747 1059/2876/772 1057/2875/771 -f 1230/2843/745 1061/2623/562 1059/2620/772 -f 1228/2841/743 1256/2877/773 1061/2623/562 -f 1257/2878/774 1235/2849/750 1064/2626/565 -f 1064/2626/565 1237/2851/752 1066/2628/775 -f 1066/2879/775 1239/2853/754 1068/2880/776 -f 1068/2880/776 1045/2604/546 1006/2881/777 -f 1258/2882/778 1248/2866/763 1259/2883/779 -f 1259/2883/779 1250/2868/765 1260/2884/780 -f 1260/2885/780 1251/2869/766 1261/2886/781 -f 1261/2886/781 1051/2610/552 1031/2589/531 -f 1262/2887/782 1253/2872/768 1263/2888/783 -f 1264/2889/784 1254/2873/769 1253/2872/768 -f 1265/2890/785 1255/2874/770 1254/2891/769 -f 1266/2892/786 1050/2609/551 1255/2874/770 -f 1258/2882/778 1052/2611/553 1087/2653/589 -f 1259/2883/779 1089/2893/591 1052/2611/553 -f 1260/2885/780 1035/2593/535 1089/2655/591 -f 1261/2886/781 1030/2588/530 1035/2593/535 -f 1262/2887/782 1084/2650/586 1264/2889/784 -f 1264/2889/784 1086/2652/588 1265/2894/785 -f 1265/2890/785 1097/2665/599 1266/2892/786 -f 1266/2892/786 1077/2642/579 1029/2587/529 -f 1025/2582/524 1179/2895/787 1038/2896/788 -f 1073/2637/575 1088/2654/590 1054/2613/555 -f 1076/2897/578 1054/2613/555 1053/2612/554 -f 1021/2578/520 1053/2656/554 1037/2595/537 -f 1021/2578/520 1036/2594/536 1092/2659/594 -f 1080/2645/582 1267/2898/789 1078/2643/580 -f 1082/2647/584 1091/2658/593 1080/2645/582 -f 1002/2558/500 1085/2899/587 1082/2648/584 -f 1004/2560/502 1096/2664/598 1002/2558/500 -f 1092/2659/594 1098/2666/600 1004/2560/502 -f 1268/2900/790 1075/2639/577 1269/2901/791 -f 1002/2558/500 1083/2649/585 1003/2559/501 -f 1005/2561/503 1017/2633/571 1006/2562/504 -f 1008/2564/506 1212/2816/723 1009/2565/507 -f 1011/2567/509 1044/2602/544 1012/2568/510 -f 1014/2570/512 1224/2830/735 1015/2571/513 -f 1015/2571/513 1224/2830/735 1017/2573/515 -f 1018/2575/517 1028/2752/670 1019/2576/518 -f 1021/2578/520 1092/2659/594 1022/2579/521 -f 1024/2581/523 1143/2724/645 1025/2582/524 -f 1027/2584/526 1112/2687/614 1028/2585/527 -f 1029/2587/529 1077/2642/579 1030/2588/530 -f 1032/2590/532 1042/2600/542 1033/2591/533 -f 1035/2593/535 1030/2588/530 1036/2594/536 -f 1038/2596/538 1179/2778/690 1039/2597/539 -f 1041/2599/541 1165/2755/672 1032/2590/532 -f 1019/2576/518 1165/2755/672 1041/2599/541 -f 1042/2600/542 1024/2581/523 1026/2583/525 -f 1039/2597/539 1177/2770/684 1043/2601/543 -f 1043/2601/543 1177/2770/684 1008/2564/506 -f 1009/2565/507 1212/2816/723 1044/2602/544 -f 1013/2569/511 1012/2568/510 1014/2570/512 -f 1007/2603/545 1006/2881/777 1045/2604/546 -f 1046/2605/547 1045/2604/546 1047/2606/548 -f 1049/2608/550 1055/2616/556 1050/2609/551 -f 1051/2610/552 1050/2609/551 1029/2587/529 -f 1052/2611/553 1089/2893/591 1053/2612/554 -f 1003/2614/501 1112/2687/614 1027/2584/526 -f 1048/2607/549 1047/2606/548 1055/2616/556 -f 1007/2563/505 1057/2618/558 1056/2617/557 -f 1057/2618/558 1059/2902/560 1058/2619/559 -f 1059/2620/560 1061/2623/562 1060/2621/561 -f 1061/2623/562 1256/2877/773 1062/2624/563 -f 1063/2625/564 1257/2878/774 1064/2626/565 -f 1065/2627/566 1064/2626/565 1066/2628/567 -f 1067/2630/568 1066/2903/567 1068/2631/569 -f 1069/2632/570 1068/2631/569 1006/2562/504 -f 1269/2901/791 1099/2667/601 1152/2734/654 -f 1152/2734/654 1270/2904/792 1269/2901/791 -f 1270/2904/792 1113/2688/615 1268/2900/790 -f 1269/2901/791 1270/2904/792 1268/2900/790 -f 1113/2688/615 1129/2706/631 1167/2757/674 -f 1129/2706/631 1136/2715/638 1167/2757/674 -f 1113/2688/615 1167/2757/674 1268/2900/790 -f 1167/2757/674 1180/2779/691 1088/2654/590 -f 1167/2757/674 1088/2654/590 1268/2900/790 -f 1180/2779/691 1182/2781/693 1087/2653/589 -f 1249/2867/764 1258/2882/778 1198/2799/709 -f 1258/2882/778 1087/2653/589 1182/2781/693 -f 1198/2799/709 1258/2882/778 1182/2781/693 -f 1087/2653/589 1088/2654/590 1180/2779/691 -f 1198/2799/709 1070/2634/572 1249/2867/764 -f 1072/2636/574 1242/2857/757 1070/2634/572 -f 1242/2857/757 1249/2867/764 1070/2634/572 -f 1256/2877/773 1271/2905/793 1214/2818/725 -f 1271/2905/793 1072/2636/574 1071/2635/573 -f 1214/2818/725 1062/2624/563 1256/2877/773 -f 1071/2635/573 1214/2818/725 1271/2905/793 -f 1073/2637/575 1076/2897/578 1074/2638/576 -f 1076/2640/578 1021/2578/520 1023/2580/522 -f 1077/2642/579 1098/2666/600 1036/2594/536 -f 1078/2643/580 1104/2674/606 1079/2644/581 -f 1080/2645/582 1079/2644/581 1081/2646/583 -f 1082/2648/584 1081/2906/583 1083/2649/585 -f 1084/2650/586 1091/2658/593 1085/2651/587 -f 1087/2653/589 1052/2611/553 1054/2613/555 -f 1089/2655/591 1035/2593/535 1037/2595/537 -f 1090/2657/592 1267/2898/789 1091/2658/593 -f 1004/2560/502 1003/2559/501 1022/2579/521 -f 1122/2698/624 1157/2740/659 1104/2674/606 -f 1157/2740/659 1103/2673/605 1104/2674/606 -f 1140/2720/642 1120/2696/622 1172/2763/679 -f 1120/2696/622 1122/2698/624 1078/2643/580 -f 1172/2763/679 1139/2719/641 1140/2720/642 -f 1190/2790/701 1172/2763/679 1267/2898/789 -f 1078/2643/580 1172/2763/679 1120/2696/622 -f 1122/2698/624 1104/2674/606 1078/2643/580 -f 1188/2788/699 1190/2790/701 1090/2657/592 -f 1172/2763/679 1078/2643/580 1267/2898/789 -f 1190/2790/701 1267/2898/789 1090/2657/592 -f 1204/2806/715 1188/2788/699 1262/2887/782 -f 1090/2657/592 1262/2887/782 1188/2788/699 -f 1262/2887/782 1263/2888/783 1204/2806/715 -f 1227/2839/742 1204/2806/715 1263/2888/783 -f 1263/2888/783 1252/2871/767 1227/2839/742 -f 1227/2839/742 1252/2871/767 1234/2848/749 -f 1234/2848/749 1093/2660/595 1095/2662/597 -f 1093/2660/595 1257/2878/774 1094/2661/596 -f 1257/2878/774 1063/2625/564 1094/2661/596 -f 1234/2848/749 1095/2662/597 1227/2839/742 -f 1086/2663/588 1085/2899/587 1096/2664/598 -f 1097/2665/599 1096/2664/598 1098/2666/600 -f 1099/2667/601 1269/2901/791 1075/2639/577 -f 1100/2668/602 1075/2639/577 1074/2638/576 -f 1101/2670/603 1074/2907/576 1023/2671/522 -f 1102/2672/604 1023/2671/522 1022/2615/521 -f 1103/2673/605 1105/2675/607 1079/2644/581 -f 1105/2675/607 1106/2684/608 1081/2646/583 -f 1106/2676/608 1107/2679/609 1083/2677/585 -f 1107/2679/609 1112/2687/614 1003/2614/501 -f 1027/2584/526 1018/2586/528 1108/2680/610 -f 1102/2672/604 1108/2680/610 1109/2681/611 -f 1110/2685/612 1111/2686/613 1107/2679/609 -f 1111/2686/613 1028/2585/527 1112/2687/614 -f 1113/2688/615 1270/2904/792 1114/2689/616 -f 1115/2690/617 1114/2689/616 1116/2691/618 -f 1117/2693/619 1116/2908/618 1118/2694/620 -f 1119/2695/621 1118/2694/620 1034/2592/534 -f 1120/2696/622 1123/2699/625 1121/2697/623 -f 1123/2699/625 1125/2711/627 1124/2700/626 -f 1125/2701/627 1127/2704/629 1126/2702/628 -f 1127/2704/629 1042/2600/542 1032/2590/532 -f 1113/2688/615 1115/2690/617 1128/2705/630 -f 1115/2690/617 1117/2692/619 1130/2707/632 -f 1117/2693/619 1119/2695/621 1131/2708/633 -f 1119/2695/621 1033/2591/533 1026/2583/525 -f 1120/2696/622 1140/2720/642 1132/2710/634 -f 1132/2710/634 1133/2722/635 1125/2711/627 -f 1133/2712/635 1134/2713/636 1127/2704/629 -f 1134/2713/636 1024/2581/523 1042/2600/542 -f 1129/2706/631 1128/2705/630 1135/2714/637 -f 1128/2705/630 1130/2707/632 1137/2716/639 -f 1130/2709/632 1131/2708/633 1138/2717/640 -f 1131/2708/633 1026/2583/525 1025/2582/524 -f 1139/2719/641 1148/2729/650 1132/2710/634 -f 1132/2710/634 1148/2729/650 1141/2721/643 -f 1133/2712/635 1141/2731/643 1142/2723/644 -f 1134/2713/636 1142/2723/644 1143/2724/645 -f 1025/2582/524 1038/2896/788 1144/2725/646 -f 1138/2717/640 1144/2725/646 1145/2726/647 -f 1137/2716/639 1145/2773/647 1146/2727/648 -f 1147/2728/649 1149/2775/651 1141/2721/643 -f 1149/2730/651 1150/2732/652 1142/2723/644 -f 1150/2732/652 1179/2895/787 1143/2724/645 -f 1099/2667/601 1163/2749/667 1151/2733/653 -f 1151/2733/653 1163/2749/667 1153/2735/655 -f 1154/2737/656 1153/2909/655 1155/2738/657 -f 1156/2739/658 1155/2738/657 1020/2577/519 -f 1157/2740/659 1159/2742/661 1158/2741/660 -f 1159/2742/661 1164/2753/671 1160/2743/662 -f 1160/2744/662 1164/2754/671 1161/2745/663 -f 1161/2745/663 1165/2755/672 1019/2576/518 -f 1020/2577/519 1155/2738/657 1108/2747/665 -f 1155/2738/657 1153/2909/655 1109/2748/666 -f 1153/2735/655 1163/2749/667 1100/2668/602 -f 1034/2592/534 1118/2694/620 1156/2739/658 -f 1118/2694/620 1116/2908/618 1154/2737/656 -f 1116/2691/618 1114/2689/616 1151/2733/653 -f 1114/2689/616 1270/2904/792 1152/2734/654 -f 1105/2675/607 1158/2741/660 1160/2743/662 -f 1110/2750/668 1160/2744/662 1162/2746/664 -f 1111/2751/669 1162/2746/664 1019/2576/518 -f 1157/2740/659 1122/2698/624 1121/2697/623 -f 1159/2742/661 1121/2697/623 1124/2700/626 -f 1164/2754/671 1124/2703/626 1126/2702/628 -f 1161/2745/663 1126/2702/628 1032/2590/532 -f 1136/2715/638 1178/2774/687 1166/2756/673 -f 1166/2756/673 1178/2774/687 1168/2758/675 -f 1169/2760/676 1168/2910/675 1170/2761/677 -f 1170/2761/677 1040/2598/540 1043/2601/543 -f 1172/2763/679 1196/2797/707 1173/2764/680 -f 1173/2764/680 1196/2797/707 1174/2765/681 -f 1174/2767/681 1197/2798/708 1176/2768/683 -f 1176/2768/683 1197/2798/708 1177/2770/684 -f 1040/2598/540 1170/2761/677 1144/2771/685 -f 1170/2761/677 1168/2910/675 1145/2772/686 -f 1168/2758/675 1178/2774/687 1146/2727/648 -f 1147/2728/649 1173/2764/680 1175/2766/682 -f 1149/2776/688 1175/2769/682 1176/2768/683 -f 1150/2777/689 1176/2768/683 1039/2597/539 -f 1180/2779/691 1183/2782/694 1181/2780/692 -f 1183/2782/694 1185/2911/696 1184/2783/695 -f 1185/2784/696 1187/2787/698 1186/2785/697 -f 1187/2787/698 1010/2566/508 1009/2565/507 -f 1188/2788/699 1191/2791/702 1189/2789/700 -f 1191/2791/702 1193/2815/704 1192/2792/703 -f 1193/2793/704 1195/2796/706 1194/2794/705 -f 1195/2796/706 1212/2816/723 1008/2564/506 -f 1043/2601/543 1010/2566/508 1187/2787/698 -f 1171/2762/678 1187/2787/698 1185/2784/696 -f 1169/2759/676 1185/2911/696 1183/2782/694 -f 1166/2756/673 1183/2782/694 1180/2779/691 -f 1190/2790/701 1189/2789/700 1196/2797/707 -f 1189/2789/700 1192/2792/703 1174/2765/681 -f 1192/2795/703 1194/2794/705 1197/2798/708 -f 1194/2794/705 1008/2564/506 1177/2770/684 -f 1198/2799/709 1200/2801/711 1199/2800/710 -f 1200/2801/711 1202/2912/713 1201/2802/712 -f 1202/2803/713 1211/2814/722 1203/2804/714 -f 1203/2804/714 1211/2814/722 1011/2567/509 -f 1204/2806/715 1227/2839/742 1205/2807/716 -f 1205/2807/716 1208/2840/719 1207/2809/718 -f 1208/2810/719 1210/2813/721 1209/2811/720 -f 1210/2813/721 1012/2568/510 1044/2602/544 -f 1009/2565/507 1011/2567/509 1211/2814/722 -f 1186/2785/697 1211/2814/722 1202/2803/713 -f 1184/2783/695 1202/2912/713 1200/2801/711 -f 1181/2780/692 1200/2801/711 1198/2799/709 -f 1204/2806/715 1206/2808/717 1191/2791/702 -f 1206/2808/717 1207/2809/718 1193/2815/704 -f 1207/2812/718 1209/2811/720 1195/2796/706 -f 1209/2811/720 1044/2602/544 1212/2816/723 -f 1071/2635/573 1215/2819/726 1213/2817/724 -f 1215/2819/726 1217/2832/728 1216/2820/727 -f 1217/2821/728 1225/2831/736 1218/2822/729 -f 1218/2822/729 1225/2831/736 1016/2572/514 -f 1094/2661/596 1220/2825/731 1219/2824/730 -f 1220/2825/731 1222/2835/733 1221/2826/732 -f 1222/2827/733 1226/2837/740 1223/2828/734 -f 1223/2828/734 1226/2837/740 1224/2830/735 -f 1016/2572/514 1225/2831/736 1203/2804/714 -f 1225/2831/736 1217/2821/728 1201/2805/712 -f 1217/2832/728 1215/2819/726 1199/2800/710 -f 1215/2819/726 1071/2635/573 1070/2634/572 -f 1015/2571/513 1005/2574/516 1056/2833/737 -f 1218/2822/729 1056/2833/737 1058/2834/738 -f 1216/2820/727 1058/2622/738 1060/2621/561 -f 1213/2817/724 1060/2621/561 1062/2624/563 -f 1063/2625/564 1065/2627/566 1220/2825/731 -f 1065/2627/566 1067/2629/739 1222/2835/733 -f 1067/2836/739 1069/2838/741 1226/2837/740 -f 1069/2838/741 1017/2573/515 1224/2830/735 -f 1227/2839/742 1095/2662/597 1219/2824/730 -f 1205/2807/716 1219/2824/730 1221/2826/732 -f 1208/2810/719 1221/2829/732 1223/2828/734 -f 1210/2813/721 1223/2828/734 1014/2570/512 -f 1072/2636/574 1271/2905/793 1228/2841/743 -f 1229/2842/744 1228/2841/743 1230/2843/745 -f 1231/2845/746 1230/2913/745 1232/2846/747 -f 1233/2847/748 1232/2846/747 1046/2605/547 -f 1234/2848/749 1236/2850/751 1235/2849/750 -f 1236/2850/751 1238/2863/753 1237/2851/752 -f 1238/2852/753 1240/2855/755 1239/2853/754 -f 1240/2855/755 1047/2606/548 1045/2604/546 -f 1072/2636/574 1229/2842/744 1241/2856/756 -f 1229/2842/744 1231/2844/746 1243/2858/758 -f 1231/2845/746 1233/2847/748 1244/2859/759 -f 1233/2847/748 1048/2607/549 1049/2608/550 -f 1234/2848/749 1252/2871/767 1245/2861/760 -f 1236/2850/751 1245/2861/760 1246/2862/761 -f 1246/2864/761 1247/2865/762 1240/2855/755 -f 1247/2865/762 1055/2616/556 1047/2606/548 -f 1242/2857/757 1241/2856/756 1248/2866/763 -f 1241/2856/756 1243/2858/758 1250/2868/765 -f 1243/2860/758 1244/2859/759 1251/2869/766 -f 1244/2859/759 1049/2608/550 1051/2610/552 -f 1252/2871/767 1263/2888/783 1253/2872/768 -f 1245/2861/760 1253/2872/768 1254/2873/769 -f 1246/2864/761 1254/2891/769 1255/2874/770 -f 1247/2865/762 1255/2874/770 1050/2609/551 -f 1046/2605/547 1232/2846/747 1057/2875/771 -f 1232/2846/747 1230/2913/745 1059/2876/772 -f 1230/2843/745 1228/2841/743 1061/2623/562 -f 1228/2841/743 1271/2905/793 1256/2877/773 -f 1257/2878/774 1093/2660/595 1235/2849/750 -f 1064/2626/565 1235/2849/750 1237/2851/752 -f 1066/2879/775 1237/2854/752 1239/2853/754 -f 1068/2880/776 1239/2853/754 1045/2604/546 -f 1258/2882/778 1249/2867/764 1248/2866/763 -f 1259/2883/779 1248/2866/763 1250/2868/765 -f 1260/2885/780 1250/2870/765 1251/2869/766 -f 1261/2886/781 1251/2869/766 1051/2610/552 -f 1262/2887/782 1264/2889/784 1253/2872/768 -f 1264/2889/784 1265/2894/785 1254/2873/769 -f 1265/2890/785 1266/2892/786 1255/2874/770 -f 1266/2892/786 1029/2587/529 1050/2609/551 -f 1258/2882/778 1259/2883/779 1052/2611/553 -f 1259/2883/779 1260/2884/780 1089/2893/591 -f 1260/2885/780 1261/2886/781 1035/2593/535 -f 1261/2886/781 1031/2589/531 1030/2588/530 -f 1262/2887/782 1090/2657/592 1084/2650/586 -f 1264/2889/784 1084/2650/586 1086/2652/588 -f 1265/2890/785 1086/2663/588 1097/2665/599 -f 1266/2892/786 1097/2665/599 1077/2642/579 -f 1025/2582/524 1143/2724/645 1179/2895/787 -f 1073/2637/575 1268/2900/790 1088/2654/590 -f 1076/2897/578 1073/2637/575 1054/2613/555 -f 1021/2578/520 1076/2640/578 1053/2656/554 -f 1021/2578/520 1037/2595/537 1036/2594/536 -f 1080/2645/582 1091/2658/593 1267/2898/789 -f 1082/2647/584 1085/2651/587 1091/2658/593 -f 1002/2558/500 1096/2664/598 1085/2899/587 -f 1004/2560/502 1098/2666/600 1096/2664/598 -f 1092/2659/594 1036/2594/536 1098/2666/600 -f 1268/2900/790 1073/2637/575 1075/2639/577 -f 1272/2914/794 1273/2915/795 1274/2916/794 -f 1275/2917/796 1276/2918/797 1277/2919/796 -f 1275/2920/1 1278/2921/1 1279/2922/1 -f 1280/2923/795 1281/2924/798 1273/2915/795 -f 1282/2925/798 1283/2926/799 1281/2927/798 -f 1284/2928/799 1285/2929/800 1283/2926/799 -f 1286/2930/800 1287/2931/801 1285/2929/800 -f 1277/2919/796 1288/2932/802 1275/2917/796 -f 1274/2916/794 1289/2933/803 1272/2914/794 -f 1290/2934/803 1291/2935/804 1289/2933/803 -f 1292/2936/804 1293/2937/805 1291/2938/804 -f 1294/2939/805 1295/2940/797 1293/2937/805 -f 1273/2941/4 1296/2942/4 1297/2943/4 -f 1296/2944/806 1298/2945/807 1297/2946/807 -f 1299/2947/808 1279/2948/809 1300/2949/809 -f 1296/2944/806 1301/2950/810 1302/2951/806 -f 1301/2952/810 1303/2953/811 1304/2954/811 -f 1305/2955/812 1303/2953/811 1306/2956/812 -f 1307/2957/802 1306/2956/812 1308/2958/802 -f 1300/2949/809 1278/2959/801 1309/2960/801 -f 1297/2946/807 1310/2961/813 1311/2962/813 -f 1311/2962/813 1312/2963/814 1313/2964/814 -f 1313/2964/814 1314/2965/815 1315/2966/815 -f 1315/2967/815 1316/2968/808 1299/2947/808 -f 1272/2969/1 1298/2970/1 1302/2971/1 -f 1276/2972/4 1299/2973/4 1300/2974/4 -f 1307/2975/816 1287/2976/816 1317/2977/816 -f 1318/2978/817 1278/2979/817 1288/2980/817 -f 1319/2981/818 1320/2982/819 1321/2983/818 -f 1322/2984/3 1323/2985/3 1324/2986/3 -f 1325/2987/3 1326/2988/3 1327/2989/3 -f 1324/2990/820 1328/2991/821 1322/2992/820 -f 1329/2993/2 1327/2994/2 1330/2995/2 -f 1331/2996/821 1332/2997/822 1328/2991/821 -f 1333/2998/822 1321/2983/818 1332/2997/822 -f 1334/2999/823 1335/3000/824 1336/3001/823 -f 1337/3002/1 1338/3003/1 1339/3004/1 -f 1340/3005/825 1341/3006/826 1342/3007/825 -f 1343/3008/827 1344/3009/828 1345/3010/828 -f 1346/3011/829 1342/3007/825 1347/3012/829 -f 1348/3013/830 1336/3001/823 1349/3014/830 -f 1350/3015/824 1351/3016/831 1335/3000/824 -f 1352/3017/832 1326/3018/833 1353/3019/833 -f 1354/3020/826 1349/3021/830 1341/3006/826 -f 1346/3011/829 1323/3022/834 1355/3023/834 -f 1356/3024/831 1344/3025/828 1351/3016/831 -f 1357/3026/832 1358/3027/835 1343/3008/827 -f 1359/3028/836 1327/2994/836 1360/3029/836 -f 1361/3030/837 1336/3001/838 1337/3031/839 -f 1332/3032/840 1362/3033/841 1328/3034/842 -f 1332/3032/840 1363/3035/843 1364/3036/844 -f 1319/3037/845 1365/3038/846 1366/3039/846 -f 1333/3040/847 1367/3041/848 1319/3037/845 -f 1333/3040/847 1368/3042/849 1369/3043/850 -f 1370/3044/851 1350/3015/852 1334/2999/853 -f 1341/3045/854 1361/3046/837 1371/3047/855 -f 1372/3048/856 1343/3049/857 1345/3050/858 -f 1368/3042/849 1324/3051/859 1323/3052/860 -f 1346/3011/861 1355/3023/862 1362/3053/863 -f 1373/3054/864 1346/3011/861 1362/3053/863 -f 1374/3055/865 1340/3005/866 1373/3054/864 -f 1334/2999/853 1375/3056/867 1370/3044/851 -f 1327/2989/868 1376/3057/868 1360/3058/868 -f 1326/3059/869 1357/3060/870 1376/3061/871 -f 1347/3012/872 1377/3062/873 1368/3063/874 -f 1342/3007/875 1371/3064/855 1377/3062/873 -f 1330/3065/876 1378/3066/876 1320/3067/876 -f 1379/3068/877 1357/3060/870 1343/3049/857 -f 1335/3000/878 1337/3031/839 1336/3001/838 -f 1352/3069/879 1380/3070/880 1358/3071/881 -f 1352/3069/879 1353/3072/882 1381/3073/883 -f 1344/3074/884 1382/3075/885 1351/3076/886 -f 1359/3077/4 1383/3078/4 1370/3079/4 -f 1325/3080/887 1339/3081/887 1384/3082/887 -f 1338/3003/888 1351/3076/886 1382/3075/885 -f 1378/3083/889 1321/3084/890 1320/3085/889 -f 1375/3086/867 1354/3087/891 1374/3088/865 -f 1329/3089/892 1365/3090/892 1339/3091/892 -f 1381/3092/893 1325/2987/893 1384/3093/893 -f 1368/3063/874 1323/3022/894 1347/3012/872 -f 1385/3094/895 1358/3071/881 1380/3070/880 -f 1383/3078/896 1356/3095/897 1350/3096/852 -f 1322/3097/898 1362/3033/841 1355/3098/899 -f 1345/3050/858 1386/3099/900 1372/3048/856 -f 1366/3100/14 1330/3065/14 1320/3067/14 -f 1272/2914/794 1280/2923/795 1273/2915/795 -f 1275/2917/796 1295/2940/797 1276/2918/797 -f 1316/3101/1 1295/3102/1 1275/2920/1 -f 1275/2920/1 1288/3103/1 1278/2921/1 -f 1279/2922/1 1316/3101/1 1275/2920/1 -f 1280/2923/795 1282/3104/798 1281/2924/798 -f 1282/2925/798 1284/2928/799 1283/2926/799 -f 1284/2928/799 1286/2930/800 1285/2929/800 -f 1286/2930/800 1317/3105/801 1287/2931/801 -f 1277/2919/796 1318/3106/802 1288/2932/802 -f 1274/2916/794 1290/2934/803 1289/2933/803 -f 1290/2934/803 1292/3107/804 1291/2935/804 -f 1292/2936/804 1294/2939/805 1293/2937/805 -f 1294/2939/805 1276/2918/797 1295/2940/797 -f 1315/3108/4 1299/2973/4 1276/2972/4 -f 1290/3109/4 1274/3110/4 1311/3111/4 -f 1274/3110/4 1273/2941/4 1297/2943/4 -f 1285/3112/4 1287/3113/4 1306/3114/4 -f 1287/3113/4 1308/3115/4 1306/3114/4 -f 1315/3108/4 1276/2972/4 1294/3116/4 -f 1313/3117/4 1315/3108/4 1292/3118/4 -f 1315/3108/4 1294/3116/4 1292/3118/4 -f 1283/3119/4 1285/3112/4 1306/3114/4 -f 1283/3119/4 1306/3114/4 1303/3120/4 -f 1311/3111/4 1313/3117/4 1292/3118/4 -f 1281/3121/4 1283/3119/4 1387/3122/4 -f 1283/3119/4 1303/3120/4 1387/3122/4 -f 1311/3111/4 1292/3118/4 1290/3109/4 -f 1297/2943/4 1311/3111/4 1274/3110/4 -f 1273/2941/4 1281/3121/4 1387/3122/4 -f 1273/2941/4 1387/3122/4 1296/2942/4 -f 1296/2944/806 1302/2951/806 1298/2945/807 -f 1299/2947/808 1316/2968/808 1279/2948/809 -f 1296/2944/806 1387/3123/810 1301/2950/810 -f 1301/2952/810 1387/3124/810 1303/2953/811 -f 1305/2955/812 1304/2954/811 1303/2953/811 -f 1307/2957/802 1305/2955/812 1306/2956/812 -f 1300/2949/809 1279/2948/809 1278/2959/801 -f 1297/2946/807 1298/2945/807 1310/2961/813 -f 1311/2962/813 1310/2961/813 1312/2963/814 -f 1313/2964/814 1312/2963/814 1314/2965/815 -f 1315/2967/815 1314/3125/815 1316/2968/808 -f 1305/3126/1 1307/3127/1 1317/3128/1 -f 1282/3129/1 1280/3130/1 1301/3131/1 -f 1280/3130/1 1272/2969/1 1302/2971/1 -f 1293/3132/1 1295/3102/1 1314/3133/1 -f 1295/3102/1 1316/3101/1 1314/3133/1 -f 1305/3126/1 1317/3128/1 1286/3134/1 -f 1304/3135/1 1305/3126/1 1284/3136/1 -f 1305/3126/1 1286/3134/1 1284/3136/1 -f 1291/3137/1 1293/3132/1 1314/3133/1 -f 1291/3137/1 1314/3133/1 1312/3138/1 -f 1301/3131/1 1304/3135/1 1284/3136/1 -f 1289/3139/1 1291/3137/1 1310/3140/1 -f 1291/3137/1 1312/3138/1 1310/3140/1 -f 1301/3131/1 1284/3136/1 1282/3129/1 -f 1302/2971/1 1301/3131/1 1280/3130/1 -f 1272/2969/1 1289/3139/1 1310/3140/1 -f 1272/2969/1 1310/3140/1 1298/2970/1 -f 1300/2974/4 1309/3141/4 1277/3142/4 -f 1309/3141/4 1318/3143/4 1277/3142/4 -f 1277/3142/4 1276/2972/4 1300/2974/4 -f 1307/2975/816 1308/3144/816 1287/2976/816 -f 1318/2978/817 1309/3145/817 1278/2979/817 -f 1319/2981/818 1366/3146/819 1320/2982/819 -f 1322/2984/3 1355/3147/3 1323/2985/3 -f 1325/2987/3 1353/3148/3 1326/2988/3 -f 1324/2990/820 1331/2996/821 1328/2991/821 -f 1329/2993/2 1325/3080/2 1327/2994/2 -f 1331/2996/821 1333/2998/822 1332/2997/822 -f 1333/2998/822 1319/2981/818 1321/2983/818 -f 1334/2999/823 1350/3015/824 1335/3000/824 -f 1380/3070/1 1381/3073/1 1384/3149/1 -f 1339/3004/1 1365/3038/1 1337/3002/1 -f 1365/3038/1 1367/3041/1 1361/3046/1 -f 1337/3002/1 1365/3038/1 1361/3046/1 -f 1369/3043/1 1368/3042/1 1377/3150/1 -f 1380/3070/1 1384/3149/1 1339/3004/1 -f 1385/3094/1 1380/3070/1 1339/3004/1 -f 1367/3041/1 1369/3043/1 1371/3047/1 -f 1369/3043/1 1377/3150/1 1371/3047/1 -f 1382/3075/1 1385/3094/1 1339/3004/1 -f 1338/3003/1 1382/3075/1 1339/3004/1 -f 1367/3041/1 1371/3047/1 1361/3046/1 -f 1340/3005/825 1354/3020/826 1341/3006/826 -f 1343/3008/827 1358/3027/835 1344/3009/828 -f 1346/3011/829 1340/3005/825 1342/3007/825 -f 1348/3013/830 1334/2999/823 1336/3001/823 -f 1350/3015/824 1356/3024/831 1351/3016/831 -f 1352/3017/832 1357/3026/832 1326/3018/833 -f 1354/3020/826 1348/3151/830 1349/3021/830 -f 1346/3011/829 1347/3012/829 1323/3022/834 -f 1356/3024/831 1345/3152/828 1344/3025/828 -f 1357/3026/832 1352/3017/832 1358/3027/835 -f 1359/3028/836 1330/2995/836 1327/2994/836 -f 1361/3030/837 1349/3014/901 1336/3001/838 -f 1332/3032/840 1364/3036/844 1362/3033/841 -f 1332/3032/840 1321/3084/890 1363/3035/843 -f 1319/3037/845 1367/3041/848 1365/3038/846 -f 1333/3040/847 1369/3043/850 1367/3041/848 -f 1333/3040/847 1331/3153/902 1368/3042/849 -f 1370/3044/851 1383/3154/896 1350/3015/852 -f 1341/3045/854 1349/3155/901 1361/3046/837 -f 1372/3048/856 1379/3068/877 1343/3049/857 -f 1368/3042/849 1331/3153/902 1324/3051/859 -f 1373/3054/864 1340/3005/866 1346/3011/861 -f 1374/3055/865 1354/3020/891 1340/3005/866 -f 1334/2999/853 1348/3013/903 1375/3056/867 -f 1327/2989/868 1326/2988/868 1376/3057/868 -f 1347/3012/872 1342/3007/875 1377/3062/873 -f 1342/3007/875 1341/3006/854 1371/3064/855 -f 1330/3065/876 1359/3156/876 1378/3066/876 -f 1379/3068/877 1376/3061/871 1357/3060/870 -f 1335/3000/878 1338/3157/888 1337/3031/839 -f 1352/3069/879 1381/3073/883 1380/3070/880 -f 1344/3074/884 1385/3094/895 1382/3075/885 -f 1363/3035/4 1378/3083/4 1375/3086/4 -f 1378/3083/4 1359/3077/4 1370/3079/4 -f 1359/3077/4 1360/3158/4 1379/3068/4 -f 1360/3158/4 1376/3061/4 1379/3068/4 -f 1373/3159/4 1362/3033/4 1364/3036/4 -f 1374/3088/4 1373/3159/4 1364/3036/4 -f 1359/3077/4 1379/3068/4 1372/3048/4 -f 1359/3077/4 1372/3048/4 1386/3099/4 -f 1374/3088/4 1364/3036/4 1363/3035/4 -f 1375/3086/4 1374/3088/4 1363/3035/4 -f 1359/3077/4 1386/3099/4 1383/3078/4 -f 1370/3079/4 1375/3086/4 1378/3083/4 -f 1325/3080/887 1329/2993/887 1339/3081/887 -f 1338/3003/888 1335/3160/878 1351/3076/886 -f 1378/3083/889 1363/3035/843 1321/3084/890 -f 1375/3086/867 1348/3161/903 1354/3087/891 -f 1329/3089/892 1366/3100/892 1365/3090/892 -f 1381/3092/893 1353/3148/893 1325/2987/893 -f 1385/3094/895 1344/3074/884 1358/3071/881 -f 1383/3078/896 1386/3099/900 1356/3095/897 -f 1322/3097/898 1328/3034/842 1362/3033/841 -f 1345/3050/858 1356/3095/897 1386/3099/900 -f 1366/3100/14 1329/3089/14 1330/3065/14 -f 1388/3162/904 1389/3163/904 1390/3164/904 -f 1391/3165/905 1392/3166/905 1393/3167/905 -f 1394/3168/4 1395/3169/4 1396/3170/4 -f 1397/3171/906 1398/3172/907 1399/3173/906 -f 1400/3174/908 1401/3175/909 1402/3176/908 -f 1403/3177/1 1404/3178/1 1405/3179/1 -f 1388/3162/910 1405/3180/911 1406/3181/910 -f 1396/3182/911 1407/3183/912 1405/3180/911 -f 1408/3184/912 1391/3165/913 1407/3183/912 -f 1393/3185/914 1409/3186/914 1410/3187/915 -f 1399/3173/906 1411/3188/916 1397/3171/906 -f 1402/3176/908 1412/3189/916 1400/3174/908 -f 1413/3190/917 1414/3191/918 1401/3175/919 -f 1395/3169/920 1415/3192/921 1416/3193/922 -f 1415/3194/921 1399/3173/923 1398/3172/924 -f 1417/3195/925 1418/3196/926 1403/3177/927 -f 1419/3197/928 1397/3171/929 1418/3198/926 -f 1409/3186/930 1419/3197/928 1420/3199/931 -f 1420/3200/931 1417/3195/925 1410/3201/932 -f 1416/3193/922 1421/3202/933 1422/3203/934 -f 1415/3194/921 1423/3204/935 1421/3205/933 -f 1424/3206/936 1425/3207/937 1394/3168/938 -f 1426/3208/939 1412/3189/940 1425/3209/937 -f 1404/3178/941 1427/3210/942 1428/3211/943 -f 1429/3212/944 1402/3176/945 1427/3213/942 -f 1428/3211/943 1414/3214/946 1413/3215/947 -f 1427/3213/942 1401/3175/948 1414/3191/946 -f 1424/3206/936 1430/3216/949 1426/3217/939 -f 1426/3208/939 1431/3218/950 1400/3174/951 -f 1411/3188/952 1418/3198/926 1397/3171/929 -f 1429/3219/944 1403/3177/927 1418/3196/926 -f 1394/3168/938 1432/3220/953 1395/3169/920 -f 1425/3209/937 1399/3173/923 1432/3221/953 -f 1423/3204/954 1433/3222/907 1409/3186/954 -f 1388/3162/904 1406/3181/904 1389/3163/904 -f 1391/3165/905 1434/3223/905 1392/3166/905 -f 1422/3203/4 1392/3224/4 1416/3193/4 -f 1392/3224/4 1434/3225/4 1416/3193/4 -f 1434/3225/4 1408/3226/4 1416/3193/4 -f 1408/3226/4 1396/3170/4 1395/3169/4 -f 1396/3170/4 1388/3227/4 1394/3168/4 -f 1388/3227/4 1390/3228/4 1424/3206/4 -f 1390/3228/4 1435/3229/4 1424/3206/4 -f 1388/3227/4 1424/3206/4 1394/3168/4 -f 1395/3169/4 1416/3193/4 1408/3226/4 -f 1397/3171/906 1433/3222/907 1398/3172/907 -f 1400/3174/908 1431/3218/909 1401/3175/909 -f 1393/3230/1 1410/3201/1 1417/3195/1 -f 1391/3231/1 1393/3230/1 1417/3195/1 -f 1405/3179/1 1407/3232/1 1403/3177/1 -f 1407/3232/1 1391/3231/1 1417/3195/1 -f 1389/3233/1 1406/3234/1 1428/3211/1 -f 1406/3234/1 1405/3179/1 1404/3178/1 -f 1428/3211/1 1406/3234/1 1404/3178/1 -f 1428/3211/1 1413/3215/1 1389/3233/1 -f 1407/3232/1 1417/3195/1 1403/3177/1 -f 1388/3162/910 1396/3182/911 1405/3180/911 -f 1396/3182/911 1408/3184/912 1407/3183/912 -f 1408/3184/912 1434/3223/913 1391/3165/913 -f 1393/3185/914 1392/3166/914 1423/3204/914 -f 1392/3166/914 1422/3235/955 1423/3204/914 -f 1422/3235/955 1421/3205/914 1423/3204/914 -f 1423/3204/914 1409/3186/914 1393/3185/914 -f 1409/3186/914 1420/3199/914 1410/3187/915 -f 1399/3173/906 1412/3189/916 1411/3188/916 -f 1402/3176/908 1411/3188/916 1412/3189/916 -f 1401/3175/919 1431/3218/919 1390/3236/919 -f 1431/3218/919 1430/3237/917 1435/3238/956 -f 1390/3236/919 1431/3218/919 1435/3238/956 -f 1390/3236/919 1389/3239/919 1401/3175/919 -f 1389/3239/919 1413/3190/917 1401/3175/919 -f 1395/3169/920 1432/3220/953 1415/3192/921 -f 1415/3194/921 1432/3221/953 1399/3173/923 -f 1417/3195/925 1419/3240/928 1418/3196/926 -f 1419/3197/928 1433/3222/957 1397/3171/929 -f 1409/3186/930 1433/3222/957 1419/3197/928 -f 1420/3200/931 1419/3240/928 1417/3195/925 -f 1416/3193/922 1415/3192/921 1421/3202/933 -f 1415/3194/921 1398/3172/924 1423/3204/935 -f 1424/3206/936 1426/3217/939 1425/3207/937 -f 1426/3208/939 1400/3174/951 1412/3189/940 -f 1404/3178/941 1429/3219/944 1427/3210/942 -f 1429/3212/944 1411/3188/952 1402/3176/945 -f 1428/3211/943 1427/3210/942 1414/3214/946 -f 1427/3213/942 1402/3176/945 1401/3175/948 -f 1424/3206/936 1435/3229/958 1430/3216/949 -f 1426/3208/939 1430/3237/949 1431/3218/950 -f 1411/3188/952 1429/3212/944 1418/3198/926 -f 1429/3219/944 1404/3178/941 1403/3177/927 -f 1394/3168/938 1425/3207/937 1432/3220/953 -f 1425/3209/937 1412/3189/940 1399/3173/923 -f 1423/3204/954 1398/3172/907 1433/3222/907 -f 1436/3241/304 1437/3242/304 1438/3243/304 -f 1439/3244/310 1440/3245/310 1437/3246/310 -f 1441/3247/308 1442/3248/308 1440/3245/308 -f 1443/3249/8 1444/3250/8 1442/3251/8 -f 1445/3252/7 1446/3253/7 1444/3250/7 -f 1447/3254/306 1448/3255/306 1446/3256/306 -f 1441/3257/2 1436/3258/2 1449/3259/2 -f 1449/3260/305 1450/3261/305 1448/3255/305 -f 1451/3262/303 1438/3243/303 1450/3263/303 -f 1442/3264/5 1446/3265/5 1450/3266/5 -f 1452/3267/959 1453/3268/959 1454/3269/959 -f 1453/3270/4 1455/3271/4 1454/3272/4 -f 1456/3273/960 1457/3274/960 1455/3275/960 -f 1458/3276/961 1459/3277/961 1457/3278/961 -f 1460/3279/2 1461/3280/2 1462/3281/2 -f 1463/3282/2 1456/3283/2 1453/3284/2 -f 1464/3285/2 1465/3286/2 1466/3287/2 -f 1467/3288/2 1468/3289/2 1469/3290/2 -f 1470/3291/2 1471/3292/2 1472/3293/2 -f 1473/3294/2 1458/3295/2 1474/3296/2 -f 1475/3297/2 1476/3298/2 1477/3299/2 -f 1459/3277/1 1477/3300/1 1478/3301/1 -f 1478/3301/962 1476/3302/962 1452/3267/962 -f 1452/3303/5 1479/3304/5 1480/3305/5 -f 1481/3306/5 1482/3307/5 1483/3308/5 -f 1479/3304/5 1484/3309/5 1485/3310/5 -f 1486/3311/5 1487/3312/5 1488/3313/5 -f 1489/3314/5 1454/3315/5 1490/3316/5 -f 1491/3317/5 1455/3318/5 1492/3319/5 -f 1493/3320/5 1494/3321/5 1495/3322/5 -f 1496/3323/1 1497/3324/963 1498/3325/963 -f 1498/3326/963 1499/3327/14 1500/3328/14 -f 1500/3328/14 1501/3329/56 1461/3330/56 -f 1462/3331/4 1501/3332/56 1481/3333/4 -f 1502/3334/55 1503/3335/304 1481/3333/4 -f 1475/3336/3 1502/3337/55 1480/3338/3 -f 1469/3339/964 1480/3338/3 1479/3340/964 -f 1469/3341/964 1504/3342/1 1496/3323/1 -f 1505/3343/1 1506/3344/963 1507/3345/963 -f 1507/3346/963 1493/3347/14 1473/3348/14 -f 1473/3348/14 1508/3349/56 1509/3350/56 -f 1509/3351/56 1510/3352/303 1511/3353/4 -f 1460/3354/55 1483/3355/4 1482/3356/55 -f 1512/3357/310 1513/3358/3 1514/3359/3 -f 1515/3360/964 1513/3358/3 1516/3361/964 -f 1515/3362/964 1517/3363/1 1505/3343/1 -f 1472/3364/1 1492/3365/963 1518/3366/963 -f 1518/3367/963 1519/3368/14 1520/3369/14 -f 1520/3369/14 1495/3370/56 1474/3371/56 -f 1494/3372/4 1474/3373/56 1495/3374/56 -f 1521/3375/304 1522/3376/55 1523/3377/55 -f 1524/3378/3 1522/3379/55 1525/3380/3 -f 1526/3381/964 1525/3380/3 1527/3382/964 -f 1526/3383/964 1528/3384/1 1472/3364/1 -f 1529/3385/7 1490/3386/1 1530/3387/963 -f 1531/3388/963 1491/3389/14 1470/3390/14 -f 1470/3390/14 1532/3391/56 1471/3392/56 -f 1533/3393/303 1534/3394/4 1535/3395/303 -f 1536/3396/55 1534/3394/4 1537/3397/55 -f 1538/3398/3 1537/3399/55 1539/3400/3 -f 1540/3401/964 1539/3400/3 1541/3402/964 -f 1463/3403/1 1541/3404/964 1490/3386/1 -f 1542/3405/1 1543/3406/963 1544/3407/963 -f 1544/3408/963 1545/3409/14 1546/3410/14 -f 1546/3410/14 1547/3411/56 1548/3412/56 -f 1549/3413/4 1547/3414/56 1550/3415/4 -f 1551/3416/55 1550/3415/4 1552/3417/55 -f 1464/3418/3 1552/3419/55 1488/3420/3 -f 1553/3421/964 1488/3420/3 1554/3422/964 -f 1555/3423/965 1554/3424/964 1556/3425/8 -f 1466/3426/1 1486/3427/1 1557/3428/7 -f 1558/3429/963 1559/3430/14 1560/3431/14 -f 1560/3431/14 1561/3432/56 1467/3433/56 -f 1485/3434/4 1467/3435/56 1561/3436/56 -f 1562/3437/55 1485/3434/4 1484/3438/55 -f 1563/3439/3 1484/3440/55 1564/3441/3 -f 1465/3442/964 1564/3441/3 1487/3443/964 -f 1465/3444/964 1486/3427/1 1466/3426/1 -f 1436/3241/304 1439/3445/304 1437/3242/304 -f 1439/3244/310 1441/3247/310 1440/3245/310 -f 1441/3247/308 1443/3446/308 1442/3248/308 -f 1443/3249/8 1445/3252/8 1444/3250/8 -f 1445/3252/7 1447/3447/7 1446/3253/7 -f 1447/3254/306 1449/3260/306 1448/3255/306 -f 1441/3257/2 1439/3448/2 1436/3258/2 -f 1436/3258/2 1451/3449/2 1449/3259/2 -f 1449/3259/2 1447/3450/2 1445/3451/2 -f 1445/3451/2 1443/3452/2 1449/3259/2 -f 1443/3452/2 1441/3257/2 1449/3259/2 -f 1449/3260/305 1451/3453/305 1450/3261/305 -f 1451/3262/303 1436/3241/303 1438/3243/303 -f 1450/3266/5 1438/3454/5 1437/3455/5 -f 1437/3455/5 1440/3456/5 1442/3264/5 -f 1442/3264/5 1444/3457/5 1446/3265/5 -f 1446/3265/5 1448/3458/5 1450/3266/5 -f 1450/3266/5 1437/3455/5 1442/3264/5 -f 1452/3267/959 1476/3302/959 1453/3268/959 -f 1453/3270/4 1456/3459/4 1455/3271/4 -f 1456/3273/960 1458/3460/960 1457/3274/960 -f 1458/3276/961 1565/3461/961 1459/3277/961 -f 1462/3281/2 1503/3462/2 1477/3299/2 -f 1565/3463/2 1509/3464/2 1511/3465/2 -f 1460/3279/2 1566/3466/2 1461/3280/2 -f 1566/3466/2 1500/3467/2 1461/3280/2 -f 1477/3299/2 1565/3463/2 1511/3465/2 -f 1477/3299/2 1511/3465/2 1462/3281/2 -f 1511/3465/2 1460/3279/2 1462/3281/2 -f 1453/3284/2 1555/3468/2 1542/3469/2 -f 1544/3470/2 1546/3471/2 1538/3472/2 -f 1453/3284/2 1542/3469/2 1463/3282/2 -f 1542/3469/2 1544/3470/2 1540/3473/2 -f 1463/3282/2 1542/3469/2 1540/3473/2 -f 1463/3282/2 1529/3474/2 1456/3283/2 -f 1544/3470/2 1538/3472/2 1540/3473/2 -f 1553/3475/2 1555/3468/2 1453/3284/2 -f 1453/3284/2 1476/3298/2 1464/3285/2 -f 1476/3298/2 1563/3476/2 1465/3286/2 -f 1476/3298/2 1465/3286/2 1464/3285/2 -f 1464/3285/2 1553/3475/2 1453/3284/2 -f 1558/3477/2 1549/3478/2 1551/3479/2 -f 1558/3477/2 1551/3479/2 1466/3287/2 -f 1551/3479/2 1464/3285/2 1466/3287/2 -f 1498/3480/2 1500/3467/2 1515/3481/2 -f 1500/3467/2 1566/3466/2 1514/3482/2 -f 1500/3467/2 1514/3482/2 1515/3481/2 -f 1505/3483/2 1507/3484/2 1523/3485/2 -f 1507/3484/2 1567/3486/2 1523/3485/2 -f 1498/3480/2 1515/3481/2 1524/3487/2 -f 1515/3481/2 1505/3483/2 1524/3487/2 -f 1496/3488/2 1498/3480/2 1560/3489/2 -f 1524/3487/2 1526/3490/2 1568/3491/2 -f 1526/3490/2 1535/3492/2 1568/3491/2 -f 1505/3483/2 1523/3485/2 1524/3487/2 -f 1498/3480/2 1524/3487/2 1560/3489/2 -f 1536/3493/2 1538/3472/2 1546/3471/2 -f 1524/3487/2 1568/3491/2 1536/3493/2 -f 1469/3290/2 1496/3488/2 1467/3288/2 -f 1560/3489/2 1524/3487/2 1536/3493/2 -f 1562/3494/2 1563/3476/2 1476/3298/2 -f 1562/3494/2 1476/3298/2 1469/3290/2 -f 1560/3489/2 1536/3493/2 1548/3495/2 -f 1536/3493/2 1546/3471/2 1548/3495/2 -f 1548/3495/2 1549/3478/2 1560/3489/2 -f 1549/3478/2 1558/3477/2 1560/3489/2 -f 1467/3288/2 1496/3488/2 1560/3489/2 -f 1468/3289/2 1562/3494/2 1469/3290/2 -f 1518/3496/2 1520/3497/2 1458/3295/2 -f 1456/3283/2 1529/3474/2 1531/3498/2 -f 1456/3283/2 1531/3498/2 1470/3291/2 -f 1518/3496/2 1458/3295/2 1456/3283/2 -f 1535/3492/2 1526/3490/2 1471/3292/2 -f 1526/3490/2 1472/3293/2 1471/3292/2 -f 1472/3293/2 1518/3496/2 1470/3291/2 -f 1518/3496/2 1456/3283/2 1470/3291/2 -f 1569/3499/2 1567/3486/2 1507/3484/2 -f 1473/3294/2 1509/3464/2 1565/3463/2 -f 1569/3499/2 1507/3484/2 1473/3294/2 -f 1458/3295/2 1520/3497/2 1474/3296/2 -f 1474/3296/2 1569/3499/2 1473/3294/2 -f 1473/3294/2 1565/3463/2 1458/3295/2 -f 1475/3297/2 1469/3290/2 1476/3298/2 -f 1477/3299/2 1503/3462/2 1570/3500/2 -f 1570/3500/2 1475/3297/2 1477/3299/2 -f 1459/3277/1 1565/3461/1 1477/3300/1 -f 1478/3301/962 1477/3501/962 1476/3302/962 -f 1502/3502/5 1478/3503/5 1480/3305/5 -f 1478/3503/5 1452/3303/5 1480/3305/5 -f 1483/3308/5 1510/3504/5 1459/3505/5 -f 1478/3503/5 1502/3502/5 1481/3306/5 -f 1501/3506/5 1499/3507/5 1512/3508/5 -f 1459/3505/5 1478/3503/5 1483/3308/5 -f 1478/3503/5 1481/3306/5 1483/3308/5 -f 1481/3306/5 1501/3506/5 1482/3307/5 -f 1501/3506/5 1512/3508/5 1482/3307/5 -f 1557/3509/5 1552/3510/5 1571/3511/5 -f 1552/3510/5 1550/3512/5 1571/3511/5 -f 1547/3513/5 1545/3514/5 1537/3515/5 -f 1545/3514/5 1539/3516/5 1537/3515/5 -f 1550/3512/5 1547/3513/5 1559/3517/5 -f 1571/3511/5 1550/3512/5 1559/3517/5 -f 1534/3518/5 1533/3519/5 1527/3520/5 -f 1547/3513/5 1537/3515/5 1559/3517/5 -f 1537/3515/5 1534/3518/5 1525/3521/5 -f 1561/3522/5 1559/3517/5 1504/3523/5 -f 1525/3521/5 1559/3517/5 1537/3515/5 -f 1534/3518/5 1527/3520/5 1525/3521/5 -f 1559/3517/5 1525/3521/5 1497/3524/5 -f 1497/3524/5 1525/3521/5 1516/3525/5 -f 1522/3526/5 1521/3527/5 1506/3528/5 -f 1525/3521/5 1522/3526/5 1517/3529/5 -f 1516/3525/5 1525/3521/5 1517/3529/5 -f 1485/3310/5 1561/3522/5 1479/3304/5 -f 1522/3526/5 1506/3528/5 1517/3529/5 -f 1559/3517/5 1497/3524/5 1504/3523/5 -f 1513/3530/5 1512/3508/5 1499/3507/5 -f 1452/3303/5 1564/3531/5 1484/3309/5 -f 1513/3530/5 1499/3507/5 1516/3525/5 -f 1499/3507/5 1497/3524/5 1516/3525/5 -f 1479/3304/5 1452/3303/5 1484/3309/5 -f 1504/3523/5 1479/3304/5 1561/3522/5 -f 1487/3312/5 1564/3531/5 1452/3303/5 -f 1454/3315/5 1556/3532/5 1554/3533/5 -f 1488/3313/5 1552/3510/5 1486/3311/5 -f 1552/3510/5 1557/3509/5 1486/3311/5 -f 1454/3315/5 1554/3533/5 1488/3313/5 -f 1487/3312/5 1452/3303/5 1488/3313/5 -f 1452/3303/5 1454/3315/5 1488/3313/5 -f 1489/3314/5 1556/3532/5 1454/3315/5 -f 1455/3318/5 1530/3534/5 1490/3316/5 -f 1541/3535/5 1539/3516/5 1543/3536/5 -f 1539/3516/5 1545/3514/5 1543/3536/5 -f 1455/3318/5 1490/3316/5 1454/3315/5 -f 1490/3316/5 1541/3535/5 1489/3314/5 -f 1489/3314/5 1541/3535/5 1543/3536/5 -f 1491/3317/5 1530/3534/5 1455/3318/5 -f 1457/3537/5 1519/3538/5 1492/3319/5 -f 1528/3539/5 1527/3520/5 1532/3540/5 -f 1527/3520/5 1533/3519/5 1532/3540/5 -f 1455/3318/5 1457/3537/5 1492/3319/5 -f 1492/3319/5 1528/3539/5 1491/3317/5 -f 1528/3539/5 1532/3540/5 1491/3317/5 -f 1495/3322/5 1519/3538/5 1457/3537/5 -f 1459/3505/5 1510/3504/5 1508/3541/5 -f 1493/3320/5 1506/3528/5 1494/3321/5 -f 1506/3528/5 1521/3527/5 1494/3321/5 -f 1459/3505/5 1508/3541/5 1493/3320/5 -f 1495/3322/5 1457/3537/5 1493/3320/5 -f 1457/3537/5 1459/3505/5 1493/3320/5 -f 1496/3323/1 1504/3342/1 1497/3324/963 -f 1498/3326/963 1497/3542/963 1499/3327/14 -f 1500/3328/14 1499/3327/14 1501/3329/56 -f 1462/3331/4 1461/3543/56 1501/3332/56 -f 1570/3544/55 1503/3335/304 1502/3334/55 -f 1503/3335/304 1462/3331/4 1481/3333/4 -f 1475/3336/3 1570/3545/55 1502/3337/55 -f 1469/3339/964 1475/3336/3 1480/3338/3 -f 1469/3341/964 1479/3546/964 1504/3342/1 -f 1505/3343/1 1517/3363/1 1506/3344/963 -f 1507/3346/963 1506/3547/963 1493/3347/14 -f 1473/3348/14 1493/3347/14 1508/3349/56 -f 1508/3548/56 1510/3352/303 1509/3351/56 -f 1510/3352/303 1483/3355/4 1511/3353/4 -f 1460/3354/55 1511/3353/4 1483/3355/4 -f 1514/3359/3 1566/3549/310 1512/3357/310 -f 1566/3549/310 1460/3550/55 1512/3357/310 -f 1460/3550/55 1482/3551/55 1512/3357/310 -f 1515/3360/964 1514/3359/3 1513/3358/3 -f 1515/3362/964 1516/3552/964 1517/3363/1 -f 1472/3364/1 1528/3384/1 1492/3365/963 -f 1518/3367/963 1492/3553/963 1519/3368/14 -f 1520/3369/14 1519/3368/14 1495/3370/56 -f 1494/3372/4 1569/3554/4 1474/3373/56 -f 1523/3377/55 1567/3555/304 1521/3375/304 -f 1567/3555/304 1569/3554/4 1521/3375/304 -f 1569/3554/4 1494/3372/4 1521/3375/304 -f 1524/3378/3 1523/3556/55 1522/3379/55 -f 1526/3381/964 1524/3378/3 1525/3380/3 -f 1526/3383/964 1527/3382/964 1528/3384/1 -f 1530/3387/963 1531/3557/963 1529/3385/7 -f 1529/3385/7 1463/3403/1 1490/3386/1 -f 1531/3388/963 1530/3558/963 1491/3389/14 -f 1470/3390/14 1491/3389/14 1532/3391/56 -f 1568/3559/4 1535/3395/303 1534/3394/4 -f 1535/3395/303 1471/3560/56 1533/3393/303 -f 1471/3560/56 1532/3561/56 1533/3393/303 -f 1536/3396/55 1568/3559/4 1534/3394/4 -f 1538/3398/3 1536/3562/55 1537/3399/55 -f 1540/3401/964 1538/3398/3 1539/3400/3 -f 1463/3403/1 1540/3563/964 1541/3404/964 -f 1542/3405/1 1489/3564/1 1543/3406/963 -f 1544/3408/963 1543/3565/963 1545/3409/14 -f 1546/3410/14 1545/3409/14 1547/3411/56 -f 1549/3413/4 1548/3566/56 1547/3414/56 -f 1551/3416/55 1549/3413/4 1550/3415/4 -f 1464/3418/3 1551/3567/55 1552/3419/55 -f 1553/3421/964 1464/3418/3 1488/3420/3 -f 1489/3564/1 1542/3405/1 1556/3425/8 -f 1542/3405/1 1555/3423/965 1556/3425/8 -f 1555/3423/965 1553/3568/964 1554/3424/964 -f 1571/3569/963 1558/3570/963 1557/3428/7 -f 1558/3570/963 1466/3426/1 1557/3428/7 -f 1558/3429/963 1571/3571/963 1559/3430/14 -f 1560/3431/14 1559/3430/14 1561/3432/56 -f 1485/3434/4 1468/3572/4 1467/3435/56 -f 1562/3437/55 1468/3572/4 1485/3434/4 -f 1563/3439/3 1562/3573/55 1484/3440/55 -f 1465/3442/964 1563/3439/3 1564/3441/3 -f 1465/3444/964 1487/3574/964 1486/3427/1 -f 1572/3575/14 1573/3576/14 1574/3577/14 -f 1575/3578/966 1576/3579/966 1577/3580/966 -f 1578/3581/5 1579/3582/5 1572/3583/5 -f 1580/3584/967 1581/3585/967 1578/3586/967 -f 1574/3587/968 1582/3588/969 1583/3589/970 -f 1584/3590/971 1585/3591/972 1586/3592/971 -f 1587/3593/3 1588/3594/973 1589/3595/973 -f 1590/3596/974 1591/3597/975 1592/3598/974 -f 1575/3599/976 1593/3600/977 1594/3601/978 -f 1576/3579/979 1595/3602/980 1577/3580/979 -f 1596/3603/981 1580/3584/982 1597/3604/981 -f 1598/3605/983 1599/3606/984 1600/3607/983 -f 1601/3608/984 1597/3604/981 1599/3606/984 -f 1589/3595/973 1602/3609/985 1603/3610/985 -f 1604/3611/980 1600/3607/983 1595/3602/980 -f 1605/3612/101 1606/3613/101 1593/3614/101 -f 1607/3615/986 1606/3616/987 1608/3617/987 -f 1609/3618/988 1610/3619/989 1607/3620/986 -f 1603/3610/985 1611/3621/988 1609/3618/988 -f 1605/3622/990 1612/3623/991 1613/3624/992 -f 1572/3625/993 1614/3626/994 1578/3627/994 -f 1572/3625/995 1583/3589/995 1615/3628/995 -f 1616/3629/996 1588/3630/997 1617/3631/996 -f 1618/3632/998 1573/3633/999 1619/3634/1000 -f 1620/3635/1001 1593/3600/977 1621/3636/992 -f 1622/3637/1002 1579/3638/1003 1581/3639/1002 -f 1619/3634/1004 1579/3638/1004 1623/3640/1004 -f 1590/3641/1005 1624/3642/1006 1591/3643/1007 -f 1625/3644/1008 1595/3645/1009 1626/3646/1010 -f 1627/3647/1011 1604/3648/1012 1576/3649/1011 -f 1628/3650/1013 1595/3645/1009 1600/3651/1014 -f 1629/3652/1015 1604/3648/1012 1630/3653/1016 -f 1631/3654/1017 1600/3651/1014 1599/3655/1018 -f 1632/3656/1019 1598/3657/1020 1629/3652/1015 -f 1631/3658/1017 1597/3604/1021 1633/3659/1022 -f 1632/3660/1019 1596/3603/1023 1601/3608/1024 -f 1634/3661/1025 1597/3604/1021 1580/3584/1026 -f 1635/3662/1027 1596/3603/1023 1636/3663/1028 -f 1625/3644/1029 1575/3664/1030 1577/3665/1031 -f 1627/3647/1032 1594/3666/1033 1620/3667/1034 -f 1580/3668/1035 1614/3626/1036 1634/3669/1035 -f 1622/3637/1037 1637/3670/1038 1635/3671/1038 -f 1638/3672/1039 1603/3610/1040 1639/3673/1041 -f 1640/3674/1042 1602/3609/1043 1588/3594/997 -f 1639/3673/1041 1609/3618/1044 1641/3675/1045 -f 1642/3676/1046 1611/3621/1047 1602/3609/1043 -f 1641/3677/1045 1607/3678/1048 1643/3679/1049 -f 1644/3680/1050 1610/3681/1051 1611/3682/1047 -f 1645/3683/1052 1607/3615/986 1608/3617/987 -f 1646/3684/1053 1610/3685/989 1647/3686/1054 -f 1583/3589/1 1648/3687/1 1649/3688/1 -f 1616/3629/4 1650/3689/4 1619/3634/4 -f 1608/3690/101 1613/3691/101 1645/3692/101 -f 1646/3693/101 1593/3614/101 1606/3613/101 -f 1651/3694/1055 1582/3695/1055 1586/3592/1055 -f 1652/3696/1056 1653/3697/1056 1592/3698/1056 -f 1618/3699/1057 1585/3591/1057 1584/3590/1057 -f 1654/3700/1058 1655/3701/1058 1590/3641/1058 -f 1582/3588/1059 1653/3697/1059 1652/3696/1059 -f 1592/3698/1060 1656/3702/1061 1652/3696/1062 -f 1657/3703/1063 1658/3704/1064 1659/3705/1065 -f 1659/3705/1065 1660/3706/1066 1661/3707/1067 -f 1661/3707/1067 1656/3702/1068 1662/3708/1069 -f 1663/3709/1070 1664/3710/1071 1665/3711/1071 -f 1657/3712/1072 1665/3711/1071 1664/3710/1071 -f 1666/3713/1073 1667/3714/1074 1668/3715/1075 -f 1669/3716/1076 1670/3717/1077 1667/3714/1074 -f 1671/3718/1078 1624/3642/1079 1670/3717/1077 -f 1668/3715/1075 1672/3719/1080 1665/3720/1081 -f 1648/3687/1082 1657/3703/1063 1664/3721/1083 -f 1666/3722/1072 1659/3723/1084 1669/3724/1084 -f 1669/3724/1084 1661/3725/1085 1671/3726/1085 -f 1671/3726/1085 1662/3727/1086 1591/3728/1086 -f 1673/3729/1087 1589/3730/1088 1638/3731/1039 -f 1587/3732/1089 1663/3733/1070 1617/3734/1089 -f 1616/3629/1090 1663/3735/1091 1650/3689/1092 -f 1673/3729/1093 1674/3736/1094 1587/3737/1095 -f 1655/3701/1096 1585/3738/1096 1618/3632/1096 -f 1675/3739/1097 1676/3740/1097 1677/3741/1097 -f 1585/3738/4 1677/3742/4 1676/3743/4 -f 1585/3591/2 1678/3744/2 1651/3694/2 -f 1651/3745/1 1675/3746/1 1653/3697/1 -f 1653/3747/5 1677/3748/5 1654/3749/5 -f 1572/3575/14 1579/3750/14 1573/3576/14 -f 1575/3578/966 1594/3751/966 1576/3579/966 -f 1578/3581/5 1581/3752/5 1579/3582/5 -f 1580/3584/967 1637/3753/967 1581/3585/967 -f 1574/3587/968 1586/3754/1098 1582/3588/969 -f 1585/3591/972 1651/3694/972 1586/3592/971 -f 1586/3592/971 1574/3577/1099 1573/3576/1099 -f 1573/3576/1099 1584/3590/971 1586/3592/971 -f 1587/3593/3 1617/3755/3 1588/3594/973 -f 1591/3597/975 1662/3756/975 1592/3598/974 -f 1592/3598/974 1653/3747/1100 1654/3749/1100 -f 1654/3749/1100 1590/3596/974 1592/3598/974 -f 1575/3599/976 1605/3622/990 1593/3600/977 -f 1576/3579/979 1604/3611/980 1595/3602/980 -f 1596/3603/981 1637/3753/982 1580/3584/982 -f 1598/3605/983 1601/3608/984 1599/3606/984 -f 1601/3608/984 1596/3603/981 1597/3604/981 -f 1589/3595/973 1588/3594/973 1602/3609/985 -f 1604/3611/980 1598/3605/983 1600/3607/983 -f 1605/3612/101 1608/3690/101 1606/3613/101 -f 1607/3615/986 1610/3685/989 1606/3616/987 -f 1609/3618/988 1611/3621/988 1610/3619/989 -f 1603/3610/985 1602/3609/985 1611/3621/988 -f 1605/3622/990 1575/3599/976 1612/3623/991 -f 1572/3625/993 1615/3628/993 1614/3626/994 -f 1572/3625/995 1574/3587/995 1583/3589/995 -f 1616/3629/996 1640/3757/1042 1588/3630/997 -f 1618/3632/998 1584/3758/1101 1573/3633/999 -f 1620/3635/1001 1594/3601/978 1593/3600/977 -f 1622/3637/1002 1623/3640/1003 1579/3638/1003 -f 1619/3634/1004 1573/3633/1004 1579/3638/1004 -f 1590/3641/1005 1655/3701/1102 1624/3642/1006 -f 1625/3644/1008 1577/3665/1008 1595/3645/1009 -f 1627/3647/1011 1630/3653/1016 1604/3648/1012 -f 1628/3650/1013 1626/3646/1010 1595/3645/1009 -f 1629/3652/1015 1598/3657/1020 1604/3648/1012 -f 1631/3654/1017 1628/3650/1013 1600/3651/1014 -f 1632/3656/1019 1601/3759/1024 1598/3657/1020 -f 1631/3658/1017 1599/3606/1018 1597/3604/1021 -f 1632/3660/1019 1636/3663/1028 1596/3603/1023 -f 1634/3661/1025 1633/3659/1022 1597/3604/1021 -f 1635/3662/1027 1637/3753/1103 1596/3603/1023 -f 1625/3644/1029 1612/3760/1104 1575/3664/1030 -f 1627/3647/1032 1576/3649/1105 1594/3666/1033 -f 1580/3668/1035 1578/3627/1036 1614/3626/1036 -f 1622/3637/1037 1581/3639/1037 1637/3670/1038 -f 1638/3672/1039 1589/3595/1088 1603/3610/1040 -f 1640/3674/1042 1642/3676/1046 1602/3609/1043 -f 1639/3673/1041 1603/3610/1040 1609/3618/1044 -f 1642/3676/1046 1644/3761/1050 1611/3621/1047 -f 1641/3677/1045 1609/3762/1044 1607/3678/1048 -f 1644/3680/1050 1647/3763/1106 1610/3681/1051 -f 1645/3683/1052 1643/3764/1107 1607/3615/986 -f 1646/3684/1053 1606/3616/987 1610/3685/989 -f 1612/3760/1 1625/3644/1 1626/3646/1 -f 1612/3760/1 1626/3646/1 1643/3679/1 -f 1626/3646/1 1628/3650/1 1643/3679/1 -f 1643/3679/1 1645/3765/101 1613/3766/101 -f 1613/3766/101 1612/3760/1 1643/3679/1 -f 1628/3650/1 1631/3654/1 1641/3677/1 -f 1643/3679/1 1628/3650/1 1641/3677/1 -f 1633/3767/1 1634/3669/1 1614/3626/1 -f 1631/3654/1 1633/3767/1 1615/3628/1 -f 1641/3677/1 1631/3654/1 1615/3628/1 -f 1633/3767/1 1614/3626/1 1615/3628/1 -f 1583/3589/1 1582/3588/1 1648/3687/1 -f 1582/3588/1 1652/3696/1 1658/3704/1 -f 1582/3588/1 1658/3704/1 1648/3687/1 -f 1652/3696/1 1656/3702/1 1660/3706/1 -f 1658/3704/1 1652/3696/1 1660/3706/1 -f 1639/3768/1 1641/3677/1 1615/3628/1 -f 1679/3769/1 1673/3729/1 1583/3589/1 -f 1673/3729/1 1638/3731/1 1615/3628/1 -f 1638/3731/1 1639/3768/1 1615/3628/1 -f 1615/3628/1 1583/3589/1 1673/3729/1 -f 1649/3688/1 1679/3769/1 1583/3589/1 -f 1622/3637/4 1635/3671/4 1636/3770/4 -f 1622/3637/4 1636/3770/4 1623/3640/4 -f 1636/3770/4 1632/3656/4 1623/3640/4 -f 1623/3640/4 1632/3656/4 1644/3680/4 -f 1632/3656/4 1629/3652/4 1644/3680/4 -f 1655/3701/4 1618/3632/4 1667/3714/4 -f 1618/3632/4 1619/3634/4 1668/3715/4 -f 1667/3714/4 1618/3632/4 1668/3715/4 -f 1629/3652/4 1630/3653/4 1647/3763/4 -f 1623/3640/4 1644/3680/4 1642/3771/4 -f 1624/3642/4 1655/3701/4 1670/3717/4 -f 1630/3653/4 1627/3647/4 1620/3667/4 -f 1655/3701/4 1667/3714/4 1670/3717/4 -f 1619/3634/4 1623/3640/4 1616/3629/4 -f 1668/3715/4 1619/3634/4 1672/3719/4 -f 1630/3653/4 1620/3667/4 1647/3763/4 -f 1621/3772/101 1646/3773/101 1647/3763/1 -f 1644/3680/4 1629/3652/4 1647/3763/4 -f 1672/3719/4 1619/3634/4 1650/3689/4 -f 1620/3667/4 1621/3772/4 1647/3763/4 -f 1616/3629/4 1623/3640/4 1640/3757/4 -f 1640/3757/4 1623/3640/4 1642/3771/4 -f 1608/3690/101 1605/3612/101 1613/3691/101 -f 1646/3693/101 1621/3774/101 1593/3614/101 -f 1582/3588/1059 1651/3745/1059 1653/3697/1059 -f 1592/3698/1060 1662/3708/1108 1656/3702/1061 -f 1657/3703/1063 1648/3687/1082 1658/3704/1064 -f 1659/3705/1065 1658/3704/1064 1660/3706/1066 -f 1661/3707/1067 1660/3706/1066 1656/3702/1068 -f 1663/3709/1070 1674/3775/1070 1664/3710/1071 -f 1657/3712/1072 1666/3722/1072 1665/3711/1071 -f 1666/3713/1073 1669/3716/1076 1667/3714/1074 -f 1669/3716/1076 1671/3718/1078 1670/3717/1077 -f 1671/3718/1078 1591/3643/1109 1624/3642/1079 -f 1650/3689/1092 1663/3735/1091 1672/3719/1080 -f 1663/3735/1091 1665/3720/1081 1672/3719/1080 -f 1665/3720/1081 1666/3713/1073 1668/3715/1075 -f 1664/3721/1083 1674/3736/1094 1649/3688/1110 -f 1674/3736/1094 1679/3769/1111 1649/3688/1110 -f 1649/3688/1110 1648/3687/1082 1664/3721/1083 -f 1666/3722/1072 1657/3712/1072 1659/3723/1084 -f 1669/3724/1084 1659/3723/1084 1661/3725/1085 -f 1671/3726/1085 1661/3725/1085 1662/3727/1086 -f 1673/3729/1087 1587/3737/1112 1589/3730/1088 -f 1587/3732/1089 1674/3776/1070 1663/3733/1070 -f 1616/3629/1090 1617/3631/1113 1663/3735/1091 -f 1673/3729/1093 1679/3769/1111 1674/3736/1094 -f 1655/3701/1096 1654/3700/1096 1585/3738/1096 -f 1675/3739/1097 1678/3744/1097 1676/3740/1097 -f 1585/3738/4 1654/3700/4 1677/3742/4 -f 1585/3591/2 1676/3740/2 1678/3744/2 -f 1651/3745/1 1678/3777/1 1675/3746/1 -f 1653/3747/5 1675/3778/5 1677/3748/5 -f 1688/3779/1 1689/3780/1 1690/3781/1 -f 1691/3782/2 1692/3783/2 1693/3784/2 -f 1694/3785/14 1695/3786/14 1696/3787/14 -f 1697/3788/5 1698/3789/5 1699/3790/5 -f 1700/3791/4 1701/3792/4 1702/3793/4 -f 1703/3794/1114 1689/3795/1114 1699/3790/1114 -f 1704/3796/1115 1705/3797/1115 1697/3788/1115 -f 1706/3798/1116 1698/3789/1116 1702/3799/1116 -f 1694/3800/50 1700/3801/50 1707/3802/50 -f 1708/3803/1117 1692/3804/1117 1690/3781/1117 -f 1695/3805/1118 1688/3779/1118 1709/3806/1118 -f 1710/3807/1119 1701/3792/1119 1693/3784/1119 -f 1696/3808/1120 1691/3782/1120 1711/3809/1120 -f 1703/3794/51 1698/3789/51 1706/3798/51 -f 1704/3796/52 1699/3790/52 1689/3795/52 -f 1694/3800/53 1697/3788/53 1705/3797/53 -f 1702/3799/54 1707/3802/54 1700/3801/54 -f 1706/3810/55 1701/3811/55 1710/3812/55 -f 1696/3787/56 1700/3813/56 1694/3785/56 -f 1693/3784/1121 1711/3809/1121 1691/3782/1121 -f 1710/3812/1122 1692/3814/1122 1708/3815/1122 -f 1695/3786/1123 1691/3816/1123 1696/3787/1123 -f 1690/3781/1124 1709/3806/1124 1688/3779/1124 -f 1708/3815/964 1689/3817/964 1703/3818/964 -f 1705/3819/963 1688/3820/963 1695/3786/963 -f 1710/3812/3 1703/3818/3 1706/3810/3 -f 1712/3821/1125 1713/3822/1126 1714/3823/1125 -f 1715/3824/2 1716/3825/2 1717/3826/2 -f 1718/3827/2 1719/3828/2 1713/3829/2 -f 1720/3830/5 1721/3831/5 1722/3832/5 -f 1723/3833/5 1724/3834/5 1725/3835/5 -f 1723/3836/3 1726/3837/3 1727/3838/3 -f 1728/3839/1127 1729/3840/4 1723/3841/4 -f 1714/3823/1125 1730/3842/1128 1712/3821/1125 -f 1731/3843/1128 1732/3844/1129 1730/3842/1128 -f 1733/3845/1129 1728/3839/1127 1732/3846/1129 -f 1722/3847/1126 1734/3848/1130 1713/3822/1126 -f 1735/3849/1130 1736/3850/1131 1734/3848/1130 -f 1737/3851/1131 1715/3824/1132 1736/3852/1131 -f 1715/3824/1132 1724/3853/1 1738/3854/1 -f 1719/3855/1133 1721/3856/1134 1720/3857/1133 -f 1739/3858/14 1725/3859/14 1740/3860/14 -f 1741/3861/1 1742/3862/1 1743/3863/1135 -f 1744/3864/1136 1745/3865/1136 1746/3866/1137 -f 1747/3867/1138 1744/3864/1136 1748/3868/1138 -f 1749/3869/1135 1748/3870/1138 1743/3863/1135 -f 1750/3871/1139 1751/3872/1139 1752/3873/1140 -f 1750/3871/1139 1753/3874/1141 1751/3872/1139 -f 1754/3875/1141 1755/3876/1142 1753/3877/1141 -f 1755/3876/1142 1717/3878/1142 1716/3879/4 -f 1756/3880/1 1738/3854/1 1757/3881/1 -f 1758/3882/1 1759/3883/1 1760/3884/1 -f 1731/3885/2 1745/3886/2 1747/3887/2 -f 1727/3888/2 1739/3889/2 1740/3890/2 -f 1729/3840/4 1761/3891/4 1762/3892/4 -f 1763/3893/4 1764/3894/4 1765/3895/4 -f 1766/3896/1143 1767/3897/1143 1763/3898/1143 -f 1742/3899/2 1739/3889/2 1726/3900/2 -f 1768/3901/1144 1726/3902/1145 1769/3903/1146 -f 1767/3904/1145 1770/3905/1147 1771/3906/1145 -f 1729/3907/3 1767/3908/3 1726/3837/3 -f 1727/3838/3 1758/3909/3 1738/3910/3 -f 1716/3911/1143 1758/3912/1143 1772/3913/1143 -f 1727/3914/5 1740/3915/5 1716/3916/5 -f 1727/3917/1148 1773/3918/1149 1774/3919/1148 -f 1772/3920/1148 1775/3921/1148 1776/3922/1148 -f 1773/3918/2 1757/3923/2 1774/3919/2 -f 1769/3924/2 1761/3891/2 1768/3925/2 -f 1765/3926/5 1771/3927/5 1770/3928/5 -f 1760/3929/5 1776/3930/5 1775/3931/5 -f 1764/3932/14 1769/3933/14 1771/3934/14 -f 1757/3935/14 1775/3936/14 1774/3937/14 -f 1761/3938/1150 1770/3939/1150 1768/3940/1150 -f 1759/3941/1151 1773/3942/1150 1776/3943/1151 -f 1688/3779/1 1704/3944/1 1689/3780/1 -f 1691/3782/2 1709/3945/2 1692/3783/2 -f 1694/3785/14 1705/3819/14 1695/3786/14 -f 1697/3788/5 1707/3802/5 1698/3789/5 -f 1700/3791/4 1711/3809/4 1701/3792/4 -f 1703/3794/51 1699/3790/51 1698/3789/51 -f 1704/3796/52 1697/3788/52 1699/3790/52 -f 1694/3800/53 1707/3802/53 1697/3788/53 -f 1702/3799/54 1698/3789/54 1707/3802/54 -f 1706/3810/55 1702/3946/55 1701/3811/55 -f 1696/3787/56 1711/3947/56 1700/3813/56 -f 1693/3784/1121 1701/3792/1121 1711/3809/1121 -f 1710/3812/1122 1693/3948/1122 1692/3814/1122 -f 1695/3786/1123 1709/3949/1123 1691/3816/1123 -f 1690/3781/1124 1692/3804/1124 1709/3806/1124 -f 1708/3815/964 1690/3950/964 1689/3817/964 -f 1705/3819/963 1704/3951/963 1688/3820/963 -f 1710/3812/3 1708/3815/3 1703/3818/3 -f 1712/3821/1125 1722/3847/1126 1713/3822/1126 -f 1754/3952/2 1750/3953/2 1734/3954/2 -f 1734/3954/2 1736/3852/2 1754/3952/2 -f 1736/3852/2 1715/3824/2 1717/3826/2 -f 1754/3952/2 1736/3852/2 1717/3826/2 -f 1719/3828/2 1746/3955/2 1731/3885/2 -f 1731/3885/2 1714/3956/2 1719/3828/2 -f 1714/3956/2 1713/3829/2 1719/3828/2 -f 1713/3829/2 1734/3957/2 1718/3827/2 -f 1734/3957/2 1750/3958/2 1718/3827/2 -f 1752/3959/5 1735/3960/5 1721/3831/5 -f 1735/3960/5 1722/3832/5 1721/3831/5 -f 1722/3832/5 1712/3961/5 1720/3830/5 -f 1712/3961/5 1730/3962/5 1720/3830/5 -f 1730/3962/5 1744/3963/5 1720/3830/5 -f 1748/3964/5 1744/3963/5 1730/3962/5 -f 1730/3962/5 1732/3965/5 1748/3964/5 -f 1732/3965/5 1728/3966/5 1743/3967/5 -f 1748/3964/5 1732/3965/5 1743/3967/5 -f 1724/3834/5 1777/3968/5 1725/3835/5 -f 1777/3968/5 1737/3969/5 1755/3970/5 -f 1735/3960/5 1752/3959/5 1751/3971/5 -f 1735/3960/5 1751/3971/5 1753/3972/5 -f 1737/3969/5 1735/3960/5 1753/3972/5 -f 1737/3969/5 1753/3972/5 1755/3970/5 -f 1743/3967/5 1728/3966/5 1741/3973/5 -f 1728/3966/5 1723/3833/5 1741/3973/5 -f 1777/3968/5 1755/3970/5 1725/3835/5 -f 1725/3835/5 1741/3973/5 1723/3833/5 -f 1738/3910/3 1724/3974/3 1727/3838/3 -f 1724/3974/3 1723/3836/3 1727/3838/3 -f 1723/3836/3 1729/3907/3 1726/3837/3 -f 1728/3839/1127 1766/3975/1127 1729/3840/4 -f 1714/3823/1125 1731/3843/1128 1730/3842/1128 -f 1731/3843/1128 1733/3976/1129 1732/3844/1129 -f 1733/3845/1129 1766/3975/1127 1728/3839/1127 -f 1722/3847/1126 1735/3849/1130 1734/3848/1130 -f 1735/3849/1130 1737/3977/1131 1736/3850/1131 -f 1737/3851/1131 1777/3978/1132 1715/3824/1132 -f 1715/3824/1132 1777/3978/1132 1724/3853/1 -f 1719/3855/1133 1718/3979/1134 1721/3856/1134 -f 1739/3858/14 1741/3980/14 1725/3859/14 -f 1739/3981/1 1742/3862/1 1741/3861/1 -f 1742/3862/1 1749/3869/1135 1743/3863/1135 -f 1746/3866/1137 1719/3855/1133 1720/3857/1133 -f 1720/3857/1133 1744/3864/1136 1746/3866/1137 -f 1747/3867/1138 1745/3865/1136 1744/3864/1136 -f 1749/3869/1135 1747/3982/1138 1748/3870/1138 -f 1721/3856/1134 1718/3979/1134 1752/3873/1140 -f 1718/3979/1134 1750/3871/1139 1752/3873/1140 -f 1750/3871/1139 1754/3983/1141 1753/3874/1141 -f 1754/3875/1141 1717/3878/1142 1755/3876/1142 -f 1716/3879/4 1740/3984/4 1725/3985/4 -f 1725/3985/4 1755/3876/1142 1716/3879/4 -f 1756/3880/1 1715/3824/1 1738/3854/1 -f 1760/3884/1 1757/3986/1 1738/3987/1 -f 1758/3882/1 1715/3988/1 1759/3883/1 -f 1715/3988/1 1756/3989/1 1759/3883/1 -f 1760/3884/1 1738/3987/1 1758/3882/1 -f 1749/3990/2 1742/3991/2 1766/3975/2 -f 1766/3975/2 1733/3845/2 1749/3990/2 -f 1733/3845/2 1731/3885/2 1747/3887/2 -f 1731/3885/2 1746/3955/2 1745/3886/2 -f 1747/3887/2 1749/3990/2 1733/3845/2 -f 1727/3888/2 1726/3900/2 1739/3889/2 -f 1729/3840/4 1766/3975/4 1761/3891/4 -f 1761/3992/4 1766/3993/4 1765/3895/4 -f 1766/3993/4 1763/3893/4 1765/3895/4 -f 1763/3893/4 1729/3994/4 1764/3894/4 -f 1729/3994/4 1762/3995/4 1764/3894/4 -f 1766/3896/1143 1742/3996/1143 1767/3897/1143 -f 1768/3901/1144 1742/3997/1145 1726/3902/1145 -f 1771/3906/1145 1769/3998/1146 1726/3999/1145 -f 1767/3904/1145 1742/4000/1145 1770/3905/1147 -f 1742/4000/1145 1768/4001/1144 1770/3905/1147 -f 1771/3906/1145 1726/3999/1145 1767/3904/1145 -f 1729/3907/3 1763/4002/3 1767/3908/3 -f 1727/3838/3 1772/4003/3 1758/3909/3 -f 1716/3911/1143 1715/4004/1143 1758/3912/1143 -f 1727/3917/1148 1716/4005/1149 1773/3918/1149 -f 1773/4006/1149 1716/4007/1149 1776/3922/1148 -f 1716/4007/1149 1772/3920/1148 1776/3922/1148 -f 1772/3920/1148 1727/4008/1148 1775/3921/1148 -f 1727/4008/1148 1774/4009/1148 1775/3921/1148 -f 1773/3918/2 1756/4010/2 1757/3923/2 -f 1769/3924/2 1762/3892/2 1761/3891/2 -f 1765/3926/5 1764/4011/5 1771/3927/5 -f 1760/3929/5 1759/4012/5 1776/3930/5 -f 1764/3932/14 1762/4013/14 1769/3933/14 -f 1757/3935/14 1760/4014/14 1775/3936/14 -f 1761/3938/1150 1765/4015/1150 1770/3939/1150 -f 1759/3941/1151 1756/4016/1150 1773/3942/1150 -f 1778/4017/4 1779/4018/4 1780/4019/4 -f 1781/4020/2 1782/4021/1152 1783/4022/1153 -f 1784/4023/1 1785/4024/1 1786/4025/1 -f 1787/4026/5 1788/4027/5 1789/4028/5 -f 1784/4029/1154 1790/4030/1155 1791/4031/5 -f 1792/4032/4 1781/4033/4 1783/4034/4 -f 1793/4035/4 1794/4036/4 1795/4037/4 -f 1796/4038/4 1797/4039/4 1798/4040/4 -f 1799/4041/4 1800/4042/4 1801/4043/4 -f 1802/4044/1156 1803/4045/1157 1804/4046/2 -f 1805/4047/2 1806/4048/2 1807/4049/2 -f 1782/4050/1 1808/4051/1 1809/4052/1 -f 1810/4053/1 1811/4054/1 1812/4055/1 -f 1813/4056/1 1814/4057/1 1815/4058/1 -f 1816/4059/1 1817/4060/1 1818/4061/1 -f 1819/4062/14 1820/4063/14 1821/4064/14 -f 1822/4065/1 1823/4066/1 1824/4067/1 -f 1821/4068/1158 1825/4069/1159 1826/4070/1160 -f 1784/4029/1154 1825/4069/1159 1790/4030/1155 -f 1783/4022/1153 1803/4045/1157 1802/4044/1156 -f 1784/4023/1161 1782/4050/1161 1826/4071/1161 -f 1783/4034/1162 1790/4072/1162 1825/4073/1162 -f 1805/4074/3 1778/4075/3 1806/4076/3 -f 1827/4077/3 1828/4078/3 1829/4079/3 -f 1830/4080/1163 1831/4081/1164 1779/4082/1165 -f 1831/4081/1164 1832/4083/1166 1779/4082/1165 -f 1832/4083/1166 1780/4084/1167 1779/4082/1165 -f 1786/4085/1168 1833/4086/1169 1828/4087/1170 -f 1833/4086/1169 1834/4088/1171 1828/4087/1170 -f 1834/4088/1171 1829/4089/1172 1828/4087/1170 -f 1785/4090/1173 1833/4091/1174 1786/4092/1173 -f 1835/4093/1174 1834/4094/1175 1833/4091/1174 -f 1787/4095/1175 1829/4096/1176 1834/4097/1175 -f 1780/4098/1177 1836/4099/1178 1837/4100/1177 -f 1832/4101/1178 1838/4102/1179 1836/4099/1178 -f 1831/4103/1179 1839/4104/1180 1838/4105/1179 -f 1829/4079/3 1839/4106/3 1830/4107/3 -f 1840/4108/1181 1809/4109/1182 1792/4110/1182 -f 1841/4111/3 1842/4112/3 1843/4113/3 -f 1844/4114/1183 1810/4115/1184 1812/4116/1183 -f 1845/4117/1185 1846/4118/1186 1847/4119/1185 -f 1848/4120/1186 1849/4121/1187 1846/4118/1186 -f 1850/4122/1187 1812/4116/1183 1849/4121/1187 -f 1851/4123/1188 1843/4124/1189 1852/4125/1188 -f 1853/4126/1190 1852/4125/1188 1854/4127/1190 -f 1799/4128/1184 1854/4127/1190 1810/4115/1184 -f 1855/4129/1191 1856/4130/1192 1857/4131/1192 -f 1857/4131/1192 1858/4132/1193 1859/4133/1193 -f 1859/4133/1193 1860/4134/1181 1840/4108/1181 -f 1861/4135/1194 1842/4136/1195 1862/4137/1195 -f 1863/4138/1196 1864/4139/1194 1861/4135/1194 -f 1792/4110/1182 1865/4140/1197 1863/4138/1196 -f 1845/4141/14 1866/4142/14 1855/4143/14 -f 1800/4144/1181 1867/4145/1182 1801/4146/1182 -f 1868/4147/3 1869/4148/3 1870/4149/3 -f 1871/4150/1183 1813/4151/1184 1815/4152/1183 -f 1872/4153/1185 1873/4154/1186 1874/4155/1185 -f 1822/4156/1187 1875/4157/1186 1876/4158/1187 -f 1876/4158/1187 1815/4152/1183 1822/4156/1187 -f 1877/4159/1188 1870/4160/1189 1878/4161/1188 -f 1879/4162/1190 1878/4161/1188 1880/4163/1190 -f 1796/4164/1184 1880/4163/1190 1813/4151/1184 -f 1881/4165/1191 1882/4166/1192 1883/4167/1192 -f 1883/4167/1192 1884/4168/1193 1885/4169/1193 -f 1885/4169/1193 1811/4170/1181 1800/4144/1181 -f 1886/4171/1194 1869/4172/1195 1887/4173/1195 -f 1888/4174/1197 1889/4175/1194 1886/4171/1194 -f 1801/4146/1182 1890/4176/1197 1888/4174/1197 -f 1872/4177/14 1891/4178/14 1881/4179/14 -f 1797/4180/1181 1892/4181/1182 1798/4182/1182 -f 1893/4183/3 1894/4184/3 1895/4185/3 -f 1896/4186/1183 1817/4187/1184 1897/4188/1183 -f 1898/4189/1186 1899/4190/1185 1900/4191/1186 -f 1901/4192/1187 1900/4191/1186 1902/4193/1187 -f 1902/4193/1187 1897/4188/1183 1901/4192/1187 -f 1903/4194/1188 1895/4195/1189 1904/4196/1188 -f 1905/4197/1198 1904/4196/1188 1906/4198/1190 -f 1793/4199/1184 1906/4198/1190 1817/4187/1184 -f 1907/4200/1191 1824/4201/1192 1908/4202/1192 -f 1908/4202/1192 1823/4203/1193 1909/4204/1193 -f 1909/4204/1193 1814/4205/1181 1797/4180/1181 -f 1910/4206/1194 1894/4207/1195 1911/4208/1195 -f 1912/4209/1197 1913/4210/1194 1910/4206/1194 -f 1798/4182/1182 1914/4211/1197 1912/4209/1197 -f 1899/4212/14 1915/4213/14 1907/4214/14 -f 1794/4215/1181 1818/4216/1182 1795/4217/1182 -f 1916/4218/3 1917/4219/3 1918/4220/3 -f 1919/4221/1184 1920/4222/1183 1921/4223/1184 -f 1922/4224/1186 1923/4225/1185 1924/4226/1186 -f 1925/4227/1187 1924/4226/1186 1926/4228/1187 -f 1926/4228/1187 1927/4229/1183 1925/4227/1187 -f 1928/4230/1188 1918/4231/1189 1929/4232/1188 -f 1930/4233/1198 1929/4232/1188 1931/4234/1198 -f 1931/4234/1198 1921/4223/1184 1930/4233/1198 -f 1932/4235/1191 1933/4236/1192 1934/4237/1192 -f 1934/4237/1192 1935/4238/1193 1936/4239/1193 -f 1936/4239/1193 1816/4240/1181 1794/4215/1181 -f 1937/4241/1194 1917/4242/1195 1938/4243/1195 -f 1939/4244/1197 1940/4245/1194 1937/4241/1194 -f 1795/4217/1182 1941/4246/1196 1939/4244/1197 -f 1923/4247/14 1942/4248/14 1932/4249/14 -f 1825/4073/4 1924/4250/4 1923/4251/4 -f 1943/4252/1199 1944/4253/1200 1945/4254/1199 -f 1946/4255/1200 1947/4256/1201 1944/4257/1200 -f 1948/4258/1201 1819/4062/14 1947/4256/1201 -f 1808/4259/1199 1943/4252/1199 1945/4254/1199 -f 1949/4260/7 1950/4261/1 1951/4262/1 -f 1952/4263/963 1953/4264/7 1949/4260/7 -f 1952/4265/963 1954/4266/306 1955/4267/963 -f 1807/4268/14 1956/4269/306 1957/4270/14 -f 1958/4271/305 1957/4270/14 1789/4272/305 -f 1959/4273/56 1789/4272/305 1788/4274/56 -f 1960/4275/303 1788/4276/56 1961/4277/303 -f 1962/4278/4 1961/4277/303 1963/4279/4 -f 1964/4280/304 1963/4279/4 1965/4281/304 -f 1965/4281/304 1966/4282/55 1964/4280/304 -f 1967/4283/310 1966/4284/55 1968/4285/55 -f 1791/4286/3 1969/4287/310 1967/4283/310 -f 1970/4288/308 1804/4289/3 1791/4286/3 -f 1971/4290/964 1972/4291/308 1970/4288/308 -f 1973/4292/8 1974/4293/964 1971/4294/964 -f 1951/4262/1 1975/4295/8 1973/4292/8 -f 1837/4296/4 1790/4072/4 1780/4019/4 -f 1790/4072/4 1802/4297/4 1780/4019/4 -f 1802/4297/4 1806/4298/4 1780/4019/4 -f 1806/4298/4 1778/4017/4 1780/4019/4 -f 1781/4020/2 1808/4299/2 1782/4021/1152 -f 1786/4025/1 1828/4300/1 1827/4301/1 -f 1827/4301/1 1805/4302/1 1786/4025/1 -f 1805/4302/1 1803/4303/1 1786/4025/1 -f 1803/4303/1 1784/4023/1 1786/4025/1 -f 1956/4304/5 1952/4305/5 1838/4306/5 -f 1952/4305/5 1836/4307/5 1838/4306/5 -f 1838/4306/5 1839/4308/5 1956/4304/5 -f 1839/4308/5 1976/4309/5 1957/4310/5 -f 1957/4310/5 1956/4304/5 1839/4308/5 -f 1976/4309/5 1787/4026/5 1789/4028/5 -f 1957/4310/5 1976/4309/5 1789/4028/5 -f 1787/4026/5 1835/4311/5 1788/4027/5 -f 1961/4312/5 1788/4027/5 1785/4313/5 -f 1788/4027/5 1835/4311/5 1785/4313/5 -f 1785/4313/5 1784/4029/1154 1963/4314/5 -f 1961/4312/5 1785/4313/5 1963/4314/5 -f 1790/4030/1155 1837/4315/5 1951/4316/5 -f 1837/4315/5 1836/4307/5 1952/4305/5 -f 1951/4316/5 1837/4315/5 1949/4317/5 -f 1952/4305/5 1949/4317/5 1837/4315/5 -f 1790/4030/1155 1951/4316/5 1973/4318/5 -f 1965/4319/5 1963/4314/5 1784/4029/1154 -f 1968/4320/5 1965/4319/5 1784/4029/1154 -f 1790/4030/1155 1973/4318/5 1971/4321/5 -f 1790/4030/1155 1971/4321/5 1970/4322/5 -f 1967/4323/5 1968/4320/5 1784/4029/1154 -f 1790/4030/1155 1970/4322/5 1791/4031/5 -f 1791/4031/5 1967/4323/5 1784/4029/1154 -f 1861/4324/4 1862/4325/4 1781/4033/4 -f 1783/4034/4 1855/4326/4 1857/4327/4 -f 1783/4034/4 1857/4327/4 1859/4328/4 -f 1863/4329/4 1861/4324/4 1781/4033/4 -f 1792/4032/4 1863/4329/4 1781/4033/4 -f 1783/4034/4 1859/4328/4 1840/4330/4 -f 1840/4330/4 1792/4032/4 1783/4034/4 -f 1793/4035/4 1896/4331/4 1794/4036/4 -f 1796/4038/4 1871/4332/4 1797/4039/4 -f 1799/4041/4 1844/4333/4 1800/4042/4 -f 1972/4334/2 1974/4335/2 1802/4044/1156 -f 1803/4045/1157 1966/4336/2 1969/4337/2 -f 1804/4046/2 1972/4334/2 1802/4044/1156 -f 1803/4045/1157 1969/4337/2 1804/4046/2 -f 1964/4338/2 1966/4336/2 1803/4045/1157 -f 1802/4044/1156 1974/4335/2 1975/4339/2 -f 1802/4044/1156 1975/4339/2 1950/4340/2 -f 1964/4338/2 1803/4045/1157 1962/4341/2 -f 1803/4045/1157 1805/4047/2 1962/4341/2 -f 1806/4048/2 1802/4044/1156 1950/4340/2 -f 1806/4048/2 1950/4340/2 1953/4342/2 -f 1960/4343/2 1962/4341/2 1805/4047/2 -f 1959/4344/2 1960/4343/2 1805/4047/2 -f 1806/4048/2 1953/4342/2 1955/4345/2 -f 1806/4048/2 1955/4345/2 1954/4346/2 -f 1958/4347/2 1959/4344/2 1805/4047/2 -f 1806/4048/2 1954/4346/2 1807/4049/2 -f 1807/4049/2 1958/4347/2 1805/4047/2 -f 1856/4348/1 1866/4349/1 1782/4050/1 -f 1808/4051/1 1842/4350/1 1864/4351/1 -f 1808/4051/1 1864/4351/1 1865/4352/1 -f 1858/4353/1 1856/4348/1 1782/4050/1 -f 1860/4354/1 1858/4353/1 1782/4050/1 -f 1808/4051/1 1865/4352/1 1809/4052/1 -f 1809/4052/1 1860/4354/1 1782/4050/1 -f 1810/4053/1 1867/4355/1 1811/4054/1 -f 1813/4056/1 1892/4356/1 1814/4057/1 -f 1816/4059/1 1897/4357/1 1817/4060/1 -f 1819/4062/14 1977/4358/14 1820/4063/14 -f 1941/4359/1 1818/4061/1 1906/4360/1 -f 1818/4061/1 1817/4060/1 1906/4360/1 -f 1940/4361/1 1941/4359/1 1904/4362/1 -f 1941/4359/1 1906/4360/1 1904/4362/1 -f 1917/4363/1 1940/4361/1 1895/4364/1 -f 1940/4361/1 1904/4362/1 1895/4364/1 -f 1917/4363/1 1895/4364/1 1821/4365/1 -f 1895/4364/1 1894/4366/1 1819/4367/1 -f 1821/4365/1 1895/4364/1 1819/4367/1 -f 1897/4357/1 1816/4059/1 1935/4368/1 -f 1901/4369/1 1897/4357/1 1935/4368/1 -f 1901/4369/1 1935/4368/1 1933/4370/1 -f 1898/4371/1 1901/4369/1 1933/4370/1 -f 1898/4371/1 1933/4370/1 1942/4372/1 -f 1978/4373/1 1898/4371/1 1942/4372/1 -f 1978/4373/1 1942/4372/1 1826/4071/1 -f 1942/4372/1 1979/4374/1 1826/4071/1 -f 1914/4375/1 1892/4356/1 1880/4376/1 -f 1892/4356/1 1813/4056/1 1880/4376/1 -f 1913/4377/1 1914/4375/1 1878/4378/1 -f 1914/4375/1 1880/4376/1 1878/4378/1 -f 1894/4366/1 1913/4377/1 1870/4379/1 -f 1913/4377/1 1878/4378/1 1870/4379/1 -f 1894/4366/1 1870/4379/1 1819/4367/1 -f 1870/4379/1 1869/4380/1 1819/4367/1 -f 1819/4367/1 1869/4380/1 1843/4381/1 -f 1890/4382/1 1867/4355/1 1854/4383/1 -f 1867/4355/1 1810/4053/1 1854/4383/1 -f 1889/4384/1 1890/4382/1 1852/4385/1 -f 1890/4382/1 1854/4383/1 1852/4385/1 -f 1869/4380/1 1889/4384/1 1843/4381/1 -f 1889/4384/1 1852/4385/1 1843/4381/1 -f 1843/4381/1 1842/4350/1 1947/4386/1 -f 1842/4350/1 1808/4051/1 1945/4387/1 -f 1842/4350/1 1945/4387/1 1944/4388/1 -f 1842/4350/1 1944/4388/1 1947/4386/1 -f 1947/4386/1 1819/4367/1 1843/4381/1 -f 1826/4071/1 1782/4050/1 1915/4389/1 -f 1782/4050/1 1866/4349/1 1847/4390/1 -f 1782/4050/1 1847/4390/1 1891/4391/1 -f 1918/4392/1 1917/4363/1 1821/4365/1 -f 1782/4050/1 1891/4391/1 1874/4393/1 -f 1847/4390/1 1846/4394/1 1891/4391/1 -f 1849/4395/1 1812/4055/1 1811/4054/1 -f 1929/4396/1 1918/4392/1 1821/4365/1 -f 1931/4397/1 1929/4396/1 1821/4365/1 -f 1846/4394/1 1849/4395/1 1884/4398/1 -f 1849/4395/1 1811/4054/1 1884/4398/1 -f 1919/4399/1 1931/4397/1 1821/4365/1 -f 1927/4400/1 1919/4399/1 1826/4071/1 -f 1919/4399/1 1821/4365/1 1826/4071/1 -f 1846/4394/1 1884/4398/1 1882/4401/1 -f 1846/4394/1 1882/4401/1 1891/4391/1 -f 1925/4402/1 1927/4400/1 1826/4071/1 -f 1782/4050/1 1874/4393/1 1915/4389/1 -f 1922/4403/1 1925/4402/1 1826/4071/1 -f 1979/4374/1 1922/4403/1 1826/4071/1 -f 1874/4393/1 1873/4404/1 1915/4389/1 -f 1822/4065/1 1815/4058/1 1823/4066/1 -f 1815/4058/1 1814/4057/1 1823/4066/1 -f 1873/4404/1 1822/4065/1 1824/4067/1 -f 1915/4389/1 1873/4404/1 1824/4067/1 -f 1915/4389/1 1978/4373/1 1826/4071/1 -f 1821/4068/1158 1820/4405/1158 1825/4069/1159 -f 1784/4029/1154 1826/4070/1160 1825/4069/1159 -f 1783/4022/1153 1782/4021/1152 1803/4045/1157 -f 1784/4023/1161 1803/4303/1161 1782/4050/1161 -f 1783/4034/1162 1802/4297/1162 1790/4072/1162 -f 1805/4074/3 1827/4077/3 1778/4075/3 -f 1829/4079/3 1830/4107/3 1778/4075/3 -f 1830/4107/3 1779/4406/1202 1778/4075/3 -f 1778/4075/3 1827/4077/3 1829/4079/3 -f 1785/4090/1173 1835/4093/1174 1833/4091/1174 -f 1835/4093/1174 1787/4407/1175 1834/4094/1175 -f 1787/4095/1175 1976/4408/1176 1829/4096/1176 -f 1780/4098/1177 1832/4101/1178 1836/4099/1178 -f 1832/4101/1178 1831/4409/1179 1838/4102/1179 -f 1831/4103/1179 1830/4410/1180 1839/4104/1180 -f 1829/4079/3 1976/4411/3 1839/4106/3 -f 1840/4108/1181 1860/4134/1181 1809/4109/1182 -f 1841/4111/3 1862/4412/3 1842/4112/3 -f 1844/4114/1183 1799/4128/1184 1810/4115/1184 -f 1845/4117/1185 1848/4120/1186 1846/4118/1186 -f 1848/4120/1186 1850/4122/1187 1849/4121/1187 -f 1850/4122/1187 1844/4114/1183 1812/4116/1183 -f 1851/4123/1188 1841/4413/1189 1843/4124/1189 -f 1853/4126/1190 1851/4123/1188 1852/4125/1188 -f 1799/4128/1184 1853/4126/1190 1854/4127/1190 -f 1855/4129/1191 1866/4414/1191 1856/4130/1192 -f 1857/4131/1192 1856/4130/1192 1858/4132/1193 -f 1859/4133/1193 1858/4132/1193 1860/4134/1181 -f 1861/4135/1194 1864/4139/1194 1842/4136/1195 -f 1863/4138/1196 1865/4140/1197 1864/4139/1194 -f 1792/4110/1182 1809/4109/1182 1865/4140/1197 -f 1845/4141/14 1847/4415/14 1866/4142/14 -f 1800/4144/1181 1811/4170/1181 1867/4145/1182 -f 1868/4147/3 1887/4416/3 1869/4148/3 -f 1871/4150/1183 1796/4164/1184 1813/4151/1184 -f 1872/4153/1185 1875/4157/1186 1873/4154/1186 -f 1822/4156/1187 1873/4154/1186 1875/4157/1186 -f 1876/4158/1187 1871/4150/1183 1815/4152/1183 -f 1877/4159/1188 1868/4417/1189 1870/4160/1189 -f 1879/4162/1190 1877/4159/1188 1878/4161/1188 -f 1796/4164/1184 1879/4162/1190 1880/4163/1190 -f 1881/4165/1191 1891/4418/1191 1882/4166/1192 -f 1883/4167/1192 1882/4166/1192 1884/4168/1193 -f 1885/4169/1193 1884/4168/1193 1811/4170/1181 -f 1886/4171/1194 1889/4175/1194 1869/4172/1195 -f 1888/4174/1197 1890/4176/1197 1889/4175/1194 -f 1801/4146/1182 1867/4145/1182 1890/4176/1197 -f 1872/4177/14 1874/4419/14 1891/4178/14 -f 1797/4180/1181 1814/4205/1181 1892/4181/1182 -f 1893/4183/3 1911/4420/3 1894/4184/3 -f 1896/4186/1183 1793/4199/1184 1817/4187/1184 -f 1898/4189/1186 1978/4421/1185 1899/4190/1185 -f 1901/4192/1187 1898/4189/1186 1900/4191/1186 -f 1902/4193/1187 1896/4186/1183 1897/4188/1183 -f 1903/4194/1188 1893/4422/1189 1895/4195/1189 -f 1905/4197/1198 1903/4194/1188 1904/4196/1188 -f 1793/4199/1184 1905/4197/1198 1906/4198/1190 -f 1907/4200/1191 1915/4423/1191 1824/4201/1192 -f 1908/4202/1192 1824/4201/1192 1823/4203/1193 -f 1909/4204/1193 1823/4203/1193 1814/4205/1181 -f 1910/4206/1194 1913/4210/1194 1894/4207/1195 -f 1912/4209/1197 1914/4211/1197 1913/4210/1194 -f 1798/4182/1182 1892/4181/1182 1914/4211/1197 -f 1899/4212/14 1978/4424/14 1915/4213/14 -f 1794/4215/1181 1816/4240/1181 1818/4216/1182 -f 1916/4218/3 1938/4425/3 1917/4219/3 -f 1919/4221/1184 1927/4229/1183 1920/4222/1183 -f 1922/4224/1186 1979/4426/1185 1923/4225/1185 -f 1925/4227/1187 1922/4224/1186 1924/4226/1186 -f 1926/4228/1187 1920/4222/1183 1927/4229/1183 -f 1928/4230/1188 1916/4427/1189 1918/4231/1189 -f 1930/4233/1198 1928/4230/1188 1929/4232/1188 -f 1931/4234/1198 1919/4221/1184 1921/4223/1184 -f 1932/4235/1191 1942/4428/1191 1933/4236/1192 -f 1934/4237/1192 1933/4236/1192 1935/4238/1193 -f 1936/4239/1193 1935/4238/1193 1816/4240/1181 -f 1937/4241/1194 1940/4245/1194 1917/4242/1195 -f 1939/4244/1197 1941/4246/1196 1940/4245/1194 -f 1795/4217/1182 1818/4216/1182 1941/4246/1196 -f 1923/4247/14 1979/4429/14 1942/4248/14 -f 1794/4036/4 1896/4331/4 1902/4430/4 -f 1794/4036/4 1902/4430/4 1936/4431/4 -f 1902/4430/4 1900/4432/4 1936/4431/4 -f 1936/4431/4 1900/4432/4 1934/4433/4 -f 1900/4432/4 1899/4434/4 1934/4433/4 -f 1932/4435/4 1934/4433/4 1899/4434/4 -f 1923/4251/4 1932/4435/4 1825/4073/4 -f 1932/4435/4 1899/4434/4 1825/4073/4 -f 1793/4035/4 1795/4037/4 1905/4436/4 -f 1795/4037/4 1939/4437/4 1905/4436/4 -f 1905/4436/4 1939/4437/4 1903/4438/4 -f 1939/4437/4 1937/4439/4 1903/4438/4 -f 1903/4438/4 1937/4439/4 1893/4440/4 -f 1937/4439/4 1938/4441/4 1893/4440/4 -f 1911/4442/4 1893/4440/4 1977/4443/4 -f 1893/4440/4 1938/4441/4 1820/4444/4 -f 1909/4445/4 1797/4039/4 1871/4332/4 -f 1909/4445/4 1871/4332/4 1876/4446/4 -f 1908/4447/4 1909/4445/4 1876/4446/4 -f 1908/4447/4 1876/4446/4 1875/4448/4 -f 1907/4449/4 1908/4447/4 1875/4448/4 -f 1907/4449/4 1875/4448/4 1872/4450/4 -f 1899/4434/4 1907/4449/4 1825/4073/4 -f 1907/4449/4 1872/4450/4 1783/4034/4 -f 1825/4073/4 1907/4449/4 1783/4034/4 -f 1796/4038/4 1798/4040/4 1879/4451/4 -f 1798/4040/4 1912/4452/4 1879/4451/4 -f 1879/4451/4 1912/4452/4 1877/4453/4 -f 1912/4452/4 1910/4454/4 1877/4453/4 -f 1877/4453/4 1910/4454/4 1868/4455/4 -f 1910/4454/4 1911/4442/4 1868/4455/4 -f 1887/4456/4 1868/4455/4 1977/4443/4 -f 1868/4455/4 1911/4442/4 1977/4443/4 -f 1893/4440/4 1820/4444/4 1977/4443/4 -f 1887/4456/4 1977/4443/4 1841/4457/4 -f 1799/4041/4 1801/4043/4 1853/4458/4 -f 1801/4043/4 1888/4459/4 1853/4458/4 -f 1853/4458/4 1888/4459/4 1851/4460/4 -f 1888/4459/4 1886/4461/4 1851/4460/4 -f 1851/4460/4 1886/4461/4 1841/4457/4 -f 1886/4461/4 1887/4456/4 1841/4457/4 -f 1781/4033/4 1862/4325/4 1943/4462/4 -f 1862/4325/4 1841/4457/4 1948/4463/4 -f 1943/4462/4 1862/4325/4 1946/4464/4 -f 1946/4464/4 1862/4325/4 1948/4463/4 -f 1948/4463/4 1841/4457/4 1977/4443/4 -f 1855/4326/4 1783/4034/4 1845/4465/4 -f 1845/4465/4 1783/4034/4 1881/4466/4 -f 1881/4466/4 1783/4034/4 1872/4450/4 -f 1820/4444/4 1938/4441/4 1916/4467/4 -f 1848/4468/4 1845/4465/4 1881/4466/4 -f 1800/4042/4 1844/4333/4 1850/4469/4 -f 1820/4444/4 1916/4467/4 1928/4470/4 -f 1820/4444/4 1928/4470/4 1930/4471/4 -f 1800/4042/4 1850/4469/4 1885/4472/4 -f 1850/4469/4 1848/4468/4 1885/4472/4 -f 1820/4444/4 1930/4471/4 1921/4473/4 -f 1820/4444/4 1921/4473/4 1825/4073/4 -f 1921/4473/4 1920/4474/4 1825/4073/4 -f 1883/4475/4 1885/4472/4 1848/4468/4 -f 1881/4466/4 1883/4475/4 1848/4468/4 -f 1825/4073/4 1920/4474/4 1926/4476/4 -f 1825/4073/4 1926/4476/4 1924/4250/4 -f 1943/4252/1199 1946/4477/1200 1944/4253/1200 -f 1946/4255/1200 1948/4258/1201 1947/4256/1201 -f 1948/4258/1201 1977/4358/14 1819/4062/14 -f 1808/4259/1199 1781/4478/1199 1943/4252/1199 -f 1949/4260/7 1953/4264/7 1950/4261/1 -f 1952/4263/963 1955/4479/963 1953/4264/7 -f 1952/4265/963 1956/4269/306 1954/4266/306 -f 1807/4268/14 1954/4266/306 1956/4269/306 -f 1958/4271/305 1807/4268/14 1957/4270/14 -f 1959/4273/56 1958/4271/305 1789/4272/305 -f 1960/4275/303 1959/4480/56 1788/4276/56 -f 1962/4278/4 1960/4275/303 1961/4277/303 -f 1964/4280/304 1962/4278/4 1963/4279/4 -f 1965/4281/304 1968/4481/55 1966/4282/55 -f 1967/4283/310 1969/4287/310 1966/4284/55 -f 1791/4286/3 1804/4289/3 1969/4287/310 -f 1970/4288/308 1972/4291/308 1804/4289/3 -f 1971/4290/964 1974/4482/964 1972/4291/308 -f 1973/4292/8 1975/4295/8 1974/4293/964 -f 1951/4262/1 1950/4261/1 1975/4295/8 -f 1980/4483/1 1981/4484/1 1982/4485/1 -f 1983/4486/1203 1984/4487/1203 1985/4488/1204 -f 1986/4489/1 1987/4490/1 1988/4491/1 -f 1989/4492/14 1990/4493/14 1991/4494/14 -f 1992/4495/4 1985/4488/4 1984/4487/4 -f 1986/4496/5 1993/4497/5 1992/4498/5 -f 1991/4494/1205 1992/4499/1205 1989/4492/1205 -f 1982/4500/2 1994/4501/2 1995/4502/2 -f 1993/4503/1206 1980/4483/1206 1990/4504/1206 -f 1983/4486/4 1996/4505/4 1997/4506/4 -f 1988/4491/1207 1982/4485/1208 1981/4484/1207 -f 1998/4507/3 1999/4508/3 2000/4509/3 -f 2001/4510/1209 1987/4511/1209 2002/4512/1209 -f 2003/4513/1210 1998/4507/1210 2004/4514/1210 -f 1988/4515/1211 1995/4516/1211 1994/4517/1211 -f 2005/4518/1212 1983/4519/1212 2006/4520/1212 -f 2003/4521/1213 1983/4522/1213 2005/4523/1213 -f 2000/4524/1203 2004/4525/1203 1998/4526/1203 -f 2001/4510/1214 1998/4507/1214 2003/4513/1214 -f 2002/4527/1207 2007/4528/1207 1999/4529/1207 -f 1987/4490/1215 1995/4530/1215 1988/4491/1215 -f 1995/4502/2 2003/4521/2 2005/4523/2 -f 2008/4531/4 2009/4532/304 2010/4533/4 -f 2011/4534/304 2012/4535/55 2009/4532/304 -f 2012/4535/55 2013/4536/1216 2014/4537/1216 -f 2013/4538/1217 2015/4539/1217 2014/4540/1217 -f 2015/4539/1218 2016/4541/1218 2017/4542/1218 -f 2016/4543/1219 2018/4544/964 2017/4545/1219 -f 2019/4546/964 2020/4547/8 2018/4544/964 -f 2020/4547/8 2021/4548/1 2022/4549/1 -f 2021/4548/1 2023/4550/7 2022/4549/1 -f 2024/4551/7 2025/4552/963 2023/4550/7 -f 2026/4553/963 2027/4554/1220 2025/4552/963 -f 2028/4555/1221 2029/4556/1221 2027/4557/1221 -f 2030/4558/1222 2031/4559/1222 2029/4556/1222 -f 2032/4560/1223 2033/4561/56 2031/4562/1223 -f 2034/4563/2 2016/4564/2 2013/4565/2 -f 2035/4566/56 2036/4567/303 2033/4561/56 -f 2037/4568/303 2010/4533/4 2036/4567/303 -f 2038/4569/5 2039/4570/5 2040/4571/5 -f 2041/4572/1224 2010/4573/1225 2009/4574/1226 -f 2042/4575/1227 2009/4574/1226 2012/4576/1228 -f 2043/4577/1229 2012/4576/1228 2014/4578/1230 -f 2044/4579/1231 2014/4578/1230 2015/4580/1231 -f 2044/4579/1231 2017/4581/1232 2045/4582/1233 -f 2045/4582/1233 2018/4583/1234 2046/4584/1235 -f 2046/4584/1235 2020/4585/1236 2047/4586/1237 -f 2047/4586/1237 2022/4587/1238 2048/4588/1238 -f 2049/4589/1239 2022/4587/1238 2023/4590/1240 -f 2050/4591/1241 2023/4590/1240 2025/4592/1242 -f 2040/4593/1243 2025/4592/1242 2027/4594/1244 -f 2051/4595/1245 2027/4594/1244 2029/4596/1245 -f 2051/4595/1245 2031/4597/1246 2038/4598/1247 -f 2038/4598/1247 2033/4599/1248 2039/4600/1249 -f 2039/4600/1249 2036/4601/1250 2052/4602/1251 -f 2052/4602/1251 2010/4573/1225 2053/4603/1225 -f 2054/4604/304 2055/4605/304 2056/4606/304 -f 2057/4607/310 2058/4608/310 2055/4605/310 -f 2059/4609/308 2060/4610/308 2058/4611/308 -f 2060/4610/8 2061/4612/8 2062/4613/8 -f 2061/4612/7 2063/4614/7 2062/4613/7 -f 2064/4615/306 2065/4616/306 2063/4614/306 -f 2061/4617/2 2066/4618/2 2057/4619/2 -f 2065/4620/305 2067/4621/305 2068/4622/305 -f 2067/4621/303 2056/4606/303 2068/4622/303 -f 2063/4623/5 2065/4624/5 2068/4625/5 -f 1980/4483/1 2069/4626/1 1981/4484/1 -f 1985/4488/1204 2006/4627/1252 1983/4486/1203 -f 1983/4486/1203 1997/4506/1203 1984/4487/1203 -f 1986/4489/1 2007/4528/1 1987/4490/1 -f 1989/4492/14 1993/4628/14 1990/4493/14 -f 1992/4495/4 2070/4629/4 1985/4488/4 -f 1997/4630/5 1996/4631/5 1986/4496/5 -f 1996/4631/5 2000/4632/5 2007/4633/5 -f 1986/4496/5 1996/4631/5 2007/4633/5 -f 2000/4632/5 1999/4634/5 2007/4633/5 -f 1986/4496/5 1981/4635/5 2069/4636/5 -f 1992/4498/5 1984/4637/5 1997/4630/5 -f 1986/4496/5 2069/4636/5 1993/4497/5 -f 1993/4497/5 1989/4638/5 1992/4498/5 -f 1992/4498/5 1997/4630/5 1986/4496/5 -f 1991/4494/1205 2070/4639/1205 1992/4499/1205 -f 1995/4502/2 2005/4523/2 1991/4640/2 -f 2005/4523/2 2006/4641/2 2070/4642/2 -f 2006/4641/2 1985/4643/2 2070/4642/2 -f 2070/4642/2 1991/4640/2 2005/4523/2 -f 1991/4640/2 1990/4644/2 1995/4502/2 -f 1990/4644/2 1980/4645/2 1995/4502/2 -f 1980/4645/2 1982/4500/2 1995/4502/2 -f 1993/4503/1206 2069/4626/1206 1980/4483/1206 -f 1983/4486/4 2004/4525/4 1996/4505/4 -f 1981/4484/1207 1986/4489/1207 1988/4491/1207 -f 1988/4491/1207 1994/4646/1253 1982/4485/1208 -f 1998/4507/3 2002/4512/3 1999/4508/3 -f 2003/4521/1213 2004/4647/1213 1983/4522/1213 -f 2000/4524/1203 1996/4505/1203 2004/4525/1203 -f 2001/4510/1214 2002/4512/1214 1998/4507/1214 -f 2002/4527/1207 1987/4490/1207 2007/4528/1207 -f 1987/4490/1215 2001/4648/1215 1995/4530/1215 -f 1995/4502/2 2001/4649/2 2003/4521/2 -f 2008/4531/4 2011/4534/304 2009/4532/304 -f 2011/4534/304 2034/4650/55 2012/4535/55 -f 2012/4535/55 2034/4650/55 2013/4536/1216 -f 2013/4538/1217 2071/4651/1217 2015/4539/1217 -f 2015/4539/1218 2071/4651/1218 2016/4541/1218 -f 2016/4543/1219 2019/4546/964 2018/4544/964 -f 2019/4546/964 2072/4652/8 2020/4547/8 -f 2020/4547/8 2072/4652/8 2021/4548/1 -f 2021/4548/1 2024/4551/7 2023/4550/7 -f 2024/4551/7 2026/4553/963 2025/4552/963 -f 2026/4553/963 2028/4653/1220 2027/4554/1220 -f 2028/4555/1221 2030/4558/1221 2029/4556/1221 -f 2030/4558/1222 2032/4654/1222 2031/4559/1222 -f 2032/4560/1223 2035/4566/56 2033/4561/56 -f 2034/4563/2 2011/4655/2 2072/4656/2 -f 2011/4655/2 2008/4657/2 2021/4658/2 -f 2008/4657/2 2037/4659/2 2024/4660/2 -f 2037/4659/2 2035/4661/2 2026/4662/2 -f 2035/4661/2 2032/4663/2 2026/4662/2 -f 2032/4663/2 2030/4664/2 2028/4665/2 -f 2026/4662/2 2032/4663/2 2028/4665/2 -f 2026/4662/2 2024/4660/2 2037/4659/2 -f 2024/4660/2 2021/4658/2 2008/4657/2 -f 2021/4658/2 2072/4656/2 2011/4655/2 -f 2072/4656/2 2019/4666/2 2034/4563/2 -f 2019/4666/2 2016/4564/2 2034/4563/2 -f 2016/4564/2 2071/4667/2 2013/4565/2 -f 2035/4566/56 2037/4568/303 2036/4567/303 -f 2037/4568/303 2008/4531/4 2010/4533/4 -f 2052/4668/5 2053/4669/5 2048/4670/5 -f 2053/4669/5 2041/4671/5 2047/4672/5 -f 2041/4671/5 2042/4673/5 2047/4672/5 -f 2042/4673/5 2043/4674/5 2046/4675/5 -f 2047/4672/5 2042/4673/5 2046/4675/5 -f 2043/4674/5 2044/4676/5 2045/4677/5 -f 2045/4677/5 2046/4675/5 2043/4674/5 -f 2047/4672/5 2048/4670/5 2053/4669/5 -f 2048/4670/5 2049/4678/5 2052/4668/5 -f 2049/4678/5 2050/4679/5 2052/4668/5 -f 2050/4679/5 2040/4571/5 2039/4570/5 -f 2052/4668/5 2050/4679/5 2039/4570/5 -f 2040/4571/5 2051/4680/5 2038/4569/5 -f 2041/4572/1224 2053/4603/1225 2010/4573/1225 -f 2042/4575/1227 2041/4572/1224 2009/4574/1226 -f 2043/4577/1229 2042/4575/1227 2012/4576/1228 -f 2044/4579/1231 2043/4577/1229 2014/4578/1230 -f 2044/4579/1231 2015/4580/1231 2017/4581/1232 -f 2045/4582/1233 2017/4581/1232 2018/4583/1234 -f 2046/4584/1235 2018/4583/1234 2020/4585/1236 -f 2047/4586/1237 2020/4585/1236 2022/4587/1238 -f 2049/4589/1239 2048/4588/1238 2022/4587/1238 -f 2050/4591/1241 2049/4589/1239 2023/4590/1240 -f 2040/4593/1243 2050/4591/1241 2025/4592/1242 -f 2051/4595/1245 2040/4593/1243 2027/4594/1244 -f 2051/4595/1245 2029/4596/1245 2031/4597/1246 -f 2038/4598/1247 2031/4597/1246 2033/4599/1248 -f 2039/4600/1249 2033/4599/1248 2036/4601/1250 -f 2052/4602/1251 2036/4601/1250 2010/4573/1225 -f 2054/4604/304 2057/4607/304 2055/4605/304 -f 2057/4607/310 2059/4609/310 2058/4608/310 -f 2059/4609/308 2066/4681/308 2060/4610/308 -f 2060/4610/8 2066/4681/8 2061/4612/8 -f 2061/4612/7 2064/4615/7 2063/4614/7 -f 2064/4615/306 2073/4682/306 2065/4616/306 -f 2059/4683/2 2057/4619/2 2066/4618/2 -f 2057/4619/2 2054/4684/2 2061/4617/2 -f 2054/4684/2 2067/4685/2 2061/4617/2 -f 2067/4685/2 2073/4686/2 2064/4687/2 -f 2061/4617/2 2067/4685/2 2064/4687/2 -f 2065/4620/305 2073/4682/305 2067/4621/305 -f 2067/4621/303 2054/4604/303 2056/4606/303 -f 2068/4625/5 2056/4688/5 2062/4689/5 -f 2056/4688/5 2055/4690/5 2060/4691/5 -f 2055/4690/5 2058/4692/5 2060/4691/5 -f 2060/4691/5 2062/4689/5 2056/4688/5 -f 2062/4689/5 2063/4623/5 2068/4625/5 -l 1686 1687 -l 1680 1681 -l 1649 1672 -l 1682 1683 -l 1684 1685 diff --git a/src/main/resources/assets/hbm/models/weapons/novac.obj b/src/main/resources/assets/hbm/models/weapons/novac.obj deleted file mode 100644 index 7f3f04f6c..000000000 --- a/src/main/resources/assets/hbm/models/weapons/novac.obj +++ /dev/null @@ -1,4142 +0,0 @@ -# Blender 4.0.1 -# www.blender.org -o Cylinder -v -0.126087 0.227980 0.137402 -v 0.126087 0.227980 0.774998 -v -0.126086 0.227980 0.774998 -v 0.126086 0.227980 0.137402 -v 0.304400 0.406294 0.774998 -v 0.304400 0.406293 0.137402 -v 0.304400 0.658466 0.774998 -v 0.304400 0.658466 0.137402 -v 0.126087 0.836780 0.774998 -v 0.126086 0.836780 0.137402 -v -0.126086 0.836780 0.774998 -v -0.126087 0.836780 0.137402 -v -0.304400 0.658467 0.774998 -v -0.304400 0.658466 0.137402 -v -0.304400 0.406294 0.774998 -v -0.304400 0.406294 0.137402 -vn -0.3827 -0.9239 -0.0000 -vn 0.3827 -0.9239 -0.0000 -vn 0.9239 -0.3827 -0.0000 -vn 0.9239 0.3827 -0.0000 -vn 0.3827 0.9239 -0.0000 -vn -0.3827 0.9239 -0.0000 -vn -0.9239 0.3827 -0.0000 -vn -0.0000 -0.0000 -1.0000 -vn -0.9239 -0.3827 -0.0000 -vn -0.0000 -0.0000 1.0000 -vt 0.246533 0.894427 -vt 0.118900 0.944907 -vt 0.118900 0.894427 -vt 0.246533 0.944907 -vt 0.118900 0.995387 -vt 0.246533 0.591549 -vt 0.118900 0.642029 -vt 0.118900 0.591549 -vt 0.246533 0.642029 -vt 0.118900 0.692509 -vt 0.246533 0.692509 -vt 0.118900 0.742988 -vt 0.246533 0.742988 -vt 0.118900 0.793468 -vt 0.375332 0.627244 -vt 0.375332 0.677724 -vt 0.253463 0.627244 -vt 0.246533 0.793468 -vt 0.118900 0.843948 -vt 0.246533 0.843948 -vt 0.339638 0.713512 -vt 0.375332 0.799686 -vt 0.289158 0.835381 -vt 0.246533 0.995387 -vt 0.339638 0.713418 -vt 0.289158 0.713418 -vt 0.253463 0.677724 -vt 0.289158 0.591549 -vt 0.339638 0.591549 -vt 0.253464 0.799686 -vt 0.253463 0.749207 -vt 0.289158 0.713512 -vt 0.375332 0.749207 -vt 0.339638 0.835381 -s 1 -f 1/1/1 2/2/2 3/3/1 -f 4/4/2 5/5/3 2/2/2 -f 6/6/3 7/7/4 5/8/3 -f 8/9/4 9/10/5 7/7/4 -f 10/11/5 11/12/6 9/10/5 -f 12/13/6 13/14/7 11/12/6 -f 8/15/8 6/16/8 14/17/8 -f 14/18/7 15/19/9 13/14/7 -f 16/20/9 3/3/1 15/19/9 -f 7/21/10 11/22/10 15/23/10 -f 1/1/1 4/4/2 2/2/2 -f 4/4/2 6/24/3 5/5/3 -f 6/6/3 8/9/4 7/7/4 -f 8/9/4 10/11/5 9/10/5 -f 10/11/5 12/13/6 11/12/6 -f 12/13/6 14/18/7 13/14/7 -f 6/16/8 4/25/8 1/26/8 -f 1/26/8 16/27/8 6/16/8 -f 16/27/8 14/17/8 6/16/8 -f 14/17/8 12/28/8 10/29/8 -f 10/29/8 8/15/8 14/17/8 -f 14/18/7 16/20/9 15/19/9 -f 16/20/9 1/1/1 3/3/1 -f 15/23/10 3/30/10 2/31/10 -f 2/31/10 5/32/10 7/21/10 -f 7/21/10 9/33/10 11/22/10 -f 11/22/10 13/34/10 15/23/10 -f 15/23/10 2/31/10 7/21/10 -o Body -v 0.070876 1.068409 0.865754 -v 0.141753 1.068409 0.897529 -v 0.141753 1.068409 0.865754 -v 0.141753 0.949894 0.829541 -v -0.141753 0.897793 0.881642 -v -0.141753 0.949894 0.829541 -v 0.141753 0.897793 0.881642 -v -0.141753 0.949894 0.933742 -v 0.141753 0.986107 0.897529 -v 0.141753 0.986107 0.865754 -v -0.141753 0.986107 0.865754 -v -0.141753 0.986107 0.897529 -v -0.141753 1.068409 0.865754 -v -0.070876 1.068409 0.897529 -v -0.070876 1.068409 0.865754 -v 0.141753 0.949894 0.933742 -v 0.000000 1.008182 0.897529 -v 0.000000 1.008182 0.865754 -v 0.070876 1.068409 0.897529 -v -0.141753 1.068409 0.897529 -v 0.021772 0.858479 -2.163888 -v 0.021772 0.977946 -2.136619 -v 0.021772 0.977946 -1.813800 -v 0.006439 1.069528 -2.025718 -v 0.006439 0.978873 -1.822862 -v 0.006439 0.978924 -2.135519 -v -0.021772 0.977946 -1.813800 -v -0.021772 0.858479 -2.163888 -v -0.021772 0.862374 -1.530190 -v -0.006439 0.979031 -2.135490 -v -0.006439 0.978873 -1.822863 -v -0.006439 1.069528 -2.025718 -v 0.021772 0.977946 -1.776917 -v 0.021772 0.862374 -1.530190 -v -0.021772 0.977946 -2.136619 -v -0.021772 0.977946 -1.776917 -v -0.006439 1.067725 -2.088842 -v 0.006439 1.035261 -2.120404 -v 0.006439 1.067725 -2.088842 -v -0.006439 1.035261 -2.120404 -v -0.054995 0.616618 -0.028039 -v -0.033567 0.562746 -0.960018 -v -0.033567 0.562746 -0.028039 -v -0.054995 0.616618 -1.026899 -v 0.033567 0.562746 -0.960018 -v 0.054995 0.616618 -0.028039 -v 0.033567 0.562746 -0.028039 -v -0.033567 0.390368 -0.028039 -v -0.025180 0.382701 -0.028039 -v -0.004934 0.379525 -0.028039 -v 0.054995 0.616618 -1.026899 -v 0.033567 0.390368 -0.028039 -v 0.033567 0.390368 -0.869522 -v -0.033567 0.390368 -0.869522 -v 0.004934 0.379525 -0.863829 -v -0.004934 0.379525 -0.863829 -v 0.025180 0.382701 -0.865496 -v -0.025180 0.382701 -0.865496 -v 0.025180 0.382701 -0.028039 -v 0.004934 0.379525 -0.028039 -v -0.091806 0.781963 -0.305483 -v 0.000000 0.834967 -0.305483 -v 0.091806 0.781963 -0.305483 -v 0.000000 0.577301 -2.190801 -v 0.131339 0.653130 -0.116135 -v 0.000000 0.577301 -0.116135 -v 0.131339 0.653130 -2.190801 -v 0.131339 0.804788 -0.116135 -v -0.033282 0.869246 -2.190801 -v -0.131339 0.804788 -0.116135 -v -0.033282 0.869246 -0.116135 -v 0.000000 0.834967 -2.190801 -v -0.091806 0.781963 -2.190801 -v -0.131339 0.804788 -2.190801 -v -0.131339 0.653130 -0.116135 -v 0.131339 0.804788 -2.190801 -v 0.033282 0.869246 -0.116135 -v 0.033282 0.869246 -2.190801 -v 0.033282 0.893686 -0.116135 -v -0.033282 0.893686 -0.116135 -v 0.033282 0.893686 -2.190801 -v -0.033282 0.893686 -2.190801 -v 0.091806 0.781963 -2.190801 -v 0.091806 0.675955 -0.305483 -v 0.091806 0.675955 -2.190801 -v 0.000000 0.622951 -2.190801 -v -0.131339 0.653130 -2.190801 -v -0.091806 0.675955 -0.305483 -v -0.091806 0.675955 -2.190801 -v 0.000000 0.622951 -0.305483 -v 0.038663 0.010816 1.719601 -v -0.038663 -0.245511 1.887638 -v 0.038663 -0.245511 1.887638 -v 0.155101 -0.023361 0.976255 -v -0.155153 0.335495 1.332264 -v 0.155152 0.335496 1.332264 -v -0.165394 -1.094236 1.405764 -v -0.111831 -1.094236 1.351958 -v -0.038663 -1.094236 1.332264 -v 0.038663 -1.094236 1.332264 -v -0.038663 -0.735379 1.366441 -v 0.038663 -0.735379 1.366441 -v -0.038663 -0.493293 1.340808 -v 0.038663 -0.493293 1.340808 -v -0.038663 -0.356585 1.278151 -v 0.038663 -0.356585 1.278151 -v -0.038663 -0.259751 1.158532 -v 0.038663 -0.259751 1.158532 -v -0.038663 -0.208486 0.984799 -v 0.038663 -0.208486 0.984799 -v 0.165394 -0.171143 0.992864 -v 0.185000 -0.127654 1.227930 -v 0.165394 -0.193703 1.193231 -v -0.111832 -0.197420 0.977549 -v -0.124343 -0.190359 0.972923 -v -0.155012 -0.125892 0.930686 -v -0.155169 0.386761 1.437643 -v 0.155169 0.386761 1.437643 -v 0.165394 0.187100 1.505419 -v 0.185000 0.161170 1.436487 -v 0.185000 0.353967 1.437475 -v 0.038663 0.264730 1.561425 -v -0.038663 0.213029 1.574350 -v 0.038663 0.213029 1.574350 -v -0.038663 0.101954 1.631311 -v 0.038663 0.101954 1.631311 -v -0.038663 0.010816 1.719601 -v -0.185000 0.353967 1.437475 -v -0.165395 0.187099 1.505419 -v -0.165395 0.371558 1.459304 -v 0.038663 -0.641392 2.049978 -v -0.038663 -1.094236 2.183837 -v 0.038663 -1.094236 2.183837 -v 0.111832 -0.254688 1.870211 -v 0.111832 -0.647907 2.031459 -v 0.165395 -0.279760 1.822601 -v 0.165395 -0.665706 1.980867 -v 0.185000 -0.314010 1.757564 -v 0.111832 -1.094236 2.163393 -v 0.165395 -1.094236 2.107539 -v 0.185000 -1.094236 2.031240 -v 0.185000 -0.690020 1.911755 -v 0.111832 -1.094236 1.351958 -v 0.111832 -0.735275 1.386145 -v 0.165395 -1.094236 1.405764 -v 0.165395 -0.734991 1.439977 -v 0.185000 -1.094236 1.479263 -v 0.111831 -0.488039 1.359967 -v 0.165395 -0.473687 1.412310 -v 0.185000 -0.734604 1.513514 -v 0.111831 -0.344239 1.294058 -v 0.165394 -0.310507 1.337519 -v 0.185000 -0.454081 1.483811 -v 0.111831 -0.242054 1.167829 -v 0.185000 -0.264429 1.396888 -v -0.185000 -0.127654 1.227930 -v -0.165395 -0.171143 0.992864 -v -0.165395 -0.193703 1.193231 -v 0.111831 0.206081 1.555880 -v 0.111831 0.331394 1.524552 -v 0.165394 0.371558 1.459304 -v 0.111831 0.090410 1.615198 -v 0.165394 0.058870 1.571177 -v 0.111831 -0.001489 1.704225 -v 0.165394 -0.035107 1.662217 -v 0.185000 -0.081029 1.604832 -v 0.185000 0.015786 1.511043 -v -0.185000 -0.314010 1.757564 -v -0.165394 -0.665706 1.980867 -v -0.165394 -0.279760 1.822601 -v -0.111831 -0.647907 2.031460 -v -0.111831 -0.254688 1.870211 -v -0.038663 -0.641392 2.049978 -v -0.185000 -1.094236 2.031240 -v -0.185000 -0.690020 1.911756 -v -0.165394 -1.094236 2.107539 -v -0.111831 -1.094236 2.163393 -v -0.185000 -1.094236 1.479263 -v -0.165394 -0.734991 1.439977 -v -0.111831 -0.735275 1.386145 -v -0.185000 -0.734604 1.513514 -v -0.165395 -0.473687 1.412310 -v -0.111832 -0.488039 1.359967 -v -0.185000 -0.454081 1.483811 -v -0.165395 -0.310507 1.337519 -v -0.111832 -0.344239 1.294059 -v -0.185000 -0.264429 1.396888 -v -0.111832 -0.242054 1.167830 -v 0.111831 -0.197420 0.977549 -v 0.124342 -0.190359 0.972923 -v -0.111832 0.331394 1.524552 -v -0.111832 0.206081 1.555880 -v -0.038663 0.264730 1.561425 -v -0.185000 0.161170 1.436487 -v -0.165395 0.058870 1.571177 -v -0.111832 0.090410 1.615198 -v -0.185000 -0.081029 1.604832 -v -0.185000 0.015786 1.511043 -v -0.165395 -0.035107 1.662217 -v -0.111832 -0.001489 1.704225 -v 0.167489 0.373183 1.456990 -v -0.167489 0.373183 1.456990 -v 0.185000 -0.126088 0.963812 -v 0.155011 -0.125892 0.930686 -v 0.185000 -0.038447 1.002724 -v 0.185000 0.311230 1.349627 -v -0.185000 -0.038447 1.002724 -v -0.155102 -0.023361 0.976255 -v -0.185000 0.311230 1.349627 -v -0.185000 -0.126088 0.963812 -v -0.097892 0.268977 1.622983 -v 0.097892 0.149312 1.674509 -v 0.097892 0.268977 1.622983 -v 0.130092 0.958661 0.861598 -v -0.130093 0.708668 1.058814 -v 0.130092 0.708668 1.058814 -v 0.130092 0.613690 1.167382 -v -0.130093 0.530807 1.307363 -v 0.130092 0.530807 1.307363 -v 0.097892 -0.235169 1.903226 -v -0.097891 -0.628431 2.060954 -v 0.097892 -0.628431 2.060954 -v -0.130092 -0.204556 0.922148 -v 0.130093 -0.133963 0.912969 -v 0.130093 -0.204556 0.922148 -v -0.097891 -0.931319 2.170571 -v 0.097892 -0.931319 2.170571 -v 0.130093 -0.924483 1.955257 -v -0.130092 -0.070062 1.401592 -v 0.130093 -0.070062 1.401592 -v -0.130092 -0.225360 0.969494 -v 0.130093 -0.225360 0.969494 -v -0.130092 -0.300993 0.937781 -v 0.130093 -0.300993 0.937781 -v 0.130092 -0.008544 0.212238 -v -0.130093 -0.008544 -0.085101 -v 0.130092 -0.008544 -0.085101 -v -0.130093 0.275124 -0.085101 -v 0.130092 0.275124 -0.085101 -v -0.130093 0.357148 -0.143201 -v 0.130092 0.357148 -0.143201 -v 0.130092 0.525636 -0.143201 -v -0.130093 0.525636 -0.143201 -v 0.130092 0.921066 -0.143201 -v -0.130093 0.921066 0.307933 -v 0.130092 0.921066 0.307933 -v -0.130093 0.965496 0.495906 -v 0.130092 0.965496 0.495906 -v -0.130093 0.958661 0.861598 -v -0.097892 0.057929 1.734014 -v 0.097892 0.057929 1.734014 -v 0.097892 0.415249 1.620324 -v 0.130093 0.477214 1.426684 -v 0.130093 -0.386514 0.876939 -v -0.130092 -0.386514 0.876940 -v 0.130093 -0.442444 0.786799 -v 0.130092 -0.211485 0.282549 -v -0.130093 -0.008544 0.212238 -v -0.130092 -0.442590 0.623577 -v 0.130093 -0.414803 0.465864 -v 0.130093 -0.442590 0.623577 -v -0.130092 -0.414803 0.465864 -v 0.130093 -0.330356 0.359518 -v -0.130092 -0.330356 0.359518 -v -0.130092 -0.930219 2.135928 -v -0.130092 -0.924483 1.955257 -v 0.130093 -0.930219 2.135928 -v 0.130093 -0.249283 1.874193 -v -0.130092 -0.249284 1.874193 -v -0.130092 0.041082 1.706559 -v 0.130093 -0.639977 2.030890 -v -0.130092 -0.639977 2.030890 -v 0.130093 0.134048 1.646022 -v -0.130092 0.134048 1.646022 -v -0.130092 0.262060 1.590903 -v 0.130093 0.262060 1.590903 -v 0.130093 0.425615 1.587929 -v 0.130093 0.041082 1.706559 -v -0.097892 0.415249 1.620324 -v -0.130092 0.425615 1.587929 -v -0.097892 0.149312 1.674509 -v -0.097892 -0.235169 1.903226 -v -0.130092 0.477214 1.426684 -v -0.130092 -0.442444 0.786799 -v -0.130092 0.221493 0.777850 -v -0.130092 0.032680 0.752116 -v -0.130092 -0.044732 0.859700 -v -0.130092 -0.102226 0.333310 -v 0.130092 -0.022441 0.371767 -v -0.130093 -0.022441 0.371767 -v 0.130092 0.652207 0.905577 -v 0.130092 0.841407 0.777850 -v -0.130092 -0.388426 0.502954 -v 0.130093 -0.403589 0.641508 -v 0.130093 -0.388426 0.502954 -v 0.130092 -0.311756 0.399896 -v 0.130092 -0.193827 0.335099 -v -0.130092 -0.311756 0.399896 -v 0.130093 -0.361856 0.843483 -v -0.130092 -0.404840 0.766055 -v -0.130092 -0.361856 0.843483 -v -0.130092 -0.403589 0.641508 -v 0.130092 0.841407 0.131254 -v 0.130092 0.841530 -0.143201 -v -0.130092 -0.193827 0.335099 -v 0.130092 0.046415 0.462863 -v 0.130092 0.032680 0.752116 -v 0.130093 -0.280523 0.902444 -v -0.130092 -0.280523 0.902444 -v 0.130092 -0.102226 0.333310 -v -0.130093 0.046415 0.462863 -v -0.130093 0.357293 0.131254 -v 0.130092 0.357290 0.131254 -v 0.130092 0.525636 0.131254 -v 0.130092 0.221493 0.131254 -v -0.130093 0.221493 0.131254 -v -0.130093 0.221493 0.431851 -v -0.303465 0.659984 0.777850 -v 0.303465 0.659984 0.777850 -v -0.130093 0.841407 0.131254 -v 0.130092 0.841407 0.322044 -v -0.156306 0.411972 -0.143201 -v 0.173056 0.766475 -0.143201 -v -0.130093 0.921066 -0.143201 -v 0.173056 0.766475 0.131254 -v 0.173056 0.694144 -0.143201 -v 0.173056 0.694144 0.131254 -v 0.130092 0.617043 -0.143201 -v 0.156306 0.412767 -0.143201 -v 0.156306 0.467612 0.131254 -v 0.156306 0.467612 -0.143201 -v 0.130092 0.617043 0.131254 -v -0.173057 0.765680 -0.143201 -v -0.130093 0.841530 -0.143201 -v -0.173057 0.693349 -0.143201 -v -0.173057 0.765680 0.131254 -v -0.130093 0.617043 -0.143201 -v -0.173057 0.693349 0.131254 -v -0.130093 0.617043 0.131254 -v -0.130093 0.525636 0.131254 -v -0.156306 0.466817 0.131254 -v -0.156306 0.466817 -0.143201 -v 0.130092 0.221493 0.777850 -v -0.303465 0.402917 0.777850 -v 0.303465 0.402917 0.777850 -v 0.130092 0.406563 0.905577 -v -0.130093 0.405927 0.905757 -v -0.130093 0.650810 0.906495 -v -0.130093 0.841407 0.777850 -v 0.130092 -0.044732 0.859700 -v -0.130092 -0.133963 0.912969 -v -0.130093 0.613690 1.167382 -v -0.130092 -0.211485 0.282549 -v -0.130093 0.841407 0.322044 -v 0.130093 -0.404840 0.766055 -v 0.130092 0.221493 0.431851 -v -0.130093 0.275159 0.131254 -v 0.130092 0.274881 0.131254 -v -0.156306 0.411972 0.131254 -v 0.156306 0.412767 0.131254 -v -0.065046 0.477214 1.426684 -v -0.065047 0.708668 1.058814 -v -0.065047 0.613690 1.167382 -v -0.065047 0.530807 1.307363 -v 0.065046 0.708668 1.058814 -v 0.065047 0.477214 1.426684 -v 0.065046 0.530807 1.307363 -v 0.065046 0.613690 1.167382 -v -0.065047 0.633816 1.012052 -v 0.065046 0.538838 1.120620 -v 0.065047 0.402362 1.379922 -v -0.065047 0.455955 1.260601 -v -0.065046 0.402362 1.379922 -v -0.065047 0.538838 1.120620 -v 0.065046 0.633816 1.012052 -v 0.065046 0.455955 1.260601 -vn -0.0000 1.0000 -0.0000 -vn -0.0000 -0.0000 -1.0000 -vn -0.0000 -1.0000 -0.0000 -vn -0.0000 -0.0000 1.0000 -vn 1.0000 -0.0000 -0.0000 -vn -0.0000 0.7071 -0.7071 -vn -1.0000 -0.0000 -0.0000 -vn -0.0000 0.7071 0.7071 -vn -0.6475 0.7620 -0.0000 -vn 0.6475 0.7620 -0.0000 -vn -0.0000 0.9761 0.2173 -vn -0.0000 0.9056 0.4242 -vn -0.0000 0.2225 -0.9749 -vn -0.0420 0.7668 -0.6406 -vn 0.0382 0.7683 -0.6390 -vn -0.0000 -1.0000 0.0061 -vn 0.0199 0.9997 0.0174 -vn 0.0205 0.9890 0.1463 -vn -0.0199 0.9997 0.0174 -vn -0.0000 0.9809 0.1946 -vn -0.0000 0.9155 -0.4023 -vn -0.0000 0.4940 -0.8694 -vn -0.0186 0.7451 -0.6667 -vn 0.0187 0.7734 -0.6336 -vn -0.0206 0.9890 0.1463 -vn -0.9292 -0.3696 -0.0000 -vn -0.9658 -0.2592 -0.0000 -vn -0.9821 -0.1882 -0.0000 -vn -0.0000 -0.7788 -0.6273 -vn -0.0000 -0.6466 -0.7629 -vn 0.9658 -0.2592 -0.0000 -vn 0.9292 -0.3696 -0.0000 -vn 0.9821 -0.1882 -0.0000 -vn 0.9538 -0.3003 -0.0000 -vn 0.9151 -0.4033 -0.0000 -vn -0.0000 -0.4648 -0.8854 -vn -0.9538 -0.3003 -0.0000 -vn -0.9151 -0.4033 -0.0000 -vn 0.0797 -0.9968 -0.0000 -vn -0.0777 -0.9970 -0.0000 -vn -0.0797 -0.9968 -0.0000 -vn -0.0000 -0.4649 -0.8853 -vn -0.0000 -0.4649 -0.8854 -vn -0.4332 -0.9013 -0.0000 -vn -0.4666 -0.8845 -0.0000 -vn 0.4332 -0.9013 -0.0000 -vn 0.0777 -0.9970 -0.0000 -vn 0.4666 -0.8845 -0.0000 -vn 0.8660 -0.5000 -0.0000 -vn 0.8801 0.4747 -0.0000 -vn -0.5493 0.8356 -0.0000 -vn -0.8801 0.4747 -0.0000 -vn -0.8660 -0.5000 -0.0000 -vn 0.5493 0.8356 -0.0000 -vn -0.8660 0.5000 -0.0000 -vn 0.8660 0.5000 -0.0000 -vn 0.1301 0.6195 0.7741 -vn -0.1301 0.4620 0.8773 -vn 0.1301 0.4620 0.8773 -vn -0.0000 0.5645 -0.8254 -vn -0.0000 0.8133 -0.5819 -vn 0.1295 0.0940 -0.9871 -vn -0.1323 -0.0052 -0.9912 -vn 0.1322 -0.0052 -0.9912 -vn -0.1340 -0.2621 -0.9557 -vn 0.1340 -0.2621 -0.9557 -vn -0.1365 -0.6074 -0.7826 -vn 0.1365 -0.6074 -0.7826 -vn -0.1352 -0.8771 -0.4608 -vn 0.1352 -0.8771 -0.4608 -vn -0.0808 -0.9622 -0.2603 -vn 0.0808 -0.9622 -0.2603 -vn 0.7746 -0.6264 -0.0870 -vn 0.9945 -0.0968 -0.0405 -vn 0.8887 -0.4230 -0.1767 -vn -0.0000 -0.5480 -0.8365 -vn -0.0000 0.8992 -0.4375 -vn 0.8698 0.1565 0.4679 -vn 0.9938 0.0274 0.1074 -vn 0.9228 0.0804 0.3768 -vn 0.0986 0.3350 0.9370 -vn -0.1326 0.3486 0.9278 -vn 0.1326 0.3486 0.9278 -vn -0.1335 0.5772 0.8056 -vn 0.1335 0.5772 0.8056 -vn -0.1301 0.6195 0.7741 -vn -0.9228 0.0804 0.3768 -vn -0.8698 0.1565 0.4679 -vn -0.7544 0.1070 0.6477 -vn 0.1301 0.3290 0.9353 -vn -0.1273 0.2812 0.9512 -vn 0.1273 0.2812 0.9512 -vn 0.4948 0.4049 0.7689 -vn 0.4968 0.2880 0.8187 -vn 0.8601 0.2377 0.4514 -vn 0.8626 0.1679 0.4771 -vn 0.9905 0.0642 0.1218 -vn 0.4781 0.2490 0.8423 -vn 0.8441 0.1520 0.5141 -vn 0.9881 0.0437 0.1477 -vn 0.9909 0.0446 0.1269 -vn 0.4931 0.0825 -0.8661 -vn 0.5089 -0.0045 -0.8608 -vn 0.8591 0.0485 -0.5095 -vn 0.8741 -0.0026 -0.4858 -vn 0.9904 0.0131 -0.1377 -vn 0.5163 -0.2265 -0.8259 -vn 0.8799 -0.1257 -0.4583 -vn 0.9926 -0.0006 -0.1217 -vn 0.5261 -0.5214 -0.6718 -vn 0.8869 -0.2832 -0.3649 -vn 0.9933 -0.0306 -0.1117 -vn 0.5029 -0.7822 -0.3678 -vn 0.9941 -0.0667 -0.0860 -vn -0.9945 -0.0968 -0.0405 -vn -0.7747 -0.6264 -0.0870 -vn -0.8887 -0.4230 -0.1767 -vn 0.5105 0.3024 0.8049 -vn 0.3336 0.5327 0.7778 -vn 0.7543 0.1069 0.6477 -vn 0.0001 0.8288 0.5595 -vn -0.0001 0.8288 0.5595 -vn -0.0000 0.8185 0.5745 -vn 0.5145 0.4994 0.6971 -vn 0.8785 0.2783 0.3884 -vn 0.4948 0.5430 0.6785 -vn 0.8601 0.3187 0.3982 -vn 0.9905 0.0860 0.1075 -vn 0.9931 0.0683 0.0953 -vn -0.9905 0.0642 0.1219 -vn -0.8626 0.1679 0.4771 -vn -0.8601 0.2377 0.4514 -vn -0.4968 0.2880 0.8187 -vn -0.4948 0.4049 0.7689 -vn -0.1301 0.3290 0.9353 -vn -0.9881 0.0437 0.1477 -vn -0.9909 0.0446 0.1269 -vn -0.8441 0.1520 0.5141 -vn -0.4781 0.2490 0.8423 -vn -0.9904 0.0131 -0.1377 -vn -0.8741 -0.0026 -0.4858 -vn -0.8591 0.0485 -0.5095 -vn -0.5089 -0.0045 -0.8608 -vn -0.4931 0.0825 -0.8661 -vn -0.1295 0.0940 -0.9871 -vn -0.9926 -0.0006 -0.1217 -vn -0.8799 -0.1257 -0.4583 -vn -0.5163 -0.2265 -0.8259 -vn -0.9933 -0.0306 -0.1117 -vn -0.8869 -0.2832 -0.3649 -vn -0.5261 -0.5214 -0.6718 -vn -0.9941 -0.0667 -0.0860 -vn -0.5029 -0.7822 -0.3678 -vn -0.3318 -0.9223 -0.1983 -vn 0.3318 -0.9223 -0.1983 -vn 0.4610 -0.8818 -0.0993 -vn -0.3336 0.5327 0.7778 -vn -0.5105 0.3024 0.8049 -vn -0.0986 0.3350 0.9370 -vn -0.9938 0.0274 0.1074 -vn -0.8785 0.2782 0.3884 -vn -0.5145 0.4994 0.6971 -vn -0.9905 0.0860 0.1075 -vn -0.9931 0.0682 0.0953 -vn -0.8601 0.3187 0.3982 -vn -0.4948 0.5430 0.6785 -vn 0.7184 0.6547 -0.2351 -vn 0.7258 0.6612 -0.1896 -vn 0.7397 0.6729 0.0012 -vn -0.7258 0.6612 -0.1896 -vn -0.7184 0.6547 -0.2351 -vn -0.7397 0.6729 0.0012 -vn 0.7127 0.3923 -0.5816 -vn 0.7116 0.2849 -0.6423 -vn 0.7115 0.2849 -0.6424 -vn 0.7070 0.5751 -0.4116 -vn 0.7123 0.4004 -0.5764 -vn 0.7070 0.5751 -0.4115 -vn -0.7124 0.4004 -0.5764 -vn -0.7070 0.5751 -0.4116 -vn -0.7127 0.3923 -0.5816 -vn -0.7070 0.5751 -0.4115 -vn -0.5760 -0.6122 -0.5417 -vn -0.5677 -0.6176 -0.5443 -vn -0.5896 -0.6030 -0.5373 -vn -0.7116 0.2849 -0.6423 -vn -0.7115 0.2849 -0.6424 -vn 0.5759 -0.6122 -0.5417 -vn 0.5677 -0.6176 -0.5443 -vn 0.5579 -0.6239 -0.5472 -vn -0.0000 0.4061 -0.9138 -vn 0.9813 -0.1926 -0.0011 -vn 0.7425 -0.0035 0.6698 -vn -0.7426 -0.0033 0.6697 -vn -0.9813 -0.1925 -0.0011 -vn -0.0002 0.8185 0.5746 -vn 0.0002 0.8185 0.5746 -vn -0.4610 -0.8818 -0.0993 -vn -0.5579 -0.6239 -0.5472 -vn 0.5896 -0.6030 -0.5373 -vn -0.0000 0.2108 0.9775 -vn -0.0000 0.4723 0.8814 -vn -0.0000 0.6194 0.7851 -vn -0.0000 0.6663 0.7457 -vn -0.7406 -0.3560 0.5699 -vn -0.0000 0.4372 0.8994 -vn -0.0000 0.3563 0.9344 -vn -0.0000 0.0622 -0.9981 -vn -0.0000 -0.3276 -0.9448 -vn -0.0000 0.3403 0.9403 -vn -0.0000 -0.5438 -0.8392 -vn -0.0000 -0.9411 0.3382 -vn -0.0000 -0.3867 0.9222 -vn -0.0000 -0.4862 0.8739 -vn -0.0000 -0.5780 -0.8160 -vn -0.0000 0.9933 -0.1158 -vn -0.0000 0.9943 -0.1065 -vn -0.0000 0.9998 0.0187 -vn -0.0000 0.5230 0.8523 -vn -0.0000 0.9338 0.3578 -vn -0.0000 0.8877 0.4603 -vn -0.0000 0.0182 0.9998 -vn 0.7359 0.3588 -0.5743 -vn -0.0000 -0.7290 0.6845 -vn -0.0000 -0.9616 0.2745 -vn -0.0000 -0.4386 -0.8987 -vn -0.0000 -0.3274 -0.9449 -vn -0.0000 -0.9962 -0.0866 -vn -0.0000 -0.9120 -0.4103 -vn -0.0000 -0.6722 -0.7404 -vn -0.0000 -0.9995 -0.0317 -vn 0.7080 0.3088 0.6351 -vn 0.7072 0.3698 0.6026 -vn -0.7080 0.3088 0.6351 -vn -0.7072 0.3698 0.6026 -vn 0.7072 0.2520 0.6606 -vn 0.7071 0.2406 0.6649 -vn 0.7072 0.2519 0.6607 -vn -0.7071 0.2406 0.6649 -vn -0.7072 0.2520 0.6606 -vn -0.7071 0.2519 0.6607 -vn 0.7084 0.3334 0.6221 -vn 0.7138 0.1476 0.6846 -vn -0.7084 0.3333 0.6221 -vn -0.7138 0.1476 0.6846 -vn 0.7071 0.0129 0.7070 -vn -0.7071 0.0129 0.7070 -vn -0.0000 0.9524 0.3048 -vn -0.0000 -0.2132 0.9770 -vn -0.0000 -0.6337 0.7736 -vn -0.0000 0.9308 0.3656 -vn -0.0000 0.9982 0.0595 -vn -0.0000 0.6570 0.7539 -vn -0.0000 0.2580 0.9661 -vn -0.0000 0.7484 -0.6633 -vn -0.0000 0.9693 -0.2458 -vn 0.9853 0.1709 -0.0000 -vn 0.9664 0.2570 0.0001 -vn -0.0000 -0.9442 -0.3293 -vn -0.0000 -0.9989 -0.0474 -vn -0.0000 0.4264 -0.9045 -vn -0.0000 -0.7977 0.6030 -vn 0.9757 -0.2189 -0.0000 -vn 0.9625 -0.2713 0.0001 -vn -0.9751 -0.2217 -0.0000 -vn -0.9616 -0.2746 0.0001 -vn -0.9752 -0.2212 0.0001 -vn 0.9664 0.2571 0.0001 -vn -0.9855 0.1695 -0.0000 -vn 0.9663 0.2574 -0.0000 -vn 0.9679 -0.2515 -0.0000 -vn 0.9758 -0.2185 0.0001 -vn 0.9776 0.2106 -0.0000 -vn -0.9670 0.2549 0.0001 -vn -0.9670 0.2548 0.0001 -vn -0.9673 -0.2536 -0.0000 -vn -0.9669 0.2552 -0.0000 -vn -0.9781 0.2081 -0.0000 -vn 0.5733 0.2131 0.7912 -vn 0.5789 -0.1967 0.7913 -vn 0.5756 0.1979 0.7934 -vn 0.5053 0.4828 0.7152 -vn 0.5758 -0.2183 0.7879 -vn 0.5109 -0.4883 0.7075 -vn -0.5122 -0.4895 0.7058 -vn -0.5766 -0.2205 0.7867 -vn -0.5804 -0.1975 0.7900 -vn -0.5771 0.1993 0.7920 -vn -0.5746 0.2114 0.7907 -vn -0.5052 0.4828 0.7153 -vn -0.0000 -0.6762 -0.7367 -vn -0.0000 0.6889 0.7248 -vn -0.0000 0.8100 0.5864 -vn -0.0000 0.9122 0.4097 -vn -0.0000 0.9403 0.3402 -vn -0.0000 0.7526 0.6584 -vn 0.7406 -0.3560 0.5699 -vn -0.6681 -0.3942 0.6310 -vn -0.6744 0.3912 -0.6262 -vn 0.6744 0.3912 -0.6262 -vn -0.7359 0.3588 -0.5743 -vn 0.6681 -0.3942 0.6310 -vt 0.073656 0.779539 -vt 0.081399 0.796810 -vt 0.073656 0.796810 -vt 0.050717 0.786291 -vt 0.032761 0.717204 -vt 0.050717 0.717204 -vt 0.032711 0.786291 -vt 0.014755 0.717204 -vt 0.032711 0.717204 -vt 0.099894 0.784044 -vt 0.096064 0.805572 -vt 0.092151 0.784059 -vt 0.063197 0.786291 -vt 0.063197 0.717204 -vt 0.092252 0.784049 -vt 0.100049 0.764014 -vt 0.099995 0.784070 -vt 0.096066 0.805580 -vt 0.073656 0.716936 -vt 0.081399 0.734208 -vt 0.073656 0.734208 -vt 0.099855 0.763988 -vt 0.014755 0.786291 -vt 0.002275 0.717204 -vt 0.002295 0.786339 -vt 0.071382 0.786339 -vt 0.036838 0.791718 -vt 0.073656 0.756873 -vt 0.081399 0.779539 -vt 0.081399 0.756873 -vt 0.002275 0.786342 -vt 0.071362 0.786342 -vt 0.036819 0.791721 -vt 0.032761 0.786291 -vt 0.108736 0.792851 -vt 0.083343 0.792901 -vt 0.092305 0.763993 -vt 0.108796 0.792918 -vt 0.083403 0.792850 -vt 0.081399 0.716936 -vt 0.092111 0.764003 -vt 0.002275 0.786291 -vt 0.071382 0.806395 -vt 0.054110 0.806395 -vt 0.019567 0.806395 -vt 0.002295 0.806395 -vt 0.071362 0.806398 -vt 0.054091 0.806398 -vt 0.019547 0.806398 -vt 0.002275 0.806398 -vt 0.050815 0.964187 -vt 0.022923 0.957640 -vt 0.023387 0.882167 -vt 0.000391 0.939742 -vt 0.021578 0.892311 -vt 0.021578 0.965410 -vt 0.023386 0.882167 -vt 0.050813 0.964187 -vt 0.050813 0.816027 -vt 0.021586 0.965403 -vt 0.021586 0.892311 -vt 0.000415 0.939749 -vt 0.065060 0.879800 -vt 0.054868 0.816027 -vt 0.065060 0.816027 -vt 0.066687 0.963664 -vt 0.076868 0.992314 -vt 0.066687 0.992314 -vt 0.066687 0.815504 -vt 0.076868 0.963664 -vt 0.065060 0.888433 -vt 0.054868 0.879800 -vt 0.061471 0.890563 -vt 0.054868 0.888433 -vt 0.006644 0.864557 -vt 0.003633 0.879321 -vt 0.003633 0.864557 -vt 0.006644 0.889907 -vt 0.006644 0.879321 -vt 0.003633 0.903518 -vt 0.003633 0.889907 -vt 0.065057 0.963856 -vt 0.061468 0.963513 -vt 0.058457 0.890564 -vt 0.054872 0.963859 -vt 0.003633 0.812609 -vt 0.058468 0.963499 -vt 0.023440 0.873544 -vt 0.050815 0.816027 -vt 0.008406 0.961878 -vt 0.000815 0.954500 -vt 0.023439 0.873544 -vt 0.022922 0.957640 -vt 0.000844 0.954507 -vt 0.008438 0.961882 -vt 0.076868 0.815504 -vt 0.006644 0.903544 -vt 0.006644 0.812609 -vt 0.646204 0.426405 -vt 0.878178 0.440836 -vt 0.646204 0.440836 -vt 0.719647 0.492539 -vt 0.698103 0.514756 -vt 0.698103 0.497914 -vt 0.878178 0.384598 -vt 0.646204 0.399029 -vt 0.646204 0.384598 -vt 0.719705 0.520131 -vt 0.733219 0.497914 -vt 0.733219 0.514756 -vt 0.776463 0.497914 -vt 0.778386 0.500018 -vt 0.779183 0.505097 -vt 0.894825 0.426405 -vt 0.894825 0.399029 -vt 0.776463 0.514756 -vt 0.855653 0.341692 -vt 0.646204 0.341692 -vt 0.649263 0.514756 -vt 0.649263 0.497914 -vt 0.855653 0.483742 -vt 0.646204 0.483742 -vt 0.853950 0.332960 -vt 0.646212 0.329338 -vt 0.853970 0.329334 -vt 0.647090 0.512652 -vt 0.646190 0.507573 -vt 0.854224 0.492481 -vt 0.646190 0.487380 -vt 0.854639 0.487380 -vt 0.646192 0.338059 -vt 0.646192 0.332964 -vt 0.854365 0.338054 -vt 0.719647 0.520131 -vt 0.719705 0.492539 -vt 0.779183 0.507573 -vt 0.778386 0.512652 -vt 0.646190 0.505097 -vt 0.647090 0.500018 -vt 0.646190 0.492481 -vt 0.625344 0.493036 -vt 0.640162 0.518702 -vt 0.625344 0.544367 -vt 0.991730 0.947997 -vt 0.418732 0.989883 -vt 0.418732 0.947997 -vt 0.991635 0.719134 -vt 0.418637 0.761020 -vt 0.418637 0.719134 -vt 0.991730 0.831816 -vt 0.418732 0.864225 -vt 0.418732 0.831816 -vt 0.490671 0.507650 -vt 0.475853 0.481984 -vt 0.500255 0.498345 -vt 0.991730 0.864225 -vt 0.418732 0.906111 -vt 0.991635 0.761020 -vt 0.418637 0.793429 -vt 0.991635 0.793430 -vt 0.418685 0.803430 -vt 0.553293 0.462750 -vt 0.580706 0.480770 -vt 0.580706 0.523168 -vt 0.418684 0.821815 -vt 0.991682 0.803430 -vt 0.991682 0.821815 -vt 0.534684 0.462750 -vt 0.553293 0.455917 -vt 0.507087 0.516954 -vt 0.500255 0.516954 -vt 0.945706 0.603823 -vt 0.418637 0.633459 -vt 0.418637 0.603823 -vt 0.945706 0.574187 -vt 0.418637 0.574187 -vt 0.431399 0.507650 -vt 0.418637 0.507650 -vt 0.439836 0.470932 -vt 0.418637 0.544551 -vt 0.945706 0.692732 -vt 0.418637 0.722368 -vt 0.418637 0.692732 -vt 0.945706 0.663096 -vt 0.418637 0.663096 -vt 0.595708 0.544367 -vt 0.580890 0.518702 -vt 0.595708 0.493036 -vt 0.991730 0.989883 -vt 0.482234 0.544367 -vt 0.439836 0.544367 -vt 0.446217 0.533315 -vt 0.475853 0.533315 -vt 0.482234 0.470932 -vt 0.991730 0.906111 -vt 0.543988 0.544367 -vt 0.507270 0.523168 -vt 0.507270 0.480770 -vt 0.534684 0.455917 -vt 0.507087 0.498345 -vt 0.945706 0.633460 -vt 0.446217 0.481984 -vt 0.945706 0.544551 -vt 0.945706 0.722369 -vt 0.943217 0.267157 -vt 0.926816 0.200969 -vt 0.943283 0.201022 -vt 0.518614 0.365977 -vt 0.408575 0.434977 -vt 0.407603 0.364763 -vt 0.691811 0.182540 -vt 0.679816 0.194589 -vt 0.663431 0.198999 -vt 0.790430 0.010515 -vt 0.806586 0.087515 -vt 0.789182 0.087383 -vt 0.807179 0.145714 -vt 0.787864 0.145480 -vt 0.807338 0.184720 -vt 0.787235 0.184419 -vt 0.806826 0.224675 -vt 0.787363 0.224372 -vt 0.804592 0.265004 -vt 0.789455 0.265203 -vt 0.762991 0.269202 -vt 0.734295 0.228422 -vt 0.750382 0.227248 -vt 0.563830 0.425463 -vt 0.561372 0.428039 -vt 0.544436 0.431268 -vt 0.380990 0.436844 -vt 0.380928 0.362943 -vt 0.979855 0.330577 -vt 0.997279 0.332894 -vt 0.977666 0.372086 -vt 0.942886 0.339656 -vt 0.925073 0.327372 -vt 0.943524 0.327508 -vt 0.924933 0.296851 -vt 0.943938 0.297107 -vt 0.926017 0.267118 -vt 0.890449 0.371970 -vt 0.888609 0.330033 -vt 0.898082 0.372863 -vt 0.944098 0.108972 -vt 0.927549 0.003861 -vt 0.945038 0.003989 -vt 0.959510 0.201115 -vt 0.960758 0.109163 -vt 0.976114 0.201189 -vt 0.977479 0.109415 -vt 0.993182 0.201234 -vt 0.962153 0.005475 -vt 0.979285 0.009325 -vt 0.996344 0.014550 -vt 0.994366 0.109702 -vt 0.775076 0.010580 -vt 0.772288 0.086759 -vt 0.759833 0.011018 -vt 0.755934 0.085737 -vt 0.744532 0.011615 -vt 0.769275 0.144608 -vt 0.751693 0.143162 -vt 0.740273 0.084551 -vt 0.767874 0.184311 -vt 0.749248 0.184148 -vt 0.735539 0.141562 -vt 0.768470 0.225353 -vt 0.732209 0.183909 -vt 0.859569 0.229149 -vt 0.830692 0.269217 -vt 0.843603 0.227804 -vt 0.468619 0.053761 -vt 0.510338 0.123074 -vt 0.595077 0.093538 -vt 0.961775 0.328544 -vt 0.957372 0.356859 -vt 0.970094 0.372916 -vt 0.967925 0.378672 -vt 0.962614 0.296741 -vt 0.981202 0.295983 -vt 0.960092 0.266798 -vt 0.976967 0.265877 -vt 0.994071 0.264483 -vt 0.999243 0.294996 -vt 0.876930 0.200545 -vt 0.893760 0.108906 -vt 0.893992 0.200716 -vt 0.910487 0.108862 -vt 0.910592 0.200854 -vt 0.927152 0.108880 -vt 0.876092 0.013774 -vt 0.876866 0.108983 -vt 0.893223 0.008764 -vt 0.910408 0.005131 -vt 0.852123 0.012128 -vt 0.839893 0.086276 -vt 0.836793 0.011364 -vt 0.823504 0.087100 -vt 0.821522 0.010763 -vt 0.806135 0.010538 -vt 0.855599 0.085278 -vt 0.843397 0.143865 -vt 0.825787 0.145081 -vt 0.859584 0.142485 -vt 0.845278 0.184879 -vt 0.826683 0.184818 -vt 0.862281 0.184873 -vt 0.825634 0.225751 -vt 0.818535 0.268782 -vt 0.775293 0.268889 -vt 0.772790 0.270569 -vt 0.910854 0.356249 -vt 0.906755 0.328195 -vt 0.925628 0.339795 -vt 0.871053 0.332174 -vt 0.887683 0.295354 -vt 0.906271 0.296322 -vt 0.875237 0.263718 -vt 0.869636 0.294124 -vt 0.892311 0.265344 -vt 0.909163 0.266501 -vt 0.582746 0.275394 -vt 0.511691 0.273824 -vt 0.532576 0.229852 -vt 0.385204 0.353185 -vt 0.378416 0.357051 -vt 0.385461 0.446926 -vt 0.378416 0.442955 -vt 0.541558 0.357450 -vt 0.542017 0.367230 -vt 0.518528 0.356368 -vt 0.407993 0.355379 -vt 0.520482 0.442763 -vt 0.520351 0.432941 -vt 0.409011 0.444549 -vt 0.558437 0.440307 -vt 0.544431 0.441003 -vt 0.555710 0.356970 -vt 0.559936 0.369073 -vt 0.646114 0.198999 -vt 0.613344 0.166080 -vt 0.629729 0.194589 -vt 0.617734 0.182540 -vt 0.613344 0.042471 -vt 0.696201 0.042471 -vt 0.617734 0.025385 -vt 0.646114 0.008299 -vt 0.629729 0.012877 -vt 0.663431 0.008299 -vt 0.679816 0.012877 -vt 0.691811 0.025385 -vt 0.696201 0.166080 -vt 0.756059 0.278834 -vt 0.569442 0.389177 -vt 0.562759 0.371542 -vt 0.568477 0.408219 -vt 0.970560 0.373529 -vt 0.897611 0.373479 -vt 0.837449 0.278834 -vt 0.578450 0.350139 -vt 0.600326 0.350269 -vt 0.581469 0.311429 -vt 0.582456 0.274854 -vt 0.592028 0.246226 -vt 0.532286 0.229312 -vt 0.600326 0.184395 -vt 0.531487 0.182600 -vt 0.474553 0.313093 -vt 0.511401 0.273284 -vt 0.458214 0.299160 -vt 0.580090 0.000344 -vt 0.900263 0.378672 -vt 0.820992 0.270468 -vt 0.581759 0.311969 -vt 0.600616 0.350809 -vt 0.578739 0.350680 -vt 0.474843 0.313633 -vt 0.458504 0.299700 -vt 0.600616 0.184935 -vt 0.592318 0.246766 -vt 0.580380 0.000884 -vt 0.595367 0.094079 -vt 0.468908 0.054301 -vt 0.531777 0.183140 -vt 0.510628 0.123614 -vt 0.297467 0.534291 -vt 0.274155 0.499064 -vt 0.297243 0.498318 -vt 0.227832 0.136510 -vt 0.174947 0.167228 -vt 0.174947 0.145622 -vt 0.069017 0.781576 -vt 0.102885 0.781576 -vt 0.200788 0.500764 -vt 0.132092 0.532286 -vt 0.132160 0.500166 -vt 0.214968 0.437985 -vt 0.226791 0.481199 -vt 0.214968 0.481199 -vt 0.079276 0.532213 -vt 0.079413 0.499857 -vt 0.057683 0.542811 -vt 0.014470 0.373714 -vt 0.057683 0.373714 -vt 0.014470 0.297454 -vt 0.057683 0.297454 -vt 0.014470 0.283833 -vt 0.057683 0.283833 -vt 0.057683 0.113331 -vt 0.013017 0.065497 -vt 0.056230 0.065497 -vt 0.014470 0.016834 -vt 0.057683 0.016834 -vt 0.237608 0.128706 -vt 0.194395 0.112011 -vt 0.237608 0.112011 -vt 0.237608 0.084028 -vt 0.194395 0.084028 -vt 0.395586 0.134818 -vt 0.320659 0.178032 -vt 0.320659 0.134818 -vt 0.288579 0.178032 -vt 0.288579 0.134818 -vt 0.227832 0.179723 -vt 0.255763 0.532612 -vt 0.255630 0.500001 -vt 0.102246 0.178032 -vt 0.123971 0.167228 -vt 0.123971 0.178032 -vt 0.322696 0.499422 -vt 0.030823 0.812121 -vt 0.000112 0.812121 -vt 0.057683 0.266401 -vt 0.014470 0.266401 -vt 0.057683 0.248783 -vt 0.057683 0.149002 -vt 0.014470 0.113331 -vt 0.014470 0.221674 -vt 0.057683 0.195076 -vt 0.057683 0.221674 -vt 0.014470 0.195076 -vt 0.057683 0.172522 -vt 0.014470 0.172522 -vt 0.016695 0.573883 -vt 0.014470 0.542811 -vt 0.059906 0.573475 -vt 0.200772 0.493328 -vt 0.200752 0.539591 -vt 0.255530 0.540026 -vt 0.081573 0.492375 -vt 0.132204 0.492739 -vt 0.081385 0.539720 -vt 0.132085 0.539722 -vt 0.273731 0.491419 -vt 0.273669 0.541133 -vt 0.297535 0.542407 -vt 0.297180 0.490341 -vt 0.324958 0.491786 -vt 0.255382 0.492566 -vt 0.323509 0.532260 -vt 0.326077 0.540048 -vt 0.274083 0.533455 -vt 0.200769 0.532142 -vt 0.072626 0.178537 -vt 0.066927 0.173242 -vt 0.014470 0.248783 -vt 0.252413 0.299074 -vt 0.247711 0.266360 -vt 0.265474 0.253139 -vt 0.347835 0.437985 -vt 0.333125 0.481199 -vt 0.333125 0.437985 -vt 0.278296 0.371798 -vt 0.255762 0.406113 -vt 0.304964 0.380163 -vt 0.126705 0.437985 -vt 0.149854 0.481199 -vt 0.126705 0.481199 -vt 0.105371 0.481199 -vt 0.083023 0.481199 -vt 0.105371 0.437985 -vt 0.185249 0.481199 -vt 0.170540 0.437985 -vt 0.185249 0.437985 -vt 0.149854 0.437985 -vt 0.142525 0.407099 -vt 0.095062 0.406915 -vt 0.094990 0.420685 -vt 0.189013 0.208764 -vt 0.178255 0.228217 -vt 0.182352 0.205687 -vt 0.266064 0.437985 -vt 0.314159 0.481199 -vt 0.266064 0.481199 -vt 0.201933 0.481199 -vt 0.201933 0.437985 -vt 0.083023 0.437985 -vt 0.067806 0.481199 -vt 0.067806 0.437985 -vt 0.314159 0.437985 -vt 0.302377 0.096782 -vt 0.259164 0.096782 -vt 0.259164 0.068822 -vt 0.140317 0.016548 -vt 0.183531 0.016548 -vt 0.183531 0.066473 -vt 0.346660 0.119615 -vt 0.316528 0.047608 -vt 0.346660 0.018813 -vt 0.134626 0.123141 -vt 0.091413 0.123141 -vt 0.091413 0.091454 -vt 0.182465 0.205434 -vt 0.178341 0.227957 -vt 0.189121 0.208518 -vt 0.142811 0.318849 -vt 0.106663 0.304088 -vt 0.096286 0.317803 -vt 0.106731 0.304422 -vt 0.142844 0.319109 -vt 0.096399 0.318133 -vt 0.096132 0.328492 -vt 0.095144 0.391955 -vt 0.142645 0.407391 -vt 0.173442 0.421287 -vt 0.095018 0.421173 -vt 0.142550 0.392168 -vt 0.095208 0.379505 -vt 0.142550 0.379683 -vt 0.095240 0.364539 -vt 0.095994 0.328301 -vt 0.142493 0.338592 -vt 0.095735 0.337534 -vt 0.095447 0.348525 -vt 0.141439 0.364519 -vt 0.095064 0.392252 -vt 0.095040 0.407371 -vt 0.095061 0.379937 -vt 0.142633 0.392298 -vt 0.095152 0.364467 -vt 0.142649 0.379782 -vt 0.259164 0.053641 -vt 0.302377 0.016377 -vt 0.302377 0.053641 -vt 0.141702 0.349557 -vt 0.095557 0.348555 -vt 0.142514 0.338724 -vt 0.095886 0.337698 -vt 0.419487 0.047607 -vt 0.389355 0.119615 -vt 0.389355 0.018813 -vt 0.243991 0.335751 -vt 0.246078 0.369705 -vt 0.275064 0.330321 -vt 0.252421 0.298907 -vt 0.275116 0.330356 -vt 0.244051 0.335934 -vt 0.246192 0.369866 -vt 0.278506 0.371699 -vt 0.255877 0.406248 -vt 0.244051 0.481199 -vt 0.226791 0.437985 -vt 0.244051 0.437985 -vt 0.174947 0.178032 -vt 0.150989 0.145622 -vt 0.123971 0.145622 -vt 0.123971 0.134818 -vt 0.194395 0.128706 -vt 0.194395 0.018352 -vt 0.237608 0.018352 -vt 0.194395 0.031562 -vt 0.237608 0.031562 -vt 0.244744 0.044028 -vt 0.244744 0.056041 -vt 0.237608 0.068846 -vt 0.187260 0.056173 -vt 0.187260 0.044160 -vt 0.194395 0.068846 -vt 0.241962 0.093665 -vt 0.241962 0.102774 -vt 0.190042 0.102906 -vt 0.190042 0.093797 -vt 0.395586 0.178032 -vt 0.016266 0.704221 -vt 0.078614 0.704221 -vt 0.078614 0.766911 -vt 0.150989 0.167228 -vt 0.150989 0.178032 -vt 0.014470 0.149002 -vt 0.054613 0.579282 -vt 0.022097 0.579589 -vt 0.066620 0.140727 -vt 0.072218 0.135325 -vt 0.102246 0.134818 -vt 0.102246 0.145622 -vt 0.102246 0.167228 -vt 0.356499 0.246980 -vt 0.443465 0.099671 -vt 0.433400 0.210690 -vt 0.471476 0.094183 -vt 0.456341 0.143787 -vt 0.407763 0.260852 -vt 0.398402 0.276971 -vt 0.390252 0.298924 -vt 0.391156 0.326394 -vt 0.364541 0.338678 -vt 0.344885 0.348510 -vt 0.267887 0.196031 -vt 0.278108 0.210100 -vt 0.272278 0.213559 -vt 0.283524 0.222603 -vt 0.274257 0.237995 -vt 0.322365 0.363503 -vt 0.305026 0.380279 -vt 0.252889 0.186910 -vt 0.262384 0.200164 -vt 0.271393 0.428457 -vt 0.206113 0.428467 -vt 0.175785 0.407489 -vt 0.249506 0.193155 -vt 0.275676 0.226164 -vt 0.193774 0.297327 -vt 0.199154 0.268291 -vt 0.347835 0.481199 -vt 0.471677 0.094230 -vt 0.443665 0.099691 -vt 0.456496 0.143819 -vt 0.356562 0.246916 -vt 0.433493 0.210699 -vt 0.283614 0.222464 -vt 0.278212 0.209955 -vt 0.272378 0.213407 -vt 0.268007 0.195875 -vt 0.253020 0.186738 -vt 0.262499 0.200002 -vt 0.407809 0.260835 -vt 0.398434 0.276945 -vt 0.390263 0.298890 -vt 0.274330 0.237845 -vt 0.364518 0.338619 -vt 0.391142 0.326361 -vt 0.344854 0.348432 -vt 0.249629 0.192979 -vt 0.275762 0.226016 -vt 0.265530 0.252980 -vt 0.322320 0.363406 -vt 0.173251 0.421067 -vt 0.205929 0.428299 -vt 0.175622 0.407277 -vt 0.271272 0.428353 -vt 0.247754 0.266183 -vt 0.199195 0.268058 -vt 0.193783 0.297091 -vt 0.170540 0.481199 -vt 0.225914 0.187076 -vt 0.228912 0.193503 -vt 0.199895 0.191746 -vt 0.206028 0.196086 -vt 0.157686 0.258627 -vt 0.169596 0.225253 -vt 0.177851 0.243385 -vt 0.106758 0.258651 -vt 0.143323 0.296417 -vt 0.143126 0.305374 -vt 0.184116 0.256688 -vt 0.302377 0.110423 -vt 0.302377 0.119336 -vt 0.259164 0.110469 -vt 0.259163 0.119336 -vt 0.306730 0.078591 -vt 0.306730 0.087700 -vt 0.254810 0.087568 -vt 0.254810 0.078459 -vt 0.302377 0.068822 -vt 0.183531 0.123939 -vt 0.140317 0.123939 -vt 0.140317 0.066473 -vt 0.316528 0.090821 -vt 0.091413 0.015750 -vt 0.134626 0.015750 -vt 0.134626 0.091454 -vt 0.106775 0.258282 -vt 0.143314 0.296134 -vt 0.143108 0.305052 -vt 0.157734 0.258343 -vt 0.184169 0.256437 -vt 0.169686 0.224983 -vt 0.177919 0.243125 -vt 0.226046 0.186873 -vt 0.200022 0.191514 -vt 0.206150 0.195860 -vt 0.229036 0.193303 -vt 0.142898 0.329338 -vt 0.142852 0.329212 -vt 0.141690 0.349257 -vt 0.141520 0.364833 -vt 0.252028 0.040835 -vt 0.259164 0.016377 -vt 0.252028 0.028822 -vt 0.309512 0.028954 -vt 0.309512 0.040967 -vt 0.419487 0.090821 -vt 0.174947 0.134818 -vt 0.016266 0.844874 -vt 0.078614 0.844874 -vt 0.078614 0.914007 -vt 0.016266 0.766911 -vt 0.069017 0.812121 -vt 0.102885 0.812121 -vt 0.016266 0.914007 -vt 0.150989 0.134818 -vt 0.030823 0.781576 -vt 0.000112 0.781576 -s 1 -f 17/35/11 18/36/11 19/37/11 -f 20/38/12 21/39/13 22/40/12 -f 23/41/13 24/42/14 21/43/13 -f 25/44/15 23/45/15 26/46/15 -f 26/47/16 22/40/12 27/48/16 -f 28/49/17 29/50/17 27/51/17 -f 21/52/17 28/49/17 27/51/17 -f 29/53/11 30/54/11 31/55/11 -f 26/46/15 18/56/15 25/44/15 -f 32/57/14 28/58/18 24/42/14 -f 28/59/14 25/60/14 33/61/14 -f 34/62/19 35/63/19 17/35/19 -f 31/55/20 33/64/20 34/62/20 -f 26/65/12 27/66/12 34/67/12 -f 17/35/11 35/63/11 18/36/11 -f 20/38/12 23/68/13 21/39/13 -f 23/41/13 32/57/14 24/42/14 -f 32/69/15 23/45/15 25/44/15 -f 23/45/15 20/70/15 26/46/15 -f 26/47/16 20/38/12 22/40/12 -f 28/49/17 36/71/17 29/50/17 -f 27/51/17 22/72/17 21/52/17 -f 21/52/17 24/73/17 28/49/17 -f 29/53/11 36/74/11 30/54/11 -f 26/46/15 19/75/15 18/56/15 -f 32/57/14 25/76/18 28/58/18 -f 25/60/14 18/77/14 35/78/14 -f 33/61/14 30/79/14 28/59/14 -f 30/79/14 36/80/14 28/59/14 -f 25/60/14 35/78/14 33/61/14 -f 34/62/19 33/64/19 35/63/19 -f 31/55/20 30/54/20 33/64/20 -f 27/66/12 29/81/12 31/82/12 -f 34/67/12 17/83/12 26/65/12 -f 17/83/12 19/84/12 26/65/12 -f 27/66/12 31/82/12 34/67/12 -f 37/85/15 38/86/15 39/87/15 -f 40/88/15 41/89/15 42/90/15 -f 43/91/17 44/92/17 45/93/17 -f 46/94/17 47/95/17 48/96/17 -f 49/97/21 45/98/22 50/99/22 -f 37/100/23 51/101/24 38/102/25 -f 50/103/26 44/104/26 37/100/26 -f 39/105/27 52/106/21 49/97/21 -f 41/107/28 43/108/29 39/105/27 -f 40/109/30 53/110/31 48/111/30 -f 54/112/32 53/110/31 55/113/31 -f 54/112/32 46/114/33 56/115/32 -f 41/107/28 38/116/25 42/117/34 -f 47/118/35 51/119/24 43/108/29 -f 47/120/35 40/109/30 48/111/30 -f 42/117/34 51/119/24 46/121/33 -f 39/87/15 49/122/15 50/123/15 -f 50/123/15 37/85/15 39/87/15 -f 42/90/15 54/124/15 40/88/15 -f 54/124/15 55/125/15 40/88/15 -f 45/93/17 52/126/17 43/91/17 -f 43/91/17 51/127/17 44/92/17 -f 53/128/17 56/129/17 48/96/17 -f 56/129/17 46/94/17 48/96/17 -f 49/97/21 52/106/21 45/98/22 -f 37/100/23 44/104/23 51/101/24 -f 50/103/26 45/130/26 44/104/26 -f 39/105/27 43/108/29 52/106/21 -f 41/107/28 47/118/35 43/108/29 -f 40/109/30 55/113/31 53/110/31 -f 54/112/32 56/115/32 53/110/31 -f 54/112/32 42/131/34 46/114/33 -f 41/107/28 39/105/27 38/116/25 -f 47/118/35 46/121/33 51/119/24 -f 47/120/35 41/132/28 40/109/30 -f 42/117/34 38/116/25 51/119/24 -f 57/133/36 58/134/37 59/135/38 -f 60/136/39 61/137/40 58/138/40 -f 61/139/41 62/140/42 63/141/43 -f 62/142/14 59/143/14 63/144/14 -f 64/145/14 65/146/14 66/147/14 -f 60/148/11 62/140/11 67/149/11 -f 63/144/14 64/145/14 68/150/14 -f 69/151/44 63/141/43 68/152/45 -f 58/138/40 69/153/46 70/154/46 -f 59/135/38 70/155/47 64/156/48 -f 71/157/49 66/158/50 72/159/51 -f 69/153/46 73/160/52 71/161/53 -f 72/162/51 65/163/54 74/164/55 -f 74/164/55 64/156/48 70/155/47 -f 71/157/49 75/165/56 76/166/57 -f 73/167/58 68/152/45 75/165/56 -f 57/133/36 60/148/36 58/134/37 -f 60/136/39 67/168/39 61/137/40 -f 61/139/41 67/149/42 62/140/42 -f 62/142/14 57/169/14 59/143/14 -f 66/147/14 76/170/14 68/150/14 -f 76/170/14 75/171/14 68/150/14 -f 68/150/14 64/145/14 66/147/14 -f 60/148/11 57/133/11 62/140/11 -f 63/144/14 59/143/14 64/145/14 -f 69/151/44 61/139/41 63/141/43 -f 58/138/40 61/137/40 69/153/46 -f 59/135/38 58/134/37 70/155/47 -f 71/157/49 76/166/57 66/158/50 -f 71/161/53 72/172/53 70/154/46 -f 72/172/53 74/173/52 70/154/46 -f 70/154/46 69/153/46 71/161/53 -f 72/162/51 66/174/50 65/163/54 -f 74/164/55 65/163/54 64/156/48 -f 71/157/49 73/167/58 75/165/56 -f 73/167/58 69/151/44 68/152/45 -f 77/175/12 78/176/12 79/177/12 -f 80/178/13 81/179/59 82/180/13 -f 83/181/59 84/182/60 81/183/59 -f 85/184/61 86/185/62 87/186/61 -f 88/187/12 89/188/12 85/189/12 -f 90/190/62 91/191/63 86/185/62 -f 91/191/63 80/178/13 82/180/13 -f 92/192/60 93/193/64 84/182/60 -f 94/194/15 95/195/15 93/193/15 -f 87/196/14 86/197/14 91/198/14 -f 96/199/11 97/200/11 98/201/11 -f 87/186/17 98/201/17 85/184/17 -f 93/202/14 96/203/14 87/196/14 -f 85/189/12 97/204/12 94/205/12 -f 79/206/63 88/207/13 99/208/63 -f 100/209/65 99/208/63 101/210/65 -f 102/211/12 80/212/12 103/213/12 -f 102/214/11 100/209/65 101/210/65 -f 104/215/66 102/216/11 105/217/66 -f 77/218/59 105/217/66 89/219/59 -f 88/207/13 77/218/59 89/219/59 -f 79/177/12 100/220/12 77/175/12 -f 100/220/12 106/221/12 77/175/12 -f 106/221/12 104/222/12 77/175/12 -f 80/178/13 83/223/59 81/179/59 -f 83/181/59 92/192/60 84/182/60 -f 85/184/61 90/190/62 86/185/62 -f 92/224/12 83/225/12 101/226/12 -f 92/224/12 101/226/12 99/227/12 -f 85/189/12 94/205/12 88/187/12 -f 94/205/12 92/224/12 99/227/12 -f 88/187/12 94/205/12 99/227/12 -f 89/188/12 90/228/12 85/189/12 -f 90/190/62 103/229/63 91/191/63 -f 91/191/63 103/229/63 80/178/13 -f 92/192/60 94/194/64 93/193/64 -f 94/194/15 97/200/15 95/195/15 -f 91/198/14 82/230/14 87/196/14 -f 82/230/14 81/231/14 93/202/14 -f 81/231/14 84/232/14 93/202/14 -f 93/202/14 87/196/14 82/230/14 -f 96/199/11 95/195/11 97/200/11 -f 87/186/17 96/199/17 98/201/17 -f 93/202/14 95/233/14 96/203/14 -f 85/189/12 98/234/12 97/204/12 -f 79/206/63 78/235/13 88/207/13 -f 100/209/65 79/206/63 99/208/63 -f 103/213/12 90/228/12 105/236/12 -f 90/228/12 89/188/12 105/236/12 -f 101/226/12 83/225/12 102/211/12 -f 83/225/12 80/212/12 102/211/12 -f 103/213/12 105/236/12 102/211/12 -f 102/214/11 106/237/11 100/209/65 -f 104/215/66 106/238/11 102/216/11 -f 77/218/59 104/215/66 105/217/66 -f 88/207/13 78/235/13 77/218/59 -f 107/239/67 108/240/68 109/241/69 -f 110/242/70 111/243/71 112/244/71 -f 113/245/13 114/246/13 115/247/13 -f 116/248/72 117/249/73 118/250/74 -f 118/250/74 119/251/75 120/252/76 -f 120/252/76 121/253/77 122/254/78 -f 122/254/78 123/255/79 124/256/80 -f 124/256/80 125/257/81 126/258/82 -f 127/259/83 128/260/84 129/261/85 -f 130/262/86 131/263/86 132/264/86 -f 112/244/71 133/265/87 134/266/87 -f 135/267/88 136/268/89 137/269/90 -f 138/270/91 139/271/92 140/272/93 -f 140/272/93 141/273/94 142/274/95 -f 142/274/95 143/275/96 107/239/67 -f 144/276/97 145/277/98 146/278/99 -f 147/279/100 148/280/101 149/281/102 -f 147/279/100 150/282/103 109/241/69 -f 151/283/104 152/284/105 150/282/103 -f 153/285/106 154/286/107 152/284/105 -f 147/279/100 155/287/108 151/283/104 -f 151/283/104 156/288/109 153/285/106 -f 153/285/106 157/289/110 158/290/111 -f 118/250/74 159/291/112 116/248/72 -f 160/292/113 161/293/114 159/291/112 -f 162/294/115 163/295/116 161/293/114 -f 120/252/76 160/292/113 118/250/74 -f 164/296/117 162/294/115 160/292/113 -f 165/297/118 166/298/119 162/294/115 -f 122/254/78 164/296/117 120/252/76 -f 167/299/120 165/297/118 164/296/117 -f 168/300/121 169/301/122 165/297/118 -f 122/254/78 170/302/123 167/299/120 -f 167/299/120 129/261/85 168/300/121 -f 168/300/121 128/260/84 171/303/124 -f 126/258/82 170/302/123 124/256/80 -f 172/304/125 173/305/126 174/306/127 -f 163/307/116 166/308/119 158/309/111 -f 138/270/91 175/310/128 176/311/129 -f 176/311/129 135/267/88 177/312/130 -f 146/278/131 177/312/132 134/313/133 -f 142/274/95 175/310/128 140/272/93 -f 178/314/134 135/267/88 175/310/128 -f 179/315/135 136/268/89 135/267/88 -f 142/274/95 180/316/136 178/314/134 -f 178/314/134 181/317/137 179/315/135 -f 179/315/135 182/318/138 183/319/139 -f 107/239/67 150/282/103 180/316/136 -f 180/316/136 152/284/105 181/317/137 -f 181/317/137 154/286/107 182/318/138 -f 184/320/140 185/321/141 186/322/142 -f 186/322/142 187/323/143 188/324/144 -f 188/324/144 189/325/145 108/240/68 -f 190/326/146 185/321/141 191/327/147 -f 192/328/148 187/323/143 185/321/141 -f 193/329/149 189/325/145 187/323/143 -f 194/330/150 195/331/151 113/332/152 -f 113/332/152 196/333/153 114/334/154 -f 114/334/154 117/249/73 115/335/155 -f 197/336/156 198/337/157 195/331/151 -f 195/331/151 199/338/158 196/333/153 -f 196/333/153 119/251/75 117/249/73 -f 200/339/159 201/340/160 198/337/157 -f 198/337/157 202/341/161 199/338/158 -f 199/338/158 121/253/77 119/251/75 -f 172/304/125 201/340/160 203/342/162 -f 174/306/127 202/341/161 201/340/160 -f 204/343/163 121/253/77 202/341/161 -f 173/305/126 130/344/164 204/343/163 -f 204/343/163 125/257/81 123/255/79 -f 205/345/165 206/346/166 127/259/83 -f 145/277/98 207/347/167 146/278/99 -f 208/348/168 209/349/169 207/347/167 -f 210/350/170 211/351/171 145/277/98 -f 145/277/98 212/352/172 208/348/168 -f 208/348/168 141/273/94 139/271/92 -f 213/353/173 211/351/171 214/354/174 -f 215/355/175 212/352/172 211/351/171 -f 216/356/176 141/273/94 212/352/172 -f 184/320/140 215/355/175 213/353/173 -f 186/322/142 216/356/176 215/355/175 -f 188/324/144 143/275/96 216/356/176 -f 214/357/174 172/358/125 203/359/162 -f 146/278/131 176/311/129 177/312/132 -f 207/347/167 138/270/91 176/311/129 -f 109/241/69 189/325/145 147/279/100 -f 137/360/177 134/266/178 217/361/179 -f 133/265/180 144/362/181 218/363/182 -f 110/242/183 219/364/184 220/365/185 -f 112/244/186 221/366/187 110/242/183 -f 112/244/186 137/360/177 222/367/188 -f 223/368/189 111/243/190 224/369/191 -f 144/362/181 111/243/190 225/370/192 -f 132/264/193 173/371/194 226/372/195 -f 226/372/196 224/369/191 132/264/197 -f 220/365/198 127/373/199 206/374/200 -f 220/365/201 224/369/70 110/242/70 -f 107/239/67 143/275/96 108/240/68 -f 110/242/70 224/369/70 111/243/71 -f 115/247/13 116/375/13 163/376/13 -f 116/375/13 159/377/13 161/378/13 -f 163/376/13 116/375/13 161/378/13 -f 163/376/13 157/379/13 190/380/13 -f 157/379/13 156/381/13 149/382/13 -f 190/380/13 157/379/13 149/382/13 -f 156/381/13 155/383/13 149/382/13 -f 149/382/13 148/384/13 190/380/13 -f 148/384/13 193/385/13 192/386/13 -f 190/380/13 148/384/13 192/386/13 -f 190/380/13 194/387/13 163/376/13 -f 194/387/13 113/245/13 115/247/13 -f 163/376/13 194/387/13 115/247/13 -f 116/248/72 115/335/155 117/249/73 -f 118/250/74 117/249/73 119/251/75 -f 120/252/76 119/251/75 121/253/77 -f 122/254/78 121/253/77 123/255/79 -f 124/256/80 123/255/79 125/257/81 -f 127/259/83 219/388/202 128/260/84 -f 132/264/86 220/365/86 126/389/86 -f 220/365/86 206/374/86 205/390/86 -f 126/389/86 220/365/86 205/390/86 -f 126/389/86 125/391/86 132/264/86 -f 125/391/86 130/262/86 132/264/86 -f 112/244/71 111/243/71 133/265/87 -f 217/392/203 177/312/130 137/269/90 -f 177/312/130 135/267/88 137/269/90 -f 138/270/91 209/349/169 139/271/92 -f 140/272/93 139/271/92 141/273/94 -f 142/274/95 141/273/94 143/275/96 -f 146/278/99 218/393/204 144/276/97 -f 144/276/97 210/350/170 145/277/98 -f 147/279/100 189/325/145 148/280/101 -f 147/279/100 151/283/104 150/282/103 -f 151/283/104 153/285/106 152/284/105 -f 153/285/106 158/290/111 154/286/107 -f 147/279/100 149/281/102 155/287/108 -f 151/283/104 155/287/108 156/288/109 -f 153/285/106 156/288/109 157/289/110 -f 118/250/74 160/292/113 159/291/112 -f 160/292/113 162/294/115 161/293/114 -f 162/294/115 166/298/119 163/295/116 -f 120/252/76 164/296/117 160/292/113 -f 164/296/117 165/297/118 162/294/115 -f 165/297/118 169/301/122 166/298/119 -f 122/254/78 167/299/120 164/296/117 -f 167/299/120 168/300/121 165/297/118 -f 168/300/121 171/303/124 169/301/122 -f 122/254/78 124/256/80 170/302/123 -f 167/299/120 170/302/123 129/261/85 -f 168/300/121 129/261/85 128/260/84 -f 126/258/82 205/345/165 170/302/123 -f 172/304/125 226/394/205 173/305/126 -f 222/395/15 137/396/90 136/397/89 -f 183/398/139 182/399/138 171/400/124 -f 182/399/138 154/401/107 171/400/124 -f 171/400/124 154/401/107 169/402/122 -f 222/395/15 136/397/89 221/403/15 -f 136/397/89 183/398/139 128/404/84 -f 219/405/202 221/403/15 128/404/84 -f 128/404/84 221/403/15 136/397/89 -f 154/401/107 158/309/111 169/402/122 -f 171/400/124 128/404/84 183/398/139 -f 158/309/111 157/406/110 163/307/116 -f 169/402/122 158/309/111 166/308/119 -f 138/270/91 140/272/93 175/310/128 -f 176/311/129 175/310/128 135/267/88 -f 177/312/132 217/392/206 134/313/133 -f 134/313/133 133/407/133 146/278/131 -f 133/407/133 218/393/207 146/278/131 -f 142/274/95 178/314/134 175/310/128 -f 178/314/134 179/315/135 135/267/88 -f 179/315/135 183/319/139 136/268/89 -f 142/274/95 107/239/67 180/316/136 -f 178/314/134 180/316/136 181/317/137 -f 179/315/135 181/317/137 182/318/138 -f 107/239/67 109/241/69 150/282/103 -f 180/316/136 150/282/103 152/284/105 -f 181/317/137 152/284/105 154/286/107 -f 184/320/140 191/327/147 185/321/141 -f 186/322/142 185/321/141 187/323/143 -f 188/324/144 187/323/143 189/325/145 -f 190/326/146 192/328/148 185/321/141 -f 192/328/148 193/329/149 187/323/143 -f 193/329/149 148/280/101 189/325/145 -f 194/330/150 197/336/156 195/331/151 -f 113/332/152 195/331/151 196/333/153 -f 114/334/154 196/333/153 117/249/73 -f 197/336/156 200/339/159 198/337/157 -f 195/331/151 198/337/157 199/338/158 -f 196/333/153 199/338/158 119/251/75 -f 200/339/159 203/342/162 201/340/160 -f 198/337/157 201/340/160 202/341/161 -f 199/338/158 202/341/161 121/253/77 -f 172/304/125 174/306/127 201/340/160 -f 174/306/127 204/343/163 202/341/161 -f 204/343/163 123/255/79 121/253/77 -f 204/343/163 174/306/127 173/305/126 -f 173/305/126 131/408/208 130/344/164 -f 204/343/163 130/344/164 125/257/81 -f 129/261/85 170/302/123 127/259/83 -f 170/302/123 205/345/165 127/259/83 -f 145/277/98 208/348/168 207/347/167 -f 208/348/168 139/271/92 209/349/169 -f 210/350/170 214/354/174 211/351/171 -f 145/277/98 211/351/171 212/352/172 -f 208/348/168 212/352/172 141/273/94 -f 213/353/173 215/355/175 211/351/171 -f 215/355/175 216/356/176 212/352/172 -f 216/356/176 143/275/96 141/273/94 -f 184/320/140 186/322/142 215/355/175 -f 186/322/142 188/324/144 216/356/176 -f 188/324/144 108/240/68 143/275/96 -f 210/409/170 144/410/97 225/411/17 -f 225/411/17 223/412/17 210/409/170 -f 223/412/17 226/413/205 172/358/125 -f 223/412/17 172/358/125 210/409/170 -f 214/357/174 210/409/170 172/358/125 -f 184/414/140 213/415/173 203/359/162 -f 213/415/173 214/357/174 203/359/162 -f 190/416/146 191/417/147 194/418/150 -f 191/417/147 184/414/140 200/419/159 -f 197/420/156 194/418/150 191/417/147 -f 200/419/159 197/420/156 191/417/147 -f 203/359/162 200/419/159 184/414/140 -f 146/278/131 207/347/167 176/311/129 -f 207/347/167 209/349/169 138/270/91 -f 109/241/69 108/240/68 189/325/145 -f 110/242/183 221/366/187 219/364/184 -f 112/244/186 222/367/188 221/366/187 -f 112/244/186 134/266/178 137/360/177 -f 223/368/189 225/370/192 111/243/190 -f 144/362/181 133/265/180 111/243/190 -f 132/264/193 131/263/209 173/371/194 -f 226/372/196 223/368/189 224/369/191 -f 220/365/198 219/364/210 127/373/199 -f 220/365/201 132/264/201 224/369/70 -f 227/421/211 228/422/212 229/423/211 -f 230/424/213 378/425/214 381/426/214 -f 384/427/17 391/428/215 386/427/17 -f 236/429/216 237/430/217 238/431/217 -f 239/432/218 240/433/219 241/434/218 -f 238/431/217 242/435/220 243/436/220 -f 244/437/221 245/438/221 246/439/221 -f 246/439/222 247/440/222 248/441/222 -f 248/441/223 249/442/224 250/443/224 -f 251/444/13 252/445/13 253/446/13 -f 253/446/12 254/447/12 255/448/12 -f 255/449/225 256/450/225 257/451/225 -f 258/452/12 257/451/12 259/453/12 -f 260/454/11 261/455/226 262/456/226 -f 262/456/226 263/457/227 264/458/227 -f 264/458/227 265/459/228 230/424/228 -f 228/422/212 266/460/229 267/461/229 -f 299/462/230 380/463/231 234/464/231 -f 268/465/232 227/421/211 229/423/211 -f 380/466/15 389/467/233 388/466/15 -f 266/460/229 236/429/216 267/461/229 -f 249/442/224 270/468/234 250/443/224 -f 271/469/234 272/470/235 270/468/234 -f 273/471/236 274/472/237 251/444/237 -f 275/473/238 276/474/239 277/475/238 -f 278/476/239 279/477/240 276/474/239 -f 280/478/240 273/471/236 279/477/240 -f 281/479/241 282/480/241 283/481/241 -f 284/482/242 267/461/243 236/429/242 -f 285/483/244 266/460/245 286/484/245 -f 238/431/246 283/485/247 287/486/248 -f 281/487/249 237/430/250 288/488/251 -f 289/489/252 229/423/253 228/422/252 -f 290/490/254 227/421/255 291/491/255 -f 268/465/256 292/492/253 293/493/256 -f 228/422/252 294/494/243 289/489/252 -f 291/491/255 295/495/257 296/496/257 -f 286/484/245 297/497/254 290/490/254 -f 238/431/246 284/482/242 236/429/242 -f 285/483/244 237/430/250 298/498/244 -f 299/462/230 296/499/258 295/500/258 -f 300/501/235 277/475/238 272/470/235 -f 301/502/17 302/503/17 303/504/17 -f 304/505/259 305/506/260 306/507/260 -f 307/508/15 308/509/15 232/510/15 -f 309/511/261 310/512/262 311/513/261 -f 312/514/263 309/511/261 311/513/261 -f 313/515/264 314/516/263 312/514/263 -f 315/517/265 316/518/266 317/519/265 -f 316/518/266 310/512/262 318/520/262 -f 319/521/267 320/522/268 260/523/15 -f 314/524/17 321/525/17 280/526/17 -f 302/527/269 322/528/270 323/529/269 -f 324/530/271 317/519/265 325/531/271 -f 241/434/218 325/531/271 239/432/218 -f 321/532/264 326/533/259 304/534/259 -f 305/506/260 327/535/272 306/507/260 -f 328/536/14 329/537/14 330/538/14 -f 331/539/11 332/540/11 333/541/11 -f 334/542/12 308/543/12 335/544/12 -f 336/545/13 319/546/13 337/547/13 -f 279/548/15 313/549/15 312/550/15 -f 329/551/273 255/552/15 257/553/274 -f 254/554/17 328/555/275 256/556/276 -f 328/555/275 338/557/277 256/556/276 -f 319/521/267 339/558/278 320/522/268 -f 336/559/279 261/560/17 340/561/17 -f 341/562/280 342/563/281 339/558/278 -f 343/564/281 344/565/281 342/563/281 -f 345/566/282 329/551/273 257/553/274 -f 346/567/283 345/566/282 347/568/283 -f 258/569/283 346/567/283 347/568/283 -f 348/570/281 258/569/283 344/565/281 -f 349/571/284 336/559/279 350/572/285 -f 351/573/286 352/574/287 349/571/284 -f 353/575/286 354/576/286 351/573/286 -f 348/577/14 336/578/14 355/579/14 -f 356/580/288 353/575/286 259/581/288 -f 357/582/288 259/581/288 358/583/288 -f 338/557/277 357/582/288 358/583/288 -f 359/584/12 360/585/12 361/586/12 -f 360/585/12 335/544/12 361/586/12 -f 307/508/289 361/587/290 335/588/291 -f 308/509/292 307/508/289 335/588/291 -f 361/587/290 362/589/293 359/590/294 -f 301/502/295 363/591/296 360/592/297 -f 334/593/298 364/594/299 365/595/300 -f 360/592/297 364/594/299 334/593/298 -f 366/596/301 367/597/219 303/598/301 -f 303/598/301 323/529/269 366/596/301 -f 227/421/211 297/497/212 228/422/212 -f 230/424/213 265/459/213 231/599/302 -f 384/600/303 383/601/231 235/602/231 -f 236/429/216 298/498/216 237/430/217 -f 239/432/218 367/597/219 240/433/219 -f 238/431/217 237/430/217 242/435/220 -f 244/437/221 282/480/221 245/438/221 -f 246/439/222 245/438/222 247/440/222 -f 248/441/223 247/440/223 249/442/224 -f 251/444/13 274/472/13 252/445/13 -f 253/446/12 252/445/12 254/447/12 -f 255/449/225 254/603/225 256/450/225 -f 340/604/12 260/605/12 350/606/12 -f 260/605/12 320/607/12 350/606/12 -f 320/607/12 339/608/12 342/609/12 -f 320/607/12 342/609/12 344/610/12 -f 351/611/12 349/612/12 350/606/12 -f 353/613/12 351/611/12 350/606/12 -f 350/606/12 320/607/12 344/610/12 -f 258/452/12 347/614/12 257/451/12 -f 347/614/12 345/615/12 257/451/12 -f 350/606/12 344/610/12 353/613/12 -f 344/610/12 258/452/12 353/613/12 -f 259/453/12 353/613/12 258/452/12 -f 338/616/12 358/617/12 256/450/12 -f 358/617/12 259/453/12 256/450/12 -f 257/451/12 256/450/12 259/453/12 -f 260/454/11 340/618/11 261/455/226 -f 262/456/226 261/455/226 263/457/227 -f 264/458/227 263/457/227 265/459/228 -f 228/422/212 297/497/212 266/460/229 -f 389/619/304 387/620/304 392/621/231 -f 268/465/232 295/495/232 227/421/211 -f 380/463/231 379/622/303 368/623/303 -f 266/460/229 298/498/216 236/429/216 -f 249/442/224 271/469/234 270/468/234 -f 271/469/234 300/501/235 272/470/235 -f 273/471/236 369/624/236 274/472/237 -f 275/473/238 278/476/239 276/474/239 -f 278/476/239 280/478/240 279/477/240 -f 280/478/240 369/624/236 273/471/236 -f 282/480/241 244/437/241 283/481/241 -f 283/481/241 243/625/241 242/626/241 -f 242/626/241 281/479/241 283/481/241 -f 284/482/242 294/494/243 267/461/243 -f 285/483/244 298/498/244 266/460/245 -f 238/431/246 243/436/247 283/485/247 -f 281/487/249 242/435/249 237/430/250 -f 289/489/252 292/492/253 229/423/253 -f 290/490/254 297/497/254 227/421/255 -f 268/465/256 229/423/253 292/492/253 -f 228/422/252 267/461/243 294/494/243 -f 291/491/255 227/421/255 295/495/257 -f 286/484/245 266/460/245 297/497/254 -f 238/431/246 287/486/248 284/482/242 -f 285/483/244 288/488/251 237/430/250 -f 295/500/258 268/627/258 299/462/230 -f 268/627/258 293/628/258 269/629/230 -f 268/627/258 382/630/305 377/631/305 -f 300/501/235 275/473/238 277/475/238 -f 245/632/17 282/633/17 285/634/17 -f 282/633/17 281/635/17 288/636/17 -f 285/634/17 282/633/17 288/636/17 -f 285/634/17 286/637/17 245/632/17 -f 286/637/17 290/638/17 245/632/17 -f 291/639/17 296/640/17 299/641/17 -f 290/638/17 291/639/17 245/632/17 -f 291/639/17 299/641/17 245/632/17 -f 299/641/17 234/642/17 245/632/17 -f 271/643/17 249/644/17 325/645/17 -f 249/644/17 247/646/17 325/645/17 -f 247/646/17 245/632/17 367/647/17 -f 363/591/17 368/648/17 364/594/17 -f 234/642/17 368/648/17 363/591/17 -f 245/632/17 234/642/17 363/591/17 -f 368/648/17 231/649/17 364/594/17 -f 300/650/17 271/643/17 317/651/17 -f 265/652/17 263/653/17 365/595/17 -f 263/653/17 261/560/17 370/654/17 -f 365/595/17 263/653/17 370/654/17 -f 317/651/17 316/655/17 300/650/17 -f 325/645/17 317/651/17 271/643/17 -f 231/649/17 265/652/17 365/595/17 -f 231/649/17 365/595/17 364/594/17 -f 239/656/17 325/645/17 247/646/17 -f 245/632/17 363/591/17 303/504/17 -f 367/647/17 239/656/17 247/646/17 -f 303/504/17 367/647/17 245/632/17 -f 363/591/17 301/502/17 303/504/17 -f 301/502/17 333/657/17 327/658/17 -f 301/502/17 327/658/17 302/503/17 -f 304/505/259 326/659/259 305/506/260 -f 283/660/15 244/661/15 287/662/15 -f 244/661/15 246/663/15 284/664/15 -f 287/662/15 244/661/15 284/664/15 -f 248/665/15 250/666/15 324/667/15 -f 250/666/15 270/668/15 324/667/15 -f 270/668/15 272/669/15 315/670/15 -f 324/667/15 270/668/15 315/670/15 -f 294/671/15 284/664/15 246/663/15 -f 289/672/15 294/671/15 246/663/15 -f 289/672/15 246/663/15 292/673/15 -f 246/663/15 248/665/15 240/674/15 -f 292/673/15 246/663/15 269/675/15 -f 269/675/15 293/676/15 292/673/15 -f 269/675/15 246/663/15 235/677/15 -f 272/669/15 371/678/15 315/670/15 -f 235/677/15 246/663/15 362/589/15 -f 248/665/15 324/667/15 241/679/15 -f 366/680/15 246/663/15 240/674/15 -f 233/681/15 235/677/15 362/589/15 -f 246/663/15 366/680/15 362/589/15 -f 248/665/15 241/679/15 240/674/15 -f 232/510/15 233/681/15 307/508/15 -f 262/682/15 264/683/15 337/684/15 -f 264/683/15 230/685/15 308/509/15 -f 308/509/15 337/684/15 264/683/15 -f 323/686/15 322/687/15 359/590/15 -f 322/687/15 372/688/15 359/590/15 -f 233/681/15 362/589/15 307/508/15 -f 366/680/15 323/686/15 359/590/15 -f 362/589/15 366/680/15 359/590/15 -f 308/509/15 230/685/15 232/510/15 -f 309/511/261 318/520/262 310/512/262 -f 312/514/263 314/516/263 309/511/261 -f 313/515/264 321/532/264 314/516/263 -f 315/517/265 371/689/266 316/518/266 -f 316/518/266 371/689/266 310/512/262 -f 260/523/15 262/682/15 319/521/267 -f 262/682/15 337/684/15 319/521/267 -f 275/690/17 300/650/17 316/655/17 -f 275/690/17 316/655/17 318/691/17 -f 280/526/17 278/692/17 314/524/17 -f 278/692/17 275/690/17 309/693/17 -f 274/694/17 369/695/17 304/696/17 -f 369/695/17 280/526/17 321/525/17 -f 254/554/17 252/697/17 332/698/17 -f 252/697/17 274/694/17 332/698/17 -f 332/698/17 373/699/17 254/554/17 -f 327/658/17 333/657/17 306/700/17 -f 333/657/17 332/698/17 274/694/17 -f 306/700/17 333/657/17 274/694/17 -f 275/690/17 318/691/17 309/693/17 -f 278/692/17 309/693/17 314/524/17 -f 369/695/17 321/525/17 304/696/17 -f 304/696/17 306/700/17 274/694/17 -f 302/527/269 327/535/270 322/528/270 -f 324/530/271 315/517/265 317/519/265 -f 241/434/218 324/530/271 325/531/271 -f 321/532/264 313/515/264 326/533/259 -f 305/506/260 322/528/272 327/535/272 -f 373/701/14 332/702/14 374/703/14 -f 332/702/14 331/704/14 374/703/14 -f 357/705/14 375/706/14 328/536/14 -f 328/536/14 373/701/14 329/537/14 -f 373/701/14 374/703/14 329/537/14 -f 329/537/14 376/707/14 346/708/14 -f 356/709/14 357/705/14 328/536/14 -f 346/708/14 330/538/14 329/537/14 -f 330/538/14 356/709/14 328/536/14 -f 333/541/11 301/710/11 359/711/11 -f 359/711/11 372/712/11 333/541/11 -f 372/712/11 331/539/11 333/541/11 -f 334/542/12 365/713/12 308/543/12 -f 337/547/13 308/714/13 365/715/13 -f 365/715/13 370/716/13 337/547/13 -f 370/716/13 336/545/13 337/547/13 -f 253/717/15 255/552/15 331/718/15 -f 255/552/15 374/719/15 331/718/15 -f 331/718/15 372/688/15 251/720/15 -f 372/688/15 322/687/15 305/721/15 -f 279/548/15 273/722/15 313/549/15 -f 273/722/15 251/720/15 326/723/15 -f 313/549/15 273/722/15 326/723/15 -f 251/720/15 253/717/15 331/718/15 -f 372/688/15 305/721/15 251/720/15 -f 305/721/15 326/723/15 251/720/15 -f 277/724/15 276/725/15 311/726/15 -f 276/725/15 279/548/15 312/550/15 -f 311/726/15 276/725/15 312/550/15 -f 371/678/15 272/669/15 277/724/15 -f 310/727/15 371/678/15 277/724/15 -f 311/726/15 310/727/15 277/724/15 -f 329/551/273 374/719/15 255/552/15 -f 254/554/17 373/699/17 328/555/275 -f 328/555/275 375/728/275 338/557/277 -f 319/521/267 341/562/280 339/558/278 -f 340/561/17 350/572/285 336/559/279 -f 336/559/279 370/654/17 261/560/17 -f 341/562/280 343/564/281 342/563/281 -f 343/564/281 348/570/281 344/565/281 -f 345/566/282 376/729/273 329/551/273 -f 346/567/283 376/729/273 345/566/282 -f 258/569/283 330/730/283 346/567/283 -f 348/570/281 330/730/283 258/569/283 -f 349/571/284 352/574/287 336/559/279 -f 351/573/286 354/576/286 352/574/287 -f 353/575/286 355/731/286 354/576/286 -f 355/579/14 356/709/14 348/577/14 -f 356/709/14 330/538/14 348/577/14 -f 348/577/14 343/732/14 319/733/14 -f 343/732/14 341/734/14 319/733/14 -f 352/735/14 354/736/14 336/578/14 -f 354/736/14 355/579/14 336/578/14 -f 319/733/14 336/578/14 348/577/14 -f 356/580/288 355/731/286 353/575/286 -f 357/582/288 356/580/288 259/581/288 -f 338/557/277 375/728/275 357/582/288 -f 359/584/12 301/737/12 360/585/12 -f 360/585/12 334/542/12 335/544/12 -f 307/508/289 362/589/293 361/587/290 -f 360/592/297 363/591/296 364/594/299 -f 366/596/301 240/433/219 367/597/219 -f 303/598/301 302/527/269 323/529/269 -f 368/623/303 378/425/214 231/599/302 -f 384/600/303 232/738/302 381/426/214 -f 380/463/231 368/623/303 234/464/231 -f 390/739/303 386/740/303 391/741/306 -f 389/619/304 392/621/231 388/742/231 -f 382/630/305 269/629/230 235/602/231 -f 382/630/305 235/602/231 383/601/231 -f 379/743/15 388/466/15 390/743/15 -f 379/743/15 390/743/15 385/744/307 -f 386/740/303 388/742/231 392/621/231 -f 390/739/303 391/741/306 385/745/306 -f 386/740/303 390/739/303 388/742/231 -f 384/600/303 235/602/231 233/746/303 -f 384/427/17 381/428/308 391/428/215 -f 384/427/17 386/427/17 392/747/17 -f 299/462/230 377/631/305 380/463/231 -f 382/748/309 389/467/233 377/467/310 -f 383/747/17 387/748/311 382/748/309 -f 384/427/17 392/747/17 383/747/17 -f 379/743/15 385/744/307 378/744/312 -f 368/623/303 379/622/303 378/425/214 -f 382/748/309 387/748/311 389/467/233 -f 385/744/307 391/428/215 381/428/308 -f 384/600/303 233/746/303 232/738/302 -f 380/466/15 377/467/310 389/467/233 -f 385/744/307 381/428/308 378/744/312 -f 379/743/15 380/466/15 388/466/15 -f 383/747/17 392/747/17 387/748/311 -f 230/424/213 231/599/302 378/425/214 -f 381/426/214 232/738/302 230/424/213 -f 377/631/305 299/462/230 268/627/258 -f 268/627/258 269/629/230 382/630/305 -o Hammer -v 0.032000 0.482926 1.114100 -v 0.032000 0.624219 1.281649 -v 0.032000 0.556773 1.273590 -v -0.032000 0.482926 1.114100 -v -0.032000 0.624219 1.281649 -v -0.032000 0.687900 1.294528 -v 0.032000 0.865797 1.208403 -v -0.032000 0.770709 1.330115 -v 0.032000 0.770709 1.330115 -v 0.032000 0.687900 1.294528 -v -0.032000 0.603432 1.343032 -v 0.032000 0.603432 1.343032 -v 0.068452 0.608892 1.422981 -v -0.068452 0.608892 1.422981 -v -0.068452 0.498592 1.571619 -v 0.068452 0.498592 1.571619 -v -0.068452 0.468201 1.545936 -v 0.068452 0.468201 1.545936 -v -0.068452 0.512187 1.487151 -v 0.068452 0.512187 1.487151 -v 0.068452 0.556472 1.413076 -v -0.068452 0.556472 1.413076 -v -0.032000 0.552518 1.318780 -v 0.032000 0.552518 1.318780 -v -0.032000 0.556773 1.273590 -v -0.032000 0.515951 1.296035 -v 0.032000 0.515951 1.296035 -v -0.032000 0.408701 1.336443 -v 0.032000 0.408701 1.336443 -v -0.031291 0.259377 1.231255 -v 0.032709 0.259377 1.231255 -v -0.032000 0.865797 1.208403 -vn 1.0000 -0.0000 -0.0000 -vn -1.0000 -0.0000 -0.0000 -vn -0.0000 0.7880 0.6156 -vn -0.0000 -0.3948 0.9188 -vn -0.0000 -0.1982 0.9802 -vn -0.0000 0.9472 0.3208 -vn -0.0000 0.9977 -0.0681 -vn -0.0000 0.8030 0.5959 -vn -0.0000 -0.6455 0.7638 -vn -0.0000 -0.8007 -0.5991 -vn -0.0000 -0.8583 -0.5131 -vn -0.0000 -0.9991 0.0419 -vn -0.0000 -0.9956 -0.0938 -vn -0.0000 0.4818 0.8763 -vn -0.0000 0.3526 0.9358 -vn -0.0000 -0.5759 0.8175 -vn -0.0000 -0.4642 -0.8857 -vn -0.0000 0.2392 -0.9710 -vn 0.9164 0.1722 -0.3615 -vn -0.9050 0.0790 -0.4180 -vn 1.0000 0.0038 0.0013 -vn -1.0000 -0.0038 -0.0013 -vn 0.9050 0.0790 -0.4180 -vn -0.9164 0.1722 -0.3615 -vt 0.343765 0.934799 -vt 0.350946 0.946383 -vt 0.354698 0.940182 -vt 0.343782 0.934821 -vt 0.350963 0.946405 -vt 0.347864 0.952606 -vt 0.390183 0.954876 -vt 0.397012 0.971356 -vt 0.390183 0.971356 -vt 0.397012 0.980973 -vt 0.390183 0.980973 -vt 0.397012 0.987905 -vt 0.390183 0.987905 -vt 0.397012 0.994820 -vt 0.390183 0.994820 -vt 0.379264 0.964780 -vt 0.387814 0.975498 -vt 0.379264 0.979388 -vt 0.359515 0.979388 -vt 0.359515 0.964780 -vt 0.355269 0.979388 -vt 0.355269 0.964780 -vt 0.347436 0.979388 -vt 0.347436 0.964780 -vt 0.338227 0.964780 -vt 0.338227 0.979388 -vt 0.328157 0.975498 -vt 0.328157 0.968670 -vt 0.397043 0.923988 -vt 0.403872 0.928831 -vt 0.397043 0.928831 -vt 0.403872 0.933801 -vt 0.397043 0.933801 -vt 0.403872 0.946030 -vt 0.397043 0.946030 -vt 0.403872 0.956580 -vt 0.397043 0.956580 -vt 0.403872 0.990249 -vt 0.397043 0.990249 -vt 0.390183 0.923988 -vt 0.397012 0.954876 -vt 0.384495 0.954648 -vt 0.384235 0.950410 -vt 0.376401 0.950426 -vt 0.357473 0.948666 -vt 0.367240 0.949494 -vt 0.358777 0.942792 -vt 0.357490 0.948689 -vt 0.367257 0.949516 -vt 0.364763 0.954633 -vt 0.376418 0.950449 -vt 0.384252 0.950432 -vt 0.384512 0.954670 -vt 0.328921 0.961887 -vt 0.347847 0.952584 -vt 0.345400 0.961884 -vt 0.369708 0.931858 -vt 0.375254 0.922884 -vt 0.359266 0.938223 -vt 0.375271 0.922906 -vt 0.369725 0.931881 -vt 0.359283 0.938246 -vt 0.354715 0.940204 -vt 0.358794 0.942814 -vt 0.345417 0.961907 -vt 0.328938 0.961909 -vt 0.387814 0.968670 -vt 0.403872 0.923988 -vt 0.397012 0.923988 -vt 0.364746 0.954610 -s 0 -f 393/749/313 394/750/313 395/751/313 -f 396/752/314 397/753/314 398/754/314 -f 399/755/315 400/756/315 401/757/315 -f 401/757/316 398/758/316 402/759/316 -f 402/759/317 397/760/317 394/761/317 -f 394/761/318 403/762/318 404/763/318 -f 405/764/319 403/765/319 406/766/319 -f 405/764/320 407/767/320 408/768/320 -f 408/768/321 409/769/321 410/770/321 -f 410/770/322 411/771/322 412/772/322 -f 413/773/323 411/771/323 414/774/323 -f 413/773/324 415/775/324 416/776/324 -f 416/777/325 417/778/325 395/779/325 -f 395/779/326 418/780/326 419/781/326 -f 419/781/327 420/782/327 421/783/327 -f 421/783/328 422/784/328 423/785/328 -f 423/785/329 396/786/329 393/787/329 -f 393/788/330 424/789/330 399/755/330 -f 408/790/313 410/791/313 412/792/313 -f 404/793/331 413/794/331 416/795/331 -f 403/796/332 414/797/332 406/798/332 -f 411/799/314 409/800/314 407/801/314 -f 393/749/313 399/802/313 402/803/313 -f 399/802/313 401/804/313 402/803/313 -f 421/805/333 423/806/333 393/749/333 -f 395/751/313 419/807/313 393/749/313 -f 419/807/313 421/805/313 393/749/313 -f 404/793/313 416/795/313 394/750/313 -f 416/795/313 395/751/313 394/750/313 -f 393/749/313 402/803/313 394/750/313 -f 396/752/334 422/808/334 420/809/334 -f 420/809/314 418/810/314 396/752/314 -f 418/810/314 417/811/314 396/752/314 -f 417/811/314 415/812/314 397/753/314 -f 415/812/314 403/796/314 397/753/314 -f 400/813/314 424/814/314 398/754/314 -f 424/814/314 396/752/314 398/754/314 -f 396/752/314 417/811/314 397/753/314 -f 399/755/315 424/789/315 400/756/315 -f 401/757/316 400/756/316 398/758/316 -f 402/759/317 398/758/317 397/760/317 -f 394/761/318 397/760/318 403/762/318 -f 405/764/319 404/815/319 403/765/319 -f 405/764/320 406/766/320 407/767/320 -f 408/768/321 407/767/321 409/769/321 -f 410/770/322 409/769/322 411/771/322 -f 413/773/323 412/772/323 411/771/323 -f 413/773/324 414/774/324 415/775/324 -f 416/777/325 415/816/325 417/778/325 -f 395/779/326 417/778/326 418/780/326 -f 419/781/327 418/780/327 420/782/327 -f 421/783/328 420/782/328 422/784/328 -f 423/785/329 422/784/329 396/786/329 -f 393/788/330 396/817/330 424/789/330 -f 412/792/313 413/794/313 405/818/313 -f 405/818/313 408/790/313 412/792/313 -f 404/793/335 405/818/335 413/794/335 -f 403/796/336 415/812/336 414/797/336 -f 407/801/314 406/798/314 411/799/314 -f 406/798/314 414/797/314 411/799/314 -o Trigger -v 0.045500 -0.120256 0.684201 -v 0.045500 -0.026668 0.645664 -v 0.045500 -0.037678 0.759438 -v -0.045500 -0.195494 0.673190 -v -0.045500 -0.241370 0.641994 -v -0.045500 -0.226690 0.735583 -v -0.045500 0.083436 0.570427 -v 0.045500 0.083436 0.570427 -v -0.045500 -0.026668 0.645664 -v 0.045500 -0.195494 0.673190 -v -0.045500 -0.120256 0.684201 -v 0.045500 -0.241370 0.641994 -v 0.045500 -0.301928 0.541066 -v 0.045500 -0.329454 0.561251 -v -0.045500 -0.301928 0.541066 -v 0.045500 -0.292752 0.676861 -v -0.045500 -0.329454 0.561251 -v 0.045500 -0.226690 0.735583 -v -0.045500 -0.292752 0.676861 -v 0.045500 -0.098235 0.761274 -v -0.045500 -0.098235 0.761274 -v 0.045500 0.006363 0.860367 -v -0.045500 -0.037678 0.759438 -v 0.045500 0.120138 0.755768 -v -0.045500 0.006363 0.860367 -v -0.045500 0.120138 0.755768 -vn 1.0000 -0.0000 -0.0000 -vn -1.0000 -0.0000 -0.0000 -vn -0.0000 -0.4751 -0.8800 -vn -0.0000 -0.5642 -0.8256 -vn -0.0000 -0.1223 -0.9925 -vn -0.0000 0.3628 -0.9319 -vn -0.0000 0.7269 -0.6868 -vn -0.0000 0.8575 -0.5145 -vn -0.0000 -0.5913 -0.8064 -vn -0.0000 -0.5914 -0.8064 -vn -0.0000 -0.8388 0.5445 -vn -0.0000 -0.9531 0.3026 -vn -0.0000 -0.4458 0.8952 -vn -0.0000 -0.0834 0.9965 -vn -0.0000 0.0303 0.9995 -vn -0.0000 -0.9165 0.3999 -vn -0.0000 0.6768 0.7362 -vn -0.0000 0.9810 -0.1943 -vt 0.023130 0.630533 -vt 0.028439 0.641072 -vt 0.015114 0.640800 -vt 0.023687 0.621763 -vt 0.026907 0.616152 -vt 0.016156 0.618688 -vt 0.051880 0.644663 -vt 0.062490 0.660213 -vt 0.051880 0.660213 -vt 0.051880 0.632862 -vt 0.062490 0.644663 -vt 0.051880 0.623995 -vt 0.062490 0.632862 -vt 0.051880 0.617526 -vt 0.062490 0.623995 -vt 0.051880 0.603802 -vt 0.062490 0.617526 -vt 0.062519 0.663431 -vt 0.073130 0.667411 -vt 0.062519 0.667411 -vt 0.062519 0.649287 -vt 0.073130 0.663431 -vt 0.062519 0.638981 -vt 0.073130 0.649287 -vt 0.062519 0.623707 -vt 0.073130 0.638981 -vt 0.062519 0.616642 -vt 0.073130 0.623707 -vt 0.062519 0.603802 -vt 0.073130 0.616642 -vt 0.051880 0.682243 -vt 0.062490 0.700264 -vt 0.051880 0.700264 -vt 0.062490 0.682243 -vt 0.038162 0.653207 -vt 0.016938 0.659116 -vt 0.003769 0.646815 -vt 0.014364 0.633776 -vt 0.016213 0.618613 -vt 0.023743 0.621688 -vt 0.022455 0.610413 -vt 0.026964 0.616078 -vt 0.035571 0.605121 -vt 0.038162 0.608143 -vt 0.003713 0.646890 -vt 0.016882 0.659191 -vt 0.015057 0.640875 -vt 0.038105 0.653282 -vt 0.028383 0.641147 -vt 0.014307 0.633851 -vt 0.023073 0.630608 -vt 0.022398 0.610487 -vt 0.038105 0.608218 -vt 0.035515 0.605196 -vt 0.062490 0.603802 -vt 0.073130 0.603802 -s 1 -f 425/819/337 426/820/337 427/821/337 -f 428/822/338 429/823/338 430/824/338 -f 426/825/339 431/826/340 432/827/340 -f 425/828/341 433/829/339 426/825/339 -f 434/830/342 435/831/341 425/828/341 -f 436/832/343 428/833/342 434/830/342 -f 437/834/344 429/835/343 436/832/343 -f 438/836/345 439/837/345 437/838/346 -f 440/839/347 441/840/348 438/836/348 -f 442/841/349 443/842/347 440/839/347 -f 444/843/350 430/844/349 442/841/349 -f 427/845/351 445/846/350 444/843/350 -f 446/847/352 447/848/352 427/845/352 -f 448/849/353 449/850/353 446/851/353 -f 432/827/354 450/852/354 448/849/354 -f 432/853/337 448/854/337 426/820/337 -f 448/854/337 446/855/337 427/821/337 -f 427/821/337 444/856/337 425/819/337 -f 444/856/337 442/857/337 425/819/337 -f 425/819/337 442/857/337 434/858/337 -f 448/854/337 427/821/337 426/820/337 -f 442/857/337 440/859/337 436/860/337 -f 434/858/337 442/857/337 436/860/337 -f 440/859/337 438/861/337 436/860/337 -f 438/861/337 437/862/337 436/860/337 -f 449/863/338 450/864/338 447/865/338 -f 450/864/338 431/866/338 433/867/338 -f 450/864/338 433/867/338 447/865/338 -f 430/824/338 445/868/338 435/869/338 -f 445/868/338 447/865/338 435/869/338 -f 447/865/338 433/867/338 435/869/338 -f 443/870/338 430/824/338 429/823/338 -f 439/871/338 441/872/338 429/823/338 -f 441/872/338 443/870/338 429/823/338 -f 430/824/338 435/869/338 428/822/338 -f 426/825/339 433/829/339 431/826/340 -f 425/828/341 435/831/341 433/829/339 -f 434/830/342 428/833/342 435/831/341 -f 436/832/343 429/835/343 428/833/342 -f 437/834/344 439/873/344 429/835/343 -f 438/836/345 441/840/345 439/837/345 -f 440/839/347 443/842/347 441/840/348 -f 442/841/349 430/844/349 443/842/347 -f 444/843/350 445/846/350 430/844/349 -f 427/845/351 447/848/351 445/846/350 -f 446/847/352 449/874/352 447/848/352 -f 448/849/353 450/852/353 449/850/353 -f 432/827/354 431/826/354 450/852/354 -o Scope -v 0.000000 1.477200 0.088723 -v 0.098039 1.333949 0.145326 -v 0.000000 1.333949 0.088723 -v 0.098039 1.477200 0.145326 -v 0.098039 1.333949 0.258532 -v 0.098039 1.477200 0.258532 -v 0.000000 1.333949 0.315135 -v 0.000000 1.477200 0.315135 -v -0.098039 1.333949 0.258532 -v -0.098039 1.477200 0.258532 -v -0.098039 1.333949 0.145326 -v -0.098039 1.477200 0.145326 -v -0.052355 1.290100 0.088723 -v -0.195606 1.192061 0.145326 -v -0.195606 1.290100 0.088723 -v -0.052355 1.192061 0.145326 -v -0.195606 1.192061 0.258532 -v -0.052355 1.192061 0.258532 -v -0.195606 1.290100 0.315135 -v -0.052355 1.290100 0.315135 -v -0.195606 1.388139 0.258532 -v -0.052355 1.388139 0.258532 -v -0.195606 1.388139 0.145326 -v -0.052355 1.388139 0.145326 -v 0.122250 1.167851 -0.880258 -v 0.172888 1.290101 -0.535252 -v 0.122250 1.167851 -0.535252 -v 0.122250 1.412351 -0.880258 -v 0.122250 1.412351 -0.535252 -v 0.000000 1.462989 -0.535252 -v 0.000000 1.462989 -0.880258 -v -0.122250 1.412351 -0.535252 -v -0.122250 1.412351 -0.880258 -v -0.172888 1.290101 -0.535252 -v -0.172888 1.290101 -0.880258 -v -0.122250 1.167851 -0.535252 -v -0.148774 1.290101 -0.842944 -v 0.000000 1.438875 -0.842944 -v 0.148774 1.290101 -0.842944 -v -0.122250 1.167851 -0.880258 -v 0.000000 1.117213 -0.535252 -v 0.047857 1.242244 1.175174 -v 0.047857 1.337958 1.175174 -v -0.047857 1.337958 1.175174 -v -0.101696 1.188405 0.795065 -v 0.000000 1.118381 0.903662 -v -0.121424 1.168677 0.903662 -v -0.143820 1.290101 0.795065 -v -0.171720 1.290101 0.903662 -v -0.101696 1.391797 0.795065 -v -0.121424 1.411525 0.903662 -v 0.000000 1.433921 0.795065 -v 0.000000 1.461821 0.903662 -v 0.101696 1.391797 0.795065 -v 0.121424 1.411525 0.903662 -v 0.143820 1.290101 0.795065 -v 0.171720 1.290101 0.903662 -v 0.101696 1.188405 0.795065 -v 0.121424 1.168677 0.903662 -v 0.000000 1.146281 0.795065 -v -0.101696 1.188405 -0.426655 -v 0.000000 1.146281 -0.380929 -v -0.101696 1.188405 -0.380929 -v -0.143820 1.290101 -0.426655 -v -0.143820 1.290101 -0.380929 -v -0.101696 1.391797 -0.426655 -v -0.101696 1.391797 -0.380929 -v 0.000000 1.433921 -0.426655 -v 0.000000 1.433921 -0.380929 -v 0.101696 1.391797 -0.426655 -v 0.101696 1.391797 -0.380929 -v 0.143820 1.290101 -0.426655 -v 0.143820 1.290101 -0.380929 -v 0.101696 1.188405 -0.426655 -v 0.101696 1.188405 -0.380929 -v 0.000000 1.146281 -0.426655 -v 0.171720 1.290101 1.200607 -v 0.121424 1.411525 1.200607 -v 0.000000 1.461821 1.200607 -v -0.121424 1.411525 1.200607 -v -0.171720 1.290101 1.200607 -v -0.121424 1.168677 1.200607 -v 0.000000 1.118381 1.200607 -v 0.000000 1.146281 0.387825 -v 0.101696 1.188405 0.425211 -v 0.000000 1.146281 0.425211 -v 0.127181 1.162920 -0.019415 -v 0.127181 1.162920 0.387825 -v 0.143820 1.290101 0.387825 -v 0.143820 1.290101 0.425211 -v 0.101696 1.391797 0.425211 -v 0.143820 1.290101 -0.019415 -v 0.127181 1.417282 0.387825 -v 0.000000 1.433921 0.387825 -v 0.000000 1.433921 0.425211 -v 0.127181 1.417282 -0.019415 -v -0.101696 1.391797 0.425211 -v 0.000000 1.433921 -0.019415 -v -0.127181 1.417282 0.387825 -v -0.143820 1.290101 0.387825 -v -0.143820 1.290101 0.425211 -v -0.127181 1.417282 -0.019415 -v -0.101696 1.188405 0.425211 -v -0.143820 1.290101 -0.019415 -v -0.127181 1.162920 0.387825 -v -0.127181 1.162920 -0.019415 -v 0.000000 1.146281 0.560528 -v -0.101696 1.188405 0.560528 -v -0.143820 1.290101 0.560528 -v -0.101696 1.391797 0.560528 -v 0.000000 1.433921 0.560528 -v 0.101696 1.391797 0.560528 -v 0.143820 1.290101 0.560528 -v 0.101696 1.188405 0.560528 -v 0.000000 1.146281 -0.019415 -v 0.101696 1.188405 -0.056801 -v 0.101696 1.391797 -0.056801 -v -0.101696 1.391797 -0.056801 -v -0.101696 1.188405 -0.056801 -v 0.000000 1.146281 0.726438 -v -0.113307 1.408526 -0.380929 -v 0.000000 1.453522 -0.380929 -v 0.101696 1.188405 0.726438 -v -0.125746 1.106419 0.726438 -v 0.000000 1.113253 0.726438 -v 0.143820 1.290101 0.726438 -v 0.125746 1.106419 0.726438 -v 0.101696 1.391797 0.726438 -v 0.000000 1.433921 -0.214523 -v -0.113307 1.408526 -0.214523 -v -0.101696 1.391797 -0.214523 -v 0.000000 1.433921 0.726438 -v -0.125746 1.106419 0.560528 -v -0.160240 1.306368 0.560528 -v -0.101696 1.391797 0.726438 -v 0.113307 1.408526 -0.380929 -v -0.143820 1.290101 0.726438 -v -0.101696 1.188405 0.726438 -v 0.113307 1.408526 -0.214523 -v 0.000000 1.453522 -0.214523 -v 0.000000 1.146281 -0.056801 -v 0.101696 1.188405 -0.214523 -v -0.113307 1.408526 0.560528 -v 0.143820 1.290101 -0.056801 -v 0.160240 1.306368 -0.380929 -v 0.143820 1.290101 -0.214523 -v -0.160240 1.306368 0.726438 -v 0.101696 1.391797 -0.214523 -v 0.000000 1.433921 -0.056801 -v 0.160240 1.306368 -0.214523 -v 0.000000 1.453522 0.560528 -v -0.143820 1.290101 -0.056801 -v 0.125746 1.106419 -0.380929 -v -0.143820 1.290101 -0.214523 -v -0.113307 1.408526 0.726438 -v -0.101696 1.188405 -0.214523 -v 0.125746 1.106419 -0.214523 -v 0.000000 1.113253 0.560528 -v 0.125746 1.106419 0.560528 -v 0.160240 1.306368 0.726438 -v 0.160240 1.306368 0.560528 -v 0.113307 1.408526 0.726438 -v 0.113307 1.408526 0.560528 -v 0.000000 1.453522 0.726438 -v 0.000000 1.113253 -0.214523 -v -0.160240 1.306368 -0.214523 -v -0.125746 1.106419 -0.380929 -v -0.125746 1.106419 -0.214523 -v -0.160240 1.306368 -0.380929 -v 0.000000 1.146281 -0.214523 -v 0.000000 1.113253 -0.380929 -v -0.106302 1.396403 1.157056 -v -0.150333 1.290101 1.200607 -v -0.150333 1.290101 1.157056 -v 0.000000 1.440434 1.157056 -v -0.106302 1.396403 1.200607 -v 0.106302 1.396403 1.157056 -v 0.000000 1.440434 1.200607 -v 0.150333 1.290101 1.157056 -v 0.106302 1.396403 1.200607 -v 0.000000 1.156786 1.166115 -v 0.106302 1.183800 1.157056 -v 0.094268 1.195833 1.166115 -v 0.133315 1.290101 1.166115 -v 0.094268 1.384369 1.166115 -v 0.000000 1.423417 1.166115 -v -0.094268 1.384369 1.166115 -v -0.133315 1.290101 1.166115 -v -0.106302 1.183800 1.157056 -v -0.094268 1.195833 1.166115 -v 0.000000 1.139768 1.157056 -v 0.000000 1.178299 1.171550 -v 0.079056 1.211045 1.171550 -v 0.111802 1.290101 1.171550 -v 0.079056 1.369157 1.171550 -v 0.000000 1.401903 1.171550 -v -0.079056 1.369157 1.171550 -v -0.111802 1.290101 1.171550 -v -0.079056 1.211045 1.171550 -v 0.000000 1.222421 1.175174 -v 0.067680 1.290101 1.175174 -v 0.000000 1.357781 1.175174 -v -0.067680 1.290101 1.175174 -v -0.047857 1.242244 1.175174 -v 0.000000 1.139768 1.200607 -v 0.121424 1.168677 1.200607 -v 0.106302 1.183800 1.200607 -v 0.150333 1.290101 1.200607 -v -0.106302 1.183800 1.200607 -v -0.105199 1.184902 -0.842944 -v -0.148774 1.290101 -0.880258 -v -0.105199 1.395301 -0.880258 -v -0.105199 1.395301 -0.842944 -v 0.000000 1.438875 -0.880258 -v 0.105199 1.395301 -0.880258 -v 0.105199 1.395301 -0.842944 -v 0.105199 1.184902 -0.880258 -v 0.000000 1.117213 -0.880258 -v 0.000000 1.141327 -0.880258 -v 0.148774 1.290101 -0.880258 -v 0.172888 1.290101 -0.880258 -v -0.105199 1.184902 -0.880258 -v 0.000000 1.141327 -0.842944 -v 0.105199 1.184902 -0.842944 -v 0.127287 1.060470 -0.215130 -v -0.127287 1.060470 -0.215130 -v -0.137370 0.965631 -0.215130 -v 0.127287 1.060470 -0.381779 -v 0.127345 1.113839 -0.215130 -v 0.165068 1.014758 -0.215130 -v 0.165068 1.014758 -0.381779 -v -0.127287 1.060470 -0.381779 -v 0.137370 0.965631 -0.381779 -v -0.127345 1.113839 -0.215130 -v -0.127345 1.113839 -0.381779 -v 0.127345 1.113839 -0.381779 -v -0.165068 0.999696 -0.381779 -v -0.137370 0.965631 -0.381779 -v 0.165068 0.999696 -0.215130 -v 0.137370 0.965631 -0.215130 -v -0.165068 1.014758 -0.381779 -v -0.165068 1.014758 -0.215130 -v 0.165068 0.999696 -0.381779 -v -0.165068 0.999696 -0.215130 -v 0.127287 1.060470 0.727120 -v -0.127287 1.060470 0.727120 -v -0.137370 0.965631 0.727120 -v 0.127345 1.113839 0.560471 -v 0.127287 1.060470 0.560471 -v 0.165068 1.014758 0.727120 -v 0.165068 1.014758 0.560471 -v -0.127287 1.060470 0.560471 -v 0.137370 0.965631 0.560471 -v -0.127345 1.113839 0.727120 -v -0.127345 1.113839 0.560471 -v 0.127345 1.113839 0.727120 -v -0.165068 0.999696 0.560471 -v -0.137370 0.965631 0.560471 -v 0.165068 0.999696 0.727120 -v 0.137370 0.965631 0.727120 -v -0.165068 1.014758 0.560471 -v -0.165068 1.014758 0.727120 -v 0.165068 0.999696 0.560471 -v -0.165068 0.999696 0.727120 -v -0.128673 1.041385 0.864105 -v -0.158890 1.005824 -0.497553 -v -0.158890 1.005824 0.864105 -v 0.128673 1.041385 -0.497553 -v 0.158890 1.005824 0.864105 -v 0.158890 1.005824 -0.497553 -v -0.128673 0.970263 -0.497553 -v 0.128673 0.970263 -0.497553 -v -0.042891 0.970263 -0.078904 -v 0.128673 0.970263 0.864105 -v -0.128673 1.041385 -0.497553 -v -0.042891 1.005824 0.864105 -v -0.042891 0.970263 0.864105 -v -0.042891 0.970263 0.913056 -v -0.128673 0.970263 0.864105 -v 0.128673 1.041385 0.864105 -v 0.042891 0.970263 0.864105 -v 0.042891 0.916053 0.076168 -v 0.042891 0.970263 -0.078904 -v 0.042891 1.005824 0.953107 -v -0.042891 0.970263 0.953107 -v 0.042891 0.970263 0.953107 -v 0.042891 0.894106 0.885317 -v 0.042891 0.970263 0.913056 -v 0.042891 1.005824 0.864105 -v -0.042891 0.868174 0.915839 -v -0.042891 0.894106 0.885317 -v 0.042891 0.868174 0.915839 -v -0.042891 0.970263 -0.078904 -v 0.042891 0.916053 0.864105 -v -0.042891 0.916053 0.076168 -v -0.042891 0.916053 0.864105 -v 0.042891 0.970263 -0.078904 -v -0.042891 1.005824 0.953107 -vn -0.0000 -0.0000 1.0000 -vn 1.0000 -0.0011 -0.0000 -vn 0.7708 0.6371 -0.0000 -vn -0.0000 -0.0000 -1.0000 -vn -1.0000 -0.0011 -0.0000 -vn -0.0000 1.0000 -0.0000 -vn -0.7759 -0.6309 -0.0000 -vn 0.7759 -0.6309 -0.0000 -vn -0.0000 -1.0000 -0.0000 -vn -0.7708 0.6371 -0.0000 -vn 1.0000 -0.0000 -0.0000 -vn -1.0000 -0.0000 -0.0000 -vn -0.7620 0.6475 -0.0000 -vn 0.7620 0.6475 -0.0000 -vn 0.7620 -0.6475 -0.0000 -vn -0.7620 -0.6475 -0.0000 -vn -0.0000 -0.7621 -0.6475 -vn -0.0000 0.3422 -0.9396 -vn -0.0000 -0.3429 0.9394 -vn -0.0000 -0.9440 -0.3300 -vn -0.0000 -0.0000 -0.0000 -vn 0.8660 -0.0000 -0.5000 -vn 0.8660 -0.0000 0.5000 -vn -0.8660 -0.0000 0.5000 -vn -0.8660 -0.0000 -0.5000 -vn -0.0000 -0.8660 -0.5000 -vn -0.0000 -0.8660 0.5000 -vn -0.0000 0.8660 0.5000 -vn -0.0000 0.8660 -0.5000 -vn 0.7071 -0.7071 -0.0000 -vn 0.7071 0.7071 -0.0000 -vn -0.7071 0.7071 -0.0000 -vn -0.7071 -0.7071 -0.0000 -vn 0.0362 -0.0362 0.9987 -vn 0.0362 0.0362 0.9987 -vn -0.0362 0.0362 0.9987 -vn -0.6849 -0.6849 -0.2488 -vn -0.0000 -0.9685 -0.2488 -vn -0.9685 -0.0000 -0.2488 -vn -0.6849 0.6849 -0.2488 -vn -0.0000 0.9685 -0.2488 -vn 0.6849 0.6849 -0.2488 -vn 0.9685 -0.0000 -0.2488 -vn 0.6849 -0.6849 -0.2488 -vn -0.6831 -0.6831 0.2586 -vn -0.0000 -0.9660 0.2586 -vn -0.9660 -0.0000 0.2586 -vn -0.6831 0.6831 0.2586 -vn -0.0000 0.9660 0.2586 -vn 0.6831 0.6831 0.2586 -vn 0.9660 -0.0000 0.2586 -vn 0.6831 -0.6831 0.2586 -vn -0.0000 -0.9856 0.1689 -vn 0.1560 -0.8391 0.5211 -vn 0.1297 -0.9916 -0.0000 -vn 0.8391 -0.1560 0.5211 -vn 0.9856 -0.0000 0.1689 -vn 0.9916 -0.1297 -0.0000 -vn 0.8391 0.1560 0.5211 -vn 0.9916 0.1297 -0.0000 -vn 0.1560 0.8391 0.5211 -vn -0.0000 0.9856 0.1689 -vn 0.1297 0.9916 -0.0000 -vn -0.1560 0.8391 0.5211 -vn -0.1297 0.9916 -0.0000 -vn -0.8391 0.1560 0.5211 -vn -0.9856 -0.0000 0.1689 -vn -0.9916 0.1297 -0.0000 -vn -0.8391 -0.1560 0.5211 -vn -0.9916 -0.1297 -0.0000 -vn -0.1560 -0.8391 0.5211 -vn -0.1297 -0.9916 -0.0000 -vn -0.0000 -0.9856 -0.1689 -vn 0.1560 -0.8391 -0.5211 -vn 0.1031 -0.7878 -0.6073 -vn 0.8391 -0.1560 -0.5211 -vn 0.9856 -0.0000 -0.1689 -vn 0.7878 -0.1031 -0.6073 -vn 0.8391 0.1560 -0.5211 -vn 0.7878 0.1031 -0.6073 -vn 0.1560 0.8391 -0.5211 -vn -0.0000 0.9856 -0.1689 -vn 0.1031 0.7878 -0.6073 -vn -0.1560 0.8391 -0.5211 -vn -0.1031 0.7878 -0.6073 -vn -0.8391 0.1560 -0.5211 -vn -0.9856 -0.0000 -0.1689 -vn -0.7878 0.1031 -0.6073 -vn -0.8391 -0.1560 -0.5211 -vn -0.7878 -0.1031 -0.6073 -vn -0.1560 -0.8391 -0.5211 -vn -0.1031 -0.7878 -0.6073 -vn -0.0543 -0.9985 -0.0000 -vn 0.9854 -0.1700 -0.0000 -vn 0.9916 0.1295 -0.0000 -vn 0.6883 0.7255 -0.0000 -vn -0.6883 0.7255 -0.0000 -vn -0.9916 0.1295 -0.0000 -vn -0.9854 -0.1700 -0.0000 -vn 0.0543 -0.9985 -0.0000 -vn -0.0000 -0.3856 0.9227 -vn 0.3323 -0.3323 0.8827 -vn 0.2727 -0.2727 0.9227 -vn 0.4699 -0.0000 0.8827 -vn 0.3856 -0.0000 0.9227 -vn 0.3323 0.3323 0.8827 -vn 0.2727 0.2727 0.9227 -vn -0.0000 0.4699 0.8827 -vn -0.0000 0.3856 0.9227 -vn -0.3323 0.3323 0.8827 -vn -0.2727 0.2727 0.9227 -vn -0.3856 -0.0000 0.9227 -vn -0.4699 -0.0000 0.8827 -vn -0.3323 -0.3323 0.8827 -vn -0.2727 -0.2727 0.9227 -vn -0.0000 -0.4699 0.8827 -vn -0.0000 -0.1839 0.9829 -vn 0.1300 -0.1300 0.9829 -vn 0.1839 -0.0000 0.9829 -vn 0.1300 0.1300 0.9829 -vn -0.0000 0.1839 0.9829 -vn -0.1300 0.1300 0.9829 -vn -0.1839 -0.0000 0.9829 -vn -0.1300 -0.1300 0.9829 -vn -0.0000 -0.0512 0.9987 -vn 0.0512 -0.0000 0.9987 -vn -0.0000 0.0512 0.9987 -vn -0.0512 -0.0000 0.9987 -vn -0.0362 -0.0362 0.9987 -vn 0.1031 -0.7878 0.6073 -vn 0.7878 -0.1031 0.6073 -vn 0.7878 0.1031 0.6073 -vn 0.1031 0.7878 0.6073 -vn -0.1031 0.7878 0.6073 -vn -0.7878 0.1031 0.6073 -vn -0.7878 -0.1031 0.6073 -vn -0.1031 -0.7878 0.6073 -vt 0.862112 0.382430 -vt 0.862112 0.343887 -vt 0.876470 0.342361 -vt 0.781491 0.334765 -vt 0.831474 0.326685 -vt 0.831474 0.334765 -vt 0.831474 0.343744 -vt 0.781491 0.343744 -vt 0.839614 0.332388 -vt 0.839614 0.293845 -vt 0.853972 0.292318 -vt 0.831474 0.420254 -vt 0.781491 0.412174 -vt 0.831474 0.412174 -vt 0.781491 0.288125 -vt 0.781491 0.326685 -vt 0.831474 0.394267 -vt 0.781491 0.400915 -vt 0.781491 0.394268 -vt 0.781491 0.352672 -vt 0.831474 0.346025 -vt 0.831474 0.352672 -vt 0.781491 0.403195 -vt 0.831474 0.403195 -vt 0.781491 0.346025 -vt 0.831474 0.400915 -vt 0.862112 0.332388 -vt 0.862112 0.293845 -vt 0.876470 0.292318 -vt 0.731449 0.326685 -vt 0.781432 0.334765 -vt 0.731449 0.334765 -vt 0.781432 0.343744 -vt 0.731449 0.343744 -vt 0.839614 0.382430 -vt 0.839614 0.343887 -vt 0.853972 0.342361 -vt 0.781432 0.420254 -vt 0.731449 0.412174 -vt 0.781432 0.412174 -vt 0.731449 0.288125 -vt 0.781432 0.326685 -vt 0.781432 0.394268 -vt 0.731449 0.400915 -vt 0.731449 0.394268 -vt 0.731449 0.352672 -vt 0.781432 0.346025 -vt 0.781432 0.352672 -vt 0.731449 0.403195 -vt 0.781432 0.403195 -vt 0.731449 0.346025 -vt 0.781432 0.400915 -vt 0.876470 0.383956 -vt 0.871313 0.388150 -vt 0.869033 0.388150 -vt 0.854032 0.382439 -vt 0.854032 0.343878 -vt 0.869033 0.338167 -vt 0.871313 0.338167 -vt 0.853972 0.333914 -vt 0.848815 0.338108 -vt 0.846534 0.338108 -vt 0.831533 0.332397 -vt 0.831533 0.293836 -vt 0.846534 0.288125 -vt 0.848815 0.288125 -vt 0.781491 0.420254 -vt 0.831474 0.288125 -vt 0.876470 0.333914 -vt 0.871313 0.338108 -vt 0.869033 0.338108 -vt 0.854032 0.332397 -vt 0.854032 0.293836 -vt 0.869033 0.288125 -vt 0.871313 0.288125 -vt 0.853972 0.383956 -vt 0.848815 0.388150 -vt 0.846534 0.388150 -vt 0.831533 0.382439 -vt 0.831533 0.343878 -vt 0.846534 0.338167 -vt 0.848815 0.338167 -vt 0.731449 0.420254 -vt 0.781432 0.288125 -vt 0.064605 0.000179 -vt 0.032391 0.940141 -vt 0.032391 0.000179 -vt 0.242253 0.940141 -vt 0.274466 0.000179 -vt 0.274467 0.940141 -vt 0.484329 0.940141 -vt 0.306680 0.940141 -vt 0.425112 0.651144 -vt 0.306680 0.000179 -vt 0.534226 0.414338 -vt 0.534226 0.236360 -vt 0.583414 0.236360 -vt 0.546318 0.592663 -vt 0.546318 0.568069 -vt 0.512464 0.568069 -vt 0.000178 0.940141 -vt 0.000178 0.000179 -vt 0.064605 0.940141 -vt 0.242253 0.000179 -vt 0.487811 0.005697 -vt 0.519381 0.464564 -vt 0.487811 0.554873 -vt 0.073028 1.000143 -vt 0.097622 0.940817 -vt 0.097622 1.000143 -vt 0.484684 0.568103 -vt 0.531567 0.515434 -vt 0.512383 0.568103 -vt 0.290390 1.000143 -vt 0.256536 0.940817 -vt 0.290390 0.940817 -vt 0.583463 0.236360 -vt 0.558869 0.355012 -vt 0.558869 0.295686 -vt 0.200482 1.000143 -vt 0.172783 0.940817 -vt 0.200482 0.940817 -vt 0.256536 1.000143 -vt 0.172783 1.000143 -vt 0.011475 0.940817 -vt 0.011475 1.000143 -vt 0.398353 0.604156 -vt 0.398156 0.603821 -vt 0.398353 0.604149 -vt 0.533461 0.664397 -vt 0.495970 0.605071 -vt 0.533461 0.605071 -vt 0.519381 0.005697 -vt 0.425288 0.548168 -vt 0.365961 0.661778 -vt 0.365961 0.548168 -vt 0.425288 0.003239 -vt 0.365896 0.651144 -vt 0.365896 0.000179 -vt 0.425112 0.000178 -vt 0.484329 0.000178 -vt 0.558820 0.215462 -vt 0.583414 0.414338 -vt 0.558820 0.435236 -vt 0.531648 0.515400 -vt 0.484765 0.568069 -vt 0.510539 0.497465 -vt 0.484765 0.592663 -vt 0.073028 0.940817 -vt 0.546237 0.568103 -vt 0.546237 0.592696 -vt 0.484684 0.592696 -vt 0.510458 0.497499 -vt 0.534276 0.236360 -vt 0.558869 0.215462 -vt 0.583463 0.414338 -vt 0.558869 0.435236 -vt 0.534276 0.414338 -vt 0.534276 0.355012 -vt 0.534276 0.295686 -vt 0.397971 0.604156 -vt 0.495970 0.664397 -vt 0.425288 0.661778 -vt 0.365961 0.003239 -vt 0.298927 0.396205 -vt 0.426834 0.332251 -vt 0.426834 0.396205 -vt 0.298927 0.332251 -vt 0.426834 0.268298 -vt 0.298927 0.268297 -vt 0.426834 0.204344 -vt 0.298927 0.588067 -vt 0.426834 0.524113 -vt 0.426834 0.588067 -vt 0.482312 0.332251 -vt 0.426926 0.236321 -vt 0.537698 0.236321 -vt 0.298927 0.524113 -vt 0.426834 0.460159 -vt 0.298927 0.460159 -vt 0.537698 0.364320 -vt 0.482312 0.460251 -vt 0.426926 0.364320 -vt 0.298927 0.204344 -vt 0.537698 0.300274 -vt 0.426926 0.300274 -vt 0.482312 0.204344 -vt 0.482312 0.332343 -vt 0.537698 0.428274 -vt 0.426926 0.428274 -vt 0.625763 0.415571 -vt 0.819774 0.344939 -vt 0.820219 0.412768 -vt 0.625356 0.276291 -vt 0.819329 0.277211 -vt 0.818884 0.209376 -vt 0.625153 0.206823 -vt 0.818436 0.141164 -vt 0.624951 0.137496 -vt 0.817982 0.071918 -vt 0.624748 0.068299 -vt 0.817507 -0.000475 -vt 0.739260 0.846264 -vt 0.780443 0.945689 -vt 0.681018 0.986873 -vt 0.626172 0.555444 -vt 0.820667 0.481090 -vt 0.821128 0.551376 -vt 0.696930 0.948356 -vt 0.678415 0.903416 -vt 0.723357 0.884906 -vt 0.876666 0.003400 -vt 0.816718 0.072080 -vt 0.816304 0.006550 -vt 0.876085 0.483878 -vt 0.819483 0.550860 -vt 0.819079 0.483115 -vt 0.876168 0.415340 -vt 0.818684 0.414464 -vt 0.876251 0.346487 -vt 0.818292 0.346212 -vt 0.876334 0.277480 -vt 0.817901 0.278056 -vt 0.876418 0.208392 -vt 0.817509 0.209851 -vt 0.876502 0.139291 -vt 0.817116 0.141387 -vt 0.876585 0.070439 -vt 0.876585 0.549564 -vt 0.900604 0.482520 -vt 0.900604 0.549669 -vt 0.876841 0.068823 -vt 0.900604 0.001360 -vt 0.900604 0.069103 -vt 0.876804 0.137986 -vt 0.900604 0.137993 -vt 0.876767 0.207313 -vt 0.900604 0.207190 -vt 0.876730 0.276558 -vt 0.900604 0.276413 -vt 0.876693 0.345668 -vt 0.900604 0.345495 -vt 0.876657 0.414568 -vt 0.900604 0.414254 -vt 0.876620 0.483158 -vt 0.876877 0.001414 -vt 0.626103 0.208309 -vt 0.626206 0.277009 -vt 0.626310 0.345842 -vt 0.626414 0.414767 -vt 0.626518 0.483792 -vt 0.626623 0.553016 -vt 0.625896 0.071491 -vt 0.814153 0.731675 -vt 0.754704 0.732862 -vt 0.807643 0.713695 -vt 0.837372 0.482857 -vt 0.629071 0.417250 -vt 0.837372 0.417250 -vt 0.695254 0.731675 -vt 0.701764 0.713695 -vt 0.837372 0.351644 -vt 0.648824 0.694528 -vt 0.629071 0.351644 -vt 0.837372 0.286037 -vt 0.860612 0.695197 -vt 0.814182 0.732345 -vt 0.807672 0.714365 -vt 0.629071 0.286037 -vt 0.837372 0.220430 -vt 0.754732 0.733532 -vt 0.629071 0.220430 -vt 0.837372 0.154823 -vt 0.695283 0.732345 -vt 0.701793 0.714365 -vt 0.629071 0.154823 -vt 0.837372 0.089217 -vt 0.648853 0.695197 -vt 0.629071 0.089217 -vt 0.837372 0.023610 -vt 0.860583 0.694528 -vt 0.629071 0.548464 -vt 0.837372 0.548464 -vt 0.636324 0.548220 -vt 0.705538 0.491917 -vt 0.705538 0.548220 -vt 0.705538 0.154102 -vt 0.636324 0.097799 -vt 0.705538 0.097799 -vt 0.636324 0.210405 -vt 0.705538 0.210405 -vt 0.636324 0.266707 -vt 0.705538 0.266707 -vt 0.636324 0.323010 -vt 0.705538 0.323010 -vt 0.636324 0.379312 -vt 0.705538 0.379312 -vt 0.636324 0.435615 -vt 0.705538 0.435615 -vt 0.636324 0.491917 -vt 0.695333 0.731288 -vt 0.754783 0.732474 -vt 0.754783 0.759036 -vt 0.814233 0.731288 -vt 0.860662 0.694140 -vt 0.877667 0.714545 -vt 0.649050 0.695197 -vt 0.695480 0.732345 -vt 0.632046 0.715602 -vt 0.754930 0.733532 -vt 0.754930 0.760094 -vt 0.814379 0.732345 -vt 0.860809 0.695197 -vt 0.877813 0.715602 -vt 0.648904 0.694140 -vt 0.631899 0.714545 -vt 0.900124 0.071811 -vt 0.902327 0.912035 -vt 0.960283 0.899046 -vt 0.902327 0.922061 -vt 0.900124 0.140016 -vt 0.901890 0.765040 -vt 0.837572 0.744650 -vt 0.901890 0.748146 -vt 0.900124 0.208571 -vt 0.966209 0.744650 -vt 0.953907 0.786586 -vt 0.900124 0.277204 -vt 0.902327 0.911782 -vt 0.844371 0.898793 -vt 0.850310 0.890236 -vt 0.900124 0.345738 -vt 0.975890 0.839400 -vt 0.966645 0.745448 -vt 0.984289 0.847721 -vt 0.900124 0.413996 -vt 0.844371 0.899046 -vt 0.850310 0.890489 -vt 0.900124 0.481829 -vt 0.876005 0.550176 -vt 0.828328 0.838603 -vt 0.849874 0.786586 -vt 0.900124 0.004636 -vt 0.960283 0.898792 -vt 0.902327 0.921808 -vt 0.711854 0.496239 -vt 0.631181 0.439936 -vt 0.711854 0.439936 -vt 0.954344 0.891417 -vt 0.960283 0.899974 -vt 0.711854 0.383634 -vt 0.820365 0.846792 -vt 0.828764 0.838472 -vt 0.631181 0.383634 -vt 0.711854 0.327331 -vt 0.849874 0.890620 -vt 0.819929 0.846923 -vt 0.631181 0.327331 -vt 0.711854 0.271028 -vt 0.954344 0.890236 -vt 0.984289 0.846539 -vt 0.631181 0.271028 -vt 0.711854 0.214726 -vt 0.902327 0.912963 -vt 0.902327 0.922989 -vt 0.631181 0.214726 -vt 0.711854 0.158423 -vt 0.838009 0.744520 -vt 0.850310 0.786455 -vt 0.631181 0.158423 -vt 0.711854 0.102121 -vt 0.901891 0.912166 -vt 0.843935 0.899176 -vt 0.631181 0.552542 -vt 0.711854 0.552541 -vt 0.975890 0.838219 -vt 0.966645 0.744267 -vt 0.397199 0.874901 -vt 0.482061 0.810488 -vt 0.482061 0.874901 -vt 0.397199 0.810488 -vt 0.482061 0.706705 -vt 0.397199 0.706705 -vt 0.482061 0.649202 -vt 0.397199 0.649202 -vt 0.482061 0.586843 -vt 0.397199 0.586843 -vt 0.482061 0.524485 -vt 0.397199 0.524485 -vt 0.482061 0.466981 -vt 0.397199 0.466981 -vt 0.482061 0.363198 -vt 0.397199 0.939314 -vt 0.482061 0.939314 -vt 0.396382 0.874901 -vt 0.311267 0.810488 -vt 0.396382 0.810488 -vt 0.396382 0.706705 -vt 0.311267 0.706705 -vt 0.396382 0.649202 -vt 0.311267 0.649202 -vt 0.396382 0.586843 -vt 0.311267 0.586843 -vt 0.396382 0.524485 -vt 0.311267 0.524485 -vt 0.396382 0.466981 -vt 0.311267 0.363198 -vt 0.396382 0.363198 -vt 0.311267 0.939314 -vt 0.396382 0.939314 -vt 0.902327 0.765837 -vt 0.838009 0.745448 -vt 0.902327 0.748944 -vt 0.954344 0.787383 -vt 0.820365 0.846539 -vt 0.828764 0.838219 -vt 0.975453 0.838603 -vt 0.983852 0.846923 -vt 0.954344 0.890489 -vt 0.984289 0.846793 -vt 0.828764 0.839400 -vt 0.850310 0.787383 -vt 0.838009 0.744267 -vt 0.850310 0.786202 -vt 0.953907 0.890619 -vt 0.959846 0.899176 -vt 0.975890 0.838472 -vt 0.966645 0.744520 -vt 0.850310 0.891417 -vt 0.820365 0.847721 -vt 0.902327 0.764656 -vt 0.954344 0.786202 -vt 0.902327 0.747763 -vt 0.901891 0.922191 -vt 0.902327 0.764909 -vt 0.902327 0.748016 -vt 0.954344 0.786455 -vt 0.844371 0.899974 -vt 0.640899 0.140025 -vt 0.663174 0.198878 -vt 0.640899 0.198878 -vt 0.640899 0.081173 -vt 0.663175 0.140025 -vt 0.640899 0.493140 -vt 0.663174 0.551992 -vt 0.640899 0.551992 -vt 0.640899 0.434287 -vt 0.663174 0.493140 -vt 0.736235 0.979788 -vt 0.680093 0.989178 -vt 0.683934 0.979737 -vt 0.637595 0.946681 -vt 0.646986 0.942722 -vt 0.637595 0.886581 -vt 0.647035 0.890422 -vt 0.680092 0.844083 -vt 0.684051 0.853475 -vt 0.740193 0.844085 -vt 0.736352 0.853526 -vt 0.773300 0.890541 -vt 0.782692 0.886581 -vt 0.782692 0.946682 -vt 0.773251 0.942841 -vt 0.740194 0.989180 -vt 0.731842 0.969217 -vt 0.688303 0.969155 -vt 0.657557 0.938328 -vt 0.657617 0.894790 -vt 0.688445 0.864046 -vt 0.731984 0.864107 -vt 0.762729 0.894934 -vt 0.762669 0.938473 -vt 0.723236 0.948412 -vt 0.678362 0.929721 -vt 0.697051 0.884851 -vt 0.741925 0.903542 -vt 0.741872 0.929847 -vt 0.799881 0.604423 -vt 0.785094 0.666531 -vt 0.777359 0.658796 -vt 0.722987 0.692257 -vt 0.722987 0.681318 -vt 0.660879 0.666531 -vt 0.668614 0.658796 -vt 0.635153 0.604424 -vt 0.646092 0.604424 -vt 0.799881 0.604346 -vt 0.785094 0.666454 -vt 0.777359 0.658718 -vt 0.722987 0.681240 -vt 0.722987 0.692179 -vt 0.660879 0.666454 -vt 0.668614 0.658718 -vt 0.646092 0.604346 -vt 0.635153 0.604346 -vt 0.663174 0.257730 -vt 0.640899 0.257730 -vt 0.663174 0.316582 -vt 0.640899 0.316582 -vt 0.663174 0.375435 -vt 0.640899 0.375435 -vt 0.663174 0.434287 -vt 0.625999 0.139796 -vt 0.642973 0.084114 -vt 0.662059 0.142357 -vt 0.642973 0.142357 -vt 0.662059 0.200599 -vt 0.642973 0.200599 -vt 0.662059 0.258841 -vt 0.642973 0.258841 -vt 0.662059 0.317083 -vt 0.642973 0.317083 -vt 0.723487 0.680169 -vt 0.660957 0.666602 -vt 0.669679 0.657881 -vt 0.777296 0.657881 -vt 0.723487 0.692503 -vt 0.799585 0.604072 -vt 0.786018 0.666602 -vt 0.669775 0.658077 -vt 0.635153 0.604268 -vt 0.647487 0.604268 -vt 0.723584 0.680365 -vt 0.661054 0.666798 -vt 0.777393 0.658077 -vt 0.723584 0.692699 -vt 0.799681 0.604268 -vt 0.786114 0.666798 -vt 0.635056 0.604072 -vt 0.647390 0.604072 -vt 0.642973 0.491810 -vt 0.662059 0.550052 -vt 0.642973 0.550052 -vt 0.642973 0.433568 -vt 0.662059 0.491810 -vt 0.642973 0.375326 -vt 0.662059 0.433568 -vt 0.662059 0.375326 -vt 0.625967 0.485397 -vt 0.625560 0.345878 -vt 0.624550 0.000408 -vt 0.639834 0.945689 -vt 0.639834 0.887447 -vt 0.681018 0.846264 -vt 0.780443 0.887447 -vt 0.739260 0.986873 -vt 0.625795 0.004394 -vt 0.754704 0.759424 -vt 0.629071 0.482857 -vt 0.631819 0.714933 -vt 0.877616 0.715602 -vt 0.754732 0.760094 -vt 0.631849 0.715602 -vt 0.629071 0.023610 -vt 0.877587 0.714933 -vt 0.636324 0.154102 -vt 0.701844 0.713307 -vt 0.807723 0.713307 -vt 0.701990 0.714365 -vt 0.807869 0.714365 -vt 0.900124 0.549107 -vt 0.631181 0.496239 -vt 0.631181 0.102121 -vt 0.397199 0.363198 -vt 0.311267 0.874901 -vt 0.311267 0.466981 -vt 0.663175 0.081173 -vt 0.810820 0.604423 -vt 0.810820 0.604346 -vt 0.662059 0.084114 -vt 0.811918 0.604072 -vt 0.812015 0.604268 -s 0 -f 675/875/355 676/876/355 677/877/355 -f 678/878/356 679/879/356 675/880/356 -f 678/878/357 680/881/357 681/882/357 -f 682/883/358 678/884/358 683/885/358 -f 684/886/359 682/887/359 676/888/359 -f 685/889/360 679/879/360 686/890/360 -f 677/891/361 687/892/361 688/893/361 -f 683/894/362 689/895/362 690/896/362 -f 683/894/363 677/891/363 688/893/363 -f 676/888/364 691/897/364 692/898/364 -f 681/882/365 689/895/365 693/899/365 -f 692/898/366 687/892/366 694/900/366 -f 695/901/355 696/902/355 697/903/355 -f 698/904/356 695/905/356 699/906/356 -f 699/906/357 700/907/357 701/908/357 -f 702/909/358 699/910/358 703/911/358 -f 704/912/359 702/913/359 696/914/359 -f 705/915/360 706/916/360 698/904/360 -f 697/917/361 707/918/361 708/919/361 -f 703/920/362 709/921/362 710/922/362 -f 703/920/363 697/917/363 708/919/363 -f 696/914/364 711/923/364 712/924/364 -f 701/908/365 709/921/365 713/925/365 -f 712/924/366 707/918/366 714/926/366 -f 677/877/355 690/927/355 675/875/355 -f 690/927/355 689/928/355 680/929/355 -f 675/875/355 690/927/355 680/929/355 -f 675/875/355 679/930/355 684/931/355 -f 676/876/355 692/932/355 677/877/355 -f 692/932/355 694/933/355 677/877/355 -f 675/875/355 684/931/355 676/876/355 -f 678/878/356 686/890/356 679/879/356 -f 678/878/357 675/880/357 680/881/357 -f 683/885/358 688/934/358 682/883/358 -f 688/934/358 687/935/358 691/936/358 -f 682/883/358 688/934/358 691/936/358 -f 682/883/358 685/937/358 686/938/358 -f 678/884/358 681/939/358 683/885/358 -f 681/939/358 693/940/358 683/885/358 -f 682/883/358 686/938/358 678/884/358 -f 684/886/359 685/941/359 682/887/359 -f 685/889/360 684/942/360 679/879/360 -f 677/891/361 694/900/361 687/892/361 -f 683/894/362 693/899/362 689/895/362 -f 683/894/363 690/896/363 677/891/363 -f 676/888/364 682/887/364 691/897/364 -f 681/882/365 680/881/365 689/895/365 -f 692/898/366 691/897/366 687/892/366 -f 697/903/355 710/943/355 695/901/355 -f 710/943/355 709/944/355 700/945/355 -f 695/901/355 710/943/355 700/945/355 -f 695/901/355 706/946/355 704/947/355 -f 696/902/355 712/948/355 697/903/355 -f 712/948/355 714/949/355 697/903/355 -f 695/901/355 704/947/355 696/902/355 -f 698/904/356 706/916/356 695/905/356 -f 699/906/357 695/905/357 700/907/357 -f 703/911/358 708/950/358 702/909/358 -f 708/950/358 707/951/358 711/952/358 -f 702/909/358 708/950/358 711/952/358 -f 702/909/358 705/953/358 698/954/358 -f 699/910/358 701/955/358 703/911/358 -f 701/955/358 713/956/358 703/911/358 -f 702/909/358 698/954/358 699/910/358 -f 704/912/359 705/957/359 702/913/359 -f 705/915/360 704/958/360 706/916/360 -f 697/917/361 714/926/361 707/918/361 -f 703/920/362 713/925/362 709/921/362 -f 703/920/363 710/922/363 697/917/363 -f 696/914/364 702/913/364 711/923/364 -f 701/908/365 700/907/365 709/921/365 -f 712/924/366 711/923/366 707/918/366 -f 715/959/367 716/960/367 717/961/367 -f 718/962/368 719/963/368 720/964/368 -f 721/965/363 722/966/363 723/967/363 -f 720/964/369 724/968/369 722/966/369 -f 722/969/358 721/970/358 725/971/358 -f 726/972/366 727/973/366 728/974/366 -f 717/961/370 721/975/370 729/976/370 -f 725/977/360 730/978/360 718/962/360 -f 731/979/365 732/980/365 733/981/365 -f 734/982/355 735/983/355 736/984/355 -f 736/985/365 737/986/365 738/987/365 -f 731/988/363 728/989/363 727/990/363 -f 730/991/355 726/992/355 739/993/355 -f 737/994/371 740/995/371 741/996/371 -f 738/997/372 741/996/372 728/989/372 -f 735/983/373 742/998/373 736/984/373 -f 726/999/360 734/982/360 739/1000/360 -f 723/1001/355 733/1002/355 743/1003/355 -f 727/1004/355 744/1005/355 731/1006/355 -f 745/980/366 746/1007/366 727/979/366 -f 745/1008/374 733/1009/374 732/1010/374 -f 732/1010/363 746/1011/363 745/1008/363 -f 715/959/367 725/977/367 716/960/367 -f 718/962/368 730/978/368 719/963/368 -f 722/966/363 724/968/363 747/1012/363 -f 724/968/363 731/1013/363 747/1012/363 -f 727/1014/363 729/1015/363 723/967/363 -f 729/1015/363 721/965/363 723/967/363 -f 722/966/363 747/1012/363 723/967/363 -f 720/964/369 719/963/369 724/968/369 -f 716/1016/358 725/971/358 721/970/358 -f 725/971/358 718/1017/358 722/969/358 -f 718/1017/358 720/1018/358 722/969/358 -f 728/974/366 741/1019/366 735/1020/366 -f 741/1019/366 740/1021/366 735/1020/366 -f 735/1020/366 748/1022/366 728/974/366 -f 748/1022/366 726/972/366 728/974/366 -f 717/961/370 716/960/370 721/975/370 -f 725/977/360 715/959/360 730/978/360 -f 733/981/375 747/981/375 731/979/375 -f 731/979/365 744/1007/365 732/980/365 -f 734/982/355 748/1023/355 735/983/355 -f 738/987/365 731/1024/365 739/1025/365 -f 739/1025/365 734/1026/365 738/987/365 -f 734/1026/365 736/985/365 738/987/365 -f 736/985/365 742/1027/365 737/986/365 -f 731/988/363 738/997/363 728/989/363 -f 724/1028/355 719/1029/355 730/991/355 -f 730/991/355 715/1030/355 726/992/355 -f 715/1030/355 717/1031/355 729/1032/355 -f 726/992/355 715/1030/355 729/1032/355 -f 729/1032/355 727/1033/355 726/992/355 -f 731/1034/355 724/1028/355 739/993/355 -f 724/1028/355 730/991/355 739/993/355 -f 737/994/371 742/998/371 740/995/371 -f 738/997/372 737/994/372 741/996/372 -f 735/983/373 740/995/373 742/998/373 -f 726/999/360 748/1023/360 734/982/360 -f 723/1001/355 747/1035/355 733/1002/355 -f 727/1004/355 746/1036/355 744/1005/355 -f 727/979/375 723/981/375 743/981/375 -f 743/981/366 745/980/366 727/979/366 -f 745/1008/374 743/1037/374 733/1009/374 -f 732/1010/363 744/1038/363 746/1011/363 -s 1 -f 451/1039/358 452/1040/376 453/1041/358 -f 454/1042/376 455/1043/377 452/1040/376 -f 456/1044/377 457/1045/355 455/1043/377 -f 458/1046/355 459/1047/378 457/1048/355 -f 451/1049/360 460/1050/360 456/1051/360 -f 460/1052/378 461/1053/379 459/1047/378 -f 462/1054/379 453/1041/358 461/1053/379 -f 452/1055/363 457/1056/363 461/1057/363 -f 451/1039/358 454/1042/376 452/1040/376 -f 454/1042/376 456/1044/377 455/1043/377 -f 456/1044/377 458/1058/355 457/1045/355 -f 458/1046/355 460/1052/378 459/1047/378 -f 456/1051/360 454/1059/360 451/1049/360 -f 451/1049/360 462/1060/360 460/1050/360 -f 460/1050/360 458/1061/360 456/1051/360 -f 460/1052/378 462/1054/379 461/1053/379 -f 462/1054/379 451/1039/358 453/1041/358 -f 461/1057/363 453/1062/363 452/1055/363 -f 452/1055/363 455/1063/363 457/1056/363 -f 457/1056/363 459/1064/363 461/1057/363 -f 463/1039/358 464/1040/380 465/1041/358 -f 466/1042/380 467/1043/381 464/1040/380 -f 468/1044/381 469/1045/355 467/1043/381 -f 470/1046/355 471/1047/382 469/1048/355 -f 463/1049/365 472/1050/365 468/1051/365 -f 472/1052/382 473/1053/383 471/1047/382 -f 474/1054/383 465/1041/358 473/1053/383 -f 464/1055/366 469/1056/366 473/1057/366 -f 463/1039/358 466/1042/380 464/1040/380 -f 466/1042/380 468/1044/381 467/1043/381 -f 468/1044/381 470/1058/355 469/1045/355 -f 470/1046/355 472/1052/382 471/1047/382 -f 468/1051/365 466/1059/365 463/1049/365 -f 463/1049/365 474/1060/365 472/1050/365 -f 472/1050/365 470/1061/365 468/1051/365 -f 472/1052/382 474/1054/383 473/1053/383 -f 474/1054/383 463/1039/358 465/1041/358 -f 473/1057/366 465/1062/366 464/1055/366 -f 464/1055/366 467/1063/366 469/1056/366 -f 469/1056/366 471/1064/366 473/1057/366 -f 475/1065/384 476/1066/365 477/1067/384 -f 476/1066/365 478/1068/385 479/1069/385 -f 478/1068/385 480/1070/360 479/1069/385 -f 481/1071/360 482/1072/386 480/1070/360 -f 483/1073/386 484/1074/366 482/1072/386 -f 485/1075/366 486/1076/387 484/1074/366 -f 487/1077/358 488/1078/358 489/1079/358 -f 490/1080/387 491/1081/363 486/1082/387 -f 492/1083/388 493/1084/389 494/1085/390 -f 495/1086/391 496/1087/392 497/1088/391 -f 498/1089/393 497/1090/391 499/1091/393 -f 500/1092/394 499/1091/393 501/1093/394 -f 502/1094/395 501/1093/394 503/1095/395 -f 504/1096/396 503/1095/395 505/1097/396 -f 506/1098/397 505/1097/396 507/1099/397 -f 508/1100/398 507/1099/397 509/1101/398 -f 510/1102/392 509/1101/398 496/1087/392 -f 511/1103/387 512/1104/363 513/1105/387 -f 514/1106/366 513/1107/387 515/1108/366 -f 516/1109/386 515/1108/366 517/1110/386 -f 518/1111/360 517/1110/386 519/1112/360 -f 520/1113/385 519/1112/360 521/1114/385 -f 522/1115/365 521/1114/385 523/1116/365 -f 524/1117/384 523/1116/365 525/1118/384 -f 526/1119/363 525/1118/384 512/1104/363 -f 486/1082/399 526/1119/400 511/1103/399 -f 484/1074/401 511/1120/399 514/1106/401 -f 482/1072/402 514/1106/401 516/1109/402 -f 480/1070/403 516/1109/402 518/1111/403 -f 520/1113/404 480/1070/403 518/1111/403 -f 522/1115/405 479/1069/404 520/1113/404 -f 524/1117/406 476/1066/405 522/1115/405 -f 491/1081/400 524/1117/406 526/1119/400 -f 527/1121/365 509/1101/384 507/1099/365 -f 528/1122/385 507/1099/365 505/1097/385 -f 529/1123/360 505/1097/385 503/1095/360 -f 530/1124/386 503/1095/360 501/1093/386 -f 531/1125/366 501/1093/386 499/1091/366 -f 532/1126/387 499/1091/366 497/1090/387 -f 533/1127/363 497/1088/387 496/1087/363 -f 534/1128/407 535/1129/408 536/1130/363 -f 534/1131/363 537/1132/409 538/1133/409 -f 535/1129/410 539/1134/411 540/1135/365 -f 537/1132/412 539/1136/365 538/1133/412 -f 539/1134/411 541/1137/413 540/1135/365 -f 542/1138/365 543/1139/414 539/1136/365 -f 541/1140/415 544/1141/416 545/1142/360 -f 546/1143/417 544/1144/360 543/1139/417 -f 544/1141/416 547/1145/418 545/1142/360 -f 548/1146/360 549/1147/419 544/1144/360 -f 547/1145/420 550/1148/421 551/1149/366 -f 552/1150/422 550/1151/366 549/1147/422 -f 550/1148/421 553/1152/423 551/1149/366 -f 554/1153/366 555/1154/424 550/1151/366 -f 553/1155/425 534/1128/407 536/1130/363 -f 556/1156/426 534/1131/363 555/1157/426 -f 553/1158/387 557/1159/363 558/1160/387 -f 559/1161/366 553/1162/387 558/1163/387 -f 547/1164/386 559/1161/366 560/1165/386 -f 545/1166/360 560/1165/386 561/1167/360 -f 541/1168/385 561/1167/360 562/1169/385 -f 540/1170/365 562/1169/385 563/1171/365 -f 535/1172/384 563/1171/365 564/1173/384 -f 536/1174/363 564/1173/384 557/1159/363 -f 565/1175/427 566/1176/428 537/1177/429 -f 566/1176/430 542/1178/431 537/1177/432 -f 542/1178/431 567/1179/433 546/1180/434 -f 567/1181/435 548/1182/436 546/1183/437 -f 548/1182/436 568/1184/438 552/1185/439 -f 568/1184/440 554/1186/441 552/1185/442 -f 554/1186/441 569/1187/443 556/1188/444 -f 569/1189/445 565/1175/427 556/1190/446 -f 570/1191/363 508/1100/384 510/1102/363 -f 519/1192/358 571/1193/358 572/1194/358 -f 573/1195/384 506/1098/365 508/1100/384 -f 570/1196/355 574/1197/355 575/1198/355 -f 576/1199/365 504/1096/385 506/1098/365 -f 570/1196/355 577/1200/355 573/1201/355 -f 578/1202/385 502/1094/360 504/1096/385 -f 579/1203/355 580/1204/355 581/1205/355 -f 582/1206/360 500/1092/386 502/1094/360 -f 559/1207/358 583/1208/358 584/1209/358 -f 585/1210/386 498/1089/366 500/1092/386 -f 519/1192/358 586/1211/358 521/1212/358 -f 587/1213/366 495/1214/387 498/1089/366 -f 587/1215/355 574/1197/355 588/1216/355 -f 588/1217/387 510/1102/363 495/1086/387 -f 579/1203/355 589/1218/355 590/1219/355 -f 591/1220/363 592/1221/384 566/1222/384 -f 560/1223/358 584/1209/358 593/1224/358 -f 592/1221/384 594/1225/365 566/1222/384 -f 521/1212/358 595/1226/358 523/1227/358 -f 596/1228/365 567/1229/385 594/1225/365 -f 585/1230/355 597/1231/355 587/1215/355 -f 598/1232/385 599/1233/360 567/1229/385 -f 598/1234/355 600/1235/355 589/1218/355 -f 579/1236/360 568/1237/386 599/1233/360 -f 561/1238/358 593/1224/358 601/1239/358 -f 581/1240/386 602/1241/366 568/1237/386 -f 523/1227/358 603/1242/358 525/1243/358 -f 604/1244/366 569/1245/387 602/1241/366 -f 582/1246/355 605/1247/355 585/1230/355 -f 606/1248/387 591/1220/363 569/1249/387 -f 596/1250/355 607/1251/355 600/1235/355 -f 608/1252/363 577/1253/447 575/1254/363 -f 609/1255/448 610/1256/449 577/1253/448 -f 611/1257/449 612/1258/450 610/1256/449 -f 613/1259/450 614/1260/360 612/1258/450 -f 601/1261/360 605/1262/451 614/1260/360 -f 593/1263/451 597/1264/452 605/1262/451 -f 584/1265/452 574/1266/453 597/1264/452 -f 583/1267/454 575/1254/363 574/1268/454 -f 615/1269/363 603/1270/447 607/1271/447 -f 603/1270/448 600/1272/449 607/1271/448 -f 595/1273/449 589/1274/450 600/1272/449 -f 586/1275/450 590/1276/360 589/1274/450 -f 572/1277/360 580/1278/451 590/1276/360 -f 571/1279/451 616/1280/452 580/1278/451 -f 616/1280/452 617/1281/453 618/1282/453 -f 617/1283/454 615/1269/363 618/1284/454 -f 557/1285/358 609/1286/358 608/1287/358 -f 557/1285/358 583/1208/358 558/1288/358 -f 581/1205/355 616/1289/355 604/1290/355 -f 576/1291/355 577/1200/355 610/1292/355 -f 517/1293/358 619/1294/358 571/1193/358 -f 563/1295/358 609/1286/358 564/1296/358 -f 604/1290/355 618/1297/355 606/1298/355 -f 578/1299/355 610/1292/355 612/1300/355 -f 515/1301/358 617/1302/358 619/1294/358 -f 562/1303/358 611/1304/358 563/1295/358 -f 620/1305/355 607/1251/355 592/1306/355 -f 620/1305/355 618/1297/355 615/1307/355 -f 582/1246/355 612/1300/355 614/1308/355 -f 512/1309/358 603/1242/358 621/1310/358 -f 512/1309/358 617/1302/358 513/1311/358 -f 561/1238/358 613/1312/358 562/1303/358 -f 622/1313/384 623/1314/365 624/1315/365 -f 625/1316/363 626/1317/384 622/1313/384 -f 627/1318/387 628/1319/363 625/1320/363 -f 629/1321/366 630/1322/387 627/1318/387 -f 631/1323/455 632/1324/456 633/1325/457 -f 633/1325/457 629/1326/458 634/1327/459 -f 634/1327/459 627/1328/460 635/1329/461 -f 635/1329/461 625/1330/462 636/1331/463 -f 636/1331/463 622/1332/464 637/1333/465 -f 638/1334/466 622/1332/464 624/1335/467 -f 638/1334/466 639/1336/468 640/1337/469 -f 640/1337/469 641/1338/470 631/1323/455 -f 642/1339/471 633/1325/457 643/1340/472 -f 643/1340/472 634/1327/459 644/1341/473 -f 644/1341/473 635/1329/461 645/1342/474 -f 645/1342/474 636/1331/463 646/1343/475 -f 646/1343/475 637/1333/465 647/1344/476 -f 648/1345/477 637/1333/465 638/1334/466 -f 648/1345/477 640/1337/469 649/1346/478 -f 642/1339/471 640/1337/469 631/1323/455 -f 650/1347/479 643/1340/472 492/1083/388 -f 651/1348/480 643/1340/472 644/1341/473 -f 651/1348/480 645/1342/474 493/1084/389 -f 652/1349/481 645/1342/474 646/1343/475 -f 652/1349/481 647/1344/476 494/1085/390 -f 494/1085/390 648/1345/477 653/1350/482 -f 653/1350/482 649/1346/478 654/1351/483 -f 650/1347/479 649/1346/478 642/1339/471 -f 655/1352/355 656/1353/355 657/1354/355 -f 657/1354/355 527/1355/355 658/1356/355 -f 658/1356/355 528/1357/355 630/1358/355 -f 630/1358/355 529/1359/355 628/1360/355 -f 628/1361/355 530/1362/355 626/1363/355 -f 623/1364/355 530/1362/355 531/1365/355 -f 623/1364/355 532/1366/355 659/1367/355 -f 655/1368/355 532/1366/355 533/1369/355 -f 624/1315/365 659/1370/385 639/1371/385 -f 639/1371/385 655/1372/360 641/1373/360 -f 641/1373/360 657/1374/386 632/1375/386 -f 632/1375/386 658/1376/366 629/1321/366 -f 656/1377/384 496/1087/363 509/1101/384 -f 660/1378/385 661/1379/365 487/1380/365 -f 487/1380/365 662/1381/384 663/1382/384 -f 663/1382/384 664/1383/363 488/1384/363 -f 488/1384/363 665/1385/387 666/1386/387 -f 667/1387/358 668/1388/358 669/1389/358 -f 670/1390/358 475/1391/358 667/1387/358 -f 665/1392/358 671/1393/358 670/1390/358 -f 664/1394/358 478/1395/358 665/1396/358 -f 662/1397/358 481/1398/358 664/1394/358 -f 661/1399/358 483/1400/358 662/1397/358 -f 672/1401/358 485/1402/358 661/1399/358 -f 669/1389/358 490/1403/358 672/1404/358 -f 673/1405/360 672/1406/385 660/1407/385 -f 674/1408/386 669/1409/360 673/1405/360 -f 489/1410/366 667/1411/386 674/1408/386 -f 666/1386/387 670/1412/366 489/1410/366 -f 668/1413/363 477/1067/384 491/1081/363 -f 475/1065/384 671/1414/365 476/1066/365 -f 476/1066/365 671/1414/365 478/1068/385 -f 478/1068/385 481/1071/360 480/1070/360 -f 481/1071/360 483/1073/386 482/1072/386 -f 483/1073/386 485/1075/366 484/1074/366 -f 485/1075/366 490/1415/387 486/1076/387 -f 489/1079/358 674/1416/358 487/1077/358 -f 674/1416/358 673/1417/358 487/1077/358 -f 673/1417/358 660/1418/358 487/1077/358 -f 487/1077/358 663/1419/358 488/1078/358 -f 488/1078/358 666/1420/358 489/1079/358 -f 490/1080/387 668/1413/363 491/1081/363 -f 654/1351/483 650/1347/479 492/1083/388 -f 492/1083/388 651/1348/480 493/1084/389 -f 493/1084/389 652/1349/481 494/1085/390 -f 494/1085/390 653/1350/482 654/1351/483 -f 654/1351/483 492/1083/388 494/1085/390 -f 495/1086/391 510/1102/392 496/1087/392 -f 498/1089/393 495/1214/391 497/1090/391 -f 500/1092/394 498/1089/393 499/1091/393 -f 502/1094/395 500/1092/394 501/1093/394 -f 504/1096/396 502/1094/395 503/1095/395 -f 506/1098/397 504/1096/396 505/1097/396 -f 508/1100/398 506/1098/397 507/1099/397 -f 510/1102/392 508/1100/398 509/1101/398 -f 511/1103/387 526/1119/363 512/1104/363 -f 514/1106/366 511/1120/387 513/1107/387 -f 516/1109/386 514/1106/366 515/1108/366 -f 518/1111/360 516/1109/386 517/1110/386 -f 520/1113/385 518/1111/360 519/1112/360 -f 522/1115/365 520/1113/385 521/1114/385 -f 524/1117/384 522/1115/365 523/1116/365 -f 526/1119/363 524/1117/384 525/1118/384 -f 486/1082/399 491/1081/400 526/1119/400 -f 484/1074/401 486/1076/399 511/1120/399 -f 482/1072/402 484/1074/401 514/1106/401 -f 480/1070/403 482/1072/402 516/1109/402 -f 520/1113/404 479/1069/404 480/1070/403 -f 522/1115/405 476/1066/405 479/1069/404 -f 524/1117/406 477/1067/406 476/1066/405 -f 491/1081/400 477/1067/406 524/1117/406 -f 527/1121/365 656/1377/384 509/1101/384 -f 528/1122/385 527/1121/365 507/1099/365 -f 529/1123/360 528/1122/385 505/1097/385 -f 530/1124/386 529/1123/360 503/1095/360 -f 531/1125/366 530/1124/386 501/1093/386 -f 532/1126/387 531/1125/366 499/1091/366 -f 533/1127/363 532/1421/387 497/1088/387 -f 534/1128/407 538/1422/484 535/1129/408 -f 534/1131/363 565/1423/363 537/1132/409 -f 535/1129/410 538/1422/485 539/1134/411 -f 537/1132/412 542/1138/365 539/1136/365 -f 539/1134/411 543/1424/486 541/1137/413 -f 542/1138/365 546/1143/414 543/1139/414 -f 541/1140/415 543/1425/487 544/1141/416 -f 546/1143/417 548/1146/360 544/1144/360 -f 544/1141/416 549/1426/488 547/1145/418 -f 548/1146/360 552/1150/419 549/1147/419 -f 547/1145/420 549/1426/489 550/1148/421 -f 552/1150/422 554/1153/366 550/1151/366 -f 550/1148/421 555/1427/490 553/1152/423 -f 554/1153/366 556/1428/424 555/1154/424 -f 553/1155/425 555/1429/491 534/1128/407 -f 556/1156/426 565/1423/363 534/1131/363 -f 553/1158/387 536/1174/363 557/1159/363 -f 559/1161/366 551/1430/366 553/1162/387 -f 547/1164/386 551/1430/366 559/1161/366 -f 545/1166/360 547/1164/386 560/1165/386 -f 541/1168/385 545/1166/360 561/1167/360 -f 540/1170/365 541/1168/385 562/1169/385 -f 535/1172/384 540/1170/365 563/1171/365 -f 536/1174/363 535/1172/384 564/1173/384 -f 565/1175/427 591/1431/363 566/1176/428 -f 566/1176/430 594/1432/365 542/1178/431 -f 542/1178/431 594/1432/365 567/1179/433 -f 567/1181/435 599/1433/360 548/1182/436 -f 548/1182/436 599/1433/360 568/1184/438 -f 568/1184/440 602/1434/366 554/1186/441 -f 554/1186/441 602/1434/366 569/1187/443 -f 569/1189/445 591/1431/363 565/1175/427 -f 570/1191/363 573/1195/384 508/1100/384 -f 519/1192/358 517/1293/358 571/1193/358 -f 573/1195/384 576/1199/365 506/1098/365 -f 570/1196/355 588/1216/355 574/1197/355 -f 576/1199/365 578/1202/385 504/1096/385 -f 570/1196/355 575/1198/355 577/1200/355 -f 578/1202/385 582/1206/360 502/1094/360 -f 579/1203/355 590/1219/355 580/1204/355 -f 582/1206/360 585/1210/386 500/1092/386 -f 559/1207/358 558/1288/358 583/1208/358 -f 585/1210/386 587/1213/366 498/1089/366 -f 519/1192/358 572/1194/358 586/1211/358 -f 587/1213/366 588/1435/387 495/1214/387 -f 587/1215/355 597/1231/355 574/1197/355 -f 588/1217/387 570/1191/363 510/1102/363 -f 579/1203/355 598/1234/355 589/1218/355 -f 591/1220/363 620/1436/363 592/1221/384 -f 560/1223/358 559/1207/358 584/1209/358 -f 592/1221/384 596/1228/365 594/1225/365 -f 521/1212/358 586/1211/358 595/1226/358 -f 596/1228/365 598/1232/385 567/1229/385 -f 585/1230/355 605/1247/355 597/1231/355 -f 598/1232/385 579/1236/360 599/1233/360 -f 598/1234/355 596/1250/355 600/1235/355 -f 579/1236/360 581/1240/386 568/1237/386 -f 561/1238/358 560/1223/358 593/1224/358 -f 581/1240/386 604/1244/366 602/1241/366 -f 523/1227/358 595/1226/358 603/1242/358 -f 604/1244/366 606/1437/387 569/1245/387 -f 582/1246/355 614/1308/355 605/1247/355 -f 606/1248/387 620/1436/363 591/1220/363 -f 596/1250/355 592/1306/355 607/1251/355 -f 608/1252/363 609/1255/447 577/1253/447 -f 609/1255/448 611/1257/449 610/1256/449 -f 611/1257/449 613/1259/450 612/1258/450 -f 613/1259/450 601/1261/360 614/1260/360 -f 601/1261/360 593/1263/451 605/1262/451 -f 593/1263/451 584/1265/452 597/1264/452 -f 584/1265/452 583/1438/453 574/1266/453 -f 583/1267/454 608/1252/363 575/1254/363 -f 615/1269/363 621/1439/363 603/1270/447 -f 603/1270/448 595/1273/449 600/1272/449 -f 595/1273/449 586/1275/450 589/1274/450 -f 586/1275/450 572/1277/360 590/1276/360 -f 572/1277/360 571/1279/451 580/1278/451 -f 571/1279/451 619/1440/452 616/1280/452 -f 616/1280/452 619/1440/452 617/1281/453 -f 617/1283/454 621/1439/363 615/1269/363 -f 557/1285/358 564/1296/358 609/1286/358 -f 557/1285/358 608/1287/358 583/1208/358 -f 581/1205/355 580/1204/355 616/1289/355 -f 576/1291/355 573/1201/355 577/1200/355 -f 517/1293/358 515/1301/358 619/1294/358 -f 563/1295/358 611/1304/358 609/1286/358 -f 604/1290/355 616/1289/355 618/1297/355 -f 578/1299/355 576/1291/355 610/1292/355 -f 515/1301/358 513/1311/358 617/1302/358 -f 562/1303/358 613/1312/358 611/1304/358 -f 620/1305/355 615/1307/355 607/1251/355 -f 620/1305/355 606/1298/355 618/1297/355 -f 582/1246/355 578/1299/355 612/1300/355 -f 512/1309/358 525/1243/358 603/1242/358 -f 512/1309/358 621/1310/358 617/1302/358 -f 561/1238/358 601/1239/358 613/1312/358 -f 622/1313/384 626/1317/384 623/1314/365 -f 625/1316/363 628/1441/363 626/1317/384 -f 627/1318/387 630/1322/387 628/1319/363 -f 629/1321/366 658/1376/366 630/1322/387 -f 631/1323/455 641/1338/470 632/1324/456 -f 633/1325/457 632/1324/456 629/1326/458 -f 634/1327/459 629/1326/458 627/1328/460 -f 635/1329/461 627/1328/460 625/1330/462 -f 636/1331/463 625/1330/462 622/1332/464 -f 638/1334/466 637/1333/465 622/1332/464 -f 638/1334/466 624/1335/467 639/1336/468 -f 640/1337/469 639/1336/468 641/1338/470 -f 642/1339/471 631/1323/455 633/1325/457 -f 643/1340/472 633/1325/457 634/1327/459 -f 644/1341/473 634/1327/459 635/1329/461 -f 645/1342/474 635/1329/461 636/1331/463 -f 646/1343/475 636/1331/463 637/1333/465 -f 648/1345/477 647/1344/476 637/1333/465 -f 648/1345/477 638/1334/466 640/1337/469 -f 642/1339/471 649/1346/478 640/1337/469 -f 650/1347/479 642/1339/471 643/1340/472 -f 651/1348/480 492/1083/388 643/1340/472 -f 651/1348/480 644/1341/473 645/1342/474 -f 652/1349/481 493/1084/389 645/1342/474 -f 652/1349/481 646/1343/475 647/1344/476 -f 494/1085/390 647/1344/476 648/1345/477 -f 653/1350/482 648/1345/477 649/1346/478 -f 650/1347/479 654/1351/483 649/1346/478 -f 655/1352/355 533/1442/355 656/1353/355 -f 657/1354/355 656/1353/355 527/1355/355 -f 658/1356/355 527/1355/355 528/1357/355 -f 630/1358/355 528/1357/355 529/1359/355 -f 628/1361/355 529/1443/355 530/1362/355 -f 623/1364/355 626/1363/355 530/1362/355 -f 623/1364/355 531/1365/355 532/1366/355 -f 655/1368/355 659/1367/355 532/1366/355 -f 624/1315/365 623/1314/365 659/1370/385 -f 639/1371/385 659/1370/385 655/1372/360 -f 641/1373/360 655/1372/360 657/1374/386 -f 632/1375/386 657/1374/386 658/1376/366 -f 656/1377/384 533/1127/363 496/1087/363 -f 660/1378/385 672/1444/385 661/1379/365 -f 487/1380/365 661/1379/365 662/1381/384 -f 663/1382/384 662/1381/384 664/1383/363 -f 488/1384/363 664/1383/363 665/1385/387 -f 667/1387/358 475/1391/358 668/1388/358 -f 670/1390/358 671/1393/358 475/1391/358 -f 665/1392/358 478/1445/358 671/1393/358 -f 664/1394/358 481/1398/358 478/1395/358 -f 662/1397/358 483/1400/358 481/1398/358 -f 661/1399/358 485/1402/358 483/1400/358 -f 672/1401/358 490/1446/358 485/1402/358 -f 669/1389/358 668/1388/358 490/1403/358 -f 673/1405/360 669/1409/360 672/1406/385 -f 674/1408/386 667/1411/386 669/1409/360 -f 489/1410/366 670/1412/366 667/1411/386 -f 666/1386/387 665/1385/387 670/1412/366 -f 668/1413/363 475/1065/384 477/1067/384 diff --git a/src/main/resources/assets/hbm/models/weapons/panzerschreck.obj b/src/main/resources/assets/hbm/models/weapons/panzerschreck.obj index 1686f3b41..150595f9b 100644 --- a/src/main/resources/assets/hbm/models/weapons/panzerschreck.obj +++ b/src/main/resources/assets/hbm/models/weapons/panzerschreck.obj @@ -1,6 +1,1521 @@ # Blender v2.79 (sub 0) OBJ File: 'panzerschreck.blend' # www.blender.org -o Cylinder +o Shield +v -0.500000 -1.500000 1.687500 +v 2.500000 -1.500000 1.687500 +v -0.500000 1.500000 1.687500 +v 2.500000 1.500000 1.687500 +v 0.500000 -2.000000 1.687500 +v 1.500000 -2.000000 1.687500 +v 1.500000 2.000000 1.687500 +v 0.500000 2.000000 1.687500 +v -0.500000 0.500000 1.687500 +v -0.500000 -0.500000 1.687500 +v 0.500000 0.500000 1.687500 +v 0.500000 -0.500000 1.687500 +v -0.500000 -0.500000 1.812500 +v -0.500000 -1.500000 1.812500 +v 1.500000 -2.000000 1.812500 +v 2.500000 -1.500000 1.812500 +v 2.500000 1.500000 1.812500 +v 0.500000 2.000000 1.812500 +v -0.500000 1.500000 1.812500 +v 0.500000 -2.000000 1.812500 +v 1.500000 2.000000 1.812500 +v -0.500000 0.500000 1.812500 +v 0.500000 0.500000 1.812500 +v 0.500000 -0.500000 1.812500 +v 0.375000 0.625000 1.687500 +v 1.125000 0.625000 1.687500 +v 0.375000 1.375000 1.687500 +v 1.125000 1.375000 1.687500 +v 0.375000 1.375000 1.812500 +v 0.375000 0.625000 1.812500 +v 1.125000 0.625000 1.812500 +v 1.125000 1.375000 1.812500 +vt 0.179612 0.909091 +vt 0.165049 0.984848 +vt 0.126214 0.924242 +vt 0.208738 0.818182 +vt 0.179612 0.833333 +vt 0.179612 0.818182 +vt 0.242718 0.681818 +vt 0.203883 0.696970 +vt 0.203883 0.681818 +vt -0.000000 0.560606 +vt 0.004854 0.681818 +vt -0.000000 0.681818 +vt 0.043689 1.000000 +vt 0.082524 0.984848 +vt 0.082524 1.000000 +vt 0.043689 0.484848 +vt 0.004854 0.500000 +vt 0.004854 0.484848 +vt 0.038835 0.681818 +vt 0.043689 0.803030 +vt 0.038835 0.803030 +vt 0.121359 0.484848 +vt 0.082524 0.500000 +vt 0.082524 0.484848 +vt -0.000000 0.803030 +vt 0.004854 0.924242 +vt 0.000000 0.924242 +vt 0.043689 0.500000 +vt 0.121359 0.560606 +vt 0.126214 0.560606 +vt 0.203883 0.803030 +vt 0.242718 0.787879 +vt 0.242718 0.803030 +vt 0.121359 0.984848 +vt 0.121359 1.000000 +vt 0.004854 1.000000 +vt 0.043689 0.984848 +vt 0.063107 0.818182 +vt 0.067961 0.909091 +vt 0.063107 0.909091 +vt 0.121359 0.924242 +vt 0.067961 0.818182 +vt 0.203883 0.984848 +vt 0.208738 0.909091 +vt 0.004854 0.803030 +vt 0.038835 0.818182 +vt 0.242718 0.924242 +vt 0.043689 0.681818 +vt 0.203883 0.500000 +vt 0.242718 0.560606 +vt 0.043689 0.909091 +vt 0.043689 0.818182 +vt 0.208738 0.893939 +vt 0.208738 0.833333 +vt 0.242718 0.696970 +vt 0.004854 0.560606 +vt 0.121359 0.500000 +vt 0.203883 0.787879 +vt 0.004854 0.984848 +vt 0.038835 0.909091 +vt 0.165049 0.500000 +vt 0.179612 0.893939 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.4472 -0.8944 0.0000 +vn 0.4472 -0.8944 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.4472 0.8944 0.0000 +vn -0.4472 0.8944 0.0000 +vn 0.0000 0.0000 1.0000 +s off +f 28/1/1 7/2/1 4/3/1 +f 25/4/2 31/5/2 26/6/2 +f 10/7/2 24/8/2 12/9/2 +f 1/10/3 13/11/3 10/12/3 +f 8/13/2 21/14/2 7/15/2 +f 5/16/4 14/17/4 1/18/4 +f 12/19/3 23/20/3 11/21/3 +f 2/22/5 15/23/5 6/24/5 +f 9/25/3 19/26/3 3/27/3 +f 6/24/6 20/28/6 5/16/6 +f 4/3/7 16/29/7 2/30/7 +f 11/31/6 22/32/6 9/33/6 +f 7/15/8 17/34/8 4/35/8 +f 3/36/9 18/37/9 8/13/9 +f 26/38/3 32/39/3 28/40/3 +f 17/41/10 32/39/10 31/42/10 +f 8/43/1 28/1/1 27/44/1 +f 18/37/10 32/39/10 21/14/10 +f 19/26/10 22/45/10 30/46/10 +f 25/4/1 9/33/1 3/47/1 +f 23/20/10 24/48/10 31/42/10 +f 11/31/1 25/4/1 26/6/1 +f 20/28/10 15/23/10 24/48/10 +f 12/9/1 5/49/1 1/50/1 +f 27/51/7 30/46/7 25/52/7 +f 28/1/6 29/53/6 27/44/6 +f 4/3/1 2/30/1 26/6/1 +f 26/6/1 28/1/1 4/3/1 +f 25/4/2 30/54/2 31/5/2 +f 10/7/2 13/55/2 24/8/2 +f 1/10/3 14/56/3 13/11/3 +f 8/13/2 18/37/2 21/14/2 +f 5/16/4 20/28/4 14/17/4 +f 12/19/3 24/48/3 23/20/3 +f 2/22/5 16/57/5 15/23/5 +f 9/25/3 22/45/3 19/26/3 +f 6/24/6 15/23/6 20/28/6 +f 4/3/7 17/41/7 16/29/7 +f 11/31/6 23/58/6 22/32/6 +f 7/15/8 21/14/8 17/34/8 +f 3/36/9 19/59/9 18/37/9 +f 26/38/3 31/42/3 32/39/3 +f 31/42/10 16/29/10 17/41/10 +f 17/41/10 21/14/10 32/39/10 +f 8/43/1 7/2/1 28/1/1 +f 18/37/10 29/60/10 32/39/10 +f 29/60/10 18/37/10 19/26/10 +f 22/45/10 23/20/10 30/46/10 +f 30/46/10 29/60/10 19/26/10 +f 3/47/1 8/43/1 27/44/1 +f 25/4/1 11/31/1 9/33/1 +f 3/47/1 27/44/1 25/4/1 +f 15/23/10 16/29/10 24/48/10 +f 16/29/10 31/42/10 24/48/10 +f 31/42/10 30/46/10 23/20/10 +f 26/6/1 2/30/1 12/9/1 +f 2/30/1 6/61/1 12/9/1 +f 12/9/1 11/31/1 26/6/1 +f 24/48/10 13/11/10 14/56/10 +f 14/56/10 20/28/10 24/48/10 +f 1/50/1 10/7/1 12/9/1 +f 12/9/1 6/61/1 5/49/1 +f 27/51/7 29/60/7 30/46/7 +f 28/1/6 32/62/6 29/53/6 +o Rocket +v 0.000000 0.437500 -6.375000 +v -0.167424 0.404197 -6.375000 +v -0.309359 0.309359 -6.375000 +v -0.404197 0.167424 -6.375000 +v -0.437500 -0.000000 -6.375000 +v -0.404197 -0.167424 -6.375000 +v -0.309359 -0.309359 -6.375000 +v -0.167424 -0.404197 -6.375000 +v 0.000000 -0.437500 -6.375000 +v 0.167424 -0.404197 -6.375000 +v 0.309359 -0.309360 -6.375000 +v 0.404197 -0.167424 -6.375000 +v 0.437500 -0.000000 -6.375000 +v 0.404197 0.167424 -6.375000 +v 0.309359 0.309359 -6.375000 +v 0.167424 0.404197 -6.375000 +v 0.000000 0.437500 -5.750000 +v -0.167424 0.404197 -5.750000 +v -0.309359 0.309359 -5.750000 +v -0.404197 0.167424 -5.750000 +v -0.437500 -0.000000 -5.750000 +v -0.404197 -0.167424 -5.750000 +v -0.309359 -0.309359 -5.750000 +v -0.167424 -0.404197 -5.750000 +v 0.000000 -0.437500 -5.750000 +v 0.167424 -0.404197 -5.750000 +v 0.309359 -0.309360 -5.750000 +v 0.404197 -0.167424 -5.750000 +v 0.437500 -0.000000 -5.750000 +v 0.404197 0.167424 -5.750000 +v 0.309359 0.309359 -5.750000 +v 0.167424 0.404197 -5.750000 +v 0.000000 0.375000 -6.375000 +v -0.143507 0.346455 -6.375000 +v -0.265165 0.265165 -6.375000 +v -0.346455 0.143506 -6.375000 +v -0.375000 0.000000 -6.375000 +v -0.346455 -0.143507 -6.375000 +v -0.265165 -0.265165 -6.375000 +v -0.143507 -0.346455 -6.375000 +v 0.000000 -0.375000 -6.375000 +v 0.143506 -0.346455 -6.375000 +v 0.265165 -0.265165 -6.375000 +v 0.346455 -0.143507 -6.375000 +v 0.375000 0.000000 -6.375000 +v 0.346455 0.143507 -6.375000 +v 0.265165 0.265165 -6.375000 +v 0.143506 0.346455 -6.375000 +v 0.000000 0.375000 -5.750000 +v -0.143507 0.346455 -5.750000 +v -0.265165 0.265165 -5.750000 +v -0.346455 0.143506 -5.750000 +v -0.375000 0.000000 -5.750000 +v -0.346455 -0.143507 -5.750000 +v -0.265165 -0.265165 -5.750000 +v -0.143507 -0.346455 -5.750000 +v 0.000000 -0.375000 -5.750000 +v 0.143506 -0.346455 -5.750000 +v 0.265165 -0.265165 -5.750000 +v 0.346455 -0.143507 -5.750000 +v 0.375000 0.000000 -5.750000 +v 0.346455 0.143507 -5.750000 +v 0.265165 0.265165 -5.750000 +v 0.143506 0.346455 -5.750000 +v 0.000000 0.250000 -6.375000 +v -0.095671 0.230970 -6.375000 +v -0.176777 0.176777 -6.375000 +v -0.230970 0.095671 -6.375000 +v -0.250000 -0.000000 -6.375000 +v -0.230970 -0.095671 -6.375000 +v -0.176777 -0.176777 -6.375000 +v -0.095671 -0.230970 -6.375000 +v 0.000000 -0.250000 -6.375000 +v 0.095671 -0.230970 -6.375000 +v 0.176776 -0.176777 -6.375000 +v 0.230970 -0.095671 -6.375000 +v 0.250000 -0.000000 -6.375000 +v 0.230970 0.095671 -6.375000 +v 0.176776 0.176777 -6.375000 +v 0.095671 0.230970 -6.375000 +v -0.095671 0.230972 -3.375000 +v 0.000000 0.250002 -3.375000 +v -0.176777 0.176779 -3.375000 +v -0.230970 0.095673 -3.375000 +v -0.250000 0.000002 -3.375000 +v -0.230970 -0.095669 -3.375000 +v -0.176777 -0.176775 -3.375000 +v -0.095671 -0.230968 -3.375000 +v 0.000000 -0.249998 -3.375000 +v 0.095671 -0.230968 -3.375000 +v 0.176776 -0.176775 -3.375000 +v 0.230970 -0.095669 -3.375000 +v 0.250000 0.000002 -3.375000 +v 0.230970 0.095673 -3.375000 +v 0.176776 0.176779 -3.375000 +v 0.095671 0.230972 -3.375000 +v -0.031250 0.406250 -5.750000 +v 0.031250 0.406250 -5.750000 +v -0.031250 0.406250 -6.250000 +v 0.031250 0.406250 -6.250000 +v -0.031250 0.218750 -5.250000 +v 0.031250 0.218750 -5.250000 +v -0.031250 0.218750 -6.250000 +v 0.031250 0.218750 -6.250000 +v 0.000000 0.437500 -2.250000 +v -0.167424 0.404197 -2.250000 +v -0.309359 0.309359 -2.250000 +v -0.404197 0.167424 -2.250000 +v -0.437500 -0.000000 -2.250000 +v -0.404197 -0.167424 -2.250000 +v -0.309359 -0.309359 -2.250000 +v -0.167424 -0.404197 -2.250000 +v 0.000000 -0.437500 -2.250000 +v 0.167424 -0.404197 -2.250000 +v 0.309359 -0.309360 -2.250000 +v 0.404197 -0.167424 -2.250000 +v 0.437500 -0.000000 -2.250000 +v 0.404197 0.167424 -2.250000 +v 0.309359 0.309359 -2.250000 +v 0.167424 0.404197 -2.250000 +v 0.000000 0.437500 -1.624000 +v -0.167424 0.404197 -1.624000 +v -0.309359 0.309359 -1.624000 +v -0.404197 0.167424 -1.624000 +v -0.437500 -0.000000 -1.624000 +v -0.404197 -0.167424 -1.624000 +v -0.309359 -0.309359 -1.624000 +v -0.167424 -0.404197 -1.624000 +v 0.000000 -0.437500 -1.624000 +v 0.167424 -0.404197 -1.624000 +v 0.309359 -0.309360 -1.624000 +v 0.404197 -0.167424 -1.624000 +v 0.437500 -0.000000 -1.624000 +v 0.404197 0.167424 -1.624000 +v 0.309359 0.309359 -1.624000 +v 0.167424 0.404197 -1.624000 +v 0.000000 0.375000 -1.624000 +v -0.143507 0.346455 -1.624000 +v -0.265165 0.265165 -1.624000 +v -0.346455 0.143506 -1.624000 +v -0.375000 0.000000 -1.624000 +v -0.346455 -0.143506 -1.624000 +v -0.265165 -0.265165 -1.624000 +v -0.143507 -0.346455 -1.624000 +v 0.000000 -0.375000 -1.624000 +v 0.143506 -0.346455 -1.624000 +v 0.265165 -0.265165 -1.624000 +v 0.346455 -0.143506 -1.624000 +v 0.375000 0.000000 -1.624000 +v 0.346455 0.143506 -1.624000 +v 0.265165 0.265165 -1.624000 +v 0.143506 0.346455 -1.624000 +v 0.000000 0.187500 -1.124000 +v -0.071754 0.173228 -1.124000 +v -0.132583 0.132583 -1.124000 +v -0.173227 0.071753 -1.124000 +v -0.187500 0.000000 -1.124000 +v -0.173227 -0.071753 -1.124000 +v -0.132583 -0.132582 -1.124000 +v -0.071754 -0.173227 -1.124000 +v 0.000000 -0.187500 -1.124000 +v 0.071753 -0.173227 -1.124000 +v 0.132582 -0.132582 -1.124000 +v 0.173227 -0.071753 -1.124000 +v 0.187500 0.000000 -1.124000 +v 0.173227 0.071753 -1.124000 +v 0.132582 0.132583 -1.124000 +v 0.071753 0.173228 -1.124000 +v 0.000000 0.187500 -0.624000 +v -0.071754 0.173228 -0.624000 +v -0.132583 0.132583 -0.624000 +v -0.173227 0.071753 -0.624000 +v -0.187500 0.000000 -0.624000 +v -0.173227 -0.071753 -0.624000 +v -0.132583 -0.132582 -0.624000 +v -0.071754 -0.173227 -0.624000 +v 0.000000 -0.187500 -0.624000 +v 0.071753 -0.173227 -0.624000 +v 0.132582 -0.132582 -0.624000 +v 0.173227 -0.071753 -0.624000 +v 0.187500 0.000000 -0.624000 +v 0.173227 0.071753 -0.624000 +v 0.132582 0.132583 -0.624000 +v 0.071753 0.173228 -0.624000 +v 0.000000 0.125000 -0.499000 +v -0.047836 0.115485 -0.499000 +v -0.088388 0.088389 -0.499000 +v -0.115485 0.047836 -0.499000 +v -0.125000 0.000000 -0.499000 +v -0.115485 -0.047835 -0.499000 +v -0.088388 -0.088388 -0.499000 +v -0.047836 -0.115485 -0.499000 +v 0.000000 -0.125000 -0.499000 +v 0.047835 -0.115485 -0.499000 +v 0.088388 -0.088388 -0.499000 +v 0.115485 -0.047835 -0.499000 +v 0.125000 0.000000 -0.499000 +v 0.115485 0.047836 -0.499000 +v 0.088388 0.088389 -0.499000 +v 0.047835 0.115485 -0.499000 +v -0.095671 0.230972 -2.875000 +v 0.000000 0.250002 -2.875000 +v -0.176777 0.176779 -2.875000 +v -0.230970 0.095673 -2.875000 +v -0.250000 0.000002 -2.875000 +v -0.230970 -0.095669 -2.875000 +v -0.176777 -0.176775 -2.875000 +v -0.095671 -0.230968 -2.875000 +v 0.000000 -0.249998 -2.875000 +v 0.095671 -0.230968 -2.875000 +v 0.176776 -0.176775 -2.875000 +v 0.230970 -0.095669 -2.875000 +v 0.250000 0.000002 -2.875000 +v 0.230970 0.095673 -2.875000 +v 0.176776 0.176779 -2.875000 +v 0.095671 0.230972 -2.875000 +v 0.000000 0.187500 -3.374000 +v -0.071754 0.173228 -3.374000 +v -0.132583 0.132583 -3.374000 +v -0.173227 0.071753 -3.374000 +v -0.187500 0.000000 -3.374000 +v -0.173227 -0.071753 -3.374000 +v -0.132583 -0.132582 -3.374000 +v -0.071754 -0.173227 -3.374000 +v 0.000000 -0.187500 -3.374000 +v 0.071753 -0.173227 -3.374000 +v 0.132582 -0.132582 -3.374000 +v 0.173227 -0.071753 -3.374000 +v 0.187500 0.000000 -3.374000 +v 0.173227 0.071753 -3.374000 +v 0.132582 0.132583 -3.374000 +v 0.071753 0.173228 -3.374000 +v 0.000000 0.187500 -2.874000 +v -0.071754 0.173228 -2.874000 +v -0.132583 0.132583 -2.874000 +v -0.173227 0.071753 -2.874000 +v -0.187500 0.000000 -2.874000 +v -0.173227 -0.071753 -2.874000 +v -0.132583 -0.132582 -2.874000 +v -0.071754 -0.173227 -2.874000 +v 0.000000 -0.187500 -2.874000 +v 0.071753 -0.173227 -2.874000 +v 0.132582 -0.132582 -2.874000 +v 0.173227 -0.071753 -2.874000 +v 0.187500 0.000000 -2.874000 +v 0.173227 0.071753 -2.874000 +v 0.132582 0.132583 -2.874000 +v 0.071753 0.173228 -2.874000 +v 0.031250 -0.406250 -5.750000 +v -0.031250 -0.406250 -5.750000 +v 0.031250 -0.406250 -6.250000 +v -0.031250 -0.406250 -6.250000 +v 0.031250 -0.218750 -5.250000 +v -0.031250 -0.218750 -5.250000 +v 0.031250 -0.218750 -6.250000 +v -0.031250 -0.218750 -6.250000 +v 0.406250 0.031250 -5.750000 +v 0.406250 -0.031250 -5.750000 +v 0.406250 0.031250 -6.250000 +v 0.406250 -0.031250 -6.250000 +v 0.218750 0.031250 -5.250000 +v 0.218750 -0.031250 -5.250000 +v 0.218750 0.031250 -6.250000 +v 0.218750 -0.031250 -6.250000 +v -0.406250 -0.031250 -5.750000 +v -0.406250 0.031250 -5.750000 +v -0.406250 -0.031250 -6.250000 +v -0.406250 0.031250 -6.250000 +v -0.218750 -0.031250 -5.250000 +v -0.218750 0.031250 -5.250000 +v -0.218750 -0.031250 -6.250000 +v -0.218750 0.031250 -6.250000 +v 0.265165 0.309359 -5.750000 +v 0.309359 0.265165 -5.750000 +v 0.265165 0.309359 -6.250000 +v 0.309359 0.265165 -6.250000 +v 0.132583 0.176777 -5.250000 +v 0.176777 0.132582 -5.250000 +v 0.132583 0.176777 -6.250000 +v 0.176777 0.132582 -6.250000 +v -0.265165 -0.309359 -5.750000 +v -0.309359 -0.265165 -5.750000 +v -0.265165 -0.309359 -6.250000 +v -0.309359 -0.265165 -6.250000 +v -0.132583 -0.176777 -5.250000 +v -0.176777 -0.132583 -5.250000 +v -0.132583 -0.176777 -6.250000 +v -0.176777 -0.132583 -6.250000 +v 0.309359 -0.265165 -5.750000 +v 0.265165 -0.309359 -5.750000 +v 0.309359 -0.265165 -6.250000 +v 0.265165 -0.309359 -6.250000 +v 0.176777 -0.132583 -5.250000 +v 0.132583 -0.176777 -5.250000 +v 0.176777 -0.132583 -6.250000 +v 0.132583 -0.176777 -6.250000 +v -0.309359 0.265165 -5.750000 +v -0.265165 0.309359 -5.750000 +v -0.309359 0.265165 -6.250000 +v -0.265165 0.309359 -6.250000 +v -0.176777 0.132582 -5.250000 +v -0.132583 0.176777 -5.250000 +v -0.176777 0.132582 -6.250000 +v -0.132583 0.176777 -6.250000 +vt 0.951456 0.818182 +vt 0.946602 0.833333 +vt 0.946602 0.818182 +vt 0.951456 0.833333 +vt 0.946602 0.848485 +vt 0.951456 0.848485 +vt 0.946602 0.863636 +vt 0.951456 0.878788 +vt 0.946602 0.878788 +vt 0.946602 0.893939 +vt 0.951456 0.893939 +vt 0.946602 0.909091 +vt 0.951456 0.924242 +vt 0.946602 0.924242 +vt 0.951456 0.939394 +vt 0.946602 0.939394 +vt 0.951456 0.954545 +vt 0.946602 0.954545 +vt 0.951456 0.969697 +vt 0.946602 0.969697 +vt 0.951456 0.984848 +vt 0.946602 0.984848 +vt 0.951456 1.000000 +vt 0.946602 1.000000 +vt 0.951456 0.757576 +vt 0.946602 0.772727 +vt 0.946602 0.757576 +vt 0.951456 0.772727 +vt 0.946602 0.787879 +vt 0.951456 0.787879 +vt 0.946602 0.803030 +vt 0.951456 0.803030 +vt 0.932039 0.848485 +vt 0.927184 0.833333 +vt 0.932039 0.833333 +vt 0.932039 0.863636 +vt 0.927184 0.848485 +vt 0.927184 0.878788 +vt 0.927184 0.863636 +vt 0.932039 0.893939 +vt 0.932039 0.878788 +vt 0.932039 0.909091 +vt 0.927184 0.893939 +vt 0.927184 0.924242 +vt 0.927184 0.909091 +vt 0.932039 0.924242 +vt 0.927184 0.939394 +vt 0.932039 0.939394 +vt 0.927184 0.954545 +vt 0.932039 0.954545 +vt 0.927184 0.969697 +vt 0.932039 0.969697 +vt 0.927184 0.984848 +vt 0.932039 0.984848 +vt 0.927184 1.000000 +vt 0.932039 0.772727 +vt 0.927184 0.757576 +vt 0.932039 0.757576 +vt 0.932039 0.787879 +vt 0.927184 0.772727 +vt 0.932039 0.803030 +vt 0.927184 0.787879 +vt 0.932039 0.818182 +vt 0.927184 0.803030 +vt 0.927184 0.818182 +vt 0.970863 0.924242 +vt 0.968023 0.945646 +vt 0.954307 0.902838 +vt 0.970874 0.863636 +vt 0.951456 0.848485 +vt 0.970874 0.848485 +vt 0.990291 0.848485 +vt 1.000000 0.863636 +vt 0.990291 0.863636 +vt 0.990291 0.818182 +vt 0.990291 0.893939 +vt 0.970874 0.863636 +vt 0.951456 0.848485 +vt 0.970874 0.848485 +vt 0.718447 0.833333 +vt 0.713592 0.818182 +vt 0.718447 0.818182 +vt 0.718447 0.848485 +vt 0.713592 0.833333 +vt 0.718447 0.863636 +vt 0.713592 0.848485 +vt 0.718447 0.878788 +vt 0.713592 0.863636 +vt 0.713592 0.893939 +vt 0.713592 0.878788 +vt 0.718447 0.893939 +vt 0.713592 0.909091 +vt 0.718447 0.909091 +vt 0.713592 0.924242 +vt 0.718447 0.924242 +vt 0.713592 0.939394 +vt 0.718447 0.939394 +vt 0.713592 0.954545 +vt 0.718447 0.954545 +vt 0.713592 0.969697 +vt 0.718447 0.969697 +vt 0.713592 0.984848 +vt 0.718447 0.984848 +vt 0.713592 1.000000 +vt 0.718447 0.772727 +vt 0.713592 0.757576 +vt 0.718447 0.757576 +vt 0.718447 0.787879 +vt 0.713592 0.772727 +vt 0.718447 0.803030 +vt 0.713592 0.787879 +vt 0.713592 0.803030 +vt 0.951467 0.969697 +vt 0.956311 0.954577 +vt 0.961155 0.969697 +vt 0.796117 0.818182 +vt 0.791262 0.833333 +vt 0.791262 0.818182 +vt 0.796117 0.833333 +vt 0.791262 0.848485 +vt 0.796117 0.848485 +vt 0.791262 0.863636 +vt 0.796117 0.863636 +vt 0.791262 0.878788 +vt 0.796117 0.893939 +vt 0.796117 0.878788 +vt 0.796117 0.909091 +vt 0.791262 0.893939 +vt 0.796117 0.924242 +vt 0.791262 0.909091 +vt 0.796117 0.939394 +vt 0.791262 0.924242 +vt 0.796117 0.954545 +vt 0.791262 0.939394 +vt 0.796117 0.969697 +vt 0.791262 0.954545 +vt 0.796117 0.984848 +vt 0.791262 0.969697 +vt 0.796117 1.000000 +vt 0.791262 0.984848 +vt 0.796117 0.757576 +vt 0.791262 0.772727 +vt 0.791262 0.757576 +vt 0.796117 0.772727 +vt 0.791262 0.787879 +vt 0.796117 0.787879 +vt 0.791262 0.803030 +vt 0.796117 0.803030 +vt 0.766990 0.833333 +vt 0.771845 0.848485 +vt 0.766990 0.848485 +vt 0.771845 0.863636 +vt 0.766990 0.863636 +vt 0.771845 0.878788 +vt 0.766990 0.878788 +vt 0.766990 0.893939 +vt 0.771845 0.893939 +vt 0.766990 0.909091 +vt 0.771845 0.909091 +vt 0.766990 0.924242 +vt 0.771845 0.924242 +vt 0.766990 0.939394 +vt 0.771845 0.939394 +vt 0.766990 0.954545 +vt 0.771845 0.954545 +vt 0.766990 0.969697 +vt 0.771845 0.969697 +vt 0.766990 0.984848 +vt 0.771845 0.984848 +vt 0.766990 1.000000 +vt 0.766990 0.757576 +vt 0.771845 0.772727 +vt 0.766990 0.772727 +vt 0.771845 0.787879 +vt 0.766990 0.787879 +vt 0.771845 0.803030 +vt 0.766990 0.803030 +vt 0.771845 0.818182 +vt 0.766990 0.818182 +vt 0.771845 0.833333 +vt 0.990291 0.848485 +vt 1.000000 0.863636 +vt 0.990291 0.863636 +vt 0.990291 0.818182 +vt 0.990291 0.893939 +vt 0.970874 0.863636 +vt 0.951456 0.848485 +vt 0.970874 0.848485 +vt 0.990291 0.848485 +vt 1.000000 0.863636 +vt 0.990291 0.863636 +vt 0.990291 0.818182 +vt 0.990291 0.893939 +vt 0.970874 0.863636 +vt 0.951456 0.848485 +vt 0.970874 0.848485 +vt 0.990291 0.848485 +vt 1.000000 0.863636 +vt 0.990291 0.863636 +vt 0.990291 0.818182 +vt 0.990291 0.893939 +vt 0.970874 0.863636 +vt 0.951456 0.848485 +vt 0.970874 0.848485 +vt 0.990291 0.863636 +vt 1.000000 0.848485 +vt 1.000000 0.863636 +vt 0.990291 0.818182 +vt 0.990291 0.848485 +vt 0.990291 0.893939 +vt 0.970874 0.863636 +vt 0.951456 0.848485 +vt 0.970874 0.848485 +vt 0.990291 0.848485 +vt 1.000000 0.863636 +vt 0.990291 0.863636 +vt 0.990291 0.818182 +vt 0.990291 0.893939 +vt 0.970874 0.848485 +vt 0.951456 0.863636 +vt 0.951456 0.848485 +vt 0.990291 0.848485 +vt 1.000000 0.863636 +vt 0.990291 0.863636 +vt 0.990291 0.818182 +vt 0.990291 0.893939 +vt 0.970874 0.863636 +vt 0.970874 0.848485 +vt 0.951456 0.863636 +vt 0.951456 0.848485 +vt 0.990291 0.848485 +vt 1.000000 0.863636 +vt 0.990291 0.863636 +vt 0.990291 0.818182 +vt 0.990291 0.893939 +vt 0.970874 0.863636 +vt 0.951456 0.863636 +vt 0.951456 0.909091 +vt 0.932039 1.000000 +vt 0.964876 0.952208 +vt 0.961165 0.954512 +vt 0.957454 0.952208 +vt 0.954307 0.945646 +vt 0.952205 0.935826 +vt 0.951467 0.924242 +vt 0.952205 0.912658 +vt 0.957454 0.896276 +vt 0.961165 0.893972 +vt 0.964876 0.896276 +vt 0.968023 0.902838 +vt 0.970125 0.912658 +vt 0.970125 0.935826 +vt 0.951456 0.863636 +vt 1.000000 0.848485 +vt 0.951456 0.818182 +vt 0.951456 0.893939 +vt 0.951456 0.863636 +vt 0.718447 1.000000 +vt 0.956311 0.984817 +vt 0.954457 0.983666 +vt 0.952885 0.980388 +vt 0.951835 0.975483 +vt 0.951835 0.963911 +vt 0.952885 0.959006 +vt 0.954457 0.955728 +vt 0.958164 0.955728 +vt 0.959736 0.959006 +vt 0.960786 0.963911 +vt 0.960786 0.975483 +vt 0.959736 0.980388 +vt 0.958164 0.983666 +vt 0.791262 1.000000 +vt 0.771845 1.000000 +vt 0.771845 0.757576 +vt 1.000000 0.848485 +vt 0.951456 0.818182 +vt 0.951456 0.893939 +vt 0.951456 0.863636 +vt 1.000000 0.848485 +vt 0.951456 0.818182 +vt 0.951456 0.893939 +vt 0.951456 0.863636 +vt 1.000000 0.848485 +vt 0.951456 0.818182 +vt 0.951456 0.893939 +vt 0.951456 0.863636 +vt 0.951456 0.818182 +vt 0.951456 0.893939 +vt 0.951456 0.863636 +vt 1.000000 0.848485 +vt 0.951456 0.818182 +vt 0.951456 0.893939 +vt 1.000000 0.848485 +vt 0.951456 0.818182 +vt 0.951456 0.893939 +vt 1.000000 0.848485 +vt 0.951456 0.818182 +vt 0.951456 0.893939 +vt 0.912621 0.803030 +vt 0.912621 0.818182 +vt 0.912621 0.939394 +vt 0.912621 0.954545 +vt 0.912621 0.833333 +vt 0.912621 0.969697 +vt 0.912621 0.848485 +vt 0.912621 0.984848 +vt 0.912621 0.863636 +vt 0.912621 1.000000 +vt 0.912621 0.878788 +vt 0.912621 0.893939 +vt 0.912621 0.757576 +vt 0.912621 0.772727 +vt 0.912621 0.909091 +vt 0.912621 0.787879 +vt 0.912621 0.924242 +vt 0.742718 0.833333 +vt 0.742718 0.818182 +vt 0.912621 0.969697 +vt 0.912621 0.954545 +vt 0.912621 0.848485 +vt 0.912621 0.833333 +vt 0.912621 0.863636 +vt 0.912621 0.984848 +vt 0.912621 0.893939 +vt 0.912621 0.878788 +vt 0.912621 0.757576 +vt 0.912621 0.909091 +vt 0.912621 0.787879 +vt 0.912621 0.772727 +vt 0.912621 0.803030 +vt 0.912621 0.939394 +vt 0.912621 0.924242 +vt 0.912621 0.818182 +vt 0.742718 0.803030 +vt 0.742718 0.787879 +vt 0.742718 0.772727 +vt 0.742718 0.757576 +vt 0.742718 0.984848 +vt 0.742718 1.000000 +vt 0.742718 0.969697 +vt 0.742718 0.954545 +vt 0.742718 0.939394 +vt 0.742718 0.924242 +vt 0.742718 0.909091 +vt 0.742718 0.893939 +vt 0.742718 0.878788 +vt 0.742718 0.863636 +vt 0.742718 0.848485 +vt 0.694175 0.893939 +vt 0.694175 0.878788 +vt 0.694175 0.863636 +vt 0.694175 0.848485 +vt 0.694175 0.833333 +vt 0.694175 0.818182 +vt 0.694175 0.803030 +vt 0.694175 0.787879 +vt 0.694175 0.772727 +vt 0.694175 0.757576 +vt 0.694175 0.984848 +vt 0.694175 0.969697 +vt 0.694175 0.954545 +vt 0.694175 0.939394 +vt 0.694175 0.924242 +vt 0.694175 0.909091 +vt 0.674757 0.772727 +vt 0.674757 0.909091 +vt 0.674757 0.787879 +vt 0.674757 0.924242 +vt 0.674757 0.803030 +vt 0.674757 0.939394 +vt 0.674757 0.818182 +vt 0.674757 0.954545 +vt 0.674757 0.833333 +vt 0.674757 0.969697 +vt 0.674757 0.848485 +vt 0.694175 1.000000 +vt 0.674757 0.984848 +vt 0.674757 0.878788 +vt 0.674757 0.863636 +vt 0.674757 0.757576 +vt 0.674757 0.893939 +vt 0.669903 0.848485 +vt 0.669903 0.833333 +vt 0.669903 0.818182 +vt 0.669903 0.803030 +vt 0.669903 0.787879 +vt 0.669903 0.772727 +vt 0.669903 0.757576 +vt 0.674757 1.000000 +vt 0.669903 0.984848 +vt 0.669903 0.969697 +vt 0.669903 0.954545 +vt 0.669903 0.939394 +vt 0.669903 0.924242 +vt 0.669903 0.909091 +vt 0.669903 0.893939 +vt 0.669903 0.878788 +vt 0.669903 0.863636 +vt 0.912621 1.000000 +vt 0.669903 1.000000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.9363 0.3511 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -0.9363 0.3511 +vn 0.0160 0.0032 0.9999 +vn 0.0136 0.0091 0.9999 +vn 0.0091 0.0136 0.9999 +vn 0.0032 0.0160 0.9999 +vn -0.0032 0.0160 0.9999 +vn -0.0091 0.0136 0.9999 +vn -0.0136 0.0091 0.9999 +vn -0.0160 0.0032 0.9999 +vn -0.0160 -0.0032 0.9999 +vn -0.0136 -0.0091 0.9999 +vn -0.0091 -0.0136 0.9999 +vn -0.0032 -0.0160 0.9999 +vn 0.0032 -0.0160 0.9999 +vn 0.0091 -0.0136 0.9999 +vn 0.0136 -0.0091 0.9999 +vn 0.0160 -0.0032 0.9999 +vn -0.0136 -0.0091 -0.9999 +vn -0.0091 -0.0136 -0.9999 +vn -0.0032 -0.0160 -0.9999 +vn 0.0032 -0.0160 -0.9999 +vn 0.0091 -0.0136 -0.9999 +vn 0.0136 -0.0091 -0.9999 +vn 0.0160 -0.0032 -0.9999 +vn 0.0160 0.0032 -0.9999 +vn 0.0136 0.0091 -0.9999 +vn 0.0091 0.0136 -0.9999 +vn 0.0032 0.0160 -0.9999 +vn -0.0032 0.0160 -0.9999 +vn -0.0091 0.0136 -0.9999 +vn -0.0136 0.0091 -0.9999 +vn -0.0160 0.0032 -0.9999 +vn -0.0160 -0.0032 -0.9999 +vn 0.9363 0.0000 0.3511 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.9363 0.0000 0.3511 +vn 0.6621 0.6621 0.3511 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.6621 -0.6621 0.3511 +vn 0.6621 -0.6621 0.3511 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.6621 0.6621 0.3511 +vn -0.3827 -0.9239 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.3827 0.9239 0.0000 +vn 0.3827 -0.9239 0.0000 +vn -0.9239 0.3827 0.0000 +vn 0.9239 -0.3827 0.0000 +vn -0.9239 -0.3827 0.0000 +vn 0.9239 0.3827 0.0000 +vn 0.9578 0.0000 -0.2873 +vn 0.8849 0.3665 -0.2873 +vn 0.8849 -0.3665 -0.2873 +vn 0.6773 -0.6773 -0.2874 +vn 0.3665 -0.8849 -0.2874 +vn 0.0000 -0.9578 -0.2874 +vn -0.3665 -0.8849 -0.2874 +vn -0.6773 -0.6773 -0.2873 +vn -0.8849 -0.3665 -0.2873 +vn -0.9578 -0.0000 -0.2873 +vn -0.8849 0.3665 -0.2873 +vn -0.6773 0.6773 -0.2873 +vn -0.3665 0.8849 -0.2873 +vn 0.0000 0.9578 -0.2873 +vn 0.3665 0.8849 -0.2873 +vn 0.6773 0.6773 -0.2873 +vn -0.3583 0.8651 0.3511 +vn 0.3583 0.8651 0.3511 +vn 0.8651 0.3583 0.3511 +vn 0.8651 -0.3583 0.3511 +vn 0.3583 -0.8651 0.3511 +vn -0.3583 -0.8651 0.3511 +vn -0.8651 -0.3583 0.3511 +vn -0.8651 0.3583 0.3511 +vn 0.3423 0.8263 0.4472 +vn 0.6325 0.6325 0.4472 +vn 0.8263 0.3423 0.4472 +vn 0.8944 0.0000 0.4472 +vn 0.8263 -0.3423 0.4472 +vn 0.6325 -0.6325 0.4472 +vn 0.3423 -0.8263 0.4472 +vn 0.0000 -0.8944 0.4472 +vn -0.3423 -0.8263 0.4472 +vn -0.6325 -0.6325 0.4472 +vn -0.8263 -0.3423 0.4472 +vn -0.8944 0.0000 0.4472 +vn -0.8263 0.3423 0.4472 +vn -0.6325 0.6325 0.4472 +vn -0.3423 0.8263 0.4472 +vn 0.0000 0.8944 0.4472 +s off +f 77/63/11 46/64/11 45/65/11 +f 78/66/11 47/67/11 46/64/11 +f 79/68/11 48/69/11 47/67/11 +f 48/69/11 65/70/11 33/71/11 +f 65/70/11 34/72/11 33/71/11 +f 66/73/11 35/74/11 34/72/11 +f 35/74/11 68/75/11 36/76/11 +f 36/76/11 69/77/11 37/78/11 +f 37/78/11 70/79/11 38/80/11 +f 38/80/11 71/81/11 39/82/11 +f 39/82/11 72/83/11 40/84/11 +f 40/84/11 73/85/11 41/86/11 +f 73/87/11 42/88/11 41/89/11 +f 74/90/11 43/91/11 42/88/11 +f 75/92/11 44/93/11 43/91/11 +f 76/94/11 45/65/11 44/93/11 +f 63/95/12 94/96/12 62/97/12 +f 64/98/12 95/99/12 63/95/12 +f 64/98/12 81/100/12 96/101/12 +f 50/102/12 81/100/12 49/103/12 +f 51/104/12 82/105/12 50/102/12 +f 51/104/12 84/106/12 83/107/12 +f 52/108/12 85/109/12 84/106/12 +f 53/110/12 86/111/12 85/109/12 +f 54/112/12 87/113/12 86/111/12 +f 55/114/12 88/115/12 87/113/12 +f 56/116/12 89/117/12 88/115/12 +f 58/118/12 89/119/12 57/120/12 +f 59/121/12 90/122/12 58/118/12 +f 60/123/12 91/124/12 59/121/12 +f 61/125/12 92/126/12 60/123/12 +f 62/97/12 93/127/12 61/125/12 +f 101/128/11 99/129/11 107/130/11 +f 129/131/13 134/132/13 130/133/13 +f 132/134/11 135/135/11 131/136/11 +f 130/133/14 136/137/14 132/134/14 +f 135/138/15 129/131/15 131/136/15 +f 281/139/16 286/140/16 282/141/16 +f 166/142/12 181/143/12 165/144/12 +f 167/145/12 182/146/12 166/142/12 +f 168/147/12 183/148/12 167/145/12 +f 153/149/12 184/150/12 168/147/12 +f 153/149/12 170/151/12 169/152/12 +f 154/153/12 171/154/12 170/151/12 +f 155/155/12 172/156/12 171/154/12 +f 156/157/12 173/158/12 172/156/12 +f 157/159/12 174/160/12 173/158/12 +f 158/161/12 175/162/12 174/160/12 +f 159/163/12 176/164/12 175/162/12 +f 160/165/12 177/166/12 176/164/12 +f 162/167/12 177/168/12 161/169/12 +f 163/170/12 178/171/12 162/167/12 +f 164/172/12 179/173/12 163/170/12 +f 165/144/12 180/174/12 164/172/12 +f 221/175/12 225/176/12 229/177/12 +f 125/178/17 262/179/17 261/180/17 +f 126/181/18 263/182/18 262/179/18 +f 127/183/19 264/184/19 263/182/19 +f 128/185/20 249/186/20 264/184/20 +f 113/187/21 249/186/21 114/188/21 +f 115/189/22 250/190/22 113/187/22 +f 116/191/23 251/192/23 115/189/23 +f 117/193/24 252/194/24 116/191/24 +f 118/195/25 253/196/25 117/193/25 +f 119/197/26 254/198/26 118/195/26 +f 120/199/27 255/200/27 119/197/27 +f 121/201/28 256/202/28 120/199/28 +f 121/203/29 258/204/29 257/205/29 +f 122/206/30 259/207/30 258/204/30 +f 123/208/31 260/209/31 259/207/31 +f 124/210/32 261/180/32 260/209/32 +f 246/211/33 279/212/33 247/213/33 +f 247/213/34 280/214/34 248/215/34 +f 248/215/35 265/216/35 234/217/35 +f 265/216/36 233/218/36 234/217/36 +f 266/219/37 235/220/37 233/218/37 +f 267/221/38 236/222/38 235/220/38 +f 268/223/39 237/224/39 236/222/39 +f 269/225/40 238/226/40 237/224/40 +f 270/227/41 239/228/41 238/226/41 +f 271/229/42 240/230/42 239/228/42 +f 272/231/43 241/232/43 240/230/43 +f 241/233/44 274/234/44 242/235/44 +f 242/235/45 275/236/45 243/237/45 +f 243/237/46 276/238/46 244/239/46 +f 244/239/47 277/240/47 245/241/47 +f 245/241/48 278/242/48 246/211/48 +f 284/243/11 287/244/11 283/245/11 +f 282/141/15 288/246/15 284/243/15 +f 287/247/14 281/139/14 283/245/14 +f 289/248/49 294/249/49 290/250/49 +f 292/251/11 295/252/11 291/253/11 +f 290/250/50 296/254/50 292/251/50 +f 295/255/51 289/248/51 291/253/51 +f 297/256/52 302/257/52 298/258/52 +f 300/259/11 303/260/11 299/261/11 +f 298/258/51 304/262/51 300/259/51 +f 303/263/50 297/256/50 299/261/50 +f 305/264/53 310/265/53 306/266/53 +f 307/267/11 312/268/11 311/269/11 +f 306/266/54 312/270/54 308/271/54 +f 311/272/55 305/264/55 307/267/55 +f 313/273/56 318/274/56 314/275/56 +f 316/276/11 319/277/11 315/278/11 +f 314/275/55 320/279/55 316/276/55 +f 319/280/54 313/273/54 315/278/54 +f 322/281/57 325/282/57 326/283/57 +f 324/284/11 327/285/11 323/286/11 +f 322/281/58 328/287/58 324/284/58 +f 327/288/59 321/289/59 323/286/59 +f 330/290/60 333/291/60 334/292/60 +f 332/293/11 335/294/11 331/295/11 +f 330/290/59 336/296/59 332/293/59 +f 335/297/58 329/298/58 331/295/58 +f 77/63/11 78/66/11 46/64/11 +f 78/66/11 79/68/11 47/67/11 +f 79/68/11 80/299/11 48/69/11 +f 48/69/11 80/299/11 65/70/11 +f 65/70/11 66/73/11 34/72/11 +f 66/73/11 67/300/11 35/74/11 +f 35/74/11 67/300/11 68/75/11 +f 36/76/11 68/75/11 69/77/11 +f 37/78/11 69/77/11 70/79/11 +f 38/80/11 70/79/11 71/81/11 +f 39/82/11 71/81/11 72/83/11 +f 40/84/11 72/83/11 73/85/11 +f 73/87/11 74/90/11 42/88/11 +f 74/90/11 75/92/11 43/91/11 +f 75/92/11 76/94/11 44/93/11 +f 76/94/11 77/63/11 45/65/11 +f 63/95/12 95/99/12 94/96/12 +f 64/98/12 96/101/12 95/99/12 +f 64/98/12 49/103/12 81/100/12 +f 50/102/12 82/105/12 81/100/12 +f 51/104/12 83/107/12 82/105/12 +f 51/104/12 52/108/12 84/106/12 +f 52/108/12 53/110/12 85/109/12 +f 53/110/12 54/112/12 86/111/12 +f 54/112/12 55/114/12 87/113/12 +f 55/114/12 56/116/12 88/115/12 +f 56/116/12 57/301/12 89/117/12 +f 58/118/12 90/122/12 89/119/12 +f 59/121/12 91/124/12 90/122/12 +f 60/123/12 92/126/12 91/124/12 +f 61/125/12 93/127/12 92/126/12 +f 62/97/12 94/96/12 93/127/12 +f 99/129/11 98/302/11 97/303/11 +f 97/303/11 112/304/11 111/305/11 +f 111/305/11 110/306/11 107/130/11 +f 110/306/11 109/307/11 107/130/11 +f 109/307/11 108/308/11 107/130/11 +f 107/130/11 106/309/11 105/310/11 +f 105/310/11 104/311/11 103/312/11 +f 103/312/11 102/313/11 101/128/11 +f 101/128/11 100/314/11 99/129/11 +f 99/129/11 97/303/11 107/130/11 +f 97/303/11 111/305/11 107/130/11 +f 107/130/11 105/310/11 103/312/11 +f 103/312/11 101/128/11 107/130/11 +f 129/131/13 133/315/13 134/132/13 +f 132/134/11 136/316/11 135/135/11 +f 130/133/14 134/317/14 136/137/14 +f 135/138/15 133/318/15 129/131/15 +f 281/139/16 285/319/16 286/140/16 +f 166/142/12 182/146/12 181/143/12 +f 167/145/12 183/148/12 182/146/12 +f 168/147/12 184/150/12 183/148/12 +f 153/149/12 169/152/12 184/150/12 +f 153/149/12 154/153/12 170/151/12 +f 154/153/12 155/155/12 171/154/12 +f 155/155/12 156/157/12 172/156/12 +f 156/157/12 157/159/12 173/158/12 +f 157/159/12 158/161/12 174/160/12 +f 158/161/12 159/163/12 175/162/12 +f 159/163/12 160/165/12 176/164/12 +f 160/165/12 161/320/12 177/166/12 +f 162/167/12 178/171/12 177/168/12 +f 163/170/12 179/173/12 178/171/12 +f 164/172/12 180/174/12 179/173/12 +f 165/144/12 181/143/12 180/174/12 +f 217/321/12 218/322/12 219/323/12 +f 219/323/12 220/324/12 221/175/12 +f 221/175/12 222/325/12 223/326/12 +f 223/326/12 224/327/12 225/176/12 +f 225/176/12 226/328/12 227/329/12 +f 227/329/12 228/330/12 229/177/12 +f 229/177/12 230/331/12 231/332/12 +f 231/332/12 232/333/12 217/321/12 +f 217/321/12 219/323/12 221/175/12 +f 221/175/12 223/326/12 225/176/12 +f 225/176/12 227/329/12 229/177/12 +f 229/177/12 231/332/12 217/321/12 +f 217/321/12 221/175/12 229/177/12 +f 125/178/17 126/181/17 262/179/17 +f 126/181/18 127/183/18 263/182/18 +f 127/183/19 128/185/19 264/184/19 +f 128/185/20 114/188/20 249/186/20 +f 113/187/21 250/190/21 249/186/21 +f 115/189/22 251/192/22 250/190/22 +f 116/191/23 252/194/23 251/192/23 +f 117/193/24 253/196/24 252/194/24 +f 118/195/25 254/198/25 253/196/25 +f 119/197/26 255/200/26 254/198/26 +f 120/199/27 256/202/27 255/200/27 +f 121/201/28 257/334/28 256/202/28 +f 121/203/29 122/206/29 258/204/29 +f 122/206/30 123/208/30 259/207/30 +f 123/208/31 124/210/31 260/209/31 +f 124/210/32 125/178/32 261/180/32 +f 246/211/33 278/242/33 279/212/33 +f 247/213/34 279/212/34 280/214/34 +f 248/215/35 280/214/35 265/216/35 +f 265/216/36 266/219/36 233/218/36 +f 266/219/37 267/221/37 235/220/37 +f 267/221/38 268/223/38 236/222/38 +f 268/223/39 269/225/39 237/224/39 +f 269/225/40 270/227/40 238/226/40 +f 270/227/41 271/229/41 239/228/41 +f 271/229/42 272/231/42 240/230/42 +f 272/231/43 273/335/43 241/232/43 +f 241/233/44 273/336/44 274/234/44 +f 242/235/45 274/234/45 275/236/45 +f 243/237/46 275/236/46 276/238/46 +f 244/239/47 276/238/47 277/240/47 +f 245/241/48 277/240/48 278/242/48 +f 284/243/11 288/337/11 287/244/11 +f 282/141/15 286/338/15 288/246/15 +f 287/247/14 285/339/14 281/139/14 +f 289/248/49 293/340/49 294/249/49 +f 292/251/11 296/341/11 295/252/11 +f 290/250/50 294/342/50 296/254/50 +f 295/255/51 293/343/51 289/248/51 +f 297/256/52 301/344/52 302/257/52 +f 300/259/11 304/345/11 303/260/11 +f 298/258/51 302/346/51 304/262/51 +f 303/263/50 301/347/50 297/256/50 +f 305/264/53 309/348/53 310/265/53 +f 307/267/11 308/271/11 312/268/11 +f 306/266/54 310/349/54 312/270/54 +f 311/272/55 309/350/55 305/264/55 +f 313/273/56 317/351/56 318/274/56 +f 316/276/11 320/352/11 319/277/11 +f 314/275/55 318/353/55 320/279/55 +f 319/280/54 317/354/54 313/273/54 +f 322/281/57 321/289/57 325/282/57 +f 324/284/11 328/355/11 327/285/11 +f 322/281/58 326/356/58 328/287/58 +f 327/288/59 325/357/59 321/289/59 +f 330/290/60 329/298/60 333/291/60 +f 332/293/11 336/358/11 335/294/11 +f 330/290/59 334/359/59 336/296/59 +f 335/297/58 333/360/58 329/298/58 +s 1 +f 41/86/50 56/116/61 40/84/61 +f 34/72/62 49/103/51 33/71/51 +f 33/71/51 64/98/63 48/69/63 +f 42/88/64 57/120/50 41/89/50 +f 35/74/55 50/102/62 34/72/62 +f 43/91/54 58/118/64 42/88/64 +f 36/76/65 51/104/55 35/74/55 +f 44/93/66 59/121/54 43/91/54 +f 37/78/15 52/108/65 36/76/65 +f 45/65/14 60/123/66 44/93/66 +f 38/80/67 53/110/15 37/78/15 +f 46/64/68 61/125/14 45/65/14 +f 39/82/58 54/112/67 38/80/67 +f 47/67/59 62/97/68 46/64/68 +f 40/84/61 55/114/58 39/82/58 +f 48/69/63 63/95/59 47/67/59 +f 76/361/65 93/127/15 77/362/15 +f 69/363/14 86/111/68 70/364/68 +f 77/362/15 94/96/67 78/365/67 +f 70/364/68 87/113/59 71/366/59 +f 78/365/67 95/99/58 79/367/58 +f 71/366/59 88/115/63 72/368/63 +f 79/367/58 96/101/61 80/369/61 +f 72/368/63 89/117/51 73/370/51 +f 65/371/50 82/105/64 66/372/64 +f 80/369/61 81/100/50 65/371/50 +f 73/373/51 90/122/62 74/374/62 +f 66/372/64 83/107/54 67/375/54 +f 74/374/62 91/124/55 75/376/55 +f 67/375/54 84/106/66 68/377/66 +f 75/376/55 92/126/65 76/361/65 +f 68/377/66 85/109/14 69/363/14 +f 245/241/69 150/378/70 149/379/69 +f 103/380/58 118/195/67 102/381/67 +f 111/382/59 126/181/68 110/383/68 +f 103/380/58 120/199/61 119/197/58 +f 112/384/63 127/183/59 111/382/59 +f 104/385/61 121/201/50 120/199/61 +f 98/386/62 114/188/51 97/387/51 +f 112/384/63 114/188/51 128/185/63 +f 105/388/50 122/206/64 121/203/50 +f 99/389/55 113/187/62 98/386/62 +f 107/390/54 122/206/64 106/391/64 +f 99/389/55 116/191/65 115/189/55 +f 108/392/66 123/208/54 107/390/54 +f 101/393/15 116/191/65 100/394/65 +f 109/395/14 124/210/66 108/392/66 +f 102/381/67 117/193/15 101/393/15 +f 110/383/68 125/178/14 109/395/14 +f 244/239/71 149/379/69 148/396/71 +f 243/237/72 148/396/71 147/397/72 +f 242/235/73 147/397/72 146/398/73 +f 241/233/74 146/398/73 145/399/74 +f 144/400/75 241/232/74 145/401/74 +f 143/402/76 240/230/75 144/400/75 +f 142/403/77 239/228/76 143/402/76 +f 141/404/78 238/226/77 142/403/77 +f 140/405/79 237/224/78 141/404/78 +f 139/406/80 236/222/79 140/405/79 +f 138/407/81 235/220/80 139/406/80 +f 137/408/82 233/218/81 138/407/81 +f 248/215/83 137/408/82 152/409/83 +f 247/213/84 152/409/83 151/410/84 +f 246/211/70 151/410/84 150/378/70 +f 147/397/54 162/167/64 146/398/64 +f 140/405/65 155/155/55 139/406/55 +f 148/396/66 163/170/54 147/397/54 +f 141/404/15 156/157/65 140/405/65 +f 149/379/14 164/172/66 148/396/66 +f 142/403/67 157/159/15 141/404/15 +f 150/378/68 165/144/14 149/379/14 +f 143/402/58 158/161/67 142/403/67 +f 151/410/59 166/142/68 150/378/68 +f 144/400/61 159/163/58 143/402/58 +f 152/409/63 167/145/59 151/410/59 +f 145/401/50 160/165/61 144/400/61 +f 138/407/62 153/149/51 137/408/51 +f 137/408/51 168/147/63 152/409/63 +f 146/398/64 161/169/50 145/399/50 +f 139/406/55 154/153/62 138/407/62 +f 169/152/13 186/411/85 185/412/13 +f 169/152/13 200/413/86 184/150/86 +f 184/150/86 199/414/53 183/148/53 +f 183/148/53 198/415/87 182/146/87 +f 182/146/87 197/416/49 181/143/49 +f 180/174/88 197/416/49 196/417/88 +f 179/173/57 196/417/88 195/418/57 +f 179/173/57 194/419/89 178/171/89 +f 178/171/89 193/420/16 177/168/16 +f 177/166/16 192/421/90 176/164/90 +f 175/162/56 192/421/90 191/422/56 +f 174/160/91 191/422/56 190/423/91 +f 174/160/91 189/424/52 173/158/52 +f 172/156/92 189/424/52 188/425/92 +f 172/156/92 187/426/60 171/154/60 +f 171/154/60 186/411/85 170/151/85 +f 195/418/54 210/427/64 194/419/64 +f 188/425/65 203/428/55 187/426/55 +f 196/417/66 211/429/54 195/418/54 +f 189/424/15 204/430/65 188/425/65 +f 197/416/14 212/431/66 196/417/66 +f 190/423/67 205/432/15 189/424/15 +f 198/415/68 213/433/14 197/416/14 +f 191/422/58 206/434/67 190/423/67 +f 199/414/59 214/435/68 198/415/68 +f 192/421/61 207/436/58 191/422/58 +f 200/413/63 215/437/59 199/414/59 +f 193/438/50 208/439/61 192/421/61 +f 186/411/62 201/440/51 185/412/51 +f 185/412/51 216/441/63 200/413/63 +f 194/419/64 209/442/50 193/420/50 +f 187/426/55 202/443/62 186/411/62 +f 216/441/93 231/444/94 215/437/94 +f 215/437/94 230/445/95 214/435/95 +f 214/435/95 229/446/96 213/433/96 +f 213/433/96 228/447/97 212/431/97 +f 211/429/98 228/447/97 227/448/98 +f 211/429/98 226/449/99 210/427/99 +f 210/427/99 225/450/100 209/442/100 +f 209/451/100 224/452/101 208/439/101 +f 207/436/102 224/452/101 223/453/102 +f 206/434/103 223/453/102 222/454/103 +f 205/432/104 222/454/103 221/455/104 +f 204/430/105 221/455/104 220/456/105 +f 203/428/106 220/456/105 219/457/106 +f 202/443/107 219/457/106 218/458/107 +f 201/440/108 218/458/107 217/459/108 +f 201/440/108 232/460/93 216/441/93 +f 258/204/64 273/336/50 257/205/50 +f 251/192/55 266/219/62 250/190/62 +f 259/207/54 274/234/64 258/204/64 +f 252/194/65 267/221/55 251/192/55 +f 260/209/66 275/236/54 259/207/54 +f 253/196/15 268/223/65 252/194/65 +f 261/180/14 276/238/66 260/209/66 +f 254/198/67 269/225/15 253/196/15 +f 262/179/68 277/240/14 261/180/14 +f 255/200/58 270/227/67 254/198/67 +f 263/182/59 278/242/68 262/179/68 +f 256/202/61 271/229/58 255/200/58 +f 264/184/63 279/212/59 263/182/59 +f 257/334/50 272/231/61 256/202/61 +f 250/190/62 265/216/51 249/186/51 +f 249/186/51 280/214/63 264/184/63 +f 41/86/50 57/301/50 56/116/61 +f 34/72/62 50/102/62 49/103/51 +f 33/71/51 49/103/51 64/98/63 +f 42/88/64 58/118/64 57/120/50 +f 35/74/55 51/104/55 50/102/62 +f 43/91/54 59/121/54 58/118/64 +f 36/76/65 52/108/65 51/104/55 +f 44/93/66 60/123/66 59/121/54 +f 37/78/15 53/110/15 52/108/65 +f 45/65/14 61/125/14 60/123/66 +f 38/80/67 54/112/67 53/110/15 +f 46/64/68 62/97/68 61/125/14 +f 39/82/58 55/114/58 54/112/67 +f 47/67/59 63/95/59 62/97/68 +f 40/84/61 56/116/61 55/114/58 +f 48/69/63 64/98/63 63/95/59 +f 76/361/65 92/126/65 93/127/15 +f 69/363/14 85/109/14 86/111/68 +f 77/362/15 93/127/15 94/96/67 +f 70/364/68 86/111/68 87/113/59 +f 78/365/67 94/96/67 95/99/58 +f 71/366/59 87/113/59 88/115/63 +f 79/367/58 95/99/58 96/101/61 +f 72/368/63 88/115/63 89/117/51 +f 65/371/50 81/100/50 82/105/64 +f 80/369/61 96/101/61 81/100/50 +f 73/373/51 89/119/51 90/122/62 +f 66/372/64 82/105/64 83/107/54 +f 74/374/62 90/122/62 91/124/55 +f 67/375/54 83/107/54 84/106/66 +f 75/376/55 91/124/55 92/126/65 +f 68/377/66 84/106/66 85/109/14 +f 245/241/69 246/211/70 150/378/70 +f 103/380/58 119/197/58 118/195/67 +f 111/382/59 127/183/59 126/181/68 +f 103/380/58 104/385/61 120/199/61 +f 112/384/63 128/185/63 127/183/59 +f 104/385/61 105/461/50 121/201/50 +f 98/386/62 113/187/62 114/188/51 +f 112/384/63 97/387/51 114/188/51 +f 105/388/50 106/391/64 122/206/64 +f 99/389/55 115/189/55 113/187/62 +f 107/390/54 123/208/54 122/206/64 +f 99/389/55 100/394/65 116/191/65 +f 108/392/66 124/210/66 123/208/54 +f 101/393/15 117/193/15 116/191/65 +f 109/395/14 125/178/14 124/210/66 +f 102/381/67 118/195/67 117/193/15 +f 110/383/68 126/181/68 125/178/14 +f 244/239/71 245/241/69 149/379/69 +f 243/237/72 244/239/71 148/396/71 +f 242/235/73 243/237/72 147/397/72 +f 241/233/74 242/235/73 146/398/73 +f 144/400/75 240/230/75 241/232/74 +f 143/402/76 239/228/76 240/230/75 +f 142/403/77 238/226/77 239/228/76 +f 141/404/78 237/224/78 238/226/77 +f 140/405/79 236/222/79 237/224/78 +f 139/406/80 235/220/80 236/222/79 +f 138/407/81 233/218/81 235/220/80 +f 137/408/82 234/217/82 233/218/81 +f 248/215/83 234/217/82 137/408/82 +f 247/213/84 248/215/83 152/409/83 +f 246/211/70 247/213/84 151/410/84 +f 147/397/54 163/170/54 162/167/64 +f 140/405/65 156/157/65 155/155/55 +f 148/396/66 164/172/66 163/170/54 +f 141/404/15 157/159/15 156/157/65 +f 149/379/14 165/144/14 164/172/66 +f 142/403/67 158/161/67 157/159/15 +f 150/378/68 166/142/68 165/144/14 +f 143/402/58 159/163/58 158/161/67 +f 151/410/59 167/145/59 166/142/68 +f 144/400/61 160/165/61 159/163/58 +f 152/409/63 168/147/63 167/145/59 +f 145/401/50 161/320/50 160/165/61 +f 138/407/62 154/153/62 153/149/51 +f 137/408/51 153/149/51 168/147/63 +f 146/398/64 162/167/64 161/169/50 +f 139/406/55 155/155/55 154/153/62 +f 169/152/13 170/151/85 186/411/85 +f 169/152/13 185/412/13 200/413/86 +f 184/150/86 200/413/86 199/414/53 +f 183/148/53 199/414/53 198/415/87 +f 182/146/87 198/415/87 197/416/49 +f 180/174/88 181/143/49 197/416/49 +f 179/173/57 180/174/88 196/417/88 +f 179/173/57 195/418/57 194/419/89 +f 178/171/89 194/419/89 193/420/16 +f 177/166/16 193/438/16 192/421/90 +f 175/162/56 176/164/90 192/421/90 +f 174/160/91 175/162/56 191/422/56 +f 174/160/91 190/423/91 189/424/52 +f 172/156/92 173/158/52 189/424/52 +f 172/156/92 188/425/92 187/426/60 +f 171/154/60 187/426/60 186/411/85 +f 195/418/54 211/429/54 210/427/64 +f 188/425/65 204/430/65 203/428/55 +f 196/417/66 212/431/66 211/429/54 +f 189/424/15 205/432/15 204/430/65 +f 197/416/14 213/433/14 212/431/66 +f 190/423/67 206/434/67 205/432/15 +f 198/415/68 214/435/68 213/433/14 +f 191/422/58 207/436/58 206/434/67 +f 199/414/59 215/437/59 214/435/68 +f 192/421/61 208/439/61 207/436/58 +f 200/413/63 216/441/63 215/437/59 +f 193/438/50 209/451/50 208/439/61 +f 186/411/62 202/443/62 201/440/51 +f 185/412/51 201/440/51 216/441/63 +f 194/419/64 210/427/64 209/442/50 +f 187/426/55 203/428/55 202/443/62 +f 216/441/93 232/460/93 231/444/94 +f 215/437/94 231/444/94 230/445/95 +f 214/435/95 230/445/95 229/446/96 +f 213/433/96 229/446/96 228/447/97 +f 211/429/98 212/431/97 228/447/97 +f 211/429/98 227/448/98 226/449/99 +f 210/427/99 226/449/99 225/450/100 +f 209/451/100 225/462/100 224/452/101 +f 207/436/102 208/439/101 224/452/101 +f 206/434/103 207/436/102 223/453/102 +f 205/432/104 206/434/103 222/454/103 +f 204/430/105 205/432/104 221/455/104 +f 203/428/106 204/430/105 220/456/105 +f 202/443/107 203/428/106 219/457/106 +f 201/440/108 202/443/107 218/458/107 +f 201/440/108 217/459/108 232/460/93 +f 258/204/64 274/234/64 273/336/50 +f 251/192/55 267/221/55 266/219/62 +f 259/207/54 275/236/54 274/234/64 +f 252/194/65 268/223/65 267/221/55 +f 260/209/66 276/238/66 275/236/54 +f 253/196/15 269/225/15 268/223/65 +f 261/180/14 277/240/14 276/238/66 +f 254/198/67 270/227/67 269/225/15 +f 262/179/68 278/242/68 277/240/14 +f 255/200/58 271/229/58 270/227/67 +f 263/182/59 279/212/59 278/242/68 +f 256/202/61 272/231/61 271/229/58 +f 264/184/63 280/214/63 279/212/59 +f 257/334/50 273/335/50 272/231/61 +f 250/190/62 266/219/62 265/216/51 +f 249/186/51 265/216/51 280/214/63 +o Tube v 0.000000 0.500000 -6.375000 v 0.000000 0.500000 6.375000 v 0.191342 0.461940 -6.375000 @@ -409,38 +1924,6 @@ v -0.500000 -0.125000 5.812500 v 0.500000 -0.125000 5.812500 v -0.500000 -0.125000 5.687500 v 0.500000 -0.125000 5.687500 -v -0.500000 -1.500000 1.687500 -v 2.500000 -1.500000 1.687500 -v -0.500000 1.500000 1.687500 -v 2.500000 1.500000 1.687500 -v 0.500000 -2.000000 1.687500 -v 1.500000 -2.000000 1.687500 -v 1.500000 2.000000 1.687500 -v 0.500000 2.000000 1.687500 -v -0.500000 0.500000 1.687500 -v -0.500000 -0.500000 1.687500 -v 0.500000 0.500000 1.687500 -v 0.500000 -0.500000 1.687500 -v -0.500000 -0.500000 1.812500 -v -0.500000 -1.500000 1.812500 -v 1.500000 -2.000000 1.812500 -v 2.500000 -1.500000 1.812500 -v 2.500000 1.500000 1.812500 -v 0.500000 2.000000 1.812500 -v -0.500000 1.500000 1.812500 -v 0.500000 -2.000000 1.812500 -v 1.500000 2.000000 1.812500 -v -0.500000 0.500000 1.812500 -v 0.500000 0.500000 1.812500 -v 0.500000 -0.500000 1.812500 -v 0.375000 0.625000 1.687500 -v 1.125000 0.625000 1.687500 -v 0.375000 1.375000 1.687500 -v 1.125000 1.375000 1.687500 -v 0.375000 1.375000 1.812500 -v 0.375000 0.625000 1.812500 -v 1.125000 0.625000 1.812500 -v 1.125000 1.375000 1.812500 v 0.000000 0.500000 1.875000 v 0.191342 0.461939 1.875000 v 0.353553 0.353553 1.875000 @@ -625,310 +2108,6 @@ v 0.266186 0.586047 -6.875000 v 0.172436 0.423668 -6.375000 v 0.280689 0.361168 -6.375000 v 0.374439 0.523547 -6.875000 -v 0.000000 2.437500 -6.375000 -v -0.167424 2.404197 -6.375000 -v -0.309359 2.309359 -6.375000 -v -0.404197 2.167424 -6.375000 -v -0.437500 2.000000 -6.375000 -v -0.404197 1.832576 -6.375000 -v -0.309359 1.690641 -6.375000 -v -0.167424 1.595803 -6.375000 -v 0.000000 1.562500 -6.375000 -v 0.167424 1.595803 -6.375000 -v 0.309359 1.690640 -6.375000 -v 0.404197 1.832576 -6.375000 -v 0.437500 2.000000 -6.375000 -v 0.404197 2.167424 -6.375000 -v 0.309359 2.309359 -6.375000 -v 0.167424 2.404197 -6.375000 -v 0.000000 2.437500 -5.750000 -v -0.167424 2.404197 -5.750000 -v -0.309359 2.309359 -5.750000 -v -0.404197 2.167424 -5.750000 -v -0.437500 2.000000 -5.750000 -v -0.404197 1.832576 -5.750000 -v -0.309359 1.690641 -5.750000 -v -0.167424 1.595803 -5.750000 -v 0.000000 1.562500 -5.750000 -v 0.167424 1.595803 -5.750000 -v 0.309359 1.690640 -5.750000 -v 0.404197 1.832576 -5.750000 -v 0.437500 2.000000 -5.750000 -v 0.404197 2.167424 -5.750000 -v 0.309359 2.309359 -5.750000 -v 0.167424 2.404197 -5.750000 -v 0.000000 2.375000 -6.375000 -v -0.143507 2.346455 -6.375000 -v -0.265165 2.265165 -6.375000 -v -0.346455 2.143506 -6.375000 -v -0.375000 2.000000 -6.375000 -v -0.346455 1.856493 -6.375000 -v -0.265165 1.734835 -6.375000 -v -0.143507 1.653545 -6.375000 -v 0.000000 1.625000 -6.375000 -v 0.143506 1.653545 -6.375000 -v 0.265165 1.734835 -6.375000 -v 0.346455 1.856493 -6.375000 -v 0.375000 2.000000 -6.375000 -v 0.346455 2.143507 -6.375000 -v 0.265165 2.265165 -6.375000 -v 0.143506 2.346455 -6.375000 -v 0.000000 2.375000 -5.750000 -v -0.143507 2.346455 -5.750000 -v -0.265165 2.265165 -5.750000 -v -0.346455 2.143506 -5.750000 -v -0.375000 2.000000 -5.750000 -v -0.346455 1.856493 -5.750000 -v -0.265165 1.734835 -5.750000 -v -0.143507 1.653545 -5.750000 -v 0.000000 1.625000 -5.750000 -v 0.143506 1.653545 -5.750000 -v 0.265165 1.734835 -5.750000 -v 0.346455 1.856493 -5.750000 -v 0.375000 2.000000 -5.750000 -v 0.346455 2.143507 -5.750000 -v 0.265165 2.265165 -5.750000 -v 0.143506 2.346455 -5.750000 -v 0.000000 2.250000 -6.375000 -v -0.095671 2.230970 -6.375000 -v -0.176777 2.176777 -6.375000 -v -0.230970 2.095671 -6.375000 -v -0.250000 2.000000 -6.375000 -v -0.230970 1.904329 -6.375000 -v -0.176777 1.823223 -6.375000 -v -0.095671 1.769030 -6.375000 -v 0.000000 1.750000 -6.375000 -v 0.095671 1.769030 -6.375000 -v 0.176776 1.823223 -6.375000 -v 0.230970 1.904329 -6.375000 -v 0.250000 2.000000 -6.375000 -v 0.230970 2.095671 -6.375000 -v 0.176776 2.176777 -6.375000 -v 0.095671 2.230970 -6.375000 -v -0.095671 2.230972 -3.375000 -v 0.000000 2.250002 -3.375000 -v -0.176777 2.176779 -3.375000 -v -0.230970 2.095673 -3.375000 -v -0.250000 2.000002 -3.375000 -v -0.230970 1.904331 -3.375000 -v -0.176777 1.823225 -3.375000 -v -0.095671 1.769032 -3.375000 -v 0.000000 1.750002 -3.375000 -v 0.095671 1.769032 -3.375000 -v 0.176776 1.823225 -3.375000 -v 0.230970 1.904331 -3.375000 -v 0.250000 2.000002 -3.375000 -v 0.230970 2.095673 -3.375000 -v 0.176776 2.176779 -3.375000 -v 0.095671 2.230972 -3.375000 -v -0.031250 2.406250 -5.750000 -v 0.031250 2.406250 -5.750000 -v -0.031250 2.406250 -6.250000 -v 0.031250 2.406250 -6.250000 -v -0.031250 2.218750 -5.250000 -v 0.031250 2.218750 -5.250000 -v -0.031250 2.218750 -6.250000 -v 0.031250 2.218750 -6.250000 -v 0.000000 2.437500 -2.250000 -v -0.167424 2.404197 -2.250000 -v -0.309359 2.309359 -2.250000 -v -0.404197 2.167424 -2.250000 -v -0.437500 2.000000 -2.250000 -v -0.404197 1.832576 -2.250000 -v -0.309359 1.690641 -2.250000 -v -0.167424 1.595803 -2.250000 -v 0.000000 1.562500 -2.250000 -v 0.167424 1.595803 -2.250000 -v 0.309359 1.690640 -2.250000 -v 0.404197 1.832576 -2.250000 -v 0.437500 2.000000 -2.250000 -v 0.404197 2.167424 -2.250000 -v 0.309359 2.309359 -2.250000 -v 0.167424 2.404197 -2.250000 -v 0.000000 2.437500 -1.624000 -v -0.167424 2.404197 -1.624000 -v -0.309359 2.309359 -1.624000 -v -0.404197 2.167424 -1.624000 -v -0.437500 2.000000 -1.624000 -v -0.404197 1.832576 -1.624000 -v -0.309359 1.690641 -1.624000 -v -0.167424 1.595803 -1.624000 -v 0.000000 1.562500 -1.624000 -v 0.167424 1.595803 -1.624000 -v 0.309359 1.690640 -1.624000 -v 0.404197 1.832576 -1.624000 -v 0.437500 2.000000 -1.624000 -v 0.404197 2.167424 -1.624000 -v 0.309359 2.309359 -1.624000 -v 0.167424 2.404197 -1.624000 -v 0.000000 2.375000 -1.624000 -v -0.143507 2.346455 -1.624000 -v -0.265165 2.265165 -1.624000 -v -0.346455 2.143506 -1.624000 -v -0.375000 2.000000 -1.624000 -v -0.346455 1.856494 -1.624000 -v -0.265165 1.734835 -1.624000 -v -0.143507 1.653545 -1.624000 -v 0.000000 1.625000 -1.624000 -v 0.143506 1.653545 -1.624000 -v 0.265165 1.734835 -1.624000 -v 0.346455 1.856494 -1.624000 -v 0.375000 2.000000 -1.624000 -v 0.346455 2.143506 -1.624000 -v 0.265165 2.265165 -1.624000 -v 0.143506 2.346455 -1.624000 -v 0.000000 2.187500 -1.124000 -v -0.071754 2.173228 -1.124000 -v -0.132583 2.132583 -1.124000 -v -0.173227 2.071753 -1.124000 -v -0.187500 2.000000 -1.124000 -v -0.173227 1.928247 -1.124000 -v -0.132583 1.867418 -1.124000 -v -0.071754 1.826773 -1.124000 -v 0.000000 1.812500 -1.124000 -v 0.071753 1.826773 -1.124000 -v 0.132582 1.867418 -1.124000 -v 0.173227 1.928247 -1.124000 -v 0.187500 2.000000 -1.124000 -v 0.173227 2.071753 -1.124000 -v 0.132582 2.132583 -1.124000 -v 0.071753 2.173228 -1.124000 -v 0.000000 2.187500 -0.624000 -v -0.071754 2.173228 -0.624000 -v -0.132583 2.132583 -0.624000 -v -0.173227 2.071753 -0.624000 -v -0.187500 2.000000 -0.624000 -v -0.173227 1.928247 -0.624000 -v -0.132583 1.867418 -0.624000 -v -0.071754 1.826773 -0.624000 -v 0.000000 1.812500 -0.624000 -v 0.071753 1.826773 -0.624000 -v 0.132582 1.867418 -0.624000 -v 0.173227 1.928247 -0.624000 -v 0.187500 2.000000 -0.624000 -v 0.173227 2.071753 -0.624000 -v 0.132582 2.132583 -0.624000 -v 0.071753 2.173228 -0.624000 -v 0.000000 2.125000 -0.499000 -v -0.047836 2.115485 -0.499000 -v -0.088388 2.088389 -0.499000 -v -0.115485 2.047836 -0.499000 -v -0.125000 2.000000 -0.499000 -v -0.115485 1.952165 -0.499000 -v -0.088388 1.911612 -0.499000 -v -0.047836 1.884515 -0.499000 -v 0.000000 1.875000 -0.499000 -v 0.047835 1.884515 -0.499000 -v 0.088388 1.911612 -0.499000 -v 0.115485 1.952165 -0.499000 -v 0.125000 2.000000 -0.499000 -v 0.115485 2.047836 -0.499000 -v 0.088388 2.088389 -0.499000 -v 0.047835 2.115485 -0.499000 -v -0.095671 2.230972 -2.875000 -v 0.000000 2.250002 -2.875000 -v -0.176777 2.176779 -2.875000 -v -0.230970 2.095673 -2.875000 -v -0.250000 2.000002 -2.875000 -v -0.230970 1.904331 -2.875000 -v -0.176777 1.823225 -2.875000 -v -0.095671 1.769032 -2.875000 -v 0.000000 1.750002 -2.875000 -v 0.095671 1.769032 -2.875000 -v 0.176776 1.823225 -2.875000 -v 0.230970 1.904331 -2.875000 -v 0.250000 2.000002 -2.875000 -v 0.230970 2.095673 -2.875000 -v 0.176776 2.176779 -2.875000 -v 0.095671 2.230972 -2.875000 -v 0.000000 2.187500 -3.374000 -v -0.071754 2.173228 -3.374000 -v -0.132583 2.132583 -3.374000 -v -0.173227 2.071753 -3.374000 -v -0.187500 2.000000 -3.374000 -v -0.173227 1.928247 -3.374000 -v -0.132583 1.867418 -3.374000 -v -0.071754 1.826773 -3.374000 -v 0.000000 1.812500 -3.374000 -v 0.071753 1.826773 -3.374000 -v 0.132582 1.867418 -3.374000 -v 0.173227 1.928247 -3.374000 -v 0.187500 2.000000 -3.374000 -v 0.173227 2.071753 -3.374000 -v 0.132582 2.132583 -3.374000 -v 0.071753 2.173228 -3.374000 -v 0.000000 2.187500 -2.874000 -v -0.071754 2.173228 -2.874000 -v -0.132583 2.132583 -2.874000 -v -0.173227 2.071753 -2.874000 -v -0.187500 2.000000 -2.874000 -v -0.173227 1.928247 -2.874000 -v -0.132583 1.867418 -2.874000 -v -0.071754 1.826773 -2.874000 -v 0.000000 1.812500 -2.874000 -v 0.071753 1.826773 -2.874000 -v 0.132582 1.867418 -2.874000 -v 0.173227 1.928247 -2.874000 -v 0.187500 2.000000 -2.874000 -v 0.173227 2.071753 -2.874000 -v 0.132582 2.132583 -2.874000 -v 0.071753 2.173228 -2.874000 -v 0.031250 1.593750 -5.750000 -v -0.031250 1.593750 -5.750000 -v 0.031250 1.593750 -6.250000 -v -0.031250 1.593750 -6.250000 -v 0.031250 1.781250 -5.250000 -v -0.031250 1.781250 -5.250000 -v 0.031250 1.781250 -6.250000 -v -0.031250 1.781250 -6.250000 -v 0.406250 2.031250 -5.750000 -v 0.406250 1.968750 -5.750000 -v 0.406250 2.031250 -6.250000 -v 0.406250 1.968750 -6.250000 -v 0.218750 2.031250 -5.250000 -v 0.218750 1.968750 -5.250000 -v 0.218750 2.031250 -6.250000 -v 0.218750 1.968750 -6.250000 -v -0.406250 1.968750 -5.750000 -v -0.406250 2.031250 -5.750000 -v -0.406250 1.968750 -6.250000 -v -0.406250 2.031250 -6.250000 -v -0.218750 1.968750 -5.250000 -v -0.218750 2.031250 -5.250000 -v -0.218750 1.968750 -6.250000 -v -0.218750 2.031250 -6.250000 -v 0.265165 2.309359 -5.750000 -v 0.309359 2.265165 -5.750000 -v 0.265165 2.309359 -6.250000 -v 0.309359 2.265165 -6.250000 -v 0.132583 2.176777 -5.250000 -v 0.176777 2.132582 -5.250000 -v 0.132583 2.176777 -6.250000 -v 0.176777 2.132582 -6.250000 -v -0.265165 1.690641 -5.750000 -v -0.309359 1.734835 -5.750000 -v -0.265165 1.690641 -6.250000 -v -0.309359 1.734835 -6.250000 -v -0.132583 1.823223 -5.250000 -v -0.176777 1.867417 -5.250000 -v -0.132583 1.823223 -6.250000 -v -0.176777 1.867417 -6.250000 -v 0.309359 1.734835 -5.750000 -v 0.265165 1.690641 -5.750000 -v 0.309359 1.734835 -6.250000 -v 0.265165 1.690641 -6.250000 -v 0.176777 1.867417 -5.250000 -v 0.132583 1.823223 -5.250000 -v 0.176777 1.867417 -6.250000 -v 0.132583 1.823223 -6.250000 -v -0.309359 2.265165 -5.750000 -v -0.265165 2.309359 -5.750000 -v -0.309359 2.265165 -6.250000 -v -0.265165 2.309359 -6.250000 -v -0.176777 2.132582 -5.250000 -v -0.132583 2.176777 -5.250000 -v -0.176777 2.132582 -6.250000 -v -0.132583 2.176777 -6.250000 vt 0.500000 0.393939 vt 0.495146 0.363636 vt 0.500000 0.363636 @@ -1306,59 +2485,6 @@ vt 0.349515 0.484848 vt 0.495146 0.575758 vt 0.495146 0.484848 vt 0.514563 0.515152 -vt 0.179612 0.909091 -vt 0.165049 0.984848 -vt 0.126214 0.924242 -vt 0.208738 0.818182 -vt 0.179612 0.833333 -vt 0.179612 0.818182 -vt 0.242718 0.681818 -vt 0.203883 0.696970 -vt 0.203883 0.681818 -vt -0.000000 0.560606 -vt 0.004854 0.681818 -vt -0.000000 0.681818 -vt 0.043689 1.000000 -vt 0.082524 0.984848 -vt 0.082524 1.000000 -vt 0.043689 0.484848 -vt 0.004854 0.500000 -vt 0.004854 0.484848 -vt 0.038835 0.681818 -vt 0.043689 0.803030 -vt 0.038835 0.803030 -vt 0.121359 0.484848 -vt 0.082524 0.500000 -vt 0.082524 0.484848 -vt -0.000000 0.803030 -vt 0.004854 0.924242 -vt 0.000000 0.924242 -vt 0.043689 0.500000 -vt 0.121359 0.560606 -vt 0.126214 0.560606 -vt 0.203883 0.803030 -vt 0.242718 0.787879 -vt 0.242718 0.803030 -vt 0.121359 0.984848 -vt 0.121359 1.000000 -vt 0.004854 1.000000 -vt 0.043689 0.984848 -vt 0.063107 0.818182 -vt 0.067961 0.909091 -vt 0.063107 0.909091 -vt 0.121359 0.924242 -vt 0.067961 0.818182 -vt 0.203883 0.984848 -vt 0.208738 0.909091 -vt 0.004854 0.803030 -vt 0.038835 0.818182 -vt 0.242718 0.924242 -vt 0.043689 0.681818 -vt 0.203883 0.500000 -vt 0.242718 0.560606 -vt 0.043689 0.909091 -vt 0.043689 0.818182 -vt 0.208738 0.893939 vt 0.266990 0.636364 vt 0.262136 0.666667 vt 0.262136 0.636364 @@ -1592,242 +2718,6 @@ vt 0.470874 0.818182 vt 0.490291 0.833333 vt 0.490291 0.863636 vt 0.470874 0.863636 -vt 0.951456 0.818182 -vt 0.946602 0.833333 -vt 0.946602 0.818182 -vt 0.951456 0.833333 -vt 0.946602 0.848485 -vt 0.951456 0.848485 -vt 0.946602 0.863636 -vt 0.951456 0.878788 -vt 0.946602 0.878788 -vt 0.946602 0.893939 -vt 0.951456 0.893939 -vt 0.946602 0.909091 -vt 0.951456 0.924242 -vt 0.946602 0.924242 -vt 0.951456 0.939394 -vt 0.946602 0.939394 -vt 0.951456 0.954545 -vt 0.946602 0.954545 -vt 0.951456 0.969697 -vt 0.946602 0.969697 -vt 0.951456 0.984848 -vt 0.946602 0.984848 -vt 0.951456 1.000000 -vt 0.946602 1.000000 -vt 0.951456 0.757576 -vt 0.946602 0.772727 -vt 0.946602 0.757576 -vt 0.951456 0.772727 -vt 0.946602 0.787879 -vt 0.951456 0.787879 -vt 0.946602 0.803030 -vt 0.951456 0.803030 -vt 0.932039 0.848485 -vt 0.927184 0.833333 -vt 0.932039 0.833333 -vt 0.932039 0.863636 -vt 0.927184 0.848485 -vt 0.927184 0.878788 -vt 0.927184 0.863636 -vt 0.932039 0.893939 -vt 0.932039 0.878788 -vt 0.932039 0.909091 -vt 0.927184 0.893939 -vt 0.927184 0.924242 -vt 0.927184 0.909091 -vt 0.932039 0.924242 -vt 0.927184 0.939394 -vt 0.932039 0.939394 -vt 0.927184 0.954545 -vt 0.932039 0.954545 -vt 0.927184 0.969697 -vt 0.932039 0.969697 -vt 0.927184 0.984848 -vt 0.932039 0.984848 -vt 0.927184 1.000000 -vt 0.932039 0.772727 -vt 0.927184 0.757576 -vt 0.932039 0.757576 -vt 0.932039 0.787879 -vt 0.927184 0.772727 -vt 0.932039 0.803030 -vt 0.927184 0.787879 -vt 0.932039 0.818182 -vt 0.927184 0.803030 -vt 0.927184 0.818182 -vt 0.970863 0.924242 -vt 0.968023 0.945646 -vt 0.954307 0.902838 -vt 0.970874 0.863636 -vt 0.951456 0.848485 -vt 0.970874 0.848485 -vt 0.990291 0.848485 -vt 1.000000 0.863636 -vt 0.990291 0.863636 -vt 0.990291 0.818182 -vt 0.990291 0.893939 -vt 0.970874 0.863636 -vt 0.951456 0.848485 -vt 0.970874 0.848485 -vt 0.718447 0.833333 -vt 0.713592 0.818182 -vt 0.718447 0.818182 -vt 0.718447 0.848485 -vt 0.713592 0.833333 -vt 0.718447 0.863636 -vt 0.713592 0.848485 -vt 0.718447 0.878788 -vt 0.713592 0.863636 -vt 0.713592 0.893939 -vt 0.713592 0.878788 -vt 0.718447 0.893939 -vt 0.713592 0.909091 -vt 0.718447 0.909091 -vt 0.713592 0.924242 -vt 0.718447 0.924242 -vt 0.713592 0.939394 -vt 0.718447 0.939394 -vt 0.713592 0.954545 -vt 0.718447 0.954545 -vt 0.713592 0.969697 -vt 0.718447 0.969697 -vt 0.713592 0.984848 -vt 0.718447 0.984848 -vt 0.713592 1.000000 -vt 0.718447 0.772727 -vt 0.713592 0.757576 -vt 0.718447 0.757576 -vt 0.718447 0.787879 -vt 0.713592 0.772727 -vt 0.718447 0.803030 -vt 0.713592 0.787879 -vt 0.713592 0.803030 -vt 0.951467 0.969697 -vt 0.956311 0.954577 -vt 0.961155 0.969697 -vt 0.796117 0.818182 -vt 0.791262 0.833333 -vt 0.791262 0.818182 -vt 0.796117 0.833333 -vt 0.791262 0.848485 -vt 0.796117 0.848485 -vt 0.791262 0.863636 -vt 0.796117 0.863636 -vt 0.791262 0.878788 -vt 0.796117 0.893939 -vt 0.796117 0.878788 -vt 0.796117 0.909091 -vt 0.791262 0.893939 -vt 0.796117 0.924242 -vt 0.791262 0.909091 -vt 0.796117 0.939394 -vt 0.791262 0.924242 -vt 0.796117 0.954545 -vt 0.791262 0.939394 -vt 0.796117 0.969697 -vt 0.791262 0.954545 -vt 0.796117 0.984848 -vt 0.791262 0.969697 -vt 0.796117 1.000000 -vt 0.791262 0.984848 -vt 0.796117 0.757576 -vt 0.791262 0.772727 -vt 0.791262 0.757576 -vt 0.796117 0.772727 -vt 0.791262 0.787879 -vt 0.796117 0.787879 -vt 0.791262 0.803030 -vt 0.796117 0.803030 -vt 0.766990 0.833333 -vt 0.771845 0.848485 -vt 0.766990 0.848485 -vt 0.771845 0.863636 -vt 0.766990 0.863636 -vt 0.771845 0.878788 -vt 0.766990 0.878788 -vt 0.766990 0.893939 -vt 0.771845 0.893939 -vt 0.766990 0.909091 -vt 0.771845 0.909091 -vt 0.766990 0.924242 -vt 0.771845 0.924242 -vt 0.766990 0.939394 -vt 0.771845 0.939394 -vt 0.766990 0.954545 -vt 0.771845 0.954545 -vt 0.766990 0.969697 -vt 0.771845 0.969697 -vt 0.766990 0.984848 -vt 0.771845 0.984848 -vt 0.766990 1.000000 -vt 0.766990 0.757576 -vt 0.771845 0.772727 -vt 0.766990 0.772727 -vt 0.771845 0.787879 -vt 0.766990 0.787879 -vt 0.771845 0.803030 -vt 0.766990 0.803030 -vt 0.771845 0.818182 -vt 0.766990 0.818182 -vt 0.771845 0.833333 -vt 0.990291 0.848485 -vt 1.000000 0.863636 -vt 0.990291 0.863636 -vt 0.990291 0.818182 -vt 0.990291 0.893939 -vt 0.970874 0.863636 -vt 0.951456 0.848485 -vt 0.970874 0.848485 -vt 0.990291 0.848485 -vt 1.000000 0.863636 -vt 0.990291 0.863636 -vt 0.990291 0.818182 -vt 0.990291 0.893939 -vt 0.970874 0.863636 -vt 0.951456 0.848485 -vt 0.970874 0.848485 -vt 0.990291 0.848485 -vt 1.000000 0.863636 -vt 0.990291 0.863636 -vt 0.990291 0.818182 -vt 0.990291 0.893939 -vt 0.970874 0.863636 -vt 0.951456 0.848485 -vt 0.970874 0.848485 -vt 0.990291 0.863636 -vt 1.000000 0.848485 -vt 1.000000 0.863636 -vt 0.990291 0.818182 -vt 0.990291 0.848485 -vt 0.990291 0.893939 -vt 0.970874 0.863636 -vt 0.951456 0.848485 -vt 0.970874 0.848485 -vt 0.990291 0.848485 -vt 1.000000 0.863636 -vt 0.990291 0.863636 -vt 0.990291 0.818182 -vt 0.990291 0.893939 -vt 0.970874 0.848485 -vt 0.951456 0.863636 -vt 0.951456 0.848485 -vt 0.990291 0.848485 -vt 1.000000 0.863636 -vt 0.990291 0.863636 -vt 0.990291 0.818182 -vt 0.990291 0.893939 -vt 0.970874 0.863636 -vt 0.970874 0.848485 -vt 0.951456 0.863636 -vt 0.951456 0.848485 -vt 0.990291 0.848485 -vt 1.000000 0.863636 -vt 0.990291 0.863636 -vt 0.990291 0.818182 -vt 0.990291 0.893939 -vt 0.970874 0.863636 vt 0.500000 0.484848 vt 1.000000 0.454545 vt 1.000000 0.000000 @@ -1881,15 +2771,6 @@ vt 0.262136 0.969697 vt 0.368932 0.484848 vt 0.300971 0.606061 vt 0.446602 0.484848 -vt 0.208738 0.833333 -vt 0.242718 0.696970 -vt 0.004854 0.560606 -vt 0.121359 0.500000 -vt 0.203883 0.787879 -vt 0.004854 0.984848 -vt 0.038835 0.909091 -vt 0.165049 0.500000 -vt 0.179612 0.893939 vt 0.266990 0.787879 vt 0.266990 0.909091 vt 0.266990 0.484848 @@ -1929,68 +2810,6 @@ vt 0.429612 0.787879 vt 0.490291 0.803030 vt 0.490291 0.803030 vt 0.490291 0.803030 -vt 0.951456 0.863636 -vt 0.951456 0.909091 -vt 0.932039 1.000000 -vt 0.964876 0.952208 -vt 0.961165 0.954512 -vt 0.957454 0.952208 -vt 0.954307 0.945646 -vt 0.952205 0.935826 -vt 0.951467 0.924242 -vt 0.952205 0.912658 -vt 0.957454 0.896276 -vt 0.961165 0.893972 -vt 0.964876 0.896276 -vt 0.968023 0.902838 -vt 0.970125 0.912658 -vt 0.970125 0.935826 -vt 0.951456 0.863636 -vt 1.000000 0.848485 -vt 0.951456 0.818182 -vt 0.951456 0.893939 -vt 0.951456 0.863636 -vt 0.718447 1.000000 -vt 0.956311 0.984817 -vt 0.954457 0.983666 -vt 0.952885 0.980388 -vt 0.951835 0.975483 -vt 0.951835 0.963911 -vt 0.952885 0.959006 -vt 0.954457 0.955728 -vt 0.958164 0.955728 -vt 0.959736 0.959006 -vt 0.960786 0.963911 -vt 0.960786 0.975483 -vt 0.959736 0.980388 -vt 0.958164 0.983666 -vt 0.791262 1.000000 -vt 0.771845 1.000000 -vt 0.771845 0.757576 -vt 1.000000 0.848485 -vt 0.951456 0.818182 -vt 0.951456 0.893939 -vt 0.951456 0.863636 -vt 1.000000 0.848485 -vt 0.951456 0.818182 -vt 0.951456 0.893939 -vt 0.951456 0.863636 -vt 1.000000 0.848485 -vt 0.951456 0.818182 -vt 0.951456 0.893939 -vt 0.951456 0.863636 -vt 0.951456 0.818182 -vt 0.951456 0.893939 -vt 0.951456 0.863636 -vt 1.000000 0.848485 -vt 0.951456 0.818182 -vt 0.951456 0.893939 -vt 1.000000 0.848485 -vt 0.951456 0.818182 -vt 0.951456 0.893939 -vt 1.000000 0.848485 -vt 0.951456 0.818182 -vt 0.951456 0.893939 vt 0.000000 0.181818 vt 0.000000 0.454545 vt 0.000000 0.242424 @@ -2101,113 +2920,11 @@ vt 0.577670 0.560606 vt 0.587379 0.560606 vt 0.577670 0.651515 vt 0.577670 0.621212 -vt 0.912621 0.803030 -vt 0.912621 0.818182 -vt 0.912621 0.939394 -vt 0.912621 0.954545 -vt 0.912621 0.833333 -vt 0.912621 0.969697 -vt 0.912621 0.848485 -vt 0.912621 0.984848 -vt 0.912621 0.863636 -vt 0.912621 1.000000 -vt 0.912621 0.878788 -vt 0.912621 0.893939 -vt 0.912621 0.757576 -vt 0.912621 0.772727 -vt 0.912621 0.909091 -vt 0.912621 0.787879 -vt 0.912621 0.924242 -vt 0.742718 0.833333 -vt 0.742718 0.818182 -vt 0.912621 0.969697 -vt 0.912621 0.954545 -vt 0.912621 0.848485 -vt 0.912621 0.833333 -vt 0.912621 0.863636 -vt 0.912621 0.984848 -vt 0.912621 0.893939 -vt 0.912621 0.878788 -vt 0.912621 0.757576 -vt 0.912621 0.909091 -vt 0.912621 0.787879 -vt 0.912621 0.772727 -vt 0.912621 0.924242 -vt 0.912621 0.803030 -vt 0.912621 0.939394 -vt 0.912621 0.818182 -vt 0.742718 0.803030 -vt 0.742718 0.787879 -vt 0.742718 0.772727 -vt 0.742718 0.757576 -vt 0.742718 1.000000 -vt 0.742718 0.984848 -vt 0.742718 0.969697 -vt 0.742718 0.954545 -vt 0.742718 0.939394 -vt 0.742718 0.924242 -vt 0.742718 0.909091 -vt 0.742718 0.893939 -vt 0.742718 0.878788 -vt 0.742718 0.863636 -vt 0.742718 0.848485 -vt 0.694175 0.893939 -vt 0.694175 0.878788 -vt 0.694175 0.863636 -vt 0.694175 0.848485 -vt 0.694175 0.833333 -vt 0.694175 0.818182 -vt 0.694175 0.803030 -vt 0.694175 0.787879 -vt 0.694175 0.772727 -vt 0.694175 0.757576 -vt 0.694175 0.984848 -vt 0.694175 0.969697 -vt 0.694175 0.954545 -vt 0.694175 0.939394 -vt 0.694175 0.924242 -vt 0.694175 0.909091 -vt 0.674757 0.772727 -vt 0.674757 0.909091 -vt 0.674757 0.787879 -vt 0.674757 0.924242 -vt 0.674757 0.803030 -vt 0.674757 0.939394 -vt 0.674757 0.818182 -vt 0.674757 0.954545 -vt 0.674757 0.833333 -vt 0.674757 0.969697 -vt 0.674757 0.848485 -vt 0.694175 1.000000 -vt 0.674757 0.984848 -vt 0.674757 0.878788 -vt 0.674757 0.863636 -vt 0.674757 0.757576 -vt 0.674757 0.893939 -vt 0.669903 0.848485 -vt 0.669903 0.833333 -vt 0.669903 0.818182 -vt 0.669903 0.803030 -vt 0.669903 0.787879 -vt 0.669903 0.772727 -vt 0.669903 0.757576 -vt 0.674757 1.000000 -vt 0.669903 0.984848 -vt 0.669903 0.969697 -vt 0.669903 0.954545 -vt 0.669903 0.939394 -vt 0.669903 0.924242 -vt 0.669903 0.909091 -vt 0.669903 0.893939 -vt 0.669903 0.878788 -vt 0.669903 0.863636 vt -0.000000 0.484848 vt 0.708738 0.606061 vt 0.679612 0.530303 vt 0.762136 0.484848 vt 0.577670 0.681818 -vt 0.912621 1.000000 -vt 0.669903 1.000000 vn -0.0000 0.0000 1.0000 vn 0.0000 0.0000 -1.0000 vn 0.9363 0.0000 0.3511 @@ -2227,10 +2944,6 @@ vn 0.0000 -0.3714 0.9285 vn 0.0000 0.1789 -0.9839 vn 0.0000 0.3881 -0.9216 vn 0.0000 0.7071 0.7071 -vn -0.4472 -0.8944 0.0000 -vn 0.4472 -0.8944 0.0000 -vn 0.4472 0.8944 0.0000 -vn -0.4472 0.8944 0.0000 vn 0.7071 -0.7071 0.0000 vn -0.7071 0.7071 0.0000 vn 0.5556 0.8315 0.0000 @@ -2252,51 +2965,13 @@ vn -0.8660 0.5000 -0.0000 vn 0.8660 -0.5000 0.0000 vn 0.4682 0.8109 0.3511 vn -0.4682 -0.8109 -0.3511 -vn 0.0000 0.9363 0.3511 -vn 0.0000 -0.9363 0.3511 -vn 0.0160 0.0032 0.9999 -vn 0.0136 0.0091 0.9999 -vn 0.0091 0.0136 0.9999 -vn 0.0032 0.0160 0.9999 -vn -0.0032 0.0160 0.9999 -vn -0.0091 0.0136 0.9999 -vn -0.0136 0.0091 0.9999 -vn -0.0160 0.0032 0.9999 -vn -0.0160 -0.0032 0.9999 -vn -0.0136 -0.0091 0.9999 -vn -0.0091 -0.0136 0.9999 -vn -0.0032 -0.0160 0.9999 -vn 0.0032 -0.0160 0.9999 -vn 0.0091 -0.0136 0.9999 -vn 0.0136 -0.0091 0.9999 -vn 0.0160 -0.0032 0.9999 -vn -0.0136 -0.0091 -0.9999 -vn -0.0091 -0.0136 -0.9999 -vn -0.0032 -0.0160 -0.9999 -vn 0.0032 -0.0160 -0.9999 -vn 0.0091 -0.0136 -0.9999 -vn 0.0136 -0.0091 -0.9999 -vn 0.0160 -0.0032 -0.9999 -vn 0.0160 0.0032 -0.9999 -vn 0.0136 0.0091 -0.9999 -vn 0.0091 0.0136 -0.9999 -vn 0.0032 0.0160 -0.9999 -vn -0.0032 0.0160 -0.9999 -vn -0.0091 0.0136 -0.9999 -vn -0.0136 0.0091 -0.9999 -vn -0.0160 0.0032 -0.9999 -vn -0.0160 -0.0032 -0.9999 -vn 0.6621 0.6621 0.3511 -vn -0.6621 -0.6621 0.3511 -vn 0.6621 -0.6621 0.3511 -vn -0.7071 -0.7071 0.0000 -vn 0.7071 0.7071 0.0000 -vn -0.6621 0.6621 0.3511 vn 0.3827 0.9239 0.0000 +vn 0.7071 0.7071 0.0000 vn 0.9239 0.3827 0.0000 vn 0.9239 -0.3827 -0.0000 vn 0.3827 -0.9239 -0.0000 vn -0.3827 -0.9239 -0.0000 +vn -0.7071 -0.7071 -0.0000 vn -0.9239 -0.3827 -0.0000 vn -0.9239 0.3827 0.0000 vn -0.3827 0.9239 0.0000 @@ -2316,1581 +2991,939 @@ vn -0.8048 0.5309 0.2654 vn 0.9539 -0.2684 -0.1342 vn 0.4741 -0.7875 -0.3938 vn -0.0000 -0.8944 -0.4472 -vn 0.9578 0.0000 -0.2873 -vn 0.8849 0.3665 -0.2873 -vn 0.8849 -0.3665 -0.2873 -vn 0.6773 -0.6773 -0.2874 -vn 0.3665 -0.8849 -0.2874 -vn 0.0000 -0.9578 -0.2874 -vn -0.3665 -0.8849 -0.2874 -vn -0.6773 -0.6773 -0.2873 -vn -0.8849 -0.3665 -0.2873 -vn -0.9578 -0.0000 -0.2873 -vn -0.8849 0.3665 -0.2873 -vn -0.6773 0.6773 -0.2873 -vn -0.3665 0.8849 -0.2873 -vn 0.0000 0.9578 -0.2873 -vn 0.3665 0.8849 -0.2873 -vn 0.6773 0.6773 -0.2873 -vn -0.3583 0.8651 0.3511 -vn 0.3583 0.8651 0.3511 -vn 0.8651 0.3583 0.3511 -vn 0.8651 -0.3583 0.3511 -vn 0.3583 -0.8651 0.3511 -vn -0.3583 -0.8651 0.3511 -vn -0.8651 -0.3583 0.3511 -vn -0.8651 0.3583 0.3511 -vn 0.3423 0.8263 0.4472 -vn 0.6325 0.6325 0.4472 -vn 0.8263 0.3423 0.4472 -vn 0.8944 0.0000 0.4472 -vn 0.8263 -0.3423 0.4472 -vn 0.6325 -0.6325 0.4472 -vn 0.3423 -0.8263 0.4472 -vn -0.3423 -0.8263 0.4472 -vn -0.6325 -0.6325 0.4472 -vn -0.8263 -0.3423 0.4472 -vn -0.8944 0.0000 0.4472 -vn -0.8263 0.3423 0.4472 -vn -0.6325 0.6325 0.4472 -vn -0.3423 0.8263 0.4472 s off -f 24/1/1 37/2/1 26/3/1 -f 22/4/1 38/5/1 24/1/1 -f 28/6/1 37/2/1 36/7/1 -f 30/8/1 36/7/1 35/9/1 -f 30/8/1 34/10/1 32/11/1 -f 32/11/1 33/12/1 2/13/1 -f 2/13/1 48/14/1 4/15/1 -f 4/15/1 47/16/1 6/17/1 -f 6/17/1 46/18/1 8/19/1 -f 8/19/1 45/20/1 10/21/1 -f 12/22/1 45/20/1 44/23/1 -f 14/24/1 44/23/1 43/25/1 -f 16/26/1 43/25/1 42/27/1 -f 18/28/1 42/27/1 41/29/1 -f 20/30/1 41/31/1 40/32/1 -f 22/4/1 40/32/1 39/33/1 -f 9/34/2 62/35/2 7/36/2 -f 7/36/2 63/37/2 5/38/2 -f 63/37/2 3/39/2 5/38/2 -f 64/40/2 1/41/2 3/39/2 -f 49/42/2 31/43/2 1/41/2 -f 50/44/2 29/45/2 31/43/2 -f 51/46/2 27/47/2 29/45/2 -f 52/48/2 25/49/2 27/47/2 -f 53/50/2 23/51/2 25/49/2 -f 54/52/2 21/53/2 23/51/2 -f 55/54/2 19/55/2 21/53/2 -f 19/55/2 57/56/2 17/57/2 -f 17/58/2 58/59/2 15/60/2 -f 15/60/2 59/61/2 13/62/2 -f 13/62/2 60/63/2 11/64/2 -f 11/64/2 61/65/2 9/34/2 -f 73/66/1 106/67/1 105/68/1 -f 72/69/1 105/70/1 104/71/1 -f 71/72/1 104/71/1 103/73/1 -f 71/72/1 102/74/1 70/75/1 -f 70/75/1 101/76/1 69/77/1 -f 68/78/1 101/76/1 100/79/1 -f 67/80/1 100/79/1 99/81/1 -f 67/80/1 98/82/1 66/83/1 -f 66/83/1 97/84/1 65/85/1 -f 65/85/1 112/86/1 80/87/1 -f 79/88/1 112/86/1 111/89/1 -f 78/90/1 111/89/1 110/91/1 -f 78/90/1 109/92/1 77/93/1 -f 76/94/1 109/92/1 108/95/1 -f 76/94/1 107/96/1 75/97/1 -f 75/97/1 106/67/1 74/98/1 -f 89/99/2 122/100/2 90/101/2 -f 88/102/2 121/103/2 89/104/2 -f 87/105/2 120/106/2 88/102/2 -f 118/107/2 87/105/2 86/108/2 -f 117/109/2 86/108/2 85/110/2 -f 84/111/2 117/109/2 85/110/2 -f 83/112/2 116/113/2 84/111/2 -f 114/114/2 83/112/2 82/115/2 -f 113/116/2 82/115/2 81/117/2 -f 128/118/2 81/117/2 96/119/2 -f 95/120/2 128/118/2 96/119/2 -f 94/121/2 127/122/2 95/120/2 -f 125/123/2 94/121/2 93/124/2 -f 92/125/2 125/123/2 93/124/2 -f 123/126/2 92/125/2 91/127/2 -f 122/100/2 91/127/2 90/101/2 -f 130/128/3 131/129/3 129/130/3 -f 134/131/4 135/132/4 133/133/4 -f 136/134/2 137/135/2 135/132/2 -f 138/136/5 139/137/5 137/138/5 -f 140/139/6 141/140/6 139/137/6 -f 141/141/1 134/131/1 133/133/1 -f 139/142/7 141/143/7 133/133/7 -f 140/139/8 138/136/8 136/134/8 -f 144/144/8 145/145/8 143/146/8 -f 159/147/2 162/148/2 160/149/2 -f 144/144/5 150/150/5 146/151/5 -f 145/145/4 148/152/4 143/146/4 -f 146/151/2 147/153/2 145/145/2 -f 143/146/1 149/154/1 144/144/1 -f 155/155/5 160/149/5 156/156/5 -f 151/157/1 156/156/1 152/158/1 -f 152/158/8 158/159/8 154/160/8 -f 151/157/7 157/161/7 155/162/7 -f 154/160/2 157/163/2 153/164/2 -f 162/165/4 157/161/4 158/166/4 -f 157/161/7 159/167/7 155/162/7 -f 160/149/8 158/159/8 156/156/8 -f 165/168/9 188/169/9 166/170/9 -f 171/171/4 174/172/4 172/173/4 -f 192/174/7 169/175/7 167/176/7 -f 166/177/1 169/175/1 165/178/1 -f 191/179/8 168/180/8 170/181/8 -f 163/182/2 168/180/2 164/183/2 -f 178/184/5 175/185/5 176/186/5 -f 172/173/8 178/184/8 176/186/8 -f 172/173/10 175/187/10 171/188/10 -f 171/189/7 177/190/7 173/191/7 -f 173/191/11 178/184/11 174/172/11 -f 179/192/1 182/193/1 180/194/1 -f 188/169/8 191/179/8 166/177/8 -f 181/195/5 186/196/5 182/193/5 -f 182/193/8 184/197/8 180/194/8 -f 187/198/5 190/199/5 188/169/5 -f 179/192/7 185/200/7 181/195/7 -f 192/174/7 187/201/7 165/178/7 -f 189/202/12 191/203/12 190/199/12 -f 191/203/5 163/204/5 164/205/5 -f 202/206/11 203/207/11 201/208/11 -f 197/209/13 199/210/13 198/211/13 -f 194/212/8 200/213/8 196/214/8 -f 195/215/7 198/211/7 193/216/7 -f 196/217/14 197/209/14 195/218/14 -f 193/219/15 199/210/15 194/220/15 -f 204/221/5 205/222/5 203/207/5 -f 210/223/1 207/224/1 208/225/1 -f 211/226/16 208/225/16 207/224/16 -f 213/227/5 212/228/5 211/226/5 -f 215/229/2 214/230/2 213/227/2 -f 217/231/12 216/232/12 215/229/12 -f 219/233/2 218/234/2 217/231/2 -f 206/235/7 222/236/7 224/237/7 -f 205/222/8 221/238/8 203/207/8 -f 222/236/7 202/206/7 226/239/7 -f 201/208/8 221/238/8 225/240/8 -f 224/241/4 221/238/4 223/242/4 -f 225/240/17 222/243/17 226/244/17 -f 230/245/8 212/228/8 214/230/8 -f 227/246/7 213/227/7 211/226/7 -f 215/229/7 233/247/7 217/231/7 -f 217/231/7 235/248/7 219/233/7 -f 216/232/8 234/249/8 232/250/8 -f 220/251/8 234/249/8 218/234/8 -f 215/229/7 229/252/7 231/253/7 -f 216/232/8 230/245/8 214/230/8 -f 208/225/8 240/254/8 210/223/8 -f 209/255/7 237/256/7 207/224/7 -f 207/224/7 227/257/7 211/226/7 -f 208/225/8 228/258/8 238/259/8 -f 240/254/2 237/260/2 239/261/2 -f 238/259/18 227/262/18 237/260/18 -f 227/263/4 230/245/4 229/264/4 -f 229/264/1 232/250/1 231/265/1 -f 231/265/19 234/249/19 233/266/19 -f 233/266/1 236/267/1 235/268/1 -f 253/269/1 255/270/1 249/271/1 -f 272/272/2 273/273/2 265/274/2 -f 271/275/2 278/276/2 279/277/2 -f 269/278/2 276/279/2 277/280/2 -f 266/281/2 275/282/2 267/283/2 -f 271/275/2 280/284/2 272/272/2 -f 270/285/2 277/286/2 278/276/2 -f 268/287/2 275/282/2 276/279/2 -f 265/274/2 274/288/2 266/281/2 -f 325/289/1 327/290/1 321/291/1 -f 358/292/1 331/293/1 332/294/1 -f 359/295/1 330/296/1 331/293/1 -f 360/297/1 329/298/1 330/296/1 -f 345/299/1 344/300/1 329/298/1 -f 346/301/1 343/302/1 344/300/1 -f 343/302/1 348/303/1 342/304/1 -f 342/304/1 349/305/1 341/306/1 -f 349/305/1 340/307/1 341/306/1 -f 350/308/1 339/309/1 340/307/1 -f 339/309/1 352/310/1 338/311/1 -f 338/311/1 353/312/1 337/313/1 -f 337/314/1 354/315/1 336/316/1 -f 336/316/1 355/317/1 335/318/1 -f 355/317/1 334/319/1 335/318/1 -f 334/319/1 357/320/1 333/321/1 -f 357/320/1 332/294/1 333/321/1 -f 363/322/2 390/323/2 364/324/2 -f 362/325/2 391/326/2 363/322/2 -f 361/327/2 392/328/2 362/325/2 -f 376/329/2 377/330/2 361/327/2 -f 375/331/2 378/332/2 376/329/2 -f 375/331/2 380/333/2 379/334/2 -f 374/335/2 381/336/2 380/333/2 -f 372/337/2 381/336/2 373/338/2 -f 371/339/2 382/340/2 372/337/2 -f 371/339/2 384/341/2 383/342/2 -f 370/343/2 385/344/2 384/341/2 -f 369/345/2 386/346/2 385/347/2 -f 368/348/2 387/349/2 386/346/2 -f 366/350/2 387/349/2 367/351/2 -f 366/350/2 389/352/2 388/353/2 -f 364/324/2 389/352/2 365/354/2 -f 395/355/5 394/356/5 393/357/5 -f 399/358/4 397/359/4 398/360/4 -f 395/355/2 400/361/2 396/362/2 -f 394/356/1 398/363/1 393/357/1 -f 397/364/8 402/365/8 398/366/8 -f 399/367/7 404/368/7 400/369/7 -f 396/362/8 406/370/8 394/356/8 -f 393/357/7 407/371/7 395/355/7 -f 396/362/2 404/368/2 408/372/2 -f 394/356/1 403/373/1 399/374/1 -f 395/355/2 401/375/2 397/364/2 -f 393/357/1 402/376/1 405/377/1 -f 436/378/2 415/379/2 412/380/2 -f 433/381/4 439/382/4 434/383/4 -f 418/384/4 432/385/4 420/386/4 -f 409/387/7 421/388/7 418/389/7 -f 416/390/4 429/391/4 415/392/4 -f 413/393/20 422/394/20 409/395/20 -f 420/396/7 431/397/7 419/398/7 -f 410/399/21 423/400/21 414/401/21 -f 417/402/7 427/403/7 411/404/7 -f 414/401/5 428/405/5 413/393/5 -f 412/380/8 424/406/8 410/407/8 -f 419/408/5 430/409/5 417/410/5 -f 415/392/22 425/411/22 412/412/22 -f 411/413/23 426/414/23 416/390/23 -f 434/415/7 440/416/7 436/417/7 -f 425/418/1 440/416/1 439/419/1 -f 416/420/2 436/378/2 435/421/2 -f 426/414/1 440/416/1 429/391/1 -f 427/403/1 430/422/1 438/423/1 -f 433/381/2 417/410/2 411/424/2 -f 431/397/1 432/425/1 439/419/1 -f 419/408/2 433/381/2 434/383/2 -f 428/405/1 423/400/1 432/425/1 -f 420/386/2 413/426/2 409/427/2 -f 435/428/8 438/423/8 433/429/8 -f 436/378/5 437/430/5 435/421/5 -f 470/431/1 443/432/1 444/433/1 -f 471/434/1 442/435/1 443/432/1 -f 472/436/1 441/437/1 442/435/1 -f 457/438/1 456/439/1 441/437/1 -f 458/440/1 455/441/1 456/439/1 -f 455/441/1 460/442/1 454/443/1 -f 454/443/1 461/444/1 453/445/1 -f 461/444/1 452/446/1 453/445/1 -f 462/447/1 451/448/1 452/446/1 -f 451/448/1 464/449/1 450/450/1 -f 450/450/1 465/451/1 449/452/1 -f 449/453/1 466/454/1 448/455/1 -f 448/455/1 467/456/1 447/457/1 -f 467/456/1 446/458/1 447/457/1 -f 446/458/1 469/459/1 445/460/1 -f 469/459/1 444/433/1 445/460/1 -f 475/461/2 502/462/2 476/463/2 -f 474/464/2 503/465/2 475/461/2 -f 473/466/2 504/467/2 474/464/2 -f 488/468/2 489/469/2 473/466/2 -f 487/470/2 490/471/2 488/468/2 -f 487/470/2 492/472/2 491/473/2 -f 486/474/2 493/475/2 492/472/2 -f 484/476/2 493/475/2 485/477/2 -f 483/478/2 494/479/2 484/476/2 -f 483/478/2 496/480/2 495/481/2 -f 482/482/2 497/483/2 496/480/2 -f 481/484/2 498/485/2 497/486/2 -f 480/487/2 499/488/2 498/485/2 -f 478/489/2 499/488/2 479/490/2 -f 478/489/2 501/491/2 500/492/2 -f 476/463/2 501/491/2 477/493/2 -f 510/494/8 507/495/8 505/496/8 -f 511/497/4 505/498/4 506/499/4 -f 528/500/8 532/501/8 529/502/8 -f 529/502/4 530/503/4 527/504/4 -f 513/505/7 526/506/7 514/507/7 -f 528/500/24 516/508/24 531/509/24 -f 515/510/5 518/511/5 516/508/5 -f 530/503/25 525/512/25 527/504/25 -f 523/513/2 522/514/2 510/515/2 -f 506/516/1 529/517/1 508/518/1 -f 508/518/1 527/519/1 507/520/1 -f 520/521/1 521/522/1 528/523/1 -f 511/524/2 532/525/2 531/526/2 -f 509/527/2 532/525/2 512/528/2 -f 509/529/5 508/530/5 507/531/5 -f 512/532/7 506/533/7 508/534/7 -f 539/535/4 537/536/4 538/537/4 -f 534/538/1 538/537/1 533/539/1 -f 536/540/8 539/535/8 534/541/8 -f 533/542/7 537/536/7 535/543/7 -f 535/544/2 540/545/2 536/546/2 -f 541/547/25 542/548/25 548/549/25 -f 546/550/4 554/551/4 547/552/4 -f 544/553/8 553/554/8 546/550/8 -f 545/555/4 550/556/4 543/557/4 -f 547/552/7 551/558/7 545/559/7 -f 541/547/4 552/560/4 544/561/4 -f 562/562/7 542/563/7 549/564/7 -f 559/565/1 567/566/1 558/567/1 -f 570/568/2 564/569/2 563/570/2 -f 568/571/26 570/568/26 567/566/26 -f 567/566/1 557/572/1 558/567/1 -f 562/573/2 570/568/2 563/570/2 -f 559/565/1 569/574/1 568/571/1 -f 572/575/2 564/569/2 571/576/2 -f 569/574/27 571/576/27 568/571/27 -f 574/577/5 561/578/5 566/579/5 -f 556/580/28 570/581/28 555/582/28 -f 542/548/1 556/583/1 548/549/1 -f 549/584/2 555/585/2 570/586/2 -f 578/587/4 575/588/4 576/589/4 -f 569/574/29 578/590/29 572/575/29 -f 579/591/7 576/592/7 575/593/7 -f 580/594/5 556/595/5 555/596/5 -f 573/597/1 579/591/1 575/593/1 -f 550/556/8 574/577/8 543/598/8 -f 574/577/2 580/594/2 543/598/2 -f 566/579/2 576/599/2 574/577/2 -f 565/600/2 578/590/2 566/601/2 -f 573/597/1 577/602/1 561/578/1 -f 577/603/1 560/604/1 561/605/1 -f 553/606/1 556/607/1 579/591/1 -f 580/594/2 546/608/2 547/609/2 -f 581/610/30 583/611/30 582/612/30 -f 130/128/5 584/613/5 132/614/5 -f 129/130/4 581/615/4 582/616/4 -f 586/617/31 587/618/31 585/619/31 -f 589/620/32 591/621/32 590/622/32 -f 586/617/4 592/623/4 588/624/4 -f 585/619/5 589/625/5 590/626/5 -f 594/627/33 595/628/33 593/629/33 -f 598/630/34 600/631/34 599/632/34 -f 594/627/35 600/631/35 596/633/35 -f 593/629/36 597/634/36 598/635/36 -f 602/636/37 603/637/37 601/638/37 -f 605/639/38 607/640/38 606/641/38 -f 602/636/36 608/642/36 604/643/36 -f 601/638/35 605/644/35 606/645/35 -f 609/646/39 612/647/39 611/648/39 -f 614/649/40 616/650/40 615/651/40 -f 610/652/41 616/650/41 612/647/41 -f 609/646/42 613/653/42 614/654/42 -f 618/655/43 619/656/43 617/657/43 -f 622/658/44 624/659/44 623/660/44 -f 618/655/42 624/659/42 620/661/42 -f 617/657/41 621/662/41 622/663/41 -f 669/664/2 638/665/2 637/666/2 -f 670/667/2 639/668/2 638/665/2 -f 671/669/2 640/670/2 639/668/2 -f 640/670/2 657/671/2 625/672/2 -f 657/671/2 626/673/2 625/672/2 -f 658/674/2 627/675/2 626/673/2 -f 627/675/2 660/676/2 628/677/2 -f 628/677/2 661/678/2 629/679/2 -f 629/679/2 662/680/2 630/681/2 -f 630/681/2 663/682/2 631/683/2 -f 631/683/2 664/684/2 632/685/2 -f 632/685/2 665/686/2 633/687/2 -f 665/688/2 634/689/2 633/690/2 -f 666/691/2 635/692/2 634/689/2 -f 667/693/2 636/694/2 635/692/2 -f 668/695/2 637/666/2 636/694/2 -f 655/696/1 686/697/1 654/698/1 -f 656/699/1 687/700/1 655/696/1 -f 656/699/1 673/701/1 688/702/1 -f 642/703/1 673/701/1 641/704/1 -f 643/705/1 674/706/1 642/703/1 -f 643/705/1 676/707/1 675/708/1 -f 644/709/1 677/710/1 676/707/1 -f 645/711/1 678/712/1 677/710/1 -f 646/713/1 679/714/1 678/712/1 -f 647/715/1 680/716/1 679/714/1 -f 648/717/1 681/718/1 680/716/1 -f 650/719/1 681/720/1 649/721/1 -f 651/722/1 682/723/1 650/719/1 -f 652/724/1 683/725/1 651/722/1 -f 653/726/1 684/727/1 652/724/1 -f 654/698/1 685/728/1 653/726/1 -f 693/729/2 691/730/2 699/731/2 -f 721/732/45 726/733/45 722/734/45 -f 724/735/2 727/736/2 723/737/2 -f 722/734/8 728/738/8 724/735/8 -f 727/739/7 721/732/7 723/737/7 -f 873/740/46 878/741/46 874/742/46 -f 758/743/1 773/744/1 757/745/1 -f 759/746/1 774/747/1 758/743/1 -f 760/748/1 775/749/1 759/746/1 -f 745/750/1 776/751/1 760/748/1 -f 745/750/1 762/752/1 761/753/1 -f 746/754/1 763/755/1 762/752/1 -f 747/756/1 764/757/1 763/755/1 -f 748/758/1 765/759/1 764/757/1 -f 749/760/1 766/761/1 765/759/1 -f 750/762/1 767/763/1 766/761/1 -f 751/764/1 768/765/1 767/763/1 -f 752/766/1 769/767/1 768/765/1 -f 754/768/1 769/769/1 753/770/1 -f 755/771/1 770/772/1 754/768/1 -f 756/773/1 771/774/1 755/771/1 -f 757/745/1 772/775/1 756/773/1 -f 813/776/1 817/777/1 821/778/1 -f 717/779/47 854/780/47 853/781/47 -f 718/782/48 855/783/48 854/780/48 -f 719/784/49 856/785/49 855/783/49 -f 720/786/50 841/787/50 856/785/50 -f 705/788/51 841/787/51 706/789/51 -f 707/790/52 842/791/52 705/788/52 -f 708/792/53 843/793/53 707/790/53 -f 709/794/54 844/795/54 708/792/54 -f 710/796/55 845/797/55 709/794/55 -f 711/798/56 846/799/56 710/796/56 -f 712/800/57 847/801/57 711/798/57 -f 713/802/58 848/803/58 712/800/58 -f 713/804/59 850/805/59 849/806/59 -f 714/807/60 851/808/60 850/805/60 -f 715/809/61 852/810/61 851/808/61 -f 716/811/62 853/781/62 852/810/62 -f 838/812/63 871/813/63 839/814/63 -f 839/814/64 872/815/64 840/816/64 -f 840/816/65 857/817/65 826/818/65 -f 857/817/66 825/819/66 826/818/66 -f 858/820/67 827/821/67 825/819/67 -f 859/822/68 828/823/68 827/821/68 -f 860/824/69 829/825/69 828/823/69 -f 861/826/70 830/827/70 829/825/70 -f 862/828/71 831/829/71 830/827/71 -f 863/830/72 832/831/72 831/829/72 -f 864/832/73 833/833/73 832/831/73 -f 833/834/74 866/835/74 834/836/74 -f 834/836/75 867/837/75 835/838/75 -f 835/838/76 868/839/76 836/840/76 -f 836/840/77 869/841/77 837/842/77 -f 837/842/78 870/843/78 838/812/78 -f 876/844/2 879/845/2 875/846/2 -f 874/742/7 880/847/7 876/844/7 -f 879/848/8 873/740/8 875/846/8 -f 881/849/3 886/850/3 882/851/3 -f 884/852/2 887/853/2 883/854/2 -f 882/851/5 888/855/5 884/852/5 -f 887/856/4 881/849/4 883/854/4 -f 889/857/31 894/858/31 890/859/31 -f 892/860/2 895/861/2 891/862/2 -f 890/859/4 896/863/4 892/860/4 -f 895/864/5 889/857/5 891/862/5 -f 897/865/79 902/866/79 898/867/79 -f 899/868/2 904/869/2 903/870/2 -f 898/867/24 904/871/24 900/872/24 -f 903/873/25 897/865/25 899/868/25 -f 905/874/80 910/875/80 906/876/80 -f 908/877/2 911/878/2 907/879/2 -f 906/876/25 912/880/25 908/877/25 -f 911/881/24 905/874/24 907/879/24 -f 914/882/81 917/883/81 918/884/81 -f 916/885/2 919/886/2 915/887/2 -f 914/882/82 920/888/82 916/885/82 -f 919/889/83 913/890/83 915/887/83 -f 922/891/84 925/892/84 926/893/84 -f 924/894/2 927/895/2 923/896/2 -f 922/891/83 928/897/83 924/894/83 -f 927/898/82 921/899/82 923/896/82 -f 24/1/1 38/5/1 37/2/1 -f 22/4/1 39/33/1 38/5/1 -f 28/6/1 26/3/1 37/2/1 -f 30/8/1 28/6/1 36/7/1 -f 30/8/1 35/9/1 34/10/1 -f 32/11/1 34/10/1 33/12/1 -f 2/13/1 33/12/1 48/14/1 -f 4/15/1 48/14/1 47/16/1 -f 6/17/1 47/16/1 46/18/1 -f 8/19/1 46/18/1 45/20/1 -f 12/22/1 10/21/1 45/20/1 -f 14/24/1 12/22/1 44/23/1 -f 16/26/1 14/24/1 43/25/1 -f 18/28/1 16/26/1 42/27/1 -f 20/30/1 18/900/1 41/31/1 -f 22/4/1 20/30/1 40/32/1 -f 9/34/2 61/65/2 62/35/2 -f 7/36/2 62/35/2 63/37/2 -f 63/37/2 64/40/2 3/39/2 -f 64/40/2 49/42/2 1/41/2 -f 49/42/2 50/44/2 31/43/2 -f 50/44/2 51/46/2 29/45/2 -f 51/46/2 52/48/2 27/47/2 -f 52/48/2 53/50/2 25/49/2 -f 53/50/2 54/52/2 23/51/2 -f 54/52/2 55/54/2 21/53/2 -f 55/54/2 56/901/2 19/55/2 -f 19/55/2 56/901/2 57/56/2 -f 17/58/2 57/902/2 58/59/2 -f 15/60/2 58/59/2 59/61/2 -f 13/62/2 59/61/2 60/63/2 -f 11/64/2 60/63/2 61/65/2 -f 73/66/1 74/98/1 106/67/1 -f 72/69/1 73/903/1 105/70/1 -f 71/72/1 72/69/1 104/71/1 -f 71/72/1 103/73/1 102/74/1 -f 70/75/1 102/74/1 101/76/1 -f 68/78/1 69/77/1 101/76/1 -f 67/80/1 68/78/1 100/79/1 -f 67/80/1 99/81/1 98/82/1 -f 66/83/1 98/82/1 97/84/1 -f 65/85/1 97/84/1 112/86/1 -f 79/88/1 80/87/1 112/86/1 -f 78/90/1 79/88/1 111/89/1 -f 78/90/1 110/91/1 109/92/1 -f 76/94/1 77/93/1 109/92/1 -f 76/94/1 108/95/1 107/96/1 -f 75/97/1 107/96/1 106/67/1 -f 89/99/2 121/904/2 122/100/2 -f 88/102/2 120/106/2 121/103/2 -f 87/105/2 119/905/2 120/106/2 -f 118/107/2 119/905/2 87/105/2 -f 117/109/2 118/107/2 86/108/2 -f 84/111/2 116/113/2 117/109/2 -f 83/112/2 115/906/2 116/113/2 -f 114/114/2 115/906/2 83/112/2 -f 113/116/2 114/114/2 82/115/2 -f 128/118/2 113/116/2 81/117/2 -f 95/120/2 127/122/2 128/118/2 -f 94/121/2 126/907/2 127/122/2 -f 125/123/2 126/907/2 94/121/2 -f 92/125/2 124/908/2 125/123/2 -f 123/126/2 124/908/2 92/125/2 -f 122/100/2 123/126/2 91/127/2 -f 130/128/3 132/614/3 131/129/3 -f 134/131/4 136/134/4 135/132/4 -f 136/134/2 138/909/2 137/135/2 -f 138/136/5 140/139/5 139/137/5 -f 140/139/6 142/910/6 141/140/6 -f 141/141/1 142/911/1 134/131/1 -f 133/133/7 135/132/7 139/142/7 -f 135/132/7 137/912/7 139/142/7 -f 136/134/8 134/131/8 140/139/8 -f 134/131/8 142/913/8 140/139/8 -f 144/144/8 146/151/8 145/145/8 -f 159/147/2 161/914/2 162/148/2 -f 144/144/5 149/915/5 150/150/5 -f 145/145/4 147/916/4 148/152/4 -f 146/151/2 150/917/2 147/153/2 -f 143/146/1 148/918/1 149/154/1 -f 155/155/5 159/919/5 160/149/5 -f 151/157/1 155/162/1 156/156/1 -f 152/158/8 156/156/8 158/159/8 -f 151/157/7 153/920/7 157/161/7 -f 154/160/2 158/159/2 157/163/2 -f 162/165/4 161/921/4 157/161/4 -f 157/161/7 161/921/7 159/167/7 -f 160/149/8 162/148/8 158/159/8 -f 165/168/9 187/198/9 188/169/9 -f 171/171/4 173/922/4 174/172/4 -f 167/176/7 163/923/7 192/174/7 -f 192/174/7 165/178/7 169/175/7 -f 166/177/1 170/181/1 169/175/1 -f 170/181/8 166/177/8 191/179/8 -f 191/179/8 164/183/8 168/180/8 -f 163/182/2 167/924/2 168/180/2 -f 178/184/5 177/925/5 175/185/5 -f 172/173/8 174/172/8 178/184/8 -f 172/173/10 176/186/10 175/187/10 -f 171/189/7 175/926/7 177/190/7 -f 173/191/11 177/190/11 178/184/11 -f 179/192/1 181/195/1 182/193/1 -f 188/169/8 190/199/8 191/179/8 -f 181/195/5 185/927/5 186/196/5 -f 182/193/8 186/928/8 184/197/8 -f 187/198/5 189/202/5 190/199/5 -f 179/192/7 183/929/7 185/200/7 -f 192/174/7 189/930/7 187/201/7 -f 189/202/12 192/931/12 191/203/12 -f 191/203/5 192/931/5 163/204/5 -f 202/206/11 204/221/11 203/207/11 -f 197/209/13 200/213/13 199/210/13 -f 194/212/8 199/210/8 200/213/8 -f 195/215/7 197/209/7 198/211/7 -f 196/217/14 200/213/14 197/209/14 -f 193/219/15 198/211/15 199/210/15 -f 204/221/5 206/235/5 205/222/5 -f 210/223/1 209/255/1 207/224/1 -f 211/226/16 212/228/16 208/225/16 -f 213/227/5 214/230/5 212/228/5 -f 215/229/2 216/232/2 214/230/2 -f 217/231/12 218/234/12 216/232/12 -f 219/233/2 220/251/2 218/234/2 -f 206/235/7 204/221/7 222/236/7 -f 205/222/8 223/242/8 221/238/8 -f 222/236/7 204/221/7 202/206/7 -f 201/208/8 203/207/8 221/238/8 -f 224/241/4 222/243/4 221/238/4 -f 225/240/17 221/238/17 222/243/17 -f 230/245/8 228/932/8 212/228/8 -f 227/246/7 229/252/7 213/227/7 -f 215/229/7 231/253/7 233/247/7 -f 217/231/7 233/247/7 235/248/7 -f 216/232/8 218/234/8 234/249/8 -f 220/251/8 236/267/8 234/249/8 -f 215/229/7 213/227/7 229/252/7 -f 216/232/8 232/250/8 230/245/8 -f 208/225/8 238/259/8 240/254/8 -f 209/255/7 239/933/7 237/256/7 -f 207/224/7 237/256/7 227/257/7 -f 208/225/8 212/228/8 228/258/8 -f 240/254/2 238/259/2 237/260/2 -f 238/259/18 228/258/18 227/262/18 -f 227/263/4 228/932/4 230/245/4 -f 229/264/1 230/245/1 232/250/1 -f 231/265/19 232/250/19 234/249/19 -f 233/266/1 234/249/1 236/267/1 -f 249/271/1 250/934/1 251/935/1 -f 251/935/1 252/936/1 253/269/1 -f 253/269/1 254/937/1 255/270/1 -f 255/270/1 256/938/1 249/271/1 -f 249/271/1 251/935/1 253/269/1 -f 272/272/2 280/284/2 273/273/2 -f 271/275/2 270/285/2 278/276/2 -f 269/278/2 268/287/2 276/279/2 -f 266/281/2 274/288/2 275/282/2 -f 271/275/2 279/277/2 280/284/2 -f 270/285/2 269/939/2 277/286/2 -f 268/287/2 267/283/2 275/282/2 -f 265/274/2 273/273/2 274/288/2 -f 321/291/1 322/940/1 323/941/1 -f 323/941/1 324/942/1 325/289/1 -f 325/289/1 326/943/1 327/290/1 -f 327/290/1 328/944/1 321/291/1 -f 321/291/1 323/941/1 325/289/1 -f 358/292/1 359/295/1 331/293/1 -f 359/295/1 360/297/1 330/296/1 -f 360/297/1 345/299/1 329/298/1 -f 345/299/1 346/301/1 344/300/1 -f 346/301/1 347/945/1 343/302/1 -f 343/302/1 347/945/1 348/303/1 -f 342/304/1 348/303/1 349/305/1 -f 349/305/1 350/308/1 340/307/1 -f 350/308/1 351/946/1 339/309/1 -f 339/309/1 351/946/1 352/310/1 -f 338/311/1 352/310/1 353/312/1 -f 337/314/1 353/947/1 354/315/1 -f 336/316/1 354/315/1 355/317/1 -f 355/317/1 356/948/1 334/319/1 -f 334/319/1 356/948/1 357/320/1 -f 357/320/1 358/292/1 332/294/1 -f 363/322/2 391/326/2 390/323/2 -f 362/325/2 392/328/2 391/326/2 -f 361/327/2 377/330/2 392/328/2 -f 376/329/2 378/332/2 377/330/2 -f 375/331/2 379/334/2 378/332/2 -f 375/331/2 374/335/2 380/333/2 -f 374/335/2 373/338/2 381/336/2 -f 372/337/2 382/340/2 381/336/2 -f 371/339/2 383/342/2 382/340/2 -f 371/339/2 370/343/2 384/341/2 -f 370/343/2 369/949/2 385/344/2 -f 369/345/2 368/348/2 386/346/2 -f 368/348/2 367/351/2 387/349/2 -f 366/350/2 388/353/2 387/349/2 -f 366/350/2 365/354/2 389/352/2 -f 364/324/2 390/323/2 389/352/2 -f 395/355/5 396/362/5 394/356/5 -f 399/358/4 400/361/4 397/359/4 -f 395/355/2 397/359/2 400/361/2 -f 394/356/1 399/950/1 398/363/1 -f 397/364/8 401/375/8 402/365/8 -f 399/367/7 403/951/7 404/368/7 -f 396/362/8 408/372/8 406/370/8 -f 393/357/7 405/377/7 407/371/7 -f 396/362/2 400/369/2 404/368/2 -f 394/356/1 406/370/1 403/373/1 -f 395/355/2 407/371/2 401/375/2 -f 393/357/1 398/952/1 402/376/1 -f 412/380/2 410/407/2 434/383/2 -f 434/383/2 436/378/2 412/380/2 -f 433/381/4 438/953/4 439/382/4 -f 418/384/4 421/954/4 432/385/4 -f 409/387/7 422/955/7 421/388/7 -f 416/390/4 426/414/4 429/391/4 -f 413/393/20 428/405/20 422/394/20 -f 420/396/7 432/425/7 431/397/7 -f 410/399/21 424/956/21 423/400/21 -f 417/402/7 430/422/7 427/403/7 -f 414/401/5 423/400/5 428/405/5 -f 412/380/8 425/418/8 424/406/8 -f 419/408/5 431/957/5 430/409/5 -f 415/392/22 429/391/22 425/411/22 -f 411/413/23 427/958/23 426/414/23 -f 434/415/7 439/419/7 440/416/7 -f 439/419/1 424/406/1 425/418/1 -f 425/418/1 429/391/1 440/416/1 -f 416/420/2 415/379/2 436/378/2 -f 426/414/1 437/959/1 440/416/1 -f 437/959/1 426/414/1 427/403/1 -f 430/422/1 431/397/1 438/423/1 -f 438/423/1 437/959/1 427/403/1 -f 411/424/2 416/420/2 435/421/2 -f 433/381/2 419/408/2 417/410/2 -f 411/424/2 435/421/2 433/381/2 -f 423/400/1 424/406/1 432/425/1 -f 424/406/1 439/419/1 432/425/1 -f 439/419/1 438/423/1 431/397/1 -f 434/383/2 410/407/2 420/386/2 -f 410/407/2 414/960/2 420/386/2 -f 420/386/2 419/408/2 434/383/2 -f 432/425/1 421/388/1 422/955/1 -f 422/955/1 428/405/1 432/425/1 -f 409/427/2 418/384/2 420/386/2 -f 420/386/2 414/960/2 413/426/2 -f 435/428/8 437/959/8 438/423/8 -f 436/378/5 440/961/5 437/430/5 -f 470/431/1 471/434/1 443/432/1 -f 471/434/1 472/436/1 442/435/1 -f 472/436/1 457/438/1 441/437/1 -f 457/438/1 458/440/1 456/439/1 -f 458/440/1 459/962/1 455/441/1 -f 455/441/1 459/962/1 460/442/1 -f 454/443/1 460/442/1 461/444/1 -f 461/444/1 462/447/1 452/446/1 -f 462/447/1 463/963/1 451/448/1 -f 451/448/1 463/963/1 464/449/1 -f 450/450/1 464/449/1 465/451/1 -f 449/453/1 465/964/1 466/454/1 -f 448/455/1 466/454/1 467/456/1 -f 467/456/1 468/965/1 446/458/1 -f 446/458/1 468/965/1 469/459/1 -f 469/459/1 470/431/1 444/433/1 -f 475/461/2 503/465/2 502/462/2 -f 474/464/2 504/467/2 503/465/2 -f 473/466/2 489/469/2 504/467/2 -f 488/468/2 490/471/2 489/469/2 -f 487/470/2 491/473/2 490/471/2 -f 487/470/2 486/474/2 492/472/2 -f 486/474/2 485/477/2 493/475/2 -f 484/476/2 494/479/2 493/475/2 -f 483/478/2 495/481/2 494/479/2 -f 483/478/2 482/482/2 496/480/2 -f 482/482/2 481/966/2 497/483/2 -f 481/484/2 480/487/2 498/485/2 -f 480/487/2 479/490/2 499/488/2 -f 478/489/2 500/492/2 499/488/2 -f 478/489/2 477/493/2 501/491/2 -f 476/463/2 502/462/2 501/491/2 -f 510/494/8 509/967/8 507/495/8 -f 511/497/4 510/968/4 505/498/4 -f 528/500/8 531/509/8 532/501/8 -f 529/502/4 532/969/4 530/503/4 -f 513/505/7 525/512/7 526/506/7 -f 528/500/24 515/510/24 516/508/24 -f 515/510/5 517/970/5 518/511/5 -f 530/503/25 526/506/25 525/512/25 -f 511/524/2 531/526/2 510/515/2 -f 531/526/2 516/971/2 524/972/2 -f 510/515/2 531/526/2 523/513/2 -f 516/971/2 518/973/2 524/972/2 -f 524/972/2 523/513/2 531/526/2 -f 530/974/2 509/527/2 510/515/2 -f 514/975/2 526/976/2 522/514/2 -f 526/976/2 530/974/2 510/515/2 -f 522/514/2 526/976/2 510/515/2 -f 506/516/1 528/523/1 529/517/1 -f 508/518/1 529/517/1 527/519/1 -f 507/520/1 527/519/1 505/977/1 -f 527/519/1 525/978/1 505/977/1 -f 525/978/1 513/979/1 519/980/1 -f 525/978/1 519/980/1 505/977/1 -f 519/980/1 520/521/1 505/977/1 -f 528/523/1 506/516/1 505/977/1 -f 517/981/1 515/982/1 521/522/1 -f 515/982/1 528/523/1 521/522/1 -f 528/523/1 505/977/1 520/521/1 -f 511/524/2 512/528/2 532/525/2 -f 509/527/2 530/974/2 532/525/2 -f 509/529/5 512/983/5 508/530/5 -f 512/532/7 511/984/7 506/533/7 -f 539/535/4 540/545/4 537/536/4 -f 534/538/1 539/535/1 538/537/1 -f 536/540/8 540/545/8 539/535/8 -f 533/542/7 538/537/7 537/536/7 -f 535/544/2 537/536/2 540/545/2 -f 541/547/25 549/584/25 542/548/25 -f 546/550/4 553/554/4 554/551/4 -f 544/553/8 552/985/8 553/554/8 -f 545/555/4 551/986/4 550/556/4 -f 547/552/7 554/551/7 551/558/7 -f 541/547/4 548/549/4 552/560/4 -f 562/562/7 557/572/7 542/563/7 -f 559/565/1 568/571/1 567/566/1 -f 570/568/2 571/576/2 564/569/2 -f 568/571/26 571/576/26 570/568/26 -f 567/566/1 542/563/1 557/572/1 -f 562/573/2 549/987/2 570/568/2 -f 559/565/1 560/604/1 569/574/1 -f 572/575/2 565/600/2 564/569/2 -f 569/574/27 572/575/27 571/576/27 -f 574/577/5 573/597/5 561/578/5 -f 556/580/28 567/988/28 570/581/28 -f 542/548/1 567/989/1 556/583/1 -f 549/584/2 541/547/2 555/585/2 -f 578/587/4 577/602/4 575/588/4 -f 569/574/29 577/603/29 578/590/29 -f 579/591/7 580/990/7 576/592/7 -f 580/594/5 579/991/5 556/595/5 -f 573/597/1 550/556/1 579/591/1 -f 550/556/8 573/597/8 574/577/8 -f 574/577/2 576/992/2 580/594/2 -f 566/579/2 578/993/2 576/599/2 -f 565/600/2 572/575/2 578/590/2 -f 573/597/1 575/588/1 577/602/1 -f 577/603/1 569/574/1 560/604/1 -f 550/556/1 551/986/1 554/994/1 -f 553/606/1 552/560/1 548/549/1 -f 579/591/1 550/556/1 554/994/1 -f 553/606/1 548/549/1 556/607/1 -f 579/591/1 554/994/1 553/606/1 -f 547/609/2 545/995/2 543/598/2 -f 580/594/2 555/596/2 546/608/2 -f 555/596/2 541/996/2 546/608/2 -f 541/996/2 544/997/2 546/608/2 -f 547/609/2 543/598/2 580/594/2 -f 581/610/30 584/613/30 583/611/30 -f 130/128/5 583/611/5 584/613/5 -f 129/130/4 131/129/4 581/615/4 -f 586/617/31 588/624/31 587/618/31 -f 589/620/32 592/623/32 591/621/32 -f 586/617/4 591/621/4 592/623/4 -f 585/619/5 587/618/5 589/625/5 -f 594/627/33 596/633/33 595/628/33 -f 598/630/34 597/998/34 600/631/34 -f 594/627/35 599/632/35 600/631/35 -f 593/629/36 595/628/36 597/634/36 -f 602/636/37 604/643/37 603/637/37 -f 605/639/38 608/642/38 607/640/38 -f 602/636/36 607/640/36 608/642/36 -f 601/638/35 603/637/35 605/644/35 -f 609/646/39 610/652/39 612/647/39 -f 614/649/40 613/999/40 616/650/40 -f 610/652/41 615/651/41 616/650/41 -f 609/646/42 611/648/42 613/653/42 -f 618/655/43 620/661/43 619/656/43 -f 622/658/44 621/1000/44 624/659/44 -f 618/655/42 623/660/42 624/659/42 -f 617/657/41 619/656/41 621/662/41 -f 669/664/2 670/667/2 638/665/2 -f 670/667/2 671/669/2 639/668/2 -f 671/669/2 672/1001/2 640/670/2 -f 640/670/2 672/1001/2 657/671/2 -f 657/671/2 658/674/2 626/673/2 -f 658/674/2 659/1002/2 627/675/2 -f 627/675/2 659/1002/2 660/676/2 -f 628/677/2 660/676/2 661/678/2 -f 629/679/2 661/678/2 662/680/2 -f 630/681/2 662/680/2 663/682/2 -f 631/683/2 663/682/2 664/684/2 -f 632/685/2 664/684/2 665/686/2 -f 665/688/2 666/691/2 634/689/2 -f 666/691/2 667/693/2 635/692/2 -f 667/693/2 668/695/2 636/694/2 -f 668/695/2 669/664/2 637/666/2 -f 655/696/1 687/700/1 686/697/1 -f 656/699/1 688/702/1 687/700/1 -f 656/699/1 641/704/1 673/701/1 -f 642/703/1 674/706/1 673/701/1 -f 643/705/1 675/708/1 674/706/1 -f 643/705/1 644/709/1 676/707/1 -f 644/709/1 645/711/1 677/710/1 -f 645/711/1 646/713/1 678/712/1 -f 646/713/1 647/715/1 679/714/1 -f 647/715/1 648/717/1 680/716/1 -f 648/717/1 649/1003/1 681/718/1 -f 650/719/1 682/723/1 681/720/1 -f 651/722/1 683/725/1 682/723/1 -f 652/724/1 684/727/1 683/725/1 -f 653/726/1 685/728/1 684/727/1 -f 654/698/1 686/697/1 685/728/1 -f 691/730/2 690/1004/2 689/1005/2 -f 689/1005/2 704/1006/2 703/1007/2 -f 703/1007/2 702/1008/2 699/731/2 -f 702/1008/2 701/1009/2 699/731/2 -f 701/1009/2 700/1010/2 699/731/2 -f 699/731/2 698/1011/2 697/1012/2 -f 697/1012/2 696/1013/2 695/1014/2 -f 695/1014/2 694/1015/2 693/729/2 -f 693/729/2 692/1016/2 691/730/2 -f 691/730/2 689/1005/2 699/731/2 -f 689/1005/2 703/1007/2 699/731/2 -f 699/731/2 697/1012/2 695/1014/2 -f 695/1014/2 693/729/2 699/731/2 -f 721/732/45 725/1017/45 726/733/45 -f 724/735/2 728/1018/2 727/736/2 -f 722/734/8 726/1019/8 728/738/8 -f 727/739/7 725/1020/7 721/732/7 -f 873/740/46 877/1021/46 878/741/46 -f 758/743/1 774/747/1 773/744/1 -f 759/746/1 775/749/1 774/747/1 -f 760/748/1 776/751/1 775/749/1 -f 745/750/1 761/753/1 776/751/1 -f 745/750/1 746/754/1 762/752/1 -f 746/754/1 747/756/1 763/755/1 -f 747/756/1 748/758/1 764/757/1 -f 748/758/1 749/760/1 765/759/1 -f 749/760/1 750/762/1 766/761/1 -f 750/762/1 751/764/1 767/763/1 -f 751/764/1 752/766/1 768/765/1 -f 752/766/1 753/1022/1 769/767/1 -f 754/768/1 770/772/1 769/769/1 -f 755/771/1 771/774/1 770/772/1 -f 756/773/1 772/775/1 771/774/1 -f 757/745/1 773/744/1 772/775/1 -f 809/1023/1 810/1024/1 811/1025/1 -f 811/1025/1 812/1026/1 813/776/1 -f 813/776/1 814/1027/1 815/1028/1 -f 815/1028/1 816/1029/1 817/777/1 -f 817/777/1 818/1030/1 819/1031/1 -f 819/1031/1 820/1032/1 821/778/1 -f 821/778/1 822/1033/1 823/1034/1 -f 823/1034/1 824/1035/1 809/1023/1 -f 809/1023/1 811/1025/1 813/776/1 -f 813/776/1 815/1028/1 817/777/1 -f 817/777/1 819/1031/1 821/778/1 -f 821/778/1 823/1034/1 809/1023/1 -f 809/1023/1 813/776/1 821/778/1 -f 717/779/47 718/782/47 854/780/47 -f 718/782/48 719/784/48 855/783/48 -f 719/784/49 720/786/49 856/785/49 -f 720/786/50 706/789/50 841/787/50 -f 705/788/51 842/791/51 841/787/51 -f 707/790/52 843/793/52 842/791/52 -f 708/792/53 844/795/53 843/793/53 -f 709/794/54 845/797/54 844/795/54 -f 710/796/55 846/799/55 845/797/55 -f 711/798/56 847/801/56 846/799/56 -f 712/800/57 848/803/57 847/801/57 -f 713/802/58 849/1036/58 848/803/58 -f 713/804/59 714/807/59 850/805/59 -f 714/807/60 715/809/60 851/808/60 -f 715/809/61 716/811/61 852/810/61 -f 716/811/62 717/779/62 853/781/62 -f 838/812/63 870/843/63 871/813/63 -f 839/814/64 871/813/64 872/815/64 -f 840/816/65 872/815/65 857/817/65 -f 857/817/66 858/820/66 825/819/66 -f 858/820/67 859/822/67 827/821/67 -f 859/822/68 860/824/68 828/823/68 -f 860/824/69 861/826/69 829/825/69 -f 861/826/70 862/828/70 830/827/70 -f 862/828/71 863/830/71 831/829/71 -f 863/830/72 864/832/72 832/831/72 -f 864/832/73 865/1037/73 833/833/73 -f 833/834/74 865/1038/74 866/835/74 -f 834/836/75 866/835/75 867/837/75 -f 835/838/76 867/837/76 868/839/76 -f 836/840/77 868/839/77 869/841/77 -f 837/842/78 869/841/78 870/843/78 -f 876/844/2 880/1039/2 879/845/2 -f 874/742/7 878/1040/7 880/847/7 -f 879/848/8 877/1041/8 873/740/8 -f 881/849/3 885/1042/3 886/850/3 -f 884/852/2 888/1043/2 887/853/2 -f 882/851/5 886/1044/5 888/855/5 -f 887/856/4 885/1045/4 881/849/4 -f 889/857/31 893/1046/31 894/858/31 -f 892/860/2 896/1047/2 895/861/2 -f 890/859/4 894/1048/4 896/863/4 -f 895/864/5 893/1049/5 889/857/5 -f 897/865/79 901/1050/79 902/866/79 -f 899/868/2 900/872/2 904/869/2 -f 898/867/24 902/1051/24 904/871/24 -f 903/873/25 901/1052/25 897/865/25 -f 905/874/80 909/1053/80 910/875/80 -f 908/877/2 912/1054/2 911/878/2 -f 906/876/25 910/1055/25 912/880/25 -f 911/881/24 909/1056/24 905/874/24 -f 914/882/81 913/890/81 917/883/81 -f 916/885/2 920/1057/2 919/886/2 -f 914/882/82 918/1058/82 920/888/82 -f 919/889/83 917/1059/83 913/890/83 -f 922/891/84 921/899/84 925/892/84 -f 924/894/2 928/1060/2 927/895/2 -f 922/891/83 926/1061/83 928/897/83 -f 927/898/82 925/1062/82 921/899/82 +f 360/463/109 373/464/109 362/465/109 +f 358/466/109 374/467/109 360/463/109 +f 364/468/109 373/464/109 372/469/109 +f 366/470/109 372/469/109 371/471/109 +f 366/470/109 370/472/109 368/473/109 +f 368/473/109 369/474/109 338/475/109 +f 338/475/109 384/476/109 340/477/109 +f 340/477/109 383/478/109 342/479/109 +f 342/479/109 382/480/109 344/481/109 +f 344/481/109 381/482/109 346/483/109 +f 348/484/109 381/482/109 380/485/109 +f 350/486/109 380/485/109 379/487/109 +f 352/488/109 379/487/109 378/489/109 +f 354/490/109 378/489/109 377/491/109 +f 356/492/109 377/493/109 376/494/109 +f 358/466/109 376/494/109 375/495/109 +f 345/496/110 398/497/110 343/498/110 +f 343/498/110 399/499/110 341/500/110 +f 399/499/110 339/501/110 341/500/110 +f 400/502/110 337/503/110 339/501/110 +f 385/504/110 367/505/110 337/503/110 +f 386/506/110 365/507/110 367/505/110 +f 387/508/110 363/509/110 365/507/110 +f 388/510/110 361/511/110 363/509/110 +f 389/512/110 359/513/110 361/511/110 +f 390/514/110 357/515/110 359/513/110 +f 391/516/110 355/517/110 357/515/110 +f 355/517/110 393/518/110 353/519/110 +f 353/520/110 394/521/110 351/522/110 +f 351/522/110 395/523/110 349/524/110 +f 349/524/110 396/525/110 347/526/110 +f 347/526/110 397/527/110 345/496/110 +f 409/528/109 442/529/109 441/530/109 +f 408/531/109 441/532/109 440/533/109 +f 407/534/109 440/533/109 439/535/109 +f 407/534/109 438/536/109 406/537/109 +f 406/537/109 437/538/109 405/539/109 +f 404/540/109 437/538/109 436/541/109 +f 403/542/109 436/541/109 435/543/109 +f 403/542/109 434/544/109 402/545/109 +f 402/545/109 433/546/109 401/547/109 +f 401/547/109 448/548/109 416/549/109 +f 415/550/109 448/548/109 447/551/109 +f 414/552/109 447/551/109 446/553/109 +f 414/552/109 445/554/109 413/555/109 +f 412/556/109 445/554/109 444/557/109 +f 412/556/109 443/558/109 411/559/109 +f 411/559/109 442/529/109 410/560/109 +f 425/561/110 458/562/110 426/563/110 +f 424/564/110 457/565/110 425/566/110 +f 423/567/110 456/568/110 424/564/110 +f 454/569/110 423/567/110 422/570/110 +f 453/571/110 422/570/110 421/572/110 +f 420/573/110 453/571/110 421/572/110 +f 419/574/110 452/575/110 420/573/110 +f 450/576/110 419/574/110 418/577/110 +f 449/578/110 418/577/110 417/579/110 +f 464/580/110 417/579/110 432/581/110 +f 431/582/110 464/580/110 432/581/110 +f 430/583/110 463/584/110 431/582/110 +f 461/585/110 430/583/110 429/586/110 +f 428/587/110 461/585/110 429/586/110 +f 459/588/110 428/587/110 427/589/110 +f 458/562/110 427/589/110 426/563/110 +f 466/590/111 467/591/111 465/592/111 +f 470/593/112 471/594/112 469/595/112 +f 472/596/110 473/597/110 471/594/110 +f 474/598/113 475/599/113 473/600/113 +f 476/601/114 477/602/114 475/599/114 +f 477/603/109 470/593/109 469/595/109 +f 475/604/115 477/605/115 469/595/115 +f 476/601/116 474/598/116 472/596/116 +f 480/606/116 481/607/116 479/608/116 +f 495/609/110 498/610/110 496/611/110 +f 480/606/113 486/612/113 482/613/113 +f 481/607/112 484/614/112 479/608/112 +f 482/613/110 483/615/110 481/607/110 +f 479/608/109 485/616/109 480/606/109 +f 491/617/113 496/611/113 492/618/113 +f 487/619/109 492/618/109 488/620/109 +f 488/620/116 494/621/116 490/622/116 +f 487/619/115 493/623/115 491/624/115 +f 490/622/110 493/625/110 489/626/110 +f 498/627/112 493/623/112 494/628/112 +f 493/623/115 495/629/115 491/624/115 +f 496/611/116 494/621/116 492/618/116 +f 501/630/117 524/631/117 502/632/117 +f 507/633/112 510/634/112 508/635/112 +f 528/636/115 505/637/115 503/638/115 +f 502/639/109 505/637/109 501/640/109 +f 527/641/116 504/642/116 506/643/116 +f 499/644/110 504/642/110 500/645/110 +f 514/646/113 511/647/113 512/648/113 +f 508/635/116 514/646/116 512/648/116 +f 508/635/118 511/649/118 507/650/118 +f 507/651/115 513/652/115 509/653/115 +f 509/653/119 514/646/119 510/634/119 +f 515/654/109 518/655/109 516/656/109 +f 524/631/116 527/641/116 502/639/116 +f 517/657/113 522/658/113 518/655/113 +f 518/655/116 520/659/116 516/656/116 +f 523/660/113 526/661/113 524/631/113 +f 515/654/115 521/662/115 517/657/115 +f 528/636/115 523/663/115 501/640/115 +f 525/664/120 527/665/120 526/661/120 +f 527/665/113 499/666/113 500/667/113 +f 538/668/119 539/669/119 537/670/119 +f 533/671/121 535/672/121 534/673/121 +f 530/674/116 536/675/116 532/676/116 +f 531/677/115 534/673/115 529/678/115 +f 532/679/122 533/671/122 531/680/122 +f 529/681/123 535/672/123 530/682/123 +f 540/683/113 541/684/113 539/669/113 +f 546/685/109 543/686/109 544/687/109 +f 547/688/124 544/687/124 543/686/124 +f 549/689/113 548/690/113 547/688/113 +f 551/691/110 550/692/110 549/689/110 +f 553/693/120 552/694/120 551/691/120 +f 555/695/110 554/696/110 553/693/110 +f 542/697/115 558/698/115 560/699/115 +f 541/684/116 557/700/116 539/669/116 +f 558/698/115 538/668/115 562/701/115 +f 537/670/116 557/700/116 561/702/116 +f 560/703/112 557/700/112 559/704/112 +f 561/702/125 558/705/125 562/706/125 +f 566/707/116 548/690/116 550/692/116 +f 563/708/115 549/689/115 547/688/115 +f 551/691/115 569/709/115 553/693/115 +f 553/693/115 571/710/115 555/695/115 +f 552/694/116 570/711/116 568/712/116 +f 556/713/116 570/711/116 554/696/116 +f 551/691/115 565/714/115 567/715/115 +f 552/694/116 566/707/116 550/692/116 +f 544/687/116 576/716/116 546/685/116 +f 545/717/115 573/718/115 543/686/115 +f 543/686/115 563/719/115 547/688/115 +f 544/687/116 564/720/116 574/721/116 +f 576/716/110 573/722/110 575/723/110 +f 574/721/126 563/724/126 573/722/126 +f 563/725/112 566/707/112 565/726/112 +f 565/726/109 568/712/109 567/727/109 +f 567/727/127 570/711/127 569/728/127 +f 569/728/109 572/729/109 571/730/109 +f 589/731/109 591/732/109 585/733/109 +f 608/734/110 609/735/110 601/736/110 +f 607/737/110 614/738/110 615/739/110 +f 605/740/110 612/741/110 613/742/110 +f 602/743/110 611/744/110 603/745/110 +f 607/737/110 616/746/110 608/734/110 +f 606/747/110 613/748/110 614/738/110 +f 604/749/110 611/744/110 612/741/110 +f 601/736/110 610/750/110 602/743/110 +f 661/751/109 663/752/109 657/753/109 +f 694/754/109 667/755/109 668/756/109 +f 695/757/109 666/758/109 667/755/109 +f 696/759/109 665/760/109 666/758/109 +f 681/761/109 680/762/109 665/760/109 +f 682/763/109 679/764/109 680/762/109 +f 679/764/109 684/765/109 678/766/109 +f 678/766/109 685/767/109 677/768/109 +f 685/767/109 676/769/109 677/768/109 +f 686/770/109 675/771/109 676/769/109 +f 675/771/109 688/772/109 674/773/109 +f 674/773/109 689/774/109 673/775/109 +f 673/776/109 690/777/109 672/778/109 +f 672/778/109 691/779/109 671/780/109 +f 691/779/109 670/781/109 671/780/109 +f 670/781/109 693/782/109 669/783/109 +f 693/782/109 668/756/109 669/783/109 +f 699/784/110 726/785/110 700/786/110 +f 698/787/110 727/788/110 699/784/110 +f 697/789/110 728/790/110 698/787/110 +f 712/791/110 713/792/110 697/789/110 +f 711/793/110 714/794/110 712/791/110 +f 711/793/110 716/795/110 715/796/110 +f 710/797/110 717/798/110 716/795/110 +f 708/799/110 717/798/110 709/800/110 +f 707/801/110 718/802/110 708/799/110 +f 707/801/110 720/803/110 719/804/110 +f 706/805/110 721/806/110 720/803/110 +f 705/807/110 722/808/110 721/809/110 +f 704/810/110 723/811/110 722/808/110 +f 702/812/110 723/811/110 703/813/110 +f 702/812/110 725/814/110 724/815/110 +f 700/786/110 725/814/110 701/816/110 +f 731/817/113 730/818/113 729/819/113 +f 735/820/112 733/821/112 734/822/112 +f 731/817/110 736/823/110 732/824/110 +f 730/818/109 734/825/109 729/819/109 +f 733/826/116 738/827/116 734/828/116 +f 735/829/115 740/830/115 736/831/115 +f 732/824/116 742/832/116 730/818/116 +f 729/819/115 743/833/115 731/817/115 +f 732/824/110 740/830/110 744/834/110 +f 730/818/109 739/835/109 735/836/109 +f 731/817/110 737/837/110 733/826/110 +f 729/819/109 738/838/109 741/839/109 +f 774/840/109 747/841/109 748/842/109 +f 775/843/109 746/844/109 747/841/109 +f 776/845/109 745/846/109 746/844/109 +f 761/847/109 760/848/109 745/846/109 +f 762/849/109 759/850/109 760/848/109 +f 759/850/109 764/851/109 758/852/109 +f 758/852/109 765/853/109 757/854/109 +f 765/853/109 756/855/109 757/854/109 +f 766/856/109 755/857/109 756/855/109 +f 755/857/109 768/858/109 754/859/109 +f 754/859/109 769/860/109 753/861/109 +f 753/862/109 770/863/109 752/864/109 +f 752/864/109 771/865/109 751/866/109 +f 771/865/109 750/867/109 751/866/109 +f 750/867/109 773/868/109 749/869/109 +f 773/868/109 748/842/109 749/869/109 +f 779/870/110 806/871/110 780/872/110 +f 778/873/110 807/874/110 779/870/110 +f 777/875/110 808/876/110 778/873/110 +f 792/877/110 793/878/110 777/875/110 +f 791/879/110 794/880/110 792/877/110 +f 791/879/110 796/881/110 795/882/110 +f 790/883/110 797/884/110 796/881/110 +f 788/885/110 797/884/110 789/886/110 +f 787/887/110 798/888/110 788/885/110 +f 787/887/110 800/889/110 799/890/110 +f 786/891/110 801/892/110 800/889/110 +f 785/893/110 802/894/110 801/895/110 +f 784/896/110 803/897/110 802/894/110 +f 782/898/110 803/897/110 783/899/110 +f 782/898/110 805/900/110 804/901/110 +f 780/872/110 805/900/110 781/902/110 +f 814/903/116 811/904/116 809/905/116 +f 815/906/112 809/907/112 810/908/112 +f 832/909/116 836/910/116 833/911/116 +f 833/911/112 834/912/112 831/913/112 +f 817/914/115 830/915/115 818/916/115 +f 832/909/128 820/917/128 835/918/128 +f 819/919/113 822/920/113 820/917/113 +f 834/912/129 829/921/129 831/913/129 +f 827/922/110 826/923/110 814/924/110 +f 810/925/109 833/926/109 812/927/109 +f 812/927/109 831/928/109 811/929/109 +f 824/930/109 825/931/109 832/932/109 +f 815/933/110 836/934/110 835/935/110 +f 813/936/110 836/934/110 816/937/110 +f 813/938/113 812/939/113 811/940/113 +f 816/941/115 810/942/115 812/943/115 +f 843/944/112 841/945/112 842/946/112 +f 838/947/109 842/946/109 837/948/109 +f 840/949/116 843/944/116 838/950/116 +f 837/951/115 841/945/115 839/952/115 +f 839/953/110 844/954/110 840/955/110 +f 845/956/129 846/957/129 852/958/129 +f 850/959/112 858/960/112 851/961/112 +f 848/962/116 857/963/116 850/959/116 +f 849/964/112 854/965/112 847/966/112 +f 851/961/115 855/967/115 849/968/115 +f 845/956/112 856/969/112 848/970/112 +f 866/971/115 846/972/115 853/973/115 +f 863/974/109 871/975/109 862/976/109 +f 874/977/110 868/978/110 867/979/110 +f 872/980/130 874/977/130 871/975/130 +f 871/975/109 861/981/109 862/976/109 +f 866/982/110 874/977/110 867/979/110 +f 863/974/109 873/983/109 872/980/109 +f 876/984/110 868/978/110 875/985/110 +f 873/983/131 875/985/131 872/980/131 +f 878/986/113 865/987/113 870/988/113 +f 860/989/132 874/990/132 859/991/132 +f 846/957/109 860/992/109 852/958/109 +f 853/993/110 859/994/110 874/995/110 +f 882/996/112 879/997/112 880/998/112 +f 873/983/133 882/999/133 876/984/133 +f 883/1000/115 880/1001/115 879/1002/115 +f 884/1003/113 860/1004/113 859/1005/113 +f 877/1006/109 883/1000/109 879/1002/109 +f 854/965/116 878/986/116 847/1007/116 +f 878/986/110 884/1003/110 847/1007/110 +f 870/988/110 880/1008/110 878/986/110 +f 869/1009/110 882/999/110 870/1010/110 +f 877/1006/109 881/1011/109 865/987/109 +f 881/1012/109 864/1013/109 865/1014/109 +f 857/1015/109 860/1016/109 883/1000/109 +f 884/1003/110 850/1017/110 851/1018/110 +f 885/1019/134 887/1020/134 886/1021/134 +f 466/590/113 888/1022/113 468/1023/113 +f 465/592/112 885/1024/112 886/1025/112 +f 890/1026/135 891/1027/135 889/1028/135 +f 893/1029/136 895/1030/136 894/1031/136 +f 890/1026/112 896/1032/112 892/1033/112 +f 889/1028/113 893/1034/113 894/1035/113 +f 898/1036/137 899/1037/137 897/1038/137 +f 902/1039/138 904/1040/138 903/1041/138 +f 898/1036/139 904/1040/139 900/1042/139 +f 897/1038/140 901/1043/140 902/1044/140 +f 906/1045/141 907/1046/141 905/1047/141 +f 909/1048/142 911/1049/142 910/1050/142 +f 906/1045/140 912/1051/140 908/1052/140 +f 905/1047/139 909/1053/139 910/1054/139 +f 913/1055/143 916/1056/143 915/1057/143 +f 918/1058/144 920/1059/144 919/1060/144 +f 914/1061/145 920/1059/145 916/1056/145 +f 913/1055/146 917/1062/146 918/1063/146 +f 922/1064/147 923/1065/147 921/1066/147 +f 926/1067/148 928/1068/148 927/1069/148 +f 922/1064/146 928/1068/146 924/1070/146 +f 921/1066/145 925/1071/145 926/1072/145 +f 360/463/109 374/467/109 373/464/109 +f 358/466/109 375/495/109 374/467/109 +f 364/468/109 362/465/109 373/464/109 +f 366/470/109 364/468/109 372/469/109 +f 366/470/109 371/471/109 370/472/109 +f 368/473/109 370/472/109 369/474/109 +f 338/475/109 369/474/109 384/476/109 +f 340/477/109 384/476/109 383/478/109 +f 342/479/109 383/478/109 382/480/109 +f 344/481/109 382/480/109 381/482/109 +f 348/484/109 346/483/109 381/482/109 +f 350/486/109 348/484/109 380/485/109 +f 352/488/109 350/486/109 379/487/109 +f 354/490/109 352/488/109 378/489/109 +f 356/492/109 354/1073/109 377/493/109 +f 358/466/109 356/492/109 376/494/109 +f 345/496/110 397/527/110 398/497/110 +f 343/498/110 398/497/110 399/499/110 +f 399/499/110 400/502/110 339/501/110 +f 400/502/110 385/504/110 337/503/110 +f 385/504/110 386/506/110 367/505/110 +f 386/506/110 387/508/110 365/507/110 +f 387/508/110 388/510/110 363/509/110 +f 388/510/110 389/512/110 361/511/110 +f 389/512/110 390/514/110 359/513/110 +f 390/514/110 391/516/110 357/515/110 +f 391/516/110 392/1074/110 355/517/110 +f 355/517/110 392/1074/110 393/518/110 +f 353/520/110 393/1075/110 394/521/110 +f 351/522/110 394/521/110 395/523/110 +f 349/524/110 395/523/110 396/525/110 +f 347/526/110 396/525/110 397/527/110 +f 409/528/109 410/560/109 442/529/109 +f 408/531/109 409/1076/109 441/532/109 +f 407/534/109 408/531/109 440/533/109 +f 407/534/109 439/535/109 438/536/109 +f 406/537/109 438/536/109 437/538/109 +f 404/540/109 405/539/109 437/538/109 +f 403/542/109 404/540/109 436/541/109 +f 403/542/109 435/543/109 434/544/109 +f 402/545/109 434/544/109 433/546/109 +f 401/547/109 433/546/109 448/548/109 +f 415/550/109 416/549/109 448/548/109 +f 414/552/109 415/550/109 447/551/109 +f 414/552/109 446/553/109 445/554/109 +f 412/556/109 413/555/109 445/554/109 +f 412/556/109 444/557/109 443/558/109 +f 411/559/109 443/558/109 442/529/109 +f 425/561/110 457/1077/110 458/562/110 +f 424/564/110 456/568/110 457/565/110 +f 423/567/110 455/1078/110 456/568/110 +f 454/569/110 455/1078/110 423/567/110 +f 453/571/110 454/569/110 422/570/110 +f 420/573/110 452/575/110 453/571/110 +f 419/574/110 451/1079/110 452/575/110 +f 450/576/110 451/1079/110 419/574/110 +f 449/578/110 450/576/110 418/577/110 +f 464/580/110 449/578/110 417/579/110 +f 431/582/110 463/584/110 464/580/110 +f 430/583/110 462/1080/110 463/584/110 +f 461/585/110 462/1080/110 430/583/110 +f 428/587/110 460/1081/110 461/585/110 +f 459/588/110 460/1081/110 428/587/110 +f 458/562/110 459/588/110 427/589/110 +f 466/590/111 468/1023/111 467/591/111 +f 470/593/112 472/596/112 471/594/112 +f 472/596/110 474/1082/110 473/597/110 +f 474/598/113 476/601/113 475/599/113 +f 476/601/114 478/1083/114 477/602/114 +f 477/603/109 478/1084/109 470/593/109 +f 469/595/115 471/594/115 475/604/115 +f 471/594/115 473/1085/115 475/604/115 +f 472/596/116 470/593/116 476/601/116 +f 470/593/116 478/1086/116 476/601/116 +f 480/606/116 482/613/116 481/607/116 +f 495/609/110 497/1087/110 498/610/110 +f 480/606/113 485/1088/113 486/612/113 +f 481/607/112 483/1089/112 484/614/112 +f 482/613/110 486/1090/110 483/615/110 +f 479/608/109 484/1091/109 485/616/109 +f 491/617/113 495/1092/113 496/611/113 +f 487/619/109 491/624/109 492/618/109 +f 488/620/116 492/618/116 494/621/116 +f 487/619/115 489/1093/115 493/623/115 +f 490/622/110 494/621/110 493/625/110 +f 498/627/112 497/1094/112 493/623/112 +f 493/623/115 497/1094/115 495/629/115 +f 496/611/116 498/610/116 494/621/116 +f 501/630/117 523/660/117 524/631/117 +f 507/633/112 509/1095/112 510/634/112 +f 503/638/115 499/1096/115 528/636/115 +f 528/636/115 501/640/115 505/637/115 +f 502/639/109 506/643/109 505/637/109 +f 506/643/116 502/639/116 527/641/116 +f 527/641/116 500/645/116 504/642/116 +f 499/644/110 503/1097/110 504/642/110 +f 514/646/113 513/1098/113 511/647/113 +f 508/635/116 510/634/116 514/646/116 +f 508/635/118 512/648/118 511/649/118 +f 507/651/115 511/1099/115 513/652/115 +f 509/653/119 513/652/119 514/646/119 +f 515/654/109 517/657/109 518/655/109 +f 524/631/116 526/661/116 527/641/116 +f 517/657/113 521/1100/113 522/658/113 +f 518/655/116 522/1101/116 520/659/116 +f 523/660/113 525/664/113 526/661/113 +f 515/654/115 519/1102/115 521/662/115 +f 528/636/115 525/1103/115 523/663/115 +f 525/664/120 528/1104/120 527/665/120 +f 527/665/113 528/1104/113 499/666/113 +f 538/668/119 540/683/119 539/669/119 +f 533/671/121 536/675/121 535/672/121 +f 530/674/116 535/672/116 536/675/116 +f 531/677/115 533/671/115 534/673/115 +f 532/679/122 536/675/122 533/671/122 +f 529/681/123 534/673/123 535/672/123 +f 540/683/113 542/697/113 541/684/113 +f 546/685/109 545/717/109 543/686/109 +f 547/688/124 548/690/124 544/687/124 +f 549/689/113 550/692/113 548/690/113 +f 551/691/110 552/694/110 550/692/110 +f 553/693/120 554/696/120 552/694/120 +f 555/695/110 556/713/110 554/696/110 +f 542/697/115 540/683/115 558/698/115 +f 541/684/116 559/704/116 557/700/116 +f 558/698/115 540/683/115 538/668/115 +f 537/670/116 539/669/116 557/700/116 +f 560/703/112 558/705/112 557/700/112 +f 561/702/125 557/700/125 558/705/125 +f 566/707/116 564/1105/116 548/690/116 +f 563/708/115 565/714/115 549/689/115 +f 551/691/115 567/715/115 569/709/115 +f 553/693/115 569/709/115 571/710/115 +f 552/694/116 554/696/116 570/711/116 +f 556/713/116 572/729/116 570/711/116 +f 551/691/115 549/689/115 565/714/115 +f 552/694/116 568/712/116 566/707/116 +f 544/687/116 574/721/116 576/716/116 +f 545/717/115 575/1106/115 573/718/115 +f 543/686/115 573/718/115 563/719/115 +f 544/687/116 548/690/116 564/720/116 +f 576/716/110 574/721/110 573/722/110 +f 574/721/126 564/720/126 563/724/126 +f 563/725/112 564/1105/112 566/707/112 +f 565/726/109 566/707/109 568/712/109 +f 567/727/127 568/712/127 570/711/127 +f 569/728/109 570/711/109 572/729/109 +f 585/733/109 586/1107/109 587/1108/109 +f 587/1108/109 588/1109/109 589/731/109 +f 589/731/109 590/1110/109 591/732/109 +f 591/732/109 592/1111/109 585/733/109 +f 585/733/109 587/1108/109 589/731/109 +f 608/734/110 616/746/110 609/735/110 +f 607/737/110 606/747/110 614/738/110 +f 605/740/110 604/749/110 612/741/110 +f 602/743/110 610/750/110 611/744/110 +f 607/737/110 615/739/110 616/746/110 +f 606/747/110 605/1112/110 613/748/110 +f 604/749/110 603/745/110 611/744/110 +f 601/736/110 609/735/110 610/750/110 +f 657/753/109 658/1113/109 659/1114/109 +f 659/1114/109 660/1115/109 661/751/109 +f 661/751/109 662/1116/109 663/752/109 +f 663/752/109 664/1117/109 657/753/109 +f 657/753/109 659/1114/109 661/751/109 +f 694/754/109 695/757/109 667/755/109 +f 695/757/109 696/759/109 666/758/109 +f 696/759/109 681/761/109 665/760/109 +f 681/761/109 682/763/109 680/762/109 +f 682/763/109 683/1118/109 679/764/109 +f 679/764/109 683/1118/109 684/765/109 +f 678/766/109 684/765/109 685/767/109 +f 685/767/109 686/770/109 676/769/109 +f 686/770/109 687/1119/109 675/771/109 +f 675/771/109 687/1119/109 688/772/109 +f 674/773/109 688/772/109 689/774/109 +f 673/776/109 689/1120/109 690/777/109 +f 672/778/109 690/777/109 691/779/109 +f 691/779/109 692/1121/109 670/781/109 +f 670/781/109 692/1121/109 693/782/109 +f 693/782/109 694/754/109 668/756/109 +f 699/784/110 727/788/110 726/785/110 +f 698/787/110 728/790/110 727/788/110 +f 697/789/110 713/792/110 728/790/110 +f 712/791/110 714/794/110 713/792/110 +f 711/793/110 715/796/110 714/794/110 +f 711/793/110 710/797/110 716/795/110 +f 710/797/110 709/800/110 717/798/110 +f 708/799/110 718/802/110 717/798/110 +f 707/801/110 719/804/110 718/802/110 +f 707/801/110 706/805/110 720/803/110 +f 706/805/110 705/1122/110 721/806/110 +f 705/807/110 704/810/110 722/808/110 +f 704/810/110 703/813/110 723/811/110 +f 702/812/110 724/815/110 723/811/110 +f 702/812/110 701/816/110 725/814/110 +f 700/786/110 726/785/110 725/814/110 +f 731/817/113 732/824/113 730/818/113 +f 735/820/112 736/823/112 733/821/112 +f 731/817/110 733/821/110 736/823/110 +f 730/818/109 735/1123/109 734/825/109 +f 733/826/116 737/837/116 738/827/116 +f 735/829/115 739/1124/115 740/830/115 +f 732/824/116 744/834/116 742/832/116 +f 729/819/115 741/839/115 743/833/115 +f 732/824/110 736/831/110 740/830/110 +f 730/818/109 742/832/109 739/835/109 +f 731/817/110 743/833/110 737/837/110 +f 729/819/109 734/1125/109 738/838/109 +f 774/840/109 775/843/109 747/841/109 +f 775/843/109 776/845/109 746/844/109 +f 776/845/109 761/847/109 745/846/109 +f 761/847/109 762/849/109 760/848/109 +f 762/849/109 763/1126/109 759/850/109 +f 759/850/109 763/1126/109 764/851/109 +f 758/852/109 764/851/109 765/853/109 +f 765/853/109 766/856/109 756/855/109 +f 766/856/109 767/1127/109 755/857/109 +f 755/857/109 767/1127/109 768/858/109 +f 754/859/109 768/858/109 769/860/109 +f 753/862/109 769/1128/109 770/863/109 +f 752/864/109 770/863/109 771/865/109 +f 771/865/109 772/1129/109 750/867/109 +f 750/867/109 772/1129/109 773/868/109 +f 773/868/109 774/840/109 748/842/109 +f 779/870/110 807/874/110 806/871/110 +f 778/873/110 808/876/110 807/874/110 +f 777/875/110 793/878/110 808/876/110 +f 792/877/110 794/880/110 793/878/110 +f 791/879/110 795/882/110 794/880/110 +f 791/879/110 790/883/110 796/881/110 +f 790/883/110 789/886/110 797/884/110 +f 788/885/110 798/888/110 797/884/110 +f 787/887/110 799/890/110 798/888/110 +f 787/887/110 786/891/110 800/889/110 +f 786/891/110 785/1130/110 801/892/110 +f 785/893/110 784/896/110 802/894/110 +f 784/896/110 783/899/110 803/897/110 +f 782/898/110 804/901/110 803/897/110 +f 782/898/110 781/902/110 805/900/110 +f 780/872/110 806/871/110 805/900/110 +f 814/903/116 813/1131/116 811/904/116 +f 815/906/112 814/1132/112 809/907/112 +f 832/909/116 835/918/116 836/910/116 +f 833/911/112 836/1133/112 834/912/112 +f 817/914/115 829/921/115 830/915/115 +f 832/909/128 819/919/128 820/917/128 +f 819/919/113 821/1134/113 822/920/113 +f 834/912/129 830/915/129 829/921/129 +f 815/933/110 835/935/110 814/924/110 +f 835/935/110 820/1135/110 828/1136/110 +f 814/924/110 835/935/110 827/922/110 +f 820/1135/110 822/1137/110 828/1136/110 +f 828/1136/110 827/922/110 835/935/110 +f 834/1138/110 813/936/110 814/924/110 +f 818/1139/110 830/1140/110 826/923/110 +f 830/1140/110 834/1138/110 814/924/110 +f 826/923/110 830/1140/110 814/924/110 +f 810/925/109 832/932/109 833/926/109 +f 812/927/109 833/926/109 831/928/109 +f 811/929/109 831/928/109 809/1141/109 +f 831/928/109 829/1142/109 809/1141/109 +f 829/1142/109 817/1143/109 823/1144/109 +f 829/1142/109 823/1144/109 809/1141/109 +f 823/1144/109 824/930/109 809/1141/109 +f 832/932/109 810/925/109 809/1141/109 +f 821/1145/109 819/1146/109 825/931/109 +f 819/1146/109 832/932/109 825/931/109 +f 832/932/109 809/1141/109 824/930/109 +f 815/933/110 816/937/110 836/934/110 +f 813/936/110 834/1138/110 836/934/110 +f 813/938/113 816/1147/113 812/939/113 +f 816/941/115 815/1148/115 810/942/115 +f 843/944/112 844/954/112 841/945/112 +f 838/947/109 843/944/109 842/946/109 +f 840/949/116 844/954/116 843/944/116 +f 837/951/115 842/946/115 841/945/115 +f 839/953/110 841/945/110 844/954/110 +f 845/956/129 853/993/129 846/957/129 +f 850/959/112 857/963/112 858/960/112 +f 848/962/116 856/1149/116 857/963/116 +f 849/964/112 855/1150/112 854/965/112 +f 851/961/115 858/960/115 855/967/115 +f 845/956/112 852/958/112 856/969/112 +f 866/971/115 861/981/115 846/972/115 +f 863/974/109 872/980/109 871/975/109 +f 874/977/110 875/985/110 868/978/110 +f 872/980/130 875/985/130 874/977/130 +f 871/975/109 846/972/109 861/981/109 +f 866/982/110 853/1151/110 874/977/110 +f 863/974/109 864/1013/109 873/983/109 +f 876/984/110 869/1009/110 868/978/110 +f 873/983/131 876/984/131 875/985/131 +f 878/986/113 877/1006/113 865/987/113 +f 860/989/132 871/1152/132 874/990/132 +f 846/957/109 871/1153/109 860/992/109 +f 853/993/110 845/956/110 859/994/110 +f 882/996/112 881/1011/112 879/997/112 +f 873/983/133 881/1012/133 882/999/133 +f 883/1000/115 884/1154/115 880/1001/115 +f 884/1003/113 883/1155/113 860/1004/113 +f 877/1006/109 854/965/109 883/1000/109 +f 854/965/116 877/1006/116 878/986/116 +f 878/986/110 880/1156/110 884/1003/110 +f 870/988/110 882/1157/110 880/1008/110 +f 869/1009/110 876/984/110 882/999/110 +f 877/1006/109 879/997/109 881/1011/109 +f 881/1012/109 873/983/109 864/1013/109 +f 854/965/109 855/1150/109 858/1158/109 +f 857/1015/109 856/969/109 852/958/109 +f 883/1000/109 854/965/109 858/1158/109 +f 857/1015/109 852/958/109 860/1016/109 +f 883/1000/109 858/1158/109 857/1015/109 +f 851/1018/110 849/1159/110 847/1007/110 +f 884/1003/110 859/1005/110 850/1017/110 +f 859/1005/110 845/1160/110 850/1017/110 +f 845/1160/110 848/1161/110 850/1017/110 +f 851/1018/110 847/1007/110 884/1003/110 +f 885/1019/134 888/1022/134 887/1020/134 +f 466/590/113 887/1020/113 888/1022/113 +f 465/592/112 467/591/112 885/1024/112 +f 890/1026/135 892/1033/135 891/1027/135 +f 893/1029/136 896/1032/136 895/1030/136 +f 890/1026/112 895/1030/112 896/1032/112 +f 889/1028/113 891/1027/113 893/1034/113 +f 898/1036/137 900/1042/137 899/1037/137 +f 902/1039/138 901/1162/138 904/1040/138 +f 898/1036/139 903/1041/139 904/1040/139 +f 897/1038/140 899/1037/140 901/1043/140 +f 906/1045/141 908/1052/141 907/1046/141 +f 909/1048/142 912/1051/142 911/1049/142 +f 906/1045/140 911/1049/140 912/1051/140 +f 905/1047/139 907/1046/139 909/1053/139 +f 913/1055/143 914/1061/143 916/1056/143 +f 918/1058/144 917/1163/144 920/1059/144 +f 914/1061/145 919/1060/145 920/1059/145 +f 913/1055/146 915/1057/146 917/1062/146 +f 922/1064/147 924/1070/147 923/1065/147 +f 926/1067/148 925/1164/148 928/1068/148 +f 922/1064/146 927/1069/146 928/1068/146 +f 921/1066/145 923/1065/145 925/1071/145 s 1 -f 1/41/4 4/15/85 3/39/85 -f 4/15/85 5/38/83 3/39/85 -f 6/17/83 7/36/86 5/38/83 -f 8/19/86 9/34/8 7/36/86 -f 10/21/8 11/64/87 9/34/8 -f 12/22/87 13/62/24 11/64/87 -f 14/24/24 15/60/88 13/62/24 -f 16/26/88 17/58/5 15/60/88 -f 18/900/5 19/55/89 17/57/5 -f 20/30/89 21/53/82 19/55/89 -f 22/4/82 23/51/90 21/53/82 -f 24/1/90 25/49/7 23/51/90 -f 25/49/7 28/6/91 27/47/91 -f 28/6/91 29/45/25 27/47/91 -f 30/8/25 31/43/92 29/45/25 -f 32/11/92 1/41/4 31/43/92 -f 48/14/89 63/1063/82 47/16/82 -f 41/31/4 56/1064/85 40/32/85 -f 34/10/88 49/1065/5 33/12/5 -f 33/12/5 64/1066/89 48/14/89 -f 42/27/92 57/1067/4 41/29/4 -f 35/9/24 50/1068/88 34/10/88 -f 43/25/25 58/1069/92 42/27/92 -f 36/7/87 51/1070/24 35/9/24 -f 44/23/91 59/1071/25 43/25/25 -f 37/2/8 52/1072/87 36/7/87 -f 45/20/7 60/1073/91 44/23/91 -f 38/5/86 53/1074/8 37/2/8 -f 46/18/90 61/1075/7 45/20/7 -f 39/33/83 54/1076/86 38/5/86 -f 47/16/82 62/1077/90 46/18/90 -f 40/32/85 55/1078/83 39/33/83 -f 89/99/5 74/98/88 73/66/5 -f 82/115/92 67/80/25 66/83/92 -f 90/101/88 75/97/24 74/98/88 -f 83/112/25 68/78/91 67/80/25 -f 91/127/24 76/94/87 75/97/24 -f 84/111/91 69/77/7 68/78/91 -f 92/125/87 77/93/8 76/94/87 -f 85/110/7 70/75/90 69/77/7 -f 93/124/8 78/90/86 77/93/8 -f 86/108/90 71/72/82 70/75/90 -f 94/121/86 79/88/83 78/90/86 -f 87/105/82 72/69/89 71/72/82 -f 95/120/83 80/87/85 79/88/83 -f 88/102/89 73/903/5 72/69/89 -f 81/117/4 66/83/92 65/85/4 -f 96/119/85 65/85/4 80/87/85 -f 110/1079/90 125/123/7 109/1080/7 -f 103/1081/83 118/107/86 102/1082/86 -f 111/1083/82 126/907/90 110/1079/90 -f 104/1084/85 119/905/83 103/1081/83 -f 112/1085/89 127/122/82 111/1083/82 -f 105/1086/4 120/106/85 104/1084/85 -f 98/1087/88 113/116/5 97/1088/5 -f 97/1088/5 128/118/89 112/1085/89 -f 106/1089/92 121/904/4 105/1090/4 -f 99/1091/24 114/114/88 98/1087/88 -f 107/1092/25 122/100/92 106/1089/92 -f 100/1093/87 115/906/24 99/1091/24 -f 108/1094/91 123/126/25 107/1092/25 -f 101/1095/8 116/113/87 100/1093/87 -f 109/1080/7 124/908/91 108/1094/91 -f 102/1082/86 117/109/8 101/1095/8 -f 248/1096/83 255/1097/8 247/1098/8 -f 246/1099/24 253/1100/5 245/1101/5 -f 244/1102/82 251/1103/7 243/1104/7 -f 242/1105/25 249/1106/4 241/1107/4 -f 241/1107/4 256/1108/83 248/1096/83 -f 247/1098/8 254/1109/24 246/1099/24 -f 245/1110/5 252/1111/82 244/1102/82 -f 243/1104/7 250/1112/25 242/1105/25 -f 269/939/5 262/1113/24 261/1114/5 -f 267/283/7 260/1115/82 259/1116/7 -f 265/274/4 258/1117/25 257/1118/4 -f 272/272/83 257/1118/4 264/1119/83 -f 270/285/24 263/1120/8 262/1113/24 -f 268/287/82 261/1121/5 260/1115/82 -f 266/281/25 259/1116/7 258/1117/25 -f 271/275/8 264/1119/83 263/1120/8 -f 275/282/7 284/1122/82 276/279/82 -f 273/273/4 282/1123/25 274/288/25 -f 280/284/83 281/1124/4 273/273/4 -f 278/276/24 287/1125/8 279/277/8 -f 276/279/82 285/1126/5 277/280/5 -f 274/288/25 283/1127/7 275/282/7 -f 279/277/8 288/1128/83 280/284/83 -f 277/286/5 286/1129/24 278/276/24 -f 291/1130/7 300/1131/93 292/1132/82 -f 289/1133/4 298/1134/94 290/1135/25 -f 296/1136/83 297/1137/95 289/1133/4 -f 294/1138/24 303/1139/96 295/1140/8 -f 292/1132/82 301/1141/97 293/1142/5 -f 290/1135/25 299/1143/98 291/1130/7 -f 295/1140/8 304/1144/99 296/1136/83 -f 293/1145/5 302/1146/100 294/1138/24 -f 303/1139/96 306/1147/101 304/1144/99 -f 300/1131/93 307/1148/102 310/1149/103 -f 298/1134/94 308/1150/104 311/1151/105 -f 304/1144/99 308/1150/104 297/1137/95 -f 302/1146/100 309/1152/106 303/1139/96 -f 299/1143/98 311/1151/105 307/1148/102 -f 301/1153/97 312/1154/107 302/1146/100 -f 301/1141/97 310/1149/103 305/1155/108 -f 313/1156/4 328/1157/83 320/1158/83 -f 319/1159/8 326/1160/24 318/1161/24 -f 317/1162/5 324/1163/82 316/1164/82 -f 315/1165/7 322/1166/25 314/1167/25 -f 320/1158/83 327/1168/8 319/1159/8 -f 318/1161/24 325/1169/5 317/1170/5 -f 316/1164/82 323/1171/7 315/1165/7 -f 314/1167/25 321/1172/4 313/1156/4 -f 354/315/88 387/349/24 355/317/24 -f 347/945/25 380/333/91 348/303/91 -f 355/317/24 388/353/87 356/948/87 -f 348/303/91 381/336/7 349/305/7 -f 356/948/87 389/352/8 357/320/8 -f 349/305/7 382/340/90 350/308/90 -f 357/320/8 390/323/86 358/292/86 -f 350/308/90 383/342/82 351/946/82 -f 358/292/86 391/326/83 359/295/83 -f 351/946/82 384/341/89 352/310/89 -f 359/295/83 392/328/85 360/297/85 -f 352/310/89 385/344/5 353/312/5 -f 345/299/4 378/332/92 346/301/92 -f 360/297/85 377/330/4 345/299/4 -f 353/947/5 386/346/88 354/315/88 -f 346/301/92 379/334/25 347/945/25 -f 466/454/88 499/488/24 467/456/24 -f 459/962/25 492/472/91 460/442/91 -f 467/456/24 500/492/87 468/965/87 -f 460/442/91 493/475/7 461/444/7 -f 468/965/87 501/491/8 469/459/8 -f 461/444/7 494/479/90 462/447/90 -f 469/459/8 502/462/86 470/431/86 -f 462/447/90 495/481/82 463/963/82 -f 470/431/86 503/465/83 471/434/83 -f 463/963/82 496/480/89 464/449/89 -f 471/434/83 504/467/85 472/436/85 -f 464/449/89 497/483/5 465/451/5 -f 457/438/4 490/471/92 458/440/92 -f 472/436/85 489/469/4 457/438/4 -f 465/964/5 498/485/88 466/454/88 -f 458/440/92 491/473/25 459/962/25 -f 633/687/5 648/717/89 632/685/89 -f 626/673/92 641/704/4 625/672/4 -f 625/672/4 656/699/85 640/670/85 -f 634/689/88 649/721/5 633/690/5 -f 627/675/25 642/703/92 626/673/92 -f 635/692/24 650/719/88 634/689/88 -f 628/677/91 643/705/25 627/675/25 -f 636/694/87 651/722/24 635/692/24 -f 629/679/7 644/709/91 628/677/91 -f 637/666/8 652/724/87 636/694/87 -f 630/681/90 645/711/7 629/679/7 -f 638/665/86 653/726/8 637/666/8 -f 631/683/82 646/713/90 630/681/90 -f 639/668/83 654/698/86 638/665/86 -f 632/685/89 647/715/82 631/683/82 -f 640/670/85 655/696/83 639/668/83 -f 668/1173/91 685/728/7 669/1174/7 -f 661/1175/8 678/712/86 662/1176/86 -f 669/1174/7 686/697/90 670/1177/90 -f 662/1176/86 679/714/83 663/1178/83 -f 670/1177/90 687/700/82 671/1179/82 -f 663/1178/83 680/716/85 664/1180/85 -f 671/1179/82 688/702/89 672/1181/89 -f 664/1180/85 681/718/4 665/1182/4 -f 657/1183/5 674/706/88 658/1184/88 -f 672/1181/89 673/701/5 657/1183/5 -f 665/1185/4 682/723/92 666/1186/92 -f 658/1184/88 675/708/24 659/1187/24 -f 666/1186/92 683/725/25 667/1188/25 -f 659/1187/24 676/707/87 660/1189/87 -f 667/1188/25 684/727/91 668/1173/91 -f 660/1189/87 677/710/8 661/1175/8 -f 837/842/109 742/1190/110 741/1191/109 -f 695/1192/82 710/796/90 694/1193/90 -f 703/1194/83 718/782/86 702/1195/86 -f 695/1192/82 712/800/89 711/798/82 -f 704/1196/85 719/784/83 703/1194/83 -f 696/1197/89 713/802/5 712/800/89 -f 690/1198/92 706/789/4 689/1199/4 -f 704/1196/85 706/789/4 720/786/85 -f 697/1200/5 714/807/88 713/804/5 -f 691/1201/25 705/788/92 690/1198/92 -f 699/1202/24 714/807/88 698/1203/88 -f 692/1204/91 707/790/25 691/1201/25 -f 700/1205/87 715/809/24 699/1202/24 -f 693/1206/7 708/792/91 692/1204/91 -f 701/1207/8 716/811/87 700/1205/87 -f 693/1206/7 710/796/90 709/794/7 -f 702/1195/86 717/779/8 701/1207/8 -f 836/840/111 741/1191/109 740/1208/111 -f 835/838/112 740/1208/111 739/1209/112 -f 834/836/113 739/1209/112 738/1210/113 -f 833/834/114 738/1210/113 737/1211/114 -f 832/831/115 737/1212/114 736/1213/115 -f 735/1214/116 832/831/115 736/1213/115 -f 734/1215/117 831/829/116 735/1214/116 -f 733/1216/118 830/827/117 734/1215/117 -f 732/1217/119 829/825/118 733/1216/118 -f 731/1218/120 828/823/119 732/1217/119 -f 730/1219/121 827/821/120 731/1218/120 -f 729/1220/122 825/819/121 730/1219/121 -f 840/816/123 729/1220/122 744/1221/123 -f 839/814/124 744/1221/123 743/1222/124 -f 838/812/110 743/1222/124 742/1190/110 -f 739/1209/24 754/768/88 738/1210/88 -f 732/1217/91 747/756/25 731/1218/25 -f 740/1208/87 755/771/24 739/1209/24 -f 733/1216/7 748/758/91 732/1217/91 -f 741/1191/8 756/773/87 740/1208/87 -f 734/1215/90 749/760/7 733/1216/7 -f 742/1190/86 757/745/8 741/1191/8 -f 735/1214/82 750/762/90 734/1215/90 -f 743/1222/83 758/743/86 742/1190/86 -f 736/1213/89 751/764/82 735/1214/82 -f 744/1221/85 759/746/83 743/1222/83 -f 737/1212/5 752/766/89 736/1213/89 -f 730/1219/92 745/750/4 729/1220/4 -f 729/1220/4 760/748/85 744/1221/85 -f 738/1210/88 753/770/5 737/1211/5 -f 731/1218/25 746/754/92 730/1219/92 -f 761/753/45 778/1223/125 777/1224/45 -f 761/753/45 792/1225/126 776/751/126 -f 775/749/79 792/1225/126 791/1226/79 -f 774/747/127 791/1226/79 790/1227/127 -f 774/747/127 789/1228/3 773/744/3 -f 772/775/128 789/1228/3 788/1229/128 -f 771/774/81 788/1229/128 787/1230/81 -f 771/774/81 786/1231/129 770/772/129 -f 770/772/129 785/1232/46 769/769/46 -f 769/767/46 784/1233/130 768/765/130 -f 767/763/80 784/1233/130 783/1234/80 -f 766/761/131 783/1234/80 782/1235/131 -f 766/761/131 781/1236/31 765/759/31 -f 764/757/132 781/1236/31 780/1237/132 -f 764/757/132 779/1238/84 763/755/84 -f 763/755/84 778/1223/125 762/752/125 -f 787/1230/24 802/1239/88 786/1231/88 -f 780/1237/91 795/1240/25 779/1238/25 -f 788/1229/87 803/1241/24 787/1230/24 -f 781/1236/7 796/1242/91 780/1237/91 -f 789/1228/8 804/1243/87 788/1229/87 -f 782/1235/90 797/1244/7 781/1236/7 -f 790/1227/86 805/1245/8 789/1228/8 -f 783/1234/82 798/1246/90 782/1235/90 -f 791/1226/83 806/1247/86 790/1227/86 -f 784/1233/89 799/1248/82 783/1234/82 -f 792/1225/85 807/1249/83 791/1226/83 -f 785/1250/5 800/1251/89 784/1233/89 -f 778/1223/92 793/1252/4 777/1224/4 -f 777/1224/4 808/1253/85 792/1225/85 -f 786/1231/88 801/1254/5 785/1232/5 -f 779/1238/25 794/1255/92 778/1223/92 -f 808/1253/133 823/1256/134 807/1249/134 -f 807/1249/134 822/1257/135 806/1247/135 -f 806/1247/135 821/1258/136 805/1245/136 -f 805/1245/136 820/1259/137 804/1243/137 -f 803/1241/138 820/1259/137 819/1260/138 -f 803/1241/138 818/1261/139 802/1239/139 -f 802/1239/139 817/1262/9 801/1254/9 -f 801/1263/9 816/1264/140 800/1251/140 -f 799/1248/141 816/1264/140 815/1265/141 -f 798/1246/142 815/1265/141 814/1266/142 -f 797/1244/143 814/1266/142 813/1267/143 -f 796/1242/144 813/1267/143 812/1268/144 -f 795/1240/145 812/1268/144 811/1269/145 -f 794/1255/146 811/1269/145 810/1270/146 -f 793/1252/104 810/1270/146 809/1271/104 -f 793/1252/104 824/1272/133 808/1253/133 -f 850/805/88 865/1038/5 849/806/5 -f 843/793/25 858/820/92 842/791/92 -f 851/808/24 866/835/88 850/805/88 -f 844/795/91 859/822/25 843/793/25 -f 852/810/87 867/837/24 851/808/24 -f 845/797/7 860/824/91 844/795/91 -f 853/781/8 868/839/87 852/810/87 -f 846/799/90 861/826/7 845/797/7 -f 854/780/86 869/841/8 853/781/8 -f 847/801/82 862/828/90 846/799/90 -f 855/783/83 870/843/86 854/780/86 -f 848/803/89 863/830/82 847/801/82 -f 856/785/85 871/813/83 855/783/83 -f 849/1036/5 864/832/89 848/803/89 -f 842/791/92 857/817/4 841/787/4 -f 841/787/4 872/815/85 856/785/85 -f 1/41/4 2/13/4 4/15/85 -f 4/15/85 6/17/83 5/38/83 -f 6/17/83 8/19/86 7/36/86 -f 8/19/86 10/21/8 9/34/8 -f 10/21/8 12/22/87 11/64/87 -f 12/22/87 14/24/24 13/62/24 -f 14/24/24 16/26/88 15/60/88 -f 16/26/88 18/28/5 17/58/5 -f 18/900/5 20/30/89 19/55/89 -f 20/30/89 22/4/82 21/53/82 -f 22/4/82 24/1/90 23/51/90 -f 24/1/90 26/3/7 25/49/7 -f 25/49/7 26/3/7 28/6/91 -f 28/6/91 30/8/25 29/45/25 -f 30/8/25 32/11/92 31/43/92 -f 32/11/92 2/13/4 1/41/4 -f 48/14/89 64/1066/89 63/1063/82 -f 41/31/4 57/1273/4 56/1064/85 -f 34/10/88 50/1068/88 49/1065/5 -f 33/12/5 49/1065/5 64/1066/89 -f 42/27/92 58/1069/92 57/1067/4 -f 35/9/24 51/1070/24 50/1068/88 -f 43/25/25 59/1071/25 58/1069/92 -f 36/7/87 52/1072/87 51/1070/24 -f 44/23/91 60/1073/91 59/1071/25 -f 37/2/8 53/1074/8 52/1072/87 -f 45/20/7 61/1075/7 60/1073/91 -f 38/5/86 54/1076/86 53/1074/8 -f 46/18/90 62/1077/90 61/1075/7 -f 39/33/83 55/1078/83 54/1076/86 -f 47/16/82 63/1063/82 62/1077/90 -f 40/32/85 56/1064/85 55/1078/83 -f 89/99/5 90/101/88 74/98/88 -f 82/115/92 83/112/25 67/80/25 -f 90/101/88 91/127/24 75/97/24 -f 83/112/25 84/111/91 68/78/91 -f 91/127/24 92/125/87 76/94/87 -f 84/111/91 85/110/7 69/77/7 -f 92/125/87 93/124/8 77/93/8 -f 85/110/7 86/108/90 70/75/90 -f 93/124/8 94/121/86 78/90/86 -f 86/108/90 87/105/82 71/72/82 -f 94/121/86 95/120/83 79/88/83 -f 87/105/82 88/102/89 72/69/89 -f 95/120/83 96/119/85 80/87/85 -f 88/102/89 89/104/5 73/903/5 -f 81/117/4 82/115/92 66/83/92 -f 96/119/85 81/117/4 65/85/4 -f 110/1079/90 126/907/90 125/123/7 -f 103/1081/83 119/905/83 118/107/86 -f 111/1083/82 127/122/82 126/907/90 -f 104/1084/85 120/106/85 119/905/83 -f 112/1085/89 128/118/89 127/122/82 -f 105/1086/4 121/103/4 120/106/85 -f 98/1087/88 114/114/88 113/116/5 -f 97/1088/5 113/116/5 128/118/89 -f 106/1089/92 122/100/92 121/904/4 -f 99/1091/24 115/906/24 114/114/88 -f 107/1092/25 123/126/25 122/100/92 -f 100/1093/87 116/113/87 115/906/24 -f 108/1094/91 124/908/91 123/126/25 -f 101/1095/8 117/109/8 116/113/87 -f 109/1080/7 125/123/7 124/908/91 -f 102/1082/86 118/107/86 117/109/8 -f 248/1096/83 256/1108/83 255/1097/8 -f 246/1099/24 254/1109/24 253/1100/5 -f 244/1102/82 252/1111/82 251/1103/7 -f 242/1105/25 250/1112/25 249/1106/4 -f 241/1107/4 249/1106/4 256/1108/83 -f 247/1098/8 255/1097/8 254/1109/24 -f 245/1110/5 253/1274/5 252/1111/82 -f 243/1104/7 251/1103/7 250/1112/25 -f 269/939/5 270/285/24 262/1113/24 -f 267/283/7 268/287/82 260/1115/82 -f 265/274/4 266/281/25 258/1117/25 -f 272/272/83 265/274/4 257/1118/4 -f 270/285/24 271/275/8 263/1120/8 -f 268/287/82 269/278/5 261/1121/5 -f 266/281/25 267/283/7 259/1116/7 -f 271/275/8 272/272/83 264/1119/83 -f 275/282/7 283/1127/7 284/1122/82 -f 273/273/4 281/1124/4 282/1123/25 -f 280/284/83 288/1128/83 281/1124/4 -f 278/276/24 286/1129/24 287/1125/8 -f 276/279/82 284/1122/82 285/1126/5 -f 274/288/25 282/1123/25 283/1127/7 -f 279/277/8 287/1125/8 288/1128/83 -f 277/286/5 285/1275/5 286/1129/24 -f 291/1130/7 299/1143/98 300/1131/93 -f 289/1133/4 297/1137/95 298/1134/94 -f 296/1136/83 304/1144/99 297/1137/95 -f 294/1138/24 302/1146/100 303/1139/96 -f 292/1132/82 300/1131/93 301/1141/97 -f 290/1135/25 298/1134/94 299/1143/98 -f 295/1140/8 303/1139/96 304/1144/99 -f 293/1145/5 301/1153/97 302/1146/100 -f 303/1139/96 309/1152/106 306/1147/101 -f 300/1131/93 299/1143/98 307/1148/102 -f 298/1134/94 297/1137/95 308/1150/104 -f 304/1144/99 306/1147/101 308/1150/104 -f 302/1146/100 312/1154/107 309/1152/106 -f 299/1143/98 298/1134/94 311/1151/105 -f 301/1153/97 305/1276/108 312/1154/107 -f 301/1141/97 300/1131/93 310/1149/103 -f 313/1156/4 321/1172/4 328/1157/83 -f 319/1159/8 327/1168/8 326/1160/24 -f 317/1162/5 325/1277/5 324/1163/82 -f 315/1165/7 323/1171/7 322/1166/25 -f 320/1158/83 328/1157/83 327/1168/8 -f 318/1161/24 326/1160/24 325/1169/5 -f 316/1164/82 324/1163/82 323/1171/7 -f 314/1167/25 322/1166/25 321/1172/4 -f 354/315/88 386/346/88 387/349/24 -f 347/945/25 379/334/25 380/333/91 -f 355/317/24 387/349/24 388/353/87 -f 348/303/91 380/333/91 381/336/7 -f 356/948/87 388/353/87 389/352/8 -f 349/305/7 381/336/7 382/340/90 -f 357/320/8 389/352/8 390/323/86 -f 350/308/90 382/340/90 383/342/82 -f 358/292/86 390/323/86 391/326/83 -f 351/946/82 383/342/82 384/341/89 -f 359/295/83 391/326/83 392/328/85 -f 352/310/89 384/341/89 385/344/5 -f 345/299/4 377/330/4 378/332/92 -f 360/297/85 392/328/85 377/330/4 -f 353/947/5 385/347/5 386/346/88 -f 346/301/92 378/332/92 379/334/25 -f 466/454/88 498/485/88 499/488/24 -f 459/962/25 491/473/25 492/472/91 -f 467/456/24 499/488/24 500/492/87 -f 460/442/91 492/472/91 493/475/7 -f 468/965/87 500/492/87 501/491/8 -f 461/444/7 493/475/7 494/479/90 -f 469/459/8 501/491/8 502/462/86 -f 462/447/90 494/479/90 495/481/82 -f 470/431/86 502/462/86 503/465/83 -f 463/963/82 495/481/82 496/480/89 -f 471/434/83 503/465/83 504/467/85 -f 464/449/89 496/480/89 497/483/5 -f 457/438/4 489/469/4 490/471/92 -f 472/436/85 504/467/85 489/469/4 -f 465/964/5 497/486/5 498/485/88 -f 458/440/92 490/471/92 491/473/25 -f 633/687/5 649/1003/5 648/717/89 -f 626/673/92 642/703/92 641/704/4 -f 625/672/4 641/704/4 656/699/85 -f 634/689/88 650/719/88 649/721/5 -f 627/675/25 643/705/25 642/703/92 -f 635/692/24 651/722/24 650/719/88 -f 628/677/91 644/709/91 643/705/25 -f 636/694/87 652/724/87 651/722/24 -f 629/679/7 645/711/7 644/709/91 -f 637/666/8 653/726/8 652/724/87 -f 630/681/90 646/713/90 645/711/7 -f 638/665/86 654/698/86 653/726/8 -f 631/683/82 647/715/82 646/713/90 -f 639/668/83 655/696/83 654/698/86 -f 632/685/89 648/717/89 647/715/82 -f 640/670/85 656/699/85 655/696/83 -f 668/1173/91 684/727/91 685/728/7 -f 661/1175/8 677/710/8 678/712/86 -f 669/1174/7 685/728/7 686/697/90 -f 662/1176/86 678/712/86 679/714/83 -f 670/1177/90 686/697/90 687/700/82 -f 663/1178/83 679/714/83 680/716/85 -f 671/1179/82 687/700/82 688/702/89 -f 664/1180/85 680/716/85 681/718/4 -f 657/1183/5 673/701/5 674/706/88 -f 672/1181/89 688/702/89 673/701/5 -f 665/1185/4 681/720/4 682/723/92 -f 658/1184/88 674/706/88 675/708/24 -f 666/1186/92 682/723/92 683/725/25 -f 659/1187/24 675/708/24 676/707/87 -f 667/1188/25 683/725/25 684/727/91 -f 660/1189/87 676/707/87 677/710/8 -f 837/842/109 838/812/110 742/1190/110 -f 695/1192/82 711/798/82 710/796/90 -f 703/1194/83 719/784/83 718/782/86 -f 695/1192/82 696/1197/89 712/800/89 -f 704/1196/85 720/786/85 719/784/83 -f 696/1197/89 697/1278/5 713/802/5 -f 690/1198/92 705/788/92 706/789/4 -f 704/1196/85 689/1199/4 706/789/4 -f 697/1200/5 698/1203/88 714/807/88 -f 691/1201/25 707/790/25 705/788/92 -f 699/1202/24 715/809/24 714/807/88 -f 692/1204/91 708/792/91 707/790/25 -f 700/1205/87 716/811/87 715/809/24 -f 693/1206/7 709/794/7 708/792/91 -f 701/1207/8 717/779/8 716/811/87 -f 693/1206/7 694/1193/90 710/796/90 -f 702/1195/86 718/782/86 717/779/8 -f 836/840/111 837/842/109 741/1191/109 -f 835/838/112 836/840/111 740/1208/111 -f 834/836/113 835/838/112 739/1209/112 -f 833/834/114 834/836/113 738/1210/113 -f 832/831/115 833/833/114 737/1212/114 -f 735/1214/116 831/829/116 832/831/115 -f 734/1215/117 830/827/117 831/829/116 -f 733/1216/118 829/825/118 830/827/117 -f 732/1217/119 828/823/119 829/825/118 -f 731/1218/120 827/821/120 828/823/119 -f 730/1219/121 825/819/121 827/821/120 -f 729/1220/122 826/818/122 825/819/121 -f 840/816/123 826/818/122 729/1220/122 -f 839/814/124 840/816/123 744/1221/123 -f 838/812/110 839/814/124 743/1222/124 -f 739/1209/24 755/771/24 754/768/88 -f 732/1217/91 748/758/91 747/756/25 -f 740/1208/87 756/773/87 755/771/24 -f 733/1216/7 749/760/7 748/758/91 -f 741/1191/8 757/745/8 756/773/87 -f 734/1215/90 750/762/90 749/760/7 -f 742/1190/86 758/743/86 757/745/8 -f 735/1214/82 751/764/82 750/762/90 -f 743/1222/83 759/746/83 758/743/86 -f 736/1213/89 752/766/89 751/764/82 -f 744/1221/85 760/748/85 759/746/83 -f 737/1212/5 753/1022/5 752/766/89 -f 730/1219/92 746/754/92 745/750/4 -f 729/1220/4 745/750/4 760/748/85 -f 738/1210/88 754/768/88 753/770/5 -f 731/1218/25 747/756/25 746/754/92 -f 761/753/45 762/752/125 778/1223/125 -f 761/753/45 777/1224/45 792/1225/126 -f 775/749/79 776/751/126 792/1225/126 -f 774/747/127 775/749/79 791/1226/79 -f 774/747/127 790/1227/127 789/1228/3 -f 772/775/128 773/744/3 789/1228/3 -f 771/774/81 772/775/128 788/1229/128 -f 771/774/81 787/1230/81 786/1231/129 -f 770/772/129 786/1231/129 785/1232/46 -f 769/767/46 785/1250/46 784/1233/130 -f 767/763/80 768/765/130 784/1233/130 -f 766/761/131 767/763/80 783/1234/80 -f 766/761/131 782/1235/131 781/1236/31 -f 764/757/132 765/759/31 781/1236/31 -f 764/757/132 780/1237/132 779/1238/84 -f 763/755/84 779/1238/84 778/1223/125 -f 787/1230/24 803/1241/24 802/1239/88 -f 780/1237/91 796/1242/91 795/1240/25 -f 788/1229/87 804/1243/87 803/1241/24 -f 781/1236/7 797/1244/7 796/1242/91 -f 789/1228/8 805/1245/8 804/1243/87 -f 782/1235/90 798/1246/90 797/1244/7 -f 790/1227/86 806/1247/86 805/1245/8 -f 783/1234/82 799/1248/82 798/1246/90 -f 791/1226/83 807/1249/83 806/1247/86 -f 784/1233/89 800/1251/89 799/1248/82 -f 792/1225/85 808/1253/85 807/1249/83 -f 785/1250/5 801/1263/5 800/1251/89 -f 778/1223/92 794/1255/92 793/1252/4 -f 777/1224/4 793/1252/4 808/1253/85 -f 786/1231/88 802/1239/88 801/1254/5 -f 779/1238/25 795/1240/25 794/1255/92 -f 808/1253/133 824/1272/133 823/1256/134 -f 807/1249/134 823/1256/134 822/1257/135 -f 806/1247/135 822/1257/135 821/1258/136 -f 805/1245/136 821/1258/136 820/1259/137 -f 803/1241/138 804/1243/137 820/1259/137 -f 803/1241/138 819/1260/138 818/1261/139 -f 802/1239/139 818/1261/139 817/1262/9 -f 801/1263/9 817/1279/9 816/1264/140 -f 799/1248/141 800/1251/140 816/1264/140 -f 798/1246/142 799/1248/141 815/1265/141 -f 797/1244/143 798/1246/142 814/1266/142 -f 796/1242/144 797/1244/143 813/1267/143 -f 795/1240/145 796/1242/144 812/1268/144 -f 794/1255/146 795/1240/145 811/1269/145 -f 793/1252/104 794/1255/146 810/1270/146 -f 793/1252/104 809/1271/104 824/1272/133 -f 850/805/88 866/835/88 865/1038/5 -f 843/793/25 859/822/25 858/820/92 -f 851/808/24 867/837/24 866/835/88 -f 844/795/91 860/824/91 859/822/25 -f 852/810/87 868/839/87 867/837/24 -f 845/797/7 861/826/7 860/824/91 -f 853/781/8 869/841/8 868/839/87 -f 846/799/90 862/828/90 861/826/7 -f 854/780/86 870/843/86 869/841/8 -f 847/801/82 863/830/82 862/828/90 -f 855/783/83 871/813/83 870/843/86 -f 848/803/89 864/832/89 863/830/82 -f 856/785/85 872/815/85 871/813/83 -f 849/1036/5 865/1037/5 864/832/89 -f 842/791/92 858/820/92 857/817/4 -f 841/787/4 857/817/4 872/815/85 +f 337/503/112 340/477/149 339/501/149 +f 340/477/149 341/500/150 339/501/149 +f 342/479/150 343/498/151 341/500/150 +f 344/481/151 345/496/116 343/498/151 +f 346/483/116 347/526/152 345/496/116 +f 348/484/152 349/524/128 347/526/152 +f 350/486/128 351/522/153 349/524/128 +f 352/488/153 353/520/113 351/522/153 +f 354/1073/113 355/517/154 353/519/113 +f 356/492/154 357/515/155 355/517/154 +f 358/466/155 359/513/156 357/515/155 +f 360/463/156 361/511/115 359/513/156 +f 361/511/115 364/468/157 363/509/157 +f 364/468/157 365/507/129 363/509/157 +f 366/470/129 367/505/158 365/507/129 +f 368/473/158 337/503/112 367/505/158 +f 384/476/154 399/1165/155 383/478/155 +f 377/493/112 392/1166/149 376/494/149 +f 370/472/153 385/1167/113 369/474/113 +f 369/474/113 400/1168/154 384/476/154 +f 378/489/158 393/1169/112 377/491/112 +f 371/471/128 386/1170/153 370/472/153 +f 379/487/129 394/1171/158 378/489/158 +f 372/469/152 387/1172/128 371/471/128 +f 380/485/157 395/1173/129 379/487/129 +f 373/464/116 388/1174/152 372/469/152 +f 381/482/115 396/1175/157 380/485/157 +f 374/467/151 389/1176/116 373/464/116 +f 382/480/156 397/1177/115 381/482/115 +f 375/495/150 390/1178/151 374/467/151 +f 383/478/155 398/1179/156 382/480/156 +f 376/494/149 391/1180/150 375/495/150 +f 425/561/113 410/560/153 409/528/113 +f 418/577/158 403/542/129 402/545/158 +f 426/563/153 411/559/128 410/560/153 +f 419/574/129 404/540/157 403/542/129 +f 427/589/128 412/556/152 411/559/128 +f 420/573/157 405/539/115 404/540/157 +f 428/587/152 413/555/116 412/556/152 +f 421/572/115 406/537/156 405/539/115 +f 429/586/116 414/552/151 413/555/116 +f 422/570/156 407/534/155 406/537/156 +f 430/583/151 415/550/150 414/552/151 +f 423/567/155 408/531/154 407/534/155 +f 431/582/150 416/549/149 415/550/150 +f 424/564/154 409/1076/113 408/531/154 +f 417/579/112 402/545/158 401/547/112 +f 432/581/149 401/547/112 416/549/149 +f 446/1181/156 461/585/115 445/1182/115 +f 439/1183/150 454/569/151 438/1184/151 +f 447/1185/155 462/1080/156 446/1181/156 +f 440/1186/149 455/1078/150 439/1183/150 +f 448/1187/154 463/584/155 447/1185/155 +f 441/1188/112 456/568/149 440/1186/149 +f 434/1189/153 449/578/113 433/1190/113 +f 433/1190/113 464/580/154 448/1187/154 +f 442/1191/158 457/1077/112 441/1192/112 +f 435/1193/128 450/576/153 434/1189/153 +f 443/1194/129 458/562/158 442/1191/158 +f 436/1195/152 451/1079/128 435/1193/128 +f 444/1196/157 459/588/129 443/1194/129 +f 437/1197/116 452/575/152 436/1195/152 +f 445/1182/115 460/1081/157 444/1196/157 +f 438/1184/151 453/571/116 437/1197/116 +f 584/1198/150 591/1199/116 583/1200/116 +f 582/1201/128 589/1202/113 581/1203/113 +f 580/1204/155 587/1205/115 579/1206/115 +f 578/1207/129 585/1208/112 577/1209/112 +f 577/1209/112 592/1210/150 584/1198/150 +f 583/1200/116 590/1211/128 582/1201/128 +f 581/1212/113 588/1213/155 580/1204/155 +f 579/1206/115 586/1214/129 578/1207/129 +f 605/1112/113 598/1215/128 597/1216/113 +f 603/745/115 596/1217/155 595/1218/115 +f 601/736/112 594/1219/129 593/1220/112 +f 608/734/150 593/1220/112 600/1221/150 +f 606/747/128 599/1222/116 598/1215/128 +f 604/749/155 597/1223/113 596/1217/155 +f 602/743/129 595/1218/115 594/1219/129 +f 607/737/116 600/1221/150 599/1222/116 +f 611/744/115 620/1224/155 612/741/155 +f 609/735/112 618/1225/129 610/750/129 +f 616/746/150 617/1226/112 609/735/112 +f 614/738/128 623/1227/116 615/739/116 +f 612/741/155 621/1228/113 613/742/113 +f 610/750/129 619/1229/115 611/744/115 +f 615/739/116 624/1230/150 616/746/150 +f 613/748/113 622/1231/128 614/738/128 +f 627/1232/115 636/1233/159 628/1234/155 +f 625/1235/112 634/1236/160 626/1237/129 +f 632/1238/150 633/1239/161 625/1235/112 +f 630/1240/128 639/1241/162 631/1242/116 +f 628/1234/155 637/1243/163 629/1244/113 +f 626/1237/129 635/1245/164 627/1232/115 +f 631/1242/116 640/1246/165 632/1238/150 +f 629/1247/113 638/1248/166 630/1240/128 +f 639/1241/162 642/1249/167 640/1246/165 +f 636/1233/159 643/1250/168 646/1251/169 +f 634/1236/160 644/1252/170 647/1253/171 +f 640/1246/165 644/1252/170 633/1239/161 +f 638/1248/166 645/1254/172 639/1241/162 +f 635/1245/164 647/1253/171 643/1250/168 +f 637/1255/163 648/1256/173 638/1248/166 +f 637/1243/163 646/1251/169 641/1257/174 +f 649/1258/112 664/1259/150 656/1260/150 +f 655/1261/116 662/1262/128 654/1263/128 +f 653/1264/113 660/1265/155 652/1266/155 +f 651/1267/115 658/1268/129 650/1269/129 +f 656/1260/150 663/1270/116 655/1261/116 +f 654/1263/128 661/1271/113 653/1272/113 +f 652/1266/155 659/1273/115 651/1267/115 +f 650/1269/129 657/1274/112 649/1258/112 +f 690/777/153 723/811/128 691/779/128 +f 683/1118/129 716/795/157 684/765/157 +f 691/779/128 724/815/152 692/1121/152 +f 684/765/157 717/798/115 685/767/115 +f 692/1121/152 725/814/116 693/782/116 +f 685/767/115 718/802/156 686/770/156 +f 693/782/116 726/785/151 694/754/151 +f 686/770/156 719/804/155 687/1119/155 +f 694/754/151 727/788/150 695/757/150 +f 687/1119/155 720/803/154 688/772/154 +f 695/757/150 728/790/149 696/759/149 +f 688/772/154 721/806/113 689/774/113 +f 681/761/112 714/794/158 682/763/158 +f 696/759/149 713/792/112 681/761/112 +f 689/1120/113 722/808/153 690/777/153 +f 682/763/158 715/796/129 683/1118/129 +f 770/863/153 803/897/128 771/865/128 +f 763/1126/129 796/881/157 764/851/157 +f 771/865/128 804/901/152 772/1129/152 +f 764/851/157 797/884/115 765/853/115 +f 772/1129/152 805/900/116 773/868/116 +f 765/853/115 798/888/156 766/856/156 +f 773/868/116 806/871/151 774/840/151 +f 766/856/156 799/890/155 767/1127/155 +f 774/840/151 807/874/150 775/843/150 +f 767/1127/155 800/889/154 768/858/154 +f 775/843/150 808/876/149 776/845/149 +f 768/858/154 801/892/113 769/860/113 +f 761/847/112 794/880/158 762/849/158 +f 776/845/149 793/878/112 761/847/112 +f 769/1128/113 802/894/153 770/863/153 +f 762/849/158 795/882/129 763/1126/129 +f 337/503/112 338/475/112 340/477/149 +f 340/477/149 342/479/150 341/500/150 +f 342/479/150 344/481/151 343/498/151 +f 344/481/151 346/483/116 345/496/116 +f 346/483/116 348/484/152 347/526/152 +f 348/484/152 350/486/128 349/524/128 +f 350/486/128 352/488/153 351/522/153 +f 352/488/153 354/490/113 353/520/113 +f 354/1073/113 356/492/154 355/517/154 +f 356/492/154 358/466/155 357/515/155 +f 358/466/155 360/463/156 359/513/156 +f 360/463/156 362/465/115 361/511/115 +f 361/511/115 362/465/115 364/468/157 +f 364/468/157 366/470/129 365/507/129 +f 366/470/129 368/473/158 367/505/158 +f 368/473/158 338/475/112 337/503/112 +f 384/476/154 400/1168/154 399/1165/155 +f 377/493/112 393/1275/112 392/1166/149 +f 370/472/153 386/1170/153 385/1167/113 +f 369/474/113 385/1167/113 400/1168/154 +f 378/489/158 394/1171/158 393/1169/112 +f 371/471/128 387/1172/128 386/1170/153 +f 379/487/129 395/1173/129 394/1171/158 +f 372/469/152 388/1174/152 387/1172/128 +f 380/485/157 396/1175/157 395/1173/129 +f 373/464/116 389/1176/116 388/1174/152 +f 381/482/115 397/1177/115 396/1175/157 +f 374/467/151 390/1178/151 389/1176/116 +f 382/480/156 398/1179/156 397/1177/115 +f 375/495/150 391/1180/150 390/1178/151 +f 383/478/155 399/1165/155 398/1179/156 +f 376/494/149 392/1166/149 391/1180/150 +f 425/561/113 426/563/153 410/560/153 +f 418/577/158 419/574/129 403/542/129 +f 426/563/153 427/589/128 411/559/128 +f 419/574/129 420/573/157 404/540/157 +f 427/589/128 428/587/152 412/556/152 +f 420/573/157 421/572/115 405/539/115 +f 428/587/152 429/586/116 413/555/116 +f 421/572/115 422/570/156 406/537/156 +f 429/586/116 430/583/151 414/552/151 +f 422/570/156 423/567/155 407/534/155 +f 430/583/151 431/582/150 415/550/150 +f 423/567/155 424/564/154 408/531/154 +f 431/582/150 432/581/149 416/549/149 +f 424/564/154 425/566/113 409/1076/113 +f 417/579/112 418/577/158 402/545/158 +f 432/581/149 417/579/112 401/547/112 +f 446/1181/156 462/1080/156 461/585/115 +f 439/1183/150 455/1078/150 454/569/151 +f 447/1185/155 463/584/155 462/1080/156 +f 440/1186/149 456/568/149 455/1078/150 +f 448/1187/154 464/580/154 463/584/155 +f 441/1188/112 457/565/112 456/568/149 +f 434/1189/153 450/576/153 449/578/113 +f 433/1190/113 449/578/113 464/580/154 +f 442/1191/158 458/562/158 457/1077/112 +f 435/1193/128 451/1079/128 450/576/153 +f 443/1194/129 459/588/129 458/562/158 +f 436/1195/152 452/575/152 451/1079/128 +f 444/1196/157 460/1081/157 459/588/129 +f 437/1197/116 453/571/116 452/575/152 +f 445/1182/115 461/585/115 460/1081/157 +f 438/1184/151 454/569/151 453/571/116 +f 584/1198/150 592/1210/150 591/1199/116 +f 582/1201/128 590/1211/128 589/1202/113 +f 580/1204/155 588/1213/155 587/1205/115 +f 578/1207/129 586/1214/129 585/1208/112 +f 577/1209/112 585/1208/112 592/1210/150 +f 583/1200/116 591/1199/116 590/1211/128 +f 581/1212/113 589/1276/113 588/1213/155 +f 579/1206/115 587/1205/115 586/1214/129 +f 605/1112/113 606/747/128 598/1215/128 +f 603/745/115 604/749/155 596/1217/155 +f 601/736/112 602/743/129 594/1219/129 +f 608/734/150 601/736/112 593/1220/112 +f 606/747/128 607/737/116 599/1222/116 +f 604/749/155 605/740/113 597/1223/113 +f 602/743/129 603/745/115 595/1218/115 +f 607/737/116 608/734/150 600/1221/150 +f 611/744/115 619/1229/115 620/1224/155 +f 609/735/112 617/1226/112 618/1225/129 +f 616/746/150 624/1230/150 617/1226/112 +f 614/738/128 622/1231/128 623/1227/116 +f 612/741/155 620/1224/155 621/1228/113 +f 610/750/129 618/1225/129 619/1229/115 +f 615/739/116 623/1227/116 624/1230/150 +f 613/748/113 621/1277/113 622/1231/128 +f 627/1232/115 635/1245/164 636/1233/159 +f 625/1235/112 633/1239/161 634/1236/160 +f 632/1238/150 640/1246/165 633/1239/161 +f 630/1240/128 638/1248/166 639/1241/162 +f 628/1234/155 636/1233/159 637/1243/163 +f 626/1237/129 634/1236/160 635/1245/164 +f 631/1242/116 639/1241/162 640/1246/165 +f 629/1247/113 637/1255/163 638/1248/166 +f 639/1241/162 645/1254/172 642/1249/167 +f 636/1233/159 635/1245/164 643/1250/168 +f 634/1236/160 633/1239/161 644/1252/170 +f 640/1246/165 642/1249/167 644/1252/170 +f 638/1248/166 648/1256/173 645/1254/172 +f 635/1245/164 634/1236/160 647/1253/171 +f 637/1255/163 641/1278/174 648/1256/173 +f 637/1243/163 636/1233/159 646/1251/169 +f 649/1258/112 657/1274/112 664/1259/150 +f 655/1261/116 663/1270/116 662/1262/128 +f 653/1264/113 661/1279/113 660/1265/155 +f 651/1267/115 659/1273/115 658/1268/129 +f 656/1260/150 664/1259/150 663/1270/116 +f 654/1263/128 662/1262/128 661/1271/113 +f 652/1266/155 660/1265/155 659/1273/115 +f 650/1269/129 658/1268/129 657/1274/112 +f 690/777/153 722/808/153 723/811/128 +f 683/1118/129 715/796/129 716/795/157 +f 691/779/128 723/811/128 724/815/152 +f 684/765/157 716/795/157 717/798/115 +f 692/1121/152 724/815/152 725/814/116 +f 685/767/115 717/798/115 718/802/156 +f 693/782/116 725/814/116 726/785/151 +f 686/770/156 718/802/156 719/804/155 +f 694/754/151 726/785/151 727/788/150 +f 687/1119/155 719/804/155 720/803/154 +f 695/757/150 727/788/150 728/790/149 +f 688/772/154 720/803/154 721/806/113 +f 681/761/112 713/792/112 714/794/158 +f 696/759/149 728/790/149 713/792/112 +f 689/1120/113 721/809/113 722/808/153 +f 682/763/158 714/794/158 715/796/129 +f 770/863/153 802/894/153 803/897/128 +f 763/1126/129 795/882/129 796/881/157 +f 771/865/128 803/897/128 804/901/152 +f 764/851/157 796/881/157 797/884/115 +f 772/1129/152 804/901/152 805/900/116 +f 765/853/115 797/884/115 798/888/156 +f 773/868/116 805/900/116 806/871/151 +f 766/856/156 798/888/156 799/890/155 +f 774/840/151 806/871/151 807/874/150 +f 767/1127/155 799/890/155 800/889/154 +f 775/843/150 807/874/150 808/876/149 +f 768/858/154 800/889/154 801/892/113 +f 761/847/112 793/878/112 794/880/158 +f 776/845/149 808/876/149 793/878/112 +f 769/1128/113 801/895/113 802/894/153 +f 762/849/158 794/880/158 795/882/129 diff --git a/src/main/resources/assets/hbm/models/weapons/pepperbox.obj b/src/main/resources/assets/hbm/models/weapons/pepperbox.obj new file mode 100644 index 000000000..5682c46c4 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/pepperbox.obj @@ -0,0 +1,3740 @@ +# Blender v2.79 (sub 0) OBJ File: 'pepperbox.blend' +# www.blender.org +o Cylinder +v 0.000000 0.125000 7.000000 +v -0.088388 0.088388 7.000000 +v -0.125000 -0.000000 7.000000 +v -0.088388 -0.088388 7.000000 +v 0.000000 -0.125000 7.000000 +v 0.088388 -0.088388 7.000000 +v 0.125000 0.000000 7.000000 +v 0.088388 0.088388 7.000000 +v 0.000000 0.687500 7.000000 +v -0.132583 0.632583 7.000000 +v -0.187500 0.500000 7.000000 +v -0.132583 0.367417 7.000000 +v 0.000000 0.312500 7.000000 +v 0.132583 0.367418 7.000000 +v 0.187500 0.500000 7.000000 +v 0.132583 0.632582 7.000000 +v 0.000000 -0.687500 7.000000 +v 0.132583 -0.632583 7.000000 +v 0.187500 -0.500000 7.000000 +v 0.132583 -0.367417 7.000000 +v 0.000000 -0.312500 7.000000 +v -0.132583 -0.367418 7.000000 +v -0.187500 -0.500000 7.000000 +v -0.132583 -0.632582 7.000000 +v 0.595392 0.343750 7.000000 +v 0.481541 0.431111 7.000000 +v 0.339263 0.412380 7.000000 +v 0.251902 0.298529 7.000000 +v 0.270633 0.156250 7.000000 +v 0.384484 0.068889 7.000000 +v 0.526763 0.087620 7.000000 +v 0.614124 0.201471 7.000000 +v -0.595392 -0.343750 7.000000 +v -0.481541 -0.431111 7.000000 +v -0.339263 -0.412380 7.000000 +v -0.251902 -0.298529 7.000000 +v -0.270633 -0.156250 7.000000 +v -0.384484 -0.068889 7.000000 +v -0.526763 -0.087620 7.000000 +v -0.614124 -0.201471 7.000000 +v 0.595392 -0.343750 7.000000 +v 0.614124 -0.201472 7.000000 +v 0.526763 -0.087620 7.000000 +v 0.384484 -0.068889 7.000000 +v 0.270633 -0.156250 7.000000 +v 0.251902 -0.298529 7.000000 +v 0.339263 -0.412380 7.000000 +v 0.481541 -0.431111 7.000000 +v -0.595392 0.343750 7.000000 +v -0.614124 0.201472 7.000000 +v -0.526763 0.087620 7.000000 +v -0.384484 0.068889 7.000000 +v -0.270633 0.156250 7.000000 +v -0.251902 0.298529 7.000000 +v -0.339262 0.412380 7.000000 +v -0.481541 0.431111 7.000000 +v -0.088388 0.088388 7.062500 +v 0.000000 0.125000 7.062500 +v -0.125000 -0.000000 7.062500 +v -0.088388 -0.088388 7.062500 +v 0.000000 -0.125000 7.062500 +v 0.088388 -0.088388 7.062500 +v 0.125000 -0.000000 7.062500 +v 0.088388 0.088388 7.062500 +v -0.187500 -0.812500 7.000000 +v 0.187500 -0.812500 7.000000 +v -0.187500 0.812500 7.000000 +v 0.187500 0.812500 7.000000 +v -0.797396 -0.243870 7.000000 +v -0.609896 -0.568630 7.000000 +v 0.609896 0.568630 7.000000 +v 0.797396 0.243870 7.000000 +v -0.609896 0.568630 7.000000 +v -0.797396 0.243870 7.000000 +v 0.797396 -0.243870 7.000000 +v 0.609896 -0.568630 7.000000 +v -0.452003 -0.532892 7.000000 +v -0.235497 -0.657892 7.000000 +v 0.235497 0.657892 7.000000 +v 0.452003 0.532892 7.000000 +v -0.687500 0.125000 7.000000 +v -0.687500 -0.125000 7.000000 +v 0.687500 0.125000 7.000000 +v 0.687500 -0.125000 7.000000 +v -0.235497 0.657892 7.000000 +v -0.452003 0.532892 7.000000 +v 0.452003 -0.532892 7.000000 +v 0.235497 -0.657892 7.000000 +v -0.187500 -0.812500 0.000000 +v 0.187500 -0.812500 0.000000 +v -0.187500 0.812500 0.000000 +v 0.187500 0.812500 0.000000 +v -0.797396 -0.243870 0.000000 +v -0.609896 -0.568630 0.000000 +v 0.609896 0.568630 0.000000 +v 0.797396 0.243870 0.000000 +v -0.609896 0.568630 0.000000 +v -0.797396 0.243870 0.000000 +v 0.797396 -0.243870 0.000000 +v 0.609896 -0.568630 0.000000 +v -0.452003 -0.532892 0.000000 +v -0.235497 -0.657892 0.000000 +v 0.235497 0.657892 0.000000 +v 0.452003 0.532892 0.000000 +v -0.687500 0.125000 0.000000 +v -0.687500 -0.125000 0.000000 +v 0.687500 0.125000 0.000000 +v 0.687500 -0.125000 0.000000 +v -0.235497 0.657892 0.000000 +v -0.452003 0.532892 0.000000 +v 0.452003 -0.532892 0.000000 +v 0.235497 -0.657892 0.000000 +v 0.000000 0.687500 6.000000 +v -0.132583 0.632583 6.000000 +v -0.187500 0.500000 6.000000 +v -0.132583 0.367417 6.000000 +v 0.000000 0.312500 6.000000 +v 0.132583 0.367418 6.000000 +v 0.187500 0.500000 6.000000 +v 0.132583 0.632582 6.000000 +v 0.000000 -0.687500 6.000000 +v 0.132583 -0.632583 6.000000 +v 0.187500 -0.500000 6.000000 +v 0.132583 -0.367417 6.000000 +v 0.000000 -0.312500 6.000000 +v -0.132583 -0.367418 6.000000 +v -0.187500 -0.500000 6.000000 +v -0.132583 -0.632582 6.000000 +v 0.595392 0.343750 6.000000 +v 0.481541 0.431111 6.000000 +v 0.339263 0.412380 6.000000 +v 0.251902 0.298529 6.000000 +v 0.270633 0.156250 6.000000 +v 0.384484 0.068889 6.000000 +v 0.526763 0.087620 6.000000 +v 0.614124 0.201471 6.000000 +v -0.595392 -0.343750 6.000000 +v -0.481541 -0.431111 6.000000 +v -0.339263 -0.412380 6.000000 +v -0.251902 -0.298529 6.000000 +v -0.270633 -0.156250 6.000000 +v -0.384484 -0.068889 6.000000 +v -0.526763 -0.087620 6.000000 +v -0.614124 -0.201471 6.000000 +v 0.595392 -0.343750 6.000000 +v 0.614124 -0.201472 6.000000 +v 0.526763 -0.087620 6.000000 +v 0.384484 -0.068889 6.000000 +v 0.270633 -0.156250 6.000000 +v 0.251902 -0.298529 6.000000 +v 0.339263 -0.412380 6.000000 +v 0.481541 -0.431111 6.000000 +v -0.595392 0.343750 6.000000 +v -0.614124 0.201472 6.000000 +v -0.526763 0.087620 6.000000 +v -0.384484 0.068889 6.000000 +v -0.270633 0.156250 6.000000 +v -0.251902 0.298529 6.000000 +v -0.339262 0.412380 6.000000 +v -0.481541 0.431111 6.000000 +vt 0.241282 0.246079 +vt 0.233209 0.265596 +vt 0.225136 0.246079 +vt 0.660448 0.437693 +vt 0.664133 0.453126 +vt 0.660448 0.468558 +vt 0.215016 0.297589 +vt 0.209423 0.257024 +vt 0.215449 0.269500 +vt 0.238802 0.328051 +vt 0.227616 0.328051 +vt 0.233209 0.312437 +vt 0.256994 0.257024 +vt 0.251401 0.297589 +vt 0.250969 0.269500 +vt 0.251401 0.155536 +vt 0.256994 0.196101 +vt 0.250969 0.183625 +vt 0.227616 0.125074 +vt 0.238802 0.125074 +vt 0.233209 0.140688 +vt 0.209423 0.196101 +vt 0.215016 0.155536 +vt 0.215449 0.183625 +vt 0.212702 0.242176 +vt 0.212702 0.210949 +vt 0.217496 0.215618 +vt 0.227616 0.289017 +vt 0.219726 0.293125 +vt 0.223089 0.278072 +vt 0.246692 0.293125 +vt 0.240234 0.308739 +vt 0.238802 0.289017 +vt 0.253716 0.210949 +vt 0.253716 0.242176 +vt 0.248922 0.237507 +vt 0.238802 0.164108 +vt 0.246692 0.160000 +vt 0.243329 0.175053 +vt 0.219726 0.160000 +vt 0.226184 0.144386 +vt 0.227616 0.164108 +vt 0.221740 0.235167 +vt 0.217496 0.237507 +vt 0.225136 0.207046 +vt 0.221740 0.217958 +vt 0.229254 0.272456 +vt 0.225695 0.263851 +vt 0.237164 0.272456 +vt 0.243329 0.278072 +vt 0.240723 0.263851 +vt 0.244678 0.235167 +vt 0.248922 0.215618 +vt 0.244678 0.217958 +vt 0.240723 0.189274 +vt 0.237164 0.180669 +vt 0.241282 0.207046 +vt 0.233209 0.187529 +vt 0.225695 0.189274 +vt 0.223089 0.175053 +vt 0.229254 0.180669 +vt 0.000000 0.625000 +vt 0.208955 0.671875 +vt 0.000000 0.671875 +vt 0.000000 0.406250 +vt 0.208955 0.453125 +vt 0.000000 0.453125 +vt 0.000000 0.187500 +vt 0.208955 0.234375 +vt 0.000000 0.234375 +vt 0.000000 0.515625 +vt 0.208955 0.562500 +vt 0.000000 0.562500 +vt 0.000000 0.296875 +vt 0.208955 0.343750 +vt 0.000000 0.343750 +vt 0.000000 0.734375 +vt 0.208955 0.781250 +vt 0.000000 0.781250 +vt 0.249994 0.351563 +vt 0.248356 0.368116 +vt 0.244403 0.374973 +vt 0.249994 0.351562 +vt 0.248356 0.368116 +vt 0.244403 0.374973 +vt 0.244403 0.328152 +vt 0.249994 0.351562 +vt 0.244403 0.374973 +vt 0.249994 0.351563 +vt 0.248356 0.368116 +vt 0.244403 0.374973 +vt 0.249994 0.351562 +vt 0.248356 0.368116 +vt 0.244403 0.374973 +vt 0.244403 0.328152 +vt 0.249994 0.351562 +vt 0.244403 0.374973 +vt 0.657842 0.464038 +vt 0.656762 0.453126 +vt 0.657842 0.442213 +vt 0.663054 0.442213 +vt 0.663054 0.464038 +vt 0.214890 0.251728 +vt 0.218845 0.280412 +vt 0.226184 0.308739 +vt 0.229254 0.305577 +vt 0.237164 0.305577 +vt 0.247573 0.280412 +vt 0.251528 0.251728 +vt 0.251528 0.201397 +vt 0.247573 0.172713 +vt 0.240234 0.144386 +vt 0.237164 0.147548 +vt 0.229254 0.147548 +vt 0.218845 0.172713 +vt 0.214890 0.201397 +vt 0.208955 0.625000 +vt 0.208955 0.406250 +vt 0.208955 0.187500 +vt 0.208955 0.515625 +vt 0.208955 0.296875 +vt 0.208955 0.734375 +vt 0.240450 0.368116 +vt 0.238812 0.351563 +vt 0.240450 0.335009 +vt 0.244403 0.328152 +vt 0.248356 0.335009 +vt 0.240450 0.368116 +vt 0.238812 0.351563 +vt 0.240450 0.335009 +vt 0.244403 0.328152 +vt 0.248356 0.335009 +vt 0.240450 0.368116 +vt 0.238812 0.351562 +vt 0.240450 0.335009 +vt 0.248356 0.335009 +vt 0.248356 0.368116 +vt 0.240450 0.368116 +vt 0.238812 0.351562 +vt 0.240450 0.335009 +vt 0.244403 0.328152 +vt 0.248356 0.335009 +vt 0.240450 0.368116 +vt 0.238812 0.351563 +vt 0.240450 0.335009 +vt 0.244403 0.328152 +vt 0.248356 0.335009 +vt 0.240450 0.368116 +vt 0.238812 0.351562 +vt 0.240450 0.335009 +vt 0.248356 0.335009 +vt 0.248356 0.368116 +vt 0.656716 0.531250 +vt 0.652985 0.515625 +vt 0.656716 0.515625 +vt 0.656716 0.484375 +vt 0.652985 0.468750 +vt 0.656716 0.468750 +vt 0.656716 0.453125 +vt 0.652985 0.437500 +vt 0.656716 0.437500 +vt 0.652985 0.546875 +vt 0.652985 0.531250 +vt 0.652985 0.500000 +vt 0.656716 0.500000 +vt 0.652985 0.484375 +vt 0.652985 0.453125 +vt 0.656716 0.562500 +vt 0.656716 0.546875 +vt 0.000000 0.359375 +vt 0.208955 0.390625 +vt 0.000000 0.390625 +vt 0.000000 0.171875 +vt 0.000000 0.140625 +vt 0.208955 0.171875 +vt 0.000000 0.125000 +vt 0.208955 0.140625 +vt 0.000000 0.468750 +vt 0.208955 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.718750 +vt 0.208955 0.468750 +vt 0.208955 0.687500 +vt 0.000000 0.687500 +vt 0.000000 0.250000 +vt 0.208955 0.281250 +vt 0.000000 0.281250 +vt 0.000000 0.609375 +vt 0.208955 0.359375 +vt 0.208955 0.718750 +vt 0.208955 0.578125 +vt 0.000000 0.578125 +vt 0.208955 0.609375 +vt 0.208955 0.250000 +vt 0.208955 0.328125 +vt 0.238806 0.343750 +vt 0.208955 0.343750 +vt 0.208955 0.406250 +vt 0.238806 0.421875 +vt 0.208955 0.421875 +vt 0.208955 0.406250 +vt 0.238806 0.421875 +vt 0.208955 0.421875 +vt 0.208955 0.359375 +vt 0.238806 0.375000 +vt 0.208955 0.375000 +vt 0.208955 0.437500 +vt 0.238806 0.453125 +vt 0.208955 0.453125 +vt 0.208955 0.390625 +vt 0.238806 0.406250 +vt 0.208955 0.390625 +vt 0.238806 0.406250 +vt 0.208955 0.343750 +vt 0.238806 0.359375 +vt 0.208955 0.421875 +vt 0.238806 0.437500 +vt 0.208955 0.375000 +vt 0.238806 0.390625 +vt 0.208955 0.390625 +vt 0.208955 0.328125 +vt 0.238806 0.343750 +vt 0.208955 0.406250 +vt 0.238806 0.421875 +vt 0.208955 0.359375 +vt 0.238806 0.375000 +vt 0.208955 0.437500 +vt 0.238806 0.453125 +vt 0.208955 0.453125 +vt 0.208955 0.390625 +vt 0.238806 0.406250 +vt 0.208955 0.343750 +vt 0.238806 0.359375 +vt 0.208955 0.421875 +vt 0.238806 0.437500 +vt 0.208955 0.375000 +vt 0.238806 0.390625 +vt 0.208955 0.390625 +vt 0.208955 0.328125 +vt 0.238806 0.343750 +vt 0.208955 0.406250 +vt 0.238806 0.421875 +vt 0.208955 0.359375 +vt 0.238806 0.375000 +vt 0.208955 0.437500 +vt 0.238806 0.453125 +vt 0.208955 0.453125 +vt 0.208955 0.390625 +vt 0.238806 0.406250 +vt 0.208955 0.343750 +vt 0.238806 0.359375 +vt 0.208955 0.421875 +vt 0.238806 0.437500 +vt 0.208955 0.375000 +vt 0.238806 0.390625 +vt 0.208955 0.375000 +vt 0.238806 0.390625 +vt 0.208955 0.328125 +vt 0.238806 0.343750 +vt 0.208955 0.406250 +vt 0.238806 0.421875 +vt 0.208955 0.359375 +vt 0.238806 0.375000 +vt 0.208955 0.359375 +vt 0.238806 0.375000 +vt 0.208955 0.437500 +vt 0.238806 0.453125 +vt 0.208955 0.453125 +vt 0.238806 0.406250 +vt 0.208955 0.343750 +vt 0.238806 0.359375 +vt 0.208955 0.343750 +vt 0.238806 0.359375 +vt 0.208955 0.421875 +vt 0.238806 0.437500 +vt 0.208955 0.375000 +vt 0.238806 0.390625 +vt 0.208955 0.328125 +vt 0.238806 0.343750 +vt 0.208955 0.328125 +vt 0.238806 0.343750 +vt 0.208955 0.406250 +vt 0.238806 0.421875 +vt 0.208955 0.359375 +vt 0.238806 0.375000 +vt 0.208955 0.437500 +vt 0.238806 0.453125 +vt 0.208955 0.453125 +vt 0.208955 0.437500 +vt 0.238806 0.453125 +vt 0.208955 0.453125 +vt 0.238806 0.406250 +vt 0.238806 0.359375 +vt 0.238806 0.437500 +vt 0.238806 0.437500 +vt 0.238806 0.390625 +vt 0.652985 0.562500 +vt 0.208955 0.125000 +vt 0.238806 0.328125 +vt 0.238806 0.328125 +vt 0.238806 0.328125 +vt 0.238806 0.328125 +vt 0.238806 0.328125 +vt 0.238806 0.328125 +vn 0.0000 0.0000 1.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.1499 0.9887 0.0000 +vn 0.7813 0.6242 0.0000 +vn 0.1499 -0.9887 0.0000 +vn -0.2208 -0.9753 0.0000 +vn 0.7813 -0.6242 0.0000 +vn 0.9550 -0.2965 0.0000 +vn -0.7813 0.6242 0.0000 +vn -0.1499 0.9887 0.0000 +vn -0.7813 -0.6242 0.0000 +vn -0.9550 -0.2965 0.0000 +vn -0.9550 0.2965 0.0000 +vn 0.2208 -0.9753 0.0000 +vn -0.1499 -0.9887 0.0000 +vn 0.9550 0.2965 0.0000 +vn 0.9312 0.3645 0.0000 +vn 0.9312 -0.3645 0.0000 +vn -0.9312 0.3645 0.0000 +vn -0.7343 0.6788 0.0000 +vn -0.2208 0.9753 0.0000 +vn -0.7343 -0.6788 0.0000 +vn -0.9312 -0.3645 0.0000 +vn 0.7343 -0.6788 0.0000 +vn 0.2208 0.9753 0.0000 +vn 0.7343 0.6788 0.0000 +vn 0.9659 -0.2588 0.0000 +vn 0.2588 -0.9659 0.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.9659 -0.2588 0.0000 +vn 0.2588 0.9659 0.0000 +vn -0.5000 0.8660 0.0000 +vn -0.9659 0.2588 0.0000 +vn 0.9659 0.2588 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.2588 0.9659 0.0000 +vn -0.2588 -0.9659 0.0000 +vn 0.5000 -0.8660 0.0000 +s off +f 29/1/1 13/2/1 53/3/1 +f 61/4/1 63/5/1 58/6/1 +f 73/7/1 74/8/1 49/9/1 +f 68/10/1 67/11/1 9/12/1 +f 72/13/1 71/14/1 25/15/1 +f 76/16/1 75/17/1 41/18/1 +f 65/19/1 66/20/1 17/21/1 +f 69/22/1 70/23/1 33/24/1 +f 81/25/1 82/26/1 39/27/1 +f 11/28/1 86/29/1 55/30/1 +f 80/31/1 79/32/1 15/33/1 +f 84/34/1 83/35/1 31/36/1 +f 19/37/1 87/38/1 47/39/1 +f 77/40/1 78/41/1 23/42/1 +f 39/27/1 52/43/1 51/44/1 +f 37/45/1 52/43/1 38/46/1 +f 12/47/1 55/30/1 54/48/1 +f 12/47/1 53/3/1 13/2/1 +f 14/49/1 27/50/1 15/33/1 +f 14/49/1 29/1/1 28/51/1 +f 30/52/1 43/53/1 31/36/1 +f 29/1/1 44/54/1 30/52/1 +f 19/37/1 46/55/1 20/56/1 +f 20/56/1 45/57/1 21/58/1 +f 23/42/1 36/59/1 35/60/1 +f 21/58/1 36/59/1 22/61/1 +f 69/62/2 94/63/2 70/64/2 +f 68/65/3 91/66/3 67/67/3 +f 76/68/4 99/69/4 75/70/4 +f 73/71/5 98/72/5 74/73/5 +f 72/74/6 95/75/6 71/76/6 +f 65/77/7 90/78/7 66/79/7 +f 135/80/1 136/81/1 129/82/1 +f 151/83/1 152/84/1 145/85/1 +f 125/86/1 127/87/1 121/88/1 +f 143/89/1 144/90/1 137/91/1 +f 159/92/1 160/93/1 153/94/1 +f 117/95/1 119/96/1 113/97/1 +f 53/3/1 37/45/1 29/1/1 +f 37/45/1 21/58/1 29/1/1 +f 21/58/1 45/57/1 29/1/1 +f 58/6/1 57/98/1 59/99/1 +f 59/99/1 60/100/1 61/4/1 +f 61/4/1 62/101/1 63/5/1 +f 63/5/1 64/102/1 58/6/1 +f 58/6/1 59/99/1 61/4/1 +f 81/25/1 50/103/1 74/8/1 +f 50/103/1 49/9/1 74/8/1 +f 49/9/1 56/104/1 73/7/1 +f 56/104/1 86/29/1 73/7/1 +f 85/105/1 10/106/1 67/11/1 +f 10/106/1 9/12/1 67/11/1 +f 9/12/1 16/107/1 68/10/1 +f 16/107/1 79/32/1 68/10/1 +f 80/31/1 26/108/1 71/14/1 +f 26/108/1 25/15/1 71/14/1 +f 25/15/1 32/109/1 72/13/1 +f 32/109/1 83/35/1 72/13/1 +f 84/34/1 42/110/1 75/17/1 +f 42/110/1 41/18/1 75/17/1 +f 41/18/1 48/111/1 76/16/1 +f 48/111/1 87/38/1 76/16/1 +f 88/112/1 18/113/1 66/20/1 +f 18/113/1 17/21/1 66/20/1 +f 17/21/1 24/114/1 65/19/1 +f 24/114/1 78/41/1 65/19/1 +f 77/40/1 34/115/1 70/23/1 +f 34/115/1 33/24/1 70/23/1 +f 33/24/1 40/116/1 69/22/1 +f 40/116/1 82/26/1 69/22/1 +f 82/26/1 40/116/1 39/27/1 +f 39/27/1 51/44/1 81/25/1 +f 51/44/1 50/103/1 81/25/1 +f 11/28/1 10/106/1 85/105/1 +f 85/105/1 86/29/1 11/28/1 +f 86/29/1 56/104/1 55/30/1 +f 79/32/1 16/107/1 15/33/1 +f 15/33/1 27/50/1 80/31/1 +f 27/50/1 26/108/1 80/31/1 +f 83/35/1 32/109/1 31/36/1 +f 31/36/1 43/53/1 84/34/1 +f 43/53/1 42/110/1 84/34/1 +f 19/37/1 18/113/1 88/112/1 +f 88/112/1 87/38/1 19/37/1 +f 87/38/1 48/111/1 47/39/1 +f 78/41/1 24/114/1 23/42/1 +f 23/42/1 35/60/1 77/40/1 +f 35/60/1 34/115/1 77/40/1 +f 39/27/1 38/46/1 52/43/1 +f 37/45/1 53/3/1 52/43/1 +f 12/47/1 11/28/1 55/30/1 +f 12/47/1 54/48/1 53/3/1 +f 14/49/1 28/51/1 27/50/1 +f 14/49/1 13/2/1 29/1/1 +f 30/52/1 44/54/1 43/53/1 +f 29/1/1 45/57/1 44/54/1 +f 19/37/1 47/39/1 46/55/1 +f 20/56/1 46/55/1 45/57/1 +f 23/42/1 22/61/1 36/59/1 +f 21/58/1 37/45/1 36/59/1 +f 69/62/2 93/117/2 94/63/2 +f 68/65/3 92/118/3 91/66/3 +f 76/68/4 100/119/4 99/69/4 +f 73/71/5 97/120/5 98/72/5 +f 72/74/6 96/121/6 95/75/6 +f 65/77/7 89/122/7 90/78/7 +f 129/82/1 130/123/1 131/124/1 +f 131/124/1 132/125/1 129/82/1 +f 132/125/1 133/126/1 129/82/1 +f 133/126/1 134/127/1 129/82/1 +f 134/127/1 135/80/1 129/82/1 +f 145/85/1 146/128/1 147/129/1 +f 147/129/1 148/130/1 145/85/1 +f 148/130/1 149/131/1 145/85/1 +f 149/131/1 150/132/1 145/85/1 +f 150/132/1 151/83/1 145/85/1 +f 121/88/1 122/133/1 123/134/1 +f 123/134/1 124/135/1 125/86/1 +f 125/86/1 126/136/1 127/87/1 +f 127/87/1 128/137/1 121/88/1 +f 121/88/1 123/134/1 125/86/1 +f 137/91/1 138/138/1 139/139/1 +f 139/139/1 140/140/1 137/91/1 +f 140/140/1 141/141/1 137/91/1 +f 141/141/1 142/142/1 137/91/1 +f 142/142/1 143/89/1 137/91/1 +f 153/94/1 154/143/1 155/144/1 +f 155/144/1 156/145/1 153/94/1 +f 156/145/1 157/146/1 153/94/1 +f 157/146/1 158/147/1 153/94/1 +f 158/147/1 159/92/1 153/94/1 +f 113/97/1 114/148/1 115/149/1 +f 115/149/1 116/150/1 117/95/1 +f 117/95/1 118/151/1 119/96/1 +f 119/96/1 120/152/1 113/97/1 +f 113/97/1 115/149/1 117/95/1 +s 1 +f 3/153/8 57/154/9 2/155/9 +f 8/156/10 63/157/11 7/158/11 +f 6/159/12 61/160/7 5/161/7 +f 3/153/8 60/162/13 59/163/8 +f 2/155/9 58/164/3 1/165/3 +f 1/165/3 64/166/10 8/156/10 +f 7/158/11 62/167/12 6/159/12 +f 5/168/7 60/162/13 4/169/13 +f 80/170/14 103/171/15 79/172/15 +f 87/173/16 100/119/17 76/68/17 +f 88/174/18 111/175/16 87/173/16 +f 66/176/19 112/177/18 88/174/18 +f 85/178/20 110/179/21 86/180/21 +f 78/181/22 89/122/23 65/77/23 +f 67/67/24 109/182/20 85/178/20 +f 70/64/25 101/183/26 77/184/26 +f 79/172/15 92/118/27 68/65/27 +f 84/185/28 107/186/29 83/187/29 +f 82/188/30 93/117/31 69/62/31 +f 71/76/32 104/189/14 80/170/14 +f 77/184/26 102/190/22 78/181/22 +f 74/73/33 105/191/34 81/192/34 +f 83/187/29 96/121/35 72/74/35 +f 81/192/34 106/193/30 82/188/30 +f 86/180/21 97/120/36 73/71/36 +f 75/70/37 108/194/28 84/185/28 +f 29/195/6 132/196/38 28/197/38 +f 56/198/39 159/199/40 55/200/40 +f 16/201/13 119/202/8 15/203/8 +f 43/204/40 146/205/41 42/206/41 +f 30/207/42 133/208/6 29/209/6 +f 49/210/4 160/211/39 56/198/39 +f 9/212/7 120/213/13 16/201/13 +f 44/214/39 147/215/40 43/204/40 +f 31/216/43 134/217/42 30/207/42 +f 18/218/9 121/219/3 17/220/3 +f 45/221/4 148/222/39 44/214/39 +f 32/223/44 135/224/43 31/216/43 +f 19/225/8 122/226/9 18/218/9 +f 46/227/45 149/228/4 45/229/4 +f 25/230/2 136/231/44 32/223/44 +f 20/232/13 123/233/8 19/225/8 +f 47/234/46 150/235/45 46/227/45 +f 34/236/42 137/237/6 33/238/6 +f 21/239/7 124/240/13 20/232/13 +f 48/241/47 151/242/46 47/234/46 +f 35/243/43 138/244/42 34/236/42 +f 22/245/12 125/246/7 21/247/7 +f 41/248/5 152/249/47 48/241/47 +f 36/250/44 139/251/43 35/243/43 +f 23/252/11 126/253/12 22/245/12 +f 50/254/45 153/255/4 49/210/4 +f 10/256/12 113/257/7 9/212/7 +f 37/258/2 140/259/44 36/250/44 +f 24/260/10 127/261/11 23/252/11 +f 51/262/46 154/263/45 50/254/45 +f 11/264/11 114/265/12 10/256/12 +f 38/266/48 141/267/2 37/268/2 +f 17/220/3 128/269/10 24/260/10 +f 52/270/47 155/271/46 51/262/46 +f 12/272/10 115/273/11 11/264/11 +f 39/274/49 142/275/48 38/266/48 +f 26/276/48 129/277/2 25/230/2 +f 53/278/5 156/279/47 52/270/47 +f 13/280/3 116/281/10 12/272/10 +f 40/282/38 143/283/49 39/274/49 +f 27/284/49 130/285/48 26/276/48 +f 54/286/41 157/287/5 53/288/5 +f 14/289/9 117/290/3 13/291/3 +f 33/238/6 144/292/38 40/282/38 +f 28/197/38 131/293/49 27/284/49 +f 55/200/40 158/294/41 54/286/41 +f 15/203/8 118/295/9 14/289/9 +f 42/206/41 145/296/5 41/248/5 +f 3/153/8 59/163/8 57/154/9 +f 8/156/10 64/166/10 63/157/11 +f 6/159/12 62/167/12 61/160/7 +f 3/153/8 4/169/13 60/162/13 +f 2/155/9 57/154/9 58/164/3 +f 1/165/3 58/164/3 64/166/10 +f 7/158/11 63/157/11 62/167/12 +f 5/168/7 61/297/7 60/162/13 +f 80/170/14 104/189/14 103/171/15 +f 87/173/16 111/175/16 100/119/17 +f 88/174/18 112/177/18 111/175/16 +f 66/176/19 90/298/19 112/177/18 +f 85/178/20 109/182/20 110/179/21 +f 78/181/22 102/190/22 89/122/23 +f 67/67/24 91/66/24 109/182/20 +f 70/64/25 94/63/25 101/183/26 +f 79/172/15 103/171/15 92/118/27 +f 84/185/28 108/194/28 107/186/29 +f 82/188/30 106/193/30 93/117/31 +f 71/76/32 95/75/32 104/189/14 +f 77/184/26 101/183/26 102/190/22 +f 74/73/33 98/72/33 105/191/34 +f 83/187/29 107/186/29 96/121/35 +f 81/192/34 105/191/34 106/193/30 +f 86/180/21 110/179/21 97/120/36 +f 75/70/37 99/69/37 108/194/28 +f 29/195/6 133/299/6 132/196/38 +f 56/198/39 160/211/39 159/199/40 +f 16/201/13 120/213/13 119/202/8 +f 43/204/40 147/215/40 146/205/41 +f 30/207/42 134/217/42 133/208/6 +f 49/210/4 153/255/4 160/211/39 +f 9/212/7 113/257/7 120/213/13 +f 44/214/39 148/222/39 147/215/40 +f 31/216/43 135/224/43 134/217/42 +f 18/218/9 122/226/9 121/219/3 +f 45/221/4 149/300/4 148/222/39 +f 32/223/44 136/231/44 135/224/43 +f 19/225/8 123/233/8 122/226/9 +f 46/227/45 150/235/45 149/228/4 +f 25/230/2 129/277/2 136/231/44 +f 20/232/13 124/240/13 123/233/8 +f 47/234/46 151/242/46 150/235/45 +f 34/236/42 138/244/42 137/237/6 +f 21/239/7 125/301/7 124/240/13 +f 48/241/47 152/249/47 151/242/46 +f 35/243/43 139/251/43 138/244/42 +f 22/245/12 126/253/12 125/246/7 +f 41/248/5 145/296/5 152/249/47 +f 36/250/44 140/259/44 139/251/43 +f 23/252/11 127/261/11 126/253/12 +f 50/254/45 154/263/45 153/255/4 +f 10/256/12 114/265/12 113/257/7 +f 37/258/2 141/302/2 140/259/44 +f 24/260/10 128/269/10 127/261/11 +f 51/262/46 155/271/46 154/263/45 +f 11/264/11 115/273/11 114/265/12 +f 38/266/48 142/275/48 141/267/2 +f 17/220/3 121/219/3 128/269/10 +f 52/270/47 156/279/47 155/271/46 +f 12/272/10 116/281/10 115/273/11 +f 39/274/49 143/283/49 142/275/48 +f 26/276/48 130/285/48 129/277/2 +f 53/278/5 157/303/5 156/279/47 +f 13/280/3 117/304/3 116/281/10 +f 40/282/38 144/292/38 143/283/49 +f 27/284/49 131/293/49 130/285/48 +f 54/286/41 158/294/41 157/287/5 +f 14/289/9 118/295/9 117/290/3 +f 33/238/6 137/237/6 144/292/38 +f 28/197/38 132/196/38 131/293/49 +f 55/200/40 159/199/40 158/294/41 +f 15/203/8 119/202/8 118/295/9 +f 42/206/41 146/205/41 145/296/5 +o Speedloader +v 0.000000 0.875000 8.062500 +v -0.437500 0.757773 8.062500 +v -0.757772 0.437500 8.062500 +v -0.875000 -0.000000 8.062500 +v -0.757772 -0.437500 8.062500 +v -0.437500 -0.757773 8.062500 +v 0.000000 -0.875000 8.062500 +v 0.437500 -0.757773 8.062500 +v 0.757772 -0.437500 8.062500 +v 0.875000 -0.000000 8.062500 +v 0.757772 0.437500 8.062500 +v 0.437500 0.757773 8.062500 +v 0.000000 0.875000 8.312500 +v -0.437500 0.757773 8.312500 +v -0.757772 0.437500 8.312500 +v -0.875000 -0.000000 8.312500 +v -0.757772 -0.437500 8.312500 +v -0.437500 -0.757773 8.312500 +v 0.000000 -0.875000 8.312500 +v 0.437500 -0.757773 8.312500 +v 0.757772 -0.437500 8.312500 +v 0.875000 -0.000000 8.312500 +v 0.757772 0.437500 8.312500 +v 0.437500 0.757773 8.312500 +v 0.187500 -0.500000 8.000000 +v -0.187500 -0.500000 8.000000 +v 0.000000 -0.312500 8.000000 +v 0.000000 -0.687500 8.000000 +v -0.132583 -0.367418 8.000000 +v 0.132583 -0.632583 8.000000 +v -0.132583 -0.632583 8.000000 +v 0.132583 -0.367418 8.000000 +v 0.000000 -0.750000 8.000000 +v 0.176776 -0.676777 8.000000 +v 0.250000 -0.500000 8.000000 +v 0.176777 -0.323224 8.000000 +v 0.000000 -0.250000 8.000000 +v -0.176777 -0.323224 8.000000 +v -0.250000 -0.500000 8.000000 +v -0.176777 -0.676777 8.000000 +v 0.000000 -0.312500 8.062500 +v -0.132583 -0.367418 8.062500 +v 0.132583 -0.367418 8.062500 +v 0.187500 -0.500000 8.062500 +v 0.132583 -0.632583 8.062500 +v 0.000000 -0.687500 8.062500 +v -0.132583 -0.632583 8.062500 +v -0.187500 -0.500000 8.062500 +v 0.176776 -0.676777 8.062500 +v 0.000000 -0.750000 8.062500 +v 0.250000 -0.500000 8.062500 +v 0.176777 -0.323224 8.062500 +v 0.000000 -0.250000 8.062500 +v -0.176777 -0.323224 8.062500 +v -0.250000 -0.500000 8.062500 +v -0.176777 -0.676777 8.062500 +v 0.000000 0.250000 8.312500 +v -0.125000 0.216506 8.312500 +v -0.216506 0.125000 8.312500 +v -0.250000 0.000000 8.312500 +v -0.216506 -0.125000 8.312500 +v -0.125000 -0.216506 8.312500 +v 0.000000 -0.250000 8.312500 +v 0.125000 -0.216506 8.312500 +v 0.216506 -0.125000 8.312500 +v 0.250000 0.000000 8.312500 +v 0.216506 0.125000 8.312500 +v 0.125000 0.216506 8.312500 +v 0.000000 0.250000 8.812500 +v -0.125000 0.216506 8.812500 +v -0.216506 0.125000 8.812500 +v -0.250000 0.000000 8.812500 +v -0.216506 -0.125000 8.812500 +v -0.125000 -0.216506 8.812500 +v 0.000000 -0.250000 8.812500 +v 0.125000 -0.216506 8.812500 +v 0.216506 -0.125000 8.812500 +v 0.250000 0.000000 8.812500 +v 0.216506 0.125000 8.812500 +v 0.125000 0.216506 8.812500 +v 0.000000 0.625000 8.812500 +v -0.312500 0.541265 8.812500 +v -0.541266 0.312500 8.812500 +v -0.625000 0.000000 8.812500 +v -0.541266 -0.312500 8.812500 +v -0.312500 -0.541265 8.812500 +v 0.000000 -0.625000 8.812500 +v 0.312500 -0.541265 8.812500 +v 0.541265 -0.312500 8.812500 +v 0.625000 0.000000 8.812500 +v 0.541266 0.312500 8.812500 +v 0.312500 0.541265 8.812500 +v 0.000000 0.625000 9.062500 +v -0.312500 0.541265 9.062500 +v -0.541266 0.312500 9.062500 +v -0.625000 0.000000 9.062500 +v -0.541266 -0.312500 9.062500 +v -0.312500 -0.541265 9.062500 +v 0.000000 -0.625000 9.062500 +v 0.312500 -0.541265 9.062500 +v 0.541265 -0.312500 9.062500 +v 0.625000 0.000000 9.062500 +v 0.541266 0.312500 9.062500 +v 0.312500 0.541265 9.062500 +v -0.187500 0.500000 8.000000 +v 0.187500 0.500000 8.000000 +v 0.000000 0.312500 8.000000 +v 0.000000 0.687500 8.000000 +v 0.132583 0.367418 8.000000 +v -0.132583 0.632583 8.000000 +v 0.132583 0.632583 8.000000 +v -0.132583 0.367418 8.000000 +v 0.000000 0.750000 8.000000 +v -0.176776 0.676777 8.000000 +v -0.250000 0.500000 8.000000 +v -0.176777 0.323224 8.000000 +v 0.000000 0.250000 8.000000 +v 0.176777 0.323224 8.000000 +v 0.250000 0.500000 8.000000 +v 0.176777 0.676777 8.000000 +v 0.000000 0.312500 8.062500 +v 0.132583 0.367418 8.062500 +v -0.132583 0.367418 8.062500 +v -0.187500 0.500000 8.062500 +v -0.132583 0.632583 8.062500 +v 0.000000 0.687500 8.062500 +v 0.132583 0.632583 8.062500 +v 0.187500 0.500000 8.062500 +v -0.176776 0.676777 8.062500 +v 0.000000 0.750000 8.062500 +v -0.250000 0.500000 8.062500 +v -0.176777 0.323224 8.062500 +v 0.000000 0.250000 8.062500 +v 0.176777 0.323224 8.062500 +v 0.250000 0.500000 8.062500 +v 0.176777 0.676777 8.062500 +v -0.339263 -0.412380 8.000000 +v -0.526763 -0.087620 8.000000 +v -0.270633 -0.156250 8.000000 +v -0.595393 -0.343750 8.000000 +v -0.384484 -0.068889 8.000000 +v -0.481542 -0.431112 8.000000 +v -0.614124 -0.201472 8.000000 +v -0.251902 -0.298529 8.000000 +v -0.649519 -0.375000 8.000000 +v -0.497718 -0.491482 8.000000 +v -0.308013 -0.466507 8.000000 +v -0.191531 -0.314705 8.000000 +v -0.216507 -0.125000 8.000000 +v -0.368308 -0.008519 8.000000 +v -0.558013 -0.033494 8.000000 +v -0.674495 -0.185295 8.000000 +v -0.270633 -0.156250 8.062500 +v -0.384484 -0.068889 8.062500 +v -0.251902 -0.298529 8.062500 +v -0.339263 -0.412380 8.062500 +v -0.481542 -0.431112 8.062500 +v -0.595393 -0.343750 8.062500 +v -0.614124 -0.201472 8.062500 +v -0.526763 -0.087620 8.062500 +v -0.497718 -0.491482 8.062500 +v -0.649519 -0.375000 8.062500 +v -0.308013 -0.466507 8.062500 +v -0.191531 -0.314705 8.062500 +v -0.216507 -0.125000 8.062500 +v -0.368308 -0.008519 8.062500 +v -0.558013 -0.033494 8.062500 +v -0.674495 -0.185295 8.062500 +v 0.339263 0.412380 8.000000 +v 0.526763 0.087620 8.000000 +v 0.270633 0.156250 8.000000 +v 0.595393 0.343750 8.000000 +v 0.384484 0.068889 8.000000 +v 0.481542 0.431112 8.000000 +v 0.614124 0.201472 8.000000 +v 0.251902 0.298529 8.000000 +v 0.649519 0.375000 8.000000 +v 0.497718 0.491482 8.000000 +v 0.308013 0.466507 8.000000 +v 0.191531 0.314705 8.000000 +v 0.216507 0.125000 8.000000 +v 0.368308 0.008519 8.000000 +v 0.558013 0.033494 8.000000 +v 0.674495 0.185295 8.000000 +v 0.270633 0.156250 8.062500 +v 0.384484 0.068889 8.062500 +v 0.251902 0.298529 8.062500 +v 0.339263 0.412380 8.062500 +v 0.481542 0.431112 8.062500 +v 0.595393 0.343750 8.062500 +v 0.614124 0.201472 8.062500 +v 0.526763 0.087620 8.062500 +v 0.497718 0.491482 8.062500 +v 0.649519 0.375000 8.062500 +v 0.308013 0.466507 8.062500 +v 0.191531 0.314705 8.062500 +v 0.216507 0.125000 8.062500 +v 0.368308 0.008519 8.062500 +v 0.558013 0.033494 8.062500 +v 0.674495 0.185295 8.062500 +v -0.526763 0.087620 8.000000 +v -0.339263 0.412380 8.000000 +v -0.270633 0.156250 8.000000 +v -0.595393 0.343750 8.000000 +v -0.251902 0.298529 8.000000 +v -0.614124 0.201472 8.000000 +v -0.481542 0.431112 8.000000 +v -0.384484 0.068889 8.000000 +v -0.649519 0.375000 8.000000 +v -0.674495 0.185296 8.000000 +v -0.558013 0.033494 8.000000 +v -0.368308 0.008518 8.000000 +v -0.216507 0.125000 8.000000 +v -0.191531 0.314705 8.000000 +v -0.308013 0.466507 8.000000 +v -0.497718 0.491482 8.000000 +v -0.270633 0.156250 8.062500 +v -0.251902 0.298529 8.062500 +v -0.384484 0.068889 8.062500 +v -0.526763 0.087620 8.062500 +v -0.614124 0.201472 8.062500 +v -0.595393 0.343750 8.062500 +v -0.481542 0.431112 8.062500 +v -0.339263 0.412380 8.062500 +v -0.674495 0.185296 8.062500 +v -0.649519 0.375000 8.062500 +v -0.558013 0.033494 8.062500 +v -0.368308 0.008518 8.062500 +v -0.216507 0.125000 8.062500 +v -0.191531 0.314705 8.062500 +v -0.308013 0.466507 8.062500 +v -0.497718 0.491482 8.062500 +v 0.526763 -0.087620 8.000000 +v 0.339263 -0.412380 8.000000 +v 0.270633 -0.156250 8.000000 +v 0.595393 -0.343750 8.000000 +v 0.251902 -0.298529 8.000000 +v 0.614124 -0.201472 8.000000 +v 0.481542 -0.431112 8.000000 +v 0.384484 -0.068889 8.000000 +v 0.649519 -0.375000 8.000000 +v 0.674495 -0.185296 8.000000 +v 0.558013 -0.033494 8.000000 +v 0.368308 -0.008518 8.000000 +v 0.216507 -0.125000 8.000000 +v 0.191531 -0.314705 8.000000 +v 0.308013 -0.466507 8.000000 +v 0.497718 -0.491482 8.000000 +v 0.270633 -0.156250 8.062500 +v 0.251902 -0.298529 8.062500 +v 0.384484 -0.068889 8.062500 +v 0.526763 -0.087620 8.062500 +v 0.614124 -0.201472 8.062500 +v 0.595393 -0.343750 8.062500 +v 0.481542 -0.431112 8.062500 +v 0.339263 -0.412380 8.062500 +v 0.674495 -0.185296 8.062500 +v 0.649519 -0.375000 8.062500 +v 0.558013 -0.033494 8.062500 +v 0.368308 -0.008518 8.062500 +v 0.216507 -0.125000 8.062500 +v 0.191531 -0.314705 8.062500 +v 0.308013 -0.466507 8.062500 +v 0.497718 -0.491482 8.062500 +vt 0.574405 0.179713 +vt 0.619624 0.179713 +vt 0.597015 0.343699 +vt 0.574406 0.507787 +vt 0.574406 0.398463 +vt 0.597015 0.343801 +vt 0.671642 0.484375 +vt 0.667910 0.468750 +vt 0.671642 0.468750 +vt 0.667910 0.500000 +vt 0.667910 0.484375 +vt 0.671642 0.500000 +vt 0.667910 0.515625 +vt 0.671642 0.515625 +vt 0.667910 0.531250 +vt 0.671642 0.546875 +vt 0.671642 0.531250 +vt 0.667910 0.562500 +vt 0.667910 0.546875 +vt 0.671642 0.453125 +vt 0.667910 0.437500 +vt 0.671642 0.437500 +vt 0.667910 0.453125 +vt 0.640568 0.398416 +vt 0.656716 0.281294 +vt 0.672865 0.398416 +vt 0.640568 0.164085 +vt 0.672864 0.164085 +vt 0.656716 0.281206 +vt 0.671642 0.484375 +vt 0.667910 0.468750 +vt 0.671642 0.468750 +vt 0.667910 0.500000 +vt 0.667910 0.484375 +vt 0.671642 0.500000 +vt 0.667910 0.515625 +vt 0.671642 0.515625 +vt 0.667910 0.531250 +vt 0.671642 0.546875 +vt 0.671642 0.531250 +vt 0.667910 0.562500 +vt 0.667910 0.546875 +vt 0.671642 0.453125 +vt 0.667910 0.437500 +vt 0.671642 0.437500 +vt 0.667910 0.453125 +vt 0.671642 0.484375 +vt 0.667910 0.468750 +vt 0.671642 0.468750 +vt 0.667910 0.500000 +vt 0.667910 0.484375 +vt 0.671642 0.500000 +vt 0.667910 0.515625 +vt 0.671642 0.515625 +vt 0.667910 0.531250 +vt 0.671642 0.546875 +vt 0.671642 0.531250 +vt 0.667910 0.562500 +vt 0.667910 0.546875 +vt 0.671642 0.453125 +vt 0.667910 0.437500 +vt 0.671642 0.437500 +vt 0.667910 0.453125 +vt 0.671642 0.484375 +vt 0.667910 0.468750 +vt 0.671642 0.468750 +vt 0.667910 0.500000 +vt 0.667910 0.484375 +vt 0.671642 0.500000 +vt 0.667910 0.515625 +vt 0.671642 0.515625 +vt 0.667910 0.531250 +vt 0.671642 0.546875 +vt 0.671642 0.531250 +vt 0.667910 0.562500 +vt 0.667910 0.546875 +vt 0.671642 0.453125 +vt 0.667910 0.437500 +vt 0.671642 0.437500 +vt 0.667910 0.453125 +vt 0.671642 0.484375 +vt 0.667910 0.468750 +vt 0.671642 0.468750 +vt 0.667910 0.500000 +vt 0.667910 0.484375 +vt 0.671642 0.500000 +vt 0.667910 0.515625 +vt 0.671642 0.515625 +vt 0.667910 0.531250 +vt 0.671642 0.546875 +vt 0.671642 0.531250 +vt 0.667910 0.562500 +vt 0.667910 0.546875 +vt 0.671642 0.453125 +vt 0.667910 0.437500 +vt 0.671642 0.437500 +vt 0.667910 0.453125 +vt 0.671642 0.484375 +vt 0.667910 0.468750 +vt 0.671642 0.468750 +vt 0.667910 0.500000 +vt 0.667910 0.484375 +vt 0.671642 0.500000 +vt 0.667910 0.515625 +vt 0.671642 0.515625 +vt 0.667910 0.531250 +vt 0.671642 0.546875 +vt 0.671642 0.531250 +vt 0.667910 0.562500 +vt 0.667910 0.546875 +vt 0.671642 0.453125 +vt 0.667910 0.437500 +vt 0.671642 0.437500 +vt 0.667910 0.453125 +vt 0.583961 0.329052 +vt 0.574405 0.289037 +vt 0.570908 0.234375 +vt 0.583961 0.139698 +vt 0.597015 0.125051 +vt 0.610068 0.139698 +vt 0.623122 0.234375 +vt 0.619624 0.289037 +vt 0.610068 0.329052 +vt 0.619624 0.507787 +vt 0.610068 0.547802 +vt 0.597015 0.562449 +vt 0.583961 0.547802 +vt 0.570908 0.453125 +vt 0.583961 0.358448 +vt 0.610068 0.358448 +vt 0.619624 0.398463 +vt 0.623122 0.453125 +vt 0.671642 0.562500 +vt 0.666040 0.426995 +vt 0.656716 0.437456 +vt 0.647393 0.426995 +vt 0.638070 0.359375 +vt 0.640568 0.320335 +vt 0.647393 0.291755 +vt 0.666040 0.291755 +vt 0.672865 0.320335 +vt 0.675363 0.359375 +vt 0.647393 0.270745 +vt 0.640568 0.242166 +vt 0.638070 0.203125 +vt 0.647393 0.135505 +vt 0.656716 0.125044 +vt 0.666039 0.135505 +vt 0.675363 0.203125 +vt 0.672864 0.242166 +vt 0.666039 0.270745 +vt 0.671642 0.562500 +vt 0.671642 0.562500 +vt 0.671642 0.562500 +vt 0.671642 0.562500 +vt 0.671642 0.562500 +vt 0.630597 0.187500 +vt 0.623134 0.125000 +vt 0.630597 0.125000 +vt 0.630597 0.750000 +vt 0.623134 0.687500 +vt 0.630597 0.687500 +vt 0.630597 0.437500 +vt 0.623134 0.375000 +vt 0.630597 0.375000 +vt 0.630597 0.562500 +vt 0.623134 0.500000 +vt 0.630597 0.500000 +vt 0.630597 0.250000 +vt 0.623134 0.187500 +vt 0.630597 0.812500 +vt 0.623134 0.750000 +vt 0.623134 0.437500 +vt 0.630597 0.625000 +vt 0.623134 0.562500 +vt 0.630597 0.312500 +vt 0.623134 0.250000 +vt 0.630597 0.875000 +vt 0.623134 0.812500 +vt 0.623134 0.625000 +vt 0.623134 0.312500 +vt 0.664179 0.468750 +vt 0.675373 0.484375 +vt 0.675373 0.453125 +vt 0.664179 0.484375 +vt 0.664179 0.500000 +vt 0.675373 0.562500 +vt 0.664179 0.515625 +vt 0.675373 0.546875 +vt 0.664179 0.531250 +vt 0.675373 0.531250 +vt 0.664179 0.546875 +vt 0.675373 0.515625 +vt 0.664179 0.437500 +vt 0.675373 0.500000 +vt 0.664179 0.453125 +vt 0.675373 0.468750 +vt 0.570895 0.265625 +vt 0.555970 0.250000 +vt 0.570895 0.250000 +vt 0.570895 0.187500 +vt 0.555970 0.171875 +vt 0.570895 0.171875 +vt 0.570895 0.140625 +vt 0.555970 0.125000 +vt 0.570895 0.125000 +vt 0.570895 0.281250 +vt 0.555970 0.265625 +vt 0.570895 0.203125 +vt 0.555970 0.187500 +vt 0.570895 0.234375 +vt 0.555970 0.218750 +vt 0.570895 0.218750 +vt 0.570895 0.156250 +vt 0.555970 0.140625 +vt 0.570895 0.296875 +vt 0.555970 0.281250 +vt 0.555970 0.203125 +vt 0.555970 0.234375 +vt 0.555970 0.156250 +vt 0.570895 0.312500 +vt 0.555970 0.296875 +vt 0.638060 0.359375 +vt 0.630597 0.312500 +vt 0.638060 0.312500 +vt 0.638060 0.453125 +vt 0.630597 0.406250 +vt 0.638060 0.406250 +vt 0.638060 0.218750 +vt 0.630597 0.171875 +vt 0.638060 0.171875 +vt 0.638060 0.640625 +vt 0.630597 0.593750 +vt 0.638060 0.593750 +vt 0.630597 0.359375 +vt 0.638060 0.500000 +vt 0.630597 0.453125 +vt 0.638060 0.265625 +vt 0.630597 0.218750 +vt 0.638060 0.687500 +vt 0.630597 0.640625 +vt 0.638060 0.546875 +vt 0.630597 0.500000 +vt 0.630597 0.265625 +vt 0.630597 0.125000 +vt 0.638060 0.125000 +vt 0.630597 0.546875 +vt 0.664179 0.468750 +vt 0.675373 0.484375 +vt 0.675373 0.453125 +vt 0.664179 0.484375 +vt 0.664179 0.500000 +vt 0.675373 0.562500 +vt 0.664179 0.515625 +vt 0.675373 0.546875 +vt 0.664179 0.531250 +vt 0.675373 0.531250 +vt 0.664179 0.546875 +vt 0.675373 0.515625 +vt 0.664179 0.437500 +vt 0.675373 0.500000 +vt 0.664179 0.453125 +vt 0.675373 0.468750 +vt 0.664179 0.468750 +vt 0.675373 0.484375 +vt 0.675373 0.453125 +vt 0.664179 0.484375 +vt 0.664179 0.500000 +vt 0.675373 0.562500 +vt 0.664179 0.515625 +vt 0.675373 0.546875 +vt 0.664179 0.531250 +vt 0.675373 0.531250 +vt 0.664179 0.546875 +vt 0.675373 0.515625 +vt 0.664179 0.437500 +vt 0.675373 0.500000 +vt 0.664179 0.453125 +vt 0.675373 0.468750 +vt 0.664179 0.468750 +vt 0.675373 0.484375 +vt 0.675373 0.453125 +vt 0.664179 0.484375 +vt 0.664179 0.500000 +vt 0.675373 0.562500 +vt 0.664179 0.515625 +vt 0.675373 0.546875 +vt 0.664179 0.531250 +vt 0.675373 0.531250 +vt 0.664179 0.546875 +vt 0.675373 0.515625 +vt 0.664179 0.437500 +vt 0.675373 0.500000 +vt 0.664179 0.453125 +vt 0.675373 0.468750 +vt 0.664179 0.468750 +vt 0.675373 0.484375 +vt 0.675373 0.453125 +vt 0.664179 0.484375 +vt 0.664179 0.500000 +vt 0.675373 0.562500 +vt 0.664179 0.515625 +vt 0.675373 0.546875 +vt 0.664179 0.531250 +vt 0.675373 0.531250 +vt 0.664179 0.546875 +vt 0.675373 0.515625 +vt 0.664179 0.437500 +vt 0.675373 0.500000 +vt 0.664179 0.453125 +vt 0.675373 0.468750 +vt 0.664179 0.468750 +vt 0.675373 0.484375 +vt 0.675373 0.453125 +vt 0.664179 0.484375 +vt 0.664179 0.500000 +vt 0.675373 0.562500 +vt 0.664179 0.515625 +vt 0.675373 0.546875 +vt 0.664179 0.531250 +vt 0.675373 0.531250 +vt 0.664179 0.546875 +vt 0.675373 0.515625 +vt 0.664179 0.437500 +vt 0.675373 0.500000 +vt 0.664179 0.453125 +vt 0.675373 0.468750 +vt 0.623134 0.875000 +vt 0.675373 0.437500 +vt 0.664179 0.562500 +vt 0.555970 0.312500 +vt 0.630597 0.687500 +vt 0.675373 0.437500 +vt 0.664179 0.562500 +vt 0.675373 0.437500 +vt 0.664179 0.562500 +vt 0.675373 0.437500 +vt 0.664179 0.562500 +vt 0.675373 0.437500 +vt 0.664179 0.562500 +vt 0.675373 0.437500 +vt 0.664179 0.562500 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.0000 -1.0000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn -1.0000 -0.0000 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.8660 0.5000 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.9659 0.2588 0.0000 +vn 0.9659 -0.2588 0.0000 +vn -0.2588 -0.9659 0.0000 +vn 0.2588 0.9659 0.0000 +vn -0.2588 0.9659 0.0000 +vn 0.2588 -0.9659 0.0000 +vn -0.9659 -0.2588 0.0000 +vn 0.9659 0.2588 0.0000 +s off +f 177/305/50 181/306/50 173/307/50 +f 171/308/51 169/309/51 167/310/51 +f 191/311/51 199/312/51 186/313/51 +f 191/311/51 193/314/51 200/315/51 +f 188/316/51 194/317/51 193/314/51 +f 190/318/51 195/319/51 194/317/51 +f 192/320/51 195/319/51 185/321/51 +f 192/320/51 197/322/51 196/323/51 +f 189/324/51 197/325/51 187/326/51 +f 189/324/51 199/312/51 198/327/51 +f 251/328/51 247/329/51 243/330/51 +f 257/331/50 261/332/50 253/333/50 +f 271/334/51 279/335/51 266/336/51 +f 271/334/51 273/337/51 280/338/51 +f 268/339/51 274/340/51 273/337/51 +f 270/341/51 275/342/51 274/340/51 +f 272/343/51 275/342/51 265/344/51 +f 272/343/51 277/345/51 276/346/51 +f 269/347/51 277/348/51 267/349/51 +f 269/347/51 279/335/51 278/350/51 +f 303/351/51 311/352/51 298/353/51 +f 303/351/51 305/354/51 312/355/51 +f 300/356/51 306/357/51 305/354/51 +f 302/358/51 307/359/51 306/357/51 +f 304/360/51 307/359/51 297/361/51 +f 304/360/51 309/362/51 308/363/51 +f 301/364/51 309/365/51 299/366/51 +f 301/364/51 311/352/51 310/367/51 +f 335/368/51 343/369/51 330/370/51 +f 335/368/51 337/371/51 344/372/51 +f 332/373/51 338/374/51 337/371/51 +f 334/375/51 339/376/51 338/374/51 +f 336/377/51 339/376/51 329/378/51 +f 336/377/51 341/379/51 340/380/51 +f 333/381/51 341/382/51 331/383/51 +f 333/381/51 343/369/51 342/384/51 +f 367/385/51 375/386/51 362/387/51 +f 367/385/51 369/388/51 376/389/51 +f 364/390/51 370/391/51 369/388/51 +f 366/392/51 371/393/51 370/391/51 +f 368/394/51 371/393/51 361/395/51 +f 368/394/51 373/396/51 372/397/51 +f 365/398/51 373/399/51 363/400/51 +f 365/398/51 375/386/51 374/401/51 +f 399/402/51 407/403/51 394/404/51 +f 399/402/51 401/405/51 408/406/51 +f 396/407/51 402/408/51 401/405/51 +f 398/409/51 403/410/51 402/408/51 +f 400/411/51 403/410/51 393/412/51 +f 400/411/51 405/413/51 404/414/51 +f 397/415/51 405/416/51 395/417/51 +f 397/415/51 407/403/51 406/418/51 +f 173/307/50 174/419/50 175/420/50 +f 175/420/50 176/421/50 173/307/50 +f 176/421/50 177/305/50 173/307/50 +f 177/305/50 178/422/50 179/423/50 +f 179/423/50 180/424/50 181/306/50 +f 181/306/50 182/425/50 183/426/50 +f 183/426/50 184/427/50 173/307/50 +f 177/305/50 179/423/50 181/306/50 +f 181/306/50 183/426/50 173/307/50 +f 163/428/51 162/429/51 161/430/51 +f 161/430/51 172/431/51 171/308/51 +f 171/308/51 170/432/51 169/309/51 +f 169/309/51 168/433/51 167/310/51 +f 167/310/51 166/434/51 165/435/51 +f 165/435/51 164/436/51 167/310/51 +f 164/436/51 163/428/51 167/310/51 +f 163/428/51 161/430/51 167/310/51 +f 161/430/51 171/308/51 167/310/51 +f 191/311/51 200/315/51 199/312/51 +f 191/311/51 188/316/51 193/314/51 +f 188/316/51 190/318/51 194/317/51 +f 190/318/51 185/321/51 195/319/51 +f 192/320/51 196/323/51 195/319/51 +f 192/320/51 187/437/51 197/322/51 +f 189/324/51 198/327/51 197/325/51 +f 189/324/51 186/313/51 199/312/51 +f 243/330/51 242/438/51 251/328/51 +f 242/438/51 241/439/51 251/328/51 +f 241/439/51 252/440/51 251/328/51 +f 251/328/51 250/441/51 249/442/51 +f 249/442/51 248/443/51 251/328/51 +f 248/443/51 247/329/51 251/328/51 +f 247/329/51 246/444/51 243/330/51 +f 246/444/51 245/445/51 243/330/51 +f 245/445/51 244/446/51 243/330/51 +f 253/333/50 254/447/50 257/331/50 +f 254/447/50 255/448/50 257/331/50 +f 255/448/50 256/449/50 257/331/50 +f 257/331/50 258/450/50 261/332/50 +f 258/450/50 259/451/50 261/332/50 +f 259/451/50 260/452/50 261/332/50 +f 261/332/50 262/453/50 263/454/50 +f 263/454/50 264/455/50 261/332/50 +f 264/455/50 253/333/50 261/332/50 +f 271/334/51 280/338/51 279/335/51 +f 271/334/51 268/339/51 273/337/51 +f 268/339/51 270/341/51 274/340/51 +f 270/341/51 265/344/51 275/342/51 +f 272/343/51 276/346/51 275/342/51 +f 272/343/51 267/456/51 277/345/51 +f 269/347/51 278/350/51 277/348/51 +f 269/347/51 266/336/51 279/335/51 +f 303/351/51 312/355/51 311/352/51 +f 303/351/51 300/356/51 305/354/51 +f 300/356/51 302/358/51 306/357/51 +f 302/358/51 297/361/51 307/359/51 +f 304/360/51 308/363/51 307/359/51 +f 304/360/51 299/457/51 309/362/51 +f 301/364/51 310/367/51 309/365/51 +f 301/364/51 298/353/51 311/352/51 +f 335/368/51 344/372/51 343/369/51 +f 335/368/51 332/373/51 337/371/51 +f 332/373/51 334/375/51 338/374/51 +f 334/375/51 329/378/51 339/376/51 +f 336/377/51 340/380/51 339/376/51 +f 336/377/51 331/458/51 341/379/51 +f 333/381/51 342/384/51 341/382/51 +f 333/381/51 330/370/51 343/369/51 +f 367/385/51 376/389/51 375/386/51 +f 367/385/51 364/390/51 369/388/51 +f 364/390/51 366/392/51 370/391/51 +f 366/392/51 361/395/51 371/393/51 +f 368/394/51 372/397/51 371/393/51 +f 368/394/51 363/459/51 373/396/51 +f 365/398/51 374/401/51 373/399/51 +f 365/398/51 362/387/51 375/386/51 +f 399/402/51 408/406/51 407/403/51 +f 399/402/51 396/407/51 401/405/51 +f 396/407/51 398/409/51 402/408/51 +f 398/409/51 393/412/51 403/410/51 +f 400/411/51 404/414/51 403/410/51 +f 400/411/51 395/460/51 405/413/51 +f 397/415/51 406/418/51 405/416/51 +f 397/415/51 394/404/51 407/403/51 +s 1 +f 168/461/52 179/462/53 167/463/53 +f 165/464/54 176/465/55 164/466/55 +f 172/467/56 183/468/57 171/469/57 +f 162/470/58 173/471/59 161/472/59 +f 169/473/60 180/474/52 168/461/52 +f 166/475/61 177/476/54 165/464/54 +f 161/472/59 184/477/56 172/467/56 +f 163/478/62 174/479/58 162/470/58 +f 170/480/63 181/481/60 169/473/60 +f 167/482/53 178/483/61 166/475/61 +f 164/466/55 175/484/62 163/478/62 +f 171/469/57 182/485/63 170/480/63 +f 200/315/64 215/486/55 199/312/55 +f 186/313/63 207/487/65 191/311/65 +f 187/326/53 202/488/66 189/324/66 +f 193/314/53 216/489/64 200/315/64 +f 194/317/66 210/490/53 193/314/53 +f 192/320/64 201/491/53 187/437/53 +f 195/319/63 209/492/66 194/317/66 +f 185/321/55 203/493/64 192/320/64 +f 196/323/65 211/494/63 195/319/63 +f 190/318/67 204/495/55 185/321/55 +f 197/322/59 212/496/65 196/323/65 +f 188/316/59 205/497/67 190/318/67 +f 198/327/67 213/498/59 197/325/59 +f 191/311/65 206/499/59 188/316/59 +f 199/312/55 214/500/67 198/327/67 +f 189/324/66 208/501/63 186/313/63 +f 220/502/55 231/503/62 219/504/62 +f 227/505/57 238/506/63 226/507/63 +f 224/508/52 235/509/53 223/510/53 +f 221/511/54 232/512/55 220/502/55 +f 228/513/56 239/514/57 227/505/57 +f 218/515/58 229/516/59 217/517/59 +f 225/518/60 236/519/52 224/508/52 +f 222/520/61 233/521/54 221/511/54 +f 217/517/59 240/522/56 228/513/56 +f 219/504/62 230/523/58 218/515/58 +f 226/507/63 237/524/60 225/518/60 +f 223/525/53 234/526/61 222/520/61 +f 252/527/56 263/528/57 251/529/57 +f 242/530/58 253/531/59 241/532/59 +f 249/533/60 260/534/52 248/535/52 +f 246/536/61 257/537/54 245/538/54 +f 241/532/59 264/539/56 252/527/56 +f 243/540/62 254/541/58 242/530/58 +f 250/542/63 261/543/60 249/533/60 +f 247/544/53 258/545/61 246/536/61 +f 244/546/55 255/547/62 243/540/62 +f 251/529/57 262/548/63 250/542/63 +f 248/535/52 259/549/53 247/550/53 +f 245/538/54 256/551/55 244/546/55 +f 280/338/65 295/552/63 279/335/63 +f 266/336/55 287/553/64 271/334/64 +f 267/349/59 282/554/67 269/347/67 +f 273/337/59 296/555/65 280/338/65 +f 274/340/67 290/556/59 273/337/59 +f 272/343/65 281/557/59 267/456/59 +f 275/342/55 289/558/67 274/340/67 +f 265/344/63 283/559/65 272/343/65 +f 276/346/64 291/560/55 275/342/55 +f 270/341/66 284/561/63 265/344/63 +f 277/345/53 292/562/64 276/346/64 +f 268/339/53 285/563/66 270/341/66 +f 278/350/66 293/564/53 277/348/53 +f 271/334/64 286/565/53 268/339/53 +f 279/335/63 294/566/66 278/350/66 +f 269/347/67 288/567/55 266/336/55 +f 312/355/68 327/568/58 311/352/58 +f 298/353/52 319/569/69 303/351/69 +f 299/366/54 314/570/70 301/364/70 +f 305/354/54 328/571/68 312/355/68 +f 306/357/70 322/572/54 305/354/54 +f 304/360/68 313/573/54 299/457/54 +f 307/359/52 321/574/70 306/357/70 +f 297/361/58 315/575/68 304/360/68 +f 308/363/69 323/576/52 307/359/52 +f 302/358/71 316/577/58 297/361/58 +f 309/362/57 324/578/69 308/363/69 +f 300/356/57 317/579/71 302/358/71 +f 310/367/71 325/580/57 309/365/57 +f 303/351/69 318/581/57 300/356/57 +f 311/352/58 326/582/71 310/367/71 +f 301/364/70 320/583/52 298/353/52 +f 344/372/69 359/584/52 343/369/52 +f 330/370/58 351/585/68 335/368/68 +f 331/383/57 346/586/71 333/381/71 +f 337/371/57 360/587/69 344/372/69 +f 338/374/71 354/588/57 337/371/57 +f 336/377/69 345/589/57 331/458/57 +f 339/376/58 353/590/71 338/374/71 +f 329/378/52 347/591/69 336/377/69 +f 340/380/68 355/592/58 339/376/58 +f 334/375/70 348/593/52 329/378/52 +f 341/379/54 356/594/68 340/380/68 +f 332/373/54 349/595/70 334/375/70 +f 342/384/70 357/596/54 341/382/54 +f 335/368/68 350/597/54 332/373/54 +f 343/369/52 358/598/70 342/384/70 +f 333/381/71 352/599/58 330/370/58 +f 376/389/72 391/600/56 375/386/56 +f 362/387/61 383/601/73 367/385/73 +f 363/400/62 378/602/74 365/398/74 +f 369/388/62 392/603/72 376/389/72 +f 370/391/74 386/604/62 369/388/62 +f 368/394/72 377/605/62 363/459/62 +f 371/393/61 385/606/74 370/391/74 +f 361/395/56 379/607/72 368/394/72 +f 372/397/73 387/608/61 371/393/61 +f 366/392/75 380/609/56 361/395/56 +f 373/396/60 388/610/73 372/397/73 +f 364/390/60 381/611/75 366/392/75 +f 374/401/75 389/612/60 373/399/60 +f 367/385/73 382/613/60 364/390/60 +f 375/386/56 390/614/75 374/401/75 +f 365/398/74 384/615/61 362/387/61 +f 408/406/73 423/616/61 407/403/61 +f 394/404/56 415/617/72 399/402/72 +f 395/417/60 410/618/75 397/415/75 +f 401/405/60 424/619/73 408/406/73 +f 402/408/75 418/620/60 401/405/60 +f 400/411/73 409/621/60 395/460/60 +f 403/410/56 417/622/75 402/408/75 +f 393/412/61 411/623/73 400/411/73 +f 404/414/72 419/624/56 403/410/56 +f 398/409/74 412/625/61 393/412/61 +f 405/413/62 420/626/72 404/414/72 +f 396/407/62 413/627/74 398/409/74 +f 406/418/74 421/628/62 405/416/62 +f 399/402/72 414/629/62 396/407/62 +f 407/403/61 422/630/74 406/418/74 +f 397/415/75 416/631/56 394/404/56 +f 168/461/52 180/474/52 179/462/53 +f 165/464/54 177/476/54 176/465/55 +f 172/467/56 184/477/56 183/468/57 +f 162/470/58 174/479/58 173/471/59 +f 169/473/60 181/481/60 180/474/52 +f 166/475/61 178/483/61 177/476/54 +f 161/472/59 173/471/59 184/477/56 +f 163/478/62 175/484/62 174/479/58 +f 170/480/63 182/485/63 181/481/60 +f 167/482/53 179/632/53 178/483/61 +f 164/466/55 176/465/55 175/484/62 +f 171/469/57 183/468/57 182/485/63 +f 200/315/64 216/489/64 215/486/55 +f 186/313/63 208/501/63 207/487/65 +f 187/326/53 201/633/53 202/488/66 +f 193/314/53 210/490/53 216/489/64 +f 194/317/66 209/492/66 210/490/53 +f 192/320/64 203/493/64 201/491/53 +f 195/319/63 211/494/63 209/492/66 +f 185/321/55 204/495/55 203/493/64 +f 196/323/65 212/496/65 211/494/63 +f 190/318/67 205/497/67 204/495/55 +f 197/322/59 213/634/59 212/496/65 +f 188/316/59 206/499/59 205/497/67 +f 198/327/67 214/500/67 213/498/59 +f 191/311/65 207/487/65 206/499/59 +f 199/312/55 215/486/55 214/500/67 +f 189/324/66 202/488/66 208/501/63 +f 220/502/55 232/512/55 231/503/62 +f 227/505/57 239/514/57 238/506/63 +f 224/508/52 236/519/52 235/509/53 +f 221/511/54 233/521/54 232/512/55 +f 228/513/56 240/522/56 239/514/57 +f 218/515/58 230/523/58 229/516/59 +f 225/518/60 237/524/60 236/519/52 +f 222/520/61 234/526/61 233/521/54 +f 217/517/59 229/516/59 240/522/56 +f 219/504/62 231/503/62 230/523/58 +f 226/507/63 238/506/63 237/524/60 +f 223/525/53 235/635/53 234/526/61 +f 252/527/56 264/539/56 263/528/57 +f 242/530/58 254/541/58 253/531/59 +f 249/533/60 261/543/60 260/534/52 +f 246/536/61 258/545/61 257/537/54 +f 241/532/59 253/531/59 264/539/56 +f 243/540/62 255/547/62 254/541/58 +f 250/542/63 262/548/63 261/543/60 +f 247/544/53 259/636/53 258/545/61 +f 244/546/55 256/551/55 255/547/62 +f 251/529/57 263/528/57 262/548/63 +f 248/535/52 260/534/52 259/549/53 +f 245/538/54 257/537/54 256/551/55 +f 280/338/65 296/555/65 295/552/63 +f 266/336/55 288/567/55 287/553/64 +f 267/349/59 281/637/59 282/554/67 +f 273/337/59 290/556/59 296/555/65 +f 274/340/67 289/558/67 290/556/59 +f 272/343/65 283/559/65 281/557/59 +f 275/342/55 291/560/55 289/558/67 +f 265/344/63 284/561/63 283/559/65 +f 276/346/64 292/562/64 291/560/55 +f 270/341/66 285/563/66 284/561/63 +f 277/345/53 293/638/53 292/562/64 +f 268/339/53 286/565/53 285/563/66 +f 278/350/66 294/566/66 293/564/53 +f 271/334/64 287/553/64 286/565/53 +f 279/335/63 295/552/63 294/566/66 +f 269/347/67 282/554/67 288/567/55 +f 312/355/68 328/571/68 327/568/58 +f 298/353/52 320/583/52 319/569/69 +f 299/366/54 313/639/54 314/570/70 +f 305/354/54 322/572/54 328/571/68 +f 306/357/70 321/574/70 322/572/54 +f 304/360/68 315/575/68 313/573/54 +f 307/359/52 323/576/52 321/574/70 +f 297/361/58 316/577/58 315/575/68 +f 308/363/69 324/578/69 323/576/52 +f 302/358/71 317/579/71 316/577/58 +f 309/362/57 325/640/57 324/578/69 +f 300/356/57 318/581/57 317/579/71 +f 310/367/71 326/582/71 325/580/57 +f 303/351/69 319/569/69 318/581/57 +f 311/352/58 327/568/58 326/582/71 +f 301/364/70 314/570/70 320/583/52 +f 344/372/69 360/587/69 359/584/52 +f 330/370/58 352/599/58 351/585/68 +f 331/383/57 345/641/57 346/586/71 +f 337/371/57 354/588/57 360/587/69 +f 338/374/71 353/590/71 354/588/57 +f 336/377/69 347/591/69 345/589/57 +f 339/376/58 355/592/58 353/590/71 +f 329/378/52 348/593/52 347/591/69 +f 340/380/68 356/594/68 355/592/58 +f 334/375/70 349/595/70 348/593/52 +f 341/379/54 357/642/54 356/594/68 +f 332/373/54 350/597/54 349/595/70 +f 342/384/70 358/598/70 357/596/54 +f 335/368/68 351/585/68 350/597/54 +f 343/369/52 359/584/52 358/598/70 +f 333/381/71 346/586/71 352/599/58 +f 376/389/72 392/603/72 391/600/56 +f 362/387/61 384/615/61 383/601/73 +f 363/400/62 377/643/62 378/602/74 +f 369/388/62 386/604/62 392/603/72 +f 370/391/74 385/606/74 386/604/62 +f 368/394/72 379/607/72 377/605/62 +f 371/393/61 387/608/61 385/606/74 +f 361/395/56 380/609/56 379/607/72 +f 372/397/73 388/610/73 387/608/61 +f 366/392/75 381/611/75 380/609/56 +f 373/396/60 389/644/60 388/610/73 +f 364/390/60 382/613/60 381/611/75 +f 374/401/75 390/614/75 389/612/60 +f 367/385/73 383/601/73 382/613/60 +f 375/386/56 391/600/56 390/614/75 +f 365/398/74 378/602/74 384/615/61 +f 408/406/73 424/619/73 423/616/61 +f 394/404/56 416/631/56 415/617/72 +f 395/417/60 409/645/60 410/618/75 +f 401/405/60 418/620/60 424/619/73 +f 402/408/75 417/622/75 418/620/60 +f 400/411/73 411/623/73 409/621/60 +f 403/410/56 419/624/56 417/622/75 +f 393/412/61 412/625/61 411/623/73 +f 404/414/72 420/626/72 419/624/56 +f 398/409/74 413/627/74 412/625/61 +f 405/413/62 421/646/62 420/626/72 +f 396/407/62 414/629/62 413/627/74 +f 406/418/74 422/630/74 421/628/62 +f 399/402/72 415/617/72 414/629/62 +f 407/403/61 423/616/61 422/630/74 +f 397/415/75 410/618/75 416/631/56 +o Shot +v 0.000000 0.500000 8.187500 +v -0.132583 0.500000 8.132584 +v -0.187500 0.500000 8.000000 +v -0.132583 0.500000 7.867418 +v 0.000000 0.500000 7.812500 +v 0.132583 0.500000 7.867418 +v 0.187500 0.500000 8.000000 +v 0.132583 0.500000 8.132584 +v 0.000000 0.367418 8.132584 +v 0.000000 0.312500 8.000000 +v 0.000000 0.367418 7.867418 +v 0.000000 0.632583 7.867418 +v 0.000000 0.687500 8.000000 +v 0.000000 0.632583 8.132584 +v 0.093750 0.406250 8.132584 +v 0.132583 0.367418 8.000000 +v 0.093750 0.406250 7.867418 +v -0.093750 0.593750 7.867418 +v -0.132583 0.632583 8.000000 +v -0.093750 0.593750 8.132584 +v 0.093750 0.593750 8.132584 +v 0.132583 0.632583 8.000000 +v 0.093750 0.593750 7.867418 +v -0.093750 0.406250 7.867418 +v -0.132583 0.367418 8.000000 +v -0.093750 0.406250 8.132584 +v 0.000000 -0.500000 8.187500 +v 0.132583 -0.500000 8.132584 +v 0.187500 -0.500000 8.000000 +v 0.132583 -0.500000 7.867418 +v 0.000000 -0.500000 7.812500 +v -0.132583 -0.500000 7.867418 +v -0.187500 -0.500000 8.000000 +v -0.132583 -0.500000 8.132584 +v 0.000000 -0.367418 8.132584 +v 0.000000 -0.312500 8.000000 +v 0.000000 -0.367418 7.867418 +v 0.000000 -0.632583 7.867418 +v 0.000000 -0.687500 8.000000 +v 0.000000 -0.632583 8.132584 +v -0.093750 -0.406250 8.132584 +v -0.132583 -0.367418 8.000000 +v -0.093750 -0.406250 7.867418 +v 0.093750 -0.593750 7.867418 +v 0.132583 -0.632583 8.000000 +v 0.093750 -0.593750 8.132584 +v -0.093750 -0.593750 8.132584 +v -0.132583 -0.632583 8.000000 +v -0.093750 -0.593750 7.867418 +v 0.093750 -0.406250 7.867418 +v 0.132583 -0.367418 8.000000 +v 0.093750 -0.406250 8.132584 +v 0.433013 0.250000 8.187500 +v 0.366722 0.364820 8.132584 +v 0.339263 0.412380 8.000000 +v 0.366722 0.364820 7.867418 +v 0.433013 0.250000 7.812500 +v 0.499304 0.135180 7.867418 +v 0.526763 0.087620 8.000000 +v 0.499304 0.135180 8.132584 +v 0.318193 0.183709 8.132584 +v 0.270633 0.156250 8.000000 +v 0.318193 0.183709 7.867418 +v 0.547833 0.316292 7.867418 +v 0.595393 0.343750 8.000000 +v 0.547833 0.316292 8.132584 +v 0.398698 0.121935 8.132584 +v 0.384484 0.068889 8.000000 +v 0.398698 0.121935 7.867418 +v 0.467328 0.378065 7.867418 +v 0.481542 0.431112 8.000000 +v 0.467328 0.378065 8.132584 +v 0.561078 0.215685 8.132584 +v 0.614124 0.201472 8.000000 +v 0.561078 0.215685 7.867418 +v 0.304948 0.284315 7.867418 +v 0.251902 0.298529 8.000000 +v 0.304948 0.284315 8.132584 +v -0.433013 -0.250000 8.187500 +v -0.366722 -0.364820 8.132584 +v -0.339263 -0.412380 8.000000 +v -0.366722 -0.364820 7.867418 +v -0.433013 -0.250000 7.812500 +v -0.499304 -0.135180 7.867418 +v -0.526763 -0.087620 8.000000 +v -0.499304 -0.135180 8.132584 +v -0.318193 -0.183709 8.132584 +v -0.270633 -0.156250 8.000000 +v -0.318193 -0.183709 7.867418 +v -0.547833 -0.316292 7.867418 +v -0.595393 -0.343750 8.000000 +v -0.547833 -0.316292 8.132584 +v -0.398698 -0.121935 8.132584 +v -0.384484 -0.068889 8.000000 +v -0.398698 -0.121935 7.867418 +v -0.467328 -0.378065 7.867418 +v -0.481542 -0.431112 8.000000 +v -0.467328 -0.378065 8.132584 +v -0.561078 -0.215685 8.132584 +v -0.614124 -0.201472 8.000000 +v -0.561078 -0.215685 7.867418 +v -0.304948 -0.284315 7.867418 +v -0.251902 -0.298529 8.000000 +v -0.304948 -0.284315 8.132584 +v 0.433013 -0.250000 8.187500 +v 0.499304 -0.135180 8.132584 +v 0.526763 -0.087620 8.000000 +v 0.499304 -0.135180 7.867418 +v 0.433013 -0.250000 7.812500 +v 0.366722 -0.364820 7.867418 +v 0.339263 -0.412380 8.000000 +v 0.366722 -0.364820 8.132584 +v 0.318193 -0.183709 8.132584 +v 0.270633 -0.156250 8.000000 +v 0.318193 -0.183709 7.867418 +v 0.547833 -0.316292 7.867418 +v 0.595393 -0.343750 8.000000 +v 0.547833 -0.316292 8.132584 +v 0.304948 -0.284315 8.132584 +v 0.251902 -0.298529 8.000000 +v 0.304948 -0.284315 7.867418 +v 0.561078 -0.215685 7.867418 +v 0.614124 -0.201472 8.000000 +v 0.561078 -0.215685 8.132584 +v 0.467328 -0.378065 8.132584 +v 0.481542 -0.431112 8.000000 +v 0.467328 -0.378065 7.867418 +v 0.398698 -0.121935 7.867418 +v 0.384484 -0.068889 8.000000 +v 0.398698 -0.121935 8.132584 +v -0.433013 0.250000 8.187500 +v -0.499304 0.135180 8.132584 +v -0.526763 0.087620 8.000000 +v -0.499304 0.135180 7.867418 +v -0.433013 0.250000 7.812500 +v -0.366722 0.364820 7.867418 +v -0.339263 0.412380 8.000000 +v -0.366722 0.364820 8.132584 +v -0.318193 0.183709 8.132584 +v -0.270633 0.156250 8.000000 +v -0.318193 0.183709 7.867418 +v -0.547833 0.316292 7.867418 +v -0.595393 0.343750 8.000000 +v -0.547833 0.316292 8.132584 +v -0.304948 0.284315 8.132584 +v -0.251902 0.298529 8.000000 +v -0.304948 0.284315 7.867418 +v -0.561078 0.215685 7.867418 +v -0.614124 0.201472 8.000000 +v -0.561078 0.215685 8.132584 +v -0.467328 0.378065 8.132584 +v -0.481542 0.431112 8.000000 +v -0.467328 0.378065 7.867418 +v -0.398698 0.121935 7.867418 +v -0.384484 0.068889 8.000000 +v -0.398698 0.121935 8.132584 +vt 0.641791 0.437500 +vt 0.645522 0.453125 +vt 0.641791 0.453125 +vt 0.645965 0.438018 +vt 0.649254 0.453125 +vt 0.645522 0.546875 +vt 0.641791 0.562500 +vt 0.641791 0.546875 +vt 0.649254 0.546875 +vt 0.645522 0.562500 +vt 0.645522 0.531250 +vt 0.641791 0.531250 +vt 0.649254 0.531250 +vt 0.641791 0.515625 +vt 0.645522 0.515625 +vt 0.641791 0.500000 +vt 0.645522 0.500000 +vt 0.645522 0.484375 +vt 0.641791 0.484375 +vt 0.645522 0.468750 +vt 0.641791 0.468750 +vt 0.638060 0.468750 +vt 0.638060 0.484375 +vt 0.638060 0.500000 +vt 0.638060 0.515625 +vt 0.638060 0.531250 +vt 0.638060 0.546875 +vt 0.638060 0.437500 +vt 0.638060 0.453125 +vt 0.649254 0.468750 +vt 0.649254 0.484375 +vt 0.649254 0.500000 +vt 0.652985 0.468750 +vt 0.652985 0.484375 +vt 0.649254 0.515625 +vt 0.652985 0.500000 +vt 0.652985 0.515625 +vt 0.652985 0.531250 +vt 0.652985 0.546875 +vt 0.649254 0.562500 +vt 0.649254 0.437500 +vt 0.652985 0.437500 +vt 0.652985 0.453125 +vt 0.641791 0.437500 +vt 0.645522 0.453125 +vt 0.641791 0.453125 +vt 0.645965 0.438018 +vt 0.649254 0.453125 +vt 0.645522 0.546875 +vt 0.641791 0.562500 +vt 0.641791 0.546875 +vt 0.649254 0.546875 +vt 0.645522 0.562500 +vt 0.645522 0.531250 +vt 0.641791 0.531250 +vt 0.649254 0.531250 +vt 0.641791 0.515625 +vt 0.645522 0.515625 +vt 0.641791 0.500000 +vt 0.645522 0.500000 +vt 0.645522 0.484375 +vt 0.641791 0.484375 +vt 0.645522 0.468750 +vt 0.641791 0.468750 +vt 0.638060 0.468750 +vt 0.638060 0.484375 +vt 0.638060 0.500000 +vt 0.638060 0.515625 +vt 0.638060 0.531250 +vt 0.638060 0.546875 +vt 0.638060 0.437500 +vt 0.638060 0.453125 +vt 0.649254 0.468750 +vt 0.649254 0.484375 +vt 0.649254 0.500000 +vt 0.652985 0.468750 +vt 0.652985 0.484375 +vt 0.649254 0.515625 +vt 0.652985 0.500000 +vt 0.652985 0.515625 +vt 0.652985 0.531250 +vt 0.652985 0.546875 +vt 0.649254 0.562500 +vt 0.649254 0.437500 +vt 0.652985 0.437500 +vt 0.652985 0.453125 +vt 0.641791 0.437500 +vt 0.645522 0.453125 +vt 0.641791 0.453125 +vt 0.649254 0.437500 +vt 0.645965 0.438018 +vt 0.641791 0.546875 +vt 0.645522 0.562500 +vt 0.641791 0.562500 +vt 0.649254 0.546875 +vt 0.645522 0.546875 +vt 0.645522 0.531250 +vt 0.641791 0.531250 +vt 0.649254 0.531250 +vt 0.645522 0.515625 +vt 0.641791 0.515625 +vt 0.645522 0.500000 +vt 0.641791 0.500000 +vt 0.645522 0.484375 +vt 0.641791 0.484375 +vt 0.645522 0.468750 +vt 0.641791 0.468750 +vt 0.638060 0.468750 +vt 0.638060 0.484375 +vt 0.638060 0.500000 +vt 0.638060 0.515625 +vt 0.638060 0.531250 +vt 0.638060 0.546875 +vt 0.638060 0.437500 +vt 0.638060 0.453125 +vt 0.649254 0.453125 +vt 0.649254 0.468750 +vt 0.649254 0.484375 +vt 0.649254 0.500000 +vt 0.652985 0.468750 +vt 0.652985 0.484375 +vt 0.649254 0.515625 +vt 0.652985 0.500000 +vt 0.652985 0.515625 +vt 0.652985 0.531250 +vt 0.652985 0.546875 +vt 0.649254 0.562500 +vt 0.652985 0.437500 +vt 0.652985 0.453125 +vt 0.641791 0.437500 +vt 0.645522 0.453125 +vt 0.641791 0.453125 +vt 0.649254 0.437500 +vt 0.645965 0.438018 +vt 0.641791 0.546875 +vt 0.645522 0.562500 +vt 0.641791 0.562500 +vt 0.649254 0.546875 +vt 0.645522 0.546875 +vt 0.645522 0.531250 +vt 0.641791 0.531250 +vt 0.649254 0.531250 +vt 0.645522 0.515625 +vt 0.641791 0.515625 +vt 0.645522 0.500000 +vt 0.641791 0.500000 +vt 0.645522 0.484375 +vt 0.641791 0.484375 +vt 0.645522 0.468750 +vt 0.641791 0.468750 +vt 0.638060 0.468750 +vt 0.638060 0.484375 +vt 0.638060 0.500000 +vt 0.638060 0.515625 +vt 0.638060 0.531250 +vt 0.638060 0.546875 +vt 0.638060 0.437500 +vt 0.638060 0.453125 +vt 0.649254 0.453125 +vt 0.649254 0.468750 +vt 0.649254 0.484375 +vt 0.649254 0.500000 +vt 0.652985 0.468750 +vt 0.652985 0.484375 +vt 0.649254 0.515625 +vt 0.652985 0.500000 +vt 0.652985 0.515625 +vt 0.652985 0.531250 +vt 0.652985 0.546875 +vt 0.649254 0.562500 +vt 0.652985 0.437500 +vt 0.652985 0.453125 +vt 0.645965 0.438018 +vt 0.641791 0.453125 +vt 0.641791 0.437500 +vt 0.649254 0.437500 +vt 0.645522 0.453125 +vt 0.645522 0.546875 +vt 0.641791 0.562500 +vt 0.641791 0.546875 +vt 0.649254 0.562500 +vt 0.649254 0.546875 +vt 0.645522 0.531250 +vt 0.641791 0.531250 +vt 0.649254 0.531250 +vt 0.645522 0.515625 +vt 0.641791 0.515625 +vt 0.645522 0.500000 +vt 0.641791 0.500000 +vt 0.641791 0.484375 +vt 0.645522 0.468750 +vt 0.641791 0.468750 +vt 0.645522 0.484375 +vt 0.638060 0.468750 +vt 0.638060 0.484375 +vt 0.638060 0.500000 +vt 0.638060 0.515625 +vt 0.638060 0.531250 +vt 0.638060 0.546875 +vt 0.638060 0.437500 +vt 0.638060 0.453125 +vt 0.649254 0.453125 +vt 0.649254 0.468750 +vt 0.649254 0.484375 +vt 0.649254 0.500000 +vt 0.652985 0.468750 +vt 0.652985 0.484375 +vt 0.649254 0.515625 +vt 0.652985 0.500000 +vt 0.652985 0.515625 +vt 0.652985 0.531250 +vt 0.652985 0.546875 +vt 0.652985 0.437500 +vt 0.652985 0.453125 +vt 0.645965 0.438018 +vt 0.641791 0.453125 +vt 0.641791 0.437500 +vt 0.649254 0.437500 +vt 0.645522 0.453125 +vt 0.645522 0.546875 +vt 0.641791 0.562500 +vt 0.641791 0.546875 +vt 0.649254 0.562500 +vt 0.649254 0.546875 +vt 0.645522 0.531250 +vt 0.641791 0.531250 +vt 0.649254 0.531250 +vt 0.645522 0.515625 +vt 0.641791 0.515625 +vt 0.645522 0.500000 +vt 0.641791 0.500000 +vt 0.641791 0.484375 +vt 0.645522 0.468750 +vt 0.641791 0.468750 +vt 0.645522 0.484375 +vt 0.638060 0.468750 +vt 0.638060 0.484375 +vt 0.638060 0.500000 +vt 0.638060 0.515625 +vt 0.638060 0.531250 +vt 0.638060 0.546875 +vt 0.638060 0.437500 +vt 0.638060 0.453125 +vt 0.649254 0.453125 +vt 0.649254 0.468750 +vt 0.649254 0.484375 +vt 0.649254 0.500000 +vt 0.652985 0.468750 +vt 0.652985 0.484375 +vt 0.649254 0.515625 +vt 0.652985 0.500000 +vt 0.652985 0.515625 +vt 0.652985 0.531250 +vt 0.652985 0.546875 +vt 0.652985 0.437500 +vt 0.652985 0.453125 +vt 0.645522 0.562500 +vt 0.645522 0.562500 +vn 0.0000 -0.7486 0.6630 +vn 0.7071 -0.7071 -0.0000 +vn 0.5293 -0.5294 0.6630 +vn -0.0000 -1.0000 -0.0000 +vn 0.5294 -0.5294 -0.6630 +vn -0.7071 -0.7071 -0.0000 +vn -0.5293 -0.5294 0.6630 +vn -0.5294 -0.5294 -0.6630 +vn -1.0000 0.0000 -0.0000 +vn -0.7486 -0.0000 0.6630 +vn -0.7486 -0.0000 -0.6630 +vn -0.5293 0.5294 0.6630 +vn -0.7071 0.7071 -0.0000 +vn 0.0000 0.7486 0.6630 +vn 0.0000 1.0000 -0.0000 +vn 0.7071 0.7071 -0.0000 +vn 0.5293 0.5294 0.6630 +vn 1.0000 0.0000 -0.0000 +vn 0.7486 -0.0000 0.6630 +vn 0.0000 -0.0000 1.0000 +vn 0.7486 -0.0000 -0.6630 +vn 0.5294 0.5294 -0.6630 +vn 0.0000 0.7486 -0.6630 +vn -0.0000 -0.0000 -1.0000 +vn -0.5294 0.5294 -0.6630 +vn 0.0000 -0.7486 -0.6630 +vn -0.6483 -0.3743 0.6630 +vn -0.2588 -0.9659 -0.0000 +vn -0.1938 -0.7231 0.6630 +vn -0.6483 -0.3743 -0.6630 +vn -0.8660 -0.5000 -0.0000 +vn -0.7231 0.1938 0.6630 +vn -0.7231 0.1938 -0.6630 +vn -0.9659 0.2588 -0.0000 +vn -0.5000 0.8660 -0.0000 +vn -0.3743 0.6483 0.6630 +vn -0.3743 0.6483 -0.6630 +vn 0.2588 0.9659 -0.0000 +vn 0.1938 0.7231 0.6630 +vn 0.8660 0.5000 -0.0000 +vn 0.6483 0.3743 0.6630 +vn 0.9659 -0.2588 -0.0000 +vn 0.7231 -0.1938 0.6630 +vn 0.5000 -0.8660 -0.0000 +vn 0.3743 -0.6483 0.6630 +vn -0.1938 -0.7231 -0.6630 +vn 0.3743 -0.6483 -0.6630 +vn 0.7231 -0.1938 -0.6630 +vn 0.6483 0.3743 -0.6630 +vn 0.1938 0.7231 -0.6630 +vn -0.8660 0.5000 -0.0000 +vn -0.7231 -0.1938 0.6630 +vn -0.6483 0.3743 0.6630 +vn -0.6483 0.3743 -0.6630 +vn -0.9659 -0.2588 -0.0000 +vn -0.2588 0.9659 -0.0000 +vn -0.1938 0.7231 0.6630 +vn -0.1938 0.7231 -0.6630 +vn 0.5000 0.8660 -0.0000 +vn 0.3743 0.6483 0.6630 +vn 0.3743 0.6483 -0.6630 +vn 0.9659 0.2588 -0.0000 +vn 0.7231 0.1938 0.6630 +vn 0.8660 -0.5000 -0.0000 +vn 0.6483 -0.3743 0.6630 +vn 0.1938 -0.7231 0.6630 +vn -0.5000 -0.8660 -0.0000 +vn -0.3743 -0.6483 0.6630 +vn 0.2588 -0.9659 -0.0000 +vn -0.7231 -0.1938 -0.6630 +vn -0.3743 -0.6483 -0.6630 +vn 0.1938 -0.7231 -0.6630 +vn 0.6483 -0.3743 -0.6630 +vn 0.7231 0.1938 -0.6630 +s 1 +f 433/647/76 440/648/77 439/649/78 +f 434/650/79 441/651/80 440/648/77 +f 449/652/81 433/653/76 450/654/82 +f 448/655/83 434/656/79 449/652/81 +f 427/657/84 450/654/82 426/658/85 +f 448/655/83 427/657/84 428/659/86 +f 444/660/87 427/657/84 426/658/85 +f 443/661/88 438/662/89 437/663/90 +f 446/664/91 438/662/89 445/665/92 +f 439/649/78 431/666/93 432/667/94 +f 431/666/93 445/665/92 432/667/94 +f 432/667/94 445/665/92 425/668/95 +f 445/665/92 438/662/89 425/669/95 +f 444/660/87 425/670/95 438/662/89 +f 425/671/95 444/660/87 426/658/85 +f 425/672/95 426/658/85 450/654/82 +f 450/654/82 433/653/76 425/673/95 +f 439/649/78 425/674/95 433/647/76 +f 425/675/95 439/649/78 432/667/94 +f 440/648/77 430/676/96 431/666/93 +f 446/664/91 430/676/96 447/677/97 +f 437/663/90 447/677/97 436/678/98 +f 429/679/99 447/677/97 430/676/96 +f 447/677/97 429/680/99 436/678/98 +f 442/681/100 437/663/90 436/678/98 +f 427/657/84 442/681/100 428/659/86 +f 429/682/99 442/681/100 436/678/98 +f 428/659/86 442/681/100 429/683/99 +f 428/659/86 429/684/99 448/655/83 +f 448/655/83 429/685/99 435/686/101 +f 441/651/80 435/687/101 429/688/99 +f 429/689/99 430/676/96 441/651/80 +f 459/690/89 466/691/88 465/692/87 +f 460/693/90 467/694/100 466/691/88 +f 475/695/91 459/696/89 476/697/92 +f 474/698/97 460/699/90 475/695/91 +f 453/700/93 476/697/92 452/701/94 +f 474/698/97 453/700/93 454/702/96 +f 470/703/78 453/700/93 452/701/94 +f 469/704/77 464/705/76 463/706/79 +f 472/707/81 464/705/76 471/708/82 +f 465/692/87 457/709/84 458/710/85 +f 457/709/84 471/708/82 458/710/85 +f 458/710/85 471/708/82 451/711/95 +f 471/708/82 464/705/76 451/712/95 +f 470/703/78 451/713/95 464/705/76 +f 451/714/95 470/703/78 452/701/94 +f 451/715/95 452/701/94 476/697/92 +f 476/697/92 459/696/89 451/716/95 +f 465/692/87 451/717/95 459/690/89 +f 451/718/95 465/692/87 458/710/85 +f 466/691/88 456/719/86 457/709/84 +f 472/707/81 456/719/86 473/720/83 +f 463/706/79 473/720/83 462/721/101 +f 455/722/99 473/720/83 456/719/86 +f 473/720/83 455/723/99 462/721/101 +f 468/724/80 463/706/79 462/721/101 +f 453/700/93 468/724/80 454/702/96 +f 455/725/99 468/724/80 462/721/101 +f 454/702/96 468/724/80 455/726/99 +f 454/702/96 455/727/99 474/698/97 +f 474/698/97 455/728/99 461/729/98 +f 467/694/100 461/730/98 455/731/99 +f 455/732/99 456/719/86 467/694/100 +f 485/733/102 492/734/103 491/735/104 +f 487/736/105 492/734/103 486/737/106 +f 502/738/107 486/739/106 485/740/102 +f 500/741/108 486/739/106 501/742/109 +f 479/743/110 502/738/107 478/744/111 +f 500/741/108 479/743/110 480/745/112 +f 495/746/113 478/744/111 496/747/114 +f 489/748/115 496/747/114 490/749/116 +f 498/750/117 490/749/116 497/751/118 +f 491/735/104 483/752/119 484/753/120 +f 484/753/120 498/750/117 497/751/118 +f 484/753/120 497/751/118 477/754/95 +f 497/751/118 490/749/116 477/755/95 +f 496/747/114 477/756/95 490/749/116 +f 477/757/95 496/747/114 478/744/111 +f 477/758/95 478/744/111 502/738/107 +f 502/738/107 485/740/102 477/759/95 +f 491/735/104 477/760/95 485/733/102 +f 477/761/95 491/735/104 484/753/120 +f 483/752/119 493/762/121 482/763/122 +f 499/764/123 483/752/119 482/763/122 +f 489/748/115 499/764/123 488/765/124 +f 481/766/99 499/764/123 482/763/122 +f 499/764/123 481/767/99 488/765/124 +f 494/768/125 489/748/115 488/765/124 +f 480/745/112 495/746/113 494/768/125 +f 481/769/99 494/768/125 488/765/124 +f 480/745/112 494/768/125 481/770/99 +f 480/745/112 481/771/99 500/741/108 +f 500/741/108 481/772/99 487/773/105 +f 493/762/121 487/736/105 481/774/99 +f 481/775/99 482/763/122 493/762/121 +f 511/776/116 518/777/113 517/778/114 +f 513/779/124 518/777/113 512/780/115 +f 528/781/118 512/782/115 511/783/116 +f 526/784/123 512/782/115 527/785/117 +f 505/786/119 528/781/118 504/787/120 +f 526/784/123 505/786/119 506/788/122 +f 521/789/103 504/787/120 522/790/104 +f 515/791/106 522/790/104 516/792/102 +f 524/793/109 516/792/102 523/794/107 +f 517/778/114 509/795/110 510/796/111 +f 510/796/111 524/793/109 523/794/107 +f 510/796/111 523/794/107 503/797/95 +f 523/794/107 516/792/102 503/798/95 +f 522/790/104 503/799/95 516/792/102 +f 503/800/95 522/790/104 504/787/120 +f 503/801/95 504/787/120 528/781/118 +f 528/781/118 511/783/116 503/802/95 +f 517/778/114 503/803/95 511/776/116 +f 503/804/95 517/778/114 510/796/111 +f 509/795/110 519/805/125 508/806/112 +f 525/807/108 509/795/110 508/806/112 +f 515/791/106 525/807/108 514/808/105 +f 507/809/99 525/807/108 508/806/112 +f 525/807/108 507/810/99 514/808/105 +f 520/811/121 515/791/106 514/808/105 +f 506/788/122 521/789/103 520/811/121 +f 507/812/99 520/811/121 514/808/105 +f 506/788/122 520/811/121 507/813/99 +f 506/788/122 507/814/99 526/784/123 +f 526/784/123 507/815/99 513/816/124 +f 519/805/125 513/779/124 507/817/99 +f 507/818/99 508/806/112 519/805/125 +f 538/819/126 543/820/127 537/821/128 +f 539/822/129 544/823/130 538/819/126 +f 553/824/131 537/825/128 554/826/132 +f 539/827/129 553/824/131 552/828/133 +f 531/829/134 554/826/132 530/830/135 +f 532/831/136 553/824/131 531/829/134 +f 547/832/137 530/830/135 548/833/138 +f 541/834/139 548/833/138 542/835/140 +f 549/836/141 541/834/139 542/835/140 +f 543/820/127 535/837/142 536/838/143 +f 536/838/143 550/839/144 549/836/141 +f 536/838/143 549/836/141 529/840/95 +f 549/836/141 542/835/140 529/841/95 +f 548/833/138 529/842/95 542/835/140 +f 529/843/95 548/833/138 530/830/135 +f 529/844/95 530/830/135 554/826/132 +f 554/826/132 537/825/128 529/845/95 +f 543/820/127 529/846/95 537/821/128 +f 529/847/95 543/820/127 536/838/143 +f 535/837/142 545/848/145 534/849/146 +f 551/850/147 535/837/142 534/849/146 +f 541/834/139 551/850/147 540/851/148 +f 533/852/99 551/850/147 534/849/146 +f 551/850/147 533/853/99 540/851/148 +f 546/854/149 541/834/139 540/851/148 +f 531/829/134 546/854/149 532/831/136 +f 533/855/99 546/854/149 540/851/148 +f 532/831/136 546/854/149 533/856/99 +f 532/831/136 533/857/99 552/828/133 +f 552/828/133 533/858/99 539/827/129 +f 545/848/145 539/822/129 533/859/99 +f 533/860/99 534/849/146 545/848/145 +f 564/861/139 569/862/138 563/863/140 +f 565/864/148 570/865/137 564/861/139 +f 579/866/144 563/867/140 580/868/141 +f 565/869/148 579/866/144 578/870/147 +f 557/871/142 580/868/141 556/872/143 +f 558/873/146 579/866/144 557/871/142 +f 573/874/130 556/872/143 574/875/127 +f 567/876/126 574/875/127 568/877/128 +f 575/878/132 567/876/126 568/877/128 +f 569/862/138 561/879/134 562/880/135 +f 562/880/135 576/881/131 575/878/132 +f 562/880/135 575/878/132 555/882/95 +f 575/878/132 568/877/128 555/883/95 +f 574/875/127 555/884/95 568/877/128 +f 555/885/95 574/875/127 556/872/143 +f 555/886/95 556/872/143 580/868/141 +f 580/868/141 563/867/140 555/887/95 +f 569/862/138 555/888/95 563/863/140 +f 555/889/95 569/862/138 562/880/135 +f 561/879/134 571/890/149 560/891/136 +f 577/892/133 561/879/134 560/891/136 +f 567/876/126 577/892/133 566/893/129 +f 559/894/99 577/892/133 560/891/136 +f 577/892/133 559/895/99 566/893/129 +f 572/896/145 567/876/126 566/893/129 +f 557/871/142 572/896/145 558/873/146 +f 559/897/99 572/896/145 566/893/129 +f 558/873/146 572/896/145 559/898/99 +f 558/873/146 559/899/99 578/870/147 +f 578/870/147 559/900/99 565/869/148 +f 571/890/149 565/864/148 559/901/99 +f 559/902/99 560/891/136 571/890/149 +f 433/647/76 434/650/79 440/648/77 +f 434/650/79 435/687/101 441/651/80 +f 449/652/81 434/656/79 433/653/76 +f 448/655/83 435/686/101 434/656/79 +f 427/657/84 449/652/81 450/654/82 +f 448/655/83 449/652/81 427/657/84 +f 444/660/87 443/661/88 427/657/84 +f 443/661/88 444/660/87 438/662/89 +f 446/664/91 437/663/90 438/662/89 +f 439/649/78 440/648/77 431/666/93 +f 431/666/93 446/664/91 445/665/92 +f 440/648/77 441/651/80 430/676/96 +f 446/664/91 431/666/93 430/676/96 +f 437/663/90 446/664/91 447/677/97 +f 442/681/100 443/661/88 437/663/90 +f 427/657/84 443/661/88 442/681/100 +f 459/690/89 460/693/90 466/691/88 +f 460/693/90 461/730/98 467/694/100 +f 475/695/91 460/699/90 459/696/89 +f 474/698/97 461/729/98 460/699/90 +f 453/700/93 475/695/91 476/697/92 +f 474/698/97 475/695/91 453/700/93 +f 470/703/78 469/704/77 453/700/93 +f 469/704/77 470/703/78 464/705/76 +f 472/707/81 463/706/79 464/705/76 +f 465/692/87 466/691/88 457/709/84 +f 457/709/84 472/707/81 471/708/82 +f 466/691/88 467/694/100 456/719/86 +f 472/707/81 457/709/84 456/719/86 +f 463/706/79 472/707/81 473/720/83 +f 468/724/80 469/704/77 463/706/79 +f 453/700/93 469/704/77 468/724/80 +f 485/733/102 486/737/106 492/734/103 +f 487/736/105 493/762/121 492/734/103 +f 502/738/107 501/742/109 486/739/106 +f 500/741/108 487/773/105 486/739/106 +f 479/743/110 501/742/109 502/738/107 +f 500/741/108 501/742/109 479/743/110 +f 495/746/113 479/743/110 478/744/111 +f 489/748/115 495/746/113 496/747/114 +f 498/750/117 489/748/115 490/749/116 +f 491/735/104 492/734/103 483/752/119 +f 484/753/120 483/752/119 498/750/117 +f 483/752/119 492/734/103 493/762/121 +f 499/764/123 498/750/117 483/752/119 +f 489/748/115 498/750/117 499/764/123 +f 494/768/125 495/746/113 489/748/115 +f 480/745/112 479/743/110 495/746/113 +f 511/776/116 512/780/115 518/777/113 +f 513/779/124 519/805/125 518/777/113 +f 528/781/118 527/785/117 512/782/115 +f 526/784/123 513/816/124 512/782/115 +f 505/786/119 527/785/117 528/781/118 +f 526/784/123 527/785/117 505/786/119 +f 521/789/103 505/786/119 504/787/120 +f 515/791/106 521/789/103 522/790/104 +f 524/793/109 515/791/106 516/792/102 +f 517/778/114 518/777/113 509/795/110 +f 510/796/111 509/795/110 524/793/109 +f 509/795/110 518/777/113 519/805/125 +f 525/807/108 524/793/109 509/795/110 +f 515/791/106 524/793/109 525/807/108 +f 520/811/121 521/789/103 515/791/106 +f 506/788/122 505/786/119 521/789/103 +f 538/819/126 544/823/130 543/820/127 +f 539/822/129 545/848/145 544/823/130 +f 553/824/131 538/903/126 537/825/128 +f 539/827/129 538/903/126 553/824/131 +f 531/829/134 553/824/131 554/826/132 +f 532/831/136 552/828/133 553/824/131 +f 547/832/137 531/829/134 530/830/135 +f 541/834/139 547/832/137 548/833/138 +f 549/836/141 550/839/144 541/834/139 +f 543/820/127 544/823/130 535/837/142 +f 536/838/143 535/837/142 550/839/144 +f 535/837/142 544/823/130 545/848/145 +f 551/850/147 550/839/144 535/837/142 +f 541/834/139 550/839/144 551/850/147 +f 546/854/149 547/832/137 541/834/139 +f 531/829/134 547/832/137 546/854/149 +f 564/861/139 570/865/137 569/862/138 +f 565/864/148 571/890/149 570/865/137 +f 579/866/144 564/904/139 563/867/140 +f 565/869/148 564/904/139 579/866/144 +f 557/871/142 579/866/144 580/868/141 +f 558/873/146 578/870/147 579/866/144 +f 573/874/130 557/871/142 556/872/143 +f 567/876/126 573/874/130 574/875/127 +f 575/878/132 576/881/131 567/876/126 +f 569/862/138 570/865/137 561/879/134 +f 562/880/135 561/879/134 576/881/131 +f 561/879/134 570/865/137 571/890/149 +f 577/892/133 576/881/131 561/879/134 +f 567/876/126 576/881/131 577/892/133 +f 572/896/145 573/874/130 567/876/126 +f 557/871/142 573/874/130 572/896/145 +o Hammer +v 0.625000 0.375000 -2.125000 +v 0.625000 0.551777 -2.051777 +v 0.625000 0.625000 -1.875000 +v 0.625000 0.551777 -1.698223 +v 0.625000 0.375000 -1.625000 +v 0.625000 0.198223 -1.698223 +v 0.625000 0.125000 -1.875000 +v 0.625000 0.198223 -2.051777 +v 1.000000 0.375000 -2.125000 +v 1.000000 0.551777 -2.051777 +v 1.000000 0.625000 -1.875000 +v 1.000000 0.551777 -1.698223 +v 1.000000 0.375000 -1.625000 +v 1.000000 0.198223 -1.698223 +v 1.000000 0.125000 -1.875000 +v 1.000000 0.198223 -2.051777 +v 0.906250 0.500000 -1.750000 +v 0.968750 0.500000 -1.750000 +v 0.906250 0.500000 -2.000000 +v 0.968750 0.500000 -2.000000 +v 0.906250 1.375000 -1.750000 +v 0.968750 1.375000 -1.750000 +v 0.906250 1.375000 -2.000000 +v 0.968750 1.375000 -2.000000 +v 0.906250 1.500000 -2.000000 +v 0.906250 1.500000 -1.625000 +v 0.968750 1.500000 -1.625000 +v 0.968750 1.500000 -2.000000 +v -0.625000 0.375000 -2.125000 +v -0.625000 0.551777 -2.051777 +v -0.625000 0.625000 -1.875000 +v -0.625000 0.551777 -1.698223 +v -0.625000 0.375000 -1.625000 +v -0.625000 0.198223 -1.698223 +v -0.625000 0.125000 -1.875000 +v -0.625000 0.198223 -2.051777 +v -1.000000 0.375000 -2.125000 +v -1.000000 0.551777 -2.051777 +v -1.000000 0.625000 -1.875000 +v -1.000000 0.551777 -1.698223 +v -1.000000 0.375000 -1.625000 +v -1.000000 0.198223 -1.698223 +v -1.000000 0.125000 -1.875000 +v -1.000000 0.198223 -2.051777 +v -0.906250 0.500000 -1.750000 +v -0.968750 0.500000 -1.750000 +v -0.906250 0.500000 -2.000000 +v -0.968750 0.500000 -2.000000 +v -0.906250 1.375000 -1.750000 +v -0.968750 1.375000 -1.750000 +v -0.906250 1.375000 -2.000000 +v -0.968750 1.375000 -2.000000 +v -0.906250 1.500000 -2.000000 +v -0.906250 1.500000 -1.625000 +v -0.968750 1.500000 -1.625000 +v -0.968750 1.500000 -2.000000 +vt 0.735075 0.187432 +vt 0.727628 0.156250 +vt 0.735075 0.125068 +vt 0.679105 0.421875 +vt 0.690298 0.437500 +vt 0.679105 0.437500 +vt 0.682836 0.406250 +vt 0.690298 0.421875 +vt 0.690298 0.296875 +vt 0.682836 0.296875 +vt 0.701493 0.296875 +vt 0.694030 0.406250 +vt 0.694030 0.296875 +vt 0.690298 0.406250 +vt 0.679105 0.406250 +vt 0.679105 0.296875 +vt 0.701493 0.406250 +vt 0.694030 0.421875 +vt 0.675373 0.421875 +vt 0.675373 0.437500 +vt 0.729809 0.178299 +vt 0.735075 0.187432 +vt 0.735075 0.125068 +vt 0.690298 0.437500 +vt 0.679105 0.421875 +vt 0.679105 0.437500 +vt 0.682836 0.406250 +vt 0.690298 0.421875 +vt 0.690298 0.406250 +vt 0.690298 0.296875 +vt 0.682836 0.296875 +vt 0.694030 0.406250 +vt 0.701493 0.296875 +vt 0.694030 0.296875 +vt 0.679105 0.406250 +vt 0.679105 0.296875 +vt 0.694030 0.421875 +vt 0.701493 0.406250 +vt 0.675373 0.421875 +vt 0.675373 0.437500 +vt 0.742521 0.156250 +vt 0.740340 0.178299 +vt 0.729809 0.178299 +vt 0.729809 0.134201 +vt 0.740340 0.134201 +vt 0.705224 0.421875 +vt 0.740340 0.178299 +vt 0.742521 0.156250 +vt 0.740340 0.134201 +vt 0.729809 0.134201 +vt 0.727628 0.156250 +vt 0.705224 0.421875 +vt 0.727612 0.140625 +vt 0.716418 0.125000 +vt 0.727612 0.125000 +vt 0.727612 0.234375 +vt 0.716418 0.218750 +vt 0.727612 0.218750 +vt 0.727612 0.203125 +vt 0.716418 0.187500 +vt 0.727612 0.187500 +vt 0.727612 0.171875 +vt 0.716418 0.156250 +vt 0.727612 0.156250 +vt 0.716418 0.140625 +vt 0.727612 0.250000 +vt 0.716418 0.234375 +vt 0.716418 0.203125 +vt 0.716418 0.171875 +vt 0.716418 0.125000 +vt 0.727612 0.140625 +vt 0.727612 0.125000 +vt 0.716418 0.218750 +vt 0.727612 0.234375 +vt 0.727612 0.218750 +vt 0.716418 0.187500 +vt 0.727612 0.203125 +vt 0.727612 0.187500 +vt 0.716418 0.156250 +vt 0.727612 0.171875 +vt 0.727612 0.156250 +vt 0.716418 0.140625 +vt 0.716418 0.234375 +vt 0.727612 0.250000 +vt 0.716418 0.203125 +vt 0.716418 0.171875 +vt 0.716418 0.250000 +vt 0.716418 0.250000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +s off +f 591/905/150 593/906/150 595/907/150 +f 607/908/151 605/909/151 606/910/151 +f 602/911/150 608/912/150 607/908/150 +f 600/913/150 602/911/150 598/914/150 +f 597/915/152 603/916/152 599/917/152 +f 599/917/153 604/918/153 600/913/153 +f 598/914/154 601/919/154 597/920/154 +f 601/921/152 605/922/152 603/916/152 +f 603/916/153 608/912/153 604/918/153 +f 602/923/155 606/910/155 601/924/155 +f 620/925/152 619/926/152 623/927/152 +f 633/928/151 635/929/151 634/930/151 +f 630/931/152 636/932/152 632/933/152 +f 630/931/152 628/934/152 626/935/152 +f 631/936/150 625/937/150 627/938/150 +f 632/933/153 627/938/153 628/934/153 +f 629/939/154 626/935/154 625/940/154 +f 633/941/150 629/942/150 631/936/150 +f 636/932/153 631/936/153 632/933/153 +f 634/930/155 630/943/155 629/944/155 +f 589/945/150 590/946/150 591/905/150 +f 591/905/150 592/947/150 593/906/150 +f 593/906/150 594/948/150 595/907/150 +f 595/907/150 596/949/150 589/945/150 +f 589/945/150 591/905/150 595/907/150 +f 607/908/151 608/912/151 605/909/151 +f 602/911/150 604/918/150 608/912/150 +f 600/913/150 604/918/150 602/911/150 +f 597/915/152 601/921/152 603/916/152 +f 599/917/153 603/916/153 604/918/153 +f 598/914/154 602/911/154 601/919/154 +f 601/921/152 606/950/152 605/922/152 +f 603/916/153 605/922/153 608/912/153 +f 602/923/155 607/908/155 606/910/155 +f 619/926/152 618/951/152 623/927/152 +f 618/951/152 617/952/152 623/927/152 +f 617/952/152 624/953/152 623/927/152 +f 623/927/152 622/954/152 621/955/152 +f 621/955/152 620/925/152 623/927/152 +f 633/928/151 636/932/151 635/929/151 +f 630/931/152 635/929/152 636/932/152 +f 630/931/152 632/933/152 628/934/152 +f 631/936/150 629/942/150 625/937/150 +f 632/933/153 631/936/153 627/938/153 +f 629/939/154 630/931/154 626/935/154 +f 633/941/150 634/956/150 629/942/150 +f 636/932/153 633/941/153 631/936/153 +f 634/930/155 635/929/155 630/943/155 +s 1 +f 588/957/156 595/958/157 587/959/157 +f 586/960/155 593/961/154 585/962/154 +f 584/963/158 591/964/151 583/965/151 +f 582/966/159 589/967/153 581/968/153 +f 581/968/153 596/969/156 588/957/156 +f 587/970/157 594/971/155 586/960/155 +f 585/962/154 592/972/158 584/963/158 +f 583/965/151 590/973/159 582/966/159 +f 623/974/157 616/975/156 615/976/157 +f 621/977/154 614/978/155 613/979/154 +f 619/980/151 612/981/158 611/982/151 +f 617/983/153 610/984/159 609/985/153 +f 624/986/156 609/985/153 616/975/156 +f 622/987/155 615/988/157 614/978/155 +f 620/989/158 613/979/154 612/981/158 +f 618/990/159 611/982/151 610/984/159 +f 588/957/156 596/969/156 595/958/157 +f 586/960/155 594/971/155 593/961/154 +f 584/963/158 592/972/158 591/964/151 +f 582/966/159 590/973/159 589/967/153 +f 581/968/153 589/967/153 596/969/156 +f 587/970/157 595/991/157 594/971/155 +f 585/962/154 593/961/154 592/972/158 +f 583/965/151 591/964/151 590/973/159 +f 623/974/157 624/986/156 616/975/156 +f 621/977/154 622/987/155 614/978/155 +f 619/980/151 620/989/158 612/981/158 +f 617/983/153 618/990/159 610/984/159 +f 624/986/156 617/983/153 609/985/153 +f 622/987/155 623/992/157 615/988/157 +f 620/989/158 621/977/154 613/979/154 +f 618/990/159 619/980/151 611/982/151 +o Trigger +v -0.125000 -0.875000 -1.250000 +v 0.125000 -0.875000 -1.250000 +v -0.125000 -0.875000 -1.500000 +v 0.125000 -0.875000 -1.500000 +v -0.125000 -1.250000 -1.250000 +v 0.125000 -1.250000 -1.250000 +v -0.125000 -1.250000 -1.500000 +v 0.125000 -1.250000 -1.500000 +v -0.125000 -2.000000 -1.750000 +v 0.125000 -2.000000 -1.750000 +v 0.125000 -1.500000 -1.750000 +v -0.125000 -1.500000 -1.750000 +v 0.125000 -2.000000 -1.000000 +v -0.125000 -2.000000 -1.000000 +v 0.125000 -1.500000 -1.000000 +v -0.125000 -1.500000 -1.000000 +v -0.125000 -1.500000 -0.875000 +v -0.125000 -1.250000 -1.125000 +v 0.125000 -1.250000 -1.125000 +v 0.125000 -1.500000 -0.875000 +v -0.125000 -1.250000 -1.625000 +v -0.125000 -1.500000 -1.875000 +v 0.125000 -1.500000 -1.875000 +v 0.125000 -1.250000 -1.625000 +v -0.125000 -2.250000 -1.125000 +v -0.125000 -2.000000 -0.875000 +v 0.125000 -2.000000 -0.875000 +v 0.125000 -2.250000 -1.125000 +v 0.125000 -2.250000 -1.625000 +v 0.125000 -2.000000 -1.875000 +v -0.125000 -2.000000 -1.875000 +v -0.125000 -2.250000 -1.625000 +v -0.125000 -1.375000 -1.125000 +v 0.125000 -1.375000 -1.125000 +v -0.125000 -1.375000 -1.625000 +v 0.125000 -1.375000 -1.625000 +v -0.125000 -2.125000 -1.125000 +v 0.125000 -2.125000 -1.125000 +v 0.125000 -2.125000 -1.625000 +v -0.125000 -2.125000 -1.625000 +vt 0.119403 0.828125 +vt 0.126866 0.781250 +vt 0.126866 0.828125 +vt 0.104478 0.828125 +vt 0.111940 0.781250 +vt 0.111940 0.828125 +vt 0.119403 0.781250 +vt 0.134328 0.781250 +vt 0.134328 0.828125 +vt 0.041045 0.859375 +vt 0.026119 0.875000 +vt 0.026119 0.859375 +vt 0.078358 0.828125 +vt 0.093284 0.812500 +vt 0.093284 0.828125 +vt 0.026119 0.828125 +vt 0.041045 0.812500 +vt 0.041045 0.828125 +vt 0.093284 0.859375 +vt 0.078358 0.875000 +vt 0.078358 0.859375 +vt 0.067164 0.859375 +vt 0.052239 0.875000 +vt 0.052239 0.859375 +vt 0.052239 0.828125 +vt 0.067164 0.812500 +vt 0.067164 0.828125 +vt 0.000000 0.828125 +vt 0.014925 0.812500 +vt 0.014925 0.828125 +vt 0.014925 0.859375 +vt 0.000000 0.875000 +vt 0.000000 0.859375 +vt 0.018657 0.875000 +vt 0.022388 0.875000 +vt 0.022388 0.812500 +vt 0.044776 0.875000 +vt 0.048507 0.812500 +vt 0.044776 0.812500 +vt 0.070896 0.875000 +vt 0.074627 0.875000 +vt 0.074627 0.812500 +vt 0.104478 0.859375 +vt 0.097015 0.875000 +vt 0.100746 0.812500 +vt 0.097015 0.812500 +vt 0.104478 0.781250 +vt 0.041045 0.875000 +vt 0.078358 0.812500 +vt 0.026119 0.812500 +vt 0.093284 0.875000 +vt 0.067164 0.875000 +vt 0.052239 0.812500 +vt 0.000000 0.812500 +vt 0.014925 0.875000 +vt 0.018657 0.812500 +vt 0.048507 0.875000 +vt 0.070896 0.812500 +vt 0.100746 0.875000 +vt 0.104478 0.828125 +vt 0.014925 0.781250 +vt 0.000000 0.781250 +vt 0.022388 0.781250 +vt 0.018657 0.781250 +vt 0.026119 0.781250 +vt 0.044776 0.781250 +vt 0.052239 0.781250 +vt 0.070896 0.781250 +vt 0.093284 0.781250 +vt 0.078358 0.781250 +vt 0.100746 0.781250 +vt 0.041045 0.781250 +vt 0.048507 0.781250 +vt 0.067164 0.781250 +vt 0.074627 0.781250 +vt 0.097015 0.781250 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 0.9239 0.3827 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 -0.3827 -0.9239 +vn 0.0000 -0.9239 0.3827 +vn 0.0000 -0.9239 -0.3827 +vn 0.0000 0.3827 0.9239 +vn 0.0000 -0.3827 0.9239 +s off +f 640/993/160 643/994/160 639/995/160 +f 637/996/161 642/997/161 638/998/161 +f 638/998/162 644/999/162 640/993/162 +f 639/995/163 641/1000/163 637/1001/163 +f 653/1002/163 650/1003/163 662/1004/163 +f 659/1005/162 646/1006/162 666/1007/162 +f 663/1008/162 651/1009/162 656/1010/162 +f 667/1011/163 648/1012/163 658/1013/163 +f 657/1014/163 669/1015/163 654/1016/163 +f 655/1017/162 672/1018/162 660/1019/162 +f 665/1020/162 674/1021/162 664/1022/162 +f 661/1023/163 676/1024/163 668/1025/163 +f 673/1026/163 662/1004/163 650/1027/163 +f 664/1022/162 649/1028/162 663/1008/162 +f 654/1016/163 652/1029/163 653/1002/163 +f 670/1030/162 656/1010/162 651/1031/162 +f 671/1032/163 658/1013/163 648/1033/163 +f 660/1019/162 647/1034/162 659/1005/162 +f 668/1035/163 645/1036/163 667/1011/163 +f 675/1037/162 666/1007/162 646/1038/162 +f 640/993/160 644/999/160 643/994/160 +f 637/996/161 641/1039/161 642/997/161 +f 638/998/162 642/997/162 644/999/162 +f 639/995/163 643/994/163 641/1000/163 +f 653/1002/163 652/1040/163 650/1003/163 +f 659/1005/162 647/1041/162 646/1006/162 +f 663/1008/162 649/1042/162 651/1009/162 +f 667/1011/163 645/1043/163 648/1012/163 +f 657/1014/163 671/1044/163 669/1015/163 +f 655/1017/162 670/1045/162 672/1018/162 +f 665/1020/162 675/1046/162 674/1021/162 +f 661/1023/163 673/1047/163 676/1024/163 +f 673/1026/163 661/1023/163 662/1004/163 +f 664/1022/162 674/1048/162 649/1028/162 +f 654/1016/163 669/1049/163 652/1029/163 +f 670/1030/162 655/1017/162 656/1010/162 +f 671/1032/163 657/1014/163 658/1013/163 +f 660/1019/162 672/1050/162 647/1034/162 +f 668/1035/163 676/1051/163 645/1036/163 +f 675/1037/162 665/1052/162 666/1007/162 +s 1 +f 660/1019/164 654/1016/165 655/1017/165 +f 659/1005/166 667/1011/167 658/1013/166 +f 661/1023/168 665/1020/169 664/1022/168 +f 656/1010/170 654/1016/165 653/1002/170 +f 658/1013/166 660/1019/164 659/1005/166 +f 664/1022/168 662/1004/171 661/1023/168 +f 668/1035/169 666/1007/167 665/1052/169 +f 653/1002/170 663/1008/171 656/1010/170 +f 673/1053/164 675/1046/165 676/1054/165 +f 650/1055/166 674/1048/164 673/1056/164 +f 650/1057/166 651/1009/167 649/1042/166 +f 652/1058/167 670/1030/169 651/1031/167 +f 669/1059/169 672/1018/168 670/1045/169 +f 671/1060/168 647/1034/171 672/1050/168 +f 645/1061/170 647/1041/171 648/1062/171 +f 646/1038/170 676/1063/165 675/1037/165 +f 660/1019/164 657/1014/164 654/1016/165 +f 659/1005/166 666/1007/167 667/1011/167 +f 661/1023/168 668/1025/169 665/1020/169 +f 656/1010/170 655/1017/165 654/1016/165 +f 658/1013/166 657/1014/164 660/1019/164 +f 664/1022/168 663/1008/171 662/1004/171 +f 668/1035/169 667/1011/167 666/1007/167 +f 653/1002/170 662/1004/171 663/1008/171 +f 673/1053/164 674/1021/164 675/1046/165 +f 650/1055/166 649/1028/166 674/1048/164 +f 650/1057/166 652/1064/167 651/1009/167 +f 652/1058/167 669/1065/169 670/1030/169 +f 669/1059/169 671/1066/168 672/1018/168 +f 671/1060/168 648/1067/171 647/1034/171 +f 645/1061/170 646/1006/170 647/1041/171 +f 646/1038/170 645/1068/170 676/1063/165 +o Grip +v 0.000000 1.000000 0.000000 +v -0.500000 0.866025 0.000000 +v -0.866025 0.500000 0.000000 +v -1.000000 -0.000000 -0.000000 +v -0.866025 -0.500000 -0.000000 +v -0.500000 -0.866025 -0.000000 +v 0.000000 -1.000000 -0.000000 +v 0.500000 -0.866026 -0.000000 +v 0.866025 -0.500000 -0.000000 +v 1.000000 -0.000000 -0.000000 +v 0.866026 0.499999 0.000000 +v 0.500000 0.866025 0.000000 +v -0.500000 0.866025 -0.500000 +v 0.000000 1.000000 -0.500000 +v -0.866025 0.500000 -0.500000 +v -1.000000 -0.000000 -0.500000 +v -0.866025 -0.500000 -0.500000 +v -0.500000 -0.866025 -0.500000 +v 0.000000 -1.000000 -0.500000 +v 0.500000 -0.866026 -0.500000 +v 0.866025 -0.500000 -0.500000 +v 1.000000 -0.000000 -0.500000 +v 0.866026 0.500000 -0.500000 +v 0.500000 0.866025 -0.500000 +v 0.875000 -0.875000 -0.125000 +v 0.875000 0.125000 -0.125000 +v 0.875000 -0.875000 -0.375000 +v 0.875000 0.125000 -0.375000 +v 1.125000 -0.875000 -0.125000 +v 1.125000 -0.125000 -0.125000 +v 1.125000 -0.875000 -0.375000 +v 1.125000 -0.125000 -0.375000 +v -1.125000 -0.125000 -0.125000 +v 0.875000 -1.125000 -0.125000 +v -1.125000 -0.875000 -0.125000 +v 1.125000 -1.125000 -0.125000 +v 0.875000 -0.875000 6.125000 +v 1.125000 -0.875000 6.125000 +v 0.875000 -1.125000 6.125000 +v 1.125000 -1.125000 6.125000 +v 0.875000 -0.875000 6.375000 +v 1.125000 -0.875000 6.375000 +v -1.125000 -0.125000 -0.375000 +v -1.125000 -0.875000 -0.375000 +v 0.875000 0.625000 6.125000 +v 1.125000 0.625000 6.125000 +v 0.875000 0.625000 6.375000 +v 1.125000 0.625000 6.375000 +v 0.625000 0.875000 6.125000 +v 0.625000 0.875000 6.375000 +v -0.625000 0.875000 6.125000 +v -0.625000 0.875000 6.375000 +v 0.625000 1.125000 6.125000 +v 0.625000 1.125000 6.375000 +v -0.625000 1.125000 6.125000 +v -0.625000 1.125000 6.375000 +v -0.875000 -0.875000 -0.125000 +v -0.875000 0.125000 -0.125000 +v -0.875000 -0.875000 -0.375000 +v -0.875000 0.125000 -0.375000 +v -1.125000 -1.125000 -0.125000 +v -0.875000 -1.125000 -0.125000 +v -1.125000 -0.875000 6.125000 +v -0.875000 -0.875000 6.125000 +v -1.125000 -1.125000 6.125000 +v -0.875000 -1.125000 6.125000 +v -1.125000 -0.875000 6.375000 +v -0.875000 -0.875000 6.375000 +v -1.125000 0.625000 6.125000 +v -0.875000 0.625000 6.125000 +v -1.125000 0.625000 6.375000 +v -0.875000 0.625000 6.375000 +v -0.875000 -0.375000 -0.500000 +v 0.875000 -0.375000 -0.500000 +v -0.875000 0.375000 -0.500000 +v 0.875000 0.375000 -0.500000 +v -0.375000 0.875000 -0.500000 +v -0.375000 -0.875000 -0.500000 +v 0.375000 0.875000 -0.500000 +v 0.375000 -0.875000 -0.500000 +v -0.875000 -0.375000 -3.000000 +v 0.875000 -0.375000 -3.000000 +v -0.875000 0.375000 -3.000000 +v 0.875000 0.375000 -3.000000 +v -0.375000 0.875000 -3.000000 +v -0.375000 -0.875000 -3.000000 +v 0.375000 0.875000 -3.000000 +v 0.375000 -0.875000 -3.000000 +v -0.875000 -1.625000 -4.875000 +v 0.875000 -1.625000 -4.875000 +v -0.875000 -0.875000 -5.250000 +v 0.875000 -0.875000 -5.250000 +v -0.375000 -0.375000 -5.500000 +v -0.375000 -2.125000 -4.625000 +v 0.375000 -0.375000 -5.500000 +v 0.375000 -2.125000 -4.625000 +v -0.875000 -2.875000 -5.750000 +v 0.875000 -2.875000 -5.750000 +v -0.875000 -2.125000 -6.500000 +v 0.875000 -2.125000 -6.500000 +v -0.375000 -1.625000 -7.000000 +v -0.375000 -3.375000 -5.250000 +v 0.375000 -1.625000 -7.000000 +v 0.375000 -3.375000 -5.250000 +v 0.875000 0.250000 -0.500000 +v 1.000000 0.250000 -0.500000 +v 0.875000 0.250000 -1.000000 +v 1.000000 0.250000 -1.000000 +v 0.875000 0.375000 -1.000000 +v 0.875000 0.375000 -0.500000 +v 1.000000 0.375000 -0.500000 +v 1.000000 0.375000 -1.000000 +v -0.875000 0.250000 -0.500000 +v -1.000000 0.250000 -0.500000 +v -0.875000 0.250000 -1.000000 +v -1.000000 0.250000 -1.000000 +v -0.875000 0.375000 -1.000000 +v -0.875000 0.375000 -0.500000 +v -1.000000 0.375000 -0.500000 +v -1.000000 0.375000 -1.000000 +v -0.187500 0.875000 -0.562500 +v 0.187500 0.875000 -0.562500 +v -0.187500 0.875000 -0.937500 +v 0.187500 0.875000 -0.937500 +v -0.187500 1.375000 -0.812500 +v -0.187500 1.375000 -0.687500 +v 0.187500 1.375000 -0.687500 +v 0.187500 1.375000 -0.812500 +v -0.062500 1.375000 -0.687500 +v 0.062500 1.375000 -0.687500 +v 0.062500 1.375000 -0.812500 +v -0.062500 1.375000 -0.812500 +v -0.062500 1.125000 -0.625000 +v 0.062500 1.125000 -0.625000 +v 0.062500 1.125000 -0.875000 +v -0.062500 1.125000 -0.875000 +vt 0.276412 0.187560 +vt 0.328065 0.187560 +vt 0.302239 0.374880 +vt 0.276412 0.437560 +vt 0.302239 0.375120 +vt 0.328065 0.562440 +vt -0.000000 0.125000 +vt 0.029851 0.093750 +vt 0.029851 0.125000 +vt 0.007463 0.062500 +vt 0.029851 0.062500 +vt 0.029851 0.031250 +vt 0.007463 0.031250 +vt 0.029851 0.000000 +vt 0.037313 0.031250 +vt -0.000000 0.062500 +vt 0.619403 0.031250 +vt 0.597015 0.062500 +vt 0.597015 0.031250 +vt 0.037313 0.093750 +vt 0.223881 0.125000 +vt 0.037313 0.125000 +vt 0.619403 0.062500 +vt 0.597015 0.093750 +vt 0.037313 0.125000 +vt 0.231343 0.000000 +vt 0.276119 0.031250 +vt 0.231343 0.031250 +vt 0.037313 0.031250 +vt 0.223881 0.062500 +vt 0.037313 0.062500 +vt 0.037313 -0.000000 +vt 0.223881 0.031250 +vt 0.223881 0.093750 +vt 0.231343 0.125000 +vt 0.223881 0.125000 +vt 0.231343 0.093750 +vt 0.626866 0.093750 +vt 0.597015 0.125000 +vt 0.223881 0.031250 +vt 0.231343 0.062500 +vt 0.279851 0.093750 +vt 0.291045 0.125000 +vt 0.279851 0.125000 +vt 0.276119 0.125000 +vt 0.276119 0.093750 +vt 0.276119 0.062500 +vt 0.294776 0.093750 +vt 0.332090 0.125000 +vt 0.294776 0.125000 +vt 0.332090 0.062500 +vt 0.332090 0.093750 +vt 0.332090 0.000000 +vt 0.294776 0.031250 +vt 0.294776 0.000000 +vt 0.332090 0.031250 +vt 0.291045 0.000000 +vt 0.279851 0.000000 +vt 0.294776 0.062500 +vt 0.597015 0.000000 +vt 0.589552 0.125000 +vt 0.626866 0.031250 +vt 0.626866 0.062500 +vt 0.589552 0.062500 +vt 0.402985 0.031250 +vt 0.589552 0.031250 +vt 0.589552 0.031250 +vt 0.395522 0.031250 +vt 0.350746 0.000000 +vt 0.395522 0.000000 +vt 0.589552 0.125000 +vt 0.402985 0.093750 +vt 0.589552 0.093750 +vt 0.402985 0.000000 +vt 0.589552 0.000000 +vt 0.402985 0.062500 +vt 0.402985 0.031250 +vt 0.395522 0.062500 +vt 0.402985 0.125000 +vt 0.395522 0.125000 +vt 0.395522 0.093750 +vt 0.350746 0.031250 +vt 0.350746 0.062500 +vt 0.350746 0.093750 +vt 0.335821 0.093750 +vt 0.347015 0.125000 +vt 0.335821 0.125000 +vt 0.347015 0.000000 +vt 0.335821 0.000000 +vt 0.347015 0.093750 +vt 0.570895 0.828125 +vt 0.548507 0.671875 +vt 0.570895 0.609375 +vt 0.656716 0.562500 +vt 0.641791 0.578125 +vt 0.641791 0.562500 +vt 0.641791 0.593750 +vt 0.656716 0.609375 +vt 0.641791 0.609375 +vt 0.660448 0.578125 +vt 0.656716 0.593750 +vt 0.656716 0.578125 +vt 0.638060 0.593750 +vt 0.638060 0.578125 +vt 0.641791 0.593750 +vt 0.656716 0.609375 +vt 0.641791 0.609375 +vt 0.656716 0.562500 +vt 0.641791 0.578125 +vt 0.641791 0.562500 +vt 0.656716 0.578125 +vt 0.660448 0.593750 +vt 0.656716 0.593750 +vt 0.638060 0.578125 +vt 0.638060 0.593750 +vt 0.690298 0.203125 +vt 0.694030 0.187500 +vt 0.694030 0.203125 +vt 0.675373 0.171875 +vt 0.675373 0.218750 +vt 0.716418 0.218750 +vt 0.701493 0.187500 +vt 0.716418 0.171875 +vt 0.697761 0.203125 +vt 0.701493 0.203125 +vt 0.686567 0.281250 +vt 0.694030 0.296875 +vt 0.686567 0.296875 +vt 0.705224 0.296875 +vt 0.697761 0.265625 +vt 0.705224 0.281250 +vt 0.694030 0.234375 +vt 0.697761 0.234375 +vt 0.701493 0.265625 +vt 0.697761 0.156250 +vt 0.697761 0.187500 +vt 0.694030 0.156250 +vt 0.690298 0.187500 +vt 0.690298 0.125000 +vt 0.701493 0.125000 +vt 0.697761 0.296875 +vt 0.694030 0.265625 +vt 0.600746 0.609375 +vt 0.623134 0.765625 +vt 0.600746 0.828125 +vt 0.287328 0.358149 +vt 0.276412 0.312440 +vt 0.272417 0.250000 +vt 0.287328 0.141851 +vt 0.302239 0.125120 +vt 0.317150 0.141851 +vt 0.332061 0.250000 +vt 0.328065 0.312440 +vt 0.317150 0.358149 +vt 0.317150 0.608149 +vt 0.302239 0.624880 +vt 0.287328 0.608149 +vt 0.276412 0.562440 +vt 0.272417 0.500000 +vt 0.287328 0.391851 +vt 0.317150 0.391851 +vt 0.328065 0.437560 +vt 0.332061 0.500000 +vt -0.000000 0.093750 +vt -0.000000 0.000000 +vt -0.000000 0.031250 +vt 0.276119 0.000000 +vt 0.223881 0.000000 +vt 0.626866 0.125000 +vt 0.291045 0.093750 +vt 0.626866 0.000000 +vt 0.402985 0.125000 +vt 0.350746 0.125000 +vt 0.548507 0.765625 +vt 0.660448 0.593750 +vt 0.660448 0.578125 +vt 0.690298 0.265625 +vt 0.623134 0.671875 +vt 0.257463 0.625000 +vt 0.272388 0.687500 +vt 0.257463 0.687500 +vt 0.257463 0.312500 +vt 0.272388 0.375000 +vt 0.257463 0.375000 +vt 0.257463 0.125000 +vt 0.272388 0.187500 +vt 0.257463 0.187500 +vt 0.272388 0.750000 +vt 0.257463 0.750000 +vt 0.272388 0.437500 +vt 0.257463 0.437500 +vt 0.257463 0.500000 +vt 0.272388 0.562500 +vt 0.257463 0.562500 +vt 0.272388 0.250000 +vt 0.257463 0.250000 +vt 0.272388 0.812500 +vt 0.257463 0.812500 +vt 0.272388 0.500000 +vt 0.272388 0.625000 +vt 0.272388 0.312500 +vt 0.272388 0.875000 +vt 0.257463 0.875000 +vt 0.406716 0.406250 +vt 0.332090 0.500000 +vt 0.332090 0.406250 +vt 0.406716 0.125000 +vt 0.332090 0.218750 +vt 0.332090 0.125000 +vt 0.406716 0.500000 +vt 0.332090 0.593750 +vt 0.406716 0.593750 +vt 0.332090 0.687500 +vt 0.406716 0.781250 +vt 0.332090 0.875000 +vt 0.332090 0.781250 +vt 0.332090 0.312500 +vt 0.406716 0.218750 +vt 0.406716 0.609375 +vt 0.414179 0.515625 +vt 0.488806 0.609375 +vt 0.406716 0.703125 +vt 0.488806 0.703125 +vt 0.421642 0.906250 +vt 0.488806 0.796875 +vt 0.488806 0.906250 +vt 0.421642 0.406250 +vt 0.488806 0.312500 +vt 0.488806 0.406250 +vt 0.414179 0.796875 +vt 0.429104 0.312500 +vt 0.488806 0.218750 +vt 0.488806 0.515625 +vt 0.429104 0.218750 +vt 0.421642 0.125000 +vt 0.488806 0.671875 +vt 0.488806 0.765625 +vt 0.496269 0.562500 +vt 0.503731 0.437500 +vt 0.548507 0.578125 +vt 0.507463 0.328125 +vt 0.548507 0.328125 +vt 0.507463 0.234375 +vt 0.503731 0.125000 +vt 0.548507 0.234375 +vt 0.503731 1.000000 +vt 0.548507 0.875000 +vt 0.548507 1.000000 +vt 0.496269 0.875000 +vt 0.488806 0.125000 +vt 0.548507 0.437500 +vt 0.548507 0.125000 +vt 0.272388 0.125000 +vt 0.406716 0.687500 +vt 0.406716 0.875000 +vt 0.406716 0.312500 +vn 0.0000 -0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.7071 -0.7071 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 -0.7071 0.7071 +vn -0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.0000 0.2425 0.9701 +vn 0.0000 0.2425 -0.9701 +vn -0.8660 0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.8660 -0.5000 -0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.9474 -0.3073 0.0890 +vn 0.9239 0.3827 0.0000 +vn 0.9239 -0.3827 0.0000 +vn -0.9474 -0.3073 0.0890 +vn -0.3827 -0.9239 0.0000 +vn -0.9239 -0.3827 0.0000 +vn 0.8995 0.4220 -0.1137 +vn 0.3827 0.9239 0.0000 +vn 0.3595 0.9099 -0.2070 +vn -0.3827 0.9239 0.0000 +vn -0.8995 0.4220 -0.1137 +vn -0.9239 0.3827 0.0000 +vn 0.3827 -0.9239 0.0000 +vn -0.3933 -0.8620 0.3198 +vn 0.3916 0.7677 -0.5072 +vn -0.3595 0.9099 -0.2070 +vn -0.3916 0.7677 -0.5072 +vn -0.9259 0.3078 -0.2189 +vn -0.9481 -0.2244 0.2254 +vn 0.3988 -0.5746 0.7147 +vn 0.9481 -0.2244 0.2254 +vn 0.3933 -0.8620 0.3198 +vn -0.3988 -0.5746 0.7147 +vn 0.9259 0.3078 -0.2189 +vn -0.4348 0.6780 -0.5927 +vn 0.4348 0.6780 -0.5927 +vn 0.9530 0.2142 -0.2142 +vn 0.3909 -0.4393 0.8089 +vn -0.3909 -0.4393 0.8089 +vn -0.9530 0.2142 -0.2142 +vn -0.9414 -0.1935 0.2764 +vn 0.9414 -0.1935 0.2764 +s off +f 681/1069/172 685/1070/172 677/1071/172 +f 697/1072/173 695/1073/173 691/1074/173 +f 702/1075/174 703/1076/174 701/1077/174 +f 703/1076/173 708/1078/173 707/1079/173 +f 708/1078/175 705/1080/175 707/1079/175 +f 706/1081/172 701/1082/172 705/1080/172 +f 707/1079/175 705/1080/175 712/1083/175 +f 704/1084/176 706/1081/176 708/1078/176 +f 709/1085/174 720/1086/174 711/1087/174 +f 710/1088/174 713/1089/174 701/1090/174 +f 719/1091/173 735/1092/173 720/1086/173 +f 701/1077/174 703/1076/174 710/1093/174 +f 713/1094/173 722/1095/173 714/1096/173 +f 705/1097/175 716/1098/175 712/1099/175 +f 701/1100/177 714/1101/177 705/1097/177 +f 712/1099/178 715/1102/178 710/1088/178 +f 707/1079/179 710/1088/179 703/1076/179 +f 713/1103/174 715/1104/174 717/1105/174 +f 736/1106/175 733/1107/175 735/1092/175 +f 716/1108/175 714/1096/175 718/1109/175 +f 723/1110/180 725/1111/180 721/1112/180 +f 717/1105/174 721/1113/174 713/1103/174 +f 718/1109/172 723/1114/172 717/1105/172 +f 714/1096/175 724/1115/175 718/1109/175 +f 726/1116/178 727/1117/178 725/1118/178 +f 726/1116/172 732/1119/172 728/1120/172 +f 727/1121/173 729/1122/173 725/1123/173 +f 732/1119/177 729/1122/177 731/1124/177 +f 725/1125/173 722/1095/173 721/1126/173 +f 730/1127/172 723/1110/172 724/1115/172 +f 722/1095/176 730/1127/176 724/1115/176 +f 716/1098/181 717/1105/181 715/1102/181 +f 733/1128/172 709/1085/172 711/1087/172 +f 735/1092/175 733/1107/175 738/1129/175 +f 719/1091/182 734/1130/182 736/1131/182 +f 737/1132/174 739/1133/174 711/1134/174 +f 711/1087/174 720/1086/174 737/1135/174 +f 739/1136/173 746/1137/173 740/1138/173 +f 733/1139/175 742/1140/175 738/1141/175 +f 711/1134/177 740/1142/177 733/1143/177 +f 738/1141/178 741/1144/178 737/1132/178 +f 735/1092/179 737/1132/179 720/1086/179 +f 739/1136/174 741/1145/174 743/1146/174 +f 742/1147/175 740/1148/175 744/1149/175 +f 743/1146/174 745/1150/174 739/1136/174 +f 744/1149/172 747/1151/172 743/1146/172 +f 740/1148/175 748/1152/175 744/1149/175 +f 742/1140/181 743/1146/181 741/1144/181 +f 728/1153/183 746/1154/183 727/1155/183 +f 746/1156/173 731/1124/173 727/1157/173 +f 731/1124/182 747/1151/182 732/1119/182 +f 732/1119/172 748/1158/172 728/1153/172 +f 775/1159/179 779/1160/179 776/1161/179 +f 783/1162/178 782/1163/178 781/1164/178 +f 787/1165/177 785/1166/177 786/1167/177 +f 783/1168/173 788/1169/173 784/1170/173 +f 782/1163/172 786/1171/172 781/1172/172 +f 784/1170/175 787/1165/175 782/1163/175 +f 790/1173/178 791/1174/178 789/1175/178 +f 793/1176/177 795/1177/177 794/1178/177 +f 796/1179/173 791/1180/173 792/1181/173 +f 794/1182/172 790/1173/172 789/1183/172 +f 795/1177/174 792/1181/174 790/1173/174 +f 803/1184/177 807/1185/177 806/1186/177 +f 800/1187/175 803/1184/175 798/1188/175 +f 797/1189/174 801/1190/174 799/1191/174 +f 805/1192/177 801/1190/177 802/1193/177 +f 807/1194/174 810/1195/174 806/1196/174 +f 805/1197/175 812/1198/175 808/1199/175 +f 810/1200/184 803/1184/184 806/1186/184 +f 809/1201/184 802/1193/184 797/1202/184 +f 812/1203/185 801/1190/185 808/1204/185 +f 811/1205/185 804/1206/185 800/1207/185 +f 797/1202/184 810/1200/184 809/1201/184 +f 799/1208/185 811/1205/185 800/1207/185 +f 809/1209/177 811/1210/177 812/1198/177 +f 774/1211/179 775/1159/179 776/1161/179 +f 774/1211/179 778/1212/179 773/1213/179 +f 677/1071/172 678/1214/172 679/1215/172 +f 679/1215/172 680/1216/172 677/1071/172 +f 680/1216/172 681/1069/172 677/1071/172 +f 681/1069/172 682/1217/172 685/1070/172 +f 682/1217/172 683/1218/172 685/1070/172 +f 683/1218/172 684/1219/172 685/1070/172 +f 685/1070/172 686/1220/172 687/1221/172 +f 687/1221/172 688/1222/172 685/1070/172 +f 688/1222/172 677/1071/172 685/1070/172 +f 691/1074/173 689/1223/173 690/1224/173 +f 690/1224/173 700/1225/173 691/1074/173 +f 700/1225/173 699/1226/173 691/1074/173 +f 699/1226/173 698/1227/173 697/1072/173 +f 697/1072/173 696/1228/173 695/1073/173 +f 695/1073/173 694/1229/173 691/1074/173 +f 694/1229/173 693/1230/173 691/1074/173 +f 693/1230/173 692/1231/173 691/1074/173 +f 699/1226/173 697/1072/173 691/1074/173 +f 702/1075/174 704/1232/174 703/1076/174 +f 703/1076/173 704/1232/173 708/1078/173 +f 708/1078/175 706/1081/175 705/1080/175 +f 706/1081/172 702/1233/172 701/1082/172 +f 704/1084/176 702/1234/176 706/1081/176 +f 709/1085/174 719/1091/174 720/1086/174 +f 710/1088/174 715/1102/174 713/1089/174 +f 719/1091/173 736/1106/173 735/1092/173 +f 713/1094/173 721/1235/173 722/1095/173 +f 705/1097/175 714/1101/175 716/1098/175 +f 701/1100/177 713/1236/177 714/1101/177 +f 712/1099/178 716/1098/178 715/1102/178 +f 707/1079/179 712/1099/179 710/1088/179 +f 736/1106/175 734/1237/175 733/1107/175 +f 723/1110/180 726/1238/180 725/1111/180 +f 717/1105/174 723/1114/174 721/1113/174 +f 718/1109/172 724/1115/172 723/1114/172 +f 714/1096/175 722/1095/175 724/1115/175 +f 726/1116/178 728/1120/178 727/1117/178 +f 726/1116/172 730/1127/172 732/1119/172 +f 727/1121/173 731/1124/173 729/1122/173 +f 732/1119/177 730/1127/177 729/1122/177 +f 725/1125/173 729/1122/173 722/1095/173 +f 730/1127/172 726/1238/172 723/1110/172 +f 722/1095/176 729/1122/176 730/1127/176 +f 716/1098/181 718/1109/181 717/1105/181 +f 733/1128/172 734/1239/172 709/1085/172 +f 719/1091/182 709/1085/182 734/1130/182 +f 737/1132/174 741/1144/174 739/1133/174 +f 739/1136/173 745/1150/173 746/1137/173 +f 733/1139/175 740/1240/175 742/1140/175 +f 711/1134/177 739/1133/177 740/1142/177 +f 738/1141/178 742/1140/178 741/1144/178 +f 735/1092/179 738/1141/179 737/1132/179 +f 743/1146/174 747/1151/174 745/1150/174 +f 744/1149/172 748/1152/172 747/1151/172 +f 740/1148/175 746/1241/175 748/1152/175 +f 742/1140/181 744/1149/181 743/1146/181 +f 728/1153/183 748/1158/183 746/1154/183 +f 746/1156/173 745/1150/173 731/1124/173 +f 731/1124/182 745/1150/182 747/1151/182 +f 732/1119/172 747/1151/172 748/1158/172 +f 775/1159/179 777/1242/179 779/1160/179 +f 783/1162/178 784/1170/178 782/1163/178 +f 787/1165/177 788/1169/177 785/1166/177 +f 783/1168/173 785/1243/173 788/1169/173 +f 782/1163/172 787/1165/172 786/1171/172 +f 784/1170/175 788/1169/175 787/1165/175 +f 790/1173/178 792/1181/178 791/1174/178 +f 793/1176/177 796/1179/177 795/1177/177 +f 796/1179/173 793/1244/173 791/1180/173 +f 794/1182/172 795/1177/172 790/1173/172 +f 795/1177/174 796/1179/174 792/1181/174 +f 803/1184/177 804/1206/177 807/1185/177 +f 800/1187/175 804/1206/175 803/1184/175 +f 797/1189/174 802/1193/174 801/1190/174 +f 805/1192/177 808/1204/177 801/1190/177 +f 807/1194/174 811/1210/174 810/1195/174 +f 805/1197/175 809/1209/175 812/1198/175 +f 810/1200/184 798/1245/184 803/1184/184 +f 809/1201/184 805/1192/184 802/1193/184 +f 812/1203/185 799/1208/185 801/1190/185 +f 811/1205/185 807/1185/185 804/1206/185 +f 797/1202/184 798/1245/184 810/1200/184 +f 799/1208/185 812/1203/185 811/1205/185 +f 809/1209/177 810/1195/177 811/1210/177 +f 774/1211/179 773/1213/179 775/1159/179 +f 774/1211/179 780/1246/179 778/1212/179 +s 1 +f 679/1247/186 692/1248/174 680/1249/174 +f 686/1250/175 699/1251/187 687/1252/187 +f 683/1253/178 696/1254/188 684/1255/188 +f 680/1249/174 693/1256/189 681/1257/189 +f 687/1252/187 700/1258/190 688/1259/190 +f 677/1260/177 689/1261/191 678/1262/191 +f 684/1255/188 697/1263/192 685/1264/192 +f 681/1257/189 694/1265/193 682/1266/193 +f 688/1259/190 690/1267/177 677/1260/177 +f 678/1262/191 691/1268/186 679/1247/186 +f 685/1264/192 698/1269/175 686/1250/175 +f 682/1266/193 695/1270/178 683/1271/178 +f 758/1272/194 752/1273/195 750/1274/196 +f 757/1275/197 754/1276/198 749/1277/199 +f 760/1278/200 755/1279/201 752/1273/195 +f 763/1280/202 753/1281/203 755/1279/201 +f 759/1282/204 749/1283/199 751/1284/205 +f 756/1285/206 758/1272/194 750/1274/196 +f 753/1281/203 759/1282/204 751/1284/205 +f 762/1286/207 756/1285/206 754/1276/198 +f 763/1287/202 760/1288/200 771/1289/208 +f 761/1290/209 771/1289/208 769/1291/210 +f 757/1292/197 767/1293/211 765/1294/212 +f 758/1295/194 772/1296/213 766/1297/214 +f 759/1298/204 769/1291/210 767/1293/211 +f 764/1299/215 770/1300/216 772/1296/213 +f 758/1295/194 768/1301/217 760/1288/200 +f 762/1302/207 757/1303/197 770/1300/216 +f 771/1304/208 777/1242/218 769/1305/210 +f 771/1304/208 768/1306/217 779/1160/219 +f 766/1307/214 776/1308/220 768/1306/217 +f 772/1309/213 780/1310/221 766/1307/214 +f 770/1311/216 780/1310/221 772/1309/213 +f 770/1311/216 765/1312/212 778/1313/222 +f 765/1314/212 775/1315/223 773/1316/224 +f 769/1305/210 777/1242/218 767/1317/211 +f 771/1289/208 760/1288/200 768/1301/217 +f 769/1291/210 759/1298/204 761/1290/209 +f 779/1160/219 768/1306/217 776/1308/220 +f 767/1317/211 777/1242/218 775/1315/223 +f 770/1300/216 757/1303/197 765/1318/212 +f 772/1296/213 758/1295/194 764/1299/215 +f 766/1307/214 780/1310/221 774/1319/225 +f 778/1313/222 765/1312/212 773/1320/224 +f 679/1247/186 691/1268/186 692/1248/174 +f 686/1250/175 698/1269/175 699/1251/187 +f 683/1253/178 695/1321/178 696/1254/188 +f 680/1249/174 692/1248/174 693/1256/189 +f 687/1252/187 699/1251/187 700/1258/190 +f 677/1260/177 690/1267/177 689/1261/191 +f 684/1255/188 696/1254/188 697/1263/192 +f 681/1257/189 693/1256/189 694/1265/193 +f 688/1259/190 700/1258/190 690/1267/177 +f 678/1262/191 689/1261/191 691/1268/186 +f 685/1264/192 697/1263/192 698/1269/175 +f 682/1266/193 694/1265/193 695/1270/178 +f 758/1272/194 760/1278/200 752/1273/195 +f 757/1275/197 762/1286/207 754/1276/198 +f 760/1278/200 763/1280/202 755/1279/201 +f 763/1280/202 761/1322/209 753/1281/203 +f 759/1282/204 757/1323/197 749/1283/199 +f 756/1285/206 764/1324/215 758/1272/194 +f 753/1281/203 761/1322/209 759/1282/204 +f 762/1286/207 764/1324/215 756/1285/206 +f 761/1290/209 763/1287/202 771/1289/208 +f 757/1292/197 759/1298/204 767/1293/211 +f 764/1299/215 762/1302/207 770/1300/216 +f 758/1295/194 766/1297/214 768/1301/217 +f 771/1304/208 779/1160/219 777/1242/218 +f 766/1307/214 774/1319/225 776/1308/220 +f 770/1311/216 778/1313/222 780/1310/221 +f 765/1314/212 767/1317/211 775/1315/223 diff --git a/src/main/resources/assets/hbm/models/weapons/python.obj b/src/main/resources/assets/hbm/models/weapons/python.obj deleted file mode 100644 index dc182636a..000000000 --- a/src/main/resources/assets/hbm/models/weapons/python.obj +++ /dev/null @@ -1,3416 +0,0 @@ -# Blender 4.0.1 -# www.blender.org -o Body -v 0.011850 0.155047 -0.051250 -v 0.011850 0.141375 -0.051250 -v 0.011850 0.155047 -0.440000 -v 0.011850 0.141375 -0.440000 -v -0.011587 0.155047 -0.440000 -v -0.011587 0.141375 -0.440000 -v -0.011587 0.155047 -0.051250 -v -0.011587 0.141375 -0.051250 -v 0.011850 0.112134 -0.051250 -v 0.011850 0.098462 -0.051250 -v 0.011850 0.112134 -0.440000 -v 0.011850 0.098462 -0.440000 -v -0.011587 0.112134 -0.440000 -v -0.011587 0.098462 -0.440000 -v -0.011587 0.112134 -0.051250 -v -0.011587 0.098462 -0.051250 -v 0.028418 0.115037 -0.051250 -v 0.011845 0.098464 -0.051250 -v 0.028418 0.115037 -0.440000 -v 0.011845 0.098464 -0.440000 -v 0.018750 0.124704 -0.440000 -v 0.002178 0.108131 -0.440000 -v 0.018750 0.124704 -0.051250 -v 0.002178 0.108131 -0.051250 -v -0.001922 0.145380 -0.051250 -v -0.018495 0.128808 -0.051250 -v -0.001922 0.145380 -0.440000 -v -0.018495 0.128808 -0.440000 -v -0.011589 0.155048 -0.440000 -v -0.028162 0.138475 -0.440000 -v -0.011589 0.155048 -0.051250 -v -0.028162 0.138475 -0.051250 -v -0.014491 0.138475 -0.051250 -v -0.014491 0.115038 -0.051250 -v -0.014491 0.138475 -0.440000 -v -0.014491 0.115038 -0.440000 -v -0.028162 0.138475 -0.440000 -v -0.028162 0.115038 -0.440000 -v -0.028162 0.138475 -0.051250 -v -0.028162 0.115038 -0.051250 -v 0.028422 0.138475 -0.051250 -v 0.028422 0.115038 -0.051250 -v 0.028422 0.138475 -0.440000 -v 0.028422 0.115038 -0.440000 -v 0.014750 0.138475 -0.440000 -v 0.014750 0.115038 -0.440000 -v 0.014750 0.138475 -0.051250 -v 0.014750 0.115038 -0.051250 -v -0.018494 0.124705 -0.051250 -v -0.001921 0.108132 -0.051250 -v -0.018494 0.124705 -0.440000 -v -0.001921 0.108132 -0.440000 -v -0.028162 0.115038 -0.440000 -v -0.011589 0.098465 -0.440000 -v -0.028162 0.115038 -0.051250 -v -0.011589 0.098465 -0.051250 -v 0.011845 0.155046 -0.051250 -v 0.028418 0.138473 -0.051250 -v 0.011845 0.155046 -0.440000 -v 0.028418 0.138473 -0.440000 -v 0.002178 0.145379 -0.440000 -v 0.018751 0.128806 -0.440000 -v 0.002178 0.145379 -0.051250 -v 0.018751 0.128806 -0.051250 -v 0.011850 0.158956 -0.051250 -v 0.011850 0.155050 -0.051250 -v 0.011850 0.158956 -0.440000 -v 0.011850 0.155050 -0.440000 -v -0.011587 0.158956 -0.440000 -v -0.011587 0.155050 -0.440000 -v -0.011587 0.158956 -0.051250 -v -0.011587 0.155050 -0.051250 -v 0.007944 0.164816 -0.051250 -v 0.007944 0.158956 -0.051250 -v 0.007944 0.164816 -0.440000 -v 0.007944 0.158956 -0.440000 -v -0.007681 0.164816 -0.440000 -v -0.007681 0.158956 -0.440000 -v -0.007681 0.164816 -0.051250 -v -0.007681 0.158956 -0.051250 -v 0.007944 0.176531 -0.051250 -v 0.007944 0.172625 -0.051250 -v 0.007944 0.176531 -0.440000 -v 0.007944 0.172625 -0.440000 -v -0.007681 0.176531 -0.440000 -v -0.007681 0.172625 -0.440000 -v -0.007681 0.176531 -0.051250 -v -0.007681 0.172625 -0.051250 -v 0.007944 0.172625 -0.414688 -v 0.007944 0.164813 -0.414688 -v 0.007944 0.172625 -0.440000 -v 0.007944 0.164813 -0.440000 -v -0.007681 0.172625 -0.440000 -v -0.007681 0.164813 -0.440000 -v -0.007681 0.172625 -0.414688 -v -0.007681 0.164813 -0.414688 -v 0.007944 0.172625 -0.290312 -v 0.007944 0.164813 -0.290312 -v 0.007944 0.172625 -0.351562 -v 0.007944 0.164813 -0.351562 -v -0.007681 0.172625 -0.351562 -v -0.007681 0.164813 -0.351562 -v -0.007681 0.172625 -0.290312 -v -0.007681 0.164813 -0.290312 -v 0.007944 0.172625 -0.149375 -v 0.007944 0.164813 -0.149375 -v 0.007944 0.172625 -0.210625 -v 0.007944 0.164813 -0.210625 -v -0.007681 0.172625 -0.210625 -v -0.007681 0.164813 -0.210625 -v -0.007681 0.172625 -0.149375 -v -0.007681 0.164813 -0.149375 -v 0.007944 0.172625 -0.051250 -v 0.007944 0.164813 -0.051250 -v 0.007944 0.172625 -0.077500 -v 0.007944 0.164813 -0.077500 -v -0.007681 0.172625 -0.077500 -v -0.007681 0.164813 -0.077500 -v -0.007681 0.172625 -0.051250 -v -0.007681 0.164813 -0.051250 -v -0.000466 0.179524 -0.051250 -v 0.001029 0.175915 -0.051250 -v -0.000466 0.179524 -0.440000 -v 0.001029 0.175915 -0.440000 -v -0.007684 0.176534 -0.440000 -v -0.007684 0.176534 -0.051250 -v -0.006189 0.172925 -0.440000 -v 0.000722 0.179520 -0.440000 -v -0.000773 0.175911 -0.440000 -v 0.000722 0.179520 -0.051250 -v -0.000773 0.175911 -0.051250 -v 0.007940 0.176530 -0.440000 -v 0.007940 0.176530 -0.051250 -v 0.006445 0.172921 -0.440000 -v 0.002081 0.192156 -0.420312 -v 0.002081 0.172625 -0.420312 -v 0.002081 0.192156 -0.440000 -v 0.002081 0.172625 -0.440000 -v -0.001825 0.192156 -0.440000 -v -0.001825 0.172625 -0.440000 -v -0.001825 0.192156 -0.420312 -v -0.001825 0.172625 -0.420312 -v 0.002081 0.176249 -0.381915 -v 0.002081 0.172640 -0.383409 -v 0.002081 0.192154 -0.420313 -v 0.002081 0.188546 -0.421808 -v -0.001825 0.192154 -0.420313 -v -0.001825 0.188546 -0.421808 -v -0.001825 0.176249 -0.381915 -v -0.001825 0.172640 -0.383409 -v 0.002081 0.181761 -0.405333 -v 0.002081 0.172738 -0.409070 -v 0.002081 0.188547 -0.421717 -v 0.002081 0.179525 -0.425455 -v -0.001825 0.188547 -0.421717 -v -0.001825 0.179525 -0.425455 -v -0.001825 0.181761 -0.405333 -v -0.001825 0.172738 -0.409070 -v 0.002081 0.176832 -0.393425 -v 0.002081 0.173223 -0.394920 -v 0.002081 0.181765 -0.405335 -v 0.002081 0.178156 -0.406830 -v -0.001825 0.181765 -0.405335 -v -0.001825 0.178156 -0.406830 -v -0.001825 0.176832 -0.393425 -v -0.001825 0.173223 -0.394920 -v 0.005987 0.098466 -0.051250 -v 0.005987 0.076981 -0.051250 -v 0.005987 0.098466 -0.440000 -v 0.005987 0.076981 -0.440000 -v -0.005731 0.098466 -0.440000 -v -0.005731 0.076981 -0.440000 -v -0.005731 0.098466 -0.051250 -v -0.005731 0.076981 -0.051250 -v 0.005987 0.091659 -0.051250 -v 0.005987 0.070175 -0.051250 -v 0.005987 0.091659 -0.440000 -v 0.005987 0.070175 -0.440000 -v -0.005731 0.091659 -0.440000 -v -0.005731 0.070175 -0.440000 -v -0.005731 0.091659 -0.051250 -v -0.005731 0.070175 -0.051250 -v 0.009460 0.085364 -0.051250 -v -0.005731 0.070173 -0.051250 -v 0.009460 0.085364 -0.440000 -v -0.005731 0.070173 -0.440000 -v 0.001174 0.093651 -0.440000 -v -0.014018 0.078459 -0.440000 -v 0.001174 0.093651 -0.051250 -v -0.014018 0.078459 -0.051250 -v -0.014019 0.090181 -0.440000 -v -0.014019 0.078463 -0.440000 -v -0.014019 0.090181 -0.051250 -v -0.014019 0.078462 -0.051250 -v 0.007466 0.090181 -0.440000 -v 0.007466 0.090181 -0.051250 -v 0.007466 0.078462 -0.051250 -v 0.007466 0.078463 -0.440000 -v -0.005728 0.098464 -0.440000 -v -0.014014 0.090178 -0.440000 -v -0.005728 0.098464 -0.051250 -v -0.014014 0.090178 -0.051250 -v 0.003940 0.088797 -0.440000 -v -0.004347 0.080511 -0.440000 -v 0.014272 0.090181 -0.051250 -v 0.014272 0.078462 -0.051250 -v 0.014272 0.090181 -0.440000 -v 0.014272 0.078463 -0.440000 -v 0.000600 0.090181 -0.440000 -v 0.000600 0.090181 -0.051250 -v 0.000600 0.078462 -0.051250 -v 0.000600 0.078463 -0.440000 -v 0.014273 0.078460 -0.051250 -v 0.005986 0.070174 -0.051250 -v 0.014273 0.078460 -0.440000 -v 0.005986 0.070174 -0.440000 -v -0.000919 0.093652 -0.440000 -v -0.009205 0.085366 -0.440000 -v -0.000919 0.093652 -0.051250 -v -0.009205 0.085366 -0.051250 -v 0.005988 0.098469 -0.440000 -v 0.005988 0.098469 -0.051250 -v 0.014275 0.090182 -0.440000 -v 0.014275 0.090182 -0.051250 -v 0.004607 0.080515 -0.440000 -v -0.003679 0.088801 -0.440000 -v 0.006399 0.101503 -0.001453 -v 0.006399 0.075506 -0.001453 -v 0.006399 0.101503 -0.053481 -v 0.006399 0.075506 -0.053481 -v -0.007781 0.101503 -0.053481 -v -0.007781 0.075506 -0.053481 -v -0.007781 0.101503 -0.001453 -v -0.007781 0.075506 -0.001453 -v -0.003987 0.095681 -0.053481 -v -0.022370 0.077298 -0.053481 -v -0.003987 0.095681 -0.001453 -v -0.022370 0.077298 -0.001453 -v -0.012343 0.067272 -0.001453 -v -0.012343 0.067272 -0.053481 -v 0.006040 0.085654 -0.001453 -v 0.006040 0.085654 -0.053481 -v -0.022369 0.091479 -0.053481 -v -0.022369 0.077300 -0.053481 -v -0.022369 0.091479 -0.001453 -v -0.022369 0.077300 -0.001453 -v 0.008997 0.091479 -0.053481 -v 0.008997 0.091479 -0.001453 -v 0.008997 0.077300 -0.001453 -v 0.008997 0.077300 -0.053481 -v -0.010062 0.103781 -0.053481 -v -0.022368 0.091476 -0.053481 -v -0.010062 0.103781 -0.001453 -v -0.022368 0.091476 -0.001453 -v 0.003915 0.089804 -0.053481 -v 0.003915 0.089804 -0.001453 -v -0.008391 0.077499 -0.001453 -v -0.008391 0.077499 -0.053481 -v 0.020984 0.091479 -0.001453 -v 0.020984 0.077300 -0.001453 -v 0.020984 0.091479 -0.053481 -v 0.020984 0.077300 -0.053481 -v 0.000144 0.091479 -0.053481 -v 0.000144 0.091479 -0.001453 -v 0.000144 0.077300 -0.001453 -v 0.000144 0.077300 -0.053481 -v 0.020983 0.077297 -0.001453 -v 0.010957 0.067270 -0.001453 -v 0.020983 0.077297 -0.053481 -v 0.010957 0.067270 -0.053481 -v 0.002602 0.095678 -0.053481 -v 0.002602 0.095678 -0.001453 -v -0.007425 0.085652 -0.001453 -v -0.007425 0.085652 -0.053481 -v 0.008680 0.103782 -0.053481 -v -0.005297 0.089806 -0.053481 -v 0.008680 0.103782 -0.001453 -v -0.005297 0.089806 -0.001453 -v 0.020985 0.091477 -0.053481 -v 0.020985 0.091477 -0.001453 -v 0.007009 0.077500 -0.001453 -v 0.007009 0.077500 -0.053481 -v 0.013800 0.180441 -0.029767 -v 0.013800 0.076925 -0.029767 -v 0.013800 0.180441 -0.053087 -v 0.013800 0.076925 -0.053087 -v -0.013544 0.180441 -0.053087 -v -0.013544 0.076925 -0.053087 -v -0.013544 0.180441 -0.029767 -v -0.013544 0.076925 -0.029767 -v -0.021651 0.123892 -0.001725 -v -0.002758 0.104999 -0.001725 -v -0.021651 0.123892 -0.053025 -v -0.002758 0.104999 -0.053025 -v -0.032671 0.112872 -0.053025 -v -0.013778 0.093979 -0.053025 -v -0.032671 0.112872 -0.001725 -v -0.013778 0.093979 -0.001725 -v 0.031836 0.139594 -0.001725 -v 0.031836 0.112875 -0.001725 -v 0.031836 0.139594 -0.053025 -v 0.031836 0.112875 -0.053025 -v 0.016250 0.139594 -0.053025 -v 0.016250 0.112875 -0.053025 -v 0.016250 0.139594 -0.001725 -v 0.016250 0.112875 -0.001725 -v -0.017083 0.139594 -0.001725 -v -0.017083 0.112875 -0.001725 -v -0.017083 0.139594 -0.053025 -v -0.017083 0.112875 -0.053025 -v -0.032669 0.139594 -0.053025 -v -0.032669 0.112875 -0.053025 -v -0.032669 0.139594 -0.001725 -v -0.032669 0.112875 -0.001725 -v -0.013777 0.158490 -0.053025 -v -0.032670 0.139597 -0.053025 -v -0.013777 0.158490 -0.001725 -v -0.032670 0.139597 -0.001725 -v -0.002756 0.147469 -0.001725 -v -0.021649 0.128576 -0.001725 -v -0.002756 0.147469 -0.053025 -v -0.021649 0.128576 -0.053025 -v 0.031834 0.112870 -0.001725 -v 0.012941 0.093977 -0.001725 -v 0.031834 0.112870 -0.053025 -v 0.012941 0.093977 -0.053025 -v 0.020813 0.123892 -0.053025 -v 0.001920 0.104999 -0.053025 -v 0.020813 0.123892 -0.001725 -v 0.001920 0.104999 -0.001725 -v 0.012939 0.158483 -0.001725 -v 0.031832 0.139590 -0.001725 -v 0.012939 0.158483 -0.053025 -v 0.031832 0.139590 -0.053025 -v 0.001918 0.147463 -0.001725 -v 0.020811 0.128570 -0.001725 -v 0.001918 0.147463 -0.053025 -v 0.020811 0.128570 -0.053025 -v 0.021613 0.180441 0.141136 -v 0.021613 0.162862 0.141136 -v 0.021613 0.180441 -0.029762 -v 0.021613 0.162862 -0.029762 -v -0.021356 0.180441 -0.029762 -v -0.021356 0.162862 -0.029762 -v -0.021356 0.180441 0.141136 -v -0.021356 0.162862 0.141136 -v 0.021613 0.176532 0.172381 -v 0.021613 0.019306 0.172381 -v 0.021613 0.176533 0.141131 -v 0.021613 0.019306 0.141131 -v -0.021356 0.176533 0.141131 -v -0.021356 0.019306 0.141131 -v -0.021356 0.176532 0.172381 -v -0.021356 0.019306 0.172381 -v 0.021613 0.186297 0.141131 -v 0.021613 0.180438 0.141131 -v 0.021613 0.186297 0.074725 -v 0.021613 0.180438 0.074725 -v -0.021356 0.186297 0.074725 -v -0.021356 0.180438 0.074725 -v -0.021356 0.186297 0.141131 -v -0.021356 0.180438 0.141131 -v 0.016925 0.091958 -0.001031 -v 0.016925 0.044888 -0.001031 -v 0.016925 0.091958 -0.053656 -v 0.016925 0.044888 -0.053656 -v -0.017450 0.091958 -0.053656 -v -0.017450 0.044888 -0.053656 -v -0.017450 0.091958 -0.001031 -v -0.017450 0.044888 -0.001031 -v 0.016925 0.063161 -0.009549 -v 0.016925 0.037718 0.000990 -v 0.016925 0.044891 -0.053657 -v 0.016925 0.019448 -0.043118 -v -0.017450 0.044891 -0.053657 -v -0.017450 0.019448 -0.043118 -v -0.017450 0.063161 -0.009549 -v -0.017450 0.037718 0.000990 -v 0.021613 0.164816 -0.001447 -v 0.021613 0.115988 -0.001447 -v 0.021613 0.164816 -0.053087 -v 0.021613 0.115988 -0.053087 -v -0.021356 0.164816 -0.053087 -v -0.021356 0.115988 -0.053087 -v -0.021356 0.164816 -0.001447 -v -0.021356 0.115988 -0.001447 -v 0.016925 0.049913 0.168686 -v 0.016925 0.019444 0.168686 -v 0.016925 0.049913 -0.043119 -v 0.016925 0.019444 -0.043119 -v -0.017450 0.049913 -0.043119 -v -0.017450 0.019444 -0.043119 -v -0.017450 0.049913 0.168686 -v -0.017450 0.019444 0.168686 -v 0.021613 0.176533 0.172384 -v 0.021613 0.120595 0.195555 -v 0.021613 0.170553 0.157949 -v 0.021613 0.114615 0.181119 -v -0.021356 0.170553 0.157949 -v -0.021356 0.114615 0.181119 -v -0.021356 0.176533 0.172384 -v -0.021356 0.120595 0.195555 -v 0.021613 0.142792 0.175432 -v 0.021613 0.111027 0.207196 -v 0.021613 0.115170 0.147810 -v 0.021613 0.083406 0.179575 -v -0.021356 0.115170 0.147810 -v -0.021356 0.083406 0.179575 -v -0.021356 0.142792 0.175432 -v -0.021356 0.111027 0.207196 -v 0.021613 0.098256 0.270053 -v 0.021613 0.082631 0.270053 -v 0.021613 0.098256 0.193881 -v 0.021613 0.082631 0.193881 -v -0.021356 0.098256 0.193881 -v -0.021356 0.082631 0.193881 -v -0.021356 0.098256 0.270053 -v -0.021356 0.082631 0.270053 -v 0.021613 0.089286 0.262409 -v 0.021613 -0.004545 0.223543 -v 0.021613 0.121426 0.184818 -v 0.021613 0.027594 0.145952 -v -0.021356 0.121426 0.184818 -v -0.021356 0.027594 0.145952 -v -0.021356 0.089286 0.262409 -v -0.021356 -0.004545 0.223543 -v 0.037237 0.121845 0.156756 -v 0.037237 0.081806 0.156756 -v 0.037237 0.121845 0.141131 -v 0.037237 0.081806 0.141131 -v -0.036981 0.121845 0.141131 -v -0.036981 0.081806 0.141131 -v -0.036981 0.121845 0.156756 -v -0.036981 0.081806 0.156756 -v 0.027470 0.133566 0.156756 -v 0.027470 0.073019 0.156756 -v 0.027470 0.133566 0.141131 -v 0.027470 0.073019 0.141131 -v -0.028194 0.133566 0.141131 -v -0.028194 0.073019 0.141131 -v -0.028194 0.133566 0.156756 -v -0.028194 0.073019 0.156756 -v 0.029425 0.112081 0.195819 -v 0.029425 0.092550 0.195819 -v 0.029425 0.112081 0.141131 -v 0.029425 0.092550 0.141131 -v -0.029169 0.112081 0.141131 -v -0.029169 0.092550 0.141131 -v -0.029169 0.112081 0.195819 -v -0.029169 0.092550 0.195819 -v 0.021613 0.082629 0.270055 -v 0.021613 0.010814 0.198240 -v 0.021613 0.092297 0.260388 -v 0.021613 0.020481 0.188572 -v -0.021356 0.092297 0.260388 -v -0.021356 0.020481 0.188572 -v -0.021356 0.082629 0.270055 -v -0.021356 0.010814 0.198240 -v -0.013544 0.192157 0.172381 -v -0.013544 0.175556 0.172381 -v -0.013544 0.192158 0.141131 -v -0.013544 0.175556 0.141131 -v -0.021356 0.192158 0.141131 -v -0.021356 0.175556 0.141131 -v -0.021356 0.192157 0.172381 -v -0.021356 0.175556 0.172381 -v 0.021616 0.193133 0.172381 -v 0.021616 0.176531 0.172381 -v 0.021616 0.193133 0.141131 -v 0.021616 0.176531 0.141131 -v 0.015756 0.193133 0.141131 -v 0.015756 0.176531 0.141131 -v 0.015756 0.193133 0.172381 -v 0.015756 0.176531 0.172381 -v 0.014975 0.026895 0.058292 -v 0.014975 -0.001256 0.046631 -v 0.014975 0.063103 -0.029124 -v 0.014975 0.034953 -0.040784 -v -0.015494 0.063103 -0.029124 -v -0.015494 0.034953 -0.040784 -v -0.015494 0.026895 0.058292 -v -0.015494 -0.001256 0.046631 -v 0.014975 0.043000 0.047803 -v 0.014975 0.021456 0.069347 -v 0.014975 0.020290 0.025093 -v 0.014975 -0.001254 0.046637 -v -0.007681 0.020290 0.025093 -v -0.007681 -0.001254 0.046637 -v -0.007681 0.043000 0.047803 -v -0.007681 0.021456 0.069347 -v 0.014975 0.015642 0.038890 -v 0.014975 -0.006813 0.048191 -v 0.014975 0.009662 0.024455 -v 0.014975 -0.012793 0.033756 -v -0.015494 0.009662 0.024455 -v -0.015494 -0.012793 0.033756 -v -0.015494 0.015642 0.038890 -v -0.015494 -0.006813 0.048191 -v 0.014975 0.000998 0.048194 -v 0.014975 -0.046744 0.048194 -v 0.014975 0.000998 0.032569 -v 0.014975 -0.046744 0.032569 -v -0.015494 0.000998 0.032569 -v -0.015494 -0.046744 0.032569 -v -0.015494 0.000998 0.048194 -v -0.015494 -0.046744 0.048194 -v 0.014975 -0.063929 0.071851 -v 0.014975 -0.074978 0.060802 -v 0.014975 -0.035695 0.043617 -v 0.014975 -0.046743 0.032568 -v -0.015494 -0.035695 0.043617 -v -0.015494 -0.046743 0.032568 -v -0.015494 -0.063929 0.071851 -v -0.015494 -0.074978 0.060802 -v 0.014975 -0.059350 0.171049 -v 0.014975 -0.074975 0.171049 -v 0.014975 -0.059350 0.060806 -v 0.014975 -0.074975 0.060806 -v -0.015494 -0.059350 0.060806 -v -0.015494 -0.074975 0.060806 -v -0.015494 -0.059350 0.171049 -v -0.015494 -0.074975 0.171049 -v 0.014975 -0.035694 0.188234 -v 0.014975 -0.046742 0.199282 -v 0.014975 -0.063928 0.159999 -v 0.014975 -0.074977 0.171047 -v -0.015494 -0.063928 0.159999 -v -0.015494 -0.074977 0.171047 -v -0.015494 -0.035694 0.188234 -v -0.015494 -0.046742 0.199282 -v 0.014975 0.024436 0.199281 -v 0.014975 -0.046744 0.199281 -v 0.014975 0.024436 0.183656 -v 0.014975 -0.046744 0.183656 -v -0.015494 0.024436 0.183656 -v -0.015494 -0.046744 0.183656 -v -0.015494 0.024436 0.199281 -v -0.015494 -0.046744 0.199281 -v 0.014975 0.032919 0.129575 -v 0.014975 -0.003971 0.144855 -v 0.014975 0.023950 0.107921 -v 0.014975 -0.012940 0.123201 -v -0.015494 0.023950 0.107921 -v -0.015494 -0.012940 0.123201 -v -0.015494 0.032919 0.129575 -v -0.015494 -0.003971 0.144855 -v 0.014975 -0.016612 0.133191 -v 0.014975 -0.028273 0.144852 -v 0.014975 -0.044233 0.105569 -v 0.014975 -0.055895 0.117231 -v -0.015494 -0.044233 0.105569 -v -0.015494 -0.055895 0.117231 -v -0.015494 -0.016612 0.133191 -v -0.015494 -0.028273 0.144852 -v 0.014975 -0.003971 0.144853 -v 0.014975 -0.028275 0.144853 -v 0.014975 -0.003971 0.123369 -v 0.014975 -0.028275 0.123369 -v -0.015494 -0.003971 0.123369 -v -0.015494 -0.028275 0.123369 -v -0.015494 -0.003971 0.144853 -v -0.015494 -0.028275 0.144853 -v 0.009894 0.100022 0.248635 -v 0.009894 0.065737 0.234434 -v 0.009894 0.111980 0.219764 -v 0.009894 0.077696 0.205562 -v -0.009638 0.111980 0.219764 -v -0.009638 0.077696 0.205562 -v -0.009638 0.100022 0.248635 -v -0.009638 0.065737 0.234434 -vn 1.0000 -0.0000 -0.0000 -vn -1.0000 -0.0000 -0.0000 -vn -0.0000 -1.0000 -0.0000 -vn -0.0000 -0.0000 -1.0000 -vn -0.0000 1.0000 -0.0000 -vn 0.7071 -0.7071 -0.0000 -vn -0.7071 0.7071 -0.0000 -vn -0.0000 -0.0000 1.0000 -vn 0.7071 0.7071 -0.0000 -vn -0.7071 -0.7071 -0.0000 -vn 0.9239 0.3827 -0.0000 -vn -0.3827 0.9239 -0.0000 -vn -0.9239 0.3827 -0.0000 -vn 0.3827 0.9239 -0.0000 -vn -0.0000 0.9239 0.3827 -vn 0.7072 0.7071 -0.0000 -vn -0.0000 0.3827 0.9239 -vn -0.0000 -0.3827 -0.9239 -vn -0.0000 -0.9239 0.3827 -vn -0.0000 0.7071 -0.7071 -vn -0.0000 -0.7071 0.7071 -vn -0.0000 0.7071 0.7071 -vn -0.0000 -0.7071 -0.7071 -vn -0.0000 -0.9239 -0.3827 -vn -0.0000 -0.3827 0.9239 -vn -0.0000 0.3827 -0.9239 -vt 0.611563 0.724609 -vt 0.611563 0.697266 -vt 1.000000 0.724609 -vt 1.000000 0.697266 -vt 0.000000 0.724609 -vt 0.000000 0.697266 -vt 0.388437 0.724609 -vt 0.388437 0.697266 -vt 0.480469 0.388437 -vt 0.480469 0.000000 -vt 0.527344 0.388437 -vt 0.527344 0.000000 -vt 0.472656 0.724609 -vt 0.472656 0.697266 -vt 0.519531 0.724609 -vt 0.519531 0.697266 -vt 0.611563 0.638787 -vt 0.611563 0.611443 -vt 1.000000 0.638787 -vt 1.000000 0.611443 -vt 0.000000 0.638787 -vt 0.000000 0.611443 -vt 0.388437 0.638787 -vt 0.388437 0.611443 -vt 0.480469 1.000000 -vt 0.480469 0.611563 -vt 0.527344 1.000000 -vt 0.527344 0.611563 -vt 0.472656 0.638787 -vt 0.472656 0.611443 -vt 0.519531 0.638787 -vt 0.519531 0.611443 -vt 0.611563 0.677653 -vt 0.611563 0.630778 -vt 1.000000 0.677653 -vt 1.000000 0.630778 -vt 0.000000 0.677653 -vt 0.000000 0.630778 -vt 0.388437 0.677653 -vt 0.388437 0.630778 -vt 0.508009 0.677653 -vt 0.508009 0.630778 -vt 0.535353 0.677653 -vt 0.535353 0.630778 -vt 0.464648 0.677653 -vt 0.464648 0.630778 -vt 0.491991 0.677653 -vt 0.491991 0.630778 -vt 0.611563 0.738339 -vt 0.611563 0.691464 -vt 1.000000 0.738339 -vt 1.000000 0.691464 -vt 0.000000 0.738339 -vt 0.000000 0.691464 -vt 0.388437 0.738339 -vt 0.388437 0.691464 -vt 0.447323 0.738339 -vt 0.447323 0.691464 -vt 0.474667 0.738339 -vt 0.474667 0.691464 -vt 0.525333 0.738339 -vt 0.525333 0.691464 -vt 0.552677 0.738339 -vt 0.552677 0.691464 -vt 0.611563 0.691463 -vt 0.611563 0.644588 -vt 1.000000 0.691463 -vt 1.000000 0.644588 -vt 0.000000 0.691463 -vt 0.000000 0.644588 -vt 0.388437 0.691463 -vt 0.388437 0.644588 -vt 0.447322 1.000000 -vt 0.447322 0.611563 -vt 0.474666 1.000000 -vt 0.474666 0.611563 -vt 0.447322 0.388437 -vt 0.447322 0.000000 -vt 0.474666 0.388437 -vt 0.474666 0.000000 -vt 0.447322 0.691463 -vt 0.447322 0.644588 -vt 0.474666 0.691463 -vt 0.474666 0.644588 -vt 0.525334 0.691463 -vt 0.525334 0.644588 -vt 0.552678 0.691463 -vt 0.552678 0.644588 -vt 0.533146 1.000000 -vt 0.533146 0.611563 -vt 0.560490 1.000000 -vt 0.560490 0.611563 -vt 0.533146 0.388437 -vt 0.533146 0.000000 -vt 0.560490 0.388437 -vt 0.560490 0.000000 -vt 0.439510 0.691463 -vt 0.439510 0.644588 -vt 0.466854 0.691463 -vt 0.466854 0.644588 -vt 0.611563 0.658318 -vt 1.000000 0.658318 -vt 0.000000 0.658318 -vt 0.388437 0.658318 -vt 0.480469 0.658318 -vt 0.480469 0.611443 -vt 0.507812 0.658318 -vt 0.507812 0.611443 -vt 0.492188 0.658318 -vt 0.492188 0.611443 -vt 0.519531 0.658318 -vt 0.611563 0.719004 -vt 0.611563 0.672129 -vt 1.000000 0.719004 -vt 1.000000 0.672129 -vt 0.000000 0.719004 -vt 0.000000 0.672129 -vt 0.388437 0.719004 -vt 0.388437 0.672129 -vt 0.541154 0.719004 -vt 0.541154 0.672129 -vt 0.568498 0.719004 -vt 0.568498 0.672129 -vt 0.431502 0.719004 -vt 0.431502 0.672129 -vt 0.458846 0.719004 -vt 0.458846 0.672129 -vt 0.611563 0.732422 -vt 1.000000 0.732422 -vt 0.000000 0.732422 -vt 0.388437 0.732422 -vt 0.472656 0.732422 -vt 0.519531 0.732422 -vt 0.611563 0.744141 -vt 1.000000 0.744141 -vt 0.000000 0.744141 -vt 0.388437 0.744141 -vt 0.488281 1.000000 -vt 0.488281 0.611563 -vt 0.519531 1.000000 -vt 0.519531 0.611563 -vt 0.480469 0.744141 -vt 0.480469 0.732422 -vt 0.511719 0.744141 -vt 0.511719 0.732422 -vt 0.611563 0.767578 -vt 0.611563 0.759766 -vt 1.000000 0.767578 -vt 1.000000 0.759766 -vt 0.000000 0.767578 -vt 0.000000 0.759766 -vt 0.388437 0.767578 -vt 0.388437 0.759766 -vt 0.488281 0.388437 -vt 0.488281 0.000000 -vt 0.519531 0.388437 -vt 0.519531 0.000000 -vt 0.480469 0.767578 -vt 0.480469 0.759766 -vt 0.511719 0.767578 -vt 0.511719 0.759766 -vt 0.338438 0.759766 -vt 0.338438 0.744141 -vt 0.389062 0.759766 -vt 0.389062 0.744141 -vt 0.610937 0.759766 -vt 0.610937 0.744141 -vt 0.661563 0.759766 -vt 0.661563 0.744141 -vt 0.488281 0.759766 -vt 0.488281 0.744141 -vt 0.519531 0.759766 -vt 0.519531 0.744141 -vt 0.089688 0.759766 -vt 0.089688 0.744141 -vt 0.212187 0.759766 -vt 0.212187 0.744141 -vt 0.787812 0.759766 -vt 0.787812 0.744141 -vt 0.910312 0.759766 -vt 0.910312 0.744141 -vt 0.807813 0.759766 -vt 0.807813 0.744141 -vt 0.930313 0.759766 -vt 0.930313 0.744141 -vt 0.069688 0.759766 -vt 0.069688 0.744141 -vt 0.192188 0.759766 -vt 0.192188 0.744141 -vt 0.611562 0.759766 -vt 0.611562 0.744141 -vt 0.664062 0.759766 -vt 0.664062 0.744141 -vt 0.335938 0.759766 -vt 0.335938 0.744141 -vt 0.388438 0.759766 -vt 0.388438 0.744141 -vt 0.611563 0.768173 -vt 0.611563 0.760360 -vt 1.000000 0.768173 -vt 1.000000 0.760360 -vt 0.491271 1.000000 -vt 0.491271 0.611563 -vt 0.506896 1.000000 -vt 0.506896 0.611563 -vt 0.493104 0.768173 -vt 0.493104 0.760360 -vt 0.508729 0.768173 -vt 0.508729 0.760360 -vt 0.000000 0.774152 -vt 0.000000 0.766339 -vt 0.388437 0.774152 -vt 0.388437 0.766339 -vt 0.502106 1.000000 -vt 0.502106 0.611563 -vt 0.517731 1.000000 -vt 0.517731 0.611563 -vt 0.482269 0.774152 -vt 0.482269 0.766339 -vt 0.497894 0.774152 -vt 0.497894 0.766339 -vt 0.349688 0.798828 -vt 0.349688 0.759766 -vt 0.389062 0.798828 -vt 0.610937 0.798828 -vt 0.650312 0.798828 -vt 0.650312 0.759766 -vt 0.500000 0.389062 -vt 0.500000 0.349687 -vt 0.507812 0.389062 -vt 0.507812 0.349687 -vt 0.492188 0.798828 -vt 0.492188 0.759766 -vt 0.500000 0.798828 -vt 0.500000 0.759766 -vt 0.269553 0.799423 -vt 0.269553 0.791610 -vt 0.352678 0.799423 -vt 0.352678 0.791610 -vt 0.647322 0.799423 -vt 0.647322 0.791610 -vt 0.730447 0.799423 -vt 0.730447 0.791610 -vt 0.500000 0.352677 -vt 0.500000 0.269552 -vt 0.507812 0.352677 -vt 0.507812 0.269552 -vt 0.324503 0.793097 -vt 0.324503 0.773566 -vt 0.359972 0.793097 -vt 0.359972 0.773566 -vt 0.640028 0.793097 -vt 0.640028 0.773566 -vt 0.675497 0.793097 -vt 0.675497 0.773566 -vt 0.296937 0.778632 -vt 0.296937 0.770819 -vt 0.322718 0.778632 -vt 0.322718 0.770819 -vt 0.677282 0.778632 -vt 0.677282 0.770819 -vt 0.703063 0.778632 -vt 0.703063 0.770819 -vt 0.611563 0.568474 -vt 1.000000 0.568474 -vt 0.000000 0.568474 -vt 0.388437 0.568474 -vt 0.484375 0.611443 -vt 0.484375 0.568474 -vt 0.507812 0.568474 -vt 0.611563 0.597828 -vt 0.611563 0.554859 -vt 1.000000 0.597828 -vt 1.000000 0.554859 -vt 0.000000 0.597828 -vt 0.000000 0.554859 -vt 0.388437 0.597828 -vt 0.388437 0.554859 -vt 0.492188 0.388437 -vt 0.492188 0.000000 -vt 0.515625 0.388437 -vt 0.515625 0.000000 -vt 0.484375 0.597828 -vt 0.484375 0.554859 -vt 0.507812 0.597828 -vt 0.507812 0.554859 -vt 0.611563 0.614402 -vt 0.611563 0.571433 -vt 1.000000 0.614402 -vt 1.000000 0.571433 -vt 0.000000 0.614402 -vt 0.000000 0.571433 -vt 0.388437 0.614402 -vt 0.388437 0.571433 -vt 0.475615 1.000000 -vt 0.475615 0.611563 -vt 0.499052 1.000000 -vt 0.499052 0.611563 -vt 0.475615 0.388437 -vt 0.475615 0.000000 -vt 0.499052 0.388437 -vt 0.499052 0.000000 -vt 0.475615 0.614402 -vt 0.475615 0.571433 -vt 0.499052 0.614402 -vt 0.499052 0.571433 -vt 0.500948 0.614402 -vt 0.500948 0.571433 -vt 0.524385 0.614402 -vt 0.524385 0.571433 -vt 0.000000 0.594871 -vt 0.388437 0.594871 -vt 0.518584 1.000000 -vt 0.518584 0.611563 -vt 0.518584 0.388437 -vt 0.518584 0.000000 -vt 0.481416 0.594871 -vt 0.481416 0.571433 -vt 0.524385 0.594871 -vt 0.000000 0.618308 -vt 0.388437 0.618308 -vt 0.497042 0.618308 -vt 0.497042 0.594871 -vt 0.524386 0.618308 -vt 0.524386 0.594871 -vt 0.611563 0.594871 -vt 1.000000 0.594871 -vt 0.504854 1.000000 -vt 0.504854 0.611563 -vt 0.532197 1.000000 -vt 0.532197 0.611563 -vt 0.504854 0.388437 -vt 0.504854 0.000000 -vt 0.532197 0.388437 -vt 0.532197 0.000000 -vt 0.467802 0.594871 -vt 0.467802 0.571433 -vt 0.495146 0.594871 -vt 0.495146 0.571433 -vt 0.611563 0.608682 -vt 0.611563 0.585244 -vt 1.000000 0.608682 -vt 1.000000 0.585244 -vt 0.000000 0.608682 -vt 0.000000 0.585244 -vt 0.388437 0.608682 -vt 0.388437 0.585244 -vt 0.485241 1.000000 -vt 0.485241 0.611563 -vt 0.528210 1.000000 -vt 0.528210 0.611563 -vt 0.485241 0.388437 -vt 0.485241 0.000000 -vt 0.528210 0.388437 -vt 0.528210 0.000000 -vt 0.485241 0.608682 -vt 0.485241 0.585244 -vt 0.528210 0.608682 -vt 0.528210 0.585244 -vt 0.471790 0.608682 -vt 0.471790 0.585244 -vt 0.514759 0.608682 -vt 0.514759 0.585244 -vt 0.496290 1.000000 -vt 0.496290 0.611563 -vt 0.519728 1.000000 -vt 0.519728 0.611563 -vt 0.480272 0.619452 -vt 0.480272 0.592108 -vt 0.503710 0.619452 -vt 0.503710 0.592108 -vt 0.511971 0.617522 -vt 0.511971 0.565529 -vt 0.616027 0.617522 -vt 0.616027 0.565529 -vt 0.383972 0.617522 -vt 0.383972 0.565529 -vt 0.488029 0.617522 -vt 0.488029 0.565529 -vt 0.488086 0.616027 -vt 0.488086 0.511971 -vt 0.516446 0.616027 -vt 0.516446 0.511971 -vt 0.488086 0.617522 -vt 0.488086 0.565529 -vt 0.516446 0.617522 -vt 0.516446 0.565529 -vt 0.383972 0.621104 -vt 0.383972 0.569110 -vt 0.488029 0.621104 -vt 0.488029 0.569110 -vt 0.458916 0.488029 -vt 0.458916 0.383972 -vt 0.487276 0.488029 -vt 0.487276 0.383972 -vt 0.458916 0.621104 -vt 0.458916 0.569110 -vt 0.487276 0.621104 -vt 0.487276 0.569110 -vt 0.512724 0.621104 -vt 0.512724 0.569110 -vt 0.541084 0.621104 -vt 0.541084 0.569110 -vt 0.383972 0.597469 -vt 0.383972 0.569111 -vt 0.488029 0.597469 -vt 0.488029 0.569111 -vt 0.458917 0.616027 -vt 0.458917 0.511971 -vt 0.521650 0.616027 -vt 0.521650 0.511971 -vt 0.458917 0.488029 -vt 0.458917 0.383972 -vt 0.521650 0.488029 -vt 0.521650 0.383972 -vt 0.458917 0.597469 -vt 0.458917 0.569111 -vt 0.521650 0.597469 -vt 0.521650 0.569111 -vt 0.478350 0.597469 -vt 0.478350 0.569111 -vt 0.541083 0.597469 -vt 0.541083 0.569111 -vt 0.383972 0.632275 -vt 0.383972 0.597470 -vt 0.488029 0.632275 -vt 0.488029 0.597470 -vt 0.498449 0.616027 -vt 0.498449 0.511971 -vt 0.458917 0.632275 -vt 0.458917 0.597470 -vt 0.498449 0.632275 -vt 0.498449 0.597470 -vt 0.501551 0.632275 -vt 0.501551 0.597470 -vt 0.541083 0.632275 -vt 0.541083 0.597470 -vt 0.511971 0.597468 -vt 0.511971 0.569109 -vt 0.616027 0.597468 -vt 0.616027 0.569109 -vt 0.503934 0.616027 -vt 0.503934 0.511971 -vt 0.545614 0.616027 -vt 0.545614 0.511971 -vt 0.503934 0.488029 -vt 0.503934 0.383972 -vt 0.545614 0.488029 -vt 0.545614 0.383972 -vt 0.503934 0.597468 -vt 0.503934 0.569109 -vt 0.545614 0.597468 -vt 0.545614 0.569109 -vt 0.454386 0.597468 -vt 0.454386 0.569109 -vt 0.496066 0.597468 -vt 0.496066 0.569109 -vt 0.511971 0.614180 -vt 0.511971 0.585820 -vt 0.616027 0.614180 -vt 0.616027 0.585820 -vt 0.488796 0.616027 -vt 0.488796 0.511971 -vt 0.540788 0.616027 -vt 0.540788 0.511971 -vt 0.488796 0.614180 -vt 0.488796 0.585820 -vt 0.540788 0.614180 -vt 0.540788 0.585820 -vt 0.459212 0.614180 -vt 0.459212 0.585820 -vt 0.511204 0.614180 -vt 0.511204 0.585820 -vt 0.383972 0.633658 -vt 0.383972 0.594127 -vt 0.488029 0.633658 -vt 0.488029 0.594127 -vt 0.493050 0.616027 -vt 0.493050 0.511971 -vt 0.527855 0.616027 -vt 0.527855 0.511971 -vt 0.493050 0.633658 -vt 0.493050 0.594127 -vt 0.527855 0.633658 -vt 0.527855 0.594127 -vt 0.472145 0.633658 -vt 0.472145 0.594127 -vt 0.506950 0.633658 -vt 0.506950 0.594127 -vt 0.568593 0.775391 -vt 0.568593 0.568359 -vt 0.615234 0.775391 -vt 0.615234 0.568359 -vt 0.384766 0.775391 -vt 0.384766 0.568359 -vt 0.431407 0.775391 -vt 0.431407 0.568359 -vt 0.476562 0.615234 -vt 0.476562 0.568593 -vt 0.531250 0.615234 -vt 0.531250 0.568593 -vt 0.476562 0.775391 -vt 0.476562 0.568359 -vt 0.531250 0.775391 -vt 0.531250 0.568359 -vt 0.468750 0.775391 -vt 0.468750 0.568359 -vt 0.523438 0.775391 -vt 0.523438 0.568359 -vt 0.512513 0.655912 -vt 0.512513 0.602475 -vt 0.615113 0.655912 -vt 0.615113 0.602475 -vt 0.384887 0.655912 -vt 0.384887 0.602475 -vt 0.487487 0.655912 -vt 0.487487 0.602475 -vt 0.476094 0.487487 -vt 0.476094 0.384887 -vt 0.507265 0.487487 -vt 0.507265 0.384887 -vt 0.476094 0.655912 -vt 0.476094 0.602475 -vt 0.507265 0.655912 -vt 0.507265 0.602475 -vt 0.492735 0.655912 -vt 0.492735 0.602475 -vt 0.523906 0.655912 -vt 0.523906 0.602475 -vt 0.512513 0.693698 -vt 0.512513 0.640261 -vt 0.615113 0.693698 -vt 0.615113 0.640261 -vt 0.384887 0.693698 -vt 0.384887 0.640261 -vt 0.487487 0.693698 -vt 0.487487 0.640261 -vt 0.536146 0.615113 -vt 0.536146 0.512513 -vt 0.567317 0.615113 -vt 0.567317 0.512513 -vt 0.536146 0.487487 -vt 0.536146 0.384887 -vt 0.567317 0.487487 -vt 0.567317 0.384887 -vt 0.536146 0.693698 -vt 0.536146 0.640261 -vt 0.567317 0.693698 -vt 0.567317 0.640261 -vt 0.432683 0.693698 -vt 0.432683 0.640261 -vt 0.463854 0.693698 -vt 0.463854 0.640261 -vt 0.438307 0.615113 -vt 0.438307 0.512513 -vt 0.469479 0.615113 -vt 0.469479 0.512513 -vt 0.438307 0.487487 -vt 0.438307 0.384887 -vt 0.469479 0.487487 -vt 0.469479 0.384887 -vt 0.438307 0.693698 -vt 0.438307 0.640261 -vt 0.469479 0.693698 -vt 0.469479 0.640261 -vt 0.530521 0.693698 -vt 0.530521 0.640261 -vt 0.561692 0.693698 -vt 0.561692 0.640261 -vt 0.384887 0.747137 -vt 0.384887 0.693699 -vt 0.487487 0.747137 -vt 0.487487 0.693699 -vt 0.438308 0.747137 -vt 0.438308 0.693699 -vt 0.469479 0.747137 -vt 0.469479 0.693699 -vt 0.530521 0.747137 -vt 0.530521 0.693699 -vt 0.561692 0.747137 -vt 0.561692 0.693699 -vt 0.512513 0.677954 -vt 0.512513 0.624516 -vt 0.615113 0.677954 -vt 0.615113 0.624516 -vt 0.384887 0.677954 -vt 0.384887 0.624516 -vt 0.487487 0.677954 -vt 0.487487 0.624516 -vt 0.507489 0.487487 -vt 0.507489 0.384887 -vt 0.538662 0.487487 -vt 0.538662 0.384887 -vt 0.507489 0.677954 -vt 0.507489 0.624516 -vt 0.538662 0.677954 -vt 0.538662 0.624516 -vt 0.461338 0.677954 -vt 0.461338 0.624516 -vt 0.492511 0.677954 -vt 0.492511 0.624516 -vt 0.512513 0.725094 -vt 0.512513 0.671657 -vt 0.615113 0.725094 -vt 0.615113 0.671657 -vt 0.545276 0.725094 -vt 0.545276 0.671657 -vt 0.576447 0.725094 -vt 0.576447 0.671657 -vt 0.423553 0.725094 -vt 0.423553 0.671657 -vt 0.454724 0.725094 -vt 0.454724 0.671657 -vt 0.226796 0.775391 -vt 0.226796 0.740234 -vt 0.568593 0.740234 -vt 0.431407 0.740234 -vt 0.773204 0.775391 -vt 0.773204 0.740234 -vt 0.460938 0.568593 -vt 0.460938 0.226796 -vt 0.546875 0.568593 -vt 0.546875 0.226796 -vt 0.460938 0.773204 -vt 0.460938 0.431407 -vt 0.546875 0.773204 -vt 0.546875 0.431407 -vt 0.460938 0.775391 -vt 0.460938 0.740234 -vt 0.546875 0.775391 -vt 0.546875 0.740234 -vt 0.453125 0.775391 -vt 0.453125 0.740234 -vt 0.539062 0.775391 -vt 0.539062 0.740234 -vt 0.164296 0.767578 -vt 0.164296 0.453126 -vt 0.226796 0.767578 -vt 0.226796 0.453126 -vt 0.773204 0.767578 -vt 0.773204 0.453126 -vt 0.835704 0.767578 -vt 0.835704 0.453126 -vt 0.460938 0.164296 -vt 0.546875 0.164296 -vt 0.460938 0.835704 -vt 0.546875 0.835704 -vt 0.460938 0.767578 -vt 0.460938 0.453126 -vt 0.546875 0.767578 -vt 0.546875 0.453126 -vt 0.453125 0.767578 -vt 0.453125 0.453126 -vt 0.539062 0.767578 -vt 0.539062 0.453126 -vt 0.226796 0.787109 -vt 0.359609 0.787109 -vt 0.359609 0.775391 -vt 0.640391 0.787109 -vt 0.640391 0.775391 -vt 0.773204 0.787109 -vt 0.460938 0.359609 -vt 0.546875 0.359609 -vt 0.460938 0.787109 -vt 0.546875 0.787109 -vt 0.453125 0.787109 -vt 0.539062 0.787109 -vt 0.511125 0.598432 -vt 0.511125 0.504291 -vt 0.616375 0.598432 -vt 0.616375 0.504291 -vt 0.383625 0.598432 -vt 0.383625 0.504291 -vt 0.488875 0.598432 -vt 0.488875 0.504291 -vt 0.468751 0.616375 -vt 0.468751 0.511125 -vt 0.537501 0.616375 -vt 0.537501 0.511125 -vt 0.468751 0.488875 -vt 0.468751 0.383625 -vt 0.537501 0.488875 -vt 0.537501 0.383625 -vt 0.468751 0.598432 -vt 0.468751 0.504291 -vt 0.537501 0.598432 -vt 0.537501 0.504291 -vt 0.462499 0.598432 -vt 0.462499 0.504291 -vt 0.531249 0.598432 -vt 0.531249 0.504291 -vt 0.499813 0.508483 -vt 0.499813 0.453404 -vt 0.595297 0.508483 -vt 0.595297 0.453404 -vt 0.404703 0.508483 -vt 0.404703 0.453404 -vt 0.500187 0.508483 -vt 0.500187 0.453404 -vt 0.468751 0.508483 -vt 0.468751 0.453404 -vt 0.537501 0.508483 -vt 0.537501 0.453404 -vt 0.462499 0.508483 -vt 0.462499 0.453404 -vt 0.531249 0.508483 -vt 0.531249 0.453404 -vt 0.511953 0.744141 -vt 0.511953 0.646484 -vt 0.615234 0.744141 -vt 0.615234 0.646484 -vt 0.384766 0.744141 -vt 0.384766 0.646484 -vt 0.488047 0.744141 -vt 0.488047 0.646484 -vt 0.460938 0.615234 -vt 0.460938 0.511953 -vt 0.546875 0.615234 -vt 0.546875 0.511953 -vt 0.460938 0.488048 -vt 0.460938 0.384766 -vt 0.546875 0.488048 -vt 0.546875 0.384766 -vt 0.460938 0.744141 -vt 0.460938 0.646484 -vt 0.546875 0.744141 -vt 0.546875 0.646484 -vt 0.453125 0.744141 -vt 0.453125 0.646484 -vt 0.539062 0.744141 -vt 0.539062 0.646484 -vt 0.171687 0.514343 -vt 0.171687 0.453404 -vt 0.595297 0.514343 -vt 0.404703 0.514343 -vt 0.828313 0.514343 -vt 0.828313 0.453404 -vt 0.468751 0.595297 -vt 0.468751 0.171687 -vt 0.537501 0.595297 -vt 0.537501 0.171687 -vt 0.468751 0.828313 -vt 0.468751 0.404703 -vt 0.537501 0.828313 -vt 0.537501 0.404703 -vt 0.462499 0.514343 -vt 0.531249 0.514343 -vt 0.115577 0.764836 -vt 0.115577 0.643743 -vt 0.146827 0.764836 -vt 0.146827 0.643743 -vt 0.853173 0.764836 -vt 0.853173 0.643743 -vt 0.884423 0.764836 -vt 0.884423 0.643743 -vt 0.460938 0.884423 -vt 0.460938 0.853173 -vt 0.546875 0.884423 -vt 0.546875 0.853173 -vt 0.460938 0.764836 -vt 0.460938 0.643743 -vt 0.546875 0.764836 -vt 0.546875 0.643743 -vt 0.453125 0.764836 -vt 0.453125 0.643743 -vt 0.539062 0.764836 -vt 0.539062 0.643743 -vt 0.071790 0.671166 -vt 0.071790 0.581323 -vt 0.149915 0.671166 -vt 0.149915 0.581323 -vt 0.850086 0.671166 -vt 0.850086 0.581323 -vt 0.928211 0.671166 -vt 0.928211 0.581323 -vt 0.460938 0.149914 -vt 0.460938 0.071789 -vt 0.546875 0.149914 -vt 0.546875 0.071789 -vt 0.460938 0.928210 -vt 0.460938 0.850085 -vt 0.546875 0.928210 -vt 0.546875 0.850085 -vt 0.460938 0.671166 -vt 0.460938 0.581323 -vt 0.546875 0.671166 -vt 0.546875 0.581323 -vt 0.453125 0.671166 -vt 0.453125 0.581323 -vt 0.539062 0.671166 -vt 0.539062 0.581323 -vt 0.000000 0.611028 -vt 0.000000 0.579778 -vt 0.121299 0.611028 -vt 0.121299 0.579778 -vt 0.878701 0.611028 -vt 0.878701 0.579778 -vt 1.000000 0.611028 -vt 1.000000 0.579778 -vt 0.460938 0.121299 -vt 0.460938 0.000000 -vt 0.546875 0.121299 -vt 0.546875 0.000000 -vt 0.460938 1.000000 -vt 0.460938 0.878701 -vt 0.546875 1.000000 -vt 0.546875 0.878701 -vt 0.453125 0.611028 -vt 0.453125 0.579778 -vt 0.539062 0.611028 -vt 0.539062 0.579778 -vt 0.049189 0.672830 -vt 0.049189 0.469705 -vt 0.217158 0.672830 -vt 0.217158 0.469705 -vt 0.782843 0.672830 -vt 0.782843 0.469705 -vt 0.950811 0.672830 -vt 0.950811 0.469705 -vt 0.460938 0.217157 -vt 0.460938 0.049189 -vt 0.546875 0.217157 -vt 0.546875 0.049189 -vt 0.460938 0.950811 -vt 0.460938 0.782842 -vt 0.546875 0.950811 -vt 0.546875 0.782842 -vt 0.460938 0.672830 -vt 0.460938 0.469705 -vt 0.546875 0.672830 -vt 0.546875 0.469705 -vt 0.453125 0.672830 -vt 0.453125 0.469705 -vt 0.539062 0.672830 -vt 0.539062 0.469705 -vt 0.195546 0.658203 -vt 0.195546 0.578126 -vt 0.226796 0.658203 -vt 0.226796 0.578126 -vt 0.773204 0.658203 -vt 0.773204 0.578126 -vt 0.804454 0.658203 -vt 0.804454 0.578126 -vt 0.429688 0.226796 -vt 0.429688 0.195546 -vt 0.578125 0.226796 -vt 0.578125 0.195546 -vt 0.429688 0.804454 -vt 0.429688 0.773204 -vt 0.578125 0.804454 -vt 0.578125 0.773204 -vt 0.429688 0.658203 -vt 0.429688 0.578126 -vt 0.578125 0.658203 -vt 0.578125 0.578126 -vt 0.421875 0.658203 -vt 0.421875 0.578126 -vt 0.570312 0.658203 -vt 0.570312 0.578126 -vt 0.195546 0.681641 -vt 0.195546 0.560547 -vt 0.226796 0.681641 -vt 0.226796 0.560547 -vt 0.773204 0.681641 -vt 0.773204 0.560547 -vt 0.804454 0.681641 -vt 0.804454 0.560547 -vt 0.447266 0.226796 -vt 0.447266 0.195546 -vt 0.558594 0.226796 -vt 0.558594 0.195546 -vt 0.447266 0.804454 -vt 0.447266 0.773204 -vt 0.558594 0.804454 -vt 0.558594 0.773204 -vt 0.447266 0.681641 -vt 0.447266 0.560547 -vt 0.558594 0.681641 -vt 0.558594 0.560547 -vt 0.441406 0.681641 -vt 0.441406 0.560547 -vt 0.552734 0.681641 -vt 0.552734 0.560547 -vt 0.117421 0.638672 -vt 0.117421 0.599609 -vt 0.226796 0.638672 -vt 0.226796 0.599609 -vt 0.773204 0.638672 -vt 0.773204 0.599609 -vt 0.882579 0.638672 -vt 0.882579 0.599609 -vt 0.445312 0.226796 -vt 0.445312 0.117421 -vt 0.562500 0.226796 -vt 0.562500 0.117421 -vt 0.445312 0.882579 -vt 0.445312 0.773204 -vt 0.562500 0.882579 -vt 0.562500 0.773204 -vt 0.445312 0.638672 -vt 0.445312 0.599609 -vt 0.562500 0.638672 -vt 0.562500 0.599609 -vt 0.104578 0.658606 -vt 0.104578 0.455481 -vt 0.131921 0.658606 -vt 0.131921 0.455481 -vt 0.868079 0.658606 -vt 0.868079 0.455481 -vt 0.895423 0.658606 -vt 0.895423 0.455481 -vt 0.460938 0.895422 -vt 0.460938 0.868079 -vt 0.546875 0.895422 -vt 0.546875 0.868079 -vt 0.460938 0.658606 -vt 0.460938 0.455481 -vt 0.546875 0.658606 -vt 0.546875 0.455481 -vt 0.453125 0.658606 -vt 0.453125 0.455481 -vt 0.539062 0.658606 -vt 0.539062 0.455481 -vt 0.164296 0.798828 -vt 0.164296 0.765626 -vt 0.226796 0.798828 -vt 0.226796 0.765626 -vt 0.773204 0.798828 -vt 0.773204 0.765626 -vt 0.835704 0.798828 -vt 0.835704 0.765626 -vt 0.476562 0.226796 -vt 0.476562 0.164296 -vt 0.460938 0.798828 -vt 0.460938 0.765626 -vt 0.476562 0.798828 -vt 0.476562 0.765626 -vt 0.523438 0.798828 -vt 0.523438 0.765626 -vt 0.539062 0.798828 -vt 0.539062 0.765626 -vt 0.164296 0.800782 -vt 0.226796 0.800782 -vt 0.773204 0.800782 -vt 0.835704 0.800782 -vt 0.535156 0.226796 -vt 0.535156 0.164296 -vt 0.535156 0.800782 -vt 0.535156 0.767578 -vt 0.546875 0.800782 -vt 0.453125 0.800782 -vt 0.464844 0.800782 -vt 0.464844 0.767578 -vt 0.401391 0.545360 -vt 0.401391 0.484422 -vt 0.590626 0.545360 -vt 0.590626 0.484422 -vt 0.409374 0.545360 -vt 0.409374 0.484422 -vt 0.598609 0.545360 -vt 0.598609 0.484422 -vt 0.472658 0.590626 -vt 0.472658 0.401391 -vt 0.533595 0.590626 -vt 0.533595 0.401391 -vt 0.472658 0.598609 -vt 0.472658 0.409374 -vt 0.533595 0.598609 -vt 0.533595 0.409374 -vt 0.472658 0.545360 -vt 0.472658 0.484422 -vt 0.533595 0.545360 -vt 0.533595 0.484422 -vt 0.351562 0.472943 -vt 0.351562 0.412006 -vt 0.415796 0.472943 -vt 0.415796 0.412006 -vt 0.584204 0.472943 -vt 0.584204 0.412006 -vt 0.648438 0.472943 -vt 0.648438 0.412006 -vt 0.488283 0.648438 -vt 0.488283 0.584204 -vt 0.533595 0.648438 -vt 0.533595 0.584204 -vt 0.410294 0.437538 -vt 0.410294 0.388928 -vt 0.441544 0.437538 -vt 0.441544 0.388928 -vt 0.558456 0.437538 -vt 0.558456 0.388928 -vt 0.589706 0.437538 -vt 0.589706 0.388928 -vt 0.466405 0.437538 -vt 0.466405 0.388928 -vt 0.527342 0.437538 -vt 0.527342 0.388928 -vt 0.412674 0.416512 -vt 0.412674 0.321028 -vt 0.443924 0.416512 -vt 0.443924 0.321028 -vt 0.556076 0.416512 -vt 0.556076 0.321028 -vt 0.587326 0.416512 -vt 0.587326 0.321028 -vt 0.472658 0.416512 -vt 0.472658 0.321028 -vt 0.533595 0.416512 -vt 0.533595 0.321028 -vt 0.466405 0.416512 -vt 0.466405 0.321028 -vt 0.527342 0.416512 -vt 0.527342 0.321028 -vt 0.364065 0.352277 -vt 0.364065 0.321027 -vt 0.443924 0.352277 -vt 0.443924 0.321027 -vt 0.556077 0.352277 -vt 0.556077 0.321027 -vt 0.635935 0.352277 -vt 0.635935 0.321027 -vt 0.472658 0.443924 -vt 0.472658 0.364065 -vt 0.533595 0.443924 -vt 0.533595 0.364065 -vt 0.472658 0.635935 -vt 0.472658 0.556077 -vt 0.533595 0.635935 -vt 0.533595 0.556077 -vt 0.166970 0.295808 -vt 0.166970 0.264558 -vt 0.387455 0.295808 -vt 0.387455 0.264558 -vt 0.612545 0.295808 -vt 0.612545 0.264558 -vt 0.833030 0.295808 -vt 0.833030 0.264558 -vt 0.472658 0.387455 -vt 0.472658 0.166970 -vt 0.533595 0.387455 -vt 0.533595 0.166970 -vt 0.472658 0.833030 -vt 0.472658 0.612545 -vt 0.533595 0.833030 -vt 0.533595 0.612545 -vt 0.087110 0.295808 -vt 0.087110 0.264558 -vt 0.166971 0.295808 -vt 0.166971 0.264558 -vt 0.833029 0.295808 -vt 0.833029 0.264558 -vt 0.912889 0.295808 -vt 0.912889 0.264558 -vt 0.472658 0.166971 -vt 0.472658 0.087111 -vt 0.533595 0.166971 -vt 0.533595 0.087111 -vt 0.472658 0.912890 -vt 0.533595 0.912890 -vt 0.110501 0.463387 -vt 0.110501 0.321028 -vt 0.141751 0.463387 -vt 0.141751 0.321028 -vt 0.858249 0.463387 -vt 0.858249 0.321028 -vt 0.889499 0.463387 -vt 0.889499 0.321028 -vt 0.472658 0.463387 -vt 0.533595 0.463387 -vt 0.466405 0.463387 -vt 0.527342 0.463387 -vt 0.215787 0.468493 -vt 0.215787 0.388634 -vt 0.262662 0.468493 -vt 0.262662 0.388634 -vt 0.737338 0.468493 -vt 0.737338 0.388634 -vt 0.784213 0.468493 -vt 0.784213 0.388634 -vt 0.472658 0.468493 -vt 0.472658 0.388634 -vt 0.533595 0.468493 -vt 0.533595 0.388634 -vt 0.466405 0.468493 -vt 0.466405 0.388634 -vt 0.527342 0.468493 -vt 0.527342 0.388634 -vt 0.196472 0.335704 -vt 0.196472 0.302721 -vt 0.274597 0.335704 -vt 0.274597 0.302721 -vt 0.725403 0.335704 -vt 0.725403 0.302721 -vt 0.803528 0.335704 -vt 0.803528 0.302721 -vt 0.472658 0.274597 -vt 0.472658 0.196472 -vt 0.533595 0.274597 -vt 0.533595 0.196472 -vt 0.472658 0.803528 -vt 0.472658 0.725403 -vt 0.533595 0.803528 -vt 0.533595 0.725403 -vt 0.466405 0.335704 -vt 0.466405 0.302721 -vt 0.527342 0.335704 -vt 0.527342 0.302721 -vt 0.219355 0.406572 -vt 0.219355 0.357963 -vt 0.262324 0.406572 -vt 0.262324 0.357963 -vt 0.737676 0.406572 -vt 0.737676 0.357963 -vt 0.780645 0.406572 -vt 0.780645 0.357963 -vt 0.472658 0.406572 -vt 0.472658 0.357963 -vt 0.533595 0.406572 -vt 0.533595 0.357963 -vt 0.466405 0.406572 -vt 0.466405 0.357963 -vt 0.527342 0.406572 -vt 0.527342 0.357963 -vt 0.035439 0.644131 -vt 0.035439 0.569912 -vt 0.097939 0.644131 -vt 0.097939 0.569912 -vt 0.902061 0.644131 -vt 0.902061 0.569912 -vt 0.964561 0.644131 -vt 0.964561 0.569912 -vt 0.484375 0.097939 -vt 0.484375 0.035439 -vt 0.523438 0.097939 -vt 0.523438 0.035439 -vt 0.484375 0.644131 -vt 0.484375 0.569912 -vt 0.523438 0.644131 -vt 0.523438 0.569912 -vt 0.476562 0.644131 -vt 0.476562 0.569912 -vt 0.515625 0.644131 -vt 0.515625 0.569912 -s 0 -f 1/1/1 2/2/1 3/3/1 -f 2/2/1 4/4/1 3/3/1 -f 5/5/2 6/6/2 7/7/2 -f 6/6/2 8/8/2 7/7/2 -f 8/9/3 6/10/3 2/11/3 -f 6/10/3 4/12/3 2/11/3 -f 3/13/4 4/14/4 5/15/4 -f 4/14/4 6/16/4 5/15/4 -f 9/17/1 10/18/1 11/19/1 -f 10/18/1 12/20/1 11/19/1 -f 13/21/2 14/22/2 15/23/2 -f 14/22/2 16/24/2 15/23/2 -f 13/25/5 15/26/5 11/27/5 -f 15/26/5 9/28/5 11/27/5 -f 16/9/3 14/10/3 10/11/3 -f 14/10/3 12/12/3 10/11/3 -f 11/29/4 12/30/4 13/31/4 -f 12/30/4 14/32/4 13/31/4 -f 17/33/6 18/34/6 19/35/6 -f 18/34/6 20/36/6 19/35/6 -f 21/37/7 22/38/7 23/39/7 -f 22/38/7 24/40/7 23/39/7 -f 23/41/8 24/42/8 17/43/8 -f 24/42/8 18/44/8 17/43/8 -f 19/45/4 20/46/4 21/47/4 -f 20/46/4 22/48/4 21/47/4 -f 25/49/6 26/50/6 27/51/6 -f 26/50/6 28/52/6 27/51/6 -f 29/53/7 30/54/7 31/55/7 -f 30/54/7 32/56/7 31/55/7 -f 31/57/8 32/58/8 25/59/8 -f 32/58/8 26/60/8 25/59/8 -f 27/61/4 28/62/4 29/63/4 -f 28/62/4 30/64/4 29/63/4 -f 33/65/1 34/66/1 35/67/1 -f 34/66/1 36/68/1 35/67/1 -f 37/69/2 38/70/2 39/71/2 -f 38/70/2 40/72/2 39/71/2 -f 37/73/5 39/74/5 35/75/5 -f 39/74/5 33/76/5 35/75/5 -f 40/77/3 38/78/3 34/79/3 -f 38/78/3 36/80/3 34/79/3 -f 39/81/8 40/82/8 33/83/8 -f 40/82/8 34/84/8 33/83/8 -f 35/85/4 36/86/4 37/87/4 -f 36/86/4 38/88/4 37/87/4 -f 41/65/1 42/66/1 43/67/1 -f 42/66/1 44/68/1 43/67/1 -f 45/69/2 46/70/2 47/71/2 -f 46/70/2 48/72/2 47/71/2 -f 45/89/5 47/90/5 43/91/5 -f 47/90/5 41/92/5 43/91/5 -f 48/93/3 46/94/3 42/95/3 -f 46/94/3 44/96/3 42/95/3 -f 43/97/4 44/98/4 45/99/4 -f 44/98/4 46/100/4 45/99/4 -f 49/101/9 50/18/9 51/102/9 -f 50/18/9 52/20/9 51/102/9 -f 53/103/10 54/22/10 55/104/10 -f 54/22/10 56/24/10 55/104/10 -f 55/105/8 56/106/8 49/107/8 -f 56/106/8 50/108/8 49/107/8 -f 51/109/4 52/110/4 53/111/4 -f 52/110/4 54/32/4 53/111/4 -f 57/112/9 58/113/9 59/114/9 -f 58/113/9 60/115/9 59/114/9 -f 61/116/10 62/117/10 63/118/10 -f 62/117/10 64/119/10 63/118/10 -f 63/120/8 64/121/8 57/122/8 -f 64/121/8 58/123/8 57/122/8 -f 59/124/4 60/125/4 61/126/4 -f 60/125/4 62/127/4 61/126/4 -f 65/128/1 66/1/1 67/129/1 -f 66/1/1 68/3/1 67/129/1 -f 69/130/2 70/5/2 71/131/2 -f 70/5/2 72/7/2 71/131/2 -f 69/25/5 71/26/5 67/27/5 -f 71/26/5 65/28/5 67/27/5 -f 67/132/4 68/13/4 69/133/4 -f 68/13/4 70/15/4 69/133/4 -f 73/134/1 74/128/1 75/135/1 -f 74/128/1 76/129/1 75/135/1 -f 77/136/2 78/130/2 79/137/2 -f 78/130/2 80/131/2 79/137/2 -f 77/138/5 79/139/5 75/140/5 -f 79/139/5 73/141/5 75/140/5 -f 75/142/4 76/143/4 77/144/4 -f 76/143/4 78/145/4 77/144/4 -f 81/146/1 82/147/1 83/148/1 -f 82/147/1 84/149/1 83/148/1 -f 85/150/2 86/151/2 87/152/2 -f 86/151/2 88/153/2 87/152/2 -f 85/138/5 87/139/5 83/140/5 -f 87/139/5 81/141/5 83/140/5 -f 88/154/3 86/155/3 82/156/3 -f 86/155/3 84/157/3 82/156/3 -f 83/158/4 84/159/4 85/160/4 -f 84/159/4 86/161/4 85/160/4 -f 89/162/1 90/163/1 91/164/1 -f 90/163/1 92/165/1 91/164/1 -f 93/166/2 94/167/2 95/168/2 -f 94/167/2 96/169/2 95/168/2 -f 95/170/8 96/171/8 89/172/8 -f 96/171/8 90/173/8 89/172/8 -f 91/159/4 92/142/4 93/161/4 -f 92/142/4 94/144/4 93/161/4 -f 97/174/1 98/175/1 99/176/1 -f 98/175/1 100/177/1 99/176/1 -f 101/178/2 102/179/2 103/180/2 -f 102/179/2 104/181/2 103/180/2 -f 103/170/8 104/171/8 97/172/8 -f 104/171/8 98/173/8 97/172/8 -f 99/159/4 100/142/4 101/161/4 -f 100/142/4 102/144/4 101/161/4 -f 105/182/1 106/183/1 107/184/1 -f 106/183/1 108/185/1 107/184/1 -f 109/186/2 110/187/2 111/188/2 -f 110/187/2 112/189/2 111/188/2 -f 111/170/8 112/171/8 105/172/8 -f 112/171/8 106/173/8 105/172/8 -f 107/159/4 108/142/4 109/161/4 -f 108/142/4 110/144/4 109/161/4 -f 113/190/1 114/191/1 115/192/1 -f 114/191/1 116/193/1 115/192/1 -f 117/194/2 118/195/2 119/196/2 -f 118/195/2 120/197/2 119/196/2 -f 115/159/4 116/142/4 117/161/4 -f 116/142/4 118/144/4 117/161/4 -f 121/198/11 122/199/11 123/200/11 -f 122/199/11 124/201/11 123/200/11 -f 125/202/12 126/203/12 123/204/12 -f 126/203/12 121/205/12 123/204/12 -f 123/206/4 124/207/4 125/208/4 -f 124/207/4 127/209/4 125/208/4 -f 128/210/13 129/211/13 130/212/13 -f 129/211/13 131/213/13 130/212/13 -f 128/214/14 130/215/14 132/216/14 -f 130/215/14 133/217/14 132/216/14 -f 132/218/4 134/219/4 128/220/4 -f 134/219/4 129/221/4 128/220/4 -f 135/222/1 136/223/1 137/224/1 -f 136/223/1 138/164/1 137/224/1 -f 139/225/2 140/166/2 141/226/2 -f 140/166/2 142/227/2 141/226/2 -f 139/228/5 141/229/5 137/230/5 -f 141/229/5 135/231/5 137/230/5 -f 137/232/4 138/233/4 139/234/4 -f 138/233/4 140/235/4 139/234/4 -f 143/236/1 144/237/1 145/238/1 -f 144/237/1 146/239/1 145/238/1 -f 147/240/2 148/241/2 149/242/2 -f 148/241/2 150/243/2 149/242/2 -f 147/244/15 149/245/15 145/246/15 -f 149/245/15 143/247/15 145/246/15 -f 151/248/1 152/249/1 153/250/1 -f 152/249/1 154/251/1 153/250/1 -f 155/252/2 156/253/2 157/254/2 -f 156/253/2 158/255/2 157/254/2 -f 159/256/1 160/257/1 161/258/1 -f 160/257/1 162/259/1 161/258/1 -f 163/260/2 164/261/2 165/262/2 -f 164/261/2 166/263/2 165/262/2 -f 167/18/1 168/264/1 169/20/1 -f 168/264/1 170/265/1 169/20/1 -f 171/22/2 172/266/2 173/24/2 -f 172/266/2 174/267/2 173/24/2 -f 169/268/4 170/269/4 171/108/4 -f 170/269/4 172/270/4 171/108/4 -f 175/271/1 176/272/1 177/273/1 -f 176/272/1 178/274/1 177/273/1 -f 179/275/2 180/276/2 181/277/2 -f 180/276/2 182/278/2 181/277/2 -f 182/279/3 180/280/3 176/281/3 -f 180/280/3 178/282/3 176/281/3 -f 177/283/4 178/284/4 179/285/4 -f 178/284/4 180/286/4 179/285/4 -f 183/287/6 184/288/6 185/289/6 -f 184/288/6 186/290/6 185/289/6 -f 187/291/7 188/292/7 189/293/7 -f 188/292/7 190/294/7 189/293/7 -f 187/295/16 189/296/16 185/297/16 -f 189/296/9 183/298/9 185/297/9 -f 190/299/10 188/300/10 184/301/10 -f 188/300/10 186/302/10 184/301/10 -f 189/303/8 190/304/8 183/305/8 -f 190/304/8 184/306/8 183/305/8 -f 185/307/4 186/308/4 187/309/4 -f 186/308/4 188/310/4 187/309/4 -f 191/311/2 192/292/2 193/312/2 -f 192/292/2 194/294/2 193/312/2 -f 191/295/5 193/296/5 195/313/5 -f 193/296/5 196/314/5 195/313/5 -f 194/299/3 192/300/3 197/315/3 -f 192/300/3 198/316/3 197/315/3 -f 195/317/4 198/318/4 191/319/4 -f 198/318/4 192/310/4 191/319/4 -f 199/320/7 200/311/7 201/321/7 -f 200/311/7 202/312/7 201/321/7 -f 203/322/4 204/323/4 199/324/4 -f 204/323/4 200/325/4 199/324/4 -f 205/326/1 206/288/1 207/327/1 -f 206/288/1 208/290/1 207/327/1 -f 209/328/5 210/329/5 207/330/5 -f 210/329/5 205/331/5 207/330/5 -f 211/332/3 212/333/3 206/334/3 -f 212/333/3 208/335/3 206/334/3 -f 207/336/4 208/337/4 209/338/4 -f 208/337/4 212/339/4 209/338/4 -f 213/340/6 214/341/6 215/342/6 -f 214/341/6 216/343/6 215/342/6 -f 217/344/7 218/345/7 219/346/7 -f 218/345/7 220/347/7 219/346/7 -f 217/348/9 219/349/9 215/350/9 -f 219/349/9 213/351/9 215/350/9 -f 220/352/10 218/353/10 214/354/10 -f 218/353/10 216/355/10 214/354/10 -f 219/356/8 220/357/8 213/358/8 -f 220/357/8 214/359/8 213/358/8 -f 215/360/4 216/361/4 217/362/4 -f 216/361/4 218/363/4 217/362/4 -f 221/364/9 222/365/9 223/366/9 -f 222/365/9 224/367/9 223/366/9 -f 223/368/4 225/369/4 221/370/4 -f 225/369/4 226/371/4 221/370/4 -f 227/372/1 228/373/1 229/374/1 -f 228/373/1 230/375/1 229/374/1 -f 231/376/2 232/377/2 233/378/2 -f 232/377/2 234/379/2 233/378/2 -f 231/380/5 233/381/5 229/382/5 -f 233/381/5 227/383/5 229/382/5 -f 233/384/8 234/385/8 227/386/8 -f 234/385/8 228/387/8 227/386/8 -f 235/388/7 236/389/7 237/390/7 -f 236/389/7 238/391/7 237/390/7 -f 238/392/10 236/393/10 239/394/10 -f 236/393/10 240/395/10 239/394/10 -f 237/396/8 238/397/8 241/398/8 -f 238/397/8 239/399/8 241/398/8 -f 242/400/4 240/401/4 235/402/4 -f 240/401/4 236/403/4 235/402/4 -f 243/404/2 244/405/2 245/406/2 -f 244/405/2 246/407/2 245/406/2 -f 243/408/5 245/409/5 247/410/5 -f 245/409/5 248/411/5 247/410/5 -f 246/412/3 244/413/3 249/414/3 -f 244/413/3 250/415/3 249/414/3 -f 245/416/8 246/417/8 248/418/8 -f 246/417/8 249/419/8 248/418/8 -f 247/420/4 250/421/4 243/422/4 -f 250/421/4 244/423/4 243/422/4 -f 251/424/7 252/425/7 253/426/7 -f 252/425/7 254/427/7 253/426/7 -f 251/408/9 253/409/9 255/428/9 -f 253/409/9 256/429/9 255/428/9 -f 253/430/8 254/431/8 256/432/8 -f 254/431/8 257/433/8 256/432/8 -f 255/434/4 258/435/4 251/436/4 -f 258/435/4 252/437/4 251/436/4 -f 259/438/1 260/439/1 261/440/1 -f 260/439/1 262/441/1 261/440/1 -f 263/442/5 264/443/5 261/444/5 -f 264/443/5 259/445/5 261/444/5 -f 265/446/3 266/447/3 260/448/3 -f 266/447/3 262/449/3 260/448/3 -f 264/450/8 265/451/8 259/452/8 -f 265/451/8 260/453/8 259/452/8 -f 261/454/4 262/455/4 263/456/4 -f 262/455/4 266/457/4 263/456/4 -f 267/458/6 268/459/6 269/460/6 -f 268/459/6 270/461/6 269/460/6 -f 271/462/9 272/463/9 269/464/9 -f 272/463/9 267/465/9 269/464/9 -f 272/466/8 273/467/8 267/468/8 -f 273/467/8 268/469/8 267/468/8 -f 269/470/4 270/471/4 271/472/4 -f 270/471/4 274/473/4 271/472/4 -f 275/474/7 276/475/7 277/476/7 -f 276/475/7 278/477/7 277/476/7 -f 275/478/9 277/479/9 279/480/9 -f 277/479/9 280/481/9 279/480/9 -f 277/482/8 278/483/8 280/484/8 -f 278/483/8 281/485/8 280/484/8 -f 279/486/4 282/487/4 275/488/4 -f 282/487/4 276/489/4 275/488/4 -f 283/490/1 284/491/1 285/492/1 -f 284/491/1 286/493/1 285/492/1 -f 287/494/2 288/495/2 289/496/2 -f 288/495/2 290/497/2 289/496/2 -f 287/498/5 289/499/5 285/500/5 -f 289/499/5 283/501/5 285/500/5 -f 289/502/8 290/503/8 283/504/8 -f 290/503/8 284/505/8 283/504/8 -f 285/506/4 286/507/4 287/508/4 -f 286/507/4 288/509/4 287/508/4 -f 291/510/9 292/511/9 293/512/9 -f 292/511/9 294/513/9 293/512/9 -f 295/514/10 296/515/10 297/516/10 -f 296/515/10 298/517/10 297/516/10 -f 298/518/6 296/519/6 292/520/6 -f 296/519/6 294/521/6 292/520/6 -f 297/522/8 298/523/8 291/524/8 -f 298/523/8 292/525/8 291/524/8 -f 293/526/4 294/527/4 295/528/4 -f 294/527/4 296/529/4 295/528/4 -f 299/530/1 300/531/1 301/532/1 -f 300/531/1 302/533/1 301/532/1 -f 303/534/2 304/535/2 305/536/2 -f 304/535/2 306/537/2 305/536/2 -f 303/538/5 305/539/5 301/540/5 -f 305/539/5 299/541/5 301/540/5 -f 306/542/3 304/543/3 300/544/3 -f 304/543/3 302/545/3 300/544/3 -f 305/546/8 306/547/8 299/548/8 -f 306/547/8 300/549/8 299/548/8 -f 301/550/4 302/551/4 303/552/4 -f 302/551/4 304/553/4 303/552/4 -f 307/530/1 308/531/1 309/532/1 -f 308/531/1 310/533/1 309/532/1 -f 311/534/2 312/535/2 313/536/2 -f 312/535/2 314/537/2 313/536/2 -f 311/554/5 313/555/5 309/556/5 -f 313/555/5 307/557/5 309/556/5 -f 314/558/3 312/559/3 308/560/3 -f 312/559/3 310/561/3 308/560/3 -f 313/562/8 314/563/8 307/564/8 -f 314/563/8 308/565/8 307/564/8 -f 309/566/4 310/567/4 311/568/4 -f 310/567/4 312/569/4 311/568/4 -f 315/570/7 316/571/7 317/572/7 -f 316/571/7 318/573/7 317/572/7 -f 317/574/8 318/575/8 319/576/8 -f 318/575/8 320/577/8 319/576/8 -f 321/578/4 322/579/4 315/580/4 -f 322/579/4 316/581/4 315/580/4 -f 323/582/6 324/583/6 325/584/6 -f 324/583/6 326/585/6 325/584/6 -f 327/586/7 328/587/7 329/588/7 -f 328/587/7 330/589/7 329/588/7 -f 330/590/10 328/591/10 324/592/10 -f 328/591/10 326/593/10 324/592/10 -f 329/594/8 330/595/8 323/596/8 -f 330/595/8 324/597/8 323/596/8 -f 325/598/4 326/599/4 327/600/4 -f 326/599/4 328/601/4 327/600/4 -f 331/602/9 332/603/9 333/604/9 -f 332/603/9 334/605/9 333/604/9 -f 335/606/8 336/607/8 331/608/8 -f 336/607/8 332/609/8 331/608/8 -f 333/610/4 334/611/4 337/612/4 -f 334/611/4 338/613/4 337/612/4 -f 339/614/1 340/615/1 341/490/1 -f 340/615/1 342/616/1 341/490/1 -f 343/496/2 344/617/2 345/618/2 -f 344/617/2 346/619/2 345/618/2 -f 343/620/5 345/621/5 341/622/5 -f 345/621/5 339/623/5 341/622/5 -f 346/624/3 344/625/3 340/626/3 -f 344/625/3 342/627/3 340/626/3 -f 345/628/8 346/629/8 339/630/8 -f 346/629/8 340/631/8 339/630/8 -f 341/632/4 342/633/4 343/634/4 -f 342/633/4 344/635/4 343/634/4 -f 347/636/1 348/637/1 349/638/1 -f 348/637/1 350/639/1 349/638/1 -f 351/640/2 352/641/2 353/642/2 -f 352/641/2 354/643/2 353/642/2 -f 351/621/5 353/644/5 349/623/5 -f 353/644/5 347/645/5 349/623/5 -f 354/646/3 352/624/3 348/647/3 -f 352/624/3 350/626/3 348/647/3 -f 353/648/8 354/649/8 347/650/8 -f 354/649/8 348/651/8 347/650/8 -f 349/652/4 350/653/4 351/654/4 -f 350/653/4 352/655/4 351/654/4 -f 355/656/1 356/614/1 357/657/1 -f 356/614/1 358/658/1 357/657/1 -f 359/659/2 360/660/2 361/661/2 -f 360/660/2 362/618/2 361/661/2 -f 359/662/5 361/621/5 357/663/5 -f 361/621/5 355/623/5 357/663/5 -f 361/664/8 362/628/8 355/665/8 -f 362/628/8 356/630/8 355/665/8 -f 357/666/4 358/632/4 359/667/4 -f 358/632/4 360/634/4 359/667/4 -f 363/668/1 364/669/1 365/670/1 -f 364/669/1 366/671/1 365/670/1 -f 367/672/2 368/673/2 369/674/2 -f 368/673/2 370/675/2 369/674/2 -f 367/676/5 369/677/5 365/678/5 -f 369/677/5 363/679/5 365/678/5 -f 370/680/3 368/681/3 364/682/3 -f 368/681/3 366/683/3 364/682/3 -f 369/684/8 370/685/8 363/686/8 -f 370/685/8 364/687/8 363/686/8 -f 365/688/4 366/689/4 367/690/4 -f 366/689/4 368/691/4 367/690/4 -f 371/692/1 372/693/1 373/694/1 -f 372/693/1 374/695/1 373/694/1 -f 375/696/2 376/697/2 377/698/2 -f 376/697/2 378/699/2 377/698/2 -f 377/700/17 378/701/17 371/702/17 -f 378/701/17 372/703/17 371/702/17 -f 373/704/18 374/705/18 375/706/18 -f 374/705/18 376/707/18 375/706/18 -f 379/708/1 380/709/1 381/710/1 -f 380/709/1 382/711/1 381/710/1 -f 383/712/2 384/713/2 385/714/2 -f 384/713/2 386/715/2 385/714/2 -f 383/716/5 385/717/5 381/718/5 -f 385/717/5 379/719/5 381/718/5 -f 386/720/3 384/721/3 380/722/3 -f 384/721/3 382/723/3 380/722/3 -f 385/724/8 386/725/8 379/726/8 -f 386/725/8 380/727/8 379/726/8 -f 381/728/4 382/729/4 383/730/4 -f 382/729/4 384/731/4 383/730/4 -f 387/732/1 388/733/1 389/734/1 -f 388/733/1 390/695/1 389/734/1 -f 391/735/2 392/697/2 393/736/2 -f 392/697/2 394/737/2 393/736/2 -f 391/738/5 393/739/5 389/740/5 -f 393/739/5 387/741/5 389/740/5 -f 394/742/3 392/743/3 388/744/3 -f 392/743/3 390/745/3 388/744/3 -f 389/746/4 390/705/4 391/747/4 -f 390/705/4 392/707/4 391/747/4 -f 395/748/1 396/749/1 397/750/1 -f 396/749/1 398/751/1 397/750/1 -f 399/752/2 400/753/2 401/754/2 -f 400/753/2 402/755/2 401/754/2 -f 402/756/19 400/757/19 396/758/19 -f 400/757/19 398/759/19 396/758/19 -f 401/760/17 402/761/17 395/762/17 -f 402/761/17 396/763/17 395/762/17 -f 397/764/18 398/765/18 399/766/18 -f 398/765/18 400/767/18 399/766/18 -f 403/768/1 404/769/1 405/770/1 -f 404/769/1 406/771/1 405/770/1 -f 407/772/2 408/773/2 409/774/2 -f 408/773/2 410/775/2 409/774/2 -f 407/776/20 409/777/20 405/778/20 -f 409/777/20 403/779/20 405/778/20 -f 410/780/21 408/781/21 404/782/21 -f 408/781/21 406/783/21 404/782/21 -f 409/784/22 410/785/22 403/786/22 -f 410/785/22 404/787/22 403/786/22 -f 405/788/23 406/789/23 407/790/23 -f 406/789/23 408/791/23 407/790/23 -f 411/792/1 412/793/1 413/794/1 -f 412/793/1 414/795/1 413/794/1 -f 415/796/2 416/797/2 417/798/2 -f 416/797/2 418/799/2 417/798/2 -f 415/800/5 417/801/5 413/802/5 -f 417/801/5 411/803/5 413/802/5 -f 418/804/3 416/805/3 412/806/3 -f 416/805/3 414/807/3 412/806/3 -f 413/808/4 414/809/4 415/810/4 -f 414/809/4 416/811/4 415/810/4 -f 419/812/1 420/813/1 421/814/1 -f 420/813/1 422/815/1 421/814/1 -f 423/816/2 424/817/2 425/818/2 -f 424/817/2 426/819/2 425/818/2 -f 423/820/15 425/821/15 421/822/15 -f 425/821/15 419/823/15 421/822/15 -f 426/824/24 424/825/24 420/826/24 -f 424/825/24 422/827/24 420/826/24 -f 425/828/25 426/829/25 419/830/25 -f 426/829/25 420/831/25 419/830/25 -f 421/832/26 422/833/26 423/834/26 -f 422/833/26 424/835/26 423/834/26 -f 427/836/1 428/837/1 429/838/1 -f 428/837/1 430/839/1 429/838/1 -f 431/840/2 432/841/2 433/842/2 -f 432/841/2 434/843/2 433/842/2 -f 431/844/5 433/845/5 429/846/5 -f 433/845/5 427/847/5 429/846/5 -f 434/848/3 432/849/3 428/850/3 -f 432/849/3 430/851/3 428/850/3 -f 433/852/8 434/853/8 427/854/8 -f 434/853/8 428/855/8 427/854/8 -f 429/856/4 430/857/4 431/858/4 -f 430/857/4 432/859/4 431/858/4 -f 435/860/1 436/861/1 437/862/1 -f 436/861/1 438/863/1 437/862/1 -f 439/864/2 440/865/2 441/866/2 -f 440/865/2 442/867/2 441/866/2 -f 439/868/5 441/869/5 437/870/5 -f 441/869/5 435/871/5 437/870/5 -f 442/872/3 440/873/3 436/874/3 -f 440/873/3 438/875/3 436/874/3 -f 441/876/8 442/877/8 435/878/8 -f 442/877/8 436/879/8 435/878/8 -f 437/880/4 438/881/4 439/882/4 -f 438/881/4 440/883/4 439/882/4 -f 443/884/1 444/885/1 445/886/1 -f 444/885/1 446/887/1 445/886/1 -f 447/888/2 448/889/2 449/890/2 -f 448/889/2 450/891/2 449/890/2 -f 447/892/5 449/893/5 445/894/5 -f 449/893/5 443/895/5 445/894/5 -f 450/896/3 448/897/3 444/898/3 -f 448/897/3 446/899/3 444/898/3 -f 449/900/8 450/901/8 443/902/8 -f 450/901/8 444/903/8 443/902/8 -f 451/904/1 452/905/1 453/906/1 -f 452/905/1 454/907/1 453/906/1 -f 455/908/2 456/909/2 457/910/2 -f 456/909/2 458/911/2 457/910/2 -f 458/912/23 456/913/23 452/914/23 -f 456/913/23 454/915/23 452/914/23 -f 457/916/21 458/917/21 451/918/21 -f 458/917/21 452/919/21 451/918/21 -f 453/920/20 454/921/20 455/922/20 -f 454/921/20 456/923/20 455/922/20 -f 459/924/1 460/925/1 461/926/1 -f 460/925/1 462/927/1 461/926/1 -f 463/928/2 464/929/2 465/930/2 -f 464/929/2 466/931/2 465/930/2 -f 463/621/5 465/644/5 461/932/5 -f 465/644/5 459/933/5 461/932/5 -f 465/934/8 466/935/8 459/936/8 -f 466/935/8 460/937/8 459/936/8 -f 461/938/4 462/939/4 463/940/4 -f 462/939/4 464/941/4 463/940/4 -f 467/942/1 468/636/1 469/943/1 -f 468/636/1 470/638/1 469/943/1 -f 471/944/2 472/640/2 473/945/2 -f 472/640/2 474/642/2 473/945/2 -f 471/946/5 473/947/5 469/623/5 -f 473/947/5 467/645/5 469/623/5 -f 473/948/8 474/949/8 467/950/8 -f 474/949/8 468/650/8 467/950/8 -f 469/951/4 470/652/4 471/952/4 -f 470/652/4 472/953/4 471/952/4 -f 475/954/1 476/955/1 477/956/1 -f 476/955/1 478/957/1 477/956/1 -f 479/958/2 480/959/2 481/960/2 -f 480/959/2 482/961/2 481/960/2 -f 479/962/15 481/963/15 477/964/15 -f 481/963/15 475/965/15 477/964/15 -f 482/966/24 480/967/24 476/968/24 -f 480/967/24 478/969/24 476/968/24 -f 481/970/25 482/971/25 475/972/25 -f 482/971/25 476/973/25 475/972/25 -f 483/974/1 484/975/1 485/976/1 -f 484/975/1 486/977/1 485/976/1 -f 487/978/2 488/979/2 489/980/2 -f 488/979/2 490/981/2 489/980/2 -f 490/982/21 488/983/21 484/984/21 -f 488/983/21 486/985/21 484/984/21 -f 491/986/1 492/987/1 493/988/1 -f 492/987/1 494/989/1 493/988/1 -f 495/990/2 496/991/2 497/992/2 -f 496/991/2 498/993/2 497/992/2 -f 493/994/18 494/995/18 495/996/18 -f 494/995/18 496/997/18 495/996/18 -f 499/998/1 500/999/1 501/1000/1 -f 500/999/1 502/1001/1 501/1000/1 -f 503/1002/2 504/1003/2 505/1004/2 -f 504/1003/2 506/1005/2 505/1004/2 -f 505/1006/8 506/1007/8 499/1008/8 -f 506/1007/8 500/1009/8 499/1008/8 -f 501/1010/4 502/1011/4 503/1012/4 -f 502/1011/4 504/1013/4 503/1012/4 -f 507/1014/1 508/1015/1 509/1016/1 -f 508/1015/1 510/1017/1 509/1016/1 -f 511/1018/2 512/1019/2 513/1020/2 -f 512/1019/2 514/1021/2 513/1020/2 -f 511/1022/22 513/1023/22 509/1024/22 -f 513/1023/22 507/1025/22 509/1024/22 -f 514/1026/23 512/1027/23 508/1028/23 -f 512/1027/23 510/1029/23 508/1028/23 -f 515/1030/1 516/1031/1 517/1032/1 -f 516/1031/1 518/1033/1 517/1032/1 -f 519/1034/2 520/1035/2 521/1036/2 -f 520/1035/2 522/1037/2 521/1036/2 -f 519/1038/5 521/1039/5 517/1040/5 -f 521/1039/5 515/1041/5 517/1040/5 -f 522/1042/3 520/1043/3 516/1044/3 -f 520/1043/3 518/1045/3 516/1044/3 -f 523/1046/1 524/1047/1 525/1048/1 -f 524/1047/1 526/1049/1 525/1048/1 -f 527/1050/2 528/1051/2 529/1052/2 -f 528/1051/2 530/1053/2 529/1052/2 -f 527/1054/20 529/1055/20 525/1056/20 -f 529/1055/20 523/1057/20 525/1056/20 -f 530/1058/21 528/1042/21 524/1059/21 -f 528/1042/21 526/1044/21 524/1059/21 -f 531/1060/1 532/1061/1 533/1062/1 -f 532/1061/1 534/1063/1 533/1062/1 -f 535/1064/2 536/1065/2 537/1066/2 -f 536/1065/2 538/1067/2 537/1066/2 -f 537/1068/8 538/1007/8 531/1069/8 -f 538/1007/8 532/1009/8 531/1069/8 -f 533/1070/4 534/1011/4 535/1071/4 -f 534/1011/4 536/1013/4 535/1071/4 -f 539/1072/1 540/1073/1 541/1074/1 -f 540/1073/1 542/1075/1 541/1074/1 -f 543/1076/2 544/1077/2 545/1078/2 -f 544/1077/2 546/1079/2 545/1078/2 -f 545/1080/17 546/1081/17 539/1082/17 -f 546/1081/17 540/1083/17 539/1082/17 -f 541/1084/18 542/1085/18 543/1086/18 -f 542/1085/18 544/1087/18 543/1086/18 -f 547/1088/1 548/1089/1 549/1090/1 -f 548/1089/1 550/1091/1 549/1090/1 -f 551/1092/2 552/1093/2 553/1094/2 -f 552/1093/2 554/1095/2 553/1094/2 -f 551/1096/20 553/1097/20 549/1098/20 -f 553/1097/20 547/1099/20 549/1098/20 -f 554/1100/21 552/1101/21 548/1102/21 -f 552/1101/21 550/1103/21 548/1102/21 -f 549/1104/23 550/1105/23 551/1106/23 -f 550/1105/23 552/1107/23 551/1106/23 -f 555/1108/1 556/1109/1 557/1110/1 -f 556/1109/1 558/1111/1 557/1110/1 -f 559/1112/2 560/1113/2 561/1114/2 -f 560/1113/2 562/1115/2 561/1114/2 -f 561/1116/8 562/1117/8 555/1118/8 -f 562/1117/8 556/1119/8 555/1118/8 -f 557/1120/4 558/1121/4 559/1122/4 -f 558/1121/4 560/1123/4 559/1122/4 -f 563/1124/1 564/1125/1 565/1126/1 -f 564/1125/1 566/1127/1 565/1126/1 -f 567/1128/2 568/1129/2 569/1130/2 -f 568/1129/2 570/1131/2 569/1130/2 -f 567/1132/15 569/1133/15 565/1134/15 -f 569/1133/15 563/1135/15 565/1134/15 -f 569/1136/25 570/1137/25 563/1138/25 -f 570/1137/25 564/1139/25 563/1138/25 -f 565/1140/26 566/1141/26 567/1142/26 -f 566/1141/26 568/1143/26 567/1142/26 -o Cylinder -v 0.040155 0.134253 0.138325 -v -0.032489 0.061608 0.138325 -v 0.040155 0.134253 0.000825 -v -0.032489 0.061608 0.000825 -v 0.030419 0.143989 0.000825 -v -0.042225 0.071345 0.000825 -v 0.030419 0.143989 0.138325 -v -0.042225 0.071345 0.138325 -v 0.014778 0.156219 0.138325 -v 0.014778 0.053094 0.138325 -v 0.014778 0.156219 0.000825 -v 0.014778 0.053094 0.000825 -v -0.015300 0.156219 0.000825 -v -0.015300 0.053094 0.000825 -v -0.015300 0.156219 0.138325 -v -0.015300 0.053094 0.138325 -v 0.040951 0.136693 0.138325 -v 0.052051 0.109897 0.138325 -v 0.040951 0.136693 0.000825 -v 0.052051 0.109897 0.000825 -v -0.055316 0.096818 0.000825 -v -0.044217 0.070021 0.000825 -v -0.055316 0.096818 0.138325 -v -0.044217 0.070021 0.138325 -v 0.052632 0.096296 0.138325 -v 0.041944 0.070492 0.138325 -v 0.052632 0.096296 0.000825 -v 0.041944 0.070493 0.000825 -v -0.044628 0.136582 0.000825 -v -0.055316 0.110779 0.000825 -v -0.044628 0.136582 0.138325 -v -0.055316 0.110779 0.138325 -v 0.052103 0.110777 0.138325 -v 0.052103 0.096812 0.138325 -v 0.052103 0.110777 0.103950 -v 0.052103 0.096812 0.103950 -v -0.055319 0.110777 0.103950 -v -0.055319 0.096812 0.103950 -v -0.055319 0.110777 0.138325 -v -0.055319 0.096812 0.138325 -v 0.041306 0.136583 0.138325 -v 0.041306 0.069981 0.138325 -v 0.041306 0.136583 0.000825 -v 0.041306 0.069981 0.000825 -v -0.044631 0.136583 0.000825 -v -0.044631 0.069981 0.000825 -v -0.044631 0.136583 0.138325 -v -0.044631 0.069981 0.138325 -v -0.036145 0.147590 0.000825 -v -0.027101 0.125756 0.000825 -v -0.036145 0.147590 0.138325 -v -0.027101 0.125756 0.138325 -v -0.015304 0.156223 0.000825 -v -0.015304 0.156223 0.138325 -v -0.006260 0.134388 0.138325 -v -0.006260 0.134388 0.000825 -v 0.033630 0.148410 0.138325 -v 0.024586 0.126576 0.138325 -v 0.033630 0.148410 0.000825 -v 0.024586 0.126576 0.000825 -v 0.014774 0.156221 0.000825 -v 0.014774 0.156221 0.138325 -v 0.005730 0.134386 0.138325 -v 0.005730 0.134386 0.000825 -v 0.023594 0.082327 0.138325 -v 0.032639 0.060493 0.138325 -v 0.023594 0.082327 0.000825 -v 0.032639 0.060493 0.000825 -v 0.014774 0.053094 0.138325 -v 0.014774 0.053094 0.000825 -v 0.005730 0.074928 0.138325 -v 0.005730 0.074928 0.000825 -v -0.025114 0.082739 0.000825 -v -0.034158 0.060905 0.000825 -v -0.025114 0.082739 0.138325 -v -0.034158 0.060905 0.138325 -v -0.015301 0.053095 0.138325 -v -0.015301 0.053095 0.000825 -v -0.006257 0.074929 0.138325 -v -0.006257 0.074929 0.000825 -v 0.041811 0.073900 0.138325 -v 0.027931 0.060020 0.138325 -v 0.041811 0.073900 0.000825 -v 0.027931 0.060020 0.000825 -v -0.030834 0.146544 0.000825 -v -0.044713 0.132664 0.000825 -v -0.030834 0.146544 0.138325 -v -0.044713 0.132664 0.138325 -vn 0.7071 -0.7071 -0.0000 -vn -0.7071 0.7071 -0.0000 -vn 0.7071 0.7071 -0.0000 -vn -0.7071 -0.7071 -0.0000 -vn -0.0000 -0.0000 1.0000 -vn -0.0000 -0.0000 -1.0000 -vn 1.0000 -0.0000 -0.0000 -vn -1.0000 -0.0000 -0.0000 -vn -0.0000 1.0000 -0.0000 -vn -0.0000 -1.0000 -0.0000 -vn 0.9239 0.3827 -0.0000 -vn -0.9239 -0.3827 -0.0000 -vn -0.3827 0.9239 -0.0000 -vn 0.3827 -0.9239 -0.0000 -vn 0.9239 -0.3827 -0.0000 -vn -0.9239 0.3827 -0.0000 -vn 0.3827 0.9239 -0.0000 -vn -0.3827 -0.9239 -0.0000 -vn 0.3826 -0.9239 -0.0000 -vn -0.3826 -0.9239 -0.0000 -vt 0.232414 0.762673 -vt 0.232414 0.557205 -vt 0.507414 0.762673 -vt 0.507414 0.557205 -vt 0.492586 0.762673 -vt 0.492586 0.557205 -vt 0.767586 0.762673 -vt 0.767586 0.557205 -vt 0.419200 0.507414 -vt 0.419200 0.232414 -vt 0.446738 0.507414 -vt 0.446738 0.232414 -vt 0.419200 0.767586 -vt 0.419200 0.492586 -vt 0.446738 0.767586 -vt 0.446738 0.492586 -vt 0.419200 0.762673 -vt 0.419200 0.557205 -vt 0.446738 0.762673 -vt 0.446738 0.557205 -vt 0.553262 0.762673 -vt 0.553262 0.557205 -vt 0.580800 0.762673 -vt 0.580800 0.557205 -vt 0.232414 0.726953 -vt 0.232414 0.520703 -vt 0.507414 0.726953 -vt 0.507414 0.520703 -vt 0.492586 0.726953 -vt 0.492586 0.520703 -vt 0.767586 0.726953 -vt 0.767586 0.520703 -vt 0.473047 0.507414 -vt 0.473047 0.232414 -vt 0.533204 0.507414 -vt 0.533204 0.232414 -vt 0.473047 0.767586 -vt 0.473047 0.492586 -vt 0.533204 0.767586 -vt 0.533204 0.492586 -vt 0.473047 0.726953 -vt 0.473047 0.520703 -vt 0.533204 0.726953 -vt 0.533204 0.520703 -vt 0.466796 0.726953 -vt 0.466796 0.520703 -vt 0.526953 0.726953 -vt 0.526953 0.520703 -vt 0.232414 0.612558 -vt 0.232414 0.554549 -vt 0.507414 0.612558 -vt 0.507414 0.554549 -vt 0.492586 0.612558 -vt 0.492586 0.554549 -vt 0.767586 0.612558 -vt 0.767586 0.554549 -vt 0.415213 0.507414 -vt 0.415213 0.232414 -vt 0.623611 0.507414 -vt 0.623611 0.232414 -vt 0.415213 0.767586 -vt 0.415213 0.492586 -vt 0.623611 0.767586 -vt 0.623611 0.492586 -vt 0.415213 0.612558 -vt 0.415213 0.554549 -vt 0.623611 0.612558 -vt 0.623611 0.554549 -vt 0.376389 0.612558 -vt 0.376389 0.554549 -vt 0.584787 0.612558 -vt 0.584787 0.554549 -vt 0.232414 0.691931 -vt 0.232414 0.636072 -vt 0.507414 0.691931 -vt 0.507414 0.636072 -vt 0.492586 0.691931 -vt 0.492586 0.636072 -vt 0.767586 0.691931 -vt 0.767586 0.636072 -vt 0.393015 0.507414 -vt 0.393015 0.232414 -vt 0.603561 0.507414 -vt 0.603561 0.232414 -vt 0.393015 0.767586 -vt 0.393015 0.492586 -vt 0.603561 0.767586 -vt 0.603561 0.492586 -vt 0.393015 0.691931 -vt 0.393015 0.636072 -vt 0.603561 0.691931 -vt 0.603561 0.636072 -vt 0.396439 0.691931 -vt 0.396439 0.636072 -vt 0.606985 0.691931 -vt 0.606985 0.636072 -vt 0.232414 0.608142 -vt 0.301164 0.636072 -vt 0.301164 0.608142 -vt 0.698836 0.636072 -vt 0.698836 0.608142 -vt 0.767586 0.608142 -vt 0.393014 0.301164 -vt 0.393014 0.232414 -vt 0.607857 0.301164 -vt 0.607857 0.232414 -vt 0.393014 0.767586 -vt 0.393014 0.698836 -vt 0.607857 0.767586 -vt 0.607857 0.698836 -vt 0.393014 0.636072 -vt 0.393014 0.608142 -vt 0.607857 0.636072 -vt 0.607857 0.608142 -vt 0.392143 0.636072 -vt 0.392143 0.608142 -vt 0.606986 0.636072 -vt 0.606986 0.608142 -vt 0.232414 0.687679 -vt 0.232414 0.554476 -vt 0.507414 0.687679 -vt 0.507414 0.554476 -vt 0.492586 0.687679 -vt 0.492586 0.554476 -vt 0.767586 0.687679 -vt 0.767586 0.554476 -vt 0.414390 0.507414 -vt 0.414390 0.232414 -vt 0.586265 0.507414 -vt 0.586265 0.232414 -vt 0.414390 0.767586 -vt 0.414390 0.492586 -vt 0.586265 0.767586 -vt 0.586265 0.492586 -vt 0.414390 0.687679 -vt 0.414390 0.554476 -vt 0.586265 0.687679 -vt 0.586265 0.554476 -vt 0.413735 0.687679 -vt 0.413735 0.554476 -vt 0.585610 0.687679 -vt 0.585610 0.554476 -vt 0.492586 0.713286 -vt 0.492586 0.666019 -vt 0.767586 0.713286 -vt 0.767586 0.666019 -vt 0.449452 0.507414 -vt 0.449452 0.232414 -vt 0.494569 0.507414 -vt 0.494569 0.232414 -vt 0.449452 0.713286 -vt 0.449452 0.666019 -vt 0.494569 0.713286 -vt 0.494569 0.666019 -vt 0.505431 0.713286 -vt 0.505431 0.666019 -vt 0.550548 0.713286 -vt 0.550548 0.666019 -vt 0.232414 0.730552 -vt 0.232414 0.683285 -vt 0.507414 0.730552 -vt 0.507414 0.683285 -vt 0.515115 0.507414 -vt 0.515115 0.232414 -vt 0.555935 0.507414 -vt 0.555935 0.232414 -vt 0.515115 0.730552 -vt 0.515115 0.683285 -vt 0.555935 0.730552 -vt 0.555935 0.683285 -vt 0.444065 0.730552 -vt 0.444065 0.683285 -vt 0.484885 0.730552 -vt 0.484885 0.683285 -vt 0.232414 0.567969 -vt 0.507414 0.567969 -vt 0.533203 0.767586 -vt 0.533203 0.492586 -vt 0.571875 0.767586 -vt 0.571875 0.492586 -vt 0.533203 0.567969 -vt 0.533203 0.520703 -vt 0.571875 0.567969 -vt 0.571875 0.520703 -vt 0.428125 0.567969 -vt 0.428125 0.520703 -vt 0.466797 0.567969 -vt 0.466797 0.520703 -vt 0.492586 0.583590 -vt 0.492586 0.536324 -vt 0.767586 0.583590 -vt 0.767586 0.536324 -vt 0.435334 0.767586 -vt 0.435334 0.492586 -vt 0.476154 0.767586 -vt 0.476154 0.492586 -vt 0.435334 0.583590 -vt 0.435334 0.536324 -vt 0.476154 0.583590 -vt 0.476154 0.536324 -vt 0.523846 0.583590 -vt 0.523846 0.536324 -vt 0.564666 0.583590 -vt 0.564666 0.536324 -vt 0.232414 0.719101 -vt 0.232414 0.679843 -vt 0.507414 0.719101 -vt 0.507414 0.679843 -vt 0.492586 0.719101 -vt 0.492586 0.679843 -vt 0.767586 0.719101 -vt 0.767586 0.679843 -vt 0.414227 0.507414 -vt 0.414227 0.232414 -vt 0.619696 0.507414 -vt 0.619696 0.232414 -vt 0.414227 0.767586 -vt 0.414227 0.492586 -vt 0.619696 0.767586 -vt 0.619696 0.492586 -vt 0.414227 0.719101 -vt 0.414227 0.679843 -vt 0.619696 0.719101 -vt 0.619696 0.679843 -vt 0.380304 0.719101 -vt 0.380304 0.679843 -vt 0.585773 0.719101 -vt 0.585773 0.679843 -s 0 -f 571/1144/27 572/1145/27 573/1146/27 -f 572/1145/27 574/1147/27 573/1146/27 -f 575/1148/28 576/1149/28 577/1150/28 -f 576/1149/28 578/1151/28 577/1150/28 -f 575/1152/29 577/1153/29 573/1154/29 -f 577/1153/29 571/1155/29 573/1154/29 -f 578/1156/30 576/1157/30 572/1158/30 -f 576/1157/30 574/1159/30 572/1158/30 -f 577/1160/31 578/1161/31 571/1162/31 -f 578/1161/31 572/1163/31 571/1162/31 -f 573/1164/32 574/1165/32 575/1166/32 -f 574/1165/32 576/1167/32 575/1166/32 -f 579/1168/33 580/1169/33 581/1170/33 -f 580/1169/33 582/1171/33 581/1170/33 -f 583/1172/34 584/1173/34 585/1174/34 -f 584/1173/34 586/1175/34 585/1174/34 -f 583/1176/35 585/1177/35 581/1178/35 -f 585/1177/35 579/1179/35 581/1178/35 -f 586/1180/36 584/1181/36 580/1182/36 -f 584/1181/36 582/1183/36 580/1182/36 -f 585/1184/31 586/1185/31 579/1186/31 -f 586/1185/31 580/1187/31 579/1186/31 -f 581/1188/32 582/1189/32 583/1190/32 -f 582/1189/32 584/1191/32 583/1190/32 -f 587/1192/37 588/1193/37 589/1194/37 -f 588/1193/37 590/1195/37 589/1194/37 -f 591/1196/38 592/1197/38 593/1198/38 -f 592/1197/38 594/1199/38 593/1198/38 -f 591/1200/39 593/1201/39 589/1202/39 -f 593/1201/39 587/1203/39 589/1202/39 -f 594/1204/40 592/1205/40 588/1206/40 -f 592/1205/40 590/1207/40 588/1206/40 -f 593/1208/31 594/1209/31 587/1210/31 -f 594/1209/31 588/1211/31 587/1210/31 -f 589/1212/32 590/1213/32 591/1214/32 -f 590/1213/32 592/1215/32 591/1214/32 -f 595/1216/41 596/1217/41 597/1218/41 -f 596/1217/41 598/1219/41 597/1218/41 -f 599/1220/42 600/1221/42 601/1222/42 -f 600/1221/42 602/1223/42 601/1222/42 -f 599/1224/43 601/1225/43 597/1226/43 -f 601/1225/43 595/1227/43 597/1226/43 -f 602/1228/44 600/1229/44 596/1230/44 -f 600/1229/44 598/1231/44 596/1230/44 -f 601/1232/31 602/1233/31 595/1234/31 -f 602/1233/31 596/1235/31 595/1234/31 -f 597/1236/32 598/1237/32 599/1238/32 -f 598/1237/32 600/1239/32 599/1238/32 -f 603/1217/33 604/1240/33 605/1241/33 -f 604/1240/33 606/1242/33 605/1241/33 -f 607/1243/34 608/1244/34 609/1223/34 -f 608/1244/34 610/1245/34 609/1223/34 -f 607/1246/35 609/1247/35 605/1248/35 -f 609/1247/35 603/1249/35 605/1248/35 -f 610/1250/36 608/1251/36 604/1252/36 -f 608/1251/36 606/1253/36 604/1252/36 -f 609/1254/31 610/1255/31 603/1256/31 -f 610/1255/31 604/1257/31 603/1256/31 -f 605/1258/32 606/1259/32 607/1260/32 -f 606/1259/32 608/1261/32 607/1260/32 -f 611/1262/33 612/1263/33 613/1264/33 -f 612/1263/33 614/1265/33 613/1264/33 -f 615/1266/34 616/1267/34 617/1268/34 -f 616/1267/34 618/1269/34 617/1268/34 -f 615/1270/35 617/1271/35 613/1272/35 -f 617/1271/35 611/1273/35 613/1272/35 -f 618/1274/36 616/1275/36 612/1276/36 -f 616/1275/36 614/1277/36 612/1276/36 -f 617/1278/31 618/1279/31 611/1280/31 -f 618/1279/31 612/1281/31 611/1280/31 -f 613/1282/32 614/1283/32 615/1284/32 -f 614/1283/32 616/1285/32 615/1284/32 -f 619/1286/38 620/1287/38 621/1288/38 -f 620/1287/38 622/1289/38 621/1288/38 -f 619/1290/39 621/1291/39 623/1292/39 -f 621/1291/39 624/1293/39 623/1292/39 -f 621/1294/31 622/1295/31 624/1296/31 -f 622/1295/31 625/1297/31 624/1296/31 -f 623/1298/32 626/1299/32 619/1300/32 -f 626/1299/32 620/1301/32 619/1300/32 -f 627/1302/41 628/1303/41 629/1304/41 -f 628/1303/41 630/1305/41 629/1304/41 -f 631/1306/43 632/1307/43 629/1308/43 -f 632/1307/43 627/1309/43 629/1308/43 -f 632/1310/31 633/1311/31 627/1312/31 -f 633/1311/31 628/1313/31 627/1312/31 -f 629/1314/32 630/1315/32 631/1316/32 -f 630/1315/32 634/1317/32 631/1316/32 -f 635/1318/37 636/1169/37 637/1319/37 -f 636/1169/37 638/1171/37 637/1319/37 -f 639/1320/45 640/1321/45 636/1322/45 -f 640/1321/45 638/1323/45 636/1322/45 -f 641/1324/31 639/1325/31 635/1326/31 -f 639/1325/31 636/1327/31 635/1326/31 -f 637/1328/32 638/1329/32 642/1330/32 -f 638/1329/32 640/1331/32 642/1330/32 -f 643/1332/42 644/1333/42 645/1334/42 -f 644/1333/42 646/1335/42 645/1334/42 -f 646/1336/46 644/1337/46 647/1338/46 -f 644/1337/46 648/1339/46 647/1338/46 -f 645/1340/31 646/1341/31 649/1342/31 -f 646/1341/31 647/1343/31 649/1342/31 -f 650/1344/32 648/1345/32 643/1346/32 -f 648/1345/32 644/1347/32 643/1346/32 -f 651/1348/27 652/1349/27 653/1350/27 -f 652/1349/27 654/1351/27 653/1350/27 -f 655/1352/28 656/1353/28 657/1354/28 -f 656/1353/28 658/1355/28 657/1354/28 -f 655/1356/29 657/1357/29 653/1358/29 -f 657/1357/29 651/1359/29 653/1358/29 -f 658/1360/30 656/1361/30 652/1362/30 -f 656/1361/30 654/1363/30 652/1362/30 -f 657/1364/31 658/1365/31 651/1366/31 -f 658/1365/31 652/1367/31 651/1366/31 -f 653/1368/32 654/1369/32 655/1370/32 -f 654/1369/32 656/1371/32 655/1370/32 -o Grip -v 0.029437 0.100706 0.311919 -v 0.029437 -0.004763 0.311919 -v 0.029437 0.100706 0.268950 -v 0.029437 -0.004763 0.268950 -v -0.029156 0.100706 0.268950 -v -0.029156 -0.004763 0.268950 -v -0.029156 0.100706 0.311919 -v -0.029156 -0.004763 0.311919 -v 0.029388 0.017106 0.332156 -v 0.029388 -0.174300 0.332156 -v 0.029388 0.017106 0.285281 -v 0.029388 -0.174300 0.285281 -v -0.029181 0.017106 0.285281 -v -0.029181 -0.174300 0.285281 -v -0.029181 0.017106 0.332156 -v -0.029181 -0.174300 0.332156 -v 0.029419 0.085760 0.232858 -v 0.029419 -0.005391 0.324008 -v 0.029419 0.069187 0.216285 -v 0.029419 -0.021963 0.307436 -v -0.029175 0.069187 0.216285 -v -0.029175 -0.021963 0.307436 -v -0.029175 0.085760 0.232858 -v -0.029175 -0.005391 0.324008 -v 0.029462 0.040785 0.284858 -v 0.029462 -0.024175 0.257950 -v 0.029462 0.069187 0.216289 -v 0.029462 0.004227 0.189381 -v -0.029131 0.069187 0.216289 -v -0.029131 0.004227 0.189381 -v -0.029131 0.040785 0.284858 -v -0.029131 -0.024175 0.257950 -v 0.029425 0.004225 0.310469 -v 0.029425 -0.019213 0.310469 -v 0.029425 0.004225 0.189375 -v 0.029425 -0.019213 0.189375 -v -0.029169 0.004225 0.189375 -v -0.029169 -0.019213 0.189375 -v -0.029169 0.004225 0.310469 -v -0.029169 -0.019213 0.310469 -v 0.029456 -0.063915 0.319925 -v 0.029456 -0.080488 0.303353 -v 0.029456 0.021711 0.234299 -v 0.029456 0.005138 0.217726 -v -0.029137 0.021711 0.234299 -v -0.029137 0.005138 0.217726 -v -0.029137 -0.063915 0.319925 -v -0.029137 -0.080488 0.303353 -v 0.029406 0.100711 0.268945 -v 0.029406 -0.040037 0.327245 -v 0.029406 0.085762 0.232856 -v 0.029406 -0.054985 0.291156 -v -0.029188 0.085762 0.232856 -v -0.029188 -0.054985 0.291156 -v -0.029188 0.100711 0.268945 -v -0.029188 -0.040037 0.327245 -v 0.029375 -0.129257 0.319077 -v 0.029375 -0.205044 0.287685 -v 0.029375 -0.120288 0.297424 -v 0.029375 -0.196075 0.266032 -v -0.029188 -0.120288 0.297424 -v -0.029188 -0.196075 0.266032 -v -0.029188 -0.129257 0.319077 -v -0.029188 -0.205044 0.287685 -v 0.029450 0.100710 0.300193 -v 0.029450 -0.040037 0.358492 -v 0.029450 0.085762 0.264104 -v 0.029450 -0.054986 0.322403 -v -0.029144 0.085762 0.264104 -v -0.029144 -0.054986 0.322403 -v -0.029144 0.100710 0.300193 -v -0.029144 -0.040037 0.358492 -v 0.029469 0.075586 0.302363 -v 0.029469 0.006533 0.371416 -v 0.029469 0.047965 0.274741 -v 0.029469 -0.021088 0.343795 -v -0.029125 0.047965 0.274741 -v -0.029125 -0.021088 0.343795 -v -0.029125 0.075586 0.302363 -v -0.029125 0.006533 0.371416 -v 0.029425 0.006539 0.371413 -v 0.029425 -0.126990 0.426723 -v 0.029425 -0.032327 0.277581 -v 0.029425 -0.165857 0.332891 -v -0.029169 -0.032327 0.277581 -v -0.029169 -0.165857 0.332891 -v -0.029169 0.006539 0.371413 -v -0.029169 -0.126990 0.426723 -v 0.029419 -0.126919 0.427336 -v 0.029419 -0.205044 0.427336 -v 0.029419 -0.126919 0.287688 -v 0.029419 -0.205044 0.287688 -v -0.029163 -0.126919 0.287688 -v -0.029163 -0.205044 0.287688 -v -0.029163 -0.126919 0.427336 -v -0.029163 -0.205044 0.427336 -v 0.021613 0.096482 0.310400 -v 0.021613 -0.037047 0.365710 -v 0.021613 0.078544 0.267093 -v 0.021613 -0.054986 0.322403 -v -0.021356 0.078544 0.267093 -v -0.021356 -0.054986 0.322403 -v -0.021356 0.096482 0.310400 -v -0.021356 -0.037047 0.365710 -v 0.021613 0.081113 0.307885 -v 0.021613 0.010678 0.378319 -v 0.021613 0.047967 0.274739 -v 0.021613 -0.022467 0.345174 -v -0.021356 0.047967 0.274739 -v -0.021356 -0.022467 0.345174 -v -0.021356 0.081113 0.307885 -v -0.021356 0.010678 0.378319 -v 0.021613 -0.123013 0.435149 -v 0.021613 -0.205044 0.435149 -v 0.021613 -0.123013 0.287688 -v 0.021613 -0.205044 0.287688 -v -0.021356 -0.123013 0.287688 -v -0.021356 -0.205044 0.287688 -v -0.021356 -0.123013 0.435149 -v -0.021356 -0.205044 0.435149 -v 0.021613 0.011330 0.377885 -v 0.021613 -0.125808 0.434689 -v 0.021613 -0.030526 0.276835 -v 0.021613 -0.167664 0.333640 -v -0.021356 -0.030526 0.276835 -v -0.021356 -0.167664 0.333640 -v -0.021356 0.011330 0.377885 -v -0.021356 -0.125808 0.434689 -vn 1.0000 -0.0000 -0.0000 -vn -1.0000 -0.0000 -0.0000 -vn -0.0000 1.0000 -0.0000 -vn -0.0000 -0.0000 1.0000 -vn -0.0000 -0.0000 -1.0000 -vn -0.0000 0.7071 -0.7071 -vn -0.0000 0.7071 0.7071 -vn -0.0000 -0.7071 -0.7071 -vn -0.0000 0.9239 0.3827 -vn -0.0000 -0.9239 -0.3827 -vn -0.0000 -0.3827 0.9239 -vn -0.0000 0.3827 -0.9239 -vn -0.0000 -1.0000 -0.0000 -vn -0.0000 0.9239 -0.3827 -vn -0.0000 0.3827 0.9239 -vn -0.0000 -0.3827 -0.9239 -vn -0.0000 -0.9239 0.3827 -vn -0.0000 -0.7071 0.7071 -vt 0.000000 1.000000 -vt 0.000000 0.789062 -vt 0.085938 1.000000 -vt 0.085938 0.789062 -vt 0.890625 1.000000 -vt 0.890625 0.914062 -vt 1.007812 1.000000 -vt 1.007812 0.914062 -vt 0.562500 0.531250 -vt 0.562500 0.320312 -vt 0.679688 0.531250 -vt 0.679688 0.320312 -vt 0.000000 0.687500 -vt 0.093750 1.000000 -vt 0.093750 0.687500 -vt 0.437500 1.000000 -vt 0.437500 0.617188 -vt 0.554688 1.000000 -vt 0.554688 0.617188 -vt 0.000000 0.742188 -vt 0.046875 1.000000 -vt 0.046875 0.742188 -vt 0.531250 0.468750 -vt 0.531250 0.421875 -vt 0.648438 0.468750 -vt 0.648438 0.421875 -vt 0.562500 0.593750 -vt 0.562500 0.335938 -vt 0.679688 0.593750 -vt 0.679688 0.335938 -vt 0.000000 0.859375 -vt 0.130307 1.000000 -vt 0.130307 0.859375 -vt 0.500000 0.468750 -vt 0.500000 0.338443 -vt 0.617188 0.468750 -vt 0.617188 0.338443 -vt 0.531250 0.338443 -vt 0.648438 0.338443 -vt 0.500000 0.328125 -vt 0.617188 0.328125 -vt 0.000000 0.953125 -vt 0.130307 0.953125 -vt 0.015625 1.000000 -vt 0.015625 0.953125 -vt 0.145932 1.000000 -vt 0.145932 0.953125 -vt 0.343750 0.703125 -vt 0.343750 0.572818 -vt 0.460938 0.703125 -vt 0.460938 0.572818 -vt 0.500000 0.406250 -vt 0.500000 0.359375 -vt 0.617188 0.406250 -vt 0.617188 0.359375 -vt 0.218750 1.000000 -vt 0.218750 0.953125 -vt 0.265625 1.000000 -vt 0.265625 0.953125 -vt 0.890625 0.359375 -vt 0.890625 0.285771 -vt 1.007812 0.359375 -vt 1.007812 0.285771 -vt 0.000000 0.695312 -vt 0.078125 1.000000 -vt 0.078125 0.695312 -vt 0.890625 0.921875 -vt 1.007812 0.921875 -vt 0.562500 0.289062 -vt 0.679688 0.289062 -vt 0.531250 0.593750 -vt 0.531250 0.289062 -vt 0.648438 0.593750 -vt 0.648438 0.289062 -vt 0.000000 0.835938 -vt 0.046875 0.835938 -vt 0.484375 0.046875 -vt 0.484375 0.000000 -vt 0.601562 0.046875 -vt 0.601562 0.000000 -vt 0.687500 0.156250 -vt 0.687500 -0.007812 -vt 0.804688 0.156250 -vt 0.804688 -0.007812 -vt 0.562500 0.468750 -vt 0.562500 0.390625 -vt 0.679688 0.468750 -vt 0.679688 0.390625 -vt 0.562500 0.437500 -vt 0.562500 0.359375 -vt 0.679688 0.437500 -vt 0.679688 0.359375 -vt 0.000000 0.804688 -vt 0.078125 0.804688 -vt 0.562500 0.500000 -vt 0.562500 0.304688 -vt 0.679688 0.500000 -vt 0.679688 0.304688 -vt 0.000000 0.710938 -vt 0.203125 1.000000 -vt 0.203125 0.710938 -vt 0.562500 0.328125 -vt 0.679688 0.328125 -vt 0.000000 0.734375 -vt 0.000000 0.578125 -vt 0.281250 0.734375 -vt 0.281250 0.578125 -vt 0.328125 0.281250 -vt 0.328125 0.001952 -vt 0.445312 0.281250 -vt 0.445312 0.001952 -vt 0.500000 0.500000 -vt 0.500000 0.343750 -vt 0.617188 0.500000 -vt 0.617188 0.343750 -vt 0.770499 0.593601 -vt 0.770499 0.304538 -vt 0.864249 0.593601 -vt 0.864249 0.304538 -vt 0.135752 0.593601 -vt 0.135752 0.304538 -vt 0.229502 0.593601 -vt 0.229502 0.304538 -vt 0.921875 1.000000 -vt 0.921875 0.710937 -vt 1.007812 0.710937 -vt 0.724961 0.568802 -vt 0.724961 0.369583 -vt 0.818711 0.568802 -vt 0.818711 0.369583 -vt 0.181289 0.568802 -vt 0.181289 0.369583 -vt 0.275039 0.568802 -vt 0.275039 0.369583 -vt 0.921875 0.800781 -vt 1.007812 0.800781 -vt 0.437500 0.500000 -vt 0.437500 0.335938 -vt 0.732422 0.500000 -vt 0.732422 0.335938 -vt 0.562500 0.562500 -vt 0.562500 0.267577 -vt 0.648438 0.562500 -vt 0.648438 0.267577 -vt 0.921875 0.705078 -vt 1.007812 0.705078 -vt 0.921875 0.835938 -vt 1.007812 0.835938 -vt 0.531250 0.500000 -vt 0.531250 0.335938 -vt 0.617188 0.335938 -vt 0.500000 0.593750 -vt 0.500000 0.296875 -vt 0.718750 0.593750 -vt 0.718750 0.296875 -vt 0.921875 0.703125 -vt 1.007812 0.703125 -s 0 -f 659/1372/47 660/1373/47 661/1374/47 -f 660/1373/47 662/1375/47 661/1374/47 -f 663/1372/48 664/1373/48 665/1374/48 -f 664/1373/48 666/1375/48 665/1374/48 -f 663/1376/49 665/1377/49 661/1378/49 -f 665/1377/49 659/1379/49 661/1378/49 -f 665/1380/50 666/1381/50 659/1382/50 -f 666/1381/50 660/1383/50 659/1382/50 -f 661/1380/51 662/1381/51 663/1382/51 -f 662/1381/51 664/1383/51 663/1382/51 -f 667/1372/47 668/1384/47 669/1385/47 -f 668/1384/47 670/1386/47 669/1385/47 -f 671/1372/48 672/1384/48 673/1385/48 -f 672/1384/48 674/1386/48 673/1385/48 -f 669/1387/51 670/1388/51 671/1389/51 -f 670/1388/51 672/1390/51 671/1389/51 -f 675/1372/47 676/1391/47 677/1392/47 -f 676/1391/47 678/1393/47 677/1392/47 -f 679/1372/48 680/1391/48 681/1392/48 -f 680/1391/48 682/1393/48 681/1392/48 -f 679/1394/52 681/1395/52 677/1396/52 -f 681/1395/52 675/1397/52 677/1396/52 -f 681/1398/53 682/1399/53 675/1400/53 -f 682/1399/53 676/1401/53 675/1400/53 -f 677/1398/54 678/1399/54 679/1400/54 -f 678/1399/54 680/1401/54 679/1400/54 -f 683/1372/47 684/1402/47 685/1403/47 -f 684/1402/47 686/1404/47 685/1403/47 -f 687/1372/48 688/1402/48 689/1403/48 -f 688/1402/48 690/1404/48 689/1403/48 -f 687/1405/55 689/1406/55 685/1407/55 -f 689/1406/55 683/1408/55 685/1407/55 -f 690/1394/56 688/1409/56 684/1396/56 -f 688/1409/56 686/1410/56 684/1396/56 -f 689/1405/57 690/1411/57 683/1407/57 -f 690/1411/57 684/1412/57 683/1407/57 -f 685/1405/58 686/1411/58 687/1407/58 -f 686/1411/58 688/1412/58 687/1407/58 -f 691/1372/47 692/1413/47 693/1403/47 -f 692/1413/47 694/1414/47 693/1403/47 -f 695/1415/48 696/1416/48 697/1417/48 -f 696/1416/48 698/1418/48 697/1417/48 -f 695/1405/49 697/1406/49 693/1407/49 -f 697/1406/49 691/1408/49 693/1407/49 -f 698/1419/59 696/1420/59 692/1421/59 -f 696/1420/59 694/1422/59 692/1421/59 -f 693/1423/51 694/1424/51 695/1425/51 -f 694/1424/51 696/1426/51 695/1425/51 -f 699/1372/47 700/1413/47 701/1427/47 -f 700/1413/47 702/1428/47 701/1427/47 -f 703/1372/48 704/1413/48 705/1429/48 -f 704/1413/48 706/1430/48 705/1429/48 -f 706/1431/54 704/1432/54 700/1433/54 -f 704/1432/54 702/1434/54 700/1433/54 -f 707/1372/47 708/1435/47 709/1436/47 -f 708/1435/47 710/1437/47 709/1436/47 -f 711/1372/48 712/1435/48 713/1436/48 -f 712/1435/48 714/1437/48 713/1436/48 -f 711/1376/60 713/1438/60 709/1378/60 -f 713/1438/60 707/1439/60 709/1378/60 -f 713/1398/61 714/1440/61 707/1400/61 -f 714/1440/61 708/1441/61 707/1400/61 -f 709/1442/62 710/1443/62 711/1444/62 -f 710/1443/62 712/1445/62 711/1444/62 -f 715/1372/47 716/1446/47 717/1392/47 -f 716/1446/47 718/1447/47 717/1392/47 -f 719/1372/48 720/1446/48 721/1392/48 -f 720/1446/48 722/1447/48 721/1392/48 -f 722/1448/56 720/1449/56 716/1450/56 -f 720/1449/56 718/1451/56 716/1450/56 -f 717/1452/58 718/1453/58 719/1454/58 -f 718/1453/58 720/1455/58 719/1454/58 -f 723/1372/47 724/1435/47 725/1436/47 -f 724/1435/47 726/1437/47 725/1436/47 -f 727/1372/48 728/1435/48 729/1436/48 -f 728/1435/48 730/1437/48 729/1436/48 -f 727/1456/60 729/1457/60 725/1458/60 -f 729/1457/60 723/1459/60 725/1458/60 -f 730/1460/63 728/1461/63 724/1462/63 -f 728/1461/63 726/1463/63 724/1462/63 -f 729/1398/61 730/1440/61 723/1400/61 -f 730/1440/61 724/1441/61 723/1400/61 -f 725/1398/62 726/1440/62 727/1400/62 -f 726/1440/62 728/1441/62 727/1400/62 -f 731/1372/47 732/1464/47 733/1436/47 -f 732/1464/47 734/1465/47 733/1436/47 -f 735/1372/48 736/1464/48 737/1436/48 -f 736/1464/48 738/1465/48 737/1436/48 -f 738/1460/64 736/1461/64 732/1462/64 -f 736/1461/64 734/1463/64 732/1462/64 -f 737/1466/53 738/1467/53 731/1468/53 -f 738/1467/53 732/1469/53 731/1468/53 -f 733/1466/54 734/1467/54 735/1468/54 -f 734/1467/54 736/1469/54 735/1468/54 -f 739/1372/47 740/1470/47 741/1471/47 -f 740/1470/47 742/1472/47 741/1471/47 -f 743/1372/48 744/1470/48 745/1471/48 -f 744/1470/48 746/1472/48 745/1471/48 -f 743/1380/60 745/1473/60 741/1382/60 -f 745/1473/60 739/1474/60 741/1382/60 -f 745/1398/61 746/1467/61 739/1400/61 -f 746/1467/61 740/1469/61 739/1400/61 -f 747/1475/47 748/1476/47 749/1477/47 -f 748/1476/47 750/1478/47 749/1477/47 -f 751/1475/48 752/1476/48 753/1477/48 -f 752/1476/48 754/1478/48 753/1477/48 -f 754/1479/59 752/1480/59 748/1481/59 -f 752/1480/59 750/1482/59 748/1481/59 -f 753/1483/50 754/1484/50 747/1485/50 -f 754/1484/50 748/1486/50 747/1485/50 -f 749/1483/51 750/1484/51 751/1485/51 -f 750/1484/51 752/1486/51 751/1485/51 -f 755/1487/47 756/1488/47 757/1489/47 -f 756/1488/47 758/1490/47 757/1489/47 -f 759/1491/48 760/1492/48 761/1493/48 -f 760/1492/48 762/1494/48 761/1493/48 -f 761/1495/61 762/1496/61 755/1378/61 -f 762/1496/61 756/1497/61 755/1378/61 -f 763/1498/47 764/1499/47 765/1500/47 -f 764/1499/47 766/1501/47 765/1500/47 -f 767/1502/48 768/1503/48 769/1504/48 -f 768/1503/48 770/1505/48 769/1504/48 -f 769/1495/53 770/1506/53 763/1378/53 -f 770/1506/53 764/1507/53 763/1378/53 -f 771/1508/47 772/1509/47 773/1510/47 -f 772/1509/47 774/1511/47 773/1510/47 -f 775/1508/48 776/1509/48 777/1510/48 -f 776/1509/48 778/1511/48 777/1510/48 -f 775/1512/49 777/1513/49 773/1514/49 -f 777/1513/49 771/1515/49 773/1514/49 -f 778/1495/59 776/1516/59 772/1378/59 -f 776/1516/59 774/1517/59 772/1378/59 -f 777/1495/50 778/1518/50 771/1378/50 -f 778/1518/50 772/1519/50 771/1378/50 -f 773/1520/51 774/1521/51 775/1485/51 -f 774/1521/51 776/1522/51 775/1485/51 -f 779/1523/47 780/1524/47 781/1525/47 -f 780/1524/47 782/1526/47 781/1525/47 -f 783/1523/48 784/1524/48 785/1525/48 -f 784/1524/48 786/1526/48 785/1525/48 -f 785/1495/61 786/1527/61 779/1378/61 -f 786/1527/61 780/1528/61 779/1378/61 -o Hammer -v 0.009894 0.159364 0.192004 -v 0.009894 0.127600 0.223769 -v 0.009894 0.115170 0.147810 -v 0.009894 0.083406 0.179575 -v -0.009638 0.115170 0.147810 -v -0.009638 0.083406 0.179575 -v -0.009638 0.159364 0.192004 -v -0.009638 0.127600 0.223769 -v 0.009894 0.151487 0.265041 -v 0.009894 0.135862 0.265041 -v 0.009894 0.151487 0.220119 -v 0.009894 0.135862 0.220119 -v -0.009638 0.151487 0.220119 -v -0.009638 0.135862 0.220119 -v -0.009638 0.151487 0.265041 -v -0.009638 0.135862 0.265041 -v 0.009894 0.149695 0.230343 -v 0.009894 0.138646 0.241391 -v 0.009894 0.112406 0.193054 -v 0.009894 0.101357 0.204103 -v -0.009638 0.112406 0.193054 -v -0.009638 0.101357 0.204103 -v -0.009638 0.149695 0.230343 -v -0.009638 0.138646 0.241391 -v 0.009894 0.151488 0.220120 -v 0.009894 0.140439 0.231168 -v 0.009894 0.119723 0.188355 -v 0.009894 0.108675 0.199404 -v -0.009638 0.119723 0.188355 -v -0.009638 0.108675 0.199404 -v -0.009638 0.151488 0.220120 -v -0.009638 0.140439 0.231168 -vn 1.0000 -0.0000 -0.0000 -vn -1.0000 -0.0000 -0.0000 -vn -0.0000 0.7071 -0.7071 -vn -0.0000 0.7071 0.7071 -vn -0.0000 1.0000 -0.0000 -vn -0.0000 -1.0000 -0.0000 -vn -0.0000 -0.0000 1.0000 -vn -0.0000 -0.7071 0.7071 -vt 0.024914 0.671166 -vt 0.024914 0.581323 -vt 0.149915 0.671166 -vt 0.149915 0.581323 -vt 0.850086 0.671166 -vt 0.850086 0.581323 -vt 0.975086 0.671166 -vt 0.975086 0.581323 -vt 0.484375 0.149914 -vt 0.484375 0.024914 -vt 0.523438 0.149914 -vt 0.523438 0.024914 -vt 0.484375 0.671166 -vt 0.484375 0.581323 -vt 0.523438 0.671166 -vt 0.523438 0.581323 -vt 0.000000 0.717492 -vt 0.000000 0.686242 -vt 0.068825 0.717492 -vt 0.068825 0.686242 -vt 0.931175 0.717492 -vt 0.931175 0.686242 -vt 1.000000 0.717492 -vt 1.000000 0.686242 -vt 0.484375 0.068825 -vt 0.484375 0.000000 -vt 0.523438 0.068825 -vt 0.523438 0.000000 -vt 0.484375 1.000000 -vt 0.484375 0.931175 -vt 0.523438 1.000000 -vt 0.523438 0.931175 -vt 0.484375 0.717492 -vt 0.484375 0.686242 -vt 0.523438 0.717492 -vt 0.523438 0.686242 -vt 0.000000 0.648480 -vt 0.000000 0.617230 -vt 0.100860 0.648480 -vt 0.100860 0.617230 -vt 0.899140 0.648480 -vt 0.899140 0.617230 -vt 1.000000 0.648480 -vt 1.000000 0.617230 -vt 0.484375 0.100860 -vt 0.523438 0.100860 -vt 0.484375 0.899140 -vt 0.523438 0.899140 -vt 0.020413 0.663117 -vt 0.020413 0.631867 -vt 0.110257 0.663117 -vt 0.110257 0.631867 -vt 0.889743 0.663117 -vt 0.889743 0.631867 -vt 0.979587 0.663117 -vt 0.979587 0.631867 -vt 0.484375 0.110257 -vt 0.484375 0.020413 -vt 0.523438 0.110257 -vt 0.523438 0.020413 -vt 0.484375 0.979587 -vt 0.484375 0.889743 -vt 0.523438 0.979587 -vt 0.523438 0.889743 -s 0 -f 787/1529/65 788/1530/65 789/1531/65 -f 788/1530/65 790/1532/65 789/1531/65 -f 791/1533/66 792/1534/66 793/1535/66 -f 792/1534/66 794/1536/66 793/1535/66 -f 791/1537/67 793/1538/67 789/1539/67 -f 793/1538/67 787/1540/67 789/1539/67 -f 793/1541/68 794/1542/68 787/1543/68 -f 794/1542/68 788/1544/68 787/1543/68 -f 795/1545/65 796/1546/65 797/1547/65 -f 796/1546/65 798/1548/65 797/1547/65 -f 799/1549/66 800/1550/66 801/1551/66 -f 800/1550/66 802/1552/66 801/1551/66 -f 799/1553/69 801/1554/69 797/1555/69 -f 801/1554/69 795/1556/69 797/1555/69 -f 802/1557/70 800/1558/70 796/1559/70 -f 800/1558/70 798/1560/70 796/1559/70 -f 801/1561/71 802/1562/71 795/1563/71 -f 802/1562/71 796/1564/71 795/1563/71 -f 803/1565/65 804/1566/65 805/1567/65 -f 804/1566/65 806/1568/65 805/1567/65 -f 807/1569/66 808/1570/66 809/1571/66 -f 808/1570/66 810/1572/66 809/1571/66 -f 807/1573/67 809/1554/67 805/1574/67 -f 809/1554/67 803/1556/67 805/1574/67 -f 810/1557/72 808/1575/72 804/1559/72 -f 808/1575/72 806/1576/72 804/1559/72 -f 811/1577/65 812/1578/65 813/1579/65 -f 812/1578/65 814/1580/65 813/1579/65 -f 815/1581/66 816/1582/66 817/1583/66 -f 816/1582/66 818/1584/66 817/1583/66 -f 815/1585/67 817/1586/67 813/1587/67 -f 817/1586/67 811/1588/67 813/1587/67 -f 818/1589/72 816/1590/72 812/1591/72 -f 816/1590/72 814/1592/72 812/1591/72 diff --git a/src/main/resources/assets/hbm/models/weapons/rem700.obj b/src/main/resources/assets/hbm/models/weapons/rem700.obj deleted file mode 100644 index 85d71180a..000000000 --- a/src/main/resources/assets/hbm/models/weapons/rem700.obj +++ /dev/null @@ -1,6148 +0,0 @@ -# Blender v2.79 (sub 0) OBJ File: 'rem700.blend' -# www.blender.org -o Bolt -v 0.201323 0.487343 0.202110 -v 0.181796 0.414952 0.309201 -v 0.182256 0.407917 0.301111 -v 0.195709 0.540417 0.044141 -v 0.144291 0.453531 0.180577 -v 0.144291 0.540417 0.044141 -v 0.144291 0.490672 0.204230 -v 0.125425 0.423613 0.309530 -v 0.152230 0.426095 0.305632 -v 0.138677 0.487343 0.202110 -v 0.138677 0.543746 0.046261 -v 0.138677 0.456859 0.182697 -v 0.201323 0.543746 0.046261 -v 0.125278 0.385948 0.286699 -v 0.119166 0.387507 0.291598 -v 0.138677 0.574230 0.065675 -v 0.201323 0.456859 0.182697 -v 0.195709 0.453531 0.180577 -v 0.176149 0.421148 0.313401 -v 0.181216 0.417662 0.312092 -v 0.155329 0.388211 0.283145 -v 0.125608 0.386084 0.286486 -v 0.195709 0.577559 0.067794 -v 0.201323 0.574230 0.065675 -v 0.175984 0.383421 0.290667 -v 0.181406 0.386064 0.293864 -v 0.122404 0.421851 0.308329 -v 0.120209 0.406064 0.295227 -v 0.195709 0.490672 0.204230 -v 0.181596 0.417225 0.312214 -v 0.144291 0.577559 0.067794 -v 0.119530 0.419287 0.308976 -v 1.604822 0.520769 -0.093884 -v 0.545583 0.482501 -0.086272 -v 0.545583 0.520769 -0.093884 -v 1.604822 0.482501 -0.086272 -v 0.545583 0.450058 -0.064595 -v 1.604822 0.450059 -0.064595 -v 0.545583 0.428381 -0.032153 -v 1.604822 0.428381 -0.032153 -v 0.545583 0.420769 0.006116 -v 1.604822 0.420769 0.006116 -v 0.545583 0.428381 0.044384 -v 1.604822 0.428381 0.044384 -v 0.545583 0.450058 0.076826 -v 1.604822 0.450059 0.076826 -v 0.545583 0.482501 0.098504 -v 1.604822 0.482501 0.098504 -v 0.545583 0.520769 0.106116 -v 1.604822 0.520769 0.106116 -v 0.545583 0.559037 0.098504 -v 1.604822 0.559038 0.098504 -v 0.545583 0.591480 0.076826 -v 1.604822 0.591480 0.076826 -v 0.545583 0.613157 0.044384 -v 1.604822 0.613157 0.044384 -v 0.545583 0.620769 0.006116 -v 1.604822 0.620769 0.006116 -v 0.545583 0.613157 -0.032153 -v 1.604822 0.613157 -0.032153 -v 0.545583 0.591480 -0.064595 -v 1.604822 0.591480 -0.064595 -v 0.545583 0.559037 -0.086272 -v 1.604822 0.559038 -0.086272 -v 0.302840 0.520769 -0.103884 -v 0.047566 0.482501 -0.096272 -v 0.047566 0.520769 -0.103884 -v 0.302840 0.482501 -0.096272 -v 0.047566 0.450058 -0.074595 -v 0.302840 0.450058 -0.074595 -v 0.047566 0.428381 -0.042153 -v 0.302840 0.428381 -0.042153 -v 0.047566 0.420769 -0.003884 -v 0.302840 0.420769 -0.003884 -v 0.047566 0.428381 0.034384 -v 0.302840 0.428381 0.034384 -v 0.047566 0.450058 0.066826 -v 0.302840 0.450058 0.066826 -v 0.047566 0.482501 0.088504 -v 0.302840 0.482501 0.088504 -v 0.047566 0.520769 0.096116 -v 0.302840 0.520769 0.096116 -v 0.047566 0.559037 0.088504 -v 0.302840 0.559038 0.088504 -v 0.047566 0.591480 0.066826 -v 0.302840 0.591480 0.066826 -v 0.047566 0.613157 0.034384 -v 0.302840 0.613157 0.034384 -v 0.047566 0.620769 -0.003884 -v 0.302840 0.620769 -0.003884 -v 0.047566 0.613157 -0.042153 -v 0.302840 0.613157 -0.042153 -v 0.047566 0.591480 -0.074595 -v 0.544463 0.428381 -0.042153 -v 0.544463 0.420769 -0.003884 -v 0.302840 0.591480 -0.074595 -v 0.047566 0.559037 -0.096272 -v 0.302840 0.559038 -0.096272 -v -0.027258 0.493144 -0.070578 -v -0.027258 0.469724 -0.054930 -v -0.204829 0.493144 -0.070578 -v -0.027258 0.469724 0.047161 -v -0.027258 0.587463 0.023741 -v -0.027258 0.448580 -0.003884 -v -0.027258 0.571814 0.047161 -v -0.027258 0.548395 0.062810 -v -0.027258 0.571814 -0.054930 -v -0.027258 0.493144 0.062810 -v -0.027258 0.520769 -0.076073 -v -0.027258 0.592958 -0.003884 -v -0.027258 0.454075 0.023741 -v -0.027258 0.548395 -0.070578 -v -0.027258 0.454075 -0.031510 -v -0.027258 0.520769 0.068305 -v -0.027258 0.587463 -0.031510 -v -0.204829 0.548395 -0.070578 -v -0.204829 0.571814 0.047161 -v -0.204829 0.548395 0.062810 -v -0.204829 0.454075 -0.031510 -v -0.204829 0.469724 -0.054930 -v -0.204829 0.587463 0.023741 -v -0.204829 0.448580 -0.003884 -v -0.204829 0.592958 -0.003884 -v -0.204829 0.454075 0.023741 -v -0.204829 0.587463 -0.031510 -v -0.204829 0.469724 0.047161 -v -0.204829 0.571814 -0.054930 -v -0.204829 0.493144 0.062810 -v -0.204829 0.520769 0.068305 -v -0.237407 0.538436 -0.046535 -v -0.237407 0.478118 -0.021551 -v -0.237407 0.503103 0.038766 -v -0.237407 0.520769 -0.050049 -v -0.204829 0.520769 -0.076073 -v -0.237407 0.488126 -0.036528 -v -0.237407 0.503103 -0.046535 -v -0.237407 0.474604 -0.003884 -v -0.237407 0.478118 0.013782 -v -0.237407 0.488126 0.028759 -v -0.237407 0.520769 0.042280 -v -0.237407 0.538436 0.038766 -v -0.237407 0.553412 0.028759 -v -0.237407 0.563420 0.013782 -v -0.237407 0.566934 -0.003884 -v -0.237407 0.563420 -0.021551 -v -0.237407 0.553412 -0.036528 -v 0.544463 0.591480 0.066826 -v 0.544463 0.450059 0.066826 -v 0.544463 0.450059 -0.074595 -v 0.544463 0.559038 0.088504 -v 0.544463 0.613157 -0.042153 -v 0.544463 0.591480 -0.074595 -v 0.544463 0.482501 -0.096272 -v 0.544463 0.482501 0.088504 -v 0.544463 0.620769 -0.003884 -v 0.544463 0.428381 0.034384 -v 0.544463 0.559038 -0.096272 -v 0.544463 0.520769 0.096116 -v 0.544463 0.520769 -0.103884 -v 0.544463 0.613157 0.034384 -v 0.152131 0.329293 0.309273 -v 0.118672 0.327211 0.337361 -v 0.121397 0.336017 0.309232 -v 0.147365 0.320001 0.338310 -v 0.115674 0.331929 0.358445 -v 0.111348 0.351836 0.379920 -v 0.143108 0.326703 0.368257 -v 0.139907 0.347551 0.390772 -v 0.092258 0.363610 0.358545 -v 0.087977 0.379965 0.332012 -v 0.102235 0.340218 0.343396 -v 0.098050 0.354492 0.317805 -v 0.138552 0.377503 0.400307 -v 0.139495 0.407751 0.393672 -v 0.111309 0.380601 0.389152 -v 0.142430 0.430492 0.373031 -v 0.111973 0.401897 0.384481 -v 0.093494 0.405292 0.349855 -v 0.113526 0.423767 0.364594 -v 0.097870 0.388890 0.374104 -v 0.154515 0.352373 0.288016 -v 0.125522 0.358227 0.289173 -v 0.109086 0.371234 0.295208 -v 0.126186 0.379523 0.284501 -v 0.155459 0.382622 0.281381 -v 0.146645 0.440123 0.343378 -v 0.150902 0.433421 0.313431 -v 0.118824 0.432914 0.336293 -v 0.121821 0.428195 0.315209 -v 0.104720 0.419906 0.325916 -v 0.099408 0.395982 0.308251 -v 0.181035 0.336017 0.317710 -v 0.201067 0.354492 0.332450 -v 0.175812 0.327211 0.345484 -v 0.206707 0.379626 0.349429 -v 0.189916 0.340218 0.355861 -v 0.195275 0.363610 0.373190 -v 0.172815 0.331929 0.366568 -v 0.170986 0.351836 0.388398 -v 0.173164 0.423767 0.373072 -v 0.169114 0.401897 0.392604 -v 0.168450 0.380601 0.397275 -v 0.185550 0.388890 0.386569 -v 0.196511 0.405292 0.364499 -v 0.182663 0.358227 0.297296 -v 0.183327 0.379523 0.292625 -v 0.202425 0.395982 0.322896 -v 0.183336 0.407755 0.301521 -v 0.196766 0.371234 0.307673 -v 0.175964 0.432914 0.344416 -v 0.192401 0.419906 0.338381 -v 0.178961 0.428195 0.323332 -vt 0.681485 0.088560 -vt 0.679440 0.062396 -vt 0.681582 0.062788 -vt 0.780906 0.123652 -vt 0.782469 0.099863 -vt 0.782880 0.123618 -vt 0.784853 0.104505 -vt 0.785262 0.122852 -vt 0.784245 0.122155 -vt 0.664255 0.088717 -vt 0.660832 0.122236 -vt 0.656960 0.089582 -vt 0.294439 0.849828 -vt 0.292990 0.853682 -vt 0.279719 0.853271 -vt 0.653143 0.064282 -vt 0.653858 0.063525 -vt 0.665055 0.088621 -vt 0.668128 0.121372 -vt 0.693074 0.120379 -vt 0.688788 0.087776 -vt 0.689591 0.087696 -vt 0.677929 0.062521 -vt 0.678643 0.062281 -vt 0.781737 0.082012 -vt 0.782868 0.081410 -vt 0.684176 0.121335 -vt 0.684967 0.121243 -vt 0.686804 0.061346 -vt 0.685973 0.061167 -vt 0.661625 0.063491 -vt 0.662056 0.063425 -vt 0.660039 0.122329 -vt 0.657577 0.064498 -vt 0.783288 0.080716 -vt 0.782880 0.104471 -vt 0.692270 0.120459 -vt 0.678697 0.062206 -vt 0.780496 0.099897 -vt 0.783303 0.123492 -vt 0.278270 0.849328 -vt 0.278270 0.813626 -vt 0.279719 0.809773 -vt 0.292990 0.810184 -vt 0.294439 0.814127 -vt 0.656166 0.089674 -vt 0.668928 0.121276 -vt 0.680694 0.088652 -vt 0.782880 0.081373 -vt 0.780921 0.080716 -vt 0.661211 0.063147 -vt 0.785262 0.080750 -vt 0.868959 0.856683 -vt 0.875642 0.890921 -vt 0.868959 0.890921 -vt 0.875642 0.856683 -vt 0.881820 0.891003 -vt 0.881820 0.856765 -vt 0.886551 0.891156 -vt 0.910302 0.959875 -vt 0.904128 0.925619 -vt 0.910302 0.925619 -vt 0.904128 0.959875 -vt 0.897445 0.925619 -vt 0.897445 0.959875 -vt 0.891271 0.925619 -vt 0.891271 0.959875 -vt 0.886545 0.925619 -vt 0.862788 0.891300 -vt 0.868959 0.925618 -vt 0.862788 0.925540 -vt 0.868959 0.891379 -vt 0.875642 0.925619 -vt 0.875642 0.891379 -vt 0.881820 0.925540 -vt 0.881820 0.891301 -vt 0.886551 0.925396 -vt 0.886545 0.959875 -vt 0.880371 0.925619 -vt 0.886545 0.925619 -vt 0.880371 0.959875 -vt 0.873688 0.925619 -vt 0.873688 0.959875 -vt 0.867514 0.925619 -vt 0.831750 0.950193 -vt 0.836474 0.926436 -vt 0.860211 0.931162 -vt 0.867514 0.959875 -vt 0.862788 0.925619 -vt 0.862788 0.856766 -vt 0.862788 0.891004 -vt 0.813005 0.884470 -vt 0.877778 0.871586 -vt 0.890662 0.936369 -vt 0.771225 0.102771 -vt 0.761431 0.110703 -vt 0.761431 0.102771 -vt 0.771225 0.110703 -vt 0.761334 0.118036 -vt 0.771128 0.118036 -vt 0.761153 0.123652 -vt 0.654049 0.190408 -vt 0.663848 0.183079 -vt 0.663848 0.190408 -vt 0.654049 0.183079 -vt 0.663848 0.175146 -vt 0.654049 0.175146 -vt 0.663848 0.167818 -vt 0.654049 0.167818 -vt 0.663848 0.162209 -vt 0.702962 0.161466 -vt 0.693074 0.168791 -vt 0.693167 0.161466 -vt 0.702868 0.168791 -vt 0.693074 0.176723 -vt 0.702868 0.176723 -vt 0.693166 0.184056 -vt 0.702961 0.184056 -vt 0.693338 0.189672 -vt 0.722203 0.161466 -vt 0.712403 0.168795 -vt 0.712403 0.161466 -vt 0.722203 0.168795 -vt 0.712403 0.176727 -vt 0.722203 0.176727 -vt 0.712403 0.184056 -vt 0.644774 0.190408 -vt 0.644774 0.183079 -vt 0.722203 0.184056 -vt 0.712403 0.189665 -vt 0.771127 0.095446 -vt 0.761333 0.095446 -vt 0.732947 0.065735 -vt 0.727452 0.058900 -vt 0.732947 0.057802 -vt 0.686156 0.125433 -vt 0.692932 0.130684 -vt 0.686119 0.130727 -vt 0.701717 0.078671 -vt 0.710197 0.076157 -vt 0.709045 0.081707 -vt 0.701717 0.044864 -vt 0.700859 0.053609 -vt 0.696109 0.050472 -vt 0.716976 0.081708 -vt 0.721212 0.073966 -vt 0.724303 0.078672 -vt 0.693073 0.065733 -vt 0.698667 0.058900 -vt 0.698667 0.064626 -vt 0.724303 0.044864 -vt 0.715922 0.047369 -vt 0.716976 0.041828 -vt 0.729912 0.073063 -vt 0.727452 0.064627 -vt 0.696109 0.073062 -vt 0.704907 0.073966 -vt 0.725261 0.053610 -vt 0.729912 0.050473 -vt 0.709045 0.041828 -vt 0.704907 0.049560 -vt 0.715922 0.076157 -vt 0.693073 0.057801 -vt 0.721212 0.049561 -vt 0.725261 0.069917 -vt 0.700859 0.069917 -vt 0.710197 0.047369 -vt 0.686156 0.136453 -vt 0.693074 0.141697 -vt 0.686261 0.141740 -vt 0.692932 0.152795 -vt 0.686154 0.158047 -vt 0.686119 0.152754 -vt 0.693074 0.121335 -vt 0.692969 0.125390 -vt 0.692967 0.158089 -vt 0.686254 0.162102 -vt 0.767969 0.095446 -vt 0.774786 0.090156 -vt 0.774786 0.095446 -vt 0.761153 0.090156 -vt 0.767969 0.095446 -vt 0.761153 0.095446 -vt 0.767969 0.084429 -vt 0.767969 0.090156 -vt 0.761153 0.084429 -vt 0.767969 0.090156 -vt 0.767969 0.079139 -vt 0.774786 0.084429 -vt 0.761153 0.079139 -vt 0.767969 0.084429 -vt 0.767969 0.075090 -vt 0.774786 0.079139 -vt 0.761153 0.075090 -vt 0.767969 0.079139 -vt 0.692967 0.147069 -vt 0.686254 0.141740 -vt 0.693067 0.141782 -vt 0.686154 0.147027 -vt 0.780780 0.048417 -vt 0.783369 0.061435 -vt 0.770353 0.064024 -vt 0.789937 0.053359 -vt 0.783369 0.051006 -vt 0.787746 0.048069 -vt 0.784770 0.058051 -vt 0.784770 0.054389 -vt 0.787746 0.064376 -vt 0.789937 0.059085 -vt 0.780780 0.064024 -vt 0.778408 0.070617 -vt 0.783698 0.068425 -vt 0.772683 0.070617 -vt 0.777398 0.065425 -vt 0.767393 0.068425 -vt 0.773736 0.065425 -vt 0.763344 0.064376 -vt 0.761153 0.059085 -vt 0.767764 0.061435 -vt 0.761153 0.053359 -vt 0.766363 0.058051 -vt 0.763344 0.048069 -vt 0.766363 0.054389 -vt 0.767392 0.044019 -vt 0.767764 0.051006 -vt 0.772682 0.041828 -vt 0.770353 0.048417 -vt 0.778407 0.041828 -vt 0.773736 0.047015 -vt 0.783697 0.044019 -vt 0.777397 0.047015 -vt 0.692969 0.136410 -vt 0.681587 0.130972 -vt 0.675982 0.159171 -vt 0.647807 0.153566 -vt 0.712139 0.176723 -vt 0.731478 0.176727 -vt 0.731478 0.184056 -vt 0.780496 0.110703 -vt 0.780398 0.118036 -vt 0.644774 0.162209 -vt 0.654049 0.162209 -vt 0.731478 0.168795 -vt 0.644774 0.175146 -vt 0.712232 0.184056 -vt 0.722203 0.189665 -vt 0.731478 0.189665 -vt 0.770947 0.123652 -vt 0.780217 0.123652 -vt 0.712139 0.168791 -vt 0.780495 0.102771 -vt 0.644774 0.167818 -vt 0.712403 0.189672 -vt 0.703133 0.189672 -vt 0.780397 0.095446 -vt 0.716083 0.579103 -vt 0.718162 0.573788 -vt 0.717295 0.579716 -vt 0.716941 0.572967 -vt 0.720885 0.570345 -vt 0.726424 0.568171 -vt 0.720809 0.568076 -vt 0.726612 0.565794 -vt 0.726683 0.573132 -vt 0.727335 0.579436 -vt 0.721068 0.573838 -vt 0.721422 0.579786 -vt 0.732937 0.566692 -vt 0.737892 0.570577 -vt 0.732506 0.569019 -vt 0.740237 0.576363 -vt 0.735994 0.571754 -vt 0.733551 0.578402 -vt 0.738245 0.577326 -vt 0.732689 0.572512 -vt 0.757346 0.663859 -vt 0.756052 0.667996 -vt 0.756129 0.662543 -vt 0.719594 0.585348 -vt 0.722500 0.585397 -vt 0.725167 0.587491 -vt 0.724452 0.588248 -vt 0.723082 0.588083 -vt 0.756153 0.674290 -vt 0.757346 0.674750 -vt 0.756200 0.675333 -vt 0.757204 0.669091 -vt 0.757275 0.673522 -vt 0.739386 0.582642 -vt 0.735519 0.587533 -vt 0.737426 0.583314 -vt 0.733365 0.587392 -vt 0.732934 0.587457 -vt 0.734703 0.586758 -vt 0.732520 0.587113 -vt 0.734121 0.584072 -vt 0.728178 0.585197 -vt 0.762212 0.575000 -vt 0.762185 0.569735 -vt 0.764383 0.575519 -vt 0.757387 0.574981 -vt 0.760099 0.569479 -vt 0.751236 0.575467 -vt 0.756701 0.569466 -vt 0.752018 0.684066 -vt 0.765455 0.677363 -vt 0.765501 0.683588 -vt 0.757238 0.675333 -vt 0.756101 0.680807 -vt 0.756052 0.675664 -vt 0.757238 0.680651 -vt 0.756087 0.685199 -vt 0.756681 0.566733 -vt 0.756054 0.657185 -vt 0.757428 0.661208 -vt 0.756233 0.662543 -vt 0.756052 0.650890 -vt 0.757211 0.656068 -vt 0.757428 0.646257 -vt 0.756232 0.645301 -vt 0.750783 0.569675 -vt 0.745062 0.568036 -vt 0.750754 0.565794 -vt 0.745082 0.570769 -vt 0.745260 0.576341 -vt 0.742270 0.571478 -vt 0.761268 0.581057 -vt 0.763406 0.581819 -vt 0.758476 0.584499 -vt 0.758113 0.585312 -vt 0.757282 0.585134 -vt 0.752004 0.581759 -vt 0.752863 0.586667 -vt 0.757871 0.581043 -vt 0.740237 0.578242 -vt 0.743440 0.583056 -vt 0.742459 0.584168 -vt 0.741265 0.577349 -vt 0.746252 0.582346 -vt 0.750006 0.586173 -vt 0.750749 0.586362 -vt 0.675548 0.061835 -vt 0.247730 0.141068 -vt 0.233312 0.138431 -vt 0.247545 0.140482 -vt 0.746857 0.585802 -vt 0.747313 0.588068 -vt 0.886551 0.856918 -vt 0.886545 0.959875 -vt 0.886551 0.891156 -vt 0.829195 0.944019 -vt 0.829196 0.937336 -vt 0.831752 0.931162 -vt 0.842644 0.923879 -vt 0.849321 0.923879 -vt 0.855490 0.926436 -vt 0.862765 0.937336 -vt 0.862764 0.944019 -vt 0.860208 0.950193 -vt 0.855486 0.954919 -vt 0.849317 0.957476 -vt 0.842639 0.957476 -vt 0.836471 0.954919 -vt 0.862788 0.959875 -vt 0.825889 0.949253 -vt 0.813005 0.936366 -vt 0.806032 0.919530 -vt 0.806032 0.901306 -vt 0.825889 0.871585 -vt 0.842723 0.864611 -vt 0.860944 0.864612 -vt 0.890662 0.884472 -vt 0.897635 0.901309 -vt 0.897635 0.919532 -vt 0.877778 0.949254 -vt 0.860944 0.956228 -vt 0.842723 0.956227 -vt 0.686261 0.121378 -vt 0.693067 0.162144 -vt 0.774786 0.075090 -vt 0.767969 0.075090 -vt 0.644774 0.146237 -vt 0.644774 0.138305 -vt 0.647807 0.130976 -vt 0.653412 0.125366 -vt 0.660734 0.122330 -vt 0.668660 0.122329 -vt 0.675982 0.125363 -vt 0.684620 0.138300 -vt 0.684620 0.146232 -vt 0.681587 0.153561 -vt 0.668660 0.162208 -vt 0.660734 0.162209 -vt 0.653412 0.159174 -vt 0.731478 0.161466 -vt 0.712232 0.161466 -vt 0.724459 0.588299 -vt 0.728886 0.588464 -vt 0.733490 0.588314 -vt 0.751953 0.675224 -vt 0.757218 0.686890 -vt 0.757209 0.651636 -vt 0.759440 0.586708 -vt 0.752891 0.586754 -vt 0.758328 0.587137 -vt 0.749952 0.586248 -vt 0.678155 0.064409 -vt 0.676004 0.064101 -vn 0.9888 -0.0803 0.1260 -vn 0.0000 -0.8435 -0.5372 -vn 0.0000 0.8435 0.5372 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.5372 -0.8435 -vn -0.5729 -0.6409 -0.5108 -vn -0.5751 0.6900 0.4394 -vn 0.5750 -0.6901 -0.4395 -vn 0.5729 0.6409 0.5108 -vn 0.5751 0.6901 0.4395 -vn 0.5729 -0.7340 -0.3648 -vn -0.5730 0.7339 0.3647 -vn -0.5748 -0.6902 -0.4396 -vn -0.9888 0.0802 -0.1261 -vn 1.0000 0.0000 0.0000 -vn 0.9888 -0.0802 0.1261 -vn 0.0000 0.5370 -0.8436 -vn -0.5729 -0.6410 -0.5108 -vn -0.5751 0.6901 0.4395 -vn 0.5748 -0.6902 -0.4396 -vn 0.5730 0.6409 0.5108 -vn 0.0002 -0.8435 -0.5372 -vn 0.5748 0.6902 0.4396 -vn -0.5730 0.7339 0.3648 -vn -0.5727 0.7341 0.3649 -vn -0.5750 -0.6901 -0.4395 -vn -0.9888 0.0803 -0.1260 -vn 0.0000 -0.0000 -1.0000 -vn 0.0000 -0.3827 -0.9239 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 -0.9239 -0.3827 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 -0.9239 0.3827 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 -0.3827 0.9239 -vn 0.0000 0.0000 1.0000 -vn -0.0000 0.3827 0.9239 -vn -0.0000 0.7071 0.7071 -vn 0.0000 0.9239 0.3827 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.9239 -0.3827 -vn 0.0000 0.7071 -0.7071 -vn -0.0000 0.3827 -0.9239 -vn -0.3484 -0.6628 -0.6628 -vn -0.3484 -0.3587 -0.8660 -vn -0.3484 -0.3587 0.8660 -vn -0.3484 -0.6628 0.6628 -vn -0.3484 0.9373 0.0000 -vn -0.3484 0.8660 0.3587 -vn -0.3484 -0.8660 0.3587 -vn -0.3484 -0.9373 0.0000 -vn -0.3484 0.3587 0.8660 -vn -0.3484 0.6628 0.6628 -vn -0.3484 0.3587 -0.8660 -vn -0.3484 0.6628 -0.6628 -vn -0.3484 -0.8660 -0.3587 -vn -0.3484 -0.0000 0.9373 -vn -0.3484 -0.0000 -0.9373 -vn -0.3484 0.8660 -0.3587 -vn -0.6241 -0.2990 -0.7218 -vn -0.6241 -0.0000 -0.7813 -vn -0.6241 -0.5525 -0.5525 -vn -0.6241 -0.7218 -0.2990 -vn -0.6241 -0.7813 0.0000 -vn -0.6241 -0.7218 0.2990 -vn -0.6241 -0.5525 0.5525 -vn -0.6241 -0.2990 0.7218 -vn -0.6241 -0.0000 0.7813 -vn -0.6241 0.2990 0.7218 -vn -0.6241 0.5525 0.5525 -vn -0.6241 0.7218 0.2990 -vn -0.6241 0.7813 0.0000 -vn -0.6241 0.7218 -0.2990 -vn -0.6241 0.5525 -0.5525 -vn -0.6241 0.2990 -0.7218 -vn 0.0796 -0.8453 -0.5284 -vn -0.4368 -0.8937 -0.1022 -vn -0.4167 -0.7393 -0.5289 -vn 0.0024 -0.9983 -0.0576 -vn -0.5021 -0.7938 0.3432 -vn -0.5887 -0.4705 0.6573 -vn -0.0671 -0.8811 0.4682 -vn -0.1192 -0.5409 0.8326 -vn -0.9221 -0.2661 0.2809 -vn -0.9890 -0.0011 -0.1479 -vn -0.7866 -0.6169 0.0262 -vn -0.8283 -0.4132 -0.3784 -vn -0.1430 -0.0575 0.9881 -vn -0.1285 0.4730 0.8716 -vn -0.5704 -0.0394 0.8204 -vn -0.0785 0.8419 0.5338 -vn -0.5546 0.4127 0.7226 -vn -0.9017 0.4099 0.1376 -vn -0.5504 0.7333 0.3991 -vn -0.8533 0.1351 0.5037 -vn 0.1222 -0.4748 -0.8716 -vn -0.3332 -0.4127 -0.8477 -vn -0.6805 -0.1387 -0.7195 -vn -0.5849 0.1872 -0.7892 -vn -0.3187 0.0367 -0.9471 -vn 0.1372 0.0577 -0.9889 -vn -0.3652 0.2412 -0.8992 -vn 0.1238 0.3013 -0.9455 -vn -0.0089 0.9982 0.0586 -vn 0.0629 0.8793 -0.4721 -vn -0.4503 0.8925 -0.0242 -vn -0.1608 0.7149 -0.6805 -vn -0.4646 0.6311 -0.6213 -vn -0.3855 0.7920 -0.4735 -vn -0.6181 0.5512 -0.5606 -vn -0.7492 0.6157 -0.2443 -vn -0.8066 0.2597 -0.5311 -vn 0.5492 -0.7367 -0.3946 -vn 0.9001 -0.4146 -0.1335 -vn 0.4472 -0.8941 0.0262 -vn 0.9896 -0.0030 0.1438 -vn 0.7475 -0.6177 0.2445 -vn 0.8069 -0.2640 0.5284 -vn 0.3824 -0.7944 0.4719 -vn 0.3783 -0.4733 0.7956 -vn 0.4155 0.7365 0.5338 -vn 0.3301 0.4112 0.8497 -vn 0.3166 -0.0397 0.9477 -vn 0.6810 0.1346 0.7198 -vn 0.8289 0.4076 0.3832 -vn 0.5531 -0.4148 -0.7225 -vn 0.5672 0.0380 -0.8227 -vn 0.3851 0.2844 -0.8780 -vn 0.3793 0.2785 -0.8823 -vn 0.9228 0.2610 -0.2835 -vn 0.5861 0.4672 -0.6620 -vn 0.8531 -0.1389 -0.5028 -vn 0.4351 0.8944 0.1040 -vn 0.7881 0.6150 -0.0256 -vn 0.7500 0.5510 -0.3659 -vn 0.7386 0.5595 -0.3761 -vn 0.5002 0.7932 -0.3474 -vn 0.6436 0.6186 -0.4507 -vn 0.3427 0.7173 -0.6067 -vn 0.3714 0.5057 -0.7787 -vn -0.6172 0.3924 -0.6820 -vn 0.1100 0.7337 -0.6705 -s off -f 1/1/1 2/2/1 3/3/1 -f 4/4/2 5/5/2 6/6/2 -f 7/7/3 8/8/3 9/9/3 -f 10/10/4 11/11/4 12/12/4 -f 13/13/5 4/14/5 6/15/5 -f 12/12/6 14/16/6 15/17/6 -f 7/18/7 16/19/7 10/10/7 -f 4/20/8 17/21/8 18/22/8 -f 19/23/9 20/24/9 1/1/9 -f 21/25/2 22/26/2 5/5/2 -f 23/27/10 1/1/10 24/28/10 -f 25/29/11 17/21/11 26/30/11 -f 27/31/12 8/32/12 7/18/12 -f 6/33/13 12/12/13 11/11/13 -f 12/12/14 15/17/14 28/34/14 -f 23/35/3 7/7/3 29/36/3 -f 24/28/15 17/21/15 13/37/15 -f 26/30/1 17/21/1 3/3/1 -f 17/21/1 1/1/1 3/3/1 -f 1/1/16 30/38/16 2/2/16 -f 4/4/2 18/39/2 5/5/2 -f 9/9/3 19/40/3 29/36/3 -f 29/36/3 7/7/3 9/9/3 -f 10/10/4 16/19/4 11/11/4 -f 6/15/5 11/41/5 13/13/5 -f 11/41/5 16/42/5 13/13/5 -f 16/42/17 31/43/17 23/44/17 -f 23/44/17 24/45/17 16/42/17 -f 24/45/5 13/13/5 16/42/5 -f 12/12/18 5/46/18 14/16/18 -f 7/18/19 31/47/19 16/19/19 -f 4/20/20 13/37/20 17/21/20 -f 1/1/21 29/48/21 19/23/21 -f 20/24/21 30/38/21 1/1/21 -f 22/26/22 14/49/22 5/5/22 -f 5/5/2 18/39/2 21/25/2 -f 18/39/2 25/50/2 21/25/2 -f 23/27/23 29/48/23 1/1/23 -f 25/29/11 18/22/11 17/21/11 -f 7/18/24 10/10/24 27/31/24 -f 10/10/25 32/51/25 27/31/25 -f 6/33/26 5/46/26 12/12/26 -f 28/34/27 32/51/27 10/10/27 -f 10/10/27 12/12/27 28/34/27 -f 23/35/3 31/52/3 7/7/3 -f 24/28/15 1/1/15 17/21/15 -s 1 -f 33/53/28 34/54/29 35/55/28 -f 36/56/29 37/57/30 34/54/29 -f 38/58/30 39/59/31 37/57/30 -f 40/60/31 41/61/32 39/62/31 -f 42/63/32 43/64/33 41/61/32 -f 44/65/33 45/66/34 43/64/33 -f 46/67/34 47/68/35 45/66/34 -f 48/69/35 49/70/36 47/71/35 -f 50/72/36 51/73/37 49/70/36 -f 52/74/37 53/75/38 51/73/37 -f 54/76/38 55/77/39 53/75/38 -f 56/78/39 57/79/40 55/80/39 -f 58/81/40 59/82/41 57/79/40 -f 60/83/41 61/84/42 59/82/41 -f 38/85/15 62/86/15 54/87/15 -f 62/88/42 63/89/43 61/84/42 -f 64/90/43 35/55/28 63/91/43 -f 39/92/4 47/93/4 55/94/4 -f 65/95/28 66/96/29 67/97/28 -f 68/98/29 69/99/30 66/96/29 -f 70/100/30 71/101/31 69/99/30 -f 72/102/31 73/103/32 71/104/31 -f 74/105/32 75/106/33 73/103/32 -f 76/107/33 77/108/34 75/106/33 -f 78/109/34 79/110/35 77/108/34 -f 80/111/35 81/112/36 79/113/35 -f 82/114/36 83/115/37 81/112/36 -f 84/116/37 85/117/38 83/115/37 -f 86/118/38 87/119/39 85/117/38 -f 88/120/39 89/121/40 87/122/39 -f 90/123/40 91/124/41 89/121/40 -f 92/125/41 93/126/42 91/124/41 -f 74/105/32 94/127/31 95/128/32 -f 96/129/42 97/130/43 93/126/42 -f 98/131/43 67/97/28 97/132/43 -f 69/133/44 99/134/45 66/135/45 -f 100/136/30 101/137/29 99/138/29 -f 79/139/46 102/140/47 77/141/47 -f 89/142/48 103/143/49 87/144/49 -f 75/145/50 104/146/51 73/147/51 -f 83/148/52 105/149/53 106/150/52 -f 97/151/54 107/152/55 93/153/55 -f 71/154/56 100/155/44 69/133/44 -f 81/156/57 108/157/46 79/139/46 -f 66/135/45 109/158/58 67/159/58 -f 91/160/59 110/161/48 89/142/48 -f 77/141/47 111/162/50 75/145/50 -f 85/163/53 103/143/49 105/149/53 -f 67/159/58 112/164/54 97/151/54 -f 73/147/51 113/165/56 71/154/56 -f 83/148/52 114/166/57 81/156/57 -f 91/160/59 107/152/55 115/167/59 -f 109/168/28 116/169/43 112/170/43 -f 106/171/37 117/172/38 118/173/37 -f 100/136/30 119/174/31 120/175/30 -f 105/176/38 121/177/39 117/172/38 -f 113/178/31 122/179/32 119/180/31 -f 110/181/40 121/182/39 103/183/39 -f 111/184/33 122/179/32 104/185/32 -f 115/186/41 123/187/40 110/181/40 -f 102/188/34 124/189/33 111/184/33 -f 107/190/42 125/191/41 115/186/41 -f 108/192/35 126/193/34 102/188/34 -f 112/194/43 127/195/42 107/190/42 -f 114/196/36 128/197/35 108/198/35 -f 106/171/37 129/199/36 114/196/36 -f 130/200/4 131/201/4 132/202/4 -f 101/203/60 133/204/61 134/205/61 -f 101/203/60 135/206/62 136/207/60 -f 119/208/63 135/206/62 120/209/62 -f 119/208/63 137/210/64 131/201/63 -f 124/211/65 137/210/64 122/212/64 -f 126/213/66 138/214/65 124/211/65 -f 128/215/67 139/216/66 126/213/66 -f 129/217/68 132/202/67 128/215/67 -f 118/218/69 140/219/68 129/217/68 -f 117/220/70 141/221/69 118/218/69 -f 121/222/71 142/223/70 117/220/70 -f 123/224/72 143/225/71 121/222/71 -f 125/226/73 144/227/72 123/224/72 -f 127/228/74 145/229/73 125/226/73 -f 116/230/75 146/231/74 127/228/74 -f 116/230/75 133/204/61 130/200/75 -f 99/138/29 134/232/28 109/168/28 -f 147/233/15 148/234/15 149/235/15 -f 82/114/36 150/236/37 84/116/37 -f 96/129/42 151/237/41 152/238/42 -f 70/100/30 153/239/29 149/240/30 -f 78/109/34 154/241/35 80/242/35 -f 88/120/39 155/243/40 90/123/40 -f 74/105/32 156/244/33 76/107/33 -f 84/116/37 147/245/38 86/118/38 -f 98/246/43 152/238/42 157/247/43 -f 72/248/31 149/240/30 94/249/31 -f 80/111/35 158/250/36 82/114/36 -f 68/98/29 159/251/28 153/239/29 -f 90/123/40 151/237/41 92/125/41 -f 76/107/33 148/252/34 78/109/34 -f 86/118/38 160/253/39 88/254/39 -f 65/95/28 157/255/43 159/251/28 -f 161/256/76 162/257/77 163/258/78 -f 164/259/79 165/260/80 162/257/77 -f 166/261/81 167/262/82 168/263/83 -f 169/264/84 165/260/80 166/261/81 -f 170/265/85 171/266/86 169/264/84 -f 172/267/87 162/257/77 171/266/86 -f 162/257/77 165/260/80 171/266/86 -f 173/268/88 166/261/81 168/263/83 -f 174/269/89 175/270/90 173/268/88 -f 176/271/91 177/272/92 174/269/89 -f 178/273/93 177/272/92 179/274/94 -f 169/264/84 178/273/93 170/265/85 -f 169/264/84 175/270/90 180/275/95 -f 175/270/90 177/272/92 180/275/95 -f 163/276/78 181/277/96 161/278/76 -f 172/267/87 182/279/97 163/258/78 -f 170/265/85 183/280/98 172/267/87 -f 15/281/99 14/282/99 184/283/100 -f 185/284/101 22/285/102 21/286/103 -f 185/284/101 182/287/97 184/288/100 -f 182/279/97 183/280/98 184/283/100 -f 186/289/104 179/274/94 176/271/91 -f 187/290/105 188/291/106 186/289/104 -f 8/292/107 27/293/108 189/294/109 -f 189/294/109 27/293/108 32/295/110 -f 170/265/85 190/296/111 191/297/112 -f 178/273/93 188/291/106 190/296/111 -f 188/291/106 189/294/109 190/296/111 -f 192/298/113 164/299/79 161/300/76 -f 193/301/114 194/302/115 192/298/113 -f 195/303/116 196/304/117 193/301/114 -f 197/305/118 198/306/119 196/307/117 -f 168/308/83 198/309/119 199/310/120 -f 167/311/82 194/312/115 198/309/119 -f 194/302/115 196/304/117 198/313/119 -f 174/314/89 200/315/121 176/316/91 -f 173/317/88 201/318/122 174/314/89 -f 199/319/120 173/317/88 168/320/83 -f 197/321/118 202/322/123 199/323/120 -f 195/303/116 203/324/124 197/321/118 -f 204/325/125 201/326/122 203/324/124 -f 201/326/122 202/322/123 203/324/124 -f 161/300/76 205/327/126 192/298/113 -f 181/328/96 206/329/127 205/327/126 -f 206/329/127 25/330/128 26/331/129 -f 207/332/130 206/329/127 208/333/131 -f 193/301/114 207/332/130 195/303/116 -f 193/301/114 205/327/126 209/334/132 -f 205/327/126 206/329/127 209/334/132 -f 176/335/91 210/336/133 186/337/104 -f 204/325/125 210/336/133 200/338/121 -f 195/303/116 211/339/134 204/325/125 -f 30/340/135 207/332/130 2/341/136 -f 212/342/137 20/24/138 19/23/139 -f 3/343/140 2/344/136 208/345/131 -f 186/337/104 212/346/137 187/347/105 -f 210/336/133 211/339/134 212/346/137 -f 33/53/28 36/56/29 34/54/29 -f 36/56/29 38/58/30 37/57/30 -f 38/58/30 40/348/31 39/59/31 -f 40/60/31 42/63/32 41/61/32 -f 42/63/32 44/65/33 43/64/33 -f 44/65/33 46/67/34 45/66/34 -f 46/67/34 48/349/35 47/68/35 -f 48/69/35 50/72/36 49/70/36 -f 50/72/36 52/74/37 51/73/37 -f 52/74/37 54/76/38 53/75/38 -f 54/76/38 56/350/39 55/77/39 -f 56/78/39 58/81/40 57/79/40 -f 58/81/40 60/83/41 59/82/41 -f 60/83/41 62/88/42 61/84/42 -f 38/85/15 36/351/15 33/352/15 -f 33/352/15 64/353/15 62/86/15 -f 62/86/15 60/354/15 54/87/15 -f 60/354/15 58/355/15 54/87/15 -f 58/355/15 56/356/15 54/87/15 -f 54/87/15 52/357/15 50/358/15 -f 50/358/15 48/359/15 46/360/15 -f 46/360/15 44/361/15 42/362/15 -f 42/362/15 40/363/15 46/360/15 -f 40/363/15 38/85/15 46/360/15 -f 38/85/15 33/352/15 62/86/15 -f 54/87/15 50/358/15 38/85/15 -f 50/358/15 46/360/15 38/85/15 -f 62/88/42 64/364/43 63/89/43 -f 64/90/43 33/53/28 35/55/28 -f 63/365/4 35/366/4 39/92/4 -f 35/366/4 34/367/4 39/92/4 -f 34/367/4 37/368/4 39/92/4 -f 39/92/4 41/369/4 43/370/4 -f 43/370/4 45/371/4 47/93/4 -f 47/93/4 49/372/4 51/373/4 -f 51/373/4 53/374/4 55/94/4 -f 55/94/4 57/375/4 59/376/4 -f 59/376/4 61/377/4 55/94/4 -f 61/377/4 63/365/4 55/94/4 -f 39/92/4 43/370/4 47/93/4 -f 47/93/4 51/373/4 55/94/4 -f 63/365/4 39/92/4 55/94/4 -f 65/95/28 68/98/29 66/96/29 -f 68/98/29 70/100/30 69/99/30 -f 70/100/30 72/248/31 71/101/31 -f 72/102/31 74/105/32 73/103/32 -f 74/105/32 76/107/33 75/106/33 -f 76/107/33 78/109/34 77/108/34 -f 78/109/34 80/242/35 79/110/35 -f 80/111/35 82/114/36 81/112/36 -f 82/114/36 84/116/37 83/115/37 -f 84/116/37 86/118/38 85/117/38 -f 86/118/38 88/254/39 87/119/39 -f 88/120/39 90/123/40 89/121/40 -f 90/123/40 92/125/41 91/124/41 -f 92/125/41 96/129/42 93/126/42 -f 74/105/32 72/102/31 94/127/31 -f 96/129/42 98/246/43 97/130/43 -f 98/131/43 65/95/28 67/97/28 -f 69/133/44 100/155/44 99/134/45 -f 100/136/30 120/175/30 101/137/29 -f 79/139/46 108/157/46 102/140/47 -f 89/142/48 110/161/48 103/143/49 -f 75/145/50 111/162/50 104/146/51 -f 83/148/52 85/163/53 105/149/53 -f 97/151/54 112/164/54 107/152/55 -f 71/154/56 113/165/56 100/155/44 -f 81/156/57 114/166/57 108/157/46 -f 66/135/45 99/134/45 109/158/58 -f 91/160/59 115/167/59 110/161/48 -f 77/141/47 102/140/47 111/162/50 -f 85/163/53 87/144/49 103/143/49 -f 67/159/58 109/158/58 112/164/54 -f 73/147/51 104/146/51 113/165/56 -f 83/148/52 106/150/52 114/166/57 -f 91/160/59 93/153/55 107/152/55 -f 109/168/28 134/232/28 116/169/43 -f 106/171/37 105/176/38 117/172/38 -f 100/136/30 113/378/31 119/174/31 -f 105/176/38 103/379/39 121/177/39 -f 113/178/31 104/185/32 122/179/32 -f 110/181/40 123/187/40 121/182/39 -f 111/184/33 124/189/33 122/179/32 -f 115/186/41 125/191/41 123/187/40 -f 102/188/34 126/193/34 124/189/33 -f 107/190/42 127/195/42 125/191/41 -f 108/192/35 128/380/35 126/193/34 -f 112/194/43 116/381/43 127/195/42 -f 114/196/36 129/199/36 128/197/35 -f 106/171/37 118/173/37 129/199/36 -f 130/200/4 133/204/4 136/207/4 -f 136/207/4 135/206/4 131/201/4 -f 131/201/4 137/210/4 138/214/4 -f 138/214/4 139/216/4 131/201/4 -f 139/216/4 132/202/4 131/201/4 -f 132/202/4 140/219/4 141/221/4 -f 141/221/4 142/223/4 143/225/4 -f 143/225/4 144/227/4 145/229/4 -f 145/229/4 146/231/4 130/200/4 -f 130/200/4 136/207/4 131/201/4 -f 132/202/4 141/221/4 130/200/4 -f 141/221/4 143/225/4 130/200/4 -f 143/225/4 145/229/4 130/200/4 -f 101/203/60 136/207/60 133/204/61 -f 101/203/60 120/209/62 135/206/62 -f 119/208/63 131/201/63 135/206/62 -f 119/208/63 122/212/64 137/210/64 -f 124/211/65 138/214/65 137/210/64 -f 126/213/66 139/216/66 138/214/65 -f 128/215/67 132/202/67 139/216/66 -f 129/217/68 140/219/68 132/202/67 -f 118/218/69 141/221/69 140/219/68 -f 117/220/70 142/223/70 141/221/69 -f 121/222/71 143/225/71 142/223/70 -f 123/224/72 144/227/72 143/225/71 -f 125/226/73 145/229/73 144/227/72 -f 127/228/74 146/231/74 145/229/73 -f 116/230/75 130/200/75 146/231/74 -f 116/230/75 134/205/61 133/204/61 -f 99/138/29 101/137/29 134/232/28 -f 149/235/15 153/382/15 159/383/15 -f 159/383/15 157/384/15 149/235/15 -f 157/384/15 152/385/15 149/235/15 -f 152/385/15 151/386/15 155/387/15 -f 155/387/15 160/388/15 147/233/15 -f 147/233/15 150/389/15 158/390/15 -f 158/390/15 154/391/15 147/233/15 -f 154/391/15 148/234/15 147/233/15 -f 148/234/15 156/392/15 95/393/15 -f 95/393/15 94/394/15 148/234/15 -f 94/394/15 149/235/15 148/234/15 -f 152/385/15 155/387/15 149/235/15 -f 155/387/15 147/233/15 149/235/15 -f 82/114/36 158/250/36 150/236/37 -f 96/129/42 92/125/41 151/237/41 -f 70/100/30 68/98/29 153/239/29 -f 78/109/34 148/252/34 154/241/35 -f 88/120/39 160/395/39 155/243/40 -f 74/105/32 95/128/32 156/244/33 -f 84/116/37 150/236/37 147/245/38 -f 98/246/43 96/129/42 152/238/42 -f 72/248/31 70/100/30 149/240/30 -f 80/111/35 154/396/35 158/250/36 -f 68/98/29 65/95/28 159/251/28 -f 90/123/40 155/243/40 151/237/41 -f 76/107/33 156/244/33 148/252/34 -f 86/118/38 147/245/38 160/253/39 -f 65/95/28 98/131/43 157/255/43 -f 161/256/76 164/259/79 162/257/77 -f 164/259/79 167/262/82 165/260/80 -f 166/261/81 165/260/80 167/262/82 -f 169/264/84 171/266/86 165/260/80 -f 170/265/85 172/267/87 171/266/86 -f 172/267/87 163/258/78 162/257/77 -f 173/268/88 175/270/90 166/261/81 -f 174/269/89 177/272/92 175/270/90 -f 176/271/91 179/274/94 177/272/92 -f 178/273/93 180/275/95 177/272/92 -f 169/264/84 180/275/95 178/273/93 -f 169/264/84 166/261/81 175/270/90 -f 163/276/78 182/287/97 181/277/96 -f 172/267/87 183/280/98 182/279/97 -f 170/265/85 191/297/112 183/280/98 -f 14/282/99 22/397/102 184/283/100 -f 184/283/100 183/280/98 15/281/99 -f 183/280/98 191/297/112 15/281/99 -f 191/297/112 28/398/141 15/281/99 -f 185/284/101 184/288/100 22/285/102 -f 185/284/101 181/277/96 182/287/97 -f 186/289/104 188/291/106 179/274/94 -f 187/290/105 189/294/109 188/291/106 -f 189/294/109 187/290/105 8/292/107 -f 187/290/105 9/399/142 8/292/107 -f 32/295/110 28/398/141 191/297/112 -f 191/297/112 190/296/111 32/295/110 -f 190/296/111 189/294/109 32/295/110 -f 170/265/85 178/273/93 190/296/111 -f 178/273/93 179/274/94 188/291/106 -f 192/298/113 194/302/115 164/299/79 -f 193/301/114 196/304/117 194/302/115 -f 195/303/116 197/321/118 196/304/117 -f 197/305/118 199/400/120 198/306/119 -f 168/308/83 167/311/82 198/309/119 -f 167/311/82 164/401/79 194/312/115 -f 174/314/89 201/318/122 200/315/121 -f 173/317/88 202/402/123 201/318/122 -f 199/319/120 202/402/123 173/317/88 -f 197/321/118 203/324/124 202/322/123 -f 195/303/116 204/325/125 203/324/124 -f 204/325/125 200/338/121 201/326/122 -f 161/300/76 181/328/96 205/327/126 -f 181/328/96 185/403/101 206/329/127 -f 3/404/140 208/333/131 26/331/129 -f 208/333/131 206/329/127 26/331/129 -f 206/329/127 185/403/101 25/330/128 -f 185/403/101 21/405/103 25/330/128 -f 207/332/130 209/334/132 206/329/127 -f 193/301/114 209/334/132 207/332/130 -f 193/301/114 192/298/113 205/327/126 -f 176/335/91 200/338/121 210/336/133 -f 204/325/125 211/339/134 210/336/133 -f 195/303/116 207/332/130 211/339/134 -f 20/406/138 212/346/137 30/340/135 -f 212/346/137 211/339/134 30/340/135 -f 211/339/134 207/332/130 30/340/135 -f 207/332/130 208/333/131 2/341/136 -f 9/407/142 187/408/105 19/23/139 -f 187/408/105 212/342/137 19/23/139 -f 186/337/104 210/336/133 212/346/137 -o Gun -v -3.179188 -1.070112 0.041861 -v -3.165573 -1.070060 -0.041862 -v -3.165573 -1.070060 0.041861 -v -3.223761 -0.055926 -0.175001 -v -3.231728 0.082925 0.081717 -v -3.223761 -0.055926 0.174999 -v -3.266363 -0.915614 -0.152951 -v -3.260106 -1.024669 -0.105386 -v -3.257834 -1.064264 -0.040934 -v -3.187946 -0.917486 -0.157164 -v -3.183088 -0.764809 -0.175001 -v -3.174330 -0.917434 -0.157164 -v -3.196703 -0.764861 0.174999 -v -3.237376 -0.055978 0.174999 -v -3.196703 -0.764860 -0.175001 -v -3.244276 0.064270 -0.128360 -v -3.231728 0.082925 -0.081719 -v -3.230660 0.064322 -0.128360 -v -3.181535 -1.029216 -0.108432 -v -3.167920 -1.029164 -0.108432 -v -3.187946 -0.917486 0.157162 -v -3.183088 -0.764809 0.174999 -v -3.244276 0.064270 0.128358 -v -3.245343 0.082873 0.081717 -v -3.241360 0.013448 0.162502 -v -3.230660 0.064322 0.128358 -v -3.241360 0.013448 -0.162503 -v -3.227744 0.013500 -0.162503 -v -3.227744 0.013499 0.162502 -v -3.245343 0.082873 -0.081719 -v -3.179188 -1.070112 -0.041862 -v -3.181535 -1.029216 0.108430 -v -3.174330 -0.917435 0.157162 -v -3.237376 -0.055978 -0.175001 -v -3.260106 -1.024669 0.105384 -v -3.233650 -1.070320 0.041861 -v -3.235997 -1.029424 0.108430 -v -3.242408 -0.917694 0.157162 -v -3.266363 -0.915614 0.152950 -v -3.251165 -0.765068 0.174999 -v -3.275024 -0.764661 0.170591 -v -3.251165 -0.765068 -0.175001 -v -3.242408 -0.917694 -0.157164 -v -3.235997 -1.029424 -0.108432 -v -3.233650 -1.070320 -0.041862 -v -3.319478 0.010109 0.158505 -v -3.291838 -0.056185 0.174999 -v -3.295821 0.013240 0.162502 -v -3.322256 0.058530 0.125975 -v -3.298738 0.064063 0.128358 -v -3.299805 0.082666 0.081717 -v -3.323283 0.076428 0.081099 -v -3.319478 0.010109 -0.158506 -v -3.291838 -0.056185 -0.175001 -v -3.315625 -0.057036 -0.170593 -v -3.322256 0.058530 -0.125976 -v -3.295821 0.013240 -0.162503 -v -3.299805 0.082666 -0.081719 -v -3.298738 0.064063 -0.128360 -v -3.275024 -0.764661 -0.170593 -v -3.315625 -0.057036 0.170592 -v -3.167920 -1.029164 0.108430 -v -3.257834 -1.064264 0.040933 -v -3.323283 0.076428 -0.081101 -v -0.183401 -0.147332 0.024535 -v -0.134720 -0.147332 0.024535 -v -0.114616 -0.115166 0.024535 -v -0.134720 -0.147332 -0.015465 -v -0.128878 -0.199895 -0.015465 -v -0.183401 -0.147332 -0.015465 -v -0.203638 -0.060690 0.024535 -v -0.125748 -0.078815 -0.015465 -v -0.125748 -0.078815 0.024535 -v -0.163297 -0.111541 -0.015465 -v -0.163297 -0.111541 0.024535 -v -0.179506 -0.202161 -0.015465 -v -0.179506 -0.202161 0.024535 -v -0.124352 -0.258807 -0.015463 -v -0.124352 -0.258807 0.024535 -v -0.085393 -0.290487 0.024535 -v -0.085393 -0.290487 -0.015465 -v -0.046448 -0.282331 -0.015465 -v -0.046448 -0.282331 0.024535 -v -0.079566 -0.252464 -0.015465 -v -0.079566 -0.252464 0.024535 -v -0.128878 -0.199895 0.024535 -v -0.114616 -0.115166 -0.015465 -v -0.090698 -0.087877 -0.015465 -v -0.090698 -0.087877 0.024535 -v 0.230597 -0.058877 -0.015465 -v 0.230597 -0.058877 0.024535 -v -0.203638 -0.060690 -0.015465 -v -0.347119 -0.232374 -0.092075 -v -0.281911 -0.303087 -0.094716 -v -0.289233 -0.311982 -0.092075 -v 0.152245 -0.324744 -0.094716 -v -0.141981 -0.313921 -0.092075 -v 0.149421 -0.313921 -0.092075 -v 0.307610 -0.292059 -0.092075 -v 0.252051 -0.337167 -0.094716 -v 0.297920 -0.286155 -0.094716 -v 0.359147 -0.148763 0.094716 -v 0.351060 -0.000000 0.094716 -v 0.324333 -0.134343 0.094716 -v -0.233930 -0.335138 -0.094716 -v -0.159759 -0.369552 -0.092075 -v -0.238401 -0.345947 -0.092075 -v 0.152245 -0.324744 0.094716 -v 0.230234 -0.286085 0.092075 -v 0.149421 -0.313921 0.092075 -v -0.253192 -0.265036 0.092075 -v -0.211063 -0.293185 -0.092075 -v -0.253192 -0.265036 -0.092075 -v -0.310092 -0.201103 -0.094716 -v -0.260732 -0.273785 -0.094716 -v -0.215543 -0.303988 -0.094716 -v -0.141981 -0.313921 0.092075 -v 0.230234 -0.286085 -0.092075 -v 0.236972 -0.295560 -0.094716 -v -0.324412 -0.134376 -0.094716 -v -0.299620 -0.196670 -0.092075 -v 0.188233 -0.369552 -0.092075 -v 0.258340 -0.346855 0.092075 -v 0.188233 -0.369552 0.092075 -v -0.146439 -0.324733 -0.094716 -v -0.299620 -0.196670 0.092075 -v -0.155258 -0.358740 -0.094716 -v 0.258340 -0.346855 -0.092075 -v 0.252051 -0.337167 0.094716 -v 0.185454 -0.358728 0.094716 -v -0.369552 -0.153073 0.092075 -v -0.388697 -0.000000 0.094716 -v -0.400000 -0.000000 0.092075 -v -0.339786 -0.000000 0.092075 -v -0.324412 -0.134376 0.094716 -v -0.313921 -0.130030 0.092075 -v 0.283050 -0.218884 -0.092075 -v 0.283050 -0.218884 0.092075 -v -0.211063 -0.293185 0.092075 -v -0.146439 -0.324733 0.094716 -v 0.369552 -0.153073 -0.092075 -v -0.400000 0.000000 -0.092075 -v 0.324333 -0.134343 -0.094716 -v 0.313921 -0.130030 -0.092075 -v -0.159759 -0.369552 0.092075 -v -0.310092 -0.201103 0.094716 -v -0.336815 -0.227580 0.094716 -v -0.359112 -0.148749 0.094716 -v 0.293151 -0.224081 -0.094716 -v 0.313921 -0.130030 0.092075 -v 0.369552 -0.153073 0.092075 -v 0.297920 -0.286155 0.094716 -v 0.307610 -0.292059 0.092075 -v 0.339786 -0.000000 0.092075 -v -0.339786 0.000000 -0.092075 -v -0.351142 0.000000 -0.094716 -v -0.155258 -0.358740 0.094716 -v -0.388697 0.000000 -0.094716 -v -0.369552 -0.153073 -0.092075 -v -0.289233 -0.311982 0.092075 -v -0.347119 -0.232374 0.092075 -v 0.388734 -0.000000 0.094716 -v -0.260732 -0.273785 0.094716 -v -0.215543 -0.303988 0.094716 -v -0.238401 -0.345947 0.092075 -v -0.313921 -0.130030 -0.092075 -v -0.233930 -0.335138 0.094716 -v -0.281911 -0.303087 0.094716 -v -0.336815 -0.227580 -0.094716 -v -0.359112 -0.148749 -0.094716 -v 0.339786 0.000000 -0.092075 -v 0.351060 0.000000 -0.094716 -v 0.400000 -0.000000 0.092075 -v 0.293151 -0.224081 0.094716 -v 0.236972 -0.295560 0.094716 -v -0.351142 -0.000000 0.094716 -v 0.400000 0.000000 -0.092075 -v 0.359147 -0.148763 -0.094716 -v 0.388734 0.000000 -0.094716 -v 0.185454 -0.358728 -0.094716 -v 0.134632 0.507399 0.103366 -v 0.134632 0.520116 0.105896 -v 0.134632 0.522211 0.145182 -v 0.205368 0.507399 0.103366 -v 0.205368 0.482580 0.174914 -v 0.205368 0.525423 0.145248 -v 0.205368 0.452598 0.174887 -v 0.134632 0.452593 0.174895 -v 0.134632 0.510402 0.166257 -v 0.134632 0.481895 0.174991 -v 0.134632 0.475827 0.174922 -v 0.134632 0.522211 0.105508 -v 0.205368 0.485108 0.174943 -v 0.205368 0.513615 0.166264 -v 0.205368 0.525423 0.105021 -v 0.205368 0.520397 0.105952 -v -3.165573 -1.070060 0.041861 -v -1.630139 -0.537034 -0.041862 -v -1.630139 -0.537034 0.041861 -v -1.380686 -0.581666 -0.041862 -v -1.385045 -0.599184 0.041861 -v -1.380686 -0.581666 0.041861 -v -1.375312 -0.561352 0.041861 -v -1.379233 -0.575827 -0.041862 -v -1.379233 -0.575827 0.041861 -v -0.468030 -0.101400 0.041861 -v 4.394984 0.139629 -0.041862 -v 4.394984 0.139629 0.041861 -v -0.932863 0.256797 -0.081719 -v -1.049899 0.251881 0.081717 -v -0.932863 0.256797 0.081717 -v -2.180458 -0.416746 -0.175001 -v -2.765858 -0.009814 -0.175001 -v -1.896630 -0.340806 -0.175001 -v -0.565875 -0.119843 -0.041862 -v -0.565875 -0.119843 0.041861 -v -0.743479 -0.227822 -0.041862 -v -0.660789 -0.163405 0.041861 -v -0.743479 -0.227822 0.041861 -v -0.660789 -0.163405 -0.041862 -v -1.522283 -0.508177 0.041861 -v -0.805852 -0.306787 -0.041862 -v -0.805852 -0.306787 0.041861 -v -0.915515 -0.691215 0.041861 -v -0.841802 -0.392571 -0.041862 -v -0.841802 -0.392572 0.041861 -v -0.990678 -0.641215 0.102137 -v -1.050091 -0.611374 0.108430 -v -1.070890 -0.605362 0.108430 -v -1.318923 -0.502163 -0.108431 -v -1.424551 -0.506800 -0.041862 -v -1.384080 -0.478589 -0.108431 -v -1.413584 -0.510768 0.041861 -v -1.424551 -0.506800 0.041861 -v -0.795908 0.288328 -0.081719 -v -0.369035 0.421053 0.040913 -v -0.369035 0.421053 -0.048682 -v -1.049899 0.251881 -0.081719 -v -1.129197 0.274329 0.081717 -v -2.760497 0.192768 -0.081719 -v -2.869966 0.141263 0.081717 -v -2.760497 0.192768 0.081717 -v -1.374488 0.310882 0.081717 -v -2.340988 0.266815 -0.081719 -v -2.340988 0.266815 0.081717 -v 4.724262 0.187901 -0.101175 -v 4.419948 0.166699 -0.107881 -v 4.741602 0.221435 -0.123556 -v -2.869966 0.141263 -0.081719 -v -3.035441 0.102691 0.081717 -v -0.238015 0.436139 0.162473 -v -0.431838 0.197771 0.174725 -v -0.136942 0.449902 0.174954 -v -1.430200 0.290643 0.128358 -v -1.216902 -0.375879 0.147802 -v -1.161903 -0.292502 0.157162 -v -1.517954 -0.278216 0.174999 -v -0.078031 0.500270 -0.144877 -v 0.084121 0.519916 -0.113626 -v 0.084121 0.519916 -0.145136 -v -0.078031 0.500270 0.144876 -v 0.084121 0.519916 0.105856 -v -0.078031 0.500270 0.101948 -v -0.184152 0.477029 -0.128360 -v -0.176485 0.478708 -0.105429 -v -0.078031 0.500270 -0.109718 -v -0.176485 0.478708 0.097659 -v -0.184152 0.477029 0.128358 -v -3.035441 0.102691 -0.081719 -v -3.231728 0.082925 0.081717 -v -1.289278 -0.566914 -0.102138 -v -1.381438 -0.534295 -0.041862 -v -1.287317 -0.525702 -0.108431 -v -3.223761 -0.055926 0.174999 -v -3.231728 0.082925 -0.081719 -v -3.223761 -0.055926 -0.175001 -v -0.915515 -0.691215 -0.041862 -v -0.990678 -0.641215 -0.102138 -v -0.996288 -0.626926 -0.108431 -v -2.765858 -0.009814 0.174999 -v -1.896630 -0.340806 0.174999 -v -1.440329 -0.179942 0.174999 -v -0.937918 -0.390444 0.108430 -v -0.901256 -0.302959 0.108430 -v -1.191362 -0.384164 -0.145496 -v -0.901256 -0.302959 -0.108431 -v -0.937918 -0.390444 -0.108431 -v -1.091904 -0.203882 0.157162 -v -0.836839 -0.221407 0.108430 -v -1.517953 -0.278216 -0.175001 -v -1.091904 -0.203882 -0.157163 -v -1.161903 -0.292501 -0.157163 -v -0.836839 -0.221407 -0.108431 -v -0.991580 -0.125728 0.157162 -v -1.322371 -0.088051 0.174999 -v -0.749424 -0.153310 0.108430 -v -1.440329 -0.179942 -0.175001 -v -0.991580 -0.125728 -0.157163 -v -0.749424 -0.153310 -0.108431 -v -0.841368 -0.056787 0.157162 -v -1.116861 0.006270 0.174999 -v -0.639693 -0.102947 0.108430 -v -1.322371 -0.088051 -0.175001 -v -0.841368 -0.056787 -0.157163 -v -0.639693 -0.102947 -0.108431 -v -0.615233 -0.014162 0.157162 -v -0.762437 0.073077 0.174999 -v -0.507473 -0.078025 0.108430 -v -1.116861 0.006270 -0.175001 -v -0.615233 -0.014162 -0.157163 -v -0.507473 -0.078025 -0.108431 -v -0.468030 -0.101400 -0.041862 -v -1.263572 -0.523797 0.108430 -v -1.220435 -0.397000 0.140297 -v -1.282327 -0.552750 0.108430 -v -1.282327 -0.552750 -0.108431 -v -1.263572 -0.523797 -0.108431 -v -1.070890 -0.605362 -0.108431 -v -2.180458 -0.416746 0.174999 -v -1.709456 -0.424491 0.157162 -v -1.905299 -0.476890 0.157162 -v -1.572436 -0.485753 0.108430 -v -1.703868 -0.520919 0.108430 -v -1.709456 -0.424491 -0.157163 -v -1.905299 -0.476890 -0.157163 -v -1.572436 -0.485753 -0.108431 -v -1.703868 -0.520919 -0.108431 -v -1.522283 -0.508177 -0.041862 -v -1.387563 -0.470792 0.110416 -v -1.187873 -0.373307 0.146877 -v -1.455092 -0.503885 0.041861 -v -1.375312 -0.561352 -0.041862 -v -1.318923 -0.502163 0.108430 -v -1.387563 -0.470792 -0.110418 -v -1.414627 -0.475674 -0.108431 -v -1.295090 -0.590270 0.102137 -v -1.290731 -0.572753 0.102137 -v -0.916968 -0.697055 -0.041862 -v -0.996490 -0.664572 -0.102138 -v -0.992131 -0.647054 -0.102138 -v -3.167920 -1.029164 0.108430 -v -3.174331 -0.917435 0.157162 -v -3.183088 -0.764809 0.174999 -v -1.381438 -0.534295 0.041861 -v -1.455092 -0.503885 -0.041862 -v -3.183088 -0.764809 -0.175001 -v -3.174331 -0.917435 -0.157163 -v -3.167920 -1.029164 -0.108431 -v -3.165573 -1.070060 -0.041862 -v 4.394984 0.164959 0.108430 -v 4.394984 0.234164 0.157162 -v 4.394984 0.328698 0.174999 -v 4.394984 0.328698 -0.175001 -v -0.762437 0.073077 -0.175001 -v 4.394984 0.234164 -0.157163 -v 4.394984 0.164959 -0.108431 -v -0.795908 0.288328 0.081717 -v -0.988028 -0.593459 0.108430 -v -1.289278 -0.566914 0.102137 -v -1.287317 -0.525702 0.108430 -v -1.413584 -0.510768 -0.041862 -v -1.414627 -0.475674 0.108430 -v -1.384080 -0.478589 0.108430 -v -1.232111 -0.381659 0.147199 -v -1.232149 -0.387339 0.146413 -v -1.573797 0.169689 -0.175001 -v -2.504435 0.193309 -0.162503 -v -1.315286 0.263393 -0.151094 -v -1.430200 0.290643 -0.128360 -v -1.374488 0.310882 -0.081719 -v -0.819768 0.195646 0.162502 -v -0.706673 0.134495 0.174999 -v -0.613873 0.243050 0.162365 -v -0.902560 0.240412 0.128358 -v -0.747132 0.276196 0.128322 -v -0.431838 0.197771 -0.174736 -v -0.819768 0.195646 -0.162503 -v -0.613873 0.243050 -0.162371 -v -0.902560 0.240412 -0.128360 -v -0.747132 0.276196 -0.128324 -v -1.144262 0.182016 0.162502 -v -1.238625 0.112151 0.174999 -v -1.075184 0.233161 0.128358 -v -0.706673 0.134495 -0.175001 -v -1.144262 0.182016 -0.162503 -v -1.075183 0.233161 -0.128360 -v -1.573797 0.169689 0.174999 -v -1.315286 0.263393 0.151093 -v -1.192639 0.266410 0.128358 -v -1.238625 0.112151 -0.175001 -v -1.192639 0.266410 -0.128360 -v -2.282154 0.251798 0.128358 -v -2.504583 0.193347 0.162470 -v -2.285171 0.137254 0.174999 -v -2.669288 0.100368 0.162502 -v -2.468611 0.059474 0.174999 -v -2.695745 0.186977 0.128358 -v -2.816195 0.130305 0.128358 -v -2.285171 0.137254 -0.175001 -v -2.669288 0.100369 -0.162503 -v -2.695745 0.186977 -0.128360 -v -2.816195 0.130305 -0.128360 -v -2.900649 0.046439 0.162502 -v -2.999323 0.087618 0.128358 -v -2.468611 0.059474 -0.175001 -v -2.900649 0.046439 -0.162503 -v -2.999323 0.087618 -0.128360 -v -3.227744 0.013500 0.162502 -v -3.230660 0.064322 0.128358 -v -0.195961 0.474443 0.094809 -v -0.298287 0.443051 0.073834 -v -0.181350 0.469122 -0.152495 -v -0.238014 0.436140 -0.162476 -v -0.136941 0.449903 -0.174956 -v -0.297733 0.443223 -0.081719 -v -2.282153 0.251798 -0.128360 -v -3.227744 0.013500 -0.162503 -v -3.230660 0.064322 -0.128360 -v -1.319348 0.291000 -0.128360 -v -1.232395 0.282130 -0.128360 -v -1.232395 0.282130 0.128358 -v -1.319348 0.291000 0.128358 -v -1.169870 0.291514 -0.081719 -v -1.129197 0.274329 -0.081719 -v -1.261837 0.308329 -0.081719 -v -1.261837 0.308329 0.081717 -v -1.169870 0.291514 0.081717 -v -2.629061 0.212999 -0.128360 -v -2.477676 0.236726 -0.128360 -v -2.477676 0.236726 0.128358 -v -2.629061 0.212999 0.128358 -v -2.704563 0.202274 -0.081719 -v -2.540955 0.244845 -0.081719 -v -2.540955 0.244845 0.081717 -v -2.704563 0.202274 0.081717 -v 0.095489 0.508624 0.166252 -v 0.255891 0.487403 0.174908 -v 0.246380 0.515478 0.166269 -v 0.084121 0.519916 0.145135 -v 0.255891 0.487403 -0.174917 -v 0.095486 0.508624 -0.166254 -v 0.246380 0.515478 -0.166272 -v 0.242440 0.527107 -0.145284 -v 0.122932 0.481363 0.174999 -v -0.095286 0.485518 0.166163 -v 0.122923 0.481363 -0.175001 -v -0.095285 0.485518 -0.166165 -v 0.643504 0.527107 0.145288 -v 0.242440 0.527107 0.145283 -v 4.394984 0.515478 0.166310 -v 1.524255 0.527107 0.145298 -v 1.501729 0.515478 0.166281 -v 1.416518 0.496308 0.172179 -v 0.751137 0.496308 0.172173 -v 4.394984 0.515478 -0.166311 -v 4.394984 0.487402 -0.175001 -v 4.394984 0.527107 -0.145332 -v -0.181350 0.469121 0.152493 -v 0.242440 0.527107 0.129951 -v 0.643578 0.527107 0.129951 -v 4.394984 0.527107 0.145331 -v 2.032973 0.527107 -0.129952 -v -0.921327 -0.714572 -0.041862 -v -0.921327 -0.714572 0.041861 -v -0.996490 -0.664572 0.102137 -v -1.385045 -0.599184 -0.041862 -v -1.295090 -0.590270 -0.102138 -v -1.290731 -0.572753 -0.102138 -v -0.916968 -0.697055 0.041861 -v -0.992131 -0.647054 0.102137 -v 4.414858 0.329421 0.174293 -v 4.593786 0.245219 0.150813 -v 4.593723 0.335931 0.167931 -v 4.414843 0.487485 0.174293 -v 4.593570 0.488225 0.167937 -v 4.414810 0.527029 -0.144746 -v 4.593379 0.515168 -0.159605 -v 4.414824 0.515447 -0.165640 -v 4.419948 0.141497 0.041649 -v 4.724262 0.187901 0.101174 -v 4.419948 0.166699 0.107880 -v 4.593570 0.488225 -0.167938 -v 4.414843 0.487485 -0.174294 -v 4.414824 0.515447 0.165639 -v 4.593379 0.515168 0.159604 -v 4.593723 0.335931 -0.167932 -v 4.414858 0.329421 -0.174294 -v 4.593786 0.245219 -0.150814 -v 4.414865 0.235269 -0.156528 -v 4.741602 0.221435 0.123555 -v 4.414810 0.527029 0.144745 -v 4.593238 0.526329 0.139475 -v 4.593238 0.526329 -0.139476 -v 4.419948 0.141497 -0.041650 -v 4.724261 0.164266 0.039060 -v 4.764469 0.347926 0.129819 -v 4.764469 0.190703 0.100288 -v 4.741593 0.344203 0.146653 -v 4.679128 0.241389 0.142048 -v 4.679096 0.339813 0.160603 -v 4.764469 0.347926 -0.129820 -v 4.741593 0.344203 -0.146654 -v 4.679128 0.241389 -0.142049 -v 4.679096 0.339813 -0.160604 -v 4.764469 0.480211 0.129662 -v 4.741528 0.503406 0.132028 -v 4.741548 0.497592 0.142516 -v 4.678853 0.520006 0.136125 -v 4.678924 0.510387 0.153476 -v 4.741573 0.484223 0.146653 -v 4.764469 0.479702 0.129819 -v 4.679019 0.487342 0.160605 -v 4.764469 0.480211 -0.129663 -v 4.741573 0.484223 -0.146654 -v 4.741548 0.497592 -0.142517 -v 4.679019 0.487342 -0.160606 -v 4.678924 0.510387 -0.153477 -v 4.741528 0.503406 -0.132029 -v 4.764469 0.480975 -0.128285 -v 4.678853 0.520006 -0.136126 -v 4.764469 0.480975 0.128284 -v 4.764469 0.479702 -0.129820 -v 4.724261 0.164266 -0.039061 -v 4.764469 0.178076 0.037680 -v 4.764469 0.190703 -0.100289 -v 0.666060 0.515478 0.166273 -v 0.682855 0.506779 0.168950 -v 0.682855 0.506901 0.129951 -v 1.484800 0.506901 0.129951 -v 1.484800 0.506779 0.168958 -v 0.751137 0.496450 0.129951 -v 1.416518 0.496450 0.129951 -v -0.992601 -0.636318 0.104294 -v -1.155494 -0.385052 0.140249 -v 0.637707 0.527107 -0.129952 -v 0.299441 0.527107 0.104765 -v 0.242440 0.527107 -0.112535 -v 0.242440 0.527107 -0.129952 -v 0.242440 0.527107 0.104765 -v 0.299441 0.478708 -0.105429 -v 0.299441 0.520769 -0.113796 -v -0.193078 0.475074 -0.103001 -v 0.299441 0.443051 -0.081603 -v 0.299441 0.419225 -0.045946 -v -0.298287 0.443051 -0.081603 -v -0.369035 0.410858 -0.003885 -v -0.369035 0.419225 -0.045946 -v -0.369035 0.419225 0.038176 -v 0.299441 0.410858 -0.003885 -v 0.299441 0.419225 0.038176 -v 0.299441 0.443051 0.073834 -v 0.299441 0.478708 0.097659 -v 0.299441 0.520769 0.106026 -v 0.299441 0.527107 -0.112535 -v 4.394984 0.487402 0.174999 -v 4.414865 0.235269 0.156527 -v 2.032973 0.527107 0.129951 -v 1.524162 0.527107 0.129951 -v 4.764469 0.178076 -0.037681 -v 8.957066 0.503397 -0.100000 -v 3.242688 0.465127 -0.092388 -v 3.242688 0.503396 -0.100000 -v 8.957066 0.465129 -0.092388 -v 3.242688 0.432685 -0.070710 -v 8.957066 0.432686 -0.070711 -v 3.242688 0.411008 -0.038268 -v 8.957066 0.411009 -0.038269 -v 3.242688 0.403396 0.000000 -v 8.957066 0.403397 0.000000 -v 3.242688 0.411008 0.038269 -v 8.957066 0.411009 0.038268 -v 3.242688 0.432685 0.070711 -v 8.957066 0.432686 0.070710 -v 3.242688 0.465127 0.092388 -v 8.957066 0.465129 0.092388 -v 3.242688 0.503396 0.100000 -v 8.957066 0.503397 0.100000 -v 3.242688 0.541664 0.092388 -v 8.957066 0.541665 0.092388 -v 3.242688 0.574106 0.070711 -v 8.957066 0.574108 0.070710 -v 3.242688 0.595784 0.038269 -v 8.957066 0.595785 0.038268 -v 3.242688 0.603396 0.000000 -v 8.957066 0.603397 0.000000 -v 3.242688 0.595784 -0.038268 -v 8.957066 0.595785 -0.038269 -v 3.242688 0.574106 -0.070710 -v 8.957066 0.507104 -0.068346 -v 8.957066 0.458776 -0.048328 -v 8.957066 0.507104 0.068345 -v 8.957066 0.458776 0.048327 -v 8.957066 0.574108 -0.070711 -v 3.242688 0.541664 -0.092388 -v 8.957066 0.541665 -0.092388 -v 2.032804 0.398379 0.105017 -v 2.032804 0.608412 0.105017 -v 2.032804 0.608412 -0.105016 -v 2.032804 0.560230 -0.137211 -v 2.032804 0.503395 -0.148516 -v 2.032804 0.640607 -0.056834 -v 2.032804 0.651912 0.000001 -v 2.032804 0.640607 0.056835 -v 2.032804 0.560230 0.137212 -v 2.032804 0.503396 0.148517 -v 2.032804 0.446561 0.137212 -v 2.032804 0.366184 0.056835 -v 2.032804 0.354879 0.000001 -v 2.032804 0.366184 -0.056834 -v 2.032804 0.398379 -0.105016 -v 2.032804 0.446561 -0.137211 -v 3.532490 0.507103 -0.068346 -v 3.532490 0.438757 0.000000 -v 3.532490 0.458775 -0.048327 -v 3.532490 0.458775 0.048328 -v 8.957066 0.438758 0.000000 -v 3.532490 0.507103 0.068346 -v 3.532490 0.555431 0.048328 -v 8.957066 0.575450 0.000000 -v 8.957066 0.555432 0.048327 -v 3.532490 0.575449 0.000000 -v 8.957066 0.555432 -0.048328 -v 3.532490 0.555431 -0.048327 -v 8.781595 0.692685 0.002444 -v 8.781595 0.683921 -0.004390 -v 8.781595 0.683921 0.004390 -v 8.850199 0.692685 -0.002444 -v 8.850199 0.639789 -0.014190 -v 8.850199 0.639789 0.014190 -v 8.781595 0.639789 0.014190 -v 8.781595 0.639789 -0.014190 -v 8.781595 0.692685 -0.002444 -v 8.850199 0.692685 0.002444 -v 8.520369 0.631573 0.038389 -v 8.520369 0.588742 -0.038389 -v 8.520369 0.588742 0.038389 -v 8.887778 0.661573 -0.038389 -v 8.888396 0.660629 0.038389 -v 8.888396 0.660629 -0.038389 -v 8.949632 0.588427 -0.038389 -v 8.949632 0.601075 -0.038389 -v 8.949632 0.588427 0.038389 -v 8.905151 0.634843 0.038389 -v 8.905151 0.634843 -0.038389 -v 8.927558 0.612713 0.038389 -v 8.927558 0.612713 -0.038389 -v 8.722299 0.657626 0.038389 -v 8.722299 0.657626 -0.038389 -v 8.887778 0.661573 0.038389 -v 8.730825 0.729993 -0.079167 -v 8.889159 0.690409 -0.068560 -v 8.730825 0.690409 -0.068560 -v 8.889159 0.661432 -0.039583 -v 8.730825 0.661432 -0.039583 -v 8.889159 0.650826 0.000000 -v 8.730825 0.650826 0.000000 -v 8.889159 0.661432 0.039583 -v 8.730825 0.661432 0.039583 -v 8.889159 0.690409 0.068560 -v 8.730825 0.690409 0.068560 -v 8.730825 0.729993 0.079167 -v 8.889159 0.729993 0.079167 -v 8.730825 0.769576 0.068560 -v 8.889159 0.769576 0.068560 -v 8.730825 0.798553 0.039583 -v 8.889159 0.798553 0.039583 -v 8.730825 0.809159 0.000000 -v 8.889159 0.809159 0.000000 -v 8.730825 0.798553 -0.039583 -v 8.889159 0.696516 0.057983 -v 8.889159 0.672010 0.033476 -v 8.889159 0.798553 -0.039583 -v 8.889159 0.787975 -0.033476 -v 8.889159 0.763469 -0.057983 -v 8.730825 0.769576 -0.068560 -v 8.889159 0.729993 -0.079167 -v 8.730825 0.729993 -0.066953 -v 8.730825 0.763469 -0.057983 -v 8.730825 0.696516 0.057983 -v 8.730825 0.672010 0.033476 -v 8.889159 0.696516 -0.057983 -v 8.730825 0.696516 -0.057983 -v 8.889159 0.672010 -0.033476 -v 8.730825 0.672010 -0.033476 -v 8.889159 0.663040 0.000000 -v 8.730825 0.663040 0.000000 -v 8.730825 0.729993 0.066953 -v 8.889159 0.729993 0.066953 -v 8.730825 0.763469 0.057983 -v 8.889159 0.763469 0.057983 -v 8.730825 0.787975 0.033476 -v 8.730825 0.796945 0.000000 -v 8.889159 0.787975 0.033476 -v 8.730825 0.787975 -0.033476 -v 8.889159 0.796945 0.000000 -v 8.889159 0.729993 -0.066953 -v 8.520369 0.631573 -0.038389 -v 8.949632 0.601075 0.038389 -v 8.889159 0.769576 -0.068560 -v 2.770368 0.631573 0.038389 -v 2.770368 0.608742 -0.038389 -v 2.770368 0.608742 0.038389 -v 2.951363 0.646351 0.038389 -v 2.858031 0.681457 0.038389 -v 2.858236 0.638747 0.038389 -v 2.951363 0.646351 -0.038389 -v 2.858031 0.681457 -0.038389 -v 2.951158 0.689061 -0.038389 -v 2.848961 0.637990 0.036838 -v 2.848799 0.671860 0.008955 -v 2.848807 0.670079 0.000000 -v 3.137779 0.661573 -0.038389 -v 3.138396 0.660629 0.038389 -v 3.138396 0.660629 -0.038389 -v 3.199631 0.588427 -0.038389 -v 3.199631 0.601075 -0.038389 -v 3.199631 0.588427 0.038389 -v 3.155152 0.634843 0.038389 -v 3.155152 0.634843 -0.038389 -v 3.177558 0.612713 0.038389 -v 3.177558 0.612713 -0.038389 -v 2.969357 0.647821 0.038389 -v 2.960637 0.647109 0.036838 -v 2.960637 0.647109 -0.036838 -v 2.960527 0.670079 0.000000 -v 2.951702 0.691323 0.036838 -v 2.951702 0.691323 0.022971 -v 2.868432 0.684524 0.021619 -v 2.857465 0.683629 -0.036838 -v 2.857465 0.683629 -0.021021 -v 2.868432 0.684524 -0.021619 -v 2.969357 0.647821 -0.038389 -v 2.840241 0.637278 0.038389 -v 2.848961 0.637990 -0.036838 -v 2.858236 0.638747 -0.038389 -v 2.840241 0.637278 -0.038389 -v 2.951158 0.689061 0.038389 -v 2.960432 0.689951 0.036838 -v 2.857465 0.683629 0.036838 -v 2.848755 0.680833 0.036838 -v 2.848755 0.680833 -0.036838 -v 2.951702 0.691323 -0.036838 -v 2.960432 0.689951 -0.036838 -v 2.857465 0.683629 0.021021 -v 2.848755 0.680833 0.019152 -v 2.960432 0.689951 0.022698 -v 2.951702 0.691323 -0.022971 -v 2.960432 0.689951 -0.022698 -v 2.960458 0.684524 -0.021619 -v 2.960494 0.676932 -0.016546 -v 2.848799 0.671860 -0.008955 -v 2.848774 0.676932 -0.016546 -v 2.960518 0.671860 -0.008955 -v 2.960518 0.671860 0.008955 -v 2.960494 0.676932 0.016546 -v 2.848774 0.676932 0.016546 -v 2.960458 0.684524 0.021619 -v 2.770368 0.631573 -0.038389 -v 2.848755 0.680833 -0.019152 -v 3.137779 0.661573 0.038389 -v 3.199631 0.601075 0.038389 -v 1.542686 0.536664 0.128050 -v 2.032973 0.527107 0.129951 -v 1.572429 0.570874 0.121245 -v 0.242440 0.527107 0.129951 -v 0.624969 0.536664 0.128050 -v 0.595269 0.570874 0.121245 -v 2.032973 0.613450 0.092797 -v 1.589708 0.613450 0.092797 -v 1.581365 0.581205 0.114342 -v 0.208236 0.570874 0.121245 -v 0.586290 0.581205 0.114342 -v 2.032973 0.641898 0.050221 -v 1.586911 0.641898 0.050221 -v 1.588440 0.635420 0.059916 -v 2.032973 0.651888 -0.000001 -v 1.559888 0.651888 -0.000001 -v 1.581365 0.646666 0.026252 -v 0.586290 0.646666 0.026252 -v 0.590092 0.647935 0.019872 -v 0.208236 0.651888 -0.000001 -v 1.542686 0.648341 -0.017833 -v 1.548530 0.649814 -0.010427 -v 0.208236 0.641898 -0.050222 -v 0.634031 0.647321 -0.022960 -v 0.682855 0.643216 -0.043598 -v 0.208236 0.613450 -0.092798 -v 0.751137 0.640598 -0.052168 -v 1.416518 0.640598 -0.052168 -v 2.032973 0.570874 0.121245 -v 2.032973 0.613450 -0.092798 -v 0.208236 0.570874 -0.121246 -v 0.242440 0.527107 -0.129952 -v 0.208236 0.525554 -0.130261 -v 0.208236 0.525554 0.130260 -v 0.751137 0.521354 0.037743 -v 0.586290 0.607302 0.054403 -v 0.580453 0.641898 0.050221 -v 0.579016 0.635421 0.059915 -v 1.484800 0.507048 0.082789 -v 1.416518 0.496450 0.129951 -v 1.484800 0.506901 0.129951 -v 0.682855 0.507048 0.082789 -v 0.751137 0.496450 0.129951 -v 0.751137 0.496615 0.080698 -v 1.416518 0.496615 0.080698 -v 0.624969 0.562172 0.045593 -v 0.586290 0.581230 0.097495 -v 0.577951 0.613450 0.092797 -v 1.542686 0.536761 0.088692 -v 0.208236 0.641898 0.050221 -v 0.208236 0.613450 0.092797 -v 1.581365 0.581230 0.097495 -v 1.542686 0.562172 0.045593 -v 1.581365 0.607302 0.054403 -v 0.682855 0.506901 0.129951 -v 0.624969 0.536761 0.088692 -v 1.524162 0.527107 0.129951 -v 1.416518 0.521354 0.037743 -v 1.484800 0.531985 0.039761 -v 1.484800 0.643216 -0.043598 -v 1.495362 0.644409 -0.037599 -v 0.682855 0.531985 0.039761 -v 0.643578 0.527107 0.129951 -v 0.605908 0.651888 -0.000001 -v 2.032973 0.641898 -0.050222 -v 1.429795 0.641746 -0.050450 -v 0.695552 0.642789 -0.045745 -v 0.730994 0.641898 -0.050222 -v 0.624969 0.648341 -0.017833 -v 2.032973 0.527107 -0.129952 -v 2.032973 0.570874 -0.121246 -vt 0.464601 0.861423 -vt 0.460439 0.862370 -vt 0.451296 0.846949 -vt 0.450064 0.826385 -vt 0.441594 0.858882 -vt 0.435917 0.840457 -vt 0.464601 0.857553 -vt 0.470409 0.824919 -vt 0.470409 0.858168 -vt 0.450064 0.836683 -vt 0.456259 0.828787 -vt 0.457997 0.827879 -vt 0.464601 0.824308 -vt 0.459929 0.862848 -vt 0.440875 0.858509 -vt 0.434704 0.850689 -vt 0.444618 0.824308 -vt 0.445835 0.825446 -vt 0.450064 0.863432 -vt 0.464601 0.824308 -vt 0.871666 0.651451 -vt 0.870151 0.650005 -vt 0.872098 0.650005 -vt 0.849533 0.633071 -vt 0.846990 0.634537 -vt 0.846990 0.625687 -vt 0.844342 0.660075 -vt 0.840654 0.651401 -vt 0.846946 0.651401 -vt 0.840223 0.642712 -vt 0.837680 0.649005 -vt 0.837680 0.642712 -vt 0.875838 0.621662 -vt 0.876922 0.624195 -vt 0.875838 0.624195 -vt 0.867978 0.642720 -vt 0.874271 0.642720 -vt 0.849533 0.643387 -vt 0.846990 0.643387 -vt 0.846990 0.641921 -vt 0.870582 0.651451 -vt 0.849533 0.625687 -vt 0.849533 0.634537 -vt 0.843258 0.660075 -vt 0.840223 0.649005 -vt 0.876922 0.621662 -vt 0.846990 0.634537 -vt 0.849533 0.634537 -vt 0.923361 0.319939 -vt 0.923101 0.328600 -vt 0.923101 0.319939 -vt 0.771487 0.592164 -vt 0.788761 0.585464 -vt 0.795037 0.592164 -vt 0.817103 0.633629 -vt 0.813902 0.638891 -vt 0.809566 0.640802 -vt 0.920756 0.288242 -vt 0.920496 0.299701 -vt 0.920496 0.288242 -vt 0.922059 0.336648 -vt 0.921798 0.284402 -vt 0.922059 0.284402 -vt 0.920756 0.299701 -vt 0.920496 0.351946 -vt 0.923362 0.282965 -vt 0.923101 0.287790 -vt 0.923101 0.282965 -vt 0.920756 0.279433 -vt 0.920496 0.279433 -vt 0.922059 0.348107 -vt 0.921798 0.336648 -vt 0.923362 0.309521 -vt 0.923101 0.304696 -vt 0.923362 0.304696 -vt 0.923361 0.313053 -vt 0.923101 0.309521 -vt 0.923361 0.279433 -vt 0.923101 0.279433 -vt 0.921798 0.279433 -vt 0.922059 0.279433 -vt 0.923362 0.287790 -vt 0.923361 0.328600 -vt 0.923101 0.335486 -vt 0.922059 0.356916 -vt 0.921798 0.348107 -vt 0.920756 0.351946 -vt 0.920496 0.356916 -vt 0.799721 0.638891 -vt 0.803995 0.641098 -vt 0.799516 0.639125 -vt 0.796237 0.633734 -vt 0.796521 0.633629 -vt 0.795037 0.626369 -vt 0.795334 0.626345 -vt 0.818586 0.626369 -vt 0.817386 0.633734 -vt 0.814107 0.639125 -vt 0.809628 0.641098 -vt 0.821128 0.611811 -vt 0.821425 0.617382 -vt 0.821128 0.617444 -vt 0.796147 0.588961 -vt 0.795037 0.592164 -vt 0.795878 0.588814 -vt 0.798336 0.586624 -vt 0.798175 0.586362 -vt 0.801313 0.585464 -vt 0.801355 0.585761 -vt 0.817477 0.588961 -vt 0.818586 0.592164 -vt 0.818290 0.592201 -vt 0.815288 0.586624 -vt 0.817746 0.588814 -vt 0.812310 0.585464 -vt 0.815448 0.586362 -vt 0.818290 0.626345 -vt 0.795334 0.592201 -vt 0.923101 0.313053 -vt 0.923362 0.313053 -vt 0.820450 0.607332 -vt 0.821128 0.607332 -vt 0.819434 0.632630 -vt 0.818756 0.635862 -vt 0.818756 0.632630 -vt 0.820281 0.635862 -vt 0.819603 0.630132 -vt 0.820281 0.630132 -vt 0.820450 0.621923 -vt 0.820450 0.617444 -vt 0.821128 0.601896 -vt 0.820451 0.590900 -vt 0.821128 0.590900 -vt 0.820281 0.588696 -vt 0.819603 0.585464 -vt 0.820281 0.585464 -vt 0.821128 0.585464 -vt 0.820451 0.587761 -vt 0.820450 0.585464 -vt 0.821128 0.607332 -vt 0.820451 0.605035 -vt 0.821128 0.605035 -vt 0.820451 0.601896 -vt 0.819603 0.622679 -vt 0.820281 0.622679 -vt 0.819434 0.585464 -vt 0.818756 0.591194 -vt 0.818756 0.585464 -vt 0.821128 0.587761 -vt 0.819434 0.598647 -vt 0.818756 0.598647 -vt 0.819603 0.588696 -vt 0.819434 0.591194 -vt 0.820450 0.611811 -vt 0.790558 0.639125 -vt 0.786079 0.641098 -vt 0.793837 0.633734 -vt 0.780446 0.641098 -vt 0.775967 0.639125 -vt 0.772688 0.633734 -vt 0.771487 0.626369 -vt 0.795037 0.626369 -vt 0.772328 0.588814 -vt 0.777764 0.585464 -vt 0.774626 0.586362 -vt 0.791899 0.586362 -vt 0.794196 0.588814 -vt 0.804058 0.640802 -vt 0.812268 0.585761 -vt 0.923101 0.313053 -vt 0.923362 0.335486 -vt 0.921798 0.356916 -vt 0.920756 0.356916 -vt 0.821425 0.611873 -vt 0.819434 0.635862 -vt 0.819603 0.635862 -vt 0.821128 0.621923 -vt 0.820450 0.607332 -vt 0.749280 0.075231 -vt 0.752595 0.076187 -vt 0.751248 0.085995 -vt 0.723177 0.071367 -vt 0.728013 0.086634 -vt 0.719862 0.072324 -vt 0.780984 0.103895 -vt 0.772398 0.099528 -vt 0.780984 0.099528 -vt 0.772398 0.087934 -vt 0.780984 0.087934 -vt 0.778671 0.051451 -vt 0.777702 0.050213 -vt 0.778671 0.050213 -vt 0.777702 0.048371 -vt 0.778671 0.048371 -vt 0.777702 0.046544 -vt 0.778671 0.046544 -vt 0.780984 0.036783 -vt 0.772398 0.044428 -vt 0.772398 0.036783 -vt 0.772398 0.112481 -vt 0.776050 0.103895 -vt 0.776050 0.112481 -vt 0.789570 0.096087 -vt 0.780984 0.087600 -vt 0.789570 0.087600 -vt 0.779639 0.049594 -vt 0.778671 0.051413 -vt 0.778671 0.049594 -vt 0.778671 0.047788 -vt 0.779639 0.047788 -vt 0.778671 0.046690 -vt 0.779639 0.046690 -vt 0.789570 0.045717 -vt 0.780984 0.036783 -vt 0.789570 0.036783 -vt 0.780984 0.096087 -vt 0.789570 0.120111 -vt 0.780984 0.120111 -vt 0.789570 0.036783 -vt 0.798157 0.067565 -vt 0.789570 0.067565 -vt 0.772398 0.110771 -vt 0.742980 0.101709 -vt 0.749814 0.097935 -vt 0.747627 0.086100 -vt 0.752966 0.095972 -vt 0.754174 0.059262 -vt 0.757431 0.060920 -vt 0.762713 0.043768 -vt 0.765227 0.046505 -vt 0.770434 0.036783 -vt 0.772398 0.039935 -vt 0.720396 0.049619 -vt 0.713562 0.045845 -vt 0.742980 0.036783 -vt 0.723548 0.051583 -vt 0.718209 0.061454 -vt 0.721830 0.061559 -vt 0.733295 0.103786 -vt 0.724756 0.088292 -vt 0.735809 0.101049 -vt 0.742980 0.107619 -vt 0.741016 0.110771 -vt 0.772398 0.103895 -vt 0.777702 0.051451 -vt 0.780984 0.044428 -vt 0.772398 0.103895 -vt 0.780984 0.096087 -vt 0.779639 0.051413 -vt 0.780984 0.045717 -vt 0.789570 0.096087 -vt 0.798157 0.036783 -vt 0.798904 0.618376 -vt 0.793884 0.623006 -vt 0.793253 0.622486 -vt 0.783608 0.616227 -vt 0.762726 0.615435 -vt 0.783413 0.615435 -vt 0.794667 0.664858 -vt 0.791465 0.660913 -vt 0.795086 0.664170 -vt 0.804840 0.562332 -vt 0.815402 0.562906 -vt 0.805864 0.564804 -vt 0.791609 0.626412 -vt 0.789166 0.631678 -vt 0.790842 0.626095 -vt 0.792347 0.577021 -vt 0.795091 0.571484 -vt 0.793115 0.577221 -vt 0.754858 0.560224 -vt 0.757833 0.615435 -vt 0.754858 0.615435 -vt 0.801125 0.621005 -vt 0.796586 0.625044 -vt 0.795965 0.624509 -vt 0.794587 0.628035 -vt 0.793820 0.627717 -vt 0.762726 0.560224 -vt 0.792347 0.653828 -vt 0.795091 0.659365 -vt 0.794419 0.659843 -vt 0.805862 0.619988 -vt 0.801439 0.621748 -vt 0.720991 0.615435 -vt 0.716003 0.560224 -vt 0.720991 0.560224 -vt 0.792348 0.632623 -vt 0.789166 0.672230 -vt 0.783749 0.617019 -vt 0.789166 0.617019 -vt 0.745371 0.616227 -vt 0.745695 0.615435 -vt 0.789166 0.656383 -vt 0.790777 0.661360 -vt 0.789166 0.574466 -vt 0.791465 0.569935 -vt 0.789934 0.574663 -vt 0.724331 0.617019 -vt 0.735282 0.616227 -vt 0.735373 0.617019 -vt 0.769499 0.617019 -vt 0.779064 0.616227 -vt 0.778911 0.617019 -vt 0.739689 0.671438 -vt 0.735373 0.616227 -vt 0.739689 0.616227 -vt 0.794587 0.602814 -vt 0.792348 0.598226 -vt 0.793115 0.597909 -vt 0.804534 0.669255 -vt 0.735373 0.672230 -vt 0.805864 0.666045 -vt 0.799862 0.663114 -vt 0.806170 0.665306 -vt 0.745696 0.560224 -vt 0.751267 0.615435 -vt 0.789933 0.631997 -vt 0.801439 0.609101 -vt 0.805862 0.610861 -vt 0.801125 0.609844 -vt 0.804534 0.614065 -vt 0.799245 0.611741 -vt 0.804841 0.613324 -vt 0.799493 0.663831 -vt 0.799862 0.567735 -vt 0.806170 0.565543 -vt 0.804534 0.561594 -vt 0.795086 0.566679 -vt 0.794667 0.565991 -vt 0.790777 0.569489 -vt 0.815402 0.563707 -vt 0.769499 0.672230 -vt 0.779064 0.673022 -vt 0.769337 0.673022 -vt 0.745371 0.559432 -vt 0.721183 0.559432 -vt 0.757833 0.560224 -vt 0.735282 0.673022 -vt 0.724331 0.672230 -vt 0.718557 0.672230 -vt 0.712477 0.617019 -vt 0.718557 0.617019 -vt 0.815402 0.560232 -vt 0.789933 0.598852 -vt 0.795965 0.606340 -vt 0.793820 0.603132 -vt 0.754858 0.615435 -vt 0.751267 0.560224 -vt 0.754858 0.560224 -vt 0.783749 0.672230 -vt 0.778911 0.672230 -vt 0.793253 0.608363 -vt 0.791609 0.604437 -vt 0.793884 0.607843 -vt 0.789166 0.615435 -vt 0.783413 0.560224 -vt 0.789166 0.560224 -vt 0.796586 0.605804 -vt 0.799245 0.619108 -vt 0.804534 0.616784 -vt 0.804841 0.617525 -vt 0.815402 0.667142 -vt 0.815402 0.667942 -vt 0.825614 0.614643 -vt 0.815402 0.559432 -vt 0.825614 0.559432 -vt 0.798904 0.612473 -vt 0.754674 0.616227 -vt 0.745709 0.671438 -vt 0.745709 0.616227 -vt 0.799493 0.567018 -vt 0.794419 0.571006 -vt 0.783608 0.559432 -vt 0.789166 0.599171 -vt 0.834398 0.559432 -vt 0.834398 0.614643 -vt 0.716003 0.615435 -vt 0.712477 0.560224 -vt 0.815402 0.615424 -vt 0.815402 0.612758 -vt 0.823951 0.615435 -vt 0.823951 0.670646 -vt 0.819676 0.670646 -vt 0.818870 0.671438 -vt 0.816204 0.671438 -vt 0.815402 0.670646 -vt 0.804840 0.668517 -vt 0.815402 0.670617 -vt 0.815402 0.615424 -vt 0.815402 0.618091 -vt 0.762404 0.616227 -vt 0.793115 0.653627 -vt 0.806170 0.620733 -vt 0.793115 0.632940 -vt 0.721183 0.616227 -vt 0.789934 0.656186 -vt 0.724552 0.616227 -vt 0.769337 0.616227 -vt 0.735373 0.671438 -vt 0.806170 0.610116 -vt 0.724552 0.673022 -vt 0.712477 0.672230 -vt 0.790842 0.604754 -vt 0.815402 0.614643 -vt 0.754674 0.671438 -vt 0.762404 0.559432 -vt 0.712477 0.615435 -vt 0.823151 0.671438 -vt 0.820477 0.671438 -vt 0.819676 0.615435 -vt 0.820477 0.614643 -vt 0.823151 0.614643 -vt 0.815402 0.615435 -vt 0.819676 0.615435 -vt 0.816204 0.614643 -vt 0.818870 0.614643 -vt 0.819676 0.670646 -vt 0.815402 0.671417 -vt 0.367654 0.881168 -vt 0.181014 0.919346 -vt 0.181014 0.881168 -vt 0.755822 0.627137 -vt 0.756305 0.630463 -vt 0.755822 0.630463 -vt 0.138278 0.892428 -vt 0.142855 0.854250 -vt 0.142855 0.892428 -vt 0.430978 0.872430 -vt 0.022531 0.914493 -vt 0.022168 0.876317 -vt 0.084766 0.418625 -vt 0.159259 0.408635 -vt 0.159270 0.418625 -vt 0.399556 0.792745 -vt 0.432760 0.882573 -vt 0.383430 0.809460 -vt 0.147328 0.392066 -vt 0.185506 0.382128 -vt 0.185506 0.392066 -vt 0.141555 0.783385 -vt 0.179733 0.763635 -vt 0.179733 0.783385 -vt 0.147328 0.404940 -vt 0.185506 0.404940 -vt 0.168985 0.881168 -vt 0.141555 0.808098 -vt 0.179733 0.808098 -vt 0.179733 0.930909 -vt 0.141555 0.835355 -vt 0.179733 0.835355 -vt 0.250867 0.787059 -vt 0.252044 0.797969 -vt 0.251713 0.800582 -vt 0.120230 0.823894 -vt 0.119973 0.854250 -vt 0.111595 0.823894 -vt 0.121427 0.892428 -vt 0.119973 0.892428 -vt 0.084572 0.432035 -vt 0.139592 0.476128 -vt 0.098750 0.476128 -vt 0.294519 0.919690 -vt 0.286243 0.845163 -vt 0.294519 0.845163 -vt 0.300243 0.845162 -vt 0.314951 0.919689 -vt 0.300243 0.919689 -vt 0.417608 0.862004 -vt 0.334873 0.936570 -vt 0.334873 0.862067 -vt 0.787176 0.572532 -vt 0.786973 0.574278 -vt 0.786499 0.572162 -vt 0.200879 0.845126 -vt 0.215340 0.920231 -vt 0.199116 0.919609 -vt 0.163851 0.901540 -vt 0.221120 0.845951 -vt 0.164530 0.910698 -vt 0.411659 0.840604 -vt 0.282626 0.869613 -vt 0.301515 0.889516 -vt 0.278866 0.910438 -vt 0.065236 0.960442 -vt 0.079933 0.946283 -vt 0.079933 0.960648 -vt 0.065236 0.828355 -vt 0.079933 0.846231 -vt 0.065236 0.847924 -vt 0.054925 0.952771 -vt 0.055670 0.942328 -vt 0.065236 0.944414 -vt 0.055670 0.849749 -vt 0.054925 0.835744 -vt 0.217102 0.845749 -vt 0.232857 0.920720 -vt 0.141482 0.826764 -vt 0.129501 0.854250 -vt 0.128299 0.823894 -vt 0.226050 0.944694 -vt 0.108986 0.989349 -vt 0.066450 0.944694 -vt 0.141555 0.930909 -vt 0.114069 0.913783 -vt 0.111199 0.909094 -vt 0.041622 0.853837 -vt 0.096334 0.771449 -vt 0.125686 0.810936 -vt 0.210088 0.833429 -vt 0.210088 0.805632 -vt 0.196393 0.840532 -vt 0.160192 0.848688 -vt 0.178685 0.826666 -vt 0.111199 0.833429 -vt 0.322731 0.910072 -vt 0.302393 0.933233 -vt 0.338833 0.892945 -vt 0.210088 0.780109 -vt 0.200815 0.884838 -vt 0.156980 0.884865 -vt 0.178007 0.864103 -vt 0.140842 0.867794 -vt 0.111199 0.805631 -vt 0.344116 0.926359 -vt 0.327537 0.952383 -vt 0.357467 0.907136 -vt 0.210088 0.759231 -vt 0.177498 0.907862 -vt 0.135742 0.901361 -vt 0.122337 0.882167 -vt 0.111199 0.780109 -vt 0.141555 0.763635 -vt 0.367258 0.937783 -vt 0.359199 0.968012 -vt 0.374372 0.915481 -vt 0.215862 0.410567 -vt 0.215862 0.395683 -vt 0.152527 0.927257 -vt 0.112701 0.913011 -vt 0.105505 0.890677 -vt 0.116973 0.410567 -vt 0.390803 0.938489 -vt 0.396101 0.969119 -vt 0.388139 0.915894 -vt 0.215862 0.382253 -vt 0.121003 0.943196 -vt 0.089153 0.913949 -vt 0.091737 0.891226 -vt 0.116973 0.395683 -vt 0.147328 0.382128 -vt 0.253418 0.831766 -vt 0.278737 0.864051 -vt 0.246772 0.824854 -vt 0.232287 0.798805 -vt 0.225705 0.805782 -vt 0.227112 0.774585 -vt 0.225832 0.765225 -vt 0.207365 0.904687 -vt 0.239190 0.880046 -vt 0.241061 0.911624 -vt 0.215939 0.875259 -vt 0.239034 0.856756 -vt 0.184722 0.850813 -vt 0.170064 0.850813 -vt 0.272290 0.878385 -vt 0.240266 0.854021 -vt 0.263480 0.849006 -vt 0.240334 0.830628 -vt 0.255913 0.827263 -vt 0.184722 0.949702 -vt 0.168985 0.919346 -vt 0.254543 0.851982 -vt 0.319310 0.874028 -vt 0.285145 0.868918 -vt 0.163215 0.881168 -vt 0.238647 0.885653 -vt 0.225628 0.814256 -vt 0.138278 0.854250 -vt 0.120230 0.922783 -vt 0.224767 0.826011 -vt 0.227483 0.825945 -vt 0.756186 0.632857 -vt 0.755703 0.632857 -vt 0.824350 0.611686 -vt 0.821956 0.610682 -vt 0.821956 0.610194 -vt 0.362685 0.850813 -vt 0.223430 0.853544 -vt 0.046629 0.817007 -vt 0.028101 0.786340 -vt 0.073598 0.858664 -vt 0.129501 0.892428 -vt 0.170064 0.949702 -vt 0.163215 0.919346 -vt 0.405668 0.831052 -vt 0.432298 0.789096 -vt 0.450674 0.758146 -vt 0.362685 0.949702 -vt 0.367654 0.919346 -vt 0.018689 0.845993 -vt 0.430814 0.842074 -vt 0.009760 0.823855 -vt 0.430944 0.819850 -vt 0.010641 0.839583 -vt 0.444686 0.873404 -vt 0.002963 0.869704 -vt 0.003255 0.933304 -vt 0.437957 0.906516 -vt 0.445097 0.936817 -vt 0.008726 0.903104 -vt 0.431607 0.884546 -vt 0.019629 0.944878 -vt 0.431341 0.910606 -vt 0.431754 0.940959 -vt 0.159076 0.432035 -vt 0.210088 0.898386 -vt 0.227846 0.761041 -vt 0.243889 0.821336 -vt 0.235155 0.795246 -vt 0.141482 0.919913 -vt 0.253576 0.840239 -vt 0.251420 0.832385 -vt 0.227709 0.806381 -vt 0.128299 0.922783 -vt 0.121427 0.854250 -vt 0.251833 0.851946 -vt 0.253412 0.849703 -vt 0.225882 0.823717 -vt 0.154502 0.850813 -vt 0.161206 0.881168 -vt 0.161206 0.919346 -vt 0.156512 0.949702 -vt 0.154502 0.949702 -vt 0.156512 0.850813 -vt 0.280525 0.868778 -vt 0.279500 0.867244 -vt 0.058292 0.507220 -vt 0.010797 0.569542 -vt 0.043671 0.471945 -vt 0.411659 0.957630 -vt 0.417608 0.936507 -vt 0.425365 0.405471 -vt 0.408597 0.377902 -vt 0.430559 0.374913 -vt 0.404706 0.400792 -vt 0.392606 0.380945 -vt 0.180439 0.435253 -vt 0.180676 0.420035 -vt 0.100742 0.420523 -vt 0.084319 0.448321 -vt 0.080167 0.425466 -vt 0.068372 0.445546 -vt 0.065237 0.428295 -vt 0.063445 0.435253 -vt 0.397818 0.352434 -vt 0.412889 0.333163 -vt 0.196636 0.423886 -vt 0.180660 0.405299 -vt 0.196606 0.396186 -vt 0.106285 0.451033 -vt 0.073833 0.473917 -vt 0.062794 0.459163 -vt 0.063650 0.420035 -vt 0.084755 0.408635 -vt 0.381924 0.319287 -vt 0.367654 0.354772 -vt 0.386872 0.367397 -vt 0.372398 0.364805 -vt 0.287985 0.823894 -vt 0.089094 0.492994 -vt 0.287985 0.940958 -vt 0.300243 0.940958 -vt 0.419330 0.829972 -vt 0.338730 0.840659 -vt 0.316468 0.824736 -vt 0.142452 0.750248 -vt 0.135482 0.716927 -vt 0.155763 0.723689 -vt 0.110431 0.731243 -vt 0.120721 0.712831 -vt 0.319352 0.940958 -vt 0.036016 0.563771 -vt 0.029455 0.597215 -vt 0.004320 0.583264 -vt 0.319352 0.823894 -vt 0.303168 0.823894 -vt 0.140039 0.691095 -vt 0.161617 0.690501 -vt 0.124328 0.692385 -vt 0.194903 0.940888 -vt 0.212857 0.941577 -vt 0.049628 0.590191 -vt 0.034307 0.623005 -vt 0.018661 0.621981 -vt 0.014820 0.601567 -vt 0.197671 0.823894 -vt 0.134490 0.662091 -vt 0.153849 0.649898 -vt 0.207080 0.957383 -vt 0.233502 0.942153 -vt 0.236271 0.958197 -vt 0.179085 0.495124 -vt 0.163808 0.493977 -vt 0.154454 0.483435 -vt 0.344016 0.892238 -vt 0.333010 0.889660 -vt 0.328455 0.880020 -vt 0.042871 0.365584 -vt 0.043417 0.356382 -vt 0.434704 0.879415 -vt 0.419177 0.892238 -vt 0.419144 0.836526 -vt 0.083543 0.483492 -vt 0.117123 0.744791 -vt 0.165376 0.806522 -vt 0.151105 0.842008 -vt 0.004455 0.542548 -vt 0.031133 0.474822 -vt 0.055862 0.623325 -vt 0.029091 0.652081 -vt 0.014971 0.642545 -vt 0.215626 0.824583 -vt 0.234620 0.846237 -vt 0.420835 0.957585 -vt 0.419330 0.967725 -vt 0.035915 0.466811 -vt 0.042217 0.462087 -vt 0.048351 0.461917 -vt 0.366262 0.364703 -vt 0.427423 0.840450 -vt 0.420835 0.840559 -vt 0.280166 0.919689 -vt 0.286243 0.919689 -vt 0.427423 0.957477 -vt 0.426739 0.936438 -vt 0.433211 0.936263 -vt 0.426739 0.861935 -vt 0.433211 0.861760 -vt 0.280166 0.845163 -vt 0.273547 0.845162 -vt 0.000000 0.574044 -vt 0.307501 0.957524 -vt 0.321582 0.957649 -vt 0.316478 0.972876 -vt 0.338730 0.957686 -vt 0.321582 0.840622 -vt 0.307501 0.840497 -vt 0.106216 0.740506 -vt 0.300261 0.957344 -vt 0.300552 0.936209 -vt 0.316899 0.936480 -vt 0.316899 0.861977 -vt 0.300552 0.861705 -vt 0.300261 0.840317 -vt 0.295300 0.861653 -vt 0.295300 0.936156 -vt 0.362969 0.497254 -vt 0.372096 0.495103 -vt 0.364232 0.500350 -vt 0.376009 0.504695 -vt 0.366515 0.505943 -vt 0.374379 0.500698 -vt 0.093034 0.818586 -vt 0.090311 0.828266 -vt 0.089524 0.818590 -vt 0.079933 0.828325 -vt 0.083469 0.818599 -vt 0.084257 0.828300 -vt 0.050256 0.321813 -vt 0.037322 0.329424 -vt 0.042054 0.317434 -vt 0.080119 0.970178 -vt 0.093484 0.960704 -vt 0.093034 0.970177 -vt 0.371718 0.494178 -vt 0.360811 0.479665 -vt 0.368775 0.470217 -vt 0.080119 0.818603 -vt 0.062828 0.818541 -vt 0.046085 0.332381 -vt 0.035366 0.347044 -vt 0.126597 0.828072 -vt 0.093484 0.828247 -vt 0.435557 0.816777 -vt 0.199315 0.827688 -vt 0.196680 0.818038 -vt 0.053647 0.627734 -vt 0.103243 0.712002 -vt 0.073402 0.664631 -vt 0.025648 0.599881 -vt 0.200106 0.297969 -vt 0.207889 0.303032 -vt 0.436332 0.958934 -vt 0.435557 0.968404 -vt 0.054629 0.824678 -vt 0.057014 0.814265 -vt 0.054629 0.963708 -vt 0.322765 0.882767 -vt 0.093484 0.835236 -vt 0.126603 0.835063 -vt 0.436332 0.826434 -vt 0.241316 0.952943 -vt 0.760195 0.627137 -vt 0.760195 0.630463 -vt 0.758690 0.632857 -vt 0.758690 0.624743 -vt 0.756305 0.627137 -vt 0.756186 0.624743 -vt 0.770398 0.605208 -vt 0.767857 0.606257 -vt 0.767448 0.605970 -vt 0.827676 0.611686 -vt 0.830070 0.610683 -vt 0.827676 0.612174 -vt 0.824350 0.612174 -vt 0.798477 0.572018 -vt 0.795924 0.570998 -vt 0.798883 0.571727 -vt 0.772739 0.623429 -vt 0.774822 0.623357 -vt 0.773153 0.624362 -vt 0.769838 0.625247 -vt 0.770357 0.626113 -vt 0.775912 0.604111 -vt 0.775474 0.605036 -vt 0.775287 0.604060 -vt 0.791493 0.574489 -vt 0.793292 0.572532 -vt 0.793495 0.574278 -vt 0.747504 0.573386 -vt 0.748528 0.572849 -vt 0.748018 0.573720 -vt 0.769327 0.625588 -vt 0.769864 0.626441 -vt 0.751344 0.574569 -vt 0.750940 0.575507 -vt 0.753027 0.575559 -vt 0.752687 0.576534 -vt 0.793969 0.572162 -vt 0.794793 0.572726 -vt 0.784660 0.604111 -vt 0.785120 0.605036 -vt 0.784506 0.605085 -vt 0.776076 0.605085 -vt 0.788975 0.574489 -vt 0.791415 0.572729 -vt 0.736309 0.627707 -vt 0.738999 0.627896 -vt 0.739677 0.628600 -vt 0.736369 0.627198 -vt 0.738518 0.627337 -vt 0.773337 0.624826 -vt 0.775148 0.623736 -vt 0.736309 0.635555 -vt 0.738999 0.635366 -vt 0.736369 0.636064 -vt 0.738518 0.635925 -vt 0.736410 0.636486 -vt 0.751524 0.574104 -vt 0.733475 0.627712 -vt 0.732959 0.627640 -vt 0.733084 0.627323 -vt 0.732550 0.627517 -vt 0.732756 0.626992 -vt 0.784940 0.605483 -vt 0.733370 0.627198 -vt 0.733486 0.627707 -vt 0.733250 0.626777 -vt 0.770629 0.626523 -vt 0.733475 0.635551 -vt 0.733370 0.636064 -vt 0.733084 0.635939 -vt 0.733250 0.636486 -vt 0.732756 0.636270 -vt 0.748797 0.572437 -vt 0.748033 0.572528 -vt 0.748373 0.572162 -vt 0.732959 0.635622 -vt 0.733459 0.635509 -vt 0.732550 0.635746 -vt 0.775664 0.605483 -vt 0.776183 0.605525 -vt 0.733459 0.627753 -vt 0.784410 0.605525 -vt 0.736410 0.626777 -vt 0.733486 0.635555 -vt 0.789053 0.572729 -vt 0.793265 0.572301 -vt 0.791373 0.572406 -vt 0.787202 0.572301 -vt 0.431761 0.810238 -vt 0.430534 0.807213 -vt 0.448317 0.807213 -vt 0.811430 0.474560 -vt 0.811430 0.492347 -vt 0.808923 0.491121 -vt 0.419056 0.885663 -vt 0.401365 0.890520 -vt 0.399809 0.885572 -vt 0.419056 0.830727 -vt 0.401362 0.824308 -vt 0.419144 0.824393 -vt 0.399806 0.830635 -vt 0.259655 0.799839 -vt 0.251564 0.788481 -vt 0.285446 0.864174 -vt 0.300614 0.852188 -vt 0.350002 0.916710 -vt 0.231521 0.916226 -vt 0.338373 0.888297 -vt 0.093484 0.945775 -vt 0.093484 0.953715 -vt 0.093484 0.846718 -vt 0.090311 0.846604 -vt 0.084257 0.846386 -vt 0.356034 0.824534 -vt 0.369907 0.824308 -vt 0.369626 0.842430 -vt 0.354809 0.866048 -vt 0.344016 0.825241 -vt 0.356034 0.864579 -vt 0.090998 0.914529 -vt 0.092586 0.930975 -vt 0.043236 0.931233 -vt 0.035249 0.895577 -vt 0.035806 0.914818 -vt 0.035806 0.876470 -vt 0.090440 0.895288 -vt 0.090998 0.876182 -vt 0.035928 0.875237 -vt 0.399806 0.825220 -vt 0.399806 0.875522 -vt 0.389293 0.866306 -vt 0.378418 0.838249 -vt 0.378418 0.832296 -vt 0.387864 0.824533 -vt 0.371959 0.829146 -vt 0.374016 0.824308 -vt 0.374138 0.832227 -vt 0.374296 0.842433 -vt 0.373551 0.838193 -vt 0.374231 0.838181 -vt 0.273547 0.824469 -vt 0.273547 0.923558 -vt 0.236271 0.874013 -vt 0.371959 0.829147 -vt 0.319471 0.844322 -vt 0.322174 0.825142 -vt 0.322765 0.823894 -vt 0.918421 0.286310 -vt 0.916681 0.285802 -vt 0.918504 0.286251 -vt 0.936501 0.310599 -vt 0.934451 0.310699 -vt 0.934451 0.310599 -vt 0.937976 0.309780 -vt 0.936501 0.310699 -vt 0.892115 0.320222 -vt 0.892141 0.318747 -vt 0.892215 0.320222 -vt 0.901114 0.306648 -vt 0.899380 0.307176 -vt 0.899296 0.307117 -vt 0.932976 0.309780 -vt 0.932976 0.309680 -vt 0.892115 0.322272 -vt 0.892141 0.323747 -vt 0.892042 0.323747 -vt 0.892215 0.322272 -vt 0.906124 0.291980 -vt 0.900667 0.292047 -vt 0.900656 0.291980 -vt 0.906510 0.292015 -vt 0.906113 0.292047 -vt 0.885094 0.274304 -vt 0.886209 0.274879 -vt 0.886185 0.274946 -vt 0.883267 0.273187 -vt 0.885122 0.274239 -vt 0.896531 0.305358 -vt 0.896886 0.305205 -vt 0.896568 0.305417 -vt 0.882946 0.272978 -vt 0.883303 0.273127 -vt 0.900278 0.292015 -vt 0.900265 0.291948 -vt 0.896850 0.305145 -vt 0.898692 0.304073 -vt 0.898664 0.304008 -vt 0.899771 0.303423 -vt 0.908796 0.273696 -vt 0.907553 0.273475 -vt 0.908800 0.273606 -vt 0.910367 0.273606 -vt 0.910371 0.273696 -vt 0.911614 0.273475 -vt 0.911624 0.273564 -vt 0.912541 0.273204 -vt 0.906626 0.273204 -vt 0.906638 0.273135 -vt 0.283424 0.983651 -vt 0.268664 0.990558 -vt 0.261111 0.991874 -vt 0.026063 0.991367 -vt 0.026079 0.956361 -vt 0.300190 0.928076 -vt 0.318982 0.900611 -vt 0.315809 0.914151 -vt 0.346020 0.909288 -vt 0.339115 0.885919 -vt 0.405448 0.914953 -vt 0.365048 0.922020 -vt 0.350795 0.865140 -vt 0.415873 0.897820 -vt 0.471175 0.754182 -vt 0.458767 0.872459 -vt 0.357502 0.844886 -vt 0.361920 0.823219 -vt 0.342793 0.800048 -vt 0.083597 0.483435 -vt 0.314951 0.845162 -vt 0.785502 0.573732 -vt 0.785675 0.572726 -vt 0.785940 0.572318 -vt 0.200461 0.841272 -vt 0.054057 0.941199 -vt 0.053777 0.851022 -vt 0.137055 0.823894 -vt 0.204782 0.983367 -vt 0.183513 0.989349 -vt 0.220351 0.967022 -vt 0.087718 0.983367 -vt 0.072149 0.967022 -vt 0.066450 0.716714 -vt 0.074584 0.667629 -vt 0.217916 0.667629 -vt 0.096805 0.631696 -vt 0.127161 0.618543 -vt 0.165339 0.618543 -vt 0.195694 0.631696 -vt 0.226050 0.716714 -vt 0.227146 0.966344 -vt 0.227189 0.972088 -vt 0.226453 0.973464 -vt 0.227199 0.973588 -vt 0.209851 0.965849 -vt 0.190607 0.903696 -vt 0.231649 0.966301 -vt 0.234931 0.974874 -vt 0.231709 0.974338 -vt 0.231705 0.973713 -vt 0.498129 0.933024 -vt 0.498429 0.972265 -vt 0.169319 0.873070 -vt 0.172985 0.888221 -vt 0.146630 0.856775 -vt 0.139078 0.883031 -vt 0.117849 0.897469 -vt 0.133369 0.833582 -vt 0.072501 0.889897 -vt 0.060676 0.870781 -vt 0.012384 0.842724 -vt 0.078122 0.752851 -vt 0.013636 0.667422 -vt 0.139211 0.761245 -vt 0.140176 0.762657 -vt 0.120559 0.786686 -vt 0.111199 0.759230 -vt 0.084097 0.944666 -vt 0.116973 0.382253 -vt 0.111595 0.922783 -vt 0.439756 0.843177 -vt 0.011609 0.881207 -vt 0.208202 0.912177 -vt 0.207219 0.913784 -vt 0.137055 0.922783 -vt 0.389669 0.398222 -vt 0.063633 0.405299 -vt 0.300243 0.823894 -vt 0.303168 0.940958 -vt 0.328487 0.824308 -vt 0.344016 0.837131 -vt 0.423698 0.826886 -vt 0.434704 0.824308 -vt 0.073630 0.494257 -vt 0.062059 0.495124 -vt 0.048560 0.664030 -vt 0.236271 0.825159 -vt 0.282393 0.940958 -vt 0.282393 0.823894 -vt 0.273547 0.919689 -vt 0.367839 0.509186 -vt 0.062828 0.970035 -vt 0.127684 0.818403 -vt 0.064298 0.662103 -vt 0.045476 0.632225 -vt 0.239281 0.922407 -vt 0.231537 0.927577 -vt 0.101777 0.721597 -vt 0.103417 0.718791 -vt 0.067451 0.661698 -vt 0.017446 0.595502 -vt 0.047751 0.819888 -vt 0.326777 0.893499 -vt 0.241316 0.834464 -vt 0.199307 0.834683 -vt 0.126119 0.953545 -vt 0.770807 0.605496 -vt 0.755703 0.624743 -vt 0.830070 0.610194 -vt 0.795519 0.571290 -vt 0.774471 0.622386 -vt 0.794528 0.572318 -vt 0.794965 0.573732 -vt 0.785297 0.604060 -vt 0.739677 0.634663 -vt 0.753350 0.575178 -vt 0.770207 0.626804 -vt 0.789095 0.572406 -vt 0.739947 0.630492 -vt 0.739947 0.632770 -vt 0.448333 0.814249 -vt 0.441339 0.814265 -vt 0.805587 0.481545 -vt 0.805601 0.474547 -vt 0.419144 0.890605 -vt 0.338348 0.883591 -vt 0.349829 0.883591 -vt 0.231350 0.883591 -vt 0.239315 0.888297 -vt 0.239290 0.883591 -vt 0.363146 0.856179 -vt 0.344074 0.875485 -vt 0.344016 0.875535 -vt 0.035928 0.916080 -vt 0.043236 0.860376 -vt 0.092586 0.860118 -vt 0.387864 0.864584 -vt 0.380765 0.856184 -vt 0.372506 0.832257 -vt 0.371959 0.824349 -vt 0.271515 0.924133 -vt 0.258028 0.920318 -vt 0.246594 0.909453 -vt 0.238954 0.893193 -vt 0.238954 0.854834 -vt 0.246594 0.838574 -vt 0.258027 0.827709 -vt 0.271515 0.823894 -vt 0.371959 0.824351 -vt 0.322765 0.864749 -vt 0.322174 0.863502 -vt 0.916598 0.285862 -vt 0.937976 0.309680 -vt 0.892042 0.318747 -vt 0.901198 0.306707 -vt 0.906522 0.291948 -vt 0.882983 0.272919 -vt 0.899747 0.303356 -vt 0.907543 0.273564 -vt 0.912529 0.273135 -vt 0.795702 0.563021 -vt 0.788305 0.528378 -vt 0.795702 0.528378 -vt 0.776816 0.638836 -vt 0.770007 0.604192 -vt 0.776816 0.604192 -vt 0.770007 0.638836 -vt 0.761975 0.604192 -vt 0.761975 0.638836 -vt 0.753943 0.604192 -vt 0.753943 0.638836 -vt 0.747133 0.604192 -vt 0.776816 0.604192 -vt 0.770007 0.569549 -vt 0.776816 0.569549 -vt 0.770007 0.604192 -vt 0.761975 0.569549 -vt 0.761975 0.604192 -vt 0.753943 0.569549 -vt 0.753943 0.604192 -vt 0.747133 0.569549 -vt 0.806186 0.604192 -vt 0.800108 0.569549 -vt 0.806186 0.569549 -vt 0.800108 0.604192 -vt 0.792392 0.569549 -vt 0.792392 0.604192 -vt 0.784213 0.569549 -vt 0.784213 0.604192 -vt 0.776816 0.569549 -vt 0.817674 0.563021 -vt 0.811596 0.528378 -vt 0.817674 0.528378 -vt 0.769755 0.563185 -vt 0.778883 0.557085 -vt 0.779380 0.566415 -vt 0.764157 0.535046 -vt 0.771814 0.528378 -vt 0.774926 0.537188 -vt 0.811596 0.563021 -vt 0.803881 0.528378 -vt 0.803881 0.563021 -vt 0.742479 0.541633 -vt 0.733878 0.584870 -vt 0.690641 0.576269 -vt 0.685987 0.614016 -vt 0.695974 0.624192 -vt 0.685987 0.626179 -vt 0.690641 0.602779 -vt 0.695974 0.616003 -vt 0.704899 0.602646 -vt 0.699242 0.594179 -vt 0.712465 0.599512 -vt 0.710479 0.589524 -vt 0.720655 0.599512 -vt 0.722641 0.589524 -vt 0.728221 0.602646 -vt 0.733878 0.594179 -vt 0.734012 0.608436 -vt 0.742479 0.602779 -vt 0.737146 0.616003 -vt 0.747133 0.614016 -vt 0.737146 0.624192 -vt 0.747133 0.626179 -vt 0.734012 0.631758 -vt 0.742479 0.637416 -vt 0.728221 0.637549 -vt 0.733878 0.646016 -vt 0.720655 0.640683 -vt 0.722641 0.650671 -vt 0.710479 0.650671 -vt 0.704899 0.637549 -vt 0.699242 0.646016 -vt 0.690641 0.637416 -vt 0.699108 0.631758 -vt 0.798422 0.604192 -vt 0.806186 0.637079 -vt 0.798422 0.637079 -vt 0.817049 0.569549 -vt 0.806186 0.602436 -vt 0.806186 0.569549 -vt 0.825856 0.569549 -vt 0.817049 0.602436 -vt 0.817049 0.602436 -vt 0.806186 0.635322 -vt 0.806186 0.602436 -vt 0.825856 0.602436 -vt 0.817049 0.635322 -vt 0.806186 0.635322 -vt 0.817165 0.668208 -vt 0.806186 0.668208 -vt 0.817165 0.635322 -vt 0.824929 0.668208 -vt 0.787443 0.604192 -vt 0.787443 0.637079 -vt 0.754897 0.638836 -vt 0.773640 0.646599 -vt 0.765876 0.665342 -vt 0.788305 0.563021 -vt 0.747133 0.638836 -vt 0.747133 0.604192 -vt 0.776816 0.604192 -vt 0.779380 0.531512 -vt 0.785171 0.537303 -vt 0.788305 0.544869 -vt 0.781025 0.546317 -vt 0.788305 0.553058 -vt 0.785171 0.560624 -vt 0.771814 0.569549 -vt 0.763624 0.569549 -vt 0.756058 0.566415 -vt 0.758986 0.561043 -vt 0.750267 0.560624 -vt 0.747133 0.553058 -vt 0.752886 0.551914 -vt 0.747133 0.544869 -vt 0.750267 0.537303 -vt 0.755028 0.541146 -vt 0.756058 0.531512 -vt 0.763624 0.528378 -vt 0.685987 0.565032 -vt 0.685987 0.552870 -vt 0.690641 0.541633 -vt 0.699242 0.533032 -vt 0.710479 0.528378 -vt 0.722641 0.528378 -vt 0.733878 0.533032 -vt 0.747133 0.552870 -vt 0.747133 0.565032 -vt 0.742479 0.576269 -vt 0.699242 0.584870 -vt 0.699108 0.608436 -vt 0.712465 0.640683 -vt 0.806186 0.604192 -vt 0.825856 0.602436 -vt 0.825856 0.635322 -vt 0.824929 0.635322 -vt 0.765876 0.638836 -vt 0.773640 0.657578 -vt 0.754897 0.665342 -vt 0.747133 0.657578 -vt 0.747133 0.646599 -vt 0.824741 0.659737 -vt 0.831810 0.642712 -vt 0.831810 0.659737 -vt 0.864375 0.642720 -vt 0.864532 0.625696 -vt 0.864532 0.642720 -vt 0.840654 0.625687 -vt 0.824741 0.642712 -vt 0.824741 0.625687 -vt 0.874557 0.642720 -vt 0.876631 0.625696 -vt 0.876631 0.642720 -vt 0.868832 0.625696 -vt 0.868832 0.642720 -vt 0.872555 0.625696 -vt 0.872555 0.642720 -vt 0.884282 0.627345 -vt 0.888533 0.627966 -vt 0.888038 0.634123 -vt 0.884282 0.655872 -vt 0.880634 0.656703 -vt 0.888038 0.649094 -vt 0.856538 0.625696 -vt 0.864375 0.642720 -vt 0.856538 0.642720 -vt 0.850370 0.625696 -vt 0.850370 0.642720 -vt 0.856239 0.649128 -vt 0.850370 0.642720 -vt 0.856239 0.642720 -vt 0.888137 0.621662 -vt 0.882264 0.615236 -vt 0.888134 0.615236 -vt 0.882264 0.606459 -vt 0.888133 0.606459 -vt 0.882264 0.597682 -vt 0.888134 0.597682 -vt 0.882267 0.591256 -vt 0.888137 0.591256 -vt 0.837680 0.642712 -vt 0.831810 0.649120 -vt 0.831810 0.642712 -vt 0.837680 0.649120 -vt 0.831810 0.655762 -vt 0.876417 0.621662 -vt 0.881840 0.615236 -vt 0.882264 0.621662 -vt 0.875993 0.615236 -vt 0.881684 0.606459 -vt 0.875838 0.606459 -vt 0.881840 0.597682 -vt 0.870988 0.596931 -vt 0.875838 0.602051 -vt 0.873873 0.603043 -vt 0.850370 0.614901 -vt 0.852335 0.613909 -vt 0.855220 0.620021 -vt 0.875993 0.597682 -vt 0.882264 0.591256 -vt 0.856239 0.655771 -vt 0.850370 0.649128 -vt 0.840989 0.624659 -vt 0.834652 0.623031 -vt 0.840459 0.622161 -vt 0.828175 0.597651 -vt 0.834652 0.594782 -vt 0.829622 0.599320 -vt 0.862109 0.653758 -vt 0.867978 0.648140 -vt 0.867978 0.653758 -vt 0.846631 0.645967 -vt 0.841143 0.651401 -vt 0.840785 0.645967 -vt 0.846500 0.638544 -vt 0.840654 0.638544 -vt 0.846631 0.631121 -vt 0.840785 0.631121 -vt 0.846990 0.625687 -vt 0.841143 0.625687 -vt 0.856239 0.642720 -vt 0.862109 0.648338 -vt 0.856239 0.648338 -vt 0.862109 0.653758 -vt 0.856239 0.653758 -vt 0.888137 0.611537 -vt 0.894009 0.616971 -vt 0.888139 0.616971 -vt 0.888137 0.604113 -vt 0.894007 0.611537 -vt 0.888137 0.596690 -vt 0.894006 0.604113 -vt 0.888139 0.591256 -vt 0.894007 0.596690 -vt 0.862109 0.648140 -vt 0.867978 0.642720 -vt 0.824741 0.642712 -vt 0.864375 0.625696 -vt 0.840654 0.642712 -vt 0.874557 0.625696 -vt 0.883743 0.641608 -vt 0.876683 0.641608 -vt 0.880634 0.626514 -vt 0.878716 0.625696 -vt 0.888689 0.627989 -vt 0.878716 0.657521 -vt 0.876631 0.657521 -vt 0.876683 0.641608 -vt 0.883743 0.641608 -vt 0.888689 0.655228 -vt 0.888533 0.655251 -vt 0.864375 0.625696 -vt 0.882267 0.621662 -vt 0.837680 0.655762 -vt 0.872426 0.594825 -vt 0.873873 0.610610 -vt 0.875838 0.610999 -vt 0.872426 0.619271 -vt 0.870988 0.617606 -vt 0.866516 0.624650 -vt 0.865990 0.622155 -vt 0.859692 0.625696 -vt 0.860218 0.623039 -vt 0.853782 0.622127 -vt 0.850370 0.605953 -vt 0.853782 0.597681 -vt 0.855220 0.599346 -vt 0.852335 0.606342 -vt 0.859692 0.592302 -vt 0.860218 0.594797 -vt 0.866516 0.591256 -vt 0.865990 0.593913 -vt 0.876417 0.591256 -vt 0.850370 0.655771 -vt 0.840459 0.593912 -vt 0.834122 0.592285 -vt 0.840989 0.591256 -vt 0.846936 0.594841 -vt 0.850370 0.602077 -vt 0.845489 0.596944 -vt 0.850370 0.611028 -vt 0.848393 0.603064 -vt 0.846936 0.619293 -vt 0.845489 0.617623 -vt 0.834122 0.625687 -vt 0.828175 0.622103 -vt 0.824741 0.614866 -vt 0.829622 0.620000 -vt 0.824741 0.605916 -vt 0.826718 0.613880 -vt 0.826718 0.606310 -vt 0.848393 0.610633 -vt 0.846990 0.651401 -vt 0.862109 0.642720 -vt 0.894009 0.591256 -vt 0.862109 0.642720 -vt 0.829817 0.615196 -vt 0.838642 0.575325 -vt 0.838642 0.615196 -vt 0.796383 0.603349 -vt 0.806186 0.615690 -vt 0.790797 0.609886 -vt 0.756236 0.640872 -vt 0.744670 0.651579 -vt 0.740143 0.644268 -vt 0.806059 0.616860 -vt 0.819151 0.631339 -vt 0.818463 0.635990 -vt 0.777297 0.655925 -vt 0.777666 0.616054 -vt 0.777666 0.655925 -vt 0.777297 0.575325 -vt 0.739212 0.615196 -vt 0.739212 0.575325 -vt 0.801227 0.655925 -vt 0.806059 0.616054 -vt 0.806059 0.655925 -vt 0.787739 0.616054 -vt 0.787739 0.655925 -vt 0.796489 0.616054 -vt 0.796489 0.655925 -vt 0.798459 0.585229 -vt 0.807242 0.590084 -vt 0.797462 0.602085 -vt 0.840710 0.616054 -vt 0.840710 0.654314 -vt 0.831933 0.635184 -vt 0.764879 0.618993 -vt 0.773638 0.653274 -vt 0.747419 0.663780 -vt 0.740225 0.663753 -vt 0.739523 0.656090 -vt 0.755626 0.663749 -vt 0.747419 0.663749 -vt 0.747726 0.662740 -vt 0.829817 0.615162 -vt 0.814324 0.615220 -vt 0.813522 0.614419 -vt 0.846725 0.575325 -vt 0.845872 0.576133 -vt 0.845070 0.575331 -vt 0.845872 0.614360 -vt 0.846725 0.615162 -vt 0.845070 0.615168 -vt 0.812669 0.615227 -vt 0.813522 0.576192 -vt 0.812669 0.575390 -vt 0.814324 0.575384 -vt 0.811772 0.609152 -vt 0.812441 0.608544 -vt 0.812669 0.609439 -vt 0.822861 0.616054 -vt 0.823700 0.616860 -vt 0.822620 0.616860 -vt 0.822620 0.655119 -vt 0.823700 0.655119 -vt 0.822861 0.655925 -vt 0.739212 0.644415 -vt 0.739574 0.643565 -vt 0.807017 0.616054 -vt 0.823700 0.625074 -vt 0.822620 0.626044 -vt 0.823700 0.646906 -vt 0.743793 0.651813 -vt 0.823700 0.623255 -vt 0.824340 0.616054 -vt 0.824340 0.623397 -vt 0.824340 0.654314 -vt 0.823700 0.647113 -vt 0.824340 0.646971 -vt 0.806351 0.616054 -vt 0.806351 0.655925 -vt 0.797004 0.602722 -vt 0.755717 0.640158 -vt 0.838642 0.575356 -vt 0.767290 0.655838 -vt 0.764610 0.655080 -vt 0.766748 0.655081 -vt 0.761458 0.655080 -vt 0.764618 0.663070 -vt 0.823874 0.667624 -vt 0.833751 0.671587 -vt 0.824371 0.671484 -vt 0.823700 0.663005 -vt 0.833254 0.667726 -vt 0.833254 0.658434 -vt 0.833080 0.663107 -vt 0.823874 0.658331 -vt 0.833751 0.654416 -vt 0.761448 0.664779 -vt 0.759829 0.664779 -vt 0.758298 0.663070 -vt 0.758306 0.655080 -vt 0.755626 0.655838 -vt 0.756167 0.655081 -vt 0.829817 0.575325 -vt 0.760762 0.648183 -vt 0.821112 0.644582 -vt 0.822620 0.645936 -vt 0.806059 0.655119 -vt 0.819151 0.640640 -vt 0.821112 0.627397 -vt 0.777297 0.616054 -vt 0.777297 0.615196 -vt 0.801227 0.616054 -vt 0.789718 0.611149 -vt 0.785527 0.616054 -vt 0.777297 0.612961 -vt 0.783086 0.575325 -vt 0.791166 0.580409 -vt 0.787645 0.577039 -vt 0.807563 0.590262 -vt 0.826413 0.623957 -vt 0.826413 0.646411 -vt 0.829314 0.626592 -vt 0.829314 0.643777 -vt 0.831252 0.639834 -vt 0.831252 0.630534 -vt 0.768871 0.616196 -vt 0.773638 0.615196 -vt 0.765034 0.655080 -vt 0.761637 0.649595 -vt 0.755361 0.639459 -vt 0.747174 0.626238 -vt 0.747519 0.626111 -vt 0.756938 0.622647 -vt 0.739212 0.655080 -vt 0.747419 0.655112 -vt 0.748398 0.655080 -vt 0.755593 0.655080 -vt 0.829817 0.575325 -vt 0.823700 0.616054 -vt 0.823700 0.654314 -vt 0.838642 0.615192 -vt 0.764247 0.664022 -vt 0.763087 0.664779 -vt 0.761467 0.664779 -vt 0.824371 0.654314 -vt 0.758669 0.664022 -vt 0.761458 0.655080 -vt 0.816237 0.580989 -vt 0.820870 0.580642 -vt 0.816518 0.582232 -vt 0.800446 0.605325 -vt 0.796830 0.604978 -vt 0.797111 0.603735 -vt 0.820870 0.584330 -vt 0.816681 0.584330 -vt 0.816602 0.582741 -vt 0.800769 0.603735 -vt 0.797196 0.603226 -vt 0.820870 0.586384 -vt 0.816655 0.586384 -vt 0.816669 0.585916 -vt 0.820870 0.588079 -vt 0.816399 0.588079 -vt 0.816602 0.587193 -vt 0.797196 0.598774 -vt 0.797160 0.598559 -vt 0.800769 0.597888 -vt 0.803387 0.593254 -vt 0.803619 0.593309 -vt 0.803946 0.597888 -vt 0.802372 0.580642 -vt 0.803226 0.584666 -vt 0.802580 0.585128 -vt 0.800400 0.580642 -vt 0.802282 0.585773 -vt 0.802282 0.592062 -vt 0.805326 0.592063 -vt 0.806854 0.590588 -vt 0.808425 0.590118 -vt 0.800400 0.597888 -vt 0.798329 0.580642 -vt 0.796712 0.580966 -vt 0.796655 0.580642 -vt 0.816061 0.580642 -vt 0.816061 0.593908 -vt 0.811525 0.587197 -vt 0.804591 0.583958 -vt 0.810879 0.590118 -vt 0.804591 0.590118 -vt 0.813028 0.599602 -vt 0.812265 0.600622 -vt 0.812095 0.600100 -vt 0.818978 0.602013 -vt 0.817751 0.604087 -vt 0.817350 0.603779 -vt 0.814831 0.595982 -vt 0.813605 0.593908 -vt 0.815304 0.595752 -vt 0.804591 0.582008 -vt 0.810879 0.580642 -vt 0.810879 0.582008 -vt 0.812981 0.601632 -vt 0.814577 0.598782 -vt 0.812213 0.597344 -vt 0.811631 0.596714 -vt 0.811678 0.596193 -vt 0.811525 0.598326 -vt 0.817893 0.601455 -vt 0.816534 0.602928 -vt 0.815825 0.601802 -vt 0.797265 0.600051 -vt 0.800769 0.599583 -vt 0.800769 0.601637 -vt 0.815672 0.599669 -vt 0.816361 0.600651 -vt 0.815779 0.601281 -vt 0.818725 0.599213 -vt 0.817176 0.598394 -vt 0.817130 0.596364 -vt 0.813203 0.594216 -vt 0.813745 0.596541 -vt 0.816751 0.603249 -vt 0.816413 0.597374 -vt 0.810879 0.583958 -vt 0.811525 0.584230 -vt 0.811525 0.589962 -vt 0.819561 0.594095 -vt 0.819820 0.599786 -vt 0.818685 0.594702 -vt 0.815672 0.598209 -vt 0.815672 0.604087 -vt 0.814758 0.603453 -vt 0.811525 0.582272 -vt 0.803946 0.582272 -vt 0.803946 0.589962 -vt 0.816061 0.580642 -vt 0.820870 0.582232 -vt 0.800769 0.605381 -vt 0.796655 0.605325 -vt 0.797275 0.601637 -vt 0.797011 0.597888 -vt 0.797251 0.599583 -vt 0.803946 0.593417 -vt 0.802372 0.597888 -vt 0.802362 0.592187 -vt 0.802580 0.592707 -vt 0.802768 0.592807 -vt 0.802513 0.585248 -vt 0.802372 0.585583 -vt 0.803946 0.580642 -vt 0.803387 0.584581 -vt 0.803946 0.584401 -vt 0.808425 0.603352 -vt 0.803946 0.596812 -vt 0.806854 0.602936 -vt 0.805326 0.601514 -vt 0.804304 0.594249 -vt 0.804304 0.599363 -vt 0.798329 0.597888 -vt 0.796712 0.597888 -vt 0.814434 0.593421 -vt 0.812905 0.591946 -vt 0.811883 0.589761 -vt 0.811883 0.584646 -vt 0.812905 0.582496 -vt 0.814434 0.581073 -vt 0.819451 0.602243 -vt 0.804591 0.580642 -vt 0.814537 0.603293 -vt 0.813792 0.602728 -vt 0.813177 0.601899 -vt 0.812386 0.595068 -vt 0.817943 0.595268 -vt 0.818380 0.594938 -vt 0.812604 0.594746 -vt 0.816243 0.597896 -vt 0.811005 0.590106 -vt 0.819820 0.593908 -vt 0.803946 0.584230 -vt 0.804400 0.590104 -vt 0.804066 0.590008 -vn 1.0000 0.0000 0.0000 -vn -1.0000 -0.0000 0.0000 -vn 0.0000 0.7938 0.6082 -vn -0.0000 0.2168 -0.9762 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.2168 0.9762 -vn 0.0037 -0.9623 0.2720 -vn 0.0037 -0.9630 -0.2696 -vn 0.0037 -0.9630 0.2696 -vn 0.9984 0.0573 0.0000 -vn -0.9984 -0.0573 0.0000 -vn 0.0010 -0.2607 -0.9654 -vn 0.0002 -0.0601 -0.9982 -vn 0.0010 -0.2654 -0.9641 -vn 0.0002 -0.0581 0.9983 -vn -0.0003 0.0859 0.9963 -vn -0.0003 0.0889 0.9960 -vn 0.0002 -0.0581 -0.9983 -vn -0.0003 0.0859 -0.9963 -vn -0.0030 0.7779 -0.6284 -vn -0.0037 0.9818 -0.1898 -vn -0.0030 0.7739 -0.6332 -vn 0.0025 -0.6560 -0.7548 -vn 0.0025 -0.6618 -0.7496 -vn 0.0010 -0.2607 0.9654 -vn 0.0002 -0.0601 0.9982 -vn -0.0030 0.7779 0.6284 -vn -0.0037 0.9818 0.1898 -vn -0.0037 0.9820 0.1887 -vn -0.0014 0.3753 0.9269 -vn -0.0030 0.7739 0.6332 -vn -0.0014 0.3753 -0.9269 -vn -0.0014 0.3694 -0.9293 -vn -0.0014 0.3693 0.9293 -vn -0.0037 0.9820 -0.1887 -vn 0.0037 -0.9623 -0.2720 -vn 0.0025 -0.6560 0.7548 -vn 0.0010 -0.2654 0.9641 -vn -0.0003 0.0889 -0.9960 -vn -0.2185 -0.6314 0.7440 -vn -0.2441 -0.9361 0.2533 -vn -0.2209 -0.6607 0.7174 -vn -0.1896 -0.2740 0.9429 -vn -0.1890 -0.2579 0.9475 -vn -0.1824 -0.0698 0.9807 -vn -0.1824 -0.0653 0.9811 -vn -0.1890 -0.2579 -0.9475 -vn -0.1824 -0.0698 -0.9807 -vn -0.1896 -0.2740 -0.9428 -vn -0.2185 -0.6314 -0.7440 -vn -0.2209 -0.6607 -0.7174 -vn -0.2441 -0.9361 -0.2533 -vn -0.2437 -0.9321 -0.2679 -vn -0.2014 0.3571 0.9121 -vn -0.1842 0.0749 0.9800 -vn -0.2015 0.3585 0.9115 -vn -0.2385 0.7462 0.6215 -vn -0.2393 0.7535 0.6123 -vn -0.2569 0.9488 0.1835 -vn -0.2569 0.9483 0.1865 -vn -0.2014 0.3571 -0.9121 -vn -0.1843 0.0749 -0.9800 -vn -0.1844 0.0790 -0.9797 -vn -0.2386 0.7462 -0.6215 -vn -0.2015 0.3585 -0.9115 -vn -0.2569 0.9488 -0.1835 -vn -0.2393 0.7535 -0.6123 -vn -0.1824 -0.0653 -0.9811 -vn -0.1843 0.0790 0.9797 -vn 0.0025 -0.6618 0.7496 -vn 0.0037 -0.9616 0.2744 -vn 0.0025 -0.6502 0.7598 -vn -0.0004 0.0919 -0.9958 -vn 0.0010 -0.2561 0.9667 -vn 0.0037 -0.9616 -0.2744 -vn -0.0037 0.9823 0.1875 -vn -0.0037 0.9823 -0.1875 -vn -0.0004 0.0919 0.9958 -vn -0.0015 0.3814 0.9244 -vn -0.0015 0.3814 -0.9244 -vn -0.0030 0.7819 0.6234 -vn 0.0002 -0.0562 0.9984 -vn 0.0025 -0.6502 -0.7598 -vn -0.0030 0.7819 -0.6234 -vn 0.0002 -0.0562 -0.9984 -vn 0.0010 -0.2561 -0.9667 -vn -0.2437 -0.9321 0.2679 -vn -0.2569 0.9483 -0.1865 -vn -0.0000 -0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn -0.2266 -0.9740 0.0000 -vn -0.6570 0.7539 0.0000 -vn -0.7758 0.6310 0.0000 -vn -0.9758 0.2187 0.0000 -vn -0.9125 -0.4091 0.0000 -vn -0.6748 -0.7380 0.0000 -vn -0.2359 -0.9718 0.0000 -vn 0.2050 -0.9788 0.0000 -vn 0.6697 0.7426 0.0000 -vn 0.7001 0.7140 0.0000 -vn 0.9081 0.4187 0.0000 -vn 0.9750 -0.2221 0.0000 -vn 0.8026 -0.5965 0.0000 -vn 0.4534 -0.8913 0.0000 -vn 0.0899 -0.9960 0.0000 -vn -0.0042 1.0000 0.0000 -vn -0.0000 -0.0001 -1.0000 -vn -0.0000 0.0001 -1.0000 -vn -0.2038 -0.0986 -0.9740 -vn -0.1570 -0.1601 -0.9745 -vn -0.1540 -0.1626 -0.9746 -vn -0.0399 0.2270 -0.9731 -vn 0.0274 0.2265 -0.9736 -vn -0.0357 0.2281 -0.9730 -vn 0.1905 -0.1230 -0.9740 -vn 0.1214 -0.1870 -0.9748 -vn 0.1898 -0.1241 -0.9739 -vn -0.0950 -0.1990 -0.9754 -vn -0.0372 -0.2225 -0.9742 -vn -0.0932 -0.1998 -0.9754 -vn -0.0399 0.2270 0.9731 -vn -0.1284 0.1805 0.9752 -vn -0.0357 0.2281 0.9730 -vn 0.7044 0.7098 0.0000 -vn 0.4262 0.9046 0.0000 -vn 0.2080 0.0889 -0.9741 -vn 0.1591 0.1571 -0.9747 -vn 0.1562 0.1596 -0.9747 -vn 0.0950 0.1990 -0.9754 -vn 0.0932 0.1998 -0.9754 -vn 0.1453 0.9894 0.0000 -vn -0.1651 0.9863 0.0000 -vn -0.1284 0.1805 -0.9752 -vn 0.2256 0.0468 -0.9731 -vn 0.2080 0.0890 -0.9741 -vn 0.1559 -0.9878 0.0000 -vn 0.5445 -0.8388 0.0000 -vn 0.0372 0.2226 -0.9742 -vn 0.9195 0.3931 0.0000 -vn -0.0273 -0.2265 -0.9736 -vn 0.0378 -0.2277 -0.9730 -vn 0.0378 -0.2277 0.9730 -vn 0.1214 -0.1870 0.9748 -vn 0.0336 -0.2288 0.9729 -vn -0.2236 -0.0546 0.9732 -vn -0.2273 -0.0452 0.9728 -vn 0.2263 0.0450 0.9730 -vn 0.2256 0.0468 0.9731 -vn 0.2257 0.0465 0.9731 -vn -0.8775 0.4796 0.0000 -vn -0.5796 0.8149 0.0000 -vn 0.0950 0.1990 0.9754 -vn 0.0372 0.2226 0.9742 -vn 0.0274 0.2265 0.9736 -vn 0.2179 -0.0705 -0.9734 -vn -0.9808 -0.1951 0.0000 -vn -0.9723 -0.2338 0.0000 -vn -0.2214 0.0614 -0.9732 -vn -0.1984 0.1093 -0.9740 -vn -0.2224 0.0591 -0.9732 -vn -0.1453 -0.9894 0.0000 -vn -0.4262 -0.9046 0.0000 -vn 0.2080 0.0890 0.9741 -vn 0.2080 0.0889 0.9741 -vn -0.2034 -0.0994 0.9740 -vn -0.2242 -0.0530 0.9731 -vn -0.1990 0.1082 -0.9740 -vn -0.1984 0.1093 0.9740 -vn -0.2214 0.0614 0.9732 -vn -0.2224 0.0591 0.9732 -vn 0.2179 -0.0705 0.9734 -vn 0.1898 -0.1241 0.9739 -vn 0.1905 -0.1230 0.9740 -vn -0.2279 0.0453 0.9726 -vn 0.2263 0.0450 -0.9730 -vn -0.0273 -0.2265 0.9736 -vn -0.2273 -0.0452 -0.9728 -vn -0.2236 -0.0546 -0.9732 -vn -0.8995 -0.4369 0.0000 -vn -0.6929 -0.7210 0.0000 -vn 0.2280 -0.0454 0.9726 -vn 0.2189 -0.0680 0.9734 -vn 0.1562 0.1596 0.9747 -vn 0.0932 0.1998 0.9754 -vn 0.9793 0.2025 0.0000 -vn -0.1540 -0.1626 0.9746 -vn -0.0950 -0.1990 0.9754 -vn -0.1570 -0.1601 0.9745 -vn 0.1591 0.1571 0.9747 -vn -0.2034 -0.0994 -0.9740 -vn -0.2242 -0.0530 -0.9731 -vn -0.2278 0.0453 -0.9726 -vn 0.9530 -0.3030 0.0000 -vn 0.9808 -0.1951 0.0000 -vn -0.2038 -0.0986 0.9740 -vn -0.9808 0.1951 0.0000 -vn -0.9650 0.2623 0.0000 -vn -0.1990 0.1082 0.9740 -vn -0.0372 -0.2225 0.9742 -vn 0.8388 -0.5445 0.0000 -vn 0.2280 -0.0454 -0.9726 -vn 0.2189 -0.0680 -0.9734 -vn 0.9808 0.1951 0.0000 -vn 0.2257 0.0465 -0.9731 -vn 0.0336 -0.2288 -0.9729 -vn -0.2278 0.0453 0.9726 -vn -0.0932 -0.1998 0.9754 -vn 0.3174 -0.9144 0.2514 -vn 0.2770 -0.9287 -0.2463 -vn 0.2770 -0.9287 0.2463 -vn -0.8619 0.2145 -0.4594 -vn -0.8836 0.2199 0.4134 -vn -0.8619 0.2145 0.4594 -vn -0.8696 0.0159 0.4936 -vn -0.8808 0.2386 -0.4089 -vn -0.8808 0.2386 0.4089 -vn 0.1056 -0.9754 0.1936 -vn 0.0487 -0.9822 -0.1816 -vn 0.0487 -0.9822 0.1816 -vn -0.1167 0.9731 -0.1984 -vn 0.0927 0.9733 0.2099 -vn -0.1167 0.9731 0.1984 -vn 0.0190 -0.0571 -0.9982 -vn -0.0146 0.0707 -0.9974 -vn 0.0168 -0.0663 -0.9977 -vn 0.2688 -0.9322 -0.2425 -vn 0.2688 -0.9322 0.2425 -vn 0.6338 -0.6642 -0.3965 -vn 0.4707 -0.8192 0.3277 -vn 0.6338 -0.6642 0.3965 -vn 0.4707 -0.8192 -0.3277 -vn 0.1414 -0.9687 0.2038 -vn 0.7639 -0.4663 -0.4461 -vn 0.7639 -0.4663 0.4461 -vn 0.8844 -0.2183 0.4126 -vn 0.8401 -0.2824 -0.4631 -vn 0.8401 -0.2824 0.4631 -vn -0.1208 -0.4275 0.8959 -vn -0.0533 -0.2828 0.9577 -vn -0.0759 -0.2777 0.9577 -vn -0.2363 -0.4292 -0.8718 -vn -0.1968 -0.9492 -0.2456 -vn -0.1556 -0.5870 -0.7945 -vn -0.4188 -0.8548 0.3066 -vn -0.1968 -0.9492 0.2456 -vn -0.2460 0.9405 -0.2342 -vn -0.2097 0.9591 -0.1901 -vn -0.2097 0.9591 0.1902 -vn 0.0927 0.9733 -0.2099 -vn 0.3061 0.9161 0.2589 -vn -0.3167 0.9096 -0.2688 -vn -0.2957 0.9213 0.2526 -vn -0.3167 0.9096 0.2688 -vn -0.0092 0.9812 0.1929 -vn -0.0741 0.9794 -0.1877 -vn -0.0741 0.9794 0.1877 -vn 0.0684 -0.7878 -0.6121 -vn 0.3239 -0.3465 -0.8803 -vn -0.2957 0.9213 -0.2526 -vn -0.1493 0.9678 0.2027 -vn -0.2330 0.5322 0.8139 -vn -0.0212 0.0449 0.9988 -vn -0.1057 0.2476 0.9631 -vn -0.0298 0.7894 0.6132 -vn 0.0461 -0.1893 0.9808 -vn 0.1036 -0.1160 0.9878 -vn 0.0220 -0.0890 0.9958 -vn -0.1601 0.9538 -0.2544 -vn -0.0831 0.9965 0.0000 -vn -0.0846 0.9621 -0.2592 -vn -0.1601 0.9538 0.2544 -vn -0.1683 0.9857 -0.0000 -vn -0.2889 0.9388 -0.1875 -vn -0.1256 0.8718 0.4736 -vn -0.1256 0.8718 -0.4735 -vn -0.2895 0.9387 0.1872 -vn -0.1493 0.9678 -0.2027 -vn -0.0984 0.9769 0.1897 -vn -0.3998 -0.2010 -0.8943 -vn -0.7184 -0.5238 -0.4577 -vn -0.2189 -0.1148 -0.9690 -vn 0.8844 -0.2183 -0.4126 -vn 0.5618 -0.1386 -0.8156 -vn 0.2062 -0.2521 -0.9455 -vn -0.0146 0.0707 0.9974 -vn 0.0168 -0.0663 0.9977 -vn 0.0222 -0.0202 0.9995 -vn 0.3510 -0.1140 0.9294 -vn 0.3477 -0.2073 0.9144 -vn 0.0473 -0.1734 -0.9837 -vn 0.3477 -0.2073 -0.9144 -vn 0.3510 -0.1140 -0.9294 -vn 0.1066 -0.1031 0.9889 -vn 0.3317 -0.3275 0.8847 -vn 0.0220 -0.0890 -0.9958 -vn 0.1066 -0.1031 -0.9889 -vn 0.1036 -0.1160 -0.9878 -vn 0.3317 -0.3275 -0.8847 -vn 0.1007 -0.1576 0.9823 -vn 0.0214 -0.0308 0.9993 -vn 0.2898 -0.4692 0.8342 -vn 0.0222 -0.0202 -0.9995 -vn 0.1007 -0.1576 -0.9823 -vn 0.2898 -0.4692 -0.8342 -vn 0.0832 -0.2428 0.9665 -vn 0.0189 -0.0472 0.9987 -vn 0.2035 -0.6412 0.7399 -vn 0.0214 -0.0308 -0.9993 -vn 0.0832 -0.2428 -0.9665 -vn 0.2035 -0.6412 -0.7399 -vn 0.0459 -0.3466 0.9369 -vn 0.0121 -0.0766 0.9970 -vn 0.0879 -0.7601 0.6439 -vn 0.0189 -0.0472 -0.9987 -vn 0.0459 -0.3466 -0.9369 -vn 0.0879 -0.7601 -0.6439 -vn 0.1056 -0.9754 -0.1936 -vn -0.0444 -0.1090 0.9930 -vn 0.0215 -0.3419 0.9395 -vn -0.2510 -0.1512 0.9561 -vn -0.2510 -0.1512 -0.9561 -vn -0.0440 -0.1084 -0.9931 -vn -0.0771 -0.2800 -0.9569 -vn 0.0190 -0.0571 0.9982 -vn 0.0681 -0.2934 0.9536 -vn 0.0841 -0.2638 0.9609 -vn 0.1179 -0.7345 0.6682 -vn 0.2022 -0.6537 0.7292 -vn 0.0681 -0.2934 -0.9535 -vn 0.0841 -0.2638 -0.9609 -vn 0.1179 -0.7346 -0.6682 -vn 0.2022 -0.6537 -0.7292 -vn 0.1414 -0.9687 -0.2038 -vn -0.0045 -0.3690 0.9294 -vn 0.0879 -0.2277 0.9698 -vn -0.0029 -0.9801 0.1984 -vn -0.8696 0.0159 -0.4936 -vn -0.2365 -0.4292 0.8717 -vn -0.0045 -0.3691 -0.9294 -vn -0.0030 -0.7396 -0.6730 -vn -0.3184 0.0792 0.9446 -vn -0.2942 0.0732 0.9529 -vn 0.8621 -0.2145 -0.4591 -vn 0.3188 -0.0793 -0.9445 -vn 0.2945 -0.0733 -0.9528 -vn 0.2288 -0.6590 0.7165 -vn 0.0966 -0.2781 0.9557 -vn 0.0233 -0.0670 0.9975 -vn -0.7184 -0.5238 0.4577 -vn -0.0029 -0.9801 -0.1984 -vn 0.0233 -0.0670 -0.9975 -vn 0.0966 -0.2781 -0.9557 -vn 0.2288 -0.6590 -0.7165 -vn 0.3174 -0.9144 -0.2514 -vn 0.0389 -0.7856 0.6175 -vn 0.0190 -0.3837 0.9233 -vn 0.0045 -0.0902 0.9959 -vn 0.0045 -0.0902 -0.9959 -vn 0.0121 -0.0766 -0.9970 -vn 0.0190 -0.3837 -0.9233 -vn 0.0389 -0.7856 -0.6175 -vn -0.2450 0.9407 0.2346 -vn 0.3113 -0.1171 0.9431 -vn -0.1208 -0.4274 -0.8960 -vn -0.3998 -0.2010 0.8943 -vn -0.2189 -0.1148 0.9690 -vn -0.4188 -0.8548 -0.3066 -vn -0.0030 -0.7396 0.6731 -vn -0.1556 -0.5870 0.7945 -vn 0.0460 -0.1671 0.9849 -vn 0.0617 -0.3088 0.9491 -vn -0.0009 0.1330 -0.9911 -vn -0.0749 0.3835 -0.9205 -vn 0.0388 0.4347 -0.8997 -vn -0.0298 0.7894 -0.6132 -vn -0.0092 0.9812 -0.1929 -vn -0.0503 0.3314 0.9421 -vn -0.0125 0.0709 0.9974 -vn -0.0896 0.2299 0.9691 -vn -0.0977 0.7489 0.6554 -vn -0.1893 0.6793 0.7090 -vn -0.0212 0.0449 -0.9988 -vn -0.0503 0.3314 -0.9421 -vn -0.0896 0.2299 -0.9691 -vn -0.0977 0.7489 -0.6554 -vn -0.1910 0.6764 -0.7113 -vn 0.0424 0.3017 0.9525 -vn 0.0084 0.0713 0.9974 -vn 0.0805 0.7313 0.6773 -vn -0.0125 0.0709 -0.9974 -vn 0.0424 0.3017 -0.9525 -vn 0.0805 0.7313 -0.6773 -vn -0.0009 0.1331 0.9911 -vn 0.0388 0.4347 0.8997 -vn 0.2237 0.6554 0.7214 -vn 0.0084 0.0713 -0.9974 -vn 0.2237 0.6554 -0.7214 -vn -0.0402 0.7899 0.6119 -vn -0.0750 0.3838 0.9204 -vn -0.0081 0.0933 0.9956 -vn -0.0910 0.2284 0.9693 -vn -0.0192 0.0496 0.9986 -vn -0.2524 0.6498 0.7169 -vn -0.2175 0.6228 0.7515 -vn -0.0081 0.0931 -0.9956 -vn -0.0910 0.2284 -0.9693 -vn -0.2524 0.6498 -0.7169 -vn -0.2175 0.6228 -0.7516 -vn -0.0591 0.3256 0.9437 -vn -0.1218 0.7392 0.6623 -vn -0.0192 0.0496 -0.9986 -vn -0.0591 0.3256 -0.9437 -vn -0.1218 0.7392 -0.6624 -vn -0.0371 0.3685 0.9289 -vn -0.0087 0.0860 0.9963 -vn -0.0776 0.7707 0.6325 -vn -0.1588 0.8767 -0.4540 -vn -0.1879 0.9525 -0.2395 -vn -0.2892 0.7653 -0.5751 -vn -0.2330 0.5322 -0.8139 -vn -0.1057 0.2476 -0.9631 -vn -0.1952 0.8886 0.4150 -vn -0.0402 0.7899 -0.6119 -vn -0.0371 0.3685 -0.9289 -vn -0.0776 0.7707 -0.6325 -vn -0.0984 0.9769 -0.1897 -vn 0.0311 0.8033 -0.5948 -vn 0.1703 0.6997 -0.6938 -vn 0.1703 0.6997 0.6938 -vn 0.0311 0.8033 0.5948 -vn 0.2963 0.9158 -0.2710 -vn 0.3061 0.9161 -0.2589 -vn 0.1023 0.9724 -0.2097 -vn 0.1023 0.9724 0.2097 -vn 0.2963 0.9158 0.2710 -vn -0.2263 0.7754 -0.5895 -vn -0.0913 0.8220 -0.5622 -vn -0.0913 0.8220 0.5621 -vn -0.2263 0.7755 0.5894 -vn -0.2219 0.9619 -0.1597 -vn -0.1688 0.9724 -0.1612 -vn -0.1688 0.9724 0.1612 -vn -0.2219 0.9619 0.1597 -vn -0.0498 0.6227 0.7809 -vn -0.0062 0.1470 0.9891 -vn -0.0291 0.6340 0.7728 -vn -0.0027 0.1497 0.9887 -vn -0.0280 0.6196 0.7844 -vn -0.0055 0.1372 0.9905 -vn -0.0140 0.6311 0.7756 -vn -0.0440 0.9660 0.2547 -vn -0.0846 0.9621 0.2592 -vn -0.0442 0.9670 0.2507 -vn -0.0028 0.1498 -0.9887 -vn -0.0499 0.6226 -0.7809 -vn -0.0140 0.6312 -0.7755 -vn -0.0230 0.9677 -0.2511 -vn -0.0088 0.1471 0.9891 -vn -0.1427 0.6382 0.7565 -vn -0.0092 0.1440 -0.9895 -vn -0.1427 0.6382 -0.7565 -vn 0.1773 0.9648 0.1943 -vn -0.0231 0.9677 0.2512 -vn -0.0000 0.6306 0.7761 -vn -0.1770 0.9648 0.1946 -vn -0.2393 0.7683 0.5937 -vn -0.0000 0.2954 0.9554 -vn -0.0000 0.2940 0.9558 -vn -0.0000 0.6307 -0.7761 -vn -0.0000 0.1495 -0.9888 -vn 0.0000 0.9681 -0.2505 -vn -0.2892 0.7652 0.5751 -vn -0.0227 0.9997 -0.0000 -vn 0.1576 0.9875 0.0008 -vn 0.0057 0.9676 0.2525 -vn -0.2392 -0.9612 0.1377 -vn -0.2392 -0.9611 -0.1378 -vn -0.2392 -0.9611 0.1378 -vn -0.2156 -0.8666 0.4500 -vn -0.2156 -0.8666 -0.4500 -vn -0.2392 -0.9612 -0.1377 -vn -0.3184 0.0792 -0.9446 -vn -0.2942 0.0732 -0.9529 -vn -0.8836 0.2199 -0.4134 -vn 0.8621 -0.2145 0.4591 -vn 0.3188 -0.0793 0.9445 -vn 0.8838 -0.2199 0.4130 -vn 0.8838 -0.2199 -0.4130 -vn 0.2945 -0.0733 0.9528 -vn 0.0387 -0.0930 0.9949 -vn 0.0642 -0.3812 0.9222 -vn 0.0640 -0.0930 0.9936 -vn 0.0345 0.1494 0.9882 -vn 0.0602 0.1497 0.9869 -vn 0.0112 0.9681 -0.2503 -vn 0.0584 0.6315 -0.7732 -vn 0.0272 0.6305 -0.7757 -vn 0.0749 -0.9808 0.1803 -vn 0.0684 -0.7878 0.6121 -vn 0.0602 0.1497 -0.9869 -vn 0.0345 0.1494 -0.9882 -vn 0.0272 0.6305 0.7757 -vn 0.0584 0.6315 0.7732 -vn 0.0640 -0.0930 -0.9936 -vn 0.0388 -0.0930 -0.9949 -vn 0.0642 -0.3812 -0.9222 -vn 0.0510 -0.3888 -0.9199 -vn 0.3239 -0.3465 0.8803 -vn 0.0112 0.9681 0.2503 -vn 0.0458 0.9673 0.2493 -vn 0.0458 0.9673 -0.2493 -vn 0.0749 -0.9808 -0.1803 -vn 0.1784 -0.9718 0.1540 -vn 0.5986 -0.0706 0.7979 -vn 0.2465 -0.7358 0.6307 -vn 0.4154 -0.0847 0.9057 -vn 0.1207 -0.3690 0.9216 -vn 0.1559 -0.0921 0.9835 -vn 0.5986 -0.0706 -0.7979 -vn 0.4154 -0.0847 -0.9057 -vn 0.1207 -0.3690 -0.9216 -vn 0.1559 -0.0921 -0.9835 -vn 0.6690 0.4373 0.6011 -vn 0.4825 0.8487 0.2164 -vn 0.4579 0.5647 0.6866 -vn 0.1703 0.9545 0.2447 -vn 0.1707 0.6256 0.7612 -vn 0.4150 0.1379 0.8993 -vn 0.6030 0.1138 0.7896 -vn 0.1536 0.1488 0.9769 -vn 0.6689 0.4376 -0.6009 -vn 0.4150 0.1379 -0.8993 -vn 0.4579 0.5647 -0.6866 -vn 0.1536 0.1488 -0.9769 -vn 0.1707 0.6256 -0.7612 -vn 0.4825 0.8487 -0.2164 -vn 0.7022 0.6871 -0.1864 -vn 0.1703 0.9545 -0.2447 -vn 0.7022 0.6871 0.1864 -vn 0.6030 0.1137 -0.7896 -vn 0.1784 -0.9718 -0.1540 -vn 0.3263 -0.9406 0.0939 -vn 0.2465 -0.7358 -0.6307 -vn 0.2405 0.7684 0.5931 -vn 0.2998 0.9540 0.0030 -vn 0.3088 0.9511 0.0026 -vn -0.3081 0.9514 0.0030 -vn -0.2984 0.9544 0.0030 -vn 0.0759 0.9971 0.0033 -vn 0.0748 0.9972 0.0034 -vn -0.0759 0.9971 0.0033 -vn -0.0748 0.9972 0.0034 -vn 0.2080 -0.2616 0.9425 -vn 0.1056 -0.1274 0.9862 -vn -0.0226 0.9997 0.0000 -vn -0.0454 0.9990 0.0000 -vn 0.0000 0.3827 0.9239 -vn 0.0001 -0.0000 1.0000 -vn 0.0000 0.1901 0.9818 -vn -0.1578 0.8767 0.4545 -vn -0.0000 0.7071 0.7071 -vn 0.0000 0.9239 0.3827 -vn -0.1678 0.9406 0.2950 -vn 0.0000 0.9239 -0.3826 -vn -0.0000 0.9239 -0.3827 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 0.1951 -0.9808 -vn 0.0000 0.3827 -0.9239 -vn 0.0014 -0.1827 -0.9832 -vn 0.0001 -0.0000 -1.0000 -vn 0.0008 0.0071 -1.0000 -vn 0.0000 0.1901 -0.9818 -vn 0.0015 -0.1821 -0.9833 -vn 0.0008 0.0062 -1.0000 -vn 0.0014 -0.1826 0.9832 -vn 0.2652 -0.0660 0.9619 -vn 0.8423 -0.2095 0.4967 -vn 0.8422 -0.2096 -0.4967 -vn -0.8421 0.2095 -0.4970 -vn 0.2652 -0.0660 -0.9619 -vn -0.2649 0.0659 -0.9620 -vn -0.8421 0.2096 0.4970 -vn -0.2649 0.0659 0.9620 -vn 0.0388 -0.0950 -0.9947 -vn 0.0512 -0.3937 -0.9178 -vn 0.0346 0.1485 -0.9883 -vn 0.0273 0.6267 0.7787 -vn 0.0273 0.6268 -0.7787 -vn 0.0345 0.1485 0.9883 -vn 0.0388 -0.0950 0.9947 -vn 0.0510 -0.3888 0.9199 -vn 0.0749 -0.9809 -0.1797 -vn 0.0749 -0.9809 0.1797 -vn 0.0685 -0.7907 0.6084 -vn 0.0512 -0.3937 0.9178 -vn -0.0087 0.0860 -0.9963 -vn 0.0006 -0.0016 1.0000 -vn 0.0043 -0.0048 1.0000 -vn 0.0000 -0.0006 1.0000 -vn 0.0007 -0.0059 1.0000 -vn -0.0000 0.1495 0.9888 -vn 0.5618 -0.1386 0.8156 -vn -0.0000 0.2942 0.9558 -vn -0.0000 0.2941 0.9558 -vn -0.2358 0.9718 0.0014 -vn 0.3263 -0.9406 -0.0939 -vn 1.0000 -0.0004 0.0000 -vn 1.0000 -0.0001 0.0000 -vn 1.0000 -0.0015 0.0000 -vn 0.0000 0.1951 0.9808 -vn 0.0000 -0.1951 -0.9808 -vn 0.0000 -0.1951 0.9808 -vn 0.0685 -0.7907 -0.6084 -vn 0.0201 -0.3826 -0.9237 -vn 0.0201 0.0000 -0.9998 -vn 0.0000 -0.3827 -0.9239 -vn 0.0201 -0.7070 -0.7070 -vn 0.0000 -0.7071 -0.7071 -vn 0.0201 -0.9237 -0.3826 -vn 0.0000 -0.9239 -0.3827 -vn 0.0201 -0.9998 -0.0000 -vn 0.0201 -0.9237 0.3826 -vn 0.0000 -0.9239 0.3827 -vn 0.0201 -0.7070 0.7070 -vn 0.0000 -0.7071 0.7071 -vn 0.0201 -0.3826 0.9237 -vn 0.0000 -0.3827 0.9239 -vn 0.0201 0.0000 0.9998 -vn 0.0201 0.3826 0.9237 -vn 0.0201 0.7070 0.7070 -vn 0.0201 0.9237 0.3826 -vn 0.0201 0.9998 -0.0000 -vn 0.0201 0.9237 -0.3826 -vn 0.0201 0.7070 -0.7070 -vn 0.0201 0.3826 -0.9237 -vn 0.0401 0.3824 -0.9231 -vn 0.0401 -0.0000 -0.9992 -vn 0.0401 0.7065 -0.7065 -vn 0.0401 0.9231 -0.3824 -vn 0.0401 0.9992 0.0000 -vn 0.0401 0.9231 0.3824 -vn 0.0401 0.7065 0.7065 -vn 0.0401 0.3824 0.9231 -vn 0.0401 0.0000 0.9992 -vn 0.0401 -0.3824 0.9231 -vn 0.0401 -0.7065 0.7065 -vn 0.0401 -0.9231 0.3824 -vn 0.0401 -0.9992 0.0000 -vn 0.0401 -0.9231 -0.3824 -vn 0.0401 -0.7065 -0.7065 -vn 0.0401 -0.3824 -0.9231 -vn 0.8367 0.5477 0.0000 -vn 0.8376 0.5463 0.0000 -vn -0.0007 -1.0000 0.0000 -vn 0.7751 0.6318 0.0000 -vn 0.5909 0.8067 0.0000 -vn 0.4664 0.8846 0.0000 -vn -0.0760 0.9971 0.0000 -vn -0.1280 0.9918 0.0000 -vn -0.0238 0.9997 0.0000 -vn 0.0000 -0.5000 -0.8660 -vn 0.0000 -0.8660 -0.5000 -vn 0.0000 -0.8660 0.5000 -vn 0.0000 -0.5000 0.8660 -vn 0.0000 0.5000 0.8660 -vn 0.0000 0.8660 0.5000 -vn 0.0000 0.8660 -0.5000 -vn 0.0000 0.5000 -0.8660 -vn -1.0000 0.0001 0.0000 -vn -1.0000 -0.0001 0.0000 -vn -1.0000 -0.0048 -0.0000 -vn 0.8370 0.5472 0.0000 -vn 0.8378 0.5459 0.0000 -vn 0.8378 0.5460 0.0000 -vn -0.0473 -0.9989 0.0000 -vn 1.0000 0.0048 -0.0000 -vn -0.0814 0.9967 -0.0000 -vn -0.0467 0.8805 -0.4717 -vn -0.1232 0.8884 0.4422 -vn -0.0467 0.8805 0.4717 -vn -0.0814 0.9967 -0.0001 -vn -0.0814 0.9967 0.0001 -vn -0.0814 0.9967 0.0002 -vn 0.0863 0.5492 0.8312 -vn -0.1739 0.5418 0.8223 -vn -0.1739 0.5418 -0.8223 -vn 0.0863 0.5492 -0.8312 -vn -0.0467 0.5724 0.8186 -vn -0.0467 0.5725 0.8186 -vn -0.3056 0.9521 0.0000 -vn -0.1232 0.8884 -0.4422 -vn -0.1442 0.8196 -0.5544 -vn -0.0467 0.5724 -0.8186 -vn -0.0467 0.5725 -0.8186 -vn 0.1552 0.9879 0.0000 -vn 0.1553 0.9879 0.0000 -vn -0.1649 -0.0008 0.9863 -vn -0.1649 -0.0008 -0.9863 -vn 0.1649 0.0008 0.9863 -vn 0.1649 0.0008 -0.9863 -vn -0.0000 0.1950 0.9808 -vn -0.0000 0.3832 0.9237 -vn 0.0000 0.7074 0.7068 -vn 0.0000 0.9238 0.3829 -vn 0.0000 0.7068 0.7074 -vn 0.0000 0.9240 0.3825 -vn 0.0000 0.9240 -0.3825 -vn 0.0000 0.9238 -0.3829 -vn 0.0000 0.7074 -0.7068 -vn 0.0000 0.7068 -0.7074 -vn -0.0000 0.3832 -0.9237 -vn -0.0000 0.1950 -0.9808 -vn -1.0000 -0.0050 0.0000 -vn -1.0000 -0.0049 -0.0000 -vn 0.8369 0.5474 -0.0000 -vn 1.0000 0.0047 0.0000 -vn -0.1442 0.8196 0.5544 -vn 0.0000 0.3059 0.9521 -vn -0.0000 0.3057 0.9521 -vn 0.0000 0.6996 0.7145 -vn -0.0000 0.5556 0.8315 -vn 0.0000 0.9320 0.3625 -vn -0.0000 0.8315 0.5556 -vn 0.0000 0.9959 -0.0902 -vn 0.0000 0.9808 0.1951 -vn -0.0000 0.9808 -0.1951 -vn 0.1300 0.9423 0.3085 -vn -0.0000 0.8315 -0.5556 -vn 0.0675 0.7504 0.6575 -vn -0.0616 0.5928 0.8030 -vn 0.0610 0.6028 0.7956 -vn 0.8374 0.3850 0.3879 -vn 0.9441 0.1917 0.2680 -vn 0.9517 0.2007 0.2324 -vn -0.3051 0.9196 0.2474 -vn -0.0758 0.9971 0.0033 -vn -0.3080 0.9514 0.0030 -vn 0.3051 0.9196 0.2474 -vn 0.0758 0.9971 0.0033 -vn 0.0761 0.9630 0.2584 -vn -0.0761 0.9630 0.2584 -vn 0.7836 0.3901 0.4836 -vn 0.5653 0.6125 0.5526 -vn 0.8683 0.4784 0.1307 -vn 0.8443 0.5358 0.0008 -vn 0.7547 0.6561 0.0011 -vn 0.9576 0.2514 0.1404 -vn -0.6083 0.7654 0.2099 -vn -0.6055 0.7958 0.0020 -vn -0.7549 0.6558 0.0017 -vn -0.9580 0.2496 0.1409 -vn -0.8684 0.4783 0.1310 -vn -0.8451 0.5345 0.0008 -vn -0.5639 0.6099 0.5568 -vn -0.8386 0.3827 0.3876 -vn -0.7510 0.3828 0.5380 -vn 0.3081 0.9513 0.0028 -vn 0.6084 0.7654 0.2097 -vn -0.4572 0.8894 0.0028 -vn -0.9476 0.1835 0.2613 -vn -0.0675 0.7504 0.6575 -vn -0.2756 0.7219 0.6348 -vn -0.2808 0.5744 0.7689 -vn -0.4156 0.5418 0.7306 -vn -0.5423 0.4974 0.6771 -vn 0.2746 0.7233 0.6336 -vn 0.4046 0.5461 0.7335 -vn 0.0000 0.6994 0.7148 -vn 0.0000 0.9961 -0.0887 -vn 0.0000 0.9320 0.3624 -vn -0.0000 0.8397 -0.5430 -vn -0.0001 0.9785 -0.2064 -vn 0.0260 0.9987 -0.0445 -vn -0.0000 0.8401 -0.5425 -vn 0.5459 0.4967 0.6747 -vn 0.6537 0.4486 0.6095 -vn 0.6865 0.4504 0.5709 -vn 0.6050 0.7962 0.0020 -vn -0.6499 0.4397 0.6199 -vn -0.7151 0.4097 0.5664 -vn 0.4572 0.8894 0.0019 -vn -0.4570 0.8894 0.0029 -vn -0.9524 0.1935 0.2354 -vn -0.1211 -0.0807 0.9894 -vn 0.1152 0.5980 0.7932 -s off -f 393/409/143 394/410/143 395/411/143 -f 396/412/144 397/413/144 398/414/144 -f 399/415/145 393/416/145 400/417/145 -f 401/418/143 402/419/143 395/411/143 -f 402/419/143 403/420/143 395/411/143 -f 403/420/143 400/421/143 393/409/143 -f 394/410/143 404/422/143 395/411/143 -f 403/420/143 393/409/143 395/411/143 -f 397/413/144 405/423/144 398/414/144 -f 405/423/144 406/424/144 398/414/144 -f 398/414/144 407/425/144 408/426/144 -f 408/426/144 396/412/144 398/414/144 -f 396/412/144 399/427/144 397/413/144 -f 399/415/145 396/428/145 393/416/145 -f 836/429/144 837/430/144 838/431/144 -f 837/432/146 839/433/146 840/434/146 -f 839/435/143 841/436/143 840/437/143 -f 840/438/147 842/439/147 843/440/147 -f 844/441/148 845/442/148 839/443/148 -f 838/431/144 843/444/144 842/445/144 -f 845/446/149 836/447/149 838/448/149 -f 836/429/144 844/449/144 837/430/144 -f 840/434/146 843/450/146 837/432/146 -f 837/432/146 844/451/146 839/433/146 -f 839/435/143 845/452/143 841/436/143 -f 840/438/147 841/453/147 842/439/147 -f 844/441/148 836/454/148 845/442/148 -f 838/431/144 837/430/144 843/444/144 -f 842/455/149 841/456/149 838/448/149 -f 841/456/149 845/446/149 838/448/149 -s 1 -f 213/457/150 214/458/151 215/459/152 -f 216/460/153 217/461/153 218/462/153 -f 219/463/154 220/464/154 221/465/154 -f 222/466/155 223/467/156 224/468/157 -f 225/469/158 218/470/159 226/471/160 -f 227/472/161 216/473/162 223/467/156 -f 228/474/163 229/475/164 230/476/165 -f 231/477/166 224/468/157 232/478/167 -f 233/479/168 234/480/169 225/469/158 -f 235/481/170 217/482/171 236/483/172 -f 237/484/173 238/485/174 235/481/170 -f 239/486/175 230/476/165 240/487/176 -f 226/471/160 241/488/177 237/489/173 -f 236/483/172 229/475/164 242/490/178 -f 243/491/179 232/492/167 214/458/151 -f 244/493/180 245/494/181 233/479/168 -f 246/495/182 240/496/176 216/473/162 -f 247/497/183 248/498/184 249/499/185 -f 247/497/183 250/500/186 251/501/187 -f 251/501/187 252/502/188 253/503/189 -f 219/463/190 254/504/191 255/505/192 -f 220/464/193 255/505/192 256/506/194 -f 220/464/193 257/507/195 221/465/196 -f 248/508/184 221/509/196 257/510/195 -f 258/511/197 259/512/198 260/513/199 -f 261/514/200 260/513/199 262/515/201 -f 261/514/200 263/516/202 264/517/203 -f 265/518/204 266/519/205 267/520/206 -f 268/521/207 269/522/208 265/518/204 -f 268/521/207 270/523/209 271/524/210 -f 267/520/206 254/504/191 272/525/211 -f 252/502/188 273/526/212 253/503/189 -f 270/523/209 264/517/203 263/516/202 -f 213/457/150 274/527/213 244/528/180 -f 248/508/214 244/529/180 249/530/215 -f 266/531/216 239/532/175 246/533/182 -f 249/534/215 233/535/168 250/536/217 -f 257/510/218 231/537/166 243/538/179 -f 263/539/219 242/540/178 270/541/220 -f 259/542/221 237/543/173 260/544/222 -f 269/545/223 228/546/163 239/547/175 -f 260/548/222 235/549/170 262/550/224 -f 262/550/224 236/551/172 263/539/219 -f 250/536/217 225/552/158 252/553/225 -f 256/554/226 222/555/155 231/556/166 -f 271/557/227 242/540/178 228/546/163 -f 254/558/228 246/533/182 227/559/161 -f 252/553/225 226/560/160 259/542/221 -f 255/561/229 227/559/161 222/555/155 -f 257/510/218 213/562/150 248/508/214 -f 213/457/150 243/491/179 214/458/151 -f 274/563/153 215/564/153 245/565/153 -f 215/564/153 214/566/153 245/565/153 -f 214/566/153 232/567/153 224/568/153 -f 224/568/153 223/569/153 234/570/153 -f 223/569/153 216/460/153 234/570/153 -f 216/460/153 240/571/153 229/572/153 -f 240/571/153 230/573/153 229/572/153 -f 229/572/153 217/461/153 216/460/153 -f 217/461/153 238/574/153 241/575/153 -f 241/575/153 218/462/153 217/461/153 -f 218/462/153 234/570/153 216/460/153 -f 234/570/153 245/565/153 224/568/153 -f 224/568/153 245/565/153 214/566/153 -f 221/465/154 275/576/154 251/501/154 -f 275/576/154 247/497/154 251/501/154 -f 251/501/154 253/503/154 219/463/154 -f 221/465/154 251/501/154 219/463/154 -f 253/503/154 273/526/154 267/520/154 -f 273/526/154 258/511/154 264/517/154 -f 267/520/154 273/526/154 264/517/154 -f 258/511/154 261/514/154 264/517/154 -f 264/517/154 276/577/154 267/520/154 -f 276/577/154 268/521/154 265/518/154 -f 267/520/154 276/577/154 265/518/154 -f 267/520/154 272/525/154 253/503/154 -f 272/525/154 219/463/154 253/503/154 -f 222/466/155 227/472/161 223/467/156 -f 225/469/158 234/480/169 218/470/159 -f 227/472/161 246/495/182 216/473/162 -f 228/474/163 242/490/178 229/475/164 -f 231/477/166 222/466/155 224/468/157 -f 233/479/168 245/494/181 234/480/169 -f 235/481/170 238/485/174 217/482/171 -f 237/484/173 241/578/177 238/485/174 -f 239/486/175 228/474/163 230/476/165 -f 226/471/160 218/470/159 241/488/177 -f 236/483/172 217/482/171 229/475/164 -f 243/491/179 231/579/166 232/492/167 -f 244/493/180 274/580/213 245/494/181 -f 246/495/182 239/581/175 240/496/176 -f 247/497/183 275/576/230 248/498/184 -f 247/497/183 249/499/185 250/500/186 -f 251/501/187 250/500/186 252/502/188 -f 219/463/190 272/525/211 254/504/191 -f 220/464/193 219/463/190 255/505/192 -f 220/464/193 256/506/194 257/507/195 -f 248/508/184 275/582/230 221/509/196 -f 258/511/197 273/526/212 259/512/198 -f 261/514/200 258/511/197 260/513/199 -f 261/514/200 262/515/201 263/516/202 -f 265/518/204 269/522/208 266/519/205 -f 268/521/207 271/524/210 269/522/208 -f 268/521/207 276/577/231 270/523/209 -f 267/520/206 266/519/205 254/504/191 -f 252/502/188 259/512/198 273/526/212 -f 270/523/209 276/577/231 264/517/203 -f 213/457/150 215/459/152 274/527/213 -f 248/508/214 213/562/150 244/529/180 -f 266/531/216 269/583/223 239/532/175 -f 249/534/215 244/584/180 233/535/168 -f 257/510/218 256/585/226 231/537/166 -f 263/539/219 236/551/172 242/540/178 -f 259/542/221 226/560/160 237/543/173 -f 269/545/223 271/557/227 228/546/163 -f 260/548/222 237/586/173 235/549/170 -f 262/550/224 235/549/170 236/551/172 -f 250/536/217 233/535/168 225/552/158 -f 256/554/226 255/561/229 222/555/155 -f 271/557/227 270/541/220 242/540/178 -f 254/558/228 266/531/216 246/533/182 -f 252/553/225 225/552/158 226/560/160 -f 255/561/229 254/558/228 227/559/161 -f 257/510/218 243/538/179 213/562/150 -f 277/587/232 278/588/232 279/589/232 -f 280/590/233 281/591/233 282/592/233 -f 283/593/234 284/594/234 285/595/234 -f 285/595/235 286/596/236 287/597/236 -f 287/598/236 282/599/237 277/600/237 -f 277/600/237 288/601/238 289/602/238 -f 289/602/238 290/603/239 291/604/239 -f 292/605/240 290/606/239 293/607/240 -f 292/608/240 294/609/241 295/610/241 -f 295/611/242 296/612/243 297/613/243 -f 298/614/244 296/615/243 281/616/244 -f 298/614/244 280/617/245 278/618/245 -f 278/618/245 299/619/246 279/620/246 -f 279/621/246 300/622/247 301/623/247 -f 301/624/247 302/625/248 303/626/248 -f 303/627/249 304/628/249 283/629/249 -f 303/630/232 283/631/232 285/632/232 -f 285/632/232 287/633/232 301/634/232 -f 287/633/232 277/587/232 279/589/232 -f 277/587/232 289/635/232 298/636/232 -f 289/635/232 291/637/232 297/638/232 -f 291/637/232 292/639/232 295/640/232 -f 291/637/232 295/640/232 297/638/232 -f 301/634/232 303/630/232 285/632/232 -f 279/589/232 301/634/232 287/633/232 -f 289/635/232 297/638/232 298/636/232 -f 277/587/232 298/636/232 278/588/232 -f 284/641/233 304/642/233 302/643/233 -f 284/641/233 302/643/233 300/644/233 -f 282/592/233 286/645/233 299/646/233 -f 286/645/233 284/641/233 300/644/233 -f 290/647/250 288/648/233 296/649/233 -f 288/648/233 282/592/233 281/591/233 -f 296/649/233 288/648/233 281/591/233 -f 294/650/233 293/651/251 290/647/250 -f 296/649/233 294/650/233 290/647/250 -f 286/645/233 300/644/233 299/646/233 -f 282/592/233 299/646/233 280/590/233 -f 283/593/234 304/652/234 284/594/234 -f 285/595/235 284/594/235 286/596/236 -f 287/598/236 286/653/236 282/599/237 -f 277/600/237 282/599/237 288/601/238 -f 289/602/238 288/601/238 290/603/239 -f 292/605/240 291/654/239 290/606/239 -f 292/608/240 293/655/240 294/609/241 -f 295/611/242 294/656/242 296/612/243 -f 298/614/244 297/657/243 296/615/243 -f 298/614/244 281/616/244 280/617/245 -f 278/618/245 280/617/245 299/619/246 -f 279/621/246 299/658/246 300/622/247 -f 301/624/247 300/659/247 302/625/248 -f 303/627/249 302/660/249 304/628/249 -f 305/661/252 306/662/253 307/663/254 -f 308/664/255 309/665/256 310/666/257 -f 311/667/258 312/668/259 313/669/260 -f 314/670/232 315/671/232 316/672/232 -f 317/673/261 318/674/262 319/675/263 -f 320/676/264 321/677/265 322/678/266 -f 323/679/267 324/680/268 325/681/267 -f 326/682/269 325/683/270 327/684/271 -f 327/684/271 324/685/272 328/686/273 -f 329/687/274 310/666/275 309/665/274 -f 308/688/255 330/689/276 331/690/276 -f 332/691/277 333/692/278 326/682/269 -f 334/693/279 335/694/280 336/695/279 -f 324/685/272 337/696/281 328/686/273 -f 325/697/267 338/698/282 323/699/267 -f 339/700/283 334/693/284 318/701/262 -f 334/702/284 312/668/259 340/703/259 -f 336/704/285 341/705/286 342/706/287 -f 343/707/288 344/708/289 345/709/289 -f 346/710/290 347/711/291 348/712/292 -f 349/713/293 321/714/294 350/715/293 -f 351/716/295 352/717/296 329/718/297 -f 313/669/260 353/719/298 311/667/258 -f 354/720/299 343/707/300 345/709/299 -f 355/721/301 349/722/302 356/723/303 -f 357/724/304 319/725/305 318/701/304 -f 339/726/233 328/686/233 337/696/233 -f 338/727/306 347/728/291 358/729/307 -f 343/730/288 359/731/308 360/732/309 -f 361/733/310 330/689/276 349/722/302 -f 350/734/311 316/672/312 362/735/313 -f 363/736/314 364/737/315 365/738/316 -f 365/738/316 341/705/286 335/739/286 -f 316/672/312 366/740/317 362/735/313 -f 367/741/318 332/742/277 368/743/318 -f 369/744/319 336/695/285 342/745/287 -f 309/665/274 351/746/268 329/687/274 -f 370/747/320 371/748/321 354/720/320 -f 305/749/322 372/750/323 373/751/322 -f 363/736/314 374/752/324 314/670/325 -f 369/753/232 320/676/232 352/717/232 -f 351/716/295 375/754/326 376/755/327 -f 307/756/323 377/757/305 372/758/323 -f 348/712/328 333/759/282 378/760/328 -f 372/761/329 379/762/330 380/763/331 -f 330/764/294 322/765/275 321/766/294 -f 371/748/300 373/751/322 343/707/300 -f 358/729/307 323/767/332 338/727/306 -f 381/768/333 371/769/321 382/770/334 -f 355/721/301 383/771/335 384/772/335 -f 353/773/336 385/774/337 363/775/336 -f 317/673/261 307/663/254 306/662/253 -f 373/776/338 380/763/331 359/731/308 -f 366/777/339 356/778/340 362/779/340 -f 386/780/341 321/677/265 387/781/265 -f 329/687/297 320/782/264 322/765/266 -f 379/762/330 357/783/342 369/753/319 -f 353/773/336 365/784/343 311/785/343 -f 340/786/280 365/787/343 335/694/280 -f 356/778/340 350/715/293 362/779/340 -f 344/788/232 347/728/232 388/789/232 -f 385/790/148 389/791/148 383/792/148 -f 368/793/148 370/794/148 354/795/148 -f 318/701/304 336/695/279 357/724/304 -f 384/772/233 390/796/233 355/721/233 -f 391/797/344 353/719/298 390/796/345 -f 378/760/328 346/710/346 348/712/328 -f 332/691/233 370/798/233 368/799/233 -f 305/661/252 381/768/333 306/662/253 -f 308/664/255 337/800/281 309/665/256 -f 311/667/258 340/703/259 312/668/259 -f 314/670/232 374/752/232 315/671/232 -f 317/673/261 339/726/283 318/674/262 -f 320/676/264 387/781/265 321/677/265 -f 323/679/267 351/746/268 324/680/268 -f 326/682/269 333/692/278 325/683/270 -f 327/684/271 325/683/270 324/685/272 -f 329/687/274 322/765/275 310/666/275 -f 308/688/255 310/801/257 330/689/276 -f 332/691/277 378/802/347 333/692/278 -f 334/693/279 340/786/280 335/694/280 -f 324/685/272 309/803/256 337/696/281 -f 325/697/267 333/759/282 338/698/282 -f 339/700/283 392/804/348 334/693/284 -f 334/702/284 392/805/348 312/668/259 -f 336/704/285 335/739/286 341/705/286 -f 343/707/288 360/806/309 344/708/289 -f 346/710/290 388/807/290 347/711/291 -f 349/713/293 330/808/294 321/714/294 -f 351/716/295 376/755/327 352/717/296 -f 313/669/260 390/796/345 353/719/298 -f 354/720/299 371/748/300 343/707/300 -f 355/721/301 361/733/310 349/722/302 -f 357/724/304 377/757/305 319/725/305 -f 312/668/233 392/805/233 331/690/233 -f 392/805/233 339/726/233 308/688/233 -f 339/726/233 317/673/233 328/686/233 -f 317/673/233 306/662/233 328/686/233 -f 306/662/233 381/768/233 327/684/233 -f 381/768/233 382/770/233 326/682/233 -f 327/684/233 381/768/233 326/682/233 -f 382/770/233 332/691/233 326/682/233 -f 390/796/233 313/669/233 361/733/233 -f 313/669/233 312/668/233 331/690/233 -f 361/733/233 355/721/233 390/796/233 -f 331/690/233 361/733/233 313/669/233 -f 306/662/233 327/684/233 328/686/233 -f 308/688/233 331/690/233 392/805/233 -f 337/696/233 308/688/233 339/726/233 -f 338/727/306 348/809/292 347/728/291 -f 343/730/288 373/776/338 359/731/308 -f 361/733/310 331/690/276 330/689/276 -f 350/734/311 386/780/341 316/672/312 -f 363/736/314 314/670/325 364/737/315 -f 365/738/316 364/737/315 341/705/286 -f 316/672/312 315/671/349 366/740/317 -f 367/741/318 378/760/347 332/742/277 -f 369/744/319 357/724/342 336/695/285 -f 309/665/274 324/680/268 351/746/268 -f 370/747/320 382/810/334 371/748/321 -f 305/749/322 307/811/323 372/750/323 -f 363/736/314 385/774/324 374/752/324 -f 358/729/232 347/728/232 360/732/232 -f 360/732/232 359/731/232 358/729/232 -f 359/731/232 380/763/232 375/754/232 -f 358/729/232 359/731/232 375/754/232 -f 380/763/232 379/762/232 376/755/232 -f 379/762/232 369/753/232 376/755/232 -f 380/763/232 376/755/232 375/754/232 -f 369/753/232 342/706/232 320/676/232 -f 342/706/232 341/705/232 387/781/232 -f 320/676/232 342/706/232 387/781/232 -f 341/705/232 364/737/232 387/781/232 -f 364/737/232 314/670/232 386/780/232 -f 387/781/232 364/737/232 386/780/232 -f 314/670/232 316/672/232 386/780/232 -f 352/717/232 376/755/232 369/753/232 -f 351/716/295 323/767/332 375/754/326 -f 307/756/323 319/725/305 377/757/305 -f 348/712/328 338/698/282 333/759/282 -f 372/761/329 377/812/350 379/762/330 -f 330/764/294 310/666/275 322/765/275 -f 371/748/300 305/749/322 373/751/322 -f 358/729/307 375/754/326 323/767/332 -f 381/768/333 305/661/252 371/769/321 -f 355/721/301 356/723/303 383/771/335 -f 353/773/336 389/813/337 385/774/337 -f 317/673/261 319/675/263 307/663/254 -f 373/776/338 372/761/329 380/763/331 -f 366/777/339 383/814/339 356/778/340 -f 386/780/341 350/734/311 321/677/265 -f 329/687/297 352/815/296 320/782/264 -f 379/762/330 377/812/350 357/783/342 -f 353/773/336 363/775/336 365/784/343 -f 340/786/280 311/816/343 365/787/343 -f 356/778/340 349/713/293 350/715/293 -f 344/788/232 360/732/232 347/728/232 -f 391/817/148 384/818/148 389/791/148 -f 384/818/148 383/792/148 389/791/148 -f 383/792/148 366/819/148 385/790/148 -f 366/819/148 315/820/148 385/790/148 -f 315/820/148 374/821/148 385/790/148 -f 354/795/148 345/822/148 346/823/148 -f 345/822/148 344/824/148 388/825/148 -f 346/823/148 345/822/148 388/825/148 -f 346/823/148 367/826/148 354/795/148 -f 367/826/148 368/793/148 354/795/148 -f 318/701/304 334/693/279 336/695/279 -f 384/772/233 391/797/233 390/796/233 -f 391/797/344 389/827/344 353/719/298 -f 378/760/328 367/741/346 346/710/346 -f 332/691/233 382/770/233 370/798/233 -f 409/828/351 410/829/352 411/830/353 -f 412/831/354 413/832/355 414/833/356 -f 415/834/357 416/835/358 417/836/359 -f 418/837/360 419/838/361 420/839/362 -f 421/840/363 422/841/364 423/842/365 -f 424/843/366 425/844/367 426/845/368 -f 427/846/369 418/847/360 428/848/370 -f 429/849/371 430/850/372 431/851/373 -f 432/852/374 428/848/370 430/853/372 -f 410/829/352 433/854/375 411/830/353 -f 434/855/376 431/851/373 435/856/377 -f 436/857/378 437/858/379 438/859/380 -f 439/860/381 440/861/382 441/862/383 -f 442/863/384 443/864/385 444/865/386 -f 443/864/385 445/866/387 446/867/388 -f 437/858/379 435/856/377 438/859/380 -f 447/868/389 448/869/390 449/870/391 -f 450/871/392 451/872/393 422/873/364 -f 452/874/394 453/875/395 454/876/396 -f 455/877/397 456/878/398 457/879/399 -f 458/880/400 459/881/400 460/882/401 -f 461/883/402 462/884/403 453/885/395 -f 463/886/404 464/887/405 465/888/406 -f 457/879/399 466/889/407 455/877/397 -f 467/890/408 468/891/409 469/892/410 -f 470/893/411 471/894/412 472/895/413 -f 473/896/414 474/897/412 475/898/415 -f 476/899/416 477/900/417 478/901/415 -f 479/902/418 480/903/419 475/898/415 -f 481/904/420 482/905/421 462/884/403 -f 483/906/422 484/907/423 485/908/424 -f 486/909/154 487/910/154 488/911/154 -f 489/912/425 490/913/426 491/914/427 -f 492/915/428 493/916/429 494/917/430 -f 495/918/431 435/856/377 496/919/432 -f 497/920/433 498/921/434 499/922/435 -f 499/923/435 434/855/376 437/858/379 -f 469/892/410 500/924/436 494/925/430 -f 468/891/409 501/926/437 500/924/436 -f 496/919/432 431/851/373 501/927/437 -f 502/928/438 503/929/439 504/930/440 -f 504/930/440 505/931/441 498/921/434 -f 498/932/434 429/849/371 434/855/376 -f 494/925/430 506/933/442 507/934/443 -f 500/924/436 508/935/444 506/933/442 -f 501/927/437 430/850/372 508/936/444 -f 509/937/445 510/938/446 503/929/439 -f 503/929/439 511/939/447 505/931/441 -f 505/940/441 432/941/374 429/849/371 -f 507/934/443 512/942/448 513/943/449 -f 506/933/442 514/944/450 512/942/448 -f 508/945/444 428/848/370 514/946/450 -f 515/947/451 516/948/452 510/938/446 -f 510/938/446 517/949/453 511/939/447 -f 511/950/447 427/846/369 432/852/374 -f 513/943/449 518/951/454 519/952/455 -f 512/942/448 520/953/456 518/951/454 -f 514/946/450 418/847/360 520/954/456 -f 521/955/457 522/956/458 516/948/452 -f 516/948/452 523/957/459 517/949/453 -f 517/958/453 524/959/460 427/846/369 -f 525/960/461 441/862/383 526/961/462 -f 525/960/461 527/962/463 441/862/383 -f 528/963/464 529/964/465 530/965/466 -f 497/920/433 499/922/435 491/966/427 -f 531/967/467 532/968/468 493/969/429 -f 533/970/469 534/971/470 532/968/468 -f 535/972/471 433/854/375 534/973/470 -f 424/974/366 536/975/472 537/976/473 -f 537/976/473 538/977/474 539/978/475 -f 539/979/475 540/980/476 410/829/352 -f 532/968/468 534/971/470 541/981/477 -f 496/982/432 468/891/409 542/983/478 -f 540/980/476 543/984/479 433/854/375 -f 426/985/368 497/920/433 536/975/472 -f 497/920/433 529/964/465 442/986/384 -f 483/906/422 416/835/358 544/987/480 -f 545/988/481 446/867/388 445/866/387 -f 538/977/474 546/989/482 547/990/483 -f 414/833/356 548/991/484 549/992/485 -f 550/993/486 551/994/487 552/995/488 -f 411/830/353 553/996/489 409/828/351 -f 535/997/471 554/998/490 553/999/489 -f 533/970/469 555/1000/491 554/998/490 -f 484/907/423 415/834/357 556/1001/492 -f 538/1002/474 557/1003/493 540/980/476 -f 558/1004/494 537/976/473 559/1005/495 -f 559/1005/495 539/978/475 560/1006/496 -f 560/1007/496 410/829/352 561/1008/497 -f 418/837/360 562/1009/498 520/1010/456 -f 520/1010/456 563/1011/499 518/1012/454 -f 518/1013/454 564/1014/500 519/1015/455 -f 565/1016/501 522/1017/458 566/1018/502 -f 567/1019/503 523/1020/459 522/1017/458 -f 568/1021/504 524/1022/460 523/1023/459 -f 447/868/389 423/842/365 569/1024/505 -f 438/859/380 495/918/431 570/1025/506 -f 490/1026/507 530/965/466 491/966/427 -f 441/862/383 571/1027/508 439/860/381 -f 483/1028/422 530/965/466 490/1026/507 -f 415/834/357 417/836/359 571/1029/508 -f 545/1030/481 572/1031/509 525/960/461 -f 485/1032/424 442/986/384 529/964/465 -f 572/1033/509 445/866/387 556/1001/492 -f 485/908/424 573/1034/510 442/863/384 -f 573/1034/510 556/1001/492 445/866/387 -f 556/1001/492 571/1029/508 572/1033/509 -f 574/1035/511 575/1036/512 541/981/477 -f 444/1037/386 547/990/483 546/989/482 -f 575/1038/512 543/984/479 446/1039/388 -f 443/1040/385 547/1041/483 444/1042/386 -f 446/1039/388 557/1003/493 443/1040/385 -f 534/973/470 543/984/479 574/1043/511 -f 576/1044/513 532/968/468 577/1045/514 -f 497/920/433 502/928/438 504/930/440 -f 578/1046/515 579/1047/516 580/1048/517 -f 581/1049/518 456/878/398 582/1050/519 -f 464/1051/405 583/1052/520 584/1053/521 -f 585/1054/522 586/1055/523 583/1052/520 -f 587/1056/524 423/842/365 586/1057/523 -f 588/1058/525 589/1059/526 590/1060/527 -f 590/1060/527 591/1061/528 592/1062/529 -f 592/1063/529 421/840/363 447/868/389 -f 584/1053/521 593/1064/530 594/1065/531 -f 583/1066/520 595/1067/532 593/1068/530 -f 586/1057/523 422/841/364 595/1067/532 -f 596/1069/533 597/1070/534 589/1059/526 -f 589/1059/526 598/1071/535 591/1061/528 -f 591/1072/528 450/1073/392 421/840/363 -f 599/1074/536 593/1064/530 600/1075/537 -f 600/1075/537 595/1076/532 601/1077/538 -f 601/1078/538 422/873/364 451/872/393 -f 578/1046/515 597/1070/534 602/1079/539 -f 580/1048/517 598/1071/535 597/1070/534 -f 603/1080/540 450/871/392 598/1081/535 -f 600/1082/537 604/1083/541 605/1084/542 -f 606/1085/543 607/1086/544 608/1087/545 -f 607/1086/544 609/1088/546 610/1089/547 -f 610/1090/547 454/876/396 453/875/395 -f 611/1091/548 612/1092/549 579/1047/516 -f 612/1092/549 613/1093/550 579/1047/516 -f 614/1094/551 452/874/394 613/1095/550 -f 608/1087/545 615/1096/552 492/1097/428 -f 607/1086/544 616/1098/553 615/1096/552 -f 610/1099/547 462/884/403 616/1100/553 -f 617/1101/554 618/1102/555 612/1092/549 -f 612/1092/549 619/1103/556 614/1104/551 -f 614/1105/551 481/904/420 461/883/402 -f 492/1097/428 620/1106/557 486/1107/558 -f 615/1108/552 621/1109/559 620/1110/557 -f 616/1100/553 482/905/421 621/1109/559 -f 480/1111/419 622/1112/560 623/1113/561 -f 476/1114/416 624/1115/562 625/1116/563 -f 588/1058/525 625/1117/563 626/1118/564 -f 587/1119/524 585/1120/522 463/1121/404 -f 592/1063/529 447/868/389 627/1122/565 -f 605/1123/542 599/1124/536 600/1125/537 -f 580/1048/517 628/1126/566 581/1127/518 -f 425/1128/367 629/1129/567 618/1102/555 -f 618/1102/555 630/1130/568 619/1103/556 -f 619/1131/556 487/1132/569 481/904/420 -f 581/1049/518 631/1133/570 580/1134/517 -f 631/1135/570 632/1136/571 580/1048/517 -f 632/1136/571 603/1137/540 580/1048/517 -f 601/1077/538 633/1138/572 600/1075/537 -f 633/1139/572 634/1140/573 600/1082/537 -f 634/1140/573 466/889/407 600/1082/537 -f 603/1080/540 635/1141/574 636/1142/575 -f 632/1143/571 637/1144/576 635/1145/574 -f 631/1133/570 582/1050/519 637/1144/576 -f 455/877/397 634/1140/573 638/1146/577 -f 638/1146/577 633/1139/572 639/1147/578 -f 639/1148/578 601/1078/538 451/872/393 -f 636/1142/575 639/1148/578 451/872/393 -f 635/1141/574 638/1149/577 639/1148/578 -f 637/1144/576 455/877/397 638/1146/577 -f 613/1093/550 640/1150/579 579/1047/516 -f 640/1151/579 641/1152/580 579/1153/516 -f 641/1152/580 628/1154/566 579/1153/516 -f 604/1083/541 642/1155/581 605/1084/542 -f 642/1155/581 643/1156/582 605/1084/542 -f 643/1157/582 609/1088/546 605/1123/542 -f 613/1158/550 644/1159/583 640/1151/579 -f 640/1151/579 645/1160/584 641/1152/580 -f 641/1152/580 456/878/398 628/1154/566 -f 457/879/399 642/1155/581 604/1083/541 -f 646/1161/585 643/1156/582 642/1155/581 -f 647/1162/586 609/1163/546 643/1156/582 -f 454/1164/396 644/1159/583 452/1165/394 -f 647/1162/586 645/1160/584 644/1159/583 -f 646/1161/585 456/878/398 645/1160/584 -f 648/1166/587 402/1167/588 401/1168/589 -f 649/1169/590 406/1170/591 405/1171/592 -f 650/1172/593 398/1173/594 406/1174/591 -f 651/1175/595 401/1176/589 395/1177/596 -f 652/1178/597 653/1179/598 654/1180/599 -f 653/1181/598 655/1182/600 654/1183/599 -f 656/1184/601 657/1185/602 465/1186/406 -f 648/1187/587 473/896/414 657/1188/602 -f 658/1189/603 659/1190/604 653/1179/598 -f 653/1181/598 470/893/411 472/895/413 -f 650/1172/593 660/1191/605 661/1192/606 -f 662/1193/607 663/1194/608 664/1195/609 -f 649/1196/590 665/1197/610 666/1198/611 -f 652/1199/597 667/1200/612 668/1201/613 -f 654/1183/599 669/1202/614 667/1203/612 -f 473/896/414 670/1204/615 657/1188/602 -f 670/1204/615 465/1205/406 657/1188/602 -f 470/893/411 624/1206/562 476/899/416 -f 624/1115/562 626/1207/564 625/1116/563 -f 671/1208/616 660/1191/605 672/1209/617 -f 673/1210/618 669/1202/614 674/1211/148 -f 413/832/619 675/1212/620 676/1213/621 -f 413/832/619 677/1214/622 548/991/622 -f 551/1215/623 678/1216/624 679/1217/623 -f 552/1218/488 679/1219/625 680/1220/626 -f 412/831/354 679/1217/625 678/1216/627 -f 681/1221/628 677/1222/629 676/1223/630 -f 681/1221/628 675/1224/631 550/993/486 -f 682/1225/632 548/1226/484 677/1227/629 -f 683/1228/633 684/1229/634 685/1230/635 -f 686/1231/636 685/1230/635 687/1232/637 -f 688/1233/638 689/1234/639 690/1235/640 -f 691/1236/641 692/1237/642 693/1238/642 -f 690/1239/640 694/1240/643 695/1241/644 -f 696/1242/645 687/1232/637 697/1243/646 -f 695/1241/644 698/1244/647 699/1245/648 -f 699/1245/648 700/1246/649 701/1247/650 -f 702/1248/651 684/1249/634 693/1238/642 -f 703/1250/652 697/1251/646 704/1252/653 -f 703/1250/652 705/1253/654 688/1233/638 -f 706/1254/655 707/1255/656 691/1236/641 -f 708/1256/657 702/1257/651 709/1258/658 -f 710/1259/659 711/1260/660 702/1257/651 -f 712/1261/661 684/1229/634 711/1262/660 -f 713/1263/662 460/1264/401 714/1265/663 -f 714/1265/663 715/1266/664 716/1267/665 -f 716/1268/665 700/1246/649 698/1244/647 -f 717/1269/666 718/1270/667 719/1271/668 -f 719/1271/668 720/1272/669 721/1273/670 -f 721/1274/670 704/1252/653 697/1251/646 -f 717/1269/666 722/1275/671 723/1276/672 -f 719/1271/668 724/1277/673 722/1275/671 -f 724/1278/673 697/1243/646 687/1232/637 -f 725/1279/674 726/1280/675 727/1281/676 -f 727/1281/676 728/1282/677 729/1283/678 -f 728/1284/677 689/1285/639 729/1286/678 -f 725/1279/674 730/1287/679 731/1288/680 -f 727/1281/676 732/1289/681 730/1287/679 -f 729/1290/678 705/1253/654 732/1291/681 -f 731/1288/680 718/1270/667 733/1292/682 -f 730/1287/679 720/1272/669 718/1270/667 -f 732/1291/681 704/1252/653 720/1293/669 -f 723/1276/672 710/1259/659 708/1256/657 -f 710/1259/659 724/1277/673 712/1294/661 -f 712/1261/661 687/1232/637 685/1230/635 -f 694/1240/643 716/1268/665 698/1244/647 -f 728/1282/677 714/1265/663 716/1267/665 -f 714/1265/663 734/1295/683 713/1263/662 -f 706/1254/655 458/880/400 735/1296/684 -f 709/1297/658 707/1255/656 736/1298/685 -f 737/1299/686 735/1296/684 458/880/400 -f 735/1296/684 736/1298/685 707/1255/656 -f 708/1256/143 713/1263/143 731/1288/143 -f 738/1300/687 739/1301/688 740/1302/689 -f 741/1303/690 742/1304/691 664/1305/609 -f 743/1306/692 739/1307/688 666/1308/693 -f 744/1309/694 742/1310/691 741/1311/690 -f 744/1309/694 666/1308/693 665/1312/695 -f 542/983/478 467/890/408 576/1044/513 -f 570/1313/506 440/861/382 745/1314/696 -f 526/961/462 570/1313/506 746/1315/697 -f 570/1313/506 495/1316/431 746/1315/697 -f 672/1317/617 747/1318/148 748/1319/148 -f 471/894/412 749/1320/698 750/1321/616 -f 671/1208/616 751/1322/698 407/1323/699 -f 474/897/412 395/1177/596 404/1324/699 -f 752/1325/700 753/1326/701 471/1327/702 -f 754/1328/703 755/1329/704 477/1330/417 -f 756/1331/705 755/1332/704 757/1333/706 -f 758/1334/148 756/1331/705 759/1335/705 -f 760/1336/707 761/1337/148 758/1334/148 -f 762/1338/708 760/1336/707 448/1339/390 -f 763/1340/709 623/1341/561 622/1342/560 -f 393/1343/710 396/1344/710 764/1345/711 -f 751/1346/712 765/1347/713 408/1348/714 -f 474/1349/715 404/1350/716 394/1351/717 -f 748/1352/144 766/1353/144 761/1354/144 -f 753/1326/701 749/1355/718 471/1327/702 -f 758/1356/143 759/1357/143 449/1358/143 -f 439/1359/719 549/1360/485 682/1361/632 -f 436/1362/720 550/1363/486 489/1364/721 -f 436/1362/720 682/1365/632 681/1366/628 -f 416/1367/722 680/1368/626 412/1369/354 -f 490/1370/723 680/1371/626 483/1372/724 -f 489/1364/721 552/1373/488 490/1374/723 -f 417/1375/725 549/1376/485 571/1377/726 -f 416/1367/722 414/1378/356 417/1375/725 -f 673/1379/618 688/1380/638 669/1381/614 -f 673/1379/618 696/1382/645 703/1383/652 -f 565/1384/727 701/1385/650 567/1386/728 -f 668/1387/729 699/1388/648 565/1384/727 -f 662/1389/730 686/1390/636 696/1391/645 -f 667/1392/731 695/1393/644 668/1387/729 -f 669/1381/614 690/1394/640 667/1395/731 -f 767/1396/732 683/1397/633 686/1390/636 -f 564/1398/733 768/1399/734 683/1397/633 -f 419/1400/735 459/1401/400 706/1402/655 -f 419/1400/735 691/1403/641 420/1404/736 -f 420/1404/736 693/1405/642 562/1406/737 -f 693/1405/642 563/1407/738 562/1406/737 -f 459/1401/400 567/1408/728 701/1409/650 -f 409/828/351 561/1008/497 410/829/352 -f 412/831/354 678/1216/627 413/832/355 -f 415/834/357 544/987/480 416/835/358 -f 418/837/360 524/1022/460 419/838/361 -f 421/840/363 450/1073/392 422/841/364 -f 626/1410/564 658/1411/603 652/1412/597 -f 652/1412/597 668/1413/613 565/1414/501 -f 626/1410/564 652/1412/597 588/1415/525 -f 652/1412/597 565/1414/501 588/1415/525 -f 588/1415/525 565/1414/501 566/1416/502 -f 596/1417/533 588/1415/525 566/1416/502 -f 596/1417/533 566/1416/502 602/1418/539 -f 566/1416/502 521/1419/457 602/1418/539 -f 611/1420/548 578/1421/515 515/1422/451 -f 578/1421/515 602/1418/539 515/1422/451 -f 602/1418/539 521/1419/457 515/1422/451 -f 617/1423/554 611/1420/548 515/1422/451 -f 558/1424/494 488/1425/739 424/843/366 -f 488/1425/739 425/844/367 424/843/366 -f 425/844/367 617/1423/554 509/1426/445 -f 509/1426/445 617/1423/554 515/1422/451 -f 502/1427/438 497/1428/433 426/845/368 -f 509/1426/445 502/1427/438 426/845/368 -f 425/844/367 509/1426/445 426/845/368 -f 427/846/369 524/959/460 418/847/360 -f 429/849/371 432/941/374 430/850/372 -f 432/852/374 427/846/369 428/848/370 -f 410/829/352 540/980/476 433/854/375 -f 434/855/376 429/849/371 431/851/373 -f 436/857/378 489/912/425 437/858/379 -f 439/860/381 745/1314/696 440/861/382 -f 442/863/384 573/1034/510 443/864/385 -f 443/864/385 573/1034/510 445/866/387 -f 437/858/379 434/855/376 435/856/377 -f 757/1429/706 627/1122/565 447/868/389 -f 447/868/389 569/1024/505 448/869/390 -f 569/1024/505 623/1113/561 448/869/390 -f 449/870/391 757/1429/706 447/868/389 -f 450/871/392 636/1142/575 451/872/393 -f 452/874/394 461/1430/402 453/875/395 -f 455/877/397 582/1050/519 456/878/398 -f 701/1431/650 700/1432/649 459/881/400 -f 700/1432/649 715/1433/664 460/882/401 -f 459/881/400 700/1432/649 460/882/401 -f 460/882/401 737/1299/686 458/880/400 -f 461/883/402 481/904/420 462/884/403 -f 463/886/404 585/1434/522 464/887/405 -f 457/879/399 604/1083/541 466/889/407 -f 467/890/408 542/983/478 468/891/409 -f 470/893/411 478/901/415 471/894/412 -f 473/896/414 651/1175/595 474/897/412 -f 478/901/415 470/893/411 476/899/416 -f 476/899/416 754/1435/703 477/900/417 -f 622/1436/560 480/903/419 479/902/418 -f 480/903/419 473/896/414 475/898/415 -f 481/904/420 487/1132/569 482/905/421 -f 485/908/424 528/1437/464 483/906/422 -f 483/906/422 544/987/480 484/907/423 -f 621/1438/154 482/1439/154 620/1440/154 -f 482/1439/154 487/910/154 486/909/154 -f 487/910/154 630/1441/154 629/1442/154 -f 629/1442/154 488/911/154 487/910/154 -f 488/911/154 558/1443/154 486/909/154 -f 558/1443/154 559/1444/154 554/1445/154 -f 559/1444/154 560/1446/154 561/1447/154 -f 554/1445/154 559/1444/154 409/1448/154 -f 561/1447/154 409/1448/154 559/1444/154 -f 409/1448/154 553/1449/154 554/1445/154 -f 554/1445/154 555/1450/154 558/1443/154 -f 555/1450/154 486/909/154 558/1443/154 -f 486/909/154 620/1440/154 482/1439/154 -f 499/923/435 437/858/379 491/914/427 -f 437/858/379 489/912/425 491/914/427 -f 400/1451/740 403/1452/741 656/1453/601 -f 403/1452/741 402/1454/588 656/1453/601 -f 656/1453/601 465/1455/406 400/1451/740 -f 465/1455/406 464/1456/405 400/1451/740 -f 399/1457/742 400/1451/740 464/1456/405 -f 649/1458/590 405/1459/592 397/1460/743 -f 649/1458/590 397/1460/743 399/1457/742 -f 564/1461/500 767/1462/744 649/1458/590 -f 564/1461/500 649/1458/590 399/1457/742 -f 564/1461/500 399/1457/742 464/1456/405 -f 519/1463/455 564/1461/500 464/1456/405 -f 519/1463/455 464/1456/405 584/1464/521 -f 513/1465/449 519/1463/455 594/1466/531 -f 519/1463/455 584/1464/521 594/1466/531 -f 594/1466/531 599/1467/536 507/1468/443 -f 599/1467/536 606/1469/543 507/1468/443 -f 507/1468/443 513/1465/449 594/1466/531 -f 606/1469/543 608/1470/545 507/1468/443 -f 492/915/428 486/1471/558 531/1472/467 -f 486/1471/558 555/1473/491 531/1472/467 -f 608/1470/545 492/915/428 494/917/430 -f 494/917/430 507/1468/443 608/1470/545 -f 576/1474/513 467/1475/408 469/1476/410 -f 469/1476/410 494/917/430 493/916/429 -f 492/915/428 531/1472/467 493/916/429 -f 493/916/429 576/1474/513 469/1476/410 -f 495/918/431 438/859/380 435/856/377 -f 497/920/433 504/930/440 498/921/434 -f 499/923/435 498/932/434 434/855/376 -f 469/892/410 468/891/409 500/924/436 -f 468/891/409 496/982/432 501/926/437 -f 496/919/432 435/856/377 431/851/373 -f 502/928/438 509/937/445 503/929/439 -f 504/930/440 503/929/439 505/931/441 -f 498/932/434 505/940/441 429/849/371 -f 494/925/430 500/924/436 506/933/442 -f 500/924/436 501/926/437 508/935/444 -f 501/927/437 431/851/373 430/850/372 -f 509/937/445 515/947/451 510/938/446 -f 503/929/439 510/938/446 511/939/447 -f 505/940/441 511/1477/447 432/941/374 -f 507/934/443 506/933/442 512/942/448 -f 506/933/442 508/935/444 514/944/450 -f 508/945/444 430/853/372 428/848/370 -f 515/947/451 521/955/457 516/948/452 -f 510/938/446 516/948/452 517/949/453 -f 511/950/447 517/958/453 427/846/369 -f 513/943/449 512/942/448 518/951/454 -f 512/942/448 514/944/450 520/953/456 -f 514/946/450 428/848/370 418/847/360 -f 521/955/457 566/1478/502 522/956/458 -f 516/948/452 522/956/458 523/957/459 -f 517/958/453 523/1479/459 524/959/460 -f 526/961/462 541/981/477 545/1030/481 -f 541/981/477 575/1036/512 545/1030/481 -f 441/862/383 440/861/382 526/961/462 -f 526/961/462 545/1030/481 525/960/461 -f 525/960/461 572/1031/509 527/962/463 -f 528/963/464 485/1032/424 529/964/465 -f 531/967/467 533/970/469 532/968/468 -f 533/970/469 535/997/471 534/971/470 -f 535/972/471 411/830/353 433/854/375 -f 424/974/366 426/985/368 536/975/472 -f 537/976/473 536/975/472 538/977/474 -f 539/979/475 538/1002/474 540/980/476 -f 574/1035/511 541/981/477 534/971/470 -f 541/981/477 526/961/462 532/968/468 -f 526/961/462 577/1045/514 532/968/468 -f 542/983/478 746/1315/697 496/982/432 -f 746/1315/697 495/1316/431 496/982/432 -f 540/980/476 557/1003/493 543/984/479 -f 444/1037/386 546/989/482 442/986/384 -f 546/989/482 497/920/433 442/986/384 -f 497/920/433 491/966/427 530/965/466 -f 497/920/433 530/965/466 529/964/465 -f 545/988/481 575/1480/512 446/867/388 -f 538/977/474 536/975/472 546/989/482 -f 536/975/472 497/920/433 546/989/482 -f 414/833/356 413/832/355 548/991/484 -f 550/993/486 675/1224/631 551/994/487 -f 411/830/353 535/972/471 553/996/489 -f 535/997/471 533/970/469 554/998/490 -f 533/970/469 531/967/467 555/1000/491 -f 484/907/423 544/987/480 415/834/357 -f 538/1002/474 547/1041/483 557/1003/493 -f 558/1004/494 424/974/366 537/976/473 -f 559/1005/495 537/976/473 539/978/475 -f 560/1007/496 539/979/475 410/829/352 -f 418/837/360 420/839/362 562/1009/498 -f 520/1010/456 562/1009/498 563/1011/499 -f 518/1013/454 563/1481/499 564/1014/500 -f 565/1016/501 567/1019/503 522/1017/458 -f 567/1019/503 568/1482/504 523/1020/459 -f 568/1021/504 419/838/361 524/1022/460 -f 447/868/389 421/840/363 423/842/365 -f 570/1025/506 745/1483/696 439/1484/745 -f 439/1484/745 436/857/378 570/1025/506 -f 436/857/378 438/859/380 570/1025/506 -f 441/862/383 527/962/463 571/1027/508 -f 483/1028/422 528/963/464 530/965/466 -f 572/1033/509 545/988/481 445/866/387 -f 485/908/424 484/907/423 573/1034/510 -f 573/1034/510 484/907/423 556/1001/492 -f 415/834/357 571/1029/508 556/1001/492 -f 571/1029/508 527/1485/463 572/1033/509 -f 575/1038/512 574/1043/511 543/984/479 -f 443/1040/385 557/1003/493 547/1041/483 -f 446/1039/388 543/984/479 557/1003/493 -f 534/973/470 433/854/375 543/984/479 -f 576/1044/513 493/969/429 532/968/468 -f 578/1046/515 611/1091/548 579/1047/516 -f 581/1049/518 628/1154/566 456/878/398 -f 464/1051/405 585/1054/522 583/1052/520 -f 585/1054/522 587/1486/524 586/1055/523 -f 587/1056/524 569/1024/505 423/842/365 -f 588/1058/525 596/1069/533 589/1059/526 -f 590/1060/527 589/1059/526 591/1061/528 -f 592/1063/529 591/1072/528 421/840/363 -f 584/1053/521 583/1052/520 593/1064/530 -f 583/1066/520 586/1057/523 595/1067/532 -f 586/1057/523 423/842/365 422/841/364 -f 596/1069/533 602/1079/539 597/1070/534 -f 589/1059/526 597/1070/534 598/1071/535 -f 591/1072/528 598/1487/535 450/1073/392 -f 599/1074/536 594/1065/531 593/1064/530 -f 600/1075/537 593/1064/530 595/1076/532 -f 601/1078/538 595/1488/532 422/873/364 -f 578/1046/515 580/1048/517 597/1070/534 -f 580/1048/517 603/1137/540 598/1071/535 -f 603/1080/540 636/1142/575 450/871/392 -f 600/1082/537 466/889/407 604/1083/541 -f 606/1085/543 605/1123/542 607/1086/544 -f 607/1086/544 605/1123/542 609/1088/546 -f 610/1090/547 609/1489/546 454/876/396 -f 611/1091/548 617/1101/554 612/1092/549 -f 612/1092/549 614/1104/551 613/1093/550 -f 614/1094/551 461/1430/402 452/874/394 -f 608/1087/545 607/1086/544 615/1096/552 -f 607/1086/544 610/1089/547 616/1098/553 -f 610/1099/547 453/885/395 462/884/403 -f 617/1101/554 425/1128/367 618/1102/555 -f 612/1092/549 618/1102/555 619/1103/556 -f 614/1105/551 619/1131/556 481/904/420 -f 492/1097/428 615/1096/552 620/1106/557 -f 615/1108/552 616/1100/553 621/1109/559 -f 616/1100/553 462/884/403 482/905/421 -f 569/1024/505 587/1056/524 623/1113/561 -f 587/1056/524 480/1111/419 623/1113/561 -f 590/1490/527 592/1491/529 625/1116/563 -f 592/1491/529 476/1114/416 625/1116/563 -f 588/1058/525 590/1060/527 625/1117/563 -f 463/1121/404 670/1492/615 480/1493/419 -f 480/1493/419 587/1119/524 463/1121/404 -f 627/1122/565 754/1494/703 476/1495/416 -f 476/1495/416 592/1063/529 627/1122/565 -f 605/1123/542 606/1085/543 599/1124/536 -f 580/1048/517 579/1047/516 628/1126/566 -f 425/1128/367 488/1496/739 629/1129/567 -f 618/1102/555 629/1129/567 630/1130/568 -f 619/1131/556 630/1497/568 487/1132/569 -f 603/1080/540 632/1498/571 635/1141/574 -f 632/1143/571 631/1133/570 637/1144/576 -f 631/1133/570 581/1049/518 582/1050/519 -f 455/877/397 466/889/407 634/1140/573 -f 638/1146/577 634/1140/573 633/1139/572 -f 639/1148/578 633/1499/572 601/1078/538 -f 636/1142/575 635/1141/574 639/1148/578 -f 635/1141/574 637/1500/576 638/1149/577 -f 637/1144/576 582/1050/519 455/877/397 -f 613/1158/550 452/1165/394 644/1159/583 -f 640/1151/579 644/1159/583 645/1160/584 -f 641/1152/580 645/1160/584 456/878/398 -f 457/879/399 646/1161/585 642/1155/581 -f 646/1161/585 647/1162/586 643/1156/582 -f 647/1162/586 454/1164/396 609/1163/546 -f 454/1164/396 647/1162/586 644/1159/583 -f 647/1162/586 646/1161/585 645/1160/584 -f 646/1161/585 457/879/399 456/878/398 -f 648/1166/587 656/1184/601 402/1167/588 -f 649/1169/590 650/1501/593 406/1170/591 -f 650/1172/593 661/1192/606 398/1173/594 -f 651/1175/595 648/1187/587 401/1176/589 -f 652/1178/597 658/1189/603 653/1179/598 -f 653/1181/598 472/895/413 655/1182/600 -f 656/1184/601 648/1166/587 657/1185/602 -f 648/1187/587 651/1175/595 473/896/414 -f 658/1189/603 626/1118/564 659/1190/604 -f 653/1181/598 659/1502/604 470/893/411 -f 650/1172/593 738/1503/687 660/1191/605 -f 662/1193/607 673/1210/618 663/1194/608 -f 738/1504/687 650/1505/593 649/1196/590 -f 649/1196/590 767/1506/744 665/1197/610 -f 767/1506/744 662/1507/607 664/1508/609 -f 665/1197/610 767/1506/744 742/1509/746 -f 664/1508/609 742/1509/746 767/1506/744 -f 739/1510/747 738/1504/687 649/1196/590 -f 666/1198/611 739/1510/747 649/1196/590 -f 652/1199/597 654/1511/599 667/1200/612 -f 654/1183/599 655/1182/600 669/1202/614 -f 473/896/414 480/903/419 670/1204/615 -f 670/1204/615 463/1512/404 465/1205/406 -f 470/893/411 659/1502/604 624/1206/562 -f 624/1115/562 659/1513/604 626/1207/564 -f 671/1208/616 661/1192/606 660/1191/605 -f 769/1514/148 770/1515/748 663/1194/608 -f 669/1202/614 655/1182/600 674/1211/148 -f 655/1182/600 750/1321/616 747/1516/148 -f 674/1211/148 655/1182/600 747/1516/148 -f 769/1514/148 663/1194/608 673/1210/618 -f 674/1211/148 769/1514/148 673/1210/618 -f 413/832/619 678/1216/624 675/1212/620 -f 413/832/619 676/1213/621 677/1214/622 -f 551/1215/623 675/1212/620 678/1216/624 -f 552/1218/488 551/1517/487 679/1219/625 -f 412/831/354 680/1518/626 679/1217/625 -f 681/1221/628 682/1519/632 677/1222/629 -f 681/1221/628 676/1223/630 675/1224/631 -f 682/1225/632 549/1520/485 548/1226/484 -f 683/1228/633 768/1521/734 684/1229/634 -f 686/1231/636 683/1228/633 685/1230/635 -f 688/1233/638 705/1253/654 689/1234/639 -f 691/1236/641 707/1255/656 692/1237/642 -f 690/1239/640 689/1285/639 694/1240/643 -f 696/1242/645 686/1231/636 687/1232/637 -f 695/1241/644 694/1240/643 698/1244/647 -f 699/1245/648 698/1244/647 700/1246/649 -f 692/1237/642 709/1297/658 702/1248/651 -f 702/1248/651 711/1522/660 684/1249/634 -f 684/1249/634 768/1523/734 693/1238/642 -f 693/1238/642 692/1237/642 702/1248/651 -f 703/1250/652 696/1524/645 697/1251/646 -f 703/1250/652 704/1252/653 705/1253/654 -f 706/1254/655 735/1296/684 707/1255/656 -f 708/1256/657 710/1259/659 702/1257/651 -f 710/1259/659 712/1294/661 711/1260/660 -f 712/1261/661 685/1230/635 684/1229/634 -f 713/1263/662 737/1525/686 460/1264/401 -f 714/1265/663 460/1264/401 715/1266/664 -f 716/1268/665 715/1526/664 700/1246/649 -f 717/1269/666 733/1292/682 718/1270/667 -f 719/1271/668 718/1270/667 720/1272/669 -f 721/1274/670 720/1293/669 704/1252/653 -f 717/1269/666 719/1271/668 722/1275/671 -f 719/1271/668 721/1273/670 724/1277/673 -f 724/1278/673 721/1527/670 697/1243/646 -f 725/1279/674 734/1295/683 726/1280/675 -f 727/1281/676 726/1280/675 728/1282/677 -f 728/1284/677 694/1240/643 689/1285/639 -f 725/1279/674 727/1281/676 730/1287/679 -f 727/1281/676 729/1283/678 732/1289/681 -f 729/1290/678 689/1234/639 705/1253/654 -f 731/1288/680 730/1287/679 718/1270/667 -f 730/1287/679 732/1289/681 720/1272/669 -f 732/1291/681 705/1253/654 704/1252/653 -f 723/1276/672 722/1275/671 710/1259/659 -f 710/1259/659 722/1275/671 724/1277/673 -f 712/1261/661 724/1278/673 687/1232/637 -f 694/1240/643 728/1284/677 716/1268/665 -f 728/1282/677 726/1280/675 714/1265/663 -f 714/1265/663 726/1280/675 734/1295/683 -f 706/1254/655 459/881/400 458/880/400 -f 709/1297/658 692/1237/642 707/1255/656 -f 737/1299/686 771/1528/749 735/1296/684 -f 735/1296/684 771/1528/749 736/1298/685 -f 731/1288/143 733/1292/143 708/1256/143 -f 733/1292/143 717/1269/750 723/1276/751 -f 708/1256/143 733/1292/143 723/1276/751 -f 708/1256/143 709/1258/143 736/1529/143 -f 736/1529/143 771/1530/143 708/1256/143 -f 771/1530/143 737/1525/143 713/1263/143 -f 708/1256/143 771/1530/143 713/1263/143 -f 713/1263/143 734/1295/143 731/1288/143 -f 734/1295/143 725/1279/752 731/1288/143 -f 740/1302/689 672/1531/617 660/1532/605 -f 660/1532/605 738/1300/687 740/1302/689 -f 664/1305/609 663/1533/608 741/1303/690 -f 663/1533/608 770/1534/748 741/1303/690 -f 743/1306/692 740/1535/689 739/1307/688 -f 744/1309/694 665/1312/695 742/1310/691 -f 744/1309/694 743/1306/692 666/1308/693 -f 576/1044/513 577/1045/514 746/1315/697 -f 577/1045/514 526/961/462 746/1315/697 -f 746/1315/697 542/983/478 576/1044/513 -f 526/961/462 440/861/382 570/1313/506 -f 751/1536/698 671/1537/616 748/1319/148 -f 671/1537/616 672/1317/617 748/1319/148 -f 747/1318/148 750/1538/616 766/1539/148 -f 750/1538/616 749/1540/698 766/1539/148 -f 747/1318/148 766/1539/148 748/1319/148 -f 750/1321/616 655/1182/600 472/895/413 -f 472/895/413 471/894/412 750/1321/616 -f 407/1323/699 398/1173/594 671/1208/616 -f 398/1173/594 661/1192/606 671/1208/616 -f 474/897/412 651/1175/595 395/1177/596 -f 471/1327/702 478/1541/753 752/1325/700 -f 478/1541/753 477/1330/417 752/1325/700 -f 754/1328/703 627/1542/565 755/1329/704 -f 627/1542/565 757/1543/706 755/1329/704 -f 755/1329/704 752/1325/700 477/1330/417 -f 449/1544/391 759/1335/705 757/1333/706 -f 759/1335/705 756/1331/705 757/1333/706 -f 758/1334/148 761/1337/148 756/1331/705 -f 760/1336/707 762/1338/708 761/1337/148 -f 448/1339/390 623/1545/561 762/1338/708 -f 623/1545/561 763/1546/709 762/1338/708 -f 622/1342/560 479/1547/418 763/1340/709 -f 479/1547/418 764/1345/711 763/1340/709 -f 408/1348/714 765/1347/713 396/1344/710 -f 765/1347/713 764/1345/711 396/1344/710 -f 764/1345/711 479/1547/418 475/1548/710 -f 475/1548/710 474/1349/715 393/1343/710 -f 474/1349/715 394/1351/717 393/1343/710 -f 475/1548/710 393/1343/710 764/1345/711 -f 408/1348/714 407/1549/716 751/1346/712 -f 751/1346/712 748/1550/754 765/1347/713 -f 753/1551/144 752/1552/144 766/1353/144 -f 752/1552/144 755/1553/144 766/1353/144 -f 755/1553/144 756/1554/144 766/1353/144 -f 756/1554/144 761/1354/144 766/1353/144 -f 761/1354/144 762/1555/144 748/1352/144 -f 762/1555/144 763/1556/144 748/1352/144 -f 748/1352/144 763/1556/144 764/1557/144 -f 764/1557/144 765/1558/144 748/1352/144 -f 753/1326/701 766/1559/755 749/1355/718 -f 449/1358/143 448/1560/143 758/1356/143 -f 448/1560/143 760/1561/143 758/1356/143 -f 439/1359/719 571/1562/726 549/1360/485 -f 436/1362/720 681/1366/628 550/1363/486 -f 436/1362/720 439/1563/719 682/1365/632 -f 416/1367/722 483/1564/724 680/1368/626 -f 490/1370/723 552/1565/488 680/1371/626 -f 489/1364/721 550/1363/486 552/1373/488 -f 417/1375/725 414/1378/356 549/1376/485 -f 416/1367/722 412/1369/354 414/1378/356 -f 673/1379/618 703/1383/652 688/1380/638 -f 673/1379/618 662/1566/730 696/1382/645 -f 565/1384/727 699/1388/648 701/1385/650 -f 668/1387/729 695/1393/644 699/1388/648 -f 662/1389/730 767/1396/732 686/1390/636 -f 667/1392/731 690/1567/640 695/1393/644 -f 669/1381/614 688/1380/638 690/1394/640 -f 767/1396/732 564/1398/733 683/1397/633 -f 564/1398/733 563/1568/738 768/1399/734 -f 419/1400/735 568/1569/756 459/1401/400 -f 419/1400/735 706/1402/655 691/1403/641 -f 420/1404/736 691/1403/641 693/1405/642 -f 693/1405/642 768/1570/734 563/1407/738 -f 459/1401/400 568/1569/756 567/1408/728 -f 772/1571/233 773/1572/757 774/1573/758 -f 775/1574/759 776/1575/760 773/1576/757 -f 777/1577/761 778/1578/762 776/1575/760 -f 779/1579/763 780/1580/764 778/1578/762 -f 781/1581/147 782/1582/765 780/1580/764 -f 783/1583/766 784/1584/767 782/1585/765 -f 785/1586/768 786/1587/769 784/1584/767 -f 787/1588/770 788/1589/771 786/1587/769 -f 789/1590/232 790/1591/772 788/1589/771 -f 791/1592/700 792/1593/773 790/1594/772 -f 793/1595/704 794/1596/774 792/1593/773 -f 795/1597/705 796/1598/775 794/1596/774 -f 797/1599/148 798/1600/776 796/1598/775 -f 799/1601/708 800/1602/777 798/1603/776 -f 801/1604/143 802/1605/143 775/1606/143 -f 803/1607/143 787/1608/143 804/1609/143 -f 805/1610/709 806/1611/778 800/1602/777 -f 807/1612/711 774/1573/758 806/1611/778 -f 808/1613/144 809/1614/144 810/1615/144 -f 811/1616/779 774/1617/758 812/1618/780 -f 810/1619/781 806/1620/778 811/1616/779 -f 798/1621/776 810/1619/781 813/1622/782 -f 796/1623/775 813/1622/782 814/1624/783 -f 794/1625/774 814/1624/783 815/1626/784 -f 792/1627/773 815/1626/784 809/1628/785 -f 790/1629/772 809/1628/785 816/1630/786 -f 788/1631/771 816/1630/786 817/1632/787 -f 786/1633/769 817/1632/787 818/1634/788 -f 784/1635/767 818/1634/788 808/1636/789 -f 782/1637/765 808/1636/789 819/1638/790 -f 780/1639/764 819/1638/790 820/1640/791 -f 821/1641/792 780/1639/764 820/1640/791 -f 776/1642/760 821/1641/792 822/1643/793 -f 823/1644/794 776/1642/760 822/1643/793 -f 812/1618/780 773/1645/757 823/1644/794 -f 824/1646/232 802/1647/704 801/1648/232 -f 825/1649/148 802/1650/704 826/1651/704 -f 827/1652/709 828/1653/148 825/1649/148 -f 829/1654/233 804/1655/709 827/1656/709 -f 830/1657/761 803/1658/233 829/1654/233 -f 830/1659/761 831/1660/147 832/1661/761 -f 833/1662/147 834/1663/768 831/1660/147 -f 835/1664/768 801/1648/232 834/1665/768 -f 835/1666/143 830/1667/143 827/1668/143 -f 772/1571/233 775/1669/759 773/1572/757 -f 775/1574/759 777/1577/761 776/1575/760 -f 777/1577/761 779/1579/763 778/1578/762 -f 779/1579/763 781/1581/147 780/1580/764 -f 781/1581/147 783/1670/766 782/1582/765 -f 783/1583/766 785/1586/768 784/1584/767 -f 785/1586/768 787/1588/770 786/1587/769 -f 787/1588/770 789/1590/232 788/1589/771 -f 789/1590/232 791/1671/700 790/1591/772 -f 791/1592/700 793/1595/704 792/1593/773 -f 793/1595/704 795/1597/705 794/1596/774 -f 795/1597/705 797/1599/148 796/1598/775 -f 797/1599/148 799/1672/708 798/1600/776 -f 799/1601/708 805/1610/709 800/1602/777 -f 804/1609/143 785/1673/143 783/1674/143 -f 783/1674/143 781/1675/143 828/1676/143 -f 781/1675/143 779/1677/143 828/1676/143 -f 779/1677/143 777/1678/143 802/1605/143 -f 777/1678/143 775/1606/143 802/1605/143 -f 775/1606/143 772/1679/143 801/1604/143 -f 772/1679/143 807/1680/143 801/1604/143 -f 807/1680/143 805/1681/143 834/1682/143 -f 805/1681/143 799/1683/143 834/1682/143 -f 799/1683/143 797/1684/143 831/1685/143 -f 797/1684/143 795/1686/143 831/1685/143 -f 795/1686/143 793/1687/143 832/1688/143 -f 795/1686/143 832/1688/143 831/1685/143 -f 804/1609/143 783/1674/143 828/1676/143 -f 799/1683/143 831/1685/143 834/1682/143 -f 802/1605/143 828/1676/143 779/1677/143 -f 807/1680/143 834/1682/143 801/1604/143 -f 803/1607/143 832/1688/143 791/1689/143 -f 832/1688/143 793/1687/143 791/1689/143 -f 791/1689/143 789/1690/143 803/1607/143 -f 789/1690/143 787/1608/143 803/1607/143 -f 787/1608/143 785/1673/143 804/1609/143 -f 805/1610/709 807/1612/711 806/1611/778 -f 807/1612/711 772/1571/233 774/1573/758 -f 810/1615/144 811/1691/144 812/1692/144 -f 812/1692/144 823/1693/144 822/1694/144 -f 822/1694/144 821/1695/144 820/1696/144 -f 820/1696/144 819/1697/144 808/1613/144 -f 808/1613/144 818/1698/144 817/1699/144 -f 817/1699/144 816/1700/144 809/1614/144 -f 809/1614/144 815/1626/144 814/1624/144 -f 814/1624/144 813/1701/144 809/1614/144 -f 813/1701/144 810/1615/144 809/1614/144 -f 810/1615/144 812/1692/144 822/1694/144 -f 822/1694/144 820/1696/144 808/1613/144 -f 808/1613/144 817/1699/144 809/1614/144 -f 810/1615/144 822/1694/144 808/1613/144 -f 811/1616/779 806/1620/778 774/1617/758 -f 810/1619/781 800/1702/777 806/1620/778 -f 798/1621/776 800/1702/777 810/1619/781 -f 796/1623/775 798/1621/776 813/1622/782 -f 794/1625/774 796/1623/775 814/1624/783 -f 792/1627/773 794/1625/774 815/1626/784 -f 790/1629/772 792/1627/773 809/1628/785 -f 788/1631/771 790/1629/772 816/1630/786 -f 786/1633/769 788/1631/771 817/1632/787 -f 784/1635/767 786/1633/769 818/1634/788 -f 782/1637/765 784/1635/767 808/1636/789 -f 780/1639/764 782/1637/765 819/1638/790 -f 821/1641/792 778/1703/762 780/1639/764 -f 776/1642/760 778/1703/762 821/1641/792 -f 823/1644/794 773/1645/757 776/1642/760 -f 812/1618/780 774/1617/758 773/1645/757 -f 824/1646/232 826/1704/704 802/1647/704 -f 825/1649/148 828/1653/148 802/1650/704 -f 827/1652/709 804/1705/709 828/1653/148 -f 829/1654/233 803/1658/233 804/1655/709 -f 830/1657/761 832/1706/761 803/1658/233 -f 830/1659/761 833/1662/147 831/1660/147 -f 833/1662/147 835/1707/768 834/1663/768 -f 835/1664/768 824/1646/232 801/1648/232 -f 835/1666/143 833/1708/143 830/1667/143 -f 830/1667/143 829/1709/143 827/1668/143 -f 827/1668/143 825/1710/143 826/1711/143 -f 826/1711/143 824/1712/143 827/1668/143 -f 824/1712/143 835/1666/143 827/1668/143 -f 846/1713/144 847/1714/144 848/1715/144 -f 849/1716/795 850/1717/796 851/1718/796 -f 852/1719/797 848/1720/797 847/1721/797 -f 853/1722/143 854/1723/143 852/1724/143 -f 851/1718/796 855/1725/798 856/1726/798 -f 857/1727/799 853/1722/800 858/1728/799 -f 856/1726/798 857/1727/799 858/1728/799 -f 855/1729/232 850/1730/232 859/1731/232 -f 856/1732/233 858/1733/233 860/1734/233 -f 860/1735/801 846/1736/802 859/1737/801 -f 849/1738/803 859/1737/801 861/1739/803 -f 862/1740/233 863/1741/804 864/1742/804 -f 864/1743/804 865/1744/805 866/1745/805 -f 866/1745/805 867/1746/147 868/1747/147 -f 868/1747/147 869/1748/806 870/1749/806 -f 870/1749/806 871/1750/807 872/1751/807 -f 871/1752/807 873/1753/232 872/1754/807 -f 874/1755/232 875/1756/808 873/1753/232 -f 876/1757/808 877/1758/809 875/1759/808 -f 878/1760/809 879/1761/148 877/1758/809 -f 880/1762/148 881/1763/810 879/1761/148 -f 882/1764/143 869/1765/143 883/1766/143 -f 884/1767/143 885/1768/143 886/1769/143 -f 884/1770/810 887/1771/811 881/1763/810 -f 887/1772/811 888/1773/233 862/1740/233 -f 887/1774/144 889/1775/144 890/1776/144 -f 870/1777/812 891/1778/144 892/1779/812 -f 893/1780/808 889/1781/232 894/1782/808 -f 895/1783/809 894/1784/808 896/1785/809 -f 897/1786/148 896/1785/809 898/1787/148 -f 883/1788/810 898/1787/148 892/1789/810 -f 882/1790/811 892/1789/810 891/1791/811 -f 882/1792/811 899/1793/233 900/1794/233 -f 900/1794/233 901/1795/804 902/1796/804 -f 903/1797/805 902/1798/804 901/1799/804 -f 904/1800/147 905/1801/805 903/1797/805 -f 906/1802/806 907/1803/147 904/1800/147 -f 890/1804/807 885/1805/806 906/1802/806 -f 908/1806/232 890/1807/807 889/1781/232 -f 846/1713/144 909/1808/144 847/1714/144 -f 849/1716/795 861/1809/795 850/1717/796 -f 852/1719/797 854/1810/797 848/1720/797 -f 853/1722/143 910/1811/143 854/1723/143 -f 851/1718/796 850/1717/796 855/1725/798 -f 857/1727/799 910/1811/800 853/1722/800 -f 856/1726/798 855/1725/798 857/1727/799 -f 859/1731/232 846/1812/232 848/1813/232 -f 848/1813/232 854/1723/232 857/1814/232 -f 854/1723/232 910/1815/232 857/1814/232 -f 861/1816/232 859/1731/232 850/1730/232 -f 859/1731/232 848/1813/232 857/1814/232 -f 855/1729/232 859/1731/232 857/1814/232 -f 858/1733/233 853/1817/233 852/1818/233 -f 852/1818/233 847/1819/233 858/1733/233 -f 847/1819/233 909/1820/233 860/1734/233 -f 858/1733/233 847/1819/233 860/1734/233 -f 860/1734/233 849/1821/233 851/1822/233 -f 856/1732/233 860/1734/233 851/1822/233 -f 860/1735/801 909/1823/802 846/1736/802 -f 849/1738/803 860/1735/801 859/1737/801 -f 862/1740/233 888/1773/233 863/1741/804 -f 864/1743/804 863/1824/804 865/1744/805 -f 866/1745/805 865/1744/805 867/1746/147 -f 868/1747/147 867/1746/147 869/1748/806 -f 870/1749/806 869/1748/806 871/1750/807 -f 871/1752/807 874/1755/232 873/1753/232 -f 874/1755/232 876/1825/808 875/1756/808 -f 876/1757/808 878/1760/809 877/1758/809 -f 878/1760/809 880/1762/148 879/1761/148 -f 880/1762/148 884/1770/810 881/1763/810 -f 882/1764/143 871/1826/143 869/1765/143 -f 897/1827/143 883/1766/143 867/1828/143 -f 883/1766/143 869/1765/143 867/1828/143 -f 867/1828/143 865/1829/143 895/1830/143 -f 897/1827/143 867/1828/143 895/1830/143 -f 865/1829/143 863/1831/143 893/1832/143 -f 863/1831/143 888/1833/143 908/1834/143 -f 893/1832/143 863/1831/143 908/1834/143 -f 888/1833/143 911/1835/143 908/1834/143 -f 911/1835/143 884/1767/143 886/1769/143 -f 884/1767/143 880/1836/143 885/1768/143 -f 880/1836/143 878/1837/143 905/1838/143 -f 907/1839/143 880/1836/143 905/1838/143 -f 878/1837/143 876/1840/143 902/1841/143 -f 876/1840/143 874/1842/143 900/1843/143 -f 902/1841/143 876/1840/143 900/1843/143 -f 874/1842/143 871/1826/143 900/1843/143 -f 871/1826/143 882/1764/143 900/1843/143 -f 893/1832/143 895/1830/143 865/1829/143 -f 878/1837/143 902/1841/143 905/1838/143 -f 886/1769/143 908/1834/143 911/1835/143 -f 880/1836/143 907/1839/143 885/1768/143 -f 884/1770/810 911/1844/811 887/1771/811 -f 887/1772/811 911/1845/811 888/1773/233 -f 899/1846/144 891/1778/144 872/1847/144 -f 872/1847/144 873/1848/144 899/1846/144 -f 873/1848/144 875/1849/144 899/1846/144 -f 875/1849/144 877/1850/144 901/1851/144 -f 877/1850/144 879/1852/144 903/1853/144 -f 879/1852/144 881/1854/813 906/1855/813 -f 881/1854/813 887/1774/144 890/1776/144 -f 906/1855/813 881/1854/813 890/1776/144 -f 887/1774/144 862/1856/144 889/1775/144 -f 862/1856/144 864/1857/144 889/1775/144 -f 864/1857/144 866/1858/144 894/1859/144 -f 866/1858/144 868/1860/144 896/1861/144 -f 868/1860/144 870/1777/812 892/1779/812 -f 868/1860/144 892/1779/812 898/1862/144 -f 901/1851/144 899/1846/144 875/1849/144 -f 868/1860/144 898/1862/144 896/1861/144 -f 866/1858/144 896/1861/144 894/1859/144 -f 903/1853/144 901/1851/144 877/1850/144 -f 864/1857/144 894/1859/144 889/1775/144 -f 904/1863/144 903/1853/144 879/1852/144 -f 906/1855/813 904/1863/144 879/1852/144 -f 870/1777/812 872/1847/144 891/1778/144 -f 893/1780/808 908/1806/232 889/1781/232 -f 895/1783/809 893/1864/808 894/1784/808 -f 897/1786/148 895/1783/809 896/1785/809 -f 883/1788/810 897/1786/148 898/1787/148 -f 882/1790/811 883/1788/810 892/1789/810 -f 882/1792/811 891/1865/811 899/1793/233 -f 900/1794/233 899/1793/233 901/1795/804 -f 903/1797/805 905/1801/805 902/1798/804 -f 904/1800/147 907/1803/147 905/1801/805 -f 906/1802/806 885/1805/806 907/1803/147 -f 890/1804/807 886/1866/807 885/1805/806 -f 908/1806/232 886/1867/807 890/1807/807 -f 912/1868/144 913/1869/144 914/1870/144 -f 915/1871/232 916/1872/232 917/1873/232 -f 918/1874/233 919/1875/233 920/1876/233 -f 921/1877/814 922/1878/814 923/1879/814 -f 924/1880/815 925/1881/816 926/1882/817 -f 927/1883/818 914/1884/818 913/1885/818 -f 928/1886/143 929/1887/143 927/1888/143 -f 926/1882/817 930/1889/798 931/1890/798 -f 932/1891/799 928/1886/800 933/1892/799 -f 931/1890/798 932/1891/799 933/1892/799 -f 930/1893/232 925/1894/232 934/1895/232 -f 935/1896/819 936/1897/819 937/1898/819 -f 933/1899/233 913/1900/233 918/1874/233 -f 938/1901/820 939/1902/820 940/1903/821 -f 941/1904/820 942/1905/822 943/1906/823 -f 924/1907/820 944/1908/820 936/1909/824 -f 917/1910/820 921/1911/820 945/1912/820 -f 946/1913/820 947/1914/820 948/1915/825 -f 918/1916/825 936/1909/824 944/1908/820 -f 935/1917/825 915/1918/826 934/1919/820 -f 949/1920/827 950/1921/827 938/1922/827 -f 916/1923/828 951/1924/828 952/1925/828 -f 953/1926/829 941/1927/829 919/1928/829 -f 920/1876/830 954/1929/830 955/1930/830 -f 951/1931/831 949/1920/832 938/1922/832 -f 952/1925/833 956/1932/834 957/1933/835 -f 953/1926/833 942/1934/822 941/1927/833 -f 941/1935/836 920/1876/837 919/1875/836 -f 939/1936/838 950/1937/838 958/1938/838 -f 955/1939/839 959/1940/838 960/1941/838 -f 917/1942/840 952/1925/840 921/1877/840 -f 947/1943/841 953/1926/841 919/1928/841 -f 935/1944/842 949/1920/842 915/1871/842 -f 920/1876/843 936/1945/843 918/1874/843 -f 912/1946/820 945/1912/820 921/1911/820 -f 959/1947/844 961/1948/845 960/1949/844 -f 962/1950/846 961/1948/845 943/1951/823 -f 963/1952/847 962/1953/846 964/1954/848 -f 923/1955/148 965/1956/849 963/1952/847 -f 923/1955/148 966/1957/850 937/1958/148 -f 922/1959/851 967/1960/852 966/1957/850 -f 968/1961/853 957/1962/835 940/1963/821 -f 969/1964/854 939/1965/855 958/1966/855 -f 912/1868/144 970/1967/144 913/1869/144 -f 915/1871/232 949/1920/232 916/1872/232 -f 918/1874/233 947/1968/233 919/1875/233 -f 964/1969/814 971/1970/856 953/1926/814 -f 953/1926/814 946/1971/814 964/1969/814 -f 946/1971/814 921/1877/814 923/1879/814 -f 964/1969/814 946/1971/814 963/1972/814 -f 921/1877/814 952/1925/814 968/1973/857 -f 952/1925/814 957/1933/857 968/1973/857 -f 963/1972/814 946/1971/814 923/1879/814 -f 921/1877/814 968/1973/857 922/1878/814 -f 924/1880/815 972/1974/858 925/1881/816 -f 927/1883/818 929/1975/818 914/1884/818 -f 928/1886/143 973/1976/143 929/1887/143 -f 926/1882/817 925/1881/816 930/1889/798 -f 932/1891/799 973/1976/800 928/1886/800 -f 931/1890/798 930/1889/798 932/1891/799 -f 945/1977/232 912/1978/232 914/1979/232 -f 914/1979/232 929/1980/232 932/1981/232 -f 929/1980/232 973/1982/232 932/1981/232 -f 917/1873/232 945/1977/232 914/1979/232 -f 934/1895/232 915/1871/232 932/1981/232 -f 915/1871/232 917/1873/232 914/1979/232 -f 925/1894/232 972/1983/232 934/1895/232 -f 914/1979/232 932/1981/232 915/1871/232 -f 932/1981/232 930/1893/232 934/1895/232 -f 969/1984/819 958/1938/819 950/1937/819 -f 936/1897/819 955/1939/819 961/1985/819 -f 955/1939/819 960/1941/859 961/1985/819 -f 969/1984/819 950/1937/819 935/1896/819 -f 967/1986/819 969/1984/819 935/1896/819 -f 936/1897/819 961/1985/819 962/1987/819 -f 936/1897/819 962/1987/819 965/1988/819 -f 966/1989/819 967/1986/819 935/1896/819 -f 936/1897/819 965/1988/819 937/1898/819 -f 937/1898/819 966/1989/819 935/1896/819 -f 933/1899/233 928/1990/233 927/1991/233 -f 927/1991/233 913/1900/233 933/1899/233 -f 913/1900/233 970/1992/233 948/1993/233 -f 947/1968/233 913/1900/233 948/1993/233 -f 947/1968/233 918/1874/233 913/1900/233 -f 918/1874/233 944/1994/233 933/1899/233 -f 944/1994/233 924/1995/233 926/1996/233 -f 931/1997/233 933/1899/233 944/1994/233 -f 944/1994/233 926/1996/233 931/1997/233 -f 940/1903/821 956/1998/834 951/1999/820 -f 951/1999/820 938/1901/820 940/1903/821 -f 943/1906/823 959/2000/820 954/2001/820 -f 954/2001/820 941/1904/820 943/1906/823 -f 936/1909/824 935/1917/825 924/1907/820 -f 935/1917/825 934/1919/820 972/2002/820 -f 924/1907/820 935/1917/825 972/2002/820 -f 951/1931/831 916/1872/831 949/1920/832 -f 952/1925/833 951/1924/833 956/1932/834 -f 953/1926/833 971/1970/860 942/1934/822 -f 941/1935/836 954/1929/837 920/1876/837 -f 939/1936/838 938/2003/839 950/1937/838 -f 955/1939/839 954/2004/839 959/1940/838 -f 917/1942/840 916/1923/840 952/1925/840 -f 947/1943/841 946/1971/841 953/1926/841 -f 935/1944/842 950/1921/842 949/1920/842 -f 920/1876/843 955/1930/843 936/1945/843 -f 921/1911/820 946/1913/820 912/1946/820 -f 946/1913/820 948/1915/825 970/2005/820 -f 912/1946/820 946/1913/820 970/2005/820 -f 959/1947/844 943/1951/823 961/1948/845 -f 942/2006/822 971/2007/860 943/1951/823 -f 971/2007/860 964/2008/848 943/1951/823 -f 964/2008/848 962/1950/846 943/1951/823 -f 963/1952/847 965/1956/849 962/1953/846 -f 923/1955/148 937/1958/148 965/1956/849 -f 923/1955/148 922/1959/851 966/1957/850 -f 922/1959/851 968/2009/853 967/1960/852 -f 956/2010/834 940/1963/821 957/1962/835 -f 940/1963/821 969/1964/854 967/2011/852 -f 968/1961/853 940/1963/821 967/2011/852 -f 969/1964/854 940/1963/821 939/1965/855 -f 974/2012/753 975/2013/753 976/2014/861 -f 977/2015/753 978/2016/753 979/2017/862 -f 980/2018/704 981/2019/863 982/2020/864 -f 983/2021/700 979/2017/862 984/2022/864 -f 985/2023/705 986/2024/865 987/2025/866 -f 988/2026/148 989/2027/867 990/2028/868 -f 991/2029/868 992/2030/868 993/2031/148 -f 994/2032/869 995/2033/869 988/2034/148 -f 996/2035/708 997/2036/869 998/2037/870 -f 999/2038/709 1000/2039/871 1001/2040/871 -f 980/2041/143 1002/2042/143 975/2043/143 -f 1003/2044/709 1004/2045/711 999/2038/709 -f 1005/2046/710 1006/2047/710 1004/2045/711 -f 1006/2048/144 1007/2049/144 993/2050/144 -f 1008/2051/872 1001/2052/873 1000/2053/874 -f 1009/2054/875 1010/2055/876 1011/2056/877 -f 1012/2057/878 1013/2058/879 1014/2059/880 -f 1015/2060/881 1016/2061/882 1017/2062/883 -f 1017/2063/883 1013/2064/879 1018/2065/884 -f 991/2066/885 1009/2054/875 1019/2067/886 -f 1020/2068/887 984/2069/888 979/2070/889 -f 1020/2068/887 1021/2071/890 984/2069/888 -f 1022/2072/891 974/2073/892 976/2074/893 -f 1011/2075/866 1023/2076/705 1024/2077/704 -f 981/2078/894 1025/2079/895 982/2080/896 -f 1026/2081/897 1027/2082/898 990/2083/899 -f 1028/2084/900 1015/2060/881 1029/2085/901 -f 1030/2086/902 974/2073/892 1022/2072/891 -f 1027/2082/898 986/2087/903 990/2083/899 -f 1031/2088/904 1032/2089/905 1033/2090/906 -f 1034/2091/907 1032/2092/905 994/2093/908 -f 1035/2094/909 998/2095/870 997/2096/910 -f 1009/2054/875 1021/2071/890 1020/2068/887 -f 1035/2094/909 1029/2085/901 1015/2060/881 -f 1019/2067/886 1020/2068/887 1029/2085/901 -f 1026/2081/897 1025/2079/895 1027/2082/898 -f 1012/2097/878 1031/2088/904 1018/2065/884 -f 981/2078/894 1027/2082/898 1025/2079/895 -f 1032/2092/905 1022/2072/891 1026/2081/897 -f 1008/2051/872 1015/2098/881 1017/2063/883 -f 1018/2065/884 1008/2051/872 1017/2063/883 -f 1008/2051/872 1000/2053/874 998/2099/870 -f 1030/2100/753 975/2013/753 974/2012/753 -f 975/2013/753 1002/2101/700 976/2014/861 -f 979/2017/862 983/2021/700 977/2015/753 -f 983/2021/700 1007/2102/753 977/2015/753 -f 977/2015/753 1036/2103/753 978/2016/753 -f 976/2014/861 1002/2101/700 982/2020/864 -f 1002/2101/700 980/2018/704 982/2020/864 -f 984/2022/864 1021/2104/911 1024/2077/704 -f 1024/2077/704 983/2021/700 984/2022/864 -f 987/2025/866 981/2019/863 980/2018/704 -f 980/2018/704 985/2023/705 987/2025/866 -f 986/2024/865 985/2023/705 990/2028/868 -f 985/2023/705 988/2026/148 990/2028/868 -f 992/2030/868 1037/2105/912 993/2031/148 -f 993/2031/148 1023/2076/705 991/2029/868 -f 1023/2076/705 1010/2106/913 991/2029/868 -f 989/2107/867 988/2034/148 995/2033/869 -f 988/2034/148 1038/2108/708 994/2032/869 -f 1038/2108/708 1039/2109/914 1033/2110/915 -f 1033/2110/915 1034/2111/869 1038/2108/708 -f 1034/2111/869 994/2032/869 1038/2108/708 -f 1040/2112/916 1041/2113/917 996/2035/708 -f 996/2035/708 993/2114/148 1042/2115/869 -f 993/2114/148 1037/2116/912 1042/2115/869 -f 998/2037/870 1040/2112/916 996/2035/708 -f 996/2035/708 1042/2115/869 997/2036/869 -f 1001/2040/871 1039/2109/914 1003/2044/709 -f 1039/2109/914 1038/2108/708 1003/2044/709 -f 1003/2044/709 999/2038/709 1001/2040/871 -f 999/2038/709 996/2035/708 1041/2113/917 -f 999/2038/709 1041/2113/917 1000/2039/871 -f 975/2043/143 1043/2117/143 988/2118/143 -f 1043/2117/143 1044/2119/143 1003/2120/143 -f 975/2043/143 988/2118/143 985/2121/143 -f 1003/2120/143 1038/2122/143 1043/2117/143 -f 1038/2122/143 988/2118/143 1043/2117/143 -f 985/2121/143 980/2041/143 975/2043/143 -f 1003/2044/709 1044/2123/711 1004/2045/711 -f 1004/2045/711 1044/2123/711 1005/2046/710 -f 1044/2123/711 1043/2124/710 1005/2046/710 -f 1007/2049/144 983/2125/144 1024/2126/144 -f 1024/2126/144 1023/2127/144 1007/2049/144 -f 1023/2127/144 993/2050/144 1007/2049/144 -f 993/2050/144 996/2128/144 1006/2048/144 -f 996/2128/144 999/2129/144 1006/2048/144 -f 999/2129/144 1004/2130/144 1006/2048/144 -f 1008/2051/872 1031/2088/904 1001/2052/873 -f 1009/2054/875 991/2066/885 1010/2055/876 -f 1012/2057/878 1018/2131/884 1013/2058/879 -f 1015/2060/881 1028/2084/900 1016/2061/882 -f 1017/2063/883 1016/2132/882 1013/2064/879 -f 1042/2133/918 1037/2134/919 1019/2067/886 -f 1037/2134/919 992/2135/920 1019/2067/886 -f 992/2135/920 991/2066/885 1019/2067/886 -f 978/2136/921 1029/2085/901 979/2070/889 -f 1029/2085/901 1020/2068/887 979/2070/889 -f 982/2080/896 1025/2079/895 976/2074/893 -f 1025/2079/895 1022/2072/891 976/2074/893 -f 1024/2077/704 1021/2104/911 1011/2075/866 -f 1011/2075/866 1010/2106/913 1023/2076/705 -f 990/2083/899 989/2137/922 1026/2081/897 -f 989/2137/922 995/2138/923 1026/2081/897 -f 995/2138/923 994/2093/908 1026/2081/897 -f 978/2136/921 1036/2139/924 1029/2085/901 -f 1036/2139/924 1028/2084/900 1029/2085/901 -f 1012/2057/878 1014/2059/880 1022/2072/891 -f 1014/2059/880 1030/2086/925 1022/2072/891 -f 1027/2082/898 987/2140/926 986/2087/903 -f 1033/2090/906 1039/2141/927 1001/2052/873 -f 1001/2052/873 1031/2088/904 1033/2090/906 -f 1033/2142/906 1032/2092/905 1034/2091/907 -f 1032/2092/905 1026/2081/897 994/2093/908 -f 1042/2133/918 1019/2067/886 997/2096/910 -f 1019/2067/886 1035/2094/909 997/2096/910 -f 1009/2054/875 1011/2056/877 1021/2071/890 -f 1035/2094/909 1019/2067/886 1029/2085/901 -f 1019/2067/886 1009/2054/875 1020/2068/887 -f 1026/2081/897 1022/2072/891 1025/2079/895 -f 1012/2097/878 1032/2089/905 1031/2088/904 -f 981/2078/894 987/2140/926 1027/2082/898 -f 1032/2092/905 1012/2057/878 1022/2072/891 -f 1008/2051/872 1035/2143/909 1015/2098/881 -f 1018/2065/884 1031/2088/904 1008/2051/872 -f 1041/2144/928 1040/2145/916 1000/2053/874 -f 1040/2145/916 998/2099/870 1000/2053/874 -f 998/2099/870 1035/2143/909 1008/2051/872 diff --git a/src/main/resources/assets/hbm/models/weapons/rem700poly.obj b/src/main/resources/assets/hbm/models/weapons/rem700poly.obj deleted file mode 100644 index d7f4609cd..000000000 --- a/src/main/resources/assets/hbm/models/weapons/rem700poly.obj +++ /dev/null @@ -1,9112 +0,0 @@ -# Blender v2.79 (sub 0) OBJ File: '' -# www.blender.org -o Gun -v 4.706267 0.104797 0.082172 -v 4.706258 0.129470 -0.105890 -v 4.706258 0.129470 0.105890 -v 3.476865 0.128976 -0.105890 -v 3.553361 0.104332 -0.082172 -v 3.476875 0.104302 -0.082172 -v 3.616845 0.129033 -0.105890 -v 3.666737 0.104378 -0.082172 -v 3.616855 0.104359 -0.082172 -v 3.730220 0.129078 -0.105890 -v 3.780113 0.104424 -0.082172 -v 3.730230 0.104404 -0.082172 -v 3.843596 0.129124 -0.105890 -v 3.893488 0.104469 -0.082172 -v 3.843606 0.104449 -0.082172 -v 3.956971 0.129170 -0.105890 -v 3.999305 0.104513 -0.082172 -v 3.956981 0.104495 -0.082172 -v 4.062789 0.129213 -0.105890 -v 4.112680 0.104557 -0.082172 -v 4.062798 0.104538 -0.082172 -v 4.176163 0.129259 -0.105890 -v 4.226057 0.104603 -0.082172 -v 4.176174 0.104584 -0.082172 -v 4.289539 0.129303 -0.105890 -v 4.339432 0.104649 -0.082172 -v 4.289549 0.104629 -0.082172 -v 4.402915 0.129349 -0.105890 -v 4.452806 0.104694 -0.082172 -v 4.402925 0.104674 -0.082172 -v 4.516291 0.129395 -0.105890 -v 4.566182 0.104740 -0.082172 -v 4.516301 0.104720 -0.082172 -v 4.629677 0.104765 -0.082172 -v 4.629666 0.129440 -0.105890 -v 3.476865 0.128976 0.105890 -v 3.730230 0.104403 0.082172 -v 3.780103 0.129099 0.105890 -v 3.730220 0.129078 0.105890 -v 3.956981 0.104495 0.082172 -v 3.999296 0.129186 0.105890 -v 3.956971 0.129170 0.105890 -v 4.176174 0.104584 0.082172 -v 4.226046 0.129278 0.105890 -v 4.176163 0.129258 0.105890 -v 4.402925 0.104674 0.082172 -v 4.452797 0.129369 0.105890 -v 4.402915 0.129349 0.105890 -v 4.516301 0.104720 0.082172 -v 4.566173 0.129415 0.105890 -v 4.516291 0.129395 0.105890 -v 4.629677 0.104765 0.082172 -v 4.289539 0.129303 0.105890 -v 4.339432 0.104649 0.082172 -v 4.339422 0.129324 0.105890 -v 4.062789 0.129212 0.105890 -v 4.112680 0.104557 0.082172 -v 4.112670 0.129232 0.105890 -v 3.843596 0.129124 0.105890 -v 3.893488 0.104469 0.082172 -v 3.893478 0.129144 0.105890 -v 3.616845 0.129033 0.105890 -v 3.666737 0.104378 0.082172 -v 3.666727 0.129053 0.105890 -v 3.553361 0.104332 0.082172 -v 3.553352 0.129007 0.105890 -v 4.705925 0.154144 -0.082172 -v 3.477178 0.153650 0.082172 -v 4.705925 0.154144 0.082172 -v 3.616855 0.104359 0.082172 -v 3.843606 0.104449 0.082172 -v 4.062798 0.104538 0.082172 -v 4.289549 0.104629 0.082172 -v 4.566182 0.104740 0.082172 -v 4.706267 0.104797 -0.082172 -v 4.452806 0.104694 0.082172 -v 4.226057 0.104603 0.082172 -v 3.999305 0.104513 0.082172 -v 3.780113 0.104424 0.082172 -v 3.476875 0.104302 0.082172 -v 3.477178 0.153650 -0.082172 -v 4.112670 0.129232 -0.105890 -v 3.553352 0.129007 -0.105890 -v 3.666727 0.129053 -0.105890 -v 3.780103 0.129099 -0.105890 -v 3.893478 0.129144 -0.105890 -v 3.999296 0.129186 -0.105890 -v 4.226046 0.129278 -0.105890 -v 4.339422 0.129324 -0.105890 -v 4.452797 0.129369 -0.105890 -v 4.629666 0.129440 0.105890 -v 4.566173 0.129415 -0.105890 -v 1.606602 0.151114 -0.162025 -v 1.606602 0.156202 -0.181012 -v 4.811349 0.151169 -0.115921 -v 4.811349 0.151129 0.115891 -v 1.606602 0.170102 0.194912 -v 1.606602 0.189089 0.200000 -v 3.784024 0.459608 0.190078 -v 0.002777 0.485521 0.181585 -v 3.788816 0.455314 0.192657 -v 4.300706 0.455298 0.191702 -v 4.385974 0.457861 0.189996 -v 4.304144 0.458378 0.189839 -v 4.500700 0.455292 0.191329 -v 4.587393 0.456590 0.190383 -v 4.502745 0.457124 0.190220 -v 4.701346 0.455871 0.190601 -v 4.700692 0.455285 0.190956 -v 4.794678 0.455282 0.190781 -v 4.105517 0.459608 0.189472 -v 4.100714 0.455304 0.192075 -v 4.184555 0.459132 0.189610 -v 3.984025 0.459608 0.189701 -v 3.905517 0.459608 0.189849 -v 3.988824 0.455308 0.192284 -v -0.652148 -0.175911 -0.158921 -v -0.781225 -0.521531 -0.191382 -v -0.709890 -0.174367 -0.191382 -v 0.102361 0.548013 -0.146003 -v 4.790087 0.539070 -0.151699 -v 0.094445 0.544443 -0.151699 -v -0.904415 0.063808 -0.107606 -v -0.729101 0.303485 -0.157024 -v -0.883343 0.063155 -0.157024 -v -0.588617 0.347114 0.181745 -v -0.524169 0.338439 0.200000 -v -0.498523 0.349840 0.199151 -v -0.825775 0.061369 -0.185616 -v -0.602876 0.285646 -0.200000 -v -0.747137 0.058928 -0.200000 -v -1.030166 -0.215186 -0.194616 -v -1.723649 0.233568 -0.200000 -v -1.525585 0.233583 -0.189934 -v -1.899859 0.307928 -0.131234 -v -1.974618 0.405289 -0.157549 -v -1.955425 0.410511 -0.131234 -v -0.872492 -0.077594 0.200000 -v -1.030166 -0.240186 0.200000 -v -0.779245 -0.142055 0.200000 -v -1.943992 0.281801 -0.179859 -v -1.765689 0.259674 -0.194765 -v -2.025486 0.259662 -0.194765 -v -2.606846 0.376321 -0.152448 -v -2.606846 0.363085 -0.155079 -v -2.606846 0.391395 -0.126807 -v -1.971869 -0.360096 0.171186 -v -1.404023 -0.360096 0.156779 -v -1.387873 -0.355275 0.177183 -v -1.974304 -0.351799 0.200000 -v -2.135819 0.234360 0.200000 -v -2.146957 0.236699 0.200000 -v -0.995345 -0.521531 -0.194209 -v -0.723166 -0.521531 -0.158921 -v -1.089359 -0.521531 -0.156779 -v -1.030166 -0.200186 -0.178464 -v -1.246213 0.233559 -0.122188 -v -1.206857 0.233560 -0.074735 -v -1.089359 -0.521531 0.156779 -v -1.256149 -0.386296 -0.156779 -v -0.435845 0.124934 0.113656 -v -0.586772 -0.081597 -0.113656 -v -0.435845 0.124934 -0.113656 -v 1.606602 0.170102 -0.194912 -v 4.222024 0.445507 -0.194095 -v 4.267518 0.445507 -0.194010 -v 4.796294 0.425787 -0.197533 -v -0.566326 0.372750 0.155653 -v -0.169181 0.455553 0.107606 -v -0.582352 0.374539 0.107606 -v -0.781225 -0.521531 0.191382 -v -0.652148 -0.175911 0.158921 -v -0.709890 -0.174367 0.191382 -v -0.860536 -0.521531 -0.200000 -v -0.788767 -0.172256 -0.200000 -v -0.860536 -0.521531 0.200000 -v -0.788767 -0.172256 0.200000 -v -0.502640 0.143579 -0.191382 -v -0.744519 -0.077364 -0.200000 -v -0.569310 0.162395 -0.200000 -v -0.607905 -0.081029 -0.158921 -v -0.453766 0.129899 -0.158921 -v -0.370495 0.170102 0.191573 -v -0.370495 0.170102 -0.191573 -v 1.606602 0.189089 -0.200000 -v -0.631013 -0.176475 0.113656 -v -0.701915 -0.521531 -0.113656 -v -0.631013 -0.176475 -0.113656 -v -0.665644 -0.079479 -0.191382 -v -0.904415 0.063808 0.107606 -v -0.748607 0.306273 -0.107606 -v -0.675771 0.295920 -0.185616 -v -0.323944 0.156202 -0.160118 -v -0.169181 0.455553 -0.107606 -v -0.566328 0.372750 -0.155653 -v -0.582353 0.374539 -0.107606 -v -0.169181 0.455553 -0.151534 -v -0.523779 0.367748 -0.183792 -v -1.030166 -0.180186 -0.151534 -v -0.925982 -0.076195 -0.183303 -v -0.729094 0.303494 0.157024 -v -0.883343 0.063155 0.157024 -v -1.030166 -0.207839 0.192186 -v -1.030166 -0.200186 0.187341 -v -0.723166 -0.521531 0.158921 -v -0.323944 0.156202 0.160118 -v 1.606602 0.156202 0.181012 -v -0.744519 -0.077364 0.200000 -v -0.502640 0.143579 0.191382 -v -0.569310 0.162395 0.200000 -v 1.606602 0.151114 0.162025 -v -0.077181 0.486986 0.147160 -v -0.169181 0.455553 0.150798 -v -0.077181 0.486986 0.150798 -v -0.665644 -0.079479 0.191382 -v -0.453766 0.129899 0.158921 -v -0.607905 -0.081029 0.158921 -v -0.602855 0.285675 0.200000 -v -0.825775 0.061368 0.182656 -v -0.747137 0.058927 0.200000 -v -0.675756 0.295940 0.182656 -v -0.925939 -0.076136 0.184170 -v -1.030166 -0.180186 0.151534 -v -1.030166 -0.205186 -0.183848 -v -0.872540 -0.077637 -0.200000 -v -0.523897 0.367719 0.180834 -v -0.169181 0.455553 0.151534 -v -0.964927 -0.074972 0.155249 -v -1.030166 -0.160186 0.107606 -v -0.636520 0.353382 -0.156339 -v -0.654298 0.355654 -0.107606 -v -0.715152 0.330666 -0.107606 -v -0.696099 0.328029 -0.156841 -v -0.588561 0.347126 -0.184704 -v -0.644194 0.320835 -0.185371 -v -1.837335 0.296590 0.157549 -v -1.870640 0.301786 0.131234 -v -1.889650 0.296589 0.157549 -v -0.524226 0.338418 -0.200000 -v -0.573584 0.310992 -0.200000 -v -0.169181 0.455553 -0.150798 -v -0.644202 0.320841 0.182412 -v -0.573559 0.311011 0.200000 -v -0.696096 0.328034 0.156840 -v -0.636518 0.353383 0.156339 -v -0.715151 0.330668 0.107606 -v -0.748605 0.306276 0.107606 -v -0.654298 0.355654 0.107606 -v -0.979169 -0.074480 -0.107606 -v -1.030166 -0.160186 -0.107606 -v -0.912727 0.019486 -0.156786 -v -0.932883 0.020118 -0.107606 -v -0.942589 -0.031073 -0.156137 -v -0.960245 -0.030499 -0.107606 -v -0.964928 -0.074973 -0.155249 -v -0.892580 -0.030341 -0.184074 -v -0.782392 0.015467 -0.200000 -v -0.859177 0.015514 -0.184845 -v -0.828293 -0.034520 -0.200000 -v -0.782386 0.015472 0.200000 -v -0.859163 0.015534 0.183161 -v -0.828269 -0.034498 0.200000 -v -0.892551 -0.030301 0.183665 -v -0.912727 0.019486 0.156786 -v -0.942589 -0.031072 0.156137 -v -0.932883 0.020118 0.107606 -v -0.960245 -0.030499 0.107606 -v -0.979169 -0.074480 0.107606 -v -0.411598 0.138024 -0.114007 -v -0.429337 0.143050 -0.159082 -v -0.364483 0.147607 -0.114966 -v -0.381819 0.152678 -0.159520 -v -0.307126 0.151114 -0.116275 -v -0.477842 0.156840 -0.191408 -v -0.495558 0.185513 -0.200000 -v -0.429474 0.166548 -0.191478 -v -0.436086 0.189089 -0.200000 -v -0.477842 0.156840 0.191408 -v -0.544321 0.175742 0.200000 -v -0.495558 0.185513 0.200000 -v -0.429474 0.166548 0.191477 -v -0.436086 0.189089 0.200000 -v -0.429337 0.143050 0.159082 -v -0.381819 0.152678 0.159520 -v -0.411598 0.138024 0.114007 -v -0.364483 0.147607 0.114965 -v -0.307126 0.151114 0.116275 -v -0.621493 -0.146279 -0.113656 -v -0.642628 -0.145714 -0.158921 -v -0.605300 -0.111551 -0.113656 -v -0.684174 -0.109436 -0.191382 -v -0.626433 -0.110984 -0.158921 -v -0.700369 -0.144168 -0.191382 -v -0.779245 -0.142055 -0.200000 -v -0.700369 -0.144168 0.191382 -v -0.763049 -0.107322 0.200000 -v -0.684174 -0.109436 0.191382 -v -0.642628 -0.145714 0.158921 -v -0.626433 -0.110984 0.158921 -v -0.621493 -0.146279 0.113656 -v -0.605300 -0.111551 0.113656 -v -0.586772 -0.081597 0.113656 -v -0.498847 0.349847 -0.199209 -v -0.169181 0.455553 -0.178464 -v -0.488338 0.363189 -0.194095 -v -0.129738 0.455584 -0.199936 -v 4.797733 0.399525 -0.200000 -v 4.222024 0.445507 0.194090 -v 4.195154 0.449637 0.193195 -v 4.094388 0.449637 0.193384 -v 0.002777 0.485521 -0.181585 -v 3.784024 0.476489 -0.183333 -v 3.784024 0.461641 -0.188850 -v 4.794679 0.455258 -0.190792 -v 4.701320 0.455847 -0.190613 -v 4.705517 0.459608 -0.189214 -v 4.505517 0.476490 -0.183026 -v 4.584024 0.476490 -0.182993 -v 4.584024 0.459608 -0.189266 -v 4.384025 0.459608 -0.189351 -v 4.305517 0.459608 -0.189384 -v 4.305517 0.476490 -0.183111 -v 4.184024 0.459608 -0.189436 -v 4.105517 0.476490 -0.183196 -v 4.184024 0.476490 -0.183163 -v 3.984025 0.476490 -0.183248 -v 3.905517 0.476489 -0.183281 -v 3.989015 0.480960 -0.181585 -v -0.486419 0.362960 0.193666 -v -0.169181 0.455553 0.175504 -v 0.208358 0.539514 0.155438 -v 4.790087 0.539070 0.151699 -v 0.208358 0.544313 0.151699 -v 0.105259 0.549320 -0.139945 -v 0.079254 0.540435 -0.150798 -v 4.790354 0.534181 -0.155508 -v 0.122399 0.539522 -0.155508 -v 4.789819 0.543960 0.139945 -v 4.789819 0.543960 -0.139945 -v 0.208358 0.549173 0.140078 -v 0.208358 0.547892 0.146003 -v 4.789890 0.542650 0.146003 -v 4.789890 0.542650 -0.146003 -v 0.208358 0.547811 0.146131 -v -0.129020 0.455440 0.199968 -v 4.797733 0.399525 0.200000 -v 4.796293 0.425817 0.197519 -v 4.829673 0.155565 -0.113349 -v 4.827308 0.153342 0.114628 -v 4.827307 0.153347 -0.114638 -v 4.820601 0.151718 0.115561 -v 4.820600 0.151738 -0.115580 -v 4.814910 0.424980 -0.193128 -v 4.813830 0.399265 -0.197774 -v 4.812402 0.425347 -0.195330 -v 4.807025 0.399407 -0.199404 -v 4.805588 0.425642 -0.196943 -v 4.813323 0.453940 -0.186518 -v 4.810799 0.454583 -0.188655 -v 4.803975 0.455066 -0.190220 -v 4.809453 0.479149 -0.179534 -v 4.811989 0.478274 -0.177484 -v 4.802620 0.479795 -0.181035 -v 4.793321 0.480039 -0.181585 -v 4.814910 0.424980 0.193128 -v 4.813831 0.399265 0.197774 -v 4.816326 0.399136 0.195549 -v 4.812401 0.425351 0.195328 -v 4.807025 0.399407 0.199403 -v 4.805587 0.425657 0.196936 -v 4.813322 0.453940 0.186517 -v 4.810798 0.454586 0.188653 -v 4.803975 0.455078 0.190214 -v 4.809453 0.479149 0.179534 -v 4.802620 0.479795 0.181035 -v 4.816326 0.399136 -0.195549 -v 4.829673 0.155565 0.113342 -v 4.808692 0.538444 -0.144297 -v 4.806024 0.541716 -0.139707 -v 4.808633 0.539488 -0.139469 -v 4.806088 0.540539 -0.145150 -v 4.799137 0.543353 -0.139881 -v 4.799207 0.542078 -0.145774 -v 4.806262 0.537376 -0.150184 -v 4.799397 0.538611 -0.151293 -v 4.808842 0.535697 -0.148668 -v 4.806503 0.532983 -0.153606 -v 4.799658 0.533854 -0.154999 -v 4.808842 0.535697 0.148668 -v 4.806503 0.532983 0.153606 -v 4.809055 0.531800 0.151704 -v 4.806262 0.537376 0.150184 -v 4.799658 0.533854 0.154998 -v 4.799397 0.538611 0.151293 -v 4.790354 0.534181 0.155508 -v 4.808692 0.538444 0.144297 -v 4.806088 0.540539 0.145150 -v 4.799207 0.542078 0.145774 -v 4.806024 0.541716 0.139707 -v 4.799137 0.543353 0.139881 -v 4.808633 0.539488 0.139469 -v 4.811989 0.478274 0.177484 -v 4.793321 0.480039 0.181585 -v 4.809056 0.531800 -0.151704 -v 3.867518 0.490590 -0.177013 -v 3.822023 0.490590 -0.177038 -v 4.300926 0.480603 -0.181585 -v 4.393668 0.485129 -0.179354 -v 4.388504 0.480503 -0.181585 -v 4.501182 0.480374 -0.181585 -v 4.590865 0.482618 -0.180454 -v 4.588249 0.480274 -0.181585 -v 4.701437 0.480145 -0.181585 -v 4.700232 0.481225 -0.181065 -v 4.195154 0.486460 -0.178822 -v 4.094388 0.486460 -0.178877 -v 4.202343 0.487565 -0.178285 -v 0.102429 0.539660 -0.154877 -v 0.094364 0.544407 -0.151728 -v 0.086637 0.539995 -0.153153 -v -0.149100 0.455497 0.198905 -v -0.484705 0.358815 0.196833 -v -0.163800 0.455538 0.195969 -v -0.018298 0.486986 0.181162 -v -0.020423 0.486059 0.181624 -v -0.018583 0.486986 0.181135 -v -0.036328 0.486986 0.181694 -v -0.064144 0.489421 -0.181880 -v -0.044917 0.487487 -0.181732 -v -0.020423 0.486059 -0.181624 -v -0.149459 0.455569 -0.198889 -v -0.485711 0.358914 -0.197048 -v -0.163896 0.455557 -0.195964 -v -0.169181 0.455553 -0.191946 -v -0.046780 0.486986 0.181955 -v -0.071304 0.486986 0.182892 -v -0.046548 0.486986 0.182001 -v -0.071694 0.486986 0.179699 -v -0.071694 0.486986 0.181422 -v -1.030166 -0.210186 -0.189232 -v -1.358016 0.233574 -0.162622 -v -1.723579 0.233523 0.200000 -v -1.030166 -0.218663 0.199036 -v -1.526070 0.233567 0.190509 -v -1.246398 0.233579 0.123251 -v -1.206862 0.233570 0.075939 -v -1.358431 0.233588 0.163521 -v -1.030166 -0.214328 0.196292 -v -2.055742 0.266015 -0.194765 -v -2.208171 0.343038 -0.200000 -v -2.111347 0.368670 -0.194765 -v -1.955425 0.410511 0.131234 -v -1.919091 0.302779 -0.157549 -v -2.029357 0.390572 -0.179859 -v -1.973835 0.288069 -0.179859 -v -1.971869 -0.360096 -0.185593 -v -1.937454 -0.359105 -0.199605 -v -1.343941 -0.342021 -0.192800 -v -1.870639 0.301786 -0.131234 -v -1.837340 0.296594 -0.157549 -v -1.889651 0.296593 -0.157549 -v -1.974618 0.405289 0.157549 -v -1.899860 0.307928 0.131234 -v -1.805612 0.281806 -0.179859 -v -2.419493 0.414588 -0.179859 -v -2.211492 0.390517 -0.194765 -v -2.419486 0.392265 -0.194765 -v -2.208171 0.343038 0.200000 -v -2.055728 0.265988 0.194765 -v -2.111347 0.368670 0.194765 -v -1.973828 0.288057 0.179859 -v -2.029357 0.390572 0.179859 -v -1.919090 0.302776 0.157549 -v -2.128228 0.412140 0.179859 -v -2.419500 0.429503 0.157549 -v -2.419493 0.414588 0.179859 -v -2.025474 0.259635 0.194765 -v -2.121871 0.233504 0.200000 -v -1.765646 0.259646 0.194765 -v -1.943987 0.281788 0.179859 -v -1.805592 0.281792 0.179859 -v -1.549920 0.301786 -0.085672 -v -1.409634 0.296593 -0.055462 -v -1.443996 0.296593 -0.096707 -v -1.310537 0.281803 -0.061206 -v -1.349083 0.281803 -0.107521 -v -1.239331 0.259669 -0.067973 -v -1.279630 0.259668 -0.116469 -v -1.614824 0.301786 -0.108854 -v -1.531997 0.296594 -0.128176 -v -1.454108 0.281807 -0.145179 -v -1.393014 0.259677 -0.157275 -v -1.664000 0.296595 -0.149270 -v -1.712415 0.301786 -0.124416 -v -1.611493 0.281810 -0.170450 -v -1.562889 0.259683 -0.184729 -v -1.856043 0.301786 -0.131234 -v -1.712415 0.301786 0.124416 -v -1.664037 0.296594 0.149314 -v -1.611636 0.281805 0.170618 -v -1.563188 0.259674 0.185084 -v -1.614824 0.301786 0.108854 -v -1.532028 0.296595 0.128244 -v -1.454229 0.281811 0.145443 -v -1.393270 0.259686 0.157830 -v -1.444010 0.296594 0.096788 -v -1.549920 0.301786 0.085672 -v -1.349137 0.281809 0.107832 -v -1.279745 0.259681 0.117125 -v -1.409634 0.296594 0.055554 -v -1.521535 0.301786 0.051617 -v -1.310538 0.281806 0.061558 -v -1.239334 0.259676 0.068717 -v -1.521535 0.301786 -0.051617 -v -2.308858 0.365003 0.200000 -v -2.419486 0.392265 0.194765 -v -2.419480 0.365933 0.200000 -v -2.419500 0.429503 -0.157549 -v -2.128228 0.412140 -0.179859 -v -2.072240 0.426585 0.157549 -v -2.419504 0.434741 0.131234 -v -2.211492 0.390517 0.194765 -v -2.308858 0.365003 -0.200000 -v -2.419480 0.365933 -0.200000 -v -1.884032 0.302609 -0.131234 -v -1.903144 0.297421 -0.157549 -v -1.894727 0.304857 -0.131234 -v -1.957671 0.282640 -0.179859 -v -1.913920 0.299686 -0.157549 -v -2.039354 0.260513 -0.194765 -v -1.968594 0.284934 -0.179859 -v -2.121892 0.233549 -0.200000 -v -2.135842 0.234404 -0.200000 -v -2.050428 0.262838 -0.194765 -v -2.152325 0.239937 -0.200000 -v -2.039341 0.260486 0.194765 -v -2.050415 0.262811 0.194765 -v -2.152301 0.239894 0.200000 -v -1.957664 0.282627 0.179859 -v -1.968587 0.284922 0.179859 -v -1.903143 0.297418 0.157549 -v -1.913919 0.299682 0.157549 -v -1.884032 0.302609 0.131234 -v -1.894727 0.304857 0.131234 -v -1.991775 0.415671 -0.157549 -v -1.972460 0.420819 -0.131234 -v -2.007940 0.428559 -0.131234 -v -2.027507 0.423466 -0.157549 -v -2.052357 0.431656 -0.131234 -v -2.046733 0.401086 -0.179859 -v -2.082923 0.408981 -0.179859 -v -2.072240 0.426585 -0.157549 -v -2.128947 0.379321 -0.194765 -v -2.165603 0.387317 -0.194765 -v -2.225867 0.353746 -0.200000 -v -2.262721 0.361786 -0.200000 -v -2.225867 0.353746 0.200000 -v -2.165603 0.387317 0.194765 -v -2.262721 0.361786 0.200000 -v -2.128947 0.379321 0.194765 -v -2.082923 0.408981 0.179859 -v -2.046733 0.401086 0.179859 -v -1.991775 0.415671 0.157549 -v -2.007940 0.428559 0.131234 -v -2.027507 0.423466 0.157549 -v -2.052357 0.431656 0.131234 -v -1.972460 0.420819 0.131234 -v -2.419504 0.434741 -0.131234 -v -1.404023 -0.360096 -0.156779 -v -1.971869 -0.360096 -0.171186 -v -1.387873 -0.355275 -0.177183 -v -1.974158 -0.351796 0.200000 -v -1.971869 -0.360096 -0.156779 -v -0.901331 -0.521531 0.200000 -v -1.188309 -0.365074 0.194209 -v -0.995345 -0.521531 0.194209 -v -1.188309 -0.365074 -0.194209 -v -0.901331 -0.521531 -0.200000 -v -2.373777 -0.500217 0.200000 -v -2.006570 -0.502118 0.200000 -v -2.006570 -0.372194 0.200000 -v -1.971869 -0.360096 0.185593 -v -1.343941 -0.342021 0.192800 -v -1.237913 -0.380657 0.178389 -v -1.064168 -0.521531 0.178389 -v -1.256149 -0.386296 0.156779 -v -1.237913 -0.380657 -0.178389 -v -1.064168 -0.521531 -0.178389 -v -1.341914 -0.363606 -0.156779 -v -1.324789 -0.358321 -0.177786 -v -1.287788 -0.373196 -0.156779 -v -1.278128 -0.343816 -0.193504 -v -1.269899 -0.367611 -0.178228 -v -1.285820 -0.323853 -0.200000 -v -1.215367 -0.323943 -0.200000 -v -1.221163 -0.352253 -0.194020 -v -1.120798 -0.343585 -0.200000 -v -1.285820 -0.323853 0.200000 -v -1.278128 -0.343816 0.193504 -v -1.215366 -0.323943 0.200000 -v -1.221163 -0.352253 0.194020 -v -1.154964 -0.331165 0.200000 -v -1.120798 -0.343585 0.200000 -v -1.324789 -0.358321 0.177786 -v -1.269899 -0.367611 0.178228 -v -1.341914 -0.363606 0.156779 -v -1.287788 -0.373196 0.156779 -v -2.419477 -0.493533 -0.200000 -v -2.146981 0.236742 -0.200000 -v -2.412505 -0.496887 -0.200000 -v -2.581743 -0.470702 -0.177540 -v -2.581744 0.365085 -0.177540 -v -2.513163 0.366127 -0.193982 -v -2.606846 -0.453105 0.148342 -v -2.606846 -0.451894 -0.155079 -v -2.606846 -0.471229 -0.135744 -v -2.606846 0.388766 -0.140013 -v -2.581747 0.413644 -0.129020 -v -2.581747 0.409711 -0.148781 -v -2.513175 0.429510 -0.130641 -v -2.513173 0.424622 -0.155200 -v -2.606846 0.383785 -0.147464 -v -2.581746 0.399763 -0.163661 -v -2.513170 0.411037 -0.175519 -v -2.581745 0.384869 -0.173607 -v -2.513166 0.390705 -0.189096 -v -2.606846 0.376321 0.152448 -v -2.581744 0.365085 0.177540 -v -2.581745 0.384869 0.173607 -v -2.513163 0.366127 0.193982 -v -2.513166 0.390705 0.189096 -v -2.581746 0.399763 0.163661 -v -2.606846 0.383785 0.147464 -v -2.513170 0.411037 0.175519 -v -2.581747 0.409711 0.148781 -v -2.606846 0.388766 0.140013 -v -2.513173 0.424622 0.155200 -v -2.581747 0.413644 0.129020 -v -2.606846 0.391395 0.126807 -v -2.513175 0.429510 0.130640 -v -2.581743 -0.493689 0.154552 -v -2.605211 -0.472693 -0.133405 -v -2.581743 -0.493689 -0.154552 -v -2.513162 -0.510131 0.171259 -v -2.513162 -0.510131 -0.171259 -v -2.424939 -0.515799 0.177032 -v -2.419477 -0.516150 -0.177383 -v -2.419477 -0.516150 0.180664 -v -1.971869 -0.502352 0.197452 -v -2.581743 -0.470702 0.177540 -v -2.606846 0.363085 0.155079 -v 3.784024 0.476489 0.183332 -v 3.784024 0.461660 0.188841 -v 4.705517 0.476490 0.182940 -v 4.705517 0.459608 0.189212 -v 4.505517 0.476490 0.183025 -v 4.505517 0.459608 0.189297 -v 4.584024 0.459608 0.189263 -v 4.305517 0.476490 0.183111 -v 4.305517 0.459608 0.189382 -v 4.384025 0.459608 0.189348 -v 4.184024 0.476490 0.183162 -v 4.105517 0.476490 0.183196 -v 4.184024 0.459608 0.189433 -v 3.905517 0.460893 0.189074 -v 3.984025 0.460398 0.189225 -v 3.984025 0.476490 0.183247 -v 4.422024 0.490590 0.176707 -v 4.467518 0.490590 0.176682 -v -1.030166 -0.240186 -0.200000 -v -1.971869 -0.502627 -0.196255 -v -1.971869 -0.510527 -0.187144 -v -1.971869 -0.509803 -0.196817 -v -2.419477 -0.493533 0.200000 -v -2.513162 -0.487409 0.193982 -v -2.412504 -0.496887 0.200000 -v -1.937981 -0.358306 0.200000 -v -1.937454 -0.359105 0.199605 -v -1.971869 -0.360096 0.191682 -v -1.971869 -0.502178 0.198710 -v -2.606170 -0.448697 -0.155684 -v -2.606170 -0.448697 0.155684 -v -1.971869 -0.360096 0.156779 -v -2.364976 -0.512040 0.195890 -v -1.976468 -0.512040 0.195890 -v -1.971869 -0.502352 -0.197452 -v -2.398579 -0.516150 -0.181325 -v -2.419477 -0.513120 -0.188692 -v -1.973967 -0.351793 0.200000 -v -1.987570 -0.516150 0.185969 -v -0.701915 -0.521531 0.113656 -v -0.077181 0.486986 0.053333 -v -0.035160 0.501343 0.008816 -v 0.105259 0.549320 0.008816 -v -0.077181 0.486986 0.008816 -v -1.856043 0.301786 0.131234 -v -0.544321 0.175742 -0.200000 -v -0.763049 -0.107322 -0.200000 -v 3.784024 0.459608 -0.190079 -v 4.385999 0.457839 -0.190007 -v 4.300698 0.455291 -0.191709 -v 4.304120 0.458356 -0.189850 -v 4.587419 0.456567 -0.190394 -v 4.500684 0.455277 -0.191338 -v 4.502720 0.457102 -0.190231 -v 4.700668 0.455264 -0.190967 -v 4.100713 0.455304 -0.192081 -v 4.105517 0.459608 -0.189470 -v 4.184579 0.459111 -0.189620 -v 3.984025 0.459608 -0.189700 -v 3.905517 0.459608 -0.189849 -v 3.984025 0.460377 -0.189235 -v -0.169181 0.455553 0.191946 -v 0.208358 0.539424 0.155508 -v 0.208358 0.549202 0.008816 -v 4.422024 0.490590 -0.176707 -v 4.395154 0.486460 -0.178711 -v 4.294387 0.486460 -0.178767 -v 0.006023 0.486986 0.180877 -v 0.005475 0.486986 0.180862 -v -0.071694 0.486986 0.182604 -v -0.071694 0.486986 0.179646 -v -2.006570 -0.372194 -0.200000 -v -2.373777 -0.500217 -0.200000 -v -1.941223 -0.356194 -0.200000 -v -1.941223 -0.356194 0.200000 -v -1.154964 -0.331165 -0.200000 -v -2.513162 -0.487409 -0.193982 -v -2.606846 -0.471229 0.131942 -v -1.937981 -0.358306 -0.200000 -v -1.971869 -0.502627 0.196255 -v -1.973967 -0.351793 -0.200000 -v -1.974158 -0.351796 -0.200000 -v -2.006570 -0.502118 -0.200000 -v -1.974304 -0.351799 -0.200000 -v -2.606289 -0.460159 -0.152478 -v -2.605938 -0.468942 -0.144323 -v -2.419477 -0.504841 -0.196970 -v -2.422208 -0.512944 0.188516 -v -2.606756 -0.468210 0.143591 -v -2.606508 -0.459963 0.152282 -v -2.606846 -0.451894 0.155079 -v -2.420209 -0.504794 0.196923 -v -2.513162 -0.498770 -0.190937 -v -2.513162 -0.507087 -0.182620 -v -2.513162 -0.498770 0.190937 -v -2.513162 -0.507087 0.182620 -v -2.581743 -0.482196 -0.174460 -v -2.581743 -0.490610 -0.166046 -v -2.581743 -0.482196 0.174460 -v -2.581743 -0.490610 0.166046 -v 4.017646 0.489917 0.177254 -v 0.208358 0.538427 0.155988 -v 3.867518 0.490590 0.177013 -v 4.100670 0.480832 0.181585 -v 4.188759 0.480731 0.181585 -v 4.195154 0.486460 0.178821 -v 4.701437 0.480145 0.181585 -v 4.700232 0.481225 0.181065 -v 4.590865 0.482618 0.180454 -v 4.501182 0.480374 0.181585 -v 4.588249 0.480274 0.181585 -v 4.393668 0.485129 0.179353 -v 4.300926 0.480603 0.181585 -v 4.388504 0.480503 0.181585 -v 0.166013 0.486986 0.180789 -v 0.166013 0.486986 0.008816 -v 0.208358 0.497136 0.008816 -v 0.187186 0.488346 0.180122 -v 0.187186 0.488346 0.008816 -v 0.202685 0.492061 0.178324 -v 0.202685 0.492061 0.008816 -v 0.208358 0.497136 0.175876 -v 3.905517 0.460873 -0.189084 -v 3.822023 0.490590 0.177038 -v 3.822023 0.445507 0.194839 -v 3.795154 0.449637 -0.193950 -v 3.795154 0.449637 0.193944 -v 3.795154 0.486460 0.179042 -v 3.795154 0.486460 -0.179042 -v 3.894387 0.449637 -0.193764 -v 3.867518 0.445507 0.194754 -v 3.894387 0.449637 0.193759 -v 3.900728 0.455317 -0.192452 -v 3.894387 0.486460 -0.178987 -v 3.905517 0.476489 0.183281 -v 3.867518 0.445507 -0.194759 -v 4.105517 0.459610 -0.189468 -v 4.105517 0.459631 0.189458 -v 4.022024 0.490590 0.176928 -v 4.067518 0.490590 -0.176903 -v 4.067518 0.490590 0.176903 -v 4.022024 0.445507 0.194464 -v 3.995154 0.449637 -0.193575 -v 3.995154 0.449637 0.193570 -v 4.017646 0.489917 -0.177254 -v 4.022024 0.490590 -0.176928 -v 3.995154 0.486460 -0.178932 -v 4.094388 0.449637 -0.193389 -v 4.067518 0.445507 0.194379 -v 4.076797 0.489164 -0.177584 -v 4.094388 0.486460 0.178877 -v 4.067518 0.445507 -0.194385 -v 4.222024 0.490590 0.176817 -v 4.267518 0.490590 -0.176792 -v 4.267518 0.490590 0.176792 -v 4.195154 0.449637 -0.193201 -v 4.202343 0.487565 0.178285 -v 4.294387 0.449637 -0.193015 -v 4.267518 0.445507 0.194004 -v 4.294387 0.449637 0.193009 -v 4.294387 0.486460 0.178767 -v 4.294463 0.486392 -0.178800 -v 4.467518 0.490590 -0.176682 -v 4.384025 0.476490 -0.183078 -v 4.384025 0.476490 0.183077 -v 4.422024 0.445507 0.193715 -v 4.395154 0.449637 -0.192826 -v 4.395154 0.449637 0.192820 -v 4.395154 0.486460 0.178711 -v 4.494388 0.449637 -0.192641 -v 4.467518 0.445507 0.193630 -v 4.494388 0.449637 0.192635 -v 4.505517 0.459608 -0.189299 -v 4.494388 0.486460 -0.178657 -v 4.494388 0.486460 0.178657 -v 4.497348 0.483809 0.179932 -v 4.467518 0.445507 -0.193636 -v 4.705517 0.476490 -0.182941 -v 4.622024 0.490591 0.176597 -v 4.667518 0.490591 -0.176572 -v 4.667518 0.490591 0.176572 -v 4.584024 0.476490 0.182992 -v 4.622024 0.445507 0.193340 -v 4.595154 0.449637 -0.192452 -v 4.595154 0.449637 0.192446 -v 4.588865 0.455271 -0.191174 -v 4.595154 0.486460 -0.178601 -v 4.622024 0.490591 -0.176597 -v 4.595154 0.486460 0.178601 -v 4.694387 0.449637 -0.192266 -v 4.667518 0.445507 0.193255 -v 4.694387 0.449637 0.192260 -v 4.694387 0.486460 0.178546 -v 4.694387 0.486460 -0.178546 -v 4.622024 0.445507 -0.193347 -v -2.005057 -0.516150 -0.185969 -v -2.360983 -0.512040 -0.195890 -v -1.971869 -0.512040 -0.195890 -v -2.383717 -0.516150 -0.185969 -v -1.975412 -0.509763 0.196833 -v -1.971869 -0.508195 0.192020 -v -1.971869 -0.510527 -0.187144 -v -1.981590 -0.514503 -0.186313 -v -1.971869 -0.513106 -0.193318 -v -1.976468 -0.513820 0.187741 -v -1.987570 -0.516150 0.185969 -v -2.369604 -0.502118 -0.200000 -v -1.976518 -0.361717 -0.195841 -v -1.976518 -0.361717 0.195841 -v -1.989220 -0.502126 -0.199827 -v -1.976518 -0.502148 -0.199355 -v -1.971869 -0.502178 -0.198710 -v -1.971869 -0.502178 0.198710 -v -1.976518 -0.502148 0.199355 -v -1.989220 -0.502126 0.199827 -v -1.989220 -0.366145 -0.198886 -v -1.989220 -0.366145 0.198886 -v -1.971869 -0.502178 -0.198710 -v -1.971869 -0.360096 -0.191682 -v 4.388839 0.455295 0.191538 -v 4.588845 0.455289 0.191165 -v 4.188831 0.455302 0.191911 -v 3.900721 0.455311 0.192449 -v 3.788805 0.455325 -0.192660 -v 3.822023 0.445507 -0.194844 -v 4.667518 0.445507 -0.193262 -v 4.022024 0.445507 -0.194470 -v 3.988820 0.455311 -0.192289 -v 4.422024 0.445507 -0.193721 -v 4.388850 0.455285 -0.191546 -v 4.188835 0.455298 -0.191917 -v 3.789269 0.481188 -0.181585 -v 4.100670 0.480832 -0.181585 -v 4.188759 0.480731 -0.181585 -v 3.900414 0.481061 -0.181585 -v 4.497348 0.483809 -0.179932 -v -2.369604 -0.502118 0.200000 -v 3.789269 0.481188 0.181585 -v 3.989015 0.480960 0.181585 -v 3.900414 0.481061 0.181585 -v 4.076797 0.489164 0.177584 -v 4.294463 0.486392 0.178800 -v -2.397349 -0.516150 0.185969 -v 0.208358 0.549202 0.139945 -v 4.222024 0.490590 -0.176817 -v 3.894387 0.486460 0.178987 -v 3.995154 0.486460 0.178932 -v 0.467067 0.733889 0.082172 -v 0.467067 0.709215 -0.105890 -v 0.467067 0.709215 0.105890 -v 1.696459 0.709215 -0.105890 -v 1.619973 0.733889 -0.082172 -v 1.696459 0.733889 -0.082172 -v 1.556480 0.709214 -0.105890 -v 1.506597 0.733889 -0.082172 -v 1.556480 0.733889 -0.082172 -v 1.443104 0.709214 -0.105890 -v 1.393222 0.733889 -0.082172 -v 1.443104 0.733889 -0.082172 -v 1.329729 0.709214 -0.105890 -v 1.279846 0.733889 -0.082172 -v 1.329729 0.733889 -0.082172 -v 1.216353 0.709214 -0.105890 -v 1.174029 0.733889 -0.082172 -v 1.216353 0.733889 -0.082172 -v 1.110536 0.709214 -0.105890 -v 1.060654 0.733889 -0.082172 -v 1.110536 0.733889 -0.082172 -v 0.997161 0.709214 -0.105890 -v 0.947278 0.733889 -0.082172 -v 0.997161 0.733889 -0.082172 -v 0.883785 0.709214 -0.105890 -v 0.833903 0.733889 -0.082172 -v 0.883785 0.733889 -0.082172 -v 0.770410 0.709214 -0.105890 -v 0.720527 0.733889 -0.082172 -v 0.770410 0.733889 -0.082172 -v 0.657034 0.709214 -0.105890 -v 0.607152 0.733889 -0.082172 -v 0.657034 0.733889 -0.082172 -v 0.543659 0.733889 -0.082172 -v 0.543659 0.709214 -0.105890 -v 1.696459 0.709215 0.105890 -v 1.443104 0.733889 0.082172 -v 1.393222 0.709214 0.105890 -v 1.443104 0.709214 0.105890 -v 1.216353 0.733889 0.082172 -v 1.174029 0.709214 0.105890 -v 1.216353 0.709214 0.105890 -v 0.997161 0.733889 0.082172 -v 0.947278 0.709215 0.105890 -v 0.997161 0.709214 0.105890 -v 0.770410 0.733889 0.082172 -v 0.720527 0.709214 0.105890 -v 0.770410 0.709214 0.105890 -v 0.657034 0.733889 0.082172 -v 0.607152 0.709214 0.105890 -v 0.657034 0.709214 0.105890 -v 0.543659 0.733889 0.082172 -v 0.883785 0.709215 0.105890 -v 0.833903 0.733889 0.082172 -v 0.833903 0.709214 0.105890 -v 1.110536 0.709215 0.105890 -v 1.060654 0.733889 0.082172 -v 1.060654 0.709215 0.105890 -v 1.329729 0.709214 0.105890 -v 1.279846 0.733889 0.082172 -v 1.279846 0.709214 0.105890 -v 1.556480 0.709214 0.105890 -v 1.506597 0.733889 0.082172 -v 1.506597 0.709214 0.105890 -v 1.619973 0.733889 0.082172 -v 1.619973 0.709214 0.105890 -v 0.562381 0.684540 -0.082172 -v 1.601145 0.684541 0.082172 -v 0.562381 0.684540 0.082172 -v 1.556480 0.733889 0.082172 -v 1.329729 0.733889 0.082172 -v 1.110536 0.733889 0.082172 -v 0.883785 0.733889 0.082172 -v 0.607152 0.733889 0.082172 -v 0.467067 0.733889 -0.082172 -v 0.720527 0.733889 0.082172 -v 0.947278 0.733889 0.082172 -v 1.174029 0.733889 0.082172 -v 1.393222 0.733889 0.082172 -v 1.696459 0.733889 0.082172 -v 1.696136 0.684540 0.082172 -v 1.696136 0.684540 -0.082172 -v 1.279846 0.709214 -0.105890 -v 1.601145 0.684541 -0.082172 -v 0.467390 0.684540 -0.082172 -v 0.467390 0.684541 0.082172 -v 1.619973 0.709214 -0.105890 -v 1.506597 0.709214 -0.105890 -v 1.393222 0.709214 -0.105890 -v 1.174029 0.709214 -0.105890 -v 1.060654 0.709214 -0.105890 -v 0.947278 0.709214 -0.105890 -v 0.833903 0.709214 -0.105890 -v 0.720527 0.709214 -0.105890 -v 0.543659 0.709214 0.105890 -v 0.607152 0.709214 -0.105890 -v 0.467390 0.635326 0.040362 -v 0.467390 0.635326 -0.040361 -v 0.562381 0.635326 -0.040361 -v 1.601145 0.635326 0.040362 -v 1.601145 0.635326 -0.040361 -v 1.696136 0.635326 -0.040361 -v 0.562381 0.635326 0.040362 -v 1.696136 0.635326 0.040362 -v -0.127585 0.072796 0.009971 -v -0.111675 0.104962 -0.000901 -v -0.111675 0.104962 0.009971 -v -0.166113 0.072796 -0.015465 -v -0.121240 0.116726 -0.015465 -v -0.142934 0.072796 -0.015465 -v -0.182130 0.159438 0.024535 -v -0.120485 0.141313 -0.015465 -v -0.120485 0.141313 0.024535 -v -0.150203 0.108587 -0.015465 -v -0.150203 0.108587 0.024535 -v -0.166113 0.072796 0.024535 -v -0.163031 0.017967 -0.015465 -v -0.163031 0.017967 0.024535 -v -0.119380 -0.038679 -0.015463 -v -0.119380 -0.038679 0.024535 -v -0.088546 -0.070359 0.024535 -v -0.088546 -0.070359 -0.015465 -v -0.067267 -0.051329 0.009971 -v -0.057723 -0.062203 -0.000901 -v -0.083934 -0.032336 -0.000901 -v -0.086854 -0.051089 0.024535 -v -0.095273 -0.041495 0.024535 -v -0.137904 0.015926 -0.015465 -v -0.121240 0.116726 0.024535 -v -0.122962 0.020233 0.009971 -v -0.127585 0.072796 -0.000901 -v -0.117560 0.122031 0.024535 -v -0.078275 0.133901 0.024535 -v -0.106589 0.136773 0.024535 -v 0.161542 0.161251 0.024535 -v -0.182130 0.159438 -0.015465 -v -0.099638 0.122315 -0.000901 -v -0.117560 0.122031 -0.015465 -v -0.137904 0.015926 0.024535 -v -0.083934 -0.032336 0.009971 -v -0.122962 0.020233 -0.000901 -v 0.161542 0.161251 -0.015465 -v -0.078449 0.133881 0.022286 -v -0.078275 0.133901 -0.015465 -v -0.092745 0.132251 -0.000901 -v -0.106589 0.136773 -0.015465 -v -0.095273 -0.041495 -0.015464 -v -0.066499 -0.064525 -0.004076 -v -0.057723 -0.062203 0.009971 -v -0.071803 -0.065929 0.024535 -v -0.086854 -0.051089 -0.015464 -v -0.142934 0.072796 0.024535 -v -0.092745 0.132251 0.009971 -v -0.072289 -0.056646 -0.013513 -v -0.071803 -0.065929 -0.015465 -v -0.066398 -0.055277 0.017253 -v -0.073567 -0.055189 0.022584 -v -0.096070 0.130882 0.017253 -v -0.129642 0.072796 -0.008183 -v -0.124964 0.019656 -0.008183 -v -0.135260 0.072796 -0.013514 -v -0.130433 0.018080 -0.013514 -v -0.112957 0.106538 0.017253 -v -0.129642 0.072796 0.017253 -v -0.116457 0.110844 0.022584 -v -0.135260 0.072796 0.022584 -v -0.085454 -0.033563 0.017253 -v -0.089604 -0.036916 0.022584 -v -0.105153 0.127141 0.022584 -v -0.116457 0.110844 -0.013514 -v -0.106076 0.125810 -0.013514 -v -0.112957 0.106538 -0.008183 -v -0.124964 0.019656 0.017253 -v -0.130433 0.018080 0.022584 -v -0.085453 -0.033563 -0.008183 -v -0.089604 -0.036916 -0.013513 -v -0.061626 -0.060714 -0.008183 -v -0.099516 0.125914 -0.008183 -v -0.271370 -0.012246 -0.062214 -v -0.219761 -0.082959 -0.074466 -v -0.225556 -0.091854 -0.062214 -v 0.123848 -0.104616 -0.074466 -v -0.109015 -0.093793 -0.072389 -v 0.121613 -0.093793 -0.072389 -v 0.246811 -0.071931 -0.062214 -v 0.202839 -0.117040 -0.074466 -v 0.239141 -0.066027 -0.074466 -v 0.287599 0.071365 0.074466 -v 0.281199 0.220128 0.074466 -v 0.260046 0.085785 0.074466 -v -0.181787 -0.115010 -0.074466 -v -0.123085 -0.149424 -0.062214 -v -0.185326 -0.125819 -0.062214 -v 0.123848 -0.104616 0.074466 -v 0.185572 -0.065957 0.072390 -v 0.121613 -0.093793 0.072390 -v -0.197032 -0.044908 0.072390 -v -0.163690 -0.073057 -0.072389 -v -0.197032 -0.044908 -0.072389 -v -0.242065 0.019025 -0.074466 -v -0.202999 -0.053657 -0.074466 -v -0.167235 -0.083860 -0.074466 -v -0.109015 -0.093793 0.072390 -v 0.185572 -0.065957 -0.072389 -v 0.190905 -0.075432 -0.074466 -v -0.253398 0.085752 -0.074466 -v -0.233777 0.023458 -0.072390 -v 0.152331 -0.149424 -0.062214 -v 0.207816 -0.126727 0.062215 -v 0.152331 -0.149424 0.062215 -v -0.112543 -0.104605 -0.074466 -v -0.233777 0.023458 0.072390 -v -0.119522 -0.138612 -0.074466 -v 0.207816 -0.126727 -0.062214 -v 0.202839 -0.117039 0.074466 -v 0.150131 -0.138600 0.074466 -v -0.289124 0.067055 0.062215 -v -0.304277 0.220128 0.074466 -v -0.313222 0.220128 0.072390 -v -0.265566 0.220128 0.072390 -v -0.253398 0.085752 0.074466 -v -0.245095 0.090098 0.072390 -v 0.227373 0.001244 -0.072389 -v 0.227373 0.001244 0.072390 -v -0.163690 -0.073057 0.072390 -v -0.112543 -0.104605 0.074466 -v 0.295834 0.067055 -0.062215 -v -0.313222 0.220128 -0.072390 -v 0.260046 0.085785 -0.074466 -v 0.251805 0.090098 -0.072390 -v -0.123085 -0.149424 0.062215 -v -0.242065 0.019025 0.074466 -v -0.263215 -0.007452 0.074466 -v -0.280862 0.071379 0.074466 -v 0.235367 -0.003953 -0.074466 -v 0.251805 0.090098 0.072390 -v 0.295834 0.067055 0.062215 -v 0.239141 -0.066027 0.074466 -v 0.246811 -0.071931 0.062215 -v 0.272276 0.220128 0.072390 -v -0.265566 0.220128 -0.072390 -v -0.274553 0.220128 -0.074466 -v -0.119522 -0.138612 0.074466 -v -0.304277 0.220128 -0.074466 -v -0.289124 0.067055 -0.062215 -v -0.225556 -0.091854 0.062215 -v -0.271370 -0.012246 0.062215 -v 0.311015 0.220128 0.074466 -v -0.202999 -0.053657 0.074466 -v -0.167235 -0.083860 0.074466 -v -0.185326 -0.125819 0.062215 -v -0.245095 0.090098 -0.072390 -v -0.181787 -0.115010 0.074466 -v -0.219761 -0.082959 0.074466 -v -0.263215 -0.007452 -0.074466 -v -0.280862 0.071379 -0.074466 -v 0.272276 0.220128 -0.072390 -v 0.281199 0.220128 -0.074466 -v 0.319932 0.220128 0.062215 -v 0.235367 -0.003953 0.074466 -v 0.190905 -0.075432 0.074466 -v -0.274553 0.220128 0.074466 -v 0.319932 0.220128 -0.062215 -v 0.287599 0.071365 -0.074466 -v 0.311015 0.220128 -0.074466 -v 0.150131 -0.138600 -0.074466 -v 1.542686 0.536664 0.128050 -v 2.032973 0.527107 0.129951 -v 1.572429 0.570874 0.121245 -v 0.242440 0.527107 0.129951 -v 0.624969 0.536664 0.128050 -v 0.595269 0.570874 0.121245 -v 2.032973 0.613450 0.092797 -v 1.589708 0.613450 0.092797 -v 1.581365 0.581205 0.114342 -v 0.208236 0.570874 0.121245 -v 0.586290 0.581205 0.114342 -v 2.032973 0.641898 0.050221 -v 1.586911 0.641898 0.050221 -v 1.588440 0.635420 0.059916 -v 2.032973 0.651888 -0.000001 -v 1.559888 0.651888 -0.000001 -v 1.581365 0.646666 0.026252 -v 0.586290 0.646666 0.026252 -v 0.590092 0.647935 0.019872 -v 0.208236 0.651888 -0.000001 -v 1.542686 0.648341 -0.017833 -v 1.548530 0.649814 -0.010427 -v 0.208236 0.641898 -0.050222 -v 0.634031 0.647321 -0.022960 -v 0.682855 0.643216 -0.043598 -v 0.208236 0.613450 -0.092798 -v 0.751137 0.640598 -0.052168 -v 1.416518 0.640598 -0.052168 -v 2.032973 0.570874 0.121245 -v 2.032973 0.613450 -0.092798 -v 0.208236 0.570874 -0.121246 -v 0.242440 0.527107 -0.129952 -v 0.208236 0.525554 -0.130261 -v 0.208236 0.525554 0.130260 -v 0.751137 0.521354 0.037743 -v 0.586290 0.607302 0.054403 -v 0.580453 0.641898 0.050221 -v 0.579016 0.635421 0.059915 -v 1.484800 0.507048 0.082789 -v 1.416518 0.496450 0.129951 -v 1.484800 0.506901 0.129951 -v 0.682855 0.507048 0.082789 -v 0.751137 0.496450 0.129951 -v 0.751137 0.496615 0.080698 -v 1.416518 0.496615 0.080698 -v 0.624969 0.562172 0.045593 -v 0.586290 0.581230 0.097495 -v 0.577951 0.613450 0.092797 -v 1.542686 0.536761 0.088692 -v 0.208236 0.641898 0.050221 -v 0.208236 0.613450 0.092797 -v 1.581365 0.581230 0.097495 -v 1.542686 0.562172 0.045593 -v 1.581365 0.607302 0.054403 -v 0.682855 0.506901 0.129951 -v 0.624969 0.536761 0.088692 -v 1.524162 0.527107 0.129951 -v 1.416518 0.521354 0.037743 -v 1.484800 0.531985 0.039761 -v 1.484800 0.643216 -0.043598 -v 1.495362 0.644409 -0.037599 -v 0.682855 0.531985 0.039761 -v 0.643578 0.527107 0.129951 -v 0.605908 0.651888 -0.000001 -v 2.032973 0.641898 -0.050222 -v 1.429795 0.641746 -0.050450 -v 0.695552 0.642789 -0.045745 -v 0.730994 0.641898 -0.050222 -v 0.624969 0.648341 -0.017833 -v 2.032973 0.527107 -0.129952 -v 2.032973 0.570874 -0.121246 -v 8.866215 0.529589 -0.058039 -v 8.866215 0.529589 -0.065198 -v 8.866215 0.555020 -0.047505 -v 8.913785 0.594963 -0.037855 -v 8.913785 0.555020 -0.047505 -v 8.913785 0.575038 0.000823 -v 8.913785 0.529589 -0.064934 -v 8.913785 0.529589 -0.058039 -v 8.866215 0.529589 0.059685 -v 8.913785 0.529589 0.066580 -v 8.913785 0.529589 0.059685 -v 8.776215 0.555020 0.049151 -v 8.776215 0.575038 0.000823 -v 8.776215 0.594180 0.040457 -v 8.823785 0.555020 0.049151 -v 8.823785 0.529589 0.059685 -v 8.823785 0.529922 0.066880 -v 8.823785 0.529589 -0.065414 -v 8.776215 0.529589 -0.058039 -v 8.823785 0.529589 -0.058039 -v 8.776215 0.529589 0.059685 -v 8.823785 0.529589 0.067061 -v 8.686214 0.529589 -0.058039 -v 8.686214 0.531001 -0.065348 -v 8.686214 0.555020 -0.047505 -v 8.733785 0.555020 0.049151 -v 8.733785 0.529589 0.059685 -v 8.733785 0.530628 0.066955 -v 8.733785 0.529589 -0.065874 -v 8.733785 0.529589 -0.058039 -v 8.686214 0.529589 0.059685 -v 8.733785 0.529589 0.067520 -v 8.866215 0.594513 -0.038306 -v 8.866215 0.595028 -0.037961 -v 8.866215 0.595373 -0.037445 -v 8.866215 0.575038 0.000823 -v 8.866215 0.602985 0.000823 -v 8.866215 0.595373 0.039091 -v 8.866215 0.595028 0.039607 -v 8.866215 0.594513 0.039952 -v 8.866215 0.529589 0.066844 -v 8.866215 0.555020 0.049151 -v 8.913785 0.594963 0.039501 -v 8.913785 0.595209 0.039337 -v 8.913785 0.595373 0.039091 -v 8.913785 0.602985 0.000823 -v 8.913785 0.595373 -0.037445 -v 8.913785 0.595209 -0.037691 -v 8.913785 0.555020 0.049151 -v 8.776215 0.529589 -0.065657 -v 8.776215 0.530295 -0.065273 -v 8.776215 0.529776 -0.065620 -v 8.776215 0.594179 -0.038811 -v 8.776215 0.555020 -0.047505 -v 8.776215 0.594526 -0.038292 -v 8.776215 0.595034 -0.037953 -v 8.776215 0.595373 -0.037445 -v 8.776215 0.602985 0.000823 -v 8.776215 0.595373 0.039091 -v 8.776215 0.595034 0.039599 -v 8.776215 0.594526 0.039938 -v 8.776215 0.530295 0.066919 -v 8.776215 0.529776 0.067266 -v 8.776215 0.529589 0.067303 -v 8.823785 0.594356 0.040190 -v 8.823785 0.594519 0.039945 -v 8.823785 0.575038 0.000823 -v 8.823785 0.595031 0.039603 -v 8.823785 0.595373 0.039091 -v 8.823785 0.602985 0.000823 -v 8.823785 0.595373 -0.037445 -v 8.823785 0.595031 -0.037957 -v 8.823785 0.594519 -0.038299 -v 8.823785 0.594356 -0.038544 -v 8.823785 0.529922 -0.065233 -v 8.823785 0.555020 -0.047505 -v 8.823785 0.529677 -0.065397 -v 8.823785 0.529677 0.067043 -v 8.686214 0.529589 -0.066116 -v 8.686214 0.529962 -0.066042 -v 8.686214 0.593846 -0.039317 -v 8.686214 0.594540 -0.038278 -v 8.686214 0.575038 0.000823 -v 8.686214 0.595039 -0.037945 -v 8.686214 0.595373 -0.037445 -v 8.686214 0.602985 0.000823 -v 8.686214 0.595373 0.039091 -v 8.686214 0.595039 0.039591 -v 8.686214 0.594540 0.039924 -v 8.686214 0.593846 0.040963 -v 8.686214 0.531001 0.066994 -v 8.686214 0.555020 0.049151 -v 8.686214 0.529962 0.067688 -v 8.686214 0.529589 0.067762 -v 8.733785 0.594022 0.040696 -v 8.733785 0.594533 0.039932 -v 8.733785 0.575038 0.000823 -v 8.733785 0.595037 0.039595 -v 8.733785 0.595373 0.039091 -v 8.733785 0.602985 0.000823 -v 8.733785 0.595373 -0.037445 -v 8.733785 0.595037 -0.037949 -v 8.733785 0.594533 -0.038285 -v 8.733785 0.594022 -0.039049 -v 8.733785 0.530628 -0.065308 -v 8.733785 0.555020 -0.047505 -v 8.733785 0.529864 -0.065819 -v 8.733785 0.529864 0.067465 -v 8.957065 0.464717 -0.091565 -v 3.242687 0.432273 -0.069887 -v 3.242687 0.464716 -0.091564 -v 3.242687 0.402984 0.000824 -v 3.242687 0.410596 -0.037444 -v 8.957065 0.432274 -0.069888 -v 8.957065 0.432274 0.071534 -v 3.242687 0.464716 0.093212 -v 3.242687 0.432273 0.071535 -v 8.957065 0.464717 0.093211 -v 8.957065 0.602985 0.000823 -v 8.957065 0.595373 0.039091 -v 3.242687 0.595372 0.039092 -v 3.242687 0.602984 0.000824 -v 8.957065 0.595373 -0.037445 -v 3.242687 0.595372 -0.037444 -v 8.957065 0.575038 0.000823 -v 8.957065 0.555020 -0.047505 -v 8.957065 0.438347 0.000823 -v 2.032803 0.397967 0.105841 -v 2.032803 0.608001 0.105841 -v 2.032803 0.608001 -0.104193 -v 2.032803 0.559819 -0.136387 -v 3.242687 0.502984 -0.099176 -v 2.032803 0.502984 -0.147692 -v 3.242687 0.541252 -0.091564 -v 2.032803 0.640195 -0.056011 -v 2.032803 0.651500 0.000824 -v 2.032803 0.640195 0.057659 -v 3.242687 0.573695 0.071535 -v 3.242687 0.541252 0.093212 -v 2.032803 0.559819 0.138035 -v 3.242687 0.502984 0.100824 -v 2.032803 0.502984 0.149341 -v 2.032803 0.446149 0.138035 -v 3.242687 0.410596 0.039092 -v 2.032803 0.365773 0.057659 -v 2.032803 0.354467 0.000824 -v 2.032803 0.365773 -0.056011 -v 2.032803 0.397967 -0.104193 -v 2.032803 0.446149 -0.136387 -v 3.532490 0.506691 -0.067522 -v 8.957065 0.458365 -0.047505 -v 8.957065 0.506692 -0.067523 -v 3.532490 0.438345 0.000824 -v 3.532490 0.458364 -0.047504 -v 3.532490 0.458364 0.049152 -v 3.532490 0.506691 0.069170 -v 8.957065 0.458365 0.049151 -v 8.957065 0.506692 0.069169 -v 3.532490 0.555019 0.049152 -v 3.532490 0.575037 0.000824 -v 8.957065 0.555020 0.049151 -v 3.242687 0.573695 -0.069887 -v 3.532490 0.555019 -0.047504 -vt 0.436987 0.437131 -vt 0.424979 0.464613 -vt 0.424979 0.433664 -vt 0.425444 0.464613 -vt 0.412958 0.466107 -vt 0.412958 0.464613 -vt 0.425444 0.467347 -vt 0.412958 0.468321 -vt 0.412958 0.467347 -vt 0.425444 0.469562 -vt 0.412958 0.470536 -vt 0.412958 0.469562 -vt 0.425444 0.471776 -vt 0.412958 0.472751 -vt 0.412958 0.471776 -vt 0.425444 0.473992 -vt 0.412958 0.474818 -vt 0.412958 0.473992 -vt 0.425444 0.476058 -vt 0.412958 0.477033 -vt 0.412958 0.476058 -vt 0.425444 0.478273 -vt 0.412958 0.479248 -vt 0.412958 0.478273 -vt 0.425444 0.480488 -vt 0.412958 0.481463 -vt 0.412958 0.480488 -vt 0.425444 0.482703 -vt 0.412958 0.483677 -vt 0.412958 0.482703 -vt 0.425444 0.484918 -vt 0.412958 0.485892 -vt 0.412958 0.484918 -vt 0.425444 0.488629 -vt 0.412958 0.487132 -vt 0.425444 0.487132 -vt 0.412971 0.437131 -vt 0.400963 0.464613 -vt 0.400963 0.433664 -vt 0.436308 0.483680 -vt 0.448794 0.482705 -vt 0.448794 0.483680 -vt 0.436308 0.479250 -vt 0.448794 0.478423 -vt 0.448794 0.479250 -vt 0.436308 0.474968 -vt 0.448794 0.473993 -vt 0.448794 0.474968 -vt 0.436308 0.470538 -vt 0.448794 0.469564 -vt 0.448794 0.470538 -vt 0.436308 0.468323 -vt 0.448794 0.467349 -vt 0.448794 0.468323 -vt 0.448794 0.464613 -vt 0.436308 0.466109 -vt 0.436308 0.464613 -vt 0.448794 0.472753 -vt 0.436308 0.471778 -vt 0.448794 0.471778 -vt 0.448794 0.477183 -vt 0.436308 0.476208 -vt 0.448794 0.476208 -vt 0.448794 0.481465 -vt 0.436308 0.480490 -vt 0.448794 0.480490 -vt 0.448794 0.485894 -vt 0.436308 0.484920 -vt 0.448794 0.484920 -vt 0.448794 0.488629 -vt 0.436308 0.487135 -vt 0.448794 0.487135 -vt 0.412958 0.488629 -vt 0.388955 0.464613 -vt 0.412958 0.464613 -vt 0.454497 0.488629 -vt 0.455471 0.512645 -vt 0.454497 0.512645 -vt 0.453522 0.488629 -vt 0.454497 0.512645 -vt 0.453522 0.512645 -vt 0.452548 0.488629 -vt 0.453522 0.512645 -vt 0.452548 0.512645 -vt 0.457420 0.488629 -vt 0.458394 0.512645 -vt 0.457420 0.512645 -vt 0.449558 0.512645 -vt 0.450532 0.536661 -vt 0.449558 0.536661 -vt 0.451054 0.512645 -vt 0.449558 0.488629 -vt 0.451054 0.488629 -vt 0.456445 0.512645 -vt 0.457420 0.488629 -vt 0.457420 0.512645 -vt 0.455471 0.512645 -vt 0.456445 0.488629 -vt 0.456445 0.512645 -vt 0.450532 0.536661 -vt 0.451359 0.512645 -vt 0.451359 0.536661 -vt 0.458394 0.512645 -vt 0.459369 0.488629 -vt 0.459369 0.512645 -vt 0.451054 0.512645 -vt 0.452548 0.488629 -vt 0.452548 0.512645 -vt 0.459659 0.464619 -vt 0.388955 0.461146 -vt 0.388955 0.437131 -vt 0.425444 0.477033 -vt 0.436308 0.464619 -vt 0.412971 0.461146 -vt 0.412971 0.437131 -vt 0.497029 0.437130 -vt 0.485020 0.464612 -vt 0.485020 0.433664 -vt 0.495684 0.468079 -vt 0.483676 0.495561 -vt 0.483676 0.464613 -vt 0.409645 0.519576 -vt 0.408405 0.488629 -vt 0.409645 0.488629 -vt 0.485020 0.437130 -vt 0.473012 0.464612 -vt 0.473012 0.433664 -vt 0.483676 0.499027 -vt 0.471667 0.526509 -vt 0.471667 0.495561 -vt 0.405925 0.519576 -vt 0.404684 0.488629 -vt 0.405925 0.488629 -vt 0.495684 0.499027 -vt 0.483676 0.526509 -vt 0.483676 0.495561 -vt 0.483676 0.468079 -vt 0.471667 0.495561 -vt 0.471667 0.464613 -vt 0.407165 0.519576 -vt 0.405925 0.488629 -vt 0.407165 0.488629 -vt 0.424300 0.523043 -vt 0.412292 0.550525 -vt 0.412292 0.519577 -vt 0.471667 0.499027 -vt 0.459659 0.526509 -vt 0.459659 0.495561 -vt 0.449558 0.519576 -vt 0.448317 0.488629 -vt 0.449558 0.488629 -vt 0.412292 0.492095 -vt 0.424300 0.519577 -vt 0.412292 0.516110 -vt 0.436308 0.492095 -vt 0.424300 0.519576 -vt 0.424300 0.488629 -vt 0.403444 0.488629 -vt 0.402203 0.519576 -vt 0.402203 0.488629 -vt 0.448317 0.492095 -vt 0.436308 0.519576 -vt 0.436308 0.488629 -vt 0.424301 0.547059 -vt 0.436308 0.519576 -vt 0.436308 0.550525 -vt 0.410886 0.488629 -vt 0.412126 0.519577 -vt 0.410886 0.519577 -vt 0.388955 0.492095 -vt 0.400963 0.519577 -vt 0.388955 0.516110 -vt 0.495684 0.492095 -vt 0.507692 0.464613 -vt 0.507692 0.495561 -vt 0.402203 0.519577 -vt 0.400963 0.488629 -vt 0.402203 0.488629 -vt 0.473012 0.437130 -vt 0.461004 0.464612 -vt 0.461004 0.433664 -vt 0.448317 0.523043 -vt 0.436308 0.550524 -vt 0.436308 0.519576 -vt 0.408405 0.519576 -vt 0.407165 0.488629 -vt 0.408405 0.488629 -vt 0.471667 0.468079 -vt 0.459659 0.495561 -vt 0.459659 0.464613 -vt 0.461004 0.437130 -vt 0.448995 0.464612 -vt 0.448995 0.433664 -vt 0.404684 0.519576 -vt 0.403444 0.488629 -vt 0.404684 0.488629 -vt 0.448995 0.437130 -vt 0.436987 0.464612 -vt 0.436987 0.433664 -vt 0.400963 0.523043 -vt 0.388955 0.550525 -vt 0.388955 0.519577 -vt 0.410886 0.519576 -vt 0.409645 0.488629 -vt 0.410886 0.488629 -vt 0.436987 0.461146 -vt 0.425444 0.466107 -vt 0.425444 0.468321 -vt 0.425444 0.470536 -vt 0.425444 0.472751 -vt 0.425444 0.474818 -vt 0.425444 0.479248 -vt 0.425444 0.481463 -vt 0.425444 0.483677 -vt 0.425444 0.485892 -vt 0.412958 0.488629 -vt 0.412971 0.461146 -vt 0.436308 0.482705 -vt 0.436308 0.478423 -vt 0.436308 0.473993 -vt 0.436308 0.469564 -vt 0.436308 0.467349 -vt 0.448794 0.466109 -vt 0.436308 0.472753 -vt 0.436308 0.477183 -vt 0.436308 0.481465 -vt 0.436308 0.485894 -vt 0.436308 0.488629 -vt 0.388955 0.488629 -vt 0.455471 0.488629 -vt 0.454497 0.488629 -vt 0.453522 0.488629 -vt 0.458394 0.488629 -vt 0.450532 0.512645 -vt 0.449558 0.512645 -vt 0.456445 0.488629 -vt 0.455471 0.488629 -vt 0.450532 0.512645 -vt 0.458394 0.488629 -vt 0.451054 0.488629 -vt 0.459659 0.488623 -vt 0.436308 0.488623 -vt 0.497029 0.461146 -vt 0.495684 0.492095 -vt 0.408405 0.519576 -vt 0.485020 0.461146 -vt 0.483676 0.523042 -vt 0.404684 0.519576 -vt 0.495684 0.523042 -vt 0.483676 0.492095 -vt 0.405925 0.519576 -vt 0.424300 0.547059 -vt 0.471667 0.523042 -vt 0.448317 0.519576 -vt 0.424300 0.488629 -vt 0.436308 0.516110 -vt 0.403444 0.519577 -vt 0.448317 0.516110 -vt 0.424300 0.523043 -vt 0.412126 0.488629 -vt 0.400963 0.488629 -vt 0.495684 0.468079 -vt 0.400963 0.519577 -vt 0.473012 0.461146 -vt 0.448317 0.547058 -vt 0.407165 0.519576 -vt 0.471667 0.492095 -vt 0.461004 0.461146 -vt 0.403444 0.519576 -vt 0.448995 0.461146 -vt 0.400963 0.547059 -vt 0.409645 0.519576 -vt 0.480653 0.945447 -vt 0.480653 0.945447 -vt 0.499856 0.945445 -vt 0.499856 0.945446 -vt 0.480375 0.945058 -vt 0.480653 0.945447 -vt 0.492321 0.935917 -vt 0.464424 0.935173 -vt 0.492413 0.936058 -vt 0.496127 0.936070 -vt 0.496703 0.936003 -vt 0.496100 0.935987 -vt 0.497579 0.936074 -vt 0.498186 0.936041 -vt 0.497563 0.936025 -vt 0.499025 0.936063 -vt 0.499030 0.936078 -vt 0.499712 0.936080 -vt 0.494638 0.935950 -vt 0.494676 0.936065 -vt 0.495219 0.935965 -vt 0.493762 0.935937 -vt 0.493196 0.935929 -vt 0.493864 0.936063 -vt 0.459750 0.955510 -vt 0.458651 0.966112 -vt 0.459143 0.955446 -vt 0.465158 0.933213 -vt 0.499679 0.933516 -vt 0.465099 0.933345 -vt 0.457744 0.948129 -vt 0.458904 0.941620 -vt 0.457750 0.948117 -vt 0.460044 0.940292 -vt 0.460584 0.940589 -vt 0.460777 0.940251 -vt 0.458306 0.948204 -vt 0.460019 0.942235 -vt 0.458875 0.948279 -vt 0.456818 0.956751 -vt 0.451711 0.942914 -vt 0.453169 0.942920 -vt 0.450413 0.940629 -vt 0.449944 0.937547 -vt 0.450004 0.937478 -vt 0.457941 0.952473 -vt 0.456818 0.956854 -vt 0.458607 0.954453 -vt 0.450541 0.940818 -vt 0.451423 0.942104 -vt 0.449496 0.942084 -vt 0.443256 0.434544 -vt 0.443255 0.434974 -vt 0.443256 0.434096 -vt 0.449883 0.961152 -vt 0.454064 0.961152 -vt 0.454112 0.961099 -vt 0.449865 0.960897 -vt 0.448679 0.942863 -vt 0.448596 0.942790 -vt 0.457074 0.966112 -vt 0.459182 0.966117 -vt 0.456382 0.966112 -vt 0.456818 0.956854 -vt 0.455417 0.942955 -vt 0.455516 0.942997 -vt 0.456382 0.966112 -vt 0.455153 0.961957 -vt 0.461194 0.946251 -vt 0.460083 0.952596 -vt 0.461194 0.946251 -vt 0.480375 0.945058 -vt 0.495572 0.936351 -vt 0.495901 0.936354 -vt 0.499724 0.937008 -vt 0.460138 0.939504 -vt 0.463158 0.937015 -vt 0.460115 0.939504 -vt 0.458651 0.966112 -vt 0.459750 0.955510 -vt 0.459142 0.955446 -vt 0.458067 0.966112 -vt 0.458543 0.955381 -vt 0.458067 0.966112 -vt 0.458543 0.955381 -vt 0.460759 0.945678 -vt 0.458883 0.952466 -vt 0.460277 0.945100 -vt 0.460066 0.952608 -vt 0.461129 0.946183 -vt 0.479840 0.944280 -vt 0.461961 0.944874 -vt 0.461961 0.944874 -vt 0.479840 0.944280 -vt 0.459757 0.955511 -vt 0.459235 0.966112 -vt 0.459757 0.955511 -vt 0.459480 0.952531 -vt 0.457744 0.948129 -vt 0.458891 0.941602 -vt 0.459452 0.941920 -vt 0.462312 0.945386 -vt 0.463158 0.937015 -vt 0.460138 0.939504 -vt 0.460115 0.939504 -vt 0.463158 0.937015 -vt 0.460571 0.939713 -vt 0.456818 0.956854 -vt 0.457564 0.952430 -vt 0.458905 0.941620 -vt 0.457750 0.948117 -vt 0.456818 0.956854 -vt 0.456818 0.956854 -vt 0.459182 0.966117 -vt 0.462312 0.945386 -vt 0.480653 0.945447 -vt 0.458883 0.952466 -vt 0.460759 0.945678 -vt 0.460277 0.945100 -vt 0.480653 0.945447 -vt 0.463835 0.935741 -vt 0.463158 0.937015 -vt 0.463835 0.935741 -vt 0.459480 0.952531 -vt 0.461129 0.946183 -vt 0.460066 0.952608 -vt 0.460019 0.942234 -vt 0.458306 0.948204 -vt 0.458875 0.948279 -vt 0.459452 0.941919 -vt 0.457565 0.952428 -vt 0.456818 0.956854 -vt 0.456818 0.956854 -vt 0.457941 0.952474 -vt 0.460570 0.939714 -vt 0.463158 0.937015 -vt 0.457193 0.952379 -vt 0.456818 0.956854 -vt 0.459534 0.940010 -vt 0.459513 0.939997 -vt 0.459026 0.940832 -vt 0.459055 0.940846 -vt 0.460046 0.940293 -vt 0.459635 0.941145 -vt 0.450898 0.940817 -vt 0.450641 0.940818 -vt 0.450547 0.940864 -vt 0.460587 0.940592 -vt 0.460231 0.941453 -vt 0.463158 0.937015 -vt 0.459632 0.941145 -vt 0.460226 0.941452 -vt 0.459058 0.940847 -vt 0.459536 0.940010 -vt 0.459026 0.940832 -vt 0.458891 0.941602 -vt 0.459513 0.939997 -vt 0.457193 0.952378 -vt 0.456818 0.956854 -vt 0.457511 0.949463 -vt 0.457508 0.949467 -vt 0.457306 0.951024 -vt 0.457307 0.951024 -vt 0.457193 0.952379 -vt 0.457789 0.951019 -vt 0.458603 0.949615 -vt 0.458039 0.949610 -vt 0.458266 0.951152 -vt 0.458605 0.949615 -vt 0.458058 0.949613 -vt 0.458266 0.951151 -vt 0.457811 0.951022 -vt 0.457512 0.949463 -vt 0.457306 0.951024 -vt 0.457508 0.949467 -vt 0.457307 0.951024 -vt 0.457193 0.952377 -vt 0.461268 0.945831 -vt 0.461206 0.945767 -vt 0.461834 0.945447 -vt 0.461761 0.945397 -vt 0.462381 0.945447 -vt 0.460891 0.945263 -vt 0.460909 0.944380 -vt 0.461403 0.944929 -vt 0.461455 0.944280 -vt 0.460891 0.945263 -vt 0.460460 0.944688 -vt 0.460909 0.944380 -vt 0.461403 0.944929 -vt 0.461455 0.944280 -vt 0.461206 0.945767 -vt 0.461761 0.945397 -vt 0.461268 0.945831 -vt 0.461834 0.945447 -vt 0.462381 0.945447 -vt 0.459803 0.954582 -vt 0.459803 0.954582 -vt 0.459922 0.953512 -vt 0.459322 0.953449 -vt 0.459918 0.953517 -vt 0.459199 0.954518 -vt 0.458607 0.954453 -vt 0.459199 0.954518 -vt 0.458731 0.953386 -vt 0.459322 0.953449 -vt 0.459803 0.954582 -vt 0.459918 0.953517 -vt 0.459803 0.954582 -vt 0.459922 0.953512 -vt 0.460083 0.952596 -vt 0.460776 0.940254 -vt 0.463158 0.937015 -vt 0.460850 0.939853 -vt 0.480653 0.945447 -vt 0.463873 0.936195 -vt 0.499735 0.937815 -vt 0.495556 0.936376 -vt 0.495361 0.936245 -vt 0.494630 0.936243 -vt 0.464424 0.935173 -vt 0.492270 0.935446 -vt 0.492270 0.935889 -vt 0.499712 0.936081 -vt 0.499025 0.936063 -vt 0.499056 0.935951 -vt 0.497583 0.935447 -vt 0.498161 0.935447 -vt 0.498161 0.935951 -vt 0.496688 0.935951 -vt 0.496110 0.935951 -vt 0.496110 0.935447 -vt 0.495215 0.935950 -vt 0.494637 0.935447 -vt 0.495215 0.935447 -vt 0.493742 0.935446 -vt 0.493164 0.935446 -vt 0.493779 0.935313 -vt 0.460865 0.939860 -vt 0.463158 0.937015 -vt 0.465938 0.933514 -vt 0.499679 0.933516 -vt 0.465938 0.933349 -vt 0.465179 0.933213 -vt 0.464987 0.933573 -vt 0.465100 0.933213 -vt 0.499680 0.933678 -vt 0.465305 0.933514 -vt 0.499676 0.933378 -vt 0.499676 0.933378 -vt 0.465938 0.933217 -vt 0.465938 0.933217 -vt 0.499677 0.933391 -vt 0.499677 0.933391 -vt 0.465938 0.933220 -vt 0.463808 0.936345 -vt 0.499735 0.937815 -vt 0.499724 0.937007 -vt 0.499970 0.945310 -vt 0.499971 0.945378 -vt 0.499971 0.945378 -vt 0.499913 0.945428 -vt 0.499913 0.945428 -vt 0.499861 0.937032 -vt 0.499872 0.937823 -vt 0.499861 0.937021 -vt 0.499803 0.937817 -vt 0.499793 0.937009 -vt 0.499850 0.936125 -vt 0.499849 0.936103 -vt 0.499781 0.936081 -vt 0.499839 0.935368 -vt 0.499840 0.935394 -vt 0.499771 0.935341 -vt 0.499702 0.935341 -vt 0.499861 0.937032 -vt 0.499872 0.937823 -vt 0.499872 0.937827 -vt 0.499861 0.937021 -vt 0.499803 0.937817 -vt 0.499793 0.937008 -vt 0.499850 0.936125 -vt 0.499849 0.936103 -vt 0.499781 0.936080 -vt 0.499839 0.935368 -vt 0.499771 0.935341 -vt 0.499872 0.937827 -vt 0.499970 0.945310 -vt 0.499816 0.933533 -vt 0.499814 0.933442 -vt 0.499815 0.933509 -vt 0.499815 0.933463 -vt 0.499745 0.933378 -vt 0.499746 0.933392 -vt 0.499816 0.933568 -vt 0.499747 0.933517 -vt 0.499817 0.933621 -vt 0.499818 0.933712 -vt 0.499749 0.933679 -vt 0.499817 0.933621 -vt 0.499818 0.933712 -vt 0.499818 0.933747 -vt 0.499816 0.933568 -vt 0.499749 0.933679 -vt 0.499747 0.933517 -vt 0.499680 0.933678 -vt 0.499816 0.933533 -vt 0.499815 0.933463 -vt 0.499746 0.933392 -vt 0.499814 0.933442 -vt 0.499745 0.933378 -vt 0.499815 0.933509 -vt 0.499840 0.935394 -vt 0.499702 0.935341 -vt 0.499818 0.933747 -vt 0.492885 0.935017 -vt 0.492550 0.935017 -vt 0.496076 0.935324 -vt 0.496759 0.935185 -vt 0.496721 0.935327 -vt 0.497551 0.935331 -vt 0.498211 0.935262 -vt 0.498192 0.935334 -vt 0.499026 0.935338 -vt 0.499017 0.935305 -vt 0.495297 0.935144 -vt 0.494555 0.935144 -vt 0.495350 0.935110 -vt 0.465139 0.933287 -vt 0.465020 0.933513 -vt 0.464994 0.933561 -vt 0.465019 0.933514 -vt 0.463452 0.937012 -vt 0.463305 0.937014 -vt 0.460873 0.939978 -vt 0.463174 0.936996 -vt 0.464264 0.935135 -vt 0.464249 0.935163 -vt 0.464262 0.935135 -vt 0.464177 0.935168 -vt 0.464097 0.935248 -vt 0.464137 0.935173 -vt 0.464245 0.935165 -vt 0.465158 0.933503 -vt 0.463802 0.936340 -vt 0.463658 0.936342 -vt 0.463158 0.937015 -vt 0.460864 0.939974 -vt 0.463175 0.936983 -vt 0.463158 0.937015 -vt 0.463232 0.936875 -vt 0.464111 0.935760 -vt 0.463960 0.935750 -vt 0.463829 0.935753 -vt 0.464134 0.935179 -vt 0.464098 0.935246 -vt 0.464137 0.935176 -vt 0.464066 0.935559 -vt 0.464222 0.935568 -vt 0.464050 0.935337 -vt 0.464050 0.935337 -vt 0.456799 0.956651 -vt 0.455140 0.942927 -vt 0.451711 0.942915 -vt 0.456818 0.956823 -vt 0.453166 0.942916 -vt 0.455415 0.942944 -vt 0.455516 0.942997 -vt 0.455139 0.942921 -vt 0.456806 0.956735 -vt 0.449272 0.941887 -vt 0.448151 0.939529 -vt 0.448863 0.938745 -vt 0.450004 0.937478 -vt 0.450347 0.940697 -vt 0.449814 0.937698 -vt 0.450402 0.940638 -vt 0.449883 0.961152 -vt 0.450134 0.961122 -vt 0.454474 0.960599 -vt 0.450641 0.940818 -vt 0.450898 0.940817 -vt 0.450547 0.940864 -vt 0.449944 0.937547 -vt 0.450413 0.940629 -vt 0.451081 0.940818 -vt 0.446701 0.936961 -vt 0.448124 0.938079 -vt 0.446589 0.938032 -vt 0.448151 0.939528 -vt 0.449271 0.941890 -vt 0.448863 0.938744 -vt 0.450402 0.940638 -vt 0.449814 0.937698 -vt 0.450347 0.940697 -vt 0.449002 0.937069 -vt 0.446614 0.936792 -vt 0.446701 0.936961 -vt 0.449495 0.942087 -vt 0.448781 0.942889 -vt 0.451418 0.942106 -vt 0.450541 0.940818 -vt 0.451081 0.940818 -vt 0.453155 0.940813 -vt 0.454118 0.940814 -vt 0.453996 0.940810 -vt 0.455305 0.940816 -vt 0.455186 0.940796 -vt 0.455435 0.942143 -vt 0.455329 0.942103 -vt 0.452689 0.940815 -vt 0.453440 0.940814 -vt 0.454864 0.940817 -vt 0.455030 0.942093 -vt 0.452295 0.940817 -vt 0.451903 0.940816 -vt 0.452784 0.940818 -vt 0.452976 0.942095 -vt 0.450756 0.940817 -vt 0.451903 0.940816 -vt 0.452294 0.940817 -vt 0.452782 0.940818 -vt 0.452965 0.942094 -vt 0.452689 0.940815 -vt 0.453440 0.940814 -vt 0.454860 0.940817 -vt 0.455025 0.942089 -vt 0.453996 0.940810 -vt 0.453155 0.940813 -vt 0.455185 0.940796 -vt 0.455328 0.942095 -vt 0.454118 0.940814 -vt 0.453305 0.940814 -vt 0.455305 0.940816 -vt 0.455435 0.942142 -vt 0.453305 0.940814 -vt 0.447408 0.938859 -vt 0.446590 0.938032 -vt 0.446591 0.938837 -vt 0.446614 0.936792 -vt 0.449002 0.937069 -vt 0.449215 0.936891 -vt 0.446586 0.936733 -vt 0.448125 0.938078 -vt 0.447408 0.938860 -vt 0.446591 0.938837 -vt 0.450536 0.940818 -vt 0.450454 0.940876 -vt 0.450426 0.940727 -vt 0.450491 0.940802 -vt 0.450361 0.940799 -vt 0.449400 0.942053 -vt 0.450436 0.940726 -vt 0.448783 0.942885 -vt 0.448680 0.942859 -vt 0.449313 0.941978 -vt 0.448559 0.942688 -vt 0.449399 0.942056 -vt 0.449313 0.941980 -vt 0.448558 0.942692 -vt 0.450491 0.940802 -vt 0.450436 0.940726 -vt 0.450454 0.940876 -vt 0.450361 0.940799 -vt 0.450536 0.940818 -vt 0.450426 0.940727 -vt 0.449895 0.937211 -vt 0.449961 0.937149 -vt 0.449621 0.936840 -vt 0.449560 0.936910 -vt 0.449290 0.936828 -vt 0.449701 0.937400 -vt 0.449357 0.937136 -vt 0.449215 0.936891 -vt 0.448732 0.938435 -vt 0.448453 0.938176 -vt 0.448023 0.939200 -vt 0.447749 0.938953 -vt 0.448024 0.939199 -vt 0.448454 0.938175 -vt 0.447750 0.938953 -vt 0.448733 0.938434 -vt 0.449357 0.937135 -vt 0.449701 0.937400 -vt 0.449895 0.937211 -vt 0.449621 0.936840 -vt 0.449560 0.936910 -vt 0.449290 0.936828 -vt 0.449961 0.937149 -vt 0.446586 0.936733 -vt 0.454064 0.961152 -vt 0.449883 0.961152 -vt 0.454112 0.961099 -vt 0.449866 0.960897 -vt 0.449883 0.961152 -vt 0.457766 0.966112 -vt 0.455617 0.961312 -vt 0.457074 0.966112 -vt 0.455620 0.961307 -vt 0.457766 0.966112 -vt 0.446923 0.965457 -vt 0.449627 0.965515 -vt 0.449627 0.961524 -vt 0.449883 0.961152 -vt 0.454472 0.960604 -vt 0.455198 0.961885 -vt 0.456454 0.966146 -vt 0.455153 0.961957 -vt 0.455198 0.961885 -vt 0.456454 0.966146 -vt 0.454522 0.961153 -vt 0.454566 0.961115 -vt 0.455024 0.961523 -vt 0.454950 0.960604 -vt 0.455039 0.961473 -vt 0.454887 0.960042 -vt 0.455400 0.960024 -vt 0.455403 0.960912 -vt 0.456101 0.960648 -vt 0.454884 0.960049 -vt 0.454947 0.960609 -vt 0.455397 0.960032 -vt 0.455400 0.960917 -vt 0.455850 0.960272 -vt 0.456097 0.960655 -vt 0.454566 0.961115 -vt 0.455039 0.961473 -vt 0.454522 0.961153 -vt 0.455024 0.961523 -vt 0.446587 0.965252 -vt 0.448598 0.942786 -vt 0.446638 0.965354 -vt 0.443254 0.460643 -vt 0.443255 0.434933 -vt 0.443946 0.434912 -vt 0.443254 0.460102 -vt 0.443254 0.460065 -vt 0.443254 0.460660 -vt 0.443256 0.434156 -vt 0.443255 0.433424 -vt 0.443258 0.433474 -vt 0.443950 0.432804 -vt 0.443966 0.432862 -vt 0.444633 0.432827 -vt 0.444661 0.432886 -vt 0.443257 0.434304 -vt 0.443259 0.433734 -vt 0.444010 0.433041 -vt 0.444748 0.433055 -vt 0.443257 0.434270 -vt 0.443949 0.434099 -vt 0.444636 0.434126 -vt 0.444638 0.434931 -vt 0.443256 0.434544 -vt 0.443255 0.434933 -vt 0.443257 0.434270 -vt 0.443946 0.434912 -vt 0.443949 0.434098 -vt 0.444636 0.434125 -vt 0.443259 0.433734 -vt 0.443257 0.434304 -vt 0.444010 0.433041 -vt 0.444748 0.433055 -vt 0.443258 0.433474 -vt 0.443256 0.434156 -vt 0.443966 0.432862 -vt 0.444661 0.432886 -vt 0.443255 0.433424 -vt 0.443256 0.434096 -vt 0.443950 0.432804 -vt 0.444633 0.432827 -vt 0.443254 0.461350 -vt 0.443254 0.460706 -vt 0.443254 0.461350 -vt 0.443942 0.461948 -vt 0.443942 0.461948 -vt 0.444593 0.462035 -vt 0.444633 0.462040 -vt 0.444633 0.462040 -vt 0.449883 0.965523 -vt 0.443254 0.460643 -vt 0.443255 0.434974 -vt 0.492270 0.935446 -vt 0.492270 0.935889 -vt 0.499056 0.935447 -vt 0.499056 0.935951 -vt 0.497583 0.935447 -vt 0.497583 0.935951 -vt 0.498161 0.935951 -vt 0.496110 0.935447 -vt 0.496110 0.935951 -vt 0.496688 0.935951 -vt 0.495215 0.935447 -vt 0.494637 0.935447 -vt 0.495215 0.935951 -vt 0.493164 0.935912 -vt 0.493743 0.935927 -vt 0.493743 0.935447 -vt 0.496968 0.935017 -vt 0.497303 0.935017 -vt 0.456818 0.956854 -vt 0.449883 0.965531 -vt 0.449883 0.965774 -vt 0.449883 0.965849 -vt 0.446587 0.965251 -vt 0.443942 0.461247 -vt 0.446638 0.965354 -vt 0.450130 0.961098 -vt 0.450134 0.961122 -vt 0.449883 0.961152 -vt 0.449883 0.965517 -vt 0.443254 0.459967 -vt 0.443254 0.459967 -vt 0.449883 0.961152 -vt 0.447120 0.965912 -vt 0.449849 0.965947 -vt 0.449883 0.965523 -vt 0.446740 0.965947 -vt 0.446587 0.965947 -vt 0.446673 0.965947 -vt 0.449867 0.960897 -vt 0.449767 0.965947 -vt 0.459235 0.966112 -vt 0.463835 0.935741 -vt 0.464145 0.935159 -vt 0.465179 0.933213 -vt 0.463835 0.935741 -vt 0.450756 0.940817 -vt 0.460460 0.944688 -vt 0.458731 0.953386 -vt 0.492314 0.935930 -vt 0.496703 0.936004 -vt 0.496141 0.936049 -vt 0.496100 0.935988 -vt 0.498186 0.936042 -vt 0.497587 0.936062 -vt 0.497562 0.936026 -vt 0.499033 0.936075 -vt 0.494695 0.936036 -vt 0.494637 0.935950 -vt 0.495220 0.935965 -vt 0.493759 0.935943 -vt 0.493192 0.935938 -vt 0.493743 0.935927 -vt 0.463158 0.937015 -vt 0.465938 0.933517 -vt 0.465099 0.933347 -vt 0.465938 0.933217 -vt 0.465099 0.933213 -vt 0.496968 0.935017 -vt 0.496770 0.935144 -vt 0.496028 0.935144 -vt 0.464448 0.935128 -vt 0.464444 0.935128 -vt 0.461010 0.939933 -vt 0.464138 0.935172 -vt 0.463676 0.936040 -vt 0.464087 0.935266 -vt 0.464050 0.935337 -vt 0.449627 0.961524 -vt 0.446923 0.965457 -vt 0.450108 0.961012 -vt 0.450108 0.961012 -vt 0.455853 0.960265 -vt 0.443943 0.461247 -vt 0.444633 0.461345 -vt 0.444638 0.434931 -vt 0.443254 0.460660 -vt 0.444633 0.461345 -vt 0.450130 0.961097 -vt 0.449883 0.965531 -vt 0.449867 0.960897 -vt 0.449866 0.960897 -vt 0.449627 0.965515 -vt 0.449865 0.960897 -vt 0.443254 0.460320 -vt 0.443254 0.460596 -vt 0.446610 0.965947 -vt 0.446587 0.965947 -vt 0.446638 0.965947 -vt 0.446879 0.965521 -vt 0.446626 0.965889 -vt 0.443254 0.460574 -vt 0.443254 0.460314 -vt 0.443254 0.460065 -vt 0.446748 0.965712 -vt 0.443899 0.461595 -vt 0.444610 0.462037 -vt 0.443899 0.461919 -vt 0.443899 0.461596 -vt 0.444605 0.461695 -vt 0.444590 0.462035 -vt 0.443899 0.461919 -vt 0.443221 0.460992 -vt 0.443221 0.461278 -vt 0.443221 0.460992 -vt 0.443221 0.461278 -vt 0.493990 0.935038 -vt 0.465938 0.933548 -vt 0.492884 0.935017 -vt 0.494601 0.935317 -vt 0.495250 0.935320 -vt 0.495297 0.935144 -vt 0.499026 0.935338 -vt 0.499017 0.935305 -vt 0.498211 0.935262 -vt 0.497551 0.935331 -vt 0.498192 0.935334 -vt 0.496759 0.935185 -vt 0.496076 0.935324 -vt 0.496721 0.935327 -vt 0.394630 0.955078 -vt 0.414629 0.955078 -vt 0.384229 0.955078 -vt 0.457031 0.432451 -vt 0.457031 0.457598 -vt 0.457031 0.462891 -vt 0.381426 0.943359 -vt 0.384072 0.943359 -vt 0.384072 0.943359 -vt 0.386719 0.943359 -vt 0.387353 0.964548 -vt 0.387353 0.943359 -vt 0.387987 0.964242 -vt 0.387987 0.943359 -vt 0.393285 0.961687 -vt 0.393885 0.961220 -vt 0.394322 0.960524 -vt 0.374156 0.928124 -vt 0.374158 0.929191 -vt 0.375993 0.928140 -vt 0.379312 0.931301 -vt 0.381299 0.925995 -vt 0.381299 0.925995 -vt 0.375993 0.918545 -vt 0.375993 0.917510 -vt 0.374248 0.917495 -vt 0.368701 0.929207 -vt 0.367042 0.928110 -vt 0.367042 0.929204 -vt 0.372347 0.917480 -vt 0.372347 0.918575 -vt 0.374007 0.918564 -vt 0.381299 0.928158 -vt 0.382958 0.929162 -vt 0.382958 0.928152 -vt 0.377653 0.917522 -vt 0.377653 0.918532 -vt 0.372347 0.928110 -vt 0.370688 0.929207 -vt 0.372347 0.929204 -vt 0.374007 0.928121 -vt 0.373293 0.928114 -vt 0.377653 0.928152 -vt 0.379312 0.929156 -vt 0.379312 0.928158 -vt 0.375993 0.929174 -vt 0.370688 0.925995 -vt 0.368701 0.931301 -vt 0.370688 0.925995 -vt 0.374007 0.928123 -vt 0.374009 0.929192 -vt 0.375993 0.928140 -vt 0.381299 0.925995 -vt 0.379312 0.931301 -vt 0.379312 0.931301 -vt 0.374007 0.917492 -vt 0.374007 0.918563 -vt 0.374097 0.918561 -vt 0.368701 0.929206 -vt 0.367042 0.928111 -vt 0.367042 0.929203 -vt 0.372347 0.917481 -vt 0.372347 0.918573 -vt 0.381569 0.928157 -vt 0.381299 0.928158 -vt 0.381299 0.929156 -vt 0.375993 0.918544 -vt 0.376737 0.918540 -vt 0.377653 0.918532 -vt 0.372347 0.928111 -vt 0.370688 0.929205 -vt 0.372347 0.929203 -vt 0.374007 0.928123 -vt 0.373290 0.928115 -vt 0.378739 0.928156 -vt 0.377653 0.928152 -vt 0.377653 0.929162 -vt 0.375993 0.929174 -vt 0.376716 0.929169 -vt 0.370688 0.925995 -vt 0.368701 0.931301 -vt 0.370688 0.925995 -vt 0.375993 0.928140 -vt 0.374007 0.929191 -vt 0.375993 0.929174 -vt 0.381299 0.925995 -vt 0.379312 0.931301 -vt 0.379312 0.931301 -vt 0.374007 0.917493 -vt 0.375993 0.918544 -vt 0.375993 0.917511 -vt 0.368701 0.929205 -vt 0.367042 0.928112 -vt 0.367042 0.929202 -vt 0.372347 0.917482 -vt 0.372347 0.918572 -vt 0.373924 0.918562 -vt 0.382514 0.929160 -vt 0.382958 0.928153 -vt 0.382514 0.928154 -vt 0.377653 0.917523 -vt 0.377653 0.918532 -vt 0.372347 0.928113 -vt 0.370688 0.929204 -vt 0.372347 0.929202 -vt 0.373798 0.928121 -vt 0.373802 0.929193 -vt 0.379312 0.929156 -vt 0.377653 0.928153 -vt 0.377653 0.929161 -vt 0.377641 0.928153 -vt 0.370688 0.925995 -vt 0.368701 0.931301 -vt 0.368701 0.931301 -vt 0.375993 0.928141 -vt 0.374007 0.929191 -vt 0.375993 0.929173 -vt 0.381299 0.925995 -vt 0.379312 0.931301 -vt 0.379312 0.931301 -vt 0.374007 0.917493 -vt 0.375993 0.918544 -vt 0.375993 0.917511 -vt 0.368701 0.929204 -vt 0.367042 0.928113 -vt 0.367042 0.929201 -vt 0.373716 0.917491 -vt 0.372347 0.917483 -vt 0.373712 0.918563 -vt 0.382958 0.929161 -vt 0.381299 0.928159 -vt 0.381299 0.929156 -vt 0.377653 0.918532 -vt 0.377653 0.917523 -vt 0.372347 0.928114 -vt 0.370688 0.929203 -vt 0.372347 0.929201 -vt 0.374007 0.928123 -vt 0.373590 0.928120 -vt 0.379312 0.929156 -vt 0.377653 0.928153 -vt 0.377653 0.929161 -vt 0.377211 0.929165 -vt 0.370688 0.925995 -vt 0.368701 0.931301 -vt 0.370688 0.925995 -vt 0.375993 0.928141 -vt 0.374007 0.929191 -vt 0.375993 0.929173 -vt 0.381299 0.925995 -vt 0.379312 0.931301 -vt 0.379312 0.931301 -vt 0.374007 0.917493 -vt 0.375993 0.918544 -vt 0.375993 0.917511 -vt 0.368701 0.929203 -vt 0.367042 0.928114 -vt 0.367042 0.929200 -vt 0.372347 0.918570 -vt 0.373285 0.918567 -vt 0.373500 0.918564 -vt 0.381299 0.929155 -vt 0.382958 0.928153 -vt 0.381299 0.928159 -vt 0.377653 0.917523 -vt 0.377013 0.917518 -vt 0.372347 0.928115 -vt 0.370688 0.929202 -vt 0.372347 0.929199 -vt 0.374007 0.928123 -vt 0.373381 0.928119 -vt 0.377653 0.929161 -vt 0.379312 0.928159 -vt 0.377653 0.928153 -vt 0.376781 0.928146 -vt 0.370688 0.925995 -vt 0.368701 0.931301 -vt 0.368701 0.931301 -vt 0.449638 0.965947 -vt 0.447125 0.965947 -vt 0.449883 0.965947 -vt 0.446850 0.965946 -vt 0.449857 0.965750 -vt 0.449849 0.965820 -vt 0.449883 0.965702 -vt 0.449883 0.965774 -vt 0.449883 0.965947 -vt 0.449883 0.965947 -vt 0.449883 0.965947 -vt 0.449878 0.965925 -vt 0.449767 0.965947 -vt 0.446954 0.965515 -vt 0.449883 0.961202 -vt 0.449883 0.961202 -vt 0.449755 0.965516 -vt 0.449883 0.965516 -vt 0.449883 0.965517 -vt 0.449883 0.965517 -vt 0.449883 0.965516 -vt 0.449883 0.965516 -vt 0.449883 0.965515 -vt 0.449755 0.961338 -vt 0.449755 0.961338 -vt 0.449755 0.965516 -vt 0.449883 0.965517 -vt 0.449883 0.961152 -vt 0.496767 0.936071 -vt 0.498219 0.936076 -vt 0.495316 0.936067 -vt 0.494637 0.935950 -vt 0.493225 0.936061 -vt 0.498987 0.936251 -vt 0.492440 0.936015 -vt 0.492486 0.936195 -vt 0.492681 0.936326 -vt 0.498793 0.936380 -vt 0.493010 0.936329 -vt 0.498464 0.936377 -vt 0.498224 0.936068 -vt 0.498270 0.936245 -vt 0.497347 0.936367 -vt 0.494126 0.936339 -vt 0.494455 0.936342 -vt 0.497541 0.936239 -vt 0.493204 0.936201 -vt 0.493250 0.936023 -vt 0.493932 0.936207 -vt 0.493886 0.936028 -vt 0.497018 0.936364 -vt 0.496778 0.936054 -vt 0.496824 0.936232 -vt 0.496096 0.936226 -vt 0.494650 0.936214 -vt 0.495378 0.936220 -vt 0.495332 0.936041 -vt 0.498264 0.936254 -vt 0.497533 0.936252 -vt 0.498459 0.936384 -vt 0.497338 0.936381 -vt 0.498790 0.936385 -vt 0.498984 0.936256 -vt 0.492458 0.936237 -vt 0.463979 0.935974 -vt 0.492653 0.936368 -vt 0.492984 0.936369 -vt 0.497008 0.936380 -vt 0.493910 0.936241 -vt 0.493179 0.936239 -vt 0.496813 0.936250 -vt 0.496082 0.936247 -vt 0.495887 0.936377 -vt 0.494105 0.936372 -vt 0.494435 0.936373 -vt 0.492308 0.935306 -vt 0.499056 0.935447 -vt 0.497583 0.935951 -vt 0.496688 0.935447 -vt 0.494637 0.935950 -vt 0.494601 0.935317 -vt 0.495250 0.935320 -vt 0.493164 0.935912 -vt 0.493127 0.935310 -vt 0.493824 0.935144 -vt 0.493082 0.935144 -vt 0.492352 0.935144 -vt 0.493990 0.935038 -vt 0.496029 0.935146 -vt 0.497523 0.935226 -vt 0.494426 0.935061 -vt 0.446954 0.965515 -vt 0.492308 0.935306 -vt 0.498161 0.935447 -vt 0.496688 0.935447 -vt 0.493779 0.935313 -vt 0.493164 0.935447 -vt 0.493127 0.935310 -vt 0.498974 0.935144 -vt 0.494022 0.935017 -vt 0.494357 0.935017 -vt 0.494426 0.935061 -vt 0.495495 0.935017 -vt 0.495350 0.935110 -vt 0.498776 0.935017 -vt 0.498441 0.935017 -vt 0.497523 0.935226 -vt 0.498243 0.935144 -vt 0.497501 0.935144 -vt 0.495830 0.935017 -vt 0.496028 0.935144 -vt 0.496029 0.935146 -vt 0.496770 0.935144 -vt 0.446923 0.965947 -vt 0.446954 0.965947 -vt 0.446750 0.965947 -vt 0.446587 0.965947 -vt 0.465938 0.933217 -vt 0.498243 0.935144 -vt 0.497501 0.935144 -vt 0.498441 0.935017 -vt 0.497303 0.935017 -vt 0.498776 0.935017 -vt 0.498974 0.935144 -vt 0.494022 0.935017 -vt 0.495495 0.935017 -vt 0.494357 0.935017 -vt 0.495830 0.935017 -vt 0.446587 0.965947 -vt 0.444610 0.461696 -vt 0.465626 0.935128 -vt 0.492352 0.935144 -vt 0.465782 0.935086 -vt 0.492550 0.935017 -vt 0.465896 0.934972 -vt 0.465938 0.934816 -vt 0.493082 0.935144 -vt 0.493824 0.935144 -vt 0.494555 0.935144 -vt 0.384915 0.955078 -vt 0.384915 0.955078 -vt 0.388030 0.955078 -vt 0.384915 0.955078 -vt 0.384964 0.955078 -vt 0.388059 0.955078 -vt 0.389336 0.955078 -vt 0.391554 0.955078 -vt 0.391590 0.955078 -vt 0.394561 0.955078 -vt 0.384915 0.955078 -vt 0.384229 0.955078 -vt 0.384229 0.955078 -vt 0.414629 0.955078 -vt 0.384229 0.955078 -vt 0.457031 0.460244 -vt 0.457031 0.462182 -vt 0.457031 0.462891 -vt 0.457031 0.450003 -vt 0.457031 0.427198 -vt 0.381426 0.943359 -vt 0.386719 0.964773 -vt 0.394332 0.960508 -vt 0.394492 0.959767 -vt 0.394496 0.959750 -vt 0.393149 0.961756 -vt 0.394496 0.943359 -vt 0.393273 0.961696 -vt 0.374007 0.929193 -vt 0.379312 0.931301 -vt 0.374007 0.917491 -vt 0.374246 0.918560 -vt 0.368701 0.928107 -vt 0.373294 0.918571 -vt 0.373292 0.917484 -vt 0.381299 0.929157 -vt 0.376775 0.917515 -vt 0.376775 0.918540 -vt 0.370688 0.928108 -vt 0.373292 0.929200 -vt 0.377653 0.929162 -vt 0.376754 0.929169 -vt 0.376754 0.928145 -vt 0.368701 0.931301 -vt 0.374007 0.929192 -vt 0.381299 0.925995 -vt 0.374100 0.917493 -vt 0.375993 0.917510 -vt 0.368701 0.928108 -vt 0.373292 0.918570 -vt 0.373291 0.917485 -vt 0.381569 0.929157 -vt 0.382958 0.929162 -vt 0.382958 0.928152 -vt 0.377653 0.917522 -vt 0.376737 0.917515 -vt 0.370688 0.928109 -vt 0.373290 0.929199 -vt 0.378739 0.929158 -vt 0.379312 0.929156 -vt 0.379312 0.928158 -vt 0.376716 0.928145 -vt 0.368701 0.931301 -vt 0.374007 0.928123 -vt 0.381299 0.925995 -vt 0.374007 0.918562 -vt 0.368701 0.928109 -vt 0.373928 0.917492 -vt 0.373290 0.917486 -vt 0.373289 0.918569 -vt 0.381299 0.928158 -vt 0.381299 0.929156 -vt 0.382958 0.929162 -vt 0.376699 0.917515 -vt 0.376699 0.918540 -vt 0.370688 0.928110 -vt 0.373288 0.928116 -vt 0.373289 0.929198 -vt 0.379312 0.928158 -vt 0.376678 0.928145 -vt 0.377641 0.929162 -vt 0.376678 0.929169 -vt 0.370688 0.925995 -vt 0.381299 0.925995 -vt 0.374007 0.918562 -vt 0.368701 0.928110 -vt 0.373289 0.917487 -vt 0.372347 0.918571 -vt 0.373287 0.918568 -vt 0.382958 0.928153 -vt 0.377431 0.917521 -vt 0.376661 0.917515 -vt 0.376661 0.918540 -vt 0.377431 0.918533 -vt 0.370688 0.928111 -vt 0.373286 0.928117 -vt 0.373288 0.929197 -vt 0.373593 0.929194 -vt 0.379312 0.928159 -vt 0.376640 0.928145 -vt 0.377211 0.928149 -vt 0.376640 0.929169 -vt 0.368701 0.931301 -vt 0.381299 0.925995 -vt 0.374007 0.918561 -vt 0.368701 0.928112 -vt 0.373504 0.917490 -vt 0.373288 0.917488 -vt 0.372347 0.917484 -vt 0.382958 0.929161 -vt 0.376623 0.917515 -vt 0.377653 0.918531 -vt 0.376623 0.918540 -vt 0.377013 0.918536 -vt 0.370688 0.928112 -vt 0.373284 0.928118 -vt 0.373287 0.929196 -vt 0.373385 0.929195 -vt 0.379312 0.929155 -vt 0.376602 0.928145 -vt 0.376602 0.929169 -vt 0.376781 0.929168 -vt 0.370688 0.925995 -vt 0.449883 0.961338 -vt 0.449883 0.961524 -vt 0.458032 0.487981 -vt 0.440621 0.480373 -vt 0.460227 0.480373 -vt 0.475442 0.465460 -vt 0.474495 0.457593 -vt 0.475442 0.457593 -vt 0.473710 0.465460 -vt 0.473092 0.457593 -vt 0.473710 0.457593 -vt 0.472306 0.465460 -vt 0.471689 0.457593 -vt 0.472306 0.457593 -vt 0.470903 0.465460 -vt 0.470286 0.457593 -vt 0.470903 0.457593 -vt 0.469500 0.465460 -vt 0.468977 0.457593 -vt 0.469500 0.457593 -vt 0.468191 0.465460 -vt 0.467573 0.457593 -vt 0.468191 0.457593 -vt 0.466788 0.465460 -vt 0.466170 0.457593 -vt 0.466788 0.457593 -vt 0.465385 0.465460 -vt 0.464767 0.457593 -vt 0.465385 0.457593 -vt 0.463981 0.465460 -vt 0.463364 0.457593 -vt 0.463981 0.457593 -vt 0.462578 0.465460 -vt 0.461961 0.457593 -vt 0.462578 0.457593 -vt 0.460227 0.465460 -vt 0.461175 0.457593 -vt 0.461175 0.465460 -vt 0.438426 0.487981 -vt 0.421015 0.480373 -vt 0.440621 0.480373 -vt 0.472306 0.516225 -vt 0.471689 0.508358 -vt 0.472306 0.508358 -vt 0.469500 0.516225 -vt 0.468977 0.508358 -vt 0.469500 0.508358 -vt 0.466788 0.516225 -vt 0.466170 0.508358 -vt 0.466788 0.508358 -vt 0.463981 0.516225 -vt 0.463364 0.508358 -vt 0.463981 0.508358 -vt 0.462578 0.516225 -vt 0.461961 0.508358 -vt 0.462578 0.508358 -vt 0.460227 0.508358 -vt 0.461175 0.516225 -vt 0.460227 0.516225 -vt 0.465385 0.508358 -vt 0.464767 0.516225 -vt 0.464767 0.508358 -vt 0.468191 0.508358 -vt 0.467573 0.516225 -vt 0.467573 0.508358 -vt 0.470903 0.508358 -vt 0.470286 0.516225 -vt 0.470286 0.508358 -vt 0.473710 0.508358 -vt 0.473092 0.516225 -vt 0.473092 0.508358 -vt 0.475442 0.508358 -vt 0.474495 0.516225 -vt 0.474495 0.508358 -vt 0.421015 0.503195 -vt 0.433871 0.518410 -vt 0.421015 0.518410 -vt 0.472704 0.516225 -vt 0.473321 0.531440 -vt 0.472704 0.531440 -vt 0.473321 0.516225 -vt 0.473939 0.531440 -vt 0.473321 0.531440 -vt 0.450745 0.503195 -vt 0.451362 0.518410 -vt 0.450745 0.518410 -vt 0.474556 0.516225 -vt 0.475173 0.531440 -vt 0.474556 0.531440 -vt 0.429240 0.518410 -vt 0.429857 0.533624 -vt 0.429240 0.533624 -vt 0.471140 0.531440 -vt 0.470192 0.516225 -vt 0.471140 0.516225 -vt 0.473939 0.531440 -vt 0.474556 0.516225 -vt 0.474556 0.531440 -vt 0.472087 0.531440 -vt 0.472704 0.516225 -vt 0.472704 0.531440 -vt 0.432209 0.533624 -vt 0.432732 0.518410 -vt 0.432732 0.533624 -vt 0.428623 0.533624 -vt 0.429240 0.518410 -vt 0.429240 0.533624 -vt 0.471140 0.531440 -vt 0.472087 0.516225 -vt 0.472087 0.531440 -vt 0.474262 0.501224 -vt 0.423211 0.472766 -vt 0.438426 0.472766 -vt 0.470286 0.465460 -vt 0.474262 0.472594 -vt 0.442817 0.472766 -vt 0.458032 0.472766 -vt 0.490657 0.499000 -vt 0.483049 0.516411 -vt 0.483049 0.496805 -vt 0.498264 0.459789 -vt 0.490657 0.477199 -vt 0.490657 0.457593 -vt 0.499050 0.477199 -vt 0.498264 0.457593 -vt 0.499050 0.457593 -vt 0.467835 0.518421 -vt 0.460227 0.535831 -vt 0.460227 0.516225 -vt 0.483049 0.518606 -vt 0.475442 0.536016 -vt 0.475442 0.516411 -vt 0.450657 0.522801 -vt 0.449871 0.503195 -vt 0.450657 0.503195 -vt 0.498264 0.518606 -vt 0.490657 0.536016 -vt 0.490657 0.516411 -vt 0.498264 0.499000 -vt 0.490657 0.516411 -vt 0.490657 0.496805 -vt 0.499050 0.496805 -vt 0.498264 0.477199 -vt 0.499050 0.477199 -vt 0.490657 0.518606 -vt 0.483049 0.536016 -vt 0.483049 0.516411 -vt 0.498264 0.479394 -vt 0.490657 0.496805 -vt 0.490657 0.477199 -vt 0.470192 0.535831 -vt 0.469406 0.516225 -vt 0.470192 0.516225 -vt 0.483050 0.479394 -vt 0.490657 0.496805 -vt 0.483049 0.494609 -vt 0.490657 0.459789 -vt 0.483049 0.477199 -vt 0.483049 0.457593 -vt 0.449871 0.503195 -vt 0.449086 0.522801 -vt 0.449086 0.503195 -vt 0.458969 0.509782 -vt 0.451362 0.527193 -vt 0.451362 0.507587 -vt 0.421016 0.535820 -vt 0.428623 0.518410 -vt 0.428623 0.538016 -vt 0.468621 0.516225 -vt 0.469406 0.535831 -vt 0.468621 0.535831 -vt 0.441478 0.524997 -vt 0.449086 0.542407 -vt 0.441478 0.540211 -vt 0.433871 0.540211 -vt 0.441478 0.522801 -vt 0.441478 0.542407 -vt 0.459755 0.507587 -vt 0.458969 0.487981 -vt 0.459755 0.487981 -vt 0.449086 0.505391 -vt 0.441478 0.522801 -vt 0.441478 0.503195 -vt 0.441478 0.505391 -vt 0.433871 0.522801 -vt 0.433871 0.503195 -vt 0.499050 0.516411 -vt 0.498264 0.496805 -vt 0.499050 0.496805 -vt 0.483049 0.499000 -vt 0.475442 0.516411 -vt 0.475442 0.496805 -vt 0.483049 0.479394 -vt 0.475442 0.496805 -vt 0.475442 0.477199 -vt 0.459755 0.527193 -vt 0.458969 0.507587 -vt 0.459755 0.507587 -vt 0.483049 0.459789 -vt 0.475442 0.477199 -vt 0.475442 0.457593 -vt 0.458969 0.490176 -vt 0.451362 0.507587 -vt 0.451362 0.487981 -vt 0.468621 0.535831 -vt 0.467835 0.516225 -vt 0.468621 0.516225 -vt 0.454161 0.457593 -vt 0.460231 0.486909 -vt 0.461407 0.472594 -vt 0.461407 0.486909 -vt 0.451362 0.503195 -vt 0.436189 0.491851 -vt 0.451362 0.487981 -vt 0.460231 0.486909 -vt 0.461407 0.501224 -vt 0.460231 0.501224 -vt 0.431033 0.518410 -vt 0.429857 0.525883 -vt 0.429857 0.518410 -vt 0.436189 0.503195 -vt 0.421015 0.491851 -vt 0.436189 0.487981 -vt 0.474262 0.486909 -vt 0.475438 0.472594 -vt 0.475438 0.486909 -vt 0.434555 0.457593 -vt 0.474262 0.486909 -vt 0.475438 0.501224 -vt 0.432209 0.518410 -vt 0.431033 0.525883 -vt 0.431033 0.518410 -vt 0.442817 0.487981 -vt 0.474495 0.465460 -vt 0.473092 0.465460 -vt 0.471689 0.465460 -vt 0.468977 0.465460 -vt 0.467573 0.465460 -vt 0.466170 0.465460 -vt 0.464767 0.465460 -vt 0.463364 0.465460 -vt 0.461961 0.465460 -vt 0.460227 0.457593 -vt 0.423211 0.487981 -vt 0.471689 0.516225 -vt 0.468977 0.516225 -vt 0.466170 0.516225 -vt 0.463364 0.516225 -vt 0.461961 0.516225 -vt 0.461175 0.508358 -vt 0.465385 0.516225 -vt 0.468191 0.516225 -vt 0.470903 0.516225 -vt 0.473710 0.516225 -vt 0.475442 0.516225 -vt 0.433871 0.503195 -vt 0.473321 0.516225 -vt 0.473939 0.516225 -vt 0.451362 0.503195 -vt 0.475173 0.516225 -vt 0.429857 0.518410 -vt 0.470192 0.531440 -vt 0.473939 0.516225 -vt 0.472087 0.516225 -vt 0.432209 0.518410 -vt 0.428623 0.518410 -vt 0.471140 0.516225 -vt 0.460231 0.472594 -vt 0.490657 0.514215 -vt 0.498264 0.475003 -vt 0.498264 0.477199 -vt 0.467835 0.533636 -vt 0.483049 0.533821 -vt 0.449871 0.522801 -vt 0.498264 0.533821 -vt 0.498264 0.514215 -vt 0.498264 0.496805 -vt 0.490657 0.533821 -vt 0.498264 0.494609 -vt 0.469406 0.535831 -vt 0.490657 0.477199 -vt 0.490657 0.475003 -vt 0.449871 0.522801 -vt 0.458969 0.524997 -vt 0.421015 0.520606 -vt 0.469406 0.516225 -vt 0.449086 0.522801 -vt 0.433871 0.524997 -vt 0.458969 0.507587 -vt 0.449086 0.520606 -vt 0.441478 0.520606 -vt 0.498264 0.516411 -vt 0.483049 0.514215 -vt 0.483049 0.494609 -vt 0.458969 0.527193 -vt 0.483049 0.475003 -vt 0.458969 0.505391 -vt 0.467835 0.535831 -vt 0.446688 0.457593 -vt 0.436189 0.499325 -vt 0.461407 0.486909 -vt 0.431033 0.525883 -vt 0.421015 0.499325 -vt 0.427082 0.457593 -vt 0.475438 0.486909 -vt 0.432209 0.525883 -vt 0.392944 0.909062 -vt 0.392680 0.907964 -vt 0.392944 0.907964 -vt 0.333519 0.933598 -vt 0.333671 0.919628 -vt 0.335513 0.933022 -vt 0.394641 0.965169 -vt 0.386055 0.960802 -vt 0.394641 0.960802 -vt 0.386055 0.949208 -vt 0.394641 0.949208 -vt 0.392328 0.912725 -vt 0.391360 0.911488 -vt 0.392328 0.911488 -vt 0.391360 0.909645 -vt 0.392328 0.909645 -vt 0.391360 0.907818 -vt 0.392328 0.907818 -vt 0.394641 0.898057 -vt 0.386055 0.905702 -vt 0.386055 0.898057 -vt 0.400101 0.954271 -vt 0.397767 0.957361 -vt 0.397767 0.948874 -vt 0.376370 0.905043 -vt 0.381479 0.903021 -vt 0.379176 0.905131 -vt 0.338413 0.949566 -vt 0.340748 0.949540 -vt 0.361284 0.947374 -vt 0.362937 0.936505 -vt 0.363089 0.950476 -vt 0.392944 0.910868 -vt 0.392680 0.909062 -vt 0.363983 0.951043 -vt 0.364317 0.952983 -vt 0.367729 0.958088 -vt 0.363471 0.959209 -vt 0.365050 0.958226 -vt 0.403227 0.898057 -vt 0.411814 0.928839 -vt 0.403227 0.928839 -vt 0.386055 0.972045 -vt 0.356637 0.962983 -vt 0.400101 0.906991 -vt 0.397767 0.906991 -vt 0.397767 0.901310 -vt 0.331866 0.922729 -vt 0.334900 0.917120 -vt 0.334566 0.919060 -vt 0.367831 0.920536 -vt 0.370166 0.920563 -vt 0.400101 0.948874 -vt 0.392944 0.912687 -vt 0.392680 0.912687 -vt 0.392680 0.910868 -vt 0.378681 0.904817 -vt 0.334053 0.910893 -vt 0.327219 0.907119 -vt 0.356637 0.898057 -vt 0.395124 0.958712 -vt 0.394641 0.981385 -vt 0.394641 0.958728 -vt 0.403227 0.958728 -vt 0.400101 0.957361 -vt 0.338312 0.912015 -vt 0.335632 0.911877 -vt 0.349263 0.965286 -vt 0.386055 0.965169 -vt 0.388667 0.967614 -vt 0.386055 0.973755 -vt 0.389707 0.970629 -vt 0.388039 0.973755 -vt 0.352061 0.967082 -vt 0.354673 0.972045 -vt 0.346952 0.965060 -vt 0.386055 0.965169 -vt 0.391360 0.912725 -vt 0.394641 0.905702 -vt 0.349758 0.964972 -vt 0.384091 0.898057 -vt 0.364931 0.937080 -vt 0.400101 0.898057 -vt 0.411814 0.898057 -vt 0.354349 0.967988 -vt 0.356078 0.969790 -vt 0.355740 0.970333 -vt 0.384503 0.901824 -vt 0.383516 0.902215 -vt 0.385158 0.899770 -vt 0.337206 0.912857 -vt 0.337206 0.912857 -vt 0.366623 0.957246 -vt 0.366314 0.956675 -vt 0.392504 0.909056 -vt 0.341670 0.947909 -vt 0.336174 0.932832 -vt 0.336834 0.932641 -vt 0.341209 0.948724 -vt 0.393120 0.907938 -vt 0.393120 0.909056 -vt 0.366252 0.937461 -vt 0.363997 0.948873 -vt 0.365592 0.937271 -vt 0.401664 0.948857 -vt 0.401664 0.955027 -vt 0.378884 0.907779 -vt 0.383417 0.902436 -vt 0.384083 0.903016 -vt 0.379030 0.906455 -vt 0.401664 0.898869 -vt 0.401664 0.906839 -vt 0.364934 0.947440 -vt 0.365470 0.955114 -vt 0.364444 0.949157 -vt 0.335026 0.920946 -vt 0.335969 0.915475 -vt 0.335516 0.922663 -vt 0.396204 0.906839 -vt 0.393120 0.912689 -vt 0.371088 0.922194 -vt 0.378783 0.906298 -vt 0.370627 0.921379 -vt 0.392504 0.912689 -vt 0.392504 0.910882 -vt 0.349365 0.963805 -vt 0.334579 0.921230 -vt 0.392504 0.907938 -vt 0.349612 0.963648 -vt 0.349466 0.962324 -vt 0.355970 0.968282 -vt 0.396204 0.956572 -vt 0.400101 0.957361 -vt 0.403227 0.981385 -vt 0.397767 0.957361 -vt 0.388039 0.965169 -vt 0.389707 0.968295 -vt 0.397767 0.898057 -vt 0.356024 0.968650 -vt 0.356637 0.968893 -vt 0.386055 0.901210 -vt 0.383511 0.903645 -vt 0.336765 0.916373 -vt 0.336461 0.914235 -vt 0.335936 0.915205 -vt 0.366623 0.957246 -vt 0.366623 0.957246 -vt 0.364905 0.947270 -vt 0.366467 0.956339 -vt 0.336737 0.915580 -vt 0.396204 0.900496 -vt 0.393120 0.910882 -vt 0.335487 0.922833 -vt 0.396204 0.948857 -vt 0.343217 0.586019 -vt 0.342763 0.586437 -vt 0.342706 0.586390 -vt 0.341836 0.585825 -vt 0.339950 0.585754 -vt 0.341818 0.585754 -vt 0.342834 0.590216 -vt 0.342545 0.589860 -vt 0.342872 0.590154 -vt 0.343752 0.580960 -vt 0.344706 0.581012 -vt 0.343845 0.581183 -vt 0.342558 0.586745 -vt 0.342337 0.587220 -vt 0.342489 0.586716 -vt 0.342625 0.582286 -vt 0.342872 0.581786 -vt 0.342694 0.582304 -vt 0.339240 0.580769 -vt 0.339509 0.585754 -vt 0.339240 0.585754 -vt 0.343417 0.586257 -vt 0.343007 0.586621 -vt 0.342951 0.586573 -vt 0.342827 0.586891 -vt 0.342758 0.586863 -vt 0.339950 0.580769 -vt 0.342625 0.589220 -vt 0.342872 0.589720 -vt 0.342812 0.589763 -vt 0.343845 0.586165 -vt 0.343445 0.586324 -vt 0.336182 0.585754 -vt 0.335732 0.580769 -vt 0.336182 0.580769 -vt 0.342625 0.587306 -vt 0.342337 0.590881 -vt 0.341848 0.585897 -vt 0.342337 0.585897 -vt 0.338383 0.585825 -vt 0.338413 0.585754 -vt 0.342337 0.589451 -vt 0.342483 0.589900 -vt 0.342337 0.582055 -vt 0.342545 0.581646 -vt 0.342407 0.582073 -vt 0.336484 0.585897 -vt 0.337473 0.585825 -vt 0.337481 0.585897 -vt 0.340562 0.585897 -vt 0.341425 0.585825 -vt 0.341412 0.585897 -vt 0.337871 0.590810 -vt 0.337481 0.585825 -vt 0.337871 0.585825 -vt 0.342827 0.584614 -vt 0.342625 0.584200 -vt 0.342694 0.584172 -vt 0.343725 0.590613 -vt 0.337481 0.590881 -vt 0.343845 0.590323 -vt 0.343303 0.590058 -vt 0.343872 0.590256 -vt 0.338413 0.580769 -vt 0.338916 0.585754 -vt 0.342407 0.587249 -vt 0.343445 0.585182 -vt 0.343845 0.585341 -vt 0.343417 0.585249 -vt 0.343725 0.585630 -vt 0.343247 0.585420 -vt 0.343753 0.585563 -vt 0.343270 0.590123 -vt 0.343303 0.581447 -vt 0.343872 0.581250 -vt 0.343725 0.580893 -vt 0.342872 0.581352 -vt 0.342834 0.581290 -vt 0.342483 0.581606 -vt 0.344706 0.581084 -vt 0.340562 0.590881 -vt 0.341425 0.590953 -vt 0.340547 0.590953 -vt 0.338383 0.580698 -vt 0.336200 0.580698 -vt 0.339509 0.580769 -vt 0.337473 0.590953 -vt 0.336484 0.590881 -vt 0.335963 0.590881 -vt 0.335414 0.585897 -vt 0.335963 0.585897 -vt 0.344706 0.580770 -vt 0.342407 0.584257 -vt 0.342951 0.584933 -vt 0.342758 0.584643 -vt 0.339240 0.585754 -vt 0.338916 0.580769 -vt 0.339240 0.580769 -vt 0.341848 0.590881 -vt 0.341412 0.590881 -vt 0.342706 0.585115 -vt 0.342558 0.584761 -vt 0.342763 0.585068 -vt 0.342337 0.585754 -vt 0.341818 0.580769 -vt 0.342337 0.580769 -vt 0.343007 0.584884 -vt 0.343247 0.586085 -vt 0.343725 0.585876 -vt 0.343753 0.585943 -vt 0.344706 0.590422 -vt 0.344706 0.590494 -vt 0.345628 0.585682 -vt 0.344706 0.580698 -vt 0.345628 0.580698 -vt 0.343217 0.585486 -vt 0.339223 0.585825 -vt 0.338414 0.590810 -vt 0.338414 0.585825 -vt 0.343270 0.581383 -vt 0.342812 0.581743 -vt 0.341836 0.580698 -vt 0.342337 0.584286 -vt 0.346421 0.580698 -vt 0.346421 0.585682 -vt 0.335732 0.585754 -vt 0.335414 0.580769 -vt 0.344778 0.585682 -vt 0.344706 0.585512 -vt 0.345478 0.585754 -vt 0.345478 0.590738 -vt 0.345092 0.590738 -vt 0.345019 0.590810 -vt 0.344778 0.590810 -vt 0.344706 0.590738 -vt 0.343752 0.590546 -vt 0.344706 0.590736 -vt 0.344706 0.585753 -vt 0.344706 0.585994 -vt 0.339921 0.585825 -vt 0.342694 0.589202 -vt 0.343872 0.586232 -vt 0.342694 0.587334 -vt 0.336200 0.585825 -vt 0.342407 0.589433 -vt 0.336504 0.585825 -vt 0.340547 0.585825 -vt 0.337481 0.590810 -vt 0.343872 0.585274 -vt 0.336504 0.590953 -vt 0.335414 0.590881 -vt 0.342489 0.584790 -vt 0.344706 0.585682 -vt 0.339223 0.590810 -vt 0.339921 0.580698 -vt 0.335414 0.585754 -vt 0.345406 0.590810 -vt 0.345164 0.590810 -vt 0.345092 0.585754 -vt 0.345164 0.585682 -vt 0.345406 0.585682 -vt 0.344706 0.585754 -vt 0.345092 0.585754 -vt 0.345019 0.585682 -vt 0.345092 0.590738 -vt 0.344706 0.590808 -vt 0.464345 0.174960 -vt 0.468978 0.174613 -vt 0.464626 0.176203 -vt 0.448554 0.199296 -vt 0.444938 0.198949 -vt 0.445219 0.197706 -vt 0.468978 0.178301 -vt 0.464789 0.178301 -vt 0.464710 0.176712 -vt 0.448877 0.197706 -vt 0.445304 0.197197 -vt 0.468978 0.180355 -vt 0.464763 0.180355 -vt 0.464777 0.179887 -vt 0.468978 0.182050 -vt 0.464507 0.182050 -vt 0.464710 0.181164 -vt 0.445304 0.192745 -vt 0.445268 0.192530 -vt 0.448877 0.191859 -vt 0.451495 0.187225 -vt 0.451727 0.187280 -vt 0.452054 0.191859 -vt 0.450480 0.174613 -vt 0.451334 0.178637 -vt 0.450688 0.179099 -vt 0.448508 0.174613 -vt 0.450390 0.179744 -vt 0.450390 0.186032 -vt 0.453434 0.186034 -vt 0.454962 0.184559 -vt 0.456533 0.184089 -vt 0.448508 0.191859 -vt 0.446437 0.174613 -vt 0.444820 0.174936 -vt 0.444763 0.174613 -vt 0.464170 0.174613 -vt 0.464170 0.187879 -vt 0.459633 0.181168 -vt 0.452699 0.177929 -vt 0.458987 0.184089 -vt 0.452699 0.184089 -vt 0.461136 0.193573 -vt 0.460373 0.194593 -vt 0.460203 0.194071 -vt 0.467086 0.195984 -vt 0.465859 0.198058 -vt 0.465458 0.197750 -vt 0.462939 0.189953 -vt 0.461713 0.187879 -vt 0.463412 0.189723 -vt 0.452699 0.175979 -vt 0.458987 0.174613 -vt 0.458987 0.175979 -vt 0.461090 0.195603 -vt 0.462685 0.192753 -vt 0.460321 0.191315 -vt 0.459739 0.190685 -vt 0.459786 0.190164 -vt 0.459633 0.192297 -vt 0.466001 0.195426 -vt 0.464642 0.196898 -vt 0.463933 0.195773 -vt 0.445373 0.194022 -vt 0.448877 0.193554 -vt 0.448877 0.195608 -vt 0.463780 0.193640 -vt 0.464469 0.194622 -vt 0.463887 0.195252 -vt 0.466833 0.193184 -vt 0.465284 0.192364 -vt 0.465238 0.190334 -vt 0.461311 0.188187 -vt 0.461853 0.190512 -vt 0.464859 0.197220 -vt 0.464521 0.191344 -vt 0.458987 0.177929 -vt 0.459633 0.178201 -vt 0.459633 0.183933 -vt 0.467670 0.188066 -vt 0.467928 0.193757 -vt 0.466793 0.188673 -vt 0.463780 0.192180 -vt 0.463780 0.198058 -vt 0.462866 0.197424 -vt 0.459633 0.176243 -vt 0.452054 0.176243 -vt 0.452054 0.183933 -vt 0.464170 0.174613 -vt 0.468978 0.176203 -vt 0.448877 0.199352 -vt 0.444763 0.199296 -vt 0.445383 0.195608 -vt 0.445119 0.191859 -vt 0.445359 0.193554 -vt 0.452054 0.187387 -vt 0.450480 0.191859 -vt 0.450470 0.186158 -vt 0.450688 0.186678 -vt 0.450876 0.186778 -vt 0.450621 0.179219 -vt 0.450480 0.179554 -vt 0.452054 0.174613 -vt 0.451495 0.178552 -vt 0.452054 0.178371 -vt 0.456533 0.197323 -vt 0.452054 0.190783 -vt 0.454962 0.196907 -vt 0.453434 0.195484 -vt 0.452412 0.188220 -vt 0.452412 0.193334 -vt 0.446437 0.191859 -vt 0.444820 0.191859 -vt 0.462542 0.187392 -vt 0.461013 0.185917 -vt 0.459991 0.183732 -vt 0.459991 0.178617 -vt 0.461013 0.176467 -vt 0.462542 0.175044 -vt 0.467559 0.196214 -vt 0.452699 0.174613 -vt 0.462645 0.197264 -vt 0.461900 0.196699 -vt 0.461285 0.195870 -vt 0.460494 0.189039 -vt 0.466051 0.189239 -vt 0.466488 0.188909 -vt 0.460712 0.188717 -vt 0.464351 0.191867 -vt 0.459113 0.184077 -vt 0.467928 0.187879 -vt 0.452054 0.178201 -vt 0.452508 0.184075 -vt 0.452174 0.183979 -vt 0.474565 0.119714 -vt 0.473660 0.119714 -vt 0.475896 0.119714 -vt 0.477115 0.170255 -vt 0.475896 0.170255 -vt 0.482002 0.170255 -vt 0.469367 0.195526 -vt 0.469367 0.220797 -vt 0.469367 0.195526 -vt 0.469367 0.220797 -vt 0.469367 0.195526 -vt 0.469367 0.195526 -vt 0.488108 0.119714 -vt 0.482002 0.119714 -vt 0.487010 0.119714 -vt 0.488108 0.170255 -vt 0.489439 0.170255 -vt 0.490348 0.170255 -vt 0.469367 0.195526 -vt 0.469367 0.220797 -vt 0.469367 0.195526 -vt 0.469367 0.220797 -vt 0.469367 0.195526 -vt 0.469367 0.195526 -vt 0.474565 0.119714 -vt 0.473641 0.119714 -vt 0.475896 0.119714 -vt 0.488108 0.170255 -vt 0.489439 0.170255 -vt 0.490358 0.170255 -vt 0.469367 0.195526 -vt 0.469367 0.220797 -vt 0.469367 0.195526 -vt 0.469367 0.220797 -vt 0.469367 0.195526 -vt 0.469367 0.195526 -vt 0.477058 0.119714 -vt 0.477101 0.119714 -vt 0.477167 0.119714 -vt 0.482002 0.119714 -vt 0.482002 0.119714 -vt 0.486837 0.119714 -vt 0.486902 0.119714 -vt 0.486946 0.119714 -vt 0.490344 0.119714 -vt 0.488108 0.119714 -vt 0.489439 0.119714 -vt 0.486889 0.170255 -vt 0.486868 0.170255 -vt 0.486837 0.170255 -vt 0.482002 0.170255 -vt 0.477167 0.170255 -vt 0.477136 0.170255 -vt 0.473693 0.170255 -vt 0.474565 0.170255 -vt 0.490311 0.170255 -vt 0.488108 0.170255 -vt 0.489439 0.170255 -vt 0.469367 0.220797 -vt 0.469367 0.220797 -vt 0.474565 0.119714 -vt 0.473602 0.119714 -vt 0.473650 0.119714 -vt 0.473607 0.119714 -vt 0.476994 0.119714 -vt 0.475896 0.119714 -vt 0.477060 0.119714 -vt 0.477102 0.119714 -vt 0.477167 0.119714 -vt 0.482002 0.119714 -vt 0.486837 0.119714 -vt 0.486901 0.119714 -vt 0.486944 0.119714 -vt 0.490353 0.119714 -vt 0.490397 0.119714 -vt 0.490402 0.119714 -vt 0.489439 0.119714 -vt 0.486976 0.170255 -vt 0.486945 0.170255 -vt 0.482002 0.170255 -vt 0.486902 0.170255 -vt 0.486837 0.170255 -vt 0.482002 0.170255 -vt 0.477167 0.170255 -vt 0.477102 0.170255 -vt 0.477059 0.170255 -vt 0.477028 0.170255 -vt 0.473655 0.170255 -vt 0.475896 0.170255 -vt 0.473635 0.170255 -vt 0.473633 0.170255 -vt 0.474565 0.170255 -vt 0.490371 0.170255 -vt 0.490369 0.170255 -vt 0.469367 0.220797 -vt 0.469367 0.220797 -vt 0.473544 0.119714 -vt 0.473553 0.119714 -vt 0.476930 0.119714 -vt 0.477061 0.119714 -vt 0.482002 0.119714 -vt 0.477104 0.119714 -vt 0.477167 0.119714 -vt 0.482002 0.119714 -vt 0.486837 0.119714 -vt 0.486900 0.119714 -vt 0.486943 0.119714 -vt 0.487074 0.119714 -vt 0.490363 0.119714 -vt 0.488108 0.119714 -vt 0.490451 0.119714 -vt 0.490460 0.119714 -vt 0.489439 0.119714 -vt 0.487040 0.170255 -vt 0.486943 0.170255 -vt 0.482002 0.170255 -vt 0.486901 0.170255 -vt 0.486837 0.170255 -vt 0.482002 0.170255 -vt 0.477167 0.170255 -vt 0.477103 0.170255 -vt 0.477060 0.170255 -vt 0.476964 0.170255 -vt 0.473646 0.170255 -vt 0.475896 0.170255 -vt 0.473581 0.170255 -vt 0.473575 0.170255 -vt 0.474565 0.170255 -vt 0.490429 0.170255 -vt 0.490422 0.170255 -vt 0.469367 0.220797 -vt 0.469367 0.220797 -vt 0.509983 0.184289 -vt 0.509295 0.180787 -vt 0.509983 0.180787 -vt 0.507671 0.180787 -vt 0.508483 0.180787 -vt 0.509295 0.184289 -vt 0.509295 0.180787 -vt 0.508483 0.177285 -vt 0.509295 0.177285 -vt 0.508483 0.180787 -vt 0.509996 0.180704 -vt 0.509991 0.180675 -vt 0.510731 0.180787 -vt 0.511558 0.180761 -vt 0.511558 0.180787 -vt 0.511558 0.180732 -vt 0.510731 0.180706 -vt 0.511558 0.180706 -vt 0.511558 0.180676 -vt 0.510731 0.180650 -vt 0.511558 0.180650 -vt 0.511558 0.177285 -vt 0.510731 0.180621 -vt 0.510731 0.177285 -vt 0.509983 0.180787 -vt 0.510731 0.180761 -vt 0.510731 0.180732 -vt 0.509983 0.180706 -vt 0.510731 0.180676 -vt 0.509983 0.180650 -vt 0.509983 0.180621 -vt 0.509983 0.177285 -vt 0.507564 0.175503 -vt 0.508181 0.176425 -vt 0.507300 0.176383 -vt 0.510243 0.173440 -vt 0.510828 0.176383 -vt 0.510409 0.174937 -vt 0.512608 0.176457 -vt 0.512610 0.176487 -vt 0.511145 0.176625 -vt 0.506512 0.174463 -vt 0.505643 0.178834 -vt 0.501273 0.177965 -vt 0.500802 0.181780 -vt 0.501812 0.182809 -vt 0.500802 0.183010 -vt 0.501273 0.180644 -vt 0.501812 0.181981 -vt 0.502714 0.180631 -vt 0.502142 0.179775 -vt 0.503479 0.180314 -vt 0.503278 0.179304 -vt 0.504306 0.180314 -vt 0.504507 0.179304 -vt 0.505071 0.180631 -vt 0.505643 0.179775 -vt 0.505657 0.181216 -vt 0.506512 0.180644 -vt 0.505973 0.181981 -vt 0.506983 0.181780 -vt 0.505973 0.182809 -vt 0.506983 0.183010 -vt 0.505657 0.183574 -vt 0.506512 0.184145 -vt 0.505071 0.184159 -vt 0.505643 0.185015 -vt 0.504306 0.184476 -vt 0.504507 0.185485 -vt 0.503278 0.185485 -vt 0.502142 0.185015 -vt 0.503479 0.184476 -vt 0.502128 0.183574 -vt 0.501273 0.184145 -vt 0.512167 0.180787 -vt 0.512952 0.184111 -vt 0.512167 0.184111 -vt 0.514050 0.177285 -vt 0.512952 0.180610 -vt 0.512952 0.177285 -vt 0.514941 0.177285 -vt 0.514050 0.180610 -vt 0.514050 0.180610 -vt 0.512952 0.183934 -vt 0.512952 0.180610 -vt 0.514050 0.183934 -vt 0.514472 0.183797 -vt 0.514472 0.183823 -vt 0.512952 0.183934 -vt 0.514062 0.187092 -vt 0.512952 0.187092 -vt 0.514062 0.187147 -vt 0.512952 0.187121 -vt 0.514062 0.187121 -vt 0.514062 0.187202 -vt 0.512952 0.187176 -vt 0.514062 0.187176 -vt 0.514062 0.187258 -vt 0.512952 0.187232 -vt 0.514062 0.187232 -vt 0.514062 0.183934 -vt 0.514847 0.187092 -vt 0.514847 0.187147 -vt 0.514847 0.187121 -vt 0.514847 0.187202 -vt 0.514847 0.187176 -vt 0.514847 0.187258 -vt 0.514847 0.187232 -vt 0.511642 0.184001 -vt 0.511642 0.183975 -vt 0.506983 0.185074 -vt 0.508878 0.184289 -vt 0.509662 0.186184 -vt 0.506983 0.180787 -vt 0.511558 0.180621 -vt 0.511546 0.180620 -vt 0.512338 0.177285 -vt 0.511509 0.180619 -vt 0.506983 0.177285 -vt 0.510017 0.180619 -vt 0.507671 0.177285 -vt 0.509982 0.180619 -vt 0.510005 0.180760 -vt 0.511552 0.180760 -vt 0.511546 0.180760 -vt 0.509990 0.180619 -vt 0.511533 0.180620 -vt 0.510000 0.180731 -vt 0.511546 0.180731 -vt 0.511546 0.180705 -vt 0.511532 0.180705 -vt 0.511532 0.180730 -vt 0.511527 0.180704 -vt 0.510004 0.180704 -vt 0.509998 0.180704 -vt 0.510012 0.180649 -vt 0.509993 0.180648 -vt 0.510008 0.180675 -vt 0.509987 0.180648 -vt 0.509995 0.180675 -vt 0.511532 0.180649 -vt 0.511515 0.180648 -vt 0.511521 0.180675 -vt 0.511546 0.180650 -vt 0.511546 0.180676 -vt 0.511532 0.180675 -vt 0.509983 0.180761 -vt 0.509983 0.180732 -vt 0.509983 0.180676 -vt 0.509270 0.176642 -vt 0.510192 0.176025 -vt 0.510243 0.176969 -vt 0.506983 0.175618 -vt 0.506983 0.174791 -vt 0.509478 0.173124 -vt 0.509792 0.174014 -vt 0.508704 0.173798 -vt 0.507781 0.174414 -vt 0.514113 0.176544 -vt 0.514113 0.176570 -vt 0.514103 0.176569 -vt 0.514103 0.176543 -vt 0.514090 0.176569 -vt 0.514090 0.176543 -vt 0.512621 0.176543 -vt 0.514085 0.176542 -vt 0.512613 0.176543 -vt 0.512615 0.176543 -vt 0.512615 0.176569 -vt 0.512617 0.176599 -vt 0.514102 0.176598 -vt 0.514113 0.176625 -vt 0.514108 0.176599 -vt 0.514113 0.176599 -vt 0.512612 0.176513 -vt 0.511145 0.173124 -vt 0.511892 0.173124 -vt 0.512719 0.173124 -vt 0.513499 0.173124 -vt 0.512642 0.176458 -vt 0.512616 0.176457 -vt 0.514113 0.173124 -vt 0.514069 0.176457 -vt 0.514113 0.176459 -vt 0.514103 0.176459 -vt 0.514091 0.176459 -vt 0.514080 0.176513 -vt 0.512628 0.176513 -vt 0.512635 0.176487 -vt 0.512616 0.176513 -vt 0.512616 0.176487 -vt 0.514103 0.176514 -vt 0.514090 0.176514 -vt 0.514103 0.176488 -vt 0.514091 0.176488 -vt 0.514113 0.176489 -vt 0.514113 0.176515 -vt 0.514075 0.176486 -vt 0.500802 0.176829 -vt 0.500802 0.175599 -vt 0.501273 0.174463 -vt 0.502142 0.173594 -vt 0.503278 0.173124 -vt 0.504507 0.173124 -vt 0.505643 0.173594 -vt 0.506983 0.175599 -vt 0.506983 0.176829 -vt 0.506512 0.177965 -vt 0.502142 0.178834 -vt 0.502128 0.181216 -vt 0.502714 0.184159 -vt 0.512952 0.180787 -vt 0.514941 0.180610 -vt 0.514941 0.183852 -vt 0.514941 0.183878 -vt 0.514472 0.183878 -vt 0.514472 0.183907 -vt 0.514941 0.183907 -vt 0.514941 0.183934 -vt 0.514472 0.183852 -vt 0.514472 0.183768 -vt 0.514941 0.180610 -vt 0.514941 0.183768 -vt 0.514941 0.183797 -vt 0.514941 0.183823 -vt 0.512952 0.187147 -vt 0.512952 0.187202 -vt 0.512952 0.187258 -vt 0.514847 0.183934 -vt 0.511642 0.183945 -vt 0.511058 0.183945 -vt 0.511058 0.180787 -vt 0.511058 0.184111 -vt 0.511642 0.184085 -vt 0.511058 0.184085 -vt 0.511058 0.184001 -vt 0.511058 0.183975 -vt 0.511642 0.184056 -vt 0.511058 0.184056 -vt 0.511642 0.184030 -vt 0.511058 0.184030 -vt 0.508878 0.186968 -vt 0.507768 0.186968 -vt 0.506983 0.186184 -vt 0.507768 0.184289 -vt 0.509662 0.185074 -vn 1.0000 0.0004 0.0000 -vn 0.9999 0.0135 0.0000 -vn 0.0003 -0.6930 -0.7209 -vn 0.0003 -0.6930 -0.7210 -vn -1.0000 -0.0004 0.0000 -vn -0.9999 0.0127 -0.0000 -vn 0.0003 -0.6930 0.7209 -vn 0.0003 -0.6930 0.7210 -vn -0.0004 1.0000 0.0000 -vn 0.0004 -1.0000 0.0000 -vn -0.0003 0.6931 0.7209 -vn -0.0003 0.6930 0.7209 -vn -0.0003 0.6930 -0.7209 -vn -0.0003 0.6932 -0.7207 -vn 1.0000 0.0003 0.0000 -vn -1.0000 -0.0005 -0.0000 -vn 1.0000 0.0005 0.0000 -vn -0.0003 0.6929 0.7210 -vn -0.0003 0.6930 0.7210 -vn -0.0003 0.6931 0.7208 -vn -0.0003 0.6932 0.7208 -vn -0.0003 0.6929 -0.7210 -vn -0.0003 0.6930 -0.7210 -vn -0.0003 0.6931 -0.7208 -vn -0.0003 0.6929 -0.7211 -vn -0.0003 0.6928 -0.7211 -vn -0.0003 0.6932 -0.7208 -vn 0.0040 -0.9909 -0.1348 -vn 0.0307 -0.8609 -0.5079 -vn 0.5684 -0.6771 -0.4675 -vn 0.5727 -0.6754 0.4647 -vn 0.1193 -0.4948 0.8608 -vn 0.1051 -0.1449 0.9838 -vn 0.0281 0.5161 0.8561 -vn 0.0979 0.4665 0.8791 -vn 0.0306 0.3518 0.9356 -vn 0.0306 0.3513 0.9358 -vn 0.0194 0.4482 0.8937 -vn 0.0190 0.4453 0.8952 -vn 0.4888 0.2521 0.8352 -vn 0.0281 0.5162 0.8560 -vn 0.9671 -0.0582 -0.2475 -vn 0.8169 -0.0285 -0.5760 -vn 0.8182 -0.0363 -0.5737 -vn -0.7378 0.6446 -0.2002 -vn 0.4897 0.6474 -0.5840 -vn -0.7354 0.5608 -0.3804 -vn -0.9872 0.1516 -0.0501 -vn -0.9426 0.2100 -0.2596 -vn -0.9545 0.1420 -0.2620 -vn -0.8083 0.3663 0.4610 -vn -0.7294 0.1414 0.6693 -vn -0.7466 0.2448 0.6186 -vn -0.8405 0.1038 -0.5317 -vn -0.7260 0.0474 -0.6860 -vn -0.7248 0.0388 -0.6879 -vn 0.7570 0.1339 -0.6396 -vn 0.3956 0.1220 -0.9103 -vn 0.7344 0.1494 -0.6621 -vn 0.9659 0.2370 -0.1040 -vn 0.9047 0.2112 -0.3700 -vn 0.9640 0.2451 -0.1035 -vn -0.7400 0.0657 0.6694 -vn -0.0006 0.0041 1.0000 -vn 0.6634 -0.0150 0.7481 -vn 0.3227 0.6327 -0.7040 -vn 0.3451 0.3837 -0.8565 -vn 0.1905 0.3326 -0.9236 -vn -0.9898 0.0547 -0.1319 -vn -0.9906 0.0134 -0.1360 -vn -0.9905 0.1371 -0.0135 -vn 0.0745 -0.9972 0.0109 -vn -0.3952 -0.9118 0.1114 -vn -0.2607 -0.8544 0.4494 -vn 0.2766 -0.1201 0.9535 -vn 0.1317 0.0559 0.9897 -vn 0.2109 0.0380 0.9768 -vn 0.0000 -1.0000 0.0000 -vn 0.9849 0.1283 -0.1165 -vn 0.9136 0.2292 -0.3360 -vn 0.9732 0.2099 -0.0937 -vn -0.9549 -0.2683 0.1276 -vn -0.9250 -0.3569 -0.1303 -vn -0.9549 -0.2683 -0.1276 -vn 0.9591 -0.2769 0.0581 -vn 0.9860 -0.1572 -0.0552 -vn 0.9591 -0.2769 -0.0581 -vn 0.1193 -0.4948 -0.8608 -vn 0.0318 0.2231 -0.9743 -vn 0.0317 0.2230 -0.9743 -vn 0.4930 0.1393 -0.8588 -vn -0.8078 0.5558 0.1963 -vn -0.8407 0.5415 0.0013 -vn -0.8096 0.5859 0.0348 -vn 0.8169 -0.0285 0.5760 -vn 0.9671 -0.0582 0.2475 -vn 0.8182 -0.0363 0.5737 -vn 0.6577 -0.0077 -0.7532 -vn 0.6659 -0.0100 -0.7460 -vn 0.6577 -0.0080 0.7532 -vn 0.6659 -0.0101 0.7460 -vn 0.7956 -0.1575 -0.5849 -vn 0.6617 -0.0256 -0.7494 -vn 0.5756 -0.0483 -0.8163 -vn 0.9581 -0.1479 -0.2452 -vn 0.9316 -0.2561 -0.2582 -vn 0.3096 -0.6369 0.7060 -vn 0.3096 -0.6369 -0.7060 -vn 0.1051 -0.1448 -0.9839 -vn 0.9965 -0.0620 0.0558 -vn 0.9972 -0.0490 -0.0558 -vn 0.9965 -0.0620 -0.0558 -vn 0.8152 -0.0927 -0.5716 -vn -0.9872 0.1515 0.0502 -vn -0.9726 0.2268 -0.0504 -vn -0.8361 0.1436 -0.5295 -vn 0.3938 -0.8812 -0.2617 -vn 0.4067 0.8497 -0.3356 -vn -0.8090 0.5592 -0.1814 -vn -0.8096 0.5859 -0.0348 -vn -0.8321 0.5546 -0.0112 -vn -0.7895 0.4555 -0.4114 -vn -0.9780 0.1658 -0.1263 -vn -0.8978 0.1192 -0.4239 -vn -0.9526 0.2163 -0.2139 -vn -0.9378 0.2078 0.2781 -vn -0.9494 0.1403 0.2809 -vn -0.9139 0.2171 0.3429 -vn -0.9328 0.2106 0.2924 -vn 0.9676 -0.0459 0.2482 -vn 0.3937 -0.8802 0.2649 -vn 0.0307 -0.8609 0.5079 -vn 0.6617 -0.0256 0.7494 -vn 0.7956 -0.1574 0.5849 -vn 0.5756 -0.0483 0.8163 -vn 0.0040 -0.9909 0.1348 -vn -0.7480 0.6637 -0.0000 -vn -0.7514 0.6598 0.0031 -vn -0.7491 0.6625 0.0080 -vn 0.8152 -0.0928 0.5716 -vn 0.9316 -0.2560 0.2582 -vn 0.9581 -0.1479 0.2452 -vn -0.7317 0.0544 0.6794 -vn -0.8473 0.1091 0.5199 -vn -0.7301 0.0445 0.6819 -vn -0.8420 0.1470 0.5191 -vn -0.8949 0.1328 0.4261 -vn -0.9794 0.1699 0.1094 -vn -0.9467 0.2359 -0.2191 -vn -0.7428 0.0588 -0.6669 -vn -0.7920 0.4623 0.3988 -vn -0.8321 0.5545 0.0109 -vn -0.9744 0.1204 0.1897 -vn -0.9893 0.1411 0.0373 -vn -0.8502 0.4786 -0.2192 -vn -0.8600 0.5086 -0.0419 -vn -0.9245 0.3783 -0.0476 -vn -0.9038 0.3486 -0.2483 -vn -0.8047 0.3596 -0.4724 -vn -0.8217 0.2475 -0.5133 -vn 0.1406 0.9146 0.3791 -vn 0.4462 0.8897 0.0965 -vn 0.4043 0.8323 0.3791 -vn -0.7247 0.1266 -0.6773 -vn -0.7247 0.0801 -0.6844 -vn -0.7355 0.3628 0.5723 -vn -0.8264 0.2463 0.5064 -vn -0.7299 0.0913 0.6774 -vn -0.9000 0.3451 0.2663 -vn -0.8479 0.4749 0.2357 -vn -0.9245 0.3783 0.0476 -vn -0.9726 0.2268 0.0504 -vn -0.8600 0.5086 0.0419 -vn -0.9920 0.1208 -0.0358 -vn -0.9893 0.1411 -0.0373 -vn -0.9569 0.1407 -0.2540 -vn -0.9889 0.1410 -0.0475 -vn -0.9657 0.1255 -0.2271 -vn -0.9923 0.1165 -0.0415 -vn -0.9736 0.1201 -0.1939 -vn -0.8683 0.1212 -0.4809 -vn -0.7272 0.0456 -0.6850 -vn -0.8492 0.1148 -0.5154 -vn -0.7321 0.0566 -0.6789 -vn -0.7307 0.0529 0.6807 -vn -0.8514 0.1265 0.5090 -vn -0.7331 0.0606 0.6774 -vn -0.8672 0.1294 0.4808 -vn -0.9536 0.1433 0.2647 -vn -0.9654 0.1270 0.2279 -vn -0.9889 0.1410 0.0475 -vn -0.9923 0.1165 0.0415 -vn -0.9920 0.1208 0.0358 -vn 0.8566 -0.5125 -0.0603 -vn 0.8371 -0.4765 -0.2686 -vn 0.7460 -0.6638 -0.0531 -vn 0.7402 -0.6281 -0.2397 -vn 0.4369 -0.8977 -0.0564 -vn 0.7543 -0.2818 -0.5929 -vn 0.2769 -0.1231 -0.9530 -vn 0.7208 -0.3979 -0.5675 -vn 0.1140 -0.1711 -0.9786 -vn 0.7543 -0.2818 0.5929 -vn 0.4312 -0.0825 0.8985 -vn 0.2769 -0.1231 0.9530 -vn 0.7209 -0.3979 0.5675 -vn 0.1139 -0.1711 0.9786 -vn 0.8371 -0.4765 0.2686 -vn 0.7402 -0.6282 0.2397 -vn 0.8566 -0.5125 0.0602 -vn 0.7461 -0.6638 0.0532 -vn 0.4369 -0.8977 0.0564 -vn 0.9941 -0.0926 -0.0557 -vn 0.9650 -0.0869 -0.2472 -vn 0.9903 -0.1275 -0.0555 -vn 0.8162 -0.0749 -0.5729 -vn 0.9617 -0.1198 -0.2464 -vn 0.8172 -0.0543 -0.5737 -vn 0.6634 -0.0149 -0.7481 -vn 0.8173 -0.0543 0.5737 -vn 0.6619 -0.0206 0.7493 -vn 0.8162 -0.0749 0.5729 -vn 0.9650 -0.0869 0.2472 -vn 0.9617 -0.1198 0.2464 -vn 0.9941 -0.0926 0.0558 -vn 0.9903 -0.1274 0.0556 -vn 0.9860 -0.1572 0.0552 -vn 0.9676 -0.0459 -0.2482 -vn -0.7395 0.2229 -0.6352 -vn -0.8445 0.5355 -0.0103 -vn -0.7733 0.3458 -0.5314 -vn -0.3610 0.3058 -0.8810 -vn 0.5215 -0.0818 -0.8493 -vn 0.0318 0.2229 0.9743 -vn 0.0978 0.4671 -0.8788 -vn 0.0069 0.3483 -0.9374 -vn 0.0179 0.4362 -0.8997 -vn 0.4899 0.2519 -0.8346 -vn 0.0191 0.4460 -0.8948 -vn 0.0079 0.3980 -0.9174 -vn -0.7857 0.3755 0.4916 -vn -0.8446 0.5352 0.0144 -vn 0.0122 0.6145 0.7888 -vn 0.4897 0.6474 0.5840 -vn 0.0148 0.7420 0.6702 -vn -0.7425 0.6679 -0.0514 -vn -0.8339 0.5103 -0.2102 -vn 0.4862 0.4618 -0.7419 -vn -0.1155 0.5199 -0.8464 -vn 0.4915 0.8660 0.0925 -vn 0.4914 0.8660 -0.0922 -vn 0.0195 0.9772 0.2115 -vn 0.0184 0.9260 0.3771 -vn 0.4917 0.8066 0.3281 -vn 0.4916 0.8066 -0.3281 -vn 0.0169 0.8466 0.5319 -vn -0.3493 0.3033 0.8866 -vn 0.5215 -0.0817 0.8493 -vn 0.4904 0.1398 0.8602 -vn 0.9888 -0.1087 -0.1019 -vn 0.8874 -0.3612 0.2864 -vn 0.8871 -0.3626 -0.2855 -vn 0.7565 -0.5293 0.3842 -vn 0.7560 -0.5306 -0.3833 -vn 0.9906 0.0341 -0.1324 -vn 0.8835 -0.0510 -0.4656 -vn 0.8916 0.0812 -0.4455 -vn 0.7517 -0.0724 -0.6556 -vn 0.7554 0.1069 -0.6464 -vn 0.9904 0.0512 -0.1285 -vn 0.8912 0.1387 -0.4319 -vn 0.7552 0.1922 -0.6266 -vn 0.8915 0.1857 -0.4132 -vn 0.9904 0.0648 -0.1221 -vn 0.7553 0.2616 -0.6009 -vn 0.4849 0.3434 -0.8044 -vn 0.9906 0.0341 0.1325 -vn 0.8835 -0.0510 0.4656 -vn 0.9891 -0.0085 0.1471 -vn 0.8915 0.0812 0.4457 -vn 0.7516 -0.0725 0.6556 -vn 0.7552 0.1084 0.6465 -vn 0.9904 0.0512 0.1285 -vn 0.8911 0.1388 0.4321 -vn 0.7551 0.1919 0.6269 -vn 0.8915 0.1857 0.4132 -vn 0.7553 0.2606 0.6014 -vn 0.9891 -0.0085 -0.1471 -vn 0.9888 -0.1086 0.1020 -vn 0.9883 0.1428 -0.0530 -vn 0.8880 0.4575 -0.0465 -vn 0.9888 0.1483 -0.0144 -vn 0.8864 0.4300 -0.1714 -vn 0.7547 0.6525 -0.0692 -vn 0.7543 0.6086 -0.2462 -vn 0.8869 0.3470 -0.3051 -vn 0.7543 0.4890 -0.4381 -vn 0.9886 0.1170 -0.0943 -vn 0.8891 0.2484 -0.3844 -vn 0.7547 0.3492 -0.5554 -vn 0.9886 0.1171 0.0942 -vn 0.8891 0.2483 0.3845 -vn 0.9896 0.0848 0.1161 -vn 0.8869 0.3470 0.3051 -vn 0.7546 0.3501 0.5549 -vn 0.7543 0.4890 0.4381 -vn 0.4861 0.4615 0.7421 -vn 0.9884 0.1426 0.0530 -vn 0.8864 0.4300 0.1714 -vn 0.7543 0.6086 0.2462 -vn 0.8880 0.4573 0.0479 -vn 0.7547 0.6524 0.0693 -vn 0.9888 0.1483 0.0145 -vn 0.9904 0.0648 0.1221 -vn 0.4849 0.3433 0.8044 -vn 0.9896 0.0849 -0.1162 -vn 0.0086 0.4340 -0.9009 -vn 0.0086 0.4339 -0.9009 -vn 0.0079 0.3983 -0.9172 -vn -0.6109 0.4045 -0.6806 -vn -0.7437 0.4653 -0.4801 -vn -0.7467 0.4086 -0.5248 -vn -0.7300 0.3366 0.5948 -vn -0.7742 0.3154 0.5488 -vn -0.7924 0.4712 0.3874 -vn -0.2340 0.8094 0.5387 -vn 0.2954 0.4258 0.8552 -vn -0.2896 0.8672 0.4051 -vn 0.4326 0.3640 0.8248 -vn -0.7412 0.4553 -0.4933 -vn 0.4911 0.3364 -0.8035 -vn 0.2952 0.4244 -0.8560 -vn -0.7308 0.3400 -0.5919 -vn -0.7632 0.2877 -0.5786 -vn -0.7935 0.4747 -0.3808 -vn -0.8428 0.5276 -0.1065 -vn -0.4749 0.8336 0.2820 -vn 0.5368 0.2449 0.8074 -vn -0.3103 0.7866 0.5338 -vn -0.7457 0.6663 -0.0000 -vn 0.9937 0.1085 0.0292 -vn 0.9937 0.1086 -0.0293 -vn 0.9486 0.2207 -0.2268 -vn 0.8092 0.2060 -0.5503 -vn 0.3764 0.1233 0.9182 -vn -0.1317 0.0883 0.9874 -vn 0.7331 0.1534 0.6626 -vn 0.9717 0.1665 -0.1675 -vn 0.9122 0.2336 0.3366 -vn 0.9718 0.1377 0.1913 -vn 0.9729 0.2113 0.0941 -vn 0.8075 0.2118 0.5505 -vn 0.9448 0.1714 0.2792 -vn 0.9124 0.2110 0.3506 -vn 0.7269 0.0650 -0.6837 -vn 0.3795 0.0187 -0.9250 -vn 0.7316 0.0614 -0.6790 -vn 0.9640 0.2451 0.1035 -vn 0.9051 0.2004 -0.3750 -vn 0.8007 0.1334 -0.5841 -vn 0.7954 0.1324 -0.5914 -vn 0.3074 -0.9512 -0.0259 -vn 0.4479 -0.8941 0.0048 -vn -0.0353 -0.5737 -0.8183 -vn 0.4462 0.8897 -0.0963 -vn 0.1411 0.9146 -0.3789 -vn 0.4043 0.8324 -0.3789 -vn 0.9047 0.2112 0.3700 -vn 0.9659 0.2370 0.1040 -vn 0.2578 0.6934 -0.6729 -vn -0.4109 0.6446 -0.6448 -vn 0.2020 0.3618 -0.9101 -vn -0.4447 0.3428 -0.8275 -vn 0.3795 0.0187 0.9250 -vn 0.7269 0.0649 0.6837 -vn 0.7316 0.0613 0.6790 -vn 0.7954 0.1325 0.5914 -vn 0.8007 0.1334 0.5841 -vn 0.9051 0.2004 0.3750 -vn 0.3985 0.6234 0.6727 -vn -0.3873 0.8517 0.3529 -vn -0.4109 0.6446 0.6448 -vn 0.1904 0.3325 0.9237 -vn 0.0559 0.0792 0.9953 -vn 0.3367 0.3847 0.8595 -vn 0.3227 0.6325 0.7042 -vn 0.2545 0.6939 0.6736 -vn 0.3740 0.9267 -0.0370 -vn 0.7325 0.6803 -0.0252 -vn 0.7287 0.6771 -0.1022 -vn 0.8013 0.5962 -0.0501 -vn 0.7827 0.5912 -0.1945 -vn 0.9033 0.4223 -0.0759 -vn 0.8596 0.4251 -0.2834 -vn 0.2929 0.9535 -0.0707 -vn 0.7193 0.6686 -0.1884 -vn 0.7480 0.5660 -0.3466 -vn 0.7849 0.3909 -0.4807 -vn 0.5082 0.8055 -0.3048 -vn 0.1624 0.9820 -0.0961 -vn 0.7186 0.5316 -0.4484 -vn 0.7282 0.3356 -0.5976 -vn 0.0396 0.9940 -0.1016 -vn 0.1621 0.9821 0.0961 -vn 0.5059 0.8069 0.3049 -vn 0.7184 0.5325 0.4476 -vn 0.7275 0.3376 0.5973 -vn 0.2925 0.9537 0.0706 -vn 0.7192 0.6689 0.1879 -vn 0.7475 0.5673 0.3455 -vn 0.7838 0.3942 0.4799 -vn 0.7286 0.6773 0.1018 -vn 0.3736 0.9269 0.0370 -vn 0.7823 0.5920 0.1939 -vn 0.8585 0.4276 0.2830 -vn 0.7325 0.6804 0.0251 -vn 0.3868 0.9221 0.0089 -vn 0.8011 0.5964 0.0500 -vn 0.9029 0.4231 0.0759 -vn 0.3869 0.9221 -0.0089 -vn 0.0450 0.0992 0.9941 -vn -0.4447 0.3429 0.8275 -vn -0.4706 0.0865 0.8781 -vn -0.3873 0.8517 -0.3529 -vn 0.3985 0.6234 -0.6727 -vn 0.5336 0.7700 0.3498 -vn -0.3758 0.9222 0.0908 -vn 0.2020 0.3617 0.9101 -vn 0.0450 0.0992 -0.9941 -vn -0.4706 0.0866 -0.8781 -vn 0.7475 0.6574 -0.0950 -vn 0.7378 0.5769 -0.3503 -vn 0.8637 0.4918 -0.1098 -vn 0.7212 0.3865 -0.5749 -vn 0.8223 0.4132 -0.3912 -vn 0.4960 0.2232 -0.8391 -vn 0.7546 0.2609 -0.6021 -vn 0.0559 0.0792 -0.9953 -vn 0.1317 0.0559 -0.9897 -vn 0.7088 0.1214 -0.6949 -vn 0.3046 0.0224 -0.9522 -vn 0.4960 0.2232 0.8392 -vn 0.7088 0.1215 0.6949 -vn 0.3047 0.0224 0.9522 -vn 0.7212 0.3863 0.5750 -vn 0.7546 0.2608 0.6021 -vn 0.7378 0.5769 0.3505 -vn 0.8223 0.4131 0.3913 -vn 0.7475 0.6574 0.0949 -vn 0.8637 0.4918 0.1099 -vn 0.8271 0.4218 -0.3716 -vn 0.8648 0.4907 -0.1064 -vn 0.7535 0.6509 -0.0926 -vn 0.7438 0.5789 -0.3342 -vn 0.5670 0.8188 -0.0896 -vn 0.7623 0.2733 -0.5867 -vn 0.7244 0.4056 -0.5574 -vn 0.5336 0.7700 -0.3499 -vn 0.7214 0.1325 -0.6798 -vn 0.5518 0.2497 -0.7957 -vn 0.3005 0.0456 -0.9527 -vn 0.1660 0.0784 -0.9830 -vn 0.3005 0.0455 0.9527 -vn 0.5518 0.2497 0.7957 -vn 0.1660 0.0784 0.9830 -vn 0.7214 0.1325 0.6798 -vn 0.7244 0.4057 0.5574 -vn 0.7623 0.2733 0.5867 -vn 0.8271 0.4217 0.3716 -vn 0.7535 0.6509 0.0927 -vn 0.7438 0.5789 0.3341 -vn 0.5669 0.8189 0.0897 -vn 0.8648 0.4907 0.1064 -vn -0.3759 0.9222 -0.0909 -vn -0.3952 -0.9118 -0.1113 -vn 0.0745 -0.9972 -0.0109 -vn -0.2607 -0.8544 -0.4494 -vn 0.0532 -0.1973 0.9789 -vn -0.3954 -0.0281 0.9181 -vn -0.7406 -0.1365 0.6579 -vn -0.7451 -0.0981 0.6597 -vn -0.7406 -0.1365 -0.6579 -vn -0.3954 -0.0281 -0.9181 -vn -0.7451 -0.0980 -0.6598 -vn -0.5300 -0.1451 0.8355 -vn 0.0654 -0.1897 0.9797 -vn 0.4588 -0.0054 0.8885 -vn 0.3074 -0.9512 0.0259 -vn -0.0352 -0.5737 0.8183 -vn -0.8482 -0.2787 0.4504 -vn -0.8674 -0.2101 0.4510 -vn -0.9250 -0.3569 0.1303 -vn -0.8482 -0.2787 -0.4504 -vn -0.8674 -0.2101 -0.4510 -vn -0.7388 -0.6648 -0.1110 -vn -0.7279 -0.5546 -0.4032 -vn -0.8288 -0.5441 -0.1305 -vn -0.5953 -0.3435 -0.7264 -vn -0.7833 -0.4272 -0.4515 -vn 0.0089 -0.1619 -0.9868 -vn -0.1396 -0.1021 -0.9849 -vn -0.7240 -0.2072 -0.6579 -vn -0.3798 -0.0453 -0.9240 -vn 0.0089 -0.1619 0.9868 -vn -0.5953 -0.3435 0.7264 -vn -0.1396 -0.1017 0.9850 -vn -0.7240 -0.2073 0.6579 -vn -0.2468 -0.0682 0.9667 -vn -0.3798 -0.0453 0.9240 -vn -0.7279 -0.5546 0.4032 -vn -0.7833 -0.4272 0.4515 -vn -0.7387 -0.6648 0.1108 -vn -0.8288 -0.5441 0.1305 -vn -0.6161 -0.0720 -0.7844 -vn 0.2109 0.0380 -0.9768 -vn -0.7091 -0.1609 -0.6865 -vn -0.9003 -0.0452 -0.4330 -vn -0.8904 0.0450 -0.4529 -vn -0.7543 0.0648 -0.6533 -vn -1.0000 -0.0008 0.0003 -vn -0.9998 -0.0028 -0.0209 -vn -0.9694 -0.2359 -0.0685 -vn -0.9897 0.1325 -0.0548 -vn -0.8875 0.4585 -0.0451 -vn -0.8853 0.4302 -0.1766 -vn -0.7503 0.6579 -0.0648 -vn -0.7502 0.6116 -0.2512 -vn -0.9897 0.1014 -0.1011 -vn -0.8860 0.3298 -0.3260 -vn -0.7512 0.4693 -0.4642 -vn -0.8870 0.1800 -0.4252 -vn -0.7526 0.2564 -0.6065 -vn -0.9898 0.0547 0.1319 -vn -0.8904 0.0450 0.4529 -vn -0.8870 0.1800 0.4252 -vn -0.7543 0.0647 0.6533 -vn -0.7526 0.2564 0.6065 -vn -0.8860 0.3298 0.3260 -vn -0.9897 0.1014 0.1011 -vn -0.7512 0.4693 0.4642 -vn -0.8853 0.4302 0.1766 -vn -0.9896 0.1326 0.0549 -vn -0.7502 0.6116 0.2512 -vn -0.8875 0.4586 0.0448 -vn -0.9905 0.1371 0.0135 -vn -0.7503 0.6580 0.0643 -vn -0.9002 -0.4330 0.0453 -vn -0.9680 -0.2503 -0.0155 -vn -0.9002 -0.4330 -0.0453 -vn -0.7633 -0.6402 0.0868 -vn -0.7633 -0.6402 -0.0868 -vn -0.7250 -0.6859 0.0622 -vn -0.5963 -0.7978 -0.0888 -vn -0.7365 -0.6680 0.1061 -vn 1.0000 0.0000 0.0000 -vn 0.9984 -0.0563 0.0087 -vn -0.9002 -0.0453 0.4330 -vn -0.9906 0.0135 0.1360 -vn 0.0069 0.3482 0.9374 -vn 0.0178 0.4355 0.9000 -vn 0.0174 0.4327 0.9014 -vn 0.0086 0.4339 0.9009 -vn -0.0030 0.0191 -0.9998 -vn -0.6162 -0.0719 0.7843 -vn -0.7633 -0.0868 0.6402 -vn -0.7056 -0.1633 0.6895 -vn -0.6485 -0.1934 0.7363 -vn 0.4479 -0.8941 0.0000 -vn 0.9988 -0.0482 0.0067 -vn -0.9722 -0.0085 -0.2339 -vn -0.9723 -0.0085 0.2337 -vn -0.5286 -0.5755 0.6240 -vn 0.0000 -0.6726 0.7400 -vn -0.4106 -0.9063 -0.0997 -vn -0.7240 -0.5825 -0.3694 -vn -0.1360 -0.1586 0.9779 -vn -0.0000 -0.9777 0.2098 -vn 0.9972 -0.0490 0.0558 -vn -0.7480 0.6636 -0.0000 -vn -0.8672 0.4980 0.0000 -vn -0.7476 0.6641 0.0000 -vn -0.8028 0.5962 -0.0002 -vn -0.8383 0.1545 -0.5228 -vn -0.9467 0.2359 -0.2192 -vn 0.0396 0.9940 0.1016 -vn 0.4312 -0.0824 -0.8985 -vn 0.6619 -0.0206 -0.7493 -vn 0.0283 0.5172 -0.8554 -vn 0.0195 0.4489 -0.8934 -vn 0.0307 0.3518 -0.9356 -vn 0.0284 0.5212 -0.8530 -vn 0.0282 0.5172 -0.8554 -vn 0.0179 0.4361 -0.8997 -vn -0.8432 0.5262 0.1097 -vn 0.0105 0.5275 0.8495 -vn 0.0199 0.9998 0.0000 -vn -0.1493 0.4453 0.8828 -vn -0.1835 0.4505 0.8737 -vn -0.7389 0.6667 0.0982 -vn -0.7494 0.6602 0.0499 -vn -0.7454 0.6666 0.0044 -vn 0.9920 0.1115 0.0588 -vn 0.9905 0.1145 -0.0760 -vn 0.9460 0.2375 -0.2205 -vn 0.4588 -0.0054 -0.8885 -vn -0.5282 -0.1462 -0.8364 -vn -0.4433 -0.0870 -0.8921 -vn -0.4433 -0.0870 0.8921 -vn -0.2468 -0.0681 -0.9667 -vn -0.7633 -0.0868 -0.6402 -vn -0.9913 -0.1310 0.0094 -vn -0.6485 -0.1933 -0.7363 -vn 0.9987 -0.0442 0.0237 -vn -0.1349 -0.1585 -0.9781 -vn 0.0544 -0.1974 -0.9788 -vn 0.0641 -0.1895 -0.9798 -vn 0.2767 -0.1198 -0.9535 -vn -0.9946 -0.0471 -0.0924 -vn -0.9910 -0.1171 -0.0648 -vn 0.9872 -0.0759 -0.1401 -vn -0.7305 -0.3390 -0.5928 -vn -0.7291 -0.5618 0.3909 -vn 0.9178 -0.2808 -0.2808 -vn 0.9178 -0.2808 -0.2807 -vn -0.9936 -0.1007 0.0511 -vn -0.9937 -0.0485 0.1009 -vn -0.9998 -0.0004 0.0185 -vn 0.9926 -0.0689 0.0996 -vn -0.7305 -0.3356 0.5948 -vn 0.9288 -0.2892 0.2317 -vn -0.7757 -0.3152 -0.5468 -vn -0.7757 -0.5468 -0.3151 -vn -0.7757 -0.3151 0.5469 -vn -0.7757 -0.5468 0.3151 -vn -0.9181 -0.1882 -0.3489 -vn -0.9181 -0.3489 -0.1882 -vn -0.9181 -0.1882 0.3489 -vn -0.9181 -0.3489 0.1882 -vn 0.0079 0.3982 0.9173 -vn 0.0079 0.3980 0.9174 -vn 0.0086 0.4340 0.9009 -vn 0.0000 1.0000 0.0000 -vn -0.4651 0.8853 -0.0000 -vn 0.0000 -0.0000 1.0000 -vn -0.4814 0.8765 0.0000 -vn -0.7484 0.6632 -0.0000 -vn -0.7559 0.6546 0.0000 -vn -0.8735 0.4868 0.0000 -vn -0.8944 0.4472 0.0000 -vn -0.9863 0.1650 0.0000 -vn -0.9916 0.1294 0.0000 -vn -1.0000 -0.0000 0.0000 -vn -1.0000 0.0001 0.0000 -vn -1.0000 -0.0001 0.0000 -vn -0.9949 -0.1009 -0.0000 -vn -0.7238 -0.6900 0.0000 -vn 0.7239 -0.6899 0.0000 -vn 0.7239 -0.6899 0.0004 -vn 0.9949 -0.1008 -0.0000 -vn 0.7205 0.6935 -0.0012 -vn 0.8486 0.5291 -0.0000 -vn 0.9851 0.1722 0.0000 -vn 0.8861 -0.4635 -0.0000 -vn -0.8480 0.5301 -0.0000 -vn -0.7202 0.6938 -0.0000 -vn -0.8480 0.5300 0.0000 -vn -0.9850 0.1723 0.0000 -vn -0.9682 0.2503 -0.0000 -vn -0.8859 -0.4638 0.0000 -vn -0.7238 -0.6900 0.0004 -vn -0.7202 0.6938 -0.0012 -vn -1.0000 0.0033 0.0000 -vn 0.9851 0.1721 0.0000 -vn 1.0000 0.0001 0.0000 -vn 0.7650 -0.6440 0.0000 -vn 0.9682 -0.2502 -0.0000 -vn -0.9850 0.1724 0.0000 -vn -0.7650 -0.6440 0.0000 -vn -0.8859 -0.4639 -0.0000 -vn -0.9683 -0.2499 0.0001 -vn -0.9875 0.1575 -0.0000 -vn 0.9875 0.1576 0.0000 -vn 0.7205 0.6935 -0.0013 -vn 0.9682 0.2503 -0.0000 -vn -0.8858 -0.4640 -0.0000 -vn -0.8860 -0.4637 0.0000 -vn -0.9633 -0.2684 -0.0038 -vn 0.7205 0.6935 0.0000 -vn -0.9875 0.1574 -0.0000 -vn 0.9875 0.1574 -0.0000 -vn 0.8485 0.5291 0.0000 -vn 0.9682 0.2502 -0.0000 -vn -0.9681 0.2506 0.0001 -vn -0.9682 -0.2503 -0.0000 -vn 0.9681 0.2505 -0.0001 -vn 0.9682 -0.2503 -0.0001 -vn -0.9682 0.2503 -0.0001 -vn -0.9681 -0.2505 0.0003 -vn 0.4025 -0.9034 -0.1478 -vn -0.4869 -0.5992 -0.6355 -vn -0.0000 -0.7071 -0.7071 -vn -0.3859 -0.8966 -0.2175 -vn 0.9845 -0.1319 0.1157 -vn 0.9602 -0.2616 0.0975 -vn 0.9925 -0.1125 0.0478 -vn 0.9155 -0.3946 0.0788 -vn 0.7763 -0.6303 0.0003 -vn 0.6930 -0.6946 -0.1929 -vn 0.8772 -0.4761 0.0626 -vn 0.7930 -0.6083 0.0337 -vn -0.6833 -0.1792 -0.7078 -vn 0.8471 -0.1385 -0.5131 -vn 0.8471 -0.1385 0.5131 -vn 0.3473 -0.1543 -0.9250 -vn 0.1788 -0.3582 -0.9164 -vn 0.7259 -0.0889 -0.6821 -vn 0.7563 -0.0758 -0.6498 -vn 0.7560 -0.0930 0.6479 -vn 0.7264 -0.0990 0.6801 -vn 0.1842 -0.3610 0.9142 -vn 0.3519 -0.1569 0.9228 -vn 0.7809 -0.0804 -0.6194 -vn 0.7810 -0.0805 0.6194 -vn 0.0306 0.3513 0.9357 -vn 0.0318 0.2230 -0.9743 -vn 0.0306 0.3523 -0.9354 -vn 0.0318 0.2229 -0.9743 -vn 0.0306 0.3524 -0.9353 -vn 0.0177 0.4377 -0.8990 -vn 0.0175 0.4333 -0.9011 -vn -0.6766 -0.1764 0.7150 -vn 0.0001 -0.0000 -1.0000 -vn -0.0001 0.0000 -1.0000 -vn -0.0000 -0.0000 -1.0000 -vn -0.7230 -0.3325 0.6056 -vn -0.4817 -0.8425 0.2411 -vn 0.0198 0.9941 0.1064 -vn -0.7230 -0.3325 -0.6056 -vn -1.0000 0.0003 0.0000 -vn -0.9851 0.1722 -0.0000 -vn 1.0000 -0.0002 0.0000 -vn 0.9682 -0.2503 0.0000 -vn 0.9681 -0.2504 -0.0000 -vn -0.9681 -0.2505 -0.0000 -vn -0.9848 0.1738 0.0000 -vn -0.9682 -0.2500 -0.0001 -vn 0.9682 0.2504 -0.0000 -vn 0.9682 -0.2502 0.0001 -vn -0.9682 0.2502 -0.0000 -vn -0.9682 -0.2501 -0.0001 -vn -0.9682 -0.2501 -0.0000 -vn -0.9682 -0.2500 0.0001 -vn 0.9875 0.1575 0.0000 -vn 0.9682 0.2501 -0.0000 -vn 0.9683 -0.2498 -0.0002 -vn 0.9682 -0.2503 0.0001 -vn 0.9682 -0.2501 -0.0001 -vn 0.9682 -0.2502 0.0002 -vn -0.9682 0.2503 0.0001 -vn -0.9682 -0.2502 0.0001 -vn -0.9682 -0.2502 -0.0001 -vn 0.9682 0.2502 0.0001 -vn 0.9682 -0.2501 0.0002 -vn 0.9682 -0.2503 -0.0002 -vn 0.9681 -0.2505 0.0001 -vn -0.9681 0.2504 0.0001 -vn -0.9682 -0.2501 0.0002 -vn -0.7805 -0.3345 -0.5282 -vn 0.7415 -0.6494 0.1686 -vn 0.7415 -0.6494 -0.1686 -vn -0.7805 -0.3345 0.5282 -vn 0.9669 0.0126 -0.2548 -vn 0.9669 0.0126 0.2548 -vn -0.9999 -0.0131 0.0000 -vn -0.0000 0.6930 -0.7209 -vn 0.0000 0.6930 -0.7210 -vn 0.9999 -0.0131 -0.0000 -vn 0.0000 0.6930 0.7210 -vn 0.0000 0.6930 0.7209 -vn -0.0000 -0.6930 0.7209 -vn -0.0000 -0.6931 0.7208 -vn 1.0000 -0.0024 0.0000 -vn 0.0000 -0.6930 -0.7209 -vn -1.0000 -0.0024 -0.0000 -vn -1.0000 -0.0023 -0.0000 -vn 0.0000 -0.6475 -0.7621 -vn -0.0000 -0.6474 0.7621 -vn 0.0000 -0.6931 0.7209 -vn -0.0000 -0.6929 0.7211 -vn 0.0000 -0.6475 0.7621 -vn 0.9725 -0.1875 0.1380 -vn 0.8553 -0.5020 -0.1281 -vn 0.8553 -0.5020 0.1281 -vn -0.7408 0.1356 -0.6578 -vn 0.1082 -0.0660 -0.9919 -vn 0.1027 -0.0166 -0.9946 -vn -0.8344 0.1179 0.5384 -vn -0.2960 -0.0831 -0.9516 -vn -0.2960 -0.0831 0.9516 -vn -0.6195 0.4039 -0.6730 -vn -0.6195 0.4039 0.6730 -vn -0.7408 0.1356 0.6578 -vn -0.7152 -0.2662 -0.6462 -vn -0.7152 -0.2662 0.6462 -vn -0.5438 -0.4714 -0.6943 -vn -0.5438 -0.4714 0.6944 -vn -0.2116 -0.7642 0.6092 -vn -0.2116 -0.7642 -0.6093 -vn 0.7524 0.6176 0.2291 -vn 0.9417 -0.0970 -0.3221 -vn 0.7712 0.6229 -0.1311 -vn 0.1294 0.0953 0.9870 -vn 0.0989 0.0799 0.9919 -vn 0.0954 0.0350 -0.9948 -vn 0.1082 -0.0660 0.9919 -vn 0.9246 0.3536 0.1418 -vn 0.9725 -0.1875 -0.1380 -vn 0.1063 -0.1321 0.9855 -vn 0.0969 -0.5822 0.8072 -vn 0.0680 -0.2812 0.9572 -vn 0.8419 0.0501 0.5372 -vn -0.8344 0.1179 -0.5384 -vn 0.7585 -0.6181 -0.2067 -vn 0.1233 -0.1338 -0.9833 -vn 0.0954 0.0351 0.9948 -vn 0.7712 0.6229 0.1311 -vn 0.9246 0.3536 -0.1418 -vn 0.8419 0.0501 -0.5372 -vn 0.1479 -0.9581 0.2453 -vn 0.1212 -0.6428 -0.7564 -vn 0.4242 -0.8741 -0.2366 -vn 0.1286 -0.2601 -0.9570 -vn 0.0988 0.0798 -0.9919 -vn 0.4133 -0.8300 -0.3745 -vn 0.8920 -0.3082 0.3307 -vn 0.5025 -0.4887 0.7132 -vn 0.1177 0.0563 -0.9915 -vn 0.1027 -0.0166 0.9946 -vn 0.4842 -0.8522 0.1980 -vn 0.5196 0.1054 -0.8479 -vn 0.3745 -0.6350 -0.6757 -vn 0.6377 0.4460 0.6280 -vn 0.5337 0.3566 0.7668 -vn 0.5033 -0.6795 0.5338 -vn 0.8312 -0.1637 -0.5313 -vn 0.7842 0.3017 -0.5422 -vn 0.4460 -0.0839 -0.8911 -vn 0.4157 0.1581 -0.8957 -vn 0.7491 -0.4387 0.4964 -vn 0.8312 -0.1637 0.5313 -vn 0.4287 -0.2546 0.8668 -vn 0.4460 -0.0839 0.8911 -vn 0.6722 0.5430 0.5032 -vn 0.3848 0.3108 0.8691 -vn 0.3702 -0.5789 0.7265 -vn 0.4287 -0.2546 -0.8668 -vn 0.4373 -0.5368 -0.7216 -vn 0.7491 -0.4387 -0.4964 -vn 0.7846 0.3018 0.5416 -vn 0.4157 0.1581 0.8957 -vn 0.6722 0.5430 -0.5033 -vn 0.3847 0.3108 -0.8691 -vn 0.6868 0.2207 -0.6925 -vn 0.5483 -0.6147 -0.5670 -vn -0.7383 -0.2947 -0.6067 -vn -0.6043 -0.4811 -0.6351 -vn -0.5800 -0.5038 -0.6401 -vn -0.0376 0.1808 -0.9828 -vn 0.0295 0.1793 -0.9834 -vn -0.0377 0.1808 -0.9828 -vn 0.6969 -0.3698 -0.6145 -vn 0.4856 -0.5789 -0.6550 -vn 0.7050 -0.3565 -0.6131 -vn -0.3874 -0.6329 -0.6703 -vn -0.1394 -0.7220 -0.6777 -vn -0.3661 -0.6428 -0.6729 -vn -0.0376 0.1808 0.9828 -vn -0.1337 0.1397 0.9811 -vn -0.0377 0.1807 0.9828 -vn 0.7767 0.6299 0.0000 -vn 0.5071 0.8619 0.0000 -vn 0.2051 0.0736 -0.9760 -vn 0.1629 0.1214 -0.9792 -vn 0.1508 0.1298 -0.9800 -vn 0.0980 0.1568 -0.9828 -vn 0.0897 0.1596 -0.9831 -vn 0.1803 0.9836 0.0000 -vn -0.2038 0.9790 0.0000 -vn -0.1338 0.1398 -0.9811 -vn -0.1201 0.1476 -0.9817 -vn 0.2242 0.0370 -0.9739 -vn 0.2085 0.0672 -0.9757 -vn 0.1929 -0.9812 0.0000 -vn 0.6212 -0.7836 0.0000 -vn 0.0349 0.1775 -0.9835 -vn 0.9458 0.3247 0.0000 -vn -0.1239 -0.7259 -0.6766 -vn 0.1437 -0.7287 -0.6696 -vn 0.4558 -0.5988 -0.6586 -vn 0.1436 -0.7287 0.6696 -vn 0.4856 -0.5789 0.6550 -vn 0.1429 -0.7288 0.6696 -vn -0.7854 -0.1545 0.5993 -vn -0.2606 -0.1026 0.9600 -vn -0.2249 -0.0998 0.9692 -vn 0.2249 0.0354 0.9737 -vn 0.2242 0.0370 0.9739 -vn 0.2244 0.0364 0.9738 -vn -0.9162 0.4008 0.0000 -vn -0.6537 0.7568 0.0000 -vn 0.0980 0.1567 0.9828 -vn 0.0349 0.1775 0.9835 -vn 0.0295 0.1792 0.9834 -vn 0.7780 -0.2032 -0.5945 -vn -0.9878 -0.1555 0.0000 -vn -0.9825 -0.1864 0.0000 -vn -0.2196 0.0494 -0.9743 -vn -0.1995 0.0833 -0.9763 -vn -0.2216 0.0455 -0.9741 -vn -0.1803 -0.9836 0.0000 -vn -0.5071 -0.8619 0.0000 -vn 0.2085 0.0672 0.9757 -vn 0.2051 0.0736 0.9760 -vn -0.7445 -0.2811 0.6056 -vn -0.7948 -0.1483 0.5884 -vn -0.1960 0.0888 -0.9766 -vn -0.1994 0.0833 0.9764 -vn -0.2196 0.0494 0.9743 -vn -0.2216 0.0455 0.9741 -vn 0.7780 -0.2032 0.5945 -vn 0.7049 -0.3565 0.6132 -vn 0.6969 -0.3697 0.6145 -vn 0.4558 -0.5987 0.6586 -vn -0.2265 0.0357 0.9734 -vn 0.2249 0.0354 -0.9737 -vn -0.1239 -0.7258 0.6766 -vn -0.2606 -0.1026 -0.9600 -vn -0.7854 -0.1545 -0.5993 -vn -0.2249 -0.0998 -0.9692 -vn -0.9319 -0.3628 -0.0000 -vn -0.7675 -0.6411 -0.0000 -vn 0.8020 -0.1263 0.5838 -vn 0.7824 -0.1906 0.5929 -vn 0.1508 0.1297 0.9800 -vn 0.0897 0.1595 0.9831 -vn 0.9869 0.1615 0.0000 -vn -0.5800 -0.5038 0.6402 -vn -0.3874 -0.6329 0.6703 -vn -0.6043 -0.4810 0.6351 -vn 0.1628 0.1213 0.9792 -vn -0.7445 -0.2811 -0.6055 -vn -0.7948 -0.1483 -0.5884 -vn -0.2265 0.0357 -0.9734 -vn 0.9695 -0.2451 0.0000 -vn 0.9878 -0.1555 0.0000 -vn -0.7382 -0.2947 0.6067 -vn -0.9878 0.1555 0.0000 -vn -0.9776 0.2107 0.0000 -vn -0.1959 0.0888 0.9766 -vn -0.1201 0.1475 0.9817 -vn -0.1394 -0.7220 0.6777 -vn 0.8876 -0.4607 0.0000 -vn 0.8020 -0.1263 -0.5838 -vn 0.7824 -0.1906 -0.5929 -vn 0.9878 0.1555 0.0000 -vn 0.2244 0.0364 -0.9738 -vn 0.1429 -0.7289 -0.6696 -vn -0.3661 -0.6428 0.6729 -vn 0.0000 0.1951 0.9808 -vn 0.0000 0.3059 0.9521 -vn -0.0000 0.3057 0.9521 -vn -0.0000 0.7071 0.7071 -vn 0.0000 0.6996 0.7145 -vn -0.0000 0.5556 0.8315 -vn 0.0000 0.3827 0.9239 -vn 0.0000 0.9239 0.3827 -vn 0.0000 0.9320 0.3625 -vn -0.0000 0.8315 0.5556 -vn 0.0000 0.9959 -0.0902 -vn 0.0000 0.9808 0.1951 -vn -0.0000 0.9808 -0.1951 -vn -0.0000 0.9239 -0.3827 -vn 0.1300 0.9423 0.3085 -vn -0.0000 0.7071 -0.7071 -vn -0.0000 0.8315 -0.5556 -vn 0.0000 0.3827 -0.9239 -vn 0.0000 0.1951 -0.9808 -vn 0.0675 0.7504 0.6575 -vn -0.0616 0.5928 0.8030 -vn 0.0610 0.6028 0.7956 -vn 0.8374 0.3850 0.3879 -vn 0.9441 0.1917 0.2680 -vn 0.9517 0.2007 0.2324 -vn -0.3051 0.9196 0.2474 -vn -0.0758 0.9971 0.0033 -vn -0.3080 0.9514 0.0030 -vn 0.3051 0.9196 0.2474 -vn 0.0758 0.9971 0.0033 -vn 0.0761 0.9630 0.2584 -vn -0.0761 0.9630 0.2584 -vn 0.7836 0.3901 0.4836 -vn 0.5653 0.6125 0.5526 -vn 0.8683 0.4784 0.1307 -vn 0.8443 0.5358 0.0008 -vn 0.7547 0.6561 0.0011 -vn 0.9576 0.2514 0.1404 -vn -0.6083 0.7654 0.2099 -vn -0.6055 0.7958 0.0020 -vn -0.7549 0.6558 0.0017 -vn -0.9580 0.2496 0.1409 -vn -0.8684 0.4783 0.1310 -vn -0.8451 0.5345 0.0008 -vn -0.5639 0.6099 0.5568 -vn -0.8386 0.3827 0.3876 -vn -0.7510 0.3828 0.5380 -vn 0.3081 0.9513 0.0028 -vn 0.6084 0.7654 0.2097 -vn -0.4571 0.8894 0.0028 -vn -0.9476 0.1835 0.2613 -vn -0.0675 0.7504 0.6575 -vn -0.2756 0.7219 0.6348 -vn -0.2808 0.5744 0.7689 -vn -0.4156 0.5418 0.7306 -vn -0.5423 0.4974 0.6771 -vn 0.2746 0.7233 0.6336 -vn 0.4046 0.5461 0.7335 -vn 0.0000 0.6994 0.7148 -vn 0.0000 0.9961 -0.0887 -vn 0.0000 0.9320 0.3624 -vn -0.0000 0.8397 -0.5430 -vn -0.0001 0.9785 -0.2064 -vn 0.0260 0.9987 -0.0445 -vn -0.0000 0.8401 -0.5425 -vn 0.5459 0.4967 0.6747 -vn 0.6537 0.4486 0.6095 -vn 0.6865 0.4504 0.5709 -vn 0.6050 0.7962 0.0020 -vn -0.6499 0.4397 0.6199 -vn -0.7151 0.4097 0.5664 -vn 0.4572 0.8894 0.0019 -vn -0.4567 0.8896 0.0031 -vn -0.9524 0.1935 0.2354 -vn -0.1211 -0.0807 0.9894 -vn 0.1152 0.5980 0.7932 -vn -1.0000 -0.0037 -0.0000 -vn -1.0000 0.0015 0.0000 -vn 1.0000 0.0012 -0.0000 -vn 1.0000 0.0014 0.0000 -vn 1.0000 -0.0001 0.0000 -vn -0.9999 -0.0139 0.0000 -vn -1.0000 0.0018 -0.0000 -vn -1.0000 -0.0043 -0.0000 -vn -1.0000 -0.0070 0.0000 -vn -1.0000 0.0014 0.0000 -vn 1.0000 -0.0015 0.0000 -vn 1.0000 -0.0008 0.0000 -vn 1.0000 0.0015 -0.0000 -vn 1.0000 -0.0019 0.0000 -vn 1.0000 -0.0033 0.0000 -vn 1.0000 -0.0017 -0.0000 -vn 1.0000 0.0013 0.0000 -vn 1.0000 -0.0028 -0.0000 -vn 1.0000 -0.0022 0.0000 -vn -1.0000 -0.0002 0.0000 -vn -0.9999 -0.0173 0.0000 -vn -1.0000 0.0061 -0.0000 -vn -1.0000 0.0043 0.0000 -vn -0.9997 -0.0230 0.0000 -vn -1.0000 0.0037 -0.0000 -vn 1.0000 -0.0039 0.0000 -vn 1.0000 0.0007 -0.0000 -vn 1.0000 -0.0067 -0.0000 -vn 1.0000 0.0002 -0.0000 -vn 1.0000 0.0006 -0.0000 -vn -1.0000 0.0047 -0.0000 -vn 0.0027 -0.0996 -0.9950 -vn 0.0201 -0.7070 -0.7070 -vn 0.0201 -0.3826 -0.9237 -vn 0.0214 -0.9998 -0.0000 -vn 0.0208 -0.9238 -0.3822 -vn 0.0029 -0.8811 -0.4728 -vn 0.0029 -0.8811 0.4728 -vn 0.0201 -0.3826 0.9237 -vn 0.0201 -0.7070 0.7070 -vn 0.0027 -0.0996 0.9950 -vn 0.0048 0.3213 0.9470 -vn 0.0048 0.3209 0.9471 -vn 0.0000 0.9241 0.3822 -vn 0.0029 0.7740 0.6331 -vn 0.0000 0.9238 0.3828 -vn 0.0000 0.9239 0.3826 -vn 0.0000 0.9240 0.3823 -vn 0.0201 0.9237 0.3826 -vn 0.0201 0.9998 0.0000 -vn 0.0029 0.7740 -0.6331 -vn 0.0000 0.9239 -0.3826 -vn -0.0000 0.9238 -0.3828 -vn 0.0201 0.9237 -0.3826 -vn 0.0042 0.3187 -0.9478 -vn 0.0048 0.3215 -0.9469 -vn 0.0401 0.3824 -0.9231 -vn 0.0214 0.0008 -0.9998 -vn 0.0401 -0.0000 -0.9992 -vn 0.0401 0.7065 -0.7065 -vn 0.0226 0.3826 -0.9236 -vn 0.0401 0.9231 -0.3824 -vn 0.0401 0.9992 0.0000 -vn 0.0401 0.9231 0.3824 -vn 0.0214 0.7064 0.7075 -vn 0.0401 0.7065 0.7065 -vn 0.0227 0.3826 0.9236 -vn 0.0401 0.3824 0.9231 -vn 0.0214 0.0008 0.9998 -vn 0.0401 -0.0000 0.9992 -vn 0.0401 -0.3824 0.9231 -vn 0.0401 -0.7065 0.7065 -vn 0.0208 -0.9238 0.3822 -vn 0.0401 -0.9231 0.3824 -vn 0.0401 -0.9992 0.0000 -vn 0.0401 -0.9231 -0.3824 -vn 0.0401 -0.7065 -0.7065 -vn 0.0401 -0.3824 -0.9231 -vn 0.0000 -0.3827 -0.9239 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 -0.3827 0.9239 -vn -0.0000 0.9236 0.3833 -vn -0.0000 0.7947 0.6070 -vn 0.0019 0.5852 0.8109 -vn 0.0044 0.4717 0.8818 -vn 0.0043 0.3187 0.9478 -vn 0.0051 0.3827 0.9239 -vn 0.0013 0.7065 0.7077 -vn 0.0039 0.4709 0.8822 -vn 0.0051 0.3828 0.9238 -vn 0.0045 0.3826 0.9239 -vn -0.0000 0.7074 0.7068 -vn -0.0000 0.7072 0.7070 -vn 0.0000 0.7069 0.7073 -vn 0.0019 0.4727 0.8812 -vn 0.0020 0.6337 0.7736 -vn 0.0044 0.4708 0.8822 -vn 0.0051 0.3830 0.9238 -vn 0.0050 0.3823 0.9240 -vn 0.0044 0.4719 0.8816 -vn 0.0048 0.3215 0.9469 -vn 0.0051 0.3824 0.9240 -vn 0.0000 0.7070 0.7072 -vn 0.0020 0.6336 0.7737 -vn 0.0020 0.6355 0.7721 -vn 0.0000 0.7073 0.7069 -vn -0.0000 0.7074 -0.7068 -vn -0.0000 0.7072 -0.7070 -vn 0.0019 0.4730 -0.8811 -vn 0.0044 0.4714 -0.8819 -vn 0.0020 0.6335 -0.7737 -vn 0.0048 0.3209 -0.9471 -vn 0.0051 0.3827 -0.9239 -vn 0.0045 0.3826 -0.9239 -vn 0.0039 0.4708 -0.8823 -vn 0.0013 0.7065 -0.7077 -vn 0.0214 0.7064 -0.7075 -vn 0.0044 0.4717 -0.8818 -vn 0.0051 0.3824 -0.9240 -vn 0.0019 0.5852 -0.8109 -vn 0.0000 0.7946 -0.6072 -vn 1.0000 0.0065 0.0000 -vn 0.0020 0.6352 -0.7724 -vn 0.0044 0.4719 -0.8816 -vn 0.0044 0.4712 -0.8820 -vn 0.0051 0.3828 -0.9238 -vn 0.0051 0.3827 -0.9238 -vn 0.0000 0.7068 -0.7074 -vn 0.0020 0.6333 -0.7739 -s 1 -f 1/1/1 2/2/1 3/3/2 -f 4/4/3 5/5/3 6/6/3 -f 7/7/3 8/8/3 9/9/3 -f 10/10/3 11/11/3 12/12/3 -f 13/13/3 14/14/3 15/15/3 -f 16/16/3 17/17/3 18/18/3 -f 19/19/4 20/20/4 21/21/4 -f 22/22/3 23/23/3 24/24/3 -f 25/25/3 26/26/3 27/27/3 -f 28/28/3 29/29/3 30/30/3 -f 31/31/4 32/32/4 33/33/4 -f 2/34/3 34/35/3 35/36/3 -f 6/37/5 36/38/5 4/39/6 -f 37/40/7 38/41/7 39/42/7 -f 40/43/7 41/44/7 42/45/8 -f 43/46/7 44/47/7 45/48/7 -f 46/49/7 47/50/7 48/51/7 -f 49/52/8 50/53/8 51/54/8 -f 3/55/7 52/56/7 1/57/7 -f 53/58/7 54/59/7 55/60/8 -f 56/61/7 57/62/7 58/63/7 -f 59/64/7 60/65/7 61/66/8 -f 62/67/7 63/68/7 64/69/7 -f 36/70/7 65/71/7 66/72/7 -f 67/73/9 68/74/9 69/75/9 -f 9/76/10 63/77/10 70/78/10 -f 15/79/10 60/80/10 71/81/10 -f 21/82/10 57/83/10 72/84/10 -f 27/85/10 54/86/10 73/87/10 -f 33/88/10 74/89/10 49/90/10 -f 1/91/10 34/92/10 75/93/10 -f 46/94/10 29/95/10 76/96/10 -f 43/97/10 23/98/10 77/99/10 -f 40/100/10 17/101/10 78/102/10 -f 37/103/10 11/104/10 79/105/10 -f 80/106/10 5/107/10 65/108/10 -f 45/48/11 44/47/12 69/109/12 -f 4/39/6 68/110/6 81/111/6 -f 82/112/13 19/19/14 81/113/13 -f 3/3/2 67/114/2 69/115/2 -f 9/116/5 62/117/5 7/118/5 -f 65/119/1 83/120/15 66/121/1 -f 62/122/10 83/123/10 7/124/10 -f 12/125/5 39/126/5 10/127/5 -f 63/128/1 84/129/1 64/130/1 -f 39/131/10 84/132/10 10/133/10 -f 15/134/5 59/135/5 13/136/5 -f 79/137/1 85/138/1 38/139/1 -f 59/140/10 85/141/10 13/142/10 -f 18/143/5 42/144/5 16/145/5 -f 60/146/1 86/147/1 61/148/1 -f 42/149/10 86/150/10 16/151/10 -f 72/152/5 19/153/5 21/154/5 -f 78/155/1 87/156/1 41/157/1 -f 19/158/10 41/159/10 87/160/10 -f 24/161/5 45/162/16 22/163/5 -f 57/164/1 82/165/1 58/166/1 -f 45/167/10 82/168/10 22/169/10 -f 73/170/5 25/171/5 27/172/5 -f 77/173/1 88/174/17 44/175/1 -f 53/176/10 88/177/10 25/178/10 -f 30/179/5 48/180/5 28/181/5 -f 54/182/1 89/183/1 55/184/1 -f 48/185/10 89/186/10 28/187/10 -f 33/188/5 51/189/5 31/190/5 -f 76/191/1 90/192/1 47/193/1 -f 51/194/10 90/195/10 31/196/10 -f 34/197/5 91/198/16 35/199/5 -f 74/200/15 92/201/1 50/202/15 -f 91/203/10 92/204/10 35/205/10 -f 1/1/1 75/206/1 2/2/1 -f 4/4/3 83/207/3 5/5/3 -f 7/7/3 84/208/3 8/8/3 -f 10/10/3 85/209/3 11/11/3 -f 13/13/3 86/210/4 14/14/3 -f 16/16/3 87/211/3 17/17/3 -f 19/19/4 82/112/3 20/20/4 -f 22/22/3 88/212/3 23/23/3 -f 25/25/3 89/213/4 26/26/3 -f 28/28/3 90/214/3 29/29/3 -f 31/31/4 92/215/4 32/32/4 -f 2/34/3 75/216/3 34/35/3 -f 6/37/5 80/217/5 36/38/5 -f 37/40/7 79/218/7 38/41/7 -f 40/43/7 78/219/7 41/44/7 -f 43/46/7 77/220/7 44/47/7 -f 46/49/7 76/221/7 47/50/7 -f 49/52/8 74/222/7 50/53/8 -f 3/55/7 91/223/7 52/56/7 -f 53/58/7 73/224/7 54/59/7 -f 56/61/7 72/225/7 57/62/7 -f 59/64/7 71/226/7 60/65/7 -f 62/67/7 70/227/7 63/68/7 -f 36/70/7 80/228/7 65/71/7 -f 67/73/9 81/229/9 68/74/9 -f 9/76/10 8/230/10 63/77/10 -f 15/79/10 14/231/10 60/80/10 -f 21/82/10 20/232/10 57/83/10 -f 27/85/10 26/233/10 54/86/10 -f 33/88/10 32/234/10 74/89/10 -f 1/91/10 52/235/10 34/92/10 -f 46/94/10 30/236/10 29/95/10 -f 43/97/10 24/237/10 23/98/10 -f 40/100/10 18/238/10 17/101/10 -f 37/103/10 12/239/10 11/104/10 -f 80/106/10 6/240/10 5/107/10 -f 69/109/12 68/241/12 58/63/12 -f 68/241/12 36/70/12 66/72/12 -f 66/72/12 62/67/12 68/241/12 -f 62/67/12 64/69/12 68/241/12 -f 68/241/12 64/69/12 39/42/18 -f 91/223/12 3/55/12 69/109/12 -f 47/50/12 51/54/12 69/109/12 -f 51/54/12 50/53/12 69/109/12 -f 50/53/12 91/223/12 69/109/12 -f 39/42/18 38/41/12 68/241/12 -f 38/41/12 59/64/12 68/241/12 -f 68/241/12 59/64/12 61/66/19 -f 55/60/20 48/51/19 69/109/12 -f 48/51/19 47/50/12 69/109/12 -f 61/66/19 42/45/21 68/241/12 -f 42/45/21 41/44/19 68/241/12 -f 68/241/12 41/44/19 56/61/12 -f 44/47/12 53/58/19 69/109/12 -f 53/58/19 55/60/20 69/109/12 -f 56/61/12 58/63/12 68/241/12 -f 58/63/12 45/48/11 69/109/12 -f 4/39/6 36/38/5 68/110/6 -f 81/113/13 67/242/13 82/112/13 -f 67/242/13 2/34/13 35/36/13 -f 35/36/13 92/215/13 67/242/13 -f 92/215/13 31/31/13 67/242/13 -f 67/242/13 31/31/13 90/214/13 -f 83/207/13 4/4/13 81/113/13 -f 10/10/22 84/208/13 81/113/13 -f 84/208/13 7/7/13 81/113/13 -f 7/7/13 83/207/13 81/113/13 -f 90/214/13 28/28/23 67/242/13 -f 28/28/23 89/213/24 67/242/13 -f 67/242/13 89/213/24 25/25/23 -f 86/210/23 13/13/13 81/113/13 -f 13/13/13 85/209/13 81/113/13 -f 85/209/13 10/10/22 81/113/13 -f 25/25/23 88/212/25 67/242/13 -f 88/212/25 22/22/14 67/242/13 -f 67/242/13 22/22/14 82/112/13 -f 19/19/14 87/211/26 81/113/13 -f 87/211/26 16/16/27 81/113/13 -f 16/16/27 86/210/23 81/113/13 -f 3/3/2 2/2/1 67/114/2 -f 9/116/5 70/243/5 62/117/5 -f 65/119/1 5/244/15 83/120/15 -f 62/122/10 66/245/10 83/123/10 -f 12/125/5 37/246/5 39/126/5 -f 63/128/1 8/247/1 84/129/1 -f 39/131/10 64/248/10 84/132/10 -f 15/134/5 71/249/5 59/135/5 -f 79/137/1 11/250/1 85/138/1 -f 59/140/10 38/251/10 85/141/10 -f 18/143/5 40/252/5 42/144/5 -f 60/146/1 14/253/1 86/147/1 -f 42/149/10 61/254/10 86/150/10 -f 72/152/5 56/255/5 19/153/5 -f 78/155/1 17/256/1 87/156/1 -f 19/158/10 56/257/10 41/159/10 -f 24/161/5 43/258/16 45/162/16 -f 57/164/1 20/259/1 82/165/1 -f 45/167/10 58/260/10 82/168/10 -f 73/170/5 53/261/5 25/171/5 -f 77/173/1 23/262/17 88/174/17 -f 53/176/10 44/263/10 88/177/10 -f 30/179/5 46/264/5 48/180/5 -f 54/182/1 26/265/1 89/183/1 -f 48/185/10 55/266/10 89/186/10 -f 33/188/5 49/267/5 51/189/5 -f 76/191/1 29/268/15 90/192/1 -f 51/194/10 47/269/10 90/195/10 -f 34/197/5 52/270/16 91/198/16 -f 74/200/15 32/271/1 92/201/1 -f 91/203/10 50/272/10 92/204/10 -f 93/273/28 94/274/29 95/275/30 -f 96/276/31 93/273/28 95/275/30 -f 97/277/32 96/276/31 98/278/33 -f 99/279/34 100/280/35 101/281/36 -f 102/282/37 103/283/38 104/284/39 -f 105/285/37 106/286/38 107/287/39 -f 108/288/39 109/289/37 110/290/40 -f 111/291/41 112/292/37 113/293/38 -f 114/294/34 115/295/34 116/296/36 -f 117/297/42 118/298/43 119/299/44 -f 120/300/45 121/301/46 122/302/47 -f 123/303/48 124/304/49 125/305/50 -f 126/306/51 127/307/52 128/308/53 -f 129/309/54 130/310/55 131/311/56 -f 132/312/57 133/313/58 134/314/59 -f 135/315/60 136/316/61 137/317/62 -f 138/318/63 139/319/64 140/320/65 -f 141/321/66 142/322/67 143/323/68 -f 144/324/69 145/325/70 146/326/71 -f 147/327/72 148/328/73 149/329/74 -f 150/330/75 151/331/76 152/332/77 -f 153/333/78 154/334/78 155/335/78 -f 156/336/79 157/337/80 158/338/81 -f 159/339/82 160/340/83 155/335/84 -f 161/341/85 162/342/86 163/343/87 -f 95/275/30 94/274/29 164/344/88 -f 165/345/89 166/346/90 167/347/91 -f 168/348/92 169/349/93 170/350/94 -f 171/351/95 172/352/96 173/353/97 -f 119/299/44 174/354/98 175/355/99 -f 176/356/100 173/353/97 177/357/101 -f 178/358/102 179/359/103 180/360/104 -f 163/343/87 181/361/105 182/362/106 -f 98/363/33 183/364/107 97/277/32 -f 184/365/108 185/366/109 164/344/88 -f 186/367/110 187/368/111 188/369/112 -f 182/362/106 189/370/113 178/358/102 -f 190/371/114 191/372/115 123/303/48 -f 125/305/50 192/373/116 129/309/54 -f 193/374/117 164/344/88 94/274/29 -f 194/375/118 195/376/119 196/377/120 -f 197/378/121 198/379/122 195/376/119 -f 199/380/123 200/381/124 156/336/125 -f 194/375/118 170/350/94 169/349/93 -f 201/382/126 190/371/114 202/383/127 -f 203/384/128 138/318/63 204/385/129 -f 205/386/130 186/367/110 172/352/96 -f 97/277/32 206/387/131 207/388/132 -f 208/389/133 209/390/134 210/391/135 -f 206/387/131 211/392/136 207/388/132 -f 212/393/137 213/394/138 214/395/139 -f 215/396/140 216/397/141 209/390/134 -f 217/398/142 161/341/85 216/397/141 -f 218/399/143 219/400/144 220/401/145 -f 221/402/146 202/383/127 219/400/144 -f 222/403/147 223/404/148 204/385/129 -f 224/405/149 156/336/125 225/406/150 -f 226/407/151 227/408/152 168/348/92 -f 228/409/153 229/410/154 223/404/148 -f 93/273/28 193/374/117 94/274/29 -f 196/377/120 230/411/155 231/412/156 -f 230/411/155 232/413/157 231/412/156 -f 233/414/158 191/372/115 232/413/157 -f 195/376/119 234/415/159 230/411/155 -f 234/415/159 233/414/158 230/411/155 -f 235/416/160 124/304/49 233/414/158 -f 236/417/161 237/418/162 238/419/163 -f 239/420/164 235/416/160 234/415/159 -f 240/421/165 192/373/116 235/416/160 -f 197/378/121 194/375/118 241/422/166 -f 127/307/52 242/423/167 243/424/168 -f 243/424/168 221/402/146 218/399/143 -f 168/348/92 126/306/51 226/407/151 -f 126/306/51 244/425/169 242/423/167 -f 242/423/167 201/382/126 221/402/146 -f 170/350/94 245/426/170 168/348/92 -f 245/426/170 246/427/171 244/425/169 -f 244/425/169 247/428/172 201/382/126 -f 196/377/120 248/429/173 170/350/94 -f 231/412/156 246/427/171 248/429/173 -f 232/413/157 247/428/172 246/427/171 -f 229/410/154 249/430/174 250/431/175 -f 123/303/48 251/432/176 252/433/177 -f 252/433/177 253/434/178 254/435/179 -f 254/435/179 255/436/180 249/430/174 -f 129/309/54 251/432/176 125/305/50 -f 251/432/176 256/437/181 253/434/178 -f 253/434/178 200/381/124 255/436/180 -f 129/309/54 257/438/182 258/439/183 -f 258/439/183 259/440/184 256/437/181 -f 256/437/181 225/406/150 200/381/124 -f 219/400/144 260/441/185 220/401/145 -f 261/442/186 262/443/187 260/441/185 -f 263/444/188 138/318/63 262/443/187 -f 219/400/144 264/445/189 261/442/186 -f 264/445/189 263/444/188 261/442/186 -f 265/446/190 222/403/147 263/444/188 -f 190/371/114 264/445/189 202/383/127 -f 266/447/191 265/446/190 264/445/189 -f 267/448/192 228/409/153 265/446/190 -f 190/371/114 252/433/177 266/447/191 -f 252/433/177 267/448/192 266/447/191 -f 254/435/179 268/449/193 267/448/192 -f 250/431/175 255/436/180 199/380/123 -f 182/362/106 269/450/194 163/343/87 -f 270/451/195 271/452/196 269/450/194 -f 272/453/197 273/454/198 271/452/196 -f 178/358/102 270/451/195 182/362/106 -f 274/455/199 272/453/197 270/451/195 -f 272/453/197 184/365/108 193/374/117 -f 180/360/104 274/455/199 178/358/102 -f 274/455/199 275/456/200 276/457/201 -f 276/457/201 277/458/202 184/365/108 -f 210/391/135 278/459/203 279/460/204 -f 278/459/203 280/461/205 279/460/204 -f 281/462/206 282/463/207 280/461/205 -f 209/390/134 283/464/208 278/459/203 -f 278/459/203 284/465/209 281/462/206 -f 284/465/209 183/364/107 281/462/206 -f 216/397/141 285/466/210 283/464/208 -f 283/464/208 286/467/211 284/465/209 -f 284/465/209 287/468/212 206/387/131 -f 163/343/87 285/466/210 161/341/85 -f 269/450/194 286/467/211 285/466/210 -f 271/452/196 287/468/212 286/467/211 -f 211/392/136 273/454/198 93/273/28 -f 117/297/42 288/469/213 188/369/112 -f 289/470/214 290/471/215 288/469/213 -f 290/471/215 181/361/105 162/342/86 -f 119/299/44 289/470/214 117/297/42 -f 289/470/214 291/472/216 292/473/217 -f 292/473/217 189/370/113 181/361/105 -f 175/355/99 293/474/218 119/299/44 -f 294/475/219 291/472/216 293/474/218 -f 291/472/216 179/359/103 189/370/113 -f 177/357/101 295/476/220 140/320/65 -f 295/476/220 296/477/221 140/320/65 -f 297/478/222 208/389/133 296/477/221 -f 173/353/97 298/479/223 295/476/220 -f 298/479/223 297/478/222 295/476/220 -f 299/480/224 215/396/140 297/478/222 -f 172/352/96 300/481/225 298/479/223 -f 298/479/223 301/482/226 299/480/224 -f 301/482/226 217/398/142 299/480/224 -f 188/369/112 300/481/225 186/367/110 -f 288/469/213 301/482/226 300/481/225 -f 290/471/215 302/483/227 301/482/226 -f 188/369/112 154/334/228 117/297/42 -f 207/388/132 96/276/31 97/277/32 -f 303/484/229 239/420/164 234/415/159 -f 304/485/230 305/486/231 198/379/122 -f 164/344/88 185/487/109 95/275/30 -f 211/392/136 96/276/31 207/388/132 -f 306/488/232 167/347/91 307/489/233 -f 308/490/234 309/491/234 310/492/234 -f 311/493/235 312/494/236 313/495/237 -f 314/496/238 315/497/239 316/498/236 -f 317/499/236 318/500/236 319/501/236 -f 320/502/236 321/503/236 322/504/236 -f 323/505/236 324/506/236 325/507/236 -f 326/508/236 327/509/236 328/510/240 -f 329/511/241 330/512/242 226/407/151 -f 331/513/243 332/514/244 333/515/245 -f 334/516/246 120/300/45 335/517/247 -f 120/300/45 122/518/47 335/517/247 -f 121/301/46 336/519/248 337/520/249 -f 334/516/246 338/521/250 339/522/251 -f 340/523/252 341/524/253 342/525/254 -f 334/516/246 343/526/255 120/300/45 -f 344/527/256 333/515/245 332/514/244 -f 345/528/257 346/529/258 347/530/259 -f 348/531/260 349/532/261 350/533/262 -f 350/533/262 351/534/263 352/535/264 -f 352/535/264 96/276/31 95/275/30 -f 353/536/265 354/537/266 355/538/267 -f 355/538/267 356/539/268 357/540/269 -f 357/540/269 307/489/233 167/347/91 -f 358/541/270 355/538/267 359/542/271 -f 359/542/271 357/540/269 360/543/272 -f 360/543/272 167/347/91 314/496/238 -f 358/541/270 361/544/273 362/545/274 -f 361/544/273 360/543/272 363/546/275 -f 363/546/275 314/496/238 364/547/276 -f 365/548/277 366/549/278 367/550/279 -f 368/551/280 369/552/281 366/549/278 -f 370/553/282 346/529/258 369/552/281 -f 371/554/283 368/551/280 365/548/277 -f 372/555/284 370/553/282 368/551/280 -f 373/556/285 347/530/259 370/553/282 -f 371/554/283 374/557/286 372/555/284 -f 374/557/286 373/556/285 372/555/284 -f 375/558/287 110/290/40 373/556/285 -f 348/531/260 354/537/266 376/559/288 -f 350/533/262 356/539/268 354/537/266 -f 352/535/264 307/489/233 356/539/268 -f 346/529/258 351/534/263 369/552/281 -f 369/552/281 349/532/261 366/549/278 -f 366/549/278 377/560/289 367/550/279 -f 378/561/290 379/562/291 380/563/292 -f 381/564/293 382/565/294 379/562/291 -f 383/566/295 339/522/251 382/565/294 -f 378/561/290 384/567/296 381/564/293 -f 381/564/293 385/568/297 383/566/295 -f 383/566/295 121/301/46 343/526/255 -f 386/569/298 387/570/299 384/567/296 -f 384/567/296 388/571/300 385/568/297 -f 385/568/297 336/519/248 121/301/46 -f 389/572/301 390/573/302 391/574/303 -f 392/575/304 393/576/305 390/573/302 -f 394/577/306 395/578/307 393/576/305 -f 396/579/308 392/575/304 389/572/301 -f 397/580/309 394/577/306 392/575/304 -f 398/581/310 332/514/244 394/577/306 -f 396/579/308 399/582/311 397/580/309 -f 397/580/309 400/583/312 398/581/310 -f 398/581/310 338/521/250 342/525/254 -f 380/563/292 399/582/311 401/584/313 -f 379/562/291 400/583/312 399/582/311 -f 382/565/294 338/521/250 400/583/312 -f 391/574/303 374/557/286 402/585/314 -f 390/573/302 375/558/287 374/557/286 -f 393/576/305 403/586/315 375/558/287 -f 364/547/276 388/571/300 363/546/275 -f 363/546/275 387/570/299 361/544/273 -f 361/544/273 404/587/316 362/545/274 -f 367/550/279 377/560/289 376/559/288 -f 405/588/317 406/589/318 337/520/249 -f 407/590/319 408/591/317 409/592/240 -f 410/593/319 411/594/318 412/595/240 -f 364/547/276 413/596/319 414/597/318 -f 415/598/317 416/599/318 417/600/317 -f 337/601/249 418/602/320 419/603/321 -f 418/602/320 420/604/322 419/603/321 -f 420/604/322 335/517/247 419/603/321 -f 345/605/257 128/308/53 127/307/52 -f 421/606/323 422/607/324 128/308/53 -f 423/608/325 329/511/241 422/607/324 -f 100/280/35 424/609/326 425/610/327 -f 426/611/328 427/612/329 425/610/327 -f 428/613/330 420/604/322 429/614/331 -f 420/604/322 430/615/332 429/614/331 -f 418/616/320 311/493/235 430/615/332 -f 306/617/232 303/484/229 431/618/333 -f 431/619/333 432/620/334 433/621/335 -f 433/621/335 305/486/231 434/622/336 -f 428/613/330 433/621/335 434/622/336 -f 429/614/331 431/623/333 433/621/335 -f 430/615/332 306/624/232 431/625/333 -f 423/626/325 435/627/337 436/628/338 -f 425/610/327 437/629/339 421/630/323 -f 425/610/327 345/631/257 100/280/35 -f 438/632/340 330/512/242 439/633/340 -f 158/338/81 229/410/341 250/431/342 -f 440/634/343 134/314/59 441/635/344 -f 442/636/345 443/637/346 444/638/347 -f 224/405/348 441/635/344 157/337/80 -f 445/639/349 204/385/350 446/640/351 -f 447/641/352 203/384/353 445/639/349 -f 444/638/347 448/642/354 447/641/352 -f 449/643/355 450/644/356 451/645/357 -f 452/646/358 135/315/60 137/317/62 -f 453/647/359 454/648/360 136/316/61 -f 455/649/361 451/645/357 454/648/360 -f 456/650/362 457/651/363 458/652/364 -f 459/653/365 460/654/366 461/655/367 -f 462/656/368 463/657/369 452/646/358 -f 461/655/367 464/658/370 141/321/66 -f 465/659/371 466/660/372 467/661/373 -f 468/662/374 469/663/375 470/664/376 -f 470/664/376 471/665/377 472/666/378 -f 472/666/378 473/667/379 462/656/368 -f 474/668/380 475/669/381 476/670/382 -f 442/636/345 477/671/383 478/672/384 -f 479/673/385 480/674/386 477/671/383 -f 481/675/387 238/419/163 480/674/386 -f 482/676/388 483/677/389 484/678/390 -f 484/678/390 485/679/391 486/680/392 -f 486/680/392 487/681/393 488/682/394 -f 488/682/394 158/338/81 157/337/80 -f 489/683/395 484/678/390 490/684/396 -f 490/684/396 486/680/392 491/685/397 -f 491/685/397 488/682/394 492/686/398 -f 492/686/398 157/337/80 441/635/344 -f 489/683/395 493/687/399 494/688/400 -f 490/684/396 495/689/401 493/687/399 -f 491/685/397 496/690/402 495/689/401 -f 492/686/398 134/314/59 496/690/402 -f 494/688/400 460/654/366 497/691/403 -f 493/687/399 464/658/370 460/654/366 -f 495/689/401 142/322/67 464/658/370 -f 496/690/402 133/313/58 142/322/67 -f 498/692/404 236/417/161 499/693/405 -f 499/693/405 481/675/387 500/694/406 -f 500/694/406 479/673/385 501/695/407 -f 501/695/407 442/636/345 444/638/347 -f 502/696/408 499/693/405 503/697/409 -f 503/697/409 500/694/406 504/698/410 -f 504/698/410 501/695/407 505/699/411 -f 505/699/411 444/638/347 447/641/352 -f 502/696/408 506/700/412 507/701/413 -f 503/697/409 508/702/414 506/700/412 -f 504/698/410 509/703/415 508/702/414 -f 505/699/411 445/639/349 509/703/415 -f 507/701/413 510/704/416 511/705/417 -f 506/700/412 512/706/418 510/704/416 -f 508/702/414 513/707/419 512/706/418 -f 509/703/415 446/640/351 513/707/419 -f 494/688/400 497/691/403 514/708/420 -f 515/709/421 516/710/422 517/711/423 -f 518/712/424 519/713/425 465/659/371 -f 520/714/426 521/715/427 475/669/381 -f 522/716/428 476/670/382 516/710/422 -f 158/338/81 513/707/419 446/640/351 -f 487/681/393 512/706/418 513/707/419 -f 485/679/391 510/704/416 512/706/418 -f 483/677/389 511/705/417 510/704/416 -f 467/661/373 523/717/429 524/718/430 -f 461/655/367 525/719/431 459/653/365 -f 526/720/432 527/721/433 525/719/431 -f 527/721/433 453/647/359 135/315/60 -f 141/321/66 526/720/432 461/655/367 -f 528/722/434 529/723/435 526/720/432 -f 529/723/435 455/649/361 453/647/359 -f 143/323/68 528/722/434 141/321/66 -f 530/724/436 531/725/437 528/722/434 -f 531/725/437 449/643/355 455/649/361 -f 532/726/438 530/724/436 143/323/68 -f 533/727/439 534/728/440 530/724/436 -f 534/728/440 535/729/441 449/643/355 -f 478/672/384 536/730/442 151/331/76 -f 151/331/76 537/731/443 152/332/77 -f 537/731/443 538/732/444 152/332/77 -f 477/671/383 539/733/445 536/730/442 -f 536/730/442 540/734/446 537/731/443 -f 540/734/446 469/663/375 537/731/443 -f 480/674/386 541/735/447 539/733/445 -f 539/733/445 542/736/448 540/734/446 -f 542/736/448 471/665/377 540/734/446 -f 238/419/163 543/737/449 541/735/447 -f 541/735/447 544/738/450 542/736/448 -f 544/738/450 473/667/379 542/736/448 -f 459/653/365 543/737/449 237/418/162 -f 525/719/431 544/738/450 543/737/449 -f 527/721/433 463/657/369 544/738/450 -f 143/323/68 133/313/58 532/726/438 -f 137/317/62 545/739/451 546/740/452 -f 545/739/451 547/741/453 546/740/452 -f 548/742/454 549/743/455 547/741/453 -f 136/316/61 550/744/456 545/739/451 -f 545/739/451 551/745/457 548/742/454 -f 551/745/457 552/746/458 548/742/454 -f 454/648/360 553/747/459 550/744/456 -f 550/744/456 554/748/460 551/745/457 -f 554/748/460 519/713/425 551/745/457 -f 451/645/357 555/749/461 553/747/459 -f 555/749/461 554/748/460 553/747/459 -f 556/750/462 466/660/372 554/748/460 -f 470/664/376 557/751/463 468/662/374 -f 557/751/463 558/752/464 559/753/465 -f 559/753/465 522/716/428 515/709/421 -f 472/666/378 560/754/466 470/664/376 -f 560/754/466 561/755/467 558/752/464 -f 558/752/464 474/668/380 522/716/428 -f 462/656/368 562/756/468 472/666/378 -f 563/757/469 561/755/467 562/756/468 -f 561/755/467 520/714/426 474/668/380 -f 452/646/358 563/757/469 462/656/368 -f 563/757/469 564/758/470 565/759/471 -f 565/759/471 566/760/472 520/714/426 -f 137/317/62 567/761/473 452/646/358 -f 546/740/452 564/758/470 567/761/473 -f 547/741/453 566/760/472 564/758/470 -f 521/715/427 549/743/455 568/762/474 -f 569/763/475 570/764/476 571/765/477 -f 571/765/477 456/650/362 458/652/364 -f 572/766/478 478/672/384 151/331/76 -f 148/328/73 573/767/78 569/763/475 -f 574/768/479 575/769/480 576/770/481 -f 577/771/482 578/772/483 153/333/484 -f 579/773/485 580/774/486 581/775/487 -f 582/776/488 149/329/74 583/777/489 -f 576/770/481 584/778/490 585/779/491 -f 568/762/474 552/746/458 518/712/424 -f 585/779/491 586/780/492 159/339/82 -f 587/781/493 153/333/484 588/782/494 -f 571/765/477 589/783/495 569/763/475 -f 590/784/496 591/785/497 589/783/495 -f 591/785/497 587/781/493 160/340/83 -f 458/652/364 590/784/496 571/765/477 -f 592/786/498 593/787/499 590/784/496 -f 593/787/499 577/771/482 587/781/493 -f 594/788/500 592/786/498 458/652/364 -f 595/789/501 596/790/502 592/786/498 -f 596/790/502 597/791/503 577/771/482 -f 598/792/504 599/793/505 600/794/506 -f 600/794/506 601/795/507 602/796/508 -f 601/795/507 603/797/509 602/796/508 -f 583/777/489 604/798/510 599/793/505 -f 599/793/505 605/799/511 601/795/507 -f 605/799/511 575/769/480 601/795/507 -f 149/329/74 606/800/512 604/798/510 -f 604/798/510 607/801/513 605/799/511 -f 607/801/513 584/778/490 605/799/511 -f 569/763/475 606/800/512 148/328/73 -f 589/783/495 607/801/513 606/800/512 -f 591/785/497 586/780/492 607/801/513 -f 160/340/83 588/782/494 155/335/84 -f 608/802/514 609/803/515 610/804/516 -f 611/805/517 612/806/518 613/807/519 -f 614/808/520 615/809/521 616/810/522 -f 617/811/523 618/812/524 619/813/525 -f 619/813/525 620/814/526 621/815/527 -f 621/815/527 568/816/474 518/817/424 -f 622/818/528 619/813/525 623/819/529 -f 623/819/529 621/815/527 624/820/530 -f 624/820/530 518/817/424 465/821/371 -f 144/324/69 623/819/529 625/822/531 -f 625/822/531 624/820/530 626/823/532 -f 626/823/532 465/821/371 467/824/373 -f 144/324/69 612/806/518 145/325/70 -f 625/822/531 613/807/519 612/806/518 -f 613/807/519 467/824/373 524/825/430 -f 627/826/533 628/827/534 629/828/535 -f 629/828/535 630/829/536 631/830/537 -f 630/829/536 516/831/422 631/830/537 -f 627/826/533 632/832/538 633/833/539 -f 629/828/535 634/834/540 632/832/538 -f 631/830/537 476/835/382 634/834/540 -f 633/833/539 635/836/541 636/837/542 -f 632/832/538 637/838/543 635/836/541 -f 634/834/540 475/839/381 637/838/543 -f 636/837/542 638/840/544 639/841/545 -f 635/836/541 640/842/546 638/840/544 -f 637/838/543 521/843/427 640/842/546 -f 641/844/547 642/845/548 643/846/549 -f 644/847/550 643/846/549 645/848/551 -f 646/849/552 647/850/553 648/851/554 -f 639/841/545 618/812/524 146/326/71 -f 638/840/544 620/814/526 618/812/524 -f 640/842/546 568/816/474 620/814/526 -f 582/776/555 649/852/556 147/327/555 -f 630/829/536 628/827/534 650/853/557 -f 614/808/520 651/854/558 145/325/70 -f 275/456/200 130/310/55 277/458/202 -f 96/276/31 211/392/136 93/273/28 -f 652/855/559 100/280/35 653/856/560 -f 654/857/559 655/858/559 403/586/315 -f 656/859/559 657/860/559 658/861/559 -f 659/862/559 660/863/559 661/864/559 -f 662/865/559 663/866/559 664/867/559 -f 665/868/561 666/869/560 667/870/559 -f 117/297/42 154/334/228 118/298/43 -f 120/300/45 343/526/255 121/301/46 -f 395/578/307 668/871/562 669/872/562 -f 123/303/48 191/372/115 124/304/49 -f 128/308/53 422/607/324 329/511/241 -f 329/511/241 226/407/151 128/308/53 -f 226/407/151 126/306/51 128/308/53 -f 129/309/54 192/373/116 130/310/55 -f 132/312/57 670/873/563 133/313/58 -f 135/315/60 453/647/359 136/316/61 -f 515/709/421 517/711/423 468/662/374 -f 671/874/555 672/875/555 673/876/555 -f 538/732/444 517/711/423 152/332/77 -f 674/877/564 152/332/77 517/711/423 -f 517/711/423 538/732/444 468/662/374 -f 630/829/536 650/853/557 675/878/565 -f 557/751/463 559/753/465 468/662/374 -f 559/753/465 515/709/421 468/662/374 -f 603/797/509 574/768/479 176/356/100 -f 603/797/509 176/356/100 177/357/101 -f 602/796/508 603/797/509 139/319/64 -f 603/797/509 177/357/101 139/319/64 -f 177/357/101 140/320/65 139/319/64 -f 600/794/506 602/796/508 139/319/64 -f 150/330/75 676/879/566 581/775/487 -f 677/880/567 583/777/489 598/792/504 -f 678/881/568 582/776/488 583/777/489 -f 679/882/555 680/883/569 582/776/555 -f 98/363/33 96/276/31 346/529/258 -f 127/307/52 243/424/168 282/463/207 -f 243/424/168 218/399/143 282/463/207 -f 218/399/143 220/401/145 210/391/135 -f 98/363/33 346/529/258 345/605/257 -f 345/605/257 127/307/52 282/463/207 -f 98/363/33 345/605/257 282/463/207 -f 280/461/205 282/463/207 218/399/143 -f 279/460/204 280/461/205 218/399/143 -f 210/391/135 279/460/204 218/399/143 -f 208/389/133 210/391/135 220/401/145 -f 296/477/221 208/389/133 138/318/63 -f 208/389/133 220/401/145 260/441/185 -f 208/389/133 260/441/185 262/443/187 -f 598/792/504 600/794/506 139/319/64 -f 139/319/64 442/636/345 478/672/384 -f 140/320/65 296/477/221 138/318/63 -f 208/389/133 262/443/187 138/318/63 -f 141/321/66 464/658/370 142/322/67 -f 681/884/570 145/325/70 612/806/518 -f 651/854/558 682/885/571 628/827/534 -f 651/854/558 627/826/533 639/841/545 -f 145/325/70 651/854/558 146/326/71 -f 627/826/533 633/833/539 636/837/542 -f 636/837/542 639/841/545 627/826/533 -f 639/841/545 146/326/71 651/854/558 -f 146/326/71 617/811/523 144/324/69 -f 617/811/523 622/818/528 144/324/69 -f 147/327/72 683/886/78 148/328/73 -f 573/767/555 672/875/555 671/874/555 -f 580/774/486 684/887/572 685/888/573 -f 686/889/555 456/650/555 570/764/555 -f 570/764/555 671/874/555 686/889/555 -f 687/890/574 647/891/553 688/892/575 -f 689/893/576 139/319/64 478/672/384 -f 647/891/553 687/890/574 690/894/577 -f 578/772/78 174/354/78 118/298/78 -f 118/298/78 154/334/78 578/772/78 -f 154/334/78 187/368/78 155/335/78 -f 578/772/78 154/334/78 153/333/78 -f 187/368/78 691/895/78 159/339/78 -f 691/895/78 205/386/78 159/339/78 -f 205/386/78 171/351/78 574/768/78 -f 171/351/78 176/356/78 574/768/78 -f 574/768/78 576/770/78 205/386/78 -f 576/770/78 585/779/78 159/339/78 -f 159/339/78 155/335/78 187/368/78 -f 155/335/78 588/782/78 153/333/78 -f 159/339/78 205/386/78 576/770/78 -f 156/336/79 224/405/348 157/337/80 -f 159/339/82 586/780/492 160/340/83 -f 161/341/85 302/483/227 162/342/86 -f 168/348/92 227/408/152 169/349/93 -f 171/351/95 205/386/130 172/352/96 -f 119/299/44 118/298/43 174/354/98 -f 176/356/100 171/351/95 173/353/97 -f 178/358/102 189/370/113 179/359/103 -f 163/343/87 162/342/86 181/361/105 -f 98/363/33 282/463/207 183/364/107 -f 184/365/108 277/458/202 185/366/109 -f 186/367/110 691/895/578 187/368/111 -f 182/362/106 181/361/105 189/370/113 -f 190/371/114 247/428/172 191/372/115 -f 125/305/50 124/304/49 192/373/116 -f 193/374/117 184/365/108 164/344/88 -f 194/375/118 197/378/121 195/376/119 -f 197/378/121 304/485/230 198/379/122 -f 199/380/123 255/436/180 200/381/124 -f 194/375/118 196/377/120 170/350/94 -f 169/349/93 213/394/138 194/375/118 -f 213/394/138 241/422/166 194/375/118 -f 201/382/126 247/428/172 190/371/114 -f 203/384/128 448/642/128 138/318/63 -f 448/642/128 443/637/346 138/318/63 -f 443/637/346 139/319/64 138/318/63 -f 138/318/63 222/403/147 204/385/129 -f 205/386/130 691/895/578 186/367/110 -f 97/277/32 183/364/107 206/387/131 -f 208/389/133 215/396/140 209/390/134 -f 206/387/131 287/468/212 211/392/136 -f 213/394/138 212/393/137 692/896/579 -f 334/516/246 693/897/580 694/898/581 -f 334/516/246 335/517/247 241/422/166 -f 213/394/138 692/896/579 695/899/582 -f 215/396/140 217/398/142 216/397/141 -f 217/398/142 302/483/227 161/341/85 -f 218/399/143 221/402/146 219/400/144 -f 221/402/146 201/382/126 202/383/127 -f 222/403/147 228/409/153 223/404/148 -f 200/381/124 225/406/150 156/336/125 -f 225/406/150 670/873/563 132/312/583 -f 132/312/583 440/634/584 225/406/150 -f 440/634/584 224/405/149 225/406/150 -f 226/407/151 330/512/242 227/408/152 -f 228/409/153 268/449/193 229/410/154 -f 93/273/28 273/454/198 193/374/117 -f 196/377/120 195/376/119 230/411/155 -f 230/411/155 233/414/158 232/413/157 -f 233/414/158 124/304/49 191/372/115 -f 195/376/119 198/379/122 234/415/159 -f 234/415/159 235/416/160 233/414/158 -f 235/416/160 192/373/116 124/304/49 -f 236/417/161 696/900/585 237/418/162 -f 239/420/164 240/421/165 235/416/160 -f 240/421/165 130/310/55 192/373/116 -f 335/517/247 428/613/330 241/422/166 -f 428/613/330 434/622/336 304/485/230 -f 304/485/230 197/378/121 428/613/330 -f 428/613/330 197/378/121 241/422/166 -f 127/307/52 126/306/51 242/423/167 -f 243/424/168 242/423/167 221/402/146 -f 168/348/92 245/426/170 126/306/51 -f 126/306/51 245/426/170 244/425/169 -f 242/423/167 244/425/169 201/382/126 -f 170/350/94 248/429/173 245/426/170 -f 245/426/170 248/429/173 246/427/171 -f 244/425/169 246/427/171 247/428/172 -f 196/377/120 231/412/156 248/429/173 -f 231/412/156 232/413/157 246/427/171 -f 232/413/157 191/372/115 247/428/172 -f 229/410/154 268/449/193 249/430/174 -f 123/303/48 125/305/50 251/432/176 -f 252/433/177 251/432/176 253/434/178 -f 254/435/179 253/434/178 255/436/180 -f 129/309/54 258/439/183 251/432/176 -f 251/432/176 258/439/183 256/437/181 -f 253/434/178 256/437/181 200/381/124 -f 129/309/54 131/311/56 257/438/182 -f 258/439/183 257/438/182 259/440/184 -f 256/437/181 259/440/184 225/406/150 -f 219/400/144 261/442/186 260/441/185 -f 261/442/186 263/444/188 262/443/187 -f 263/444/188 222/403/147 138/318/63 -f 219/400/144 202/383/127 264/445/189 -f 264/445/189 265/446/190 263/444/188 -f 265/446/190 228/409/153 222/403/147 -f 190/371/114 266/447/191 264/445/189 -f 266/447/191 267/448/192 265/446/190 -f 267/448/192 268/449/193 228/409/153 -f 190/371/114 123/303/48 252/433/177 -f 252/433/177 254/435/179 267/448/192 -f 254/435/179 249/430/174 268/449/193 -f 250/431/175 249/430/174 255/436/180 -f 182/362/106 270/451/195 269/450/194 -f 270/451/195 272/453/197 271/452/196 -f 272/453/197 193/374/117 273/454/198 -f 178/358/102 274/455/199 270/451/195 -f 274/455/199 276/457/201 272/453/197 -f 272/453/197 276/457/201 184/365/108 -f 180/360/104 697/901/586 274/455/199 -f 274/455/199 697/901/586 275/456/200 -f 276/457/201 275/456/200 277/458/202 -f 210/391/135 209/390/134 278/459/203 -f 278/459/203 281/462/206 280/461/205 -f 281/462/206 183/364/107 282/463/207 -f 209/390/134 216/397/141 283/464/208 -f 278/459/203 283/464/208 284/465/209 -f 284/465/209 206/387/131 183/364/107 -f 216/397/141 161/341/85 285/466/210 -f 283/464/208 285/466/210 286/467/211 -f 284/465/209 286/467/211 287/468/212 -f 163/343/87 269/450/194 285/466/210 -f 269/450/194 271/452/196 286/467/211 -f 271/452/196 273/454/198 287/468/212 -f 211/392/136 287/468/212 273/454/198 -f 117/297/42 289/470/214 288/469/213 -f 289/470/214 292/473/217 290/471/215 -f 290/471/215 292/473/217 181/361/105 -f 119/299/44 293/474/218 289/470/214 -f 289/470/214 293/474/218 291/472/216 -f 292/473/217 291/472/216 189/370/113 -f 175/355/99 294/475/219 293/474/218 -f 294/475/219 698/902/587 291/472/216 -f 291/472/216 698/902/587 179/359/103 -f 177/357/101 173/353/97 295/476/220 -f 295/476/220 297/478/222 296/477/221 -f 297/478/222 215/396/140 208/389/133 -f 173/353/97 172/352/96 298/479/223 -f 298/479/223 299/480/224 297/478/222 -f 299/480/224 217/398/142 215/396/140 -f 172/352/96 186/367/110 300/481/225 -f 298/479/223 300/481/225 301/482/226 -f 301/482/226 302/483/227 217/398/142 -f 188/369/112 288/469/213 300/481/225 -f 288/469/213 290/471/215 301/482/226 -f 290/471/215 162/342/86 302/483/227 -f 188/369/112 187/368/111 154/334/228 -f 234/415/159 198/379/122 303/484/229 -f 198/379/122 305/486/231 303/484/229 -f 305/486/231 432/620/334 303/484/229 -f 304/485/230 434/622/336 305/486/231 -f 311/493/235 313/495/237 699/903/588 -f 700/904/589 701/905/590 702/906/239 -f 703/907/589 704/908/590 705/909/239 -f 315/497/239 314/496/238 706/910/590 -f 707/911/590 708/912/591 709/913/589 -f 710/914/592 711/915/588 712/916/593 -f 329/511/241 713/917/594 330/512/242 -f 714/918/595 332/514/244 331/513/243 -f 419/919/321 122/302/47 337/520/249 -f 122/302/47 121/301/46 337/520/249 -f 715/920/596 338/521/250 334/516/246 -f 338/521/250 340/523/252 342/525/254 -f 334/516/246 339/522/251 343/526/255 -f 342/525/254 344/527/256 332/514/244 -f 122/518/47 419/921/321 335/517/247 -f 348/531/260 377/560/289 349/532/261 -f 350/533/262 349/532/261 351/534/263 -f 352/535/264 351/534/263 96/276/31 -f 353/536/265 376/559/288 354/537/266 -f 355/538/267 354/537/266 356/539/268 -f 357/540/269 356/539/268 307/489/233 -f 358/541/270 353/536/265 355/538/267 -f 359/542/271 355/538/267 357/540/269 -f 360/543/272 357/540/269 167/347/91 -f 358/541/270 359/542/271 361/544/273 -f 361/544/273 359/542/271 360/543/272 -f 363/546/275 360/543/272 314/496/238 -f 365/548/277 368/551/280 366/549/278 -f 368/551/280 370/553/282 369/552/281 -f 370/553/282 347/530/259 346/529/258 -f 371/554/283 372/555/284 368/551/280 -f 372/555/284 373/556/285 370/553/282 -f 373/556/285 110/290/40 347/530/259 -f 371/554/283 402/585/314 374/557/286 -f 374/557/286 375/558/287 373/556/285 -f 375/558/287 403/586/315 110/290/40 -f 348/531/260 350/533/262 354/537/266 -f 350/533/262 352/535/264 356/539/268 -f 352/535/264 95/275/30 307/489/233 -f 346/529/258 96/276/31 351/534/263 -f 369/552/281 351/534/263 349/532/261 -f 366/549/278 349/532/261 377/560/289 -f 378/561/290 381/564/293 379/562/291 -f 381/564/293 383/566/295 382/565/294 -f 383/566/295 343/526/255 339/522/251 -f 378/561/290 386/569/298 384/567/296 -f 381/564/293 384/567/296 385/568/297 -f 383/566/295 385/568/297 121/301/46 -f 386/569/298 404/587/316 387/570/299 -f 384/567/296 387/570/299 388/571/300 -f 385/568/297 388/571/300 336/519/248 -f 389/572/301 392/575/304 390/573/302 -f 392/575/304 394/577/306 393/576/305 -f 394/577/306 332/514/244 395/578/307 -f 396/579/308 397/580/309 392/575/304 -f 397/580/309 398/581/310 394/577/306 -f 398/581/310 342/525/254 332/514/244 -f 396/579/308 401/584/313 399/582/311 -f 397/580/309 399/582/311 400/583/312 -f 398/581/310 400/583/312 338/521/250 -f 380/563/292 379/562/291 399/582/311 -f 379/562/291 382/565/294 400/583/312 -f 382/565/294 339/522/251 338/521/250 -f 391/574/303 390/573/302 374/557/286 -f 390/573/302 393/576/305 375/558/287 -f 393/576/305 395/578/307 403/586/315 -f 364/547/276 336/519/248 388/571/300 -f 363/546/275 388/571/300 387/570/299 -f 361/544/273 387/570/299 404/587/316 -f 377/560/289 348/531/260 376/559/288 -f 376/559/288 353/536/265 365/548/277 -f 353/536/265 358/541/270 365/548/277 -f 358/541/270 362/545/274 402/585/314 -f 362/545/274 404/587/316 380/563/292 -f 404/587/316 386/569/298 378/561/290 -f 378/561/290 380/563/292 404/587/316 -f 380/563/292 401/584/313 362/545/274 -f 362/545/274 401/584/313 402/585/314 -f 401/584/313 396/579/308 389/572/301 -f 389/572/301 391/574/303 401/584/313 -f 391/574/303 402/585/314 401/584/313 -f 402/585/314 371/554/283 358/541/270 -f 371/554/283 365/548/277 358/541/270 -f 365/548/277 367/550/279 376/559/288 -f 716/922/318 717/923/318 718/924/318 -f 345/605/257 421/606/323 128/308/53 -f 421/606/323 423/608/325 422/607/324 -f 423/608/325 713/917/594 329/511/241 -f 100/280/35 719/925/597 720/926/598 -f 425/610/327 424/609/326 426/611/328 -f 428/613/330 335/517/247 420/604/322 -f 420/604/322 418/616/320 430/615/332 -f 418/616/320 337/520/249 311/493/235 -f 306/617/232 239/420/164 303/484/229 -f 431/619/333 303/927/229 432/620/334 -f 433/621/335 432/620/334 305/486/231 -f 428/613/330 429/614/331 433/621/335 -f 429/614/331 430/928/332 431/623/333 -f 430/615/332 311/493/235 306/624/232 -f 713/929/594 436/628/599 721/930/600 -f 421/630/323 435/627/337 423/626/325 -f 425/610/327 421/630/323 345/631/257 -f 213/394/138 169/349/93 227/408/152 -f 214/395/139 213/394/138 722/931/601 -f 330/512/242 721/930/600 439/633/340 -f 722/931/601 227/408/152 438/632/340 -f 446/640/351 204/385/350 223/404/602 -f 199/380/603 156/336/79 158/338/81 -f 158/338/81 446/640/351 229/410/341 -f 446/640/351 223/404/602 229/410/341 -f 250/431/342 199/380/603 158/338/81 -f 440/634/343 132/312/604 134/314/59 -f 442/636/345 139/319/64 443/637/346 -f 224/405/348 440/634/343 441/635/344 -f 445/639/349 203/384/353 204/385/350 -f 447/641/352 448/642/354 203/384/353 -f 444/638/347 443/637/346 448/642/354 -f 449/643/355 535/729/441 450/644/356 -f 452/646/358 463/657/369 135/315/60 -f 453/647/359 455/649/361 454/648/360 -f 455/649/361 449/643/355 451/645/357 -f 723/932/605 724/933/606 610/804/516 -f 459/653/365 497/691/403 460/654/366 -f 462/656/368 473/667/379 463/657/369 -f 461/655/367 460/654/366 464/658/370 -f 465/659/371 519/713/425 466/660/372 -f 468/662/374 538/732/444 469/663/375 -f 470/664/376 469/663/375 471/665/377 -f 472/666/378 471/665/377 473/667/379 -f 474/668/380 520/714/426 475/669/381 -f 442/636/345 479/673/385 477/671/383 -f 479/673/385 481/675/387 480/674/386 -f 481/675/387 236/417/161 238/419/163 -f 482/676/388 514/708/420 483/677/389 -f 484/678/390 483/677/389 485/679/391 -f 486/680/392 485/679/391 487/681/393 -f 488/682/394 487/681/393 158/338/81 -f 489/683/395 482/676/388 484/678/390 -f 490/684/396 484/678/390 486/680/392 -f 491/685/397 486/680/392 488/682/394 -f 492/686/398 488/682/394 157/337/80 -f 489/683/395 490/684/396 493/687/399 -f 490/684/396 491/685/397 495/689/401 -f 491/685/397 492/686/398 496/690/402 -f 492/686/398 441/635/344 134/314/59 -f 494/688/400 493/687/399 460/654/366 -f 493/687/399 495/689/401 464/658/370 -f 495/689/401 496/690/402 142/322/67 -f 496/690/402 134/314/59 133/313/58 -f 498/692/404 696/900/585 236/417/161 -f 499/693/405 236/417/161 481/675/387 -f 500/694/406 481/675/387 479/673/385 -f 501/695/407 479/673/385 442/636/345 -f 502/696/408 498/692/404 499/693/405 -f 503/697/409 499/693/405 500/694/406 -f 504/698/410 500/694/406 501/695/407 -f 505/699/411 501/695/407 444/638/347 -f 502/696/408 503/697/409 506/700/412 -f 503/697/409 504/698/410 508/702/414 -f 504/698/410 505/699/411 509/703/415 -f 505/699/411 447/641/352 445/639/349 -f 507/701/413 506/700/412 510/704/416 -f 506/700/412 508/702/414 512/706/418 -f 508/702/414 509/703/415 513/707/419 -f 509/703/415 445/639/349 446/640/351 -f 497/691/403 459/653/365 514/708/420 -f 459/653/365 237/418/162 514/708/420 -f 237/418/162 696/900/585 511/705/417 -f 696/900/585 498/692/404 511/705/417 -f 498/692/404 502/696/408 507/701/413 -f 507/701/413 511/705/417 498/692/404 -f 511/705/417 514/708/420 237/418/162 -f 514/708/420 482/676/388 494/688/400 -f 482/676/388 489/683/395 494/688/400 -f 515/709/421 522/716/428 516/710/422 -f 518/712/424 552/746/458 519/713/425 -f 520/714/426 566/760/472 521/715/427 -f 522/716/428 474/668/380 476/670/382 -f 158/338/81 487/681/393 513/707/419 -f 487/681/393 485/679/391 512/706/418 -f 485/679/391 483/677/389 510/704/416 -f 483/677/389 514/708/420 511/705/417 -f 467/661/373 466/660/372 523/717/429 -f 461/655/367 526/720/432 525/719/431 -f 526/720/432 529/723/435 527/721/433 -f 527/721/433 529/723/435 453/647/359 -f 141/321/66 528/722/434 526/720/432 -f 528/722/434 531/725/437 529/723/435 -f 529/723/435 531/725/437 455/649/361 -f 143/323/68 530/724/436 528/722/434 -f 530/724/436 534/728/440 531/725/437 -f 531/725/437 534/728/440 449/643/355 -f 532/726/438 533/727/439 530/724/436 -f 533/727/439 609/803/515 534/728/440 -f 534/728/440 609/803/515 535/729/441 -f 478/672/384 477/671/383 536/730/442 -f 151/331/76 536/730/442 537/731/443 -f 537/731/443 469/663/375 538/732/444 -f 477/671/383 480/674/386 539/733/445 -f 536/730/442 539/733/445 540/734/446 -f 540/734/446 471/665/377 469/663/375 -f 480/674/386 238/419/163 541/735/447 -f 539/733/445 541/735/447 542/736/448 -f 542/736/448 473/667/379 471/665/377 -f 238/419/163 237/418/162 543/737/449 -f 541/735/447 543/737/449 544/738/450 -f 544/738/450 463/657/369 473/667/379 -f 459/653/365 525/719/431 543/737/449 -f 525/719/431 527/721/433 544/738/450 -f 527/721/433 135/315/60 463/657/369 -f 143/323/68 142/322/67 133/313/58 -f 137/317/62 136/316/61 545/739/451 -f 545/739/451 548/742/454 547/741/453 -f 548/742/454 552/746/458 549/743/455 -f 136/316/61 454/648/360 550/744/456 -f 545/739/451 550/744/456 551/745/457 -f 551/745/457 519/713/425 552/746/458 -f 454/648/360 451/645/357 553/747/459 -f 550/744/456 553/747/459 554/748/460 -f 554/748/460 466/660/372 519/713/425 -f 451/645/357 450/644/356 555/749/461 -f 555/749/461 556/750/462 554/748/460 -f 556/750/462 523/717/429 466/660/372 -f 470/664/376 560/754/466 557/751/463 -f 557/751/463 560/754/466 558/752/464 -f 559/753/465 558/752/464 522/716/428 -f 472/666/378 562/756/468 560/754/466 -f 560/754/466 562/756/468 561/755/467 -f 558/752/464 561/755/467 474/668/380 -f 462/656/368 563/757/469 562/756/468 -f 563/757/469 565/759/471 561/755/467 -f 561/755/467 565/759/471 520/714/426 -f 452/646/358 567/761/473 563/757/469 -f 563/757/469 567/761/473 564/758/470 -f 565/759/471 564/758/470 566/760/472 -f 137/317/62 546/740/452 567/761/473 -f 546/740/452 547/741/453 564/758/470 -f 547/741/453 549/743/455 566/760/472 -f 521/715/427 566/760/472 549/743/455 -f 569/763/475 573/767/78 570/764/476 -f 571/765/477 570/764/476 456/650/362 -f 594/788/500 725/934/607 670/873/563 -f 148/328/73 683/886/78 573/767/78 -f 574/768/479 603/797/509 575/769/480 -f 577/771/482 597/791/503 578/772/483 -f 726/935/608 598/792/504 139/319/64 -f 582/776/488 147/327/72 149/329/74 -f 576/770/481 575/769/480 584/778/490 -f 568/762/474 549/743/455 552/746/458 -f 585/779/491 584/778/490 586/780/492 -f 587/781/493 577/771/482 153/333/484 -f 571/765/477 590/784/496 589/783/495 -f 590/784/496 593/787/499 591/785/497 -f 591/785/497 593/787/499 587/781/493 -f 458/652/364 592/786/498 590/784/496 -f 592/786/498 596/790/502 593/787/499 -f 593/787/499 596/790/502 577/771/482 -f 594/788/500 595/789/501 592/786/498 -f 595/789/501 727/936/609 596/790/502 -f 596/790/502 727/936/609 597/791/503 -f 598/792/504 583/777/489 599/793/505 -f 600/794/506 599/793/505 601/795/507 -f 601/795/507 575/769/480 603/797/509 -f 583/777/489 149/329/74 604/798/510 -f 599/793/505 604/798/510 605/799/511 -f 605/799/511 584/778/490 575/769/480 -f 149/329/74 148/328/73 606/800/512 -f 604/798/510 606/800/512 607/801/513 -f 607/801/513 586/780/492 584/778/490 -f 569/763/475 589/783/495 606/800/512 -f 589/783/495 591/785/497 607/801/513 -f 591/785/497 160/340/83 586/780/492 -f 160/340/83 587/781/493 588/782/494 -f 728/937/610 613/807/519 524/825/430 -f 646/849/552 644/847/550 645/848/551 -f 728/937/610 524/825/430 608/938/514 -f 617/811/523 146/326/71 618/812/524 -f 619/813/525 618/812/524 620/814/526 -f 621/815/527 620/814/526 568/816/474 -f 622/818/528 617/811/523 619/813/525 -f 623/819/529 619/813/525 621/815/527 -f 624/820/530 621/815/527 518/817/424 -f 144/324/69 622/818/528 623/819/529 -f 625/822/531 623/819/529 624/820/530 -f 626/823/532 624/820/530 465/821/371 -f 144/324/69 625/822/531 612/806/518 -f 625/822/531 626/823/532 613/807/519 -f 613/807/519 626/823/532 467/824/373 -f 627/826/533 651/854/558 628/827/534 -f 629/828/535 628/827/534 630/829/536 -f 630/829/536 517/939/423 516/831/422 -f 627/826/533 629/828/535 632/832/538 -f 629/828/535 631/830/537 634/834/540 -f 631/830/537 516/831/422 476/835/382 -f 633/833/539 632/832/538 635/836/541 -f 632/832/538 634/834/540 637/838/543 -f 634/834/540 476/835/382 475/839/381 -f 636/837/542 635/836/541 638/840/544 -f 635/836/541 637/838/543 640/842/546 -f 637/838/543 475/839/381 521/843/427 -f 729/940/611 642/845/548 641/844/547 -f 644/847/550 641/844/547 643/846/549 -f 628/827/534 682/885/571 650/853/557 -f 639/841/545 638/840/544 618/812/524 -f 638/840/544 640/842/546 620/814/526 -f 640/842/546 521/843/427 568/816/474 -f 517/939/423 630/829/536 675/878/565 -f 517/939/423 675/878/565 674/941/564 -f 458/652/364 730/942/612 594/788/500 -f 524/718/430 523/717/429 450/644/356 -f 535/729/441 524/718/430 450/644/356 -f 523/717/429 556/750/462 450/644/356 -f 556/750/462 555/749/461 450/644/356 -f 611/805/517 613/807/519 728/937/610 -f 524/718/430 535/729/441 609/803/515 -f 147/327/555 731/943/613 683/886/555 -f 732/944/614 670/873/563 725/934/607 -f 733/945/615 532/726/438 732/944/614 -f 595/789/501 594/788/500 670/873/563 -f 734/946/616 724/933/606 723/932/605 -f 735/947/617 533/727/439 733/945/615 -f 727/936/609 595/789/501 670/873/563 -f 532/726/438 133/313/58 670/873/563 -f 174/354/98 578/772/483 597/791/503 -f 597/791/503 727/936/609 670/873/563 -f 670/873/563 225/406/150 294/475/219 -f 225/406/150 259/440/184 179/359/103 -f 294/475/219 225/406/150 698/902/587 -f 175/355/99 174/354/98 597/791/503 -f 294/475/219 175/355/99 670/873/563 -f 175/355/99 597/791/503 670/873/563 -f 698/902/587 225/406/150 179/359/103 -f 259/440/184 257/438/182 179/359/103 -f 131/311/56 130/310/55 180/360/104 -f 130/310/55 240/421/165 277/458/202 -f 180/360/104 130/310/55 697/901/586 -f 179/359/103 257/438/182 131/311/56 -f 180/360/104 179/359/103 131/311/56 -f 239/420/164 306/617/232 277/458/202 -f 185/366/109 306/617/232 307/489/233 -f 307/489/233 95/275/30 185/366/109 -f 185/366/109 277/458/202 306/617/232 -f 239/420/164 277/458/202 240/421/165 -f 697/901/586 130/310/55 275/456/200 -f 681/884/570 736/948/618 737/949/619 -f 737/949/619 616/810/522 615/809/521 -f 681/884/620 737/949/620 615/809/620 -f 738/950/621 608/951/514 610/952/516 -f 579/773/485 676/953/566 739/954/622 -f 688/892/623 738/950/624 610/952/624 -f 740/955/625 741/956/626 682/885/571 -f 614/808/520 740/955/625 742/957/627 -f 740/955/628 682/885/628 742/957/628 -f 676/953/566 674/877/564 743/958/629 -f 676/953/630 743/958/630 739/954/630 -f 608/938/514 744/959/631 728/937/610 -f 744/959/631 688/960/575 745/961/632 -f 745/961/632 647/850/553 645/848/551 -f 674/941/564 746/962/633 743/963/629 -f 746/962/633 739/964/622 743/963/629 -f 747/965/634 646/849/552 739/964/622 -f 728/937/610 748/966/635 611/805/517 -f 748/966/635 745/961/632 749/967/636 -f 749/967/636 645/848/551 643/846/549 -f 675/878/565 750/968/637 746/962/633 -f 750/968/637 747/965/634 746/962/633 -f 751/969/638 644/847/550 747/965/634 -f 611/805/517 736/948/618 681/884/570 -f 748/966/635 737/949/619 736/948/618 -f 737/949/619 643/846/549 642/845/548 -f 650/853/557 741/956/626 750/968/637 -f 741/956/626 751/969/638 750/968/637 -f 740/955/625 641/844/547 751/969/638 -f 681/884/570 612/806/518 611/805/517 -f 752/970/562 753/971/562 754/972/562 -f 755/973/639 756/974/640 757/975/641 -f 758/976/639 403/586/315 759/977/562 -f 760/978/562 761/979/639 762/980/640 -f 763/981/641 764/982/639 765/983/640 -f 719/984/642 766/985/643 212/986/137 -f 693/987/644 767/988/644 768/989/644 -f 767/990/645 769/991/646 770/992/647 -f 770/993/647 771/994/648 772/995/649 -f 772/995/649 773/996/650 768/997/651 -f 331/998/652 333/999/652 344/1000/653 -f 774/1001/652 665/1002/654 327/1003/655 -f 405/1004/656 775/1005/657 406/1006/658 -f 312/1007/659 652/1008/659 653/1009/555 -f 776/1010/660 777/1011/661 778/1012/661 -f 778/1013/661 777/1014/661 699/1015/662 -f 406/1016/658 779/1017/663 780/1018/663 -f 779/1019/663 312/1007/659 780/1020/663 -f 781/1021/664 782/1022/665 783/1023/666 -f 711/1024/667 784/1025/668 781/1021/664 -f 785/1026/669 754/1027/670 405/1028/656 -f 327/1003/655 786/1029/655 785/1026/669 -f 787/1030/671 776/1031/660 782/1032/665 -f 788/1033/652 789/1034/672 324/1035/655 -f 790/1036/657 791/1037/656 792/1038/670 -f 114/1039/673 710/1040/662 712/1041/674 -f 793/1042/660 794/1043/661 795/1044/661 -f 795/1045/661 794/1046/661 710/1040/662 -f 796/1047/675 797/1048/658 790/1049/657 -f 326/1050/659 328/1051/676 798/1052/663 -f 799/1053/664 800/1054/665 310/1055/664 -f 708/1056/677 707/1057/668 799/1053/664 -f 801/1058/678 416/1059/679 802/1060/669 -f 663/1061/655 755/1062/680 802/1060/669 -f 803/1063/671 793/1064/660 800/1065/665 -f 322/1066/655 660/1067/681 659/1068/655 -f 804/1069/657 805/1070/656 806/1071/670 -f 664/1072/682 325/1073/659 662/1074/659 -f 308/1075/683 807/1076/661 309/1077/661 -f 309/1078/661 807/1079/661 709/1080/684 -f 808/1081/675 415/1082/663 417/1083/675 -f 757/1084/663 325/1073/659 415/1085/663 -f 809/1086/666 810/1087/665 811/1088/666 -f 702/1089/668 809/1086/666 104/1090/668 -f 806/1091/670 718/1092/685 812/1093/686 -f 718/1092/685 813/1094/687 322/1066/655 -f 810/1095/665 165/1096/688 308/1097/683 -f 317/1098/655 657/1099/689 656/1100/655 -f 668/1101/657 814/1102/656 669/1103/670 -f 661/1104/690 815/1105/659 816/1106/659 -f 817/1107/660 818/1108/691 819/1109/661 -f 103/1110/692 819/1111/661 700/1112/684 -f 820/1113/663 716/1114/658 668/1115/657 -f 717/1116/663 820/1117/663 815/1105/659 -f 821/1118/664 822/1119/665 823/1120/664 -f 824/1121/681 705/1122/693 821/1118/664 -f 669/1123/670 825/1124/679 826/1125/679 -f 825/1124/679 317/1098/655 827/1126/694 -f 828/1127/671 817/1128/660 822/1129/665 -f 829/1130/655 655/1131/689 654/1132/655 -f 830/1133/657 831/1134/656 832/1135/670 -f 658/1136/690 318/1137/659 833/1138/659 -f 834/1139/660 835/1140/661 836/1141/661 -f 835/1142/661 837/1143/692 703/1144/695 -f 830/1145/657 838/1146/663 839/1147/658 -f 840/1148/663 760/1149/696 833/1138/659 -f 841/1150/664 842/1151/665 843/1152/664 -f 316/1153/681 315/1154/697 841/1150/664 -f 844/1155/679 831/1156/656 845/1157/679 -f 845/1157/679 414/1158/698 829/1130/655 -f 842/1159/665 846/1160/688 834/1161/660 -f 847/1162/699 848/1163/700 849/1164/701 -f 687/890/574 850/1165/702 847/1162/699 -f 851/1166/703 685/1167/704 852/1168/705 -f 684/887/572 690/894/577 685/888/573 -f 852/1168/705 853/1169/706 683/886/555 -f 853/1169/706 854/1170/707 855/1171/708 -f 854/1170/707 847/1172/699 855/1171/708 -f 853/1169/706 856/1173/709 854/1170/707 -f 854/1170/707 857/1174/710 847/1162/699 -f 848/1163/700 858/1175/711 734/946/616 -f 735/947/617 733/945/615 859/1176/712 -f 726/935/608 689/893/576 860/1177/713 -f 734/946/616 861/1178/714 673/876/715 -f 861/1178/714 862/1179/716 673/876/715 -f 862/1179/716 863/1180/717 673/876/715 -f 864/1181/718 865/1182/719 851/1166/720 -f 865/1182/719 866/1183/721 851/1166/720 -f 866/1183/721 580/1184/486 851/1166/720 -f 723/932/605 861/1178/714 734/946/616 -f 867/1185/722 862/1179/716 861/1178/714 -f 859/1176/712 863/1180/717 862/1179/716 -f 864/1181/718 860/1177/713 865/1182/719 -f 865/1182/719 868/1186/723 866/1187/721 -f 866/1187/721 581/775/487 580/774/486 -f 869/1188/555 870/1189/555 456/650/555 -f 99/279/34 653/856/560 100/280/35 -f 100/280/35 345/631/257 101/281/36 -f 102/282/37 871/1190/36 103/283/38 -f 105/285/37 872/1191/36 106/286/38 -f 873/1192/36 113/293/38 112/292/37 -f 113/293/38 789/1193/561 111/291/41 -f 114/294/34 666/869/560 115/295/34 -f 666/869/560 665/868/561 115/295/34 -f 115/295/34 874/1194/724 116/296/36 -f 150/330/75 572/766/478 151/331/76 -f 841/1195/725 706/910/590 314/496/238 -f 306/624/232 875/1196/726 777/1197/725 -f 306/624/232 777/1197/725 876/1198/725 -f 841/1195/725 314/496/238 167/347/91 -f 877/1199/725 841/1195/725 167/347/91 -f 167/347/91 306/624/232 876/1198/725 -f 167/347/91 876/1198/725 787/1200/725 -f 846/1201/727 877/1199/725 167/347/91 -f 704/908/590 837/1202/728 835/1203/727 -f 846/1201/727 167/347/91 828/1204/727 -f 167/347/91 787/1200/725 878/1205/727 -f 803/1206/725 167/347/91 878/1205/727 -f 704/908/590 835/1203/727 821/1207/725 -f 835/1203/727 846/1201/727 821/1207/725 -f 781/1208/725 784/1209/590 794/1210/725 -f 784/1209/590 879/1211/726 794/1210/725 -f 828/1204/727 821/1207/725 846/1201/727 -f 880/1212/727 828/1204/727 167/347/91 -f 787/1200/725 781/1208/725 878/1205/727 -f 781/1208/725 794/1210/725 878/1205/727 -f 701/905/590 881/1213/726 818/1214/725 -f 809/1215/725 701/905/590 818/1214/725 -f 809/1215/725 818/1214/725 880/1212/727 -f 166/346/90 809/1215/725 880/1212/727 -f 799/1216/727 707/911/590 807/1217/725 -f 707/911/590 882/1218/726 807/1217/725 -f 167/347/91 803/1206/725 165/345/89 -f 803/1206/725 799/1216/727 807/1217/725 -f 166/346/90 880/1212/727 167/347/91 -f 803/1206/725 807/1217/725 165/345/89 -f 836/1219/234 872/1191/36 105/285/37 -f 836/1219/234 105/285/37 823/1220/234 -f 834/1221/234 836/1219/234 823/1220/234 -f 834/1221/234 823/1220/234 822/1222/234 -f 842/1223/234 834/1221/234 347/530/259 -f 834/1221/234 822/1222/234 347/530/259 -f 110/290/40 109/289/37 843/1224/234 -f 778/1225/234 101/281/36 345/1226/257 -f 776/1227/234 778/1225/234 345/1226/257 -f 347/530/259 110/290/40 843/1224/234 -f 347/530/259 843/1224/234 842/1223/234 -f 776/1227/234 345/1226/257 347/530/259 -f 782/1228/234 776/1227/234 347/530/259 -f 347/530/259 822/1222/234 817/1229/234 -f 116/296/36 874/1194/724 795/1230/234 -f 874/1194/724 783/1231/234 795/1230/234 -f 819/1232/234 871/1190/36 102/282/37 -f 819/1232/234 102/282/37 811/1233/234 -f 817/1229/234 819/1232/234 811/1233/234 -f 817/1229/234 811/1233/234 810/1234/234 -f 795/1230/234 783/1231/234 793/1235/234 -f 783/1231/234 782/1228/234 793/1235/234 -f 347/530/259 817/1229/234 810/1234/234 -f 347/530/259 810/1234/234 308/490/234 -f 793/1235/234 782/1228/234 347/530/259 -f 800/1236/234 793/1235/234 347/530/259 -f 800/1236/234 347/530/259 308/490/234 -f 873/1192/36 112/292/37 309/491/234 -f 112/292/37 310/492/234 309/491/234 -f 310/492/234 800/1236/234 308/490/234 -f 311/493/235 883/1237/240 312/494/236 -f 413/596/319 364/547/276 829/1238/236 -f 364/547/276 314/496/238 316/498/236 -f 829/1238/236 364/547/276 316/498/236 -f 703/907/589 705/909/239 319/501/236 -f 705/909/239 824/1239/236 319/501/236 -f 317/499/236 410/593/319 412/595/240 -f 824/1239/236 317/499/236 319/501/236 -f 317/499/236 412/595/240 318/500/236 -f 320/502/236 700/904/589 702/906/239 -f 320/502/236 702/906/239 321/503/236 -f 407/590/319 409/592/240 322/504/236 -f 409/592/240 815/1240/236 322/504/236 -f 815/1240/236 320/502/236 322/504/236 -f 323/505/236 709/913/589 788/1241/729 -f 324/506/236 884/1242/319 885/1243/240 -f 323/505/236 788/1241/729 324/506/236 -f 324/506/236 885/1243/240 325/507/236 -f 326/508/236 712/916/593 774/1244/730 -f 327/509/236 886/1245/319 328/510/240 -f 326/508/236 774/1244/730 327/509/236 -f 798/1246/318 328/510/240 886/1245/319 -f 798/1246/318 886/1245/319 785/1247/318 -f 883/1237/240 311/493/235 337/520/249 -f 780/1248/318 883/1237/240 337/520/249 -f 796/1249/318 798/1246/318 785/1247/318 -f 796/1249/318 785/1247/318 405/588/317 -f 406/589/318 780/1248/318 337/520/249 -f 337/520/249 796/1249/318 405/588/317 -f 407/590/319 813/1250/318 408/591/317 -f 410/593/319 887/1251/317 411/594/318 -f 415/598/317 885/1243/240 884/1242/319 -f 416/599/318 801/1252/318 417/600/317 -f 415/598/317 884/1242/319 416/599/318 -f 100/280/35 720/926/598 424/609/326 -f 425/610/327 427/612/329 437/629/339 -f 438/632/340 227/408/152 330/512/242 -f 456/650/362 870/1189/568 457/651/363 -f 572/766/478 689/893/576 478/672/384 -f 579/773/485 888/1253/731 580/774/486 -f 608/802/514 524/718/430 609/803/515 -f 616/810/522 729/940/611 614/808/520 -f 614/808/520 145/325/70 615/809/521 -f 646/849/552 645/848/551 647/850/553 -f 582/776/555 680/883/569 649/852/556 -f 614/808/520 742/957/627 651/854/558 -f 652/855/559 889/1254/640 100/280/35 -f 655/858/559 108/288/39 110/290/40 -f 110/290/40 403/586/315 655/858/559 -f 403/586/315 758/976/639 654/857/559 -f 833/1255/559 762/980/640 656/859/559 -f 762/980/640 761/979/639 656/859/559 -f 107/287/39 106/286/38 658/861/559 -f 658/861/559 833/1255/559 656/859/559 -f 657/860/559 107/287/39 658/861/559 -f 816/1256/559 765/983/640 659/862/559 -f 765/983/640 764/982/639 659/862/559 -f 104/284/39 103/283/38 661/864/559 -f 661/864/559 816/1256/559 659/862/559 -f 660/863/559 104/284/39 661/864/559 -f 662/865/559 756/974/640 663/866/559 -f 756/974/640 755/973/639 663/866/559 -f 663/866/559 789/1193/561 664/867/559 -f 789/1193/561 113/293/38 664/867/559 -f 667/870/559 890/1257/640 786/1258/559 -f 890/1257/640 891/1259/639 786/1258/559 -f 786/1258/559 665/868/561 667/870/559 -f 759/977/562 403/586/315 844/1260/562 -f 403/586/315 395/578/307 844/1260/562 -f 395/578/307 714/918/595 790/1261/562 -f 714/918/595 753/971/562 790/1261/562 -f 753/971/562 752/970/562 790/1261/562 -f 792/1262/641 892/1263/562 804/1264/562 -f 892/1263/562 808/1265/562 804/1264/562 -f 790/1261/562 792/1262/641 395/578/307 -f 832/1266/641 844/1260/562 395/578/307 -f 395/578/307 792/1262/641 804/1264/562 -f 830/1267/562 832/1266/641 395/578/307 -f 827/1268/641 760/978/562 840/1269/562 -f 840/1269/562 830/1267/562 826/1270/641 -f 830/1267/562 395/578/307 669/872/562 -f 826/1270/641 830/1267/562 669/872/562 -f 395/578/307 804/1264/562 806/1271/641 -f 812/1272/562 893/1273/562 820/1274/562 -f 893/1273/562 763/981/641 820/1274/562 -f 395/578/307 806/1271/641 668/871/562 -f 806/1271/641 812/1272/562 668/871/562 -f 827/1268/641 840/1269/562 826/1270/641 -f 812/1272/562 820/1274/562 668/871/562 -f 672/875/732 853/1169/733 855/1171/733 -f 855/1171/555 849/1164/555 673/876/555 -f 863/1180/734 869/1188/734 686/889/734 -f 855/1171/555 673/876/555 672/875/555 -f 673/876/555 863/1180/555 686/889/555 -f 671/874/555 673/876/555 686/889/555 -f 674/877/564 676/879/566 152/332/77 -f 152/332/77 676/879/566 150/330/75 -f 676/879/566 579/773/485 581/775/487 -f 677/880/567 678/881/735 583/777/489 -f 678/881/568 679/882/568 582/776/488 -f 679/882/734 864/1181/734 680/883/734 -f 681/884/570 615/809/521 145/325/70 -f 651/854/558 742/957/627 682/885/571 -f 573/767/555 683/886/555 672/875/555 -f 685/888/573 851/1166/720 580/774/486 -f 580/774/486 888/1253/731 684/887/572 -f 686/889/555 869/1188/555 456/650/555 -f 570/764/555 573/767/555 671/874/555 -f 688/892/575 610/952/516 724/1275/606 -f 724/1275/606 858/1276/711 688/892/575 -f 858/1276/711 848/1163/700 688/892/575 -f 848/1163/700 850/1165/702 688/892/575 -f 850/1165/702 687/890/574 688/892/575 -f 689/893/576 726/935/608 139/319/64 -f 894/1277/736 648/1278/554 690/894/577 -f 648/1278/554 647/891/553 690/894/577 -f 695/899/582 693/897/580 241/422/166 -f 693/897/580 334/516/246 241/422/166 -f 241/422/166 213/394/138 695/899/582 -f 699/903/588 875/1196/726 311/493/235 -f 875/1196/726 306/624/232 311/493/235 -f 700/904/589 881/1213/726 701/905/590 -f 703/907/589 837/1202/728 704/908/590 -f 709/913/589 882/1218/726 707/911/590 -f 708/912/591 788/1241/729 709/913/589 -f 710/914/592 879/1211/726 711/915/588 -f 879/1211/726 784/1209/590 711/915/588 -f 711/915/588 774/1244/730 712/916/593 -f 714/918/595 395/578/307 332/514/244 -f 715/920/596 895/1279/737 338/521/250 -f 334/516/246 694/898/581 715/920/596 -f 338/521/250 895/1279/737 340/523/252 -f 342/525/254 341/524/253 344/527/256 -f 838/1280/318 411/594/318 887/1251/317 -f 838/1280/318 887/1251/317 825/1281/318 -f 839/1282/318 838/1280/318 814/1283/318 -f 838/1280/318 825/1281/318 814/1283/318 -f 831/1284/317 839/1282/318 336/519/248 -f 839/1282/318 814/1283/318 336/519/248 -f 364/547/276 414/597/318 845/1285/318 -f 797/1286/318 796/1249/318 337/520/249 -f 417/600/317 801/1252/318 896/1287/318 -f 801/1252/318 791/1288/317 896/1287/318 -f 791/1288/317 797/1286/318 336/519/248 -f 797/1286/318 337/520/249 336/519/248 -f 336/519/248 364/547/276 845/1285/318 -f 336/519/248 845/1285/318 831/1284/317 -f 896/1287/318 791/1288/317 336/519/248 -f 336/519/248 814/1283/318 716/922/318 -f 805/1289/317 896/1287/318 336/519/248 -f 408/591/317 813/1250/318 717/923/318 -f 813/1250/318 718/924/318 717/923/318 -f 718/924/318 805/1289/317 716/922/318 -f 805/1289/317 336/519/248 716/922/318 -f 713/929/594 423/626/325 436/628/599 -f 421/630/323 437/629/339 435/627/337 -f 330/512/242 713/929/594 721/930/600 -f 722/931/601 213/394/138 227/408/152 -f 609/803/515 735/947/617 610/804/516 -f 735/947/617 723/932/605 610/804/516 -f 594/788/500 730/942/612 725/934/607 -f 726/935/608 677/880/567 598/792/504 -f 729/940/611 616/810/522 642/845/548 -f 458/652/364 457/651/738 730/942/612 -f 147/327/555 649/852/556 731/943/613 -f 732/944/614 532/726/438 670/873/563 -f 733/945/615 533/727/439 532/726/438 -f 734/946/616 858/1175/711 724/933/606 -f 735/947/617 609/803/515 533/727/439 -f 737/949/619 642/845/548 616/810/522 -f 739/954/622 646/1290/552 648/1278/554 -f 648/1278/554 894/1277/736 739/954/622 -f 894/1277/736 684/887/572 739/954/622 -f 684/887/572 888/1253/731 739/954/622 -f 888/1253/731 579/773/485 739/954/622 -f 614/808/520 729/940/611 740/955/625 -f 608/938/514 738/1291/621 744/959/631 -f 744/959/631 738/1291/621 688/960/575 -f 745/961/632 688/960/575 647/850/553 -f 674/941/564 675/878/565 746/962/633 -f 746/962/633 747/965/634 739/964/622 -f 747/965/634 644/847/550 646/849/552 -f 728/937/610 744/959/631 748/966/635 -f 748/966/635 744/959/631 745/961/632 -f 749/967/636 745/961/632 645/848/551 -f 675/878/565 650/853/557 750/968/637 -f 750/968/637 751/969/638 747/965/634 -f 751/969/638 641/844/547 644/847/550 -f 611/805/517 748/966/635 736/948/618 -f 748/966/635 749/967/636 737/949/619 -f 737/949/619 749/967/636 643/846/549 -f 650/853/557 682/885/571 741/956/626 -f 741/956/626 740/955/625 751/969/638 -f 740/955/625 729/940/611 641/844/547 -f 766/1292/641 719/925/597 100/280/35 -f 100/280/35 889/1254/640 766/1292/641 -f 889/1254/640 779/1293/562 753/971/562 -f 766/1292/641 889/1254/640 769/1294/641 -f 779/1293/562 775/1295/641 753/971/562 -f 769/1294/641 889/1254/640 771/1296/562 -f 771/1296/562 889/1254/640 773/1297/562 -f 773/1297/562 889/1254/640 753/971/562 -f 775/1295/641 754/972/562 753/971/562 -f 897/1298/562 891/1259/639 898/1299/641 -f 891/1259/639 890/1257/640 898/1299/641 -f 754/972/562 897/1298/562 752/970/562 -f 897/1298/562 898/1299/641 752/970/562 -f 757/975/641 808/1265/562 802/1300/641 -f 808/1265/562 892/1263/562 802/1300/641 -f 802/1300/641 755/973/639 757/975/641 -f 760/978/562 827/1268/641 761/979/639 -f 763/981/641 893/1273/562 764/982/639 -f 438/1301/340 439/1302/340 435/1303/337 -f 439/1302/340 721/1304/600 436/1305/599 -f 435/1303/337 439/1302/340 436/1305/599 -f 435/1303/337 437/1306/339 427/1307/642 -f 426/1308/328 424/1309/326 720/1310/642 -f 435/1303/337 427/1307/642 722/1311/601 -f 427/1307/642 426/1308/328 214/1312/139 -f 722/1311/601 427/1307/642 214/1312/139 -f 212/986/137 214/1312/139 719/984/642 -f 720/1310/642 214/1312/139 426/1308/328 -f 722/1311/601 438/1301/340 435/1303/337 -f 692/1313/579 212/986/137 766/985/643 -f 214/1312/139 720/1310/642 719/984/642 -f 692/1313/579 766/985/643 767/1314/645 -f 767/1314/645 695/1315/582 692/1313/579 -f 770/1316/644 772/1317/644 768/989/644 -f 768/989/644 715/1318/644 694/1319/644 -f 694/1319/644 693/987/644 768/989/644 -f 693/987/644 695/1320/644 767/988/644 -f 768/989/644 767/988/644 770/1316/644 -f 767/990/645 766/1321/643 769/991/646 -f 770/993/647 769/1322/646 771/994/648 -f 772/995/649 771/994/648 773/996/650 -f 344/1000/653 341/1323/652 340/1324/652 -f 340/1324/652 895/1325/652 753/1326/652 -f 895/1325/652 715/1327/652 768/997/651 -f 768/997/651 773/996/650 895/1325/652 -f 753/1326/652 714/1328/739 331/998/652 -f 753/1326/652 895/1325/652 773/996/650 -f 344/1000/653 340/1324/652 331/998/652 -f 331/998/652 340/1324/652 753/1326/652 -f 774/1001/652 711/1024/667 115/1329/740 -f 665/1002/654 786/1029/655 327/1003/655 -f 774/1001/652 115/1329/740 665/1002/654 -f 405/1004/656 754/1330/670 775/1005/657 -f 653/1009/555 99/1331/673 313/1332/741 -f 99/1331/673 699/1015/662 313/1332/741 -f 313/1332/741 312/1007/659 653/1009/555 -f 776/1010/660 876/1333/688 777/1011/661 -f 875/1334/692 699/1015/662 777/1014/661 -f 699/1015/662 99/1331/673 778/1013/661 -f 99/1331/673 101/1335/684 778/1013/661 -f 406/1016/658 775/1336/657 779/1017/663 -f 779/1019/663 889/1337/742 652/1008/659 -f 652/1008/659 312/1007/659 779/1019/663 -f 312/1007/659 883/1338/743 780/1020/663 -f 781/1021/664 787/1339/671 782/1022/665 -f 781/1021/664 783/1023/666 711/1024/667 -f 783/1023/666 874/1340/668 115/1329/740 -f 711/1024/667 783/1023/666 115/1329/740 -f 785/1026/669 897/1341/679 754/1027/670 -f 891/1342/744 897/1341/679 786/1029/655 -f 897/1341/679 785/1026/669 786/1029/655 -f 785/1026/669 886/1343/694 327/1003/655 -f 787/1030/671 876/1344/688 776/1031/660 -f 788/1033/652 708/1056/677 789/1034/672 -f 708/1056/677 111/1345/745 789/1034/672 -f 789/1034/672 663/1061/655 324/1035/655 -f 790/1036/657 797/1346/658 791/1037/656 -f 712/1041/674 326/1050/659 666/1347/741 -f 326/1050/659 667/1348/659 666/1347/741 -f 666/1347/741 114/1039/673 712/1041/674 -f 793/1042/660 878/1349/688 794/1043/661 -f 794/1046/661 879/1350/684 710/1040/662 -f 710/1040/662 114/1039/673 795/1045/661 -f 114/1039/673 116/1351/684 795/1045/661 -f 790/1049/657 752/1352/675 796/1047/675 -f 752/1352/675 898/1353/663 796/1047/675 -f 898/1353/663 798/1354/663 796/1047/675 -f 798/1052/663 898/1355/663 667/1348/659 -f 898/1355/663 890/1356/676 667/1348/659 -f 667/1348/659 326/1050/659 798/1052/663 -f 799/1053/664 803/1357/671 800/1054/665 -f 799/1053/664 310/1055/664 708/1056/677 -f 310/1055/664 112/1358/668 111/1345/745 -f 708/1056/677 310/1055/664 111/1345/745 -f 802/1060/669 892/1359/678 801/1058/678 -f 892/1359/678 792/1360/670 801/1058/678 -f 792/1360/670 791/1361/656 801/1058/678 -f 802/1060/669 416/1059/679 324/1035/655 -f 416/1059/679 884/1362/746 324/1035/655 -f 324/1035/655 663/1061/655 802/1060/669 -f 803/1063/671 878/1363/688 793/1064/660 -f 322/1066/655 321/1364/689 660/1067/681 -f 804/1069/657 896/1365/658 805/1070/656 -f 664/1072/682 323/1366/690 325/1073/659 -f 308/1075/683 165/1367/688 807/1076/661 -f 709/1080/684 323/1366/690 664/1072/682 -f 113/1368/747 873/1369/692 309/1078/661 -f 709/1080/684 664/1072/682 113/1368/747 -f 807/1079/661 882/1370/684 709/1080/684 -f 113/1368/747 309/1078/661 709/1080/684 -f 417/1083/675 896/1371/658 804/1372/657 -f 808/1081/675 757/1373/663 415/1082/663 -f 417/1083/675 804/1372/657 808/1081/675 -f 757/1084/663 756/1374/696 662/1074/659 -f 662/1074/659 325/1073/659 757/1084/663 -f 325/1073/659 885/1375/748 415/1085/663 -f 809/1086/666 166/1376/671 810/1087/665 -f 702/1089/668 701/1377/749 809/1086/666 -f 809/1086/666 811/1088/666 104/1090/668 -f 811/1088/666 102/1378/668 104/1090/668 -f 104/1090/668 660/1067/681 321/1364/689 -f 321/1364/689 702/1089/668 104/1090/668 -f 806/1091/670 805/1379/656 718/1092/685 -f 813/1094/687 407/1380/750 322/1066/655 -f 322/1066/655 659/1068/655 893/1381/751 -f 659/1068/655 764/1382/752 893/1381/751 -f 893/1381/751 812/1093/686 322/1066/655 -f 812/1093/686 718/1092/685 322/1066/655 -f 810/1095/665 166/1383/671 165/1096/688 -f 317/1098/655 824/1121/681 657/1099/689 -f 668/1101/657 716/1384/658 814/1102/656 -f 661/1104/690 320/1385/753 815/1105/659 -f 817/1107/660 880/1386/688 818/1108/691 -f 320/1385/753 661/1104/690 103/1110/692 -f 103/1110/692 871/1387/754 819/1111/661 -f 819/1111/661 818/1388/691 700/1112/684 -f 818/1388/691 881/1389/692 700/1112/684 -f 700/1112/684 320/1385/753 103/1110/692 -f 820/1113/663 717/1390/663 716/1114/658 -f 820/1117/663 763/1391/755 816/1106/659 -f 763/1391/755 765/1392/756 816/1106/659 -f 816/1106/659 815/1105/659 820/1117/663 -f 815/1105/659 409/1393/757 408/1394/758 -f 408/1394/758 717/1116/663 815/1105/659 -f 821/1118/664 828/1395/671 822/1119/665 -f 705/1122/693 704/1396/697 821/1118/664 -f 821/1118/664 823/1120/664 657/1099/689 -f 823/1120/664 105/1397/668 107/1398/759 -f 107/1398/759 657/1099/689 823/1120/664 -f 657/1099/689 824/1121/681 821/1118/664 -f 669/1123/670 814/1399/656 825/1124/679 -f 410/1400/760 317/1098/655 887/1401/694 -f 317/1098/655 656/1100/655 827/1126/694 -f 656/1100/655 761/1402/761 827/1126/694 -f 827/1126/694 826/1125/679 825/1124/679 -f 825/1124/679 887/1401/694 317/1098/655 -f 828/1127/671 880/1403/688 817/1128/660 -f 829/1130/655 316/1153/681 655/1131/689 -f 830/1133/657 839/1404/658 831/1134/656 -f 658/1136/690 319/1405/690 318/1137/659 -f 834/1139/660 846/1406/688 835/1140/661 -f 703/1144/695 319/1405/690 835/1142/661 -f 319/1405/690 658/1136/690 835/1142/661 -f 106/1407/762 872/1408/692 836/1409/661 -f 658/1136/690 106/1407/762 836/1409/661 -f 835/1142/661 658/1136/690 836/1409/661 -f 830/1145/657 840/1410/663 838/1146/663 -f 760/1149/696 762/1411/763 833/1138/659 -f 833/1138/659 318/1137/659 838/1412/663 -f 318/1137/659 412/1413/764 411/1414/765 -f 411/1414/765 838/1412/663 318/1137/659 -f 833/1138/659 838/1412/663 840/1148/663 -f 841/1150/664 877/1415/671 842/1151/665 -f 315/1154/697 706/1416/766 841/1150/664 -f 841/1150/664 843/1152/664 316/1153/681 -f 843/1152/664 109/1417/668 108/1418/749 -f 108/1418/749 655/1131/689 843/1152/664 -f 655/1131/689 316/1153/681 843/1152/664 -f 844/1155/679 832/1419/670 831/1156/656 -f 413/1420/750 829/1130/655 414/1158/698 -f 829/1130/655 654/1132/655 845/1157/679 -f 845/1157/679 654/1132/655 844/1155/679 -f 654/1132/655 758/1421/767 759/1422/746 -f 759/1422/746 844/1155/679 654/1132/655 -f 842/1159/665 877/1423/671 846/1160/688 -f 849/1164/701 855/1171/708 847/1162/699 -f 847/1162/699 850/1165/702 848/1163/700 -f 847/1162/734 857/1174/734 690/894/734 -f 690/894/577 687/890/574 847/1162/699 -f 680/883/734 864/1181/734 851/1166/734 -f 685/1167/734 690/894/734 857/1174/734 -f 857/1174/710 856/1173/709 685/1167/704 -f 856/1173/709 852/1168/705 685/1167/704 -f 852/1168/705 731/943/613 851/1166/703 -f 731/943/613 649/852/556 851/1166/703 -f 649/852/556 680/883/569 851/1166/703 -f 684/887/572 894/1277/736 690/894/577 -f 683/886/555 731/943/613 852/1168/705 -f 853/1169/733 672/875/732 683/886/734 -f 853/1169/706 852/1168/705 856/1173/709 -f 854/1170/707 856/1173/709 857/1174/710 -f 673/876/715 849/1164/701 734/946/616 -f 849/1164/701 848/1163/700 734/946/616 -f 457/651/738 870/1189/768 730/942/612 -f 870/1189/769 859/1176/769 730/942/769 -f 867/1424/722 723/1425/605 735/947/617 -f 859/1176/712 867/1424/722 735/947/617 -f 725/934/607 859/1176/712 732/944/614 -f 725/934/607 730/942/612 859/1176/712 -f 733/945/615 732/944/614 859/1176/712 -f 150/330/75 581/775/487 868/1186/723 -f 860/1177/770 679/882/770 677/880/770 -f 679/882/771 678/881/735 677/880/567 -f 150/330/75 868/1186/723 860/1177/713 -f 689/893/576 572/766/478 860/1177/713 -f 572/766/478 150/330/75 860/1177/713 -f 677/880/567 726/935/608 860/1177/713 -f 723/932/605 867/1185/722 861/1178/714 -f 867/1185/722 859/1176/712 862/1179/716 -f 859/1176/712 870/1189/772 863/1180/717 -f 864/1181/718 679/882/773 860/1177/713 -f 865/1182/719 860/1177/713 868/1186/723 -f 866/1187/721 868/1186/723 581/775/487 -f 869/1188/734 863/1180/734 870/1189/734 -f 899/1426/652 900/1427/652 901/1428/774 -f 902/1429/775 903/1430/775 904/1431/775 -f 905/1432/776 906/1433/776 907/1434/776 -f 908/1435/776 909/1436/775 910/1437/776 -f 911/1438/775 912/1439/776 913/1440/775 -f 914/1441/775 915/1442/775 916/1443/775 -f 917/1444/775 918/1445/775 919/1446/775 -f 920/1447/775 921/1448/775 922/1449/775 -f 923/1450/775 924/1451/775 925/1452/775 -f 926/1453/775 927/1454/775 928/1455/775 -f 929/1456/775 930/1457/775 931/1458/775 -f 900/1459/775 932/1460/775 933/1461/776 -f 904/1462/555 934/1463/555 902/1464/777 -f 935/1465/778 936/1466/779 937/1467/778 -f 938/1468/779 939/1469/779 940/1470/779 -f 941/1471/779 942/1472/779 943/1473/779 -f 944/1474/779 945/1475/779 946/1476/779 -f 947/1477/779 948/1478/779 949/1479/779 -f 901/1480/779 950/1481/779 899/1482/779 -f 951/1483/779 952/1484/779 953/1485/779 -f 954/1486/779 955/1487/779 956/1488/779 -f 957/1489/779 958/1490/778 959/1491/778 -f 960/1492/778 961/1493/778 962/1494/778 -f 934/1495/779 963/1496/779 964/1497/778 -f 965/1498/78 966/1499/78 967/1500/78 -f 907/1501/642 961/1502/642 968/1503/642 -f 913/1504/642 958/1505/642 969/1506/642 -f 919/1507/642 955/1508/642 970/1509/642 -f 925/1510/642 952/1511/642 971/1512/642 -f 931/1513/642 972/1514/642 947/1515/642 -f 899/1516/642 932/1517/642 973/1518/642 -f 944/1519/642 927/1520/642 974/1521/642 -f 941/1522/642 921/1523/642 975/1524/642 -f 938/1525/642 915/1526/642 976/1527/642 -f 935/1528/642 909/1529/642 977/1530/642 -f 978/1531/642 903/1532/642 963/1533/642 -f 966/1534/780 940/1470/780 939/1469/781 -f 902/1464/777 979/1535/782 980/1536/782 -f 914/1441/783 981/1537/783 982/1538/783 -f 901/1428/774 983/1539/784 984/1540/785 -f 907/1541/555 960/1542/555 905/1543/555 -f 963/1544/652 985/1545/652 964/1546/652 -f 960/1547/642 985/1548/642 905/1549/642 -f 910/1550/555 937/1551/555 908/1552/555 -f 961/1553/652 986/1554/652 962/1555/652 -f 937/1556/642 986/1557/642 908/1558/642 -f 913/1559/555 957/1560/555 911/1561/555 -f 977/1562/652 987/1563/652 936/1564/652 -f 957/1565/642 987/1566/642 911/1567/642 -f 916/1568/555 940/1569/555 914/1570/555 -f 958/1571/652 981/1572/652 959/1573/652 -f 940/1574/642 981/1575/642 914/1576/642 -f 970/1577/555 917/1578/555 919/1579/555 -f 976/1580/652 988/1581/652 939/1582/652 -f 917/1583/642 939/1584/642 988/1585/642 -f 922/1586/555 943/1587/555 920/1588/555 -f 955/1589/652 989/1590/652 956/1591/652 -f 943/1592/642 989/1593/642 920/1594/642 -f 971/1595/555 923/1596/555 925/1597/555 -f 975/1598/652 990/1599/652 942/1600/652 -f 951/1601/642 990/1602/642 923/1603/642 -f 928/1604/555 946/1605/555 926/1606/555 -f 952/1607/652 991/1608/652 953/1609/652 -f 946/1610/642 991/1611/642 926/1612/642 -f 931/1613/555 949/1614/555 929/1615/555 -f 974/1616/652 992/1617/652 945/1618/652 -f 949/1619/642 992/1620/642 929/1621/642 -f 932/1622/555 993/1623/555 933/1624/555 -f 972/1625/652 994/1626/652 948/1627/652 -f 993/1628/642 994/1629/642 933/1630/642 -f 983/1539/784 995/1631/652 984/1540/785 -f 996/1632/786 965/1633/786 997/1634/786 -f 967/1635/555 997/1636/555 965/1637/555 -f 995/1638/787 967/1639/787 984/1640/787 -f 997/1641/78 995/1642/78 996/1643/78 -f 982/1644/652 998/1645/652 966/1646/652 -f 999/1647/786 980/1648/786 1000/1649/786 -f 979/1535/782 1000/1650/555 980/1536/782 -f 998/1651/787 979/1652/787 966/1534/787 -f 1000/1653/78 998/1654/78 999/1655/78 -f 899/1426/652 973/1656/652 900/1427/652 -f 902/1429/775 985/1657/776 903/1430/775 -f 905/1432/776 986/1658/776 906/1433/776 -f 908/1435/776 987/1659/775 909/1436/775 -f 911/1438/775 981/1537/776 912/1439/776 -f 914/1441/775 988/1660/775 915/1442/775 -f 917/1444/775 989/1661/776 918/1445/775 -f 920/1447/775 990/1662/775 921/1448/775 -f 923/1450/775 991/1663/775 924/1451/775 -f 926/1453/775 992/1664/775 927/1454/775 -f 929/1456/775 994/1665/776 930/1457/775 -f 900/1459/775 973/1666/775 932/1460/775 -f 904/1462/555 978/1667/555 934/1463/555 -f 935/1465/778 977/1668/779 936/1466/779 -f 938/1468/779 976/1669/779 939/1469/779 -f 941/1471/779 975/1670/779 942/1472/779 -f 944/1474/779 974/1671/779 945/1475/779 -f 947/1477/779 972/1672/779 948/1478/779 -f 901/1480/779 993/1673/778 950/1481/779 -f 951/1483/779 971/1674/779 952/1484/779 -f 954/1486/779 970/1675/779 955/1487/779 -f 957/1489/779 969/1676/779 958/1490/778 -f 960/1492/778 968/1677/778 961/1493/778 -f 934/1495/779 978/1678/779 963/1496/779 -f 965/1498/78 982/1679/78 966/1499/78 -f 907/1501/642 906/1680/642 961/1502/642 -f 913/1504/642 912/1681/642 958/1505/642 -f 919/1507/642 918/1682/642 955/1508/642 -f 925/1510/642 924/1683/642 952/1511/642 -f 931/1513/642 930/1684/642 972/1514/642 -f 899/1516/642 950/1685/642 932/1517/642 -f 944/1519/642 928/1686/642 927/1520/642 -f 941/1522/642 922/1687/642 921/1523/642 -f 938/1525/642 916/1688/642 915/1526/642 -f 935/1528/642 910/1689/642 909/1529/642 -f 978/1531/642 904/1690/642 903/1532/642 -f 966/1534/780 979/1652/780 964/1497/780 -f 979/1652/780 934/1495/780 964/1497/780 -f 964/1497/780 960/1492/780 966/1534/780 -f 960/1492/780 962/1494/780 966/1534/780 -f 966/1534/780 937/1467/780 936/1466/780 -f 984/1640/780 967/1639/780 993/1673/780 -f 967/1639/780 966/1534/780 956/1488/780 -f 993/1673/780 901/1480/780 984/1640/780 -f 945/1475/780 949/1479/780 967/1639/780 -f 949/1479/780 948/1478/780 967/1639/780 -f 967/1639/780 948/1478/780 993/1673/780 -f 966/1534/780 962/1494/780 937/1467/780 -f 966/1534/780 957/1489/780 959/1491/780 -f 953/1485/788 946/1476/780 967/1639/780 -f 946/1476/780 945/1475/780 967/1639/780 -f 966/1534/780 936/1466/780 957/1489/780 -f 959/1491/780 940/1470/780 966/1534/780 -f 966/1534/780 939/1469/781 954/1486/780 -f 942/1472/789 951/1483/780 967/1639/780 -f 951/1483/780 953/1485/788 967/1639/780 -f 954/1486/780 956/1488/780 966/1534/780 -f 956/1488/780 943/1473/788 967/1639/780 -f 943/1473/788 942/1472/789 967/1639/780 -f 902/1464/777 934/1463/555 979/1535/782 -f 965/1633/783 983/1691/783 933/1461/783 -f 983/1691/783 900/1459/783 933/1461/783 -f 933/1461/783 994/1665/783 965/1633/783 -f 994/1665/783 929/1456/783 965/1633/783 -f 965/1633/783 929/1456/783 992/1664/783 -f 902/1429/783 980/1648/783 985/1657/783 -f 980/1648/783 982/1538/783 985/1657/783 -f 982/1538/783 965/1633/783 989/1661/783 -f 992/1664/783 926/1453/783 965/1633/783 -f 965/1633/783 926/1453/783 991/1663/783 -f 908/1435/783 986/1658/783 982/1538/783 -f 986/1658/783 905/1432/783 982/1538/783 -f 905/1432/783 985/1657/783 982/1538/783 -f 991/1663/783 923/1450/783 965/1633/783 -f 923/1450/783 990/1662/783 965/1633/783 -f 965/1633/783 990/1662/783 920/1447/783 -f 981/1537/783 911/1438/783 982/1538/783 -f 911/1438/783 987/1659/783 982/1538/783 -f 987/1659/783 908/1435/783 982/1538/783 -f 920/1447/783 989/1661/783 965/1633/783 -f 989/1661/783 917/1444/783 982/1538/783 -f 917/1444/783 988/1660/783 982/1538/783 -f 988/1660/783 914/1441/783 982/1538/783 -f 901/1428/774 900/1427/652 983/1539/784 -f 907/1541/555 968/1692/555 960/1542/555 -f 963/1544/652 903/1693/652 985/1545/652 -f 960/1547/642 964/1694/642 985/1548/642 -f 910/1550/555 935/1695/555 937/1551/555 -f 961/1553/652 906/1696/652 986/1554/652 -f 937/1556/642 962/1697/642 986/1557/642 -f 913/1559/555 969/1698/555 957/1560/555 -f 977/1562/652 909/1699/652 987/1563/652 -f 957/1565/642 936/1700/642 987/1566/642 -f 916/1568/555 938/1701/555 940/1569/555 -f 958/1571/652 912/1702/652 981/1572/652 -f 940/1574/642 959/1703/642 981/1575/642 -f 970/1577/555 954/1704/555 917/1578/555 -f 976/1580/652 915/1705/652 988/1581/652 -f 917/1583/642 954/1706/642 939/1584/642 -f 922/1586/555 941/1707/555 943/1587/555 -f 955/1589/652 918/1708/652 989/1590/652 -f 943/1592/642 956/1709/642 989/1593/642 -f 971/1595/555 951/1710/555 923/1596/555 -f 975/1598/652 921/1711/652 990/1599/652 -f 951/1601/642 942/1712/642 990/1602/642 -f 928/1604/555 944/1713/555 946/1605/555 -f 952/1607/652 924/1714/652 991/1608/652 -f 946/1610/642 953/1715/642 991/1611/642 -f 931/1613/555 947/1716/555 949/1614/555 -f 974/1616/652 927/1717/652 992/1617/652 -f 949/1619/642 945/1718/642 992/1620/642 -f 932/1622/555 950/1719/555 993/1623/555 -f 972/1625/652 930/1720/652 994/1626/652 -f 993/1628/642 948/1721/642 994/1629/642 -f 983/1539/784 996/1722/652 995/1631/652 -f 996/1632/786 983/1691/786 965/1633/786 -f 967/1635/555 1001/1723/555 997/1636/555 -f 995/1638/787 1001/1724/790 967/1639/787 -f 997/1641/78 1001/1725/78 995/1642/78 -f 982/1644/652 999/1726/652 998/1645/652 -f 999/1647/786 982/1538/786 980/1648/786 -f 979/1535/782 1002/1727/555 1000/1650/555 -f 998/1651/787 1002/1728/790 979/1652/787 -f 1000/1653/78 1002/1729/78 998/1654/78 -f 1003/1730/791 1004/1731/792 1005/1732/793 -f 1006/1733/794 1007/1734/795 1008/1735/796 -f 1009/1736/797 1010/1737/798 1011/1738/799 -f 1011/1738/799 1012/1739/800 1013/1740/801 -f 1013/1741/801 1006/1742/794 1014/1743/802 -f 1014/1743/802 1015/1744/803 1016/1745/804 -f 1016/1745/804 1017/1746/805 1018/1747/806 -f 1019/1748/807 1017/1749/805 1020/1750/808 -f 1021/1751/809 1022/1752/810 1023/1753/811 -f 1018/1754/806 1024/1755/812 1025/1756/813 -f 1015/1757/803 1006/1733/794 1026/1758/814 -f 1013/1759/801 1014/1760/802 1027/1761/815 -f 1028/1762/816 1029/1763/817 1003/1730/791 -f 1027/1764/815 1030/1765/818 1013/1759/801 -f 1031/1766/819 1011/1767/799 1032/1768/820 -f 1033/1769/821 1034/1770/822 1009/1771/797 -f 1033/1772/821 1009/1773/797 1011/1767/799 -f 1005/1774/793 1004/1775/792 1035/1776/823 -f 1012/1777/800 1036/1778/824 1007/1779/795 -f 1014/1760/802 1016/1780/804 1037/1781/825 -f 1021/1751/809 1023/1753/811 1038/1782/826 -f 1028/1762/816 1038/1783/826 1023/1784/811 -f 1011/1767/799 1030/1765/818 1032/1768/820 -f 1028/1762/816 1039/1785/827 1029/1763/817 -f 1016/1780/804 1018/1754/806 1025/1786/813 -f 1003/1730/791 1029/1763/817 1004/1731/792 -f 1010/1787/798 1034/1788/822 1040/1789/828 -f 1041/1790/829 1033/1791/821 1031/1792/819 -f 1042/1793/830 1041/1790/829 1043/1794/831 -f 1010/1787/798 1042/1795/830 1044/1796/832 -f 1016/1780/804 1025/1786/813 1037/1781/825 -f 1045/1797/833 1015/1757/803 1026/1758/814 -f 1020/1798/808 1046/1799/834 1019/1800/807 -f 1046/1799/834 1047/1801/835 1048/1802/836 -f 1049/1803/837 1020/1804/808 1017/1805/805 -f 1006/1733/794 1012/1777/800 1007/1734/795 -f 1028/1762/816 1023/1784/811 1039/1785/827 -f 1009/1736/797 1034/1806/822 1010/1737/798 -f 1011/1738/799 1010/1737/798 1012/1739/800 -f 1013/1741/801 1012/1807/800 1006/1742/794 -f 1014/1743/802 1006/1742/794 1015/1744/803 -f 1016/1745/804 1015/1744/803 1017/1746/805 -f 1019/1748/807 1018/1808/806 1017/1749/805 -f 1045/1809/833 1049/1803/837 1017/1805/805 -f 1019/1810/807 1024/1755/812 1018/1754/806 -f 1017/1805/805 1015/1757/803 1045/1797/833 -f 1008/1735/796 1026/1758/814 1006/1733/794 -f 1014/1760/802 1050/1811/838 1027/1761/815 -f 1035/1776/823 1051/1812/839 1005/1774/793 -f 1010/1787/798 1036/1778/824 1012/1777/800 -f 1033/1769/821 1040/1813/828 1034/1770/822 -f 1052/1814/840 1046/1815/834 1053/1816/841 -f 1054/1817/842 1055/1818/843 1048/1819/836 -f 1044/1796/832 1042/1820/830 1043/1821/831 -f 1031/1822/819 1032/1768/820 1056/1823/844 -f 1039/1785/827 1057/1824/845 1029/1763/817 -f 1058/1825/846 1059/1826/847 1057/1827/845 -f 1060/1828/848 1008/1735/796 1059/1826/847 -f 1003/1730/791 1061/1829/849 1062/1830/850 -f 1062/1831/850 1063/1832/851 1064/1833/852 -f 1064/1833/852 1027/1761/815 1050/1811/838 -f 1021/1751/809 1065/1834/853 1054/1835/842 -f 1065/1836/853 1055/1837/843 1054/1838/842 -f 1066/1839/854 1024/1755/812 1055/1837/843 -f 1005/1774/793 1056/1840/844 1061/1841/849 -f 1061/1842/849 1067/1843/855 1063/1844/851 -f 1063/1844/851 1030/1765/818 1027/1764/815 -f 1036/1778/824 1068/1845/856 1007/1779/795 -f 1069/1846/857 1070/1847/858 1068/1845/856 -f 1070/1848/858 1035/1776/823 1004/1775/792 -f 1028/1762/816 1065/1849/853 1038/1783/826 -f 1071/1850/859 1066/1851/854 1065/1836/853 -f 1072/1852/860 1025/1786/813 1066/1851/854 -f 1050/1811/838 1072/1852/860 1064/1833/852 -f 1064/1833/852 1071/1850/859 1062/1831/850 -f 1062/1830/850 1028/1762/816 1003/1730/791 -f 1039/1785/827 1073/1853/861 1058/1854/846 -f 1058/1825/846 1074/1855/862 1060/1828/848 -f 1060/1828/848 1045/1797/833 1026/1758/814 -f 1007/1734/795 1059/1826/847 1008/1735/796 -f 1068/1856/856 1057/1827/845 1059/1826/847 -f 1070/1857/858 1029/1763/817 1057/1824/845 -f 1049/1803/837 1074/1858/862 1052/1814/840 -f 1052/1814/840 1073/1859/861 1075/1860/863 -f 1075/1861/863 1023/1753/811 1022/1752/810 -f 1014/1760/802 1037/1781/825 1050/1811/838 -f 1021/1751/809 1047/1862/835 1022/1752/810 -f 1031/1766/819 1033/1772/821 1011/1767/799 -f 1011/1767/799 1013/1759/801 1030/1765/818 -f 1041/1790/829 1040/1863/828 1033/1791/821 -f 1040/1863/828 1041/1790/829 1042/1793/830 -f 1041/1790/829 1051/1864/839 1043/1794/831 -f 1010/1787/798 1040/1789/828 1042/1795/830 -f 1020/1798/808 1053/1865/841 1046/1799/834 -f 1048/1802/836 1019/1800/807 1046/1799/834 -f 1046/1799/834 1022/1866/810 1047/1801/835 -f 1049/1803/837 1053/1816/841 1020/1804/808 -f 1019/1810/807 1048/1819/836 1024/1755/812 -f 1035/1776/823 1043/1867/831 1051/1812/839 -f 1010/1787/798 1044/1796/832 1036/1778/824 -f 1053/1816/841 1049/1803/837 1052/1814/840 -f 1052/1814/840 1075/1868/863 1046/1815/834 -f 1075/1868/863 1022/1869/810 1046/1815/834 -f 1047/1870/835 1021/1871/809 1054/1817/842 -f 1055/1818/843 1024/1755/812 1048/1819/836 -f 1047/1870/835 1054/1817/842 1048/1819/836 -f 1043/1821/831 1035/1872/823 1076/1873/864 -f 1069/1874/857 1036/1778/824 1044/1796/832 -f 1043/1821/831 1076/1873/864 1044/1796/832 -f 1076/1873/864 1069/1874/857 1044/1796/832 -f 1032/1768/820 1030/1765/818 1067/1843/855 -f 1056/1823/844 1051/1875/839 1041/1876/829 -f 1032/1768/820 1067/1843/855 1056/1823/844 -f 1041/1876/829 1031/1822/819 1056/1823/844 -f 1039/1785/827 1058/1854/846 1057/1824/845 -f 1058/1825/846 1060/1828/848 1059/1826/847 -f 1060/1828/848 1026/1758/814 1008/1735/796 -f 1003/1730/791 1005/1732/793 1061/1829/849 -f 1062/1831/850 1061/1877/849 1063/1832/851 -f 1064/1833/852 1063/1832/851 1027/1761/815 -f 1021/1751/809 1038/1782/826 1065/1834/853 -f 1065/1836/853 1066/1839/854 1055/1837/843 -f 1066/1839/854 1025/1756/813 1024/1755/812 -f 1005/1774/793 1051/1812/839 1056/1840/844 -f 1061/1842/849 1056/1878/844 1067/1843/855 -f 1063/1844/851 1067/1843/855 1030/1765/818 -f 1036/1778/824 1069/1846/857 1068/1845/856 -f 1069/1846/857 1076/1879/864 1070/1847/858 -f 1070/1848/858 1076/1880/864 1035/1776/823 -f 1028/1762/816 1071/1881/859 1065/1849/853 -f 1071/1850/859 1072/1852/860 1066/1851/854 -f 1072/1852/860 1037/1781/825 1025/1786/813 -f 1050/1811/838 1037/1781/825 1072/1852/860 -f 1064/1833/852 1072/1852/860 1071/1850/859 -f 1062/1830/850 1071/1881/859 1028/1762/816 -f 1039/1785/827 1023/1784/811 1073/1853/861 -f 1058/1825/846 1073/1859/861 1074/1855/862 -f 1060/1828/848 1074/1855/862 1045/1797/833 -f 1007/1734/795 1068/1856/856 1059/1826/847 -f 1068/1856/856 1070/1882/858 1057/1827/845 -f 1070/1857/858 1004/1731/792 1029/1763/817 -f 1049/1803/837 1045/1809/833 1074/1858/862 -f 1052/1814/840 1074/1858/862 1073/1859/861 -f 1075/1861/863 1073/1883/861 1023/1753/811 -f 1077/1884/865 1078/1885/866 1079/1886/867 -f 1080/1887/868 1081/1888/869 1082/1889/870 -f 1083/1890/871 1084/1891/872 1085/1892/873 -f 1086/1893/644 1087/1894/644 1088/1895/644 -f 1089/1896/874 1090/1897/875 1091/1898/876 -f 1092/1899/877 1093/1900/878 1094/1901/879 -f 1095/1902/880 1096/1903/881 1097/1904/880 -f 1098/1905/882 1097/1906/883 1099/1907/884 -f 1099/1907/884 1096/1908/885 1100/1909/886 -f 1101/1910/887 1082/1889/888 1081/1888/887 -f 1080/1911/868 1102/1912/889 1103/1913/890 -f 1104/1914/891 1105/1915/892 1098/1905/882 -f 1106/1916/893 1107/1917/894 1108/1918/893 -f 1096/1908/885 1109/1919/895 1100/1909/886 -f 1097/1920/880 1110/1921/896 1095/1922/880 -f 1111/1923/897 1106/1916/898 1090/1924/875 -f 1106/1925/898 1084/1891/872 1112/1926/899 -f 1108/1927/900 1113/1928/901 1114/1929/902 -f 1115/1930/903 1116/1931/904 1117/1932/905 -f 1118/1933/906 1119/1934/907 1120/1935/908 -f 1121/1936/909 1093/1937/910 1122/1938/909 -f 1123/1939/911 1124/1940/912 1101/1941/913 -f 1085/1892/873 1125/1942/914 1083/1890/871 -f 1126/1943/915 1115/1930/916 1117/1932/915 -f 1127/1944/917 1121/1945/918 1128/1946/919 -f 1129/1947/920 1091/1948/921 1090/1924/920 -f 1111/1949/734 1100/1909/734 1109/1919/734 -f 1110/1950/922 1119/1951/907 1130/1952/923 -f 1115/1953/903 1131/1954/924 1132/1955/925 -f 1133/1956/926 1102/1912/889 1121/1945/918 -f 1122/1957/927 1088/1895/928 1134/1958/929 -f 1135/1959/930 1136/1960/931 1137/1961/932 -f 1137/1961/932 1113/1928/901 1107/1962/933 -f 1088/1895/928 1138/1963/934 1134/1958/929 -f 1139/1964/935 1104/1965/891 1140/1966/935 -f 1141/1967/936 1108/1918/900 1114/1968/902 -f 1081/1888/887 1123/1969/881 1101/1910/887 -f 1142/1970/937 1143/1971/938 1126/1943/939 -f 1077/1972/940 1144/1973/941 1145/1974/940 -f 1135/1959/930 1146/1975/942 1086/1893/943 -f 1141/1976/644 1092/1899/644 1124/1940/644 -f 1123/1939/911 1147/1977/944 1148/1978/945 -f 1079/1979/941 1149/1980/921 1144/1981/941 -f 1120/1935/946 1105/1982/896 1150/1983/946 -f 1144/1984/947 1151/1985/948 1152/1986/949 -f 1102/1987/910 1094/1988/888 1093/1989/910 -f 1143/1971/916 1145/1974/940 1115/1930/916 -f 1130/1952/923 1095/1990/950 1110/1950/922 -f 1153/1991/951 1143/1992/938 1154/1993/952 -f 1127/1944/917 1155/1994/953 1156/1995/953 -f 1125/1996/954 1157/1997/955 1135/1998/954 -f 1089/1896/874 1079/1886/867 1078/1885/866 -f 1145/1999/956 1152/1986/949 1131/1954/924 -f 1138/2000/957 1128/2001/958 1134/2002/958 -f 1158/2003/959 1093/1900/878 1159/2004/960 -f 1101/1910/913 1092/2005/877 1094/1988/879 -f 1151/1985/948 1129/2006/961 1141/1976/936 -f 1125/1996/954 1137/2007/962 1083/2008/962 -f 1112/2009/894 1137/2010/962 1107/1917/894 -f 1128/2001/958 1122/1938/909 1134/2002/958 -f 1116/2011/644 1119/1951/644 1160/2012/644 -f 1157/2013/642 1161/2014/642 1155/2015/642 -f 1140/2016/642 1142/2017/642 1126/2018/642 -f 1090/1924/920 1108/1918/893 1129/1947/920 -f 1156/1995/734 1162/2019/734 1127/1944/734 -f 1163/2020/963 1125/1942/914 1162/2019/964 -f 1150/1983/946 1118/1933/965 1120/1935/946 -f 1104/1914/734 1142/2021/734 1140/2022/734 -f 1077/1884/865 1153/1991/951 1078/1885/866 -f 1080/1887/868 1109/2023/895 1081/1888/869 -f 1083/1890/871 1112/1926/899 1084/1891/872 -f 1086/1893/644 1146/1975/644 1087/1894/644 -f 1089/1896/874 1111/1949/897 1090/1897/875 -f 1092/1899/877 1159/2004/960 1093/1900/878 -f 1095/1902/880 1123/1969/881 1096/1903/881 -f 1098/1905/882 1105/1915/892 1097/1906/883 -f 1099/1907/884 1097/1906/883 1096/1908/885 -f 1101/1910/887 1094/1988/888 1082/1889/888 -f 1080/1911/868 1082/2024/870 1102/1912/889 -f 1104/1914/891 1150/2025/966 1105/1915/892 -f 1106/1916/893 1112/2009/894 1107/1917/894 -f 1096/1908/885 1081/2026/869 1109/1919/895 -f 1097/1920/880 1105/1982/896 1110/1921/896 -f 1111/1923/897 1164/2027/967 1106/1916/898 -f 1106/1925/898 1164/2028/967 1084/1891/872 -f 1108/1927/900 1107/1962/933 1113/1928/901 -f 1115/1930/903 1132/2029/925 1116/1931/904 -f 1118/1933/906 1160/2030/906 1119/1934/907 -f 1121/1936/909 1102/2031/910 1093/1937/910 -f 1123/1939/911 1148/1978/945 1124/1940/912 -f 1085/1892/873 1162/2019/964 1125/1942/914 -f 1126/1943/915 1143/1971/916 1115/1930/916 -f 1127/1944/917 1133/1956/926 1121/1945/918 -f 1129/1947/920 1149/1980/921 1091/1948/921 -f 1084/1891/734 1164/2028/734 1103/1913/734 -f 1164/2028/734 1111/1949/734 1080/1911/734 -f 1111/1949/734 1089/1896/734 1100/1909/734 -f 1089/1896/734 1078/1885/734 1100/1909/734 -f 1078/1885/734 1153/1991/734 1099/1907/734 -f 1153/1991/734 1154/1993/734 1098/1905/734 -f 1099/1907/734 1153/1991/734 1098/1905/734 -f 1154/1993/734 1104/1914/734 1098/1905/734 -f 1162/2019/734 1085/1892/734 1133/1956/734 -f 1085/1892/734 1084/1891/734 1103/1913/734 -f 1133/1956/734 1127/1944/734 1162/2019/734 -f 1103/1913/734 1133/1956/734 1085/1892/734 -f 1078/1885/734 1099/1907/734 1100/1909/734 -f 1080/1911/734 1103/1913/734 1164/2028/734 -f 1109/1919/734 1080/1911/734 1111/1949/734 -f 1110/1950/922 1120/2032/908 1119/1951/907 -f 1115/1953/903 1145/1999/956 1131/1954/924 -f 1133/1956/926 1103/1913/890 1102/1912/889 -f 1122/1957/927 1158/2003/959 1088/1895/928 -f 1135/1959/930 1086/1893/943 1136/1960/931 -f 1137/1961/932 1136/1960/931 1113/1928/901 -f 1088/1895/928 1087/1894/934 1138/1963/934 -f 1139/1964/935 1150/1983/966 1104/1965/891 -f 1141/1967/936 1129/1947/961 1108/1918/900 -f 1081/1888/887 1096/1903/881 1123/1969/881 -f 1142/1970/937 1154/2033/952 1143/1971/938 -f 1077/1972/940 1079/2034/941 1144/1973/941 -f 1135/1959/930 1157/1997/942 1146/1975/942 -f 1130/1952/644 1119/1951/644 1132/1955/644 -f 1132/1955/644 1131/1954/644 1130/1952/644 -f 1131/1954/644 1152/1986/644 1147/1977/644 -f 1130/1952/644 1131/1954/644 1147/1977/644 -f 1152/1986/644 1151/1985/644 1148/1978/644 -f 1151/1985/644 1141/1976/644 1148/1978/644 -f 1152/1986/644 1148/1978/644 1147/1977/644 -f 1141/1976/644 1114/1929/644 1092/1899/644 -f 1114/1929/644 1113/1928/644 1159/2004/644 -f 1092/1899/644 1114/1929/644 1159/2004/644 -f 1113/1928/644 1136/1960/644 1159/2004/644 -f 1136/1960/644 1086/1893/644 1158/2003/644 -f 1159/2004/644 1136/1960/644 1158/2003/644 -f 1086/1893/644 1088/1895/644 1158/2003/644 -f 1124/1940/644 1148/1978/644 1141/1976/644 -f 1123/1939/911 1095/1990/950 1147/1977/944 -f 1079/1979/941 1091/1948/921 1149/1980/921 -f 1120/1935/946 1110/1921/896 1105/1982/896 -f 1144/1984/947 1149/2035/968 1151/1985/948 -f 1102/1987/910 1082/1889/888 1094/1988/888 -f 1143/1971/916 1077/1972/940 1145/1974/940 -f 1130/1952/923 1147/1977/944 1095/1990/950 -f 1153/1991/951 1077/1884/865 1143/1992/938 -f 1127/1944/917 1128/1946/919 1155/1994/953 -f 1125/1996/954 1161/2036/955 1157/1997/955 -f 1089/1896/874 1091/1898/876 1079/1886/867 -f 1145/1999/956 1144/1984/947 1152/1986/949 -f 1138/2000/957 1155/2037/957 1128/2001/958 -f 1158/2003/959 1122/1957/927 1093/1900/878 -f 1101/1910/913 1124/2038/912 1092/2005/877 -f 1151/1985/948 1149/2035/968 1129/2006/961 -f 1125/1996/954 1135/1998/954 1137/2007/962 -f 1112/2009/894 1083/2039/962 1137/2010/962 -f 1128/2001/958 1121/1936/909 1122/1938/909 -f 1116/2011/644 1132/1955/644 1119/1951/644 -f 1163/2040/642 1156/2041/642 1161/2014/642 -f 1156/2041/642 1155/2015/642 1161/2014/642 -f 1155/2015/642 1138/2042/642 1157/2013/642 -f 1138/2042/642 1087/2043/642 1157/2013/642 -f 1087/2043/642 1146/2044/642 1157/2013/642 -f 1126/2018/642 1117/2045/642 1118/2046/642 -f 1117/2045/642 1116/2011/642 1160/2047/642 -f 1118/2046/642 1117/2045/642 1160/2047/642 -f 1118/2046/642 1139/2048/642 1126/2018/642 -f 1139/2048/642 1140/2016/642 1126/2018/642 -f 1090/1924/920 1106/1916/893 1108/1918/893 -f 1156/1995/734 1163/2020/734 1162/2019/734 -f 1163/2020/963 1161/2049/963 1125/1942/914 -f 1150/1983/946 1139/1964/965 1118/1933/965 -f 1104/1914/734 1154/1993/734 1142/2021/734 -f 1165/2050/969 1166/2051/969 1167/2052/970 -f 1168/2053/969 1169/2054/969 1170/2055/971 -f 1171/2056/972 1172/2057/973 1173/2058/974 -f 1174/2059/975 1170/2055/971 1175/2060/974 -f 1176/2061/976 1177/2062/977 1178/2063/978 -f 1179/2064/642 1180/2065/979 1181/2066/980 -f 1182/2067/980 1183/2068/980 1184/2069/642 -f 1185/2070/981 1186/2071/981 1179/2072/642 -f 1187/2073/982 1188/2074/981 1189/2075/983 -f 1190/2076/984 1191/2077/985 1192/2078/985 -f 1171/2079/555 1193/2080/555 1166/2081/555 -f 1194/2082/984 1195/2083/986 1190/2076/984 -f 1196/2084/987 1197/2085/987 1195/2083/986 -f 1197/2086/652 1198/2087/652 1184/2088/652 -f 1199/2089/988 1192/2090/989 1191/2091/990 -f 1200/2092/991 1201/2093/992 1202/2094/993 -f 1203/2095/994 1204/2096/995 1205/2097/996 -f 1206/2098/997 1207/2099/998 1208/2100/999 -f 1208/2101/999 1204/2102/995 1209/2103/1000 -f 1182/2104/1001 1200/2092/991 1210/2105/1002 -f 1211/2106/1003 1175/2107/1004 1170/2108/1005 -f 1211/2106/1003 1212/2109/1006 1175/2107/1004 -f 1213/2110/1007 1165/2111/1008 1167/2112/1009 -f 1202/2113/978 1214/2114/976 1215/2115/972 -f 1172/2116/1010 1216/2117/1011 1173/2118/1012 -f 1217/2119/1013 1218/2120/1014 1181/2121/1015 -f 1219/2122/1016 1206/2098/997 1220/2123/1017 -f 1221/2124/1018 1165/2111/1008 1213/2110/1007 -f 1218/2120/1014 1177/2125/1019 1181/2121/1015 -f 1222/2126/1020 1223/2127/1021 1224/2128/1022 -f 1225/2129/1023 1223/2130/1021 1185/2131/1024 -f 1226/2132/1025 1189/2133/983 1188/2134/1026 -f 1200/2092/991 1212/2109/1006 1211/2106/1003 -f 1226/2132/1025 1220/2123/1017 1206/2098/997 -f 1210/2105/1002 1211/2106/1003 1220/2123/1017 -f 1217/2119/1013 1216/2117/1011 1218/2120/1014 -f 1203/2135/994 1222/2126/1020 1209/2103/1000 -f 1172/2116/1010 1218/2120/1014 1216/2117/1011 -f 1223/2130/1021 1213/2110/1007 1217/2119/1013 -f 1199/2089/988 1206/2136/997 1208/2101/999 -f 1209/2103/1000 1199/2089/988 1208/2101/999 -f 1199/2089/988 1191/2091/990 1189/2137/983 -f 1221/2138/969 1166/2051/969 1165/2050/969 -f 1166/2051/969 1193/2139/975 1167/2052/970 -f 1170/2055/971 1174/2059/975 1168/2053/969 -f 1174/2059/975 1198/2140/969 1168/2053/969 -f 1168/2053/969 1227/2141/969 1169/2054/969 -f 1167/2052/970 1193/2139/975 1173/2058/974 -f 1193/2139/975 1171/2056/972 1173/2058/974 -f 1175/2060/974 1212/2142/1027 1215/2115/972 -f 1215/2115/972 1174/2059/975 1175/2060/974 -f 1178/2063/978 1172/2057/973 1171/2056/972 -f 1171/2056/972 1176/2061/976 1178/2063/978 -f 1177/2062/977 1176/2061/976 1181/2066/980 -f 1176/2061/976 1179/2064/642 1181/2066/980 -f 1183/2068/980 1228/2143/1028 1184/2069/642 -f 1184/2069/642 1214/2114/976 1182/2067/980 -f 1214/2114/976 1201/2144/1029 1182/2067/980 -f 1180/2145/979 1179/2072/642 1186/2071/981 -f 1179/2072/642 1229/2146/982 1185/2070/981 -f 1229/2146/982 1230/2147/1030 1224/2148/1031 -f 1224/2148/1031 1225/2149/981 1229/2146/982 -f 1225/2149/981 1185/2070/981 1229/2146/982 -f 1231/2150/1032 1232/2151/1033 1187/2073/982 -f 1187/2073/982 1184/2152/642 1233/2153/981 -f 1184/2152/642 1228/2154/1028 1233/2153/981 -f 1189/2075/983 1231/2150/1032 1187/2073/982 -f 1187/2073/982 1233/2153/981 1188/2074/981 -f 1192/2078/985 1230/2147/1030 1194/2082/984 -f 1230/2147/1030 1229/2146/982 1194/2082/984 -f 1194/2082/984 1190/2076/984 1192/2078/985 -f 1190/2076/984 1187/2073/982 1232/2151/1033 -f 1190/2076/984 1232/2151/1033 1191/2077/985 -f 1166/2081/555 1234/2155/555 1179/2156/555 -f 1234/2155/555 1235/2157/555 1194/2158/555 -f 1166/2081/555 1179/2156/555 1176/2159/555 -f 1194/2158/555 1229/2160/555 1234/2155/555 -f 1229/2160/555 1179/2156/555 1234/2155/555 -f 1176/2159/555 1171/2079/555 1166/2081/555 -f 1194/2082/984 1235/2161/986 1195/2083/986 -f 1195/2083/986 1235/2161/986 1196/2084/987 -f 1235/2161/986 1234/2162/987 1196/2084/987 -f 1198/2087/652 1174/2163/652 1215/2164/652 -f 1215/2164/652 1214/2165/652 1198/2087/652 -f 1214/2165/652 1184/2088/652 1198/2087/652 -f 1184/2088/652 1187/2166/652 1197/2086/652 -f 1187/2166/652 1190/2167/652 1197/2086/652 -f 1190/2167/652 1195/2168/652 1197/2086/652 -f 1199/2089/988 1222/2126/1020 1192/2090/989 -f 1200/2092/991 1182/2104/1001 1201/2093/992 -f 1203/2095/994 1209/2169/1000 1204/2096/995 -f 1206/2098/997 1219/2122/1016 1207/2099/998 -f 1208/2101/999 1207/2170/998 1204/2102/995 -f 1233/2171/1034 1228/2172/1035 1210/2105/1002 -f 1228/2172/1035 1183/2173/1036 1210/2105/1002 -f 1183/2173/1036 1182/2104/1001 1210/2105/1002 -f 1169/2174/1037 1220/2123/1017 1170/2108/1005 -f 1220/2123/1017 1211/2106/1003 1170/2108/1005 -f 1173/2118/1012 1216/2117/1011 1167/2112/1009 -f 1216/2117/1011 1213/2110/1007 1167/2112/1009 -f 1215/2115/972 1212/2142/1027 1202/2113/978 -f 1202/2113/978 1201/2144/1029 1214/2114/976 -f 1181/2121/1015 1180/2175/1038 1217/2119/1013 -f 1180/2175/1038 1186/2176/1039 1217/2119/1013 -f 1186/2176/1039 1185/2131/1024 1217/2119/1013 -f 1169/2174/1037 1227/2177/1040 1220/2123/1017 -f 1227/2177/1040 1219/2122/1016 1220/2123/1017 -f 1203/2095/994 1205/2097/996 1213/2110/1007 -f 1205/2097/996 1221/2124/1041 1213/2110/1007 -f 1218/2120/1014 1178/2178/1042 1177/2125/1019 -f 1224/2128/1022 1230/2179/1043 1192/2090/989 -f 1192/2090/989 1222/2126/1020 1224/2128/1022 -f 1224/2180/1022 1223/2130/1021 1225/2129/1023 -f 1223/2130/1021 1217/2119/1013 1185/2131/1024 -f 1233/2171/1034 1210/2105/1002 1188/2134/1026 -f 1210/2105/1002 1226/2132/1025 1188/2134/1026 -f 1200/2092/991 1202/2094/993 1212/2109/1006 -f 1226/2132/1025 1210/2105/1002 1220/2123/1017 -f 1210/2105/1002 1200/2092/991 1211/2106/1003 -f 1217/2119/1013 1213/2110/1007 1216/2117/1011 -f 1203/2135/994 1223/2127/1021 1222/2126/1020 -f 1172/2116/1010 1178/2178/1042 1218/2120/1014 -f 1223/2130/1021 1203/2095/994 1213/2110/1007 -f 1199/2089/988 1226/2181/1025 1206/2136/997 -f 1209/2103/1000 1222/2126/1020 1199/2089/988 -f 1232/2182/1044 1231/2183/1032 1191/2091/990 -f 1231/2183/1032 1189/2137/983 1191/2091/990 -f 1189/2137/983 1226/2181/1025 1199/2089/988 -f 1236/2184/555 1237/2185/555 1238/2186/555 -f 1239/2187/1045 1240/2188/652 1241/2189/1046 -f 1242/2190/642 1236/2191/642 1243/2192/642 -f 1244/2193/642 1245/2194/642 1246/2195/642 -f 1247/2196/555 1248/2197/1047 1249/2198/1048 -f 1250/2199/652 1251/2200/652 1252/2201/652 -f 1253/2202/642 1254/2203/642 1255/2204/642 -f 1256/2205/642 1257/2206/642 1251/2207/642 -f 1258/2208/674 1259/2209/674 1260/2210/555 -f 1261/2211/652 1262/2212/654 1263/2213/654 -f 1264/2214/642 1258/2215/642 1265/2216/642 -f 1266/2217/642 1267/2218/642 1262/2219/642 -f 1237/2185/555 1268/2220/555 1238/2186/555 -f 1268/2220/555 1269/2221/555 1270/2222/555 -f 1238/2186/555 1268/2220/555 1271/2223/555 -f 1270/2222/555 1272/2224/555 1271/2223/555 -f 1272/2224/555 1273/2225/741 1271/2223/555 -f 1273/2225/741 1274/2226/555 1275/2227/1049 -f 1271/2223/555 1273/2225/741 1275/2227/1049 -f 1275/2227/1049 1276/2228/555 1277/2229/555 -f 1276/2228/555 1244/2230/555 1277/2229/555 -f 1275/2227/1049 1277/2229/555 1271/2223/555 -f 1270/2222/555 1271/2223/555 1268/2220/555 -f 1278/2231/1050 1279/2232/1050 1280/2233/1050 -f 1280/2233/1051 1281/2234/652 1241/2189/1046 -f 1281/2234/652 1282/2235/1052 1241/2189/1046 -f 1282/2235/1052 1283/2236/1053 1239/2187/1045 -f 1239/2187/1045 1242/2237/652 1240/2188/652 -f 1242/2237/654 1243/2238/654 1240/2188/654 -f 1282/2235/1052 1239/2187/1045 1241/2189/1046 -f 1245/2239/654 1278/2231/1054 1284/2240/652 -f 1278/2231/1054 1280/2233/1051 1241/2189/1046 -f 1284/2240/652 1278/2231/1054 1241/2189/1046 -f 1284/2240/652 1246/2241/654 1245/2239/654 -f 1242/2190/642 1237/2242/642 1236/2191/642 -f 1244/2193/642 1276/2243/642 1245/2194/642 -f 1254/2244/1055 1285/2245/1056 1286/2246/1056 -f 1285/2245/1056 1287/2247/555 1286/2246/1056 -f 1286/2246/555 1288/2248/1057 1289/2249/555 -f 1288/2248/1057 1290/2250/1048 1248/2197/1047 -f 1289/2249/555 1288/2248/1057 1248/2197/1047 -f 1289/2249/555 1254/2244/555 1286/2246/555 -f 1290/2250/1048 1291/2251/555 1292/2252/555 -f 1292/2252/555 1293/2253/555 1248/2197/1047 -f 1293/2253/555 1294/2254/1058 1248/2197/1047 -f 1294/2254/1058 1295/2255/1059 1296/2256/782 -f 1296/2256/782 1249/2198/1048 1248/2197/1047 -f 1249/2198/1048 1297/2257/1060 1247/2196/555 -f 1294/2254/1058 1296/2256/782 1248/2197/1047 -f 1248/2197/1047 1290/2250/1048 1292/2252/555 -f 1297/2257/1061 1298/2258/1061 1299/2259/1061 -f 1299/2259/1062 1256/2260/1063 1297/2257/1060 -f 1256/2260/1063 1247/2196/555 1297/2257/1060 -f 1252/2201/652 1300/2261/652 1250/2199/652 -f 1300/2261/652 1301/2262/652 1302/2263/652 -f 1250/2199/652 1300/2261/652 1302/2263/652 -f 1301/2262/652 1303/2264/652 1304/2265/652 -f 1304/2265/652 1305/2266/652 1302/2263/652 -f 1305/2266/652 1306/2267/1064 1302/2263/652 -f 1306/2267/1064 1307/2268/652 1308/2269/1064 -f 1308/2269/1064 1309/2270/652 1302/2263/652 -f 1309/2270/652 1310/2271/652 1311/2272/652 -f 1310/2271/1065 1312/2273/1065 1253/2274/1065 -f 1253/2274/1066 1255/2275/1067 1310/2271/1067 -f 1255/2275/1067 1311/2272/652 1310/2271/1067 -f 1306/2267/1064 1308/2269/1064 1302/2263/652 -f 1309/2270/652 1311/2272/652 1302/2263/652 -f 1301/2262/652 1304/2265/652 1302/2263/652 -f 1257/2276/1068 1313/2277/1068 1252/2201/1068 -f 1251/2200/1069 1257/2276/1069 1252/2201/1069 -f 1253/2202/642 1285/2278/642 1254/2203/642 -f 1256/2205/642 1299/2279/642 1257/2206/642 -f 1314/2280/15 1315/2281/555 1259/2209/1049 -f 1259/2209/674 1316/2282/555 1260/2210/555 -f 1316/2282/555 1317/2283/1070 1318/2284/1071 -f 1260/2210/555 1316/2282/555 1318/2284/1071 -f 1317/2283/1070 1319/2285/1072 1320/2286/1070 -f 1320/2286/1070 1321/2287/555 1318/2284/1071 -f 1321/2287/555 1322/2288/1073 1318/2284/1071 -f 1322/2288/1073 1323/2289/555 1324/2290/1074 -f 1324/2290/1074 1325/2291/555 1318/2284/1071 -f 1325/2291/555 1326/2292/555 1327/2293/555 -f 1326/2292/741 1328/2294/741 1329/2295/741 -f 1329/2295/555 1266/2296/555 1326/2292/555 -f 1266/2296/555 1327/2293/555 1326/2292/555 -f 1322/2288/1073 1324/2290/1074 1318/2284/1071 -f 1325/2291/555 1327/2293/555 1318/2284/1071 -f 1317/2283/1070 1320/2286/1070 1318/2284/1071 -f 1258/2208/1073 1314/2280/15 1259/2209/1049 -f 1263/2213/654 1330/2297/652 1261/2211/652 -f 1330/2297/652 1331/2298/652 1332/2299/652 -f 1261/2211/652 1330/2297/652 1332/2299/652 -f 1331/2298/652 1333/2300/652 1334/2301/1064 -f 1334/2301/1064 1335/2302/652 1332/2299/652 -f 1335/2302/652 1336/2303/652 1332/2299/652 -f 1336/2303/652 1337/2304/652 1338/2305/652 -f 1338/2305/652 1339/2306/652 1332/2299/652 -f 1339/2306/652 1340/2307/652 1341/2308/652 -f 1340/2307/1075 1342/2309/1075 1264/2310/1075 -f 1264/2310/652 1265/2311/652 1340/2307/652 -f 1265/2311/652 1341/2308/652 1340/2307/652 -f 1336/2303/652 1338/2305/652 1332/2299/652 -f 1339/2306/652 1341/2308/652 1332/2299/652 -f 1331/2298/652 1334/2301/1064 1332/2299/652 -f 1267/2312/654 1343/2313/652 1263/2213/652 -f 1262/2212/653 1267/2312/654 1263/2213/652 -f 1264/2214/642 1314/2314/642 1258/2215/642 -f 1266/2217/642 1329/2315/642 1267/2218/642 -f 1344/2316/1076 1345/2317/1077 1346/2318/1078 -f 1347/2319/1079 1348/2320/1080 1349/2321/1081 -f 1350/2322/1082 1351/2323/1083 1352/2324/1084 -f 1353/2325/1085 1257/2326/1086 1299/2327/1087 -f 1354/2328/642 1280/2329/1088 1355/2330/1089 -f 1273/2331/1090 1305/2332/642 1304/2333/1091 -f 1294/2334/1092 1335/2335/642 1334/2336/1088 -f 1356/2337/1093 1321/2338/642 1357/2339/1094 -f 1358/2340/1095 1281/2341/642 1354/2328/642 -f 1272/2342/642 1306/2343/1096 1305/2332/642 -f 1293/2344/642 1336/2345/1097 1335/2335/642 -f 1357/2339/1094 1320/2346/1096 1359/2347/1098 -f 1360/2348/555 1361/2349/555 1358/2350/555 -f 1350/2351/555 1349/2352/555 1362/2353/555 -f 1314/2354/1099 1264/2355/1100 1344/2356/1076 -f 1363/2357/652 1364/2358/652 1365/2359/652 -f 1366/2360/1101 1367/2361/1102 1368/2362/1103 -f 1365/2363/1104 1369/2364/1105 1366/2360/1101 -f 1359/2365/1098 1365/2363/1104 1370/2366/1106 -f 1357/2367/1094 1370/2366/1106 1371/2368/1107 -f 1356/2369/1093 1371/2368/1107 1372/2370/1108 -f 1373/2371/1109 1372/2370/1108 1364/2372/1110 -f 1374/2373/1111 1364/2372/1110 1375/2374/1112 -f 1376/2375/1113 1375/2374/1112 1377/2376/1114 -f 1351/2377/1083 1377/2376/1114 1378/2378/1115 -f 1352/2379/1084 1378/2378/1115 1363/2380/1116 -f 1379/2381/1117 1363/2380/1116 1380/2382/1118 -f 1347/2383/1079 1380/2382/1118 1381/2384/1119 -f 1382/2385/1120 1347/2383/1079 1381/2384/1119 -f 1383/2386/1121 1348/2387/1080 1382/2385/1120 -f 1346/2388/1078 1383/2386/1121 1384/2389/1122 -f 1367/2361/1102 1384/2389/1122 1368/2362/1103 -f 1385/2390/644 1386/2391/972 1387/2392/644 -f 1388/2393/642 1386/2394/972 1389/2395/972 -f 1390/2396/984 1362/2397/642 1388/2393/642 -f 1391/2398/734 1392/2399/984 1390/2400/984 -f 1393/2401/734 1262/2402/1123 1256/2403/1123 -f 1394/2404/701 1318/2405/78 1327/2406/701 -f 1248/2407/78 1261/2408/701 1332/2409/78 -f 1271/2410/78 1250/2411/701 1302/2412/78 -f 1360/2413/78 1284/2414/701 1241/2415/78 -f 1395/2416/78 1260/2417/1124 1318/2405/78 -f 1289/2418/1124 1332/2409/78 1341/2419/1124 -f 1238/2420/1124 1302/2412/78 1311/2421/1124 -f 1361/2422/1124 1241/2415/78 1240/2423/1124 -f 1254/2424/1125 1265/2425/1125 1387/2392/644 -f 1385/2426/555 1395/2427/555 1391/2428/555 -f 1344/2316/1076 1349/2321/1081 1345/2317/1077 -f 1348/2320/1080 1345/2317/1077 1349/2321/1081 -f 1349/2321/1081 1350/2322/1082 1347/2319/1079 -f 1350/2322/1082 1352/2324/1084 1379/2429/1117 -f 1347/2319/1079 1350/2322/1082 1379/2429/1117 -f 1350/2322/1082 1353/2325/1085 1351/2323/1083 -f 1322/2430/1126 1356/2337/1093 1323/2431/1127 -f 1356/2337/1093 1373/2432/1109 1325/2433/1128 -f 1323/2431/1127 1356/2337/1093 1325/2433/1128 -f 1373/2432/1109 1374/2434/1111 1326/2435/1129 -f 1374/2434/1111 1376/2436/1113 1329/2437/1130 -f 1376/2436/1113 1351/2323/1083 1353/2325/1085 -f 1353/2325/1085 1355/2330/1089 1245/2438/1131 -f 1355/2330/1089 1280/2329/1088 1279/2439/1132 -f 1245/2438/1131 1355/2330/1089 1278/2440/1133 -f 1279/2439/1132 1278/2440/1133 1355/2330/1089 -f 1374/2434/1111 1329/2437/1130 1328/2441/1134 -f 1376/2436/1113 1353/2325/1085 1329/2437/1130 -f 1325/2433/555 1324/2442/555 1323/2431/555 -f 1328/2441/1134 1326/2435/1129 1374/2434/1111 -f 1326/2435/1129 1325/2433/1128 1373/2432/1109 -f 1353/2325/1085 1245/2438/1131 1276/2443/1135 -f 1274/2444/1136 1273/2331/1090 1304/2333/1091 -f 1304/2333/1091 1303/2445/1137 1274/2444/1136 -f 1303/2445/1137 1301/2446/1138 1275/2447/1139 -f 1301/2446/1138 1300/2448/1140 1275/2447/1139 -f 1300/2448/1140 1252/2449/1141 1275/2447/1139 -f 1252/2449/1141 1313/2450/1142 1276/2443/1135 -f 1313/2450/1142 1257/2326/1086 1276/2443/1135 -f 1303/2445/1137 1275/2447/1139 1274/2444/1136 -f 1276/2443/1135 1275/2447/1139 1252/2449/1141 -f 1263/2451/1141 1343/2452/1143 1297/2453/1144 -f 1343/2452/1143 1267/2454/1145 1299/2327/1087 -f 1267/2454/1145 1329/2437/1130 1353/2325/1085 -f 1353/2325/1085 1276/2443/1135 1257/2326/1086 -f 1343/2452/1143 1299/2327/1087 1298/2455/1146 -f 1267/2454/1145 1353/2325/1085 1299/2327/1087 -f 1331/2456/1147 1330/2457/1148 1249/2458/1149 -f 1330/2457/1148 1263/2451/1141 1249/2458/1149 -f 1334/2336/1088 1333/2459/1137 1295/2460/972 -f 1333/2459/1137 1331/2456/1147 1296/2461/1150 -f 1295/2460/972 1294/2334/1092 1334/2336/1088 -f 1249/2458/1149 1296/2461/1150 1331/2456/1147 -f 1296/2461/1150 1295/2460/972 1333/2459/1137 -f 1298/2455/1146 1297/2453/1144 1343/2452/1143 -f 1297/2453/1144 1249/2458/1149 1263/2451/1141 -f 1354/2328/642 1281/2341/642 1280/2329/1088 -f 1273/2331/1090 1272/2342/642 1305/2332/642 -f 1294/2334/1092 1293/2344/642 1335/2335/642 -f 1356/2337/1093 1322/2430/1126 1321/2338/642 -f 1358/2340/1095 1282/2462/1097 1281/2341/642 -f 1272/2342/642 1270/2463/1097 1306/2343/1096 -f 1293/2344/642 1292/2464/982 1336/2345/1097 -f 1357/2339/1094 1321/2338/642 1320/2346/1096 -f 1387/2465/555 1386/2466/555 1344/2467/555 -f 1386/2466/555 1349/2352/555 1344/2467/555 -f 1358/2350/555 1354/2468/555 1360/2348/555 -f 1354/2468/555 1355/2469/555 1360/2348/555 -f 1353/2470/555 1350/2351/555 1392/2471/555 -f 1353/2470/555 1392/2471/555 1393/2472/555 -f 1361/2349/555 1387/2465/555 1358/2350/555 -f 1387/2465/555 1344/2467/555 1358/2350/555 -f 1355/2469/555 1353/2470/555 1393/2472/555 -f 1355/2469/555 1393/2472/555 1396/2473/1049 -f 1355/2469/555 1396/2473/1049 1360/2348/555 -f 1349/2352/555 1386/2466/555 1362/2353/555 -f 1362/2353/555 1392/2471/555 1350/2351/555 -f 1306/2474/1096 1270/2475/1097 1269/2476/1151 -f 1306/2474/1096 1269/2476/1151 1307/2477/1152 -f 1269/2476/1151 1268/2478/1153 1307/2477/1152 -f 1308/2479/984 1307/2477/1152 1268/2478/1153 -f 1310/2480/1154 1309/2481/1155 1268/2478/1153 -f 1309/2481/1155 1308/2479/984 1268/2478/1153 -f 1253/2482/1156 1312/2483/1157 1237/2484/1158 -f 1312/2483/1157 1310/2480/1154 1237/2484/1158 -f 1268/2478/1153 1237/2484/1158 1310/2480/1154 -f 1242/2485/1157 1239/2486/1159 1358/2487/1095 -f 1239/2486/1159 1283/2488/1160 1358/2487/1095 -f 1283/2488/1160 1282/2489/1097 1358/2487/1095 -f 1285/2490/1156 1253/2482/1156 1344/2356/1076 -f 1253/2482/1156 1237/2484/1158 1344/2356/1076 -f 1242/2485/1157 1358/2487/1095 1344/2356/1076 -f 1237/2484/1158 1242/2485/1157 1344/2356/1076 -f 1344/2356/1076 1346/2491/1078 1367/2492/1102 -f 1367/2492/1102 1369/2493/1105 1314/2354/1099 -f 1369/2493/1105 1397/2494/1161 1259/2495/1162 -f 1314/2354/1099 1369/2493/1105 1315/2496/1163 -f 1397/2494/1161 1359/2497/1098 1316/2498/1164 -f 1359/2497/1098 1320/2499/1096 1319/2500/1165 -f 1319/2500/1166 1317/2501/1166 1316/2498/1166 -f 1359/2497/1098 1319/2500/1165 1316/2498/1164 -f 1344/2356/1076 1367/2492/1102 1314/2354/1099 -f 1288/2502/1167 1286/2503/1168 1340/2504/1169 -f 1286/2503/1168 1287/2505/1170 1342/2506/1171 -f 1340/2504/1169 1286/2503/1168 1342/2506/1171 -f 1291/2507/984 1290/2508/1172 1337/2509/984 -f 1290/2508/1172 1288/2502/1167 1338/2510/1172 -f 1291/2507/984 1337/2509/984 1336/2511/1097 -f 1336/2511/1097 1292/2512/982 1291/2507/984 -f 1338/2510/1172 1337/2509/984 1290/2508/1172 -f 1340/2504/1169 1339/2513/1173 1288/2502/1167 -f 1339/2513/1173 1338/2510/1172 1288/2502/1167 -f 1264/2355/1100 1342/2506/1171 1285/2490/1156 -f 1285/2490/1156 1342/2506/1171 1287/2505/1170 -f 1316/2498/1164 1259/2495/1162 1397/2494/1161 -f 1259/2495/1162 1315/2496/1163 1369/2493/1105 -f 1264/2355/1100 1285/2490/1156 1344/2356/1076 -f 1365/2359/652 1366/2514/652 1368/2515/652 -f 1368/2515/652 1384/2516/652 1365/2359/652 -f 1384/2516/652 1383/2517/652 1365/2359/652 -f 1383/2517/652 1382/2518/652 1363/2357/652 -f 1382/2518/652 1381/2519/652 1363/2357/652 -f 1381/2519/652 1380/2520/652 1363/2357/652 -f 1363/2357/652 1378/2521/652 1364/2358/652 -f 1378/2521/652 1377/2522/652 1364/2358/652 -f 1377/2522/652 1375/2523/652 1364/2358/652 -f 1364/2358/652 1372/2370/652 1371/2368/652 -f 1371/2368/652 1370/2524/652 1364/2358/652 -f 1370/2524/652 1365/2359/652 1364/2358/652 -f 1365/2359/652 1383/2517/652 1363/2357/652 -f 1366/2360/1101 1369/2364/1105 1367/2361/1102 -f 1365/2363/1104 1397/2525/1161 1369/2364/1105 -f 1359/2365/1098 1397/2525/1161 1365/2363/1104 -f 1357/2367/1094 1359/2365/1098 1370/2366/1106 -f 1356/2369/1093 1357/2367/1094 1371/2368/1107 -f 1373/2371/1109 1356/2369/1093 1372/2370/1108 -f 1374/2373/1111 1373/2371/1109 1364/2372/1110 -f 1376/2375/1113 1374/2373/1111 1375/2374/1112 -f 1351/2377/1083 1376/2375/1113 1377/2376/1114 -f 1352/2379/1084 1351/2377/1083 1378/2378/1115 -f 1379/2381/1117 1352/2379/1084 1363/2380/1116 -f 1347/2383/1079 1379/2381/1117 1380/2382/1118 -f 1382/2385/1120 1348/2387/1080 1347/2383/1079 -f 1383/2386/1121 1345/2526/1077 1348/2387/1080 -f 1346/2388/1078 1345/2526/1077 1383/2386/1121 -f 1367/2361/1102 1346/2388/1078 1384/2389/1122 -f 1385/2390/644 1389/2527/972 1386/2391/972 -f 1388/2393/642 1362/2397/642 1386/2394/972 -f 1390/2396/984 1392/2528/984 1362/2397/642 -f 1391/2398/734 1393/2401/734 1392/2399/984 -f 1250/2529/701 1277/2530/701 1244/2531/1123 -f 1246/2532/1123 1284/2533/701 1396/2534/701 -f 1251/2535/1123 1250/2529/701 1244/2531/1123 -f 1246/2532/1123 1396/2534/701 1393/2401/734 -f 1256/2403/1123 1251/2535/1123 1393/2401/734 -f 1251/2535/1123 1244/2531/1123 1393/2401/734 -f 1244/2531/1123 1246/2532/1123 1393/2401/734 -f 1393/2401/734 1391/2398/734 1266/2536/1123 -f 1391/2398/734 1394/2537/701 1266/2536/1123 -f 1394/2537/701 1327/2538/701 1266/2536/1123 -f 1262/2402/1123 1261/2539/701 1247/2540/701 -f 1262/2402/1123 1247/2540/701 1256/2403/1123 -f 1393/2401/734 1266/2536/1123 1262/2402/1123 -f 1394/2404/701 1395/2416/78 1318/2405/78 -f 1248/2407/78 1247/2541/701 1261/2408/701 -f 1271/2410/78 1277/2542/701 1250/2411/701 -f 1360/2413/78 1396/2543/701 1284/2414/701 -f 1395/2416/78 1398/2544/1124 1260/2417/1124 -f 1289/2418/1124 1248/2407/78 1332/2409/78 -f 1238/2420/1124 1271/2410/78 1302/2412/78 -f 1361/2422/1124 1360/2413/78 1241/2415/78 -f 1258/2545/1125 1260/2546/1124 1398/2547/1124 -f 1398/2547/1124 1385/2390/644 1258/2545/1125 -f 1385/2390/644 1387/2392/644 1258/2545/1125 -f 1387/2392/644 1361/2548/1124 1243/2549/1125 -f 1361/2548/1124 1240/2550/1124 1243/2549/1125 -f 1289/2551/1124 1341/2552/1124 1265/2425/1125 -f 1265/2425/1125 1258/2545/1125 1387/2392/644 -f 1387/2392/644 1243/2549/1125 1236/2553/1125 -f 1236/2553/1125 1238/2554/1124 1255/2555/1125 -f 1238/2554/1124 1311/2556/1124 1255/2555/1125 -f 1254/2424/1125 1289/2551/1124 1265/2425/1125 -f 1236/2553/1125 1255/2555/1125 1387/2392/644 -f 1255/2555/1125 1254/2424/1125 1387/2392/644 -f 1391/2428/555 1390/2557/555 1388/2558/555 -f 1388/2558/555 1389/2559/555 1385/2426/555 -f 1385/2426/555 1398/2560/555 1395/2427/555 -f 1395/2427/555 1394/2561/555 1391/2428/555 -f 1391/2428/555 1388/2558/555 1385/2426/555 -o Bolt -v 0.201323 0.551685 0.202506 -v 0.181795 0.515471 0.326592 -v 0.182256 0.506301 0.321038 -v 0.195708 0.553963 0.035875 -v 0.144291 0.512911 0.192332 -v 0.144291 0.553963 0.035875 -v 0.144291 0.555503 0.203507 -v 0.125425 0.523818 0.324260 -v 0.152229 0.524991 0.319790 -v 0.138677 0.551685 0.202506 -v 0.138677 0.557781 0.036877 -v 0.138677 0.516728 0.193334 -v 0.201323 0.557781 0.036877 -v 0.125278 0.480979 0.314027 -v 0.119165 0.483960 0.318215 -v 0.138677 0.592738 0.046050 -v 0.201323 0.516728 0.193334 -v 0.195708 0.512911 0.192332 -v 0.176149 0.522654 0.328699 -v 0.181215 0.518934 0.328517 -v 0.155329 0.482048 0.309951 -v 0.125608 0.481044 0.313782 -v 0.195708 0.596556 0.047050 -v 0.201323 0.592738 0.046050 -v 0.175984 0.479785 0.318577 -v 0.181405 0.483279 0.320814 -v 0.122403 0.521774 0.323654 -v 0.120209 0.502739 0.316002 -v 0.195708 0.555503 0.203507 -v 0.181596 0.518556 0.328767 -v 0.144291 0.596556 0.047050 -v 0.119530 0.519530 0.325054 -v 1.604822 0.493089 -0.089549 -v 0.545583 0.458975 -0.070610 -v 0.545583 0.493089 -0.089549 -v 1.604822 0.458975 -0.070610 -v 0.545583 0.434706 -0.040059 -v 1.604822 0.434707 -0.040059 -v 0.545583 0.423976 -0.002545 -v 1.604822 0.423976 -0.002545 -v 0.545583 0.428419 0.036220 -v 1.604822 0.428419 0.036220 -v 0.545583 0.447358 0.070333 -v 1.604822 0.447358 0.070333 -v 0.545583 0.477909 0.094602 -v 1.604822 0.477910 0.094601 -v 0.545583 0.515424 0.105332 -v 1.604822 0.515424 0.105332 -v 0.545583 0.554188 0.100889 -v 1.604822 0.554188 0.100889 -v 0.545583 0.588301 0.081951 -v 1.604822 0.588302 0.081950 -v 0.545583 0.612570 0.051398 -v 1.604822 0.612570 0.051398 -v 0.545583 0.623300 0.013885 -v 1.604822 0.623300 0.013885 -v 0.545583 0.618858 -0.024879 -v 1.604822 0.618858 -0.024879 -v 0.545583 0.599918 -0.058993 -v 1.604822 0.599918 -0.058993 -v 0.545583 0.569367 -0.083262 -v 1.604822 0.569367 -0.083262 -v 0.545583 0.531853 -0.093992 -v 1.604822 0.531853 -0.093992 -v 0.302839 0.490034 -0.099071 -v 0.047566 0.455921 -0.080132 -v 0.047566 0.490034 -0.099071 -v 0.302839 0.455921 -0.080132 -v 0.047566 0.431651 -0.049580 -v 0.302839 0.431651 -0.049580 -v 0.047566 0.420921 -0.012067 -v 0.302839 0.420921 -0.012067 -v 0.047566 0.425364 0.026698 -v 0.302839 0.425364 0.026698 -v 0.047566 0.444303 0.060811 -v 0.302839 0.444303 0.060811 -v 0.047566 0.474854 0.085080 -v 0.302839 0.474854 0.085080 -v 0.047566 0.512369 0.095810 -v 0.302839 0.512369 0.095810 -v 0.047566 0.551133 0.091368 -v 0.302839 0.551133 0.091368 -v 0.047566 0.585246 0.072429 -v 0.302839 0.585247 0.072428 -v 0.047566 0.609515 0.041876 -v 0.302839 0.609515 0.041876 -v 0.047566 0.620245 0.004363 -v 0.302839 0.620245 0.004363 -v 0.047566 0.615803 -0.034401 -v 0.302839 0.615803 -0.034401 -v 0.047566 0.596863 -0.068515 -v 0.302839 0.596863 -0.068515 -v 0.047566 0.566312 -0.092784 -v 0.544463 0.420921 -0.012067 -v 0.544463 0.425364 0.026698 -v 0.302839 0.566312 -0.092784 -v 0.047566 0.528798 -0.103514 -v 0.302839 0.528799 -0.103514 -v -0.027258 0.473904 -0.058918 -v -0.027258 0.456384 -0.036863 -v -0.204829 0.473904 -0.058918 -v -0.027258 0.487572 0.060347 -v -0.027258 0.592528 0.002078 -v -0.027258 0.451845 0.018202 -v -0.027258 0.584782 0.029159 -v -0.027258 0.567263 0.051214 -v -0.027258 0.553594 -0.068051 -v -0.027258 0.514654 0.068093 -v -0.027258 0.498530 -0.072590 -v -0.027258 0.589321 -0.025905 -v -0.027258 0.465517 0.042827 -v -0.027258 0.526514 -0.075797 -v -0.027258 0.448638 -0.009782 -v -0.027258 0.542637 0.064886 -v -0.027258 0.575649 -0.050532 -v -0.204829 0.526514 -0.075797 -v -0.204829 0.584782 0.029159 -v -0.204829 0.567263 0.051214 -v -0.204829 0.448638 -0.009782 -v -0.204829 0.456384 -0.036863 -v -0.204829 0.592528 0.002078 -v -0.204829 0.451845 0.018202 -v -0.204829 0.589321 -0.025905 -v -0.204829 0.465517 0.042827 -v -0.204829 0.575649 -0.050532 -v -0.204829 0.487572 0.060347 -v -0.204829 0.553594 -0.068051 -v -0.204829 0.514654 0.068093 -v -0.204829 0.542637 0.064886 -v -0.237407 0.524376 -0.049861 -v -0.237407 0.474574 -0.007645 -v -0.237407 0.516791 0.042156 -v -0.237407 0.506480 -0.047810 -v -0.204829 0.498530 -0.072590 -v -0.237407 0.479528 -0.024963 -v -0.237407 0.490732 -0.039067 -v -0.237407 0.476625 0.010251 -v -0.237407 0.485368 0.025999 -v -0.237407 0.499473 0.037203 -v -0.237407 0.534686 0.040106 -v -0.237407 0.550435 0.031362 -v -0.237407 0.561638 0.017258 -v -0.237407 0.566592 -0.000060 -v -0.237407 0.564541 -0.017955 -v -0.237407 0.555798 -0.033704 -v -0.237407 0.541693 -0.044908 -v 0.544463 0.609515 0.041876 -v 0.544463 0.474855 0.085079 -v 0.544463 0.431652 -0.049581 -v 0.544463 0.585247 0.072428 -v 0.544463 0.596863 -0.068515 -v 0.544463 0.566312 -0.092784 -v 0.544463 0.455921 -0.080132 -v 0.544463 0.512369 0.095810 -v 0.544463 0.615803 -0.034401 -v 0.544463 0.444303 0.060811 -v 0.544463 0.528799 -0.103514 -v 0.544463 0.551133 0.091368 -v 0.544463 0.490034 -0.099071 -v 0.544463 0.620245 0.004363 -v 0.152131 0.433929 0.352829 -v 0.118672 0.440527 0.380211 -v 0.121396 0.440319 0.350736 -v 0.147365 0.433952 0.383317 -v 0.115674 0.451461 0.398845 -v 0.111347 0.476977 0.413212 -v 0.143108 0.449482 0.409785 -v 0.139907 0.476212 0.424854 -v 0.092258 0.481658 0.389262 -v 0.087976 0.489125 0.359001 -v 0.102235 0.454756 0.381983 -v 0.098050 0.460530 0.353255 -v 0.138552 0.507645 0.424783 -v 0.139495 0.534420 0.409225 -v 0.111309 0.507187 0.413215 -v 0.142429 0.549768 0.382623 -v 0.111973 0.526038 0.402262 -v 0.093494 0.518692 0.368254 -v 0.113526 0.540787 0.376644 -v 0.097869 0.510482 0.396354 -v 0.154515 0.449412 0.325538 -v 0.125522 0.455339 0.324851 -v 0.109085 0.469568 0.326624 -v 0.126186 0.474190 0.313897 -v 0.155458 0.476188 0.309979 -v 0.146645 0.549879 0.351446 -v 0.150902 0.534349 0.324978 -v 0.118823 0.540851 0.346902 -v 0.121821 0.529916 0.328267 -v 0.104720 0.525294 0.340995 -v 0.099408 0.497118 0.331483 -v 0.181034 0.442909 0.358809 -v 0.201067 0.465004 0.367200 -v 0.175812 0.443009 0.387945 -v 0.206707 0.494123 0.375689 -v 0.189916 0.458564 0.393853 -v 0.195275 0.486132 0.403207 -v 0.172815 0.453942 0.406580 -v 0.170985 0.479567 0.421285 -v 0.173164 0.543377 0.384717 -v 0.169113 0.528519 0.409996 -v 0.168449 0.509668 0.420950 -v 0.185550 0.514290 0.408223 -v 0.196511 0.523166 0.382198 -v 0.182662 0.457821 0.332586 -v 0.183327 0.476672 0.321632 -v 0.202425 0.501592 0.345428 -v 0.183336 0.506272 0.321478 -v 0.196766 0.473376 0.338493 -v 0.175964 0.543332 0.354637 -v 0.192401 0.529102 0.352864 -v 0.178961 0.532398 0.336002 -vt 0.427829 0.434389 -vt 0.427670 0.432353 -vt 0.427837 0.432383 -vt 0.435567 0.437121 -vt 0.435689 0.435269 -vt 0.435721 0.437118 -vt 0.435874 0.435630 -vt 0.435906 0.437058 -vt 0.435827 0.437004 -vt 0.426488 0.434402 -vt 0.426222 0.437010 -vt 0.425920 0.434469 -vt 0.397706 0.493638 -vt 0.397593 0.493938 -vt 0.396560 0.493906 -vt 0.425623 0.432500 -vt 0.425679 0.432441 -vt 0.426551 0.434394 -vt 0.426790 0.436943 -vt 0.428731 0.436866 -vt 0.428398 0.434328 -vt 0.428460 0.434322 -vt 0.427553 0.432363 -vt 0.427608 0.432344 -vt 0.435632 0.433880 -vt 0.435720 0.433833 -vt 0.428039 0.436940 -vt 0.428100 0.436933 -vt 0.428243 0.432271 -vt 0.428179 0.432257 -vt 0.426284 0.432438 -vt 0.426317 0.432433 -vt 0.426160 0.437017 -vt 0.425969 0.432517 -vt 0.435753 0.433779 -vt 0.435721 0.435628 -vt 0.428669 0.436872 -vt 0.427612 0.432338 -vt 0.435535 0.435272 -vt 0.435754 0.437108 -vt 0.396447 0.493599 -vt 0.396447 0.490821 -vt 0.396560 0.490521 -vt 0.397593 0.490553 -vt 0.397706 0.490859 -vt 0.425859 0.434476 -vt 0.426852 0.436936 -vt 0.427768 0.434396 -vt 0.435721 0.433830 -vt 0.435568 0.433779 -vt 0.426251 0.432411 -vt 0.435906 0.433781 -vt 0.442420 0.494172 -vt 0.442940 0.496836 -vt 0.442420 0.496836 -vt 0.442940 0.494172 -vt 0.443421 0.496843 -vt 0.443421 0.494178 -vt 0.443789 0.496855 -vt 0.445638 0.502203 -vt 0.445157 0.499537 -vt 0.445638 0.499537 -vt 0.445157 0.502203 -vt 0.444637 0.499537 -vt 0.444637 0.502203 -vt 0.444157 0.499537 -vt 0.444157 0.502203 -vt 0.443789 0.499537 -vt 0.441940 0.496866 -vt 0.442420 0.499537 -vt 0.441940 0.499531 -vt 0.442420 0.496872 -vt 0.442940 0.499537 -vt 0.442940 0.496872 -vt 0.443421 0.499531 -vt 0.443421 0.496866 -vt 0.443789 0.499519 -vt 0.443789 0.502203 -vt 0.443308 0.499537 -vt 0.443308 0.502203 -vt 0.442788 0.499537 -vt 0.442788 0.502203 -vt 0.442308 0.499537 -vt 0.439524 0.501449 -vt 0.439892 0.499600 -vt 0.441739 0.499968 -vt 0.442308 0.502203 -vt 0.441940 0.499537 -vt 0.441940 0.494178 -vt 0.441940 0.496843 -vt 0.438065 0.496334 -vt 0.443107 0.495332 -vt 0.444109 0.500373 -vt 0.434814 0.435495 -vt 0.434051 0.436113 -vt 0.434051 0.435495 -vt 0.434814 0.436113 -vt 0.434044 0.436683 -vt 0.434806 0.436683 -vt 0.434030 0.437121 -vt 0.425694 0.442316 -vt 0.426457 0.441746 -vt 0.426457 0.442316 -vt 0.425694 0.441746 -vt 0.426457 0.441128 -vt 0.425694 0.441128 -vt 0.426457 0.440558 -vt 0.425694 0.440558 -vt 0.426457 0.440121 -vt 0.429501 0.440064 -vt 0.428731 0.440634 -vt 0.428739 0.440064 -vt 0.429494 0.440634 -vt 0.428731 0.441251 -vt 0.429493 0.441251 -vt 0.428738 0.441822 -vt 0.429501 0.441822 -vt 0.428752 0.442259 -vt 0.430998 0.440064 -vt 0.430236 0.440634 -vt 0.430236 0.440064 -vt 0.430998 0.440634 -vt 0.430236 0.441251 -vt 0.430998 0.441251 -vt 0.430236 0.441822 -vt 0.424972 0.442316 -vt 0.424972 0.441746 -vt 0.430998 0.441822 -vt 0.430236 0.442258 -vt 0.434806 0.434925 -vt 0.434044 0.434925 -vt 0.431835 0.432613 -vt 0.431407 0.432081 -vt 0.431835 0.431995 -vt 0.428193 0.437259 -vt 0.428720 0.437668 -vt 0.428190 0.437671 -vt 0.429404 0.433620 -vt 0.430064 0.433424 -vt 0.429974 0.433856 -vt 0.429404 0.430988 -vt 0.429337 0.431669 -vt 0.428967 0.431425 -vt 0.430592 0.433856 -vt 0.430921 0.433253 -vt 0.431162 0.433620 -vt 0.428731 0.432613 -vt 0.429167 0.432081 -vt 0.429167 0.432527 -vt 0.431162 0.430989 -vt 0.430510 0.431183 -vt 0.430592 0.430752 -vt 0.431598 0.433183 -vt 0.431407 0.432527 -vt 0.428967 0.433183 -vt 0.429652 0.433253 -vt 0.431236 0.431669 -vt 0.431598 0.431425 -vt 0.429974 0.430752 -vt 0.429652 0.431354 -vt 0.430510 0.433424 -vt 0.428731 0.431995 -vt 0.430921 0.431354 -vt 0.431236 0.432938 -vt 0.429337 0.432938 -vt 0.430064 0.431183 -vt 0.428193 0.438117 -vt 0.428731 0.438525 -vt 0.428201 0.438528 -vt 0.428720 0.439389 -vt 0.428193 0.439797 -vt 0.428190 0.439385 -vt 0.428731 0.436940 -vt 0.428723 0.437256 -vt 0.428723 0.439801 -vt 0.428200 0.440113 -vt 0.434560 0.434925 -vt 0.435091 0.434513 -vt 0.435091 0.434925 -vt 0.434030 0.434513 -vt 0.434560 0.434925 -vt 0.434030 0.434925 -vt 0.434560 0.434068 -vt 0.434560 0.434513 -vt 0.434030 0.434068 -vt 0.434560 0.434513 -vt 0.434560 0.433656 -vt 0.435091 0.434068 -vt 0.434030 0.433656 -vt 0.434560 0.434068 -vt 0.434560 0.433341 -vt 0.435091 0.433656 -vt 0.434030 0.433341 -vt 0.434560 0.433656 -vt 0.428723 0.438943 -vt 0.428200 0.438528 -vt 0.428731 0.438532 -vt 0.428193 0.438940 -vt 0.435557 0.431265 -vt 0.435759 0.432278 -vt 0.434746 0.432480 -vt 0.436270 0.431650 -vt 0.435759 0.431467 -vt 0.436099 0.431238 -vt 0.435868 0.432015 -vt 0.435868 0.431730 -vt 0.436100 0.432507 -vt 0.436270 0.432095 -vt 0.435557 0.432480 -vt 0.435373 0.432993 -vt 0.435784 0.432822 -vt 0.434927 0.432993 -vt 0.435294 0.432589 -vt 0.434515 0.432822 -vt 0.435009 0.432589 -vt 0.434200 0.432507 -vt 0.434030 0.432095 -vt 0.434544 0.432278 -vt 0.434030 0.431650 -vt 0.434435 0.432015 -vt 0.434200 0.431238 -vt 0.434435 0.431730 -vt 0.434515 0.430923 -vt 0.434544 0.431467 -vt 0.434927 0.430752 -vt 0.434746 0.431265 -vt 0.435373 0.430752 -vt 0.435009 0.431156 -vt 0.435784 0.430923 -vt 0.435294 0.431156 -vt 0.428723 0.438113 -vt 0.427837 0.437690 -vt 0.427401 0.439885 -vt 0.425208 0.439449 -vt 0.430215 0.441251 -vt 0.431720 0.441251 -vt 0.431720 0.441822 -vt 0.435535 0.436113 -vt 0.435528 0.436683 -vt 0.424972 0.440121 -vt 0.425694 0.440121 -vt 0.431720 0.440634 -vt 0.424972 0.441128 -vt 0.430222 0.441822 -vt 0.430998 0.442258 -vt 0.431720 0.442258 -vt 0.434792 0.437121 -vt 0.435514 0.437121 -vt 0.430215 0.440634 -vt 0.435535 0.435495 -vt 0.424972 0.440558 -vt 0.430236 0.442259 -vt 0.429514 0.442259 -vt 0.435528 0.434925 -vt 0.430522 0.472568 -vt 0.430684 0.472154 -vt 0.430616 0.472616 -vt 0.430589 0.472090 -vt 0.430896 0.471886 -vt 0.431327 0.471717 -vt 0.430890 0.471710 -vt 0.431341 0.471532 -vt 0.431347 0.472103 -vt 0.431398 0.472594 -vt 0.430910 0.472158 -vt 0.430938 0.472621 -vt 0.431834 0.471602 -vt 0.432219 0.471904 -vt 0.431800 0.471783 -vt 0.432402 0.472355 -vt 0.432072 0.471996 -vt 0.431881 0.472513 -vt 0.432247 0.472429 -vt 0.431814 0.472055 -vt 0.433733 0.479164 -vt 0.433633 0.479486 -vt 0.433639 0.479062 -vt 0.430795 0.473054 -vt 0.431021 0.473058 -vt 0.431229 0.473221 -vt 0.431173 0.473280 -vt 0.431067 0.473267 -vt 0.433641 0.479976 -vt 0.433733 0.480012 -vt 0.433644 0.480057 -vt 0.433722 0.479572 -vt 0.433728 0.479916 -vt 0.432336 0.472843 -vt 0.432035 0.473224 -vt 0.432183 0.472896 -vt 0.431867 0.473213 -vt 0.431834 0.473218 -vt 0.431971 0.473164 -vt 0.431801 0.473191 -vt 0.431926 0.472954 -vt 0.431463 0.473042 -vt 0.434112 0.472248 -vt 0.434110 0.471839 -vt 0.434281 0.472289 -vt 0.433737 0.472247 -vt 0.433948 0.471819 -vt 0.433258 0.472285 -vt 0.433683 0.471818 -vt 0.433319 0.480737 -vt 0.434365 0.480215 -vt 0.434368 0.480700 -vt 0.433725 0.480057 -vt 0.433637 0.480483 -vt 0.433633 0.480083 -vt 0.433725 0.480471 -vt 0.433635 0.480825 -vt 0.433682 0.471605 -vt 0.433633 0.478645 -vt 0.433740 0.478958 -vt 0.433647 0.479062 -vt 0.433633 0.478155 -vt 0.433723 0.478558 -vt 0.433740 0.477794 -vt 0.433647 0.477720 -vt 0.433223 0.471834 -vt 0.432777 0.471706 -vt 0.433220 0.471532 -vt 0.432779 0.471919 -vt 0.432793 0.472353 -vt 0.432560 0.471974 -vt 0.434039 0.472720 -vt 0.434205 0.472779 -vt 0.433821 0.472988 -vt 0.433793 0.473051 -vt 0.433729 0.473037 -vt 0.433318 0.472774 -vt 0.433385 0.473156 -vt 0.433774 0.472719 -vt 0.432402 0.472501 -vt 0.432651 0.472875 -vt 0.432575 0.472962 -vt 0.432482 0.472431 -vt 0.432870 0.472820 -vt 0.433162 0.473118 -vt 0.433220 0.473133 -vt 0.427367 0.432309 -vt 0.394071 0.438476 -vt 0.392948 0.438271 -vt 0.394056 0.438430 -vt 0.432917 0.473089 -vt 0.432953 0.473266 -vt 0.443789 0.494190 -vt 0.443789 0.502203 -vt 0.443789 0.496855 -vt 0.439325 0.500969 -vt 0.439326 0.500449 -vt 0.439524 0.499968 -vt 0.440372 0.499401 -vt 0.440892 0.499401 -vt 0.441372 0.499600 -vt 0.441938 0.500449 -vt 0.441938 0.500969 -vt 0.441739 0.501449 -vt 0.441372 0.501817 -vt 0.440892 0.502016 -vt 0.440372 0.502016 -vt 0.439892 0.501817 -vt 0.441940 0.502203 -vt 0.439068 0.501376 -vt 0.438065 0.500373 -vt 0.437523 0.499063 -vt 0.437523 0.497645 -vt 0.439068 0.495331 -vt 0.440378 0.494789 -vt 0.441796 0.494789 -vt 0.444109 0.496334 -vt 0.444652 0.497645 -vt 0.444652 0.499063 -vt 0.443107 0.501376 -vt 0.441796 0.501919 -vt 0.440378 0.501919 -vt 0.428201 0.436944 -vt 0.428731 0.440116 -vt 0.435091 0.433341 -vt 0.434560 0.433341 -vt 0.424972 0.438878 -vt 0.424972 0.438261 -vt 0.425208 0.437691 -vt 0.425644 0.437254 -vt 0.426214 0.437018 -vt 0.426831 0.437017 -vt 0.427401 0.437254 -vt 0.428073 0.438261 -vt 0.428073 0.438878 -vt 0.427837 0.439448 -vt 0.426831 0.440121 -vt 0.426214 0.440121 -vt 0.425644 0.439885 -vt 0.431720 0.440064 -vt 0.430222 0.440064 -vt 0.431174 0.473284 -vt 0.431518 0.473296 -vt 0.431877 0.473285 -vt 0.433314 0.480049 -vt 0.433724 0.480957 -vt 0.433723 0.478213 -vt 0.433896 0.473160 -vt 0.433387 0.473163 -vt 0.433810 0.473193 -vt 0.433158 0.473124 -vt 0.427570 0.432510 -vt 0.427403 0.432486 -vn 0.9888 -0.0379 0.1445 -vn 0.9888 -0.0380 0.1445 -vn 0.0000 -0.9673 -0.2538 -vn -0.0000 0.9673 0.2538 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.2538 -0.9673 -vn 0.0000 0.2539 -0.9672 -vn 0.0000 0.2538 -0.9672 -vn -0.5729 -0.7664 -0.2906 -vn -0.5728 -0.7664 -0.2906 -vn -0.5752 0.7913 0.2076 -vn -0.5751 0.7913 0.2076 -vn 0.5751 -0.7913 -0.2076 -vn 0.5750 -0.7914 -0.2076 -vn 0.5728 0.7664 0.2906 -vn 0.5729 0.7664 0.2905 -vn 0.5729 0.7664 0.2906 -vn 0.0002 -0.9673 -0.2538 -vn 0.5751 0.7913 0.2076 -vn 0.5730 -0.8102 -0.1231 -vn -0.5729 0.8103 0.1231 -vn -0.5728 0.8104 0.1231 -vn -0.5730 0.8103 0.1231 -vn -0.5747 -0.7916 -0.2076 -vn -0.5751 -0.7913 -0.2076 -vn -0.5752 -0.7912 -0.2076 -vn -0.9888 0.0379 -0.1445 -vn 1.0000 -0.0000 0.0000 -vn 0.9888 -0.0381 0.1445 -vn 0.0000 0.2537 -0.9673 -vn 0.5728 0.7665 0.2905 -vn 0.0004 -0.9673 -0.2538 -vn 0.5728 -0.8104 -0.1231 -vn 0.0000 -0.3055 -0.9522 -vn 0.0000 -0.6466 -0.7628 -vn 0.0000 -0.8893 -0.4573 -vn 0.0000 -0.9966 -0.0821 -vn 0.0000 -0.9966 -0.0822 -vn 0.0000 -0.9522 0.3055 -vn 0.0000 -0.7628 0.6466 -vn 0.0000 -0.4573 0.8893 -vn 0.0000 -0.0821 0.9966 -vn 0.0000 -0.0822 0.9966 -vn 0.0000 0.3055 0.9522 -vn -0.0000 0.6466 0.7628 -vn -0.0000 0.8893 0.4573 -vn 0.0000 0.9966 0.0822 -vn 0.0000 0.9522 -0.3055 -vn 0.0000 0.7628 -0.6466 -vn 0.0000 0.4573 -0.8893 -vn 0.0000 0.0821 -0.9966 -vn -0.3484 -0.8336 -0.4286 -vn -0.3484 -0.6061 -0.7150 -vn -0.3484 -0.0770 0.9342 -vn -0.3484 -0.4286 0.8336 -vn -0.3484 0.8925 -0.2864 -vn -0.3484 0.9342 0.0770 -vn -0.3484 -0.7150 0.6061 -vn -0.3484 -0.8925 0.2864 -vn -0.3484 0.6061 0.7150 -vn -0.3484 0.8336 0.4286 -vn -0.3484 0.0770 -0.9342 -vn -0.3484 0.4286 -0.8336 -vn -0.3484 -0.9342 -0.0770 -vn -0.3484 0.2864 0.8925 -vn -0.3484 -0.2864 -0.8925 -vn -0.3484 0.7150 -0.6061 -vn 0.0000 0.0822 -0.9966 -vn 0.0000 0.9966 0.0821 -vn -0.6241 -0.5052 -0.5960 -vn -0.6241 -0.2387 -0.7440 -vn -0.6241 -0.6948 -0.3573 -vn -0.6241 -0.7787 -0.0642 -vn -0.6241 -0.7440 0.2387 -vn -0.6241 -0.5960 0.5052 -vn -0.6241 -0.3573 0.6948 -vn -0.6241 -0.0642 0.7787 -vn -0.6241 0.2387 0.7440 -vn -0.6241 0.5052 0.5960 -vn -0.6241 0.6948 0.3573 -vn -0.6241 0.7787 0.0642 -vn -0.6241 0.7440 -0.2387 -vn -0.6241 0.5960 -0.5052 -vn -0.6241 0.3573 -0.6948 -vn -0.6241 0.0642 -0.7787 -vn 0.0796 -0.9663 -0.2449 -vn -0.4368 -0.8822 0.1757 -vn -0.4167 -0.8656 -0.2777 -vn 0.0024 -0.9682 0.2502 -vn -0.5022 -0.6510 0.5693 -vn -0.5888 -0.2471 0.7696 -vn -0.0671 -0.6959 0.7150 -vn -0.1192 -0.2607 0.9580 -vn -0.9221 -0.1676 0.3488 -vn -0.9890 -0.0462 -0.1405 -vn -0.7866 -0.5794 0.2134 -vn -0.8283 -0.5091 -0.2341 -vn -0.1430 0.2471 0.9584 -vn -0.1285 0.7167 0.6855 -vn -0.5704 0.2131 0.7933 -vn -0.0785 0.9648 0.2511 -vn -0.5546 0.6137 0.5620 -vn -0.9017 0.4323 0.0058 -vn -0.5504 0.8202 0.1560 -vn -0.8533 0.2825 0.4383 -vn 0.1222 -0.7183 -0.6849 -vn -0.3332 -0.6520 -0.6811 -vn -0.6805 -0.3519 -0.6428 -vn -0.5849 -0.0628 -0.8087 -vn -0.5857 -0.0629 -0.8081 -vn -0.3187 -0.2544 -0.9131 -vn 0.1372 -0.2472 -0.9592 -vn -0.3660 -0.0451 -0.9295 -vn 0.1239 -0.0020 -0.9923 -vn -0.0089 0.9684 -0.2492 -vn 0.0629 0.6931 -0.7181 -vn -0.4503 0.8425 -0.2957 -vn -0.1606 0.4728 -0.8664 -vn -0.4646 0.4111 -0.7843 -vn -0.3855 0.6095 -0.6928 -vn -0.6181 0.3535 -0.7021 -vn -0.7492 0.5116 -0.4207 -vn -0.8065 0.0851 -0.5850 -vn 0.5492 -0.8220 -0.1507 -vn 0.9001 -0.4356 -0.0005 -vn 0.4472 -0.8433 0.2980 -vn 0.9896 0.0410 0.1379 -vn 0.7475 -0.5135 0.4215 -vn 0.8069 -0.0899 0.5838 -vn 0.3823 -0.6123 0.6920 -vn 0.3782 -0.2076 0.9021 -vn 0.4155 0.8643 0.2833 -vn 0.3301 0.6511 0.6834 -vn 0.3166 0.2517 0.9146 -vn 0.6810 0.3481 0.6442 -vn 0.8289 0.5052 0.2404 -vn 0.5531 -0.6157 -0.5612 -vn 0.5672 -0.2151 -0.7950 -vn 0.3851 0.0026 -0.9229 -vn 0.3791 -0.0043 -0.9253 -vn 0.9228 0.1619 -0.3497 -vn 0.5862 0.2426 -0.7730 -vn 0.8531 -0.2859 -0.4364 -vn 0.4351 0.8834 -0.1741 -vn 0.7881 0.5777 -0.2122 -vn 0.7497 0.4130 -0.5171 -vn 0.7386 0.4178 -0.5291 -vn 0.5002 0.6491 -0.5731 -vn 0.6435 0.4514 -0.6182 -vn 0.3427 0.4976 -0.7968 -vn 0.3715 0.2436 -0.8959 -vn -0.6172 0.1654 -0.7692 -vn 0.1100 0.4938 -0.8626 -s 1 -f 1399/2562/1174 1400/2563/1175 1401/2564/1174 -f 1402/2565/1176 1403/2566/1176 1404/2567/1176 -f 1405/2568/1177 1406/2569/1177 1407/2570/1177 -f 1408/2571/1178 1409/2572/1178 1410/2573/1178 -f 1411/2574/1179 1402/2575/1180 1404/2576/1181 -f 1410/2573/1182 1412/2577/1183 1413/2578/1183 -f 1405/2579/1184 1414/2580/1185 1408/2571/1184 -f 1402/2581/1186 1415/2582/1187 1416/2583/1187 -f 1417/2584/1188 1418/2585/1189 1399/2562/1190 -f 1419/2586/1176 1420/2587/1191 1403/2566/1176 -f 1421/2588/1192 1399/2562/1192 1422/2589/1192 -f 1423/2590/1193 1415/2582/1193 1424/2591/1193 -f 1425/2592/1194 1406/2593/1195 1405/2579/1196 -f 1404/2594/1197 1410/2573/1198 1409/2572/1199 -f 1410/2573/1200 1413/2578/1200 1426/2595/1200 -f 1421/2596/1177 1405/2568/1177 1427/2597/1177 -f 1422/2589/1201 1415/2582/1201 1411/2598/1201 -f 1424/2591/1175 1415/2582/1174 1401/2564/1174 -f 1415/2582/1174 1399/2562/1174 1401/2564/1174 -f 1399/2562/1174 1428/2599/1202 1400/2563/1175 -f 1402/2565/1176 1416/2600/1176 1403/2566/1176 -f 1407/2570/1177 1417/2601/1177 1427/2597/1177 -f 1427/2597/1177 1405/2568/1177 1407/2570/1177 -f 1408/2571/1178 1414/2580/1178 1409/2572/1178 -f 1404/2576/1181 1409/2602/1179 1411/2574/1179 -f 1409/2602/1179 1414/2603/1203 1411/2574/1179 -f 1414/2603/1203 1429/2604/1203 1421/2605/1181 -f 1421/2605/1181 1422/2606/1203 1414/2603/1203 -f 1422/2606/1203 1411/2574/1179 1414/2603/1203 -f 1410/2573/1182 1403/2607/1182 1412/2577/1183 -f 1405/2579/1184 1429/2608/1185 1414/2580/1185 -f 1402/2581/1186 1411/2598/1186 1415/2582/1187 -f 1399/2562/1190 1427/2609/1190 1417/2584/1188 -f 1418/2585/1189 1428/2599/1204 1399/2562/1190 -f 1420/2587/1191 1412/2610/1205 1403/2566/1176 -f 1403/2566/1176 1416/2600/1176 1419/2586/1176 -f 1416/2600/1176 1423/2611/1176 1419/2586/1176 -f 1421/2588/1192 1427/2609/1192 1399/2562/1192 -f 1423/2590/1206 1416/2583/1206 1415/2582/1206 -f 1405/2579/1196 1408/2571/1196 1425/2592/1194 -f 1408/2571/1196 1430/2612/1194 1425/2592/1194 -f 1404/2594/1197 1403/2607/1198 1410/2573/1198 -f 1426/2595/1200 1430/2612/1200 1408/2571/1200 -f 1408/2571/1200 1410/2573/1200 1426/2595/1200 -f 1421/2596/1177 1429/2613/1177 1405/2568/1177 -f 1422/2589/1201 1399/2562/1201 1415/2582/1201 -f 1431/2614/1207 1432/2615/1208 1433/2616/1207 -f 1434/2617/1208 1435/2618/1209 1432/2615/1208 -f 1436/2619/1209 1437/2620/1210 1435/2618/1209 -f 1438/2621/1211 1439/2622/1212 1437/2623/1210 -f 1440/2624/1212 1441/2625/1213 1439/2622/1212 -f 1442/2626/1213 1443/2627/1214 1441/2625/1213 -f 1444/2628/1214 1445/2629/1215 1443/2627/1214 -f 1446/2630/1216 1447/2631/1217 1445/2632/1215 -f 1448/2633/1217 1449/2634/1218 1447/2631/1217 -f 1450/2635/1218 1451/2636/1219 1449/2634/1218 -f 1452/2637/1219 1453/2638/1220 1451/2636/1219 -f 1454/2639/1220 1455/2640/1221 1453/2638/1220 -f 1456/2641/1221 1457/2642/1222 1455/2640/1221 -f 1458/2643/1222 1459/2644/1223 1457/2642/1222 -f 1436/2645/1201 1460/2646/1201 1452/2647/1201 -f 1460/2648/1223 1461/2649/1224 1459/2644/1223 -f 1462/2650/1224 1433/2616/1207 1461/2651/1224 -f 1437/2652/1178 1445/2653/1178 1453/2654/1178 -f 1463/2655/1207 1464/2656/1208 1465/2657/1207 -f 1466/2658/1208 1467/2659/1209 1464/2656/1208 -f 1468/2660/1209 1469/2661/1210 1467/2659/1209 -f 1470/2662/1210 1471/2663/1212 1469/2664/1210 -f 1472/2665/1212 1473/2666/1213 1471/2663/1212 -f 1474/2667/1213 1475/2668/1214 1473/2666/1213 -f 1476/2669/1214 1477/2670/1216 1475/2668/1214 -f 1478/2671/1216 1479/2672/1217 1477/2673/1216 -f 1480/2674/1217 1481/2675/1218 1479/2672/1217 -f 1482/2676/1218 1483/2677/1219 1481/2675/1218 -f 1484/2678/1219 1485/2679/1220 1483/2677/1219 -f 1486/2680/1220 1487/2681/1221 1485/2682/1220 -f 1488/2683/1221 1489/2684/1222 1487/2681/1221 -f 1490/2685/1222 1491/2686/1223 1489/2684/1222 -f 1472/2665/1212 1492/2687/1211 1493/2688/1212 -f 1494/2689/1223 1495/2690/1224 1491/2686/1223 -f 1496/2691/1224 1465/2657/1207 1495/2692/1224 -f 1467/2693/1225 1497/2694/1226 1464/2695/1226 -f 1498/2696/1209 1499/2697/1208 1497/2698/1208 -f 1477/2699/1227 1500/2700/1228 1475/2701/1228 -f 1487/2702/1229 1501/2703/1230 1485/2704/1230 -f 1473/2705/1231 1502/2706/1232 1471/2707/1232 -f 1481/2708/1233 1503/2709/1234 1504/2710/1233 -f 1495/2711/1235 1505/2712/1236 1491/2713/1236 -f 1469/2714/1237 1498/2715/1225 1467/2693/1225 -f 1479/2716/1238 1506/2717/1227 1477/2699/1227 -f 1464/2695/1226 1507/2718/1239 1465/2719/1239 -f 1489/2720/1240 1508/2721/1229 1487/2702/1229 -f 1475/2701/1228 1509/2722/1231 1473/2705/1231 -f 1483/2723/1234 1501/2703/1230 1503/2709/1234 -f 1465/2719/1239 1510/2724/1235 1495/2711/1235 -f 1471/2707/1232 1511/2725/1237 1469/2714/1237 -f 1481/2708/1233 1512/2726/1238 1479/2716/1238 -f 1489/2720/1240 1505/2712/1236 1513/2727/1240 -f 1507/2728/1207 1514/2729/1241 1510/2730/1241 -f 1504/2731/1218 1515/2732/1219 1516/2733/1218 -f 1498/2696/1209 1517/2734/1210 1518/2735/1209 -f 1503/2736/1219 1519/2737/1242 1515/2732/1219 -f 1511/2738/1211 1520/2739/1212 1517/2740/1210 -f 1508/2741/1221 1519/2742/1242 1501/2743/1220 -f 1509/2744/1213 1520/2739/1212 1502/2745/1212 -f 1513/2746/1222 1521/2747/1221 1508/2741/1221 -f 1500/2748/1214 1522/2749/1213 1509/2744/1213 -f 1505/2750/1223 1523/2751/1222 1513/2746/1222 -f 1506/2752/1215 1524/2753/1214 1500/2748/1214 -f 1510/2754/1241 1525/2755/1223 1505/2750/1223 -f 1512/2756/1217 1526/2757/1215 1506/2758/1215 -f 1504/2731/1218 1527/2759/1217 1512/2756/1217 -f 1528/2760/1178 1529/2761/1178 1530/2762/1178 -f 1499/2763/1243 1531/2764/1244 1532/2765/1244 -f 1499/2763/1243 1533/2766/1245 1534/2767/1243 -f 1517/2768/1246 1533/2766/1245 1518/2769/1245 -f 1517/2768/1246 1535/2770/1247 1529/2761/1246 -f 1522/2771/1248 1535/2770/1247 1520/2772/1247 -f 1524/2773/1249 1536/2774/1248 1522/2771/1248 -f 1526/2775/1250 1537/2776/1249 1524/2773/1249 -f 1527/2777/1251 1530/2762/1250 1526/2775/1250 -f 1516/2778/1252 1538/2779/1251 1527/2777/1251 -f 1515/2780/1253 1539/2781/1252 1516/2778/1252 -f 1519/2782/1254 1540/2783/1253 1515/2780/1253 -f 1521/2784/1255 1541/2785/1254 1519/2782/1254 -f 1523/2786/1256 1542/2787/1255 1521/2784/1255 -f 1525/2788/1257 1543/2789/1256 1523/2786/1256 -f 1514/2790/1258 1544/2791/1257 1525/2788/1257 -f 1514/2790/1258 1531/2764/1244 1528/2760/1258 -f 1497/2698/1208 1532/2792/1207 1507/2728/1207 -f 1545/2793/1201 1546/2794/1201 1547/2795/1201 -f 1480/2674/1217 1548/2796/1218 1482/2676/1218 -f 1494/2689/1223 1549/2797/1222 1550/2798/1223 -f 1468/2660/1209 1551/2799/1208 1547/2800/1209 -f 1476/2669/1214 1552/2801/1216 1478/2802/1216 -f 1486/2680/1220 1553/2803/1221 1488/2683/1221 -f 1472/2665/1212 1554/2804/1213 1474/2667/1213 -f 1482/2676/1218 1545/2805/1219 1484/2678/1219 -f 1496/2806/1224 1550/2798/1223 1555/2807/1224 -f 1470/2808/1210 1547/2800/1209 1492/2809/1211 -f 1478/2671/1216 1556/2810/1217 1480/2674/1217 -f 1466/2658/1208 1557/2811/1207 1551/2799/1208 -f 1488/2683/1221 1549/2797/1222 1490/2685/1222 -f 1474/2667/1213 1546/2812/1214 1476/2669/1214 -f 1484/2678/1219 1558/2813/1220 1486/2814/1220 -f 1463/2655/1207 1555/2815/1224 1557/2811/1207 -f 1559/2816/1259 1560/2817/1260 1561/2818/1261 -f 1562/2819/1262 1563/2820/1263 1560/2817/1260 -f 1564/2821/1264 1565/2822/1265 1566/2823/1266 -f 1567/2824/1267 1563/2820/1263 1564/2821/1264 -f 1568/2825/1268 1569/2826/1269 1567/2824/1267 -f 1570/2827/1270 1560/2817/1260 1569/2826/1269 -f 1560/2817/1260 1563/2820/1263 1569/2826/1269 -f 1571/2828/1271 1564/2821/1264 1566/2823/1266 -f 1572/2829/1272 1573/2830/1273 1571/2828/1271 -f 1574/2831/1274 1575/2832/1275 1572/2829/1272 -f 1576/2833/1276 1575/2832/1275 1577/2834/1277 -f 1567/2824/1267 1576/2833/1276 1568/2825/1268 -f 1567/2824/1267 1573/2830/1273 1578/2835/1278 -f 1573/2830/1273 1575/2832/1275 1578/2835/1278 -f 1561/2836/1261 1579/2837/1279 1559/2838/1259 -f 1570/2827/1270 1580/2839/1280 1561/2818/1261 -f 1568/2825/1268 1581/2840/1281 1570/2827/1270 -f 1413/2841/1282 1412/2842/1283 1582/2843/1284 -f 1583/2844/1285 1420/2845/1286 1419/2846/1287 -f 1583/2844/1285 1580/2847/1280 1582/2848/1284 -f 1580/2839/1280 1581/2840/1281 1582/2843/1284 -f 1584/2849/1288 1577/2834/1277 1574/2831/1274 -f 1585/2850/1289 1586/2851/1290 1584/2849/1288 -f 1406/2852/1291 1425/2853/1292 1587/2854/1293 -f 1587/2854/1293 1425/2853/1292 1430/2855/1294 -f 1568/2825/1268 1588/2856/1295 1589/2857/1296 -f 1576/2833/1276 1586/2851/1290 1588/2856/1295 -f 1586/2851/1290 1587/2854/1293 1588/2856/1295 -f 1590/2858/1297 1562/2859/1262 1559/2860/1259 -f 1591/2861/1298 1592/2862/1299 1590/2858/1297 -f 1593/2863/1300 1594/2864/1301 1591/2861/1298 -f 1595/2865/1302 1596/2866/1303 1594/2867/1301 -f 1566/2868/1266 1596/2869/1303 1597/2870/1304 -f 1565/2871/1265 1592/2872/1299 1596/2869/1303 -f 1592/2862/1299 1594/2864/1301 1596/2873/1303 -f 1572/2874/1272 1598/2875/1305 1574/2876/1274 -f 1571/2877/1271 1599/2878/1306 1572/2874/1272 -f 1597/2879/1304 1571/2877/1271 1566/2880/1266 -f 1595/2881/1302 1600/2882/1307 1597/2883/1304 -f 1593/2863/1300 1601/2884/1308 1595/2881/1302 -f 1602/2885/1309 1599/2886/1306 1601/2884/1308 -f 1599/2886/1306 1600/2882/1307 1601/2884/1308 -f 1559/2860/1259 1603/2887/1310 1590/2858/1297 -f 1579/2888/1279 1604/2889/1311 1603/2887/1310 -f 1604/2889/1311 1423/2890/1312 1424/2891/1313 -f 1605/2892/1314 1604/2889/1311 1606/2893/1315 -f 1591/2861/1298 1605/2892/1314 1593/2863/1300 -f 1591/2861/1298 1603/2887/1310 1607/2894/1316 -f 1603/2887/1310 1604/2889/1311 1607/2894/1316 -f 1574/2895/1274 1608/2896/1317 1584/2897/1288 -f 1602/2885/1309 1608/2896/1317 1598/2898/1305 -f 1593/2863/1300 1609/2899/1318 1602/2885/1309 -f 1428/2900/1319 1605/2892/1314 1400/2901/1320 -f 1610/2902/1321 1418/2585/1322 1417/2584/1323 -f 1401/2903/1324 1400/2904/1320 1606/2905/1315 -f 1584/2897/1288 1610/2906/1321 1585/2907/1289 -f 1608/2896/1317 1609/2899/1318 1610/2906/1321 -f 1431/2614/1207 1434/2617/1208 1432/2615/1208 -f 1434/2617/1208 1436/2619/1209 1435/2618/1209 -f 1436/2619/1209 1438/2908/1211 1437/2620/1210 -f 1438/2621/1211 1440/2624/1212 1439/2622/1212 -f 1440/2624/1212 1442/2626/1213 1441/2625/1213 -f 1442/2626/1213 1444/2628/1214 1443/2627/1214 -f 1444/2628/1214 1446/2909/1216 1445/2629/1215 -f 1446/2630/1216 1448/2633/1217 1447/2631/1217 -f 1448/2633/1217 1450/2635/1218 1449/2634/1218 -f 1450/2635/1218 1452/2637/1219 1451/2636/1219 -f 1452/2637/1219 1454/2910/1220 1453/2638/1220 -f 1454/2639/1220 1456/2641/1221 1455/2640/1221 -f 1456/2641/1221 1458/2643/1222 1457/2642/1222 -f 1458/2643/1222 1460/2648/1223 1459/2644/1223 -f 1436/2645/1201 1434/2911/1201 1431/2912/1201 -f 1431/2912/1201 1462/2913/1201 1460/2646/1201 -f 1460/2646/1201 1458/2914/1201 1452/2647/1201 -f 1458/2914/1201 1456/2915/1201 1452/2647/1201 -f 1456/2915/1201 1454/2916/1201 1452/2647/1201 -f 1452/2647/1201 1450/2917/1201 1448/2918/1201 -f 1448/2918/1201 1446/2919/1201 1444/2920/1201 -f 1444/2920/1201 1442/2921/1201 1440/2922/1201 -f 1440/2922/1201 1438/2923/1201 1444/2920/1201 -f 1438/2923/1201 1436/2645/1201 1444/2920/1201 -f 1436/2645/1201 1431/2912/1201 1460/2646/1201 -f 1452/2647/1201 1448/2918/1201 1436/2645/1201 -f 1448/2918/1201 1444/2920/1201 1436/2645/1201 -f 1460/2648/1223 1462/2924/1224 1461/2649/1224 -f 1462/2650/1224 1431/2614/1207 1433/2616/1207 -f 1461/2925/1178 1433/2926/1178 1437/2652/1178 -f 1433/2926/1178 1432/2927/1178 1437/2652/1178 -f 1432/2927/1178 1435/2928/1178 1437/2652/1178 -f 1437/2652/1178 1439/2929/1178 1441/2930/1178 -f 1441/2930/1178 1443/2931/1178 1445/2653/1178 -f 1445/2653/1178 1447/2932/1178 1449/2933/1178 -f 1449/2933/1178 1451/2934/1178 1453/2654/1178 -f 1453/2654/1178 1455/2935/1178 1457/2936/1178 -f 1457/2936/1178 1459/2937/1178 1453/2654/1178 -f 1459/2937/1178 1461/2925/1178 1453/2654/1178 -f 1437/2652/1178 1441/2930/1178 1445/2653/1178 -f 1445/2653/1178 1449/2933/1178 1453/2654/1178 -f 1461/2925/1178 1437/2652/1178 1453/2654/1178 -f 1463/2655/1207 1466/2658/1208 1464/2656/1208 -f 1466/2658/1208 1468/2660/1209 1467/2659/1209 -f 1468/2660/1209 1470/2808/1210 1469/2661/1210 -f 1470/2662/1210 1472/2665/1212 1471/2663/1212 -f 1472/2665/1212 1474/2667/1213 1473/2666/1213 -f 1474/2667/1213 1476/2669/1214 1475/2668/1214 -f 1476/2669/1214 1478/2802/1216 1477/2670/1216 -f 1478/2671/1216 1480/2674/1217 1479/2672/1217 -f 1480/2674/1217 1482/2676/1218 1481/2675/1218 -f 1482/2676/1218 1484/2678/1219 1483/2677/1219 -f 1484/2678/1219 1486/2814/1220 1485/2679/1220 -f 1486/2680/1220 1488/2683/1221 1487/2681/1221 -f 1488/2683/1221 1490/2685/1222 1489/2684/1222 -f 1490/2685/1222 1494/2689/1223 1491/2686/1223 -f 1472/2665/1212 1470/2662/1210 1492/2687/1211 -f 1494/2689/1223 1496/2806/1224 1495/2690/1224 -f 1496/2691/1224 1463/2655/1207 1465/2657/1207 -f 1467/2693/1225 1498/2715/1225 1497/2694/1226 -f 1498/2696/1209 1518/2735/1209 1499/2697/1208 -f 1477/2699/1227 1506/2717/1227 1500/2700/1228 -f 1487/2702/1229 1508/2721/1229 1501/2703/1230 -f 1473/2705/1231 1509/2722/1231 1502/2706/1232 -f 1481/2708/1233 1483/2723/1234 1503/2709/1234 -f 1495/2711/1235 1510/2724/1235 1505/2712/1236 -f 1469/2714/1237 1511/2725/1237 1498/2715/1225 -f 1479/2716/1238 1512/2726/1238 1506/2717/1227 -f 1464/2695/1226 1497/2694/1226 1507/2718/1239 -f 1489/2720/1240 1513/2727/1240 1508/2721/1229 -f 1475/2701/1228 1500/2700/1228 1509/2722/1231 -f 1483/2723/1234 1485/2704/1230 1501/2703/1230 -f 1465/2719/1239 1507/2718/1239 1510/2724/1235 -f 1471/2707/1232 1502/2706/1232 1511/2725/1237 -f 1481/2708/1233 1504/2710/1233 1512/2726/1238 -f 1489/2720/1240 1491/2713/1236 1505/2712/1236 -f 1507/2728/1207 1532/2792/1207 1514/2729/1241 -f 1504/2731/1218 1503/2736/1219 1515/2732/1219 -f 1498/2696/1209 1511/2938/1211 1517/2734/1210 -f 1503/2736/1219 1501/2939/1220 1519/2737/1242 -f 1511/2738/1211 1502/2745/1212 1520/2739/1212 -f 1508/2741/1221 1521/2747/1221 1519/2742/1242 -f 1509/2744/1213 1522/2749/1213 1520/2739/1212 -f 1513/2746/1222 1523/2751/1222 1521/2747/1221 -f 1500/2748/1214 1524/2753/1214 1522/2749/1213 -f 1505/2750/1223 1525/2755/1223 1523/2751/1222 -f 1506/2752/1215 1526/2940/1215 1524/2753/1214 -f 1510/2754/1241 1514/2941/1241 1525/2755/1223 -f 1512/2756/1217 1527/2759/1217 1526/2757/1215 -f 1504/2731/1218 1516/2733/1218 1527/2759/1217 -f 1528/2760/1178 1531/2764/1178 1534/2767/1178 -f 1534/2767/1178 1533/2766/1178 1529/2761/1178 -f 1529/2761/1178 1535/2770/1178 1536/2774/1178 -f 1536/2774/1178 1537/2776/1178 1529/2761/1178 -f 1537/2776/1178 1530/2762/1178 1529/2761/1178 -f 1530/2762/1178 1538/2779/1178 1539/2781/1178 -f 1539/2781/1178 1540/2783/1178 1541/2785/1178 -f 1541/2785/1178 1542/2787/1178 1543/2789/1178 -f 1543/2789/1178 1544/2791/1178 1528/2760/1178 -f 1528/2760/1178 1534/2767/1178 1529/2761/1178 -f 1530/2762/1178 1539/2781/1178 1528/2760/1178 -f 1539/2781/1178 1541/2785/1178 1528/2760/1178 -f 1541/2785/1178 1543/2789/1178 1528/2760/1178 -f 1499/2763/1243 1534/2767/1243 1531/2764/1244 -f 1499/2763/1243 1518/2769/1245 1533/2766/1245 -f 1517/2768/1246 1529/2761/1246 1533/2766/1245 -f 1517/2768/1246 1520/2772/1247 1535/2770/1247 -f 1522/2771/1248 1536/2774/1248 1535/2770/1247 -f 1524/2773/1249 1537/2776/1249 1536/2774/1248 -f 1526/2775/1250 1530/2762/1250 1537/2776/1249 -f 1527/2777/1251 1538/2779/1251 1530/2762/1250 -f 1516/2778/1252 1539/2781/1252 1538/2779/1251 -f 1515/2780/1253 1540/2783/1253 1539/2781/1252 -f 1519/2782/1254 1541/2785/1254 1540/2783/1253 -f 1521/2784/1255 1542/2787/1255 1541/2785/1254 -f 1523/2786/1256 1543/2789/1256 1542/2787/1255 -f 1525/2788/1257 1544/2791/1257 1543/2789/1256 -f 1514/2790/1258 1528/2760/1258 1544/2791/1257 -f 1514/2790/1258 1532/2765/1244 1531/2764/1244 -f 1497/2698/1208 1499/2697/1208 1532/2792/1207 -f 1547/2795/1201 1551/2942/1201 1557/2943/1201 -f 1557/2943/1201 1555/2944/1201 1547/2795/1201 -f 1555/2944/1201 1550/2945/1201 1547/2795/1201 -f 1550/2945/1201 1549/2946/1201 1553/2947/1201 -f 1553/2947/1201 1558/2948/1201 1545/2793/1201 -f 1545/2793/1201 1548/2949/1201 1556/2950/1201 -f 1556/2950/1201 1552/2951/1201 1545/2793/1201 -f 1552/2951/1201 1546/2794/1201 1545/2793/1201 -f 1546/2794/1201 1554/2952/1201 1493/2953/1201 -f 1493/2953/1201 1492/2954/1201 1546/2794/1201 -f 1492/2954/1201 1547/2795/1201 1546/2794/1201 -f 1550/2945/1201 1553/2947/1201 1547/2795/1201 -f 1553/2947/1201 1545/2793/1201 1547/2795/1201 -f 1480/2674/1217 1556/2810/1217 1548/2796/1218 -f 1494/2689/1223 1490/2685/1222 1549/2797/1222 -f 1468/2660/1209 1466/2658/1208 1551/2799/1208 -f 1476/2669/1214 1546/2812/1214 1552/2801/1216 -f 1486/2680/1220 1558/2955/1220 1553/2803/1221 -f 1472/2665/1212 1493/2688/1212 1554/2804/1213 -f 1482/2676/1218 1548/2796/1218 1545/2805/1219 -f 1496/2806/1224 1494/2689/1223 1550/2798/1223 -f 1470/2808/1210 1468/2660/1209 1547/2800/1209 -f 1478/2671/1216 1552/2956/1216 1556/2810/1217 -f 1466/2658/1208 1463/2655/1207 1557/2811/1207 -f 1488/2683/1221 1553/2803/1221 1549/2797/1222 -f 1474/2667/1213 1554/2804/1213 1546/2812/1214 -f 1484/2678/1219 1545/2805/1219 1558/2813/1220 -f 1463/2655/1207 1496/2691/1224 1555/2815/1224 -f 1559/2816/1259 1562/2819/1262 1560/2817/1260 -f 1562/2819/1262 1565/2822/1265 1563/2820/1263 -f 1564/2821/1264 1563/2820/1263 1565/2822/1265 -f 1567/2824/1267 1569/2826/1269 1563/2820/1263 -f 1568/2825/1268 1570/2827/1270 1569/2826/1269 -f 1570/2827/1270 1561/2818/1261 1560/2817/1260 -f 1571/2828/1271 1573/2830/1273 1564/2821/1264 -f 1572/2829/1272 1575/2832/1275 1573/2830/1273 -f 1574/2831/1274 1577/2834/1277 1575/2832/1275 -f 1576/2833/1276 1578/2835/1278 1575/2832/1275 -f 1567/2824/1267 1578/2835/1278 1576/2833/1276 -f 1567/2824/1267 1564/2821/1264 1573/2830/1273 -f 1561/2836/1261 1580/2847/1280 1579/2837/1279 -f 1570/2827/1270 1581/2840/1281 1580/2839/1280 -f 1568/2825/1268 1589/2857/1296 1581/2840/1281 -f 1412/2842/1283 1420/2957/1286 1582/2843/1284 -f 1582/2843/1284 1581/2840/1281 1413/2841/1282 -f 1581/2840/1281 1589/2857/1296 1413/2841/1282 -f 1589/2857/1296 1426/2958/1325 1413/2841/1282 -f 1583/2844/1285 1582/2848/1284 1420/2845/1286 -f 1583/2844/1285 1579/2837/1279 1580/2847/1280 -f 1584/2849/1288 1586/2851/1290 1577/2834/1277 -f 1585/2850/1289 1587/2854/1293 1586/2851/1290 -f 1587/2854/1293 1585/2850/1289 1406/2852/1291 -f 1585/2850/1289 1407/2959/1326 1406/2852/1291 -f 1430/2855/1294 1426/2958/1325 1589/2857/1296 -f 1589/2857/1296 1588/2856/1295 1430/2855/1294 -f 1588/2856/1295 1587/2854/1293 1430/2855/1294 -f 1568/2825/1268 1576/2833/1276 1588/2856/1295 -f 1576/2833/1276 1577/2834/1277 1586/2851/1290 -f 1590/2858/1297 1592/2862/1299 1562/2859/1262 -f 1591/2861/1298 1594/2864/1301 1592/2862/1299 -f 1593/2863/1300 1595/2881/1302 1594/2864/1301 -f 1595/2865/1302 1597/2960/1304 1596/2866/1303 -f 1566/2868/1266 1565/2871/1265 1596/2869/1303 -f 1565/2871/1265 1562/2961/1262 1592/2872/1299 -f 1572/2874/1272 1599/2878/1306 1598/2875/1305 -f 1571/2877/1271 1600/2962/1307 1599/2878/1306 -f 1597/2879/1304 1600/2962/1307 1571/2877/1271 -f 1595/2881/1302 1601/2884/1308 1600/2882/1307 -f 1593/2863/1300 1602/2885/1309 1601/2884/1308 -f 1602/2885/1309 1598/2898/1305 1599/2886/1306 -f 1559/2860/1259 1579/2888/1279 1603/2887/1310 -f 1579/2888/1279 1583/2963/1285 1604/2889/1311 -f 1401/2964/1324 1606/2893/1315 1424/2891/1313 -f 1606/2893/1315 1604/2889/1311 1424/2891/1313 -f 1604/2889/1311 1583/2963/1285 1423/2890/1312 -f 1583/2963/1285 1419/2965/1287 1423/2890/1312 -f 1605/2892/1314 1607/2894/1316 1604/2889/1311 -f 1591/2861/1298 1607/2894/1316 1605/2892/1314 -f 1591/2861/1298 1590/2858/1297 1603/2887/1310 -f 1574/2895/1274 1598/2898/1305 1608/2896/1317 -f 1602/2885/1309 1609/2899/1318 1608/2896/1317 -f 1593/2863/1300 1605/2892/1314 1609/2899/1318 -f 1418/2966/1322 1610/2906/1321 1428/2900/1319 -f 1610/2906/1321 1609/2899/1318 1428/2900/1319 -f 1609/2899/1318 1605/2892/1314 1428/2900/1319 -f 1605/2892/1314 1606/2893/1315 1400/2901/1320 -f 1407/2967/1326 1585/2968/1289 1417/2584/1323 -f 1585/2968/1289 1610/2902/1321 1417/2584/1323 -f 1584/2897/1288 1608/2896/1317 1610/2906/1321 diff --git a/src/main/resources/assets/hbm/models/weapons/rem700sat.obj b/src/main/resources/assets/hbm/models/weapons/rem700sat.obj deleted file mode 100644 index 1b5996c9c..000000000 --- a/src/main/resources/assets/hbm/models/weapons/rem700sat.obj +++ /dev/null @@ -1,10780 +0,0 @@ -# Blender v2.79 (sub 0) OBJ File: '' -# www.blender.org -o Bolt -v 0.201323 0.551685 0.202506 -v 0.181795 0.515471 0.326592 -v 0.182256 0.506301 0.321038 -v 0.195708 0.553963 0.035875 -v 0.144291 0.512911 0.192332 -v 0.144291 0.553963 0.035875 -v 0.144291 0.555503 0.203507 -v 0.125425 0.523818 0.324260 -v 0.152229 0.524991 0.319790 -v 0.138677 0.551685 0.202506 -v 0.138677 0.557781 0.036877 -v 0.138677 0.516728 0.193334 -v 0.201323 0.557781 0.036877 -v 0.125278 0.480979 0.314027 -v 0.119165 0.483960 0.318215 -v 0.138677 0.592738 0.046050 -v 0.201323 0.516728 0.193334 -v 0.195708 0.512911 0.192332 -v 0.176149 0.522654 0.328699 -v 0.181215 0.518934 0.328517 -v 0.155329 0.482048 0.309951 -v 0.125608 0.481044 0.313782 -v 0.195708 0.596556 0.047050 -v 0.201323 0.592738 0.046050 -v 0.175984 0.479785 0.318577 -v 0.181405 0.483279 0.320814 -v 0.122403 0.521774 0.323654 -v 0.120209 0.502739 0.316002 -v 0.195708 0.555503 0.203507 -v 0.181596 0.518556 0.328767 -v 0.144291 0.596556 0.047050 -v 0.119530 0.519530 0.325054 -v 1.604822 0.493089 -0.089549 -v 0.545583 0.458975 -0.070610 -v 0.545583 0.493089 -0.089549 -v 1.604822 0.458975 -0.070610 -v 0.545583 0.434706 -0.040059 -v 1.604822 0.434707 -0.040059 -v 0.545583 0.423976 -0.002545 -v 1.604822 0.423976 -0.002545 -v 0.545583 0.428419 0.036220 -v 1.604822 0.428419 0.036220 -v 0.545583 0.447358 0.070333 -v 1.604822 0.447358 0.070333 -v 0.545583 0.477909 0.094602 -v 1.604822 0.477910 0.094601 -v 0.545583 0.515424 0.105332 -v 1.604822 0.515424 0.105332 -v 0.545583 0.554188 0.100889 -v 1.604822 0.554188 0.100889 -v 0.545583 0.588301 0.081951 -v 1.604822 0.588302 0.081950 -v 0.545583 0.612570 0.051398 -v 1.604822 0.612570 0.051398 -v 0.545583 0.623300 0.013885 -v 1.604822 0.623300 0.013885 -v 0.545583 0.618858 -0.024879 -v 1.604822 0.618858 -0.024879 -v 0.545583 0.599918 -0.058993 -v 1.604822 0.599918 -0.058993 -v 0.545583 0.569367 -0.083262 -v 1.604822 0.569367 -0.083262 -v 0.545583 0.531853 -0.093992 -v 1.604822 0.531853 -0.093992 -v 0.302839 0.490034 -0.099071 -v 0.047566 0.455921 -0.080132 -v 0.047566 0.490034 -0.099071 -v 0.302839 0.455921 -0.080132 -v 0.047566 0.431651 -0.049580 -v 0.302839 0.431651 -0.049580 -v 0.047566 0.420921 -0.012067 -v 0.302839 0.420921 -0.012067 -v 0.047566 0.425364 0.026698 -v 0.302839 0.425364 0.026698 -v 0.047566 0.444303 0.060811 -v 0.302839 0.444303 0.060811 -v 0.047566 0.474854 0.085080 -v 0.302839 0.474854 0.085080 -v 0.047566 0.512369 0.095810 -v 0.302839 0.512369 0.095810 -v 0.047566 0.551133 0.091368 -v 0.302839 0.551133 0.091368 -v 0.047566 0.585246 0.072429 -v 0.302839 0.585247 0.072428 -v 0.047566 0.609515 0.041876 -v 0.302839 0.609515 0.041876 -v 0.047566 0.620245 0.004363 -v 0.302839 0.620245 0.004363 -v 0.047566 0.615803 -0.034401 -v 0.302839 0.615803 -0.034401 -v 0.047566 0.596863 -0.068515 -v 0.302839 0.596863 -0.068515 -v 0.047566 0.566312 -0.092784 -v 0.544463 0.420921 -0.012067 -v 0.544463 0.425364 0.026698 -v 0.302839 0.566312 -0.092784 -v 0.047566 0.528798 -0.103514 -v 0.302839 0.528799 -0.103514 -v -0.027258 0.473904 -0.058918 -v -0.027258 0.456384 -0.036863 -v -0.204829 0.473904 -0.058918 -v -0.027258 0.487572 0.060347 -v -0.027258 0.592528 0.002078 -v -0.027258 0.451845 0.018202 -v -0.027258 0.584782 0.029159 -v -0.027258 0.567263 0.051214 -v -0.027258 0.553594 -0.068051 -v -0.027258 0.514654 0.068093 -v -0.027258 0.498530 -0.072590 -v -0.027258 0.589321 -0.025905 -v -0.027258 0.465517 0.042827 -v -0.027258 0.526514 -0.075797 -v -0.027258 0.448638 -0.009782 -v -0.027258 0.542637 0.064886 -v -0.027258 0.575649 -0.050532 -v -0.204829 0.526514 -0.075797 -v -0.204829 0.584782 0.029159 -v -0.204829 0.567263 0.051214 -v -0.204829 0.448638 -0.009782 -v -0.204829 0.456384 -0.036863 -v -0.204829 0.592528 0.002078 -v -0.204829 0.451845 0.018202 -v -0.204829 0.589321 -0.025905 -v -0.204829 0.465517 0.042827 -v -0.204829 0.575649 -0.050532 -v -0.204829 0.487572 0.060347 -v -0.204829 0.553594 -0.068051 -v -0.204829 0.514654 0.068093 -v -0.204829 0.542637 0.064886 -v -0.237407 0.524376 -0.049861 -v -0.237407 0.474574 -0.007645 -v -0.237407 0.516791 0.042156 -v -0.237407 0.506480 -0.047810 -v -0.204829 0.498530 -0.072590 -v -0.237407 0.479528 -0.024963 -v -0.237407 0.490732 -0.039067 -v -0.237407 0.476625 0.010251 -v -0.237407 0.485368 0.025999 -v -0.237407 0.499473 0.037203 -v -0.237407 0.534686 0.040106 -v -0.237407 0.550435 0.031362 -v -0.237407 0.561638 0.017258 -v -0.237407 0.566592 -0.000060 -v -0.237407 0.564541 -0.017955 -v -0.237407 0.555798 -0.033704 -v -0.237407 0.541693 -0.044908 -v 0.544463 0.609515 0.041876 -v 0.544463 0.474855 0.085079 -v 0.544463 0.431652 -0.049581 -v 0.544463 0.585247 0.072428 -v 0.544463 0.596863 -0.068515 -v 0.544463 0.566312 -0.092784 -v 0.544463 0.455921 -0.080132 -v 0.544463 0.512369 0.095810 -v 0.544463 0.615803 -0.034401 -v 0.544463 0.444303 0.060811 -v 0.544463 0.528799 -0.103514 -v 0.544463 0.551133 0.091368 -v 0.544463 0.490034 -0.099071 -v 0.544463 0.620245 0.004363 -v 0.152131 0.433929 0.352829 -v 0.118672 0.440527 0.380211 -v 0.121396 0.440319 0.350736 -v 0.147365 0.433952 0.383317 -v 0.115674 0.451461 0.398845 -v 0.111347 0.476977 0.413212 -v 0.143108 0.449482 0.409785 -v 0.139907 0.476212 0.424854 -v 0.092258 0.481658 0.389262 -v 0.087976 0.489125 0.359001 -v 0.102235 0.454756 0.381983 -v 0.098050 0.460530 0.353255 -v 0.138552 0.507645 0.424783 -v 0.139495 0.534420 0.409225 -v 0.111309 0.507187 0.413215 -v 0.142429 0.549768 0.382623 -v 0.111973 0.526038 0.402262 -v 0.093494 0.518692 0.368254 -v 0.113526 0.540787 0.376644 -v 0.097869 0.510482 0.396354 -v 0.154515 0.449412 0.325538 -v 0.125522 0.455339 0.324851 -v 0.109085 0.469568 0.326624 -v 0.126186 0.474190 0.313897 -v 0.155458 0.476188 0.309979 -v 0.146645 0.549879 0.351446 -v 0.150902 0.534349 0.324978 -v 0.118823 0.540851 0.346902 -v 0.121821 0.529916 0.328267 -v 0.104720 0.525294 0.340995 -v 0.099408 0.497118 0.331483 -v 0.181034 0.442909 0.358809 -v 0.201067 0.465004 0.367200 -v 0.175812 0.443009 0.387945 -v 0.206707 0.494123 0.375689 -v 0.189916 0.458564 0.393853 -v 0.195275 0.486132 0.403207 -v 0.172815 0.453942 0.406580 -v 0.170985 0.479567 0.421285 -v 0.173164 0.543377 0.384717 -v 0.169113 0.528519 0.409996 -v 0.168449 0.509668 0.420950 -v 0.185550 0.514290 0.408223 -v 0.196511 0.523166 0.382198 -v 0.182662 0.457821 0.332586 -v 0.183327 0.476672 0.321632 -v 0.202425 0.501592 0.345428 -v 0.183336 0.506272 0.321478 -v 0.196766 0.473376 0.338493 -v 0.175964 0.543332 0.354637 -v 0.192401 0.529102 0.352864 -v 0.178961 0.532398 0.336002 -vt 0.427829 0.434389 -vt 0.427670 0.432353 -vt 0.427837 0.432383 -vt 0.435567 0.437121 -vt 0.435689 0.435269 -vt 0.435721 0.437118 -vt 0.435874 0.435630 -vt 0.435906 0.437058 -vt 0.435827 0.437004 -vt 0.426488 0.434402 -vt 0.426222 0.437010 -vt 0.425920 0.434469 -vt 0.397706 0.493638 -vt 0.397593 0.493938 -vt 0.396560 0.493906 -vt 0.425623 0.432500 -vt 0.425679 0.432441 -vt 0.426551 0.434394 -vt 0.426790 0.436943 -vt 0.428731 0.436866 -vt 0.428398 0.434328 -vt 0.428460 0.434322 -vt 0.427553 0.432363 -vt 0.427608 0.432344 -vt 0.435632 0.433880 -vt 0.435720 0.433833 -vt 0.428039 0.436940 -vt 0.428100 0.436933 -vt 0.428243 0.432271 -vt 0.428179 0.432257 -vt 0.426284 0.432438 -vt 0.426317 0.432433 -vt 0.426160 0.437017 -vt 0.425969 0.432517 -vt 0.435753 0.433779 -vt 0.435721 0.435628 -vt 0.428669 0.436872 -vt 0.427612 0.432338 -vt 0.435535 0.435272 -vt 0.435754 0.437108 -vt 0.396447 0.493599 -vt 0.396447 0.490821 -vt 0.396560 0.490521 -vt 0.397593 0.490553 -vt 0.397706 0.490859 -vt 0.425859 0.434476 -vt 0.426852 0.436936 -vt 0.427768 0.434396 -vt 0.435721 0.433830 -vt 0.435568 0.433779 -vt 0.426251 0.432411 -vt 0.435906 0.433781 -vt 0.442420 0.494172 -vt 0.442940 0.496836 -vt 0.442420 0.496836 -vt 0.442940 0.494172 -vt 0.443421 0.496843 -vt 0.443421 0.494178 -vt 0.443789 0.496855 -vt 0.445638 0.502203 -vt 0.445157 0.499537 -vt 0.445638 0.499537 -vt 0.445157 0.502203 -vt 0.444637 0.499537 -vt 0.444637 0.502203 -vt 0.444157 0.499537 -vt 0.444157 0.502203 -vt 0.443789 0.499537 -vt 0.441940 0.496866 -vt 0.442420 0.499537 -vt 0.441940 0.499531 -vt 0.442420 0.496872 -vt 0.442940 0.499537 -vt 0.442940 0.496872 -vt 0.443421 0.499531 -vt 0.443421 0.496866 -vt 0.443789 0.499519 -vt 0.443789 0.502203 -vt 0.443308 0.499537 -vt 0.443308 0.502203 -vt 0.442788 0.499537 -vt 0.442788 0.502203 -vt 0.442308 0.499537 -vt 0.439524 0.501449 -vt 0.439892 0.499600 -vt 0.441739 0.499968 -vt 0.442308 0.502203 -vt 0.441940 0.499537 -vt 0.441940 0.494178 -vt 0.441940 0.496843 -vt 0.438065 0.496334 -vt 0.443107 0.495332 -vt 0.444109 0.500373 -vt 0.434814 0.435495 -vt 0.434051 0.436113 -vt 0.434051 0.435495 -vt 0.434814 0.436113 -vt 0.434044 0.436683 -vt 0.434806 0.436683 -vt 0.434030 0.437121 -vt 0.425694 0.442316 -vt 0.426457 0.441746 -vt 0.426457 0.442316 -vt 0.425694 0.441746 -vt 0.426457 0.441128 -vt 0.425694 0.441128 -vt 0.426457 0.440558 -vt 0.425694 0.440558 -vt 0.426457 0.440121 -vt 0.429501 0.440064 -vt 0.428731 0.440634 -vt 0.428739 0.440064 -vt 0.429494 0.440634 -vt 0.428731 0.441251 -vt 0.429493 0.441251 -vt 0.428738 0.441822 -vt 0.429501 0.441822 -vt 0.428752 0.442259 -vt 0.430998 0.440064 -vt 0.430236 0.440634 -vt 0.430236 0.440064 -vt 0.430998 0.440634 -vt 0.430236 0.441251 -vt 0.430998 0.441251 -vt 0.430236 0.441822 -vt 0.424972 0.442316 -vt 0.424972 0.441746 -vt 0.430998 0.441822 -vt 0.430236 0.442258 -vt 0.434806 0.434925 -vt 0.434044 0.434925 -vt 0.431835 0.432613 -vt 0.431407 0.432081 -vt 0.431835 0.431995 -vt 0.428193 0.437259 -vt 0.428720 0.437668 -vt 0.428190 0.437671 -vt 0.429404 0.433620 -vt 0.430064 0.433424 -vt 0.429974 0.433856 -vt 0.429404 0.430988 -vt 0.429337 0.431669 -vt 0.428967 0.431425 -vt 0.430592 0.433856 -vt 0.430921 0.433253 -vt 0.431162 0.433620 -vt 0.428731 0.432613 -vt 0.429167 0.432081 -vt 0.429167 0.432527 -vt 0.431162 0.430989 -vt 0.430510 0.431183 -vt 0.430592 0.430752 -vt 0.431598 0.433183 -vt 0.431407 0.432527 -vt 0.428967 0.433183 -vt 0.429652 0.433253 -vt 0.431236 0.431669 -vt 0.431598 0.431425 -vt 0.429974 0.430752 -vt 0.429652 0.431354 -vt 0.430510 0.433424 -vt 0.428731 0.431995 -vt 0.430921 0.431354 -vt 0.431236 0.432938 -vt 0.429337 0.432938 -vt 0.430064 0.431183 -vt 0.428193 0.438117 -vt 0.428731 0.438525 -vt 0.428201 0.438528 -vt 0.428720 0.439389 -vt 0.428193 0.439797 -vt 0.428190 0.439385 -vt 0.428731 0.436940 -vt 0.428723 0.437256 -vt 0.428723 0.439801 -vt 0.428200 0.440113 -vt 0.434560 0.434925 -vt 0.435091 0.434513 -vt 0.435091 0.434925 -vt 0.434030 0.434513 -vt 0.434560 0.434925 -vt 0.434030 0.434925 -vt 0.434560 0.434068 -vt 0.434560 0.434513 -vt 0.434030 0.434068 -vt 0.434560 0.434513 -vt 0.434560 0.433656 -vt 0.435091 0.434068 -vt 0.434030 0.433656 -vt 0.434560 0.434068 -vt 0.434560 0.433341 -vt 0.435091 0.433656 -vt 0.434030 0.433341 -vt 0.434560 0.433656 -vt 0.428723 0.438943 -vt 0.428200 0.438528 -vt 0.428731 0.438532 -vt 0.428193 0.438940 -vt 0.435557 0.431265 -vt 0.435759 0.432278 -vt 0.434746 0.432480 -vt 0.436270 0.431650 -vt 0.435759 0.431467 -vt 0.436099 0.431238 -vt 0.435868 0.432015 -vt 0.435868 0.431730 -vt 0.436100 0.432507 -vt 0.436270 0.432095 -vt 0.435557 0.432480 -vt 0.435373 0.432993 -vt 0.435784 0.432822 -vt 0.434927 0.432993 -vt 0.435294 0.432589 -vt 0.434515 0.432822 -vt 0.435009 0.432589 -vt 0.434200 0.432507 -vt 0.434030 0.432095 -vt 0.434544 0.432278 -vt 0.434030 0.431650 -vt 0.434435 0.432015 -vt 0.434200 0.431238 -vt 0.434435 0.431730 -vt 0.434515 0.430923 -vt 0.434544 0.431467 -vt 0.434927 0.430752 -vt 0.434746 0.431265 -vt 0.435373 0.430752 -vt 0.435009 0.431156 -vt 0.435784 0.430923 -vt 0.435294 0.431156 -vt 0.428723 0.438113 -vt 0.427837 0.437690 -vt 0.427401 0.439885 -vt 0.425208 0.439449 -vt 0.430215 0.441251 -vt 0.431720 0.441251 -vt 0.431720 0.441822 -vt 0.435535 0.436113 -vt 0.435528 0.436683 -vt 0.424972 0.440121 -vt 0.425694 0.440121 -vt 0.431720 0.440634 -vt 0.424972 0.441128 -vt 0.430222 0.441822 -vt 0.430998 0.442258 -vt 0.431720 0.442258 -vt 0.434792 0.437121 -vt 0.435514 0.437121 -vt 0.430215 0.440634 -vt 0.435535 0.435495 -vt 0.424972 0.440558 -vt 0.430236 0.442259 -vt 0.429514 0.442259 -vt 0.435528 0.434925 -vt 0.430522 0.472568 -vt 0.430684 0.472154 -vt 0.430616 0.472616 -vt 0.430589 0.472090 -vt 0.430896 0.471886 -vt 0.431327 0.471717 -vt 0.430890 0.471710 -vt 0.431341 0.471532 -vt 0.431347 0.472103 -vt 0.431398 0.472594 -vt 0.430910 0.472158 -vt 0.430938 0.472621 -vt 0.431834 0.471602 -vt 0.432219 0.471904 -vt 0.431800 0.471783 -vt 0.432402 0.472355 -vt 0.432072 0.471996 -vt 0.431881 0.472513 -vt 0.432247 0.472429 -vt 0.431814 0.472055 -vt 0.433733 0.479164 -vt 0.433633 0.479486 -vt 0.433639 0.479062 -vt 0.430795 0.473054 -vt 0.431021 0.473058 -vt 0.431229 0.473221 -vt 0.431173 0.473280 -vt 0.431067 0.473267 -vt 0.433641 0.479976 -vt 0.433733 0.480012 -vt 0.433644 0.480057 -vt 0.433722 0.479572 -vt 0.433728 0.479916 -vt 0.432336 0.472843 -vt 0.432035 0.473224 -vt 0.432183 0.472896 -vt 0.431867 0.473213 -vt 0.431834 0.473218 -vt 0.431971 0.473164 -vt 0.431801 0.473191 -vt 0.431926 0.472954 -vt 0.431463 0.473042 -vt 0.434112 0.472248 -vt 0.434110 0.471839 -vt 0.434281 0.472289 -vt 0.433737 0.472247 -vt 0.433948 0.471819 -vt 0.433258 0.472285 -vt 0.433683 0.471818 -vt 0.433319 0.480737 -vt 0.434365 0.480215 -vt 0.434368 0.480700 -vt 0.433725 0.480057 -vt 0.433637 0.480483 -vt 0.433633 0.480083 -vt 0.433725 0.480471 -vt 0.433635 0.480825 -vt 0.433682 0.471605 -vt 0.433633 0.478645 -vt 0.433740 0.478958 -vt 0.433647 0.479062 -vt 0.433633 0.478155 -vt 0.433723 0.478558 -vt 0.433740 0.477794 -vt 0.433647 0.477720 -vt 0.433223 0.471834 -vt 0.432777 0.471706 -vt 0.433220 0.471532 -vt 0.432779 0.471919 -vt 0.432793 0.472353 -vt 0.432560 0.471974 -vt 0.434039 0.472720 -vt 0.434205 0.472779 -vt 0.433821 0.472988 -vt 0.433793 0.473051 -vt 0.433729 0.473037 -vt 0.433318 0.472774 -vt 0.433385 0.473156 -vt 0.433774 0.472719 -vt 0.432402 0.472501 -vt 0.432651 0.472875 -vt 0.432575 0.472962 -vt 0.432482 0.472431 -vt 0.432870 0.472820 -vt 0.433162 0.473118 -vt 0.433220 0.473133 -vt 0.427367 0.432309 -vt 0.394071 0.438476 -vt 0.392948 0.438271 -vt 0.394056 0.438430 -vt 0.432917 0.473089 -vt 0.432953 0.473266 -vt 0.443789 0.494190 -vt 0.443789 0.502203 -vt 0.443789 0.496855 -vt 0.439325 0.500969 -vt 0.439326 0.500449 -vt 0.439524 0.499968 -vt 0.440372 0.499401 -vt 0.440892 0.499401 -vt 0.441372 0.499600 -vt 0.441938 0.500449 -vt 0.441938 0.500969 -vt 0.441739 0.501449 -vt 0.441372 0.501817 -vt 0.440892 0.502016 -vt 0.440372 0.502016 -vt 0.439892 0.501817 -vt 0.441940 0.502203 -vt 0.439068 0.501376 -vt 0.438065 0.500373 -vt 0.437523 0.499063 -vt 0.437523 0.497645 -vt 0.439068 0.495331 -vt 0.440378 0.494789 -vt 0.441796 0.494789 -vt 0.444109 0.496334 -vt 0.444652 0.497645 -vt 0.444652 0.499063 -vt 0.443107 0.501376 -vt 0.441796 0.501919 -vt 0.440378 0.501919 -vt 0.428201 0.436944 -vt 0.428731 0.440116 -vt 0.435091 0.433341 -vt 0.434560 0.433341 -vt 0.424972 0.438878 -vt 0.424972 0.438261 -vt 0.425208 0.437691 -vt 0.425644 0.437254 -vt 0.426214 0.437018 -vt 0.426831 0.437017 -vt 0.427401 0.437254 -vt 0.428073 0.438261 -vt 0.428073 0.438878 -vt 0.427837 0.439448 -vt 0.426831 0.440121 -vt 0.426214 0.440121 -vt 0.425644 0.439885 -vt 0.431720 0.440064 -vt 0.430222 0.440064 -vt 0.431174 0.473284 -vt 0.431518 0.473296 -vt 0.431877 0.473285 -vt 0.433314 0.480049 -vt 0.433724 0.480957 -vt 0.433723 0.478213 -vt 0.433896 0.473160 -vt 0.433387 0.473163 -vt 0.433810 0.473193 -vt 0.433158 0.473124 -vt 0.427570 0.432510 -vt 0.427403 0.432486 -vn 0.9888 -0.0379 0.1445 -vn 0.9888 -0.0380 0.1445 -vn 0.0000 -0.9673 -0.2538 -vn -0.0000 0.9673 0.2538 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.2538 -0.9673 -vn 0.0000 0.2539 -0.9672 -vn 0.0000 0.2538 -0.9672 -vn -0.5729 -0.7664 -0.2906 -vn -0.5728 -0.7664 -0.2906 -vn -0.5752 0.7913 0.2076 -vn -0.5751 0.7913 0.2076 -vn 0.5751 -0.7913 -0.2076 -vn 0.5750 -0.7914 -0.2076 -vn 0.5728 0.7664 0.2906 -vn 0.5729 0.7664 0.2905 -vn 0.5729 0.7664 0.2906 -vn 0.0002 -0.9673 -0.2538 -vn 0.5751 0.7913 0.2076 -vn 0.5730 -0.8102 -0.1231 -vn -0.5729 0.8103 0.1231 -vn -0.5728 0.8104 0.1231 -vn -0.5730 0.8103 0.1231 -vn -0.5747 -0.7916 -0.2076 -vn -0.5751 -0.7913 -0.2076 -vn -0.5752 -0.7912 -0.2076 -vn -0.9888 0.0379 -0.1445 -vn 1.0000 -0.0000 0.0000 -vn 0.9888 -0.0381 0.1445 -vn 0.0000 0.2537 -0.9673 -vn 0.5728 0.7665 0.2905 -vn 0.0004 -0.9673 -0.2538 -vn 0.5728 -0.8104 -0.1231 -vn 0.0000 -0.3055 -0.9522 -vn 0.0000 -0.6466 -0.7628 -vn 0.0000 -0.8893 -0.4573 -vn 0.0000 -0.9966 -0.0821 -vn 0.0000 -0.9966 -0.0822 -vn 0.0000 -0.9522 0.3055 -vn 0.0000 -0.7628 0.6466 -vn 0.0000 -0.4573 0.8893 -vn 0.0000 -0.0821 0.9966 -vn 0.0000 -0.0822 0.9966 -vn 0.0000 0.3055 0.9522 -vn -0.0000 0.6466 0.7628 -vn -0.0000 0.8893 0.4573 -vn 0.0000 0.9966 0.0822 -vn 0.0000 0.9522 -0.3055 -vn 0.0000 0.7628 -0.6466 -vn 0.0000 0.4573 -0.8893 -vn 0.0000 0.0821 -0.9966 -vn -0.3484 -0.8336 -0.4286 -vn -0.3484 -0.6061 -0.7150 -vn -0.3484 -0.0770 0.9342 -vn -0.3484 -0.4286 0.8336 -vn -0.3484 0.8925 -0.2864 -vn -0.3484 0.9342 0.0770 -vn -0.3484 -0.7150 0.6061 -vn -0.3484 -0.8925 0.2864 -vn -0.3484 0.6061 0.7150 -vn -0.3484 0.8336 0.4286 -vn -0.3484 0.0770 -0.9342 -vn -0.3484 0.4286 -0.8336 -vn -0.3484 -0.9342 -0.0770 -vn -0.3484 0.2864 0.8925 -vn -0.3484 -0.2864 -0.8925 -vn -0.3484 0.7150 -0.6061 -vn 0.0000 0.0822 -0.9966 -vn 0.0000 0.9966 0.0821 -vn -0.6241 -0.5052 -0.5960 -vn -0.6241 -0.2387 -0.7440 -vn -0.6241 -0.6948 -0.3573 -vn -0.6241 -0.7787 -0.0642 -vn -0.6241 -0.7440 0.2387 -vn -0.6241 -0.5960 0.5052 -vn -0.6241 -0.3573 0.6948 -vn -0.6241 -0.0642 0.7787 -vn -0.6241 0.2387 0.7440 -vn -0.6241 0.5052 0.5960 -vn -0.6241 0.6948 0.3573 -vn -0.6241 0.7787 0.0642 -vn -0.6241 0.7440 -0.2387 -vn -0.6241 0.5960 -0.5052 -vn -0.6241 0.3573 -0.6948 -vn -0.6241 0.0642 -0.7787 -vn 0.0796 -0.9663 -0.2449 -vn -0.4368 -0.8822 0.1757 -vn -0.4167 -0.8656 -0.2777 -vn 0.0024 -0.9682 0.2502 -vn -0.5022 -0.6510 0.5693 -vn -0.5888 -0.2471 0.7696 -vn -0.0671 -0.6959 0.7150 -vn -0.1192 -0.2607 0.9580 -vn -0.9221 -0.1676 0.3488 -vn -0.9890 -0.0462 -0.1405 -vn -0.7866 -0.5794 0.2134 -vn -0.8283 -0.5091 -0.2341 -vn -0.1430 0.2471 0.9584 -vn -0.1285 0.7167 0.6855 -vn -0.5704 0.2131 0.7933 -vn -0.0785 0.9648 0.2511 -vn -0.5546 0.6137 0.5620 -vn -0.9017 0.4323 0.0058 -vn -0.5504 0.8202 0.1560 -vn -0.8533 0.2825 0.4383 -vn 0.1222 -0.7183 -0.6849 -vn -0.3332 -0.6520 -0.6811 -vn -0.6805 -0.3519 -0.6428 -vn -0.5849 -0.0628 -0.8087 -vn -0.5857 -0.0629 -0.8081 -vn -0.3187 -0.2544 -0.9131 -vn 0.1372 -0.2472 -0.9592 -vn -0.3660 -0.0451 -0.9295 -vn 0.1239 -0.0020 -0.9923 -vn -0.0089 0.9684 -0.2492 -vn 0.0629 0.6931 -0.7181 -vn -0.4503 0.8425 -0.2957 -vn -0.1606 0.4728 -0.8664 -vn -0.4646 0.4111 -0.7843 -vn -0.3855 0.6095 -0.6928 -vn -0.6181 0.3535 -0.7021 -vn -0.7492 0.5116 -0.4207 -vn -0.8065 0.0851 -0.5850 -vn 0.5492 -0.8220 -0.1507 -vn 0.9001 -0.4356 -0.0005 -vn 0.4472 -0.8433 0.2980 -vn 0.9896 0.0410 0.1379 -vn 0.7475 -0.5135 0.4215 -vn 0.8069 -0.0899 0.5838 -vn 0.3823 -0.6123 0.6920 -vn 0.3782 -0.2076 0.9021 -vn 0.4155 0.8643 0.2833 -vn 0.3301 0.6511 0.6834 -vn 0.3166 0.2517 0.9146 -vn 0.6810 0.3481 0.6442 -vn 0.8289 0.5052 0.2404 -vn 0.5531 -0.6157 -0.5612 -vn 0.5672 -0.2151 -0.7950 -vn 0.3851 0.0026 -0.9229 -vn 0.3791 -0.0043 -0.9253 -vn 0.9228 0.1619 -0.3497 -vn 0.5862 0.2426 -0.7730 -vn 0.8531 -0.2859 -0.4364 -vn 0.4351 0.8834 -0.1741 -vn 0.7881 0.5777 -0.2122 -vn 0.7497 0.4130 -0.5171 -vn 0.7386 0.4178 -0.5291 -vn 0.5002 0.6491 -0.5731 -vn 0.6435 0.4514 -0.6182 -vn 0.3427 0.4976 -0.7968 -vn 0.3715 0.2436 -0.8959 -vn -0.6172 0.1654 -0.7692 -vn 0.1100 0.4938 -0.8626 -s 1 -f 1/1/1 2/2/2 3/3/1 -f 4/4/3 5/5/3 6/6/3 -f 7/7/4 8/8/4 9/9/4 -f 10/10/5 11/11/5 12/12/5 -f 13/13/6 4/14/7 6/15/8 -f 12/12/9 14/16/10 15/17/10 -f 7/18/11 16/19/12 10/10/11 -f 4/20/13 17/21/14 18/22/14 -f 19/23/15 20/24/16 1/1/17 -f 21/25/3 22/26/18 5/5/3 -f 23/27/19 1/1/19 24/28/19 -f 25/29/20 17/21/20 26/30/20 -f 27/31/21 8/32/22 7/18/23 -f 6/33/24 12/12/25 11/11/26 -f 12/12/27 15/17/27 28/34/27 -f 23/35/4 7/7/4 29/36/4 -f 24/28/28 17/21/28 13/37/28 -f 26/30/2 17/21/1 3/3/1 -f 17/21/1 1/1/1 3/3/1 -f 1/1/1 30/38/29 2/2/2 -f 4/4/3 18/39/3 5/5/3 -f 9/9/4 19/40/4 29/36/4 -f 29/36/4 7/7/4 9/9/4 -f 10/10/5 16/19/5 11/11/5 -f 6/15/8 11/41/6 13/13/6 -f 11/41/6 16/42/30 13/13/6 -f 16/42/30 31/43/30 23/44/8 -f 23/44/8 24/45/30 16/42/30 -f 24/45/30 13/13/6 16/42/30 -f 12/12/9 5/46/9 14/16/10 -f 7/18/11 31/47/12 16/19/12 -f 4/20/13 13/37/13 17/21/14 -f 1/1/17 29/48/17 19/23/15 -f 20/24/16 30/38/31 1/1/17 -f 22/26/18 14/49/32 5/5/3 -f 5/5/3 18/39/3 21/25/3 -f 18/39/3 25/50/3 21/25/3 -f 23/27/19 29/48/19 1/1/19 -f 25/29/33 18/22/33 17/21/33 -f 7/18/23 10/10/23 27/31/21 -f 10/10/23 32/51/21 27/31/21 -f 6/33/24 5/46/25 12/12/25 -f 28/34/27 32/51/27 10/10/27 -f 10/10/27 12/12/27 28/34/27 -f 23/35/4 31/52/4 7/7/4 -f 24/28/28 1/1/28 17/21/28 -f 33/53/34 34/54/35 35/55/34 -f 36/56/35 37/57/36 34/54/35 -f 38/58/36 39/59/37 37/57/36 -f 40/60/38 41/61/39 39/62/37 -f 42/63/39 43/64/40 41/61/39 -f 44/65/40 45/66/41 43/64/40 -f 46/67/41 47/68/42 45/66/41 -f 48/69/43 49/70/44 47/71/42 -f 50/72/44 51/73/45 49/70/44 -f 52/74/45 53/75/46 51/73/45 -f 54/76/46 55/77/47 53/75/46 -f 56/78/47 57/79/48 55/77/47 -f 58/80/48 59/81/49 57/79/48 -f 60/82/49 61/83/50 59/81/49 -f 38/84/28 62/85/28 54/86/28 -f 62/87/50 63/88/51 61/83/50 -f 64/89/51 35/55/34 63/90/51 -f 39/91/5 47/92/5 55/93/5 -f 65/94/34 66/95/35 67/96/34 -f 68/97/35 69/98/36 66/95/35 -f 70/99/36 71/100/37 69/98/36 -f 72/101/37 73/102/39 71/103/37 -f 74/104/39 75/105/40 73/102/39 -f 76/106/40 77/107/41 75/105/40 -f 78/108/41 79/109/43 77/107/41 -f 80/110/43 81/111/44 79/112/43 -f 82/113/44 83/114/45 81/111/44 -f 84/115/45 85/116/46 83/114/45 -f 86/117/46 87/118/47 85/116/46 -f 88/119/47 89/120/48 87/121/47 -f 90/122/48 91/123/49 89/120/48 -f 92/124/49 93/125/50 91/123/49 -f 74/104/39 94/126/38 95/127/39 -f 96/128/50 97/129/51 93/125/50 -f 98/130/51 67/96/34 97/131/51 -f 69/132/52 99/133/53 66/134/53 -f 100/135/36 101/136/35 99/137/35 -f 79/138/54 102/139/55 77/140/55 -f 89/141/56 103/142/57 87/143/57 -f 75/144/58 104/145/59 73/146/59 -f 83/147/60 105/148/61 106/149/60 -f 97/150/62 107/151/63 93/152/63 -f 71/153/64 100/154/52 69/132/52 -f 81/155/65 108/156/54 79/138/54 -f 66/134/53 109/157/66 67/158/66 -f 91/159/67 110/160/56 89/141/56 -f 77/140/55 111/161/58 75/144/58 -f 85/162/61 103/142/57 105/148/61 -f 67/158/66 112/163/62 97/150/62 -f 73/146/59 113/164/64 71/153/64 -f 83/147/60 114/165/65 81/155/65 -f 91/159/67 107/151/63 115/166/67 -f 109/167/34 116/168/68 112/169/68 -f 106/170/45 117/171/46 118/172/45 -f 100/135/36 119/173/37 120/174/36 -f 105/175/46 121/176/69 117/171/46 -f 113/177/38 122/178/39 119/179/37 -f 110/180/48 121/181/69 103/182/47 -f 111/183/40 122/178/39 104/184/39 -f 115/185/49 123/186/48 110/180/48 -f 102/187/41 124/188/40 111/183/40 -f 107/189/50 125/190/49 115/185/49 -f 108/191/42 126/192/41 102/187/41 -f 112/193/68 127/194/50 107/189/50 -f 114/195/44 128/196/42 108/197/42 -f 106/170/45 129/198/44 114/195/44 -f 130/199/5 131/200/5 132/201/5 -f 101/202/70 133/203/71 134/204/71 -f 101/202/70 135/205/72 136/206/70 -f 119/207/73 135/205/72 120/208/72 -f 119/207/73 137/209/74 131/200/73 -f 124/210/75 137/209/74 122/211/74 -f 126/212/76 138/213/75 124/210/75 -f 128/214/77 139/215/76 126/212/76 -f 129/216/78 132/201/77 128/214/77 -f 118/217/79 140/218/78 129/216/78 -f 117/219/80 141/220/79 118/217/79 -f 121/221/81 142/222/80 117/219/80 -f 123/223/82 143/224/81 121/221/81 -f 125/225/83 144/226/82 123/223/82 -f 127/227/84 145/228/83 125/225/83 -f 116/229/85 146/230/84 127/227/84 -f 116/229/85 133/203/71 130/199/85 -f 99/137/35 134/231/34 109/167/34 -f 147/232/28 148/233/28 149/234/28 -f 82/113/44 150/235/45 84/115/45 -f 96/128/50 151/236/49 152/237/50 -f 70/99/36 153/238/35 149/239/36 -f 78/108/41 154/240/43 80/241/43 -f 88/119/47 155/242/48 90/122/48 -f 74/104/39 156/243/40 76/106/40 -f 84/115/45 147/244/46 86/117/46 -f 98/245/51 152/237/50 157/246/51 -f 72/247/37 149/239/36 94/248/38 -f 80/110/43 158/249/44 82/113/44 -f 68/97/35 159/250/34 153/238/35 -f 90/122/48 151/236/49 92/124/49 -f 76/106/40 148/251/41 78/108/41 -f 86/117/46 160/252/47 88/253/47 -f 65/94/34 157/254/51 159/250/34 -f 161/255/86 162/256/87 163/257/88 -f 164/258/89 165/259/90 162/256/87 -f 166/260/91 167/261/92 168/262/93 -f 169/263/94 165/259/90 166/260/91 -f 170/264/95 171/265/96 169/263/94 -f 172/266/97 162/256/87 171/265/96 -f 162/256/87 165/259/90 171/265/96 -f 173/267/98 166/260/91 168/262/93 -f 174/268/99 175/269/100 173/267/98 -f 176/270/101 177/271/102 174/268/99 -f 178/272/103 177/271/102 179/273/104 -f 169/263/94 178/272/103 170/264/95 -f 169/263/94 175/269/100 180/274/105 -f 175/269/100 177/271/102 180/274/105 -f 163/275/88 181/276/106 161/277/86 -f 172/266/97 182/278/107 163/257/88 -f 170/264/95 183/279/108 172/266/97 -f 15/280/109 14/281/110 184/282/111 -f 185/283/112 22/284/113 21/285/114 -f 185/283/112 182/286/107 184/287/111 -f 182/278/107 183/279/108 184/282/111 -f 186/288/115 179/273/104 176/270/101 -f 187/289/116 188/290/117 186/288/115 -f 8/291/118 27/292/119 189/293/120 -f 189/293/120 27/292/119 32/294/121 -f 170/264/95 190/295/122 191/296/123 -f 178/272/103 188/290/117 190/295/122 -f 188/290/117 189/293/120 190/295/122 -f 192/297/124 164/298/89 161/299/86 -f 193/300/125 194/301/126 192/297/124 -f 195/302/127 196/303/128 193/300/125 -f 197/304/129 198/305/130 196/306/128 -f 168/307/93 198/308/130 199/309/131 -f 167/310/92 194/311/126 198/308/130 -f 194/301/126 196/303/128 198/312/130 -f 174/313/99 200/314/132 176/315/101 -f 173/316/98 201/317/133 174/313/99 -f 199/318/131 173/316/98 168/319/93 -f 197/320/129 202/321/134 199/322/131 -f 195/302/127 203/323/135 197/320/129 -f 204/324/136 201/325/133 203/323/135 -f 201/325/133 202/321/134 203/323/135 -f 161/299/86 205/326/137 192/297/124 -f 181/327/106 206/328/138 205/326/137 -f 206/328/138 25/329/139 26/330/140 -f 207/331/141 206/328/138 208/332/142 -f 193/300/125 207/331/141 195/302/127 -f 193/300/125 205/326/137 209/333/143 -f 205/326/137 206/328/138 209/333/143 -f 176/334/101 210/335/144 186/336/115 -f 204/324/136 210/335/144 200/337/132 -f 195/302/127 211/338/145 204/324/136 -f 30/339/146 207/331/141 2/340/147 -f 212/341/148 20/24/149 19/23/150 -f 3/342/151 2/343/147 208/344/142 -f 186/336/115 212/345/148 187/346/116 -f 210/335/144 211/338/145 212/345/148 -f 33/53/34 36/56/35 34/54/35 -f 36/56/35 38/58/36 37/57/36 -f 38/58/36 40/347/38 39/59/37 -f 40/60/38 42/63/39 41/61/39 -f 42/63/39 44/65/40 43/64/40 -f 44/65/40 46/67/41 45/66/41 -f 46/67/41 48/348/43 47/68/42 -f 48/69/43 50/72/44 49/70/44 -f 50/72/44 52/74/45 51/73/45 -f 52/74/45 54/76/46 53/75/46 -f 54/76/46 56/349/47 55/77/47 -f 56/78/47 58/80/48 57/79/48 -f 58/80/48 60/82/49 59/81/49 -f 60/82/49 62/87/50 61/83/50 -f 38/84/28 36/350/28 33/351/28 -f 33/351/28 64/352/28 62/85/28 -f 62/85/28 60/353/28 54/86/28 -f 60/353/28 58/354/28 54/86/28 -f 58/354/28 56/355/28 54/86/28 -f 54/86/28 52/356/28 50/357/28 -f 50/357/28 48/358/28 46/359/28 -f 46/359/28 44/360/28 42/361/28 -f 42/361/28 40/362/28 46/359/28 -f 40/362/28 38/84/28 46/359/28 -f 38/84/28 33/351/28 62/85/28 -f 54/86/28 50/357/28 38/84/28 -f 50/357/28 46/359/28 38/84/28 -f 62/87/50 64/363/51 63/88/51 -f 64/89/51 33/53/34 35/55/34 -f 63/364/5 35/365/5 39/91/5 -f 35/365/5 34/366/5 39/91/5 -f 34/366/5 37/367/5 39/91/5 -f 39/91/5 41/368/5 43/369/5 -f 43/369/5 45/370/5 47/92/5 -f 47/92/5 49/371/5 51/372/5 -f 51/372/5 53/373/5 55/93/5 -f 55/93/5 57/374/5 59/375/5 -f 59/375/5 61/376/5 55/93/5 -f 61/376/5 63/364/5 55/93/5 -f 39/91/5 43/369/5 47/92/5 -f 47/92/5 51/372/5 55/93/5 -f 63/364/5 39/91/5 55/93/5 -f 65/94/34 68/97/35 66/95/35 -f 68/97/35 70/99/36 69/98/36 -f 70/99/36 72/247/37 71/100/37 -f 72/101/37 74/104/39 73/102/39 -f 74/104/39 76/106/40 75/105/40 -f 76/106/40 78/108/41 77/107/41 -f 78/108/41 80/241/43 79/109/43 -f 80/110/43 82/113/44 81/111/44 -f 82/113/44 84/115/45 83/114/45 -f 84/115/45 86/117/46 85/116/46 -f 86/117/46 88/253/47 87/118/47 -f 88/119/47 90/122/48 89/120/48 -f 90/122/48 92/124/49 91/123/49 -f 92/124/49 96/128/50 93/125/50 -f 74/104/39 72/101/37 94/126/38 -f 96/128/50 98/245/51 97/129/51 -f 98/130/51 65/94/34 67/96/34 -f 69/132/52 100/154/52 99/133/53 -f 100/135/36 120/174/36 101/136/35 -f 79/138/54 108/156/54 102/139/55 -f 89/141/56 110/160/56 103/142/57 -f 75/144/58 111/161/58 104/145/59 -f 83/147/60 85/162/61 105/148/61 -f 97/150/62 112/163/62 107/151/63 -f 71/153/64 113/164/64 100/154/52 -f 81/155/65 114/165/65 108/156/54 -f 66/134/53 99/133/53 109/157/66 -f 91/159/67 115/166/67 110/160/56 -f 77/140/55 102/139/55 111/161/58 -f 85/162/61 87/143/57 103/142/57 -f 67/158/66 109/157/66 112/163/62 -f 73/146/59 104/145/59 113/164/64 -f 83/147/60 106/149/60 114/165/65 -f 91/159/67 93/152/63 107/151/63 -f 109/167/34 134/231/34 116/168/68 -f 106/170/45 105/175/46 117/171/46 -f 100/135/36 113/377/38 119/173/37 -f 105/175/46 103/378/47 121/176/69 -f 113/177/38 104/184/39 122/178/39 -f 110/180/48 123/186/48 121/181/69 -f 111/183/40 124/188/40 122/178/39 -f 115/185/49 125/190/49 123/186/48 -f 102/187/41 126/192/41 124/188/40 -f 107/189/50 127/194/50 125/190/49 -f 108/191/42 128/379/42 126/192/41 -f 112/193/68 116/380/68 127/194/50 -f 114/195/44 129/198/44 128/196/42 -f 106/170/45 118/172/45 129/198/44 -f 130/199/5 133/203/5 136/206/5 -f 136/206/5 135/205/5 131/200/5 -f 131/200/5 137/209/5 138/213/5 -f 138/213/5 139/215/5 131/200/5 -f 139/215/5 132/201/5 131/200/5 -f 132/201/5 140/218/5 141/220/5 -f 141/220/5 142/222/5 143/224/5 -f 143/224/5 144/226/5 145/228/5 -f 145/228/5 146/230/5 130/199/5 -f 130/199/5 136/206/5 131/200/5 -f 132/201/5 141/220/5 130/199/5 -f 141/220/5 143/224/5 130/199/5 -f 143/224/5 145/228/5 130/199/5 -f 101/202/70 136/206/70 133/203/71 -f 101/202/70 120/208/72 135/205/72 -f 119/207/73 131/200/73 135/205/72 -f 119/207/73 122/211/74 137/209/74 -f 124/210/75 138/213/75 137/209/74 -f 126/212/76 139/215/76 138/213/75 -f 128/214/77 132/201/77 139/215/76 -f 129/216/78 140/218/78 132/201/77 -f 118/217/79 141/220/79 140/218/78 -f 117/219/80 142/222/80 141/220/79 -f 121/221/81 143/224/81 142/222/80 -f 123/223/82 144/226/82 143/224/81 -f 125/225/83 145/228/83 144/226/82 -f 127/227/84 146/230/84 145/228/83 -f 116/229/85 130/199/85 146/230/84 -f 116/229/85 134/204/71 133/203/71 -f 99/137/35 101/136/35 134/231/34 -f 149/234/28 153/381/28 159/382/28 -f 159/382/28 157/383/28 149/234/28 -f 157/383/28 152/384/28 149/234/28 -f 152/384/28 151/385/28 155/386/28 -f 155/386/28 160/387/28 147/232/28 -f 147/232/28 150/388/28 158/389/28 -f 158/389/28 154/390/28 147/232/28 -f 154/390/28 148/233/28 147/232/28 -f 148/233/28 156/391/28 95/392/28 -f 95/392/28 94/393/28 148/233/28 -f 94/393/28 149/234/28 148/233/28 -f 152/384/28 155/386/28 149/234/28 -f 155/386/28 147/232/28 149/234/28 -f 82/113/44 158/249/44 150/235/45 -f 96/128/50 92/124/49 151/236/49 -f 70/99/36 68/97/35 153/238/35 -f 78/108/41 148/251/41 154/240/43 -f 88/119/47 160/394/47 155/242/48 -f 74/104/39 95/127/39 156/243/40 -f 84/115/45 150/235/45 147/244/46 -f 98/245/51 96/128/50 152/237/50 -f 72/247/37 70/99/36 149/239/36 -f 80/110/43 154/395/43 158/249/44 -f 68/97/35 65/94/34 159/250/34 -f 90/122/48 155/242/48 151/236/49 -f 76/106/40 156/243/40 148/251/41 -f 86/117/46 147/244/46 160/252/47 -f 65/94/34 98/130/51 157/254/51 -f 161/255/86 164/258/89 162/256/87 -f 164/258/89 167/261/92 165/259/90 -f 166/260/91 165/259/90 167/261/92 -f 169/263/94 171/265/96 165/259/90 -f 170/264/95 172/266/97 171/265/96 -f 172/266/97 163/257/88 162/256/87 -f 173/267/98 175/269/100 166/260/91 -f 174/268/99 177/271/102 175/269/100 -f 176/270/101 179/273/104 177/271/102 -f 178/272/103 180/274/105 177/271/102 -f 169/263/94 180/274/105 178/272/103 -f 169/263/94 166/260/91 175/269/100 -f 163/275/88 182/286/107 181/276/106 -f 172/266/97 183/279/108 182/278/107 -f 170/264/95 191/296/123 183/279/108 -f 14/281/110 22/396/113 184/282/111 -f 184/282/111 183/279/108 15/280/109 -f 183/279/108 191/296/123 15/280/109 -f 191/296/123 28/397/152 15/280/109 -f 185/283/112 184/287/111 22/284/113 -f 185/283/112 181/276/106 182/286/107 -f 186/288/115 188/290/117 179/273/104 -f 187/289/116 189/293/120 188/290/117 -f 189/293/120 187/289/116 8/291/118 -f 187/289/116 9/398/153 8/291/118 -f 32/294/121 28/397/152 191/296/123 -f 191/296/123 190/295/122 32/294/121 -f 190/295/122 189/293/120 32/294/121 -f 170/264/95 178/272/103 190/295/122 -f 178/272/103 179/273/104 188/290/117 -f 192/297/124 194/301/126 164/298/89 -f 193/300/125 196/303/128 194/301/126 -f 195/302/127 197/320/129 196/303/128 -f 197/304/129 199/399/131 198/305/130 -f 168/307/93 167/310/92 198/308/130 -f 167/310/92 164/400/89 194/311/126 -f 174/313/99 201/317/133 200/314/132 -f 173/316/98 202/401/134 201/317/133 -f 199/318/131 202/401/134 173/316/98 -f 197/320/129 203/323/135 202/321/134 -f 195/302/127 204/324/136 203/323/135 -f 204/324/136 200/337/132 201/325/133 -f 161/299/86 181/327/106 205/326/137 -f 181/327/106 185/402/112 206/328/138 -f 3/403/151 208/332/142 26/330/140 -f 208/332/142 206/328/138 26/330/140 -f 206/328/138 185/402/112 25/329/139 -f 185/402/112 21/404/114 25/329/139 -f 207/331/141 209/333/143 206/328/138 -f 193/300/125 209/333/143 207/331/141 -f 193/300/125 192/297/124 205/326/137 -f 176/334/101 200/337/132 210/335/144 -f 204/324/136 211/338/145 210/335/144 -f 195/302/127 207/331/141 211/338/145 -f 20/405/149 212/345/148 30/339/146 -f 212/345/148 211/338/145 30/339/146 -f 211/338/145 207/331/141 30/339/146 -f 207/331/141 208/332/142 2/340/147 -f 9/406/153 187/407/116 19/23/150 -f 187/407/116 212/341/148 19/23/150 -f 186/336/115 210/335/144 212/345/148 -o Gun -v 1.542686 0.536664 0.128050 -v 2.032973 0.527107 0.129951 -v 1.572429 0.570874 0.121245 -v 0.242440 0.527107 0.129951 -v 0.624969 0.536664 0.128050 -v 0.595269 0.570874 0.121245 -v 2.032973 0.613450 0.092797 -v 1.589708 0.613450 0.092797 -v 1.581365 0.581205 0.114342 -v 0.208236 0.570874 0.121245 -v 0.586290 0.581205 0.114342 -v 2.032973 0.641898 0.050221 -v 1.586911 0.641898 0.050221 -v 1.588440 0.635420 0.059916 -v 2.032973 0.651888 -0.000001 -v 1.559888 0.651888 -0.000001 -v 1.581365 0.646666 0.026252 -v 0.586290 0.646666 0.026252 -v 0.590092 0.647935 0.019872 -v 0.208236 0.651888 -0.000001 -v 1.542686 0.648341 -0.017833 -v 1.548530 0.649814 -0.010427 -v 0.208236 0.641898 -0.050222 -v 0.634031 0.647321 -0.022960 -v 0.682855 0.643216 -0.043598 -v 0.208236 0.613450 -0.092798 -v 0.751137 0.640598 -0.052168 -v 1.416518 0.640598 -0.052168 -v 2.032973 0.570874 0.121245 -v 2.032973 0.613450 -0.092798 -v 0.208236 0.570874 -0.121246 -v 0.242440 0.527107 -0.129952 -v 0.208236 0.525554 -0.130261 -v 0.208236 0.525554 0.130260 -v 0.751137 0.521354 0.037743 -v 0.586290 0.607302 0.054403 -v 0.580453 0.641898 0.050221 -v 0.579016 0.635421 0.059915 -v 1.484800 0.507048 0.082789 -v 1.416518 0.496450 0.129951 -v 1.484800 0.506901 0.129951 -v 0.682855 0.507048 0.082789 -v 0.751137 0.496450 0.129951 -v 0.751137 0.496615 0.080698 -v 1.416518 0.496615 0.080698 -v 0.624969 0.562172 0.045593 -v 0.586290 0.581230 0.097495 -v 0.577951 0.613450 0.092797 -v 1.542686 0.536761 0.088692 -v 0.208236 0.641898 0.050221 -v 0.208236 0.613450 0.092797 -v 1.581365 0.581230 0.097495 -v 1.542686 0.562172 0.045593 -v 1.581365 0.607302 0.054403 -v 0.682855 0.506901 0.129951 -v 0.624969 0.536761 0.088692 -v 1.524162 0.527107 0.129951 -v 1.416518 0.521354 0.037743 -v 1.484800 0.531985 0.039761 -v 1.484800 0.643216 -0.043598 -v 1.495362 0.644409 -0.037599 -v 0.682855 0.531985 0.039761 -v 0.643578 0.527107 0.129951 -v 0.605908 0.651888 -0.000001 -v 2.032973 0.641898 -0.050222 -v 1.429795 0.641746 -0.050450 -v 0.695552 0.642789 -0.045745 -v 0.730994 0.641898 -0.050222 -v 0.624969 0.648341 -0.017833 -v 2.032973 0.527107 -0.129952 -v 2.032973 0.570874 -0.121246 -v 3.923568 0.173161 -0.104975 -v 4.274432 0.173161 0.104975 -v 4.274432 0.173161 -0.104975 -v 4.274432 0.122839 -0.070316 -v 4.274432 0.148841 -0.112850 -v 3.923568 0.122839 0.070316 -v 3.923568 0.148841 0.112850 -v 3.923568 0.173161 0.104975 -v 4.274432 0.112839 0.070316 -v 4.274432 0.122839 0.070316 -v 3.923568 0.148841 -0.112850 -v 3.923568 0.122839 -0.070316 -v 4.274432 0.148841 0.112850 -v 4.274432 0.112839 -0.070316 -v 3.923568 0.112839 0.070316 -v 3.923568 0.112839 -0.070316 -v 4.357992 0.022277 -0.141656 -v 3.842007 -0.056277 -0.141656 -v 3.842007 0.022277 -0.141656 -v 4.357992 -0.140561 0.076770 -v 3.842007 -0.093770 0.123561 -v 3.842007 -0.140561 0.076770 -v 3.842007 -0.056277 0.141656 -v 4.357992 0.022277 0.141656 -v 3.842007 0.022277 0.141656 -v 4.357992 0.059770 0.123561 -v 3.842007 0.106562 0.076770 -v 3.842007 0.059770 0.123561 -v 4.357992 0.124656 0.008485 -v 3.842007 0.124656 -0.008485 -v 3.842007 0.124656 0.008485 -v 4.357992 0.106562 -0.076770 -v 3.842007 0.059770 -0.123561 -v 3.842007 0.106562 -0.076770 -v 4.357992 -0.158656 -0.008485 -v 3.842007 -0.158656 0.008485 -v 3.842007 -0.158656 -0.008485 -v 4.357992 0.088529 -0.044954 -v 4.357992 0.024954 -0.108529 -v 4.357992 0.059770 -0.123561 -v 4.357992 -0.128529 -0.044954 -v 4.357992 -0.128529 0.044954 -v 4.357992 -0.093770 -0.123561 -v 3.842007 -0.140561 -0.076770 -v 3.842007 -0.093770 -0.123561 -v 4.357992 -0.056277 -0.141656 -v 4.357992 -0.140561 -0.076770 -v 4.357992 -0.158656 0.008485 -v 4.357992 -0.056277 0.141656 -v 4.357992 -0.093770 0.123561 -v 4.357992 0.106562 0.076770 -v 4.357992 0.124656 -0.008485 -v 4.342529 -0.128529 -0.044954 -v 4.357992 -0.064954 -0.108529 -v 4.342529 -0.064954 -0.108529 -v 4.342529 -0.128529 0.044954 -v 4.342529 -0.064954 0.108529 -v 4.342529 0.024954 0.108529 -v 4.357992 -0.064954 0.108529 -v 4.342529 0.088529 0.044954 -v 4.357992 0.024954 0.108529 -v 4.342529 0.088529 -0.044954 -v 4.357992 0.088529 0.044954 -v 4.342529 0.024954 -0.108529 -v 3.795808 -0.020000 -0.111160 -v 3.844192 -0.098602 -0.078602 -v 3.795808 -0.098602 -0.078602 -v 3.844192 -0.131160 -0.000000 -v 3.795808 -0.131160 -0.000000 -v 3.795808 -0.098602 0.078602 -v 3.844192 -0.098602 0.078602 -v 3.795808 -0.020000 0.111160 -v 3.844192 -0.020000 0.111160 -v 3.795808 0.058602 0.078602 -v 3.844192 0.058602 0.078602 -v 3.795808 0.091160 0.000000 -v 3.844192 0.058602 -0.078602 -v 3.795808 0.058602 -0.078602 -v 3.844192 -0.020000 -0.111160 -v 3.844192 0.091160 0.000000 -v 0.815029 1.061122 0.015450 -v 0.750696 1.047468 0.066397 -v 0.815029 1.047469 0.066402 -v 1.425217 0.826415 -0.015471 -v 1.367870 0.826415 0.015468 -v 1.367870 0.826415 -0.015468 -v 0.750696 1.061122 -0.015440 -v 0.815029 1.061122 -0.015450 -v 1.705151 0.814804 0.166187 -v 2.022768 0.777557 0.129055 -v 2.028157 0.814712 0.166211 -v 1.367870 0.840065 0.066411 -v 1.425217 0.877356 0.103704 -v 1.367870 0.877358 0.103704 -v 0.815029 0.826415 -0.015450 -v 0.750696 0.840069 -0.066396 -v 0.815029 0.840067 -0.066402 -v 1.466498 0.821848 -0.020052 -v 1.666120 0.768275 0.073775 -v 1.466498 0.821848 0.020052 -v 0.815029 0.959218 0.117354 -v 0.750696 0.928329 0.117354 -v 0.815029 0.928318 0.117354 -v 1.367870 0.959236 -0.117353 -v 1.425217 0.928297 -0.117353 -v 1.367870 0.928300 -0.117353 -v 1.466498 0.963821 -0.121920 -v 1.666120 0.869993 -0.175493 -v 1.466498 0.923716 -0.121920 -v 1.425217 1.061122 -0.015471 -v 1.367870 1.047472 -0.066410 -v 1.367870 1.061122 -0.015468 -v 0.706856 0.872214 0.108854 -v 0.524825 0.781371 0.125141 -v 0.706856 0.834915 0.071554 -v 0.492694 1.072697 0.166177 -v 0.211983 1.109974 0.129037 -v 0.211983 1.072805 0.166206 -v 0.211983 1.109974 -0.129036 -v 0.211983 1.065149 -0.154271 -v 0.211983 1.098041 -0.121379 -v 0.211983 0.814732 0.166206 -v 0.211983 0.822391 0.154271 -v 0.211983 0.789499 0.121379 -v 1.466498 1.065689 0.020052 -v 1.666120 1.119261 -0.073775 -v 1.466498 1.065689 -0.020052 -v 0.706794 0.821244 0.020620 -v 0.524870 0.767747 -0.074234 -v 0.706794 0.821244 -0.020620 -v 1.466498 0.963821 0.121921 -v 1.666120 0.869993 0.175493 -v 1.666120 1.017543 0.175493 -v 0.706794 0.964389 -0.122524 -v 0.524870 0.869534 -0.176021 -v 0.524870 1.018002 -0.176021 -v 0.706794 0.964389 0.122524 -v 0.524870 0.869534 0.176021 -v 0.706794 0.923148 0.122524 -v 0.706794 1.066292 -0.020620 -v 0.524870 1.119790 0.074234 -v 0.706794 1.066292 0.020620 -v 0.211983 0.865506 -0.179811 -v 0.492694 0.814840 -0.166177 -v 0.211983 0.814732 -0.166206 -v 0.706856 0.872214 -0.108853 -v 0.524825 0.818627 -0.162398 -v 0.492694 1.072697 -0.166177 -v 0.492694 1.109945 -0.128929 -v 0.706856 0.834915 -0.071554 -v 0.524825 0.781371 -0.125141 -v 1.425217 0.928297 0.117354 -v 1.367870 0.928300 0.117354 -v 0.211983 1.022030 0.179811 -v 0.211983 1.022030 -0.179811 -v 0.492694 1.021815 -0.179811 -v 0.750696 0.877372 -0.103699 -v 0.815029 0.928318 -0.117353 -v 0.815029 0.877366 -0.103701 -v 1.466442 0.835510 -0.070971 -v 1.666120 0.768275 -0.073775 -v 0.750696 1.010165 0.103700 -v 0.815029 1.010170 0.103701 -v 1.466442 0.872797 0.108258 -v 1.466498 0.923716 0.121921 -v 1.466442 1.052026 -0.070971 -v 1.666173 1.105647 -0.124648 -v 1.705151 1.109955 0.128965 -v 2.065596 1.072835 0.166214 -v 2.070984 1.109983 0.129069 -v 1.666120 1.017543 -0.175493 -v 1.466442 1.014740 -0.108258 -v 1.666173 1.068416 -0.161879 -v 1.705151 0.777582 0.128965 -v 2.020796 0.763957 0.078298 -v 1.425217 1.010181 -0.103704 -v 1.367870 1.010179 -0.103703 -v 1.425217 0.959239 -0.117353 -v 0.492694 0.777591 0.128929 -v 0.211983 0.763957 0.078262 -v 0.492694 0.763957 0.078047 -v 1.705151 1.072733 0.166187 -v 2.058236 1.022087 0.179811 -v 1.705151 0.865650 0.179811 -v 2.035518 0.865462 0.179811 -v 2.020796 0.763957 -0.078298 -v 1.705151 0.777582 -0.128965 -v 2.022768 0.777557 -0.129055 -v 0.211983 1.123579 -0.078262 -v 0.492694 1.123579 -0.078046 -v 0.211983 0.777562 -0.129036 -v 1.705151 1.072733 -0.166187 -v 2.065596 1.072835 -0.166214 -v 2.058696 1.025259 -0.178961 -v 2.028157 0.814712 -0.166211 -v 1.705151 0.865650 -0.179811 -v 2.035518 0.865462 -0.179811 -v 1.705151 1.109955 -0.128965 -v 2.070984 1.109983 -0.129069 -v 0.706856 1.052622 0.071554 -v 1.705151 0.814804 -0.166187 -v 2.072907 1.123243 0.079582 -v 1.466442 1.014740 0.108258 -v 1.666173 1.068416 0.161879 -v 1.466442 1.052026 0.070972 -v 1.666173 1.105647 0.124648 -v 1.666120 1.119261 0.073775 -v 1.705151 1.021887 -0.179811 -v 1.705151 1.123579 0.078119 -v 2.072956 1.123579 -0.078327 -v 1.705151 1.123579 -0.078118 -v 1.705151 0.763957 -0.078118 -v 1.705151 0.763957 0.078119 -v 1.466442 0.872797 -0.108258 -v 1.666173 0.781889 -0.124648 -v 1.466442 0.835510 0.070972 -v 1.666173 0.781889 0.124648 -v 1.705151 1.021887 0.179811 -v 0.706856 1.015322 -0.108853 -v 0.524825 1.068909 -0.162398 -v 0.706856 1.052622 -0.071554 -v 0.524825 1.106166 -0.125141 -v 0.524870 1.119790 -0.074234 -v 0.706856 1.015322 0.108854 -v 0.524870 1.018002 0.176021 -v 0.524825 1.106166 0.125141 -v 0.211983 1.123579 0.078262 -v 0.492694 1.123579 0.078047 -v 0.492694 0.865722 0.179811 -v 0.211983 0.865506 0.179811 -v 0.492694 1.109945 0.128929 -v 0.524870 0.767747 0.074234 -v 0.492694 0.865722 -0.179811 -v 0.492694 0.763957 -0.078046 -v 0.211983 0.763957 -0.078262 -v 0.492694 0.814840 0.166177 -v 0.719143 0.837492 -0.068975 -v 0.719112 0.823829 -0.018029 -v 0.735189 0.839378 -0.067087 -v 0.735181 0.825722 -0.016133 -v 0.750696 0.826415 -0.015440 -v 0.735189 0.876681 -0.104390 -v 0.706794 0.923148 -0.122524 -v 0.719143 0.874793 -0.106276 -v 0.719112 0.925739 -0.119939 -v 0.735181 0.927635 -0.118046 -v 0.719143 1.050045 -0.068975 -v 0.719112 1.063707 -0.018029 -v 0.735189 1.048158 -0.067087 -v 0.735181 1.061814 -0.016133 -v 0.750696 1.047468 -0.066396 -v 0.719143 1.012743 -0.106276 -v 0.735189 1.010856 -0.104390 -v 0.750696 1.010165 -0.103699 -v 0.719112 0.961798 -0.119939 -v 0.735181 0.959901 -0.118046 -v 0.750696 0.959208 -0.117353 -v 0.719143 0.837492 0.068975 -v 0.719112 0.823829 0.018030 -v 0.735189 0.839378 0.067087 -v 0.735181 0.825722 0.016133 -v 0.750696 0.840069 0.066397 -v 0.719143 0.874793 0.106277 -v 0.735189 0.876681 0.104390 -v 0.750696 0.877372 0.103700 -v 0.719112 0.925739 0.119939 -v 0.735181 0.927635 0.118046 -v 0.719143 1.050045 0.068975 -v 0.719112 1.063707 0.018030 -v 0.735189 1.048158 0.067087 -v 0.735181 1.061814 0.016133 -v 0.750696 1.061122 0.015440 -v 0.719143 1.012743 0.106277 -v 0.735189 1.010855 0.104390 -v 0.719112 0.961798 0.119939 -v 0.735181 0.959901 0.118046 -v 0.750696 0.826415 0.015440 -v 0.750696 0.928329 -0.117353 -v 1.454710 0.837787 -0.068692 -v 1.454738 0.824131 -0.017762 -v 1.439621 0.839454 -0.067023 -v 1.439628 0.825803 -0.016085 -v 1.425217 0.840064 -0.066412 -v 1.454710 0.875076 -0.105981 -v 1.439621 0.876745 -0.104314 -v 1.425217 0.877356 -0.103704 -v 1.454738 0.926006 -0.119637 -v 1.439628 0.927683 -0.117965 -v 1.454710 1.049749 -0.068692 -v 1.454738 1.063405 -0.017762 -v 1.439621 1.048082 -0.067023 -v 1.439628 1.061734 -0.016085 -v 1.425217 1.047472 -0.066412 -v 1.439621 1.010792 -0.104314 -v 1.454710 1.012460 -0.105981 -v 1.454738 0.961530 -0.119637 -v 1.439628 0.959854 -0.117965 -v 1.454710 0.837787 0.068692 -v 1.454738 0.824131 0.017762 -v 1.439621 0.839454 0.067024 -v 1.439628 0.825803 0.016086 -v 1.425217 0.840064 0.066413 -v 1.425217 0.826415 0.015471 -v 1.439621 0.876745 0.104314 -v 1.454710 0.875076 0.105981 -v 1.454738 0.926006 0.119637 -v 1.439628 0.927683 0.117966 -v 1.454710 1.049749 0.068692 -v 1.454738 1.063405 0.017762 -v 1.439621 1.048082 0.067024 -v 1.439628 1.061734 0.016086 -v 1.425217 1.047472 0.066413 -v 1.454710 1.012460 0.105981 -v 1.439621 1.010792 0.104314 -v 1.425217 1.010181 0.103704 -v 1.454738 0.961530 0.119637 -v 1.439628 0.959854 0.117966 -v 1.425217 0.959239 0.117354 -v 1.425217 1.061122 0.015471 -v 1.691532 0.778159 0.128384 -v 1.691525 0.764536 0.077532 -v 1.677265 0.779736 0.126804 -v 1.677239 0.766116 0.075942 -v 1.691532 0.815384 0.165609 -v 1.677265 0.816964 0.164032 -v 1.691525 0.866237 0.179233 -v 1.677239 0.867826 0.177652 -v 1.666173 0.819120 0.161879 -v 1.691532 1.109377 0.128384 -v 1.691525 1.123001 0.077532 -v 1.677265 1.107800 0.126804 -v 1.677239 1.121420 0.075942 -v 1.691532 1.072152 0.165609 -v 1.677265 1.070572 0.164032 -v 1.691525 1.021300 0.179233 -v 1.677239 1.019710 0.177652 -v 1.691532 0.815384 -0.165609 -v 1.691525 0.866237 -0.179232 -v 1.677265 0.816964 -0.164032 -v 1.677239 0.867826 -0.177652 -v 1.666173 0.819120 -0.161879 -v 1.691532 0.778159 -0.128384 -v 1.677265 0.779736 -0.126804 -v 1.691525 0.764536 -0.077532 -v 1.677239 0.766116 -0.075942 -v 1.691532 1.072152 -0.165609 -v 1.691525 1.021300 -0.179232 -v 1.677265 1.070572 -0.164032 -v 1.677239 1.019710 -0.177652 -v 1.691532 1.109377 -0.128384 -v 1.677265 1.107800 -0.126804 -v 1.691525 1.123001 -0.077532 -v 1.677239 1.121420 -0.075942 -v 0.504059 0.815350 0.165670 -v 0.504065 0.866238 0.179303 -v 0.515819 0.816736 0.164287 -v 0.515842 0.867634 0.177916 -v 0.524825 0.818627 0.162398 -v 0.504059 0.778098 0.128419 -v 0.515819 0.779482 0.127032 -v 0.504065 0.764465 0.077530 -v 0.515842 0.765852 0.076135 -v 0.504059 0.815350 -0.165670 -v 0.504065 0.866238 -0.179303 -v 0.515819 0.816736 -0.164287 -v 0.515842 0.867634 -0.177916 -v 0.492694 0.777591 -0.128929 -v 0.504059 0.778098 -0.128418 -v 0.515819 0.779482 -0.127032 -v 0.504065 0.764465 -0.077530 -v 0.515842 0.765852 -0.076135 -v 0.504059 1.109438 -0.128418 -v 0.504065 1.123071 -0.077530 -v 0.515819 1.108055 -0.127032 -v 0.515842 1.121684 -0.076135 -v 0.504059 1.072187 -0.165670 -v 0.515819 1.070800 -0.164287 -v 0.504065 1.021299 -0.179303 -v 0.515842 1.019903 -0.177916 -v 0.504059 1.109438 0.128419 -v 0.504065 1.123071 0.077530 -v 0.515819 1.108055 0.127032 -v 0.515842 1.121684 0.076135 -v 0.504059 1.072187 0.165670 -v 0.515819 1.070800 0.164287 -v 0.492694 1.021815 0.179811 -v 0.504065 1.021299 0.179303 -v 0.515842 1.019903 0.177916 -v 0.524825 1.068909 0.162398 -v 0.815029 0.826415 0.015450 -v 0.894212 0.815182 0.016937 -v 0.900884 0.840066 0.066407 -v 0.894212 0.830140 0.072761 -v 0.815029 0.959218 -0.117353 -v 0.900884 1.010175 -0.103702 -v 0.894212 0.960705 -0.128586 -v 0.894212 1.016530 -0.113628 -v 0.815029 1.047469 -0.066402 -v 0.900884 1.047471 -0.066407 -v 0.894212 1.057396 -0.072761 -v 0.900884 0.840066 -0.066407 -v 1.278231 0.877359 -0.103703 -v 1.278231 0.840065 -0.066409 -v 0.821701 0.871009 -0.113627 -v 0.821701 0.830141 -0.072759 -v 0.900884 1.047471 0.066407 -v 1.278231 1.010177 0.103703 -v 1.278231 1.047471 0.066409 -v 0.821701 1.016528 0.113627 -v 0.821701 1.057395 0.072760 -v 0.900884 1.010175 0.103703 -v 1.278231 0.959232 0.117354 -v 0.821701 0.960701 0.128586 -v 0.900884 0.877361 -0.103702 -v 1.278231 0.928304 -0.117353 -v 0.821701 0.926835 -0.128586 -v 0.900884 0.877361 0.103703 -v 0.894212 0.926831 0.128586 -v 0.894212 0.871007 0.113628 -v 0.894212 1.072354 -0.016937 -v 0.894212 0.926831 -0.128586 -v 0.900884 0.959229 -0.117353 -v 0.900884 0.928307 -0.117353 -v 0.900884 0.928307 0.117354 -v 1.278231 0.928304 0.117354 -v 0.821701 0.926835 0.128586 -v 1.278231 0.826415 -0.015464 -v 0.821701 0.815182 -0.016933 -v 0.815029 0.840067 0.066402 -v 0.900884 1.061122 -0.015461 -v 1.278231 1.061122 0.015464 -v 1.278231 1.061122 -0.015464 -v 0.821701 1.072354 0.016933 -v 0.821701 1.072354 -0.016933 -v 0.900884 0.826415 -0.015461 -v 0.894212 0.815182 -0.016937 -v 1.367870 1.047472 0.066411 -v 1.285282 1.072354 0.016946 -v 1.285282 1.057397 0.072766 -v 1.367870 1.061122 0.015468 -v 1.285282 1.072354 -0.016946 -v 1.367870 0.840065 -0.066410 -v 1.285282 0.815182 -0.016946 -v 1.285282 0.830139 -0.072766 -v 1.285282 0.926823 0.128586 -v 1.367870 0.877358 -0.103703 -v 1.285282 0.926823 -0.128586 -v 1.285282 0.871002 -0.113629 -v 1.367870 1.010179 0.103704 -v 1.285282 0.960714 0.128586 -v 1.285282 1.016534 0.113629 -v 1.278231 0.826415 0.015464 -v 0.900884 0.826415 0.015461 -v 1.360818 0.815182 0.016947 -v 1.360818 0.830139 0.072767 -v 1.278231 0.959232 -0.117353 -v 1.360818 0.960715 -0.128586 -v 1.360818 1.016535 -0.113629 -v 1.278231 1.047471 -0.066409 -v 1.360818 1.057397 -0.072766 -v 1.360818 0.926821 0.128586 -v 1.360818 0.871002 0.113629 -v 1.360818 1.072354 -0.016947 -v 1.360818 0.926821 -0.128586 -v 1.278231 0.840065 0.066409 -v 1.360818 0.815182 -0.016947 -v 0.821700 0.733891 -0.084391 -v 0.821700 0.718932 -0.016933 -v 1.285282 0.830139 0.072766 -v 1.278231 0.877359 0.103703 -v 1.285282 0.871002 0.113629 -v 1.285282 0.960714 -0.128586 -v 1.285282 1.057397 -0.072766 -v 1.285282 1.016534 -0.113629 -v 1.278231 1.010177 -0.103703 -v 1.285282 0.815182 0.016946 -v 0.894212 0.733890 0.084393 -v 0.894212 0.718932 0.016937 -v 1.360818 0.830139 -0.072766 -v 1.360818 0.871002 -0.113629 -v 1.360818 1.057397 0.072767 -v 1.360818 1.016535 0.113629 -v 1.360818 0.960715 0.128586 -v 1.367870 0.959236 0.117354 -v 0.894212 0.733890 -0.084393 -v 0.894212 0.830140 -0.072761 -v 1.360818 1.072354 0.016947 -v 0.894212 1.072354 0.016937 -v 0.900884 1.061122 0.015461 -v 0.894212 1.057396 0.072761 -v 0.821700 0.733891 0.084391 -v 0.821701 0.830141 0.072760 -v 0.815029 0.877366 0.103701 -v 0.821701 0.871009 0.113627 -v 0.821701 0.815182 0.016933 -v 0.900884 0.959229 0.117354 -v 0.894212 0.960705 0.128586 -v 0.821701 1.057395 -0.072759 -v 0.894212 0.871007 -0.113628 -v 0.894212 1.016530 0.113628 -v 0.821701 1.016528 -0.113627 -v 0.815029 1.010170 -0.103701 -v 0.821701 0.960701 -0.128586 -v 1.285282 0.733889 -0.084398 -v 1.285282 0.718932 -0.016946 -v 1.360818 0.718932 0.016947 -v 1.285282 0.718932 0.016946 -v 1.360818 0.733889 0.084399 -v 1.285282 0.715593 0.117639 -v 1.360817 0.715593 0.117640 -v 1.360818 0.718932 -0.016947 -v 1.285282 0.700636 -0.041022 -v 1.360817 0.700636 -0.041023 -v 0.894212 0.718932 -0.016937 -v 0.821700 0.718932 0.016933 -v 0.821699 0.700636 -0.041004 -v 0.894211 0.700636 -0.041009 -v 0.821699 0.700636 0.041004 -v 1.285282 0.733889 0.084399 -v 1.360818 0.733889 -0.084399 -v 1.360817 0.675592 0.093483 -v 1.360817 0.715593 -0.117640 -v 1.285282 0.715593 -0.117639 -v 0.894211 0.660636 0.041009 -v 0.821699 0.660636 0.041004 -v 1.285282 0.700636 0.041022 -v 1.360817 0.700636 0.041024 -v 1.360817 0.675592 -0.093483 -v 1.285281 0.675593 -0.093482 -v 0.894211 0.700636 0.041009 -v 0.821699 0.715594 0.117630 -v 0.894211 0.715594 0.117633 -v 1.360817 0.660636 0.041024 -v 1.285281 0.660636 0.041022 -v 0.821699 0.715594 -0.117630 -v 0.894211 0.715594 -0.117633 -v 1.360817 0.660636 -0.041023 -v 1.285281 0.675593 0.093483 -v 0.821699 0.675594 0.093476 -v 0.894211 0.660636 -0.041009 -v 0.821699 0.675594 -0.093475 -v 0.894211 0.675594 -0.093478 -v 0.894211 0.675594 0.093478 -v 1.285281 0.660636 -0.041022 -v 0.821699 0.660636 -0.041004 -v 0.366310 0.867322 0.166310 -v 0.211983 1.020218 0.166310 -v 0.366310 1.020218 0.166310 -v 0.366310 0.867322 -0.166310 -v 0.366310 0.777460 -0.076448 -v 0.366310 1.110080 -0.076448 -v 0.211983 1.110080 0.076448 -v 0.211983 1.110080 -0.076448 -v 0.366310 1.020218 -0.166310 -v 0.211983 0.867322 -0.166310 -v 0.366310 0.789499 -0.121379 -v 0.211983 0.777460 -0.076448 -v 0.211983 0.822391 -0.154271 -v 0.211983 0.789499 -0.121379 -v 0.366310 0.822391 -0.154271 -v 0.366310 1.098041 -0.121379 -v 0.366310 1.065149 -0.154271 -v 0.211983 1.020218 -0.166310 -v 0.366310 0.789499 0.121379 -v 0.211983 0.777460 0.076448 -v 0.366310 0.822391 0.154271 -v 0.211983 0.867322 0.166310 -v 0.366310 1.110080 0.076448 -v 0.211983 1.098041 0.121379 -v 0.366310 1.098041 0.121379 -v 0.211983 1.065149 0.154271 -v 0.366310 1.065149 0.154271 -v 0.366310 0.777460 0.076448 -v 1.893690 1.020218 0.166310 -v 2.035788 0.867322 0.166310 -v 1.893690 0.867322 0.166310 -v 1.893690 1.110080 -0.076448 -v 2.070998 1.110080 0.076448 -v 1.893690 1.110080 0.076448 -v 1.893690 0.777460 0.076448 -v 1.893690 1.020218 -0.166310 -v 2.035788 0.867322 -0.166310 -v 2.057965 1.020218 -0.166310 -v 1.893690 0.789499 -0.121379 -v 2.022754 0.777460 -0.076448 -v 2.024501 0.789499 -0.121379 -v 1.893690 0.822391 -0.154271 -v 2.029271 0.822391 -0.154271 -v 1.893690 0.867322 -0.166310 -v 2.069252 1.098041 -0.121379 -v 2.070998 1.110080 -0.076448 -v 1.893690 1.098041 -0.121379 -v 2.064481 1.065149 -0.154271 -v 1.893690 1.065149 -0.154271 -v 2.022754 0.777460 0.076448 -v 1.893690 0.789499 0.121379 -v 2.024501 0.789499 0.121379 -v 1.893690 0.822391 0.154271 -v 2.029271 0.822391 0.154271 -v 2.069252 1.098041 0.121379 -v 1.893690 1.098041 0.121379 -v 2.064481 1.065149 0.154271 -v 1.893690 1.065149 0.154271 -v 2.057965 1.020218 0.166310 -v 1.893690 0.777460 -0.076448 -v 1.060000 1.123561 -0.061804 -v 1.103702 1.036439 -0.043702 -v 1.060000 1.036439 -0.061804 -v 1.103702 1.123561 -0.043702 -v 1.121805 1.036439 0.000000 -v 1.121805 1.123561 0.000000 -v 1.103702 1.036439 0.043702 -v 1.103702 1.123561 0.043702 -v 1.060000 1.036439 0.061804 -v 1.060000 1.123561 0.061804 -v 1.016298 1.036439 0.043702 -v 1.016298 1.123561 0.043702 -v 0.998196 1.036439 0.000000 -v 0.998196 1.123561 0.000000 -v 1.016298 1.036439 -0.043702 -v 1.016298 1.123561 -0.043702 -v 1.060000 0.878196 -0.183561 -v 1.103702 0.896298 -0.096439 -v 1.060000 0.878196 -0.096439 -v 1.103702 0.896298 -0.183561 -v 1.121805 0.940000 -0.096439 -v 1.121805 0.940000 -0.183561 -v 1.103702 0.983703 -0.096439 -v 1.103702 0.983703 -0.183561 -v 1.060000 1.001805 -0.096439 -v 1.060000 1.001805 -0.183561 -v 1.016298 0.983703 -0.096439 -v 0.998196 0.940000 -0.183561 -v 0.998196 0.940000 -0.096439 -v 1.016298 0.896298 -0.096439 -v 1.016298 0.896298 -0.183561 -v 0.750696 0.959208 0.117354 -v 0.211983 1.072805 -0.166206 -v 0.211983 0.777562 0.129037 -v 2.058236 1.022087 -0.179811 -v 2.072956 1.123579 0.078328 -v 1.016298 0.983703 -0.183561 -v -1.683887 0.506113 0.200239 -v -2.316113 0.320083 0.200239 -v -1.683887 0.257122 0.194927 -v -1.683887 0.112867 0.106002 -v -1.683887 0.150170 -0.085942 -v -1.683887 0.153084 0.092121 -v -2.316113 0.506113 -0.200239 -v -1.683887 0.320083 -0.200239 -v -2.316113 0.257122 -0.194927 -v -2.316113 0.112867 -0.106002 -v -2.316113 0.150170 0.085942 -v -2.316113 0.153084 -0.092121 -v -2.316113 0.506113 0.200239 -v -1.683887 0.506113 0.174019 -v -2.316113 0.506113 0.174019 -v -1.683887 0.506113 -0.200239 -v -2.316113 0.506113 -0.174019 -v -1.683887 0.506113 -0.174019 -v -1.683887 0.120344 -0.115699 -v -1.683887 0.103887 -0.063292 -v -1.683887 0.167209 -0.160128 -v -2.316113 0.167209 -0.160128 -v -1.683887 0.237348 -0.189815 -v -2.316113 0.167209 0.160128 -v -2.316113 0.109513 0.098891 -v -1.683887 0.167209 0.160128 -v -2.316113 0.237348 0.189815 -v -1.683887 0.279562 0.170620 -v -2.316113 0.284325 -0.170922 -v -1.683887 0.200310 -0.139160 -v -1.683887 0.274570 -0.169075 -v -2.316113 0.200310 -0.139160 -v -2.316113 0.200310 0.139160 -v -1.683887 0.200310 0.139160 -v -0.345186 0.484262 0.250657 -v -0.346014 0.470348 0.264611 -v -0.343463 0.428369 0.259385 -v -0.509758 0.480571 0.262706 -v -0.509758 0.487496 0.196605 -v -0.509758 0.416778 0.196605 -v -0.344777 0.485335 0.196605 -v -0.347914 0.419364 0.251529 -v -0.509758 0.433342 0.266154 -v -0.509758 0.418071 0.251052 -v -0.351124 0.433797 0.265477 -v -0.345609 0.418405 0.196605 -v -0.345186 0.420013 -0.250728 -v -0.346014 0.433927 -0.264682 -v -0.343463 0.475905 -0.259456 -v -0.509758 0.423704 -0.262777 -v -0.509758 0.416778 -0.196677 -v -0.509758 0.487496 -0.196677 -v -0.344777 0.418940 -0.196677 -v -0.347914 0.484910 -0.251600 -v -0.509758 0.470933 -0.266225 -v -0.509758 0.486204 -0.251123 -v -0.351124 0.470478 -0.265548 -v -0.345609 0.485869 -0.196677 -v -0.376775 0.444820 -0.256556 -v -1.885225 0.433361 -0.249639 -v -1.885225 0.464116 -0.256119 -v -0.376775 0.425227 -0.230000 -v -1.885225 0.427179 -0.216881 -v -0.376775 0.446709 -0.202303 -v -1.885225 0.453000 -0.202226 -v -1.885225 0.478551 -0.215063 -v -0.376775 0.478551 -0.244937 -v -0.376775 0.444820 -0.256556 -v -1.885225 0.433361 -0.249639 -v -1.885225 0.464116 -0.256119 -v -0.376775 0.425227 -0.230000 -v -1.885225 0.427179 -0.216881 -v -0.376775 0.446709 -0.202303 -v -1.885225 0.453000 -0.202226 -v -1.885225 0.478551 -0.215063 -v -0.376775 0.478551 -0.244937 -v -0.376775 0.441884 0.203881 -v -1.885225 0.427449 0.215064 -v -1.885225 0.461180 0.203444 -v -0.376775 0.427449 0.244936 -v -1.885225 0.433361 0.249639 -v -1.885225 0.459291 0.257697 -v -0.376775 0.478821 0.243119 -v -1.885225 0.480773 0.230000 -v -0.376775 0.472639 0.210361 -v -1.907711 0.484215 -0.251229 -v -1.907843 0.473486 -0.262334 -v -1.908062 0.420417 -0.251542 -v -1.743224 0.480571 -0.262777 -v -1.743224 0.487496 -0.196677 -v -1.743224 0.416778 -0.196677 -v -1.908205 0.485335 -0.196677 -v -1.743224 0.433342 -0.266225 -v -1.743224 0.418071 -0.251123 -v -1.904793 0.452817 -0.267568 -v -1.907372 0.418405 -0.196677 -v -1.907795 0.420013 0.250657 -v -1.906968 0.433927 0.264611 -v -1.908057 0.484177 0.250616 -v -1.743224 0.423704 0.262706 -v -1.743224 0.416778 0.196605 -v -1.743224 0.487496 0.196605 -v -1.908205 0.418940 0.196605 -v -1.743224 0.485517 0.252557 -v -1.906887 0.470787 0.264387 -v -1.743224 0.469688 0.266315 -v -2.222195 0.425334 0.188927 -v -2.239805 0.425334 -0.188927 -v -2.203334 0.444195 -0.188927 -v -2.258666 0.444195 0.188927 -v -2.258773 0.453000 -0.188927 -v -2.244337 0.478789 -0.188927 -v -2.239805 0.480666 0.188927 -v -2.211361 0.472639 -0.188927 -v -2.203334 0.461805 0.188927 -v -1.805211 0.439663 0.188927 -v -1.839805 0.425334 -0.188927 -v -1.803334 0.444195 -0.188927 -v -1.858666 0.444195 0.188927 -v -1.858666 0.461805 -0.188927 -v -1.839805 0.480666 0.188927 -v -1.822195 0.480666 -0.188927 -v -1.831000 0.425227 0.188927 -v -1.811361 0.472639 0.188927 -v -2.448920 0.253000 -0.122227 -v -2.093081 0.233361 -0.130361 -v -2.093081 0.261180 -0.123444 -v -2.448920 0.227179 -0.136881 -v -2.093081 0.227179 -0.163119 -v -2.448920 0.233361 -0.169639 -v -2.093081 0.259291 -0.177697 -v -2.448920 0.278821 -0.163119 -v -2.093081 0.280773 -0.150000 -v -2.448920 0.272639 -0.130361 -v -2.448920 0.399291 -0.122303 -v -2.093081 0.367449 -0.135064 -v -2.093081 0.393000 -0.122227 -v -2.448920 0.367449 -0.164936 -v -2.093081 0.381884 -0.176119 -v -2.448920 0.401180 -0.176556 -v -2.093081 0.412639 -0.169639 -v -2.448920 0.420773 -0.150000 -v -2.093081 0.418821 -0.136881 -v -2.448920 0.227179 0.163119 -v -2.093081 0.225227 0.150000 -v -2.093081 0.246709 0.177697 -v -2.448920 0.233361 0.130361 -v -2.093081 0.244820 0.123444 -v -2.448920 0.261180 0.123444 -v -2.093081 0.272639 0.130361 -v -2.448920 0.280773 0.150000 -v -2.093081 0.278821 0.163119 -v -2.448920 0.259291 0.177697 -v -2.448920 0.399291 0.177697 -v -2.093081 0.367449 0.164936 -v -2.093081 0.393000 0.177773 -v -2.448920 0.367449 0.135064 -v -2.093081 0.381884 0.123881 -v -2.448920 0.401180 0.123444 -v -2.093081 0.412639 0.130361 -v -2.448920 0.420773 0.150000 -v -2.093081 0.418821 0.163119 -v -2.398860 0.514312 0.207094 -v -2.377501 -0.168308 0.199875 -v -2.372617 0.537306 0.198626 -v -2.376270 -0.192462 -0.186388 -v -2.358537 -0.164007 0.186157 -v -2.377794 -0.194070 0.186063 -v -2.407137 -0.211932 -0.185772 -v -2.407501 -0.211304 0.186575 -v -2.589061 -0.164309 -0.181221 -v -2.588906 -0.163850 0.181384 -v -2.558124 -0.074824 0.191820 -v -2.372617 0.537306 -0.198626 -v -2.359013 -0.163253 -0.186664 -v -2.377501 -0.168308 -0.199875 -v -2.574438 -0.208211 0.184509 -v -2.574184 -0.207520 -0.185487 -v -2.357904 0.553306 -0.185069 -v -2.358441 0.552593 0.185824 -v -2.410933 -0.196539 0.199003 -v -2.403016 -0.167126 -0.206842 -v -2.410503 -0.196201 -0.199085 -v -2.401939 0.550122 0.202780 -v -2.539542 0.573628 0.186778 -v -2.556486 0.555130 0.198419 -v -2.569412 -0.195165 -0.197189 -v -2.398860 0.514311 -0.207094 -v -2.527602 0.532596 -0.207173 -v -2.401939 0.550122 -0.202780 -v -2.569741 -0.195518 0.196890 -v -2.547691 -0.172506 0.206537 -v -2.403126 -0.167424 0.206830 -v -2.547643 -0.172175 -0.206542 -v -2.527593 0.532589 0.207174 -v -2.539426 0.269200 -0.192453 -v -2.539628 0.128329 0.192072 -v -2.538849 0.253623 0.192072 -v -2.378367 0.572620 -0.185498 -v -2.376846 0.572312 0.185254 -v -2.558009 0.473792 -0.191422 -v -2.557034 0.472891 0.192085 -v -2.537889 0.574773 -0.185667 -v -2.539134 0.143812 -0.191527 -v -2.550692 0.531489 -0.204130 -v -2.576412 0.543933 -0.190910 -v -2.577377 0.528147 -0.180643 -v -2.557148 -0.074002 -0.192454 -v -2.589433 -0.182938 -0.190038 -v -2.567821 -0.173355 -0.203110 -v -2.567821 -0.173355 0.203110 -v -2.589185 -0.181780 0.190328 -v -2.510746 0.196311 0.206070 -v -2.561156 0.561170 -0.194788 -v -2.565415 0.572410 -0.170323 -v -2.550682 0.531474 0.204133 -v -2.510746 0.196311 -0.206070 -v -2.585705 0.567880 -0.114979 -v -2.576893 0.544104 0.190364 -v -2.577572 0.528580 0.180273 -v -2.564639 0.569353 0.182301 -v -2.580669 0.574555 0.089446 -v -2.580250 0.574563 -0.086160 -v -2.585609 0.566585 0.123191 -v -1.769499 0.379203 -0.307655 -v -1.736930 0.458391 -0.282099 -v -1.769499 0.379101 -0.294657 -v -2.314102 0.668276 -0.018582 -v -2.314102 0.656344 -0.018489 -v -1.465146 0.658730 -0.018507 -v -2.314102 0.379203 -0.307655 -v -2.314102 0.379101 -0.294657 -v -2.314102 0.549116 -0.252447 -v -2.314102 0.458391 -0.282099 -v -2.314102 0.538976 -0.241039 -v -1.769499 0.654128 -0.107911 -v -2.314102 0.613068 -0.188495 -v -2.314102 0.654128 -0.107911 -v -1.769499 0.613068 -0.188495 -v -1.769499 0.549116 -0.252447 -v -2.314102 0.468532 -0.293507 -v -1.769499 0.643988 -0.096503 -v -2.314102 0.643988 -0.096503 -v -1.769499 0.602928 -0.177087 -v -2.314102 0.602928 -0.177087 -v -1.769499 0.538976 -0.241039 -v -1.465146 0.643988 -0.096503 -v -1.663430 0.538976 -0.241039 -v -1.564065 0.602928 -0.177087 -v -1.465146 0.654128 -0.107911 -v -1.564065 0.613068 -0.188495 -v -1.663430 0.549116 -0.252447 -v -1.736930 0.468532 -0.293507 -v -1.698736 0.625064 -0.154835 -v -1.706628 0.251895 -0.125392 -v -1.700782 0.251903 -0.160043 -v -1.717548 0.641205 -0.121116 -v -1.726267 0.251895 -0.117257 -v -1.751925 0.636025 -0.131942 -v -1.754212 0.251902 -0.133856 -v -1.745906 0.621264 -0.162742 -v -1.734543 0.251892 -0.171255 -v -1.726267 0.617749 -0.170078 -v -2.030597 0.636312 -0.132139 -v -2.056267 0.251895 -0.117257 -v -2.028286 0.251905 -0.133863 -v -2.065046 0.641767 -0.121398 -v -2.075906 0.251895 -0.125392 -v -2.083786 0.624853 -0.154684 -v -2.081743 0.251906 -0.160049 -v -2.056267 0.617158 -0.169786 -v -2.047979 0.251893 -0.171218 -v -2.036628 0.620846 -0.162535 -v -2.316113 0.278450 0.169403 -v -0.376775 0.472639 -0.210361 -v -0.376775 0.472639 -0.210361 -v -0.376775 0.453000 0.257773 -v -1.907553 0.431200 -0.262839 -v -1.907608 0.485560 0.196605 -v -2.448920 0.253000 -0.177773 -v -2.448920 0.373361 -0.130361 -v -2.448920 0.373361 0.169639 -v -0.743666 0.382312 -0.128619 -v -0.884101 0.125088 -0.168551 -v -0.939860 0.105036 -0.133447 -v 4.840720 0.466689 -0.198626 -v -0.515074 0.512741 -0.187557 -v 4.843015 0.489880 -0.185496 -v -0.453036 0.202339 -0.192656 -v 4.772506 0.220440 -0.199336 -v 4.756966 0.203283 -0.194889 -v -0.606231 0.044045 -0.090876 -v -0.687146 -0.179713 0.092035 -v -0.687043 -0.181369 -0.090045 -v -0.771288 -0.498322 0.167717 -v -0.899816 -0.498322 0.200941 -v -1.089556 -0.498322 0.168665 -v -0.764534 -0.333733 -0.167397 -v -0.824523 -0.498322 -0.192624 -v -0.808848 -0.249264 -0.192596 -v -1.142650 -0.297333 -0.075815 -v -1.138686 -0.498322 0.126592 -v -1.141624 -0.291572 0.076357 -v -1.103082 -0.157119 -0.072930 -v -0.953532 0.106075 0.074748 -v -0.954521 0.103999 -0.075886 -v 0.227514 0.523888 0.152964 -v 0.214382 0.521430 0.112001 -v 0.084536 0.521971 0.112154 -v 0.414263 0.440742 -0.079258 -v -0.510838 0.524242 -0.111737 -v -0.647821 0.440742 -0.079258 -v 0.414263 0.407912 0.000000 -v -0.701662 0.407912 0.000000 -v -0.647821 0.440742 0.079258 -v -0.509588 0.525011 0.111050 -v 0.414280 0.522660 -0.111537 -v -0.605856 0.463828 -0.194962 -v -0.801370 0.159225 -0.196109 -v -0.680947 0.420543 -0.168665 -v -0.939189 -0.205146 -0.199999 -v -0.982219 -0.153672 -0.196031 -v -1.089632 -0.159633 -0.134083 -v -1.089556 -0.498322 -0.168665 -v -1.025144 -0.300125 -0.196032 -v -1.027599 -0.498322 -0.196057 -v -0.943361 -0.231088 0.200000 -v -0.812833 0.140284 0.196079 -v -0.982219 -0.153671 0.196031 -v -0.899816 -0.498322 -0.200941 -v -0.740293 0.384366 0.131061 -v -1.046769 -0.157851 -0.168565 -v -0.939031 0.106282 0.133748 -v -0.890200 0.118542 0.167527 -v -1.025144 -0.300124 0.196032 -v -1.027599 -0.498322 0.196057 -v -0.532541 0.489531 0.199314 -v -0.566140 0.488830 0.195772 -v -0.605642 0.463941 0.194987 -v -1.088031 -0.298760 0.167848 -v -0.506489 0.526322 0.163740 -v 0.072486 0.524584 0.152964 -v -1.046770 -0.157853 0.168565 -v -1.089631 -0.159633 0.134083 -v -1.102501 -0.157760 0.076357 -v 4.756959 0.203287 0.194889 -v -0.418227 0.187377 0.167202 -v 4.753811 0.189632 0.182933 -v -0.729598 -0.336754 -0.135923 -v -0.771288 -0.498322 -0.167717 -v -0.870968 -0.244926 0.200000 -v -0.687279 0.082334 0.192598 -v -0.760008 0.079821 0.200384 -v -0.568888 0.180009 0.192420 -v -0.573745 0.213507 0.199995 -v -0.568888 0.180009 -0.192420 -v -0.748167 0.087078 -0.200000 -v -0.573742 0.213506 -0.199995 -v 4.772296 0.220789 0.199472 -v -0.453036 0.202339 0.192656 -v -0.326413 0.179229 -0.132093 -v 4.753782 0.189627 -0.182939 -v 4.730464 0.178955 -0.165551 -v -0.870968 -0.244924 -0.200000 -v -0.570161 0.143305 -0.167527 -v -0.687279 0.082334 -0.192598 -v -0.717809 -0.340511 -0.091763 -v -0.728402 -0.498322 0.126236 -v -0.730545 -0.498322 -0.129109 -v -0.608530 0.061820 -0.134885 -v -0.733360 -0.172226 -0.168042 -v -0.652270 0.047941 -0.167438 -v -1.136220 -0.498322 -0.129136 -v -1.088031 -0.298759 -0.167848 -v -0.337535 0.178933 0.131942 -v 4.730674 0.179224 0.166222 -v -0.698685 -0.176812 0.136141 -v -0.596538 0.061160 0.087339 -v -0.608530 0.061820 0.134885 -v -0.570161 0.143305 0.167527 -v -0.734172 -0.175891 0.167789 -v -0.652270 0.047941 0.167438 -v -0.808848 -0.249264 0.192596 -v -0.824523 -0.498322 0.192624 -v -0.765018 -0.335848 0.167607 -v -0.729598 -0.336754 0.135923 -v -0.717290 -0.341204 0.089667 -v -0.418227 0.187377 -0.167202 -v -0.534618 0.139676 -0.136401 -v -0.484742 0.158803 -0.128668 -v -0.531433 0.132619 -0.091391 -v -0.513824 0.170412 -0.167792 -v -0.411451 0.174060 -0.131015 -v -0.513824 0.170412 0.167792 -v -0.409937 0.173483 0.128597 -v -0.480474 0.160132 0.128590 -v -0.534618 0.139676 0.136401 -v -0.524929 0.136510 0.091725 -v -0.698684 -0.176812 -0.136141 -v -1.128630 -0.301293 -0.134062 -v -1.128630 -0.301293 0.134062 -v -0.566462 0.488588 -0.195840 -v -0.506489 0.526322 -0.163740 -v -0.532464 0.488843 -0.199580 -v 4.842079 0.501514 0.164876 -v 4.839405 0.467231 0.198746 -v -0.515074 0.512741 0.187557 -v 4.840153 0.494126 0.180351 -v 4.841465 0.501881 -0.162703 -v 0.414281 0.522747 0.111519 -v 4.760987 0.185828 -0.167126 -v 4.787786 0.211205 -0.191753 -v 4.788399 0.212458 0.192274 -v 4.761676 0.185869 0.167516 -v 4.839671 0.280431 -0.198923 -v 4.860901 0.279608 -0.192498 -v 4.839671 0.280431 0.198923 -v 4.861211 0.280180 0.192495 -v 4.866175 0.494903 0.163172 -v 4.863007 0.484844 0.183103 -v 4.866174 0.468318 0.191357 -v 4.863007 0.484844 -0.183103 -v 4.866435 0.495227 -0.162017 -v 4.866053 0.468415 -0.191398 -v 0.414263 0.440742 0.079258 -v -0.680947 0.420543 0.168665 -v 4.839877 0.483804 0.190749 -v 4.702208 0.138084 0.082172 -v 4.702199 0.162758 -0.105890 -v 4.702199 0.162758 0.105890 -v 3.472806 0.162263 -0.105890 -v 3.549302 0.137620 -0.082172 -v 3.472816 0.137589 -0.082172 -v 3.612786 0.162320 -0.105890 -v 3.662678 0.137665 -0.082172 -v 3.612795 0.137646 -0.082172 -v 3.726161 0.162366 -0.105890 -v 3.776053 0.137711 -0.082172 -v 3.726171 0.137692 -0.082172 -v 3.839536 0.162411 -0.105890 -v 3.889429 0.137757 -0.082172 -v 3.839546 0.137736 -0.082172 -v 3.952912 0.162457 -0.105890 -v 3.995246 0.137800 -0.082172 -v 3.952922 0.137782 -0.082172 -v 4.058730 0.162500 -0.105890 -v 4.108621 0.137845 -0.082172 -v 4.058739 0.137825 -0.082172 -v 4.172104 0.162546 -0.105890 -v 4.221997 0.137890 -0.082172 -v 4.172114 0.137871 -0.082172 -v 4.285480 0.162591 -0.105890 -v 4.335372 0.137936 -0.082172 -v 4.285490 0.137917 -0.082172 -v 4.398856 0.162636 -0.105890 -v 4.448747 0.137982 -0.082172 -v 4.398866 0.137961 -0.082172 -v 4.512231 0.162682 -0.105890 -v 4.562123 0.138027 -0.082172 -v 4.512241 0.138007 -0.082172 -v 4.625618 0.138053 -0.082172 -v 4.625607 0.162728 -0.105890 -v 3.472806 0.162263 0.105890 -v 3.726171 0.137691 0.082172 -v 3.776043 0.162386 0.105890 -v 3.726161 0.162366 0.105890 -v 3.952922 0.137782 0.082172 -v 3.995236 0.162474 0.105890 -v 3.952912 0.162457 0.105890 -v 4.172114 0.137871 0.082172 -v 4.221987 0.162565 0.105890 -v 4.172104 0.162545 0.105890 -v 4.398866 0.137961 0.082172 -v 4.448738 0.162657 0.105890 -v 4.398856 0.162636 0.105890 -v 4.512241 0.138007 0.082172 -v 4.562114 0.162702 0.105890 -v 4.512231 0.162682 0.105890 -v 4.625618 0.138053 0.082172 -v 4.285480 0.162590 0.105890 -v 4.335372 0.137936 0.082172 -v 4.335362 0.162611 0.105890 -v 4.058730 0.162499 0.105890 -v 4.108621 0.137845 0.082172 -v 4.108611 0.162520 0.105890 -v 3.839536 0.162411 0.105890 -v 3.889429 0.137757 0.082172 -v 3.889419 0.162432 0.105890 -v 3.612786 0.162320 0.105890 -v 3.662678 0.137665 0.082172 -v 3.662668 0.162340 0.105890 -v 3.549302 0.137620 0.082172 -v 3.549293 0.162295 0.105890 -v 4.701866 0.187432 -0.082172 -v 3.473119 0.186937 0.082172 -v 4.701866 0.187431 0.082172 -v 3.612795 0.137646 0.082172 -v 3.839546 0.137736 0.082172 -v 4.058739 0.137825 0.082172 -v 4.285490 0.137917 0.082172 -v 4.562123 0.138027 0.082172 -v 4.702208 0.138084 -0.082172 -v 4.448747 0.137982 0.082172 -v 4.221997 0.137890 0.082172 -v 3.995246 0.137800 0.082172 -v 3.776053 0.137711 0.082172 -v 3.472816 0.137589 0.082172 -v 3.473119 0.186938 -0.082172 -v 4.108611 0.162520 -0.105890 -v 3.549293 0.162295 -0.105890 -v 3.662668 0.162340 -0.105890 -v 3.776043 0.162386 -0.105890 -v 3.889419 0.162432 -0.105890 -v 3.995236 0.162474 -0.105890 -v 4.221987 0.162565 -0.105890 -v 4.335362 0.162611 -0.105890 -v 4.448738 0.162657 -0.105890 -v 4.625607 0.162728 0.105890 -v 4.562114 0.162702 -0.105890 -v 0.467067 0.733889 0.082172 -v 0.467067 0.709215 -0.105890 -v 0.467067 0.709215 0.105890 -v 1.696459 0.709215 -0.105890 -v 1.619973 0.733889 -0.082172 -v 1.696459 0.733889 -0.082172 -v 1.556480 0.709214 -0.105890 -v 1.506597 0.733889 -0.082172 -v 1.556480 0.733889 -0.082172 -v 1.443104 0.709214 -0.105890 -v 1.393222 0.733889 -0.082172 -v 1.443104 0.733889 -0.082172 -v 1.329729 0.709214 -0.105890 -v 1.279846 0.733889 -0.082172 -v 1.329729 0.733889 -0.082172 -v 1.216353 0.709214 -0.105890 -v 1.174029 0.733889 -0.082172 -v 1.216353 0.733889 -0.082172 -v 1.110536 0.709214 -0.105890 -v 1.060654 0.733889 -0.082172 -v 1.110536 0.733889 -0.082172 -v 0.997161 0.709214 -0.105890 -v 0.947278 0.733889 -0.082172 -v 0.997161 0.733889 -0.082172 -v 0.883785 0.709214 -0.105890 -v 0.833903 0.733889 -0.082172 -v 0.883785 0.733889 -0.082172 -v 0.770410 0.709214 -0.105890 -v 0.720527 0.733889 -0.082172 -v 0.770410 0.733889 -0.082172 -v 0.657034 0.709214 -0.105890 -v 0.607152 0.733889 -0.082172 -v 0.657034 0.733889 -0.082172 -v 0.543659 0.733889 -0.082172 -v 0.543659 0.709214 -0.105890 -v 1.696459 0.709215 0.105890 -v 1.443104 0.733889 0.082172 -v 1.393222 0.709214 0.105890 -v 1.443104 0.709214 0.105890 -v 1.216353 0.733889 0.082172 -v 1.174029 0.709214 0.105890 -v 1.216353 0.709214 0.105890 -v 0.997161 0.733889 0.082172 -v 0.947278 0.709215 0.105890 -v 0.997161 0.709214 0.105890 -v 0.770410 0.733889 0.082172 -v 0.720527 0.709214 0.105890 -v 0.770410 0.709214 0.105890 -v 0.657034 0.733889 0.082172 -v 0.607152 0.709214 0.105890 -v 0.657034 0.709214 0.105890 -v 0.543659 0.733889 0.082172 -v 0.883785 0.709215 0.105890 -v 0.833903 0.733889 0.082172 -v 0.833903 0.709214 0.105890 -v 1.110536 0.709215 0.105890 -v 1.060654 0.733889 0.082172 -v 1.060654 0.709215 0.105890 -v 1.329729 0.709214 0.105890 -v 1.279846 0.733889 0.082172 -v 1.279846 0.709214 0.105890 -v 1.556480 0.709214 0.105890 -v 1.506597 0.733889 0.082172 -v 1.506597 0.709214 0.105890 -v 1.619973 0.733889 0.082172 -v 1.619973 0.709214 0.105890 -v 0.562381 0.684540 -0.082172 -v 1.601145 0.684541 0.082172 -v 0.562381 0.684540 0.082172 -v 1.556480 0.733889 0.082172 -v 1.329729 0.733889 0.082172 -v 1.110536 0.733889 0.082172 -v 0.883785 0.733889 0.082172 -v 0.607152 0.733889 0.082172 -v 0.467067 0.733889 -0.082172 -v 0.720527 0.733889 0.082172 -v 0.947278 0.733889 0.082172 -v 1.174029 0.733889 0.082172 -v 1.393222 0.733889 0.082172 -v 1.696459 0.733889 0.082172 -v 1.696136 0.684540 0.082172 -v 1.696136 0.684540 -0.082172 -v 1.279846 0.709214 -0.105890 -v 1.601145 0.684541 -0.082172 -v 0.467390 0.684540 -0.082172 -v 0.467390 0.684541 0.082172 -v 1.619973 0.709214 -0.105890 -v 1.506597 0.709214 -0.105890 -v 1.393222 0.709214 -0.105890 -v 1.174029 0.709214 -0.105890 -v 1.060654 0.709214 -0.105890 -v 0.947278 0.709214 -0.105890 -v 0.833903 0.709214 -0.105890 -v 0.720527 0.709214 -0.105890 -v 0.543659 0.709214 0.105890 -v 0.607152 0.709214 -0.105890 -v 0.467390 0.635326 0.040362 -v 0.467390 0.635326 -0.040361 -v 0.562381 0.635326 -0.040361 -v 1.601145 0.635326 0.040362 -v 1.601145 0.635326 -0.040361 -v 1.696136 0.635326 -0.040361 -v 0.562381 0.635326 0.040362 -v 1.696136 0.635326 0.040362 -v -0.263270 0.120155 0.008119 -v -0.250315 0.146348 -0.000734 -v -0.250315 0.146348 0.008119 -v -0.294644 0.120155 -0.012593 -v -0.258103 0.155928 -0.012593 -v -0.275769 0.120155 -0.012593 -v -0.307686 0.190708 0.019979 -v -0.257489 0.175949 -0.012593 -v -0.257489 0.175949 0.019979 -v -0.281688 0.149300 -0.012593 -v -0.281688 0.149300 0.019979 -v -0.294644 0.120155 0.019979 -v -0.292134 0.075507 -0.012593 -v -0.292134 0.075507 0.019979 -v -0.256589 0.029380 -0.012592 -v -0.256589 0.029380 0.019979 -v -0.231481 0.003583 0.019979 -v -0.231481 0.003583 -0.012593 -v -0.214153 0.019080 0.008119 -v -0.206381 0.010225 -0.000734 -v -0.227725 0.034546 -0.000734 -v -0.230103 0.019275 0.019979 -v -0.236958 0.027087 0.019979 -v -0.271673 0.073846 -0.012593 -v -0.258103 0.155928 0.019979 -v -0.259506 0.077353 0.008119 -v -0.263270 0.120155 -0.000734 -v -0.255106 0.160247 0.019979 -v -0.223117 0.169913 0.019979 -v -0.246173 0.172252 0.019979 -v -0.027833 0.192184 0.019979 -v -0.307686 0.190708 -0.012593 -v -0.240512 0.160478 -0.000734 -v -0.255106 0.160247 -0.012593 -v -0.271673 0.073846 0.019979 -v -0.227725 0.034546 0.008119 -v -0.259506 0.077353 -0.000734 -v -0.027833 0.192184 -0.012593 -v -0.223258 0.169897 0.018148 -v -0.223117 0.169913 -0.012593 -v -0.234900 0.168569 -0.000734 -v -0.246173 0.172252 -0.012593 -v -0.236958 0.027087 -0.012592 -v -0.213528 0.008334 -0.003319 -v -0.206381 0.010225 0.008119 -v -0.217846 0.007191 0.019979 -v -0.230103 0.019275 -0.012592 -v -0.275769 0.120155 0.019979 -v -0.234900 0.168569 0.008119 -v -0.218242 0.014750 -0.011004 -v -0.217846 0.007191 -0.012593 -v -0.213445 0.015865 0.014049 -v -0.219283 0.015936 0.018390 -v -0.237607 0.167454 0.014049 -v -0.264945 0.120155 -0.006663 -v -0.261136 0.076883 -0.006663 -v -0.269519 0.120155 -0.011004 -v -0.265589 0.075599 -0.011004 -v -0.251358 0.147631 0.014049 -v -0.264945 0.120155 0.014049 -v -0.254209 0.151138 0.018390 -v -0.269519 0.120155 0.018390 -v -0.228962 0.033546 0.014049 -v -0.232342 0.030816 0.018390 -v -0.245003 0.164408 0.018390 -v -0.254209 0.151138 -0.011004 -v -0.245755 0.163324 -0.011004 -v -0.251358 0.147631 -0.006663 -v -0.261136 0.076883 0.014049 -v -0.265589 0.075599 0.018390 -v -0.228962 0.033546 -0.006663 -v -0.232342 0.030816 -0.011004 -v -0.209559 0.011437 -0.006663 -v -0.240413 0.163409 -0.006663 -v -0.380355 0.030905 -0.050661 -v -0.338329 -0.026677 -0.060638 -v -0.343048 -0.033920 -0.050661 -v -0.058528 -0.044312 -0.060638 -v -0.248149 -0.035499 -0.058947 -v -0.060347 -0.035499 -0.058947 -v 0.041602 -0.017697 -0.050661 -v 0.005795 -0.054429 -0.060638 -v 0.035356 -0.012889 -0.060638 -v 0.074815 0.098990 0.060638 -v 0.069604 0.220128 0.060638 -v 0.052379 0.110732 0.060638 -v -0.307407 -0.052776 -0.060638 -v -0.259606 -0.080800 -0.050661 -v -0.310289 -0.061578 -0.050661 -v -0.058528 -0.044312 0.060638 -v -0.008265 -0.012832 0.058947 -v -0.060347 -0.035499 0.058947 -v -0.319821 0.004308 0.058947 -v -0.292671 -0.018614 -0.058947 -v -0.319821 0.004308 -0.058947 -v -0.356492 0.056369 -0.060638 -v -0.324680 -0.002816 -0.060638 -v -0.295557 -0.027411 -0.060638 -v -0.248149 -0.035499 0.058947 -v -0.008265 -0.012832 -0.058947 -v -0.003923 -0.020548 -0.060638 -v -0.365720 0.110705 -0.060638 -v -0.349743 0.059979 -0.058947 -v -0.035334 -0.080800 -0.050661 -v 0.009848 -0.062317 0.050662 -v -0.035334 -0.080800 0.050662 -v -0.251021 -0.044303 -0.060638 -v -0.349743 0.059979 0.058947 -v -0.256705 -0.071995 -0.060638 -v 0.009848 -0.062317 -0.050661 -v 0.005795 -0.054428 0.060638 -v -0.037125 -0.071986 0.060638 -v -0.394812 0.095480 0.050662 -v -0.407151 0.220128 0.060638 -v -0.414435 0.220128 0.058947 -v -0.375629 0.220128 0.058947 -v -0.365720 0.110705 0.060638 -v -0.358959 0.114244 0.058947 -v 0.025773 0.041890 -0.058947 -v 0.025773 0.041890 0.058947 -v -0.292671 -0.018614 0.058947 -v -0.251021 -0.044303 0.060638 -v 0.081521 0.095480 -0.050662 -v -0.414435 0.220128 -0.058947 -v 0.052379 0.110732 -0.060638 -v 0.045668 0.114244 -0.058947 -v -0.259606 -0.080800 0.050662 -v -0.356492 0.056369 0.060638 -v -0.373714 0.034809 0.060638 -v -0.388084 0.099001 0.060638 -v 0.032283 0.037658 -0.060638 -v 0.045668 0.114244 0.058947 -v 0.081521 0.095480 0.050662 -v 0.035356 -0.012889 0.060638 -v 0.041602 -0.017697 0.050662 -v 0.062338 0.220128 0.058947 -v -0.375629 0.220128 -0.058947 -v -0.382947 0.220128 -0.060638 -v -0.256705 -0.071995 0.060638 -v -0.407151 0.220128 -0.060638 -v -0.394812 0.095480 -0.050662 -v -0.343048 -0.033920 0.050662 -v -0.380355 0.030905 0.050662 -v 0.093883 0.220128 0.060638 -v -0.324680 -0.002816 0.060638 -v -0.295557 -0.027411 0.060638 -v -0.310289 -0.061578 0.050662 -v -0.358959 0.114244 -0.058947 -v -0.307407 -0.052776 0.060638 -v -0.338329 -0.026677 0.060638 -v -0.373714 0.034809 -0.060638 -v -0.388084 0.099001 -0.060638 -v 0.062338 0.220128 -0.058947 -v 0.069604 0.220128 -0.060638 -v 0.101144 0.220128 0.050662 -v 0.032283 0.037658 0.060638 -v -0.003923 -0.020548 0.060638 -v -0.382947 0.220128 0.060638 -v 0.101144 0.220128 -0.050662 -v 0.074815 0.098990 -0.060638 -v 0.093883 0.220128 -0.060638 -v -0.037125 -0.071986 -0.060638 -v 8.866215 0.529589 -0.058039 -v 8.866215 0.529589 -0.065198 -v 8.866215 0.555020 -0.047505 -v 8.913785 0.594963 -0.037855 -v 8.913785 0.555020 -0.047505 -v 8.913785 0.575038 0.000823 -v 8.913785 0.529589 -0.064934 -v 8.913785 0.529589 -0.058039 -v 8.866215 0.529589 0.059685 -v 8.913785 0.529589 0.066580 -v 8.913785 0.529589 0.059685 -v 8.776215 0.555020 0.049151 -v 8.776215 0.575038 0.000823 -v 8.776215 0.594180 0.040457 -v 8.823785 0.555020 0.049151 -v 8.823785 0.529589 0.059685 -v 8.823785 0.529922 0.066880 -v 8.823785 0.529589 -0.065414 -v 8.776215 0.529589 -0.058039 -v 8.823785 0.529589 -0.058039 -v 8.776215 0.529589 0.059685 -v 8.823785 0.529589 0.067061 -v 8.686214 0.529589 -0.058039 -v 8.686214 0.531001 -0.065348 -v 8.686214 0.555020 -0.047505 -v 8.733785 0.555020 0.049151 -v 8.733785 0.529589 0.059685 -v 8.733785 0.530628 0.066955 -v 8.733785 0.529589 -0.065874 -v 8.733785 0.529589 -0.058039 -v 8.686214 0.529589 0.059685 -v 8.733785 0.529589 0.067520 -v 8.866215 0.594513 -0.038306 -v 8.866215 0.595028 -0.037961 -v 8.866215 0.595373 -0.037445 -v 8.866215 0.575038 0.000823 -v 8.866215 0.602985 0.000823 -v 8.866215 0.595373 0.039091 -v 8.866215 0.595028 0.039607 -v 8.866215 0.594513 0.039952 -v 8.866215 0.529589 0.066844 -v 8.866215 0.555020 0.049151 -v 8.913785 0.594963 0.039501 -v 8.913785 0.595209 0.039337 -v 8.913785 0.595373 0.039091 -v 8.913785 0.602985 0.000823 -v 8.913785 0.595373 -0.037445 -v 8.913785 0.595209 -0.037691 -v 8.913785 0.555020 0.049151 -v 8.776215 0.529589 -0.065657 -v 8.776215 0.530295 -0.065273 -v 8.776215 0.529776 -0.065620 -v 8.776215 0.594179 -0.038811 -v 8.776215 0.555020 -0.047505 -v 8.776215 0.594526 -0.038292 -v 8.776215 0.595034 -0.037953 -v 8.776215 0.595373 -0.037445 -v 8.776215 0.602985 0.000823 -v 8.776215 0.595373 0.039091 -v 8.776215 0.595034 0.039599 -v 8.776215 0.594526 0.039938 -v 8.776215 0.530295 0.066919 -v 8.776215 0.529776 0.067266 -v 8.776215 0.529589 0.067303 -v 8.823785 0.594356 0.040190 -v 8.823785 0.594519 0.039945 -v 8.823785 0.575038 0.000823 -v 8.823785 0.595031 0.039603 -v 8.823785 0.595373 0.039091 -v 8.823785 0.602985 0.000823 -v 8.823785 0.595373 -0.037445 -v 8.823785 0.595031 -0.037957 -v 8.823785 0.594519 -0.038299 -v 8.823785 0.594356 -0.038544 -v 8.823785 0.529922 -0.065233 -v 8.823785 0.555020 -0.047505 -v 8.823785 0.529677 -0.065397 -v 8.823785 0.529677 0.067043 -v 8.686214 0.529589 -0.066116 -v 8.686214 0.529962 -0.066042 -v 8.686214 0.593846 -0.039317 -v 8.686214 0.594540 -0.038278 -v 8.686214 0.575038 0.000823 -v 8.686214 0.595039 -0.037945 -v 8.686214 0.595373 -0.037445 -v 8.686214 0.602985 0.000823 -v 8.686214 0.595373 0.039091 -v 8.686214 0.595039 0.039591 -v 8.686214 0.594540 0.039924 -v 8.686214 0.593846 0.040963 -v 8.686214 0.531001 0.066994 -v 8.686214 0.555020 0.049151 -v 8.686214 0.529962 0.067688 -v 8.686214 0.529589 0.067762 -v 8.733785 0.594022 0.040696 -v 8.733785 0.594533 0.039932 -v 8.733785 0.575038 0.000823 -v 8.733785 0.595037 0.039595 -v 8.733785 0.595373 0.039091 -v 8.733785 0.602985 0.000823 -v 8.733785 0.595373 -0.037445 -v 8.733785 0.595037 -0.037949 -v 8.733785 0.594533 -0.038285 -v 8.733785 0.594022 -0.039049 -v 8.733785 0.530628 -0.065308 -v 8.733785 0.555020 -0.047505 -v 8.733785 0.529864 -0.065819 -v 8.733785 0.529864 0.067465 -v 8.957065 0.464717 -0.091565 -v 3.242687 0.432273 -0.069887 -v 3.242687 0.464716 -0.091564 -v 3.242687 0.402984 0.000824 -v 3.242687 0.410596 -0.037444 -v 8.957065 0.432274 -0.069888 -v 8.957065 0.432274 0.071534 -v 3.242687 0.464716 0.093212 -v 3.242687 0.432273 0.071535 -v 8.957065 0.464717 0.093211 -v 8.957065 0.602985 0.000823 -v 8.957065 0.595373 0.039091 -v 3.242687 0.595372 0.039092 -v 3.242687 0.602984 0.000824 -v 8.957065 0.595373 -0.037445 -v 3.242687 0.595372 -0.037444 -v 8.957065 0.575038 0.000823 -v 8.957065 0.555020 -0.047505 -v 8.957065 0.438347 0.000823 -v 2.032803 0.397967 0.105841 -v 2.032803 0.608001 0.105841 -v 2.032803 0.608001 -0.104193 -v 2.032803 0.559819 -0.136387 -v 3.242687 0.502984 -0.099176 -v 2.032803 0.502984 -0.147692 -v 3.242687 0.541252 -0.091564 -v 2.032803 0.640195 -0.056011 -v 2.032803 0.651500 0.000824 -v 2.032803 0.640195 0.057659 -v 3.242687 0.573695 0.071535 -v 3.242687 0.541252 0.093212 -v 2.032803 0.559819 0.138035 -v 3.242687 0.502984 0.100824 -v 2.032803 0.502984 0.149341 -v 2.032803 0.446149 0.138035 -v 3.242687 0.410596 0.039092 -v 2.032803 0.365773 0.057659 -v 2.032803 0.354467 0.000824 -v 2.032803 0.365773 -0.056011 -v 2.032803 0.397967 -0.104193 -v 2.032803 0.446149 -0.136387 -v 3.532490 0.506691 -0.067522 -v 8.957065 0.458365 -0.047505 -v 8.957065 0.506692 -0.067523 -v 3.532490 0.438345 0.000824 -v 3.532490 0.458364 -0.047504 -v 3.532490 0.458364 0.049152 -v 3.532490 0.506691 0.069170 -v 8.957065 0.458365 0.049151 -v 8.957065 0.506692 0.069169 -v 3.532490 0.555019 0.049152 -v 3.532490 0.575037 0.000824 -v 8.957065 0.555020 0.049151 -v 3.242687 0.573695 -0.069887 -v 3.532490 0.555019 -0.047504 -vt 0.464345 0.174960 -vt 0.468978 0.174613 -vt 0.464626 0.176203 -vt 0.448554 0.199296 -vt 0.444938 0.198949 -vt 0.445219 0.197706 -vt 0.468978 0.178301 -vt 0.464789 0.178301 -vt 0.464710 0.176712 -vt 0.448877 0.197706 -vt 0.445304 0.197197 -vt 0.468978 0.180355 -vt 0.464763 0.180355 -vt 0.464777 0.179887 -vt 0.468978 0.182050 -vt 0.464507 0.182050 -vt 0.464710 0.181164 -vt 0.445304 0.192745 -vt 0.445268 0.192530 -vt 0.448877 0.191859 -vt 0.451495 0.187225 -vt 0.451727 0.187280 -vt 0.452054 0.191859 -vt 0.450480 0.174613 -vt 0.451334 0.178637 -vt 0.450688 0.179099 -vt 0.448508 0.174613 -vt 0.450390 0.179744 -vt 0.450390 0.186032 -vt 0.453434 0.186034 -vt 0.454962 0.184559 -vt 0.456533 0.184089 -vt 0.448508 0.191859 -vt 0.446437 0.174613 -vt 0.444820 0.174936 -vt 0.444763 0.174613 -vt 0.464170 0.174613 -vt 0.464170 0.187879 -vt 0.459633 0.181168 -vt 0.452699 0.177929 -vt 0.458987 0.184089 -vt 0.452699 0.184089 -vt 0.461136 0.193573 -vt 0.460373 0.194593 -vt 0.460203 0.194071 -vt 0.467086 0.195984 -vt 0.465859 0.198058 -vt 0.465458 0.197750 -vt 0.462939 0.189953 -vt 0.461713 0.187879 -vt 0.463412 0.189723 -vt 0.452699 0.175979 -vt 0.458987 0.174613 -vt 0.458987 0.175979 -vt 0.461090 0.195603 -vt 0.462685 0.192753 -vt 0.460321 0.191315 -vt 0.459739 0.190685 -vt 0.459786 0.190164 -vt 0.459633 0.192297 -vt 0.466001 0.195426 -vt 0.464642 0.196898 -vt 0.463933 0.195773 -vt 0.445373 0.194022 -vt 0.448877 0.193554 -vt 0.448877 0.195608 -vt 0.463780 0.193640 -vt 0.464469 0.194622 -vt 0.463887 0.195252 -vt 0.466833 0.193184 -vt 0.465284 0.192364 -vt 0.465238 0.190334 -vt 0.461311 0.188187 -vt 0.461853 0.190512 -vt 0.464859 0.197220 -vt 0.464521 0.191344 -vt 0.458987 0.177929 -vt 0.459633 0.178201 -vt 0.459633 0.183933 -vt 0.467670 0.188066 -vt 0.467928 0.193757 -vt 0.466793 0.188673 -vt 0.463780 0.192180 -vt 0.463780 0.198058 -vt 0.462866 0.197424 -vt 0.459633 0.176243 -vt 0.452054 0.176243 -vt 0.452054 0.183933 -vt 0.464170 0.174613 -vt 0.468978 0.176203 -vt 0.448877 0.199352 -vt 0.444763 0.199296 -vt 0.445383 0.195608 -vt 0.445119 0.191859 -vt 0.445359 0.193554 -vt 0.452054 0.187387 -vt 0.450480 0.191859 -vt 0.450470 0.186158 -vt 0.450688 0.186678 -vt 0.450876 0.186778 -vt 0.450621 0.179219 -vt 0.450480 0.179554 -vt 0.452054 0.174613 -vt 0.451495 0.178552 -vt 0.452054 0.178371 -vt 0.456533 0.197323 -vt 0.452054 0.190783 -vt 0.454962 0.196907 -vt 0.453434 0.195484 -vt 0.452412 0.188220 -vt 0.452412 0.193334 -vt 0.446437 0.191859 -vt 0.444820 0.191859 -vt 0.462542 0.187392 -vt 0.461013 0.185917 -vt 0.459991 0.183732 -vt 0.459991 0.178617 -vt 0.461013 0.176467 -vt 0.462542 0.175044 -vt 0.467559 0.196214 -vt 0.452699 0.174613 -vt 0.462645 0.197264 -vt 0.461900 0.196699 -vt 0.461285 0.195870 -vt 0.460494 0.189039 -vt 0.466051 0.189239 -vt 0.466488 0.188909 -vt 0.460712 0.188717 -vt 0.464351 0.191867 -vt 0.459113 0.184077 -vt 0.467928 0.187879 -vt 0.452054 0.178201 -vt 0.452508 0.184075 -vt 0.452174 0.183979 -vt 0.418533 0.501474 -vt 0.389511 0.527548 -vt 0.389511 0.501474 -vt 0.375000 0.500000 -vt 0.603539 0.500000 -vt 0.625000 0.512698 -vt 0.360489 0.441956 -vt 0.387020 0.441956 -vt 0.389511 0.443430 -vt 0.360489 0.558044 -vt 0.360489 0.529022 -vt 0.360489 0.529022 -vt 0.387020 0.470978 -vt 0.360489 0.500000 -vt 0.360489 0.470978 -vt 0.389511 0.500000 -vt 0.389511 0.470978 -vt 0.389511 0.558044 -vt 0.387020 0.529022 -vt 0.389511 0.529022 -vt 0.360489 0.500000 -vt 0.331467 0.529022 -vt 0.331467 0.500000 -vt 0.360489 0.470978 -vt 0.375000 0.750000 -vt 0.375000 0.500000 -vt 0.360489 0.441956 -vt 0.329068 0.558044 -vt 0.319355 0.500000 -vt 0.329068 0.500000 -vt 0.400858 0.558044 -vt 0.392675 0.500000 -vt 0.400858 0.500000 -vt 0.387112 0.500000 -vt 0.377399 0.558044 -vt 0.377399 0.500000 -vt 0.371836 0.558044 -vt 0.363653 0.500000 -vt 0.371836 0.500000 -vt 0.354283 0.558044 -vt 0.352184 0.500000 -vt 0.354283 0.500000 -vt 0.342814 0.558044 -vt 0.334631 0.500000 -vt 0.342814 0.500000 -vt 0.412327 0.558044 -vt 0.410228 0.500000 -vt 0.412327 0.500000 -vt 0.325136 0.471186 -vt 0.331388 0.486280 -vt 0.324498 0.486383 -vt 0.369169 0.482253 -vt 0.361575 0.486280 -vt 0.367827 0.471186 -vt 0.429880 0.558044 -vt 0.421697 0.500000 -vt 0.429880 0.500000 -vt 0.433044 0.558044 -vt 0.433044 0.500000 -vt 0.421697 0.558044 -vt 0.410228 0.558044 -vt 0.387112 0.558044 -vt 0.392675 0.558044 -vt 0.363653 0.558044 -vt 0.352184 0.558044 -vt 0.334631 0.558044 -vt 0.377940 0.475274 -vt 0.382542 0.486383 -vt 0.388617 0.449498 -vt 0.418533 0.500000 -vt 0.433044 0.503820 -vt 0.433044 0.500000 -vt 0.404022 0.500000 -vt 0.417845 0.500000 -vt 0.389511 0.500000 -vt 0.404022 0.503820 -vt 0.375000 0.500000 -vt 0.389511 0.503820 -vt 0.360489 0.500000 -vt 0.375000 0.503820 -vt 0.345978 0.500000 -vt 0.360489 0.503820 -vt 0.331467 0.500000 -vt 0.345978 0.503820 -vt 0.316956 0.500000 -vt 0.331467 0.503820 -vt 0.384321 0.490679 -vt 0.384321 0.490679 -vt 0.423723 0.451277 -vt 0.550409 0.707777 -vt 0.541713 0.742561 -vt 0.541713 0.707777 -vt 0.533017 0.742561 -vt 0.533017 0.707777 -vt 0.524321 0.707777 -vt 0.524321 0.742561 -vt 0.515625 0.707777 -vt 0.515625 0.742561 -vt 0.506929 0.707777 -vt 0.506929 0.742561 -vt 0.498233 0.707777 -vt 0.250000 0.010000 -vt 0.419706 0.080294 -vt 0.419706 0.419706 -vt 0.489537 0.742561 -vt 0.489537 0.707777 -vt 0.480841 0.742561 -vt 0.480841 0.707777 -vt 0.521211 0.678579 -vt 0.516321 0.690385 -vt 0.521211 0.702191 -vt 0.418533 0.527548 -vt 0.625000 0.737302 -vt 0.603539 0.750000 -vt 0.389511 0.469504 -vt 0.360489 0.558044 -vt 0.387020 0.500000 -vt 0.387020 0.558044 -vt 0.375000 0.750000 -vt 0.319355 0.558044 -vt 0.346482 0.492532 -vt 0.342721 0.497490 -vt 0.329534 0.492028 -vt 0.319896 0.475274 -vt 0.321607 0.462552 -vt 0.322787 0.459703 -vt 0.331388 0.456093 -vt 0.330573 0.449498 -vt 0.341682 0.444896 -vt 0.349235 0.444466 -vt 0.346482 0.449841 -vt 0.362422 0.449928 -vt 0.367458 0.455573 -vt 0.361575 0.456093 -vt 0.372060 0.466682 -vt 0.370349 0.479404 -vt 0.361383 0.492458 -vt 0.350274 0.497060 -vt 0.387578 0.492028 -vt 0.407279 0.444466 -vt 0.400765 0.497490 -vt 0.408318 0.497060 -vt 0.425502 0.455573 -vt 0.419427 0.492458 -vt 0.427213 0.482253 -vt 0.428393 0.479404 -vt 0.430104 0.466682 -vt 0.420466 0.449928 -vt 0.399726 0.444896 -vt 0.380831 0.459703 -vt 0.379651 0.462552 -vt 0.418533 0.503820 -vt 0.413795 0.558044 -vt 0.346666 0.500000 -vt 0.316956 0.503820 -vt 0.423723 0.490679 -vt 0.431883 0.470978 -vt 0.423723 0.451277 -vt 0.431883 0.470978 -vt 0.423723 0.490679 -vt 0.550409 0.742561 -vt 0.498233 0.742561 -vt 0.490000 0.250000 -vt 0.250000 0.490000 -vt 0.080294 0.419706 -vt 0.080294 0.080294 -vt 0.010000 0.250000 -vt 0.533017 0.707081 -vt 0.533017 0.673689 -vt 0.544823 0.702191 -vt 0.544823 0.678579 -vt 0.549713 0.690385 -vt 0.524209 0.511874 -vt 0.530716 0.516429 -vt 0.524209 0.516430 -vt 0.488805 0.509109 -vt 0.486636 0.511876 -vt 0.486636 0.509110 -vt 0.530716 0.509112 -vt 0.524209 0.509111 -vt 0.492359 0.520970 -vt 0.489733 0.518042 -vt 0.492453 0.520757 -vt 0.486636 0.516430 -vt 0.488805 0.520985 -vt 0.486636 0.520985 -vt 0.475791 0.509111 -vt 0.469284 0.504556 -vt 0.475791 0.504556 -vt 0.489507 0.508877 -vt 0.489507 0.514831 -vt 0.489507 0.512108 -vt 0.501381 0.534702 -vt 0.498620 0.541209 -vt 0.498619 0.534702 -vt 0.501383 0.497129 -vt 0.498617 0.499298 -vt 0.498617 0.497129 -vt 0.501616 0.500000 -vt 0.495662 0.500000 -vt 0.498384 0.500000 -vt 0.511195 0.509109 -vt 0.513364 0.504555 -vt 0.513364 0.509110 -vt 0.468522 0.520985 -vt 0.468522 0.518190 -vt 0.468522 0.516735 -vt 0.507523 0.541970 -vt 0.510493 0.541970 -vt 0.507530 0.541970 -vt 0.509699 0.476052 -vt 0.507083 0.477524 -vt 0.509002 0.475605 -vt 0.492470 0.458824 -vt 0.492917 0.459520 -vt 0.490998 0.461439 -vt 0.510493 0.512108 -vt 0.510493 0.506154 -vt 0.510493 0.508877 -vt 0.468522 0.512136 -vt 0.468522 0.506132 -vt 0.468522 0.508850 -vt 0.501616 0.520985 -vt 0.495662 0.520985 -vt 0.504338 0.520985 -vt 0.501643 0.479015 -vt 0.495639 0.479015 -vt 0.504361 0.479015 -vt 0.501643 0.541970 -vt 0.495639 0.541970 -vt 0.498357 0.541970 -vt 0.531478 0.508850 -vt 0.531478 0.514854 -vt 0.531478 0.512136 -vt 0.495433 0.479015 -vt 0.492477 0.479015 -vt 0.492470 0.479015 -vt 0.493758 0.541970 -vt 0.493758 0.479015 -vt 0.492303 0.479015 -vt 0.507523 0.479015 -vt 0.510493 0.479015 -vt 0.510493 0.479015 -vt 0.468522 0.504250 -vt 0.468522 0.502795 -vt 0.494062 0.523856 -vt 0.498617 0.521687 -vt 0.498617 0.523856 -vt 0.504567 0.541970 -vt 0.504567 0.479015 -vt 0.504554 0.479015 -vt 0.494063 0.479777 -vt 0.498619 0.486284 -vt 0.494063 0.486284 -vt 0.489507 0.504293 -vt 0.489507 0.506154 -vt 0.505937 0.541209 -vt 0.505937 0.534702 -vt 0.493801 0.520985 -vt 0.498384 0.520985 -vt 0.510493 0.504293 -vt 0.510493 0.502953 -vt 0.510493 0.541209 -vt 0.510493 0.534702 -vt 0.510477 0.518133 -vt 0.507537 0.520732 -vt 0.510236 0.518028 -vt 0.504338 0.500000 -vt 0.506199 0.500000 -vt 0.507540 0.500000 -vt 0.475791 0.500000 -vt 0.489523 0.518133 -vt 0.489507 0.515062 -vt 0.510493 0.497129 -vt 0.505938 0.499298 -vt 0.505938 0.497129 -vt 0.501383 0.499298 -vt 0.468522 0.518016 -vt 0.468522 0.515060 -vt 0.468522 0.515047 -vt 0.507641 0.520970 -vt 0.504570 0.520985 -vt 0.495442 0.520985 -vt 0.495431 0.520985 -vt 0.489507 0.505924 -vt 0.489523 0.502852 -vt 0.489733 0.502944 -vt 0.531478 0.502969 -vt 0.531478 0.505926 -vt 0.531478 0.505938 -vt 0.468522 0.500000 -vt 0.468522 0.502963 -vt 0.468522 0.500000 -vt 0.507641 0.500015 -vt 0.507537 0.500253 -vt 0.504756 0.500014 -vt 0.492453 0.500229 -vt 0.495442 0.500000 -vt 0.495431 0.500000 -vt 0.510477 0.502852 -vt 0.510236 0.502958 -vt 0.531478 0.516735 -vt 0.492359 0.500015 -vt 0.510487 0.515137 -vt 0.506199 0.520985 -vt 0.507540 0.520985 -vt 0.510493 0.516692 -vt 0.510493 0.518032 -vt 0.510493 0.514831 -vt 0.504559 0.500000 -vt 0.510493 0.515051 -vt 0.510493 0.505922 -vt 0.510493 0.505934 -vt 0.489507 0.505934 -vt 0.489507 0.515051 -vt 0.493801 0.500000 -vt 0.489507 0.502953 -vt 0.489507 0.516692 -vt 0.489507 0.518032 -vt 0.504559 0.520985 -vt 0.506242 0.479015 -vt 0.507697 0.479015 -vt 0.510493 0.479015 -vt 0.510493 0.479015 -vt 0.531478 0.506132 -vt 0.531478 0.504250 -vt 0.531478 0.502795 -vt 0.506242 0.541970 -vt 0.504361 0.541970 -vt 0.510493 0.541970 -vt 0.510493 0.541970 -vt 0.531478 0.515060 -vt 0.531478 0.515047 -vt 0.495446 0.541970 -vt 0.495433 0.541970 -vt 0.531478 0.518016 -vt 0.531478 0.518022 -vt 0.468522 0.514854 -vt 0.495446 0.479015 -vt 0.468522 0.500000 -vt 0.468522 0.500000 -vt 0.468522 0.505938 -vt 0.468522 0.505926 -vt 0.468522 0.520985 -vt 0.468522 0.520985 -vt 0.468522 0.504319 -vt 0.468522 0.508973 -vt 0.468835 0.504535 -vt 0.468835 0.509060 -vt 0.469284 0.509112 -vt 0.468835 0.500000 -vt 0.498357 0.479015 -vt 0.493814 0.479015 -vt 0.498481 0.479015 -vt 0.494021 0.479328 -vt 0.498567 0.479327 -vt 0.531478 0.504307 -vt 0.531478 0.508973 -vt 0.531165 0.504514 -vt 0.531165 0.509060 -vt 0.530716 0.504556 -vt 0.510493 0.479015 -vt 0.506174 0.479015 -vt 0.510493 0.479328 -vt 0.505958 0.479328 -vt 0.510493 0.479777 -vt 0.505937 0.479777 -vt 0.501519 0.479015 -vt 0.501433 0.479327 -vt 0.501380 0.479777 -vt 0.468522 0.516667 -vt 0.468522 0.512012 -vt 0.468835 0.516450 -vt 0.468835 0.511925 -vt 0.469284 0.516429 -vt 0.468522 0.520985 -vt 0.468835 0.520985 -vt 0.469284 0.520985 -vt 0.493814 0.541970 -vt 0.498481 0.541970 -vt 0.494021 0.541658 -vt 0.498567 0.541658 -vt 0.494063 0.541209 -vt 0.531478 0.516679 -vt 0.531478 0.512012 -vt 0.531165 0.516471 -vt 0.531165 0.511925 -vt 0.530716 0.511873 -vt 0.510493 0.541970 -vt 0.506174 0.541970 -vt 0.510493 0.541658 -vt 0.505958 0.541658 -vt 0.501519 0.541970 -vt 0.501433 0.541658 -vt 0.469284 0.511873 -vt 0.498620 0.479777 -vt 0.492477 0.541970 -vt 0.489507 0.504359 -vt 0.489507 0.508986 -vt 0.489222 0.504555 -vt 0.489222 0.509063 -vt 0.488805 0.504555 -vt 0.493844 0.500000 -vt 0.493914 0.500000 -vt 0.488805 0.500000 -vt 0.489222 0.500000 -vt 0.498493 0.500000 -vt 0.494025 0.499715 -vt 0.498570 0.499715 -vt 0.494062 0.499298 -vt 0.510493 0.504359 -vt 0.510493 0.508986 -vt 0.510778 0.504517 -vt 0.510778 0.509063 -vt 0.511195 0.504555 -vt 0.510493 0.500000 -vt 0.505975 0.499715 -vt 0.510493 0.499715 -vt 0.510493 0.499298 -vt 0.506156 0.500000 -vt 0.501507 0.500000 -vt 0.501430 0.499715 -vt 0.489507 0.516626 -vt 0.489507 0.511999 -vt 0.489222 0.516468 -vt 0.489222 0.511922 -vt 0.488805 0.516431 -vt 0.488805 0.511876 -vt 0.493914 0.520985 -vt 0.489507 0.516578 -vt 0.489222 0.520985 -vt 0.493844 0.520985 -vt 0.498493 0.520985 -vt 0.494025 0.521271 -vt 0.498570 0.521270 -vt 0.494062 0.521687 -vt 0.510493 0.516626 -vt 0.510493 0.511999 -vt 0.510778 0.516468 -vt 0.510778 0.511922 -vt 0.511195 0.516431 -vt 0.506156 0.520985 -vt 0.510493 0.520985 -vt 0.505975 0.521271 -vt 0.505938 0.520985 -vt 0.510493 0.521271 -vt 0.505938 0.521687 -vt 0.501507 0.520985 -vt 0.501430 0.521270 -vt 0.501383 0.521687 -vt 0.511195 0.511876 -vt 0.489513 0.518126 -vt 0.489507 0.515022 -vt 0.489507 0.518087 -vt 0.489507 0.514939 -vt 0.492367 0.520979 -vt 0.492406 0.520985 -vt 0.495471 0.520985 -vt 0.495553 0.520985 -vt 0.492460 0.520985 -vt 0.510487 0.518125 -vt 0.510493 0.515022 -vt 0.510493 0.518087 -vt 0.510493 0.514939 -vt 0.507633 0.520979 -vt 0.507594 0.520985 -vt 0.504529 0.520985 -vt 0.504447 0.520985 -vt 0.492367 0.500006 -vt 0.495471 0.500000 -vt 0.492406 0.500000 -vt 0.495553 0.500000 -vt 0.492460 0.500000 -vt 0.489513 0.502860 -vt 0.489507 0.502899 -vt 0.489507 0.505963 -vt 0.489507 0.506046 -vt 0.507633 0.500006 -vt 0.504529 0.500000 -vt 0.507594 0.500000 -vt 0.504447 0.500000 -vt 0.510487 0.502860 -vt 0.510493 0.502899 -vt 0.510493 0.505963 -vt 0.510493 0.506046 -vt 0.492497 0.541970 -vt 0.495476 0.541970 -vt 0.492552 0.541970 -vt 0.495546 0.541970 -vt 0.492303 0.541970 -vt 0.468522 0.520985 -vt 0.468522 0.517996 -vt 0.468522 0.520985 -vt 0.468522 0.518249 -vt 0.468522 0.520985 -vt 0.468522 0.515017 -vt 0.468522 0.517940 -vt 0.468522 0.514950 -vt 0.492497 0.479015 -vt 0.495476 0.479015 -vt 0.492552 0.479015 -vt 0.495546 0.479015 -vt 0.492257 0.479015 -vt 0.468522 0.502969 -vt 0.468522 0.500000 -vt 0.468522 0.502990 -vt 0.468522 0.500000 -vt 0.468522 0.503045 -vt 0.468522 0.502750 -vt 0.468522 0.505969 -vt 0.468522 0.506039 -vt 0.531478 0.502990 -vt 0.531478 0.505969 -vt 0.531478 0.502750 -vt 0.531478 0.502714 -vt 0.531478 0.506039 -vt 0.510493 0.479015 -vt 0.507503 0.479015 -vt 0.507778 0.479015 -vt 0.510493 0.479015 -vt 0.507743 0.479015 -vt 0.504524 0.479015 -vt 0.504454 0.479015 -vt 0.531478 0.517996 -vt 0.531478 0.515017 -vt 0.531478 0.518235 -vt 0.531478 0.514946 -vt 0.531478 0.518190 -vt 0.510493 0.541970 -vt 0.510493 0.541970 -vt 0.507800 0.541970 -vt 0.510493 0.541970 -vt 0.507743 0.541970 -vt 0.504554 0.541970 -vt 0.507503 0.541970 -vt 0.504524 0.541970 -vt 0.504454 0.541970 -vt 0.507697 0.541970 -vt 0.475791 0.511874 -vt 0.480129 0.511875 -vt 0.482298 0.516430 -vt 0.480129 0.516430 -vt 0.501381 0.486284 -vt 0.505937 0.492791 -vt 0.501382 0.490622 -vt 0.505937 0.490622 -vt 0.510493 0.486284 -vt 0.510493 0.492791 -vt 0.510493 0.490622 -vt 0.482298 0.504555 -vt 0.484467 0.500000 -vt 0.484467 0.504555 -vt 0.477960 0.500000 -vt 0.477960 0.504556 -vt 0.510493 0.528195 -vt 0.505938 0.526026 -vt 0.510493 0.526026 -vt 0.505937 0.532533 -vt 0.510493 0.532533 -vt 0.505937 0.528195 -vt 0.501383 0.526026 -vt 0.501382 0.532533 -vt 0.494063 0.492791 -vt 0.498617 0.494960 -vt 0.494062 0.494960 -vt 0.498618 0.488453 -vt 0.494063 0.488453 -vt 0.494063 0.528195 -vt 0.498618 0.530364 -vt 0.494063 0.530364 -vt 0.519871 0.509111 -vt 0.517702 0.504555 -vt 0.519871 0.504555 -vt 0.498618 0.490622 -vt 0.501382 0.492791 -vt 0.498618 0.492791 -vt 0.498618 0.528195 -vt 0.498617 0.526026 -vt 0.498618 0.532533 -vt 0.484467 0.509110 -vt 0.477960 0.509111 -vt 0.475791 0.516430 -vt 0.482298 0.520985 -vt 0.480129 0.520985 -vt 0.517702 0.509110 -vt 0.515533 0.511875 -vt 0.515533 0.509110 -vt 0.522040 0.511874 -vt 0.522040 0.509111 -vt 0.482298 0.509110 -vt 0.480129 0.509111 -vt 0.517702 0.516430 -vt 0.515533 0.516430 -vt 0.522040 0.516430 -vt 0.513364 0.516430 -vt 0.514810 0.511875 -vt 0.514810 0.516430 -vt 0.513364 0.511876 -vt 0.514810 0.509110 -vt 0.486636 0.504555 -vt 0.485190 0.509110 -vt 0.485190 0.504555 -vt 0.498617 0.525303 -vt 0.494062 0.497129 -vt 0.498617 0.495683 -vt 0.494062 0.495683 -vt 0.505938 0.523856 -vt 0.501383 0.525303 -vt 0.505938 0.525303 -vt 0.510493 0.523856 -vt 0.510493 0.521687 -vt 0.510493 0.525303 -vt 0.485190 0.500000 -vt 0.484467 0.511875 -vt 0.482298 0.511875 -vt 0.485913 0.511876 -vt 0.485913 0.516430 -vt 0.501383 0.494960 -vt 0.501383 0.496406 -vt 0.505938 0.496406 -vt 0.510493 0.494960 -vt 0.510493 0.496406 -vt 0.498617 0.524580 -vt 0.494062 0.524580 -vt 0.514087 0.509110 -vt 0.514087 0.504555 -vt 0.498617 0.496406 -vt 0.484467 0.516430 -vt 0.485913 0.520985 -vt 0.485913 0.509110 -vt 0.477960 0.504556 -vt 0.477960 0.509111 -vt 0.485190 0.516430 -vt 0.484467 0.520985 -vt 0.485190 0.520985 -vt 0.501383 0.495683 -vt 0.515533 0.504555 -vt 0.514810 0.504555 -vt 0.494062 0.526026 -vt 0.494062 0.525303 -vt 0.505938 0.495683 -vt 0.505938 0.494960 -vt 0.510493 0.495683 -vt 0.485190 0.511875 -vt 0.480129 0.516430 -vt 0.480129 0.511875 -vt 0.485913 0.504555 -vt 0.486636 0.500000 -vt 0.485913 0.500000 -vt 0.510493 0.524580 -vt 0.505938 0.524580 -vt 0.501383 0.524579 -vt 0.501383 0.523856 -vt 0.494062 0.496406 -vt 0.480129 0.504555 -vt 0.480129 0.504555 -vt 0.514087 0.511876 -vt 0.514087 0.516430 -vt 0.519871 0.511875 -vt 0.517702 0.511875 -vt 0.519871 0.516430 -vt 0.477960 0.516430 -vt 0.477960 0.516430 -vt 0.475791 0.520985 -vt 0.477960 0.520985 -vt 0.477960 0.511874 -vt 0.501382 0.528195 -vt 0.501382 0.530364 -vt 0.524209 0.504556 -vt 0.522040 0.504556 -vt 0.494063 0.534702 -vt 0.494063 0.532533 -vt 0.494063 0.490622 -vt 0.505937 0.530364 -vt 0.510493 0.530364 -vt 0.482298 0.500000 -vt 0.480129 0.500000 -vt 0.505937 0.488453 -vt 0.505937 0.486284 -vt 0.510493 0.488453 -vt 0.501382 0.488453 -vt 0.485190 0.504555 -vt 0.485190 0.509110 -vt 0.485913 0.511876 -vt 0.485190 0.511875 -vt 0.485913 0.516430 -vt 0.485190 0.516430 -vt 0.485913 0.516430 -vt 0.485913 0.509110 -vt 0.485190 0.509110 -vt 0.485913 0.509110 -vt 0.480129 0.509111 -vt 0.477960 0.511874 -vt 0.477960 0.509111 -vt 0.480129 0.509111 -vt 0.477960 0.511874 -vt 0.485190 0.516430 -vt 0.485913 0.504555 -vt 0.485913 0.516430 -vt 0.485913 0.504555 -vt 0.485190 0.504555 -vt 0.480129 0.511875 -vt 0.477960 0.511874 -vt 0.485190 0.511875 -vt 0.485913 0.511876 -vt 0.485913 0.504555 -vt 0.485190 0.504555 -vt 0.480129 0.511875 -vt 0.477960 0.516430 -vt 0.480129 0.516430 -vt 0.485913 0.511876 -vt 0.485190 0.511875 -vt 0.477960 0.504556 -vt 0.480129 0.504555 -vt 0.485913 0.509110 -vt 0.485190 0.516430 -vt 0.477960 0.516430 -vt 0.480129 0.509111 -vt 0.477960 0.504556 -vt 0.480129 0.504555 -vt 0.480129 0.516430 -vt 0.485190 0.509110 -vt 0.477960 0.509111 -vt 0.495177 0.520985 -vt 0.504823 0.530722 -vt 0.504823 0.520985 -vt 0.870177 0.395985 -vt 0.870177 0.375000 -vt 0.864507 0.380669 -vt 0.510493 0.505669 -vt 0.520229 0.515316 -vt 0.520229 0.505669 -vt 0.504823 0.500000 -vt 0.495177 0.490263 -vt 0.495177 0.500000 -vt 0.489507 0.502835 -vt 0.479771 0.505669 -vt 0.489507 0.505669 -vt 0.479771 0.500000 -vt 0.479771 0.502835 -vt 0.492342 0.500000 -vt 0.492342 0.490263 -vt 0.510493 0.502835 -vt 0.520229 0.502835 -vt 0.507658 0.500000 -vt 0.510493 0.490263 -vt 0.507658 0.490263 -vt 0.504823 0.490263 -vt 0.489507 0.518151 -vt 0.479771 0.515316 -vt 0.479771 0.518151 -vt 0.489507 0.520985 -vt 0.479771 0.520985 -vt 0.492342 0.530722 -vt 0.495177 0.530722 -vt 0.510493 0.515316 -vt 0.520229 0.518151 -vt 0.510493 0.520985 -vt 0.507658 0.530722 -vt 0.510493 0.530722 -vt 0.507658 0.520985 -vt 0.489507 0.515316 -vt 0.504823 0.541970 -vt 0.495177 0.533005 -vt 0.495177 0.541970 -vt 0.531478 0.505669 -vt 0.520291 0.515316 -vt 0.531478 0.515316 -vt 0.864507 0.338699 -vt 0.885493 0.338699 -vt 0.879823 0.333030 -vt 0.504823 0.479015 -vt 0.495177 0.487980 -vt 0.504823 0.489379 -vt 0.468522 0.502835 -vt 0.476665 0.505669 -vt 0.476775 0.502835 -vt 0.468522 0.500000 -vt 0.477076 0.500000 -vt 0.495177 0.479015 -vt 0.492342 0.487569 -vt 0.520401 0.502835 -vt 0.520291 0.505669 -vt 0.510493 0.479015 -vt 0.507658 0.489790 -vt 0.510493 0.490091 -vt 0.507658 0.479015 -vt 0.476665 0.515316 -vt 0.468522 0.518151 -vt 0.476775 0.518151 -vt 0.468522 0.520985 -vt 0.477076 0.520985 -vt 0.492342 0.533417 -vt 0.492342 0.541970 -vt 0.520401 0.518151 -vt 0.531478 0.518151 -vt 0.510493 0.541970 -vt 0.507658 0.531195 -vt 0.507658 0.541970 -vt 0.504823 0.531606 -vt 0.468522 0.505669 -vt 0.495186 0.467249 -vt 0.495535 0.466904 -vt 0.495453 0.466778 -vt 0.498728 0.469344 -vt 0.498585 0.469324 -vt 0.498457 0.469796 -vt 0.525955 0.530695 -vt 0.519466 0.504740 -vt 0.525955 0.504740 -vt 0.519466 0.530695 -vt 0.512977 0.504740 -vt 0.512977 0.530695 -vt 0.506489 0.504740 -vt 0.506489 0.530695 -vt 0.500000 0.504740 -vt 0.500000 0.530695 -vt 0.493511 0.504740 -vt 0.493511 0.530695 -vt 0.487023 0.504740 -vt 0.495832 0.482954 -vt 0.499481 0.491763 -vt 0.474564 0.491763 -vt 0.487023 0.530695 -vt 0.480534 0.504740 -vt 0.480534 0.530695 -vt 0.474045 0.504740 -vt 0.504168 0.482954 -vt 0.500519 0.491763 -vt 0.521787 0.482954 -vt 0.525955 0.530695 -vt 0.519466 0.504740 -vt 0.525955 0.504740 -vt 0.519466 0.530695 -vt 0.512977 0.504740 -vt 0.512977 0.530695 -vt 0.506489 0.504740 -vt 0.506489 0.530695 -vt 0.500000 0.504740 -vt 0.500000 0.530695 -vt 0.493511 0.504740 -vt 0.487023 0.530695 -vt 0.487023 0.504740 -vt 0.495832 0.482954 -vt 0.499481 0.491763 -vt 0.474564 0.491763 -vt 0.480534 0.504740 -vt 0.480534 0.530695 -vt 0.474045 0.504740 -vt 0.504168 0.482954 -vt 0.500519 0.491763 -vt 0.521787 0.482954 -vt 0.501380 0.541209 -vt 0.509705 0.472983 -vt 0.509705 0.464061 -vt 0.510493 0.463955 -vt 0.510493 0.473089 -vt 0.507530 0.478221 -vt 0.504461 0.478227 -vt 0.495539 0.478227 -vt 0.492470 0.478221 -vt 0.492917 0.477524 -vt 0.490301 0.476052 -vt 0.490998 0.475605 -vt 0.489507 0.473089 -vt 0.489507 0.463955 -vt 0.490295 0.464061 -vt 0.490301 0.460992 -vt 0.495433 0.458030 -vt 0.504567 0.458030 -vt 0.495539 0.458817 -vt 0.507530 0.458824 -vt 0.507083 0.459520 -vt 0.504461 0.458817 -vt 0.509699 0.460992 -vt 0.509002 0.461439 -vt 0.490295 0.472983 -vt 0.507530 0.479015 -vt 0.469284 0.500000 -vt 0.468522 0.518022 -vt 0.531478 0.502963 -vt 0.504570 0.500000 -vt 0.510493 0.515063 -vt 0.468522 0.500000 -vt 0.492470 0.541970 -vt 0.489507 0.504407 -vt 0.505938 0.500000 -vt 0.492257 0.541970 -vt 0.531478 0.518271 -vt 0.867342 0.375760 -vt 0.865267 0.377835 -vt 0.864507 0.390316 -vt 0.865267 0.393151 -vt 0.867342 0.395226 -vt 0.879823 0.395985 -vt 0.879823 0.375000 -vt 0.882658 0.395226 -vt 0.885493 0.390316 -vt 0.884733 0.393151 -vt 0.885493 0.380669 -vt 0.884733 0.377835 -vt 0.882658 0.375760 -vt 0.489507 0.500000 -vt 0.510493 0.500000 -vt 0.492342 0.520985 -vt 0.510493 0.518151 -vt 0.884733 0.335864 -vt 0.882658 0.333789 -vt 0.870177 0.333030 -vt 0.867342 0.333789 -vt 0.865267 0.335864 -vt 0.864507 0.348345 -vt 0.885493 0.348345 -vt 0.865267 0.351180 -vt 0.870177 0.354015 -vt 0.867342 0.353255 -vt 0.879823 0.354015 -vt 0.882658 0.353255 -vt 0.884733 0.351180 -vt 0.492342 0.479015 -vt 0.531478 0.502835 -vt 0.468522 0.515316 -vt 0.510493 0.530894 -vt 0.498585 0.467720 -vt 0.498725 0.467687 -vt 0.498457 0.467249 -vt 0.498584 0.467168 -vt 0.498190 0.466778 -vt 0.497652 0.466636 -vt 0.498109 0.466904 -vt 0.495991 0.466636 -vt 0.497632 0.466777 -vt 0.496011 0.466777 -vt 0.495059 0.467168 -vt 0.494915 0.467701 -vt 0.494915 0.469344 -vt 0.495058 0.469324 -vt 0.495059 0.469876 -vt 0.495186 0.469796 -vt 0.495453 0.470266 -vt 0.495991 0.470409 -vt 0.495535 0.470141 -vt 0.497652 0.470409 -vt 0.497632 0.470267 -vt 0.497686 0.470400 -vt 0.496011 0.470267 -vt 0.495058 0.467720 -vt 0.498109 0.470141 -vt 0.498190 0.470266 -vt 0.498584 0.469876 -vt 0.498728 0.467700 -vt 0.495832 0.500572 -vt 0.487023 0.504221 -vt 0.478213 0.500572 -vt 0.478213 0.482954 -vt 0.487023 0.479305 -vt 0.474045 0.530695 -vt 0.504168 0.500572 -vt 0.512977 0.504221 -vt 0.521787 0.500572 -vt 0.525436 0.491763 -vt 0.512977 0.479305 -vt 0.493511 0.530695 -vt 0.495832 0.500572 -vt 0.478213 0.500572 -vt 0.487023 0.504221 -vt 0.478213 0.482954 -vt 0.487023 0.479305 -vt 0.474045 0.530695 -vt 0.504168 0.500572 -vt 0.512977 0.504221 -vt 0.521787 0.500572 -vt 0.525436 0.491763 -vt 0.512977 0.479305 -vt 0.371268 0.943633 -vt 0.367827 0.955527 -vt 0.366636 0.943649 -vt 0.381550 0.940814 -vt 0.382258 0.935153 -vt 0.382295 0.940404 -vt 0.391314 0.917372 -vt 0.387851 0.929235 -vt 0.386661 0.917361 -vt 0.381550 0.952696 -vt 0.382258 0.947034 -vt 0.382295 0.952286 -vt 0.381161 0.947754 -vt 0.380384 0.959630 -vt 0.380384 0.947755 -vt 0.394333 0.943569 -vt 0.395110 0.931693 -vt 0.395110 0.943569 -vt 0.372659 0.931749 -vt 0.372963 0.943630 -vt 0.371406 0.943632 -vt 0.374290 0.943626 -vt 0.384843 0.917381 -vt 0.386268 0.929238 -vt 0.384843 0.929258 -vt 0.366402 0.943630 -vt 0.364789 0.931745 -vt 0.366616 0.931749 -vt 0.364789 0.943632 -vt 0.366242 0.955526 -vt 0.364789 0.955509 -vt 0.390241 0.955532 -vt 0.394413 0.943678 -vt 0.394413 0.955554 -vt 0.390280 0.943595 -vt 0.394333 0.931693 -vt 0.394333 0.943570 -vt 0.376590 0.929273 -vt 0.377971 0.917370 -vt 0.378156 0.929244 -vt 0.390102 0.931720 -vt 0.388860 0.943626 -vt 0.388860 0.931749 -vt 0.383406 0.929240 -vt 0.384843 0.917388 -vt 0.384843 0.929264 -vt 0.388860 0.943626 -vt 0.388860 0.955503 -vt 0.383218 0.917363 -vt 0.495232 0.703241 -vt 0.494569 0.704237 -vt 0.492772 0.703946 -vt 0.488430 0.699706 -vt 0.489012 0.704674 -vt 0.485520 0.704674 -vt 0.421020 0.774987 -vt 0.425232 0.782997 -vt 0.421016 0.783030 -vt 0.521988 0.768492 -vt 0.523022 0.776339 -vt 0.522016 0.776336 -vt 0.478775 0.778864 -vt 0.477085 0.786860 -vt 0.477085 0.779073 -vt 0.425912 0.774968 -vt 0.426074 0.782979 -vt 0.477042 0.778730 -vt 0.517782 0.768312 -vt 0.517783 0.776335 -vt 0.492046 0.703241 -vt 0.491384 0.704237 -vt 0.489586 0.703946 -vt 0.482611 0.704129 -vt 0.482029 0.699162 -vt 0.485520 0.699162 -vt 0.512531 0.768213 -vt 0.516756 0.776238 -vt 0.512533 0.776262 -vt 0.459632 0.768419 -vt 0.460686 0.776273 -vt 0.459658 0.776258 -vt 0.472689 0.786711 -vt 0.474439 0.778729 -vt 0.474423 0.786516 -vt 0.517446 0.768211 -vt 0.517618 0.776232 -vt 0.474403 0.786859 -vt 0.455427 0.768243 -vt 0.455423 0.776259 -vt 0.575570 0.742553 -vt 0.575426 0.727135 -vt 0.575726 0.727134 -vt 0.571225 0.742558 -vt 0.571542 0.727132 -vt 0.571745 0.742558 -vt 0.576785 0.727136 -vt 0.576836 0.742557 -vt 0.576615 0.742554 -vt 0.577010 0.742552 -vt 0.570304 0.734465 -vt 0.569967 0.734121 -vt 0.570399 0.733769 -vt 0.573213 0.742552 -vt 0.573676 0.727132 -vt 0.434304 0.471165 -vt 0.433762 0.413043 -vt 0.434892 0.413040 -vt 0.421815 0.471186 -vt 0.423013 0.413032 -vt 0.423776 0.471185 -vt 0.437406 0.413047 -vt 0.437595 0.471180 -vt 0.436763 0.471170 -vt 0.438253 0.471163 -vt 0.569755 0.734465 -vt 0.569418 0.734121 -vt 0.569850 0.733769 -vt 0.429311 0.471161 -vt 0.428984 0.413035 -vt 0.431053 0.413035 -vt 0.356137 0.501234 -vt 0.355694 0.443112 -vt 0.356741 0.443107 -vt 0.424528 0.471184 -vt 0.424205 0.413032 -vt 0.426271 0.413033 -vt 0.438253 0.413040 -vt 0.439235 0.471176 -vt 0.438253 0.471170 -vt 0.431799 0.413040 -vt 0.432557 0.471156 -vt 0.431373 0.471167 -vt 0.433762 0.413041 -vt 0.433762 0.471165 -vt 0.571437 0.750482 -vt 0.571774 0.750827 -vt 0.571225 0.750643 -vt 0.509848 0.719595 -vt 0.509561 0.720125 -vt 0.508113 0.719459 -vt 0.495941 0.717521 -vt 0.496280 0.720449 -vt 0.494226 0.720449 -vt 0.479590 0.757776 -vt 0.482065 0.762486 -vt 0.479592 0.762511 -vt 0.515709 0.757907 -vt 0.516273 0.762596 -vt 0.515676 0.762597 -vt 0.495198 0.768777 -vt 0.494672 0.764104 -vt 0.495241 0.764065 -vt 0.482499 0.757782 -vt 0.482591 0.762501 -vt 0.513185 0.757878 -vt 0.513185 0.762597 -vt 0.507138 0.714434 -vt 0.506659 0.715155 -vt 0.505047 0.714411 -vt 0.493178 0.715077 -vt 0.492756 0.711483 -vt 0.495282 0.711483 -vt 0.483905 0.767997 -vt 0.480852 0.762190 -vt 0.483905 0.762173 -vt 0.494228 0.765945 -vt 0.493697 0.771725 -vt 0.493596 0.765956 -vt 0.497619 0.774961 -vt 0.498844 0.769184 -vt 0.498861 0.774950 -vt 0.480356 0.767996 -vt 0.480234 0.762192 -vt 0.497372 0.765940 -vt 0.494348 0.771748 -vt 0.424670 0.471203 -vt 0.425252 0.494198 -vt 0.424205 0.494200 -vt 0.429212 0.471202 -vt 0.429503 0.494198 -vt 0.430262 0.494198 -vt 0.570669 0.751831 -vt 0.570385 0.751592 -vt 0.570902 0.751545 -vt 0.345354 0.490745 -vt 0.346396 0.513736 -vt 0.345177 0.513730 -vt 0.428282 0.494198 -vt 0.427700 0.471202 -vt 0.428747 0.471202 -vt 0.397747 0.580187 -vt 0.394073 0.579407 -vt 0.393602 0.574433 -vt 0.425719 0.471205 -vt 0.426766 0.494198 -vt 0.425719 0.494200 -vt 0.431311 0.494198 -vt 0.430729 0.471202 -vt 0.431776 0.471202 -vt 0.343841 0.490745 -vt 0.344423 0.513728 -vt 0.343369 0.513734 -vt 0.403588 0.580196 -vt 0.399790 0.578108 -vt 0.406722 0.576367 -vt 0.422691 0.486096 -vt 0.423738 0.509092 -vt 0.422691 0.509093 -vt 0.506823 0.608727 -vt 0.501891 0.609219 -vt 0.501420 0.604245 -vt 0.411504 0.511461 -vt 0.410672 0.497738 -vt 0.411726 0.497742 -vt 0.395847 0.491290 -vt 0.395418 0.505007 -vt 0.393887 0.491290 -vt 0.366082 0.497692 -vt 0.367054 0.511397 -vt 0.366082 0.511404 -vt 0.361539 0.505045 -vt 0.360767 0.491329 -vt 0.361972 0.491337 -vt 0.570517 0.734305 -vt 0.570620 0.733794 -vt 0.570963 0.734304 -vt 0.359583 0.505051 -vt 0.359583 0.491340 -vt 0.409740 0.440677 -vt 0.408471 0.439379 -vt 0.410542 0.439627 -vt 0.363981 0.497690 -vt 0.364963 0.511409 -vt 0.364130 0.511399 -vt 0.391391 0.505008 -vt 0.391066 0.491290 -vt 0.393133 0.491290 -vt 0.363019 0.497692 -vt 0.363472 0.511416 -vt 0.362416 0.511404 -vt 0.403016 0.505002 -vt 0.404222 0.491300 -vt 0.404980 0.505004 -vt 0.363472 0.511416 -vt 0.407864 0.437759 -vt 0.408471 0.439627 -vt 0.406729 0.437779 -vt 0.398666 0.491289 -vt 0.399429 0.505008 -vt 0.398237 0.505006 -vt 0.400627 0.491289 -vt 0.400627 0.505007 -vt 0.429793 0.494206 -vt 0.430246 0.507929 -vt 0.429288 0.507916 -vt 0.400627 0.505002 -vt 0.401833 0.491300 -vt 0.402591 0.505004 -vt 0.386075 0.576263 -vt 0.383916 0.569616 -vt 0.391286 0.570498 -vt 0.413144 0.511457 -vt 0.412805 0.497746 -vt 0.413652 0.497731 -vt 0.404935 0.440456 -vt 0.404328 0.438588 -vt 0.405997 0.440517 -vt 0.415753 0.511457 -vt 0.414771 0.497739 -vt 0.415604 0.497748 -vt 0.397912 0.491289 -vt 0.398237 0.505007 -vt 0.396170 0.505007 -vt 0.368629 0.497686 -vt 0.369082 0.511410 -vt 0.368025 0.511398 -vt 0.357194 0.505042 -vt 0.358399 0.491340 -vt 0.359158 0.505044 -vt 0.416261 0.497731 -vt 0.403722 0.437759 -vt 0.404328 0.439627 -vt 0.402586 0.437779 -vt 0.429498 0.677762 -vt 0.427746 0.708005 -vt 0.428228 0.676779 -vt 0.440120 0.674822 -vt 0.466588 0.673477 -vt 0.466588 0.674826 -vt 0.504309 0.667775 -vt 0.502926 0.641362 -vt 0.504264 0.641362 -vt 0.412007 0.642396 -vt 0.437661 0.642407 -vt 0.438438 0.646282 -vt 0.439216 0.642522 -vt 0.440152 0.673517 -vt 0.439216 0.673359 -vt 0.511711 0.641452 -vt 0.511733 0.667711 -vt 0.440183 0.641311 -vt 0.467515 0.641975 -vt 0.466589 0.641320 -vt 0.429147 0.709284 -vt 0.427664 0.709192 -vt 0.435047 0.742314 -vt 0.436252 0.742542 -vt 0.434845 0.743796 -vt 0.436308 0.743702 -vt 0.435335 0.744362 -vt 0.470698 0.713330 -vt 0.464029 0.714165 -vt 0.463402 0.713458 -vt 0.511540 0.668556 -vt 0.434941 0.712089 -vt 0.429241 0.711334 -vt 0.434963 0.710592 -vt 0.511554 0.640612 -vt 0.504431 0.640434 -vt 0.435097 0.708287 -vt 0.428953 0.707788 -vt 0.428893 0.742713 -vt 0.427724 0.743838 -vt 0.429498 0.676288 -vt 0.436412 0.676204 -vt 0.435208 0.677103 -vt 0.411161 0.661586 -vt 0.438464 0.655933 -vt 0.438464 0.661586 -vt 0.436226 0.711098 -vt 0.436193 0.709862 -vt 0.436803 0.710598 -vt 0.428279 0.675581 -vt 0.466535 0.640563 -vt 0.411237 0.671211 -vt 0.438468 0.671214 -vt 0.470698 0.741612 -vt 0.464020 0.740635 -vt 0.471393 0.740634 -vt 0.411224 0.655933 -vt 0.428164 0.711436 -vt 0.428171 0.713905 -vt 0.427403 0.711615 -vt 0.411428 0.674136 -vt 0.412042 0.673484 -vt 0.411161 0.646279 -vt 0.411486 0.641662 -vt 0.428352 0.738634 -vt 0.427769 0.742864 -vt 0.427062 0.742700 -vt 0.436216 0.708456 -vt 0.435695 0.704266 -vt 0.437026 0.708721 -vt 0.438183 0.641677 -vt 0.434150 0.692223 -vt 0.410889 0.641049 -vt 0.410445 0.641760 -vt 0.436260 0.709440 -vt 0.411204 0.675002 -vt 0.412117 0.675371 -vt 0.436284 0.677233 -vt 0.435196 0.689169 -vt 0.411716 0.640547 -vt 0.429075 0.723446 -vt 0.430074 0.726566 -vt 0.416646 0.675313 -vt 0.435072 0.694739 -vt 0.438201 0.674159 -vt 0.437597 0.673516 -vt 0.436241 0.679706 -vt 0.437042 0.677448 -vt 0.438146 0.675224 -vt 0.410435 0.673969 -vt 0.427999 0.710394 -vt 0.437942 0.640549 -vt 0.429116 0.729054 -vt 0.438761 0.641049 -vt 0.471409 0.714289 -vt 0.462400 0.721084 -vt 0.463152 0.739661 -vt 0.462192 0.735553 -vt 0.462462 0.733557 -vt 0.428712 0.675581 -vt 0.433583 0.675278 -vt 0.569964 0.772753 -vt 0.569836 0.772536 -vt 0.569996 0.772704 -vt 0.570134 0.768804 -vt 0.572192 0.773318 -vt 0.569990 0.771230 -vt 0.572176 0.770591 -vt 0.572117 0.772139 -vt 0.572117 0.770591 -vt 0.566312 0.771716 -vt 0.566458 0.771466 -vt 0.566364 0.771744 -vt 0.569732 0.770350 -vt 0.569367 0.768800 -vt 0.569732 0.768803 -vt 0.569367 0.770347 -vt 0.569074 0.768794 -vt 0.569062 0.772148 -vt 0.568860 0.770595 -vt 0.569062 0.770601 -vt 0.568617 0.772139 -vt 0.568617 0.770592 -vt 0.566519 0.769700 -vt 0.566869 0.771248 -vt 0.566519 0.771248 -vt 0.566159 0.769700 -vt 0.566159 0.771248 -vt 0.565874 0.769699 -vt 0.565874 0.771247 -vt 0.566312 0.771550 -vt 0.566054 0.773093 -vt 0.566054 0.771453 -vt 0.565822 0.771545 -vt 0.565822 0.773092 -vt 0.337837 0.432966 -vt 0.340321 0.391210 -vt 0.340321 0.432960 -vt 0.565874 0.769398 -vt 0.566159 0.769116 -vt 0.569732 0.771214 -vt 0.569742 0.771916 -vt 0.569785 0.771575 -vt 0.569837 0.771547 -vt 0.320441 0.432939 -vt 0.322924 0.404752 -vt 0.322924 0.432933 -vt 0.566519 0.768835 -vt 0.569367 0.770930 -vt 0.569741 0.772256 -vt 0.569690 0.771943 -vt 0.569074 0.770643 -vt 0.569074 0.770341 -vt 0.306676 0.432897 -vt 0.309160 0.418341 -vt 0.309160 0.432891 -vt 0.569690 0.772284 -vt 0.566312 0.771248 -vt 0.568860 0.772234 -vt 0.569062 0.772449 -vt 0.420177 0.486578 -vt 0.421815 0.500990 -vt 0.419743 0.500973 -vt 0.424694 0.494276 -vt 0.424976 0.508963 -vt 0.424205 0.509046 -vt 0.425719 0.494416 -vt 0.425719 0.509054 -vt 0.423644 0.471205 -vt 0.422044 0.485459 -vt 0.421815 0.471221 -vt 0.426462 0.494277 -vt 0.427232 0.508292 -vt 0.426199 0.508253 -vt 0.374576 0.492336 -vt 0.375347 0.506904 -vt 0.374576 0.506988 -vt 0.375619 0.492204 -vt 0.376090 0.506996 -vt 0.421815 0.471186 -vt 0.420198 0.485589 -vt 0.419743 0.471203 -vt 0.428746 0.494200 -vt 0.428002 0.508197 -vt 0.427730 0.494248 -vt 0.494437 0.610983 -vt 0.494691 0.603806 -vt 0.499135 0.604713 -vt 0.343623 0.476499 -vt 0.345198 0.490736 -vt 0.343369 0.490721 -vt 0.371268 0.955510 -vt 0.388860 0.942848 -vt 0.388860 0.943626 -vt 0.384621 0.942652 -vt 0.384195 0.943394 -vt 0.382491 0.942436 -vt 0.383113 0.941814 -vt 0.381301 0.935808 -vt 0.381610 0.934253 -vt 0.382491 0.932935 -vt 0.383113 0.933557 -vt 0.383809 0.932054 -vt 0.385364 0.931745 -vt 0.384522 0.932739 -vt 0.388860 0.931745 -vt 0.388860 0.932522 -vt 0.391314 0.929249 -vt 0.388860 0.954729 -vt 0.388860 0.955507 -vt 0.384709 0.954550 -vt 0.384195 0.955275 -vt 0.382491 0.954317 -vt 0.383113 0.953695 -vt 0.381507 0.946653 -vt 0.382491 0.944816 -vt 0.383113 0.945438 -vt 0.383809 0.943935 -vt 0.385364 0.943626 -vt 0.384594 0.944606 -vt 0.388860 0.943626 -vt 0.388860 0.944404 -vt 0.381161 0.959629 -vt 0.394333 0.931694 -vt 0.374290 0.931745 -vt 0.390215 0.943655 -vt 0.376590 0.917397 -vt 0.492270 0.699162 -vt 0.495295 0.699162 -vt 0.485642 0.700440 -vt 0.486373 0.699336 -vt 0.522976 0.768556 -vt 0.478848 0.786851 -vt 0.570420 0.751269 -vt 0.570385 0.749601 -vt 0.571102 0.749603 -vt 0.571063 0.751279 -vt 0.522601 0.768212 -vt 0.492198 0.702646 -vt 0.489084 0.699162 -vt 0.492110 0.699162 -vt 0.485399 0.703396 -vt 0.484668 0.704500 -vt 0.460641 0.768495 -vt 0.472663 0.778723 -vt 0.450670 0.588689 -vt 0.451127 0.611059 -vt 0.441579 0.611107 -vt 0.442104 0.588630 -vt 0.460263 0.768150 -vt 0.489012 0.702646 -vt 0.571225 0.727132 -vt 0.571859 0.727132 -vt 0.577010 0.727132 -vt 0.573761 0.742551 -vt 0.570074 0.733675 -vt 0.570517 0.734305 -vt 0.432280 0.570347 -vt 0.434439 0.576993 -vt 0.428240 0.570418 -vt 0.428643 0.578904 -vt 0.432280 0.580962 -vt 0.421815 0.413034 -vt 0.424205 0.413034 -vt 0.438253 0.413032 -vt 0.431373 0.471156 -vt 0.569524 0.733675 -vt 0.569967 0.734305 -vt 0.435263 0.471178 -vt 0.424910 0.570347 -vt 0.427069 0.576993 -vt 0.420870 0.570418 -vt 0.421272 0.578904 -vt 0.424910 0.580962 -vt 0.426595 0.471184 -vt 0.439086 0.413049 -vt 0.439743 0.413032 -vt 0.569300 0.733769 -vt 0.569330 0.734401 -vt 0.569029 0.734407 -vt 0.568868 0.733911 -vt 0.569029 0.733615 -vt 0.357194 0.501246 -vt 0.571342 0.751179 -vt 0.571667 0.751272 -vt 0.508103 0.717207 -vt 0.509883 0.717207 -vt 0.508438 0.720133 -vt 0.494012 0.764067 -vt 0.494126 0.768772 -vt 0.494298 0.717959 -vt 0.494728 0.717310 -vt 0.516180 0.757885 -vt 0.464094 0.614634 -vt 0.463637 0.592264 -vt 0.473184 0.592216 -vt 0.472660 0.614694 -vt 0.509020 0.720307 -vt 0.504995 0.711483 -vt 0.507184 0.711483 -vt 0.505488 0.715131 -vt 0.495179 0.714633 -vt 0.494624 0.715362 -vt 0.497605 0.769189 -vt 0.568496 0.749635 -vt 0.568532 0.751306 -vt 0.567815 0.751303 -vt 0.567854 0.749627 -vt 0.497371 0.771755 -vt 0.427233 0.494198 -vt 0.430262 0.471202 -vt 0.570619 0.751306 -vt 0.346396 0.490753 -vt 0.397747 0.573150 -vt 0.399790 0.576325 -vt 0.426475 0.471202 -vt 0.427233 0.471205 -vt 0.430262 0.494198 -vt 0.400571 0.574408 -vt 0.404692 0.573171 -vt 0.344882 0.490753 -vt 0.423913 0.486096 -vt 0.506351 0.603752 -vt 0.410672 0.511451 -vt 0.393456 0.505008 -vt 0.366899 0.497680 -vt 0.367582 0.497697 -vt 0.570905 0.733615 -vt 0.571066 0.733793 -vt 0.570678 0.734483 -vt 0.412162 0.511444 -vt 0.409935 0.437759 -vt 0.408873 0.437698 -vt 0.364963 0.497696 -vt 0.393456 0.505008 -vt 0.361972 0.497697 -vt 0.403016 0.491291 -vt 0.378120 0.575225 -vt 0.376546 0.568035 -vt 0.383916 0.570498 -vt 0.379398 0.565879 -vt 0.382484 0.576479 -vt 0.405405 0.491289 -vt 0.407864 0.440742 -vt 0.406842 0.440164 -vt 0.412162 0.511451 -vt 0.428746 0.494211 -vt 0.400627 0.491291 -vt 0.386768 0.565879 -vt 0.389854 0.576479 -vt 0.403016 0.491289 -vt 0.405130 0.437538 -vt 0.406399 0.438836 -vt 0.414771 0.511451 -vt 0.395847 0.491289 -vt 0.367582 0.497692 -vt 0.357194 0.491331 -vt 0.370750 0.575225 -vt 0.369176 0.568035 -vt 0.376546 0.570498 -vt 0.372028 0.565879 -vt 0.375114 0.576479 -vt 0.359583 0.491329 -vt 0.403722 0.440742 -vt 0.402699 0.440164 -vt 0.502930 0.667829 -vt 0.467515 0.673308 -vt 0.428628 0.709862 -vt 0.427032 0.708211 -vt 0.436955 0.742725 -vt 0.504409 0.668731 -vt 0.427716 0.676108 -vt 0.440175 0.640569 -vt 0.463280 0.741163 -vt 0.439216 0.673969 -vt 0.463071 0.714467 -vt 0.462217 0.718740 -vt 0.420939 0.675581 -vt 0.569784 0.772563 -vt 0.572176 0.772139 -vt 0.566618 0.772766 -vt 0.566589 0.772783 -vt 0.566460 0.772451 -vt 0.566408 0.772424 -vt 0.566313 0.772056 -vt 0.566365 0.772084 -vt 0.566407 0.771438 -vt 0.566587 0.771248 -vt 0.566618 0.771297 -vt 0.566869 0.768836 -vt 0.566312 0.773097 -vt 0.337837 0.391216 -vt 0.320441 0.404759 -vt 0.306676 0.418347 -vt 0.421815 0.486096 -vt 0.423886 0.486001 -vt 0.425719 0.494206 -vt 0.453240 0.579573 -vt 0.449179 0.573589 -vt 0.456481 0.576355 -vt 0.451318 0.569326 -vt 0.454342 0.570103 -vt 0.427232 0.494200 -vt 0.447596 0.571368 -vt 0.449179 0.578573 -vt 0.442955 0.578144 -vt 0.447020 0.580961 -vt 0.443207 0.570167 -vt 0.421815 0.486096 -vt 0.428746 0.508275 -vt 0.500634 0.611069 -vt 0.498498 0.613367 -vt 0.427232 0.508281 -vt 0.345441 0.475930 -vt 0.437678 0.569687 -vt 0.441809 0.576508 -vt 0.434439 0.572885 -vt 0.439650 0.580961 -vt 0.436597 0.579941 -vt 0.095881 0.826295 -vt 0.093119 0.840173 -vt 0.092891 0.841075 -vt 0.175484 0.822114 -vt 0.099135 0.818914 -vt 0.175501 0.820752 -vt 0.100046 0.836009 -vt 0.174498 0.834971 -vt 0.174279 0.835881 -vt 0.097804 0.844311 -vt 0.096644 0.856071 -vt 0.096636 0.856157 -vt 0.095927 0.872822 -vt 0.093640 0.872822 -vt 0.090403 0.872822 -vt 0.096155 0.864195 -vt 0.094712 0.872822 -vt 0.095045 0.859736 -vt 0.090137 0.862258 -vt 0.090197 0.872822 -vt 0.090137 0.861955 -vt 0.090707 0.854880 -vt 0.092896 0.841054 -vt 0.092874 0.841163 -vt 0.109711 0.819089 -vt 0.116586 0.839185 -vt 0.115253 0.817674 -vt 0.164424 0.899193 -vt 0.177565 0.858651 -vt 0.164424 0.852997 -vt 0.151283 0.899193 -vt 0.151283 0.850655 -vt 0.138141 0.852997 -vt 0.124221 0.858986 -vt 0.124698 0.884876 -vt 0.116559 0.838186 -vt 0.123949 0.820345 -vt 0.098162 0.845346 -vt 0.097567 0.822698 -vt 0.095050 0.838259 -vt 0.096071 0.826069 -vt 0.093402 0.857445 -vt 0.092484 0.854706 -vt 0.090690 0.854991 -vt 0.090403 0.872822 -vt 0.091874 0.862405 -vt 0.091818 0.872822 -vt 0.093226 0.858790 -vt 0.094886 0.839254 -vt 0.092484 0.854706 -vt 0.093640 0.872822 -vt 0.095890 0.826265 -vt 0.090736 0.854843 -vt 0.092905 0.841010 -vt 0.093059 0.840510 -vt 0.091874 0.862405 -vt 0.091818 0.872822 -vt 0.098925 0.820909 -vt 0.098414 0.820953 -vt 0.097579 0.822675 -vt 0.090230 0.862289 -vt 0.099238 0.819004 -vt 0.107501 0.819052 -vt 0.090736 0.854843 -vt 0.090690 0.854991 -vt 0.090702 0.854912 -vt 0.174279 0.835881 -vt 0.101019 0.837365 -vt 0.174126 0.836950 -vt 0.096195 0.864336 -vt 0.095927 0.872822 -vt 0.094172 0.859509 -vt 0.096762 0.842319 -vt 0.095896 0.842464 -vt 0.098347 0.837194 -vt 0.098545 0.835748 -vt 0.098347 0.837194 -vt 0.095906 0.842072 -vt 0.098545 0.835748 -vt 0.174494 0.834971 -vt 0.100046 0.836009 -vt 0.101816 0.837253 -vt 0.174126 0.836951 -vt 0.173933 0.837265 -vt 0.094172 0.859508 -vt 0.098964 0.839566 -vt 0.096763 0.842319 -vt 0.096213 0.864527 -vt 0.096110 0.872822 -vt 0.096106 0.872822 -vt 0.097961 0.843416 -vt 0.096688 0.855741 -vt 0.097823 0.844236 -vt 0.090200 0.872822 -vt 0.090230 0.862289 -vt 0.101816 0.837253 -vt 0.173936 0.837263 -vt 0.096657 0.855934 -vt 0.097964 0.843417 -vt 0.097961 0.843416 -vt 0.098964 0.839566 -vt 0.096670 0.855932 -vt 0.097823 0.844236 -vt 0.095045 0.859736 -vt 0.094712 0.872822 -vt 0.096152 0.864306 -vt 0.096195 0.864336 -vt 0.096213 0.864563 -vt 0.101019 0.837365 -vt 0.098983 0.839375 -vt 0.099354 0.838195 -vt 0.098930 0.839667 -vt 0.099462 0.838211 -vt 0.100631 0.837252 -vt 0.099462 0.838211 -vt 0.100634 0.837255 -vt 0.099354 0.838195 -vt 0.098983 0.839375 -vt 0.098997 0.839456 -vt 0.096657 0.855934 -vt 0.090157 0.862454 -vt 0.090157 0.862454 -vt 0.098364 0.820924 -vt 0.099240 0.818916 -vt 0.098919 0.820944 -vt 0.175457 0.820210 -vt 0.175447 0.822081 -vt 0.099122 0.819713 -vt 0.175463 0.820337 -vt 0.175494 0.820207 -vt 0.112373 0.819133 -vt 0.097232 0.823460 -vt 0.096465 0.825185 -vt 0.174363 0.836946 -vt 0.174732 0.835603 -vt 0.174751 0.835537 -vt 0.174370 0.836918 -vt 0.175458 0.831886 -vt 0.175789 0.831919 -vt 0.175458 0.831886 -vt 0.175789 0.831919 -vt 0.175874 0.820558 -vt 0.175871 0.821058 -vt 0.175863 0.822040 -vt 0.175871 0.821058 -vt 0.175874 0.820567 -vt 0.175863 0.822039 -vt 0.177565 0.899193 -vt 0.138141 0.899193 -vt 0.124772 0.890483 -vt 0.124578 0.899193 -vt 0.098144 0.845339 -vt 0.116559 0.838186 -vt 0.096071 0.826069 -vt 0.099195 0.819046 -vt 0.175454 0.821196 -vt 0.112373 0.819133 -vt 0.099174 0.819092 -vt 0.097232 0.823460 -vt 0.436987 0.437131 -vt 0.424979 0.464613 -vt 0.424979 0.433664 -vt 0.425444 0.464613 -vt 0.412958 0.466107 -vt 0.412958 0.464613 -vt 0.425444 0.467347 -vt 0.412958 0.468321 -vt 0.412958 0.467347 -vt 0.425444 0.469562 -vt 0.412958 0.470536 -vt 0.412958 0.469562 -vt 0.425444 0.471776 -vt 0.412958 0.472751 -vt 0.412958 0.471776 -vt 0.425444 0.473992 -vt 0.412958 0.474818 -vt 0.412958 0.473992 -vt 0.425444 0.476058 -vt 0.412958 0.477033 -vt 0.412958 0.476058 -vt 0.425444 0.478273 -vt 0.412958 0.479248 -vt 0.412958 0.478273 -vt 0.425444 0.480488 -vt 0.412958 0.481463 -vt 0.412958 0.480488 -vt 0.425444 0.482703 -vt 0.412958 0.483677 -vt 0.412958 0.482703 -vt 0.425444 0.484918 -vt 0.412958 0.485892 -vt 0.412958 0.484918 -vt 0.425444 0.488629 -vt 0.412958 0.487132 -vt 0.425444 0.487132 -vt 0.412971 0.437131 -vt 0.400963 0.464613 -vt 0.400963 0.433664 -vt 0.436308 0.483680 -vt 0.448794 0.482705 -vt 0.448794 0.483680 -vt 0.436308 0.479250 -vt 0.448794 0.478423 -vt 0.448794 0.479250 -vt 0.436308 0.474968 -vt 0.448794 0.473993 -vt 0.448794 0.474968 -vt 0.436308 0.470538 -vt 0.448794 0.469564 -vt 0.448794 0.470538 -vt 0.436308 0.468323 -vt 0.448794 0.467349 -vt 0.448794 0.468323 -vt 0.448794 0.464613 -vt 0.436308 0.466109 -vt 0.436308 0.464613 -vt 0.448794 0.472753 -vt 0.436308 0.471778 -vt 0.448794 0.471778 -vt 0.448794 0.477183 -vt 0.436308 0.476208 -vt 0.448794 0.476208 -vt 0.448794 0.481465 -vt 0.436308 0.480490 -vt 0.448794 0.480490 -vt 0.448794 0.485894 -vt 0.436308 0.484920 -vt 0.448794 0.484920 -vt 0.448794 0.488629 -vt 0.436308 0.487135 -vt 0.448794 0.487135 -vt 0.412958 0.488629 -vt 0.388955 0.464613 -vt 0.412958 0.464613 -vt 0.454497 0.488629 -vt 0.455471 0.512645 -vt 0.454497 0.512645 -vt 0.453522 0.488629 -vt 0.454497 0.512645 -vt 0.453522 0.512645 -vt 0.452548 0.488629 -vt 0.453522 0.512645 -vt 0.452548 0.512645 -vt 0.457420 0.488629 -vt 0.458394 0.512645 -vt 0.457420 0.512645 -vt 0.449558 0.512645 -vt 0.450532 0.536661 -vt 0.449558 0.536661 -vt 0.451054 0.512645 -vt 0.449558 0.488629 -vt 0.451054 0.488629 -vt 0.456445 0.512645 -vt 0.457420 0.488629 -vt 0.457420 0.512645 -vt 0.455471 0.512645 -vt 0.456445 0.488629 -vt 0.456445 0.512645 -vt 0.450532 0.536661 -vt 0.451359 0.512645 -vt 0.451359 0.536661 -vt 0.458394 0.512645 -vt 0.459369 0.488629 -vt 0.459369 0.512645 -vt 0.451054 0.512645 -vt 0.452548 0.488629 -vt 0.452548 0.512645 -vt 0.459659 0.464619 -vt 0.388955 0.461146 -vt 0.388955 0.437131 -vt 0.425444 0.477033 -vt 0.436308 0.464619 -vt 0.412971 0.461146 -vt 0.412971 0.437131 -vt 0.497029 0.437130 -vt 0.485020 0.464612 -vt 0.485020 0.433664 -vt 0.495684 0.468079 -vt 0.483676 0.495561 -vt 0.483676 0.464613 -vt 0.409645 0.519576 -vt 0.408405 0.488629 -vt 0.409645 0.488629 -vt 0.485020 0.437130 -vt 0.473012 0.464612 -vt 0.473012 0.433664 -vt 0.483676 0.499027 -vt 0.471667 0.526509 -vt 0.471667 0.495561 -vt 0.405925 0.519576 -vt 0.404684 0.488629 -vt 0.405925 0.488629 -vt 0.495684 0.499027 -vt 0.483676 0.526509 -vt 0.483676 0.495561 -vt 0.483676 0.468079 -vt 0.471667 0.495561 -vt 0.471667 0.464613 -vt 0.407165 0.519576 -vt 0.405925 0.488629 -vt 0.407165 0.488629 -vt 0.424300 0.523043 -vt 0.412292 0.550525 -vt 0.412292 0.519577 -vt 0.471667 0.499027 -vt 0.459659 0.526509 -vt 0.459659 0.495561 -vt 0.449558 0.519576 -vt 0.448317 0.488629 -vt 0.449558 0.488629 -vt 0.412292 0.492095 -vt 0.424300 0.519577 -vt 0.412292 0.516110 -vt 0.436308 0.492095 -vt 0.424300 0.519576 -vt 0.424300 0.488629 -vt 0.403444 0.488629 -vt 0.402203 0.519576 -vt 0.402203 0.488629 -vt 0.448317 0.492095 -vt 0.436308 0.519576 -vt 0.436308 0.488629 -vt 0.424301 0.547059 -vt 0.436308 0.519576 -vt 0.436308 0.550525 -vt 0.410886 0.488629 -vt 0.412126 0.519577 -vt 0.410886 0.519577 -vt 0.388955 0.492095 -vt 0.400963 0.519577 -vt 0.388955 0.516110 -vt 0.495684 0.492095 -vt 0.507692 0.464613 -vt 0.507692 0.495561 -vt 0.402203 0.519577 -vt 0.400963 0.488629 -vt 0.402203 0.488629 -vt 0.473012 0.437130 -vt 0.461004 0.464612 -vt 0.461004 0.433664 -vt 0.448317 0.523043 -vt 0.436308 0.550524 -vt 0.436308 0.519576 -vt 0.408405 0.519576 -vt 0.407165 0.488629 -vt 0.408405 0.488629 -vt 0.471667 0.468079 -vt 0.459659 0.495561 -vt 0.459659 0.464613 -vt 0.461004 0.437130 -vt 0.448995 0.464612 -vt 0.448995 0.433664 -vt 0.404684 0.519576 -vt 0.403444 0.488629 -vt 0.404684 0.488629 -vt 0.448995 0.437130 -vt 0.436987 0.464612 -vt 0.436987 0.433664 -vt 0.400963 0.523043 -vt 0.388955 0.550525 -vt 0.388955 0.519577 -vt 0.410886 0.519576 -vt 0.409645 0.488629 -vt 0.410886 0.488629 -vt 0.436987 0.461146 -vt 0.425444 0.466107 -vt 0.425444 0.468321 -vt 0.425444 0.470536 -vt 0.425444 0.472751 -vt 0.425444 0.474818 -vt 0.425444 0.479248 -vt 0.425444 0.481463 -vt 0.425444 0.483677 -vt 0.425444 0.485892 -vt 0.412958 0.488629 -vt 0.412971 0.461146 -vt 0.436308 0.482705 -vt 0.436308 0.478423 -vt 0.436308 0.473993 -vt 0.436308 0.469564 -vt 0.436308 0.467349 -vt 0.448794 0.466109 -vt 0.436308 0.472753 -vt 0.436308 0.477183 -vt 0.436308 0.481465 -vt 0.436308 0.485894 -vt 0.436308 0.488629 -vt 0.388955 0.488629 -vt 0.455471 0.488629 -vt 0.454497 0.488629 -vt 0.453522 0.488629 -vt 0.458394 0.488629 -vt 0.450532 0.512645 -vt 0.449558 0.512645 -vt 0.456445 0.488629 -vt 0.455471 0.488629 -vt 0.450532 0.512645 -vt 0.458394 0.488629 -vt 0.451054 0.488629 -vt 0.459659 0.488623 -vt 0.436308 0.488623 -vt 0.497029 0.461146 -vt 0.495684 0.492095 -vt 0.408405 0.519576 -vt 0.485020 0.461146 -vt 0.483676 0.523042 -vt 0.404684 0.519576 -vt 0.495684 0.523042 -vt 0.483676 0.492095 -vt 0.405925 0.519576 -vt 0.424300 0.547059 -vt 0.471667 0.523042 -vt 0.448317 0.519576 -vt 0.424300 0.488629 -vt 0.436308 0.516110 -vt 0.403444 0.519577 -vt 0.448317 0.516110 -vt 0.424300 0.523043 -vt 0.412126 0.488629 -vt 0.400963 0.488629 -vt 0.495684 0.468079 -vt 0.400963 0.519577 -vt 0.473012 0.461146 -vt 0.448317 0.547058 -vt 0.407165 0.519576 -vt 0.471667 0.492095 -vt 0.461004 0.461146 -vt 0.403444 0.519576 -vt 0.448995 0.461146 -vt 0.400963 0.547059 -vt 0.409645 0.519576 -vt 0.458032 0.487981 -vt 0.440621 0.480373 -vt 0.460227 0.480373 -vt 0.475442 0.465460 -vt 0.474495 0.457593 -vt 0.475442 0.457593 -vt 0.473710 0.465460 -vt 0.473092 0.457593 -vt 0.473710 0.457593 -vt 0.472306 0.465460 -vt 0.471689 0.457593 -vt 0.472306 0.457593 -vt 0.470903 0.465460 -vt 0.470286 0.457593 -vt 0.470903 0.457593 -vt 0.469500 0.465460 -vt 0.468977 0.457593 -vt 0.469500 0.457593 -vt 0.468191 0.465460 -vt 0.467573 0.457593 -vt 0.468191 0.457593 -vt 0.466788 0.465460 -vt 0.466170 0.457593 -vt 0.466788 0.457593 -vt 0.465385 0.465460 -vt 0.464767 0.457593 -vt 0.465385 0.457593 -vt 0.463981 0.465460 -vt 0.463364 0.457593 -vt 0.463981 0.457593 -vt 0.462578 0.465460 -vt 0.461961 0.457593 -vt 0.462578 0.457593 -vt 0.460227 0.465460 -vt 0.461175 0.457593 -vt 0.461175 0.465460 -vt 0.438426 0.487981 -vt 0.421015 0.480373 -vt 0.440621 0.480373 -vt 0.472306 0.516225 -vt 0.471689 0.508358 -vt 0.472306 0.508358 -vt 0.469500 0.516225 -vt 0.468977 0.508358 -vt 0.469500 0.508358 -vt 0.466788 0.516225 -vt 0.466170 0.508358 -vt 0.466788 0.508358 -vt 0.463981 0.516225 -vt 0.463364 0.508358 -vt 0.463981 0.508358 -vt 0.462578 0.516225 -vt 0.461961 0.508358 -vt 0.462578 0.508358 -vt 0.460227 0.508358 -vt 0.461175 0.516225 -vt 0.460227 0.516225 -vt 0.465385 0.508358 -vt 0.464767 0.516225 -vt 0.464767 0.508358 -vt 0.468191 0.508358 -vt 0.467573 0.516225 -vt 0.467573 0.508358 -vt 0.470903 0.508358 -vt 0.470286 0.516225 -vt 0.470286 0.508358 -vt 0.473710 0.508358 -vt 0.473092 0.516225 -vt 0.473092 0.508358 -vt 0.475442 0.508358 -vt 0.474495 0.516225 -vt 0.474495 0.508358 -vt 0.421015 0.503195 -vt 0.433871 0.518410 -vt 0.421015 0.518410 -vt 0.472704 0.516225 -vt 0.473321 0.531440 -vt 0.472704 0.531440 -vt 0.473321 0.516225 -vt 0.473939 0.531440 -vt 0.473321 0.531440 -vt 0.450745 0.503195 -vt 0.451362 0.518410 -vt 0.450745 0.518410 -vt 0.474556 0.516225 -vt 0.475173 0.531440 -vt 0.474556 0.531440 -vt 0.429240 0.518410 -vt 0.429857 0.533624 -vt 0.429240 0.533624 -vt 0.471140 0.531440 -vt 0.470192 0.516225 -vt 0.471140 0.516225 -vt 0.473939 0.531440 -vt 0.474556 0.516225 -vt 0.474556 0.531440 -vt 0.472087 0.531440 -vt 0.472704 0.516225 -vt 0.472704 0.531440 -vt 0.432209 0.533624 -vt 0.432732 0.518410 -vt 0.432732 0.533624 -vt 0.428623 0.533624 -vt 0.429240 0.518410 -vt 0.429240 0.533624 -vt 0.471140 0.531440 -vt 0.472087 0.516225 -vt 0.472087 0.531440 -vt 0.474262 0.501224 -vt 0.423211 0.472766 -vt 0.438426 0.472766 -vt 0.470286 0.465460 -vt 0.474262 0.472594 -vt 0.442817 0.472766 -vt 0.458032 0.472766 -vt 0.490657 0.499000 -vt 0.483049 0.516411 -vt 0.483049 0.496805 -vt 0.498264 0.459789 -vt 0.490657 0.477199 -vt 0.490657 0.457593 -vt 0.499050 0.477199 -vt 0.498264 0.457593 -vt 0.499050 0.457593 -vt 0.467835 0.518421 -vt 0.460227 0.535831 -vt 0.460227 0.516225 -vt 0.483049 0.518606 -vt 0.475442 0.536016 -vt 0.475442 0.516411 -vt 0.450657 0.522801 -vt 0.449871 0.503195 -vt 0.450657 0.503195 -vt 0.498264 0.518606 -vt 0.490657 0.536016 -vt 0.490657 0.516411 -vt 0.498264 0.499000 -vt 0.490657 0.516411 -vt 0.490657 0.496805 -vt 0.499050 0.496805 -vt 0.498264 0.477199 -vt 0.499050 0.477199 -vt 0.490657 0.518606 -vt 0.483049 0.536016 -vt 0.483049 0.516411 -vt 0.498264 0.479394 -vt 0.490657 0.496805 -vt 0.490657 0.477199 -vt 0.470192 0.535831 -vt 0.469406 0.516225 -vt 0.470192 0.516225 -vt 0.483050 0.479394 -vt 0.490657 0.496805 -vt 0.483049 0.494609 -vt 0.490657 0.459789 -vt 0.483049 0.477199 -vt 0.483049 0.457593 -vt 0.449871 0.503195 -vt 0.449086 0.522801 -vt 0.449086 0.503195 -vt 0.458969 0.509782 -vt 0.451362 0.527193 -vt 0.451362 0.507587 -vt 0.421016 0.535820 -vt 0.428623 0.518410 -vt 0.428623 0.538016 -vt 0.468621 0.516225 -vt 0.469406 0.535831 -vt 0.468621 0.535831 -vt 0.441478 0.524997 -vt 0.449086 0.542407 -vt 0.441478 0.540211 -vt 0.433871 0.540211 -vt 0.441478 0.522801 -vt 0.441478 0.542407 -vt 0.459755 0.507587 -vt 0.458969 0.487981 -vt 0.459755 0.487981 -vt 0.449086 0.505391 -vt 0.441478 0.522801 -vt 0.441478 0.503195 -vt 0.441478 0.505391 -vt 0.433871 0.522801 -vt 0.433871 0.503195 -vt 0.499050 0.516411 -vt 0.498264 0.496805 -vt 0.499050 0.496805 -vt 0.483049 0.499000 -vt 0.475442 0.516411 -vt 0.475442 0.496805 -vt 0.483049 0.479394 -vt 0.475442 0.496805 -vt 0.475442 0.477199 -vt 0.459755 0.527193 -vt 0.458969 0.507587 -vt 0.459755 0.507587 -vt 0.483049 0.459789 -vt 0.475442 0.477199 -vt 0.475442 0.457593 -vt 0.458969 0.490176 -vt 0.451362 0.507587 -vt 0.451362 0.487981 -vt 0.468621 0.535831 -vt 0.467835 0.516225 -vt 0.468621 0.516225 -vt 0.454161 0.457593 -vt 0.460231 0.486909 -vt 0.461407 0.472594 -vt 0.461407 0.486909 -vt 0.451362 0.503195 -vt 0.436189 0.491851 -vt 0.451362 0.487981 -vt 0.460231 0.486909 -vt 0.461407 0.501224 -vt 0.460231 0.501224 -vt 0.431033 0.518410 -vt 0.429857 0.525883 -vt 0.429857 0.518410 -vt 0.436189 0.503195 -vt 0.421015 0.491851 -vt 0.436189 0.487981 -vt 0.474262 0.486909 -vt 0.475438 0.472594 -vt 0.475438 0.486909 -vt 0.434555 0.457593 -vt 0.474262 0.486909 -vt 0.475438 0.501224 -vt 0.432209 0.518410 -vt 0.431033 0.525883 -vt 0.431033 0.518410 -vt 0.442817 0.487981 -vt 0.474495 0.465460 -vt 0.473092 0.465460 -vt 0.471689 0.465460 -vt 0.468977 0.465460 -vt 0.467573 0.465460 -vt 0.466170 0.465460 -vt 0.464767 0.465460 -vt 0.463364 0.465460 -vt 0.461961 0.465460 -vt 0.460227 0.457593 -vt 0.423211 0.487981 -vt 0.471689 0.516225 -vt 0.468977 0.516225 -vt 0.466170 0.516225 -vt 0.463364 0.516225 -vt 0.461961 0.516225 -vt 0.461175 0.508358 -vt 0.465385 0.516225 -vt 0.468191 0.516225 -vt 0.470903 0.516225 -vt 0.473710 0.516225 -vt 0.475442 0.516225 -vt 0.433871 0.503195 -vt 0.473321 0.516225 -vt 0.473939 0.516225 -vt 0.451362 0.503195 -vt 0.475173 0.516225 -vt 0.429857 0.518410 -vt 0.470192 0.531440 -vt 0.473939 0.516225 -vt 0.472087 0.516225 -vt 0.432209 0.518410 -vt 0.428623 0.518410 -vt 0.471140 0.516225 -vt 0.460231 0.472594 -vt 0.490657 0.514215 -vt 0.498264 0.475003 -vt 0.498264 0.477199 -vt 0.467835 0.533636 -vt 0.483049 0.533821 -vt 0.449871 0.522801 -vt 0.498264 0.533821 -vt 0.498264 0.514215 -vt 0.498264 0.496805 -vt 0.490657 0.533821 -vt 0.498264 0.494609 -vt 0.469406 0.535831 -vt 0.490657 0.477199 -vt 0.490657 0.475003 -vt 0.449871 0.522801 -vt 0.458969 0.524997 -vt 0.421015 0.520606 -vt 0.469406 0.516225 -vt 0.449086 0.522801 -vt 0.433871 0.524997 -vt 0.458969 0.507587 -vt 0.449086 0.520606 -vt 0.441478 0.520606 -vt 0.498264 0.516411 -vt 0.483049 0.514215 -vt 0.483049 0.494609 -vt 0.458969 0.527193 -vt 0.483049 0.475003 -vt 0.458969 0.505391 -vt 0.467835 0.535831 -vt 0.446688 0.457593 -vt 0.436189 0.499325 -vt 0.461407 0.486909 -vt 0.431033 0.525883 -vt 0.421015 0.499325 -vt 0.427082 0.457593 -vt 0.475438 0.486909 -vt 0.432209 0.525883 -vt 0.392944 0.909062 -vt 0.392680 0.907964 -vt 0.392944 0.907964 -vt 0.333519 0.933598 -vt 0.333671 0.919628 -vt 0.335513 0.933022 -vt 0.394641 0.965169 -vt 0.386055 0.960802 -vt 0.394641 0.960802 -vt 0.386055 0.949208 -vt 0.394641 0.949208 -vt 0.392328 0.912725 -vt 0.391360 0.911488 -vt 0.392328 0.911488 -vt 0.391360 0.909645 -vt 0.392328 0.909645 -vt 0.391360 0.907818 -vt 0.392328 0.907818 -vt 0.394641 0.898057 -vt 0.386055 0.905702 -vt 0.386055 0.898057 -vt 0.400101 0.954271 -vt 0.397767 0.957361 -vt 0.397767 0.948874 -vt 0.376370 0.905043 -vt 0.381479 0.903021 -vt 0.379176 0.905131 -vt 0.338413 0.949566 -vt 0.340748 0.949540 -vt 0.361284 0.947374 -vt 0.362937 0.936505 -vt 0.363089 0.950476 -vt 0.392944 0.910868 -vt 0.392680 0.909062 -vt 0.363983 0.951043 -vt 0.364317 0.952983 -vt 0.367729 0.958088 -vt 0.363471 0.959209 -vt 0.365050 0.958226 -vt 0.403227 0.898057 -vt 0.411814 0.928839 -vt 0.403227 0.928839 -vt 0.386055 0.972045 -vt 0.356637 0.962983 -vt 0.400101 0.906991 -vt 0.397767 0.906991 -vt 0.397767 0.901310 -vt 0.331866 0.922729 -vt 0.334900 0.917120 -vt 0.334566 0.919060 -vt 0.367831 0.920536 -vt 0.370166 0.920563 -vt 0.400101 0.948874 -vt 0.392944 0.912687 -vt 0.392680 0.912687 -vt 0.392680 0.910868 -vt 0.378681 0.904817 -vt 0.334053 0.910893 -vt 0.327219 0.907119 -vt 0.356637 0.898057 -vt 0.395124 0.958712 -vt 0.394641 0.981385 -vt 0.394641 0.958728 -vt 0.403227 0.958728 -vt 0.400101 0.957361 -vt 0.338312 0.912015 -vt 0.335632 0.911877 -vt 0.349263 0.965286 -vt 0.386055 0.965169 -vt 0.388667 0.967614 -vt 0.386055 0.973755 -vt 0.389707 0.970629 -vt 0.388039 0.973755 -vt 0.352061 0.967082 -vt 0.354673 0.972045 -vt 0.346952 0.965060 -vt 0.386055 0.965169 -vt 0.391360 0.912725 -vt 0.394641 0.905702 -vt 0.349758 0.964972 -vt 0.384091 0.898057 -vt 0.364931 0.937080 -vt 0.400101 0.898057 -vt 0.411814 0.898057 -vt 0.354349 0.967988 -vt 0.356078 0.969790 -vt 0.355740 0.970333 -vt 0.384503 0.901824 -vt 0.383516 0.902215 -vt 0.385158 0.899770 -vt 0.337206 0.912857 -vt 0.337206 0.912857 -vt 0.366623 0.957246 -vt 0.366314 0.956675 -vt 0.392504 0.909056 -vt 0.341670 0.947909 -vt 0.336174 0.932832 -vt 0.336834 0.932641 -vt 0.341209 0.948724 -vt 0.393120 0.907938 -vt 0.393120 0.909056 -vt 0.366252 0.937461 -vt 0.363997 0.948873 -vt 0.365592 0.937271 -vt 0.401664 0.948857 -vt 0.401664 0.955027 -vt 0.378884 0.907779 -vt 0.383417 0.902436 -vt 0.384083 0.903016 -vt 0.379030 0.906455 -vt 0.401664 0.898869 -vt 0.401664 0.906839 -vt 0.364934 0.947440 -vt 0.365470 0.955114 -vt 0.364444 0.949157 -vt 0.335026 0.920946 -vt 0.335969 0.915475 -vt 0.335516 0.922663 -vt 0.396204 0.906839 -vt 0.393120 0.912689 -vt 0.371088 0.922194 -vt 0.378783 0.906298 -vt 0.370627 0.921379 -vt 0.392504 0.912689 -vt 0.392504 0.910882 -vt 0.349365 0.963805 -vt 0.334579 0.921230 -vt 0.392504 0.907938 -vt 0.349612 0.963648 -vt 0.349466 0.962324 -vt 0.355970 0.968282 -vt 0.396204 0.956572 -vt 0.400101 0.957361 -vt 0.403227 0.981385 -vt 0.397767 0.957361 -vt 0.388039 0.965169 -vt 0.389707 0.968295 -vt 0.397767 0.898057 -vt 0.356024 0.968650 -vt 0.356637 0.968893 -vt 0.386055 0.901210 -vt 0.383511 0.903645 -vt 0.336765 0.916373 -vt 0.336461 0.914235 -vt 0.335936 0.915205 -vt 0.366623 0.957246 -vt 0.366623 0.957246 -vt 0.364905 0.947270 -vt 0.366467 0.956339 -vt 0.336737 0.915580 -vt 0.396204 0.900496 -vt 0.393120 0.910882 -vt 0.335487 0.922833 -vt 0.396204 0.948857 -vt 0.343217 0.586019 -vt 0.342763 0.586437 -vt 0.342706 0.586390 -vt 0.341836 0.585825 -vt 0.339950 0.585754 -vt 0.341818 0.585754 -vt 0.342834 0.590216 -vt 0.342545 0.589860 -vt 0.342872 0.590154 -vt 0.343752 0.580960 -vt 0.344706 0.581012 -vt 0.343845 0.581183 -vt 0.342558 0.586745 -vt 0.342337 0.587220 -vt 0.342489 0.586716 -vt 0.342625 0.582286 -vt 0.342872 0.581786 -vt 0.342694 0.582304 -vt 0.339240 0.580769 -vt 0.339509 0.585754 -vt 0.339240 0.585754 -vt 0.343417 0.586257 -vt 0.343007 0.586621 -vt 0.342951 0.586573 -vt 0.342827 0.586891 -vt 0.342758 0.586863 -vt 0.339950 0.580769 -vt 0.342625 0.589220 -vt 0.342872 0.589720 -vt 0.342812 0.589763 -vt 0.343845 0.586165 -vt 0.343445 0.586324 -vt 0.336182 0.585754 -vt 0.335732 0.580769 -vt 0.336182 0.580769 -vt 0.342625 0.587306 -vt 0.342337 0.590881 -vt 0.341848 0.585897 -vt 0.342337 0.585897 -vt 0.338383 0.585825 -vt 0.338413 0.585754 -vt 0.342337 0.589451 -vt 0.342483 0.589900 -vt 0.342337 0.582055 -vt 0.342545 0.581646 -vt 0.342407 0.582073 -vt 0.336484 0.585897 -vt 0.337473 0.585825 -vt 0.337481 0.585897 -vt 0.340562 0.585897 -vt 0.341425 0.585825 -vt 0.341412 0.585897 -vt 0.337871 0.590810 -vt 0.337481 0.585825 -vt 0.337871 0.585825 -vt 0.342827 0.584614 -vt 0.342625 0.584200 -vt 0.342694 0.584172 -vt 0.343725 0.590613 -vt 0.337481 0.590881 -vt 0.343845 0.590323 -vt 0.343303 0.590058 -vt 0.343872 0.590256 -vt 0.338413 0.580769 -vt 0.338916 0.585754 -vt 0.342407 0.587249 -vt 0.343445 0.585182 -vt 0.343845 0.585341 -vt 0.343417 0.585249 -vt 0.343725 0.585630 -vt 0.343247 0.585420 -vt 0.343753 0.585563 -vt 0.343270 0.590123 -vt 0.343303 0.581447 -vt 0.343872 0.581250 -vt 0.343725 0.580893 -vt 0.342872 0.581352 -vt 0.342834 0.581290 -vt 0.342483 0.581606 -vt 0.344706 0.581084 -vt 0.340562 0.590881 -vt 0.341425 0.590953 -vt 0.340547 0.590953 -vt 0.338383 0.580698 -vt 0.336200 0.580698 -vt 0.339509 0.580769 -vt 0.337473 0.590953 -vt 0.336484 0.590881 -vt 0.335963 0.590881 -vt 0.335414 0.585897 -vt 0.335963 0.585897 -vt 0.344706 0.580770 -vt 0.342407 0.584257 -vt 0.342951 0.584933 -vt 0.342758 0.584643 -vt 0.339240 0.585754 -vt 0.338916 0.580769 -vt 0.339240 0.580769 -vt 0.341848 0.590881 -vt 0.341412 0.590881 -vt 0.342706 0.585115 -vt 0.342558 0.584761 -vt 0.342763 0.585068 -vt 0.342337 0.585754 -vt 0.341818 0.580769 -vt 0.342337 0.580769 -vt 0.343007 0.584884 -vt 0.343247 0.586085 -vt 0.343725 0.585876 -vt 0.343753 0.585943 -vt 0.344706 0.590422 -vt 0.344706 0.590494 -vt 0.345628 0.585682 -vt 0.344706 0.580698 -vt 0.345628 0.580698 -vt 0.343217 0.585486 -vt 0.339223 0.585825 -vt 0.338414 0.590810 -vt 0.338414 0.585825 -vt 0.343270 0.581383 -vt 0.342812 0.581743 -vt 0.341836 0.580698 -vt 0.342337 0.584286 -vt 0.346421 0.580698 -vt 0.346421 0.585682 -vt 0.335732 0.585754 -vt 0.335414 0.580769 -vt 0.344778 0.585682 -vt 0.344706 0.585512 -vt 0.345478 0.585754 -vt 0.345478 0.590738 -vt 0.345092 0.590738 -vt 0.345019 0.590810 -vt 0.344778 0.590810 -vt 0.344706 0.590738 -vt 0.343752 0.590546 -vt 0.344706 0.590736 -vt 0.344706 0.585753 -vt 0.344706 0.585994 -vt 0.339921 0.585825 -vt 0.342694 0.589202 -vt 0.343872 0.586232 -vt 0.342694 0.587334 -vt 0.336200 0.585825 -vt 0.342407 0.589433 -vt 0.336504 0.585825 -vt 0.340547 0.585825 -vt 0.337481 0.590810 -vt 0.343872 0.585274 -vt 0.336504 0.590953 -vt 0.335414 0.590881 -vt 0.342489 0.584790 -vt 0.344706 0.585682 -vt 0.339223 0.590810 -vt 0.339921 0.580698 -vt 0.335414 0.585754 -vt 0.345406 0.590810 -vt 0.345164 0.590810 -vt 0.345092 0.585754 -vt 0.345164 0.585682 -vt 0.345406 0.585682 -vt 0.344706 0.585754 -vt 0.345092 0.585754 -vt 0.345019 0.585682 -vt 0.345092 0.590738 -vt 0.344706 0.590808 -vt 0.474565 0.119714 -vt 0.473660 0.119714 -vt 0.475896 0.119714 -vt 0.477115 0.170255 -vt 0.475896 0.170255 -vt 0.482002 0.170255 -vt 0.469367 0.195526 -vt 0.469367 0.220797 -vt 0.469367 0.195526 -vt 0.469367 0.220797 -vt 0.469367 0.195526 -vt 0.469367 0.195526 -vt 0.488108 0.119714 -vt 0.482002 0.119714 -vt 0.487010 0.119714 -vt 0.488108 0.170255 -vt 0.489439 0.170255 -vt 0.490348 0.170255 -vt 0.469367 0.195526 -vt 0.469367 0.220797 -vt 0.469367 0.195526 -vt 0.469367 0.220797 -vt 0.469367 0.195526 -vt 0.469367 0.195526 -vt 0.474565 0.119714 -vt 0.473641 0.119714 -vt 0.475896 0.119714 -vt 0.488108 0.170255 -vt 0.489439 0.170255 -vt 0.490358 0.170255 -vt 0.469367 0.195526 -vt 0.469367 0.220797 -vt 0.469367 0.195526 -vt 0.469367 0.220797 -vt 0.469367 0.195526 -vt 0.469367 0.195526 -vt 0.477058 0.119714 -vt 0.477101 0.119714 -vt 0.477167 0.119714 -vt 0.482002 0.119714 -vt 0.482002 0.119714 -vt 0.486837 0.119714 -vt 0.486902 0.119714 -vt 0.486946 0.119714 -vt 0.490344 0.119714 -vt 0.488108 0.119714 -vt 0.489439 0.119714 -vt 0.486889 0.170255 -vt 0.486868 0.170255 -vt 0.486837 0.170255 -vt 0.482002 0.170255 -vt 0.477167 0.170255 -vt 0.477136 0.170255 -vt 0.473693 0.170255 -vt 0.474565 0.170255 -vt 0.490311 0.170255 -vt 0.488108 0.170255 -vt 0.489439 0.170255 -vt 0.469367 0.220797 -vt 0.469367 0.220797 -vt 0.474565 0.119714 -vt 0.473602 0.119714 -vt 0.473650 0.119714 -vt 0.473607 0.119714 -vt 0.476994 0.119714 -vt 0.475896 0.119714 -vt 0.477060 0.119714 -vt 0.477102 0.119714 -vt 0.477167 0.119714 -vt 0.482002 0.119714 -vt 0.486837 0.119714 -vt 0.486901 0.119714 -vt 0.486944 0.119714 -vt 0.490353 0.119714 -vt 0.490397 0.119714 -vt 0.490402 0.119714 -vt 0.489439 0.119714 -vt 0.486976 0.170255 -vt 0.486945 0.170255 -vt 0.482002 0.170255 -vt 0.486902 0.170255 -vt 0.486837 0.170255 -vt 0.482002 0.170255 -vt 0.477167 0.170255 -vt 0.477102 0.170255 -vt 0.477059 0.170255 -vt 0.477028 0.170255 -vt 0.473655 0.170255 -vt 0.475896 0.170255 -vt 0.473635 0.170255 -vt 0.473633 0.170255 -vt 0.474565 0.170255 -vt 0.490371 0.170255 -vt 0.490369 0.170255 -vt 0.469367 0.220797 -vt 0.469367 0.220797 -vt 0.473544 0.119714 -vt 0.473553 0.119714 -vt 0.476930 0.119714 -vt 0.477061 0.119714 -vt 0.482002 0.119714 -vt 0.477104 0.119714 -vt 0.477167 0.119714 -vt 0.482002 0.119714 -vt 0.486837 0.119714 -vt 0.486900 0.119714 -vt 0.486943 0.119714 -vt 0.487074 0.119714 -vt 0.490363 0.119714 -vt 0.488108 0.119714 -vt 0.490451 0.119714 -vt 0.490460 0.119714 -vt 0.489439 0.119714 -vt 0.487040 0.170255 -vt 0.486943 0.170255 -vt 0.482002 0.170255 -vt 0.486901 0.170255 -vt 0.486837 0.170255 -vt 0.482002 0.170255 -vt 0.477167 0.170255 -vt 0.477103 0.170255 -vt 0.477060 0.170255 -vt 0.476964 0.170255 -vt 0.473646 0.170255 -vt 0.475896 0.170255 -vt 0.473581 0.170255 -vt 0.473575 0.170255 -vt 0.474565 0.170255 -vt 0.490429 0.170255 -vt 0.490422 0.170255 -vt 0.469367 0.220797 -vt 0.469367 0.220797 -vt 0.509983 0.184289 -vt 0.509295 0.180787 -vt 0.509983 0.180787 -vt 0.507671 0.180787 -vt 0.508483 0.180787 -vt 0.509295 0.184289 -vt 0.509295 0.180787 -vt 0.508483 0.177285 -vt 0.509295 0.177285 -vt 0.508483 0.180787 -vt 0.509996 0.180704 -vt 0.509991 0.180675 -vt 0.510731 0.180787 -vt 0.511558 0.180761 -vt 0.511558 0.180787 -vt 0.511558 0.180732 -vt 0.510731 0.180706 -vt 0.511558 0.180706 -vt 0.511558 0.180676 -vt 0.510731 0.180650 -vt 0.511558 0.180650 -vt 0.511558 0.177285 -vt 0.510731 0.180621 -vt 0.510731 0.177285 -vt 0.509983 0.180787 -vt 0.510731 0.180761 -vt 0.510731 0.180732 -vt 0.509983 0.180706 -vt 0.510731 0.180676 -vt 0.509983 0.180650 -vt 0.509983 0.180621 -vt 0.509983 0.177285 -vt 0.507564 0.175503 -vt 0.508181 0.176425 -vt 0.507300 0.176383 -vt 0.510243 0.173440 -vt 0.510828 0.176383 -vt 0.510409 0.174937 -vt 0.512608 0.176457 -vt 0.512610 0.176487 -vt 0.511145 0.176625 -vt 0.506512 0.174463 -vt 0.505643 0.178834 -vt 0.501273 0.177965 -vt 0.500802 0.181780 -vt 0.501812 0.182809 -vt 0.500802 0.183010 -vt 0.501273 0.180644 -vt 0.501812 0.181981 -vt 0.502714 0.180631 -vt 0.502142 0.179775 -vt 0.503479 0.180314 -vt 0.503278 0.179304 -vt 0.504306 0.180314 -vt 0.504507 0.179304 -vt 0.505071 0.180631 -vt 0.505643 0.179775 -vt 0.505657 0.181216 -vt 0.506512 0.180644 -vt 0.505973 0.181981 -vt 0.506983 0.181780 -vt 0.505973 0.182809 -vt 0.506983 0.183010 -vt 0.505657 0.183574 -vt 0.506512 0.184145 -vt 0.505071 0.184159 -vt 0.505643 0.185015 -vt 0.504306 0.184476 -vt 0.504507 0.185485 -vt 0.503278 0.185485 -vt 0.502142 0.185015 -vt 0.503479 0.184476 -vt 0.502128 0.183574 -vt 0.501273 0.184145 -vt 0.512167 0.180787 -vt 0.512952 0.184111 -vt 0.512167 0.184111 -vt 0.514050 0.177285 -vt 0.512952 0.180610 -vt 0.512952 0.177285 -vt 0.514941 0.177285 -vt 0.514050 0.180610 -vt 0.514050 0.180610 -vt 0.512952 0.183934 -vt 0.512952 0.180610 -vt 0.514050 0.183934 -vt 0.514472 0.183797 -vt 0.514472 0.183823 -vt 0.512952 0.183934 -vt 0.514062 0.187092 -vt 0.512952 0.187092 -vt 0.514062 0.187147 -vt 0.512952 0.187121 -vt 0.514062 0.187121 -vt 0.514062 0.187202 -vt 0.512952 0.187176 -vt 0.514062 0.187176 -vt 0.514062 0.187258 -vt 0.512952 0.187232 -vt 0.514062 0.187232 -vt 0.514062 0.183934 -vt 0.514847 0.187092 -vt 0.514847 0.187147 -vt 0.514847 0.187121 -vt 0.514847 0.187202 -vt 0.514847 0.187176 -vt 0.514847 0.187258 -vt 0.514847 0.187232 -vt 0.511642 0.184001 -vt 0.511642 0.183975 -vt 0.506983 0.185074 -vt 0.508878 0.184289 -vt 0.509662 0.186184 -vt 0.506983 0.180787 -vt 0.511558 0.180621 -vt 0.511546 0.180620 -vt 0.512338 0.177285 -vt 0.511509 0.180619 -vt 0.506983 0.177285 -vt 0.510017 0.180619 -vt 0.507671 0.177285 -vt 0.509982 0.180619 -vt 0.510005 0.180760 -vt 0.511552 0.180760 -vt 0.511546 0.180760 -vt 0.509990 0.180619 -vt 0.511533 0.180620 -vt 0.510000 0.180731 -vt 0.511546 0.180731 -vt 0.511546 0.180705 -vt 0.511532 0.180705 -vt 0.511532 0.180730 -vt 0.511527 0.180704 -vt 0.510004 0.180704 -vt 0.509998 0.180704 -vt 0.510012 0.180649 -vt 0.509993 0.180648 -vt 0.510008 0.180675 -vt 0.509987 0.180648 -vt 0.509995 0.180675 -vt 0.511532 0.180649 -vt 0.511515 0.180648 -vt 0.511521 0.180675 -vt 0.511546 0.180650 -vt 0.511546 0.180676 -vt 0.511532 0.180675 -vt 0.509983 0.180761 -vt 0.509983 0.180732 -vt 0.509983 0.180676 -vt 0.509270 0.176642 -vt 0.510192 0.176025 -vt 0.510243 0.176969 -vt 0.506983 0.175618 -vt 0.506983 0.174791 -vt 0.509478 0.173124 -vt 0.509792 0.174014 -vt 0.508704 0.173798 -vt 0.507781 0.174414 -vt 0.514113 0.176544 -vt 0.514113 0.176570 -vt 0.514103 0.176569 -vt 0.514103 0.176543 -vt 0.514090 0.176569 -vt 0.514090 0.176543 -vt 0.512621 0.176543 -vt 0.514085 0.176542 -vt 0.512613 0.176543 -vt 0.512615 0.176543 -vt 0.512615 0.176569 -vt 0.512617 0.176599 -vt 0.514102 0.176598 -vt 0.514113 0.176625 -vt 0.514108 0.176599 -vt 0.514113 0.176599 -vt 0.512612 0.176513 -vt 0.511145 0.173124 -vt 0.511892 0.173124 -vt 0.512719 0.173124 -vt 0.513499 0.173124 -vt 0.512642 0.176458 -vt 0.512616 0.176457 -vt 0.514113 0.173124 -vt 0.514069 0.176457 -vt 0.514113 0.176459 -vt 0.514103 0.176459 -vt 0.514091 0.176459 -vt 0.514080 0.176513 -vt 0.512628 0.176513 -vt 0.512635 0.176487 -vt 0.512616 0.176513 -vt 0.512616 0.176487 -vt 0.514103 0.176514 -vt 0.514090 0.176514 -vt 0.514103 0.176488 -vt 0.514091 0.176488 -vt 0.514113 0.176489 -vt 0.514113 0.176515 -vt 0.514075 0.176486 -vt 0.500802 0.176829 -vt 0.500802 0.175599 -vt 0.501273 0.174463 -vt 0.502142 0.173594 -vt 0.503278 0.173124 -vt 0.504507 0.173124 -vt 0.505643 0.173594 -vt 0.506983 0.175599 -vt 0.506983 0.176829 -vt 0.506512 0.177965 -vt 0.502142 0.178834 -vt 0.502128 0.181216 -vt 0.502714 0.184159 -vt 0.512952 0.180787 -vt 0.514941 0.180610 -vt 0.514941 0.183852 -vt 0.514941 0.183878 -vt 0.514472 0.183878 -vt 0.514472 0.183907 -vt 0.514941 0.183907 -vt 0.514941 0.183934 -vt 0.514472 0.183852 -vt 0.514472 0.183768 -vt 0.514941 0.180610 -vt 0.514941 0.183768 -vt 0.514941 0.183797 -vt 0.514941 0.183823 -vt 0.512952 0.187147 -vt 0.512952 0.187202 -vt 0.512952 0.187258 -vt 0.514847 0.183934 -vt 0.511642 0.183945 -vt 0.511058 0.183945 -vt 0.511058 0.180787 -vt 0.511058 0.184111 -vt 0.511642 0.184085 -vt 0.511058 0.184085 -vt 0.511058 0.184001 -vt 0.511058 0.183975 -vt 0.511642 0.184056 -vt 0.511058 0.184056 -vt 0.511642 0.184030 -vt 0.511058 0.184030 -vt 0.508878 0.186968 -vt 0.507768 0.186968 -vt 0.506983 0.186184 -vt 0.507768 0.184289 -vt 0.509662 0.185074 -vn 0.0000 0.1951 0.9808 -vn 0.0000 0.3059 0.9521 -vn -0.0000 0.3057 0.9521 -vn -0.0000 0.7071 0.7071 -vn 0.0000 0.6996 0.7145 -vn -0.0000 0.5556 0.8315 -vn 0.0000 0.3827 0.9239 -vn 0.0000 0.9239 0.3827 -vn 0.0000 0.9320 0.3625 -vn -0.0000 0.8315 0.5556 -vn 0.0000 1.0000 -0.0000 -vn 0.0000 0.9959 -0.0902 -vn 0.0000 0.9808 0.1951 -vn -0.0000 0.9808 -0.1951 -vn -0.0000 0.9239 -0.3827 -vn 0.1300 0.9423 0.3085 -vn -0.0000 0.7071 -0.7071 -vn -0.0000 0.8315 -0.5556 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.3827 -0.9239 -vn 0.0000 0.1951 -0.9808 -vn -1.0000 0.0000 0.0000 -vn 0.0675 0.7504 0.6575 -vn -0.0616 0.5928 0.8030 -vn 0.0610 0.6028 0.7956 -vn 0.8374 0.3850 0.3879 -vn 0.9441 0.1917 0.2680 -vn 0.9517 0.2007 0.2324 -vn -0.3051 0.9196 0.2474 -vn -0.0758 0.9971 0.0033 -vn -0.3080 0.9514 0.0030 -vn 0.3051 0.9196 0.2474 -vn 0.0758 0.9971 0.0033 -vn 0.0761 0.9630 0.2584 -vn -0.0761 0.9630 0.2584 -vn 0.7836 0.3901 0.4836 -vn 0.5653 0.6125 0.5526 -vn 0.8683 0.4784 0.1307 -vn 0.8443 0.5358 0.0008 -vn 0.7547 0.6561 0.0011 -vn 0.9576 0.2514 0.1404 -vn -0.6083 0.7654 0.2099 -vn -0.6055 0.7958 0.0020 -vn -0.7549 0.6558 0.0017 -vn -0.9580 0.2496 0.1409 -vn -0.8684 0.4783 0.1310 -vn -0.8451 0.5345 0.0008 -vn -0.5639 0.6099 0.5568 -vn -0.8386 0.3827 0.3876 -vn -0.7510 0.3828 0.5380 -vn 0.3081 0.9513 0.0028 -vn 0.6084 0.7654 0.2097 -vn -0.4571 0.8894 0.0028 -vn -0.9476 0.1835 0.2613 -vn -0.0675 0.7504 0.6575 -vn -0.2756 0.7219 0.6348 -vn -0.2808 0.5744 0.7689 -vn -0.4156 0.5418 0.7306 -vn -0.5423 0.4974 0.6771 -vn 0.2746 0.7233 0.6336 -vn 0.4046 0.5461 0.7335 -vn 0.0000 0.6994 0.7148 -vn 0.0000 0.9961 -0.0887 -vn 0.0000 0.9320 0.3624 -vn -0.0000 0.8397 -0.5430 -vn -0.0001 0.9785 -0.2064 -vn 0.0260 0.9987 -0.0445 -vn -0.0000 0.8401 -0.5425 -vn 0.5459 0.4967 0.6747 -vn 0.6537 0.4486 0.6095 -vn 0.6865 0.4504 0.5709 -vn 0.6050 0.7962 0.0020 -vn -0.6499 0.4397 0.6199 -vn -0.7151 0.4097 0.5664 -vn 0.4572 0.8894 0.0019 -vn -0.4567 0.8896 0.0031 -vn -0.9524 0.1935 0.2354 -vn -0.1211 -0.0807 0.9894 -vn 0.1152 0.5980 0.7932 -vn -0.0000 -0.1116 0.9938 -vn 0.0000 0.0000 1.0000 -vn 0.0000 -0.0856 -0.9963 -vn -0.0002 -0.1116 -0.9938 -vn 0.0000 -0.1116 -0.9938 -vn 0.0000 0.0483 -0.9988 -vn 0.0000 0.0483 0.9988 -vn 0.0000 -0.0856 0.9963 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0361 -0.9993 -vn 0.0000 -0.0361 -0.9993 -vn 0.0001 0.0361 -0.9993 -vn 0.0000 -0.2923 0.9563 -vn -0.0000 -0.1088 0.9941 -vn 0.0001 -0.0361 0.9993 -vn 0.0001 0.0361 0.9993 -vn 0.0000 0.0361 0.9993 -vn 0.0000 0.1088 0.9941 -vn 0.0000 0.2923 0.9563 -vn 0.0000 0.7798 0.6260 -vn 0.0002 0.7798 -0.6260 -vn 0.0000 0.2923 -0.9563 -vn -0.0002 0.1088 -0.9941 -vn -0.0003 -0.7798 -0.6260 -vn -0.0000 -0.7798 0.6260 -vn 0.0000 -0.7798 -0.6260 -vn 0.0000 -0.1088 -0.9941 -vn 0.0000 -0.2923 -0.9563 -vn 0.0000 -0.0361 0.9993 -vn 0.0000 0.7798 -0.6260 -vn 0.0000 0.1088 -0.9941 -vn 0.0000 0.1479 0.9890 -vn 0.0000 0.1479 -0.9890 -vn 0.0000 -0.1479 -0.9890 -vn 0.0000 -0.1479 0.9890 -vn 0.0000 -0.1853 -0.9827 -vn 0.0000 -0.3393 -0.9407 -vn 0.0000 -0.3393 0.9407 -vn 0.0003 -0.1853 0.9827 -vn 0.0000 -0.1853 0.9827 -vn 0.0000 0.1853 0.9827 -vn -0.0002 0.1853 0.9827 -vn 0.0000 0.3393 0.9407 -vn -0.0000 0.3393 -0.9407 -vn 0.0000 0.1853 -0.9827 -vn 0.0002 0.1853 -0.9827 -vn 1.0000 -0.0001 0.0000 -vn -1.0000 -0.0001 0.0000 -vn -0.0002 0.1479 0.9890 -vn -0.0002 -0.1479 -0.9890 -vn 0.0000 0.9915 0.1302 -vn 0.2795 0.8322 0.4790 -vn -0.0009 0.8659 0.5003 -vn -0.2201 -0.9678 -0.1225 -vn -0.0000 -0.9914 0.1305 -vn -0.0000 -0.9914 -0.1305 -vn 0.2311 0.9652 -0.1222 -vn -0.0000 0.9914 -0.1305 -vn -0.2633 -0.4854 0.8337 -vn -0.0017 -0.8640 0.5036 -vn -0.0017 -0.4943 0.8693 -vn -0.0000 -0.8660 0.5000 -vn -0.2679 -0.4806 0.8350 -vn 0.0000 -0.5003 0.8659 -vn 0.2795 -0.8322 -0.4790 -vn -0.0007 -0.8659 -0.5002 -vn -0.9260 -0.3745 -0.0469 -vn -0.9248 -0.3774 0.0482 -vn -0.9260 -0.3745 0.0468 -vn 0.0000 0.1302 0.9915 -vn 0.2311 -0.1222 0.9652 -vn -0.0000 -0.1305 0.9914 -vn -0.0000 0.1305 -0.9914 -vn -0.2208 -0.1225 -0.9676 -vn -0.0000 -0.1305 -0.9914 -vn -0.9260 0.0469 -0.3745 -vn -0.9248 -0.0482 -0.3775 -vn -0.9260 -0.0468 -0.3745 -vn -0.2208 0.9676 -0.1225 -vn -0.0000 0.8660 -0.5000 -vn 0.9569 -0.1430 0.2530 -vn 0.9537 -0.2619 0.1480 -vn 0.9569 -0.2530 0.1430 -vn 0.2756 0.4836 0.8308 -vn 0.0026 0.8659 0.5003 -vn 0.0026 0.5003 0.8659 -vn -0.9260 0.3745 0.0469 -vn -0.9248 0.3774 -0.0482 -vn -0.9260 0.3745 -0.0468 -vn 0.9365 -0.3480 0.0438 -vn 0.9352 -0.3514 -0.0445 -vn 0.9365 -0.3480 -0.0438 -vn -0.9260 0.0469 0.3745 -vn -0.9248 -0.0482 0.3774 -vn -0.9248 0.0482 0.3774 -vn 0.9365 0.0438 -0.3480 -vn 0.9352 -0.0445 -0.3514 -vn 0.9352 0.0445 -0.3514 -vn 0.9365 0.0438 0.3480 -vn 0.9352 -0.0445 0.3514 -vn 0.9365 -0.0438 0.3480 -vn 0.9365 0.3480 -0.0438 -vn 0.9352 0.3514 0.0445 -vn 0.9365 0.3480 0.0438 -vn 0.0007 -0.1305 -0.9915 -vn 0.2755 -0.4837 -0.8308 -vn 0.0025 -0.5003 -0.8659 -vn 0.9569 -0.1430 -0.2529 -vn 0.9537 -0.1481 -0.2619 -vn 0.2756 0.4836 -0.8308 -vn 0.0026 0.8659 -0.5003 -vn 0.2756 0.8308 -0.4836 -vn 0.9569 -0.2530 -0.1429 -vn 0.9537 -0.2619 -0.1480 -vn -0.2209 -0.1225 0.9676 -vn 0.0009 0.1304 0.9915 -vn 0.0010 0.1304 -0.9915 -vn 0.2320 0.1314 -0.9638 -vn 0.2794 -0.4767 -0.8334 -vn -0.0008 -0.5003 -0.8659 -vn -0.9495 -0.2732 -0.1542 -vn -0.9248 -0.3774 -0.0482 -vn 0.2795 0.4767 0.8335 -vn -0.0009 0.5003 0.8659 -vn -0.9495 -0.1542 0.2732 -vn -0.9260 -0.0467 0.3745 -vn -0.9495 0.2732 -0.1542 -vn -0.9461 0.2818 -0.1595 -vn -0.2633 0.8337 0.4854 -vn -0.0017 0.5062 0.8624 -vn -0.0017 0.8680 0.4966 -vn -0.9248 0.0483 -0.3774 -vn -0.9495 0.1542 -0.2732 -vn -0.9461 0.1595 -0.2819 -vn -0.2633 -0.8337 0.4854 -vn -0.0009 -0.9913 0.1313 -vn -0.2679 0.4806 -0.8350 -vn -0.0000 0.5000 -0.8660 -vn -0.2209 0.1225 -0.9676 -vn 0.2756 -0.8308 0.4836 -vn 0.0009 -0.9915 0.1304 -vn 0.2320 -0.9638 0.1314 -vn -0.2633 0.4854 0.8337 -vn -0.0009 0.1346 0.9909 -vn -0.2216 -0.1316 0.9662 -vn -0.0009 -0.1270 0.9919 -vn -0.0009 -0.9913 -0.1313 -vn -0.2633 -0.8337 -0.4854 -vn -0.0017 -0.8640 -0.5036 -vn 0.0008 0.9915 -0.1304 -vn 0.2320 0.9638 -0.1314 -vn 0.0025 -0.8659 -0.5003 -vn -0.2633 0.4854 -0.8337 -vn -0.0017 0.5062 -0.8624 -vn -0.0018 0.2589 -0.9659 -vn -0.0017 -0.4943 -0.8693 -vn -0.2216 -0.1316 -0.9662 -vn -0.0009 -0.1270 -0.9919 -vn -0.2633 0.8337 -0.4854 -vn -0.0017 0.8680 -0.4966 -vn 0.9569 0.2530 0.1430 -vn -0.2633 -0.4854 -0.8337 -vn -0.0017 0.9659 0.2589 -vn -0.9495 0.1542 0.2732 -vn -0.9461 0.1595 0.2818 -vn -0.9495 0.2732 0.1543 -vn -0.9461 0.2818 0.1595 -vn -0.9248 0.3774 0.0482 -vn -0.2216 0.1316 -0.9662 -vn -0.2215 0.9662 0.1316 -vn -0.0009 0.9915 -0.1303 -vn -0.2216 0.9662 -0.1316 -vn -0.2215 -0.9662 -0.1316 -vn -0.2216 -0.9662 0.1316 -vn -0.9495 -0.1543 -0.2732 -vn -0.9461 -0.2818 -0.1595 -vn -0.9495 -0.2732 0.1542 -vn -0.9461 -0.2818 0.1595 -vn -0.2216 0.1316 0.9662 -vn 0.9569 0.1429 -0.2530 -vn 0.9537 0.1480 -0.2619 -vn 0.9569 0.2530 -0.1430 -vn 0.9537 0.2620 -0.1480 -vn 0.9352 0.3514 -0.0445 -vn 0.9569 0.1430 0.2529 -vn 0.9352 0.0445 0.3514 -vn 0.9537 0.2620 0.1480 -vn 0.0009 0.9915 0.1304 -vn 0.2320 0.9638 0.1314 -vn 0.2320 -0.1314 0.9638 -vn 0.0007 -0.1305 0.9915 -vn 0.2756 0.8308 0.4836 -vn 0.9352 -0.3514 0.0445 -vn 0.2320 -0.1314 -0.9638 -vn 0.2320 -0.9638 -0.1314 -vn 0.0008 -0.9915 -0.1304 -vn 0.0025 -0.5003 0.8659 -vn 0.2755 -0.4836 0.8308 -vn 0.9051 -0.3701 -0.2094 -vn 0.8649 -0.4980 -0.0623 -vn 0.7262 -0.5980 -0.3393 -vn 0.6504 -0.7538 -0.0934 -vn 0.2311 -0.9652 -0.1222 -vn 0.7262 -0.3392 -0.5980 -vn 0.9365 -0.0438 -0.3479 -vn 0.9051 -0.2094 -0.3700 -vn 0.8649 -0.0621 -0.4981 -vn 0.6504 -0.0934 -0.7539 -vn 0.9051 0.3701 -0.2094 -vn 0.8649 0.4981 -0.0621 -vn 0.7262 0.5980 -0.3392 -vn 0.6504 0.7539 -0.0934 -vn 0.2795 0.8334 -0.4767 -vn 0.9051 0.2094 -0.3701 -vn 0.7261 0.3392 -0.5980 -vn 0.2795 0.4767 -0.8334 -vn 0.8649 0.0623 -0.4981 -vn 0.6504 0.0934 -0.7539 -vn 0.2311 0.1222 -0.9652 -vn 0.9051 -0.3700 0.2094 -vn 0.8649 -0.4981 0.0621 -vn 0.7261 -0.5980 0.3393 -vn 0.6504 -0.7539 0.0934 -vn 0.2795 -0.8334 0.4767 -vn 0.9051 -0.2094 0.3700 -vn 0.7262 -0.3392 0.5980 -vn 0.2794 -0.4767 0.8334 -vn 0.8649 -0.0623 0.4981 -vn 0.6504 -0.0934 0.7539 -vn 0.9051 0.3701 0.2094 -vn 0.8649 0.4981 0.0622 -vn 0.7262 0.5980 0.3393 -vn 0.6504 0.7538 0.0934 -vn 0.2311 0.9652 0.1222 -vn 0.9051 0.2095 0.3700 -vn 0.7262 0.3392 0.5980 -vn 0.8649 0.0621 0.4981 -vn 0.6504 0.0934 0.7539 -vn 0.2311 -0.9652 0.1222 -vn 0.2311 -0.1222 -0.9652 -vn -0.8931 -0.3914 -0.2219 -vn -0.8490 -0.5243 -0.0654 -vn -0.7062 -0.6155 -0.3499 -vn -0.6287 -0.7718 -0.0958 -vn -0.2679 -0.8365 -0.4780 -vn -0.8931 -0.2219 -0.3914 -vn -0.7062 -0.3499 -0.6155 -vn -0.2678 -0.4780 -0.8365 -vn -0.8491 -0.0655 -0.5242 -vn -0.6286 -0.0959 -0.7718 -vn -0.8931 0.3914 -0.2219 -vn -0.8491 0.5242 -0.0655 -vn -0.7062 0.6155 -0.3500 -vn -0.6287 0.7717 -0.0959 -vn -0.2679 0.8365 -0.4780 -vn -0.7062 0.3499 -0.6155 -vn -0.8931 0.2219 -0.3914 -vn -0.8490 0.0654 -0.5243 -vn -0.6287 0.0958 -0.7718 -vn -0.8931 -0.3914 0.2219 -vn -0.8491 -0.5242 0.0655 -vn -0.7062 -0.6155 0.3500 -vn -0.6286 -0.7718 0.0958 -vn -0.2679 -0.8365 0.4780 -vn -0.2208 -0.9676 0.1225 -vn -0.7062 -0.3499 0.6155 -vn -0.8931 -0.2219 0.3914 -vn -0.8491 -0.0654 0.5242 -vn -0.6286 -0.0958 0.7718 -vn -0.8931 0.3914 0.2219 -vn -0.8490 0.5243 0.0654 -vn -0.7062 0.6155 0.3499 -vn -0.6286 0.7718 0.0958 -vn -0.2679 0.8365 0.4780 -vn -0.8931 0.2219 0.3914 -vn -0.7062 0.3500 0.6155 -vn -0.2678 0.4780 0.8365 -vn -0.8490 0.0654 0.5243 -vn -0.6287 0.0958 0.7718 -vn -0.2208 0.1225 0.9676 -vn -0.2201 0.9678 0.1225 -vn -0.6926 -0.6237 0.3624 -vn -0.6291 -0.7701 0.1055 -vn -0.8849 -0.4040 0.2320 -vn -0.8478 -0.5257 0.0697 -vn -0.6926 -0.3624 0.6237 -vn -0.8849 -0.2320 0.4040 -vn -0.6291 -0.1054 0.7701 -vn -0.8478 -0.0697 0.5257 -vn -0.9461 -0.1595 0.2819 -vn -0.6926 0.6237 0.3624 -vn -0.6291 0.7701 0.1054 -vn -0.8849 0.4040 0.2320 -vn -0.8478 0.5257 0.0697 -vn -0.6926 0.3624 0.6237 -vn -0.8849 0.2320 0.4040 -vn -0.6291 0.1055 0.7701 -vn -0.8478 0.0697 0.5257 -vn -0.6926 -0.3624 -0.6237 -vn -0.6291 -0.1055 -0.7701 -vn -0.8849 -0.2320 -0.4040 -vn -0.8478 -0.0697 -0.5257 -vn -0.9461 -0.1595 -0.2818 -vn -0.6926 -0.6237 -0.3624 -vn -0.8849 -0.4040 -0.2320 -vn -0.6291 -0.7701 -0.1054 -vn -0.8478 -0.5257 -0.0697 -vn -0.6926 0.3624 -0.6237 -vn -0.6291 0.1054 -0.7701 -vn -0.8849 0.2320 -0.4040 -vn -0.8478 0.0697 -0.5257 -vn -0.6926 0.6237 -0.3624 -vn -0.8849 0.4040 -0.2320 -vn -0.6291 0.7701 -0.1054 -vn -0.8478 0.5257 -0.0697 -vn 0.7123 -0.3530 0.6066 -vn 0.6508 -0.1035 0.7522 -vn 0.8970 -0.2199 0.3834 -vn 0.8633 -0.0663 0.5003 -vn 0.9537 -0.1481 0.2619 -vn 0.7123 -0.6066 0.3530 -vn 0.8970 -0.3834 0.2198 -vn 0.6508 -0.7522 0.1034 -vn 0.8633 -0.5002 0.0664 -vn 0.7123 -0.3530 -0.6066 -vn 0.6508 -0.1034 -0.7522 -vn 0.8970 -0.2199 -0.3834 -vn 0.8634 -0.0664 -0.5002 -vn 0.2755 -0.8308 -0.4837 -vn 0.7123 -0.6066 -0.3531 -vn 0.8970 -0.3834 -0.2199 -vn 0.6508 -0.7522 -0.1035 -vn 0.8634 -0.5002 -0.0663 -vn 0.7123 0.6066 -0.3531 -vn 0.6508 0.7522 -0.1034 -vn 0.8970 0.3834 -0.2199 -vn 0.8634 0.5002 -0.0664 -vn 0.7123 0.3530 -0.6066 -vn 0.8970 0.2198 -0.3834 -vn 0.6508 0.1035 -0.7522 -vn 0.8633 0.0663 -0.5002 -vn 0.7123 0.6066 0.3530 -vn 0.6508 0.7522 0.1034 -vn 0.8970 0.3834 0.2199 -vn 0.8633 0.5002 0.0663 -vn 0.7123 0.3530 0.6066 -vn 0.8970 0.2199 0.3834 -vn 0.2320 0.1314 0.9638 -vn 0.6508 0.1034 0.7522 -vn 0.8634 0.0664 0.5002 -vn 0.9537 0.1480 0.2620 -vn 0.9996 -0.0277 0.0036 -vn 0.9982 -0.0515 0.0291 -vn 0.9993 -0.0330 0.0191 -vn 0.9982 0.0291 -0.0515 -vn 0.9981 0.0081 -0.0611 -vn 0.9982 0.0300 -0.0512 -vn -0.0007 0.8659 -0.5002 -vn 0.9982 0.0515 -0.0291 -vn 0.9982 0.0512 -0.0300 -vn -0.0000 -0.8658 -0.5004 -vn 0.0000 -0.5004 -0.8658 -vn -0.9982 -0.0515 -0.0291 -vn -0.9982 -0.0300 -0.0512 -vn -0.9993 -0.0330 -0.0192 -vn -0.0000 0.8658 0.5004 -vn -0.0000 0.5004 0.8658 -vn -0.9982 0.0515 0.0291 -vn -0.9982 0.0299 0.0512 -vn -0.9982 0.0512 0.0300 -vn -0.0000 0.1305 0.9914 -vn -0.9982 0.0291 0.0515 -vn -0.9981 0.0081 0.0611 -vn -0.9982 -0.0291 -0.0515 -vn -0.9981 -0.0081 -0.0611 -vn 0.9982 -0.0291 0.0515 -vn 0.9981 -0.0081 0.0611 -vn 0.9982 -0.0300 0.0512 -vn 0.9981 0.0611 -0.0081 -vn 0.9981 -0.0081 -0.0611 -vn -0.9981 -0.0081 0.0611 -vn -0.9996 -0.0277 -0.0036 -vn -0.0007 -0.8659 0.5002 -vn -0.0000 0.9914 0.1305 -vn -0.9981 0.0611 -0.0081 -vn -0.9981 0.0611 0.0081 -vn 0.9981 -0.0611 -0.0081 -vn 0.9996 -0.0277 -0.0037 -vn -0.0000 0.8660 0.5000 -vn -0.9979 0.0646 0.0084 -vn -0.9980 0.0547 0.0308 -vn -0.9980 0.0541 0.0317 -vn -0.9979 0.0646 -0.0084 -vn -0.0000 -0.8660 -0.5000 -vn -0.9996 -0.0294 -0.0039 -vn -0.9980 -0.0547 -0.0308 -vn -0.9992 -0.0347 -0.0203 -vn -0.9979 -0.0084 0.0646 -vn -0.9979 0.0084 0.0646 -vn -0.9980 -0.0308 -0.0547 -vn -0.9979 -0.0084 -0.0646 -vn -0.9980 -0.0317 -0.0541 -vn -0.0000 0.5000 0.8660 -vn -0.9980 0.0308 0.0547 -vn -0.9980 0.0317 0.0541 -vn 0.0000 -0.8658 0.5003 -vn 0.9996 -0.0294 0.0039 -vn 0.9980 -0.0547 0.0309 -vn 0.9992 -0.0347 0.0203 -vn -0.0000 0.5003 -0.8658 -vn 0.9980 0.0308 -0.0547 -vn 0.9979 0.0084 -0.0646 -vn 0.9980 0.0317 -0.0541 -vn 0.0000 0.8658 -0.5004 -vn 0.9980 0.0541 -0.0317 -vn -0.0000 -0.5000 0.8660 -vn 0.9980 -0.0308 0.0547 -vn 0.9979 -0.0084 0.0646 -vn 0.9980 -0.0317 0.0541 -vn 0.9979 0.0646 -0.0084 -vn 0.9980 0.0547 -0.0309 -vn 0.9979 -0.0084 -0.0646 -vn 0.9979 -0.0646 -0.0084 -vn 0.9996 -0.0293 -0.0039 -vn -0.9979 -0.0646 0.0084 -vn -0.9979 -0.0646 -0.0084 -vn -0.9992 -0.0347 0.0203 -vn -0.9980 -0.0308 0.0547 -vn -0.9980 -0.0547 0.0308 -vn -0.0000 -0.3265 0.9452 -vn 0.0000 -0.5003 0.8658 -vn -0.9979 0.0084 -0.0646 -vn -0.9980 0.0547 -0.0308 -vn -0.9980 0.0317 -0.0541 -vn -0.9980 0.0308 -0.0547 -vn -0.9996 -0.0294 0.0039 -vn 0.9992 -0.0347 -0.0203 -vn 0.9980 -0.0308 -0.0547 -vn 0.9980 -0.0547 -0.0308 -vn 0.0000 -0.3265 -0.9452 -vn 0.0000 -0.5000 -0.8660 -vn 0.9980 0.0541 0.0317 -vn 0.9980 0.0309 0.0547 -vn 0.9980 0.0547 0.0308 -vn 0.0000 0.5003 0.8659 -vn 0.9979 0.0084 0.0646 -vn 0.9993 -0.0330 -0.0191 -vn 0.9979 0.0646 0.0084 -vn 0.9981 0.0611 0.0081 -vn 0.9982 0.0515 0.0291 -vn -0.9981 -0.0611 0.0081 -vn -0.9981 -0.0611 -0.0081 -vn -0.0000 0.5596 0.8287 -vn -0.9993 -0.0330 0.0192 -vn -0.9982 -0.0291 0.0515 -vn -0.9982 -0.0515 0.0291 -vn 0.9982 -0.0515 -0.0291 -vn -0.9996 -0.0277 0.0036 -vn 0.9981 0.0081 0.0611 -vn -0.9981 0.0081 -0.0611 -vn -0.9982 0.0515 -0.0291 -vn 0.9982 -0.0291 -0.0515 -vn 0.9982 0.0291 0.0515 -vn 0.9982 0.0300 0.0512 -vn -0.9982 0.0300 -0.0512 -vn -0.9982 0.0291 -0.0515 -vn 0.0000 -0.9477 0.3192 -vn 0.0000 -0.9477 -0.3192 -vn 0.0000 -0.9476 -0.3195 -vn -0.0000 0.8761 0.4822 -vn 0.0000 -0.9476 0.3195 -vn -0.0000 -0.4449 0.8956 -vn 0.0000 -0.4444 0.8958 -vn -0.0000 -0.9476 0.3196 -vn 0.0000 -0.9477 -0.3193 -vn 0.0000 -0.9477 0.3193 -vn 0.0009 -0.4441 0.8960 -vn -0.0000 -0.9476 -0.3196 -vn 0.0009 -0.4441 -0.8960 -vn -0.0000 0.5596 -0.8287 -vn -0.0000 -0.5170 0.8560 -vn 0.0000 -0.7942 0.6077 -vn -0.0000 0.8761 -0.4822 -vn 0.0009 0.0000 -1.0000 -vn 0.0000 -0.4448 -0.8956 -vn -0.0000 -0.5170 -0.8560 -vn 0.0000 -0.7942 -0.6077 -vn -0.0000 -0.7943 -0.6075 -vn -0.0000 0.8760 0.4822 -vn -0.0000 0.8760 -0.4822 -vn -0.0000 -0.9617 -0.2742 -vn -0.0000 -0.9617 0.2742 -vn 0.0000 -0.7941 0.6078 -vn -0.0000 -0.9617 0.2741 -vn 0.0000 -0.7941 -0.6078 -vn 0.0009 0.0000 1.0000 -vn -0.0000 -0.5169 0.8560 -vn -0.0000 -0.5169 -0.8560 -vn 0.0000 -0.8659 0.5003 -vn -0.0000 0.8659 -0.5003 -vn 0.0000 0.5003 -0.8659 -vn -0.0000 -0.8659 -0.5003 -vn -0.0000 -0.5003 -0.8659 -vn -0.0000 0.1269 -0.9919 -vn 0.0000 -0.9915 -0.1303 -vn -0.0000 0.1269 0.9919 -vn 0.0000 -0.1346 0.9909 -vn 0.0000 0.8659 0.5003 -vn 0.0000 0.9913 0.1314 -vn -0.0000 0.8639 0.5036 -vn 0.0000 0.4943 0.8693 -vn -0.0000 -0.8680 0.4966 -vn 0.0000 -0.9915 0.1303 -vn -0.0000 -0.5062 0.8624 -vn 0.0000 0.9913 -0.1314 -vn -0.0000 0.8640 -0.5036 -vn 0.0000 0.4943 -0.8693 -vn -0.0000 -0.8680 -0.4966 -vn -0.0000 -0.5062 -0.8624 -vn -0.0000 -0.1346 -0.9909 -vn 0.9999 -0.0152 -0.0000 -vn 0.9694 0.0000 -0.2453 -vn 0.9909 0.0003 -0.1349 -vn 0.9909 0.0000 -0.1349 -vn 0.9909 0.0000 0.1349 -vn 0.9694 0.0000 0.2453 -vn -0.9694 0.0000 0.2453 -vn -0.9909 0.0000 0.1349 -vn -0.9909 0.0000 -0.1349 -vn -0.9694 0.0000 -0.2453 -vn 0.9694 -0.2453 0.0000 -vn 0.9909 -0.1349 0.0000 -vn 0.9909 0.1349 0.0000 -vn 0.9694 0.2453 0.0000 -vn -0.9694 0.2453 0.0000 -vn -0.9909 0.1349 0.0000 -vn -0.9909 -0.1349 0.0000 -vn -0.9694 -0.2453 0.0000 -vn 0.2311 0.1222 0.9652 -vn 0.0026 0.5003 -0.8659 -vn 0.0026 -0.8659 0.5003 -vn -0.0009 0.1346 -0.9909 -vn -0.0008 0.9915 0.1303 -vn 0.9981 -0.0611 0.0081 -vn -0.0009 0.5003 -0.8659 -vn -0.0007 -0.5002 0.8659 -vn 0.9979 -0.0646 0.0084 -vn 0.0000 -0.5004 0.8658 -vn -0.9980 -0.0317 0.0541 -vn -0.9980 0.0541 -0.0317 -vn 0.0000 0.5004 -0.8658 -vn 0.9980 -0.0317 -0.0541 -vn 0.9980 0.0317 0.0541 -vn 0.9982 0.0512 0.0300 -vn -0.9982 -0.0300 0.0512 -vn -0.9982 0.0512 -0.0300 -vn 0.9982 -0.0300 -0.0512 -vn 0.0000 -0.4444 -0.8958 -vn 0.0130 -0.0434 0.9990 -vn -0.0030 -0.1503 0.9886 -vn 0.0108 -0.4292 0.9031 -vn -0.0130 -0.0434 -0.9990 -vn 0.0030 -0.1503 -0.9886 -vn -0.0108 -0.4292 -0.9031 -vn -0.0065 -0.9823 -0.1873 -vn 0.0019 -0.9667 -0.2559 -vn 0.0029 -0.9987 -0.0510 -vn -0.0014 -0.8454 -0.5341 -vn -0.0031 -0.8413 -0.5406 -vn 0.0018 -0.5497 -0.8354 -vn 0.0023 -0.9811 0.1934 -vn -0.0018 -0.8561 0.5167 -vn -0.0080 -0.9854 0.1703 -vn 0.0030 -0.8413 0.5406 -vn -0.0018 -0.5497 0.8354 -vn 0.0005 0.4283 -0.9037 -vn 0.0035 0.0474 -0.9989 -vn -0.0000 0.0374 -0.9993 -vn 0.0024 0.4118 0.9113 -vn -0.0050 0.0494 0.9988 -vn 0.0000 0.0350 0.9994 -vn -0.0013 0.8510 0.5251 -vn 0.0023 0.9826 0.1856 -vn -0.0030 0.9857 0.1686 -vn -0.0011 0.4404 0.8978 -vn 0.0023 0.8384 0.5450 -vn -0.0022 0.9826 -0.1856 -vn 0.0018 0.8468 -0.5318 -vn -0.0002 0.8431 -0.5377 -vn 0.0030 0.9857 -0.1686 -vn 0.9992 0.0367 0.0149 -vn 0.7087 0.4621 0.5331 -vn 0.8051 -0.5175 0.2900 -vn -0.0063 0.9995 0.0317 -vn 0.0248 0.9841 0.1761 -vn 0.0130 0.9999 0.0079 -vn 0.4547 -0.8790 0.1436 -vn -0.0011 -0.6043 0.7967 -vn 0.0075 -0.9825 0.1862 -vn 0.4186 -0.5358 0.7332 -vn -0.0153 0.8555 0.5176 -vn 0.0085 -0.9999 0.0079 -vn 0.0098 -0.9999 0.0095 -vn 0.9992 -0.0367 -0.0149 -vn 0.7087 -0.4621 -0.5331 -vn 0.8051 0.5175 -0.2900 -vn -0.0063 -0.9995 -0.0317 -vn 0.0248 -0.9841 -0.1761 -vn 0.0130 -0.9999 -0.0079 -vn 0.4547 0.8790 -0.1436 -vn -0.0011 0.6043 -0.7967 -vn 0.0075 0.9825 -0.1862 -vn 0.4186 0.5358 -0.7332 -vn -0.0153 -0.8555 -0.5175 -vn 0.0085 0.9999 -0.0079 -vn 0.0098 0.9999 -0.0095 -vn -0.0065 -0.4650 -0.8853 -vn -0.0029 -0.9971 -0.0756 -vn -0.0028 -0.9971 -0.0756 -vn -0.0035 -0.8165 0.5773 -vn -0.0018 -0.8165 0.5773 -vn 0.0032 0.7813 0.6242 -vn -0.0067 0.9902 -0.1396 -vn -0.0064 0.9902 -0.1396 -vn 0.0103 -0.4613 -0.8872 -vn -0.0051 -0.8885 -0.4588 -vn -0.0111 0.6659 -0.7459 -vn 0.0047 -1.0000 0.0060 -vn -0.0033 -0.9726 0.2325 -vn 0.0051 -0.9536 0.3010 -vn -0.0017 0.6153 0.7883 -vn -0.0023 0.9753 0.2209 -vn 0.0058 0.9492 -0.3145 -vn 0.0111 -0.6659 -0.7459 -vn -0.0058 -0.9492 -0.3145 -vn -0.0103 0.4613 -0.8872 -vn 0.0023 -0.9752 0.2212 -vn -0.0010 -0.9134 0.4070 -vn 0.0017 -0.6153 0.7883 -vn 0.0033 0.9726 0.2325 -vn -0.0047 1.0000 0.0060 -vn -0.0051 0.9536 0.3010 -vn 0.0051 0.8885 -0.4588 -vn -1.0000 0.0054 -0.0013 -vn -0.9994 0.0032 -0.0345 -vn -1.0000 -0.0022 -0.0054 -vn 0.0063 0.9995 -0.0316 -vn -0.0237 0.9845 -0.1740 -vn -0.0130 0.9999 -0.0082 -vn -0.0107 -0.9832 -0.1824 -vn 0.0106 -0.6111 -0.7915 -vn -0.0109 -0.9823 -0.1872 -vn 0.0250 0.8578 -0.5135 -vn -0.0314 0.0439 -0.9985 -vn -0.0387 0.8030 -0.5947 -vn -0.0130 -0.9998 -0.0130 -vn -0.0098 -0.9999 -0.0095 -vn -0.9999 -0.0041 0.0117 -vn -0.9996 -0.0028 0.0272 -vn -0.9999 0.0009 0.0123 -vn 0.0063 -0.9995 0.0317 -vn -0.0248 -0.9841 0.1761 -vn -0.0130 -0.9999 0.0079 -vn -0.0080 0.9779 0.2090 -vn -0.0260 0.6722 0.7399 -vn -0.0002 0.5698 0.8218 -vn -0.0399 -0.6493 0.7595 -vn 0.0149 -0.8574 0.5145 -vn -0.0095 0.9999 0.0130 -vn -0.0146 0.9838 0.1787 -vn 0.3034 -0.9528 0.0114 -vn -0.2455 -0.9694 -0.0085 -vn 0.9180 -0.3964 -0.0082 -vn -0.4742 -0.8804 0.0082 -vn -0.8248 -0.5654 -0.0051 -vn -0.8877 0.4603 0.0035 -vn -0.8732 0.4873 0.0047 -vn -0.8726 0.4885 0.0047 -vn 0.4501 0.8930 0.0060 -vn 0.6734 0.7392 -0.0045 -vn 0.1834 0.9830 -0.0028 -vn 0.9525 0.3043 0.0101 -vn 0.4872 -0.8733 -0.0048 -vn 0.4603 -0.8877 -0.0034 -vn 0.4593 -0.8883 -0.0035 -vn -0.9694 -0.2455 0.0085 -vn -0.9528 0.3034 -0.0114 -vn -0.8804 -0.4742 -0.0082 -vn -0.3964 0.9180 0.0082 -vn 0.3043 0.9525 -0.0101 -vn 0.7392 0.6734 0.0044 -vn 0.8930 0.4501 -0.0060 -vn -0.0164 -0.1178 0.9929 -vn 0.0169 -0.8981 0.4395 -vn 0.0282 0.5319 0.8463 -vn -0.0134 -0.9723 0.2332 -vn 0.0156 -0.9631 -0.2687 -vn -0.0017 -0.9285 -0.3713 -vn 0.0171 -0.7479 -0.6636 -vn -0.0130 0.9725 -0.2325 -vn 0.0187 0.9998 -0.0054 -vn 0.0203 0.9496 -0.3129 -vn -0.0111 0.9303 0.3667 -vn 0.0140 -0.6244 0.7809 -vn 0.0092 -0.9737 0.2275 -vn -0.0143 -0.7812 0.6241 -vn -0.0210 -0.9497 -0.3125 -vn 0.0441 -0.6630 -0.7474 -vn -0.0405 0.4636 -0.8851 -vn 0.0196 0.8890 -0.4574 -vn -0.0187 0.9998 0.0054 -vn 0.0130 0.9725 0.2325 -vn -0.0203 0.9496 0.3129 -vn 0.0139 0.8165 0.5772 -vn -0.0179 -0.9636 0.2669 -vn 0.0187 -0.9998 0.0054 -vn 0.0194 -0.9472 0.3199 -vn -0.0176 -0.8985 -0.4385 -vn 0.0305 -0.5331 -0.8455 -vn -0.0305 0.5331 -0.8455 -vn 0.0176 0.8985 -0.4385 -vn 0.0179 0.9636 0.2669 -vn -0.0194 0.9472 0.3199 -vn 0.0265 0.7491 0.6620 -vn 0.3322 0.1086 0.9369 -vn 0.7203 -0.3338 0.6080 -vn 0.7303 0.2654 0.6294 -vn 0.6910 -0.6926 -0.2068 -vn 0.9444 -0.2564 0.2058 -vn 0.6721 -0.7119 0.2038 -vn 0.2554 -0.9467 -0.1965 -vn 0.2467 -0.9477 0.2024 -vn -0.9769 0.1998 -0.0762 -vn -0.9780 0.1953 0.0730 -vn -0.9519 0.1668 0.2570 -vn 0.7333 0.2667 -0.6254 -vn 0.9480 -0.2403 -0.2086 -vn 0.7196 -0.3318 -0.6100 -vn -0.4813 -0.8614 0.1622 -vn -0.4647 -0.8689 -0.1706 -vn 0.8882 0.4022 -0.2222 -vn 0.8943 0.3832 0.2310 -vn 0.2213 -0.7702 0.5982 -vn 0.3001 -0.3071 -0.9031 -vn 0.2236 -0.7700 -0.5976 -vn 0.1960 0.6569 0.7280 -vn -0.0920 0.9639 0.2501 -vn -0.4582 0.6527 0.6033 -vn -0.4040 -0.7208 -0.5633 -vn 0.3322 0.1087 -0.9369 -vn -0.1334 0.3771 -0.9165 -vn 0.1968 0.6538 -0.7306 -vn -0.4138 -0.7250 0.5507 -vn -0.2148 -0.3028 0.9285 -vn 0.3003 -0.3111 0.9017 -vn -0.2122 -0.2961 -0.9313 -vn -0.1283 0.3456 0.9296 -vn -0.9646 -0.0659 -0.2555 -vn -0.9617 0.0582 0.2680 -vn -0.9639 -0.0584 0.2599 -vn 0.3788 0.8932 -0.2425 -vn 0.4001 0.8854 0.2367 -vn -0.9669 -0.1567 -0.2013 -vn -0.9679 -0.1546 0.1982 -vn -0.0866 0.9684 -0.2340 -vn -0.9623 0.0509 -0.2672 -vn -0.6034 0.1295 -0.7868 -vn -0.9322 0.1734 -0.3177 -vn -0.9773 -0.1982 -0.0753 -vn -0.9515 0.1656 -0.2591 -vn -0.9417 -0.2075 -0.2650 -vn -0.6478 -0.0738 -0.7582 -vn -0.6438 -0.0756 0.7614 -vn -0.9441 -0.1898 0.2694 -vn -0.4812 -0.0009 0.8766 -vn -0.5148 0.7203 -0.4650 -vn -0.5238 0.8464 -0.0956 -vn -0.6145 0.0872 0.7841 -vn -0.4835 -0.0046 -0.8753 -vn -0.9107 0.4118 -0.0313 -vn -0.9311 0.1768 0.3191 -vn -0.9748 -0.2106 0.0731 -vn -0.5427 0.8201 0.1815 -vn -0.4765 0.8792 0.0044 -vn -0.4217 0.9067 -0.0026 -vn -0.9116 0.4094 0.0373 -vn 0.9297 -0.3680 -0.0180 -vn 0.8984 -0.4163 -0.1402 -vn 0.9252 -0.3796 -0.0013 -vn 0.0000 0.0195 0.9998 -vn -0.0000 -1.0000 -0.0032 -vn -0.0000 0.9913 -0.1313 -vn 0.0000 0.9586 -0.2847 -vn 0.0000 0.8704 -0.4924 -vn 0.0000 0.6173 -0.7867 -vn -0.0000 0.3672 -0.9302 -vn 0.0013 -0.9908 0.1353 -vn 0.0003 -0.9979 0.0644 -vn 0.0000 -0.9913 0.1314 -vn 0.0000 -0.9586 0.2847 -vn -0.0000 -0.8704 0.4924 -vn 0.0000 -0.6174 0.7867 -vn 0.0000 -0.6756 0.7373 -vn -0.0000 -0.3672 0.9302 -vn -0.0000 -0.9420 -0.3357 -vn 0.0000 -0.9280 0.3726 -vn 0.0013 0.9983 -0.0590 -vn 0.0101 0.9996 -0.0250 -vn 0.7315 -0.6422 -0.2290 -vn 0.7316 -0.6422 -0.2290 -vn 0.0000 -0.9797 0.2003 -vn 0.0000 0.9797 -0.2003 -vn 0.7532 -0.6196 -0.2208 -vn 0.0000 0.9280 -0.3726 -vn 0.8322 -0.5223 -0.1862 -vn 0.0000 -0.7856 0.6187 -vn -0.0000 0.6729 -0.7398 -vn 0.0000 0.7856 -0.6187 -vn 0.9944 0.0194 -0.1043 -vn 0.9316 -0.0034 0.3634 -vn 0.9470 -0.0082 -0.3211 -vn 0.4732 0.0483 0.8796 -vn -0.1351 0.0009 0.9908 -vn -0.9220 0.0214 0.3866 -vn -0.9868 -0.0103 0.1616 -vn -0.9416 0.0113 -0.3365 -vn -0.5326 -0.0246 -0.8460 -vn 0.1605 0.0268 -0.9867 -vn 0.9198 0.0221 0.3917 -vn 0.1346 0.0025 0.9909 -vn 0.9868 -0.0100 0.1616 -vn -0.4696 0.0497 0.8815 -vn -0.9316 -0.0020 0.3634 -vn -0.9947 0.0201 -0.1010 -vn -0.9467 -0.0080 -0.3219 -vn -0.1615 0.0277 -0.9865 -vn 0.5326 -0.0232 -0.8460 -vn -0.0000 0.9798 -0.1999 -vn 0.0000 0.9799 -0.1996 -vn 0.9417 0.0116 -0.3362 -vn 0.0014 0.4271 -0.9042 -vn 0.9990 -0.0424 -0.0111 -vn 1.0000 0.0022 -0.0076 -vn 0.9990 0.0424 0.0111 -vn 1.0000 -0.0022 0.0076 -vn 0.0040 -0.9588 -0.2839 -vn 0.0032 -0.9589 -0.2839 -vn 0.0051 -0.9548 0.2972 -vn 0.0050 -0.9548 0.2972 -vn -0.0017 0.6122 0.7907 -vn -0.0039 0.6122 0.7907 -vn 0.0033 0.9976 0.0686 -vn 0.0035 0.9976 0.0686 -vn 0.0077 0.6513 -0.7587 -vn 0.0078 0.6513 -0.7587 -vn 0.0010 0.9134 0.4070 -vn -0.0032 -0.7813 0.6242 -vn 0.0018 0.8165 0.5773 -vn -0.9999 -0.0123 0.0047 -vn -1.0000 -0.0050 0.0013 -vn -0.9987 -0.0054 -0.0510 -vn -0.0204 -0.8002 -0.5994 -vn -0.9737 -0.0000 -0.2279 -vn -1.0000 0.0089 -0.0031 -vn -1.0000 0.0035 -0.0006 -vn -0.9994 0.0029 0.0351 -vn -0.0117 0.9999 0.0101 -vn -0.8883 0.4593 0.0035 -vn 0.4885 -0.8726 -0.0047 -vn -0.5654 -0.8248 0.0051 -vn 0.9830 0.1834 0.0028 -vn 0.0129 -0.7182 -0.6957 -vn -0.0139 0.8165 -0.5772 -vn -0.0042 -0.9113 0.4117 -vn -0.0265 -0.7491 0.6620 -vn 0.8950 -0.4200 -0.1499 -vn 0.0006 -0.9972 0.0747 -vn -0.0000 -0.9971 0.0756 -vn 0.0114 0.9997 -0.0206 -vn 0.0000 0.9820 -0.1886 -vn -0.0000 0.9820 -0.1889 -vn 0.0000 0.9821 -0.1886 -vn -0.0003 0.9820 -0.1890 -vn -0.0003 0.9820 -0.1889 -vn 0.0000 -1.0000 0.0001 -vn -0.0001 -1.0000 -0.0002 -vn 0.0002 -1.0000 0.0004 -vn 0.0003 0.9798 -0.2000 -vn 0.0003 0.9797 -0.2003 -vn -0.0002 -1.0000 0.0004 -vn 0.0001 -1.0000 -0.0004 -vn 0.0001 -1.0000 -0.0003 -vn -0.9610 0.2618 -0.0888 -vn -0.9151 0.1429 -0.3769 -vn -0.9696 0.1609 -0.1845 -vn 0.7311 0.1590 -0.6634 -vn -0.7352 0.5073 -0.4496 -vn 0.7316 0.4933 -0.4705 -vn 0.4664 -0.5533 -0.6901 -vn 0.7312 -0.1361 -0.6684 -vn 0.7258 -0.3551 -0.5892 -vn 0.9879 -0.1511 -0.0361 -vn 0.9965 -0.0749 0.0378 -vn 0.9966 -0.0736 -0.0372 -vn 0.9319 -0.0231 -0.3620 -vn 0.7981 -0.0066 -0.6024 -vn 0.7946 -0.0286 -0.6064 -vn -0.9988 0.0382 -0.0314 -vn -0.9883 -0.0001 0.1528 -vn -0.9986 0.0419 0.0318 -vn -0.9930 0.1143 -0.0311 -vn -0.9846 0.1719 0.0301 -vn -0.9848 0.1712 -0.0305 -vn 0.0373 0.9983 0.0447 -vn -0.0141 0.9981 -0.0598 -vn 0.0469 0.9972 -0.0586 -vn 0.0024 0.7006 0.7136 -vn 0.0009 0.3632 0.9317 -vn -0.0000 0.7556 0.6550 -vn 0.0136 0.7543 -0.6563 -vn 0.0478 0.3473 -0.9365 -vn 0.0082 0.3720 -0.9282 -vn -1.0000 0.0002 0.0001 -vn -1.0000 0.0002 0.0000 -vn -0.8359 0.2242 -0.5010 -vn -0.7722 0.0774 -0.6307 -vn -0.9408 0.2707 -0.2040 -vn -0.4160 0.0095 -0.9093 -vn -0.7745 0.0566 -0.6301 -vn -0.9767 0.1085 -0.1849 -vn -0.9230 0.0062 -0.3847 -vn -0.7729 0.0154 -0.6344 -vn -0.7674 0.0017 -0.6412 -vn -0.3988 0.0086 0.9170 -vn -0.7702 0.0771 0.6332 -vn -0.7718 0.0554 0.6335 -vn 0.4118 -0.0039 -0.9113 -vn -0.9607 0.2624 0.0902 -vn -0.9177 0.0956 -0.3857 -vn -0.9697 0.1619 0.1828 -vn -0.9154 0.1424 0.3764 -vn -0.7737 0.0156 0.6333 -vn -0.9235 0.0029 0.3836 -vn -0.7675 0.0002 0.6411 -vn -0.5424 0.2278 0.8086 -vn -0.8238 0.3219 0.4666 -vn -0.8326 0.2199 0.5084 -vn -0.9232 0.0341 0.3827 -vn -0.7516 0.6450 0.1378 -vn 0.0519 0.9986 0.0103 -vn -0.9177 0.0955 0.3857 -vn -0.9767 0.1089 0.1850 -vn -0.9929 0.1148 0.0325 -vn 0.7267 -0.3568 0.5870 -vn 0.7030 -0.6349 0.3205 -vn 0.7480 -0.5342 0.3938 -vn 0.9829 -0.0291 -0.1816 -vn 0.9308 -0.0101 -0.3654 -vn 0.5999 -0.0097 0.8000 -vn 0.7881 -0.1080 0.6060 -vn 0.3104 -0.0187 0.9504 -vn 0.7597 -0.2610 0.5955 -vn 0.2254 -0.0833 0.9707 -vn 0.7596 -0.2610 -0.5957 -vn 0.5332 -0.0319 -0.8454 -vn 0.2153 -0.0838 -0.9729 -vn 0.7299 -0.1349 0.6702 -vn 0.4665 -0.5533 0.6901 -vn 0.3024 -0.9439 -0.1329 -vn 0.7479 -0.5373 -0.3899 -vn 0.7220 -0.6732 -0.1594 -vn 0.6043 -0.0093 -0.7967 -vn 0.8900 -0.2926 -0.3496 -vn 0.7899 -0.1048 -0.6042 -vn 0.9989 -0.0321 -0.0353 -vn 0.9906 -0.0157 0.1358 -vn 0.9899 -0.0158 -0.1410 -vn 0.9692 -0.1750 -0.1731 -vn 0.9305 -0.0737 -0.3587 -vn 0.9260 -0.1173 -0.3589 -vn -0.9876 -0.0010 -0.1570 -vn -0.9232 0.0341 -0.3828 -vn 0.3478 -0.9272 0.1394 -vn 0.7209 -0.6736 0.1630 -vn 0.9806 -0.0740 0.1817 -vn 0.9842 -0.1738 0.0328 -vn 0.9703 -0.1727 0.1695 -vn 0.8896 -0.2931 0.3504 -vn 0.9305 -0.0724 0.3591 -vn 0.9259 -0.1172 0.3590 -vn 0.4125 -0.0041 0.9109 -vn 0.7948 -0.0283 0.6062 -vn 0.7981 -0.0113 0.6024 -vn 0.9318 -0.0226 0.3623 -vn 0.9315 -0.0105 0.3637 -vn 0.9829 -0.0291 0.1820 -vn 0.9990 -0.0308 0.0339 -vn 0.7039 -0.6324 -0.3232 -vn 0.9156 -0.3512 -0.1958 -vn 0.8292 -0.5410 -0.1406 -vn 0.9452 -0.3253 -0.0266 -vn 0.7934 -0.4842 -0.3689 -vn 0.7384 -0.6607 -0.1351 -vn 0.7937 -0.4834 0.3693 -vn 0.7390 -0.6625 0.1229 -vn 0.8223 -0.5512 0.1411 -vn 0.9149 -0.3533 0.1952 -vn 0.9388 -0.3434 0.0262 -vn 0.9808 -0.0731 -0.1810 -vn -0.9818 0.0370 -0.1861 -vn -0.9818 0.0365 0.1864 -vn -0.8237 0.3234 -0.4657 -vn -0.7517 0.6453 -0.1363 -vn -0.5407 0.2227 -0.8112 -vn 0.7349 0.6603 0.1550 -vn 0.7317 0.1467 0.6657 -vn -0.7351 0.5079 0.4490 -vn 0.7326 0.5614 0.3849 -vn 0.7320 0.6627 -0.1584 -vn 0.0427 0.9990 -0.0112 -vn -0.9260 0.3775 0.0028 -vn -0.9264 0.3766 -0.0000 -vn 0.8620 -0.4993 -0.0879 -vn 0.8816 -0.3077 -0.3579 -vn 0.8794 -0.3010 0.3687 -vn 0.8590 -0.5035 0.0924 -vn 0.7438 -0.0469 -0.6667 -vn 0.9359 -0.1267 -0.3288 -vn 0.7445 -0.0484 0.6659 -vn 0.9364 -0.1233 0.3287 -vn 0.9232 0.3726 0.0937 -vn 0.8876 0.3176 0.3337 -vn 0.9131 0.1228 0.3889 -vn 0.8907 0.3069 -0.3354 -vn 0.9181 0.3833 -0.1012 -vn 0.9120 0.1286 -0.3896 -vn 0.0058 0.3666 0.9304 -vn -0.0116 0.7031 -0.7110 -vn -0.0162 0.3735 -0.9275 -vn -0.0632 0.3653 -0.9287 -vn -1.0000 -0.0000 0.0001 -vn -0.9407 0.2705 0.2048 -vn 0.0701 0.9972 -0.0251 -vn 0.7314 0.3815 0.5652 -vn 0.0609 0.9981 -0.0048 -vn 0.0231 0.9989 0.0401 -vn -0.9280 0.3726 -0.0071 -vn -0.9260 0.3775 -0.0028 -vn -0.9280 0.3726 0.0070 -vn 1.0000 0.0004 0.0000 -vn 0.9999 0.0135 0.0000 -vn 0.0003 -0.6930 -0.7209 -vn 0.0003 -0.6930 -0.7210 -vn -1.0000 -0.0004 0.0000 -vn -0.9999 0.0127 -0.0000 -vn 0.0003 -0.6930 0.7209 -vn 0.0003 -0.6930 0.7210 -vn -0.0004 1.0000 0.0000 -vn 0.0004 -1.0000 0.0000 -vn -0.0003 0.6930 0.7210 -vn -0.0003 0.6930 0.7209 -vn -0.0003 0.6930 -0.7209 -vn -1.0000 -0.0003 0.0000 -vn 1.0000 0.0003 0.0000 -vn -1.0000 -0.0005 0.0000 -vn -0.0003 0.6931 0.7208 -vn -0.0003 0.6931 0.7209 -vn -0.0003 0.6929 0.7210 -vn -0.0003 0.6928 0.7211 -vn -0.0003 0.6930 -0.7210 -vn -0.0003 0.6931 -0.7209 -vn -0.0003 0.6929 -0.7210 -vn -0.0002 0.6932 -0.7207 -vn -0.9999 -0.0131 0.0000 -vn -0.0000 0.6930 -0.7209 -vn 0.0000 0.6930 -0.7210 -vn 0.9999 -0.0131 -0.0000 -vn 0.0000 0.6930 0.7210 -vn 0.0000 0.6930 0.7209 -vn -0.0000 -0.6930 0.7209 -vn -0.0000 -0.6931 0.7208 -vn 1.0000 -0.0024 0.0000 -vn 0.0000 -0.6930 -0.7209 -vn -1.0000 -0.0024 -0.0000 -vn -1.0000 -0.0023 -0.0000 -vn 0.0000 -0.6475 -0.7621 -vn -0.0000 -0.6474 0.7621 -vn 0.0000 -0.6931 0.7209 -vn -0.0000 -0.6929 0.7211 -vn 0.0000 -0.6475 0.7621 -vn 0.9725 -0.1875 0.1380 -vn 0.8553 -0.5020 -0.1281 -vn 0.8553 -0.5020 0.1281 -vn -0.7408 0.1356 -0.6578 -vn 0.1082 -0.0660 -0.9919 -vn 0.1027 -0.0166 -0.9946 -vn -0.8344 0.1179 0.5384 -vn -0.2960 -0.0831 -0.9516 -vn -0.2960 -0.0831 0.9516 -vn -0.6195 0.4039 -0.6730 -vn -0.6195 0.4039 0.6730 -vn -0.7408 0.1356 0.6578 -vn -0.7152 -0.2662 -0.6462 -vn -0.7152 -0.2662 0.6462 -vn -0.5438 -0.4714 -0.6944 -vn -0.5438 -0.4714 0.6944 -vn -0.2116 -0.7642 0.6092 -vn -0.2116 -0.7642 -0.6093 -vn 0.7524 0.6176 0.2290 -vn 0.9417 -0.0970 -0.3221 -vn 0.7712 0.6229 -0.1311 -vn 0.1295 0.0953 0.9870 -vn 0.0989 0.0799 0.9919 -vn 0.0954 0.0350 -0.9948 -vn 0.1082 -0.0660 0.9919 -vn 0.9246 0.3536 0.1418 -vn 0.9725 -0.1875 -0.1380 -vn 0.1064 -0.1320 0.9855 -vn 0.0969 -0.5822 0.8072 -vn 0.0680 -0.2812 0.9572 -vn 0.8420 0.0500 0.5372 -vn -0.8344 0.1179 -0.5384 -vn 0.7584 -0.6181 -0.2067 -vn 0.1233 -0.1338 -0.9833 -vn 0.0954 0.0351 0.9948 -vn 0.7712 0.6229 0.1311 -vn 0.9246 0.3536 -0.1418 -vn 0.8419 0.0501 -0.5372 -vn 0.1478 -0.9581 0.2452 -vn 0.1212 -0.6428 -0.7564 -vn 0.4243 -0.8741 -0.2365 -vn 0.1286 -0.2601 -0.9570 -vn 0.0988 0.0798 -0.9919 -vn 0.4133 -0.8300 -0.3745 -vn 0.8920 -0.3081 0.3307 -vn 0.5025 -0.4887 0.7132 -vn 0.1178 0.0562 -0.9914 -vn 0.1027 -0.0166 0.9946 -vn 0.4842 -0.8523 0.1980 -vn 0.5196 0.1054 -0.8479 -vn 0.3745 -0.6350 -0.6757 -vn 0.6377 0.4459 0.6280 -vn 0.5337 0.3566 0.7668 -vn 0.5034 -0.6795 0.5338 -vn 0.8312 -0.1637 -0.5313 -vn 0.7843 0.3017 -0.5420 -vn 0.4460 -0.0839 -0.8911 -vn 0.4157 0.1581 -0.8957 -vn 0.7491 -0.4387 0.4964 -vn 0.8312 -0.1637 0.5313 -vn 0.4286 -0.2546 0.8669 -vn 0.4460 -0.0839 0.8911 -vn 0.6722 0.5430 0.5032 -vn 0.3848 0.3108 0.8691 -vn 0.3701 -0.5789 0.7265 -vn 0.4286 -0.2546 -0.8669 -vn 0.4373 -0.5368 -0.7216 -vn 0.7490 -0.4387 -0.4964 -vn 0.7846 0.3018 0.5416 -vn 0.4157 0.1581 0.8956 -vn 0.6722 0.5430 -0.5033 -vn 0.3847 0.3108 -0.8691 -vn 0.6869 0.2207 -0.6925 -vn 0.5484 -0.6147 -0.5670 -vn -0.7382 -0.2947 -0.6067 -vn -0.6043 -0.4811 -0.6351 -vn -0.5800 -0.5038 -0.6401 -vn -0.0376 0.1808 -0.9828 -vn 0.0295 0.1792 -0.9834 -vn -0.0377 0.1808 -0.9828 -vn 0.6969 -0.3698 -0.6145 -vn 0.4856 -0.5789 -0.6550 -vn 0.7049 -0.3565 -0.6131 -vn -0.3874 -0.6329 -0.6703 -vn -0.1394 -0.7220 -0.6777 -vn -0.3661 -0.6428 -0.6729 -vn -0.0376 0.1808 0.9828 -vn -0.1338 0.1397 0.9811 -vn -0.0377 0.1808 0.9828 -vn 0.7767 0.6299 0.0000 -vn 0.5071 0.8619 0.0000 -vn 0.2051 0.0737 -0.9760 -vn 0.1628 0.1214 -0.9792 -vn 0.1508 0.1297 -0.9800 -vn 0.0980 0.1568 -0.9828 -vn 0.0897 0.1595 -0.9831 -vn 0.1803 0.9836 0.0000 -vn -0.2038 0.9790 0.0000 -vn -0.1338 0.1397 -0.9811 -vn -0.1201 0.1476 -0.9817 -vn 0.2242 0.0370 -0.9738 -vn 0.2085 0.0672 -0.9757 -vn 0.1929 -0.9812 0.0000 -vn 0.6212 -0.7836 -0.0000 -vn 0.0349 0.1775 -0.9835 -vn 0.9458 0.3247 0.0000 -vn -0.1239 -0.7258 -0.6766 -vn 0.1437 -0.7287 -0.6696 -vn 0.4558 -0.5988 -0.6586 -vn 0.1437 -0.7287 0.6696 -vn 0.4856 -0.5789 0.6551 -vn 0.1429 -0.7288 0.6696 -vn -0.7854 -0.1545 0.5994 -vn -0.2607 -0.1026 0.9600 -vn -0.2250 -0.0998 0.9692 -vn 0.2250 0.0354 0.9737 -vn 0.2242 0.0370 0.9738 -vn 0.2240 0.0365 0.9739 -vn -0.9162 0.4008 0.0000 -vn -0.6537 0.7568 0.0000 -vn 0.0980 0.1568 0.9828 -vn 0.0349 0.1775 0.9835 -vn 0.0295 0.1792 0.9834 -vn 0.7780 -0.2031 -0.5945 -vn -0.9878 -0.1555 0.0000 -vn -0.9825 -0.1864 0.0000 -vn -0.2197 0.0494 -0.9743 -vn -0.1995 0.0833 -0.9764 -vn -0.2216 0.0455 -0.9741 -vn -0.1803 -0.9836 0.0000 -vn -0.5071 -0.8619 -0.0000 -vn 0.2085 0.0672 0.9757 -vn 0.2051 0.0737 0.9760 -vn -0.7445 -0.2811 0.6056 -vn -0.7948 -0.1483 0.5884 -vn -0.1960 0.0888 -0.9766 -vn -0.1995 0.0833 0.9764 -vn -0.2197 0.0494 0.9743 -vn -0.2216 0.0455 0.9741 -vn 0.7780 -0.2031 0.5945 -vn 0.7049 -0.3565 0.6132 -vn 0.6969 -0.3697 0.6145 -vn 0.4558 -0.5987 0.6586 -vn -0.2265 0.0357 0.9734 -vn 0.2250 0.0354 -0.9737 -vn -0.1239 -0.7258 0.6767 -vn -0.2607 -0.1026 -0.9600 -vn -0.7854 -0.1545 -0.5994 -vn -0.2250 -0.0998 -0.9692 -vn -0.9319 -0.3628 -0.0000 -vn -0.7675 -0.6411 -0.0000 -vn 0.8020 -0.1263 0.5838 -vn 0.7823 -0.1906 0.5930 -vn 0.1508 0.1297 0.9800 -vn 0.0897 0.1595 0.9831 -vn 0.9869 0.1615 0.0000 -vn -0.5800 -0.5038 0.6402 -vn -0.3874 -0.6329 0.6703 -vn -0.6043 -0.4811 0.6351 -vn 0.1628 0.1214 0.9792 -vn -0.7445 -0.2811 -0.6056 -vn -0.7948 -0.1483 -0.5884 -vn -0.2265 0.0357 -0.9734 -vn 0.9695 -0.2451 0.0000 -vn 0.9878 -0.1555 0.0000 -vn -0.7382 -0.2947 0.6068 -vn -0.9878 0.1555 0.0000 -vn -0.9776 0.2107 0.0000 -vn -0.1960 0.0888 0.9766 -vn -0.1201 0.1476 0.9817 -vn -0.1394 -0.7220 0.6777 -vn 0.8875 -0.4607 -0.0000 -vn 0.8020 -0.1263 -0.5838 -vn 0.7823 -0.1906 -0.5930 -vn 0.9878 0.1555 0.0000 -vn 0.2242 0.0365 -0.9739 -vn 0.1429 -0.7289 -0.6696 -vn -0.3661 -0.6428 0.6729 -vn -1.0000 -0.0037 -0.0000 -vn -1.0000 0.0015 0.0000 -vn 1.0000 0.0012 -0.0000 -vn 1.0000 0.0014 0.0000 -vn 1.0000 0.0001 0.0000 -vn 1.0000 -0.0002 0.0000 -vn -0.9999 -0.0139 0.0000 -vn -1.0000 0.0018 -0.0000 -vn -1.0000 -0.0043 -0.0000 -vn -1.0000 -0.0070 0.0000 -vn -1.0000 0.0014 0.0000 -vn 1.0000 -0.0015 0.0000 -vn 1.0000 -0.0008 0.0000 -vn 1.0000 0.0015 -0.0000 -vn 1.0000 -0.0019 0.0000 -vn 1.0000 -0.0033 0.0000 -vn 1.0000 -0.0017 -0.0000 -vn 1.0000 0.0013 0.0000 -vn 1.0000 -0.0028 -0.0000 -vn 1.0000 -0.0022 0.0000 -vn -1.0000 -0.0002 0.0000 -vn -0.9999 -0.0173 0.0000 -vn -1.0000 0.0061 -0.0000 -vn -1.0000 0.0043 0.0000 -vn -0.9997 -0.0230 0.0000 -vn -1.0000 0.0037 -0.0000 -vn 1.0000 -0.0039 0.0000 -vn 1.0000 0.0007 -0.0000 -vn 1.0000 -0.0067 -0.0000 -vn 1.0000 0.0002 -0.0000 -vn 1.0000 0.0006 -0.0000 -vn -1.0000 0.0047 -0.0000 -vn -1.0000 0.0001 0.0000 -vn 0.0027 -0.0996 -0.9950 -vn 0.0201 -0.7070 -0.7070 -vn 0.0201 -0.3826 -0.9237 -vn 0.0214 -0.9998 -0.0000 -vn 0.0208 -0.9238 -0.3822 -vn 0.0029 -0.8811 -0.4728 -vn 0.0029 -0.8811 0.4728 -vn 0.0201 -0.3826 0.9237 -vn 0.0201 -0.7070 0.7070 -vn 0.0027 -0.0996 0.9950 -vn 0.0048 0.3213 0.9470 -vn 0.0048 0.3209 0.9471 -vn 0.0000 0.9241 0.3822 -vn 0.0029 0.7740 0.6331 -vn 0.0000 0.9238 0.3828 -vn 0.0000 0.9239 0.3826 -vn 0.0000 0.9240 0.3823 -vn 0.0201 0.9237 0.3826 -vn 0.0201 0.9998 0.0000 -vn 0.0029 0.7740 -0.6331 -vn 0.0000 0.9239 -0.3826 -vn -0.0000 0.9238 -0.3828 -vn 0.0201 0.9237 -0.3826 -vn 0.0042 0.3187 -0.9478 -vn 0.0048 0.3215 -0.9469 -vn 0.0401 0.3824 -0.9231 -vn 0.0214 0.0008 -0.9998 -vn 0.0401 -0.0000 -0.9992 -vn 0.0401 0.7065 -0.7065 -vn 0.0226 0.3826 -0.9236 -vn 0.0401 0.9231 -0.3824 -vn 0.0401 0.9992 0.0000 -vn 0.0401 0.9231 0.3824 -vn 0.0214 0.7064 0.7075 -vn 0.0401 0.7065 0.7065 -vn 0.0227 0.3826 0.9236 -vn 0.0401 0.3824 0.9231 -vn 0.0214 0.0008 0.9998 -vn 0.0401 -0.0000 0.9992 -vn 0.0401 -0.3824 0.9231 -vn 0.0401 -0.7065 0.7065 -vn 0.0208 -0.9238 0.3822 -vn 0.0401 -0.9231 0.3824 -vn 0.0401 -0.9992 0.0000 -vn 0.0401 -0.9231 -0.3824 -vn 0.0401 -0.7065 -0.7065 -vn 0.0401 -0.3824 -0.9231 -vn 0.0000 -0.3827 -0.9239 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 -0.3827 0.9239 -vn -0.0000 0.9236 0.3833 -vn -0.0000 0.7947 0.6070 -vn 0.0019 0.5852 0.8109 -vn 0.0044 0.4717 0.8818 -vn 0.0043 0.3187 0.9478 -vn 0.0051 0.3827 0.9239 -vn 0.0013 0.7065 0.7077 -vn 0.0039 0.4709 0.8822 -vn 0.0051 0.3828 0.9238 -vn 0.0045 0.3826 0.9239 -vn -0.0000 0.7074 0.7068 -vn -0.0000 0.7072 0.7070 -vn 0.0000 0.7069 0.7073 -vn 0.0019 0.4727 0.8812 -vn 0.0020 0.6337 0.7736 -vn 0.0044 0.4708 0.8822 -vn 0.0051 0.3830 0.9238 -vn 0.0050 0.3823 0.9240 -vn 0.0044 0.4719 0.8816 -vn 0.0048 0.3215 0.9469 -vn 0.0051 0.3824 0.9240 -vn 0.0000 0.7070 0.7072 -vn 0.0020 0.6336 0.7737 -vn 0.0020 0.6355 0.7721 -vn 0.0000 0.7073 0.7069 -vn -0.0000 0.7074 -0.7068 -vn -0.0000 0.7072 -0.7070 -vn 0.0019 0.4730 -0.8811 -vn 0.0044 0.4714 -0.8819 -vn 0.0020 0.6335 -0.7737 -vn 0.0048 0.3209 -0.9471 -vn 0.0051 0.3827 -0.9239 -vn 0.0045 0.3826 -0.9239 -vn 0.0039 0.4708 -0.8823 -vn 0.0013 0.7065 -0.7077 -vn 0.0214 0.7064 -0.7075 -vn 0.0044 0.4717 -0.8818 -vn 0.0051 0.3824 -0.9240 -vn 0.0019 0.5852 -0.8109 -vn 0.0000 0.7946 -0.6072 -vn 1.0000 0.0065 0.0000 -vn 0.0020 0.6352 -0.7724 -vn 0.0044 0.4719 -0.8816 -vn 0.0044 0.4712 -0.8820 -vn 0.0051 0.3828 -0.9238 -vn 0.0051 0.3827 -0.9238 -vn 0.0000 0.7068 -0.7074 -vn 0.0020 0.6333 -0.7739 -s 1 -f 213/408/154 214/409/154 215/410/155 -f 216/411/154 217/412/154 218/413/156 -f 219/414/157 220/415/158 221/416/159 -f 222/417/160 218/413/156 223/418/159 -f 224/419/161 225/420/162 226/421/163 -f 227/422/164 228/423/165 229/424/166 -f 230/425/166 231/426/166 232/427/164 -f 233/428/167 234/429/167 227/430/164 -f 235/431/168 236/432/167 237/433/169 -f 238/434/170 239/435/171 240/436/171 -f 219/437/172 241/438/172 214/439/172 -f 242/440/170 243/441/173 238/434/170 -f 244/442/174 245/443/174 243/441/173 -f 245/444/175 246/445/175 232/446/175 -f 247/447/176 240/448/177 239/449/178 -f 248/450/179 249/451/180 250/452/181 -f 251/453/182 252/454/183 253/455/184 -f 254/456/185 255/457/186 256/458/187 -f 256/459/187 252/460/183 257/461/188 -f 230/462/189 248/450/179 258/463/190 -f 259/464/191 223/465/192 218/466/193 -f 259/464/191 260/467/194 223/465/192 -f 261/468/195 213/469/196 215/470/197 -f 250/471/163 262/472/161 263/473/157 -f 220/474/198 264/475/199 221/476/200 -f 265/477/201 266/478/202 229/479/203 -f 267/480/204 254/456/185 268/481/205 -f 269/482/206 213/469/196 261/468/195 -f 266/478/202 225/483/207 229/479/203 -f 270/484/208 271/485/209 272/486/210 -f 273/487/211 271/488/209 233/489/212 -f 274/490/213 237/491/169 236/492/214 -f 248/450/179 260/467/194 259/464/191 -f 274/490/213 268/481/205 254/456/185 -f 258/463/190 259/464/191 268/481/205 -f 265/477/201 264/475/199 266/478/202 -f 251/493/182 270/484/208 257/461/188 -f 220/474/198 266/478/202 264/475/199 -f 271/488/209 261/468/195 265/477/201 -f 247/447/176 254/494/185 256/459/187 -f 257/461/188 247/447/176 256/459/187 -f 247/447/176 239/449/178 237/495/169 -f 269/496/154 214/409/154 213/408/154 -f 214/409/154 241/497/160 215/410/155 -f 218/413/156 222/417/160 216/411/154 -f 222/417/160 246/498/154 216/411/154 -f 216/411/154 275/499/154 217/412/154 -f 215/410/155 241/497/160 221/416/159 -f 241/497/160 219/414/157 221/416/159 -f 223/418/159 260/500/215 263/473/157 -f 263/473/157 222/417/160 223/418/159 -f 226/421/163 220/415/158 219/414/157 -f 219/414/157 224/419/161 226/421/163 -f 225/420/162 224/419/161 229/424/166 -f 224/419/161 227/422/164 229/424/166 -f 231/426/166 276/501/216 232/427/164 -f 232/427/164 262/472/161 230/425/166 -f 262/472/161 249/502/217 230/425/166 -f 228/503/165 227/430/164 234/429/167 -f 227/430/164 277/504/168 233/428/167 -f 277/504/168 278/505/218 272/506/219 -f 272/506/219 273/507/167 277/504/168 -f 273/507/167 233/428/167 277/504/168 -f 279/508/220 280/509/221 235/431/168 -f 235/431/168 232/510/164 281/511/167 -f 232/510/164 276/512/216 281/511/167 -f 237/433/169 279/508/220 235/431/168 -f 235/431/168 281/511/167 236/432/167 -f 240/436/171 278/505/218 242/440/170 -f 278/505/218 277/504/168 242/440/170 -f 242/440/170 238/434/170 240/436/171 -f 238/434/170 235/431/168 280/509/221 -f 238/434/170 280/509/221 239/435/171 -f 214/439/172 282/513/172 227/514/172 -f 282/513/172 283/515/172 242/516/172 -f 214/439/172 227/514/172 224/517/172 -f 242/516/172 277/518/172 282/513/172 -f 277/518/172 227/514/172 282/513/172 -f 224/517/172 219/437/172 214/439/172 -f 242/440/170 283/519/173 243/441/173 -f 243/441/173 283/519/173 244/442/174 -f 283/519/173 282/520/174 244/442/174 -f 246/445/175 222/521/175 263/522/175 -f 263/522/175 262/523/175 246/445/175 -f 262/523/175 232/446/175 246/445/175 -f 232/446/175 235/524/175 245/444/175 -f 235/524/175 238/525/175 245/444/175 -f 238/525/175 243/526/175 245/444/175 -f 247/447/176 270/484/208 240/448/177 -f 248/450/179 230/462/189 249/451/180 -f 251/453/182 257/527/188 252/454/183 -f 254/456/185 267/480/204 255/457/186 -f 256/459/187 255/528/186 252/460/183 -f 281/529/222 276/530/223 258/463/190 -f 276/530/223 231/531/224 258/463/190 -f 231/531/224 230/462/189 258/463/190 -f 217/532/225 268/481/205 218/466/193 -f 268/481/205 259/464/191 218/466/193 -f 221/476/200 264/475/199 215/470/197 -f 264/475/199 261/468/195 215/470/197 -f 263/473/157 260/500/215 250/471/163 -f 250/471/163 249/502/217 262/472/161 -f 229/479/203 228/533/226 265/477/201 -f 228/533/226 234/534/227 265/477/201 -f 234/534/227 233/489/212 265/477/201 -f 217/532/225 275/535/228 268/481/205 -f 275/535/228 267/480/204 268/481/205 -f 251/453/182 253/455/184 261/468/195 -f 253/455/184 269/482/229 261/468/195 -f 266/478/202 226/536/230 225/483/207 -f 272/486/210 278/537/231 240/448/177 -f 240/448/177 270/484/208 272/486/210 -f 272/538/210 271/488/209 273/487/211 -f 271/488/209 265/477/201 233/489/212 -f 281/529/222 258/463/190 236/492/214 -f 258/463/190 274/490/213 236/492/214 -f 248/450/179 250/452/181 260/467/194 -f 274/490/213 258/463/190 268/481/205 -f 258/463/190 248/450/179 259/464/191 -f 265/477/201 261/468/195 264/475/199 -f 251/493/182 271/485/209 270/484/208 -f 220/474/198 226/536/230 266/478/202 -f 271/488/209 251/453/182 261/468/195 -f 247/447/176 274/539/213 254/494/185 -f 257/461/188 270/484/208 247/447/176 -f 280/540/232 279/541/220 239/449/178 -f 279/541/220 237/495/169 239/449/178 -f 237/495/169 274/539/213 247/447/176 -f 284/542/164 285/543/164 286/544/164 -f 287/545/172 288/546/172 286/547/172 -f 289/548/175 290/549/175 291/550/175 -f 289/551/233 292/552/234 293/553/233 -f 294/554/235 287/555/236 295/556/237 -f 286/557/238 294/554/235 284/558/238 -f 291/559/239 296/560/240 285/561/239 -f 296/560/240 289/551/233 293/553/233 -f 297/562/241 298/563/241 299/564/241 -f 287/555/236 299/565/242 295/556/237 -f 293/566/172 297/567/172 287/545/172 -f 295/556/175 298/568/175 289/548/175 -f 300/569/243 301/570/244 302/571/245 -f 303/572/246 304/573/247 305/574/246 -f 306/575/248 307/576/249 308/577/250 -f 309/578/251 310/579/252 311/580/251 -f 312/581/253 313/582/254 314/583/253 -f 315/584/255 316/585/256 317/586/255 -f 318/587/257 319/588/258 320/589/259 -f 321/590/172 322/591/172 323/592/172 -f 318/593/172 324/594/172 325/595/172 -f 326/596/260 327/597/261 328/598/260 -f 329/599/244 328/598/260 301/600/244 -f 320/589/259 330/601/261 318/587/257 -f 303/572/246 319/588/258 331/602/258 -f 332/603/262 304/573/247 333/604/247 -f 311/580/251 307/576/249 309/578/251 -f 314/583/253 334/605/252 312/581/253 -f 317/586/255 335/606/263 315/584/255 -f 302/571/245 323/607/264 300/569/243 -f 317/608/175 316/609/175 310/610/175 -f 336/611/265 337/612/265 338/613/265 -f 339/614/164 324/615/164 336/611/164 -f 340/616/266 325/617/266 339/614/266 -f 341/618/242 342/619/242 340/616/242 -f 343/620/267 344/621/267 341/618/267 -f 345/622/241 346/623/241 343/620/241 -f 347/624/268 321/625/268 345/622/268 -f 338/626/234 322/627/234 347/624/234 -f 338/628/172 347/629/172 340/630/172 -f 348/631/242 349/632/269 350/633/269 -f 350/633/269 351/634/270 352/635/270 -f 351/634/271 353/636/272 352/635/271 -f 354/637/273 355/638/234 353/636/272 -f 356/639/234 357/640/274 355/638/234 -f 358/641/275 359/642/276 357/640/274 -f 356/643/172 354/644/172 349/645/172 -f 359/642/277 360/646/278 361/647/279 -f 361/647/279 362/648/242 348/649/242 -f 357/650/175 359/651/175 361/652/175 -f 284/542/164 291/653/164 285/543/164 -f 286/547/172 285/654/172 287/545/172 -f 285/654/172 296/655/172 293/566/172 -f 287/545/172 285/654/172 293/566/172 -f 291/550/175 284/656/175 289/548/175 -f 284/656/175 294/554/175 295/556/175 -f 289/548/175 284/656/175 295/556/175 -f 289/551/233 298/657/234 292/552/234 -f 294/554/235 288/658/235 287/555/236 -f 286/557/238 288/658/235 294/554/235 -f 291/559/239 290/659/240 296/560/240 -f 296/560/240 290/659/240 289/551/233 -f 297/562/241 292/552/241 298/563/241 -f 287/555/236 297/562/242 299/565/242 -f 293/566/172 292/660/172 297/567/172 -f 295/556/175 299/565/175 298/568/175 -f 300/569/243 329/661/244 301/570/244 -f 303/572/246 333/604/247 304/573/247 -f 306/575/248 332/603/262 307/576/249 -f 309/578/251 334/605/252 310/579/252 -f 312/581/253 335/606/263 313/582/254 -f 315/584/255 323/607/264 316/585/256 -f 318/587/257 331/602/258 319/588/258 -f 322/591/172 337/662/172 329/663/172 -f 329/663/172 300/664/172 322/591/172 -f 300/664/172 323/592/172 322/591/172 -f 323/592/172 315/665/172 321/590/172 -f 315/665/172 335/666/172 321/590/172 -f 335/666/172 312/667/280 346/668/172 -f 312/667/280 334/669/172 346/668/172 -f 334/669/172 309/670/172 346/668/172 -f 309/670/172 307/671/172 344/672/172 -f 346/668/172 309/670/172 344/672/172 -f 346/668/172 321/590/172 335/666/172 -f 344/672/172 307/671/172 332/673/172 -f 332/673/172 333/674/172 342/675/172 -f 333/674/172 303/676/172 325/595/172 -f 303/676/172 331/677/172 325/595/172 -f 331/677/172 318/593/172 325/595/172 -f 318/593/172 330/678/172 324/594/172 -f 330/678/172 326/679/172 324/594/172 -f 326/679/172 329/663/172 337/662/172 -f 326/679/172 337/662/172 324/594/172 -f 342/675/172 344/672/172 332/673/172 -f 325/595/172 342/675/172 333/674/172 -f 326/596/260 330/601/261 327/597/261 -f 329/599/244 326/596/260 328/598/260 -f 320/589/259 327/597/261 330/601/261 -f 303/572/246 305/574/246 319/588/258 -f 332/603/262 306/575/248 304/573/247 -f 311/580/251 308/577/250 307/576/249 -f 314/583/253 310/579/252 334/605/252 -f 317/586/255 313/582/254 335/606/263 -f 302/571/245 316/585/256 323/607/264 -f 316/609/175 302/680/175 308/681/175 -f 302/680/175 301/682/175 308/681/175 -f 301/682/175 328/683/175 304/684/175 -f 328/683/175 327/685/175 304/684/175 -f 327/685/175 320/686/281 319/687/175 -f 319/687/175 305/688/175 327/685/175 -f 305/688/175 304/684/175 327/685/175 -f 304/684/175 306/689/175 301/682/175 -f 306/689/175 308/681/175 301/682/175 -f 308/681/175 311/690/175 316/609/175 -f 311/690/175 310/610/175 316/609/175 -f 310/610/175 314/691/281 313/692/175 -f 313/692/175 317/608/175 310/610/175 -f 336/611/265 324/693/282 337/612/265 -f 339/614/164 325/694/164 324/615/164 -f 340/616/266 342/619/266 325/617/266 -f 341/618/242 344/621/242 342/619/242 -f 343/620/267 346/623/283 344/621/267 -f 345/622/241 321/695/241 346/623/241 -f 347/624/268 322/627/268 321/625/268 -f 338/626/234 337/696/234 322/627/234 -f 347/629/172 345/697/172 343/698/172 -f 343/698/172 341/699/172 347/629/172 -f 341/699/172 340/630/172 347/629/172 -f 340/630/172 339/700/172 336/701/172 -f 336/701/172 338/628/172 340/630/172 -f 348/631/242 362/702/242 349/632/269 -f 350/633/269 349/632/269 351/634/270 -f 351/634/271 354/637/273 353/636/272 -f 354/637/273 356/639/234 355/638/234 -f 356/639/234 358/641/275 357/640/274 -f 358/641/275 363/703/276 359/642/276 -f 351/704/172 349/645/172 354/644/172 -f 349/645/172 362/705/172 356/643/172 -f 362/705/172 360/706/172 358/707/172 -f 360/706/172 363/708/172 358/707/172 -f 358/707/172 356/643/172 362/705/172 -f 359/642/277 363/703/277 360/646/278 -f 361/647/279 360/646/278 362/648/242 -f 361/652/175 348/709/175 355/710/175 -f 348/709/175 350/711/175 353/712/175 -f 350/711/175 352/713/175 353/712/175 -f 353/712/175 355/710/175 348/709/175 -f 355/710/175 357/650/175 361/652/175 -f 364/714/284 365/715/285 366/716/286 -f 367/717/287 368/718/288 369/719/289 -f 370/720/290 364/714/284 371/721/291 -f 372/722/292 373/723/293 374/724/294 -f 375/725/295 376/726/296 377/727/297 -f 378/728/289 379/729/298 380/730/299 -f 381/731/300 382/732/301 383/733/302 -f 384/734/303 385/735/304 386/736/305 -f 387/737/306 388/738/307 389/739/308 -f 390/740/309 391/741/310 392/742/311 -f 393/743/312 394/744/313 395/745/291 -f 396/746/314 397/747/315 398/748/316 -f 399/749/317 400/750/318 401/751/319 -f 402/752/175 403/753/175 404/754/175 -f 405/755/175 406/756/175 407/757/175 -f 408/758/320 409/759/321 410/760/322 -f 411/761/323 412/762/324 413/763/325 -f 414/764/326 415/765/327 416/766/328 -f 417/767/329 418/768/330 419/769/331 -f 420/770/332 421/771/333 422/772/334 -f 423/773/335 424/774/336 425/775/337 -f 426/776/338 427/777/339 428/778/340 -f 421/771/333 396/779/314 422/772/334 -f 418/768/330 429/780/341 430/781/342 -f 431/782/343 402/783/344 432/784/345 -f 433/785/346 412/762/324 434/786/347 -f 377/787/297 435/788/348 436/789/305 -f 437/790/349 399/749/317 401/751/319 -f 438/791/350 431/782/343 439/792/351 -f 440/793/352 441/794/308 442/795/353 -f 443/796/354 444/797/355 381/731/300 -f 445/798/356 384/734/303 446/799/357 -f 447/800/358 415/765/327 448/801/359 -f 449/802/360 409/759/321 450/803/361 -f 365/804/285 446/799/357 366/805/286 -f 451/806/362 452/807/363 453/808/364 -f 454/809/365 455/810/366 456/811/367 -f 379/729/298 442/812/353 380/730/299 -f 457/813/368 458/814/369 373/723/293 -f 394/815/313 459/816/370 460/817/371 -f 460/817/371 461/818/372 387/737/306 -f 462/819/373 463/820/374 464/821/375 -f 465/822/376 466/823/377 452/807/363 -f 467/824/378 374/724/294 468/825/379 -f 469/826/380 470/827/381 471/828/382 -f 432/829/345 472/830/383 473/831/384 -f 427/832/339 474/833/385 428/834/340 -f 475/835/386 476/836/387 477/837/388 -f 478/838/389 479/839/390 480/840/391 -f 476/836/387 481/841/392 482/842/393 -f 424/774/336 483/843/394 425/775/337 -f 471/828/382 484/844/395 478/838/389 -f 451/806/362 453/808/364 485/845/396 -f 486/846/397 416/766/328 487/847/398 -f 488/848/399 487/847/398 489/849/400 -f 490/850/401 488/848/399 489/849/400 -f 491/851/402 480/840/391 479/839/390 -f 455/810/366 450/803/361 456/811/367 -f 492/852/403 493/853/404 494/854/405 -f 495/855/406 458/814/369 496/856/407 -f 497/857/408 498/858/409 443/796/354 -f 391/741/310 497/857/408 392/742/311 -f 382/732/301 499/859/410 383/733/302 -f 500/860/411 447/800/358 499/859/410 -f 501/861/412 468/825/379 466/823/377 -f 502/862/413 419/769/331 503/863/414 -f 504/864/415 503/863/414 505/865/416 -f 506/866/417 504/867/415 505/868/416 -f 507/869/418 508/870/419 420/770/332 -f 509/871/420 507/869/418 483/872/394 -f 473/831/384 510/873/421 511/874/422 -f 512/875/423 437/790/349 513/876/424 -f 514/877/425 510/873/421 400/878/318 -f 398/748/316 515/879/426 411/761/323 -f 516/880/427 438/791/350 439/792/351 -f 429/881/341 434/786/347 430/882/342 -f 517/883/428 463/820/374 518/884/429 -f 405/885/430 462/819/373 519/886/431 -f 413/763/325 520/887/432 521/888/433 -f 521/888/433 522/889/434 523/890/435 -f 523/890/435 379/729/298 524/891/436 -f 429/881/341 520/887/432 433/785/346 -f 520/887/432 525/892/437 522/889/434 -f 525/892/437 379/729/298 522/889/434 -f 526/893/438 527/894/439 429/780/341 -f 528/895/440 525/896/437 527/894/439 -f 529/897/441 440/793/352 525/896/437 -f 423/773/335 530/898/442 504/867/415 -f 531/899/443 532/900/444 530/898/442 -f 533/901/445 534/902/446 532/900/444 -f 502/862/413 530/903/442 535/904/447 -f 535/904/447 532/905/444 536/906/448 -f 536/906/448 534/907/446 537/908/449 -f 417/767/329 535/904/447 538/909/450 -f 538/909/450 536/906/448 539/910/451 -f 539/910/451 537/908/449 540/911/452 -f 411/761/323 541/912/453 398/748/316 -f 542/913/454 543/914/455 541/912/453 -f 544/915/456 545/916/457 543/914/455 -f 398/748/316 546/917/458 396/746/314 -f 541/912/453 547/918/459 546/917/458 -f 547/918/459 545/916/457 548/919/460 -f 422/772/334 546/920/458 549/921/461 -f 549/921/461 547/922/459 550/923/462 -f 550/923/462 548/924/460 385/735/304 -f 425/775/337 551/925/463 552/926/464 -f 552/926/464 553/927/465 554/928/466 -f 554/928/466 365/715/285 555/929/467 -f 507/869/418 551/930/463 483/872/394 -f 556/931/468 553/932/465 551/930/463 -f 557/933/469 365/804/285 553/932/465 -f 420/770/332 556/931/468 507/869/418 -f 558/934/470 557/933/469 556/931/468 -f 559/935/471 445/798/356 557/933/469 -f 413/763/325 542/913/454 411/761/323 -f 521/888/433 544/915/456 542/913/454 -f 523/890/435 560/936/472 544/915/456 -f 385/735/304 559/935/471 550/923/462 -f 550/923/462 558/934/470 549/921/461 -f 558/934/470 422/772/334 549/921/461 -f 370/720/290 554/928/466 555/929/467 -f 533/901/445 552/926/464 554/928/466 -f 531/899/443 425/775/337 552/926/464 -f 561/937/473 539/910/451 540/911/452 -f 529/897/441 538/909/450 539/910/451 -f 528/895/440 417/767/329 538/909/450 -f 513/876/424 519/938/431 512/875/423 -f 381/731/300 562/939/474 443/796/354 -f 563/940/475 564/941/476 562/939/474 -f 565/942/477 566/943/478 564/941/476 -f 497/857/408 562/939/474 567/944/479 -f 562/939/474 568/945/480 567/944/479 -f 564/941/476 569/946/481 568/947/480 -f 392/742/311 567/944/479 570/948/482 -f 570/948/482 568/949/480 571/950/483 -f 571/950/483 569/951/481 388/738/307 -f 410/760/322 572/952/484 573/953/485 -f 573/953/485 574/954/486 575/955/487 -f 575/955/487 576/956/488 393/743/312 -f 455/810/366 572/952/484 449/802/360 -f 572/957/484 577/958/489 574/959/486 -f 577/958/489 576/960/488 574/959/486 -f 390/740/309 578/961/490 455/810/366 -f 579/962/491 577/958/489 578/961/490 -f 580/963/492 459/816/370 577/958/489 -f 383/733/302 581/964/493 582/965/494 -f 582/965/494 583/966/495 584/967/496 -f 584/967/496 585/968/497 586/969/498 -f 447/800/358 581/964/493 499/859/410 -f 581/964/493 587/970/499 583/971/495 -f 587/972/499 585/968/497 583/966/495 -f 448/801/359 588/973/500 447/800/358 -f 589/974/501 587/975/499 588/973/500 -f 590/976/502 376/977/296 587/975/499 -f 408/758/320 591/978/503 488/848/399 -f 592/979/504 593/980/505 591/978/503 -f 594/981/506 595/982/507 593/980/505 -f 486/846/397 591/978/503 596/983/508 -f 591/984/503 597/985/509 596/986/508 -f 593/987/505 598/988/510 597/985/509 -f 414/764/326 596/983/508 599/989/511 -f 599/989/511 597/985/509 600/990/512 -f 600/990/512 598/988/510 601/991/513 -f 383/733/302 563/940/475 381/731/300 -f 582/965/494 565/942/477 563/940/475 -f 584/967/496 367/717/287 565/942/477 -f 448/801/359 599/989/511 589/974/501 -f 589/974/501 600/990/512 590/976/502 -f 600/990/512 435/788/348 590/976/502 -f 410/760/322 592/979/504 408/758/320 -f 592/979/504 575/955/487 594/981/506 -f 575/955/487 602/992/514 594/981/506 -f 392/742/311 579/962/491 390/740/309 -f 570/948/482 580/963/492 579/962/491 -f 571/950/483 461/818/372 580/963/492 -f 586/969/498 375/725/295 368/718/288 -f 496/856/407 603/993/515 604/994/516 -f 604/994/516 605/995/517 606/996/518 -f 606/996/518 500/860/411 382/732/301 -f 372/722/292 603/993/515 457/813/368 -f 607/997/519 605/995/517 603/993/515 -f 608/998/520 500/860/411 605/995/517 -f 467/824/378 607/997/519 372/722/292 -f 609/999/521 608/998/520 607/997/519 -f 610/1000/522 611/1001/523 608/998/520 -f 492/852/403 612/1002/524 451/806/362 -f 613/1003/525 614/1004/526 612/1002/524 -f 615/1005/527 489/849/400 614/1004/526 -f 451/806/362 616/1006/528 465/822/376 -f 612/1002/524 617/1007/529 616/1006/528 -f 614/1004/526 487/847/398 617/1007/529 -f 501/861/412 616/1006/528 618/1008/530 -f 618/1008/530 617/1007/529 619/1009/531 -f 619/1009/531 487/847/398 416/766/328 -f 479/839/390 620/1010/532 621/1011/533 -f 621/1011/533 622/1012/534 623/1013/535 -f 623/1013/535 624/1014/536 391/741/310 -f 484/844/395 625/1015/537 620/1010/532 -f 620/1010/532 626/1016/538 622/1012/534 -f 626/1016/538 624/1014/536 622/1012/534 -f 495/855/406 625/1015/537 470/827/381 -f 627/1017/539 626/1016/538 625/1015/537 -f 628/1018/540 498/858/409 626/1016/538 -f 491/851/402 629/1019/541 475/835/386 -f 630/1020/542 631/1021/543 629/1019/541 -f 632/1022/544 456/811/367 631/1021/543 -f 475/835/386 633/1023/545 481/841/392 -f 633/1023/545 631/1021/543 634/1024/546 -f 631/1021/543 450/803/361 634/1024/546 -f 494/854/405 633/1023/545 635/1025/547 -f 635/1025/547 634/1024/546 636/1026/548 -f 636/1026/548 450/803/361 409/759/321 -f 496/856/407 627/1017/539 495/855/406 -f 604/994/516 628/1018/540 627/1017/539 -f 606/996/518 444/797/355 628/1018/540 -f 501/861/412 609/999/521 467/824/378 -f 618/1008/530 610/1000/522 609/999/521 -f 619/1009/531 415/765/327 610/1000/522 -f 494/854/405 613/1003/525 492/852/403 -f 635/1025/547 615/1005/527 613/1003/525 -f 636/1026/548 490/850/401 615/1005/527 -f 479/839/390 630/1020/542 491/851/402 -f 621/1011/533 632/1022/544 630/1020/542 -f 623/1013/535 454/809/365 632/1022/544 -f 482/842/393 494/854/405 493/853/404 -f 512/875/423 637/1027/549 638/1028/550 -f 638/1028/550 639/1029/551 640/1030/552 -f 640/1030/552 641/1031/553 421/771/333 -f 462/819/373 637/1032/549 519/886/431 -f 642/1033/554 639/1034/551 637/1032/549 -f 643/1035/555 641/1036/553 639/1034/551 -f 464/821/375 642/1033/554 462/819/373 -f 644/1037/556 643/1038/555 642/1033/554 -f 645/1039/557 397/747/315 643/1035/555 -f 516/880/427 646/1040/558 427/777/339 -f 647/1041/559 648/1042/560 646/1040/558 -f 649/1043/561 430/781/342 648/1044/560 -f 650/1045/562 646/1046/558 651/1047/563 -f 651/1047/563 648/1048/560 652/1049/564 -f 648/1048/560 434/786/347 652/1050/564 -f 517/883/428 651/1047/563 653/1051/565 -f 653/1051/565 652/1049/564 654/1052/566 -f 654/1052/566 434/786/347 412/762/324 -f 473/831/384 655/1053/567 432/829/345 -f 656/1054/568 657/1055/569 655/1056/567 -f 658/1057/570 505/868/416 657/1055/569 -f 431/782/343 655/1058/567 659/1059/571 -f 659/1060/571 657/1061/569 660/1062/572 -f 657/1061/569 503/863/414 660/1062/572 -f 439/792/351 659/1059/571 661/1063/573 -f 661/1063/573 660/1062/572 662/1064/574 -f 662/1064/574 503/863/414 419/769/331 -f 511/874/422 663/1065/575 664/1066/576 -f 664/1066/576 665/1067/577 666/1068/578 -f 666/1068/578 509/1069/420 424/774/336 -f 399/749/317 663/1070/575 514/1071/425 -f 667/1072/579 665/1073/577 663/1070/575 -f 668/1074/580 509/871/420 665/1073/577 -f 669/1075/581 667/1076/579 399/749/317 -f 670/1077/582 668/1074/580 667/1072/579 -f 671/1078/583 672/1079/584 668/1074/580 -f 512/875/423 670/1077/582 669/1075/581 -f 638/1028/550 671/1078/583 670/1077/582 -f 640/1030/552 508/870/419 671/1078/583 -f 517/883/428 644/1037/556 464/821/375 -f 644/1037/556 654/1052/566 645/1039/557 -f 654/1052/566 515/879/426 645/1039/557 -f 511/874/422 656/1054/568 473/831/384 -f 664/1066/576 658/1057/570 656/1054/568 -f 666/1068/578 506/866/417 658/1057/570 -f 439/792/351 647/1041/559 516/880/427 -f 661/1063/573 649/1043/561 647/1041/559 -f 662/1064/574 418/768/330 649/1043/561 -f 650/1045/562 518/884/429 474/833/385 -f 673/1080/288 545/916/457 560/936/472 -f 674/1081/585 675/1082/586 676/1083/587 -f 537/908/449 677/1084/306 540/911/452 -f 678/1085/588 679/1086/589 680/1087/590 -f 681/1088/591 537/908/449 534/907/446 -f 682/1089/592 680/1087/590 683/1090/593 -f 684/1091/594 685/1092/595 686/1093/594 -f 380/730/596 687/1094/597 688/1095/598 -f 689/1096/599 690/1097/600 691/1098/599 -f 366/805/601 692/1099/602 693/1100/603 -f 694/1101/600 695/1102/604 690/1097/600 -f 446/799/605 696/1103/606 692/1099/602 -f 697/1104/595 698/1105/308 685/1106/595 -f 442/795/607 699/1107/608 687/1108/597 -f 548/924/460 386/736/305 385/735/304 -f 700/1109/609 701/1110/610 702/1111/611 -f 371/721/291 534/902/446 370/720/290 -f 703/1112/612 682/1113/592 683/1114/593 -f 540/911/452 441/794/308 561/937/473 -f 704/1115/613 705/1116/589 706/1117/613 -f 695/1102/604 707/1118/305 708/1119/305 -f 709/1120/614 384/734/606 386/736/614 -f 710/1121/289 684/1091/594 686/1093/594 -f 711/1122/615 380/730/596 688/1095/598 -f 712/1123/616 548/919/460 545/916/457 -f 676/1083/587 700/1124/609 702/1125/611 -f 713/1126/291 714/1127/617 715/1128/291 -f 371/721/618 716/1129/619 717/1130/618 -f 378/728/289 560/936/472 524/891/436 -f 718/1131/620 674/1081/585 719/1132/621 -f 714/1127/617 689/1133/599 691/1134/599 -f 716/1129/619 366/716/601 693/1135/603 -f 602/992/514 720/1136/622 595/982/507 -f 721/1137/623 691/1134/624 722/1138/625 -f 393/743/312 723/1139/617 602/992/514 -f 715/1128/626 721/1137/623 724/1140/626 -f 367/717/287 725/1141/627 566/943/478 -f 726/1142/628 686/1093/629 727/1143/630 -f 601/991/513 436/789/305 435/788/348 -f 728/1144/631 695/1102/632 708/1119/631 -f 729/1145/595 388/738/307 569/951/481 -f 685/1106/633 730/1146/634 731/1147/635 -f 732/1148/636 601/991/513 598/988/510 -f 690/1097/637 733/1149/632 734/1150/638 -f 720/1151/622 598/988/510 595/1152/507 -f 691/1098/624 734/1150/638 722/1153/625 -f 725/1141/627 569/946/481 566/943/478 -f 727/1143/630 685/1092/633 731/1154/635 -f 735/1155/288 675/1082/639 736/1156/288 -f 737/1157/640 375/725/641 738/1158/642 -f 678/1085/643 739/1159/306 705/1116/306 -f 460/817/644 740/1160/645 741/1161/646 -f 742/1162/313 678/1085/643 682/1089/647 -f 743/1163/648 460/817/644 741/1161/646 -f 700/1109/649 708/1119/305 707/1118/305 -f 377/787/650 744/1164/651 745/1165/652 -f 715/1128/291 682/1113/647 713/1126/291 -f 746/1166/653 394/744/654 743/1167/648 -f 705/1116/306 698/1105/308 706/1117/308 -f 747/1168/655 387/737/645 389/739/655 -f 748/1169/295 700/1124/649 675/1082/639 -f 738/1158/642 377/727/650 745/1170/652 -f 710/1121/289 736/1156/288 718/1131/289 -f 369/719/656 737/1157/640 749/1171/657 -f 726/1142/628 735/1155/658 710/1121/659 -f 711/1122/615 750/1172/175 751/1173/175 -f 752/1174/660 753/1175/661 748/1169/662 -f 738/1158/663 754/1176/664 752/1174/663 -f 739/1159/665 730/1146/634 698/1105/634 -f 755/1177/306 747/1168/308 730/1146/308 -f 724/1140/626 742/1178/666 715/1128/626 -f 746/1166/291 756/1179/313 724/1140/291 -f 753/1180/661 728/1144/631 708/1119/631 -f 754/1181/664 744/1164/305 728/1144/305 -f 742/1162/666 757/1182/667 758/1183/668 -f 743/1163/647 757/1182/371 756/1184/313 -f 758/1183/668 755/1177/665 739/1159/665 -f 757/1182/371 740/1160/306 755/1177/306 -f 759/1185/669 748/1169/662 735/1155/658 -f 674/1081/585 760/1186/172 761/1187/172 -f 762/1188/670 729/1189/671 725/1141/672 -f 727/1143/673 763/1190/674 762/1188/673 -f 764/1191/675 732/1148/676 720/1151/677 -f 722/1153/599 765/1192/678 764/1191/622 -f 732/1148/676 766/1193/679 767/1194/679 -f 734/1150/636 766/1193/604 765/1192/678 -f 729/1145/671 747/1168/655 389/739/655 -f 731/1147/674 747/1168/308 763/1195/674 -f 767/1194/679 744/1164/651 436/789/651 -f 766/1193/604 728/1144/305 744/1164/305 -f 749/1171/657 725/1141/672 369/719/656 -f 719/1132/621 768/1196/172 769/1197/680 -f 746/1166/653 723/1139/681 395/745/653 -f 724/1140/291 770/1198/617 746/1166/291 -f 770/1198/681 720/1136/677 723/1139/681 -f 770/1198/617 722/1138/599 764/1199/622 -f 771/1200/682 689/1133/683 772/1201/682 -f 771/1200/617 693/1135/622 773/1202/622 -f 711/1122/615 673/1080/684 378/728/685 -f 676/1083/663 774/1203/686 760/1186/686 -f 703/1112/612 772/1201/682 713/1126/612 -f 717/1130/291 771/1200/617 703/1112/291 -f 775/1204/687 776/1205/688 712/1123/689 -f 676/1083/663 777/1206/649 775/1204/663 -f 719/1132/621 684/1091/690 718/1131/620 -f 778/1207/691 774/1203/175 775/1204/687 -f 779/1208/692 701/1110/610 707/1118/610 -f 780/1209/604 709/1120/305 701/1110/305 -f 677/1084/693 699/1107/608 441/794/608 -f 699/1107/308 679/1086/306 704/1115/308 -f 717/1130/618 681/1210/694 371/721/618 -f 703/1112/291 781/1211/313 717/1130/291 -f 776/1212/688 709/1120/614 386/736/614 -f 777/1213/649 701/1110/305 709/1120/305 -f 697/1104/695 704/1115/613 706/1117/613 -f 687/1108/595 704/1115/308 782/1214/674 -f 694/1101/696 780/1209/692 779/1208/692 -f 692/1099/600 780/1209/604 783/1215/600 -f 689/1096/683 783/1215/697 694/1101/696 -f 693/1100/622 783/1215/600 773/1216/622 -f 769/1197/680 697/1217/695 684/1091/690 -f 688/1095/673 782/1218/674 769/1197/673 -f 681/1088/694 784/1219/698 785/1220/699 -f 683/1090/647 784/1219/643 781/1221/313 -f 785/1220/699 786/1222/693 677/1084/693 -f 784/1219/643 679/1086/306 786/1222/306 -f 778/1207/691 712/1123/689 673/1080/684 -f 726/1142/628 787/1223/175 788/1224/175 -f 788/1224/700 789/1225/701 790/1226/702 -f 791/1227/686 792/1228/703 793/1229/703 -f 794/1230/704 795/1231/705 796/1232/706 -f 797/1233/707 798/1234/708 751/1173/709 -f 797/1233/707 799/1235/710 800/1236/710 -f 761/1187/711 801/1237/712 798/1234/708 -f 759/1185/669 802/1238/175 752/1174/660 -f 778/1207/691 751/1173/175 798/1234/175 -f 762/1188/673 787/1223/713 727/1143/673 -f 769/1197/673 750/1172/713 688/1095/673 -f 726/1142/628 790/1226/175 759/1185/669 -f 737/1157/640 791/1227/172 789/1225/172 -f 674/1081/585 797/1233/172 719/1132/621 -f 737/1157/640 794/1230/172 749/1171/657 -f 738/1158/663 802/1238/686 791/1227/686 -f 749/1171/657 803/1239/172 762/1188/670 -f 792/1228/714 804/1240/715 793/1229/714 -f 803/1239/172 796/1232/172 805/1241/172 -f 803/1239/713 806/1242/716 787/1223/713 -f 787/1223/175 795/1231/175 788/1224/175 -f 801/1237/712 807/1243/717 808/1244/717 -f 802/1238/175 809/1245/175 792/1228/175 -f 789/1225/701 809/1245/718 790/1226/702 -f 791/1227/172 810/1246/172 789/1225/172 -f 806/1242/719 811/1247/720 812/1248/721 -f 760/1186/172 813/1249/172 761/1187/172 -f 760/1186/686 814/1250/722 815/1251/703 -f 774/1203/175 801/1237/175 814/1250/175 -f 809/1245/718 816/1252/242 817/1253/242 -f 750/1172/175 799/1235/175 751/1173/175 -f 768/1196/713 818/1254/723 750/1172/713 -f 768/1196/172 800/1236/172 819/1255/172 -f 820/1256/724 812/1248/721 811/1247/720 -f 816/1252/725 821/1257/726 817/1253/725 -f 807/1243/725 822/1258/726 808/1244/727 -f 823/1259/724 824/1260/720 825/1261/728 -f 799/1235/710 823/1259/729 800/1236/710 -f 796/1232/172 811/1247/172 805/1241/172 -f 814/1250/730 826/1262/715 815/1251/730 -f 809/1245/175 821/1257/175 792/1228/175 -f 818/1254/731 825/1261/728 824/1260/720 -f 795/1231/175 812/1248/175 827/1263/175 -f 801/1237/175 822/1258/175 814/1250/175 -f 810/1246/172 804/1240/172 816/1252/172 -f 800/1236/172 825/1261/172 819/1255/172 -f 813/1249/172 826/1262/172 807/1243/172 -f 799/1235/175 824/1260/175 828/1264/175 -f 795/1231/705 820/1256/234 796/1232/706 -f 829/1265/306 830/1266/308 831/1267/308 -f 829/1268/175 832/1269/175 833/1270/175 -f 834/1271/288 835/1272/289 836/1273/288 -f 837/1274/305 838/1275/604 832/1276/604 -f 839/1277/622 840/1278/617 833/1279/617 -f 839/1277/622 841/1280/678 842/1281/599 -f 843/1282/636 838/1275/604 841/1283/678 -f 844/1284/732 836/1273/288 404/1285/732 -f 845/1286/649 404/1287/732 403/1288/649 -f 845/1286/649 846/1289/305 837/1274/305 -f 847/1290/313 848/1291/291 407/1292/733 -f 849/1293/371 407/1292/733 406/1294/734 -f 829/1265/306 406/1295/734 850/1296/306 -f 851/1297/289 852/1298/627 835/1272/289 -f 853/1299/735 854/1300/736 852/1301/627 -f 855/1302/595 830/1266/308 854/1300/736 -f 856/1303/291 840/1278/617 848/1291/291 -f 857/1304/308 858/1305/737 859/1306/306 -f 860/1307/288 861/1308/738 862/1309/289 -f 863/1310/172 862/1311/172 857/1312/172 -f 864/1313/305 865/1314/739 866/1315/740 -f 867/1316/741 868/1317/742 869/1318/743 -f 870/1319/600 869/1318/743 871/1320/744 -f 872/1321/604 871/1322/744 865/1314/739 -f 860/1307/288 873/1323/745 874/1324/746 -f 875/1325/732 876/1326/747 873/1327/745 -f 877/1328/649 866/1315/740 876/1326/747 -f 878/1329/748 879/1330/733 880/1331/749 -f 880/1331/749 881/1332/734 882/1333/750 -f 859/1306/306 882/1334/750 881/1335/734 -f 862/1309/289 883/1336/751 884/1337/627 -f 884/1338/627 885/1339/752 886/1340/674 -f 886/1340/674 887/1341/753 857/1304/308 -f 888/1342/617 878/1329/748 868/1317/742 -f 880/1343/754 882/1344/754 374/1345/754 -f 493/1346/754 874/1347/754 873/1348/754 -f 889/1349/755 890/1350/756 891/1351/755 -f 892/1352/757 893/1353/172 890/1350/756 -f 894/1354/172 895/1355/758 893/1353/172 -f 896/1356/758 897/1357/759 895/1355/758 -f 898/1358/760 899/1359/761 897/1357/760 -f 900/1360/761 901/1361/175 899/1359/761 -f 896/1362/164 894/1363/164 902/1364/164 -f 902/1365/175 903/1366/762 901/1361/175 -f 904/1367/762 891/1368/763 903/1366/762 -f 899/1369/241 901/1370/241 895/1371/241 -f 905/1372/764 906/1373/765 907/1374/764 -f 908/1375/765 909/1376/172 906/1373/765 -f 910/1377/172 911/1378/766 909/1376/172 -f 912/1379/766 913/1380/767 911/1378/766 -f 914/1381/768 915/1382/769 913/1380/768 -f 915/1382/769 916/1383/175 917/1384/175 -f 912/1385/242 910/1386/242 916/1387/242 -f 916/1383/175 918/1388/770 917/1384/175 -f 919/1389/770 907/1390/771 918/1388/770 -f 915/1391/234 917/1392/234 911/1393/234 -f 364/714/284 555/929/467 365/715/285 -f 367/717/287 586/969/498 368/718/288 -f 370/720/290 555/929/467 364/714/284 -f 372/722/292 457/813/368 373/723/293 -f 375/725/295 585/968/497 376/726/296 -f 378/728/289 524/891/436 379/729/298 -f 381/731/300 444/797/355 382/732/301 -f 384/734/303 920/1394/772 385/735/304 -f 387/737/306 461/818/372 388/738/307 -f 390/740/309 454/809/365 391/741/310 -f 393/743/312 576/956/488 394/744/313 -f 396/746/314 641/1036/553 397/747/315 -f 399/749/317 514/1071/425 400/750/318 -f 836/1395/175 835/1396/175 510/1397/175 -f 510/1397/175 472/1398/175 836/1395/175 -f 472/1398/175 402/752/175 404/754/175 -f 836/1395/175 472/1398/175 404/754/175 -f 402/752/175 921/1399/175 403/753/175 -f 921/1399/175 438/791/175 403/753/175 -f 438/791/175 846/1400/175 403/753/175 -f 838/1401/175 846/1400/175 438/791/175 -f 438/791/175 426/776/175 838/1401/175 -f 426/776/175 428/1402/175 841/1403/175 -f 838/1401/175 426/776/175 841/1403/175 -f 428/1402/175 474/1404/175 842/1405/175 -f 474/1404/175 518/1406/175 842/1405/175 -f 518/1406/175 463/1407/175 848/1408/175 -f 463/1407/175 922/1409/175 407/757/175 -f 848/1408/175 463/1407/175 407/757/175 -f 922/1409/175 405/755/175 407/757/175 -f 405/755/175 513/1410/175 406/756/175 -f 513/1410/175 437/1411/175 850/1412/175 -f 437/1411/175 401/1413/175 854/1414/175 -f 830/1415/175 437/1411/175 854/1414/175 -f 401/1413/175 400/1416/175 854/1414/175 -f 400/1416/175 510/1397/175 852/1417/175 -f 510/1397/175 835/1396/175 852/1417/175 -f 400/1416/175 852/1417/175 854/1414/175 -f 842/1405/175 841/1403/175 428/1402/175 -f 437/1411/175 830/1415/175 850/1412/175 -f 840/1418/175 842/1405/175 518/1406/175 -f 848/1408/175 840/1418/175 518/1406/175 -f 513/1410/175 850/1412/175 406/756/175 -f 408/758/320 490/850/401 409/759/321 -f 411/761/323 515/879/426 412/762/324 -f 414/764/326 448/801/359 415/765/327 -f 417/767/329 526/893/438 418/768/330 -f 420/770/332 508/870/419 421/771/333 -f 423/773/335 506/866/417 424/774/336 -f 426/776/338 516/880/427 427/777/339 -f 421/771/333 641/1031/553 396/779/314 -f 418/768/330 526/893/438 429/780/341 -f 431/782/343 921/1419/773 402/783/344 -f 433/785/346 413/763/325 412/762/324 -f 377/787/297 376/977/296 435/788/348 -f 437/790/349 669/1075/581 399/749/317 -f 438/791/350 921/1419/773 431/782/343 -f 440/793/352 561/937/473 441/794/308 -f 443/796/354 498/858/409 444/797/355 -f 445/798/356 920/1394/772 384/734/303 -f 447/800/358 611/1001/523 415/765/327 -f 449/802/360 410/760/322 409/759/321 -f 365/804/285 445/798/356 446/799/357 -f 451/806/362 465/822/376 452/807/363 -f 454/809/365 390/740/309 455/810/366 -f 379/729/298 440/1420/352 442/812/353 -f 457/813/368 496/856/407 458/814/369 -f 394/815/313 576/960/488 459/816/370 -f 460/817/371 459/816/370 461/818/372 -f 462/819/373 922/1421/774 463/820/374 -f 465/822/376 501/861/412 466/823/377 -f 467/824/378 372/722/292 374/724/294 -f 469/826/380 495/855/406 470/827/381 -f 432/829/345 402/1422/344 472/830/383 -f 427/832/339 650/1045/562 474/833/385 -f 477/837/388 923/1423/775 491/851/402 -f 491/851/402 475/835/386 477/837/388 -f 478/838/389 484/844/395 479/839/390 -f 476/836/387 475/835/386 481/841/392 -f 424/774/336 509/1069/420 483/843/394 -f 471/828/382 470/827/381 484/844/395 -f 485/845/396 924/1424/776 492/852/403 -f 492/852/403 451/806/362 485/845/396 -f 486/846/397 414/764/326 416/766/328 -f 488/848/399 486/846/397 487/847/398 -f 490/850/401 408/758/320 488/848/399 -f 491/851/402 923/1423/775 480/840/391 -f 455/810/366 449/802/360 450/803/361 -f 492/852/403 924/1424/776 493/853/404 -f 495/855/406 469/826/380 458/814/369 -f 497/857/408 624/1014/536 498/858/409 -f 391/741/310 624/1014/536 497/857/408 -f 382/732/301 500/860/411 499/859/410 -f 500/860/411 611/1001/523 447/800/358 -f 501/861/412 467/824/378 468/825/379 -f 502/862/413 417/767/329 419/769/331 -f 504/864/415 502/862/413 503/863/414 -f 506/866/417 423/773/335 504/867/415 -f 507/869/418 672/1079/584 508/870/419 -f 509/871/420 672/1079/584 507/869/418 -f 473/831/384 472/830/383 510/873/421 -f 512/875/423 669/1075/581 437/790/349 -f 514/877/425 511/874/422 510/873/421 -f 398/748/316 397/747/315 515/879/426 -f 516/880/427 426/776/338 438/791/350 -f 429/881/341 433/785/346 434/786/347 -f 517/883/428 464/821/375 463/820/374 -f 405/885/430 922/1421/774 462/819/373 -f 413/763/325 433/785/346 520/887/432 -f 521/888/433 520/887/432 522/889/434 -f 523/890/435 522/889/434 379/729/298 -f 429/881/341 527/1425/439 520/887/432 -f 520/887/432 527/1425/439 525/892/437 -f 525/892/437 440/1420/352 379/729/298 -f 526/893/438 528/895/440 527/894/439 -f 528/895/440 529/897/441 525/896/437 -f 529/897/441 561/937/473 440/793/352 -f 423/773/335 531/899/443 530/898/442 -f 531/899/443 533/901/445 532/900/444 -f 533/901/445 370/720/290 534/902/446 -f 502/862/413 504/864/415 530/903/442 -f 535/904/447 530/903/442 532/905/444 -f 536/906/448 532/905/444 534/907/446 -f 417/767/329 502/862/413 535/904/447 -f 538/909/450 535/904/447 536/906/448 -f 539/910/451 536/906/448 537/908/449 -f 411/761/323 542/913/454 541/912/453 -f 542/913/454 544/915/456 543/914/455 -f 544/915/456 560/936/472 545/916/457 -f 398/748/316 541/912/453 546/917/458 -f 541/912/453 543/914/455 547/918/459 -f 547/918/459 543/914/455 545/916/457 -f 422/772/334 396/779/314 546/920/458 -f 549/921/461 546/920/458 547/922/459 -f 550/923/462 547/922/459 548/924/460 -f 425/775/337 483/843/394 551/925/463 -f 552/926/464 551/925/463 553/927/465 -f 554/928/466 553/927/465 365/715/285 -f 507/869/418 556/931/468 551/930/463 -f 556/931/468 557/933/469 553/932/465 -f 557/933/469 445/798/356 365/804/285 -f 420/770/332 558/934/470 556/931/468 -f 558/934/470 559/935/471 557/933/469 -f 559/935/471 920/1394/772 445/798/356 -f 413/763/325 521/888/433 542/913/454 -f 521/888/433 523/890/435 544/915/456 -f 523/890/435 524/891/436 560/936/472 -f 385/735/304 920/1394/772 559/935/471 -f 550/923/462 559/935/471 558/934/470 -f 558/934/470 420/770/332 422/772/334 -f 370/720/290 533/901/445 554/928/466 -f 533/901/445 531/899/443 552/926/464 -f 531/899/443 423/773/335 425/775/337 -f 561/937/473 529/897/441 539/910/451 -f 529/897/441 528/895/440 538/909/450 -f 528/895/440 526/893/438 417/767/329 -f 513/876/424 405/1426/430 519/938/431 -f 381/731/300 563/940/475 562/939/474 -f 563/940/475 565/942/477 564/941/476 -f 565/942/477 367/717/287 566/943/478 -f 497/857/408 443/796/354 562/939/474 -f 562/939/474 564/1427/476 568/945/480 -f 564/941/476 566/943/478 569/946/481 -f 392/742/311 497/857/408 567/944/479 -f 570/948/482 567/944/479 568/949/480 -f 571/950/483 568/949/480 569/951/481 -f 410/760/322 449/802/360 572/952/484 -f 573/953/485 572/952/484 574/954/486 -f 575/955/487 574/954/486 576/956/488 -f 455/810/366 578/961/490 572/952/484 -f 572/957/484 578/1428/490 577/958/489 -f 577/958/489 459/816/370 576/960/488 -f 390/740/309 579/962/491 578/961/490 -f 579/962/491 580/963/492 577/958/489 -f 580/963/492 461/818/372 459/816/370 -f 383/733/302 499/859/410 581/964/493 -f 582/965/494 581/964/493 583/966/495 -f 584/967/496 583/966/495 585/968/497 -f 447/800/358 588/973/500 581/964/493 -f 581/964/493 588/973/500 587/970/499 -f 587/972/499 376/726/296 585/968/497 -f 448/801/359 589/974/501 588/973/500 -f 589/974/501 590/976/502 587/975/499 -f 590/976/502 435/788/348 376/977/296 -f 408/758/320 592/979/504 591/978/503 -f 592/979/504 594/981/506 593/980/505 -f 594/981/506 602/992/514 595/982/507 -f 486/846/397 488/848/399 591/978/503 -f 591/984/503 593/987/505 597/985/509 -f 593/987/505 595/1152/507 598/988/510 -f 414/764/326 486/846/397 596/983/508 -f 599/989/511 596/983/508 597/985/509 -f 600/990/512 597/985/509 598/988/510 -f 383/733/302 582/965/494 563/940/475 -f 582/965/494 584/967/496 565/942/477 -f 584/967/496 586/969/498 367/717/287 -f 448/801/359 414/764/326 599/989/511 -f 589/974/501 599/989/511 600/990/512 -f 600/990/512 601/991/513 435/788/348 -f 410/760/322 573/953/485 592/979/504 -f 592/979/504 573/953/485 575/955/487 -f 575/955/487 393/743/312 602/992/514 -f 392/742/311 570/948/482 579/962/491 -f 570/948/482 571/950/483 580/963/492 -f 571/950/483 388/738/307 461/818/372 -f 586/969/498 585/968/497 375/725/295 -f 496/856/407 457/813/368 603/993/515 -f 604/994/516 603/993/515 605/995/517 -f 606/996/518 605/995/517 500/860/411 -f 372/722/292 607/997/519 603/993/515 -f 607/997/519 608/998/520 605/995/517 -f 608/998/520 611/1001/523 500/860/411 -f 467/824/378 609/999/521 607/997/519 -f 609/999/521 610/1000/522 608/998/520 -f 610/1000/522 415/765/327 611/1001/523 -f 492/852/403 613/1003/525 612/1002/524 -f 613/1003/525 615/1005/527 614/1004/526 -f 615/1005/527 490/850/401 489/849/400 -f 451/806/362 612/1002/524 616/1006/528 -f 612/1002/524 614/1004/526 617/1007/529 -f 614/1004/526 489/849/400 487/847/398 -f 501/861/412 465/822/376 616/1006/528 -f 618/1008/530 616/1006/528 617/1007/529 -f 619/1009/531 617/1007/529 487/847/398 -f 479/839/390 484/844/395 620/1010/532 -f 621/1011/533 620/1010/532 622/1012/534 -f 623/1013/535 622/1012/534 624/1014/536 -f 484/844/395 470/827/381 625/1015/537 -f 620/1010/532 625/1015/537 626/1016/538 -f 626/1016/538 498/858/409 624/1014/536 -f 495/855/406 627/1017/539 625/1015/537 -f 627/1017/539 628/1018/540 626/1016/538 -f 628/1018/540 444/797/355 498/858/409 -f 491/851/402 630/1020/542 629/1019/541 -f 630/1020/542 632/1022/544 631/1021/543 -f 632/1022/544 454/809/365 456/811/367 -f 475/835/386 629/1019/541 633/1023/545 -f 633/1023/545 629/1019/541 631/1021/543 -f 631/1021/543 456/811/367 450/803/361 -f 494/854/405 481/841/392 633/1023/545 -f 635/1025/547 633/1023/545 634/1024/546 -f 636/1026/548 634/1024/546 450/803/361 -f 496/856/407 604/994/516 627/1017/539 -f 604/994/516 606/996/518 628/1018/540 -f 606/996/518 382/732/301 444/797/355 -f 501/861/412 618/1008/530 609/999/521 -f 618/1008/530 619/1009/531 610/1000/522 -f 619/1009/531 416/766/328 415/765/327 -f 494/854/405 635/1025/547 613/1003/525 -f 635/1025/547 636/1026/548 615/1005/527 -f 636/1026/548 409/759/321 490/850/401 -f 479/839/390 621/1011/533 630/1020/542 -f 621/1011/533 623/1013/535 632/1022/544 -f 623/1013/535 391/741/310 454/809/365 -f 482/842/393 481/841/392 494/854/405 -f 512/875/423 519/938/431 637/1027/549 -f 638/1028/550 637/1027/549 639/1029/551 -f 640/1030/552 639/1429/551 641/1031/553 -f 462/819/373 642/1033/554 637/1032/549 -f 642/1033/554 643/1038/555 639/1034/551 -f 643/1035/555 397/747/315 641/1036/553 -f 464/821/375 644/1037/556 642/1033/554 -f 644/1037/556 645/1039/557 643/1038/555 -f 645/1039/557 515/879/426 397/747/315 -f 516/880/427 647/1041/559 646/1040/558 -f 647/1041/559 649/1043/561 648/1042/560 -f 649/1043/561 418/768/330 430/781/342 -f 650/1045/562 427/832/339 646/1046/558 -f 651/1047/563 646/1046/558 648/1048/560 -f 648/1048/560 430/882/342 434/786/347 -f 517/883/428 650/1045/562 651/1047/563 -f 653/1051/565 651/1047/563 652/1049/564 -f 654/1052/566 652/1050/564 434/786/347 -f 473/831/384 656/1054/568 655/1053/567 -f 656/1054/568 658/1057/570 657/1055/569 -f 658/1057/570 506/866/417 505/868/416 -f 431/782/343 432/784/345 655/1058/567 -f 659/1060/571 655/1058/567 657/1061/569 -f 657/1061/569 505/865/416 503/863/414 -f 439/792/351 431/782/343 659/1059/571 -f 661/1063/573 659/1060/571 660/1062/572 -f 662/1064/574 660/1062/572 503/863/414 -f 511/874/422 514/877/425 663/1065/575 -f 664/1066/576 663/1430/575 665/1067/577 -f 666/1068/578 665/1067/577 509/1069/420 -f 399/749/317 667/1076/579 663/1070/575 -f 667/1072/579 668/1074/580 665/1073/577 -f 668/1074/580 672/1079/584 509/871/420 -f 669/1075/581 670/1077/582 667/1076/579 -f 670/1077/582 671/1078/583 668/1074/580 -f 671/1078/583 508/870/419 672/1079/584 -f 512/875/423 638/1028/550 670/1077/582 -f 638/1028/550 640/1030/552 671/1078/583 -f 640/1030/552 421/771/333 508/870/419 -f 517/883/428 653/1051/565 644/1037/556 -f 644/1037/556 653/1051/565 654/1052/566 -f 654/1052/566 412/762/324 515/879/426 -f 511/874/422 664/1066/576 656/1054/568 -f 664/1066/576 666/1068/578 658/1057/570 -f 666/1068/578 424/774/336 506/866/417 -f 439/792/351 661/1063/573 647/1041/559 -f 661/1063/573 662/1064/574 649/1043/561 -f 662/1064/574 419/769/331 418/768/330 -f 650/1045/562 517/883/428 518/884/429 -f 673/1080/288 712/1123/616 545/916/457 -f 674/1081/585 736/1156/777 675/1082/586 -f 537/908/449 785/1220/778 677/1084/306 -f 678/1085/588 705/1116/589 679/1086/589 -f 681/1088/591 785/1220/778 537/908/449 -f 682/1089/592 678/1085/588 680/1087/590 -f 684/1091/594 697/1217/595 685/1092/595 -f 380/730/596 442/812/607 687/1094/597 -f 689/1096/599 694/1101/600 690/1097/600 -f 366/805/601 446/799/605 692/1099/602 -f 694/1101/600 779/1208/604 695/1102/604 -f 446/799/605 384/734/606 696/1103/606 -f 697/1104/595 706/1117/308 698/1105/308 -f 442/795/607 441/794/608 699/1107/608 -f 548/924/460 776/1212/779 386/736/305 -f 700/1109/609 707/1118/610 701/1110/610 -f 371/721/291 681/1210/591 534/902/446 -f 703/1112/612 713/1126/612 682/1113/592 -f 540/911/452 677/1084/306 441/794/308 -f 704/1115/613 679/1086/589 705/1116/589 -f 695/1102/604 779/1208/604 707/1118/305 -f 709/1120/614 696/1103/606 384/734/606 -f 710/1121/289 718/1131/289 684/1091/594 -f 711/1122/615 378/728/685 380/730/596 -f 712/1123/616 776/1205/779 548/919/460 -f 676/1083/587 675/1082/586 700/1124/609 -f 713/1126/291 772/1201/617 714/1127/617 -f 371/721/618 364/714/619 716/1129/619 -f 378/728/289 673/1080/288 560/936/472 -f 718/1131/620 736/1156/777 674/1081/585 -f 714/1127/617 772/1201/617 689/1133/599 -f 716/1129/619 364/714/619 366/716/601 -f 602/992/514 723/1139/617 720/1136/622 -f 721/1137/623 714/1127/623 691/1134/624 -f 393/743/312 395/745/291 723/1139/617 -f 715/1128/626 714/1127/623 721/1137/623 -f 367/717/287 369/719/289 725/1141/627 -f 726/1142/628 710/1121/659 686/1093/629 -f 601/991/513 767/1194/604 436/789/305 -f 728/1144/631 733/1149/632 695/1102/632 -f 729/1145/595 389/739/308 388/738/307 -f 685/1106/633 698/1105/634 730/1146/634 -f 732/1148/636 767/1194/604 601/991/513 -f 690/1097/637 695/1102/632 733/1149/632 -f 720/1151/622 732/1148/636 598/988/510 -f 691/1098/624 690/1097/637 734/1150/638 -f 725/1141/627 729/1189/595 569/946/481 -f 727/1143/630 686/1093/629 685/1092/633 -f 735/1155/288 748/1169/295 675/1082/639 -f 737/1157/640 368/718/780 375/725/641 -f 678/1085/643 758/1183/734 739/1159/306 -f 460/817/644 387/737/645 740/1160/645 -f 742/1162/313 758/1183/734 678/1085/643 -f 743/1163/648 394/815/654 460/817/644 -f 700/1109/649 753/1180/781 708/1119/305 -f 377/787/650 436/789/651 744/1164/651 -f 715/1128/291 742/1178/313 682/1113/647 -f 746/1166/653 395/745/653 394/744/654 -f 705/1116/306 739/1159/306 698/1105/308 -f 747/1168/655 740/1160/645 387/737/645 -f 748/1169/295 753/1175/781 700/1124/649 -f 738/1158/642 375/725/641 377/727/650 -f 710/1121/289 735/1155/288 736/1156/288 -f 369/719/656 368/718/780 737/1157/640 -f 726/1142/628 759/1185/669 735/1155/658 -f 711/1122/615 688/1095/598 750/1172/175 -f 752/1174/660 754/1176/782 753/1175/661 -f 738/1158/663 745/1170/649 754/1176/664 -f 739/1159/665 755/1177/665 730/1146/634 -f 755/1177/306 740/1160/306 747/1168/308 -f 724/1140/626 756/1179/783 742/1178/666 -f 746/1166/291 743/1167/647 756/1179/313 -f 753/1180/661 754/1181/782 728/1144/631 -f 754/1181/664 745/1165/649 744/1164/305 -f 742/1162/666 756/1184/783 757/1182/667 -f 743/1163/647 741/1161/784 757/1182/371 -f 758/1183/668 757/1182/667 755/1177/665 -f 757/1182/371 741/1161/784 740/1160/306 -f 759/1185/669 752/1174/660 748/1169/662 -f 674/1081/585 676/1083/587 760/1186/172 -f 762/1188/670 763/1190/785 729/1189/671 -f 727/1143/673 731/1154/674 763/1190/674 -f 764/1191/675 765/1192/786 732/1148/676 -f 722/1153/599 734/1150/636 765/1192/678 -f 732/1148/676 765/1192/786 766/1193/679 -f 734/1150/636 733/1149/604 766/1193/604 -f 729/1145/671 763/1195/785 747/1168/655 -f 731/1147/674 730/1146/308 747/1168/308 -f 767/1194/679 766/1193/679 744/1164/651 -f 766/1193/604 733/1149/604 728/1144/305 -f 749/1171/657 762/1188/670 725/1141/672 -f 719/1132/621 797/1233/172 768/1196/172 -f 746/1166/653 770/1198/681 723/1139/681 -f 724/1140/291 721/1137/617 770/1198/617 -f 770/1198/681 764/1199/675 720/1136/677 -f 770/1198/617 721/1137/617 722/1138/599 -f 771/1200/682 773/1202/787 689/1133/683 -f 771/1200/617 716/1129/617 693/1135/622 -f 711/1122/615 778/1207/691 673/1080/684 -f 676/1083/663 775/1204/663 774/1203/686 -f 703/1112/612 771/1200/682 772/1201/682 -f 717/1130/291 716/1129/617 771/1200/617 -f 775/1204/687 777/1206/788 776/1205/688 -f 676/1083/663 702/1125/649 777/1206/649 -f 719/1132/621 769/1197/680 684/1091/690 -f 778/1207/691 798/1234/175 774/1203/175 -f 779/1208/692 780/1209/692 701/1110/610 -f 780/1209/604 696/1103/604 709/1120/305 -f 677/1084/693 786/1222/693 699/1107/608 -f 699/1107/308 786/1222/306 679/1086/306 -f 717/1130/618 781/1211/789 681/1210/694 -f 703/1112/291 683/1114/647 781/1211/313 -f 776/1212/688 777/1213/788 709/1120/614 -f 777/1213/649 702/1111/649 701/1110/305 -f 697/1104/695 782/1214/790 704/1115/613 -f 687/1108/595 699/1107/308 704/1115/308 -f 694/1101/696 783/1215/697 780/1209/692 -f 692/1099/600 696/1103/604 780/1209/604 -f 689/1096/683 773/1216/787 783/1215/697 -f 693/1100/622 692/1099/600 783/1215/600 -f 769/1197/680 782/1218/790 697/1217/695 -f 688/1095/673 687/1094/595 782/1218/674 -f 681/1088/694 781/1221/789 784/1219/698 -f 683/1090/647 680/1087/371 784/1219/643 -f 785/1220/699 784/1219/698 786/1222/693 -f 784/1219/643 680/1087/371 679/1086/306 -f 778/1207/691 775/1204/687 712/1123/689 -f 726/1142/628 727/1143/630 787/1223/175 -f 788/1224/700 794/1230/704 789/1225/701 -f 791/1227/686 802/1238/686 792/1228/703 -f 794/1230/704 788/1224/700 795/1231/705 -f 797/1233/707 761/1187/711 798/1234/708 -f 797/1233/707 751/1173/709 799/1235/710 -f 761/1187/711 813/1249/712 801/1237/712 -f 759/1185/669 790/1226/175 802/1238/175 -f 778/1207/691 711/1122/615 751/1173/175 -f 762/1188/673 803/1239/713 787/1223/713 -f 769/1197/673 768/1196/713 750/1172/713 -f 726/1142/628 788/1224/175 790/1226/175 -f 737/1157/640 738/1158/642 791/1227/172 -f 674/1081/585 761/1187/172 797/1233/172 -f 737/1157/640 789/1225/172 794/1230/172 -f 738/1158/663 752/1174/663 802/1238/686 -f 749/1171/657 794/1230/172 803/1239/172 -f 792/1228/714 821/1257/726 804/1240/715 -f 803/1239/172 794/1230/172 796/1232/172 -f 803/1239/713 805/1241/716 806/1242/716 -f 787/1223/175 806/1242/175 795/1231/175 -f 801/1237/712 813/1249/712 807/1243/717 -f 802/1238/175 790/1226/175 809/1245/175 -f 789/1225/701 810/1246/791 809/1245/718 -f 791/1227/172 793/1229/172 810/1246/172 -f 806/1242/719 805/1241/719 811/1247/720 -f 760/1186/172 815/1251/172 813/1249/172 -f 760/1186/686 774/1203/686 814/1250/722 -f 774/1203/175 798/1234/175 801/1237/175 -f 809/1245/718 810/1246/791 816/1252/242 -f 750/1172/175 818/1254/175 799/1235/175 -f 768/1196/713 819/1255/716 818/1254/723 -f 768/1196/172 797/1233/172 800/1236/172 -f 820/1256/724 827/1263/724 812/1248/721 -f 816/1252/725 804/1240/715 821/1257/726 -f 807/1243/725 826/1262/715 822/1258/726 -f 823/1259/724 828/1264/724 824/1260/720 -f 799/1235/710 828/1264/729 823/1259/729 -f 796/1232/172 820/1256/172 811/1247/172 -f 814/1250/730 822/1258/726 826/1262/715 -f 809/1245/175 817/1253/175 821/1257/175 -f 818/1254/731 819/1255/731 825/1261/728 -f 795/1231/175 806/1242/175 812/1248/175 -f 801/1237/175 808/1244/175 822/1258/175 -f 810/1246/172 793/1229/172 804/1240/172 -f 800/1236/172 823/1259/172 825/1261/172 -f 813/1249/172 815/1251/172 826/1262/172 -f 799/1235/175 818/1254/175 824/1260/175 -f 795/1231/705 827/1263/234 820/1256/234 -f 829/1265/306 850/1296/306 830/1266/308 -f 843/1431/175 839/1432/175 833/1270/175 -f 833/1270/175 856/1433/175 829/1268/175 -f 856/1433/175 847/1434/175 829/1268/175 -f 847/1434/175 849/1435/175 829/1268/175 -f 829/1268/175 831/1436/175 837/1437/175 -f 831/1436/175 855/1438/175 851/1439/175 -f 837/1437/175 831/1436/175 851/1439/175 -f 855/1438/175 853/1440/175 851/1439/175 -f 851/1439/175 834/1441/175 837/1437/175 -f 834/1441/175 844/1442/175 837/1437/175 -f 844/1442/175 845/1443/175 837/1437/175 -f 837/1437/175 832/1269/175 829/1268/175 -f 832/1269/175 843/1431/175 833/1270/175 -f 834/1271/288 851/1297/289 835/1272/289 -f 837/1274/305 846/1289/305 838/1275/604 -f 839/1277/622 842/1281/599 840/1278/617 -f 839/1277/622 843/1444/636 841/1280/678 -f 843/1282/636 832/1276/604 838/1275/604 -f 844/1284/732 834/1271/288 836/1273/288 -f 845/1286/649 844/1445/732 404/1287/732 -f 845/1286/649 403/1288/649 846/1289/305 -f 847/1290/313 856/1303/291 848/1291/291 -f 849/1293/371 847/1290/313 407/1292/733 -f 829/1265/306 849/1446/371 406/1295/734 -f 851/1297/289 853/1447/735 852/1298/627 -f 853/1299/735 855/1302/595 854/1300/736 -f 855/1302/595 831/1267/308 830/1266/308 -f 856/1303/291 833/1279/617 840/1278/617 -f 857/1304/308 887/1341/753 858/1305/737 -f 860/1307/288 874/1324/746 861/1308/738 -f 884/1448/172 886/1449/172 857/1312/172 -f 857/1312/172 859/1450/172 863/1310/172 -f 859/1450/172 881/1451/172 863/1310/172 -f 881/1451/172 879/1452/172 863/1310/172 -f 863/1310/172 888/1453/172 860/1454/172 -f 888/1453/172 867/1455/172 872/1456/172 -f 860/1454/172 888/1453/172 872/1456/172 -f 867/1455/172 870/1457/172 872/1456/172 -f 872/1456/172 864/1458/172 860/1454/172 -f 864/1458/172 877/1459/172 860/1454/172 -f 877/1459/172 875/1460/172 860/1454/172 -f 860/1454/172 862/1311/172 863/1310/172 -f 862/1311/172 884/1448/172 857/1312/172 -f 864/1313/305 872/1321/604 865/1314/739 -f 867/1316/741 888/1342/617 868/1317/742 -f 870/1319/600 867/1316/741 869/1318/743 -f 872/1321/604 870/1461/600 871/1322/744 -f 860/1307/288 875/1462/732 873/1323/745 -f 875/1325/732 877/1328/649 876/1326/747 -f 877/1328/649 864/1313/305 866/1315/740 -f 878/1329/748 863/1463/291 879/1330/733 -f 880/1331/749 879/1330/733 881/1332/734 -f 859/1306/306 858/1305/737 882/1334/750 -f 862/1309/289 861/1308/738 883/1336/751 -f 884/1338/627 883/1464/751 885/1339/752 -f 886/1340/674 885/1339/752 887/1341/753 -f 888/1342/617 863/1463/291 878/1329/748 -f 861/1465/754 485/1466/754 883/1467/754 -f 485/1466/754 453/1468/754 883/1467/754 -f 453/1468/754 452/1469/754 883/1467/754 -f 452/1469/754 466/1470/754 885/1471/754 -f 466/1470/754 468/1472/754 887/1473/754 -f 468/1472/754 374/1345/754 882/1344/754 -f 858/1474/754 468/1472/754 882/1344/754 -f 374/1345/754 373/1475/754 880/1343/754 -f 373/1475/754 458/1476/754 880/1343/754 -f 458/1476/754 469/1477/754 868/1478/754 -f 469/1477/754 471/1479/754 869/1480/754 -f 868/1478/754 469/1477/754 869/1480/754 -f 471/1479/754 478/1481/754 869/1480/754 -f 478/1481/754 480/1482/754 871/1483/754 -f 480/1482/754 923/1484/754 866/1485/754 -f 923/1484/754 477/1486/754 866/1485/754 -f 480/1482/754 866/1485/754 865/1487/754 -f 885/1471/754 883/1467/754 452/1469/754 -f 480/1482/754 865/1487/754 871/1483/754 -f 478/1481/754 871/1483/754 869/1480/754 -f 887/1473/754 885/1471/754 466/1470/754 -f 858/1474/754 887/1473/754 468/1472/754 -f 458/1476/754 868/1478/754 878/1488/754 -f 458/1476/754 878/1488/754 880/1343/754 -f 876/1489/754 866/1485/754 477/1486/754 -f 477/1486/754 476/1490/754 876/1489/754 -f 476/1490/754 482/1491/754 873/1348/754 -f 876/1489/754 476/1490/754 873/1348/754 -f 482/1491/754 493/1346/754 873/1348/754 -f 493/1346/754 924/1492/754 874/1347/754 -f 924/1492/754 485/1466/754 861/1465/754 -f 924/1492/754 861/1465/754 874/1347/754 -f 889/1349/755 892/1352/757 890/1350/756 -f 892/1352/757 894/1354/172 893/1353/172 -f 894/1354/172 896/1356/758 895/1355/758 -f 896/1356/758 898/1358/759 897/1357/759 -f 898/1358/760 900/1360/761 899/1359/761 -f 900/1360/761 902/1365/175 901/1361/175 -f 894/1363/164 892/1493/164 902/1364/164 -f 892/1493/164 889/1494/164 904/1495/164 -f 902/1364/164 892/1493/164 904/1495/164 -f 902/1364/164 900/1496/164 896/1362/164 -f 900/1496/164 898/1497/164 896/1362/164 -f 902/1365/175 904/1367/762 903/1366/762 -f 904/1367/762 889/1498/763 891/1368/763 -f 903/1499/241 891/1500/241 890/1501/241 -f 890/1501/241 893/1502/241 903/1499/241 -f 893/1502/241 895/1371/241 901/1370/241 -f 903/1499/241 893/1502/241 901/1370/241 -f 895/1371/241 897/1503/241 899/1369/241 -f 905/1372/764 908/1375/765 906/1373/765 -f 908/1375/765 910/1377/172 909/1376/172 -f 910/1377/172 912/1379/766 911/1378/766 -f 912/1379/766 914/1381/767 913/1380/767 -f 914/1381/768 925/1504/769 915/1382/769 -f 915/1382/769 925/1504/769 916/1383/175 -f 910/1386/242 908/1505/242 919/1506/242 -f 908/1505/242 905/1507/242 919/1506/242 -f 919/1506/242 916/1387/242 910/1386/242 -f 916/1387/242 925/1508/242 912/1385/242 -f 925/1508/242 914/1509/242 912/1385/242 -f 916/1383/175 919/1389/770 918/1388/770 -f 919/1389/770 905/1510/771 907/1390/771 -f 918/1511/234 907/1512/234 906/1513/234 -f 906/1513/234 909/1514/234 918/1511/234 -f 909/1514/234 911/1393/234 917/1392/234 -f 918/1511/234 909/1514/234 917/1392/234 -f 911/1393/234 913/1515/234 915/1391/234 -f 926/1516/792 927/1517/793 928/1518/794 -f 929/1519/172 930/1520/172 931/1521/172 -f 932/1522/795 933/1523/796 934/1524/797 -f 935/1525/175 936/1526/175 937/1527/175 -f 938/1528/164 939/1529/164 940/1530/164 -f 941/1531/164 942/1532/164 943/1533/164 -f 935/1534/798 944/1535/799 945/1536/800 -f 935/1534/798 946/1537/801 944/1535/799 -f 947/1538/802 948/1539/803 946/1540/801 -f 934/1524/797 933/1523/796 948/1539/803 -f 929/1541/804 949/1542/805 950/1543/806 -f 951/1544/807 952/1545/808 949/1546/805 -f 928/1518/794 927/1517/793 952/1545/808 -f 945/1536/800 950/1543/806 935/1534/798 -f 953/1547/809 940/1548/810 939/1549/811 -f 954/1550/812 943/1551/813 942/1552/814 -f 955/1553/815 937/1554/816 930/1555/817 -f 956/1556/818 957/1557/819 955/1558/815 -f 931/1559/820 958/1560/821 959/1561/822 -f 958/1562/821 953/1547/809 959/1563/822 -f 930/1555/817 936/1564/823 931/1559/820 -f 960/1565/824 961/1566/825 962/1567/826 -f 963/1568/175 964/1569/175 965/1570/175 -f 964/1571/827 960/1572/828 966/1573/829 -f 967/1574/830 968/1575/831 969/1576/832 -f 961/1577/825 968/1578/831 970/1579/833 -f 963/1580/834 961/1581/825 960/1572/828 -f 961/1577/825 970/1579/833 962/1582/826 -f 971/1583/835 969/1576/832 965/1584/836 -f 972/1585/837 973/1586/838 974/1587/839 -f 975/1588/175 976/1589/175 977/1590/175 -f 976/1591/840 972/1592/841 978/1593/842 -f 979/1594/843 980/1595/844 981/1596/845 -f 973/1597/838 980/1598/844 982/1599/846 -f 975/1600/847 973/1601/838 972/1592/841 -f 973/1597/838 982/1599/846 974/1602/839 -f 983/1603/848 981/1596/845 977/1604/849 -f 984/1605/850 985/1606/850 986/1607/850 -f 985/1608/851 987/1609/852 988/1610/851 -f 989/1611/853 990/1612/854 988/1613/853 -f 989/1611/855 991/1614/855 990/1612/855 -f 989/1615/172 987/1616/172 992/1617/172 -f 992/1618/856 986/1607/857 991/1619/856 -f 993/1620/858 994/1621/859 995/1622/860 -f 994/1623/859 996/1624/861 997/1625/862 -f 998/1626/863 999/1627/854 997/1628/862 -f 998/1626/864 1000/1629/865 999/1627/855 -f 998/1630/172 996/1631/172 1001/1632/172 -f 1001/1633/866 995/1634/860 1000/1635/865 -f 1002/1636/867 1003/1637/868 1004/1638/869 -f 1005/1639/870 1006/1640/871 1003/1641/868 -f 1005/1642/870 1007/1643/872 1006/1644/871 -f 1008/1645/873 1009/1646/874 1007/1647/875 -f 1009/1646/874 1010/1648/876 1004/1649/869 -f 1007/1650/175 1009/1651/175 1006/1652/175 -f 1011/1653/877 1012/1654/878 1013/1655/879 -f 1014/1656/172 1015/1657/172 1016/1658/172 -f 1015/1659/880 1011/1660/881 1017/1661/882 -f 1013/1662/883 1018/1663/884 1019/1664/885 -f 1014/1665/886 1020/1666/887 1012/1667/888 -f 1011/1660/881 1014/1668/886 1012/1669/888 -f 1021/1670/889 1019/1664/885 1016/1671/890 -f 1022/1672/891 1023/1673/892 1024/1674/893 -f 1025/1675/172 1026/1676/172 1027/1677/172 -f 1026/1678/894 1022/1679/895 1028/1680/896 -f 1029/1681/897 1030/1682/898 1031/1683/899 -f 1023/1684/900 1031/1685/899 1030/1686/898 -f 1025/1687/901 1023/1688/900 1022/1679/895 -f 1027/1689/902 1024/1690/903 1029/1681/897 -f 1032/1691/904 1033/1692/905 1034/1693/906 -f 1035/1694/907 1036/1695/908 1033/1692/905 -f 1035/1694/909 1037/1696/910 1036/1695/911 -f 1035/1697/234 1032/1698/234 1038/1699/234 -f 1038/1700/912 1039/1701/913 1037/1702/914 -f 1040/1703/915 1034/1704/906 1039/1705/913 -f 1039/1706/242 1034/1707/242 1033/1708/242 -f 1041/1709/916 1042/1710/917 1043/1711/918 -f 1044/1712/919 1045/1713/920 1042/1714/921 -f 1046/1715/922 1047/1716/923 1045/1717/920 -f 1044/1718/234 1048/1719/234 1046/1720/234 -f 1049/1721/924 1043/1722/925 1047/1723/923 -f 1042/1724/242 1045/1725/242 1047/1726/242 -f 1050/1727/926 1051/1728/927 1052/1729/928 -f 1051/1730/927 1053/1731/929 1054/1732/930 -f 1055/1733/931 1056/1734/932 1054/1735/930 -f 1057/1736/933 1058/1737/934 1056/1738/935 -f 1055/1739/175 1053/1740/175 1057/1741/175 -f 1058/1737/934 1059/1742/936 1052/1743/928 -f 1056/1744/172 1058/1745/172 1054/1746/172 -f 1060/1747/937 1061/1748/938 1062/1749/939 -f 1063/1750/940 1064/1751/941 1061/1752/938 -f 1065/1753/942 1066/1754/943 1064/1755/941 -f 1066/1756/943 1067/1757/944 1068/1758/945 -f 1060/1747/946 1062/1749/947 1068/1759/945 -f 1066/1760/172 1068/1761/172 1064/1762/172 -f 1069/1763/948 1070/1764/949 1071/1765/950 -f 1070/1764/949 1072/1766/951 1073/1767/952 -f 1074/1768/953 1075/1769/954 1073/1770/952 -f 1075/1771/954 1076/1772/944 1077/1773/955 -f 1072/1774/175 1069/1775/175 1076/1776/175 -f 1078/1777/956 1071/1778/957 1077/1779/955 -f 1075/1780/172 1077/1781/172 1073/1782/172 -f 1079/1783/937 1080/1784/938 1081/1785/939 -f 1082/1786/940 1083/1787/941 1080/1788/938 -f 1084/1789/942 1085/1790/943 1083/1791/941 -f 1085/1792/943 1086/1793/944 1087/1794/945 -f 1079/1783/946 1081/1785/947 1087/1795/945 -f 1085/1796/172 1087/1797/172 1083/1798/172 -f 1088/1799/958 1089/1800/959 1090/1801/960 -f 1091/1802/961 1092/1803/962 1093/1804/963 -f 1094/1805/964 1093/1806/963 1095/1807/965 -f 1096/1808/966 1097/1809/967 1098/1810/968 -f 1099/1811/969 1100/1812/970 1101/1813/971 -f 1094/1805/964 1102/1814/972 1103/1815/973 -f 1104/1816/974 1092/1803/962 1100/1812/970 -f 1090/1817/960 1092/1803/962 1105/1818/975 -f 1106/1819/976 1093/1820/963 1089/1800/959 -f 1107/1821/977 1101/1822/971 1108/1823/978 -f 1108/1823/978 1091/1824/961 1094/1825/964 -f 1109/1826/979 1110/1827/980 1111/1828/981 -f 1112/1829/982 1094/1805/964 1103/1815/973 -f 1113/1830/983 1114/1831/984 1115/1832/985 -f 1116/1833/986 1095/1807/965 1106/1834/976 -f 1117/1835/987 1106/1819/976 1118/1836/988 -f 1119/1837/989 1108/1823/978 1112/1838/982 -f 1113/1830/983 1101/1822/971 1107/1821/977 -f 1109/1839/979 1111/1840/981 1120/1841/990 -f 1121/1842/991 1122/1843/992 1123/1844/993 -f 1099/1845/969 1124/1846/994 1104/1847/974 -f 1113/1830/983 1115/1832/985 1099/1845/969 -f 1090/1801/960 1125/1848/995 1109/1839/979 -f 1104/1816/974 1125/1849/995 1105/1818/975 -f 1126/1850/996 1123/1844/993 1127/1851/997 -f 1115/1852/985 1128/1853/998 1124/1854/994 -f 1129/1855/999 1098/1810/968 1122/1843/992 -f 1130/1856/1000 1126/1857/996 1131/1858/1001 -f 1131/1859/1001 1126/1850/996 1132/1860/1002 -f 1133/1861/1003 1134/1862/1004 1096/1808/966 -f 1133/1863/1003 1135/1864/1005 1134/1865/1004 -f 1136/1866/1006 1098/1867/968 1137/1868/1007 -f 1137/1869/1007 1098/1810/968 1097/1809/967 -f 1138/1870/1008 1098/1867/968 1117/1835/987 -f 1112/1838/982 1135/1864/1005 1119/1837/989 -f 1112/1871/982 1134/1862/1004 1135/1872/1005 -f 1137/1868/1007 1116/1873/986 1136/1866/1006 -f 1136/1866/1006 1116/1873/986 1117/1835/987 -f 1139/1874/1009 1131/1859/1001 1140/1875/1010 -f 1141/1876/1011 1123/1877/993 1138/1870/1008 -f 1103/1878/973 1134/1862/1004 1112/1871/982 -f 1121/1879/991 1130/1856/1000 1142/1880/1012 -f 1140/1875/1010 1131/1859/1001 1143/1881/1013 -f 1122/1882/992 1138/1870/1008 1123/1877/993 -f 1127/1851/997 1144/1883/1014 1145/1884/1015 -f 1127/1885/997 1141/1876/1011 1144/1886/1014 -f 1146/1887/1016 1144/1883/1014 1111/1840/981 -f 1131/1859/1001 1139/1874/1009 1130/1888/1000 -f 1130/1856/1000 1139/1889/1009 1114/1831/984 -f 1102/1890/972 1134/1862/1004 1103/1878/973 -f 1137/1869/1007 1096/1808/966 1134/1862/1004 -f 1142/1880/1012 1133/1863/1003 1129/1891/999 -f 1137/1869/1007 1102/1890/972 1116/1892/986 -f 1125/1893/995 1147/1894/1017 1110/1827/980 -f 1140/1895/1010 1143/1896/1013 1148/1897/1018 -f 1147/1898/1017 1143/1881/1013 1149/1899/1019 -f 1150/1900/1020 1151/1901/1021 1152/1902/1022 -f 1153/1903/1023 1154/1904/1023 1155/1905/1023 -f 1156/1906/1024 1152/1907/1024 1157/1908/1024 -f 1158/1909/175 1159/1910/175 1160/1911/175 -f 1161/1912/1025 1162/1913/1026 1163/1914/748 -f 1164/1915/1026 1158/1916/1027 1162/1913/1026 -f 1165/1917/1027 1166/1918/1028 1158/1919/1027 -f 1166/1918/1028 1150/1920/1029 1156/1921/1029 -f 1167/1922/1030 1154/1923/1031 1168/1924/1032 -f 1169/1925/1033 1168/1924/1032 1170/1926/1033 -f 1171/1927/1034 1170/1926/1033 1160/1928/1034 -f 1171/1929/1034 1159/1930/1035 1151/1931/1036 -f 1152/1932/1037 1159/1930/1035 1157/1933/1037 -f 1161/1934/1038 1172/1935/1038 1167/1936/1038 -f 1169/1925/1033 1173/1937/1039 1174/1938/1039 -f 1153/1903/1040 1175/1939/1041 1161/1912/1025 -f 1174/1940/1042 1175/1941/1043 1172/1942/1043 -f 1164/1943/1038 1174/1944/1038 1169/1945/1038 -f 1167/1922/1030 1174/1938/1044 1172/1946/1044 -f 1161/1912/1025 1176/1947/1045 1164/1915/1026 -f 1173/1948/1046 1176/1949/1046 1174/1940/1046 -f 1164/1915/1026 1177/1950/1047 1165/1951/1027 -f 1165/1952/1038 1173/1953/1038 1171/1954/1038 -f 1151/1901/1021 1177/1955/1048 1173/1948/1048 -f 1171/1929/1034 1151/1931/1036 1173/1956/1049 -f 1178/1957/1050 1165/1917/1027 1177/1958/1051 -f 1179/1959/1052 1180/1960/1053 1181/1961/1054 -f 1182/1962/1055 1183/1963/1056 1180/1964/1053 -f 1183/1963/1056 1184/1965/1057 1185/1966/1058 -f 1185/1967/1058 1186/1968/1059 1187/1969/1060 -f 1188/1970/1061 1181/1971/1054 1187/1972/1060 -f 1189/1973/1062 1190/1974/1063 1191/1975/1064 -f 1190/1974/1063 1192/1976/1065 1193/1977/1066 -f 1193/1978/1066 1194/1979/1067 1195/1980/1068 -f 1195/1981/1068 1196/1982/1069 1197/1983/1070 -f 1194/1984/1071 1192/1985/1072 1189/1986/1071 -f 1198/1987/1073 1191/1988/1064 1197/1989/1070 -f 926/1516/792 938/1990/234 927/1517/793 -f 939/1991/172 926/1992/172 953/1993/172 -f 926/1992/172 928/1994/172 953/1993/172 -f 928/1994/172 951/1995/172 959/1996/172 -f 953/1993/172 928/1994/172 959/1996/172 -f 951/1995/172 929/1519/172 959/1996/172 -f 959/1996/172 929/1519/172 931/1521/172 -f 929/1519/172 945/1997/172 930/1520/172 -f 945/1997/172 944/1998/172 930/1520/172 -f 944/1998/172 946/1999/172 955/2000/172 -f 946/1999/172 948/2001/172 955/2000/172 -f 948/2001/172 933/2002/172 956/2003/172 -f 933/2002/172 941/2004/172 956/2003/172 -f 941/2004/172 943/2005/172 956/2003/172 -f 948/2001/172 956/2003/172 955/2000/172 -f 944/1998/172 955/2000/172 930/1520/172 -f 932/1522/795 941/2006/242 933/1523/796 -f 942/2007/175 932/2008/175 954/2009/175 -f 932/2008/175 934/2010/175 954/2009/175 -f 934/2010/175 947/2011/175 957/2012/175 -f 954/2009/175 934/2010/175 957/2012/175 -f 947/2011/175 935/1525/175 957/2012/175 -f 957/2012/175 935/1525/175 937/1527/175 -f 935/1525/175 950/2013/175 936/1526/175 -f 950/2013/175 949/2014/175 958/2015/175 -f 949/2014/175 952/2016/175 958/2015/175 -f 952/2016/175 927/2017/175 1199/2018/175 -f 927/2017/175 938/2019/175 1199/2018/175 -f 938/2019/175 940/2020/175 1199/2018/175 -f 952/2016/175 1199/2018/175 958/2015/175 -f 950/2013/175 958/2015/175 936/1526/175 -f 938/1528/164 926/2021/164 939/1529/164 -f 941/1531/164 932/2022/164 942/1532/164 -f 935/1534/798 947/2023/802 946/1537/801 -f 947/1538/802 934/1524/797 948/1539/803 -f 929/1541/804 951/1544/807 949/1542/805 -f 951/1544/807 928/1518/794 952/1545/808 -f 945/1536/800 929/1541/804 950/1543/806 -f 953/1547/809 1199/2024/1074 940/1548/810 -f 954/1550/812 956/1556/818 943/1551/813 -f 955/1553/815 957/2025/819 937/1554/816 -f 956/1556/818 954/1550/812 957/1557/819 -f 931/1559/820 936/1564/823 958/1560/821 -f 958/1562/821 1199/2024/1074 953/1547/809 -f 930/1555/817 937/1554/816 936/1564/823 -f 962/1567/826 971/2026/1075 966/2027/1076 -f 966/2027/1076 960/1565/824 962/1567/826 -f 965/1570/175 969/2028/175 963/1568/175 -f 968/2029/175 963/1568/175 969/2028/175 -f 964/1571/827 963/1580/834 960/1572/828 -f 967/1574/830 970/2030/833 968/1575/831 -f 961/1577/825 963/2031/834 968/1578/831 -f 971/2032/242 965/2033/242 964/2034/242 -f 964/2034/242 966/2035/242 971/2032/242 -f 962/2036/826 970/2030/833 967/1574/830 -f 962/1567/826 967/2037/830 971/2026/1075 -f 971/1583/835 967/1574/830 969/1576/832 -f 974/1587/839 983/2038/1077 978/2039/1078 -f 978/2039/1078 972/1585/837 974/1587/839 -f 977/1590/175 981/2040/175 975/1588/175 -f 980/2041/175 975/1588/175 981/2040/175 -f 976/1591/840 975/1600/847 972/1592/841 -f 979/1594/843 982/2042/846 980/1595/844 -f 973/1597/838 975/2043/847 980/1598/844 -f 983/2044/234 977/2045/234 976/2046/234 -f 976/2046/234 978/2047/234 983/2044/234 -f 974/2048/839 982/2042/846 979/1594/843 -f 974/1587/839 979/2049/843 983/2038/1077 -f 983/1603/848 979/1594/843 981/1596/845 -f 985/1608/1079 984/2050/1080 987/1609/1079 -f 987/1609/1081 989/2051/1082 988/1610/1082 -f 989/1611/1083 1200/2052/1084 991/1614/1084 -f 1200/2053/1085 992/1618/1086 991/1619/1086 -f 987/1616/172 984/2054/172 992/1617/172 -f 992/1617/172 1200/2055/172 989/1615/172 -f 992/1618/1087 984/1605/1088 986/1607/1088 -f 985/2056/175 988/2057/175 986/2058/175 -f 986/2058/175 988/2057/175 991/2059/175 -f 988/2057/175 990/2060/175 991/2059/175 -f 994/1623/859 993/2061/858 996/1624/861 -f 996/1624/861 998/2062/863 997/1625/862 -f 998/1626/864 1201/2063/1089 1000/1629/865 -f 1201/2064/1089 1001/1633/866 1000/1635/865 -f 996/1631/172 993/2065/172 1001/1632/172 -f 1001/1632/172 1201/2066/172 998/1630/172 -f 1001/2067/866 993/1620/858 995/1622/860 -f 994/2068/175 997/2069/175 995/2070/175 -f 995/2070/175 997/2069/175 1000/2071/175 -f 997/2069/175 999/2072/175 1000/2071/175 -f 1002/2073/867 1005/1639/870 1003/1641/868 -f 1005/1642/870 1202/2074/1090 1007/1643/872 -f 1202/2074/1091 1008/2075/873 1007/1643/875 -f 1005/2076/172 1002/2077/172 1010/2078/172 -f 1010/2078/172 1008/2079/172 1005/2076/172 -f 1008/2079/172 1202/2080/172 1005/2076/172 -f 1009/1646/874 1008/1645/873 1010/1648/876 -f 1010/2081/876 1002/1636/867 1004/1638/869 -f 1003/2082/175 1006/1652/175 1009/1651/175 -f 1004/2083/175 1003/2082/175 1009/1651/175 -f 1013/1655/879 1021/2084/1092 1017/2085/1093 -f 1017/2085/1093 1011/1653/877 1013/1655/879 -f 1012/1654/878 1203/2086/1094 1013/1655/879 -f 1203/2087/1095 1020/1666/887 1018/2088/884 -f 1016/1658/172 1019/2089/172 1014/1656/172 -f 1018/2090/172 1014/1656/172 1019/2089/172 -f 1015/1659/880 1014/1668/886 1011/1660/881 -f 1013/1662/883 1203/2091/1095 1018/1663/884 -f 1020/1666/887 1014/1665/886 1018/2088/884 -f 1021/2092/234 1016/2093/234 1015/2094/234 -f 1015/2094/234 1017/2095/234 1021/2092/234 -f 1203/2086/1094 1012/1654/878 1020/2096/1096 -f 1021/1670/889 1013/1662/883 1019/1664/885 -f 1024/1674/893 1204/2097/1097 1028/2098/1098 -f 1028/2098/1098 1022/1672/891 1024/1674/893 -f 1023/1673/892 1030/2099/1099 1024/1674/893 -f 1027/1677/172 1029/2100/172 1025/1675/172 -f 1031/2101/172 1025/1675/172 1029/2100/172 -f 1026/1678/894 1025/1687/901 1022/1679/895 -f 1029/1681/897 1024/1690/903 1030/1682/898 -f 1023/1684/900 1025/2102/901 1031/1685/899 -f 1204/2103/242 1027/2104/242 1026/2105/242 -f 1026/2105/242 1028/2106/242 1204/2103/242 -f 1027/1689/902 1204/2107/1100 1024/1690/903 -f 1040/1703/915 1032/2108/904 1034/1704/906 -f 1032/1691/904 1035/1694/907 1033/1692/905 -f 1035/1694/909 1038/2109/1101 1037/1696/910 -f 1032/1698/234 1040/2110/234 1038/1699/234 -f 1038/1700/912 1040/2111/915 1039/1701/913 -f 1033/1708/242 1036/2112/242 1037/2113/242 -f 1037/2113/242 1039/1706/242 1033/1708/242 -f 1041/1709/916 1048/2114/1102 1042/1710/917 -f 1048/2114/1103 1044/2115/919 1042/1710/921 -f 1044/1712/919 1046/2116/922 1045/1713/920 -f 1048/1719/234 1041/2117/234 1046/1720/234 -f 1041/2117/234 1049/2118/234 1046/1720/234 -f 1046/1715/922 1049/2119/924 1047/1716/923 -f 1049/1721/924 1041/2120/1104 1043/1722/925 -f 1047/1726/242 1043/2121/242 1042/1724/242 -f 1050/1727/926 1053/2122/929 1051/1728/927 -f 1054/1732/930 1053/1731/929 1055/2123/931 -f 1055/1733/931 1205/2124/1105 1056/1734/932 -f 1205/2124/1106 1057/2125/933 1056/1734/935 -f 1053/1740/175 1050/2126/175 1059/2127/175 -f 1057/1741/175 1053/1740/175 1059/2127/175 -f 1057/1741/175 1205/2128/175 1055/1739/175 -f 1058/1737/934 1057/1736/933 1059/1742/936 -f 1059/2129/936 1050/1727/926 1052/1729/928 -f 1051/2130/172 1054/1746/172 1052/2131/172 -f 1052/2131/172 1054/1746/172 1058/1745/172 -f 1060/1747/937 1206/2132/1107 1061/1748/938 -f 1206/2133/1107 1063/1750/940 1061/1752/938 -f 1063/2134/940 1065/1753/942 1064/1755/941 -f 1066/1756/943 1065/2135/942 1067/1757/944 -f 1063/2136/175 1206/2137/175 1067/2138/175 -f 1067/2138/175 1206/2137/175 1060/2139/175 -f 1067/2138/175 1065/2140/175 1063/2136/175 -f 1067/1757/944 1060/2141/946 1068/1758/945 -f 1068/1761/172 1062/2142/172 1061/2143/172 -f 1061/2143/172 1064/1762/172 1068/1761/172 -f 1078/1777/1108 1069/2144/948 1071/1778/950 -f 1070/1764/949 1069/1763/948 1072/1766/951 -f 1072/2145/951 1074/1768/953 1073/1770/952 -f 1075/1771/954 1074/2146/953 1076/1772/944 -f 1076/1776/175 1069/1775/175 1078/2147/175 -f 1076/1776/175 1074/2148/175 1072/1774/175 -f 1076/1772/944 1078/2149/956 1077/1773/955 -f 1071/2150/172 1070/2151/172 1077/1781/172 -f 1070/2151/172 1073/1782/172 1077/1781/172 -f 1079/1783/937 1207/2152/1107 1080/1784/938 -f 1207/2153/1107 1082/1786/940 1080/1788/938 -f 1082/2154/940 1084/1789/942 1083/1791/941 -f 1085/1792/943 1084/2155/942 1086/1793/944 -f 1082/2156/175 1207/2157/175 1086/2158/175 -f 1086/2158/175 1207/2157/175 1079/2159/175 -f 1086/2158/175 1084/2160/175 1082/2156/175 -f 1086/1793/944 1079/2161/946 1087/1794/945 -f 1087/1797/172 1081/2162/172 1080/2163/172 -f 1080/2163/172 1083/1798/172 1087/1797/172 -f 1088/1799/958 1118/1836/988 1089/1800/959 -f 1088/1799/958 1109/1839/979 1120/1841/990 -f 1115/1832/985 1114/1831/984 1139/1889/1009 -f 1091/1802/961 1100/1812/970 1092/1803/962 -f 1094/1805/964 1091/2164/961 1093/1806/963 -f 1098/1810/968 1133/1861/1003 1096/1808/966 -f 1099/1811/969 1104/1816/974 1100/1812/970 -f 1094/1805/964 1095/1807/965 1102/1814/972 -f 1104/1816/974 1105/1818/975 1092/1803/962 -f 1090/1817/960 1089/2165/959 1092/1803/962 -f 1118/1836/988 1106/1819/976 1089/1800/959 -f 1106/1819/976 1095/2166/965 1093/1820/963 -f 1108/1823/978 1101/1822/971 1091/1824/961 -f 1089/1800/959 1093/1820/963 1092/2167/962 -f 1101/1822/971 1100/2168/970 1091/1824/961 -f 1118/1836/988 1088/1799/958 1138/1870/1008 -f 1118/1836/988 1138/1870/1008 1117/1835/987 -f 1138/1870/1008 1088/1799/958 1120/1841/990 -f 1109/1826/979 1125/1893/995 1110/1827/980 -f 1112/1829/982 1108/2169/978 1094/1805/964 -f 1116/1833/986 1102/1814/972 1095/1807/965 -f 1117/1835/987 1116/1873/986 1106/1819/976 -f 1119/1837/989 1107/1821/977 1108/1823/978 -f 1113/1830/983 1107/1821/977 1142/1880/1012 -f 1119/1837/989 1142/1880/1012 1107/1821/977 -f 1113/1830/983 1142/1880/1012 1114/1831/984 -f 1113/1830/983 1099/1845/969 1101/1822/971 -f 1121/1842/991 1129/1855/999 1122/1843/992 -f 1099/1845/969 1115/1832/985 1124/1846/994 -f 1090/1801/960 1105/2170/975 1125/1848/995 -f 1088/1799/958 1090/1801/960 1109/1839/979 -f 1104/1816/974 1124/2171/994 1125/1849/995 -f 1126/1850/996 1121/1842/991 1123/1844/993 -f 1115/1852/985 1139/2172/1009 1128/1853/998 -f 1149/1899/1019 1144/1883/1014 1146/1887/1016 -f 1129/1855/999 1133/1861/1003 1098/1810/968 -f 1144/1883/1014 1141/2173/1011 1111/1840/981 -f 1141/1876/1011 1120/1841/990 1111/1840/981 -f 1133/1863/1003 1119/1837/989 1135/1864/1005 -f 1136/1866/1006 1117/1835/987 1098/1867/968 -f 1138/1870/1008 1122/1882/992 1098/1867/968 -f 1126/1850/996 1127/1851/997 1145/1884/1015 -f 1149/1899/1019 1143/1881/1013 1132/1860/1002 -f 1145/1884/1015 1149/1899/1019 1132/1860/1002 -f 1132/1860/1002 1126/1850/996 1145/1884/1015 -f 1143/1881/1013 1131/1859/1001 1132/1860/1002 -f 1128/1853/998 1139/2172/1009 1140/1895/1010 -f 1120/1841/990 1141/1876/1011 1138/1870/1008 -f 1141/1876/1011 1127/1885/997 1123/1877/993 -f 1142/1880/1012 1129/1891/999 1121/1879/991 -f 1121/1879/991 1126/1857/996 1130/1856/1000 -f 1142/1880/1012 1130/1856/1000 1114/1831/984 -f 1110/1827/980 1146/2174/1016 1111/1828/981 -f 1102/1890/972 1137/1869/1007 1134/1862/1004 -f 1137/1869/1007 1097/1809/967 1096/1808/966 -f 1142/1880/1012 1119/1837/989 1133/1863/1003 -f 1125/1893/995 1124/1854/994 1147/1894/1017 -f 1124/1854/994 1128/1853/998 1148/1897/1018 -f 1148/1897/1018 1147/1894/1017 1124/1854/994 -f 1147/1894/1017 1146/2174/1016 1110/1827/980 -f 1146/2174/1016 1147/1894/1017 1149/2175/1019 -f 1148/1897/1018 1128/1853/998 1140/1895/1010 -f 1147/1898/1017 1148/2176/1018 1143/1881/1013 -f 1145/1884/1015 1144/1883/1014 1149/1899/1019 -f 1150/1900/1020 1178/2177/1109 1151/1901/1021 -f 1156/1906/1024 1150/2178/1024 1152/1907/1024 -f 1154/2179/175 1153/2180/175 1168/2181/175 -f 1153/2180/175 1163/2182/175 1168/2181/175 -f 1163/2182/175 1162/2183/175 1170/2184/175 -f 1162/2183/175 1158/1909/175 1160/1911/175 -f 1170/2184/175 1162/2183/175 1160/1911/175 -f 1166/2185/175 1156/2186/175 1159/1910/175 -f 1156/2186/175 1157/2187/175 1159/1910/175 -f 1170/2184/175 1168/2181/175 1163/2182/175 -f 1158/1909/175 1166/2185/175 1159/1910/175 -f 1153/1903/1040 1161/1912/1025 1163/1914/748 -f 1161/1912/1025 1164/1915/1026 1162/1913/1026 -f 1164/1915/1026 1165/1951/1027 1158/1916/1027 -f 1165/1917/1027 1178/1957/1050 1166/1918/1028 -f 1166/1918/1028 1178/1957/1050 1150/1920/1029 -f 1167/1922/1030 1155/2188/1110 1154/1923/1031 -f 1169/1925/1033 1167/1922/1030 1168/1924/1032 -f 1171/1927/1034 1169/1925/1033 1170/1926/1033 -f 1171/1929/1034 1160/2189/1034 1159/1930/1035 -f 1152/1932/1037 1151/1931/1036 1159/1930/1035 -f 1172/1942/172 1175/1941/172 1155/1905/172 -f 1161/1934/1038 1175/2190/1038 1172/1935/1038 -f 1169/1925/1033 1171/1927/1034 1173/1937/1039 -f 1167/1922/1030 1172/1946/1111 1155/2188/1110 -f 1153/1903/1040 1155/1905/1112 1175/1939/1041 -f 1174/1940/1042 1176/1949/1042 1175/1941/1043 -f 1164/1943/1038 1176/2191/1038 1174/1944/1038 -f 1167/1922/1030 1169/1925/1033 1174/1938/1044 -f 1161/1912/1025 1175/1939/1045 1176/1947/1045 -f 1173/1948/1046 1177/1955/1046 1176/1949/1046 -f 1164/1915/1026 1176/1947/1047 1177/1950/1047 -f 1165/1952/1038 1177/2192/1038 1173/1953/1038 -f 1151/1901/1021 1178/2177/1109 1177/1955/1048 -f 1179/1959/1052 1182/2193/1055 1180/1960/1053 -f 1183/1963/1056 1182/1962/1055 1184/1965/1057 -f 1185/1967/1058 1184/2194/1057 1186/1968/1059 -f 1187/1972/1060 1186/2195/1059 1188/1970/1061 -f 1182/2196/1113 1179/2197/1114 1184/2198/1115 -f 1179/2197/1114 1188/2199/1116 1186/2200/1117 -f 1184/2198/1115 1179/2197/1114 1186/2200/1117 -f 1188/1970/1061 1179/2201/1052 1181/1971/1054 -f 1181/2202/241 1180/2203/1118 1185/2204/241 -f 1180/2203/1118 1183/2205/1119 1185/2204/241 -f 1185/2204/241 1187/2206/1120 1181/2202/241 -f 1189/1973/1062 1192/1976/1065 1190/1974/1063 -f 1193/1978/1066 1192/2207/1065 1194/1979/1067 -f 1195/1981/1068 1194/2208/1067 1196/1982/1069 -f 1189/1986/1071 1198/2209/1121 1194/1984/1071 -f 1198/2209/1121 1196/2210/1122 1194/1984/1071 -f 1196/1982/1069 1198/2211/1073 1197/1983/1070 -f 1198/1987/1073 1189/2212/1062 1191/1988/1064 -f 1197/2213/1123 1191/2214/241 1195/2215/241 -f 1191/2214/241 1190/2216/1124 1193/2217/1125 -f 1193/2217/1125 1195/2215/241 1191/2214/241 -f 1208/2218/1126 1209/2219/1127 1210/2220/1128 -f 1211/2221/1129 1212/2222/1130 1213/2223/1131 -f 1214/2224/1132 1215/2225/1133 1216/2226/1134 -f 1217/2227/1135 1218/2228/1136 1219/2229/1137 -f 1220/2230/241 1221/2231/241 1222/2232/241 -f 1223/2233/1138 1224/2234/1139 1225/2235/1140 -f 1226/2236/1141 1227/2237/1142 1228/2238/1143 -f 1229/2239/1144 1230/2240/1145 1231/2241/1146 -f 1232/2242/1147 1233/2243/1148 1234/2244/1149 -f 1235/2245/1150 1236/2246/1151 1237/2247/1152 -f 1238/2248/164 1237/2247/1152 1239/2249/164 -f 1240/2250/1153 1238/2248/164 1239/2249/164 -f 1240/2250/1153 1241/2251/1154 1234/2252/1155 -f 1235/2253/1156 1238/2254/1157 1242/2255/1157 -f 1243/2256/1158 1244/2257/1159 1245/2258/1160 -f 1244/2257/1159 1246/2259/1161 1247/2260/1162 -f 1231/2241/1146 1248/2261/1163 1229/2239/1144 -f 1249/2262/1164 1250/2263/1165 1251/2264/1166 -f 1252/2265/1167 1253/2266/1168 1254/2267/1169 -f 1251/2264/1166 1246/2259/1161 1255/2268/1170 -f 1208/2218/1126 1230/2240/1145 1256/2269/1171 -f 1210/2220/1128 1257/2270/1172 1248/2261/1163 -f 1209/2219/1127 1247/2260/1162 1257/2270/1172 -f 1258/2271/1173 1256/2269/1171 1230/2240/1145 -f 1259/2272/1174 1256/2269/1171 1258/2271/1173 -f 1260/2273/1175 1222/2232/1176 1261/2274/1177 -f 1262/2275/1178 1263/2276/1179 1264/2277/1180 -f 1265/2278/1181 1227/2237/1142 1222/2232/1176 -f 1234/2244/1149 1266/2279/1182 1267/2280/1183 -f 1254/2267/1169 1259/2272/1174 1268/2281/1184 -f 1268/2281/1184 1258/2271/1173 1269/2282/1185 -f 1269/2282/1185 1230/2240/1145 1270/2283/1186 -f 1271/2284/1187 1272/2285/1188 1273/2286/1189 -f 1274/2287/1190 1275/2288/1191 1223/2233/1138 -f 1276/2289/1192 1277/2290/1193 1278/2291/1194 -f 1278/2291/1194 1279/2292/1195 1280/2293/1196 -f 1281/2294/1197 1282/2295/1198 1283/2296/1199 -f 1284/2297/1200 1285/2298/1201 1271/2284/1187 -f 1286/2299/1202 1287/2300/1203 1288/2301/1204 -f 1225/2235/1140 1255/2268/1170 1289/2302/1205 -f 1290/2303/1206 1291/2304/1207 1281/2294/1197 -f 1291/2304/1207 1289/2302/1205 1282/2295/1198 -f 1292/2305/1208 1293/2306/1209 1294/2307/1210 -f 1295/2308/1211 1296/2309/1212 1297/2310/1213 -f 1297/2310/1213 1225/2235/1140 1291/2304/1207 -f 1298/2311/1214 1299/2312/1215 1249/2262/1164 -f 1273/2286/1189 1300/2313/1216 1301/2314/1217 -f 1302/2315/1218 1303/2316/1219 1304/2317/1220 -f 1277/2290/1193 1305/2318/1221 1279/2292/1195 -f 1306/2319/1222 1304/2317/1220 1307/2320/1223 -f 1252/2265/1167 1261/2274/1177 1221/2231/1224 -f 1308/2321/1225 1307/2320/1223 1277/2290/1193 -f 1309/2322/1226 1310/2323/1227 1308/2321/1225 -f 1221/2231/1224 1308/2321/1225 1276/2289/1192 -f 1220/2230/1228 1311/2324/1229 1310/2323/1227 -f 1293/2306/1209 1312/2325/1230 1311/2324/1229 -f 1313/2326/1231 1216/2226/1134 1287/2300/1203 -f 1314/2327/1232 1315/2328/1233 1316/2329/1234 -f 1290/2303/1206 1315/2328/1233 1314/2327/1232 -f 1317/2330/1235 1318/2331/1236 1315/2328/1233 -f 1318/2331/1236 1313/2326/1231 1286/2299/1202 -f 1281/2294/1197 1317/2330/1235 1290/2303/1206 -f 1281/2294/1197 1313/2326/1231 1317/2330/1235 -f 1281/2294/1197 1283/2296/1199 1214/2224/1132 -f 1280/2293/1196 1279/2292/1195 1285/2298/1201 -f 1272/2285/1188 1279/2292/1195 1319/2332/1237 -f 1319/2332/1237 1279/2292/1195 1305/2318/1221 -f 1272/2285/1188 1320/2333/1238 1300/2313/1216 -f 1320/2333/1238 1319/2332/1237 1321/2334/1239 -f 1321/2334/1239 1305/2318/1221 1322/2335/1240 -f 1321/2334/1239 1322/2335/1240 1323/2336/1241 -f 1316/2329/1234 1321/2334/1239 1323/2336/1241 -f 1315/2328/1233 1320/2333/1238 1321/2334/1239 -f 1320/2333/1238 1286/2299/1202 1300/2313/1216 -f 1288/2301/1204 1300/2313/1216 1286/2299/1202 -f 1217/2227/1135 1295/2308/1211 1316/2329/1234 -f 1295/2308/1211 1290/2303/1206 1314/2327/1232 -f 1297/2310/1213 1291/2304/1207 1290/2303/1206 -f 1307/2320/1223 1304/2317/1220 1305/2318/1221 -f 1303/2316/1219 1322/2335/1240 1304/2317/1220 -f 1316/2329/1234 1323/2336/1241 1303/2316/1219 -f 1292/2305/1208 1294/2307/1210 1274/2287/1190 -f 1274/2287/1190 1219/2229/1137 1292/2305/1208 -f 1223/2233/1138 1324/2337/1242 1274/2287/1190 -f 1223/2233/1138 1225/2235/1140 1296/2309/1212 -f 1310/2323/1227 1302/2315/1218 1306/2319/1222 -f 1311/2324/1229 1218/2228/1136 1302/2315/1218 -f 1292/2305/1208 1218/2228/1136 1312/2325/1230 -f 1217/2227/1135 1324/2337/1242 1295/2308/1211 -f 1248/2261/1163 1226/2236/1141 1229/2239/1144 -f 1248/2261/1163 1299/2312/1215 1325/2338/1243 -f 1257/2270/1172 1250/2263/1165 1299/2312/1215 -f 1246/2259/1161 1250/2263/1165 1247/2260/1162 -f 1268/2281/1184 1260/2273/1175 1254/2267/1169 -f 1269/2282/1185 1265/2278/1181 1268/2281/1184 -f 1269/2282/1185 1228/2238/1143 1326/2339/1244 -f 1229/2239/1144 1228/2238/1143 1270/2283/1186 -f 1208/2218/1126 1210/2220/1128 1231/2241/1146 -f 1212/2222/1130 1327/2340/1245 1328/2341/1246 -f 1329/2342/1247 1327/2340/1245 1212/2222/1130 -f 1330/2343/1248 1232/2242/1147 1267/2280/1183 -f 1331/2344/1249 1332/2345/1250 1262/2275/1178 -f 1333/2346/1251 1266/2279/1182 1332/2345/1250 -f 1213/2223/1131 1328/2341/1246 1334/2347/1252 -f 1330/2343/1248 1334/2347/1252 1335/2348/1253 -f 1256/2269/1171 1240/2349/1254 1239/2350/1255 -f 1336/2351/1256 1287/2300/1203 1337/2352/1257 -f 1287/2300/1203 1216/2226/1134 1337/2352/1257 -f 1338/2353/1258 1284/2297/1200 1271/2284/1187 -f 1339/2354/1259 1338/2353/1258 1273/2286/1189 -f 1339/2354/1259 1273/2286/1189 1301/2314/1217 -f 1337/2352/1257 1340/2355/1260 1341/2356/1261 -f 1339/2354/1259 1288/2301/1204 1336/2351/1256 -f 1342/2357/1262 1338/2353/1258 1343/2358/1263 -f 1344/2359/1264 1345/2360/1265 1346/2361/1266 -f 1344/2359/1264 1333/2346/1251 1345/2360/1265 -f 1345/2360/1265 1331/2344/1249 1346/2361/1266 -f 1347/2362/1267 1211/2221/1129 1213/2223/1131 -f 1348/2363/1268 1213/2223/1131 1334/2347/1252 -f 1349/2364/1269 1340/2355/1260 1211/2221/1129 -f 1330/2343/1248 1348/2363/1268 1334/2347/1252 -f 1342/2357/1262 1346/2361/1266 1331/2344/1249 -f 1346/2361/1266 1343/2358/1263 1344/2359/1264 -f 1208/2218/1126 1245/2258/1160 1209/2219/1127 -f 1211/2221/1129 1329/2342/1247 1212/2222/1130 -f 1214/2224/1132 1283/2296/1199 1215/2225/1133 -f 1329/2342/1247 1211/2221/1129 1283/2296/1199 -f 1211/2221/1129 1340/2355/1260 1215/2225/1133 -f 1283/2296/1199 1211/2221/1129 1215/2225/1133 -f 1246/2259/1161 1329/2342/1247 1282/2295/1198 -f 1282/2295/1198 1329/2342/1247 1283/2296/1199 -f 1255/2268/1170 1246/2259/1161 1289/2302/1205 -f 1282/2295/1198 1289/2302/1205 1246/2259/1161 -f 1217/2227/1135 1303/2316/1219 1218/2228/1136 -f 1227/2237/241 1298/2311/241 1294/2307/241 -f 1298/2311/241 1249/2262/241 1294/2307/241 -f 1249/2262/241 1251/2264/241 1255/2268/241 -f 1275/2288/241 1249/2262/241 1255/2268/241 -f 1255/2268/241 1224/2234/241 1275/2288/241 -f 1275/2288/241 1294/2307/241 1249/2262/241 -f 1294/2307/241 1293/2306/241 1227/2237/241 -f 1293/2306/241 1220/2230/241 1222/2232/241 -f 1220/2230/241 1309/2322/241 1221/2231/241 -f 1221/2231/241 1261/2274/241 1222/2232/241 -f 1222/2232/241 1227/2237/241 1293/2306/241 -f 1223/2233/1138 1275/2288/1191 1224/2234/1139 -f 1226/2236/1141 1298/2311/1214 1227/2237/1142 -f 1229/2239/1144 1270/2283/1186 1230/2240/1145 -f 1267/2280/1183 1232/2242/1147 1234/2244/1149 -f 1235/2245/1150 1242/2365/1270 1236/2246/1151 -f 1238/2248/164 1235/2245/1150 1237/2247/1152 -f 1240/2250/1153 1350/2366/1271 1238/2248/164 -f 1234/2252/1155 1233/2367/1272 1350/2366/1271 -f 1233/2367/1272 1335/2368/1273 1350/2366/1271 -f 1234/2252/1155 1350/2366/1271 1240/2250/1153 -f 1335/2369/1157 1242/2255/1157 1238/2254/1157 -f 1350/2370/1274 1335/2369/1157 1238/2254/1157 -f 1259/2272/1174 1253/2266/1168 1351/2371/1275 -f 1253/2266/1168 1264/2277/1180 1351/2371/1275 -f 1329/2342/1247 1244/2257/1159 1243/2256/1158 -f 1243/2256/1158 1327/2340/1245 1329/2342/1247 -f 1244/2257/1159 1209/2219/1127 1245/2258/1160 -f 1231/2241/1146 1210/2220/1128 1248/2261/1163 -f 1249/2262/1164 1299/2312/1215 1250/2263/1165 -f 1252/2265/1167 1278/2291/1194 1253/2266/1168 -f 1251/2264/1166 1250/2263/1165 1246/2259/1161 -f 1208/2218/1126 1231/2241/1146 1230/2240/1145 -f 1210/2220/1128 1209/2219/1127 1257/2270/1172 -f 1209/2219/1127 1244/2257/1159 1247/2260/1162 -f 1339/2354/1259 1336/2351/1256 1341/2356/1261 -f 1337/2352/1257 1341/2356/1261 1336/2351/1256 -f 1341/2356/1261 1343/2358/1263 1339/2354/1259 -f 1343/2358/1263 1338/2353/1258 1339/2354/1259 -f 1259/2272/1174 1351/2371/1275 1256/2269/1171 -f 1260/2273/1175 1265/2278/1181 1222/2232/1176 -f 1253/2266/1168 1278/2291/1194 1264/2277/1180 -f 1278/2291/1194 1262/2275/1178 1264/2277/1180 -f 1265/2278/1181 1326/2339/1244 1227/2237/1142 -f 1326/2339/1244 1228/2238/1143 1227/2237/1142 -f 1234/2244/1149 1241/2372/1276 1266/2279/1182 -f 1254/2267/1169 1253/2266/1168 1259/2272/1174 -f 1268/2281/1184 1259/2272/1174 1258/2271/1173 -f 1269/2282/1185 1258/2271/1173 1230/2240/1145 -f 1271/2284/1187 1285/2298/1201 1272/2285/1188 -f 1274/2287/1190 1294/2307/1210 1275/2288/1191 -f 1276/2289/1192 1308/2321/1225 1277/2290/1193 -f 1278/2291/1194 1277/2290/1193 1279/2292/1195 -f 1281/2294/1197 1291/2304/1207 1282/2295/1198 -f 1284/2297/1200 1280/2293/1196 1285/2298/1201 -f 1286/2299/1202 1313/2326/1231 1287/2300/1203 -f 1225/2235/1140 1224/2234/1139 1255/2268/1170 -f 1291/2304/1207 1225/2235/1140 1289/2302/1205 -f 1292/2305/1208 1312/2325/1230 1293/2306/1209 -f 1295/2308/1211 1324/2337/1242 1296/2309/1212 -f 1297/2310/1213 1296/2309/1212 1225/2235/1140 -f 1298/2311/1214 1325/2338/1243 1299/2312/1215 -f 1273/2286/1189 1272/2285/1188 1300/2313/1216 -f 1302/2315/1218 1218/2228/1136 1303/2316/1219 -f 1306/2319/1222 1302/2315/1218 1304/2317/1220 -f 1252/2265/1167 1260/2273/1175 1261/2274/1177 -f 1308/2321/1225 1306/2319/1222 1307/2320/1223 -f 1309/2322/1226 1220/2230/1228 1310/2323/1227 -f 1221/2231/1224 1309/2322/1226 1308/2321/1225 -f 1220/2230/1228 1293/2306/1209 1311/2324/1229 -f 1313/2326/1231 1214/2224/1132 1216/2226/1134 -f 1290/2303/1206 1317/2330/1235 1315/2328/1233 -f 1317/2330/1235 1313/2326/1231 1318/2331/1236 -f 1281/2294/1197 1214/2224/1132 1313/2326/1231 -f 1272/2285/1188 1285/2298/1201 1279/2292/1195 -f 1320/2333/1238 1272/2285/1188 1319/2332/1237 -f 1321/2334/1239 1319/2332/1237 1305/2318/1221 -f 1316/2329/1234 1315/2328/1233 1321/2334/1239 -f 1315/2328/1233 1318/2331/1236 1320/2333/1238 -f 1320/2333/1238 1318/2331/1236 1286/2299/1202 -f 1288/2301/1204 1301/2314/1217 1300/2313/1216 -f 1316/2329/1234 1295/2308/1211 1314/2327/1232 -f 1297/2310/1213 1290/2303/1206 1295/2308/1211 -f 1307/2320/1223 1305/2318/1221 1277/2290/1193 -f 1304/2317/1220 1322/2335/1240 1305/2318/1221 -f 1303/2316/1219 1323/2336/1241 1322/2335/1240 -f 1217/2227/1135 1316/2329/1234 1303/2316/1219 -f 1274/2287/1190 1324/2337/1242 1219/2229/1137 -f 1223/2233/1138 1296/2309/1212 1324/2337/1242 -f 1308/2321/1225 1310/2323/1227 1306/2319/1222 -f 1310/2323/1227 1311/2324/1229 1302/2315/1218 -f 1311/2324/1229 1312/2325/1230 1218/2228/1136 -f 1292/2305/1208 1219/2229/1137 1218/2228/1136 -f 1217/2227/1135 1219/2229/1137 1324/2337/1242 -f 1248/2261/1163 1325/2338/1243 1226/2236/1141 -f 1248/2261/1163 1257/2270/1172 1299/2312/1215 -f 1257/2270/1172 1247/2260/1162 1250/2263/1165 -f 1252/2265/1167 1254/2267/1169 1260/2273/1175 -f 1268/2281/1184 1265/2278/1181 1260/2273/1175 -f 1269/2282/1185 1326/2339/1244 1265/2278/1181 -f 1269/2282/1185 1270/2283/1186 1228/2238/1143 -f 1229/2239/1144 1226/2236/1141 1228/2238/1143 -f 1298/2311/1214 1226/2236/1141 1325/2338/1243 -f 1329/2342/1247 1246/2259/1161 1244/2257/1159 -f 1262/2275/1178 1332/2345/1250 1263/2276/1179 -f 1332/2345/1250 1266/2279/1182 1263/2276/1179 -f 1331/2344/1249 1352/2373/1277 1332/2345/1250 -f 1352/2373/1277 1333/2346/1251 1332/2345/1250 -f 1333/2346/1251 1330/2343/1248 1266/2279/1182 -f 1330/2343/1248 1267/2280/1183 1266/2279/1182 -f 1213/2223/1131 1212/2222/1130 1328/2341/1246 -f 1233/2243/1148 1232/2242/1147 1335/2348/1253 -f 1232/2242/1147 1330/2343/1248 1335/2348/1253 -f 1334/2347/1252 1328/2341/1246 1242/2374/1278 -f 1328/2341/1246 1236/2375/1279 1242/2374/1278 -f 1334/2347/1252 1242/2374/1278 1335/2348/1253 -f 1331/2344/1249 1262/2275/1178 1280/2293/1196 -f 1262/2275/1178 1278/2291/1194 1280/2293/1196 -f 1278/2291/1194 1252/2265/1167 1276/2289/1192 -f 1252/2265/1167 1221/2231/1224 1276/2289/1192 -f 1342/2357/1262 1331/2344/1249 1284/2297/1200 -f 1280/2293/1196 1284/2297/1200 1331/2344/1249 -f 1328/2341/1246 1327/2340/1245 1236/2375/1280 -f 1327/2340/1245 1243/2256/1158 1236/2375/1280 -f 1243/2256/1158 1245/2258/1160 1237/2376/1281 -f 1245/2258/1160 1208/2218/1126 1237/2376/1281 -f 1208/2218/1126 1256/2269/1171 1239/2350/1255 -f 1256/2269/1171 1351/2371/1275 1240/2349/1254 -f 1351/2371/1275 1264/2277/1180 1240/2349/1254 -f 1264/2277/1180 1263/2276/1179 1241/2372/1282 -f 1240/2349/1254 1264/2277/1180 1241/2372/1282 -f 1263/2276/1179 1266/2279/1182 1241/2372/1282 -f 1208/2218/1126 1239/2350/1255 1237/2376/1281 -f 1237/2376/1281 1236/2375/1280 1243/2256/1158 -f 1336/2351/1256 1288/2301/1204 1287/2300/1203 -f 1337/2352/1257 1216/2226/1134 1215/2225/1133 -f 1273/2286/1189 1338/2353/1258 1271/2284/1187 -f 1337/2352/1257 1215/2225/1133 1340/2355/1260 -f 1339/2354/1259 1301/2314/1217 1288/2301/1204 -f 1342/2357/1262 1284/2297/1200 1338/2353/1258 -f 1344/2359/1264 1330/2343/1248 1333/2346/1251 -f 1345/2360/1265 1333/2346/1251 1352/2373/1277 -f 1345/2360/1265 1352/2373/1277 1331/2344/1249 -f 1347/2362/1267 1349/2364/1269 1211/2221/1129 -f 1348/2363/1268 1349/2364/1269 1347/2362/1267 -f 1348/2363/1268 1347/2362/1267 1213/2223/1131 -f 1349/2364/1269 1341/2356/1261 1340/2355/1260 -f 1330/2343/1248 1344/2359/1264 1348/2363/1268 -f 1342/2357/1262 1343/2358/1263 1346/2361/1266 -f 1343/2358/1263 1341/2356/1261 1348/2363/1268 -f 1341/2356/1261 1349/2364/1269 1348/2363/1268 -f 1348/2363/1268 1344/2359/1264 1343/2358/1263 -f 1353/2377/1283 1354/2378/1283 1355/2379/1284 -f 1356/2380/1285 1357/2381/1285 1358/2382/1285 -f 1359/2383/1285 1360/2384/1285 1361/2385/1285 -f 1362/2386/1285 1363/2387/1285 1364/2388/1285 -f 1365/2389/1286 1366/2390/1286 1367/2391/1286 -f 1368/2392/1285 1369/2393/1285 1370/2394/1285 -f 1371/2395/1286 1372/2396/1286 1373/2397/1286 -f 1374/2398/1285 1375/2399/1285 1376/2400/1285 -f 1377/2401/1285 1378/2402/1285 1379/2403/1285 -f 1380/2404/1285 1381/2405/1285 1382/2406/1285 -f 1383/2407/1285 1384/2408/1285 1385/2409/1285 -f 1354/2410/1285 1386/2411/1285 1387/2412/1285 -f 1358/2413/1287 1388/2414/1287 1356/2415/1288 -f 1389/2416/1289 1390/2417/1289 1391/2418/1289 -f 1392/2419/1289 1393/2420/1289 1394/2421/1289 -f 1395/2422/1289 1396/2423/1289 1397/2424/1289 -f 1398/2425/1289 1399/2426/1289 1400/2427/1289 -f 1401/2428/1289 1402/2429/1289 1403/2430/1289 -f 1355/2431/1289 1404/2432/1289 1353/2433/1289 -f 1405/2434/1289 1406/2435/1289 1407/2436/1289 -f 1408/2437/1289 1409/2438/1289 1410/2439/1289 -f 1411/2440/1290 1412/2441/1290 1413/2442/1290 -f 1414/2443/1289 1415/2444/1289 1416/2445/1290 -f 1388/2446/1289 1417/2447/1289 1418/2448/1289 -f 1419/2449/1291 1420/2450/1291 1421/2451/1291 -f 1361/2452/1292 1415/2453/1292 1422/2454/1292 -f 1367/2455/1292 1412/2456/1292 1423/2457/1292 -f 1373/2458/1292 1409/2459/1292 1424/2460/1292 -f 1379/2461/1292 1406/2462/1292 1425/2463/1292 -f 1385/2464/1292 1426/2465/1292 1401/2466/1292 -f 1353/2467/1292 1386/2468/1292 1427/2469/1292 -f 1398/2470/1292 1381/2471/1292 1428/2472/1292 -f 1395/2473/1292 1375/2474/1292 1429/2475/1292 -f 1392/2476/1292 1369/2477/1292 1430/2478/1292 -f 1389/2479/1292 1363/2480/1292 1431/2481/1292 -f 1432/2482/1292 1357/2483/1292 1417/2484/1292 -f 1397/2424/1293 1396/2423/1294 1421/2485/1294 -f 1356/2415/1288 1420/2486/1288 1433/2487/1288 -f 1434/2488/1295 1371/2395/1295 1433/2489/1295 -f 1355/2379/1284 1419/2490/1284 1421/2491/1284 -f 1361/2492/1287 1414/2493/1287 1359/2494/1287 -f 1417/2495/1283 1435/2496/1283 1418/2497/1283 -f 1414/2498/1292 1435/2499/1292 1359/2500/1292 -f 1364/2501/1287 1391/2502/1287 1362/2503/1287 -f 1415/2504/1283 1436/2505/1283 1416/2506/1283 -f 1391/2507/1292 1436/2508/1292 1362/2509/1292 -f 1367/2510/1287 1411/2511/1287 1365/2512/1287 -f 1431/2513/1283 1437/2514/1283 1390/2515/1283 -f 1411/2516/1292 1437/2517/1292 1365/2518/1292 -f 1370/2519/1287 1394/2520/1287 1368/2521/1287 -f 1412/2522/1283 1438/2523/1283 1413/2524/1283 -f 1394/2525/1292 1438/2526/1292 1368/2527/1292 -f 1424/2528/1287 1371/2529/1287 1373/2530/1296 -f 1430/2531/1283 1439/2532/1283 1393/2533/1283 -f 1371/2534/1292 1393/2535/1292 1439/2536/1292 -f 1376/2537/1287 1397/2538/1287 1374/2539/1287 -f 1409/2540/1283 1434/2541/1283 1410/2542/1283 -f 1397/2543/1292 1434/2544/1292 1374/2545/1292 -f 1425/2546/1287 1377/2547/1287 1379/2548/1287 -f 1429/2549/1283 1440/2550/1283 1396/2551/1283 -f 1405/2552/1292 1440/2553/1292 1377/2554/1292 -f 1382/2555/1287 1400/2556/1287 1380/2557/1287 -f 1406/2558/1283 1441/2559/1283 1407/2560/1283 -f 1400/2561/1292 1441/2562/1292 1380/2563/1292 -f 1385/2564/1287 1403/2565/1287 1383/2566/1287 -f 1428/2567/1283 1442/2568/1297 1399/2569/1283 -f 1403/2570/1292 1442/2571/1292 1383/2572/1292 -f 1386/2573/1287 1443/2574/1298 1387/2575/1287 -f 1426/2576/1283 1444/2577/1283 1402/2578/1283 -f 1443/2579/1292 1444/2580/1292 1387/2581/1292 -f 1353/2377/1283 1427/2582/1297 1354/2378/1283 -f 1356/2380/1285 1435/2583/1285 1357/2381/1285 -f 1359/2383/1285 1436/2584/1286 1360/2384/1285 -f 1362/2386/1285 1437/2585/1286 1363/2387/1285 -f 1365/2389/1286 1438/2586/1286 1366/2390/1286 -f 1368/2392/1285 1439/2587/1285 1369/2393/1285 -f 1371/2395/1286 1434/2488/1285 1372/2396/1286 -f 1374/2398/1285 1440/2588/1285 1375/2399/1285 -f 1377/2401/1285 1441/2589/1285 1378/2402/1285 -f 1380/2404/1285 1442/2590/1285 1381/2405/1285 -f 1383/2407/1285 1444/2591/1285 1384/2408/1285 -f 1354/2410/1285 1427/2592/1285 1386/2411/1285 -f 1358/2413/1287 1432/2593/1287 1388/2414/1287 -f 1389/2416/1289 1431/2594/1290 1390/2417/1289 -f 1392/2419/1289 1430/2595/1289 1393/2420/1289 -f 1395/2422/1289 1429/2596/1289 1396/2423/1289 -f 1398/2425/1289 1428/2597/1289 1399/2426/1289 -f 1401/2428/1289 1426/2598/1289 1402/2429/1289 -f 1355/2431/1289 1443/2599/1289 1404/2432/1289 -f 1405/2434/1289 1425/2600/1289 1406/2435/1289 -f 1408/2437/1289 1424/2601/1289 1409/2438/1289 -f 1411/2440/1290 1423/2602/1290 1412/2441/1290 -f 1414/2443/1289 1422/2603/1289 1415/2444/1289 -f 1388/2446/1289 1432/2604/1289 1417/2447/1289 -f 1419/2449/1291 1433/2605/1291 1420/2450/1291 -f 1361/2452/1292 1360/2606/1292 1415/2453/1292 -f 1367/2455/1292 1366/2607/1292 1412/2456/1292 -f 1373/2458/1292 1372/2608/1292 1409/2459/1292 -f 1379/2461/1292 1378/2609/1292 1406/2462/1292 -f 1385/2464/1292 1384/2610/1292 1426/2465/1292 -f 1353/2467/1292 1404/2611/1292 1386/2468/1292 -f 1398/2470/1292 1382/2612/1292 1381/2471/1292 -f 1395/2473/1292 1376/2613/1292 1375/2474/1292 -f 1392/2476/1292 1370/2614/1292 1369/2477/1292 -f 1389/2479/1292 1364/2615/1292 1363/2480/1292 -f 1432/2482/1292 1358/2616/1292 1357/2483/1292 -f 1421/2485/1294 1420/2617/1294 1410/2439/1294 -f 1420/2617/1294 1388/2446/1294 1418/2448/1294 -f 1418/2448/1294 1414/2443/1294 1420/2617/1294 -f 1414/2443/1294 1416/2445/1294 1420/2617/1294 -f 1420/2617/1294 1416/2445/1294 1391/2418/1294 -f 1443/2599/1294 1355/2431/1294 1421/2485/1294 -f 1399/2426/1299 1403/2430/1294 1421/2485/1294 -f 1403/2430/1294 1402/2429/1294 1421/2485/1294 -f 1402/2429/1294 1443/2599/1294 1421/2485/1294 -f 1391/2418/1294 1390/2417/1300 1420/2617/1294 -f 1390/2417/1300 1411/2440/1301 1420/2617/1294 -f 1420/2617/1294 1411/2440/1301 1413/2442/1300 -f 1407/2436/1299 1400/2427/1293 1421/2485/1294 -f 1400/2427/1293 1399/2426/1299 1421/2485/1294 -f 1413/2442/1300 1394/2421/1294 1420/2617/1294 -f 1394/2421/1294 1393/2420/1300 1420/2617/1294 -f 1420/2617/1294 1393/2420/1300 1408/2437/1302 -f 1396/2423/1294 1405/2434/1293 1421/2485/1294 -f 1405/2434/1293 1407/2436/1299 1421/2485/1294 -f 1408/2437/1302 1410/2439/1294 1420/2617/1294 -f 1410/2439/1294 1397/2424/1293 1421/2485/1294 -f 1356/2415/1288 1388/2414/1287 1420/2486/1288 -f 1433/2489/1295 1419/2618/1295 1434/2488/1295 -f 1419/2618/1295 1354/2410/1295 1387/2412/1295 -f 1387/2412/1295 1444/2591/1295 1419/2618/1295 -f 1444/2591/1295 1383/2407/1303 1419/2618/1295 -f 1419/2618/1295 1383/2407/1303 1442/2590/1304 -f 1435/2583/1295 1356/2380/1295 1433/2489/1295 -f 1362/2386/1295 1436/2584/1303 1433/2489/1295 -f 1436/2584/1303 1359/2383/1295 1433/2489/1295 -f 1359/2383/1295 1435/2583/1295 1433/2489/1295 -f 1442/2590/1304 1380/2404/1303 1419/2618/1295 -f 1380/2404/1303 1441/2589/1295 1419/2618/1295 -f 1419/2618/1295 1441/2589/1295 1377/2401/1304 -f 1438/2586/1304 1365/2389/1305 1433/2489/1295 -f 1365/2389/1305 1437/2585/1295 1433/2489/1295 -f 1437/2585/1295 1362/2386/1295 1433/2489/1295 -f 1377/2401/1304 1440/2588/1306 1419/2618/1295 -f 1440/2588/1306 1374/2398/1304 1419/2618/1295 -f 1419/2618/1295 1374/2398/1304 1434/2488/1295 -f 1371/2395/1295 1439/2587/1305 1433/2489/1295 -f 1439/2587/1305 1368/2392/1295 1433/2489/1295 -f 1368/2392/1295 1438/2586/1304 1433/2489/1295 -f 1355/2379/1284 1354/2378/1283 1419/2490/1284 -f 1361/2492/1287 1422/2619/1296 1414/2493/1287 -f 1417/2495/1283 1357/2620/1283 1435/2496/1283 -f 1414/2498/1292 1418/2621/1292 1435/2499/1292 -f 1364/2501/1287 1389/2622/1287 1391/2502/1287 -f 1415/2504/1283 1360/2623/1283 1436/2505/1283 -f 1391/2507/1292 1416/2624/1292 1436/2508/1292 -f 1367/2510/1287 1423/2625/1287 1411/2511/1287 -f 1431/2513/1283 1363/2626/1283 1437/2514/1283 -f 1411/2516/1292 1390/2627/1292 1437/2517/1292 -f 1370/2519/1287 1392/2628/1287 1394/2520/1287 -f 1412/2522/1283 1366/2629/1283 1438/2523/1283 -f 1394/2525/1292 1413/2630/1292 1438/2526/1292 -f 1424/2528/1287 1408/2631/1287 1371/2529/1287 -f 1430/2531/1283 1369/2632/1283 1439/2532/1283 -f 1371/2534/1292 1408/2633/1292 1393/2535/1292 -f 1376/2537/1287 1395/2634/1287 1397/2538/1287 -f 1409/2540/1283 1372/2635/1283 1434/2541/1283 -f 1397/2543/1292 1410/2636/1292 1434/2544/1292 -f 1425/2546/1287 1405/2637/1287 1377/2547/1287 -f 1429/2549/1283 1375/2638/1283 1440/2550/1283 -f 1405/2552/1292 1396/2639/1292 1440/2553/1292 -f 1382/2555/1287 1398/2640/1287 1400/2556/1287 -f 1406/2558/1283 1378/2641/1283 1441/2559/1283 -f 1400/2561/1292 1407/2642/1292 1441/2562/1292 -f 1385/2564/1287 1401/2643/1287 1403/2565/1287 -f 1428/2567/1283 1381/2644/1297 1442/2568/1297 -f 1403/2570/1292 1399/2645/1292 1442/2571/1292 -f 1386/2573/1287 1404/2646/1298 1443/2574/1298 -f 1426/2576/1283 1384/2647/1283 1444/2577/1283 -f 1443/2579/1292 1402/2648/1292 1444/2580/1292 -f 1445/2649/175 1446/2650/175 1447/2651/1307 -f 1448/2652/1308 1449/2653/1308 1450/2654/1308 -f 1451/2655/1309 1452/2656/1309 1453/2657/1309 -f 1454/2658/1309 1455/2659/1308 1456/2660/1309 -f 1457/2661/1308 1458/2662/1309 1459/2663/1308 -f 1460/2664/1308 1461/2665/1308 1462/2666/1308 -f 1463/2667/1308 1464/2668/1308 1465/2669/1308 -f 1466/2670/1308 1467/2671/1308 1468/2672/1308 -f 1469/2673/1308 1470/2674/1308 1471/2675/1308 -f 1472/2676/1308 1473/2677/1308 1474/2678/1308 -f 1475/2679/1308 1476/2680/1308 1477/2681/1308 -f 1446/2682/1308 1478/2683/1308 1479/2684/1309 -f 1450/2685/172 1480/2686/172 1448/2687/1310 -f 1481/2688/1311 1482/2689/1312 1483/2690/1311 -f 1484/2691/1312 1485/2692/1312 1486/2693/1312 -f 1487/2694/1312 1488/2695/1312 1489/2696/1312 -f 1490/2697/1312 1491/2698/1312 1492/2699/1312 -f 1493/2700/1312 1494/2701/1312 1495/2702/1312 -f 1447/2703/1312 1496/2704/1312 1445/2705/1312 -f 1497/2706/1312 1498/2707/1312 1499/2708/1312 -f 1500/2709/1312 1501/2710/1312 1502/2711/1312 -f 1503/2712/1312 1504/2713/1311 1505/2714/1311 -f 1506/2715/1311 1507/2716/1311 1508/2717/1311 -f 1480/2718/1312 1509/2719/1312 1510/2720/1311 -f 1511/2721/241 1512/2722/241 1513/2723/241 -f 1453/2724/164 1507/2725/164 1514/2726/164 -f 1459/2727/164 1504/2728/164 1515/2729/164 -f 1465/2730/164 1501/2731/164 1516/2732/164 -f 1471/2733/164 1498/2734/164 1517/2735/164 -f 1477/2736/164 1518/2737/164 1493/2738/164 -f 1445/2739/164 1478/2740/164 1519/2741/164 -f 1490/2742/164 1473/2743/164 1520/2744/164 -f 1487/2745/164 1467/2746/164 1521/2747/164 -f 1484/2748/164 1461/2749/164 1522/2750/164 -f 1481/2751/164 1455/2752/164 1523/2753/164 -f 1524/2754/164 1449/2755/164 1509/2756/164 -f 1512/2757/1313 1486/2693/1313 1485/2692/1314 -f 1448/2687/1310 1525/2758/1315 1526/2759/1315 -f 1460/2664/1316 1527/2760/1316 1528/2761/1316 -f 1447/2651/1307 1529/2762/1317 1530/2763/1318 -f 1453/2764/172 1506/2765/172 1451/2766/172 -f 1509/2767/175 1531/2768/175 1510/2769/175 -f 1506/2770/164 1531/2771/164 1451/2772/164 -f 1456/2773/172 1483/2774/172 1454/2775/172 -f 1507/2776/175 1532/2777/175 1508/2778/175 -f 1483/2779/164 1532/2780/164 1454/2781/164 -f 1459/2782/172 1503/2783/172 1457/2784/172 -f 1523/2785/175 1533/2786/175 1482/2787/175 -f 1503/2788/164 1533/2789/164 1457/2790/164 -f 1462/2791/172 1486/2792/172 1460/2793/172 -f 1504/2794/175 1527/2795/175 1505/2796/175 -f 1486/2797/164 1527/2798/164 1460/2799/164 -f 1516/2800/172 1463/2801/172 1465/2802/172 -f 1522/2803/175 1534/2804/175 1485/2805/175 -f 1463/2806/164 1485/2807/164 1534/2808/164 -f 1468/2809/172 1489/2810/172 1466/2811/172 -f 1501/2812/175 1535/2813/175 1502/2814/175 -f 1489/2815/164 1535/2816/164 1466/2817/164 -f 1517/2818/172 1469/2819/172 1471/2820/172 -f 1521/2821/175 1536/2822/175 1488/2823/175 -f 1497/2824/164 1536/2825/164 1469/2826/164 -f 1474/2827/172 1492/2828/172 1472/2829/172 -f 1498/2830/175 1537/2831/175 1499/2832/175 -f 1492/2833/164 1537/2834/164 1472/2835/164 -f 1477/2836/172 1495/2837/172 1475/2838/172 -f 1520/2839/175 1538/2840/175 1491/2841/175 -f 1495/2842/164 1538/2843/164 1475/2844/164 -f 1478/2845/172 1539/2846/172 1479/2847/172 -f 1518/2848/175 1540/2849/175 1494/2850/175 -f 1539/2851/164 1540/2852/164 1479/2853/164 -f 1529/2762/1317 1541/2854/175 1530/2763/1318 -f 1542/2855/1319 1511/2856/1319 1543/2857/1319 -f 1513/2858/172 1543/2859/172 1511/2860/172 -f 1541/2861/1320 1513/2862/1320 1530/2863/1320 -f 1543/2864/241 1541/2865/241 1542/2866/241 -f 1528/2867/175 1544/2868/175 1512/2869/175 -f 1545/2870/1319 1526/2871/1319 1546/2872/1319 -f 1525/2758/1315 1546/2873/172 1526/2759/1315 -f 1544/2874/1320 1525/2875/1320 1512/2757/1320 -f 1546/2876/241 1544/2877/241 1545/2878/241 -f 1445/2649/175 1519/2879/175 1446/2650/175 -f 1448/2652/1308 1531/2880/1309 1449/2653/1308 -f 1451/2655/1309 1532/2881/1309 1452/2656/1309 -f 1454/2658/1309 1533/2882/1308 1455/2659/1308 -f 1457/2661/1308 1527/2760/1309 1458/2662/1309 -f 1460/2664/1308 1534/2883/1308 1461/2665/1308 -f 1463/2667/1308 1535/2884/1309 1464/2668/1308 -f 1466/2670/1308 1536/2885/1308 1467/2671/1308 -f 1469/2673/1308 1537/2886/1308 1470/2674/1308 -f 1472/2676/1308 1538/2887/1308 1473/2677/1308 -f 1475/2679/1308 1540/2888/1309 1476/2680/1308 -f 1446/2682/1308 1519/2889/1308 1478/2683/1308 -f 1450/2685/172 1524/2890/172 1480/2686/172 -f 1481/2688/1311 1523/2891/1312 1482/2689/1312 -f 1484/2691/1312 1522/2892/1312 1485/2692/1312 -f 1487/2694/1312 1521/2893/1312 1488/2695/1312 -f 1490/2697/1312 1520/2894/1312 1491/2698/1312 -f 1493/2700/1312 1518/2895/1312 1494/2701/1312 -f 1447/2703/1312 1539/2896/1311 1496/2704/1312 -f 1497/2706/1312 1517/2897/1312 1498/2707/1312 -f 1500/2709/1312 1516/2898/1312 1501/2710/1312 -f 1503/2712/1312 1515/2899/1312 1504/2713/1311 -f 1506/2715/1311 1514/2900/1311 1507/2716/1311 -f 1480/2718/1312 1524/2901/1312 1509/2719/1312 -f 1511/2721/241 1528/2902/241 1512/2722/241 -f 1453/2724/164 1452/2903/164 1507/2725/164 -f 1459/2727/164 1458/2904/164 1504/2728/164 -f 1465/2730/164 1464/2905/164 1501/2731/164 -f 1471/2733/164 1470/2906/164 1498/2734/164 -f 1477/2736/164 1476/2907/164 1518/2737/164 -f 1445/2739/164 1496/2908/164 1478/2740/164 -f 1490/2742/164 1474/2909/164 1473/2743/164 -f 1487/2745/164 1468/2910/164 1467/2746/164 -f 1484/2748/164 1462/2911/164 1461/2749/164 -f 1481/2751/164 1456/2912/164 1455/2752/164 -f 1524/2754/164 1450/2913/164 1449/2755/164 -f 1512/2757/1313 1525/2875/1313 1510/2720/1313 -f 1525/2875/1313 1480/2718/1313 1510/2720/1313 -f 1510/2720/1313 1506/2715/1313 1512/2757/1313 -f 1506/2715/1313 1508/2717/1313 1512/2757/1313 -f 1512/2757/1313 1483/2690/1313 1482/2689/1313 -f 1530/2863/1313 1513/2862/1313 1539/2896/1313 -f 1513/2862/1313 1512/2757/1313 1502/2711/1313 -f 1539/2896/1313 1447/2703/1313 1530/2863/1313 -f 1491/2698/1313 1495/2702/1313 1513/2862/1313 -f 1495/2702/1313 1494/2701/1313 1513/2862/1313 -f 1513/2862/1313 1494/2701/1313 1539/2896/1313 -f 1512/2757/1313 1508/2717/1313 1483/2690/1313 -f 1512/2757/1313 1503/2712/1313 1505/2714/1313 -f 1499/2708/1321 1492/2699/1313 1513/2862/1313 -f 1492/2699/1313 1491/2698/1313 1513/2862/1313 -f 1512/2757/1313 1482/2689/1313 1503/2712/1313 -f 1505/2714/1313 1486/2693/1313 1512/2757/1313 -f 1512/2757/1313 1485/2692/1314 1500/2709/1313 -f 1488/2695/1322 1497/2706/1313 1513/2862/1313 -f 1497/2706/1313 1499/2708/1321 1513/2862/1313 -f 1500/2709/1313 1502/2711/1313 1512/2757/1313 -f 1502/2711/1313 1489/2696/1321 1513/2862/1313 -f 1489/2696/1321 1488/2695/1322 1513/2862/1313 -f 1448/2687/1310 1480/2686/172 1525/2758/1315 -f 1511/2856/1316 1529/2914/1316 1479/2684/1316 -f 1529/2914/1316 1446/2682/1316 1479/2684/1316 -f 1479/2684/1316 1540/2888/1316 1511/2856/1316 -f 1540/2888/1316 1475/2679/1316 1511/2856/1316 -f 1511/2856/1316 1475/2679/1316 1538/2887/1316 -f 1448/2652/1316 1526/2871/1316 1531/2880/1316 -f 1526/2871/1316 1528/2761/1316 1531/2880/1316 -f 1528/2761/1316 1511/2856/1316 1535/2884/1316 -f 1538/2887/1316 1472/2676/1316 1511/2856/1316 -f 1511/2856/1316 1472/2676/1316 1537/2886/1316 -f 1454/2658/1316 1532/2881/1316 1528/2761/1316 -f 1532/2881/1316 1451/2655/1316 1528/2761/1316 -f 1451/2655/1316 1531/2880/1316 1528/2761/1316 -f 1537/2886/1316 1469/2673/1316 1511/2856/1316 -f 1469/2673/1316 1536/2885/1316 1511/2856/1316 -f 1511/2856/1316 1536/2885/1316 1466/2670/1316 -f 1527/2760/1316 1457/2661/1316 1528/2761/1316 -f 1457/2661/1316 1533/2882/1316 1528/2761/1316 -f 1533/2882/1316 1454/2658/1316 1528/2761/1316 -f 1466/2670/1316 1535/2884/1316 1511/2856/1316 -f 1535/2884/1316 1463/2667/1316 1528/2761/1316 -f 1463/2667/1316 1534/2883/1316 1528/2761/1316 -f 1534/2883/1316 1460/2664/1316 1528/2761/1316 -f 1447/2651/1307 1446/2650/175 1529/2762/1317 -f 1453/2764/172 1514/2915/172 1506/2765/172 -f 1509/2767/175 1449/2916/175 1531/2768/175 -f 1506/2770/164 1510/2917/164 1531/2771/164 -f 1456/2773/172 1481/2918/172 1483/2774/172 -f 1507/2776/175 1452/2919/175 1532/2777/175 -f 1483/2779/164 1508/2920/164 1532/2780/164 -f 1459/2782/172 1515/2921/172 1503/2783/172 -f 1523/2785/175 1455/2922/175 1533/2786/175 -f 1503/2788/164 1482/2923/164 1533/2789/164 -f 1462/2791/172 1484/2924/172 1486/2792/172 -f 1504/2794/175 1458/2925/175 1527/2795/175 -f 1486/2797/164 1505/2926/164 1527/2798/164 -f 1516/2800/172 1500/2927/172 1463/2801/172 -f 1522/2803/175 1461/2928/175 1534/2804/175 -f 1463/2806/164 1500/2929/164 1485/2807/164 -f 1468/2809/172 1487/2930/172 1489/2810/172 -f 1501/2812/175 1464/2931/175 1535/2813/175 -f 1489/2815/164 1502/2932/164 1535/2816/164 -f 1517/2818/172 1497/2933/172 1469/2819/172 -f 1521/2821/175 1467/2934/175 1536/2822/175 -f 1497/2824/164 1488/2935/164 1536/2825/164 -f 1474/2827/172 1490/2936/172 1492/2828/172 -f 1498/2830/175 1470/2937/175 1537/2831/175 -f 1492/2833/164 1499/2938/164 1537/2834/164 -f 1477/2836/172 1493/2939/172 1495/2837/172 -f 1520/2839/175 1473/2940/175 1538/2840/175 -f 1495/2842/164 1491/2941/164 1538/2843/164 -f 1478/2845/172 1496/2942/172 1539/2846/172 -f 1518/2848/175 1476/2943/175 1540/2849/175 -f 1539/2851/164 1494/2944/164 1540/2852/164 -f 1529/2762/1317 1542/2945/175 1541/2854/175 -f 1542/2855/1319 1529/2914/1319 1511/2856/1319 -f 1513/2858/172 1547/2946/172 1543/2859/172 -f 1541/2861/1320 1547/2947/1323 1513/2862/1320 -f 1543/2864/241 1547/2948/241 1541/2865/241 -f 1528/2867/175 1545/2949/175 1544/2868/175 -f 1545/2870/1319 1528/2761/1319 1526/2871/1319 -f 1525/2758/1315 1548/2950/172 1546/2873/172 -f 1544/2874/1320 1548/2951/1323 1525/2875/1320 -f 1546/2876/241 1548/2952/241 1544/2877/241 -f 1549/2953/1324 1550/2954/1325 1551/2955/1326 -f 1552/2956/1327 1553/2957/1328 1554/2958/1329 -f 1555/2959/1330 1556/2960/1331 1557/2961/1332 -f 1557/2961/1332 1558/2962/1333 1559/2963/1334 -f 1559/2964/1334 1552/2965/1327 1560/2966/1335 -f 1560/2966/1335 1561/2967/1336 1562/2968/1337 -f 1562/2968/1337 1563/2969/1338 1564/2970/1339 -f 1565/2971/1340 1563/2972/1338 1566/2973/1341 -f 1567/2974/1342 1568/2975/1343 1569/2976/1344 -f 1564/2977/1339 1570/2978/1345 1571/2979/1346 -f 1561/2980/1336 1552/2956/1327 1572/2981/1347 -f 1559/2982/1334 1560/2983/1335 1573/2984/1348 -f 1574/2985/1349 1575/2986/1350 1549/2953/1324 -f 1573/2987/1348 1576/2988/1351 1559/2982/1334 -f 1577/2989/1352 1557/2990/1332 1578/2991/1353 -f 1579/2992/1354 1580/2993/1355 1555/2994/1330 -f 1579/2995/1354 1555/2996/1330 1557/2990/1332 -f 1551/2997/1326 1550/2998/1325 1581/2999/1356 -f 1558/3000/1333 1582/3001/1357 1553/3002/1328 -f 1560/2983/1335 1562/3003/1337 1583/3004/1358 -f 1567/2974/1342 1569/2976/1344 1584/3005/1359 -f 1574/2985/1349 1584/3006/1359 1569/3007/1344 -f 1557/2990/1332 1576/2988/1351 1578/2991/1353 -f 1574/2985/1349 1585/3008/1360 1575/2986/1350 -f 1562/3003/1337 1564/2977/1339 1571/3009/1346 -f 1549/2953/1324 1575/2986/1350 1550/2954/1325 -f 1556/3010/1331 1580/3011/1355 1586/3012/1361 -f 1587/3013/1362 1579/3014/1354 1577/3015/1352 -f 1588/3016/1363 1587/3013/1362 1589/3017/1364 -f 1556/3010/1331 1588/3018/1363 1590/3019/1365 -f 1562/3003/1337 1571/3009/1346 1583/3004/1358 -f 1591/3020/1366 1561/2980/1336 1572/2981/1347 -f 1566/3021/1341 1592/3022/1367 1565/3023/1340 -f 1592/3022/1367 1593/3024/1368 1594/3025/1369 -f 1595/3026/1370 1566/3027/1341 1563/3028/1338 -f 1552/2956/1327 1558/3000/1333 1553/2957/1328 -f 1574/2985/1349 1569/3007/1344 1585/3008/1360 -f 1555/2959/1330 1580/3029/1355 1556/2960/1331 -f 1557/2961/1332 1556/2960/1331 1558/2962/1333 -f 1559/2964/1334 1558/3030/1333 1552/2965/1327 -f 1560/2966/1335 1552/2965/1327 1561/2967/1336 -f 1562/2968/1337 1561/2967/1336 1563/2969/1338 -f 1565/2971/1340 1564/3031/1339 1563/2972/1338 -f 1591/3032/1366 1595/3026/1370 1563/3028/1338 -f 1565/3033/1340 1570/2978/1345 1564/2977/1339 -f 1563/3028/1338 1561/2980/1336 1591/3020/1366 -f 1554/2958/1329 1572/2981/1347 1552/2956/1327 -f 1560/2983/1335 1596/3034/1371 1573/2984/1348 -f 1581/2999/1356 1597/3035/1372 1551/2997/1326 -f 1556/3010/1331 1582/3001/1357 1558/3000/1333 -f 1579/2992/1354 1586/3036/1361 1580/2993/1355 -f 1598/3037/1373 1592/3038/1367 1599/3039/1374 -f 1600/3040/1375 1601/3041/1376 1594/3042/1369 -f 1590/3019/1365 1588/3043/1363 1589/3044/1364 -f 1577/3045/1352 1578/2991/1353 1602/3046/1377 -f 1585/3008/1360 1603/3047/1378 1575/2986/1350 -f 1604/3048/1379 1605/3049/1380 1603/3050/1378 -f 1606/3051/1381 1554/2958/1329 1605/3049/1380 -f 1549/2953/1324 1607/3052/1382 1608/3053/1383 -f 1608/3054/1383 1609/3055/1384 1610/3056/1385 -f 1610/3056/1385 1573/2984/1348 1596/3034/1371 -f 1567/2974/1342 1611/3057/1386 1600/3058/1375 -f 1611/3059/1386 1601/3060/1376 1600/3061/1375 -f 1612/3062/1387 1570/2978/1345 1601/3060/1376 -f 1551/2997/1326 1602/3063/1377 1607/3064/1382 -f 1607/3065/1382 1613/3066/1388 1609/3067/1384 -f 1609/3067/1384 1576/2988/1351 1573/2987/1348 -f 1582/3001/1357 1614/3068/1389 1553/3002/1328 -f 1615/3069/1390 1616/3070/1391 1614/3068/1389 -f 1616/3071/1391 1581/2999/1356 1550/2998/1325 -f 1574/2985/1349 1611/3072/1386 1584/3006/1359 -f 1617/3073/1392 1612/3074/1387 1611/3059/1386 -f 1618/3075/1393 1571/3009/1346 1612/3074/1387 -f 1596/3034/1371 1618/3075/1393 1610/3056/1385 -f 1610/3056/1385 1617/3073/1392 1608/3054/1383 -f 1608/3053/1383 1574/2985/1349 1549/2953/1324 -f 1585/3008/1360 1619/3076/1394 1604/3077/1379 -f 1604/3048/1379 1620/3078/1395 1606/3051/1381 -f 1606/3051/1381 1591/3020/1366 1572/2981/1347 -f 1553/2957/1328 1605/3049/1380 1554/2958/1329 -f 1614/3079/1389 1603/3050/1378 1605/3049/1380 -f 1616/3080/1391 1575/2986/1350 1603/3047/1378 -f 1595/3026/1370 1620/3081/1395 1598/3037/1373 -f 1598/3037/1373 1619/3082/1394 1621/3083/1396 -f 1621/3084/1396 1569/2976/1344 1568/2975/1343 -f 1560/2983/1335 1583/3004/1358 1596/3034/1371 -f 1567/2974/1342 1593/3085/1368 1568/2975/1343 -f 1577/2989/1352 1579/2995/1354 1557/2990/1332 -f 1557/2990/1332 1559/2982/1334 1576/2988/1351 -f 1587/3013/1362 1586/3086/1361 1579/3014/1354 -f 1586/3086/1361 1587/3013/1362 1588/3016/1363 -f 1587/3013/1362 1597/3087/1372 1589/3017/1364 -f 1556/3010/1331 1586/3012/1361 1588/3018/1363 -f 1566/3021/1341 1599/3088/1374 1592/3022/1367 -f 1594/3025/1369 1565/3023/1340 1592/3022/1367 -f 1592/3022/1367 1568/3089/1343 1593/3024/1368 -f 1595/3026/1370 1599/3039/1374 1566/3027/1341 -f 1565/3033/1340 1594/3042/1369 1570/2978/1345 -f 1581/2999/1356 1589/3090/1364 1597/3035/1372 -f 1556/3010/1331 1590/3019/1365 1582/3001/1357 -f 1599/3039/1374 1595/3026/1370 1598/3037/1373 -f 1598/3037/1373 1621/3091/1396 1592/3038/1367 -f 1621/3091/1396 1568/3092/1343 1592/3038/1367 -f 1593/3093/1368 1567/3094/1342 1600/3040/1375 -f 1601/3041/1376 1570/2978/1345 1594/3042/1369 -f 1593/3093/1368 1600/3040/1375 1594/3042/1369 -f 1589/3044/1364 1581/3095/1356 1622/3096/1397 -f 1615/3097/1390 1582/3001/1357 1590/3019/1365 -f 1589/3044/1364 1622/3096/1397 1590/3019/1365 -f 1622/3096/1397 1615/3097/1390 1590/3019/1365 -f 1578/2991/1353 1576/2988/1351 1613/3066/1388 -f 1602/3046/1377 1597/3098/1372 1587/3099/1362 -f 1578/2991/1353 1613/3066/1388 1602/3046/1377 -f 1587/3099/1362 1577/3045/1352 1602/3046/1377 -f 1585/3008/1360 1604/3077/1379 1603/3047/1378 -f 1604/3048/1379 1606/3051/1381 1605/3049/1380 -f 1606/3051/1381 1572/2981/1347 1554/2958/1329 -f 1549/2953/1324 1551/2955/1326 1607/3052/1382 -f 1608/3054/1383 1607/3100/1382 1609/3055/1384 -f 1610/3056/1385 1609/3055/1384 1573/2984/1348 -f 1567/2974/1342 1584/3005/1359 1611/3057/1386 -f 1611/3059/1386 1612/3062/1387 1601/3060/1376 -f 1612/3062/1387 1571/2979/1346 1570/2978/1345 -f 1551/2997/1326 1597/3035/1372 1602/3063/1377 -f 1607/3065/1382 1602/3101/1377 1613/3066/1388 -f 1609/3067/1384 1613/3066/1388 1576/2988/1351 -f 1582/3001/1357 1615/3069/1390 1614/3068/1389 -f 1615/3069/1390 1622/3102/1397 1616/3070/1391 -f 1616/3071/1391 1622/3103/1397 1581/2999/1356 -f 1574/2985/1349 1617/3104/1392 1611/3072/1386 -f 1617/3073/1392 1618/3075/1393 1612/3074/1387 -f 1618/3075/1393 1583/3004/1358 1571/3009/1346 -f 1596/3034/1371 1583/3004/1358 1618/3075/1393 -f 1610/3056/1385 1618/3075/1393 1617/3073/1392 -f 1608/3053/1383 1617/3104/1392 1574/2985/1349 -f 1585/3008/1360 1569/3007/1344 1619/3076/1394 -f 1604/3048/1379 1619/3082/1394 1620/3078/1395 -f 1606/3051/1381 1620/3078/1395 1591/3020/1366 -f 1553/2957/1328 1614/3079/1389 1605/3049/1380 -f 1614/3079/1389 1616/3105/1391 1603/3050/1378 -f 1616/3080/1391 1550/2954/1325 1575/2986/1350 -f 1595/3026/1370 1591/3032/1366 1620/3081/1395 -f 1598/3037/1373 1620/3081/1395 1619/3082/1394 -f 1621/3084/1396 1619/3106/1394 1569/2976/1344 -f 1623/3107/1398 1624/3108/1399 1625/3109/1400 -f 1626/3110/1401 1627/3111/1402 1628/3112/1403 -f 1629/3113/1404 1630/3114/1405 1631/3115/1406 -f 1632/3116/234 1633/3117/234 1634/3118/234 -f 1635/3119/1407 1636/3120/1408 1637/3121/1409 -f 1638/3122/1410 1639/3123/1411 1640/3124/1412 -f 1641/3125/1413 1642/3126/1414 1643/3127/1413 -f 1644/3128/1415 1643/3129/1416 1645/3130/1417 -f 1645/3130/1417 1642/3131/1418 1646/3132/1419 -f 1647/3133/1420 1628/3112/1421 1627/3111/1420 -f 1626/3134/1401 1648/3135/1422 1649/3136/1423 -f 1650/3137/1424 1651/3138/1425 1644/3128/1415 -f 1652/3139/1426 1653/3140/1427 1654/3141/1426 -f 1642/3131/1418 1655/3142/1428 1646/3132/1419 -f 1643/3143/1413 1656/3144/1429 1641/3145/1413 -f 1657/3146/1430 1652/3139/1431 1636/3147/1408 -f 1652/3148/1431 1630/3114/1405 1658/3149/1432 -f 1654/3150/1433 1659/3151/1434 1660/3152/1435 -f 1661/3153/1436 1662/3154/1437 1663/3155/1438 -f 1664/3156/1439 1665/3157/1440 1666/3158/1441 -f 1667/3159/1442 1639/3160/1443 1668/3161/1442 -f 1669/3162/1444 1670/3163/1445 1647/3164/1446 -f 1631/3115/1406 1671/3165/1447 1629/3113/1404 -f 1672/3166/1448 1661/3153/1449 1663/3155/1448 -f 1673/3167/1450 1667/3168/1451 1674/3169/1452 -f 1675/3170/1453 1637/3171/1454 1636/3147/1453 -f 1657/3172/242 1646/3132/242 1655/3142/242 -f 1656/3173/1455 1665/3174/1440 1676/3175/1456 -f 1661/3176/1436 1677/3177/1457 1678/3178/1458 -f 1679/3179/1459 1648/3135/1422 1667/3168/1451 -f 1668/3180/1460 1634/3118/1461 1680/3181/1462 -f 1681/3182/1463 1682/3183/1464 1683/3184/1465 -f 1683/3184/1465 1659/3151/1434 1653/3185/1466 -f 1634/3118/1461 1684/3186/1467 1680/3181/1462 -f 1685/3187/1468 1650/3188/1424 1686/3189/1468 -f 1687/3190/1469 1654/3141/1433 1660/3191/1435 -f 1627/3111/1420 1669/3192/1414 1647/3133/1420 -f 1688/3193/1470 1689/3194/1471 1672/3166/1472 -f 1623/3195/1473 1690/3196/1474 1691/3197/1473 -f 1681/3182/1463 1692/3198/1475 1632/3116/1476 -f 1687/3199/234 1638/3122/234 1670/3163/234 -f 1669/3162/1444 1693/3200/1477 1694/3201/1478 -f 1625/3202/1474 1695/3203/1454 1690/3204/1474 -f 1666/3158/1479 1651/3205/1429 1696/3206/1479 -f 1690/3207/1480 1697/3208/1481 1698/3209/1482 -f 1648/3210/1443 1640/3211/1421 1639/3212/1443 -f 1689/3194/1449 1691/3197/1473 1661/3153/1449 -f 1676/3175/1456 1641/3213/1483 1656/3173/1455 -f 1699/3214/1484 1689/3215/1471 1700/3216/1485 -f 1673/3167/1450 1701/3217/1486 1702/3218/1486 -f 1671/3219/1487 1703/3220/1488 1681/3221/1487 -f 1635/3119/1407 1625/3109/1400 1624/3108/1399 -f 1691/3222/1489 1698/3209/1482 1677/3177/1457 -f 1684/3223/1490 1674/3224/1491 1680/3225/1491 -f 1704/3226/1492 1639/3123/1411 1705/3227/1493 -f 1647/3133/1446 1638/3228/1410 1640/3211/1412 -f 1697/3208/1481 1675/3229/1494 1687/3199/1469 -f 1671/3219/1487 1683/3230/1495 1629/3231/1495 -f 1658/3232/1427 1683/3233/1495 1653/3140/1427 -f 1674/3224/1491 1668/3161/1442 1680/3225/1491 -f 1662/3234/234 1665/3174/234 1706/3235/234 -f 1703/3236/164 1707/3237/164 1701/3238/164 -f 1686/3239/164 1688/3240/164 1672/3241/164 -f 1636/3147/1453 1654/3141/1426 1675/3170/1453 -f 1702/3218/242 1708/3242/242 1673/3167/242 -f 1709/3243/1496 1671/3165/1447 1708/3242/1497 -f 1696/3206/1479 1664/3156/1498 1666/3158/1479 -f 1650/3137/242 1688/3244/242 1686/3245/242 -f 1623/3107/1398 1699/3214/1484 1624/3108/1399 -f 1626/3110/1401 1655/3246/1428 1627/3111/1402 -f 1629/3113/1404 1658/3149/1432 1630/3114/1405 -f 1632/3116/234 1692/3198/234 1633/3117/234 -f 1635/3119/1407 1657/3172/1430 1636/3120/1408 -f 1638/3122/1410 1705/3227/1493 1639/3123/1411 -f 1641/3125/1413 1669/3192/1414 1642/3126/1414 -f 1644/3128/1415 1651/3138/1425 1643/3129/1416 -f 1645/3130/1417 1643/3129/1416 1642/3131/1418 -f 1647/3133/1420 1640/3211/1421 1628/3112/1421 -f 1626/3134/1401 1628/3247/1403 1648/3135/1422 -f 1650/3137/1424 1696/3248/1499 1651/3138/1425 -f 1652/3139/1426 1658/3232/1427 1653/3140/1427 -f 1642/3131/1418 1627/3249/1402 1655/3142/1428 -f 1643/3143/1413 1651/3205/1429 1656/3144/1429 -f 1657/3146/1430 1710/3250/1500 1652/3139/1431 -f 1652/3148/1431 1710/3251/1500 1630/3114/1405 -f 1654/3150/1433 1653/3185/1466 1659/3151/1434 -f 1661/3153/1436 1678/3252/1458 1662/3154/1437 -f 1664/3156/1439 1706/3253/1439 1665/3157/1440 -f 1667/3159/1442 1648/3254/1443 1639/3160/1443 -f 1669/3162/1444 1694/3201/1478 1670/3163/1445 -f 1631/3115/1406 1708/3242/1497 1671/3165/1447 -f 1672/3166/1448 1689/3194/1449 1661/3153/1449 -f 1673/3167/1450 1679/3179/1459 1667/3168/1451 -f 1675/3170/1453 1695/3203/1454 1637/3171/1454 -f 1630/3114/242 1710/3251/242 1649/3136/242 -f 1710/3251/242 1657/3172/242 1626/3134/242 -f 1657/3172/242 1635/3119/242 1646/3132/242 -f 1635/3119/242 1624/3108/242 1646/3132/242 -f 1624/3108/242 1699/3214/242 1645/3130/242 -f 1699/3214/242 1700/3216/242 1644/3128/242 -f 1645/3130/242 1699/3214/242 1644/3128/242 -f 1700/3216/242 1650/3137/242 1644/3128/242 -f 1708/3242/242 1631/3115/242 1679/3179/242 -f 1631/3115/242 1630/3114/242 1649/3136/242 -f 1679/3179/242 1673/3167/242 1708/3242/242 -f 1649/3136/242 1679/3179/242 1631/3115/242 -f 1624/3108/242 1645/3130/242 1646/3132/242 -f 1626/3134/242 1649/3136/242 1710/3251/242 -f 1655/3142/242 1626/3134/242 1657/3172/242 -f 1656/3173/1455 1666/3255/1441 1665/3174/1440 -f 1661/3176/1436 1691/3222/1489 1677/3177/1457 -f 1679/3179/1459 1649/3136/1423 1648/3135/1422 -f 1668/3180/1460 1704/3226/1492 1634/3118/1461 -f 1681/3182/1463 1632/3116/1476 1682/3183/1464 -f 1683/3184/1465 1682/3183/1464 1659/3151/1434 -f 1634/3118/1461 1633/3117/1467 1684/3186/1467 -f 1685/3187/1468 1696/3206/1499 1650/3188/1424 -f 1687/3190/1469 1675/3170/1494 1654/3141/1433 -f 1627/3111/1420 1642/3126/1414 1669/3192/1414 -f 1688/3193/1470 1700/3256/1485 1689/3194/1471 -f 1623/3195/1473 1625/3257/1474 1690/3196/1474 -f 1681/3182/1463 1703/3220/1475 1692/3198/1475 -f 1676/3175/234 1665/3174/234 1678/3178/234 -f 1678/3178/234 1677/3177/234 1676/3175/234 -f 1677/3177/234 1698/3209/234 1693/3200/234 -f 1676/3175/234 1677/3177/234 1693/3200/234 -f 1698/3209/234 1697/3208/234 1694/3201/234 -f 1697/3208/234 1687/3199/234 1694/3201/234 -f 1698/3209/234 1694/3201/234 1693/3200/234 -f 1687/3199/234 1660/3152/234 1638/3122/234 -f 1660/3152/234 1659/3151/234 1705/3227/234 -f 1638/3122/234 1660/3152/234 1705/3227/234 -f 1659/3151/234 1682/3183/234 1705/3227/234 -f 1682/3183/234 1632/3116/234 1704/3226/234 -f 1705/3227/234 1682/3183/234 1704/3226/234 -f 1632/3116/234 1634/3118/234 1704/3226/234 -f 1670/3163/234 1694/3201/234 1687/3199/234 -f 1669/3162/1444 1641/3213/1483 1693/3200/1477 -f 1625/3202/1474 1637/3171/1454 1695/3203/1454 -f 1666/3158/1479 1656/3144/1429 1651/3205/1429 -f 1690/3207/1480 1695/3258/1501 1697/3208/1481 -f 1648/3210/1443 1628/3112/1421 1640/3211/1421 -f 1689/3194/1449 1623/3195/1473 1691/3197/1473 -f 1676/3175/1456 1693/3200/1477 1641/3213/1483 -f 1699/3214/1484 1623/3107/1398 1689/3215/1471 -f 1673/3167/1450 1674/3169/1452 1701/3217/1486 -f 1671/3219/1487 1707/3259/1488 1703/3220/1488 -f 1635/3119/1407 1637/3121/1409 1625/3109/1400 -f 1691/3222/1489 1690/3207/1480 1698/3209/1482 -f 1684/3223/1490 1701/3260/1490 1674/3224/1491 -f 1704/3226/1492 1668/3180/1460 1639/3123/1411 -f 1647/3133/1446 1670/3261/1445 1638/3228/1410 -f 1697/3208/1481 1695/3258/1501 1675/3229/1494 -f 1671/3219/1487 1681/3221/1487 1683/3230/1495 -f 1658/3232/1427 1629/3262/1495 1683/3233/1495 -f 1674/3224/1491 1667/3159/1442 1668/3161/1442 -f 1662/3234/234 1678/3178/234 1665/3174/234 -f 1709/3263/164 1702/3264/164 1707/3237/164 -f 1702/3264/164 1701/3238/164 1707/3237/164 -f 1701/3238/164 1684/3265/164 1703/3236/164 -f 1684/3265/164 1633/3266/164 1703/3236/164 -f 1633/3266/164 1692/3267/164 1703/3236/164 -f 1672/3241/164 1663/3268/164 1664/3269/164 -f 1663/3268/164 1662/3234/164 1706/3270/164 -f 1664/3269/164 1663/3268/164 1706/3270/164 -f 1664/3269/164 1685/3271/164 1672/3241/164 -f 1685/3271/164 1686/3239/164 1672/3241/164 -f 1636/3147/1453 1652/3139/1426 1654/3141/1426 -f 1702/3218/242 1709/3243/242 1708/3242/242 -f 1709/3243/1496 1707/3272/1496 1671/3165/1447 -f 1696/3206/1479 1685/3187/1498 1664/3156/1498 -f 1650/3137/242 1700/3216/242 1688/3244/242 -f 1711/3273/172 1712/3274/172 1713/3275/172 -f 1714/3276/1502 1715/3277/175 1716/3278/1503 -f 1717/3279/164 1711/3280/164 1718/3281/164 -f 1719/3282/164 1720/3283/164 1721/3284/164 -f 1722/3285/172 1723/3286/1504 1724/3287/1505 -f 1725/3288/175 1726/3289/175 1727/3290/175 -f 1728/3291/164 1729/3292/164 1730/3293/164 -f 1731/3294/164 1732/3295/164 1726/3296/164 -f 1733/3297/1506 1734/3298/1506 1735/3299/172 -f 1736/3300/175 1737/3301/281 1738/3302/281 -f 1739/3303/164 1733/3304/164 1740/3305/164 -f 1741/3306/164 1742/3307/164 1737/3308/164 -f 1712/3274/172 1743/3309/172 1713/3275/172 -f 1743/3309/172 1744/3310/172 1745/3311/172 -f 1713/3275/172 1743/3309/172 1746/3312/172 -f 1745/3311/172 1747/3313/172 1746/3312/172 -f 1747/3313/172 1748/3314/1507 1746/3312/172 -f 1748/3314/1507 1749/3315/172 1750/3316/280 -f 1746/3312/172 1748/3314/1507 1750/3316/280 -f 1750/3316/280 1751/3317/172 1752/3318/172 -f 1751/3317/172 1719/3319/172 1752/3318/172 -f 1750/3316/280 1752/3318/172 1746/3312/172 -f 1745/3311/172 1746/3312/172 1743/3309/172 -f 1753/3320/1508 1754/3321/1508 1755/3322/1508 -f 1755/3322/1509 1756/3323/175 1716/3278/1503 -f 1756/3323/175 1757/3324/1510 1716/3278/1503 -f 1757/3324/1510 1758/3325/1511 1714/3276/1502 -f 1714/3276/1502 1717/3326/175 1715/3277/175 -f 1717/3326/281 1718/3327/281 1715/3277/281 -f 1757/3324/1510 1714/3276/1502 1716/3278/1503 -f 1720/3328/281 1753/3320/1512 1759/3329/175 -f 1753/3320/1512 1755/3322/1509 1716/3278/1503 -f 1759/3329/175 1753/3320/1512 1716/3278/1503 -f 1759/3329/175 1721/3330/281 1720/3328/281 -f 1717/3279/164 1712/3331/164 1711/3280/164 -f 1719/3282/164 1751/3332/164 1720/3283/164 -f 1729/3333/1513 1760/3334/1514 1761/3335/1514 -f 1760/3334/1514 1762/3336/172 1761/3335/1514 -f 1761/3335/172 1763/3337/1515 1764/3338/172 -f 1763/3337/1515 1765/3339/1505 1723/3286/1504 -f 1764/3338/172 1763/3337/1515 1723/3286/1504 -f 1764/3338/172 1729/3333/172 1761/3335/172 -f 1765/3339/1505 1766/3340/172 1767/3341/172 -f 1767/3341/172 1768/3342/172 1723/3286/1504 -f 1768/3342/172 1769/3343/1516 1723/3286/1504 -f 1769/3343/1516 1770/3344/1517 1771/3345/1315 -f 1771/3345/1315 1724/3287/1505 1723/3286/1504 -f 1724/3287/1505 1772/3346/1518 1722/3285/172 -f 1769/3343/1516 1771/3345/1315 1723/3286/1504 -f 1723/3286/1504 1765/3339/1505 1767/3341/172 -f 1772/3346/1519 1773/3347/1519 1774/3348/1519 -f 1774/3348/1520 1731/3349/1521 1772/3346/1518 -f 1731/3349/1521 1722/3285/172 1772/3346/1518 -f 1727/3290/175 1775/3350/175 1725/3288/175 -f 1775/3350/175 1776/3351/175 1777/3352/175 -f 1725/3288/175 1775/3350/175 1777/3352/175 -f 1776/3351/175 1778/3353/175 1779/3354/175 -f 1779/3354/175 1780/3355/175 1777/3352/175 -f 1780/3355/175 1781/3356/1522 1777/3352/175 -f 1781/3356/1522 1782/3357/175 1783/3358/1522 -f 1783/3358/1522 1784/3359/175 1777/3352/175 -f 1784/3359/175 1785/3360/175 1786/3361/175 -f 1785/3360/1523 1787/3362/1523 1728/3363/1523 -f 1728/3363/1524 1730/3364/1525 1785/3360/1525 -f 1730/3364/1525 1786/3361/175 1785/3360/1525 -f 1781/3356/1522 1783/3358/1522 1777/3352/175 -f 1784/3359/175 1786/3361/175 1777/3352/175 -f 1776/3351/175 1779/3354/175 1777/3352/175 -f 1732/3365/1526 1788/3366/1526 1727/3290/1526 -f 1726/3289/1527 1732/3365/1527 1727/3290/1527 -f 1728/3291/164 1760/3367/164 1729/3292/164 -f 1731/3294/164 1774/3368/164 1732/3295/164 -f 1789/3369/1297 1790/3370/172 1734/3298/280 -f 1734/3298/1506 1791/3371/172 1735/3299/172 -f 1791/3371/172 1792/3372/1528 1793/3373/1529 -f 1735/3299/172 1791/3371/172 1793/3373/1529 -f 1792/3372/1528 1794/3374/1530 1795/3375/1528 -f 1795/3375/1528 1796/3376/172 1793/3373/1529 -f 1796/3376/172 1797/3377/1531 1793/3373/1529 -f 1797/3377/1531 1798/3378/172 1799/3379/1532 -f 1799/3379/1532 1800/3380/172 1793/3373/1529 -f 1800/3380/172 1801/3381/172 1802/3382/172 -f 1801/3381/1507 1803/3383/1507 1804/3384/1507 -f 1804/3384/172 1741/3385/172 1801/3381/172 -f 1741/3385/172 1802/3382/172 1801/3381/172 -f 1797/3377/1531 1799/3379/1532 1793/3373/1529 -f 1800/3380/172 1802/3382/172 1793/3373/1529 -f 1792/3372/1528 1795/3375/1528 1793/3373/1529 -f 1733/3297/1531 1789/3369/1297 1734/3298/280 -f 1738/3302/281 1805/3386/175 1736/3300/175 -f 1805/3386/175 1806/3387/175 1807/3388/175 -f 1736/3300/175 1805/3386/175 1807/3388/175 -f 1806/3387/175 1808/3389/175 1809/3390/1522 -f 1809/3390/1522 1810/3391/175 1807/3388/175 -f 1810/3391/175 1811/3392/175 1807/3388/175 -f 1811/3392/175 1812/3393/175 1813/3394/175 -f 1813/3394/175 1814/3395/175 1807/3388/175 -f 1814/3395/175 1815/3396/175 1816/3397/175 -f 1815/3396/1533 1817/3398/1533 1739/3399/1533 -f 1739/3399/175 1740/3400/175 1815/3396/175 -f 1740/3400/175 1816/3397/175 1815/3396/175 -f 1811/3392/175 1813/3394/175 1807/3388/175 -f 1814/3395/175 1816/3397/175 1807/3388/175 -f 1806/3387/175 1809/3390/1522 1807/3388/175 -f 1742/3401/281 1818/3402/175 1738/3302/175 -f 1737/3301/1534 1742/3401/281 1738/3302/175 -f 1739/3303/164 1789/3403/164 1733/3304/164 -f 1741/3306/164 1804/3404/164 1742/3307/164 -f 1819/3405/1535 1820/3406/1536 1821/3407/1537 -f 1822/3408/1538 1823/3409/1539 1824/3410/1540 -f 1825/3411/1541 1826/3412/1542 1827/3413/1543 -f 1828/3414/1544 1732/3415/1545 1774/3416/1546 -f 1829/3417/164 1755/3418/1547 1830/3419/1548 -f 1748/3420/1549 1780/3421/164 1779/3422/1550 -f 1769/3423/1551 1810/3424/164 1809/3425/1547 -f 1831/3426/1552 1796/3427/164 1832/3428/1553 -f 1833/3429/1554 1756/3430/164 1829/3417/164 -f 1747/3431/164 1781/3432/1555 1780/3421/164 -f 1768/3433/164 1811/3434/1556 1810/3424/164 -f 1832/3428/1553 1795/3435/1555 1834/3436/1557 -f 1835/3437/172 1836/3438/172 1833/3439/172 -f 1825/3440/172 1824/3441/172 1837/3442/172 -f 1789/3443/1558 1739/3444/1559 1819/3445/1535 -f 1838/3446/175 1839/3447/175 1840/3448/175 -f 1841/3449/1560 1842/3450/1561 1843/3451/1562 -f 1840/3452/1563 1844/3453/1564 1841/3449/1560 -f 1834/3454/1557 1840/3452/1563 1845/3455/1565 -f 1832/3456/1553 1845/3455/1565 1846/3457/1566 -f 1831/3458/1552 1846/3457/1566 1847/3459/1567 -f 1848/3460/1568 1847/3459/1567 1839/3461/1569 -f 1849/3462/1570 1839/3461/1569 1850/3463/1571 -f 1851/3464/1572 1850/3463/1571 1852/3465/1573 -f 1826/3466/1542 1852/3465/1573 1853/3467/1574 -f 1827/3468/1543 1853/3467/1574 1838/3469/1575 -f 1854/3470/1576 1838/3469/1575 1855/3471/1577 -f 1822/3472/1538 1855/3471/1577 1856/3473/1578 -f 1857/3474/1579 1822/3472/1538 1856/3473/1578 -f 1858/3475/1580 1823/3476/1539 1857/3474/1579 -f 1821/3477/1537 1858/3475/1580 1859/3478/1581 -f 1842/3450/1561 1859/3478/1581 1843/3451/1562 -f 1860/3479/234 1861/3480/157 1862/3481/234 -f 1863/3482/164 1861/3483/157 1864/3484/157 -f 1865/3485/170 1837/3486/164 1863/3482/164 -f 1866/3487/242 1867/3488/170 1865/3489/170 -f 1868/3490/242 1737/3491/1582 1731/3492/1582 -f 1869/3493/1583 1793/3494/241 1802/3495/1583 -f 1723/3496/241 1736/3497/1583 1807/3498/241 -f 1746/3499/241 1725/3500/1583 1777/3501/241 -f 1835/3502/241 1759/3503/1583 1716/3504/241 -f 1870/3505/241 1735/3506/1584 1793/3494/241 -f 1764/3507/1584 1807/3498/241 1816/3508/1584 -f 1713/3509/1584 1777/3501/241 1786/3510/1584 -f 1836/3511/1584 1716/3504/241 1715/3512/1584 -f 1729/3513/1585 1740/3514/1585 1862/3481/234 -f 1860/3515/172 1870/3516/172 1866/3517/172 -f 1819/3405/1535 1824/3410/1540 1820/3406/1536 -f 1823/3409/1539 1820/3406/1536 1824/3410/1540 -f 1824/3410/1540 1825/3411/1541 1822/3408/1538 -f 1825/3411/1541 1827/3413/1543 1854/3518/1576 -f 1822/3408/1538 1825/3411/1541 1854/3518/1576 -f 1825/3411/1541 1828/3414/1544 1826/3412/1542 -f 1797/3519/1586 1831/3426/1552 1798/3520/1587 -f 1831/3426/1552 1848/3521/1568 1800/3522/1588 -f 1798/3520/1587 1831/3426/1552 1800/3522/1588 -f 1848/3521/1568 1849/3523/1570 1801/3524/1589 -f 1849/3523/1570 1851/3525/1572 1804/3526/1590 -f 1851/3525/1572 1826/3412/1542 1828/3414/1544 -f 1828/3414/1544 1830/3419/1548 1720/3527/1591 -f 1830/3419/1548 1755/3418/1547 1754/3528/1592 -f 1720/3527/1591 1830/3419/1548 1753/3529/1593 -f 1754/3528/1592 1753/3529/1593 1830/3419/1548 -f 1849/3523/1570 1804/3526/1590 1803/3530/1594 -f 1851/3525/1572 1828/3414/1544 1804/3526/1590 -f 1800/3522/172 1799/3531/172 1798/3520/172 -f 1803/3530/1594 1801/3524/1589 1849/3523/1570 -f 1801/3524/1589 1800/3522/1588 1848/3521/1568 -f 1828/3414/1544 1720/3527/1591 1751/3532/1595 -f 1749/3533/1596 1748/3420/1549 1779/3422/1550 -f 1779/3422/1550 1778/3534/1597 1749/3533/1596 -f 1778/3534/1597 1776/3535/1598 1750/3536/1599 -f 1776/3535/1598 1775/3537/1600 1750/3536/1599 -f 1775/3537/1600 1727/3538/1601 1750/3536/1599 -f 1727/3538/1601 1788/3539/1602 1751/3532/1595 -f 1788/3539/1602 1732/3415/1545 1751/3532/1595 -f 1778/3534/1597 1750/3536/1599 1749/3533/1596 -f 1751/3532/1595 1750/3536/1599 1727/3538/1601 -f 1738/3540/1601 1818/3541/1603 1772/3542/1604 -f 1818/3541/1603 1742/3543/1605 1774/3416/1546 -f 1742/3543/1605 1804/3526/1590 1828/3414/1544 -f 1828/3414/1544 1751/3532/1595 1732/3415/1545 -f 1818/3541/1603 1774/3416/1546 1773/3544/1606 -f 1742/3543/1605 1828/3414/1544 1774/3416/1546 -f 1806/3545/1607 1805/3546/1608 1724/3547/1609 -f 1805/3546/1608 1738/3540/1601 1724/3547/1609 -f 1809/3425/1547 1808/3548/1597 1770/3549/157 -f 1808/3548/1597 1806/3545/1607 1771/3550/1610 -f 1770/3549/157 1769/3423/1551 1809/3425/1547 -f 1724/3547/1609 1771/3550/1610 1806/3545/1607 -f 1771/3550/1610 1770/3549/157 1808/3548/1597 -f 1773/3544/1606 1772/3542/1604 1818/3541/1603 -f 1772/3542/1604 1724/3547/1609 1738/3540/1601 -f 1829/3417/164 1756/3430/164 1755/3418/1547 -f 1748/3420/1549 1747/3431/164 1780/3421/164 -f 1769/3423/1551 1768/3433/164 1810/3424/164 -f 1831/3426/1552 1797/3519/1586 1796/3427/164 -f 1833/3429/1554 1757/3551/1556 1756/3430/164 -f 1747/3431/164 1745/3552/1556 1781/3432/1555 -f 1768/3433/164 1767/3553/168 1811/3434/1556 -f 1832/3428/1553 1796/3427/164 1795/3435/1555 -f 1862/3554/172 1861/3555/172 1819/3556/172 -f 1861/3555/172 1824/3441/172 1819/3556/172 -f 1833/3439/172 1829/3557/172 1835/3437/172 -f 1829/3557/172 1830/3558/172 1835/3437/172 -f 1828/3559/172 1825/3440/172 1867/3560/172 -f 1828/3559/172 1867/3560/172 1868/3561/172 -f 1836/3438/172 1862/3554/172 1833/3439/172 -f 1862/3554/172 1819/3556/172 1833/3439/172 -f 1830/3558/172 1828/3559/172 1868/3561/172 -f 1830/3558/172 1868/3561/172 1871/3562/280 -f 1830/3558/172 1871/3562/280 1835/3437/172 -f 1824/3441/172 1861/3555/172 1837/3442/172 -f 1837/3442/172 1867/3560/172 1825/3440/172 -f 1781/3563/1555 1745/3564/1556 1744/3565/1611 -f 1781/3563/1555 1744/3565/1611 1782/3566/1612 -f 1744/3565/1611 1743/3567/1613 1782/3566/1612 -f 1783/3568/170 1782/3566/1612 1743/3567/1613 -f 1785/3569/1614 1784/3570/1615 1743/3567/1613 -f 1784/3570/1615 1783/3568/170 1743/3567/1613 -f 1728/3571/1616 1787/3572/1617 1712/3573/1618 -f 1787/3572/1617 1785/3569/1614 1712/3573/1618 -f 1743/3567/1613 1712/3573/1618 1785/3569/1614 -f 1717/3574/1617 1714/3575/1619 1833/3576/1554 -f 1714/3575/1619 1758/3577/1620 1833/3576/1554 -f 1758/3577/1620 1757/3578/1556 1833/3576/1554 -f 1760/3579/1616 1728/3571/1616 1819/3445/1535 -f 1728/3571/1616 1712/3573/1618 1819/3445/1535 -f 1717/3574/1617 1833/3576/1554 1819/3445/1535 -f 1712/3573/1618 1717/3574/1617 1819/3445/1535 -f 1819/3445/1535 1821/3580/1537 1842/3581/1561 -f 1842/3581/1561 1844/3582/1564 1789/3443/1558 -f 1844/3582/1564 1872/3583/1621 1734/3584/1622 -f 1789/3443/1558 1844/3582/1564 1790/3585/1623 -f 1872/3583/1621 1834/3586/1557 1791/3587/1624 -f 1834/3586/1557 1795/3588/1555 1794/3589/1625 -f 1794/3589/1626 1792/3590/1626 1791/3587/1626 -f 1834/3586/1557 1794/3589/1625 1791/3587/1624 -f 1819/3445/1535 1842/3581/1561 1789/3443/1558 -f 1763/3591/1627 1761/3592/1628 1815/3593/1629 -f 1761/3592/1628 1762/3594/1630 1817/3595/1631 -f 1815/3593/1629 1761/3592/1628 1817/3595/1631 -f 1766/3596/170 1765/3597/1632 1812/3598/170 -f 1765/3597/1632 1763/3591/1627 1813/3599/1632 -f 1766/3596/170 1812/3598/170 1811/3600/1556 -f 1811/3600/1556 1767/3601/168 1766/3596/170 -f 1813/3599/1632 1812/3598/170 1765/3597/1632 -f 1815/3593/1629 1814/3602/1633 1763/3591/1627 -f 1814/3602/1633 1813/3599/1632 1763/3591/1627 -f 1739/3444/1559 1817/3595/1631 1760/3579/1616 -f 1760/3579/1616 1817/3595/1631 1762/3594/1630 -f 1791/3587/1624 1734/3584/1622 1872/3583/1621 -f 1734/3584/1622 1790/3585/1623 1844/3582/1564 -f 1739/3444/1559 1760/3579/1616 1819/3445/1535 -f 1840/3448/175 1841/3603/175 1843/3604/175 -f 1843/3604/175 1859/3605/175 1840/3448/175 -f 1859/3605/175 1858/3606/175 1840/3448/175 -f 1858/3606/175 1857/3607/175 1838/3446/175 -f 1857/3607/175 1856/3608/175 1838/3446/175 -f 1856/3608/175 1855/3609/175 1838/3446/175 -f 1838/3446/175 1853/3610/175 1839/3447/175 -f 1853/3610/175 1852/3611/175 1839/3447/175 -f 1852/3611/175 1850/3612/175 1839/3447/175 -f 1839/3447/175 1847/3459/175 1846/3457/175 -f 1846/3457/175 1845/3613/175 1839/3447/175 -f 1845/3613/175 1840/3448/175 1839/3447/175 -f 1840/3448/175 1858/3606/175 1838/3446/175 -f 1841/3449/1560 1844/3453/1564 1842/3450/1561 -f 1840/3452/1563 1872/3614/1621 1844/3453/1564 -f 1834/3454/1557 1872/3614/1621 1840/3452/1563 -f 1832/3456/1553 1834/3454/1557 1845/3455/1565 -f 1831/3458/1552 1832/3456/1553 1846/3457/1566 -f 1848/3460/1568 1831/3458/1552 1847/3459/1567 -f 1849/3462/1570 1848/3460/1568 1839/3461/1569 -f 1851/3464/1572 1849/3462/1570 1850/3463/1571 -f 1826/3466/1542 1851/3464/1572 1852/3465/1573 -f 1827/3468/1543 1826/3466/1542 1853/3467/1574 -f 1854/3470/1576 1827/3468/1543 1838/3469/1575 -f 1822/3472/1538 1854/3470/1576 1855/3471/1577 -f 1857/3474/1579 1823/3476/1539 1822/3472/1538 -f 1858/3475/1580 1820/3615/1536 1823/3476/1539 -f 1821/3477/1537 1820/3615/1536 1858/3475/1580 -f 1842/3450/1561 1821/3477/1537 1859/3478/1581 -f 1860/3479/234 1864/3616/157 1861/3480/157 -f 1863/3482/164 1837/3486/164 1861/3483/157 -f 1865/3485/170 1867/3617/170 1837/3486/164 -f 1866/3487/242 1868/3490/242 1867/3488/170 -f 1725/3618/1583 1752/3619/1583 1719/3620/1582 -f 1721/3621/1582 1759/3622/1583 1871/3623/1583 -f 1726/3624/1582 1725/3618/1583 1719/3620/1582 -f 1721/3621/1582 1871/3623/1583 1868/3490/242 -f 1731/3492/1582 1726/3624/1582 1868/3490/242 -f 1726/3624/1582 1719/3620/1582 1868/3490/242 -f 1719/3620/1582 1721/3621/1582 1868/3490/242 -f 1868/3490/242 1866/3487/242 1741/3625/1582 -f 1866/3487/242 1869/3626/1583 1741/3625/1582 -f 1869/3626/1583 1802/3627/1583 1741/3625/1582 -f 1737/3491/1582 1736/3628/1583 1722/3629/1583 -f 1737/3491/1582 1722/3629/1583 1731/3492/1582 -f 1868/3490/242 1741/3625/1582 1737/3491/1582 -f 1869/3493/1583 1870/3505/241 1793/3494/241 -f 1723/3496/241 1722/3630/1583 1736/3497/1583 -f 1746/3499/241 1752/3631/1583 1725/3500/1583 -f 1835/3502/241 1871/3632/1583 1759/3503/1583 -f 1870/3505/241 1873/3633/1584 1735/3506/1584 -f 1764/3507/1584 1723/3496/241 1807/3498/241 -f 1713/3509/1584 1746/3499/241 1777/3501/241 -f 1836/3511/1584 1835/3502/241 1716/3504/241 -f 1733/3634/1585 1735/3635/1584 1873/3636/1584 -f 1873/3636/1584 1860/3479/234 1733/3634/1585 -f 1860/3479/234 1862/3481/234 1733/3634/1585 -f 1862/3481/234 1836/3637/1584 1718/3638/1585 -f 1836/3637/1584 1715/3639/1584 1718/3638/1585 -f 1764/3640/1584 1816/3641/1584 1740/3514/1585 -f 1740/3514/1585 1733/3634/1585 1862/3481/234 -f 1862/3481/234 1718/3638/1585 1711/3642/1585 -f 1711/3642/1585 1713/3643/1584 1730/3644/1585 -f 1713/3643/1584 1786/3645/1584 1730/3644/1585 -f 1729/3513/1585 1764/3640/1584 1740/3514/1585 -f 1711/3642/1585 1730/3644/1585 1862/3481/234 -f 1730/3644/1585 1729/3513/1585 1862/3481/234 -f 1866/3517/172 1865/3646/172 1863/3647/172 -f 1863/3647/172 1864/3648/172 1860/3515/172 -f 1860/3515/172 1873/3649/172 1870/3516/172 -f 1870/3516/172 1869/3650/172 1866/3517/172 -f 1866/3517/172 1863/3647/172 1860/3515/172 diff --git a/src/main/resources/assets/hbm/models/weapons/remington.obj b/src/main/resources/assets/hbm/models/weapons/remington.obj deleted file mode 100644 index 6a4a0996a..000000000 --- a/src/main/resources/assets/hbm/models/weapons/remington.obj +++ /dev/null @@ -1,1397 +0,0 @@ -# Blender v2.79 (sub 0) OBJ File: 'remington.blend' -# www.blender.org -o Pump -v 4.470348 4.051385 0.238853 -v 4.464032 4.375494 0.170446 -v 4.517191 4.375128 0.170446 -v 4.516782 4.097449 0.238853 -v 2.114282 4.046224 0.238853 -v 2.115330 4.391657 0.170446 -v 1.935458 3.997166 0.238853 -v 1.938089 4.280882 0.170446 -v 1.743975 3.978176 0.238853 -v 1.754518 4.246067 0.170446 -v 1.292959 3.962351 0.238853 -v 1.298755 4.214417 0.170446 -v 4.470348 4.051385 -0.248818 -v 4.516782 4.097449 -0.248818 -v 4.517191 4.375128 -0.180411 -v 4.464032 4.375494 -0.180411 -v 2.114282 4.046224 -0.248818 -v 2.115330 4.391657 -0.180411 -v 1.938089 4.280882 -0.180411 -v 1.935458 3.997166 -0.248818 -v 1.754518 4.246067 -0.180411 -v 1.743975 3.978176 -0.248818 -v 1.298755 4.214416 -0.180411 -v 1.292959 3.962351 -0.248818 -v 2.113234 3.792164 0.170446 -v 4.476664 3.818649 0.170446 -v 4.476664 3.818649 -0.180410 -v 2.113234 3.792164 -0.180410 -v 4.516372 3.911143 0.170446 -v 4.516372 3.911143 -0.180410 -v 1.932828 3.804824 0.170446 -v 1.932828 3.804824 -0.180410 -v 1.733431 3.801659 0.170446 -v 1.733431 3.801659 -0.180410 -v 1.287163 3.801659 0.170446 -v 1.287163 3.801659 -0.180410 -vt 0.864829 0.032779 -vt 0.823320 0.058384 -vt 0.817558 0.031254 -vt 0.815862 0.381968 -vt 0.858642 0.397274 -vt 0.823150 0.398077 -vt 0.857696 0.355504 -vt 0.822205 0.356307 -vt 0.858781 0.014506 -vt 0.824771 0.013409 -vt 0.857330 0.059481 -vt 0.865193 0.380852 -vt 0.796575 0.058190 -vt 0.823225 0.063426 -vt 0.792403 0.062566 -vt 0.793538 0.277032 -vt 0.824707 0.270438 -vt 0.821187 0.290152 -vt 0.791601 0.294748 -vt 0.820728 0.309376 -vt 0.792296 0.314027 -vt 0.795819 0.359768 -vt 0.856967 0.064571 -vt 0.884708 0.062410 -vt 0.888162 0.067556 -vt 0.883401 0.276703 -vt 0.856989 0.289393 -vt 0.853394 0.271357 -vt 0.885748 0.293777 -vt 0.857549 0.308583 -vt 0.885593 0.312538 -vt 0.907260 0.278504 -vt 0.940020 0.062713 -vt 0.940017 0.280374 -vt 0.909753 0.072431 -vt 0.935924 0.052137 -vt 0.905408 0.295551 -vt 0.939146 0.297544 -vt 0.904106 0.314997 -vt 0.938208 0.316923 -vt 0.901397 0.359208 -vt 0.936004 0.360941 -vt 0.884004 0.357643 -vt 0.904099 0.065820 -vt 0.773406 0.317183 -vt 0.778246 0.362247 -vt 0.771554 0.297195 -vt 0.768662 0.279468 -vt 0.778275 0.057591 -vt 0.770061 0.061917 -vn 1.0000 -0.0015 0.0000 -vn -0.9994 0.0360 0.0000 -vn -0.9997 0.0230 0.0000 -vn 1.0000 -0.0022 0.0000 -vn -0.0495 0.0646 0.9967 -vn -0.0019 0.7811 0.6244 -vn 0.1091 -0.1147 0.9874 -vn -0.0095 -0.0064 0.9999 -vn -0.2170 0.7834 0.5825 -vn -0.2719 0.7024 0.6578 -vn -0.0040 -0.0512 0.9987 -vn -0.0978 0.7738 0.6258 -vn -0.0011 -0.0608 0.9982 -vn -0.0502 0.7782 0.6260 -vn -0.0029 -0.0777 0.9970 -vn -0.0019 0.7811 -0.6244 -vn -0.0495 0.0646 -0.9967 -vn 0.1091 -0.1147 -0.9874 -vn -0.0095 -0.0064 -0.9999 -vn -0.2719 0.7024 -0.6578 -vn -0.2170 0.7834 -0.5825 -vn -0.0040 -0.0512 -0.9987 -vn -0.0978 0.7738 -0.6258 -vn -0.0011 -0.0608 -0.9982 -vn -0.0502 0.7782 -0.6260 -vn -0.0123 -0.8056 -0.5923 -vn 0.4607 -0.7282 0.5074 -vn -0.0123 -0.8056 0.5923 -vn 0.4607 -0.7282 -0.5074 -vn 0.7415 -0.3337 0.5821 -vn -0.0176 -0.8135 -0.5812 -vn -0.0176 -0.8135 0.5812 -vn 0.0054 0.7863 -0.6178 -vn 0.0054 0.7863 0.6178 -vn 0.0095 -0.8271 -0.5619 -vn 0.0095 -0.8271 0.5619 -vn 0.0000 -0.8380 -0.5456 -vn 0.0000 -0.8380 0.5456 -vn -0.0029 -0.0777 -0.9970 -vn 0.7415 -0.3337 -0.5821 -s off -f 14/1/1 3/2/1 4/3/1 -f 11/4/2 36/5/2 35/6/2 -f 23/7/3 11/4/3 12/8/3 -f 30/9/4 4/3/4 29/10/4 -f 14/1/1 15/11/1 3/2/1 -f 11/4/2 24/12/2 36/5/2 -f 23/7/3 24/12/3 11/4/3 -f 30/9/4 14/1/4 4/3/4 -s 1 -f 4/13/5 2/14/6 1/15/7 -f 5/16/8 2/14/6 6/17/9 -f 5/16/8 8/18/10 7/19/11 -f 7/19/11 10/20/12 9/21/13 -f 9/21/13 12/8/14 11/22/15 -f 16/23/16 14/24/17 13/25/18 -f 17/26/19 16/23/16 13/25/18 -f 17/26/19 19/27/20 18/28/21 -f 20/29/22 21/30/23 19/27/20 -f 22/31/24 23/7/25 21/30/23 -f 28/32/26 26/33/27 25/34/28 -f 16/23/16 6/17/9 2/14/6 -f 18/28/21 8/18/10 6/17/9 -f 27/35/29 29/36/30 26/33/27 -f 32/37/31 25/34/28 31/38/32 -f 15/11/33 2/14/6 3/2/34 -f 19/27/20 10/20/12 8/18/10 -f 34/39/35 31/38/32 33/40/36 -f 21/30/23 12/8/14 10/20/12 -f 36/41/37 33/40/36 35/42/38 -f 34/39/35 24/43/39 22/31/24 -f 32/37/31 22/31/24 20/29/22 -f 28/32/26 20/29/22 17/26/19 -f 28/32/26 13/25/18 27/35/29 -f 13/25/18 30/44/40 27/35/29 -f 33/45/36 11/22/15 35/46/38 -f 31/47/32 9/21/13 33/45/36 -f 25/48/28 7/19/11 31/47/32 -f 25/48/28 1/15/7 5/16/8 -f 29/49/30 1/15/7 26/50/27 -f 4/13/5 3/2/34 2/14/6 -f 5/16/8 1/15/7 2/14/6 -f 5/16/8 6/17/9 8/18/10 -f 7/19/11 8/18/10 10/20/12 -f 9/21/13 10/20/12 12/8/14 -f 16/23/16 15/11/33 14/24/17 -f 17/26/19 18/28/21 16/23/16 -f 17/26/19 20/29/22 19/27/20 -f 20/29/22 22/31/24 21/30/23 -f 22/31/24 24/43/39 23/7/25 -f 28/32/26 27/35/29 26/33/27 -f 16/23/16 18/28/21 6/17/9 -f 18/28/21 19/27/20 8/18/10 -f 27/35/29 30/44/40 29/36/30 -f 32/37/31 28/32/26 25/34/28 -f 15/11/33 16/23/16 2/14/6 -f 19/27/20 21/30/23 10/20/12 -f 34/39/35 32/37/31 31/38/32 -f 21/30/23 23/7/25 12/8/14 -f 36/41/37 34/39/35 33/40/36 -f 34/39/35 36/41/37 24/43/39 -f 32/37/31 34/39/35 22/31/24 -f 28/32/26 32/37/31 20/29/22 -f 28/32/26 17/26/19 13/25/18 -f 13/25/18 14/24/17 30/44/40 -f 33/45/36 9/21/13 11/22/15 -f 31/47/32 7/19/11 9/21/13 -f 25/48/28 5/16/8 7/19/11 -f 25/48/28 26/50/27 1/15/7 -f 29/49/30 4/13/5 1/15/7 -o Gun -v -5.112951 4.013554 -0.065163 -v -5.105778 3.902181 -0.180411 -v -5.105778 3.902181 0.170446 -v -5.112951 4.013554 0.055197 -v 0.602908 3.893884 0.084710 -v 0.602236 4.009133 0.200229 -v 0.599076 4.551005 0.200230 -v 0.598345 4.676232 0.084971 -v 0.598345 4.676232 -0.094936 -v 0.599076 4.551005 -0.210195 -v 0.602236 4.009133 -0.210195 -v 0.602908 3.893884 -0.094675 -v -1.666145 4.663572 0.054192 -v -1.857614 4.621053 0.055192 -v -1.857614 4.621053 -0.065157 -v -1.666145 4.663572 -0.064157 -v -2.478364 3.807992 0.054210 -v -2.213445 3.836719 0.041686 -v -2.213445 3.836719 -0.051651 -v -2.478364 3.807992 -0.064175 -v -2.906781 3.570996 0.054613 -v -2.665227 3.748743 0.054442 -v -2.665227 3.748743 -0.064407 -v -2.906781 3.570996 -0.064578 -v -3.143145 4.117467 0.055195 -v -3.193279 4.111999 0.055196 -v -3.193279 4.111999 -0.065161 -v -3.143145 4.117467 -0.065161 -v -3.160185 3.084241 0.054826 -v -3.033484 3.404187 0.054738 -v -3.033484 3.404187 -0.064703 -v -3.160185 3.084241 -0.064791 -v -6.301458 3.916862 0.055197 -v -6.301458 3.916862 -0.065163 -v -3.924444 4.110246 0.055196 -v -3.924444 4.110246 -0.065161 -v -5.033370 2.777969 0.054928 -v -3.810306 3.255416 0.054917 -v -3.810306 3.255416 -0.064883 -v -5.033370 2.777969 -0.065163 -v -6.545590 2.203708 0.055197 -v -6.141582 2.333336 0.055197 -v -6.141582 2.333336 -0.065163 -v -6.545590 2.203708 -0.065163 -v -3.477396 3.188155 0.054884 -v -3.477396 3.188155 -0.064849 -v -6.950308 2.039633 0.055197 -v -6.843499 2.082934 0.055197 -v -6.843499 2.082934 -0.065163 -v -6.950308 2.039633 -0.065163 -v -1.514214 4.676232 0.054190 -v -1.514214 4.676232 -0.064155 -v -2.438198 3.938664 0.170446 -v -2.678900 3.863265 0.170446 -v -2.715178 4.167140 0.170446 -v -2.308827 4.359546 0.170446 -v -0.826960 3.892838 0.109936 -v -0.811455 3.840602 0.089794 -v -0.933279 3.774469 0.065189 -v -1.393356 3.767455 0.065189 -v -1.519956 3.881396 0.109936 -v -0.711728 3.894740 -0.005583 -v -0.711728 3.894740 -0.004382 -v -0.811455 3.840602 -0.099759 -v -0.933279 3.774469 -0.075154 -v -1.186481 3.660529 0.065189 -v -1.339550 3.666174 0.065189 -v -1.382712 3.511773 0.065189 -v -1.437666 3.539574 0.065189 -v -1.696049 3.426317 0.065189 -v -1.694033 3.479438 0.065189 -v -1.974571 3.467462 0.065189 -v -1.959894 3.517418 0.065189 -v -2.091677 3.552918 0.065189 -v -1.994710 3.593379 0.065189 -v -2.132822 3.625713 0.065189 -v -1.975719 3.710485 0.065189 -v -2.145482 3.761809 0.065189 -v -1.947234 3.808600 0.065189 -v -1.733595 3.844998 0.065189 -v -1.841206 3.740552 0.065189 -v -1.899759 3.745300 0.065189 -v -1.834876 3.658262 0.065189 -v -1.868109 3.647184 0.065189 -v -1.812721 3.572806 0.065189 -v -1.833293 3.545904 0.065189 -v 0.598663 4.464297 -0.179291 -v 7.053775 4.464296 -0.179291 -v 7.053775 4.337518 -0.126778 -v 0.598663 4.337519 -0.126778 -v 7.053775 4.285005 0.000000 -v 0.598663 4.285006 0.000000 -v 7.053775 4.337518 0.126778 -v 0.598663 4.337519 0.126778 -v 7.053775 4.464296 0.179291 -v 0.598663 4.464297 0.179291 -v 7.053775 4.591074 0.126778 -v 0.598663 4.591074 0.126778 -v 7.053775 4.643588 0.000000 -v 0.598663 4.643588 0.000000 -v 7.053775 4.591074 -0.126778 -v 0.598663 4.591074 -0.126778 -v 0.598663 4.231049 -0.126778 -v 4.738556 4.231049 -0.126778 -v 4.738556 4.104270 -0.179291 -v 0.598663 4.104271 -0.179291 -v 0.598663 3.924980 0.000000 -v 4.738556 3.924979 0.000000 -v 4.738556 3.977493 0.126778 -v 0.598663 3.977493 0.126778 -v 4.738556 4.104270 0.179291 -v 0.598663 4.104271 0.179291 -v 4.738556 4.231049 0.126778 -v 0.598663 4.231049 0.126778 -v 4.738556 4.283562 0.000000 -v 0.598663 4.283562 0.000000 -v 4.738556 3.977493 -0.126778 -v 0.598663 3.977493 -0.126778 -v -2.145515 3.761845 -0.075167 -v -2.100131 3.849006 -0.090017 -v -1.519956 3.881396 -0.119901 -v -1.515127 4.549832 -0.169949 -v -1.737748 4.529163 -0.169593 -v -2.154962 3.965629 -0.115909 -v -1.918767 4.486259 -0.167145 -v -2.308827 4.359546 -0.180411 -v -2.438198 3.938664 -0.180411 -v -2.678900 3.863265 -0.180411 -v -2.715178 4.167140 -0.180411 -v -3.057939 4.018990 -0.180411 -v -2.940559 3.671105 -0.180411 -v -3.126581 4.009727 -0.180411 -v -3.051667 3.522461 -0.180411 -v -3.480488 3.321639 -0.180411 -v -3.496978 4.033666 -0.180411 -v -3.909676 3.999638 -0.180411 -v -3.828276 3.390000 -0.180411 -v -3.189723 4.001576 -0.180411 -v -3.164598 3.221291 -0.180411 -v -5.042223 2.915424 -0.180411 -v -6.857377 2.201114 -0.180411 -v -7.035906 3.721401 -0.180411 -v -7.105495 3.463608 -0.180411 -v -6.963232 2.158221 -0.180411 -v -6.289105 3.794504 -0.180411 -v -6.153575 2.452128 -0.180411 -v -6.558358 2.322273 -0.180411 -v -6.713084 3.759094 -0.180411 -v -0.826960 3.892838 -0.119901 -v -0.685173 4.009406 -0.133150 -v -0.559645 4.551436 -0.195776 -v -1.393356 3.767455 -0.075154 -v -1.947234 3.808600 -0.075154 -v -1.733595 3.844998 -0.075154 -v -1.339550 3.666174 -0.075154 -v -1.186481 3.660529 -0.075154 -v -1.437666 3.539574 -0.075154 -v -1.382712 3.511773 -0.075154 -v -1.694033 3.479438 -0.075154 -v -1.696049 3.426317 -0.075154 -v -1.959894 3.517418 -0.075154 -v -1.974571 3.467462 -0.075154 -v -1.994710 3.593379 -0.075154 -v -2.091677 3.552918 -0.075154 -v -1.975719 3.710485 -0.075154 -v -2.132822 3.625713 -0.075154 -v -1.899759 3.745300 -0.075154 -v -1.841206 3.740552 -0.075154 -v -1.868109 3.647184 -0.075154 -v -1.834876 3.658262 -0.075154 -v -1.833293 3.545904 -0.075154 -v -1.812721 3.572806 -0.075154 -v -6.857377 2.201114 0.170445 -v -6.963232 2.158221 0.170445 -v -7.105495 3.463608 0.170445 -v -7.035906 3.721401 0.170446 -v -7.050545 3.846062 0.055197 -v -7.120131 3.597898 0.055197 -v -7.120131 3.597898 -0.065163 -v -7.050545 3.846062 -0.065163 -v -1.515127 4.549832 0.159984 -v -0.559645 4.551436 0.185811 -v -0.685173 4.009405 0.123185 -v -6.153575 2.452128 0.170445 -v -6.558358 2.322273 0.170445 -v -6.713084 3.759094 0.170446 -v -6.289105 3.794504 0.170446 -v -5.041132 2.910362 0.170445 -v -2.100131 3.849006 0.080052 -v -1.737748 4.529163 0.159628 -v -3.828276 3.390000 0.170445 -v -3.909676 3.999638 0.170446 -v -2.154962 3.965629 0.105944 -v -1.918767 4.486259 0.157180 -v -0.530743 4.676232 0.084970 -v -0.530743 4.676232 -0.094935 -v -2.940559 3.671105 0.170446 -v -3.057939 4.018990 0.170446 -v -6.726351 3.882294 0.055197 -v -6.726351 3.882294 -0.065163 -v -2.268081 4.492105 0.055193 -v -2.268081 4.492105 -0.065158 -v -2.728401 4.277896 0.055194 -v -2.728401 4.277896 -0.065159 -v -3.051667 3.522461 0.170445 -v -3.126581 4.009727 0.170446 -v -3.093011 4.122937 0.055195 -v -3.093011 4.122937 -0.065160 -v -3.499552 4.144814 0.055196 -v -3.499552 4.144814 -0.065161 -v -3.480488 3.321639 0.170445 -v -3.496978 4.033666 0.170446 -v -3.164598 3.221291 0.170445 -v -3.189723 4.001576 0.170446 -v -0.452439 4.315853 0.162668 -v 0.430686 4.315853 0.191772 -v -0.452439 4.519165 0.186038 -v 0.430686 4.519165 0.198078 -vt 0.810585 0.462900 -vt 0.810585 0.567026 -vt 0.731720 0.462900 -vt 0.917774 0.422399 -vt 0.968228 0.472853 -vt 0.917774 0.523308 -vt 0.459182 0.923197 -vt 0.479882 0.923197 -vt 0.479881 0.943896 -vt 0.891510 0.620277 -vt 0.896272 0.640007 -vt 0.891510 0.640007 -vt 0.703125 0.921875 -vt 0.523438 0.960938 -vt 0.523438 0.921875 -vt 0.788387 0.589172 -vt 0.753918 0.589172 -vt 0.731720 0.567026 -vt 0.753867 0.438837 -vt 0.788437 0.438837 -vt 0.867320 0.472853 -vt 0.882097 0.437177 -vt 0.953450 0.437177 -vt 0.953450 0.508530 -vt 0.882097 0.508530 -vt 0.459182 0.943896 -vt 0.454895 0.933547 -vt 0.469532 0.918910 -vt 0.484169 0.933547 -vt 0.469532 0.948183 -vt 0.896272 0.620277 -vt 0.703125 0.960938 -vt 0.265217 0.603645 -vt 0.227917 0.624794 -vt 0.265076 0.625865 -vt 0.062957 0.466013 -vt 0.109501 0.425991 -vt 0.056471 0.442087 -vt 0.658552 0.151318 -vt 0.707840 0.161074 -vt 0.669941 0.136406 -vt 0.629331 0.281703 -vt 0.620680 0.262350 -vt 0.621490 0.281989 -vt 0.602836 0.100498 -vt 0.645468 0.115288 -vt 0.607139 0.085117 -vt 0.633240 0.129305 -vt 0.308914 0.288450 -vt 0.119382 0.326891 -vt 0.310691 0.307902 -vt 0.503112 0.272396 -vt 0.504518 0.291958 -vt 0.286925 0.055937 -vt 0.504299 0.110636 -vt 0.504983 0.090153 -vt 0.030596 0.030829 -vt 0.100246 0.021875 -vt 0.033433 0.011876 -vt 0.560482 0.103717 -vt 0.559295 0.086301 -vt 0.909966 0.772776 -vt 0.895143 0.761855 -vt 0.907688 0.759674 -vt 0.897484 0.774987 -vt 0.859844 0.768146 -vt 0.293603 0.603181 -vt 0.294138 0.625696 -vt 0.090847 0.510531 -vt 0.046548 0.563242 -vt 0.042879 0.504327 -vt 0.386403 0.434406 -vt 0.412361 0.457082 -vt 0.294234 0.444144 -vt 0.295057 0.700286 -vt 0.316422 0.674877 -vt 0.316414 0.704083 -vt 0.333051 0.417789 -vt 0.302618 0.422567 -vt 0.290402 0.392766 -vt 0.280079 0.399575 -vt 0.225893 0.382844 -vt 0.175132 0.407271 -vt 0.170951 0.397657 -vt 0.149810 0.417672 -vt 0.170146 0.423220 -vt 0.143502 0.433240 -vt 0.176883 0.445919 -vt 0.144614 0.460700 -vt 0.850837 0.680302 -vt 0.860705 0.665594 -vt 0.880427 0.673045 -vt 0.852012 0.655056 -vt 0.856918 0.654626 -vt 0.854995 0.642365 -vt 0.727911 0.837417 -vt 0.022087 0.852422 -vt 0.022087 0.837415 -vt 0.727911 0.852422 -vt 0.022087 0.867430 -vt 0.727913 0.747390 -vt 0.022089 0.762379 -vt 0.022089 0.747371 -vt 0.727912 0.762395 -vt 0.022088 0.777386 -vt 0.727912 0.777399 -vt 0.022088 0.792393 -vt 0.727912 0.792404 -vt 0.022088 0.807400 -vt 0.727911 0.807408 -vt 0.022088 0.822408 -vt 0.727911 0.822413 -vt 0.474785 0.942561 -vt 0.022088 0.957569 -vt 0.022088 0.942564 -vt 0.474785 0.867534 -vt 0.022088 0.882546 -vt 0.022087 0.867541 -vt 0.474785 0.882540 -vt 0.022088 0.897550 -vt 0.474785 0.897545 -vt 0.022088 0.912555 -vt 0.474785 0.912551 -vt 0.022088 0.927559 -vt 0.474785 0.927556 -vt 0.474785 0.957567 -vt 0.022088 0.972573 -vt 0.474786 0.972572 -vt 0.022088 0.987578 -vt 0.141775 0.430009 -vt 0.122000 0.408061 -vt 0.248277 0.573554 -vt 0.271138 0.443328 -vt 0.151148 0.447865 -vt 0.143827 0.475073 -vt 0.135316 0.565877 -vt 0.212560 0.572296 -vt 0.694597 0.199946 -vt 0.640565 0.235479 -vt 0.699482 0.245226 -vt 0.649731 0.175629 -vt 0.629334 0.235727 -vt 0.503237 0.141466 -vt 0.568999 0.243384 -vt 0.559631 0.130404 -vt 0.627151 0.155114 -vt 0.619063 0.235893 -vt 0.601524 0.119228 -vt 0.306201 0.262489 -vt 0.502376 0.246265 -vt 0.897420 0.793191 -vt 0.895298 0.927965 -vt 0.882382 0.950618 -vt 0.285598 0.103345 -vt 0.115128 0.280588 -vt 0.861789 0.799940 -vt 0.850682 0.955557 -vt 0.290740 0.571758 -vt 0.445893 0.447827 -vt 0.412664 0.427645 -vt 0.097500 0.066951 -vt 0.047160 0.287302 -vt 0.082675 0.495928 -vt 0.050147 0.558151 -vt 0.294505 0.415662 -vt 0.225672 0.436728 -vt 0.182426 0.435035 -vt 0.333623 0.388990 -vt 0.386762 0.405287 -vt 0.290803 0.363616 -vt 0.303025 0.393785 -vt 0.225553 0.352973 -vt 0.280317 0.370421 -vt 0.173771 0.376849 -vt 0.227081 0.363707 -vt 0.147974 0.386830 -vt 0.169746 0.367041 -vt 0.141286 0.402377 -vt 0.168368 0.392882 -vt 0.174660 0.416001 -vt 0.907629 0.653134 -vt 0.919563 0.640046 -vt 0.919563 0.670514 -vt 0.895324 0.647201 -vt 0.909669 0.645131 -vt 0.883708 0.653121 -vt 0.896075 0.652068 -vt 0.499507 0.703859 -vt 0.476989 0.684128 -vt 0.499507 0.684128 -vt 0.815297 0.780573 -vt 0.807303 0.914495 -vt 0.803560 0.777502 -vt 0.876454 0.620277 -vt 0.876454 0.640007 -vt 0.214339 0.678639 -vt 0.252275 0.700274 -vt 0.214333 0.700264 -vt 0.884379 0.964703 -vt 0.909966 0.956254 -vt 0.890143 0.974636 -vt 0.908683 0.640007 -vt 0.445680 0.477727 -vt 0.475655 0.589140 -vt 0.286353 0.602104 -vt 0.476989 0.703859 -vt 0.439969 0.684128 -vt 0.164295 0.678625 -vt 0.164289 0.700250 -vt 0.101585 0.084926 -vt 0.050621 0.307480 -vt 0.033882 0.075621 -vt 0.439969 0.703859 -vt 0.402213 0.684128 -vt 0.120913 0.678613 -vt 0.120907 0.700238 -vt 0.708036 0.482915 -vt 0.475645 0.589132 -vt 0.291238 0.124486 -vt 0.118928 0.300851 -vt 0.271116 0.471283 -vt 0.243054 0.602496 -vt 0.155545 0.477278 -vt 0.402213 0.703859 -vt 0.390466 0.684128 -vt 0.500926 0.164420 -vt 0.309814 0.283356 -vt 0.147680 0.502653 -vt 0.129911 0.584896 -vt 0.098575 0.678607 -vt 0.098569 0.700232 -vt 0.097152 0.040725 -vt 0.207386 0.598906 -vt 0.933875 0.960964 -vt 0.933875 0.773016 -vt 0.984094 0.960964 -vt 0.704517 0.588195 -vt 0.483981 0.624209 -vt 0.704653 0.623356 -vt 0.390466 0.703859 -vt 0.373787 0.684128 -vt 0.085691 0.678604 -vt 0.085685 0.700228 -vt 0.694311 0.214929 -vt 0.639302 0.249556 -vt 0.649024 0.190576 -vt 0.227005 0.465484 -vt 0.117466 0.307614 -vt 0.051220 0.333640 -vt 0.228956 0.602159 -vt 0.147373 0.619440 -vt 0.373787 0.703859 -vt 0.359424 0.684128 -vt 0.024062 0.473973 -vt 0.018614 0.451028 -vt 0.054106 0.588288 -vt 0.052076 0.611133 -vt 0.064624 0.700223 -vt 0.855397 0.973903 -vt 0.859323 0.985274 -vt 0.476566 0.557773 -vt 0.704652 0.449581 -vt 0.628182 0.249803 -vt 0.627142 0.169560 -vt 0.849691 0.789654 -vt 0.818207 0.938125 -vt 0.701244 0.269589 -vt 0.637111 0.281729 -vt 0.699202 0.288452 -vt 0.570043 0.703859 -vt 0.539575 0.677838 -vt 0.570043 0.684128 -vt 0.539575 0.710150 -vt 0.515630 0.684128 -vt 0.570783 0.268520 -vt 0.572559 0.287373 -vt 0.850837 0.620277 -vt 0.861960 0.640007 -vt 0.850837 0.640007 -vt 0.483190 0.589185 -vt 0.637577 0.262089 -vt 0.920286 0.620277 -vt 0.941368 0.640007 -vt 0.920286 0.640007 -vt 0.515630 0.703859 -vt 0.569403 0.260726 -vt 0.556346 0.147731 -vt 0.861960 0.620277 -vt 0.252281 0.678650 -vt 0.617998 0.250101 -vt 0.601853 0.130295 -vt 0.908683 0.620277 -vt 0.442348 0.442476 -vt 0.131775 0.476132 -vt 0.442260 0.412978 -vt 0.121740 0.443383 -vt 0.707582 0.451210 -vt 0.706507 0.589839 -vt 0.482023 0.620911 -vt 0.221637 0.630474 -vt 0.045642 0.594178 -vt 0.080339 0.477749 -vt 0.697412 0.262019 -vt 0.636347 0.274750 -vt 0.697961 0.190099 -vt 0.620447 0.275434 -vt 0.657530 0.167173 -vt 0.553439 0.119252 -vt 0.634596 0.144122 -vt 0.121211 0.327943 -vt 0.312574 0.309128 -vt 0.504549 0.291471 -vt 0.503318 0.265598 -vt 0.500243 0.135119 -vt 0.289904 0.095967 -vt 0.101358 0.058225 -vt 0.052780 0.334691 -vt 0.816460 0.762701 -vt 0.800971 0.932061 -vt 0.850639 0.942092 -vt 0.814503 0.954710 -vt 0.850639 0.771435 -vt 0.259126 0.634289 -vt 0.288602 0.634277 -vt 0.139959 0.617855 -vt 0.703805 0.418329 -vt 0.704542 0.554851 -vt 0.149094 0.596839 -vt 0.033762 0.503191 -vt 0.698403 0.175955 -vt 0.629106 0.262193 -vt 0.283705 0.074790 -vt 0.030597 0.057430 -vt 0.909490 0.790948 -vt 0.900406 0.946851 -vt 0.862199 0.781355 -vt 0.441465 0.408469 -vt 0.702092 0.382759 -vt 0.334395 0.689295 -vt 0.333901 0.689392 -vt 0.413080 0.444871 -vt 0.295063 0.678662 -vt 0.227537 0.393431 -vt 0.184966 0.464482 -vt 0.853419 0.669482 -vt 0.850837 0.640046 -vt 0.727911 0.867426 -vt 0.474786 0.987578 -vt 0.413306 0.415532 -vt 0.880466 0.649634 -vt 0.950371 0.753681 -vt 0.967598 0.753681 -vt 0.984094 0.773016 -vt 0.967598 0.978039 -vt 0.950371 0.978039 -vt 0.049316 0.314394 -vt 0.359424 0.703859 -vt 0.064624 0.678596 -vt 0.941368 0.620277 -vt 0.705958 0.623592 -vt 0.042879 0.472796 -vt 0.697262 0.287188 -vt 0.628409 0.275077 -vt 0.572536 0.286039 -vt 0.603637 0.104124 -vt 0.033645 0.048906 -vt 0.804432 0.759674 -vt 0.848172 0.959565 -vn 1.0000 0.0058 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.7944 -0.6075 0.0000 -vn -0.0327 -0.1141 0.9929 -vn -0.0136 -0.0310 0.9994 -vn -0.1304 0.9023 -0.4109 -vn -0.2342 0.8849 0.4026 -vn -0.1304 0.9023 0.4109 -vn 0.2058 -0.8940 -0.3981 -vn -0.2341 -0.7665 0.5980 -vn 0.2058 -0.8940 0.3981 -vn 0.6693 -0.6596 -0.3420 -vn 0.4302 -0.8198 0.3779 -vn 0.6693 -0.6596 0.3420 -vn -0.1008 0.9237 0.3696 -vn -0.0017 0.9245 -0.3812 -vn -0.0017 0.9245 0.3812 -vn 0.3707 -0.8580 -0.3555 -vn 0.8547 -0.4470 0.2640 -vn 0.3707 -0.8580 0.3555 -vn 0.8547 -0.4470 -0.2640 -vn -0.8323 0.5302 -0.1618 -vn -0.0763 0.9147 0.3969 -vn -0.0701 0.8617 -0.5025 -vn -0.0754 0.9240 -0.3748 -vn -0.0754 0.9240 0.3748 -vn 0.7016 -0.6308 0.3314 -vn 0.0750 -0.8892 -0.4513 -vn 0.0758 -0.8893 0.4510 -vn 0.3158 -0.8664 -0.3869 -vn 0.3122 -0.8703 0.3810 -vn 0.3158 -0.8664 0.3869 -vn -0.2339 -0.8802 -0.4130 -vn -0.2339 -0.8802 0.4130 -vn -0.4413 -0.8413 -0.3122 -vn 0.3473 -0.8566 0.3817 -vn -0.4413 -0.8413 0.3122 -vn 0.3473 -0.8566 -0.3817 -vn -0.0434 0.9086 -0.4154 -vn -0.0434 0.9086 0.4154 -vn 0.1326 -0.3338 0.9333 -vn -0.1617 0.3620 0.9181 -vn 0.1559 -0.3255 0.9326 -vn 0.0048 -0.3123 0.9500 -vn 0.0058 -0.3583 0.9336 -vn 0.0041 -0.2491 0.9685 -vn 0.4458 -0.8951 0.0000 -vn 0.4771 -0.8789 0.0000 -vn 0.0000 -0.0000 1.0000 -vn 0.0152 -0.0645 0.9978 -vn 0.0000 -0.0000 -1.0000 -vn -0.0000 -0.7071 -0.7071 -vn -0.0000 -1.0000 -0.0000 -vn -0.0000 -0.7071 0.7071 -vn 0.0000 0.7071 0.7071 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.7071 -0.7071 -vn -0.6836 -0.4365 -0.5850 -vn -0.6835 -0.4366 0.5850 -vn -0.0709 0.3152 -0.9464 -vn -0.0178 -0.0817 -0.9965 -vn -0.1499 -0.1597 -0.9757 -vn 0.1132 -0.2336 -0.9657 -vn -0.1095 0.3455 -0.9320 -vn -0.0866 0.2995 -0.9502 -vn 0.1559 -0.3255 -0.9326 -vn -0.0987 0.3510 -0.9312 -vn -0.1617 0.3620 -0.9181 -vn 0.2686 -0.2850 -0.9201 -vn -0.0500 0.3921 -0.9186 -vn 0.0271 -0.2871 -0.9575 -vn 0.0057 0.4105 -0.9118 -vn -0.0843 -0.3364 -0.9379 -vn 0.3700 -0.2289 -0.9004 -vn -0.0048 0.3673 -0.9301 -vn 0.3388 -0.4105 -0.8465 -vn 0.5809 0.3581 -0.7310 -vn -0.0319 0.3890 -0.9207 -vn 0.1441 -0.3556 -0.9234 -vn -0.7116 -0.0174 -0.7024 -vn -0.4518 0.3360 -0.8264 -vn -0.2668 -0.0410 -0.9629 -vn -0.0319 0.3655 -0.9303 -vn 0.1259 -0.3517 -0.9276 -vn -0.0358 0.3672 -0.9294 -vn -0.0238 0.3123 -0.9497 -vn 0.0462 -0.3931 -0.9183 -vn 0.3189 -0.2434 -0.9160 -vn 0.1337 -0.3654 -0.9212 -vn 0.1326 -0.3338 -0.9333 -vn 0.0041 -0.2491 -0.9685 -vn 0.0059 -0.3598 -0.9330 -vn 0.0058 -0.3583 -0.9336 -vn 0.0431 -0.2297 -0.9723 -vn 0.0165 -0.7847 -0.6196 -vn 0.0290 -0.1615 -0.9864 -vn 0.0048 -0.3123 -0.9500 -vn 0.0153 -0.0645 -0.9978 -vn -0.9963 0.0854 0.0000 -vn -0.5404 0.8414 0.0000 -vn 0.1441 -0.3556 0.9234 -vn -0.7116 -0.0174 0.7024 -vn -0.5443 -0.4088 0.7326 -vn -0.9487 -0.3161 0.0000 -vn -0.9457 -0.3251 0.0000 -vn 0.4417 -0.8972 0.0000 -vn 0.5105 -0.8599 0.0000 -vn -0.5806 0.7420 -0.3353 -vn -0.9803 0.1251 0.1531 -vn -0.5806 0.7420 0.3353 -vn 0.9680 0.2510 0.0000 -vn 0.9864 0.1645 0.0000 -vn 0.0462 -0.3932 0.9183 -vn -0.0305 0.2919 0.9560 -vn -0.0238 0.3123 0.9497 -vn -0.0442 0.9990 0.0000 -vn 0.0598 -0.9982 0.0000 -vn 0.1337 -0.3655 0.9212 -vn -0.0358 0.3672 0.9294 -vn 0.1259 -0.3517 0.9276 -vn 0.5984 0.8012 0.0000 -vn -0.3788 -0.9255 0.0000 -vn -0.0365 -0.3922 0.9192 -vn -0.2698 -0.0565 0.9612 -vn -0.0319 0.3655 0.9303 -vn -0.0178 -0.0817 0.9965 -vn -0.0709 0.3152 0.9464 -vn -0.1499 -0.1597 0.9757 -vn 0.9910 0.1341 0.0000 -vn 0.0276 -0.2866 0.9576 -vn 0.0096 -0.2507 0.9680 -vn 0.1132 -0.2336 0.9657 -vn -0.1095 0.3455 0.9320 -vn -0.7469 -0.6649 0.0000 -vn 0.3122 -0.8703 -0.3810 -vn -0.0866 0.2995 0.9502 -vn -0.5443 -0.4088 -0.7326 -vn -0.0000 0.9155 -0.4023 -vn -0.0087 0.9019 0.4318 -vn -0.0000 0.9155 0.4023 -vn 0.9755 -0.2199 0.0000 -vn -0.9543 -0.2990 0.0001 -vn -0.9543 -0.2990 0.0000 -vn -0.0987 0.3510 0.9312 -vn 0.2686 -0.2850 0.9201 -vn 0.0165 -0.7847 0.6196 -vn 0.0150 -0.8094 0.5870 -vn 0.0430 -0.2297 0.9723 -vn -0.0763 0.9147 -0.3969 -vn -0.0882 0.9132 0.3979 -vn -0.2342 0.8849 -0.4026 -vn -0.3245 0.8695 0.3725 -vn 0.1795 -0.9838 0.0000 -vn 0.4302 -0.8198 -0.3779 -vn -0.3805 0.8498 -0.3647 -vn -0.3805 0.8498 0.3647 -vn -0.9957 -0.0927 0.0001 -vn -0.0882 0.9132 -0.3979 -vn -0.0305 0.2919 -0.9560 -vn -0.0365 -0.3922 -0.9192 -vn -0.0500 0.3921 0.9186 -vn 0.3700 -0.2289 0.9004 -vn -0.4518 0.3360 0.8264 -vn -0.2336 0.8933 0.3840 -vn 0.1680 -0.9858 0.0000 -vn -0.2691 -0.9631 0.0000 -vn -0.7798 -0.6261 0.0000 -vn 0.0114 0.9303 -0.3667 -vn 0.0114 0.9303 0.3667 -vn -0.8880 -0.4598 0.0000 -vn -0.0087 0.9019 -0.4318 -vn -0.2336 0.8933 -0.3840 -vn 0.9353 -0.3539 0.0000 -vn 0.6965 -0.7176 0.0000 -vn 0.0057 0.4105 0.9118 -vn -0.0843 -0.3364 0.9379 -vn -0.0048 0.3673 0.9301 -vn 0.3388 -0.4105 0.8465 -vn 0.3189 -0.2434 0.9160 -vn 0.2033 0.2380 0.9497 -vn 0.2034 0.2380 -0.9497 -vn -0.2342 -0.7665 -0.5980 -vn -0.0243 -0.9190 0.3936 -vn -0.0072 0.3586 0.9335 -vn -0.0319 0.3890 0.9207 -vn -0.0243 -0.9190 -0.3936 -vn -0.0072 0.3586 -0.9335 -vn -0.3245 0.8695 -0.3725 -vn -0.1008 0.9237 -0.3696 -vn -0.0947 -0.9218 -0.3758 -vn -0.9803 0.1251 -0.1531 -vn 0.7372 -0.4050 0.5409 -vn 0.0059 -0.3582 0.9336 -vn 0.0059 -0.3598 0.9330 -vn 0.0290 -0.1615 0.9864 -vn 0.0059 -0.3582 -0.9336 -vn 0.0150 -0.8094 -0.5870 -vn -0.9957 -0.0928 0.0002 -vn 0.7372 -0.4050 -0.5409 -s off -f 43/51/41 42/52/41 46/53/41 -f 124/54/42 135/55/42 131/56/42 -f 141/57/42 151/58/42 147/59/42 -f 207/60/43 121/61/43 122/62/43 -f 252/63/44 253/64/44 251/65/44 -f 42/52/41 41/66/41 48/67/41 -f 48/67/41 47/68/41 42/52/41 -f 47/68/41 46/53/41 42/52/41 -f 46/53/41 45/69/41 44/70/41 -f 44/70/41 43/51/41 46/53/41 -f 127/71/42 125/72/42 124/54/42 -f 124/54/42 137/73/42 135/55/42 -f 135/55/42 133/74/42 131/56/42 -f 131/56/42 129/75/42 127/71/42 -f 127/71/42 124/54/42 131/56/42 -f 144/76/42 153/77/42 141/57/42 -f 141/57/42 140/78/42 151/58/42 -f 151/58/42 149/79/42 147/59/42 -f 147/59/42 145/80/42 144/76/42 -f 144/76/42 141/57/42 147/59/42 -f 207/60/43 208/81/43 121/61/43 -f 252/63/45 254/82/45 253/64/45 -s 1 -f 52/83/46 50/84/47 49/85/48 -f 56/86/49 54/87/50 53/88/51 -f 60/89/52 58/90/53 57/91/54 -f 61/92/55 63/93/56 62/94/57 -f 68/95/58 66/96/59 65/97/60 -f 67/98/61 57/91/54 66/96/59 -f 37/99/62 69/100/63 40/101/64 -f 72/102/65 40/101/64 71/103/66 -f 73/104/67 75/105/68 74/106/69 -f 80/107/70 78/108/71 77/109/72 -f 74/106/69 82/110/73 81/111/74 -f 86/112/75 84/113/76 83/114/77 -f 85/115/78 77/116/72 84/113/76 -f 88/117/79 49/85/48 87/118/80 -f 89/119/81 91/120/82 90/121/83 -f 95/122/84 93/123/85 96/124/86 -f 95/125/87 100/126/88 94/127/88 -f 96/124/86 102/128/89 95/122/84 -f 103/129/89 104/130/89 102/128/89 -f 105/131/89 106/132/89 104/130/89 -f 106/132/89 109/133/89 108/134/89 -f 109/133/89 110/135/89 108/134/89 -f 111/136/89 112/137/89 110/135/89 -f 113/138/89 114/139/90 112/137/89 -f 115/140/89 117/141/89 116/142/89 -f 117/141/89 120/143/89 119/144/89 -f 120/143/89 121/145/89 119/144/89 -f 124/146/91 126/147/92 123/148/91 -f 125/149/92 128/150/93 126/147/92 -f 127/151/93 130/152/94 128/153/93 -f 129/154/94 132/155/89 130/152/94 -f 131/156/89 134/157/95 132/155/89 -f 133/158/95 136/159/96 134/157/95 -f 135/160/96 138/161/97 136/159/96 -f 137/162/97 123/148/91 138/161/97 -f 140/163/97 142/164/91 139/165/97 -f 144/166/93 146/167/94 143/168/93 -f 145/169/94 148/170/89 146/167/94 -f 147/171/89 150/172/95 148/170/89 -f 149/173/95 152/174/96 150/172/95 -f 151/175/96 139/165/97 152/174/96 -f 141/176/91 154/177/92 142/164/91 -f 153/178/92 143/179/93 154/177/92 -f 54/87/50 155/180/98 114/181/99 -f 159/182/100 157/183/101 156/184/102 -f 160/185/103 162/186/104 161/187/105 -f 164/188/106 166/189/107 165/190/108 -f 167/191/109 168/192/110 166/189/107 -f 173/193/111 171/194/112 170/195/113 -f 169/196/114 174/197/115 168/192/110 -f 170/195/113 174/197/115 175/198/116 -f 173/193/111 38/199/117 172/200/118 -f 177/201/119 179/202/120 178/203/121 -f 176/204/122 181/205/123 38/199/117 -f 183/206/124 178/203/121 184/207/125 -f 158/208/126 186/209/127 185/210/128 -f 182/211/129 184/212/125 181/205/123 -f 156/184/102 161/187/105 159/182/100 -f 163/213/130 165/214/108 162/186/104 -f 188/215/131 157/183/132 185/210/133 -f 156/184/134 190/216/135 189/217/136 -f 192/218/91 188/215/131 101/219/137 -f 194/220/91 191/221/91 192/218/91 -f 196/222/91 193/223/91 194/220/91 -f 196/222/91 197/224/91 195/225/91 -f 200/226/91 197/224/91 198/227/91 -f 202/228/91 199/229/91 200/226/91 -f 155/180/138 201/230/91 202/228/91 -f 204/231/91 189/232/91 190/233/91 -f 204/231/91 205/234/91 203/235/91 -f 208/236/91 205/234/91 206/237/91 -f 191/238/139 105/239/140 103/240/139 -f 209/241/141 211/242/142 210/243/143 -f 82/110/73 65/97/60 81/111/74 -f 205/244/144 122/62/145 120/245/144 -f 194/246/146 102/247/147 104/248/146 -f 216/249/148 214/250/149 213/251/150 -f 208/81/151 119/252/152 121/61/151 -f 219/253/153 218/254/154 217/255/155 -f 193/256/140 107/257/156 105/239/140 -f 196/258/157 104/248/146 106/259/157 -f 220/260/158 222/261/159 221/262/160 -f 195/263/156 109/264/161 107/257/156 -f 198/265/162 106/259/157 108/266/162 -f 42/267/163 218/268/154 219/253/153 -f 224/269/164 223/270/165 220/260/158 -f 97/271/166 226/272/167 225/273/168 -f 197/274/161 111/275/169 109/264/161 -f 227/276/170 39/277/171 224/269/164 -f 229/278/172 92/279/173 89/119/81 -f 200/280/174 108/266/162 110/281/174 -f 79/282/175 73/104/67 78/108/71 -f 225/273/168 230/283/176 229/278/172 -f 210/284/143 211/285/142 180/286/177 -f 45/287/178 231/288/179 44/289/180 -f 199/290/169 113/291/181 111/275/169 -f 202/292/182 110/281/174 112/293/183 -f 90/294/83 234/295/184 233/296/185 -f 116/297/186 97/271/187 225/273/188 -f 70/298/189 235/299/190 69/100/63 -f 51/300/191 237/301/192 50/84/47 -f 201/302/181 115/303/193 113/291/181 -f 59/304/194 53/88/51 58/305/53 -f 237/301/192 240/306/195 239/307/196 -f 114/308/197 202/292/182 112/293/183 -f 236/309/198 213/251/150 235/310/190 -f 187/311/199 47/312/200 186/209/127 -f 233/296/185 242/313/201 241/314/202 -f 221/315/160 212/316/203 209/241/141 -f 240/317/195 243/318/204 239/319/196 -f 190/320/205 97/321/206 116/322/205 -f 157/323/206 96/324/207 97/321/206 -f 246/325/208 71/103/66 245/326/209 -f 63/93/56 245/326/209 62/94/57 -f 189/327/193 118/328/210 115/329/193 -f 232/330/211 87/118/80 231/288/179 -f 244/331/212 61/92/55 243/318/204 -f 204/332/213 116/333/214 117/334/213 -f 188/335/207 103/240/139 96/324/207 -f 248/336/215 227/276/170 247/337/216 -f 203/338/210 120/245/144 118/328/210 -f 192/339/147 95/125/87 102/247/147 -f 241/314/202 250/340/217 249/341/218 -f 206/342/152 117/334/213 119/252/152 -f 250/340/217 247/337/216 249/341/218 -f 93/123/219 98/343/220 219/253/153 -f 54/344/50 225/273/168 229/278/172 -f 99/345/221 185/210/128 186/209/127 -f 156/184/102 55/346/222 160/185/103 -f 219/253/153 41/347/223 42/267/163 -f 43/348/224 231/349/179 218/254/154 -f 226/272/167 50/350/47 230/283/176 -f 92/279/173 239/351/196 91/120/82 -f 90/121/83 53/352/51 89/119/81 -f 91/353/82 243/354/204 234/295/184 -f 233/296/185 58/355/53 90/294/83 -f 242/313/201 62/356/57 250/340/217 -f 241/314/202 57/357/54 233/296/185 -f 62/356/57 248/336/215 250/340/217 -f 81/358/74 249/341/218 247/337/216 -f 243/354/204 242/313/201 234/295/184 -f 249/341/218 66/359/59 241/314/202 -f 69/360/63 39/277/171 40/361/64 -f 71/362/66 39/277/171 228/363/225 -f 74/364/69 224/269/164 73/365/67 -f 220/260/158 73/365/67 224/269/164 -f 221/262/160 78/366/71 220/260/158 -f 222/261/159 69/360/63 235/367/190 -f 248/336/215 71/362/66 228/363/225 -f 247/337/216 74/364/69 81/358/74 -f 210/243/143 84/368/76 209/241/141 -f 212/316/203 214/369/149 211/242/142 -f 222/370/159 213/371/150 212/316/203 -f 77/372/72 209/241/141 84/368/76 -f 49/373/48 217/255/155 87/374/80 -f 237/375/192 230/283/176 50/350/47 -f 218/254/154 87/374/80 217/255/155 -f 89/119/81 54/344/50 229/278/172 -f 186/209/127 48/376/226 99/345/221 -f 46/377/227 232/330/211 45/287/178 -f 159/182/100 51/300/191 52/83/46 -f 162/186/104 240/306/195 238/378/228 -f 164/379/106 56/86/49 59/304/194 -f 165/190/108 244/331/212 240/317/195 -f 167/191/109 59/380/194 60/89/52 -f 168/192/110 63/93/56 64/381/229 -f 169/196/114 60/89/52 67/98/61 -f 63/93/56 171/194/112 246/325/208 -f 82/110/73 175/198/116 68/95/58 -f 244/331/212 168/192/110 64/381/229 -f 175/198/116 67/98/61 68/95/58 -f 70/298/189 38/199/117 181/205/123 -f 72/102/65 38/199/117 37/99/62 -f 75/105/68 176/204/122 173/193/111 -f 182/211/129 76/382/230 79/282/175 -f 183/383/124 79/282/175 80/107/70 -f 184/212/125 70/298/189 181/205/123 -f 171/194/112 72/102/65 246/325/208 -f 170/195/113 75/105/68 173/193/111 -f 180/384/177 85/115/78 86/112/75 -f 178/203/121 215/385/231 216/249/148 -f 184/207/125 216/249/148 236/309/198 -f 80/386/70 177/201/119 183/206/124 -f 52/83/46 158/208/126 159/182/100 -f 238/378/228 161/187/105 162/186/104 -f 187/311/199 88/117/79 232/330/211 -f 163/213/130 55/346/222 56/86/49 -f 98/387/220 48/376/226 41/388/223 -f 94/127/232 99/389/221 98/390/220 -f 52/83/46 51/300/191 50/84/47 -f 56/86/49 55/346/222 54/87/50 -f 60/89/52 59/380/194 58/90/53 -f 61/92/55 64/381/229 63/93/56 -f 68/95/58 67/98/61 66/96/59 -f 67/98/61 60/89/52 57/91/54 -f 37/99/62 70/298/189 69/100/63 -f 72/102/65 37/99/62 40/101/64 -f 73/104/67 76/382/230 75/105/68 -f 80/107/70 79/282/175 78/108/71 -f 74/106/69 75/105/68 82/110/73 -f 86/112/75 85/115/78 84/113/76 -f 85/115/78 80/386/70 77/116/72 -f 88/117/79 52/83/46 49/85/48 -f 89/119/81 92/279/173 91/120/82 -f 94/391/233 93/123/85 95/122/84 -f 93/123/85 97/271/234 96/124/86 -f 95/125/87 101/392/87 100/126/88 -f 96/124/86 103/129/89 102/128/89 -f 103/129/89 105/131/89 104/130/89 -f 105/131/89 107/393/89 106/132/89 -f 106/132/89 107/393/89 109/133/89 -f 109/133/89 111/136/89 110/135/89 -f 111/136/89 113/138/89 112/137/89 -f 113/138/89 115/394/235 114/139/90 -f 115/140/89 118/395/89 117/141/89 -f 117/141/89 118/395/89 120/143/89 -f 120/143/89 122/396/89 121/145/89 -f 124/146/91 125/149/92 126/147/92 -f 125/149/92 127/397/93 128/150/93 -f 127/151/93 129/154/94 130/152/94 -f 129/154/94 131/156/89 132/155/89 -f 131/156/89 133/158/95 134/157/95 -f 133/158/95 135/160/96 136/159/96 -f 135/160/96 137/162/97 138/161/97 -f 137/162/97 124/146/91 123/148/91 -f 140/163/97 141/176/91 142/164/91 -f 144/166/93 145/169/94 146/167/94 -f 145/169/94 147/171/89 148/170/89 -f 147/171/89 149/173/95 150/172/95 -f 149/173/95 151/175/96 152/174/96 -f 151/175/96 140/163/97 139/165/97 -f 141/176/91 153/178/92 154/177/92 -f 153/178/92 144/398/93 143/179/93 -f 54/87/50 55/346/222 155/180/98 -f 159/182/100 158/208/126 157/183/101 -f 160/185/103 163/213/130 162/186/104 -f 164/188/106 167/191/109 166/189/107 -f 167/191/109 169/196/114 168/192/110 -f 173/193/111 172/200/118 171/194/112 -f 169/196/114 175/198/116 174/197/115 -f 170/195/113 171/194/112 174/197/115 -f 173/193/111 176/204/122 38/199/117 -f 177/201/119 180/384/177 179/202/120 -f 176/204/122 182/211/129 181/205/123 -f 183/206/124 177/201/119 178/203/121 -f 185/210/128 157/183/101 158/208/126 -f 158/208/126 187/311/199 186/209/127 -f 182/211/129 183/383/124 184/212/125 -f 156/184/102 160/185/103 161/187/105 -f 163/213/130 164/379/106 165/214/108 -f 185/210/133 100/399/236 101/219/137 -f 101/219/137 188/215/131 185/210/133 -f 156/184/134 157/183/237 190/216/135 -f 189/217/136 155/180/138 156/184/134 -f 192/218/91 191/221/91 188/215/131 -f 194/220/91 193/223/91 191/221/91 -f 196/222/91 195/225/91 193/223/91 -f 196/222/91 198/227/91 197/224/91 -f 200/226/91 199/229/91 197/224/91 -f 202/228/91 201/230/91 199/229/91 -f 155/180/138 189/217/136 201/230/91 -f 204/231/91 203/235/91 189/232/91 -f 204/231/91 206/237/91 205/234/91 -f 208/236/91 207/400/91 205/234/91 -f 191/238/139 193/256/140 105/239/140 -f 209/241/141 212/316/203 211/242/142 -f 82/110/73 68/95/58 65/97/60 -f 205/244/144 207/60/145 122/62/145 -f 194/246/146 192/339/147 102/247/147 -f 216/249/148 215/385/231 214/250/149 -f 208/81/151 206/342/152 119/252/152 -f 217/255/155 97/271/166 93/123/219 -f 93/123/219 219/253/153 217/255/155 -f 193/256/140 195/263/156 107/257/156 -f 196/258/157 194/246/146 104/248/146 -f 220/260/158 223/270/165 222/261/159 -f 195/263/156 197/274/161 109/264/161 -f 198/265/162 196/258/157 106/259/157 -f 42/267/163 43/348/224 218/268/154 -f 224/269/164 39/277/171 223/270/165 -f 97/271/166 217/255/155 226/272/167 -f 197/274/161 199/290/169 111/275/169 -f 227/276/170 228/363/225 39/277/171 -f 229/278/172 230/283/176 92/279/173 -f 200/280/174 198/265/162 108/266/162 -f 79/282/175 76/382/230 73/104/67 -f 225/273/168 226/272/167 230/283/176 -f 211/285/142 214/401/149 215/402/231 -f 215/402/231 179/403/120 211/285/142 -f 179/403/120 180/286/177 211/285/142 -f 180/286/177 86/404/75 83/405/77 -f 83/405/77 210/284/143 180/286/177 -f 45/287/178 232/330/211 231/288/179 -f 199/290/169 201/302/181 113/291/181 -f 202/292/182 200/280/174 110/281/174 -f 90/294/83 91/353/82 234/295/184 -f 225/273/188 114/139/90 115/394/235 -f 115/394/235 116/297/186 225/273/188 -f 70/298/189 236/406/198 235/299/190 -f 51/300/191 238/378/228 237/301/192 -f 201/302/181 189/407/193 115/303/193 -f 59/304/194 56/86/49 53/88/51 -f 237/301/192 238/378/228 240/306/195 -f 114/308/197 155/408/238 202/292/182 -f 236/309/198 216/249/148 213/251/150 -f 187/311/199 46/377/227 47/312/200 -f 233/296/185 234/295/184 242/313/201 -f 221/315/160 222/370/159 212/316/203 -f 240/317/195 244/331/212 243/318/204 -f 190/320/205 157/323/206 97/321/206 -f 157/323/206 188/335/207 96/324/207 -f 246/325/208 72/102/65 71/103/66 -f 63/93/56 246/325/208 245/326/209 -f 189/327/193 203/338/210 118/328/210 -f 232/330/211 88/117/79 87/118/80 -f 244/331/212 64/381/229 61/92/55 -f 204/332/213 190/409/214 116/333/214 -f 188/335/207 191/238/139 103/240/139 -f 248/336/215 228/363/225 227/276/170 -f 203/338/210 205/244/144 120/245/144 -f 192/339/147 101/392/87 95/125/87 -f 241/314/202 242/313/201 250/340/217 -f 206/342/152 204/332/213 117/334/213 -f 250/340/217 248/336/215 247/337/216 -f 93/123/219 94/391/232 98/343/220 -f 54/344/50 114/139/99 225/273/168 -f 99/345/221 100/399/239 185/210/128 -f 156/184/102 155/180/98 55/346/222 -f 219/253/153 98/343/220 41/347/223 -f 43/348/224 44/410/180 231/349/179 -f 226/272/167 49/373/48 50/350/47 -f 92/279/173 237/375/192 239/351/196 -f 90/121/83 58/411/53 53/352/51 -f 91/353/82 239/412/196 243/354/204 -f 233/296/185 57/357/54 58/355/53 -f 242/313/201 61/413/55 62/356/57 -f 241/314/202 66/359/59 57/357/54 -f 62/356/57 245/414/209 248/336/215 -f 81/358/74 65/415/60 249/341/218 -f 243/354/204 61/413/55 242/313/201 -f 249/341/218 65/415/60 66/359/59 -f 69/360/63 223/270/165 39/277/171 -f 71/362/66 40/361/64 39/277/171 -f 74/364/69 227/276/170 224/269/164 -f 220/260/158 78/366/71 73/365/67 -f 221/262/160 77/416/72 78/366/71 -f 222/261/159 223/270/165 69/360/63 -f 248/336/215 245/414/209 71/362/66 -f 247/337/216 227/276/170 74/364/69 -f 210/243/143 83/417/77 84/368/76 -f 212/316/203 213/371/150 214/369/149 -f 222/370/159 235/418/190 213/371/150 -f 77/372/72 221/315/160 209/241/141 -f 49/373/48 226/272/167 217/255/155 -f 237/375/192 92/279/173 230/283/176 -f 218/254/154 231/349/179 87/374/80 -f 89/119/81 53/352/51 54/344/50 -f 186/209/127 47/312/200 48/376/226 -f 46/377/227 187/311/199 232/330/211 -f 159/182/100 161/187/105 51/300/191 -f 162/186/104 165/214/108 240/306/195 -f 164/379/106 163/213/130 56/86/49 -f 165/190/108 166/189/107 244/331/212 -f 167/191/109 164/188/106 59/380/194 -f 168/192/110 174/197/115 63/93/56 -f 169/196/114 167/191/109 60/89/52 -f 63/93/56 174/197/115 171/194/112 -f 82/110/73 170/195/113 175/198/116 -f 244/331/212 166/189/107 168/192/110 -f 175/198/116 169/196/114 67/98/61 -f 70/298/189 37/99/62 38/199/117 -f 72/102/65 172/200/118 38/199/117 -f 75/105/68 76/382/230 176/204/122 -f 182/211/129 176/204/122 76/382/230 -f 183/383/124 182/211/129 79/282/175 -f 184/212/125 236/406/198 70/298/189 -f 171/194/112 172/200/118 72/102/65 -f 170/195/113 82/110/73 75/105/68 -f 180/384/177 177/201/119 85/115/78 -f 178/203/121 179/202/120 215/385/231 -f 184/207/125 178/203/121 216/249/148 -f 80/386/70 85/115/78 177/201/119 -f 52/83/46 88/117/79 158/208/126 -f 238/378/228 51/300/191 161/187/105 -f 187/311/199 158/208/126 88/117/79 -f 163/213/130 160/185/103 55/346/222 -f 98/387/220 99/345/221 48/376/226 -f 94/127/232 100/126/239 99/389/221 diff --git a/src/main/resources/assets/hbm/models/weapons/sacred_dragon.obj b/src/main/resources/assets/hbm/models/weapons/sacred_dragon.obj new file mode 100644 index 000000000..6c55eb6ad --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/sacred_dragon.obj @@ -0,0 +1,4105 @@ +# Blender v2.79 (sub 0) OBJ File: 'sacred_dragon.blend' +# www.blender.org +o Shells +v 0.312500 0.250000 -1.750000 +v 0.187500 0.216506 -1.750000 +v 0.095994 0.125000 -1.750000 +v 0.062500 0.000000 -1.750000 +v 0.095994 -0.125000 -1.750000 +v 0.187500 -0.216506 -1.750000 +v 0.312500 -0.250000 -1.750000 +v 0.437500 -0.216506 -1.750000 +v 0.529006 -0.125000 -1.750000 +v 0.562500 0.000000 -1.750000 +v 0.529006 0.125000 -1.750000 +v 0.437500 0.216506 -1.750000 +v 0.187500 0.216506 -1.687500 +v 0.312500 0.250000 -1.687500 +v 0.095994 0.125000 -1.687500 +v 0.062500 0.000000 -1.687500 +v 0.095994 -0.125000 -1.687500 +v 0.187500 -0.216506 -1.687500 +v 0.312500 -0.250000 -1.687500 +v 0.437500 -0.216506 -1.687500 +v 0.529006 -0.125000 -1.687500 +v 0.562500 0.000000 -1.687500 +v 0.529006 0.125000 -1.687500 +v 0.437500 0.216506 -1.687500 +v 0.200000 0.194856 -1.687500 +v 0.312500 0.225000 -1.687500 +v 0.117644 0.112500 -1.687500 +v 0.087500 0.000000 -1.687500 +v 0.117644 -0.112500 -1.687500 +v 0.200000 -0.194855 -1.687500 +v 0.312500 -0.225000 -1.687500 +v 0.425000 -0.194855 -1.687500 +v 0.507356 -0.112500 -1.687500 +v 0.537500 0.000000 -1.687500 +v 0.507356 0.112500 -1.687500 +v 0.425000 0.194856 -1.687500 +v 0.200000 0.194856 -0.500000 +v 0.312500 0.225000 -0.500000 +v 0.117644 0.112500 -0.500000 +v 0.087500 0.000000 -0.500000 +v 0.117644 -0.112500 -0.500000 +v 0.200000 -0.194855 -0.500000 +v 0.312500 -0.225000 -0.500000 +v 0.425000 -0.194855 -0.500000 +v 0.507356 -0.112500 -0.500000 +v 0.537500 0.000000 -0.500000 +v 0.507356 0.112500 -0.500000 +v 0.425000 0.194856 -0.500000 +v -0.312500 0.250000 -1.750000 +v -0.437500 0.216506 -1.750000 +v -0.529006 0.125000 -1.750000 +v -0.562500 0.000000 -1.750000 +v -0.529006 -0.125000 -1.750000 +v -0.437500 -0.216506 -1.750000 +v -0.312500 -0.250000 -1.750000 +v -0.187500 -0.216506 -1.750000 +v -0.095994 -0.125000 -1.750000 +v -0.062500 0.000000 -1.750000 +v -0.095994 0.125000 -1.750000 +v -0.187500 0.216506 -1.750000 +v -0.437500 0.216506 -1.687500 +v -0.312500 0.250000 -1.687500 +v -0.529006 0.125000 -1.687500 +v -0.562500 0.000000 -1.687500 +v -0.529006 -0.125000 -1.687500 +v -0.437500 -0.216506 -1.687500 +v -0.312500 -0.250000 -1.687500 +v -0.187500 -0.216506 -1.687500 +v -0.095994 -0.125000 -1.687500 +v -0.062500 0.000000 -1.687500 +v -0.095994 0.125000 -1.687500 +v -0.187500 0.216506 -1.687500 +v -0.425000 0.194856 -1.687500 +v -0.312500 0.225000 -1.687500 +v -0.507356 0.112500 -1.687500 +v -0.537500 0.000000 -1.687500 +v -0.507356 -0.112500 -1.687500 +v -0.425000 -0.194855 -1.687500 +v -0.312500 -0.225000 -1.687500 +v -0.200000 -0.194855 -1.687500 +v -0.117644 -0.112500 -1.687500 +v -0.087500 0.000000 -1.687500 +v -0.117644 0.112500 -1.687500 +v -0.200000 0.194856 -1.687500 +v -0.425000 0.194856 -0.500000 +v -0.312500 0.225000 -0.500000 +v -0.507356 0.112500 -0.500000 +v -0.537500 0.000000 -0.500000 +v -0.507356 -0.112500 -0.500000 +v -0.425000 -0.194855 -0.500000 +v -0.312500 -0.225000 -0.500000 +v -0.200000 -0.194855 -0.500000 +v -0.117644 -0.112500 -0.500000 +v -0.087500 0.000000 -0.500000 +v -0.117644 0.112500 -0.500000 +v -0.200000 0.194856 -0.500000 +vt 0.828402 0.741079 +vt 0.787445 0.720793 +vt 0.828402 0.659936 +vt 0.674556 0.751269 +vt 0.650888 0.756345 +vt 0.650888 0.751269 +vt 0.863905 0.751269 +vt 0.887574 0.756345 +vt 0.863905 0.756345 +vt 0.769231 0.751269 +vt 0.745562 0.756345 +vt 0.745562 0.751269 +vt 0.792899 0.751269 +vt 0.816568 0.756345 +vt 0.792899 0.756345 +vt 0.698225 0.756345 +vt 0.674556 0.756345 +vt 0.911243 0.751269 +vt 0.887574 0.751269 +vt 0.769231 0.756345 +vt 0.816568 0.751269 +vt 0.840237 0.756345 +vt 0.721893 0.751269 +vt 0.698225 0.751269 +vt 0.934911 0.756345 +vt 0.911243 0.756345 +vt 0.840237 0.751269 +vt 0.721893 0.756345 +vt 0.703759 0.687810 +vt 0.775531 0.687810 +vt 0.739645 0.741132 +vt 0.828402 0.741079 +vt 0.787445 0.720793 +vt 0.828402 0.659936 +vt 0.674556 0.751269 +vt 0.650888 0.756345 +vt 0.650888 0.751269 +vt 0.863905 0.751269 +vt 0.887574 0.756345 +vt 0.863905 0.756345 +vt 0.769231 0.751269 +vt 0.745562 0.756345 +vt 0.745562 0.751269 +vt 0.792899 0.751269 +vt 0.816568 0.756345 +vt 0.792899 0.756345 +vt 0.698225 0.756345 +vt 0.674556 0.756345 +vt 0.911243 0.751269 +vt 0.887574 0.751269 +vt 0.769231 0.756345 +vt 0.816568 0.751269 +vt 0.840237 0.756345 +vt 0.721893 0.751269 +vt 0.698225 0.751269 +vt 0.934911 0.756345 +vt 0.911243 0.756345 +vt 0.840237 0.751269 +vt 0.721893 0.756345 +vt 0.703759 0.687810 +vt 0.775531 0.687810 +vt 0.739645 0.741132 +vt 0.869360 0.720794 +vt 0.852049 0.735644 +vt 0.804755 0.735644 +vt 0.781109 0.700508 +vt 0.787445 0.680222 +vt 0.804755 0.665371 +vt 0.852049 0.665371 +vt 0.869360 0.680222 +vt 0.875696 0.700508 +vt 0.934911 0.751269 +vt 0.718926 0.736369 +vt 0.703759 0.723358 +vt 0.698207 0.705584 +vt 0.718926 0.674798 +vt 0.739645 0.670035 +vt 0.760364 0.674798 +vt 0.781083 0.705584 +vt 0.775531 0.723358 +vt 0.760364 0.736369 +vt 0.869360 0.720794 +vt 0.852049 0.735644 +vt 0.804755 0.735644 +vt 0.781109 0.700508 +vt 0.787445 0.680222 +vt 0.804755 0.665371 +vt 0.852049 0.665371 +vt 0.869360 0.680222 +vt 0.875696 0.700508 +vt 0.934911 0.751269 +vt 0.718926 0.736369 +vt 0.703759 0.723358 +vt 0.698207 0.705584 +vt 0.718926 0.674798 +vt 0.739645 0.670035 +vt 0.760364 0.674798 +vt 0.781083 0.705584 +vt 0.775531 0.723358 +vt 0.760364 0.736369 +vt 0.887574 0.741117 +vt 0.863905 0.741117 +vt 0.769231 0.741117 +vt 0.745562 0.741117 +vt 0.816568 0.741117 +vt 0.792899 0.741117 +vt 0.698225 0.741117 +vt 0.674556 0.741117 +vt 0.911243 0.741117 +vt 0.840237 0.741117 +vt 0.721893 0.741117 +vt 0.934911 0.741117 +vt 0.650888 0.741117 +vt 0.650888 0.949239 +vt 0.863905 0.949239 +vt 0.745562 0.949239 +vt 0.816568 0.949239 +vt 0.792899 0.949239 +vt 0.674556 0.949239 +vt 0.887574 0.949239 +vt 0.769231 0.949239 +vt 0.698225 0.949239 +vt 0.934911 0.949239 +vt 0.911243 0.949239 +vt 0.840237 0.949239 +vt 0.721893 0.949239 +vt 0.887574 0.741117 +vt 0.863905 0.741117 +vt 0.769231 0.741117 +vt 0.745562 0.741117 +vt 0.816568 0.741117 +vt 0.792899 0.741117 +vt 0.698225 0.741117 +vt 0.674556 0.741117 +vt 0.911243 0.741117 +vt 0.840237 0.741117 +vt 0.721893 0.741117 +vt 0.934911 0.741117 +vt 0.650888 0.741117 +vt 0.650888 0.949239 +vt 0.863905 0.949239 +vt 0.745562 0.949239 +vt 0.816568 0.949239 +vt 0.792899 0.949239 +vt 0.698225 0.949239 +vt 0.674556 0.949239 +vt 0.887574 0.949239 +vt 0.769231 0.949239 +vt 0.934911 0.949239 +vt 0.911243 0.949239 +vt 0.840237 0.949239 +vt 0.721893 0.949239 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.8660 -0.5000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.8660 0.5000 0.0000 +vn -0.5000 0.8660 0.0000 +vn -0.0000 1.0000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +s off +f 1/1/1 11/2/1 7/3/1 +f 20/4/2 31/5/2 19/6/2 +f 16/7/2 29/8/2 28/9/2 +f 24/10/2 35/11/2 23/12/2 +f 14/13/2 25/14/2 26/15/2 +f 20/4/2 33/16/2 32/17/2 +f 18/18/2 29/8/2 17/19/2 +f 14/13/2 36/20/2 24/10/2 +f 13/21/2 27/22/2 25/14/2 +f 22/23/2 33/16/2 21/24/2 +f 18/18/2 31/25/2 30/26/2 +f 16/7/2 27/22/2 15/27/2 +f 23/12/2 34/28/2 22/23/2 +f 41/29/2 45/30/2 38/31/2 +f 49/32/1 59/33/1 55/34/1 +f 68/35/2 79/36/2 67/37/2 +f 64/38/2 77/39/2 76/40/2 +f 72/41/2 83/42/2 71/43/2 +f 62/44/2 73/45/2 74/46/2 +f 68/35/2 81/47/2 80/48/2 +f 66/49/2 77/39/2 65/50/2 +f 62/44/2 84/51/2 72/41/2 +f 61/52/2 75/53/2 73/45/2 +f 70/54/2 81/47/2 69/55/2 +f 66/49/2 79/56/2 78/57/2 +f 64/38/2 75/53/2 63/58/2 +f 71/43/2 82/59/2 70/54/2 +f 89/60/2 93/61/2 86/62/2 +f 3/63/1 2/64/1 1/1/1 +f 1/1/1 12/65/1 11/2/1 +f 11/2/1 10/66/1 9/67/1 +f 9/67/1 8/68/1 11/2/1 +f 8/68/1 7/3/1 11/2/1 +f 7/3/1 6/69/1 3/63/1 +f 6/69/1 5/70/1 3/63/1 +f 5/70/1 4/71/1 3/63/1 +f 3/63/1 1/1/1 7/3/1 +f 20/4/2 32/17/2 31/5/2 +f 16/7/2 17/19/2 29/8/2 +f 24/10/2 36/20/2 35/11/2 +f 14/13/2 13/21/2 25/14/2 +f 20/4/2 21/24/2 33/16/2 +f 18/18/2 30/26/2 29/8/2 +f 14/13/2 26/15/2 36/20/2 +f 13/21/2 15/27/2 27/22/2 +f 22/23/2 34/28/2 33/16/2 +f 18/18/2 19/72/2 31/25/2 +f 16/7/2 28/9/2 27/22/2 +f 23/12/2 35/11/2 34/28/2 +f 38/31/2 37/73/2 39/74/2 +f 39/74/2 40/75/2 38/31/2 +f 40/75/2 41/29/2 38/31/2 +f 41/29/2 42/76/2 43/77/2 +f 43/77/2 44/78/2 41/29/2 +f 44/78/2 45/30/2 41/29/2 +f 45/30/2 46/79/2 38/31/2 +f 46/79/2 47/80/2 38/31/2 +f 47/80/2 48/81/2 38/31/2 +f 51/82/1 50/83/1 49/32/1 +f 49/32/1 60/84/1 59/33/1 +f 59/33/1 58/85/1 57/86/1 +f 57/86/1 56/87/1 59/33/1 +f 56/87/1 55/34/1 59/33/1 +f 55/34/1 54/88/1 51/82/1 +f 54/88/1 53/89/1 51/82/1 +f 53/89/1 52/90/1 51/82/1 +f 51/82/1 49/32/1 55/34/1 +f 68/35/2 80/48/2 79/36/2 +f 64/38/2 65/50/2 77/39/2 +f 72/41/2 84/51/2 83/42/2 +f 62/44/2 61/52/2 73/45/2 +f 68/35/2 69/55/2 81/47/2 +f 66/49/2 78/57/2 77/39/2 +f 62/44/2 74/46/2 84/51/2 +f 61/52/2 63/58/2 75/53/2 +f 70/54/2 82/59/2 81/47/2 +f 66/49/2 67/91/2 79/56/2 +f 64/38/2 76/40/2 75/53/2 +f 71/43/2 83/42/2 82/59/2 +f 86/62/2 85/92/2 87/93/2 +f 87/93/2 88/94/2 86/62/2 +f 88/94/2 89/60/2 86/62/2 +f 89/60/2 90/95/2 91/96/2 +f 91/96/2 92/97/2 89/60/2 +f 92/97/2 93/61/2 89/60/2 +f 93/61/2 94/98/2 86/62/2 +f 94/98/2 95/99/2 86/62/2 +f 95/99/2 96/100/2 86/62/2 +s 1 +f 5/101/3 16/7/4 4/102/4 +f 12/103/5 23/12/6 11/104/6 +f 2/105/7 14/13/8 1/106/8 +f 9/107/9 20/4/10 8/108/10 +f 6/109/11 17/19/3 5/101/3 +f 1/106/8 24/10/5 12/103/5 +f 3/110/12 13/21/7 2/105/7 +f 10/111/13 21/24/9 9/107/9 +f 7/112/14 18/18/11 6/109/11 +f 4/102/4 15/27/12 3/110/12 +f 11/104/6 22/23/13 10/111/13 +f 8/108/10 19/6/14 7/113/14 +f 32/17/10 43/114/14 31/5/14 +f 29/8/3 40/115/4 28/9/4 +f 36/20/5 47/116/6 35/11/6 +f 26/15/8 37/117/7 38/118/8 +f 33/16/9 44/119/10 32/17/10 +f 30/26/11 41/120/3 29/8/3 +f 26/15/8 48/121/5 36/20/5 +f 27/22/12 37/117/7 25/14/7 +f 34/28/13 45/122/9 33/16/9 +f 30/26/11 43/123/14 42/124/11 +f 28/9/4 39/125/12 27/22/12 +f 35/11/6 46/126/13 34/28/13 +f 53/127/3 64/38/4 52/128/4 +f 60/129/5 71/43/6 59/130/6 +f 50/131/7 62/44/8 49/132/8 +f 57/133/9 68/35/10 56/134/10 +f 54/135/11 65/50/3 53/127/3 +f 49/132/8 72/41/5 60/129/5 +f 51/136/12 61/52/7 50/131/7 +f 58/137/13 69/55/9 57/133/9 +f 55/138/14 66/49/11 54/135/11 +f 52/128/4 63/58/12 51/136/12 +f 59/130/6 70/54/13 58/137/13 +f 56/134/10 67/37/14 55/139/14 +f 80/48/10 91/140/14 79/36/14 +f 77/39/3 88/141/4 76/40/4 +f 84/51/5 95/142/6 83/42/6 +f 74/46/8 85/143/7 86/144/8 +f 80/48/10 93/145/9 92/146/10 +f 78/57/11 89/147/3 77/39/3 +f 74/46/8 96/148/5 84/51/5 +f 75/53/12 85/143/7 73/45/7 +f 82/59/13 93/145/9 81/47/9 +f 78/57/11 91/149/14 90/150/11 +f 76/40/4 87/151/12 75/53/12 +f 83/42/6 94/152/13 82/59/13 +f 5/101/3 17/19/3 16/7/4 +f 12/103/5 24/10/5 23/12/6 +f 2/105/7 13/21/7 14/13/8 +f 9/107/9 21/24/9 20/4/10 +f 6/109/11 18/18/11 17/19/3 +f 1/106/8 14/13/8 24/10/5 +f 3/110/12 15/27/12 13/21/7 +f 10/111/13 22/23/13 21/24/9 +f 7/112/14 19/72/14 18/18/11 +f 4/102/4 16/7/4 15/27/12 +f 11/104/6 23/12/6 22/23/13 +f 8/108/10 20/4/10 19/6/14 +f 32/17/10 44/119/10 43/114/14 +f 29/8/3 41/120/3 40/115/4 +f 36/20/5 48/121/5 47/116/6 +f 26/15/8 25/14/7 37/117/7 +f 33/16/9 45/122/9 44/119/10 +f 30/26/11 42/124/11 41/120/3 +f 26/15/8 38/118/8 48/121/5 +f 27/22/12 39/125/12 37/117/7 +f 34/28/13 46/126/13 45/122/9 +f 30/26/11 31/25/14 43/123/14 +f 28/9/4 40/115/4 39/125/12 +f 35/11/6 47/116/6 46/126/13 +f 53/127/3 65/50/3 64/38/4 +f 60/129/5 72/41/5 71/43/6 +f 50/131/7 61/52/7 62/44/8 +f 57/133/9 69/55/9 68/35/10 +f 54/135/11 66/49/11 65/50/3 +f 49/132/8 62/44/8 72/41/5 +f 51/136/12 63/58/12 61/52/7 +f 58/137/13 70/54/13 69/55/9 +f 55/138/14 67/91/14 66/49/11 +f 52/128/4 64/38/4 63/58/12 +f 59/130/6 71/43/6 70/54/13 +f 56/134/10 68/35/10 67/37/14 +f 80/48/10 92/146/10 91/140/14 +f 77/39/3 89/147/3 88/141/4 +f 84/51/5 96/148/5 95/142/6 +f 74/46/8 73/45/7 85/143/7 +f 80/48/10 81/47/9 93/145/9 +f 78/57/11 90/150/11 89/147/3 +f 74/46/8 86/144/8 96/148/5 +f 75/53/12 87/151/12 85/143/7 +f 82/59/13 94/152/13 93/145/9 +f 78/57/11 79/56/14 91/149/14 +f 76/40/4 88/141/4 87/151/12 +f 83/42/6 95/142/6 94/152/13 +o Stock +v 0.312500 0.312500 -1.750000 +v 0.312500 -0.312500 -1.750000 +v 0.468750 -0.270633 -1.750000 +v 0.583133 -0.156250 -1.750000 +v 0.625000 -0.000000 -1.750000 +v 0.583133 0.156250 -1.750000 +v 0.468750 0.270633 -1.750000 +v -0.312500 0.312500 -1.750000 +v -0.468750 0.270633 -1.750000 +v -0.583133 0.156250 -1.750000 +v -0.625000 0.000000 -1.750000 +v -0.583133 -0.156250 -1.750000 +v -0.468750 -0.270633 -1.750000 +v -0.312500 -0.312500 -1.750000 +v 0.468750 -0.270633 -2.125000 +v 0.312500 -0.312500 -2.125000 +v 0.583133 -0.156250 -2.125000 +v 0.625000 -0.000000 -2.125000 +v 0.583133 0.156250 -2.125000 +v 0.468750 0.270633 -2.125000 +v 0.312500 0.312500 -2.125000 +v -0.468750 0.270633 -2.125000 +v -0.312500 0.312500 -2.125000 +v -0.583133 0.156250 -2.125000 +v -0.625000 -0.000000 -2.125000 +v -0.583133 -0.156250 -2.125000 +v -0.468750 -0.270633 -2.125000 +v -0.312500 -0.312500 -2.125000 +v 0.312500 0.250000 -2.250000 +v 0.312500 -0.250000 -2.250000 +v 0.437500 -0.216506 -2.250000 +v 0.529006 -0.125000 -2.250000 +v 0.562500 0.000000 -2.250000 +v 0.529006 0.125000 -2.250000 +v 0.437500 0.216506 -2.250000 +v -0.312500 0.250000 -2.250000 +v -0.437500 0.216506 -2.250000 +v -0.529006 0.125000 -2.250000 +v -0.562500 0.000000 -2.250000 +v -0.529006 -0.125000 -2.250000 +v -0.437500 -0.216506 -2.250000 +v -0.312500 -0.250000 -2.250000 +v -0.437500 -0.437500 -0.750000 +v -0.437500 -0.349112 -0.786612 +v 0.437500 -0.312500 -0.875000 +v 0.437500 -0.349112 -0.786612 +v 0.437500 -0.437500 -0.750000 +v 0.437500 -0.525888 -0.786612 +v 0.437500 -0.562500 -0.875000 +v -0.437500 -0.312500 -0.875000 +v -0.437500 -0.525888 -0.786612 +v -0.437500 -0.562500 -0.875000 +v 0.437500 -0.312500 -2.250000 +v -0.437500 -0.312500 -2.250000 +v 0.437500 0.062500 -2.250000 +v -0.437500 0.062500 -2.250000 +v 0.437500 -0.562500 -2.500000 +v -0.437500 -0.562500 -2.500000 +v 0.437500 0.062500 -2.500000 +v -0.437500 0.062500 -2.500000 +v 0.187500 0.187500 -2.250000 +v 0.187500 0.187500 -2.500000 +v -0.187500 0.187500 -2.250000 +v -0.187500 0.187500 -2.500000 +v 0.437500 -0.312500 -2.500000 +v -0.525888 -0.349112 -1.500000 +v 0.437500 -0.312500 -1.500000 +v 0.437500 -0.562500 -1.500000 +v 0.437500 -0.562500 -2.500000 +v 0.525888 -0.525888 -2.500000 +v 0.562500 -0.437500 -2.500000 +v 0.525888 -0.349112 -2.500000 +v -0.562500 -0.437500 -1.500000 +v -0.525888 -0.525888 -1.500000 +v -0.525888 -0.349112 -2.500000 +v -0.562500 -0.437500 -2.500000 +v -0.525888 -0.525888 -2.500000 +v -0.437500 -0.562500 -2.500000 +v 0.525888 -0.525888 -1.500000 +v 0.562500 -0.437500 -1.500000 +v 0.525888 -0.349112 -1.500000 +v -0.437500 -0.562500 -1.500000 +v -0.437500 -0.312500 -1.500000 +v -0.437500 -0.312500 -2.500000 +v 0.187500 0.125000 -2.500000 +v -0.187500 0.125000 -2.500000 +v 0.187500 -0.625000 -4.250000 +v -0.187500 -0.625000 -4.250000 +v 0.187500 -0.562500 -2.500000 +v -0.187500 -0.562500 -2.500000 +v 0.312500 0.000000 -2.500000 +v 0.312500 -0.437500 -2.500000 +v -0.312500 0.000000 -2.500000 +v -0.312500 -0.437500 -2.500000 +v 0.187500 -1.312500 -4.250000 +v -0.187500 -1.312500 -4.250000 +v 0.312500 -0.750000 -4.250000 +v 0.312500 -1.187500 -4.250000 +v -0.312500 -0.750000 -4.250000 +v -0.312500 -1.187500 -4.250000 +v 0.187500 0.000000 -3.000000 +v -0.187500 0.000000 -3.000000 +v 0.187500 -0.687500 -3.000000 +v -0.187500 -0.687500 -3.000000 +v 0.312500 -0.125000 -3.000000 +v 0.312500 -0.562500 -3.000000 +v -0.312500 -0.125000 -3.000000 +v -0.312500 -0.562500 -3.000000 +v 0.437500 -0.343750 -2.500000 +v 0.371209 -0.371209 -2.500000 +v 0.343750 -0.437500 -2.500000 +v 0.371209 -0.503791 -2.500000 +v 0.437500 -0.531250 -2.500000 +v 0.503791 -0.503791 -2.500000 +v 0.531250 -0.437500 -2.500000 +v 0.503791 -0.371209 -2.500000 +v 0.437500 -0.343750 -2.562500 +v 0.371209 -0.371209 -2.562500 +v 0.343750 -0.437500 -2.562500 +v 0.371209 -0.503791 -2.562500 +v 0.437500 -0.531250 -2.562500 +v 0.503791 -0.503791 -2.562500 +v 0.531250 -0.437500 -2.562500 +v 0.503791 -0.371209 -2.562500 +v 0.343750 -0.312500 -2.500000 +v 0.406250 -0.312500 -2.500000 +v 0.343750 0.000000 -2.500000 +v 0.406250 0.000000 -2.500000 +v 0.343750 0.000000 -2.562500 +v 0.343750 -0.312500 -2.562500 +v 0.406250 -0.312500 -2.562500 +v 0.406250 0.000000 -2.562500 +v -0.125000 0.187500 -2.500000 +v 0.125000 0.187500 -2.500000 +v -0.031250 0.187500 -2.875000 +v 0.031250 0.187500 -2.875000 +v -0.031250 0.062500 -2.875000 +v -0.125000 0.062500 -2.500000 +v 0.125000 0.062500 -2.500000 +v 0.031250 0.062500 -2.875000 +v 0.000000 0.187500 -2.625000 +v -0.088388 0.187500 -2.588388 +v -0.125000 0.187500 -2.500000 +v -0.088388 0.187500 -2.411612 +v 0.000000 0.187500 -2.375000 +v 0.088388 0.187500 -2.411612 +v 0.125000 0.187500 -2.500000 +v 0.088388 0.187500 -2.588388 +v 0.000000 0.250000 -2.625000 +v -0.088388 0.250000 -2.588388 +v -0.125000 0.250000 -2.500000 +v -0.088388 0.250000 -2.411612 +v 0.000000 0.250000 -2.375000 +v 0.088388 0.250000 -2.411612 +v 0.125000 0.250000 -2.500000 +v 0.088388 0.250000 -2.588388 +v 0.187500 -0.500000 -4.750000 +v -0.187500 -0.500000 -4.750000 +v 0.187500 -1.125000 -8.000000 +v -0.187500 -1.125000 -8.000000 +v 0.312500 -0.625000 -4.750000 +v -0.312500 -0.625000 -4.750000 +v 0.312500 -1.250000 -8.000000 +v -0.312500 -1.250000 -8.000000 +v 0.187500 -1.312500 -4.750000 +v -0.187500 -1.312500 -4.750000 +v 0.312500 -1.187500 -4.750000 +v -0.312500 -1.187500 -4.750000 +v 0.187500 -2.562500 -7.250000 +v -0.187500 -2.562500 -7.250000 +v 0.312500 -2.437500 -7.250000 +v -0.312500 -2.437500 -7.250000 +v 0.187500 -2.562500 -7.750000 +v -0.187500 -2.562500 -7.750000 +v 0.312500 -2.437500 -7.750000 +v -0.312500 -2.437500 -7.750000 +v -0.125000 -1.187500 -2.000000 +v -0.125000 -0.562500 -2.500000 +v 0.125000 -0.562500 -2.500000 +v -0.125000 -0.625000 -2.500000 +v 0.125000 -0.654029 -1.779029 +v 0.125000 -0.562500 -2.000000 +v 0.125000 -0.625000 -2.500000 +v -0.125000 -1.095971 -1.779029 +v -0.125000 -0.875000 -1.687500 +v 0.125000 -0.625000 -2.000000 +v 0.125000 -0.698223 -1.823223 +v 0.125000 -0.875000 -1.750000 +v 0.125000 -1.051777 -1.823223 +v 0.125000 -1.125000 -2.000000 +v -0.125000 -0.562500 -2.000000 +v 0.125000 -0.875000 -1.687500 +v 0.125000 -1.095971 -1.779029 +v 0.125000 -1.187500 -2.000000 +v -0.125000 -0.654029 -1.779029 +v -0.125000 -0.625000 -2.000000 +v -0.125000 -0.698223 -1.823223 +v -0.125000 -0.875000 -1.750000 +v -0.125000 -1.051777 -1.823223 +v -0.125000 -1.125000 -2.000000 +v -0.125000 -1.187500 -2.750000 +v 0.125000 -1.125000 -2.750000 +v 0.125000 -1.187500 -2.750000 +v -0.125000 -1.125000 -2.750000 +v -0.125000 -0.812500 -3.250000 +v 0.125000 -0.750000 -3.250000 +v 0.125000 -0.812500 -3.250000 +v -0.125000 -0.750000 -3.250000 +v -0.062500 -0.562500 -2.500000 +v 0.062500 -0.562500 -2.500000 +v -0.062500 -0.562500 -2.625000 +v 0.062500 -0.562500 -2.625000 +v -0.062500 -1.062500 -2.500000 +v 0.062500 -1.062500 -2.500000 +v 0.062500 -0.812500 -2.625000 +v -0.062500 -0.812500 -2.625000 +v -0.062500 -0.812500 -2.562500 +v 0.062500 -0.812500 -2.562500 +v 0.312500 0.062500 -2.437500 +v 0.268306 0.062500 -2.419194 +v 0.250000 0.062500 -2.375000 +v 0.268306 0.062500 -2.330806 +v 0.312500 0.062500 -2.312500 +v 0.356694 0.062500 -2.330806 +v 0.375000 0.062500 -2.375000 +v 0.356694 0.062500 -2.419194 +v 0.268306 0.187500 -2.419194 +v 0.312500 0.187500 -2.437500 +v 0.250000 0.187500 -2.375000 +v 0.268306 0.187500 -2.330806 +v 0.312500 0.187500 -2.312500 +v 0.356694 0.187500 -2.330806 +v 0.375000 0.187500 -2.375000 +v 0.356694 0.187500 -2.419194 +v -0.406250 -0.312500 -2.500000 +v -0.343750 -0.312500 -2.500000 +v -0.406250 0.000000 -2.500000 +v -0.343750 0.000000 -2.500000 +v -0.406250 0.000000 -2.562500 +v -0.406250 -0.312500 -2.562500 +v -0.343750 -0.312500 -2.562500 +v -0.343750 0.000000 -2.562500 +v -0.437500 -0.343750 -2.500000 +v -0.503791 -0.371209 -2.500000 +v -0.531250 -0.437500 -2.500000 +v -0.503791 -0.503791 -2.500000 +v -0.437500 -0.531250 -2.500000 +v -0.371209 -0.503791 -2.500000 +v -0.343750 -0.437500 -2.500000 +v -0.371209 -0.371209 -2.500000 +v -0.437500 -0.343750 -2.562500 +v -0.503791 -0.371209 -2.562500 +v -0.531250 -0.437500 -2.562500 +v -0.503791 -0.503791 -2.562500 +v -0.437500 -0.531250 -2.562500 +v -0.371209 -0.503791 -2.562500 +v -0.343750 -0.437500 -2.562500 +v -0.371209 -0.371209 -2.562500 +v -0.312500 0.062500 -2.437500 +v -0.356694 0.062500 -2.419194 +v -0.375000 0.062500 -2.375000 +v -0.356694 0.062500 -2.330806 +v -0.312500 0.062500 -2.312500 +v -0.268306 0.062500 -2.330806 +v -0.250000 0.062500 -2.375000 +v -0.268306 0.062500 -2.419194 +v -0.356694 0.187500 -2.419194 +v -0.312500 0.187500 -2.437500 +v -0.375000 0.187500 -2.375000 +v -0.356694 0.187500 -2.330806 +v -0.312500 0.187500 -2.312500 +v -0.268306 0.187500 -2.330806 +v -0.250000 0.187500 -2.375000 +v -0.268306 0.187500 -2.419194 +vt 0.777093 0.464465 +vt 0.751475 0.477153 +vt 0.751475 0.426400 +vt 0.003702 0.982978 +vt 0.011825 0.980091 +vt 0.011825 0.999801 +vt 0.142012 0.847716 +vt 0.165680 0.878173 +vt 0.142012 0.878173 +vt 0.142012 0.979695 +vt 0.165680 0.949239 +vt 0.165680 1.000000 +vt 0.165680 0.898477 +vt 0.177515 0.878173 +vt 0.236686 0.878173 +vt 0.142012 0.898477 +vt 0.142012 0.928934 +vt 0.094675 0.949239 +vt 0.003702 0.830496 +vt 0.011825 0.827610 +vt 0.011825 0.847320 +vt 0.272080 0.837472 +vt 0.280523 0.840473 +vt 0.284021 0.847716 +vt 0.165684 0.847716 +vt 0.169181 0.840473 +vt 0.177624 0.837473 +vt 0.177624 0.837473 +vt 0.169181 0.840473 +vt 0.165684 0.847716 +vt 0.284021 0.847716 +vt 0.280523 0.840473 +vt 0.272080 0.837472 +vt 0.792928 0.500000 +vt 0.801775 0.492410 +vt 0.810622 0.500000 +vt 0.875740 0.487310 +vt 0.869823 0.461929 +vt 0.875740 0.461929 +vt 0.869823 0.492386 +vt 0.875740 0.492386 +vt 0.875740 0.456853 +vt 0.869823 0.456853 +vt 0.863905 0.461929 +vt 0.869823 0.487310 +vt 0.863905 0.487310 +vt 0.881657 0.487310 +vt 0.881657 0.461929 +vt 0.603550 0.893401 +vt 0.618343 0.862944 +vt 0.627219 0.893401 +vt 0.618343 0.852792 +vt 0.603550 0.822335 +vt 0.627219 0.822335 +vt 0.573964 0.862944 +vt 0.609467 0.852792 +vt 0.609467 0.862944 +vt 0.615385 0.862944 +vt 0.650888 0.852792 +vt 0.650888 0.862944 +vt 0.615385 0.852792 +vt 0.781065 0.507443 +vt 0.769430 0.497462 +vt 0.781065 0.487481 +vt 0.905325 0.680203 +vt 0.911243 0.659898 +vt 0.911243 0.680203 +vt 0.905325 0.619289 +vt 0.911243 0.639594 +vt 0.905325 0.639594 +vt 0.905325 0.700508 +vt 0.911243 0.700508 +vt 0.911243 0.736041 +vt 0.934911 0.741117 +vt 0.934911 0.736041 +vt 0.905325 0.659898 +vt 0.905325 0.741117 +vt 0.911243 0.741117 +vt 0.881657 0.700508 +vt 0.875740 0.680203 +vt 0.881657 0.680203 +vt 0.875740 0.659898 +vt 0.881657 0.659898 +vt 0.881657 0.639594 +vt 0.875740 0.639594 +vt 0.881657 0.619289 +vt 0.875740 0.700508 +vt 0.881657 0.741117 +vt 0.875740 0.741117 +vt 0.875740 0.619289 +vt 0.881657 0.558376 +vt 0.911243 0.558376 +vt 0.911243 0.619289 +vt 0.905325 0.507614 +vt 0.911243 0.507614 +vt 0.875740 0.558376 +vt 0.881657 0.507614 +vt 0.798817 0.568528 +vt 0.792899 0.568528 +vt 0.792899 0.548223 +vt 0.781065 0.568528 +vt 0.775148 0.568528 +vt 0.781065 0.548223 +vt 0.769231 0.588832 +vt 0.781065 0.588832 +vt 0.804734 0.588832 +vt 0.644970 0.832411 +vt 0.639143 0.827411 +vt 0.644970 0.822412 +vt 0.875740 0.487310 +vt 0.869823 0.461929 +vt 0.875740 0.461929 +vt 0.869823 0.492386 +vt 0.875740 0.492386 +vt 0.875740 0.456853 +vt 0.869823 0.456853 +vt 0.863905 0.461929 +vt 0.869823 0.487310 +vt 0.863905 0.487310 +vt 0.881657 0.487310 +vt 0.881657 0.461929 +vt 0.792928 0.500000 +vt 0.801775 0.492410 +vt 0.810622 0.500000 +vt 0.644970 0.832411 +vt 0.639143 0.827411 +vt 0.644970 0.822412 +vt 0.766265 0.429800 +vt 0.777093 0.439088 +vt 0.781056 0.451777 +vt 0.766265 0.473754 +vt 0.692312 0.477153 +vt 0.692312 0.426400 +vt 0.677522 0.473754 +vt 0.677522 0.429800 +vt 0.666694 0.464465 +vt 0.662731 0.451777 +vt 0.666694 0.439088 +vt 0.003702 0.996915 +vt 0.000337 0.989946 +vt 0.165680 0.827411 +vt 0.142012 0.949239 +vt 0.236686 0.949239 +vt 0.177515 0.949239 +vt 0.165680 0.928934 +vt 0.130178 0.949239 +vt 0.094675 0.878173 +vt 0.130178 0.878173 +vt 0.003702 0.844433 +vt 0.000337 0.837465 +vt 0.280523 0.854959 +vt 0.272080 0.857959 +vt 0.177624 0.857959 +vt 0.169181 0.854959 +vt 0.169181 0.854959 +vt 0.177624 0.857959 +vt 0.272080 0.857959 +vt 0.280523 0.854959 +vt 0.808031 0.505367 +vt 0.801775 0.507590 +vt 0.795519 0.505367 +vt 0.795519 0.494633 +vt 0.808031 0.494633 +vt 0.612426 0.862944 +vt 0.612426 0.852792 +vt 0.573964 0.852792 +vt 0.789292 0.490404 +vt 0.792700 0.497462 +vt 0.789292 0.504520 +vt 0.772838 0.504520 +vt 0.772838 0.490404 +vt 0.905325 0.558376 +vt 0.875740 0.507614 +vt 0.792899 0.588832 +vt 0.649091 0.823876 +vt 0.650798 0.827411 +vt 0.649091 0.830946 +vt 0.640849 0.830946 +vt 0.640849 0.823876 +vt 0.808031 0.505367 +vt 0.801775 0.507590 +vt 0.795519 0.505367 +vt 0.795519 0.494633 +vt 0.808031 0.494633 +vt 0.649091 0.823876 +vt 0.650798 0.827411 +vt 0.649091 0.830946 +vt 0.640849 0.830946 +vt 0.640849 0.823876 +vt 0.650888 0.659898 +vt 0.639053 0.670051 +vt 0.639053 0.654822 +vt 0.603550 0.781726 +vt 0.639053 0.796954 +vt 0.603550 0.796954 +vt 0.603550 0.624366 +vt 0.639053 0.639594 +vt 0.603550 0.639594 +vt 0.603550 0.812183 +vt 0.639053 0.812183 +vt 0.603550 0.654822 +vt 0.603550 0.670051 +vt 0.639053 0.720812 +vt 0.603550 0.720812 +vt 0.603550 0.527919 +vt 0.639053 0.578680 +vt 0.603550 0.578680 +vt 0.639053 0.736041 +vt 0.603550 0.736041 +vt 0.603550 0.751269 +vt 0.639053 0.751269 +vt 0.639053 0.593909 +vt 0.603550 0.593909 +vt 0.603550 0.766497 +vt 0.639053 0.766497 +vt 0.639053 0.609137 +vt 0.603550 0.609137 +vt 0.639053 0.781726 +vt 0.639053 0.624366 +vt 0.650888 0.644670 +vt 0.650888 0.629442 +vt 0.650888 0.609137 +vt 0.650888 0.593909 +vt 0.650888 0.578680 +vt 0.650888 0.720812 +vt 0.650888 0.746193 +vt 0.650888 0.761421 +vt 0.650888 0.781726 +vt 0.650888 0.796954 +vt 0.650888 0.812183 +vt 0.650888 0.802030 +vt 0.650888 0.527919 +vt 0.639053 0.527919 +vt 0.766050 0.487312 +vt 0.745556 0.517762 +vt 0.745556 0.477162 +vt 0.402367 0.949239 +vt 0.390533 0.878173 +vt 0.402367 0.878173 +vt 0.426035 0.949239 +vt 0.414201 0.878173 +vt 0.426035 0.878173 +vt 0.414201 0.949239 +vt 0.437870 0.949239 +vt 0.437870 0.878173 +vt 0.568047 0.949239 +vt 0.390533 0.949239 +vt 0.177515 0.837563 +vt 0.272189 0.847716 +vt 0.272189 0.837563 +vt 0.177515 0.827411 +vt 0.272189 0.827411 +vt 0.177515 0.857868 +vt 0.272189 0.868020 +vt 0.272189 0.857868 +vt 0.272189 0.857868 +vt 0.177515 0.847716 +vt 0.272189 0.847716 +vt 0.177515 0.847716 +vt 0.272189 0.868020 +vt 0.177515 0.857868 +vt 0.272189 0.837563 +vt 0.177515 0.827411 +vt 0.272189 0.827411 +vt 0.177515 0.837563 +vt 0.047337 0.730964 +vt 0.165680 0.690355 +vt 0.047337 0.741117 +vt 0.047337 0.776650 +vt 0.165680 0.736041 +vt 0.165680 0.725888 +vt 0.047337 0.741117 +vt 0.165680 0.690355 +vt 0.047337 0.730964 +vt 0.165680 0.680203 +vt 0.047337 0.827411 +vt 0.165680 0.796954 +vt 0.165680 0.827411 +vt 0.047337 0.776650 +vt 0.165680 0.736041 +vt 0.047337 0.786802 +vt 0.047337 0.548223 +vt 0.165680 0.578680 +vt 0.047337 0.578680 +vt 0.000000 0.751269 +vt -0.000000 0.786802 +vt 0.213018 0.827411 +vt 0.165680 0.725888 +vt 0.000000 0.796954 +vt -0.000000 0.827411 +vt 0.000000 0.786802 +vt 0.047337 0.786802 +vt 0.000000 0.751269 +vt -0.000000 0.741117 +vt 0.000000 0.578680 +vt 0.000000 0.548223 +vt 0.000000 0.741117 +vt 0.822485 0.487310 +vt 0.816568 0.492386 +vt 0.816568 0.487310 +vt 0.834320 0.487310 +vt 0.828402 0.492386 +vt 0.828402 0.487310 +vt 0.798817 0.487310 +vt 0.792899 0.492386 +vt 0.792899 0.487310 +vt 0.810651 0.487310 +vt 0.804734 0.492386 +vt 0.804734 0.487310 +vt 0.822485 0.492386 +vt 0.840237 0.487310 +vt 0.834320 0.492386 +vt 0.798817 0.492386 +vt 0.810651 0.492386 +vt 0.804734 0.487310 +vt 0.816568 0.482233 +vt 0.816568 0.487310 +vt 0.828402 0.482233 +vt 0.828402 0.487310 +vt 0.840237 0.487310 +vt 0.852071 0.482233 +vt 0.852071 0.487310 +vt 0.769231 0.487310 +vt 0.781065 0.482233 +vt 0.781065 0.487310 +vt 0.792899 0.487310 +vt 0.804734 0.482233 +vt 0.840237 0.482233 +vt 0.863905 0.482233 +vt 0.863905 0.487310 +vt 0.792899 0.482233 +vt 0.213018 0.796954 +vt 0.520710 0.827411 +vt 0.213018 0.736041 +vt 0.520710 0.695431 +vt 0.520710 0.685279 +vt 0.213018 0.736041 +vt 0.520710 0.695431 +vt 0.520710 0.685279 +vt 0.213018 0.680203 +vt 0.165680 0.680203 +vt 0.213018 0.690355 +vt 0.165680 0.548223 +vt 0.213018 0.578680 +vt 0.449704 0.588832 +vt 0.449704 0.578680 +vt 0.213018 0.680203 +vt 0.449704 0.588832 +vt 0.213018 0.548223 +vt 0.449704 0.578680 +vt 0.497041 0.578680 +vt 0.497041 0.588832 +vt 0.449704 0.548223 +vt 0.497041 0.578680 +vt 0.579882 0.588832 +vt 0.532544 0.578680 +vt 0.568047 0.578680 +vt 0.520710 0.690355 +vt 0.568047 0.700508 +vt 0.532544 0.700508 +vt 0.520710 0.588832 +vt 0.213018 0.690355 +vt 0.497041 0.588832 +vt 0.934911 0.639594 +vt 0.934911 0.680203 +vt 0.934911 0.659898 +vt 0.934911 0.700508 +vt 0.934911 0.558376 +vt 0.934911 0.619289 +vt 0.934911 0.507614 +vt 0.792899 0.507614 +vt 0.781065 0.527919 +vt 0.781065 0.507614 +vt 0.792899 0.527919 +vt 0.633136 0.822335 +vt 0.639053 0.812183 +vt 0.639053 0.822335 +vt 0.644970 0.822335 +vt 0.650888 0.812183 +vt 0.650888 0.822335 +vt 0.609467 0.822335 +vt 0.615385 0.812183 +vt 0.615385 0.822335 +vt 0.621302 0.822335 +vt 0.627219 0.812183 +vt 0.627219 0.822335 +vt 0.633136 0.812183 +vt 0.644970 0.812183 +vt 0.603550 0.822335 +vt 0.609467 0.812183 +vt 0.621302 0.812183 +vt 0.822485 0.487310 +vt 0.816568 0.492386 +vt 0.816568 0.487310 +vt 0.834320 0.487310 +vt 0.828402 0.492386 +vt 0.828402 0.487310 +vt 0.798817 0.487310 +vt 0.792899 0.492386 +vt 0.792899 0.487310 +vt 0.810651 0.487310 +vt 0.804734 0.492386 +vt 0.804734 0.487310 +vt 0.822485 0.492386 +vt 0.840237 0.487310 +vt 0.834320 0.492386 +vt 0.798817 0.492386 +vt 0.810651 0.492386 +vt 0.633136 0.822335 +vt 0.639053 0.812183 +vt 0.639053 0.822335 +vt 0.644970 0.822335 +vt 0.650888 0.812183 +vt 0.650888 0.822335 +vt 0.609467 0.822335 +vt 0.615385 0.812183 +vt 0.615385 0.822335 +vt 0.621302 0.822335 +vt 0.627219 0.812183 +vt 0.627219 0.822335 +vt 0.633136 0.812183 +vt 0.644970 0.812183 +vt 0.603550 0.822335 +vt 0.609467 0.812183 +vt 0.621302 0.812183 +vt 0.650888 0.670051 +vt 0.650888 0.654822 +vt 0.650888 0.639594 +vt 0.650888 0.619289 +vt 0.650888 0.604061 +vt 0.650888 0.588832 +vt 0.650888 0.730964 +vt 0.650888 0.736041 +vt 0.650888 0.751269 +vt 0.650888 0.771574 +vt 0.650888 0.786802 +vt 0.766050 0.507612 +vt 0.757388 0.515043 +vt 0.686397 0.517762 +vt 0.674565 0.515043 +vt 0.686397 0.477162 +vt 0.665903 0.507612 +vt 0.662733 0.497462 +vt 0.665903 0.487312 +vt 0.674565 0.479881 +vt 0.757388 0.479881 +vt 0.769220 0.497462 +vt 0.568047 0.878173 +vt 0.177515 0.868020 +vt 0.177515 0.868020 +vt 0.047337 0.796954 +vt 0.000000 0.796954 +vt 0.840237 0.492386 +vt 0.769231 0.482233 +vt 0.520710 0.796954 +vt 0.213018 0.746193 +vt 0.213018 0.746193 +vt 0.497041 0.548223 +vt 0.579882 0.690355 +vt 0.603550 0.812183 +vt 0.840237 0.492386 +vt 0.603550 0.812183 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.9701 0.0000 -0.2425 +vn -0.9701 0.0000 -0.2425 +vn 0.2917 0.5052 -0.8122 +vn 0.1251 0.9665 -0.2241 +vn 0.4876 0.8445 -0.2217 +vn -0.8660 -0.5000 0.0000 +vn -0.4876 -0.8445 -0.2217 +vn -0.5000 -0.8660 0.0000 +vn 0.8445 0.4876 -0.2217 +vn 0.8660 0.5000 -0.0000 +vn -0.1305 -0.9914 0.0000 +vn -0.1251 -0.9665 -0.2241 +vn 0.5000 0.8660 -0.0000 +vn 0.1305 0.9914 0.0000 +vn -0.1251 0.9665 -0.2241 +vn -0.1305 0.9914 -0.0000 +vn 0.1251 -0.9665 -0.2241 +vn 0.1305 -0.9914 0.0000 +vn -0.4876 0.8445 -0.2217 +vn -0.5000 0.8660 -0.0000 +vn -0.8660 0.5000 -0.0000 +vn -0.8445 0.4876 -0.2217 +vn 0.4876 -0.8445 -0.2217 +vn 0.5000 -0.8660 0.0000 +vn -0.9751 -0.0000 -0.2217 +vn 0.8445 -0.4876 -0.2217 +vn 0.8660 -0.5000 0.0000 +vn -0.8445 -0.4876 -0.2217 +vn 0.9751 -0.0000 -0.2217 +vn 0.5052 0.2917 -0.8122 +vn 0.5834 0.0000 -0.8122 +vn 0.5052 -0.2917 -0.8122 +vn 0.2917 -0.5052 -0.8122 +vn 0.0756 -0.5524 -0.8301 +vn -0.0756 0.5524 -0.8301 +vn -0.5052 0.2917 -0.8122 +vn -0.5834 -0.0000 -0.8122 +vn -0.5052 -0.2917 -0.8122 +vn -0.2917 -0.5052 -0.8122 +vn -0.0756 -0.5524 -0.8301 +vn 0.0756 0.5524 -0.8301 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -0.9808 0.1951 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.9808 0.1951 +vn 0.2298 0.9732 0.0000 +vn -0.2298 0.9732 0.0000 +vn 0.4472 0.8944 0.0000 +vn -0.4472 0.8944 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.3827 -0.9239 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.3827 0.9239 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.3827 -0.9239 0.0000 +vn 0.3752 -0.8668 0.3286 +vn 0.8994 -0.4225 0.1123 +vn 0.9281 -0.3513 0.1236 +vn -0.9066 0.3929 -0.1537 +vn -0.4140 0.9038 -0.1085 +vn -0.9522 0.3041 -0.0291 +vn -0.9281 -0.3513 0.1236 +vn -0.8994 -0.4225 0.1123 +vn -0.3752 -0.8668 0.3286 +vn -0.3595 -0.9099 0.2070 +vn -0.3607 0.8769 -0.3178 +vn 0.4140 0.9038 -0.1085 +vn 0.9066 0.3929 -0.1537 +vn 0.3607 0.8769 -0.3178 +vn 0.3595 -0.9099 0.2070 +vn 0.9409 -0.3285 0.0821 +vn 0.8970 0.4287 -0.1072 +vn -0.3652 0.9306 0.0247 +vn 0.9522 0.3041 -0.0291 +vn 0.3538 0.9074 -0.2269 +vn -0.3538 0.9074 -0.2269 +vn -0.8970 0.4287 -0.1072 +vn -0.9409 -0.3285 0.0821 +vn -0.3951 -0.8912 0.2228 +vn 0.3951 -0.8912 0.2228 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.3652 0.9306 0.0247 +vn -0.3939 0.9026 -0.1736 +vn -0.9047 0.4259 0.0130 +vn -0.9283 0.3651 -0.0702 +vn 0.9047 0.4259 0.0130 +vn 0.3939 0.9026 -0.1736 +vn 0.9283 0.3651 -0.0702 +vn -0.3954 -0.8912 0.2222 +vn 0.9414 -0.3297 0.0706 +vn 0.3954 -0.8912 0.2222 +vn 0.9334 -0.3589 0.0000 +vn 0.0000 -0.1380 -0.9904 +vn -0.9414 -0.3297 0.0706 +vn -0.9334 -0.3589 0.0000 +vn 0.0000 0.9239 0.3827 +vn 0.0000 0.9808 -0.1951 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.9808 -0.1951 +vn 0.0000 0.9487 0.3162 +vn 0.0000 -0.9487 -0.3162 +vn 0.0000 0.8000 0.6000 +vn 0.0000 -0.8000 -0.6000 +vn 0.0000 0.2425 0.9701 +vn 0.0000 -0.2425 0.9701 +vn 0.0000 -0.2298 -0.9732 +vn 0.0000 -0.4472 -0.8944 +vn -0.2917 0.5052 -0.8122 +s off +f 102/153/15 97/154/15 98/155/15 +f 140/156/16 146/157/16 148/158/16 +f 149/159/17 155/160/17 151/161/17 +f 150/162/16 156/163/16 154/164/16 +f 158/165/18 155/166/18 153/167/18 +f 157/168/15 159/169/15 150/170/15 +f 144/171/17 145/172/17 141/173/17 +f 161/174/18 168/175/18 167/176/18 +f 176/177/15 177/178/15 163/179/15 +f 179/180/15 162/181/15 169/182/15 +f 172/183/18 171/184/18 180/185/18 +f 219/186/18 217/187/18 215/188/18 +f 225/189/18 227/190/18 226/191/18 +f 224/192/19 225/189/19 223/193/19 +f 221/194/20 227/190/20 222/195/20 +f 222/196/17 228/197/17 224/198/17 +f 223/199/16 226/191/16 221/200/16 +f 230/201/19 231/202/19 229/203/19 +f 233/204/20 235/205/20 234/206/20 +f 230/207/21 236/208/21 232/209/21 +f 231/210/22 234/211/22 229/212/22 +f 232/209/18 233/213/18 231/210/18 +f 249/214/19 251/215/19 245/216/19 +f 277/217/17 284/218/17 283/219/17 +f 290/220/17 285/221/17 289/222/17 +f 278/223/17 283/219/17 282/224/17 +f 275/225/18 276/226/18 274/227/18 +f 289/222/17 284/218/17 288/228/17 +f 275/229/17 282/224/17 279/230/17 +f 287/231/16 293/232/16 291/233/16 +f 291/233/16 294/234/16 281/235/16 +f 294/234/16 280/236/16 281/235/16 +f 295/237/16 273/238/16 280/236/16 +f 292/239/16 274/240/16 276/241/16 +f 296/242/16 297/243/16 273/238/16 +f 290/220/17 298/244/17 286/245/17 +f 298/244/17 303/246/17 302/247/17 +f 300/248/16 301/249/16 297/243/16 +f 311/250/17 314/251/17 310/252/17 +f 313/253/16 312/254/16 309/255/16 +f 307/256/16 313/253/16 305/257/16 +f 308/258/17 314/251/17 311/250/17 +f 327/259/19 329/260/19 324/261/19 +f 335/262/18 337/263/18 336/264/18 +f 334/265/19 335/262/19 333/266/19 +f 331/267/20 337/263/20 332/268/20 +f 332/269/17 338/270/17 334/271/17 +f 333/272/16 336/264/16 331/273/16 +f 353/274/18 351/275/18 349/276/18 +f 367/277/19 369/278/19 364/279/19 +f 98/155/15 99/280/15 100/281/15 +f 100/281/15 101/282/15 102/153/15 +f 102/153/15 103/283/15 97/154/15 +f 97/154/15 104/284/15 110/285/15 +f 104/284/15 105/286/15 109/287/15 +f 105/286/15 106/288/15 107/289/15 +f 107/289/15 108/290/15 105/286/15 +f 108/290/15 109/287/15 105/286/15 +f 109/287/15 110/285/15 104/284/15 +f 110/285/15 98/155/15 97/154/15 +f 98/155/15 100/281/15 102/153/15 +f 146/157/16 150/162/16 148/158/16 +f 150/162/16 154/164/16 148/158/16 +f 148/158/16 147/291/16 140/156/16 +f 147/291/16 139/292/16 140/156/16 +f 149/159/17 153/293/17 155/160/17 +f 150/162/16 152/294/16 156/163/16 +f 153/167/18 154/295/18 158/165/18 +f 154/295/18 156/296/18 160/297/18 +f 158/165/18 154/295/18 160/297/18 +f 152/298/15 150/170/15 159/169/15 +f 150/170/15 149/299/15 157/168/15 +f 149/299/15 151/300/15 157/168/15 +f 145/172/17 153/293/17 149/159/17 +f 149/159/17 141/173/17 145/172/17 +f 141/173/17 142/301/17 144/171/17 +f 142/301/17 143/302/17 144/171/17 +f 166/303/18 165/304/18 167/176/18 +f 165/304/18 161/174/18 167/176/18 +f 163/179/15 164/305/15 175/306/15 +f 175/306/15 176/177/15 163/179/15 +f 170/307/15 178/308/15 169/182/15 +f 178/308/15 179/180/15 169/182/15 +f 180/185/18 174/309/18 173/310/18 +f 173/310/18 172/183/18 180/185/18 +f 215/188/18 214/311/18 213/312/18 +f 213/312/18 220/313/18 219/186/18 +f 219/186/18 218/314/18 217/187/18 +f 217/187/18 216/315/18 215/188/18 +f 215/188/18 213/312/18 219/186/18 +f 225/189/18 228/197/18 227/190/18 +f 224/192/19 228/197/19 225/189/19 +f 221/194/20 226/191/20 227/190/20 +f 222/196/17 227/190/17 228/197/17 +f 223/199/16 225/189/16 226/191/16 +f 230/201/19 232/316/19 231/202/19 +f 233/204/20 236/317/20 235/205/20 +f 230/207/21 235/318/21 236/208/21 +f 231/210/22 233/213/22 234/211/22 +f 232/209/18 236/208/18 233/213/18 +f 245/216/19 246/319/19 247/320/19 +f 247/320/19 248/321/19 249/214/19 +f 249/214/19 250/322/19 251/215/19 +f 251/215/19 252/323/19 245/216/19 +f 245/216/19 247/320/19 249/214/19 +f 277/217/17 288/228/17 284/218/17 +f 290/220/17 286/245/17 285/221/17 +f 278/223/17 277/217/17 283/219/17 +f 275/225/18 279/230/18 276/226/18 +f 289/222/17 285/221/17 284/218/17 +f 275/229/17 278/223/17 282/224/17 +f 287/231/16 292/239/16 293/232/16 +f 291/233/16 293/232/16 294/234/16 +f 294/234/16 295/237/16 280/236/16 +f 295/237/16 296/242/16 273/238/16 +f 292/239/16 287/231/16 274/240/16 +f 296/242/16 300/248/16 297/243/16 +f 290/220/17 299/324/17 298/244/17 +f 298/244/17 299/324/17 303/246/17 +f 300/248/16 304/325/16 301/249/16 +f 307/256/16 312/254/16 313/253/16 +f 308/258/17 306/326/17 314/251/17 +f 324/261/19 323/327/19 325/328/19 +f 325/328/19 326/329/19 327/259/19 +f 327/259/19 328/330/19 329/260/19 +f 329/260/19 330/331/19 324/261/19 +f 324/261/19 325/328/19 327/259/19 +f 335/262/18 338/270/18 337/263/18 +f 334/265/19 338/270/19 335/262/19 +f 331/267/20 336/264/20 337/263/20 +f 332/269/17 337/263/17 338/270/17 +f 333/272/16 335/262/16 336/264/16 +f 349/276/18 348/332/18 347/333/18 +f 347/333/18 354/334/18 353/274/18 +f 353/274/18 352/335/18 351/275/18 +f 351/275/18 350/336/18 349/276/18 +f 349/276/18 347/333/18 353/274/18 +f 364/279/19 363/337/19 365/338/19 +f 365/338/19 366/339/19 367/277/19 +f 367/277/19 368/340/19 369/278/19 +f 369/278/19 370/341/19 364/279/19 +f 364/279/19 365/338/19 367/277/19 +s 1 +f 131/342/23 117/343/24 116/344/25 +f 108/345/26 123/346/27 109/347/28 +f 101/348/17 115/349/29 102/350/30 +f 110/351/31 123/346/27 124/352/32 +f 102/350/30 116/344/25 103/353/33 +f 97/354/34 119/355/35 104/356/36 +f 103/353/33 117/343/24 97/354/34 +f 110/357/31 112/358/37 98/359/38 +f 104/356/36 118/360/39 105/361/40 +f 106/362/41 118/360/39 120/363/42 +f 98/359/38 111/364/43 99/365/44 +f 107/366/16 120/363/42 121/367/45 +f 99/365/44 113/368/46 100/369/47 +f 108/345/26 121/367/45 122/370/48 +f 100/369/47 114/371/49 101/348/17 +f 130/372/50 116/344/25 115/349/29 +f 129/373/51 115/349/29 114/371/49 +f 128/374/52 114/371/49 113/368/46 +f 127/375/53 113/368/46 111/364/43 +f 126/376/54 111/364/43 112/358/37 +f 132/377/55 118/360/39 119/355/35 +f 118/360/39 134/378/56 120/363/42 +f 120/363/42 135/379/57 121/367/45 +f 121/367/45 136/380/58 122/370/48 +f 122/370/48 137/381/59 123/346/27 +f 138/382/60 123/346/27 137/383/59 +f 138/384/60 112/358/37 124/385/32 +f 117/343/24 132/377/55 119/355/35 +f 130/386/50 126/387/54 125/388/61 +f 147/389/62 145/390/63 144/391/62 +f 140/392/64 143/393/15 142/394/64 +f 139/395/15 144/391/62 143/393/15 +f 146/396/65 142/394/64 141/397/65 +f 141/397/65 150/398/19 146/396/65 +f 158/165/66 159/169/67 157/168/66 +f 154/295/20 145/390/63 148/399/63 +f 155/160/68 157/168/66 151/161/68 +f 159/169/67 156/163/69 152/294/69 +f 170/400/70 172/401/16 173/402/70 +f 178/403/71 173/402/70 174/404/71 +f 162/405/72 180/406/73 171/407/72 +f 168/408/74 176/409/17 167/410/17 +f 169/411/16 171/407/72 172/401/16 +f 161/412/75 177/413/74 168/408/74 +f 166/414/76 164/415/77 165/416/77 +f 167/410/17 175/417/76 166/414/76 +f 199/418/78 194/419/79 202/420/80 +f 203/421/81 184/422/82 195/423/83 +f 204/424/84 195/423/83 196/425/85 +f 200/426/86 196/425/85 192/427/87 +f 198/428/88 183/429/89 184/430/82 +f 201/431/90 183/432/89 197/433/91 +f 200/434/86 191/435/92 199/436/78 +f 188/437/93 201/431/90 187/438/94 +f 183/429/89 254/439/95 184/430/82 +f 193/440/96 202/420/80 194/419/79 +f 187/438/94 197/433/91 181/441/97 +f 181/441/97 198/428/88 182/442/98 +f 189/443/99 198/444/88 203/421/81 +f 190/445/100 203/421/81 204/424/84 +f 186/446/101 204/424/84 200/426/86 +f 200/434/86 185/447/102 186/448/101 +f 185/449/102 202/420/80 188/437/93 +f 212/450/74 213/451/19 205/452/19 +f 210/453/76 219/454/17 211/455/17 +f 208/456/70 217/457/20 209/458/20 +f 206/459/72 215/460/16 207/461/16 +f 211/455/17 220/462/74 212/450/74 +f 209/463/20 218/464/76 210/453/76 +f 207/461/16 216/465/70 208/456/70 +f 205/452/19 214/466/72 206/459/72 +f 238/467/103 245/468/18 237/469/18 +f 237/469/18 252/470/104 244/471/104 +f 243/472/17 250/473/105 242/474/105 +f 241/475/15 248/476/106 240/477/106 +f 239/478/16 246/479/103 238/467/103 +f 244/471/104 251/480/17 243/472/17 +f 242/474/105 249/481/15 241/482/15 +f 240/477/106 247/483/16 239/478/16 +f 253/484/107 256/485/108 254/439/95 +f 184/422/82 258/486/109 195/423/83 +f 258/486/109 256/487/108 260/488/110 +f 257/489/111 183/432/89 193/440/96 +f 255/490/112 257/489/111 259/491/113 +f 196/425/85 262/492/114 192/427/87 +f 191/493/92 263/494/115 194/419/79 +f 192/495/87 261/496/116 191/435/92 +f 262/492/114 268/497/85 266/498/87 +f 261/499/116 267/500/79 263/494/115 +f 262/501/114 265/502/92 261/496/116 +f 268/497/85 270/503/71 266/498/87 +f 265/502/92 271/504/117 267/500/79 +f 266/505/87 269/506/77 265/502/92 +f 272/507/118 269/508/18 270/509/18 +f 259/510/118 256/511/18 255/512/18 +f 272/507/118 259/510/118 271/513/118 +f 195/423/83 264/514/119 196/425/85 +f 260/488/110 264/514/119 258/486/109 +f 263/494/115 193/440/96 194/419/79 +f 263/494/115 259/491/113 257/489/111 +f 267/500/79 271/504/117 259/491/113 +f 268/497/85 260/488/110 272/515/120 +f 277/217/64 281/235/15 288/228/15 +f 288/228/15 280/236/62 289/222/62 +f 278/223/121 291/233/64 277/217/64 +f 289/222/62 273/238/63 290/220/63 +f 286/245/122 295/516/123 285/221/123 +f 284/218/18 293/517/124 283/219/124 +f 285/221/123 294/518/18 284/218/18 +f 283/219/124 292/519/125 282/224/125 +f 282/224/125 276/226/20 279/230/20 +f 286/245/122 300/520/126 296/521/122 +f 273/238/63 299/324/127 290/220/63 +f 298/244/126 304/522/128 300/520/126 +f 297/243/127 303/246/129 299/324/127 +f 313/253/15 310/252/130 314/251/15 +f 305/257/131 314/251/15 306/326/131 +f 308/523/18 312/524/132 307/525/18 +f 311/526/132 309/255/133 312/524/132 +f 322/527/104 329/528/17 321/529/17 +f 320/530/105 327/531/15 319/532/15 +f 318/533/106 325/534/16 317/535/16 +f 316/536/103 324/537/18 315/538/18 +f 315/538/18 330/539/104 322/527/104 +f 321/529/17 328/540/105 320/530/105 +f 319/541/15 326/542/106 318/533/106 +f 317/535/16 323/543/103 316/536/103 +f 346/544/74 347/545/19 339/546/19 +f 344/547/76 353/548/17 345/549/17 +f 342/550/70 351/551/20 343/552/20 +f 340/553/72 349/554/16 341/555/16 +f 345/549/17 354/556/74 346/544/74 +f 343/557/20 352/558/76 344/547/76 +f 341/555/16 350/559/70 342/550/70 +f 339/546/19 348/560/72 340/553/72 +f 362/561/104 369/562/17 361/563/17 +f 360/564/105 367/565/15 359/566/15 +f 358/567/106 365/568/16 357/569/16 +f 356/570/103 364/571/18 355/572/18 +f 355/572/18 370/573/104 362/561/104 +f 361/563/17 368/574/105 360/564/105 +f 359/575/15 366/576/106 358/567/106 +f 357/569/16 363/577/103 356/570/103 +f 131/342/23 125/578/61 117/343/24 +f 108/345/26 122/370/48 123/346/27 +f 101/348/17 114/371/49 115/349/29 +f 110/351/31 109/347/28 123/346/27 +f 102/350/30 115/349/29 116/344/25 +f 97/354/34 117/343/24 119/355/35 +f 103/353/33 116/344/25 117/343/24 +f 110/357/31 124/385/32 112/358/37 +f 104/356/36 119/355/35 118/360/39 +f 106/362/41 105/361/40 118/360/39 +f 98/359/38 112/358/37 111/364/43 +f 107/366/16 106/362/41 120/363/42 +f 99/365/44 111/364/43 113/368/46 +f 108/345/26 107/366/16 121/367/45 +f 100/369/47 113/368/46 114/371/49 +f 130/372/50 131/579/23 116/344/25 +f 129/373/51 130/580/50 115/349/29 +f 128/374/52 129/581/51 114/371/49 +f 127/375/53 128/582/52 113/368/46 +f 126/376/54 127/583/53 111/364/43 +f 132/377/55 133/584/134 118/360/39 +f 118/360/39 133/585/134 134/378/56 +f 120/363/42 134/586/56 135/379/57 +f 121/367/45 135/587/57 136/380/58 +f 122/370/48 136/588/58 137/381/59 +f 138/382/60 124/352/32 123/346/27 +f 138/384/60 126/376/54 112/358/37 +f 117/343/24 125/578/61 132/377/55 +f 128/589/52 127/590/53 126/387/54 +f 126/387/54 138/591/60 125/388/61 +f 138/591/60 137/592/59 132/593/55 +f 125/388/61 138/591/60 132/593/55 +f 137/592/59 136/594/58 135/595/57 +f 135/595/57 134/596/56 137/592/59 +f 134/596/56 133/597/134 137/592/59 +f 133/597/134 132/593/55 137/592/59 +f 125/388/61 131/598/23 130/386/50 +f 130/386/50 129/599/51 128/589/52 +f 128/589/52 126/387/54 130/386/50 +f 147/389/62 148/399/63 145/390/63 +f 140/392/64 139/395/15 143/393/15 +f 139/395/15 147/389/62 144/391/62 +f 146/396/65 140/392/64 142/394/64 +f 141/397/65 149/600/19 150/398/19 +f 158/165/66 160/297/67 159/169/67 +f 154/295/20 153/167/20 145/390/63 +f 155/160/68 158/165/66 157/168/66 +f 159/169/67 160/297/67 156/163/69 +f 170/400/70 169/411/16 172/401/16 +f 178/403/71 170/400/70 173/402/70 +f 162/405/72 179/601/73 180/406/73 +f 168/408/74 177/413/74 176/409/17 +f 169/411/16 162/405/72 171/407/72 +f 161/412/75 163/602/75 177/413/74 +f 166/414/76 175/417/76 164/415/77 +f 167/410/17 176/409/17 175/417/76 +f 199/418/78 191/493/92 194/419/79 +f 203/421/81 198/444/88 184/422/82 +f 204/424/84 203/421/81 195/423/83 +f 200/426/86 204/424/84 196/425/85 +f 198/428/88 197/603/91 183/429/89 +f 201/431/90 193/440/96 183/432/89 +f 200/434/86 192/495/87 191/435/92 +f 188/437/93 202/420/80 201/431/90 +f 183/429/89 253/484/107 254/439/95 +f 193/440/96 201/431/90 202/420/80 +f 187/438/94 201/431/90 197/433/91 +f 181/441/97 197/603/91 198/428/88 +f 189/443/99 182/604/98 198/444/88 +f 190/445/100 189/443/99 203/421/81 +f 186/446/101 190/445/100 204/424/84 +f 200/434/86 199/436/78 185/447/102 +f 185/449/102 199/418/78 202/420/80 +f 212/450/74 220/462/74 213/451/19 +f 210/453/76 218/464/76 219/454/17 +f 208/456/70 216/465/70 217/457/20 +f 206/459/72 214/466/72 215/460/16 +f 211/455/17 219/454/17 220/462/74 +f 209/463/20 217/605/20 218/464/76 +f 207/461/16 215/460/16 216/465/70 +f 205/452/19 213/451/19 214/466/72 +f 238/467/103 246/479/103 245/468/18 +f 237/469/18 245/468/18 252/470/104 +f 243/472/17 251/480/17 250/473/105 +f 241/475/15 249/606/15 248/476/106 +f 239/478/16 247/483/16 246/479/103 +f 244/471/104 252/470/104 251/480/17 +f 242/474/105 250/473/105 249/481/15 +f 240/477/106 248/476/106 247/483/16 +f 253/484/107 255/607/112 256/485/108 +f 184/422/82 254/608/95 258/486/109 +f 258/486/109 254/608/95 256/487/108 +f 257/489/111 253/609/107 183/432/89 +f 255/490/112 253/609/107 257/489/111 +f 196/425/85 264/514/119 262/492/114 +f 191/493/92 261/499/116 263/494/115 +f 192/495/87 262/501/114 261/496/116 +f 262/492/114 264/514/119 268/497/85 +f 261/499/116 265/502/92 267/500/79 +f 262/501/114 266/505/87 265/502/92 +f 268/497/85 272/515/120 270/503/71 +f 265/502/92 269/506/77 271/504/117 +f 266/505/87 270/610/71 269/506/77 +f 272/507/118 271/513/118 269/508/18 +f 259/510/118 260/611/118 256/511/18 +f 272/507/118 260/611/118 259/510/118 +f 195/423/83 258/486/109 264/514/119 +f 260/488/110 268/497/85 264/514/119 +f 263/494/115 257/489/111 193/440/96 +f 263/494/115 267/500/79 259/491/113 +f 277/217/64 291/233/64 281/235/15 +f 288/228/15 281/235/15 280/236/62 +f 278/223/121 287/231/121 291/233/64 +f 289/222/62 280/236/62 273/238/63 +f 286/245/122 296/521/122 295/516/123 +f 284/218/18 294/518/18 293/517/124 +f 285/221/123 295/516/123 294/518/18 +f 283/219/124 293/517/124 292/519/125 +f 282/224/125 292/519/125 276/226/20 +f 286/245/122 298/244/126 300/520/126 +f 273/238/63 297/243/127 299/324/127 +f 298/244/126 302/247/128 304/522/128 +f 297/243/127 301/249/129 303/246/129 +f 313/253/15 309/255/130 310/252/130 +f 305/257/131 313/253/15 314/251/15 +f 308/523/18 311/526/132 312/524/132 +f 311/526/132 310/252/133 309/255/133 +f 322/527/104 330/539/104 329/528/17 +f 320/530/105 328/540/105 327/531/15 +f 318/533/106 326/542/106 325/534/16 +f 316/536/103 323/543/103 324/537/18 +f 315/538/18 324/537/18 330/539/104 +f 321/529/17 329/528/17 328/540/105 +f 319/541/15 327/612/15 326/542/106 +f 317/535/16 325/534/16 323/543/103 +f 346/544/74 354/556/74 347/545/19 +f 344/547/76 352/558/76 353/548/17 +f 342/550/70 350/559/70 351/551/20 +f 340/553/72 348/560/72 349/554/16 +f 345/549/17 353/548/17 354/556/74 +f 343/557/20 351/613/20 352/558/76 +f 341/555/16 349/554/16 350/559/70 +f 339/546/19 347/545/19 348/560/72 +f 362/561/104 370/573/104 369/562/17 +f 360/564/105 368/574/105 367/565/15 +f 358/567/106 366/576/106 365/568/16 +f 356/570/103 363/577/103 364/571/18 +f 355/572/18 364/571/18 370/573/104 +f 361/563/17 369/562/17 368/574/105 +f 359/575/15 367/614/15 366/576/106 +f 357/569/16 365/568/16 363/577/103 +o Lever +v -0.312500 0.375000 -1.625000 +v -0.356694 0.356694 -1.625000 +v -0.375000 0.312500 -1.625000 +v -0.356694 0.268306 -1.625000 +v -0.312500 0.250000 -1.625000 +v -0.268306 0.268306 -1.625000 +v -0.250000 0.312500 -1.625000 +v -0.268306 0.356694 -1.625000 +v -0.312500 0.375000 -1.500000 +v -0.356694 0.356694 -1.500000 +v -0.375000 0.312500 -1.500000 +v -0.356694 0.268306 -1.500000 +v -0.312500 0.250000 -1.500000 +v -0.268306 0.268306 -1.500000 +v -0.250000 0.312500 -1.500000 +v -0.268306 0.356694 -1.500000 +v -0.312500 0.343750 -1.500000 +v -0.312500 0.281250 -1.500000 +v -0.312500 0.343750 -1.625000 +v -0.312500 0.281250 -1.625000 +v -0.625000 0.343750 -1.625000 +v -0.625000 0.343750 -1.500000 +v -0.625000 0.281250 -1.500000 +v -0.625000 0.281250 -1.625000 +v -0.750000 0.156250 -1.500000 +v -0.750000 0.156250 -1.625000 +v -0.812500 0.156250 -1.625000 +v -0.812500 0.156250 -1.500000 +v -0.750000 0.093750 -1.500000 +v -0.750000 0.093750 -1.625000 +v -0.812500 0.093750 -1.625000 +v -0.812500 0.093750 -1.500000 +v -0.875000 -0.093750 -1.468750 +v -0.875000 0.093750 -1.468750 +v -0.875000 -0.093750 -1.656250 +v -0.875000 0.093750 -1.656250 +v -0.687500 -0.093750 -1.468750 +v -0.687500 0.093750 -1.468750 +v -0.687500 -0.093750 -1.656250 +v -0.687500 0.093750 -1.656250 +vt 0.781065 0.436548 +vt 0.810651 0.441624 +vt 0.781065 0.441624 +vt 0.781065 0.451777 +vt 0.810651 0.456853 +vt 0.781065 0.456853 +vt 0.834320 0.451777 +vt 0.816568 0.456853 +vt 0.810651 0.451777 +vt 0.816568 0.436548 +vt 0.834320 0.441624 +vt 0.840237 0.456853 +vt 0.834320 0.456853 +vt 0.834320 0.436548 +vt 0.840237 0.441624 +vt 0.893491 0.456853 +vt 0.875740 0.441624 +vt 0.893491 0.441624 +vt 0.875740 0.456853 +vt 0.857988 0.441624 +vt 0.857988 0.456853 +vt 0.840237 0.441624 +vt 0.911243 0.456853 +vt 0.911243 0.441624 +vt 0.911243 0.426396 +vt 0.893491 0.426396 +vt 0.893491 0.472081 +vt 0.911243 0.472081 +vt 0.810651 0.436548 +vt 0.840237 0.451777 +vt 0.840237 0.436548 +vt 0.840237 0.456853 +vt 0.745562 0.532995 +vt 0.757396 0.527919 +vt 0.757396 0.532995 +vt 0.745562 0.522843 +vt 0.757396 0.517766 +vt 0.757396 0.522843 +vt 0.745562 0.553299 +vt 0.757396 0.548223 +vt 0.757396 0.553299 +vt 0.745562 0.543147 +vt 0.757396 0.538071 +vt 0.757396 0.543147 +vt 0.745562 0.538071 +vt 0.745562 0.527919 +vt 0.745562 0.558376 +vt 0.757396 0.558376 +vt 0.745562 0.548223 +vt 0.816568 0.426396 +vt 0.781065 0.426396 +vt 0.834320 0.426396 +vt 0.745562 0.517766 +vt 0.810651 0.426396 +vt 0.840237 0.426396 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.3827 0.9239 0.0000 +vn -0.9239 0.3827 0.0000 +vn 0.3827 -0.9239 0.0000 +vn 0.9239 -0.3827 0.0000 +s off +f 390/615/135 391/616/135 389/617/135 +f 387/618/136 393/619/136 388/620/136 +f 398/621/136 393/622/136 392/623/136 +f 394/624/135 397/625/135 391/616/135 +f 398/621/136 399/626/136 395/627/136 +f 396/628/135 401/629/135 397/625/135 +f 404/630/137 405/631/137 403/632/137 +f 406/633/135 409/634/135 405/631/135 +f 410/635/138 407/636/138 409/634/138 +f 408/637/136 403/632/136 407/638/136 +f 409/639/139 403/632/139 405/640/139 +f 406/641/140 408/637/140 410/642/140 +f 390/615/135 394/643/135 391/616/135 +f 387/618/136 392/623/136 393/619/136 +f 398/621/136 395/627/136 393/622/136 +f 394/624/135 396/628/135 397/625/135 +f 398/621/136 402/644/136 399/626/136 +f 396/628/135 400/645/135 401/629/135 +f 404/630/137 406/633/137 405/631/137 +f 406/633/135 410/635/135 409/634/135 +f 410/635/138 408/646/138 407/636/138 +f 408/637/136 404/630/136 403/632/136 +f 409/639/139 407/638/139 403/632/139 +f 406/641/140 404/630/140 408/637/140 +s 1 +f 386/647/141 377/648/138 378/649/141 +f 384/650/142 375/651/139 376/652/142 +f 382/653/143 373/654/137 374/655/143 +f 380/656/144 371/657/140 372/658/144 +f 379/659/140 378/649/141 371/657/140 +f 385/660/138 376/652/142 377/648/138 +f 383/661/139 374/655/143 375/662/139 +f 381/663/137 372/658/144 373/654/137 +f 391/616/145 398/621/146 392/623/145 +f 393/664/147 396/628/148 394/624/147 +f 388/665/139 394/643/147 390/615/139 +f 389/617/140 392/623/145 387/618/140 +f 395/666/148 400/645/138 396/628/148 +f 397/625/146 402/644/137 398/621/146 +f 386/647/141 385/660/138 377/648/138 +f 384/650/142 383/667/139 375/651/139 +f 382/653/143 381/663/137 373/654/137 +f 380/656/144 379/659/140 371/657/140 +f 379/659/140 386/647/141 378/649/141 +f 385/660/138 384/650/142 376/652/142 +f 383/661/139 382/653/143 374/655/143 +f 381/663/137 380/656/144 372/658/144 +f 391/616/145 397/625/146 398/621/146 +f 393/664/147 395/666/148 396/628/148 +f 388/665/139 393/668/147 394/643/147 +f 389/617/140 391/616/145 392/623/145 +f 395/666/148 399/669/138 400/645/138 +f 397/625/146 401/629/137 402/644/137 +o Buckle +v 0.750000 0.250000 -0.968750 +v 0.750000 -0.250000 -0.968750 +v 0.750000 -0.250000 -0.718750 +v 0.750000 0.250000 -0.718750 +v 0.772097 -0.250000 -0.709597 +v 0.772097 0.250000 -0.709597 +v 0.781250 -0.250000 -0.687500 +v 0.781250 0.250000 -0.687500 +v 0.772097 -0.250000 -0.665403 +v 0.772097 0.250000 -0.665403 +v 0.750000 -0.250000 -0.656250 +v 0.750000 0.250000 -0.656250 +v 0.727903 -0.250000 -0.665403 +v 0.727903 0.250000 -0.665403 +v 0.718750 -0.250000 -0.687500 +v 0.718750 0.250000 -0.687500 +v 0.727903 -0.250000 -0.709597 +v 0.727903 0.250000 -0.709597 +v 0.772097 -0.250000 -0.959597 +v 0.772097 0.250000 -0.959597 +v 0.781250 -0.250000 -0.937500 +v 0.781250 0.250000 -0.937500 +v 0.772097 -0.250000 -0.915403 +v 0.772097 0.250000 -0.915403 +v 0.750000 -0.250000 -0.906250 +v 0.750000 0.250000 -0.906250 +v 0.727903 -0.250000 -0.915403 +v 0.727903 0.250000 -0.915403 +v 0.718750 -0.250000 -0.937500 +v 0.718750 0.250000 -0.937500 +v 0.727903 -0.250000 -0.959597 +v 0.727903 0.250000 -0.959597 +v 0.772097 0.259153 -0.718750 +v 0.781250 0.281250 -0.718750 +v 0.772097 0.303347 -0.718750 +v 0.750000 0.312500 -0.718750 +v 0.727903 0.303347 -0.718750 +v 0.718750 0.281250 -0.718750 +v 0.727903 0.259153 -0.718750 +v 0.772097 0.259153 -0.906250 +v 0.781250 0.281250 -0.906250 +v 0.772097 0.303347 -0.906250 +v 0.750000 0.312500 -0.906250 +v 0.727903 0.303347 -0.906250 +v 0.718750 0.281250 -0.906250 +v 0.727903 0.259153 -0.906250 +v 0.772097 -0.259153 -0.718750 +v 0.781250 -0.281250 -0.718750 +v 0.772097 -0.303347 -0.718750 +v 0.750000 -0.312500 -0.718750 +v 0.727903 -0.303347 -0.718750 +v 0.718750 -0.281250 -0.718750 +v 0.727903 -0.259153 -0.718750 +v 0.772097 -0.259153 -0.906250 +v 0.781250 -0.281250 -0.906250 +v 0.772097 -0.303347 -0.906250 +v 0.750000 -0.312500 -0.906250 +v 0.727903 -0.303347 -0.906250 +v 0.718750 -0.281250 -0.906250 +v 0.727903 -0.259153 -0.906250 +vt 0.656805 0.654822 +vt 0.656805 0.659898 +vt 0.650888 0.659898 +vt 0.680473 0.654822 +vt 0.674556 0.659898 +vt 0.674556 0.654822 +vt 0.698225 0.654822 +vt 0.692308 0.614213 +vt 0.698225 0.614213 +vt 0.662722 0.659898 +vt 0.656805 0.675127 +vt 0.656805 0.680203 +vt 0.662722 0.720812 +vt 0.656805 0.720812 +vt 0.692308 0.654822 +vt 0.686391 0.614213 +vt 0.686391 0.654822 +vt 0.692308 0.659898 +vt 0.686391 0.659898 +vt 0.650888 0.680203 +vt 0.650888 0.720812 +vt 0.680473 0.614213 +vt 0.668639 0.654822 +vt 0.668639 0.659898 +vt 0.692308 0.680203 +vt 0.698225 0.720812 +vt 0.692308 0.720812 +vt 0.674556 0.614213 +vt 0.686391 0.680203 +vt 0.686391 0.720812 +vt 0.668639 0.614213 +vt 0.668639 0.680203 +vt 0.674556 0.720812 +vt 0.668639 0.720812 +vt 0.680473 0.680203 +vt 0.680473 0.720812 +vt 0.662722 0.614213 +vt 0.680473 0.659898 +vt 0.674556 0.680203 +vt 0.662722 0.654822 +vt 0.656805 0.614213 +vt 0.698225 0.659898 +vt 0.662722 0.680203 +vt 0.650888 0.614213 +vt 0.668639 0.675127 +vt 0.680473 0.675127 +vt 0.662722 0.675127 +vt 0.674556 0.675127 +vt 0.686391 0.675127 +vt 0.692308 0.675127 +vt 0.698225 0.680203 +vt 0.650888 0.675127 +vt 0.674556 0.609137 +vt 0.686391 0.609137 +vt 0.692308 0.609137 +vt 0.668639 0.609137 +vt 0.680473 0.609137 +vt 0.662722 0.609137 +vt 0.656805 0.609137 +vt 0.686391 0.725888 +vt 0.692308 0.725888 +vt 0.680473 0.725888 +vt 0.674556 0.725888 +vt 0.668639 0.725888 +vt 0.662722 0.725888 +vt 0.656805 0.725888 +vt 0.650888 0.725888 +vt 0.698225 0.725888 +vt 0.674556 0.741117 +vt 0.668639 0.741117 +vt 0.662722 0.741117 +vt 0.656805 0.741117 +vt 0.650888 0.741117 +vt 0.698225 0.741117 +vt 0.692308 0.741117 +vt 0.686391 0.741117 +vt 0.680473 0.741117 +vt 0.650888 0.654822 +vt 0.698225 0.675127 +vn -0.7294 -0.2820 -0.6233 +vn -0.7294 -0.6233 -0.2820 +vn 0.0000 -0.7071 -0.7071 +vn 0.6441 0.3032 0.7023 +vn -0.0000 0.9356 0.3532 +vn 0.0000 0.3532 0.9356 +vn 0.7294 0.2820 -0.6233 +vn 0.0000 0.7071 -0.7071 +vn -0.9919 0.0899 0.0899 +vn -0.7294 -0.6233 0.2820 +vn -0.7294 -0.2820 0.6233 +vn -0.9919 -0.0899 -0.0899 +vn -0.7294 0.2820 0.6233 +vn 0.7294 -0.2820 -0.6233 +vn 0.9919 -0.0899 0.0899 +vn 0.9919 0.0899 0.0899 +vn 0.7294 -0.6233 -0.2820 +vn -0.0000 -0.7071 0.7071 +vn -0.0000 0.7071 0.7071 +vn 0.6441 -0.3032 0.7023 +vn -0.6441 0.3032 0.7023 +vn -0.6441 0.7023 0.3032 +vn 0.7294 -0.2820 0.6233 +vn 0.7294 0.2820 0.6233 +vn 0.0000 -0.3532 0.9356 +vn 0.9919 0.0899 -0.0899 +vn 0.9919 -0.0899 -0.0899 +vn -0.6441 -0.3032 0.7023 +vn -0.6441 0.3032 -0.7023 +vn 0.0000 -0.3532 -0.9356 +vn -0.6441 -0.3032 -0.7023 +vn 0.6441 0.3032 -0.7023 +vn 0.6441 -0.3032 -0.7023 +vn -0.9919 -0.0899 0.0899 +vn 0.6441 0.7023 0.3032 +vn -0.0000 0.3532 -0.9356 +vn -0.7294 0.2820 -0.6233 +vn -0.9919 0.0899 -0.0899 +vn -0.6441 0.7023 -0.3032 +vn 0.6441 0.7023 -0.3032 +vn 0.0000 0.9356 -0.3532 +vn 0.7294 -0.6233 0.2820 +vn -0.0000 -0.9356 0.3532 +vn 0.7294 0.6233 -0.2820 +vn -0.6441 -0.7023 0.3032 +vn 0.6441 -0.7023 0.3032 +vn -0.7294 0.6233 -0.2820 +vn 0.7294 0.6233 0.2820 +vn 0.6441 -0.7023 -0.3032 +vn 0.0000 -0.9356 -0.3532 +vn -0.6441 -0.7023 -0.3032 +vn -0.7294 0.6233 0.2820 +s 1 +f 428/670/149 449/671/150 414/672/151 +f 420/673/152 446/674/153 422/675/154 +f 414/676/151 415/677/155 413/678/156 +f 448/679/157 456/680/158 449/671/150 +f 438/681/159 439/682/160 437/683/161 +f 416/684/162 417/685/163 415/677/155 +f 418/686/164 443/687/165 444/688/164 +f 436/689/166 437/683/161 435/690/167 +f 418/686/164 419/691/168 417/685/163 +f 424/692/169 446/674/153 447/693/170 +f 434/694/171 435/695/167 433/696/172 +f 420/673/152 421/697/173 419/691/168 +f 428/670/149 448/679/157 449/671/150 +f 432/698/174 433/696/172 431/699/175 +f 422/675/154 423/700/176 421/697/173 +f 442/701/177 412/702/178 441/703/179 +f 430/704/180 431/699/175 429/705/181 +f 424/692/169 425/706/182 423/700/176 +f 418/686/164 445/707/183 420/673/152 +f 411/708/184 429/705/181 412/702/178 +f 426/709/157 427/710/185 425/706/182 +f 414/711/151 443/687/165 416/684/162 +f 440/712/186 441/703/179 439/682/160 +f 428/670/149 413/713/156 427/710/185 +f 426/709/157 447/693/170 448/679/157 +f 446/674/153 454/714/187 447/693/170 +f 444/688/164 452/715/188 445/707/183 +f 447/693/170 455/716/186 448/679/157 +f 445/707/183 453/717/189 446/674/153 +f 443/687/165 451/718/174 444/688/164 +f 411/708/184 452/715/188 430/704/180 +f 430/704/180 451/718/174 432/698/174 +f 434/694/171 451/718/174 450/719/190 +f 434/694/171 450/719/190 436/720/166 +f 414/711/151 450/719/190 443/687/165 +f 449/671/150 436/721/166 414/672/151 +f 436/689/166 456/680/158 438/681/159 +f 438/681/159 455/716/186 440/712/186 +f 440/712/186 454/714/187 442/701/177 +f 411/708/184 454/714/187 453/717/189 +f 423/700/176 460/722/191 421/697/173 +f 415/677/155 458/723/163 457/724/192 +f 425/706/182 461/725/193 423/700/176 +f 417/685/163 459/726/194 458/723/163 +f 427/710/185 462/727/182 425/706/182 +f 421/697/173 459/726/194 419/691/168 +f 415/677/155 457/724/192 413/678/156 +f 413/713/156 463/728/195 427/710/185 +f 465/729/175 433/696/172 464/730/196 +f 429/705/181 465/729/175 466/731/197 +f 412/702/178 466/731/197 467/732/198 +f 412/702/178 468/733/199 441/703/179 +f 439/682/160 468/733/199 469/734/160 +f 437/683/161 469/734/160 470/735/200 +f 437/683/161 470/735/200 435/736/167 +f 435/737/167 464/730/196 433/696/172 +f 468/733/199 460/738/191 461/739/193 +f 469/734/160 461/739/193 462/740/182 +f 470/735/200 462/740/182 463/741/195 +f 413/742/156 470/735/200 463/741/195 +f 464/730/196 413/743/156 457/744/192 +f 465/729/175 457/744/192 458/745/163 +f 466/731/197 458/745/163 459/746/194 +f 467/732/198 459/746/194 460/738/191 +f 420/673/152 445/707/183 446/674/153 +f 414/676/151 416/684/162 415/677/155 +f 448/679/157 455/716/186 456/680/158 +f 438/681/159 440/712/186 439/682/160 +f 416/684/162 418/686/164 417/685/163 +f 418/686/164 416/684/162 443/687/165 +f 436/689/166 438/681/159 437/683/161 +f 418/686/164 420/673/152 419/691/168 +f 424/692/169 422/675/154 446/674/153 +f 434/694/171 436/720/166 435/695/167 +f 420/673/152 422/675/154 421/697/173 +f 428/670/149 426/709/157 448/679/157 +f 432/698/174 434/694/171 433/696/172 +f 422/675/154 424/692/169 423/700/176 +f 442/701/177 411/708/184 412/702/178 +f 430/704/180 432/698/174 431/699/175 +f 424/692/169 426/709/157 425/706/182 +f 418/686/164 444/688/164 445/707/183 +f 411/708/184 430/704/180 429/705/181 +f 426/709/157 428/670/149 427/710/185 +f 440/712/186 442/701/177 441/703/179 +f 428/670/149 414/747/151 413/713/156 +f 426/709/157 424/692/169 447/693/170 +f 446/674/153 453/717/189 454/714/187 +f 444/688/164 451/718/174 452/715/188 +f 447/693/170 454/714/187 455/716/186 +f 445/707/183 452/715/188 453/717/189 +f 443/687/165 450/719/190 451/718/174 +f 411/708/184 453/717/189 452/715/188 +f 430/704/180 452/715/188 451/718/174 +f 434/694/171 432/698/174 451/718/174 +f 414/711/151 436/748/166 450/719/190 +f 449/671/150 456/680/158 436/721/166 +f 438/681/159 456/680/158 455/716/186 +f 440/712/186 455/716/186 454/714/187 +f 411/708/184 442/701/177 454/714/187 +f 423/700/176 461/725/193 460/722/191 +f 415/677/155 417/685/163 458/723/163 +f 425/706/182 462/727/182 461/725/193 +f 417/685/163 419/691/168 459/726/194 +f 427/710/185 463/728/195 462/727/182 +f 421/697/173 460/722/191 459/726/194 +f 465/729/175 431/699/175 433/696/172 +f 429/705/181 431/699/175 465/729/175 +f 412/702/178 429/705/181 466/731/197 +f 412/702/178 467/732/198 468/733/199 +f 439/682/160 441/703/179 468/733/199 +f 437/683/161 439/682/160 469/734/160 +f 468/733/199 467/732/198 460/738/191 +f 469/734/160 468/733/199 461/739/193 +f 470/735/200 469/734/160 462/740/182 +f 413/742/156 435/736/167 470/735/200 +f 464/730/196 435/737/167 413/743/156 +f 465/729/175 464/730/196 457/744/192 +f 466/731/197 465/729/175 458/745/163 +f 467/732/198 466/731/197 459/746/194 +o Barrel +v -0.125000 0.312500 4.375000 +v 0.125000 0.312500 4.375000 +v 0.125000 -0.312500 4.375000 +v -0.125000 -0.312500 4.375000 +v 0.312500 0.312500 4.375000 +v 0.312500 -0.312500 4.375000 +v 0.468750 -0.270633 4.375000 +v 0.583133 -0.156250 4.375000 +v 0.625000 0.000000 4.375000 +v 0.583133 0.156250 4.375000 +v 0.468750 0.270633 4.375000 +v -0.312500 0.312500 4.375000 +v -0.468750 0.270633 4.375000 +v -0.583133 0.156250 4.375000 +v -0.625000 0.000000 4.375000 +v -0.583133 -0.156250 4.375000 +v -0.468750 -0.270633 4.375000 +v -0.312500 -0.312500 4.375000 +v 0.125000 -0.250000 4.375000 +v -0.125000 -0.250000 4.375000 +v -0.125000 0.250000 4.375000 +v 0.125000 0.250000 4.375000 +v -0.125000 0.312500 4.250000 +v 0.125000 0.312500 4.250000 +v 0.125000 -0.312500 4.250000 +v -0.125000 -0.312500 4.250000 +v -0.312500 -0.375000 4.250000 +v -0.500000 -0.324759 4.250000 +v -0.637259 -0.187500 4.250000 +v -0.687500 0.000000 4.250000 +v -0.637259 0.187500 4.250000 +v -0.500000 0.324759 4.250000 +v -0.637259 0.187500 4.750000 +v -0.500000 0.324759 4.750000 +v 0.312500 0.375000 4.750000 +v 0.312500 -0.375000 4.750000 +v 0.500000 -0.324759 4.750000 +v 0.637259 -0.187500 4.750000 +v 0.687500 0.000000 4.750000 +v 0.637260 0.187500 4.750000 +v 0.500000 0.324759 4.750000 +v -0.312500 0.375000 4.750000 +v 0.312500 0.312500 4.625000 +v 0.312500 -0.312500 4.625000 +v 0.468750 -0.270633 4.625000 +v 0.583133 -0.156250 4.625000 +v 0.625000 0.000000 4.625000 +v 0.583133 0.156250 4.625000 +v 0.468750 0.270633 4.625000 +v -0.312500 0.312500 4.625000 +v -0.468750 0.270633 4.625000 +v -0.583133 0.156250 4.625000 +v 0.312500 0.375000 4.250000 +v 0.312500 -0.375000 4.250000 +v 0.500000 -0.324759 4.250000 +v 0.637259 -0.187500 4.250000 +v -0.625000 0.000000 4.625000 +v -0.583133 -0.156250 4.625000 +v -0.468750 -0.270633 4.625000 +v 0.687500 0.000000 4.250000 +v 0.637260 0.187500 4.250000 +v 0.500000 0.324759 4.250000 +v -0.312500 0.375000 4.250000 +v -0.312500 -0.375000 4.375000 +v -0.500000 -0.324759 4.375000 +v -0.637259 -0.187500 4.375000 +v 0.312500 0.312500 3.500000 +v 0.312500 -0.312500 3.500000 +v 0.468750 -0.270633 3.500000 +v 0.583133 -0.156250 3.500000 +v 0.625000 0.000000 3.500000 +v 0.583133 0.156250 3.500000 +v 0.468750 0.270633 3.500000 +v -0.312500 0.312500 3.500000 +v -0.468750 0.270633 3.500000 +v -0.583133 0.156250 3.500000 +v -0.625000 0.000000 3.500000 +v -0.583133 -0.156250 3.500000 +v -0.468750 -0.270633 3.500000 +v -0.312500 -0.312500 3.500000 +v 0.312500 0.250000 3.500000 +v 0.187500 0.216506 3.500000 +v 0.095994 0.125000 3.500000 +v 0.062500 0.000000 3.500000 +v 0.095994 -0.125000 3.500000 +v 0.187500 -0.216506 3.500000 +v 0.312500 -0.250000 3.500000 +v 0.437500 -0.216506 3.500000 +v 0.529006 -0.125000 3.500000 +v 0.562500 0.000000 3.500000 +v 0.529006 0.125000 3.500000 +v 0.437500 0.216506 3.500000 +v -0.312500 0.250000 3.500000 +v -0.437500 0.216506 3.500000 +v -0.529006 0.125000 3.500000 +v -0.562500 0.000000 3.500000 +v -0.529006 -0.125000 3.500000 +v -0.437500 -0.216506 3.500000 +v -0.312500 -0.250000 3.500000 +v -0.187500 -0.216506 3.500000 +v -0.095994 -0.125000 3.500000 +v -0.062500 0.000000 3.500000 +v -0.095994 0.125000 3.500000 +v -0.187500 0.216506 3.500000 +v 0.468750 -0.270633 8.000000 +v 0.312500 -0.312500 8.000000 +v 0.583133 -0.156250 8.000000 +v 0.625000 0.000000 8.000000 +v 0.583133 0.156250 8.000000 +v 0.468750 0.270633 8.000000 +v 0.312500 0.312500 8.000000 +v -0.468750 0.270633 8.000000 +v -0.312500 0.312500 8.000000 +v -0.583133 0.156250 8.000000 +v -0.625000 0.000000 8.000000 +v -0.583133 -0.156250 8.000000 +v -0.468750 -0.270633 8.000000 +v -0.312500 -0.312500 8.000000 +v -0.095994 0.125000 8.000000 +v -0.095994 -0.125000 8.000000 +v 0.095994 -0.125000 8.000000 +v 0.062500 0.000000 8.000000 +v -0.062500 0.000000 8.000000 +v 0.095994 0.125000 8.000000 +v 0.187500 0.216506 8.000000 +v 0.312500 0.250000 8.000000 +v 0.187500 -0.216506 8.000000 +v 0.312500 -0.250000 8.000000 +v 0.437500 -0.216506 8.000000 +v 0.529006 -0.125000 8.000000 +v 0.562500 0.000000 8.000000 +v 0.529006 0.125000 8.000000 +v 0.437500 0.216506 8.000000 +v -0.437500 0.216506 8.000000 +v -0.312500 0.250000 8.000000 +v -0.529006 0.125000 8.000000 +v -0.562500 0.000000 8.000000 +v -0.529006 -0.125000 8.000000 +v -0.437500 -0.216506 8.000000 +v -0.312500 -0.250000 8.000000 +v -0.187500 -0.216506 8.000000 +v -0.187500 0.216506 8.000000 +v -0.125000 0.375000 6.187500 +v 0.125000 0.375000 6.187500 +v -0.125000 0.375000 5.812500 +v 0.125000 0.375000 5.812500 +v 0.125000 0.500000 5.812500 +v -0.125000 0.500000 5.812500 +v 0.125000 0.500000 6.187500 +v -0.125000 0.500000 6.187500 +v -0.687500 0.000000 4.375000 +v 0.125000 0.250000 4.250000 +v -0.125000 0.250000 4.250000 +v -0.312500 -0.312500 4.625000 +v 0.125000 -0.250000 3.500000 +v -0.125000 -0.250000 3.500000 +v 0.125000 -0.250000 8.000000 +v -0.125000 -0.250000 8.000000 +v 0.000000 0.650888 5.911612 +v 0.000000 0.562500 5.875000 +v 0.000000 0.474112 5.911612 +v 0.062500 0.650888 5.937500 +v 0.088388 0.562500 5.911612 +v 0.062500 0.474112 5.937500 +v 0.088388 0.650888 6.000000 +v 0.125000 0.562500 6.000000 +v 0.088388 0.474112 6.000000 +v 0.062500 0.650888 6.062500 +v 0.088388 0.562500 6.088388 +v 0.062500 0.474112 6.062500 +v 0.125000 -0.250000 4.625000 +v 0.000000 0.650888 6.088388 +v 0.000000 0.562500 6.125000 +v 0.000000 0.474112 6.088388 +v 0.000000 0.687500 6.000000 +v -0.062500 0.650888 6.062500 +v -0.088388 0.562500 6.088388 +v -0.062500 0.474112 6.062500 +v -0.088388 0.650888 6.000000 +v -0.125000 0.562500 6.000000 +v -0.088388 0.474112 6.000000 +v -0.062500 0.650888 5.937500 +v -0.088388 0.562500 5.911612 +v -0.062500 0.474112 5.937500 +v -0.125000 -0.250000 4.625000 +v -0.125000 0.250000 4.625000 +v 0.125000 0.250000 4.625000 +v 0.437500 -0.562500 3.437500 +v -0.437500 -0.562500 3.437500 +v 0.437500 -0.250000 3.437500 +v -0.437500 -0.250000 3.437500 +v 0.437500 -0.437500 4.500000 +v -0.437500 -0.437500 4.500000 +v 0.437500 -0.250000 4.500000 +v -0.437500 -0.250000 4.500000 +v -0.125000 0.250000 8.000000 +v 0.125000 0.250000 8.000000 +v -0.125000 0.250000 3.500000 +v 0.125000 0.250000 3.500000 +v -0.125000 0.375000 3.500000 +v -0.125000 0.375000 8.000000 +v 0.125000 0.375000 8.000000 +v 0.125000 0.375000 3.500000 +v -0.125000 -0.250000 4.250000 +v 0.125000 -0.250000 4.250000 +v -0.312500 -0.312500 4.250000 +v -0.468750 -0.270633 4.250000 +v -0.583133 -0.156250 4.250000 +v -0.625000 0.000000 4.250000 +v -0.583133 0.156250 4.250000 +v -0.468750 0.270633 4.250000 +v -0.312500 0.312500 4.250000 +v 0.468750 0.270633 4.250000 +v 0.583133 0.156250 4.250000 +v 0.625000 0.000000 4.250000 +v 0.583133 -0.156250 4.250000 +v 0.468750 -0.270633 4.250000 +v 0.312500 -0.312500 4.250000 +v 0.312500 0.312500 4.250000 +v -0.312500 0.375000 4.375000 +v 0.500000 0.324759 4.375000 +v 0.637260 0.187500 4.375000 +v 0.687500 0.000000 4.375000 +v 0.637259 -0.187500 4.375000 +v 0.500000 -0.324759 4.375000 +v 0.312500 -0.375000 4.375000 +v 0.312500 0.375000 4.375000 +v -0.500000 0.324759 4.375000 +v -0.637259 0.187500 4.375000 +v -0.687500 0.000000 4.750000 +v -0.637259 -0.187500 4.750000 +v -0.500000 -0.324759 4.750000 +v -0.312500 -0.375000 4.750000 +v -0.312500 0.375000 4.625000 +v 0.500000 0.324759 4.625000 +v 0.637260 0.187500 4.625000 +v 0.687500 0.000000 4.625000 +v 0.637259 -0.187500 4.625000 +v 0.500000 -0.324759 4.625000 +v 0.312500 -0.375000 4.625000 +v 0.312500 0.375000 4.625000 +v -0.500000 0.324759 4.625000 +v -0.637259 0.187500 4.625000 +v -0.687500 0.000000 4.625000 +v -0.637259 -0.187500 4.625000 +v -0.500000 -0.324759 4.625000 +v -0.312500 -0.375000 4.625000 +v -0.125000 -0.312500 4.625000 +v 0.125000 -0.312500 4.625000 +v 0.125000 0.312500 4.625000 +v -0.125000 0.312500 4.625000 +v 0.125000 0.250000 4.750000 +v -0.125000 0.250000 4.750000 +v -0.125000 -0.250000 4.750000 +v 0.125000 -0.250000 4.750000 +v -0.312500 -0.312500 4.750000 +v -0.468750 -0.270633 4.750000 +v -0.583133 -0.156250 4.750000 +v -0.625000 0.000000 4.750000 +v -0.583133 0.156250 4.750000 +v -0.468750 0.270633 4.750000 +v -0.312500 0.312500 4.750000 +v 0.468750 0.270633 4.750000 +v 0.583133 0.156250 4.750000 +v 0.625000 0.000000 4.750000 +v 0.583133 -0.156250 4.750000 +v 0.468750 -0.270633 4.750000 +v 0.312500 -0.312500 4.750000 +v 0.312500 0.312500 4.750000 +v -0.125000 -0.312500 4.750000 +v 0.125000 -0.312500 4.750000 +v 0.125000 0.312500 4.750000 +v -0.125000 0.312500 4.750000 +vt 0.579882 0.543147 +vt 0.585799 0.527919 +vt 0.585799 0.543147 +vt 0.579882 0.776650 +vt 0.585799 0.791878 +vt 0.579882 0.791878 +vt 0.579882 0.558376 +vt 0.585799 0.573604 +vt 0.585799 0.558376 +vt 0.585799 0.588832 +vt 0.579882 0.573604 +vt 0.585799 0.604061 +vt 0.579882 0.588832 +vt 0.585799 0.619289 +vt 0.579882 0.604061 +vt 0.597633 0.700508 +vt 0.603550 0.715736 +vt 0.597633 0.715736 +vt 0.603550 0.761421 +vt 0.597633 0.776650 +vt 0.597633 0.761421 +vt 0.603550 0.730964 +vt 0.597633 0.730964 +vt 0.579882 0.634518 +vt 0.585799 0.649746 +vt 0.579882 0.649746 +vt 0.579882 0.619289 +vt 0.585802 0.434195 +vt 0.591718 0.431475 +vt 0.594464 0.441626 +vt 0.609467 0.451777 +vt 0.597634 0.451777 +vt 0.594464 0.461927 +vt 0.615383 0.431475 +vt 0.621299 0.434195 +vt 0.612637 0.441626 +vt 0.591718 0.472078 +vt 0.585802 0.469358 +vt 0.621299 0.469358 +vt 0.633131 0.477153 +vt 0.615383 0.472078 +vt 0.559179 0.429800 +vt 0.573969 0.431475 +vt 0.562137 0.434195 +vt 0.548351 0.439088 +vt 0.553475 0.441626 +vt 0.550304 0.451777 +vt 0.544388 0.451777 +vt 0.548351 0.464465 +vt 0.553475 0.461927 +vt 0.559179 0.473754 +vt 0.562137 0.469358 +vt 0.573969 0.477153 +vt 0.573969 0.472078 +vt 0.647922 0.429800 +vt 0.633131 0.431475 +vt 0.633131 0.426400 +vt 0.658749 0.439088 +vt 0.644964 0.434195 +vt 0.662713 0.451777 +vt 0.653626 0.441626 +vt 0.653626 0.461927 +vt 0.656796 0.451777 +vt 0.658749 0.464465 +vt 0.644964 0.469358 +vt 0.647922 0.473754 +vt 0.612637 0.461927 +vt 0.573969 0.426400 +vt 0.532544 0.538071 +vt 0.568047 0.527919 +vt 0.568047 0.538071 +vt 0.568047 0.558376 +vt 0.532544 0.568528 +vt 0.532544 0.558376 +vt 0.579882 0.558376 +vt 0.520710 0.538071 +vt 0.585799 0.670051 +vt 0.579882 0.685279 +vt 0.579882 0.670051 +vt 0.597633 0.746193 +vt 0.118343 0.548223 +vt 0.017751 0.532995 +vt 0.118343 0.522843 +vt 0.118343 0.426396 +vt 0.017751 0.441624 +vt 0.017751 0.426396 +vt 0.017751 0.451777 +vt 0.118343 0.451777 +vt 0.000000 0.522843 +vt 0.017751 0.522843 +vt 0.585799 0.685279 +vt 0.579882 0.700508 +vt 0.011834 0.274112 +vt 0.437870 0.294416 +vt 0.011834 0.294416 +vt 0.437870 0.263959 +vt 0.011834 0.263959 +vt 0.011834 0.304569 +vt 0.437870 0.304569 +vt 0.000000 0.274112 +vt 0.000000 0.294416 +vt 0.585799 0.700508 +vt 0.579882 0.715736 +vt 0.585799 0.715736 +vt 0.579882 0.730964 +vt 0.585799 0.746193 +vt 0.585799 0.730964 +vt 0.585799 0.761421 +vt 0.579882 0.746193 +vt 0.585799 0.776650 +vt 0.579882 0.761421 +vt 0.603550 0.776650 +vt 0.597633 0.791878 +vt 0.597633 0.776650 +vt 0.603550 0.543147 +vt 0.597633 0.527919 +vt 0.603550 0.527919 +vt 0.603550 0.558376 +vt 0.597633 0.543147 +vt 0.603550 0.573604 +vt 0.597633 0.558376 +vt 0.597633 0.588832 +vt 0.597633 0.573604 +vt 0.603550 0.588832 +vt 0.597633 0.604061 +vt 0.603550 0.619289 +vt 0.603550 0.604061 +vt 0.603550 0.634518 +vt 0.597633 0.649746 +vt 0.597633 0.634518 +vt 0.597633 0.619289 +vt 0.603550 0.685279 +vt 0.597633 0.670051 +vt 0.603550 0.670051 +vt 0.603550 0.649746 +vt 0.597633 0.685279 +vt 0.603550 0.700508 +vt 0.597633 0.700508 +vt 0.603550 0.746193 +vt 0.597633 0.761421 +vt 0.597633 0.746193 +vt 0.603550 0.730964 +vt 0.597633 0.730964 +vt 0.597633 0.715736 +vt 0.603550 0.761421 +vt 0.603550 0.715736 +vt 0.603550 0.746193 +vt 0.597633 0.685279 +vt 0.603550 0.700508 +vt 0.597633 0.670051 +vt 0.603550 0.649746 +vt 0.603550 0.670051 +vt 0.603550 0.685279 +vt 0.603550 0.634518 +vt 0.597633 0.619289 +vt 0.603550 0.619289 +vt 0.597633 0.649746 +vt 0.597633 0.634518 +vt 0.597633 0.604061 +vt 0.603550 0.604061 +vt 0.603550 0.588832 +vt 0.597633 0.588832 +vt 0.603550 0.573604 +vt 0.597633 0.573604 +vt 0.597633 0.558376 +vt 0.603550 0.558376 +vt 0.597633 0.543147 +vt 0.603550 0.543147 +vt 0.597633 0.527919 +vt 0.603550 0.527919 +vt 0.603550 0.776650 +vt 0.597633 0.791878 +vt 0.585799 0.776650 +vt 0.579882 0.761421 +vt 0.585799 0.761421 +vt 0.579882 0.746193 +vt 0.585799 0.746193 +vt 0.579882 0.730964 +vt 0.585799 0.730964 +vt 0.585799 0.715736 +vt 0.579882 0.715736 +vt 0.585799 0.700508 +vt 0.579882 0.700508 +vt 0.585799 0.685279 +vt 0.579882 0.685279 +vt 0.579882 0.649746 +vt 0.585799 0.670051 +vt 0.579882 0.670051 +vt 0.585799 0.619289 +vt 0.579882 0.634518 +vt 0.579882 0.619289 +vt 0.585799 0.649746 +vt 0.579882 0.604061 +vt 0.585799 0.604061 +vt 0.579882 0.588832 +vt 0.585799 0.588832 +vt 0.579882 0.573604 +vt 0.585799 0.573604 +vt 0.579882 0.558376 +vt 0.585799 0.558376 +vt 0.585799 0.543147 +vt 0.579882 0.543147 +vt 0.579882 0.776650 +vt 0.585799 0.791878 +vt 0.579882 0.791878 +vt 0.585799 0.527919 +vt 0.579882 0.527919 +vt 0.585799 0.634518 +vt 0.633131 0.472078 +vt 0.532544 0.527919 +vt 0.568047 0.568528 +vt 0.579882 0.538071 +vt 0.520710 0.558376 +vt 0.017751 0.548223 +vt -0.000000 0.451777 +vt 0.437870 0.274112 +vt 0.603550 0.791878 +vt 0.603550 0.791878 +vt 0.585799 0.634518 +vt 0.579882 0.527919 +vt 0.437870 0.121827 +vt 0.011834 0.142132 +vt 0.011834 0.121827 +vt 0.011834 0.411168 +vt 0.437870 0.426396 +vt 0.011834 0.426396 +vt 0.437870 0.319797 +vt 0.437870 0.091371 +vt 0.011834 0.081218 +vt 0.437870 0.081218 +vt 0.437870 0.335025 +vt 0.011834 0.319797 +vt 0.437870 0.101523 +vt 0.011834 0.091371 +vt 0.437870 0.091371 +vt 0.011834 0.071066 +vt 0.437870 0.071066 +vt 0.437870 0.350254 +vt 0.011834 0.335025 +vt 0.011834 0.081218 +vt 0.437870 0.081218 +vt 0.011834 0.060914 +vt 0.437870 0.060914 +vt 0.437870 0.365482 +vt 0.011834 0.350254 +vt 0.011834 0.071066 +vt 0.437870 0.071066 +vt 0.437870 0.380711 +vt 0.011834 0.365482 +vt 0.011834 0.060914 +vt 0.437870 0.060914 +vt 0.437870 0.395939 +vt 0.011834 0.380711 +vt 0.011834 0.050761 +vt 0.437870 0.050761 +vt 0.437870 0.411168 +vt 0.011834 0.395939 +vt 0.011834 0.040609 +vt 0.437870 0.040609 +vt 0.011834 0.050761 +vt 0.437870 0.050761 +vt 0.011834 0.030457 +vt 0.437870 0.030457 +vt 0.011834 0.040609 +vt 0.437870 0.040609 +vt 0.011834 0.020305 +vt 0.437870 0.020305 +vt 0.437870 0.172589 +vt 0.011834 0.157360 +vt 0.437870 0.157360 +vt 0.011834 0.030457 +vt 0.437870 0.030457 +vt 0.011834 0.010152 +vt 0.437870 0.010152 +vt 0.437870 0.187817 +vt 0.011834 0.172589 +vt 0.011834 0.020305 +vt 0.437870 0.020305 +vt 0.011834 0.000000 +vt 0.437870 0.000000 +vt 0.437870 0.203046 +vt 0.011834 0.187817 +vt 0.011834 0.010152 +vt 0.437870 0.010152 +vt 0.437870 0.121827 +vt 0.011834 0.111675 +vt 0.437870 0.111675 +vt 0.437870 0.218274 +vt 0.011834 0.203046 +vt 0.011834 0.000000 +vt 0.437870 0.000000 +vt 0.011834 0.101523 +vt 0.437870 0.101523 +vt 0.437870 0.233503 +vt 0.011834 0.218274 +vt 0.437870 0.121827 +vt 0.011834 0.111675 +vt 0.437870 0.111675 +vt 0.011834 0.091371 +vt 0.437870 0.248731 +vt 0.011834 0.233503 +vt 0.011834 0.101523 +vt 0.437870 0.142132 +vt 0.556213 0.710660 +vt 0.556213 0.715736 +vt 0.550296 0.710660 +vt 0.556213 0.705584 +vt 0.550296 0.705584 +vt 0.550296 0.700508 +vt 0.556213 0.700508 +vt 0.544379 0.705584 +vt 0.544379 0.700508 +vt 0.550296 0.715736 +vt 0.544379 0.710660 +vt 0.538462 0.705584 +vt 0.538462 0.700508 +vt 0.544379 0.715736 +vt 0.538462 0.710660 +vt 0.538462 0.715736 +vt 0.532544 0.710660 +vt 0.532544 0.705584 +vt 0.532544 0.700508 +vt 0.579882 0.705584 +vt 0.573964 0.700508 +vt 0.579882 0.700508 +vt 0.579882 0.710660 +vt 0.579882 0.715736 +vt 0.573964 0.710660 +vt 0.573964 0.705584 +vt 0.568047 0.700508 +vt 0.573964 0.715736 +vt 0.568047 0.710660 +vt 0.568047 0.705584 +vt 0.562130 0.705584 +vt 0.562130 0.700508 +vt 0.568047 0.715736 +vt 0.562130 0.710660 +vt 0.562130 0.715736 +vt 0.011834 0.248731 +vt 0.011834 0.121827 +vt 0.011834 0.121827 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -0.9932 0.1168 +vn 0.3162 0.9487 0.0000 +vn 0.0300 0.9996 0.0000 +vn -0.0300 0.9996 0.0000 +vn -0.3162 0.9487 0.0000 +vn -0.5000 0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn -0.1602 -0.9871 0.0000 +vn -0.0300 -0.9996 0.0000 +vn -0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.1602 -0.9871 0.0000 +vn 0.0300 -0.9996 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.0000 0.6630 -0.7486 +vn 0.5294 0.6630 -0.5294 +vn 0.7071 0.0000 -0.7071 +vn 0.6533 -0.3827 -0.6533 +vn -0.0000 -0.3827 -0.9239 +vn 0.9239 -0.3827 0.0000 +vn 0.7486 0.6630 -0.0000 +vn 0.7071 0.0000 0.7071 +vn 0.6533 -0.3827 0.6533 +vn 0.5294 0.6630 0.5294 +vn 0.0000 0.6630 0.7486 +vn 0.0000 -0.3827 0.9239 +vn -0.6533 -0.3827 0.6533 +vn -0.5294 0.6630 0.5294 +vn -0.7071 0.0000 0.7071 +vn -0.9239 -0.3827 -0.0000 +vn -0.7486 0.6630 0.0000 +vn -0.7071 0.0000 -0.7071 +vn -0.6533 -0.3827 -0.6533 +vn -0.5294 0.6630 -0.5294 +s off +f 482/749/201 471/750/201 690/751/201 +f 475/752/201 472/753/201 492/754/201 +f 690/751/201 483/755/201 482/749/201 +f 699/756/201 483/755/201 698/757/201 +f 621/758/201 484/759/201 699/756/201 +f 536/760/201 485/761/201 621/758/201 +f 535/762/201 486/763/201 536/760/201 +f 709/764/202 516/765/202 708/766/202 +f 519/767/202 711/768/202 705/769/202 +f 708/766/202 517/770/202 707/771/202 +f 488/772/201 474/773/201 490/774/201 +f 535/762/201 488/772/201 487/775/201 +f 611/776/201 628/777/201 590/778/201 +f 590/778/201 592/779/201 593/780/201 +f 592/779/201 589/781/201 593/780/201 +f 627/782/201 597/783/201 591/784/201 +f 589/781/201 666/785/201 612/786/201 +f 595/787/201 581/788/201 667/789/201 +f 587/790/201 610/791/201 609/792/201 +f 586/793/201 609/792/201 608/794/201 +f 586/793/201 607/795/201 585/796/201 +f 584/797/201 607/795/201 606/798/201 +f 582/799/201 606/798/201 604/800/201 +f 583/801/201 604/800/201 605/802/201 +f 590/778/201 627/782/201 591/784/201 +f 612/786/201 583/801/201 605/802/201 +f 575/803/201 598/804/201 576/805/201 +f 577/806/201 599/807/201 575/803/201 +f 578/808/201 600/809/201 577/806/201 +f 578/808/201 602/810/201 601/811/201 +f 579/812/201 603/813/201 602/810/201 +f 581/788/201 603/813/201 580/814/201 +f 595/787/201 667/789/201 594/815/201 +f 611/776/201 588/816/201 628/777/201 +f 576/805/201 597/783/201 627/782/201 +f 619/817/203 616/818/203 617/819/203 +f 618/820/204 613/821/204 620/822/204 +f 617/819/202 615/823/202 618/820/202 +f 620/822/201 614/824/201 619/817/201 +f 619/817/205 618/820/205 620/822/205 +f 667/789/201 589/781/201 594/815/201 +f 473/825/201 476/826/201 489/827/201 +f 490/774/201 473/825/201 489/827/201 +f 517/770/202 706/828/202 707/771/202 +f 660/829/203 662/830/203 658/831/203 +f 661/832/204 663/833/204 665/834/204 +f 658/831/206 663/835/206 659/836/206 +f 664/837/201 663/835/201 662/838/201 +f 696/839/201 477/840/201 476/826/201 +f 672/841/205 670/842/205 671/843/205 +f 669/844/203 672/841/203 667/845/203 +f 666/846/204 670/842/204 668/847/204 +f 667/848/201 671/843/201 666/849/201 +f 695/850/201 478/851/201 477/840/201 +f 694/852/201 479/853/201 478/851/201 +f 692/854/201 479/853/201 693/855/201 +f 691/856/201 480/857/201 692/854/201 +f 697/858/201 481/859/201 691/856/201 +f 689/860/202 494/861/202 523/862/202 +f 682/863/202 493/864/202 623/865/202 +f 681/866/202 533/867/202 682/863/202 +f 680/868/202 502/869/202 681/866/202 +f 680/868/202 500/870/202 501/871/202 +f 679/872/202 499/873/202 500/870/202 +f 677/874/202 499/873/202 678/875/202 +f 676/876/202 496/877/202 497/878/202 +f 676/876/202 498/879/202 677/874/202 +f 688/880/202 495/881/202 675/882/202 +f 495/881/202 674/883/202 675/882/202 +f 524/884/202 687/885/202 525/886/202 +f 684/887/202 532/888/202 531/889/202 +f 685/890/202 531/889/202 530/891/202 +f 526/892/202 685/890/202 530/891/202 +f 683/893/202 523/862/202 532/888/202 +f 525/886/202 686/894/202 526/892/202 +f 518/895/202 705/769/202 706/828/202 +f 710/896/202 515/897/202 709/764/202 +f 719/898/202 655/899/202 641/900/202 +f 514/901/202 719/898/202 641/900/202 +f 624/902/202 716/903/202 529/904/202 +f 624/902/202 718/905/202 717/906/202 +f 529/904/202 715/907/202 528/908/202 +f 527/909/202 715/907/202 714/910/202 +f 522/911/202 714/910/202 713/912/202 +f 522/911/202 712/913/202 521/914/202 +f 521/914/202 704/915/202 520/916/202 +f 520/916/202 721/917/202 656/918/202 +f 513/919/202 720/920/202 711/768/202 +f 505/921/201 733/922/201 511/923/201 +f 511/923/201 734/924/201 510/925/201 +f 510/925/201 735/926/201 509/927/201 +f 508/928/201 735/926/201 736/929/201 +f 507/930/201 736/929/201 737/931/201 +f 506/932/201 737/931/201 738/933/201 +f 724/934/201 741/935/201 725/936/201 +f 741/935/201 738/933/201 725/936/201 +f 702/937/201 726/938/201 727/939/201 +f 726/938/201 740/940/201 724/934/201 +f 702/937/201 728/941/201 701/942/201 +f 701/942/201 729/943/201 700/944/201 +f 700/944/201 730/945/201 503/946/201 +f 503/946/201 731/947/201 504/948/201 +f 512/949/201 731/947/201 732/950/201 +f 739/951/201 742/952/201 722/953/201 +f 732/950/201 743/954/201 512/949/201 +f 482/749/201 491/955/201 471/750/201 +f 475/752/201 697/858/201 472/753/201 +f 690/751/201 698/757/201 483/755/201 +f 699/756/201 484/759/201 483/755/201 +f 621/758/201 485/761/201 484/759/201 +f 536/760/201 486/763/201 485/761/201 +f 535/762/201 487/775/201 486/763/201 +f 709/764/202 515/897/202 516/765/202 +f 519/767/202 513/919/202 711/768/202 +f 708/766/202 516/765/202 517/770/202 +f 488/772/201 534/956/201 474/773/201 +f 535/762/201 534/956/201 488/772/201 +f 590/778/201 591/784/201 592/779/201 +f 592/779/201 594/815/201 589/781/201 +f 595/787/201 596/957/201 581/788/201 +f 587/790/201 588/816/201 610/791/201 +f 586/793/201 587/790/201 609/792/201 +f 586/793/201 608/794/201 607/795/201 +f 584/797/201 585/796/201 607/795/201 +f 582/799/201 584/797/201 606/798/201 +f 583/801/201 582/799/201 604/800/201 +f 590/778/201 628/777/201 627/782/201 +f 612/786/201 666/785/201 583/801/201 +f 575/803/201 599/807/201 598/804/201 +f 577/806/201 600/809/201 599/807/201 +f 578/808/201 601/811/201 600/809/201 +f 578/808/201 579/812/201 602/810/201 +f 579/812/201 580/814/201 603/813/201 +f 581/788/201 596/957/201 603/813/201 +f 611/776/201 610/791/201 588/816/201 +f 576/805/201 598/804/201 597/783/201 +f 619/817/203 614/958/203 616/818/203 +f 618/820/204 615/959/204 613/821/204 +f 617/819/202 616/960/202 615/823/202 +f 620/822/201 613/961/201 614/824/201 +f 619/817/205 617/819/205 618/820/205 +f 667/789/201 666/785/201 589/781/201 +f 473/825/201 696/839/201 476/826/201 +f 490/774/201 474/773/201 473/825/201 +f 517/770/202 518/895/202 706/828/202 +f 660/829/203 664/962/203 662/830/203 +f 661/832/204 659/836/204 663/833/204 +f 658/831/206 662/838/206 663/835/206 +f 664/837/201 665/963/201 663/835/201 +f 696/839/201 695/850/201 477/840/201 +f 672/841/205 673/964/205 670/842/205 +f 669/844/203 673/964/203 672/841/203 +f 666/846/204 671/843/204 670/842/204 +f 667/848/201 672/841/201 671/843/201 +f 695/850/201 694/852/201 478/851/201 +f 694/852/201 693/855/201 479/853/201 +f 692/854/201 480/857/201 479/853/201 +f 691/856/201 481/859/201 480/857/201 +f 697/858/201 475/752/201 481/859/201 +f 689/860/202 622/965/202 494/861/202 +f 682/863/202 533/867/202 493/864/202 +f 681/866/202 502/869/202 533/867/202 +f 680/868/202 501/871/202 502/869/202 +f 680/868/202 679/872/202 500/870/202 +f 679/872/202 678/875/202 499/873/202 +f 677/874/202 498/879/202 499/873/202 +f 676/876/202 674/883/202 496/877/202 +f 676/876/202 497/878/202 498/879/202 +f 688/880/202 524/884/202 495/881/202 +f 495/881/202 496/877/202 674/883/202 +f 524/884/202 688/880/202 687/885/202 +f 684/887/202 683/893/202 532/888/202 +f 685/890/202 684/887/202 531/889/202 +f 526/892/202 686/894/202 685/890/202 +f 683/893/202 689/860/202 523/862/202 +f 525/886/202 687/885/202 686/894/202 +f 518/895/202 519/767/202 705/769/202 +f 710/896/202 514/901/202 515/897/202 +f 719/898/202 718/905/202 655/899/202 +f 514/901/202 710/896/202 719/898/202 +f 624/902/202 717/906/202 716/903/202 +f 624/902/202 655/899/202 718/905/202 +f 529/904/202 716/903/202 715/907/202 +f 527/909/202 528/908/202 715/907/202 +f 522/911/202 527/909/202 714/910/202 +f 522/911/202 713/912/202 712/913/202 +f 521/914/202 712/913/202 704/915/202 +f 520/916/202 704/915/202 721/917/202 +f 513/919/202 657/966/202 720/920/202 +f 505/921/201 739/951/201 733/922/201 +f 511/923/201 733/922/201 734/924/201 +f 510/925/201 734/924/201 735/926/201 +f 508/928/201 509/927/201 735/926/201 +f 507/930/201 508/928/201 736/929/201 +f 506/932/201 507/930/201 737/931/201 +f 724/934/201 740/940/201 741/935/201 +f 741/935/201 506/932/201 738/933/201 +f 702/937/201 703/967/201 726/938/201 +f 726/938/201 703/967/201 740/940/201 +f 702/937/201 727/939/201 728/941/201 +f 701/942/201 728/941/201 729/943/201 +f 700/944/201 729/943/201 730/945/201 +f 503/946/201 730/945/201 731/947/201 +f 512/949/201 504/948/201 731/947/201 +f 739/951/201 505/921/201 742/952/201 +f 732/950/201 723/968/201 743/954/201 +s 1 +f 471/750/207 533/867/208 690/751/208 +f 523/862/209 472/753/210 697/858/209 +f 504/948/211 713/912/212 503/946/212 +f 473/825/213 524/884/214 696/839/214 +f 700/944/204 715/907/215 701/942/215 +f 701/942/215 716/903/216 702/937/216 +f 512/949/208 712/913/211 504/948/211 +f 473/825/213 496/877/217 495/881/213 +f 497/878/218 474/773/217 534/956/218 +f 626/969/217 627/970/213 628/971/217 +f 588/972/218 626/973/217 628/974/217 +f 544/975/208 666/846/207 668/847/207 +f 572/976/204 589/977/215 573/978/215 +f 545/979/211 583/980/208 544/975/208 +f 559/981/212 601/982/204 560/983/204 +f 573/978/215 612/984/216 574/985/216 +f 546/986/212 582/987/211 545/979/211 +f 560/983/204 602/988/215 561/989/215 +f 574/985/216 605/990/219 563/991/219 +f 547/992/204 584/993/212 546/986/212 +f 561/989/215 603/994/216 562/995/216 +f 548/996/215 585/997/204 547/992/204 +f 562/995/216 596/998/219 551/999/219 +f 549/1000/216 586/1001/215 548/996/215 +f 563/991/219 604/1002/220 564/1003/220 +f 550/1004/218 587/1005/216 549/1000/216 +f 564/1003/220 606/1006/221 565/1007/221 +f 551/999/219 595/1008/220 552/1009/220 +f 565/1007/221 607/1010/203 566/1011/203 +f 552/1009/220 594/1012/221 553/1013/221 +f 566/1011/203 608/1014/222 567/1015/222 +f 539/1016/220 576/1017/214 538/1018/214 +f 553/1013/221 592/1019/203 554/1020/203 +f 567/1015/222 609/1021/223 568/1022/223 +f 540/1023/221 575/1024/220 539/1016/220 +f 554/1020/203 591/1025/222 555/1026/222 +f 568/1022/223 610/1027/205 569/1028/205 +f 541/1029/203 577/1030/221 540/1023/221 +f 555/1026/222 597/1031/223 556/1032/223 +f 569/1033/205 611/1034/211 570/1035/211 +f 542/1036/222 578/1037/203 541/1029/203 +f 556/1032/223 598/1038/205 557/1039/205 +f 570/1035/211 590/1040/212 571/1041/212 +f 543/1042/223 579/1043/222 542/1036/222 +f 557/1044/205 599/1045/211 558/1046/211 +f 571/1041/212 593/1047/204 572/976/204 +f 537/1048/209 580/1049/223 543/1042/223 +f 558/1046/211 600/1050/212 559/981/212 +f 510/925/222 705/769/223 511/923/223 +f 511/923/223 711/768/209 505/921/209 +f 576/1017/214 625/1051/213 538/1018/214 +f 629/1052/224 645/1053/205 632/1054/225 +f 630/1055/202 632/1054/225 633/1056/226 +f 630/1055/202 634/1057/227 631/1058/228 +f 632/1054/225 636/1059/203 633/1056/226 +f 633/1056/226 637/1060/229 634/1057/227 +f 632/1054/225 645/1061/205 635/1062/230 +f 635/1062/230 639/1063/231 636/1059/203 +f 637/1060/229 639/1063/231 640/1064/232 +f 635/1062/230 645/1065/205 638/1066/233 +f 638/1066/233 645/1067/205 642/1068/234 +f 638/1066/233 643/1069/201 639/1063/231 +f 640/1064/232 643/1069/201 644/1070/235 +f 643/1071/201 648/1072/236 644/1073/235 +f 642/1074/234 645/1075/205 646/1076/237 +f 507/930/220 708/766/221 508/928/221 +f 643/1071/201 646/1076/237 647/1077/238 +f 647/1077/238 651/1078/239 648/1072/236 +f 646/1076/237 645/1079/205 649/1080/240 +f 503/946/212 714/910/204 700/944/204 +f 647/1077/238 649/1080/240 650/1081/204 +f 651/1078/239 653/1082/241 654/1083/242 +f 649/1080/240 645/1084/205 652/1085/243 +f 649/1080/240 653/1082/241 650/1081/204 +f 653/1082/241 631/1058/228 654/1083/242 +f 652/1085/243 645/1086/205 629/1052/224 +f 652/1085/243 630/1055/202 653/1082/241 +f 669/844/210 581/1087/209 537/1048/209 +f 696/839/214 525/886/220 695/850/220 +f 694/852/221 530/891/203 693/855/203 +f 693/855/203 531/889/222 692/854/222 +f 535/762/216 497/878/218 534/956/218 +f 699/756/212 500/870/204 621/758/204 +f 695/850/220 526/892/221 694/852/221 +f 691/856/223 523/862/209 697/858/209 +f 692/854/222 532/888/223 691/856/223 +f 690/751/208 502/869/211 698/757/211 +f 536/760/215 498/879/216 535/762/216 +f 621/758/204 499/873/215 536/760/215 +f 698/757/211 501/871/212 699/756/212 +f 702/937/216 717/906/218 703/967/218 +f 509/927/203 706/828/222 510/925/222 +f 508/928/221 707/771/203 509/927/203 +f 506/932/214 709/764/220 507/930/220 +f 717/906/218 740/940/217 703/967/218 +f 741/935/213 718/905/217 719/898/213 +f 741/935/213 710/896/214 506/932/214 +f 711/768/209 742/952/210 505/921/209 +f 743/954/207 704/915/208 512/949/208 +f 471/750/207 493/864/207 533/867/208 +f 523/862/209 494/861/210 472/753/210 +f 504/948/211 712/913/211 713/912/212 +f 473/825/213 495/881/213 524/884/214 +f 700/944/204 714/910/204 715/907/215 +f 701/942/215 715/907/215 716/903/216 +f 512/949/208 704/915/208 712/913/211 +f 473/825/213 474/773/217 496/877/217 +f 497/878/218 496/877/217 474/773/217 +f 626/969/217 625/1051/213 627/970/213 +f 588/972/218 550/1004/218 626/973/217 +f 544/975/208 583/980/208 666/846/207 +f 572/976/204 593/1047/204 589/977/215 +f 545/979/211 582/987/211 583/980/208 +f 559/981/212 600/1050/212 601/982/204 +f 573/978/215 589/977/215 612/984/216 +f 546/986/212 584/993/212 582/987/211 +f 560/983/204 601/982/204 602/988/215 +f 574/985/216 612/984/216 605/990/219 +f 547/992/204 585/997/204 584/993/212 +f 561/989/215 602/988/215 603/994/216 +f 548/996/215 586/1001/215 585/997/204 +f 562/995/216 603/994/216 596/998/219 +f 549/1000/216 587/1005/216 586/1001/215 +f 563/991/219 605/990/219 604/1002/220 +f 550/1004/218 588/972/218 587/1005/216 +f 564/1003/220 604/1002/220 606/1006/221 +f 551/999/219 596/998/219 595/1008/220 +f 565/1007/221 606/1006/221 607/1010/203 +f 552/1009/220 595/1008/220 594/1012/221 +f 566/1011/203 607/1010/203 608/1014/222 +f 539/1016/220 575/1024/220 576/1017/214 +f 553/1013/221 594/1012/221 592/1019/203 +f 567/1015/222 608/1014/222 609/1021/223 +f 540/1023/221 577/1030/221 575/1024/220 +f 554/1020/203 592/1019/203 591/1025/222 +f 568/1022/223 609/1021/223 610/1027/205 +f 541/1029/203 578/1037/203 577/1030/221 +f 555/1026/222 591/1025/222 597/1031/223 +f 569/1033/205 610/1088/205 611/1034/211 +f 542/1036/222 579/1043/222 578/1037/203 +f 556/1032/223 597/1031/223 598/1038/205 +f 570/1035/211 611/1034/211 590/1040/212 +f 543/1042/223 580/1049/223 579/1043/222 +f 557/1044/205 598/1089/205 599/1045/211 +f 571/1041/212 590/1040/212 593/1047/204 +f 537/1048/209 581/1087/209 580/1049/223 +f 558/1046/211 599/1045/211 600/1050/212 +f 510/925/222 706/828/222 705/769/223 +f 511/923/223 705/769/223 711/768/209 +f 576/1017/214 627/970/213 625/1051/213 +f 630/1055/202 629/1052/224 632/1054/225 +f 630/1055/202 633/1056/226 634/1057/227 +f 632/1054/225 635/1062/230 636/1059/203 +f 633/1056/226 636/1059/203 637/1060/229 +f 635/1062/230 638/1066/233 639/1063/231 +f 637/1060/229 636/1059/203 639/1063/231 +f 638/1066/233 642/1068/234 643/1069/201 +f 640/1064/232 639/1063/231 643/1069/201 +f 643/1071/201 647/1077/238 648/1072/236 +f 507/930/220 709/764/220 708/766/221 +f 643/1071/201 642/1074/234 646/1076/237 +f 647/1077/238 650/1081/204 651/1078/239 +f 503/946/212 713/912/212 714/910/204 +f 647/1077/238 646/1076/237 649/1080/240 +f 651/1078/239 650/1081/204 653/1082/241 +f 649/1080/240 652/1085/243 653/1082/241 +f 653/1082/241 630/1055/202 631/1058/228 +f 652/1085/243 629/1052/224 630/1055/202 +f 669/844/210 667/845/210 581/1087/209 +f 696/839/214 524/884/214 525/886/220 +f 694/852/221 526/892/221 530/891/203 +f 693/855/203 530/891/203 531/889/222 +f 535/762/216 498/879/216 497/878/218 +f 699/756/212 501/871/212 500/870/204 +f 695/850/220 525/886/220 526/892/221 +f 691/856/223 532/888/223 523/862/209 +f 692/854/222 531/889/222 532/888/223 +f 690/751/208 533/867/208 502/869/211 +f 536/760/215 499/873/215 498/879/216 +f 621/758/204 500/870/204 499/873/215 +f 698/757/211 502/869/211 501/871/212 +f 702/937/216 716/903/216 717/906/218 +f 509/927/203 707/771/203 706/828/222 +f 508/928/221 708/766/221 707/771/203 +f 506/932/214 710/896/214 709/764/220 +f 717/906/218 718/905/217 740/940/217 +f 741/935/213 740/940/217 718/905/217 +f 741/935/213 719/898/213 710/896/214 +f 711/768/209 720/920/210 742/952/210 +f 743/954/207 721/917/207 704/915/208 +o BarrelShort +v -0.250000 0.375000 -1.625000 +v -0.375000 0.375000 -1.625000 +v -0.187500 0.250000 -1.625000 +v -0.437500 0.250000 -1.625000 +v -0.250000 0.375000 -1.687500 +v -0.375000 0.375000 -1.687500 +v -0.187500 0.250000 -1.687500 +v -0.437500 0.250000 -1.687500 +v -0.250000 0.375000 -1.063500 +v -0.375000 0.375000 -1.063500 +v -0.187500 0.250000 -1.063500 +v -0.437500 0.250000 -1.063500 +v -0.250000 0.375000 -1.501000 +v -0.375000 0.375000 -1.501000 +v -0.187500 0.250000 -1.501000 +v -0.437500 0.250000 -1.501000 +v 0.437500 -0.562500 -0.750000 +v -0.437500 -0.562500 -0.750000 +v 0.437500 -0.250000 -0.750000 +v -0.437500 -0.250000 -0.750000 +v 0.437500 -0.562500 3.437500 +v -0.437500 -0.562500 3.437500 +v 0.437500 -0.250000 3.437500 +v -0.437500 -0.250000 3.437500 +v 0.125000 -0.437500 -1.062500 +v 0.125000 -0.304917 -1.007583 +v 0.125000 -0.250000 -0.875000 +v 0.125000 -0.304917 -0.742417 +v 0.125000 -0.437500 -0.687500 +v 0.125000 -0.570082 -0.742418 +v 0.125000 -0.625000 -0.875000 +v 0.125000 -0.570082 -1.007583 +v -0.125000 -0.437500 -1.062500 +v -0.125000 -0.304917 -1.007583 +v -0.125000 -0.250000 -0.875000 +v -0.125000 -0.304917 -0.742417 +v -0.125000 -0.437500 -0.687500 +v -0.125000 -0.570082 -0.742418 +v -0.125000 -0.625000 -0.875000 +v -0.125000 -0.570082 -1.007583 +v -0.500000 0.375000 -1.218750 +v -0.375000 0.375000 -1.218750 +v -0.500000 0.375000 -1.343750 +v -0.375000 0.375000 -1.343750 +v -0.500000 0.187500 -1.343750 +v -0.500000 0.187500 -1.218750 +v -0.375000 0.250000 -1.218750 +v -0.375000 0.250000 -1.343750 +v -0.437500 0.375000 -1.343750 +v -0.481694 0.375000 -1.325444 +v -0.500000 0.375000 -1.281250 +v -0.481694 0.375000 -1.237056 +v -0.437500 0.375000 -1.218750 +v -0.393306 0.375000 -1.237056 +v -0.375000 0.375000 -1.281250 +v -0.393306 0.375000 -1.325444 +v -0.437500 0.437500 -1.343750 +v -0.481694 0.437500 -1.325444 +v -0.500000 0.437500 -1.281250 +v -0.481694 0.437500 -1.237056 +v -0.437500 0.437500 -1.218750 +v -0.393306 0.437500 -1.237056 +v -0.375000 0.437500 -1.281250 +v -0.393306 0.437500 -1.325444 +v 0.687500 0.125000 0.000000 +v 0.687500 -0.125000 0.000000 +v 0.687500 0.125000 -0.750000 +v 0.687500 -0.125000 -0.750000 +v 0.562500 0.125000 0.000000 +v 0.562500 -0.125000 0.000000 +v 0.562500 0.125000 -0.750000 +v 0.562500 -0.125000 -0.750000 +v 0.687500 0.125000 -0.750000 +v 0.687500 -0.125000 -0.750000 +v 0.687500 0.125000 -0.625000 +v 0.687500 -0.125000 -0.625000 +v 0.812500 -0.125000 -0.750000 +v 0.812500 0.125000 -0.750000 +v 0.812500 -0.125000 -0.625000 +v 0.812500 0.125000 -0.625000 +v 0.312500 0.312500 3.500000 +v 0.312500 -0.312500 3.500000 +v 0.468750 -0.270633 3.500000 +v 0.583133 -0.156250 3.500000 +v 0.625000 0.000000 3.500000 +v 0.583133 0.156250 3.500000 +v 0.468750 0.270633 3.500000 +v -0.312500 0.312500 3.500000 +v -0.468750 0.270633 3.500000 +v -0.583133 0.156250 3.500000 +v -0.625000 0.000000 3.500000 +v -0.583133 -0.156250 3.500000 +v -0.468750 -0.270633 3.500000 +v -0.312500 -0.312500 3.500000 +v 0.125000 -0.250000 3.500000 +v -0.125000 -0.250000 3.500000 +v -0.125000 0.250000 3.500000 +v 0.125000 0.250000 3.500000 +v -0.125000 0.375000 3.500000 +v 0.125000 0.375000 3.500000 +v 0.312500 0.250000 3.500000 +v 0.187500 0.216506 3.500000 +v 0.095994 0.125000 3.500000 +v 0.062500 0.000000 3.500000 +v 0.095994 -0.125000 3.500000 +v 0.187500 -0.216506 3.500000 +v 0.312500 -0.250000 3.500000 +v 0.437500 -0.216506 3.500000 +v 0.529006 -0.125000 3.500000 +v 0.562500 0.000000 3.500000 +v 0.529006 0.125000 3.500000 +v 0.437500 0.216506 3.500000 +v -0.312500 0.250000 3.500000 +v -0.437500 0.216506 3.500000 +v -0.529006 0.125000 3.500000 +v -0.562500 0.000000 3.500000 +v -0.529006 -0.125000 3.500000 +v -0.437500 -0.216506 3.500000 +v -0.312500 -0.250000 3.500000 +v -0.187500 -0.216506 3.500000 +v -0.095994 -0.125000 3.500000 +v -0.062500 0.000000 3.500000 +v -0.095994 0.125000 3.500000 +v -0.187500 0.216506 3.500000 +v 0.312500 0.250000 -1.750000 +v 0.187500 0.216506 -1.750000 +v 0.095994 0.125000 -1.750000 +v 0.062500 0.000000 -1.750000 +v 0.095994 -0.125000 -1.750000 +v 0.187500 -0.216506 -1.750000 +v 0.312500 -0.250000 -1.750000 +v 0.437500 -0.216506 -1.750000 +v 0.529006 -0.125000 -1.750000 +v 0.562500 0.000000 -1.750000 +v 0.529006 0.125000 -1.750000 +v 0.437500 0.216506 -1.750000 +v -0.312500 0.250000 -1.750000 +v -0.437500 0.216506 -1.750000 +v -0.529006 0.125000 -1.750000 +v -0.562500 0.000000 -1.750000 +v -0.529006 -0.125000 -1.750000 +v -0.437500 -0.216506 -1.750000 +v -0.312500 -0.250000 -1.750000 +v -0.187500 -0.216506 -1.750000 +v -0.095994 -0.125000 -1.750000 +v -0.062500 0.000000 -1.750000 +v -0.095994 0.125000 -1.750000 +v -0.187500 0.216506 -1.750000 +v 0.312500 0.312500 -1.750000 +v 0.312500 -0.312500 -1.750000 +v 0.468750 -0.270633 -1.750000 +v 0.583133 -0.156250 -1.750000 +v 0.625000 0.000000 -1.750000 +v 0.583133 0.156250 -1.750000 +v 0.468750 0.270633 -1.750000 +v -0.312500 0.312500 -1.750000 +v -0.468750 0.270633 -1.750000 +v -0.583133 0.156250 -1.750000 +v -0.625000 0.000000 -1.750000 +v -0.583133 -0.156250 -1.750000 +v -0.468750 -0.270633 -1.750000 +v -0.312500 -0.312500 -1.750000 +v 0.125000 -0.250000 -1.750000 +v -0.125000 -0.250000 -1.750000 +v -0.125000 0.250000 -1.750000 +v 0.125000 0.250000 -1.750000 +v -0.125000 0.375000 -1.875000 +v 0.125000 0.375000 -1.875000 +v -0.125000 0.312500 -2.000000 +v -0.125000 0.250000 -2.000000 +v 0.125000 0.250000 -2.000000 +v 0.125000 0.312500 -2.000000 +vt 0.594464 0.461927 +vt 0.615383 0.472078 +vt 0.591718 0.472078 +vt 0.437870 0.294416 +vt 0.449704 0.274112 +vt 0.449704 0.294416 +vt 0.609467 0.451777 +vt 0.594464 0.441626 +vt 0.612637 0.441626 +vt 0.597634 0.451777 +vt 0.946746 0.304569 +vt 0.449704 0.304569 +vt 0.946746 0.263959 +vt 0.958580 0.274112 +vt 0.958580 0.294416 +vt 0.733728 0.588832 +vt 0.715976 0.598985 +vt 0.721893 0.588832 +vt 0.733728 0.532995 +vt 0.715976 0.543147 +vt 0.721893 0.532995 +vt 0.715976 0.517766 +vt 0.733728 0.527919 +vt 0.721893 0.527919 +vt 0.715976 0.543147 +vt 0.733728 0.553299 +vt 0.721893 0.553299 +vt 0.514793 0.451777 +vt 0.544379 0.522843 +vt 0.514793 0.522843 +vt 0.514793 0.548223 +vt 0.118343 0.522843 +vt 0.118343 0.426396 +vt 0.514793 0.426396 +vt 0.118343 0.451777 +vt 0.088757 0.522843 +vt 0.710030 0.532995 +vt 0.692308 0.548199 +vt 0.674585 0.532995 +vt 0.692308 0.548248 +vt 0.710030 0.563452 +vt 0.692308 0.578655 +vt 0.804734 0.482233 +vt 0.792899 0.472081 +vt 0.804734 0.472081 +vt 0.804734 0.456853 +vt 0.781065 0.461929 +vt 0.792899 0.456853 +vt 0.816568 0.461929 +vt 0.816568 0.472081 +vt 0.822485 0.472043 +vt 0.816612 0.467005 +vt 0.822485 0.461967 +vt 0.011834 0.588832 +vt 0.082840 0.609137 +vt 0.011834 0.609137 +vt 0.082840 0.578680 +vt 0.082840 0.588832 +vt 0.011834 0.619289 +vt 0.094675 0.609137 +vt 0.000000 0.588832 +vt 0.106509 0.609137 +vt 0.118343 0.588832 +vt 0.118343 0.609137 +vt 0.094675 0.588832 +vt 0.094675 0.609137 +vt 0.106509 0.619289 +vt 0.118343 0.619289 +vt 0.130178 0.609137 +vt 0.130178 0.588832 +vt 0.118343 0.578680 +vt 0.106509 0.588832 +vt 0.106509 0.578680 +vt 0.585802 0.469358 +vt 0.621299 0.469358 +vt 0.612637 0.461927 +vt 0.615383 0.431475 +vt 0.591718 0.431475 +vt 0.621299 0.434195 +vt 0.585802 0.434195 +vt 0.633132 0.426400 +vt 0.647922 0.429800 +vt 0.633132 0.431475 +vt 0.658749 0.439088 +vt 0.644964 0.434195 +vt 0.662713 0.451777 +vt 0.653626 0.441626 +vt 0.653626 0.461927 +vt 0.656796 0.451777 +vt 0.658749 0.464465 +vt 0.644964 0.469358 +vt 0.633131 0.477153 +vt 0.647922 0.473754 +vt 0.633131 0.472078 +vt 0.573969 0.426400 +vt 0.573969 0.431475 +vt 0.559179 0.429800 +vt 0.562137 0.434195 +vt 0.548351 0.439088 +vt 0.553475 0.441626 +vt 0.550304 0.451777 +vt 0.544388 0.451777 +vt 0.548351 0.464465 +vt 0.553475 0.461927 +vt 0.559179 0.473754 +vt 0.562137 0.469358 +vt 0.573969 0.477153 +vt 0.573969 0.472078 +vt 1.000000 0.294416 +vt 0.976331 0.274112 +vt 1.000000 0.274112 +vt 0.609467 0.502538 +vt 0.594464 0.492387 +vt 0.612637 0.492387 +vt 0.594464 0.512689 +vt 0.612637 0.512689 +vt 0.615383 0.482237 +vt 0.591718 0.482237 +vt 0.615383 0.522839 +vt 0.591718 0.522839 +vt 0.621299 0.520119 +vt 0.585802 0.520119 +vt 0.573969 0.527915 +vt 0.559179 0.524515 +vt 0.573969 0.522839 +vt 0.548351 0.515226 +vt 0.562137 0.520119 +vt 0.550304 0.502538 +vt 0.544388 0.502538 +vt 0.548351 0.489850 +vt 0.562137 0.484957 +vt 0.559179 0.480561 +vt 0.573969 0.477161 +vt 0.585802 0.484957 +vt 0.633132 0.527915 +vt 0.633132 0.522839 +vt 0.647922 0.524515 +vt 0.644964 0.520119 +vt 0.658749 0.515226 +vt 0.653626 0.512689 +vt 0.662713 0.502538 +vt 0.653626 0.492387 +vt 0.658749 0.489850 +vt 0.644964 0.484957 +vt 0.647922 0.480561 +vt 0.633132 0.477161 +vt 0.621299 0.484957 +vt 0.970414 0.274112 +vt 0.976331 0.294416 +vt 0.970414 0.294416 +vt 0.970414 0.263959 +vt 0.970414 0.269036 +vt 0.970414 0.304569 +vt 0.437870 0.274112 +vt 0.449704 0.263959 +vt 0.739645 0.598985 +vt 0.739645 0.543147 +vt 0.739645 0.517766 +vt 0.739645 0.543147 +vt 0.544379 0.451777 +vt 0.118343 0.548223 +vt 0.088757 0.451777 +vt 0.704839 0.543746 +vt 0.679776 0.543746 +vt 0.679776 0.522244 +vt 0.692308 0.517791 +vt 0.704839 0.522244 +vt 0.679776 0.574202 +vt 0.674585 0.563452 +vt 0.679776 0.552701 +vt 0.704839 0.552701 +vt 0.704839 0.574202 +vt 0.792899 0.482233 +vt 0.781065 0.472081 +vt 0.826638 0.463443 +vt 0.828358 0.467005 +vt 0.826638 0.470568 +vt 0.818333 0.470568 +vt 0.818333 0.463443 +vt 0.011834 0.578680 +vt 0.082840 0.619289 +vt 0.094675 0.588832 +vt -0.000000 0.609137 +vt 0.597634 0.502538 +vt 0.553475 0.512689 +vt 0.553475 0.492387 +vt 0.573969 0.482237 +vt 0.656796 0.502538 +vt 0.633132 0.482237 +vt 0.970414 0.299492 +vt 0.449704 0.142132 +vt 0.946746 0.157360 +vt 0.449704 0.157360 +vt 0.946746 0.218274 +vt 0.449704 0.233503 +vt 0.449704 0.218274 +vt 0.946746 0.395939 +vt 0.449704 0.411168 +vt 0.449704 0.395939 +vt 0.946746 0.203046 +vt 0.449704 0.203046 +vt 0.946746 0.380711 +vt 0.449704 0.380711 +vt 0.946746 0.187817 +vt 0.449704 0.187817 +vt 0.946746 0.365482 +vt 0.449704 0.365482 +vt 0.449704 0.248731 +vt 0.946746 0.172589 +vt 0.449704 0.172589 +vt 0.946746 0.350254 +vt 0.449704 0.350254 +vt 0.946746 0.411168 +vt 0.449704 0.426396 +vt 0.946746 0.335025 +vt 0.449704 0.335025 +vt 0.449704 0.121827 +vt 0.946746 0.142132 +vt 0.946746 0.319797 +vt 0.449704 0.319797 +vt 0.946746 0.233503 +vt 0.710059 0.588832 +vt 0.710059 0.532995 +vt 0.745562 0.527919 +vt 0.745562 0.532995 +vt 0.745562 0.553299 +vt 0.745562 0.588832 +vt 0.650888 0.527919 +vt 0.674556 0.538071 +vt 0.650888 0.538071 +vt 0.650888 0.588832 +vt 0.674556 0.598985 +vt 0.650888 0.598985 +vt 0.650888 0.568528 +vt 0.674556 0.578680 +vt 0.650888 0.578680 +vt 0.650888 0.548223 +vt 0.674556 0.558376 +vt 0.650888 0.558376 +vt 0.674556 0.548223 +vt 0.674556 0.609137 +vt 0.650888 0.609137 +vt 0.674556 0.588832 +vt 0.674556 0.568528 +vt 0.857988 0.461929 +vt 0.863905 0.456853 +vt 0.863905 0.461929 +vt 0.822485 0.461929 +vt 0.828402 0.456853 +vt 0.828402 0.461929 +vt 0.834320 0.461929 +vt 0.840237 0.456853 +vt 0.840237 0.461929 +vt 0.846154 0.456853 +vt 0.846154 0.461929 +vt 0.852071 0.461929 +vt 0.857988 0.456853 +vt 0.816568 0.461929 +vt 0.822485 0.456853 +vt 0.834320 0.456853 +vt 0.852071 0.456853 +vt 0.449704 -0.000000 +vt 0.946746 0.010152 +vt 0.449704 0.010152 +vt 0.449704 0.091371 +vt 0.946746 0.101523 +vt 0.449704 0.101523 +vt 0.449704 0.040609 +vt 0.946746 0.050761 +vt 0.449704 0.050761 +vt 0.449704 0.111675 +vt 0.946746 0.121827 +vt 0.449704 0.121827 +vt 0.449704 0.081218 +vt 0.946746 0.091371 +vt 0.449704 0.030457 +vt 0.946746 0.040609 +vt 0.449704 0.101523 +vt 0.946746 0.111675 +vt 0.449704 0.071066 +vt 0.946746 0.081218 +vt 0.449704 0.050761 +vt 0.946746 0.060914 +vt 0.449704 0.060914 +vt 0.449704 0.020305 +vt 0.946746 0.030457 +vt 0.449704 0.091371 +vt 0.946746 0.101523 +vt 0.449704 0.060914 +vt 0.946746 0.071066 +vt 0.449704 0.040609 +vt 0.946746 0.050761 +vt 0.449704 0.010152 +vt 0.946746 0.020305 +vt 0.449704 0.081218 +vt 0.946746 0.091371 +vt 0.449704 0.030457 +vt 0.946746 0.040609 +vt 0.449704 -0.000000 +vt 0.946746 0.010152 +vt 0.449704 0.071066 +vt 0.946746 0.081218 +vt 0.449704 0.020305 +vt 0.946746 0.030457 +vt 0.449704 0.111675 +vt 0.946746 0.121827 +vt 0.449704 0.121827 +vt 0.946746 0.071066 +vt 0.946746 0.020305 +vt 0.946746 0.111675 +vt 0.946746 0.060914 +vt 0.946746 0.248731 +vt 0.946746 0.426396 +vt 0.946746 0.121827 +vt 0.710059 0.553299 +vt 0.710059 0.527919 +vt 0.674556 0.527919 +vt 0.816568 0.456853 +vt 0.946746 -0.000000 +vt 0.946746 -0.000000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.8944 -0.4472 +vn -0.1602 -0.9871 0.0000 +vn -0.0300 -0.9996 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.0300 -0.9996 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.0300 0.9996 0.0000 +vn -0.3162 0.9487 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.1602 -0.9871 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.0300 0.9996 0.0000 +vn 0.3162 0.9487 0.0000 +vn 0.8944 0.4472 0.0000 +vn 0.5257 0.8507 0.0000 +vn -0.5257 0.8507 0.0000 +vn -0.8944 0.4472 0.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 -0.7071 +s off +f 866/1090/244 841/1091/244 840/1092/244 +f 840/1093/244 843/1094/244 842/1095/244 +f 847/1096/244 864/1097/244 848/1098/244 +f 847/1096/244 866/1090/244 865/1099/244 +f 842/1095/245 908/1100/245 840/1101/245 +f 843/1094/246 909/1102/246 911/1103/246 +f 843/1094/247 910/1104/247 842/1095/247 +f 753/1105/244 754/1106/244 752/1107/244 +f 745/1108/244 746/1109/244 744/1110/244 +f 750/1111/248 749/1112/248 748/1113/248 +f 758/1114/248 757/1115/248 756/1116/248 +f 761/1117/248 762/1118/248 760/1119/248 +f 762/1120/246 764/1121/246 760/1119/246 +f 761/1117/245 767/1122/245 763/1123/245 +f 760/1119/249 765/1124/249 761/1117/249 +f 766/1125/244 765/1124/244 764/1121/244 +f 768/1126/246 770/1127/246 772/1128/246 +f 782/1129/245 780/1130/245 778/1131/245 +f 785/1132/247 786/1133/247 784/1134/247 +f 786/1133/245 789/1135/245 784/1134/245 +f 786/1133/248 791/1136/248 788/1137/248 +f 784/1134/244 790/1138/244 785/1139/244 +f 804/1140/247 806/1141/247 800/1142/247 +f 809/1143/246 810/1144/246 808/1145/246 +f 809/1143/249 815/1146/249 811/1147/249 +f 810/1144/247 812/1148/247 808/1145/247 +f 811/1147/248 814/1149/248 810/1144/248 +f 808/1145/244 813/1150/244 809/1143/244 +f 823/1151/246 820/1152/246 821/1153/246 +f 819/1154/244 823/1151/244 818/1155/244 +f 818/1156/247 821/1153/247 816/1157/247 +f 816/1158/248 820/1152/248 817/1159/248 +f 817/1160/249 822/1161/249 819/1162/249 +f 866/1090/244 840/1092/244 867/1163/244 +f 845/1164/244 841/1091/244 846/1165/244 +f 838/1166/244 864/1097/244 839/1167/244 +f 848/1098/244 838/1166/244 849/1168/244 +f 864/1097/244 863/1169/244 839/1167/244 +f 825/1170/244 849/1168/244 838/1166/244 +f 826/1171/244 850/1172/244 825/1170/244 +f 827/1173/244 851/1174/244 826/1171/244 +f 828/1175/244 852/1176/244 827/1173/244 +f 828/1175/244 854/1177/244 853/1178/244 +f 829/1179/244 855/1180/244 854/1177/244 +f 824/1181/244 855/1180/244 830/1182/244 +f 824/1181/244 845/1164/244 844/1183/244 +f 837/1184/244 863/1169/244 862/1185/244 +f 836/1186/244 862/1185/244 861/1187/244 +f 835/1188/244 861/1187/244 860/1189/244 +f 835/1188/244 859/1190/244 834/1191/244 +f 833/1192/244 859/1190/244 858/1193/244 +f 832/1194/244 858/1193/244 857/1195/244 +f 831/1196/244 857/1195/244 856/1197/244 +f 831/1196/244 867/1163/244 840/1092/244 +f 908/1198/249 914/1199/249 909/1200/249 +f 871/1201/248 890/1202/248 870/1203/248 +f 888/1204/248 871/1201/248 872/1205/248 +f 909/1206/248 890/1202/248 908/1207/248 +f 888/1204/248 906/1208/248 907/1209/248 +f 872/1205/248 873/1210/248 906/1208/248 +f 888/1204/248 907/1209/248 887/1211/248 +f 905/1212/248 887/1211/248 907/1209/248 +f 904/1213/248 886/1214/248 905/1212/248 +f 903/1215/248 885/1216/248 904/1213/248 +f 883/1217/248 903/1215/248 902/1218/248 +f 901/1219/248 883/1217/248 902/1218/248 +f 881/1220/248 901/1219/248 900/1221/248 +f 899/1222/248 881/1220/248 900/1221/248 +f 891/1223/248 899/1222/248 908/1207/248 +f 891/1223/248 908/1207/248 890/1202/248 +f 873/1210/248 893/1224/248 906/1208/248 +f 874/1225/248 894/1226/248 893/1224/248 +f 875/1227/248 895/1228/248 894/1226/248 +f 876/1229/248 896/1230/248 895/1228/248 +f 896/1230/248 878/1231/248 897/1232/248 +f 897/1232/248 879/1233/248 898/1234/248 +f 879/1233/248 892/1235/248 898/1234/248 +f 892/1235/248 869/1236/248 909/1206/248 +f 870/1203/248 909/1206/248 869/1236/248 +f 915/1237/248 913/1238/248 912/1239/248 +f 911/1103/246 914/1240/246 915/1241/246 +f 911/1103/250 912/1239/250 910/1104/250 +f 910/1104/245 913/1242/245 908/1100/245 +f 866/1090/244 846/1165/244 841/1091/244 +f 840/1093/244 841/1243/244 843/1094/244 +f 847/1096/244 865/1099/244 864/1097/244 +f 847/1096/244 846/1165/244 866/1090/244 +f 842/1095/245 910/1104/245 908/1100/245 +f 843/1094/246 841/1244/246 909/1102/246 +f 843/1094/247 911/1103/247 910/1104/247 +f 753/1105/244 755/1245/244 754/1106/244 +f 745/1108/244 747/1246/244 746/1109/244 +f 750/1111/248 751/1247/248 749/1112/248 +f 758/1114/248 759/1248/248 757/1115/248 +f 761/1117/248 763/1249/248 762/1118/248 +f 762/1120/246 766/1250/246 764/1121/246 +f 761/1117/245 765/1124/245 767/1122/245 +f 760/1119/249 764/1121/249 765/1124/249 +f 766/1125/244 767/1251/244 765/1124/244 +f 768/1126/246 769/1252/246 770/1127/246 +f 770/1127/246 771/1253/246 772/1128/246 +f 772/1128/246 773/1254/246 768/1126/246 +f 773/1254/246 774/1255/246 768/1126/246 +f 774/1255/246 775/1256/246 768/1126/246 +f 778/1131/245 777/1257/245 776/1258/245 +f 776/1258/245 783/1259/245 782/1129/245 +f 782/1129/245 781/1260/245 780/1130/245 +f 780/1130/245 779/1261/245 778/1131/245 +f 778/1131/245 776/1258/245 782/1129/245 +f 785/1132/247 787/1262/247 786/1133/247 +f 786/1133/245 788/1137/245 789/1135/245 +f 786/1133/248 787/1263/248 791/1136/248 +f 784/1134/244 789/1135/244 790/1138/244 +f 800/1142/247 801/1264/247 802/1265/247 +f 802/1265/247 803/1266/247 804/1140/247 +f 804/1140/247 805/1267/247 806/1141/247 +f 806/1141/247 807/1268/247 800/1142/247 +f 800/1142/247 802/1265/247 804/1140/247 +f 809/1143/246 811/1147/246 810/1144/246 +f 809/1143/249 813/1269/249 815/1146/249 +f 810/1144/247 814/1270/247 812/1148/247 +f 811/1147/248 815/1271/248 814/1149/248 +f 808/1145/244 812/1272/244 813/1150/244 +f 823/1151/246 822/1161/246 820/1152/246 +f 819/1154/244 822/1161/244 823/1151/244 +f 818/1156/247 823/1151/247 821/1153/247 +f 816/1158/248 821/1153/248 820/1152/248 +f 817/1160/249 820/1152/249 822/1161/249 +f 838/1166/244 848/1098/244 864/1097/244 +f 825/1170/244 850/1172/244 849/1168/244 +f 826/1171/244 851/1174/244 850/1172/244 +f 827/1173/244 852/1176/244 851/1174/244 +f 828/1175/244 853/1178/244 852/1176/244 +f 828/1175/244 829/1179/244 854/1177/244 +f 829/1179/244 830/1182/244 855/1180/244 +f 824/1181/244 844/1183/244 855/1180/244 +f 824/1181/244 841/1091/244 845/1164/244 +f 837/1184/244 839/1167/244 863/1169/244 +f 836/1186/244 837/1184/244 862/1185/244 +f 835/1188/244 836/1186/244 861/1187/244 +f 835/1188/244 860/1189/244 859/1190/244 +f 833/1192/244 834/1191/244 859/1190/244 +f 832/1194/244 833/1192/244 858/1193/244 +f 831/1196/244 832/1194/244 857/1195/244 +f 831/1196/244 856/1197/244 867/1163/244 +f 908/1198/249 913/1238/249 914/1199/249 +f 871/1201/248 889/1273/248 890/1202/248 +f 888/1204/248 889/1273/248 871/1201/248 +f 909/1206/248 870/1203/248 890/1202/248 +f 888/1204/248 872/1205/248 906/1208/248 +f 905/1212/248 886/1214/248 887/1211/248 +f 904/1213/248 885/1216/248 886/1214/248 +f 903/1215/248 884/1274/248 885/1216/248 +f 883/1217/248 884/1274/248 903/1215/248 +f 901/1219/248 882/1275/248 883/1217/248 +f 881/1220/248 882/1275/248 901/1219/248 +f 899/1222/248 880/1276/248 881/1220/248 +f 891/1223/248 880/1276/248 899/1222/248 +f 873/1210/248 874/1225/248 893/1224/248 +f 874/1225/248 875/1227/248 894/1226/248 +f 875/1227/248 876/1229/248 895/1228/248 +f 876/1229/248 877/1277/248 896/1230/248 +f 896/1230/248 877/1277/248 878/1231/248 +f 897/1232/248 878/1231/248 879/1233/248 +f 879/1233/248 868/1278/248 892/1235/248 +f 892/1235/248 868/1278/248 869/1236/248 +f 915/1237/248 914/1199/248 913/1238/248 +f 911/1103/246 909/1102/246 914/1240/246 +f 911/1103/250 915/1237/250 912/1239/250 +f 910/1104/245 912/1279/245 913/1242/245 +s 1 +f 838/1280/251 893/1281/252 825/1282/252 +f 897/1283/253 830/1284/254 829/1285/253 +f 904/1286/255 837/1287/256 836/1288/255 +f 896/1289/246 829/1285/253 828/1290/246 +f 903/1291/257 836/1288/255 835/1292/257 +f 895/1293/258 828/1290/246 827/1294/258 +f 902/1295/245 835/1292/257 834/1296/245 +f 824/1297/259 909/1102/260 841/1244/260 +f 894/1298/261 827/1294/258 826/1299/261 +f 901/1300/262 834/1296/245 833/1301/262 +f 905/1302/256 839/1303/263 837/1287/256 +f 893/1281/252 826/1299/261 825/1282/252 +f 900/1304/264 833/1301/262 832/1305/264 +f 839/1306/263 906/1307/251 838/1280/251 +f 899/1308/265 832/1305/264 831/1309/265 +f 908/1100/266 831/1309/265 840/1101/266 +f 898/1310/254 824/1297/259 830/1284/254 +f 754/1311/267 756/1116/268 752/1107/268 +f 746/1312/267 748/1113/268 744/1110/268 +f 745/1108/269 751/1313/270 747/1314/270 +f 744/1110/268 749/1112/269 745/1108/269 +f 753/1105/269 759/1315/270 755/1316/270 +f 752/1107/268 757/1115/269 753/1105/269 +f 774/1317/249 783/1318/271 775/1319/271 +f 772/1320/244 781/1321/272 773/1322/272 +f 770/1323/247 779/1324/273 771/1325/273 +f 768/1326/248 777/1327/274 769/1328/274 +f 775/1319/271 776/1329/248 768/1326/248 +f 773/1322/272 782/1330/249 774/1331/249 +f 771/1325/273 780/1332/244 772/1320/244 +f 769/1328/274 778/1333/247 770/1323/247 +f 797/1334/275 804/1335/244 796/1336/244 +f 795/1337/276 802/1338/245 794/1339/245 +f 793/1340/277 800/1341/248 792/1342/248 +f 792/1342/248 807/1343/278 799/1344/278 +f 798/1345/246 805/1346/275 797/1334/275 +f 796/1347/244 803/1348/276 795/1337/276 +f 794/1339/245 801/1349/277 793/1340/277 +f 799/1344/278 806/1350/246 798/1345/246 +f 850/1351/247 873/1352/254 849/1353/254 +f 865/1354/245 888/1355/262 864/1356/262 +f 858/1357/258 881/1358/261 857/1359/261 +f 851/1360/264 874/1361/247 850/1362/247 +f 866/1363/257 889/1364/245 865/1354/245 +f 859/1365/246 882/1366/258 858/1357/258 +f 852/1367/262 875/1368/264 851/1360/264 +f 867/1369/255 890/1370/257 866/1363/257 +f 845/1371/261 868/1372/249 844/1373/249 +f 860/1374/253 883/1375/246 859/1365/246 +f 853/1376/245 876/1377/262 852/1367/262 +f 856/1378/249 891/1379/255 867/1369/255 +f 846/1380/258 869/1381/261 845/1371/261 +f 861/1382/254 884/1383/253 860/1374/253 +f 854/1384/257 877/1385/245 853/1376/245 +f 847/1386/246 870/1387/258 846/1380/258 +f 862/1388/247 885/1389/254 861/1382/254 +f 855/1390/255 878/1391/257 854/1384/257 +f 848/1392/253 871/1393/246 847/1386/246 +f 863/1394/264 886/1395/247 862/1396/247 +f 844/1373/249 879/1397/255 855/1390/255 +f 849/1353/254 872/1398/253 848/1392/253 +f 864/1356/262 887/1399/264 863/1394/264 +f 857/1359/261 880/1400/249 856/1378/249 +f 838/1280/251 906/1307/251 893/1281/252 +f 897/1283/253 898/1310/254 830/1284/254 +f 904/1286/255 905/1302/256 837/1287/256 +f 896/1289/246 897/1283/253 829/1285/253 +f 903/1291/257 904/1286/255 836/1288/255 +f 895/1293/258 896/1289/246 828/1290/246 +f 902/1295/245 903/1291/257 835/1292/257 +f 824/1297/259 892/1401/259 909/1102/260 +f 894/1298/261 895/1293/258 827/1294/258 +f 901/1300/262 902/1295/245 834/1296/245 +f 905/1302/256 907/1402/263 839/1303/263 +f 893/1281/252 894/1298/261 826/1299/261 +f 900/1304/264 901/1300/262 833/1301/262 +f 839/1306/263 907/1403/263 906/1307/251 +f 899/1308/265 900/1304/264 832/1305/264 +f 908/1100/266 899/1308/265 831/1309/265 +f 898/1310/254 892/1401/259 824/1297/259 +f 754/1311/267 758/1404/267 756/1116/268 +f 746/1312/267 750/1405/267 748/1113/268 +f 745/1108/269 749/1112/269 751/1313/270 +f 744/1110/268 748/1113/268 749/1112/269 +f 753/1105/269 757/1115/269 759/1315/270 +f 752/1107/268 756/1116/268 757/1115/269 +f 774/1317/249 782/1406/249 783/1318/271 +f 772/1320/244 780/1332/244 781/1321/272 +f 770/1323/247 778/1333/247 779/1324/273 +f 768/1326/248 776/1329/248 777/1327/274 +f 775/1319/271 783/1318/271 776/1329/248 +f 773/1322/272 781/1321/272 782/1330/249 +f 771/1325/273 779/1324/273 780/1332/244 +f 769/1328/274 777/1327/274 778/1333/247 +f 797/1334/275 805/1346/275 804/1335/244 +f 795/1337/276 803/1348/276 802/1338/245 +f 793/1340/277 801/1349/277 800/1341/248 +f 792/1342/248 800/1341/248 807/1343/278 +f 798/1345/246 806/1350/246 805/1346/275 +f 796/1347/244 804/1407/244 803/1348/276 +f 794/1339/245 802/1338/245 801/1349/277 +f 799/1344/278 807/1343/278 806/1350/246 +f 850/1351/247 874/1408/247 873/1352/254 +f 865/1354/245 889/1364/245 888/1355/262 +f 858/1357/258 882/1366/258 881/1358/261 +f 851/1360/264 875/1368/264 874/1361/247 +f 866/1363/257 890/1370/257 889/1364/245 +f 859/1365/246 883/1375/246 882/1366/258 +f 852/1367/262 876/1377/262 875/1368/264 +f 867/1369/255 891/1379/255 890/1370/257 +f 845/1371/261 869/1381/261 868/1372/249 +f 860/1374/253 884/1383/253 883/1375/246 +f 853/1376/245 877/1385/245 876/1377/262 +f 856/1378/249 880/1400/249 891/1379/255 +f 846/1380/258 870/1387/258 869/1381/261 +f 861/1382/254 885/1389/254 884/1383/253 +f 854/1384/257 878/1391/257 877/1385/245 +f 847/1386/246 871/1393/246 870/1387/258 +f 862/1388/247 886/1409/247 885/1389/254 +f 855/1390/255 879/1397/255 878/1391/257 +f 848/1392/253 872/1398/253 871/1393/246 +f 863/1394/264 887/1399/264 886/1395/247 +f 844/1373/249 868/1372/249 879/1397/255 +f 849/1353/254 873/1352/254 872/1398/253 +f 864/1356/262 888/1355/262 887/1399/264 +f 857/1359/261 881/1358/261 880/1400/249 diff --git a/src/main/resources/assets/hbm/models/weapons/sauergun.obj b/src/main/resources/assets/hbm/models/weapons/sauergun.obj deleted file mode 100644 index 43f9a0677..000000000 --- a/src/main/resources/assets/hbm/models/weapons/sauergun.obj +++ /dev/null @@ -1,2691 +0,0 @@ -# Blender v2.79 (sub 0) OBJ File: 'sauergun.blend' -# www.blender.org -o Lever -v -0.375000 0.800000 -4.437500 -v 0.375000 0.800000 -4.437500 -v -0.375000 0.550000 -4.437500 -v -0.187500 0.362500 -4.437500 -v -0.320083 0.417418 -4.437500 -v 0.375000 0.550000 -4.437500 -v 0.187500 0.362500 -4.437500 -v 0.320083 0.417418 -4.437500 -v -0.375000 0.550000 -4.625000 -v -0.320083 0.417417 -4.625000 -v -0.187500 0.362500 -4.625000 -v 0.375000 0.550000 -4.625000 -v 0.320083 0.417417 -4.625000 -v 0.187500 0.362500 -4.625000 -v -0.375000 0.800000 -4.625000 -v 0.375000 0.800000 -4.625000 -v -0.312500 0.862500 -4.437500 -v 0.312500 0.862500 -4.437500 -v -0.312500 0.862500 -4.625000 -v 0.312500 0.862500 -4.625000 -v -0.156250 0.237500 -4.437500 -v -0.156250 0.237500 -4.625000 -v -0.156250 0.143750 -4.531250 -v -0.125000 0.237500 -4.625000 -v -0.156250 0.171209 -4.464959 -v -0.156250 0.362500 -4.625000 -v -0.156250 0.171209 -4.597541 -v -0.156250 0.362500 -4.437500 -v -0.125000 0.171209 -4.597541 -v -0.125000 0.143750 -4.531250 -v -0.125000 0.171209 -4.464959 -v -0.125000 0.237500 -4.437500 -v -0.125000 0.362500 -4.437500 -v -0.125000 0.362500 -4.625000 -v 0.125000 0.237500 -4.437500 -v 0.125000 0.237500 -4.625000 -v 0.125000 0.143750 -4.531250 -v 0.156250 0.237500 -4.625000 -v 0.125000 0.171209 -4.464959 -v 0.125000 0.362500 -4.625000 -v 0.125000 0.171209 -4.597541 -v 0.125000 0.362500 -4.437500 -v 0.156250 0.171209 -4.597541 -v 0.156250 0.143750 -4.531250 -v 0.156250 0.171209 -4.464959 -v 0.156250 0.237500 -4.437500 -v 0.156250 0.362500 -4.437500 -v 0.156250 0.362500 -4.625000 -v -0.187500 0.237500 -4.562500 -v 0.187500 0.237500 -4.562500 -v -0.187500 0.215403 -4.553347 -v 0.187500 0.215403 -4.553347 -v -0.187500 0.206250 -4.531250 -v 0.187500 0.206250 -4.531250 -v -0.187500 0.215403 -4.509153 -v 0.187500 0.215403 -4.509153 -v -0.187500 0.237500 -4.500000 -v 0.187500 0.237500 -4.500000 -v -0.187500 0.259597 -4.509153 -v 0.187500 0.259597 -4.509153 -v -0.187500 0.268750 -4.531250 -v 0.187500 0.268750 -4.531250 -v -0.187500 0.259597 -4.553347 -v 0.187500 0.259597 -4.553347 -v -0.000000 -0.280889 -4.304127 -v -0.000000 0.260376 -4.616627 -v 0.044194 -0.271736 -4.288273 -v 0.044194 0.269529 -4.600773 -v 0.062500 -0.249639 -4.250000 -v 0.062500 0.291626 -4.562500 -v 0.044194 -0.227542 -4.211727 -v 0.044194 0.313724 -4.524227 -v -0.000000 -0.218389 -4.195873 -v -0.000000 0.322876 -4.508373 -v -0.044194 -0.227542 -4.211727 -v -0.044194 0.313724 -4.524227 -v -0.062500 -0.249639 -4.250000 -v -0.062500 0.291626 -4.562500 -v -0.044194 -0.271736 -4.288273 -v -0.044194 0.269529 -4.600773 -v -0.000000 -0.280889 -4.304127 -v -0.000000 0.260376 -4.616627 -v 0.044194 -0.271736 -4.288273 -v 0.044194 0.269529 -4.600773 -v 0.062500 -0.249639 -4.250000 -v 0.062500 0.291626 -4.562500 -v 0.044194 -0.227542 -4.211727 -v 0.044194 0.313724 -4.524227 -v -0.000000 -0.218389 -4.195873 -v -0.000000 0.322876 -4.508373 -v -0.044194 -0.227542 -4.211727 -v -0.044194 0.313724 -4.524227 -v -0.062500 -0.249639 -4.250000 -v -0.062500 0.291626 -4.562500 -v -0.044194 -0.271736 -4.288273 -v -0.044194 0.269529 -4.600773 -v -0.187500 0.237500 -4.562500 -v 0.187500 0.237500 -4.562500 -v -0.187500 0.215403 -4.553347 -v 0.187500 0.215403 -4.553347 -v -0.187500 0.206250 -4.531250 -v 0.187500 0.206250 -4.531250 -v -0.187500 0.215403 -4.509153 -v 0.187500 0.215403 -4.509153 -v -0.187500 0.237500 -4.500000 -v 0.187500 0.237500 -4.500000 -v -0.187500 0.259597 -4.509153 -v 0.187500 0.259597 -4.509153 -v -0.187500 0.268750 -4.531250 -v 0.187500 0.268750 -4.531250 -v -0.187500 0.259597 -4.553347 -v 0.187500 0.259597 -4.553347 -v -0.156250 0.237500 -4.437500 -v -0.156250 0.237500 -4.625000 -v -0.156250 0.143750 -4.531250 -v -0.125000 0.237500 -4.625000 -v -0.156250 0.171209 -4.464959 -v -0.156250 0.362500 -4.625000 -v -0.156250 0.171209 -4.597541 -v -0.156250 0.362500 -4.437500 -v -0.125000 0.171209 -4.597541 -v -0.125000 0.143750 -4.531250 -v -0.125000 0.171209 -4.464959 -v -0.125000 0.237500 -4.437500 -v -0.125000 0.362500 -4.437500 -v -0.125000 0.362500 -4.625000 -v 0.125000 0.237500 -4.437500 -v 0.125000 0.237500 -4.625000 -v 0.125000 0.143750 -4.531250 -v 0.156250 0.237500 -4.625000 -v 0.125000 0.171209 -4.464959 -v 0.125000 0.362500 -4.625000 -v 0.125000 0.171209 -4.597541 -v 0.125000 0.362500 -4.437500 -v 0.156250 0.171209 -4.597541 -v 0.156250 0.143750 -4.531250 -v 0.156250 0.171209 -4.464959 -v 0.156250 0.237500 -4.437500 -v 0.156250 0.362500 -4.437500 -v 0.156250 0.362500 -4.625000 -v -0.375000 0.800000 -4.437500 -v 0.375000 0.800000 -4.437500 -v -0.375000 0.550000 -4.437500 -v -0.187500 0.362500 -4.437500 -v -0.320083 0.417418 -4.437500 -v 0.375000 0.550000 -4.437500 -v 0.187500 0.362500 -4.437500 -v 0.320083 0.417418 -4.437500 -v -0.375000 0.550000 -4.625000 -v -0.320083 0.417417 -4.625000 -v -0.187500 0.362500 -4.625000 -v 0.375000 0.550000 -4.625000 -v 0.320083 0.417417 -4.625000 -v 0.187500 0.362500 -4.625000 -v -0.375000 0.800000 -4.625000 -v 0.375000 0.800000 -4.625000 -v -0.312500 0.862500 -4.437500 -v 0.312500 0.862500 -4.437500 -v -0.312500 0.862500 -4.625000 -v 0.312500 0.862500 -4.625000 -vt 0.869231 0.546667 -vt 0.892308 0.506667 -vt 0.876923 0.613333 -vt 0.876923 0.653333 -vt 0.953846 0.613333 -vt 0.953846 0.653333 -vt 0.961538 0.426667 -vt 0.938462 0.466667 -vt 0.953846 0.360000 -vt 0.772007 0.413485 -vt 0.778367 0.402463 -vt 0.784726 0.413485 -vt 0.788708 0.405691 -vt 0.793205 0.402463 -vt 0.799564 0.413485 -vt 0.769888 0.413485 -vt 0.776247 0.402463 -vt 0.782606 0.413485 -vt 0.786589 0.405691 -vt 0.791085 0.402463 -vt 0.797445 0.413485 -vt 0.798932 0.450163 -vt 0.796379 0.448330 -vt 0.797436 0.443905 -vt 0.770379 0.450163 -vt 0.769322 0.448330 -vt 0.772932 0.445738 -vt 0.661538 0.213333 -vt 0.669231 0.200000 -vt 0.676923 0.213333 -vt 0.676923 0.360000 -vt 0.676923 0.386667 -vt 0.661538 0.386667 -vt 0.961538 0.546667 -vt 0.961538 0.600000 -vt 0.938462 0.506667 -vt 0.869231 0.600000 -vt 0.876923 0.520000 -vt 0.953846 0.520000 -vt 0.869231 0.426667 -vt 0.869231 0.373333 -vt 0.876923 0.360000 -vt 0.892308 0.466667 -vt 0.961538 0.373333 -vt 0.953846 0.453333 -vt 0.876923 0.453333 -vt 0.773870 0.405691 -vt 0.782863 0.405691 -vt 0.784726 0.428183 -vt 0.772007 0.428183 -vt 0.797702 0.405691 -vt 0.799564 0.428183 -vt 0.786846 0.428183 -vt 0.786846 0.413485 -vt 0.771750 0.405691 -vt 0.780744 0.405691 -vt 0.782606 0.428183 -vt 0.769888 0.428183 -vt 0.795582 0.405691 -vt 0.797445 0.428183 -vt 0.784726 0.428183 -vt 0.784726 0.413485 -vt 0.798932 0.443905 -vt 0.799989 0.445738 -vt 0.799989 0.448330 -vt 0.797436 0.450163 -vt 0.796379 0.445738 -vt 0.769322 0.445738 -vt 0.770379 0.443905 -vt 0.771874 0.443905 -vt 0.772932 0.448330 -vt 0.771874 0.450163 -vt 0.676923 0.226667 -vt 0.669231 0.226667 -vt 0.661538 0.226667 -vt 0.661538 0.200000 -vt 0.676923 0.200000 -vt 0.661538 0.373333 -vt 0.661538 0.360000 -vt 0.669231 0.360000 -vt 0.676923 0.373333 -vt 0.669231 0.386667 -vt 0.961538 0.653333 -vt 0.953846 0.613333 -vt 0.961538 0.613333 -vt 0.953846 0.466667 -vt 0.938462 0.506667 -vt 0.938462 0.466667 -vt 0.892308 0.466667 -vt 0.876923 0.506667 -vt 0.876923 0.466667 -vt 0.969231 0.466667 -vt 1.000000 0.506667 -vt 0.969231 0.506667 -vt 0.869231 0.653333 -vt 0.876923 0.613333 -vt 0.876923 0.653333 -vt 0.953846 0.506667 -vt 0.861538 0.506667 -vt 0.861538 0.466667 -vt 0.892308 0.506667 -vt 0.846154 0.506667 -vt 0.846154 0.466667 -vt 0.796379 0.456106 -vt 0.772932 0.458698 -vt 0.772932 0.456106 -vt 0.796379 0.453514 -vt 0.772932 0.453514 -vt 0.796379 0.450922 -vt 0.772932 0.450922 -vt 0.796379 0.448330 -vt 0.772932 0.448330 -vt 0.796379 0.445738 -vt 0.772932 0.445738 -vt 0.796379 0.443146 -vt 0.772932 0.443146 -vt 0.796379 0.461291 -vt 0.772932 0.463882 -vt 0.772932 0.461290 -vt 0.796379 0.458698 -vt 0.723077 0.360000 -vt 0.715385 0.226667 -vt 0.723077 0.226667 -vt 0.684615 0.360000 -vt 0.676923 0.226667 -vt 0.684615 0.226667 -vt 0.669231 0.226667 -vt 0.661538 0.360000 -vt 0.661538 0.226667 -vt 0.692308 0.360000 -vt 0.692308 0.226667 -vt 0.669231 0.360000 -vt 0.715385 0.360000 -vt 0.707692 0.226667 -vt 0.700000 0.360000 -vt 0.700000 0.226667 -vt 0.772007 0.428183 -vt 0.769888 0.413485 -vt 0.772007 0.413485 -vt 0.784726 0.405049 -vt 0.786846 0.413485 -vt 0.784726 0.413485 -vt 0.772007 0.405049 -vt 0.769888 0.396612 -vt 0.772007 0.396612 -vt 0.786846 0.428183 -vt 0.784726 0.428183 -vt 0.784726 0.396612 -vt 0.786846 0.405049 -vt 0.769888 0.405049 -vt 0.799564 0.428183 -vt 0.797445 0.413485 -vt 0.799564 0.413485 -vt 0.782606 0.405049 -vt 0.784726 0.413485 -vt 0.782606 0.413485 -vt 0.799564 0.405049 -vt 0.797445 0.396612 -vt 0.799564 0.396612 -vt 0.784726 0.428183 -vt 0.782606 0.428183 -vt 0.782606 0.396612 -vt 0.784726 0.405049 -vt 0.797445 0.405049 -vt 0.953846 0.653333 -vt 1.000000 0.466667 -vt 0.869231 0.613333 -vt 0.796379 0.463883 -vt 0.676923 0.360000 -vt 0.707692 0.360000 -vt 0.769888 0.428183 -vt 0.786846 0.396612 -vt 0.797445 0.428183 -vt 0.784726 0.396612 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 1.0000 -0.0000 -vn 0.0000 0.0000 1.0000 -vn -1.0000 0.0000 0.0000 -vn 1.0000 -0.0000 0.0000 -vn 0.0000 -0.8660 0.5000 -vn 0.0000 0.8660 -0.5000 -vn -0.9239 0.3827 0.0000 -vn -0.7071 0.7071 0.0000 -vn -0.7071 -0.7071 0.0000 -vn -0.1951 -0.9808 0.0000 -vn 0.1951 -0.9808 0.0000 -vn 0.7071 -0.7071 0.0000 -vn -0.9808 -0.1951 0.0000 -vn 0.9239 0.3827 0.0000 -vn 0.7071 0.7071 0.0000 -vn 0.9808 -0.1951 0.0000 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 0.7071 0.7071 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 0.5000 0.8660 -vn -0.7071 0.3535 0.6124 -vn 0.7071 -0.3535 -0.6124 -vn 0.7071 0.3535 0.6124 -vn 0.0000 -0.5000 -0.8660 -vn -0.7071 -0.3535 -0.6124 -vn 0.0000 -0.1951 -0.9808 -vn 0.0000 -0.1951 0.9808 -s off -f 12/1/1 14/2/1 20/3/1 -f 18/4/2 19/5/2 17/6/2 -f 3/7/3 4/8/3 17/9/3 -f 22/10/4 23/11/4 21/12/4 -f 31/13/5 30/14/5 24/15/5 -f 36/16/4 37/17/4 35/18/4 -f 45/19/5 44/20/5 38/21/5 -f 62/22/5 58/23/5 54/24/5 -f 61/25/4 63/26/4 55/27/4 -f 75/28/6 79/29/6 67/30/6 -f 70/31/7 66/32/7 78/33/7 -f 9/34/1 15/35/1 19/5/1 -f 19/5/1 20/3/1 11/36/1 -f 20/3/1 16/37/1 12/1/1 -f 11/36/1 20/3/1 14/2/1 -f 12/1/1 13/38/1 14/2/1 -f 11/36/1 10/39/1 9/34/1 -f 9/34/1 19/5/1 11/36/1 -f 18/4/2 20/3/2 19/5/2 -f 6/40/3 2/41/3 18/42/3 -f 18/42/3 17/9/3 7/43/3 -f 17/9/3 1/44/3 3/7/3 -f 7/43/3 17/9/3 4/8/3 -f 3/7/3 5/45/3 4/8/3 -f 7/43/3 8/46/3 6/40/3 -f 6/40/3 18/42/3 7/43/3 -f 22/10/4 27/47/4 23/11/4 -f 23/11/4 25/48/4 21/12/4 -f 21/12/4 28/49/4 26/50/4 -f 26/50/4 22/10/4 21/12/4 -f 30/14/5 29/51/5 24/15/5 -f 24/15/5 34/52/5 33/53/5 -f 33/53/5 32/54/5 24/15/5 -f 32/54/5 31/13/5 24/15/5 -f 36/16/4 41/55/4 37/17/4 -f 37/17/4 39/56/4 35/18/4 -f 35/18/4 42/57/4 40/58/4 -f 40/58/4 36/16/4 35/18/4 -f 44/20/5 43/59/5 38/21/5 -f 38/21/5 48/60/5 47/61/5 -f 47/61/5 46/62/5 38/21/5 -f 46/62/5 45/19/5 38/21/5 -f 54/24/5 52/63/5 50/64/5 -f 50/64/5 64/65/5 62/22/5 -f 62/22/5 60/66/5 58/23/5 -f 58/23/5 56/67/5 54/24/5 -f 54/24/5 50/64/5 62/22/5 -f 63/26/4 49/68/4 51/69/4 -f 51/69/4 53/70/4 63/26/4 -f 53/70/4 55/27/4 63/26/4 -f 55/27/4 57/71/4 59/72/4 -f 59/72/4 61/25/4 55/27/4 -f 67/30/6 69/73/6 71/74/6 -f 71/74/6 73/75/6 75/28/6 -f 75/28/6 77/76/6 79/29/6 -f 79/29/6 65/77/6 67/30/6 -f 67/30/6 71/74/6 75/28/6 -f 78/33/7 76/78/7 74/79/7 -f 74/79/7 72/80/7 70/31/7 -f 70/31/7 68/81/7 66/32/7 -f 66/32/7 80/82/7 78/33/7 -f 78/33/7 74/79/7 70/31/7 -s 1 -f 141/83/8 159/84/9 155/85/8 -f 145/86/10 151/87/11 144/88/11 -f 147/89/12 153/90/13 148/91/13 -f 143/92/14 155/93/8 149/94/14 -f 142/95/15 160/96/16 158/97/16 -f 145/86/10 149/94/14 150/98/10 -f 148/91/13 152/99/17 146/100/17 -f 144/88/11 154/101/12 147/89/12 -f 146/100/17 156/102/15 142/103/15 -f 112/104/18 97/105/1 111/106/18 -f 110/107/2 111/106/18 109/108/2 -f 108/109/19 109/108/2 107/110/19 -f 106/111/3 107/110/19 105/112/3 -f 104/113/20 105/112/3 103/114/20 -f 102/115/21 103/114/20 101/116/21 -f 100/117/22 101/118/21 99/119/22 -f 98/120/1 99/119/22 97/105/1 -f 90/121/23 91/122/24 89/123/23 -f 84/124/25 85/125/5 83/126/25 -f 87/127/26 90/128/23 89/129/23 -f 82/130/27 83/126/25 81/131/27 -f 85/125/5 88/132/26 87/127/26 -f 92/133/24 93/134/4 91/122/24 -f 93/134/4 96/135/28 95/136/28 -f 95/136/28 82/130/27 81/131/27 -f 118/137/1 116/138/29 114/139/29 -f 117/140/20 124/141/30 113/142/30 -f 119/143/22 122/144/21 115/145/21 -f 113/142/30 125/146/3 120/147/3 -f 115/148/21 123/149/20 117/140/20 -f 114/139/29 121/150/22 119/143/22 -f 132/151/1 130/152/29 128/153/29 -f 131/154/20 138/155/30 127/156/30 -f 133/157/22 136/158/21 129/159/21 -f 127/156/30 139/160/3 134/161/3 -f 129/162/21 137/163/20 131/154/20 -f 128/153/29 135/164/22 133/157/22 -f 141/83/8 157/165/9 159/84/9 -f 145/86/10 150/98/10 151/87/11 -f 147/89/12 154/101/12 153/90/13 -f 143/92/14 141/166/8 155/93/8 -f 142/95/15 156/167/15 160/96/16 -f 145/86/10 143/92/14 149/94/14 -f 148/91/13 153/90/13 152/99/17 -f 144/88/11 151/87/11 154/101/12 -f 146/100/17 152/99/17 156/102/15 -f 112/104/18 98/120/1 97/105/1 -f 110/107/2 112/104/18 111/106/18 -f 108/109/19 110/107/2 109/108/2 -f 106/111/3 108/109/19 107/110/19 -f 104/113/20 106/111/3 105/112/3 -f 102/115/21 104/113/20 103/114/20 -f 100/117/22 102/168/21 101/118/21 -f 98/120/1 100/117/22 99/119/22 -f 90/121/23 92/133/24 91/122/24 -f 84/124/25 86/169/5 85/125/5 -f 87/127/26 88/132/26 90/128/23 -f 82/130/27 84/124/25 83/126/25 -f 85/125/5 86/169/5 88/132/26 -f 92/133/24 94/170/4 93/134/4 -f 93/134/4 94/170/4 96/135/28 -f 95/136/28 96/135/28 82/130/27 -f 118/137/1 126/171/1 116/138/29 -f 117/140/20 123/149/20 124/141/30 -f 119/143/22 121/150/22 122/144/21 -f 113/142/30 124/141/30 125/146/3 -f 115/148/21 122/172/21 123/149/20 -f 114/139/29 116/138/29 121/150/22 -f 132/151/1 140/173/1 130/152/29 -f 131/154/20 137/163/20 138/155/30 -f 133/157/22 135/164/22 136/158/21 -f 127/156/30 138/155/30 139/160/3 -f 129/162/21 136/174/21 137/163/20 -f 128/153/29 130/152/29 135/164/22 -o Shell -v -0.187500 0.875000 -1.687500 -v -0.121209 0.847541 -1.687500 -v -0.093750 0.781250 -1.687500 -v -0.121209 0.714959 -1.687500 -v -0.187500 0.687500 -1.687500 -v -0.253791 0.714959 -1.687500 -v -0.281250 0.781250 -1.687500 -v -0.253791 0.847541 -1.687500 -v -0.187500 0.875000 -1.718750 -v -0.121209 0.847541 -1.718750 -v -0.093750 0.781250 -1.718750 -v -0.121209 0.714959 -1.718750 -v -0.187500 0.687500 -1.718750 -v -0.253791 0.714959 -1.718750 -v -0.281250 0.781250 -1.718750 -v -0.253791 0.847541 -1.718750 -v -0.187500 0.860938 -1.718750 -v -0.131152 0.837598 -1.718750 -v -0.107812 0.781250 -1.718750 -v -0.131152 0.724902 -1.718750 -v -0.187500 0.701562 -1.718750 -v -0.243848 0.724902 -1.718750 -v -0.267188 0.781250 -1.718750 -v -0.243848 0.837598 -1.718750 -v -0.187500 0.860938 -2.156250 -v -0.131152 0.837598 -2.156250 -v -0.107812 0.781250 -2.156250 -v -0.131152 0.724903 -2.156250 -v -0.187500 0.701563 -2.156250 -v -0.243848 0.724903 -2.156250 -v -0.267188 0.781250 -2.156250 -v -0.243848 0.837598 -2.156250 -v -0.187500 0.875000 -1.687500 -v -0.121209 0.847541 -1.687500 -v -0.093750 0.781250 -1.687500 -v -0.121209 0.714959 -1.687500 -v -0.187500 0.687500 -1.687500 -v -0.253791 0.714959 -1.687500 -v -0.281250 0.781250 -1.687500 -v -0.253791 0.847541 -1.687500 -v -0.187500 0.875000 -1.718750 -v -0.121209 0.847541 -1.718750 -v -0.093750 0.781250 -1.718750 -v -0.121209 0.714959 -1.718750 -v -0.187500 0.687500 -1.718750 -v -0.253791 0.714959 -1.718750 -v -0.281250 0.781250 -1.718750 -v -0.253791 0.847541 -1.718750 -v -0.187500 0.860938 -2.156250 -v -0.131152 0.837598 -2.156250 -v -0.107812 0.781250 -2.156250 -v -0.131152 0.724903 -2.156250 -v -0.187500 0.701563 -2.156250 -v -0.243848 0.724903 -2.156250 -v -0.267188 0.781250 -2.156250 -v -0.243848 0.837598 -2.156250 -vt 0.246154 0.266667 -vt 0.253846 0.266667 -vt 0.253846 0.280000 -vt 0.230769 0.293333 -vt 0.223077 0.293333 -vt 0.223077 0.266667 -vt 0.153846 0.293333 -vt 0.146154 0.293333 -vt 0.146154 0.266667 -vt 0.253846 0.293333 -vt 0.246154 0.293333 -vt 0.238462 0.293333 -vt 0.238462 0.280000 -vt 0.238462 0.266667 -vt 0.215385 0.293333 -vt 0.215385 0.280000 -vt 0.215385 0.266667 -vt 0.230769 0.266667 -vt 0.230769 0.280000 -vt 0.138462 0.293333 -vt 0.138462 0.280000 -vt 0.138462 0.266667 -vt 0.153846 0.266667 -vt 0.153846 0.280000 -vt 0.238462 0.306667 -vt 0.230769 0.293333 -vt 0.238462 0.293333 -vt 0.238462 0.280000 -vt 0.230769 0.266667 -vt 0.238462 0.266667 -vt 0.238462 0.360000 -vt 0.230769 0.346667 -vt 0.238462 0.346667 -vt 0.238462 0.333333 -vt 0.230769 0.320000 -vt 0.238462 0.320000 -vt 0.230769 0.306667 -vt 0.230769 0.280000 -vt 0.238462 0.373333 -vt 0.230769 0.360000 -vt 0.230769 0.333333 -vt 0.215385 0.280000 -vt 0.153846 0.266667 -vt 0.215385 0.266667 -vt 0.215385 0.346667 -vt 0.153846 0.360000 -vt 0.153846 0.346667 -vt 0.215385 0.333333 -vt 0.153846 0.320000 -vt 0.215385 0.320000 -vt 0.153846 0.306667 -vt 0.215385 0.306667 -vt 0.215385 0.293333 -vt 0.153846 0.280000 -vt 0.215385 0.373333 -vt 0.215385 0.360000 -vt 0.153846 0.333333 -vt 0.153846 0.293333 -vt 0.230769 0.373333 -vt 0.153846 0.373333 -vn 0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn -0.7071 0.7071 0.0000 -vn -1.0000 0.0000 0.0000 -vn -0.7071 -0.7071 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.7071 -0.7071 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.7071 0.7071 0.0000 -vn 0.0000 1.0000 0.0000 -s off -f 196/175/31 195/176/31 194/177/31 -f 207/178/32 208/179/32 204/180/32 -f 215/181/32 216/182/32 212/183/32 -f 194/177/31 193/184/31 200/185/31 -f 200/185/31 199/186/31 194/177/31 -f 199/186/31 198/187/31 194/177/31 -f 198/187/31 197/188/31 194/177/31 -f 197/188/31 196/175/31 194/177/31 -f 208/179/32 201/189/32 204/180/32 -f 201/189/32 202/190/32 204/180/32 -f 202/190/32 203/191/32 204/180/32 -f 204/180/32 205/192/32 206/193/32 -f 206/193/32 207/178/32 204/180/32 -f 216/182/32 209/194/32 212/183/32 -f 209/194/32 210/195/32 212/183/32 -f 210/195/32 211/196/32 212/183/32 -f 212/183/32 213/197/32 214/198/32 -f 214/198/32 215/181/32 212/183/32 -s 1 -f 168/199/33 175/200/34 167/201/34 -f 166/202/35 173/203/36 165/204/36 -f 164/205/37 171/206/38 163/207/38 -f 162/208/39 169/209/40 161/210/40 -f 161/210/40 176/211/33 168/199/33 -f 167/201/34 174/212/35 166/202/35 -f 165/213/36 172/214/37 164/205/37 -f 163/207/38 170/215/39 162/208/39 -f 182/216/35 189/217/36 181/218/36 -f 179/219/38 188/220/37 187/221/38 -f 178/222/39 185/223/40 177/224/40 -f 177/224/40 192/225/33 184/226/33 -f 183/227/34 190/228/35 182/216/35 -f 181/229/36 188/220/37 180/230/37 -f 178/222/39 187/221/38 186/231/39 -f 184/226/33 191/232/34 183/227/34 -f 168/199/33 176/211/33 175/200/34 -f 166/202/35 174/212/35 173/203/36 -f 164/205/37 172/214/37 171/206/38 -f 162/208/39 170/215/39 169/209/40 -f 161/210/40 169/209/40 176/211/33 -f 167/201/34 175/200/34 174/212/35 -f 165/213/36 173/233/36 172/214/37 -f 163/207/38 171/206/38 170/215/39 -f 182/216/35 190/228/35 189/217/36 -f 179/219/38 180/230/37 188/220/37 -f 178/222/39 186/231/39 185/223/40 -f 177/224/40 185/223/40 192/225/33 -f 183/227/34 191/232/34 190/228/35 -f 181/229/36 189/234/36 188/220/37 -f 178/222/39 179/219/38 187/221/38 -f 184/226/33 192/225/33 191/232/34 -o Gun -v 0.187500 1.000000 -2.500000 -v 0.187500 1.000000 -5.000000 -v -0.187500 1.000000 -5.000000 -v -0.187500 1.000000 -2.500000 -v -0.099112 0.963388 -5.000000 -v -0.099112 0.963388 -2.500000 -v -0.062500 0.875000 -5.000000 -v -0.062500 0.875000 -2.500000 -v -0.099112 0.786612 -5.000000 -v -0.099112 0.786612 -2.500000 -v -0.187500 0.750000 -5.000000 -v -0.187500 0.750000 -2.500000 -v -0.275888 0.786612 -5.000000 -v -0.275888 0.786612 -2.500000 -v -0.312500 0.875000 -5.000000 -v -0.312500 0.875000 -2.500000 -v -0.275888 0.963388 -5.000000 -v -0.275888 0.963388 -2.500000 -v 0.275888 0.963388 -5.000000 -v 0.275888 0.963388 -2.500000 -v 0.312500 0.875000 -5.000000 -v 0.312500 0.875000 -2.500000 -v 0.275888 0.786612 -5.000000 -v 0.275888 0.786612 -2.500000 -v 0.187500 0.750000 -5.000000 -v 0.187500 0.750000 -2.500000 -v 0.099112 0.786612 -5.000000 -v 0.099112 0.786612 -2.500000 -v 0.062500 0.875000 -5.000000 -v 0.062500 0.875000 -2.500000 -v 0.099112 0.963388 -5.000000 -v 0.099112 0.963388 -2.500000 -v 0.187500 0.675000 -2.500000 -v 0.187500 0.675000 -4.812500 -v -0.187500 0.675000 -4.812500 -v -0.187500 0.675000 -2.500000 -v -0.099112 0.638388 -4.812500 -v -0.099112 0.638388 -2.500000 -v -0.062500 0.550000 -4.812500 -v -0.062500 0.550000 -2.500000 -v -0.099112 0.461612 -4.812500 -v -0.099112 0.461612 -2.500000 -v -0.187500 0.425000 -4.812500 -v -0.187500 0.425000 -2.500000 -v -0.275888 0.461612 -4.812500 -v -0.275888 0.461612 -2.500000 -v -0.312500 0.550000 -4.812500 -v -0.312500 0.550000 -2.500000 -v -0.275888 0.638388 -4.812500 -v -0.275888 0.638388 -2.500000 -v 0.275888 0.638388 -4.812500 -v 0.275888 0.638388 -2.500000 -v 0.312500 0.550000 -4.812500 -v 0.312500 0.550000 -2.500000 -v 0.275888 0.461612 -4.812500 -v 0.275888 0.461612 -2.500000 -v 0.187500 0.425000 -4.812500 -v 0.187500 0.425000 -2.500000 -v 0.099112 0.461612 -4.812500 -v 0.099112 0.461612 -2.500000 -v 0.062500 0.550000 -4.812500 -v 0.062500 0.550000 -2.500000 -v 0.099112 0.638388 -4.812500 -v 0.099112 0.638388 -2.500000 -v -0.187500 1.062500 -2.500000 -v -0.187500 1.062500 -0.875000 -v -0.054918 1.007583 -2.500000 -v -0.054918 1.007582 -0.875000 -v 0.000000 0.875000 -2.500000 -v 0.000000 0.875000 -0.875000 -v -0.187500 0.362500 -0.875000 -v -0.187500 0.362500 -2.500000 -v -0.054918 0.417417 -0.875000 -v -0.054918 0.417417 -2.500000 -v 0.000000 0.550000 -0.875000 -v 0.000000 0.550000 -2.500000 -v -0.375000 0.875000 -2.500000 -v -0.375000 0.875000 -0.875000 -v -0.320083 1.007582 -2.500000 -v -0.320083 1.007582 -0.875000 -v -0.320083 0.417418 -2.500000 -v -0.320083 0.417418 -0.875000 -v -0.375000 0.550000 -2.500000 -v -0.375000 0.550000 -0.875000 -v 0.187500 1.062500 -2.687500 -v -0.375000 0.875000 -2.625000 -v -0.187500 0.687500 -2.625000 -v -0.187500 1.062500 -2.625000 -v -0.320083 0.742418 -2.625000 -v -0.187500 0.687500 -2.687500 -v -0.320082 1.007583 -2.625000 -v -0.320083 0.742418 -2.687500 -v 0.375000 0.875000 -2.625000 -v -0.375000 0.875000 -2.687500 -v 0.187500 0.687500 -2.625000 -v 0.187500 1.062500 -2.625000 -v -0.320082 1.007583 -2.687500 -v 0.320083 1.007583 -2.625000 -v -0.187500 1.062500 -2.687500 -v 0.320083 0.742417 -2.625000 -v 0.320083 1.007583 -2.687500 -v 0.375000 0.875000 -2.687500 -v 0.320083 0.742417 -2.687500 -v 0.187500 0.687500 -2.687500 -v 0.187500 1.062500 -4.750000 -v -0.061547 0.421680 -0.625000 -v -0.187500 0.687500 -4.687500 -v -0.365625 0.534375 -0.625000 -v -0.320083 0.742418 -4.687500 -v -0.187500 0.687500 -4.750000 -v -0.365625 0.850625 -0.625000 -v -0.320083 0.742418 -4.750000 -v -0.187500 0.375000 -0.625000 -v -0.375000 0.875000 -4.750000 -v 0.187500 0.687500 -4.687500 -v -0.313453 0.963320 -0.625000 -v -0.320082 1.007583 -4.750000 -v -0.009375 0.534375 -0.625000 -v -0.187500 1.062500 -4.750000 -v 0.320083 0.742417 -4.687500 -v 0.320083 1.007583 -4.750000 -v 0.375000 0.875000 -4.750000 -v 0.320083 0.742417 -4.750000 -v 0.187500 0.687500 -4.750000 -v -0.313453 0.421680 -0.625000 -v -0.375000 0.875000 -4.625000 -v -0.187500 1.062500 -4.625000 -v -0.320082 1.007583 -4.625000 -v 0.375000 0.875000 -4.625000 -v -0.375000 0.875000 -4.687500 -v 0.187500 1.062500 -4.625000 -v -0.009375 0.850625 -0.625000 -v 0.320083 1.007583 -4.625000 -v -0.187500 1.010000 -0.625000 -v -0.061547 0.963320 -0.625000 -v 0.375000 0.875000 -4.687500 -v -0.375000 0.550000 -4.625000 -v -0.187500 0.362500 -4.625000 -v -0.320083 0.417418 -4.625000 -v -0.187500 0.362500 -4.687500 -v -0.320083 0.417418 -4.687500 -v 0.375000 0.550000 -4.625000 -v -0.375000 0.550000 -4.687500 -v 0.187500 0.362500 -4.625000 -v 0.320083 0.417417 -4.625000 -v 0.375000 0.550000 -4.687500 -v 0.320083 0.417417 -4.687500 -v 0.187500 0.362500 -4.687500 -v -0.307156 0.905697 -0.375000 -v -0.356719 0.809906 -0.375000 -v -0.067844 0.419303 -0.375000 -v -0.018281 0.515094 -0.375000 -v -0.187500 0.379625 -0.375000 -v -0.307156 0.419303 -0.375000 -v -0.018281 0.809906 -0.375000 -v -0.067844 0.905697 -0.375000 -v -0.187500 0.945375 -0.375000 -v -0.356719 0.515094 -0.375000 -v -0.301173 0.773717 -0.125000 -v -0.348258 0.692295 -0.125000 -v -0.073827 0.411282 -0.125000 -v -0.026742 0.492705 -0.125000 -v -0.187500 0.377556 -0.125000 -v -0.301173 0.411282 -0.125000 -v -0.026742 0.692295 -0.125000 -v -0.073827 0.773717 -0.125000 -v -0.187500 0.807444 -0.125000 -v -0.348258 0.492705 -0.125000 -v -0.073827 0.061282 0.000000 -v -0.026742 0.142705 0.000000 -v -0.187500 0.027556 0.000000 -v -0.301173 0.061282 0.000000 -v -0.348258 0.142705 0.000000 -v -0.073827 0.123782 0.250000 -v -0.026742 0.205205 0.250000 -v -0.187500 0.090056 0.250000 -v -0.301173 0.123782 0.250000 -v -0.348258 0.205205 0.250000 -v -0.073827 -0.376218 2.375000 -v -0.026742 -0.294795 2.375000 -v -0.187500 -0.409944 2.375000 -v -0.301173 -0.376218 2.375000 -v -0.348258 -0.294795 2.375000 -v -0.301173 0.836217 0.000000 -v -0.348258 0.754795 0.000000 -v -0.026742 0.754795 0.000000 -v -0.073827 0.836217 0.000000 -v -0.187500 0.869944 0.000000 -v -0.301173 0.961217 1.625000 -v -0.348258 0.879795 1.625000 -v -0.026742 0.879795 1.625000 -v -0.073827 0.961217 1.625000 -v -0.187500 0.994944 1.625000 -v -0.301173 0.836217 1.875000 -v -0.348258 0.754795 1.875000 -v -0.026742 0.754795 1.875000 -v -0.073827 0.836217 1.875000 -v -0.187500 0.869944 1.875000 -v -0.026742 0.879795 1.625000 -v -0.026742 0.754795 1.875000 -v -0.301173 0.773717 2.500000 -v -0.348258 0.692295 2.500000 -v -0.026742 0.692295 2.500000 -v -0.073827 0.773717 2.500000 -v -0.187500 0.807444 2.500000 -v 0.187500 1.062500 -2.500000 -v 0.187500 1.062500 -0.875000 -v 0.320082 1.007583 -2.500000 -v 0.320082 1.007582 -0.875000 -v 0.375000 0.875000 -2.500000 -v 0.375000 0.875000 -0.875000 -v 0.187500 0.362500 -0.875000 -v 0.187500 0.362500 -2.500000 -v 0.320082 0.417418 -0.875000 -v 0.320082 0.417418 -2.500000 -v 0.375000 0.550000 -0.875000 -v 0.375000 0.550000 -2.500000 -v 0.000000 0.875000 -2.500000 -v 0.000000 0.875000 -0.875000 -v 0.054917 1.007582 -2.500000 -v 0.054917 1.007582 -0.875000 -v 0.054917 0.417418 -2.500000 -v 0.054917 0.417418 -0.875000 -v 0.000000 0.550000 -2.500000 -v 0.000000 0.550000 -0.875000 -v 0.313453 0.421680 -0.625000 -v 0.009375 0.534375 -0.625000 -v 0.009375 0.850625 -0.625000 -v 0.187500 0.375000 -0.625000 -v 0.061547 0.963320 -0.625000 -v 0.365625 0.534375 -0.625000 -v 0.061547 0.421680 -0.625000 -v 0.365625 0.850625 -0.625000 -v 0.187500 1.010000 -0.625000 -v 0.313453 0.963320 -0.625000 -v 0.067844 0.905697 -0.375000 -v 0.018281 0.809906 -0.375000 -v 0.307156 0.419303 -0.375000 -v 0.356719 0.515094 -0.375000 -v 0.187500 0.379625 -0.375000 -v 0.067844 0.419303 -0.375000 -v 0.356719 0.809906 -0.375000 -v 0.307156 0.905697 -0.375000 -v 0.187500 0.945375 -0.375000 -v 0.018281 0.515094 -0.375000 -v 0.073827 0.773717 -0.125000 -v 0.026742 0.692295 -0.125000 -v 0.301173 0.411282 -0.125000 -v 0.348258 0.492705 -0.125000 -v 0.187500 0.377556 -0.125000 -v 0.073827 0.411283 -0.125000 -v 0.348258 0.692295 -0.125000 -v 0.301173 0.773717 -0.125000 -v 0.187500 0.807444 -0.125000 -v 0.026742 0.492705 -0.125000 -v 0.187500 0.744944 0.000000 -v 0.301173 0.711217 0.000000 -v 0.348258 0.629795 0.000000 -v 0.026742 0.629795 0.000000 -v 0.073827 0.711217 0.000000 -v 0.301173 0.411282 -0.125000 -v 0.073827 0.411282 -0.125000 -v 0.073827 -0.463718 0.375000 -v 0.301173 -0.463718 0.375000 -v 0.073827 -0.526218 0.312500 -v 0.301173 -0.526218 0.312500 -v 0.073827 -0.526218 -0.062500 -v 0.301173 -0.526218 -0.062500 -v 0.073827 -0.338718 -0.250000 -v 0.301173 -0.338718 -0.250000 -v 0.073827 0.098782 -0.500000 -v 0.301173 0.098782 -0.500000 -v 0.073827 0.098782 -0.625000 -v 0.301173 0.098782 -0.625000 -v 0.073827 0.473782 -0.625000 -v 0.301173 0.473782 -0.625000 -v -0.121209 0.417417 -1.250000 -v -0.253791 0.417418 -1.250000 -v -0.121209 0.354917 -1.125000 -v -0.253791 0.354918 -1.125000 -v -0.121209 0.229917 -1.062500 -v -0.253791 0.229918 -1.062500 -v -0.121209 0.167417 -0.937500 -v -0.253791 0.167418 -0.937500 -v -0.121209 0.167417 -0.687500 -v -0.253791 0.167418 -0.687500 -v -0.121209 0.229917 -0.562500 -v -0.253791 0.229918 -0.562500 -v -0.121209 0.354917 -0.500000 -v -0.253791 0.354918 -0.500000 -v -0.121209 0.417417 -0.437500 -v -0.253791 0.417418 -0.437500 -v -0.121209 0.229917 -0.937500 -v -0.253791 0.229918 -0.937500 -v -0.121209 0.289987 -1.036236 -v -0.253791 0.289987 -1.036236 -v -0.121209 0.414987 -1.036236 -v -0.253791 0.414987 -1.036236 -v -0.121209 0.229917 -0.687500 -v -0.253791 0.229918 -0.687500 -v -0.121209 0.292417 -0.625000 -v -0.253791 0.292418 -0.625000 -v -0.121209 0.417417 -0.625000 -v -0.253791 0.417418 -0.625000 -v -0.375000 0.875000 -2.625000 -v -0.375000 0.875000 -2.250000 -v 0.187500 1.062500 -2.687500 -v -0.375000 0.875000 -1.625000 -v -0.187500 0.362500 -2.500000 -v 0.000000 0.875000 -2.500000 -v -0.054918 1.007583 -2.500000 -v -0.187500 1.062500 -2.500000 -v -0.343750 0.687500 -2.250000 -v -0.343750 0.862500 -2.250000 -v -0.312500 0.862500 -2.250000 -v -0.312500 0.687500 -2.250000 -v -0.343750 0.862500 -1.687500 -v -0.343750 0.687500 -1.687500 -v -0.312500 0.862500 -1.687500 -v -0.312500 0.687500 -1.687500 -v -0.154354 0.292417 -0.750000 -v -0.220646 0.292418 -0.750000 -v -0.154354 0.261167 -0.781250 -v -0.220646 0.261168 -0.781250 -v -0.154354 0.261167 -0.843750 -v -0.220646 0.261168 -0.843750 -v -0.154354 0.323617 -0.781250 -v -0.220646 0.323618 -0.781250 -v -0.154354 0.354917 -0.750000 -v -0.220646 0.354918 -0.750000 -v -0.154354 0.354917 -0.781250 -v -0.220646 0.354918 -0.781250 -v -0.154354 0.292417 -0.795203 -v -0.220646 0.292418 -0.795203 -v -0.154354 0.392570 -0.718428 -v -0.220646 0.392570 -0.718428 -v -0.154354 0.391220 -0.794434 -v -0.220646 0.391220 -0.794434 -v -0.099112 0.638388 -4.625000 -v -0.099112 0.638388 -2.500000 -v -0.275888 0.638388 -4.625000 -v -0.275888 0.638388 -2.500000 -v -0.099112 0.786612 -4.625000 -v -0.099112 0.786612 -2.500000 -v -0.275888 0.786612 -4.625000 -v -0.275888 0.786612 -2.500000 -v 0.275888 0.638388 -4.625000 -v 0.275888 0.638388 -2.500000 -v 0.099112 0.638388 -4.625000 -v 0.099112 0.638388 -2.500000 -v 0.275888 0.786612 -4.625000 -v 0.275888 0.786612 -2.500000 -v 0.099112 0.786612 -4.625000 -v 0.099112 0.786612 -2.500000 -v -0.187500 0.675000 -4.812500 -v 0.187500 0.675000 -4.812500 -v 0.187500 1.000000 -5.000000 -v -0.187500 1.000000 -5.000000 -v -0.099112 0.963388 -5.000000 -v -0.062500 0.875000 -5.000000 -v -0.099112 0.786612 -5.000000 -v -0.187500 0.750000 -5.000000 -v -0.275888 0.786612 -5.000000 -v -0.312500 0.875000 -5.000000 -v -0.275888 0.963388 -5.000000 -v 0.275888 0.963388 -5.000000 -v 0.312500 0.875000 -5.000000 -v 0.275888 0.786612 -5.000000 -v 0.187500 0.750000 -5.000000 -v 0.099112 0.786612 -5.000000 -v 0.062500 0.875000 -5.000000 -v 0.099112 0.963388 -5.000000 -v -0.187500 0.875000 -4.750000 -v 0.187500 0.875000 -4.750000 -v -0.099112 0.638388 -4.812500 -v -0.062500 0.550000 -4.812500 -v -0.099112 0.461612 -4.812500 -v -0.187500 0.425000 -4.812500 -v -0.275888 0.461612 -4.812500 -v -0.312500 0.550000 -4.812500 -v -0.275888 0.638388 -4.812500 -v 0.275888 0.638388 -4.812500 -v 0.312500 0.550000 -4.812500 -v 0.275888 0.461612 -4.812500 -v 0.187500 0.425000 -4.812500 -v 0.099112 0.461612 -4.812500 -v 0.062500 0.550000 -4.812500 -v 0.099112 0.638388 -4.812500 -v -0.187500 0.687500 -4.687500 -v -0.320083 0.742418 -4.687500 -v -0.187500 0.687500 -4.750000 -v -0.320083 0.742418 -4.750000 -v -0.375000 0.875000 -4.750000 -v 0.187500 0.687500 -4.687500 -v 0.320083 0.742417 -4.687500 -v 0.375000 0.875000 -4.750000 -v 0.320083 0.742417 -4.750000 -v 0.187500 0.687500 -4.750000 -v -0.375000 0.875000 -4.687500 -v 0.375000 0.875000 -4.687500 -v 0.187500 1.062500 -4.750000 -v -0.375000 0.875000 -4.750000 -v -0.320082 1.007583 -4.750000 -v -0.187500 1.062500 -4.750000 -v 0.320083 1.007583 -4.750000 -v 0.375000 0.875000 -4.750000 -v -0.375000 0.875000 -4.625000 -v -0.187500 1.062500 -4.625000 -v -0.320082 1.007583 -4.625000 -v 0.375000 0.875000 -4.625000 -v -0.375000 0.875000 -4.687500 -v 0.187500 1.062500 -4.625000 -v 0.320083 1.007583 -4.625000 -v 0.375000 0.875000 -4.687500 -v -0.375000 0.550000 -4.625000 -v -0.187500 0.362500 -4.625000 -v -0.320083 0.417418 -4.625000 -v -0.187500 0.362500 -4.687500 -v -0.320083 0.417418 -4.687500 -v 0.375000 0.550000 -4.625000 -v -0.375000 0.550000 -4.687500 -v 0.187500 0.362500 -4.625000 -v 0.320083 0.417417 -4.625000 -v 0.375000 0.550000 -4.687500 -v 0.320083 0.417417 -4.687500 -v 0.187500 0.362500 -4.687500 -v -0.375000 0.675000 -2.250000 -v -0.375000 0.875000 -2.250000 -v -0.375000 0.675000 -1.625000 -v -0.375000 0.875000 -1.625000 -v -0.312500 0.875000 -2.250000 -v -0.312500 0.675000 -2.250000 -v -0.312500 0.875000 -1.625000 -v -0.312500 0.675000 -1.625000 -v -0.054918 0.417417 -2.500000 -v 0.000000 0.550000 -2.500000 -v -0.375000 0.875000 -2.500000 -v -0.320083 1.007582 -2.500000 -v -0.320083 0.417418 -2.500000 -v -0.375000 0.550000 -2.500000 -v 0.187500 1.062500 -2.500000 -v 0.320082 1.007583 -2.500000 -v 0.375000 0.875000 -2.500000 -v 0.187500 0.362500 -2.500000 -v 0.320082 0.417418 -2.500000 -v 0.375000 0.550000 -2.500000 -v 0.000000 0.875000 -2.500000 -v 0.054917 1.007582 -2.500000 -v 0.054917 0.417418 -2.500000 -v 0.000000 0.550000 -2.500000 -v 0.073827 -0.463718 0.375000 -v 0.301173 -0.463718 0.375000 -v 0.073827 -0.526218 0.312500 -v 0.301173 -0.526218 0.312500 -v 0.073827 -0.526218 -0.062500 -v 0.301173 -0.526218 -0.062500 -v 0.073827 -0.338718 -0.250000 -v 0.301173 -0.338718 -0.250000 -v 0.073827 0.098782 -0.500000 -v 0.301173 0.098782 -0.500000 -v -0.121209 0.417417 -1.250000 -v -0.253791 0.417418 -1.250000 -v -0.121209 0.354917 -1.125000 -v -0.253791 0.354918 -1.125000 -v -0.121209 0.229917 -1.062500 -v -0.253791 0.229918 -1.062500 -v -0.121209 0.167417 -0.937500 -v -0.253791 0.167418 -0.937500 -v -0.121209 0.167417 -0.687500 -v -0.253791 0.167418 -0.687500 -v -0.121209 0.229917 -0.562500 -v -0.253791 0.229918 -0.562500 -v -0.121209 0.354917 -0.500000 -v -0.253791 0.354918 -0.500000 -v -0.121209 0.417417 -0.437500 -v -0.253791 0.417418 -0.437500 -v -0.121209 0.229917 -0.937500 -v -0.253791 0.229918 -0.937500 -v -0.121209 0.289987 -1.036236 -v -0.253791 0.289987 -1.036236 -v -0.121209 0.414987 -1.036236 -v -0.253791 0.414987 -1.036236 -v -0.121209 0.229917 -0.687500 -v -0.253791 0.229918 -0.687500 -v -0.121209 0.292417 -0.625000 -v -0.253791 0.292418 -0.625000 -v -0.121209 0.417417 -0.625000 -v -0.253791 0.417418 -0.625000 -v -0.154354 0.261167 -0.843750 -v -0.220646 0.261168 -0.843750 -v -0.154354 0.323617 -0.781250 -v -0.220646 0.323618 -0.781250 -v -0.154354 0.354917 -0.781250 -v -0.220646 0.354918 -0.781250 -v -0.154354 0.292417 -0.795203 -v -0.220646 0.292418 -0.795203 -v -0.154354 0.391220 -0.794434 -v -0.220646 0.391220 -0.794434 -v -0.154354 0.292417 -0.750000 -v -0.220646 0.292418 -0.750000 -v -0.154354 0.261167 -0.781250 -v -0.220646 0.261168 -0.781250 -v -0.154354 0.261167 -0.843750 -v -0.220646 0.261168 -0.843750 -v -0.154354 0.354917 -0.750000 -v -0.220646 0.354918 -0.750000 -v -0.154354 0.392570 -0.718428 -v -0.220646 0.392570 -0.718428 -v 0.000000 0.875000 -2.500000 -v 0.000000 0.875000 -0.875000 -v 0.000000 0.550000 -0.875000 -v 0.000000 0.550000 -2.500000 -v -0.375000 0.875000 -2.500000 -v -0.375000 0.875000 -0.875000 -v -0.375000 0.550000 -2.500000 -v -0.375000 0.550000 -0.875000 -v -0.365625 0.534375 -0.625000 -v -0.365625 0.850625 -0.625000 -v -0.009375 0.534375 -0.625000 -v -0.009375 0.850625 -0.625000 -v -0.356719 0.809906 -0.375000 -v -0.018281 0.515094 -0.375000 -v -0.018281 0.809906 -0.375000 -v -0.356719 0.515094 -0.375000 -v -0.348258 0.692295 -0.125000 -v -0.026742 0.492705 -0.125000 -v -0.026742 0.692295 -0.125000 -v -0.348258 0.492705 -0.125000 -v 0.375000 0.875000 -2.500000 -v 0.375000 0.875000 -0.875000 -v 0.375000 0.550000 -0.875000 -v 0.375000 0.550000 -2.500000 -v 0.000000 0.875000 -2.500000 -v 0.000000 0.875000 -0.875000 -v 0.000000 0.550000 -2.500000 -v 0.000000 0.550000 -0.875000 -v 0.009375 0.534375 -0.625000 -v 0.009375 0.850625 -0.625000 -v 0.365625 0.534375 -0.625000 -v 0.365625 0.850625 -0.625000 -v 0.018281 0.809906 -0.375000 -v 0.356719 0.515094 -0.375000 -v 0.356719 0.809906 -0.375000 -v 0.018281 0.515094 -0.375000 -v 0.026742 0.692295 -0.125000 -v 0.348258 0.492705 -0.125000 -v 0.348258 0.692295 -0.125000 -v 0.026742 0.492705 -0.125000 -v 0.348258 0.629795 0.000000 -v 0.026742 0.629795 0.000000 -v -0.375000 0.675000 -2.250000 -v -0.375000 0.875000 -2.250000 -v -0.375000 0.675000 -1.625000 -v -0.375000 0.875000 -1.625000 -v -0.187500 0.687500 -2.625000 -v -0.187500 1.062500 -2.625000 -v -0.320083 0.742418 -2.625000 -v -0.187500 0.687500 -2.687500 -v -0.320082 1.007583 -2.625000 -v -0.320083 0.742418 -2.687500 -v 0.375000 0.875000 -2.625000 -v -0.375000 0.875000 -2.687500 -v 0.187500 0.687500 -2.625000 -v 0.187500 1.062500 -2.625000 -v -0.320082 1.007583 -2.687500 -v 0.320083 1.007583 -2.625000 -v -0.187500 1.062500 -2.687500 -v 0.320083 0.742417 -2.625000 -v 0.320083 1.007583 -2.687500 -v 0.375000 0.875000 -2.687500 -v 0.320083 0.742417 -2.687500 -v 0.187500 0.687500 -2.687500 -vt 0.123077 0.426667 -vt 0.076923 0.426667 -vt 0.076923 0.346667 -vt 0.053846 0.480000 -vt 0.076923 0.440000 -vt 0.076923 0.520000 -vt 0.430769 0.106667 -vt 0.415385 0.040000 -vt 0.438462 0.080000 -vt 0.346154 0.360000 -vt 0.369231 0.320000 -vt 0.369231 0.400000 -vt 0.346154 0.080000 -vt 0.346154 0.000000 -vt 0.353846 0.026667 -vt 0.369231 0.040000 -vt 0.353846 0.106667 -vt 0.430769 0.026667 -vt 0.438462 -0.000000 -vt 0.861538 0.640000 -vt 0.853846 0.600000 -vt 0.861538 0.600000 -vt 0.776923 0.653333 -vt 0.853846 0.640000 -vt 0.853846 0.653333 -vt 0.769231 0.600000 -vt 0.776923 0.640000 -vt 0.769231 0.640000 -vt 0.776923 0.600000 -vt 0.853846 0.586667 -vt 0.776923 0.586667 -vt 0.369231 0.293333 -vt 0.346154 0.173333 -vt 0.369231 0.133333 -vt 0.369231 0.120000 -vt 0.415385 0.120000 -vt 0.640866 0.413523 -vt 0.655587 0.615015 -vt 0.390614 0.515586 -vt 0.581983 0.627773 -vt 0.552542 0.653289 -vt 0.361172 0.627773 -vt 0.346452 0.574273 -vt 0.346452 0.615015 -vt 0.361172 0.502828 -vt 0.640866 0.413523 -vt 0.390614 0.515586 -vt 0.655587 0.615015 -vt 0.581983 0.627773 -vt 0.581983 0.627773 -vt 0.552542 0.653289 -vt 0.346452 0.574273 -vt 0.346452 0.615015 -vt 0.361172 0.627773 -vt 0.361172 0.502828 -vt 0.620631 0.866096 -vt 0.608925 0.854344 -vt 0.604086 0.826001 -vt 0.656864 0.797727 -vt 0.620663 0.785945 -vt 0.661703 0.826070 -vt 0.656841 0.854402 -vt 0.647175 0.870804 -vt 0.647211 0.781301 -vt 0.705919 0.388215 -vt 0.671493 0.652733 -vt 0.671493 0.388215 -vt 0.694749 0.594905 -vt 0.674795 0.575889 -vt 0.694749 0.575889 -vt 0.674795 0.651955 -vt 0.674795 0.594905 -vt 0.768254 0.582232 -vt 0.767800 0.405311 -vt 0.759153 0.401295 -vt 0.726260 0.434212 -vt 0.719309 0.479177 -vt 0.719537 0.567637 -vt 0.708573 0.578609 -vt 0.727563 0.635623 -vt 0.768254 0.582232 -vt 0.759153 0.401295 -vt 0.767800 0.405311 -vt 0.726260 0.434212 -vt 0.719309 0.479177 -vt 0.719537 0.567637 -vt 0.708573 0.578609 -vt 0.727563 0.635623 -vt 0.337738 0.502367 -vt 0.295615 0.502367 -vt 0.323697 0.478029 -vt 0.295615 0.453691 -vt 0.309656 0.429353 -vt 0.281574 0.429353 -vt 0.281574 0.405015 -vt 0.225409 0.405015 -vt 0.197326 0.429353 -vt 0.225409 0.429353 -vt 0.203227 0.452744 -vt 0.183285 0.478029 -vt 0.203227 0.501421 -vt 0.155202 0.502367 -vt 0.337738 0.502367 -vt 0.323697 0.478029 -vt 0.295615 0.502367 -vt 0.295615 0.453691 -vt 0.309656 0.429353 -vt 0.281574 0.429353 -vt 0.225409 0.405015 -vt 0.281574 0.405015 -vt 0.197326 0.429353 -vt 0.225409 0.429353 -vt 0.183285 0.478029 -vt 0.203227 0.452744 -vt 0.155202 0.502367 -vt 0.203227 0.501421 -vt 0.038041 0.680965 -vt 0.038041 0.737075 -vt 0.000690 0.680965 -vt 0.038041 0.680965 -vt 0.038041 0.737075 -vt 0.000690 0.680965 -vt 0.838462 0.546667 -vt 0.846154 0.573333 -vt 0.838462 0.573333 -vt 0.769231 0.546667 -vt 0.769231 0.573333 -vt 0.838462 0.586667 -vt 0.769231 0.586667 -vt 0.769231 0.533333 -vt 0.257550 0.492166 -vt 0.267532 0.478029 -vt 0.274625 0.492691 -vt 0.260512 0.465840 -vt 0.267532 0.453691 -vt 0.257377 0.453691 -vt 0.260512 0.441522 -vt 0.246471 0.441522 -vt 0.267532 0.478029 -vt 0.257550 0.492166 -vt 0.274625 0.492691 -vt 0.260512 0.465840 -vt 0.260512 0.478029 -vt 0.257377 0.453691 -vt 0.267532 0.453691 -vt 0.260512 0.441522 -vt 0.246471 0.441522 -vt 0.076923 0.573333 -vt 0.338462 0.533333 -vt 0.338462 0.573333 -vt 0.338462 0.573333 -vt 0.076923 0.533333 -vt 0.338462 0.533333 -vt 0.076923 0.573333 -vt 0.338462 0.533333 -vt 0.338462 0.573333 -vt 0.338462 0.573333 -vt 0.076923 0.533333 -vt 0.338462 0.533333 -vt 0.660666 0.381465 -vt 0.618386 0.411821 -vt 0.600872 0.338535 -vt 0.643153 0.411821 -vt 0.600872 0.381465 -vt 0.618385 0.308179 -vt 0.684640 0.654517 -vt 0.661538 0.626667 -vt 0.707692 0.626667 -vt 0.030769 0.893333 -vt -0.000000 0.880000 -vt 0.030769 0.866667 -vt 0.030769 0.893333 -vt -0.000000 0.880000 -vt 0.030769 0.866667 -vt 0.030769 1.000000 -vt -0.000000 0.986667 -vt 0.030769 0.973333 -vt 0.030769 0.840000 -vt -0.000000 0.826667 -vt 0.030769 0.813333 -vt 0.030769 0.946667 -vt -0.000000 0.933333 -vt 0.030769 0.920000 -vt -0.000000 0.906667 -vt -0.000000 0.800000 -vt 0.030769 0.786667 -vt -0.000000 0.853333 -vt -0.000000 0.960000 -vt 0.030769 0.813333 -vt -0.000000 0.800000 -vt 0.030769 0.786667 -vt 0.030769 0.973333 -vt -0.000000 0.960000 -vt 0.030769 0.946667 -vt -0.000000 0.853333 -vt 0.030769 0.840000 -vt -0.000000 0.826667 -vt -0.000000 0.933333 -vt 0.030769 0.920000 -vt 0.030769 1.000000 -vt -0.000000 0.986667 -vt -0.000000 0.906667 -vt 0.369231 0.733333 -vt 0.338462 0.773333 -vt 0.338462 0.706667 -vt 0.538462 0.880000 -vt 0.338462 0.946667 -vt 0.338462 0.880000 -vt 0.538462 0.946667 -vt 0.569231 0.880000 -vt 0.569231 0.946667 -vt 0.538462 0.706667 -vt 0.569231 0.773333 -vt 0.538462 0.773333 -vt 0.600000 0.880000 -vt 0.600000 0.946667 -vt 0.569231 0.706667 -vt 0.600000 0.773333 -vt 0.600000 0.706667 -vt 0.630769 0.746667 -vt 0.630769 0.906667 -vt 0.630769 0.946667 -vt 0.338462 0.706667 -vt 0.538462 0.773333 -vt 0.338462 0.773333 -vt 0.538462 0.880000 -vt 0.338462 0.946667 -vt 0.338462 0.880000 -vt 0.538462 0.946667 -vt 0.569231 0.880000 -vt 0.569231 0.946667 -vt 0.538462 0.706667 -vt 0.569231 0.773333 -vt 0.600000 0.880000 -vt 0.600000 0.946667 -vt 0.569231 0.706667 -vt 0.600000 0.773333 -vt 0.600000 0.706667 -vt 0.623077 0.746667 -vt 0.623077 0.906667 -vt 0.623077 0.946667 -vt 0.623077 0.706667 -vt 0.630769 0.733333 -vt 0.630769 0.920000 -vt 0.446154 0.733333 -vt 0.061538 0.413333 -vt 0.053846 0.386667 -vt 0.061538 0.360000 -vt 0.123077 0.346667 -vt 0.138462 0.360000 -vt 0.138462 0.413333 -vt 0.146154 0.386667 -vt 0.061538 0.453333 -vt 0.123077 0.440000 -vt 0.138462 0.453333 -vt 0.123077 0.520000 -vt 0.146154 0.480000 -vt 0.138462 0.506667 -vt 0.061538 0.506667 -vt 0.353846 0.333333 -vt 0.415385 0.320000 -vt 0.430769 0.333333 -vt 0.415385 0.400000 -vt 0.438462 0.360000 -vt 0.430769 0.386667 -vt 0.353846 0.386667 -vt 0.415385 0.293333 -vt 0.353846 0.280000 -vt 0.346154 0.253333 -vt 0.353846 0.146667 -vt 0.415385 0.133333 -vt 0.430769 0.160000 -vt 0.438462 0.186667 -vt 0.438462 0.253333 -vt 0.430769 0.280000 -vt 0.552542 0.653289 -vt 0.608948 0.797669 -vt 0.705919 0.652733 -vt 0.694749 0.651955 -vt 0.032571 0.759965 -vt 0.019365 0.769446 -vt 0.006160 0.759965 -vt 0.000690 0.737075 -vt 0.006160 0.658076 -vt 0.019365 0.648594 -vt 0.032571 0.658076 -vt 0.032571 0.759965 -vt 0.019365 0.769446 -vt 0.006160 0.759965 -vt 0.000690 0.737075 -vt 0.006160 0.658076 -vt 0.019365 0.648594 -vt 0.032571 0.658076 -vt 0.846154 0.546667 -vt 0.838462 0.533333 -vt 0.260512 0.478029 -vt 0.076923 0.533333 -vt 0.076923 0.573333 -vt 0.076923 0.533333 -vt 0.076923 0.573333 -vt 0.643153 0.411821 -vt 0.600872 0.381465 -vt 0.618386 0.308179 -vt 0.643153 0.308179 -vt 0.660666 0.338535 -vt 0.618385 0.411821 -vt 0.600872 0.338535 -vt 0.643153 0.308179 -vt 0.660666 0.338535 -vt 0.660666 0.381465 -vt 0.684615 0.386667 -vt 0.700000 0.386667 -vt 0.707692 0.413333 -vt 0.661538 0.413333 -vt 0.700000 0.653333 -vt 0.669231 0.653333 -vt 0.669231 0.386667 -vt 0.369231 0.773333 -vt 0.630769 0.706667 -vt 0.446154 0.773333 -vt 0.338462 0.706667 -vt 0.053846 0.733333 -vt 0.053846 0.706667 -vt 0.338462 0.893333 -vt 0.030769 0.920000 -vt 0.030769 0.893333 -vt 0.338462 0.573333 -vt 0.053846 0.600000 -vt 0.053846 0.573333 -vt 0.338462 0.813333 -vt 0.030769 0.840000 -vt 0.030769 0.813333 -vt 0.338462 0.920000 -vt 0.030769 0.946667 -vt 0.338462 0.680000 -vt 0.053846 0.680000 -vt 0.338462 0.786667 -vt 0.030769 0.786667 -vt 0.338462 0.946667 -vt 0.030769 0.973333 -vt 0.338462 0.973333 -vt 0.030769 1.000000 -vt 0.030769 0.973333 -vt 0.338462 0.973333 -vt 0.030769 1.000000 -vt 0.338462 0.946667 -vt 0.030769 0.946667 -vt 0.338462 0.786667 -vt 0.030769 0.813333 -vt 0.030769 0.786667 -vt 0.338462 0.866667 -vt 0.030769 0.893333 -vt 0.030769 0.866667 -vt 0.338462 0.920000 -vt 0.030769 0.920000 -vt 0.338462 0.813333 -vt 0.030769 0.840000 -vt 0.338462 0.893333 -vt 0.338462 0.840000 -vt 0.030769 0.866667 -vt 0.338462 0.600000 -vt 0.053846 0.626667 -vt 0.338462 0.840000 -vt 0.338462 0.866667 -vt 0.338462 0.733333 -vt 0.053846 0.760000 -vt 0.338462 0.760000 -vt 0.053846 0.786667 -vt 0.053846 0.760000 -vt 0.338462 0.760000 -vt 0.053846 0.786667 -vt 0.369231 0.413333 -vt 0.415385 0.400000 -vt 0.415385 0.413333 -vt 0.338462 0.733333 -vt 0.053846 0.733333 -vt 0.338462 0.573333 -vt 0.053846 0.600000 -vt 0.053846 0.573333 -vt 0.338462 0.653333 -vt 0.053846 0.680000 -vt 0.053846 0.653333 -vt 0.338462 0.706667 -vt 0.053846 0.706667 -vt 0.338462 0.600000 -vt 0.053846 0.626667 -vt 0.338462 0.680000 -vt 0.338462 0.626667 -vt 0.053846 0.653333 -vt 0.338462 0.626667 -vt 0.338462 0.653333 -vt 0.353846 0.413333 -vt 0.369231 0.400000 -vt 0.538462 0.826667 -vt 0.338462 0.853333 -vt 0.338462 0.826667 -vt 0.538462 0.853333 -vt 0.338462 0.880000 -vt 0.538462 0.680000 -vt 0.338462 0.706667 -vt 0.338462 0.680000 -vt 0.538462 0.653333 -vt 0.338462 0.653333 -vt 0.538462 0.946667 -vt 0.338462 0.973333 -vt 0.338462 0.946667 -vt 0.538462 0.973333 -vt 0.338462 1.000000 -vt 0.446154 0.773333 -vt 0.538462 0.800000 -vt 0.338462 0.800000 -vt 0.694749 0.458890 -vt 0.674795 0.401841 -vt 0.694749 0.401841 -vt 0.353846 0.293333 -vt 0.369231 0.320000 -vt 0.353846 0.320000 -vt 0.430769 0.293333 -vt 0.446154 0.293333 -vt 0.446154 0.306667 -vt 0.338462 0.306667 -vt 0.338462 0.293333 -vt 0.353846 0.133333 -vt 0.369231 0.120000 -vt 0.369231 0.133333 -vt 0.415385 0.120000 -vt 0.415385 0.133333 -vt 0.205006 0.476783 -vt 0.183543 0.437324 -vt 0.205006 0.437324 -vt 0.220182 0.476783 -vt 0.220182 0.437324 -vt 0.263108 0.437324 -vt 0.263108 0.476783 -vt 0.282952 0.476783 -vt 0.304414 0.437324 -vt 0.304414 0.476783 -vt 0.172076 0.436941 -vt 0.156900 0.476400 -vt 0.156900 0.436941 -vt 0.196072 0.436941 -vt 0.172076 0.476400 -vt 0.569231 0.680000 -vt 0.569231 0.653333 -vt 0.600000 0.680000 -vt 0.569231 0.826667 -vt 0.538462 0.773333 -vt 0.569231 0.800000 -vt 0.569231 0.706667 -vt 0.538462 0.706667 -vt 0.569231 0.853333 -vt 0.569231 0.946667 -vt 0.569231 0.973333 -vt 0.538462 0.880000 -vt 0.569231 0.880000 -vt 0.538462 1.000000 -vt 0.569231 1.000000 -vt 0.600000 0.853333 -vt 0.630769 0.826667 -vt 0.630769 0.853333 -vt 0.569231 0.773333 -vt 0.600000 0.800000 -vt 0.600000 0.946667 -vt 0.600000 0.973333 -vt 0.600000 0.706667 -vt 0.600000 0.826667 -vt 0.600000 0.880000 -vt 0.600000 1.000000 -vt 0.630769 0.973333 -vt 0.630769 1.000000 -vt 0.630769 0.706667 -vt 0.600000 0.653333 -vt 0.630769 0.680000 -vt 0.600000 0.773333 -vt 0.630769 0.800000 -vt 0.630769 0.880000 -vt 0.630769 0.946667 -vt 0.669231 0.706667 -vt 0.669231 0.680000 -vt 0.630769 0.653333 -vt 0.669231 0.973333 -vt 0.669231 0.946667 -vt 0.700000 0.973333 -vt 0.700000 1.000000 -vt 0.669231 1.000000 -vt 0.700000 0.653333 -vt 0.669231 0.653333 -vt 0.700000 0.680000 -vt 0.969231 0.706667 -vt 0.969231 0.680000 -vt 0.969231 0.973333 -vt 0.969231 0.946667 -vt 0.700000 0.946667 -vt 0.653846 0.773333 -vt 0.630769 0.773333 -vt 0.653846 0.800000 -vt 0.653846 0.853333 -vt 0.653846 0.880000 -vt 0.853846 0.773333 -vt 0.853846 0.800000 -vt 0.653846 0.826667 -vt 0.853846 0.853333 -vt 0.853846 0.880000 -vt 0.884615 0.800000 -vt 0.884615 0.826667 -vt 0.853846 0.826667 -vt 0.884615 0.853333 -vt 0.961538 0.853333 -vt 0.884615 0.880000 -vt 0.961538 0.826667 -vt 0.884615 0.773333 -vt 0.961538 0.800000 -vt 0.538462 0.826667 -vt 0.338462 0.853333 -vt 0.338462 0.826667 -vt 0.538462 0.853333 -vt 0.338462 0.880000 -vt 0.538462 0.680000 -vt 0.338462 0.706667 -vt 0.338462 0.680000 -vt 0.538462 0.653333 -vt 0.338462 0.653333 -vt 0.538462 0.946667 -vt 0.338462 0.973333 -vt 0.338462 0.946667 -vt 0.538462 0.973333 -vt 0.338462 1.000000 -vt 0.538462 0.773333 -vt 0.338462 0.800000 -vt 0.338462 0.773333 -vt 0.538462 0.800000 -vt 0.674795 0.388394 -vt 0.694749 0.388394 -vt 0.569231 0.680000 -vt 0.569231 0.653333 -vt 0.600000 0.680000 -vt 0.569231 0.826667 -vt 0.569231 0.800000 -vt 0.138462 0.426667 -vt 0.123077 0.440000 -vt 0.123077 0.426667 -vt 0.569231 0.706667 -vt 0.538462 0.706667 -vt 0.569231 0.853333 -vt 0.123077 0.533333 -vt 0.138462 0.520000 -vt 0.138462 0.533333 -vt 0.569231 0.946667 -vt 0.569231 0.973333 -vt 0.538462 0.880000 -vt 0.569231 0.880000 -vt 0.538462 1.000000 -vt 0.569231 1.000000 -vt 0.600000 0.853333 -vt 0.630769 0.826667 -vt 0.630769 0.853333 -vt 0.569231 0.773333 -vt 0.600000 0.800000 -vt 0.046154 0.533333 -vt 0.061538 0.520000 -vt 0.061538 0.533333 -vt 0.600000 0.946667 -vt 0.600000 0.973333 -vt 0.600000 0.706667 -vt 0.600000 0.826667 -vt 0.600000 0.880000 -vt 0.600000 1.000000 -vt 0.076923 0.440000 -vt 0.076923 0.426667 -vt 0.630769 0.973333 -vt 0.630769 1.000000 -vt 0.630769 0.706667 -vt 0.600000 0.653333 -vt 0.630769 0.680000 -vt 0.600000 0.773333 -vt 0.630769 0.800000 -vt 0.153846 0.520000 -vt 0.153846 0.533333 -vt 0.630769 0.880000 -vt 0.630769 0.946667 -vt 0.076923 0.533333 -vt 0.123077 0.520000 -vt 0.061538 0.426667 -vt 0.046154 0.440000 -vt 0.046154 0.426667 -vt 0.061538 0.440000 -vt 0.630769 0.773333 -vt 0.653846 0.800000 -vt 0.653846 0.826667 -vt 0.653846 0.853333 -vt 0.262993 0.476400 -vt 0.220068 0.436941 -vt 0.262993 0.436941 -vt 0.286989 0.476400 -vt 0.286989 0.436941 -vt 0.310985 0.476400 -vt 0.310985 0.436941 -vt 0.334981 0.476400 -vt 0.334981 0.436941 -vt 0.314535 0.427475 -vt 0.331828 0.478923 -vt 0.314535 0.478923 -vt 0.300521 0.478923 -vt 0.285218 0.427475 -vt 0.300521 0.427475 -vt 0.259368 0.427475 -vt 0.285218 0.478923 -vt 0.259368 0.478923 -vt 0.153846 0.426667 -vt 0.138462 0.440000 -vt 0.076923 0.520000 -vt 0.220068 0.476400 -vt 0.694749 0.575889 -vt 0.674795 0.499230 -vt 0.694749 0.499230 -vt 0.674795 0.458890 -vt 0.183612 0.427475 -vt 0.161612 0.478923 -vt 0.161612 0.427475 -vt 0.211596 0.427475 -vt 0.183612 0.478923 -vt 0.259368 0.427475 -vt 0.231384 0.478923 -vt 0.231384 0.427475 -vt 0.211596 0.478923 -vt 0.438462 0.253333 -vt 0.446154 0.186667 -vt 0.446154 0.253333 -vt 0.338462 0.253333 -vt 0.346154 0.173333 -vt 0.346154 0.253333 -vt 0.430769 0.120000 -vt 0.430769 0.133333 -vt 0.338462 0.133333 -vt 0.353846 0.120000 -vt 0.446154 0.120000 -vt 0.446154 0.133333 -vt 0.415385 0.293333 -vt 0.415385 0.320000 -vt 0.430769 0.320000 -vt 0.430769 0.400000 -vt 0.430769 0.413333 -vt 0.353846 0.400000 -vt 0.338462 0.413333 -vt 0.338462 0.400000 -vt 0.446154 0.413333 -vt 0.446154 0.400000 -vt 0.338462 1.000000 -vt 0.338462 1.000000 -vt 0.338462 0.786667 -vt 0.338462 0.786667 -vt 0.338462 0.773333 -vt 0.369231 0.773333 -vt 0.369231 0.293333 -vt 0.446154 0.320000 -vt 0.338462 0.320000 -vt 0.183543 0.476783 -vt 0.282952 0.437324 -vt 0.196072 0.476400 -vt 0.700000 0.706667 -vt 0.969231 0.653333 -vt 0.969231 1.000000 -vt 0.961538 0.880000 -vt 0.961538 0.773333 -vt 0.046154 0.520000 -vt 0.630769 0.653333 -vt 0.653846 0.773333 -vt 0.653846 0.880000 -vt 0.331828 0.427475 -vt 0.153846 0.440000 -vt 0.674795 0.575889 -vt 0.259368 0.478923 -vt 0.438462 0.186667 -vt 0.338462 0.173333 -vt 0.338462 0.120000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 -1.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 -0.4965 0.8680 -vn 0.7588 -0.4388 0.4813 -vn -0.7588 -0.4388 0.4813 -vn 0.0000 0.4961 0.8682 -vn 0.3474 -0.8387 -0.4194 -vn -0.3474 0.8387 -0.4194 -vn 0.8387 0.3474 -0.4194 -vn -0.8387 -0.3474 -0.4194 -vn -0.3474 -0.8387 -0.4194 -vn 0.3474 0.8387 -0.4194 -vn 0.8387 -0.3474 -0.4194 -vn -0.8387 0.3474 -0.4194 -vn 0.9993 0.0000 0.0375 -vn -0.9993 0.0000 0.0375 -vn 0.9994 0.0000 0.0356 -vn -0.9994 0.0000 0.0356 -vn -0.9994 0.0000 0.0338 -vn 0.9994 0.0000 0.0338 -vn 0.0000 -0.1256 0.9921 -vn 0.7071 0.7071 0.0000 -vn -0.7071 -0.7071 0.0000 -vn 0.7071 -0.7071 0.0000 -vn -0.7071 0.7071 0.0000 -vn -0.1951 -0.9808 0.0000 -vn 0.1951 -0.9808 0.0000 -vn 0.0000 0.9949 0.1008 -vn 0.6947 0.7153 0.0755 -vn 0.9239 0.3827 0.0000 -vn -0.7055 -0.7086 0.0114 -vn -0.9239 -0.3827 0.0000 -vn 0.0000 -0.9998 0.0174 -vn 0.9239 -0.3827 0.0052 -vn 0.9239 -0.3827 0.0000 -vn 0.7055 -0.7086 0.0114 -vn -0.9239 0.3827 0.0000 -vn -0.6947 0.7153 0.0755 -vn 0.0000 -0.9239 -0.3827 -vn 0.0000 -0.9239 0.3827 -vn -0.1951 0.9808 0.0000 -vn 0.9808 0.1951 0.0000 -vn 0.9657 0.2595 0.0000 -vn -0.9657 0.2595 0.0000 -vn -0.9808 0.1951 0.0000 -vn 0.0000 0.3827 -0.9239 -vn 0.0000 0.9239 -0.3827 -vn 0.0000 0.9629 0.2699 -vn 0.0000 0.4900 0.8717 -vn 0.0000 -0.5847 0.8112 -vn 0.0000 -0.7071 0.7071 -vn -0.6803 -0.7326 0.0205 -vn 0.0000 -0.9996 0.0278 -vn -0.6507 -0.7594 -0.0000 -vn 0.0000 0.9757 0.2192 -vn -0.9207 0.3878 0.0445 -vn -0.6697 0.7244 0.1634 -vn -0.9103 -0.4137 0.0128 -vn -0.9239 -0.3827 0.0052 -vn 0.6697 0.7244 0.1634 -vn 0.9103 -0.4137 0.0128 -vn 0.6803 -0.7326 0.0205 -vn 0.9207 0.3878 0.0445 -vn 0.9008 0.4233 0.0965 -vn 0.6172 0.7334 0.2849 -vn 0.0000 0.9998 0.0168 -vn 0.6785 0.7344 0.0115 -vn -0.9008 0.4233 0.0965 -vn -0.6172 0.7334 0.2849 -vn 0.8912 -0.4536 0.0015 -vn 0.6507 -0.7594 -0.0000 -vn -0.8912 -0.4536 0.0015 -vn 0.0000 0.9349 0.3549 -vn 0.8694 0.4551 0.1921 -vn 0.0000 -1.0000 -0.0005 -vn 0.5558 -0.6034 -0.5717 -vn 0.0000 -0.7732 -0.6341 -vn -0.9713 -0.2122 -0.1068 -vn -0.5558 -0.6034 -0.5717 -vn -0.8694 0.4551 0.1921 -vn -0.6785 0.7344 0.0115 -vn 0.9613 0.2754 0.0059 -vn 0.9713 -0.2122 -0.1068 -vn -0.8772 -0.3178 -0.3598 -vn -0.5239 -0.7433 -0.4158 -vn 0.5239 -0.7433 -0.4158 -vn 0.8772 -0.3178 -0.3598 -vn 0.6475 -0.7620 0.0055 -vn 0.0000 -1.0000 0.0072 -vn 0.0000 -0.9040 -0.4275 -vn -0.6475 -0.7620 0.0055 -vn -0.7508 -0.2708 0.6025 -vn -0.4917 -0.6660 0.5610 -vn 0.4917 -0.6660 0.5610 -vn 0.7508 -0.2708 0.6025 -vn 0.9751 -0.2218 0.0014 -vn -0.9542 0.2855 -0.0895 -vn -0.9613 0.2754 0.0059 -vn -0.5886 0.7793 -0.2148 -vn 0.5886 0.7793 -0.2148 -vn 0.9542 0.2855 -0.0895 -vn -0.9520 0.2980 0.0696 -vn -0.5855 0.7956 0.1557 -vn 0.0000 0.9660 -0.2584 -vn 0.5855 0.7956 0.1557 -vn 0.7553 0.4368 0.4886 -vn -0.6275 0.7464 0.2217 -vn 0.0000 0.9579 0.2871 -vn 0.0000 0.9830 0.1837 -vn 0.6275 0.7464 0.2217 -vn 0.4730 0.5821 0.6613 -vn 0.9066 0.2469 0.3423 -vn 0.0000 0.7285 0.6850 -vn -0.9715 0.2293 0.0603 -vn -0.4730 0.5821 0.6613 -vn 0.1951 0.9808 0.0000 -vn 0.0000 0.8868 0.4621 -vn 0.5873 0.7184 0.3726 -vn 0.4880 -0.7459 0.4532 -vn 0.0000 -0.7640 0.6452 -vn -0.8320 -0.4751 0.2864 -vn -0.4880 -0.7459 0.4532 -vn -0.5873 0.7184 0.3726 -vn 0.8386 0.4850 0.2478 -vn 0.8320 -0.4751 0.2864 -vn -0.8386 0.4850 0.2478 -vn -0.4405 0.4798 0.7588 -vn 0.0000 0.5886 0.8084 -vn 0.4405 0.4798 0.7588 -vn 0.0000 -0.9732 -0.2297 -vn 0.0000 -0.9732 0.2297 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 -0.8944 -0.4472 -vn 0.0000 -0.1733 -0.9849 -vn 0.0000 -0.3413 -0.9399 -vn 0.0000 0.2087 -0.9780 -vn 0.0000 0.6516 -0.7585 -vn 0.0000 0.8408 -0.5412 -vn 0.0000 -0.4961 -0.8682 -vn 0.0000 -0.6070 -0.7947 -vn 0.0000 -0.3418 0.9397 -vn 0.0000 -0.6425 0.7663 -vn 0.0000 -0.3827 0.9239 -vn 0.9808 -0.1951 0.0000 -vn -0.9808 -0.1951 0.0000 -vn -0.9751 -0.2218 0.0013 -vn 0.0000 -0.8287 0.5597 -vn 0.7190 0.1385 0.6811 -vn -0.7190 0.1385 0.6811 -vn -0.4089 -0.0829 0.9087 -vn 0.4089 -0.0829 0.9087 -s off -f 312/235/41 304/236/41 303/237/41 -f 310/238/42 315/239/42 306/240/42 -f 363/241/42 331/242/42 362/243/42 -f 330/244/42 335/245/42 326/246/42 -f 359/247/42 346/248/42 325/249/42 -f 359/247/42 323/250/42 357/251/42 -f 336/252/42 362/243/42 331/242/42 -f 362/243/42 336/252/42 352/253/42 -f 359/247/42 325/249/42 323/250/42 -f 646/254/42 650/255/42 645/256/42 -f 644/257/43 649/258/43 646/259/43 -f 643/260/41 647/261/41 644/262/41 -f 650/255/44 647/261/44 648/263/44 -f 645/264/45 648/263/45 643/265/45 -f 343/266/41 353/267/41 354/268/41 -f 356/269/42 357/251/42 323/250/42 -f 363/241/42 364/270/42 331/242/42 -f 364/270/42 323/250/42 331/242/42 -f 399/271/44 418/272/44 394/273/44 -f 418/272/44 411/274/44 394/273/44 -f 411/274/44 406/275/44 394/273/44 -f 406/275/44 401/276/44 394/273/44 -f 384/277/44 401/276/44 376/278/44 -f 389/279/44 394/273/44 384/277/44 -f 401/276/44 384/277/44 394/273/44 -f 396/280/46 391/281/46 419/282/46 -f 419/282/46 391/281/46 412/283/46 -f 416/284/46 391/281/46 415/285/46 -f 378/286/46 381/287/46 402/288/46 -f 386/289/46 378/286/46 391/281/46 -f 402/288/46 391/281/46 378/286/46 -f 402/288/46 415/285/46 391/281/46 -f 474/290/41 473/291/41 472/292/41 -f 467/293/47 474/290/47 475/294/47 -f 466/295/41 464/296/41 467/293/41 -f 465/297/48 474/290/48 464/296/48 -f 467/293/49 475/294/49 471/298/49 -f 480/299/50 478/300/50 479/301/50 -f 489/302/43 488/303/43 487/304/43 -f 489/302/42 492/305/42 490/306/42 -f 477/307/46 480/308/46 482/309/46 -f 482/309/46 484/310/46 477/307/46 -f 486/311/46 477/307/46 484/310/46 -f 488/312/46 477/307/46 486/311/46 -f 490/313/46 477/307/46 488/312/46 -f 492/314/46 477/307/46 490/313/46 -f 478/315/44 481/316/44 479/317/44 -f 481/316/44 478/315/44 483/318/44 -f 485/319/44 483/318/44 478/315/44 -f 487/320/44 485/319/44 478/315/44 -f 489/321/44 487/320/44 478/315/44 -f 491/322/44 489/321/44 478/315/44 -f 508/323/44 520/324/44 506/325/44 -f 506/325/44 518/326/44 504/327/44 -f 504/327/44 516/328/44 502/329/44 -f 516/328/44 500/330/44 502/329/44 -f 498/331/44 510/332/44 512/333/44 -f 496/334/44 512/333/44 514/335/44 -f 496/334/44 514/335/44 494/336/44 -f 507/337/46 505/338/46 519/339/46 -f 505/338/46 517/340/46 519/339/46 -f 503/341/46 515/342/46 517/340/46 -f 499/343/46 515/342/46 501/344/46 -f 497/345/46 509/346/46 499/343/46 -f 495/347/46 511/348/46 497/345/46 -f 495/347/46 493/349/46 513/350/46 -f 666/351/42 663/352/42 662/353/42 -f 656/354/42 653/355/42 652/356/42 -f 534/357/41 535/358/41 533/359/41 -f 529/360/44 533/359/44 530/361/44 -f 530/361/45 535/362/45 531/363/45 -f 532/364/43 534/357/43 529/360/43 -f 554/365/44 546/366/44 552/367/44 -f 546/366/44 544/368/44 538/369/44 -f 538/369/44 550/370/44 540/371/44 -f 542/372/44 540/371/44 550/370/44 -f 545/373/46 553/374/46 551/375/46 -f 545/373/46 543/376/46 547/377/46 -f 549/378/46 537/379/46 539/380/46 -f 541/381/46 549/378/46 539/380/46 -f 558/382/44 561/383/44 557/384/44 -f 559/385/46 556/386/46 555/387/46 -f 566/388/44 569/389/44 565/390/44 -f 567/391/46 564/392/46 563/393/46 -f 597/394/42 591/395/42 593/396/42 -f 604/397/42 598/398/42 600/399/42 -f 421/400/41 418/401/41 419/402/41 -f 573/403/51 590/404/51 588/405/51 -f 574/406/51 589/407/51 581/408/51 -f 578/409/52 589/410/52 577/411/52 -f 580/412/53 589/413/53 579/414/53 -f 576/415/54 589/416/54 575/417/54 -f 575/417/55 589/418/55 574/406/55 -f 579/414/56 589/419/56 578/420/56 -f 581/408/57 589/421/57 580/412/57 -f 577/411/58 589/422/58 576/415/58 -f 586/423/56 590/424/56 585/425/56 -f 584/426/58 590/427/58 583/428/58 -f 588/405/57 590/429/57 587/430/57 -f 587/430/53 590/431/53 586/423/53 -f 583/428/54 590/432/54 582/433/54 -f 585/434/52 590/435/52 584/426/52 -f 590/436/55 573/403/55 582/433/55 -f 767/437/44 729/438/44 731/439/44 -f 726/440/46 728/441/46 725/442/46 -f 727/443/59 736/444/59 735/445/59 -f 732/446/60 734/447/60 730/448/60 -f 735/445/61 739/449/61 738/450/61 -f 733/451/62 737/452/62 734/447/62 -f 740/453/63 741/454/63 737/452/63 -f 738/450/64 743/455/64 742/456/64 -f 751/457/44 750/458/44 749/459/44 -f 746/460/46 748/461/46 745/462/46 -f 747/463/59 756/464/59 755/465/59 -f 752/466/60 754/467/60 750/458/60 -f 755/465/61 759/468/61 758/469/61 -f 753/470/62 757/471/62 754/467/62 -f 760/472/63 761/473/63 757/471/63 -f 758/469/64 763/474/64 762/475/64 -f 764/476/44 766/477/44 761/473/44 -f 762/475/46 763/474/46 765/478/46 -f 730/448/44 769/479/44 732/446/44 -f 769/479/44 731/439/44 732/446/44 -f 304/236/41 307/480/41 303/237/41 -f 307/480/41 302/481/41 303/237/41 -f 302/481/41 305/482/41 303/237/41 -f 303/237/41 311/483/41 312/235/41 -f 311/483/41 316/484/41 314/485/41 -f 316/484/41 309/486/41 314/485/41 -f 314/485/41 312/235/41 311/483/41 -f 310/238/42 313/487/42 315/239/42 -f 315/239/42 301/488/42 306/240/42 -f 301/488/42 317/489/42 320/490/42 -f 306/240/42 301/488/42 320/490/42 -f 317/489/42 318/491/42 319/492/42 -f 319/492/42 320/490/42 317/489/42 -f 306/240/42 308/493/42 310/238/42 -f 330/244/42 333/494/42 335/245/42 -f 335/245/42 321/495/42 326/246/42 -f 321/495/42 337/496/42 340/497/42 -f 326/246/42 321/495/42 340/497/42 -f 337/496/42 338/498/42 339/499/42 -f 339/499/42 340/497/42 337/496/42 -f 326/246/42 328/500/42 330/244/42 -f 646/254/42 649/258/42 650/255/42 -f 644/257/43 647/261/43 649/258/43 -f 643/260/41 648/263/41 647/261/41 -f 650/255/44 649/258/44 647/261/44 -f 645/264/45 650/255/45 648/263/45 -f 347/501/41 343/266/41 354/268/41 -f 343/266/41 344/502/41 342/503/41 -f 353/267/41 343/266/41 342/503/41 -f 353/267/41 355/504/41 354/268/41 -f 354/268/41 360/505/41 347/501/41 -f 360/505/41 361/506/41 358/507/41 -f 347/501/41 360/505/41 345/508/41 -f 358/507/41 345/508/41 360/505/41 -f 345/508/41 349/509/41 347/501/41 -f 364/270/42 356/269/42 323/250/42 -f 416/284/41 412/283/41 391/281/41 -f 402/288/41 407/510/41 415/285/41 -f 476/511/41 475/294/41 472/292/41 -f 475/294/41 474/290/41 472/292/41 -f 467/293/47 464/296/47 474/290/47 -f 480/299/50 477/512/50 478/300/50 -f 489/302/43 490/306/43 488/303/43 -f 489/302/42 491/513/42 492/305/42 -f 506/325/44 520/324/44 518/326/44 -f 504/327/44 518/326/44 516/328/44 -f 516/328/44 510/332/44 500/330/44 -f 498/331/44 500/330/44 510/332/44 -f 496/334/44 498/331/44 512/333/44 -f 505/338/46 503/341/46 517/340/46 -f 503/341/46 501/344/46 515/342/46 -f 499/343/46 509/346/46 515/342/46 -f 497/345/46 511/348/46 509/346/46 -f 495/347/46 513/350/46 511/348/46 -f 664/514/42 657/515/42 658/516/42 -f 658/516/42 659/517/42 664/514/42 -f 659/517/42 662/353/42 663/352/42 -f 664/514/42 659/517/42 663/352/42 -f 662/353/42 661/518/42 666/351/42 -f 661/518/42 660/519/42 666/351/42 -f 660/519/42 665/520/42 666/351/42 -f 654/521/42 528/522/42 527/523/42 -f 527/523/42 526/524/42 654/521/42 -f 526/524/42 652/356/42 653/355/42 -f 654/521/42 526/524/42 653/355/42 -f 652/356/42 651/525/42 656/354/42 -f 651/525/42 525/526/42 656/354/42 -f 525/526/42 655/527/42 656/354/42 -f 534/357/41 536/528/41 535/358/41 -f 529/360/44 534/357/44 533/359/44 -f 530/361/45 533/359/45 535/362/45 -f 532/364/43 536/529/43 534/357/43 -f 554/365/44 548/530/44 546/366/44 -f 546/366/44 548/530/44 544/368/44 -f 538/369/44 544/368/44 550/370/44 -f 545/373/46 547/377/46 553/374/46 -f 545/373/46 537/379/46 543/376/46 -f 549/378/46 543/376/46 537/379/46 -f 558/382/44 562/531/44 561/383/44 -f 559/385/46 560/532/46 556/386/46 -f 566/388/44 570/533/44 569/389/44 -f 567/391/46 568/534/46 564/392/46 -f 597/394/42 571/535/42 591/395/42 -f 591/395/42 592/536/42 593/396/42 -f 593/396/42 594/537/42 595/538/42 -f 595/538/42 596/539/42 593/396/42 -f 596/539/42 597/394/42 593/396/42 -f 604/397/42 572/540/42 598/398/42 -f 598/398/42 599/541/42 600/399/42 -f 600/399/42 601/542/42 602/543/42 -f 602/543/42 603/544/42 600/399/42 -f 603/544/42 604/397/42 600/399/42 -f 397/545/41 395/546/41 396/547/41 -f 396/547/65 419/402/65 399/548/65 -f 419/402/41 420/549/41 421/400/41 -f 399/548/65 419/402/65 418/401/65 -f 421/400/41 417/550/41 418/401/41 -f 399/548/41 398/551/41 397/545/41 -f 397/545/41 396/547/41 399/548/41 -f 767/437/44 768/552/44 729/438/44 -f 726/440/46 727/443/46 728/441/46 -f 727/443/59 726/440/59 736/444/59 -f 732/446/60 733/451/60 734/447/60 -f 735/445/61 736/444/61 739/449/61 -f 733/451/62 740/453/62 737/452/62 -f 740/453/63 744/553/63 741/454/63 -f 738/450/64 739/449/64 743/455/64 -f 751/457/44 752/466/44 750/458/44 -f 746/460/46 747/463/46 748/461/46 -f 747/463/59 746/460/59 756/464/59 -f 752/466/60 753/470/60 754/467/60 -f 755/465/61 756/464/61 759/468/61 -f 753/470/62 760/472/62 757/471/62 -f 760/472/63 764/476/63 761/473/63 -f 758/469/64 759/468/64 763/474/64 -f 730/448/44 770/554/44 769/479/44 -f 769/479/44 767/437/44 731/439/44 -s 1 -f 254/555/66 255/556/46 253/557/66 -f 220/558/45 221/559/66 219/560/45 -f 274/561/43 275/562/67 273/563/43 -f 244/564/67 245/565/44 243/566/67 -f 222/567/66 223/568/46 221/559/66 -f 252/569/45 253/557/66 251/570/45 -f 242/571/43 243/566/67 241/572/43 -f 224/573/46 225/574/68 223/568/46 -f 240/575/68 241/576/43 239/577/68 -f 226/578/68 227/579/43 225/574/68 -f 238/580/46 239/577/68 237/581/46 -f 228/582/43 229/583/67 227/584/43 -f 248/585/69 218/586/45 247/587/69 -f 236/588/66 237/581/46 235/589/66 -f 230/590/67 231/591/44 229/583/67 -f 217/592/45 235/589/66 218/586/45 -f 232/593/44 233/594/69 231/591/44 -f 276/595/67 277/596/44 275/562/67 -f 246/597/44 247/587/69 245/565/44 -f 234/598/69 219/560/45 233/594/69 -f 256/599/46 257/600/68 255/556/46 -f 272/601/68 273/602/43 271/603/68 -f 258/604/68 259/605/43 257/600/68 -f 605/606/70 614/607/71 610/608/71 -f 270/609/46 271/603/68 269/610/46 -f 260/611/43 261/612/67 259/613/43 -f 280/614/69 250/615/45 279/616/69 -f 268/617/66 269/610/46 267/618/66 -f 262/619/67 263/620/44 261/612/67 -f 249/621/45 267/618/66 250/615/45 -f 264/622/44 265/623/69 263/620/44 -f 278/624/44 279/616/69 277/596/44 -f 266/625/69 251/570/45 265/623/69 -f 606/626/67 607/627/70 605/606/70 -f 282/628/72 283/629/66 281/630/45 -f 284/631/73 285/632/74 283/629/66 -f 298/633/75 299/634/76 297/635/67 -f 287/636/77 297/635/67 288/637/43 -f 291/638/78 290/639/68 292/640/79 -f 289/641/80 288/642/43 290/639/68 -f 524/643/81 296/644/82 295/645/69 -f 296/644/82 281/630/45 295/645/69 -f 671/646/83 670/647/84 669/648/84 -f 625/649/69 620/650/85 619/651/69 -f 629/652/66 626/653/86 630/654/87 -f 627/655/88 623/656/89 625/649/69 -f 633/657/67 634/658/70 632/659/70 -f 632/659/70 642/660/71 638/661/71 -f 702/662/90 703/663/42 701/664/90 -f 700/665/91 701/664/90 699/666/91 -f 700/665/91 693/667/92 694/668/92 -f 696/669/93 697/670/41 698/671/41 -f 693/667/92 696/669/93 694/668/92 -f 690/672/94 691/673/95 692/674/95 -f 688/675/95 689/676/94 690/672/94 -f 287/636/77 341/677/96 298/633/75 -f 329/678/97 370/679/98 341/677/96 -f 296/644/82 350/680/99 282/628/72 -f 294/681/100 332/682/101 296/644/82 -f 298/633/75 324/683/102 300/684/103 -f 284/631/73 350/680/99 351/685/104 -f 289/641/80 334/686/105 322/687/106 -f 286/688/107 351/685/104 348/689/108 -f 287/690/77 322/687/106 329/691/97 -f 372/692/109 383/693/110 382/694/111 -f 327/695/112 365/696/113 332/682/101 -f 322/687/106 368/697/114 367/698/115 -f 341/677/96 374/699/116 324/683/102 -f 332/682/101 373/700/117 350/680/99 -f 348/689/108 372/692/109 371/701/118 -f 329/691/97 367/698/115 369/702/119 -f 351/685/104 373/700/117 372/692/109 -f 369/702/119 377/703/120 379/704/121 -f 370/679/98 384/705/122 374/699/116 -f 365/696/113 383/693/110 373/700/117 -f 369/706/119 380/707/123 370/679/98 -f 366/708/124 375/709/125 365/696/113 -f 371/701/118 382/694/111 381/710/126 -f 367/698/115 378/711/127 377/703/120 -f 389/712/128 380/707/123 388/713/129 -f 379/714/121 388/713/129 380/707/123 -f 385/715/130 379/704/121 377/703/120 -f 386/716/131 377/703/120 378/711/127 -f 386/716/131 390/717/132 385/715/130 -f 385/715/130 392/718/133 387/719/134 -f 392/720/133 388/713/129 387/721/134 -f 393/722/135 389/712/128 388/713/129 -f 399/723/136 393/722/135 398/724/137 -f 392/720/133 398/724/137 393/722/135 -f 395/725/138 392/718/133 390/717/132 -f 396/726/139 390/717/132 391/727/140 -f 401/728/141 375/709/125 376/729/142 -f 400/730/143 383/693/110 375/709/125 -f 383/693/110 403/731/144 382/694/111 -f 402/732/145 382/694/111 403/731/144 -f 406/733/146 400/730/143 401/728/141 -f 405/734/147 404/735/148 400/730/143 -f 404/735/148 408/736/149 403/731/144 -f 407/737/150 403/731/144 408/736/149 -f 406/733/146 410/738/151 405/734/147 -f 405/734/147 414/739/152 409/740/153 -f 414/739/152 408/736/149 409/740/153 -f 413/741/154 407/737/150 408/736/149 -f 420/742/155 412/743/156 413/741/154 -f 421/744/157 413/741/154 414/739/152 -f 410/738/151 421/744/157 414/739/152 -f 411/745/158 417/746/159 410/738/151 -f 423/747/72 424/748/66 422/749/45 -f 425/750/73 426/751/74 424/748/66 -f 439/752/75 440/753/76 438/754/67 -f 428/755/77 438/754/67 429/756/43 -f 432/757/78 431/758/68 433/759/79 -f 430/760/80 429/761/43 431/758/68 -f 435/762/100 436/763/69 434/764/81 -f 437/765/82 422/749/45 436/763/69 -f 669/648/84 668/766/95 667/767/95 -f 428/755/77 448/768/96 439/752/75 -f 445/769/97 457/770/98 448/768/96 -f 437/765/82 450/771/99 423/747/72 -f 435/762/100 446/772/101 437/765/82 -f 782/773/66 523/774/160 780/775/160 -f 439/752/75 443/776/102 441/777/103 -f 425/750/73 450/771/99 451/778/104 -f 779/779/71 787/780/68 784/781/68 -f 430/760/80 447/782/105 442/783/106 -f 427/784/107 451/778/104 449/785/108 -f 428/786/77 442/783/106 445/787/97 -f 459/788/109 470/789/161 469/790/162 -f 444/791/112 452/792/113 446/772/101 -f 521/793/44 776/794/67 773/795/67 -f 442/783/106 455/796/114 454/797/115 -f 448/768/96 461/798/116 443/776/102 -f 446/772/101 460/799/117 450/771/99 -f 449/785/108 459/788/109 458/800/118 -f 445/787/97 454/797/115 456/801/119 -f 780/775/160 783/802/85 772/803/85 -f 451/778/104 460/799/117 459/788/109 -f 456/801/119 464/804/163 466/805/164 -f 457/770/98 471/806/165 461/798/116 -f 452/792/113 470/789/161 460/799/117 -f 456/807/119 467/808/166 457/770/98 -f 453/809/124 462/810/167 452/792/113 -f 784/781/68 786/811/46 777/812/46 -f 458/800/118 469/790/162 468/813/168 -f 454/797/115 465/814/169 464/804/163 -f 771/815/70 788/816/71 779/779/71 -f 775/817/69 778/818/44 521/819/44 -f 772/803/85 781/820/69 775/817/69 -f 463/821/170 476/822/171 462/810/167 -f 462/810/167 472/823/172 470/789/161 -f 472/823/172 469/790/162 470/789/161 -f 473/824/173 468/813/168 469/790/162 -f 683/825/174 686/826/175 684/827/174 -f 681/828/176 684/827/174 682/829/176 -f 679/830/176 682/829/176 680/831/176 -f 677/832/177 680/831/176 678/833/177 -f 710/834/178 713/835/179 709/836/178 -f 707/837/180 712/838/181 708/839/180 -f 708/839/180 709/836/178 707/837/180 -f 706/840/182 711/841/181 705/842/182 -f 777/843/46 785/844/66 782/773/66 -f 773/795/67 774/845/70 771/815/70 -f 685/846/175 688/675/95 686/826/175 -f 675/847/183 674/848/184 673/849/184 -f 671/646/83 674/848/184 672/850/83 -f 722/851/185 723/852/186 724/853/186 -f 716/854/187 721/855/185 722/851/185 -f 720/856/43 717/857/84 718/858/84 -f 718/858/84 715/859/187 716/854/187 -f 626/860/86 640/861/188 630/862/87 -f 627/863/88 631/864/189 623/865/89 -f 638/661/71 641/866/68 639/867/68 -f 631/868/189 635/869/67 633/657/67 -f 639/867/68 640/870/188 636/871/188 -f 620/650/85 628/872/160 617/873/160 -f 617/873/160 629/652/66 621/874/66 -f 610/608/71 613/875/68 611/876/68 -f 608/877/67 615/878/76 609/879/76 -f 616/880/79 613/875/68 612/881/79 -f 254/555/66 256/599/46 255/556/46 -f 220/558/45 222/567/66 221/559/66 -f 274/561/43 276/595/67 275/562/67 -f 244/564/67 246/597/44 245/565/44 -f 222/567/66 224/573/46 223/568/46 -f 252/569/45 254/555/66 253/557/66 -f 242/571/43 244/564/67 243/566/67 -f 224/573/46 226/578/68 225/574/68 -f 240/575/68 242/882/43 241/576/43 -f 226/578/68 228/883/43 227/579/43 -f 238/580/46 240/575/68 239/577/68 -f 228/582/43 230/590/67 229/583/67 -f 248/585/69 217/592/45 218/586/45 -f 236/588/66 238/580/46 237/581/46 -f 230/590/67 232/593/44 231/591/44 -f 217/592/45 236/588/66 235/589/66 -f 232/593/44 234/598/69 233/594/69 -f 276/595/67 278/624/44 277/596/44 -f 246/597/44 248/585/69 247/587/69 -f 234/598/69 220/558/45 219/560/45 -f 256/599/46 258/604/68 257/600/68 -f 272/601/68 274/884/43 273/602/43 -f 258/604/68 260/885/43 259/605/43 -f 605/606/70 607/627/70 614/607/71 -f 270/609/46 272/601/68 271/603/68 -f 260/611/43 262/619/67 261/612/67 -f 280/614/69 249/621/45 250/615/45 -f 268/617/66 270/609/46 269/610/46 -f 262/619/67 264/622/44 263/620/44 -f 249/621/45 268/617/66 267/618/66 -f 264/622/44 266/625/69 265/623/69 -f 278/624/44 280/614/69 279/616/69 -f 266/625/69 252/569/45 251/570/45 -f 606/626/67 608/877/67 607/627/70 -f 282/628/72 284/631/73 283/629/66 -f 284/631/73 286/688/107 285/632/74 -f 298/633/75 300/684/103 299/634/76 -f 287/636/77 298/633/75 297/635/67 -f 291/638/78 289/641/80 290/639/68 -f 289/641/80 287/690/77 288/642/43 -f 295/645/69 293/886/81 522/887/81 -f 524/643/81 294/681/100 296/644/82 -f 295/645/69 522/887/81 524/643/81 -f 296/644/82 282/628/72 281/630/45 -f 671/646/83 672/850/83 670/647/84 -f 625/649/69 624/888/85 620/650/85 -f 622/889/74 621/874/66 630/654/87 -f 621/874/66 629/652/66 630/654/87 -f 625/649/69 619/651/69 627/655/88 -f 619/651/69 618/890/81 627/655/88 -f 633/657/67 635/869/67 634/658/70 -f 632/659/70 634/658/70 642/660/71 -f 702/662/90 704/891/42 703/663/42 -f 700/665/91 702/662/90 701/664/90 -f 700/665/91 699/666/91 693/667/92 -f 696/669/93 695/892/93 697/670/41 -f 693/667/92 695/892/93 696/669/93 -f 690/672/94 689/676/94 691/673/95 -f 688/675/95 687/893/95 689/676/94 -f 287/636/77 329/678/97 341/677/96 -f 329/678/97 369/706/119 370/679/98 -f 296/644/82 332/682/101 350/680/99 -f 294/681/100 327/695/112 332/682/101 -f 298/633/75 341/677/96 324/683/102 -f 284/631/73 282/628/72 350/680/99 -f 289/641/80 291/638/78 334/686/105 -f 286/688/107 284/631/73 351/685/104 -f 287/690/77 289/641/80 322/687/106 -f 372/692/109 373/700/117 383/693/110 -f 327/695/112 366/708/124 365/696/113 -f 322/687/106 334/686/105 368/697/114 -f 341/677/96 370/679/98 374/699/116 -f 332/682/101 365/696/113 373/700/117 -f 348/689/108 351/685/104 372/692/109 -f 329/691/97 322/687/106 367/698/115 -f 351/685/104 350/680/99 373/700/117 -f 369/702/119 367/698/115 377/703/120 -f 370/679/98 380/707/123 384/705/122 -f 365/696/113 375/709/125 383/693/110 -f 369/706/119 379/714/121 380/707/123 -f 366/708/124 376/729/142 375/709/125 -f 371/701/118 372/692/109 382/694/111 -f 367/698/115 368/697/114 378/711/127 -f 389/712/128 384/705/122 380/707/123 -f 379/714/121 387/721/134 388/713/129 -f 385/715/130 387/719/134 379/704/121 -f 386/716/131 385/715/130 377/703/120 -f 386/716/131 391/727/140 390/717/132 -f 385/715/130 390/717/132 392/718/133 -f 392/720/133 393/722/135 388/713/129 -f 393/722/135 394/894/190 389/712/128 -f 399/723/136 394/894/190 393/722/135 -f 392/720/133 397/895/191 398/724/137 -f 395/725/138 397/896/191 392/718/133 -f 396/726/139 395/725/138 390/717/132 -f 401/728/141 400/730/143 375/709/125 -f 400/730/143 404/735/148 383/693/110 -f 383/693/110 404/735/148 403/731/144 -f 402/732/145 381/710/126 382/694/111 -f 406/733/146 405/734/147 400/730/143 -f 405/734/147 409/740/153 404/735/148 -f 404/735/148 409/740/153 408/736/149 -f 407/737/150 402/732/145 403/731/144 -f 406/733/146 411/745/158 410/738/151 -f 405/734/147 410/738/151 414/739/152 -f 414/739/152 413/741/154 408/736/149 -f 413/741/154 412/743/156 407/737/150 -f 420/742/155 419/897/192 412/743/156 -f 421/744/157 420/742/155 413/741/154 -f 410/738/151 417/746/159 421/744/157 -f 411/745/158 418/898/193 417/746/159 -f 423/747/72 425/750/73 424/748/66 -f 425/750/73 427/784/107 426/751/74 -f 439/752/75 441/777/103 440/753/76 -f 428/755/77 439/752/75 438/754/67 -f 432/757/78 430/760/80 431/758/68 -f 430/760/80 428/786/77 429/761/43 -f 435/762/100 437/765/82 436/763/69 -f 437/765/82 423/747/72 422/749/45 -f 669/648/84 670/647/84 668/766/95 -f 428/755/77 445/769/97 448/768/96 -f 445/769/97 456/807/119 457/770/98 -f 437/765/82 446/772/101 450/771/99 -f 435/762/100 444/791/112 446/772/101 -f 782/773/66 785/844/66 523/774/160 -f 439/752/75 448/768/96 443/776/102 -f 425/750/73 423/747/72 450/771/99 -f 779/779/71 788/816/71 787/780/68 -f 430/760/80 432/757/78 447/782/105 -f 427/784/107 425/750/73 451/778/104 -f 428/786/77 430/760/80 442/783/106 -f 459/788/109 460/799/117 470/789/161 -f 444/791/112 453/809/124 452/792/113 -f 521/793/44 778/899/44 776/794/67 -f 442/783/106 447/782/105 455/796/114 -f 448/768/96 457/770/98 461/798/116 -f 446/772/101 452/792/113 460/799/117 -f 449/785/108 451/778/104 459/788/109 -f 445/787/97 442/783/106 454/797/115 -f 780/775/160 523/774/160 783/802/85 -f 451/778/104 450/771/99 460/799/117 -f 456/801/119 454/797/115 464/804/163 -f 457/770/98 467/808/166 471/806/165 -f 452/792/113 462/810/167 470/789/161 -f 456/807/119 466/900/164 467/808/166 -f 453/809/124 463/821/170 462/810/167 -f 784/781/68 787/780/68 786/811/46 -f 458/800/118 459/788/109 469/790/162 -f 454/797/115 455/796/114 465/814/169 -f 771/815/70 774/845/70 788/816/71 -f 775/817/69 781/820/69 778/818/44 -f 772/803/85 783/802/85 781/820/69 -f 463/821/170 475/901/194 476/822/171 -f 462/810/167 476/822/171 472/823/172 -f 472/823/172 473/824/173 469/790/162 -f 473/824/173 474/902/195 468/813/168 -f 683/825/174 685/846/175 686/826/175 -f 681/828/176 683/825/174 684/827/174 -f 679/830/176 681/828/176 682/829/176 -f 677/832/177 679/830/176 680/831/176 -f 710/834/178 714/903/179 713/835/179 -f 707/837/180 711/841/181 712/838/181 -f 708/839/180 710/834/178 709/836/178 -f 706/840/182 712/838/181 711/841/181 -f 777/843/46 786/904/46 785/844/66 -f 773/795/67 776/794/67 774/845/70 -f 685/846/175 687/893/95 688/675/95 -f 675/847/183 676/905/183 674/848/184 -f 671/646/83 673/849/184 674/848/184 -f 722/851/185 721/855/185 723/852/186 -f 716/854/187 715/859/187 721/855/185 -f 720/856/43 719/906/43 717/857/84 -f 718/858/84 717/857/84 715/859/187 -f 626/860/86 636/907/188 640/861/188 -f 627/863/88 637/908/189 631/864/189 -f 638/661/71 642/660/71 641/866/68 -f 631/868/189 637/909/189 635/869/67 -f 639/867/68 641/866/68 640/870/188 -f 620/650/85 624/888/85 628/872/160 -f 617/873/160 628/872/160 629/652/66 -f 610/608/71 614/607/71 613/875/68 -f 608/877/67 606/626/67 615/878/76 -f 616/880/79 611/876/68 613/875/68 diff --git a/src/main/resources/assets/hbm/models/weapons/sexy.obj b/src/main/resources/assets/hbm/models/weapons/sexy.obj new file mode 100644 index 000000000..53da0cde9 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/sexy.obj @@ -0,0 +1,4942 @@ +# Blender v2.79 (sub 0) OBJ File: 'sexy.blend' +# www.blender.org +o Barrel +v 0.000000 0.312500 8.000000 +v -0.156250 0.270633 8.000000 +v -0.270633 0.156250 8.000000 +v -0.312500 0.000000 8.000000 +v -0.270633 -0.156250 8.000000 +v -0.156250 -0.270633 8.000000 +v 0.000000 -0.312500 8.000000 +v 0.156250 -0.270633 8.000000 +v 0.270633 -0.156250 8.000000 +v 0.312500 0.000000 8.000000 +v 0.270633 0.156250 8.000000 +v 0.156250 0.270633 8.000000 +v 0.000000 0.312500 -1.000000 +v -0.156250 0.270633 -1.000000 +v -0.270633 0.156250 -1.000000 +v -0.312500 0.000000 -1.000000 +v -0.270633 -0.156250 -1.000000 +v -0.156250 -0.270633 -1.000000 +v 0.000000 -0.312500 -1.000000 +v 0.156250 -0.270633 -1.000000 +v 0.270633 -0.156250 -1.000000 +v 0.312500 0.000000 -1.000000 +v 0.270633 0.156250 -1.000000 +v 0.156250 0.270633 -1.000000 +v -0.433013 0.250000 2.187500 +v -0.250000 0.433012 2.187500 +v 0.000000 0.500000 2.187500 +v 0.250000 0.433012 1.812500 +v 0.433013 0.250000 1.812500 +v 0.500000 0.000000 1.812500 +v -0.500000 0.000000 1.812500 +v -0.433013 0.250000 1.812500 +v -0.250000 0.433012 1.812500 +v 0.000000 0.500000 1.812500 +v -0.500000 0.000000 2.187500 +v 0.500000 0.000000 2.187500 +v 0.433013 0.250000 2.187500 +v 0.250000 0.433012 2.187500 +v -0.500000 -0.312500 1.812500 +v 0.500000 -0.312500 1.812500 +v -0.500000 -0.312500 2.187500 +v -0.433013 -0.562500 2.187500 +v -0.250000 -0.745513 2.187500 +v 0.000000 -0.812500 2.187500 +v 0.250000 -0.745513 2.187500 +v 0.433012 -0.562500 2.187500 +v 0.500000 -0.312500 2.187500 +v -0.500000 -0.312500 2.000000 +v 0.500000 -0.312500 2.000000 +v 0.000000 -0.812500 2.000000 +v 0.250000 -0.745513 2.000000 +v -0.433013 -0.562500 2.000000 +v 0.433012 -0.562500 2.000000 +v -0.250000 -0.745513 2.000000 +v -0.500000 -1.125000 1.812500 +v -0.433013 -1.375000 1.812500 +v -0.250000 -1.558013 1.812500 +v 0.000000 -1.625000 1.812500 +v 0.250000 -1.558013 1.812500 +v 0.433012 -1.375000 1.812500 +v 0.500000 -1.125000 1.812500 +v -0.500000 -1.125000 2.000000 +v 0.500000 -1.125000 2.000000 +v 0.000000 -1.625000 2.000000 +v 0.250000 -1.558013 2.000000 +v -0.433013 -1.375000 2.000000 +v 0.433012 -1.375000 2.000000 +v -0.250000 -1.558013 2.000000 +v 0.000000 0.218750 8.000000 +v -0.109375 0.189443 8.000000 +v -0.189443 0.109375 8.000000 +v -0.218750 -0.000000 8.000000 +v -0.189443 -0.109375 8.000000 +v -0.109375 -0.189443 8.000000 +v 0.000000 -0.218750 8.000000 +v 0.109375 -0.189443 8.000000 +v 0.189443 -0.109375 8.000000 +v 0.218750 -0.000000 8.000000 +v 0.189443 0.109375 8.000000 +v 0.109375 0.189443 8.000000 +v -0.109375 0.189443 7.000000 +v 0.189443 -0.203125 7.375000 +v -0.189443 -0.390625 7.875000 +v -0.218750 -0.500000 7.875000 +v -0.189443 -0.609375 7.875000 +v -0.109375 -0.689443 7.875000 +v 0.000000 -0.718750 7.875000 +v 0.109375 -0.689443 7.875000 +v 0.189443 -0.609375 7.875000 +v 0.218750 -0.500000 7.875000 +v 0.189443 -0.390625 7.875000 +v -0.189443 -0.203125 7.375000 +v 0.000000 0.218750 7.000000 +v 0.189443 -0.203125 7.875000 +v -0.189443 -0.390625 7.375000 +v -0.218750 -0.500000 7.375000 +v -0.189443 -0.609375 7.375000 +v -0.109375 -0.689443 7.375000 +v 0.000000 -0.718750 7.375000 +v 0.109375 -0.689443 7.375000 +v 0.189443 -0.609375 7.375000 +v 0.218750 -0.500000 7.375000 +v 0.189443 -0.390625 7.375000 +v -0.189443 -0.203125 7.875000 +v -0.189443 0.109375 7.000000 +v -0.218750 -0.000000 7.000000 +v -0.189443 -0.109375 7.000000 +v -0.109375 -0.189443 7.000000 +v 0.000000 -0.218750 7.000000 +v 0.109375 -0.189443 7.000000 +v 0.189443 -0.109375 7.000000 +v 0.218750 -0.000000 7.000000 +v 0.189443 0.109375 7.000000 +v 0.109375 0.189443 7.000000 +v 0.000000 -0.265625 7.875000 +v 0.000000 -0.265625 7.375000 +v -0.312500 0.625000 1.750000 +v -0.400888 0.588388 1.750000 +v -0.437500 0.500000 1.750000 +v -0.400888 0.411612 1.750000 +v -0.312500 0.375000 1.750000 +v -0.224112 0.411612 1.750000 +v -0.187500 0.500000 1.750000 +v -0.224112 0.588388 1.750000 +v -0.400888 0.588388 2.625000 +v -0.312500 0.625000 2.625000 +v -0.437500 0.500000 2.625000 +v -0.400888 0.411612 2.625000 +v -0.312500 0.375000 2.625000 +v -0.224112 0.411612 2.625000 +v -0.187500 0.500000 2.625000 +v -0.224112 0.588388 2.625000 +vt 0.983321 0.177141 +vt 0.999976 0.212107 +vt 0.933357 0.212107 +vt 0.966667 0.000061 +vt 0.995513 0.020249 +vt 0.937820 0.020249 +vt 0.933357 0.040436 +vt 0.950012 0.071080 +vt 0.966667 0.065671 +vt 0.075000 0.136364 +vt 0.066667 0.121212 +vt 0.075000 0.121212 +vt 0.075000 0.106061 +vt 0.066667 0.106061 +vt 0.066667 0.090909 +vt 0.075000 0.090909 +vt 0.066667 0.075758 +vt 0.075000 0.075758 +vt 0.075000 0.060606 +vt 0.066667 0.060606 +vt 0.075000 0.045455 +vt 0.066667 0.045455 +vt 0.075000 0.030303 +vt 0.066667 0.030303 +vt 0.075000 0.015152 +vt 0.066667 0.015152 +vt 0.075000 0.000000 +vt 0.066667 -0.000000 +vt 0.075000 0.181818 +vt 0.066667 0.166667 +vt 0.075000 0.166667 +vt 0.066667 0.151515 +vt 0.075000 0.151515 +vt 0.066667 0.136364 +vt 0.052083 0.121212 +vt 0.064713 0.130050 +vt 0.052083 0.156566 +vt 0.880856 0.717643 +vt 0.868745 0.727322 +vt 0.856639 0.717632 +vt 0.880858 0.758044 +vt 0.856642 0.758044 +vt 0.868750 0.732623 +vt 0.850000 0.671569 +vt 0.841789 0.661616 +vt 0.850000 0.651664 +vt 0.850000 0.671866 +vt 0.858211 0.681818 +vt 0.850000 0.691771 +vt 0.966667 0.277717 +vt 0.950012 0.272307 +vt 0.937820 0.257529 +vt 0.933357 0.237341 +vt 0.999976 0.237341 +vt 0.995514 0.257529 +vt 0.937820 0.191919 +vt 0.950012 0.177141 +vt 0.966667 0.171732 +vt 0.995513 0.191919 +vt 0.983321 0.272307 +vt 0.983321 0.166247 +vt 0.966667 0.171656 +vt 0.950012 0.166247 +vt 0.937820 0.151468 +vt 0.933357 0.131281 +vt 0.933357 0.106046 +vt 0.933357 0.040436 +vt 0.999976 0.106046 +vt 0.999976 0.040436 +vt 0.999976 0.131281 +vt 0.995513 0.151468 +vt 0.983321 0.005470 +vt 0.950012 0.005470 +vt 0.995513 0.085859 +vt 0.999976 0.106046 +vt 0.999976 0.040436 +vt 0.995513 0.020249 +vt 0.983321 0.005470 +vt 0.966667 0.000061 +vt 0.950012 0.005470 +vt 0.937820 0.020249 +vt 0.933357 0.106046 +vt 0.937820 0.085859 +vt 0.983321 0.071080 +vt 0.066667 0.181818 +vt 0.039454 0.130050 +vt 0.044792 0.123580 +vt 0.059375 0.123580 +vt 0.066667 0.138889 +vt 0.064713 0.147727 +vt 0.059375 0.154197 +vt 0.044792 0.154197 +vt 0.039454 0.147727 +vt 0.037500 0.138889 +vt 0.854769 0.709158 +vt 0.856644 0.700685 +vt 0.861763 0.694484 +vt 0.868755 0.692217 +vt 0.875745 0.694490 +vt 0.880861 0.700696 +vt 0.882731 0.709170 +vt 0.880852 0.732169 +vt 0.856635 0.732159 +vt 0.880858 0.772570 +vt 0.868750 0.767728 +vt 0.856642 0.772570 +vt 0.854769 0.749571 +vt 0.856642 0.741097 +vt 0.861759 0.734894 +vt 0.875741 0.734894 +vt 0.880858 0.741097 +vt 0.882731 0.749570 +vt 0.858211 0.661616 +vt 0.855806 0.668654 +vt 0.844194 0.668654 +vt 0.844194 0.654579 +vt 0.855806 0.654579 +vt 0.844194 0.688856 +vt 0.841789 0.681818 +vt 0.844194 0.674781 +vt 0.855806 0.674781 +vt 0.855806 0.688856 +vt 0.675000 0.151515 +vt 0.675000 0.075758 +vt 0.675000 0.106061 +vt 0.675000 0.030303 +vt 0.675000 0.166667 +vt 0.675000 0.121212 +vt 0.675000 0.045455 +vt 0.675000 -0.000000 +vt 0.675000 0.136364 +vt 0.675000 0.060606 +vt 0.675000 0.090909 +vt 0.675000 0.015152 +vt 0.933333 0.171717 +vt 0.908333 0.151515 +vt 0.933333 0.151515 +vt 0.933333 0.272727 +vt 0.908333 0.252525 +vt 0.933333 0.252525 +vt 0.933333 0.191919 +vt 0.908333 0.171717 +vt 0.933333 0.232323 +vt 0.908333 0.212121 +vt 0.933333 0.212121 +vt 0.908333 0.191919 +vt 0.908333 0.232323 +vt 0.908333 0.126263 +vt 0.920833 0.126263 +vt 0.920833 0.085859 +vt 0.908333 0.065657 +vt 0.920833 0.065657 +vt 0.920833 0.318182 +vt 0.908333 0.297980 +vt 0.920833 0.297980 +vt 0.920833 0.106061 +vt 0.908333 0.085859 +vt 0.920833 0.338384 +vt 0.908333 0.318182 +vt 0.908333 0.106061 +vt 0.920833 0.358586 +vt 0.908333 0.338384 +vt 0.933333 0.060606 +vt 0.933333 0.126263 +vt 0.933333 0.297980 +vt 0.920833 0.363636 +vt 0.933333 0.424242 +vt 0.920833 0.404040 +vt 0.933333 0.404040 +vt 0.920833 0.040404 +vt 0.933333 0.040404 +vt 0.920833 0.383838 +vt 0.933333 0.383838 +vt 0.920833 0.020202 +vt 0.933333 0.020202 +vt 0.933333 0.363636 +vt 0.920833 0.000000 +vt 0.933333 0.000000 +vt 0.854167 0.808081 +vt 0.820833 0.818182 +vt 0.820833 0.808081 +vt 0.854167 0.777778 +vt 0.820833 0.787879 +vt 0.820833 0.777778 +vt 0.854167 0.747475 +vt 0.820833 0.757576 +vt 0.820833 0.747475 +vt 0.854167 0.818182 +vt 0.820833 0.828283 +vt 0.854167 0.787879 +vt 0.820833 0.797980 +vt 0.854167 0.757576 +vt 0.820833 0.767677 +vt 0.854167 0.732323 +vt -0.000000 0.030303 +vt 0.066667 0.040404 +vt -0.000000 0.040404 +vt 0.854167 0.797980 +vt 0.854167 0.767677 +vt -0.000000 0.000000 +vt 0.066667 0.010101 +vt -0.000000 0.010101 +vt 0.854167 0.828283 +vt 0.820833 0.843434 +vt -0.000000 0.080808 +vt 0.066667 0.090909 +vt -0.000000 0.090909 +vt -0.000000 0.111111 +vt 0.066667 0.121212 +vt -0.000000 0.121212 +vt -0.000000 0.020202 +vt 0.066667 0.030303 +vt -0.000000 0.070707 +vt 0.066667 0.080808 +vt -0.000000 0.050505 +vt 0.066667 0.060606 +vt -0.000000 0.060606 +vt -0.000000 0.101010 +vt 0.066667 0.111111 +vt 0.066667 0.020202 +vt 0.066667 0.070707 +vt 0.066667 0.050505 +vt 0.066667 0.101010 +vt 0.841667 0.691919 +vt 0.783333 0.681818 +vt 0.841667 0.681818 +vt 0.841667 0.671717 +vt 0.783333 0.661616 +vt 0.841667 0.661616 +vt 0.841667 0.732323 +vt 0.783333 0.722222 +vt 0.841667 0.722222 +vt 0.841667 0.712121 +vt 0.783333 0.702020 +vt 0.841667 0.702020 +vt 0.783333 0.671717 +vt 0.783333 0.651515 +vt 0.841667 0.651515 +vt 0.783333 0.712121 +vt 0.783333 0.691919 +vt 0.675000 0.181818 +vt 0.908333 0.272727 +vt 0.908333 0.358586 +vt 0.920833 0.060606 +vt 0.920833 0.424242 +vt 0.820833 0.732323 +vt 0.066667 0.000000 +vt 0.854167 0.843434 +vt 0.783333 0.732323 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.0000 1.0000 0.0000 +vn -0.5000 0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 -0.0000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.9914 0.1305 0.0000 +vn -0.9914 0.1305 0.0000 +vn 0.9914 -0.1305 0.0000 +vn 0.9979 -0.0651 0.0000 +vn -0.9914 -0.1305 0.0000 +vn -0.9979 -0.0651 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +s off +f 45/1/1 47/2/1 41/3/1 +f 58/4/2 56/5/2 60/6/2 +f 63/7/1 51/8/1 50/9/1 +f 4/10/1 71/11/1 3/12/1 +f 2/13/1 71/11/1 70/14/1 +f 2/13/1 69/15/1 1/16/1 +f 1/16/1 80/17/1 12/18/1 +f 11/19/1 80/17/1 79/20/1 +f 10/21/1 79/20/1 78/22/1 +f 9/23/1 78/22/1 77/24/1 +f 8/25/1 77/24/1 76/26/1 +f 7/27/1 76/26/1 75/28/1 +f 7/29/1 74/30/1 6/31/1 +f 6/31/1 73/32/1 5/33/1 +f 5/33/1 72/34/1 4/10/1 +f 109/35/1 111/36/1 93/37/1 +f 91/38/1 115/39/1 83/40/1 +f 95/41/2 103/42/2 99/43/2 +f 117/44/2 123/45/2 121/46/2 +f 129/47/1 131/48/1 126/49/1 +f 27/50/1 26/51/1 25/52/1 +f 25/52/1 35/53/1 27/50/1 +f 35/53/1 41/3/1 36/54/1 +f 27/50/1 35/53/1 37/55/1 +f 41/3/1 42/56/1 43/57/1 +f 43/57/1 44/58/1 41/3/1 +f 44/58/1 45/1/1 41/3/1 +f 45/1/1 46/59/1 47/2/1 +f 47/2/1 36/54/1 41/3/1 +f 36/54/1 37/55/1 35/53/1 +f 37/55/1 38/60/1 27/50/1 +f 33/61/2 34/62/2 28/63/2 +f 28/63/2 29/64/2 30/65/2 +f 40/66/2 61/67/2 39/68/2 +f 61/67/2 60/6/2 55/69/2 +f 39/68/2 61/67/2 55/69/2 +f 28/63/2 30/65/2 31/70/2 +f 30/65/2 40/66/2 39/68/2 +f 32/71/2 33/61/2 28/63/2 +f 39/68/2 31/70/2 30/65/2 +f 31/70/2 32/71/2 28/63/2 +f 56/5/2 55/69/2 60/6/2 +f 58/4/2 57/72/2 56/5/2 +f 60/6/2 59/73/2 58/4/2 +f 52/74/1 48/75/1 62/76/1 +f 62/76/1 66/77/1 50/9/1 +f 66/77/1 68/78/1 50/9/1 +f 68/78/1 64/79/1 50/9/1 +f 64/79/1 65/80/1 50/9/1 +f 65/80/1 67/81/1 50/9/1 +f 67/81/1 63/7/1 50/9/1 +f 63/7/1 49/82/1 53/83/1 +f 63/7/1 53/83/1 51/8/1 +f 52/74/1 62/76/1 54/84/1 +f 54/84/1 62/76/1 50/9/1 +f 4/10/1 72/34/1 71/11/1 +f 2/13/1 3/12/1 71/11/1 +f 2/13/1 70/14/1 69/15/1 +f 1/16/1 69/15/1 80/17/1 +f 11/19/1 12/18/1 80/17/1 +f 10/21/1 11/19/1 79/20/1 +f 9/23/1 10/21/1 78/22/1 +f 8/25/1 9/23/1 77/24/1 +f 7/27/1 8/25/1 76/26/1 +f 7/29/1 75/85/1 74/30/1 +f 6/31/1 74/30/1 73/32/1 +f 5/33/1 73/32/1 72/34/1 +f 107/86/1 108/87/1 109/35/1 +f 109/35/1 110/88/1 111/36/1 +f 111/36/1 112/89/1 113/90/1 +f 113/90/1 114/91/1 111/36/1 +f 114/91/1 93/37/1 111/36/1 +f 93/37/1 81/92/1 107/86/1 +f 81/92/1 105/93/1 107/86/1 +f 105/93/1 106/94/1 107/86/1 +f 107/86/1 109/35/1 93/37/1 +f 83/40/1 84/95/1 85/96/1 +f 85/96/1 86/97/1 87/98/1 +f 87/98/1 88/99/1 89/100/1 +f 89/100/1 90/101/1 87/98/1 +f 90/101/1 91/38/1 87/98/1 +f 91/38/1 94/102/1 115/39/1 +f 115/39/1 104/103/1 83/40/1 +f 83/40/1 85/96/1 91/38/1 +f 85/96/1 87/98/1 91/38/1 +f 95/41/2 92/104/2 116/105/2 +f 116/105/2 82/106/2 103/42/2 +f 103/42/2 102/107/2 99/43/2 +f 102/107/2 101/108/2 99/43/2 +f 101/108/2 100/109/2 99/43/2 +f 99/43/2 98/110/2 97/111/2 +f 97/111/2 96/112/2 99/43/2 +f 96/112/2 95/41/2 99/43/2 +f 95/41/2 116/105/2 103/42/2 +f 119/113/2 118/114/2 117/44/2 +f 117/44/2 124/115/2 123/45/2 +f 123/45/2 122/116/2 121/46/2 +f 121/46/2 120/117/2 119/113/2 +f 119/113/2 117/44/2 121/46/2 +f 126/49/1 125/118/1 127/119/1 +f 127/119/1 128/120/1 129/47/1 +f 129/47/1 130/121/1 131/48/1 +f 131/48/1 132/122/1 126/49/1 +f 126/49/1 127/119/1 129/47/1 +s 1 +f 17/123/3 6/31/4 5/33/3 +f 24/124/5 1/16/6 12/18/5 +f 14/125/7 3/12/8 2/13/7 +f 21/126/9 10/21/10 9/23/9 +f 18/127/4 7/29/11 6/31/4 +f 15/128/8 4/10/12 3/12/8 +f 22/129/10 11/19/13 10/21/10 +f 19/130/11 8/25/14 7/27/11 +f 16/131/12 5/33/3 4/10/12 +f 23/132/13 12/18/5 11/19/13 +f 13/133/6 2/13/7 1/16/6 +f 20/134/14 9/23/9 8/25/14 +f 29/135/13 36/136/15 30/137/15 +f 31/138/16 25/139/8 32/140/8 +f 28/141/5 37/142/13 29/135/13 +f 33/143/7 27/144/6 34/145/6 +f 34/145/6 38/146/5 28/141/5 +f 32/140/8 26/147/7 33/143/7 +f 36/136/15 47/148/17 49/149/18 +f 51/150/14 44/151/11 50/152/11 +f 52/153/3 41/154/19 48/155/20 +f 53/156/9 45/157/14 51/150/14 +f 54/158/4 42/159/3 52/153/3 +f 49/149/18 46/160/9 53/156/9 +f 50/161/11 43/162/4 54/158/4 +f 49/149/18 61/163/17 40/164/10 +f 39/165/12 62/166/19 48/155/20 +f 58/167/11 68/168/4 57/169/4 +f 61/163/17 67/170/9 60/171/9 +f 57/169/4 66/172/3 56/173/3 +f 60/171/9 65/174/14 59/175/14 +f 56/173/3 62/166/19 55/176/19 +f 59/175/14 64/177/11 58/178/11 +f 31/138/16 39/165/12 48/155/20 +f 101/179/9 90/180/10 89/181/9 +f 98/182/4 87/183/11 86/184/4 +f 95/185/16 84/186/12 83/187/16 +f 102/188/10 91/189/15 90/180/10 +f 99/190/11 88/191/14 87/183/11 +f 96/192/12 85/193/3 84/186/12 +f 83/187/16 92/194/12 95/185/16 +f 72/195/10 105/196/9 71/197/9 +f 100/198/14 89/181/9 88/191/14 +f 97/199/3 86/184/4 85/193/3 +f 75/200/6 108/201/5 74/202/5 +f 103/203/15 94/204/10 91/189/15 +f 79/205/3 112/206/12 78/207/12 +f 76/208/7 109/209/6 75/210/6 +f 73/211/13 106/212/10 72/195/10 +f 80/213/4 113/214/3 79/205/3 +f 70/215/14 93/216/11 69/217/11 +f 77/218/8 110/219/7 76/208/7 +f 74/202/5 107/220/13 73/211/13 +f 69/217/11 114/221/4 80/213/4 +f 71/197/9 81/222/14 70/215/14 +f 78/207/12 111/223/8 77/218/8 +f 117/224/6 132/225/21 124/226/21 +f 123/227/10 130/228/22 122/229/22 +f 121/230/11 128/231/23 120/232/23 +f 119/233/12 125/234/24 118/235/24 +f 124/226/21 131/236/10 123/227/10 +f 122/229/22 129/237/11 121/238/11 +f 120/232/23 127/239/12 119/233/12 +f 118/235/24 126/240/6 117/224/6 +f 17/123/3 18/127/4 6/31/4 +f 24/124/5 13/133/6 1/16/6 +f 14/125/7 15/128/8 3/12/8 +f 21/126/9 22/129/10 10/21/10 +f 18/127/4 19/241/11 7/29/11 +f 15/128/8 16/131/12 4/10/12 +f 22/129/10 23/132/13 11/19/13 +f 19/130/11 20/134/14 8/25/14 +f 16/131/12 17/123/3 5/33/3 +f 23/132/13 24/124/5 12/18/5 +f 13/133/6 14/125/7 2/13/7 +f 20/134/14 21/126/9 9/23/9 +f 29/135/13 37/142/13 36/136/15 +f 31/138/16 35/242/16 25/139/8 +f 28/141/5 38/146/5 37/142/13 +f 33/143/7 26/147/7 27/144/6 +f 34/145/6 27/144/6 38/146/5 +f 32/140/8 25/139/8 26/147/7 +f 40/164/10 30/137/15 49/149/18 +f 30/137/15 36/136/15 49/149/18 +f 51/150/14 45/157/14 44/151/11 +f 52/153/3 42/159/3 41/154/19 +f 53/156/9 46/160/9 45/157/14 +f 54/158/4 43/162/4 42/159/3 +f 49/149/18 47/148/17 46/160/9 +f 50/161/11 44/243/11 43/162/4 +f 49/149/18 63/244/17 61/163/17 +f 39/165/12 55/176/19 62/166/19 +f 58/167/11 64/245/11 68/168/4 +f 61/163/17 63/244/17 67/170/9 +f 57/169/4 68/168/4 66/172/3 +f 60/171/9 67/170/9 65/174/14 +f 56/173/3 66/172/3 62/166/19 +f 59/175/14 65/174/14 64/177/11 +f 41/154/19 35/242/16 48/155/20 +f 35/242/16 31/138/16 48/155/20 +f 101/179/9 102/188/10 90/180/10 +f 98/182/4 99/190/11 87/183/11 +f 95/185/16 96/192/12 84/186/12 +f 102/188/10 103/203/15 91/189/15 +f 99/190/11 100/198/14 88/191/14 +f 96/192/12 97/199/3 85/193/3 +f 83/187/16 104/246/12 92/194/12 +f 72/195/10 106/212/10 105/196/9 +f 100/198/14 101/179/9 89/181/9 +f 97/199/3 98/182/4 86/184/4 +f 75/200/6 109/247/6 108/201/5 +f 103/203/15 82/248/10 94/204/10 +f 79/205/3 113/214/3 112/206/12 +f 76/208/7 110/219/7 109/209/6 +f 73/211/13 107/220/13 106/212/10 +f 80/213/4 114/221/4 113/214/3 +f 70/215/14 81/222/14 93/216/11 +f 77/218/8 111/223/8 110/219/7 +f 74/202/5 108/201/5 107/220/13 +f 69/217/11 93/216/11 114/221/4 +f 71/197/9 105/196/9 81/222/14 +f 78/207/12 112/206/12 111/223/8 +f 117/224/6 126/240/6 132/225/21 +f 123/227/10 131/236/10 130/228/22 +f 121/230/11 129/249/11 128/231/23 +f 119/233/12 127/239/12 125/234/24 +f 124/226/21 132/225/21 131/236/10 +f 122/229/22 130/228/22 129/237/11 +f 120/232/23 128/231/23 127/239/12 +f 118/235/24 125/234/24 126/240/6 +o Shell +v 0.000000 0.562500 -3.375000 +v -0.132583 0.507582 -3.375000 +v -0.187500 0.375000 -3.375000 +v -0.132583 0.242418 -3.375000 +v 0.000000 0.187500 -3.375000 +v 0.132582 0.242418 -3.375000 +v 0.187500 0.375000 -3.375000 +v 0.132582 0.507582 -3.375000 +v -0.132583 0.507583 -4.437500 +v 0.000000 0.562501 -4.437500 +v -0.187500 0.375001 -4.437500 +v -0.132583 0.242418 -4.437500 +v 0.000000 0.187501 -4.437500 +v 0.132582 0.242418 -4.437500 +v 0.187500 0.375001 -4.437500 +v 0.132582 0.507583 -4.437500 +v 0.000000 0.593751 -4.437500 +v -0.154680 0.529681 -4.437500 +v -0.218750 0.375001 -4.437500 +v -0.154680 0.220321 -4.437500 +v 0.000000 0.156251 -4.437500 +v 0.154680 0.220321 -4.437500 +v 0.218750 0.375001 -4.437500 +v 0.154680 0.529681 -4.437500 +v 0.000000 0.593751 -4.500000 +v -0.154680 0.529681 -4.500000 +v -0.218750 0.375001 -4.500000 +v -0.154680 0.220321 -4.500000 +v 0.000000 0.156251 -4.500000 +v 0.154680 0.220321 -4.500000 +v 0.218750 0.375001 -4.500000 +v 0.154680 0.529681 -4.500000 +v 0.000000 0.500001 -4.500000 +v -0.088388 0.463389 -4.500000 +v -0.125000 0.375001 -4.500000 +v -0.088388 0.286613 -4.500000 +v 0.000000 0.250001 -4.500000 +v 0.088388 0.286613 -4.500000 +v 0.125000 0.375001 -4.500000 +v 0.088388 0.463389 -4.500000 +v 0.000000 0.437501 -4.500000 +v -0.044194 0.419195 -4.500000 +v -0.062500 0.375001 -4.500000 +v -0.044194 0.330807 -4.500000 +v 0.000000 0.312501 -4.500000 +v 0.044194 0.330807 -4.500000 +v 0.062500 0.375001 -4.500000 +v 0.044194 0.419195 -4.500000 +v -0.088388 0.463389 -4.468750 +v 0.000000 0.500001 -4.468750 +v -0.125000 0.375001 -4.468750 +v -0.088388 0.286613 -4.468750 +v 0.000000 0.250001 -4.468750 +v 0.088388 0.286613 -4.468750 +v 0.125000 0.375001 -4.468750 +v 0.088388 0.463389 -4.468750 +v -0.044194 0.419195 -4.468750 +v 0.000000 0.437501 -4.468750 +v -0.062500 0.375001 -4.468750 +v -0.044194 0.330807 -4.468750 +v 0.000000 0.312501 -4.468750 +v 0.044194 0.330807 -4.468750 +v 0.062500 0.375001 -4.468750 +v 0.044194 0.419195 -4.468750 +vt 0.112500 0.414009 +vt 0.100109 0.398990 +vt 0.112500 0.383971 +vt 0.075000 0.414141 +vt 0.070833 0.424242 +vt 0.070833 0.414141 +vt 0.075000 0.404040 +vt 0.070833 0.404040 +vt 0.075000 0.393939 +vt 0.070833 0.393939 +vt 0.075000 0.383838 +vt 0.070833 0.383838 +vt 0.075000 0.454545 +vt 0.070833 0.464646 +vt 0.070833 0.454545 +vt 0.075000 0.444444 +vt 0.070833 0.444444 +vt 0.070833 0.434343 +vt 0.075000 0.434343 +vt 0.087500 0.434343 +vt 0.079167 0.444444 +vt 0.079167 0.434343 +vt 0.087500 0.424242 +vt 0.079167 0.424242 +vt 0.079167 0.414141 +vt 0.079167 0.404040 +vt 0.087500 0.414141 +vt 0.087500 0.393939 +vt 0.079167 0.393939 +vt 0.087500 0.383838 +vt 0.079167 0.383838 +vt 0.079167 0.454545 +vt 0.087500 0.464646 +vt 0.079167 0.464646 +vt 0.087500 0.454545 +vt 0.104167 0.424234 +vt 0.100007 0.419192 +vt 0.104167 0.414150 +vt 0.095833 0.434343 +vt 0.091667 0.444444 +vt 0.091667 0.434343 +vt 0.091667 0.424242 +vt 0.095833 0.429293 +vt 0.095833 0.414141 +vt 0.091667 0.414141 +vt 0.091667 0.404040 +vt 0.095833 0.409091 +vt 0.095833 0.393939 +vt 0.091667 0.393939 +vt 0.091667 0.383838 +vt 0.095833 0.388889 +vt 0.095833 0.454545 +vt 0.091667 0.464646 +vt 0.091667 0.454545 +vt 0.095833 0.449495 +vt 0.103738 0.409610 +vt 0.103738 0.388370 +vt 0.121262 0.388370 +vt 0.124891 0.398990 +vt 0.121262 0.409610 +vt 0.075000 0.424242 +vt 0.075000 0.464646 +vt 0.087500 0.444444 +vt 0.087500 0.404040 +vt 0.108327 0.419192 +vt 0.107108 0.422757 +vt 0.101225 0.422757 +vt 0.101225 0.415626 +vt 0.107108 0.415626 +vt 0.095833 0.439394 +vt 0.095833 0.424242 +vt 0.095833 0.419192 +vt 0.095833 0.404040 +vt 0.095833 0.398990 +vt 0.095833 0.383838 +vt 0.095833 0.459596 +vt 0.095833 0.444444 +vt -0.000000 0.404040 +vt 0.000000 0.464646 +vt 0.000000 0.434343 +vt 0.000000 0.444444 +vt -0.000000 0.414141 +vt 0.000000 0.383838 +vt -0.000000 0.393939 +vt 0.000000 0.454545 +vt 0.000000 0.424242 +vt 0.100000 0.429293 +vt 0.100000 0.424242 +vt 0.100000 0.419192 +vt 0.100000 0.414141 +vt 0.100000 0.409091 +vt 0.100000 0.404040 +vt 0.100000 0.398990 +vt 0.100000 0.393939 +vt 0.100000 0.439394 +vt 0.100000 0.434343 +vt 0.100000 0.449495 +vt 0.100000 0.444444 +vt 0.100000 0.459596 +vt 0.100000 0.454545 +vt 0.100000 0.388889 +vt 0.100000 0.383838 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 -0.0000 -0.0000 +vn 0.7071 -0.7071 -0.0000 +vn 0.0000 -1.0000 -0.0000 +vn -0.7071 -0.7071 -0.0000 +vn -0.7071 0.7071 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 133/250/25 135/251/25 137/252/25 +f 156/253/25 142/254/25 148/255/25 +f 155/256/25 148/255/25 147/257/25 +f 154/258/25 147/257/25 146/259/25 +f 153/260/25 146/259/25 145/261/25 +f 152/262/25 145/263/25 144/264/25 +f 151/265/25 144/264/25 143/266/25 +f 141/267/25 151/265/25 143/266/25 +f 142/254/25 150/268/25 141/267/25 +f 166/269/26 159/270/26 158/271/26 +f 165/272/26 158/271/26 157/273/26 +f 164/274/26 165/272/26 157/273/26 +f 163/275/26 172/276/26 164/274/26 +f 170/277/26 163/275/26 162/278/26 +f 169/279/26 162/278/26 161/280/26 +f 160/281/26 169/282/26 161/283/26 +f 159/270/26 168/284/26 160/281/26 +f 173/285/26 179/286/26 177/287/26 +f 189/288/26 183/289/26 181/290/26 +f 182/291/26 189/292/26 181/290/26 +f 196/293/26 182/291/26 188/294/26 +f 187/295/26 196/296/26 188/294/26 +f 194/297/26 187/295/26 186/298/26 +f 185/299/26 194/300/26 186/298/26 +f 192/301/26 185/302/26 184/303/26 +f 183/289/26 192/304/26 184/303/26 +f 133/250/25 134/305/25 135/251/25 +f 135/251/25 136/306/25 137/252/25 +f 137/252/25 138/307/25 133/250/25 +f 138/307/25 139/308/25 133/250/25 +f 139/308/25 140/309/25 133/250/25 +f 156/253/25 149/310/25 142/254/25 +f 155/256/25 156/253/25 148/255/25 +f 154/258/25 155/256/25 147/257/25 +f 153/260/25 154/258/25 146/259/25 +f 152/262/25 153/311/25 145/263/25 +f 151/265/25 152/262/25 144/264/25 +f 141/267/25 150/268/25 151/265/25 +f 142/254/25 149/310/25 150/268/25 +f 166/269/26 167/312/26 159/270/26 +f 165/272/26 166/269/26 158/271/26 +f 164/274/26 172/276/26 165/272/26 +f 163/275/26 171/313/26 172/276/26 +f 170/277/26 171/313/26 163/275/26 +f 169/279/26 170/277/26 162/278/26 +f 160/281/26 168/284/26 169/282/26 +f 159/270/26 167/312/26 168/284/26 +f 175/314/26 174/315/26 173/285/26 +f 173/285/26 180/316/26 179/286/26 +f 179/286/26 178/317/26 177/287/26 +f 177/287/26 176/318/26 175/314/26 +f 175/314/26 173/285/26 177/287/26 +f 189/288/26 191/319/26 183/289/26 +f 182/291/26 190/320/26 189/292/26 +f 196/293/26 190/321/26 182/291/26 +f 187/295/26 195/322/26 196/296/26 +f 194/297/26 195/323/26 187/295/26 +f 185/299/26 193/324/26 194/300/26 +f 192/301/26 193/325/26 185/302/26 +f 183/289/26 191/326/26 192/304/26 +s 1 +f 139/327/27 146/259/28 147/257/27 +f 137/328/29 144/264/30 145/263/29 +f 134/329/31 143/266/32 135/330/32 +f 140/331/33 147/257/27 148/255/33 +f 137/332/29 146/259/28 138/333/28 +f 135/330/32 144/264/30 136/334/30 +f 133/335/34 141/267/31 134/329/31 +f 140/331/33 142/254/34 133/335/34 +f 156/253/33 157/273/34 149/310/34 +f 154/258/28 163/275/27 155/256/27 +f 152/262/30 161/283/29 153/311/29 +f 150/268/31 159/270/32 151/265/32 +f 155/256/27 164/274/33 156/253/33 +f 153/260/29 162/278/28 154/258/28 +f 151/265/32 160/281/30 152/262/30 +f 149/310/34 158/271/31 150/268/31 +f 166/269/28 183/289/27 167/312/27 +f 174/336/31 190/320/34 173/337/34 +f 173/338/34 196/293/33 180/339/33 +f 165/272/29 181/290/28 166/269/28 +f 172/276/30 182/291/29 165/272/29 +f 180/340/33 195/322/27 179/341/27 +f 171/313/32 188/294/30 172/276/30 +f 179/342/27 194/297/28 178/343/28 +f 175/344/32 189/288/31 174/345/31 +f 167/312/27 184/303/33 168/284/33 +f 176/346/30 191/326/32 175/347/32 +f 168/284/33 185/302/34 169/282/34 +f 177/348/29 192/301/30 176/349/30 +f 169/279/34 186/298/31 170/277/31 +f 178/350/28 193/324/29 177/351/29 +f 170/277/31 187/295/32 171/313/32 +f 139/327/27 138/333/28 146/259/28 +f 137/328/29 136/334/30 144/264/30 +f 134/329/31 141/267/31 143/266/32 +f 140/331/33 139/327/27 147/257/27 +f 137/332/29 145/261/29 146/259/28 +f 135/330/32 143/266/32 144/264/30 +f 133/335/34 142/254/34 141/267/31 +f 140/331/33 148/255/33 142/254/34 +f 156/253/33 164/274/33 157/273/34 +f 154/258/28 162/278/28 163/275/27 +f 152/262/30 160/281/30 161/283/29 +f 150/268/31 158/271/31 159/270/32 +f 155/256/27 163/275/27 164/274/33 +f 153/260/29 161/280/29 162/278/28 +f 151/265/32 159/270/32 160/281/30 +f 149/310/34 157/273/34 158/271/31 +f 166/269/28 181/290/28 183/289/27 +f 174/336/31 189/292/31 190/320/34 +f 173/338/34 190/321/34 196/293/33 +f 165/272/29 182/291/29 181/290/28 +f 172/276/30 188/294/30 182/291/29 +f 180/340/33 196/296/33 195/322/27 +f 171/313/32 187/295/32 188/294/30 +f 179/342/27 195/323/27 194/297/28 +f 175/344/32 191/319/32 189/288/31 +f 167/312/27 183/289/27 184/303/33 +f 176/346/30 192/304/30 191/326/32 +f 168/284/33 184/303/33 185/302/34 +f 177/348/29 193/325/29 192/301/30 +f 169/279/34 185/299/34 186/298/31 +f 178/350/28 194/300/28 193/324/29 +f 170/277/31 186/298/31 187/295/32 +o Belt +v -0.132583 0.507583 -3.687500 +v 0.000000 0.187501 -4.062500 +v -0.187500 0.375001 -3.687500 +v -0.132583 0.242418 -3.687500 +v 0.000000 0.187501 -3.687500 +v 0.132582 0.242418 -3.687500 +v 0.187500 0.375001 -3.687500 +v 0.132582 0.507583 -3.687500 +v -0.132583 0.242418 -4.062500 +v -0.154680 0.529681 -3.687500 +v -0.218750 0.375001 -3.687500 +v -0.154680 0.220321 -3.687500 +v 0.000000 0.156251 -3.687500 +v 0.154680 0.220321 -3.687500 +v 0.218750 0.375001 -3.687500 +v 0.154680 0.529681 -3.687500 +v -0.132583 0.507583 -3.812500 +v -0.187500 0.375001 -4.062500 +v -0.187500 0.375001 -3.812500 +v -0.132583 0.242418 -3.812500 +v 0.000000 0.187501 -3.812500 +v 0.132582 0.242418 -3.812500 +v 0.187500 0.375001 -3.812500 +v 0.132582 0.507583 -3.812500 +v -0.154680 0.529681 -3.812500 +v -0.132583 0.507583 -4.062500 +v -0.218750 0.375001 -3.812500 +v -0.154680 0.220321 -3.812500 +v 0.000000 0.156251 -3.812500 +v 0.154680 0.220321 -3.812500 +v 0.218750 0.375001 -3.812500 +v 0.154680 0.529681 -3.812500 +v 0.132582 0.242418 -4.062500 +v 0.187500 0.375001 -4.062500 +v 0.132582 0.507583 -4.062500 +v -0.154680 0.529681 -4.062500 +v -0.218750 0.375001 -4.062500 +v -0.154680 0.220321 -4.062500 +v 0.000000 0.156251 -4.062500 +v 0.154680 0.220321 -4.062500 +v 0.218750 0.375001 -4.062500 +v 0.154680 0.529681 -4.062500 +v -0.132583 0.507583 -4.187500 +v -0.187500 0.375001 -4.187500 +v -0.132583 0.242418 -4.187500 +v 0.000000 0.187501 -4.187500 +v 0.132582 0.242418 -4.187500 +v 0.187500 0.375001 -4.187500 +v 0.132582 0.507583 -4.187500 +v -0.154680 0.529681 -4.187500 +v -0.218750 0.375001 -4.187500 +v -0.154680 0.220321 -4.187500 +v 0.000000 0.156251 -4.187500 +v 0.154680 0.220321 -4.187500 +v 0.218750 0.375001 -4.187500 +v 0.154680 0.529681 -4.187500 +vt 0.000000 0.469697 +vt 0.008333 0.474747 +vt 0.008333 0.469697 +vt 0.041667 0.505050 +vt 0.050000 0.500000 +vt 0.041667 0.500000 +vt 0.033333 0.505050 +vt 0.033333 0.500000 +vt 0.025000 0.505050 +vt 0.025000 0.500000 +vt 0.016667 0.500000 +vt 0.008333 0.500000 +vt 0.016667 0.505050 +vt -0.000000 0.500000 +vt 0.008333 0.505050 +vt 0.016667 0.474747 +vt 0.016667 0.469697 +vt 0.050000 0.500000 +vt 0.041667 0.494949 +vt 0.041667 0.500000 +vt 0.033333 0.494949 +vt 0.033333 0.500000 +vt 0.033333 0.474747 +vt 0.029167 0.494949 +vt 0.008333 0.500000 +vt 0.016667 0.494949 +vt 0.008333 0.494949 +vt 0.000000 0.500000 +vt -0.000000 0.494949 +vt 0.020833 0.474747 +vt 0.041667 0.469697 +vt 0.033333 0.469697 +vt 0.041667 0.474747 +vt 0.050000 0.469697 +vt 0.004167 0.505050 +vt 0.000000 0.505050 +vt 0.050000 0.494949 +vt 0.045833 0.505050 +vt 0.050000 0.505050 +vt 0.050000 0.469697 +vt 0.041667 0.464646 +vt 0.041667 0.469697 +vt 0.033333 0.464646 +vt 0.033333 0.469697 +vt 0.025000 0.464646 +vt 0.025000 0.469697 +vt 0.016667 0.469697 +vt 0.016667 0.464646 +vt 0.008333 0.469697 +vt 0.008333 0.464646 +vt 0.000000 0.469697 +vt 0.000000 0.464646 +vt 0.004167 0.474747 +vt -0.000000 0.474747 +vt 0.050000 0.464646 +vt 0.045833 0.474747 +vt 0.050000 0.474747 +vt 0.029167 0.474747 +vt 0.016667 0.500000 +vt 0.020833 0.494949 +vt 0.004167 0.494949 +vt 0.045833 0.494949 +vt 0.004167 0.464646 +vt 0.045833 0.464646 +vt 0.025000 0.494949 +vt 0.033333 0.474747 +vt 0.033333 0.494949 +vt 0.016667 0.494949 +vt 0.025000 0.474747 +vt 0.033333 0.505050 +vt 0.041667 0.494949 +vt 0.041667 0.505050 +vt 0.025000 0.505050 +vt 0.025000 0.494949 +vt 0.016667 0.505050 +vt 0.008333 0.505050 +vt 0.000000 0.505050 +vt 0.008333 0.494949 +vt 0.050000 0.494949 +vt 0.050000 0.505050 +vt 0.041667 0.464646 +vt 0.041667 0.474747 +vt 0.033333 0.464646 +vt 0.025000 0.474747 +vt 0.016667 0.474747 +vt 0.025000 0.464646 +vt 0.008333 0.474747 +vt 0.016667 0.464646 +vt 0.000000 0.474747 +vt 0.008333 0.464646 +vt 0.050000 0.464646 +vt 0.050000 0.474747 +vt 0.000000 0.494949 +vt 0.000000 0.464646 +vn -0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.0000 1.0000 0.0000 +vn 0.6037 0.7972 0.0000 +vn -0.6037 0.7972 0.0000 +vn 1.0000 -0.0000 0.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.6037 -0.7972 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.6037 -0.7972 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.9239 -0.3827 0.0000 +vn 0.9239 0.3827 0.0000 +vn 0.9239 -0.3827 0.0000 +vn -0.9239 0.3827 0.0000 +s off +f 222/352/35 233/353/35 214/354/35 +f 211/355/35 204/356/35 203/357/35 +f 210/358/35 203/357/35 202/359/35 +f 209/360/35 202/359/35 201/361/35 +f 200/362/35 209/360/35 201/361/35 +f 199/363/35 208/364/35 200/362/35 +f 197/365/35 207/366/35 199/363/35 +f 214/354/35 234/367/35 205/368/35 +f 220/369/36 227/370/36 219/371/36 +f 219/371/36 226/372/36 218/373/36 +f 236/374/37 218/375/37 226/372/37 +f 215/376/36 224/377/36 223/378/36 +f 213/379/36 223/378/36 221/380/36 +f 224/377/38 205/381/38 234/367/38 +f 236/374/35 230/382/35 229/383/35 +f 237/384/35 231/385/35 230/382/35 +f 197/386/37 221/380/37 206/387/37 +f 228/388/38 204/389/38 212/390/38 +f 245/391/36 251/392/36 244/393/36 +f 244/393/36 250/394/36 243/395/36 +f 243/395/36 249/396/36 242/397/36 +f 241/398/36 249/396/36 248/399/36 +f 240/400/36 248/399/36 247/401/36 +f 239/402/36 247/401/36 246/403/36 +f 222/404/37 246/403/37 232/405/37 +f 252/406/38 231/407/38 238/408/38 +f 222/352/35 232/405/35 233/353/35 +f 211/355/35 212/390/35 204/356/35 +f 210/358/35 211/355/35 203/357/35 +f 209/360/35 210/358/35 202/359/35 +f 200/362/35 208/364/35 209/360/35 +f 199/363/35 207/366/35 208/364/35 +f 197/365/35 206/387/35 207/366/35 +f 214/354/35 233/353/35 234/367/35 +f 220/369/36 228/388/36 227/370/36 +f 219/371/36 227/370/36 226/372/36 +f 236/374/37 229/409/37 218/375/37 +f 215/376/36 216/410/36 224/377/36 +f 213/379/36 215/376/36 223/378/36 +f 224/377/38 216/411/38 205/381/38 +f 236/374/35 237/384/35 230/382/35 +f 237/384/35 238/408/35 231/385/35 +f 197/386/37 213/412/37 221/380/37 +f 228/388/38 220/413/38 204/389/38 +f 245/391/36 252/406/36 251/392/36 +f 244/393/36 251/392/36 250/394/36 +f 243/395/36 250/394/36 249/396/36 +f 241/398/36 242/397/36 249/396/36 +f 240/400/36 241/398/36 248/399/36 +f 239/402/36 240/400/36 247/401/36 +f 222/404/37 239/414/37 246/403/37 +f 252/406/38 245/415/38 231/407/38 +s 1 +f 217/416/39 205/417/40 216/418/40 +f 218/419/41 198/420/39 217/416/39 +f 200/421/37 215/422/42 199/423/42 +f 207/366/43 224/377/44 208/364/45 +f 201/424/39 216/418/40 200/421/37 +f 208/364/45 225/425/46 209/360/46 +f 202/426/38 217/416/39 201/424/39 +f 209/360/46 226/372/47 210/358/48 +f 203/427/43 218/419/41 202/426/38 +f 210/358/48 227/370/42 211/355/42 +f 204/428/49 219/429/43 203/427/43 +f 211/355/42 228/388/50 212/390/50 +f 199/423/42 213/430/51 197/431/51 +f 206/387/52 223/378/43 207/366/43 +f 205/417/40 240/432/42 214/433/42 +f 233/353/43 248/399/45 234/367/44 +f 198/420/39 241/434/37 205/417/40 +f 234/367/44 249/396/46 235/435/46 +f 229/436/41 242/437/39 198/420/39 +f 235/435/46 250/394/48 236/374/47 +f 230/438/43 243/439/38 229/436/41 +f 236/374/47 251/392/42 237/384/42 +f 231/440/49 244/441/43 230/438/43 +f 237/384/42 252/406/50 238/408/50 +f 214/433/42 239/442/51 222/443/51 +f 232/405/52 247/401/43 233/353/43 +f 236/374/47 225/425/46 235/435/46 +f 235/435/46 224/377/44 234/367/44 +f 217/416/39 198/420/39 205/417/40 +f 218/419/41 229/436/41 198/420/39 +f 200/421/37 216/418/40 215/422/42 +f 207/366/43 223/378/43 224/377/44 +f 201/424/39 217/416/39 216/418/40 +f 208/364/45 224/377/44 225/425/46 +f 202/426/38 218/419/41 217/416/39 +f 209/360/46 225/425/46 226/372/47 +f 203/427/43 219/429/43 218/419/41 +f 210/358/48 226/372/47 227/370/42 +f 204/428/49 220/444/49 219/429/43 +f 211/355/42 227/370/42 228/388/50 +f 199/423/42 215/422/42 213/430/51 +f 206/387/52 221/380/52 223/378/43 +f 205/417/40 241/434/37 240/432/42 +f 233/353/43 247/401/43 248/399/45 +f 198/420/39 242/437/39 241/434/37 +f 234/367/44 248/399/45 249/396/46 +f 229/436/41 243/439/38 242/437/39 +f 235/435/46 249/396/46 250/394/48 +f 230/438/43 244/441/43 243/439/38 +f 236/374/47 250/394/48 251/392/42 +f 231/440/49 245/445/49 244/441/43 +f 237/384/42 251/392/42 252/406/50 +f 214/433/42 240/432/42 239/442/51 +f 232/405/52 246/403/52 247/401/43 +f 236/374/47 226/372/47 225/425/46 +f 235/435/46 225/425/46 224/377/44 +o Magazine +v 0.875000 -0.062500 -3.250000 +v 0.875000 -0.062500 -4.750000 +v -1.375000 -1.812500 -3.250000 +v -1.375000 -1.812500 -4.750000 +v 1.375000 -0.562500 -3.250000 +v 1.375000 -0.562500 -4.750000 +v 1.375000 -1.812500 -3.250000 +v 1.375000 -1.812500 -4.750000 +v -1.000000 -2.062500 -3.250000 +v -1.000000 -2.062500 -4.750000 +v 1.000000 -2.062500 -3.250000 +v 1.000000 -2.062500 -4.750000 +v -0.375000 -0.062500 -3.250000 +v -0.375000 -0.062500 -4.750000 +v -0.375000 -0.562500 -3.250000 +v -0.375000 -0.562500 -4.750000 +v 0.375000 -0.562500 -3.250000 +v 0.375000 -0.562500 -4.750000 +v 0.375000 -0.062500 -3.250000 +v 0.375000 -0.062500 -4.750000 +v -1.000000 -0.062500 -3.250000 +v -1.375000 -0.312500 -3.250000 +v -1.375000 -0.312500 -4.750000 +v -1.000000 -0.062500 -4.750000 +v 0.437500 -0.062500 -3.312500 +v 0.437500 -0.062500 -4.687500 +v 1.312500 -0.500000 -3.312500 +v 1.312500 -0.500000 -4.687500 +v 0.875000 -0.062500 -3.312500 +v 0.875000 -0.062500 -4.687500 +v 0.437500 -1.062500 -3.312500 +v 0.437500 -1.062500 -4.687500 +v 1.312500 -1.062500 -3.312500 +v 1.312500 -1.062500 -4.687500 +vt 0.100000 0.828283 +vt 0.095833 0.712121 +vt 0.100000 0.707071 +vt 0.533333 0.707071 +vt 0.566667 0.828283 +vt 0.533333 0.828283 +vt 0.566667 0.707071 +vt 0.616667 0.828283 +vt 0.000000 0.707071 +vt 0.033333 0.828283 +vt 0.000000 0.828283 +vt 0.033333 0.707071 +vt 0.037500 0.823232 +vt 0.341667 0.989899 +vt 0.300000 0.989899 +vt 0.300000 0.949495 +vt 0.208333 0.707071 +vt 0.250000 0.585859 +vt 0.300000 0.585859 +vt 0.066667 0.828283 +vt 0.095833 0.823232 +vt 0.066667 0.823232 +vt 0.066667 0.707071 +vt 0.066667 0.712121 +vt 0.037500 0.712121 +vt 0.750000 0.489899 +vt 0.841667 0.409091 +vt 0.841667 0.489899 +vt 0.750000 0.409091 +vt 0.841667 0.338384 +vt 0.750000 0.292929 +vt 0.841667 0.292929 +vt 0.683333 0.409091 +vt 0.683333 0.373737 +vt 0.879167 0.338384 +vt 0.616667 0.707071 +vt 0.250000 0.989899 +vt 0.216667 0.989899 +vt 0.250000 0.949495 +vt 0.183333 0.949495 +vt 0.183333 0.848485 +vt 0.208333 0.828283 +vt 0.341667 0.828283 +vt 0.366667 0.848485 +vt 0.366667 0.969697 +vt 0.183333 0.585859 +vt 0.216667 0.545455 +vt 0.250000 0.545455 +vt 0.183333 0.686869 +vt 0.366667 0.686869 +vt 0.341667 0.707071 +vt 0.341667 0.545455 +vt 0.366667 0.565657 +vt 0.300000 0.545455 +vt 0.750000 0.338384 +vt 0.712500 0.338384 +vt 0.908333 0.373737 +vt 0.908333 0.409091 +vt 0.183333 0.828283 +vt 0.183333 0.707071 +vt 0.366667 0.707071 +vt 0.366667 0.828283 +vt 0.466667 0.707071 +vt 0.466667 0.828283 +vt 0.491667 0.828283 +vt 0.491667 0.707071 +vn 0.7071 0.7071 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.8817 -0.4719 0.0000 +vn 0.2898 -0.9571 0.0000 +vn -0.2898 -0.9571 0.0000 +vn -0.8817 -0.4719 0.0000 +vn -0.8817 0.4719 0.0000 +vn -0.2898 0.9571 0.0000 +s off +f 258/446/53 279/447/53 257/448/53 +f 265/449/54 268/450/54 266/451/54 +f 267/452/55 270/453/55 268/450/55 +f 269/454/56 272/455/56 270/456/56 +f 271/457/55 278/458/55 272/455/55 +f 276/459/57 266/460/57 268/461/57 +f 263/462/58 269/463/58 267/464/58 +f 254/465/53 280/466/53 258/446/53 +f 254/465/55 278/458/55 282/467/55 +f 253/468/53 279/447/53 281/469/53 +f 253/468/55 277/470/55 271/457/55 +f 277/471/54 284/472/54 278/473/54 +f 283/474/55 286/475/55 284/472/55 +f 286/475/56 279/476/56 280/477/56 +f 283/474/57 277/478/57 281/479/57 +f 284/472/58 286/475/58 280/480/58 +f 258/446/53 280/466/53 279/447/53 +f 265/449/54 267/452/54 268/450/54 +f 267/452/55 269/481/55 270/453/55 +f 269/454/56 271/457/56 272/455/56 +f 271/457/55 277/470/55 278/458/55 +f 272/482/57 254/483/57 270/484/57 +f 254/483/57 258/485/57 270/484/57 +f 258/485/57 260/486/57 270/484/57 +f 260/486/57 264/487/57 270/484/57 +f 264/487/57 262/488/57 270/484/57 +f 262/488/57 256/489/57 268/461/57 +f 270/484/57 262/488/57 268/461/57 +f 256/489/57 275/490/57 268/461/57 +f 275/490/57 276/459/57 268/461/57 +f 257/491/58 253/492/58 269/463/58 +f 253/492/58 271/493/58 269/463/58 +f 263/462/58 259/494/58 269/463/58 +f 259/494/58 257/491/58 269/463/58 +f 255/495/58 261/496/58 267/464/58 +f 261/496/58 263/462/58 267/464/58 +f 273/497/58 274/498/58 267/464/58 +f 274/498/58 255/495/58 267/464/58 +f 267/464/58 265/499/58 273/497/58 +f 254/465/53 282/467/53 280/466/53 +f 254/465/55 272/455/55 278/458/55 +f 253/468/53 257/448/53 279/447/53 +f 253/468/55 281/469/55 277/470/55 +f 277/471/54 283/474/54 284/472/54 +f 283/474/55 285/500/55 286/475/55 +f 286/475/56 285/500/56 279/476/56 +f 281/479/57 279/501/57 283/474/57 +f 279/501/57 285/500/57 283/474/57 +f 280/480/58 282/502/58 284/472/58 +f 282/502/58 278/503/58 284/472/58 +s 1 +f 257/448/54 260/504/59 258/446/54 +f 264/487/60 261/496/61 262/488/61 +f 259/505/59 264/487/60 260/504/59 +f 262/488/61 255/506/62 256/507/62 +f 256/507/62 274/508/63 275/509/63 +f 276/510/64 274/508/63 273/511/64 +f 273/511/64 266/451/55 276/510/64 +f 257/448/54 259/505/59 260/504/59 +f 264/487/60 263/462/60 261/496/61 +f 259/505/59 263/462/60 264/487/60 +f 262/488/61 261/496/61 255/506/62 +f 256/507/62 255/506/62 274/508/63 +f 276/510/64 275/509/63 274/508/63 +f 273/511/64 265/449/55 266/451/55 +o Hood +v -0.312500 0.437500 -3.000000 +v 0.312500 0.437500 -3.000000 +v -0.312500 0.349112 -2.963388 +v 0.312500 0.349112 -2.963388 +v -0.312500 0.312500 -2.875000 +v 0.312500 0.312500 -2.875000 +v -0.312500 0.349112 -2.786612 +v 0.312500 0.349112 -2.786612 +v -0.312500 0.437500 -2.750000 +v 0.312500 0.437500 -2.750000 +v -0.312500 0.525888 -2.786612 +v 0.312500 0.525888 -2.786612 +v -0.312500 0.562500 -2.875000 +v 0.312500 0.562500 -2.875000 +v -0.312500 0.525888 -2.963388 +v 0.312500 0.525888 -2.963388 +v -0.312500 0.437500 -2.875000 +v 0.312500 0.437500 -2.875000 +v -0.312500 0.812500 -2.875000 +v 0.312500 0.812500 -2.875000 +v -0.312500 1.062500 -3.937500 +v 0.312500 1.062500 -3.937500 +v -0.312500 1.062500 -5.500000 +v 0.312500 1.062500 -5.500000 +v -0.500000 0.875000 -3.250000 +v 0.500000 0.875000 -3.250000 +v -0.500000 0.875000 -4.500000 +v 0.500000 0.875000 -4.500000 +v -0.500000 0.750000 -4.375000 +v -0.500000 0.750000 -3.375000 +v 0.500000 0.750000 -3.375000 +v 0.500000 0.750000 -4.375000 +v -0.500000 0.375000 -3.250000 +v 0.500000 0.375000 -3.250000 +v -0.500000 0.375000 -3.375000 +v 0.500000 0.375000 -3.375000 +v -0.312500 0.562500 -3.000000 +v 0.312500 0.562500 -3.000000 +v -0.312500 0.562500 -3.250000 +v 0.312500 0.562500 -3.250000 +v -0.312500 0.875000 -3.250000 +v 0.312500 0.875000 -3.250000 +v -0.500000 0.625000 -4.375000 +v 0.500000 0.625000 -4.375000 +v -0.500000 0.625000 -4.875000 +v 0.500000 0.625000 -4.875000 +v -0.500000 0.687500 -4.500000 +v 0.500000 0.687500 -4.500000 +v -0.500000 0.687500 -4.937500 +v 0.500000 0.687500 -4.937500 +v -0.500000 0.437500 -4.875000 +v 0.500000 0.437500 -4.875000 +v -0.500000 0.437500 -4.937500 +v 0.500000 0.437500 -4.937500 +v -0.312500 0.312500 -5.500000 +v 0.312500 0.312500 -5.500000 +v 0.312500 0.875000 -4.500000 +v 0.312500 0.687500 -4.500000 +v 0.312500 0.687500 -4.937500 +v 0.312500 0.437500 -4.937500 +v 0.312500 0.312500 -5.000000 +v 0.312500 0.437500 -5.000000 +v -0.312500 0.875000 -4.500000 +v -0.312500 0.687500 -4.500000 +v -0.312500 0.687500 -4.937500 +v -0.312500 0.437500 -4.937500 +v -0.312500 0.312500 -5.000000 +v -0.312500 0.437500 -5.000000 +v 0.125000 0.750000 -3.375000 +v 0.125000 0.750000 -4.375000 +v 0.125000 0.625000 -3.375000 +v 0.125000 0.625000 -4.375000 +v -0.125000 0.625000 -3.375000 +v -0.125000 0.625000 -4.375000 +v -0.125000 0.750000 -3.375000 +v -0.125000 0.750000 -4.375000 +vt 0.658552 0.762626 +vt 0.660928 0.755671 +vt 0.666667 0.752790 +vt 0.666808 0.752259 +vt 0.661030 0.749500 +vt 0.672304 0.735349 +vt 0.391667 0.888889 +vt 0.416667 0.939394 +vt 0.391667 0.939394 +vt 0.500000 0.585859 +vt 0.583333 0.666667 +vt 0.500000 0.666667 +vt 0.366667 0.666667 +vt 0.433333 0.585859 +vt 0.433333 0.666667 +vt 0.575000 0.575758 +vt 0.583333 0.585859 +vt 0.508333 0.676768 +vt 0.700000 0.666667 +vt 0.691667 0.585859 +vt 0.700000 0.585859 +vt 0.500000 0.707071 +vt 0.458333 0.666667 +vt 0.466667 0.585859 +vt 0.508333 0.575758 +vt 0.500000 0.545455 +vt 0.508333 0.545455 +vt 0.466667 0.666667 +vt 0.458333 0.585859 +vt 0.383333 0.888889 +vt 0.383333 0.939394 +vt 0.366667 0.888889 +vt 0.425000 0.848485 +vt 0.441667 0.848485 +vt 0.441667 0.873737 +vt 0.691667 0.666667 +vt 0.658333 0.585859 +vt 0.595833 0.666667 +vt 0.595833 0.585859 +vt 0.625000 0.666667 +vt 0.625000 0.585859 +vt 0.641667 0.666667 +vt 0.658333 0.666667 +vt 0.645833 0.585859 +vt 0.583333 0.681818 +vt 0.575000 0.676768 +vt 0.608333 0.686869 +vt 0.575000 0.686869 +vt 0.612500 0.702020 +vt 0.612500 0.681818 +vt 0.583333 0.570707 +vt 0.608333 0.565657 +vt 0.575000 0.565657 +vt 0.612500 0.550505 +vt 0.612500 0.570707 +vt 0.645833 0.666667 +vt 0.591667 0.888889 +vt 0.641667 0.939394 +vt 0.591667 0.939394 +vt 0.554167 0.858586 +vt 0.554167 0.838384 +vt 0.558333 0.838384 +vt 0.525000 0.873737 +vt 0.487500 0.888889 +vt 0.558333 0.989899 +vt 0.554167 0.969697 +vt 0.591667 1.000000 +vt 0.525000 0.954545 +vt 0.487500 0.939394 +vt 0.441667 0.954545 +vt 0.441667 0.979798 +vt 0.425000 0.979798 +vt 0.366667 0.707071 +vt 0.433333 0.696970 +vt 0.433333 0.707071 +vt 0.366667 0.696970 +vt 0.433333 0.676768 +vt 0.366667 0.676768 +vt 0.433333 0.666667 +vt 0.641667 0.888889 +vt 0.675000 0.939394 +vt 0.683333 0.888889 +vt 0.675000 0.888889 +vt 0.687500 0.888889 +vt 0.683333 0.939394 +vt 0.672405 0.755671 +vt 0.674782 0.762626 +vt 0.672405 0.769582 +vt 0.666667 0.772463 +vt 0.660928 0.769582 +vt 0.658553 0.742596 +vt 0.660829 0.735591 +vt 0.666525 0.732589 +vt 0.674780 0.742253 +vt 0.672504 0.749257 +vt 0.416667 0.888889 +vt 0.366667 0.585859 +vt 0.508333 0.707071 +vt 0.366667 0.939394 +vt 0.416667 0.868687 +vt 0.416667 0.838384 +vt 0.641667 0.585859 +vt 0.608333 0.702020 +vt 0.608333 0.550505 +vt 0.558333 0.828283 +vt 0.591667 0.828283 +vt 0.525000 0.858586 +vt 0.558333 1.000000 +vt 0.554167 0.989899 +vt 0.525000 0.969697 +vt 0.416667 0.959596 +vt 0.416667 0.989899 +vt 0.366667 0.666667 +vt 0.687500 0.939394 +vt 0.658333 0.792929 +vt 0.616667 0.803030 +vt 0.616667 0.792929 +vt 0.658333 0.803030 +vt 0.616667 0.813131 +vt 0.658333 0.732323 +vt 0.616667 0.742424 +vt 0.616667 0.732323 +vt 0.658333 0.742424 +vt 0.616667 0.752525 +vt 0.658333 0.752525 +vt 0.616667 0.762626 +vt 0.658333 0.772727 +vt 0.616667 0.772727 +vt 0.616667 0.782828 +vt 0.658333 0.782828 +vt 0.658333 0.813131 +vt 0.658333 0.762626 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.9734 0.2290 +vn 0.0000 0.9933 0.1153 +s off +f 296/512/65 294/513/65 292/514/65 +f 299/515/66 301/516/66 293/517/66 +f 304/518/67 305/519/67 303/520/67 +f 312/521/68 313/522/68 311/523/68 +f 315/524/69 317/525/69 316/526/69 +f 312/521/65 318/527/65 314/528/65 +f 313/522/66 316/529/66 311/523/66 +f 315/530/67 330/531/67 318/532/67 +f 316/529/66 319/533/66 311/523/66 +f 317/525/70 321/534/70 316/526/70 +f 311/523/67 320/535/67 312/521/67 +f 317/536/65 320/537/65 322/538/65 +f 319/539/69 322/540/69 320/535/69 +f 303/520/71 324/541/71 304/518/71 +f 323/542/69 326/543/69 324/541/69 +f 324/544/65 326/545/65 328/546/65 +f 329/547/69 332/548/69 330/531/69 +f 314/528/70 333/549/70 313/522/70 +f 334/550/68 335/551/68 333/549/68 +f 336/552/70 339/553/70 335/551/70 +f 331/554/67 338/555/67 332/548/67 +f 333/556/66 315/557/66 313/522/66 +f 333/556/66 331/558/66 329/559/66 +f 339/560/66 331/558/66 335/561/66 +f 318/527/65 334/562/65 314/528/65 +f 332/563/65 334/562/65 330/564/65 +f 332/563/65 340/565/65 336/566/65 +f 339/553/69 338/555/69 337/567/69 +f 310/568/70 341/569/70 309/570/70 +f 345/571/65 346/572/65 348/573/65 +f 310/568/65 343/574/65 345/571/65 +f 308/575/65 328/546/65 343/574/65 +f 354/576/66 351/577/66 341/578/66 +f 349/579/66 307/580/66 309/570/66 +f 327/581/66 307/580/66 349/579/66 +f 327/581/66 325/582/66 323/583/66 +f 355/584/65 358/585/65 356/586/65 +f 357/587/69 360/588/69 358/585/69 +f 359/589/66 362/590/66 360/588/66 +f 342/591/69 353/592/69 341/569/69 +f 348/593/67 353/592/67 347/594/67 +f 346/595/69 354/596/69 348/593/69 +f 292/514/65 290/597/65 288/598/65 +f 288/598/65 302/599/65 292/514/65 +f 302/599/65 300/600/65 292/514/65 +f 300/600/65 298/601/65 292/514/65 +f 298/601/65 296/512/65 292/514/65 +f 301/516/66 287/602/66 289/603/66 +f 289/603/66 291/604/66 301/516/66 +f 291/604/66 293/517/66 301/516/66 +f 293/517/66 295/605/66 297/606/66 +f 297/606/66 299/515/66 293/517/66 +f 304/518/67 306/607/67 305/519/67 +f 312/521/68 314/528/68 313/522/68 +f 315/524/69 318/608/69 317/525/69 +f 312/521/65 317/536/65 318/527/65 +f 313/522/66 315/557/66 316/529/66 +f 315/530/67 329/547/67 330/531/67 +f 316/529/66 321/609/66 319/533/66 +f 317/525/70 322/540/70 321/534/70 +f 311/523/67 319/539/67 320/535/67 +f 317/536/65 312/521/65 320/537/65 +f 319/539/69 321/534/69 322/540/69 +f 303/520/71 323/542/71 324/541/71 +f 323/542/69 325/610/69 326/543/69 +f 328/546/65 306/611/65 324/544/65 +f 306/611/65 304/612/65 324/544/65 +f 329/547/69 331/554/69 332/548/69 +f 314/528/70 334/550/70 333/549/70 +f 334/550/68 336/552/68 335/551/68 +f 336/552/70 340/613/70 339/553/70 +f 331/554/67 337/567/67 338/555/67 +f 333/556/66 329/559/66 315/557/66 +f 333/556/66 335/561/66 331/558/66 +f 339/560/66 337/614/66 331/558/66 +f 318/527/65 330/564/65 334/562/65 +f 332/563/65 336/566/65 334/562/65 +f 332/563/65 338/615/65 340/565/65 +f 339/553/69 340/613/69 338/555/69 +f 310/568/70 342/591/70 341/569/70 +f 347/616/65 342/617/65 348/573/65 +f 342/617/65 310/568/65 345/571/65 +f 348/573/65 342/617/65 345/571/65 +f 310/568/65 308/575/65 343/574/65 +f 343/574/65 344/618/65 345/571/65 +f 308/575/65 306/611/65 328/546/65 +f 341/578/66 353/619/66 354/576/66 +f 354/576/66 352/620/66 351/577/66 +f 351/577/66 309/570/66 341/578/66 +f 309/570/66 351/577/66 349/579/66 +f 351/577/66 350/621/66 349/579/66 +f 327/581/66 305/622/66 307/580/66 +f 303/623/66 305/622/66 323/583/66 +f 305/622/66 327/581/66 323/583/66 +f 355/584/65 357/587/65 358/585/65 +f 357/587/69 359/589/69 360/588/69 +f 359/589/66 361/624/66 362/590/66 +f 342/591/69 347/594/69 353/592/69 +f 348/593/67 354/596/67 353/592/67 +f 346/595/69 352/625/69 354/596/69 +s 1 +f 288/626/70 289/627/71 287/628/70 +f 290/629/71 291/630/69 289/627/71 +f 292/631/69 293/632/72 291/633/69 +f 294/634/72 295/635/67 293/632/72 +f 296/636/67 297/637/73 295/635/67 +f 297/637/73 300/638/68 299/639/68 +f 300/638/68 301/640/74 299/639/68 +f 302/641/74 287/628/70 301/640/74 +f 306/607/75 307/580/76 305/519/75 +f 308/575/76 309/570/68 307/580/76 +f 288/626/70 290/629/71 289/627/71 +f 290/629/71 292/642/69 291/630/69 +f 292/631/69 294/634/72 293/632/72 +f 294/634/72 296/636/67 295/635/67 +f 296/636/67 298/643/73 297/637/73 +f 297/637/73 298/643/73 300/638/68 +f 300/638/68 302/641/74 301/640/74 +f 302/641/74 288/626/70 287/628/70 +f 306/607/75 308/575/76 307/580/76 +f 308/575/76 310/568/68 309/570/68 +o RecoilSpring +v 0.000000 -0.875000 1.812500 +v -0.176777 -0.948223 1.812500 +v -0.250000 -1.125000 1.812500 +v -0.176777 -1.301777 1.812500 +v 0.000000 -1.375000 1.812500 +v 0.176777 -1.301777 1.812500 +v 0.250000 -1.125000 1.812500 +v 0.176777 -0.948223 1.812500 +v -0.176777 -0.948223 -0.375000 +v 0.000000 -0.875000 -0.375000 +v -0.250000 -1.125000 -0.375000 +v -0.176777 -1.301777 -0.375000 +v 0.000000 -1.375000 -0.375000 +v 0.176777 -1.301777 -0.375000 +v 0.250000 -1.125000 -0.375000 +v 0.176777 -0.948223 -0.375000 +v 0.000000 -0.875000 1.812500 +v -0.176777 -0.948223 1.812500 +v -0.250000 -1.125000 1.812500 +v -0.176777 -1.301777 1.812500 +v 0.000000 -1.375000 1.812500 +v 0.176777 -1.301777 1.812500 +v 0.250000 -1.125000 1.812500 +v 0.176777 -0.948223 1.812500 +v -0.176777 -0.948223 -0.375000 +v 0.000000 -0.875000 -0.375000 +v -0.250000 -1.125000 -0.375000 +v -0.176777 -1.301777 -0.375000 +v 0.000000 -1.375000 -0.375000 +v 0.176777 -1.301777 -0.375000 +v 0.250000 -1.125000 -0.375000 +v 0.176777 -0.948223 -0.375000 +vt 0.160417 0.368687 +vt 0.016667 0.383838 +vt 0.014583 0.368687 +vt 0.156250 0.338384 +vt 0.012500 0.353535 +vt 0.010417 0.338384 +vt 0.150000 0.292929 +vt 0.006250 0.308081 +vt 0.004167 0.292929 +vt 0.145833 0.262626 +vt 0.002083 0.277778 +vt 0.000000 0.262626 +vt 0.158333 0.353535 +vt 0.154167 0.323232 +vt 0.008333 0.323232 +vt 0.152083 0.308081 +vt 0.147917 0.277778 +vt 0.016667 0.383838 +vt 0.160417 0.368687 +vt 0.014583 0.368687 +vt 0.012500 0.353535 +vt 0.156250 0.338384 +vt 0.010417 0.338384 +vt 0.006250 0.308081 +vt 0.150000 0.292929 +vt 0.004167 0.292929 +vt 0.002083 0.277778 +vt 0.145833 0.262626 +vt 0.000000 0.262626 +vt 0.158333 0.353535 +vt 0.154167 0.323232 +vt 0.008333 0.323232 +vt 0.152083 0.308081 +vt 0.147917 0.277778 +vt 0.162500 0.383838 +vt 0.162500 0.383838 +vn -0.7071 -0.7071 0.0000 +vn -0.0000 -1.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.0000 1.0000 0.0000 +s 1 +f 374/644/77 367/645/78 366/646/77 +f 371/647/79 365/648/80 364/649/79 +f 377/650/81 370/651/82 369/652/81 +f 375/653/78 368/654/83 367/655/78 +f 373/656/80 366/646/77 365/648/80 +f 372/657/84 364/649/79 363/658/84 +f 378/659/82 363/658/84 370/651/82 +f 376/660/83 369/652/81 368/654/83 +f 383/661/84 390/662/82 382/663/82 +f 381/664/81 387/665/83 380/666/83 +f 386/667/77 393/668/80 385/669/80 +f 384/670/79 391/671/84 383/672/84 +f 382/663/82 389/673/81 381/664/81 +f 380/666/83 388/674/78 379/675/78 +f 379/675/78 394/676/77 386/667/77 +f 385/669/80 392/677/79 384/670/79 +f 374/644/77 375/678/78 367/645/78 +f 371/647/79 373/656/80 365/648/80 +f 377/650/81 378/659/82 370/651/82 +f 375/653/78 376/660/83 368/654/83 +f 373/656/80 374/644/77 366/646/77 +f 372/657/84 371/647/79 364/649/79 +f 378/659/82 372/657/84 363/658/84 +f 376/660/83 377/650/81 369/652/81 +f 383/661/84 391/679/84 390/662/82 +f 381/664/81 389/673/81 387/665/83 +f 386/667/77 394/676/77 393/668/80 +f 384/670/79 392/677/79 391/671/84 +f 382/663/82 390/662/82 389/673/81 +f 380/666/83 387/665/83 388/674/78 +f 379/675/78 388/674/78 394/676/77 +f 385/669/80 393/668/80 392/677/79 +o Lever +v 0.250000 0.406250 -6.983253 +v 0.250000 0.501102 -6.995741 +v 0.250000 0.577003 -6.937500 +v 0.250000 0.589491 -6.842648 +v 0.250000 0.531250 -6.766747 +v 0.250000 0.436398 -6.754259 +v 0.250000 0.360497 -6.812500 +v 0.250000 0.348009 -6.907352 +v 0.750000 0.406250 -6.983253 +v 0.750000 0.501102 -6.995741 +v 0.750000 0.577003 -6.937500 +v 0.750000 0.589491 -6.842648 +v 0.750000 0.531250 -6.766747 +v 0.750000 0.436398 -6.754259 +v 0.750000 0.360497 -6.812500 +v 0.750000 0.348009 -6.907352 +v 0.625000 0.445312 -6.915595 +v 0.625000 1.094831 -7.290595 +v 0.665595 0.457031 -6.895298 +v 0.665595 1.106550 -7.270298 +v 0.665595 0.480469 -6.854702 +v 0.665595 1.129988 -7.229702 +v 0.625000 0.492188 -6.834405 +v 0.625000 1.141706 -7.209405 +v 0.584405 0.480469 -6.854702 +v 0.584405 1.129988 -7.229702 +v 0.584405 0.457031 -6.895298 +v 0.584405 1.106550 -7.270298 +vt 0.033480 0.575758 +vt 0.041667 0.565834 +vt 0.049854 0.575758 +vt 0.057696 0.583278 +vt 0.054167 0.585748 +vt 0.050637 0.583278 +vt 0.933013 0.750000 +vt 0.500000 0.000000 +vt 0.066987 0.750000 +vt 0.047456 0.582775 +vt 0.041667 0.585681 +vt 0.035878 0.582775 +vt 0.035878 0.568740 +vt 0.047456 0.568740 +vt 0.050637 0.578338 +vt 0.054167 0.575868 +vt 0.057696 0.578338 +vt 0.500000 1.000000 +vt 0.933013 0.250000 +vt 0.066987 0.250000 +vt -0.000000 0.606061 +vt 0.033333 0.616162 +vt -0.000000 0.616162 +vt -0.000000 0.636364 +vt 0.033333 0.646465 +vt -0.000000 0.646465 +vt -0.000000 0.575758 +vt 0.033333 0.585859 +vt -0.000000 0.585859 +vt -0.000000 0.595960 +vt 0.033333 0.606061 +vt 0.033333 0.626263 +vt -0.000000 0.626263 +vt 0.033333 0.636364 +vt -0.000000 0.565657 +vt 0.033333 0.575758 +vt 0.033333 0.595960 +vt 0.045833 0.646465 +vt 0.041667 0.585859 +vt 0.045833 0.585859 +vt 0.041667 0.646465 +vt 0.037500 0.585859 +vt 0.033333 0.646465 +vt 0.033333 0.585859 +vt 0.058333 0.585859 +vt 0.054167 0.646465 +vt 0.054167 0.585859 +vt 0.050000 0.646465 +vt 0.050000 0.585859 +vt 0.033333 0.565657 +vt 0.037500 0.646465 +vt 0.058333 0.646465 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.8660 -0.5000 +vn 0.0000 -0.8660 0.5000 +vn 0.0000 0.2588 -0.9659 +vn 0.0000 -0.9659 -0.2588 +vn 0.0000 -0.2588 0.9659 +vn 0.0000 0.5000 0.8660 +vn 0.0000 0.9659 0.2588 +vn 0.0000 -0.5000 -0.8660 +vn 0.8660 -0.2500 -0.4330 +vn 0.8660 0.2500 0.4330 +vn -0.8660 0.2500 0.4330 +vn -0.8660 -0.2500 -0.4330 +s off +f 407/680/85 409/681/85 403/682/85 +f 420/683/86 418/684/86 416/685/86 +f 413/686/87 417/687/87 421/688/87 +f 403/682/85 404/689/85 405/690/85 +f 405/690/85 406/691/85 407/680/85 +f 407/680/85 408/692/85 409/681/85 +f 409/681/85 410/693/85 403/682/85 +f 403/682/85 405/690/85 407/680/85 +f 416/685/86 414/694/86 412/695/86 +f 412/695/86 422/696/86 416/685/86 +f 422/696/86 420/683/86 416/685/86 +f 421/688/87 411/697/87 413/686/87 +f 413/686/87 415/698/87 417/687/87 +f 417/687/87 419/699/87 421/688/87 +s 1 +f 397/700/86 404/701/88 396/702/88 +f 402/703/89 409/704/87 401/705/87 +f 400/706/90 407/707/91 399/708/91 +f 398/709/92 405/710/86 397/700/86 +f 396/702/88 403/711/93 395/712/93 +f 395/712/93 410/713/89 402/703/89 +f 401/714/87 408/715/90 400/706/90 +f 399/708/91 406/716/92 398/709/92 +f 412/717/93 413/718/94 411/719/93 +f 414/720/94 415/721/95 413/718/94 +f 415/721/95 418/722/91 417/723/91 +f 417/724/91 420/725/96 419/726/96 +f 419/726/96 422/727/97 421/728/97 +f 421/728/97 412/717/93 411/719/93 +f 397/700/86 405/710/86 404/701/88 +f 402/703/89 410/713/89 409/704/87 +f 400/706/90 408/715/90 407/707/91 +f 398/709/92 406/716/92 405/710/86 +f 396/702/88 404/701/88 403/711/93 +f 395/712/93 403/711/93 410/713/89 +f 401/714/87 409/729/87 408/715/90 +f 399/708/91 407/707/91 406/716/92 +f 412/717/93 414/720/94 413/718/94 +f 414/720/94 416/730/95 415/721/95 +f 415/721/95 416/730/95 418/722/91 +f 417/724/91 418/731/91 420/725/96 +f 419/726/96 420/725/96 422/727/97 +f 421/728/97 422/727/97 412/717/93 +o LockSpring +v 0.000000 0.500000 -6.750000 +v -0.044194 0.481694 -6.750000 +v -0.062500 0.437500 -6.750000 +v -0.044194 0.393306 -6.750000 +v 0.000000 0.375000 -6.750000 +v 0.044194 0.393306 -6.750000 +v 0.062500 0.437500 -6.750000 +v 0.044194 0.481694 -6.750000 +v 0.000000 0.500000 -5.500000 +v -0.044194 0.481694 -5.500000 +v -0.062500 0.437500 -5.500000 +v -0.044194 0.393306 -5.500000 +v 0.000000 0.375000 -5.500000 +v 0.044194 0.393306 -5.500000 +v 0.062500 0.437500 -5.500000 +v 0.044194 0.481694 -5.500000 +v 0.000000 0.562500 -6.750000 +v -0.088388 0.525888 -6.750000 +v -0.125000 0.437500 -6.750000 +v -0.088388 0.349112 -6.750000 +v 0.000000 0.312500 -6.750000 +v 0.088388 0.349112 -6.750000 +v 0.125000 0.437500 -6.750000 +v 0.088388 0.525888 -6.750000 +v 0.000000 0.562500 -5.500000 +v -0.088388 0.525888 -5.500000 +v -0.125000 0.437500 -5.500000 +v -0.088388 0.349112 -5.500000 +v 0.000000 0.312500 -5.500000 +v 0.088388 0.349112 -5.500000 +v 0.125000 0.437500 -5.500000 +v 0.088388 0.525888 -5.500000 +v 0.088388 0.525888 -5.500000 +v 0.125000 0.437500 -5.500000 +v 0.088388 0.349112 -5.500000 +v 0.000000 0.312500 -5.500000 +v -0.088388 0.349112 -5.500000 +v -0.125000 0.437500 -5.500000 +v -0.088388 0.525888 -5.500000 +v 0.000000 0.562500 -5.500000 +v 0.088388 0.525888 -6.750000 +v 0.125000 0.437500 -6.750000 +v 0.088388 0.349112 -6.750000 +v 0.000000 0.312500 -6.750000 +v -0.088388 0.349112 -6.750000 +v -0.125000 0.437500 -6.750000 +v -0.088388 0.525888 -6.750000 +v 0.000000 0.562500 -6.750000 +vt 0.083333 0.919192 +vt -0.000000 0.914141 +vt 0.083333 0.914141 +vt 0.083333 0.949495 +vt -0.000000 0.944444 +vt 0.083333 0.944444 +vt 0.083333 0.939394 +vt -0.000000 0.934343 +vt 0.083333 0.934343 +vt 0.083333 0.924242 +vt -0.000000 0.919192 +vt -0.000000 0.909091 +vt 0.083333 0.909091 +vt -0.000000 0.939394 +vt -0.000000 0.929293 +vt 0.083333 0.929293 +vt -0.000000 0.924242 +vt 0.087500 0.848485 +vt 0.002083 0.838384 +vt 0.085417 0.838384 +vt 0.100000 0.909091 +vt 0.014583 0.898990 +vt 0.097917 0.898990 +vt 0.095833 0.888889 +vt 0.010417 0.878788 +vt 0.093750 0.878788 +vt 0.089583 0.858586 +vt 0.004167 0.848485 +vt 0.000000 0.828283 +vt 0.083333 0.828283 +vt 0.012500 0.888889 +vt 0.008333 0.868687 +vt 0.091667 0.868687 +vt 0.006250 0.858586 +vt 0.006250 0.858586 +vt 0.091667 0.868687 +vt 0.089583 0.858586 +vt 0.008333 0.868687 +vt 0.093750 0.878788 +vt 0.012500 0.888889 +vt 0.097917 0.898990 +vt 0.095833 0.888889 +vt 0.000000 0.828283 +vt 0.085417 0.838384 +vt 0.083333 0.828283 +vt 0.004167 0.848485 +vt 0.087500 0.848485 +vt 0.010417 0.878788 +vt 0.014583 0.898990 +vt 0.100000 0.909091 +vt 0.002083 0.838384 +vt -0.000000 0.949495 +vt 0.016667 0.909091 +vt 0.016667 0.909091 +vn 1.0000 0.0000 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.0000 1.0000 0.0000 +s 1 +f 429/732/98 436/733/99 428/734/99 +f 427/735/100 434/736/101 426/737/101 +f 425/738/102 432/739/103 424/740/103 +f 430/741/104 437/742/98 429/732/98 +f 428/734/99 435/743/100 427/744/100 +f 426/737/101 433/745/102 425/738/102 +f 424/740/103 431/746/105 423/747/105 +f 423/747/105 438/748/104 430/741/104 +f 445/749/98 452/750/99 444/751/99 +f 443/752/100 450/753/101 442/754/101 +f 441/755/102 448/756/103 440/757/103 +f 446/758/104 453/759/98 445/749/98 +f 444/751/99 451/760/100 443/761/100 +f 442/754/101 449/762/102 441/755/102 +f 440/757/103 447/763/105 439/764/105 +f 439/764/105 454/765/104 446/758/104 +f 455/766/101 470/767/100 463/768/101 +f 462/769/100 469/770/99 470/767/100 +f 460/771/98 467/772/104 468/773/98 +f 458/774/105 465/775/103 466/776/105 +f 456/777/102 463/768/101 464/778/102 +f 461/779/99 468/773/98 469/770/99 +f 459/780/104 466/781/105 467/772/104 +f 457/782/103 464/778/102 465/775/103 +f 429/732/98 437/742/98 436/733/99 +f 427/735/100 435/783/100 434/736/101 +f 425/738/102 433/745/102 432/739/103 +f 430/741/104 438/748/104 437/742/98 +f 428/734/99 436/733/99 435/743/100 +f 426/737/101 434/736/101 433/745/102 +f 424/740/103 432/739/103 431/746/105 +f 423/747/105 431/746/105 438/748/104 +f 445/749/98 453/759/98 452/750/99 +f 443/752/100 451/784/100 450/753/101 +f 441/755/102 449/762/102 448/756/103 +f 446/758/104 454/765/104 453/759/98 +f 444/751/99 452/750/99 451/760/100 +f 442/754/101 450/753/101 449/762/102 +f 440/757/103 448/756/103 447/763/105 +f 439/764/105 447/763/105 454/765/104 +f 455/766/101 462/769/100 470/767/100 +f 462/769/100 461/779/99 469/770/99 +f 460/771/98 459/780/104 467/772/104 +f 458/774/105 457/782/103 465/775/103 +f 456/777/102 455/766/101 463/768/101 +f 461/779/99 460/771/98 468/773/98 +f 459/780/104 458/785/105 466/781/105 +f 457/782/103 456/777/102 464/778/102 +o Gun +v -0.375000 -0.312500 -1.000000 +v 0.375000 -0.312500 -1.000000 +v -0.375000 0.437500 -1.000000 +v 0.375000 0.437500 -1.000000 +v -0.375000 -0.312500 -1.750000 +v 0.375000 -0.312500 -1.750000 +v -0.375000 -0.562500 -2.000000 +v 0.375000 -0.562500 -2.000000 +v -0.375000 0.437500 -2.875000 +v 0.375000 0.437500 -2.875000 +v -0.375000 0.187500 -2.875000 +v 0.375000 0.187500 -2.875000 +v -0.375000 0.187500 -4.875000 +v 0.375000 0.187500 -4.875000 +v -0.375000 0.312500 -4.875000 +v 0.375000 0.312500 -4.875000 +v -0.375000 0.312500 -7.500000 +v 0.375000 0.312500 -7.500000 +v -0.375000 -0.562500 -3.250000 +v 0.375000 -0.562500 -3.250000 +v -0.375000 -0.562500 -4.750000 +v 0.375000 -0.562500 -4.750000 +v -0.375000 -0.562500 -7.500000 +v 0.375000 -0.562500 -7.500000 +v 0.000000 -0.375000 6.000000 +v -0.132582 -0.429918 6.000000 +v -0.187500 -0.562500 6.000000 +v -0.132582 -0.695083 6.000000 +v 0.000000 -0.750000 6.000000 +v 0.132583 -0.695083 6.000000 +v 0.187500 -0.562500 6.000000 +v 0.132583 -0.429918 6.000000 +v 0.000000 -0.375000 -0.750000 +v -0.132582 -0.429918 -0.750000 +v -0.187500 -0.562500 -0.750000 +v -0.132582 -0.695083 -0.750000 +v 0.000000 -0.750000 -0.750000 +v 0.132583 -0.695083 -0.750000 +v 0.187500 -0.562500 -0.750000 +v 0.132583 -0.429918 -0.750000 +v 0.000000 0.500000 6.000000 +v -0.250000 0.433012 6.000000 +v -0.433013 0.250000 6.000000 +v -0.500000 0.000000 6.000000 +v 0.500000 0.000000 6.000000 +v 0.433013 0.250000 6.000000 +v 0.250000 0.433012 6.000000 +v 0.000000 0.500000 6.375000 +v -0.250000 0.433012 6.375000 +v -0.433013 0.250000 6.375000 +v -0.500000 0.000000 6.375000 +v 0.500000 0.000000 6.375000 +v 0.433013 0.250000 6.375000 +v 0.250000 0.433012 6.375000 +v -0.500000 -0.562500 6.000000 +v -0.433013 -0.812500 6.000000 +v -0.250000 -0.995513 6.000000 +v 0.000000 -1.062500 6.000000 +v 0.250000 -0.995513 6.000000 +v 0.433012 -0.812500 6.000000 +v 0.500000 -0.562500 6.000000 +v -0.500000 -0.562500 6.375000 +v -0.433013 -0.812500 6.375000 +v -0.250000 -0.995513 6.375000 +v 0.000000 -1.062500 6.375000 +v 0.250000 -0.995513 6.375000 +v 0.433012 -0.812500 6.375000 +v 0.500000 -0.562500 6.375000 +v -0.433013 0.250000 -0.375000 +v -0.250000 0.433012 -0.375000 +v 0.000000 0.500000 -0.375000 +v 0.250000 0.433012 -0.750000 +v 0.433013 0.250000 -0.750000 +v 0.500000 0.000000 -0.750000 +v -0.500000 0.000000 -0.750000 +v -0.433013 0.250000 -0.750000 +v -0.250000 0.433012 -0.750000 +v 0.000000 0.500000 -0.750000 +v -0.500000 0.000000 -0.375000 +v 0.500000 0.000000 -0.375000 +v 0.433013 0.250000 -0.375000 +v 0.250000 0.433012 -0.375000 +v -0.500000 -0.312500 -0.750000 +v -0.433013 -0.562500 -0.750000 +v -0.250000 -0.745513 -0.750000 +v 0.000000 -0.812500 -0.750000 +v 0.250000 -0.745513 -0.750000 +v 0.433012 -0.562500 -0.750000 +v 0.500000 -0.312500 -0.750000 +v -0.500000 -0.312500 -0.375000 +v 0.500000 -0.312500 -0.375000 +v -0.500000 -0.312500 -0.562500 +v 0.500000 -0.312500 -0.562500 +v 0.000000 -0.812500 -0.562500 +v 0.250000 -0.745513 -0.562500 +v -0.433013 -0.562500 -0.562500 +v 0.433012 -0.562500 -0.562500 +v -0.250000 -0.745513 -0.562500 +v -0.500000 -1.125000 -0.375000 +v -0.433013 -1.375000 -0.375000 +v -0.250000 -1.558013 -0.375000 +v 0.000000 -1.625000 -0.375000 +v 0.250000 -1.558013 -0.375000 +v 0.433012 -1.375000 -0.375000 +v 0.500000 -1.125000 -0.375000 +v -0.500000 -1.125000 -0.562500 +v 0.500000 -1.125000 -0.562500 +v 0.000000 -1.625000 -0.562500 +v 0.250000 -1.558013 -0.562500 +v -0.433013 -1.375000 -0.562500 +v 0.433012 -1.375000 -0.562500 +v -0.250000 -1.558013 -0.562500 +v 0.000000 -1.000000 2.250000 +v -0.088388 -1.036612 2.250000 +v -0.125000 -1.125000 2.250000 +v -0.088388 -1.213388 2.250000 +v 0.000000 -1.250000 2.250000 +v 0.088388 -1.213388 2.250000 +v 0.125000 -1.125000 2.250000 +v 0.088388 -1.036612 2.250000 +v -0.088388 -1.036612 -0.750000 +v 0.000000 -1.000000 -0.750000 +v -0.125000 -1.125000 -0.750000 +v -0.088388 -1.213388 -0.750000 +v 0.000000 -1.250000 -0.750000 +v 0.088388 -1.213388 -0.750000 +v 0.125000 -1.125000 -0.750000 +v 0.088388 -1.036612 -0.750000 +v -0.044194 -1.080806 -0.750000 +v 0.000000 -1.062500 -0.750000 +v -0.062500 -1.125000 -0.750000 +v -0.044194 -1.169194 -0.750000 +v 0.000000 -1.187500 -0.750000 +v 0.044194 -1.169194 -0.750000 +v 0.062500 -1.125000 -0.750000 +v 0.044194 -1.080806 -0.750000 +v -0.044194 -1.080806 -1.125000 +v 0.000000 -1.062500 -1.125000 +v -0.062500 -1.125000 -1.125000 +v -0.044194 -1.169194 -1.125000 +v 0.000000 -1.187500 -1.125000 +v 0.044194 -1.169194 -1.125000 +v 0.062500 -1.125000 -1.125000 +v 0.044194 -1.080806 -1.125000 +v 0.250000 -0.562500 -2.000000 +v 0.250000 -0.562500 -3.250000 +v -0.250000 -0.562500 -2.000000 +v -0.250000 -0.562500 -3.250000 +v -0.250000 -0.312500 -1.000000 +v -0.250000 -0.312500 -1.750000 +v 0.250000 -0.312500 -1.000000 +v 0.250000 -0.312500 -1.750000 +v 0.250000 -0.750000 -3.250000 +v -0.250000 -0.750000 -3.250000 +v 0.250000 -0.562500 -4.750000 +v -0.250000 -0.562500 -4.750000 +v 0.250000 -0.750000 -4.750000 +v -0.250000 -0.750000 -4.750000 +v 0.250000 -0.562500 -7.500000 +v -0.250000 -0.562500 -7.500000 +v 0.250000 -0.750000 -7.500000 +v -0.250000 -0.750000 -7.500000 +v 0.250000 -0.750000 -0.750000 +v -0.250000 -0.750000 -0.750000 +v -0.250000 -0.312500 -0.750000 +v 0.250000 -0.312500 -0.750000 +v -0.375000 -0.250000 -7.375000 +v -0.375000 -0.073223 -7.301777 +v -0.375000 0.000000 -7.125000 +v -0.375000 -0.073223 -6.948223 +v -0.375000 -0.250000 -6.875000 +v -0.375000 -0.426777 -6.948223 +v -0.375000 -0.500000 -7.125000 +v -0.375000 -0.426777 -7.301777 +v -0.437500 -0.073223 -7.301777 +v -0.437500 -0.250000 -7.375000 +v -0.437500 0.000000 -7.125000 +v -0.437500 -0.073223 -6.948223 +v -0.437500 -0.250000 -6.875000 +v -0.437500 -0.426777 -6.948223 +v -0.437500 -0.500000 -7.125000 +v -0.437500 -0.426777 -7.301777 +v 0.250000 0.187500 -2.875000 +v 0.250000 0.187500 -4.875000 +v -0.250000 0.187500 -2.875000 +v -0.250000 0.187500 -4.875000 +v 0.000000 0.218750 -2.875000 +v -0.109375 0.189443 -2.875000 +v -0.189443 0.109375 -2.875000 +v -0.218750 0.000000 -2.875000 +v -0.189443 -0.109375 -2.875000 +v -0.109375 -0.189443 -2.875000 +v 0.000000 -0.218750 -2.875000 +v 0.109375 -0.189443 -2.875000 +v 0.189443 -0.109375 -2.875000 +v 0.218750 0.000000 -2.875000 +v 0.189443 0.109375 -2.875000 +v 0.109375 0.189443 -2.875000 +v 0.250000 -0.125000 -2.875000 +v 0.250000 -0.125000 -4.875000 +v -0.250000 -0.125000 -2.875000 +v -0.250000 -0.125000 -4.875000 +v 0.125000 -0.250000 -2.875000 +v 0.125000 -0.250000 -4.875000 +v -0.125000 -0.250000 -2.875000 +v -0.125000 -0.250000 -4.875000 +v -0.109375 0.189443 -2.375000 +v 0.000000 0.218750 -2.375000 +v -0.189443 0.109375 -2.375000 +v -0.218750 0.000000 -2.375000 +v -0.189443 -0.109375 -2.375000 +v -0.109375 -0.189443 -2.375000 +v 0.000000 -0.218750 -2.375000 +v 0.109375 -0.189443 -2.375000 +v 0.189443 -0.109375 -2.375000 +v 0.218750 0.000000 -2.375000 +v 0.189443 0.109375 -2.375000 +v 0.109375 0.189443 -2.375000 +v -0.312500 0.437500 -3.000000 +v -0.312500 0.349112 -2.963388 +v -0.312500 0.312500 -2.875000 +v -0.312500 0.349112 -2.786612 +v -0.312500 0.437500 -2.750000 +v -0.312500 0.525888 -2.786612 +v -0.312500 0.562500 -2.875000 +v -0.312500 0.525888 -2.963388 +v -0.437500 0.437500 -3.000000 +v -0.437500 0.349112 -2.963388 +v -0.437500 0.312500 -2.875000 +v -0.437500 0.349112 -2.786612 +v -0.437500 0.437500 -2.750000 +v -0.437500 0.525888 -2.786612 +v -0.437500 0.562500 -2.875000 +v -0.437500 0.525888 -2.963388 +v 0.312500 0.437500 -3.000000 +v 0.312500 0.349112 -2.963388 +v 0.312500 0.312500 -2.875000 +v 0.312500 0.349112 -2.786612 +v 0.312500 0.437500 -2.750000 +v 0.312500 0.525888 -2.786612 +v 0.312500 0.562500 -2.875000 +v 0.312500 0.525888 -2.963388 +v 0.437500 0.349112 -2.963388 +v 0.437500 0.437500 -3.000000 +v 0.437500 0.312500 -2.875000 +v 0.437500 0.349112 -2.786612 +v 0.437500 0.437500 -2.750000 +v 0.437500 0.525888 -2.786612 +v 0.437500 0.562500 -2.875000 +v 0.437500 0.525888 -2.963388 +v 0.375000 0.187500 -2.875000 +v 0.375000 0.187500 -4.875000 +v 0.500000 0.187500 -2.875000 +v 0.500000 0.187500 -4.875000 +v 0.375000 0.125000 -2.875000 +v 0.375000 0.125000 -4.937500 +v 0.500000 0.125000 -2.875000 +v 0.500000 0.125000 -4.937500 +v 0.375000 0.312500 -4.875000 +v 0.375000 0.312500 -4.937500 +v 0.500000 0.312500 -4.937500 +v 0.375000 0.312500 -5.000000 +v 0.500000 0.312500 -5.000000 +v 0.500000 0.437500 -4.875000 +v -0.500000 0.187500 -2.875000 +v 0.500000 0.437500 -5.000000 +v -0.500000 0.187500 -4.875000 +v -0.375000 0.187500 -2.875000 +v -0.375000 0.187500 -4.875000 +v -0.500000 0.125000 -2.875000 +v -0.500000 0.125000 -4.937500 +v -0.375000 0.125000 -2.875000 +v -0.375000 0.125000 -4.937500 +v -0.375000 0.312500 -4.875000 +v -0.500000 0.312500 -4.937500 +v -0.375000 0.312500 -4.937500 +v -0.500000 0.312500 -5.000000 +v -0.375000 0.312500 -5.000000 +v -0.500000 0.437500 -4.875000 +v -0.500000 0.437500 -5.000000 +v 0.437500 0.000000 -3.250000 +v 0.437500 0.000000 -4.750000 +v 0.500000 0.000000 -3.250000 +v 0.500000 0.000000 -4.750000 +v 0.437500 0.125000 -4.750000 +v 0.437500 0.125000 -3.250000 +v 0.500000 0.125000 -4.750000 +v 0.500000 0.125000 -3.250000 +v 0.437500 -0.062500 -3.625000 +v 0.437500 -0.062500 -4.375000 +v 0.500000 -0.062500 -3.625000 +v 0.500000 -0.062500 -4.375000 +v 0.437500 0.000000 -4.375000 +v 0.437500 0.000000 -3.625000 +v 0.500000 0.000000 -4.375000 +v 0.500000 0.000000 -3.625000 +v -0.250000 0.437500 -2.000000 +v 0.250000 0.437500 -2.000000 +v -0.250000 0.687500 -2.500000 +v 0.250000 0.687500 -2.500000 +v -0.250000 0.437500 -2.500000 +v 0.250000 0.437500 -2.500000 +v -0.437500 -0.250000 -7.250000 +v -0.437500 -0.161612 -7.213388 +v -0.437500 -0.125000 -7.125000 +v -0.437500 -0.161612 -7.036612 +v -0.437500 -0.250000 -7.000000 +v -0.437500 -0.338388 -7.036612 +v -0.437500 -0.375000 -7.125000 +v -0.437500 -0.338388 -7.213388 +v -0.687500 -0.250000 -7.250000 +v -0.687500 -0.161612 -7.213388 +v -0.687500 -0.125000 -7.125000 +v -0.687500 -0.161612 -7.036612 +v -0.687500 -0.250000 -7.000000 +v -0.687500 -0.338388 -7.036612 +v -0.687500 -0.375000 -7.125000 +v -0.687500 -0.338388 -7.213388 +v -0.937500 -0.750000 -7.250000 +v -0.864277 -0.323223 -7.250000 +v -0.926777 -0.260723 -7.213388 +v -0.952665 -0.234835 -7.125000 +v -0.926777 -0.260723 -7.036612 +v -0.864277 -0.323223 -7.000000 +v -0.801777 -0.385723 -7.036612 +v -0.775888 -0.411612 -7.125000 +v -0.801777 -0.385723 -7.213388 +v -0.937500 -0.500000 -7.250000 +v -1.025888 -0.500000 -7.213388 +v -1.062500 -0.500000 -7.125000 +v -1.025888 -0.500000 -7.036612 +v -0.937500 -0.500000 -7.000000 +v -0.849112 -0.500000 -7.036612 +v -0.812500 -0.500000 -7.125000 +v -0.849112 -0.500000 -7.213388 +v -1.025888 -0.750000 -7.213388 +v -1.062500 -0.750000 -7.125000 +v -1.025888 -0.750000 -7.036612 +v -0.937500 -0.750000 -7.000000 +v -0.849112 -0.750000 -7.036612 +v -0.812500 -0.750000 -7.125000 +v -0.849112 -0.750000 -7.213388 +v -0.937500 -0.750000 -7.312500 +v -1.070083 -0.750000 -7.257583 +v -1.125000 -0.750000 -7.125000 +v -1.070083 -0.750000 -6.992417 +v -0.937500 -0.750000 -6.937500 +v -0.804917 -0.750000 -6.992417 +v -0.750000 -0.750000 -7.125000 +v -0.804917 -0.750000 -7.257583 +v -1.070083 -0.875000 -7.257583 +v -0.937500 -0.875000 -7.312500 +v -1.125000 -0.875000 -7.125000 +v -1.070083 -0.875000 -6.992417 +v -0.937500 -0.875000 -6.937500 +v -0.804917 -0.875000 -6.992417 +v -0.750000 -0.875000 -7.125000 +v -0.804917 -0.875000 -7.257583 +v -0.937500 -1.250000 -7.375000 +v -1.114277 -1.250000 -7.301777 +v -1.187500 -1.250000 -7.125000 +v -1.114277 -1.250000 -6.948223 +v -0.937500 -1.250000 -6.875000 +v -0.760723 -1.250000 -6.948223 +v -0.687500 -1.250000 -7.125000 +v -0.760723 -1.250000 -7.301777 +v -0.937500 -1.875000 -7.375000 +v -1.114277 -1.875000 -7.301777 +v -1.187500 -1.875000 -7.125000 +v -1.114277 -1.875000 -6.948223 +v -0.937500 -1.875000 -6.875000 +v -0.760723 -1.875000 -6.948223 +v -0.687500 -1.875000 -7.125000 +v -0.760723 -1.875000 -7.301777 +v -1.070083 -2.250000 -7.257583 +v -0.937500 -2.250000 -7.312500 +v -1.125000 -2.250000 -7.125000 +v -1.070083 -2.250000 -6.992417 +v -0.937500 -2.250000 -6.937500 +v -0.804917 -2.250000 -6.992417 +v -0.750000 -2.250000 -7.125000 +v -0.804917 -2.250000 -7.257583 +v -1.070083 -2.375000 -7.257583 +v -0.937500 -2.375000 -7.312500 +v -1.125000 -2.375000 -7.125000 +v -1.070083 -2.375000 -6.992417 +v -0.937500 -2.375000 -6.937500 +v -0.804917 -2.375000 -6.992417 +v -0.750000 -2.375000 -7.125000 +v -0.804917 -2.375000 -7.257583 +v -0.937500 -2.375000 -7.250000 +v -1.025888 -2.375000 -7.213388 +v -1.062500 -2.375000 -7.125000 +v -1.025888 -2.375000 -7.036612 +v -0.937500 -2.375000 -7.000000 +v -0.849112 -2.375000 -7.036612 +v -0.812500 -2.375000 -7.125000 +v -0.849112 -2.375000 -7.213388 +v -0.937500 -2.500000 -7.250000 +v -1.025888 -2.500000 -7.213388 +v -1.062500 -2.500000 -7.125000 +v -1.025888 -2.500000 -7.036612 +v -0.937500 -2.500000 -7.000000 +v -0.849112 -2.500000 -7.036612 +v -0.812500 -2.500000 -7.125000 +v -0.849112 -2.500000 -7.213388 +v 0.437500 0.000000 -1.750000 +v 0.437500 0.176777 -1.676777 +v 0.437500 0.250000 -1.500000 +v 0.437500 0.176777 -1.323223 +v 0.437500 -0.000000 -1.250000 +v 0.437500 -0.176777 -1.323223 +v 0.437500 -0.250000 -1.500000 +v 0.437500 -0.176777 -1.676777 +v 0.375000 0.176777 -1.676777 +v 0.375000 0.000000 -1.750000 +v 0.375000 0.250000 -1.500000 +v 0.375000 0.176777 -1.323223 +v 0.375000 -0.000000 -1.250000 +v 0.375000 -0.176777 -1.323223 +v 0.375000 -0.250000 -1.500000 +v 0.375000 -0.176777 -1.676777 +v 0.437500 0.000000 -1.375000 +v 0.437500 0.088388 -1.411612 +v 0.437500 0.125000 -1.500000 +v 0.437500 0.088388 -1.588388 +v 0.437500 0.000000 -1.625000 +v 0.437500 -0.088388 -1.588388 +v 0.437500 -0.125000 -1.500000 +v 0.437500 -0.088388 -1.411612 +v 0.687500 0.000000 -1.375000 +v 0.687500 0.088388 -1.411612 +v 0.687500 0.125000 -1.500000 +v 0.687500 0.088388 -1.588388 +v 0.687500 0.000000 -1.625000 +v 0.687500 -0.088388 -1.588388 +v 0.687500 -0.125000 -1.500000 +v 0.687500 -0.088388 -1.411612 +v 0.864277 -0.073223 -1.375000 +v 0.926776 -0.010723 -1.411612 +v 0.952665 0.015165 -1.500000 +v 0.926776 -0.010723 -1.588388 +v 0.864277 -0.073223 -1.625000 +v 0.801777 -0.135723 -1.588388 +v 0.775888 -0.161612 -1.500000 +v 0.801777 -0.135723 -1.411612 +v -0.250000 0.312500 -6.750000 +v 0.250000 0.312500 -6.750000 +v -0.250000 0.312500 -7.000000 +v 0.250000 0.312500 -7.000000 +v -0.250000 0.625000 -6.937500 +v -0.250000 0.562500 -7.000000 +v -0.250000 0.562500 -6.750000 +v -0.250000 0.625000 -6.812500 +v 0.250000 0.625000 -6.812500 +v 0.250000 0.562500 -6.750000 +v 0.250000 0.562500 -7.000000 +v 0.250000 0.625000 -6.937500 +v -0.375000 -0.062500 -2.500000 +v -0.375000 0.114277 -2.426777 +v -0.375000 0.187500 -2.250000 +v -0.375000 0.114277 -2.073223 +v -0.375000 -0.062500 -2.000000 +v -0.375000 -0.239277 -2.073223 +v -0.375000 -0.312500 -2.250000 +v -0.375000 -0.239277 -2.426777 +v -0.500000 0.114277 -2.426777 +v -0.500000 -0.062500 -2.500000 +v -0.500000 0.187500 -2.250000 +v -0.500000 0.114277 -2.073223 +v -0.500000 -0.062500 -2.000000 +v -0.500000 -0.239277 -2.073223 +v -0.500000 -0.312500 -2.250000 +v -0.500000 -0.239277 -2.426777 +v -0.375000 0.062500 -7.500000 +v 0.375000 0.062500 -7.500000 +v -0.375000 0.062500 -7.812500 +v 0.375000 0.062500 -7.812500 +v -0.375000 -0.250000 -7.812500 +v 0.375000 -0.250000 -7.812500 +v -0.375000 -0.250000 -7.500000 +v 0.375000 -0.250000 -7.500000 +v -0.375000 -0.750000 -7.500000 +v -0.125000 -0.750000 -7.500000 +v -0.375000 -0.750000 -7.625000 +v -0.125000 -0.750000 -7.625000 +v -0.375000 -0.625000 -7.625000 +v -0.375000 -0.625000 -7.500000 +v -0.125000 -0.625000 -7.500000 +v -0.125000 -0.625000 -7.625000 +v -0.375000 -0.250000 -7.937500 +v -0.375000 -0.250000 -7.812500 +v -0.125000 -0.250000 -7.812500 +v -0.125000 -0.250000 -7.937500 +v -0.375000 0.125000 -7.937500 +v -0.375000 0.250000 -7.812500 +v -0.125000 0.250000 -7.812500 +v -0.125000 0.125000 -7.937500 +v 0.125000 -0.750000 -7.500000 +v 0.375000 -0.750000 -7.500000 +v 0.125000 -0.750000 -7.625000 +v 0.375000 -0.750000 -7.625000 +v 0.125000 -0.625000 -7.625000 +v 0.125000 -0.625000 -7.500000 +v 0.375000 -0.625000 -7.500000 +v 0.375000 -0.625000 -7.625000 +v 0.125000 -0.250000 -7.937500 +v 0.125000 -0.250000 -7.812500 +v 0.375000 -0.250000 -7.812500 +v 0.375000 -0.250000 -7.937500 +v 0.125000 0.125000 -7.937500 +v 0.125000 0.250000 -7.812500 +v 0.375000 0.250000 -7.812500 +v 0.375000 0.125000 -7.937500 +v -0.437500 0.000000 -3.250000 +v -0.437500 0.000000 -4.750000 +v -0.500000 0.000000 -3.250000 +v -0.500000 0.000000 -4.750000 +v -0.437500 0.125000 -4.750000 +v -0.437500 0.125000 -3.250000 +v -0.500000 0.125000 -4.750000 +v -0.500000 0.125000 -3.250000 +v -0.437500 -0.062500 -3.625000 +v -0.437500 -0.062500 -4.375000 +v -0.500000 -0.062500 -3.625000 +v -0.500000 -0.062500 -4.375000 +v -0.437500 0.000000 -4.375000 +v -0.437500 0.000000 -3.625000 +v -0.500000 0.000000 -4.375000 +v -0.500000 0.000000 -3.625000 +v 0.864277 -0.073223 -1.687500 +v 0.770527 -0.166973 -1.632583 +v 0.731694 -0.205806 -1.500000 +v 0.770527 -0.166973 -1.367417 +v 0.864277 -0.073223 -1.312500 +v 0.958027 0.020527 -1.367417 +v 0.996859 0.059359 -1.500000 +v 0.958027 0.020527 -1.632583 +v 0.858915 -0.255362 -1.632583 +v 0.952665 -0.161612 -1.687500 +v 0.820083 -0.294194 -1.500000 +v 0.858915 -0.255362 -1.367417 +v 0.952665 -0.161612 -1.312500 +v 1.046415 -0.067862 -1.367417 +v 1.085248 -0.029029 -1.500000 +v 1.046415 -0.067862 -1.632583 +v 1.217830 -0.426777 -1.750000 +v 1.092830 -0.551777 -1.676777 +v 1.041053 -0.603553 -1.500000 +v 1.092830 -0.551777 -1.323223 +v 1.217830 -0.426777 -1.250000 +v 1.342830 -0.301777 -1.323223 +v 1.394607 -0.250000 -1.500000 +v 1.342830 -0.301777 -1.676777 +v 1.659772 -0.868718 -1.750000 +v 1.534772 -0.993718 -1.676777 +v 1.482995 -1.045495 -1.500000 +v 1.534772 -0.993718 -1.323223 +v 1.659772 -0.868718 -1.250000 +v 1.784772 -0.743718 -1.323223 +v 1.836548 -0.691942 -1.500000 +v 1.784772 -0.743718 -1.676777 +v 1.831187 -1.227633 -1.632583 +v 1.924937 -1.133883 -1.687500 +v 1.792354 -1.266466 -1.500000 +v 1.831187 -1.227633 -1.367417 +v 1.924937 -1.133883 -1.312500 +v 2.018687 -1.040133 -1.367417 +v 2.057519 -1.001301 -1.500000 +v 2.018687 -1.040133 -1.632583 +v 1.919575 -1.316022 -1.632583 +v 2.013325 -1.222272 -1.687500 +v 1.880743 -1.354854 -1.500000 +v 1.919575 -1.316022 -1.367417 +v 2.013325 -1.222272 -1.312500 +v 2.107075 -1.128522 -1.367417 +v 2.145908 -1.089689 -1.500000 +v 2.107075 -1.128522 -1.632583 +v 2.013325 -1.222272 -1.625000 +v 1.950825 -1.284772 -1.588388 +v 1.924937 -1.310660 -1.500000 +v 1.950825 -1.284772 -1.411612 +v 2.013325 -1.222272 -1.375000 +v 2.075825 -1.159772 -1.411612 +v 2.101713 -1.133883 -1.500000 +v 2.075825 -1.159772 -1.588388 +v 2.101714 -1.310660 -1.625000 +v 2.039214 -1.373160 -1.588388 +v 2.013325 -1.399049 -1.500000 +v 2.039214 -1.373160 -1.411612 +v 2.101714 -1.310660 -1.375000 +v 2.164214 -1.248160 -1.411612 +v 2.190102 -1.222272 -1.500000 +v 2.164214 -1.248160 -1.588388 +vt 0.179167 0.404040 +vt 0.304167 0.464646 +vt 0.179167 0.464646 +vt 0.712500 0.292929 +vt 0.845833 0.282828 +vt 0.845833 0.292929 +vt 0.712500 0.282828 +vt 0.845833 0.257576 +vt 0.845833 0.181818 +vt 0.712500 0.191919 +vt 0.712500 0.181818 +vt 0.437500 0.393939 +vt 0.612500 0.454545 +vt 0.437500 0.454545 +vt 0.329167 0.272727 +vt 0.245833 0.262626 +vt 0.329167 0.262626 +vt 0.870833 0.126263 +vt 0.687500 0.166667 +vt 0.687500 0.126263 +vt 0.870833 0.166667 +vt 0.687500 0.181818 +vt 0.612500 0.323232 +vt 0.429167 0.313131 +vt 0.612500 0.313131 +vt 0.983257 0.793649 +vt 0.999848 0.828481 +vt 0.933485 0.828481 +vt 0.933485 0.702218 +vt 0.950076 0.667387 +vt 0.999848 0.702218 +vt 0.933384 0.595929 +vt 0.950025 0.560991 +vt 0.999949 0.595929 +vt 0.999949 0.424312 +vt 0.983308 0.454931 +vt 0.966667 0.449526 +vt 0.966667 0.383970 +vt 0.937843 0.404141 +vt 0.995490 0.404141 +vt 0.658333 0.181938 +vt 0.666568 0.191919 +vt 0.658333 0.201900 +vt 0.658333 0.222102 +vt 0.650099 0.212121 +vt 0.658333 0.202140 +vt 0.204236 0.277777 +vt 0.208333 0.272811 +vt 0.212431 0.277777 +vt 0.229167 0.272727 +vt 0.179167 0.262626 +vt 0.229167 0.262626 +vt 0.179167 0.313131 +vt 0.229167 0.323232 +vt 0.179167 0.323232 +vt 0.245833 0.313131 +vt 0.329167 0.323232 +vt 0.245833 0.323232 +vt 0.720833 0.075758 +vt 0.887500 0.035354 +vt 0.887500 0.075758 +vt 0.804167 0.020202 +vt 0.720833 0.035354 +vt 0.675000 0.035354 +vt 0.691667 0.075758 +vt 0.675000 0.075758 +vt 0.129167 0.414141 +vt 0.229167 0.343434 +vt 0.304167 0.404040 +vt 0.229167 0.525253 +vt 0.179167 0.525253 +vt 0.870833 0.111111 +vt 0.687500 0.111111 +vt 0.612500 0.262626 +vt 0.429167 0.272727 +vt 0.429167 0.262626 +vt 0.612500 0.393939 +vt 0.670833 0.404040 +vt 0.670833 0.444444 +vt 0.329167 0.313131 +vt 0.675000 0.166667 +vt 0.675000 0.126263 +vt 0.900000 0.035354 +vt 0.887500 0.090909 +vt 0.804167 0.090909 +vt 0.108420 0.581346 +vt 0.124767 0.601160 +vt 0.108420 0.620974 +vt 0.304167 0.383838 +vt 0.304167 0.484848 +vt 0.437500 0.383838 +vt 0.612500 0.545455 +vt 0.429167 0.545455 +vt 0.437500 0.484848 +vt 0.329167 0.545455 +vt 0.429167 0.323232 +vt 0.845833 0.191919 +vt 0.712500 0.217172 +vt 0.712500 0.257576 +vt 0.845833 0.247475 +vt 0.845833 0.217172 +vt 0.712500 0.227273 +vt 0.845833 0.227273 +vt 0.712500 0.247475 +vt 0.854167 0.217172 +vt 0.875000 0.217172 +vt 0.875000 0.257576 +vt 0.883333 0.267677 +vt 0.710432 0.237374 +vt 0.703162 0.252639 +vt 0.708484 0.246187 +vt 0.704167 0.217172 +vt 0.708484 0.228561 +vt 0.703162 0.222109 +vt 0.695891 0.255000 +vt 0.704167 0.257576 +vt 0.683333 0.257576 +vt 0.695891 0.219747 +vt 0.683333 0.217172 +vt 0.683297 0.246187 +vt 0.688620 0.252639 +vt 0.688620 0.222109 +vt 0.683297 0.228561 +vt 0.683333 0.267677 +vt 0.666667 0.267677 +vt 0.647814 0.294174 +vt 0.660417 0.267715 +vt 0.673020 0.294174 +vt 0.710853 0.755580 +vt 0.716667 0.752661 +vt 0.722480 0.755580 +vt 0.716667 0.752390 +vt 0.710853 0.749471 +vt 0.722480 0.735378 +vt 0.691667 0.732459 +vt 0.699888 0.742424 +vt 0.691667 0.752390 +vt 0.691667 0.772592 +vt 0.683445 0.762626 +vt 0.691667 0.752661 +vt 0.616667 0.565657 +vt 0.750000 0.555556 +vt 0.750000 0.565657 +vt 0.754167 0.550505 +vt 0.616667 0.540404 +vt 0.754167 0.540404 +vt 0.783333 0.585859 +vt 0.770833 0.575758 +vt 0.783333 0.575758 +vt 0.741667 0.646465 +vt 0.733333 0.656566 +vt 0.733333 0.646465 +vt 0.612500 0.555556 +vt 0.616667 0.555556 +vt 0.616667 0.550505 +vt 0.750000 0.575758 +vt 0.754167 0.565657 +vt 0.758333 0.575758 +vt 0.770833 0.585859 +vt 0.766667 0.575758 +vt 0.783333 0.656566 +vt 0.770833 0.646465 +vt 0.783333 0.646465 +vt 0.750000 0.656566 +vt 0.741667 0.585859 +vt 0.758333 0.656566 +vt 0.766667 0.585859 +vt 0.616667 0.676768 +vt 0.750000 0.666667 +vt 0.750000 0.676768 +vt 0.754167 0.691919 +vt 0.616667 0.681818 +vt 0.754167 0.681818 +vt 0.612500 0.666667 +vt 0.616667 0.666667 +vt 0.770833 0.656566 +vt 0.766667 0.646465 +vt 0.754167 0.666667 +vt 0.733333 0.575758 +vt 0.725000 0.707071 +vt 0.625000 0.702020 +vt 0.725000 0.702020 +vt 0.670833 0.727273 +vt 0.620833 0.722222 +vt 0.670833 0.722222 +vt 0.625000 0.707071 +vt 0.616667 0.702020 +vt 0.733333 0.707071 +vt 0.625000 0.717172 +vt 0.725000 0.691919 +vt 0.620833 0.727273 +vt 0.616667 0.722222 +vt 0.675000 0.727273 +vt 0.620833 0.732323 +vt 0.670833 0.717172 +vt 0.645833 0.515152 +vt 0.679167 0.474747 +vt 0.679167 0.515152 +vt 0.645833 0.474747 +vt 0.679167 0.454545 +vt 0.612500 0.454545 +vt 0.645833 0.454545 +vt 0.712500 0.454545 +vt 0.795833 0.651499 +vt 0.783347 0.636364 +vt 0.795833 0.621228 +vt 0.808347 0.636364 +vt 0.820833 0.621228 +vt 0.833320 0.636364 +vt 0.833330 0.641414 +vt 0.841667 0.631309 +vt 0.850003 0.641414 +vt 0.108420 0.620974 +vt 0.092074 0.601160 +vt 0.108420 0.581346 +vt 0.016667 0.545455 +vt 0.000000 0.545455 +vt 0.016667 0.525253 +vt 0.058333 0.525253 +vt 0.075000 0.525253 +vt 0.058333 0.545455 +vt 0.108333 0.540443 +vt 0.124968 0.560606 +vt 0.108333 0.580769 +vt 0.108333 0.540404 +vt 0.158333 0.515152 +vt 0.158333 0.540404 +vt 0.108333 0.515152 +vt 0.158333 0.489899 +vt 0.108333 0.489899 +vt 0.158333 0.464646 +vt 0.087500 0.489899 +vt 0.087500 0.515152 +vt 0.179167 0.515152 +vt 0.175000 0.550505 +vt 0.158333 0.540404 +vt 0.175000 0.540404 +vt 0.175000 0.560606 +vt 0.183333 0.590909 +vt 0.175000 0.590909 +vt 0.158333 0.550505 +vt 0.150000 0.560606 +vt 0.150000 0.550505 +vt 0.183333 0.550505 +vt 0.158333 0.560606 +vt 0.150000 0.590909 +vt 0.158333 0.631313 +vt 0.175000 0.621212 +vt 0.175000 0.631313 +vt 0.158333 0.621212 +vt 0.150000 0.631313 +vt 0.175000 0.550505 +vt 0.158333 0.540404 +vt 0.175000 0.540404 +vt 0.175000 0.560606 +vt 0.183333 0.590909 +vt 0.175000 0.590909 +vt 0.158333 0.550505 +vt 0.150000 0.560606 +vt 0.150000 0.550505 +vt 0.183333 0.550505 +vt 0.158333 0.560606 +vt 0.150000 0.590909 +vt 0.158333 0.631313 +vt 0.175000 0.621212 +vt 0.175000 0.631313 +vt 0.158333 0.621212 +vt 0.150000 0.631313 +vt 0.625000 0.702020 +vt 0.725000 0.707071 +vt 0.725000 0.702020 +vt 0.620833 0.722222 +vt 0.670833 0.727273 +vt 0.670833 0.722222 +vt 0.616667 0.702020 +vt 0.625000 0.707071 +vt 0.733333 0.707071 +vt 0.625000 0.717172 +vt 0.725000 0.691919 +vt 0.616667 0.722222 +vt 0.620833 0.727273 +vt 0.675000 0.727273 +vt 0.620833 0.732323 +vt 0.670833 0.717172 +vt 0.795833 0.651499 +vt 0.783347 0.636364 +vt 0.795833 0.621228 +vt 0.808347 0.636364 +vt 0.820833 0.621228 +vt 0.833320 0.636364 +vt 0.847561 0.634269 +vt 0.850003 0.641414 +vt 0.833330 0.641414 +vt 0.245833 0.272727 +vt 0.870833 0.181818 +vt 0.966667 0.913948 +vt 0.950076 0.908559 +vt 0.937931 0.893838 +vt 0.933485 0.873728 +vt 0.995403 0.893838 +vt 0.999848 0.873728 +vt 0.937931 0.808371 +vt 0.950076 0.793649 +vt 0.966667 0.788261 +vt 0.995403 0.808371 +vt 0.983257 0.908559 +vt 0.995403 0.767575 +vt 0.983257 0.782297 +vt 0.937931 0.767575 +vt 0.966667 0.787685 +vt 0.950076 0.782297 +vt 0.933485 0.747465 +vt 0.999848 0.747465 +vt 0.937931 0.682108 +vt 0.966667 0.661998 +vt 0.983257 0.667387 +vt 0.995403 0.682108 +vt 0.995490 0.641313 +vt 0.983308 0.656080 +vt 0.937843 0.641313 +vt 0.966667 0.661484 +vt 0.950025 0.656080 +vt 0.933384 0.621142 +vt 0.999949 0.621142 +vt 0.937843 0.575758 +vt 0.966667 0.555587 +vt 0.983308 0.560991 +vt 0.995490 0.575758 +vt 0.995490 0.404141 +vt 0.999949 0.489868 +vt 0.995490 0.469697 +vt 0.966667 0.383970 +vt 0.983308 0.389375 +vt 0.937843 0.404141 +vt 0.950025 0.389375 +vt 0.933384 0.489868 +vt 0.933384 0.424312 +vt 0.937843 0.469697 +vt 0.950025 0.454931 +vt 0.950025 0.550019 +vt 0.966667 0.555424 +vt 0.983308 0.550019 +vt 0.995490 0.535253 +vt 0.999949 0.515082 +vt 0.999949 0.489868 +vt 0.999949 0.424312 +vt 0.933384 0.489868 +vt 0.933384 0.424312 +vt 0.933384 0.515082 +vt 0.937843 0.535253 +vt 0.950025 0.389375 +vt 0.983308 0.389375 +vt 0.652511 0.198977 +vt 0.650099 0.191919 +vt 0.652511 0.184862 +vt 0.664156 0.184862 +vt 0.664156 0.198977 +vt 0.666568 0.212121 +vt 0.664156 0.219179 +vt 0.652511 0.219179 +vt 0.652511 0.205064 +vt 0.664156 0.205064 +vt 0.211231 0.281289 +vt 0.208333 0.282744 +vt 0.205436 0.281289 +vt 0.205436 0.274266 +vt 0.211231 0.274266 +vt 0.179167 0.272727 +vt 0.229167 0.313131 +vt 0.720833 -0.000000 +vt 0.737500 -0.000000 +vt 0.787500 -0.000000 +vt 0.887500 0.020202 +vt 0.691667 0.035354 +vt 0.129167 0.464646 +vt 0.129167 0.454545 +vt 0.129167 0.404040 +vt 0.179167 0.343434 +vt 0.612500 0.272727 +vt 0.670833 0.454545 +vt 0.670833 0.393939 +vt 0.683333 0.404040 +vt 0.683333 0.444444 +vt 0.900000 0.075758 +vt 0.787500 0.111111 +vt 0.737500 0.111111 +vt 0.720833 0.111111 +vt 0.096861 0.615170 +vt 0.092074 0.601160 +vt 0.096861 0.587149 +vt 0.119979 0.587149 +vt 0.119979 0.615170 +vt 0.245833 0.545455 +vt 0.437500 0.474747 +vt 0.612500 0.474747 +vt 0.854167 0.257576 +vt 0.875000 0.207071 +vt 0.883333 0.207071 +vt 0.875000 0.267677 +vt 0.666667 0.207071 +vt 0.681349 0.237374 +vt 0.683333 0.207071 +vt 0.667693 0.300630 +vt 0.660417 0.302993 +vt 0.653141 0.300630 +vt 0.645864 0.285354 +vt 0.647814 0.276534 +vt 0.653141 0.270078 +vt 0.667693 0.270078 +vt 0.673020 0.276534 +vt 0.674969 0.285354 +vt 0.724888 0.762626 +vt 0.722480 0.769673 +vt 0.716667 0.772592 +vt 0.710853 0.769673 +vt 0.708445 0.762626 +vt 0.708445 0.742424 +vt 0.710853 0.735378 +vt 0.716667 0.732459 +vt 0.724888 0.742424 +vt 0.722480 0.749471 +vt 0.683445 0.742424 +vt 0.685853 0.735378 +vt 0.697480 0.735378 +vt 0.697480 0.749471 +vt 0.685853 0.749471 +vt 0.697480 0.755580 +vt 0.699888 0.762626 +vt 0.697480 0.769673 +vt 0.685853 0.769673 +vt 0.685853 0.755580 +vt 0.612500 0.565657 +vt 0.758333 0.565657 +vt 0.766667 0.656566 +vt 0.616667 0.691919 +vt 0.612500 0.676768 +vt 0.758333 0.666667 +vt 0.733333 0.585859 +vt 0.616667 0.707071 +vt 0.733333 0.702020 +vt 0.725000 0.717172 +vt 0.625000 0.691919 +vt 0.616667 0.727273 +vt 0.675000 0.722222 +vt 0.670833 0.732323 +vt 0.620833 0.717172 +vt 0.804663 0.625661 +vt 0.808320 0.636364 +vt 0.804663 0.647066 +vt 0.787004 0.647066 +vt 0.787004 0.625661 +vt 0.829663 0.647066 +vt 0.820833 0.651499 +vt 0.812004 0.647066 +vt 0.812004 0.625661 +vt 0.829663 0.625661 +vt 0.847561 0.648559 +vt 0.841667 0.651519 +vt 0.835772 0.648559 +vt 0.835772 0.634269 +vt 0.847561 0.634269 +vt 0.124767 0.601160 +vt 0.119979 0.615170 +vt 0.096861 0.615170 +vt 0.096861 0.587149 +vt 0.119979 0.587149 +vt 0.000000 0.525253 +vt 0.020833 0.530303 +vt 0.020833 0.540404 +vt 0.075000 0.545455 +vt 0.054167 0.540404 +vt 0.054167 0.530303 +vt 0.096571 0.574863 +vt 0.091699 0.560606 +vt 0.096571 0.546349 +vt 0.120095 0.546349 +vt 0.120095 0.574863 +vt 0.108333 0.464646 +vt 0.179167 0.489899 +vt 0.183333 0.560606 +vt 0.158333 0.590909 +vt 0.183333 0.631313 +vt 0.183333 0.560606 +vt 0.158333 0.590909 +vt 0.183333 0.631313 +vt 0.616667 0.707071 +vt 0.733333 0.702020 +vt 0.725000 0.717172 +vt 0.625000 0.691919 +vt 0.616667 0.727273 +vt 0.675000 0.722222 +vt 0.670833 0.732323 +vt 0.620833 0.717172 +vt 0.804663 0.625661 +vt 0.808320 0.636364 +vt 0.804663 0.647066 +vt 0.787004 0.647066 +vt 0.787004 0.625661 +vt 0.829663 0.647066 +vt 0.820833 0.651499 +vt 0.812004 0.647066 +vt 0.812004 0.625661 +vt 0.829663 0.625661 +vt 0.847561 0.648559 +vt 0.841667 0.651519 +vt 0.835772 0.648559 +vt 0.835772 0.634269 +vt 0.841667 0.631309 +vt 0.450000 0.202020 +vt 0.000000 0.212121 +vt 0.000000 0.202020 +vt 0.450000 0.181818 +vt 0.000000 0.191919 +vt 0.000000 0.181818 +vt 0.450000 0.242424 +vt 0.000000 0.252525 +vt 0.000000 0.242424 +vt 0.450000 0.222222 +vt 0.000000 0.232323 +vt 0.000000 0.222222 +vt 0.450000 0.212121 +vt 0.450000 0.191919 +vt 0.450000 0.252525 +vt 0.000000 0.262626 +vt 0.450000 0.232323 +vt 0.908333 0.858586 +vt 0.883333 0.838384 +vt 0.908333 0.838384 +vt 0.908333 0.757576 +vt 0.883333 0.737374 +vt 0.908333 0.737374 +vt 0.933333 0.656566 +vt 0.933333 0.681818 +vt 0.920833 0.681818 +vt 0.908333 0.777778 +vt 0.883333 0.757576 +vt 0.908333 0.818182 +vt 0.883333 0.797980 +vt 0.908333 0.797980 +vt 0.883333 0.777778 +vt 0.883333 0.818182 +vt 0.908333 0.691919 +vt 0.883333 0.904040 +vt 0.883333 0.858586 +vt 0.908333 0.651515 +vt 0.883333 0.631313 +vt 0.908333 0.631313 +vt 0.908333 0.924242 +vt 0.908333 0.904040 +vt 0.908333 0.671717 +vt 0.883333 0.651515 +vt 0.908333 0.944444 +vt 0.883333 0.924242 +vt 0.883333 0.671717 +vt 0.908333 0.964646 +vt 0.883333 0.944444 +vt 0.204167 0.297980 +vt 0.179167 0.303030 +vt 0.179167 0.297980 +vt 0.933333 0.555556 +vt 0.908333 0.535354 +vt 0.933333 0.535354 +vt 0.908333 0.636364 +vt 0.933333 0.636364 +vt 0.933333 0.575758 +vt 0.908333 0.555556 +vt 0.920833 0.510101 +vt 0.908333 0.444444 +vt 0.920833 0.444444 +vt 0.933333 0.616162 +vt 0.908333 0.595960 +vt 0.933333 0.595960 +vt 0.908333 0.575758 +vt 0.908333 0.616162 +vt 0.908333 0.510101 +vt 0.908333 0.681818 +vt 0.920833 0.747475 +vt 0.908333 0.747475 +vt 0.933333 0.742424 +vt 0.920833 0.722222 +vt 0.933333 0.722222 +vt 0.933333 0.510101 +vt 0.920833 0.489899 +vt 0.933333 0.489899 +vt 0.920833 0.702020 +vt 0.933333 0.702020 +vt 0.920833 0.469697 +vt 0.933333 0.469697 +vt 0.920833 0.449495 +vt 0.933333 0.449495 +vt 0.204167 0.282828 +vt 0.179167 0.287879 +vt 0.179167 0.282828 +vt 0.920833 0.404040 +vt 0.908333 0.383838 +vt 0.920833 0.383838 +vt 0.920833 0.767677 +vt 0.920833 0.424242 +vt 0.908333 0.404040 +vt 0.920833 0.787879 +vt 0.908333 0.767677 +vt 0.908333 0.424242 +vt 0.920833 0.808081 +vt 0.908333 0.787879 +vt 0.450000 0.252525 +vt 0.650000 0.262626 +vt 0.450000 0.262626 +vt 0.450000 0.232323 +vt 0.650000 0.242424 +vt 0.450000 0.242424 +vt 0.450000 0.202020 +vt 0.650000 0.212121 +vt 0.450000 0.212121 +vt 0.450000 0.181818 +vt 0.650000 0.191919 +vt 0.450000 0.191919 +vt 0.650000 0.252525 +vt 0.450000 0.222222 +vt 0.650000 0.232323 +vt 0.650000 0.222222 +vt 0.650000 0.202020 +vt 0.204167 0.272727 +vt 0.179167 0.277778 +vt 0.179167 0.272727 +vt 0.204167 0.303030 +vt 0.179167 0.308081 +vt 0.204167 0.292929 +vt 0.179167 0.292929 +vt 0.204167 0.287879 +vt 0.204167 0.277778 +vt 0.204167 0.308081 +vt 0.179167 0.313131 +vt 0.087500 0.555556 +vt 0.091667 0.570707 +vt 0.087500 0.570707 +vt 0.087500 0.646465 +vt 0.091667 0.661616 +vt 0.087500 0.661616 +vt 0.087500 0.616162 +vt 0.091667 0.631313 +vt 0.087500 0.631313 +vt 0.087500 0.585859 +vt 0.091667 0.601010 +vt 0.087500 0.601010 +vt 0.087500 0.540404 +vt 0.091667 0.555556 +vt 0.091667 0.646465 +vt 0.091667 0.616162 +vt 0.091667 0.585859 +vt 0.645833 0.323232 +vt 0.612500 0.313131 +vt 0.645833 0.313131 +vt 0.645833 0.373737 +vt 0.612500 0.363636 +vt 0.645833 0.363636 +vt 0.645833 0.282828 +vt 0.612500 0.272727 +vt 0.645833 0.272727 +vt 0.645833 0.333333 +vt 0.612500 0.323232 +vt 0.612500 0.303030 +vt 0.645833 0.303030 +vt 0.612500 0.353535 +vt 0.645833 0.353535 +vt 0.612500 0.262626 +vt 0.645833 0.262626 +vt 0.612500 0.292929 +vt 0.645833 0.292929 +vt 0.612500 0.343434 +vt 0.645833 0.343434 +vt 0.645833 0.383838 +vt 0.612500 0.373737 +vt 0.612500 0.282828 +vt 0.612500 0.333333 +vt 0.700000 0.742424 +vt 0.708333 0.752525 +vt 0.700000 0.752525 +vt 0.708333 0.762626 +vt 0.700000 0.762626 +vt 0.700000 0.772727 +vt 0.708333 0.782828 +vt 0.700000 0.782828 +vt 0.700000 0.792929 +vt 0.708333 0.803030 +vt 0.700000 0.803030 +vt 0.700000 0.732323 +vt 0.708333 0.742424 +vt 0.708333 0.772727 +vt 0.708333 0.792929 +vt 0.708333 0.813131 +vt 0.700000 0.813131 +vt 0.683333 0.762626 +vt 0.675000 0.752525 +vt 0.683333 0.752525 +vt 0.683333 0.782828 +vt 0.675000 0.772727 +vt 0.683333 0.772727 +vt 0.683333 0.803030 +vt 0.675000 0.792929 +vt 0.683333 0.792929 +vt 0.683333 0.742424 +vt 0.675000 0.732323 +vt 0.683333 0.732323 +vt 0.675000 0.762626 +vt 0.675000 0.782828 +vt 0.683333 0.813131 +vt 0.675000 0.803030 +vt 0.675000 0.742424 +vt 0.133333 0.888889 +vt 0.141667 0.909091 +vt 0.133333 0.909091 +vt 0.125000 0.888889 +vt 0.125000 0.909091 +vt 0.175000 0.888889 +vt 0.183333 0.909091 +vt 0.175000 0.909091 +vt 0.158333 0.888889 +vt 0.166667 0.909091 +vt 0.158333 0.909091 +vt 0.141667 0.888889 +vt 0.150000 0.909091 +vt 0.116667 0.888889 +vt 0.116667 0.909091 +vt 0.166667 0.888889 +vt 0.150000 0.888889 +vt 0.166667 0.883838 +vt 0.158333 0.868687 +vt 0.166667 0.868687 +vt 0.141667 0.868687 +vt 0.150000 0.868687 +vt 0.125000 0.878788 +vt 0.116667 0.868687 +vt 0.125000 0.868687 +vt 0.175000 0.878788 +vt 0.175000 0.868687 +vt 0.133333 0.883838 +vt 0.133333 0.868687 +vt 0.183333 0.868687 +vt 0.183333 0.873737 +vt 0.116667 0.863636 +vt 0.125000 0.858586 +vt 0.175000 0.858586 +vt 0.150000 0.848485 +vt 0.158333 0.848485 +vt 0.141667 0.848485 +vt 0.133333 0.853535 +vt 0.183333 0.863636 +vt 0.166667 0.853535 +vt 0.166667 0.848485 +vt 0.158333 0.828283 +vt 0.166667 0.828283 +vt 0.141667 0.828283 +vt 0.150000 0.828283 +vt 0.125000 0.848485 +vt 0.116667 0.828283 +vt 0.125000 0.828283 +vt 0.175000 0.828283 +vt 0.175000 0.848485 +vt 0.133333 0.848485 +vt 0.133333 0.828283 +vt 0.183333 0.828283 +vt 0.183333 0.848485 +vt 0.820833 0.621212 +vt 0.829167 0.611111 +vt 0.829167 0.621212 +vt 0.795833 0.621212 +vt 0.804167 0.611111 +vt 0.804167 0.621212 +vt 0.870833 0.621212 +vt 0.879167 0.611111 +vt 0.879167 0.621212 +vt 0.833333 0.621212 +vt 0.841667 0.611111 +vt 0.841667 0.621212 +vt 0.808333 0.621212 +vt 0.816667 0.611111 +vt 0.816667 0.621212 +vt 0.783333 0.621212 +vt 0.791667 0.611111 +vt 0.791667 0.621212 +vt 0.858333 0.621212 +vt 0.866667 0.611111 +vt 0.866667 0.621212 +vt 0.845833 0.621212 +vt 0.854167 0.611111 +vt 0.854167 0.621212 +vt 0.858333 0.580808 +vt 0.858333 0.611111 +vt 0.870833 0.580808 +vt 0.870833 0.611111 +vt 0.783333 0.580808 +vt 0.783333 0.611111 +vt 0.795833 0.580808 +vt 0.795833 0.611111 +vt 0.808333 0.580808 +vt 0.808333 0.611111 +vt 0.820833 0.580808 +vt 0.820833 0.611111 +vt 0.833333 0.580808 +vt 0.833333 0.611111 +vt 0.845833 0.611111 +vt 0.808333 0.530303 +vt 0.883333 0.530303 +vt 0.883333 0.580808 +vt 0.845833 0.530303 +vt 0.845833 0.580808 +vt 0.820833 0.530303 +vt 0.795833 0.530303 +vt 0.870833 0.530303 +vt 0.858333 0.530303 +vt 0.833333 0.530303 +vt 0.833333 0.500000 +vt 0.820833 0.500000 +vt 0.816667 0.500000 +vt 0.795833 0.500000 +vt 0.783333 0.500000 +vt 0.783333 0.530303 +vt 0.870833 0.500000 +vt 0.858333 0.500000 +vt 0.845833 0.500000 +vt 0.808333 0.500000 +vt 0.816667 0.489899 +vt 0.791667 0.489899 +vt 0.791667 0.500000 +vt 0.866667 0.489899 +vt 0.866667 0.500000 +vt 0.854167 0.489899 +vt 0.854167 0.500000 +vt 0.829167 0.489899 +vt 0.829167 0.500000 +vt 0.804167 0.489899 +vt 0.804167 0.500000 +vt 0.879167 0.489899 +vt 0.879167 0.500000 +vt 0.841667 0.489899 +vt 0.841667 0.500000 +vt 0.858333 0.621212 +vt 0.866667 0.631313 +vt 0.858333 0.631313 +vt 0.841667 0.621212 +vt 0.850000 0.631313 +vt 0.841667 0.631313 +vt 0.891667 0.621212 +vt 0.900000 0.631313 +vt 0.891667 0.631313 +vt 0.866667 0.621212 +vt 0.875000 0.631313 +vt 0.850000 0.621212 +vt 0.833333 0.621212 +vt 0.833333 0.631313 +vt 0.883333 0.621212 +vt 0.883333 0.631313 +vt 0.875000 0.621212 +vt 0.087500 0.555556 +vt 0.091667 0.570707 +vt 0.087500 0.570707 +vt 0.087500 0.646465 +vt 0.091667 0.661616 +vt 0.087500 0.661616 +vt 0.087500 0.616162 +vt 0.091667 0.631313 +vt 0.087500 0.631313 +vt 0.087500 0.585859 +vt 0.091667 0.601010 +vt 0.087500 0.601010 +vt 0.087500 0.540404 +vt 0.091667 0.555556 +vt 0.091667 0.646465 +vt 0.091667 0.616162 +vt 0.091667 0.585859 +vt 0.133333 0.888889 +vt 0.141667 0.909091 +vt 0.133333 0.909091 +vt 0.125000 0.888889 +vt 0.125000 0.909091 +vt 0.175000 0.888889 +vt 0.183333 0.909091 +vt 0.175000 0.909091 +vt 0.158333 0.888889 +vt 0.166667 0.909091 +vt 0.158333 0.909091 +vt 0.150000 0.888889 +vt 0.150000 0.909091 +vt 0.116667 0.888889 +vt 0.116667 0.909091 +vt 0.166667 0.888889 +vt 0.166667 0.883838 +vt 0.158333 0.868687 +vt 0.166667 0.868687 +vt 0.141667 0.888889 +vt 0.150000 0.868687 +vt 0.125000 0.878788 +vt 0.116667 0.868687 +vt 0.125000 0.868687 +vt 0.175000 0.868687 +vt 0.175000 0.878788 +vt 0.133333 0.883838 +vt 0.141667 0.868687 +vt 0.133333 0.868687 +vt 0.183333 0.868687 +vt 0.183333 0.873737 +vt 0.054167 0.525253 +vt 0.020833 0.505050 +vt 0.054167 0.505050 +vt 0.020833 0.545455 +vt 0.054167 0.565657 +vt 0.020833 0.565657 +vt 0.054167 0.545455 +vt 0.020833 0.525253 +vt 0.125000 0.555556 +vt 0.133333 0.570707 +vt 0.125000 0.570707 +vt 0.125000 0.646465 +vt 0.133333 0.661616 +vt 0.125000 0.661616 +vt 0.125000 0.616162 +vt 0.133333 0.631313 +vt 0.125000 0.631313 +vt 0.125000 0.585859 +vt 0.133333 0.601010 +vt 0.125000 0.601010 +vt 0.125000 0.540404 +vt 0.133333 0.555556 +vt 0.133333 0.646465 +vt 0.133333 0.616162 +vt 0.133333 0.585859 +vt 0.133333 0.560606 +vt 0.133333 0.550505 +vt 0.133333 0.590909 +vt 0.133333 0.631313 +vt 0.133333 0.560606 +vt 0.133333 0.550505 +vt 0.133333 0.590909 +vt 0.133333 0.631313 +vt 0.829167 0.621212 +vt 0.820833 0.611111 +vt 0.829167 0.611111 +vt 0.804167 0.621212 +vt 0.795833 0.611111 +vt 0.804167 0.611111 +vt 0.879167 0.621212 +vt 0.870833 0.611111 +vt 0.879167 0.611111 +vt 0.833333 0.621212 +vt 0.841667 0.611111 +vt 0.841667 0.621212 +vt 0.816667 0.621212 +vt 0.808333 0.611111 +vt 0.816667 0.611111 +vt 0.783333 0.621212 +vt 0.791667 0.611111 +vt 0.791667 0.621212 +vt 0.858333 0.621212 +vt 0.866667 0.611111 +vt 0.866667 0.621212 +vt 0.854167 0.621212 +vt 0.845833 0.611111 +vt 0.854167 0.611111 +vt 0.858333 0.580808 +vt 0.858333 0.611111 +vt 0.870833 0.580808 +vt 0.783333 0.580808 +vt 0.783333 0.611111 +vt 0.795833 0.580808 +vt 0.820833 0.580808 +vt 0.833333 0.611111 +vt 0.845833 0.580808 +vt 0.808333 0.530303 +vt 0.808333 0.580808 +vt 0.883333 0.530303 +vt 0.883333 0.580808 +vt 0.833333 0.580808 +vt 0.845833 0.530303 +vt 0.820833 0.530303 +vt 0.795833 0.530303 +vt 0.870833 0.530303 +vt 0.858333 0.530303 +vt 0.833333 0.530303 +vt 0.841667 0.500000 +vt 0.820833 0.500000 +vt 0.816667 0.500000 +vt 0.804167 0.500000 +vt 0.783333 0.500000 +vt 0.783333 0.530303 +vt 0.870833 0.500000 +vt 0.858333 0.500000 +vt 0.845833 0.500000 +vt 0.808333 0.489899 +vt 0.816667 0.489899 +vt 0.791667 0.500000 +vt 0.783333 0.489899 +vt 0.791667 0.489899 +vt 0.866667 0.489899 +vt 0.866667 0.500000 +vt 0.854167 0.489899 +vt 0.854167 0.500000 +vt 0.829167 0.489899 +vt 0.829167 0.500000 +vt 0.795833 0.489899 +vt 0.804167 0.489899 +vt 0.879167 0.500000 +vt 0.870833 0.489899 +vt 0.879167 0.489899 +vt 0.833333 0.489899 +vt 0.841667 0.489899 +vt 0.858333 0.631313 +vt 0.866667 0.621212 +vt 0.866667 0.631313 +vt 0.841667 0.621212 +vt 0.850000 0.631313 +vt 0.841667 0.631313 +vt 0.891667 0.621212 +vt 0.900000 0.631313 +vt 0.891667 0.631313 +vt 0.875000 0.621212 +vt 0.875000 0.631313 +vt 0.850000 0.621212 +vt 0.833333 0.631313 +vt 0.883333 0.631313 +vt 0.450000 0.262626 +vt 0.908333 0.656566 +vt 0.883333 0.691919 +vt 0.883333 0.964646 +vt 0.920833 0.742424 +vt 0.908333 0.808081 +vt 0.650000 0.181818 +vt 0.204167 0.313131 +vt 0.091667 0.540404 +vt 0.612500 0.383838 +vt 0.708333 0.732323 +vt 0.675000 0.813131 +vt 0.183333 0.888889 +vt 0.116667 0.873737 +vt 0.116667 0.848485 +vt 0.808333 0.489899 +vt 0.783333 0.489899 +vt 0.858333 0.489899 +vt 0.845833 0.489899 +vt 0.820833 0.489899 +vt 0.795833 0.489899 +vt 0.870833 0.489899 +vt 0.833333 0.489899 +vt 0.900000 0.621212 +vt 0.091667 0.540404 +vt 0.183333 0.888889 +vt 0.116667 0.873737 +vt 0.133333 0.540404 +vt 0.820833 0.621212 +vt 0.795833 0.621212 +vt 0.870833 0.621212 +vt 0.808333 0.621212 +vt 0.845833 0.621212 +vt 0.833333 0.500000 +vt 0.808333 0.500000 +vt 0.795833 0.500000 +vt 0.858333 0.489899 +vt 0.845833 0.489899 +vt 0.820833 0.489899 +vt 0.858333 0.621212 +vt 0.900000 0.621212 +vt 0.833333 0.621212 +vt 0.883333 0.621212 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.7071 0.7071 +vn -1.0000 0.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0000 0.8944 0.4472 +vn 0.0000 0.7071 -0.7071 +vn 0.7071 -0.7071 -0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.9914 0.1305 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.9914 0.1305 0.0000 +vn -0.9914 -0.1305 0.0000 +vn -0.9979 -0.0651 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.9914 -0.1305 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.9979 -0.0651 0.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 0.7071 0.7071 +vn -0.0196 0.0473 -0.9987 +vn 0.1363 -0.6737 -0.7263 +vn 0.1363 -0.6737 0.7263 +vn -0.1448 0.7194 0.6794 +vn -0.1448 0.7194 -0.6794 +vn 0.2049 -0.9788 0.0000 +vn -0.0196 0.0473 0.9987 +vn -0.1866 0.9824 -0.0000 +vn -0.5294 0.5294 0.6630 +vn -0.0671 0.0671 0.9955 +vn -0.5294 0.5294 -0.6630 +vn 0.4617 -0.4617 -0.7574 +vn 0.4617 -0.4617 0.7574 +vn -0.0671 0.0671 -0.9955 +vn 0.9788 -0.2049 -0.0000 +vn 0.6737 -0.1363 -0.7263 +vn 0.6737 -0.1363 0.7263 +vn -0.9824 0.1866 -0.0000 +vn -0.7194 0.1448 0.6794 +vn -0.7194 0.1448 -0.6794 +vn -0.0473 0.0196 -0.9987 +vn -0.0473 0.0196 0.9987 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.0000 0.0809 -0.9967 +vn -0.6975 0.1644 -0.6975 +vn -0.0000 0.1644 -0.9864 +vn -0.7048 0.0809 -0.7048 +vn -0.9864 0.1644 0.0000 +vn -0.9967 0.0809 -0.0000 +vn -0.6975 0.1644 0.6975 +vn -0.7048 0.0809 0.7048 +vn 0.0000 0.1644 0.9864 +vn -0.0000 0.0809 0.9967 +vn 0.6975 0.1644 0.6975 +vn 0.7048 0.0809 0.7048 +vn 0.9864 0.1644 0.0000 +vn 0.9967 0.0809 0.0000 +vn 0.6975 0.1644 -0.6975 +vn 0.0000 -0.0809 0.9967 +vn -0.9967 -0.0809 0.0000 +vn 0.7048 -0.0809 -0.7048 +vn 0.7048 0.0809 -0.7048 +vn 0.7048 -0.0809 0.7048 +vn -0.7048 -0.0809 0.7048 +vn -0.7048 -0.0809 -0.7048 +vn -0.0000 -0.0809 -0.9967 +vn 0.9967 -0.0809 -0.0000 +vn 0.9864 -0.1644 -0.0000 +vn 0.6975 -0.1644 0.6975 +vn -0.6975 -0.1644 0.6975 +vn -0.9864 -0.1644 -0.0000 +vn -0.6975 -0.1644 -0.6975 +vn 0.0000 -0.1644 -0.9864 +vn 0.6975 -0.1644 -0.6975 +vn 0.0196 0.0473 0.9987 +vn -0.1363 -0.6737 0.7263 +vn -0.1363 -0.6737 -0.7263 +vn 0.1448 0.7194 -0.6794 +vn 0.1866 0.9824 -0.0000 +vn -0.2049 -0.9788 0.0000 +vn 0.0196 0.0473 -0.9987 +vn 0.2962 0.7150 -0.6333 +vn 0.0393 0.0948 -0.9947 +vn 0.1448 0.7194 0.6794 +vn 0.3827 0.9239 -0.0000 +vn -0.3827 -0.9239 0.0000 +vn -0.2611 -0.6303 0.7311 +vn -0.2611 -0.6303 -0.7311 +vn 0.2962 0.7150 0.6333 +vn 0.0393 0.0948 0.9947 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 0.3827 0.9239 +vn 0.0000 0.9239 0.3827 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 -0.3404 -0.9403 +vn 0.0000 0.3404 0.9403 +vn 0.5000 0.5000 0.7071 +vn -0.5000 -0.5000 0.7071 +vn -0.5000 -0.5000 -0.7071 +vn 0.5000 0.5000 -0.7071 +vn -0.0572 0.0572 -0.9967 +vn -0.6094 -0.3769 -0.6975 +vn -0.1162 0.1162 -0.9864 +vn -0.5555 -0.4412 -0.7048 +vn -0.8137 -0.5812 -0.0000 +vn -0.7620 -0.6476 0.0000 +vn -0.6094 -0.3769 0.6975 +vn -0.5555 -0.4412 0.7048 +vn -0.1162 0.1162 0.9864 +vn 0.4412 0.5555 0.7048 +vn 0.3769 0.6094 0.6975 +vn 0.5812 0.8137 0.0000 +vn 0.4412 0.5555 -0.7048 +vn 0.3769 0.6094 -0.6975 +vn 0.0572 -0.0572 0.9967 +vn -0.0572 0.0572 0.9967 +vn -0.6476 -0.7620 0.0000 +vn 0.6476 0.7620 0.0000 +vn 0.5555 0.4412 -0.7048 +vn 0.5555 0.4412 0.7048 +vn -0.4412 -0.5555 0.7048 +vn -0.4412 -0.5555 -0.7048 +vn 0.0572 -0.0572 -0.9967 +vn 0.7620 0.6476 -0.0000 +vn 0.6094 0.3769 -0.6975 +vn 0.6094 0.3769 0.6975 +vn 0.1162 -0.1162 0.9864 +vn -0.5812 -0.8137 0.0000 +vn -0.3769 -0.6094 -0.6975 +vn 0.1162 -0.1162 -0.9864 +vn -0.0000 -0.1644 0.9864 +vn 0.8137 0.5812 0.0000 +vn -0.3769 -0.6094 0.6975 +s off +f 474/786/106 479/787/106 473/788/106 +f 481/789/106 656/790/106 483/791/106 +f 655/792/107 672/793/107 656/790/107 +f 484/794/106 653/795/106 482/796/106 +f 486/797/106 487/798/106 485/799/106 +f 618/800/108 477/801/108 489/802/108 +f 632/803/108 627/804/108 628/805/108 +f 631/806/107 625/807/107 627/804/107 +f 494/808/108 625/809/108 629/810/108 +f 536/811/109 538/812/109 532/813/109 +f 531/814/110 529/815/110 525/816/110 +f 559/817/110 557/818/110 553/819/110 +f 576/820/110 568/821/110 564/822/110 +f 572/823/109 574/824/109 570/825/109 +f 587/826/109 589/827/109 583/828/109 +f 592/829/110 597/830/110 595/831/110 +f 613/832/110 611/833/110 609/834/110 +f 620/835/108 471/836/108 475/837/108 +f 477/801/111 620/835/111 475/837/111 +f 621/838/108 476/839/108 472/840/108 +f 615/841/108 490/842/108 478/843/108 +f 476/839/111 615/841/111 478/843/111 +f 633/844/108 624/845/108 623/846/108 +f 617/847/112 624/845/112 634/848/112 +f 619/849/106 636/850/106 621/851/106 +f 621/852/109 474/786/109 473/788/109 +f 474/786/107 476/853/107 480/854/107 +f 473/788/112 475/855/112 471/856/112 +f 630/857/112 628/805/112 626/858/112 +f 493/859/108 626/860/108 491/861/108 +f 488/862/110 629/863/110 630/864/110 +f 616/865/108 618/800/108 626/860/108 +f 628/805/109 625/866/109 626/867/109 +f 618/868/110 623/846/110 624/845/110 +f 636/850/109 634/848/109 633/844/109 +f 623/846/107 616/869/107 615/870/107 +f 651/871/112 649/872/112 647/873/112 +f 482/874/107 480/854/107 476/853/107 +f 475/855/112 479/787/112 481/875/112 +f 488/862/107 486/797/107 484/876/107 +f 493/877/112 491/878/112 483/879/112 +f 483/879/112 489/880/112 481/875/112 +f 484/876/107 490/842/107 492/881/107 +f 654/882/112 669/883/112 653/795/112 +f 671/884/113 676/885/113 672/793/113 +f 670/886/114 673/887/114 669/883/114 +f 674/888/106 675/889/106 673/887/106 +f 670/890/109 654/891/109 656/892/109 +f 485/893/109 656/892/109 654/891/109 +f 663/894/110 673/887/110 675/889/110 +f 675/889/110 661/895/110 662/896/110 +f 669/897/110 664/898/110 665/899/110 +f 660/900/110 671/901/110 655/902/110 +f 666/903/110 653/904/110 669/897/110 +f 658/905/110 659/906/110 655/902/110 +f 667/907/110 668/908/110 653/904/110 +f 655/902/110 481/909/110 479/910/110 +f 687/911/110 683/912/110 679/913/110 +f 692/914/107 691/915/107 690/916/107 +f 703/917/112 704/918/112 700/919/112 +f 707/920/112 709/921/112 711/922/112 +f 719/923/107 717/924/107 715/925/107 +f 721/926/106 724/927/106 722/928/106 +f 728/929/108 725/930/108 726/931/108 +f 726/932/110 731/933/110 728/934/110 +f 744/935/109 737/936/109 739/937/109 +f 721/926/109 727/938/109 723/939/109 +f 724/927/107 727/940/107 728/929/107 +f 734/941/107 731/942/107 736/943/107 +f 730/944/108 733/945/108 731/933/108 +f 741/946/110 746/947/110 743/948/110 +f 749/949/109 729/950/109 734/941/109 +f 750/951/110 736/943/110 732/952/110 +f 735/953/106 739/954/106 737/955/106 +f 750/951/106 734/941/106 736/943/106 +f 743/956/108 740/957/108 741/958/108 +f 735/953/109 742/959/109 738/960/109 +f 745/961/108 748/962/108 746/947/108 +f 737/955/112 740/957/112 735/953/112 +f 745/963/112 737/955/112 749/949/112 +f 729/950/109 724/964/109 734/941/109 +f 754/965/108 751/966/108 752/967/108 +f 762/968/108 759/969/108 760/970/108 +f 753/971/109 756/972/109 751/966/109 +f 752/967/110 757/973/110 754/965/110 +f 754/965/107 758/974/107 753/971/107 +f 751/966/112 755/975/112 752/967/112 +f 761/976/109 764/977/109 759/969/109 +f 760/970/110 765/978/110 762/968/110 +f 762/968/107 766/979/107 761/976/107 +f 759/969/112 763/980/112 760/970/112 +f 768/981/115 769/982/115 767/983/115 +f 770/984/110 771/985/110 769/982/110 +f 770/984/107 768/986/107 772/987/107 +f 769/982/112 771/985/112 767/988/112 +f 817/989/106 819/990/106 813/991/106 +f 859/992/108 857/993/108 855/994/108 +f 875/995/108 873/996/108 871/997/108 +f 879/998/107 881/999/107 883/1000/107 +f 926/1001/107 918/1002/107 927/1003/107 +f 922/1004/112 919/1005/112 923/1006/112 +f 943/1007/112 941/1008/112 939/1009/112 +f 946/1010/106 947/1011/106 945/1012/106 +f 948/1013/110 949/1014/110 947/1011/110 +f 950/1015/108 951/1016/108 949/1014/108 +f 952/1017/107 948/1013/107 946/1018/107 +f 949/1014/112 945/1019/112 947/1011/112 +f 955/1020/108 954/1021/108 953/1022/108 +f 957/1023/112 962/1024/112 961/1025/112 +f 956/1026/107 959/1027/107 954/1028/107 +f 953/1029/112 957/1023/112 955/1020/112 +f 960/1030/107 963/1031/107 959/1027/107 +f 967/1032/116 965/1033/116 966/1034/116 +f 963/1031/107 968/1035/107 967/1036/107 +f 962/1024/112 965/1033/112 961/1025/112 +f 971/1037/108 970/1038/108 969/1039/108 +f 973/1040/112 978/1041/112 977/1042/112 +f 972/1043/107 975/1044/107 970/1045/107 +f 969/1046/112 973/1040/112 971/1037/112 +f 976/1047/107 979/1048/107 975/1044/107 +f 983/1049/116 981/1050/116 982/1051/116 +f 979/1048/107 984/1052/107 983/1053/107 +f 978/1041/112 981/1050/112 977/1042/112 +f 985/1054/108 988/1055/108 986/1056/108 +f 993/1057/108 996/1058/108 994/1059/108 +f 990/1060/109 987/1061/109 985/1054/109 +f 991/1062/110 986/1056/110 988/1055/110 +f 992/1063/112 988/1055/112 987/1061/112 +f 989/1064/107 985/1054/107 986/1056/107 +f 998/1065/109 995/1066/109 993/1057/109 +f 999/1067/110 994/1059/110 996/1058/110 +f 1000/1068/112 996/1058/112 995/1066/112 +f 997/1069/107 993/1057/107 994/1059/107 +f 1005/1070/114 1007/1071/114 1001/1072/114 +f 1047/1073/117 1045/1074/117 1043/1075/117 +f 1060/1076/117 1059/1077/117 1063/1078/117 +f 474/786/106 480/854/106 479/787/106 +f 481/789/106 655/792/106 656/790/106 +f 655/792/107 671/884/107 672/793/107 +f 484/794/106 654/882/106 653/795/106 +f 486/797/106 488/862/106 487/798/106 +f 618/800/108 617/1079/108 477/801/108 +f 632/803/108 631/806/108 627/804/108 +f 631/806/107 629/1080/107 625/807/107 +f 494/808/108 492/881/108 625/809/108 +f 518/1081/109 519/1082/109 520/1083/109 +f 520/1083/109 521/1084/109 523/1085/109 +f 521/1084/109 532/813/109 522/1086/109 +f 523/1085/109 521/1084/109 522/1086/109 +f 532/813/109 533/1087/109 534/1088/109 +f 534/1088/109 535/1089/109 532/813/109 +f 535/1089/109 536/811/109 532/813/109 +f 536/811/109 537/1090/109 538/812/109 +f 538/812/109 522/1086/109 532/813/109 +f 523/1085/109 524/1091/109 518/1081/109 +f 518/1081/109 520/1083/109 523/1085/109 +f 513/1092/110 512/1093/110 516/1094/110 +f 512/1093/110 511/1095/110 516/1094/110 +f 511/1095/110 517/1096/110 516/1094/110 +f 516/1094/110 515/1097/110 514/1098/110 +f 515/1097/110 531/814/110 525/816/110 +f 531/814/110 530/1099/110 529/815/110 +f 529/815/110 528/1100/110 525/816/110 +f 528/1100/110 527/1101/110 525/816/110 +f 527/1101/110 526/1102/110 525/816/110 +f 525/816/110 514/1098/110 515/1097/110 +f 514/1098/110 513/1092/110 516/1094/110 +f 546/1103/110 547/1104/110 543/1105/110 +f 547/1104/110 548/1106/110 543/1105/110 +f 548/1106/110 542/1107/110 543/1105/110 +f 543/1105/110 544/1108/110 545/1109/110 +f 544/1108/110 559/817/110 553/819/110 +f 559/817/110 558/1110/110 557/818/110 +f 557/818/110 556/1111/110 553/819/110 +f 556/1111/110 555/1112/110 553/819/110 +f 555/1112/110 554/1113/110 553/819/110 +f 553/819/110 545/1109/110 544/1108/110 +f 545/1109/110 546/1103/110 543/1105/110 +f 580/1114/110 576/820/110 564/822/110 +f 576/820/110 562/1115/110 566/1116/110 +f 576/820/110 566/1116/110 568/821/110 +f 578/1117/110 582/1118/110 564/822/110 +f 582/1118/110 580/1114/110 564/822/110 +f 581/1119/110 579/1120/110 564/822/110 +f 579/1120/110 578/1117/110 564/822/110 +f 563/1121/110 577/1122/110 567/1123/110 +f 577/1122/110 581/1119/110 564/822/110 +f 567/1123/110 577/1122/110 565/1124/110 +f 565/1124/110 577/1122/110 564/822/110 +f 552/1125/109 541/1126/109 540/1127/109 +f 540/1127/109 539/1128/109 549/1129/109 +f 560/1130/109 569/1131/109 561/1132/109 +f 569/1131/109 570/825/109 575/1133/109 +f 561/1132/109 569/1131/109 575/1133/109 +f 540/1127/109 549/1129/109 550/1134/109 +f 549/1129/109 560/1130/109 561/1132/109 +f 551/1135/109 552/1125/109 540/1127/109 +f 561/1132/109 550/1134/109 549/1129/109 +f 550/1134/109 551/1135/109 540/1127/109 +f 574/824/109 575/1133/109 570/825/109 +f 572/823/109 573/1136/109 574/824/109 +f 570/825/109 571/1137/109 572/823/109 +f 583/828/109 584/1138/109 585/1139/109 +f 585/1139/109 586/1140/109 587/826/109 +f 587/826/109 588/1141/109 589/827/109 +f 589/827/109 590/1142/109 583/828/109 +f 583/828/109 585/1139/109 587/826/109 +f 593/1143/110 591/1144/110 592/829/110 +f 592/829/110 598/1145/110 597/830/110 +f 597/830/110 596/1146/110 595/831/110 +f 595/831/110 594/1147/110 593/1143/110 +f 593/1143/110 592/829/110 595/831/110 +f 609/834/110 607/1148/110 608/1149/110 +f 608/1149/110 614/1150/110 613/832/110 +f 613/832/110 612/1151/110 611/833/110 +f 611/833/110 610/1152/110 609/834/110 +f 609/834/110 608/1149/110 613/832/110 +f 620/835/108 619/1153/108 471/836/108 +f 477/801/111 617/1079/111 620/835/111 +f 621/838/108 622/1154/108 476/839/108 +f 615/841/108 616/865/108 490/842/108 +f 476/839/111 622/1154/111 615/841/111 +f 633/844/108 634/848/108 624/845/108 +f 635/1155/112 619/1156/112 634/848/112 +f 619/1156/112 620/1157/112 634/848/112 +f 634/848/112 620/1157/112 617/847/112 +f 617/847/112 618/1158/112 624/845/112 +f 619/849/106 635/1159/106 636/850/106 +f 473/788/109 471/1160/109 619/1161/109 +f 621/852/109 472/1162/109 474/786/109 +f 473/788/109 619/1161/109 621/852/109 +f 474/786/107 472/1163/107 476/853/107 +f 473/788/112 479/787/112 475/855/112 +f 630/857/112 632/803/112 628/805/112 +f 493/859/108 630/1164/108 626/860/108 +f 493/1165/110 487/798/110 630/864/110 +f 487/798/110 488/862/110 630/864/110 +f 488/862/110 494/1166/110 629/863/110 +f 629/863/110 631/1167/110 632/1168/110 +f 629/863/110 632/1168/110 630/864/110 +f 618/800/108 489/802/108 491/861/108 +f 626/860/108 625/809/108 616/865/108 +f 625/809/108 492/881/108 616/865/108 +f 618/800/108 491/861/108 626/860/108 +f 492/881/108 490/842/108 616/865/108 +f 628/805/109 627/804/109 625/866/109 +f 618/868/110 616/1169/110 623/846/110 +f 636/850/109 635/1159/109 634/848/109 +f 615/870/107 622/1170/107 633/844/107 +f 622/1170/107 621/1171/107 633/844/107 +f 621/1171/107 636/1172/107 633/844/107 +f 633/844/107 623/846/107 615/870/107 +f 647/873/112 645/1173/112 646/1174/112 +f 646/1174/112 652/1175/112 651/871/112 +f 651/871/112 650/1176/112 649/872/112 +f 649/872/112 648/1177/112 647/873/112 +f 647/873/112 646/1174/112 651/871/112 +f 476/853/107 478/843/107 482/874/107 +f 478/843/107 490/842/107 482/874/107 +f 489/880/112 477/1178/112 481/875/112 +f 477/1178/112 475/855/112 481/875/112 +f 484/876/107 492/881/107 494/808/107 +f 494/808/107 488/862/107 484/876/107 +f 483/879/112 485/1179/112 487/1180/112 +f 487/1180/112 493/877/112 483/879/112 +f 483/879/112 491/878/112 489/880/112 +f 484/876/107 482/874/107 490/842/107 +f 654/882/112 670/886/112 669/883/112 +f 671/884/113 675/889/113 676/885/113 +f 670/886/114 674/888/114 673/887/114 +f 674/888/106 676/885/106 675/889/106 +f 656/892/109 672/1181/109 670/890/109 +f 672/1181/109 676/885/109 670/890/109 +f 676/885/109 674/888/109 670/890/109 +f 484/1182/109 486/1183/109 654/891/109 +f 486/1183/109 485/893/109 654/891/109 +f 485/893/109 483/1184/109 656/892/109 +f 675/889/110 662/896/110 663/894/110 +f 663/894/110 664/898/110 673/887/110 +f 675/889/110 671/901/110 661/895/110 +f 669/897/110 673/887/110 664/898/110 +f 660/900/110 661/895/110 671/901/110 +f 655/902/110 659/906/110 660/900/110 +f 666/903/110 667/907/110 653/904/110 +f 669/897/110 665/899/110 666/903/110 +f 479/910/110 480/1185/110 657/1186/110 +f 480/1185/110 482/1187/110 653/904/110 +f 657/1186/110 480/1185/110 668/908/110 +f 653/904/110 668/908/110 480/1185/110 +f 657/1186/110 658/905/110 479/910/110 +f 658/905/110 655/902/110 479/910/110 +f 679/913/110 677/1188/110 678/1189/110 +f 678/1189/110 688/1190/110 679/913/110 +f 688/1190/110 687/911/110 679/913/110 +f 687/911/110 686/1191/110 683/912/110 +f 686/1191/110 685/1192/110 683/912/110 +f 685/1192/110 684/1193/110 683/912/110 +f 683/912/110 682/1194/110 681/1195/110 +f 681/1195/110 680/1196/110 683/912/110 +f 680/1196/110 679/913/110 683/912/110 +f 690/916/107 689/1197/107 696/1198/107 +f 696/1198/107 695/1199/107 690/916/107 +f 695/1199/107 694/1200/107 690/916/107 +f 694/1200/107 693/1201/107 690/916/107 +f 693/1201/107 692/914/107 690/916/107 +f 704/918/112 697/1202/112 700/919/112 +f 697/1202/112 698/1203/112 700/919/112 +f 698/1203/112 699/1204/112 700/919/112 +f 700/919/112 701/1205/112 702/1206/112 +f 702/1206/112 703/917/112 700/919/112 +f 705/1207/112 706/1208/112 707/920/112 +f 707/920/112 708/1209/112 709/921/112 +f 709/921/112 710/1210/112 711/922/112 +f 711/922/112 712/1211/112 705/1207/112 +f 705/1207/112 707/920/112 711/922/112 +f 715/925/107 713/1212/107 714/1213/107 +f 714/1213/107 720/1214/107 719/923/107 +f 719/923/107 718/1215/107 717/924/107 +f 717/924/107 716/1216/107 715/925/107 +f 715/925/107 714/1213/107 719/923/107 +f 721/926/106 723/939/106 724/927/106 +f 728/929/108 727/940/108 725/930/108 +f 726/932/110 730/944/110 731/933/110 +f 744/935/109 749/949/109 737/936/109 +f 721/926/109 725/1217/109 727/938/109 +f 724/927/107 723/939/107 727/940/107 +f 734/941/107 724/927/107 731/942/107 +f 724/927/107 728/929/107 731/942/107 +f 731/942/107 733/1218/107 736/943/107 +f 730/944/108 732/952/108 733/945/108 +f 741/946/110 745/961/110 746/947/110 +f 749/949/109 744/935/109 729/950/109 +f 733/945/110 732/952/110 736/943/110 +f 732/952/110 748/962/110 750/951/110 +f 748/962/110 747/1219/110 750/951/110 +f 735/953/106 738/960/106 739/954/106 +f 750/951/106 749/949/106 734/941/106 +f 743/956/108 742/1220/108 740/957/108 +f 735/953/109 740/1221/109 742/959/109 +f 745/961/108 747/1219/108 748/962/108 +f 737/955/112 741/958/112 740/957/112 +f 745/963/112 741/958/112 737/955/112 +f 749/949/112 750/951/112 745/963/112 +f 750/951/112 747/1222/112 745/963/112 +f 729/950/109 722/1223/109 724/964/109 +f 754/965/108 753/971/108 751/966/108 +f 762/968/108 761/976/108 759/969/108 +f 753/971/109 758/1224/109 756/972/109 +f 752/967/110 755/1225/110 757/973/110 +f 754/965/107 757/1226/107 758/974/107 +f 751/966/112 756/1227/112 755/975/112 +f 761/976/109 766/1228/109 764/977/109 +f 760/970/110 763/1229/110 765/978/110 +f 762/968/107 765/1230/107 766/979/107 +f 759/969/112 764/1231/112 763/980/112 +f 768/981/115 770/984/115 769/982/115 +f 770/984/110 772/987/110 771/985/110 +f 813/991/106 814/1232/106 815/1233/106 +f 815/1233/106 816/1234/106 817/989/106 +f 817/989/106 818/1235/106 819/990/106 +f 819/990/106 820/1236/106 813/991/106 +f 813/991/106 815/1233/106 817/989/106 +f 855/994/108 853/1237/108 854/1238/108 +f 854/1238/108 860/1239/108 859/992/108 +f 859/992/108 858/1240/108 857/993/108 +f 857/993/108 856/1241/108 855/994/108 +f 855/994/108 854/1238/108 859/992/108 +f 871/997/108 870/1242/108 869/1243/108 +f 869/1243/108 876/1244/108 875/995/108 +f 875/995/108 874/1245/108 873/996/108 +f 873/996/108 872/1246/108 871/997/108 +f 871/997/108 869/1243/108 875/995/108 +f 877/1247/107 878/1248/107 879/998/107 +f 879/998/107 880/1249/107 881/999/107 +f 881/999/107 882/1250/107 883/1000/107 +f 883/1000/107 884/1251/107 877/1247/107 +f 877/1247/107 879/998/107 883/1000/107 +f 918/1002/107 920/1252/107 927/1003/107 +f 927/1003/107 928/1253/107 925/1254/107 +f 925/1254/107 926/1001/107 927/1003/107 +f 919/1005/112 917/1255/112 923/1006/112 +f 923/1006/112 924/1256/112 921/1257/112 +f 921/1257/112 922/1004/112 923/1006/112 +f 939/1009/112 937/1258/112 938/1259/112 +f 938/1259/112 944/1260/112 943/1007/112 +f 943/1007/112 942/1261/112 941/1008/112 +f 941/1008/112 940/1262/112 939/1009/112 +f 939/1009/112 938/1259/112 943/1007/112 +f 946/1010/106 948/1013/106 947/1011/106 +f 948/1013/110 950/1015/110 949/1014/110 +f 950/1015/108 952/1263/108 951/1016/108 +f 952/1017/107 950/1015/107 948/1013/107 +f 949/1014/112 951/1264/112 945/1019/112 +f 955/1020/108 956/1026/108 954/1021/108 +f 957/1023/112 958/1265/112 962/1024/112 +f 956/1026/107 960/1030/107 959/1027/107 +f 953/1029/112 958/1265/112 957/1023/112 +f 960/1030/107 964/1266/107 963/1031/107 +f 967/1032/116 968/1035/116 965/1033/116 +f 963/1031/107 964/1266/107 968/1035/107 +f 962/1024/112 966/1267/112 965/1033/112 +f 971/1037/108 972/1043/108 970/1038/108 +f 973/1040/112 974/1268/112 978/1041/112 +f 972/1043/107 976/1047/107 975/1044/107 +f 969/1046/112 974/1268/112 973/1040/112 +f 976/1047/107 980/1269/107 979/1048/107 +f 983/1049/116 984/1052/116 981/1050/116 +f 979/1048/107 980/1269/107 984/1052/107 +f 978/1041/112 982/1270/112 981/1050/112 +f 985/1054/108 987/1061/108 988/1055/108 +f 993/1057/108 995/1066/108 996/1058/108 +f 990/1060/109 992/1271/109 987/1061/109 +f 991/1062/110 989/1272/110 986/1056/110 +f 992/1063/112 991/1273/112 988/1055/112 +f 989/1064/107 990/1274/107 985/1054/107 +f 998/1065/109 1000/1275/109 995/1066/109 +f 999/1067/110 997/1276/110 994/1059/110 +f 1000/1068/112 999/1277/112 996/1058/112 +f 997/1069/107 998/1278/107 993/1057/107 +f 1001/1072/114 1002/1279/114 1003/1280/114 +f 1003/1280/114 1004/1281/114 1005/1070/114 +f 1005/1070/114 1006/1282/114 1007/1071/114 +f 1007/1071/114 1008/1283/114 1001/1072/114 +f 1001/1072/114 1003/1280/114 1005/1070/114 +f 1043/1075/117 1041/1284/117 1042/1285/117 +f 1042/1285/117 1048/1286/117 1047/1073/117 +f 1047/1073/117 1046/1287/117 1045/1074/117 +f 1045/1074/117 1044/1288/117 1043/1075/117 +f 1043/1075/117 1042/1285/117 1047/1073/117 +f 1059/1077/117 1058/1289/117 1063/1078/117 +f 1058/1289/117 1057/1290/117 1063/1078/117 +f 1057/1290/117 1064/1291/117 1063/1078/117 +f 1063/1078/117 1062/1292/117 1061/1293/117 +f 1061/1293/117 1060/1076/117 1063/1078/117 +s 1 +f 509/1294/107 502/1295/113 501/1296/107 +f 507/1297/108 500/1298/117 499/1299/108 +f 505/1300/112 498/1301/118 497/1302/112 +f 503/1303/106 496/1304/114 495/1305/106 +f 510/1306/113 495/1305/106 502/1295/113 +f 508/1307/117 501/1296/107 500/1298/117 +f 506/1308/118 499/1309/108 498/1301/118 +f 504/1310/114 497/1302/112 496/1304/114 +f 514/1311/119 520/1312/120 513/1313/120 +f 516/1314/121 522/1315/122 515/1316/122 +f 545/1317/119 553/1318/123 562/1319/124 +f 517/1320/125 523/1321/121 516/1314/121 +f 512/1322/126 518/1323/106 511/1324/106 +f 511/1324/106 524/1325/125 517/1320/125 +f 513/1313/120 519/1326/126 512/1322/126 +f 522/1315/122 531/1327/127 515/1316/122 +f 514/1311/119 532/1328/123 521/1329/119 +f 529/1330/128 535/1331/108 528/1332/108 +f 526/1333/129 532/1328/123 525/1334/123 +f 530/1335/130 536/1336/128 529/1330/128 +f 527/1337/131 533/1338/129 526/1333/129 +f 531/1327/127 537/1339/130 530/1335/130 +f 528/1340/108 534/1341/131 527/1337/131 +f 607/1342/114 601/1343/112 599/1344/114 +f 543/1345/121 550/1346/122 544/1347/122 +f 545/1317/119 539/1348/120 546/1349/120 +f 542/1350/125 551/1351/121 543/1345/121 +f 563/1352/132 575/1353/127 577/1354/127 +f 547/1355/126 541/1356/106 548/1357/106 +f 548/1357/106 552/1358/125 542/1350/125 +f 546/1349/120 540/1359/126 547/1355/126 +f 550/1346/122 561/1360/107 563/1352/132 +f 560/1361/112 576/1362/123 569/1363/123 +f 556/1364/108 568/1365/131 555/1366/131 +f 559/1367/127 567/1368/130 558/1369/130 +f 555/1366/131 566/1370/129 554/1371/129 +f 558/1369/130 565/1372/128 557/1373/128 +f 554/1371/129 562/1319/124 553/1318/123 +f 557/1373/128 564/1374/108 556/1375/108 +f 613/1376/107 606/1377/113 605/1378/107 +f 579/1379/128 572/1380/108 578/1381/108 +f 580/1382/129 569/1363/123 576/1362/123 +f 581/1383/130 573/1384/128 579/1379/128 +f 582/1385/131 570/1386/129 580/1382/129 +f 577/1354/127 574/1387/130 581/1383/130 +f 578/1388/108 571/1389/131 582/1385/131 +f 586/1390/118 595/1391/108 587/1392/108 +f 584/1393/114 593/1394/112 585/1395/112 +f 589/1396/107 598/1397/113 590/1398/113 +f 587/1399/108 596/1400/117 588/1401/117 +f 585/1395/112 594/1402/118 586/1390/118 +f 583/1403/106 591/1404/114 584/1393/114 +f 590/1398/113 592/1405/106 583/1403/106 +f 588/1401/117 597/1406/107 589/1396/107 +f 611/1407/108 604/1408/117 603/1409/108 +f 609/1410/112 602/1411/118 601/1343/112 +f 608/1412/106 599/1344/114 600/1413/106 +f 614/1414/113 600/1413/106 606/1377/113 +f 612/1415/117 605/1378/107 604/1408/117 +f 610/1416/118 603/1417/108 602/1411/118 +f 644/1418/133 646/1419/110 637/1420/110 +f 642/1421/111 651/1422/108 643/1423/108 +f 640/1424/134 649/1425/109 641/1426/109 +f 638/1427/116 647/1428/106 639/1429/106 +f 643/1430/108 652/1431/133 644/1418/133 +f 641/1426/109 650/1432/111 642/1421/111 +f 639/1429/106 648/1433/134 640/1424/134 +f 637/1420/110 645/1434/116 638/1427/116 +f 657/1435/108 677/1436/128 658/1437/128 +f 664/1438/126 685/1439/120 665/1440/120 +f 661/1441/121 682/1442/125 662/1443/125 +f 668/1444/131 678/1445/108 657/1435/108 +f 658/1437/128 679/1446/130 659/1447/130 +f 665/1440/120 686/1448/112 666/1449/112 +f 662/1443/125 683/1450/106 663/1451/106 +f 659/1447/130 680/1452/107 660/1453/107 +f 666/1449/112 687/1454/129 667/1455/129 +f 663/1456/106 684/1457/126 664/1438/126 +f 660/1453/107 681/1458/121 661/1441/121 +f 667/1455/129 688/1459/131 668/1444/131 +f 690/1460/133 697/1461/110 689/1462/110 +f 689/1462/110 704/1463/116 696/1464/116 +f 695/1465/106 702/1466/134 694/1467/134 +f 693/1468/109 700/1469/111 692/1470/111 +f 691/1471/108 698/1472/133 690/1460/133 +f 696/1464/116 703/1473/106 695/1465/106 +f 694/1467/134 701/1474/109 693/1468/109 +f 692/1470/111 699/1475/108 691/1476/108 +f 712/1477/116 714/1478/110 705/1479/110 +f 710/1480/134 719/1481/106 711/1482/106 +f 708/1483/111 717/1484/109 709/1485/109 +f 706/1486/133 715/1487/108 707/1488/108 +f 711/1482/106 720/1489/116 712/1477/116 +f 709/1485/109 718/1490/134 710/1480/134 +f 707/1491/108 716/1492/111 708/1483/111 +f 705/1479/110 713/1493/133 706/1486/133 +f 781/1494/135 774/1495/116 773/1496/110 +f 788/1497/136 773/1496/110 780/1498/133 +f 786/1499/137 779/1500/108 778/1501/111 +f 784/1502/138 777/1503/109 776/1504/134 +f 782/1505/139 775/1506/106 774/1495/116 +f 787/1507/140 780/1498/133 779/1508/108 +f 785/1509/141 778/1501/111 777/1503/109 +f 783/1510/142 776/1504/134 775/1506/106 +f 785/1511/141 793/1512/143 794/1513/144 +f 783/1510/142 791/1514/145 792/1515/114 +f 788/1516/136 796/1517/117 797/1518/146 +f 786/1519/137 794/1513/144 795/1520/147 +f 783/1510/142 793/1512/143 784/1502/138 +f 781/1521/135 791/1514/145 782/1505/139 +f 788/1516/136 790/1522/148 781/1521/135 +f 786/1519/137 796/1523/117 787/1524/140 +f 797/1518/146 804/1525/149 805/1526/150 +f 794/1513/144 803/1527/151 795/1520/147 +f 793/1512/143 800/1528/152 801/1529/153 +f 790/1522/148 799/1530/154 791/1514/145 +f 797/1518/146 798/1531/155 790/1522/148 +f 796/1523/117 803/1527/151 804/1532/149 +f 794/1513/144 801/1529/153 802/1533/156 +f 792/1515/114 799/1530/154 800/1528/152 +f 802/1534/156 808/1535/157 809/1536/109 +f 800/1528/152 806/1537/158 807/1538/112 +f 805/1539/150 811/1540/107 812/1541/159 +f 802/1534/156 810/1542/160 803/1543/151 +f 800/1528/152 808/1535/157 801/1529/153 +f 798/1544/155 806/1537/158 799/1530/154 +f 805/1539/150 789/1545/110 798/1544/155 +f 803/1543/151 811/1546/107 804/1547/149 +f 818/1548/160 827/1549/107 819/1550/107 +f 816/1551/157 825/1552/109 817/1553/109 +f 814/1554/158 823/1555/112 815/1556/112 +f 819/1557/107 828/1558/159 820/1559/159 +f 817/1560/109 826/1561/160 818/1562/160 +f 815/1563/112 824/1564/157 816/1565/157 +f 813/1566/110 821/1567/158 814/1568/158 +f 820/1569/159 822/1570/110 813/1571/110 +f 829/1572/161 821/1567/162 822/1573/163 +f 830/1574/164 823/1555/165 821/1575/162 +f 831/1576/166 824/1564/167 823/1577/165 +f 832/1578/168 825/1552/169 824/1579/167 +f 833/1580/170 826/1561/171 825/1581/169 +f 834/1582/172 827/1549/173 826/1583/171 +f 835/1584/174 828/1558/175 827/1585/173 +f 828/1586/175 829/1572/161 822/1570/163 +f 832/1578/168 841/1587/176 833/1580/170 +f 830/1574/164 839/1588/177 831/1589/166 +f 835/1584/174 844/1590/178 836/1591/179 +f 833/1580/170 842/1592/180 834/1582/172 +f 831/1576/166 840/1593/181 832/1578/168 +f 829/1572/161 838/1594/182 830/1574/164 +f 836/1591/179 837/1595/183 829/1572/161 +f 834/1582/172 843/1596/184 835/1584/174 +f 851/1597/185 844/1590/178 843/1596/184 +f 850/1598/186 843/1596/184 842/1592/180 +f 841/1587/176 850/1599/186 842/1592/180 +f 848/1600/187 841/1587/176 840/1593/181 +f 847/1601/188 840/1593/181 839/1602/177 +f 845/1603/189 839/1588/177 838/1594/182 +f 846/1604/190 838/1594/182 837/1595/183 +f 852/1605/191 837/1595/183 844/1590/178 +f 849/1606/109 858/1607/160 850/1599/160 +f 847/1601/112 856/1608/157 848/1609/157 +f 846/1604/110 853/1610/158 845/1611/158 +f 852/1605/159 854/1612/110 846/1613/110 +f 850/1598/160 859/1614/107 851/1615/107 +f 848/1600/157 857/1616/109 849/1617/109 +f 845/1603/158 855/1618/112 847/1619/112 +f 851/1597/107 860/1620/159 852/1621/159 +f 874/1622/160 867/1623/107 866/1624/160 +f 872/1625/157 865/1626/109 864/1627/157 +f 870/1628/158 863/1629/112 862/1630/158 +f 875/1631/107 868/1632/159 867/1623/107 +f 873/1633/109 866/1624/160 865/1626/109 +f 871/1634/112 864/1627/157 863/1635/112 +f 869/1636/110 862/1630/158 861/1637/110 +f 876/1638/159 861/1637/110 868/1632/159 +f 884/1639/133 886/1640/110 877/1641/110 +f 882/1642/111 891/1643/108 883/1644/108 +f 880/1645/134 889/1646/109 881/1647/109 +f 878/1648/116 887/1649/106 879/1650/106 +f 883/1651/108 892/1652/133 884/1639/133 +f 881/1647/109 890/1653/111 882/1642/111 +f 879/1650/106 888/1654/134 880/1645/134 +f 877/1641/110 885/1655/116 878/1648/116 +f 901/1656/192 894/1657/134 893/1658/109 +f 908/1659/193 893/1658/109 900/1660/111 +f 906/1661/194 899/1662/108 898/1663/133 +f 904/1664/195 897/1665/110 896/1666/116 +f 894/1657/134 903/1667/196 895/1668/106 +f 907/1669/197 900/1660/111 899/1670/108 +f 905/1671/198 898/1663/133 897/1665/110 +f 903/1667/196 896/1666/116 895/1668/106 +f 905/1672/198 912/1673/199 913/1674/200 +f 902/1675/201 911/1676/202 903/1667/196 +f 908/1677/193 915/1678/203 916/1679/204 +f 905/1672/198 914/1680/205 906/1681/194 +f 903/1667/196 912/1673/199 904/1664/195 +f 901/1682/192 910/1683/206 902/1675/201 +f 908/1677/193 909/1684/207 901/1682/192 +f 906/1681/194 915/1685/203 907/1686/197 +f 922/1687/208 920/1688/110 919/1689/110 +f 926/1690/209 917/1691/109 918/1692/109 +f 925/1254/210 921/1257/211 924/1256/210 +f 926/1690/209 924/1256/210 923/1693/209 +f 922/1687/208 928/1253/211 927/1694/208 +f 936/1695/133 938/1696/110 929/1697/110 +f 934/1698/111 943/1699/108 935/1700/108 +f 932/1701/134 941/1702/109 933/1703/109 +f 930/1704/116 939/1705/106 931/1706/106 +f 935/1707/108 944/1708/133 936/1695/133 +f 933/1703/109 942/1709/111 934/1698/111 +f 931/1706/106 940/1710/134 932/1701/134 +f 929/1697/110 937/1711/116 930/1704/116 +f 955/1020/110 960/1030/212 956/1026/110 +f 954/1028/109 958/1712/213 953/1713/109 +f 961/1025/212 968/1035/110 964/1266/212 +f 957/1023/212 964/1266/212 960/1030/212 +f 959/1027/213 962/1714/213 958/1712/213 +f 963/1031/213 966/1715/109 962/1714/213 +f 971/1037/110 976/1047/212 972/1043/110 +f 970/1045/109 974/1716/213 969/1717/109 +f 977/1042/212 984/1052/110 980/1269/212 +f 973/1040/212 980/1269/212 976/1047/212 +f 975/1044/213 978/1718/213 974/1716/213 +f 979/1048/213 982/1719/109 978/1718/213 +f 1007/1720/113 1014/1721/214 1015/1722/113 +f 1005/1723/109 1012/1724/215 1013/1725/109 +f 1003/1726/118 1009/1727/216 1011/1728/118 +f 1007/1729/113 1016/1730/217 1008/1731/217 +f 1006/1732/214 1013/1733/109 1014/1734/214 +f 1003/1735/118 1012/1736/215 1004/1737/215 +f 1001/1738/110 1009/1739/216 1002/1740/216 +f 1001/1741/110 1016/1742/217 1010/1743/110 +f 1017/1744/218 1009/1739/219 1010/1745/220 +f 1018/1746/221 1011/1728/222 1009/1727/219 +f 1019/1747/223 1012/1736/224 1011/1748/222 +f 1020/1749/225 1013/1725/226 1012/1724/224 +f 1013/1733/226 1022/1750/227 1014/1734/228 +f 1022/1750/227 1015/1722/229 1014/1721/228 +f 1015/1751/229 1024/1752/230 1016/1730/231 +f 1024/1752/230 1010/1743/220 1016/1742/231 +f 1020/1749/225 1029/1753/232 1021/1754/233 +f 1018/1746/221 1027/1755/234 1019/1756/223 +f 1023/1757/235 1032/1758/236 1024/1752/230 +f 1022/1750/227 1029/1753/232 1030/1759/237 +f 1019/1747/223 1028/1760/238 1020/1749/225 +f 1017/1744/218 1026/1761/239 1018/1746/221 +f 1024/1752/230 1025/1762/240 1017/1744/218 +f 1023/1757/235 1030/1759/237 1031/1763/241 +f 1031/1763/241 1040/1764/242 1032/1758/236 +f 1038/1765/243 1031/1763/241 1030/1759/237 +f 1029/1753/232 1038/1766/243 1030/1759/237 +f 1028/1760/238 1037/1767/244 1029/1753/232 +f 1035/1768/245 1028/1760/238 1027/1769/234 +f 1033/1770/246 1027/1755/234 1026/1761/239 +f 1034/1771/247 1026/1761/239 1025/1762/240 +f 1040/1772/242 1025/1762/240 1032/1758/236 +f 1038/1766/214 1045/1773/109 1046/1774/214 +f 1036/1775/215 1043/1776/118 1044/1777/215 +f 1034/1771/110 1041/1778/216 1033/1779/216 +f 1040/1772/217 1042/1780/110 1034/1781/110 +f 1038/1765/214 1047/1782/113 1039/1783/113 +f 1037/1767/109 1044/1784/215 1045/1785/109 +f 1035/1786/118 1041/1787/216 1043/1788/118 +f 1040/1764/217 1047/1789/113 1048/1790/217 +f 1054/1791/214 1063/1792/113 1055/1793/113 +f 1060/1794/215 1053/1795/109 1052/1796/215 +f 1058/1797/216 1051/1798/118 1050/1799/216 +f 1055/1793/113 1064/1800/217 1056/1801/217 +f 1061/1802/109 1054/1791/214 1053/1795/109 +f 1051/1803/118 1060/1794/215 1052/1796/215 +f 1049/1804/110 1058/1797/216 1050/1799/216 +f 1064/1800/217 1049/1804/110 1056/1801/217 +f 509/1294/107 510/1306/113 502/1295/113 +f 507/1297/108 508/1307/117 500/1298/117 +f 505/1300/112 506/1308/118 498/1301/118 +f 503/1303/106 504/1310/114 496/1304/114 +f 510/1306/113 503/1303/106 495/1305/106 +f 508/1307/117 509/1294/107 501/1296/107 +f 506/1308/118 507/1805/108 499/1309/108 +f 504/1310/114 505/1300/112 497/1302/112 +f 514/1311/119 521/1329/119 520/1312/120 +f 516/1314/121 523/1321/121 522/1315/122 +f 560/1361/112 549/1806/119 562/1319/124 +f 549/1806/119 545/1317/119 562/1319/124 +f 517/1320/125 524/1325/125 523/1321/121 +f 512/1322/126 519/1326/126 518/1323/106 +f 511/1324/106 518/1323/106 524/1325/125 +f 513/1313/120 520/1312/120 519/1326/126 +f 522/1315/122 538/1807/127 531/1327/127 +f 514/1311/119 525/1334/123 532/1328/123 +f 529/1330/128 536/1336/128 535/1331/108 +f 526/1333/129 533/1338/129 532/1328/123 +f 530/1335/130 537/1339/130 536/1336/128 +f 527/1337/131 534/1341/131 533/1338/129 +f 531/1327/127 538/1807/127 537/1339/130 +f 528/1340/108 535/1808/108 534/1341/131 +f 607/1342/114 609/1410/112 601/1343/112 +f 543/1345/121 551/1351/121 550/1346/122 +f 545/1317/119 549/1806/119 539/1348/120 +f 542/1350/125 552/1358/125 551/1351/121 +f 563/1352/132 561/1360/107 575/1353/127 +f 547/1355/126 540/1359/126 541/1356/106 +f 548/1357/106 541/1356/106 552/1358/125 +f 546/1349/120 539/1348/120 540/1359/126 +f 559/1367/127 544/1347/122 563/1352/132 +f 544/1347/122 550/1346/122 563/1352/132 +f 560/1361/112 562/1319/124 576/1362/123 +f 556/1364/108 564/1809/108 568/1365/131 +f 559/1367/127 563/1352/132 567/1368/130 +f 555/1366/131 568/1365/131 566/1370/129 +f 558/1369/130 567/1368/130 565/1372/128 +f 554/1371/129 566/1370/129 562/1319/124 +f 557/1373/128 565/1372/128 564/1374/108 +f 613/1376/107 614/1414/113 606/1377/113 +f 579/1379/128 573/1384/128 572/1380/108 +f 580/1382/129 570/1386/129 569/1363/123 +f 581/1383/130 574/1387/130 573/1384/128 +f 582/1385/131 571/1389/131 570/1386/129 +f 577/1354/127 575/1353/127 574/1387/130 +f 578/1388/108 572/1810/108 571/1389/131 +f 586/1390/118 594/1402/118 595/1391/108 +f 584/1393/114 591/1404/114 593/1394/112 +f 589/1396/107 597/1406/107 598/1397/113 +f 587/1399/108 595/1811/108 596/1400/117 +f 585/1395/112 593/1394/112 594/1402/118 +f 583/1403/106 592/1405/106 591/1404/114 +f 590/1398/113 598/1397/113 592/1405/106 +f 588/1401/117 596/1400/117 597/1406/107 +f 611/1407/108 612/1415/117 604/1408/117 +f 609/1410/112 610/1416/118 602/1411/118 +f 608/1412/106 607/1342/114 599/1344/114 +f 614/1414/113 608/1412/106 600/1413/106 +f 612/1415/117 613/1376/107 605/1378/107 +f 610/1416/118 611/1812/108 603/1417/108 +f 644/1418/133 652/1431/133 646/1419/110 +f 642/1421/111 650/1432/111 651/1422/108 +f 640/1424/134 648/1433/134 649/1425/109 +f 638/1427/116 645/1434/116 647/1428/106 +f 643/1430/108 651/1813/108 652/1431/133 +f 641/1426/109 649/1425/109 650/1432/111 +f 639/1429/106 647/1428/106 648/1433/134 +f 637/1420/110 646/1419/110 645/1434/116 +f 657/1435/108 678/1445/108 677/1436/128 +f 664/1438/126 684/1457/126 685/1439/120 +f 661/1441/121 681/1458/121 682/1442/125 +f 668/1444/131 688/1459/131 678/1445/108 +f 658/1437/128 677/1436/128 679/1446/130 +f 665/1440/120 685/1439/120 686/1448/112 +f 662/1443/125 682/1442/125 683/1450/106 +f 659/1447/130 679/1446/130 680/1452/107 +f 666/1449/112 686/1448/112 687/1454/129 +f 663/1456/106 683/1814/106 684/1457/126 +f 660/1453/107 680/1452/107 681/1458/121 +f 667/1455/129 687/1454/129 688/1459/131 +f 690/1460/133 698/1472/133 697/1461/110 +f 689/1462/110 697/1461/110 704/1463/116 +f 695/1465/106 703/1473/106 702/1466/134 +f 693/1468/109 701/1474/109 700/1469/111 +f 691/1471/108 699/1815/108 698/1472/133 +f 696/1464/116 704/1463/116 703/1473/106 +f 694/1467/134 702/1466/134 701/1474/109 +f 692/1470/111 700/1469/111 699/1475/108 +f 712/1477/116 720/1489/116 714/1478/110 +f 710/1480/134 718/1490/134 719/1481/106 +f 708/1483/111 716/1492/111 717/1484/109 +f 706/1486/133 713/1493/133 715/1487/108 +f 711/1482/106 719/1481/106 720/1489/116 +f 709/1485/109 717/1484/109 718/1490/134 +f 707/1491/108 715/1816/108 716/1492/111 +f 705/1479/110 714/1478/110 713/1493/133 +f 781/1494/135 782/1505/139 774/1495/116 +f 788/1497/136 781/1494/135 773/1496/110 +f 786/1499/137 787/1817/140 779/1500/108 +f 784/1502/138 785/1509/141 777/1503/109 +f 782/1505/139 783/1510/142 775/1506/106 +f 787/1507/140 788/1497/136 780/1498/133 +f 785/1509/141 786/1499/137 778/1501/111 +f 783/1510/142 784/1502/138 776/1504/134 +f 785/1511/141 784/1502/138 793/1512/143 +f 783/1510/142 782/1505/139 791/1514/145 +f 788/1516/136 787/1818/140 796/1517/117 +f 786/1519/137 785/1511/141 794/1513/144 +f 783/1510/142 792/1515/114 793/1512/143 +f 781/1521/135 790/1522/148 791/1514/145 +f 788/1516/136 797/1518/146 790/1522/148 +f 786/1519/137 795/1520/147 796/1523/117 +f 797/1518/146 796/1517/117 804/1525/149 +f 794/1513/144 802/1533/156 803/1527/151 +f 793/1512/143 792/1515/114 800/1528/152 +f 790/1522/148 798/1531/155 799/1530/154 +f 797/1518/146 805/1526/150 798/1531/155 +f 796/1523/117 795/1520/147 803/1527/151 +f 794/1513/144 793/1512/143 801/1529/153 +f 792/1515/114 791/1514/145 799/1530/154 +f 802/1534/156 801/1529/153 808/1535/157 +f 800/1528/152 799/1530/154 806/1537/158 +f 805/1539/150 804/1819/149 811/1540/107 +f 802/1534/156 809/1536/109 810/1542/160 +f 800/1528/152 807/1538/112 808/1535/157 +f 798/1544/155 789/1545/110 806/1537/158 +f 805/1539/150 812/1541/159 789/1545/110 +f 803/1543/151 810/1542/160 811/1546/107 +f 818/1548/160 826/1583/160 827/1549/107 +f 816/1551/157 824/1579/157 825/1552/109 +f 814/1554/158 821/1575/158 823/1555/112 +f 819/1557/107 827/1585/107 828/1558/159 +f 817/1560/109 825/1581/109 826/1561/160 +f 815/1563/112 823/1577/112 824/1564/157 +f 813/1566/110 822/1573/110 821/1567/158 +f 820/1569/159 828/1586/159 822/1570/110 +f 829/1572/161 830/1574/164 821/1567/162 +f 830/1574/164 831/1589/166 823/1555/165 +f 831/1576/166 832/1578/168 824/1564/167 +f 832/1578/168 833/1580/170 825/1552/169 +f 833/1580/170 834/1582/172 826/1561/171 +f 834/1582/172 835/1584/174 827/1549/173 +f 835/1584/174 836/1591/179 828/1558/175 +f 828/1586/175 836/1591/179 829/1572/161 +f 832/1578/168 840/1593/181 841/1587/176 +f 830/1574/164 838/1594/182 839/1588/177 +f 835/1584/174 843/1596/184 844/1590/178 +f 833/1580/170 841/1587/176 842/1592/180 +f 831/1576/166 839/1602/177 840/1593/181 +f 829/1572/161 837/1595/183 838/1594/182 +f 836/1591/179 844/1590/178 837/1595/183 +f 834/1582/172 842/1592/180 843/1596/184 +f 851/1597/185 852/1621/191 844/1590/178 +f 850/1598/186 851/1615/185 843/1596/184 +f 841/1587/176 849/1606/248 850/1599/186 +f 848/1600/187 849/1617/248 841/1587/176 +f 847/1601/188 848/1609/187 840/1593/181 +f 845/1603/189 847/1619/188 839/1588/177 +f 846/1604/190 845/1611/189 838/1594/182 +f 852/1605/191 846/1613/190 837/1595/183 +f 849/1606/109 857/1820/109 858/1607/160 +f 847/1601/112 855/1821/112 856/1608/157 +f 846/1604/110 854/1822/110 853/1610/158 +f 852/1605/159 860/1823/159 854/1612/110 +f 850/1598/160 858/1824/160 859/1614/107 +f 848/1600/157 856/1825/157 857/1616/109 +f 845/1603/158 853/1826/158 855/1618/112 +f 851/1597/107 859/1827/107 860/1620/159 +f 874/1622/160 875/1631/107 867/1623/107 +f 872/1625/157 873/1633/109 865/1626/109 +f 870/1628/158 871/1828/112 863/1629/112 +f 875/1631/107 876/1638/159 868/1632/159 +f 873/1633/109 874/1622/160 866/1624/160 +f 871/1634/112 872/1625/157 864/1627/157 +f 869/1636/110 870/1628/158 862/1630/158 +f 876/1638/159 869/1636/110 861/1637/110 +f 884/1639/133 892/1652/133 886/1640/110 +f 882/1642/111 890/1653/111 891/1643/108 +f 880/1645/134 888/1654/134 889/1646/109 +f 878/1648/116 885/1655/116 887/1649/106 +f 883/1651/108 891/1829/108 892/1652/133 +f 881/1647/109 889/1646/109 890/1653/111 +f 879/1650/106 887/1649/106 888/1654/134 +f 877/1641/110 886/1640/110 885/1655/116 +f 901/1656/192 902/1675/201 894/1657/134 +f 908/1659/193 901/1656/192 893/1658/109 +f 906/1661/194 907/1830/197 899/1662/108 +f 904/1664/195 905/1671/198 897/1665/110 +f 894/1657/134 902/1675/201 903/1667/196 +f 907/1669/197 908/1659/193 900/1660/111 +f 905/1671/198 906/1661/194 898/1663/133 +f 903/1667/196 904/1664/195 896/1666/116 +f 905/1672/198 904/1664/195 912/1673/199 +f 902/1675/201 910/1683/206 911/1676/202 +f 908/1677/193 907/1831/197 915/1678/203 +f 905/1672/198 913/1674/200 914/1680/205 +f 903/1667/196 911/1676/202 912/1673/199 +f 901/1682/192 909/1684/207 910/1683/206 +f 908/1677/193 916/1679/204 909/1684/207 +f 906/1681/194 914/1680/205 915/1685/203 +f 922/1687/208 927/1694/208 920/1688/110 +f 926/1690/209 923/1693/209 917/1691/109 +f 925/1254/210 928/1253/211 921/1257/211 +f 926/1690/209 925/1254/210 924/1256/210 +f 922/1687/208 921/1257/211 928/1253/211 +f 936/1695/133 944/1708/133 938/1696/110 +f 934/1698/111 942/1709/111 943/1699/108 +f 932/1701/134 940/1710/134 941/1702/109 +f 930/1704/116 937/1711/116 939/1705/106 +f 935/1707/108 943/1832/108 944/1708/133 +f 933/1703/109 941/1702/109 942/1709/111 +f 931/1706/106 939/1705/106 940/1710/134 +f 929/1697/110 938/1696/110 937/1711/116 +f 955/1020/110 957/1023/212 960/1030/212 +f 954/1028/109 959/1027/213 958/1712/213 +f 961/1025/212 965/1033/110 968/1035/110 +f 957/1023/212 961/1025/212 964/1266/212 +f 959/1027/213 963/1031/213 962/1714/213 +f 963/1031/213 967/1036/109 966/1715/109 +f 971/1037/110 973/1040/212 976/1047/212 +f 970/1045/109 975/1044/213 974/1716/213 +f 977/1042/212 981/1050/110 984/1052/110 +f 973/1040/212 977/1042/212 980/1269/212 +f 975/1044/213 979/1048/213 978/1718/213 +f 979/1048/213 983/1053/109 982/1719/109 +f 1007/1720/113 1006/1833/214 1014/1721/214 +f 1005/1723/109 1004/1834/215 1012/1724/215 +f 1003/1726/118 1002/1835/216 1009/1727/216 +f 1007/1729/113 1015/1751/113 1016/1730/217 +f 1006/1732/214 1005/1836/109 1013/1733/109 +f 1003/1735/118 1011/1748/118 1012/1736/215 +f 1001/1738/110 1010/1745/110 1009/1739/216 +f 1001/1741/110 1008/1837/217 1016/1742/217 +f 1017/1744/218 1018/1746/221 1009/1739/219 +f 1018/1746/221 1019/1756/223 1011/1728/222 +f 1019/1747/223 1020/1749/225 1012/1736/224 +f 1020/1749/225 1021/1754/233 1013/1725/226 +f 1013/1733/226 1021/1754/233 1022/1750/227 +f 1022/1750/227 1023/1757/235 1015/1722/229 +f 1015/1751/229 1023/1757/235 1024/1752/230 +f 1024/1752/230 1017/1744/218 1010/1743/220 +f 1020/1749/225 1028/1760/238 1029/1753/232 +f 1018/1746/221 1026/1761/239 1027/1755/234 +f 1023/1757/235 1031/1763/241 1032/1758/236 +f 1022/1750/227 1021/1754/233 1029/1753/232 +f 1019/1747/223 1027/1769/234 1028/1760/238 +f 1017/1744/218 1025/1762/240 1026/1761/239 +f 1024/1752/230 1032/1758/236 1025/1762/240 +f 1023/1757/235 1022/1750/227 1030/1759/237 +f 1031/1763/241 1039/1838/249 1040/1764/242 +f 1038/1765/243 1039/1783/249 1031/1763/241 +f 1029/1753/232 1037/1839/244 1038/1766/243 +f 1028/1760/238 1036/1840/250 1037/1767/244 +f 1035/1768/245 1036/1775/250 1028/1760/238 +f 1033/1770/246 1035/1786/245 1027/1755/234 +f 1034/1771/247 1033/1779/246 1026/1761/239 +f 1040/1772/242 1034/1781/247 1025/1762/240 +f 1038/1766/214 1037/1839/109 1045/1773/109 +f 1036/1775/215 1035/1768/118 1043/1776/118 +f 1034/1771/110 1042/1841/110 1041/1778/216 +f 1040/1772/217 1048/1842/217 1042/1780/110 +f 1038/1765/214 1046/1843/214 1047/1782/113 +f 1037/1767/109 1036/1840/215 1044/1784/215 +f 1035/1786/118 1033/1770/216 1041/1787/216 +f 1040/1764/217 1039/1838/113 1047/1789/113 +f 1054/1791/214 1062/1844/214 1063/1792/113 +f 1060/1794/215 1061/1802/109 1053/1795/109 +f 1058/1797/216 1059/1845/118 1051/1798/118 +f 1055/1793/113 1063/1792/113 1064/1800/217 +f 1061/1802/109 1062/1844/214 1054/1791/214 +f 1051/1803/118 1059/1846/118 1060/1794/215 +f 1049/1804/110 1057/1847/110 1058/1797/216 +f 1064/1800/217 1057/1847/110 1049/1804/110 diff --git a/src/main/resources/assets/hbm/models/weapons/shredder.obj b/src/main/resources/assets/hbm/models/weapons/shredder.obj index 8bb5d0cd7..0017e8cfa 100644 --- a/src/main/resources/assets/hbm/models/weapons/shredder.obj +++ b/src/main/resources/assets/hbm/models/weapons/shredder.obj @@ -1,106 +1,6 @@ # Blender v2.79 (sub 0) OBJ File: 'shredder.blend' # www.blender.org -o Cube_Cube.001 -v 1.000000 0.562500 2.000000 -v 1.000000 1.437500 2.000000 -v 1.000000 0.562500 6.000000 -v 1.000000 1.437500 6.000000 -v -1.000000 0.562500 2.000000 -v -1.000000 1.437500 2.000000 -v -1.000000 0.562500 6.000000 -v -1.000000 1.437500 6.000000 -v 0.437500 2.000000 2.000000 -v -0.437500 2.000000 2.000000 -v 0.437500 2.000000 6.000000 -v -0.437500 2.000000 6.000000 -v 0.437500 0.000000 2.000000 -v -0.437500 0.000000 2.000000 -v 0.437500 0.000000 6.000000 -v -0.437500 0.000000 6.000000 -v 0.250000 2.750000 2.000000 -v -0.250000 2.750000 2.000000 -v 0.250000 2.750000 6.000000 -v -0.250000 2.750000 6.000000 -v 0.000000 1.500000 6.000000 -v 0.250000 1.433012 6.000000 -v 0.433013 1.250000 6.000000 -v 0.500000 1.000000 6.000000 -v 0.433013 0.750000 6.000000 -v 0.250000 0.566988 6.000000 -v 0.000000 0.500000 6.000000 -v -0.250000 0.566987 6.000000 -v -0.433012 0.750000 6.000000 -v -0.500000 1.000000 6.000000 -v -0.433012 1.250000 6.000000 -v -0.250000 1.433012 6.000000 -v 0.000000 1.500000 7.500000 -v 0.250000 1.433012 7.500000 -v 0.433013 1.250000 7.500000 -v 0.500000 1.000000 7.500000 -v 0.433013 0.750000 7.500000 -v 0.250000 0.566988 7.500000 -v 0.000001 0.500000 7.500000 -v -0.249999 0.566987 7.500000 -v -0.433012 0.750000 7.500000 -v -0.500000 1.000000 7.500000 -v -0.433012 1.250000 7.500000 -v -0.250000 1.433012 7.500000 -v 0.000000 1.375000 7.500000 -v 0.187500 1.324759 7.500000 -v 0.324760 1.187500 7.500000 -v 0.375000 1.000000 7.500000 -v 0.324760 0.812500 7.500000 -v 0.187500 0.675241 7.500000 -v 0.000000 0.625000 7.500000 -v -0.187499 0.675240 7.500000 -v -0.324759 0.812500 7.500000 -v -0.375000 1.000000 7.500000 -v -0.324759 1.187500 7.500000 -v -0.187500 1.324759 7.500000 -v 0.000000 1.375000 6.500000 -v 0.187500 1.324759 6.500000 -v 0.324760 1.187500 6.500000 -v 0.375000 1.000000 6.500000 -v 0.324760 0.812500 6.500000 -v 0.187500 0.675241 6.500000 -v 0.000000 0.625000 6.500000 -v -0.187500 0.675240 6.500000 -v -0.324759 0.812500 6.500000 -v -0.375000 1.000000 6.500000 -v -0.324759 1.187500 6.500000 -v -0.187500 1.324759 6.500000 -v 0.000000 1.500000 2.000000 -v 0.250000 1.433012 2.000000 -v 0.433013 1.250000 2.000000 -v 0.500000 1.000000 2.000000 -v 0.433013 0.750000 2.000000 -v 0.250000 0.566988 2.000000 -v 0.000000 0.500000 2.000000 -v -0.250000 0.566987 2.000000 -v -0.433012 0.750000 2.000000 -v -0.500000 1.000000 2.000000 -v -0.433012 1.250000 2.000000 -v -0.250000 1.433012 2.000000 -v 0.000000 1.500000 1.000000 -v 0.250000 1.433012 1.000000 -v 0.433013 1.250000 1.000000 -v 0.500000 1.000000 1.000000 -v 0.433013 0.750000 1.000000 -v 0.250000 0.566988 1.000000 -v 0.000000 0.500000 1.000000 -v -0.250000 0.566987 1.000000 -v -0.433012 0.750000 1.000000 -v -0.500000 1.000000 1.000000 -v -0.433013 1.250000 1.000000 -v -0.250000 1.433012 1.000000 -v 0.500000 0.250000 0.500000 -v -0.500000 0.250000 0.500000 -v 0.500000 0.250000 1.000000 -v -0.500000 0.250000 1.000000 -v 0.500000 1.750000 1.000000 -v 0.500000 1.250000 0.500000 -v -0.500000 1.250000 0.500000 -v -0.500000 1.750000 1.000000 +o Magazine v 0.000000 1.500000 0.500000 v 0.956709 1.309699 0.500000 v 1.767767 0.767767 0.500000 @@ -117,10 +17,6 @@ v -2.500000 -1.000000 0.500000 v -2.309699 -0.043291 0.500000 v -1.767766 0.767767 0.500000 v -0.956707 1.309699 0.500000 -v -0.312500 0.000000 6.000000 -v 0.312500 0.000000 6.000000 -v -0.312500 0.000000 2.000000 -v 0.312500 0.000000 2.000000 v 2.136471 -0.115044 -1.250000 v 1.635184 0.635185 -1.250000 v 0.884955 1.136472 -1.250000 @@ -153,38 +49,6 @@ v 0.884955 -3.136472 -0.875000 v 1.635184 -2.635185 -0.875000 v 2.312500 -1.000000 -0.875000 v 2.136471 -1.884956 -0.875000 -v 0.000000 1.250000 0.375000 -v -0.176777 1.176777 0.375000 -v -0.250000 1.000000 0.375000 -v -0.176777 0.823223 0.375000 -v 0.000000 0.750000 0.375000 -v 0.176777 0.823223 0.375000 -v 0.250000 1.000000 0.375000 -v 0.176777 1.176777 0.375000 -v 0.000000 1.250000 -1.125000 -v -0.176777 1.176777 -1.125000 -v -0.250000 1.000000 -1.125000 -v -0.176777 0.823223 -1.125000 -v 0.000000 0.750000 -1.125000 -v 0.176777 0.823223 -1.125000 -v 0.250000 1.000000 -1.125000 -v 0.176777 1.176777 -1.125000 -v 0.000000 1.312500 -1.125000 -v -0.220971 1.220971 -1.125000 -v -0.312500 1.000000 -1.125000 -v -0.220971 0.779029 -1.125000 -v 0.000000 0.687500 -1.125000 -v 0.220971 0.779029 -1.125000 -v 0.312500 1.000000 -1.125000 -v 0.220971 1.220971 -1.125000 -v 0.000000 1.312500 -1.250000 -v -0.220971 1.220971 -1.250000 -v -0.312500 1.000000 -1.250000 -v -0.220971 0.779029 -1.250000 -v 0.000000 0.687500 -1.250000 -v 0.220971 0.779029 -1.250000 -v 0.312500 1.000000 -1.250000 -v 0.220971 1.220971 -1.250000 v 0.000000 1.125000 0.500000 v -0.813202 0.963244 0.500000 v -1.502602 0.502602 0.500000 @@ -297,38 +161,6 @@ v 1.875000 -1.000000 0.500000 v 1.732274 -0.282468 0.500000 v 1.325825 0.325826 0.500000 v 0.717530 0.732274 0.500000 -v 0.000000 0.750000 0.375000 -v -0.669696 0.616789 0.375000 -v -1.237437 0.237437 0.375000 -v -1.616789 -0.330304 0.375000 -v -1.750000 -1.000000 0.375000 -v -1.616789 -1.669696 0.375000 -v -1.237437 -2.237437 0.375000 -v -0.669696 -2.616789 0.375000 -v -0.000000 -2.750000 0.375000 -v 0.669696 -2.616789 0.375000 -v 1.237436 -2.237437 0.375000 -v 1.616789 -1.669696 0.375000 -v 1.750000 -1.000000 0.375000 -v 1.616789 -0.330304 0.375000 -v 1.237436 0.237437 0.375000 -v 0.669695 0.616789 0.375000 -v 0.000000 0.750000 -1.250000 -v -0.669696 0.616789 -1.250000 -v -1.237437 0.237437 -1.250000 -v -1.616789 -0.330304 -1.250000 -v -1.750000 -1.000000 -1.250000 -v -1.616789 -1.669696 -1.250000 -v -1.237437 -2.237437 -1.250000 -v -0.669696 -2.616789 -1.250000 -v -0.000000 -2.750000 -1.250000 -v 0.669696 -2.616789 -1.250000 -v 1.237436 -2.237437 -1.250000 -v 1.616789 -1.669696 -1.250000 -v 1.750000 -1.000000 -1.250000 -v 1.616789 -0.330304 -1.250000 -v 1.237436 0.237437 -1.250000 -v 0.669695 0.616789 -1.250000 v 0.000000 0.875000 -1.375000 v -0.717532 0.732274 -1.375000 v -1.325825 0.325825 -1.375000 @@ -425,170 +257,1115 @@ v 2.125000 -1.000000 -1.375000 v 1.963244 -0.186797 -1.375000 v 1.502602 0.502602 -1.375000 v 0.813201 0.963244 -1.375000 -v -0.562500 -0.500000 6.000000 -v 0.562500 -0.500000 6.000000 -v -0.562500 -0.500000 2.000000 -v 0.562500 -0.500000 2.000000 -v -0.312500 -1.000000 6.000000 -v 0.312500 -1.000000 6.000000 -v -0.312500 -1.000000 2.000000 -v 0.312500 -1.000000 2.000000 -v 0.750000 0.250000 -1.875000 -v -0.750000 0.250000 -1.875000 -v 0.750000 0.250000 -1.375000 -v -0.750000 0.250000 -1.375000 -v 0.750000 2.750000 -1.375000 -v 0.312500 2.125000 2.000000 -v -0.312500 2.125000 2.000000 -v -0.750000 2.750000 -1.375000 -v 0.750000 0.500000 -2.375000 -v -0.750000 0.500000 -2.375000 -v 0.750000 2.750000 -2.375000 -v -0.750000 2.750000 -2.375000 -v -0.187500 2.625000 2.000000 -v 0.187500 2.625000 2.000000 -v 0.312500 2.125000 -1.375000 -v -0.312500 2.125000 -1.375000 -v -0.187500 2.625000 -1.375000 -v 0.187500 2.625000 -1.375000 -v 0.500000 1.250000 -1.375000 -v -0.500000 1.250000 -1.375000 -v 0.500000 2.000000 0.750000 -v -0.500000 2.000000 0.750000 -v 0.500000 2.000000 -1.375000 -v -0.500000 2.000000 -1.375000 -v -0.625000 2.000000 -2.375000 -v -1.000000 1.625000 -2.375000 -v 1.000000 1.625000 -2.375000 -v 0.625000 2.000000 -2.375000 -v -1.000000 1.625000 -4.875000 -v -0.625000 2.000000 -4.875000 -v 0.625000 2.000000 -4.875000 -v 1.000000 1.625000 -4.875000 -v 0.750000 1.375000 -4.875000 -v 0.375000 1.750000 -4.875000 -v -0.375000 1.750000 -4.875000 -v -0.750000 1.375000 -4.875000 -v 0.375000 0.250000 -4.875000 -v 0.750000 0.625000 -4.875000 -v -0.750000 0.625000 -4.875000 -v -0.375000 0.250000 -4.875000 -v 0.750000 0.625000 -6.875000 -v 0.375000 0.250000 -6.875000 -v 0.375000 1.750000 -6.875000 -v 0.750000 1.375000 -6.875000 -v -0.750000 1.375000 -6.875000 -v -0.375000 1.750000 -6.875000 -v -0.375000 0.250000 -6.875000 -v -0.750000 0.625000 -6.875000 -v 0.125000 2.750000 -2.375000 -v 0.500000 2.750000 -2.375000 -v 0.125000 2.000000 -3.375000 -v 0.500000 2.000000 -3.375000 -v 0.125000 2.000000 -2.375000 -v 0.500000 2.000000 -2.375000 -v -0.125000 2.000000 -2.375000 -v -0.500000 2.000000 -2.375000 -v -0.125000 2.000000 -3.375000 -v -0.500000 2.000000 -3.375000 -v -0.125000 2.750000 -2.375000 -v -0.500000 2.750000 -2.375000 -v -0.250000 0.000000 -3.250000 -v 0.250000 0.000000 -3.250000 -v -0.250000 0.000000 -4.625000 -v 0.250000 0.000000 -4.625000 -v -0.250000 -2.500000 -5.125000 -v -0.250000 -2.500000 -3.750000 -v 0.250000 -2.500000 -3.750000 -v 0.250000 -2.500000 -5.125000 -v 0.500000 0.000000 -3.500000 -v 0.500000 0.000000 -4.375000 -v 0.500000 -2.500000 -4.000000 -v 0.500000 -2.500000 -4.875000 -v -0.500000 0.000000 -4.375000 -v -0.500000 0.000000 -3.500000 -v -0.500000 -2.500000 -4.875000 -v -0.500000 -2.500000 -4.000000 -v -0.250000 0.000000 -2.875000 -v 0.250000 0.000000 -2.875000 -v -0.250000 -1.000000 -2.750000 -v 0.250000 -1.000000 -2.750000 -v -0.250000 0.000000 -3.250000 -v 0.250000 0.000000 -3.250000 -v -0.250000 -1.000000 -3.500000 -v 0.250000 -1.000000 -3.500000 -v 0.750000 0.875000 -4.875000 -v 1.000000 0.875000 -4.875000 -v 0.750000 1.125000 -4.875000 -v 1.000000 1.125000 -4.875000 -v 0.750000 0.875000 -8.875000 -v 1.000000 0.875000 -8.875000 -v 0.750000 1.125000 -8.875000 -v 1.000000 1.125000 -8.875000 -v -1.000000 0.875000 -4.875000 -v -0.750000 0.875000 -4.875000 -v -1.000000 1.125000 -4.875000 -v -0.750000 1.125000 -4.875000 -v -1.000000 0.875000 -8.875000 -v -0.750000 0.875000 -8.875000 -v -1.000000 1.125000 -8.875000 -v -0.750000 1.125000 -8.875000 -v 0.750000 0.875000 -9.125000 -v 1.000000 0.875000 -9.125000 -v -1.000000 0.875000 -9.125000 -v -0.750000 0.875000 -9.125000 -v 0.750000 -2.125000 -8.875000 -v 1.000000 -2.125000 -8.875000 -v -1.000000 -2.125000 -8.875000 -v -0.750000 -2.125000 -8.875000 -v 0.750000 -2.125000 -9.125000 -v 1.000000 -2.125000 -9.125000 -v -1.000000 -2.125000 -9.125000 -v -0.750000 -2.125000 -9.125000 -v 0.750000 -2.375000 -8.875000 -v -0.750000 -2.375000 -8.875000 -v 0.750000 -2.375000 -9.125000 -v -0.750000 -2.375000 -9.125000 -v 0.500000 1.500000 2.000000 -v 0.500000 1.250000 2.000000 -v 0.500000 1.500000 0.625000 -v 0.500000 1.250000 0.625000 -v 0.750000 1.500000 2.000000 -v 0.750000 1.250000 2.000000 -v 0.750000 1.500000 0.875000 -v 0.750000 1.250000 0.875000 -v 0.500000 0.750000 2.000000 -v 0.500000 0.500000 2.000000 -v 0.500000 0.750000 0.625000 -v 0.500000 0.500000 0.625000 -v 0.750000 0.750000 2.000000 -v 0.750000 0.500000 2.000000 -v 0.750000 0.750000 0.875000 -v 0.750000 0.500000 0.875000 -v -0.500000 1.500000 2.000000 -v -0.500000 1.250000 2.000000 -v -0.500000 1.500000 0.625000 -v -0.500000 1.250000 0.625000 -v -0.750000 1.500000 2.000000 -v -0.750000 1.250000 2.000000 -v -0.750000 1.500000 0.875000 -v -0.750000 1.250000 0.875000 -v -0.500000 0.750000 2.000000 -v -0.500000 0.500000 2.000000 -v -0.500000 0.750000 0.625000 -v -0.500000 0.500000 0.625000 -v -0.750000 0.750000 2.000000 -v -0.750000 0.500000 2.000000 -v -0.750000 0.750000 0.875000 -v -0.750000 0.500000 0.875000 -v -1.000000 0.375000 -2.375000 -v -0.625000 0.000000 -2.375000 -v 0.625000 0.000000 -2.375000 -v 1.000000 0.375000 -2.375000 -v -0.625000 0.000000 -4.875000 -v -1.000000 0.375000 -4.875000 -v 1.000000 0.375000 -4.875000 -v 0.625000 0.000000 -4.875000 +vt 0.904382 0.187500 +vt 0.892430 0.246094 +vt 0.892430 0.191406 +vt 0.950199 0.875000 +vt 0.944223 0.933594 +vt 0.944223 0.878906 +vt 0.944223 0.816406 +vt 0.950199 0.871094 +vt 0.944223 0.871094 +vt 0.944223 0.753906 +vt 0.950199 0.808594 +vt 0.944223 0.808594 +vt 0.944223 0.691406 +vt 0.950199 0.746094 +vt 0.944223 0.746094 +vt 0.944223 0.628906 +vt 0.950199 0.683594 +vt 0.944223 0.683594 +vt 0.944223 0.566406 +vt 0.950199 0.621094 +vt 0.944223 0.621094 +vt 0.944223 0.503906 +vt 0.950199 0.558594 +vt 0.944223 0.558594 +vt 0.944223 0.441406 +vt 0.950199 0.496094 +vt 0.944223 0.496094 +vt 0.944223 0.378906 +vt 0.950199 0.433594 +vt 0.944223 0.433594 +vt 0.944223 0.316406 +vt 0.950199 0.371094 +vt 0.944223 0.371094 +vt 0.944223 0.253906 +vt 0.950199 0.308594 +vt 0.944223 0.308594 +vt 0.944223 0.191406 +vt 0.950199 0.246094 +vt 0.944223 0.246094 +vt 0.944223 0.183594 +vt 0.950199 0.125000 +vt 0.950199 0.183594 +vt 0.944223 0.121094 +vt 0.950199 0.062500 +vt 0.950199 0.121094 +vt 0.944223 0.058594 +vt 0.950199 0.000000 +vt 0.950199 0.058594 +vt 0.944223 0.996094 +vt 0.950199 0.937500 +vt 0.950199 0.996094 +vt 0.968127 0.937500 +vt 0.962151 0.996094 +vt 0.962151 0.937500 +vt 0.962151 0.933594 +vt 0.968127 0.875000 +vt 0.962151 0.812500 +vt 0.968127 0.812500 +vt 0.962151 0.808594 +vt 0.968127 0.750000 +vt 0.962151 0.687500 +vt 0.968127 0.687500 +vt 0.962151 0.625000 +vt 0.968127 0.625000 +vt 0.962151 0.562500 +vt 0.968127 0.562500 +vt 0.962151 0.500000 +vt 0.968127 0.500000 +vt 0.962151 0.437500 +vt 0.968127 0.437500 +vt 0.962151 0.375000 +vt 0.968127 0.375000 +vt 0.962151 0.312500 +vt 0.968127 0.312500 +vt 0.962151 0.250000 +vt 0.968127 0.250000 +vt 0.962151 0.246094 +vt 0.968127 0.187500 +vt 0.962151 0.183594 +vt 0.968127 0.125000 +vt 0.962151 0.121094 +vt 0.968127 0.062500 +vt 0.962151 0.058594 +vt 0.968127 -0.000000 +vt 0.904382 0.125000 +vt 0.892430 0.183594 +vt 0.892430 0.128906 +vt 0.904382 0.062500 +vt 0.892430 0.121094 +vt 0.892430 0.066406 +vt 0.904382 -0.000000 +vt 0.892430 0.058594 +vt 0.892430 0.003906 +vt 0.904382 0.937500 +vt 0.892430 0.996094 +vt 0.892430 0.941406 +vt 0.904382 0.875000 +vt 0.892430 0.933594 +vt 0.892430 0.878906 +vt 0.904382 0.812500 +vt 0.892430 0.871094 +vt 0.892430 0.816406 +vt 0.892430 0.753906 +vt 0.904382 0.750000 +vt 0.892430 0.691406 +vt 0.904382 0.687500 +vt 0.892430 0.628906 +vt 0.904382 0.625000 +vt 0.892430 0.566406 +vt 0.904382 0.562500 +vt 0.892430 0.503906 +vt 0.904382 0.500000 +vt 0.892430 0.441406 +vt 0.904382 0.437500 +vt 0.892430 0.378906 +vt 0.904382 0.375000 +vt 0.892430 0.316406 +vt 0.904382 0.312500 +vt 0.892430 0.253906 +vt 0.904382 0.250000 +vt 0.944223 0.191406 +vt 0.938247 0.246094 +vt 0.938247 0.187500 +vt 0.938247 0.125000 +vt 0.944223 0.183594 +vt 0.938247 0.183594 +vt 0.938295 0.062694 +vt 0.944223 0.121094 +vt 0.938247 0.121094 +vt 0.938247 0.000000 +vt 0.944223 0.058594 +vt 0.938295 0.058027 +vt 0.938247 0.937500 +vt 0.944223 0.996094 +vt 0.938247 0.996094 +vt 0.938247 0.875000 +vt 0.944223 0.933594 +vt 0.938247 0.933594 +vt 0.938247 0.812500 +vt 0.944223 0.871094 +vt 0.938247 0.871094 +vt 0.944223 0.753906 +vt 0.938247 0.808594 +vt 0.938247 0.750000 +vt 0.944223 0.691406 +vt 0.938247 0.746094 +vt 0.938247 0.687500 +vt 0.944223 0.628906 +vt 0.938247 0.683594 +vt 0.938247 0.625000 +vt 0.944223 0.566406 +vt 0.938247 0.621094 +vt 0.938247 0.562500 +vt 0.944223 0.503906 +vt 0.938247 0.558594 +vt 0.938247 0.500000 +vt 0.944223 0.441406 +vt 0.938247 0.496094 +vt 0.938247 0.437500 +vt 0.944223 0.378906 +vt 0.938247 0.433594 +vt 0.938247 0.375000 +vt 0.944223 0.316406 +vt 0.938247 0.371094 +vt 0.938247 0.312500 +vt 0.944223 0.253906 +vt 0.938247 0.308594 +vt 0.938247 0.250000 +vt 0.920319 0.187500 +vt 0.926295 0.246094 +vt 0.920319 0.250000 +vt 0.920319 0.312500 +vt 0.926295 0.250000 +vt 0.926295 0.308594 +vt 0.920319 0.375000 +vt 0.926295 0.312500 +vt 0.926295 0.371094 +vt 0.920319 0.437500 +vt 0.926295 0.375000 +vt 0.926295 0.433594 +vt 0.920319 0.500000 +vt 0.926295 0.437500 +vt 0.926295 0.496094 +vt 0.920319 0.562500 +vt 0.926295 0.500000 +vt 0.926295 0.558594 +vt 0.920319 0.625000 +vt 0.926295 0.562500 +vt 0.926295 0.621094 +vt 0.920319 0.687500 +vt 0.926295 0.625000 +vt 0.926295 0.683594 +vt 0.926295 0.746094 +vt 0.920319 0.750000 +vt 0.926295 0.808594 +vt 0.920319 0.812500 +vt 0.926295 0.871094 +vt 0.920319 0.875000 +vt 0.926295 0.933594 +vt 0.920319 0.937500 +vt 0.926295 0.996094 +vt 0.920319 1.000000 +vt 0.920319 -0.000000 +vt 0.926295 0.058594 +vt 0.920319 0.062500 +vt 0.926295 0.121094 +vt 0.920319 0.125000 +vt 0.926295 0.183594 +vt 0.730756 0.268904 +vt 0.815061 0.268904 +vt 0.815061 0.434221 +vt 0.772909 0.000291 +vt 0.832521 0.117188 +vt 0.772909 0.234084 +vt 0.730756 0.034529 +vt 0.815061 0.034529 +vt 0.815061 0.199846 +vt 0.772909 0.234666 +vt 0.832521 0.351562 +vt 0.772908 0.468459 +vt 0.996016 0.378906 +vt 0.984064 0.437500 +vt 0.984064 0.375000 +vt 0.996016 0.441406 +vt 0.984064 0.500000 +vt 0.996016 0.503906 +vt 0.984064 0.562500 +vt 0.996016 0.566406 +vt 0.984064 0.625000 +vt 0.996016 0.628906 +vt 0.984064 0.687500 +vt 0.996016 0.691406 +vt 0.984064 0.750000 +vt 0.996016 0.753906 +vt 0.984064 0.812500 +vt 0.996016 0.871094 +vt 0.984064 0.875000 +vt 0.996016 0.933594 +vt 0.984064 0.937500 +vt 0.996016 0.996094 +vt 0.984064 1.000000 +vt 0.984064 -0.000000 +vt 0.996016 0.058594 +vt 0.984064 0.062500 +vt 0.996016 0.121094 +vt 0.984064 0.125000 +vt 0.996016 0.183594 +vt 0.984064 0.187500 +vt 0.996016 0.191406 +vt 0.984064 0.250000 +vt 0.996016 0.253906 +vt 0.984064 0.312500 +vt 0.996016 0.316406 +vt 0.950199 0.933594 +vt 0.950199 0.812500 +vt 0.950199 0.750000 +vt 0.950199 0.687500 +vt 0.950199 0.625000 +vt 0.950199 0.562500 +vt 0.950199 0.500000 +vt 0.950199 0.437500 +vt 0.950199 0.375000 +vt 0.950199 0.312500 +vt 0.950199 0.250000 +vt 0.950199 0.187500 +vt 0.944223 0.128906 +vt 0.944223 0.066406 +vt 0.944223 0.003906 +vt 0.944223 0.941406 +vt 0.968127 1.000000 +vt 0.962151 0.875000 +vt 0.962151 0.871094 +vt 0.962151 0.750000 +vt 0.962151 0.746094 +vt 0.962151 0.683594 +vt 0.962151 0.621094 +vt 0.962151 0.558594 +vt 0.962151 0.496094 +vt 0.962151 0.433594 +vt 0.962151 0.371094 +vt 0.962151 0.308594 +vt 0.962151 0.187500 +vt 0.962151 0.125000 +vt 0.962151 0.062500 +vt 0.962151 0.000000 +vt 0.904382 1.000000 +vt 0.892430 0.808594 +vt 0.892430 0.746094 +vt 0.892430 0.683594 +vt 0.892430 0.621094 +vt 0.892430 0.558594 +vt 0.892430 0.496094 +vt 0.892430 0.433594 +vt 0.892430 0.371094 +vt 0.892430 0.308594 +vt 0.944223 0.246094 +vt 0.944223 0.128906 +vt 0.944223 0.066406 +vt 0.944223 0.003906 +vt 0.944223 0.941406 +vt 0.944223 0.878906 +vt 0.944223 0.816406 +vt 0.944223 0.808594 +vt 0.944223 0.746094 +vt 0.944223 0.683594 +vt 0.944223 0.621094 +vt 0.944223 0.558594 +vt 0.944223 0.496094 +vt 0.944223 0.433594 +vt 0.944223 0.371094 +vt 0.944223 0.308594 +vt 0.926295 0.187500 +vt 0.926295 0.687500 +vt 0.926295 0.750000 +vt 0.926295 0.812500 +vt 0.926295 0.875000 +vt 0.926295 0.937500 +vt 0.926295 0.000000 +vt 0.926295 0.062500 +vt 0.926295 0.125000 +vt 0.795721 0.459561 +vt 0.772908 0.468459 +vt 0.750096 0.459561 +vt 0.730756 0.434221 +vt 0.717834 0.396297 +vt 0.713296 0.351562 +vt 0.717834 0.306828 +vt 0.750096 0.243564 +vt 0.772908 0.234666 +vt 0.795721 0.243564 +vt 0.827983 0.306828 +vt 0.832521 0.351563 +vt 0.827983 0.396297 +vt 0.750096 0.225186 +vt 0.730756 0.199846 +vt 0.717834 0.161922 +vt 0.713296 0.117187 +vt 0.717834 0.072453 +vt 0.730756 0.034529 +vt 0.750096 0.009189 +vt 0.795721 0.009189 +vt 0.815061 0.034529 +vt 0.827984 0.072453 +vt 0.827983 0.161922 +vt 0.815061 0.199846 +vt 0.795721 0.225186 +vt 0.795721 0.225186 +vt 0.772909 0.234084 +vt 0.750096 0.225186 +vt 0.730756 0.199846 +vt 0.717834 0.161922 +vt 0.713296 0.117188 +vt 0.717834 0.072453 +vt 0.750096 0.009189 +vt 0.772909 0.000291 +vt 0.795721 0.009189 +vt 0.827984 0.072453 +vt 0.832521 0.117188 +vt 0.827983 0.161922 +vt 0.750096 0.459561 +vt 0.730756 0.434221 +vt 0.717834 0.396297 +vt 0.713296 0.351562 +vt 0.717834 0.306828 +vt 0.730756 0.268904 +vt 0.750096 0.243564 +vt 0.795721 0.243564 +vt 0.815061 0.268904 +vt 0.827983 0.306828 +vt 0.827983 0.396297 +vt 0.815061 0.434221 +vt 0.795721 0.459561 +vt 0.996016 0.433594 +vt 0.996016 0.496094 +vt 0.996016 0.558594 +vt 0.996016 0.621094 +vt 0.996016 0.683594 +vt 0.996016 0.746094 +vt 0.996016 0.808594 +vt 0.996016 0.816406 +vt 0.996016 0.878906 +vt 0.996016 0.941406 +vt 0.996016 0.003906 +vt 0.996016 0.066406 +vt 0.996016 0.128906 +vt 0.996016 0.246094 +vt 0.996016 0.308594 +vt 0.996016 0.371094 +vt 0.888446 0.566406 +vt 0.888446 0.441406 +vt 0.888446 0.628906 +vt 0.888446 0.691406 +vt 0.888446 0.753906 +vt 0.888446 0.816406 +vt 0.888446 0.878906 +vt 0.888446 0.941406 +vt 0.888446 0.003906 +vt 0.888446 0.066406 +vt 0.888446 0.128906 +vt 0.888446 0.191406 +vt 0.888446 0.253906 +vt 0.888446 0.371094 +vt 0.888446 0.316406 +vt 0.888446 0.503906 +vt 0.888446 0.378906 +vt 0.836653 0.609375 +vt 0.832669 0.562500 +vt 0.836653 0.562500 +vt 0.836653 0.234375 +vt 0.832669 0.187500 +vt 0.836653 0.187500 +vt 0.836653 0.656250 +vt 0.832669 0.609375 +vt 0.836653 0.281250 +vt 0.832669 0.234375 +vt 0.832669 0.703125 +vt 0.832669 0.656250 +vt 0.836653 0.328125 +vt 0.832669 0.281250 +vt 0.836653 0.750000 +vt 0.836653 0.703125 +vt 0.836653 0.421875 +vt 0.832669 0.375000 +vt 0.836653 0.375000 +vt 0.832669 0.328125 +vt 0.836653 0.046875 +vt 0.832669 0.000000 +vt 0.836653 0.000000 +vt 0.836653 0.468750 +vt 0.832669 0.421875 +vt 0.836653 0.093750 +vt 0.832669 0.046875 +vt 0.836653 0.515625 +vt 0.832669 0.468750 +vt 0.836653 0.140625 +vt 0.832669 0.093750 +vt 0.832669 0.515625 +vt 0.832669 0.140625 +vt 0.832669 0.140625 +vt 0.836653 0.187500 +vt 0.832669 0.187500 +vt 0.832669 0.515625 +vt 0.836653 0.562500 +vt 0.832669 0.562500 +vt 0.832669 0.093750 +vt 0.836653 0.140625 +vt 0.832669 0.468750 +vt 0.836653 0.515625 +vt 0.836653 0.046875 +vt 0.836653 0.093750 +vt 0.832669 0.421875 +vt 0.836653 0.468750 +vt 0.832669 0.000000 +vt 0.832669 0.046875 +vt 0.832669 0.328125 +vt 0.836653 0.375000 +vt 0.832669 0.375000 +vt 0.836653 0.421875 +vt 0.832669 0.703125 +vt 0.836653 0.750000 +vt 0.832669 0.750000 +vt 0.832669 0.281250 +vt 0.836653 0.328125 +vt 0.832669 0.656250 +vt 0.836653 0.703125 +vt 0.832669 0.234375 +vt 0.836653 0.281250 +vt 0.832669 0.609375 +vt 0.836653 0.656250 +vt 0.836653 0.234375 +vt 0.836653 0.609375 +vt 1.000000 0.621094 +vt 1.000000 0.566406 +vt 1.000000 0.441406 +vt 1.000000 0.683594 +vt 1.000000 0.628906 +vt 1.000000 0.746094 +vt 1.000000 0.691406 +vt 1.000000 0.808594 +vt 1.000000 0.753906 +vt 1.000000 0.871094 +vt 1.000000 0.816406 +vt 1.000000 0.933594 +vt 1.000000 0.878906 +vt 1.000000 0.996094 +vt 1.000000 0.941406 +vt 1.000000 0.058594 +vt 1.000000 0.003906 +vt 1.000000 0.121094 +vt 1.000000 0.066406 +vt 1.000000 0.183594 +vt 1.000000 0.128906 +vt 1.000000 0.246094 +vt 1.000000 0.191406 +vt 1.000000 0.308594 +vt 1.000000 0.253906 +vt 1.000000 0.316406 +vt 1.000000 0.558594 +vt 1.000000 0.503906 +vt 1.000000 0.378906 +vt 0.888446 0.621094 +vt 0.888446 0.496094 +vt 0.888446 0.683594 +vt 0.888446 0.746094 +vt 0.888446 0.808594 +vt 0.888446 0.871094 +vt 0.888446 0.933594 +vt 0.888446 0.996094 +vt 0.888446 0.058594 +vt 0.888446 0.121094 +vt 0.888446 0.183594 +vt 0.888446 0.246094 +vt 0.888446 0.308594 +vt 0.888446 0.558594 +vt 0.888446 0.433594 +vt 0.832669 0.750000 +vt 0.836653 0.000000 +vt 1.000000 0.496094 +vt 1.000000 0.371094 +vt 1.000000 0.433594 +vn 0.0000 -0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.9239 -0.3827 0.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.9239 0.3827 0.0000 +vn 0.9239 0.3827 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.3827 -0.9239 0.0000 +vn 0.3827 0.9239 0.0000 +vn -0.0000 -1.0000 0.0000 +vn -0.0000 1.0000 0.0000 +vn 0.3827 -0.9239 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.9239 -0.3827 0.0000 +s off +f 6/1/1 61/2/1 60/3/1 +f 26/4/1 232/5/1 231/6/1 +f 230/7/1 26/8/1 231/9/1 +f 229/10/1 25/11/1 230/12/1 +f 228/13/1 24/14/1 229/15/1 +f 227/16/1 23/17/1 228/18/1 +f 226/19/1 22/20/1 227/21/1 +f 225/22/1 21/23/1 226/24/1 +f 240/25/1 20/26/1 225/27/1 +f 239/28/1 19/29/1 240/30/1 +f 238/31/1 18/32/1 239/33/1 +f 237/34/1 17/35/1 238/36/1 +f 236/37/1 31/38/1 237/39/1 +f 236/40/1 30/41/1 32/42/1 +f 235/43/1 29/44/1 30/45/1 +f 234/46/1 28/47/1 29/48/1 +f 233/49/1 27/50/1 28/51/1 +f 202/52/1 44/53/1 43/54/1 +f 43/55/1 203/56/1 202/52/1 +f 203/56/1 41/57/1 204/58/1 +f 41/59/1 205/60/1 204/58/1 +f 205/60/1 39/61/1 206/62/1 +f 206/62/1 38/63/1 207/64/1 +f 207/64/1 37/65/1 208/66/1 +f 208/66/1 36/67/1 193/68/1 +f 193/68/1 35/69/1 194/70/1 +f 194/70/1 34/71/1 195/72/1 +f 195/72/1 33/73/1 196/74/1 +f 196/74/1 47/75/1 197/76/1 +f 47/77/1 198/78/1 197/76/1 +f 48/79/1 199/80/1 198/78/1 +f 46/81/1 200/82/1 199/80/1 +f 45/83/1 201/84/1 200/82/1 +f 7/85/1 60/86/1 59/87/1 +f 8/88/1 59/89/1 58/90/1 +f 9/91/1 58/92/1 57/93/1 +f 10/94/1 57/95/1 56/96/1 +f 11/97/1 56/98/1 55/99/1 +f 12/100/1 55/101/1 54/102/1 +f 12/100/1 53/103/1 13/104/1 +f 13/104/1 52/105/1 14/106/1 +f 14/106/1 51/107/1 15/108/1 +f 15/108/1 50/109/1 16/110/1 +f 16/110/1 49/111/1 1/112/1 +f 1/112/1 64/113/1 2/114/1 +f 2/114/1 63/115/1 3/116/1 +f 3/116/1 62/117/1 4/118/1 +f 4/118/1 61/119/1 5/120/1 +f 92/121/2 98/122/2 97/123/2 +f 99/124/2 92/125/2 97/126/2 +f 100/127/2 91/128/2 99/129/2 +f 101/130/2 90/131/2 100/132/2 +f 102/133/2 89/134/2 101/135/2 +f 103/136/2 88/137/2 102/138/2 +f 104/139/2 87/140/2 103/141/2 +f 85/142/2 104/143/2 105/144/2 +f 84/145/2 105/146/2 106/147/2 +f 83/148/2 106/149/2 107/150/2 +f 81/151/2 107/152/2 108/153/2 +f 82/154/2 108/155/2 109/156/2 +f 96/157/2 109/158/2 110/159/2 +f 95/160/2 110/161/2 111/162/2 +f 94/163/2 111/164/2 112/165/2 +f 93/166/2 112/167/2 98/168/2 +f 70/169/2 114/170/2 69/171/2 +f 68/172/2 114/173/2 128/174/2 +f 67/175/2 128/176/2 127/177/2 +f 65/178/2 127/179/2 126/180/2 +f 66/181/2 126/182/2 125/183/2 +f 80/184/2 125/185/2 124/186/2 +f 79/187/2 124/188/2 123/189/2 +f 78/190/2 123/191/2 122/192/2 +f 78/190/2 121/193/2 77/194/2 +f 77/194/2 120/195/2 76/196/2 +f 76/196/2 119/197/2 75/198/2 +f 75/198/2 118/199/2 74/200/2 +f 74/200/2 117/201/2 73/202/2 +f 73/203/2 116/204/2 72/205/2 +f 72/205/2 115/206/2 71/207/2 +f 71/207/2 113/208/2 70/169/2 +f 139/209/2 135/210/2 131/211/2 +f 153/212/1 157/213/1 146/214/1 +f 171/215/2 167/216/2 163/217/2 +f 185/218/1 189/219/1 178/220/1 +f 255/221/2 209/222/2 211/223/2 +f 256/224/2 210/225/2 209/222/2 +f 242/226/2 224/227/2 210/225/2 +f 241/228/2 223/229/2 224/227/2 +f 243/230/2 222/231/2 223/229/2 +f 244/232/2 221/233/2 222/231/2 +f 245/234/2 220/235/2 221/233/2 +f 220/235/2 247/236/2 219/237/2 +f 219/237/2 248/238/2 218/239/2 +f 218/239/2 249/240/2 217/241/2 +f 217/242/2 250/243/2 216/244/2 +f 216/244/2 251/245/2 215/246/2 +f 215/246/2 252/247/2 214/248/2 +f 252/249/2 213/250/2 214/248/2 +f 253/251/2 212/252/2 213/250/2 +f 254/253/2 211/223/2 212/252/2 +f 6/1/1 5/120/1 61/2/1 +f 26/4/1 27/254/1 232/5/1 +f 230/7/1 25/255/1 26/8/1 +f 229/10/1 24/256/1 25/11/1 +f 228/13/1 23/257/1 24/14/1 +f 227/16/1 22/258/1 23/17/1 +f 226/19/1 21/259/1 22/20/1 +f 225/22/1 20/260/1 21/23/1 +f 240/25/1 19/261/1 20/26/1 +f 239/28/1 18/262/1 19/29/1 +f 238/31/1 17/263/1 18/32/1 +f 237/34/1 31/264/1 17/35/1 +f 236/37/1 32/265/1 31/38/1 +f 236/40/1 235/266/1 30/41/1 +f 235/43/1 234/267/1 29/44/1 +f 234/46/1 233/268/1 28/47/1 +f 233/49/1 232/269/1 27/50/1 +f 202/52/1 201/270/1 44/53/1 +f 43/55/1 42/271/1 203/56/1 +f 203/56/1 42/272/1 41/57/1 +f 41/59/1 40/273/1 205/60/1 +f 205/60/1 40/274/1 39/61/1 +f 206/62/1 39/275/1 38/63/1 +f 207/64/1 38/276/1 37/65/1 +f 208/66/1 37/277/1 36/67/1 +f 193/68/1 36/278/1 35/69/1 +f 194/70/1 35/279/1 34/71/1 +f 195/72/1 34/280/1 33/73/1 +f 196/74/1 33/281/1 47/75/1 +f 47/77/1 48/282/1 198/78/1 +f 48/79/1 46/283/1 199/80/1 +f 46/81/1 45/284/1 200/82/1 +f 45/83/1 44/285/1 201/84/1 +f 7/85/1 6/1/1 60/86/1 +f 8/88/1 7/85/1 59/89/1 +f 9/91/1 8/88/1 58/92/1 +f 10/94/1 9/286/1 57/95/1 +f 11/97/1 10/94/1 56/98/1 +f 12/100/1 11/97/1 55/101/1 +f 12/100/1 54/287/1 53/103/1 +f 13/104/1 53/288/1 52/105/1 +f 14/106/1 52/289/1 51/107/1 +f 15/108/1 51/290/1 50/109/1 +f 16/110/1 50/291/1 49/111/1 +f 1/112/1 49/292/1 64/113/1 +f 2/114/1 64/293/1 63/115/1 +f 3/116/1 63/294/1 62/117/1 +f 4/118/1 62/295/1 61/119/1 +f 92/121/2 93/296/2 98/122/2 +f 99/124/2 91/297/2 92/125/2 +f 100/127/2 90/298/2 91/128/2 +f 101/130/2 89/299/2 90/131/2 +f 102/133/2 88/300/2 89/134/2 +f 103/136/2 87/301/2 88/137/2 +f 104/139/2 86/302/2 87/140/2 +f 85/142/2 86/303/2 104/143/2 +f 84/145/2 85/304/2 105/146/2 +f 83/148/2 84/305/2 106/149/2 +f 81/151/2 83/306/2 107/152/2 +f 82/154/2 81/307/2 108/155/2 +f 96/157/2 82/308/2 109/158/2 +f 95/160/2 96/309/2 110/161/2 +f 94/163/2 95/310/2 111/164/2 +f 93/166/2 94/311/2 112/167/2 +f 70/169/2 113/312/2 114/170/2 +f 68/172/2 69/171/2 114/173/2 +f 67/175/2 68/172/2 128/176/2 +f 65/178/2 67/175/2 127/179/2 +f 66/181/2 65/178/2 126/182/2 +f 80/184/2 66/181/2 125/185/2 +f 79/187/2 80/184/2 124/188/2 +f 78/190/2 79/187/2 123/191/2 +f 78/190/2 122/313/2 121/193/2 +f 77/194/2 121/314/2 120/195/2 +f 76/196/2 120/315/2 119/197/2 +f 75/198/2 119/316/2 118/199/2 +f 74/200/2 118/317/2 117/201/2 +f 73/203/2 117/318/2 116/204/2 +f 72/205/2 116/319/2 115/206/2 +f 71/207/2 115/320/2 113/208/2 +f 131/211/2 130/321/2 129/322/2 +f 129/322/2 144/323/2 131/211/2 +f 144/323/2 143/324/2 131/211/2 +f 143/324/2 142/325/2 139/209/2 +f 142/325/2 141/326/2 139/209/2 +f 141/326/2 140/327/2 139/209/2 +f 139/209/2 138/328/2 135/210/2 +f 138/328/2 137/329/2 135/210/2 +f 137/329/2 136/330/2 135/210/2 +f 135/210/2 134/331/2 131/211/2 +f 134/331/2 133/332/2 131/211/2 +f 133/332/2 132/333/2 131/211/2 +f 131/211/2 143/324/2 139/209/2 +f 146/214/1 145/334/1 147/335/1 +f 147/335/1 148/336/1 149/337/1 +f 149/337/1 150/338/1 151/339/1 +f 151/339/1 152/340/1 153/212/1 +f 153/212/1 154/341/1 157/213/1 +f 154/341/1 155/342/1 157/213/1 +f 155/342/1 156/343/1 157/213/1 +f 157/213/1 158/344/1 159/345/1 +f 159/345/1 160/346/1 157/213/1 +f 160/346/1 146/214/1 157/213/1 +f 146/214/1 147/335/1 149/337/1 +f 149/337/1 151/339/1 146/214/1 +f 151/339/1 153/212/1 146/214/1 +f 163/217/2 162/347/2 161/348/2 +f 161/348/2 176/349/2 163/217/2 +f 176/349/2 175/350/2 163/217/2 +f 175/350/2 174/351/2 171/215/2 +f 174/351/2 173/352/2 171/215/2 +f 173/352/2 172/353/2 171/215/2 +f 171/215/2 170/354/2 167/216/2 +f 170/354/2 169/355/2 167/216/2 +f 169/355/2 168/356/2 167/216/2 +f 167/216/2 166/357/2 163/217/2 +f 166/357/2 165/358/2 163/217/2 +f 165/358/2 164/359/2 163/217/2 +f 163/217/2 175/350/2 171/215/2 +f 178/220/1 177/360/1 179/361/1 +f 179/361/1 180/362/1 181/363/1 +f 181/363/1 182/364/1 183/365/1 +f 183/365/1 184/366/1 185/218/1 +f 185/218/1 186/367/1 187/368/1 +f 187/368/1 188/369/1 189/219/1 +f 189/219/1 190/370/1 191/371/1 +f 191/371/1 192/372/1 189/219/1 +f 192/372/1 178/220/1 189/219/1 +f 178/220/1 179/361/1 181/363/1 +f 181/363/1 183/365/1 178/220/1 +f 183/365/1 185/218/1 178/220/1 +f 185/218/1 187/368/1 189/219/1 +f 255/221/2 256/373/2 209/222/2 +f 256/224/2 242/374/2 210/225/2 +f 242/226/2 241/375/2 224/227/2 +f 241/228/2 243/376/2 223/229/2 +f 243/230/2 244/377/2 222/231/2 +f 244/232/2 245/378/2 221/233/2 +f 245/234/2 246/379/2 220/235/2 +f 220/235/2 246/380/2 247/236/2 +f 219/237/2 247/381/2 248/238/2 +f 218/239/2 248/382/2 249/240/2 +f 217/242/2 249/383/2 250/243/2 +f 216/244/2 250/384/2 251/245/2 +f 215/246/2 251/385/2 252/247/2 +f 252/249/2 253/386/2 213/250/2 +f 253/251/2 254/387/2 212/252/2 +f 254/253/2 255/388/2 211/223/2 +s 1 +f 33/281/3 31/264/4 47/75/4 +f 47/77/4 32/265/5 48/282/5 +f 41/59/6 24/256/7 40/273/7 +f 34/280/8 17/263/3 33/73/3 +f 42/272/9 25/255/6 41/57/6 +f 35/279/10 18/262/8 34/71/8 +f 43/55/11 26/4/9 42/271/9 +f 36/278/12 19/261/10 35/69/10 +f 44/53/13 27/50/11 43/54/11 +f 37/277/14 20/260/12 36/67/12 +f 45/83/15 28/47/13 44/285/13 +f 38/276/16 21/259/14 37/65/14 +f 46/81/17 29/44/15 45/284/15 +f 39/275/18 22/258/16 38/63/16 +f 48/79/5 30/41/17 46/283/17 +f 40/274/7 23/257/18 39/61/18 +f 6/1/18 71/207/16 70/169/18 +f 51/290/16 81/389/14 50/109/14 +f 49/292/12 96/390/10 64/113/10 +f 8/88/14 71/207/16 7/85/16 +f 52/289/18 83/391/16 51/107/16 +f 9/91/12 72/205/14 8/88/14 +f 53/288/7 84/392/18 52/105/18 +f 10/94/10 73/202/12 9/286/12 +f 54/287/6 85/393/7 53/103/7 +f 11/97/8 74/200/10 10/94/10 +f 55/101/9 86/394/6 54/102/6 +f 12/100/3 75/198/8 11/97/8 +f 56/98/11 87/395/9 55/99/9 +f 13/104/4 76/196/3 12/100/3 +f 57/95/13 88/396/11 56/96/11 +f 14/106/5 77/194/4 13/104/4 +f 58/92/15 89/397/13 57/93/13 +f 14/106/5 79/187/17 78/190/5 +f 59/89/17 90/398/15 58/90/15 +f 1/112/13 65/178/11 66/181/13 +f 16/110/15 79/187/17 15/108/17 +f 60/86/5 91/399/17 59/87/17 +f 2/114/11 67/175/9 65/178/11 +f 1/112/13 80/184/15 16/110/15 +f 61/2/4 92/400/5 60/3/5 +f 4/118/6 67/175/9 3/116/9 +f 62/295/3 93/401/4 61/119/4 +f 5/120/7 68/172/6 4/118/6 +f 62/117/3 95/402/8 94/403/3 +f 6/1/18 69/171/7 5/120/7 +f 50/291/14 82/404/12 49/111/12 +f 64/293/10 95/405/8 63/115/8 +f 105/146/7 122/313/18 106/147/18 +f 97/126/5 115/320/17 99/124/17 +f 106/149/18 123/191/16 107/150/16 +f 99/129/17 116/319/15 100/127/15 +f 107/152/16 124/188/14 108/153/14 +f 100/132/15 117/318/13 101/130/13 +f 108/155/14 125/185/12 109/156/12 +f 101/135/13 118/317/11 102/133/11 +f 109/158/12 126/182/10 110/159/10 +f 102/138/11 119/316/9 103/136/9 +f 110/161/10 127/179/8 111/162/8 +f 103/141/9 120/315/6 104/139/6 +f 111/164/8 128/176/3 112/165/3 +f 104/143/6 121/314/7 105/144/7 +f 98/122/4 113/312/5 97/123/5 +f 112/167/3 114/173/4 98/168/4 +f 134/406/3 149/407/4 133/408/4 +f 142/409/6 157/410/7 141/411/7 +f 135/412/8 150/413/3 134/406/3 +f 143/414/9 158/415/6 142/409/6 +f 135/412/8 152/416/10 151/417/8 +f 144/418/11 159/419/9 143/414/9 +f 137/420/12 152/416/10 136/421/10 +f 130/422/15 146/423/13 129/424/13 +f 129/424/13 160/425/11 144/418/11 +f 138/426/14 153/427/12 137/428/12 +f 131/429/17 145/430/15 130/422/15 +f 139/431/16 154/432/14 138/426/14 +f 132/433/5 147/434/17 131/429/17 +f 140/435/18 155/436/16 139/431/16 +f 133/408/4 148/437/5 132/433/5 +f 141/411/7 156/438/18 140/435/18 +f 166/439/3 181/440/4 165/441/4 +f 174/442/6 189/443/7 173/444/7 +f 167/445/8 182/446/3 166/439/3 +f 175/447/9 190/448/6 174/442/6 +f 167/445/8 184/449/10 183/450/8 +f 176/451/11 191/452/9 175/447/9 +f 169/453/12 184/449/10 168/454/10 +f 162/455/15 178/456/13 161/457/13 +f 161/457/13 192/458/11 176/451/11 +f 170/459/14 185/460/12 169/461/12 +f 163/462/17 177/463/15 162/455/15 +f 171/464/16 186/465/14 170/459/14 +f 164/466/5 179/467/17 163/462/17 +f 172/468/18 187/469/16 171/464/16 +f 165/441/4 180/470/5 164/466/5 +f 173/444/7 188/471/18 172/468/18 +f 198/78/18 215/246/16 214/248/18 +f 200/82/14 215/246/16 199/80/16 +f 201/84/12 216/244/14 200/82/14 +f 202/52/10 217/241/12 201/270/12 +f 203/56/8 218/239/10 202/52/10 +f 204/58/3 219/237/8 203/56/8 +f 205/60/4 220/235/3 204/58/3 +f 206/62/5 221/233/4 205/60/4 +f 206/62/5 223/229/17 222/231/5 +f 194/70/11 210/225/13 193/68/13 +f 208/66/15 223/229/17 207/64/17 +f 194/70/11 211/223/9 209/222/11 +f 193/68/13 224/227/15 208/66/15 +f 196/74/6 211/223/9 195/72/9 +f 197/76/7 212/252/6 196/74/6 +f 198/78/18 213/250/7 197/76/7 +f 227/472/16 241/228/14 226/473/14 +f 240/474/10 242/374/12 256/224/10 +f 228/475/18 243/230/16 227/476/16 +f 229/477/7 244/232/18 228/478/18 +f 230/479/6 245/234/7 229/480/7 +f 231/481/9 246/380/6 230/482/6 +f 232/483/11 247/381/9 231/484/9 +f 233/485/13 248/382/11 232/486/11 +f 234/487/15 249/383/13 233/488/13 +f 235/489/17 250/384/15 234/490/15 +f 236/491/5 251/385/17 235/492/17 +f 237/493/4 252/249/5 236/494/5 +f 238/495/3 253/251/4 237/496/4 +f 238/497/3 255/388/8 254/253/3 +f 226/498/14 242/226/12 225/499/12 +f 239/500/8 256/373/10 255/221/8 +f 33/281/3 17/35/3 31/264/4 +f 47/77/4 31/38/4 32/265/5 +f 41/59/6 25/11/6 24/256/7 +f 34/280/8 18/32/8 17/263/3 +f 42/272/9 26/8/9 25/255/6 +f 35/279/10 19/29/10 18/262/8 +f 43/55/11 27/254/11 26/4/9 +f 36/278/12 20/26/12 19/261/10 +f 44/53/13 28/51/13 27/50/11 +f 37/277/14 21/23/14 20/260/12 +f 45/83/15 29/48/15 28/47/13 +f 38/276/16 22/20/16 21/259/14 +f 46/81/17 30/45/17 29/44/15 +f 39/275/18 23/17/18 22/258/16 +f 48/79/5 32/42/5 30/41/17 +f 40/274/7 24/14/7 23/257/18 +f 6/1/18 7/85/16 71/207/16 +f 51/290/16 83/501/16 81/389/14 +f 49/292/12 82/502/12 96/390/10 +f 8/88/14 72/205/14 71/207/16 +f 52/289/18 84/503/18 83/391/16 +f 9/91/12 73/203/12 72/205/14 +f 53/288/7 85/504/7 84/392/18 +f 10/94/10 74/200/10 73/202/12 +f 54/287/6 86/505/6 85/393/7 +f 11/97/8 75/198/8 74/200/10 +f 55/101/9 87/506/9 86/394/6 +f 12/100/3 76/196/3 75/198/8 +f 56/98/11 88/507/11 87/395/9 +f 13/104/4 77/194/4 76/196/3 +f 57/95/13 89/508/13 88/396/11 +f 14/106/5 78/190/5 77/194/4 +f 58/92/15 90/509/15 89/397/13 +f 14/106/5 15/108/17 79/187/17 +f 59/89/17 91/510/17 90/398/15 +f 1/112/13 2/114/11 65/178/11 +f 16/110/15 80/184/15 79/187/17 +f 60/86/5 92/511/5 91/399/17 +f 2/114/11 3/116/9 67/175/9 +f 1/112/13 66/181/13 80/184/15 +f 61/2/4 93/512/4 92/400/5 +f 4/118/6 68/172/6 67/175/9 +f 62/295/3 94/513/3 93/401/4 +f 5/120/7 69/171/7 68/172/6 +f 62/117/3 63/294/8 95/402/8 +f 6/1/18 70/169/18 69/171/7 +f 50/291/14 81/514/14 82/404/12 +f 64/293/10 96/515/10 95/405/8 +f 105/146/7 121/193/7 122/313/18 +f 97/126/5 113/208/5 115/320/17 +f 106/149/18 122/192/18 123/191/16 +f 99/129/17 115/206/17 116/319/15 +f 107/152/16 123/189/16 124/188/14 +f 100/132/15 116/204/15 117/318/13 +f 108/155/14 124/186/14 125/185/12 +f 101/135/13 117/201/13 118/317/11 +f 109/158/12 125/183/12 126/182/10 +f 102/138/11 118/199/11 119/316/9 +f 110/161/10 126/180/10 127/179/8 +f 103/141/9 119/197/9 120/315/6 +f 111/164/8 127/177/8 128/176/3 +f 104/143/6 120/195/6 121/314/7 +f 98/122/4 114/170/4 113/312/5 +f 112/167/3 128/174/3 114/173/4 +f 134/406/3 150/413/3 149/407/4 +f 142/409/6 158/415/6 157/410/7 +f 135/412/8 151/417/8 150/413/3 +f 143/414/9 159/419/9 158/415/6 +f 135/412/8 136/421/10 152/416/10 +f 144/418/11 160/425/11 159/419/9 +f 137/420/12 153/516/12 152/416/10 +f 130/422/15 145/430/15 146/423/13 +f 129/424/13 146/423/13 160/425/11 +f 138/426/14 154/432/14 153/427/12 +f 131/429/17 147/434/17 145/430/15 +f 139/431/16 155/436/16 154/432/14 +f 132/433/5 148/437/5 147/434/17 +f 140/435/18 156/438/18 155/436/16 +f 133/408/4 149/407/4 148/437/5 +f 141/411/7 157/410/7 156/438/18 +f 166/439/3 182/446/3 181/440/4 +f 174/442/6 190/448/6 189/443/7 +f 167/445/8 183/450/8 182/446/3 +f 175/447/9 191/452/9 190/448/6 +f 167/445/8 168/454/10 184/449/10 +f 176/451/11 192/458/11 191/452/9 +f 169/453/12 185/517/12 184/449/10 +f 162/455/15 177/463/15 178/456/13 +f 161/457/13 178/456/13 192/458/11 +f 170/459/14 186/465/14 185/460/12 +f 163/462/17 179/467/17 177/463/15 +f 171/464/16 187/469/16 186/465/14 +f 164/466/5 180/470/5 179/467/17 +f 172/468/18 188/471/18 187/469/16 +f 165/441/4 181/440/4 180/470/5 +f 173/444/7 189/443/7 188/471/18 +f 198/78/18 199/80/16 215/246/16 +f 200/82/14 216/244/14 215/246/16 +f 201/84/12 217/242/12 216/244/14 +f 202/52/10 218/239/10 217/241/12 +f 203/56/8 219/237/8 218/239/10 +f 204/58/3 220/235/3 219/237/8 +f 205/60/4 221/233/4 220/235/3 +f 206/62/5 222/231/5 221/233/4 +f 206/62/5 207/64/17 223/229/17 +f 194/70/11 209/222/11 210/225/13 +f 208/66/15 224/227/15 223/229/17 +f 194/70/11 195/72/9 211/223/9 +f 193/68/13 210/225/13 224/227/15 +f 196/74/6 212/252/6 211/223/9 +f 197/76/7 213/250/7 212/252/6 +f 198/78/18 214/248/18 213/250/7 +f 227/472/16 243/376/16 241/228/14 +f 240/474/10 225/518/12 242/374/12 +f 228/475/18 244/377/18 243/230/16 +f 229/477/7 245/378/7 244/232/18 +f 230/479/6 246/379/6 245/234/7 +f 231/481/9 247/236/9 246/380/6 +f 232/483/11 248/238/11 247/381/9 +f 233/485/13 249/240/13 248/382/11 +f 234/487/15 250/243/15 249/383/13 +f 235/489/17 251/245/17 250/384/15 +f 236/491/5 252/247/5 251/385/17 +f 237/493/4 253/386/4 252/249/5 +f 238/495/3 254/387/3 253/251/4 +f 238/497/3 239/519/8 255/388/8 +f 226/498/14 241/375/14 242/226/12 +f 239/500/8 240/520/10 256/373/10 +o Shells +v 0.000000 1.250000 0.375000 +v -0.176777 1.176777 0.375000 +v -0.250000 1.000000 0.375000 +v -0.176777 0.823223 0.375000 +v 0.000000 0.750000 0.375000 +v 0.176777 0.823223 0.375000 +v 0.250000 1.000000 0.375000 +v 0.176777 1.176777 0.375000 +v 0.000000 1.250000 -1.125000 +v -0.176777 1.176777 -1.125000 +v -0.250000 1.000000 -1.125000 +v -0.176777 0.823223 -1.125000 +v 0.000000 0.750000 -1.125000 +v 0.176777 0.823223 -1.125000 +v 0.250000 1.000000 -1.125000 +v 0.176777 1.176777 -1.125000 +v 0.000000 1.312500 -1.125000 +v -0.220971 1.220971 -1.125000 +v -0.312500 1.000000 -1.125000 +v -0.220971 0.779029 -1.125000 +v 0.000000 0.687500 -1.125000 +v 0.220971 0.779029 -1.125000 +v 0.312500 1.000000 -1.125000 +v 0.220971 1.220971 -1.125000 +v 0.000000 1.312500 -1.250000 +v -0.220971 1.220971 -1.250000 +v -0.312500 1.000000 -1.250000 +v -0.220971 0.779029 -1.250000 +v 0.000000 0.687500 -1.250000 +v 0.220971 0.779029 -1.250000 +v 0.312500 1.000000 -1.250000 +v 0.220971 1.220971 -1.250000 +v 0.000000 0.750000 0.375000 +v -0.669696 0.616789 0.375000 +v -1.237437 0.237437 0.375000 +v -1.616789 -0.330304 0.375000 +v -1.750000 -1.000000 0.375000 +v -1.616789 -1.669696 0.375000 +v -1.237437 -2.237437 0.375000 +v -0.669696 -2.616789 0.375000 +v -0.000000 -2.750000 0.375000 +v 0.669696 -2.616789 0.375000 +v 1.237436 -2.237437 0.375000 +v 1.616789 -1.669696 0.375000 +v 1.750000 -1.000000 0.375000 +v 1.616789 -0.330304 0.375000 +v 1.237436 0.237437 0.375000 +v 0.669695 0.616789 0.375000 +v 0.000000 0.750000 -1.250000 +v -0.669696 0.616789 -1.250000 +v -1.237437 0.237437 -1.250000 +v -1.616789 -0.330304 -1.250000 +v -1.750000 -1.000000 -1.250000 +v -1.616789 -1.669696 -1.250000 +v -1.237437 -2.237437 -1.250000 +v -0.669696 -2.616789 -1.250000 +v -0.000000 -2.750000 -1.250000 +v 0.669696 -2.616789 -1.250000 +v 1.237436 -2.237437 -1.250000 +v 1.616789 -1.669696 -1.250000 +v 1.750000 -1.000000 -1.250000 +v 1.616789 -0.330304 -1.250000 +v 1.237436 0.237437 -1.250000 +v 0.669695 0.616789 -1.250000 v 0.695288 1.139877 0.375000 v 0.504536 1.124865 0.375000 v 0.380270 0.979367 0.375000 @@ -1197,6 +1974,2641 @@ v -0.521466 0.604908 -1.250000 v -0.339594 0.760242 -1.250000 v -0.320828 0.998681 -1.250000 v -0.476162 1.180553 -1.250000 +vt 0.770916 0.468772 +vt 0.778873 0.484375 +vt 0.770916 0.499978 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.515625 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.828685 0.468750 +vt 0.826693 0.480469 +vt 0.826693 0.468750 +vt 0.775907 0.505839 +vt 0.778799 0.519531 +vt 0.759050 0.519531 +vt 0.888446 0.273438 +vt 0.836653 0.312500 +vt 0.836653 0.273438 +vt 0.888446 0.000000 +vt 0.836653 0.039062 +vt 0.836653 0.000000 +vt 0.888446 0.351562 +vt 0.836653 0.390625 +vt 0.836653 0.351562 +vt 0.888446 0.039062 +vt 0.836653 0.078125 +vt 0.888446 0.390625 +vt 0.836653 0.429688 +vt 0.888446 0.117188 +vt 0.836653 0.117188 +vt 0.888446 0.429688 +vt 0.836653 0.468750 +vt 0.836653 0.156250 +vt 0.888446 0.468750 +vt 0.836653 0.507812 +vt 0.888446 0.156250 +vt 0.836653 0.195312 +vt 0.888446 0.507812 +vt 0.836653 0.546875 +vt 0.888446 0.234375 +vt 0.836653 0.234375 +vt 0.888446 0.546875 +vt 0.836653 0.585938 +vt 0.888446 0.585938 +vt 0.836653 0.625000 +vt 0.888446 0.312500 +vt 0.770916 0.468772 +vt 0.778873 0.484375 +vt 0.770916 0.499978 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.515625 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.828685 0.468750 +vt 0.826693 0.480469 +vt 0.826693 0.468750 +vt 0.768925 0.538894 +vt 0.759050 0.519531 +vt 0.768925 0.500168 +vt 0.770916 0.468772 +vt 0.778873 0.484375 +vt 0.770916 0.499978 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.515625 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.828685 0.468750 +vt 0.826693 0.480469 +vt 0.826693 0.468750 +vt 0.828685 0.480469 +vt 0.775907 0.505839 +vt 0.778799 0.519531 +vt 0.759050 0.519531 +vt 0.762959 0.484375 +vt 0.770916 0.468772 +vt 0.778873 0.484375 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.515625 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.828685 0.468750 +vt 0.826693 0.480469 +vt 0.826693 0.468750 +vt 0.828685 0.480469 +vt 0.775907 0.505839 +vt 0.778799 0.519531 +vt 0.759050 0.519531 +vt 0.762959 0.484375 +vt 0.770916 0.468772 +vt 0.778873 0.484375 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.515625 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.826693 0.468750 +vt 0.828685 0.480469 +vt 0.826693 0.480469 +vt 0.775907 0.505839 +vt 0.778799 0.519531 +vt 0.759050 0.519531 +vt 0.762959 0.484375 +vt 0.770916 0.468772 +vt 0.778873 0.484375 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.515625 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.826693 0.468750 +vt 0.828685 0.480469 +vt 0.826693 0.480469 +vt 0.778799 0.519531 +vt 0.768925 0.538894 +vt 0.759050 0.519531 +vt 0.770916 0.468772 +vt 0.778873 0.484375 +vt 0.770916 0.499978 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.515625 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.828685 0.468750 +vt 0.826693 0.480469 +vt 0.826693 0.468750 +vt 0.778799 0.519531 +vt 0.768925 0.538894 +vt 0.759050 0.519531 +vt 0.770916 0.499978 +vt 0.762959 0.484375 +vt 0.770916 0.468772 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.515625 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.826693 0.468750 +vt 0.828685 0.480469 +vt 0.826693 0.480469 +vt 0.775907 0.505839 +vt 0.778799 0.519531 +vt 0.759050 0.519531 +vt 0.762959 0.484375 +vt 0.770916 0.468772 +vt 0.778873 0.484375 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.515625 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.828685 0.468750 +vt 0.826693 0.480469 +vt 0.826693 0.468750 +vt 0.828685 0.480469 +vt 0.778799 0.519531 +vt 0.768925 0.538894 +vt 0.759050 0.519531 +vt 0.762959 0.484375 +vt 0.770916 0.468772 +vt 0.778873 0.484375 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.515625 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.828685 0.468750 +vt 0.826693 0.480469 +vt 0.826693 0.468750 +vt 0.775907 0.505839 +vt 0.778799 0.519531 +vt 0.759050 0.519531 +vt 0.778873 0.484375 +vt 0.776543 0.495408 +vt 0.770916 0.499978 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.515625 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.826693 0.468750 +vt 0.828685 0.480469 +vt 0.826693 0.480469 +vt 0.778799 0.519531 +vt 0.768925 0.538894 +vt 0.759050 0.519531 +vt 0.770916 0.468772 +vt 0.778873 0.484375 +vt 0.770916 0.499978 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.515625 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.826693 0.468750 +vt 0.828685 0.480469 +vt 0.826693 0.480469 +vt 0.778799 0.519531 +vt 0.768925 0.538894 +vt 0.759050 0.519531 +vt 0.770916 0.499978 +vt 0.762959 0.484375 +vt 0.770916 0.468772 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.515625 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.826693 0.468750 +vt 0.828685 0.480469 +vt 0.826693 0.480469 +vt 0.775907 0.505839 +vt 0.778799 0.519531 +vt 0.759050 0.519531 +vt 0.770916 0.499978 +vt 0.762959 0.484375 +vt 0.770916 0.468772 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.515625 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.828685 0.468750 +vt 0.826693 0.480469 +vt 0.826693 0.468750 +vt 0.828685 0.480469 +vt 0.778799 0.519531 +vt 0.768925 0.538894 +vt 0.759050 0.519531 +vt 0.762959 0.484375 +vt 0.770916 0.468772 +vt 0.778873 0.484375 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.515625 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.828685 0.468750 +vt 0.826693 0.480469 +vt 0.826693 0.468750 +vt 0.775907 0.505839 +vt 0.778799 0.519531 +vt 0.759050 0.519531 +vt 0.762959 0.484375 +vt 0.770916 0.468772 +vt 0.778873 0.484375 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.515625 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.826693 0.468750 +vt 0.828685 0.480469 +vt 0.826693 0.480469 +vt 0.778799 0.519531 +vt 0.768925 0.538894 +vt 0.759050 0.519531 +vt 0.770916 0.468772 +vt 0.778873 0.484375 +vt 0.770916 0.499978 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.515625 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.826693 0.468750 +vt 0.828685 0.480469 +vt 0.826693 0.480469 +vt 0.778799 0.519531 +vt 0.768925 0.538894 +vt 0.759050 0.519531 +vt 0.770916 0.499978 +vt 0.762959 0.484375 +vt 0.770916 0.468772 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.515625 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.826693 0.468750 +vt 0.828685 0.480469 +vt 0.826693 0.480469 +vt 0.768925 0.500168 +vt 0.775907 0.505839 +vt 0.778799 0.519531 +vt 0.762959 0.484375 +vt 0.770916 0.468772 +vt 0.778873 0.484375 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.515625 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.828685 0.468750 +vt 0.826693 0.480469 +vt 0.826693 0.468750 +vt 0.828685 0.480469 +vt 0.778799 0.519531 +vt 0.768925 0.538894 +vt 0.759050 0.519531 +vt 0.762959 0.484375 +vt 0.770916 0.468772 +vt 0.778873 0.484375 +vt 0.828685 0.492188 +vt 0.826693 0.503906 +vt 0.826693 0.492188 +vt 0.828685 0.503906 +vt 0.826693 0.515625 +vt 0.828685 0.527344 +vt 0.826693 0.527344 +vt 0.828685 0.539062 +vt 0.826693 0.539062 +vt 0.826693 0.550781 +vt 0.828685 0.550781 +vt 0.826693 0.562500 +vt 0.828685 0.468750 +vt 0.826693 0.480469 +vt 0.826693 0.468750 +vt 0.775907 0.505839 +vt 0.778799 0.519531 +vt 0.759050 0.519531 +vt 0.765290 0.495408 +vt 0.762959 0.484375 +vt 0.765290 0.473342 +vt 0.776543 0.473342 +vt 0.776543 0.495408 +vt 0.828685 0.503906 +vt 0.828685 0.562500 +vt 0.828685 0.480469 +vt 0.775907 0.533223 +vt 0.768925 0.538894 +vt 0.761942 0.533223 +vt 0.761942 0.505839 +vt 0.768925 0.500168 +vt 0.888446 0.078125 +vt 0.888446 0.195312 +vt 0.888446 0.625000 +vt 0.765290 0.495408 +vt 0.762959 0.484375 +vt 0.765290 0.473342 +vt 0.776543 0.473342 +vt 0.776543 0.495408 +vt 0.828685 0.503906 +vt 0.828685 0.562500 +vt 0.828685 0.480469 +vt 0.778799 0.519531 +vt 0.775907 0.533223 +vt 0.761942 0.533223 +vt 0.761942 0.505839 +vt 0.775907 0.505839 +vt 0.765290 0.495408 +vt 0.762959 0.484375 +vt 0.765290 0.473342 +vt 0.776543 0.473342 +vt 0.776543 0.495408 +vt 0.828685 0.503906 +vt 0.828685 0.562500 +vt 0.775907 0.533223 +vt 0.768925 0.538894 +vt 0.761942 0.533223 +vt 0.761942 0.505839 +vt 0.768925 0.500168 +vt 0.770916 0.499978 +vt 0.765290 0.495408 +vt 0.765290 0.473342 +vt 0.776543 0.473342 +vt 0.776543 0.495408 +vt 0.828685 0.503906 +vt 0.828685 0.562500 +vt 0.775907 0.533223 +vt 0.768925 0.538894 +vt 0.761942 0.533223 +vt 0.761942 0.505839 +vt 0.768925 0.500168 +vt 0.770916 0.499978 +vt 0.765290 0.495408 +vt 0.765290 0.473342 +vt 0.776543 0.473342 +vt 0.776543 0.495408 +vt 0.828685 0.503906 +vt 0.828685 0.562500 +vt 0.828685 0.468750 +vt 0.775907 0.533223 +vt 0.768925 0.538894 +vt 0.761942 0.533223 +vt 0.761942 0.505839 +vt 0.768925 0.500168 +vt 0.770916 0.499978 +vt 0.765290 0.495408 +vt 0.765290 0.473342 +vt 0.776543 0.473342 +vt 0.776543 0.495408 +vt 0.828685 0.503906 +vt 0.828685 0.562500 +vt 0.828685 0.468750 +vt 0.775907 0.533223 +vt 0.761942 0.533223 +vt 0.761942 0.505839 +vt 0.768925 0.500168 +vt 0.775907 0.505839 +vt 0.765290 0.495408 +vt 0.762959 0.484375 +vt 0.765290 0.473342 +vt 0.776543 0.473342 +vt 0.776543 0.495408 +vt 0.828685 0.503906 +vt 0.828685 0.562500 +vt 0.828685 0.480469 +vt 0.775907 0.533223 +vt 0.761942 0.533223 +vt 0.761942 0.505839 +vt 0.768925 0.500168 +vt 0.775907 0.505839 +vt 0.765290 0.495408 +vt 0.765290 0.473342 +vt 0.776543 0.473342 +vt 0.778873 0.484375 +vt 0.776543 0.495408 +vt 0.828685 0.503906 +vt 0.828685 0.562500 +vt 0.828685 0.468750 +vt 0.775907 0.533223 +vt 0.768925 0.538894 +vt 0.761942 0.533223 +vt 0.761942 0.505839 +vt 0.768925 0.500168 +vt 0.770916 0.499978 +vt 0.765290 0.495408 +vt 0.765290 0.473342 +vt 0.776543 0.473342 +vt 0.776543 0.495408 +vt 0.828685 0.503906 +vt 0.828685 0.562500 +vt 0.775907 0.533223 +vt 0.761942 0.533223 +vt 0.761942 0.505839 +vt 0.768925 0.500168 +vt 0.775907 0.505839 +vt 0.770916 0.499978 +vt 0.765290 0.495408 +vt 0.765290 0.473342 +vt 0.776543 0.473342 +vt 0.776543 0.495408 +vt 0.828685 0.503906 +vt 0.828685 0.562500 +vt 0.828685 0.480469 +vt 0.775907 0.533223 +vt 0.768925 0.538894 +vt 0.761942 0.533223 +vt 0.761942 0.505839 +vt 0.768925 0.500168 +vt 0.765290 0.495408 +vt 0.762959 0.484375 +vt 0.765290 0.473342 +vt 0.770916 0.468772 +vt 0.776543 0.473342 +vt 0.828685 0.503906 +vt 0.828685 0.562500 +vt 0.828685 0.468750 +vt 0.775907 0.533223 +vt 0.761942 0.533223 +vt 0.761942 0.505839 +vt 0.768925 0.500168 +vt 0.775907 0.505839 +vt 0.765290 0.495408 +vt 0.762959 0.484375 +vt 0.765290 0.473342 +vt 0.776543 0.473342 +vt 0.776543 0.495408 +vt 0.828685 0.503906 +vt 0.828685 0.562500 +vt 0.828685 0.468750 +vt 0.775907 0.533223 +vt 0.761942 0.533223 +vt 0.761942 0.505839 +vt 0.768925 0.500168 +vt 0.775907 0.505839 +vt 0.765290 0.495408 +vt 0.765290 0.473342 +vt 0.776543 0.473342 +vt 0.778873 0.484375 +vt 0.776543 0.495408 +vt 0.828685 0.503906 +vt 0.828685 0.562500 +vt 0.828685 0.468750 +vt 0.775907 0.533223 +vt 0.768925 0.538894 +vt 0.761942 0.533223 +vt 0.761942 0.505839 +vt 0.768925 0.500168 +vt 0.765290 0.495408 +vt 0.765290 0.473342 +vt 0.776543 0.473342 +vt 0.778873 0.484375 +vt 0.776543 0.495408 +vt 0.828685 0.503906 +vt 0.828685 0.562500 +vt 0.775907 0.533223 +vt 0.761942 0.533223 +vt 0.761942 0.505839 +vt 0.768925 0.500168 +vt 0.775907 0.505839 +vt 0.770916 0.499978 +vt 0.765290 0.495408 +vt 0.765290 0.473342 +vt 0.776543 0.473342 +vt 0.776543 0.495408 +vt 0.828685 0.503906 +vt 0.828685 0.562500 +vt 0.828685 0.480469 +vt 0.775907 0.533223 +vt 0.768925 0.538894 +vt 0.761942 0.533223 +vt 0.761942 0.505839 +vt 0.768925 0.500168 +vt 0.770916 0.499978 +vt 0.765290 0.495408 +vt 0.765290 0.473342 +vt 0.776543 0.473342 +vt 0.776543 0.495408 +vt 0.828685 0.503906 +vt 0.828685 0.562500 +vt 0.828685 0.468750 +vt 0.775907 0.533223 +vt 0.761942 0.533223 +vt 0.761942 0.505839 +vt 0.768925 0.500168 +vt 0.775907 0.505839 +vt 0.765290 0.495408 +vt 0.762959 0.484375 +vt 0.765290 0.473342 +vt 0.776543 0.473342 +vt 0.776543 0.495408 +vt 0.828685 0.503906 +vt 0.828685 0.562500 +vt 0.828685 0.468750 +vt 0.775907 0.533223 +vt 0.761942 0.533223 +vt 0.761942 0.505839 +vt 0.768925 0.500168 +vt 0.775907 0.505839 +vt 0.765290 0.495408 +vt 0.765290 0.473342 +vt 0.776543 0.473342 +vt 0.778873 0.484375 +vt 0.776543 0.495408 +vt 0.828685 0.503906 +vt 0.828685 0.562500 +vt 0.828685 0.468750 +vt 0.775907 0.533223 +vt 0.768925 0.538894 +vt 0.761942 0.533223 +vt 0.759050 0.519531 +vt 0.761942 0.505839 +vt 0.770916 0.499978 +vt 0.765290 0.495408 +vt 0.765290 0.473342 +vt 0.776543 0.473342 +vt 0.776543 0.495408 +vt 0.828685 0.503906 +vt 0.828685 0.562500 +vt 0.775907 0.533223 +vt 0.761942 0.533223 +vt 0.761942 0.505839 +vt 0.768925 0.500168 +vt 0.775907 0.505839 +vt 0.770916 0.499978 +vt 0.765290 0.495408 +vt 0.765290 0.473342 +vt 0.776543 0.473342 +vt 0.776543 0.495408 +vt 0.828685 0.515625 +vt 0.828685 0.562500 +vt 0.828685 0.480469 +vt 0.775907 0.533223 +vt 0.768925 0.538894 +vt 0.761942 0.533223 +vt 0.761942 0.505839 +vt 0.768925 0.500168 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.778884 0.503906 +vt 0.778884 0.492188 +vt 0.778884 0.480469 +vt 0.778884 0.468750 +vt 0.778884 0.550781 +vt 0.778884 0.539062 +vt 0.778884 0.527344 +vt 0.778884 0.515625 +vt 0.778884 0.562500 +vt 0.832669 0.550781 +vt 0.832669 0.527344 +vt 0.832669 0.515625 +vt 0.832669 0.492188 +vt 0.832669 0.562500 +vt 0.832669 0.539062 +vt 0.832669 0.503906 +vt 0.832669 0.480469 +vt 0.832669 0.468750 +vt 0.832669 0.468750 +vt 0.832669 0.468750 +vt 0.832669 0.468750 +vt 0.832669 0.468750 +vt 0.832669 0.468750 +vt 0.832669 0.468750 +vt 0.832669 0.468750 +vt 0.832669 0.468750 +vt 0.832669 0.468750 +vt 0.832669 0.468750 +vt 0.832669 0.468750 +vt 0.832669 0.468750 +vt 0.832669 0.468750 +vt 0.832669 0.468750 +vt 0.832669 0.468750 +vt 0.832669 0.468750 +vt 0.832669 0.468750 +vt 0.832669 0.468750 +vt 0.832669 0.468750 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.1951 0.9808 0.0000 +vn 0.1951 -0.9808 0.0000 +vn -0.5556 0.8315 0.0000 +vn 0.5556 -0.8315 0.0000 +vn -0.8315 0.5556 0.0000 +vn 0.8315 -0.5556 0.0000 +vn -0.9808 0.1951 0.0000 +vn 0.9808 -0.1951 0.0000 +vn -0.9808 -0.1951 0.0000 +vn 0.9808 0.1951 0.0000 +vn -0.8315 -0.5556 0.0000 +vn 0.8315 0.5556 0.0000 +vn -0.5556 -0.8315 0.0000 +vn 0.5556 0.8315 0.0000 +vn -0.1951 -0.9808 0.0000 +vn -0.1951 0.9808 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.0000 1.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.9511 -0.3090 0.0000 +vn 0.8910 0.4540 0.0000 +vn -0.3090 -0.9511 0.0000 +vn 0.4540 -0.8910 0.0000 +vn -0.9511 0.3090 0.0000 +vn -0.8910 -0.4540 0.0000 +vn 0.3090 0.9511 0.0000 +vn -0.4540 0.8910 0.0000 +vn 0.8090 -0.5878 0.0000 +vn 0.9877 0.1564 0.0000 +vn -0.5878 -0.8090 0.0000 +vn 0.1564 -0.9877 0.0000 +vn -0.8090 0.5878 0.0000 +vn -0.9877 -0.1564 0.0000 +vn 0.5878 0.8090 0.0000 +vn -0.1564 0.9877 0.0000 +vn 0.5878 -0.8090 0.0000 +vn 0.9877 -0.1564 0.0000 +vn -0.8090 -0.5878 0.0000 +vn -0.1564 -0.9877 0.0000 +vn -0.5878 0.8090 0.0000 +vn -0.9877 0.1564 0.0000 +vn 0.8090 0.5878 0.0000 +vn 0.1564 0.9877 0.0000 +vn 0.3090 -0.9511 0.0000 +vn 0.8910 -0.4540 0.0000 +vn -0.9511 -0.3090 0.0000 +vn -0.4540 -0.8910 0.0000 +vn -0.3090 0.9511 0.0000 +vn -0.8910 0.4540 0.0000 +vn 0.9511 0.3090 0.0000 +vn 0.4540 0.8910 0.0000 +s off +f 261/521/19 263/522/19 257/523/19 +f 279/524/19 272/525/19 271/526/19 +f 272/525/19 273/527/19 265/528/19 +f 265/528/19 274/529/19 266/530/19 +f 266/530/19 275/531/19 267/532/19 +f 275/531/19 268/533/19 267/532/19 +f 276/534/19 269/535/19 268/533/19 +f 277/536/19 270/537/19 269/538/19 +f 270/537/19 279/524/19 271/526/19 +f 284/539/20 283/540/20 287/541/20 +f 320/542/21 289/543/21 304/544/21 +f 313/545/22 298/546/22 297/547/22 +f 306/548/23 291/549/23 290/550/23 +f 314/551/24 299/552/24 298/546/24 +f 307/553/25 292/554/25 291/549/25 +f 299/552/26 316/555/26 300/556/26 +f 308/557/27 293/558/27 292/554/27 +f 316/555/28 301/559/28 300/556/28 +f 309/560/29 294/561/29 293/558/29 +f 317/562/30 302/563/30 301/559/30 +f 310/564/31 295/565/31 294/561/31 +f 302/563/32 319/566/32 303/567/32 +f 311/568/33 296/569/33 295/565/33 +f 319/566/34 304/544/34 303/567/34 +f 312/570/35 297/571/35 296/569/35 +f 305/572/36 290/550/36 289/543/36 +f 325/573/19 327/574/19 321/575/19 +f 343/576/19 336/577/19 335/578/19 +f 336/577/19 337/579/19 329/580/19 +f 329/580/19 338/581/19 330/582/19 +f 330/582/19 339/583/19 331/584/19 +f 339/583/19 332/585/19 331/584/19 +f 340/586/19 333/587/19 332/585/19 +f 341/588/19 334/589/19 333/590/19 +f 334/589/19 343/576/19 335/578/19 +f 345/591/20 351/592/20 349/593/20 +f 357/594/19 359/595/19 353/596/19 +f 375/597/19 368/598/19 367/599/19 +f 368/598/19 369/600/19 361/601/19 +f 361/601/19 370/602/19 362/603/19 +f 362/603/19 371/604/19 363/605/19 +f 371/604/19 364/606/19 363/605/19 +f 372/607/19 365/608/19 364/606/19 +f 373/609/19 366/610/19 365/611/19 +f 374/612/19 367/599/19 366/610/19 +f 380/613/20 379/614/20 383/615/20 +f 387/616/19 389/617/19 391/618/19 +f 407/619/19 400/620/19 399/621/19 +f 400/620/19 401/622/19 393/623/19 +f 393/623/19 402/624/19 394/625/19 +f 394/625/19 403/626/19 395/627/19 +f 403/626/19 396/628/19 395/627/19 +f 404/629/19 397/630/19 396/628/19 +f 405/631/19 398/632/19 397/633/19 +f 406/634/19 399/621/19 398/632/19 +f 412/635/20 411/636/20 415/637/20 +f 419/638/19 421/639/19 423/640/19 +f 439/641/19 432/642/19 431/643/19 +f 432/642/19 433/644/19 425/645/19 +f 425/645/19 434/646/19 426/647/19 +f 426/647/19 435/648/19 427/649/19 +f 435/648/19 428/650/19 427/649/19 +f 436/651/19 429/652/19 428/650/19 +f 429/653/19 438/654/19 430/655/19 +f 430/655/19 439/641/19 431/643/19 +f 444/656/20 443/657/20 447/658/20 +f 451/659/19 453/660/19 455/661/19 +f 471/662/19 464/663/19 463/664/19 +f 464/663/19 465/665/19 457/666/19 +f 457/666/19 466/667/19 458/668/19 +f 458/668/19 467/669/19 459/670/19 +f 467/669/19 460/671/19 459/670/19 +f 468/672/19 461/673/19 460/671/19 +f 461/674/19 470/675/19 462/676/19 +f 462/676/19 471/662/19 463/664/19 +f 475/677/20 473/678/20 479/679/20 +f 485/680/19 487/681/19 481/682/19 +f 503/683/19 496/684/19 495/685/19 +f 496/684/19 497/686/19 489/687/19 +f 489/687/19 498/688/19 490/689/19 +f 490/689/19 499/690/19 491/691/19 +f 499/690/19 492/692/19 491/691/19 +f 500/693/19 493/694/19 492/692/19 +f 501/695/19 494/696/19 493/697/19 +f 494/696/19 503/683/19 495/685/19 +f 507/698/20 505/699/20 511/700/20 +f 513/701/19 515/702/19 517/703/19 +f 535/704/19 528/705/19 527/706/19 +f 528/705/19 529/707/19 521/708/19 +f 521/708/19 530/709/19 522/710/19 +f 522/710/19 531/711/19 523/712/19 +f 531/711/19 524/713/19 523/712/19 +f 532/714/19 525/715/19 524/713/19 +f 525/716/19 534/717/19 526/718/19 +f 526/718/19 535/704/19 527/706/19 +f 540/719/20 539/720/20 543/721/20 +f 547/722/19 549/723/19 551/724/19 +f 567/725/19 560/726/19 559/727/19 +f 560/726/19 561/728/19 553/729/19 +f 553/729/19 562/730/19 554/731/19 +f 554/731/19 563/732/19 555/733/19 +f 563/732/19 556/734/19 555/733/19 +f 564/735/19 557/736/19 556/734/19 +f 565/737/19 558/738/19 557/739/19 +f 566/740/19 559/727/19 558/738/19 +f 571/741/20 569/742/20 575/743/20 +f 579/744/19 581/745/19 583/746/19 +f 599/747/19 592/748/19 591/749/19 +f 592/748/19 593/750/19 585/751/19 +f 585/751/19 594/752/19 586/753/19 +f 586/753/19 595/754/19 587/755/19 +f 595/754/19 588/756/19 587/755/19 +f 596/757/19 589/758/19 588/756/19 +f 597/759/19 590/760/19 589/761/19 +f 590/760/19 599/747/19 591/749/19 +f 604/762/20 603/763/20 607/764/20 +f 615/765/19 616/766/19 609/767/19 +f 631/768/19 624/769/19 623/770/19 +f 624/769/19 625/771/19 617/772/19 +f 617/772/19 626/773/19 618/774/19 +f 618/774/19 627/775/19 619/776/19 +f 627/775/19 620/777/19 619/776/19 +f 628/778/19 621/779/19 620/777/19 +f 621/780/19 630/781/19 622/782/19 +f 622/782/19 631/768/19 623/770/19 +f 635/783/20 633/784/20 639/785/20 +f 645/786/19 647/787/19 641/788/19 +f 663/789/19 656/790/19 655/791/19 +f 656/790/19 657/792/19 649/793/19 +f 649/793/19 658/794/19 650/795/19 +f 650/795/19 659/796/19 651/797/19 +f 659/796/19 652/798/19 651/797/19 +f 660/799/19 653/800/19 652/798/19 +f 653/801/19 662/802/19 654/803/19 +f 654/803/19 663/789/19 655/791/19 +f 667/804/20 665/805/20 671/806/20 +f 673/807/19 675/808/19 677/809/19 +f 695/810/19 688/811/19 687/812/19 +f 688/811/19 689/813/19 681/814/19 +f 681/814/19 690/815/19 682/816/19 +f 682/816/19 691/817/19 683/818/19 +f 691/817/19 684/819/19 683/818/19 +f 692/820/19 685/821/19 684/819/19 +f 685/822/19 694/823/19 686/824/19 +f 686/824/19 695/810/19 687/812/19 +f 700/825/20 699/826/20 703/827/20 +f 705/828/19 707/829/19 709/830/19 +f 727/831/19 720/832/19 719/833/19 +f 720/832/19 721/834/19 713/835/19 +f 713/835/19 722/836/19 714/837/19 +f 714/837/19 723/838/19 715/839/19 +f 723/838/19 716/840/19 715/839/19 +f 724/841/19 717/842/19 716/840/19 +f 725/843/19 718/844/19 717/845/19 +f 726/846/19 719/833/19 718/844/19 +f 731/847/20 729/848/20 735/849/20 +f 739/850/19 741/851/19 743/852/19 +f 759/853/19 752/854/19 751/855/19 +f 752/854/19 753/856/19 745/857/19 +f 745/857/19 754/858/19 746/859/19 +f 746/859/19 755/860/19 747/861/19 +f 755/860/19 748/862/19 747/861/19 +f 756/863/19 749/864/19 748/862/19 +f 757/865/19 750/866/19 749/867/19 +f 750/866/19 759/853/19 751/855/19 +f 764/868/20 763/869/20 767/870/20 +f 771/871/19 773/872/19 775/873/19 +f 791/874/19 784/875/19 783/876/19 +f 784/875/19 785/877/19 777/878/19 +f 777/878/19 786/879/19 778/880/19 +f 778/880/19 787/881/19 779/882/19 +f 787/881/19 780/883/19 779/882/19 +f 788/884/19 781/885/19 780/883/19 +f 781/886/19 790/887/19 782/888/19 +f 782/888/19 791/874/19 783/876/19 +f 795/889/20 793/890/20 799/891/20 +f 805/892/19 807/893/19 801/894/19 +f 823/895/19 816/896/19 815/897/19 +f 816/896/19 817/898/19 809/899/19 +f 809/899/19 818/900/19 810/901/19 +f 810/901/19 819/902/19 811/903/19 +f 819/902/19 812/904/19 811/903/19 +f 820/905/19 813/906/19 812/904/19 +f 813/907/19 822/908/19 814/909/19 +f 814/909/19 823/895/19 815/897/19 +f 827/910/20 825/911/20 831/912/20 +f 833/913/19 835/914/19 837/915/19 +f 855/916/19 848/917/19 847/918/19 +f 848/917/19 849/919/19 841/920/19 +f 841/920/19 850/921/19 842/922/19 +f 842/922/19 851/923/19 843/924/19 +f 851/923/19 844/925/19 843/924/19 +f 852/926/19 845/927/19 844/925/19 +f 845/928/19 854/929/19 846/930/19 +f 854/929/19 847/918/19 846/930/19 +f 861/931/20 860/932/20 859/933/20 +f 867/934/19 869/935/19 871/936/19 +f 887/937/19 880/938/19 879/939/19 +f 880/938/19 881/940/19 873/941/19 +f 873/941/19 882/942/19 874/943/19 +f 874/943/19 883/944/19 875/945/19 +f 883/944/19 876/946/19 875/945/19 +f 884/947/19 877/948/19 876/946/19 +f 885/949/19 878/950/19 877/951/19 +f 886/952/19 879/939/19 878/950/19 +f 891/953/20 889/954/20 895/955/20 +f 899/956/19 901/957/19 903/958/19 +f 919/959/19 912/960/19 911/961/19 +f 920/962/19 905/963/19 912/960/19 +f 905/963/19 914/964/19 906/965/19 +f 906/965/19 915/966/19 907/967/19 +f 915/966/19 908/968/19 907/967/19 +f 916/969/19 909/970/19 908/968/19 +f 917/971/19 910/972/19 909/973/19 +f 910/972/19 919/959/19 911/961/19 +f 924/974/20 923/975/20 927/976/20 +f 257/523/19 258/977/19 259/978/19 +f 259/978/19 260/979/19 261/521/19 +f 261/521/19 262/980/19 263/522/19 +f 263/522/19 264/981/19 257/523/19 +f 257/523/19 259/978/19 261/521/19 +f 279/524/19 280/982/19 272/525/19 +f 272/525/19 280/982/19 273/527/19 +f 265/528/19 273/527/19 274/529/19 +f 266/530/19 274/529/19 275/531/19 +f 275/531/19 276/534/19 268/533/19 +f 276/534/19 277/983/19 269/535/19 +f 277/536/19 278/984/19 270/537/19 +f 270/537/19 278/984/19 279/524/19 +f 283/540/20 282/985/20 287/541/20 +f 282/985/20 281/986/20 287/541/20 +f 281/986/20 288/987/20 287/541/20 +f 287/541/20 286/988/20 285/989/20 +f 285/989/20 284/539/20 287/541/20 +f 320/542/21 305/572/21 289/543/21 +f 313/545/22 314/551/22 298/546/22 +f 306/548/23 307/553/23 291/549/23 +f 314/551/24 315/990/24 299/552/24 +f 307/553/25 308/557/25 292/554/25 +f 299/552/26 315/990/26 316/555/26 +f 308/557/27 309/560/27 293/558/27 +f 316/555/28 317/562/28 301/559/28 +f 309/560/29 310/564/29 294/561/29 +f 317/562/30 318/991/30 302/563/30 +f 310/564/31 311/568/31 295/565/31 +f 302/563/32 318/991/32 319/566/32 +f 311/568/33 312/570/33 296/569/33 +f 319/566/34 320/542/34 304/544/34 +f 312/570/35 313/992/35 297/571/35 +f 305/572/36 306/548/36 290/550/36 +f 321/575/19 322/993/19 323/994/19 +f 323/994/19 324/995/19 325/573/19 +f 325/573/19 326/996/19 327/574/19 +f 327/574/19 328/997/19 321/575/19 +f 321/575/19 323/994/19 325/573/19 +f 343/576/19 344/998/19 336/577/19 +f 336/577/19 344/998/19 337/579/19 +f 329/580/19 337/579/19 338/581/19 +f 330/582/19 338/581/19 339/583/19 +f 339/583/19 340/586/19 332/585/19 +f 340/586/19 341/999/19 333/587/19 +f 341/588/19 342/1000/19 334/589/19 +f 334/589/19 342/1000/19 343/576/19 +f 347/1001/20 346/1002/20 345/591/20 +f 345/591/20 352/1003/20 351/592/20 +f 351/592/20 350/1004/20 349/593/20 +f 349/593/20 348/1005/20 347/1001/20 +f 347/1001/20 345/591/20 349/593/20 +f 353/596/19 354/1006/19 355/1007/19 +f 355/1007/19 356/1008/19 353/596/19 +f 356/1008/19 357/594/19 353/596/19 +f 357/594/19 358/1009/19 359/595/19 +f 359/595/19 360/1010/19 353/596/19 +f 375/597/19 376/1011/19 368/598/19 +f 368/598/19 376/1011/19 369/600/19 +f 361/601/19 369/600/19 370/602/19 +f 362/603/19 370/602/19 371/604/19 +f 371/604/19 372/607/19 364/606/19 +f 372/607/19 373/1012/19 365/608/19 +f 373/609/19 374/612/19 366/610/19 +f 374/612/19 375/597/19 367/599/19 +f 379/614/20 378/1013/20 377/1014/20 +f 377/1014/20 384/1015/20 379/614/20 +f 384/1015/20 383/615/20 379/614/20 +f 383/615/20 382/1016/20 381/1017/20 +f 381/1017/20 380/613/20 383/615/20 +f 385/1018/19 386/1019/19 387/616/19 +f 387/616/19 388/1020/19 389/617/19 +f 389/617/19 390/1021/19 391/618/19 +f 391/618/19 392/1022/19 385/1018/19 +f 385/1018/19 387/616/19 391/618/19 +f 407/619/19 408/1023/19 400/620/19 +f 400/620/19 408/1023/19 401/622/19 +f 393/623/19 401/622/19 402/624/19 +f 394/625/19 402/624/19 403/626/19 +f 403/626/19 404/629/19 396/628/19 +f 404/629/19 405/1024/19 397/630/19 +f 405/631/19 406/634/19 398/632/19 +f 406/634/19 407/619/19 399/621/19 +f 411/636/20 410/1025/20 415/637/20 +f 410/1025/20 409/1026/20 415/637/20 +f 409/1026/20 416/1027/20 415/637/20 +f 415/637/20 414/1028/20 413/1029/20 +f 413/1029/20 412/635/20 415/637/20 +f 417/1030/19 418/1031/19 419/638/19 +f 419/638/19 420/1032/19 421/639/19 +f 421/639/19 422/1033/19 423/640/19 +f 423/640/19 424/1034/19 417/1030/19 +f 417/1030/19 419/638/19 423/640/19 +f 439/641/19 440/1035/19 432/642/19 +f 432/642/19 440/1035/19 433/644/19 +f 425/645/19 433/644/19 434/646/19 +f 426/647/19 434/646/19 435/648/19 +f 435/648/19 436/651/19 428/650/19 +f 436/651/19 437/1036/19 429/652/19 +f 429/653/19 437/1037/19 438/654/19 +f 430/655/19 438/654/19 439/641/19 +f 443/657/20 442/1038/20 447/658/20 +f 442/1038/20 441/1039/20 447/658/20 +f 441/1039/20 448/1040/20 447/658/20 +f 447/658/20 446/1041/20 445/1042/20 +f 445/1042/20 444/656/20 447/658/20 +f 449/1043/19 450/1044/19 451/659/19 +f 451/659/19 452/1045/19 453/660/19 +f 453/660/19 454/1046/19 455/661/19 +f 455/661/19 456/1047/19 449/1043/19 +f 449/1043/19 451/659/19 455/661/19 +f 471/662/19 472/1048/19 464/663/19 +f 464/663/19 472/1048/19 465/665/19 +f 457/666/19 465/665/19 466/667/19 +f 458/668/19 466/667/19 467/669/19 +f 467/669/19 468/672/19 460/671/19 +f 468/672/19 469/1049/19 461/673/19 +f 461/674/19 469/1050/19 470/675/19 +f 462/676/19 470/675/19 471/662/19 +f 475/677/20 474/1051/20 473/678/20 +f 473/678/20 480/1052/20 479/679/20 +f 479/679/20 478/1053/20 477/1054/20 +f 477/1054/20 476/1055/20 479/679/20 +f 476/1055/20 475/677/20 479/679/20 +f 481/682/19 482/1056/19 483/1057/19 +f 483/1057/19 484/1058/19 485/680/19 +f 485/680/19 486/1059/19 487/681/19 +f 487/681/19 488/1060/19 481/682/19 +f 481/682/19 483/1057/19 485/680/19 +f 503/683/19 504/1061/19 496/684/19 +f 496/684/19 504/1061/19 497/686/19 +f 489/687/19 497/686/19 498/688/19 +f 490/689/19 498/688/19 499/690/19 +f 499/690/19 500/693/19 492/692/19 +f 500/693/19 501/1062/19 493/694/19 +f 501/695/19 502/1063/19 494/696/19 +f 494/696/19 502/1063/19 503/683/19 +f 507/698/20 506/1064/20 505/699/20 +f 505/699/20 512/1065/20 511/700/20 +f 511/700/20 510/1066/20 509/1067/20 +f 509/1067/20 508/1068/20 511/700/20 +f 508/1068/20 507/698/20 511/700/20 +f 513/701/19 514/1069/19 515/702/19 +f 515/702/19 516/1070/19 517/703/19 +f 517/703/19 518/1071/19 519/1072/19 +f 519/1072/19 520/1073/19 517/703/19 +f 520/1073/19 513/701/19 517/703/19 +f 535/704/19 536/1074/19 528/705/19 +f 528/705/19 536/1074/19 529/707/19 +f 521/708/19 529/707/19 530/709/19 +f 522/710/19 530/709/19 531/711/19 +f 531/711/19 532/714/19 524/713/19 +f 532/714/19 533/1075/19 525/715/19 +f 525/716/19 533/1076/19 534/717/19 +f 526/718/19 534/717/19 535/704/19 +f 539/720/20 538/1077/20 537/1078/20 +f 537/1078/20 544/1079/20 539/720/20 +f 544/1079/20 543/721/20 539/720/20 +f 543/721/20 542/1080/20 541/1081/20 +f 541/1081/20 540/719/20 543/721/20 +f 545/1082/19 546/1083/19 547/722/19 +f 547/722/19 548/1084/19 549/723/19 +f 549/723/19 550/1085/19 551/724/19 +f 551/724/19 552/1086/19 545/1082/19 +f 545/1082/19 547/722/19 551/724/19 +f 567/725/19 568/1087/19 560/726/19 +f 560/726/19 568/1087/19 561/728/19 +f 553/729/19 561/728/19 562/730/19 +f 554/731/19 562/730/19 563/732/19 +f 563/732/19 564/735/19 556/734/19 +f 564/735/19 565/1088/19 557/736/19 +f 565/737/19 566/740/19 558/738/19 +f 566/740/19 567/725/19 559/727/19 +f 571/741/20 570/1089/20 569/742/20 +f 569/742/20 576/1090/20 575/743/20 +f 575/743/20 574/1091/20 573/1092/20 +f 573/1092/20 572/1093/20 575/743/20 +f 572/1093/20 571/741/20 575/743/20 +f 577/1094/19 578/1095/19 579/744/19 +f 579/744/19 580/1096/19 581/745/19 +f 581/745/19 582/1097/19 583/746/19 +f 583/746/19 584/1098/19 577/1094/19 +f 577/1094/19 579/744/19 583/746/19 +f 599/747/19 600/1099/19 592/748/19 +f 592/748/19 600/1099/19 593/750/19 +f 585/751/19 593/750/19 594/752/19 +f 586/753/19 594/752/19 595/754/19 +f 595/754/19 596/757/19 588/756/19 +f 596/757/19 597/1100/19 589/758/19 +f 597/759/19 598/1101/19 590/760/19 +f 590/760/19 598/1101/19 599/747/19 +f 603/763/20 602/1102/20 607/764/20 +f 602/1102/20 601/1103/20 607/764/20 +f 601/1103/20 608/1104/20 607/764/20 +f 607/764/20 606/1105/20 605/1106/20 +f 605/1106/20 604/762/20 607/764/20 +f 609/767/19 610/1107/19 611/1108/19 +f 611/1108/19 612/1109/19 609/767/19 +f 612/1109/19 613/1110/19 609/767/19 +f 613/1110/19 614/1111/19 609/767/19 +f 614/1111/19 615/765/19 609/767/19 +f 631/768/19 632/1112/19 624/769/19 +f 624/769/19 632/1112/19 625/771/19 +f 617/772/19 625/771/19 626/773/19 +f 618/774/19 626/773/19 627/775/19 +f 627/775/19 628/778/19 620/777/19 +f 628/778/19 629/1113/19 621/779/19 +f 621/780/19 629/1114/19 630/781/19 +f 622/782/19 630/781/19 631/768/19 +f 635/783/20 634/1115/20 633/784/20 +f 633/784/20 640/1116/20 639/785/20 +f 639/785/20 638/1117/20 637/1118/20 +f 637/1118/20 636/1119/20 639/785/20 +f 636/1119/20 635/783/20 639/785/20 +f 641/788/19 642/1120/19 643/1121/19 +f 643/1121/19 644/1122/19 645/786/19 +f 645/786/19 646/1123/19 647/787/19 +f 647/787/19 648/1124/19 641/788/19 +f 641/788/19 643/1121/19 645/786/19 +f 663/789/19 664/1125/19 656/790/19 +f 656/790/19 664/1125/19 657/792/19 +f 649/793/19 657/792/19 658/794/19 +f 650/795/19 658/794/19 659/796/19 +f 659/796/19 660/799/19 652/798/19 +f 660/799/19 661/1126/19 653/800/19 +f 653/801/19 661/1127/19 662/802/19 +f 654/803/19 662/802/19 663/789/19 +f 667/804/20 666/1128/20 665/805/20 +f 665/805/20 672/1129/20 671/806/20 +f 671/806/20 670/1130/20 669/1131/20 +f 669/1131/20 668/1132/20 671/806/20 +f 668/1132/20 667/804/20 671/806/20 +f 673/807/19 674/1133/19 675/808/19 +f 675/808/19 676/1134/19 677/809/19 +f 677/809/19 678/1135/19 679/1136/19 +f 679/1136/19 680/1137/19 677/809/19 +f 680/1137/19 673/807/19 677/809/19 +f 695/810/19 696/1138/19 688/811/19 +f 688/811/19 696/1138/19 689/813/19 +f 681/814/19 689/813/19 690/815/19 +f 682/816/19 690/815/19 691/817/19 +f 691/817/19 692/820/19 684/819/19 +f 692/820/19 693/1139/19 685/821/19 +f 685/822/19 693/1140/19 694/823/19 +f 686/824/19 694/823/19 695/810/19 +f 699/826/20 698/1141/20 697/1142/20 +f 697/1142/20 704/1143/20 699/826/20 +f 704/1143/20 703/827/20 699/826/20 +f 703/827/20 702/1144/20 701/1145/20 +f 701/1145/20 700/825/20 703/827/20 +f 705/828/19 706/1146/19 707/829/19 +f 707/829/19 708/1147/19 709/830/19 +f 709/830/19 710/1148/19 705/828/19 +f 710/1148/19 711/1149/19 705/828/19 +f 711/1149/19 712/1150/19 705/828/19 +f 727/831/19 728/1151/19 720/832/19 +f 720/832/19 728/1151/19 721/834/19 +f 713/835/19 721/834/19 722/836/19 +f 714/837/19 722/836/19 723/838/19 +f 723/838/19 724/841/19 716/840/19 +f 724/841/19 725/1152/19 717/842/19 +f 725/843/19 726/846/19 718/844/19 +f 726/846/19 727/831/19 719/833/19 +f 731/847/20 730/1153/20 729/848/20 +f 729/848/20 736/1154/20 735/849/20 +f 735/849/20 734/1155/20 733/1156/20 +f 733/1156/20 732/1157/20 735/849/20 +f 732/1157/20 731/847/20 735/849/20 +f 737/1158/19 738/1159/19 739/850/19 +f 739/850/19 740/1160/19 741/851/19 +f 741/851/19 742/1161/19 743/852/19 +f 743/852/19 744/1162/19 737/1158/19 +f 737/1158/19 739/850/19 743/852/19 +f 759/853/19 760/1163/19 752/854/19 +f 752/854/19 760/1163/19 753/856/19 +f 745/857/19 753/856/19 754/858/19 +f 746/859/19 754/858/19 755/860/19 +f 755/860/19 756/863/19 748/862/19 +f 756/863/19 757/1164/19 749/864/19 +f 757/865/19 758/1165/19 750/866/19 +f 750/866/19 758/1165/19 759/853/19 +f 763/869/20 762/1166/20 767/870/20 +f 762/1166/20 761/1167/20 767/870/20 +f 761/1167/20 768/1168/20 767/870/20 +f 767/870/20 766/1169/20 765/1170/20 +f 765/1170/20 764/868/20 767/870/20 +f 769/1171/19 770/1172/19 771/871/19 +f 771/871/19 772/1173/19 773/872/19 +f 773/872/19 774/1174/19 775/873/19 +f 775/873/19 776/1175/19 769/1171/19 +f 769/1171/19 771/871/19 775/873/19 +f 791/874/19 792/1176/19 784/875/19 +f 784/875/19 792/1176/19 785/877/19 +f 777/878/19 785/877/19 786/879/19 +f 778/880/19 786/879/19 787/881/19 +f 787/881/19 788/884/19 780/883/19 +f 788/884/19 789/1177/19 781/885/19 +f 781/886/19 789/1178/19 790/887/19 +f 782/888/19 790/887/19 791/874/19 +f 795/889/20 794/1179/20 793/890/20 +f 793/890/20 800/1180/20 799/891/20 +f 799/891/20 798/1181/20 797/1182/20 +f 797/1182/20 796/1183/20 799/891/20 +f 796/1183/20 795/889/20 799/891/20 +f 801/894/19 802/1184/19 803/1185/19 +f 803/1185/19 804/1186/19 805/892/19 +f 805/892/19 806/1187/19 807/893/19 +f 807/893/19 808/1188/19 801/894/19 +f 801/894/19 803/1185/19 805/892/19 +f 823/895/19 824/1189/19 816/896/19 +f 816/896/19 824/1189/19 817/898/19 +f 809/899/19 817/898/19 818/900/19 +f 810/901/19 818/900/19 819/902/19 +f 819/902/19 820/905/19 812/904/19 +f 820/905/19 821/1190/19 813/906/19 +f 813/907/19 821/1191/19 822/908/19 +f 814/909/19 822/908/19 823/895/19 +f 827/910/20 826/1192/20 825/911/20 +f 825/911/20 832/1193/20 831/912/20 +f 831/912/20 830/1194/20 829/1195/20 +f 829/1195/20 828/1196/20 831/912/20 +f 828/1196/20 827/910/20 831/912/20 +f 833/913/19 834/1197/19 835/914/19 +f 835/914/19 836/1198/19 837/915/19 +f 837/915/19 838/1199/19 839/1200/19 +f 839/1200/19 840/1201/19 837/915/19 +f 840/1201/19 833/913/19 837/915/19 +f 855/916/19 856/1202/19 848/917/19 +f 848/917/19 856/1202/19 849/919/19 +f 841/920/19 849/919/19 850/921/19 +f 842/922/19 850/921/19 851/923/19 +f 851/923/19 852/926/19 844/925/19 +f 852/926/19 853/1203/19 845/927/19 +f 845/928/19 853/1204/19 854/929/19 +f 854/929/19 855/916/19 847/918/19 +f 859/933/20 858/1205/20 857/1206/20 +f 857/1206/20 864/1207/20 859/933/20 +f 864/1207/20 863/1208/20 859/933/20 +f 863/1208/20 862/1209/20 859/933/20 +f 862/1209/20 861/931/20 859/933/20 +f 865/1210/19 866/1211/19 867/934/19 +f 867/934/19 868/1212/19 869/935/19 +f 869/935/19 870/1213/19 871/936/19 +f 871/936/19 872/1214/19 865/1210/19 +f 865/1210/19 867/934/19 871/936/19 +f 887/937/19 888/1215/19 880/938/19 +f 880/938/19 888/1215/19 881/940/19 +f 873/941/19 881/940/19 882/942/19 +f 874/943/19 882/942/19 883/944/19 +f 883/944/19 884/947/19 876/946/19 +f 884/947/19 885/1216/19 877/948/19 +f 885/949/19 886/952/19 878/950/19 +f 886/952/19 887/937/19 879/939/19 +f 891/953/20 890/1217/20 889/954/20 +f 889/954/20 896/1218/20 895/955/20 +f 895/955/20 894/1219/20 893/1220/20 +f 893/1220/20 892/1221/20 895/955/20 +f 892/1221/20 891/953/20 895/955/20 +f 897/1222/19 898/1223/19 899/956/19 +f 899/956/19 900/1224/19 901/957/19 +f 901/957/19 902/1225/19 903/958/19 +f 903/958/19 904/1226/19 897/1222/19 +f 897/1222/19 899/956/19 903/958/19 +f 919/959/19 920/962/19 912/960/19 +f 920/962/19 913/1227/19 905/963/19 +f 905/963/19 913/1227/19 914/964/19 +f 906/965/19 914/964/19 915/966/19 +f 915/966/19 916/969/19 908/968/19 +f 916/969/19 917/1228/19 909/970/19 +f 917/971/19 918/1229/19 910/972/19 +f 910/972/19 918/1229/19 919/959/19 +f 923/975/20 922/1230/20 927/976/20 +f 922/1230/20 921/1231/20 927/976/20 +f 921/1231/20 928/1232/20 927/976/20 +f 927/976/20 926/1233/20 925/1234/20 +f 925/1234/20 924/974/20 927/976/20 +s 1 +f 271/526/37 264/1235/38 263/1236/37 +f 269/538/39 262/1237/40 261/1238/39 +f 267/532/41 260/1239/42 259/1240/41 +f 265/528/43 258/1241/44 257/1242/43 +f 272/525/38 257/1242/43 264/1235/38 +f 270/537/40 263/1236/37 262/1237/40 +f 268/533/42 261/1243/39 260/1239/42 +f 266/530/44 259/1240/41 258/1241/44 +f 275/531/41 284/1244/42 276/534/42 +f 273/527/43 282/1245/44 274/529/44 +f 280/982/38 281/1246/43 273/527/43 +f 278/984/40 287/1247/37 279/524/37 +f 276/534/42 285/1248/39 277/983/39 +f 274/529/44 283/1249/41 275/531/41 +f 279/524/37 288/1250/38 280/982/38 +f 277/536/39 286/1251/40 278/984/40 +f 335/578/45 328/1252/46 327/1253/45 +f 333/590/47 326/1254/48 325/1255/47 +f 331/584/49 324/1256/50 323/1257/49 +f 329/580/51 322/1258/52 321/1259/51 +f 336/577/46 321/1259/51 328/1252/46 +f 334/589/48 327/1253/45 326/1254/48 +f 332/585/50 325/1260/47 324/1256/50 +f 330/582/52 323/1257/49 322/1258/52 +f 339/583/49 348/1261/50 340/586/50 +f 337/579/51 346/1262/52 338/581/52 +f 344/998/46 345/1263/51 337/579/51 +f 342/1000/48 351/1264/45 343/576/45 +f 340/586/50 349/1265/47 341/999/47 +f 338/581/52 347/1266/49 339/583/49 +f 343/576/45 352/1267/46 344/998/46 +f 341/588/47 350/1268/48 342/1000/48 +f 367/599/53 360/1269/54 359/1270/53 +f 365/611/55 358/1271/56 357/1272/55 +f 363/605/57 356/1273/58 355/1274/57 +f 361/601/59 354/1275/60 353/1276/59 +f 368/598/54 353/1276/59 360/1269/54 +f 366/610/56 359/1270/53 358/1271/56 +f 364/606/58 357/1277/55 356/1273/58 +f 362/603/60 355/1274/57 354/1275/60 +f 371/604/57 380/1278/58 372/607/58 +f 369/600/59 378/1279/60 370/602/60 +f 376/1011/54 377/1280/59 369/600/59 +f 374/612/56 383/1281/53 375/597/53 +f 372/607/58 381/1282/55 373/1012/55 +f 370/602/60 379/1283/57 371/604/57 +f 375/597/53 384/1284/54 376/1011/54 +f 373/609/55 382/1285/56 374/612/56 +f 399/621/61 392/1286/62 391/1287/61 +f 397/633/63 390/1288/64 389/1289/63 +f 395/627/65 388/1290/66 387/1291/65 +f 393/623/67 386/1292/68 385/1293/67 +f 400/620/62 385/1293/67 392/1286/62 +f 398/632/64 391/1287/61 390/1288/64 +f 396/628/66 389/1294/63 388/1290/66 +f 394/625/68 387/1291/65 386/1292/68 +f 403/626/65 412/1295/66 404/629/66 +f 401/622/67 410/1296/68 402/624/68 +f 408/1023/62 409/1297/67 401/622/67 +f 406/634/64 415/1298/61 407/619/61 +f 404/629/66 413/1299/63 405/1024/63 +f 402/624/68 411/1300/65 403/626/65 +f 407/619/61 416/1301/62 408/1023/62 +f 405/631/63 414/1302/64 406/634/64 +f 431/643/69 424/1303/70 423/1304/69 +f 429/653/71 422/1305/72 421/1306/71 +f 427/649/73 420/1307/74 419/1308/73 +f 425/645/75 418/1309/76 417/1310/75 +f 432/642/70 417/1310/75 424/1303/70 +f 430/655/72 423/1304/69 422/1305/72 +f 428/650/74 421/1311/71 420/1307/74 +f 426/647/76 419/1308/73 418/1309/76 +f 435/648/73 444/1312/74 436/651/74 +f 433/644/75 442/1313/76 434/646/76 +f 440/1035/70 441/1314/75 433/644/75 +f 438/654/72 447/1315/69 439/641/69 +f 436/651/74 445/1316/71 437/1036/71 +f 434/646/76 443/1317/73 435/648/73 +f 439/641/69 448/1318/70 440/1035/70 +f 437/1037/71 446/1319/72 438/654/72 +f 463/664/39 456/1320/40 455/1321/39 +f 461/674/41 454/1322/42 453/1323/41 +f 459/670/43 452/1324/44 451/1325/43 +f 457/666/37 450/1326/38 449/1327/37 +f 464/663/40 449/1327/37 456/1320/40 +f 462/676/42 455/1321/39 454/1322/42 +f 460/671/44 453/1328/41 452/1324/44 +f 458/668/38 451/1325/43 450/1326/38 +f 467/669/43 476/1329/44 468/672/44 +f 465/665/37 474/1330/38 466/667/38 +f 472/1048/40 473/1331/37 465/665/37 +f 470/675/42 479/1332/39 471/662/39 +f 468/672/44 477/1333/41 469/1049/41 +f 466/667/38 475/1334/43 467/669/43 +f 471/662/39 480/1335/40 472/1048/40 +f 469/1050/41 478/1336/42 470/675/42 +f 495/685/47 488/1337/48 487/1338/47 +f 493/697/49 486/1339/50 485/1340/49 +f 491/691/51 484/1341/52 483/1342/51 +f 489/687/45 482/1343/46 481/1344/45 +f 496/684/48 481/1344/45 488/1337/48 +f 494/696/50 487/1338/47 486/1339/50 +f 492/692/52 485/1345/49 484/1341/52 +f 490/689/46 483/1342/51 482/1343/46 +f 499/690/51 508/1346/52 500/693/52 +f 497/686/45 506/1347/46 498/688/46 +f 504/1061/48 505/1348/45 497/686/45 +f 502/1063/50 511/1349/47 503/683/47 +f 500/693/52 509/1350/49 501/1062/49 +f 498/688/46 507/1351/51 499/690/51 +f 503/683/47 512/1352/48 504/1061/48 +f 501/695/49 510/1353/50 502/1063/50 +f 527/706/55 520/1354/56 519/1355/55 +f 525/716/57 518/1356/58 517/1357/57 +f 523/712/59 516/1358/60 515/1359/59 +f 521/708/53 514/1360/54 513/1361/53 +f 528/705/56 513/1361/53 520/1354/56 +f 526/718/58 519/1355/55 518/1356/58 +f 524/713/60 517/1362/57 516/1358/60 +f 522/710/54 515/1359/59 514/1360/54 +f 531/711/59 540/1363/60 532/714/60 +f 529/707/53 538/1364/54 530/709/54 +f 536/1074/56 537/1365/53 529/707/53 +f 534/717/58 543/1366/55 535/704/55 +f 532/714/60 541/1367/57 533/1075/57 +f 530/709/54 539/1368/59 531/711/59 +f 535/704/55 544/1369/56 536/1074/56 +f 533/1076/57 542/1370/58 534/717/58 +f 559/727/63 552/1371/64 551/1372/63 +f 557/739/65 550/1373/66 549/1374/65 +f 555/733/67 548/1375/68 547/1376/67 +f 553/729/61 546/1377/62 545/1378/61 +f 560/726/64 545/1378/61 552/1371/64 +f 558/738/66 551/1372/63 550/1373/66 +f 556/734/68 549/1379/65 548/1375/68 +f 554/731/62 547/1376/67 546/1377/62 +f 563/732/67 572/1380/68 564/735/68 +f 561/728/61 570/1381/62 562/730/62 +f 568/1087/64 569/1382/61 561/728/61 +f 566/740/66 575/1383/63 567/725/63 +f 564/735/68 573/1384/65 565/1088/65 +f 562/730/62 571/1385/67 563/732/67 +f 567/725/63 576/1386/64 568/1087/64 +f 565/737/65 574/1387/66 566/740/66 +f 591/749/71 584/1388/72 583/1389/71 +f 589/761/73 582/1390/74 581/1391/73 +f 587/755/75 580/1392/76 579/1393/75 +f 585/751/69 578/1394/70 577/1395/69 +f 592/748/72 577/1395/69 584/1388/72 +f 590/760/74 583/1389/71 582/1390/74 +f 588/756/76 581/1396/73 580/1392/76 +f 586/753/70 579/1393/75 578/1394/70 +f 595/754/75 604/1397/76 596/757/76 +f 593/750/69 602/1398/70 594/752/70 +f 600/1099/72 601/1399/69 593/750/69 +f 598/1101/74 607/1400/71 599/747/71 +f 596/757/76 605/1401/73 597/1100/73 +f 594/752/70 603/1402/75 595/754/75 +f 599/747/71 608/1403/72 600/1099/72 +f 597/759/73 606/1404/74 598/1101/74 +f 623/770/41 616/1405/42 615/1406/41 +f 621/780/43 614/1407/44 613/1408/43 +f 619/776/37 612/1409/38 611/1410/37 +f 617/772/39 610/1411/40 609/1412/39 +f 624/769/42 609/1412/39 616/1405/42 +f 622/782/44 615/1406/41 614/1407/44 +f 620/777/38 613/1413/43 612/1409/38 +f 618/774/40 611/1410/37 610/1411/40 +f 627/775/37 636/1414/38 628/778/38 +f 625/771/39 634/1415/40 626/773/40 +f 632/1112/42 633/1416/39 625/771/39 +f 630/781/44 639/1417/41 631/768/41 +f 628/778/38 637/1418/43 629/1113/43 +f 626/773/40 635/1419/37 627/775/37 +f 631/768/41 640/1420/42 632/1112/42 +f 629/1114/43 638/1421/44 630/781/44 +f 655/791/49 648/1422/50 647/1423/49 +f 653/801/51 646/1424/52 645/1425/51 +f 651/797/45 644/1426/46 643/1427/45 +f 649/793/47 642/1428/48 641/1429/47 +f 656/790/50 641/1429/47 648/1422/50 +f 654/803/52 647/1423/49 646/1424/52 +f 652/798/46 645/1430/51 644/1426/46 +f 650/795/48 643/1427/45 642/1428/48 +f 659/796/45 668/1431/46 660/799/46 +f 657/792/47 666/1432/48 658/794/48 +f 664/1125/50 665/1433/47 657/792/47 +f 662/802/52 671/1434/49 663/789/49 +f 660/799/46 669/1435/51 661/1126/51 +f 658/794/48 667/1436/45 659/796/45 +f 663/789/49 672/1437/50 664/1125/50 +f 661/1127/51 670/1438/52 662/802/52 +f 687/812/57 680/1439/58 679/1440/57 +f 685/822/59 678/1441/60 677/1442/59 +f 683/818/53 676/1443/54 675/1444/53 +f 681/814/55 674/1445/56 673/1446/55 +f 688/811/58 673/1446/55 680/1439/58 +f 686/824/60 679/1440/57 678/1441/60 +f 684/819/54 677/1447/59 676/1443/54 +f 682/816/56 675/1444/53 674/1445/56 +f 691/817/53 700/1448/54 692/820/54 +f 689/813/55 698/1449/56 690/815/56 +f 696/1138/58 697/1450/55 689/813/55 +f 694/823/60 703/1451/57 695/810/57 +f 692/820/54 701/1452/59 693/1139/59 +f 690/815/56 699/1453/53 691/817/53 +f 695/810/57 704/1454/58 696/1138/58 +f 693/1140/59 702/1455/60 694/823/60 +f 719/833/65 712/1456/66 711/1457/65 +f 717/845/67 710/1458/68 709/1459/67 +f 715/839/61 708/1460/62 707/1461/61 +f 713/835/63 706/1462/64 705/1463/63 +f 720/832/66 705/1463/63 712/1456/66 +f 718/844/68 711/1457/65 710/1458/68 +f 716/840/62 709/1464/67 708/1460/62 +f 714/837/64 707/1461/61 706/1462/64 +f 723/838/61 732/1465/62 724/841/62 +f 721/834/63 730/1466/64 722/836/64 +f 728/1151/66 729/1467/63 721/834/63 +f 726/846/68 735/1468/65 727/831/65 +f 724/841/62 733/1469/67 725/1152/67 +f 722/836/64 731/1470/61 723/838/61 +f 727/831/65 736/1471/66 728/1151/66 +f 725/843/67 734/1472/68 726/846/68 +f 751/855/73 744/1473/74 743/1474/73 +f 749/867/75 742/1475/76 741/1476/75 +f 747/861/69 740/1477/70 739/1478/69 +f 745/857/71 738/1479/72 737/1480/71 +f 752/854/74 737/1480/71 744/1473/74 +f 750/866/76 743/1474/73 742/1475/76 +f 748/862/70 741/1481/75 740/1477/70 +f 746/859/72 739/1478/69 738/1479/72 +f 755/860/69 764/1482/70 756/863/70 +f 753/856/71 762/1483/72 754/858/72 +f 760/1163/74 761/1484/71 753/856/71 +f 758/1165/76 767/1485/73 759/853/73 +f 756/863/70 765/1486/75 757/1164/75 +f 754/858/72 763/1487/69 755/860/69 +f 759/853/73 768/1488/74 760/1163/74 +f 757/865/75 766/1489/76 758/1165/76 +f 783/876/43 776/1490/44 775/1491/43 +f 781/886/37 774/1492/38 773/1493/37 +f 779/882/39 772/1494/40 771/1495/39 +f 777/878/41 770/1496/42 769/1497/41 +f 784/875/44 769/1497/41 776/1490/44 +f 782/888/38 775/1491/43 774/1492/38 +f 780/883/40 773/1498/37 772/1494/40 +f 778/880/42 771/1495/39 770/1496/42 +f 787/881/39 796/1499/40 788/884/40 +f 785/877/41 794/1500/42 786/879/42 +f 792/1176/44 793/1501/41 785/877/41 +f 790/887/38 799/1502/43 791/874/43 +f 788/884/40 797/1503/37 789/1177/37 +f 786/879/42 795/1504/39 787/881/39 +f 791/874/43 800/1505/44 792/1176/44 +f 789/1178/37 798/1506/38 790/887/38 +f 815/897/51 808/1507/52 807/1508/51 +f 813/907/45 806/1509/46 805/1510/45 +f 811/903/47 804/1511/48 803/1512/47 +f 809/899/49 802/1513/50 801/1514/49 +f 816/896/52 801/1514/49 808/1507/52 +f 814/909/46 807/1508/51 806/1509/46 +f 812/904/48 805/1515/45 804/1511/48 +f 810/901/50 803/1512/47 802/1513/50 +f 819/902/47 828/1516/48 820/905/48 +f 817/898/49 826/1517/50 818/900/50 +f 824/1189/52 825/1518/49 817/898/49 +f 822/908/46 831/1519/51 823/895/51 +f 820/905/48 829/1520/45 821/1190/45 +f 818/900/50 827/1521/47 819/902/47 +f 823/895/51 832/1522/52 824/1189/52 +f 821/1191/45 830/1523/46 822/908/46 +f 847/918/59 840/1524/60 839/1525/59 +f 845/928/53 838/1526/54 837/1527/53 +f 843/924/55 836/1528/56 835/1529/55 +f 841/920/57 834/1530/58 833/1531/57 +f 848/917/60 833/1531/57 840/1524/60 +f 846/930/54 839/1525/59 838/1526/54 +f 844/925/56 837/1532/53 836/1528/56 +f 842/922/58 835/1529/55 834/1530/58 +f 851/923/55 860/1533/56 852/926/56 +f 849/919/57 858/1534/58 850/921/58 +f 856/1202/60 857/1535/57 849/919/57 +f 854/929/54 863/1536/59 855/916/59 +f 852/926/56 861/1537/53 853/1203/53 +f 850/921/58 859/1538/55 851/923/55 +f 855/916/59 864/1539/60 856/1202/60 +f 853/1204/53 862/1540/54 854/929/54 +f 879/939/67 872/1541/68 871/1542/67 +f 877/951/61 870/1543/62 869/1544/61 +f 875/945/63 868/1545/64 867/1546/63 +f 873/941/65 866/1547/66 865/1548/65 +f 880/938/68 865/1548/65 872/1541/68 +f 878/950/62 871/1542/67 870/1543/62 +f 876/946/64 869/1549/61 868/1545/64 +f 874/943/66 867/1546/63 866/1547/66 +f 883/944/63 892/1550/64 884/947/64 +f 881/940/65 890/1551/66 882/942/66 +f 888/1215/68 889/1552/65 881/940/65 +f 886/952/62 895/1553/67 887/937/67 +f 884/947/64 893/1554/61 885/1216/61 +f 882/942/66 891/1555/63 883/944/63 +f 887/937/67 896/1556/68 888/1215/68 +f 885/949/61 894/1557/62 886/952/62 +f 911/961/75 904/1558/76 903/1559/75 +f 909/973/69 902/1560/70 901/1561/69 +f 907/967/71 900/1562/72 899/1563/71 +f 905/963/73 898/1564/74 897/1565/73 +f 912/960/76 897/1565/73 904/1558/76 +f 910/972/70 903/1559/75 902/1560/70 +f 908/968/72 901/1566/69 900/1562/72 +f 906/965/74 899/1563/71 898/1564/74 +f 915/966/71 924/1567/72 916/969/72 +f 913/1227/73 922/1568/74 914/964/74 +f 920/962/76 921/1569/73 913/1227/73 +f 918/1229/70 927/1570/75 919/959/75 +f 916/969/72 925/1571/69 917/1228/69 +f 914/964/74 923/1572/71 915/966/71 +f 919/959/75 928/1573/76 920/962/76 +f 917/971/69 926/1574/70 918/1229/70 +f 271/526/37 272/525/38 264/1235/38 +f 269/538/39 270/537/40 262/1237/40 +f 267/532/41 268/533/42 260/1239/42 +f 265/528/43 266/530/44 258/1241/44 +f 272/525/38 265/528/43 257/1242/43 +f 270/537/40 271/526/37 263/1236/37 +f 268/533/42 269/535/39 261/1243/39 +f 266/530/44 267/532/41 259/1240/41 +f 275/531/41 283/1249/41 284/1244/42 +f 273/527/43 281/1246/43 282/1245/44 +f 280/982/38 288/1250/38 281/1246/43 +f 278/984/40 286/1251/40 287/1247/37 +f 276/534/42 284/1244/42 285/1248/39 +f 274/529/44 282/1245/44 283/1249/41 +f 279/524/37 287/1247/37 288/1250/38 +f 277/536/39 285/1575/39 286/1251/40 +f 335/578/45 336/577/46 328/1252/46 +f 333/590/47 334/589/48 326/1254/48 +f 331/584/49 332/585/50 324/1256/50 +f 329/580/51 330/582/52 322/1258/52 +f 336/577/46 329/580/51 321/1259/51 +f 334/589/48 335/578/45 327/1253/45 +f 332/585/50 333/587/47 325/1260/47 +f 330/582/52 331/584/49 323/1257/49 +f 339/583/49 347/1266/49 348/1261/50 +f 337/579/51 345/1263/51 346/1262/52 +f 344/998/46 352/1267/46 345/1263/51 +f 342/1000/48 350/1268/48 351/1264/45 +f 340/586/50 348/1261/50 349/1265/47 +f 338/581/52 346/1262/52 347/1266/49 +f 343/576/45 351/1264/45 352/1267/46 +f 341/588/47 349/1576/47 350/1268/48 +f 367/599/53 368/598/54 360/1269/54 +f 365/611/55 366/610/56 358/1271/56 +f 363/605/57 364/606/58 356/1273/58 +f 361/601/59 362/603/60 354/1275/60 +f 368/598/54 361/601/59 353/1276/59 +f 366/610/56 367/599/53 359/1270/53 +f 364/606/58 365/608/55 357/1277/55 +f 362/603/60 363/605/57 355/1274/57 +f 371/604/57 379/1283/57 380/1278/58 +f 369/600/59 377/1280/59 378/1279/60 +f 376/1011/54 384/1284/54 377/1280/59 +f 374/612/56 382/1285/56 383/1281/53 +f 372/607/58 380/1278/58 381/1282/55 +f 370/602/60 378/1279/60 379/1283/57 +f 375/597/53 383/1281/53 384/1284/54 +f 373/609/55 381/1577/55 382/1285/56 +f 399/621/61 400/620/62 392/1286/62 +f 397/633/63 398/632/64 390/1288/64 +f 395/627/65 396/628/66 388/1290/66 +f 393/623/67 394/625/68 386/1292/68 +f 400/620/62 393/623/67 385/1293/67 +f 398/632/64 399/621/61 391/1287/61 +f 396/628/66 397/630/63 389/1294/63 +f 394/625/68 395/627/65 387/1291/65 +f 403/626/65 411/1300/65 412/1295/66 +f 401/622/67 409/1297/67 410/1296/68 +f 408/1023/62 416/1301/62 409/1297/67 +f 406/634/64 414/1302/64 415/1298/61 +f 404/629/66 412/1295/66 413/1299/63 +f 402/624/68 410/1296/68 411/1300/65 +f 407/619/61 415/1298/61 416/1301/62 +f 405/631/63 413/1578/63 414/1302/64 +f 431/643/69 432/642/70 424/1303/70 +f 429/653/71 430/655/72 422/1305/72 +f 427/649/73 428/650/74 420/1307/74 +f 425/645/75 426/647/76 418/1309/76 +f 432/642/70 425/645/75 417/1310/75 +f 430/655/72 431/643/69 423/1304/69 +f 428/650/74 429/652/71 421/1311/71 +f 426/647/76 427/649/73 419/1308/73 +f 435/648/73 443/1317/73 444/1312/74 +f 433/644/75 441/1314/75 442/1313/76 +f 440/1035/70 448/1318/70 441/1314/75 +f 438/654/72 446/1319/72 447/1315/69 +f 436/651/74 444/1312/74 445/1316/71 +f 434/646/76 442/1313/76 443/1317/73 +f 439/641/69 447/1315/69 448/1318/70 +f 437/1037/71 445/1579/71 446/1319/72 +f 463/664/39 464/663/40 456/1320/40 +f 461/674/41 462/676/42 454/1322/42 +f 459/670/43 460/671/44 452/1324/44 +f 457/666/37 458/668/38 450/1326/38 +f 464/663/40 457/666/37 449/1327/37 +f 462/676/42 463/664/39 455/1321/39 +f 460/671/44 461/673/41 453/1328/41 +f 458/668/38 459/670/43 451/1325/43 +f 467/669/43 475/1334/43 476/1329/44 +f 465/665/37 473/1331/37 474/1330/38 +f 472/1048/40 480/1335/40 473/1331/37 +f 470/675/42 478/1336/42 479/1332/39 +f 468/672/44 476/1329/44 477/1333/41 +f 466/667/38 474/1330/38 475/1334/43 +f 471/662/39 479/1332/39 480/1335/40 +f 469/1050/41 477/1580/41 478/1336/42 +f 495/685/47 496/684/48 488/1337/48 +f 493/697/49 494/696/50 486/1339/50 +f 491/691/51 492/692/52 484/1341/52 +f 489/687/45 490/689/46 482/1343/46 +f 496/684/48 489/687/45 481/1344/45 +f 494/696/50 495/685/47 487/1338/47 +f 492/692/52 493/694/49 485/1345/49 +f 490/689/46 491/691/51 483/1342/51 +f 499/690/51 507/1351/51 508/1346/52 +f 497/686/45 505/1348/45 506/1347/46 +f 504/1061/48 512/1352/48 505/1348/45 +f 502/1063/50 510/1353/50 511/1349/47 +f 500/693/52 508/1346/52 509/1350/49 +f 498/688/46 506/1347/46 507/1351/51 +f 503/683/47 511/1349/47 512/1352/48 +f 501/695/49 509/1581/49 510/1353/50 +f 527/706/55 528/705/56 520/1354/56 +f 525/716/57 526/718/58 518/1356/58 +f 523/712/59 524/713/60 516/1358/60 +f 521/708/53 522/710/54 514/1360/54 +f 528/705/56 521/708/53 513/1361/53 +f 526/718/58 527/706/55 519/1355/55 +f 524/713/60 525/715/57 517/1362/57 +f 522/710/54 523/712/59 515/1359/59 +f 531/711/59 539/1368/59 540/1363/60 +f 529/707/53 537/1365/53 538/1364/54 +f 536/1074/56 544/1369/56 537/1365/53 +f 534/717/58 542/1370/58 543/1366/55 +f 532/714/60 540/1363/60 541/1367/57 +f 530/709/54 538/1364/54 539/1368/59 +f 535/704/55 543/1366/55 544/1369/56 +f 533/1076/57 541/1582/57 542/1370/58 +f 559/727/63 560/726/64 552/1371/64 +f 557/739/65 558/738/66 550/1373/66 +f 555/733/67 556/734/68 548/1375/68 +f 553/729/61 554/731/62 546/1377/62 +f 560/726/64 553/729/61 545/1378/61 +f 558/738/66 559/727/63 551/1372/63 +f 556/734/68 557/736/65 549/1379/65 +f 554/731/62 555/733/67 547/1376/67 +f 563/732/67 571/1385/67 572/1380/68 +f 561/728/61 569/1382/61 570/1381/62 +f 568/1087/64 576/1386/64 569/1382/61 +f 566/740/66 574/1387/66 575/1383/63 +f 564/735/68 572/1380/68 573/1384/65 +f 562/730/62 570/1381/62 571/1385/67 +f 567/725/63 575/1383/63 576/1386/64 +f 565/737/65 573/1583/65 574/1387/66 +f 591/749/71 592/748/72 584/1388/72 +f 589/761/73 590/760/74 582/1390/74 +f 587/755/75 588/756/76 580/1392/76 +f 585/751/69 586/753/70 578/1394/70 +f 592/748/72 585/751/69 577/1395/69 +f 590/760/74 591/749/71 583/1389/71 +f 588/756/76 589/758/73 581/1396/73 +f 586/753/70 587/755/75 579/1393/75 +f 595/754/75 603/1402/75 604/1397/76 +f 593/750/69 601/1399/69 602/1398/70 +f 600/1099/72 608/1403/72 601/1399/69 +f 598/1101/74 606/1404/74 607/1400/71 +f 596/757/76 604/1397/76 605/1401/73 +f 594/752/70 602/1398/70 603/1402/75 +f 599/747/71 607/1400/71 608/1403/72 +f 597/759/73 605/1584/73 606/1404/74 +f 623/770/41 624/769/42 616/1405/42 +f 621/780/43 622/782/44 614/1407/44 +f 619/776/37 620/777/38 612/1409/38 +f 617/772/39 618/774/40 610/1411/40 +f 624/769/42 617/772/39 609/1412/39 +f 622/782/44 623/770/41 615/1406/41 +f 620/777/38 621/779/43 613/1413/43 +f 618/774/40 619/776/37 611/1410/37 +f 627/775/37 635/1419/37 636/1414/38 +f 625/771/39 633/1416/39 634/1415/40 +f 632/1112/42 640/1420/42 633/1416/39 +f 630/781/44 638/1421/44 639/1417/41 +f 628/778/38 636/1414/38 637/1418/43 +f 626/773/40 634/1415/40 635/1419/37 +f 631/768/41 639/1417/41 640/1420/42 +f 629/1114/43 637/1585/43 638/1421/44 +f 655/791/49 656/790/50 648/1422/50 +f 653/801/51 654/803/52 646/1424/52 +f 651/797/45 652/798/46 644/1426/46 +f 649/793/47 650/795/48 642/1428/48 +f 656/790/50 649/793/47 641/1429/47 +f 654/803/52 655/791/49 647/1423/49 +f 652/798/46 653/800/51 645/1430/51 +f 650/795/48 651/797/45 643/1427/45 +f 659/796/45 667/1436/45 668/1431/46 +f 657/792/47 665/1433/47 666/1432/48 +f 664/1125/50 672/1437/50 665/1433/47 +f 662/802/52 670/1438/52 671/1434/49 +f 660/799/46 668/1431/46 669/1435/51 +f 658/794/48 666/1432/48 667/1436/45 +f 663/789/49 671/1434/49 672/1437/50 +f 661/1127/51 669/1586/51 670/1438/52 +f 687/812/57 688/811/58 680/1439/58 +f 685/822/59 686/824/60 678/1441/60 +f 683/818/53 684/819/54 676/1443/54 +f 681/814/55 682/816/56 674/1445/56 +f 688/811/58 681/814/55 673/1446/55 +f 686/824/60 687/812/57 679/1440/57 +f 684/819/54 685/821/59 677/1447/59 +f 682/816/56 683/818/53 675/1444/53 +f 691/817/53 699/1453/53 700/1448/54 +f 689/813/55 697/1450/55 698/1449/56 +f 696/1138/58 704/1454/58 697/1450/55 +f 694/823/60 702/1455/60 703/1451/57 +f 692/820/54 700/1448/54 701/1452/59 +f 690/815/56 698/1449/56 699/1453/53 +f 695/810/57 703/1451/57 704/1454/58 +f 693/1140/59 701/1587/59 702/1455/60 +f 719/833/65 720/832/66 712/1456/66 +f 717/845/67 718/844/68 710/1458/68 +f 715/839/61 716/840/62 708/1460/62 +f 713/835/63 714/837/64 706/1462/64 +f 720/832/66 713/835/63 705/1463/63 +f 718/844/68 719/833/65 711/1457/65 +f 716/840/62 717/842/67 709/1464/67 +f 714/837/64 715/839/61 707/1461/61 +f 723/838/61 731/1470/61 732/1465/62 +f 721/834/63 729/1467/63 730/1466/64 +f 728/1151/66 736/1471/66 729/1467/63 +f 726/846/68 734/1472/68 735/1468/65 +f 724/841/62 732/1465/62 733/1469/67 +f 722/836/64 730/1466/64 731/1470/61 +f 727/831/65 735/1468/65 736/1471/66 +f 725/843/67 733/1588/67 734/1472/68 +f 751/855/73 752/854/74 744/1473/74 +f 749/867/75 750/866/76 742/1475/76 +f 747/861/69 748/862/70 740/1477/70 +f 745/857/71 746/859/72 738/1479/72 +f 752/854/74 745/857/71 737/1480/71 +f 750/866/76 751/855/73 743/1474/73 +f 748/862/70 749/864/75 741/1481/75 +f 746/859/72 747/861/69 739/1478/69 +f 755/860/69 763/1487/69 764/1482/70 +f 753/856/71 761/1484/71 762/1483/72 +f 760/1163/74 768/1488/74 761/1484/71 +f 758/1165/76 766/1489/76 767/1485/73 +f 756/863/70 764/1482/70 765/1486/75 +f 754/858/72 762/1483/72 763/1487/69 +f 759/853/73 767/1485/73 768/1488/74 +f 757/865/75 765/1589/75 766/1489/76 +f 783/876/43 784/875/44 776/1490/44 +f 781/886/37 782/888/38 774/1492/38 +f 779/882/39 780/883/40 772/1494/40 +f 777/878/41 778/880/42 770/1496/42 +f 784/875/44 777/878/41 769/1497/41 +f 782/888/38 783/876/43 775/1491/43 +f 780/883/40 781/885/37 773/1498/37 +f 778/880/42 779/882/39 771/1495/39 +f 787/881/39 795/1504/39 796/1499/40 +f 785/877/41 793/1501/41 794/1500/42 +f 792/1176/44 800/1505/44 793/1501/41 +f 790/887/38 798/1506/38 799/1502/43 +f 788/884/40 796/1499/40 797/1503/37 +f 786/879/42 794/1500/42 795/1504/39 +f 791/874/43 799/1502/43 800/1505/44 +f 789/1178/37 797/1590/37 798/1506/38 +f 815/897/51 816/896/52 808/1507/52 +f 813/907/45 814/909/46 806/1509/46 +f 811/903/47 812/904/48 804/1511/48 +f 809/899/49 810/901/50 802/1513/50 +f 816/896/52 809/899/49 801/1514/49 +f 814/909/46 815/897/51 807/1508/51 +f 812/904/48 813/906/45 805/1515/45 +f 810/901/50 811/903/47 803/1512/47 +f 819/902/47 827/1521/47 828/1516/48 +f 817/898/49 825/1518/49 826/1517/50 +f 824/1189/52 832/1522/52 825/1518/49 +f 822/908/46 830/1523/46 831/1519/51 +f 820/905/48 828/1516/48 829/1520/45 +f 818/900/50 826/1517/50 827/1521/47 +f 823/895/51 831/1519/51 832/1522/52 +f 821/1191/45 829/1591/45 830/1523/46 +f 847/918/59 848/917/60 840/1524/60 +f 845/928/53 846/930/54 838/1526/54 +f 843/924/55 844/925/56 836/1528/56 +f 841/920/57 842/922/58 834/1530/58 +f 848/917/60 841/920/57 833/1531/57 +f 846/930/54 847/918/59 839/1525/59 +f 844/925/56 845/927/53 837/1532/53 +f 842/922/58 843/924/55 835/1529/55 +f 851/923/55 859/1538/55 860/1533/56 +f 849/919/57 857/1535/57 858/1534/58 +f 856/1202/60 864/1539/60 857/1535/57 +f 854/929/54 862/1540/54 863/1536/59 +f 852/926/56 860/1533/56 861/1537/53 +f 850/921/58 858/1534/58 859/1538/55 +f 855/916/59 863/1536/59 864/1539/60 +f 853/1204/53 861/1592/53 862/1540/54 +f 879/939/67 880/938/68 872/1541/68 +f 877/951/61 878/950/62 870/1543/62 +f 875/945/63 876/946/64 868/1545/64 +f 873/941/65 874/943/66 866/1547/66 +f 880/938/68 873/941/65 865/1548/65 +f 878/950/62 879/939/67 871/1542/67 +f 876/946/64 877/948/61 869/1549/61 +f 874/943/66 875/945/63 867/1546/63 +f 883/944/63 891/1555/63 892/1550/64 +f 881/940/65 889/1552/65 890/1551/66 +f 888/1215/68 896/1556/68 889/1552/65 +f 886/952/62 894/1557/62 895/1553/67 +f 884/947/64 892/1550/64 893/1554/61 +f 882/942/66 890/1551/66 891/1555/63 +f 887/937/67 895/1553/67 896/1556/68 +f 885/949/61 893/1593/61 894/1557/62 +f 911/961/75 912/960/76 904/1558/76 +f 909/973/69 910/972/70 902/1560/70 +f 907/967/71 908/968/72 900/1562/72 +f 905/963/73 906/965/74 898/1564/74 +f 912/960/76 905/963/73 897/1565/73 +f 910/972/70 911/961/75 903/1559/75 +f 908/968/72 909/970/69 901/1566/69 +f 906/965/74 907/967/71 899/1563/71 +f 915/966/71 923/1572/71 924/1567/72 +f 913/1227/73 921/1569/73 922/1568/74 +f 920/962/76 928/1573/76 921/1569/73 +f 918/1229/70 926/1574/70 927/1570/75 +f 916/969/72 924/1567/72 925/1571/69 +f 914/964/74 922/1568/74 923/1572/71 +f 919/959/75 927/1570/75 928/1573/76 +f 917/971/69 925/1594/69 926/1574/70 +o Gun +v 1.000000 0.562500 2.000000 +v 1.000000 1.437500 2.000000 +v 1.000000 0.562500 6.000000 +v 1.000000 1.437500 6.000000 +v -1.000000 0.562500 2.000000 +v -1.000000 1.437500 2.000000 +v -1.000000 0.562500 6.000000 +v -1.000000 1.437500 6.000000 +v 0.437500 2.000000 2.000000 +v -0.437500 2.000000 2.000000 +v 0.437500 2.000000 6.000000 +v -0.437500 2.000000 6.000000 +v 0.437500 0.000000 2.000000 +v -0.437500 0.000000 2.000000 +v 0.437500 0.000000 6.000000 +v -0.437500 0.000000 6.000000 +v 0.250000 2.750000 2.000000 +v -0.250000 2.750000 2.000000 +v 0.250000 2.750000 6.000000 +v -0.250000 2.750000 6.000000 +v 0.000000 1.500000 6.000000 +v 0.250000 1.433012 6.000000 +v 0.433013 1.250000 6.000000 +v 0.500000 1.000000 6.000000 +v 0.433013 0.750000 6.000000 +v 0.250000 0.566988 6.000000 +v 0.000000 0.500000 6.000000 +v -0.250000 0.566987 6.000000 +v -0.433012 0.750000 6.000000 +v -0.500000 1.000000 6.000000 +v -0.433012 1.250000 6.000000 +v -0.250000 1.433012 6.000000 +v 0.000000 1.500000 7.500000 +v 0.250000 1.433012 7.500000 +v 0.433013 1.250000 7.500000 +v 0.500000 1.000000 7.500000 +v 0.433013 0.750000 7.500000 +v 0.250000 0.566988 7.500000 +v 0.000001 0.500000 7.500000 +v -0.249999 0.566987 7.500000 +v -0.433012 0.750000 7.500000 +v -0.500000 1.000000 7.500000 +v -0.433012 1.250000 7.500000 +v -0.250000 1.433012 7.500000 +v 0.000000 1.375000 7.500000 +v 0.187500 1.324759 7.500000 +v 0.324760 1.187500 7.500000 +v 0.375000 1.000000 7.500000 +v 0.324760 0.812500 7.500000 +v 0.187500 0.675241 7.500000 +v 0.000000 0.625000 7.500000 +v -0.187499 0.675240 7.500000 +v -0.324759 0.812500 7.500000 +v -0.375000 1.000000 7.500000 +v -0.324759 1.187500 7.500000 +v -0.187500 1.324759 7.500000 +v 0.000000 1.375000 6.500000 +v 0.187500 1.324759 6.500000 +v 0.324760 1.187500 6.500000 +v 0.375000 1.000000 6.500000 +v 0.324760 0.812500 6.500000 +v 0.187500 0.675241 6.500000 +v 0.000000 0.625000 6.500000 +v -0.187500 0.675240 6.500000 +v -0.324759 0.812500 6.500000 +v -0.375000 1.000000 6.500000 +v -0.324759 1.187500 6.500000 +v -0.187500 1.324759 6.500000 +v 0.000000 1.500000 2.000000 +v 0.250000 1.433012 2.000000 +v 0.433013 1.250000 2.000000 +v 0.500000 1.000000 2.000000 +v 0.433013 0.750000 2.000000 +v 0.250000 0.566988 2.000000 +v 0.000000 0.500000 2.000000 +v -0.250000 0.566987 2.000000 +v -0.433012 0.750000 2.000000 +v -0.500000 1.000000 2.000000 +v -0.433012 1.250000 2.000000 +v -0.250000 1.433012 2.000000 +v 0.000000 1.500000 1.000000 +v 0.250000 1.433012 1.000000 +v 0.433013 1.250000 1.000000 +v 0.500000 1.000000 1.000000 +v 0.433013 0.750000 1.000000 +v 0.250000 0.566988 1.000000 +v 0.000000 0.500000 1.000000 +v -0.250000 0.566987 1.000000 +v -0.433012 0.750000 1.000000 +v -0.500000 1.000000 1.000000 +v -0.433013 1.250000 1.000000 +v -0.250000 1.433012 1.000000 +v 0.500000 0.250000 0.500000 +v -0.500000 0.250000 0.500000 +v 0.500000 0.250000 1.000000 +v -0.500000 0.250000 1.000000 +v 0.500000 1.750000 1.000000 +v 0.500000 1.250000 0.500000 +v -0.500000 1.250000 0.500000 +v -0.500000 1.750000 1.000000 +v -0.312500 0.000000 6.000000 +v 0.312500 0.000000 6.000000 +v -0.312500 0.000000 2.000000 +v 0.312500 0.000000 2.000000 +v -0.562500 -0.500000 6.000000 +v 0.562500 -0.500000 6.000000 +v -0.562500 -0.500000 2.000000 +v 0.562500 -0.500000 2.000000 +v -0.312500 -1.000000 6.000000 +v 0.312500 -1.000000 6.000000 +v -0.312500 -1.000000 2.000000 +v 0.312500 -1.000000 2.000000 +v 0.750000 0.250000 -1.875000 +v -0.750000 0.250000 -1.875000 +v 0.750000 0.250000 -1.375000 +v -0.750000 0.250000 -1.375000 +v 0.750000 2.750000 -1.375000 +v 0.312500 2.125000 2.000000 +v -0.312500 2.125000 2.000000 +v -0.750000 2.750000 -1.375000 +v 0.750000 0.500000 -2.375000 +v -0.750000 0.500000 -2.375000 +v 0.750000 2.750000 -2.375000 +v -0.750000 2.750000 -2.375000 +v -0.187500 2.625000 2.000000 +v 0.187500 2.625000 2.000000 +v 0.312500 2.125000 -1.375000 +v -0.312500 2.125000 -1.375000 +v -0.187500 2.625000 -1.375000 +v 0.187500 2.625000 -1.375000 +v 0.500000 1.250000 -1.375000 +v -0.500000 1.250000 -1.375000 +v 0.500000 2.000000 0.750000 +v -0.500000 2.000000 0.750000 +v 0.500000 2.000000 -1.375000 +v -0.500000 2.000000 -1.375000 +v -0.625000 2.000000 -2.375000 +v -1.000000 1.625000 -2.375000 +v 1.000000 1.625000 -2.375000 +v 0.625000 2.000000 -2.375000 +v -1.000000 1.625000 -4.875000 +v -0.625000 2.000000 -4.875000 +v 0.625000 2.000000 -4.875000 +v 1.000000 1.625000 -4.875000 +v 0.750000 1.375000 -4.875000 +v 0.375000 1.750000 -4.875000 +v -0.375000 1.750000 -4.875000 +v -0.750000 1.375000 -4.875000 +v 0.375000 0.250000 -4.875000 +v 0.750000 0.625000 -4.875000 +v -0.750000 0.625000 -4.875000 +v -0.375000 0.250000 -4.875000 +v 0.750000 0.625000 -6.875000 +v 0.375000 0.250000 -6.875000 +v 0.375000 1.750000 -6.875000 +v 0.750000 1.375000 -6.875000 +v -0.750000 1.375000 -6.875000 +v -0.375000 1.750000 -6.875000 +v -0.375000 0.250000 -6.875000 +v -0.750000 0.625000 -6.875000 +v 0.125000 2.750000 -2.375000 +v 0.500000 2.750000 -2.375000 +v 0.125000 2.000000 -3.375000 +v 0.500000 2.000000 -3.375000 +v 0.125000 2.000000 -2.375000 +v 0.500000 2.000000 -2.375000 +v -0.125000 2.000000 -2.375000 +v -0.500000 2.000000 -2.375000 +v -0.125000 2.000000 -3.375000 +v -0.500000 2.000000 -3.375000 +v -0.125000 2.750000 -2.375000 +v -0.500000 2.750000 -2.375000 +v -0.250000 0.000000 -3.250000 +v 0.250000 0.000000 -3.250000 +v -0.250000 0.000000 -4.625000 +v 0.250000 0.000000 -4.625000 +v -0.250000 -2.500000 -5.125000 +v -0.250000 -2.500000 -3.750000 +v 0.250000 -2.500000 -3.750000 +v 0.250000 -2.500000 -5.125000 +v 0.500000 0.000000 -3.500000 +v 0.500000 0.000000 -4.375000 +v 0.500000 -2.500000 -4.000000 +v 0.500000 -2.500000 -4.875000 +v -0.500000 0.000000 -4.375000 +v -0.500000 0.000000 -3.500000 +v -0.500000 -2.500000 -4.875000 +v -0.500000 -2.500000 -4.000000 +v -0.250000 0.000000 -2.875000 +v 0.250000 0.000000 -2.875000 +v -0.250000 -1.000000 -2.750000 +v 0.250000 -1.000000 -2.750000 +v -0.250000 0.000000 -3.250000 +v 0.250000 0.000000 -3.250000 +v -0.250000 -1.000000 -3.500000 +v 0.250000 -1.000000 -3.500000 +v 0.750000 0.875000 -4.875000 +v 1.000000 0.875000 -4.875000 +v 0.750000 1.125000 -4.875000 +v 1.000000 1.125000 -4.875000 +v 0.750000 0.875000 -8.875000 +v 1.000000 0.875000 -8.875000 +v 0.750000 1.125000 -8.875000 +v 1.000000 1.125000 -8.875000 +v -1.000000 0.875000 -4.875000 +v -0.750000 0.875000 -4.875000 +v -1.000000 1.125000 -4.875000 +v -0.750000 1.125000 -4.875000 +v -1.000000 0.875000 -8.875000 +v -0.750000 0.875000 -8.875000 +v -1.000000 1.125000 -8.875000 +v -0.750000 1.125000 -8.875000 +v 0.750000 0.875000 -9.125000 +v 1.000000 0.875000 -9.125000 +v -1.000000 0.875000 -9.125000 +v -0.750000 0.875000 -9.125000 +v 0.750000 -2.125000 -8.875000 +v 1.000000 -2.125000 -8.875000 +v -1.000000 -2.125000 -8.875000 +v -0.750000 -2.125000 -8.875000 +v 0.750000 -2.125000 -9.125000 +v 1.000000 -2.125000 -9.125000 +v -1.000000 -2.125000 -9.125000 +v -0.750000 -2.125000 -9.125000 +v 0.750000 -2.375000 -8.875000 +v -0.750000 -2.375000 -8.875000 +v 0.750000 -2.375000 -9.125000 +v -0.750000 -2.375000 -9.125000 +v 0.500000 1.500000 2.000000 +v 0.500000 1.250000 2.000000 +v 0.500000 1.500000 0.625000 +v 0.500000 1.250000 0.625000 +v 0.750000 1.500000 2.000000 +v 0.750000 1.250000 2.000000 +v 0.750000 1.500000 0.875000 +v 0.750000 1.250000 0.875000 +v 0.500000 0.750000 2.000000 +v 0.500000 0.500000 2.000000 +v 0.500000 0.750000 0.625000 +v 0.500000 0.500000 0.625000 +v 0.750000 0.750000 2.000000 +v 0.750000 0.500000 2.000000 +v 0.750000 0.750000 0.875000 +v 0.750000 0.500000 0.875000 +v -0.500000 1.500000 2.000000 +v -0.500000 1.250000 2.000000 +v -0.500000 1.500000 0.625000 +v -0.500000 1.250000 0.625000 +v -0.750000 1.500000 2.000000 +v -0.750000 1.250000 2.000000 +v -0.750000 1.500000 0.875000 +v -0.750000 1.250000 0.875000 +v -0.500000 0.750000 2.000000 +v -0.500000 0.500000 2.000000 +v -0.500000 0.750000 0.625000 +v -0.500000 0.500000 0.625000 +v -0.750000 0.750000 2.000000 +v -0.750000 0.500000 2.000000 +v -0.750000 0.750000 0.875000 +v -0.750000 0.500000 0.875000 +v -1.000000 0.375000 -2.375000 +v -0.625000 0.000000 -2.375000 +v 0.625000 0.000000 -2.375000 +v 1.000000 0.375000 -2.375000 +v -0.625000 0.000000 -4.875000 +v -1.000000 0.375000 -4.875000 +v 1.000000 0.375000 -4.875000 +v 0.625000 0.000000 -4.875000 vt 0.191235 0.199219 vt 0.063745 0.144531 vt 0.191235 0.144531 @@ -1260,314 +4672,9 @@ vt 0.346614 0.210938 vt 0.410359 0.273438 vt 0.394422 0.304688 vt 0.362550 0.304688 -vt 0.904382 0.187500 -vt 0.892430 0.246094 -vt 0.892430 0.191406 -vt 0.950199 0.875000 -vt 0.944223 0.933594 -vt 0.944223 0.878906 -vt 0.944223 0.816406 -vt 0.950199 0.871094 -vt 0.944223 0.871094 -vt 0.944223 0.753906 -vt 0.950199 0.808594 -vt 0.944223 0.808594 -vt 0.944223 0.691406 -vt 0.950199 0.746094 -vt 0.944223 0.746094 -vt 0.944223 0.628906 -vt 0.950199 0.683594 -vt 0.944223 0.683594 -vt 0.944223 0.566406 -vt 0.950199 0.621094 -vt 0.944223 0.621094 -vt 0.944223 0.503906 -vt 0.950199 0.558594 -vt 0.944223 0.558594 -vt 0.944223 0.441406 -vt 0.950199 0.496094 -vt 0.944223 0.496094 -vt 0.944223 0.378906 -vt 0.950199 0.433594 -vt 0.944223 0.433594 -vt 0.944223 0.316406 -vt 0.950199 0.371094 -vt 0.944223 0.371094 -vt 0.944223 0.253906 -vt 0.950199 0.308594 -vt 0.944223 0.308594 -vt 0.944223 0.191406 -vt 0.950199 0.246094 -vt 0.944223 0.246094 -vt 0.944223 0.183594 -vt 0.950199 0.125000 -vt 0.950199 0.183594 -vt 0.944223 0.121094 -vt 0.950199 0.062500 -vt 0.950199 0.121094 -vt 0.944223 0.058594 -vt 0.950199 0.000000 -vt 0.950199 0.058594 -vt 0.944223 0.996094 -vt 0.950199 0.937500 -vt 0.950199 0.996094 -vt 0.968127 0.937500 -vt 0.962151 0.996094 -vt 0.962151 0.937500 -vt 0.962151 0.933594 -vt 0.968127 0.875000 -vt 0.962151 0.812500 -vt 0.968127 0.812500 -vt 0.962151 0.808594 -vt 0.968127 0.750000 -vt 0.962151 0.687500 -vt 0.968127 0.687500 -vt 0.962151 0.625000 -vt 0.968127 0.625000 -vt 0.962151 0.562500 -vt 0.968127 0.562500 -vt 0.962151 0.500000 -vt 0.968127 0.500000 -vt 0.962151 0.437500 -vt 0.968127 0.437500 -vt 0.962151 0.375000 -vt 0.968127 0.375000 -vt 0.962151 0.312500 -vt 0.968127 0.312500 -vt 0.962151 0.250000 -vt 0.968127 0.250000 -vt 0.962151 0.246094 -vt 0.968127 0.187500 -vt 0.962151 0.183594 -vt 0.968127 0.125000 -vt 0.962151 0.121094 -vt 0.968127 0.062500 -vt 0.962151 0.058594 -vt 0.968127 -0.000000 -vt 0.770916 0.468772 -vt 0.778873 0.484375 -vt 0.770916 0.499978 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.515625 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.828685 0.468750 -vt 0.826693 0.480469 -vt 0.826693 0.468750 -vt 0.775907 0.505839 -vt 0.778799 0.519531 -vt 0.759050 0.519531 -vt 0.904382 0.125000 -vt 0.892430 0.183594 -vt 0.892430 0.128906 -vt 0.904382 0.062500 -vt 0.892430 0.121094 -vt 0.892430 0.066406 -vt 0.904382 -0.000000 -vt 0.892430 0.058594 -vt 0.892430 0.003906 -vt 0.904382 0.937500 -vt 0.892430 0.996094 -vt 0.892430 0.941406 -vt 0.904382 0.875000 -vt 0.892430 0.933594 -vt 0.892430 0.878906 -vt 0.904382 0.812500 -vt 0.892430 0.871094 -vt 0.892430 0.816406 -vt 0.892430 0.753906 -vt 0.904382 0.750000 -vt 0.892430 0.691406 -vt 0.904382 0.687500 -vt 0.892430 0.628906 -vt 0.904382 0.625000 -vt 0.892430 0.566406 -vt 0.904382 0.562500 -vt 0.892430 0.503906 -vt 0.904382 0.500000 -vt 0.892430 0.441406 -vt 0.904382 0.437500 -vt 0.892430 0.378906 -vt 0.904382 0.375000 -vt 0.892430 0.316406 -vt 0.904382 0.312500 -vt 0.892430 0.253906 -vt 0.904382 0.250000 -vt 0.944223 0.191406 -vt 0.938247 0.246094 -vt 0.938247 0.187500 -vt 0.938247 0.125000 -vt 0.944223 0.183594 -vt 0.938247 0.183594 -vt 0.938295 0.062694 -vt 0.944223 0.121094 -vt 0.938247 0.121094 -vt 0.938247 0.000000 -vt 0.944223 0.058594 -vt 0.938295 0.058027 -vt 0.938247 0.937500 -vt 0.944223 0.996094 -vt 0.938247 0.996094 -vt 0.938247 0.875000 -vt 0.944223 0.933594 -vt 0.938247 0.933594 -vt 0.938247 0.812500 -vt 0.944223 0.871094 -vt 0.938247 0.871094 -vt 0.944223 0.753906 -vt 0.938247 0.808594 -vt 0.938247 0.750000 -vt 0.944223 0.691406 -vt 0.938247 0.746094 -vt 0.938247 0.687500 -vt 0.944223 0.628906 -vt 0.938247 0.683594 -vt 0.938247 0.625000 -vt 0.944223 0.566406 -vt 0.938247 0.621094 -vt 0.938247 0.562500 -vt 0.944223 0.503906 -vt 0.938247 0.558594 -vt 0.938247 0.500000 -vt 0.944223 0.441406 -vt 0.938247 0.496094 -vt 0.938247 0.437500 -vt 0.944223 0.378906 -vt 0.938247 0.433594 -vt 0.938247 0.375000 -vt 0.944223 0.316406 -vt 0.938247 0.371094 -vt 0.938247 0.312500 -vt 0.944223 0.253906 -vt 0.938247 0.308594 -vt 0.938247 0.250000 -vt 0.920319 0.187500 -vt 0.926295 0.246094 -vt 0.920319 0.250000 -vt 0.920319 0.312500 -vt 0.926295 0.250000 -vt 0.926295 0.308594 -vt 0.920319 0.375000 -vt 0.926295 0.312500 -vt 0.926295 0.371094 -vt 0.920319 0.437500 -vt 0.926295 0.375000 -vt 0.926295 0.433594 -vt 0.920319 0.500000 -vt 0.926295 0.437500 -vt 0.926295 0.496094 -vt 0.920319 0.562500 -vt 0.926295 0.500000 -vt 0.926295 0.558594 -vt 0.920319 0.625000 -vt 0.926295 0.562500 -vt 0.926295 0.621094 -vt 0.920319 0.687500 -vt 0.926295 0.625000 -vt 0.926295 0.683594 -vt 0.926295 0.746094 -vt 0.920319 0.750000 -vt 0.926295 0.808594 -vt 0.920319 0.812500 -vt 0.926295 0.871094 -vt 0.920319 0.875000 -vt 0.926295 0.933594 -vt 0.920319 0.937500 -vt 0.926295 0.996094 -vt 0.920319 1.000000 -vt 0.920319 -0.000000 -vt 0.926295 0.058594 -vt 0.920319 0.062500 -vt 0.926295 0.121094 -vt 0.920319 0.125000 -vt 0.926295 0.183594 -vt 0.730756 0.268904 -vt 0.815061 0.268904 -vt 0.815061 0.434221 -vt 0.772909 0.000291 -vt 0.832521 0.117188 -vt 0.772909 0.234084 -vt 0.888446 0.273438 -vt 0.836653 0.312500 -vt 0.836653 0.273438 -vt 0.888446 0.000000 -vt 0.836653 0.039062 -vt 0.836653 0.000000 -vt 0.888446 0.351562 -vt 0.836653 0.390625 -vt 0.836653 0.351562 -vt 0.888446 0.039062 -vt 0.836653 0.078125 -vt 0.888446 0.390625 -vt 0.836653 0.429688 -vt 0.888446 0.117188 -vt 0.836653 0.117188 -vt 0.888446 0.429688 -vt 0.836653 0.468750 -vt 0.836653 0.156250 -vt 0.888446 0.468750 -vt 0.836653 0.507812 -vt 0.888446 0.156250 -vt 0.836653 0.195312 -vt 0.888446 0.507812 -vt 0.836653 0.546875 -vt 0.888446 0.234375 -vt 0.836653 0.234375 -vt 0.888446 0.546875 -vt 0.836653 0.585938 -vt 0.888446 0.585938 -vt 0.836653 0.625000 -vt 0.888446 0.312500 -vt 0.730756 0.034529 -vt 0.815061 0.034529 -vt 0.815061 0.199846 -vt 0.772909 0.234666 -vt 0.832521 0.351562 -vt 0.772908 0.468459 -vt 0.996016 0.378906 -vt 0.984064 0.437500 -vt 0.984064 0.375000 -vt 0.996016 0.441406 -vt 0.984064 0.500000 -vt 0.996016 0.503906 -vt 0.984064 0.562500 -vt 0.996016 0.566406 -vt 0.984064 0.625000 -vt 0.996016 0.628906 -vt 0.984064 0.687500 -vt 0.996016 0.691406 -vt 0.984064 0.750000 -vt 0.996016 0.753906 -vt 0.984064 0.812500 -vt 0.996016 0.871094 -vt 0.984064 0.875000 -vt 0.996016 0.933594 -vt 0.984064 0.937500 -vt 0.996016 0.996094 -vt 0.984064 1.000000 -vt 0.984064 -0.000000 -vt 0.996016 0.058594 -vt 0.984064 0.062500 -vt 0.996016 0.121094 -vt 0.984064 0.125000 -vt 0.996016 0.183594 -vt 0.984064 0.187500 -vt 0.996016 0.191406 -vt 0.984064 0.250000 -vt 0.996016 0.253906 -vt 0.984064 0.312500 -vt 0.996016 0.316406 -vt 0.237696 0.108441 -vt 0.237699 0.233606 -vt 0.209955 0.233606 +vt 0.233068 0.109375 +vt 0.237052 0.234375 +vt 0.209163 0.234375 vt 0.041833 0.109375 vt 0.045817 0.234375 vt 0.021912 0.109375 @@ -1761,410 +4868,6 @@ vt 0.557769 0.304688 vt 0.256642 0.222588 vt 0.266932 0.187637 vt 0.277223 0.222588 -vt 0.770916 0.468772 -vt 0.778873 0.484375 -vt 0.770916 0.499978 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.515625 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.828685 0.468750 -vt 0.826693 0.480469 -vt 0.826693 0.468750 -vt 0.768925 0.538894 -vt 0.759050 0.519531 -vt 0.768925 0.500168 -vt 0.770916 0.468772 -vt 0.778873 0.484375 -vt 0.770916 0.499978 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.515625 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.828685 0.468750 -vt 0.826693 0.480469 -vt 0.826693 0.468750 -vt 0.828685 0.480469 -vt 0.775907 0.505839 -vt 0.778799 0.519531 -vt 0.759050 0.519531 -vt 0.762959 0.484375 -vt 0.770916 0.468772 -vt 0.778873 0.484375 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.515625 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.828685 0.468750 -vt 0.826693 0.480469 -vt 0.826693 0.468750 -vt 0.828685 0.480469 -vt 0.775907 0.505839 -vt 0.778799 0.519531 -vt 0.759050 0.519531 -vt 0.762959 0.484375 -vt 0.770916 0.468772 -vt 0.778873 0.484375 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.515625 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.826693 0.468750 -vt 0.828685 0.480469 -vt 0.826693 0.480469 -vt 0.775907 0.505839 -vt 0.778799 0.519531 -vt 0.759050 0.519531 -vt 0.762959 0.484375 -vt 0.770916 0.468772 -vt 0.778873 0.484375 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.515625 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.826693 0.468750 -vt 0.828685 0.480469 -vt 0.826693 0.480469 -vt 0.778799 0.519531 -vt 0.768925 0.538894 -vt 0.759050 0.519531 -vt 0.770916 0.468772 -vt 0.778873 0.484375 -vt 0.770916 0.499978 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.515625 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.828685 0.468750 -vt 0.826693 0.480469 -vt 0.826693 0.468750 -vt 0.778799 0.519531 -vt 0.768925 0.538894 -vt 0.759050 0.519531 -vt 0.770916 0.499978 -vt 0.762959 0.484375 -vt 0.770916 0.468772 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.515625 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.826693 0.468750 -vt 0.828685 0.480469 -vt 0.826693 0.480469 -vt 0.775907 0.505839 -vt 0.778799 0.519531 -vt 0.759050 0.519531 -vt 0.762959 0.484375 -vt 0.770916 0.468772 -vt 0.778873 0.484375 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.515625 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.828685 0.468750 -vt 0.826693 0.480469 -vt 0.826693 0.468750 -vt 0.828685 0.480469 -vt 0.778799 0.519531 -vt 0.768925 0.538894 -vt 0.759050 0.519531 -vt 0.762959 0.484375 -vt 0.770916 0.468772 -vt 0.778873 0.484375 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.515625 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.828685 0.468750 -vt 0.826693 0.480469 -vt 0.826693 0.468750 -vt 0.775907 0.505839 -vt 0.778799 0.519531 -vt 0.759050 0.519531 -vt 0.778873 0.484375 -vt 0.776543 0.495408 -vt 0.770916 0.499978 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.515625 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.826693 0.468750 -vt 0.828685 0.480469 -vt 0.826693 0.480469 -vt 0.778799 0.519531 -vt 0.768925 0.538894 -vt 0.759050 0.519531 -vt 0.770916 0.468772 -vt 0.778873 0.484375 -vt 0.770916 0.499978 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.515625 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.826693 0.468750 -vt 0.828685 0.480469 -vt 0.826693 0.480469 -vt 0.778799 0.519531 -vt 0.768925 0.538894 -vt 0.759050 0.519531 -vt 0.770916 0.499978 -vt 0.762959 0.484375 -vt 0.770916 0.468772 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.515625 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.826693 0.468750 -vt 0.828685 0.480469 -vt 0.826693 0.480469 -vt 0.775907 0.505839 -vt 0.778799 0.519531 -vt 0.759050 0.519531 -vt 0.770916 0.499978 -vt 0.762959 0.484375 -vt 0.770916 0.468772 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.515625 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.828685 0.468750 -vt 0.826693 0.480469 -vt 0.826693 0.468750 -vt 0.828685 0.480469 -vt 0.778799 0.519531 -vt 0.768925 0.538894 -vt 0.759050 0.519531 -vt 0.762959 0.484375 -vt 0.770916 0.468772 -vt 0.778873 0.484375 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.515625 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.828685 0.468750 -vt 0.826693 0.480469 -vt 0.826693 0.468750 -vt 0.775907 0.505839 -vt 0.778799 0.519531 -vt 0.759050 0.519531 -vt 0.762959 0.484375 -vt 0.770916 0.468772 -vt 0.778873 0.484375 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.515625 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.826693 0.468750 -vt 0.828685 0.480469 -vt 0.826693 0.480469 -vt 0.778799 0.519531 -vt 0.768925 0.538894 -vt 0.759050 0.519531 -vt 0.770916 0.468772 -vt 0.778873 0.484375 -vt 0.770916 0.499978 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.515625 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.826693 0.468750 -vt 0.828685 0.480469 -vt 0.826693 0.480469 -vt 0.778799 0.519531 -vt 0.768925 0.538894 -vt 0.759050 0.519531 -vt 0.770916 0.499978 -vt 0.762959 0.484375 -vt 0.770916 0.468772 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.515625 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.826693 0.468750 -vt 0.828685 0.480469 -vt 0.826693 0.480469 -vt 0.768925 0.500168 -vt 0.775907 0.505839 -vt 0.778799 0.519531 -vt 0.762959 0.484375 -vt 0.770916 0.468772 -vt 0.778873 0.484375 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.515625 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.828685 0.468750 -vt 0.826693 0.480469 -vt 0.826693 0.468750 -vt 0.828685 0.480469 -vt 0.778799 0.519531 -vt 0.768925 0.538894 -vt 0.759050 0.519531 -vt 0.762959 0.484375 -vt 0.770916 0.468772 -vt 0.778873 0.484375 -vt 0.828685 0.492188 -vt 0.826693 0.503906 -vt 0.826693 0.492188 -vt 0.828685 0.503906 -vt 0.826693 0.515625 -vt 0.828685 0.527344 -vt 0.826693 0.527344 -vt 0.828685 0.539062 -vt 0.826693 0.539062 -vt 0.826693 0.550781 -vt 0.828685 0.550781 -vt 0.826693 0.562500 -vt 0.828685 0.468750 -vt 0.826693 0.480469 -vt 0.826693 0.468750 -vt 0.775907 0.505839 -vt 0.778799 0.519531 -vt 0.759050 0.519531 vt 0.063745 0.234375 vt 0.191235 0.492188 vt 0.063745 0.101562 @@ -2177,168 +4880,17 @@ vt 0.286853 0.167969 vt 0.286853 0.105469 vt 0.362550 0.000000 vt 0.410359 0.210938 -vt 0.950199 0.933594 -vt 0.950199 0.812500 -vt 0.950199 0.750000 -vt 0.950199 0.687500 -vt 0.950199 0.625000 -vt 0.950199 0.562500 -vt 0.950199 0.500000 -vt 0.950199 0.437500 -vt 0.950199 0.375000 -vt 0.950199 0.312500 -vt 0.950199 0.250000 -vt 0.950199 0.187500 -vt 0.944223 0.128906 -vt 0.944223 0.066406 -vt 0.944223 0.003906 -vt 0.944223 0.941406 -vt 0.968127 1.000000 -vt 0.962151 0.875000 -vt 0.962151 0.871094 -vt 0.962151 0.750000 -vt 0.962151 0.746094 -vt 0.962151 0.683594 -vt 0.962151 0.621094 -vt 0.962151 0.558594 -vt 0.962151 0.496094 -vt 0.962151 0.433594 -vt 0.962151 0.371094 -vt 0.962151 0.308594 -vt 0.962151 0.187500 -vt 0.962151 0.125000 -vt 0.962151 0.062500 -vt 0.962151 0.000000 -vt 0.765290 0.495408 -vt 0.762959 0.484375 -vt 0.765290 0.473342 -vt 0.776543 0.473342 -vt 0.776543 0.495408 -vt 0.828685 0.503906 -vt 0.828685 0.562500 -vt 0.828685 0.480469 -vt 0.775907 0.533223 -vt 0.768925 0.538894 -vt 0.761942 0.533223 -vt 0.761942 0.505839 -vt 0.768925 0.500168 -vt 0.904382 1.000000 -vt 0.892430 0.808594 -vt 0.892430 0.746094 -vt 0.892430 0.683594 -vt 0.892430 0.621094 -vt 0.892430 0.558594 -vt 0.892430 0.496094 -vt 0.892430 0.433594 -vt 0.892430 0.371094 -vt 0.892430 0.308594 -vt 0.944223 0.246094 -vt 0.944223 0.128906 -vt 0.944223 0.066406 -vt 0.944223 0.003906 -vt 0.944223 0.941406 -vt 0.944223 0.878906 -vt 0.944223 0.816406 -vt 0.944223 0.808594 -vt 0.944223 0.746094 -vt 0.944223 0.683594 -vt 0.944223 0.621094 -vt 0.944223 0.558594 -vt 0.944223 0.496094 -vt 0.944223 0.433594 -vt 0.944223 0.371094 -vt 0.944223 0.308594 -vt 0.926295 0.187500 -vt 0.926295 0.687500 -vt 0.926295 0.750000 -vt 0.926295 0.812500 -vt 0.926295 0.875000 -vt 0.926295 0.937500 -vt 0.926295 0.000000 -vt 0.926295 0.062500 -vt 0.926295 0.125000 -vt 0.795721 0.459561 -vt 0.772908 0.468459 -vt 0.750096 0.459561 -vt 0.730756 0.434221 -vt 0.717834 0.396297 -vt 0.713296 0.351562 -vt 0.717834 0.306828 -vt 0.750096 0.243564 -vt 0.772908 0.234666 -vt 0.795721 0.243564 -vt 0.827983 0.306828 -vt 0.832521 0.351563 -vt 0.827983 0.396297 -vt 0.750096 0.225186 -vt 0.730756 0.199846 -vt 0.717834 0.161922 -vt 0.713296 0.117187 -vt 0.717834 0.072453 -vt 0.730756 0.034529 -vt 0.750096 0.009189 -vt 0.795721 0.009189 -vt 0.815061 0.034529 -vt 0.827984 0.072453 -vt 0.827983 0.161922 -vt 0.815061 0.199846 -vt 0.795721 0.225186 -vt 0.888446 0.078125 -vt 0.888446 0.195312 -vt 0.888446 0.625000 -vt 0.795721 0.225186 -vt 0.772909 0.234084 -vt 0.750096 0.225186 -vt 0.730756 0.199846 -vt 0.717834 0.161922 -vt 0.713296 0.117188 -vt 0.717834 0.072453 -vt 0.750096 0.009189 -vt 0.772909 0.000291 -vt 0.795721 0.009189 -vt 0.827984 0.072453 -vt 0.832521 0.117188 -vt 0.827983 0.161922 -vt 0.750096 0.459561 -vt 0.730756 0.434221 -vt 0.717834 0.396297 -vt 0.713296 0.351562 -vt 0.717834 0.306828 -vt 0.730756 0.268904 -vt 0.750096 0.243564 -vt 0.795721 0.243564 -vt 0.815061 0.268904 -vt 0.827983 0.306828 -vt 0.827983 0.396297 -vt 0.815061 0.434221 -vt 0.795721 0.459561 -vt 0.996016 0.433594 -vt 0.996016 0.496094 -vt 0.996016 0.558594 -vt 0.996016 0.621094 -vt 0.996016 0.683594 -vt 0.996016 0.746094 -vt 0.996016 0.808594 -vt 0.996016 0.816406 -vt 0.996016 0.878906 -vt 0.996016 0.941406 -vt 0.996016 0.003906 -vt 0.996016 0.066406 -vt 0.996016 0.128906 -vt 0.996016 0.246094 -vt 0.996016 0.308594 -vt 0.996016 0.371094 -vt 0.213919 0.109255 -vt 0.209955 0.109255 -vt 0.204076 0.072280 -vt 0.246875 0.070815 -vt 0.213255 0.034654 -vt 0.237032 0.033840 -vt 0.231754 0.280238 -vt 0.215901 0.280238 -vt 0.237699 0.109255 -vt 0.255534 0.144228 -vt 0.255534 0.198632 +vt 0.213147 0.109375 +vt 0.209163 0.109375 +vt 0.205179 0.078125 +vt 0.241036 0.078125 +vt 0.213147 0.046875 +vt 0.233068 0.046875 +vt 0.231076 0.281250 +vt 0.215139 0.281250 +vt 0.237052 0.109375 +vt 0.254980 0.144531 +vt 0.254980 0.199219 vt 0.039841 0.281250 vt 0.023904 0.281250 vt 0.017928 0.234375 @@ -2404,248 +4956,6 @@ vt 0.260991 0.190759 vt 0.272874 0.190759 vt 0.277223 0.199287 vt 0.278815 0.210938 -vt 0.765290 0.495408 -vt 0.762959 0.484375 -vt 0.765290 0.473342 -vt 0.776543 0.473342 -vt 0.776543 0.495408 -vt 0.828685 0.503906 -vt 0.828685 0.562500 -vt 0.828685 0.480469 -vt 0.778799 0.519531 -vt 0.775907 0.533223 -vt 0.761942 0.533223 -vt 0.761942 0.505839 -vt 0.775907 0.505839 -vt 0.765290 0.495408 -vt 0.762959 0.484375 -vt 0.765290 0.473342 -vt 0.776543 0.473342 -vt 0.776543 0.495408 -vt 0.828685 0.503906 -vt 0.828685 0.562500 -vt 0.775907 0.533223 -vt 0.768925 0.538894 -vt 0.761942 0.533223 -vt 0.761942 0.505839 -vt 0.768925 0.500168 -vt 0.770916 0.499978 -vt 0.765290 0.495408 -vt 0.765290 0.473342 -vt 0.776543 0.473342 -vt 0.776543 0.495408 -vt 0.828685 0.503906 -vt 0.828685 0.562500 -vt 0.775907 0.533223 -vt 0.768925 0.538894 -vt 0.761942 0.533223 -vt 0.761942 0.505839 -vt 0.768925 0.500168 -vt 0.770916 0.499978 -vt 0.765290 0.495408 -vt 0.765290 0.473342 -vt 0.776543 0.473342 -vt 0.776543 0.495408 -vt 0.828685 0.503906 -vt 0.828685 0.562500 -vt 0.828685 0.468750 -vt 0.775907 0.533223 -vt 0.768925 0.538894 -vt 0.761942 0.533223 -vt 0.761942 0.505839 -vt 0.768925 0.500168 -vt 0.770916 0.499978 -vt 0.765290 0.495408 -vt 0.765290 0.473342 -vt 0.776543 0.473342 -vt 0.776543 0.495408 -vt 0.828685 0.503906 -vt 0.828685 0.562500 -vt 0.828685 0.468750 -vt 0.775907 0.533223 -vt 0.761942 0.533223 -vt 0.761942 0.505839 -vt 0.768925 0.500168 -vt 0.775907 0.505839 -vt 0.765290 0.495408 -vt 0.762959 0.484375 -vt 0.765290 0.473342 -vt 0.776543 0.473342 -vt 0.776543 0.495408 -vt 0.828685 0.503906 -vt 0.828685 0.562500 -vt 0.828685 0.480469 -vt 0.775907 0.533223 -vt 0.761942 0.533223 -vt 0.761942 0.505839 -vt 0.768925 0.500168 -vt 0.775907 0.505839 -vt 0.765290 0.495408 -vt 0.765290 0.473342 -vt 0.776543 0.473342 -vt 0.778873 0.484375 -vt 0.776543 0.495408 -vt 0.828685 0.503906 -vt 0.828685 0.562500 -vt 0.828685 0.468750 -vt 0.775907 0.533223 -vt 0.768925 0.538894 -vt 0.761942 0.533223 -vt 0.761942 0.505839 -vt 0.768925 0.500168 -vt 0.770916 0.499978 -vt 0.765290 0.495408 -vt 0.765290 0.473342 -vt 0.776543 0.473342 -vt 0.776543 0.495408 -vt 0.828685 0.503906 -vt 0.828685 0.562500 -vt 0.775907 0.533223 -vt 0.761942 0.533223 -vt 0.761942 0.505839 -vt 0.768925 0.500168 -vt 0.775907 0.505839 -vt 0.770916 0.499978 -vt 0.765290 0.495408 -vt 0.765290 0.473342 -vt 0.776543 0.473342 -vt 0.776543 0.495408 -vt 0.828685 0.503906 -vt 0.828685 0.562500 -vt 0.828685 0.480469 -vt 0.775907 0.533223 -vt 0.768925 0.538894 -vt 0.761942 0.533223 -vt 0.761942 0.505839 -vt 0.768925 0.500168 -vt 0.765290 0.495408 -vt 0.762959 0.484375 -vt 0.765290 0.473342 -vt 0.770916 0.468772 -vt 0.776543 0.473342 -vt 0.828685 0.503906 -vt 0.828685 0.562500 -vt 0.828685 0.468750 -vt 0.775907 0.533223 -vt 0.761942 0.533223 -vt 0.761942 0.505839 -vt 0.768925 0.500168 -vt 0.775907 0.505839 -vt 0.765290 0.495408 -vt 0.762959 0.484375 -vt 0.765290 0.473342 -vt 0.776543 0.473342 -vt 0.776543 0.495408 -vt 0.828685 0.503906 -vt 0.828685 0.562500 -vt 0.828685 0.468750 -vt 0.775907 0.533223 -vt 0.761942 0.533223 -vt 0.761942 0.505839 -vt 0.768925 0.500168 -vt 0.775907 0.505839 -vt 0.765290 0.495408 -vt 0.765290 0.473342 -vt 0.776543 0.473342 -vt 0.778873 0.484375 -vt 0.776543 0.495408 -vt 0.828685 0.503906 -vt 0.828685 0.562500 -vt 0.828685 0.468750 -vt 0.775907 0.533223 -vt 0.768925 0.538894 -vt 0.761942 0.533223 -vt 0.761942 0.505839 -vt 0.768925 0.500168 -vt 0.765290 0.495408 -vt 0.765290 0.473342 -vt 0.776543 0.473342 -vt 0.778873 0.484375 -vt 0.776543 0.495408 -vt 0.828685 0.503906 -vt 0.828685 0.562500 -vt 0.775907 0.533223 -vt 0.761942 0.533223 -vt 0.761942 0.505839 -vt 0.768925 0.500168 -vt 0.775907 0.505839 -vt 0.770916 0.499978 -vt 0.765290 0.495408 -vt 0.765290 0.473342 -vt 0.776543 0.473342 -vt 0.776543 0.495408 -vt 0.828685 0.503906 -vt 0.828685 0.562500 -vt 0.828685 0.480469 -vt 0.775907 0.533223 -vt 0.768925 0.538894 -vt 0.761942 0.533223 -vt 0.761942 0.505839 -vt 0.768925 0.500168 -vt 0.770916 0.499978 -vt 0.765290 0.495408 -vt 0.765290 0.473342 -vt 0.776543 0.473342 -vt 0.776543 0.495408 -vt 0.828685 0.503906 -vt 0.828685 0.562500 -vt 0.828685 0.468750 -vt 0.775907 0.533223 -vt 0.761942 0.533223 -vt 0.761942 0.505839 -vt 0.768925 0.500168 -vt 0.775907 0.505839 -vt 0.765290 0.495408 -vt 0.762959 0.484375 -vt 0.765290 0.473342 -vt 0.776543 0.473342 -vt 0.776543 0.495408 -vt 0.828685 0.503906 -vt 0.828685 0.562500 -vt 0.828685 0.468750 -vt 0.775907 0.533223 -vt 0.761942 0.533223 -vt 0.761942 0.505839 -vt 0.768925 0.500168 -vt 0.775907 0.505839 -vt 0.765290 0.495408 -vt 0.765290 0.473342 -vt 0.776543 0.473342 -vt 0.778873 0.484375 -vt 0.776543 0.495408 -vt 0.828685 0.503906 -vt 0.828685 0.562500 -vt 0.828685 0.468750 -vt 0.775907 0.533223 -vt 0.768925 0.538894 -vt 0.761942 0.533223 -vt 0.759050 0.519531 -vt 0.761942 0.505839 -vt 0.770916 0.499978 -vt 0.765290 0.495408 -vt 0.765290 0.473342 -vt 0.776543 0.473342 -vt 0.776543 0.495408 -vt 0.828685 0.503906 -vt 0.828685 0.562500 -vt 0.775907 0.533223 -vt 0.761942 0.533223 -vt 0.761942 0.505839 -vt 0.768925 0.500168 -vt 0.775907 0.505839 -vt 0.770916 0.499978 -vt 0.765290 0.495408 -vt 0.765290 0.473342 -vt 0.776543 0.473342 -vt 0.776543 0.495408 -vt 0.828685 0.515625 -vt 0.828685 0.562500 -vt 0.828685 0.480469 -vt 0.775907 0.533223 -vt 0.768925 0.538894 -vt 0.761942 0.533223 -vt 0.761942 0.505839 -vt 0.768925 0.500168 vt 0.338645 0.031250 vt 0.338645 0.046875 vt 0.338645 0.109375 @@ -2696,135 +5006,6 @@ vt 0.286853 0.281250 vt 0.286853 0.359375 vt 0.286853 0.328125 vt 0.286853 0.406250 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 -vt 0.888446 0.566406 -vt 0.888446 0.441406 -vt 0.888446 0.628906 -vt 0.888446 0.691406 -vt 0.888446 0.753906 -vt 0.888446 0.816406 -vt 0.888446 0.878906 -vt 0.888446 0.941406 -vt 0.888446 0.003906 -vt 0.888446 0.066406 -vt 0.888446 0.128906 -vt 0.888446 0.191406 -vt 0.888446 0.253906 -vt 0.888446 0.371094 -vt 0.888446 0.316406 -vt 0.888446 0.503906 -vt 0.888446 0.378906 -vt 0.836653 0.609375 -vt 0.832669 0.562500 -vt 0.836653 0.562500 -vt 0.836653 0.234375 -vt 0.832669 0.187500 -vt 0.836653 0.187500 -vt 0.836653 0.656250 -vt 0.832669 0.609375 -vt 0.836653 0.281250 -vt 0.832669 0.234375 -vt 0.832669 0.703125 -vt 0.832669 0.656250 -vt 0.836653 0.328125 -vt 0.832669 0.281250 -vt 0.836653 0.750000 -vt 0.836653 0.703125 -vt 0.836653 0.421875 -vt 0.832669 0.375000 -vt 0.836653 0.375000 -vt 0.832669 0.328125 -vt 0.836653 0.046875 -vt 0.832669 0.000000 -vt 0.836653 0.000000 -vt 0.836653 0.468750 -vt 0.832669 0.421875 -vt 0.836653 0.093750 -vt 0.832669 0.046875 -vt 0.836653 0.515625 -vt 0.832669 0.468750 -vt 0.836653 0.140625 -vt 0.832669 0.093750 -vt 0.832669 0.515625 -vt 0.832669 0.140625 -vt 0.832669 0.140625 -vt 0.836653 0.187500 -vt 0.832669 0.187500 -vt 0.832669 0.515625 -vt 0.836653 0.562500 -vt 0.832669 0.562500 -vt 0.832669 0.093750 -vt 0.836653 0.140625 -vt 0.832669 0.468750 -vt 0.836653 0.515625 -vt 0.836653 0.046875 -vt 0.836653 0.093750 -vt 0.832669 0.421875 -vt 0.836653 0.468750 -vt 0.832669 0.000000 -vt 0.832669 0.046875 -vt 0.832669 0.328125 -vt 0.836653 0.375000 -vt 0.832669 0.375000 -vt 0.836653 0.421875 -vt 0.832669 0.703125 -vt 0.836653 0.750000 -vt 0.832669 0.750000 -vt 0.832669 0.281250 -vt 0.836653 0.328125 -vt 0.832669 0.656250 -vt 0.836653 0.703125 -vt 0.832669 0.234375 -vt 0.836653 0.281250 -vt 0.832669 0.609375 -vt 0.836653 0.656250 -vt 0.836653 0.234375 -vt 0.836653 0.609375 -vt 1.000000 0.621094 -vt 1.000000 0.566406 -vt 1.000000 0.441406 -vt 1.000000 0.683594 -vt 1.000000 0.628906 -vt 1.000000 0.746094 -vt 1.000000 0.691406 -vt 1.000000 0.808594 -vt 1.000000 0.753906 -vt 1.000000 0.871094 -vt 1.000000 0.816406 -vt 1.000000 0.933594 -vt 1.000000 0.878906 -vt 1.000000 0.996094 -vt 1.000000 0.941406 -vt 1.000000 0.058594 -vt 1.000000 0.003906 -vt 1.000000 0.121094 -vt 1.000000 0.066406 -vt 1.000000 0.183594 -vt 1.000000 0.128906 -vt 1.000000 0.246094 -vt 1.000000 0.191406 -vt 1.000000 0.308594 -vt 1.000000 0.253906 -vt 1.000000 0.316406 -vt 1.000000 0.558594 -vt 1.000000 0.503906 -vt 1.000000 0.378906 vt 0.191235 0.070312 vt 0.063745 0.523438 vt 0.063745 0.070312 @@ -2833,7 +5014,7 @@ vt 0.191235 0.523438 vt 0.063745 0.554688 vt 0.191235 0.000000 vt 0.063745 0.039062 -vt 0.063745 -0.000000 +vt 0.063745 0.000000 vt 0.545817 0.523438 vt 0.561753 0.367188 vt 0.561753 0.523438 @@ -2849,329 +5030,6 @@ vt 0.478088 0.523438 vt 0.486056 0.367188 vt 0.569721 0.367188 vt 0.569721 0.523438 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 -vt 0.778884 0.503906 -vt 0.778884 0.492188 -vt 0.778884 0.480469 -vt 0.778884 0.468750 -vt 0.778884 0.550781 -vt 0.778884 0.539062 -vt 0.778884 0.527344 -vt 0.778884 0.515625 -vt 0.778884 0.562500 -vt 0.832669 0.550781 -vt 0.832669 0.527344 -vt 0.832669 0.515625 -vt 0.832669 0.492188 -vt 0.832669 0.562500 -vt 0.832669 0.539062 -vt 0.832669 0.503906 -vt 0.832669 0.480469 vt 0.254980 0.105469 vt 0.254980 0.074219 vt 0.254980 0.152344 @@ -3185,48 +5043,8 @@ vt 0.254980 0.089844 vt 0.254980 0.167969 vt 0.254980 0.027344 vt 0.286853 0.234375 -vt 0.832669 0.468750 -vt 0.888446 0.621094 -vt 0.888446 0.496094 -vt 0.888446 0.683594 -vt 0.888446 0.746094 -vt 0.888446 0.808594 -vt 0.888446 0.871094 -vt 0.888446 0.933594 -vt 0.888446 0.996094 -vt 0.888446 0.058594 -vt 0.888446 0.121094 -vt 0.888446 0.183594 -vt 0.888446 0.246094 -vt 0.888446 0.308594 -vt 0.888446 0.558594 -vt 0.888446 0.433594 -vt 0.832669 0.750000 -vt 0.836653 0.000000 -vt 1.000000 0.496094 -vt 1.000000 0.371094 -vt 1.000000 0.433594 vt 0.191235 0.554688 vt 0.450199 0.367188 -vt 0.832669 0.468750 -vt 0.832669 0.468750 -vt 0.832669 0.468750 -vt 0.832669 0.468750 -vt 0.832669 0.468750 -vt 0.832669 0.468750 -vt 0.832669 0.468750 -vt 0.832669 0.468750 -vt 0.832669 0.468750 -vt 0.832669 0.468750 -vt 0.832669 0.468750 -vt 0.832669 0.468750 -vt 0.832669 0.468750 -vt 0.832669 0.468750 -vt 0.832669 0.468750 -vt 0.832669 0.468750 -vt 0.832669 0.468750 -vt 0.832669 0.468750 -vt 0.832669 0.468750 vn 1.0000 0.0000 -0.0000 vn -0.7071 0.7071 0.0000 vn -1.0000 0.0000 0.0000 @@ -3239,22 +5057,6 @@ vn -0.9701 0.2425 0.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 0.0000 -1.0000 -vn 0.1951 0.9808 0.0000 -vn 0.1951 -0.9808 0.0000 -vn -0.5556 0.8315 0.0000 -vn 0.5556 -0.8315 0.0000 -vn -0.8315 0.5556 0.0000 -vn 0.8315 -0.5556 0.0000 -vn -0.9808 0.1951 0.0000 -vn 0.9808 -0.1951 0.0000 -vn -0.9808 -0.1951 0.0000 -vn 0.9808 0.1951 0.0000 -vn -0.8315 -0.5556 0.0000 -vn 0.8315 0.5556 0.0000 -vn -0.5556 -0.8315 0.0000 -vn 0.5556 0.8315 0.0000 -vn -0.1951 -0.9808 0.0000 -vn -0.1951 0.9808 0.0000 vn 0.0000 -0.8944 -0.4472 vn 0.0000 0.7071 0.7071 vn 0.0000 0.8000 -0.6000 @@ -3270,14 +5072,6 @@ vn -0.5000 -0.8660 0.0000 vn -0.8660 -0.5000 0.0000 vn 0.5000 -0.8660 -0.0000 vn 0.8660 0.5000 0.0000 -vn -0.9239 -0.3827 0.0000 -vn -0.9239 0.3827 0.0000 -vn 0.9239 0.3827 0.0000 -vn -0.3827 -0.9239 0.0000 -vn 0.3827 0.9239 0.0000 -vn 0.3827 -0.9239 0.0000 -vn -0.3827 0.9239 0.0000 -vn 0.9239 -0.3827 0.0000 vn 0.8944 0.4472 -0.0000 vn -0.8944 0.4472 0.0000 vn 0.5257 -0.8507 -0.0000 @@ -3298,2169 +5092,401 @@ vn -0.9382 -0.0679 0.3394 vn -0.9033 -0.0841 0.4207 vn -0.3941 -0.1802 0.9012 vn -0.9033 0.0841 -0.4207 -vn 0.9511 -0.3090 0.0000 -vn 0.8910 0.4540 0.0000 -vn -0.3090 -0.9511 0.0000 -vn 0.4540 -0.8910 0.0000 -vn -0.9511 0.3090 0.0000 -vn -0.8910 -0.4540 0.0000 -vn 0.3090 0.9511 0.0000 -vn -0.4540 0.8910 0.0000 -vn 0.8090 -0.5878 0.0000 -vn 0.9877 0.1564 0.0000 -vn -0.5878 -0.8090 0.0000 -vn 0.1564 -0.9877 0.0000 -vn -0.8090 0.5878 0.0000 -vn -0.9877 -0.1564 0.0000 -vn 0.5878 0.8090 0.0000 -vn -0.1564 0.9877 0.0000 -vn 0.5878 -0.8090 0.0000 -vn 0.9877 -0.1564 0.0000 -vn -0.8090 -0.5878 0.0000 -vn -0.1564 -0.9877 0.0000 -vn -0.5878 0.8090 0.0000 -vn -0.9877 0.1564 0.0000 -vn 0.8090 0.5878 0.0000 -vn 0.1564 0.9877 0.0000 -vn 0.3090 -0.9511 0.0000 -vn 0.8910 -0.4540 0.0000 -vn -0.9511 -0.3090 0.0000 -vn -0.4540 -0.8910 0.0000 -vn -0.3090 0.9511 0.0000 -vn -0.8910 0.4540 0.0000 -vn 0.9511 0.3090 0.0000 -vn 0.4540 0.8910 0.0000 s off -f 2/1/1 3/2/1 1/3/1 -f 6/4/2 12/5/2 10/6/2 -f 8/7/3 5/8/3 7/9/3 -f 9/10/4 4/11/4 2/1/4 -f 19/12/5 9/10/5 17/13/5 -f 14/14/6 7/9/6 5/8/6 -f 15/15/7 1/3/7 3/2/7 -f 18/16/8 19/12/8 17/13/8 -f 20/17/9 10/6/9 12/5/9 -f 14/14/10 117/18/10 16/19/10 -f 15/15/10 120/20/10 13/21/10 -f 34/22/11 47/23/11 35/24/11 -f 41/25/11 54/26/11 42/27/11 -f 39/28/11 50/29/11 51/30/11 -f 35/24/11 48/31/11 36/32/11 -f 43/33/11 54/34/11 55/35/11 -f 40/36/11 51/37/11 52/38/11 -f 37/39/11 48/40/11 49/41/11 -f 43/33/11 56/42/11 44/43/11 -f 34/22/11 45/44/11 46/45/11 -f 40/36/11 53/46/11 41/25/11 -f 38/47/11 49/48/11 50/49/11 -f 44/43/11 45/50/11 33/51/11 -f 95/52/10 94/53/10 93/54/10 -f 99/55/10 451/56/10 98/57/10 -f 96/58/3 99/59/3 94/60/3 -f 95/52/1 98/61/1 97/62/1 -f 95/52/11 100/63/11 96/58/11 -f 94/53/12 98/57/12 93/54/12 -f 106/64/11 197/65/11 196/66/11 -f 130/67/11 400/68/11 399/69/11 -f 398/70/11 130/71/11 399/72/11 -f 397/73/11 129/74/11 398/75/11 -f 396/76/11 128/77/11 397/78/11 -f 395/79/11 127/80/11 396/81/11 -f 394/82/11 126/83/11 395/84/11 -f 393/85/11 125/86/11 394/87/11 -f 408/88/11 124/89/11 393/90/11 -f 407/91/11 123/92/11 408/93/11 -f 406/94/11 122/95/11 407/96/11 -f 405/97/11 121/98/11 406/99/11 -f 404/100/11 135/101/11 405/102/11 -f 404/103/11 134/104/11 136/105/11 -f 403/106/11 133/107/11 134/108/11 -f 402/109/11 132/110/11 133/111/11 -f 401/112/11 131/113/11 132/114/11 -f 370/115/11 148/116/11 147/117/11 -f 147/118/11 371/119/11 370/115/11 -f 371/119/11 145/120/11 372/121/11 -f 145/122/11 373/123/11 372/121/11 -f 373/123/11 143/124/11 374/125/11 -f 374/125/11 142/126/11 375/127/11 -f 375/127/11 141/128/11 376/129/11 -f 376/129/11 140/130/11 361/131/11 -f 361/131/11 139/132/11 362/133/11 -f 362/133/11 138/134/11 363/135/11 -f 363/135/11 137/136/11 364/137/11 -f 364/137/11 151/138/11 365/139/11 -f 151/140/11 366/141/11 365/139/11 -f 152/142/11 367/143/11 366/141/11 -f 150/144/11 368/145/11 367/143/11 -f 149/146/11 369/147/11 368/145/11 -f 157/148/11 159/149/11 153/150/11 -f 175/151/11 168/152/11 167/153/11 -f 168/152/11 169/154/11 161/155/11 -f 161/155/11 170/156/11 162/157/11 -f 162/157/11 171/158/11 163/159/11 -f 171/158/11 164/160/11 163/159/11 -f 172/161/11 165/162/11 164/160/11 -f 173/163/11 166/164/11 165/165/11 -f 166/164/11 175/151/11 167/153/11 -f 180/166/12 179/167/12 183/168/12 -f 107/169/11 196/170/11 195/171/11 -f 108/172/11 195/173/11 194/174/11 -f 109/175/11 194/176/11 193/177/11 -f 110/178/11 193/179/11 192/180/11 -f 111/181/11 192/182/11 191/183/11 -f 112/184/11 191/185/11 190/186/11 -f 112/184/11 189/187/11 113/188/11 -f 113/188/11 188/189/11 114/190/11 -f 114/190/11 187/191/11 115/192/11 -f 115/192/11 186/193/11 116/194/11 -f 116/194/11 185/195/11 101/196/11 -f 101/196/11 200/197/11 102/198/11 -f 102/198/11 199/199/11 103/200/11 -f 103/200/11 198/201/11 104/202/11 -f 104/202/11 197/203/11 105/204/11 -f 228/205/12 234/206/12 233/207/12 -f 235/208/12 228/209/12 233/210/12 -f 236/211/12 227/212/12 235/213/12 -f 237/214/12 226/215/12 236/216/12 -f 238/217/12 225/218/12 237/219/12 -f 239/220/12 224/221/12 238/222/12 -f 240/223/12 223/224/12 239/225/12 -f 221/226/12 240/227/12 241/228/12 -f 220/229/12 241/230/12 242/231/12 -f 219/232/12 242/233/12 243/234/12 -f 217/235/12 243/236/12 244/237/12 -f 218/238/12 244/239/12 245/240/12 -f 232/241/12 245/242/12 246/243/12 -f 231/244/12 246/245/12 247/246/12 -f 230/247/12 247/248/12 248/249/12 -f 229/250/12 248/251/12 234/252/12 -f 206/253/12 250/254/12 205/255/12 -f 204/256/12 250/257/12 264/258/12 -f 203/259/12 264/260/12 263/261/12 -f 201/262/12 263/263/12 262/264/12 -f 202/265/12 262/266/12 261/267/12 -f 216/268/12 261/269/12 260/270/12 -f 215/271/12 260/272/12 259/273/12 -f 214/274/12 259/275/12 258/276/12 -f 214/274/12 257/277/12 213/278/12 -f 213/278/12 256/279/12 212/280/12 -f 212/280/12 255/281/12 211/282/12 -f 211/282/12 254/283/12 210/284/12 -f 210/284/12 253/285/12 209/286/12 -f 209/287/12 252/288/12 208/289/12 -f 208/289/12 251/290/12 207/291/12 -f 207/291/12 249/292/12 206/253/12 -f 275/293/12 271/294/12 267/295/12 -f 289/296/11 293/297/11 282/298/11 -f 328/299/13 297/300/13 312/301/13 -f 321/302/14 306/303/14 305/304/14 -f 314/305/15 299/306/15 298/307/15 -f 322/308/16 307/309/16 306/303/16 -f 315/310/17 300/311/17 299/306/17 -f 307/309/18 324/312/18 308/313/18 -f 316/314/19 301/315/19 300/311/19 -f 324/312/20 309/316/20 308/313/20 -f 317/317/21 302/318/21 301/315/21 -f 325/319/22 310/320/22 309/316/22 -f 318/321/23 303/322/23 302/318/23 -f 310/320/24 327/323/24 311/324/24 -f 319/325/25 304/326/25 303/322/25 -f 327/323/26 312/301/26 311/324/26 -f 320/327/27 305/328/27 304/326/27 -f 313/329/28 298/307/28 297/300/28 -f 339/330/12 335/331/12 331/332/12 -f 353/333/11 357/334/11 346/335/11 -f 423/336/12 377/337/12 379/338/12 -f 424/339/12 378/340/12 377/337/12 -f 410/341/12 392/342/12 378/340/12 -f 409/343/12 391/344/12 392/342/12 -f 411/345/12 390/346/12 391/344/12 -f 412/347/12 389/348/12 390/346/12 -f 413/349/12 388/350/12 389/348/12 -f 388/350/12 415/351/12 387/352/12 -f 387/352/12 416/353/12 386/354/12 -f 386/354/12 417/355/12 385/356/12 -f 385/357/12 418/358/12 384/359/12 -f 384/359/12 419/360/12 383/361/12 -f 383/361/12 420/362/12 382/363/12 -f 420/364/12 381/365/12 382/363/12 -f 421/366/12 380/367/12 381/365/12 -f 422/368/12 379/338/12 380/367/12 -f 119/369/12 10/370/12 9/371/12 -f 118/372/11 11/373/11 117/374/11 -f 435/375/10 434/376/10 433/377/10 -f 436/378/3 442/379/3 434/380/3 -f 441/381/1 437/382/1 435/383/1 -f 446/384/8 449/385/8 445/386/8 -f 435/383/11 440/387/11 436/388/11 -f 442/379/12 443/389/12 441/381/12 -f 434/376/29 441/381/29 433/377/29 -f 443/389/8 440/390/8 437/391/8 -f 439/392/10 447/393/10 438/394/10 -f 438/394/5 450/395/5 446/384/5 -f 445/386/9 448/396/9 439/397/9 -f 97/62/30 454/398/30 100/63/30 -f 453/399/8 456/400/8 454/398/8 -f 98/61/1 455/401/1 453/402/1 -f 456/403/3 452/404/3 99/59/3 -f 460/405/8 462/406/8 457/407/8 -f 466/408/8 478/409/8 467/410/8 -f 462/406/12 464/411/12 588/412/12 -f 458/413/3 586/414/3 581/415/3 -f 582/416/10 588/417/10 583/418/10 -f 464/419/4 460/405/4 459/420/4 -f 458/413/2 462/406/2 461/421/2 -f 584/422/1 464/419/1 459/420/1 -f 478/409/12 476/423/12 474/424/12 -f 468/425/3 480/426/3 471/427/3 -f 472/428/10 474/429/10 469/430/10 -f 480/426/6 472/431/6 471/427/6 -f 470/432/7 474/429/7 473/433/7 -f 476/434/4 466/408/4 465/435/4 -f 468/425/2 478/409/2 477/436/2 -f 470/432/1 476/434/1 465/435/1 -f 482/437/31 483/438/31 481/439/31 -f 491/440/1 487/441/1 489/442/1 -f 481/439/3 483/443/3 485/444/3 -f 482/437/1 486/445/1 484/446/1 -f 492/447/3 490/448/3 488/449/3 -f 491/440/31 490/450/31 492/447/31 -f 503/451/10 499/452/10 508/453/10 -f 509/454/32 512/455/32 510/456/32 -f 511/457/3 513/458/3 515/459/3 -f 512/455/1 514/460/1 510/461/1 -f 511/457/10 516/462/10 512/455/10 -f 520/463/8 523/464/8 519/465/8 -f 517/466/10 522/467/10 518/468/10 -f 518/468/1 524/469/1 520/463/1 -f 519/465/3 521/470/3 517/471/3 -f 528/472/8 531/473/8 527/474/8 -f 525/475/10 530/476/10 526/477/10 -f 526/478/1 532/479/1 528/472/1 -f 527/474/3 529/480/3 525/475/3 -f 521/481/11 538/482/11 522/483/11 -f 535/484/3 539/485/3 529/486/3 -f 522/483/1 534/487/1 524/488/1 -f 521/489/3 523/490/3 533/491/3 -f 530/492/1 536/493/1 532/494/1 -f 529/486/3 531/495/3 535/484/3 -f 536/493/33 531/473/33 532/479/33 -f 534/487/33 523/464/33 524/469/33 -f 540/496/8 541/497/8 544/498/8 -f 537/499/11 546/500/11 545/501/11 -f 536/493/12 543/502/12 535/484/12 -f 522/483/1 542/503/1 534/487/1 -f 529/486/11 540/504/11 530/505/11 -f 530/492/1 544/506/1 536/493/1 -f 534/487/12 541/507/12 533/491/12 -f 533/491/3 537/508/3 521/489/3 -f 537/499/11 545/501/11 538/509/11 -f 542/510/12 547/511/12 541/497/12 -f 538/482/7 547/511/7 542/503/7 -f 540/512/11 539/513/11 546/500/11 -f 544/498/12 548/514/12 543/515/12 -f 543/502/6 546/500/6 539/485/6 -f 547/511/12 544/498/12 541/497/12 -f 547/511/10 546/500/10 548/514/10 -f 551/516/3 550/517/3 549/518/3 -f 555/519/34 552/520/34 551/521/34 -f 556/522/10 550/517/10 552/523/10 -f 549/524/8 555/519/8 551/525/8 -f 553/526/1 556/522/1 555/519/1 -f 559/527/3 558/528/3 557/529/3 -f 563/530/34 560/531/34 559/532/34 -f 564/533/10 558/528/10 560/534/10 -f 557/535/8 563/530/8 559/536/8 -f 561/537/1 564/533/1 563/530/1 -f 566/538/1 567/539/1 565/540/1 -f 568/541/35 571/542/35 567/543/35 -f 566/544/10 572/545/10 568/546/10 -f 565/540/8 571/542/8 569/547/8 -f 572/545/3 569/547/3 571/542/3 -f 574/548/1 575/549/1 573/550/1 -f 576/551/35 579/552/35 575/553/35 -f 574/554/10 580/555/10 576/556/10 -f 573/550/8 579/552/8 577/557/8 -f 580/555/3 577/557/3 579/552/3 -f 586/414/6 582/558/6 581/415/6 -f 584/422/7 588/417/7 587/559/7 -f 584/560/11 460/405/11 458/561/11 -f 67/562/11 63/563/11 59/564/11 -f 593/565/11 595/566/11 589/567/11 -f 611/568/11 604/569/11 603/570/11 -f 604/569/11 605/571/11 597/572/11 -f 597/572/11 606/573/11 598/574/11 -f 598/574/11 607/575/11 599/576/11 -f 607/575/11 600/577/11 599/576/11 -f 608/578/11 601/579/11 600/577/11 -f 609/580/11 602/581/11 601/582/11 -f 602/581/11 611/568/11 603/570/11 -f 613/583/12 619/584/12 617/585/12 -f 625/586/11 627/587/11 621/588/11 -f 643/589/11 636/590/11 635/591/11 -f 636/590/11 637/592/11 629/593/11 -f 629/593/11 638/594/11 630/595/11 -f 630/595/11 639/596/11 631/597/11 -f 639/596/11 632/598/11 631/597/11 -f 640/599/11 633/600/11 632/598/11 -f 641/601/11 634/602/11 633/603/11 -f 642/604/11 635/591/11 634/602/11 -f 648/605/12 647/606/12 651/607/12 -f 655/608/11 657/609/11 659/610/11 -f 675/611/11 668/612/11 667/613/11 -f 668/612/11 669/614/11 661/615/11 -f 661/615/11 670/616/11 662/617/11 -f 662/617/11 671/618/11 663/619/11 -f 671/618/11 664/620/11 663/619/11 -f 672/621/11 665/622/11 664/620/11 -f 673/623/11 666/624/11 665/625/11 -f 674/626/11 667/613/11 666/624/11 -f 680/627/12 679/628/12 683/629/12 -f 687/630/11 689/631/11 691/632/11 -f 707/633/11 700/634/11 699/635/11 -f 700/634/11 701/636/11 693/637/11 -f 693/637/11 702/638/11 694/639/11 -f 694/639/11 703/640/11 695/641/11 -f 703/640/11 696/642/11 695/641/11 -f 704/643/11 697/644/11 696/642/11 -f 697/645/11 706/646/11 698/647/11 -f 698/647/11 707/633/11 699/635/11 -f 712/648/12 711/649/12 715/650/12 -f 719/651/11 721/652/11 723/653/11 -f 739/654/11 732/655/11 731/656/11 -f 732/655/11 733/657/11 725/658/11 -f 725/658/11 734/659/11 726/660/11 -f 726/660/11 735/661/11 727/662/11 -f 735/661/11 728/663/11 727/662/11 -f 736/664/11 729/665/11 728/663/11 -f 729/666/11 738/667/11 730/668/11 -f 730/668/11 739/654/11 731/656/11 -f 743/669/12 741/670/12 747/671/12 -f 753/672/11 755/673/11 749/674/11 -f 771/675/11 764/676/11 763/677/11 -f 764/676/11 765/678/11 757/679/11 -f 757/679/11 766/680/11 758/681/11 -f 758/681/11 767/682/11 759/683/11 -f 767/682/11 760/684/11 759/683/11 -f 768/685/11 761/686/11 760/684/11 -f 769/687/11 762/688/11 761/689/11 -f 762/688/11 771/675/11 763/677/11 -f 775/690/12 773/691/12 779/692/12 -f 781/693/11 783/694/11 785/695/11 -f 803/696/11 796/697/11 795/698/11 -f 796/697/11 797/699/11 789/700/11 -f 789/700/11 798/701/11 790/702/11 -f 790/702/11 799/703/11 791/704/11 -f 799/703/11 792/705/11 791/704/11 -f 800/706/11 793/707/11 792/705/11 -f 793/708/11 802/709/11 794/710/11 -f 794/710/11 803/696/11 795/698/11 -f 808/711/12 807/712/12 811/713/12 -f 815/714/11 817/715/11 819/716/11 -f 835/717/11 828/718/11 827/719/11 -f 828/718/11 829/720/11 821/721/11 -f 821/721/11 830/722/11 822/723/11 -f 822/723/11 831/724/11 823/725/11 -f 831/724/11 824/726/11 823/725/11 -f 832/727/11 825/728/11 824/726/11 -f 833/729/11 826/730/11 825/731/11 -f 834/732/11 827/719/11 826/730/11 -f 839/733/12 837/734/12 843/735/12 -f 847/736/11 849/737/11 851/738/11 -f 867/739/11 860/740/11 859/741/11 -f 860/740/11 861/742/11 853/743/11 -f 853/743/11 862/744/11 854/745/11 -f 854/745/11 863/746/11 855/747/11 -f 863/746/11 856/748/11 855/747/11 -f 864/749/11 857/750/11 856/748/11 -f 865/751/11 858/752/11 857/753/11 -f 858/752/11 867/739/11 859/741/11 -f 872/754/12 871/755/12 875/756/12 -f 883/757/11 884/758/11 877/759/11 -f 899/760/11 892/761/11 891/762/11 -f 892/761/11 893/763/11 885/764/11 -f 885/764/11 894/765/11 886/766/11 -f 886/766/11 895/767/11 887/768/11 -f 895/767/11 888/769/11 887/768/11 -f 896/770/11 889/771/11 888/769/11 -f 889/772/11 898/773/11 890/774/11 -f 890/774/11 899/760/11 891/762/11 -f 903/775/12 901/776/12 907/777/12 -f 913/778/11 915/779/11 909/780/11 -f 931/781/11 924/782/11 923/783/11 -f 924/782/11 925/784/11 917/785/11 -f 917/785/11 926/786/11 918/787/11 -f 918/787/11 927/788/11 919/789/11 -f 927/788/11 920/790/11 919/789/11 -f 928/791/11 921/792/11 920/790/11 -f 921/793/11 930/794/11 922/795/11 -f 922/795/11 931/781/11 923/783/11 -f 935/796/12 933/797/12 939/798/12 -f 941/799/11 943/800/11 945/801/11 -f 963/802/11 956/803/11 955/804/11 -f 956/803/11 957/805/11 949/806/11 -f 949/806/11 958/807/11 950/808/11 -f 950/808/11 959/809/11 951/810/11 -f 959/809/11 952/811/11 951/810/11 -f 960/812/11 953/813/11 952/811/11 -f 953/814/11 962/815/11 954/816/11 -f 954/816/11 963/802/11 955/804/11 -f 968/817/12 967/818/12 971/819/12 -f 973/820/11 975/821/11 977/822/11 -f 995/823/11 988/824/11 987/825/11 -f 988/824/11 989/826/11 981/827/11 -f 981/827/11 990/828/11 982/829/11 -f 982/829/11 991/830/11 983/831/11 -f 991/830/11 984/832/11 983/831/11 -f 992/833/11 985/834/11 984/832/11 -f 993/835/11 986/836/11 985/837/11 -f 994/838/11 987/825/11 986/836/11 -f 999/839/12 997/840/12 1003/841/12 -f 1007/842/11 1009/843/11 1011/844/11 -f 1027/845/11 1020/846/11 1019/847/11 -f 1020/846/11 1021/848/11 1013/849/11 -f 1013/849/11 1022/850/11 1014/851/11 -f 1014/851/11 1023/852/11 1015/853/11 -f 1023/852/11 1016/854/11 1015/853/11 -f 1024/855/11 1017/856/11 1016/854/11 -f 1025/857/11 1018/858/11 1017/859/11 -f 1018/858/11 1027/845/11 1019/847/11 -f 1032/860/12 1031/861/12 1035/862/12 -f 1039/863/11 1041/864/11 1043/865/11 -f 1059/866/11 1052/867/11 1051/868/11 -f 1052/867/11 1053/869/11 1045/870/11 -f 1045/870/11 1054/871/11 1046/872/11 -f 1046/872/11 1055/873/11 1047/874/11 -f 1055/873/11 1048/875/11 1047/874/11 -f 1056/876/11 1049/877/11 1048/875/11 -f 1049/878/11 1058/879/11 1050/880/11 -f 1050/880/11 1059/866/11 1051/868/11 -f 1063/881/12 1061/882/12 1067/883/12 -f 1073/884/11 1075/885/11 1069/886/11 -f 1091/887/11 1084/888/11 1083/889/11 -f 1084/888/11 1085/890/11 1077/891/11 -f 1077/891/11 1086/892/11 1078/893/11 -f 1078/893/11 1087/894/11 1079/895/11 -f 1087/894/11 1080/896/11 1079/895/11 -f 1088/897/11 1081/898/11 1080/896/11 -f 1081/899/11 1090/900/11 1082/901/11 -f 1082/901/11 1091/887/11 1083/889/11 -f 1095/902/12 1093/903/12 1099/904/12 -f 1101/905/11 1103/906/11 1105/907/11 -f 1123/908/11 1116/909/11 1115/910/11 -f 1116/909/11 1117/911/11 1109/912/11 -f 1109/912/11 1118/913/11 1110/914/11 -f 1110/914/11 1119/915/11 1111/916/11 -f 1119/915/11 1112/917/11 1111/916/11 -f 1120/918/11 1113/919/11 1112/917/11 -f 1113/920/11 1122/921/11 1114/922/11 -f 1122/921/11 1115/910/11 1114/922/11 -f 1129/923/12 1128/924/12 1127/925/12 -f 1135/926/11 1137/927/11 1139/928/11 -f 1155/929/11 1148/930/11 1147/931/11 -f 1148/930/11 1149/932/11 1141/933/11 -f 1141/933/11 1150/934/11 1142/935/11 -f 1142/935/11 1151/936/11 1143/937/11 -f 1151/936/11 1144/938/11 1143/937/11 -f 1152/939/11 1145/940/11 1144/938/11 -f 1153/941/11 1146/942/11 1145/943/11 -f 1154/944/11 1147/931/11 1146/942/11 -f 1159/945/12 1157/946/12 1163/947/12 -f 1167/948/11 1169/949/11 1171/950/11 -f 1187/951/11 1180/952/11 1179/953/11 -f 1188/954/11 1173/955/11 1180/952/11 -f 1173/955/11 1182/956/11 1174/957/11 -f 1174/957/11 1183/958/11 1175/959/11 -f 1183/958/11 1176/960/11 1175/959/11 -f 1184/961/11 1177/962/11 1176/960/11 -f 1185/963/11 1178/964/11 1177/965/11 -f 1178/964/11 1187/951/11 1179/953/11 -f 1192/966/12 1191/967/12 1195/968/12 -f 2/1/1 4/11/1 3/2/1 -f 6/4/2 8/7/2 12/5/2 -f 8/7/3 6/4/3 5/8/3 -f 9/10/4 11/969/4 4/11/4 -f 19/12/5 11/969/5 9/10/5 -f 14/14/6 16/19/6 7/9/6 -f 15/15/7 13/21/7 1/3/7 -f 18/16/8 20/17/8 19/12/8 -f 20/17/9 18/16/9 10/6/9 -f 14/14/10 119/970/10 117/18/10 -f 15/15/10 118/971/10 120/20/10 -f 34/22/11 46/972/11 47/23/11 -f 41/25/11 53/973/11 54/26/11 -f 39/28/11 38/47/11 50/29/11 -f 35/24/11 47/974/11 48/31/11 -f 43/33/11 42/27/11 54/34/11 -f 40/36/11 39/975/11 51/37/11 -f 37/39/11 36/32/11 48/40/11 -f 43/33/11 55/976/11 56/42/11 -f 34/22/11 33/51/11 45/44/11 -f 40/36/11 52/977/11 53/46/11 -f 38/47/11 37/39/11 49/48/11 -f 44/43/11 56/978/11 45/50/11 -f 95/52/10 96/58/10 94/53/10 -f 99/55/10 452/979/10 451/56/10 -f 96/58/3 100/63/3 99/59/3 -f 95/52/1 93/980/1 98/61/1 -f 95/52/11 97/62/11 100/63/11 -f 94/53/12 99/55/12 98/57/12 -f 106/64/11 105/204/11 197/65/11 -f 130/67/11 131/981/11 400/68/11 -f 398/70/11 129/982/11 130/71/11 -f 397/73/11 128/983/11 129/74/11 -f 396/76/11 127/984/11 128/77/11 -f 395/79/11 126/985/11 127/80/11 -f 394/82/11 125/986/11 126/83/11 -f 393/85/11 124/987/11 125/86/11 -f 408/88/11 123/988/11 124/89/11 -f 407/91/11 122/989/11 123/92/11 -f 406/94/11 121/990/11 122/95/11 -f 405/97/11 135/991/11 121/98/11 -f 404/100/11 136/992/11 135/101/11 -f 404/103/11 403/993/11 134/104/11 -f 403/106/11 402/994/11 133/107/11 -f 402/109/11 401/995/11 132/110/11 -f 401/112/11 400/996/11 131/113/11 -f 370/115/11 369/997/11 148/116/11 -f 147/118/11 146/998/11 371/119/11 -f 371/119/11 146/999/11 145/120/11 -f 145/122/11 144/1000/11 373/123/11 -f 373/123/11 144/1001/11 143/124/11 -f 374/125/11 143/1002/11 142/126/11 -f 375/127/11 142/1003/11 141/128/11 -f 376/129/11 141/1004/11 140/130/11 -f 361/131/11 140/1005/11 139/132/11 -f 362/133/11 139/1006/11 138/134/11 -f 363/135/11 138/1007/11 137/136/11 -f 364/137/11 137/1008/11 151/138/11 -f 151/140/11 152/1009/11 366/141/11 -f 152/142/11 150/1010/11 367/143/11 -f 150/144/11 149/1011/11 368/145/11 -f 149/146/11 148/1012/11 369/147/11 -f 153/150/11 154/1013/11 155/1014/11 -f 155/1014/11 156/1015/11 157/148/11 -f 157/148/11 158/1016/11 159/149/11 -f 159/149/11 160/1017/11 153/150/11 -f 153/150/11 155/1014/11 157/148/11 -f 175/151/11 176/1018/11 168/152/11 -f 168/152/11 176/1018/11 169/154/11 -f 161/155/11 169/154/11 170/156/11 -f 162/157/11 170/156/11 171/158/11 -f 171/158/11 172/161/11 164/160/11 -f 172/161/11 173/1019/11 165/162/11 -f 173/163/11 174/1020/11 166/164/11 -f 166/164/11 174/1020/11 175/151/11 -f 179/167/12 178/1021/12 183/168/12 -f 178/1021/12 177/1022/12 183/168/12 -f 177/1022/12 184/1023/12 183/168/12 -f 183/168/12 182/1024/12 181/1025/12 -f 181/1025/12 180/166/12 183/168/12 -f 107/169/11 106/64/11 196/170/11 -f 108/172/11 107/169/11 195/173/11 -f 109/175/11 108/172/11 194/176/11 -f 110/178/11 109/1026/11 193/179/11 -f 111/181/11 110/178/11 192/182/11 -f 112/184/11 111/181/11 191/185/11 -f 112/184/11 190/1027/11 189/187/11 -f 113/188/11 189/1028/11 188/189/11 -f 114/190/11 188/1029/11 187/191/11 -f 115/192/11 187/1030/11 186/193/11 -f 116/194/11 186/1031/11 185/195/11 -f 101/196/11 185/1032/11 200/197/11 -f 102/198/11 200/1033/11 199/199/11 -f 103/200/11 199/1034/11 198/201/11 -f 104/202/11 198/1035/11 197/203/11 -f 228/205/12 229/1036/12 234/206/12 -f 235/208/12 227/1037/12 228/209/12 -f 236/211/12 226/1038/12 227/212/12 -f 237/214/12 225/1039/12 226/215/12 -f 238/217/12 224/1040/12 225/218/12 -f 239/220/12 223/1041/12 224/221/12 -f 240/223/12 222/1042/12 223/224/12 -f 221/226/12 222/1043/12 240/227/12 -f 220/229/12 221/1044/12 241/230/12 -f 219/232/12 220/1045/12 242/233/12 -f 217/235/12 219/1046/12 243/236/12 -f 218/238/12 217/1047/12 244/239/12 -f 232/241/12 218/1048/12 245/242/12 -f 231/244/12 232/1049/12 246/245/12 -f 230/247/12 231/1050/12 247/248/12 -f 229/250/12 230/1051/12 248/251/12 -f 206/253/12 249/1052/12 250/254/12 -f 204/256/12 205/255/12 250/257/12 -f 203/259/12 204/256/12 264/260/12 -f 201/262/12 203/259/12 263/263/12 -f 202/265/12 201/262/12 262/266/12 -f 216/268/12 202/265/12 261/269/12 -f 215/271/12 216/268/12 260/272/12 -f 214/274/12 215/271/12 259/275/12 -f 214/274/12 258/1053/12 257/277/12 -f 213/278/12 257/1054/12 256/279/12 -f 212/280/12 256/1055/12 255/281/12 -f 211/282/12 255/1056/12 254/283/12 -f 210/284/12 254/1057/12 253/285/12 -f 209/287/12 253/1058/12 252/288/12 -f 208/289/12 252/1059/12 251/290/12 -f 207/291/12 251/1060/12 249/292/12 -f 267/295/12 266/1061/12 265/1062/12 -f 265/1062/12 280/1063/12 267/295/12 -f 280/1063/12 279/1064/12 267/295/12 -f 279/1064/12 278/1065/12 275/293/12 -f 278/1065/12 277/1066/12 275/293/12 -f 277/1066/12 276/1067/12 275/293/12 -f 275/293/12 274/1068/12 271/294/12 -f 274/1068/12 273/1069/12 271/294/12 -f 273/1069/12 272/1070/12 271/294/12 -f 271/294/12 270/1071/12 267/295/12 -f 270/1071/12 269/1072/12 267/295/12 -f 269/1072/12 268/1073/12 267/295/12 -f 267/295/12 279/1064/12 275/293/12 -f 282/298/11 281/1074/11 283/1075/11 -f 283/1075/11 284/1076/11 285/1077/11 -f 285/1077/11 286/1078/11 287/1079/11 -f 287/1079/11 288/1080/11 289/296/11 -f 289/296/11 290/1081/11 293/297/11 -f 290/1081/11 291/1082/11 293/297/11 -f 291/1082/11 292/1083/11 293/297/11 -f 293/297/11 294/1084/11 295/1085/11 -f 295/1085/11 296/1086/11 293/297/11 -f 296/1086/11 282/298/11 293/297/11 -f 282/298/11 283/1075/11 285/1077/11 -f 285/1077/11 287/1079/11 282/298/11 -f 287/1079/11 289/296/11 282/298/11 -f 328/299/13 313/329/13 297/300/13 -f 321/302/14 322/308/14 306/303/14 -f 314/305/15 315/310/15 299/306/15 -f 322/308/16 323/1087/16 307/309/16 -f 315/310/17 316/314/17 300/311/17 -f 307/309/18 323/1087/18 324/312/18 -f 316/314/19 317/317/19 301/315/19 -f 324/312/20 325/319/20 309/316/20 -f 317/317/21 318/321/21 302/318/21 -f 325/319/22 326/1088/22 310/320/22 -f 318/321/23 319/325/23 303/322/23 -f 310/320/24 326/1088/24 327/323/24 -f 319/325/25 320/327/25 304/326/25 -f 327/323/26 328/299/26 312/301/26 -f 320/327/27 321/1089/27 305/328/27 -f 313/329/28 314/305/28 298/307/28 -f 331/332/12 330/1090/12 329/1091/12 -f 329/1091/12 344/1092/12 331/332/12 -f 344/1092/12 343/1093/12 331/332/12 -f 343/1093/12 342/1094/12 339/330/12 -f 342/1094/12 341/1095/12 339/330/12 -f 341/1095/12 340/1096/12 339/330/12 -f 339/330/12 338/1097/12 335/331/12 -f 338/1097/12 337/1098/12 335/331/12 -f 337/1098/12 336/1099/12 335/331/12 -f 335/331/12 334/1100/12 331/332/12 -f 334/1100/12 333/1101/12 331/332/12 -f 333/1101/12 332/1102/12 331/332/12 -f 331/332/12 343/1093/12 339/330/12 -f 346/335/11 345/1103/11 347/1104/11 -f 347/1104/11 348/1105/11 349/1106/11 -f 349/1106/11 350/1107/11 351/1108/11 -f 351/1108/11 352/1109/11 353/333/11 -f 353/333/11 354/1110/11 355/1111/11 -f 355/1111/11 356/1112/11 357/334/11 -f 357/334/11 358/1113/11 359/1114/11 -f 359/1114/11 360/1115/11 357/334/11 -f 360/1115/11 346/335/11 357/334/11 -f 346/335/11 347/1104/11 349/1106/11 -f 349/1106/11 351/1108/11 346/335/11 -f 351/1108/11 353/333/11 346/335/11 -f 353/333/11 355/1111/11 357/334/11 -f 423/336/12 424/1116/12 377/337/12 -f 424/339/12 410/1117/12 378/340/12 -f 410/341/12 409/1118/12 392/342/12 -f 409/343/12 411/1119/12 391/344/12 -f 411/345/12 412/1120/12 390/346/12 -f 412/347/12 413/1121/12 389/348/12 -f 413/349/12 414/1122/12 388/350/12 -f 388/350/12 414/1123/12 415/351/12 -f 387/352/12 415/1124/12 416/353/12 -f 386/354/12 416/1125/12 417/355/12 -f 385/357/12 417/1126/12 418/358/12 -f 384/359/12 418/1127/12 419/360/12 -f 383/361/12 419/1128/12 420/362/12 -f 420/364/12 421/1129/12 381/365/12 -f 421/366/12 422/1130/12 380/367/12 -f 422/368/12 423/1131/12 379/338/12 -f 2/1/12 1/3/12 120/1132/12 -f 1/3/12 13/1133/12 120/1132/12 -f 120/1132/12 428/1134/12 427/1135/12 -f 428/1134/12 432/1136/12 431/1137/12 -f 18/1138/12 17/1139/12 9/371/12 -f 9/371/12 2/1/12 120/1132/12 -f 428/1134/12 431/1137/12 427/1135/12 -f 427/1135/12 119/369/12 120/1132/12 -f 119/369/12 14/1140/12 5/1141/12 -f 5/1141/12 6/1142/12 119/369/12 -f 6/1142/12 10/370/12 119/369/12 -f 10/370/12 18/1138/12 9/371/12 -f 9/371/12 120/1132/12 119/369/12 -f 3/2/11 4/11/11 118/372/11 -f 4/11/11 11/373/11 118/372/11 -f 11/373/11 19/1143/11 20/1144/11 -f 12/1145/11 8/1146/11 117/374/11 -f 8/1146/11 7/1147/11 117/374/11 -f 11/373/11 20/1144/11 12/1145/11 -f 15/1148/11 3/2/11 118/372/11 -f 430/1149/11 426/1150/11 429/1151/11 -f 426/1150/11 118/372/11 425/1152/11 -f 429/1151/11 426/1150/11 425/1152/11 -f 11/373/11 12/1145/11 117/374/11 -f 7/1147/11 16/1153/11 117/374/11 -f 117/374/11 425/1152/11 118/372/11 -f 435/375/10 436/1154/10 434/376/10 -f 436/378/3 440/1155/3 442/379/3 -f 440/1155/3 444/1156/3 442/379/3 -f 435/383/1 433/1157/1 441/381/1 -f 441/381/1 443/389/1 437/382/1 -f 446/384/8 450/395/8 449/385/8 -f 435/383/11 437/382/11 440/387/11 -f 442/379/12 444/1156/12 443/389/12 -f 434/376/29 442/379/29 441/381/29 -f 443/389/8 444/1156/8 440/390/8 -f 439/392/10 448/1158/10 447/393/10 -f 438/394/5 447/393/5 450/395/5 -f 445/386/9 449/385/9 448/396/9 -f 97/62/30 453/399/30 454/398/30 -f 453/399/8 455/1159/8 456/400/8 -f 453/402/1 97/62/1 98/61/1 -f 98/61/1 451/1160/1 455/401/1 -f 99/59/3 100/63/3 454/1161/3 -f 454/1161/3 456/403/3 99/59/3 -f 460/405/8 463/1162/8 462/406/8 -f 466/408/8 475/1163/8 478/409/8 -f 588/412/12 585/1164/12 586/1165/12 -f 586/1165/12 461/1166/12 462/406/12 -f 462/406/12 463/1162/12 464/411/12 -f 464/411/12 587/1167/12 588/412/12 -f 588/412/12 586/1165/12 462/406/12 -f 458/413/3 461/421/3 586/414/3 -f 582/416/10 585/1168/10 588/417/10 -f 464/419/4 463/1162/4 460/405/4 -f 458/413/2 457/407/2 462/406/2 -f 584/422/1 587/559/1 464/419/1 -f 474/424/12 479/1169/12 480/1170/12 -f 480/1170/12 477/1171/12 478/409/12 -f 478/409/12 475/1163/12 476/423/12 -f 476/423/12 473/1172/12 474/424/12 -f 474/424/12 480/1170/12 478/409/12 -f 468/425/3 477/436/3 480/426/3 -f 472/428/10 479/1173/10 474/429/10 -f 480/426/6 479/1174/6 472/431/6 -f 470/432/7 469/430/7 474/429/7 -f 476/434/4 475/1163/4 466/408/4 -f 468/425/2 467/410/2 478/409/2 -f 470/432/1 473/433/1 476/434/1 -f 482/437/31 484/1175/31 483/438/31 -f 491/440/31 489/1176/31 490/450/31 -f 499/452/10 498/1177/10 508/453/10 -f 508/453/10 507/1178/10 504/1179/10 -f 507/1178/10 497/1180/10 504/1179/10 -f 497/1180/10 500/1181/10 504/1179/10 -f 504/1179/10 503/451/10 508/453/10 -f 509/454/32 511/457/32 512/455/32 -f 511/457/3 509/1182/3 513/458/3 -f 512/455/1 516/462/1 514/460/1 -f 511/457/10 515/459/10 516/462/10 -f 520/463/8 524/469/8 523/464/8 -f 517/466/10 521/1183/10 522/467/10 -f 518/468/1 522/467/1 524/469/1 -f 519/465/3 523/464/3 521/470/3 -f 528/472/8 532/479/8 531/473/8 -f 525/475/10 529/480/10 530/476/10 -f 526/478/1 530/1184/1 532/479/1 -f 527/474/3 531/473/3 529/480/3 -f 521/481/11 537/1185/11 538/482/11 -f 535/484/3 543/502/3 539/485/3 -f 536/493/33 535/484/33 531/473/33 -f 534/487/33 533/491/33 523/464/33 -f 540/496/8 537/1186/8 541/497/8 -f 537/499/11 540/512/11 546/500/11 -f 536/493/12 544/506/12 543/502/12 -f 522/483/1 538/482/1 542/503/1 -f 529/486/11 539/485/11 540/504/11 -f 530/492/1 540/1187/1 544/506/1 -f 534/487/12 542/503/12 541/507/12 -f 533/491/3 541/507/3 537/508/3 -f 538/482/7 545/501/7 547/511/7 -f 543/502/6 548/514/6 546/500/6 -f 547/511/12 548/514/12 544/498/12 -f 547/511/10 545/501/10 546/500/10 -f 551/516/3 552/523/3 550/517/3 -f 555/519/34 556/522/34 552/520/34 -f 556/522/10 554/1188/10 550/517/10 -f 549/524/8 553/526/8 555/519/8 -f 553/526/1 554/1188/1 556/522/1 -f 559/527/3 560/534/3 558/528/3 -f 563/530/34 564/533/34 560/531/34 -f 564/533/10 562/1189/10 558/528/10 -f 557/535/8 561/537/8 563/530/8 -f 561/537/1 562/1189/1 564/533/1 -f 566/538/1 568/1190/1 567/539/1 -f 568/541/35 572/545/35 571/542/35 -f 566/544/10 570/1191/10 572/545/10 -f 565/540/8 567/539/8 571/542/8 -f 572/545/3 570/1191/3 569/547/3 -f 574/548/1 576/1192/1 575/549/1 -f 576/551/35 580/555/35 579/552/35 -f 574/554/10 578/1193/10 580/555/10 -f 573/550/8 575/549/8 579/552/8 -f 580/555/3 578/1193/3 577/557/3 -f 586/414/6 585/1194/6 582/558/6 -f 584/422/7 583/418/7 588/417/7 -f 458/561/11 581/1195/11 582/1196/11 -f 582/1196/11 583/1197/11 584/560/11 -f 584/560/11 459/1198/11 460/405/11 -f 460/405/11 457/407/11 458/561/11 -f 458/561/11 582/1196/11 584/560/11 -f 59/564/11 58/1199/11 67/562/11 -f 58/1199/11 57/1200/11 67/562/11 -f 57/1200/11 68/1201/11 67/562/11 -f 67/562/11 66/1202/11 65/1203/11 -f 65/1203/11 64/1204/11 63/563/11 -f 63/563/11 62/1205/11 59/564/11 -f 62/1205/11 61/1206/11 59/564/11 -f 61/1206/11 60/1207/11 59/564/11 -f 67/562/11 65/1203/11 63/563/11 -f 589/567/11 590/1208/11 591/1209/11 -f 591/1209/11 592/1210/11 593/565/11 -f 593/565/11 594/1211/11 595/566/11 -f 595/566/11 596/1212/11 589/567/11 -f 589/567/11 591/1209/11 593/565/11 -f 611/568/11 612/1213/11 604/569/11 -f 604/569/11 612/1213/11 605/571/11 -f 597/572/11 605/571/11 606/573/11 -f 598/574/11 606/573/11 607/575/11 -f 607/575/11 608/578/11 600/577/11 -f 608/578/11 609/1214/11 601/579/11 -f 609/580/11 610/1215/11 602/581/11 -f 602/581/11 610/1215/11 611/568/11 -f 615/1216/12 614/1217/12 613/583/12 -f 613/583/12 620/1218/12 619/584/12 -f 619/584/12 618/1219/12 617/585/12 -f 617/585/12 616/1220/12 615/1216/12 -f 615/1216/12 613/583/12 617/585/12 -f 621/588/11 622/1221/11 623/1222/11 -f 623/1222/11 624/1223/11 621/588/11 -f 624/1223/11 625/586/11 621/588/11 -f 625/586/11 626/1224/11 627/587/11 -f 627/587/11 628/1225/11 621/588/11 -f 643/589/11 644/1226/11 636/590/11 -f 636/590/11 644/1226/11 637/592/11 -f 629/593/11 637/592/11 638/594/11 -f 630/595/11 638/594/11 639/596/11 -f 639/596/11 640/599/11 632/598/11 -f 640/599/11 641/1227/11 633/600/11 -f 641/601/11 642/604/11 634/602/11 -f 642/604/11 643/589/11 635/591/11 -f 647/606/12 646/1228/12 645/1229/12 -f 645/1229/12 652/1230/12 647/606/12 -f 652/1230/12 651/607/12 647/606/12 -f 651/607/12 650/1231/12 649/1232/12 -f 649/1232/12 648/605/12 651/607/12 -f 653/1233/11 654/1234/11 655/608/11 -f 655/608/11 656/1235/11 657/609/11 -f 657/609/11 658/1236/11 659/610/11 -f 659/610/11 660/1237/11 653/1233/11 -f 653/1233/11 655/608/11 659/610/11 -f 675/611/11 676/1238/11 668/612/11 -f 668/612/11 676/1238/11 669/614/11 -f 661/615/11 669/614/11 670/616/11 -f 662/617/11 670/616/11 671/618/11 -f 671/618/11 672/621/11 664/620/11 -f 672/621/11 673/1239/11 665/622/11 -f 673/623/11 674/626/11 666/624/11 -f 674/626/11 675/611/11 667/613/11 -f 679/628/12 678/1240/12 683/629/12 -f 678/1240/12 677/1241/12 683/629/12 -f 677/1241/12 684/1242/12 683/629/12 -f 683/629/12 682/1243/12 681/1244/12 -f 681/1244/12 680/627/12 683/629/12 -f 685/1245/11 686/1246/11 687/630/11 -f 687/630/11 688/1247/11 689/631/11 -f 689/631/11 690/1248/11 691/632/11 -f 691/632/11 692/1249/11 685/1245/11 -f 685/1245/11 687/630/11 691/632/11 -f 707/633/11 708/1250/11 700/634/11 -f 700/634/11 708/1250/11 701/636/11 -f 693/637/11 701/636/11 702/638/11 -f 694/639/11 702/638/11 703/640/11 -f 703/640/11 704/643/11 696/642/11 -f 704/643/11 705/1251/11 697/644/11 -f 697/645/11 705/1252/11 706/646/11 -f 698/647/11 706/646/11 707/633/11 -f 711/649/12 710/1253/12 715/650/12 -f 710/1253/12 709/1254/12 715/650/12 -f 709/1254/12 716/1255/12 715/650/12 -f 715/650/12 714/1256/12 713/1257/12 -f 713/1257/12 712/648/12 715/650/12 -f 717/1258/11 718/1259/11 719/651/11 -f 719/651/11 720/1260/11 721/652/11 -f 721/652/11 722/1261/11 723/653/11 -f 723/653/11 724/1262/11 717/1258/11 -f 717/1258/11 719/651/11 723/653/11 -f 739/654/11 740/1263/11 732/655/11 -f 732/655/11 740/1263/11 733/657/11 -f 725/658/11 733/657/11 734/659/11 -f 726/660/11 734/659/11 735/661/11 -f 735/661/11 736/664/11 728/663/11 -f 736/664/11 737/1264/11 729/665/11 -f 729/666/11 737/1265/11 738/667/11 -f 730/668/11 738/667/11 739/654/11 -f 743/669/12 742/1266/12 741/670/12 -f 741/670/12 748/1267/12 747/671/12 -f 747/671/12 746/1268/12 745/1269/12 -f 745/1269/12 744/1270/12 747/671/12 -f 744/1270/12 743/669/12 747/671/12 -f 749/674/11 750/1271/11 751/1272/11 -f 751/1272/11 752/1273/11 753/672/11 -f 753/672/11 754/1274/11 755/673/11 -f 755/673/11 756/1275/11 749/674/11 -f 749/674/11 751/1272/11 753/672/11 -f 771/675/11 772/1276/11 764/676/11 -f 764/676/11 772/1276/11 765/678/11 -f 757/679/11 765/678/11 766/680/11 -f 758/681/11 766/680/11 767/682/11 -f 767/682/11 768/685/11 760/684/11 -f 768/685/11 769/1277/11 761/686/11 -f 769/687/11 770/1278/11 762/688/11 -f 762/688/11 770/1278/11 771/675/11 -f 775/690/12 774/1279/12 773/691/12 -f 773/691/12 780/1280/12 779/692/12 -f 779/692/12 778/1281/12 777/1282/12 -f 777/1282/12 776/1283/12 779/692/12 -f 776/1283/12 775/690/12 779/692/12 -f 781/693/11 782/1284/11 783/694/11 -f 783/694/11 784/1285/11 785/695/11 -f 785/695/11 786/1286/11 787/1287/11 -f 787/1287/11 788/1288/11 785/695/11 -f 788/1288/11 781/693/11 785/695/11 -f 803/696/11 804/1289/11 796/697/11 -f 796/697/11 804/1289/11 797/699/11 -f 789/700/11 797/699/11 798/701/11 -f 790/702/11 798/701/11 799/703/11 -f 799/703/11 800/706/11 792/705/11 -f 800/706/11 801/1290/11 793/707/11 -f 793/708/11 801/1291/11 802/709/11 -f 794/710/11 802/709/11 803/696/11 -f 807/712/12 806/1292/12 805/1293/12 -f 805/1293/12 812/1294/12 807/712/12 -f 812/1294/12 811/713/12 807/712/12 -f 811/713/12 810/1295/12 809/1296/12 -f 809/1296/12 808/711/12 811/713/12 -f 813/1297/11 814/1298/11 815/714/11 -f 815/714/11 816/1299/11 817/715/11 -f 817/715/11 818/1300/11 819/716/11 -f 819/716/11 820/1301/11 813/1297/11 -f 813/1297/11 815/714/11 819/716/11 -f 835/717/11 836/1302/11 828/718/11 -f 828/718/11 836/1302/11 829/720/11 -f 821/721/11 829/720/11 830/722/11 -f 822/723/11 830/722/11 831/724/11 -f 831/724/11 832/727/11 824/726/11 -f 832/727/11 833/1303/11 825/728/11 -f 833/729/11 834/732/11 826/730/11 -f 834/732/11 835/717/11 827/719/11 -f 839/733/12 838/1304/12 837/734/12 -f 837/734/12 844/1305/12 843/735/12 -f 843/735/12 842/1306/12 841/1307/12 -f 841/1307/12 840/1308/12 843/735/12 -f 840/1308/12 839/733/12 843/735/12 -f 845/1309/11 846/1310/11 847/736/11 -f 847/736/11 848/1311/11 849/737/11 -f 849/737/11 850/1312/11 851/738/11 -f 851/738/11 852/1313/11 845/1309/11 -f 845/1309/11 847/736/11 851/738/11 -f 867/739/11 868/1314/11 860/740/11 -f 860/740/11 868/1314/11 861/742/11 -f 853/743/11 861/742/11 862/744/11 -f 854/745/11 862/744/11 863/746/11 -f 863/746/11 864/749/11 856/748/11 -f 864/749/11 865/1315/11 857/750/11 -f 865/751/11 866/1316/11 858/752/11 -f 858/752/11 866/1316/11 867/739/11 -f 871/755/12 870/1317/12 875/756/12 -f 870/1317/12 869/1318/12 875/756/12 -f 869/1318/12 876/1319/12 875/756/12 -f 875/756/12 874/1320/12 873/1321/12 -f 873/1321/12 872/754/12 875/756/12 -f 877/759/11 878/1322/11 879/1323/11 -f 879/1323/11 880/1324/11 877/759/11 -f 880/1324/11 881/1325/11 877/759/11 -f 881/1325/11 882/1326/11 877/759/11 -f 882/1326/11 883/757/11 877/759/11 -f 899/760/11 900/1327/11 892/761/11 -f 892/761/11 900/1327/11 893/763/11 -f 885/764/11 893/763/11 894/765/11 -f 886/766/11 894/765/11 895/767/11 -f 895/767/11 896/770/11 888/769/11 -f 896/770/11 897/1328/11 889/771/11 -f 889/772/11 897/1329/11 898/773/11 -f 890/774/11 898/773/11 899/760/11 -f 903/775/12 902/1330/12 901/776/12 -f 901/776/12 908/1331/12 907/777/12 -f 907/777/12 906/1332/12 905/1333/12 -f 905/1333/12 904/1334/12 907/777/12 -f 904/1334/12 903/775/12 907/777/12 -f 909/780/11 910/1335/11 911/1336/11 -f 911/1336/11 912/1337/11 913/778/11 -f 913/778/11 914/1338/11 915/779/11 -f 915/779/11 916/1339/11 909/780/11 -f 909/780/11 911/1336/11 913/778/11 -f 931/781/11 932/1340/11 924/782/11 -f 924/782/11 932/1340/11 925/784/11 -f 917/785/11 925/784/11 926/786/11 -f 918/787/11 926/786/11 927/788/11 -f 927/788/11 928/791/11 920/790/11 -f 928/791/11 929/1341/11 921/792/11 -f 921/793/11 929/1342/11 930/794/11 -f 922/795/11 930/794/11 931/781/11 -f 935/796/12 934/1343/12 933/797/12 -f 933/797/12 940/1344/12 939/798/12 -f 939/798/12 938/1345/12 937/1346/12 -f 937/1346/12 936/1347/12 939/798/12 -f 936/1347/12 935/796/12 939/798/12 -f 941/799/11 942/1348/11 943/800/11 -f 943/800/11 944/1349/11 945/801/11 -f 945/801/11 946/1350/11 947/1351/11 -f 947/1351/11 948/1352/11 945/801/11 -f 948/1352/11 941/799/11 945/801/11 -f 963/802/11 964/1353/11 956/803/11 -f 956/803/11 964/1353/11 957/805/11 -f 949/806/11 957/805/11 958/807/11 -f 950/808/11 958/807/11 959/809/11 -f 959/809/11 960/812/11 952/811/11 -f 960/812/11 961/1354/11 953/813/11 -f 953/814/11 961/1355/11 962/815/11 -f 954/816/11 962/815/11 963/802/11 -f 967/818/12 966/1356/12 965/1357/12 -f 965/1357/12 972/1358/12 967/818/12 -f 972/1358/12 971/819/12 967/818/12 -f 971/819/12 970/1359/12 969/1360/12 -f 969/1360/12 968/817/12 971/819/12 -f 973/820/11 974/1361/11 975/821/11 -f 975/821/11 976/1362/11 977/822/11 -f 977/822/11 978/1363/11 973/820/11 -f 978/1363/11 979/1364/11 973/820/11 -f 979/1364/11 980/1365/11 973/820/11 -f 995/823/11 996/1366/11 988/824/11 -f 988/824/11 996/1366/11 989/826/11 -f 981/827/11 989/826/11 990/828/11 -f 982/829/11 990/828/11 991/830/11 -f 991/830/11 992/833/11 984/832/11 -f 992/833/11 993/1367/11 985/834/11 -f 993/835/11 994/838/11 986/836/11 -f 994/838/11 995/823/11 987/825/11 -f 999/839/12 998/1368/12 997/840/12 -f 997/840/12 1004/1369/12 1003/841/12 -f 1003/841/12 1002/1370/12 1001/1371/12 -f 1001/1371/12 1000/1372/12 1003/841/12 -f 1000/1372/12 999/839/12 1003/841/12 -f 1005/1373/11 1006/1374/11 1007/842/11 -f 1007/842/11 1008/1375/11 1009/843/11 -f 1009/843/11 1010/1376/11 1011/844/11 -f 1011/844/11 1012/1377/11 1005/1373/11 -f 1005/1373/11 1007/842/11 1011/844/11 -f 1027/845/11 1028/1378/11 1020/846/11 -f 1020/846/11 1028/1378/11 1021/848/11 -f 1013/849/11 1021/848/11 1022/850/11 -f 1014/851/11 1022/850/11 1023/852/11 -f 1023/852/11 1024/855/11 1016/854/11 -f 1024/855/11 1025/1379/11 1017/856/11 -f 1025/857/11 1026/1380/11 1018/858/11 -f 1018/858/11 1026/1380/11 1027/845/11 -f 1031/861/12 1030/1381/12 1035/862/12 -f 1030/1381/12 1029/1382/12 1035/862/12 -f 1029/1382/12 1036/1383/12 1035/862/12 -f 1035/862/12 1034/1384/12 1033/1385/12 -f 1033/1385/12 1032/860/12 1035/862/12 -f 1037/1386/11 1038/1387/11 1039/863/11 -f 1039/863/11 1040/1388/11 1041/864/11 -f 1041/864/11 1042/1389/11 1043/865/11 -f 1043/865/11 1044/1390/11 1037/1386/11 -f 1037/1386/11 1039/863/11 1043/865/11 -f 1059/866/11 1060/1391/11 1052/867/11 -f 1052/867/11 1060/1391/11 1053/869/11 -f 1045/870/11 1053/869/11 1054/871/11 -f 1046/872/11 1054/871/11 1055/873/11 -f 1055/873/11 1056/876/11 1048/875/11 -f 1056/876/11 1057/1392/11 1049/877/11 -f 1049/878/11 1057/1393/11 1058/879/11 -f 1050/880/11 1058/879/11 1059/866/11 -f 1063/881/12 1062/1394/12 1061/882/12 -f 1061/882/12 1068/1395/12 1067/883/12 -f 1067/883/12 1066/1396/12 1065/1397/12 -f 1065/1397/12 1064/1398/12 1067/883/12 -f 1064/1398/12 1063/881/12 1067/883/12 -f 1069/886/11 1070/1399/11 1071/1400/11 -f 1071/1400/11 1072/1401/11 1073/884/11 -f 1073/884/11 1074/1402/11 1075/885/11 -f 1075/885/11 1076/1403/11 1069/886/11 -f 1069/886/11 1071/1400/11 1073/884/11 -f 1091/887/11 1092/1404/11 1084/888/11 -f 1084/888/11 1092/1404/11 1085/890/11 -f 1077/891/11 1085/890/11 1086/892/11 -f 1078/893/11 1086/892/11 1087/894/11 -f 1087/894/11 1088/897/11 1080/896/11 -f 1088/897/11 1089/1405/11 1081/898/11 -f 1081/899/11 1089/1406/11 1090/900/11 -f 1082/901/11 1090/900/11 1091/887/11 -f 1095/902/12 1094/1407/12 1093/903/12 -f 1093/903/12 1100/1408/12 1099/904/12 -f 1099/904/12 1098/1409/12 1097/1410/12 -f 1097/1410/12 1096/1411/12 1099/904/12 -f 1096/1411/12 1095/902/12 1099/904/12 -f 1101/905/11 1102/1412/11 1103/906/11 -f 1103/906/11 1104/1413/11 1105/907/11 -f 1105/907/11 1106/1414/11 1107/1415/11 -f 1107/1415/11 1108/1416/11 1105/907/11 -f 1108/1416/11 1101/905/11 1105/907/11 -f 1123/908/11 1124/1417/11 1116/909/11 -f 1116/909/11 1124/1417/11 1117/911/11 -f 1109/912/11 1117/911/11 1118/913/11 -f 1110/914/11 1118/913/11 1119/915/11 -f 1119/915/11 1120/918/11 1112/917/11 -f 1120/918/11 1121/1418/11 1113/919/11 -f 1113/920/11 1121/1419/11 1122/921/11 -f 1122/921/11 1123/908/11 1115/910/11 -f 1127/925/12 1126/1420/12 1125/1421/12 -f 1125/1421/12 1132/1422/12 1127/925/12 -f 1132/1422/12 1131/1423/12 1127/925/12 -f 1131/1423/12 1130/1424/12 1127/925/12 -f 1130/1424/12 1129/923/12 1127/925/12 -f 1133/1425/11 1134/1426/11 1135/926/11 -f 1135/926/11 1136/1427/11 1137/927/11 -f 1137/927/11 1138/1428/11 1139/928/11 -f 1139/928/11 1140/1429/11 1133/1425/11 -f 1133/1425/11 1135/926/11 1139/928/11 -f 1155/929/11 1156/1430/11 1148/930/11 -f 1148/930/11 1156/1430/11 1149/932/11 -f 1141/933/11 1149/932/11 1150/934/11 -f 1142/935/11 1150/934/11 1151/936/11 -f 1151/936/11 1152/939/11 1144/938/11 -f 1152/939/11 1153/1431/11 1145/940/11 -f 1153/941/11 1154/944/11 1146/942/11 -f 1154/944/11 1155/929/11 1147/931/11 -f 1159/945/12 1158/1432/12 1157/946/12 -f 1157/946/12 1164/1433/12 1163/947/12 -f 1163/947/12 1162/1434/12 1161/1435/12 -f 1161/1435/12 1160/1436/12 1163/947/12 -f 1160/1436/12 1159/945/12 1163/947/12 -f 1165/1437/11 1166/1438/11 1167/948/11 -f 1167/948/11 1168/1439/11 1169/949/11 -f 1169/949/11 1170/1440/11 1171/950/11 -f 1171/950/11 1172/1441/11 1165/1437/11 -f 1165/1437/11 1167/948/11 1171/950/11 -f 1187/951/11 1188/954/11 1180/952/11 -f 1188/954/11 1181/1442/11 1173/955/11 -f 1173/955/11 1181/1442/11 1182/956/11 -f 1174/957/11 1182/956/11 1183/958/11 -f 1183/958/11 1184/961/11 1176/960/11 -f 1184/961/11 1185/1443/11 1177/962/11 -f 1185/963/11 1186/1444/11 1178/964/11 -f 1178/964/11 1186/1444/11 1187/951/11 -f 1191/967/12 1190/1445/12 1195/968/12 -f 1190/1445/12 1189/1446/12 1195/968/12 -f 1189/1446/12 1196/1447/12 1195/968/12 -f 1195/968/12 1194/1448/12 1193/1449/12 -f 1193/1449/12 1192/966/12 1195/968/12 +f 930/1595/77 931/1596/77 929/1597/77 +f 934/1598/78 940/1599/78 938/1600/78 +f 936/1601/79 933/1602/79 935/1603/79 +f 937/1604/80 932/1605/80 930/1595/80 +f 947/1606/81 937/1604/81 945/1607/81 +f 942/1608/82 935/1603/82 933/1602/82 +f 943/1609/83 929/1597/83 931/1596/83 +f 946/1610/84 947/1606/84 945/1607/84 +f 948/1611/85 938/1600/85 940/1599/85 +f 942/1608/86 1029/1612/86 944/1613/86 +f 943/1609/86 1032/1614/86 941/1615/86 +f 962/1616/87 975/1617/87 963/1618/87 +f 969/1619/87 982/1620/87 970/1621/87 +f 967/1622/87 978/1623/87 979/1624/87 +f 963/1618/87 976/1625/87 964/1626/87 +f 971/1627/87 982/1628/87 983/1629/87 +f 968/1630/87 979/1631/87 980/1632/87 +f 965/1633/87 976/1634/87 977/1635/87 +f 971/1627/87 984/1636/87 972/1637/87 +f 962/1616/87 973/1638/87 974/1639/87 +f 968/1630/87 981/1640/87 969/1619/87 +f 966/1641/87 977/1642/87 978/1643/87 +f 972/1637/87 973/1644/87 961/1645/87 +f 1023/1646/86 1022/1647/86 1021/1648/86 +f 1027/1649/86 1059/1650/86 1026/1651/86 +f 1024/1652/79 1027/1653/79 1022/1654/79 +f 1023/1646/77 1026/1655/77 1025/1656/77 +f 1023/1646/87 1028/1657/87 1024/1652/87 +f 1022/1647/88 1026/1651/88 1021/1648/88 +f 1031/1658/88 938/1659/88 937/1660/88 +f 1030/1661/87 939/1662/87 1029/1663/87 +f 1043/1664/86 1042/1665/86 1041/1666/86 +f 1044/1667/79 1050/1668/79 1042/1669/79 +f 1049/1670/77 1045/1671/77 1043/1672/77 +f 1054/1673/84 1057/1674/84 1053/1675/84 +f 1043/1672/87 1048/1676/87 1044/1677/87 +f 1050/1668/88 1051/1678/88 1049/1670/88 +f 1042/1665/89 1049/1670/89 1041/1666/89 +f 1051/1678/84 1048/1679/84 1045/1680/84 +f 1047/1681/86 1055/1682/86 1046/1683/86 +f 1046/1683/81 1058/1684/81 1054/1673/81 +f 1053/1675/85 1056/1685/85 1047/1686/85 +f 1025/1656/90 1062/1687/90 1028/1657/90 +f 1061/1688/84 1064/1689/84 1062/1687/84 +f 1026/1655/77 1063/1690/77 1061/1691/77 +f 1064/1692/79 1060/1693/79 1027/1653/79 +f 1068/1694/84 1070/1695/84 1065/1696/84 +f 1074/1697/84 1086/1698/84 1075/1699/84 +f 1070/1695/88 1072/1700/88 1196/1701/88 +f 1066/1702/79 1194/1703/79 1189/1704/79 +f 1190/1705/86 1196/1706/86 1191/1707/86 +f 1072/1708/80 1068/1694/80 1067/1709/80 +f 1066/1702/78 1070/1695/78 1069/1710/78 +f 1192/1711/77 1072/1708/77 1067/1709/77 +f 1086/1698/88 1084/1712/88 1082/1713/88 +f 1076/1714/79 1088/1715/79 1079/1716/79 +f 1080/1717/86 1082/1718/86 1077/1719/86 +f 1088/1715/82 1080/1720/82 1079/1716/82 +f 1078/1721/83 1082/1718/83 1081/1722/83 +f 1084/1723/80 1074/1697/80 1073/1724/80 +f 1076/1714/78 1086/1698/78 1085/1725/78 +f 1078/1721/77 1084/1723/77 1073/1724/77 +f 1090/1726/91 1091/1727/91 1089/1728/91 +f 1099/1729/77 1095/1730/77 1097/1731/77 +f 1089/1728/79 1091/1732/79 1093/1733/79 +f 1090/1726/77 1094/1734/77 1092/1735/77 +f 1100/1736/79 1098/1737/79 1096/1738/79 +f 1099/1729/91 1098/1739/91 1100/1736/91 +f 1111/1740/86 1107/1741/86 1116/1742/86 +f 1117/1743/92 1120/1744/92 1118/1745/92 +f 1119/1746/79 1121/1747/79 1123/1748/79 +f 1120/1744/77 1122/1749/77 1118/1750/77 +f 1119/1746/86 1124/1751/86 1120/1744/86 +f 1128/1752/84 1131/1753/84 1127/1754/84 +f 1125/1755/86 1130/1756/86 1126/1757/86 +f 1126/1757/77 1132/1758/77 1128/1752/77 +f 1127/1754/79 1129/1759/79 1125/1760/79 +f 1136/1761/84 1139/1762/84 1135/1763/84 +f 1133/1764/86 1138/1765/86 1134/1766/86 +f 1134/1767/77 1140/1768/77 1136/1761/77 +f 1135/1763/79 1137/1769/79 1133/1764/79 +f 1129/1770/87 1146/1771/87 1130/1772/87 +f 1143/1773/79 1147/1774/79 1137/1775/79 +f 1130/1772/77 1142/1776/77 1132/1777/77 +f 1129/1778/79 1131/1779/79 1141/1780/79 +f 1138/1781/77 1144/1782/77 1140/1783/77 +f 1137/1775/79 1139/1784/79 1143/1773/79 +f 1144/1782/93 1139/1762/93 1140/1768/93 +f 1142/1776/93 1131/1753/93 1132/1758/93 +f 1148/1785/84 1149/1786/84 1152/1787/84 +f 1145/1788/87 1154/1789/87 1153/1790/87 +f 1144/1782/88 1151/1791/88 1143/1773/88 +f 1130/1772/77 1150/1792/77 1142/1776/77 +f 1137/1775/87 1148/1793/87 1138/1794/87 +f 1138/1781/77 1152/1795/77 1144/1782/77 +f 1142/1776/88 1149/1796/88 1141/1780/88 +f 1141/1780/79 1145/1797/79 1129/1778/79 +f 1145/1788/87 1153/1790/87 1146/1798/87 +f 1150/1799/88 1155/1800/88 1149/1786/88 +f 1146/1771/83 1155/1800/83 1150/1792/83 +f 1148/1801/87 1147/1802/87 1154/1789/87 +f 1152/1787/88 1156/1803/88 1151/1804/88 +f 1151/1791/82 1154/1789/82 1147/1774/82 +f 1155/1800/88 1152/1787/88 1149/1786/88 +f 1155/1800/86 1154/1789/86 1156/1803/86 +f 1159/1805/79 1158/1806/79 1157/1807/79 +f 1163/1808/94 1160/1809/94 1159/1810/94 +f 1164/1811/86 1158/1806/86 1160/1812/86 +f 1157/1813/84 1163/1808/84 1159/1814/84 +f 1161/1815/77 1164/1811/77 1163/1808/77 +f 1167/1816/79 1166/1817/79 1165/1818/79 +f 1171/1819/94 1168/1820/94 1167/1821/94 +f 1172/1822/86 1166/1817/86 1168/1823/86 +f 1165/1824/84 1171/1819/84 1167/1825/84 +f 1169/1826/77 1172/1822/77 1171/1819/77 +f 1174/1827/77 1175/1828/77 1173/1829/77 +f 1176/1830/95 1179/1831/95 1175/1832/95 +f 1174/1833/86 1180/1834/86 1176/1835/86 +f 1173/1829/84 1179/1831/84 1177/1836/84 +f 1180/1834/79 1177/1836/79 1179/1831/79 +f 1182/1837/77 1183/1838/77 1181/1839/77 +f 1184/1840/95 1187/1841/95 1183/1842/95 +f 1182/1843/86 1188/1844/86 1184/1845/86 +f 1181/1839/84 1187/1841/84 1185/1846/84 +f 1188/1844/79 1185/1846/79 1187/1841/79 +f 1194/1703/82 1190/1847/82 1189/1704/82 +f 1192/1711/83 1196/1706/83 1195/1848/83 +f 1192/1849/87 1068/1694/87 1066/1850/87 +f 995/1851/87 991/1852/87 987/1853/87 +f 930/1595/77 932/1605/77 931/1596/77 +f 934/1598/78 936/1601/78 940/1599/78 +f 936/1601/79 934/1598/79 933/1602/79 +f 937/1604/80 939/1854/80 932/1605/80 +f 947/1606/81 939/1854/81 937/1604/81 +f 942/1608/82 944/1613/82 935/1603/82 +f 943/1609/83 941/1615/83 929/1597/83 +f 946/1610/84 948/1611/84 947/1606/84 +f 948/1611/85 946/1610/85 938/1600/85 +f 942/1608/86 1031/1855/86 1029/1612/86 +f 943/1609/86 1030/1856/86 1032/1614/86 +f 962/1616/87 974/1857/87 975/1617/87 +f 969/1619/87 981/1858/87 982/1620/87 +f 967/1622/87 966/1641/87 978/1623/87 +f 963/1618/87 975/1859/87 976/1625/87 +f 971/1627/87 970/1621/87 982/1628/87 +f 968/1630/87 967/1860/87 979/1631/87 +f 965/1633/87 964/1626/87 976/1634/87 +f 971/1627/87 983/1861/87 984/1636/87 +f 962/1616/87 961/1645/87 973/1638/87 +f 968/1630/87 980/1862/87 981/1640/87 +f 966/1641/87 965/1633/87 977/1642/87 +f 972/1637/87 984/1863/87 973/1644/87 +f 1023/1646/86 1024/1652/86 1022/1647/86 +f 1027/1649/86 1060/1864/86 1059/1650/86 +f 1024/1652/79 1028/1657/79 1027/1653/79 +f 1023/1646/77 1021/1865/77 1026/1655/77 +f 1023/1646/87 1025/1656/87 1028/1657/87 +f 1022/1647/88 1027/1649/88 1026/1651/88 +f 930/1595/88 929/1597/88 1032/1866/88 +f 929/1597/88 941/1867/88 1032/1866/88 +f 1032/1866/88 1036/1868/88 1035/1869/88 +f 1036/1868/88 1040/1870/88 1039/1871/88 +f 946/1872/88 945/1873/88 937/1660/88 +f 937/1660/88 930/1595/88 1032/1866/88 +f 1036/1868/88 1039/1871/88 1035/1869/88 +f 1035/1869/88 1031/1658/88 1032/1866/88 +f 1031/1658/88 942/1874/88 933/1875/88 +f 933/1875/88 934/1876/88 1031/1658/88 +f 934/1876/88 938/1659/88 1031/1658/88 +f 938/1659/88 946/1872/88 937/1660/88 +f 937/1660/88 1032/1866/88 1031/1658/88 +f 931/1596/87 932/1605/87 1030/1661/87 +f 932/1605/87 939/1662/87 1030/1661/87 +f 939/1662/87 947/1877/87 948/1878/87 +f 940/1879/87 936/1880/87 1029/1663/87 +f 936/1880/87 935/1881/87 1029/1663/87 +f 939/1662/87 948/1878/87 940/1879/87 +f 943/1882/87 931/1596/87 1030/1661/87 +f 1038/1883/87 1034/1884/87 1037/1885/87 +f 1034/1884/87 1030/1661/87 1033/1886/87 +f 1037/1885/87 1034/1884/87 1033/1886/87 +f 939/1662/87 940/1879/87 1029/1663/87 +f 935/1881/87 944/1887/87 1029/1663/87 +f 1029/1663/87 1033/1886/87 1030/1661/87 +f 1043/1664/86 1044/1888/86 1042/1665/86 +f 1044/1667/79 1048/1889/79 1050/1668/79 +f 1048/1889/79 1052/1890/79 1050/1668/79 +f 1043/1672/77 1041/1891/77 1049/1670/77 +f 1049/1670/77 1051/1678/77 1045/1671/77 +f 1054/1673/84 1058/1684/84 1057/1674/84 +f 1043/1672/87 1045/1671/87 1048/1676/87 +f 1050/1668/88 1052/1890/88 1051/1678/88 +f 1042/1665/89 1050/1668/89 1049/1670/89 +f 1051/1678/84 1052/1890/84 1048/1679/84 +f 1047/1681/86 1056/1892/86 1055/1682/86 +f 1046/1683/81 1055/1682/81 1058/1684/81 +f 1053/1675/85 1057/1674/85 1056/1685/85 +f 1025/1656/90 1061/1688/90 1062/1687/90 +f 1061/1688/84 1063/1893/84 1064/1689/84 +f 1061/1691/77 1025/1656/77 1026/1655/77 +f 1026/1655/77 1059/1894/77 1063/1690/77 +f 1027/1653/79 1028/1657/79 1062/1895/79 +f 1062/1895/79 1064/1692/79 1027/1653/79 +f 1068/1694/84 1071/1896/84 1070/1695/84 +f 1074/1697/84 1083/1897/84 1086/1698/84 +f 1196/1701/88 1193/1898/88 1194/1899/88 +f 1194/1899/88 1069/1900/88 1070/1695/88 +f 1070/1695/88 1071/1896/88 1072/1700/88 +f 1072/1700/88 1195/1901/88 1196/1701/88 +f 1196/1701/88 1194/1899/88 1070/1695/88 +f 1066/1702/79 1069/1710/79 1194/1703/79 +f 1190/1705/86 1193/1902/86 1196/1706/86 +f 1072/1708/80 1071/1896/80 1068/1694/80 +f 1066/1702/78 1065/1696/78 1070/1695/78 +f 1192/1711/77 1195/1848/77 1072/1708/77 +f 1082/1713/88 1087/1903/88 1088/1904/88 +f 1088/1904/88 1085/1905/88 1086/1698/88 +f 1086/1698/88 1083/1897/88 1084/1712/88 +f 1084/1712/88 1081/1906/88 1082/1713/88 +f 1082/1713/88 1088/1904/88 1086/1698/88 +f 1076/1714/79 1085/1725/79 1088/1715/79 +f 1080/1717/86 1087/1907/86 1082/1718/86 +f 1088/1715/82 1087/1908/82 1080/1720/82 +f 1078/1721/83 1077/1719/83 1082/1718/83 +f 1084/1723/80 1083/1897/80 1074/1697/80 +f 1076/1714/78 1075/1699/78 1086/1698/78 +f 1078/1721/77 1081/1722/77 1084/1723/77 +f 1090/1726/91 1092/1909/91 1091/1727/91 +f 1099/1729/91 1097/1910/91 1098/1739/91 +f 1107/1741/86 1106/1911/86 1116/1742/86 +f 1116/1742/86 1115/1912/86 1112/1913/86 +f 1115/1912/86 1105/1914/86 1112/1913/86 +f 1105/1914/86 1108/1915/86 1112/1913/86 +f 1112/1913/86 1111/1740/86 1116/1742/86 +f 1117/1743/92 1119/1746/92 1120/1744/92 +f 1119/1746/79 1117/1916/79 1121/1747/79 +f 1120/1744/77 1124/1751/77 1122/1749/77 +f 1119/1746/86 1123/1748/86 1124/1751/86 +f 1128/1752/84 1132/1758/84 1131/1753/84 +f 1125/1755/86 1129/1917/86 1130/1756/86 +f 1126/1757/77 1130/1756/77 1132/1758/77 +f 1127/1754/79 1131/1753/79 1129/1759/79 +f 1136/1761/84 1140/1768/84 1139/1762/84 +f 1133/1764/86 1137/1769/86 1138/1765/86 +f 1134/1767/77 1138/1918/77 1140/1768/77 +f 1135/1763/79 1139/1762/79 1137/1769/79 +f 1129/1770/87 1145/1919/87 1146/1771/87 +f 1143/1773/79 1151/1791/79 1147/1774/79 +f 1144/1782/93 1143/1773/93 1139/1762/93 +f 1142/1776/93 1141/1780/93 1131/1753/93 +f 1148/1785/84 1145/1920/84 1149/1786/84 +f 1145/1788/87 1148/1801/87 1154/1789/87 +f 1144/1782/88 1152/1795/88 1151/1791/88 +f 1130/1772/77 1146/1771/77 1150/1792/77 +f 1137/1775/87 1147/1774/87 1148/1793/87 +f 1138/1781/77 1148/1921/77 1152/1795/77 +f 1142/1776/88 1150/1792/88 1149/1796/88 +f 1141/1780/79 1149/1796/79 1145/1797/79 +f 1146/1771/83 1153/1790/83 1155/1800/83 +f 1151/1791/82 1156/1803/82 1154/1789/82 +f 1155/1800/88 1156/1803/88 1152/1787/88 +f 1155/1800/86 1153/1790/86 1154/1789/86 +f 1159/1805/79 1160/1812/79 1158/1806/79 +f 1163/1808/94 1164/1811/94 1160/1809/94 +f 1164/1811/86 1162/1922/86 1158/1806/86 +f 1157/1813/84 1161/1815/84 1163/1808/84 +f 1161/1815/77 1162/1922/77 1164/1811/77 +f 1167/1816/79 1168/1823/79 1166/1817/79 +f 1171/1819/94 1172/1822/94 1168/1820/94 +f 1172/1822/86 1170/1923/86 1166/1817/86 +f 1165/1824/84 1169/1826/84 1171/1819/84 +f 1169/1826/77 1170/1923/77 1172/1822/77 +f 1174/1827/77 1176/1924/77 1175/1828/77 +f 1176/1830/95 1180/1834/95 1179/1831/95 +f 1174/1833/86 1178/1925/86 1180/1834/86 +f 1173/1829/84 1175/1828/84 1179/1831/84 +f 1180/1834/79 1178/1925/79 1177/1836/79 +f 1182/1837/77 1184/1926/77 1183/1838/77 +f 1184/1840/95 1188/1844/95 1187/1841/95 +f 1182/1843/86 1186/1927/86 1188/1844/86 +f 1181/1839/84 1183/1838/84 1187/1841/84 +f 1188/1844/79 1186/1927/79 1185/1846/79 +f 1194/1703/82 1193/1928/82 1190/1847/82 +f 1192/1711/83 1191/1707/83 1196/1706/83 +f 1066/1850/87 1189/1929/87 1190/1930/87 +f 1190/1930/87 1191/1931/87 1192/1849/87 +f 1192/1849/87 1067/1932/87 1068/1694/87 +f 1068/1694/87 1065/1696/87 1066/1850/87 +f 1066/1850/87 1190/1930/87 1192/1849/87 +f 987/1853/87 986/1933/87 995/1851/87 +f 986/1933/87 985/1934/87 995/1851/87 +f 985/1934/87 996/1935/87 995/1851/87 +f 995/1851/87 994/1936/87 993/1937/87 +f 993/1937/87 992/1938/87 991/1852/87 +f 991/1852/87 990/1939/87 987/1853/87 +f 990/1939/87 989/1940/87 987/1853/87 +f 989/1940/87 988/1941/87 987/1853/87 +f 995/1851/87 993/1937/87 991/1852/87 s 1 -f 36/32/1 25/1450/36 24/1451/1 -f 43/33/37 32/1452/38 31/1453/37 -f 33/51/8 22/1454/39 21/1455/8 -f 28/1456/40 41/25/41 29/1457/41 -f 37/39/36 26/1458/42 25/1450/36 -f 44/43/38 21/1455/8 32/1452/38 -f 34/22/39 23/1459/43 22/1454/39 -f 41/25/41 30/1460/3 29/1457/41 -f 26/1458/42 39/28/10 27/1461/10 -f 35/24/43 24/1451/1 23/1459/43 -f 42/27/3 31/1453/37 30/1460/3 -f 39/975/10 28/1456/40 27/1462/10 -f 56/978/42 57/1463/10 45/50/10 -f 46/972/40 59/1464/41 47/23/41 -f 53/973/43 66/1465/1 54/26/1 -f 50/29/38 63/1466/8 51/30/8 -f 47/974/41 60/1467/3 48/31/3 -f 54/34/1 67/1468/36 55/35/36 -f 51/37/8 64/1469/39 52/38/39 -f 48/40/3 61/1470/37 49/41/37 -f 55/976/36 68/1471/42 56/42/42 -f 45/44/10 58/1472/40 46/45/40 -f 52/977/39 65/1473/43 53/46/43 -f 49/48/37 62/1474/38 50/49/38 -f 74/1475/42 85/1476/36 73/1477/36 -f 69/1478/8 92/1479/38 80/1480/38 -f 71/1481/43 82/1482/39 70/1483/39 -f 78/1484/3 89/1485/41 77/1486/41 -f 75/1487/10 86/1488/42 74/1475/42 -f 72/1489/1 83/1490/43 71/1481/43 -f 79/1491/37 90/1492/3 78/1484/3 -f 76/1493/40 87/1494/10 75/1495/10 -f 73/1477/36 84/1496/1 72/1489/1 -f 79/1491/37 92/1479/38 91/1497/37 -f 70/1483/39 81/1498/8 69/1478/8 -f 77/1486/41 88/1499/40 76/1493/40 -f 137/1008/44 135/991/3 151/138/3 -f 151/140/3 136/992/45 152/1009/45 -f 145/122/46 128/983/1 144/1000/1 -f 138/1007/6 121/990/44 137/136/44 -f 167/153/1 160/1500/4 159/1501/1 -f 165/165/10 158/1502/7 157/1503/10 -f 163/159/3 156/1504/6 155/1505/3 -f 161/155/8 154/1506/2 153/1507/8 -f 168/152/4 153/1507/8 160/1500/4 -f 166/164/7 159/1501/1 158/1502/7 -f 164/160/6 157/1508/10 156/1504/6 -f 162/157/2 155/1505/3 154/1506/2 -f 146/999/4 129/982/46 145/120/46 -f 139/1006/47 122/989/6 138/134/6 -f 147/118/48 130/67/4 146/998/4 -f 140/1005/10 123/988/47 139/132/47 -f 148/116/8 131/113/48 147/117/48 -f 141/1004/49 124/987/10 140/130/10 -f 149/146/50 132/110/8 148/1012/8 -f 142/1003/7 125/986/49 141/128/49 -f 150/144/2 133/107/50 149/1011/50 -f 143/1002/51 126/985/7 142/126/7 -f 152/142/45 134/104/2 150/1010/2 -f 144/1001/1 127/984/51 143/124/51 -f 171/158/3 180/1509/6 172/161/6 -f 169/154/8 178/1510/2 170/156/2 -f 176/1018/4 177/1511/8 169/154/8 -f 174/1020/7 183/1512/1 175/151/1 -f 172/161/6 181/1513/10 173/1019/10 -f 170/156/2 179/1514/3 171/158/3 -f 175/151/1 184/1515/4 176/1018/4 -f 173/163/10 182/1516/7 174/1020/7 -f 106/64/51 207/291/7 206/253/51 -f 187/1030/7 217/1517/49 186/193/49 -f 185/1032/10 232/1518/47 200/197/47 -f 108/172/49 207/291/7 107/169/7 -f 188/1029/51 219/1519/7 187/191/7 -f 109/175/10 208/289/49 108/172/49 -f 189/1028/1 220/1520/51 188/189/51 -f 110/178/47 209/286/10 109/1026/10 -f 190/1027/46 221/1521/1 189/187/1 -f 111/181/6 210/284/47 110/178/47 -f 191/185/4 222/1522/46 190/186/46 -f 112/184/44 211/282/6 111/181/6 -f 192/182/48 223/1523/4 191/183/4 -f 113/188/3 212/280/44 112/184/44 -f 193/179/8 224/1524/48 192/180/48 -f 114/190/45 213/278/3 113/188/3 -f 194/176/50 225/1525/8 193/177/8 -f 114/190/45 215/271/2 214/274/45 -f 195/173/2 226/1526/50 194/174/50 -f 101/196/8 201/262/48 202/265/8 -f 116/194/50 215/271/2 115/192/2 -f 196/170/45 227/1527/2 195/171/2 -f 102/198/48 203/259/4 201/262/48 -f 101/196/8 216/268/50 116/194/50 -f 197/65/3 228/1528/45 196/66/45 -f 104/202/46 203/259/4 103/200/4 -f 198/1035/44 229/1529/3 197/203/3 -f 105/204/1 204/256/46 104/202/46 -f 198/201/44 231/1530/6 230/1531/44 -f 106/64/51 205/255/1 105/204/1 -f 186/1031/49 218/1532/10 185/195/10 -f 200/1033/47 231/1533/6 199/199/6 -f 241/230/1 258/1053/51 242/231/51 -f 233/210/45 251/1060/2 235/208/2 -f 242/233/51 259/275/7 243/234/7 -f 235/213/2 252/1059/50 236/211/50 -f 243/236/7 260/272/49 244/237/49 -f 236/216/50 253/1058/8 237/214/8 -f 244/239/49 261/269/10 245/240/10 -f 237/219/8 254/1057/48 238/217/48 -f 245/242/10 262/266/47 246/243/47 -f 238/222/48 255/1056/4 239/220/4 -f 246/245/47 263/263/6 247/246/6 -f 239/225/4 256/1055/46 240/223/46 -f 247/248/6 264/260/44 248/249/44 -f 240/227/46 257/1054/1 241/228/1 -f 234/206/3 249/1052/45 233/207/45 -f 248/251/44 250/257/3 234/252/3 -f 270/1534/44 285/1535/3 269/1536/3 -f 278/1537/46 293/1538/1 277/1539/1 -f 271/1540/6 286/1541/44 270/1534/44 -f 279/1542/4 294/1543/46 278/1537/46 -f 271/1540/6 288/1544/47 287/1545/6 -f 280/1546/48 295/1547/4 279/1542/4 -f 273/1548/10 288/1544/47 272/1549/47 -f 266/1550/50 282/1551/8 265/1552/8 -f 265/1552/8 296/1553/48 280/1546/48 -f 274/1554/49 289/1555/10 273/1556/10 -f 267/1557/2 281/1558/50 266/1550/50 -f 275/1559/7 290/1560/49 274/1554/49 -f 268/1561/45 283/1562/2 267/1557/2 -f 276/1563/51 291/1564/7 275/1559/7 -f 269/1536/3 284/1565/45 268/1561/45 -f 277/1539/1 292/1566/51 276/1563/51 -f 334/1567/44 349/1568/3 333/1569/3 -f 342/1570/46 357/1571/1 341/1572/1 -f 335/1573/6 350/1574/44 334/1567/44 -f 343/1575/4 358/1576/46 342/1570/46 -f 335/1573/6 352/1577/47 351/1578/6 -f 344/1579/48 359/1580/4 343/1575/4 -f 337/1581/10 352/1577/47 336/1582/47 -f 330/1583/50 346/1584/8 329/1585/8 -f 329/1585/8 360/1586/48 344/1579/48 -f 338/1587/49 353/1588/10 337/1589/10 -f 331/1590/2 345/1591/50 330/1583/50 -f 339/1592/7 354/1593/49 338/1587/49 -f 332/1594/45 347/1595/2 331/1590/2 -f 340/1596/51 355/1597/7 339/1592/7 -f 333/1569/3 348/1598/45 332/1594/45 -f 341/1572/1 356/1599/51 340/1596/51 -f 366/141/51 383/361/7 382/363/51 -f 368/145/49 383/361/7 367/143/7 -f 369/147/10 384/359/49 368/145/49 -f 370/115/47 385/356/10 369/997/10 -f 371/119/6 386/354/47 370/115/47 -f 372/121/44 387/352/6 371/119/6 -f 373/123/3 388/350/44 372/121/44 -f 374/125/45 389/348/3 373/123/3 -f 374/125/45 391/344/2 390/346/45 -f 362/133/48 378/340/8 361/131/8 -f 376/129/50 391/344/2 375/127/2 -f 362/133/48 379/338/4 377/337/48 -f 361/131/8 392/342/50 376/129/50 -f 364/137/46 379/338/4 363/135/4 -f 365/139/1 380/367/46 364/137/46 -f 366/141/51 381/365/1 365/139/1 -f 395/1600/7 409/343/49 394/1601/49 -f 408/1602/47 410/1117/10 424/339/47 -f 396/1603/51 411/345/7 395/1604/7 -f 397/1605/1 412/347/51 396/1606/51 -f 398/1607/46 413/349/1 397/1608/1 -f 399/1609/4 414/1123/46 398/1610/46 -f 400/1611/48 415/1124/4 399/1612/4 -f 401/1613/8 416/1125/48 400/1614/48 -f 402/1615/50 417/1126/8 401/1616/8 -f 403/1617/2 418/1127/50 402/1618/50 -f 404/1619/45 419/1128/2 403/1620/2 -f 405/1621/3 420/364/45 404/1622/45 -f 406/1623/44 421/366/3 405/1624/3 -f 406/1625/44 423/1131/6 422/368/44 -f 394/1626/49 410/341/10 393/1627/10 -f 407/1628/6 424/1116/47 423/336/6 -f 118/971/52 428/1629/1 120/20/52 -f 119/970/53 425/1630/3 117/18/53 -f 426/1631/1 432/1632/54 428/1629/1 -f 427/1633/3 429/1634/55 425/1630/3 -f 431/1635/55 430/1636/54 429/1637/55 -f 496/1638/56 497/1639/57 495/1640/58 -f 493/1641/59 499/1642/60 494/1643/61 -f 502/1644/62 503/451/63 504/1179/64 -f 496/1638/56 504/1179/64 500/1645/65 -f 499/1642/60 501/1646/66 494/1643/61 -f 505/1647/67 508/1648/68 506/1649/69 -f 498/1650/70 506/1649/69 508/1648/68 -f 495/1640/58 507/1651/71 505/1652/67 -f 603/570/72 596/1653/73 595/1654/72 -f 601/582/74 594/1655/75 593/1656/74 -f 599/576/76 592/1657/77 591/1658/76 -f 597/572/78 590/1659/79 589/1660/78 -f 604/569/73 589/1660/78 596/1653/73 -f 602/581/75 595/1654/72 594/1655/75 -f 600/577/77 593/1661/74 592/1657/77 -f 598/574/79 591/1658/76 590/1659/79 -f 607/575/76 616/1662/77 608/578/77 -f 605/571/78 614/1663/79 606/573/79 -f 612/1213/73 613/1664/78 605/571/78 -f 610/1215/75 619/1665/72 611/568/72 -f 608/578/77 617/1666/74 609/1214/74 -f 606/573/79 615/1667/76 607/575/76 -f 611/568/72 620/1668/73 612/1213/73 -f 609/580/74 618/1669/75 610/1215/75 -f 635/591/80 628/1670/81 627/1671/80 -f 633/603/82 626/1672/83 625/1673/82 -f 631/597/84 624/1674/85 623/1675/84 -f 629/593/86 622/1676/87 621/1677/86 -f 636/590/81 621/1677/86 628/1670/81 -f 634/602/83 627/1671/80 626/1672/83 -f 632/598/85 625/1678/82 624/1674/85 -f 630/595/87 623/1675/84 622/1676/87 -f 639/596/84 648/1679/85 640/599/85 -f 637/592/86 646/1680/87 638/594/87 -f 644/1226/81 645/1681/86 637/592/86 -f 642/604/83 651/1682/80 643/589/80 -f 640/599/85 649/1683/82 641/1227/82 -f 638/594/87 647/1684/84 639/596/84 -f 643/589/80 652/1685/81 644/1226/81 -f 641/601/82 650/1686/83 642/604/83 -f 667/613/88 660/1687/89 659/1688/88 -f 665/625/90 658/1689/91 657/1690/90 -f 663/619/92 656/1691/93 655/1692/92 -f 661/615/94 654/1693/95 653/1694/94 -f 668/612/89 653/1694/94 660/1687/89 -f 666/624/91 659/1688/88 658/1689/91 -f 664/620/93 657/1695/90 656/1691/93 -f 662/617/95 655/1692/92 654/1693/95 -f 671/618/92 680/1696/93 672/621/93 -f 669/614/94 678/1697/95 670/616/95 -f 676/1238/89 677/1698/94 669/614/94 -f 674/626/91 683/1699/88 675/611/88 -f 672/621/93 681/1700/90 673/1239/90 -f 670/616/95 679/1701/92 671/618/92 -f 675/611/88 684/1702/89 676/1238/89 -f 673/623/90 682/1703/91 674/626/91 -f 699/635/96 692/1704/97 691/1705/96 -f 697/645/98 690/1706/99 689/1707/98 -f 695/641/100 688/1708/101 687/1709/100 -f 693/637/102 686/1710/103 685/1711/102 -f 700/634/97 685/1711/102 692/1704/97 -f 698/647/99 691/1705/96 690/1706/99 -f 696/642/101 689/1712/98 688/1708/101 -f 694/639/103 687/1709/100 686/1710/103 -f 703/640/100 712/1713/101 704/643/101 -f 701/636/102 710/1714/103 702/638/103 -f 708/1250/97 709/1715/102 701/636/102 -f 706/646/99 715/1716/96 707/633/96 -f 704/643/101 713/1717/98 705/1251/98 -f 702/638/103 711/1718/100 703/640/100 -f 707/633/96 716/1719/97 708/1250/97 -f 705/1252/98 714/1720/99 706/646/99 -f 731/656/10 724/1721/7 723/1722/10 -f 729/666/3 722/1723/6 721/1724/3 -f 727/662/8 720/1725/2 719/1726/8 -f 725/658/1 718/1727/4 717/1728/1 -f 732/655/7 717/1728/1 724/1721/7 -f 730/668/6 723/1722/10 722/1723/6 -f 728/663/2 721/1729/3 720/1725/2 -f 726/660/4 719/1726/8 718/1727/4 -f 735/661/8 744/1730/2 736/664/2 -f 733/657/1 742/1731/4 734/659/4 -f 740/1263/7 741/1732/1 733/657/1 -f 738/667/6 747/1733/10 739/654/10 -f 736/664/2 745/1734/3 737/1264/3 -f 734/659/4 743/1735/8 735/661/8 -f 739/654/10 748/1736/7 740/1263/7 -f 737/1265/3 746/1737/6 738/667/6 -f 763/677/74 756/1738/75 755/1739/74 -f 761/689/76 754/1740/77 753/1741/76 -f 759/683/78 752/1742/79 751/1743/78 -f 757/679/72 750/1744/73 749/1745/72 -f 764/676/75 749/1745/72 756/1738/75 -f 762/688/77 755/1739/74 754/1740/77 -f 760/684/79 753/1746/76 752/1742/79 -f 758/681/73 751/1743/78 750/1744/73 -f 767/682/78 776/1747/79 768/685/79 -f 765/678/72 774/1748/73 766/680/73 -f 772/1276/75 773/1749/72 765/678/72 -f 770/1278/77 779/1750/74 771/675/74 -f 768/685/79 777/1751/76 769/1277/76 -f 766/680/73 775/1752/78 767/682/78 -f 771/675/74 780/1753/75 772/1276/75 -f 769/687/76 778/1754/77 770/1278/77 -f 795/698/82 788/1755/83 787/1756/82 -f 793/708/84 786/1757/85 785/1758/84 -f 791/704/86 784/1759/87 783/1760/86 -f 789/700/80 782/1761/81 781/1762/80 -f 796/697/83 781/1762/80 788/1755/83 -f 794/710/85 787/1756/82 786/1757/85 -f 792/705/87 785/1763/84 784/1759/87 -f 790/702/81 783/1760/86 782/1761/81 -f 799/703/86 808/1764/87 800/706/87 -f 797/699/80 806/1765/81 798/701/81 -f 804/1289/83 805/1766/80 797/699/80 -f 802/709/85 811/1767/82 803/696/82 -f 800/706/87 809/1768/84 801/1290/84 -f 798/701/81 807/1769/86 799/703/86 -f 803/696/82 812/1770/83 804/1289/83 -f 801/1291/84 810/1771/85 802/709/85 -f 827/719/90 820/1772/91 819/1773/90 -f 825/731/92 818/1774/93 817/1775/92 -f 823/725/94 816/1776/95 815/1777/94 -f 821/721/88 814/1778/89 813/1779/88 -f 828/718/91 813/1779/88 820/1772/91 -f 826/730/93 819/1773/90 818/1774/93 -f 824/726/95 817/1780/92 816/1776/95 -f 822/723/89 815/1777/94 814/1778/89 -f 831/724/94 840/1781/95 832/727/95 -f 829/720/88 838/1782/89 830/722/89 -f 836/1302/91 837/1783/88 829/720/88 -f 834/732/93 843/1784/90 835/717/90 -f 832/727/95 841/1785/92 833/1303/92 -f 830/722/89 839/1786/94 831/724/94 -f 835/717/90 844/1787/91 836/1302/91 -f 833/729/92 842/1788/93 834/732/93 -f 859/741/98 852/1789/99 851/1790/98 -f 857/753/100 850/1791/101 849/1792/100 -f 855/747/102 848/1793/103 847/1794/102 -f 853/743/96 846/1795/97 845/1796/96 -f 860/740/99 845/1796/96 852/1789/99 -f 858/752/101 851/1790/98 850/1791/101 -f 856/748/103 849/1797/100 848/1793/103 -f 854/745/97 847/1794/102 846/1795/97 -f 863/746/102 872/1798/103 864/749/103 -f 861/742/96 870/1799/97 862/744/97 -f 868/1314/99 869/1800/96 861/742/96 -f 866/1316/101 875/1801/98 867/739/98 -f 864/749/103 873/1802/100 865/1315/100 -f 862/744/97 871/1803/102 863/746/102 -f 867/739/98 876/1804/99 868/1314/99 -f 865/751/100 874/1805/101 866/1316/101 -f 891/762/3 884/1806/6 883/1807/3 -f 889/772/8 882/1808/2 881/1809/8 -f 887/768/1 880/1810/4 879/1811/1 -f 885/764/10 878/1812/7 877/1813/10 -f 892/761/6 877/1813/10 884/1806/6 -f 890/774/2 883/1807/3 882/1808/2 -f 888/769/4 881/1814/8 880/1810/4 -f 886/766/7 879/1811/1 878/1812/7 -f 895/767/1 904/1815/4 896/770/4 -f 893/763/10 902/1816/7 894/765/7 -f 900/1327/6 901/1817/10 893/763/10 -f 898/773/2 907/1818/3 899/760/3 -f 896/770/4 905/1819/8 897/1328/8 -f 894/765/7 903/1820/1 895/767/1 -f 899/760/3 908/1821/6 900/1327/6 -f 897/1329/8 906/1822/2 898/773/2 -f 923/783/76 916/1823/77 915/1824/76 -f 921/793/78 914/1825/79 913/1826/78 -f 919/789/72 912/1827/73 911/1828/72 -f 917/785/74 910/1829/75 909/1830/74 -f 924/782/77 909/1830/74 916/1823/77 -f 922/795/79 915/1824/76 914/1825/79 -f 920/790/73 913/1831/78 912/1827/73 -f 918/787/75 911/1828/72 910/1829/75 -f 927/788/72 936/1832/73 928/791/73 -f 925/784/74 934/1833/75 926/786/75 -f 932/1340/77 933/1834/74 925/784/74 -f 930/794/79 939/1835/76 931/781/76 -f 928/791/73 937/1836/78 929/1341/78 -f 926/786/75 935/1837/72 927/788/72 -f 931/781/76 940/1838/77 932/1340/77 -f 929/1342/78 938/1839/79 930/794/79 -f 955/804/84 948/1840/85 947/1841/84 -f 953/814/86 946/1842/87 945/1843/86 -f 951/810/80 944/1844/81 943/1845/80 -f 949/806/82 942/1846/83 941/1847/82 -f 956/803/85 941/1847/82 948/1840/85 -f 954/816/87 947/1841/84 946/1842/87 -f 952/811/81 945/1848/86 944/1844/81 -f 950/808/83 943/1845/80 942/1846/83 -f 959/809/80 968/1849/81 960/812/81 -f 957/805/82 966/1850/83 958/807/83 -f 964/1353/85 965/1851/82 957/805/82 -f 962/815/87 971/1852/84 963/802/84 -f 960/812/81 969/1853/86 961/1354/86 -f 958/807/83 967/1854/80 959/809/80 -f 963/802/84 972/1855/85 964/1353/85 -f 961/1355/86 970/1856/87 962/815/87 -f 987/825/92 980/1857/93 979/1858/92 -f 985/837/94 978/1859/95 977/1860/94 -f 983/831/88 976/1861/89 975/1862/88 -f 981/827/90 974/1863/91 973/1864/90 -f 988/824/93 973/1864/90 980/1857/93 -f 986/836/95 979/1858/92 978/1859/95 -f 984/832/89 977/1865/94 976/1861/89 -f 982/829/91 975/1862/88 974/1863/91 -f 991/830/88 1000/1866/89 992/833/89 -f 989/826/90 998/1867/91 990/828/91 -f 996/1366/93 997/1868/90 989/826/90 -f 994/838/95 1003/1869/92 995/823/92 -f 992/833/89 1001/1870/94 993/1367/94 -f 990/828/91 999/1871/88 991/830/88 -f 995/823/92 1004/1872/93 996/1366/93 -f 993/835/94 1002/1873/95 994/838/95 -f 1019/847/100 1012/1874/101 1011/1875/100 -f 1017/859/102 1010/1876/103 1009/1877/102 -f 1015/853/96 1008/1878/97 1007/1879/96 -f 1013/849/98 1006/1880/99 1005/1881/98 -f 1020/846/101 1005/1881/98 1012/1874/101 -f 1018/858/103 1011/1875/100 1010/1876/103 -f 1016/854/97 1009/1882/102 1008/1878/97 -f 1014/851/99 1007/1879/96 1006/1880/99 -f 1023/852/96 1032/1883/97 1024/855/97 -f 1021/848/98 1030/1884/99 1022/850/99 -f 1028/1378/101 1029/1885/98 1021/848/98 -f 1026/1380/103 1035/1886/100 1027/845/100 -f 1024/855/97 1033/1887/102 1025/1379/102 -f 1022/850/99 1031/1888/96 1023/852/96 -f 1027/845/100 1036/1889/101 1028/1378/101 -f 1025/857/102 1034/1890/103 1026/1380/103 -f 1051/868/8 1044/1891/2 1043/1892/8 -f 1049/878/1 1042/1893/4 1041/1894/1 -f 1047/874/10 1040/1895/7 1039/1896/10 -f 1045/870/3 1038/1897/6 1037/1898/3 -f 1052/867/2 1037/1898/3 1044/1891/2 -f 1050/880/4 1043/1892/8 1042/1893/4 -f 1048/875/7 1041/1899/1 1040/1895/7 -f 1046/872/6 1039/1896/10 1038/1897/6 -f 1055/873/10 1064/1900/7 1056/876/7 -f 1053/869/3 1062/1901/6 1054/871/6 -f 1060/1391/2 1061/1902/3 1053/869/3 -f 1058/879/4 1067/1903/8 1059/866/8 -f 1056/876/7 1065/1904/1 1057/1392/1 -f 1054/871/6 1063/1905/10 1055/873/10 -f 1059/866/8 1068/1906/2 1060/1391/2 -f 1057/1393/1 1066/1907/4 1058/879/4 -f 1083/889/78 1076/1908/79 1075/1909/78 -f 1081/899/72 1074/1910/73 1073/1911/72 -f 1079/895/74 1072/1912/75 1071/1913/74 -f 1077/891/76 1070/1914/77 1069/1915/76 -f 1084/888/79 1069/1915/76 1076/1908/79 -f 1082/901/73 1075/1909/78 1074/1910/73 -f 1080/896/75 1073/1916/72 1072/1912/75 -f 1078/893/77 1071/1913/74 1070/1914/77 -f 1087/894/74 1096/1917/75 1088/897/75 -f 1085/890/76 1094/1918/77 1086/892/77 -f 1092/1404/79 1093/1919/76 1085/890/76 -f 1090/900/73 1099/1920/78 1091/887/78 -f 1088/897/75 1097/1921/72 1089/1405/72 -f 1086/892/77 1095/1922/74 1087/894/74 -f 1091/887/78 1100/1923/79 1092/1404/79 -f 1089/1406/72 1098/1924/73 1090/900/73 -f 1115/910/86 1108/1925/87 1107/1926/86 -f 1113/920/80 1106/1927/81 1105/1928/80 -f 1111/916/82 1104/1929/83 1103/1930/82 -f 1109/912/84 1102/1931/85 1101/1932/84 -f 1116/909/87 1101/1932/84 1108/1925/87 -f 1114/922/81 1107/1926/86 1106/1927/81 -f 1112/917/83 1105/1933/80 1104/1929/83 -f 1110/914/85 1103/1930/82 1102/1931/85 -f 1119/915/82 1128/1934/83 1120/918/83 -f 1117/911/84 1126/1935/85 1118/913/85 -f 1124/1417/87 1125/1936/84 1117/911/84 -f 1122/921/81 1131/1937/86 1123/908/86 -f 1120/918/83 1129/1938/80 1121/1418/80 -f 1118/913/85 1127/1939/82 1119/915/82 -f 1123/908/86 1132/1940/87 1124/1417/87 -f 1121/1419/80 1130/1941/81 1122/921/81 -f 1147/931/94 1140/1942/95 1139/1943/94 -f 1145/943/88 1138/1944/89 1137/1945/88 -f 1143/937/90 1136/1946/91 1135/1947/90 -f 1141/933/92 1134/1948/93 1133/1949/92 -f 1148/930/95 1133/1949/92 1140/1942/95 -f 1146/942/89 1139/1943/94 1138/1944/89 -f 1144/938/91 1137/1950/88 1136/1946/91 -f 1142/935/93 1135/1947/90 1134/1948/93 -f 1151/936/90 1160/1951/91 1152/939/91 -f 1149/932/92 1158/1952/93 1150/934/93 -f 1156/1430/95 1157/1953/92 1149/932/92 -f 1154/944/89 1163/1954/94 1155/929/94 -f 1152/939/91 1161/1955/88 1153/1431/88 -f 1150/934/93 1159/1956/90 1151/936/90 -f 1155/929/94 1164/1957/95 1156/1430/95 -f 1153/941/88 1162/1958/89 1154/944/89 -f 1179/953/102 1172/1959/103 1171/1960/102 -f 1177/965/96 1170/1961/97 1169/1962/96 -f 1175/959/98 1168/1963/99 1167/1964/98 -f 1173/955/100 1166/1965/101 1165/1966/100 -f 1180/952/103 1165/1966/100 1172/1959/103 -f 1178/964/97 1171/1960/102 1170/1961/97 -f 1176/960/99 1169/1967/96 1168/1963/99 -f 1174/957/101 1167/1964/98 1166/1965/101 -f 1183/958/98 1192/1968/99 1184/961/99 -f 1181/1442/100 1190/1969/101 1182/956/101 -f 1188/954/103 1189/1970/100 1181/1442/100 -f 1186/1444/97 1195/1971/102 1187/951/102 -f 1184/961/99 1193/1972/96 1185/1443/96 -f 1182/956/101 1191/1973/98 1183/958/98 -f 1187/951/102 1196/1974/103 1188/954/103 -f 1185/963/96 1194/1975/97 1186/1444/97 -f 36/32/1 37/39/36 25/1450/36 -f 43/33/37 44/43/38 32/1452/38 -f 33/51/8 34/22/39 22/1454/39 -f 28/1456/40 40/36/40 41/25/41 -f 37/39/36 38/47/42 26/1458/42 -f 44/43/38 33/51/8 21/1455/8 -f 34/22/39 35/24/43 23/1459/43 -f 41/25/41 42/27/3 30/1460/3 -f 26/1458/42 38/47/42 39/28/10 -f 35/24/43 36/32/1 24/1451/1 -f 42/27/3 43/33/37 31/1453/37 -f 39/975/10 40/36/40 28/1456/40 -f 56/978/42 68/1976/42 57/1463/10 -f 46/972/40 58/1977/40 59/1464/41 -f 53/973/43 65/1978/43 66/1465/1 -f 50/29/38 62/1979/38 63/1466/8 -f 47/974/41 59/1980/41 60/1467/3 -f 54/34/1 66/1981/1 67/1468/36 -f 51/37/8 63/1982/8 64/1469/39 -f 48/40/3 60/1983/3 61/1470/37 -f 55/976/36 67/1984/36 68/1471/42 -f 45/44/10 57/1985/10 58/1472/40 -f 52/977/39 64/1986/39 65/1473/43 -f 49/48/37 61/1987/37 62/1474/38 -f 74/1475/42 86/1488/42 85/1476/36 -f 69/1478/8 81/1498/8 92/1479/38 -f 71/1481/43 83/1490/43 82/1482/39 -f 78/1484/3 90/1492/3 89/1485/41 -f 75/1487/10 87/1988/10 86/1488/42 -f 72/1489/1 84/1496/1 83/1490/43 -f 79/1491/37 91/1497/37 90/1492/3 -f 76/1493/40 88/1499/40 87/1494/10 -f 73/1477/36 85/1476/36 84/1496/1 -f 79/1491/37 80/1480/38 92/1479/38 -f 70/1483/39 82/1482/39 81/1498/8 -f 77/1486/41 89/1485/41 88/1499/40 -f 137/1008/44 121/98/44 135/991/3 -f 151/140/3 135/101/3 136/992/45 -f 145/122/46 129/74/46 128/983/1 -f 138/1007/6 122/95/6 121/990/44 -f 167/153/1 168/152/4 160/1500/4 -f 165/165/10 166/164/7 158/1502/7 -f 163/159/3 164/160/6 156/1504/6 -f 161/155/8 162/157/2 154/1506/2 -f 168/152/4 161/155/8 153/1507/8 -f 166/164/7 167/153/1 159/1501/1 -f 164/160/6 165/162/10 157/1508/10 -f 162/157/2 163/159/3 155/1505/3 -f 146/999/4 130/71/4 129/982/46 -f 139/1006/47 123/92/47 122/989/6 -f 147/118/48 131/981/48 130/67/4 -f 140/1005/10 124/89/10 123/988/47 -f 148/116/8 132/114/8 131/113/48 -f 141/1004/49 125/86/49 124/987/10 -f 149/146/50 133/111/50 132/110/8 -f 142/1003/7 126/83/7 125/986/49 -f 150/144/2 134/108/2 133/107/50 -f 143/1002/51 127/80/51 126/985/7 -f 152/142/45 136/105/45 134/104/2 -f 144/1001/1 128/77/1 127/984/51 -f 171/158/3 179/1514/3 180/1509/6 -f 169/154/8 177/1511/8 178/1510/2 -f 176/1018/4 184/1515/4 177/1511/8 -f 174/1020/7 182/1516/7 183/1512/1 -f 172/161/6 180/1509/6 181/1513/10 -f 170/156/2 178/1510/2 179/1514/3 -f 175/151/1 183/1512/1 184/1515/4 -f 173/163/10 181/1989/10 182/1516/7 -f 106/64/51 107/169/7 207/291/7 -f 187/1030/7 219/1990/7 217/1517/49 -f 185/1032/10 218/1991/10 232/1518/47 -f 108/172/49 208/289/49 207/291/7 -f 188/1029/51 220/1992/51 219/1519/7 -f 109/175/10 209/287/10 208/289/49 -f 189/1028/1 221/1993/1 220/1520/51 -f 110/178/47 210/284/47 209/286/10 -f 190/1027/46 222/1994/46 221/1521/1 -f 111/181/6 211/282/6 210/284/47 -f 191/185/4 223/1995/4 222/1522/46 -f 112/184/44 212/280/44 211/282/6 -f 192/182/48 224/1996/48 223/1523/4 -f 113/188/3 213/278/3 212/280/44 -f 193/179/8 225/1997/8 224/1524/48 -f 114/190/45 214/274/45 213/278/3 -f 194/176/50 226/1998/50 225/1525/8 -f 114/190/45 115/192/2 215/271/2 -f 195/173/2 227/1999/2 226/1526/50 -f 101/196/8 102/198/48 201/262/48 -f 116/194/50 216/268/50 215/271/2 -f 196/170/45 228/2000/45 227/1527/2 -f 102/198/48 103/200/4 203/259/4 -f 101/196/8 202/265/8 216/268/50 -f 197/65/3 229/2001/3 228/1528/45 -f 104/202/46 204/256/46 203/259/4 -f 198/1035/44 230/2002/44 229/1529/3 -f 105/204/1 205/255/1 204/256/46 -f 198/201/44 199/1034/6 231/1530/6 -f 106/64/51 206/253/51 205/255/1 -f 186/1031/49 217/2003/49 218/1532/10 -f 200/1033/47 232/2004/47 231/1533/6 -f 241/230/1 257/277/1 258/1053/51 -f 233/210/45 249/292/45 251/1060/2 -f 242/233/51 258/276/51 259/275/7 -f 235/213/2 251/290/2 252/1059/50 -f 243/236/7 259/273/7 260/272/49 -f 236/216/50 252/288/50 253/1058/8 -f 244/239/49 260/270/49 261/269/10 -f 237/219/8 253/285/8 254/1057/48 -f 245/242/10 261/267/10 262/266/47 -f 238/222/48 254/283/48 255/1056/4 -f 246/245/47 262/264/47 263/263/6 -f 239/225/4 255/281/4 256/1055/46 -f 247/248/6 263/261/6 264/260/44 -f 240/227/46 256/279/46 257/1054/1 -f 234/206/3 250/254/3 249/1052/45 -f 248/251/44 264/258/44 250/257/3 -f 270/1534/44 286/1541/44 285/1535/3 -f 278/1537/46 294/1543/46 293/1538/1 -f 271/1540/6 287/1545/6 286/1541/44 -f 279/1542/4 295/1547/4 294/1543/46 -f 271/1540/6 272/1549/47 288/1544/47 -f 280/1546/48 296/1553/48 295/1547/4 -f 273/1548/10 289/2005/10 288/1544/47 -f 266/1550/50 281/1558/50 282/1551/8 -f 265/1552/8 282/1551/8 296/1553/48 -f 274/1554/49 290/1560/49 289/1555/10 -f 267/1557/2 283/1562/2 281/1558/50 -f 275/1559/7 291/1564/7 290/1560/49 -f 268/1561/45 284/1565/45 283/1562/2 -f 276/1563/51 292/1566/51 291/1564/7 -f 269/1536/3 285/1535/3 284/1565/45 -f 277/1539/1 293/1538/1 292/1566/51 -f 334/1567/44 350/1574/44 349/1568/3 -f 342/1570/46 358/1576/46 357/1571/1 -f 335/1573/6 351/1578/6 350/1574/44 -f 343/1575/4 359/1580/4 358/1576/46 -f 335/1573/6 336/1582/47 352/1577/47 -f 344/1579/48 360/1586/48 359/1580/4 -f 337/1581/10 353/2006/10 352/1577/47 -f 330/1583/50 345/1591/50 346/1584/8 -f 329/1585/8 346/1584/8 360/1586/48 -f 338/1587/49 354/1593/49 353/1588/10 -f 331/1590/2 347/1595/2 345/1591/50 -f 339/1592/7 355/1597/7 354/1593/49 -f 332/1594/45 348/1598/45 347/1595/2 -f 340/1596/51 356/1599/51 355/1597/7 -f 333/1569/3 349/1568/3 348/1598/45 -f 341/1572/1 357/1571/1 356/1599/51 -f 366/141/51 367/143/7 383/361/7 -f 368/145/49 384/359/49 383/361/7 -f 369/147/10 385/357/10 384/359/49 -f 370/115/47 386/354/47 385/356/10 -f 371/119/6 387/352/6 386/354/47 -f 372/121/44 388/350/44 387/352/6 -f 373/123/3 389/348/3 388/350/44 -f 374/125/45 390/346/45 389/348/3 -f 374/125/45 375/127/2 391/344/2 -f 362/133/48 377/337/48 378/340/8 -f 376/129/50 392/342/50 391/344/2 -f 362/133/48 363/135/4 379/338/4 -f 361/131/8 378/340/8 392/342/50 -f 364/137/46 380/367/46 379/338/4 -f 365/139/1 381/365/1 380/367/46 -f 366/141/51 382/363/51 381/365/1 -f 395/1600/7 411/1119/7 409/343/49 -f 408/1602/47 393/2007/10 410/1117/10 -f 396/1603/51 412/1120/51 411/345/7 -f 397/1605/1 413/1121/1 412/347/51 -f 398/1607/46 414/1122/46 413/349/1 -f 399/1609/4 415/351/4 414/1123/46 -f 400/1611/48 416/353/48 415/1124/4 -f 401/1613/8 417/355/8 416/1125/48 -f 402/1615/50 418/358/50 417/1126/8 -f 403/1617/2 419/360/2 418/1127/50 -f 404/1619/45 420/362/45 419/1128/2 -f 405/1621/3 421/1129/3 420/364/45 -f 406/1623/44 422/1130/44 421/366/3 -f 406/1625/44 407/2008/6 423/1131/6 -f 394/1626/49 409/1118/49 410/341/10 -f 407/1628/6 408/2009/47 424/1116/47 -f 118/971/52 426/1631/1 428/1629/1 -f 119/970/53 427/1633/3 425/1630/3 -f 426/1631/1 430/1636/54 432/1632/54 -f 427/1633/3 431/2010/55 429/1634/55 -f 431/1635/55 432/1632/54 430/1636/54 -f 496/1638/56 500/1645/65 497/1639/57 -f 493/1641/59 498/1650/70 499/1642/60 -f 502/1644/62 501/1646/66 503/451/63 -f 496/1638/56 502/1644/62 504/1179/64 -f 499/1642/60 503/451/63 501/1646/66 -f 505/1647/67 507/2011/71 508/1648/68 -f 498/1650/70 493/1641/59 506/1649/69 -f 495/1640/58 497/1639/57 507/1651/71 -f 603/570/72 604/569/73 596/1653/73 -f 601/582/74 602/581/75 594/1655/75 -f 599/576/76 600/577/77 592/1657/77 -f 597/572/78 598/574/79 590/1659/79 -f 604/569/73 597/572/78 589/1660/78 -f 602/581/75 603/570/72 595/1654/72 -f 600/577/77 601/579/74 593/1661/74 -f 598/574/79 599/576/76 591/1658/76 -f 607/575/76 615/1667/76 616/1662/77 -f 605/571/78 613/1664/78 614/1663/79 -f 612/1213/73 620/1668/73 613/1664/78 -f 610/1215/75 618/1669/75 619/1665/72 -f 608/578/77 616/1662/77 617/1666/74 -f 606/573/79 614/1663/79 615/1667/76 -f 611/568/72 619/1665/72 620/1668/73 -f 609/580/74 617/2012/74 618/1669/75 -f 635/591/80 636/590/81 628/1670/81 -f 633/603/82 634/602/83 626/1672/83 -f 631/597/84 632/598/85 624/1674/85 -f 629/593/86 630/595/87 622/1676/87 -f 636/590/81 629/593/86 621/1677/86 -f 634/602/83 635/591/80 627/1671/80 -f 632/598/85 633/600/82 625/1678/82 -f 630/595/87 631/597/84 623/1675/84 -f 639/596/84 647/1684/84 648/1679/85 -f 637/592/86 645/1681/86 646/1680/87 -f 644/1226/81 652/1685/81 645/1681/86 -f 642/604/83 650/1686/83 651/1682/80 -f 640/599/85 648/1679/85 649/1683/82 -f 638/594/87 646/1680/87 647/1684/84 -f 643/589/80 651/1682/80 652/1685/81 -f 641/601/82 649/2013/82 650/1686/83 -f 667/613/88 668/612/89 660/1687/89 -f 665/625/90 666/624/91 658/1689/91 -f 663/619/92 664/620/93 656/1691/93 -f 661/615/94 662/617/95 654/1693/95 -f 668/612/89 661/615/94 653/1694/94 -f 666/624/91 667/613/88 659/1688/88 -f 664/620/93 665/622/90 657/1695/90 -f 662/617/95 663/619/92 655/1692/92 -f 671/618/92 679/1701/92 680/1696/93 -f 669/614/94 677/1698/94 678/1697/95 -f 676/1238/89 684/1702/89 677/1698/94 -f 674/626/91 682/1703/91 683/1699/88 -f 672/621/93 680/1696/93 681/1700/90 -f 670/616/95 678/1697/95 679/1701/92 -f 675/611/88 683/1699/88 684/1702/89 -f 673/623/90 681/2014/90 682/1703/91 -f 699/635/96 700/634/97 692/1704/97 -f 697/645/98 698/647/99 690/1706/99 -f 695/641/100 696/642/101 688/1708/101 -f 693/637/102 694/639/103 686/1710/103 -f 700/634/97 693/637/102 685/1711/102 -f 698/647/99 699/635/96 691/1705/96 -f 696/642/101 697/644/98 689/1712/98 -f 694/639/103 695/641/100 687/1709/100 -f 703/640/100 711/1718/100 712/1713/101 -f 701/636/102 709/1715/102 710/1714/103 -f 708/1250/97 716/1719/97 709/1715/102 -f 706/646/99 714/1720/99 715/1716/96 -f 704/643/101 712/1713/101 713/1717/98 -f 702/638/103 710/1714/103 711/1718/100 -f 707/633/96 715/1716/96 716/1719/97 -f 705/1252/98 713/2015/98 714/1720/99 -f 731/656/10 732/655/7 724/1721/7 -f 729/666/3 730/668/6 722/1723/6 -f 727/662/8 728/663/2 720/1725/2 -f 725/658/1 726/660/4 718/1727/4 -f 732/655/7 725/658/1 717/1728/1 -f 730/668/6 731/656/10 723/1722/10 -f 728/663/2 729/665/3 721/1729/3 -f 726/660/4 727/662/8 719/1726/8 -f 735/661/8 743/1735/8 744/1730/2 -f 733/657/1 741/1732/1 742/1731/4 -f 740/1263/7 748/1736/7 741/1732/1 -f 738/667/6 746/1737/6 747/1733/10 -f 736/664/2 744/1730/2 745/1734/3 -f 734/659/4 742/1731/4 743/1735/8 -f 739/654/10 747/1733/10 748/1736/7 -f 737/1265/3 745/2016/3 746/1737/6 -f 763/677/74 764/676/75 756/1738/75 -f 761/689/76 762/688/77 754/1740/77 -f 759/683/78 760/684/79 752/1742/79 -f 757/679/72 758/681/73 750/1744/73 -f 764/676/75 757/679/72 749/1745/72 -f 762/688/77 763/677/74 755/1739/74 -f 760/684/79 761/686/76 753/1746/76 -f 758/681/73 759/683/78 751/1743/78 -f 767/682/78 775/1752/78 776/1747/79 -f 765/678/72 773/1749/72 774/1748/73 -f 772/1276/75 780/1753/75 773/1749/72 -f 770/1278/77 778/1754/77 779/1750/74 -f 768/685/79 776/1747/79 777/1751/76 -f 766/680/73 774/1748/73 775/1752/78 -f 771/675/74 779/1750/74 780/1753/75 -f 769/687/76 777/2017/76 778/1754/77 -f 795/698/82 796/697/83 788/1755/83 -f 793/708/84 794/710/85 786/1757/85 -f 791/704/86 792/705/87 784/1759/87 -f 789/700/80 790/702/81 782/1761/81 -f 796/697/83 789/700/80 781/1762/80 -f 794/710/85 795/698/82 787/1756/82 -f 792/705/87 793/707/84 785/1763/84 -f 790/702/81 791/704/86 783/1760/86 -f 799/703/86 807/1769/86 808/1764/87 -f 797/699/80 805/1766/80 806/1765/81 -f 804/1289/83 812/1770/83 805/1766/80 -f 802/709/85 810/1771/85 811/1767/82 -f 800/706/87 808/1764/87 809/1768/84 -f 798/701/81 806/1765/81 807/1769/86 -f 803/696/82 811/1767/82 812/1770/83 -f 801/1291/84 809/2018/84 810/1771/85 -f 827/719/90 828/718/91 820/1772/91 -f 825/731/92 826/730/93 818/1774/93 -f 823/725/94 824/726/95 816/1776/95 -f 821/721/88 822/723/89 814/1778/89 -f 828/718/91 821/721/88 813/1779/88 -f 826/730/93 827/719/90 819/1773/90 -f 824/726/95 825/728/92 817/1780/92 -f 822/723/89 823/725/94 815/1777/94 -f 831/724/94 839/1786/94 840/1781/95 -f 829/720/88 837/1783/88 838/1782/89 -f 836/1302/91 844/1787/91 837/1783/88 -f 834/732/93 842/1788/93 843/1784/90 -f 832/727/95 840/1781/95 841/1785/92 -f 830/722/89 838/1782/89 839/1786/94 -f 835/717/90 843/1784/90 844/1787/91 -f 833/729/92 841/2019/92 842/1788/93 -f 859/741/98 860/740/99 852/1789/99 -f 857/753/100 858/752/101 850/1791/101 -f 855/747/102 856/748/103 848/1793/103 -f 853/743/96 854/745/97 846/1795/97 -f 860/740/99 853/743/96 845/1796/96 -f 858/752/101 859/741/98 851/1790/98 -f 856/748/103 857/750/100 849/1797/100 -f 854/745/97 855/747/102 847/1794/102 -f 863/746/102 871/1803/102 872/1798/103 -f 861/742/96 869/1800/96 870/1799/97 -f 868/1314/99 876/1804/99 869/1800/96 -f 866/1316/101 874/1805/101 875/1801/98 -f 864/749/103 872/1798/103 873/1802/100 -f 862/744/97 870/1799/97 871/1803/102 -f 867/739/98 875/1801/98 876/1804/99 -f 865/751/100 873/2020/100 874/1805/101 -f 891/762/3 892/761/6 884/1806/6 -f 889/772/8 890/774/2 882/1808/2 -f 887/768/1 888/769/4 880/1810/4 -f 885/764/10 886/766/7 878/1812/7 -f 892/761/6 885/764/10 877/1813/10 -f 890/774/2 891/762/3 883/1807/3 -f 888/769/4 889/771/8 881/1814/8 -f 886/766/7 887/768/1 879/1811/1 -f 895/767/1 903/1820/1 904/1815/4 -f 893/763/10 901/1817/10 902/1816/7 -f 900/1327/6 908/1821/6 901/1817/10 -f 898/773/2 906/1822/2 907/1818/3 -f 896/770/4 904/1815/4 905/1819/8 -f 894/765/7 902/1816/7 903/1820/1 -f 899/760/3 907/1818/3 908/1821/6 -f 897/1329/8 905/2021/8 906/1822/2 -f 923/783/76 924/782/77 916/1823/77 -f 921/793/78 922/795/79 914/1825/79 -f 919/789/72 920/790/73 912/1827/73 -f 917/785/74 918/787/75 910/1829/75 -f 924/782/77 917/785/74 909/1830/74 -f 922/795/79 923/783/76 915/1824/76 -f 920/790/73 921/792/78 913/1831/78 -f 918/787/75 919/789/72 911/1828/72 -f 927/788/72 935/1837/72 936/1832/73 -f 925/784/74 933/1834/74 934/1833/75 -f 932/1340/77 940/1838/77 933/1834/74 -f 930/794/79 938/1839/79 939/1835/76 -f 928/791/73 936/1832/73 937/1836/78 -f 926/786/75 934/1833/75 935/1837/72 -f 931/781/76 939/1835/76 940/1838/77 -f 929/1342/78 937/2022/78 938/1839/79 -f 955/804/84 956/803/85 948/1840/85 -f 953/814/86 954/816/87 946/1842/87 -f 951/810/80 952/811/81 944/1844/81 -f 949/806/82 950/808/83 942/1846/83 -f 956/803/85 949/806/82 941/1847/82 -f 954/816/87 955/804/84 947/1841/84 -f 952/811/81 953/813/86 945/1848/86 -f 950/808/83 951/810/80 943/1845/80 -f 959/809/80 967/1854/80 968/1849/81 -f 957/805/82 965/1851/82 966/1850/83 -f 964/1353/85 972/1855/85 965/1851/82 -f 962/815/87 970/1856/87 971/1852/84 -f 960/812/81 968/1849/81 969/1853/86 -f 958/807/83 966/1850/83 967/1854/80 -f 963/802/84 971/1852/84 972/1855/85 -f 961/1355/86 969/2023/86 970/1856/87 -f 987/825/92 988/824/93 980/1857/93 -f 985/837/94 986/836/95 978/1859/95 -f 983/831/88 984/832/89 976/1861/89 -f 981/827/90 982/829/91 974/1863/91 -f 988/824/93 981/827/90 973/1864/90 -f 986/836/95 987/825/92 979/1858/92 -f 984/832/89 985/834/94 977/1865/94 -f 982/829/91 983/831/88 975/1862/88 -f 991/830/88 999/1871/88 1000/1866/89 -f 989/826/90 997/1868/90 998/1867/91 -f 996/1366/93 1004/1872/93 997/1868/90 -f 994/838/95 1002/1873/95 1003/1869/92 -f 992/833/89 1000/1866/89 1001/1870/94 -f 990/828/91 998/1867/91 999/1871/88 -f 995/823/92 1003/1869/92 1004/1872/93 -f 993/835/94 1001/2024/94 1002/1873/95 -f 1019/847/100 1020/846/101 1012/1874/101 -f 1017/859/102 1018/858/103 1010/1876/103 -f 1015/853/96 1016/854/97 1008/1878/97 -f 1013/849/98 1014/851/99 1006/1880/99 -f 1020/846/101 1013/849/98 1005/1881/98 -f 1018/858/103 1019/847/100 1011/1875/100 -f 1016/854/97 1017/856/102 1009/1882/102 -f 1014/851/99 1015/853/96 1007/1879/96 -f 1023/852/96 1031/1888/96 1032/1883/97 -f 1021/848/98 1029/1885/98 1030/1884/99 -f 1028/1378/101 1036/1889/101 1029/1885/98 -f 1026/1380/103 1034/1890/103 1035/1886/100 -f 1024/855/97 1032/1883/97 1033/1887/102 -f 1022/850/99 1030/1884/99 1031/1888/96 -f 1027/845/100 1035/1886/100 1036/1889/101 -f 1025/857/102 1033/2025/102 1034/1890/103 -f 1051/868/8 1052/867/2 1044/1891/2 -f 1049/878/1 1050/880/4 1042/1893/4 -f 1047/874/10 1048/875/7 1040/1895/7 -f 1045/870/3 1046/872/6 1038/1897/6 -f 1052/867/2 1045/870/3 1037/1898/3 -f 1050/880/4 1051/868/8 1043/1892/8 -f 1048/875/7 1049/877/1 1041/1899/1 -f 1046/872/6 1047/874/10 1039/1896/10 -f 1055/873/10 1063/1905/10 1064/1900/7 -f 1053/869/3 1061/1902/3 1062/1901/6 -f 1060/1391/2 1068/1906/2 1061/1902/3 -f 1058/879/4 1066/1907/4 1067/1903/8 -f 1056/876/7 1064/1900/7 1065/1904/1 -f 1054/871/6 1062/1901/6 1063/1905/10 -f 1059/866/8 1067/1903/8 1068/1906/2 -f 1057/1393/1 1065/2026/1 1066/1907/4 -f 1083/889/78 1084/888/79 1076/1908/79 -f 1081/899/72 1082/901/73 1074/1910/73 -f 1079/895/74 1080/896/75 1072/1912/75 -f 1077/891/76 1078/893/77 1070/1914/77 -f 1084/888/79 1077/891/76 1069/1915/76 -f 1082/901/73 1083/889/78 1075/1909/78 -f 1080/896/75 1081/898/72 1073/1916/72 -f 1078/893/77 1079/895/74 1071/1913/74 -f 1087/894/74 1095/1922/74 1096/1917/75 -f 1085/890/76 1093/1919/76 1094/1918/77 -f 1092/1404/79 1100/1923/79 1093/1919/76 -f 1090/900/73 1098/1924/73 1099/1920/78 -f 1088/897/75 1096/1917/75 1097/1921/72 -f 1086/892/77 1094/1918/77 1095/1922/74 -f 1091/887/78 1099/1920/78 1100/1923/79 -f 1089/1406/72 1097/2027/72 1098/1924/73 -f 1115/910/86 1116/909/87 1108/1925/87 -f 1113/920/80 1114/922/81 1106/1927/81 -f 1111/916/82 1112/917/83 1104/1929/83 -f 1109/912/84 1110/914/85 1102/1931/85 -f 1116/909/87 1109/912/84 1101/1932/84 -f 1114/922/81 1115/910/86 1107/1926/86 -f 1112/917/83 1113/919/80 1105/1933/80 -f 1110/914/85 1111/916/82 1103/1930/82 -f 1119/915/82 1127/1939/82 1128/1934/83 -f 1117/911/84 1125/1936/84 1126/1935/85 -f 1124/1417/87 1132/1940/87 1125/1936/84 -f 1122/921/81 1130/1941/81 1131/1937/86 -f 1120/918/83 1128/1934/83 1129/1938/80 -f 1118/913/85 1126/1935/85 1127/1939/82 -f 1123/908/86 1131/1937/86 1132/1940/87 -f 1121/1419/80 1129/2028/80 1130/1941/81 -f 1147/931/94 1148/930/95 1140/1942/95 -f 1145/943/88 1146/942/89 1138/1944/89 -f 1143/937/90 1144/938/91 1136/1946/91 -f 1141/933/92 1142/935/93 1134/1948/93 -f 1148/930/95 1141/933/92 1133/1949/92 -f 1146/942/89 1147/931/94 1139/1943/94 -f 1144/938/91 1145/940/88 1137/1950/88 -f 1142/935/93 1143/937/90 1135/1947/90 -f 1151/936/90 1159/1956/90 1160/1951/91 -f 1149/932/92 1157/1953/92 1158/1952/93 -f 1156/1430/95 1164/1957/95 1157/1953/92 -f 1154/944/89 1162/1958/89 1163/1954/94 -f 1152/939/91 1160/1951/91 1161/1955/88 -f 1150/934/93 1158/1952/93 1159/1956/90 -f 1155/929/94 1163/1954/94 1164/1957/95 -f 1153/941/88 1161/2029/88 1162/1958/89 -f 1179/953/102 1180/952/103 1172/1959/103 -f 1177/965/96 1178/964/97 1170/1961/97 -f 1175/959/98 1176/960/99 1168/1963/99 -f 1173/955/100 1174/957/101 1166/1965/101 -f 1180/952/103 1173/955/100 1165/1966/100 -f 1178/964/97 1179/953/102 1171/1960/102 -f 1176/960/99 1177/962/96 1169/1967/96 -f 1174/957/101 1175/959/98 1167/1964/98 -f 1183/958/98 1191/1973/98 1192/1968/99 -f 1181/1442/100 1189/1970/100 1190/1969/101 -f 1188/954/103 1196/1974/103 1189/1970/100 -f 1186/1444/97 1194/1975/97 1195/1971/102 -f 1184/961/99 1192/1968/99 1193/1972/96 -f 1182/956/101 1190/1969/101 1191/1973/98 -f 1187/951/102 1195/1971/102 1196/1974/103 -f 1185/963/96 1193/2030/96 1194/1975/97 +f 964/1626/77 953/1942/96 952/1943/77 +f 971/1627/97 960/1944/98 959/1945/97 +f 961/1645/84 950/1946/99 949/1947/84 +f 956/1948/100 969/1619/101 957/1949/101 +f 965/1633/96 954/1950/102 953/1942/96 +f 972/1637/98 949/1947/84 960/1944/98 +f 962/1616/99 951/1951/103 950/1946/99 +f 969/1619/101 958/1952/79 957/1949/101 +f 954/1950/102 967/1622/86 955/1953/86 +f 963/1618/103 952/1943/77 951/1951/103 +f 970/1621/79 959/1945/97 958/1952/79 +f 967/1860/86 956/1948/100 955/1954/86 +f 984/1863/102 985/1955/86 973/1644/86 +f 974/1857/100 987/1956/101 975/1617/101 +f 981/1858/103 994/1957/77 982/1620/77 +f 978/1623/98 991/1958/84 979/1624/84 +f 975/1859/101 988/1959/79 976/1625/79 +f 982/1628/77 995/1960/96 983/1629/96 +f 979/1631/84 992/1961/99 980/1632/99 +f 976/1634/79 989/1962/97 977/1635/97 +f 983/1861/96 996/1963/102 984/1636/102 +f 973/1638/86 986/1964/100 974/1639/100 +f 980/1862/99 993/1965/103 981/1640/103 +f 977/1642/97 990/1966/98 978/1643/98 +f 1002/1967/102 1013/1968/96 1001/1969/96 +f 997/1970/84 1020/1971/98 1008/1972/98 +f 999/1973/103 1010/1974/99 998/1975/99 +f 1006/1976/79 1017/1977/101 1005/1978/101 +f 1003/1979/86 1014/1980/102 1002/1967/102 +f 1000/1981/77 1011/1982/103 999/1973/103 +f 1007/1983/97 1018/1984/79 1006/1976/79 +f 1004/1985/100 1015/1986/86 1003/1987/86 +f 1001/1969/96 1012/1988/77 1000/1981/77 +f 1007/1983/97 1020/1971/98 1019/1989/97 +f 998/1975/99 1009/1990/84 997/1970/84 +f 1005/1978/101 1016/1991/100 1004/1985/100 +f 1030/1856/104 1036/1992/77 1032/1614/104 +f 1031/1855/105 1033/1993/79 1029/1612/105 +f 1034/1994/77 1040/1995/106 1036/1992/77 +f 1035/1996/79 1037/1997/107 1033/1993/79 +f 1039/1998/107 1038/1999/106 1037/2000/107 +f 1104/2001/108 1105/2002/109 1103/2003/110 +f 1101/2004/111 1107/2005/112 1102/2006/113 +f 1110/2007/114 1111/1740/115 1112/1913/116 +f 1104/2001/108 1112/1913/116 1108/2008/117 +f 1107/2005/112 1109/2009/118 1102/2006/113 +f 1113/2010/119 1116/2011/120 1114/2012/121 +f 1106/2013/122 1114/2012/121 1116/2011/120 +f 1103/2003/110 1115/2014/123 1113/2015/119 +f 964/1626/77 965/1633/96 953/1942/96 +f 971/1627/97 972/1637/98 960/1944/98 +f 961/1645/84 962/1616/99 950/1946/99 +f 956/1948/100 968/1630/100 969/1619/101 +f 965/1633/96 966/1641/102 954/1950/102 +f 972/1637/98 961/1645/84 949/1947/84 +f 962/1616/99 963/1618/103 951/1951/103 +f 969/1619/101 970/1621/79 958/1952/79 +f 954/1950/102 966/1641/102 967/1622/86 +f 963/1618/103 964/1626/77 952/1943/77 +f 970/1621/79 971/1627/97 959/1945/97 +f 967/1860/86 968/1630/100 956/1948/100 +f 984/1863/102 996/2016/102 985/1955/86 +f 974/1857/100 986/2017/100 987/1956/101 +f 981/1858/103 993/2018/103 994/1957/77 +f 978/1623/98 990/2019/98 991/1958/84 +f 975/1859/101 987/2020/101 988/1959/79 +f 982/1628/77 994/2021/77 995/1960/96 +f 979/1631/84 991/2022/84 992/1961/99 +f 976/1634/79 988/2023/79 989/1962/97 +f 983/1861/96 995/2024/96 996/1963/102 +f 973/1638/86 985/2025/86 986/1964/100 +f 980/1862/99 992/2026/99 993/1965/103 +f 977/1642/97 989/2027/97 990/1966/98 +f 1002/1967/102 1014/1980/102 1013/1968/96 +f 997/1970/84 1009/1990/84 1020/1971/98 +f 999/1973/103 1011/1982/103 1010/1974/99 +f 1006/1976/79 1018/1984/79 1017/1977/101 +f 1003/1979/86 1015/2028/86 1014/1980/102 +f 1000/1981/77 1012/1988/77 1011/1982/103 +f 1007/1983/97 1019/1989/97 1018/1984/79 +f 1004/1985/100 1016/1991/100 1015/1986/86 +f 1001/1969/96 1013/1968/96 1012/1988/77 +f 1007/1983/97 1008/1972/98 1020/1971/98 +f 998/1975/99 1010/1974/99 1009/1990/84 +f 1005/1978/101 1017/1977/101 1016/1991/100 +f 1030/1856/104 1034/1994/77 1036/1992/77 +f 1031/1855/105 1035/1996/79 1033/1993/79 +f 1034/1994/77 1038/1999/106 1040/1995/106 +f 1035/1996/79 1039/2029/107 1037/1997/107 +f 1039/1998/107 1040/1995/106 1038/1999/106 +f 1104/2001/108 1108/2008/117 1105/2002/109 +f 1101/2004/111 1106/2013/122 1107/2005/112 +f 1110/2007/114 1109/2009/118 1111/1740/115 +f 1104/2001/108 1110/2007/114 1112/1913/116 +f 1107/2005/112 1111/1740/115 1109/2009/118 +f 1113/2010/119 1115/2030/123 1116/2011/120 +f 1106/2013/122 1101/2004/111 1114/2012/121 +f 1103/2003/110 1105/2002/109 1115/2014/123 diff --git a/src/main/resources/assets/hbm/models/weapons/stg77.obj b/src/main/resources/assets/hbm/models/weapons/stg77.obj new file mode 100644 index 000000000..decc89649 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/stg77.obj @@ -0,0 +1,4762 @@ +# Blender v2.79 (sub 0) OBJ File: 'stg77.blend' +# www.blender.org +o Breech +v -0.156250 0.281250 -3.250000 +v -0.343750 -0.031250 -3.250000 +v -0.156250 0.281250 -4.750000 +v -0.343750 -0.031250 -4.750000 +v -0.093750 0.281250 -4.750000 +v -0.281250 -0.031250 -4.750000 +v -0.093750 0.281250 -3.250000 +v -0.281250 -0.031250 -3.250000 +vt 0.196970 0.198795 +vt 0.287879 0.228916 +vt 0.196970 0.228916 +vt 0.193182 0.198795 +vt 0.193182 0.228916 +vt 0.196970 0.198795 +vt 0.196970 0.228916 +vt 0.287879 0.198795 +vt 0.193182 0.228916 +vt 0.193182 0.198795 +vn -0.8575 0.5145 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +s off +f 4/1/1 1/2/1 3/3/1 +f 3/3/2 6/4/2 4/1/2 +f 1/5/3 8/6/3 7/7/3 +f 4/1/1 2/8/1 1/2/1 +f 3/3/2 5/9/2 6/4/2 +f 1/5/3 2/10/3 8/6/3 +o Barrel +v 0.000000 0.187500 -3.000000 +v 0.000000 0.187500 6.500000 +v 0.093750 0.162380 -3.000000 +v 0.093750 0.162380 6.500000 +v 0.162380 0.093750 -3.000000 +v 0.162380 0.093750 6.500000 +v 0.187500 0.000000 -3.000000 +v 0.187500 -0.000000 6.500000 +v 0.162380 -0.093750 -3.000000 +v 0.162380 -0.093750 6.500000 +v 0.093750 -0.162380 -3.000000 +v 0.093750 -0.162380 6.500000 +v 0.000000 -0.187500 -3.000000 +v 0.000000 -0.187500 6.500000 +v -0.093750 -0.162380 -3.000000 +v -0.093750 -0.162380 6.500000 +v -0.162380 -0.093750 -3.000000 +v -0.162380 -0.093750 6.500000 +v -0.187500 -0.000000 -3.000000 +v -0.187500 -0.000000 6.500000 +v -0.162380 0.093750 -3.000000 +v -0.162380 0.093750 6.500000 +v -0.093750 0.162380 -3.000000 +v -0.093750 0.162380 6.500000 +v 0.000000 0.250000 6.500000 +v -0.125000 0.216506 6.500000 +v -0.216506 0.125000 6.500000 +v -0.250000 -0.000000 6.500000 +v -0.216506 -0.125000 6.500000 +v -0.125000 -0.216506 6.500000 +v 0.000000 -0.250000 6.500000 +v 0.125000 -0.216507 6.500000 +v 0.216506 -0.125000 6.500000 +v 0.250000 -0.000000 6.500000 +v 0.216506 0.125000 6.500000 +v 0.125000 0.216506 6.500000 +v 0.000000 0.250000 6.625000 +v -0.125000 0.216506 6.625000 +v -0.216506 0.125000 6.625000 +v -0.250000 -0.000000 6.625000 +v -0.216506 -0.125000 6.625000 +v -0.125000 -0.216506 6.625000 +v 0.000000 -0.250000 6.625000 +v 0.125000 -0.216507 6.625000 +v 0.216506 -0.125000 6.625000 +v 0.250000 -0.000000 6.625000 +v 0.216506 0.125000 6.625000 +v 0.125000 0.216506 6.625000 +v 0.000000 0.187500 6.625000 +v 0.093750 0.162380 6.625000 +v 0.162380 0.093750 6.625000 +v 0.187500 -0.000000 6.625000 +v 0.162380 -0.093750 6.625000 +v 0.093750 -0.162380 6.625000 +v 0.000000 -0.187500 6.625000 +v -0.093750 -0.162380 6.625000 +v -0.162380 -0.093750 6.625000 +v -0.187500 -0.000000 6.625000 +v -0.162380 0.093750 6.625000 +v -0.093750 0.162380 6.625000 +v 0.000000 0.250000 6.750000 +v -0.125000 0.216506 6.750000 +v -0.216506 0.125000 6.750000 +v -0.250000 -0.000000 6.750000 +v -0.216506 -0.125000 6.750000 +v -0.125000 -0.216506 6.750000 +v 0.000000 -0.250000 6.750000 +v 0.125000 -0.216507 6.750000 +v 0.216506 -0.125000 6.750000 +v 0.250000 -0.000000 6.750000 +v 0.216506 0.125000 6.750000 +v 0.125000 0.216506 6.750000 +v 0.000000 0.250000 7.000000 +v -0.125000 0.216506 7.000000 +v -0.216506 0.125000 7.000000 +v -0.250000 -0.000000 7.000000 +v -0.216506 -0.125000 7.000000 +v -0.125000 -0.216506 7.000000 +v 0.000000 -0.250000 7.000000 +v 0.125000 -0.216507 7.000000 +v 0.216506 -0.125000 7.000000 +v 0.250000 -0.000000 7.000000 +v 0.216506 0.125000 7.000000 +v 0.125000 0.216506 7.000000 +v 0.000000 0.187500 7.125000 +v 0.093750 0.162380 7.125000 +v 0.162380 0.093750 7.125000 +v 0.187500 -0.000000 7.125000 +v 0.162380 -0.093750 7.125000 +v 0.093750 -0.162380 7.125000 +v 0.000000 -0.187500 7.125000 +v -0.093750 -0.162380 7.125000 +v -0.162380 -0.093750 7.125000 +v -0.187500 -0.000000 7.125000 +v -0.162380 0.093750 7.125000 +v -0.093750 0.162380 7.125000 +v 0.000000 0.250000 7.125000 +v -0.125000 0.216506 7.125000 +v -0.216506 0.125000 7.125000 +v -0.250000 -0.000000 7.125000 +v -0.216506 -0.125000 7.125000 +v -0.125000 -0.216506 7.125000 +v 0.000000 -0.250000 7.125000 +v 0.125000 -0.216507 7.125000 +v 0.216506 -0.125000 7.125000 +v 0.250000 -0.000000 7.125000 +v 0.216506 0.125000 7.125000 +v 0.125000 0.216506 7.125000 +v 0.000000 0.250000 7.250000 +v -0.125000 0.216506 7.250000 +v -0.216506 0.125000 7.250000 +v -0.250000 -0.000000 7.250000 +v -0.216506 -0.125000 7.250000 +v -0.125000 -0.216506 7.250000 +v 0.000000 -0.250000 7.250000 +v 0.125000 -0.216507 7.250000 +v 0.216506 -0.125000 7.250000 +v 0.250000 -0.000000 7.250000 +v 0.216506 0.125000 7.250000 +v 0.125000 0.216506 7.250000 +v 0.000000 0.187500 7.875000 +v 0.093750 0.162380 7.875000 +v 0.162380 0.093750 7.875000 +v 0.125000 0.000000 6.750000 +v 0.162380 -0.093750 7.875000 +v 0.093750 -0.162380 7.875000 +v 0.000000 -0.187500 7.875000 +v -0.093750 -0.162380 7.875000 +v -0.162380 -0.093750 7.875000 +v 0.108253 -0.062500 6.750000 +v -0.162380 0.093750 7.875000 +v -0.093750 0.162380 7.875000 +v 0.000000 0.250000 7.875000 +v -0.125000 0.216506 7.875000 +v -0.216506 0.125000 7.875000 +v 0.062500 -0.108253 6.750000 +v -0.216506 -0.125000 7.875000 +v -0.125000 -0.216506 7.875000 +v 0.000000 -0.250000 7.875000 +v 0.125000 -0.216507 7.875000 +v 0.216506 -0.125000 7.875000 +v 0.000000 -0.125000 6.750000 +v 0.216506 0.125000 7.875000 +v 0.125000 0.216506 7.875000 +v 0.000000 0.250000 8.000000 +v -0.125000 0.216506 8.000000 +v -0.216506 0.125000 8.000000 +v -0.062500 -0.108253 6.750000 +v -0.216506 -0.125000 8.000000 +v -0.125000 -0.216506 8.000000 +v 0.000000 -0.250000 8.000000 +v 0.125000 -0.216507 8.000000 +v 0.216506 -0.125000 8.000000 +v -0.108253 -0.062500 6.750000 +v 0.216506 0.125000 8.000000 +v 0.125000 0.216506 8.000000 +v 0.000000 0.125000 7.875000 +v -0.062500 0.108253 7.875000 +v -0.108253 0.062500 7.875000 +v -0.125000 0.000000 6.750000 +v -0.108253 -0.062500 7.875000 +v -0.062500 -0.108254 7.875000 +v 0.000000 -0.125000 7.875000 +v 0.062500 -0.108254 7.875000 +v 0.108253 -0.062500 7.875000 +v -0.108253 0.062500 6.750000 +v 0.108253 0.062500 7.875000 +v 0.062500 0.108253 7.875000 +v 0.000000 0.125000 7.250000 +v -0.062500 0.108253 7.250000 +v -0.108253 0.062500 7.250000 +v -0.125000 -0.000000 7.250000 +v -0.108253 -0.062500 7.250000 +v -0.062500 -0.108254 7.250000 +v 0.000000 -0.125000 7.250000 +v 0.062500 -0.108254 7.250000 +v 0.108253 -0.062500 7.250000 +v 0.125000 -0.000000 7.250000 +v 0.108253 0.062500 7.250000 +v 0.062500 0.108253 7.250000 +v 0.000000 0.187500 8.000000 +v 0.093750 0.162380 8.000000 +v 0.162380 0.093750 8.000000 +v 0.000000 0.125000 6.750000 +v 0.162380 -0.093750 8.000000 +v 0.093750 -0.162380 8.000000 +v 0.000000 -0.187500 8.000000 +v -0.093750 -0.162380 8.000000 +v -0.162380 -0.093750 8.000000 +v -0.062500 0.108253 6.750000 +v -0.162380 0.093750 8.000000 +v -0.093750 0.162380 8.000000 +v 0.108253 0.062500 6.750000 +v 0.062500 0.108253 6.750000 +v 0.000000 0.250000 2.812500 +v -0.125000 0.216506 2.812500 +v -0.216506 0.125000 2.812500 +v -0.250000 -0.000000 2.812500 +v -0.216506 -0.125000 2.812500 +v -0.125000 -0.216506 2.812500 +v 0.000000 -0.250000 2.812500 +v 0.125000 -0.216507 2.812500 +v 0.216506 -0.125000 2.812500 +v 0.250000 -0.000000 2.812500 +v 0.216506 0.125000 2.812500 +v 0.125000 0.216506 2.812500 +v 0.000000 0.250000 3.750000 +v -0.125000 0.216506 3.750000 +v -0.216506 0.125000 3.750000 +v -0.250000 -0.000000 3.750000 +v -0.216506 -0.125000 3.750000 +v -0.125000 -0.216506 3.750000 +v 0.000000 -0.250000 3.750000 +v 0.125000 -0.216507 3.750000 +v 0.216506 -0.125000 3.750000 +v 0.250000 -0.000000 3.750000 +v 0.216506 0.125000 3.750000 +v 0.125000 0.216506 3.750000 +v 0.125000 0.312500 2.750000 +v -0.125000 0.312500 2.750000 +v 0.500000 -0.187500 2.750000 +v -0.500000 -0.187500 2.750000 +v 0.500000 -0.437500 2.750000 +v -0.500000 -0.437500 2.750000 +v 0.250000 -0.687500 2.750000 +v -0.250000 -0.687500 2.750000 +v -0.125000 0.312500 2.875000 +v 0.125000 0.312500 2.875000 +v 0.500000 -0.437500 2.875000 +v 0.500000 -0.187500 2.875000 +v -0.500000 -0.187500 2.875000 +v -0.500000 -0.437500 2.875000 +v 0.250000 -0.687500 2.875000 +v -0.250000 -0.687500 2.875000 +v -0.187500 -0.125000 3.250000 +v -0.125000 -0.125000 3.250000 +v -0.187500 -0.125000 2.875000 +v -0.125000 -0.125000 2.875000 +v -0.187500 -0.687500 2.875000 +v -0.187500 -0.687500 3.125000 +v -0.125000 -0.687500 3.125000 +v -0.125000 -0.687500 2.875000 +v 0.000000 -0.750000 2.937500 +v 0.000000 -0.500000 2.937500 +v 0.088388 -0.750000 2.974112 +v 0.088388 -0.500000 2.974112 +v 0.125000 -0.750000 3.062500 +v 0.125000 -0.500000 3.062500 +v 0.088388 -0.750000 3.150888 +v 0.088388 -0.500000 3.150888 +v 0.000000 -0.750000 3.187500 +v 0.000000 -0.500000 3.187500 +v -0.088388 -0.750000 3.150888 +v -0.088388 -0.500000 3.150888 +v -0.125000 -0.750000 3.062500 +v -0.125000 -0.500000 3.062500 +v -0.088388 -0.750000 2.974112 +v -0.088388 -0.500000 2.974112 +v 0.125000 -0.125000 3.250000 +v 0.187500 -0.125000 3.250000 +v 0.125000 -0.125000 2.875000 +v 0.187500 -0.125000 2.875000 +v 0.125000 -0.687500 2.875000 +v 0.125000 -0.687500 3.125000 +v 0.187500 -0.687500 3.125000 +v 0.187500 -0.687500 2.875000 +v -0.125000 -0.437500 3.125000 +v -0.125000 -0.437500 2.875000 +v 0.125000 -0.437500 2.875000 +v 0.125000 -0.437500 3.125000 +v -0.125000 -0.187500 3.125000 +v 0.125000 -0.187500 3.125000 +v -0.125000 -0.750000 3.250000 +v 0.125000 -0.750000 3.250000 +v -0.125000 -0.750000 2.625000 +v 0.125000 -0.750000 2.625000 +v -0.125000 -1.250000 2.750000 +v -0.125000 -1.250000 3.250000 +v 0.125000 -1.250000 3.250000 +v 0.125000 -1.250000 2.750000 +v -0.125000 -1.625000 2.750000 +v -0.125000 -1.500000 3.312500 +v 0.125000 -1.500000 3.312500 +v 0.125000 -1.625000 2.750000 +v -0.125000 -2.750000 3.375000 +v 0.125000 -2.750000 3.375000 +v -0.125000 -2.750000 2.750000 +v 0.125000 -2.750000 2.750000 +v -0.125000 -2.125000 2.625000 +v -0.125000 -2.125000 3.312500 +v 0.125000 -2.125000 3.312500 +v 0.125000 -2.125000 2.625000 +v -0.125000 -2.625000 2.625000 +v -0.125000 -2.500000 3.250000 +v 0.125000 -2.500000 3.250000 +v 0.125000 -2.625000 2.625000 +v 0.250000 -0.750000 3.125000 +v 0.250000 -0.750000 2.750000 +v 0.250000 -1.250000 3.125000 +v 0.250000 -1.250000 2.875000 +v 0.250000 -1.500000 3.187500 +v 0.250000 -1.625000 2.875000 +v 0.250000 -2.750000 3.250000 +v 0.250000 -2.750000 2.875000 +v 0.250000 -2.125000 3.187500 +v 0.250000 -2.125000 2.750000 +v 0.250000 -2.500000 3.125000 +v 0.250000 -2.625000 2.750000 +v -0.250000 -0.750000 2.750000 +v -0.250000 -0.750000 3.125000 +v -0.250000 -1.250000 2.875000 +v -0.250000 -1.250000 3.125000 +v -0.250000 -1.625000 2.875000 +v -0.250000 -1.500000 3.187500 +v -0.250000 -2.750000 2.875000 +v -0.250000 -2.750000 3.250000 +v -0.250000 -2.125000 2.750000 +v -0.250000 -2.125000 3.187500 +v -0.250000 -2.625000 2.750000 +v -0.250000 -2.500000 3.125000 +v 0.000000 0.125000 -3.000000 +v -0.062500 0.108253 -3.000000 +v -0.108253 0.062500 -3.000000 +v -0.125000 -0.000000 -3.000000 +v -0.108253 -0.062500 -3.000000 +v -0.062500 -0.108253 -3.000000 +v 0.000000 -0.125000 -3.000000 +v 0.062500 -0.108253 -3.000000 +v 0.108253 -0.062500 -3.000000 +v 0.125000 -0.000000 -3.000000 +v 0.108253 0.062500 -3.000000 +v 0.062500 0.108253 -3.000000 +v 0.000000 0.125000 -2.000000 +v -0.062500 0.108253 -2.000000 +v -0.108253 0.062500 -2.000000 +v -0.125000 -0.000000 -2.000000 +v -0.108253 -0.062500 -2.000000 +v -0.062500 -0.108253 -2.000000 +v 0.000000 -0.125000 -2.000000 +v 0.062500 -0.108253 -2.000000 +v 0.108253 -0.062500 -2.000000 +v 0.125000 -0.000000 -2.000000 +v 0.108253 0.062500 -2.000000 +v 0.062500 0.108253 -2.000000 +v -0.250000 -0.062500 3.875000 +v -0.156250 -0.087620 3.875000 +v -0.087620 -0.156250 3.875000 +v -0.062500 -0.250000 3.875000 +v -0.087620 -0.343750 3.875000 +v -0.156250 -0.412380 3.875000 +v -0.250000 -0.437500 3.875000 +v -0.343750 -0.412380 3.875000 +v -0.412380 -0.343750 3.875000 +v -0.437500 -0.250000 3.875000 +v -0.412380 -0.156250 3.875000 +v -0.343750 -0.087620 3.875000 +v -0.250000 -0.062500 2.875000 +v -0.156250 -0.087620 2.875000 +v -0.087620 -0.156250 2.875000 +v -0.062500 -0.250000 2.875000 +v -0.087620 -0.343750 2.875000 +v -0.156250 -0.412380 2.875000 +v -0.250000 -0.437500 2.875000 +v -0.343750 -0.412380 2.875000 +v -0.412380 -0.343750 2.875000 +v -0.437500 -0.250000 2.875000 +v -0.412380 -0.156250 2.875000 +v -0.343750 -0.087620 2.875000 +v -0.437500 -0.281250 3.875000 +v -0.312500 -0.281250 3.875000 +v -0.437500 -0.218750 3.875000 +v -0.312500 -0.218750 3.875000 +v -0.437500 -0.218750 3.937500 +v -0.437500 -0.281250 3.937500 +v -0.312500 -0.281250 4.000000 +v -0.312500 -0.218750 4.000000 +v -0.187500 -0.281250 3.875000 +v -0.062500 -0.281250 3.875000 +v -0.187500 -0.218750 3.875000 +v -0.062500 -0.218750 3.875000 +v -0.187500 -0.218750 4.000000 +v -0.187500 -0.281250 4.000000 +v -0.062500 -0.281250 3.937500 +v -0.062500 -0.218750 3.937500 +vt 0.696970 0.132530 +vt 0.693182 0.144578 +vt 0.693182 0.132530 +vt 0.117424 0.048193 +vt 0.113636 0.060241 +vt 0.113636 0.048193 +vt 0.117424 0.060241 +vt 0.113636 0.072289 +vt 0.117424 0.084337 +vt 0.117424 0.072289 +vt 0.117424 0.096386 +vt 0.113636 0.084337 +vt 0.117424 0.108434 +vt 0.113636 0.096386 +vt 0.113636 0.120482 +vt 0.113636 0.108434 +vt 0.117424 0.120482 +vt 0.113636 0.132530 +vt 0.117424 0.144578 +vt 0.117424 0.132530 +vt 0.117424 0.012048 +vt 0.113636 -0.000000 +vt 0.117424 0.000000 +vt 0.113636 0.024096 +vt 0.113636 0.012048 +vt 0.117424 0.024096 +vt 0.113636 0.036145 +vt 0.117424 0.036145 +vt 0.106061 0.072289 +vt 0.102273 0.060241 +vt 0.106061 0.060241 +vt 0.102273 0.048193 +vt 0.106061 0.048193 +vt 0.102273 0.036145 +vt 0.106061 0.036145 +vt 0.102273 0.024096 +vt 0.106061 0.024096 +vt 0.102273 0.012048 +vt 0.106061 0.012048 +vt 0.106061 -0.000000 +vt 0.102273 0.144578 +vt 0.106061 0.132530 +vt 0.106061 0.144578 +vt 0.102273 0.120482 +vt 0.106061 0.120482 +vt 0.102273 0.108434 +vt 0.106061 0.108434 +vt 0.106061 0.096386 +vt 0.102273 0.096386 +vt 0.106061 0.084337 +vt 0.102273 0.084337 +vt 0.071970 0.048193 +vt 0.068182 0.060241 +vt 0.068182 0.048193 +vt 0.071970 0.060241 +vt 0.068182 0.072289 +vt 0.071970 0.084337 +vt 0.071970 0.072289 +vt 0.071970 0.096386 +vt 0.068182 0.084337 +vt 0.071970 0.108434 +vt 0.068182 0.096386 +vt 0.068182 0.120482 +vt 0.068182 0.108434 +vt 0.071970 0.120482 +vt 0.068182 0.132530 +vt 0.071970 0.144578 +vt 0.071970 0.132530 +vt 0.071970 0.012048 +vt 0.068182 -0.000000 +vt 0.071970 -0.000000 +vt 0.068182 0.024096 +vt 0.068182 0.012048 +vt 0.071970 0.024096 +vt 0.068182 0.036145 +vt 0.071970 0.036145 +vt 0.022727 0.048193 +vt 0.018939 0.060241 +vt 0.018939 0.048193 +vt 0.022727 0.060241 +vt 0.018939 0.072289 +vt 0.022727 0.084337 +vt 0.022727 0.072289 +vt 0.022727 0.096386 +vt 0.018939 0.084337 +vt 0.022727 0.120482 +vt 0.018939 0.132530 +vt 0.018939 0.120482 +vt 0.022727 0.144578 +vt 0.022727 0.132530 +vt 0.022727 0.012048 +vt 0.018939 -0.000000 +vt 0.022727 -0.000000 +vt 0.018939 0.024096 +vt 0.018939 0.012048 +vt 0.105008 0.234905 +vt 0.098485 0.240894 +vt 0.091962 0.222926 +vt 0.060606 0.024096 +vt 0.053030 0.036145 +vt 0.053030 0.030120 +vt 0.060606 0.048193 +vt 0.060606 0.036145 +vt 0.060606 0.120482 +vt 0.053030 0.108434 +vt 0.060606 0.108434 +vt 0.060606 0.096386 +vt 0.053030 0.102410 +vt 0.045455 0.204819 +vt 0.007576 0.198795 +vt 0.045455 0.192771 +vt 0.007576 0.186747 +vt 0.045455 0.180723 +vt 0.045455 0.192771 +vt 0.007576 0.150602 +vt 0.045455 0.156627 +vt 0.007576 0.156627 +vt 0.007576 0.234940 +vt 0.045455 0.228916 +vt 0.045455 0.240964 +vt 0.011364 0.072289 +vt 0.007576 0.060241 +vt 0.011364 0.060241 +vt 0.007576 0.048193 +vt 0.011364 0.048193 +vt 0.000000 0.234940 +vt 0.007576 0.240964 +vt 0.007576 0.192771 +vt 0.000000 0.198795 +vt 0.011364 0.024096 +vt 0.007576 0.012048 +vt 0.011364 0.012048 +vt 0.011364 -0.000000 +vt 0.007576 0.144578 +vt 0.011364 0.132530 +vt 0.011364 0.144578 +vt 0.007576 0.120482 +vt 0.011364 0.120482 +vt 0.000000 0.186747 +vt 0.007576 0.180723 +vt 0.007576 0.144578 +vt 0.000000 0.150602 +vt 0.007576 0.096386 +vt 0.011364 0.084337 +vt 0.011364 0.096386 +vt 0.007576 0.084337 +vt 0.992424 0.487952 +vt 0.931818 0.463855 +vt 0.992424 0.463855 +vt 0.969697 0.536145 +vt 0.931818 0.487952 +vt 0.931818 0.656627 +vt 0.924242 0.632530 +vt 0.931818 0.632530 +vt 0.946970 0.439759 +vt 0.924242 0.439759 +vt 0.931818 0.439759 +vt 0.931818 0.548193 +vt 0.924242 0.487952 +vt 0.863636 0.463855 +vt 0.909091 0.439759 +vt 0.924242 0.463855 +vt 0.886364 0.536145 +vt 0.863636 0.487952 +vt 0.931818 0.572289 +vt 0.924242 0.548193 +vt 0.924242 0.391566 +vt 0.931818 0.391566 +vt 0.924242 0.572289 +vt 0.931818 0.680723 +vt 0.924242 0.656627 +vt 0.071970 0.759009 +vt 0.085106 0.771071 +vt 0.071970 0.807256 +vt 0.196970 0.813253 +vt 0.181818 0.819277 +vt 0.181818 0.813253 +vt 0.147727 0.813253 +vt 0.147727 0.819277 +vt 0.196970 0.873494 +vt 0.196970 0.819277 +vt 0.196970 0.759036 +vt 0.174242 0.759036 +vt 0.212180 0.795180 +vt 0.219696 0.783226 +vt 0.227213 0.795180 +vt 0.196970 0.813253 +vt 0.181818 0.819277 +vt 0.181818 0.813253 +vt 0.147727 0.813253 +vt 0.147727 0.819277 +vt 0.196970 0.873494 +vt 0.196970 0.819277 +vt 0.196970 0.759036 +vt 0.174242 0.759036 +vt 0.212121 0.759036 +vt 0.196970 0.783133 +vt 0.196970 0.759036 +vt 0.212121 0.783133 +vt 0.196970 0.807229 +vt 0.594697 0.951807 +vt 0.602273 0.963855 +vt 0.594697 1.000000 +vt 0.564394 0.759036 +vt 0.556818 0.746988 +vt 0.564394 0.710843 +vt 0.693182 0.120482 +vt 0.696970 0.126506 +vt 0.696970 0.108434 +vt 0.693182 0.108434 +vt 0.693182 0.096386 +vt 0.696970 0.102410 +vt 0.696970 0.084337 +vt 0.693182 0.084337 +vt 0.693182 0.072289 +vt 0.696970 0.078313 +vt 0.696970 0.060241 +vt 0.693182 0.060241 +vt 0.693182 0.048193 +vt 0.696970 0.054217 +vt 0.696970 0.036145 +vt 0.693182 0.036145 +vt 0.693182 0.024096 +vt 0.696970 0.030120 +vt 0.696970 0.012048 +vt 0.693182 0.012048 +vt 0.693182 -0.000000 +vt 0.696970 0.006024 +vt 0.089865 0.222918 +vt 0.089865 0.234913 +vt 0.076801 0.234913 +vt 0.065955 0.834302 +vt 0.075758 0.807301 +vt 0.085560 0.834302 +vt 0.087121 0.867470 +vt 0.083333 0.855422 +vt 0.087121 0.855422 +vt 0.071970 0.849398 +vt 0.064394 0.855422 +vt 0.064394 0.849398 +vt 0.087121 0.849398 +vt 0.083333 0.849398 +vt 0.075758 0.849398 +vt 0.071970 0.861446 +vt 0.075758 0.861446 +vt 0.083333 0.855422 +vt 0.087121 0.867470 +vt 0.083333 0.867470 +vt 0.075758 0.849398 +vt 0.075758 0.861446 +vt 0.071970 0.861446 +vt 0.071970 0.849398 +vt 0.087121 0.849398 +vt 0.083333 0.849398 +vt 0.064394 0.855422 +vt 0.064394 0.849398 +vt 0.071970 0.843373 +vt 0.064394 0.843373 +vt 0.071970 0.843373 +vt 0.696970 0.138554 +vt 0.113636 0.144578 +vt 0.102273 0.072289 +vt 0.102273 0.000000 +vt 0.102273 0.132530 +vt 0.068182 0.144578 +vt 0.018939 0.096386 +vt 0.018939 0.144578 +vt 0.022727 0.024096 +vt 0.094719 0.239289 +vt 0.091962 0.234905 +vt 0.090953 0.228916 +vt 0.094719 0.218542 +vt 0.098485 0.216937 +vt 0.102251 0.218542 +vt 0.105008 0.222926 +vt 0.106017 0.228916 +vt 0.102251 0.239289 +vt 0.053030 0.042169 +vt 0.053030 0.114458 +vt 0.007576 0.204819 +vt 0.045455 0.144578 +vt 0.007576 0.228916 +vt 0.007576 0.072289 +vt 0.000000 0.240964 +vt 0.000000 0.192771 +vt 0.007576 0.024096 +vt 0.007576 -0.000000 +vt 0.007576 0.132530 +vt 0.007576 0.192771 +vt 0.000000 0.192771 +vt 0.000000 0.144578 +vt 0.954545 0.536145 +vt 0.977273 0.439759 +vt 0.878788 0.439759 +vt 0.901515 0.536145 +vt 0.924242 0.680723 +vt 0.064385 0.804024 +vt 0.058833 0.771071 +vt 0.058833 0.795195 +vt 0.056801 0.783133 +vt 0.064385 0.762241 +vt 0.079554 0.762241 +vt 0.087138 0.783133 +vt 0.085106 0.795195 +vt 0.079554 0.804025 +vt 0.174242 0.873494 +vt 0.225011 0.803633 +vt 0.219696 0.807134 +vt 0.214381 0.803633 +vt 0.214381 0.786728 +vt 0.225011 0.786728 +vt 0.174242 0.873494 +vt 0.212121 0.807229 +vt 0.602273 0.987952 +vt 0.571970 1.000000 +vt 0.571970 0.951807 +vt 0.564394 0.987952 +vt 0.564394 0.963855 +vt 0.556818 0.722892 +vt 0.587121 0.710843 +vt 0.587121 0.759036 +vt 0.594697 0.722892 +vt 0.594697 0.746988 +vt 0.696970 0.120482 +vt 0.696970 0.114458 +vt 0.696970 0.096386 +vt 0.696970 0.090361 +vt 0.696970 0.072289 +vt 0.696970 0.066265 +vt 0.696970 0.048193 +vt 0.696970 0.042169 +vt 0.696970 0.024096 +vt 0.696970 0.018072 +vt 0.696970 -0.000000 +vt 0.087105 0.239304 +vt 0.083333 0.240911 +vt 0.079562 0.239304 +vt 0.075791 0.228916 +vt 0.076801 0.222918 +vt 0.079562 0.218527 +vt 0.083333 0.216920 +vt 0.087105 0.218527 +vt 0.090876 0.228916 +vt 0.081417 0.840890 +vt 0.075758 0.843302 +vt 0.070098 0.840890 +vt 0.064439 0.825301 +vt 0.065955 0.816301 +vt 0.070098 0.809712 +vt 0.081417 0.809712 +vt 0.085560 0.816301 +vt 0.087076 0.825301 +vt 0.083333 0.867470 +vt 0.087121 0.855422 +vt 0.064394 0.843373 +vt 0.094697 0.060241 +vt 0.094697 0.048193 +vt 0.094697 0.084337 +vt 0.094697 0.072289 +vt 0.094697 0.096386 +vt 0.094697 0.120482 +vt 0.094697 0.108434 +vt 0.094697 0.144578 +vt 0.094697 0.132530 +vt 0.094697 -0.000000 +vt 0.094697 0.024096 +vt 0.094697 0.012048 +vt 0.094697 0.036145 +vt 0.079545 0.096386 +vt 0.079545 0.036145 +vt 0.079545 -0.000000 +vt 0.079545 0.108434 +vt 0.079545 0.048193 +vt 0.079545 0.072289 +vt 0.079545 0.012048 +vt 0.079545 0.120482 +vt 0.079545 0.060241 +vt 0.079545 0.084337 +vt 0.079545 0.024096 +vt 0.079545 0.132530 +vt 0.060606 -0.000000 +vt 0.060606 0.072289 +vt 0.060606 0.012048 +vt 0.060606 0.060241 +vt 0.060606 0.084337 +vt 0.060606 0.132530 +vt 0.045455 0.174699 +vt 0.075758 0.168675 +vt 0.075758 0.174699 +vt 0.045455 0.150602 +vt 0.075758 0.156627 +vt 0.060606 0.144578 +vt 0.045455 0.210843 +vt 0.075758 0.204819 +vt 0.075758 0.210843 +vt 0.045455 0.216867 +vt 0.075758 0.222892 +vt 0.045455 0.222892 +vt 0.079545 0.144578 +vt 0.075758 0.180723 +vt 0.075758 0.162651 +vt 0.045455 0.162651 +vt 0.075758 0.216867 +vt 0.075758 0.228916 +vt 0.075758 0.186747 +vt 0.045455 0.186747 +vt 0.045455 0.168675 +vt 0.075758 0.234940 +vt 0.045455 0.234940 +vt 0.007576 0.174699 +vt 0.007576 0.216867 +vt 0.007576 0.222892 +vt 0.007576 0.210843 +vt 0.007576 0.168675 +vt 0.007576 0.162651 +vt 0.045455 0.198795 +vt -0.000000 0.060241 +vt -0.000000 0.066265 +vt 0.000000 0.054217 +vt 0.000000 0.012048 +vt 0.000000 0.018072 +vt 0.000000 0.132530 +vt 0.000000 0.138554 +vt 0.000000 0.084337 +vt -0.000000 0.090361 +vt 0.056818 0.795181 +vt -0.000000 0.783133 +vt 0.056818 0.783133 +vt 0.056818 0.903614 +vt -0.000000 0.891566 +vt 0.056818 0.891566 +vt 0.056818 0.867470 +vt -0.000000 0.855422 +vt 0.056818 0.855422 +vt 0.056818 0.807229 +vt -0.000000 0.795181 +vt 0.056818 0.771084 +vt -0.000000 0.759036 +vt 0.056818 0.759036 +vt 0.056818 0.879518 +vt -0.000000 0.867470 +vt 0.056818 0.819277 +vt -0.000000 0.807229 +vt 0.056818 0.843373 +vt -0.000000 0.831325 +vt 0.056818 0.831325 +vt -0.000000 0.771084 +vt -0.000000 0.879518 +vt -0.000000 0.819277 +vt -0.000000 0.843373 +vt 0.272727 0.783133 +vt 0.265152 0.759036 +vt 0.272727 0.759036 +vt 0.265152 0.783133 +vt 0.257576 0.759036 +vt 0.257576 0.783133 +vt 0.250000 0.759036 +vt 0.250000 0.783133 +vt 0.242424 0.759036 +vt 0.242424 0.783133 +vt 0.234848 0.759036 +vt 0.234848 0.783133 +vt 0.227273 0.759036 +vt 0.227273 0.783133 +vt 0.219697 0.759036 +vt 0.219697 0.783133 +vt 0.212121 0.759036 +vt 0.602273 0.903614 +vt 0.617424 0.867470 +vt 0.617424 0.903614 +vt 0.602273 0.951807 +vt 0.617424 0.951807 +vt 0.541667 0.951807 +vt 0.556818 0.903614 +vt 0.556818 0.951807 +vt 0.560606 0.879518 +vt 0.568182 0.819277 +vt 0.560606 0.819277 +vt 0.564394 0.783133 +vt 0.568182 0.819277 +vt 0.560606 0.819277 +vt 0.541667 0.903614 +vt 0.556818 0.879518 +vt 0.594697 0.903614 +vt 0.587121 0.903614 +vt 0.594697 0.759036 +vt 0.594697 0.771084 +vt 0.602273 0.771084 +vt 0.602273 0.819277 +vt 0.617424 0.771084 +vt 0.617424 0.819277 +vt 0.594697 0.867470 +vt 0.587121 0.903614 +vt 0.594697 0.903614 +vt 0.602273 0.867470 +vt 0.541667 0.879518 +vt 0.556818 0.819277 +vt 0.602273 0.759036 +vt 0.617424 0.759036 +vt 0.541667 0.819277 +vt 0.556818 0.783133 +vt 0.568182 0.879518 +vt 0.560606 0.879518 +vt 0.541667 0.759036 +vt 0.556818 0.759036 +vt 0.564394 0.951807 +vt 0.571970 0.903614 +vt 0.564394 0.903614 +vt 0.564394 0.903614 +vt 0.564394 0.951807 +vt 0.587121 0.867470 +vt 0.594697 0.819277 +vt 0.571970 0.783133 +vt 0.594697 0.771084 +vt 0.594697 0.867470 +vt 0.602273 0.771084 +vt 0.571970 0.903614 +vt 0.595599 0.759478 +vt 0.571970 0.951807 +vt 0.568182 0.879518 +vt 0.587121 0.867470 +vt 0.594697 0.819277 +vt 0.571970 0.783133 +vt 0.587121 0.759036 +vt 0.564394 0.759036 +vt 0.564394 0.783133 +vt 0.556818 0.759036 +vt 0.594697 0.951807 +vt 0.602273 0.951807 +vt 0.602273 0.819277 +vt 0.136364 0.174699 +vt 0.075758 0.168675 +vt 0.136364 0.168675 +vt 0.136364 0.204819 +vt 0.075758 0.198795 +vt 0.136364 0.198795 +vt 0.136364 0.150602 +vt 0.075758 0.144578 +vt 0.136364 0.144578 +vt 0.075758 0.162651 +vt 0.136364 0.162651 +vt 0.075758 0.192771 +vt 0.136364 0.192771 +vt 0.136364 0.216867 +vt 0.075758 0.210843 +vt 0.136364 0.210843 +vt 0.075758 0.156627 +vt 0.136364 0.156627 +vt 0.075758 0.186747 +vt 0.136364 0.186747 +vt 0.136364 0.180723 +vt 0.075758 0.174699 +vt 0.075758 0.204819 +vt 0.075758 0.150602 +vt 0.075758 0.180723 +vt 0.087121 0.783133 +vt 0.147727 0.795181 +vt 0.087121 0.795181 +vt 0.087121 0.843373 +vt 0.147727 0.855422 +vt 0.087121 0.855422 +vt 0.087121 0.819277 +vt 0.147727 0.831325 +vt 0.087121 0.831325 +vt 0.087121 0.879518 +vt 0.147727 0.891566 +vt 0.087121 0.891566 +vt 0.087121 0.771084 +vt 0.147727 0.783133 +vt 0.147727 0.843373 +vt 0.087121 0.807229 +vt 0.147727 0.819277 +vt 0.087121 0.867470 +vt 0.147727 0.879518 +vt 0.087121 0.759036 +vt 0.147727 0.771084 +vt 0.147727 0.807229 +vt 0.147727 0.867470 +vt 0.147727 0.903614 +vt 0.087121 0.903614 +vt 0.075758 0.150602 +vt 0.075758 0.198795 +vt 0.000000 0.006024 +vt -0.000000 0.126506 +vt -0.000000 0.078313 +vt -0.000000 0.903614 +vt 0.212121 0.783133 +vt 0.541667 0.783133 +vt 0.075758 0.216867 +vt 0.147727 0.759036 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.5000 -0.8660 -0.0000 +vn -0.5000 0.8660 -0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.8000 0.6000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.8000 0.6000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 -0.2169 0.9762 +vn -0.4472 0.0000 0.8944 +vn 0.4472 0.0000 0.8944 +vn 0.8660 0.5000 0.0000 +vn 0.8660 -0.5000 -0.0000 +vn -0.8660 -0.5000 -0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.7746 0.4472 -0.4472 +vn 0.4472 0.7746 -0.4472 +vn 0.0000 0.8944 -0.4472 +vn -0.4472 0.7746 -0.4472 +vn -0.7746 0.4472 -0.4472 +vn -0.8944 -0.0000 -0.4472 +vn -0.7746 -0.4472 -0.4472 +vn -0.4472 -0.7746 -0.4472 +vn -0.0000 -0.8944 -0.4472 +vn 0.4472 -0.7746 -0.4472 +vn 0.7746 -0.4472 -0.4472 +vn 0.8944 0.0000 -0.4472 +vn -0.0000 -0.9988 0.0494 +vn 0.8184 0.5737 0.0327 +vn 0.0000 0.9988 0.0494 +vn 0.4994 -0.8650 0.0494 +vn -0.8184 -0.5737 0.0327 +vn 0.4994 0.8650 0.0494 +vn -0.4994 0.8650 0.0494 +vn 0.8184 -0.5737 0.0327 +vn -0.4994 -0.8650 0.0494 +vn -0.8184 0.5737 0.0327 +vn -0.0000 0.9950 0.0995 +vn 0.4975 0.8617 0.0995 +vn -0.8181 0.5751 0.0000 +vn 0.4975 -0.8617 0.0995 +vn -0.4975 -0.8617 0.0995 +vn -0.7038 0.7038 0.0961 +vn 0.4472 0.7746 0.4472 +vn 0.7746 0.4472 0.4472 +vn 0.0000 0.8944 0.4472 +vn -0.4472 0.7746 0.4472 +vn -0.7746 0.4472 0.4472 +vn -0.8944 0.0000 0.4472 +vn -0.7746 -0.4472 0.4472 +vn -0.4472 -0.7746 0.4472 +vn -0.0000 -0.8944 0.4472 +vn 0.4472 -0.7746 0.4472 +vn 0.7746 -0.4472 0.4472 +vn 0.8944 0.0000 0.4472 +vn 0.8181 0.5751 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.8181 -0.5751 -0.0000 +vn 0.8181 -0.5751 -0.0000 +vn -0.6367 -0.6367 0.4349 +vn -0.6367 0.6367 0.4349 +vn 0.6367 0.6367 0.4349 +vn 0.6367 -0.6367 0.4349 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.3916 -0.1153 -0.9129 +vn -0.3916 0.1153 -0.9129 +vn -0.3916 -0.1153 -0.9129 +vn 0.3538 -0.2269 -0.9074 +vn -0.3538 -0.2269 -0.9074 +vn -0.3827 0.0000 0.9239 +vn 0.3916 0.1153 0.9129 +vn 0.3827 0.0000 0.9239 +vn -0.3711 0.1112 0.9219 +vn -0.9163 -0.0343 0.3990 +vn -0.3750 -0.0754 0.9239 +vn 0.4082 0.1464 0.9011 +vn 0.9163 -0.0343 0.3990 +vn 0.3750 -0.0754 0.9239 +vn -0.3916 0.1153 0.9129 +vn 0.3711 0.1112 0.9219 +vn 0.8970 -0.1072 -0.4287 +vn 0.9337 -0.0415 -0.3557 +vn -0.3458 -0.6635 -0.6635 +vn -0.8727 -0.2257 -0.4330 +vn -0.3416 -0.3416 -0.8756 +vn 0.3711 0.1112 -0.9219 +vn -0.3711 0.1112 -0.9219 +vn -0.9337 -0.0415 -0.3557 +vn 0.3916 0.1153 -0.9129 +vn 0.3458 -0.6635 -0.6635 +vn 0.9123 0.0530 0.4062 +vn -0.3158 0.4243 0.8487 +vn 0.3158 0.4243 0.8487 +vn -0.9337 0.0415 0.3557 +vn 0.9239 0.0000 0.3827 +vn 0.9337 0.0415 -0.3557 +vn 0.9123 0.0530 -0.4062 +vn 0.9489 0.0415 0.3128 +vn 0.8727 -0.2257 -0.4330 +vn 0.9607 -0.1962 -0.1962 +vn 0.8592 0.2288 0.4576 +vn 0.3416 -0.3416 -0.8756 +vn 0.9337 0.0415 0.3557 +vn -0.9239 0.0000 0.3827 +vn -0.9123 0.0530 0.4062 +vn -0.9337 0.0415 -0.3557 +vn -0.9123 0.0530 -0.4062 +vn -0.9489 0.0415 0.3128 +vn -0.9607 -0.1962 -0.1962 +vn -0.8592 0.2288 0.4576 +vn -0.4082 0.1464 0.9011 +vn -0.8970 -0.1072 -0.4287 +vn 0.7038 0.7038 0.0961 +vn 0.7038 -0.7038 0.0961 +vn 0.0000 -0.9950 0.0995 +vn -0.7038 -0.7038 0.0961 +vn -0.4975 0.8617 0.0995 +s off +f 334/11/4 21/12/4 23/13/4 +f 14/14/4 44/15/4 43/16/4 +f 12/17/4 33/18/4 44/15/4 +f 32/19/4 33/18/4 10/20/4 +f 30/21/4 34/22/4 32/19/4 +f 28/23/4 35/24/4 30/21/4 +f 28/23/4 37/25/4 36/26/4 +f 26/27/4 38/28/4 37/25/4 +f 22/29/4 38/28/4 24/30/4 +f 20/31/4 39/32/4 22/33/4 +f 20/31/4 41/34/4 40/35/4 +f 18/36/4 42/37/4 41/34/4 +f 16/38/4 43/16/4 42/37/4 +f 45/39/5 58/40/5 56/41/5 +f 56/41/5 59/42/5 55/43/5 +f 55/43/5 60/44/5 54/45/5 +f 54/45/5 61/46/5 53/47/5 +f 53/47/5 62/48/5 52/49/5 +f 62/48/5 51/50/5 52/49/5 +f 63/51/5 50/52/5 51/53/5 +f 50/52/5 65/54/5 49/55/5 +f 49/55/5 66/56/5 48/57/5 +f 66/56/5 47/58/5 48/57/5 +f 67/59/5 46/60/5 47/58/5 +f 68/61/5 45/39/5 46/60/5 +f 95/62/4 116/63/4 115/64/4 +f 94/65/4 105/66/4 116/63/4 +f 104/67/4 105/66/4 93/68/4 +f 103/69/4 106/70/4 104/67/4 +f 102/71/4 107/72/4 103/69/4 +f 102/71/4 109/73/4 108/74/4 +f 101/75/4 110/76/4 109/73/4 +f 99/77/4 110/76/4 100/78/4 +f 98/79/4 111/80/4 99/81/4 +f 98/79/4 113/82/4 112/83/4 +f 97/84/4 114/85/4 113/82/4 +f 96/86/4 115/64/4 114/85/4 +f 131/87/4 152/88/4 151/89/4 +f 130/90/4 141/91/4 152/88/4 +f 140/92/4 141/91/4 129/93/4 +f 139/94/4 142/95/4 140/92/4 +f 137/96/4 146/97/4 145/98/4 +f 135/99/4 146/97/4 136/100/4 +f 134/101/4 147/102/4 135/103/4 +f 134/101/4 149/104/4 148/105/4 +f 201/106/5 192/107/5 162/108/5 +f 125/109/5 186/110/5 185/111/5 +f 127/112/5 186/110/5 126/113/5 +f 121/114/5 180/115/5 120/116/5 +f 119/117/5 180/115/5 179/118/5 +f 179/119/6 139/120/6 119/121/6 +f 137/122/7 181/123/7 121/124/7 +f 133/125/8 185/126/8 173/127/8 +f 131/128/9 187/129/9 127/130/9 +f 153/131/5 190/132/5 164/133/5 +f 164/133/5 191/134/5 163/135/5 +f 191/136/9 131/128/9 151/137/9 +f 143/138/6 139/120/6 199/139/6 +f 161/140/5 194/141/5 160/142/5 +f 194/141/5 159/143/5 160/142/5 +f 195/144/5 158/145/5 159/146/5 +f 158/145/5 197/147/5 157/148/5 +f 197/149/7 169/150/7 137/122/7 +f 149/151/8 133/125/8 193/152/8 +f 199/153/5 154/154/5 155/155/5 +f 200/156/5 153/131/5 154/154/5 +f 230/157/4 231/158/4 232/159/4 +f 228/160/4 229/161/4 230/157/4 +f 232/162/10 239/163/10 230/164/10 +f 233/165/4 232/159/4 231/158/4 +f 231/158/11 241/166/11 233/167/11 +f 227/168/12 238/169/12 229/161/12 +f 240/170/5 241/171/5 237/172/5 +f 238/169/5 235/173/5 239/174/5 +f 237/172/5 239/174/5 240/170/5 +f 229/161/13 237/172/13 231/158/13 +f 228/175/14 236/176/14 227/168/14 +f 233/167/15 242/177/15 234/178/15 +f 230/164/16 235/179/16 228/175/16 +f 234/180/17 240/181/17 232/162/17 +f 221/182/5 223/183/5 215/184/5 +f 247/185/15 249/186/15 248/187/15 +f 243/188/18 249/186/18 244/189/18 +f 246/190/13 249/186/13 250/191/13 +f 245/192/10 248/187/10 243/193/10 +f 264/194/14 260/195/14 256/196/14 +f 271/197/15 273/198/15 272/199/15 +f 267/200/18 273/198/18 268/201/18 +f 270/202/13 273/198/13 274/203/13 +f 269/204/10 272/199/10 267/205/10 +f 277/206/15 275/207/15 276/208/15 +f 278/209/5 279/210/5 275/207/5 +f 306/211/14 284/212/14 317/213/14 +f 311/214/15 294/215/15 324/216/15 +f 25/217/4 334/218/4 23/13/4 +f 332/219/4 25/217/4 27/220/4 +f 29/221/4 332/222/4 27/220/4 +f 330/223/4 29/221/4 31/224/4 +f 9/225/4 330/226/4 31/224/4 +f 340/227/4 9/225/4 11/228/4 +f 13/229/4 340/230/4 11/228/4 +f 338/231/4 13/229/4 15/232/4 +f 17/233/4 338/234/4 15/232/4 +f 336/235/4 17/233/4 19/236/4 +f 21/237/4 336/238/4 19/236/4 +f 345/239/4 343/240/4 351/241/4 +f 363/242/5 359/243/5 355/244/5 +f 383/245/19 381/246/19 382/247/19 +f 378/248/15 382/249/15 377/250/15 +f 377/251/10 381/246/10 379/252/10 +f 380/253/13 383/254/13 378/248/13 +f 380/253/14 381/246/14 384/255/14 +f 391/256/20 389/257/20 390/258/20 +f 385/259/15 391/256/15 390/260/15 +f 385/259/10 389/261/10 387/262/10 +f 388/263/13 391/256/13 386/264/13 +f 387/262/14 392/265/14 388/266/14 +f 380/267/4 377/250/4 379/268/4 +f 388/266/4 385/269/4 387/262/4 +f 334/11/4 335/270/4 21/12/4 +f 14/14/4 12/17/4 44/15/4 +f 12/17/4 10/20/4 33/18/4 +f 32/19/4 34/22/4 33/18/4 +f 30/21/4 35/24/4 34/22/4 +f 28/23/4 36/26/4 35/24/4 +f 28/23/4 26/27/4 37/25/4 +f 26/27/4 24/30/4 38/28/4 +f 22/29/4 39/271/4 38/28/4 +f 20/31/4 40/35/4 39/32/4 +f 20/31/4 18/36/4 41/34/4 +f 18/36/4 16/38/4 42/37/4 +f 16/38/4 14/14/4 43/16/4 +f 45/39/5 57/272/5 58/40/5 +f 56/41/5 58/40/5 59/42/5 +f 55/43/5 59/42/5 60/44/5 +f 54/45/5 60/44/5 61/46/5 +f 53/47/5 61/46/5 62/48/5 +f 62/48/5 63/273/5 51/50/5 +f 63/51/5 64/274/5 50/52/5 +f 50/52/5 64/274/5 65/54/5 +f 49/55/5 65/54/5 66/56/5 +f 66/56/5 67/59/5 47/58/5 +f 67/59/5 68/61/5 46/60/5 +f 68/61/5 57/272/5 45/39/5 +f 95/62/4 94/65/4 116/63/4 +f 94/65/4 93/68/4 105/66/4 +f 104/67/4 106/70/4 105/66/4 +f 103/69/4 107/72/4 106/70/4 +f 102/71/4 108/74/4 107/72/4 +f 102/71/4 101/75/4 109/73/4 +f 101/75/4 100/78/4 110/76/4 +f 99/77/4 111/275/4 110/76/4 +f 98/79/4 112/83/4 111/80/4 +f 98/79/4 97/84/4 113/82/4 +f 97/84/4 96/86/4 114/85/4 +f 96/86/4 95/62/4 115/64/4 +f 131/87/4 130/90/4 152/88/4 +f 130/90/4 129/93/4 141/91/4 +f 140/92/4 142/95/4 141/91/4 +f 139/94/4 143/276/4 142/95/4 +f 137/96/4 136/100/4 146/97/4 +f 135/99/4 147/277/4 146/97/4 +f 134/101/4 148/105/4 147/102/4 +f 134/101/4 133/278/4 149/104/4 +f 192/107/5 198/279/5 162/108/5 +f 198/279/5 174/280/5 162/108/5 +f 174/280/5 168/281/5 162/108/5 +f 162/108/5 156/282/5 150/283/5 +f 150/283/5 144/284/5 138/285/5 +f 138/285/5 132/286/5 201/106/5 +f 201/106/5 202/287/5 192/107/5 +f 162/108/5 150/283/5 138/285/5 +f 138/285/5 201/106/5 162/108/5 +f 125/109/5 126/113/5 186/110/5 +f 127/112/5 187/288/5 186/110/5 +f 121/114/5 181/289/5 180/115/5 +f 119/117/5 120/116/5 180/115/5 +f 179/119/6 167/290/6 139/120/6 +f 137/122/7 169/150/7 181/123/7 +f 133/125/8 125/291/8 185/126/8 +f 131/128/9 175/292/9 187/129/9 +f 153/131/5 189/293/5 190/132/5 +f 164/133/5 190/132/5 191/134/5 +f 151/137/9 163/294/9 191/136/9 +f 191/136/9 175/292/9 131/128/9 +f 199/139/6 155/295/6 143/138/6 +f 139/120/6 167/290/6 199/139/6 +f 161/140/5 193/296/5 194/141/5 +f 194/141/5 195/297/5 159/143/5 +f 195/144/5 196/298/5 158/145/5 +f 158/145/5 196/298/5 197/147/5 +f 145/299/7 157/300/7 137/122/7 +f 157/300/7 197/149/7 137/122/7 +f 193/152/8 161/301/8 149/151/8 +f 133/125/8 173/127/8 193/152/8 +f 199/153/5 200/156/5 154/154/5 +f 200/156/5 189/293/5 153/131/5 +f 230/157/4 229/161/4 231/158/4 +f 228/160/4 227/302/4 229/161/4 +f 232/162/10 240/181/10 239/163/10 +f 233/165/4 234/303/4 232/159/4 +f 231/158/11 237/172/11 241/166/11 +f 227/168/12 236/176/12 238/169/12 +f 240/170/5 242/304/5 241/171/5 +f 238/169/5 236/305/5 235/173/5 +f 237/172/5 238/169/5 239/174/5 +f 229/161/13 238/169/13 237/172/13 +f 228/175/14 235/179/14 236/176/14 +f 233/167/15 241/166/15 242/177/15 +f 230/164/16 239/163/16 235/179/16 +f 234/180/17 242/306/17 240/181/17 +f 215/184/5 216/307/5 219/308/5 +f 216/307/5 217/309/5 219/308/5 +f 217/309/5 218/310/5 219/308/5 +f 219/308/5 220/311/5 221/182/5 +f 221/182/5 222/312/5 223/183/5 +f 223/183/5 224/313/5 225/314/5 +f 225/314/5 226/315/5 223/183/5 +f 226/315/5 215/184/5 223/183/5 +f 219/308/5 221/182/5 215/184/5 +f 247/185/15 250/191/15 249/186/15 +f 243/188/18 248/187/18 249/186/18 +f 246/190/13 244/316/13 249/186/13 +f 245/192/10 247/185/10 248/187/10 +f 256/196/14 254/317/14 252/318/14 +f 252/318/14 266/319/14 264/194/14 +f 264/194/14 262/320/14 260/195/14 +f 260/195/14 258/321/14 256/196/14 +f 256/196/14 252/318/14 264/194/14 +f 271/197/15 274/203/15 273/198/15 +f 267/200/18 272/199/18 273/198/18 +f 270/202/13 268/322/13 273/198/13 +f 269/204/10 271/197/10 272/199/10 +f 277/206/15 278/209/15 275/207/15 +f 278/209/5 280/323/5 279/210/5 +f 284/212/14 283/324/14 317/213/14 +f 317/213/14 318/325/14 305/326/14 +f 318/325/14 281/327/14 305/326/14 +f 281/327/14 282/328/14 305/326/14 +f 305/326/14 306/211/14 317/213/14 +f 294/215/15 293/329/15 324/216/15 +f 324/216/15 323/330/15 312/331/15 +f 323/330/15 295/332/15 312/331/15 +f 295/332/15 296/333/15 312/331/15 +f 312/331/15 311/214/15 324/216/15 +f 25/217/4 333/334/4 334/218/4 +f 332/219/4 333/335/4 25/217/4 +f 29/221/4 331/336/4 332/222/4 +f 330/223/4 331/337/4 29/221/4 +f 9/225/4 329/338/4 330/226/4 +f 340/227/4 329/339/4 9/225/4 +f 13/229/4 339/340/4 340/230/4 +f 338/231/4 339/341/4 13/229/4 +f 17/233/4 337/342/4 338/234/4 +f 336/235/4 337/343/4 17/233/4 +f 21/237/4 335/344/4 336/238/4 +f 343/240/4 342/345/4 341/346/4 +f 341/346/4 352/347/4 351/241/4 +f 351/241/4 350/348/4 349/349/4 +f 349/349/4 348/350/4 347/351/4 +f 347/351/4 346/352/4 345/239/4 +f 345/239/4 344/353/4 343/240/4 +f 343/240/4 341/346/4 351/241/4 +f 351/241/4 349/349/4 347/351/4 +f 347/351/4 345/239/4 351/241/4 +f 355/244/5 354/354/5 363/242/5 +f 354/354/5 353/355/5 363/242/5 +f 353/355/5 364/356/5 363/242/5 +f 363/242/5 362/357/5 361/358/5 +f 361/358/5 360/359/5 359/243/5 +f 359/243/5 358/360/5 355/244/5 +f 358/360/5 357/361/5 355/244/5 +f 357/361/5 356/362/5 355/244/5 +f 363/242/5 361/358/5 359/243/5 +f 383/245/19 384/363/19 381/246/19 +f 378/248/15 383/254/15 382/249/15 +f 377/251/10 382/247/10 381/246/10 +f 380/253/13 384/255/13 383/254/13 +f 380/253/14 379/252/14 381/246/14 +f 391/256/20 392/364/20 389/257/20 +f 385/259/15 386/264/15 391/256/15 +f 385/259/10 390/260/10 389/261/10 +f 388/263/13 392/364/13 391/256/13 +f 387/262/14 389/261/14 392/265/14 +f 380/267/4 378/248/4 377/250/4 +f 388/266/4 386/365/4 385/269/4 +s 1 +f 10/20/14 11/228/8 9/225/14 +f 12/17/8 13/229/21 11/228/8 +f 14/14/21 15/232/13 13/229/21 +f 16/38/13 17/233/22 15/232/13 +f 18/36/22 19/236/9 17/233/22 +f 20/31/9 21/237/15 19/236/9 +f 22/29/15 23/13/6 21/12/15 +f 24/30/6 25/217/23 23/13/6 +f 26/27/23 27/220/10 25/217/23 +f 28/23/10 29/221/24 27/220/10 +f 30/21/24 31/224/7 29/221/24 +f 32/19/7 9/225/14 31/224/7 +f 40/35/9 51/50/15 39/32/15 +f 37/25/23 48/57/10 36/26/10 +f 44/15/8 55/43/21 43/16/21 +f 34/22/7 45/39/14 33/18/14 +f 41/34/22 52/49/9 40/35/9 +f 38/28/6 49/55/23 37/25/23 +f 33/18/14 56/41/8 44/15/8 +f 35/24/24 46/60/7 34/22/7 +f 42/37/13 53/47/22 41/34/22 +f 39/271/15 50/52/6 38/28/6 +f 36/26/10 47/58/24 35/24/24 +f 43/16/21 54/45/13 42/37/13 +f 59/42/25 80/366/26 79/367/25 +f 57/272/27 80/366/26 58/40/26 +f 57/272/27 70/368/28 69/369/27 +f 68/61/28 71/370/29 70/368/28 +f 66/56/30 71/370/29 67/59/29 +f 66/56/30 73/371/31 72/372/30 +f 64/274/32 73/371/31 65/54/31 +f 64/274/32 75/373/33 74/374/32 +f 62/48/34 75/375/33 63/273/33 +f 62/48/34 77/376/35 76/377/34 +f 60/44/36 77/376/35 61/46/35 +f 60/44/36 79/367/25 78/378/36 +f 72/372/10 83/379/24 71/370/24 +f 79/367/21 90/380/13 78/378/13 +f 76/377/9 87/381/15 75/375/15 +f 73/371/23 84/382/10 72/372/10 +f 80/366/8 91/383/21 79/367/21 +f 70/368/7 81/384/14 69/369/14 +f 77/376/22 88/385/9 76/377/9 +f 74/374/6 85/386/23 73/371/23 +f 69/369/14 92/387/8 80/366/8 +f 71/370/24 82/388/7 70/368/7 +f 78/378/13 89/389/22 77/376/22 +f 75/373/15 86/390/6 74/374/6 +f 112/83/9 123/391/37 111/80/15 +f 109/73/23 120/116/10 108/74/10 +f 116/63/8 127/112/38 115/64/21 +f 106/70/7 117/392/39 105/66/14 +f 113/82/22 124/393/40 112/83/9 +f 110/76/6 121/114/41 109/73/23 +f 105/66/14 128/394/42 116/63/8 +f 107/72/24 118/395/43 106/70/7 +f 114/85/13 125/109/44 113/82/22 +f 111/275/15 122/396/45 110/76/6 +f 108/74/10 119/117/46 107/72/24 +f 115/64/21 126/113/13 114/85/13 +f 129/93/47 128/394/42 117/392/39 +f 130/90/48 127/112/38 128/394/42 +f 182/397/8 150/398/14 156/399/8 +f 186/400/10 138/401/24 185/126/49 +f 125/109/44 134/101/50 124/393/40 +f 134/101/50 123/391/37 124/393/40 +f 123/402/37 136/100/51 122/396/45 +f 136/100/51 121/114/41 122/396/45 +f 178/403/9 174/404/22 198/405/9 +f 177/406/15 202/407/6 188/408/6 +f 139/94/52 118/395/43 119/117/46 +f 118/395/43 129/93/47 117/392/39 +f 92/387/53 95/62/54 91/383/54 +f 93/68/55 92/387/53 81/384/55 +f 82/388/56 93/68/55 81/384/55 +f 83/379/57 104/67/56 82/388/56 +f 102/71/58 83/379/57 84/382/58 +f 85/386/59 102/71/58 84/382/58 +f 100/78/60 85/386/59 86/390/60 +f 99/77/61 86/390/60 87/409/61 +f 88/385/62 99/81/61 87/381/61 +f 89/389/63 98/79/62 88/385/62 +f 96/86/64 89/389/63 90/380/64 +f 91/383/54 96/86/64 90/380/64 +f 148/105/9 159/143/15 147/102/15 +f 182/397/8 162/410/21 181/123/65 +f 152/88/8 163/135/66 151/89/66 +f 142/95/7 153/131/14 141/91/14 +f 149/104/11 160/142/9 148/105/9 +f 146/97/6 157/148/17 145/98/17 +f 141/91/14 164/133/8 152/88/8 +f 143/276/67 154/154/7 142/95/7 +f 185/126/49 144/411/7 184/412/7 +f 147/277/15 158/145/6 146/97/6 +f 178/403/9 192/413/15 177/406/15 +f 188/408/6 201/414/23 187/129/68 +f 181/123/65 168/415/13 180/416/13 +f 184/412/7 150/398/14 183/417/14 +f 187/129/68 132/418/10 186/419/10 +f 170/420/8 181/123/65 169/150/66 +f 165/421/15 188/408/6 176/422/6 +f 167/290/11 178/403/9 166/423/9 +f 171/424/14 182/397/8 170/420/8 +f 172/425/7 183/417/14 171/424/14 +f 176/422/6 187/129/68 175/292/17 +f 166/423/9 177/406/15 165/421/15 +f 173/127/67 184/412/7 172/425/7 +f 180/426/13 174/404/22 179/119/69 +f 176/427/60 189/293/61 165/428/61 +f 175/429/70 190/132/60 176/427/60 +f 172/430/56 193/296/71 173/431/71 +f 172/430/56 195/297/55 194/141/56 +f 170/432/53 195/144/55 171/433/55 +f 170/432/53 197/147/72 196/298/53 +f 166/434/62 199/153/73 167/435/73 +f 166/434/62 189/293/61 200/156/62 +f 212/436/13 223/437/22 211/438/22 +f 209/439/15 220/440/6 208/441/6 +f 206/442/10 217/443/24 205/444/24 +f 213/445/21 224/446/13 212/436/13 +f 210/447/9 221/448/15 209/449/15 +f 207/450/23 218/451/10 206/442/10 +f 214/452/8 225/453/21 213/445/21 +f 204/454/7 215/455/14 203/456/14 +f 211/438/22 222/457/9 210/447/9 +f 208/441/6 219/458/23 207/450/23 +f 203/456/14 226/459/8 214/452/8 +f 205/444/24 216/460/7 204/454/7 +f 252/461/4 253/462/74 251/463/4 +f 254/464/74 255/465/13 253/462/74 +f 256/466/13 257/467/75 255/465/13 +f 258/468/75 259/469/5 257/467/75 +f 260/470/5 261/471/76 259/469/5 +f 262/472/76 263/473/10 261/471/76 +f 264/474/10 265/475/77 263/473/10 +f 266/476/77 251/477/4 265/475/77 +f 288/478/78 289/479/79 285/480/80 +f 284/481/81 285/480/80 283/482/82 +f 281/483/83 287/484/84 282/485/85 +f 290/486/86 326/487/87 298/488/88 +f 303/489/89 313/490/90 299/491/91 +f 286/492/92 291/493/93 287/484/84 +f 288/494/78 306/211/94 308/495/95 +f 295/496/96 327/497/97 301/498/98 +f 300/499/99 301/500/98 297/501/100 +f 289/502/79 319/503/101 285/504/80 +f 292/505/102 297/501/100 289/479/79 +f 290/506/86 299/507/91 291/493/93 +f 301/500/98 296/508/103 295/509/96 +f 298/510/88 303/511/89 299/507/91 +f 299/491/91 309/512/104 291/513/93 +f 303/511/89 293/514/105 294/515/106 +f 281/516/83 320/517/107 286/518/92 +f 287/519/84 305/326/108 282/520/85 +f 305/326/108 308/495/95 306/211/94 +f 310/521/109 313/490/90 314/522/110 +f 308/495/95 309/512/104 310/521/109 +f 314/522/110 315/523/111 316/524/112 +f 312/331/113 315/523/111 311/214/114 +f 292/525/102 314/522/110 300/499/99 +f 300/499/99 316/524/112 304/526/115 +f 287/519/84 309/512/104 307/527/116 +f 303/489/89 311/214/114 315/523/111 +f 288/494/78 310/521/109 292/525/102 +f 296/528/103 316/524/112 312/331/113 +f 318/529/117 319/503/101 320/517/107 +f 319/503/101 322/530/118 320/517/107 +f 321/531/119 326/487/87 322/530/118 +f 325/532/120 328/533/121 326/487/87 +f 328/533/121 323/534/122 324/535/123 +f 302/536/124 326/487/87 328/533/121 +f 286/518/92 322/530/118 290/486/86 +f 302/536/124 324/535/123 293/537/105 +f 285/504/80 317/538/125 283/539/82 +f 289/502/79 325/532/120 321/531/119 +f 301/498/98 325/532/120 297/540/100 +f 330/541/9 343/542/22 331/543/22 +f 337/544/24 350/545/10 338/546/10 +f 334/547/8 347/548/14 335/549/14 +f 331/543/22 344/550/13 332/551/13 +f 338/546/10 351/552/23 339/553/23 +f 335/554/14 348/555/7 336/556/7 +f 332/551/13 345/557/21 333/558/21 +f 339/553/23 352/559/6 340/560/6 +f 329/561/15 342/562/9 330/541/9 +f 336/556/7 349/563/24 337/544/24 +f 333/558/21 346/564/8 334/547/8 +f 340/560/6 341/565/15 329/561/15 +f 357/566/22 368/567/13 356/568/13 +f 364/569/7 375/570/24 363/571/24 +f 354/572/8 365/573/14 353/574/14 +f 361/575/23 372/576/6 360/577/6 +f 358/578/9 369/579/22 357/566/22 +f 353/574/14 376/580/7 364/569/7 +f 355/581/21 366/582/8 354/572/8 +f 362/583/10 373/584/23 361/575/23 +f 359/585/15 370/586/9 358/578/9 +f 356/568/13 367/587/21 355/581/21 +f 363/571/24 374/588/10 362/583/10 +f 360/577/6 371/589/15 359/590/15 +f 10/20/14 12/17/8 11/228/8 +f 12/17/8 14/14/21 13/229/21 +f 14/14/21 16/38/13 15/232/13 +f 16/38/13 18/36/22 17/233/22 +f 18/36/22 20/31/9 19/236/9 +f 20/31/9 22/33/15 21/237/15 +f 22/29/15 24/30/6 23/13/6 +f 24/30/6 26/27/23 25/217/23 +f 26/27/23 28/23/10 27/220/10 +f 28/23/10 30/21/24 29/221/24 +f 30/21/24 32/19/7 31/224/7 +f 32/19/7 10/20/14 9/225/14 +f 40/35/9 52/49/9 51/50/15 +f 37/25/23 49/55/23 48/57/10 +f 44/15/8 56/41/8 55/43/21 +f 34/22/7 46/60/7 45/39/14 +f 41/34/22 53/47/22 52/49/9 +f 38/28/6 50/52/6 49/55/23 +f 33/18/14 45/39/14 56/41/8 +f 35/24/24 47/58/24 46/60/7 +f 42/37/13 54/45/13 53/47/22 +f 39/271/15 51/53/15 50/52/6 +f 36/26/10 48/57/10 47/58/24 +f 43/16/21 55/43/21 54/45/13 +f 59/42/25 58/40/26 80/366/26 +f 57/272/27 69/369/27 80/366/26 +f 57/272/27 68/61/28 70/368/28 +f 68/61/28 67/59/29 71/370/29 +f 66/56/30 72/372/30 71/370/29 +f 66/56/30 65/54/31 73/371/31 +f 64/274/32 74/374/32 73/371/31 +f 64/274/32 63/51/33 75/373/33 +f 62/48/34 76/377/34 75/375/33 +f 62/48/34 61/46/35 77/376/35 +f 60/44/36 78/378/36 77/376/35 +f 60/44/36 59/42/25 79/367/25 +f 72/372/10 84/382/10 83/379/24 +f 79/367/21 91/383/21 90/380/13 +f 76/377/9 88/385/9 87/381/15 +f 73/371/23 85/386/23 84/382/10 +f 80/366/8 92/387/8 91/383/21 +f 70/368/7 82/388/7 81/384/14 +f 77/376/22 89/389/22 88/385/9 +f 74/374/6 86/390/6 85/386/23 +f 69/369/14 81/384/14 92/387/8 +f 71/370/24 83/379/24 82/388/7 +f 78/378/13 90/380/13 89/389/22 +f 75/373/15 87/409/15 86/390/6 +f 112/83/9 124/393/40 123/391/37 +f 109/73/23 121/114/41 120/116/10 +f 116/63/8 128/394/42 127/112/38 +f 106/70/7 118/395/43 117/392/39 +f 113/82/22 125/109/44 124/393/40 +f 110/76/6 122/396/45 121/114/41 +f 105/66/14 117/392/39 128/394/42 +f 107/72/24 119/117/46 118/395/43 +f 114/85/13 126/113/13 125/109/44 +f 111/275/15 123/402/37 122/396/45 +f 108/74/10 120/116/10 119/117/46 +f 115/64/21 127/112/38 126/113/13 +f 129/93/47 130/90/48 128/394/42 +f 130/90/48 131/87/126 127/112/38 +f 182/397/8 183/417/14 150/398/14 +f 186/400/10 132/591/10 138/401/24 +f 125/109/44 133/278/127 134/101/50 +f 134/101/50 135/103/128 123/391/37 +f 123/402/37 135/99/128 136/100/51 +f 136/100/51 137/96/129 121/114/41 +f 178/403/9 179/119/69 174/404/22 +f 177/406/15 192/413/15 202/407/6 +f 139/94/52 140/92/130 118/395/43 +f 118/395/43 140/92/130 129/93/47 +f 92/387/53 94/65/53 95/62/54 +f 93/68/55 94/65/53 92/387/53 +f 82/388/56 104/67/56 93/68/55 +f 83/379/57 103/69/57 104/67/56 +f 102/71/58 103/69/57 83/379/57 +f 85/386/59 101/75/59 102/71/58 +f 100/78/60 101/75/59 85/386/59 +f 99/77/61 100/78/60 86/390/60 +f 88/385/62 98/79/62 99/81/61 +f 89/389/63 97/84/63 98/79/62 +f 96/86/64 97/84/63 89/389/63 +f 91/383/54 95/62/54 96/86/64 +f 148/105/9 160/142/9 159/143/15 +f 182/397/8 156/399/8 162/410/21 +f 152/88/8 164/133/8 163/135/66 +f 142/95/7 154/154/7 153/131/14 +f 149/104/11 161/140/11 160/142/9 +f 146/97/6 158/145/6 157/148/17 +f 141/91/14 153/131/14 164/133/8 +f 143/276/67 155/155/67 154/154/7 +f 185/126/49 138/401/24 144/411/7 +f 147/277/15 159/146/15 158/145/6 +f 178/403/9 198/405/9 192/413/15 +f 188/408/6 202/407/6 201/414/23 +f 181/123/65 162/410/21 168/415/13 +f 184/412/7 144/411/7 150/398/14 +f 187/129/68 201/414/23 132/418/10 +f 170/420/8 182/397/8 181/123/65 +f 165/421/15 177/406/15 188/408/6 +f 167/290/11 179/119/69 178/403/9 +f 171/424/14 183/417/14 182/397/8 +f 172/425/7 184/412/7 183/417/14 +f 176/422/6 188/408/6 187/129/68 +f 166/423/9 178/403/9 177/406/15 +f 173/127/67 185/126/49 184/412/7 +f 180/426/13 168/592/13 174/404/22 +f 176/427/60 190/132/60 189/293/61 +f 175/429/70 191/134/70 190/132/60 +f 172/430/56 194/141/56 193/296/71 +f 172/430/56 171/593/55 195/297/55 +f 170/432/53 196/298/53 195/144/55 +f 170/432/53 169/594/72 197/147/72 +f 166/434/62 200/156/62 199/153/73 +f 166/434/62 165/595/61 189/293/61 +f 212/436/13 224/446/13 223/437/22 +f 209/439/15 221/596/15 220/440/6 +f 206/442/10 218/451/10 217/443/24 +f 213/445/21 225/453/21 224/446/13 +f 210/447/9 222/457/9 221/448/15 +f 207/450/23 219/458/23 218/451/10 +f 214/452/8 226/459/8 225/453/21 +f 204/454/7 216/460/7 215/455/14 +f 211/438/22 223/437/22 222/457/9 +f 208/441/6 220/440/6 219/458/23 +f 203/456/14 215/455/14 226/459/8 +f 205/444/24 217/443/24 216/460/7 +f 252/461/4 254/464/74 253/462/74 +f 254/464/74 256/466/13 255/465/13 +f 256/466/13 258/468/75 257/467/75 +f 258/468/75 260/470/5 259/469/5 +f 260/470/5 262/472/76 261/471/76 +f 262/472/76 264/474/10 263/473/10 +f 264/474/10 266/476/77 265/475/77 +f 266/476/77 252/597/4 251/477/4 +f 288/478/78 292/505/102 289/479/79 +f 284/481/81 288/478/78 285/480/80 +f 281/483/83 286/492/92 287/484/84 +f 290/486/86 322/530/118 326/487/87 +f 303/489/89 315/523/111 313/490/90 +f 286/492/92 290/506/86 291/493/93 +f 288/494/78 284/481/81 306/211/94 +f 295/496/96 323/534/122 327/497/97 +f 300/499/99 304/526/115 301/500/98 +f 289/502/79 321/531/119 319/503/101 +f 292/505/102 300/499/99 297/501/100 +f 290/506/86 298/510/88 299/507/91 +f 301/500/98 304/526/115 296/508/103 +f 298/510/88 302/598/124 303/511/89 +f 299/491/91 313/490/90 309/512/104 +f 303/511/89 302/598/124 293/514/105 +f 281/516/83 318/529/117 320/517/107 +f 287/519/84 307/527/116 305/326/108 +f 305/326/108 307/527/116 308/495/95 +f 310/521/109 309/512/104 313/490/90 +f 308/495/95 307/527/116 309/512/104 +f 314/522/110 313/490/90 315/523/111 +f 312/331/113 316/524/112 315/523/111 +f 292/525/102 310/521/109 314/522/110 +f 300/499/99 314/522/110 316/524/112 +f 287/519/84 291/513/93 309/512/104 +f 303/489/89 294/515/106 311/214/114 +f 288/494/78 308/495/95 310/521/109 +f 296/528/103 304/526/115 316/524/112 +f 318/529/117 317/538/125 319/503/101 +f 319/503/101 321/531/119 322/530/118 +f 321/531/119 325/532/120 326/487/87 +f 325/532/120 327/497/97 328/533/121 +f 328/533/121 327/497/97 323/534/122 +f 302/536/124 298/488/88 326/487/87 +f 286/518/92 320/517/107 322/530/118 +f 302/536/124 328/533/121 324/535/123 +f 285/504/80 319/503/101 317/538/125 +f 289/502/79 297/540/100 325/532/120 +f 301/498/98 327/497/97 325/532/120 +f 330/541/9 342/562/9 343/542/22 +f 337/544/24 349/563/24 350/545/10 +f 334/547/8 346/564/8 347/548/14 +f 331/543/22 343/542/22 344/550/13 +f 338/546/10 350/545/10 351/552/23 +f 335/554/14 347/599/14 348/555/7 +f 332/551/13 344/550/13 345/557/21 +f 339/553/23 351/552/23 352/559/6 +f 329/561/15 341/565/15 342/562/9 +f 336/556/7 348/555/7 349/563/24 +f 333/558/21 345/557/21 346/564/8 +f 340/560/6 352/559/6 341/565/15 +f 357/566/22 369/579/22 368/567/13 +f 364/569/7 376/580/7 375/570/24 +f 354/572/8 366/582/8 365/573/14 +f 361/575/23 373/584/23 372/576/6 +f 358/578/9 370/586/9 369/579/22 +f 353/574/14 365/573/14 376/580/7 +f 355/581/21 367/587/21 366/582/8 +f 362/583/10 374/588/10 373/584/23 +f 359/585/15 371/600/15 370/586/9 +f 356/568/13 368/567/13 367/587/21 +f 363/571/24 375/570/24 374/588/10 +f 360/577/6 372/576/6 371/589/15 +o Lever +v 0.312500 -0.625000 2.500000 +v 0.250000 -0.687500 2.536612 +v 0.224112 -0.713388 2.625000 +v 0.250000 -0.687500 2.713388 +v 0.312500 -0.625000 2.750000 +v 0.375000 -0.562500 2.713388 +v 0.400888 -0.536612 2.625000 +v 0.375000 -0.562500 2.536612 +v 0.294194 -0.731694 2.536612 +v 0.356694 -0.669194 2.500000 +v 0.268306 -0.757582 2.625000 +v 0.294194 -0.731694 2.713388 +v 0.356694 -0.669194 2.750000 +v 0.419194 -0.606694 2.713388 +v 0.445083 -0.580806 2.625000 +v 0.419194 -0.606694 2.536612 +v 0.369638 -0.744638 2.580806 +v 0.400888 -0.713388 2.562500 +v 0.356694 -0.757583 2.625000 +v 0.369638 -0.744638 2.669194 +v 0.400888 -0.713388 2.687500 +v 0.432138 -0.682138 2.669194 +v 0.445083 -0.669194 2.625000 +v 0.432138 -0.682138 2.580806 +vt 0.242193 0.795181 +vt 0.234848 0.806862 +vt 0.227503 0.795181 +vt 0.229654 0.786921 +vt 0.234848 0.783500 +vt 0.240042 0.786921 +vt 0.240042 0.803441 +vt 0.229654 0.803441 +vt 0.257576 0.789157 +vt 0.253788 0.795181 +vt 0.253788 0.789157 +vt 0.257576 0.783133 +vt 0.261364 0.789157 +vt 0.265152 0.783133 +vt 0.268939 0.789157 +vt 0.265152 0.789157 +vt 0.246212 0.783133 +vt 0.242424 0.789157 +vt 0.242424 0.783133 +vt 0.253788 0.783133 +vt 0.261364 0.783133 +vt 0.268939 0.783133 +vt 0.272727 0.789157 +vt 0.250000 0.783133 +vt 0.246212 0.789157 +vt 0.250000 0.789157 +vt 0.243588 0.797031 +vt 0.246212 0.795303 +vt 0.246212 0.807105 +vt 0.261364 0.795181 +vt 0.272727 0.795181 +vt 0.268939 0.795181 +vt 0.246212 0.795181 +vt 0.250000 0.795181 +vt 0.257576 0.795181 +vt 0.265152 0.795181 +vt 0.242424 0.795181 +vt 0.272727 0.783133 +vt 0.248835 0.797031 +vt 0.249922 0.801204 +vt 0.248835 0.805376 +vt 0.243588 0.805376 +vt 0.242501 0.801204 +vn -0.7071 0.7071 0.0000 +vn 0.9113 0.4118 0.0000 +vn 0.8576 -0.3996 -0.3238 +vn 0.7175 0.2181 -0.6615 +vn 0.7071 0.7071 0.0000 +vn 0.7175 0.2181 0.6615 +vn -0.0000 -0.0000 1.0000 +vn -0.2181 -0.7175 0.6615 +vn 0.2497 -0.2497 0.9356 +vn -0.5000 -0.5000 -0.7071 +vn -0.4118 -0.9113 -0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.5000 0.5000 -0.7071 +vn 0.5000 0.5000 0.7071 +vn -0.5000 -0.5000 0.7071 +vn 0.0000 -0.0000 -1.0000 +vn -0.2181 -0.7175 -0.6615 +vn 0.2497 -0.2497 -0.9356 +vn 0.3996 -0.8576 0.3238 +vn 0.3048 -0.9524 -0.0000 +vn 0.9524 -0.3048 0.0000 +vn 0.8576 -0.3996 0.3238 +vn 0.3996 -0.8576 -0.3238 +vn 0.6286 -0.6286 -0.4580 +vn 0.6286 -0.6286 0.4580 +s off +f 397/601/131 399/602/131 393/603/131 +f 393/603/131 394/604/131 395/605/131 +f 395/605/131 396/606/131 397/601/131 +f 397/601/131 398/607/131 399/602/131 +f 399/602/131 400/608/131 393/603/131 +f 393/603/131 395/605/131 397/601/131 +s 1 +f 407/609/132 416/610/133 408/611/134 +f 399/612/135 406/613/136 407/609/132 +f 397/614/137 404/615/138 405/616/139 +f 394/617/140 403/618/141 395/619/142 +f 399/612/135 408/611/134 400/620/143 +f 398/621/144 405/616/139 406/613/136 +f 396/622/145 403/623/141 404/615/138 +f 393/624/146 401/625/147 394/617/140 +f 400/620/143 402/626/148 393/624/146 +f 412/627/149 411/628/150 415/629/151 +f 405/616/139 414/630/152 406/613/136 +f 404/615/138 411/631/150 412/632/149 +f 402/626/148 409/633/153 401/625/147 +f 408/611/134 410/634/154 402/626/148 +f 407/609/132 414/630/152 415/635/151 +f 405/616/139 412/632/149 413/636/155 +f 401/625/147 411/637/150 403/618/141 +f 407/609/132 415/635/151 416/610/133 +f 399/612/135 398/621/144 406/613/136 +f 397/614/137 396/622/145 404/615/138 +f 394/617/140 401/625/147 403/618/141 +f 399/612/135 407/609/132 408/611/134 +f 398/621/144 397/614/137 405/616/139 +f 396/622/145 395/638/142 403/623/141 +f 393/624/146 402/626/148 401/625/147 +f 400/620/143 408/611/134 402/626/148 +f 411/628/150 409/639/153 415/629/151 +f 409/639/153 410/640/154 415/629/151 +f 410/640/154 416/641/133 415/629/151 +f 415/629/151 414/642/152 413/643/155 +f 413/643/155 412/627/149 415/629/151 +f 405/616/139 413/636/155 414/630/152 +f 404/615/138 403/623/141 411/631/150 +f 402/626/148 410/634/154 409/633/153 +f 408/611/134 416/610/133 410/634/154 +f 407/609/132 406/613/136 414/630/152 +f 405/616/139 404/615/138 412/632/149 +f 401/625/147 409/633/153 411/637/150 +o Safety +v -0.625000 -0.812500 -0.625000 +v -0.625000 -0.562500 -0.625000 +v -0.625000 -0.812500 -0.875000 +v -0.625000 -0.562500 -0.875000 +v 0.375000 -0.812500 -0.625000 +v 0.375000 -0.562500 -0.625000 +v 0.375000 -0.812500 -0.875000 +v 0.375000 -0.562500 -0.875000 +vt 0.840909 0.572289 +vt 0.856061 0.548193 +vt 0.856061 0.572289 +vt 0.840909 0.548193 +vt 0.780303 0.524096 +vt 0.840909 0.524096 +vt 0.780303 0.548193 +vt 0.765152 0.572289 +vt 0.765152 0.548193 +vt 0.780303 0.572289 +vt 0.840909 0.596386 +vt 0.780303 0.596386 +vt 0.840909 0.500000 +vt 0.780303 0.500000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 418/644/156 419/645/156 417/646/156 +f 420/647/157 423/648/157 419/649/157 +f 424/650/158 421/651/158 423/652/158 +f 422/653/159 417/654/159 421/655/159 +f 423/648/160 417/656/160 419/649/160 +f 420/647/161 422/653/161 424/650/161 +f 418/644/156 420/647/156 419/645/156 +f 420/647/157 424/650/157 423/648/157 +f 424/650/158 422/653/158 421/651/158 +f 422/653/159 418/644/159 417/654/159 +f 423/648/160 421/657/160 417/656/160 +f 420/647/161 418/644/161 422/653/161 +o Handle +v 0.343750 -0.008373 2.687500 +v 0.406250 -0.116627 2.687500 +v 0.343750 -0.008373 2.062500 +v 0.406250 -0.116627 2.062500 +v 0.452003 0.054127 2.687500 +v 0.514503 -0.054127 2.687500 +v 0.560256 0.116627 2.437500 +v 0.622756 0.008373 2.437500 +v 0.885016 0.304127 2.437500 +v 0.947516 0.195873 2.437500 +v 0.993269 0.366626 2.062500 +v 0.993269 0.366626 2.500000 +v 1.055769 0.258373 2.500000 +v 1.055769 0.258373 2.062500 +vt 0.662879 0.849398 +vt 0.625000 0.861446 +vt 0.625000 0.849398 +vt 0.617424 0.861446 +vt 0.625000 0.873494 +vt 0.617424 0.873494 +vt 0.693182 0.885542 +vt 0.670455 0.933735 +vt 0.670455 0.861446 +vt 0.617424 0.897590 +vt 0.662879 0.933735 +vt 0.662879 0.861446 +vt 0.625000 0.897590 +vt 0.617424 0.933735 +vt 0.636364 0.933735 +vt 0.662879 0.945783 +vt 0.636364 0.945783 +vt 0.640152 0.885542 +vt 0.625000 0.945783 +vt 0.617424 0.945783 +vt 0.708333 0.861446 +vt 0.708333 0.873494 +vt 0.693182 0.921687 +vt 0.696970 0.933735 +vt 0.625000 0.933735 +vt 0.640152 0.921687 +vn -0.8660 -0.5000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -0.5000 0.8660 0.0000 +vn 0.7746 0.4472 0.4472 +vn 0.0000 0.0000 -1.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.3873 -0.2236 0.8944 +s off +f 427/658/162 426/659/162 425/660/162 +f 425/661/163 430/662/163 429/663/163 +f 431/664/164 435/665/164 427/666/164 +f 430/662/165 431/667/165 429/663/165 +f 427/666/166 438/668/166 428/669/166 +f 432/670/163 433/671/163 431/667/163 +f 437/672/167 435/673/167 436/674/167 +f 426/659/168 428/669/168 432/675/168 +f 433/671/169 437/676/169 436/677/169 +f 427/658/162 428/669/162 426/659/162 +f 425/661/163 426/659/163 430/662/163 +f 425/678/164 429/679/164 431/664/164 +f 433/680/164 436/681/164 435/665/164 +f 427/666/164 425/678/164 431/664/164 +f 431/664/164 433/680/164 435/665/164 +f 430/662/165 432/670/165 431/667/165 +f 427/666/166 435/665/166 438/668/166 +f 432/670/163 434/682/163 433/671/163 +f 437/672/167 438/668/167 435/673/167 +f 428/669/168 438/668/168 432/675/168 +f 438/668/168 437/672/168 434/683/168 +f 438/668/168 434/683/168 432/675/168 +f 430/662/168 426/659/168 432/675/168 +f 433/671/169 434/682/169 437/676/169 +o Bullets +v -0.062500 -0.250000 -4.375000 +v -0.125000 -0.266747 -4.375000 +v -0.170753 -0.312500 -4.375000 +v -0.187500 -0.375000 -4.375000 +v -0.170753 -0.437500 -4.375000 +v -0.125000 -0.483253 -4.375000 +v -0.062500 -0.500000 -4.375000 +v 0.000000 -0.483253 -4.375000 +v 0.045753 -0.437500 -4.375000 +v 0.062500 -0.375000 -4.375000 +v 0.045753 -0.312500 -4.375000 +v 0.000000 -0.266747 -4.375000 +v -0.062500 -0.250000 -3.625000 +v -0.125000 -0.266747 -3.625000 +v -0.170753 -0.312500 -3.625000 +v -0.187500 -0.375000 -3.625000 +v -0.170753 -0.437500 -3.625000 +v -0.125000 -0.483253 -3.625000 +v -0.062500 -0.500000 -3.625000 +v 0.000000 -0.483253 -3.625000 +v 0.045753 -0.437500 -3.625000 +v 0.062500 -0.375000 -3.625000 +v 0.045753 -0.312500 -3.625000 +v 0.000000 -0.266747 -3.625000 +v -0.062500 -0.281250 -3.500000 +v -0.109375 -0.293810 -3.500000 +v -0.143690 -0.328125 -3.500000 +v -0.156250 -0.375000 -3.500000 +v -0.143690 -0.421875 -3.500000 +v -0.109375 -0.456190 -3.500000 +v -0.062500 -0.468750 -3.500000 +v -0.015625 -0.456190 -3.500000 +v 0.018690 -0.421875 -3.500000 +v 0.031250 -0.375000 -3.500000 +v 0.018690 -0.328125 -3.500000 +v -0.015625 -0.293810 -3.500000 +v -0.062500 -0.281250 -3.375000 +v -0.109375 -0.293810 -3.375000 +v -0.143690 -0.328125 -3.375000 +v -0.156250 -0.375000 -3.375000 +v -0.143690 -0.421875 -3.375000 +v -0.109375 -0.456190 -3.375000 +v -0.062500 -0.468750 -3.375000 +v -0.015625 -0.456190 -3.375000 +v 0.018690 -0.421875 -3.375000 +v 0.031250 -0.375000 -3.375000 +v 0.018690 -0.328125 -3.375000 +v -0.015625 -0.293810 -3.375000 +v -0.062500 -0.375000 -3.125000 +v 0.062500 -0.467817 -4.375000 +v 0.000000 -0.484564 -4.375000 +v -0.045753 -0.530317 -4.375000 +v -0.062500 -0.592817 -4.375000 +v -0.045753 -0.655317 -4.375000 +v 0.000000 -0.701071 -4.375000 +v 0.062500 -0.717817 -4.375000 +v 0.125000 -0.701071 -4.375000 +v 0.170753 -0.655317 -4.375000 +v 0.187500 -0.592817 -4.375000 +v 0.170753 -0.530317 -4.375000 +v 0.125000 -0.484564 -4.375000 +v 0.062500 -0.467817 -3.625000 +v 0.000000 -0.484564 -3.625000 +v -0.045753 -0.530317 -3.625000 +v -0.062500 -0.592817 -3.625000 +v -0.045753 -0.655317 -3.625000 +v 0.000000 -0.701071 -3.625000 +v 0.062500 -0.717817 -3.625000 +v 0.125000 -0.701071 -3.625000 +v 0.170753 -0.655317 -3.625000 +v 0.187500 -0.592817 -3.625000 +v 0.170753 -0.530317 -3.625000 +v 0.125000 -0.484564 -3.625000 +v 0.062500 -0.499067 -3.500000 +v 0.015625 -0.511627 -3.500000 +v -0.018690 -0.545942 -3.500000 +v -0.031250 -0.592817 -3.500000 +v -0.018690 -0.639692 -3.500000 +v 0.015625 -0.674007 -3.500000 +v 0.062500 -0.686567 -3.500000 +v 0.109375 -0.674007 -3.500000 +v 0.143690 -0.639692 -3.500000 +v 0.156250 -0.592817 -3.500000 +v 0.143690 -0.545942 -3.500000 +v 0.109375 -0.511627 -3.500000 +v 0.062500 -0.499067 -3.375000 +v 0.015625 -0.511627 -3.375000 +v -0.018690 -0.545942 -3.375000 +v -0.031250 -0.592817 -3.375000 +v -0.018690 -0.639692 -3.375000 +v 0.015625 -0.674007 -3.375000 +v 0.062500 -0.686567 -3.375000 +v 0.109375 -0.674007 -3.375000 +v 0.143690 -0.639692 -3.375000 +v 0.156250 -0.592817 -3.375000 +v 0.143690 -0.545942 -3.375000 +v 0.109375 -0.511627 -3.375000 +v 0.062500 -0.592817 -3.125000 +vt 0.809524 0.602471 +vt 0.809524 0.614396 +vt 0.796536 0.614396 +vt 0.809524 0.602471 +vt 0.809524 0.614396 +vt 0.796536 0.614396 +vt 0.806780 0.618761 +vt 0.803030 0.620359 +vt 0.799281 0.618761 +vt 0.795532 0.608434 +vt 0.796536 0.602471 +vt 0.799281 0.598106 +vt 0.803030 0.596508 +vt 0.806780 0.598106 +vt 0.810529 0.608434 +vt 0.806780 0.618761 +vt 0.803030 0.620359 +vt 0.799281 0.618761 +vt 0.795532 0.608434 +vt 0.796536 0.602471 +vt 0.799281 0.598106 +vt 0.803030 0.596508 +vt 0.806780 0.598106 +vt 0.810529 0.608434 +vt 0.799242 0.632530 +vt 0.795455 0.704819 +vt 0.795455 0.632530 +vt 0.780303 0.632530 +vt 0.776515 0.704819 +vt 0.776515 0.632530 +vt 0.768939 0.632530 +vt 0.765152 0.704819 +vt 0.765152 0.632530 +vt 0.803030 0.632530 +vt 0.799242 0.704819 +vt 0.784091 0.632530 +vt 0.780303 0.704819 +vt 0.791667 0.632530 +vt 0.787879 0.704819 +vt 0.787879 0.632530 +vt 0.772727 0.632530 +vt 0.768939 0.704819 +vt 0.806818 0.632530 +vt 0.803030 0.704819 +vt 0.784091 0.704819 +vt 0.791667 0.704819 +vt 0.772727 0.704819 +vt 0.810606 0.632530 +vt 0.806818 0.704819 +vt 0.768939 0.716867 +vt 0.803030 0.716867 +vt 0.784091 0.716867 +vt 0.795455 0.716867 +vt 0.791667 0.716867 +vt 0.776515 0.716867 +vt 0.772727 0.716867 +vt 0.810606 0.704819 +vt 0.806818 0.716867 +vt 0.780303 0.716867 +vt 0.765152 0.716867 +vt 0.799242 0.716867 +vt 0.787879 0.716867 +vt 0.787879 0.728916 +vt 0.768939 0.728916 +vt 0.803030 0.728916 +vt 0.784091 0.728916 +vt 0.791667 0.728916 +vt 0.772727 0.728916 +vt 0.810606 0.716867 +vt 0.806818 0.728916 +vt 0.795455 0.728916 +vt 0.776515 0.728916 +vt 0.765152 0.728916 +vt 0.799242 0.728916 +vt 0.780303 0.728916 +vt 0.787879 0.753012 +vt 0.795455 0.753012 +vt 0.776515 0.753012 +vt 0.810606 0.728916 +vt 0.810606 0.753012 +vt 0.799242 0.753012 +vt 0.780303 0.753012 +vt 0.768939 0.753012 +vt 0.803030 0.753012 +vt 0.784091 0.753012 +vt 0.772727 0.753012 +vt 0.806818 0.753012 +vt 0.791667 0.753012 +vt 0.799242 0.632530 +vt 0.795455 0.704819 +vt 0.795455 0.632530 +vt 0.780303 0.632530 +vt 0.776515 0.704819 +vt 0.776515 0.632530 +vt 0.768939 0.632530 +vt 0.765152 0.704819 +vt 0.765152 0.632530 +vt 0.803030 0.632530 +vt 0.799242 0.704819 +vt 0.784091 0.632530 +vt 0.780303 0.704819 +vt 0.791667 0.632530 +vt 0.787879 0.704819 +vt 0.787879 0.632530 +vt 0.772727 0.632530 +vt 0.768939 0.704819 +vt 0.806818 0.632530 +vt 0.803030 0.704819 +vt 0.784091 0.704819 +vt 0.791667 0.704819 +vt 0.772727 0.704819 +vt 0.810606 0.632530 +vt 0.806818 0.704819 +vt 0.772727 0.716867 +vt 0.768939 0.716867 +vt 0.806818 0.716867 +vt 0.803030 0.716867 +vt 0.784091 0.716867 +vt 0.795455 0.716867 +vt 0.791667 0.716867 +vt 0.810606 0.704819 +vt 0.780303 0.716867 +vt 0.776515 0.716867 +vt 0.765152 0.716867 +vt 0.799242 0.716867 +vt 0.787879 0.716867 +vt 0.787879 0.728916 +vt 0.768939 0.728916 +vt 0.803030 0.728916 +vt 0.784091 0.728916 +vt 0.791667 0.728916 +vt 0.772727 0.728916 +vt 0.810606 0.716867 +vt 0.806818 0.728916 +vt 0.795455 0.728916 +vt 0.776515 0.728916 +vt 0.765152 0.728916 +vt 0.799242 0.728916 +vt 0.780303 0.728916 +vt 0.787879 0.753012 +vt 0.795455 0.753012 +vt 0.776515 0.753012 +vt 0.810606 0.728916 +vt 0.810606 0.753012 +vt 0.799242 0.753012 +vt 0.780303 0.753012 +vt 0.768939 0.753012 +vt 0.803030 0.753012 +vt 0.784091 0.753012 +vt 0.772727 0.753012 +vt 0.806818 0.753012 +vt 0.791667 0.753012 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.0000 -1.0000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.8402 -0.4851 0.2425 +vn 0.4851 -0.8402 0.2425 +vn -0.4851 -0.8402 0.2425 +vn -0.8402 -0.4851 0.2425 +vn 0.0000 0.9701 0.2425 +vn 0.4851 0.8402 0.2425 +vn -0.4851 0.8402 0.2425 +vn -0.8402 0.4851 0.2425 +vn 0.9701 -0.0000 0.2425 +vn 0.0000 -0.9701 0.2425 +vn -0.9701 -0.0000 0.2425 +vn 0.8402 0.4851 0.2425 +vn 0.0000 0.9848 0.1735 +vn 0.4924 -0.8529 0.1735 +vn -0.8529 -0.4924 0.1735 +vn 0.4924 0.8529 0.1735 +vn -0.4924 0.8529 0.1735 +vn 0.8529 -0.4924 0.1735 +vn -0.4924 -0.8529 0.1735 +vn -0.8529 0.4924 0.1735 +vn 0.9848 -0.0000 0.1735 +vn 0.0000 -0.9848 0.1735 +vn -0.9848 0.0000 0.1735 +vn 0.8529 0.4924 0.1735 +vn -0.0000 0.0000 1.0000 +s off +f 443/684/170 441/685/170 449/686/170 +f 492/687/170 490/688/170 498/689/170 +f 441/685/170 440/690/170 439/691/170 +f 439/691/170 450/692/170 449/686/170 +f 449/686/170 448/693/170 447/694/170 +f 447/694/170 446/695/170 445/696/170 +f 445/696/170 444/697/170 443/684/170 +f 443/684/170 442/698/170 441/685/170 +f 441/685/170 439/691/170 449/686/170 +f 449/686/170 447/694/170 445/696/170 +f 445/696/170 443/684/170 449/686/170 +f 490/688/170 489/699/170 488/700/170 +f 488/700/170 499/701/170 498/689/170 +f 498/689/170 497/702/170 496/703/170 +f 496/703/170 495/704/170 494/705/170 +f 494/705/170 493/706/170 492/687/170 +f 492/687/170 491/707/170 490/688/170 +f 490/688/170 488/700/170 498/689/170 +f 498/689/170 496/703/170 494/705/170 +f 494/705/170 492/687/170 498/689/170 +s 1 +f 442/708/171 453/709/172 441/710/172 +f 449/711/173 460/712/174 448/713/174 +f 446/714/175 457/715/176 445/716/176 +f 443/717/177 454/718/171 442/708/171 +f 450/719/178 461/720/173 449/711/173 +f 440/721/179 451/722/180 439/723/180 +f 447/724/181 458/725/175 446/714/175 +f 444/726/182 455/727/177 443/717/177 +f 439/723/180 462/728/178 450/719/178 +f 441/710/172 452/729/179 440/721/179 +f 448/713/174 459/730/181 447/724/181 +f 445/731/176 456/732/182 444/726/182 +f 459/730/183 470/733/184 458/725/184 +f 456/732/185 467/734/186 455/727/186 +f 451/722/187 474/735/188 462/728/188 +f 452/729/189 465/736/190 464/737/189 +f 459/730/183 472/738/191 471/739/183 +f 457/740/192 468/741/185 456/732/185 +f 454/718/193 465/736/190 453/709/190 +f 460/712/191 473/742/194 472/738/191 +f 457/715/192 470/733/184 469/743/192 +f 455/727/186 466/744/193 454/718/193 +f 462/728/188 473/742/194 461/720/194 +f 451/722/187 464/737/189 463/745/187 +f 464/737/179 475/746/195 463/745/180 +f 471/739/181 482/747/196 470/733/175 +f 468/741/182 479/748/197 467/734/177 +f 463/745/180 486/749/198 474/735/178 +f 465/736/172 476/750/199 464/737/179 +f 472/738/174 483/751/200 471/739/181 +f 469/752/176 480/753/201 468/741/182 +f 466/744/171 477/754/202 465/736/172 +f 473/742/173 484/755/203 472/738/174 +f 470/733/175 481/756/204 469/743/176 +f 467/734/177 478/757/205 466/744/171 +f 474/735/178 485/758/206 473/742/173 +f 475/746/195 487/759/207 486/749/198 +f 477/754/202 487/760/207 476/750/199 +f 484/755/203 487/761/207 483/751/200 +f 481/762/204 487/763/207 480/753/201 +f 478/757/205 487/764/207 477/754/202 +f 485/758/206 487/765/207 484/755/203 +f 482/747/196 487/766/207 481/756/204 +f 479/748/197 487/767/207 478/757/205 +f 486/749/198 487/768/207 485/758/206 +f 483/751/200 487/769/207 482/747/196 +f 480/753/201 487/770/207 479/748/197 +f 476/750/199 487/771/207 475/746/195 +f 491/772/171 502/773/172 490/774/172 +f 498/775/173 509/776/174 497/777/174 +f 495/778/175 506/779/176 494/780/176 +f 492/781/177 503/782/171 491/772/171 +f 499/783/178 510/784/173 498/775/173 +f 489/785/179 500/786/180 488/787/180 +f 496/788/181 507/789/175 495/778/175 +f 493/790/182 504/791/177 492/781/177 +f 488/787/180 511/792/178 499/783/178 +f 490/774/172 501/793/179 489/785/179 +f 497/777/174 508/794/181 496/788/181 +f 494/795/176 505/796/182 493/790/182 +f 507/789/184 520/797/183 519/798/184 +f 504/791/186 517/799/185 516/800/186 +f 500/786/187 523/801/188 511/792/188 +f 501/793/189 514/802/190 513/803/189 +f 509/776/191 520/797/183 508/794/183 +f 506/804/192 517/799/185 505/796/185 +f 503/782/193 514/802/190 502/773/190 +f 509/776/191 522/805/194 521/806/191 +f 506/779/192 519/798/184 518/807/192 +f 503/782/193 516/800/186 515/808/193 +f 511/792/188 522/805/194 510/784/194 +f 500/786/187 513/803/189 512/809/187 +f 513/803/179 524/810/195 512/809/180 +f 520/797/181 531/811/196 519/798/175 +f 517/799/182 528/812/197 516/800/177 +f 512/809/180 535/813/198 523/801/178 +f 514/802/172 525/814/199 513/803/179 +f 521/806/174 532/815/200 520/797/181 +f 518/816/176 529/817/201 517/799/182 +f 515/808/171 526/818/202 514/802/172 +f 522/805/173 533/819/203 521/806/174 +f 519/798/175 530/820/204 518/807/176 +f 516/800/177 527/821/205 515/808/171 +f 523/801/178 534/822/206 522/805/173 +f 524/810/195 536/823/207 535/813/198 +f 526/818/202 536/824/207 525/814/199 +f 533/819/203 536/825/207 532/815/200 +f 530/826/204 536/827/207 529/817/201 +f 527/821/205 536/828/207 526/818/202 +f 534/822/206 536/829/207 533/819/203 +f 531/811/196 536/830/207 530/820/204 +f 528/812/197 536/831/207 527/821/205 +f 535/813/198 536/832/207 534/822/206 +f 532/815/200 536/833/207 531/811/196 +f 529/817/201 536/834/207 528/812/197 +f 525/814/199 536/835/207 524/810/195 +f 442/708/171 454/718/171 453/709/172 +f 449/711/173 461/720/173 460/712/174 +f 446/714/175 458/725/175 457/715/176 +f 443/717/177 455/727/177 454/718/171 +f 450/719/178 462/728/178 461/720/173 +f 440/721/179 452/729/179 451/722/180 +f 447/724/181 459/730/181 458/725/175 +f 444/726/182 456/732/182 455/727/177 +f 439/723/180 451/722/180 462/728/178 +f 441/710/172 453/709/172 452/729/179 +f 448/713/174 460/712/174 459/730/181 +f 445/731/176 457/740/176 456/732/182 +f 459/730/183 471/739/183 470/733/184 +f 456/732/185 468/741/185 467/734/186 +f 451/722/187 463/745/187 474/735/188 +f 452/729/189 453/709/190 465/736/190 +f 459/730/183 460/712/191 472/738/191 +f 457/740/192 469/752/192 468/741/185 +f 454/718/193 466/744/193 465/736/190 +f 460/712/191 461/720/194 473/742/194 +f 457/715/192 458/725/184 470/733/184 +f 455/727/186 467/734/186 466/744/193 +f 462/728/188 474/735/188 473/742/194 +f 451/722/187 452/729/189 464/737/189 +f 464/737/179 476/750/199 475/746/195 +f 471/739/181 483/751/200 482/747/196 +f 468/741/182 480/753/201 479/748/197 +f 463/745/180 475/746/195 486/749/198 +f 465/736/172 477/754/202 476/750/199 +f 472/738/174 484/755/203 483/751/200 +f 469/752/176 481/762/204 480/753/201 +f 466/744/171 478/757/205 477/754/202 +f 473/742/173 485/758/206 484/755/203 +f 470/733/175 482/747/196 481/756/204 +f 467/734/177 479/748/197 478/757/205 +f 474/735/178 486/749/198 485/758/206 +f 491/772/171 503/782/171 502/773/172 +f 498/775/173 510/784/173 509/776/174 +f 495/778/175 507/789/175 506/779/176 +f 492/781/177 504/791/177 503/782/171 +f 499/783/178 511/792/178 510/784/173 +f 489/785/179 501/793/179 500/786/180 +f 496/788/181 508/794/181 507/789/175 +f 493/790/182 505/796/182 504/791/177 +f 488/787/180 500/786/180 511/792/178 +f 490/774/172 502/773/172 501/793/179 +f 497/777/174 509/776/174 508/794/181 +f 494/795/176 506/804/176 505/796/182 +f 507/789/184 508/794/183 520/797/183 +f 504/791/186 505/796/185 517/799/185 +f 500/786/187 512/809/187 523/801/188 +f 501/793/189 502/773/190 514/802/190 +f 509/776/191 521/806/191 520/797/183 +f 506/804/192 518/816/192 517/799/185 +f 503/782/193 515/808/193 514/802/190 +f 509/776/191 510/784/194 522/805/194 +f 506/779/192 507/789/184 519/798/184 +f 503/782/193 504/791/186 516/800/186 +f 511/792/188 523/801/188 522/805/194 +f 500/786/187 501/793/189 513/803/189 +f 513/803/179 525/814/199 524/810/195 +f 520/797/181 532/815/200 531/811/196 +f 517/799/182 529/817/201 528/812/197 +f 512/809/180 524/810/195 535/813/198 +f 514/802/172 526/818/202 525/814/199 +f 521/806/174 533/819/203 532/815/200 +f 518/816/176 530/826/204 529/817/201 +f 515/808/171 527/821/205 526/818/202 +f 522/805/173 534/822/206 533/819/203 +f 519/798/175 531/811/196 530/820/204 +f 516/800/177 528/812/197 527/821/205 +f 523/801/178 535/813/198 534/822/206 +o Magazine +v -0.250000 -0.625000 -3.062500 +v 0.250000 -0.625000 -3.062500 +v -0.250000 -0.250000 -4.437500 +v 0.250000 -0.250000 -4.437500 +v -0.250000 -1.625000 -4.437500 +v -0.250000 -1.250000 -3.062500 +v 0.250000 -1.250000 -3.062500 +v 0.250000 -1.625000 -4.437500 +v -0.250000 -3.625000 -3.937500 +v 0.250000 -3.625000 -3.937500 +v -0.250000 -3.250000 -2.562500 +v 0.250000 -3.250000 -2.562500 +v -0.250000 -0.375000 -3.312500 +v 0.250000 -0.375000 -3.312500 +v -0.250000 -0.375000 -3.562500 +v 0.250000 -0.375000 -3.562500 +v -0.250000 -0.250000 -3.812500 +v 0.250000 -0.250000 -3.812500 +v -0.125000 -0.250000 -4.437500 +v -0.125000 -0.375000 -3.312500 +v -0.125000 -0.375000 -3.562500 +v -0.125000 -0.250000 -3.812500 +v 0.125000 -0.250000 -4.437500 +v 0.125000 -0.375000 -3.312500 +v 0.125000 -0.375000 -3.562500 +v 0.125000 -0.250000 -3.812500 +v -0.125000 -0.562500 -3.125000 +v 0.125000 -0.562500 -3.125000 +v -0.125000 -0.687500 -3.125000 +v 0.125000 -0.687500 -3.125000 +v -0.125000 -0.687500 -4.375000 +v 0.125000 -0.687500 -4.375000 +v -0.125000 -0.437500 -4.437500 +v 0.125000 -0.437500 -4.437500 +v -0.125000 -0.437500 -4.375000 +v 0.125000 -0.437500 -4.375000 +vt 0.878788 0.132530 +vt 0.840909 0.144578 +vt 0.840909 0.132530 +vt 0.893939 0.132530 +vt 0.878788 0.144578 +vt 0.909091 0.132530 +vt 0.893939 0.144578 +vt 0.810606 0.132530 +vt 0.772727 0.144578 +vt 0.772727 0.132530 +vt 0.912879 0.391566 +vt 1.000000 0.192771 +vt 1.000000 0.391566 +vt 0.795455 0.192771 +vt 0.882576 0.391566 +vt 0.795455 0.391566 +vt 0.882576 0.144578 +vt 0.882576 0.192771 +vt 0.757576 0.144578 +vt 0.757576 0.132530 +vt 0.810606 -0.000000 +vt 0.757576 0.120482 +vt 0.840909 -0.000000 +vt 0.924242 0.036145 +vt 0.893939 0.120482 +vt 0.742424 0.144578 +vt 0.742424 0.132530 +vt 0.704545 0.102410 +vt 0.696970 0.120482 +vt 0.696970 0.096386 +vt 0.719697 0.102410 +vt 0.727273 0.096386 +vt 0.727273 0.120482 +vt 0.765152 0.433735 +vt 0.772727 0.457831 +vt 0.765152 0.457831 +vt 0.772727 0.433735 +vt 0.848485 0.457831 +vt 0.833333 0.114458 +vt 0.818182 0.120482 +vt 0.818182 0.114458 +vt 0.863636 0.433735 +vt 0.848485 0.433735 +vt 0.772727 0.469880 +vt 0.848485 0.481928 +vt 0.772727 0.421687 +vt 0.784091 0.403614 +vt 0.799242 0.403614 +vt 0.799242 0.487952 +vt 0.909091 0.144578 +vt 0.810606 0.144578 +vt 0.912879 0.192771 +vt 0.795455 0.144578 +vt 0.742424 0.120482 +vt 0.727273 0.036145 +vt 0.924242 0.096386 +vt 0.909091 0.120482 +vt 0.704545 0.120482 +vt 0.719697 0.120482 +vt 0.833333 0.120482 +vt 0.863636 0.457831 +vt 0.848485 0.409639 +vt 0.814394 0.391566 +vt 0.852273 0.391566 +vt 0.852273 0.409639 +vt 0.852273 0.481928 +vt 0.852273 0.500000 +vt 0.814394 0.500000 +vt 0.784091 0.487952 +vt 0.765152 0.391566 +vt 0.833333 0.132530 +vt 0.696970 0.036145 +vt 0.765152 0.192771 +vt 0.818182 0.132530 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.8944 0.4472 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -0.9648 0.2631 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.1222 -0.9925 +vn 0.0000 -0.2425 -0.9701 +vn 0.0000 0.1222 0.9925 +vn 0.0000 0.2425 0.9701 +s off +f 553/836/208 555/837/208 539/838/208 +f 551/839/209 558/840/209 553/836/209 +f 549/841/208 557/842/208 551/839/208 +f 540/843/208 562/844/208 554/845/208 +f 541/846/210 547/847/210 542/848/210 +f 548/849/211 544/850/211 543/851/211 +f 548/849/212 545/852/212 546/853/212 +f 554/845/209 561/854/209 552/855/209 +f 544/856/211 554/845/211 552/857/211 +f 541/858/210 542/859/210 551/860/210 +f 552/855/208 560/861/208 550/862/208 +f 563/863/213 549/864/213 537/865/213 +f 564/866/213 537/865/213 538/867/213 +f 550/868/213 564/866/213 538/867/213 +f 564/869/214 565/870/214 563/871/214 +f 566/872/208 567/873/208 565/870/208 +f 569/874/208 572/875/208 570/876/208 +f 572/877/215 567/873/215 568/878/215 +f 563/879/211 567/873/211 571/880/211 +f 564/881/210 568/878/210 566/872/210 +f 564/881/210 560/882/210 561/883/210 +f 557/884/211 563/879/211 571/880/211 +f 553/836/208 558/840/208 555/837/208 +f 551/839/209 557/842/209 558/840/209 +f 549/841/208 556/885/208 557/842/208 +f 540/843/208 559/886/208 562/844/208 +f 541/846/210 545/887/210 547/847/210 +f 548/849/211 546/853/211 544/850/211 +f 548/849/212 547/888/212 545/852/212 +f 554/845/209 562/844/209 561/854/209 +f 552/857/211 550/889/211 538/867/211 +f 538/867/211 543/890/211 552/857/211 +f 543/890/211 544/856/211 552/857/211 +f 544/856/211 540/843/211 554/845/211 +f 542/859/210 537/891/210 551/860/210 +f 537/891/210 549/892/210 551/860/210 +f 551/860/210 553/836/210 541/858/210 +f 553/836/210 539/838/210 541/858/210 +f 552/855/208 561/854/208 560/861/208 +f 563/863/213 556/893/213 549/864/213 +f 564/866/213 563/863/213 537/865/213 +f 550/868/213 560/894/213 564/866/213 +f 564/869/214 566/872/214 565/870/214 +f 566/872/208 568/878/208 567/873/208 +f 569/874/208 571/895/208 572/875/208 +f 572/877/215 571/896/215 567/873/215 +f 563/879/211 565/870/211 567/873/211 +f 564/881/210 572/897/210 568/878/210 +f 561/883/210 562/898/210 572/897/210 +f 562/898/210 559/899/210 572/897/210 +f 559/899/210 570/900/210 572/897/210 +f 572/897/210 564/881/210 561/883/210 +f 569/901/211 555/902/211 571/880/211 +f 555/902/211 558/903/211 571/880/211 +f 557/884/211 556/904/211 563/879/211 +f 558/903/211 557/884/211 571/880/211 +s 1 +f 544/850/216 545/887/217 541/846/216 +f 537/865/215 543/890/218 538/867/215 +f 542/905/218 548/849/219 543/851/218 +f 570/876/214 540/843/214 544/856/216 +f 541/858/216 570/876/214 544/856/216 +f 569/874/214 539/838/214 555/906/214 +f 544/850/216 546/853/217 545/887/217 +f 537/865/215 542/907/218 543/890/218 +f 542/905/218 547/908/219 548/849/219 +f 570/876/214 559/909/214 540/843/214 +f 541/858/216 569/874/214 570/876/214 +f 569/874/214 541/858/216 539/838/214 +o Gun +v -0.125000 0.437500 -7.500000 +v 0.125000 0.437500 -7.500000 +v -0.500000 -0.187500 -7.750000 +v 0.500000 -0.187500 -7.750000 +v -0.500000 -0.437500 -1.500000 +v 0.500000 -0.437500 -1.500000 +v -0.250000 -0.687500 -1.500000 +v 0.250000 -0.687500 -1.500000 +v -0.250000 -0.687500 2.750000 +v 0.250000 -0.687500 2.750000 +v -0.500000 -0.437500 2.750000 +v 0.500000 -0.437500 2.750000 +v -0.500000 -0.187500 2.750000 +v 0.500000 -0.187500 2.750000 +v -0.125000 0.312500 2.750000 +v 0.125000 0.312500 2.750000 +v -0.500000 -0.187500 -0.250000 +v 0.500000 -0.187500 -0.250000 +v -0.125000 0.312500 -0.250000 +v 0.125000 0.312500 -0.250000 +v -0.125000 0.437500 -0.250000 +v 0.125000 0.437500 -0.250000 +v 0.000000 1.687500 1.500000 +v -0.125000 1.654006 1.500000 +v -0.216506 1.562500 1.500000 +v -0.250000 1.437500 1.500000 +v -0.216506 1.312500 1.500000 +v -0.125000 1.220994 1.500000 +v 0.000000 1.187500 1.500000 +v 0.125000 1.220994 1.500000 +v 0.216506 1.312500 1.500000 +v 0.250000 1.437500 1.500000 +v 0.216506 1.562500 1.500000 +v 0.125000 1.654006 1.500000 +v 0.000000 1.687500 -0.750000 +v -0.125000 1.654006 -0.750000 +v -0.216506 1.562500 -0.750000 +v -0.250000 1.437500 -0.750000 +v -0.216506 1.312500 -0.750000 +v -0.125000 1.220994 -0.750000 +v 0.000000 1.187500 -0.750000 +v 0.125000 1.220994 -0.750000 +v 0.216506 1.312500 -0.750000 +v 0.250000 1.437500 -0.750000 +v 0.216506 1.562500 -0.750000 +v 0.125000 1.654006 -0.750000 +v 0.000000 1.750000 -1.250000 +v -0.156250 1.708133 -1.250000 +v -0.270633 1.593750 -1.250000 +v -0.312500 1.437500 -1.250000 +v -0.270633 1.281250 -1.250000 +v -0.156250 1.166867 -1.250000 +v 0.000000 1.125000 -1.250000 +v 0.156250 1.166867 -1.250000 +v 0.270633 1.281250 -1.250000 +v 0.312500 1.437500 -1.250000 +v 0.270633 1.593750 -1.250000 +v 0.156250 1.708133 -1.250000 +v 0.000000 1.750000 -2.750000 +v -0.156250 1.708133 -2.750000 +v -0.270633 1.593750 -2.750000 +v -0.312500 1.437500 -2.750000 +v -0.270633 1.281250 -2.750000 +v -0.156250 1.166867 -2.750000 +v 0.000000 1.125000 -2.750000 +v 0.156250 1.166867 -2.750000 +v 0.270633 1.281250 -2.750000 +v 0.312500 1.437500 -2.750000 +v 0.270633 1.593750 -2.750000 +v 0.156250 1.708133 -2.750000 +v 0.000000 1.687500 -2.750000 +v -0.125000 1.654006 -2.750000 +v -0.216506 1.562500 -2.750000 +v -0.250000 1.437500 -2.750000 +v -0.216506 1.312500 -2.750000 +v -0.125000 1.220994 -2.750000 +v 0.000000 1.187500 -2.750000 +v 0.125000 1.220994 -2.750000 +v 0.216506 1.312500 -2.750000 +v 0.250000 1.437500 -2.750000 +v 0.216506 1.562500 -2.750000 +v 0.125000 1.654006 -2.750000 +v 0.000000 1.625000 1.500000 +v -0.093750 1.599880 1.500000 +v -0.162380 1.531250 1.500000 +v -0.187500 1.437500 1.500000 +v -0.162380 1.343750 1.500000 +v -0.093750 1.275120 1.500000 +v 0.000000 1.250000 1.500000 +v 0.093750 1.275120 1.500000 +v 0.162380 1.343750 1.500000 +v 0.187500 1.437500 1.500000 +v 0.162380 1.531250 1.500000 +v 0.093750 1.599880 1.500000 +v 0.500000 -0.437500 -7.750000 +v -0.500000 -0.437500 -7.750000 +v 0.125000 -2.812500 -7.250000 +v -0.125000 -2.812500 -7.250000 +v -0.125000 -0.562500 -8.000000 +v 0.125000 -0.562500 -8.000000 +v 0.125000 0.062500 -8.000000 +v -0.125000 0.062500 -8.000000 +v 0.125000 -2.812500 -5.750000 +v -0.125000 -2.812500 -5.750000 +v 0.125000 -2.562500 -5.500000 +v -0.125000 -2.562500 -5.500000 +v 0.125000 -2.312500 -5.750000 +v -0.125000 -2.312500 -5.750000 +v -0.250000 -1.312500 -4.500000 +v 0.250000 -1.312500 -4.500000 +v -0.375000 -1.437500 -4.500000 +v 0.375000 -1.437500 -4.500000 +v -0.375000 -1.062500 -3.000000 +v 0.375000 -1.062500 -3.000000 +v -0.125000 0.312500 2.750000 +v 0.125000 0.312500 2.750000 +v -0.125000 0.312500 2.625000 +v 0.125000 0.312500 2.625000 +v -0.125000 0.687500 2.000000 +v 0.125000 0.687500 2.000000 +v -0.125000 0.687500 1.875000 +v 0.125000 0.687500 1.875000 +v -0.125000 1.250000 1.500000 +v 0.125000 1.250000 1.500000 +v -0.125000 1.250000 1.375000 +v 0.125000 1.250000 1.375000 +v -0.062500 0.312500 2.625000 +v 0.062500 0.312500 2.625000 +v -0.062500 0.687500 1.875000 +v 0.062500 0.687500 1.875000 +v -0.062500 1.250000 1.375000 +v 0.062500 1.250000 1.375000 +v -0.062500 0.437500 2.125000 +v 0.062500 0.437500 2.125000 +v -0.062500 0.687500 1.625000 +v 0.062500 0.687500 1.625000 +v -0.062500 1.250000 1.125000 +v 0.062500 1.250000 1.125000 +v -0.187500 1.437500 -0.750000 +v -0.162380 1.531250 -0.750000 +v -0.093750 1.599880 -0.750000 +v 0.000000 1.625000 -0.750000 +v -0.162380 1.343750 -0.750000 +v -0.093750 1.275120 -0.750000 +v 0.000000 1.250000 -0.750000 +v 0.093750 1.275120 -0.750000 +v 0.162380 1.343750 -0.750000 +v 0.187500 1.437500 -0.750000 +v 0.162380 1.531250 -0.750000 +v 0.093750 1.599880 -0.750000 +v 0.000000 1.687500 -1.250000 +v -0.125000 1.654006 -1.250000 +v -0.216506 1.562500 -1.250000 +v -0.250000 1.437500 -1.250000 +v -0.216506 1.312500 -1.250000 +v -0.125000 1.220994 -1.250000 +v 0.000000 1.187500 -1.250000 +v 0.125000 1.220994 -1.250000 +v 0.216506 1.312500 -1.250000 +v 0.250000 1.437500 -1.250000 +v 0.216506 1.562500 -1.250000 +v 0.125000 1.654006 -1.250000 +v -0.125000 0.312500 -0.125000 +v 0.125000 0.312500 -0.125000 +v -0.125000 0.312500 -0.250000 +v 0.125000 0.312500 -0.250000 +v 0.125000 0.562500 -0.125000 +v -0.125000 0.562500 -0.125000 +v -0.125000 0.562500 -0.250000 +v 0.125000 0.562500 -0.250000 +v 0.125000 0.812500 -0.375000 +v -0.125000 0.812500 -0.375000 +v -0.125000 0.812500 -0.500000 +v 0.125000 0.812500 -0.500000 +v 0.125000 1.187500 -1.250000 +v -0.125000 1.187500 -1.250000 +v -0.125000 1.187500 -1.375000 +v 0.125000 1.187500 -1.375000 +v -0.062500 0.312500 -0.125000 +v 0.062500 0.312500 -0.125000 +v -0.062500 0.312500 0.125000 +v 0.062500 0.312500 0.125000 +v -0.062500 0.562500 -0.125000 +v 0.062500 0.562500 -0.125000 +v -0.062500 0.562500 0.125000 +v 0.062500 0.562500 0.125000 +v -0.062500 0.812500 -0.375000 +v 0.062500 0.812500 -0.375000 +v -0.062500 0.812500 0.000000 +v 0.062500 0.812500 0.000000 +v -0.062500 1.187500 -1.250000 +v 0.062500 1.187500 -1.250000 +v -0.062500 1.250000 -0.500000 +v 0.062500 1.250000 -0.500000 +v 0.375000 -0.562500 -4.500000 +v -0.375000 -0.562500 -4.500000 +v 0.375000 -0.562500 -3.000000 +v -0.375000 -0.562500 -3.000000 +v -0.250000 -0.687500 1.750000 +v 0.250000 -0.687500 1.750000 +v -0.250000 -0.687500 0.750000 +v 0.250000 -0.687500 0.750000 +v -0.250000 -0.937500 1.250000 +v 0.250000 -0.937500 1.250000 +v -0.250000 -0.937500 0.875000 +v 0.250000 -0.937500 0.875000 +v -0.250000 -2.187500 0.000000 +v 0.250000 -2.187500 0.000000 +v -0.250000 -2.187500 0.375000 +v 0.250000 -2.187500 0.375000 +v -0.250000 -2.562500 -0.500000 +v 0.250000 -2.562500 -0.500000 +v -0.250000 -2.562500 -0.875000 +v 0.250000 -2.562500 -0.875000 +v -0.250000 -2.312500 -1.125000 +v 0.250000 -2.312500 -1.125000 +v -0.250000 -1.312500 -0.625000 +v 0.250000 -1.312500 -0.625000 +v -0.250000 -1.312500 -0.375000 +v 0.250000 -1.312500 -0.375000 +v -0.250000 -1.000000 -0.500000 +v 0.250000 -1.000000 -0.500000 +v -0.250000 -0.687500 -0.375000 +v 0.250000 -0.687500 -0.375000 +v -0.250000 -2.812500 -0.250000 +v 0.250000 -2.812500 -0.250000 +v -0.250000 -2.812500 -1.750000 +v 0.250000 -2.812500 -1.750000 +v -0.250000 -2.062500 -1.750000 +v 0.250000 -2.062500 -1.750000 +v -0.250000 -0.937500 -1.250000 +v 0.250000 -0.937500 -1.250000 +v -0.250000 -0.687500 -1.500000 +v 0.250000 -0.687500 -1.500000 +v 0.375000 -0.812500 -0.625000 +v 0.375000 -0.562500 -0.625000 +v 0.375000 -0.812500 -0.875000 +v 0.375000 -0.562500 -0.875000 +v 0.250000 -0.937500 -0.625000 +v 0.250000 -0.937500 -0.875000 +v 0.250000 -0.812500 -0.500000 +v 0.250000 -0.562500 -0.500000 +v 0.250000 -0.812500 -1.000000 +v 0.250000 -0.562500 -1.000000 +v -0.250000 -0.937500 -0.625000 +v -0.250000 -0.937500 -0.875000 +v -0.250000 -0.812500 -0.500000 +v -0.250000 -0.562500 -0.500000 +v -0.250000 -0.812500 -1.000000 +v -0.250000 -0.562500 -1.000000 +v -0.375000 -0.812500 -0.625000 +v -0.375000 -0.562500 -0.625000 +v -0.375000 -0.812500 -0.875000 +v -0.375000 -0.562500 -0.875000 +v -0.125000 -1.187500 -0.125000 +v 0.125000 -1.187500 -0.125000 +v -0.125000 -0.937500 -0.187500 +v 0.125000 -0.937500 -0.187500 +v -0.125000 -0.687500 -0.125000 +v 0.125000 -0.687500 -0.125000 +v -0.125000 -1.187500 -0.500000 +v 0.125000 -1.187500 -0.500000 +v -0.125000 -0.937500 -0.500000 +v 0.125000 -0.937500 -0.500000 +v -0.125000 -0.687500 -0.375000 +v 0.125000 -0.687500 -0.375000 +v 0.250000 -0.953125 -3.062500 +v -0.250000 -0.953125 -3.062500 +v -0.250000 -1.421875 -4.437500 +v -0.250000 -1.078125 -3.062500 +v 0.250000 -1.296875 -4.437500 +v -0.250000 -1.296875 -4.437500 +v 0.250000 -1.421875 -4.437500 +v 0.250000 -1.078125 -3.062500 +v -0.281250 -0.031250 -3.250000 +v -0.093750 0.281250 -3.250000 +v -0.093750 0.281250 -4.750000 +v -0.281250 -0.031250 -4.750000 +v -0.406250 -0.031250 -4.750000 +v -0.218750 0.281250 -4.750000 +v -0.218750 0.281250 -3.250000 +v -0.406250 -0.031250 -3.250000 +v -0.125000 -1.375000 -4.500000 +v 0.125000 -1.375000 -4.500000 +v -0.125000 -1.750000 -4.875000 +v 0.125000 -1.750000 -4.875000 +v -0.125000 -1.312500 -4.500000 +v 0.125000 -1.312500 -4.500000 +v -0.125000 -1.687500 -5.000000 +v 0.125000 -1.687500 -5.000000 +v 0.000000 1.687500 -2.250000 +v -0.125000 1.654006 -2.250000 +v -0.216506 1.562500 -2.250000 +v -0.250000 1.437500 -2.250000 +v -0.216506 1.312500 -2.250000 +v -0.125000 1.220994 -2.250000 +v 0.000000 1.187500 -2.250000 +v 0.125000 1.220994 -2.250000 +v 0.216506 1.312500 -2.250000 +v 0.250000 1.437500 -2.250000 +v 0.216506 1.562500 -2.250000 +v 0.125000 1.654006 -2.250000 +v -0.062500 0.312500 2.000000 +v 0.062500 0.312500 2.000000 +v 0.437500 -1.031250 -6.625000 +v 0.437500 -0.781250 -6.625000 +v -0.562500 -0.812500 -7.187500 +v 0.562500 -0.812500 -7.187500 +v -0.562500 -0.856694 -7.169194 +v 0.562500 -0.856694 -7.169194 +v -0.562500 -0.875000 -7.125000 +v 0.562500 -0.875000 -7.125000 +v -0.562500 -0.856694 -7.080806 +v 0.562500 -0.856694 -7.080806 +v -0.562500 -0.812500 -7.062500 +v 0.562500 -0.812500 -7.062500 +v -0.562500 -0.768306 -7.080806 +v 0.562500 -0.768306 -7.080806 +v -0.562500 -0.750000 -7.125000 +v 0.562500 -0.750000 -7.125000 +v -0.562500 -0.768306 -7.169194 +v 0.562500 -0.768306 -7.169194 +v 0.437500 -0.781250 -7.625000 +v 0.437500 -1.031250 -7.625000 +v 0.437500 -0.968750 -7.562500 +v 0.437500 -0.843750 -7.562500 +v 0.437500 -0.968750 -6.687500 +v 0.437500 -0.843750 -6.687500 +v 0.500000 -0.968750 -7.562500 +v 0.500000 -0.843750 -7.562500 +v 0.500000 -0.968750 -6.687500 +v 0.500000 -0.843750 -6.687500 +v 0.500000 -1.031250 -7.625000 +v 0.500000 -0.781250 -7.625000 +v 0.500000 -1.031250 -6.625000 +v 0.500000 -0.781250 -6.625000 +v 0.417387 0.411639 2.581886 +v 0.292387 0.320139 2.778107 +v -0.573638 0.531448 2.324953 +v -0.448637 0.622948 2.128732 +v -0.425761 0.586866 2.206109 +v -0.488261 0.541116 2.304220 +v 0.332011 0.401971 2.602619 +v 0.269511 0.356221 2.700729 +v -0.425761 0.643510 2.232523 +v -0.488261 0.597761 2.330633 +v 0.332011 0.458615 2.629033 +v 0.269511 0.412865 2.727143 +v -0.448637 0.679592 2.155145 +v -0.573638 0.588092 2.351367 +v 0.417387 0.468283 2.608299 +v 0.292387 0.376783 2.804521 +v -0.250000 -0.687500 -0.250000 +v 0.250000 -0.687500 -0.250000 +v -0.500000 -0.437500 -0.250000 +v 0.500000 -0.437500 -0.250000 +v -0.125000 1.687500 -2.615000 +v 0.125000 1.687500 -2.615000 +v 0.062500 1.875000 -2.615000 +v 0.062500 1.812500 -2.615000 +v -0.062500 1.812500 -2.615000 +v -0.062500 1.875000 -2.615000 +v -0.125000 1.875000 -2.615000 +v 0.125000 1.875000 -2.615000 +v 0.250000 1.625000 -2.615000 +v 0.250000 1.562500 -2.615000 +v -0.187500 1.625000 -2.615000 +v 0.125000 1.687500 -2.740000 +v -0.125000 1.687500 -2.740000 +v -0.187500 1.625000 -2.740000 +v 0.250000 1.562500 -2.740000 +v 0.250000 1.625000 -2.740000 +v 0.125000 1.875000 -2.740000 +v -0.125000 1.875000 -2.740000 +v -0.062500 1.875000 -2.740000 +v -0.062500 1.812500 -2.740000 +v 0.062500 1.812500 -2.740000 +v 0.062500 1.875000 -2.740000 +v -0.062500 1.875000 1.490000 +v 0.062500 1.875000 1.490000 +v 0.062500 1.750000 1.490000 +v -0.062500 1.750000 1.490000 +v 0.125000 1.687500 1.490000 +v 0.125000 1.625000 1.490000 +v -0.125000 1.687500 1.490000 +v -0.125000 1.625000 1.490000 +v -0.125000 1.625000 1.365000 +v -0.125000 1.687500 1.365000 +v 0.125000 1.625000 1.365000 +v 0.125000 1.687500 1.365000 +v -0.062500 1.750000 1.365000 +v 0.062500 1.750000 1.365000 +v 0.062500 1.875000 1.365000 +v -0.062500 1.875000 1.365000 +v -0.250000 1.625000 -2.615000 +v -0.250000 1.625000 -2.740000 +v -0.250000 1.562500 -2.615000 +v -0.250000 1.562500 -2.740000 +v -0.000000 1.125000 0.250000 +v 0.088388 1.125000 0.286612 +v 0.125000 1.125000 0.375000 +v 0.088388 1.125000 0.463388 +v -0.000000 1.125000 0.500000 +v -0.088388 1.125000 0.463388 +v -0.125000 1.125000 0.375000 +v -0.088388 1.125000 0.286612 +v 0.088388 1.250000 0.286612 +v -0.000000 1.250000 0.250000 +v 0.125000 1.250000 0.375000 +v 0.088388 1.250000 0.463388 +v -0.000000 1.250000 0.500000 +v -0.088388 1.250000 0.463388 +v -0.125000 1.250000 0.375000 +v -0.088388 1.250000 0.286612 +v -0.312500 1.437500 0.250000 +v -0.312500 1.349112 0.286612 +v -0.312500 1.312500 0.375000 +v -0.312500 1.349112 0.463388 +v -0.312500 1.437500 0.500000 +v -0.312500 1.525888 0.463388 +v -0.312500 1.562500 0.375000 +v -0.312500 1.525888 0.286612 +v -0.187500 1.349112 0.286612 +v -0.187500 1.437500 0.250000 +v -0.187500 1.312500 0.375000 +v -0.187500 1.349112 0.463388 +v -0.187500 1.437500 0.500000 +v -0.187500 1.525888 0.463388 +v -0.187500 1.562500 0.375000 +v -0.187500 1.525888 0.286612 +v 0.220971 1.658471 0.250000 +v 0.158471 1.720971 0.286612 +v 0.132583 1.746859 0.375000 +v 0.158471 1.720971 0.463388 +v 0.220971 1.658471 0.500000 +v 0.283471 1.595971 0.463388 +v 0.309359 1.570082 0.375000 +v 0.283471 1.595971 0.286612 +v 0.070083 1.632582 0.286612 +v 0.132583 1.570082 0.250000 +v 0.044194 1.658471 0.375000 +v 0.070083 1.632582 0.463388 +v 0.132583 1.570082 0.500000 +v 0.195083 1.507582 0.463388 +v 0.220971 1.481694 0.375000 +v 0.195083 1.507582 0.286612 +vt 0.060606 0.240964 +vt 0.242424 0.289157 +vt 0.060606 0.289157 +vt 0.060606 0.530120 +vt 0.242424 0.506024 +vt 0.242424 0.530120 +vt 0.250000 0.433735 +vt 0.522727 0.448795 +vt 0.704545 0.433735 +vt 0.060606 0.481928 +vt 0.060606 0.506024 +vt 0.242424 0.337349 +vt 0.060606 0.313253 +vt 0.242424 0.313253 +vt 0.000000 0.337349 +vt 0.000000 0.313253 +vt 0.689394 0.493976 +vt 0.250000 0.433735 +vt 0.704545 0.433735 +vt 0.045455 0.289157 +vt 0.060606 0.337349 +vt 0.022727 0.385542 +vt 0.242424 0.397590 +vt 0.060606 0.397590 +vt 0.060606 0.421687 +vt 0.242424 0.481928 +vt 0.242424 0.421687 +vt 0.250000 0.493976 +vt 0.242424 0.518072 +vt 0.242424 0.493976 +vt 0.242424 0.493976 +vt 0.250000 0.493976 +vt 0.250000 0.518072 +vt 0.689394 0.518072 +vt 0.643939 0.566265 +vt 0.640152 0.578313 +vt 0.640152 0.566265 +vt 0.643939 0.590361 +vt 0.640152 0.590361 +vt 0.640152 0.602410 +vt 0.643939 0.602410 +vt 0.640152 0.614458 +vt 0.643939 0.614458 +vt 0.640152 0.626506 +vt 0.643939 0.638554 +vt 0.640152 0.638554 +vt 0.643939 0.650602 +vt 0.640152 0.650602 +vt 0.640152 0.662651 +vt 0.643939 0.518072 +vt 0.640152 0.530120 +vt 0.640152 0.518072 +vt 0.643939 0.530120 +vt 0.640152 0.542169 +vt 0.643939 0.542169 +vt 0.640152 0.554217 +vt 0.382576 0.578313 +vt 0.378788 0.566265 +vt 0.382576 0.566265 +vt 0.378788 0.554217 +vt 0.382576 0.554217 +vt 0.382576 0.542169 +vt 0.378788 0.542169 +vt 0.382576 0.530120 +vt 0.378788 0.530120 +vt 0.378788 0.518072 +vt 0.382576 0.518072 +vt 0.382576 0.662651 +vt 0.378788 0.650602 +vt 0.382576 0.650602 +vt 0.378788 0.638554 +vt 0.382576 0.638554 +vt 0.378788 0.626506 +vt 0.382576 0.626506 +vt 0.382576 0.614458 +vt 0.378788 0.614458 +vt 0.382576 0.602410 +vt 0.378788 0.602410 +vt 0.378788 0.590361 +vt 0.382576 0.590361 +vt 0.378788 0.578313 +vt 0.136364 0.530120 +vt 0.143939 0.668675 +vt 0.136364 0.674699 +vt 0.712121 0.662651 +vt 0.704545 0.698795 +vt 0.704545 0.662651 +vt 0.681818 0.662651 +vt 0.689394 0.698795 +vt 0.681818 0.698795 +vt 0.689394 0.753012 +vt 0.681818 0.753012 +vt 0.712121 0.698795 +vt 0.704545 0.753012 +vt 0.715909 0.753012 +vt 0.731061 0.698795 +vt 0.731061 0.753012 +vt 0.715909 0.698795 +vt 0.731061 0.674699 +vt 0.689394 0.753012 +vt 0.681818 0.777108 +vt 0.681818 0.753012 +vt 0.678030 0.753012 +vt 0.662879 0.698795 +vt 0.678030 0.698795 +vt 0.662879 0.674699 +vt 0.678030 0.662651 +vt 0.712121 0.753012 +vt 0.704545 0.777108 +vt 0.704545 0.753012 +vt 0.678030 0.777108 +vt 0.662879 0.753012 +vt 0.678030 0.753012 +vt 0.689394 0.777108 +vt 0.681818 0.801205 +vt 0.712121 0.801205 +vt 0.704545 0.801205 +vt 0.731061 0.777108 +vt 0.715909 0.753012 +vt 0.731061 0.753012 +vt 0.712121 0.843373 +vt 0.704545 0.843373 +vt 0.689394 0.801205 +vt 0.681818 0.843373 +vt 0.655303 0.801205 +vt 0.662879 0.777108 +vt 0.738636 0.801205 +vt 0.715909 0.777108 +vt 0.678030 0.801205 +vt 0.632576 0.849398 +vt 0.761364 0.849398 +vt 0.715909 0.801205 +vt 0.325758 0.385542 +vt 0.704545 0.409639 +vt 0.325758 0.409639 +vt 0.704545 0.409639 +vt 0.325758 0.385542 +vt 0.325758 0.409639 +vt 0.136364 0.759036 +vt 0.045455 0.710843 +vt 0.045455 0.759036 +vt -0.000000 0.710843 +vt 0.272727 0.710843 +vt 0.181818 0.759036 +vt 0.181818 0.674699 +vt 0.359848 0.915663 +vt 0.329545 0.891566 +vt 0.299242 0.915663 +vt 0.359848 0.915663 +vt 0.329545 0.891566 +vt 0.352273 0.891566 +vt 0.352273 0.891566 +vt 0.382576 0.771084 +vt 0.382576 0.771084 +vt 0.405303 0.771084 +vt 0.420455 0.710843 +vt 0.420455 0.710843 +vt 0.405303 0.771084 +vt 0.458333 0.734940 +vt 0.511364 0.710843 +vt 0.511364 0.710843 +vt 0.458333 0.734940 +vt 0.428030 0.855422 +vt 0.435606 0.885542 +vt 0.443182 0.855422 +vt 0.428030 0.855422 +vt 0.443182 0.855422 +vt 0.435606 0.885542 +vt 0.428030 0.915663 +vt 0.481061 0.891566 +vt 0.481061 0.891566 +vt 0.428030 0.915663 +vt 0.511364 0.783133 +vt 0.473485 0.759036 +vt 0.295455 0.777108 +vt 0.272727 0.746988 +vt 0.295455 0.746988 +vt 0.280303 0.807229 +vt 0.276515 0.777108 +vt 0.310606 0.777108 +vt 0.333333 0.746988 +vt 0.329545 0.777108 +vt 0.325758 0.807229 +vt 0.310606 0.807229 +vt 0.310606 0.710843 +vt 0.310606 0.746988 +vt 0.174242 0.536145 +vt 0.166667 0.668675 +vt 0.166667 0.536145 +vt 0.143939 0.548193 +vt 0.143939 0.536145 +vt 0.174242 0.656627 +vt 0.174242 0.668675 +vt 0.151515 0.668675 +vt 0.181818 0.530120 +vt 0.295455 0.186747 +vt 0.287879 0.156627 +vt 0.295455 0.156627 +vt 0.196970 0.156627 +vt 0.287879 0.186747 +vt 0.196970 0.186747 +vt 0.196970 0.198795 +vt 0.287879 0.198795 +vt 0.287879 0.144578 +vt 0.196970 0.144578 +vt 0.431818 0.448795 +vt 0.189394 0.186747 +vt 0.689394 0.493976 +vt 0.431818 0.478916 +vt 0.522727 0.478916 +vt 0.170455 0.156627 +vt 0.140152 0.180723 +vt 0.140152 0.156627 +vt 0.178030 0.156627 +vt 0.170455 0.180723 +vt 0.174242 0.144578 +vt 0.136364 0.150602 +vt 0.174242 0.192771 +vt 0.830355 0.927716 +vt 0.909091 0.710833 +vt 0.987826 0.927716 +vt 0.640152 0.662651 +vt 0.715909 0.662651 +vt 0.753788 0.662651 +vt 0.071968 0.951608 +vt 0.068305 0.945782 +vt 0.071968 0.939956 +vt 0.087121 0.909639 +vt 0.075758 0.915663 +vt 0.079545 0.909639 +vt 0.071969 0.939389 +vt 0.069456 0.937733 +vt 0.074483 0.929738 +vt 0.075758 0.921687 +vt 0.087121 0.927711 +vt 0.079545 0.927711 +vt 0.090909 0.921687 +vt 0.147727 0.927711 +vt 0.094697 0.927711 +vt -0.000000 0.921687 +vt 0.011364 0.927711 +vt 0.003788 0.927711 +vt 0.015152 0.921687 +vt 0.071970 0.927711 +vt 0.018939 0.927711 +vt 0.147727 0.909639 +vt 0.090909 0.915663 +vt 0.094697 0.909639 +vt 0.011364 0.909639 +vt -0.000000 0.915663 +vt 0.003788 0.909639 +vt 0.071970 0.909639 +vt 0.015152 0.915663 +vt 0.018939 0.909639 +vt 0.071970 0.903614 +vt 0.018939 0.903614 +vt 0.011364 0.903614 +vt 0.003788 0.903614 +vt 0.147727 0.903614 +vt 0.094697 0.903614 +vt 0.087121 0.903614 +vt 0.079545 0.903614 +vt 0.151515 0.915663 +vt 0.151515 0.921687 +vt 0.011364 0.909639 +vt -0.000000 0.915663 +vt 0.003788 0.909639 +vt -0.000000 0.921687 +vt 0.011364 0.927711 +vt 0.003788 0.927711 +vt 0.018939 0.927711 +vt 0.075758 0.921687 +vt 0.071970 0.927711 +vt 0.087121 0.927711 +vt 0.079545 0.927711 +vt 0.090909 0.921687 +vt 0.147727 0.927711 +vt 0.094697 0.927711 +vt 0.018939 0.909639 +vt 0.075758 0.915663 +vt 0.015152 0.915663 +vt 0.079545 0.909639 +vt 0.090909 0.915663 +vt 0.147727 0.909639 +vt 0.094697 0.909639 +vt 0.147727 0.903614 +vt 0.094697 0.903614 +vt 0.087121 0.903614 +vt 0.079545 0.903614 +vt 0.015152 0.921687 +vt 0.018939 0.903614 +vt 0.071970 0.909639 +vt 0.011364 0.903614 +vt 0.003788 0.903614 +vt 0.151515 0.921687 +vt 0.151515 0.915663 +vt 0.250000 0.409639 +vt 0.250000 0.385542 +vt 0.250000 0.409639 +vt 0.776515 0.885542 +vt 0.784091 0.891566 +vt 0.776515 0.891566 +vt 0.776515 0.879518 +vt 0.784091 0.885542 +vt 0.746212 0.891566 +vt 0.738636 0.885542 +vt 0.746212 0.885542 +vt 0.738636 0.879518 +vt 0.746212 0.879518 +vt 0.746212 0.903614 +vt 0.738636 0.891566 +vt 0.746212 0.855422 +vt 0.738636 0.849398 +vt 0.746212 0.849398 +vt 0.738636 0.855422 +vt 0.791667 0.777108 +vt 0.784091 0.765060 +vt 0.791667 0.765060 +vt 0.806818 0.759036 +vt 0.814394 0.765060 +vt 0.806818 0.765060 +vt 0.814394 0.777108 +vt 0.806818 0.777108 +vt 0.784091 0.789157 +vt 0.791667 0.789157 +vt 0.806818 0.753012 +vt 0.814394 0.759036 +vt 0.784091 0.759036 +vt 0.791667 0.759036 +vt 0.803030 0.765060 +vt 0.795455 0.765060 +vt 0.784091 0.753012 +vt 0.791667 0.753012 +vt 0.780303 0.765060 +vt 0.772727 0.765060 +vt 0.784091 0.855422 +vt 0.784091 0.879518 +vt 0.776515 0.855422 +vt 0.784091 0.849398 +vt 0.715909 0.861446 +vt 0.731061 0.861446 +vt 0.719697 0.873494 +vt 0.765152 0.873494 +vt 0.757576 0.873494 +vt 0.753788 0.861446 +vt 0.776515 0.789274 +vt 0.784017 0.801205 +vt 0.776515 0.813136 +vt 0.771210 0.792768 +vt 0.776515 0.789274 +vt 0.776515 0.813136 +vt 0.769013 0.801205 +vt 0.771210 0.792768 +vt 0.776515 0.789274 +vt 0.242424 0.240964 +vt 0.015152 0.289157 +vt 0.037879 0.385542 +vt 0.643939 0.578313 +vt 0.643939 0.626506 +vt 0.643939 0.662651 +vt 0.643939 0.554217 +vt 0.378788 0.662651 +vt 0.689394 0.662651 +vt 0.712121 0.753012 +vt 0.662879 0.753012 +vt 0.712121 0.777108 +vt 0.689394 0.843373 +vt 0.678030 0.843373 +vt 0.715909 0.843373 +vt -0.000000 0.759036 +vt 0.272727 0.759036 +vt 0.299242 0.915663 +vt 0.435606 0.734940 +vt 0.435606 0.734940 +vt 0.473485 0.759036 +vt 0.496212 0.915663 +vt 0.496212 0.915663 +vt 0.511364 0.783133 +vt 0.295455 0.807229 +vt 0.295455 0.710843 +vt 0.174242 0.548193 +vt 0.143939 0.656627 +vt 0.151515 0.536145 +vt 0.189394 0.156627 +vt 0.178030 0.180723 +vt 0.136364 0.186747 +vt 0.954549 0.980639 +vt 0.909091 1.000011 +vt 0.863633 0.980639 +vt 0.818175 0.855421 +vt 0.830355 0.783127 +vt 0.863633 0.730204 +vt 0.954549 0.730204 +vt 0.987826 0.783127 +vt 1.000007 0.855422 +vt 0.074559 0.941663 +vt 0.075631 0.945782 +vt 0.074559 0.949902 +vt 0.069378 0.949902 +vt 0.069378 0.941663 +vt 0.068414 0.933736 +vt 0.069456 0.929738 +vt 0.071969 0.928082 +vt 0.075524 0.933736 +vt 0.074483 0.937733 +vt 0.087121 0.909639 +vt 0.071970 0.903614 +vt 0.250000 0.385542 +vt 0.738636 0.903614 +vt 0.784091 0.777108 +vt 0.814394 0.753012 +vt 0.803030 0.777108 +vt 0.795455 0.777108 +vt 0.780303 0.777108 +vt 0.772727 0.777108 +vt 0.768939 0.759036 +vt 0.768939 0.753012 +vt 0.776515 0.849398 +vt 0.708333 0.849398 +vt 0.712121 0.855422 +vt 0.708333 0.855422 +vt 0.731061 0.879518 +vt 0.715909 0.879518 +vt 0.727273 0.873494 +vt 0.727273 0.879518 +vt 0.719697 0.879518 +vt 0.768939 0.861446 +vt 0.772727 0.855422 +vt 0.768939 0.879518 +vt 0.765152 0.879518 +vt 0.757576 0.879518 +vt 0.753788 0.879518 +vt 0.781820 0.792768 +vt 0.781820 0.809641 +vt 0.771210 0.809641 +vt 0.769013 0.801205 +vt 0.771210 0.792768 +vt 0.781820 0.792768 +vt 0.784017 0.801205 +vt 0.781820 0.809641 +vt 0.771210 0.809641 +vt 0.769013 0.801205 +vt 0.781820 0.792768 +vt 0.784017 0.801205 +vt 0.781820 0.809641 +vt 0.776515 0.813136 +vt 0.771210 0.809641 +vt 0.295455 0.192771 +vt 0.477273 0.144578 +vt 0.477273 0.192771 +vt 0.518939 0.614458 +vt 0.518939 0.554217 +vt 0.518939 0.518072 +vt 0.518939 0.626506 +vt 0.518939 0.566265 +vt 0.518939 0.590361 +vt 0.518939 0.530120 +vt 0.518939 0.638554 +vt 0.518939 0.578313 +vt 0.518939 0.602410 +vt 0.518939 0.542169 +vt 0.518939 0.650602 +vt 0.549242 0.554217 +vt 0.549242 0.578313 +vt 0.549242 0.590361 +vt 0.549242 0.614458 +vt 0.549242 0.626506 +vt 0.549242 0.638554 +vt 0.549242 0.650602 +vt 0.518939 0.662651 +vt 0.549242 0.518072 +vt 0.549242 0.530120 +vt 0.549242 0.542169 +vt 0.549242 0.566265 +vt 0.549242 0.602410 +vt 0.549242 0.662651 +vt 0.742424 0.493976 +vt 0.742424 0.457831 +vt 0.765152 0.433735 +vt 0.742424 0.180723 +vt 0.765152 0.409639 +vt 0.742424 0.397590 +vt 0.727273 0.457831 +vt 0.727273 0.397590 +vt 0.727273 0.180723 +vt 0.242424 0.554217 +vt 0.727273 0.493976 +vt 0.242424 0.614458 +vt 0.242424 0.650602 +vt 0.242424 0.542169 +vt 0.242424 0.602410 +vt 0.242424 0.578313 +vt 0.242424 0.638554 +vt 0.242424 0.530120 +vt 0.242424 0.590361 +vt 0.242424 0.566265 +vt 0.242424 0.626506 +vt 0.242424 0.518072 +vt 0.674242 0.180723 +vt 0.583333 0.156627 +vt 0.674242 0.156627 +vt 0.583333 0.180723 +vt 0.568182 0.156627 +vt 0.568182 0.180723 +vt 0.553030 0.156627 +vt 0.553030 0.180723 +vt 0.761364 0.674699 +vt 0.753788 0.698795 +vt 0.753788 0.674699 +vt 0.761364 0.698795 +vt 0.753788 0.753012 +vt 0.734848 0.638554 +vt 0.734848 0.578313 +vt 0.734848 0.602410 +vt 0.734848 0.542169 +vt 0.734848 0.650602 +vt 0.734848 0.590361 +vt 0.734848 0.614458 +vt 0.734848 0.554217 +vt 0.734848 0.662651 +vt 0.734848 0.626506 +vt 0.734848 0.566265 +vt 0.734848 0.530120 +vt 0.765152 0.662651 +vt 0.765152 0.650602 +vt 0.765152 0.638554 +vt 0.765152 0.626506 +vt 0.765152 0.614458 +vt 0.765152 0.602410 +vt 0.765152 0.590361 +vt 0.765152 0.578313 +vt 0.765152 0.566265 +vt 0.765152 0.554217 +vt 0.765152 0.542169 +vt 0.765152 0.530120 +vt 0.734848 0.518072 +vt 0.765152 0.518072 +vt 0.768939 0.777108 +vt 0.761364 0.753012 +vt 0.768939 0.753012 +vt 0.768939 0.801205 +vt 0.761364 0.777108 +vt 0.768939 0.849398 +vt 0.761364 0.801205 +vt 0.583333 0.180723 +vt 0.583333 0.228916 +vt 0.674242 0.180723 +vt 0.583333 0.228916 +vt 0.507576 0.325301 +vt 0.507576 0.325301 +vt 0.276515 0.915663 +vt 0.291667 0.963855 +vt 0.276515 0.963855 +vt 0.306818 0.662651 +vt 0.276515 0.710843 +vt 0.276515 0.662651 +vt 0.291667 0.915663 +vt 0.367424 0.963855 +vt 0.412879 0.915663 +vt 0.397727 0.963855 +vt 0.397727 0.915663 +vt 0.382576 0.662651 +vt 0.306818 0.710843 +vt 0.367424 0.915663 +vt 0.428030 0.963855 +vt 0.412879 0.963855 +vt 0.428030 0.915663 +vt 0.488636 0.963855 +vt 0.488636 0.915663 +vt 0.503788 0.963855 +vt 0.503788 0.915663 +vt 0.522727 0.963855 +vt 0.522727 0.915663 +vt 0.541667 0.963855 +vt 0.420455 0.662651 +vt 0.382576 0.710843 +vt 0.511364 0.662651 +vt 0.556818 0.710843 +vt 0.556818 0.662651 +vt 0.625000 0.710843 +vt 0.625000 0.662651 +vt 0.640152 0.710843 +vt 0.772727 0.608434 +vt 0.787879 0.596386 +vt 0.787879 0.608434 +vt 0.772727 0.632530 +vt 0.765152 0.608434 +vt 0.795455 0.608434 +vt 0.787879 0.632530 +vt 0.772727 0.596386 +vt 0.795455 0.632530 +vt 0.787879 0.608434 +vt 0.795455 0.608434 +vt 0.772727 0.608434 +vt 0.765152 0.632530 +vt 0.765152 0.608434 +vt 0.787879 0.596386 +vt 0.772727 0.596386 +vt 0.761364 0.662651 +vt 0.000000 0.939759 +vt 0.068182 0.933735 +vt 0.068182 0.939759 +vt 0.000000 0.933735 +vt 0.068182 0.927711 +vt 0.000000 0.975904 +vt 0.068182 0.969880 +vt 0.068182 0.975904 +vt 0.000000 0.969880 +vt 0.068182 0.963855 +vt 0.000000 0.963855 +vt 0.068182 0.957831 +vt 0.000000 0.957831 +vt 0.068182 0.951807 +vt 0.000000 0.951807 +vt 0.068182 0.945783 +vt 0.000000 0.945783 +vt 0.325758 0.337349 +vt 0.784091 0.801205 +vt 0.791667 0.813253 +vt 0.784091 0.813253 +vt 0.784091 0.873494 +vt 0.791667 0.885542 +vt 0.784091 0.885542 +vt 0.784091 0.849398 +vt 0.791667 0.861446 +vt 0.784091 0.861446 +vt 0.784091 0.825301 +vt 0.791667 0.837349 +vt 0.784091 0.837349 +vt 0.784091 0.789157 +vt 0.791667 0.801205 +vt 0.791667 0.873494 +vt 0.791667 0.849398 +vt 0.791667 0.825301 +vt 0.784091 0.801205 +vt 0.791667 0.813253 +vt 0.784091 0.813253 +vt 0.784091 0.873494 +vt 0.791667 0.885542 +vt 0.784091 0.885542 +vt 0.784091 0.849398 +vt 0.791667 0.861446 +vt 0.784091 0.861446 +vt 0.784091 0.825301 +vt 0.791667 0.837349 +vt 0.784091 0.837349 +vt 0.784091 0.789157 +vt 0.791667 0.801205 +vt 0.791667 0.873494 +vt 0.791667 0.849398 +vt 0.791667 0.825301 +vt 0.784091 0.813253 +vt 0.791667 0.801205 +vt 0.791667 0.813253 +vt 0.784091 0.885542 +vt 0.791667 0.873494 +vt 0.791667 0.885542 +vt 0.784091 0.849398 +vt 0.791667 0.861446 +vt 0.784091 0.861446 +vt 0.784091 0.837349 +vt 0.791667 0.825301 +vt 0.791667 0.837349 +vt 0.784091 0.801205 +vt 0.791667 0.789157 +vt 0.784091 0.873494 +vt 0.791667 0.849398 +vt 0.784091 0.825301 +vt 0.295455 0.144578 +vt 0.242424 0.662651 +vt 0.761364 0.753012 +vt 0.568182 0.204819 +vt 0.568182 0.204819 +vt 0.541667 0.915663 +vt 0.640152 0.662651 +vt 0.765152 0.632530 +vt 0.795455 0.632530 +vt 0.787879 0.632530 +vt 0.772727 0.632530 +vt 0.000000 0.927711 +vt 0.250000 0.337349 +vt 0.791667 0.789157 +vt 0.791667 0.789157 +vt 0.784091 0.789157 +vn 0.0000 -1.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.8575 0.5145 0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.8575 0.5145 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.8000 0.6000 0.0000 +vn -0.8000 0.6000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.9701 0.2425 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -0.8944 -0.4472 +vn 0.0000 0.9063 0.4226 +vn 0.0000 -0.9063 -0.4226 +vn 0.5000 0.3660 -0.7849 +vn 0.8660 -0.2113 0.4532 +vn -0.8660 0.2113 -0.4532 +vn -0.5000 -0.3660 0.7849 +vn 0.8944 0.4472 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.8944 0.4472 0.0000 +vn 0.0000 -0.9947 0.1025 +vn 0.0000 -0.9073 0.4205 +vn -0.8660 0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.9923 -0.0000 0.1240 +vn 0.8593 0.4961 0.1240 +vn 0.4961 0.8593 0.1240 +vn 0.0000 0.9923 0.1240 +vn -0.4961 0.8593 0.1240 +vn -0.8593 0.4961 0.1240 +vn -0.9923 0.0000 0.1240 +vn -0.8593 -0.4961 0.1240 +vn -0.4961 -0.8593 0.1240 +vn 0.0000 -0.9923 0.1240 +vn 0.4961 -0.8593 0.1240 +vn 0.8593 -0.4961 0.1240 +vn -0.2300 0.7786 -0.5839 +vn -0.3299 0.4380 -0.8363 +vn -0.6301 0.1931 -0.7521 +vn -0.0656 -0.3155 -0.9466 +vn -0.5758 -0.1060 -0.8107 +vn -0.2968 -0.1599 -0.9415 +vn 0.3299 0.4380 -0.8363 +vn 0.2968 -0.1599 -0.9415 +vn 0.5758 -0.1060 -0.8107 +vn 0.0656 -0.3155 -0.9466 +vn -0.9980 -0.0000 -0.0628 +vn 0.6301 0.1931 -0.7521 +vn 0.2300 0.7786 -0.5839 +vn 0.8643 -0.4990 -0.0628 +vn 0.4990 0.8643 -0.0628 +vn -0.8643 0.4990 -0.0628 +vn 0.4990 -0.8643 -0.0628 +vn -0.4990 -0.8643 -0.0628 +vn 0.8643 0.4990 -0.0628 +vn -0.4990 0.8643 -0.0628 +vn -0.0000 -0.9980 -0.0628 +vn -0.8643 -0.4990 -0.0628 +vn 0.9980 0.0000 -0.0628 +vn 0.0000 0.9980 -0.0628 +vn 0.0000 -0.9239 0.3827 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -0.7809 0.6247 +vn 0.0000 0.7937 0.6083 +vn 0.0000 0.8944 0.4472 +vn 0.0000 -0.6644 -0.7474 +vn 0.0000 -0.7937 -0.6083 +vn 0.0000 0.6644 0.7474 +vn 0.0000 -0.1602 -0.9871 +vn 0.0000 -0.3827 -0.9239 +vn 0.8644 0.4991 -0.0615 +vn -0.4991 -0.8644 -0.0615 +vn 0.4991 -0.8644 -0.0615 +vn -0.8644 0.4991 -0.0615 +vn 0.4991 0.8644 -0.0615 +vn -0.0000 -0.9981 -0.0615 +vn 0.8644 -0.4991 -0.0615 +vn -0.9981 -0.0000 -0.0615 +vn -0.0000 0.9981 -0.0615 +vn 0.9981 0.0000 -0.0615 +vn -0.8644 -0.4991 -0.0615 +vn -0.4991 0.8644 -0.0615 +vn 0.0000 0.2298 0.9732 +vn 0.0000 -0.8281 -0.5606 +vn 0.0000 -0.9191 -0.3939 +vn 0.0000 0.6114 0.7913 +vn 0.0000 0.7526 0.6585 +vn 0.0000 0.9191 0.3939 +vn 0.0000 0.8281 0.5606 +vn 0.0000 0.3827 0.9239 +vn -0.9956 -0.0906 0.0222 +vn -0.9920 -0.1196 0.0399 +vn 0.9956 -0.0906 0.0222 +vn 0.9920 -0.1196 0.0399 +vn -0.9872 -0.1545 0.0398 +vn -0.9866 -0.1600 0.0328 +vn 0.9872 -0.1545 0.0398 +vn 0.9866 -0.1600 0.0328 +vn 0.9867 -0.1589 0.0331 +vn -0.9867 -0.1589 0.0331 +vn 0.0000 -0.4472 -0.8944 +vn 0.0000 0.0735 -0.9973 +vn 0.0000 -0.7571 0.6532 +vn 0.0000 -0.8944 0.4472 +vn 0.0000 0.6954 -0.7186 +vn 0.0000 0.9239 0.3827 +vn 0.0000 0.9487 -0.3162 +vn 0.0000 -0.6427 0.7661 +vn 0.0000 0.1602 0.9871 +vn 0.0000 -0.8507 0.5257 +vn 0.0000 0.3714 0.9285 +vn 0.0000 -0.3714 0.9285 +vn 0.0000 0.2076 -0.9782 +vn 0.0000 -0.1826 -0.9832 +vn 0.0000 -0.7071 -0.7071 +vn 0.7588 -0.4606 0.4606 +vn 0.6861 -0.6861 -0.2418 +vn 0.7588 -0.4606 -0.4606 +vn 0.7071 0.0000 0.7071 +vn 0.6861 -0.2418 0.6861 +vn 0.6861 -0.2418 -0.6861 +vn 0.7071 0.0000 -0.7071 +vn 0.6861 -0.6861 0.2418 +vn -0.7071 0.0000 0.7071 +vn -0.7588 -0.4606 0.4606 +vn -0.6861 -0.2418 0.6861 +vn -0.7588 -0.4606 -0.4606 +vn -0.7071 0.0000 -0.7071 +vn -0.6861 -0.2418 -0.6861 +vn -0.6861 -0.6861 0.2418 +vn -0.6861 -0.6861 -0.2418 +vn 0.0000 0.2425 0.9701 +vn 0.0000 -0.2425 0.9701 +vn 0.0000 0.7071 -0.7071 +vn 0.5000 -0.5000 -0.7071 +vn 0.5000 -0.5000 0.7071 +vn -0.5000 0.5000 0.7071 +vn -0.5000 0.5000 -0.7071 +s off +f 581/910/220 926/911/220 582/912/220 +f 581/913/221 927/914/221 925/915/221 +f 589/916/222 851/917/222 575/918/222 +f 585/919/223 927/914/223 583/920/223 +f 590/921/224 584/922/224 928/923/224 +f 584/922/225 585/924/225 583/925/225 +f 574/926/226 590/927/226 576/928/226 +f 582/912/227 928/923/227 584/922/227 +f 583/925/225 582/929/225 584/922/225 +f 586/930/225 587/931/225 585/924/225 +f 586/930/228 592/932/228 588/933/228 +f 587/934/229 589/935/229 585/919/229 +f 588/933/230 591/936/230 587/934/230 +f 594/937/225 591/938/225 592/939/225 +f 592/939/225 590/927/225 594/937/225 +f 589/916/225 591/940/225 593/941/225 +f 593/942/230 574/926/230 573/943/230 +f 653/944/231 642/945/231 641/946/231 +f 642/945/231 643/947/231 631/948/231 +f 643/947/231 632/949/231 631/948/231 +f 644/950/231 633/951/231 632/949/231 +f 645/952/231 634/953/231 633/951/231 +f 634/953/231 647/954/231 635/955/231 +f 635/955/231 648/956/231 636/957/231 +f 648/956/231 637/958/231 636/957/231 +f 649/959/231 638/960/231 637/961/231 +f 650/962/231 639/963/231 638/960/231 +f 651/964/231 640/965/231 639/963/231 +f 640/965/231 653/944/231 641/946/231 +f 606/966/225 665/967/225 605/968/225 +f 605/968/225 664/969/225 604/970/225 +f 603/971/225 664/969/225 663/972/225 +f 602/973/225 663/972/225 662/974/225 +f 602/973/225 661/975/225 601/976/225 +f 601/977/225 660/978/225 600/979/225 +f 600/979/225 659/980/225 599/981/225 +f 599/981/225 658/982/225 598/983/225 +f 597/984/225 658/982/225 657/985/225 +f 596/986/225 657/985/225 656/987/225 +f 596/986/225 655/988/225 595/989/225 +f 595/989/225 666/990/225 606/966/225 +f 686/991/232 845/992/232 684/993/232 +f 690/994/224 692/995/224 688/996/224 +f 689/997/223 691/998/223 693/999/223 +f 693/999/223 695/1000/223 697/1001/223 +f 694/1002/224 696/1003/224 692/995/224 +f 704/1004/224 708/1005/224 710/1006/224 +f 702/1007/224 706/1008/224 708/1005/224 +f 738/1009/224 739/1010/224 736/1011/224 +f 703/1012/223 707/1013/223 701/1014/223 +f 701/1014/223 705/1015/223 699/1016/223 +f 735/1017/223 741/1018/223 737/1019/223 +f 756/1020/224 754/1021/224 752/1022/224 +f 742/1023/224 743/1024/224 739/1010/224 +f 741/1018/223 744/1025/223 745/1026/223 +f 757/1027/223 751/1028/223 753/1029/223 +f 745/1026/223 748/1030/223 749/1031/223 +f 746/1032/224 747/1033/224 743/1024/224 +f 756/1020/224 762/1034/224 758/1035/224 +f 761/1036/223 755/1037/223 757/1027/223 +f 760/1038/224 766/1039/224 762/1034/224 +f 765/1040/223 759/1041/223 761/1036/223 +f 580/1042/227 667/1043/227 578/1044/227 +f 668/1045/221 579/1046/221 577/1047/221 +f 767/1048/224 686/1049/224 684/993/224 +f 769/1050/225 685/1051/225 686/1049/225 +f 685/1052/223 768/1053/223 683/1054/223 +f 768/1053/231 684/993/231 683/1054/231 +f 773/1055/223 775/1056/223 771/1057/223 +f 774/1058/224 776/1059/224 778/1060/224 +f 777/1061/223 781/1062/223 775/1056/223 +f 782/1063/224 778/1060/224 776/1059/224 +f 779/1064/223 797/1065/223 781/1062/223 +f 798/1066/224 780/1067/224 782/1063/224 +f 785/1068/223 799/1069/223 797/1065/223 +f 798/1066/224 800/1070/224 786/1071/224 +f 791/1072/223 793/1073/223 789/1074/223 +f 792/1075/224 790/1076/224 794/1077/224 +f 795/1078/223 803/1079/223 793/1073/223 +f 804/1080/224 796/1081/224 794/1077/224 +f 801/1082/223 799/1069/223 787/1083/223 +f 804/1080/224 794/1077/224 790/1076/224 +f 829/1084/223 833/1085/223 827/1086/223 +f 829/1084/223 837/1087/223 835/1088/223 +f 830/1089/224 834/1090/224 836/1091/224 +f 830/1089/224 838/1092/224 832/1093/224 +f 827/1086/220 834/1094/220 828/1095/220 +f 842/1096/224 844/1097/224 840/1098/224 +f 842/1096/231 839/1099/231 846/1100/231 +f 845/992/225 844/1101/225 841/1102/225 +f 845/992/232 683/1054/232 684/993/232 +f 846/1100/223 843/1103/223 845/992/223 +f 841/1102/232 685/1104/232 683/1054/232 +f 842/1096/232 686/991/232 685/1104/232 +f 853/1105/231 847/1106/231 854/1107/231 +f 850/1108/222 848/1109/222 849/1110/222 +f 852/1111/220 848/1109/220 853/1112/220 +f 854/1113/230 850/1108/230 851/1114/230 +f 593/941/222 854/1115/222 589/916/222 +f 852/1116/225 850/1108/225 849/1110/225 +f 573/1117/222 853/1118/222 593/941/222 +f 573/1117/222 851/917/222 852/1119/222 +f 857/1120/233 856/1121/233 855/1122/233 +f 861/1123/234 858/1124/234 857/1120/234 +f 861/1125/223 855/1122/223 859/1126/223 +f 862/1127/224 856/1121/224 858/1124/224 +f 873/1128/231 869/1129/231 865/1130/231 +f 705/1015/223 875/1131/223 699/1016/223 +f 706/1008/224 700/1132/224 876/1133/224 +f 892/1134/224 888/1135/224 884/1136/224 +f 901/1137/224 906/1138/224 902/1139/224 +f 891/1140/223 893/1141/223 885/1142/223 +f 895/1143/223 897/1144/223 898/1145/223 +f 896/1146/223 899/1147/223 897/1148/223 +f 877/1149/223 900/1150/223 899/1151/223 +f 878/1152/223 898/1153/223 900/1154/223 +f 903/1155/224 905/1156/224 901/1157/224 +f 904/1158/224 907/1159/224 903/1160/224 +f 902/1161/224 908/1162/224 904/1163/224 +f 898/1164/220 904/1163/220 900/1165/220 +f 877/1149/225 908/1162/225 878/1152/225 +f 900/1166/231 903/1160/231 899/1167/231 +f 895/1143/231 905/1156/231 896/1146/231 +f 899/1168/230 901/1157/230 897/1169/230 +f 897/1170/225 902/1139/225 898/1171/225 +f 878/1152/230 906/1138/230 895/1143/230 +f 896/1146/220 907/1172/220 877/1173/220 +f 917/1174/235 922/1175/235 918/1176/235 +f 911/1177/236 913/1178/236 914/1179/236 +f 913/1180/236 909/1181/236 915/1182/236 +f 909/1181/236 916/1183/236 915/1184/236 +f 910/1185/236 914/1186/236 916/1187/236 +f 917/1188/235 923/1189/235 921/1190/235 +f 919/1191/235 924/1192/235 923/1189/235 +f 918/1193/235 924/1192/235 920/1194/235 +f 914/1195/237 920/1194/237 916/1196/237 +f 909/1181/238 924/1192/238 910/1185/238 +f 916/1197/239 919/1191/239 915/1198/239 +f 911/1177/239 921/1190/239 912/1199/239 +f 913/1200/240 919/1201/240 917/1188/240 +f 913/1202/238 918/1176/238 914/1203/238 +f 911/1204/240 924/1192/240 922/1205/240 +f 912/1199/237 923/1189/237 909/1181/237 +f 928/1206/227 580/1042/227 578/1044/227 +f 925/1207/221 577/1047/221 579/1046/221 +f 590/927/224 928/1206/224 578/1044/224 +f 577/1047/223 927/1208/223 589/916/223 +f 947/1209/224 933/1210/224 948/1211/224 +f 946/1212/230 934/1213/230 947/1209/230 +f 949/1214/223 931/1215/223 950/1216/223 +f 950/1216/230 936/1217/230 945/1218/230 +f 948/1219/230 932/1220/230 949/1214/230 +f 944/1221/224 938/1222/224 943/1223/224 +f 945/1218/241 937/1224/241 944/1221/241 +f 965/1225/224 953/1226/224 964/1227/224 +f 960/1228/242 954/1229/242 963/1230/242 +f 963/1230/223 951/1231/223 966/1232/223 +f 951/1233/230 965/1225/230 966/1234/230 +f 959/1235/223 957/1236/223 960/1228/223 +f 964/1227/243 955/1237/243 962/1238/243 +f 959/1235/231 963/1239/231 964/1240/231 +f 962/1238/224 956/1241/224 961/1242/224 +f 953/1243/225 954/1244/225 956/1241/225 +f 946/1212/244 967/1245/244 935/1246/244 +f 968/1247/223 969/1248/223 967/1245/223 +f 929/1249/225 930/1250/225 933/1251/225 +f 948/1252/231 949/1253/231 940/1254/231 +f 971/1255/220 973/1256/220 975/1257/220 +f 994/1258/223 987/1259/223 991/1260/223 +f 1009/1261/243 1010/1262/243 1003/1263/243 +f 581/910/220 925/1264/220 926/911/220 +f 581/913/221 583/920/221 927/914/221 +f 589/916/222 854/1115/222 851/917/222 +f 585/919/223 589/935/223 927/914/223 +f 590/921/224 586/930/224 584/922/224 +f 584/922/225 586/930/225 585/924/225 +f 574/926/226 594/937/226 590/927/226 +f 582/912/227 926/911/227 928/923/227 +f 583/925/225 581/1265/225 582/929/225 +f 586/930/225 588/1266/225 587/931/225 +f 586/930/228 590/921/228 592/932/228 +f 587/934/229 591/936/229 589/935/229 +f 588/933/230 592/932/230 591/936/230 +f 594/937/225 593/942/225 591/938/225 +f 593/942/230 594/937/230 574/926/230 +f 653/944/231 654/1267/231 642/945/231 +f 642/945/231 654/1267/231 643/947/231 +f 643/947/231 644/950/231 632/949/231 +f 644/950/231 645/952/231 633/951/231 +f 645/952/231 646/1268/231 634/953/231 +f 634/953/231 646/1268/231 647/954/231 +f 635/955/231 647/954/231 648/956/231 +f 648/956/231 649/1269/231 637/958/231 +f 649/959/231 650/962/231 638/960/231 +f 650/962/231 651/964/231 639/963/231 +f 651/964/231 652/1270/231 640/965/231 +f 640/965/231 652/1270/231 653/944/231 +f 606/966/225 666/990/225 665/967/225 +f 605/968/225 665/967/225 664/969/225 +f 603/971/225 604/970/225 664/969/225 +f 602/973/225 603/971/225 663/972/225 +f 602/973/225 662/974/225 661/975/225 +f 601/977/225 661/1271/225 660/978/225 +f 600/979/225 660/978/225 659/980/225 +f 599/981/225 659/980/225 658/982/225 +f 597/984/225 598/983/225 658/982/225 +f 596/986/225 597/984/225 657/985/225 +f 596/986/225 656/987/225 655/988/225 +f 595/989/225 655/988/225 666/990/225 +f 686/991/232 846/1100/232 845/992/232 +f 690/994/224 694/1002/224 692/995/224 +f 689/997/223 687/1272/223 691/998/223 +f 693/999/223 691/998/223 695/1000/223 +f 694/1002/224 698/1273/224 696/1003/224 +f 704/1004/224 702/1007/224 708/1005/224 +f 702/1007/224 700/1132/224 706/1008/224 +f 738/1009/224 742/1023/224 739/1010/224 +f 703/1012/223 709/1274/223 707/1013/223 +f 701/1014/223 707/1013/223 705/1015/223 +f 735/1017/223 740/1275/223 741/1018/223 +f 756/1020/224 758/1035/224 754/1021/224 +f 742/1023/224 746/1032/224 743/1024/224 +f 741/1018/223 740/1275/223 744/1025/223 +f 757/1027/223 755/1037/223 751/1028/223 +f 745/1026/223 744/1025/223 748/1030/223 +f 746/1032/224 750/1276/224 747/1033/224 +f 756/1020/224 760/1038/224 762/1034/224 +f 761/1036/223 759/1041/223 755/1037/223 +f 760/1038/224 764/1277/224 766/1039/224 +f 765/1040/223 763/1278/223 759/1041/223 +f 767/1048/224 769/1050/224 686/1049/224 +f 769/1050/225 770/1279/225 685/1051/225 +f 685/1052/223 770/1280/223 768/1053/223 +f 768/1053/231 767/1048/231 684/993/231 +f 773/1055/223 777/1061/223 775/1056/223 +f 774/1058/224 772/1281/224 776/1059/224 +f 777/1061/223 779/1064/223 781/1062/223 +f 782/1063/224 780/1067/224 778/1060/224 +f 779/1064/223 783/1282/223 797/1065/223 +f 798/1066/224 784/1283/224 780/1067/224 +f 797/1065/223 783/1282/223 785/1068/223 +f 785/1068/223 787/1083/223 799/1069/223 +f 786/1071/224 784/1283/224 798/1066/224 +f 800/1070/224 788/1284/224 786/1071/224 +f 795/1078/223 805/1285/223 803/1079/223 +f 804/1080/224 806/1286/224 796/1081/224 +f 787/1083/223 789/1074/223 801/1082/223 +f 789/1074/223 793/1073/223 803/1079/223 +f 801/1082/223 789/1074/223 803/1079/223 +f 790/1076/224 788/1284/224 802/1287/224 +f 788/1284/224 800/1070/224 802/1287/224 +f 802/1287/224 804/1080/224 790/1076/224 +f 829/1084/223 835/1088/223 833/1085/223 +f 829/1084/223 831/1288/223 837/1087/223 +f 830/1089/224 828/1095/224 834/1090/224 +f 830/1089/224 836/1091/224 838/1092/224 +f 827/1086/220 833/1289/220 834/1094/220 +f 842/1096/224 841/1102/224 844/1097/224 +f 842/1096/231 840/1290/231 839/1099/231 +f 845/992/225 843/1291/225 844/1101/225 +f 845/992/232 841/1102/232 683/1054/232 +f 846/1100/223 839/1292/223 843/1103/223 +f 841/1102/232 842/1096/232 685/1104/232 +f 842/1096/232 846/1100/232 686/991/232 +f 853/1105/231 848/1109/231 847/1106/231 +f 850/1108/222 847/1106/222 848/1109/222 +f 852/1111/220 849/1110/220 848/1109/220 +f 854/1113/230 847/1106/230 850/1108/230 +f 593/941/222 853/1118/222 854/1115/222 +f 852/1116/225 851/1293/225 850/1108/225 +f 573/1117/222 852/1119/222 853/1118/222 +f 573/1117/222 575/918/222 851/917/222 +f 857/1120/233 858/1124/233 856/1121/233 +f 861/1123/234 862/1294/234 858/1124/234 +f 861/1125/223 857/1120/223 855/1122/223 +f 862/1127/224 860/1295/224 856/1121/224 +f 865/1130/231 864/1296/231 863/1297/231 +f 863/1297/231 874/1298/231 865/1130/231 +f 874/1298/231 873/1128/231 865/1130/231 +f 873/1128/231 872/1299/231 869/1129/231 +f 872/1299/231 871/1300/231 869/1129/231 +f 871/1300/231 870/1301/231 869/1129/231 +f 869/1129/231 868/1302/231 867/1303/231 +f 867/1303/231 866/1304/231 869/1129/231 +f 866/1304/231 865/1130/231 869/1129/231 +f 884/1136/224 882/1305/224 880/1306/224 +f 880/1306/224 894/1307/224 892/1134/224 +f 892/1134/224 890/1308/224 888/1135/224 +f 888/1135/224 886/1309/224 884/1136/224 +f 884/1136/224 880/1306/224 892/1134/224 +f 901/1137/224 905/1156/224 906/1138/224 +f 893/1141/223 879/1310/223 881/1311/223 +f 881/1311/223 883/1312/223 893/1141/223 +f 883/1312/223 885/1142/223 893/1141/223 +f 885/1142/223 887/1313/223 889/1314/223 +f 889/1314/223 891/1140/223 885/1142/223 +f 895/1143/223 896/1146/223 897/1144/223 +f 896/1146/223 877/1173/223 899/1147/223 +f 877/1149/223 878/1152/223 900/1150/223 +f 878/1152/223 895/1143/223 898/1153/223 +f 903/1155/224 907/1172/224 905/1156/224 +f 904/1158/224 908/1162/224 907/1159/224 +f 902/1161/224 906/1138/224 908/1162/224 +f 898/1164/220 902/1161/220 904/1163/220 +f 877/1149/225 907/1159/225 908/1162/225 +f 900/1166/231 904/1158/231 903/1160/231 +f 895/1143/231 906/1138/231 905/1156/231 +f 899/1168/230 903/1155/230 901/1157/230 +f 897/1170/225 901/1137/225 902/1139/225 +f 878/1152/230 908/1162/230 906/1138/230 +f 896/1146/220 905/1156/220 907/1172/220 +f 917/1174/235 921/1190/235 922/1175/235 +f 911/1177/236 912/1199/236 913/1178/236 +f 913/1180/236 912/1199/236 909/1181/236 +f 909/1181/236 910/1185/236 916/1183/236 +f 910/1185/236 911/1204/236 914/1186/236 +f 917/1188/235 919/1201/235 923/1189/235 +f 919/1191/235 920/1315/235 924/1192/235 +f 918/1193/235 922/1205/235 924/1192/235 +f 914/1195/237 918/1193/237 920/1194/237 +f 909/1181/238 923/1189/238 924/1192/238 +f 916/1197/239 920/1315/239 919/1191/239 +f 911/1177/239 922/1175/239 921/1190/239 +f 913/1200/240 915/1316/240 919/1201/240 +f 913/1202/238 917/1174/238 918/1176/238 +f 911/1204/240 910/1185/240 924/1192/240 +f 912/1199/237 921/1190/237 923/1189/237 +f 928/1206/227 926/1317/227 580/1042/227 +f 925/1207/221 927/1208/221 577/1047/221 +f 667/1043/224 576/928/224 578/1044/224 +f 576/928/224 590/927/224 578/1044/224 +f 589/916/223 575/918/223 577/1047/223 +f 575/918/223 668/1045/223 577/1047/223 +f 947/1209/224 934/1213/224 933/1210/224 +f 946/1212/230 935/1246/230 934/1213/230 +f 949/1214/223 932/1220/223 931/1215/223 +f 950/1216/230 931/1215/230 936/1217/230 +f 948/1219/230 933/1318/230 932/1220/230 +f 944/1221/224 937/1224/224 938/1222/224 +f 945/1218/241 936/1217/241 937/1224/241 +f 965/1225/224 952/1319/224 953/1226/224 +f 960/1228/242 957/1236/242 954/1229/242 +f 963/1230/223 954/1229/223 951/1231/223 +f 951/1233/230 952/1319/230 965/1225/230 +f 959/1235/223 958/1320/223 957/1236/223 +f 964/1227/243 953/1226/243 955/1237/243 +f 962/1238/231 961/1242/231 964/1240/231 +f 961/1242/231 959/1235/231 964/1240/231 +f 959/1235/231 960/1228/231 963/1239/231 +f 963/1239/231 966/1321/231 965/1322/231 +f 963/1239/231 965/1322/231 964/1240/231 +f 962/1238/224 955/1237/224 956/1241/224 +f 953/1243/225 952/1323/225 951/1324/225 +f 954/1244/225 957/1325/225 958/1326/225 +f 953/1243/225 951/1324/225 954/1244/225 +f 956/1241/225 955/1237/225 953/1243/225 +f 954/1244/225 958/1326/225 956/1241/225 +f 946/1212/244 968/1247/244 967/1245/244 +f 968/1247/223 970/1327/223 969/1248/223 +f 969/1328/225 939/1329/225 967/1330/225 +f 939/1329/225 929/1249/225 967/1330/225 +f 930/1250/225 938/1222/225 937/1224/225 +f 930/1250/225 937/1224/225 936/1331/225 +f 935/1332/225 967/1330/225 929/1249/225 +f 930/1250/225 936/1331/225 932/1333/225 +f 936/1331/225 931/1334/225 932/1333/225 +f 934/1335/225 935/1332/225 933/1251/225 +f 935/1332/225 929/1249/225 933/1251/225 +f 930/1250/225 932/1333/225 933/1251/225 +f 941/1336/231 942/1337/231 968/1247/231 +f 942/1337/231 970/1327/231 968/1247/231 +f 941/1336/231 946/1338/231 948/1252/231 +f 968/1247/231 946/1338/231 941/1336/231 +f 946/1338/231 947/1339/231 948/1252/231 +f 949/1253/231 950/1340/231 945/1341/231 +f 949/1253/231 945/1341/231 940/1254/231 +f 945/1341/231 944/1221/231 940/1254/231 +f 944/1221/231 943/1223/231 940/1254/231 +f 940/1254/231 941/1336/231 948/1252/231 +f 971/1255/220 972/1342/220 973/1256/220 +f 973/1256/220 974/1343/220 975/1257/220 +f 975/1257/220 976/1344/220 977/1345/220 +f 977/1345/220 978/1346/220 975/1257/220 +f 978/1346/220 971/1255/220 975/1257/220 +f 987/1259/223 988/1347/223 989/1348/223 +f 989/1348/223 990/1349/223 987/1259/223 +f 990/1349/223 991/1260/223 987/1259/223 +f 991/1260/223 992/1350/223 993/1351/223 +f 993/1351/223 994/1258/223 991/1260/223 +f 1003/1263/243 1004/1352/243 1005/1353/243 +f 1005/1353/243 1006/1354/243 1003/1263/243 +f 1006/1354/243 1007/1355/243 1003/1263/243 +f 1007/1355/243 1008/1356/243 1003/1263/243 +f 1008/1356/243 1009/1261/243 1003/1263/243 +s 1 +f 580/1357/245 681/1358/246 682/1359/246 +f 609/1360/247 598/983/223 597/984/247 +f 616/1361/224 605/968/248 604/970/224 +f 613/1362/220 602/973/249 601/976/220 +f 610/1363/223 599/981/250 598/983/223 +f 617/1364/248 606/966/251 605/968/248 +f 607/1365/230 596/986/252 595/989/230 +f 614/1366/249 603/971/253 602/973/249 +f 611/1367/250 600/979/254 599/981/250 +f 618/1368/251 595/989/230 606/966/251 +f 608/1369/252 597/984/247 596/986/252 +f 615/1370/253 604/970/224 603/971/253 +f 612/1371/254 601/977/220 600/979/254 +f 628/1372/255 617/1364/256 616/1361/255 +f 617/1364/256 630/1373/257 618/1368/257 +f 630/1373/257 607/1365/258 618/1368/257 +f 619/1374/258 608/1369/259 607/1365/258 +f 608/1369/259 621/1375/260 609/1360/260 +f 609/1360/260 622/1376/261 610/1363/261 +f 622/1376/261 611/1367/262 610/1363/261 +f 623/1377/262 612/1371/263 611/1367/262 +f 624/1378/263 613/1379/264 612/1371/263 +f 625/1380/264 614/1366/265 613/1362/264 +f 626/1381/265 615/1370/266 614/1366/265 +f 627/1382/266 616/1361/255 615/1370/266 +f 629/1383/248 642/945/251 630/1373/251 +f 619/1374/230 632/949/252 620/1384/252 +f 626/1381/249 639/963/253 627/1382/253 +f 623/1377/250 636/957/254 624/1378/254 +f 630/1373/251 631/948/230 619/1374/230 +f 620/1384/252 633/951/247 621/1375/247 +f 627/1382/253 640/965/224 628/1372/224 +f 624/1378/254 637/958/220 625/1385/220 +f 621/1375/247 634/953/223 622/1376/223 +f 628/1372/224 641/946/248 629/1383/248 +f 625/1380/220 638/960/249 626/1381/249 +f 622/1376/223 635/955/250 623/1377/250 +f 573/1386/267 674/1387/268 575/1388/269 +f 670/1389/270 668/1390/271 671/1391/272 +f 673/1392/273 671/1391/272 674/1387/268 +f 575/1388/269 671/1391/272 668/1390/271 +f 672/1393/274 667/1043/275 669/1394/276 +f 665/967/250 720/1395/277 664/969/223 +f 672/1393/274 576/928/278 667/1043/275 +f 576/928/278 673/1392/273 574/1396/279 +f 670/1389/270 672/1393/274 669/1394/276 +f 658/982/224 712/1397/280 657/985/253 +f 661/1271/230 716/1398/281 660/978/251 +f 664/969/223 719/1399/282 663/972/247 +f 657/985/253 713/1400/283 656/987/249 +f 655/988/220 722/1401/284 666/990/254 +f 574/1396/279 674/1387/268 573/1386/267 +f 660/978/251 715/1402/285 659/980/248 +f 663/972/247 718/1403/286 662/974/252 +f 656/987/249 714/1404/287 655/988/220 +f 666/990/254 721/1405/288 665/967/250 +f 659/980/248 711/1406/289 658/982/224 +f 662/974/252 717/1407/290 661/975/230 +f 669/1408/220 676/1409/291 670/1410/220 +f 675/1411/291 678/1412/225 676/1409/291 +f 677/1413/225 680/1414/292 678/1412/225 +f 679/1415/293 681/1358/246 680/1414/293 +f 692/995/294 687/1272/295 688/996/295 +f 698/1273/296 702/1007/297 704/1004/296 +f 696/1003/298 691/998/294 692/995/294 +f 694/1002/297 700/1132/234 702/1007/297 +f 689/997/234 701/1014/297 699/1016/234 +f 701/1014/297 697/1001/296 703/1012/296 +f 705/1416/299 708/1417/297 706/1418/299 +f 707/1419/297 710/1420/296 708/1417/297 +f 737/1019/231 742/1023/300 738/1009/231 +f 646/1268/224 727/1421/301 647/954/248 +f 653/944/250 734/1422/302 654/1267/254 +f 643/947/220 724/1423/303 644/950/249 +f 650/962/252 731/1424/304 651/964/247 +f 647/954/248 728/1425/305 648/956/251 +f 654/1267/254 723/1426/306 643/947/220 +f 644/950/249 725/1427/307 645/952/253 +f 651/964/247 732/1428/308 652/1270/223 +f 648/956/251 729/1429/309 649/1269/230 +f 645/952/253 726/1430/310 646/1268/224 +f 652/1270/223 733/1431/311 653/944/250 +f 649/959/230 730/1432/312 650/962/252 +f 717/1433/290 728/1425/305 716/1434/281 +f 716/1434/281 727/1421/301 715/1435/285 +f 715/1435/285 726/1430/310 711/1436/289 +f 711/1436/289 725/1427/307 712/1437/280 +f 712/1437/280 724/1423/303 713/1438/283 +f 714/1439/287 724/1423/303 723/1426/306 +f 714/1439/287 734/1422/302 722/1440/284 +f 721/1441/288 734/1422/302 733/1431/311 +f 721/1441/288 732/1428/308 720/1442/277 +f 720/1442/277 731/1424/304 719/1443/282 +f 719/1443/282 730/1432/312 718/1444/286 +f 718/1444/286 729/1445/309 717/1446/290 +f 758/1447/313 753/1448/225 754/1449/225 +f 741/1018/300 746/1032/314 742/1023/300 +f 745/1026/314 750/1276/315 746/1032/314 +f 762/1450/316 757/1451/313 758/1447/313 +f 766/1452/317 761/1453/316 762/1450/316 +f 747/1033/318 760/1038/319 743/1024/319 +f 743/1024/319 756/1020/320 739/1010/320 +f 739/1010/320 752/1022/225 736/1011/225 +f 735/1017/225 755/1037/320 740/1275/320 +f 740/1275/320 759/1041/319 744/1025/319 +f 744/1025/319 763/1278/318 748/1030/318 +f 676/1454/223 680/1455/321 670/1456/322 +f 679/1457/323 675/1411/224 669/1408/324 +f 668/1045/325 680/1455/321 681/1458/326 +f 667/1043/327 682/1459/328 679/1457/323 +f 682/1459/328 667/1043/327 580/1042/329 +f 579/1046/330 668/1045/325 681/1458/326 +f 774/1460/331 777/1461/332 773/1462/331 +f 679/1457/323 669/1408/324 667/1043/327 +f 680/1455/321 668/1045/325 670/1456/322 +f 775/1463/333 772/1464/334 771/1465/334 +f 778/1466/332 779/1467/335 777/1461/332 +f 786/1468/336 783/1469/337 784/1470/337 +f 781/1471/338 776/1472/333 775/1463/333 +f 784/1470/337 779/1467/335 780/1473/335 +f 786/1468/336 787/1474/339 785/1475/336 +f 788/1476/339 789/1477/340 787/1474/339 +f 790/1478/340 791/1479/220 789/1477/340 +f 792/1480/341 793/1481/225 791/1479/341 +f 794/1482/225 795/1483/342 793/1481/225 +f 797/1484/291 782/1485/338 781/1471/338 +f 797/1484/291 800/1070/220 798/1066/291 +f 799/1486/231 802/1487/343 800/1070/231 +f 801/1488/343 804/1489/344 802/1487/343 +f 803/1490/344 806/1491/345 804/1489/344 +f 807/1492/346 812/1493/347 809/1494/348 +f 808/1495/349 813/1496/350 807/1492/346 +f 815/1497/351 810/1498/352 809/1494/348 +f 807/1492/346 813/1496/350 811/1499/353 +f 809/1494/348 812/1493/347 815/1497/351 +f 820/1500/354 823/1501/355 819/1502/356 +f 825/1503/357 822/1504/358 821/1505/359 +f 817/1506/360 825/1503/357 818/1507/361 +f 821/1505/359 818/1507/361 825/1503/357 +f 819/1502/356 823/1501/355 817/1506/360 +f 828/1095/362 829/1084/225 827/1086/362 +f 830/1089/225 831/1288/363 829/1084/225 +f 706/1418/299 875/1508/364 705/1416/299 +f 880/1509/231 881/1510/345 879/1511/231 +f 882/1512/345 883/1513/220 881/1510/345 +f 884/1514/220 885/1515/233 883/1516/220 +f 886/1517/233 887/1518/225 885/1515/233 +f 888/1519/225 889/1520/292 887/1518/225 +f 890/1521/292 891/1522/230 889/1520/292 +f 892/1523/230 893/1524/364 891/1522/230 +f 894/1525/364 879/1511/231 893/1524/364 +f 926/1317/220 579/1526/245 580/1042/245 +f 978/1527/358 980/1528/231 971/1529/231 +f 976/1530/354 985/1531/223 977/1532/223 +f 974/1533/349 983/1534/225 975/1535/225 +f 972/1536/352 981/1537/224 973/1538/224 +f 977/1539/223 986/1540/358 978/1527/358 +f 975/1535/225 984/1541/354 976/1530/354 +f 973/1538/224 982/1542/349 974/1533/349 +f 971/1529/231 979/1543/352 972/1536/352 +f 994/1544/364 996/1545/231 987/1546/231 +f 992/1547/292 1001/1548/230 993/1549/230 +f 990/1550/233 999/1551/225 991/1552/225 +f 988/1553/345 997/1554/220 989/1555/220 +f 993/1556/230 1002/1557/364 994/1544/364 +f 991/1552/225 1000/1558/292 992/1547/292 +f 989/1555/220 998/1559/233 990/1550/233 +f 987/1546/231 995/1560/345 988/1553/345 +f 1003/1561/231 1018/1562/365 1012/1563/231 +f 1009/1564/227 1016/1565/366 1017/1566/227 +f 1006/1567/367 1015/1568/225 1007/1569/225 +f 1005/1570/242 1011/1571/368 1013/1572/242 +f 1010/1573/365 1017/1574/227 1018/1562/365 +f 1007/1569/225 1016/1565/366 1008/1575/366 +f 1005/1570/242 1014/1576/367 1006/1567/367 +f 1004/1577/368 1012/1563/231 1011/1571/368 +f 580/1357/245 579/1578/245 681/1358/246 +f 609/1360/247 610/1363/223 598/983/223 +f 616/1361/224 617/1364/248 605/968/248 +f 613/1362/220 614/1366/249 602/973/249 +f 610/1363/223 611/1367/250 599/981/250 +f 617/1364/248 618/1368/251 606/966/251 +f 607/1365/230 608/1369/252 596/986/252 +f 614/1366/249 615/1370/253 603/971/253 +f 611/1367/250 612/1371/254 600/979/254 +f 618/1368/251 607/1365/230 595/989/230 +f 608/1369/252 609/1360/247 597/984/247 +f 615/1370/253 616/1361/224 604/970/224 +f 612/1371/254 613/1379/220 601/977/220 +f 628/1372/255 629/1383/256 617/1364/256 +f 617/1364/256 629/1383/256 630/1373/257 +f 630/1373/257 619/1374/258 607/1365/258 +f 619/1374/258 620/1384/259 608/1369/259 +f 608/1369/259 620/1384/259 621/1375/260 +f 609/1360/260 621/1375/260 622/1376/261 +f 622/1376/261 623/1377/262 611/1367/262 +f 623/1377/262 624/1378/263 612/1371/263 +f 624/1378/263 625/1385/264 613/1379/264 +f 625/1380/264 626/1381/265 614/1366/265 +f 626/1381/265 627/1382/266 615/1370/266 +f 627/1382/266 628/1372/255 616/1361/255 +f 629/1383/248 641/946/248 642/945/251 +f 619/1374/230 631/948/230 632/949/252 +f 626/1381/249 638/960/249 639/963/253 +f 623/1377/250 635/955/250 636/957/254 +f 630/1373/251 642/945/251 631/948/230 +f 620/1384/252 632/949/252 633/951/247 +f 627/1382/253 639/963/253 640/965/224 +f 624/1378/254 636/957/254 637/958/220 +f 621/1375/247 633/951/247 634/953/223 +f 628/1372/224 640/965/224 641/946/248 +f 625/1380/220 637/961/220 638/960/249 +f 622/1376/223 634/953/223 635/955/250 +f 673/1392/273 672/1393/274 671/1391/272 +f 575/1388/269 674/1387/268 671/1391/272 +f 665/967/250 721/1405/288 720/1395/277 +f 672/1393/274 673/1392/273 576/928/278 +f 670/1389/270 671/1391/272 672/1393/274 +f 658/982/224 711/1406/289 712/1397/280 +f 661/1271/230 717/1579/290 716/1398/281 +f 664/969/223 720/1395/277 719/1399/282 +f 657/985/253 712/1397/280 713/1400/283 +f 655/988/220 714/1404/287 722/1401/284 +f 574/1396/279 673/1392/273 674/1387/268 +f 660/978/251 716/1398/281 715/1402/285 +f 663/972/247 719/1399/282 718/1403/286 +f 656/987/249 713/1400/283 714/1404/287 +f 666/990/254 722/1401/284 721/1405/288 +f 659/980/248 715/1402/285 711/1406/289 +f 662/974/252 718/1403/286 717/1407/290 +f 669/1408/220 675/1411/291 676/1409/291 +f 675/1411/291 677/1413/225 678/1412/225 +f 677/1413/225 679/1415/292 680/1414/292 +f 679/1415/293 682/1359/246 681/1358/246 +f 692/995/294 691/998/294 687/1272/295 +f 698/1273/296 694/1002/297 702/1007/297 +f 696/1003/298 695/1000/298 691/998/294 +f 694/1002/297 690/994/234 700/1132/234 +f 689/997/234 693/999/297 701/1014/297 +f 701/1014/297 693/999/297 697/1001/296 +f 705/1416/299 707/1419/297 708/1417/297 +f 707/1419/297 709/1580/296 710/1420/296 +f 737/1019/231 741/1018/300 742/1023/300 +f 646/1268/224 726/1430/310 727/1421/301 +f 653/944/250 733/1431/311 734/1422/302 +f 643/947/220 723/1426/306 724/1423/303 +f 650/962/252 730/1432/312 731/1424/304 +f 647/954/248 727/1421/301 728/1425/305 +f 654/1267/254 734/1422/302 723/1426/306 +f 644/950/249 724/1423/303 725/1427/307 +f 651/964/247 731/1424/304 732/1428/308 +f 648/956/251 728/1425/305 729/1429/309 +f 645/952/253 725/1427/307 726/1430/310 +f 652/1270/223 732/1428/308 733/1431/311 +f 649/959/230 729/1445/309 730/1432/312 +f 717/1433/290 729/1429/309 728/1425/305 +f 716/1434/281 728/1425/305 727/1421/301 +f 715/1435/285 727/1421/301 726/1430/310 +f 711/1436/289 726/1430/310 725/1427/307 +f 712/1437/280 725/1427/307 724/1423/303 +f 714/1439/287 713/1438/283 724/1423/303 +f 714/1439/287 723/1426/306 734/1422/302 +f 721/1441/288 722/1440/284 734/1422/302 +f 721/1441/288 733/1431/311 732/1428/308 +f 720/1442/277 732/1428/308 731/1424/304 +f 719/1443/282 731/1424/304 730/1432/312 +f 718/1444/286 730/1432/312 729/1445/309 +f 758/1447/313 757/1451/313 753/1448/225 +f 741/1018/300 745/1026/314 746/1032/314 +f 745/1026/314 749/1031/315 750/1276/315 +f 762/1450/316 761/1453/316 757/1451/313 +f 766/1452/317 765/1040/317 761/1453/316 +f 747/1033/318 764/1277/318 760/1038/319 +f 743/1024/319 760/1038/319 756/1020/320 +f 739/1010/320 756/1020/320 752/1022/225 +f 735/1017/225 751/1028/225 755/1037/320 +f 740/1275/320 755/1037/320 759/1041/319 +f 744/1025/319 759/1041/319 763/1278/318 +f 676/1454/223 678/1581/223 680/1455/321 +f 679/1457/323 677/1582/224 675/1411/224 +f 774/1460/331 778/1466/332 777/1461/332 +f 775/1463/333 776/1472/333 772/1464/334 +f 778/1466/332 780/1473/335 779/1467/335 +f 786/1468/336 785/1475/336 783/1469/337 +f 781/1471/338 782/1485/338 776/1472/333 +f 784/1470/337 783/1469/337 779/1467/335 +f 786/1468/336 788/1476/339 787/1474/339 +f 788/1476/339 790/1478/340 789/1477/340 +f 790/1478/340 792/1480/220 791/1479/220 +f 792/1480/341 794/1482/225 793/1481/225 +f 794/1482/225 796/1583/342 795/1483/342 +f 797/1484/291 798/1066/291 782/1485/338 +f 797/1484/291 799/1486/220 800/1070/220 +f 799/1486/231 801/1488/343 802/1487/343 +f 801/1488/343 803/1490/344 804/1489/344 +f 803/1490/344 805/1584/345 806/1491/345 +f 807/1492/346 811/1499/353 812/1493/347 +f 808/1495/349 814/1585/349 813/1496/350 +f 815/1497/351 816/1586/352 810/1498/352 +f 820/1500/354 824/1587/354 823/1501/355 +f 825/1503/357 826/1588/358 822/1504/358 +f 817/1506/360 823/1501/355 825/1503/357 +f 828/1095/362 830/1089/225 829/1084/225 +f 830/1089/225 832/1093/363 831/1288/363 +f 706/1418/299 876/1133/364 875/1508/364 +f 880/1509/231 882/1512/345 881/1510/345 +f 882/1512/345 884/1589/220 883/1513/220 +f 884/1514/220 886/1517/233 885/1515/233 +f 886/1517/233 888/1519/225 887/1518/225 +f 888/1519/225 890/1521/292 889/1520/292 +f 890/1521/292 892/1523/230 891/1522/230 +f 892/1523/230 894/1525/364 893/1524/364 +f 894/1525/364 880/1509/231 879/1511/231 +f 926/1317/220 925/1590/220 579/1526/245 +f 978/1527/358 986/1540/358 980/1528/231 +f 976/1530/354 984/1541/354 985/1531/223 +f 974/1533/349 982/1542/349 983/1534/225 +f 972/1536/352 979/1543/352 981/1537/224 +f 977/1539/223 985/1591/223 986/1540/358 +f 975/1535/225 983/1534/225 984/1541/354 +f 973/1538/224 981/1537/224 982/1542/349 +f 971/1529/231 980/1528/231 979/1543/352 +f 994/1544/364 1002/1557/364 996/1545/231 +f 992/1547/292 1000/1558/292 1001/1548/230 +f 990/1550/233 998/1559/233 999/1551/225 +f 988/1553/345 995/1560/345 997/1554/220 +f 993/1556/230 1001/1592/230 1002/1557/364 +f 991/1552/225 999/1551/225 1000/1558/292 +f 989/1555/220 997/1554/220 998/1559/233 +f 987/1546/231 996/1545/231 995/1560/345 +f 1003/1561/231 1010/1573/365 1018/1562/365 +f 1009/1564/227 1008/1575/366 1016/1565/366 +f 1006/1567/367 1014/1576/367 1015/1568/225 +f 1005/1570/242 1004/1577/368 1011/1571/368 +f 1010/1573/365 1009/1593/227 1017/1574/227 +f 1007/1569/225 1015/1568/225 1016/1565/366 +f 1005/1570/242 1013/1572/242 1014/1576/367 +f 1004/1577/368 1003/1561/231 1012/1563/231 diff --git a/src/main/resources/assets/hbm/models/weapons/stinger.obj b/src/main/resources/assets/hbm/models/weapons/stinger.obj index 06422b0b2..5f99e4edd 100644 --- a/src/main/resources/assets/hbm/models/weapons/stinger.obj +++ b/src/main/resources/assets/hbm/models/weapons/stinger.obj @@ -1,733 +1,5 @@ -# Blender v2.79 (sub 0) OBJ File: '' +# Blender v2.79 (sub 0) OBJ File: 'stinger.blend' # www.blender.org -mtllib stinger.(1obj.mtl -o Cube.001_Cube.002 -v 0.393889 3.128783 -9.337228 -v 0.393890 1.846543 -5.892444 -v 0.393889 1.846542 -9.337228 -v -0.393894 3.128783 -5.892444 -v -0.393895 1.846542 -9.337228 -v -0.393894 1.846543 -5.892444 -v -0.393895 3.128783 -9.337228 -v -0.000002 3.303435 -5.049528 -v -0.382998 1.728983 -5.208168 -v -0.000002 1.728983 -5.049528 -v -0.382998 3.303435 -5.208168 -v -0.541638 1.728983 -5.591164 -v -0.541638 3.303435 -5.591164 -v -0.382998 1.728983 -5.974160 -v -0.382998 3.303435 -5.974160 -v -0.000002 1.728983 -6.132800 -v -0.000002 3.303435 -6.132800 -v 0.382994 1.728983 -5.974160 -v 0.382994 3.303435 -5.974160 -v 0.541634 1.728983 -5.591164 -v 0.541634 3.303435 -5.591164 -v 0.382994 1.728983 -5.208168 -v 0.382994 3.303435 -5.208168 -v -1.403786 4.699999 -5.797567 -v -1.686627 4.582843 -7.948311 -v -1.686626 4.582843 -5.797567 -v -1.803787 4.299999 -7.948311 -v -1.803786 4.299999 -5.797567 -v -1.686626 4.017155 -5.797567 -v -1.686627 4.017155 -7.948311 -v -1.403786 3.899999 -5.797567 -v -1.403787 3.899999 -7.948311 -v -1.120942 4.017155 -5.797567 -v -1.003787 4.299999 -7.948312 -v -1.003786 4.299999 -5.797568 -v -1.883787 4.299999 -7.982080 -v -1.743199 3.960587 -7.982080 -v -1.120943 4.582843 -7.948312 -v -1.120942 4.582843 -5.797568 -v -0.923786 4.299999 -5.755472 -v -0.923787 4.299999 -7.982080 -v -1.064375 4.639411 -8.277956 -v -1.064375 4.639411 -7.982080 -v -1.120943 4.017155 -7.948311 -v -1.403787 3.819999 -7.982080 -v -1.064375 3.960587 -7.982080 -v -1.403787 4.699999 -7.948311 -v -1.403787 4.779999 -7.982080 -v -1.743199 4.639411 -7.982080 -v -0.923787 4.299999 -8.277956 -v -1.743199 3.960587 -8.277955 -v -1.883787 4.299999 -8.277955 -v -1.403787 3.819999 -8.277956 -v -1.064375 3.960587 -8.277956 -v -1.743199 4.639411 -8.277956 -v -1.403787 4.779999 -8.277956 -v -1.403786 4.779999 -5.755472 -v -1.064374 4.639411 -5.489088 -v -1.064374 4.639411 -5.755472 -v -1.883786 4.299999 -5.755472 -v -1.743198 4.639411 -5.755472 -v -1.064374 3.960587 -5.755472 -v -1.403786 3.819999 -5.755472 -v -1.743198 3.960587 -5.755472 -v -1.743198 3.960587 -5.489088 -v -0.923786 4.299999 -5.489088 -v -1.883786 4.299999 -5.489088 -v -1.064374 3.960587 -5.489088 -v -1.743198 4.639411 -5.489088 -v -1.403786 3.819999 -5.489088 -v -1.403786 4.779999 -5.489088 -v -1.473919 4.208779 -7.811895 -v -0.447114 3.729971 -5.941060 -v -0.447115 3.729971 -7.811896 -v 0.128767 2.756387 -3.983544 -v 0.128767 1.614719 -3.555136 -v 0.128767 1.614719 -3.983544 -v 0.128767 2.756387 -3.555136 -v -0.128769 1.614719 -3.555136 -v -0.128769 2.756387 -3.555136 -v -0.128769 1.614719 -3.983544 -v -0.128769 2.756387 -3.983544 -v 0.190951 3.077327 -3.167776 -v -0.208109 2.727468 -3.531600 -v 0.197875 2.727295 -3.523528 -v -0.198185 2.731559 -4.030576 -v 0.207799 2.731387 -4.022504 -v -0.191081 3.087375 -4.380480 -v 0.214907 3.087207 -4.372408 -v -0.207801 3.932427 -3.521620 -v -0.190953 3.586487 -4.376348 -v -0.214909 3.576612 -3.171716 -v 0.215035 3.586319 -4.368276 -v 0.198183 3.932260 -3.513548 -v 0.191079 3.576439 -3.163644 -v 0.771273 5.530663 -9.417193 -v 0.771274 4.098263 -6.669316 -v 0.771273 4.098262 -9.417192 -v 0.771274 5.530663 -6.669316 -v -0.771278 4.098263 -6.669316 -v -0.771278 5.530663 -6.669316 -v -0.771279 4.098262 -9.417192 -v -0.000003 4.089742 -9.779048 -v -0.346641 3.977118 9.779048 -v 0.000003 4.089750 9.779048 -v -0.346647 3.977114 -9.779048 -v -0.560881 3.682245 9.779048 -v -0.560887 3.682238 -9.779048 -v -0.560881 3.317762 9.779048 -v -0.560887 3.317755 -9.779048 -v -0.346641 3.022886 9.779048 -v -0.346647 3.022882 -9.779048 -v 0.000003 2.910254 9.779048 -v -0.000003 2.910250 -9.779048 -v 0.346647 3.022886 9.779048 -v 0.346641 3.022882 -9.779048 -v 0.560887 3.317762 9.779048 -v 0.560881 3.317755 -9.779048 -v 0.560887 3.682245 9.779048 -v -0.381311 4.024827 -9.822908 -v 0.560881 3.682238 -9.779048 -v 0.346647 3.977118 9.779048 -v 0.346641 3.977114 -9.779048 -v 0.519971 4.215673 9.897908 -v -0.841321 3.226638 9.897908 -v 0.841327 3.773365 9.897908 -v -0.841321 3.773365 9.897908 -v 0.841327 3.226638 9.897908 -v 0.519971 2.784330 9.897908 -v 0.000003 2.615382 9.897908 -v -0.519965 2.784330 9.897908 -v -0.519965 4.215673 9.897908 -v 0.000003 4.384622 9.897908 -v -0.616975 3.299531 -9.822908 -v -0.616975 3.700462 -10.379472 -v -0.616975 3.299530 -10.379472 -v -0.616975 3.700462 -9.822908 -v 0.381305 4.024827 -9.822908 -v -0.000003 4.148718 -9.822908 -v 0.616969 3.700462 -9.822908 -v 0.616969 3.299531 -9.822908 -v 0.381305 2.975170 -9.822908 -v -0.381311 2.975170 -9.822908 -v -0.000003 2.851278 -9.822908 -v 0.616969 3.700462 -10.379472 -v -0.000003 4.148718 -10.379472 -v 0.381305 2.975170 -10.379472 -v 0.616969 3.299530 -10.379472 -v -0.381311 2.975170 -10.379472 -v -0.381311 4.024827 -10.379472 -v -0.000003 2.851278 -10.379472 -v 0.381305 4.024827 -10.379472 -v 0.393890 3.128783 -5.892444 -v -1.473918 4.208779 -5.941060 -v -0.215037 3.077499 -3.175848 -v -0.197877 3.936519 -4.020596 -v 0.208107 3.936351 -4.012524 -v -0.771279 5.530663 -9.417192 -vt 0.527579 0.843077 -vt 0.818514 0.903517 -vt 0.527579 0.904025 -vt 0.818514 0.999529 -vt 0.527579 0.938195 -vt 0.818514 0.938957 -vt 0.451532 0.938195 -vt 0.601607 0.751835 -vt 0.564045 0.842170 -vt 0.601607 0.842170 -vt 0.564045 0.751835 -vt 0.526858 0.842170 -vt 0.526858 0.751835 -vt 0.490047 0.842170 -vt 0.490047 0.751835 -vt 0.452109 0.842170 -vt 0.751857 0.751835 -vt 0.714295 0.842170 -vt 0.751857 0.842170 -vt 0.714295 0.751835 -vt 0.676356 0.842170 -vt 0.676356 0.751835 -vt 0.639545 0.842170 -vt 0.639545 0.751835 -vt 0.525741 0.869077 -vt 0.515026 0.885956 -vt 0.463759 0.885334 -vt 0.601692 0.396030 -vt 0.639188 0.583813 -vt 0.639188 0.396030 -vt 0.676683 0.583813 -vt 0.676683 0.396030 -vt 0.714179 0.396030 -vt 0.714179 0.583813 -vt 0.751674 0.396030 -vt 0.451711 0.583813 -vt 0.489206 0.396030 -vt 0.451711 0.396030 -vt 0.526701 0.583813 -vt 0.526701 0.396030 -vt 0.676683 0.593980 -vt 0.714179 0.593980 -vt 0.564197 0.583813 -vt 0.564197 0.396030 -vt 0.526701 0.385823 -vt 0.526701 0.593980 -vt 0.564197 0.619244 -vt 0.564197 0.593980 -vt 0.489206 0.583813 -vt 0.751674 0.583813 -vt 0.751674 0.593980 -vt 0.489206 0.593980 -vt 0.601692 0.583813 -vt 0.601692 0.593980 -vt 0.639188 0.593980 -vt 0.451827 0.314796 -vt 0.579610 0.279064 -vt 0.601536 0.314798 -vt 0.451711 0.619244 -vt 0.489206 0.619244 -vt 0.714179 0.619244 -vt 0.639188 0.619244 -vt 0.601692 0.619244 -vt 0.526701 0.619244 -vt 0.751674 0.619244 -vt 0.676683 0.619244 -vt 0.601692 0.385823 -vt 0.564197 0.365688 -vt 0.564197 0.385823 -vt 0.676683 0.385823 -vt 0.639188 0.385823 -vt 0.489206 0.385823 -vt 0.451711 0.385823 -vt 0.714179 0.385823 -vt 0.624771 0.279664 -vt 0.751320 0.315075 -vt 0.603068 0.315060 -vt 0.526701 0.365688 -vt 0.489206 0.365688 -vt 0.751674 0.385823 -vt 0.714179 0.365688 -vt 0.639188 0.365688 -vt 0.451711 0.365688 -vt 0.676683 0.365688 -vt 0.601692 0.365688 -vt 0.751346 0.193282 -vt 0.452761 0.263765 -vt 0.751346 0.263765 -vt 0.647089 0.751158 -vt 0.571440 0.645292 -vt 0.647089 0.645292 -vt 0.571440 0.751158 -vt 0.526386 0.644688 -vt 0.526386 0.751158 -vt 0.451379 0.644688 -vt 0.691237 0.751158 -vt 0.691237 0.645292 -vt 0.451379 0.619409 -vt 0.526386 0.619409 -vt 0.820207 0.914045 -vt 0.865118 0.939246 -vt 0.865118 0.914045 -vt 0.954494 0.939246 -vt 0.954494 0.914045 -vt 1.000067 0.939246 -vt 1.000067 0.914045 -vt 0.948519 0.999611 -vt 0.821154 0.982062 -vt 0.999562 0.982062 -vt 0.997335 0.982124 -vt 0.872418 0.999486 -vt 0.821195 0.982124 -vt 0.998746 0.842514 -vt 0.916847 0.720802 -vt 0.916847 0.842514 -vt 0.916847 0.665046 -vt 0.834948 0.720802 -vt 0.753049 0.720802 -vt 0.834948 0.842514 -vt 0.225330 0.955040 -vt 0.262812 0.116603 -vt 0.225330 0.116603 -vt 0.262812 0.955040 -vt 0.300293 0.116603 -vt 0.300293 0.955040 -vt 0.337775 0.116603 -vt 0.337775 0.955040 -vt 0.375256 0.116603 -vt 0.375256 0.955040 -vt 0.412738 0.116603 -vt 0.037923 0.955040 -vt 0.075404 0.116603 -vt 0.037923 0.116603 -vt 0.075404 0.955040 -vt 0.112886 0.116603 -vt 0.112886 0.955040 -vt 0.150367 0.116603 -vt 0.262812 0.959827 -vt 0.150367 0.955040 -vt 0.187849 0.116603 -vt 0.187849 0.955040 -vt 0.187849 0.101602 -vt 0.144918 0.065072 -vt 0.006436 0.036153 -vt 0.145032 0.034460 -vt 0.150367 0.101602 -vt 0.112886 0.101602 -vt 0.075404 0.101602 -vt 0.037923 0.101602 -vt 0.375256 0.101602 -vt 0.337775 0.101602 -vt 0.262812 0.101602 -vt 0.225330 0.101602 -vt 0.300293 0.101602 -vt 0.337775 0.959827 -vt 0.300293 0.999948 -vt 0.337775 0.999948 -vt 0.300293 0.959827 -vt 0.187849 0.959827 -vt 0.225330 0.959827 -vt 0.150367 0.959827 -vt 0.112886 0.959827 -vt 0.075404 0.959827 -vt 0.412738 0.955040 -vt 0.375256 0.959827 -vt 0.412738 0.959827 -vt 0.153921 0.065967 -vt 0.296232 0.034750 -vt 0.295940 0.065362 -vt 0.225330 0.999948 -vt 0.075404 0.999948 -vt 0.112886 0.999948 -vt 0.375256 0.999948 -vt 0.262812 0.999948 -vt 0.150367 0.999948 -vt 0.412738 0.999948 -vt 0.187849 0.999948 -vt 0.037923 0.999948 -vt 0.818514 0.843077 -vt 0.527579 0.999529 -vt 0.451532 0.904025 -vt 0.452109 0.751835 -vt 0.453239 0.868198 -vt 0.463954 0.851318 -vt 0.489628 0.844584 -vt 0.515221 0.851940 -vt 0.489352 0.892690 -vt 0.451711 0.593980 -vt 0.579613 0.350531 -vt 0.473752 0.350529 -vt 0.526683 0.365331 -vt 0.473750 0.279063 -vt 0.526680 0.264262 -vt 0.729617 0.350470 -vt 0.677205 0.365127 -vt 0.624787 0.350459 -vt 0.677183 0.265008 -vt 0.729601 0.279675 -vt 0.751674 0.365688 -vt 0.452761 0.193282 -vt 0.451379 0.751158 -vt 0.820207 0.939246 -vt 0.872853 0.939693 -vt 0.947243 0.939693 -vt 0.999034 0.957243 -vt 0.820625 0.957243 -vt 0.874129 0.999611 -vt 0.821713 0.957571 -vt 0.997853 0.957571 -vt 0.873670 0.940209 -vt 0.946630 0.940209 -vt 0.945378 0.999486 -vt 0.998746 0.720802 -vt 0.834948 0.665046 -vt 0.753049 0.842514 -vt 0.032998 0.011064 -vt 0.075862 0.001081 -vt 0.118655 0.010018 -vt 0.118356 0.090161 -vt 0.032699 0.091207 -vt 0.075492 0.100143 -vt 0.006322 0.066764 -vt 0.412738 0.101602 -vt 0.037923 0.959827 -vt 0.268581 0.090244 -vt 0.224605 0.099890 -vt 0.180808 0.090618 -vt 0.154212 0.035355 -vt 0.181571 0.010473 -vt 0.225547 0.000826 -vt 0.269344 0.010099 -vn 1.0000 0.0000 -0.0000 -vn -1.0000 -0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 -1.0000 0.0000 -vn -0.3827 0.0000 0.9239 -vn -0.9239 0.0000 0.3827 -vn -0.9239 -0.0000 -0.3827 -vn -0.3827 -0.0000 -0.9239 -vn 0.3827 -0.0000 -0.9239 -vn 0.9239 0.0000 -0.3827 -vn 0.9239 0.0000 0.3827 -vn 0.3827 0.0000 0.9239 -vn -0.3827 0.9239 0.0000 -vn -0.9239 0.3827 0.0000 -vn -0.9239 -0.3827 0.0000 -vn -0.3827 -0.9239 0.0000 -vn 0.3827 -0.9239 0.0000 -vn 0.9239 -0.3827 -0.0000 -vn -0.3839 -0.1590 0.9096 -vn 0.9239 0.3827 -0.0000 -vn 0.3827 0.9239 -0.0000 -vn 0.4572 0.1894 -0.8689 -vn 0.3839 -0.1590 0.9096 -vn -0.1590 -0.3839 0.9096 -vn 0.3839 0.1590 0.9096 -vn -0.3839 0.1590 0.9096 -vn 0.1590 -0.3839 0.9096 -vn 0.1590 0.3839 0.9096 -vn -0.1590 0.3839 0.9096 -vn -0.4572 0.1894 -0.8689 -vn 0.1894 -0.4572 -0.8689 -vn 0.1894 0.4572 -0.8689 -vn -0.1894 0.4572 -0.8689 -vn -0.4572 -0.1894 -0.8690 -vn -0.4572 -0.1894 -0.8689 -vn 0.4572 -0.1894 -0.8689 -vn -0.1894 -0.4572 -0.8689 -vn 0.0000 0.0000 1.0000 -vn 0.4226 0.9063 -0.0000 -vn -0.0142 -0.7129 0.7011 -vn -0.0003 -1.0000 -0.0082 -vn 0.0139 -0.7012 -0.7128 -vn -0.9998 0.0004 -0.0199 -vn 0.9998 -0.0004 0.0199 -vn -0.3090 0.9511 -0.0000 -vn -0.8090 0.5878 0.0000 -vn -0.8090 -0.5878 0.0000 -vn -0.3090 -0.9511 0.0000 -vn 0.3090 -0.9511 0.0000 -vn 0.8090 -0.5878 -0.0000 -vn -0.1904 0.5858 0.7877 -vn -0.1903 0.5859 0.7877 -vn 0.8090 0.5878 -0.0000 -vn 0.3090 0.9511 -0.0000 -vn 0.1206 0.3711 -0.9207 -vn 0.3157 0.2294 -0.9207 -vn 0.3902 0.0000 -0.9207 -vn 0.3157 -0.2294 -0.9207 -vn 0.1206 -0.3711 -0.9207 -vn -0.1206 -0.3711 -0.9207 -vn -0.3157 -0.2294 -0.9207 -vn -0.1206 0.3711 -0.9207 -vn -0.3902 0.0000 -0.9207 -vn -0.3157 0.2294 -0.9207 -vn -0.6160 0.0000 0.7877 -vn -0.4984 0.3621 0.7877 -vn -0.4983 0.3621 0.7877 -vn -0.4983 0.3621 0.7878 -vn 0.1904 0.5858 0.7877 -vn 0.1903 0.5859 0.7877 -vn 0.4984 0.3621 0.7877 -vn 0.4983 0.3621 0.7877 -vn 0.6160 0.0000 0.7877 -vn 0.4984 -0.3621 0.7877 -vn 0.1904 -0.5859 0.7877 -vn -0.1904 -0.5859 0.7877 -vn -0.4984 -0.3621 0.7877 -vn -0.4572 0.1894 -0.8690 -vn -0.4983 -0.3621 0.7877 -usemtl None -s 1 -f 1/1/1 2/2/1 3/3/1 -f 4/4/2 5/5/2 6/6/2 -f 7/7/3 3/3/3 5/5/3 -f 6/6/4 3/3/4 2/2/4 -f 8/8/5 9/9/5 10/10/5 -f 11/11/6 12/12/6 9/9/6 -f 13/13/7 14/14/7 12/12/7 -f 15/15/8 16/16/8 14/14/8 -f 17/17/9 18/18/9 16/19/9 -f 19/20/10 20/21/10 18/18/10 -f 21/22/11 22/23/11 20/21/11 -f 23/24/12 10/10/12 22/23/12 -f 16/25/4 18/26/4 22/27/4 -f 24/28/13 25/29/13 26/30/13 -f 26/30/14 27/31/14 28/32/14 -f 27/31/15 29/33/15 28/32/15 -f 30/34/16 31/35/16 29/33/16 -f 32/36/17 33/37/17 31/38/17 -f 33/37/18 34/39/18 35/40/18 -f 30/34/19 36/41/19 37/42/19 -f 35/40/20 38/43/20 39/44/20 -f 38/43/21 24/28/21 39/44/21 -f 39/44/22 40/45/22 35/40/22 -f 41/46/20 42/47/20 43/48/20 -f 44/49/23 41/46/23 34/39/23 -f 32/50/24 37/42/24 45/51/24 -f 38/43/25 41/46/25 43/48/25 -f 25/29/26 36/41/26 27/31/26 -f 32/36/27 46/52/27 44/49/27 -f 47/53/28 43/48/28 48/54/28 -f 47/53/29 49/55/29 25/29/29 -f 50/56/3 51/57/3 52/58/3 -f 46/52/17 53/59/17 54/60/17 -f 36/41/15 51/61/15 37/42/15 -f 48/54/13 55/62/13 49/55/13 -f 43/48/21 56/63/21 48/54/21 -f 46/52/18 50/64/18 41/46/18 -f 37/42/16 53/65/16 45/51/16 -f 49/55/14 52/66/14 36/41/14 -f 57/67/21 58/68/21 59/69/21 -f 26/30/30 60/70/30 61/71/30 -f 31/38/31 62/72/31 63/73/31 -f 24/28/32 59/69/32 39/44/32 -f 24/28/33 61/71/33 57/67/33 -f 29/33/34 60/70/35 28/32/35 -f 33/37/36 40/45/36 62/72/36 -f 31/35/37 64/74/37 29/33/37 -f 65/75/38 66/76/38 67/77/38 -f 62/72/18 66/78/18 68/79/18 -f 63/80/16 65/81/16 64/74/16 -f 60/70/14 69/82/14 61/71/14 -f 40/45/20 58/68/20 66/78/20 -f 62/72/17 70/83/17 63/73/17 -f 64/74/15 67/84/15 60/70/15 -f 61/71/13 71/85/13 57/67/13 -f 72/86/39 73/87/39 74/88/39 -f 75/89/1 76/90/1 77/91/1 -f 78/92/38 79/93/38 76/90/38 -f 80/94/2 81/95/2 79/93/2 -f 82/96/3 77/91/3 81/97/3 -f 79/93/4 77/98/4 76/99/4 -f 83/100/40 84/101/40 85/102/40 -f 85/102/41 86/103/41 87/104/41 -f 87/104/42 88/105/42 89/106/42 -f 90/107/43 91/108/43 92/109/43 -f 93/110/44 94/111/44 95/112/44 -f 96/113/1 97/114/1 98/115/1 -f 99/116/38 100/117/38 97/114/38 -f 101/118/2 102/119/2 100/117/2 -f 100/117/4 98/115/4 97/114/4 -f 103/120/45 104/121/45 105/122/45 -f 106/123/46 107/124/46 104/121/46 -f 108/125/2 109/126/2 107/124/2 -f 110/127/47 111/128/47 109/126/47 -f 112/129/48 113/130/48 111/128/48 -f 114/131/49 115/132/49 113/133/49 -f 116/134/50 117/135/50 115/132/50 -f 118/136/1 119/137/1 117/135/1 -f 103/120/51 120/138/52 106/123/52 -f 121/139/53 122/140/53 119/137/53 -f 123/141/54 105/122/54 122/140/54 -f 105/122/55 124/142/55 122/140/55 -f 125/143/38 126/144/38 127/145/38 -f 122/140/56 126/146/56 119/137/56 -f 117/135/57 126/146/57 128/147/57 -f 115/132/58 128/147/58 129/148/58 -f 113/133/59 129/148/59 130/149/59 -f 113/130/60 131/150/60 111/128/60 -f 111/128/61 125/151/61 109/126/61 -f 105/122/62 132/152/62 133/153/62 -f 109/126/63 127/154/63 107/124/63 -f 104/121/64 127/154/64 132/152/64 -f 134/155/2 135/156/2 136/157/2 -f 108/125/65 134/155/65 110/127/65 -f 106/123/66 137/158/67 108/125/68 -f 103/120/69 138/159/70 139/160/69 -f 123/141/71 140/161/72 138/159/71 -f 118/136/73 140/161/73 121/139/73 -f 116/134/74 141/162/74 118/136/74 -f 114/131/75 142/163/75 116/134/75 -f 114/164/76 143/165/76 144/166/76 -f 112/129/77 134/155/77 143/165/77 -f 145/167/3 136/168/3 135/169/3 -f 138/159/54 146/170/54 139/160/54 -f 141/162/50 147/171/50 148/172/50 -f 143/165/47 136/157/47 149/173/47 -f 139/160/45 150/174/45 120/138/45 -f 141/162/1 145/175/1 140/161/1 -f 144/166/48 149/173/48 151/176/48 -f 120/138/46 135/156/46 137/158/46 -f 140/161/53 152/177/53 138/159/53 -f 142/163/49 151/178/49 147/171/49 -f 1/1/1 153/179/1 2/2/1 -f 4/4/2 7/180/2 5/5/2 -f 7/7/3 1/181/3 3/3/3 -f 6/6/4 5/5/4 3/3/4 -f 8/8/5 11/11/5 9/9/5 -f 11/11/6 13/13/6 12/12/6 -f 13/13/7 15/15/7 14/14/7 -f 15/15/8 17/182/8 16/16/8 -f 17/17/9 19/20/9 18/18/9 -f 19/20/10 21/22/10 20/21/10 -f 21/22/11 23/24/11 22/23/11 -f 23/24/12 8/8/12 10/10/12 -f 22/27/4 10/183/4 16/25/4 -f 9/184/4 12/185/4 14/186/4 -f 14/186/4 16/25/4 10/183/4 -f 18/26/4 20/187/4 22/27/4 -f 10/183/4 9/184/4 14/186/4 -f 24/28/13 47/53/13 25/29/13 -f 26/30/14 25/29/14 27/31/14 -f 27/31/15 30/34/15 29/33/15 -f 30/34/16 32/50/16 31/35/16 -f 32/36/17 44/49/17 33/37/17 -f 33/37/18 44/49/18 34/39/18 -f 30/34/19 27/31/19 36/41/19 -f 35/40/20 34/39/20 38/43/20 -f 38/43/21 47/53/21 24/28/21 -f 39/44/22 59/69/22 40/45/22 -f 41/46/20 50/64/20 42/47/20 -f 44/49/23 46/52/23 41/46/23 -f 32/50/24 30/34/24 37/42/24 -f 38/43/25 34/39/25 41/46/25 -f 25/29/26 49/55/26 36/41/26 -f 32/36/27 45/188/27 46/52/27 -f 47/53/28 38/43/28 43/48/28 -f 47/53/29 48/54/29 49/55/29 -f 52/58/3 55/189/3 42/190/3 -f 56/191/3 42/190/3 55/189/3 -f 50/56/3 54/192/3 51/57/3 -f 53/193/3 51/57/3 54/192/3 -f 52/58/3 42/190/3 50/56/3 -f 46/52/17 45/188/17 53/59/17 -f 36/41/15 52/66/15 51/61/15 -f 48/54/13 56/63/13 55/62/13 -f 43/48/21 42/47/21 56/63/21 -f 46/52/18 54/60/18 50/64/18 -f 37/42/16 51/61/16 53/65/16 -f 49/55/14 55/62/14 52/66/14 -f 57/67/21 71/85/21 58/68/21 -f 26/30/30 28/32/78 60/70/30 -f 31/38/31 33/37/31 62/72/31 -f 24/28/32 57/67/32 59/69/32 -f 24/28/33 26/30/33 61/71/33 -f 29/33/34 64/74/34 60/70/35 -f 33/37/36 35/40/36 40/45/36 -f 31/35/37 63/80/37 64/74/37 -f 58/194/38 71/195/38 69/196/38 -f 69/196/38 67/77/38 58/194/38 -f 65/75/38 70/197/38 68/198/38 -f 68/198/38 66/76/38 65/75/38 -f 58/194/38 67/77/38 66/76/38 -f 62/72/18 40/45/18 66/78/18 -f 63/80/16 70/199/16 65/81/16 -f 60/70/14 67/84/14 69/82/14 -f 40/45/20 59/69/20 58/68/20 -f 62/72/17 68/79/17 70/83/17 -f 64/74/15 65/81/15 67/84/15 -f 61/71/13 69/82/13 71/85/13 -f 72/86/39 154/200/39 73/87/39 -f 75/89/1 78/92/1 76/90/1 -f 78/92/38 80/94/38 79/93/38 -f 80/94/2 82/201/2 81/95/2 -f 82/96/3 75/89/3 77/91/3 -f 79/93/4 81/95/4 77/98/4 -f 83/100/40 155/202/40 84/101/40 -f 85/102/41 84/101/41 86/103/41 -f 87/104/42 86/103/42 88/105/42 -f 86/203/43 84/204/43 155/205/43 -f 155/205/43 92/109/43 88/206/43 -f 90/107/43 156/207/43 91/108/43 -f 91/108/43 88/206/43 92/109/43 -f 86/203/43 155/205/43 88/206/43 -f 95/112/44 83/208/44 89/209/44 -f 85/210/44 87/211/44 83/208/44 -f 89/209/44 93/110/44 95/112/44 -f 157/212/44 94/111/44 93/110/44 -f 83/208/44 87/211/44 89/209/44 -f 96/113/1 99/213/1 97/114/1 -f 99/116/38 101/214/38 100/117/38 -f 101/118/2 158/215/2 102/119/2 -f 100/117/4 102/119/4 98/115/4 -f 103/120/45 106/123/45 104/121/45 -f 106/123/46 108/125/46 107/124/46 -f 108/125/2 110/127/2 109/126/2 -f 110/127/47 112/129/47 111/128/47 -f 112/129/48 114/164/48 113/130/48 -f 114/131/49 116/134/49 115/132/49 -f 116/134/50 118/136/50 117/135/50 -f 118/136/1 121/139/1 119/137/1 -f 103/120/51 139/160/51 120/138/52 -f 121/139/53 123/141/53 122/140/53 -f 123/141/54 103/120/54 105/122/54 -f 105/122/55 133/153/55 124/142/55 -f 124/216/38 133/217/38 132/218/38 -f 132/218/38 127/145/38 124/216/38 -f 125/143/38 131/219/38 129/220/38 -f 130/221/38 129/220/38 131/219/38 -f 128/222/38 126/144/38 125/143/38 -f 124/216/38 127/145/38 126/144/38 -f 125/143/38 129/220/38 128/222/38 -f 122/140/56 124/142/56 126/146/56 -f 117/135/57 119/137/57 126/146/57 -f 115/132/58 117/135/58 128/147/58 -f 113/133/59 115/132/59 129/148/59 -f 113/130/60 130/223/60 131/150/60 -f 111/128/61 131/150/61 125/151/61 -f 105/122/62 104/121/62 132/152/62 -f 109/126/63 125/151/63 127/154/63 -f 104/121/64 107/124/64 127/154/64 -f 134/155/2 137/158/2 135/156/2 -f 108/125/65 137/158/65 134/155/65 -f 106/123/66 120/138/66 137/158/67 -f 103/120/69 123/141/70 138/159/70 -f 123/141/71 121/139/72 140/161/72 -f 118/136/73 141/162/73 140/161/73 -f 116/134/74 142/163/74 141/162/74 -f 114/131/75 144/224/75 142/163/75 -f 114/164/76 112/129/76 143/165/76 -f 112/129/77 110/127/79 134/155/77 -f 135/169/3 150/225/3 145/167/3 -f 146/226/3 152/227/3 150/225/3 -f 145/167/3 148/228/3 136/168/3 -f 147/229/3 151/230/3 149/231/3 -f 149/231/3 136/168/3 148/228/3 -f 150/225/3 152/227/3 145/167/3 -f 148/228/3 147/229/3 149/231/3 -f 138/159/54 152/177/54 146/170/54 -f 141/162/50 142/163/50 147/171/50 -f 143/165/47 134/155/47 136/157/47 -f 139/160/45 146/170/45 150/174/45 -f 141/162/1 148/172/1 145/175/1 -f 144/166/48 143/165/48 149/173/48 -f 120/138/46 150/174/46 135/156/46 -f 140/161/53 145/175/53 152/177/53 -f 142/163/49 144/224/49 151/178/49 o Mag_Cube.002 v -0.089029 2.933951 -0.760703 v -0.089029 1.301304 -1.115814 @@ -809,7 +81,7 @@ vt 0.847847 0.234129 vt 0.870079 0.477673 vt 0.832728 0.477252 vt 0.845893 0.232242 -vn -1.0000 0.0000 0.0000 +vn -1.0000 -0.0000 0.0000 vn 0.0000 -0.0279 -0.9996 vn 0.9599 0.0013 0.2804 vn 0.9594 0.0014 0.2820 @@ -833,50 +105,789 @@ vn 0.9591 0.0015 0.2831 vn 0.9632 -0.0258 0.2676 vn -0.9993 0.0350 0.0119 vn -0.9602 0.0012 0.2793 -usemtl None_NONE s 1 -f 159/232/80 160/233/80 161/234/80 -f 162/235/81 160/236/81 163/237/81 -f 164/238/82 165/239/83 166/240/84 -f 167/241/85 165/242/85 168/243/85 -f 160/244/86 166/245/86 161/246/86 -f 169/247/87 170/248/87 171/249/88 -f 172/250/89 168/251/89 173/252/89 -f 174/253/90 168/254/90 164/238/90 -f 175/255/91 163/237/91 176/256/92 -f 177/257/80 163/258/80 159/232/80 -f 170/259/80 176/260/80 177/257/80 -f 169/261/92 176/256/92 178/262/92 -f 171/263/93 173/264/93 174/253/93 -f 179/265/94 173/266/94 180/267/94 -f 171/263/93 175/268/93 169/269/93 -f 170/259/80 172/270/80 179/271/80 -f 177/257/95 167/272/95 172/270/95 -f 174/253/93 162/273/93 175/268/93 -f 171/249/88 179/274/88 180/275/88 -f 161/246/96 165/276/96 181/277/96 -f 164/238/93 182/278/93 162/273/93 -f 159/232/97 181/279/98 167/272/99 -f 159/232/80 163/258/80 160/233/80 -f 162/235/81 182/280/81 160/236/81 -f 164/238/82 168/254/100 165/239/83 -f 167/241/85 181/281/85 165/242/85 -f 160/244/86 182/282/86 166/245/86 -f 169/247/87 178/283/87 170/248/87 -f 172/250/89 167/284/89 168/251/89 -f 174/253/101 173/264/101 168/254/101 -f 175/255/91 162/235/91 163/237/91 -f 177/257/80 176/260/80 163/258/80 -f 170/259/80 178/285/80 176/260/80 -f 169/261/92 175/255/91 176/256/92 -f 171/263/93 180/286/93 173/264/93 -f 179/265/94 172/287/94 173/266/94 -f 171/263/93 174/253/93 175/268/93 -f 170/259/80 177/257/80 172/270/80 -f 177/257/102 159/232/102 167/272/102 -f 174/253/93 164/238/93 162/273/93 -f 171/249/88 170/248/87 179/274/88 -f 161/246/96 166/245/96 165/276/96 -f 164/238/93 166/240/93 182/278/93 -f 159/232/97 161/234/103 181/279/98 - +f 1/1/1 2/2/1 3/3/1 +f 4/4/2 2/5/2 5/6/2 +f 6/7/3 7/8/4 8/9/5 +f 9/10/6 7/11/6 10/12/6 +f 2/13/7 8/14/7 3/15/7 +f 11/16/8 12/17/8 13/18/9 +f 14/19/10 10/20/10 15/21/10 +f 16/22/11 10/23/11 6/7/11 +f 17/24/12 5/6/12 18/25/13 +f 19/26/1 5/27/1 1/1/1 +f 12/28/1 18/29/1 19/26/1 +f 11/30/13 18/25/13 20/31/13 +f 13/32/14 15/33/14 16/22/14 +f 21/34/15 15/35/15 22/36/15 +f 13/32/14 17/37/14 11/38/14 +f 12/28/1 14/39/1 21/40/1 +f 19/26/16 9/41/16 14/39/16 +f 16/22/14 4/42/14 17/37/14 +f 13/18/9 21/43/9 22/44/9 +f 3/15/17 7/45/17 23/46/17 +f 6/7/14 24/47/14 4/42/14 +f 1/1/18 23/48/19 9/41/20 +f 1/1/1 5/27/1 2/2/1 +f 4/4/2 24/49/2 2/5/2 +f 6/7/3 10/23/21 7/8/4 +f 9/10/6 23/50/6 7/11/6 +f 2/13/7 24/51/7 8/14/7 +f 11/16/8 20/52/8 12/17/8 +f 14/19/10 9/53/10 10/20/10 +f 16/22/22 15/33/22 10/23/22 +f 17/24/12 4/4/12 5/6/12 +f 19/26/1 18/29/1 5/27/1 +f 12/28/1 20/54/1 18/29/1 +f 11/30/13 17/24/12 18/25/13 +f 13/32/14 22/55/14 15/33/14 +f 21/34/15 14/56/15 15/35/15 +f 13/32/14 16/22/14 17/37/14 +f 12/28/1 19/26/1 14/39/1 +f 19/26/23 1/1/23 9/41/23 +f 16/22/14 6/7/14 4/42/14 +f 13/18/9 12/17/8 21/43/9 +f 3/15/17 8/14/17 7/45/17 +f 6/7/14 8/9/14 24/47/14 +f 1/1/18 3/3/24 23/48/19 +o Cube.001_Cube.002 +v 0.393889 3.128783 -9.337228 +v 0.393890 1.846543 -5.892444 +v 0.393889 1.846542 -9.337228 +v -0.393894 3.128783 -5.892444 +v -0.393895 1.846542 -9.337228 +v -0.393894 1.846543 -5.892444 +v -0.393895 3.128783 -9.337228 +v -0.000002 3.303435 -5.049528 +v -0.382998 1.728983 -5.208168 +v -0.000002 1.728983 -5.049528 +v -0.382998 3.303435 -5.208168 +v -0.541638 1.728983 -5.591164 +v -0.541638 3.303435 -5.591164 +v -0.382998 1.728983 -5.974160 +v -0.382998 3.303435 -5.974160 +v -0.000002 1.728983 -6.132800 +v -0.000002 3.303435 -6.132800 +v 0.382994 1.728983 -5.974160 +v 0.382994 3.303435 -5.974160 +v 0.541634 1.728983 -5.591164 +v 0.541634 3.303435 -5.591164 +v 0.382994 1.728983 -5.208168 +v 0.382994 3.303435 -5.208168 +v -1.403786 4.699999 -5.797567 +v -1.686627 4.582843 -7.948311 +v -1.686626 4.582843 -5.797567 +v -1.803787 4.300000 -7.948311 +v -1.803786 4.300000 -5.797567 +v -1.686626 4.017156 -5.797567 +v -1.686627 4.017156 -7.948311 +v -1.403786 3.899999 -5.797567 +v -1.403787 3.899999 -7.948311 +v -1.120942 4.017156 -5.797567 +v -1.003787 4.300000 -7.948312 +v -1.003786 4.300000 -5.797568 +v -1.883787 4.300000 -7.982080 +v -1.743199 3.960587 -7.982080 +v -1.120943 4.582843 -7.948312 +v -1.120942 4.582843 -5.797568 +v -0.923786 4.300000 -5.755472 +v -0.923787 4.300000 -7.982080 +v -1.064375 4.639411 -8.277956 +v -1.064375 4.639411 -7.982080 +v -1.120943 4.017156 -7.948311 +v -1.403787 3.819999 -7.982080 +v -1.064375 3.960587 -7.982080 +v -1.403787 4.699999 -7.948311 +v -1.403787 4.779999 -7.982080 +v -1.743199 4.639411 -7.982080 +v -0.923787 4.300000 -8.277956 +v -1.743199 3.960588 -8.277955 +v -1.883787 4.300000 -8.277955 +v -1.403787 3.819999 -8.277956 +v -1.064375 3.960588 -8.277956 +v -1.743199 4.639411 -8.277956 +v -1.403787 4.779999 -8.277956 +v -1.403786 4.779999 -5.755472 +v -1.064374 4.639411 -5.489088 +v -1.064374 4.639411 -5.755472 +v -1.883786 4.300000 -5.755472 +v -1.743198 4.639411 -5.755472 +v -1.064374 3.960587 -5.755472 +v -1.403786 3.819999 -5.755472 +v -1.743198 3.960587 -5.755472 +v -1.743198 3.960587 -5.489088 +v -0.923786 4.300000 -5.489088 +v -1.883786 4.300000 -5.489088 +v -1.064374 3.960587 -5.489088 +v -1.743198 4.639411 -5.489088 +v -1.403786 3.819999 -5.489088 +v -1.403786 4.779999 -5.489088 +v -1.473919 4.208779 -7.811895 +v -0.447114 3.729971 -5.941060 +v -0.447115 3.729971 -7.811896 +v 0.128767 2.756387 -3.983544 +v 0.128767 1.614719 -3.555136 +v 0.128767 1.614719 -3.983544 +v 0.128767 2.756387 -3.555136 +v -0.128769 1.614719 -3.555136 +v -0.128769 2.756387 -3.555136 +v -0.128769 1.614719 -3.983544 +v -0.128769 2.756387 -3.983544 +v 0.190951 3.077327 -3.167776 +v -0.208109 2.727468 -3.531600 +v 0.197875 2.727295 -3.523528 +v -0.198185 2.731559 -4.030576 +v 0.207799 2.731387 -4.022504 +v -0.191081 3.087375 -4.380480 +v 0.214907 3.087207 -4.372408 +v -0.207801 3.932427 -3.521620 +v -0.190953 3.586487 -4.376348 +v -0.214909 3.576612 -3.171716 +v 0.215035 3.586319 -4.368276 +v 0.198183 3.932260 -3.513548 +v 0.191079 3.576439 -3.163644 +v 0.771273 5.530663 -9.417193 +v 0.771274 4.098263 -6.669316 +v 0.771273 4.098262 -9.417192 +v 0.771274 5.530663 -6.669315 +v -0.771278 4.098263 -6.669316 +v -0.771278 5.530663 -6.669315 +v -0.771279 4.098262 -9.417192 +v -0.000003 4.089743 -9.779048 +v -0.346641 3.977118 9.779048 +v 0.000003 4.089749 9.779048 +v -0.346647 3.977114 -9.779048 +v -0.560881 3.682245 9.779048 +v -0.560887 3.682239 -9.779048 +v -0.560881 3.317761 9.779048 +v -0.560887 3.317755 -9.779048 +v -0.346641 3.022886 9.779048 +v -0.346647 3.022882 -9.779048 +v 0.000003 2.910254 9.779048 +v -0.000003 2.910250 -9.779048 +v 0.346647 3.022886 9.779048 +v 0.346641 3.022882 -9.779048 +v 0.560887 3.317761 9.779048 +v 0.560881 3.317755 -9.779048 +v 0.560887 3.682245 9.779048 +v -0.381311 4.024827 -9.822908 +v 0.560881 3.682239 -9.779048 +v 0.346647 3.977118 9.779048 +v 0.346641 3.977114 -9.779048 +v 0.519971 4.215672 9.897908 +v -0.841321 3.226638 9.897908 +v 0.841327 3.773365 9.897908 +v -0.841321 3.773365 9.897908 +v 0.841327 3.226638 9.897908 +v 0.519971 2.784329 9.897908 +v 0.000003 2.615381 9.897908 +v -0.519965 2.784329 9.897908 +v -0.519965 4.215672 9.897908 +v 0.000003 4.384622 9.897908 +v -0.616975 3.299531 -9.822908 +v -0.616975 3.700463 -10.379472 +v -0.616975 3.299531 -10.379472 +v -0.616975 3.700463 -9.822908 +v 0.381305 4.024827 -9.822908 +v -0.000003 4.148718 -9.822908 +v 0.616969 3.700463 -9.822908 +v 0.616969 3.299531 -9.822908 +v 0.381305 2.975170 -9.822908 +v -0.381311 2.975170 -9.822908 +v -0.000003 2.851279 -9.822908 +v 0.616969 3.700463 -10.379472 +v -0.000003 4.148718 -10.379472 +v 0.381305 2.975170 -10.379472 +v 0.616969 3.299531 -10.379472 +v -0.381311 2.975170 -10.379472 +v -0.381311 4.024827 -10.379472 +v -0.000003 2.851279 -10.379472 +v 0.381305 4.024827 -10.379472 +v 0.393890 3.128783 -5.892444 +v -1.473918 4.208779 -5.941060 +v -0.215037 3.077499 -3.175848 +v -0.197877 3.936519 -4.020596 +v 0.208107 3.936351 -4.012524 +v -0.771279 5.530663 -9.417192 +v 0.771273 5.530663 -9.417193 +v 0.771274 4.098263 -6.669316 +v 0.771273 4.098262 -9.417192 +v 0.771274 5.530663 -6.669315 +v -0.771278 4.098263 -6.669316 +v -0.771278 5.530663 -6.669315 +v -0.771279 4.098262 -9.417192 +v -0.771279 5.530663 -9.417192 +vt 0.753049 0.842514 +vt 0.834948 0.720802 +vt 0.753049 0.720802 +vt 0.451379 0.751158 +vt 0.526386 0.644688 +vt 0.526386 0.751158 +vt 0.647089 0.751158 +vt 0.691237 0.645292 +vt 0.691237 0.751158 +vt 0.571440 0.645292 +vt 0.571440 0.751158 +vt 0.834948 0.720802 +vt 0.753049 0.842514 +vt 0.753049 0.720802 +vt 0.865118 0.914045 +vt 0.954494 0.939246 +vt 0.954494 0.914045 +vt 0.677183 0.265008 +vt 0.751320 0.315075 +vt 0.677205 0.365127 +vt 0.647089 0.645292 +vt 0.451379 0.644688 +vt 0.526386 0.619409 +vt 0.916847 0.720802 +vt 0.834948 0.842514 +vt 0.998746 0.720802 +vt 0.916847 0.842514 +vt 0.998746 0.842514 +vt 0.451532 0.904025 +vt 0.527579 0.938195 +vt 0.451532 0.938195 +vt 1.000067 0.939246 +vt 1.000067 0.914045 +vt 0.997335 0.982124 +vt 0.821713 0.957571 +vt 0.997853 0.957571 +vt 0.948519 0.999611 +vt 0.821154 0.982062 +vt 0.999562 0.982062 +vt 0.872418 0.999486 +vt 0.821195 0.982124 +vt 0.916847 0.720802 +vt 0.527579 0.999529 +vt 0.818514 0.938957 +vt 0.818514 0.999529 +vt 0.751346 0.193282 +vt 0.452761 0.263765 +vt 0.751346 0.263765 +vt 0.834948 0.665046 +vt 0.916847 0.665046 +vt 0.527579 0.843077 +vt 0.818514 0.903517 +vt 0.527579 0.904025 +vt 0.820207 0.914045 +vt 0.865118 0.939246 +vt 0.916847 0.842514 +vt 0.998746 0.720802 +vt 0.998746 0.842514 +vt 0.489352 0.892690 +vt 0.453239 0.868198 +vt 0.489628 0.844584 +vt 0.834948 0.665046 +vt 0.916847 0.665046 +vt 0.118655 0.010018 +vt 0.144918 0.065072 +vt 0.075492 0.100143 +vt 0.872853 0.939693 +vt 0.947243 0.939693 +vt 0.999034 0.957243 +vt 0.874129 0.999611 +vt 0.820625 0.957243 +vt 0.873670 0.940209 +vt 0.946630 0.940209 +vt 0.945378 0.999486 +vt 0.526680 0.264262 +vt 0.601536 0.314798 +vt 0.526683 0.365331 +vt 0.181571 0.010473 +vt 0.295940 0.065362 +vt 0.224605 0.099890 +vt 0.834948 0.842514 +vt 0.624787 0.350459 +vt 0.603068 0.315060 +vt 0.624771 0.279664 +vt 0.729601 0.279675 +vt 0.729617 0.350470 +vt 0.451379 0.619409 +vt 0.452761 0.193282 +vt 0.818514 0.843077 +vt 0.820207 0.939246 +vt 0.515221 0.851940 +vt 0.525741 0.869077 +vt 0.515026 0.885956 +vt 0.463759 0.885334 +vt 0.463954 0.851318 +vt 0.006322 0.066764 +vt 0.006436 0.036153 +vt 0.032998 0.011064 +vt 0.075862 0.001081 +vt 0.145032 0.034460 +vt 0.118356 0.090161 +vt 0.032699 0.091207 +vt 0.473752 0.350529 +vt 0.451827 0.314796 +vt 0.473750 0.279063 +vt 0.579610 0.279064 +vt 0.579613 0.350531 +vt 0.180808 0.090618 +vt 0.153921 0.065967 +vt 0.154212 0.035355 +vt 0.225547 0.000826 +vt 0.269344 0.010099 +vt 0.296232 0.034750 +vt 0.268581 0.090244 +vt 0.150367 0.999948 +vt 0.187849 0.959827 +vt 0.150367 0.959827 +vt 0.564045 0.751835 +vt 0.601607 0.842170 +vt 0.601607 0.751835 +vt 0.337775 0.955040 +vt 0.300293 0.116603 +vt 0.300293 0.955040 +vt 0.639188 0.365688 +vt 0.601692 0.385823 +vt 0.639188 0.385823 +vt 0.676683 0.619244 +vt 0.714179 0.593980 +vt 0.676683 0.593980 +vt 0.489206 0.365688 +vt 0.451711 0.385823 +vt 0.489206 0.385823 +vt 0.526858 0.751835 +vt 0.564045 0.842170 +vt 0.526701 0.385823 +vt 0.112886 0.959827 +vt 0.714179 0.583813 +vt 0.676683 0.396030 +vt 0.676683 0.583813 +vt 0.075404 0.955040 +vt 0.037923 0.116603 +vt 0.037923 0.955040 +vt 0.526701 0.583813 +vt 0.564197 0.396030 +vt 0.526701 0.396030 +vt 0.601692 0.583813 +vt 0.639188 0.396030 +vt 0.601692 0.396030 +vt 0.639188 0.593980 +vt 0.639188 0.583813 +vt 0.112886 0.955040 +vt 0.075404 0.116603 +vt 0.489206 0.396030 +vt 0.451711 0.396030 +vt 0.601692 0.365688 +vt 0.564197 0.385823 +vt 0.601692 0.593980 +vt 0.489206 0.583813 +vt 0.526701 0.593980 +vt 0.451711 0.593980 +vt 0.451711 0.583813 +vt 0.564197 0.583813 +vt 0.564197 0.593980 +vt 0.751674 0.593980 +vt 0.751674 0.583813 +vt 0.714295 0.751835 +vt 0.751857 0.842170 +vt 0.751857 0.751835 +vt 0.639545 0.842170 +vt 0.639545 0.751835 +vt 0.452109 0.751835 +vt 0.490047 0.842170 +vt 0.490047 0.751835 +vt 0.714179 0.365688 +vt 0.676683 0.385823 +vt 0.714179 0.385823 +vt 0.751674 0.365688 +vt 0.751674 0.385823 +vt 0.375256 0.959827 +vt 0.337775 0.999948 +vt 0.375256 0.999948 +vt 0.714179 0.619244 +vt 0.676356 0.751835 +vt 0.714295 0.842170 +vt 0.714179 0.396030 +vt 0.751674 0.396030 +vt 0.526858 0.842170 +vt 0.676356 0.842170 +vt 0.564197 0.619244 +vt 0.262812 0.999948 +vt 0.300293 0.959827 +vt 0.262812 0.959827 +vt 0.225330 0.999948 +vt 0.225330 0.959827 +vt 0.526701 0.365688 +vt 0.037923 0.959827 +vt 0.075404 0.999948 +vt 0.075404 0.959827 +vt 0.412738 0.999948 +vt 0.412738 0.959827 +vt 0.225330 0.955040 +vt 0.187849 0.116603 +vt 0.187849 0.955040 +vt 0.187849 0.999948 +vt 0.412738 0.955040 +vt 0.375256 0.116603 +vt 0.375256 0.955040 +vt 0.150367 0.955040 +vt 0.112886 0.116603 +vt 0.262812 0.955040 +vt 0.262812 0.116603 +vt 0.337775 0.116603 +vt 0.225330 0.116603 +vt 0.601692 0.619244 +vt 0.262812 0.101602 +vt 0.225330 0.101602 +vt 0.337775 0.101602 +vt 0.300293 0.101602 +vt 0.037923 0.101602 +vt 0.187849 0.101602 +vt 0.150367 0.116603 +vt 0.150367 0.101602 +vt 0.112886 0.101602 +vt 0.412738 0.101602 +vt 0.412738 0.116603 +vt 0.075404 0.101602 +vt 0.489206 0.619244 +vt 0.489206 0.593980 +vt 0.112886 0.999948 +vt 0.526701 0.619244 +vt 0.337775 0.959827 +vt 0.300293 0.999948 +vt 0.676683 0.365688 +vt 0.451711 0.365688 +vt 0.564197 0.365688 +vt 0.452109 0.842170 +vt 0.751674 0.619244 +vt 0.037923 0.999948 +vt 0.639188 0.619244 +vt 0.375256 0.101602 +vt 0.451711 0.619244 +vn -1.0000 -0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.0000 1.0000 +vn 1.0000 0.0000 -0.0000 +vn -0.0003 -1.0000 -0.0082 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 -0.0000 +vn 0.0139 -0.7012 -0.7128 +vn 0.9998 -0.0004 0.0199 +vn -0.9998 0.0004 -0.0199 +vn 0.4226 0.9063 -0.0000 +vn -0.0142 -0.7129 0.7011 +vn 0.9511 0.3090 0.0000 +vn 0.5878 0.8090 0.0000 +vn -0.7071 0.0000 0.7071 +vn -0.9511 -0.3090 0.0000 +vn -0.9511 0.3090 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.7071 -0.7071 -0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.9511 -0.3090 0.0000 +vn 0.5878 -0.8090 -0.0000 +vn 0.7071 0.7071 -0.0000 +vn -0.2750 0.2750 0.9213 +vn -0.3889 0.0000 0.9213 +vn 0.3293 -0.3293 -0.8850 +vn -0.0000 -0.4657 -0.8850 +vn -0.0000 0.3889 0.9213 +vn 0.2750 -0.2750 0.9213 +vn 0.3889 0.0000 0.9213 +vn -0.0000 -0.3889 0.9213 +vn 0.2750 0.2750 0.9213 +vn -0.2750 -0.2750 0.9213 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn -0.5878 -0.8090 0.0000 +vn 0.3293 0.3293 -0.8850 +vn 0.4657 -0.0000 -0.8850 +vn -0.3293 0.3293 -0.8850 +vn 0.0000 0.4657 -0.8850 +vn -0.3292 -0.3293 -0.8850 +vn -0.4657 0.0000 -0.8850 +vn -0.5878 0.8090 0.0000 +vn -0.5676 0.1844 0.8024 +vn -0.5676 -0.1844 0.8024 +vn -0.5675 0.1844 0.8024 +vn -0.3293 -0.3293 -0.8850 +vn -0.3556 0.1155 -0.9275 +vn -0.2198 0.3025 -0.9275 +vn -0.2197 0.3025 -0.9275 +vn 0.0000 0.3739 -0.9275 +vn -0.2197 -0.3025 -0.9275 +vn -0.3556 -0.1155 -0.9275 +vn 0.2197 -0.3025 -0.9275 +vn -0.0000 -0.3739 -0.9275 +vn 0.2198 0.3025 -0.9275 +vn 0.3556 0.1155 -0.9275 +vn 0.3556 -0.1155 -0.9275 +vn 0.5676 -0.1844 0.8024 +vn 0.5676 0.1844 0.8024 +vn 0.3508 0.4828 0.8024 +vn -0.0000 0.5968 0.8024 +vn -0.3508 0.4828 0.8024 +vn -0.0000 -0.5968 0.8024 +vn 0.3508 -0.4828 0.8024 +vn -0.3508 -0.4828 0.8024 +s off +f 182/57/25 124/58/25 125/59/25 +f 106/60/25 103/61/25 104/62/25 +f 99/63/26 105/64/26 106/65/26 +f 104/62/27 100/66/27 102/67/27 +f 187/68/28 190/69/28 188/70/28 +f 109/71/29 110/72/29 111/73/29 +f 94/74/27 90/75/27 95/76/27 +f 102/67/28 101/77/28 99/63/28 +f 105/78/30 100/79/30 103/61/30 +f 184/80/31 189/81/31 187/68/31 +f 123/82/28 122/83/28 120/84/28 +f 25/85/26 29/86/26 31/87/26 +f 111/73/32 112/88/32 113/89/32 +f 117/90/33 107/91/33 113/92/33 +f 114/93/34 115/94/34 116/95/34 +f 117/90/33 118/96/33 119/97/33 +f 124/58/30 122/83/30 121/98/30 +f 31/99/25 30/100/25 28/101/25 +f 96/102/35 97/103/35 98/104/35 +f 125/105/27 121/98/27 123/106/27 +f 25/107/28 26/108/28 27/109/28 +f 30/100/30 27/109/30 26/108/30 +f 107/110/36 108/111/36 109/71/36 +f 185/112/25 186/113/25 183/114/25 +f 44/115/30 34/116/30 36/117/30 +f 184/80/26 188/118/26 186/119/26 +f 156/120/27 149/121/27 154/122/27 +f 110/123/34 108/124/34 179/125/34 +f 114/93/34 180/126/34 115/94/34 +f 110/123/34 179/125/34 112/127/34 +f 115/94/34 179/125/34 116/95/34 +f 109/128/33 111/129/33 107/91/33 +f 181/130/33 118/96/33 117/90/33 +f 107/91/33 111/129/33 113/92/33 +f 77/131/26 76/132/26 80/133/26 +f 171/134/26 159/135/26 170/136/26 +f 182/57/25 126/137/25 124/58/25 +f 106/60/25 105/78/25 103/61/25 +f 99/63/26 101/77/26 105/64/26 +f 104/62/27 103/61/27 100/66/27 +f 187/68/28 189/81/28 190/69/28 +f 109/71/29 108/111/29 110/72/29 +f 95/76/27 93/138/27 91/139/27 +f 91/139/27 89/140/27 94/74/27 +f 94/74/27 92/141/27 90/75/27 +f 90/75/27 82/142/27 95/76/27 +f 95/76/27 91/139/27 94/74/27 +f 102/67/28 100/66/28 101/77/28 +f 105/78/30 101/143/30 100/79/30 +f 184/80/31 185/112/31 189/81/31 +f 123/82/28 121/98/28 122/83/28 +f 25/85/26 27/109/26 29/86/26 +f 111/73/32 110/72/32 112/88/32 +f 117/90/33 119/97/33 107/91/33 +f 124/58/30 126/137/30 122/83/30 +f 31/99/25 29/86/25 30/100/25 +f 96/102/35 178/144/35 97/103/35 +f 125/105/27 124/58/27 121/98/27 +f 25/107/28 177/145/28 26/108/28 +f 30/100/30 29/86/30 27/109/30 +f 107/110/36 179/146/36 108/111/36 +f 185/112/25 184/80/25 186/113/25 +f 36/117/30 38/147/30 40/148/30 +f 40/148/30 42/149/30 44/115/30 +f 44/115/30 46/150/30 34/116/30 +f 34/116/30 33/151/30 36/117/30 +f 36/117/30 40/148/30 44/115/30 +f 184/80/26 187/68/26 188/118/26 +f 152/152/27 150/153/27 148/154/27 +f 148/154/27 157/155/27 156/120/27 +f 156/120/27 151/156/27 149/121/27 +f 149/121/27 155/157/27 154/122/27 +f 154/122/27 153/158/27 152/152/27 +f 152/152/27 148/154/27 154/122/27 +f 148/154/27 156/120/27 154/122/27 +f 115/94/34 112/127/34 179/125/34 +f 80/133/26 66/159/26 74/160/26 +f 74/160/26 78/161/26 77/131/26 +f 77/131/26 75/162/26 76/132/26 +f 76/132/26 79/163/26 80/133/26 +f 80/133/26 74/160/26 77/131/26 +f 170/136/26 176/164/26 169/165/26 +f 169/165/26 172/166/26 171/134/26 +f 171/134/26 175/167/26 159/135/26 +f 175/167/26 173/168/26 159/135/26 +f 173/168/26 160/169/26 159/135/26 +f 159/135/26 174/170/26 170/136/26 +f 170/136/26 169/165/26 171/134/26 +s 1 +f 169/171/37 162/172/38 164/173/37 +f 35/174/39 34/175/27 32/176/27 +f 134/177/40 131/178/41 132/179/41 +f 93/180/42 81/181/31 85/182/42 +f 76/183/25 61/184/43 60/185/25 +f 92/186/44 87/187/30 86/188/44 +f 37/189/25 33/190/39 35/174/39 +f 64/191/28 92/186/44 86/188/44 +f 165/192/45 169/171/37 164/173/37 +f 54/193/43 52/194/25 51/195/25 +f 140/196/46 137/197/30 138/198/30 +f 58/199/28 63/200/47 59/201/28 +f 71/202/31 50/203/42 48/204/31 +f 73/205/48 51/195/49 49/206/48 +f 49/206/42 52/194/25 50/203/42 +f 142/207/45 139/208/46 140/196/46 +f 57/209/50 87/187/51 55/210/51 +f 95/211/31 83/212/47 81/181/31 +f 72/213/52 49/206/48 71/202/52 +f 68/214/53 65/215/54 58/199/54 +f 69/216/55 68/214/53 56/217/55 +f 62/218/56 72/213/52 71/202/52 +f 62/218/56 65/215/54 67/219/56 +f 54/193/57 69/220/55 56/221/55 +f 43/222/58 40/223/26 41/224/26 +f 32/176/27 46/225/59 47/226/59 +f 41/227/26 38/228/60 39/229/60 +f 89/230/43 84/231/25 88/232/43 +f 94/233/30 88/232/43 87/234/30 +f 167/235/61 160/236/40 173/237/61 +f 75/238/43 69/220/30 61/184/43 +f 45/239/28 42/240/58 43/222/58 +f 63/200/62 64/191/63 59/201/63 +f 57/209/50 64/191/63 86/188/50 +f 50/203/64 81/181/65 48/204/65 +f 87/234/51 53/241/66 55/242/51 +f 52/194/67 85/182/64 50/203/64 +f 81/181/65 63/200/62 48/204/65 +f 51/195/49 61/184/57 54/193/57 +f 68/214/44 59/201/28 57/209/44 +f 39/229/60 36/243/25 37/189/25 +f 47/226/59 44/244/28 45/239/28 +f 66/245/47 72/213/31 67/219/47 +f 174/246/68 161/247/41 144/248/68 +f 170/249/31 144/248/68 163/250/31 +f 83/212/47 90/251/28 64/191/28 +f 168/252/30 171/253/46 166/254/46 +f 167/235/61 175/255/30 168/256/30 +f 127/257/31 146/258/38 147/259/38 +f 68/214/44 55/210/30 56/217/30 +f 176/260/38 163/250/31 162/172/38 +f 138/261/30 135/262/61 136/263/61 +f 145/264/37 141/265/45 142/207/45 +f 71/202/31 63/200/47 62/218/47 +f 130/266/68 131/178/41 128/267/68 +f 56/221/30 53/241/43 54/193/43 +f 161/247/69 134/177/70 132/179/71 +f 136/263/61 133/268/40 134/177/40 +f 130/266/68 129/269/31 127/257/31 +f 88/232/72 52/194/67 53/241/66 +f 80/270/31 73/205/42 72/213/31 +f 131/178/73 156/271/74 128/267/75 +f 128/267/75 157/272/76 129/269/76 +f 135/262/77 149/273/78 133/268/78 +f 133/268/78 151/274/73 131/178/73 +f 139/208/79 154/275/80 137/197/80 +f 148/276/81 143/277/82 146/258/81 +f 157/272/76 146/258/81 129/269/76 +f 141/265/83 150/278/82 152/279/83 +f 154/280/80 135/262/77 137/281/80 +f 73/205/42 76/183/25 60/185/25 +f 165/192/84 145/264/85 142/207/84 +f 147/259/86 164/173/85 162/172/86 +f 127/257/87 144/248/88 130/266/88 +f 139/208/79 152/279/83 153/282/79 +f 168/252/89 140/196/90 138/198/89 +f 130/266/88 161/247/69 132/179/71 +f 136/263/91 168/256/89 138/261/89 +f 134/177/70 167/235/91 136/263/91 +f 166/254/90 142/207/84 140/196/90 +f 69/216/30 78/283/44 70/284/44 +f 147/259/38 143/277/37 145/264/37 +f 166/254/46 172/285/45 165/192/45 +f 74/286/28 67/219/47 65/215/28 +f 158/287/40 159/288/41 160/236/40 +f 78/283/44 65/215/28 70/284/44 +f 91/289/25 85/182/42 84/231/25 +f 127/257/87 162/172/86 163/250/87 +f 169/171/37 176/260/38 162/172/38 +f 35/174/39 33/190/39 34/175/27 +f 134/177/40 133/268/40 131/178/41 +f 93/180/42 95/211/31 81/181/31 +f 76/183/25 75/238/43 61/184/43 +f 92/186/44 94/290/30 87/187/30 +f 37/189/25 36/243/25 33/190/39 +f 64/191/28 90/251/28 92/186/44 +f 165/192/45 172/285/45 169/171/37 +f 54/193/43 53/241/43 52/194/25 +f 140/196/46 139/208/46 137/197/30 +f 58/199/28 62/218/47 63/200/47 +f 71/202/31 49/206/42 50/203/42 +f 73/205/48 60/185/49 51/195/49 +f 49/206/42 51/195/25 52/194/25 +f 142/207/45 141/265/45 139/208/46 +f 57/209/50 86/188/50 87/187/51 +f 95/211/31 82/291/47 83/212/47 +f 72/213/52 73/205/48 49/206/48 +f 68/214/53 70/284/53 65/215/54 +f 69/216/55 70/284/53 68/214/53 +f 62/218/56 67/219/56 72/213/52 +f 62/218/56 58/199/54 65/215/54 +f 54/193/57 61/184/57 69/220/55 +f 43/222/58 42/240/58 40/223/26 +f 32/176/27 34/175/27 46/225/59 +f 41/227/26 40/292/26 38/228/60 +f 89/230/43 91/289/25 84/231/25 +f 94/233/30 89/230/43 88/232/43 +f 167/235/61 158/287/40 160/236/40 +f 75/238/43 77/293/30 69/220/30 +f 45/239/28 44/244/28 42/240/58 +f 63/200/62 83/212/62 64/191/63 +f 57/209/50 59/201/63 64/191/63 +f 50/203/64 85/182/64 81/181/65 +f 87/234/51 88/232/72 53/241/66 +f 52/194/67 84/231/67 85/182/64 +f 81/181/65 83/212/62 63/200/62 +f 51/195/49 60/185/49 61/184/57 +f 68/214/44 58/199/28 59/201/28 +f 39/229/60 38/228/60 36/243/25 +f 47/226/59 46/225/59 44/244/28 +f 66/245/47 80/270/31 72/213/31 +f 174/246/68 159/288/41 161/247/41 +f 170/249/31 174/246/68 144/248/68 +f 83/212/47 82/291/47 90/251/28 +f 168/252/30 175/294/30 171/253/46 +f 167/235/61 173/237/61 175/255/30 +f 127/257/31 129/269/31 146/258/38 +f 68/214/44 57/209/44 55/210/30 +f 176/260/38 170/249/31 163/250/31 +f 138/261/30 137/281/30 135/262/61 +f 145/264/37 143/277/37 141/265/45 +f 71/202/31 48/204/31 63/200/47 +f 130/266/68 132/179/41 131/178/41 +f 56/221/30 55/242/30 53/241/43 +f 161/247/69 158/287/70 134/177/70 +f 136/263/61 135/262/61 133/268/40 +f 130/266/68 128/267/68 129/269/31 +f 88/232/72 84/231/67 52/194/67 +f 80/270/31 79/295/42 73/205/42 +f 131/178/73 151/274/73 156/271/74 +f 128/267/75 156/271/74 157/272/76 +f 135/262/77 155/296/77 149/273/78 +f 133/268/78 149/273/78 151/274/73 +f 139/208/79 153/282/79 154/275/80 +f 148/276/81 150/278/82 143/277/82 +f 157/272/76 148/276/81 146/258/81 +f 141/265/83 143/277/82 150/278/82 +f 154/280/80 155/296/77 135/262/77 +f 73/205/42 79/295/42 76/183/25 +f 165/192/84 164/173/85 145/264/85 +f 147/259/86 145/264/85 164/173/85 +f 127/257/87 163/250/87 144/248/88 +f 139/208/79 141/265/83 152/279/83 +f 168/252/89 166/254/90 140/196/90 +f 130/266/88 144/248/88 161/247/69 +f 136/263/91 167/235/91 168/256/89 +f 134/177/70 158/287/70 167/235/91 +f 166/254/90 165/192/84 142/207/84 +f 69/216/30 77/297/30 78/283/44 +f 147/259/38 146/258/38 143/277/37 +f 166/254/46 171/253/46 172/285/45 +f 74/286/28 66/245/47 67/219/47 +f 158/287/40 161/247/41 159/288/41 +f 78/283/44 74/286/28 65/215/28 +f 91/289/25 93/180/42 85/182/42 +f 127/257/87 147/259/86 162/172/86 diff --git a/src/main/resources/assets/hbm/models/weapons/supershotty.obj b/src/main/resources/assets/hbm/models/weapons/supershotty.obj deleted file mode 100644 index 115506132..000000000 --- a/src/main/resources/assets/hbm/models/weapons/supershotty.obj +++ /dev/null @@ -1,13113 +0,0 @@ -# Blender 4.0.1 -# www.blender.org -o Barrel -v 0.257504 0.031247 -2.046854 -v 0.251539 0.116042 -2.661849 -v 0.238709 0.128102 -3.318399 -v 0.238709 0.229737 -3.270603 -v 0.277764 0.193887 -0.380589 -v 0.281913 -0.057518 -0.381339 -v 0.279034 -0.054938 -0.562753 -v 0.278349 -0.031928 -0.658844 -v 0.276329 0.038397 -0.773504 -v 0.209213 -0.004398 -0.126359 -v 0.229543 0.006412 -0.166054 -v 0.309118 0.003287 -0.122389 -v 0.315338 -0.044908 -0.101029 -v 0.241223 -0.086863 -0.114574 -v 0.206548 -0.065553 -0.142879 -v 0.017483 0.150982 0.574606 -v 0.013388 0.150357 0.063481 -v 0.017453 0.151277 0.221681 -v 0.010023 0.151487 0.396201 -v 0.013168 0.151357 0.132611 -v 0.211109 0.505352 -4.168079 -v 0.156169 0.511997 -4.168079 -v 0.156169 0.511997 -4.330939 -v 0.211109 0.505352 -4.330939 -v -0.293571 0.382322 -4.158724 -v -0.281896 0.328227 -4.158724 -v -0.249226 0.283557 -4.158724 -v 0.258599 0.476937 -4.168079 -v 0.258599 0.476937 -4.330939 -v -0.282236 0.436492 -4.158724 -v 0.290429 0.431667 -4.168079 -v 0.290429 0.431667 -4.330939 -v -0.202011 0.509187 -4.158724 -v -0.249851 0.481367 -4.158724 -v -0.146991 0.515147 -4.158724 -v 0.288739 0.323412 -4.330939 -v 0.255514 0.279152 -4.330939 -v 0.255514 0.279152 -4.168079 -v 0.288739 0.323412 -4.168079 -v 0.037419 0.353797 -4.330939 -v 0.037419 0.353797 -4.168079 -v 0.059134 0.302897 -4.168079 -v 0.059134 0.302897 -4.330939 -v 0.103274 0.495717 -4.168079 -v 0.061574 0.459332 -4.168079 -v 0.061574 0.459332 -4.330939 -v 0.103274 0.495717 -4.330939 -v 0.207164 0.252232 -4.330939 -v 0.207164 0.252232 -4.168079 -v 0.099679 0.265227 -4.330939 -v 0.099679 0.265227 -4.168079 -v 0.038279 0.409132 -4.168079 -v 0.038279 0.409132 -4.330939 -v -0.030391 0.410822 -4.158724 -v -0.030216 0.355482 -4.158724 -v -0.052566 0.304857 -4.158724 -v -0.146151 0.250427 -4.158724 -v -0.201211 0.256037 -4.158724 -v -0.094301 0.498212 -4.158724 -v -0.053056 0.461312 -4.158724 -v -0.359691 0.327162 -3.218804 -v -0.365016 0.327162 -2.728569 -v -0.337241 0.469917 -2.728389 -v -0.331911 0.469917 -3.218794 -v -0.314351 0.460522 -2.729089 -v -0.309026 0.460522 -3.218963 -v -0.247481 -0.054963 -0.553664 -v -0.248306 -0.057783 -0.380589 -v -0.250127 0.199882 -0.382089 -v -0.207156 0.232322 -3.446038 -v -0.207156 0.167387 -3.378423 -v -0.207156 0.128102 -3.318399 -v -0.219986 0.117302 -2.660964 -v -0.225946 0.032697 -2.046918 -v -0.244741 0.039057 -0.774434 -v -0.246111 -0.032128 -0.659204 -v 0.368759 0.327162 -3.219118 -v 0.383999 0.327162 -2.729089 -v 0.247399 0.197872 -2.727359 -v 0.234554 0.205312 -3.217434 -v 0.015774 0.145872 -3.401334 -v 0.015774 0.209937 -3.452199 -v 0.222434 0.232322 -3.446038 -v 0.238709 0.167387 -3.378423 -v -0.001637 0.695932 0.864801 -v -0.002277 0.699697 0.903036 -v 0.010088 0.699747 0.903381 -v 0.024018 0.699747 0.903381 -v 0.022363 0.696012 0.864806 -v -0.018937 0.383037 -0.211934 -v -0.019082 0.382922 0.729396 -v -0.028537 0.699747 0.711006 -v -0.028537 0.725437 0.711006 -v -0.018936 0.721257 -0.211934 -v 0.015774 0.122067 -3.318399 -v 0.015779 0.104522 -2.660903 -v 0.015779 0.020532 -2.047064 -v 0.015779 -0.017763 -0.827554 -v -0.114481 0.030242 -0.823684 -v -0.230861 0.205312 -2.724623 -v -0.205606 0.188322 -2.724068 -v -0.185281 0.211267 -2.724324 -v -0.210536 0.228262 -2.724879 -v -0.261711 0.246142 -2.725559 -v -0.319966 0.306657 -2.727608 -v -0.336271 0.394167 -2.728623 -v 0.015779 -0.049748 -0.712704 -v 0.146039 0.030237 -0.823684 -v 0.015774 -0.072578 -0.607349 -v -0.030216 0.355482 -4.352614 -v -0.052566 0.304857 -4.352614 -v -0.030391 0.410822 -4.352614 -v -0.053056 0.461312 -4.352614 -v -0.094301 0.498212 -4.352614 -v -0.146991 0.515147 -4.352614 -v -0.202011 0.509187 -4.352614 -v -0.249851 0.481367 -4.352614 -v -0.282236 0.436492 -4.352614 -v -0.293571 0.382322 -4.352614 -v -0.281896 0.328227 -4.352614 -v -0.249226 0.283557 -4.352614 -v -0.201211 0.256037 -4.352614 -v -0.146151 0.250427 -4.352614 -v -0.093576 0.267692 -4.352614 -v -0.031366 0.474472 -4.350559 -v -0.079881 0.523372 -4.352614 -v -0.211061 0.536742 -4.352614 -v -0.144051 0.544002 -4.352614 -v -0.002041 0.416942 -4.352614 -v -0.001826 0.349542 -4.352614 -v -0.029046 0.287882 -4.352614 -v -0.078996 0.242622 -4.352614 -v -0.143031 0.221592 -4.352614 -v -0.210086 0.228427 -4.352614 -v -0.268561 0.261942 -4.352614 -v -0.308351 0.316347 -4.352614 -v -0.322576 0.382232 -4.352614 -v -0.308771 0.448202 -4.352614 -v -0.269326 0.502857 -4.352614 -v -0.079881 0.523372 -4.183839 -v -0.029651 0.478432 -4.183839 -v -0.268561 0.261942 -4.183839 -v -0.210086 0.228427 -4.183839 -v -0.144051 0.544002 -4.183839 -v -0.143031 0.221592 -4.183839 -v -0.211061 0.536742 -4.183839 -v -0.078996 0.242622 -4.183839 -v -0.269326 0.502857 -4.183839 -v -0.029046 0.287882 -4.183839 -v -0.308771 0.448202 -4.183839 -v -0.001826 0.349542 -4.183839 -v -0.322576 0.382232 -4.183839 -v -0.002041 0.416942 -4.183839 -v -0.308351 0.316347 -4.183839 -v -0.263051 0.268102 -4.166004 -v -0.300811 0.319732 -4.166004 -v -0.083991 0.516202 -4.166004 -v -0.036321 0.473552 -4.166004 -v -0.207556 0.236297 -4.166004 -v -0.144886 0.535777 -4.166004 -v -0.143921 0.229812 -4.166004 -v -0.208481 0.528887 -4.166004 -v -0.083151 0.249767 -4.166004 -v -0.263771 0.496732 -4.166004 -v -0.035751 0.292717 -4.166004 -v -0.301206 0.444867 -4.166004 -v -0.009916 0.351237 -4.166004 -v 0.309499 0.439802 -4.168079 -v 0.321819 0.377037 -4.168079 -v 0.307549 0.314682 -4.168079 -v 0.315049 0.311207 -4.185909 -v 0.330089 0.376907 -4.185909 -v 0.317104 0.443047 -4.185909 -v -0.010121 0.415202 -4.166004 -v -0.003182 0.430657 0.004771 -v -0.037872 0.507917 0.004771 -v -0.338067 0.235897 0.004771 -v -0.388062 0.304257 0.004771 -v -0.102631 0.562592 0.005651 -v -0.264592 0.193787 0.004771 -v -0.183126 0.588747 0.005651 -v -0.183127 0.183897 0.005651 -v -0.265812 0.581182 0.004771 -v -0.102632 0.210052 0.005651 -v -0.339022 0.538607 0.004771 -v -0.037117 0.268492 0.004771 -v -0.388587 0.469932 0.004771 -v -0.002917 0.345967 0.004771 -v -0.314306 0.382257 -4.166004 -v -0.405932 0.387042 0.004771 -v -0.270022 0.176892 0.052351 -v -0.178427 0.167557 0.052351 -v -0.423677 0.386982 0.052351 -v -0.404252 0.296987 0.052351 -v 0.014163 0.434402 0.052351 -v -0.023547 0.518392 0.052351 -v -0.404822 0.477102 0.052351 -v -0.350937 0.551757 0.052351 -v -0.349897 0.222672 0.052351 -v 0.014453 0.342332 0.052351 -v -0.022727 0.258107 0.052351 -v -0.271352 0.598042 0.052351 -v -0.179816 0.607957 0.052351 -v -0.090952 0.196282 0.052351 -v -0.092162 0.579782 0.052351 -v -0.022727 0.258107 0.688621 -v -0.051452 0.278837 0.720896 -v -0.108762 0.226902 0.720896 -v -0.090952 0.196282 0.688621 -v -0.092162 0.579782 0.688621 -v -0.179817 0.607957 0.688621 -v -0.183407 0.572717 0.720896 -v -0.109777 0.549047 0.720896 -v -0.270022 0.176892 0.688621 -v -0.178427 0.167557 0.688621 -v -0.182237 0.202772 0.720896 -v -0.259182 0.210612 0.720896 -v -0.423677 0.386982 0.688621 -v -0.404252 0.296987 0.688621 -v -0.371937 0.311497 0.720896 -v -0.388257 0.387097 0.720896 -v 0.014163 0.434402 0.688621 -v -0.023547 0.518392 0.688621 -v -0.052142 0.497482 0.720896 -v -0.020462 0.426927 0.720896 -v -0.404822 0.477102 0.688621 -v -0.372412 0.462797 0.720896 -v -0.327152 0.525507 0.720896 -v -0.350937 0.551757 0.688621 -v -0.349897 0.222672 0.688621 -v -0.326282 0.249072 0.720896 -v 0.014453 0.342332 0.688621 -v -0.020217 0.349587 0.720896 -v -0.271352 0.598042 0.688621 -v -0.260297 0.564387 0.720896 -v 0.213259 0.232412 -4.168079 -v 0.149549 0.226722 -4.168079 -v 0.089034 0.247432 -4.168079 -v 0.042169 0.290972 -4.168079 -v 0.017069 0.349802 -4.168079 -v 0.018064 0.413762 -4.168079 -v 0.044989 0.471782 -4.168079 -v 0.093189 0.513837 -4.168079 -v 0.154324 0.532652 -4.168079 -v 0.217824 0.524972 -4.168079 -v 0.272714 0.492132 -4.168079 -v 0.269149 0.263527 -4.168079 -v 0.290429 0.431667 -4.354689 -v 0.301089 0.377357 -4.354689 -v 0.301089 0.377357 -4.330939 -v 0.258599 0.476937 -4.354689 -v 0.211109 0.505352 -4.354689 -v 0.156169 0.511997 -4.354689 -v 0.103274 0.495717 -4.354689 -v 0.061574 0.459332 -4.354689 -v 0.038279 0.409132 -4.354689 -v 0.037419 0.353797 -4.354689 -v 0.099679 0.265227 -4.354689 -v 0.059134 0.302897 -4.354689 -v 0.008959 0.348212 -4.354689 -v 0.010009 0.415602 -4.354689 -v 0.038379 0.476742 -4.354689 -v 0.089164 0.521057 -4.354689 -v 0.153589 0.540882 -4.354689 -v 0.220499 0.532792 -4.354689 -v 0.278339 0.498187 -4.354689 -v 0.317104 0.443047 -4.354689 -v 0.330089 0.376907 -4.354689 -v 0.315049 0.311207 -4.354689 -v 0.274584 0.257302 -4.354689 -v 0.215694 0.224512 -4.354689 -v 0.207164 0.252232 -4.354689 -v 0.255514 0.279152 -4.354689 -v 0.288739 0.323412 -4.354689 -v 0.084789 0.240342 -4.354689 -v 0.035409 0.286217 -4.354689 -v 0.220499 0.532792 -4.185909 -v 0.278339 0.498187 -4.185909 -v 0.153589 0.540882 -4.185909 -v 0.148559 0.218512 -4.185909 -v 0.148559 0.218512 -4.354689 -v 0.215694 0.224512 -4.185909 -v 0.089164 0.521057 -4.185909 -v 0.274584 0.257302 -4.185909 -v 0.041188 0.463312 0.002701 -v 0.091349 0.531547 0.002701 -v 0.005373 0.380672 0.050276 -v 0.023119 0.380572 0.002701 -v 0.040263 0.297637 0.002701 -v 0.024013 0.290507 0.050276 -v 0.443613 0.424262 0.050276 -v 0.426233 0.420667 0.002701 -v 0.392218 0.498227 0.002701 -v 0.406633 0.508577 0.050276 -v 0.025018 0.470622 0.050276 -v 0.079548 0.544802 0.050276 -v 0.089658 0.228842 0.002701 -v 0.077713 0.215722 0.050276 -v 0.443098 0.332192 0.050276 -v 0.405183 0.248292 0.050276 -v 0.390883 0.258802 0.002701 -v 0.425758 0.335977 0.002701 -v 0.159538 0.590392 0.050276 -v 0.246524 0.600097 0.050891 -v 0.249203 0.581867 0.002701 -v 0.164929 0.573482 0.002701 -v 0.336418 0.187072 0.050276 -v 0.248658 0.165422 0.050301 -v 0.246903 0.183082 0.002721 -v 0.327628 0.202487 0.002701 -v 0.162763 0.186087 0.002701 -v 0.157188 0.169242 0.050276 -v 0.038728 0.383037 -0.211934 -v 0.038729 0.721257 -0.211934 -v 0.048713 0.699747 0.711006 -v 0.049053 0.699747 0.725431 -v 0.037978 0.699747 0.736011 -v 0.037943 0.699747 0.710271 -v 0.048713 0.699747 0.695846 -v 0.338558 0.570562 0.686546 -v 0.251153 0.599502 0.686546 -v 0.247253 0.564297 0.718821 -v 0.320673 0.539987 0.718821 -v 0.338558 0.570562 0.050276 -v 0.329598 0.555247 0.002701 -v 0.024013 0.290507 0.686546 -v 0.077713 0.215722 0.686546 -v 0.157188 0.169242 0.686546 -v 0.079548 0.544802 0.686546 -v 0.103103 0.518347 0.718821 -v 0.170298 0.556642 0.718821 -v 0.159538 0.590392 0.686546 -v 0.248698 0.159107 0.686546 -v -0.249872 0.167682 -0.010114 -v -0.196637 0.146957 -0.001924 -v -0.249677 0.160812 0.041836 -v 0.037978 0.725457 0.736011 -v -0.017757 0.725267 0.735916 -v -0.017757 0.699747 0.735916 -v -0.017772 0.725267 0.711006 -v 0.049053 0.725457 0.725431 -v 0.048713 0.725457 0.711006 -v 0.037943 0.725202 0.694201 -v 0.037943 0.744567 0.711006 -v -0.017772 0.744567 0.711006 -v -0.017772 0.725202 0.694201 -v 0.311063 0.081002 -0.093779 -v 0.325593 0.037747 -0.022504 -v 0.021738 0.585607 0.754561 -v -0.002022 0.585607 0.754571 -v -0.002022 0.646267 0.795101 -v 0.021738 0.646267 0.795096 -v 0.121944 0.657312 -0.382644 -v 0.121944 0.595772 -1.365783 -v -0.109221 0.595772 -1.365783 -v -0.109401 0.657847 -0.387254 -v -0.051431 0.657312 -0.382644 -v 0.152039 0.247307 -4.354689 -v 0.152039 0.247307 -4.332014 -v -0.281352 0.013822 -0.050209 -v -0.298717 0.016267 -0.063084 -v -0.279777 0.017777 -0.071024 -v 0.315278 -0.052943 0.095106 -v 0.309203 -0.109308 -0.005179 -v 0.185258 0.151487 0.063471 -v 0.185258 0.151487 0.728931 -v 0.017503 0.150682 0.728941 -v -0.299022 0.061517 -0.079799 -v -0.300807 0.072827 -0.057289 -v -0.270382 0.073372 -0.062549 -v -0.279352 0.065737 -0.077734 -v 0.037998 0.181192 0.728946 -v 0.037998 0.267997 0.729181 -v 0.038898 0.382992 0.729391 -v -0.017932 0.267922 0.729191 -v -0.017932 0.181192 0.728951 -v 0.024028 0.699477 0.873126 -v 0.021738 0.383157 0.729706 -v -0.002022 0.383157 0.729716 -v 0.114178 0.198492 0.728936 -v 0.114178 0.198492 0.063476 -v 0.047078 0.256007 0.064351 -v 0.037998 0.267997 0.063291 -v 0.049743 0.259732 0.729121 -v -0.017772 0.699747 0.709161 -v -0.028332 0.725267 0.725431 -v -0.028332 0.699747 0.725431 -v 0.323348 0.079012 0.016446 -v 0.309698 0.123247 -0.035659 -v 0.037943 0.699747 0.903381 -v 0.037943 0.712497 0.902956 -v -0.017772 0.712497 0.902956 -v -0.017772 0.699747 0.903381 -v -0.017772 0.741617 0.872056 -v -0.017772 0.725242 0.895226 -v 0.037943 0.725242 0.895226 -v 0.037943 0.741617 0.872056 -v -0.014832 0.380827 0.712381 -v -0.014832 0.699822 0.670921 -v -0.018937 0.702032 0.687916 -v -0.052097 0.514632 0.704271 -v -0.047992 0.512422 0.687271 -v 0.038728 0.702032 0.688161 -v 0.035278 0.699677 0.669951 -v 0.035278 0.380687 0.711166 -v 0.070858 0.512742 0.707221 -v 0.067403 0.510392 0.688321 -v 0.302978 -0.099353 0.054171 -v 0.229173 -0.125883 0.056966 -v 0.237348 -0.139828 -0.008819 -v 0.235333 -0.075863 0.121821 -v 0.230863 -0.006803 0.144746 -v 0.308158 0.004367 0.119611 -v 0.232228 -0.122183 -0.072284 -v 0.305443 -0.091283 -0.070643 -v 0.237253 0.103392 -0.115314 -v 0.232613 0.143257 -0.062584 -v -0.217852 -0.119548 0.057206 -v -0.216347 -0.083563 0.104661 -v -0.283712 -0.087028 0.058846 -v -0.269127 -0.106688 0.034611 -v 0.264148 -0.057298 -0.152988 -v -0.173227 -0.061733 0.003611 -v -0.193117 -0.094728 0.060596 -v -0.199307 -0.118223 -0.005174 -v -0.219832 0.149352 -0.000779 -v -0.200852 0.131592 0.039536 -v -0.198402 0.135412 -0.019214 -v -0.181342 -0.006008 0.093151 -v -0.219317 -0.132098 0.000941 -v -0.177027 0.080352 0.035871 -v -0.169807 0.008742 0.041836 -v -0.276337 0.020837 -0.034209 -v -0.301017 0.018442 -0.045794 -v -0.276982 0.073742 -0.042899 -v -0.296762 0.065827 -0.028359 -v -0.199432 -0.005763 0.127386 -v -0.194992 0.089872 0.089166 -v -0.220052 0.118492 0.087111 -v -0.217217 0.074767 0.122716 -v -0.221937 0.143812 0.038446 -v -0.220552 0.022727 0.138266 -v -0.220727 -0.030538 0.133616 -v 0.332058 0.015782 -0.055874 -v 0.329933 0.044117 -0.084299 -v 0.331923 0.065542 -0.035419 -v 0.299873 0.014807 -0.046584 -v 0.302243 0.018742 -0.069954 -v 0.296618 0.050322 -0.083429 -v 0.326733 0.076602 -0.064474 -v 0.282068 0.038312 -0.051574 -v 0.300858 0.042007 -0.021564 -v 0.294073 0.071832 -0.044764 -v -0.283927 0.050637 0.101921 -v -0.282502 -0.004593 0.111601 -v -0.284037 0.103522 0.059121 -v -0.267302 0.127037 0.024206 -v -0.285337 -0.048368 0.091391 -v -0.286312 0.119632 0.000331 -v -0.284962 0.102297 -0.065879 -v -0.296132 0.019397 -0.071079 -v -0.298607 0.040057 0.032116 -v -0.295462 -0.030563 0.061831 -v -0.271837 0.120367 -0.044589 -v -0.280377 0.048112 -0.110154 -v -0.222682 0.117577 -0.091789 -v -0.218297 0.071742 -0.128119 -v -0.282987 -0.006018 -0.115024 -v -0.284702 -0.103573 -0.000984 -v -0.279367 -0.098778 -0.045124 -v -0.213297 0.019942 -0.141599 -v -0.216452 -0.030813 -0.137214 -v -0.214962 -0.121973 -0.052674 -v -0.221507 -0.091713 -0.102799 -v -0.269302 -0.050633 -0.106129 -v -0.220552 0.143857 -0.041744 -v -0.195157 -0.082963 -0.084229 -v -0.202447 0.113652 -0.082339 -v -0.182567 -0.027868 -0.094549 -v -0.186302 0.100872 -0.055264 -v -0.190687 0.050672 -0.107504 -v -0.172997 0.041257 -0.056244 -v -0.300667 0.050892 -0.026149 -v -0.306227 0.037637 -0.064254 -v -0.271432 0.060147 -0.028094 -v -0.273487 0.038512 -0.024609 -v 0.200558 0.183897 0.005651 -v 0.199183 0.170807 0.041836 -v 0.272388 0.166922 0.046141 -v 0.282103 0.192467 0.005651 -v -0.223136 0.197872 -3.214803 -v -0.330941 0.394167 -3.219194 -v -0.314631 0.306657 -3.218554 -v -0.256371 0.246142 -3.217253 -v -0.207796 0.219212 -3.215113 -v -0.182541 0.202217 -3.214558 -v -0.197881 0.180877 -3.214254 -v 0.307423 0.120252 0.048946 -v 0.309453 0.062992 0.101951 -v -0.297342 -0.044508 -0.027989 -v 0.233963 0.105637 0.110206 -v 0.235018 0.053587 0.138616 -v -0.284942 -0.073198 -0.077164 -v 0.194918 -0.035073 0.083176 -v 0.200818 -0.100168 -0.019659 -v -0.196637 0.008742 -0.140144 -v -0.199437 0.072357 -0.129619 -v -0.247942 0.070067 -0.149204 -v -0.248312 0.008742 -0.161459 -v -0.273767 0.051492 -0.084064 -v -0.297172 0.035627 -0.083449 -v -0.168437 0.041172 -0.001924 -v -0.168437 0.008742 -0.034354 -v -0.168437 -0.023693 -0.001924 -v 0.120068 0.210052 0.005651 -v 0.057168 0.266682 0.005651 -v 0.046523 0.258947 0.041836 -v 0.113488 0.198652 0.041836 -v -0.190007 0.126287 0.041836 -v -0.178337 0.101097 -0.001924 -v -0.175057 0.072357 0.041836 -v -0.175702 -0.057783 0.041836 -v -0.173997 -0.057783 -0.031584 -v -0.100206 0.213897 -0.380589 -v -0.038681 0.269292 -0.380589 -v -0.017636 0.316562 -0.380589 -v 0.034118 0.316562 -0.380589 -v 0.055163 0.269292 -0.380589 -v 0.116689 0.211567 -0.380589 -v 0.195429 0.185932 -0.380589 -v -0.178941 0.188312 -0.380589 -v 0.202933 -0.063468 -0.034674 -v 0.208333 0.104637 0.022541 -v 0.207743 -0.057783 0.035326 -v 0.211843 0.008742 -0.097019 -v 0.278308 0.042012 -0.161583 -v 0.212933 0.103837 -0.029689 -v 0.273913 0.129472 -0.106899 -v -0.247952 -0.057783 -0.146429 -v -0.249397 0.126287 -0.099659 -v -0.199437 -0.054878 -0.129619 -v -0.190157 0.126287 -0.046904 -v -0.249792 0.159797 -0.052794 -v -0.182537 0.072357 -0.087249 -v -0.179397 -0.023693 -0.092504 -v -0.194956 0.677767 -0.115719 -v -0.194957 0.682082 0.688181 -v 0.211243 0.682082 0.688181 -v 0.211243 0.682082 -0.115719 -v 0.123624 0.674512 -0.383239 -v -0.110116 0.674827 -0.387329 -v -0.165212 0.151487 0.728931 -v -0.165212 0.151487 0.063471 -v 0.252228 0.589727 0.688181 -v 0.231163 0.583307 0.005651 -v 0.123624 0.561207 -0.383239 -v 0.064884 0.576727 -0.383239 -v 0.033309 0.551472 -0.383399 -v 0.033309 0.496567 -0.383634 -v 0.038459 0.424832 -0.383684 -v 0.038459 0.411517 -0.383684 -v -0.001916 0.411517 -0.383684 -v -0.001916 0.424832 -0.383684 -v -0.025856 0.496852 -0.384079 -v -0.025856 0.553142 -0.386014 -v -0.056331 0.576727 -0.387329 -v -0.109236 0.563877 -0.386649 -v 0.038898 0.382992 0.063081 -v 0.010438 0.410047 0.705471 -v 0.020698 0.705552 0.697316 -v -0.002242 0.699387 0.873036 -v 0.276598 0.165707 -0.004299 -v 0.017333 0.152452 0.003456 -v 0.015204 0.221232 -4.352719 -v 0.179774 0.218477 -4.352809 -v 0.017503 0.151527 0.060731 -v -0.093576 0.267692 -4.158724 -v 0.121944 0.517322 -4.353459 -v 0.121944 0.553172 -4.353234 -v -0.181752 0.170807 0.041836 -v -0.096052 0.198652 0.041836 -v -0.029087 0.258947 0.041836 -v -0.003437 0.316562 0.041836 -v -0.017527 0.316562 0.005651 -v 0.301089 0.377357 -4.168079 -v -0.165212 0.172792 0.728931 -v -0.097737 0.203897 0.728946 -v -0.092337 0.191297 0.063486 -v -0.165212 0.170227 0.063471 -v -0.025692 0.258657 0.063471 -v 0.340999 0.469917 -3.218134 -v 0.214259 0.228262 -3.216328 -v 0.265419 0.246142 -3.217794 -v 0.323704 0.306657 -3.218189 -v 0.340039 0.394167 -3.217859 -v 0.318159 0.460522 -3.216474 -v 0.356244 0.469917 -2.727933 -v 0.333389 0.460522 -2.726804 -v 0.152039 0.247307 -4.168079 -v 0.185258 0.171947 0.063471 -v 0.179774 0.229217 -4.352809 -v 0.084789 0.240342 -4.185909 -v 0.010009 0.415602 -4.185909 -v 0.038379 0.476742 -4.185909 -v 0.035409 0.286217 -4.185909 -v 0.008959 0.348212 -4.185909 -v 0.336418 0.187072 0.686546 -v 0.318878 0.217847 0.718821 -v 0.245193 0.194357 0.718821 -v 0.025018 0.470622 0.686546 -v 0.057293 0.456032 0.718821 -v 0.168323 0.202872 0.718821 -v 0.101558 0.241912 0.718821 -v 0.005373 0.380672 0.686546 -v 0.040793 0.380472 0.718821 -v 0.443098 0.332192 0.686546 -v 0.408493 0.339752 0.718821 -v 0.376638 0.269272 0.718821 -v 0.405183 0.248292 0.686546 -v 0.056453 0.304737 0.718821 -v 0.443613 0.424262 0.686546 -v 0.406633 0.508577 0.686546 -v 0.377858 0.487917 0.718821 -v 0.408923 0.417087 0.718821 -v -0.170801 0.229217 -4.350684 -v -0.170696 0.218477 -4.352809 -v 0.020868 0.316562 0.041836 -v 0.034958 0.316562 0.005651 -v -0.272937 0.032742 -0.081034 -v 0.237383 0.145597 0.052736 -v -0.248307 0.190747 0.005651 -v -0.248307 0.171017 0.041836 -v -0.226037 0.600417 0.688181 -v 0.008718 0.436702 0.688181 -v 0.043858 0.515632 0.688181 -v 0.124283 0.556622 0.688181 -v 0.200398 0.584892 0.688181 -v 0.185258 0.171947 0.728931 -v 0.355294 0.394167 -2.727499 -v 0.338969 0.306657 -2.727453 -v 0.280709 0.246142 -2.726309 -v 0.232084 0.219212 -2.726408 -v -0.109996 0.506777 -4.350559 -v -0.109221 0.553172 -4.353234 -v -0.201372 0.587917 0.006221 -v -0.226037 0.600417 0.050891 -v 0.084999 0.514337 -4.353234 -v 0.041284 0.473062 -4.353234 -v 0.013304 0.353292 -4.352809 -v 0.036839 0.291602 -4.352809 -v 0.081609 0.247417 -4.352809 -v 0.141614 0.225572 -4.352809 -v -0.136856 0.226762 -4.350474 -v -0.072241 0.250267 -4.347369 -v -0.028361 0.293002 -4.347369 -v -0.007616 0.354332 -4.347389 -v -0.076481 0.517867 -4.350559 -v -0.017932 0.267922 0.063296 -v -0.019082 0.382922 0.063091 -v -0.293571 0.382322 -4.158724 -v -0.281896 0.328227 -4.158724 -v -0.281896 0.328227 -4.328869 -v -0.293571 0.382322 -4.328869 -v -0.249226 0.283557 -4.158724 -v -0.249226 0.283557 -4.328869 -v -0.282236 0.436492 -4.158724 -v -0.282236 0.436492 -4.328869 -v -0.202011 0.509187 -4.158724 -v -0.249851 0.481367 -4.158724 -v -0.249851 0.481367 -4.328869 -v -0.202011 0.509187 -4.328869 -v -0.146991 0.515147 -4.328869 -v -0.146991 0.515147 -4.158724 -v -0.030391 0.410822 -4.158724 -v -0.030216 0.355482 -4.158724 -v -0.030216 0.355482 -4.328869 -v -0.030391 0.410822 -4.328869 -v -0.052566 0.304857 -4.158724 -v -0.052566 0.304857 -4.328869 -v -0.146151 0.250427 -4.328869 -v -0.146151 0.250427 -4.158724 -v -0.201211 0.256037 -4.158724 -v -0.201211 0.256037 -4.328869 -v -0.094301 0.498212 -4.158724 -v -0.094301 0.498212 -4.328869 -v -0.053056 0.461312 -4.158724 -v -0.053056 0.461312 -4.328869 -v -0.030216 0.355482 -4.352614 -v -0.052566 0.304857 -4.352614 -v -0.030391 0.410822 -4.352614 -v -0.053056 0.461312 -4.352614 -v -0.094301 0.498212 -4.352614 -v -0.146991 0.515147 -4.352614 -v -0.202011 0.509187 -4.352614 -v -0.249851 0.481367 -4.352614 -v -0.282236 0.436492 -4.352614 -v -0.293571 0.382322 -4.352614 -v -0.281896 0.328227 -4.352614 -v -0.249226 0.283557 -4.352614 -v -0.201211 0.256037 -4.352614 -v -0.146151 0.250427 -4.352614 -v -0.093576 0.267692 -4.328869 -v -0.093576 0.267692 -4.352614 -v -0.093576 0.267692 -4.158724 -vn 0.9990 0.0433 -0.0130 -vn 0.2109 -0.0576 -0.9758 -vn 0.9995 0.0285 -0.0149 -vn 0.9999 -0.0104 -0.0111 -vn 0.9998 0.0091 -0.0194 -vn 0.9997 0.0165 -0.0156 -vn 0.9999 0.0088 -0.0050 -vn 0.9999 0.0138 -0.0091 -vn 0.6821 0.1629 -0.7129 -vn 0.0835 -0.9715 -0.2218 -vn 0.0669 -0.3970 -0.9154 -vn 0.2513 -0.9679 -0.0047 -vn 0.2528 -0.9675 -0.0008 -vn 0.2523 -0.9677 -0.0008 -vn -0.0238 -0.9997 -0.0006 -vn -0.1439 -0.9895 0.0094 -vn -0.0248 -0.9997 0.0003 -vn 0.0890 -0.9960 -0.0000 -vn -0.3238 -0.9461 -0.0000 -vn -0.6806 -0.7327 -0.0000 -vn -0.6806 -0.7326 -0.0000 -vn -0.9198 -0.3925 -0.0000 -vn -0.6575 0.7535 -0.0000 -vn -0.9071 0.4210 -0.0000 -vn 0.9813 0.1926 -0.0000 -vn 0.8181 0.5751 -0.0000 -vn 0.7998 -0.6003 -0.0000 -vn 0.4864 -0.8737 -0.0000 -vn -0.2942 0.9558 -0.0000 -vn 0.5135 0.8581 -0.0000 -vn 0.9748 -0.2231 -0.0000 -vn -0.9815 0.1910 -0.0107 -vn 0.3798 0.9251 0.0041 -vn -0.9999 0.0015 -0.0143 -vn -0.9999 -0.0017 -0.0131 -vn -0.9999 -0.0031 -0.0103 -vn 0.6753 -0.7370 -0.0271 -vn 0.6837 -0.7294 -0.0231 -vn 0.6717 -0.7402 -0.0288 -vn -0.0095 -0.8319 -0.5549 -vn 0.1291 -0.6812 -0.7206 -vn 0.0902 -0.7990 -0.5946 -vn 0.9937 0.0967 -0.0559 -vn 0.9964 0.0732 -0.0423 -vn 1.0000 -0.0000 -0.0000 -vn -0.0016 0.9953 -0.0973 -vn -0.0000 0.9953 -0.0964 -vn -0.0027 0.9379 -0.3468 -vn -0.9999 -0.0121 -0.0062 -vn -0.9999 -0.0000 -0.0104 -vn -0.0742 -0.7934 -0.6042 -vn -0.0186 -0.6346 -0.7726 -vn -0.0000 -0.9835 -0.1808 -vn 0.0283 -0.9544 -0.2973 -vn -0.0025 -0.9969 -0.0788 -vn 0.0483 -0.9957 -0.0785 -vn -0.2055 -0.9589 -0.1956 -vn -0.1846 -0.9286 -0.3220 -vn -0.0512 -0.9965 -0.0663 -vn -0.0144 0.0087 0.9999 -vn -0.0235 0.0055 0.9997 -vn -0.0123 0.0198 0.9997 -vn 0.2035 -0.9596 -0.1944 -vn 0.1823 -0.9289 -0.3223 -vn 0.1477 -0.9273 -0.3440 -vn -0.0000 -0.9882 -0.1529 -vn 0.0003 -0.9530 -0.3029 -vn -0.0029 -0.9977 -0.0675 -vn -0.0382 -0.9991 0.0207 -vn -0.0002 -0.9946 -0.1042 -vn 0.0383 -0.9990 0.0215 -vn 0.0655 0.0289 -0.9974 -vn 0.0105 0.0046 -0.9999 -vn 0.0615 0.0327 -0.9976 -vn -0.0000 -0.0000 -1.0000 -vn 0.8102 0.5861 -0.0053 -vn 0.4901 0.8472 0.2049 -vn 0.7905 0.5793 0.1986 -vn -0.6668 -0.7453 -0.0000 -vn -0.2992 -0.9309 0.2096 -vn -0.6520 -0.7287 0.2095 -vn 0.1014 0.9948 -0.0000 -vn 0.5209 0.8536 -0.0000 -vn -0.3060 -0.9520 -0.0000 -vn 0.1053 -0.9721 0.2096 -vn -0.3120 0.9501 -0.0000 -vn 0.0991 0.9728 0.2096 -vn 0.1077 -0.9942 -0.0000 -vn 0.4916 -0.8453 0.2095 -vn -0.6715 0.7410 -0.0000 -vn -0.3051 0.9290 0.2096 -vn 0.5027 -0.8644 -0.0000 -vn 0.7929 -0.5722 0.2095 -vn -0.9148 0.4038 -0.0000 -vn -0.6566 0.7246 0.2096 -vn 0.9788 -0.2048 -0.0000 -vn 0.8109 -0.5852 -0.0000 -vn -1.0000 -0.0032 -0.0000 -vn -0.8945 0.3949 0.2096 -vn 0.9725 0.2327 -0.0000 -vn 0.9571 -0.2003 0.2095 -vn -0.9122 -0.4096 -0.0000 -vn -0.9778 -0.0031 0.2096 -vn 0.9559 0.2095 0.2059 -vn -0.6511 -0.7285 0.2129 -vn -0.8920 -0.4005 0.2095 -vn 0.4858 0.8465 0.2178 -vn -0.2983 -0.9300 0.2147 -vn 0.0997 0.9713 0.2159 -vn 0.1058 -0.9705 0.2167 -vn -0.3042 0.9283 0.2138 -vn 0.4910 -0.8433 0.2186 -vn -0.6559 0.7245 0.2121 -vn 0.7912 -0.5706 0.2200 -vn -0.8941 0.3949 0.2111 -vn 0.9547 -0.1997 0.2206 -vn 0.9776 -0.0152 0.2097 -vn 0.8993 0.3837 0.2096 -vn 0.9071 -0.0141 0.4208 -vn 0.9535 0.2056 0.2204 -vn 0.9774 0.2114 -0.0024 -vn 0.7878 0.5756 0.2193 -vn 0.7976 0.6031 -0.0044 -vn -0.6675 -0.7444 -0.0178 -vn -0.8915 -0.4007 0.2115 -vn 0.4845 0.8747 -0.0076 -vn -0.3156 -0.9488 -0.0140 -vn 0.1106 0.9938 -0.0117 -vn 0.0960 -0.9953 -0.0099 -vn -0.3045 0.9524 -0.0161 -vn 0.4964 -0.8681 -0.0059 -vn -0.6720 0.7403 -0.0196 -vn 0.8078 -0.5895 -0.0031 -vn -0.9148 0.4034 -0.0216 -vn 0.9788 -0.2049 -0.0019 -vn -0.9775 -0.0032 0.2109 -vn -0.9998 -0.0030 -0.0220 -vn -0.3036 -0.9372 -0.1716 -vn 0.0889 -0.9358 -0.3411 -vn 0.1091 -0.9798 -0.1674 -vn -0.9848 -0.0031 -0.1736 -vn -0.8547 -0.3838 -0.3495 -vn -0.8984 -0.4034 -0.1736 -vn 0.9627 0.2078 -0.1736 -vn 0.7512 0.5546 -0.3578 -vn 0.7949 0.5814 -0.1736 -vn -0.9009 0.3977 -0.1736 -vn -0.6291 0.6943 -0.3495 -vn -0.8571 0.3784 -0.3495 -vn -0.6247 -0.6983 -0.3494 -vn -0.6566 -0.7340 -0.1736 -vn 0.9639 -0.2017 -0.1736 -vn 0.7582 -0.5485 -0.3524 -vn 0.9171 -0.1919 -0.3495 -vn -0.3044 0.9361 -0.1762 -vn 0.0943 0.9205 -0.3791 -vn -0.2834 0.8931 -0.3495 -vn 0.4579 -0.8147 -0.3557 -vn 0.4966 -0.8501 -0.1753 -vn 0.4844 0.8533 -0.1927 -vn -0.9370 -0.0030 -0.3494 -vn -0.2945 -0.8895 -0.3494 -vn 0.9159 0.1977 -0.3494 -vn -0.6613 0.7298 -0.1736 -vn 0.7986 -0.5763 -0.1736 -vn -0.9123 -0.4089 -0.0206 -vn 0.5461 -0.3941 0.7392 -vn 0.3386 -0.5822 0.7392 -vn 0.3349 0.5843 0.7392 -vn 0.0683 0.6700 0.7392 -vn 0.0725 -0.6696 0.7392 -vn -0.2061 -0.6412 0.7392 -vn -0.6735 -0.0021 0.7392 -vn -0.6144 -0.2759 0.7392 -vn 0.5436 0.3976 0.7392 -vn 0.6583 0.1421 0.7392 -vn -0.6161 0.2720 0.7392 -vn -0.4522 0.4991 0.7392 -vn -0.4491 -0.5019 0.7392 -vn 0.6592 -0.1379 0.7392 -vn -0.2101 0.6399 0.7392 -vn -0.2102 0.6399 0.7392 -vn -0.4491 -0.5020 0.7392 -vn 0.4428 0.8051 -0.3947 -vn 0.1014 0.9762 -0.1916 -vn -0.9123 -0.4096 -0.0000 -vn 0.9775 0.2110 -0.0000 -vn 0.8072 0.5903 -0.0000 -vn 0.4973 0.8676 -0.0000 -vn -0.9148 0.4039 -0.0000 -vn -0.9999 0.0156 -0.0000 -vn 0.3238 0.9461 -0.0000 -vn 0.6655 0.7164 0.2096 -vn 0.6806 0.7326 -0.0000 -vn -0.0890 0.9960 -0.0000 -vn 0.3166 0.9251 0.2096 -vn -0.1201 -0.9928 -0.0000 -vn 0.2876 -0.9345 0.2096 -vn -0.1174 -0.9707 0.2096 -vn -0.4864 0.8737 -0.0000 -vn -0.0870 0.9739 0.2095 -vn 0.6575 -0.7535 -0.0000 -vn 0.2942 -0.9558 -0.0000 -vn -0.9109 0.4125 0.0017 -vn -0.8004 0.5994 -0.0017 -vn -0.9749 0.2227 0.0007 -vn -0.9848 0.0055 -0.1736 -vn -0.8581 -0.3763 -0.3495 -vn -0.9019 -0.3955 -0.1736 -vn 0.9644 0.1994 -0.1736 -vn 0.7611 0.5465 -0.3495 -vn 0.7999 0.5744 -0.1736 -vn -0.8974 0.4056 -0.1736 -vn -0.6230 0.6998 -0.3495 -vn -0.8538 0.3859 -0.3495 -vn -0.6308 -0.6928 -0.3494 -vn -0.6631 -0.7282 -0.1736 -vn 0.7935 -0.5833 -0.1736 -vn 0.9153 -0.1999 -0.3495 -vn 0.9621 -0.2101 -0.1736 -vn 0.0944 0.9807 -0.1713 -vn -0.2873 0.8909 -0.3519 -vn -0.3040 0.9366 -0.1741 -vn 0.0984 -0.9799 -0.1737 -vn 0.4338 -0.8299 -0.3508 -vn 0.4595 -0.8712 -0.1729 -vn -0.9369 0.0052 -0.3495 -vn -0.2610 -0.8993 -0.3508 -vn -0.2781 -0.9449 -0.1729 -vn 0.9175 0.1897 -0.3495 -vn -0.6549 0.7355 -0.1736 -vn -0.0000 -1.0000 -0.0000 -vn 0.0741 0.6694 0.7392 -vn 0.3400 0.5814 0.7392 -vn 0.4946 0.8518 -0.1726 -vn 0.1109 0.9304 -0.3493 -vn -0.6733 -0.7394 -0.0000 -vn -0.9158 -0.4016 -0.0000 -vn -0.3114 -0.9503 -0.0046 -vn -0.4479 0.5030 0.7392 -vn -0.2045 0.6417 0.7392 -vn 0.0989 -0.9951 -0.0099 -vn -0.3673 -0.9294 0.0358 -vn -0.4535 -0.8912 -0.0103 -vn -0.4039 -0.8909 -0.2076 -vn -0.0017 -0.0000 1.0000 -vn -0.0025 1.0000 -0.0008 -vn -0.0000 1.0000 -0.0000 -vn -0.0021 1.0000 -0.0009 -vn -0.0000 -0.6554 0.7553 -vn 0.0452 -0.9968 -0.0659 -vn 0.9831 0.0449 -0.1776 -vn 0.9983 0.0228 -0.0531 -vn 0.9927 -0.0741 -0.0955 -vn -0.0004 0.3482 -0.9374 -vn -0.0004 0.6966 -0.7174 -vn 0.0003 0.9993 -0.0384 -vn 0.0142 0.9979 -0.0633 -vn 0.0067 0.9980 -0.0629 -vn 0.1200 0.9928 -0.0000 -vn -0.0026 0.9366 -0.3503 -vn -0.1083 -0.9792 0.1718 -vn -0.1072 -0.9933 -0.0440 -vn 0.0001 -0.9824 -0.1867 -vn 0.9851 -0.1721 0.0025 -vn 0.9925 -0.0814 0.0912 -vn 0.0018 -1.0000 -0.0084 -vn 0.0037 -1.0000 -0.0012 -vn 0.0029 -1.0000 0.0014 -vn -0.1136 0.8968 -0.4277 -vn -0.0942 0.8866 -0.4529 -vn -0.1184 0.8991 -0.4213 -vn -0.1581 0.9165 -0.3675 -vn 0.0009 -0.0024 1.0000 -vn 0.0001 0.0284 0.9996 -vn 0.0002 -0.0018 1.0000 -vn 0.8973 -0.4414 0.0042 -vn -0.0004 0.1219 -0.9925 -vn 0.7295 0.6839 -0.0003 -vn 0.5790 0.8153 -0.0068 -vn 0.6337 0.7735 -0.0069 -vn 0.0113 0.0305 -0.9995 -vn 0.0086 0.0271 -0.9996 -vn 0.0199 0.0411 -0.9990 -vn -0.9999 -0.0000 0.0142 -vn -0.7041 -0.0000 0.7101 -vn 1.0000 -0.0000 -0.0006 -vn -0.1262 0.0533 -0.9906 -vn -0.0430 0.0181 -0.9989 -vn -0.1685 0.0711 -0.9831 -vn 0.0043 1.0000 0.0032 -vn 0.0094 0.9999 0.0069 -vn 0.0158 0.9998 0.0116 -vn 0.6908 -0.0000 0.7231 -vn 0.9997 -0.0000 -0.0236 -vn 0.9745 0.2143 -0.0661 -vn 0.9856 0.1607 0.0534 -vn 0.0041 0.2804 0.9599 -vn -0.0168 -0.0144 0.9998 -vn -0.0038 0.0246 0.9997 -vn -0.0000 0.6819 0.7314 -vn -0.0000 0.8166 0.5771 -vn -0.0000 0.9998 0.0183 -vn 0.0018 -1.0000 -0.0003 -vn 0.0006 -1.0000 -0.0003 -vn -0.0000 0.0287 0.9996 -vn -0.0000 -0.0000 1.0000 -vn 0.9707 0.0306 0.2384 -vn 0.9724 0.0300 0.2313 -vn 0.9706 0.0306 0.2387 -vn -0.9718 -0.0648 -0.2266 -vn -0.9406 -0.2741 -0.2004 -vn -0.9404 -0.2741 -0.2012 -vn -0.9569 0.1475 -0.2503 -vn -0.9827 0.0237 0.1835 -vn -0.9812 0.0242 0.1915 -vn -0.9811 0.0243 0.1918 -vn 0.9831 -0.0601 -0.1729 -vn 0.9527 -0.2613 -0.1549 -vn 0.9832 -0.0589 -0.1726 -vn 0.9687 0.1448 -0.2018 -vn -0.0000 1.0000 -0.0045 -vn -0.0002 1.0000 -0.0045 -vn -0.0003 1.0000 -0.0045 -vn 0.9999 -0.0000 -0.0108 -vn 0.9999 -0.0126 -0.0065 -vn 0.0001 0.0285 0.9996 -vn 0.3645 -0.8229 0.4359 -vn 0.3824 -0.9234 -0.0325 -vn 0.3899 -0.9200 -0.0399 -vn 0.3612 -0.5353 0.7635 -vn 0.3238 -0.8590 0.3965 -vn 0.3752 -0.0534 0.9254 -vn 0.3106 -0.1017 0.9451 -vn 0.3251 -0.8385 -0.4373 -vn 0.9475 -0.2902 -0.1343 -vn 0.3836 0.7520 -0.5360 -vn 0.4112 0.5668 -0.7139 -vn 0.3864 0.6004 -0.7002 -vn -0.3535 -0.8400 0.4116 -vn -0.4504 -0.7240 0.5225 -vn -0.4720 -0.8446 0.2528 -vn -0.7143 -0.4904 -0.4994 -vn -0.2033 0.2636 -0.9430 -vn 0.9709 -0.2396 0.0042 -vn 0.8155 -0.4857 0.3146 -vn 0.7604 -0.6490 -0.0219 -vn 0.5391 0.8417 0.0301 -vn 0.7112 0.6632 0.2331 -vn 0.7465 0.6602 -0.0822 -vn 0.9303 -0.0631 0.3612 -vn 0.6451 -0.7067 0.2906 -vn 0.5792 -0.8137 0.0489 -vn 0.9600 0.2504 0.1255 -vn 0.9928 0.0081 0.1193 -vn -0.1143 -0.8962 0.4287 -vn -0.1749 -0.9587 0.2241 -vn -0.4743 0.8627 -0.1755 -vn 0.7043 -0.0757 0.7059 -vn 0.0227 0.9724 0.2321 -vn 0.8009 0.3815 0.4616 -vn 0.6057 0.6268 0.4902 -vn 0.7148 0.2916 0.6357 -vn 0.4741 0.8413 0.2598 -vn 0.5823 0.1248 0.8034 -vn 0.5530 -0.2778 0.7855 -vn 0.9983 -0.0196 0.0542 -vn 0.9948 0.0722 -0.0721 -vn 0.9990 0.0262 0.0369 -vn -0.0186 -0.9856 -0.1678 -vn 0.1023 -0.5718 -0.8140 -vn 0.0710 -0.5485 -0.8331 -vn 0.2596 -0.6742 -0.6914 -vn -0.0992 -0.4054 -0.9087 -vn 0.0756 0.5249 -0.8478 -vn -0.7970 -0.4900 -0.3531 -vn -0.7982 -0.4757 -0.3697 -vn -0.7937 -0.3528 -0.4955 -vn -0.8414 0.1993 0.5023 -vn -0.7328 -0.4461 0.5138 -vn 0.0886 -0.7667 0.6358 -vn 0.0340 -0.7415 0.6701 -vn -0.0879 -0.6726 0.7347 -vn 0.0707 0.9364 0.3438 -vn 0.7446 -0.4023 0.5326 -vn -0.3947 0.1141 0.9117 -vn -0.4336 0.3707 0.8213 -vn -0.4368 -0.1116 0.8926 -vn -0.4260 0.6842 0.5920 -vn -0.4453 0.7326 0.5148 -vn -0.4612 0.8601 0.2182 -vn -0.4286 -0.4827 0.7638 -vn -0.3904 -0.6018 0.6967 -vn -0.9862 0.1546 -0.0595 -vn -0.9704 0.1800 -0.1609 -vn -0.9787 0.0457 -0.2004 -vn -0.3978 -0.2910 0.8701 -vn -0.9760 0.0768 0.2039 -vn -0.9928 0.0800 0.0891 -vn -0.9843 -0.0923 0.1501 -vn -0.9770 0.1691 0.1297 -vn -0.9805 0.1957 0.0197 -vn -0.9841 0.1321 -0.1188 -vn 0.8076 -0.5742 0.1343 -vn -0.4924 0.8275 -0.2696 -vn -0.4715 0.7025 -0.5330 -vn -0.4923 0.8705 -0.0008 -vn -0.4055 0.3268 -0.8537 -vn -0.4074 0.6839 -0.6052 -vn -0.3904 0.3924 -0.8329 -vn -0.9479 0.1166 -0.2965 -vn -0.9627 -0.0337 -0.2685 -vn -0.3664 -0.9304 -0.0060 -vn -0.4430 -0.8965 -0.0008 -vn -0.3910 -0.8562 -0.3376 -vn -0.3986 0.9170 -0.0151 -vn -0.4328 -0.1135 -0.8943 -vn -0.3536 0.0743 -0.9324 -vn -0.3524 -0.2441 -0.9035 -vn -0.3539 -0.8766 -0.3259 -vn -0.3830 -0.6564 -0.6499 -vn -0.0178 0.5246 0.8512 -vn -0.0065 0.5136 0.8580 -vn 0.1034 0.3997 0.9108 -vn -0.5086 -0.4131 -0.7555 -vn -0.3916 0.8853 -0.2509 -vn 0.7564 -0.2088 -0.6199 -vn 0.7906 -0.4557 -0.4091 -vn 0.5978 -0.5372 -0.5951 -vn 0.5275 0.8051 -0.2713 -vn 0.6522 0.5935 -0.4716 -vn 0.7920 0.0346 -0.6095 -vn 0.9097 -0.1437 -0.3896 -vn 0.9148 0.3531 -0.1960 -vn 0.8482 0.1887 -0.4949 -vn 0.9826 0.0939 -0.1604 -vn 0.7193 -0.6460 -0.2555 -vn -0.4108 0.8642 0.2906 -vn -0.9773 -0.2010 0.0668 -vn -0.9808 0.1178 0.1555 -vn -0.9847 -0.0910 -0.1484 -vn 0.0175 0.1523 0.9882 -vn 0.0189 0.1480 0.9888 -vn 0.0158 0.1575 0.9874 -vn 0.1247 0.9722 0.1981 -vn -0.0566 0.8810 0.4698 -vn -0.1013 0.9636 0.2475 -vn 0.1630 0.7564 0.6335 -vn -0.2727 -0.4961 0.8243 -vn -0.3054 -0.4608 0.8333 -vn -0.3051 -0.4610 0.8333 -vn 0.0442 -0.7714 -0.6348 -vn 0.2009 -0.7448 -0.6364 -vn 0.0073 -0.7946 -0.6071 -vn 0.4431 -0.5555 -0.7036 -vn 0.4072 -0.7605 -0.5058 -vn 0.4200 0.3517 -0.8366 -vn -0.0539 -0.9955 -0.0777 -vn -0.0050 -0.0231 -0.9997 -vn -0.0411 -0.0778 -0.9961 -vn -0.0039 -0.0116 -0.9999 -vn 0.9552 0.2647 0.1322 -vn 0.9820 0.0741 0.1735 -vn 0.9103 -0.3820 0.1595 -vn -0.9902 -0.1279 -0.0562 -vn -0.9752 -0.1999 0.0954 -vn 0.4056 0.4477 0.7969 -vn 0.3645 0.6106 0.7030 -vn 0.3479 0.2792 0.8950 -vn 0.3710 -0.0480 0.9274 -vn 0.3360 -0.1276 0.9332 -vn -0.9689 -0.1862 -0.1627 -vn -0.8509 -0.4771 0.2199 -vn -0.8390 -0.3515 0.4155 -vn -0.7941 -0.6074 -0.0220 -vn -0.7314 -0.6814 -0.0284 -vn 0.1650 0.1265 0.9782 -vn -0.1847 -0.1259 -0.9747 -vn -0.2334 0.1254 0.9643 -vn 0.2329 -0.1253 -0.9644 -vn -1.0000 -0.0000 -0.0000 -vn -0.3691 0.0072 0.9294 -vn -0.3681 -0.1730 0.9135 -vn -0.3813 0.0112 0.9244 -vn 0.0081 0.4087 -0.9126 -vn -0.0087 0.1110 -0.9938 -vn -0.0703 0.2353 -0.9694 -vn -0.1176 -0.6420 -0.7576 -vn -0.2294 -0.6967 -0.6797 -vn -0.0742 -0.3024 -0.9503 -vn -0.9013 -0.1377 -0.4107 -vn -0.9578 0.1185 -0.2619 -vn -0.9954 -0.0943 0.0135 -vn -0.9961 0.0875 -0.0078 -vn -0.9976 0.0018 -0.0688 -vn 0.4916 0.8526 0.1771 -vn 0.7603 0.5524 0.3418 -vn 0.4699 0.8139 0.3418 -vn -0.9453 -0.3189 -0.0685 -vn -0.9656 -0.2596 0.0143 -vn -0.9825 -0.1716 -0.0729 -vn -0.9897 0.1273 -0.0651 -vn -0.9905 0.1182 0.0706 -vn -0.0008 0.0024 -1.0000 -vn 0.0030 -0.0002 -1.0000 -vn -0.0004 0.0015 -1.0000 -vn 0.9994 -0.0340 0.0001 -vn 0.9976 -0.0490 0.0498 -vn 0.9977 -0.0090 -0.0678 -vn 0.7339 -0.3981 0.5504 -vn 0.7631 -0.3508 0.5427 -vn 0.7666 -0.3449 0.5416 -vn 0.7953 -0.2921 0.5311 -vn 0.9956 -0.0616 0.0709 -vn 0.9946 -0.0619 0.0838 -vn -0.9288 -0.3706 0.0013 -vn -0.3508 0.1838 0.9183 -vn -0.4838 -0.6747 0.5575 -vn -0.2608 -0.6421 0.7209 -vn -0.4930 -0.7244 0.4818 -vn -0.3317 0.1682 0.9283 -vn -0.5165 -0.7079 0.4818 -vn -0.4492 -0.8152 0.3657 -vn -0.9362 -0.0121 0.3512 -vn -0.9689 -0.1148 0.2191 -vn -0.9240 -0.1016 0.3686 -vn -0.6115 -0.6564 0.4419 -vn -0.9615 0.0292 0.2733 -vn -0.9096 0.1065 0.4017 -vn -0.9940 -0.0119 0.1085 -vn -0.9546 -0.2834 0.0921 -vn -0.3090 0.9510 0.0075 -vn -0.0798 0.9967 0.0149 -vn -0.0562 0.9878 0.1452 -vn 0.7964 0.5785 0.1765 -vn 0.5090 0.8608 0.0009 -vn 0.8156 0.5786 -0.0003 -vn 0.1107 0.9938 0.0038 -vn -0.0973 0.9952 0.0063 -vn -0.0089 0.9999 -0.0131 -vn -0.0061 0.9998 -0.0194 -vn -0.0082 0.9999 -0.0112 -vn -0.0015 -1.0000 -0.0078 -vn 0.9727 -0.0298 -0.2303 -vn 0.9144 0.4047 -0.0014 -vn 0.9573 0.2818 -0.0644 -vn -0.0000 0.0003 -1.0000 -vn 0.0017 -0.0004 -1.0000 -vn 0.3765 -0.9264 -0.0019 -vn 0.3764 -0.9265 -0.0019 -vn 0.3729 -0.9279 -0.0004 -vn -0.2531 0.9674 0.0009 -vn -0.2513 0.9679 0.0026 -vn 1.0000 -0.0078 -0.0000 -vn -0.0289 -0.9544 -0.2971 -vn 0.9578 -0.0498 0.2830 -vn 0.9748 -0.1065 0.1962 -vn 0.9794 -0.1467 0.1386 -vn 0.0366 -0.9983 -0.0449 -vn 0.6564 -0.7386 0.1537 -vn 0.6364 -0.7514 0.1742 -vn 0.7025 -0.7055 0.0938 -vn 0.0953 -0.9812 -0.1677 -vn 0.9996 0.0274 -0.0007 -vn -0.8144 0.5325 0.2308 -vn -0.8095 0.5871 -0.0023 -vn -0.5896 0.7650 0.2591 -vn 0.0018 -0.9998 -0.0192 -vn -0.0208 -0.9998 -0.0019 -vn -0.4087 0.9125 -0.0194 -vn -0.5149 0.8572 -0.0124 -vn -0.2777 0.9606 -0.0037 -vn -0.0033 0.0009 1.0000 -vn 0.0002 0.0019 1.0000 -vn 0.0023 -0.0006 1.0000 -vn -0.5307 0.8474 -0.0129 -vn -0.7030 0.7110 -0.0176 -vn -1.0000 -0.0000 0.0006 -vn -0.6231 -0.7821 -0.0009 -vn -0.5582 -0.8297 0.0038 -vn -0.6170 -0.7870 0.0022 -vn -0.6759 -0.7370 -0.0012 -vn -0.0275 0.0087 -0.9996 -vn -0.0296 0.0198 -0.9994 -vn -0.0484 -0.0011 -0.9988 -vn -0.3797 0.9250 0.0118 -vn -0.3797 0.9251 0.0118 -vn 0.9811 0.1910 -0.0305 -vn -0.1496 -0.9299 -0.3359 -vn 1.0000 -0.0000 -0.0012 -vn -0.5021 -0.8391 0.2096 -vn 0.9071 -0.4209 -0.0000 -vn 0.6429 -0.7367 0.2095 -vn -0.9748 0.2231 -0.0000 -vn -0.7820 0.5870 0.2095 -vn -0.7998 0.6003 -0.0000 -vn -0.4756 0.8543 0.2096 -vn 0.8869 -0.4116 0.2096 -vn -0.8181 -0.5751 -0.0000 -vn -0.9595 -0.1884 0.2096 -vn -0.9813 -0.1926 -0.0000 -vn 0.9198 0.3925 -0.0000 -vn 0.9999 -0.0156 -0.0000 -vn -0.9532 0.2182 0.2095 -vn -0.7422 -0.5218 0.4205 -vn -0.4658 -0.7786 0.4205 -vn 0.2938 0.8584 0.4206 -vn -0.1089 -0.9006 0.4207 -vn 0.5965 -0.6836 0.4205 -vn 0.2668 -0.8671 0.4207 -vn -0.0808 0.9037 0.4205 -vn -0.7256 0.5447 0.4205 -vn -0.4413 0.7927 0.4206 -vn 0.7284 -0.5468 0.4129 -vn -0.8844 0.2025 0.4205 -vn -0.8903 -0.1748 0.4205 -vn 0.8127 0.5822 -0.0226 -vn 0.9192 0.3930 -0.0260 -vn 0.6795 0.7334 -0.0226 -vn -0.9151 -0.4032 0.0002 -vn -0.5148 -0.8573 -0.0017 -vn -0.6723 -0.7403 -0.0047 -vn -0.7999 -0.5623 0.2096 -vn -0.5135 -0.8581 -0.0000 -vn -0.2772 -0.9608 -0.0095 -vn 0.2928 -0.9561 -0.0124 -vn 0.1018 -0.9947 -0.0147 -vn 0.5061 0.8623 -0.0183 -vn 0.3221 0.9465 -0.0176 -vn -0.1219 -0.9925 -0.0072 -vn -0.3020 0.9533 -0.0069 -vn -0.0908 0.9958 -0.0117 -vn -0.4878 0.8729 -0.0061 -vn 0.1119 0.9936 -0.0127 -vn -0.6639 0.7478 -0.0018 -vn 0.6560 -0.7546 -0.0175 -vn 0.4648 -0.8852 -0.0210 -vn 0.7449 0.5238 0.4132 -vn 0.6175 0.6647 0.4205 -vn 0.9060 -0.4227 -0.0238 -vn 0.8056 -0.5920 -0.0240 -vn 0.9791 0.2020 -0.0249 -vn 0.9995 -0.0156 -0.0271 -vn 0.9768 -0.2129 -0.0249 -vn -1.0000 0.0056 0.0030 -vn -0.9813 -0.1923 0.0008 -vn -0.8180 -0.5753 0.0005 -vn 0.7549 -0.5549 -0.3495 -vn 0.3335 -0.5851 0.7392 -vn 0.0667 -0.6702 0.7392 -vn -0.6138 0.2774 0.7392 -vn -0.4535 -0.4980 0.7392 -vn -0.2117 -0.6394 0.7392 -vn -0.6735 0.0038 0.7392 -vn 0.6580 -0.1437 0.7392 -vn 0.5426 -0.3989 0.7392 -vn -0.6168 -0.2705 0.7392 -vn -0.2117 -0.6393 0.7392 -vn 0.6595 0.1364 0.7392 -vn 0.5471 0.3928 0.7392 -vn 0.6595 0.1363 0.7392 -vn -0.6735 0.0037 0.7392 -vn 0.4925 -0.8703 -0.0044 -vn 0.8057 -0.5923 -0.0000 -vn 0.9770 -0.2134 -0.0000 -vn 0.8123 0.5833 -0.0000 -vn 0.9793 0.2025 -0.0000 -vn 0.5048 0.8632 -0.0000 -vn 0.1106 0.9939 0.0008 -vn -0.3042 0.9526 0.0008 -vn -0.6650 0.7469 -0.0000 -vn -0.9113 0.4118 -0.0000 -vn -1.0000 0.0056 -0.0000 -vn -0.9999 -0.0100 0.0011 -vn -0.9226 -0.3347 -0.1916 -vn -0.9843 0.1762 0.0141 -vn 0.0493 -0.3646 -0.9299 -vn -0.3572 -0.4007 0.8437 -vn -0.9407 0.2753 0.1981 -vn 0.9799 0.1650 -0.1122 -vn -0.3968 0.7908 -0.4661 -vn -0.8892 0.3724 -0.2657 -vn -0.7649 -0.6180 -0.1816 -vn 0.1875 -0.8034 0.5651 -vn 0.9621 -0.1015 0.2532 -vn 0.6808 0.3512 -0.6427 -vn 0.4103 0.6956 -0.5898 -vn -0.4863 -0.6284 -0.6071 -vn -0.9748 -0.2230 -0.0024 -vn -0.9088 -0.3885 -0.1520 -vn -0.9670 -0.0055 0.2547 -vn -0.9595 -0.1390 0.2450 -vn -0.4087 0.4417 0.7987 -vn -0.7515 -0.6337 -0.1835 -vn -0.7690 -0.6052 -0.2058 -vn 0.4685 0.2949 -0.8328 -vn 0.9838 0.0412 0.1746 -vn 0.3757 0.6927 0.6157 -vn 0.3094 0.7720 0.5552 -vn -0.8068 -0.3446 0.4799 -vn -0.7864 -0.2399 0.5692 -vn 0.8992 0.4004 0.1767 -vn 0.9136 0.4067 -0.0020 -vn 0.0621 0.8997 0.4320 -vn 0.0030 0.9404 0.3401 -vn 0.1573 0.9267 0.3412 -vn 0.8607 0.3833 0.3351 -vn -0.4473 -0.8943 -0.0147 -vn -0.4752 -0.8212 -0.3159 -vn 0.7858 0.1059 0.6093 -vn 0.8061 0.1543 0.5712 -vn 0.8449 0.2860 0.4521 -vn 0.0037 -0.0020 1.0000 -vn 0.0015 -0.0014 1.0000 -vn 0.0012 0.0035 1.0000 -vn -0.0046 -1.0000 -0.0023 -vn 0.5077 0.8616 -0.0000 -vn 0.3499 0.9368 -0.0000 -vn 0.0001 -0.0000 1.0000 -vn -0.0000 -0.0001 1.0000 -vn 0.0827 -0.0776 0.9935 -vn 0.0277 -0.0409 0.9988 -vn 0.0457 -0.0116 0.9989 -vn 0.0855 -0.9899 -0.1130 -vn -1.0000 -0.0016 -0.0001 -vn -1.0000 -0.0018 -0.0001 -vn -1.0000 0.0043 0.0001 -vn 0.1047 0.9631 0.2481 -vn 0.1599 0.9869 0.0225 -vn -0.8746 -0.3672 -0.3166 -vn -0.9735 0.2134 -0.0821 -vn -0.9706 -0.1246 -0.2062 -vn 0.0144 -0.9998 -0.0158 -vn -0.0010 -0.9999 -0.0158 -vn 0.0077 -0.9999 0.0101 -vn -0.0034 -1.0000 0.0041 -vn 0.0251 -0.9777 0.2085 -vn 0.9978 -0.0667 0.0025 -vn 0.9990 -0.0249 0.0367 -vn 1.0000 0.0030 0.0092 -vn -1.0000 -0.0072 0.0035 -vn -0.9999 -0.0151 -0.0013 -vn -0.9995 0.0309 0.0025 -vn 0.5280 -0.8468 0.0645 -vn 0.6505 -0.7359 0.1878 -vn 0.6366 -0.7513 0.1741 -vn 0.2913 0.9566 -0.0036 -vn 0.3038 0.9527 0.0077 -vn 0.3420 0.9387 0.0424 -vn -0.0000 0.9999 -0.0143 -vn -0.0000 0.9993 -0.0384 -vn -0.0006 -0.0028 -1.0000 -vn -0.0001 -0.0003 -1.0000 -vn -0.0333 0.0351 -0.9988 -vn 0.6681 -0.7142 0.2089 -vn -0.9994 0.0120 0.0331 -vn -0.9963 0.0214 0.0837 -vn -1.0000 -0.0029 0.0089 -vn 0.0003 -0.0013 1.0000 -vn -0.0002 -0.0014 1.0000 -vn 0.0001 -0.0002 1.0000 -vn 0.9999 0.0100 -0.0000 -vn 1.0000 0.0100 -0.0000 -vn 0.9123 0.4096 -0.0000 -vn 1.0000 0.0031 -0.0000 -vn 0.6668 0.7452 -0.0000 -vn 0.9148 -0.4038 -0.0000 -vn 0.6715 -0.7410 -0.0000 -vn 0.3120 -0.9501 -0.0000 -vn -0.1014 -0.9948 -0.0000 -vn -0.9775 -0.2110 -0.0000 -vn -0.9788 0.2048 -0.0000 -vn -0.8109 0.5852 -0.0000 -vn 0.3060 0.9520 -0.0000 -vn -0.1077 0.9942 -0.0000 -vn -0.4972 -0.8676 -0.0000 -vn -0.8072 -0.5903 -0.0000 -vn -0.5027 0.8644 -0.0000 -vn -0.9999 -0.0033 -0.0105 -vn -1.0000 -0.0071 -0.0049 -vn -0.9998 -0.0144 -0.0167 -vn -0.9998 0.0134 -0.0140 -vn -0.9995 -0.0234 -0.0191 -vn -0.9997 -0.0195 -0.0126 -vn 0.6871 -0.7262 -0.0214 -vn 0.9841 0.1539 -0.0890 -vn -0.0016 0.9952 -0.0981 -vn -0.9999 -0.0063 -0.0082 -vn -0.9996 -0.0298 -0.0002 -vn -0.0912 -0.7183 -0.6898 -vn 0.0295 -0.0027 0.9996 -vn 0.0264 -0.0028 0.9996 -vn 0.0065 -0.0011 1.0000 -vn -0.0094 0.0173 0.9998 -vn -0.0091 0.0192 0.9998 -vn -0.0083 0.0185 0.9998 -vn -0.0872 -0.9909 -0.1022 -vn -0.0034 0.0158 -0.9999 -vn 0.0058 0.0162 -0.9999 -vn 0.8936 0.1754 0.4131 -vn 0.8878 -0.2032 0.4130 -vn 0.0937 -0.9323 -0.3495 -vn 0.4730 0.8088 -0.3494 -vn -0.0033 1.0000 -0.0003 -vn -0.0034 1.0000 -0.0000 -vn 0.9851 0.0990 -0.1407 -vn -0.0002 0.6962 -0.7178 -vn -0.0000 0.9980 -0.0625 -vn 0.0048 -1.0000 -0.0019 -vn 0.0040 -1.0000 -0.0011 -vn -0.0002 -0.0027 1.0000 -vn 0.0011 -0.0025 1.0000 -vn 0.5284 0.8490 -0.0032 -vn 0.7972 0.6037 -0.0000 -vn -0.0000 0.0164 -0.9999 -vn -0.0000 0.0327 0.9995 -vn -0.0000 0.2852 0.9585 -vn 0.0224 0.0333 0.9992 -vn -0.0032 -1.0000 -0.0000 -vn 0.9725 0.0300 0.2310 -vn -0.9719 -0.0648 -0.2263 -vn -0.9828 0.0237 0.1831 -vn 0.9525 -0.2613 -0.1562 -vn 0.9686 0.1448 -0.2022 -vn 0.9995 -0.0310 -0.0002 -vn 0.9999 -0.0065 -0.0086 -vn 0.3996 -0.4929 0.7729 -vn 0.3836 0.7520 -0.5361 -vn 0.3828 0.7516 -0.5373 -vn -0.0973 0.5972 0.7962 -vn 0.0212 0.1409 0.9898 -vn 0.0081 -0.0203 -0.9998 -vn 0.0110 -0.0303 -0.9995 -vn 0.0166 -0.0264 -0.9995 -vn -0.0082 0.0052 -1.0000 -vn -0.0189 0.0031 -0.9998 -vn -0.0053 0.0052 -1.0000 -vn 0.0165 -0.0264 -0.9995 -vn 0.0083 -0.0203 -0.9998 -vn -0.3623 -0.1676 0.9169 -vn 0.0201 -0.0057 -0.9998 -vn 0.0081 -0.0023 -1.0000 -vn 0.0006 0.0033 -1.0000 -vn -0.0003 0.0030 -1.0000 -vn 0.0015 0.9999 -0.0103 -vn -0.0032 1.0000 -0.0016 -vn -0.0030 -1.0000 -0.0016 -vn 0.9140 0.4056 -0.0016 -vn 0.9538 -0.1365 -0.2676 -vn 0.9537 -0.0289 -0.2993 -vn 0.9503 -0.0000 -0.3113 -vn 0.0142 0.0012 -0.9999 -vn 0.0115 -0.0069 -0.9999 -vn 0.0176 -0.0074 -0.9998 -vn 0.0191 0.0055 -0.9998 -vn -0.0113 -0.0062 -0.9999 -vn 0.0180 -0.0102 -0.9998 -vn 0.0063 0.0012 -1.0000 -vn 0.0379 -0.0230 -0.9990 -vn 0.0357 -0.0342 -0.9988 -vn -0.3729 0.9279 0.0038 -vn -0.3747 0.9272 0.0019 -vn 0.9100 -0.0505 0.4116 -vn 0.9151 -0.0470 0.4004 -vn 0.9908 0.1342 0.0165 -vn 0.9848 0.1740 -0.0006 -vn 0.9875 -0.1094 0.1136 -vn 0.6233 -0.7423 0.2458 -vn -0.0163 -0.9997 -0.0158 -vn 0.9996 0.0275 -0.0007 -vn 0.9998 0.0175 -0.0011 -vn 0.9998 0.0178 -0.0011 -vn 1.0000 0.0003 -0.0000 -vn -0.2911 0.8960 0.3352 -vn -0.4699 0.8139 0.3418 -vn -0.6854 0.5137 0.5161 -vn -0.8607 0.3832 0.3352 -vn -0.9136 0.4067 0.0003 -vn -0.6691 0.7432 0.0032 -vn -0.0014 -0.0017 1.0000 -vn -0.0079 0.0242 0.9997 -vn 0.0113 -0.0005 0.9999 -vn 0.0052 -0.0017 1.0000 -vn 0.0100 0.0008 1.0000 -vn 0.0219 0.0098 0.9997 -vn -0.0028 -0.0002 1.0000 -vn -0.0030 -0.0004 1.0000 -vn -0.0126 0.0217 0.9997 -vn -0.0078 0.0066 0.9999 -vn -0.0053 0.0017 1.0000 -vn -0.0021 -0.0010 1.0000 -vn -0.6258 0.7800 -0.0036 -vn -0.5583 -0.8296 0.0038 -vn -0.6874 -0.7262 -0.0075 -vn -0.0714 -0.0027 -0.9974 -vn -0.0683 -0.0028 -0.9977 -vn -0.0323 0.0156 -0.9994 -vn -0.0347 0.0174 -0.9992 -vn -0.0184 0.0055 -0.9998 -vn -0.9071 0.4209 -0.0000 -vn 0.7450 0.5238 0.4131 -vn 0.7063 -0.0395 0.7068 -vn 0.0006 0.0003 1.0000 -vn -0.0023 0.0048 1.0000 -vn -0.0101 0.0039 0.9999 -vn -0.0031 0.0053 1.0000 -vn 0.0067 0.0043 1.0000 -vn 0.0064 -0.0029 1.0000 -vn -0.0000 0.0001 1.0000 -vn -0.0001 -0.0000 1.0000 -vn -0.0002 -0.0001 1.0000 -vn -0.0003 -0.0004 1.0000 -vn 0.0003 -0.0004 1.0000 -vn 0.0002 -0.0001 1.0000 -vn 0.0502 0.0051 0.9987 -vn 0.0605 0.0030 0.9982 -vn 0.0473 0.0051 0.9989 -vn 0.0162 -0.0329 0.9993 -vn 0.0467 -0.0229 0.9986 -vn -0.9999 0.0167 -0.0002 -vn -0.9999 0.0166 -0.0002 -vn -0.9346 0.3557 -0.0000 -vn -0.9342 0.3568 -0.0002 -vn -0.9545 -0.0094 -0.2980 -vn -0.9584 -0.0547 -0.2802 -vn 0.0014 -0.9967 0.0809 -vn -0.0131 -0.9999 0.0094 -vn -0.0467 -0.9980 -0.0425 -vn -0.0167 -0.9667 -0.2554 -vn 0.0010 -0.9859 0.1676 -vn -0.0332 -0.9994 -0.0085 -vn 0.0598 -0.9982 -0.0001 -vn 0.9880 -0.1342 0.0770 -vn 0.9993 -0.0247 0.0276 -vn 0.9773 -0.2038 0.0573 -vn 0.9690 -0.2315 0.0865 -vn 0.9725 -0.2239 0.0642 -vn -0.9909 0.1330 0.0213 -vn -0.9936 0.1103 0.0229 -vn -0.9972 0.0742 -0.0029 -vn -0.9985 0.0524 0.0149 -vn -1.0000 -0.0049 0.0037 -vn -0.9999 -0.0116 -0.0006 -vn -1.0000 -0.0051 0.0015 -vn -1.0000 0.0016 -0.0005 -vn 0.2611 0.9648 -0.0304 -vn 0.0092 -0.0671 -0.9977 -vn -0.0097 0.0008 -1.0000 -vn 0.0014 -0.0563 -0.9984 -vn -0.0066 0.0063 -1.0000 -vn -0.0167 0.0132 -0.9998 -vn 0.0191 -0.0579 -0.9981 -vn -0.0261 -0.0183 -0.9995 -vn -0.0460 0.0158 -0.9988 -vn -0.2141 0.0549 -0.9753 -vn -0.2055 0.0399 -0.9779 -vn -0.0823 0.0220 -0.9964 -vn -0.0581 -0.0022 -0.9983 -vn -0.0202 0.1220 -0.9923 -vn -0.0008 -0.0015 -1.0000 -vn 0.0166 0.2081 -0.9780 -vn 0.0201 0.1943 -0.9807 -vn -0.0022 0.2634 -0.9647 -vn -0.9850 0.1712 0.0195 -vn -0.9776 0.2095 0.0217 -vn -0.9378 -0.0362 0.3452 -vn -0.9241 -0.0466 0.3792 -vn 0.0002 -0.0007 1.0000 -vn 0.0024 -0.0026 1.0000 -vn -0.0002 -0.0000 1.0000 -vn -0.0003 -0.0009 1.0000 -vt 0.296448 0.102843 -vt 0.381104 0.047947 -vt 0.035834 0.368077 -vt 0.260019 0.614243 -vt 0.318792 0.625190 -vt 0.275800 0.672218 -vt 0.064766 0.305619 -vt 0.214319 0.161856 -vt 0.375342 0.030583 -vt 0.007698 0.338314 -vt 0.029408 0.318256 -vt 0.043335 0.310187 -vt 0.318905 0.667648 -vt 0.252574 0.694311 -vt 0.236882 0.637031 -vt 0.150287 0.628071 -vt 0.161490 0.706348 -vt 0.155366 0.668298 -vt 0.158302 0.652484 -vt 0.161554 0.687117 -vt 0.159356 0.670738 -vt 0.177046 0.635712 -vt 0.113858 0.672367 -vt 0.172255 0.628996 -vt 0.099369 0.633504 -vt 0.170505 0.620102 -vt 0.100245 0.588370 -vt 0.172087 0.610476 -vt 0.193985 0.511804 -vt 0.184343 0.596378 -vt 0.152646 0.515062 -vt 0.206820 0.627110 -vt 0.277410 0.625302 -vt 0.267428 0.666574 -vt 0.192657 0.639020 -vt 0.171748 0.713811 -vt 0.184184 0.639184 -vt 0.199912 0.595309 -vt 0.231216 0.519947 -vt 0.209484 0.608292 -vt 0.277410 0.583179 -vt 0.201008 0.635047 -vt 0.169178 0.452166 -vt 0.078800 0.768428 -vt 0.075894 0.452870 -vt 0.064099 0.767980 -vt 0.061196 0.452764 -vt 0.323553 0.069332 -vt 0.329659 0.048130 -vt 0.388490 0.045773 -vt 0.180052 0.766554 -vt 0.293930 0.450084 -vt 0.291558 0.766986 -vt 0.365394 0.036567 -vt 0.393169 0.043399 -vt 0.379297 0.054638 -vt 0.379304 0.071635 -vt 0.371065 0.062010 -vt 0.668046 0.738449 -vt 0.668026 0.728691 -vt 0.697871 0.729790 -vt 0.325815 0.430384 -vt 0.338798 0.430384 -vt 0.336684 0.785453 -vt 0.343554 0.027453 -vt 0.375485 0.025070 -vt 0.355937 0.047164 -vt 0.281354 0.120599 -vt 0.298249 0.138538 -vt 0.063679 0.307987 -vt 0.047021 0.304828 -vt 0.197459 0.172409 -vt 0.116186 0.647469 -vt 0.167094 0.533190 -vt 0.144756 0.611156 -vt 0.083961 0.329606 -vt 0.085997 0.346730 -vt 0.067528 0.358456 -vt 0.073363 0.319224 -vt 0.058636 0.333248 -vt 0.211458 0.187373 -vt 0.005853 0.351113 -vt 0.046154 0.345112 -vt 0.037898 0.385539 -vt 0.725084 0.164647 -vt 0.723553 0.158385 -vt 0.727062 0.163206 -vt 0.711602 0.183175 -vt 0.715876 0.183996 -vt 0.710769 0.185812 -vt 0.739821 0.127397 -vt 0.753782 0.142282 -vt 0.706307 0.182228 -vt 0.698730 0.216346 -vt 0.685786 0.204282 -vt 0.718775 0.155720 -vt 0.715259 0.221941 -vt 0.713491 0.155905 -vt 0.722526 0.120807 -vt 0.715955 0.186917 -vt 0.733490 0.219325 -vt 0.708645 0.158709 -vt 0.704953 0.122675 -vt 0.721039 0.185231 -vt 0.750106 0.207316 -vt 0.705023 0.163741 -vt 0.689598 0.132342 -vt 0.727836 0.175925 -vt 0.725106 0.181335 -vt 0.703336 0.169962 -vt 0.678716 0.148426 -vt 0.728637 0.169479 -vt 0.760042 0.187005 -vt 0.703689 0.176461 -vt 0.674296 0.168043 -vt 0.761256 0.163594 -vt 0.681265 0.208398 -vt 0.676971 0.187712 -vt 0.743470 0.121033 -vt 0.695706 0.222422 -vt 0.723381 0.112937 -vt 0.714770 0.229775 -vt 0.702885 0.115790 -vt 0.736080 0.226501 -vt 0.685430 0.127255 -vt 0.755277 0.212407 -vt 0.673365 0.145709 -vt 0.766255 0.188961 -vt 0.751196 0.205325 -vt 0.760981 0.185314 -vt 0.755725 0.210130 -vt 0.767870 0.162564 -vt 0.483959 0.110852 -vt 0.969960 0.121605 -vt 0.483787 0.118039 -vt 0.484212 0.175076 -vt 0.969565 0.167729 -vt 0.969630 0.173987 -vt 0.484952 0.119474 -vt 0.970126 0.130178 -vt 0.484753 0.126396 -vt 0.484329 0.181867 -vt 0.969728 0.180245 -vt 0.969960 0.136435 -vt 0.484458 0.133149 -vt 0.484471 0.188497 -vt 0.969847 0.186503 -vt 0.969796 0.142694 -vt 0.484387 0.139652 -vt 0.484622 0.195187 -vt 0.969975 0.192760 -vt 0.969665 0.148951 -vt 0.484246 0.146449 -vt 0.484770 0.202114 -vt 0.970101 0.199017 -vt 0.969579 0.155210 -vt 0.484148 0.153512 -vt 0.484907 0.209290 -vt 0.970219 0.205274 -vt 0.969540 0.161470 -vt 0.484103 0.160766 -vt 0.970306 0.211532 -vt 0.485009 0.216570 -vt 0.759437 0.138254 -vt 0.043825 0.574278 -vt 0.066391 0.622018 -vt 0.038510 0.624672 -vt 0.178363 0.485327 -vt 0.132179 0.524952 -vt 0.119564 0.496854 -vt 0.205193 0.738509 -vt 0.240940 0.692312 -vt 0.258566 0.716764 -vt 0.236791 0.498723 -vt 0.260084 0.551333 -vt 0.223314 0.526436 -vt 0.094770 0.548661 -vt 0.072289 0.528583 -vt 0.145225 0.738509 -vt 0.109974 0.690139 -vt 0.152169 0.707241 -vt 0.310309 0.578357 -vt 0.285685 0.625051 -vt 0.282244 0.585959 -vt 0.079910 0.659637 -vt 0.053992 0.673528 -vt 0.297153 0.677889 -vt 0.177850 0.517458 -vt 0.071684 0.582983 -vt 0.198662 0.708515 -vt 0.283142 0.531868 -vt 0.091276 0.714321 -vt 0.484133 0.168018 -vt 0.920731 0.597940 -vt 0.903938 0.543036 -vt 0.942946 0.580578 -vt 0.905043 0.780290 -vt 0.853566 0.769454 -vt 0.891577 0.755450 -vt 0.855245 0.526323 -vt 0.812701 0.559133 -vt 0.804567 0.531906 -vt 0.718087 0.662365 -vt 0.754338 0.618031 -vt 0.746375 0.662248 -vt 0.943559 0.742509 -vt 0.937649 0.684279 -vt 0.964783 0.690499 -vt 0.754744 0.706425 -vt 0.760609 0.764453 -vt 0.729498 0.718611 -vt 0.729002 0.606054 -vt 0.777975 0.581612 -vt 0.937145 0.639146 -vt 0.964783 0.632964 -vt 0.813680 0.764929 -vt 0.856535 0.797414 -vt 0.805776 0.792238 -vt 0.852526 0.554309 -vt 0.921362 0.725386 -vt 0.759688 0.560014 -vt 0.271796 0.663565 -vt 0.313734 0.629211 -vt 0.772519 0.110747 -vt 0.709912 0.117729 -vt 0.709912 0.110747 -vt 0.772519 0.117729 -vt 0.709912 0.124711 -vt 0.778726 0.742693 -vt 0.772519 0.124711 -vt 0.709912 0.131692 -vt 0.772519 0.131692 -vt 0.709912 0.138674 -vt 0.772519 0.138674 -vt 0.709912 0.145656 -vt 0.772519 0.145656 -vt 0.709912 0.152638 -vt 0.772519 0.152638 -vt 0.709912 0.159619 -vt 0.772519 0.159619 -vt 0.709912 0.166601 -vt 0.772519 0.166601 -vt 0.709912 0.173583 -vt 0.709912 0.180565 -vt 0.772519 0.173583 -vt 0.772519 0.180565 -vt 0.709912 0.187547 -vt 0.772519 0.187547 -vt 0.709912 0.194528 -vt 0.709912 0.201510 -vt 0.772519 0.194528 -vt 0.772519 0.201510 -vt 0.709912 0.208492 -vt 0.772519 0.208492 -vt 0.581093 0.645132 -vt 0.603781 0.639512 -vt 0.608740 0.661388 -vt 0.726981 0.174407 -vt 0.723067 0.177597 -vt 0.725165 0.173608 -vt 0.727752 0.169119 -vt 0.725819 0.169174 -vt 0.726656 0.164150 -vt 0.724946 0.165095 -vt 0.723836 0.160349 -vt 0.722687 0.162043 -vt 0.719758 0.158341 -vt 0.719376 0.160520 -vt 0.715092 0.158507 -vt 0.715527 0.160721 -vt 0.710689 0.160853 -vt 0.711840 0.162704 -vt 0.707359 0.164961 -vt 0.705935 0.175548 -vt 0.707675 0.170501 -vt 0.707942 0.174918 -vt 0.705716 0.170151 -vt 0.709047 0.166164 -vt 0.725435 0.158006 -vt 0.728801 0.162746 -vt 0.762432 0.162790 -vt 0.730144 0.168771 -vt 0.755795 0.142495 -vt 0.706247 0.182073 -vt 0.698598 0.218101 -vt 0.684639 0.205881 -vt 0.720407 0.155568 -vt 0.742762 0.127448 -vt 0.715944 0.186699 -vt 0.710628 0.185394 -vt 0.484476 0.179366 -vt 0.970192 0.175478 -vt 0.970245 0.181740 -vt 0.177028 0.485893 -vt 0.222095 0.526742 -vt 0.235358 0.499123 -vt 0.144451 0.739355 -vt 0.109116 0.691060 -vt 0.090460 0.715285 -vt 0.118256 0.497530 -vt 0.093555 0.549427 -vt 0.130944 0.525611 -vt 0.258511 0.551039 -vt 0.281310 0.531966 -vt 0.257165 0.717852 -vt 0.197884 0.709488 -vt 0.204249 0.739355 -vt 0.037408 0.625657 -vt 0.070523 0.583838 -vt 0.042609 0.575184 -vt 0.311181 0.630042 -vt 0.269794 0.664861 -vt 0.294508 0.679219 -vt 0.176623 0.517982 -vt 0.280183 0.585816 -vt 0.307659 0.577845 -vt 0.151381 0.708137 -vt 0.071004 0.529375 -vt 0.272542 0.756816 -vt 0.319458 0.454369 -vt 0.319458 0.756816 -vt 0.195505 0.728782 -vt 0.158795 0.772174 -vt 0.164003 0.723040 -vt 0.854491 0.798991 -vt 0.889910 0.757267 -vt 0.903185 0.782258 -vt 0.053035 0.674542 -vt 0.065319 0.622936 -vt 0.777220 0.743735 -vt 0.803814 0.793429 -vt 0.758935 0.765339 -vt 0.055645 0.560553 -vt 0.085835 0.571116 -vt 0.052945 0.594360 -vt 0.195487 0.652780 -vt 0.126933 0.516508 -vt 0.195505 0.516517 -vt 0.133283 0.633683 -vt 0.125966 0.664022 -vt 0.091024 0.690109 -vt 0.262609 0.630973 -vt 0.152787 0.575424 -vt 0.262609 0.575424 -vt 0.225552 0.202243 -vt 0.199418 0.586336 -vt 0.819994 0.746843 -vt 0.763814 0.730207 -vt 0.819994 0.730196 -vt 0.163478 0.695413 -vt 0.163446 0.561456 -vt 0.173352 0.560832 -vt 0.709548 0.178646 -vt 0.708231 0.179960 -vt 0.697912 0.746604 -vt 0.886978 0.568216 -vt 0.907767 0.564368 -vt 0.911018 0.585272 -vt 0.273287 0.553544 -vt 0.232715 0.507377 -vt 0.181062 0.777784 -vt 0.180989 0.432590 -vt 0.211081 0.695672 -vt 0.935628 0.547777 -vt 0.928335 0.534586 -vt 0.957061 0.514718 -vt 0.953673 0.541275 -vt 0.264483 0.609153 -vt 0.214574 0.720008 -vt 0.215429 0.609151 -vt 0.820524 0.552760 -vt 0.816236 0.564136 -vt 0.818580 0.604308 -vt 0.977054 0.746836 -vt 0.175301 0.801976 -vt 0.161807 0.439493 -vt 0.174456 0.439519 -vt 0.249368 0.572381 -vt 0.157624 0.676127 -vt 0.157559 0.572357 -vt 0.252242 0.555075 -vt 0.262949 0.582689 -vt 0.250389 0.588987 -vt 0.195569 0.516508 -vt 0.325918 0.542286 -vt 0.222901 0.642861 -vt 0.267417 0.588326 -vt 0.271105 0.564524 -vt 0.171193 0.685318 -vt 0.151737 0.608220 -vt 0.169451 0.570217 -vt 0.127832 0.649666 -vt 0.152545 0.627205 -vt 0.172283 0.627297 -vt 0.127832 0.675813 -vt 0.216734 0.725573 -vt 0.127832 0.725573 -vt 0.105909 0.462751 -vt 0.021077 0.782399 -vt 0.021077 0.462751 -vt 0.065793 0.457768 -vt 0.084619 0.458339 -vt 0.108210 0.782802 -vt 0.234271 0.474384 -vt 0.298671 0.450845 -vt 0.298671 0.474384 -vt 0.881052 0.748887 -vt 0.894087 0.499407 -vt 0.894087 0.786407 -vt 0.827150 0.688128 -vt 0.883392 0.752398 -vt 0.896428 0.789917 -vt 0.873114 0.583614 -vt 0.824810 0.684617 -vt 0.900819 0.796593 -vt 0.886821 0.542960 -vt 0.900819 0.504088 -vt 0.830423 0.604345 -vt 0.853632 0.607711 -vt 0.235549 0.782542 -vt 0.194646 0.438622 -vt 0.227326 0.431587 -vt 0.164786 0.785449 -vt 0.162663 0.430379 -vt 0.175655 0.430379 -vt 0.242453 0.765105 -vt 0.263009 0.523159 -vt 0.309742 0.542637 -vt 0.264154 0.457185 -vt 0.298591 0.506679 -vt 0.196716 0.498795 -vt 0.200462 0.439717 -vt 0.320799 0.580957 -vt 0.278448 0.589160 -vt 0.116297 0.654629 -vt 0.186553 0.635602 -vt 0.165229 0.682820 -vt 0.105918 0.485981 -vt 0.134656 0.504380 -vt 0.136066 0.481351 -vt 0.309429 0.714666 -vt 0.301416 0.537221 -vt 0.329610 0.511479 -vt 0.300178 0.485482 -vt 0.321744 0.702481 -vt 0.330347 0.665420 -vt 0.288229 0.669719 -vt 0.331049 0.569269 -vt 0.355610 0.485981 -vt 0.314563 0.455848 -vt 0.314762 0.619629 -vt 0.308023 0.582873 -vt 0.877023 0.547152 -vt 0.900329 0.554458 -vt 0.932482 0.511002 -vt 0.914183 0.524699 -vt 0.347823 0.569516 -vt 0.339103 0.628659 -vt 0.362347 0.651411 -vt 0.361841 0.618071 -vt 0.358811 0.683852 -vt 0.364007 0.586030 -vt 0.364503 0.554248 -vt 0.953081 0.541991 -vt 0.929418 0.567271 -vt 0.907393 0.539597 -vt 0.950784 0.536249 -vt 0.934390 0.516693 -vt 0.965839 0.506925 -vt 0.960858 0.575264 -vt 0.928899 0.592619 -vt 0.900072 0.564677 -vt 0.925604 0.545762 -vt 0.898703 0.524833 -vt 0.942330 0.573348 -vt 0.902608 0.570019 -vt 0.965839 0.575300 -vt 0.877278 0.537666 -vt 0.359814 0.520250 -vt 0.105918 0.586040 -vt 0.122763 0.606554 -vt 0.122160 0.568036 -vt 0.105918 0.651411 -vt 0.134501 0.651986 -vt 0.116857 0.686917 -vt 0.128578 0.540344 -vt 0.105918 0.519517 -vt 0.179299 0.610462 -vt 0.206268 0.646985 -vt 0.195687 0.585356 -vt 0.105918 0.554738 -vt 0.158694 0.599897 -vt 0.147941 0.550950 -vt 0.165834 0.671052 -vt 0.668850 0.167746 -vt 0.179299 0.594155 -vt 0.210315 0.672096 -vt 0.221813 0.605981 -vt 0.238193 0.651293 -vt 0.241063 0.616632 -vt 0.219795 0.566854 -vt 0.183376 0.447393 -vt 0.166142 0.483401 -vt 0.203060 0.490554 -vt 0.140665 0.679871 -vt 0.175223 0.708304 -vt 0.175223 0.447393 -vt 0.243353 0.585256 -vt 0.241335 0.554039 -vt 0.237966 0.475216 -vt 0.232297 0.447393 -vt 0.207928 0.489377 -vt 0.240476 0.513146 -vt 0.251532 0.481330 -vt 0.900465 0.507474 -vt 0.921065 0.518190 -vt 0.224365 0.534698 -vt 0.247604 0.683125 -vt 0.265852 0.521012 -vt 0.259271 0.647142 -vt 0.270424 0.558400 -vt 0.279577 0.636261 -vt 0.263947 0.602862 -vt 0.285541 0.597356 -vt 0.259965 0.475042 -vt 0.105918 0.683801 -vt 0.109995 0.708304 -vt 0.900607 0.554110 -vt 0.906244 0.530861 -vt 0.918100 0.552857 -vt 0.903498 0.502883 -vt 0.877735 0.522424 -vt 0.140284 0.563354 -vt 0.147562 0.537185 -vt 0.157422 0.547084 -vt 0.352558 0.651996 -vt 0.351599 0.694222 -vt 0.264200 0.103081 -vt 0.143507 0.615307 -vt 0.167506 0.692768 -vt 0.114162 0.579622 -vt 0.138423 0.558381 -vt 0.163878 0.517052 -vt 0.182157 0.540271 -vt 0.101175 0.495838 -vt 0.144662 0.457293 -vt 0.211297 0.516323 -vt 0.322901 0.436996 -vt 0.352558 0.538438 -vt 0.891052 0.677793 -vt 0.917004 0.511202 -vt 0.917004 0.792988 -vt 0.878415 0.705410 -vt 0.893073 0.634076 -vt 0.920336 0.516840 -vt 0.920336 0.798718 -vt 0.846158 0.681812 -vt 0.275288 0.572357 -vt 0.275288 0.624832 -vt 0.249398 0.594995 -vt 0.209176 0.709866 -vt 0.249368 0.676127 -vt 0.167421 0.491426 -vt 0.124294 0.471366 -vt 0.162808 0.460306 -vt 0.957061 0.564870 -vt 0.927904 0.563325 -vt 0.150752 0.576637 -vt 0.190834 0.577182 -vt 0.170151 0.604581 -vt 0.128181 0.582143 -vt 0.109668 0.601489 -vt 0.117887 0.576989 -vt 0.093949 0.599522 -vt 0.114144 0.574560 -vt 0.129560 0.603106 -vt 0.212519 0.604928 -vt 0.212519 0.558390 -vt 0.231646 0.613041 -vt 0.227152 0.648851 -vt 0.201506 0.617369 -vt 0.139457 0.483153 -vt 0.077627 0.552409 -vt 0.101353 0.474052 -vt 0.165272 0.528563 -vt 0.207887 0.557441 -vt 0.120923 0.575474 -vt 0.170479 0.601100 -vt 0.206597 0.460159 -vt 0.086526 0.503205 -vt 0.132175 0.499398 -vt 0.206821 0.490684 -vt 0.100525 0.547157 -vt 0.063972 0.533756 -vt 0.132613 0.525187 -vt 0.190409 0.519748 -vt 0.170804 0.556982 -vt 0.121105 0.677240 -vt 0.205558 0.648994 -vt 0.131040 0.698669 -vt 0.120791 0.604036 -vt 0.195827 0.623937 -vt 0.207649 0.610159 -vt 0.212359 0.602400 -vt 0.287078 0.712267 -vt 0.252897 0.802356 -vt 0.128758 0.712271 -vt 0.243796 0.777942 -vt 0.211881 0.741978 -vt 0.212506 0.605245 -vt 0.331206 0.533544 -vt 0.331202 0.809653 -vt 0.250386 0.590767 -vt 0.225808 0.675074 -vt 0.193918 0.686639 -vt 0.193915 0.675082 -vt 0.145648 0.587952 -vt 0.153023 0.628692 -vt 0.115329 0.787499 -vt 0.221666 0.444608 -vt 0.221666 0.787392 -vt 0.337913 0.036846 -vt 0.800736 0.658409 -vt 0.694096 0.708634 -vt 0.748012 0.622240 -vt 0.162198 0.707502 -vt 0.114327 0.626249 -vt 0.092619 0.489940 -vt 0.135367 0.489934 -vt 0.134341 0.490121 -vt 0.581829 0.656266 -vt 0.582205 0.643874 -vt 0.608643 0.657856 -vt 0.263579 0.448575 -vt 0.267297 0.448675 -vt 0.264232 0.688301 -vt 0.118691 0.632067 -vt 0.195676 0.634976 -vt 0.367186 0.436037 -vt 0.369064 0.435460 -vt 0.369064 0.446998 -vt 0.157595 0.652282 -vt 0.139370 0.699960 -vt 0.118811 0.545559 -vt 0.176974 0.602004 -vt 0.206796 0.712223 -vt 0.234698 0.802319 -vt 0.169544 0.439544 -vt 0.234698 0.439493 -vt 0.562797 0.641426 -vt 0.565453 0.666175 -vt 0.627405 0.667443 -vt 0.245196 0.803897 -vt 0.159624 0.441498 -vt 0.244492 0.440999 -vt 0.392020 0.638012 -vt 0.045367 0.655659 -vt 0.045367 0.638014 -vt 0.284583 0.452887 -vt 0.301479 0.768428 -vt 0.283085 0.768364 -vt 0.172083 0.767614 -vt 0.150875 0.627246 -vt 0.186150 0.587085 -vt 0.208564 0.688133 -vt 0.084286 0.450002 -vt 0.071571 0.766388 -vt 0.069521 0.449747 -vt 0.178000 0.449680 -vt 0.086339 0.766986 -vt 0.034390 0.322797 -vt 0.716106 0.183929 -vt 0.712436 0.180963 -vt 0.716024 0.181572 -vt 0.206153 0.600413 -vt 0.719885 0.180488 -vt 0.711682 0.182911 -vt 0.332646 0.435561 -vt 0.350092 0.816437 -vt 0.332646 0.816524 -vt 0.675346 0.188923 -vt 0.721672 0.185008 -vt 0.716280 0.222162 -vt 0.709349 0.158612 -vt 0.706700 0.120767 -vt 0.714728 0.155740 -vt 0.725522 0.119727 -vt 0.734665 0.217607 -vt 0.703313 0.169968 -vt 0.677441 0.147810 -vt 0.705383 0.163699 -vt 0.729202 0.175190 -vt 0.726116 0.180718 -vt 0.689513 0.130771 -vt 0.666470 0.167805 -vt 0.669341 0.191107 -vt 0.761656 0.138536 -vt 0.679626 0.211026 -vt 0.716559 0.229434 -vt 0.696121 0.224894 -vt 0.746698 0.120586 -vt 0.704784 0.113720 -vt 0.726339 0.112168 -vt 0.737338 0.224195 -vt 0.685433 0.125314 -vt 0.672199 0.144669 -vt 0.484104 0.145241 -vt 0.969961 0.144158 -vt 0.969947 0.150422 -vt 0.484567 0.193884 -vt 0.970285 0.200529 -vt 0.484542 0.200953 -vt 0.672631 0.168500 -vt 0.703606 0.176529 -vt 0.484495 0.207757 -vt 0.970229 0.213055 -vt 0.484456 0.214348 -vt 0.484131 0.152176 -vt 0.969979 0.156687 -vt 0.970252 0.206792 -vt 0.484297 0.165508 -vt 0.970044 0.162951 -vt 0.970121 0.169214 -vt 0.484202 0.158872 -vt 0.484393 0.172304 -vt 0.484786 0.111975 -vt 0.970932 0.118244 -vt 0.484720 0.118516 -vt 0.767252 0.187756 -vt 0.769124 0.162040 -vt 0.484617 0.116667 -vt 0.970142 0.131630 -vt 0.484400 0.123593 -vt 0.484136 0.138057 -vt 0.970029 0.137894 -vt 0.484235 0.130771 -vt 0.484536 0.186623 -vt 0.970285 0.188003 -vt 0.970306 0.194266 -vt 0.239668 0.693930 -vt 0.216734 0.675813 -vt 0.904289 0.545005 -vt 0.852814 0.555862 -vt 0.855781 0.527901 -vt 0.728248 0.719312 -vt 0.759854 0.560902 -vt 0.812928 0.560404 -vt 0.777973 0.582655 -vt 0.717332 0.663006 -vt 0.753583 0.707327 -vt 0.936896 0.641000 -vt 0.942805 0.582769 -vt 0.964030 0.634771 -vt 0.728744 0.606756 -vt 0.753991 0.618934 -vt 0.811945 0.766199 -vt 0.805021 0.533098 -vt 0.920609 0.599900 -vt 0.964030 0.692306 -vt 0.919977 0.727346 -vt 0.936391 0.686133 -vt 0.745620 0.663114 -vt 0.942193 0.744700 -vt 0.709912 0.215474 -vt 0.350146 0.436640 -vt 0.367133 0.806539 -vt 0.350190 0.806571 -vt 0.107097 0.627693 -vt 0.108184 0.620317 -vt 0.119453 0.618151 -vt 0.937565 0.584611 -vt 0.868521 0.556075 -vt 0.960858 0.512637 -vt 0.105918 0.617345 -vt 0.118984 0.476287 -vt 0.108501 0.453370 -vt 0.084558 0.560630 -vt 0.105941 0.596325 -vt 0.310102 0.447416 -vt 0.310102 0.708280 -vt 0.054717 0.479533 -vt 0.076264 0.466463 -vt 0.097811 0.465749 -vt 0.191332 0.627510 -vt 0.133562 0.719949 -vt 0.121285 0.705451 -vt 0.131344 0.555061 -vt 0.211034 0.500194 -vt 0.724507 0.179085 -vt 0.180789 0.604721 -vt 0.117261 0.569132 -vt 0.288234 0.549025 -vt 0.146500 0.588610 -vt 0.166408 0.803908 -vt 0.231871 0.441085 -vt 0.231871 0.803909 -vt 0.043980 0.638066 -vt 0.390629 0.657331 -vt 0.043980 0.657330 -vt 0.588528 0.681834 -vt 0.574882 0.676320 -vt 0.630206 0.655378 -vt 0.220758 0.706446 -vt 0.233541 0.771678 -vt 0.152011 0.579100 -vt 0.056424 0.367415 -vt 0.267316 0.448783 -vt 0.274784 0.448575 -vt 0.272279 0.536226 -vt 0.099764 0.465749 -vt 0.099764 0.794045 -vt 0.028991 0.741096 -vt 0.141547 0.711432 -vt 0.208794 0.655666 -vt 0.320795 0.572740 -vt 0.307950 0.589772 -vt 0.232351 0.532549 -vt 0.180003 0.767981 -vt 0.133760 0.767968 -vt 0.134369 0.493727 -vt 0.227815 0.649188 -vt 0.232268 0.612759 -vt 0.269325 0.704233 -vt 0.246728 0.630194 -vt 0.197348 0.602668 -vt 0.282628 0.491928 -vt 0.135289 0.489242 -vt 0.176745 0.631828 -vt 0.157863 0.655488 -vt 0.109154 0.440439 -vt 0.099688 0.459852 -vt 0.136487 0.446954 -vt 0.232297 0.708304 -vt 0.238974 0.683097 -vt 0.008480 0.800988 -vt 0.407403 0.447459 -vt 0.036793 0.828524 -vt 0.359842 0.504845 -vt 0.367112 0.469866 -vt 0.363822 0.620812 -vt 0.685894 0.604739 -vt 0.792590 0.651454 -vt 0.740616 0.688691 -vt 0.258538 0.547976 -vt 0.225461 0.484605 -vt 0.167856 0.484688 -vt 0.204303 0.450095 -vt 0.226143 0.444502 -vt 0.119805 0.787392 -vt 0.119805 0.444608 -vt 0.194262 0.588454 -vt 0.256279 0.552826 -vt 0.199364 0.595218 -vt 0.187505 0.584542 -vt 0.229036 0.526209 -vt 0.271948 0.591593 -vt 0.201797 0.603654 -vt 0.201242 0.612132 -vt 0.256321 0.674292 -vt 0.198121 0.619076 -vt 0.192992 0.623455 -vt 0.227234 0.703855 -vt 0.116170 0.673909 -vt 0.169500 0.610001 -vt 0.173624 0.617454 -vt 0.099949 0.631784 -vt 0.168259 0.601429 -vt 0.166956 0.518822 -vt 0.174141 0.587280 -vt 0.139178 0.530065 -vt 0.186474 0.624717 -vt 0.147997 0.705299 -vt 0.179823 0.622432 -vt 0.725826 0.175056 -vt 0.722153 0.178139 -vt 0.724044 0.174342 -vt 0.726387 0.169758 -vt 0.724491 0.169903 -vt 0.723385 0.165642 -vt 0.722202 0.160686 -vt 0.721012 0.162359 -vt 0.718280 0.158582 -vt 0.717854 0.160627 -vt 0.713972 0.158669 -vt 0.714406 0.160768 -vt 0.709989 0.161008 -vt 0.711191 0.162751 -vt 0.706988 0.165168 -vt 0.708677 0.166285 -vt 0.705490 0.170262 -vt 0.707388 0.170569 -vt 0.707675 0.175019 -vt 0.708001 0.180219 -vt 0.705848 0.175585 -vt 0.709457 0.178808 -vt 0.712362 0.181200 -vt 0.715822 0.181857 -vt 0.720089 0.182722 -vt 0.719269 0.180787 -vt 0.723539 0.179542 -vt 0.180390 0.584076 -vt 0.197163 0.515281 -vt 0.271948 0.634806 -vt 0.115685 0.553724 -vt 0.169944 0.593389 -vt 0.100883 0.588970 -vt 0.192291 0.593771 -vt 0.210252 0.617955 -vt 0.238889 0.694713 -vt 0.339891 0.033820 -vt 0.360458 0.014530 -vt 0.022446 0.385164 -vt 0.104553 0.285332 -vt 0.023490 0.369930 -vt 0.026427 0.358619 -vt 0.169356 0.207893 -vt 0.668329 0.747110 -vt 0.165771 0.785453 -vt 0.165651 0.423324 -vt 0.349524 0.013035 -vt 0.215519 0.749251 -vt 0.200561 0.766772 -vt 0.168820 0.697328 -vt 0.175150 0.483896 -vt 0.188801 0.458524 -vt 0.201868 0.496878 -vt 0.215519 0.471506 -vt 0.023921 0.334271 -vt 0.671600 0.189680 -vt 0.970110 0.115337 -vt 0.970306 0.123922 -vt 0.890665 0.568032 -vt 0.581093 0.657225 -vt 0.579706 0.651105 -vt 0.585016 0.640340 -vt 0.590796 0.637557 -vt 0.597433 0.637264 -vt 0.608740 0.643912 -vt 0.611455 0.649704 -vt 0.611455 0.655885 -vt 0.603781 0.665260 -vt 0.597433 0.666832 -vt 0.590796 0.665833 -vt 0.585016 0.662435 -vt 0.720710 0.182424 -vt 0.280470 0.626193 -vt 0.272542 0.454369 -vt 0.851770 0.771006 -vt 0.078947 0.660579 -vt 0.054201 0.526134 -vt 0.152787 0.630973 -vt 0.763814 0.746853 -vt 0.202973 0.560832 -vt 0.202973 0.695413 -vt 0.211017 0.432541 -vt 0.211037 0.512599 -vt 0.211827 0.777736 -vt 0.215312 0.525547 -vt 0.264366 0.525478 -vt 0.265426 0.720008 -vt 0.977054 0.730190 -vt 0.253847 0.439630 -vt 0.253847 0.802453 -vt 0.161667 0.802553 -vt 0.325918 0.642861 -vt 0.194508 0.627297 -vt 0.216734 0.649666 -vt 0.216734 0.627297 -vt 0.127816 0.627297 -vt 0.105909 0.782399 -vt 0.108210 0.457768 -vt 0.023377 0.780946 -vt 0.023377 0.457768 -vt 0.044585 0.457768 -vt 0.234271 0.450827 -vt 0.848498 0.685322 -vt 0.211155 0.787793 -vt 0.335787 0.423324 -vt 0.335699 0.785449 -vt 0.290788 0.765173 -vt 0.189640 0.774772 -vt 0.175485 0.749677 -vt 0.197104 0.735777 -vt 0.195938 0.458524 -vt 0.165712 0.528641 -vt 0.211259 0.475708 -vt 0.211259 0.760871 -vt 0.191836 0.630793 -vt 0.201181 0.641632 -vt 0.161801 0.803719 -vt 0.128769 0.441635 -vt 0.287078 0.441635 -vt 0.211243 0.432637 -vt 0.243950 0.432743 -vt 0.211825 0.777842 -vt 0.239777 0.809653 -vt 0.236235 0.574344 -vt 0.228178 0.436438 -vt 0.332137 0.437634 -vt 0.108370 0.457995 -vt 0.293038 0.458286 -vt 0.246640 0.543184 -vt 0.293038 0.556655 -vt 0.150823 0.543181 -vt 0.109026 0.554322 -vt 0.174987 0.612558 -vt 0.221723 0.612794 -vt 0.174924 0.563657 -vt 0.221713 0.565123 -vt 0.225811 0.686631 -vt 0.115329 0.444502 -vt 0.977611 0.684219 -vt 0.953285 0.706882 -vt 0.701874 0.553659 -vt 0.702069 0.527374 -vt 0.704813 0.560928 -vt 0.092820 0.767961 -vt 0.585750 0.639317 -vt 0.591029 0.636927 -vt 0.597039 0.637275 -vt 0.602747 0.640193 -vt 0.607057 0.645239 -vt 0.609112 0.651531 -vt 0.606007 0.663036 -vt 0.590549 0.665540 -vt 0.601674 0.666302 -vt 0.596168 0.667244 -vt 0.585313 0.661826 -vt 0.580781 0.649872 -vt 0.267297 0.783587 -vt 0.259032 0.783285 -vt 0.108846 0.681140 -vt 0.103788 0.649857 -vt 0.170248 0.802442 -vt 0.570250 0.630345 -vt 0.561088 0.654029 -vt 0.575159 0.676023 -vt 0.588782 0.681545 -vt 0.603793 0.681956 -vt 0.617443 0.676725 -vt 0.631890 0.655009 -vt 0.597074 0.620271 -vt 0.630779 0.642388 -vt 0.623624 0.631208 -vt 0.611752 0.623170 -vt 0.582328 0.622690 -vt 0.154550 0.804507 -vt 0.392020 0.658075 -vt 0.302976 0.452951 -vt 0.259270 0.751033 -vt 0.240884 0.770341 -vt 0.229212 0.441980 -vt 0.259270 0.458646 -vt 0.216825 0.498419 -vt 0.350092 0.435460 -vt 0.970960 0.111975 -vt 0.970306 0.125366 -vt 0.890824 0.569849 -vt 0.772519 0.215474 -vt 0.367133 0.435460 -vt 0.097811 0.792171 -vt 0.027038 0.518698 -vt 0.022050 0.790931 -vt 0.048570 0.460209 -vt 0.369430 0.460209 -vt 0.393986 0.531106 -vt 0.357472 0.524564 -vt 0.057138 0.544589 -vt 0.016196 0.540388 -vt 0.234035 0.602324 -vt 0.208545 0.673246 -vt 0.166408 0.441084 -vt 0.390629 0.638066 -vt 0.565141 0.666479 -vt 0.560742 0.654326 -vt 0.562422 0.641703 -vt 0.569858 0.630592 -vt 0.581929 0.622903 -vt 0.596678 0.620440 -vt 0.611359 0.623268 -vt 0.623116 0.631113 -vt 0.630113 0.642341 -vt 0.626759 0.667862 -vt 0.617032 0.677247 -vt 0.603542 0.682270 -vt 0.238861 0.434065 -vt 0.208361 0.516967 -vt 0.257646 0.452955 -vt 0.257646 0.754262 -vt 0.188162 0.618478 -vt 0.274784 0.803410 -vt 0.270640 0.803271 -vt 0.078217 0.793331 -vt 0.056670 0.780261 -vt 0.024003 0.468863 -vt 0.307951 0.808658 -vt 0.228621 0.808658 -vt 0.227029 0.435583 -vt 0.328843 0.434552 -vt 0.179789 0.489959 -vt 0.332118 0.585098 -vt 0.332118 0.698790 -vt 0.309212 0.586099 -vt 0.308210 0.697854 -vt 0.285450 0.699257 -vt 0.271271 0.566606 -vt 0.252657 0.705153 -vt 0.140966 0.607404 -vt 0.140973 0.491835 -vt 0.282628 0.686931 -vt 0.267629 0.707508 -vt 0.267267 0.681966 -vt 0.157303 0.703261 -vt 0.151510 0.703269 -vt 0.153431 0.677036 -vt 0.140412 0.684992 -vt 0.280459 0.490002 -vt 0.208429 0.606816 -vt 0.280459 0.608219 -vt 0.242980 0.600630 -vt 0.379091 0.419923 -vt 0.028126 0.733572 -vt 0.029621 0.521536 -vt 0.064034 0.703794 -vt 0.065764 0.521765 -vt 0.068554 0.555674 -vt 0.074971 0.734624 -vt 0.108057 0.662705 -vt 0.109927 0.596019 -vt 0.229392 0.641886 -vt 0.230621 0.621945 -vt 0.291265 0.660773 -vt 0.292944 0.600726 -vt 0.334275 0.701102 -vt 0.337630 0.559808 -vt 0.367112 0.791321 -vt 0.356079 0.791468 -vt 0.358325 0.760311 -vt 0.356289 0.469829 -vt 0.699040 0.751173 -vt 0.696774 0.785087 -vt 0.945083 0.602988 -vt 0.969409 0.625257 -vt 0.377077 0.450759 -vt 0.303950 0.504075 -vt 0.377111 0.473918 -vt 0.237685 0.573495 -vt 0.225603 0.582865 -vt 0.016154 0.475399 -vt 0.016119 0.451280 -vt 0.085701 0.510511 -vt 0.167998 0.582865 -vt 0.226143 0.787499 -vt 0.188554 0.710454 -s 0 -f 2/1/1 4/2/1 5/3/1 -f 13/4/2 14/5/2 10/6/2 -f 9/7/3 1/8/3 5/3/3 -f 1/8/4 2/1/4 5/3/4 -f 2/1/5 3/9/5 4/2/5 -f 5/3/6 6/10/6 7/11/6 -f 7/11/7 8/12/7 5/3/7 -f 8/12/8 9/7/8 5/3/8 -f 15/13/9 10/6/9 14/5/9 -f 10/6/10 11/14/10 12/15/10 -f 13/4/11 10/6/11 12/15/11 -s 1 -f 16/16/12 17/17/13 18/18/14 -f 19/19/15 20/20/16 18/21/17 -f 22/22/18 24/23/19 21/24/19 -f 21/24/19 29/25/20 28/26/21 -f 28/26/21 32/27/22 31/28/22 -f 37/29/23 39/30/24 36/31/24 -f 41/32/25 43/33/26 40/34/25 -f 45/35/27 47/36/28 44/37/28 -f 49/38/29 37/29/23 48/39/29 -f 43/33/26 51/40/30 50/41/30 -f 40/34/25 52/42/31 41/32/25 -f 61/43/32 63/44/32 64/45/32 -f 64/45/33 65/46/33 66/47/33 -f 75/48/34 76/49/35 69/50/36 -f 77/51/37 79/52/38 80/53/39 -f 81/54/40 83/55/41 84/56/42 -f 84/56/43 4/57/44 3/58/45 -f 87/59/46 88/60/47 89/61/48 -f 92/62/49 93/63/50 94/64/50 -f 71/65/51 82/66/52 81/54/40 -f 95/67/53 71/65/51 81/54/40 -f 95/67/53 84/56/42 3/58/54 -f 96/68/55 3/58/54 2/69/56 -f 99/70/57 75/71/58 74/72/59 -f 62/73/60 104/74/61 105/75/62 -f 108/76/63 9/77/64 8/78/65 -f 99/70/57 98/79/66 107/80/67 -f 108/76/63 98/79/66 97/81/68 -f 68/82/69 109/83/70 6/84/71 -f 113/85/72 126/86/73 125/87/74 -f 122/88/75 123/89/75 134/90/75 -f 125/87/76 140/91/77 141/92/78 -f 135/93/79 143/94/80 142/95/81 -f 128/96/82 140/91/77 126/86/83 -f 134/90/84 145/97/85 143/94/80 -f 127/98/86 144/99/87 128/96/82 -f 133/100/88 147/101/89 145/97/85 -f 139/102/90 146/103/91 127/98/86 -f 132/104/92 149/105/93 147/101/89 -f 138/106/94 148/107/95 139/102/90 -f 130/108/96 149/105/93 131/109/97 -f 137/110/98 150/111/99 138/106/94 -f 129/112/100 151/113/101 130/108/96 -f 136/114/102 152/115/103 137/110/98 -f 125/87/76 153/116/104 129/112/100 -f 155/117/105 154/118/106 142/95/81 -f 157/119/107 141/92/78 140/91/77 -f 159/120/108 142/95/81 143/94/80 -f 160/121/109 140/91/77 144/99/87 -f 159/120/108 145/97/85 161/122/110 -f 144/99/87 162/123/111 160/121/109 -f 161/122/110 147/101/89 163/124/112 -f 146/103/91 164/125/113 162/123/111 -f 147/101/89 165/126/114 163/124/112 -f 148/107/95 166/127/115 164/125/113 -f 149/105/93 167/128/116 165/126/114 -f 172/129/117 173/130/118 169/131/119 -f 167/128/116 153/116/104 174/132/120 -f 154/118/106 135/93/79 142/95/81 -f 175/133/121 158/134/122 176/135/123 -f 177/136/124 156/137/125 155/138/105 -f 176/139/123 157/140/107 179/141/126 -f 180/142/127 155/138/105 159/143/108 -f 179/141/126 160/144/109 181/145/128 -f 182/146/129 159/143/108 161/147/110 -f 181/145/128 162/148/111 183/149/130 -f 184/150/131 161/147/110 163/151/112 -f 183/149/130 164/152/113 185/153/132 -f 186/154/133 163/151/112 165/155/114 -f 185/153/132 166/156/115 187/157/134 -f 188/158/135 165/155/114 167/159/116 -f 187/157/134 189/160/136 190/161/137 -f 188/158/135 174/162/120 175/163/121 -f 174/132/120 141/92/78 158/164/122 -f 191/165/138 182/166/139 192/167/140 -f 193/168/141 178/169/142 194/170/143 -f 195/171/144 176/172/145 196/173/146 -f 197/174/147 185/175/148 187/176/149 -f 194/170/143 177/177/150 199/178/151 -f 200/179/152 186/180/153 188/181/154 -f 202/182/155 181/183/156 183/184/157 -f 192/167/140 184/185/158 204/186/159 -f 176/172/145 205/187/160 196/173/146 -f 193/168/141 187/176/149 190/188/161 -f 199/178/151 180/189/162 191/165/138 -f 200/179/152 175/190/163 195/171/144 -f 202/182/155 185/175/148 198/191/164 -f 204/186/159 186/180/153 201/192/165 -f 178/193/166 189/160/136 156/137/125 -f 207/194/167 209/195/168 206/196/167 -f 210/197/169 212/198/170 213/199/169 -f 215/200/171 217/201/172 214/202/172 -f 218/203/173 220/204/174 221/205/173 -f 223/206/175 225/207/176 222/208/176 -f 227/209/177 229/210/178 226/211/177 -f 219/212/174 231/213/179 220/204/174 -f 233/214/180 206/196/167 232/215/180 -f 235/216/181 211/217/170 234/218/182 -f 209/195/168 216/219/171 215/200/171 -f 210/197/169 224/220/175 223/206/175 -f 221/205/173 226/211/177 218/203/173 -f 230/221/183 217/201/172 231/213/179 -f 232/215/180 225/207/176 233/214/180 -f 179/222/184 203/223/185 205/187/160 -f 194/224/143 230/225/79 219/226/186 -f 199/227/151 214/228/84 230/225/79 -f 228/229/178 234/218/182 229/210/178 -f 191/230/138 215/231/88 214/228/84 -f 192/232/140 209/233/92 215/231/88 -f 204/234/159 206/235/97 209/233/92 -f 201/236/165 232/237/96 206/235/97 -f 200/238/152 222/239/187 232/237/96 -f 195/240/144 223/241/188 222/239/187 -f 196/242/146 210/243/189 223/241/188 -f 211/244/82 205/245/160 203/246/185 -f 203/246/185 234/247/86 211/244/82 -f 202/248/155 229/249/90 234/247/86 -f 226/250/190 198/251/164 197/252/147 -f 218/253/98 197/252/147 193/254/141 -f 237/255/75 241/256/75 245/257/75 -f 248/258/22 250/259/191 32/260/22 -f 251/261/20 32/260/22 29/262/20 -f 252/263/19 29/262/20 24/264/19 -f 253/265/18 24/264/19 23/266/18 -f 254/267/28 23/266/18 47/268/28 -f 255/269/27 47/268/28 46/270/27 -f 46/270/27 256/271/31 255/269/27 -f 53/272/31 257/273/25 256/271/31 -f 258/274/30 43/275/26 50/276/30 -f 259/277/26 40/278/25 43/275/26 -f 252/263/75 253/265/75 264/279/75 -f 265/280/192 278/281/193 266/282/194 -f 264/279/195 277/283/196 265/280/192 -f 281/284/197 282/285/198 280/286/199 -f 263/287/200 279/288/201 264/279/195 -f 270/289/202 282/285/198 271/290/203 -f 285/291/204 242/292/205 241/293/206 -f 287/294/207 289/295/208 290/296/209 -f 291/297/210 293/298/211 294/299/212 -f 295/300/213 286/301/214 285/302/215 -f 290/296/209 297/303/216 298/304/217 -f 300/305/218 302/306/219 299/307/220 -f 304/308/221 306/309/222 303/310/223 -f 308/311/224 310/312/225 307/313/226 -f 287/294/207 285/302/215 288/314/227 -f 298/304/217 311/315/228 312/316/229 -f 299/307/220 292/317/230 291/297/210 -f 296/318/231 306/309/222 286/301/214 -f 90/319/75 314/320/75 313/321/75 -f 318/322/232 319/323/232 315/324/232 -f 321/325/233 323/326/234 320/327/234 -f 324/328/235 305/329/236 304/308/221 -f 290/224/209 327/225/237 326/226/238 -f 298/227/217 328/228/239 327/225/237 -f 330/330/240 332/331/241 329/332/240 -f 328/228/239 308/232/224 333/231/242 -f 334/333/243 335/334/244 336/335/245 -f 317/336/246 338/337/246 339/338/246 -f 337/339/247 341/340/248 342/341/249 -f 344/342/250 346/343/250 343/344/250 -f 96/68/55 1/345/251 97/81/68 -f 12/15/252 348/346/253 13/4/254 -f 350/347/255 352/348/256 349/349/255 -f 355/350/257 356/351/258 357/352/259 -f 258/274/30 359/353/260 358/354/260 -f 352/348/256 85/355/261 89/61/48 -f 360/356/262 361/357/263 362/358/264 -f 364/359/265 348/346/253 363/360/266 -f 365/361/267 366/362/268 18/363/269 -f 368/364/270 369/365/271 370/366/272 -f 368/364/270 370/366/272 371/367/273 -f 373/368/274 91/369/275 375/370/276 -f 89/371/277 377/372/277 88/373/277 -f 349/349/255 379/374/278 350/347/255 -f 382/375/279 373/376/280 384/377/281 -f 345/378/282 318/379/283 385/380/284 -f 386/381/285 92/382/285 387/383/285 -f 387/383/286 338/384/286 386/381/286 -f 340/385/287 339/386/287 385/387/287 -f 92/382/288 340/385/289 385/387/290 -f 386/381/291 340/385/292 93/388/293 -f 337/339/294 316/389/294 341/340/294 -f 342/341/295 316/389/295 315/324/295 -f 387/383/232 385/387/232 339/386/232 -f 348/346/253 389/390/296 388/391/297 -f 392/392/298 86/393/299 87/394/300 -f 395/395/301 397/396/302 394/397/302 -f 397/398/303 345/399/303 394/400/303 -f 87/401/304 86/402/305 385/403/232 -f 315/404/306 93/405/307 92/406/306 -f 398/407/308 400/408/309 91/409/310 -f 401/410/311 398/411/312 91/412/313 -f 399/413/314 401/414/311 400/408/314 -f 403/415/315 405/416/316 374/417/317 -f 406/418/318 405/416/319 407/419/320 -f 407/419/320 403/415/321 406/418/318 -f 314/420/322 93/421/323 342/422/324 -f 314/423/325 342/424/325 315/425/326 -f 92/406/306 374/426/327 315/404/306 -f 408/427/328 410/428/329 364/359/330 -f 408/427/328 411/429/331 409/430/332 -f 411/429/331 413/431/333 412/432/334 -f 414/433/335 364/359/330 410/428/329 -f 13/4/254 364/359/265 415/434/336 -f 417/435/337 347/436/338 416/437/339 -f 418/438/340 420/439/341 421/440/342 -f 11/14/343 422/441/343 10/6/343 -f 422/441/344 15/13/344 10/6/344 -f 423/442/345 424/443/346 425/444/347 -f 426/445/348 427/446/349 428/447/350 -f 423/442/345 429/448/351 424/443/346 -f 425/444/347 418/449/352 430/450/353 -f 431/451/354 429/448/351 432/452/355 -f 360/356/262 433/453/356 434/454/357 -f 435/455/358 370/366/358 436/456/358 -f 429/448/351 437/457/359 424/443/346 -f 436/456/360 370/366/360 369/365/360 -f 438/458/361 437/457/359 429/448/351 -f 439/459/362 440/460/363 438/458/361 -f 441/461/364 439/459/362 427/446/349 -f 437/457/359 442/462/365 443/463/366 -f 440/460/363 442/462/365 437/457/359 -f 444/464/367 445/465/368 446/466/369 -f 447/467/370 448/468/370 444/469/370 -f 448/470/371 445/465/372 444/464/373 -f 448/470/371 449/471/374 445/465/372 -f 445/465/375 449/471/375 450/472/375 -f 448/468/376 451/473/377 449/474/378 -f 451/473/379 452/475/379 453/476/379 -f 452/475/380 451/473/380 447/467/380 -f 447/467/381 348/477/382 452/475/383 -f 446/466/384 450/472/384 453/478/384 -f 437/457/359 443/463/366 419/479/385 -f 442/480/386 454/481/387 455/482/388 -f 454/481/387 439/483/389 456/484/390 -f 439/483/389 457/485/391 456/484/390 -f 458/486/392 420/439/341 419/487/393 -f 436/488/394 460/489/395 461/490/396 -f 455/482/388 458/486/392 443/491/397 -f 454/481/398 462/492/399 463/493/400 -f 456/484/401 459/494/402 462/492/399 -f 152/115/103 154/118/106 189/495/136 -f 436/488/394 434/496/403 462/492/399 -f 459/494/402 436/488/394 462/492/399 -f 434/496/404 461/490/404 462/492/404 -f 464/497/405 460/489/406 459/494/407 -f 465/498/408 466/499/409 467/500/410 -f 465/498/411 468/501/412 461/490/396 -f 460/489/395 465/498/411 461/490/396 -f 430/502/413 469/503/414 470/504/415 -f 459/494/407 457/505/391 426/506/416 -f 430/507/413 421/440/342 469/503/414 -f 468/501/417 471/508/418 472/509/419 -f 473/510/420 430/511/413 470/512/415 -f 467/500/410 471/508/418 465/498/408 -f 474/513/421 473/514/420 470/504/415 -f 446/466/422 452/515/423 348/516/424 -f 475/517/425 472/509/419 474/513/421 -f 464/497/405 476/518/426 466/499/409 -f 472/509/427 477/519/428 474/513/429 -f 476/518/430 428/447/350 478/520/431 -f 471/508/432 479/521/433 472/509/427 -f 478/520/431 480/522/434 481/523/435 -f 481/523/435 482/524/436 479/521/433 -f 477/519/428 425/444/347 473/525/437 -f 478/520/431 428/447/350 480/522/434 -f 479/521/433 423/442/345 477/519/428 -f 476/518/430 426/445/348 428/447/350 -f 482/524/436 423/442/345 479/521/433 -f 457/485/391 441/526/438 426/527/416 -f 482/524/436 431/451/354 432/452/355 -f 480/522/434 428/447/350 431/451/354 -f 434/528/439 483/529/440 484/530/441 -f 485/531/442 483/529/443 486/532/444 -f 361/357/263 360/356/262 434/454/357 -f 487/533/445 489/534/446 490/535/447 -f 436/456/448 485/531/448 435/455/448 -f 483/529/449 434/528/450 486/532/451 -f 15/536/452 14/5/453 414/433/335 -f 422/441/454 14/537/454 15/13/454 -f 14/5/453 13/4/455 415/434/456 -f 14/5/453 415/434/456 414/433/335 -f 416/437/339 347/436/338 11/14/457 -f 96/68/55 74/72/59 73/538/458 -f 493/539/459 494/540/460 61/541/461 -f 388/391/297 498/542/462 499/543/463 -f 363/360/266 408/427/464 364/359/265 -f 500/544/465 420/439/466 463/493/400 -f 499/543/467 501/545/468 502/546/469 -f 413/431/470 502/546/469 412/432/471 -f 461/490/396 503/547/472 500/544/465 -f 409/430/473 504/548/474 505/549/475 -f 409/430/473 505/549/475 410/428/476 -f 406/550/477 403/551/477 374/552/477 -f 407/419/478 405/416/478 404/553/478 -f 401/554/479 91/555/479 400/556/479 -f 402/557/480 399/413/480 398/407/480 -f 346/558/45 345/559/45 340/560/45 -f 343/561/481 318/379/481 344/562/481 -f 506/563/482 508/564/483 509/565/484 -f 371/367/485 510/566/486 368/364/487 -f 362/358/488 361/357/489 511/567/490 -f 511/567/491 484/530/441 368/364/492 -f 512/568/493 514/569/494 432/570/495 -f 515/571/496 517/572/497 518/573/498 -f 519/574/499 520/575/500 521/576/501 -f 522/577/502 514/569/494 523/578/503 -f 6/579/504 68/580/505 529/581/506 -f 532/582/507 533/583/508 534/584/509 -f 535/585/510 536/586/511 537/587/512 -f 537/587/512 536/586/511 538/588/513 -f 532/582/507 535/585/514 537/587/515 -f 532/582/507 537/587/515 533/583/508 -f 519/574/499 335/334/516 520/575/500 -f 522/577/502 432/570/495 514/569/494 -f 521/576/501 520/575/500 512/568/493 -f 539/589/517 506/563/482 509/565/484 -f 540/590/518 508/564/519 507/591/520 -f 506/563/482 539/589/517 541/592/521 -f 542/593/522 543/594/523 540/590/518 -f 506/563/524 544/595/525 507/591/526 -f 544/595/527 540/590/518 507/591/520 -f 335/334/244 543/594/523 542/593/522 -f 545/596/528 506/563/524 541/592/529 -f 545/596/528 544/595/525 506/563/524 -f 513/597/530 545/596/528 523/578/503 -f 513/597/530 544/595/525 545/596/528 -f 514/569/494 513/597/530 523/578/503 -f 513/597/530 512/568/493 544/595/525 -f 520/575/500 544/595/525 512/568/493 -f 520/575/500 335/334/516 542/593/531 -f 184/598/532 531/599/533 182/600/534 -f 516/601/535 529/581/536 528/602/537 -f 515/571/496 530/603/538 529/581/536 -f 5/604/539 487/533/445 490/535/447 -f 549/605/540 550/606/541 546/607/542 -f 553/608/543 20/609/16 19/610/15 -f 549/611/544 548/612/545 304/613/546 -f 560/614/547 562/615/75 563/616/548 -f 16/16/549 367/617/550 17/17/551 -f 17/17/552 16/618/553 18/21/552 -f 568/619/554 373/620/554 383/621/554 -f 96/68/55 72/622/555 95/67/53 -f 350/623/556 570/624/557 351/625/558 -f 17/626/559 18/21/17 20/20/16 -f 537/587/560 572/627/561 533/583/562 -f 365/628/267 17/629/559 576/630/563 -f 55/631/75 577/632/75 34/633/75 -f 578/634/45 579/635/45 354/636/564 -f 584/637/565 525/638/566 184/598/567 -f 576/639/563 17/640/559 573/641/568 -f 18/21/17 16/618/569 19/642/15 -f 44/37/28 23/643/18 22/22/18 -f 31/28/22 250/644/191 585/645/191 -f 585/645/191 36/31/24 39/30/24 -f 52/42/31 46/646/27 45/35/27 -f 586/647/570 588/648/571 589/649/572 -f 180/650/573 184/651/574 179/652/575 -f 587/653/576 590/654/577 588/655/571 -f 552/656/481 589/657/578 553/658/578 -f 491/659/579 101/660/580 100/661/581 -f 62/662/582 491/659/579 100/661/581 -f 77/663/583 594/664/584 595/665/585 -f 597/666/586 596/667/587 598/668/586 -f 78/669/588 591/670/588 597/666/588 -f 109/83/70 76/671/589 107/80/67 -f 273/672/23 48/673/29 37/674/23 -f 48/39/29 599/675/260 49/38/29 -f 36/676/24 273/672/23 37/674/23 -f 358/354/75 272/677/75 281/284/75 -f 600/678/590 575/679/590 601/680/590 -f 602/681/591 281/284/197 280/286/199 -f 269/682/592 284/683/593 270/289/202 -f 261/684/594 604/685/595 262/686/596 -f 262/686/596 283/687/597 263/287/200 -f 269/682/592 172/129/117 171/688/598 -f 276/689/599 606/690/600 260/691/601 -f 267/692/602 172/129/117 268/693/603 -f 260/691/601 603/694/604 261/684/594 -f 239/695/605 602/681/591 238/696/606 -f 266/282/194 173/130/118 267/692/602 -f 245/697/607 278/281/193 277/283/196 -f 237/698/608 602/681/591 280/286/199 -f 282/285/198 247/699/609 236/700/610 -f 280/286/199 236/700/610 237/698/608 -f 244/701/611 277/283/196 279/288/201 -f 283/687/597 242/702/612 243/703/613 -f 284/683/593 170/704/614 247/699/609 -f 604/685/595 241/705/615 242/702/612 -f 603/694/604 240/706/616 241/705/615 -f 293/707/617 168/708/618 246/709/619 -f 289/710/620 238/711/621 297/712/622 -f 239/695/605 606/690/600 605/713/623 -f 275/714/624 605/713/623 276/689/599 -f 311/715/625 236/716/626 309/717/627 -f 325/718/628 246/709/619 245/719/629 -f 297/712/622 237/720/630 311/715/625 -f 306/721/631 244/722/632 243/723/633 -f 305/724/634 245/719/629 244/722/632 -f 286/725/635 243/723/633 242/292/205 -f 309/726/627 247/727/636 310/728/637 -f 168/729/638 278/281/193 246/730/639 -f 310/731/637 170/732/640 301/733/641 -f 292/734/642 169/735/643 168/708/618 -f 302/736/644 170/732/640 169/735/643 -f 311/315/228 308/311/224 312/316/229 -f 288/737/645 241/293/206 240/738/646 -f 279/288/201 243/703/613 244/701/611 -f 293/298/211 324/328/235 294/299/212 -f 289/710/620 240/738/646 239/739/647 -f 307/313/226 301/740/648 300/305/218 -f 392/392/298 396/741/301 395/395/301 -f 607/742/649 609/743/650 333/744/650 -f 610/745/651 330/330/240 329/332/240 -f 327/746/652 612/747/653 613/748/652 -f 614/749/654 611/750/651 610/745/651 -f 617/751/655 619/752/656 616/753/655 -f 326/754/657 613/748/652 620/755/657 -f 331/756/241 321/325/233 332/331/241 -f 333/744/650 612/747/653 328/757/658 -f 618/758/656 607/742/649 619/752/656 -f 621/759/659 623/760/660 624/761/661 -f 326/754/657 615/762/662 614/749/654 -f 320/327/234 623/760/660 622/763/660 -f 624/761/661 616/753/655 621/759/659 -f 607/233/663 300/236/218 619/235/664 -f 300/236/218 616/237/665 619/235/664 -f 607/233/663 308/232/224 307/234/226 -f 291/240/210 622/241/666 621/239/667 -f 299/238/220 621/239/667 616/237/665 -f 622/241/666 324/245/235 320/243/668 -f 324/245/235 321/244/669 320/243/668 -f 332/247/670 304/246/221 303/248/223 -f 303/248/223 329/249/671 332/247/670 -f 296/251/231 610/250/672 329/249/671 -f 295/252/213 614/253/673 610/250/672 -f 287/254/207 326/764/238 614/253/673 -f 625/765/674 553/766/578 589/767/578 -f 583/768/248 627/769/248 628/770/248 -f 361/357/675 434/454/439 484/530/441 -f 368/364/492 484/530/441 369/365/676 -f 361/357/675 484/530/441 511/567/491 -f 510/566/486 511/567/490 368/364/487 -f 629/771/677 511/567/490 510/566/486 -f 629/771/677 362/358/488 511/567/490 -f 433/453/678 486/532/451 434/528/450 -f 483/529/440 436/456/679 369/365/676 -f 484/530/441 483/529/440 369/365/676 -f 446/466/369 445/465/368 450/472/680 -f 449/474/681 453/476/681 450/772/681 -f 451/473/682 453/476/682 449/474/682 -f 448/468/376 447/467/683 451/473/377 -f 447/773/381 444/464/684 348/516/382 -f 348/516/685 444/464/367 446/466/369 -f 480/522/434 431/451/354 482/524/436 -f 432/452/355 423/442/345 482/524/436 -f 423/442/345 425/444/347 477/519/428 -f 425/444/347 430/450/353 473/525/437 -f 480/522/434 482/524/436 481/523/435 -f 481/523/435 479/521/433 471/508/432 -f 477/519/428 473/525/437 474/513/429 -f 478/520/431 481/523/435 467/500/686 -f 467/500/686 481/523/435 471/508/432 -f 479/521/433 477/519/428 472/509/427 -f 476/518/430 478/520/431 466/499/687 -f 466/499/687 478/520/431 467/500/686 -f 468/501/417 472/509/419 475/517/425 -f 466/499/409 460/489/406 464/497/405 -f 475/517/425 474/513/421 503/547/688 -f 503/547/688 474/513/421 470/504/415 -f 471/508/418 468/501/417 465/498/408 -f 468/501/417 475/517/425 503/547/688 -f 469/503/689 503/547/472 470/504/690 -f 500/544/465 503/547/472 469/503/689 -f 461/490/396 434/496/403 436/488/394 -f 462/492/399 461/490/396 500/544/465 -f 462/492/399 500/544/465 463/493/400 -f 469/503/414 421/440/342 420/439/341 -f 457/505/391 459/494/407 456/484/390 -f 456/484/401 462/492/399 454/481/398 -f 454/481/398 463/493/400 455/482/691 -f 463/493/400 458/486/692 455/482/691 -f 463/493/400 420/439/466 458/486/692 -f 458/486/392 419/487/393 443/491/397 -f 440/774/693 454/481/387 442/480/386 -f 418/438/340 421/775/342 430/776/413 -f 455/482/388 443/491/397 442/480/386 -f 437/457/359 419/479/385 424/443/346 -f 439/459/362 438/458/361 427/446/349 -f 419/479/385 418/449/352 424/443/346 -f 440/460/363 437/457/359 438/458/361 -f 441/461/364 427/446/349 426/445/348 -f 438/458/361 431/451/354 427/446/349 -f 438/458/361 429/448/351 431/451/354 -f 424/443/346 418/449/352 425/444/347 -f 432/452/355 429/448/351 423/442/345 -f 427/446/349 431/451/354 428/447/350 -f 505/549/475 414/433/694 410/428/476 -f 505/549/475 15/536/695 414/433/694 -f 11/14/457 347/436/338 12/15/696 -f 348/346/253 388/391/297 363/360/266 -f 388/391/297 413/431/697 363/360/266 -f 388/391/297 389/390/296 498/542/462 -f 498/542/698 630/777/699 501/545/468 -f 499/543/467 498/542/698 501/545/468 -f 413/431/470 499/543/467 502/546/469 -f 411/778/700 412/779/701 504/780/474 -f 409/430/473 411/429/700 504/548/474 -f 396/781/45 391/782/45 390/783/45 -f 628/770/702 528/602/537 527/784/703 -f 182/600/534 632/785/704 580/786/705 -f 487/533/445 518/573/498 488/787/706 -f 517/572/497 628/770/702 627/769/707 -f 336/335/245 335/334/708 519/574/709 -f 422/788/710 535/585/711 532/582/712 -f 249/789/191 36/676/24 250/259/191 -f 635/790/713 636/791/714 210/792/715 -f 19/642/15 16/618/569 367/793/716 -f 381/794/717 638/795/718 600/796/718 -f 366/797/45 600/798/287 638/799/45 -f 292/800/719 293/801/719 309/802/720 -f 641/803/721 79/804/722 78/805/723 -f 109/83/70 8/78/65 7/806/724 -f 193/254/141 219/764/186 218/253/98 -f 567/807/725 356/808/726 355/809/727 -f 385/810/481 393/811/481 394/812/481 -f 521/576/501 512/568/493 432/570/495 -f 631/813/728 531/599/533 69/814/729 -f 645/815/730 646/816/731 546/817/732 -f 626/818/733 574/819/734 573/820/568 -f 68/821/735 6/822/736 541/823/737 -f 538/824/738 536/825/739 5/826/740 -f 69/827/741 540/828/742 543/829/743 -f 489/830/744 630/831/745 572/832/746 -f 389/390/747 630/777/748 498/542/749 -f 464/497/405 426/833/416 476/834/426 -f 644/835/750 354/836/751 579/837/750 -f 652/838/752 575/839/753 574/840/754 -f 533/583/755 572/627/746 630/831/745 -f 570/841/756 349/842/757 352/843/758 -f 50/41/30 599/675/260 359/844/260 -f 359/353/260 272/677/29 358/354/260 -f 372/845/759 376/846/760 367/847/761 -f 659/848/762 375/849/763 658/850/762 -f 661/851/764 663/852/765 660/853/765 -f 664/854/766 662/855/764 661/851/764 -f 660/853/765 667/856/767 666/857/767 -f 669/858/768 671/859/769 668/860/769 -f 673/861/770 671/859/769 672/862/770 -f 677/863/771 675/864/772 674/865/771 -f 676/866/772 678/867/773 675/864/772 -f 683/868/774 681/869/775 680/870/775 -f 672/862/770 684/871/776 673/861/770 -f 687/872/777 674/865/771 686/873/777 -f 688/874/772 679/875/773 676/876/772 -f 690/877/771 676/876/772 677/878/771 -f 691/85/777 677/878/771 687/879/777 -f 692/880/776 687/879/777 685/881/776 -f 693/882/770 685/881/776 672/883/770 -f 694/884/769 672/883/770 671/885/769 -f 695/886/768 671/885/769 670/887/768 -f 696/888/767 670/887/768 667/889/767 -f 697/890/765 667/889/767 663/891/765 -f 662/892/764 699/893/766 698/894/764 -f 698/894/764 663/891/765 662/892/764 -f 700/88/774 665/895/766 683/896/774 -f 701/89/775 683/896/774 680/897/775 -f 703/898/778 680/897/775 702/899/778 -f 689/900/773 702/899/778 679/875/773 -f 682/901/774 665/902/766 664/854/766 -f 666/857/767 670/903/768 669/858/768 -f 684/871/776 687/872/777 686/873/777 -f 702/904/778 681/869/775 704/905/778 -f 679/906/773 704/905/778 678/867/773 -f 22/22/18 23/643/18 24/23/19 -f 21/24/19 24/23/19 29/25/20 -f 28/26/21 29/25/20 32/27/22 -f 37/29/23 38/907/23 39/30/24 -f 41/32/25 42/908/26 43/33/26 -f 45/35/27 46/646/27 47/36/28 -f 49/38/29 38/907/23 37/29/23 -f 43/33/26 42/908/26 51/40/30 -f 40/34/25 53/909/31 52/42/31 -f 61/43/32 62/662/32 63/44/32 -f 64/45/33 63/44/33 65/46/33 -f 76/49/35 67/910/779 69/50/36 -f 67/910/779 68/911/780 69/50/36 -f 69/50/36 70/912/781 73/913/782 -f 70/912/781 71/914/481 72/915/783 -f 73/913/782 70/912/781 72/915/783 -f 73/913/782 74/916/784 69/50/36 -f 74/916/784 75/48/34 69/50/36 -f 77/51/37 78/669/785 79/52/38 -f 81/54/40 82/66/52 83/55/41 -f 84/56/43 83/55/786 4/57/44 -f 89/61/48 85/355/261 87/59/46 -f 85/355/261 86/917/787 87/59/46 -f 94/64/50 90/918/788 92/62/49 -f 90/918/788 91/919/789 92/62/49 -f 71/65/51 70/920/790 82/66/52 -f 95/67/53 72/622/555 71/65/51 -f 95/67/53 81/54/40 84/56/42 -f 96/68/55 95/67/53 3/58/54 -f 74/72/59 97/81/68 99/70/57 -f 97/81/68 98/79/66 99/70/57 -f 65/921/791 63/922/792 106/923/793 -f 63/922/792 62/73/60 106/923/793 -f 62/73/60 100/924/794 104/74/61 -f 100/924/794 101/925/795 103/926/796 -f 104/74/61 100/924/794 103/926/796 -f 101/925/795 102/927/795 103/926/796 -f 105/75/62 106/923/793 62/73/60 -f 8/78/65 107/80/67 108/76/63 -f 107/80/67 98/79/66 108/76/63 -f 107/80/67 76/671/589 99/70/57 -f 76/671/589 75/71/58 99/70/57 -f 97/81/68 1/345/251 108/76/63 -f 1/345/251 9/77/64 108/76/63 -f 67/928/797 109/83/70 68/82/69 -f 109/83/70 7/806/724 6/84/71 -f 113/85/72 114/880/75 126/86/73 -f 139/102/75 127/98/75 117/886/75 -f 127/98/75 128/96/75 116/884/75 -f 117/886/75 127/98/75 116/884/75 -f 128/96/75 126/86/73 115/882/75 -f 126/86/73 114/880/75 115/882/75 -f 138/106/75 139/102/75 117/886/75 -f 136/114/75 137/110/75 119/890/75 -f 137/110/75 138/106/75 118/888/75 -f 134/90/75 135/93/75 122/88/75 -f 135/93/75 136/114/75 121/893/75 -f 122/88/75 135/93/75 121/893/75 -f 132/104/75 133/100/75 124/898/75 -f 133/100/75 134/90/75 123/89/75 -f 124/898/75 133/100/75 123/89/75 -f 130/108/75 131/109/75 111/900/75 -f 131/109/75 132/104/75 111/900/75 -f 125/87/74 129/112/798 112/877/799 -f 129/112/798 130/108/75 112/877/799 -f 112/877/799 113/85/72 125/87/74 -f 128/96/75 115/882/75 116/884/75 -f 110/874/75 112/877/799 130/108/75 -f 111/900/75 110/874/75 130/108/75 -f 138/106/75 117/886/75 118/888/75 -f 124/898/75 111/900/75 132/104/75 -f 137/110/75 118/888/75 119/890/75 -f 136/114/75 119/890/75 120/894/75 -f 136/114/75 120/894/75 121/893/75 -f 125/87/76 126/86/83 140/91/77 -f 135/93/79 134/90/84 143/94/80 -f 128/96/82 144/99/87 140/91/77 -f 134/90/84 133/100/88 145/97/85 -f 127/98/86 146/103/91 144/99/87 -f 133/100/88 132/104/92 147/101/89 -f 139/102/90 148/107/95 146/103/91 -f 132/104/92 131/109/97 149/105/93 -f 138/106/94 150/111/99 148/107/95 -f 130/108/96 151/113/101 149/105/93 -f 137/110/98 152/115/103 150/111/99 -f 129/112/100 153/116/104 151/113/101 -f 136/114/102 154/118/106 152/115/103 -f 125/87/76 141/92/78 153/116/104 -f 155/117/105 156/929/125 154/118/106 -f 157/119/107 158/164/122 141/92/78 -f 159/120/108 155/117/105 142/95/81 -f 160/121/109 157/119/107 140/91/77 -f 159/120/108 143/94/80 145/97/85 -f 144/99/87 146/103/91 162/123/111 -f 161/122/110 145/97/85 147/101/89 -f 146/103/91 148/107/95 164/125/113 -f 147/101/89 149/105/93 165/126/114 -f 148/107/95 150/111/99 166/127/115 -f 149/105/93 151/113/101 167/128/116 -f 173/130/118 168/729/800 169/131/119 -f 169/131/119 170/704/801 171/688/598 -f 171/688/598 172/129/117 169/131/119 -f 167/128/116 151/113/101 153/116/104 -f 154/118/106 136/114/102 135/93/79 -f 175/133/121 174/930/120 158/134/122 -f 177/136/124 178/193/166 156/137/125 -f 176/139/123 158/931/122 157/140/107 -f 180/142/127 177/136/124 155/138/105 -f 179/141/126 157/140/107 160/144/109 -f 182/146/129 180/142/127 159/143/108 -f 181/145/128 160/144/109 162/148/111 -f 184/150/131 182/146/129 161/147/110 -f 183/149/130 162/148/111 164/152/113 -f 186/154/133 184/150/131 163/151/112 -f 185/153/132 164/152/113 166/156/115 -f 188/158/135 186/154/133 165/155/114 -f 187/157/134 166/156/115 189/160/136 -f 188/158/135 167/159/116 174/162/120 -f 174/132/120 153/116/104 141/92/78 -f 191/165/138 180/189/162 182/166/139 -f 193/168/141 190/188/161 178/169/142 -f 195/171/144 175/190/163 176/172/145 -f 197/174/147 198/191/164 185/175/148 -f 194/170/143 178/169/142 177/177/150 -f 200/179/152 201/192/165 186/180/153 -f 202/182/155 203/223/185 181/183/156 -f 192/167/140 182/166/139 184/185/158 -f 176/172/145 179/222/184 205/187/160 -f 193/168/141 197/174/147 187/176/149 -f 199/178/151 177/177/150 180/189/162 -f 200/179/152 188/181/154 175/190/163 -f 202/182/155 183/184/157 185/175/148 -f 204/186/159 184/185/158 186/180/153 -f 178/193/166 190/161/137 189/160/136 -f 207/194/167 208/932/168 209/195/168 -f 210/197/169 211/217/170 212/198/170 -f 215/200/171 216/219/171 217/201/172 -f 218/203/173 219/212/174 220/204/174 -f 223/206/175 224/220/175 225/207/176 -f 227/209/177 228/229/178 229/210/178 -f 219/212/174 230/221/183 231/213/179 -f 233/214/180 207/194/167 206/196/167 -f 235/216/181 212/198/170 211/217/170 -f 209/195/168 208/932/168 216/219/171 -f 210/197/169 213/199/169 224/220/175 -f 221/205/173 227/209/177 226/211/177 -f 230/221/183 214/202/172 217/201/172 -f 232/215/180 222/208/176 225/207/176 -f 179/222/184 181/183/156 203/223/185 -f 194/224/143 199/227/151 230/225/79 -f 199/227/151 191/230/138 214/228/84 -f 228/229/178 235/216/181 234/218/182 -f 191/230/138 192/232/140 215/231/88 -f 192/232/140 204/234/159 209/233/92 -f 204/234/159 201/236/165 206/235/97 -f 201/236/165 200/238/152 232/237/96 -f 200/238/152 195/240/144 222/239/187 -f 195/240/144 196/242/146 223/241/188 -f 196/242/146 205/245/160 210/243/189 -f 211/244/82 210/243/189 205/245/160 -f 203/246/185 202/248/155 234/247/86 -f 202/248/155 198/251/164 229/249/90 -f 226/250/190 229/249/90 198/251/164 -f 218/253/98 226/250/190 197/252/147 -f 247/933/75 236/934/75 237/255/75 -f 237/255/75 238/935/75 239/936/75 -f 239/936/75 240/937/75 237/255/75 -f 240/937/75 241/256/75 237/255/75 -f 241/256/75 242/938/75 243/939/75 -f 243/939/75 244/940/75 245/257/75 -f 245/257/75 246/941/75 168/942/75 -f 168/942/75 169/943/75 245/257/75 -f 169/943/75 170/944/75 245/257/75 -f 170/944/75 247/933/75 237/255/75 -f 241/256/75 243/939/75 245/257/75 -f 170/944/75 237/255/75 245/257/75 -f 248/258/22 249/789/191 250/259/191 -f 251/261/20 248/258/22 32/260/22 -f 252/263/19 251/261/20 29/262/20 -f 253/265/18 252/263/19 24/264/19 -f 254/267/28 253/265/18 23/266/18 -f 255/269/27 254/267/28 47/268/28 -f 46/270/27 53/272/31 256/271/31 -f 53/272/31 40/278/25 257/273/25 -f 258/274/30 259/277/26 43/275/26 -f 259/277/26 257/273/25 40/278/25 -f 276/689/75 260/691/75 257/273/75 -f 260/691/75 261/684/75 257/273/75 -f 261/684/75 262/686/75 256/271/75 -f 262/686/75 263/287/75 255/269/75 -f 256/271/75 262/686/75 255/269/75 -f 263/287/75 264/279/75 253/265/75 -f 264/279/75 265/280/75 252/263/75 -f 265/280/75 266/282/75 251/261/75 -f 266/282/75 267/692/75 248/258/75 -f 267/692/75 268/693/75 249/789/75 -f 268/693/75 269/682/75 249/789/75 -f 269/682/75 270/289/75 274/945/75 -f 270/289/75 271/290/75 273/672/75 -f 274/945/75 270/289/75 273/672/75 -f 271/290/75 272/677/75 273/672/75 -f 275/714/75 276/689/75 259/277/75 -f 259/277/75 258/274/75 275/714/75 -f 257/273/75 259/277/75 276/689/75 -f 269/682/75 274/945/75 249/789/75 -f 256/271/75 257/273/75 261/684/75 -f 267/692/75 249/789/75 248/258/75 -f 266/282/75 248/258/75 251/261/75 -f 254/267/75 255/269/75 263/287/75 -f 253/265/75 254/267/75 263/287/75 -f 265/280/75 251/261/75 252/263/75 -f 265/280/192 277/283/196 278/281/193 -f 264/279/195 279/288/201 277/283/196 -f 281/284/197 271/290/203 282/285/198 -f 263/287/200 283/687/597 279/288/201 -f 270/289/202 284/683/593 282/285/198 -f 285/291/204 286/725/635 242/292/205 -f 287/294/207 288/314/227 289/295/208 -f 291/297/210 292/317/230 293/298/211 -f 295/300/213 296/318/231 286/301/214 -f 290/296/209 289/295/208 297/303/216 -f 300/305/218 301/740/648 302/306/219 -f 304/308/221 305/329/236 306/309/222 -f 308/311/224 309/946/802 310/312/225 -f 287/294/207 295/300/213 285/302/215 -f 298/304/217 297/303/216 311/315/228 -f 299/307/220 302/306/219 292/317/230 -f 296/318/231 303/310/223 306/309/222 -f 90/319/75 94/947/75 314/320/75 -f 315/324/232 316/389/232 318/322/232 -f 316/389/232 317/336/232 318/322/232 -f 321/325/233 322/948/233 323/326/234 -f 324/328/235 325/949/803 305/329/236 -f 290/224/209 298/227/217 327/225/237 -f 298/227/217 312/230/229 328/228/239 -f 330/330/240 331/756/241 332/331/241 -f 328/228/239 312/230/229 308/232/224 -f 317/336/246 337/339/246 338/337/246 -f 342/341/249 340/950/804 337/339/247 -f 340/950/804 338/337/805 337/339/247 -f 344/342/250 345/951/250 346/343/250 -f 96/68/55 2/69/56 1/345/251 -f 12/15/252 347/436/806 348/346/253 -f 350/347/255 351/952/807 352/348/256 -f 357/352/259 353/953/808 354/954/751 -f 354/954/751 355/350/257 357/352/259 -f 258/274/30 50/276/30 359/353/260 -f 352/348/256 351/952/807 85/355/261 -f 364/359/265 13/4/254 348/346/253 -f 367/955/809 16/956/810 366/362/268 -f 16/956/810 18/363/269 366/362/268 -f 18/363/269 17/957/559 365/361/267 -f 376/958/760 372/959/759 375/370/811 -f 372/959/759 373/368/812 375/370/811 -f 373/368/274 374/960/327 91/369/275 -f 349/349/255 378/961/278 379/374/278 -f 384/377/281 380/962/813 382/375/279 -f 380/962/813 381/963/717 382/375/279 -f 382/375/279 383/964/814 373/376/280 -f 345/378/282 344/562/815 318/379/283 -f 386/381/285 93/388/285 92/382/285 -f 387/383/286 339/386/286 338/384/286 -f 340/385/287 338/965/287 339/386/287 -f 92/382/288 93/388/75 340/385/289 -f 386/381/291 338/384/248 340/385/292 -f 337/339/294 317/336/294 316/389/294 -f 342/341/295 341/340/295 316/389/295 -f 387/383/232 92/382/232 385/387/232 -f 348/346/253 347/436/806 389/390/296 -f 87/394/300 88/966/816 391/967/817 -f 88/966/816 390/968/816 391/967/817 -f 87/394/300 391/967/817 392/392/298 -f 392/392/298 393/969/818 86/393/299 -f 395/395/301 396/741/301 397/396/302 -f 397/398/303 344/970/303 345/399/303 -f 86/402/305 393/971/819 385/403/232 -f 385/403/232 318/972/232 87/401/304 -f 318/972/232 390/973/232 88/974/232 -f 88/974/232 87/401/304 318/972/232 -f 315/404/306 342/975/307 93/405/307 -f 398/407/308 399/413/820 400/408/309 -f 401/410/311 402/976/821 398/411/312 -f 399/413/314 402/557/821 401/414/311 -f 403/415/315 404/553/822 405/416/316 -f 406/418/318 374/417/823 405/416/319 -f 407/419/320 404/553/824 403/415/321 -f 314/420/322 94/977/322 93/421/323 -f 315/425/326 374/978/825 313/979/826 -f 313/979/826 314/423/325 315/425/326 -f 92/406/306 91/980/275 374/426/327 -f 408/427/328 409/430/332 410/428/329 -f 408/427/328 363/360/827 411/429/331 -f 411/429/331 363/360/827 413/431/333 -f 414/433/335 415/434/456 364/359/330 -f 417/435/828 389/390/829 347/436/338 -f 418/438/340 419/487/393 420/439/341 -f 454/481/387 440/774/693 439/483/389 -f 439/483/389 441/526/438 457/485/391 -f 436/488/394 459/494/402 460/489/395 -f 154/118/106 156/929/125 189/495/136 -f 189/495/136 166/127/115 150/111/99 -f 150/111/99 152/115/103 189/495/136 -f 465/498/408 460/489/406 466/499/409 -f 446/466/422 453/478/830 452/515/423 -f 485/531/442 436/456/831 483/529/443 -f 487/533/445 488/787/706 489/534/446 -f 96/68/55 97/81/68 74/72/59 -f 497/981/832 491/982/833 495/983/834 -f 491/982/833 61/541/461 494/540/460 -f 61/541/461 64/984/835 492/985/836 -f 64/984/835 66/986/837 492/985/836 -f 495/983/838 496/987/839 497/981/839 -f 494/540/460 495/983/834 491/982/833 -f 61/541/461 492/985/836 493/539/459 -f 500/544/465 469/503/689 420/439/466 -f 461/490/396 468/501/412 503/547/472 -f 506/563/482 507/591/840 508/564/483 -f 512/568/493 513/597/530 514/569/494 -f 515/571/496 516/601/535 517/572/497 -f 525/638/75 526/988/75 527/784/75 -f 525/638/75 527/784/75 528/602/75 -f 524/989/75 525/638/75 529/581/506 -f 525/638/75 528/602/75 529/581/506 -f 68/580/505 69/814/841 531/599/842 -f 531/599/842 524/989/75 68/580/505 -f 524/989/75 529/581/506 68/580/505 -f 530/603/843 5/604/844 6/579/504 -f 529/581/506 530/603/843 6/579/504 -f 544/595/527 542/593/522 540/590/518 -f 335/334/244 334/333/243 543/594/523 -f 520/575/500 542/593/531 544/595/525 -f 184/598/532 524/989/532 531/599/533 -f 516/601/535 515/571/496 529/581/536 -f 515/571/496 487/533/445 530/603/538 -f 5/604/539 530/603/538 487/533/445 -f 551/990/845 546/607/542 550/606/541 -f 546/607/542 547/991/846 549/605/540 -f 547/991/846 548/992/248 549/605/540 -f 367/993/716 552/994/847 19/610/15 -f 552/994/847 553/608/543 19/610/15 -f 553/608/543 17/995/559 20/609/16 -f 548/612/545 554/996/848 304/613/546 -f 304/613/546 555/997/849 549/611/544 -f 555/997/849 556/998/850 549/611/544 -f 556/998/850 550/999/851 549/611/544 -f 551/1000/852 550/1001/853 557/1002/854 -f 550/1001/853 556/1003/75 557/1002/854 -f 566/1004/855 567/1005/856 551/1000/852 -f 563/616/548 564/1006/857 559/1007/858 -f 564/1006/857 565/1008/859 558/1009/860 -f 559/1007/858 564/1006/857 558/1009/860 -f 565/1008/859 566/1004/855 557/1002/854 -f 566/1004/855 551/1000/852 557/1002/854 -f 565/1008/859 557/1002/854 558/1009/860 -f 559/1007/858 560/614/547 563/616/548 -f 560/614/547 561/1010/75 562/615/75 -f 17/17/861 367/617/862 16/618/862 -f 568/619/554 374/1011/554 373/620/554 -f 96/68/55 73/538/458 72/622/555 -f 350/623/556 379/1012/863 569/1013/864 -f 571/1014/865 86/1015/866 85/1016/867 -f 570/624/557 571/1014/865 85/1016/867 -f 350/623/556 569/1013/864 570/624/557 -f 570/624/557 85/1016/867 351/625/558 -f 537/587/560 538/588/868 572/627/561 -f 576/630/563 573/820/568 365/628/267 -f 573/820/568 574/819/734 575/1017/869 -f 365/628/267 573/820/568 575/1017/869 -f 57/1018/75 58/1019/75 27/1020/75 -f 27/1020/75 26/1021/75 25/1022/75 -f 25/1022/75 30/1023/75 34/633/75 -f 34/633/75 33/1024/75 60/1025/75 -f 33/1024/75 35/1026/75 60/1025/75 -f 35/1026/75 59/1027/75 60/1025/75 -f 60/1025/75 54/1028/75 55/631/75 -f 55/631/75 56/1029/75 577/632/75 -f 577/632/75 57/1018/75 27/1020/75 -f 27/1020/75 25/1022/75 577/632/75 -f 25/1022/75 34/633/75 577/632/75 -f 60/1025/75 55/631/75 34/633/75 -f 354/636/870 353/1030/871 556/1031/872 -f 556/1031/872 578/634/873 354/636/870 -f 184/598/567 182/600/874 581/1032/875 -f 182/600/874 580/786/874 581/1032/875 -f 581/1032/875 582/1033/876 184/598/567 -f 582/1033/876 583/768/877 584/637/565 -f 584/637/565 526/988/878 525/638/566 -f 525/638/566 524/989/879 184/598/567 -f 582/1033/876 584/637/565 184/598/567 -f 44/37/28 47/36/28 23/643/18 -f 31/28/22 32/27/22 250/644/191 -f 585/645/191 250/644/191 36/31/24 -f 52/42/31 53/909/31 46/646/27 -f 586/647/570 587/1034/576 588/648/571 -f 177/1035/880 180/650/573 179/652/575 -f 180/650/573 182/1036/881 184/651/574 -f 184/651/574 186/1037/882 179/652/575 -f 186/1037/882 188/1038/883 179/652/575 -f 188/1038/883 175/1039/884 179/652/575 -f 175/1039/884 176/1040/885 179/652/575 -f 179/652/575 181/1041/886 190/1042/887 -f 181/1041/886 183/1043/888 185/1044/889 -f 187/1045/890 181/1041/886 185/1044/889 -f 187/1045/890 190/1042/887 181/1041/886 -f 190/1042/887 178/1046/891 179/652/575 -f 178/1046/891 177/1035/880 179/652/575 -f 587/653/576 375/1047/892 590/654/577 -f 552/656/481 586/1048/481 589/657/578 -f 491/659/579 497/1049/893 101/660/893 -f 62/662/582 61/43/894 491/659/579 -f 596/1050/895 591/1051/896 595/665/585 -f 591/1051/896 77/663/583 595/665/585 -f 80/1052/897 592/1053/898 593/1054/899 -f 80/1052/897 593/1054/899 77/663/583 -f 593/1054/899 594/664/584 77/663/583 -f 597/666/586 591/670/587 596/667/587 -f 78/669/588 77/51/588 591/670/588 -f 109/83/70 67/928/797 76/671/589 -f 273/672/23 272/677/29 48/673/29 -f 48/39/29 359/844/260 599/675/260 -f 36/676/24 274/945/900 273/672/23 -f 272/677/75 271/290/75 281/284/75 -f 281/284/75 275/714/75 358/354/75 -f 275/714/75 258/274/75 358/354/75 -f 600/678/287 365/1055/287 575/679/590 -f 602/681/591 275/714/624 281/284/197 -f 269/682/592 171/688/598 284/683/593 -f 261/684/594 603/694/604 604/685/595 -f 262/686/596 604/685/595 283/687/597 -f 269/682/592 268/693/603 172/129/117 -f 276/689/599 605/713/623 606/690/600 -f 267/692/602 173/130/118 172/129/117 -f 260/691/601 606/690/600 603/694/604 -f 239/695/605 605/713/623 602/681/591 -f 266/282/194 278/281/193 173/130/118 -f 245/697/607 246/730/639 278/281/193 -f 237/698/608 238/696/606 602/681/591 -f 282/285/198 284/683/593 247/699/609 -f 280/286/199 282/285/198 236/700/610 -f 244/701/611 245/697/607 277/283/196 -f 283/687/597 604/685/595 242/702/612 -f 284/683/593 171/688/598 170/704/614 -f 604/685/595 603/694/604 241/705/615 -f 603/694/604 606/690/600 240/706/616 -f 293/707/617 292/734/642 168/708/618 -f 289/710/620 239/739/647 238/711/621 -f 239/695/605 240/706/616 606/690/600 -f 275/714/624 602/681/591 605/713/623 -f 311/715/625 237/720/630 236/716/626 -f 325/718/628 293/707/617 246/709/619 -f 297/712/622 238/711/621 237/720/630 -f 306/721/631 305/724/634 244/722/632 -f 305/724/634 325/718/628 245/719/629 -f 286/725/635 306/721/631 243/723/633 -f 309/726/627 236/1056/626 247/727/636 -f 168/729/901 173/130/118 278/281/193 -f 310/731/637 247/1057/636 170/732/640 -f 292/734/642 302/736/644 169/735/643 -f 302/736/644 301/733/641 170/732/640 -f 311/315/228 309/946/802 308/311/224 -f 288/737/645 285/291/204 241/293/206 -f 279/288/201 283/687/597 243/703/613 -f 293/298/211 325/949/803 324/328/235 -f 289/710/620 288/737/645 240/738/646 -f 307/313/226 310/312/225 301/740/648 -f 392/392/298 391/967/817 396/741/301 -f 607/742/649 608/1058/649 609/743/650 -f 610/745/651 611/750/651 330/330/240 -f 327/746/652 328/757/658 612/747/653 -f 614/749/654 615/762/662 611/750/651 -f 617/751/655 618/758/656 619/752/656 -f 326/754/657 327/746/652 613/748/652 -f 331/756/241 322/948/233 321/325/233 -f 333/744/650 609/743/650 612/747/653 -f 618/758/656 608/1058/649 607/742/649 -f 621/759/659 622/763/660 623/760/660 -f 326/754/657 620/755/657 615/762/662 -f 320/327/234 323/326/234 623/760/660 -f 624/761/661 617/751/655 616/753/655 -f 607/233/663 307/234/226 300/236/218 -f 300/236/218 299/238/220 616/237/665 -f 607/233/663 333/231/242 308/232/224 -f 291/240/210 294/242/212 622/241/666 -f 299/238/220 291/240/210 621/239/667 -f 622/241/666 294/242/212 324/245/235 -f 324/245/235 304/246/221 321/244/669 -f 332/247/670 321/244/669 304/246/221 -f 303/248/223 296/251/231 329/249/671 -f 296/251/231 295/252/213 610/250/672 -f 295/252/213 287/254/207 614/253/673 -f 287/254/207 290/1059/209 326/764/238 -f 625/765/674 626/1060/674 553/766/578 -f 628/770/248 527/784/248 584/637/248 -f 527/784/248 526/988/248 584/637/248 -f 584/637/248 583/768/248 628/770/248 -f 388/391/297 499/543/463 413/431/697 -f 390/783/45 318/1061/45 397/1062/45 -f 318/1061/45 344/1063/45 397/1062/45 -f 397/1062/45 396/781/45 390/783/45 -f 628/770/702 516/601/535 528/602/537 -f 182/600/534 631/813/728 632/785/704 -f 487/533/445 515/571/496 518/573/498 -f 517/572/497 516/601/535 628/770/702 -f 422/788/710 536/586/902 535/585/711 -f 249/789/191 274/945/900 36/676/24 -f 548/1064/903 547/1065/904 210/792/715 -f 547/1065/904 633/1066/905 211/1067/906 -f 547/1065/904 211/1067/906 210/792/715 -f 637/1068/307 554/1069/307 548/1064/903 -f 636/791/714 637/1068/307 548/1064/903 -f 223/1070/907 634/1071/908 635/790/713 -f 548/1064/903 210/792/715 636/791/714 -f 210/792/715 223/1070/907 635/790/713 -f 381/794/717 380/1072/813 638/795/718 -f 366/797/45 365/1073/287 600/798/287 -f 293/801/719 325/1074/307 309/802/720 -f 325/1074/307 305/1075/909 309/802/720 -f 305/1075/909 306/1076/307 309/802/720 -f 306/1076/307 286/1077/307 309/802/720 -f 286/1077/307 285/1078/910 309/802/720 -f 285/1078/910 288/1079/910 309/802/720 -f 288/1079/910 289/1080/910 309/802/720 -f 289/1080/910 297/1081/911 309/802/720 -f 297/1081/911 311/1082/912 309/802/720 -f 309/802/720 310/1083/913 301/1084/914 -f 301/1084/914 302/1085/719 309/802/720 -f 302/1085/719 292/800/719 309/802/720 -f 78/805/723 597/1086/915 639/1087/916 -f 597/1086/915 598/1088/917 639/1087/916 -f 641/803/721 642/1089/918 79/804/722 -f 78/805/723 639/1087/916 640/1090/919 -f 640/1090/919 641/803/721 78/805/723 -f 109/83/70 107/80/67 8/78/65 -f 193/254/141 194/1059/143 219/764/186 -f 644/1091/920 643/1092/921 355/809/727 -f 643/1092/921 567/807/725 355/809/727 -f 392/1093/481 395/1094/481 393/811/481 -f 395/1094/481 394/812/481 393/811/481 -f 394/812/481 345/1095/481 385/810/481 -f 631/813/728 182/600/534 531/599/533 -f 646/816/731 633/1096/922 547/1097/923 -f 546/817/732 551/1098/924 567/1099/925 -f 646/816/731 547/1097/923 546/817/732 -f 567/1099/925 645/815/730 546/817/732 -f 573/820/568 17/629/559 553/1100/543 -f 553/1100/543 626/818/733 573/820/568 -f 534/1101/926 522/1102/927 532/1103/928 -f 522/1102/927 523/1104/929 532/1103/928 -f 523/1104/929 545/1105/930 532/1103/928 -f 6/822/736 422/1106/931 541/823/737 -f 422/1106/931 532/1103/928 545/1105/930 -f 541/823/737 422/1106/931 545/1105/930 -f 541/823/737 539/1107/932 68/821/735 -f 536/825/739 422/1108/933 6/1109/934 -f 5/826/740 490/1110/935 538/824/738 -f 490/1110/935 489/1111/936 572/1112/937 -f 490/1110/935 572/1112/937 538/824/738 -f 536/825/739 6/1109/934 5/826/740 -f 336/1113/938 632/1114/939 334/1115/940 -f 632/1114/939 631/1116/941 334/1115/940 -f 69/827/741 68/1117/942 508/1118/943 -f 68/1117/942 539/1119/944 509/1120/945 -f 68/1117/942 509/1120/945 508/1118/943 -f 543/829/743 334/1115/940 631/1116/941 -f 69/827/741 508/1118/943 540/828/742 -f 543/829/743 631/1116/941 69/827/741 -f 389/390/747 417/435/946 630/777/748 -f 464/497/405 459/494/407 426/833/416 -f 644/835/750 355/1121/257 354/836/751 -f 644/1122/947 579/1123/948 657/1124/949 -f 579/1123/948 578/1125/950 647/1126/951 -f 579/1123/948 647/1126/951 657/1124/949 -f 657/1124/949 643/1127/952 644/1122/947 -f 125/1128/953 657/1124/949 647/1126/951 -f 125/1128/953 647/1126/951 648/1129/954 -f 656/1130/955 125/1128/953 648/1129/954 -f 656/1130/955 648/1129/954 649/1131/956 -f 655/1132/957 656/1130/955 649/1131/956 -f 655/1132/957 649/1131/956 650/1133/958 -f 654/1134/959 655/1132/957 574/840/754 -f 655/1132/957 650/1133/958 574/840/754 -f 650/1133/958 651/1135/960 574/840/754 -f 626/1136/961 625/1137/962 653/1138/963 -f 653/1138/963 654/1134/959 574/840/754 -f 652/838/752 601/1139/75 575/839/753 -f 651/1135/960 652/838/752 574/840/754 -f 574/840/754 626/1136/961 653/1138/963 -f 89/1140/964 88/1141/965 570/841/756 -f 570/841/756 569/1142/966 349/842/757 -f 569/1142/966 378/1143/967 349/842/757 -f 352/843/758 89/1140/964 570/841/756 -f 50/41/30 51/40/30 599/675/260 -f 359/353/260 48/673/29 272/677/29 -f 367/847/761 366/1144/719 380/1145/968 -f 366/1144/719 638/1146/719 380/1145/968 -f 380/1145/968 384/1147/969 372/845/759 -f 384/1147/969 373/1148/812 372/845/759 -f 586/1149/970 552/1150/911 587/1151/971 -f 552/1150/911 367/847/761 376/846/760 -f 587/1151/971 552/1150/911 376/846/760 -f 376/846/760 375/1152/811 587/1151/971 -f 367/847/761 380/1145/968 372/845/759 -f 659/848/762 91/1153/762 375/849/763 -f 661/851/764 662/855/764 663/852/765 -f 664/854/766 665/902/766 662/855/764 -f 660/853/765 663/852/765 667/856/767 -f 669/858/768 670/903/768 671/859/769 -f 673/861/770 668/860/769 671/859/769 -f 677/863/771 676/866/772 675/864/772 -f 676/866/772 679/906/773 678/867/773 -f 683/868/774 682/901/774 681/869/775 -f 672/862/770 685/1154/776 684/871/776 -f 687/872/777 677/863/771 674/865/771 -f 688/874/772 689/900/773 679/875/773 -f 690/877/771 688/874/772 676/876/772 -f 691/85/777 690/877/771 677/878/771 -f 692/880/776 691/85/777 687/879/777 -f 693/882/770 692/880/776 685/881/776 -f 694/884/769 693/882/770 672/883/770 -f 695/886/768 694/884/769 671/885/769 -f 696/888/767 695/886/768 670/887/768 -f 697/890/765 696/888/767 667/889/767 -f 662/892/764 665/895/766 699/893/766 -f 698/894/764 697/890/765 663/891/765 -f 700/88/774 699/893/766 665/895/766 -f 701/89/775 700/88/774 683/896/774 -f 703/898/778 701/89/775 680/897/775 -f 689/900/773 703/898/778 702/899/778 -f 682/901/774 683/868/774 665/902/766 -f 666/857/767 667/856/767 670/903/768 -f 684/871/776 685/1154/776 687/872/777 -f 702/904/778 680/870/775 681/869/775 -f 679/906/773 702/904/778 704/905/778 -o Body -v -0.104042 0.181447 2.257226 -v -0.126597 0.181447 2.095622 -v -0.126822 0.146272 2.095582 -v -0.102747 0.146272 2.257226 -v -0.126782 0.112447 2.095582 -v -0.098912 0.112447 2.257226 -v -0.126547 0.081277 2.095582 -v -0.092677 0.081277 2.257226 -v -0.126532 0.053952 2.095582 -v -0.084292 0.053952 2.257226 -v -0.126742 0.031532 2.095582 -v -0.074072 0.031532 2.257226 -v -0.126857 0.014867 2.095582 -v -0.057242 0.014867 2.257226 -v 0.127203 0.081277 2.257226 -v 0.157028 0.041857 2.095577 -v 0.156963 0.112202 2.095577 -v 0.132873 0.112447 2.257226 -v 0.156973 0.146272 2.095582 -v 0.136363 0.146272 2.257226 -v 0.156918 0.181447 2.095582 -v 0.137543 0.181447 2.257226 -v 0.156823 0.216622 2.095577 -v 0.136363 0.216622 2.257226 -v 0.156703 0.250447 2.095577 -v 0.132873 0.250447 2.257226 -v 0.156948 0.303497 2.095577 -v 0.127203 0.281617 2.257226 -v 0.156478 0.368117 2.095577 -v 0.119573 0.308942 2.257226 -v 0.108443 0.367537 2.096226 -v 0.105608 0.331367 2.257226 -v 0.065358 0.367937 2.095962 -v 0.079033 0.348027 2.257226 -v 0.040808 0.368357 2.095427 -v 0.044898 0.358287 2.257226 -v 0.015278 0.367777 2.095107 -v 0.008613 0.361752 2.257226 -v -0.010252 0.367992 2.095267 -v -0.027957 0.358287 2.257226 -v -0.039807 0.368072 2.095676 -v -0.057242 0.348027 2.257226 -v -0.087862 0.368367 2.095827 -v -0.074072 0.331367 2.257226 -v -0.125927 0.368117 2.095577 -v -0.084292 0.308942 2.257226 -v -0.126277 0.316367 2.095582 -v -0.092677 0.281617 2.257226 -v -0.126622 0.252017 2.095577 -v -0.098912 0.250447 2.257226 -v -0.126787 0.216622 2.095622 -v -0.102747 0.216622 2.257226 -v 0.008613 0.001142 2.257226 -v 0.044898 0.004607 2.257226 -v 0.043728 0.008432 2.269892 -v 0.008953 0.005252 2.269151 -v 0.075608 0.018202 2.272082 -v 0.074288 0.018002 2.289217 -v 0.043278 0.009362 2.284971 -v 0.131853 0.238097 2.322901 -v 0.135283 0.206547 2.315361 -v -0.070897 0.313692 2.340766 -v -0.052147 0.329297 2.344187 -v -0.070897 0.033807 2.275636 -v -0.083082 0.054737 2.280421 -v 0.131853 0.109332 2.292907 -v 0.125968 0.080237 2.286257 -v 0.043648 0.338907 2.346182 -v 0.075508 0.329297 2.344187 -v -0.101562 0.140902 2.300132 -v -0.102832 0.173727 2.307687 -v -0.101562 0.206542 2.315372 -v 0.079033 0.014867 2.257226 -v 0.125968 0.267177 2.329957 -v -0.083082 0.292707 2.336036 -v -0.052152 0.018202 2.272082 -v 0.135283 0.140902 2.300132 -v 0.008868 0.342147 2.346867 -v -0.097792 0.109332 2.292907 -v 0.105608 0.031532 2.257226 -v 0.100493 0.033807 2.275636 -v 0.116473 0.292712 2.336031 -v -0.091667 0.267172 2.329972 -v -0.027957 0.004607 2.257226 -v -0.024687 0.008432 2.269892 -v 0.136443 0.173732 2.307687 -v -0.024702 0.338907 2.346182 -v -0.091667 0.080237 2.286257 -v 0.119573 0.053952 2.257226 -v 0.116473 0.054737 2.280421 -v 0.100458 0.313692 2.340756 -v -0.097792 0.238092 2.322917 -v 0.115208 0.050947 2.305392 -v 0.125268 0.073897 2.316697 -v 0.124398 0.061977 2.346682 -v 0.113923 0.042892 2.330552 -v 0.009113 0.310307 2.437171 -v 0.043063 0.307337 2.436047 -v 0.098803 0.032117 2.296112 -v -0.023487 0.307337 2.436037 -v -0.050427 0.298552 2.432451 -v -0.069587 0.284297 2.426202 -v 0.131373 0.100087 2.329607 -v -0.101067 0.128497 2.343702 -v -0.102332 0.158017 2.358666 -v -0.082372 0.265167 2.416776 -v 0.134828 0.128497 2.343697 -v -0.097322 0.100087 2.329607 -v -0.091187 0.242067 2.404372 -v 0.135983 0.158017 2.358647 -v -0.091187 0.073897 2.316697 -v -0.097322 0.215847 2.389842 -v 0.134828 0.187512 2.374151 -v -0.082382 0.050947 2.305392 -v -0.101067 0.187512 2.374202 -v 0.131373 0.215862 2.389791 -v -0.069622 0.032117 2.296112 -v 0.125258 0.242102 2.404341 -v -0.050477 0.018002 2.289217 -v 0.115168 0.265197 2.416767 -v -0.023502 0.009362 2.284971 -v 0.098703 0.284317 2.426207 -v 0.009178 0.006112 2.283536 -v 0.074133 0.298552 2.432456 -v 0.134313 0.107372 2.385381 -v 0.135478 0.131892 2.407136 -v 0.135093 0.098627 2.448882 -v 0.133923 0.080037 2.421551 -v -0.068262 0.237702 2.509001 -v -0.048792 0.250007 2.517802 -v 0.130738 0.083757 2.365137 -v -0.100527 0.107372 2.385396 -v -0.101782 0.131892 2.407187 -v -0.081487 0.221382 2.495207 -v -0.096782 0.083757 2.365142 -v -0.090542 0.201802 2.476442 -v -0.090547 0.061977 2.346682 -v -0.096782 0.179917 2.453947 -v 0.134313 0.156372 2.430287 -v -0.081522 0.042892 2.330552 -v -0.100527 0.156347 2.430351 -v 0.130733 0.179997 2.453917 -v -0.068352 0.027242 2.317312 -v 0.124368 0.201922 2.476486 -v -0.048957 0.015627 2.307477 -v 0.113838 0.221522 2.495322 -v -0.022467 0.008252 2.301422 -v 0.096973 0.237787 2.509116 -v 0.009393 0.005977 2.299371 -v 0.072818 0.250047 2.517882 -v 0.042693 0.008252 2.301422 -v 0.042503 0.257577 2.522491 -v 0.073098 0.015627 2.307477 -v 0.009353 0.260112 2.523916 -v 0.097168 0.027242 2.317312 -v -0.022337 0.257577 2.522466 -v 0.130288 0.135252 2.508852 -v 0.123643 0.152242 2.538101 -v 0.123428 0.098667 2.585832 -v 0.130143 0.086702 2.551897 -v -0.090107 0.045632 2.373337 -v -0.096382 0.062142 2.396302 -v -0.096377 0.135057 2.508687 -v -0.090092 0.151917 2.537687 -v 0.133923 0.117237 2.478221 -v -0.080817 0.031167 2.353256 -v -0.100107 0.117147 2.478212 -v -0.067327 0.019322 2.336787 -v -0.101352 0.098607 2.448906 -v -0.047877 0.010557 2.324547 -v 0.112728 0.167502 2.562846 -v -0.021672 0.005162 2.317007 -v 0.095753 0.180417 2.580732 -v 0.009598 0.003257 2.314461 -v 0.071718 0.190057 2.591747 -v 0.042193 0.005162 2.317007 -v 0.041973 0.196017 2.597352 -v 0.072058 0.010557 2.324547 -v 0.009653 0.198027 2.599011 -v 0.096028 0.019322 2.336787 -v -0.021407 0.195982 2.597237 -v 0.112883 0.031167 2.353256 -v -0.047617 0.189942 2.591491 -v 0.123693 0.045632 2.373337 -v -0.067167 0.180172 2.580297 -v 0.130298 0.062142 2.396297 -v -0.100107 0.080037 2.421576 -v -0.080757 0.167147 2.562307 -v 0.095203 0.118782 2.636012 -v 0.071288 0.125672 2.649157 -v 0.071228 0.059282 2.692111 -v 0.095123 0.055062 2.677587 -v -0.047402 0.001067 2.341511 -v -0.066952 0.007032 2.355487 -v 0.112328 0.109587 2.614851 -v -0.021337 -0.002573 2.332891 -v 0.009633 -0.003798 2.329982 -v 0.041988 -0.002573 2.332891 -v 0.041788 0.129857 2.655817 -v 0.071648 0.001067 2.341511 -v 0.009733 0.131222 2.657737 -v 0.095528 0.007032 2.355487 -v -0.021032 0.129787 2.655612 -v 0.112498 0.015117 2.374301 -v -0.047082 0.125447 2.648592 -v 0.123488 0.025007 2.397232 -v -0.066762 0.118302 2.634996 -v 0.130158 0.036297 2.423471 -v -0.099957 0.048547 2.452266 -v -0.101202 0.061252 2.483346 -v -0.080542 0.109017 2.613652 -v 0.133788 0.048552 2.452266 -v -0.096237 0.036297 2.423471 -v -0.089947 0.098097 2.584816 -v 0.134953 0.061302 2.483371 -v -0.089967 0.025007 2.397232 -v -0.096237 0.086327 2.551286 -v 0.133783 0.074132 2.516822 -v -0.080617 0.015117 2.374301 -v -0.099957 0.073977 2.516632 -v 0.009738 0.062607 2.701731 -v -0.020977 0.061682 2.699227 -v -0.020972 -0.007258 2.732306 -v 0.009738 -0.006813 2.734906 -v 0.041933 -0.018718 2.353367 -v 0.009643 -0.019438 2.350227 -v 0.041763 0.061787 2.699567 -v 0.071538 -0.016558 2.362597 -v 0.095388 -0.013008 2.377592 -v 0.112418 -0.008168 2.397752 -v -0.047002 0.058982 2.691226 -v 0.123453 -0.002253 2.422401 -v -0.066707 0.054557 2.676067 -v 0.130138 0.004507 2.450612 -v -0.099937 0.011832 2.481547 -v -0.101177 0.019462 2.514677 -v -0.080517 0.048592 2.652551 -v 0.133768 0.011847 2.481552 -v -0.096217 0.004507 2.450607 -v -0.089932 0.041837 2.621762 -v 0.134933 0.019522 2.514766 -v -0.089947 -0.002253 2.422401 -v -0.096217 0.034602 2.586362 -v 0.133763 0.027307 2.550277 -v -0.080582 -0.008168 2.397752 -v -0.099937 0.027097 2.549876 -v 0.130128 0.035027 2.587296 -v -0.066867 -0.013008 2.377592 -v 0.123403 0.042477 2.623416 -v -0.047272 -0.016558 2.362597 -v 0.112273 0.049342 2.654462 -v -0.021247 -0.018718 2.353367 -v -0.021152 -0.047593 2.380947 -v 0.009683 -0.047948 2.377752 -v 0.009708 -0.091883 2.410267 -v -0.021057 -0.091763 2.413502 -v 0.112358 -0.042393 2.426476 -v 0.095288 -0.044783 2.405797 -v -0.046992 -0.008633 2.724011 -v 0.123428 -0.039463 2.451837 -v -0.066702 -0.010948 2.708507 -v 0.130133 -0.036123 2.480987 -v -0.099932 -0.032498 2.512922 -v -0.101177 -0.028723 2.546967 -v -0.080517 -0.013993 2.684987 -v 0.133763 -0.032488 2.512932 -v -0.096217 -0.036123 2.480992 -v -0.089927 -0.017503 2.654326 -v 0.134928 -0.028678 2.547066 -v -0.089937 -0.039463 2.451837 -v -0.096217 -0.021188 2.619167 -v 0.133763 -0.024778 2.583122 -v -0.080552 -0.042393 2.426476 -v -0.099932 -0.024923 2.582686 -v 0.130128 -0.020838 2.620347 -v -0.066802 -0.044783 2.405797 -v 0.123403 -0.016968 2.656266 -v -0.047172 -0.046538 2.390441 -v 0.112268 -0.013438 2.687297 -v 0.095118 -0.010478 2.710447 -v 0.071223 -0.008393 2.725106 -v 0.041868 -0.047593 2.380947 -v 0.041763 -0.007183 2.732727 -v 0.071428 -0.046538 2.390441 -v 0.071318 -0.091388 2.422987 -v 0.095193 -0.090763 2.438312 -v 0.095138 -0.150878 2.470521 -v 0.071253 -0.150923 2.455152 -v 0.071223 -0.077493 2.751517 -v 0.095118 -0.078243 2.737706 -v 0.041818 -0.091763 2.413502 -v 0.041763 -0.077093 2.758621 -v 0.009738 -0.076978 2.760701 -v -0.020972 -0.077148 2.758147 -v 0.112303 -0.089913 2.459091 -v -0.046992 -0.077633 2.750282 -v 0.123408 -0.088868 2.484561 -v -0.066702 -0.078498 2.735707 -v 0.130128 -0.087683 2.513982 -v -0.099932 -0.086388 2.546287 -v -0.101177 -0.085048 2.580527 -v -0.080517 -0.079658 2.713696 -v 0.133763 -0.086388 2.546287 -v -0.096217 -0.087683 2.513982 -v -0.089927 -0.080993 2.684916 -v 0.134928 -0.085033 2.580621 -v -0.089932 -0.088868 2.484561 -v -0.096217 -0.082328 2.651492 -v 0.133763 -0.083618 2.616377 -v -0.080527 -0.089913 2.459091 -v -0.099932 -0.083693 2.615967 -v 0.130128 -0.082168 2.652611 -v -0.066747 -0.090763 2.438312 -v 0.123403 -0.080703 2.686902 -v -0.047077 -0.091388 2.422987 -v 0.112268 -0.079328 2.716082 -v 0.123403 -0.150723 2.516716 -v 0.130123 -0.150623 2.546186 -v 0.130118 -0.223168 2.573477 -v 0.123393 -0.222843 2.543906 -v -0.020972 -0.149493 2.778831 -v 0.009738 -0.149478 2.781187 -v 0.112278 -0.150808 2.491152 -v -0.046992 -0.149553 2.771621 -v -0.066702 -0.149653 2.758532 -v -0.099932 -0.150518 2.578537 -v -0.101177 -0.150408 2.612692 -v -0.080517 -0.149838 2.738907 -v 0.133763 -0.150518 2.578542 -v -0.096217 -0.150623 2.546181 -v -0.089927 -0.150003 2.712776 -v 0.134928 -0.150408 2.612751 -v -0.089927 -0.150723 2.516716 -v -0.096217 -0.150168 2.681612 -v 0.133763 -0.150283 2.647907 -v -0.080517 -0.150808 2.491152 -v -0.099932 -0.150293 2.647557 -v 0.130123 -0.150113 2.682542 -v -0.066712 -0.150878 2.470521 -v 0.123403 -0.149903 2.714457 -v -0.047017 -0.150923 2.455152 -v 0.112268 -0.149698 2.740982 -v -0.021002 -0.150948 2.445692 -v 0.095113 -0.149533 2.760386 -v 0.009728 -0.150958 2.442497 -v 0.071223 -0.149478 2.772737 -v 0.041783 -0.150948 2.445692 -v 0.041763 -0.149468 2.779326 -v 0.134923 -0.223888 2.639867 -v 0.133758 -0.224253 2.674222 -v 0.133723 -0.300623 2.692542 -v 0.134888 -0.300128 2.658852 -v -0.099927 -0.223523 2.605856 -v -0.101172 -0.223888 2.639827 -v -0.080507 -0.225168 2.758941 -v -0.066682 -0.225388 2.776417 -v 0.133758 -0.223523 2.605861 -v -0.096207 -0.223168 2.573477 -v -0.089922 -0.224908 2.735567 -v -0.089922 -0.222843 2.543906 -v -0.096207 -0.224598 2.706631 -v -0.080507 -0.222558 2.518296 -v -0.099927 -0.224253 2.674011 -v 0.130118 -0.224593 2.707287 -v -0.066682 -0.222323 2.497396 -v 0.123393 -0.224878 2.736777 -v -0.046972 -0.222148 2.481987 -v 0.112248 -0.225118 2.760502 -v -0.020962 -0.222043 2.472451 -v 0.095093 -0.225333 2.777837 -v 0.009743 -0.222003 2.469197 -v 0.071203 -0.225513 2.788971 -v 0.041758 -0.222043 2.472451 -v 0.041753 -0.225648 2.795027 -v 0.071213 -0.222148 2.481987 -v 0.009743 -0.225703 2.796861 -v 0.095093 -0.222323 2.497396 -v -0.020952 -0.225668 2.794601 -v 0.112248 -0.222558 2.518296 -v -0.046972 -0.225558 2.787992 -v 0.123323 -0.301523 2.751557 -v 0.112143 -0.301888 2.773307 -v 0.111763 -0.367278 2.778981 -v 0.123048 -0.366883 2.758672 -v -0.080437 -0.298328 2.537172 -v -0.089877 -0.298713 2.563031 -v -0.099887 -0.300623 2.692401 -v -0.096172 -0.301093 2.723742 -v 0.130078 -0.301093 2.724152 -v -0.066577 -0.298013 2.516082 -v -0.101127 -0.300128 2.658827 -v -0.046847 -0.297778 2.500422 -v -0.020862 -0.297633 2.490741 -v 0.094963 -0.302198 2.788872 -v 0.009768 -0.297583 2.487487 -v 0.071098 -0.302438 2.799277 -v 0.041703 -0.297633 2.490741 -v 0.041703 -0.302598 2.805131 -v 0.071098 -0.297778 2.500422 -v 0.009773 -0.302658 2.806857 -v 0.094968 -0.298013 2.516082 -v -0.020862 -0.302613 2.804657 -v 0.112143 -0.298328 2.537172 -v -0.046847 -0.302463 2.798387 -v 0.123323 -0.298713 2.563031 -v -0.066577 -0.302228 2.787722 -v 0.130078 -0.299153 2.592726 -v -0.099887 -0.299633 2.625082 -v -0.080437 -0.301908 2.772166 -v 0.133723 -0.299633 2.625082 -v -0.096172 -0.299153 2.592726 -v -0.089877 -0.301528 2.750731 -v 0.070733 -0.367853 2.803761 -v 0.041538 -0.368008 2.809531 -v 0.041153 -0.402038 2.810107 -v 0.069898 -0.401883 2.804367 -v -0.020557 -0.362833 2.500726 -v -0.046437 -0.362983 2.510462 -v 0.094528 -0.367603 2.793827 -v 0.009853 -0.362783 2.497422 -v 0.041538 -0.362833 2.500726 -v 0.070733 -0.362983 2.510462 -v 0.009853 -0.368063 2.811261 -v 0.094528 -0.363228 2.526272 -v -0.020557 -0.368013 2.808902 -v 0.111763 -0.363558 2.547532 -v -0.046437 -0.367863 2.802752 -v 0.123048 -0.363958 2.573517 -v -0.066202 -0.367618 2.792622 -v 0.129888 -0.364413 2.603216 -v -0.099732 -0.364908 2.635497 -v -0.100972 -0.365423 2.668967 -v -0.080162 -0.367288 2.777956 -v 0.133573 -0.364908 2.635507 -v -0.096017 -0.364413 2.603216 -v -0.089687 -0.366888 2.757951 -v 0.134743 -0.365423 2.669007 -v -0.089687 -0.363958 2.573517 -v -0.096017 -0.366433 2.732261 -v 0.133573 -0.365938 2.702047 -v -0.080162 -0.363558 2.547532 -v -0.099732 -0.365938 2.701906 -v 0.129888 -0.366433 2.732651 -v -0.066202 -0.363228 2.526272 -v 0.069898 -0.397023 2.514677 -v 0.041153 -0.396873 2.504946 -v 0.010053 -0.402088 2.811737 -v 0.093518 -0.397268 2.530447 -v -0.019852 -0.402038 2.809427 -v 0.110838 -0.397593 2.551687 -v -0.045492 -0.401888 2.803162 -v 0.122358 -0.397993 2.577567 -v -0.065302 -0.401643 2.793172 -v 0.129398 -0.398448 2.607136 -v -0.099347 -0.398943 2.639172 -v -0.100587 -0.399453 2.672261 -v -0.079472 -0.401313 2.778791 -v 0.133183 -0.398943 2.639192 -v -0.095607 -0.398448 2.607131 -v -0.089192 -0.400918 2.759287 -v 0.134383 -0.399453 2.672342 -v -0.089192 -0.397993 2.577567 -v -0.095607 -0.400463 2.734262 -v 0.133183 -0.399968 2.704881 -v -0.079472 -0.397593 2.551687 -v -0.099347 -0.399968 2.704672 -v 0.129398 -0.400463 2.734692 -v -0.065302 -0.397268 2.530447 -v 0.122358 -0.400918 2.760062 -v -0.045492 -0.397023 2.514677 -v 0.110838 -0.401313 2.779922 -v -0.019852 -0.396873 2.504946 -v 0.093513 -0.401638 2.794411 -v 0.010053 -0.396823 2.501657 -v -0.195687 0.368117 1.774311 -v -0.195687 -0.007073 1.774311 -v -0.125927 -0.007073 2.017036 -v -0.125927 0.368117 2.017036 -v 0.156478 0.368117 2.017036 -v 0.226243 0.368117 1.774311 -v 0.226243 0.368117 1.268341 -v -0.195687 0.366977 1.268341 -v 0.156478 -0.007073 2.017036 -v 0.226243 -0.007073 1.774311 -v 0.156478 -0.007073 2.095577 -v -0.125927 -0.007073 2.095577 -v -0.195687 -0.007073 1.254626 -v 0.226243 -0.007073 1.254626 -v -0.195687 0.550997 1.254626 -v 0.226243 0.550997 1.254626 -v -0.072587 0.420187 2.008317 -v -0.072477 0.361167 2.008317 -v -0.104802 0.368752 2.008317 -v -0.104802 0.420417 2.008317 -v -0.195687 0.549692 1.221916 -v 0.226243 0.550997 1.204016 -v 0.225853 0.550277 1.249016 -v 0.225853 0.633187 1.249016 -v -0.195297 0.633187 1.249016 -v -0.195297 0.550672 1.249016 -v -0.163912 0.658712 1.113386 -v -0.112717 0.696867 0.713111 -v -0.112717 0.549447 0.713111 -v -0.195297 0.549447 1.116916 -v -0.040032 0.696867 0.713111 -v 0.059728 0.696867 0.713111 -v 0.143273 0.696867 0.713111 -v 0.143273 0.549447 0.713111 -v 0.194463 0.658712 1.113386 -v 0.225853 0.549447 1.116916 -v 0.059728 0.696867 0.729606 -v 0.046923 0.696867 0.740811 -v 0.046923 0.696867 0.912051 -v -0.024562 0.696867 0.912051 -v -0.024562 0.696867 0.741876 -v -0.040032 0.696867 0.724806 -v -0.040032 0.689142 0.724806 -v -0.040032 0.689142 0.713111 -v -0.024562 0.689142 0.741876 -v -0.024562 0.689142 0.912051 -v 0.046923 0.689142 0.912051 -v 0.046923 0.689142 0.740811 -v 0.059728 0.689142 0.729606 -v 0.059728 0.689142 0.713111 -v 0.225853 0.593962 1.295721 -v -0.195297 0.593962 1.295721 -v 0.212403 0.550112 1.316051 -v -0.182962 0.550112 1.316051 -v 0.192248 0.345407 1.571866 -v 0.192248 0.545037 1.571866 -v 0.103763 0.546742 1.573221 -v -0.073207 0.546647 1.573161 -v -0.161692 0.545037 1.571866 -v -0.161692 0.345407 1.571866 -v 0.135358 0.420417 2.008317 -v 0.192248 0.420417 1.709236 -v 0.192248 0.367842 1.709236 -v 0.135358 0.369122 2.008317 -v -0.161692 0.368532 1.709236 -v -0.161692 0.420417 1.709236 -v -0.161692 0.520587 1.606886 -v -0.161692 0.489417 1.642786 -v 0.192248 0.489582 1.642891 -v 0.192248 0.520637 1.606921 -v 0.103763 0.535337 1.618551 -v -0.073207 0.534522 1.618026 -v -0.070712 0.420642 1.953486 -v -0.062112 0.420712 1.935831 -v -0.062112 0.361462 1.935831 -v -0.070712 0.361392 1.953486 -v 0.103763 0.513257 1.661546 -v -0.073207 0.511952 1.660701 -v 0.050893 0.420857 1.900291 -v 0.066983 0.420822 1.909211 -v 0.066983 0.361572 1.909211 -v 0.050893 0.361607 1.900291 -v 0.081088 0.420772 1.921211 -v 0.081088 0.361522 1.921211 -v 0.092663 0.420712 1.935831 -v 0.092663 0.361462 1.935831 -v 0.103143 0.420187 2.008317 -v 0.135358 0.361167 2.008317 -v 0.103253 0.360712 2.008317 -v 0.103983 0.415327 2.008317 -v 0.103763 0.421957 1.710461 -v -0.073207 0.421872 1.710406 -v 0.101263 0.420642 1.953486 -v 0.104628 0.361197 2.001492 -v 0.101263 0.361392 1.953486 -v -0.050537 0.420772 1.921211 -v -0.050537 0.361522 1.921211 -v -0.036432 0.420822 1.909211 -v -0.036432 0.361572 1.909211 -v -0.020342 0.420857 1.900291 -v -0.020342 0.361607 1.900291 -v -0.002882 0.420882 1.894726 -v -0.002882 0.361632 1.894726 -v 0.015278 0.420887 1.892916 -v 0.015278 0.361637 1.892916 -v 0.033433 0.420882 1.894726 -v 0.033433 0.361632 1.894726 -v 0.072728 0.361497 1.985322 -v 0.060413 0.357467 1.984221 -v 0.060413 0.357987 1.969821 -v 0.072728 0.363242 1.961426 -v -0.029862 0.357467 1.984221 -v -0.042172 0.361497 1.985322 -v -0.042172 0.363242 1.962436 -v -0.029862 0.357987 1.969821 -v 0.082828 0.366757 1.992096 -v 0.082828 0.367782 1.969347 -v -0.015812 0.354472 1.984221 -v -0.015812 0.355047 1.969717 -v 0.090338 0.372012 1.982836 -v -0.000572 0.352627 1.984221 -v -0.000572 0.353242 1.968827 -v 0.015278 0.352007 1.984221 -v 0.015278 0.352627 1.968521 -v 0.031128 0.352627 1.984221 -v 0.031128 0.353242 1.968827 -v -0.059782 0.372252 1.990866 -v -0.065967 0.384417 1.984371 -v -0.059782 0.372957 1.971326 -v 0.046368 0.354472 1.984221 -v 0.046368 0.355047 1.969717 -v -0.052277 0.366757 1.993742 -v -0.052277 0.366757 1.973552 -v 0.046368 0.356752 1.955771 -v 0.060413 0.359517 1.958616 -v -0.029862 0.359517 1.958616 -v -0.015812 0.356752 1.955771 -v 0.090338 0.374102 1.964501 -v -0.000572 0.355047 1.954021 -v 0.096523 0.384417 1.985411 -v 0.094963 0.381562 1.971781 -v 0.015278 0.354472 1.953426 -v 0.031128 0.355047 1.954021 -v -0.064407 0.378572 1.974307 -v -0.000572 0.357987 1.940376 -v 0.015278 0.357467 1.939516 -v 0.031128 0.357987 1.940376 -v 0.046368 0.359517 1.942921 -v -0.052277 0.369442 1.961657 -v 0.060413 0.362007 1.947241 -v -0.029862 0.362007 1.948291 -v -0.015812 0.359517 1.942921 -v -0.052277 0.374412 1.948831 -v -0.042172 0.368212 1.943866 -v 0.060413 0.369442 1.928741 -v 0.072728 0.371682 1.939526 -v -0.029862 0.365362 1.936131 -v 0.082828 0.371682 1.952761 -v -0.015812 0.363242 1.930786 -v -0.000572 0.361937 1.928416 -v 0.015278 0.361497 1.927326 -v 0.031128 0.361937 1.928416 -v 0.046368 0.363242 1.929736 -v -0.000572 0.366757 1.917736 -v 0.015278 0.366407 1.917316 -v 0.031128 0.366757 1.917736 -v -0.059782 0.377527 1.960471 -v 0.046368 0.372957 1.917011 -v -0.042172 0.375647 1.932931 -v -0.029862 0.374102 1.923296 -v 0.082828 0.377527 1.944441 -v -0.015812 0.372957 1.916506 -v 0.060413 0.379157 1.919916 -v 0.072728 0.379942 1.931296 -v 0.090338 0.379667 1.955586 -v -0.000572 0.372252 1.911116 -v 0.015278 0.372012 1.909686 -v 0.031128 0.372252 1.911116 -v -0.059782 0.384417 1.954947 -v 0.015278 0.384417 1.905541 -v 0.031128 0.384417 1.907051 -v 0.046368 0.384417 1.912161 -v -0.052277 0.384417 1.941311 -v -0.042172 0.384417 1.928946 -v -0.029862 0.384417 1.919221 -v -0.015812 0.384417 1.912001 -v -0.000572 0.384417 1.907051 -v 0.082828 0.384417 1.941681 -v -0.054747 0.410147 1.984442 -v -0.050687 0.412272 1.963086 -v 0.029208 0.411657 1.916271 -v 0.042598 0.416322 1.922586 -v -0.044087 0.412272 1.948071 -v 0.054943 0.415307 1.928896 -v -0.035207 0.413937 1.937821 -v 0.065763 0.413937 1.937631 -v -0.024387 0.415307 1.929656 -v 0.074643 0.415032 1.951711 -v -0.012047 0.416322 1.922586 -v 0.081238 0.410367 1.961992 -v 0.001348 0.411657 1.916271 -v 0.085303 0.410147 1.984046 -v 0.015278 0.411767 1.913636 -v 0.001348 0.423157 1.926791 -v 0.015278 0.420487 1.921621 -v 0.029208 0.423157 1.926791 -v 0.042598 0.422637 1.936496 -v 0.054943 0.421792 1.940636 -v -0.035207 0.422417 1.949106 -v 0.065763 0.420657 1.943601 -v -0.024387 0.423867 1.945071 -v -0.012047 0.422637 1.932076 -v 0.081238 0.415307 1.967831 -v 0.015278 0.425822 1.933986 -v -0.012047 0.426827 1.948986 -v 0.001348 0.427607 1.946311 -v 0.029208 0.427607 1.944816 -v -0.050687 0.416322 1.973017 -v -0.044087 0.420657 1.957952 -v 0.010993 0.429387 1.984911 -v 0.065763 0.423867 1.959557 -v -0.044087 0.422637 1.972241 -v 0.042598 0.426827 1.950346 -v -0.035207 0.424937 1.969486 -v 0.074643 0.421792 1.962707 -v 0.015278 0.427867 1.948406 -v 0.065763 0.425602 1.976111 -v 0.074643 0.423157 1.976421 -v -0.049832 0.419682 1.989562 -v 0.074643 0.423157 1.993811 -v -0.044087 0.423157 1.990957 -v -0.035207 0.425602 1.991261 -v 0.065763 0.425602 1.992446 -v -0.044087 0.421792 2.005007 -v -0.035207 0.423867 2.007536 -v 0.065763 0.423867 2.007051 -v 0.081238 0.416322 1.997272 -v 0.074643 0.420657 2.011071 -v 0.001348 0.425602 2.029992 -v 0.015278 0.427867 2.022802 -v 0.029208 0.425602 2.029171 -v -0.050687 0.412272 2.004812 -v 0.042598 0.424937 2.028047 -v 0.015278 0.425822 2.035047 -v 0.065763 0.420657 2.024581 -v -0.024387 0.421792 2.027916 -v -0.012047 0.422637 2.032146 -v 0.081238 0.408302 2.008471 -v -0.044087 0.415032 2.018562 -v 0.054943 0.421792 2.026891 -v -0.035207 0.420657 2.024837 -v 0.029208 0.420367 2.047677 -v 0.042598 0.411337 2.047562 -v 0.054943 0.415307 2.040537 -v -0.035207 0.413937 2.030951 -v 0.065763 0.410122 2.033127 -v -0.024387 0.415307 2.040177 -v 0.074643 0.409272 2.022362 -v -0.012047 0.411337 2.048382 -v 0.001348 0.420367 2.047677 -v 0.015278 0.420487 2.048441 -v 0.001348 0.411657 2.053447 -v 0.015278 0.411767 2.054806 -v 0.029208 0.411657 2.053447 -v 0.031128 0.384417 2.061387 -v 0.046368 0.384417 2.056911 -v -0.059782 0.384417 2.014647 -v -0.052277 0.384417 2.027192 -v 0.060413 0.384417 2.049217 -v -0.042172 0.384417 2.039496 -v 0.072728 0.384417 2.039856 -v -0.029862 0.384417 2.049217 -v 0.082828 0.384417 2.027931 -v -0.015812 0.384417 2.056911 -v 0.090338 0.384417 2.015052 -v -0.000572 0.384417 2.061387 -v 0.094963 0.381562 1.997797 -v 0.015278 0.384417 2.062901 -v -0.064407 0.381562 1.997211 -v 0.046368 0.372957 2.051937 -v 0.060413 0.374102 2.045146 -v -0.052277 0.377527 2.023782 -v -0.042172 0.375647 2.036031 -v 0.072728 0.375647 2.036031 -v -0.029862 0.374102 2.045146 -v 0.082828 0.377527 2.023097 -v -0.015812 0.372957 2.051937 -v -0.000572 0.372252 2.057322 -v 0.015278 0.372012 2.058757 -v 0.031128 0.372252 2.057322 -v 0.090338 0.377527 2.009461 -v -0.000572 0.366757 2.050707 -v 0.015278 0.366407 2.051126 -v 0.031128 0.366757 2.050707 -v -0.059782 0.377527 2.009562 -v -0.052277 0.371682 2.014802 -v -0.042172 0.368212 2.023762 -v 0.060413 0.365362 2.032311 -v 0.072728 0.368212 2.023077 -v -0.029862 0.365362 2.032311 -v 0.082828 0.369442 2.009331 -v -0.015812 0.363242 2.037657 -v -0.000572 0.361937 2.040026 -v 0.015278 0.361497 2.041116 -v 0.031128 0.361937 2.040026 -v 0.046368 0.363242 2.037657 -v -0.000572 0.357987 2.028067 -v 0.015278 0.357467 2.028927 -v 0.031128 0.357987 2.028067 -v 0.046368 0.359517 2.025522 -v 0.060413 0.362007 2.022481 -v -0.029862 0.362007 2.022481 -v -0.015812 0.359517 2.025522 -v 0.060413 0.359517 2.009826 -v 0.072728 0.363242 2.004677 -v -0.042172 0.363242 2.004061 -v -0.029862 0.359517 2.009826 -v -0.015812 0.356752 2.012671 -v 0.090338 0.372957 1.996261 -v -0.000572 0.355047 2.014421 -v 0.015278 0.354472 2.015012 -v 0.031128 0.355047 2.014421 -v 0.046368 0.356752 2.012671 -v 0.015278 0.352627 1.999922 -v 0.031128 0.353242 1.999616 -v 0.046368 0.355047 1.998726 -v 0.060413 0.357987 1.998621 -v -0.029862 0.357987 1.998621 -v -0.015812 0.355047 1.998726 -v -0.000572 0.353242 1.999616 -v 0.003258 0.370252 2.281246 -v 0.027493 0.370302 2.281246 -v 0.035023 0.408137 2.129462 -v -0.001387 0.408622 2.129462 -v -0.010042 0.367867 2.038851 -v -0.009962 0.401282 2.038902 -v 0.042338 0.401057 2.038902 -v 0.042258 0.367607 2.038851 -v 0.028093 0.384792 2.329497 -v 0.028093 0.363512 2.388186 -v 0.028093 0.327292 2.388186 -v 0.002468 0.327292 2.388186 -v 0.002468 0.384792 2.329497 -v 0.002468 0.363512 2.388186 -v 0.068013 -0.228233 2.518971 -v 0.068013 0.013907 2.518971 -v -0.037457 0.019012 2.517522 -v -0.037457 -0.228233 2.518971 -v -0.037457 0.037037 2.228512 -v -0.037457 -0.035548 2.363811 -v -0.037457 -0.114833 2.420382 -v -0.037457 -0.141213 2.430486 -v -0.037457 -0.157813 2.407912 -v -0.037457 -0.182318 2.256881 -v -0.037457 -0.163618 1.540676 -v -0.037457 -0.140853 1.439856 -v -0.037457 -0.118898 1.414651 -v -0.037457 -0.031898 1.387006 -v -0.037457 -0.002833 1.394031 -v -0.037457 0.005912 1.234126 -v -0.037457 -0.120743 1.234126 -v -0.037457 -0.156103 1.249301 -v -0.037457 -0.195388 1.282306 -v -0.037457 -0.228233 1.336521 -v 0.068013 -0.119953 1.234126 -v 0.068013 -0.154528 1.248516 -v 0.068013 -0.228233 1.336521 -v 0.068013 -0.002833 1.394031 -v 0.068013 0.005912 1.234126 -v 0.068013 0.037037 2.228512 -v 0.068013 -0.182418 2.255682 -v 0.068013 -0.163683 1.539216 -v 0.068013 -0.158043 2.408497 -v 0.068013 -0.114508 2.418916 -v 0.068013 -0.141163 2.430047 -v 0.068013 -0.118023 1.413936 -v 0.068013 -0.033723 1.385836 -v 0.068013 -0.142608 1.440866 -v 0.068013 -0.035388 2.363081 -v 0.068013 -0.196963 1.283091 -v -0.005942 -0.042618 2.338112 -v -0.005942 -0.100638 2.320961 -v 0.036498 -0.101533 2.320857 -v 0.036498 -0.042803 2.338292 -v -0.005942 -0.137968 2.278247 -v 0.036498 -0.138033 2.277931 -v -0.005942 -0.147408 2.241127 -v 0.036498 -0.147388 2.241152 -v -0.005942 -0.142673 2.231221 -v 0.036498 -0.143133 2.231192 -v -0.005942 -0.129093 2.239007 -v 0.036498 -0.129233 2.238621 -v 0.036498 -0.123748 2.260201 -v -0.005942 -0.123638 2.260462 -v 0.036498 -0.099003 2.279491 -v -0.005942 -0.098758 2.279876 -v 0.036498 -0.053278 2.297096 -v 0.036498 0.010987 2.287022 -v 0.036498 0.020827 2.323677 -v -0.005942 -0.053098 2.296906 -v -0.005942 0.011037 2.286762 -v -0.005942 0.020817 2.323792 -v 0.199578 0.029307 1.023416 -v -0.169022 0.029307 1.023416 -v -0.150432 -0.016318 1.023416 -v 0.180983 -0.016318 1.023416 -v -0.169022 -0.114193 1.023416 -v -0.145087 0.006777 0.042916 -v -0.145087 -0.145488 0.162656 -v 0.175643 0.006777 0.042916 -v 0.174613 -0.144813 0.163436 -v 0.199578 -0.114193 1.023416 -v -0.150432 -0.068568 1.023416 -v -0.150432 -0.066233 1.289691 -v -0.150432 -0.005218 1.289691 -v 0.180983 -0.068568 1.023416 -v 0.180983 -0.066233 1.289691 -v 0.180983 -0.005218 1.289691 -v -0.155997 -0.038078 1.318871 -v 0.175418 -0.038078 1.318871 -v -0.155997 0.015692 1.348681 -v 0.175418 0.015692 1.348681 -v 0.215908 -0.146428 0.163306 -v 0.215908 -0.056528 0.163306 -v -0.185352 -0.056528 0.163306 -v -0.185352 -0.146428 0.163306 -v -0.185352 -0.056528 -0.146719 -v -0.185352 -0.101478 -0.146719 -v -0.185352 -0.146428 -0.146719 -v 0.015278 -0.101478 -0.209519 -v 0.015278 -0.056528 -0.209519 -v 0.215908 -0.030858 -0.146719 -v 0.215908 -0.101478 -0.146719 -v 0.215908 -0.146428 -0.146719 -v 0.015278 -0.146428 -0.209519 -v 0.175288 -0.143243 0.196526 -v 0.174613 -0.060373 0.196071 -v -0.146542 -0.056528 0.191646 -v -0.144587 -0.143313 0.194191 -v -0.405377 0.476302 0.692766 -v -0.405352 0.476302 0.758991 -v -0.424372 0.386822 0.759151 -v -0.424397 0.386822 0.692766 -v 0.010783 0.341082 0.692766 -v 0.010808 0.341082 0.759231 -v 0.010808 0.432562 0.759066 -v 0.010783 0.432562 0.692766 -v -0.405352 0.297342 0.759311 -v -0.405377 0.297342 0.692766 -v -0.026402 0.516132 0.758921 -v -0.026422 0.516132 0.692766 -v -0.351582 0.223332 0.759446 -v -0.351607 0.223332 0.692766 -v -0.094382 0.577342 0.758811 -v -0.094407 0.577342 0.692766 -v -0.272362 0.177592 0.759526 -v -0.272382 0.177592 0.692766 -v -0.181382 0.605612 0.758756 -v -0.181407 0.605612 0.692766 -v -0.181382 0.168032 0.759546 -v -0.181407 0.168032 0.692766 -v -0.272362 0.596047 0.758776 -v -0.272382 0.596047 0.692766 -v -0.094382 0.196302 0.759491 -v -0.094407 0.196302 0.692766 -v -0.351587 0.550307 0.758856 -v -0.351607 0.550307 0.692766 -v -0.026402 0.257512 0.759381 -v -0.026422 0.257512 0.692766 -v -0.405212 0.476302 1.173446 -v -0.424232 0.386822 1.173446 -v -0.365537 0.386822 1.234656 -v -0.351437 0.453157 1.234626 -v -0.405212 0.297342 1.173446 -v -0.351437 0.320487 1.234626 -v -0.351442 0.223332 1.173446 -v -0.311572 0.265622 1.234546 -v -0.026257 0.516132 1.173446 -v -0.094242 0.577342 1.173446 -v -0.120902 0.528062 1.234116 -v -0.070502 0.482682 1.233996 -v -0.272217 0.177592 1.173446 -v -0.252842 0.231712 1.234421 -v -0.181242 0.605612 1.173446 -v -0.185397 0.549017 1.234271 -v -0.181242 0.168032 1.173446 -v -0.185397 0.224627 1.234271 -v -0.272217 0.596047 1.173446 -v -0.252842 0.541927 1.234421 -v -0.094242 0.196302 1.173446 -v -0.120902 0.245582 1.234116 -v -0.351442 0.550307 1.173446 -v -0.311572 0.508022 1.234546 -v -0.026257 0.257512 1.173446 -v -0.070502 0.290957 1.233996 -v 0.010948 0.341082 1.173446 -v -0.042922 0.352912 1.233926 -v -0.091882 0.363732 1.259541 -v -0.110667 0.321542 1.259606 -v -0.311577 0.386822 1.260296 -v -0.301972 0.431992 1.260261 -v -0.042922 0.420727 1.233926 -v -0.091882 0.409912 1.259541 -v -0.301972 0.341647 1.260261 -v -0.110667 0.452102 1.259606 -v -0.274827 0.304287 1.260171 -v -0.144987 0.483002 1.259726 -v -0.234832 0.281197 1.260031 -v -0.188907 0.497272 1.259876 -v -0.188907 0.276367 1.259876 -v -0.234837 0.492447 1.260031 -v -0.144987 0.290642 1.259726 -v -0.274827 0.469357 1.260171 -v -0.260057 0.413807 1.272991 -v -0.243842 0.436127 1.272976 -v -0.134547 0.373027 1.272886 -v -0.145772 0.347822 1.272896 -v -0.265797 0.386822 1.272996 -v -0.134547 0.400617 1.272886 -v -0.260057 0.359837 1.272991 -v -0.145772 0.425822 1.272896 -v -0.243842 0.337512 1.272976 -v -0.166272 0.444282 1.272911 -v -0.219947 0.323722 1.272956 -v -0.192512 0.452807 1.272936 -v -0.192512 0.320837 1.272936 -v -0.219947 0.449922 1.272956 -v -0.166272 0.329362 1.272911 -v -0.226847 0.399147 1.287626 -v -0.219442 0.409342 1.287626 -v -0.169522 0.380522 1.287626 -v -0.174647 0.369007 1.287626 -v -0.229467 0.386822 1.287626 -v -0.169522 0.393122 1.287626 -v -0.226847 0.374497 1.287626 -v -0.174647 0.404632 1.287626 -v -0.219442 0.364302 1.287626 -v -0.184012 0.413067 1.287626 -v -0.208527 0.358002 1.287626 -v -0.195997 0.416957 1.287626 -v -0.195997 0.356682 1.287626 -v -0.208527 0.415642 1.287626 -v -0.184012 0.360577 1.287626 -v 0.027873 0.338482 0.691421 -v -0.012007 0.248907 0.691421 -v -0.084867 0.591707 0.691421 -v -0.012007 0.526097 0.691421 -v 0.027873 0.436527 0.691421 -v -0.084867 0.183302 0.691421 -v -0.178117 0.153002 0.691421 -v -0.026422 0.516132 0.748081 -v -0.012007 0.526097 0.750706 -v -0.084867 0.591707 0.750706 -v -0.094407 0.577342 0.748081 -v -0.275627 0.163252 0.691421 -v 0.010783 0.432562 0.748081 -v 0.027873 0.436527 0.750706 -v -0.360542 0.212277 0.691421 -v 0.010783 0.341082 0.748081 -v 0.027873 0.338482 0.750706 -v -0.026422 0.257512 0.748081 -v -0.012007 0.248907 0.750706 -v -0.418172 0.291597 0.691421 -v -0.094407 0.196302 0.748081 -v -0.084867 0.183302 0.750706 -v -0.275627 0.611757 0.691421 -v -0.178117 0.622007 0.691421 -v -0.181407 0.168032 0.748081 -v -0.178117 0.153002 0.750706 -v -0.272382 0.177592 0.748081 -v -0.275627 0.163252 0.750706 -v -0.351607 0.223332 0.748081 -v -0.360542 0.212277 0.750706 -v -0.405377 0.297342 0.748081 -v -0.418172 0.291597 0.750706 -v -0.438557 0.387502 0.691421 -v -0.424397 0.386822 0.748081 -v -0.438557 0.387502 0.750706 -v -0.418172 0.483412 0.691421 -v -0.178117 0.622007 0.750706 -v -0.181407 0.605612 0.748081 -v -0.275627 0.611757 0.750706 -v -0.272387 0.596047 0.748081 -v -0.360542 0.562732 0.691421 -v -0.360542 0.562732 0.750706 -v -0.351607 0.550307 0.748081 -v -0.405377 0.476302 0.748081 -v -0.418172 0.483412 0.750706 -v -0.181382 0.605612 0.785201 -v -0.272362 0.596047 0.785216 -v -0.276952 0.610177 0.786086 -v -0.179832 0.620387 0.786066 -v -0.014382 0.248777 0.758506 -v 0.025338 0.337992 0.758346 -v -0.361527 0.212292 0.758571 -v -0.276952 0.163462 0.758661 -v -0.424372 0.386822 0.785596 -v -0.405352 0.297342 0.785756 -v -0.418927 0.291297 0.786656 -v -0.439232 0.386822 0.786486 -v -0.086952 0.590207 0.757891 -v -0.179832 0.620387 0.757836 -v -0.276952 0.610177 0.757856 -v -0.272362 0.177592 0.785971 -v -0.181382 0.168032 0.785986 -v -0.179832 0.153257 0.786906 -v -0.276952 0.163462 0.786886 -v -0.179832 0.153257 0.758676 -v -0.086952 0.183432 0.758621 -v -0.439232 0.386822 0.758256 -v -0.418927 0.291297 0.758431 -v -0.351587 0.550307 0.785301 -v -0.361527 0.561347 0.786171 -v 0.025338 0.435647 0.758171 -v -0.014382 0.524862 0.758011 -v -0.351582 0.223332 0.785886 -v -0.361527 0.212292 0.786801 -v -0.361527 0.561347 0.757946 -v 0.025338 0.337992 0.786576 -v 0.025338 0.435647 0.786401 -v -0.014382 0.524862 0.786241 -v -0.086952 0.590207 0.786121 -v -0.086952 0.183432 0.786851 -v -0.014382 0.248777 0.786736 -v -0.418927 0.482342 0.758086 -v -0.418927 0.482342 0.786316 -v -0.405352 0.476302 0.785431 -v 0.010808 0.341082 0.785676 -v 0.010808 0.432562 0.785511 -v -0.026402 0.516132 0.785361 -v -0.094382 0.577342 0.785251 -v -0.094382 0.196302 0.785936 -v -0.026402 0.257512 0.785826 -v -0.272552 0.177007 0.800751 -v -0.181317 0.167417 0.800766 -v -0.094072 0.195767 0.800716 -v -0.025902 0.257147 0.800606 -v -0.424992 0.386822 0.800371 -v -0.405917 0.297092 0.800536 -v 0.011413 0.432687 0.800291 -v -0.025902 0.516492 0.800141 -v -0.181322 0.606222 0.799976 -v -0.272552 0.596637 0.799996 -v -0.351997 0.222872 0.800666 -v -0.094072 0.577877 0.800031 -v -0.351997 0.550767 0.800076 -v -0.405917 0.476552 0.800211 -v 0.011413 0.340952 0.800456 -v 0.020863 0.468167 0.694041 -v 0.020883 0.468167 0.760271 -v 0.001863 0.378687 0.760431 -v 0.001843 0.378687 0.694046 -v 0.437023 0.332947 0.694041 -v 0.437043 0.332952 0.760511 -v 0.437043 0.424427 0.760346 -v 0.437023 0.424427 0.694046 -v 0.020883 0.289207 0.760591 -v 0.020863 0.289207 0.694046 -v 0.399838 0.507997 0.760196 -v 0.399813 0.507997 0.694046 -v 0.074653 0.215202 0.760721 -v 0.074633 0.215202 0.694046 -v 0.331858 0.569207 0.760086 -v 0.331833 0.569207 0.694046 -v 0.153878 0.169462 0.760806 -v 0.153853 0.169462 0.694046 -v 0.244853 0.597477 0.760036 -v 0.244833 0.597477 0.694046 -v 0.244853 0.159902 0.760821 -v 0.244833 0.159902 0.694046 -v 0.153878 0.587917 0.760051 -v 0.153853 0.587917 0.694046 -v 0.331858 0.188167 0.760771 -v 0.331833 0.188167 0.694046 -v 0.074653 0.542177 0.760136 -v 0.074633 0.542177 0.694046 -v 0.399838 0.249382 0.760661 -v 0.399813 0.249382 0.694046 -v 0.021028 0.468167 1.174726 -v 0.002008 0.378687 1.174726 -v 0.060703 0.378687 1.235931 -v 0.074803 0.445022 1.235906 -v 0.437188 0.332952 1.174726 -v 0.437188 0.424427 1.174726 -v 0.383318 0.412597 1.235201 -v 0.383318 0.344782 1.235201 -v 0.021028 0.289207 1.174726 -v 0.074803 0.312352 1.235906 -v 0.399978 0.507997 1.174726 -v 0.355733 0.474552 1.235271 -v 0.074798 0.215202 1.174726 -v 0.114663 0.257492 1.235821 -v 0.331998 0.569207 1.174726 -v 0.305338 0.519927 1.235396 -v 0.154018 0.169462 1.174726 -v 0.173398 0.223582 1.235701 -v 0.244998 0.597477 1.174726 -v 0.240843 0.540887 1.235546 -v 0.244998 0.159902 1.174726 -v 0.240843 0.216492 1.235546 -v 0.154018 0.587917 1.174726 -v 0.173398 0.533797 1.235701 -v 0.331998 0.188167 1.174726 -v 0.305338 0.237447 1.235396 -v 0.074798 0.542177 1.174726 -v 0.114663 0.499887 1.235821 -v 0.399978 0.249382 1.174726 -v 0.355733 0.282827 1.235271 -v 0.334358 0.355597 1.260821 -v 0.315573 0.313407 1.260886 -v 0.114663 0.378687 1.261571 -v 0.124263 0.423862 1.261541 -v 0.334358 0.401782 1.260821 -v 0.124263 0.333517 1.261541 -v 0.315573 0.443967 1.260886 -v 0.151408 0.296157 1.261446 -v 0.281253 0.474872 1.261001 -v 0.191403 0.273062 1.261311 -v 0.237333 0.489142 1.261156 -v 0.237333 0.268237 1.261156 -v 0.191403 0.484312 1.261311 -v 0.281253 0.282507 1.261001 -v 0.151408 0.461222 1.261446 -v 0.166178 0.405677 1.274271 -v 0.182398 0.427997 1.274256 -v 0.291688 0.364892 1.274161 -v 0.280468 0.339692 1.274171 -v 0.160443 0.378687 1.274276 -v 0.291688 0.392482 1.274166 -v 0.166178 0.351702 1.274271 -v 0.280468 0.417687 1.274171 -v 0.182398 0.329382 1.274256 -v 0.259968 0.436147 1.274191 -v 0.206288 0.315587 1.274236 -v 0.233728 0.444672 1.274216 -v 0.233728 0.312702 1.274216 -v 0.206288 0.441792 1.274236 -v 0.259968 0.321232 1.274191 -v 0.199393 0.391012 1.288906 -v 0.206798 0.401207 1.288906 -v 0.256718 0.372387 1.288906 -v 0.251593 0.360877 1.288906 -v 0.196773 0.378687 1.288906 -v 0.256718 0.384987 1.288906 -v 0.199393 0.366362 1.288906 -v 0.251593 0.396502 1.288906 -v 0.206798 0.356167 1.288906 -v 0.242228 0.404932 1.288906 -v 0.217713 0.349867 1.288906 -v 0.230243 0.408827 1.288906 -v 0.230243 0.348552 1.288906 -v 0.217713 0.407507 1.288906 -v 0.242228 0.352447 1.288906 -v 0.454113 0.330347 0.692696 -v 0.414233 0.240777 0.692696 -v 0.341368 0.583572 0.692696 -v 0.414233 0.517967 0.692696 -v 0.454113 0.428397 0.692696 -v 0.341368 0.175172 0.692696 -v 0.248123 0.144872 0.692696 -v 0.399813 0.507997 0.749356 -v 0.414233 0.517967 0.751986 -v 0.341368 0.583572 0.751986 -v 0.331833 0.569207 0.749356 -v 0.150608 0.155122 0.692696 -v 0.437023 0.424427 0.749356 -v 0.454113 0.428397 0.751986 -v 0.065698 0.204142 0.692696 -v 0.437023 0.332952 0.749356 -v 0.454113 0.330347 0.751986 -v 0.399813 0.249382 0.749356 -v 0.414233 0.240777 0.751986 -v 0.008068 0.283467 0.692696 -v 0.331833 0.188167 0.749356 -v 0.341368 0.175172 0.751986 -v 0.150608 0.603622 0.692696 -v 0.248123 0.613872 0.692696 -v 0.244833 0.159902 0.749356 -v 0.248123 0.144872 0.751986 -v 0.153853 0.169462 0.749356 -v 0.150608 0.155122 0.751986 -v 0.074633 0.215202 0.749356 -v 0.065698 0.204142 0.751986 -v 0.020863 0.289207 0.749356 -v 0.008068 0.283467 0.751986 -v -0.012317 0.379372 0.692696 -v 0.001843 0.378687 0.749356 -v -0.012317 0.379372 0.751986 -v 0.008068 0.475277 0.692696 -v 0.248123 0.613872 0.751986 -v 0.244833 0.597477 0.749361 -v 0.150608 0.603622 0.751986 -v 0.153853 0.587917 0.749361 -v 0.065698 0.554602 0.692696 -v 0.065698 0.554602 0.751986 -v 0.074633 0.542177 0.749356 -v 0.020863 0.468167 0.749356 -v 0.008068 0.475277 0.751986 -v 0.244853 0.597477 0.786481 -v 0.153878 0.587917 0.786496 -v 0.149288 0.602047 0.787366 -v 0.246408 0.612252 0.787346 -v 0.451578 0.329862 0.759626 -v 0.411858 0.240647 0.759786 -v 0.149288 0.155332 0.759936 -v 0.064713 0.204162 0.759851 -v 0.001863 0.378687 0.786871 -v 0.020883 0.289207 0.787031 -v 0.007313 0.283167 0.787936 -v -0.012992 0.378687 0.787766 -v 0.246408 0.612252 0.759116 -v 0.339283 0.582077 0.759171 -v 0.149288 0.602047 0.759136 -v 0.153878 0.169462 0.787251 -v 0.244853 0.159902 0.787266 -v 0.246408 0.145122 0.788186 -v 0.149288 0.155332 0.788166 -v 0.339283 0.175302 0.759901 -v 0.246408 0.145122 0.759956 -v 0.007313 0.283167 0.759706 -v -0.012992 0.378687 0.759536 -v 0.074653 0.542177 0.786576 -v 0.064713 0.553217 0.787451 -v 0.411858 0.516732 0.759291 -v 0.451578 0.427517 0.759451 -v 0.074653 0.215202 0.787166 -v 0.064713 0.204162 0.788081 -v 0.064713 0.553217 0.759221 -v 0.451578 0.427517 0.787676 -v 0.451578 0.329862 0.787856 -v 0.339283 0.582077 0.787401 -v 0.411858 0.516732 0.787516 -v 0.411858 0.240647 0.788016 -v 0.339283 0.175302 0.788131 -v 0.007313 0.474212 0.759366 -v 0.007313 0.474212 0.787596 -v 0.020883 0.468167 0.786711 -v 0.437043 0.332952 0.786956 -v 0.437043 0.424427 0.786791 -v 0.399838 0.507997 0.786641 -v 0.331858 0.569207 0.786531 -v 0.331858 0.188167 0.787216 -v 0.399838 0.249382 0.787106 -v 0.153688 0.168872 0.802026 -v 0.244918 0.159287 0.802046 -v 0.332163 0.187632 0.801996 -v 0.400338 0.249017 0.801886 -v 0.001248 0.378687 0.801651 -v 0.020318 0.288957 0.801811 -v 0.437648 0.424557 0.801571 -v 0.400338 0.508362 0.801421 -v 0.244918 0.598092 0.801256 -v 0.153688 0.588502 0.801276 -v 0.074243 0.214742 0.801946 -v 0.332163 0.569742 0.801306 -v 0.074243 0.542637 0.801356 -v 0.020318 0.468422 0.801491 -v 0.437648 0.332822 0.801736 -v -0.249467 0.123607 0.115621 -v -0.201507 0.144282 0.043111 -v -0.194487 0.098417 0.095811 -v -0.249117 0.069677 0.148706 -v -0.249702 0.006062 0.161116 -v -0.178337 0.006062 0.090431 -v 0.259653 -0.059968 0.155936 -v 0.260403 -0.026528 0.161351 -v 0.261973 0.006062 0.169246 -v 0.270863 0.071562 0.153176 -v 0.237073 0.101157 0.116411 -v 0.270838 0.127097 0.119111 -v 0.242483 0.006062 0.156216 -v 0.233628 -0.059968 0.129331 -v 0.254098 0.148382 0.085936 -v 0.231408 0.039452 0.137666 -v 0.224008 0.071562 0.109896 -v 0.220333 0.006062 0.119111 -v 0.212933 0.039452 0.091346 -v 0.216253 -0.059968 0.085781 -v 0.235408 0.148382 0.043106 -v 0.216163 0.101157 0.052541 -v 0.205533 0.006062 0.063581 -v 0.204418 -0.027333 0.043111 -v 0.280013 0.167402 1.076756 -v -0.249462 0.167402 1.076756 -v -0.195562 0.171577 1.154261 -v 0.226118 0.171577 1.154261 -v -0.249462 -0.024483 1.076756 -v -0.249462 0.167402 0.043106 -v -0.249462 0.157162 0.043106 -v -0.247902 -0.056813 0.151881 -v -0.249462 -0.056978 0.143861 -v 0.270688 0.167402 0.043106 -v -0.195562 -0.008773 1.154261 -v -0.195562 0.171577 1.252271 -v 0.280013 -0.024483 1.076756 -v 0.226118 -0.008773 1.154261 -v 0.226118 0.171577 1.252271 -v 0.264308 0.038652 0.161351 -v 0.265473 0.170412 0.043106 -v -0.182537 -0.057553 0.083401 -vn -0.9964 0.0014 0.0850 -vn -0.9897 -0.0004 0.1434 -vn -0.9936 -0.0711 0.0880 -vn -0.9870 -0.0115 0.1601 -vn -0.9835 -0.1488 0.1027 -vn -0.9817 -0.0152 0.1896 -vn -0.9623 -0.2399 0.1280 -vn -0.9728 -0.0112 0.2315 -vn -0.9164 -0.3578 0.1795 -vn -0.9588 -0.0110 0.2839 -vn -0.7942 -0.5529 0.2522 -vn -0.9477 -0.0516 0.3149 -vn -0.4925 -0.8183 0.2965 -vn 0.9678 -0.2191 0.1239 -vn 0.9880 -0.0171 0.1533 -vn 0.9863 -0.1422 0.0839 -vn 0.9950 -0.0648 0.0764 -vn 0.9924 -0.0017 0.1233 -vn 0.9973 0.0014 0.0733 -vn 0.9924 0.0052 0.1227 -vn 0.9944 0.0664 0.0824 -vn 0.9882 0.0169 0.1523 -vn 0.9852 0.1432 0.0946 -vn 0.9676 0.2183 0.1267 -vn 0.9788 0.0157 0.2042 -vn 0.9248 0.3436 0.1632 -vn 0.0803 0.9662 0.2449 -vn 0.6616 0.7101 0.2410 -vn 0.7916 0.4929 0.3612 -vn 0.0306 0.9838 0.1768 -vn 0.3901 0.9039 0.1756 -vn 0.0312 0.9952 0.0923 -vn 0.1843 0.9724 0.1433 -vn 0.0041 0.9987 0.0503 -vn -0.0017 0.9911 0.1334 -vn -0.0011 0.9988 0.0489 -vn -0.2072 0.9681 0.1411 -vn -0.0152 0.9957 0.0912 -vn -0.4980 0.8480 0.1816 -vn -0.0325 0.9827 0.1826 -vn -0.7764 0.5855 0.2334 -vn -0.0961 0.9635 0.2499 -vn -0.8489 0.3869 0.3603 -vn -0.9336 0.3215 0.1579 -vn -0.9725 0.0210 0.2319 -vn -0.9626 0.2325 0.1391 -vn -0.9842 0.0234 0.1755 -vn -0.9819 0.1561 0.1077 -vn -0.9928 0.0727 0.0953 -vn -0.9897 0.0025 0.1433 -vn 0.1654 -0.9574 0.2369 -vn 0.0005 -0.9805 0.1968 -vn 0.0002 -0.9778 0.2095 -vn 0.3925 -0.9050 0.1639 -vn 0.1840 -0.9829 0.0040 -vn 0.1816 -0.9655 0.1867 -vn 0.9884 0.1439 0.0488 -vn 0.9973 0.0665 0.0302 -vn -0.4964 0.8318 0.2484 -vn -0.7700 -0.6291 0.1064 -vn -0.9106 -0.4130 0.0132 -vn 0.9621 -0.2726 -0.0004 -vn 0.1933 0.9432 0.2701 -vn 0.4156 0.8723 0.2578 -vn -0.9998 -0.0020 0.0175 -vn -0.9968 0.0730 0.0330 -vn 0.9626 0.2585 0.0808 -vn -0.7673 0.6137 0.1860 -vn 0.9885 -0.1513 -0.0040 -vn -0.0018 0.9619 0.2735 -vn -0.9872 -0.1594 -0.0050 -vn -0.9969 -0.0784 0.0042 -vn 0.3496 -0.8972 0.2700 -vn 0.6698 -0.7316 0.1270 -vn 0.8785 0.4558 0.1432 -vn -0.9130 0.3909 0.1165 -vn -0.1895 -0.9498 0.2488 -vn -0.4589 -0.8650 0.2029 -vn 0.9999 -0.0018 0.0160 -vn 0.9974 -0.0717 0.0040 -vn -0.2162 0.9382 0.2704 -vn -0.9655 -0.2604 -0.0061 -vn 0.8895 -0.4100 0.2015 -vn 0.6962 -0.6555 0.2926 -vn 0.6776 0.7026 0.2173 -vn -0.9659 0.2476 0.0761 -vn -0.1987 -0.9575 0.2089 -vn 0.8771 -0.4783 0.0438 -vn -0.9870 0.1522 0.0517 -vn 0.9559 -0.2874 -0.0597 -vn 0.8433 -0.5093 -0.1714 -vn 0.8601 -0.5047 -0.0744 -vn -0.0019 0.9084 0.4181 -vn 0.1920 0.8915 0.4103 -vn 0.3960 -0.9175 -0.0373 -vn -0.2142 0.8867 0.4097 -vn 0.6534 -0.7540 -0.0666 -vn -0.4838 0.7939 0.3684 -vn -0.9969 -0.0761 -0.0174 -vn -1.0000 -0.0026 0.0094 -vn -0.9060 0.3828 0.1808 -vn -0.7500 0.5992 0.2800 -vn 0.9872 -0.1549 -0.0379 -vn -0.9865 -0.1586 -0.0411 -vn -0.9647 0.2377 0.1132 -vn 0.9974 -0.0708 -0.0157 -vn -0.9622 -0.2658 -0.0601 -vn -0.9870 0.1439 0.0709 -vn 1.0000 -0.0025 0.0087 -vn -0.8984 -0.4334 -0.0713 -vn -0.9969 0.0687 0.0386 -vn 0.9974 0.0631 0.0357 -vn -0.7366 -0.6737 -0.0599 -vn 0.9878 0.1391 0.0699 -vn -0.4657 -0.8846 -0.0236 -vn 0.9588 0.2555 0.1245 -vn -0.2038 -0.9789 0.0114 -vn 0.8681 0.4480 0.2137 -vn 0.6679 0.6742 0.3154 -vn -0.0024 -0.9996 0.0270 -vn 0.4133 0.8267 0.3818 -vn 1.0000 -0.0044 0.0068 -vn 0.9969 -0.0623 -0.0471 -vn 0.9971 -0.0696 -0.0316 -vn -0.7388 0.5516 0.3872 -vn -0.4681 0.7254 0.5047 -vn 0.9491 -0.2918 -0.1187 -vn -0.9968 -0.0732 -0.0333 -vn -1.0000 -0.0047 0.0075 -vn -0.9023 0.3519 0.2488 -vn 0.9853 -0.1549 -0.0716 -vn -0.9853 -0.1540 -0.0735 -vn -0.9650 0.2132 0.1526 -vn -0.9577 -0.2648 -0.1130 -vn -0.9875 0.1266 0.0936 -vn -0.8850 -0.4400 -0.1524 -vn -0.9970 0.0594 0.0489 -vn 0.9974 0.0560 0.0464 -vn -0.7102 -0.6814 -0.1771 -vn 0.9877 0.1254 0.0938 -vn -0.4417 -0.8833 -0.1571 -vn 0.9577 0.2332 0.1684 -vn -0.1909 -0.9743 -0.1197 -vn 0.8637 0.4115 0.2912 -vn -0.0017 -0.9951 -0.0985 -vn 0.6616 0.6152 0.4287 -vn 0.1833 0.8081 0.5598 -vn 0.4041 0.7522 0.5205 -vn 0.1717 -0.9772 -0.1250 -vn -0.0022 0.8215 0.5702 -vn 0.3804 -0.9092 -0.1693 -vn 0.6308 -0.7507 -0.1963 -vn -0.2046 0.8043 0.5579 -vn 0.9586 0.2027 0.1999 -vn 0.9887 0.0921 0.1183 -vn 0.9880 0.1088 0.1095 -vn -0.9545 -0.2459 -0.1690 -vn -0.9847 -0.1396 -0.1045 -vn -0.9884 0.1070 0.1075 -vn -0.9666 0.1821 0.1801 -vn 1.0000 -0.0034 0.0033 -vn -0.8761 -0.4147 -0.2458 -vn -0.9972 0.0508 0.0540 -vn 0.9975 0.0488 0.0518 -vn -0.6968 -0.6440 -0.3159 -vn -1.0000 -0.0038 0.0036 -vn -0.4294 -0.8383 -0.3360 -vn -0.1878 -0.9328 -0.3077 -vn 0.8664 0.3581 0.3480 -vn -0.0014 -0.9553 -0.2955 -vn 0.6599 0.5402 0.5222 -vn 0.1723 0.7090 0.6838 -vn 0.3928 0.6624 0.6379 -vn 0.1695 -0.9351 -0.3112 -vn -0.0029 0.7185 0.6955 -vn 0.3712 -0.8606 -0.3487 -vn 0.6201 -0.7042 -0.3457 -vn -0.4569 0.6375 0.6204 -vn -0.1947 0.7043 0.6826 -vn 0.8334 -0.4779 -0.2776 -vn -0.7345 0.4853 0.4742 -vn 0.9440 -0.2738 -0.1841 -vn -0.9967 -0.0647 -0.0487 -vn -0.9034 0.3061 0.3001 -vn 0.9840 -0.1429 -0.1067 -vn 0.3909 0.5560 0.7335 -vn 0.6698 0.3706 0.6435 -vn 0.6651 0.4523 0.5942 -vn -0.4307 -0.7458 -0.5082 -vn -0.6923 -0.5732 -0.4384 -vn 0.9611 0.1690 0.2186 -vn -0.1894 -0.8328 -0.5201 -vn 0.8719 0.2980 0.3886 -vn -0.0017 -0.8566 -0.5159 -vn 0.1710 -0.8351 -0.5228 -vn -0.0047 0.6020 0.7985 -vn 0.1645 0.5949 0.7868 -vn 0.3738 -0.7659 -0.5231 -vn -0.1921 0.5900 0.7842 -vn 0.6176 -0.6256 -0.4766 -vn -0.4590 0.5338 0.7102 -vn 0.8279 -0.4265 -0.3642 -vn -0.7405 0.4039 0.5371 -vn 0.9410 -0.2454 -0.2328 -vn -0.9967 -0.0554 -0.0599 -vn -1.0000 -0.0016 0.0006 -vn -0.9078 0.2529 0.3345 -vn 0.9833 -0.1268 -0.1306 -vn -0.9843 -0.1231 -0.1268 -vn -0.9691 0.1497 0.1961 -vn 0.9969 -0.0535 -0.0579 -vn -0.9528 -0.2199 -0.2094 -vn -0.9892 0.0894 0.1161 -vn 1.0000 -0.0014 0.0006 -vn -0.8716 -0.3715 -0.3198 -vn -0.9974 0.0443 0.0573 -vn 0.9976 0.0428 0.0548 -vn -0.0072 0.4866 0.8736 -vn -0.1908 0.3837 0.9035 -vn -0.0082 0.3888 0.9213 -vn -0.0019 -0.7453 -0.6668 -vn 0.3903 0.4528 0.8016 -vn 0.1725 -0.7288 -0.6626 -vn 0.1620 0.4816 0.8613 -vn 0.3745 -0.6726 -0.6382 -vn -0.1945 0.4776 0.8568 -vn 0.6135 -0.5557 -0.5610 -vn -0.4634 0.4334 0.7730 -vn 0.8226 -0.3854 -0.4180 -vn -0.7470 0.3294 0.5775 -vn 0.9386 -0.2247 -0.2619 -vn -0.9965 -0.0502 -0.0662 -vn -1.0000 -0.0008 -0.0005 -vn -0.9115 0.2079 0.3549 -vn 0.9826 -0.1163 -0.1449 -vn -0.9837 -0.1126 -0.1404 -vn -0.9699 0.1263 0.2084 -vn 0.9968 -0.0486 -0.0640 -vn -0.9510 -0.2011 -0.2348 -vn -0.9893 0.0780 0.1229 -vn 1.0000 -0.0008 -0.0005 -vn -0.8675 -0.3368 -0.3662 -vn -0.9974 0.0401 0.0603 -vn 0.9976 0.0385 0.0576 -vn -0.6874 -0.5106 -0.5164 -vn 0.9890 0.0799 0.1248 -vn -0.4303 -0.6548 -0.6213 -vn 0.9622 0.1424 0.2320 -vn -0.1911 -0.7265 -0.6601 -vn 0.8757 0.2461 0.4153 -vn -0.1926 -0.6320 -0.7506 -vn -0.0019 -0.5396 -0.8419 -vn -0.1981 -0.5275 -0.8261 -vn 0.6113 -0.4919 -0.6199 -vn -0.4576 0.3540 0.8156 -vn 0.8200 -0.3458 -0.4561 -vn -0.7404 0.2767 0.6126 -vn 0.9372 -0.2044 -0.2827 -vn -0.9965 -0.0463 -0.0702 -vn -1.0000 -0.0004 -0.0005 -vn -0.9074 0.1816 0.3790 -vn 0.9822 -0.1067 -0.1547 -vn -0.9833 -0.1032 -0.1498 -vn -0.9682 0.1147 0.2224 -vn 0.9967 -0.0448 -0.0678 -vn -0.9500 -0.1828 -0.2532 -vn -0.9887 0.0727 0.1311 -vn 1.0000 -0.0005 -0.0005 -vn -0.8654 -0.3023 -0.3995 -vn -0.9972 0.0380 0.0642 -vn 0.9975 0.0361 0.0610 -vn -0.6852 -0.4523 -0.5709 -vn 0.9884 0.0738 0.1328 -vn -0.4308 -0.5735 -0.6968 -vn 0.9605 0.1277 0.2472 -vn 0.8711 0.2131 0.4425 -vn -0.0018 -0.6467 -0.7627 -vn 0.6602 0.3102 0.6840 -vn 0.3804 0.3692 0.8479 -vn 0.1741 -0.6340 -0.7535 -vn 0.1557 0.3868 0.9089 -vn 0.3755 -0.5889 -0.7157 -vn 0.6184 -0.4133 -0.6684 -vn 0.3981 -0.3819 -0.8341 -vn 0.3829 -0.4927 -0.7814 -vn 0.6355 0.2623 0.7262 -vn 0.3577 0.3001 0.8843 -vn 0.1794 -0.5292 -0.8293 -vn 0.1443 0.3087 0.9401 -vn -0.1801 0.3069 0.9345 -vn -0.0089 0.3094 0.9509 -vn -0.4340 0.2899 0.8530 -vn 0.8240 -0.2921 -0.4855 -vn -0.7176 0.2374 0.6548 -vn 0.9387 -0.1739 -0.2977 -vn -0.9966 -0.0401 -0.0726 -vn -1.0000 0.0002 0.0001 -vn -0.8959 0.1638 0.4130 -vn 0.9826 -0.0918 -0.1613 -vn -0.9837 -0.0888 -0.1561 -vn -0.9642 0.1064 0.2429 -vn 0.9968 -0.0388 -0.0702 -vn -0.9513 -0.1555 -0.2663 -vn -0.9876 0.0680 0.1417 -vn 1.0000 0.0002 -0.0000 -vn -0.8688 -0.2549 -0.4245 -vn -0.9970 0.0353 0.0685 -vn 0.9973 0.0335 0.0652 -vn -0.6918 -0.3793 -0.6145 -vn 0.9873 0.0684 0.1434 -vn -0.4384 -0.4794 -0.7602 -vn 0.9560 0.1171 0.2692 -vn 0.8567 0.1889 0.4800 -vn 0.9837 -0.0719 -0.1645 -vn 0.9466 -0.0962 -0.3079 -vn 0.9427 -0.1352 -0.3051 -vn -0.1670 0.2361 0.9573 -vn -0.0089 0.2368 0.9715 -vn 0.6332 -0.3199 -0.7047 -vn -0.4030 0.2277 0.8864 -vn 0.8332 -0.2262 -0.5046 -vn -0.6836 0.1950 0.7033 -vn -0.9968 -0.0317 -0.0738 -vn -1.0000 0.0006 0.0007 -vn -0.8782 0.1410 0.4570 -vn -0.9848 -0.0697 -0.1591 -vn -0.9589 0.0931 0.2679 -vn 0.9970 -0.0307 -0.0715 -vn -0.9545 -0.1208 -0.2726 -vn -0.9864 0.0588 0.1532 -vn 1.0000 0.0005 0.0005 -vn -0.8763 -0.1968 -0.4398 -vn -0.9969 0.0300 0.0727 -vn 0.9972 0.0285 0.0694 -vn -0.7056 -0.2925 -0.6454 -vn 0.9861 0.0590 0.1554 -vn -0.4544 -0.3710 -0.8099 -vn 0.9496 0.1013 0.2965 -vn -0.2068 -0.4085 -0.8890 -vn 0.8358 0.1593 0.5255 -vn -0.0019 -0.4177 -0.9086 -vn 0.6001 0.2107 0.7716 -vn 0.3307 0.2329 0.9145 -vn 0.1874 -0.4099 -0.8927 -vn 0.1339 0.2368 0.9623 -vn 0.9971 0.0213 0.0728 -vn 1.0000 -0.0010 0.0009 -vn 1.0000 0.0003 0.0009 -vn -0.9970 -0.0231 -0.0743 -vn -1.0000 0.0003 0.0011 -vn -0.8583 0.1077 0.5017 -vn -0.6471 0.1423 0.7490 -vn 0.9849 -0.0517 -0.1653 -vn -0.9859 -0.0499 -0.1598 -vn -0.9528 0.0720 0.2950 -vn 0.9972 -0.0223 -0.0719 -vn -0.9578 -0.0857 -0.2744 -vn -0.9854 0.0449 0.1641 -vn -0.8851 -0.1386 -0.4443 -vn -0.9969 0.0223 0.0761 -vn -0.7214 -0.2059 -0.6612 -vn 0.9849 0.0451 0.1674 -vn -0.4712 -0.2616 -0.8423 -vn 0.9419 0.0777 0.3267 -vn -0.2173 -0.2888 -0.9324 -vn 0.8122 0.1190 0.5710 -vn -0.0021 -0.2954 -0.9554 -vn 0.5661 0.1508 0.8104 -vn 0.3081 0.1623 0.9374 -vn 0.1971 -0.2898 -0.9366 -vn 0.1269 0.1648 0.9781 -vn 0.4142 -0.2698 -0.8693 -vn -0.1571 0.1643 0.9738 -vn -0.0081 0.1653 0.9862 -vn 0.6507 -0.2261 -0.7249 -vn -0.3730 0.1598 0.9140 -vn 0.8441 -0.1599 -0.5117 -vn 0.7891 0.0731 0.6099 -vn 0.9270 0.0158 0.3748 -vn 0.9345 0.0496 0.3525 -vn -0.8904 -0.0928 -0.4455 -vn -0.9599 -0.0581 -0.2744 -vn -0.9968 0.0136 0.0785 -vn -0.9843 0.0286 0.1739 -vn 0.9970 0.0130 0.0757 -vn -0.7327 -0.1367 -0.6667 -vn -1.0000 -0.0011 0.0011 -vn 0.9835 0.0288 0.1786 -vn -0.4851 -0.1729 -0.8572 -vn -0.2252 -0.1899 -0.9556 -vn -0.0021 -0.1937 -0.9811 -vn 0.5384 0.0894 0.8379 -vn 0.2962 0.0956 0.9503 -vn 0.2045 -0.1904 -0.9602 -vn 0.1240 0.0975 0.9875 -vn 0.4280 -0.1782 -0.8861 -vn -0.1523 0.0956 0.9837 -vn -0.0092 0.0974 0.9952 -vn 0.6638 -0.1502 -0.7327 -vn -0.3546 0.0928 0.9304 -vn 0.8510 -0.1075 -0.5141 -vn -0.6158 0.0844 0.7834 -vn 0.9490 -0.0657 -0.3085 -vn -0.9971 -0.0166 -0.0746 -vn -0.8376 0.0669 0.5422 -vn 0.9854 -0.0360 -0.1662 -vn -0.9865 -0.0343 -0.1601 -vn -0.9469 0.0463 0.3182 -vn 0.9972 -0.0162 -0.0725 -vn 0.1245 0.0406 0.9914 -vn 0.2909 0.0104 0.9567 -vn 0.2912 0.0362 0.9560 -vn -0.2301 -0.1366 -0.9635 -vn -0.4912 -0.1280 -0.8616 -vn 0.7736 0.0236 0.6333 -vn -0.0023 -0.1376 -0.9905 -vn 0.5241 0.0302 0.8511 -vn 0.2093 -0.1359 -0.9684 -vn 0.4355 -0.1303 -0.8907 -vn -0.1550 0.0373 0.9872 -vn -0.0117 0.0408 0.9991 -vn 0.6692 -0.1144 -0.7343 -vn -0.3454 0.0314 0.9379 -vn 0.8520 -0.0865 -0.5163 -vn -0.5971 0.0270 0.8017 -vn 0.9483 -0.0560 -0.3125 -vn -0.9970 -0.0170 -0.0755 -vn -1.0000 -0.0068 0.0008 -vn -0.8222 0.0218 0.5687 -vn 0.9850 -0.0326 -0.1695 -vn -0.9864 -0.0297 -0.1617 -vn -0.9411 0.0160 0.3378 -vn 0.9971 -0.0172 -0.0743 -vn -0.9596 -0.0479 -0.2772 -vn -0.9833 0.0096 0.1818 -vn 1.0000 -0.0065 0.0005 -vn -0.8907 -0.0744 -0.4484 -vn -0.9968 0.0021 0.0803 -vn 0.9969 0.0019 0.0782 -vn -0.7358 -0.1053 -0.6690 -vn 0.9820 0.0090 0.1886 -vn 0.2124 -0.1237 -0.9693 -vn 0.1241 0.0148 0.9922 -vn 0.4402 -0.1215 -0.8896 -vn -0.1564 0.0119 0.9876 -vn -0.0121 0.0139 0.9998 -vn 0.6732 -0.1090 -0.7314 -vn -0.3421 0.0033 0.9396 -vn 0.8538 -0.0836 -0.5138 -vn -0.5864 -0.0038 0.8100 -vn 0.9484 -0.0545 -0.3123 -vn -0.9971 -0.0191 -0.0739 -vn -0.9999 -0.0112 0.0028 -vn -0.8127 -0.0057 0.5826 -vn 0.9850 -0.0327 -0.1695 -vn -0.9866 -0.0299 -0.1603 -vn -0.9369 -0.0038 0.3496 -vn 0.9971 -0.0190 -0.0736 -vn -0.9599 -0.0459 -0.2765 -vn -0.9821 -0.0030 0.1882 -vn 0.9999 -0.0107 0.0024 -vn -0.8917 -0.0707 -0.4470 -vn -0.9965 -0.0055 0.0836 -vn 0.9966 -0.0062 0.0826 -vn -0.7384 -0.0996 -0.6670 -vn 0.9803 -0.0055 0.1977 -vn -0.4946 -0.1198 -0.8608 -vn 0.9212 -0.0069 0.3889 -vn -0.2320 -0.1251 -0.9646 -vn 0.7628 -0.0061 0.6466 -vn -0.0017 -0.1241 -0.9923 -vn 0.5164 0.0001 0.8564 -vn -0.0000 -0.9999 -0.0154 -vn -0.9902 -0.0000 0.1395 -vn -0.9902 -0.0000 0.1396 -vn -0.0000 1.0000 -0.0000 -vn 0.9902 -0.0000 0.1395 -vn -0.0000 -1.0000 -0.0000 -vn -0.0000 -0.0000 -1.0000 -vn -0.0000 -0.0000 1.0000 -vn -1.0000 -0.0000 -0.0000 -vn 1.0000 -0.0000 -0.0000 -vn -0.9636 0.2200 -0.1516 -vn -0.9558 0.2356 -0.1758 -vn -0.9892 0.0463 -0.1392 -vn 0.9902 0.1179 -0.0748 -vn 0.9637 0.2198 -0.1515 -vn -0.0000 -1.0000 0.0034 -vn -0.0002 -1.0000 0.0069 -vn -0.0004 -1.0000 0.0046 -vn 0.0674 0.9905 0.1201 -vn -0.0243 0.9853 0.1692 -vn 0.0239 0.9854 0.1685 -vn 0.7410 -0.0000 -0.6715 -vn -0.6585 -0.0000 -0.7526 -vn -0.0000 0.7658 0.6431 -vn -0.0000 0.6243 0.7812 -vn -0.0000 0.6229 0.7823 -vn -0.0000 0.4206 0.9072 -vn -0.9925 -0.0895 0.0830 -vn -0.9920 -0.0928 0.0860 -vn -0.9658 -0.1900 0.1761 -vn 0.9904 -0.1009 0.0943 -vn 0.9912 -0.0966 0.0904 -vn 0.9597 -0.2053 0.1920 -vn -0.0054 -0.0042 1.0000 -vn -0.0146 -0.0000 0.9999 -vn -0.0039 -0.0047 1.0000 -vn -0.9940 0.0027 0.1097 -vn -0.9941 0.0052 0.1083 -vn -0.9938 -0.0000 0.1113 -vn 0.9941 0.0052 0.1083 -vn 0.9940 0.0027 0.1097 -vn 0.9938 -0.0000 0.1113 -vn 0.0071 0.9998 0.0161 -vn 0.0196 0.9996 0.0209 -vn 0.0033 0.9999 0.0148 -vn 0.9824 -0.0000 0.1869 -vn 0.9972 -0.0000 0.0747 -vn -0.9824 -0.0000 0.1869 -vn -0.9972 -0.0000 0.0747 -vn -0.9960 -0.0000 0.0891 -vn -0.1177 0.9172 0.3806 -vn 0.0714 0.9533 0.2935 -vn -0.0706 0.9492 0.3067 -vn 0.9702 -0.0000 0.2421 -vn 0.8466 -0.0000 0.5322 -vn 0.8463 -0.0000 0.5326 -vn 0.1179 0.9219 0.3690 -vn 0.2118 0.6804 0.7016 -vn 0.1426 0.8144 0.5626 -vn 0.0246 0.8205 0.5711 -vn -0.2028 0.6830 0.7017 -vn -0.1359 0.8125 0.5670 -vn -0.0233 0.8197 0.5723 -vn -0.1540 0.7061 0.6911 -vn 0.1536 0.7069 0.6904 -vn -0.3963 -0.0000 0.9181 -vn -0.5691 -0.0000 0.8223 -vn -0.3961 -0.0000 0.9182 -vn -0.5693 -0.0000 0.8221 -vn -0.7193 -0.0000 0.6947 -vn -0.7196 -0.0000 0.6944 -vn -0.8463 -0.0000 0.5326 -vn 0.0783 0.5339 0.8419 -vn -0.0780 0.5403 0.8379 -vn -0.9981 0.0017 -0.0621 -vn -0.9804 0.0131 -0.1966 -vn -0.9956 -0.0882 0.0307 -vn -0.8466 -0.0000 0.5322 -vn -0.9674 -0.0096 0.2529 -vn 0.7196 -0.0000 0.6944 -vn 0.7193 -0.0000 0.6947 -vn 0.9994 0.0009 0.0332 -vn 0.9707 0.0005 0.2403 -vn 0.5693 -0.0000 0.8221 -vn 0.5691 -0.0000 0.8223 -vn 0.3963 -0.0000 0.9181 -vn 0.3961 -0.0000 0.9182 -vn 0.2026 -0.0000 0.9793 -vn 0.2025 -0.0000 0.9793 -vn -0.2025 -0.0000 0.9793 -vn -0.2026 -0.0000 0.9793 -vn 0.3935 -0.9193 0.0009 -vn 0.2683 -0.9598 -0.0820 -vn 0.4204 -0.8890 -0.1816 -vn -0.3811 -0.9245 0.0073 -vn -0.2703 -0.9592 -0.0831 -vn -0.2591 -0.9659 -0.0009 -vn 0.5304 -0.8409 -0.1076 -vn 0.5208 -0.8519 0.0560 -vn -0.1652 -0.9830 -0.0797 -vn -0.1643 -0.9864 -0.0000 -vn 0.7469 -0.6647 -0.0138 -vn -0.0796 -0.9968 -0.0000 -vn -0.0810 -0.9934 -0.0807 -vn -0.0000 -0.9967 -0.0808 -vn 0.0810 -0.9934 -0.0807 -vn 0.0796 -0.9968 -0.0000 -vn -0.7549 -0.6526 0.0653 -vn -0.8716 -0.4893 0.0307 -vn -0.7317 -0.6705 -0.1225 -vn 0.1652 -0.9830 -0.0797 -vn 0.1643 -0.9864 -0.0000 -vn -0.5263 -0.8460 -0.0850 -vn -0.5357 -0.8380 0.1037 -vn 0.2591 -0.9659 -0.0009 -vn -0.4110 -0.8966 -0.1647 -vn 0.2696 -0.9485 -0.1663 -vn -0.2779 -0.9442 -0.1768 -vn -0.1786 -0.9697 -0.1667 -vn 0.7697 -0.6083 -0.1937 -vn -0.0852 -0.9824 -0.1663 -vn 0.8914 -0.4470 -0.0751 -vn 0.8911 -0.4537 0.0069 -vn -0.0000 -0.9860 -0.1670 -vn 0.0852 -0.9824 -0.1663 -vn -0.6505 -0.6963 0.3032 -vn 0.1758 -0.9705 -0.1647 -vn -0.0898 -0.9613 -0.2605 -vn -0.0000 -0.9645 -0.2639 -vn 0.0865 -0.9623 -0.2578 -vn 0.2083 -0.9446 -0.2537 -vn -0.5868 -0.7751 -0.2344 -vn 0.3339 -0.8983 -0.2856 -vn -0.3046 -0.9228 -0.2361 -vn -0.1944 -0.9496 -0.2460 -vn -0.5014 -0.7893 -0.3545 -vn 0.5371 -0.7116 -0.4529 -vn -0.3626 -0.8430 -0.3974 -vn 0.6093 -0.7183 -0.3359 -vn -0.2358 -0.8797 -0.4129 -vn -0.0930 -0.9274 -0.3623 -vn -0.0000 -0.9274 -0.3740 -vn 0.0806 -0.9288 -0.3617 -vn 0.2577 -0.8787 -0.4019 -vn -0.7253 -0.5603 -0.4001 -vn 0.4464 -0.7335 -0.5125 -vn -0.1353 -0.8313 -0.5391 -vn -0.0000 -0.8500 -0.5268 -vn 0.1351 -0.8276 -0.5449 -vn -0.8512 -0.4616 -0.2497 -vn -0.8333 -0.4528 -0.3171 -vn 0.3359 -0.5835 -0.7394 -vn -0.6317 -0.5101 -0.5838 -vn -0.4712 -0.5563 -0.6845 -vn 0.7323 -0.4413 -0.5186 -vn -0.3515 -0.5795 -0.7353 -vn 0.6218 -0.5199 -0.5858 -vn 0.7870 -0.4979 -0.3643 -vn -0.1791 -0.5577 -0.8105 -vn -0.0000 -0.8059 -0.5920 -vn 0.1875 -0.5579 -0.8084 -vn -0.8523 -0.3229 -0.4116 -vn 0.4616 -0.5393 -0.7043 -vn -0.0000 -0.3169 -0.9485 -vn 0.1931 -0.3110 -0.9306 -vn 0.3348 -0.3497 -0.8750 -vn -0.7820 -0.3509 -0.5151 -vn -0.6624 -0.3016 -0.6857 -vn -0.5038 -0.3170 -0.8035 -vn -0.3678 -0.3295 -0.8696 -vn -0.1890 -0.3112 -0.9314 -vn 0.7791 -0.2331 -0.5819 -vn -0.9121 0.3525 -0.2095 -vn -0.8757 0.4150 -0.2467 -vn -0.8924 0.3555 -0.2780 -vn 0.4243 0.3083 -0.8514 -vn 0.2012 0.4873 -0.8497 -vn 0.3260 0.6276 -0.7070 -vn -0.7499 0.4578 -0.4776 -vn -0.7737 0.3549 -0.5249 -vn 0.5496 0.2963 -0.7811 -vn 0.5961 0.2737 -0.7548 -vn -0.6546 0.3575 -0.6661 -vn -0.5891 0.5505 -0.5915 -vn 0.6146 0.4756 -0.6294 -vn 0.6391 0.2655 -0.7219 -vn -0.5053 0.3573 -0.7854 -vn -0.5323 0.3431 -0.7739 -vn 0.7784 0.3215 -0.5392 -vn 0.7437 0.5381 -0.3968 -vn -0.3704 0.3390 -0.8648 -vn -0.3333 0.5839 -0.7403 -vn 0.8836 0.3589 -0.3007 -vn 0.8857 0.3306 -0.3261 -vn -0.2000 0.4881 -0.8495 -vn -0.2054 0.3118 -0.9277 -vn 0.9051 0.3598 -0.2268 -vn 0.8825 0.4703 -0.0008 -vn -0.0000 0.4972 -0.8676 -vn -0.0000 0.2838 -0.9589 -vn -0.8580 0.3751 -0.3508 -vn -0.9181 0.3962 -0.0069 -vn 0.9162 0.4004 0.0168 -vn 0.2097 0.3118 -0.9267 -vn -0.1137 0.8651 -0.4885 -vn -0.0000 0.7838 -0.6210 -vn 0.1420 0.8644 -0.4823 -vn 0.2017 0.9383 -0.2810 -vn 0.3202 0.8418 -0.4345 -vn 0.2041 0.9209 -0.3320 -vn -0.5150 0.6767 -0.5262 -vn 0.5760 0.6287 -0.5224 -vn -0.2531 0.9257 -0.2810 -vn -0.3969 0.7926 -0.4629 -vn -0.2460 0.8863 -0.3924 -vn 0.8656 0.4730 -0.1645 -vn -0.0047 0.9646 -0.2635 -vn -0.0598 0.9896 -0.1306 -vn 0.0835 0.9857 -0.1465 -vn -0.8315 0.5408 -0.1269 -vn -0.6166 0.7381 -0.2738 -vn -0.0135 0.9999 0.0083 -vn 0.2370 0.9520 -0.1938 -vn 0.1550 0.9685 -0.1949 -vn -0.1704 0.9830 -0.0678 -vn -0.4828 0.8716 -0.0848 -vn 0.2326 -0.9309 0.2816 -vn -0.1860 0.9797 -0.0753 -vn -0.2151 0.9692 -0.1198 -vn 0.3106 0.9107 -0.2722 -vn 0.7665 0.6016 -0.2251 -vn -0.0037 0.9964 -0.0848 -vn 0.1197 0.9812 -0.1515 -vn 0.1628 0.9852 -0.0537 -vn 0.2667 0.9626 -0.0472 -vn 0.7608 0.6488 -0.0143 -vn -0.7511 0.6579 0.0547 -vn 0.5137 0.8569 0.0430 -vn -0.3969 0.9172 0.0343 -vn -0.1695 0.9847 0.0399 -vn 0.1591 0.9856 0.0581 -vn -0.5379 0.8061 0.2468 -vn -0.2214 0.9581 0.1819 -vn 0.1669 0.9759 0.1402 -vn 0.8499 0.5155 0.1091 -vn 0.6267 0.7260 0.2831 -vn -0.1542 0.9752 0.1589 -vn 0.0121 0.9965 0.0833 -vn 0.0888 0.9821 0.1660 -vn -0.8622 0.4491 0.2344 -vn 0.2048 0.9570 0.2056 -vn 0.0043 0.9660 0.2586 -vn 0.1725 0.9690 0.1771 -vn -0.2109 0.9220 0.3249 -vn -0.2000 0.9335 0.2976 -vn 0.8780 0.3861 0.2831 -vn -0.7291 0.5580 0.3962 -vn 0.1294 0.9878 0.0870 -vn -0.4400 0.7890 0.4287 -vn 0.2145 0.7694 0.6017 -vn 0.3660 0.5163 0.7742 -vn 0.4166 0.6377 0.6479 -vn 0.3486 0.7900 0.5043 -vn -0.6038 0.5000 0.6209 -vn 0.6338 0.4616 0.6207 -vn 0.5369 0.5477 0.6417 -vn -0.4169 0.6260 0.6590 -vn 0.7722 0.4085 0.4867 -vn -0.3703 0.5112 0.7756 -vn -0.2029 0.7746 0.5990 -vn -0.0000 0.9290 0.3700 -vn -0.2030 0.4195 0.8848 -vn -0.0000 0.5745 0.8185 -vn -0.0000 0.4397 0.8981 -vn 0.2254 0.4176 0.8802 -vn 0.1993 0.3095 0.9298 -vn 0.3588 0.3507 0.8650 -vn -0.8721 0.3670 0.3237 -vn -0.7672 0.3499 0.5376 -vn 0.5120 0.3397 0.7889 -vn -0.6549 0.3486 0.6705 -vn 0.6468 0.3581 0.6733 -vn -0.5261 0.3346 0.7818 -vn 0.7588 0.3700 0.5360 -vn -0.3626 0.3272 0.8726 -vn 0.8655 0.3928 0.3109 -vn -0.1925 0.3006 0.9341 -vn 0.8993 0.3951 0.1877 -vn -0.0000 0.2852 0.9585 -vn -0.8990 0.3915 0.1963 -vn -0.9092 0.3761 0.1789 -vn 0.5010 -0.3248 0.8022 -vn 0.3529 -0.5894 0.7267 -vn 0.5139 -0.3199 0.7960 -vn -0.7869 -0.2642 0.5578 -vn -0.6272 -0.5087 0.5897 -vn -0.6613 -0.2756 0.6977 -vn 0.6491 -0.2981 0.6998 -vn 0.6240 -0.5275 0.5765 -vn -0.5199 -0.3136 0.7946 -vn -0.5076 -0.3229 0.7988 -vn 0.7735 -0.3415 0.5339 -vn 0.7320 -0.5106 0.4511 -vn -0.3529 -0.5894 0.7267 -vn -0.3687 -0.3521 0.8603 -vn 0.8498 -0.3255 0.4145 -vn -0.1745 -0.5609 0.8093 -vn -0.1766 -0.3119 0.9336 -vn -0.0000 -0.3169 0.9485 -vn -0.0000 -0.3169 0.9484 -vn 0.1766 -0.3119 0.9336 -vn 0.1745 -0.5609 0.8093 -vn 0.3688 -0.3521 0.8603 -vn -0.8679 -0.2800 0.4103 -vn -0.7453 -0.4612 0.4815 -vn 0.8867 -0.4502 0.1054 -vn 0.8259 -0.4696 0.3120 -vn -0.0000 -0.8500 0.5268 -vn -0.0000 -0.8059 0.5920 -vn 0.1352 -0.8314 0.5390 -vn -0.8831 -0.4548 0.1149 -vn -0.8298 -0.4808 0.2834 -vn -0.1353 -0.8312 0.5393 -vn -0.5065 -0.7944 0.3353 -vn 0.3676 -0.8358 0.4077 -vn 0.5121 -0.7916 0.3334 -vn -0.3632 -0.8365 0.4104 -vn -0.3745 -0.7665 0.5218 -vn 0.5844 -0.7695 0.2576 -vn -0.2358 -0.8797 0.4129 -vn -0.0930 -0.9274 0.3623 -vn -0.0000 -0.9274 0.3740 -vn 0.0930 -0.9274 0.3623 -vn 0.2358 -0.8797 0.4129 -vn -0.6193 -0.7285 0.2929 -vn 0.3745 -0.7665 0.5218 -vn -0.0000 -0.9645 0.2639 -vn 0.0898 -0.9613 0.2605 -vn 0.1834 -0.9504 0.2512 -vn 0.3280 -0.9136 0.2404 -vn -0.3229 -0.9155 0.2399 -vn -0.1834 -0.9504 0.2512 -vn -0.0898 -0.9613 0.2605 -vn 0.2961 -0.9403 0.1678 -vn 0.4007 -0.9024 0.1584 -vn -0.2973 -0.9403 0.1658 -vn -0.1727 -0.9715 0.1622 -vn 0.7600 -0.6414 0.1046 -vn -0.0852 -0.9824 0.1663 -vn -0.0000 -0.9860 0.1670 -vn 0.0852 -0.9824 0.1663 -vn 0.1727 -0.9715 0.1622 -vn -0.4151 -0.8953 0.1614 -vn -0.0000 -0.9967 0.0808 -vn 0.0810 -0.9934 0.0807 -vn 0.1652 -0.9830 0.0797 -vn 0.2710 -0.9587 0.0858 -vn -0.2724 -0.9583 0.0866 -vn -0.1652 -0.9830 0.0797 -vn -0.0810 -0.9934 0.0807 -vn 0.0001 0.9696 0.2448 -vn 0.0110 0.9970 0.0769 -vn -0.0020 0.9695 0.2451 -vn -0.0000 0.0015 -1.0000 -vn 0.9970 0.0208 0.0741 -vn 0.9973 0.0377 0.0627 -vn 0.9917 0.1200 0.0461 -vn -0.0005 -0.9933 -0.1153 -vn -0.0047 -0.9934 -0.1149 -vn -0.0049 -0.9934 -0.1148 -vn -0.0000 0.9401 0.3409 -vn 0.0065 0.9968 -0.0801 -vn 0.0133 0.9969 0.0774 -vn -0.0006 0.9576 -0.2883 -vn -0.0014 0.9577 -0.2879 -vn -0.0000 0.9575 -0.2885 -vn -0.9997 0.0242 0.0064 -vn -0.9999 -0.0106 -0.0104 -vn -0.9924 0.1158 0.0409 -vn -0.0100 0.0044 0.9999 -vn -0.0035 0.0015 1.0000 -vn -0.0001 -0.2011 -0.9796 -vn 0.0029 -0.5131 -0.8584 -vn -0.0013 -0.5238 -0.8518 -vn -0.0000 0.9985 0.0546 -vn 0.0105 0.9978 0.0661 -vn 0.0368 0.9965 0.0756 -vn 0.0471 0.9957 0.0793 -vn 0.0002 0.9979 -0.0653 -vn 0.0023 0.9924 0.1229 -vn 0.0009 0.9977 -0.0672 -vn 0.0015 0.9873 -0.1591 -vn 0.0030 0.9871 -0.1602 -vn -0.0041 0.2813 -0.9596 -vn -0.0051 -0.3624 -0.9320 -vn -0.0041 0.2577 -0.9662 -vn 0.0093 0.3101 0.9506 -vn 0.0105 0.3088 0.9511 -vn 0.0038 0.3162 0.9487 -vn 0.0051 0.9925 0.1218 -vn 0.0044 0.8908 0.4544 -vn 0.0043 0.7416 0.6708 -vn 0.0105 0.8902 0.4554 -vn -0.0047 -0.7492 -0.6623 -vn -0.0070 -0.5786 -0.8156 -vn -0.0095 -0.5808 -0.8140 -vn 0.0012 -0.2389 0.9710 -vn 0.0052 -0.2526 0.9675 -vn -0.0000 -0.2349 0.9720 -vn -0.0008 -0.7603 -0.6496 -vn -0.0065 -0.7584 -0.6518 -vn -0.0059 -0.8579 -0.5137 -vn -0.0000 -0.8631 -0.5051 -vn 0.0015 -0.1950 -0.9808 -vn -0.0043 -0.2842 0.9588 -vn -0.0040 -0.0317 0.9995 -vn -0.0033 -0.0308 0.9995 -vn -0.0017 -0.8867 0.4624 -vn -0.0069 -0.7566 0.6539 -vn -0.0143 -0.7529 0.6580 -vn 0.0003 -0.9691 0.2465 -vn 0.0020 -0.8889 0.4581 -vn -0.0011 -0.9051 -0.4252 -vn -0.0102 -0.9196 -0.3928 -vn -0.0085 -0.9169 -0.3991 -vn -0.0038 0.4915 -0.8709 -vn 0.0021 0.4773 -0.8788 -vn 0.0045 0.4714 -0.8819 -vn 0.0010 0.9692 -0.2464 -vn -0.0049 0.4932 -0.8699 -vn -0.0035 0.6150 -0.7885 -vn -0.0023 0.4897 -0.8719 -vn 0.0020 0.1036 -0.9946 -vn 0.0053 0.0997 -0.9950 -vn 0.0005 0.2215 0.9751 -vn 0.0026 0.2202 0.9755 -vn 0.0010 0.9664 -0.2572 -vn 0.0008 0.9663 -0.2574 -vn 0.0027 0.9668 -0.2553 -vn 0.0051 -0.1557 -0.9878 -vn 0.0059 -0.1562 -0.9877 -vn 0.0007 -0.9022 -0.4313 -vn -0.9996 -0.0022 -0.0274 -vn -0.9996 -0.0174 -0.0243 -vn -0.9996 -0.0000 -0.0278 -vn 0.0021 -0.6196 -0.7849 -vn 0.0011 -0.6209 -0.7839 -vn 0.0032 -0.6181 -0.7861 -vn 0.9994 -0.0238 -0.0242 -vn 0.9996 -0.0029 -0.0284 -vn 0.9996 -0.0000 -0.0290 -vn 0.0005 -0.9994 0.0358 -vn 0.0015 -0.9993 0.0362 -vn -0.0000 -0.9994 0.0356 -vn -0.0000 0.9997 -0.0230 -vn -0.0000 0.9991 -0.0417 -vn -0.0000 -1.0000 0.0088 -vn -0.0000 -0.7196 0.6944 -vn -0.0000 -0.6139 0.7894 -vn -0.0000 -0.6036 0.7973 -vn -0.0000 -0.4849 0.8746 -vn 0.9873 -0.0282 0.1565 -vn 0.9888 -0.0398 0.1438 -vn 0.9911 -0.0645 0.1164 -vn -0.9888 0.0398 -0.1438 -vn -0.9873 0.0282 -0.1565 -vn -0.9911 0.0645 -0.1164 -vn 0.2987 -0.0000 -0.9543 -vn -0.2987 -0.0000 -0.9543 -vn -0.6292 -0.0060 -0.7772 -vn -0.6256 -0.0031 -0.7802 -vn -0.6216 -0.0000 -0.7834 -vn 0.0389 0.9981 -0.0481 -vn 0.5945 -0.0069 -0.8040 -vn 0.5995 -0.0032 -0.8004 -vn 0.6039 -0.0000 -0.7971 -vn -0.0244 0.9974 -0.0684 -vn 0.9136 -0.4065 -0.0003 -vn 1.0000 -0.0000 -0.0004 -vn 0.9136 -0.4067 -0.0003 -vn -0.9781 0.2079 0.0004 -vn -0.9782 -0.2077 0.0004 -vn -0.9781 -0.2079 0.0004 -vn 1.0000 0.0002 -0.0004 -vn 0.9136 0.4067 -0.0003 -vn -0.8091 -0.5876 0.0003 -vn -0.8090 -0.5878 0.0003 -vn 0.9135 0.4070 -0.0003 -vn 0.6692 0.7431 -0.0003 -vn -0.5001 -0.8659 0.0002 -vn -0.5000 -0.8661 0.0002 -vn 0.6690 0.7433 -0.0002 -vn 0.3090 0.9510 -0.0001 -vn -0.1046 -0.9945 -0.0000 -vn -0.1045 -0.9945 -0.0000 -vn 0.3089 0.9511 -0.0001 -vn -0.1045 0.9945 -0.0000 -vn 0.3091 -0.9510 -0.0001 -vn -0.1046 0.9945 -0.0000 -vn -0.5000 0.8660 0.0002 -vn 0.6691 -0.7431 -0.0002 -vn -0.8089 0.5879 0.0003 -vn -0.8090 0.5878 0.0003 -vn 0.6692 -0.7431 -0.0002 -vn -0.9781 0.2081 0.0004 -vn -0.6604 0.2933 0.6913 -vn -0.6003 -0.0000 0.7997 -vn -0.5489 0.2452 0.7991 -vn -0.6604 -0.2933 0.6913 -vn -0.7218 -0.0000 0.6921 -vn -0.4858 -0.5378 0.6890 -vn -0.5489 -0.2452 0.7991 -vn 0.4981 0.5524 0.6684 -vn 0.3097 0.5326 0.7877 -vn 0.4243 0.3816 0.8212 -vn -0.2264 -0.6919 0.6856 -vn -0.4029 -0.4496 0.7972 -vn 0.3663 0.6372 0.6781 -vn 0.0661 0.6082 0.7910 -vn 0.0749 -0.7277 0.6818 -vn -0.1858 -0.5783 0.7944 -vn 0.0749 0.7277 0.6818 -vn -0.1858 0.5783 0.7944 -vn 0.3663 -0.6372 0.6781 -vn 0.0661 -0.6082 0.7910 -vn -0.2264 0.6919 0.6856 -vn -0.4029 0.4496 0.7972 -vn 0.5962 -0.4343 0.6752 -vn 0.3097 -0.5326 0.7877 -vn -0.4858 0.5378 0.6890 -vn 0.6816 -0.3031 0.6660 -vn 0.5019 -0.3630 0.7851 -vn 0.5453 -0.1772 0.8193 -vn 0.3108 -0.2230 0.9239 -vn -0.3595 -0.0000 0.9332 -vn -0.3287 0.1480 0.9328 -vn 0.4451 0.0944 0.8905 -vn 0.3767 -0.0792 0.9229 -vn 0.3108 0.2230 0.9239 -vn 0.3767 0.0792 0.9229 -vn -0.3287 -0.1480 0.9328 -vn 0.1921 0.3260 0.9257 -vn -0.2411 -0.2719 0.9316 -vn 0.0428 0.3707 0.9278 -vn -0.1102 -0.3509 0.9299 -vn -0.1102 0.3509 0.9299 -vn 0.0428 -0.3707 0.9278 -vn -0.2411 0.2719 0.9316 -vn 0.1921 -0.3260 0.9257 -vn -0.2876 0.1289 0.9490 -vn -0.2113 0.2367 0.9483 -vn 0.2675 -0.1933 0.9440 -vn -0.3143 -0.0000 0.9493 -vn 0.3242 0.0687 0.9435 -vn 0.3242 -0.0687 0.9435 -vn 0.2675 0.1933 0.9440 -vn -0.2876 -0.1289 0.9490 -vn 0.1649 0.2828 0.9449 -vn -0.2113 -0.2367 0.9483 -vn 0.0355 0.3220 0.9461 -vn -0.0975 -0.3052 0.9473 -vn -0.0976 0.3052 0.9473 -vn 0.0355 -0.3220 0.9461 -vn 0.1649 -0.2828 0.9449 -vn -0.1961 0.0875 0.9767 -vn -0.1439 0.1602 0.9765 -vn 0.1769 -0.1283 0.9758 -vn -0.2145 -0.0000 0.9767 -vn 0.2141 -0.0454 0.9758 -vn 0.1769 0.1283 0.9758 -vn 0.2141 0.0454 0.9758 -vn -0.1961 -0.0875 0.9767 -vn 0.1092 0.1886 0.9760 -vn -0.1439 -0.1602 0.9765 -vn 0.0230 0.2157 0.9762 -vn -0.0665 -0.2056 0.9764 -vn -0.0664 0.2056 0.9764 -vn 0.0230 -0.2158 0.9762 -vn 0.1092 -0.1885 0.9760 -vn -0.0759 0.0169 -0.9970 -vn -0.0653 0.0464 -0.9968 -vn -0.0643 0.0482 -0.9968 -vn -0.0394 -0.0672 -0.9970 -vn -0.0618 -0.0452 -0.9971 -vn -0.0383 -0.0679 -0.9970 -vn -0.0620 -0.0448 -0.9971 -vn -0.0748 -0.0157 -0.9971 -vn -0.0426 0.0718 -0.9965 -vn -0.0406 0.0733 -0.9965 -vn -0.0761 0.0157 -0.9970 -vn -0.0102 0.0869 -0.9962 -vn -0.0076 0.0875 -0.9961 -vn -0.0679 -0.0497 0.9965 -vn -0.0763 -0.1300 0.9886 -vn -0.0421 -0.0746 0.9963 -vn 0.0274 0.0872 -0.9958 -vn 0.0296 0.0867 -0.9958 -vn -0.0823 -0.0172 0.9965 -vn -0.1201 -0.0868 0.9890 -vn 0.0627 0.0705 -0.9955 -vn 0.0638 0.0696 -0.9955 -vn -0.1472 0.0303 0.9886 -vn -0.0834 0.0186 0.9963 -vn -0.1263 0.0898 0.9879 -vn -0.0706 0.0529 0.9961 -vn 0.0872 0.0389 -0.9954 -vn 0.0872 0.0388 -0.9954 -vn -0.0824 0.1388 0.9869 -vn -0.0446 0.0805 0.9958 -vn 0.0250 -0.0802 -0.9965 -vn -0.0072 -0.0803 -0.9967 -vn 0.0275 -0.0796 -0.9964 -vn -0.0197 0.1678 0.9856 -vn -0.0084 0.0960 0.9954 -vn 0.0528 0.1682 0.9843 -vn 0.0324 0.0950 0.9949 -vn 0.1209 0.1358 0.9833 -vn 0.0698 0.0762 0.9946 -vn 0.1680 0.0749 0.9829 -vn 0.0955 0.0425 0.9945 -vn 0.0946 0.0007 -0.9955 -vn 0.1036 0.0008 0.9946 -vn 0.0945 -0.0005 -0.9955 -vn 0.0852 -0.0362 -0.9957 -vn -0.0179 -0.1546 0.9878 -vn -0.0079 -0.0882 0.9961 -vn 0.0483 -0.1549 0.9867 -vn 0.0301 -0.0874 0.9957 -vn 0.0835 -0.0382 -0.9958 -vn 0.0602 -0.0645 -0.9961 -vn 0.1121 -0.1276 0.9855 -vn 0.0660 -0.0708 0.9953 -vn 0.0581 -0.0661 -0.9961 -vn 0.0927 -0.0397 0.9949 -vn 0.1822 -0.0010 0.9833 -vn -0.0092 -0.0799 -0.9968 -vn 0.1610 -0.0736 0.9842 -vn 0.5000 0.8660 -0.0000 -vn 0.8090 0.5878 -0.0000 -vn -0.3090 -0.9511 -0.0000 -vn -0.6691 -0.7431 -0.0000 -vn 0.1045 0.9945 -0.0000 -vn 0.1045 -0.9945 -0.0000 -vn 0.5000 -0.8660 -0.0000 -vn -0.6691 0.7431 -0.0000 -vn -0.3090 0.9511 -0.0000 -vn 0.8090 -0.5878 -0.0000 -vn -0.9135 0.4067 -0.0000 -vn 0.9781 -0.2079 -0.0000 -vn 0.9781 0.2079 -0.0000 -vn -0.9135 -0.4067 -0.0000 -vn -0.0186 0.0554 -0.9983 -vn 0.0063 0.0578 -0.9983 -vn 0.6691 0.7431 -0.0002 -vn 0.5000 0.8660 -0.0002 -vn 0.6691 0.7432 -0.0002 -vn 0.5001 -0.8660 -0.0002 -vn 0.8090 -0.5878 -0.0003 -vn 0.5000 -0.8660 -0.0002 -vn 0.1046 -0.9945 -0.0000 -vn 0.4999 0.8661 -0.0002 -vn 0.1046 0.9945 -0.0000 -vn 0.8091 -0.5877 -0.0003 -vn -0.6693 -0.7430 0.0002 -vn -0.9135 -0.4067 0.0003 -vn -0.9136 -0.4065 0.0003 -vn -0.6690 0.7432 0.0002 -vn -0.3090 0.9511 0.0001 -vn -0.3090 -0.9511 0.0001 -vn -0.3091 -0.9510 0.0001 -vn -1.0000 -0.0000 0.0003 -vn -1.0000 0.0002 0.0003 -vn -0.6691 -0.7432 0.0002 -vn -0.9135 0.4069 0.0003 -vn -0.6691 0.7432 0.0002 -vn -0.9135 0.4068 0.0003 -vn 0.0585 -0.0107 0.9982 -vn 0.0484 -0.0334 0.9983 -vn -0.0402 -0.0429 0.9983 -vn -0.0185 -0.0551 0.9983 -vn -0.0546 -0.0261 -0.9982 -vn -0.0598 -0.0018 -0.9982 -vn -0.0601 -0.0019 -0.9982 -vn 0.0063 0.0615 0.9981 -vn 0.0301 0.0540 0.9981 -vn -0.0185 0.0589 0.9981 -vn -0.0186 0.0590 0.9981 -vn -0.0184 -0.0586 -0.9981 -vn 0.0063 -0.0615 -0.9981 -vn -0.0185 -0.0587 -0.9981 -vn 0.0063 -0.0581 0.9983 -vn 0.0300 -0.0502 0.9983 -vn -0.0601 0.0018 0.9982 -vn -0.0547 -0.0226 0.9982 -vn -0.0400 0.0427 -0.9983 -vn 0.0585 0.0142 0.9982 -vn 0.0486 0.0371 0.9981 -vn -0.0402 -0.0465 -0.9981 -vn -0.0400 0.0463 0.9981 -vn -0.0400 0.0462 0.9981 -vn -0.9782 0.2077 -0.0000 -vn -0.9782 -0.2077 -0.0000 -vn -0.9781 -0.2081 -0.0000 -vn 0.6690 -0.7432 -0.0000 -vn 0.3091 -0.9510 -0.0000 -vn 0.6693 -0.7430 -0.0000 -vn -0.8089 -0.5879 -0.0000 -vn -0.5001 -0.8660 -0.0000 -vn -0.4999 -0.8661 -0.0000 -vn 0.3089 0.9511 -0.0000 -vn -0.5001 0.8660 -0.0000 -vn -0.8089 0.5879 -0.0000 -vn -0.8091 0.5876 -0.0000 -vn 0.9136 0.4065 -0.0000 -vn 0.9135 0.4069 -0.0000 -vn -0.8091 -0.5876 -0.0000 -vn 0.3090 -0.9511 -0.0000 -vn -0.4999 0.8661 -0.0000 -vn 0.3091 0.9510 -0.0000 -vn 0.6690 0.7432 -0.0000 -vn 0.9135 -0.4069 -0.0000 -vn 0.9136 -0.4065 -0.0000 -vn -0.9781 0.2081 -0.0000 -vn 1.0000 -0.0002 -0.0000 -vn 0.6693 0.7430 -0.0000 -vn -0.0549 0.0262 0.9981 -vn -0.0550 0.0226 -0.9982 -vn 0.0588 -0.0143 -0.9982 -vn 0.0589 0.0107 -0.9982 -vn 0.0487 0.0336 -0.9982 -vn 0.0300 0.0502 -0.9983 -vn 0.0300 -0.0537 -0.9981 -vn 0.0486 -0.0371 -0.9981 -vn -0.0731 0.6937 -0.7166 -vn 0.2159 0.6633 -0.7165 -vn -0.0731 0.6937 -0.7165 -vn -0.3494 0.6038 -0.7165 -vn -0.5650 0.4094 -0.7163 -vn -0.5651 0.4092 -0.7163 -vn 0.6381 0.2827 -0.7162 -vn 0.6981 -0.0011 -0.7160 -vn 0.6380 0.2829 -0.7162 -vn -0.6828 -0.1465 -0.7158 -vn -0.5646 -0.4113 -0.7156 -vn -0.5645 -0.4115 -0.7156 -vn 0.2155 -0.6648 -0.7153 -vn -0.0729 -0.6949 -0.7154 -vn 0.2156 -0.6648 -0.7153 -vn -0.3493 0.6038 -0.7165 -vn 0.4674 0.5179 -0.7165 -vn 0.2160 0.6633 -0.7165 -vn 0.4675 0.5178 -0.7165 -vn -0.3488 -0.6055 -0.7153 -vn 0.4669 -0.5197 -0.7155 -vn 0.6375 -0.2852 -0.7157 -vn 0.4668 -0.5198 -0.7155 -vn -0.6831 0.1440 -0.7160 -vn -0.6831 0.1438 -0.7160 -vn 0.6376 -0.2850 -0.7157 -vn 0.6981 -0.0014 -0.7160 -vn -0.6829 -0.1463 -0.7158 -vn -0.3489 -0.6055 -0.7153 -vn 1.0000 -0.0000 -0.0003 -vn -0.9781 0.2080 0.0003 -vn -0.9782 -0.2077 0.0003 -vn -0.9781 -0.2079 0.0003 -vn 1.0000 0.0002 -0.0003 -vn 0.9135 0.4067 -0.0003 -vn 0.9134 0.4070 -0.0003 -vn 0.6692 0.7431 -0.0002 -vn -0.5000 -0.8660 0.0002 -vn 0.3091 0.9510 -0.0001 -vn 0.3090 -0.9511 -0.0001 -vn -0.9781 0.2081 0.0003 -vn 0.7228 -0.1539 0.6737 -vn 0.6079 0.1287 0.7835 -vn 0.6079 -0.1287 0.7835 -vn -0.6602 -0.2934 0.6914 -vn -0.7218 -0.0000 0.6922 -vn 0.7228 0.1539 0.6737 -vn 0.5019 0.3630 0.7851 -vn 0.5962 0.4343 0.6752 -vn 0.3097 0.5325 0.7877 -vn 0.3664 0.6372 0.6781 -vn 0.0750 0.7277 0.6818 -vn 0.3664 -0.6372 0.6781 -vn 0.3097 -0.5325 0.7877 -vn 0.5019 -0.3630 0.7850 -vn -0.3595 -0.0000 0.9331 -vn 0.3767 -0.0793 0.9229 -vn 0.3767 0.0793 0.9229 -vn -0.1103 -0.3509 0.9299 -vn -0.1103 0.3509 0.9299 -vn -0.2114 0.2367 0.9483 -vn 0.2675 -0.1932 0.9440 -vn -0.3144 -0.0000 0.9493 -vn 0.1650 0.2828 0.9449 -vn -0.2114 -0.2367 0.9483 -vn -0.0976 -0.3052 0.9473 -vn -0.0975 0.3052 0.9473 -vn 0.1650 -0.2828 0.9449 -vn -0.1439 0.1602 0.9766 -vn 0.1770 -0.1283 0.9758 -vn 0.2141 -0.0455 0.9757 -vn 0.1092 0.1885 0.9760 -vn 0.0230 0.2158 0.9762 -vn -0.0664 -0.2056 0.9764 -vn 0.0231 -0.2157 0.9762 -vn -0.0655 0.0466 -0.9968 -vn -0.0645 0.0483 -0.9967 -vn -0.0396 -0.0674 -0.9969 -vn -0.0620 -0.0454 -0.9970 -vn -0.0384 -0.0682 -0.9969 -vn -0.0622 -0.0450 -0.9970 -vn -0.0751 -0.0157 -0.9971 -vn -0.0428 0.0721 -0.9965 -vn -0.0408 0.0736 -0.9965 -vn -0.0102 0.0872 -0.9961 -vn -0.0076 0.0878 -0.9961 -vn -0.0680 -0.0498 0.9964 -vn -0.0764 -0.1303 0.9885 -vn -0.0422 -0.0748 0.9963 -vn 0.0275 0.0875 -0.9958 -vn 0.0296 0.0866 -0.9958 -vn -0.0826 -0.0170 0.9964 -vn -0.1203 -0.0869 0.9889 -vn 0.0629 0.0707 -0.9955 -vn 0.0640 0.0698 -0.9955 -vn -0.1475 0.0304 0.9886 -vn -0.0835 0.0186 0.9963 -vn -0.1265 0.0900 0.9879 -vn -0.0707 0.0530 0.9961 -vn 0.0875 0.0390 -0.9954 -vn 0.0876 0.0389 -0.9954 -vn -0.0826 0.1391 0.9868 -vn -0.0447 0.0806 0.9957 -vn 0.0250 -0.0801 -0.9965 -vn -0.0072 -0.0806 -0.9967 -vn 0.0276 -0.0800 -0.9964 -vn -0.0197 0.1681 0.9856 -vn -0.0084 0.0961 0.9953 -vn 0.0529 0.1685 0.9843 -vn 0.0325 0.0952 0.9949 -vn 0.1211 0.1360 0.9833 -vn 0.0700 0.0764 0.9946 -vn 0.1684 0.0750 0.9829 -vn 0.0957 0.0426 0.9945 -vn 0.0949 0.0007 -0.9955 -vn 0.1038 0.0008 0.9946 -vn 0.0846 -0.0362 -0.9958 -vn -0.0178 -0.1546 0.9878 -vn -0.0079 -0.0883 0.9961 -vn 0.0483 -0.1550 0.9867 -vn 0.0301 -0.0875 0.9957 -vn 0.0835 -0.0381 -0.9958 -vn 0.0604 -0.0647 -0.9961 -vn 0.1123 -0.1278 0.9854 -vn 0.0661 -0.0709 0.9953 -vn 0.0583 -0.0663 -0.9961 -vn 0.0928 -0.0398 0.9949 -vn 0.1826 -0.0010 0.9832 -vn -0.0093 -0.0802 -0.9967 -vn 0.1613 -0.0737 0.9841 -vn -0.9136 0.4067 -0.0000 -vn -0.9136 -0.4067 -0.0000 -vn 0.9782 -0.2077 -0.0003 -vn 0.9781 0.2079 -0.0003 -vn 0.9781 -0.2079 -0.0003 -vn 0.8089 0.5879 -0.0003 -vn 0.8090 0.5878 -0.0003 -vn 0.9781 0.2081 -0.0003 -vn 0.8091 -0.5876 -0.0003 -vn -0.0585 0.0106 -0.9982 -vn -0.0484 0.0334 -0.9983 -vn 0.0186 0.0554 -0.9983 -vn 0.0400 0.0427 -0.9983 -vn -0.0549 -0.0262 -0.9981 -vn -0.0601 -0.0018 -0.9982 -vn -0.0063 -0.0615 -0.9981 -vn -0.0299 -0.0537 -0.9981 -vn 0.0185 -0.0586 -0.9981 -vn -0.0185 -0.0586 -0.9981 -vn -0.0300 0.0502 -0.9983 -vn -0.0062 0.0578 -0.9983 -vn 0.0550 0.0227 -0.9982 -vn 0.0601 -0.0018 -0.9982 -vn -0.0402 0.0429 -0.9983 -vn -0.0483 -0.0369 -0.9981 -vn -0.0584 -0.0142 -0.9982 -vn 0.0402 -0.0465 -0.9981 -vn 0.9782 0.2077 -0.0000 -vn 0.9782 -0.2077 -0.0000 -vn 0.9781 0.2081 -0.0000 -vn -0.6690 0.7432 -0.0000 -vn -0.3091 0.9510 -0.0000 -vn -0.3089 0.9511 -0.0000 -vn 0.5001 0.8660 -0.0000 -vn 0.8089 0.5879 -0.0000 -vn 0.4999 0.8661 -0.0000 -vn -0.3091 -0.9510 -0.0000 -vn 0.8089 -0.5879 -0.0000 -vn 0.5001 -0.8660 -0.0000 -vn 0.8091 -0.5876 -0.0000 -vn -0.9136 -0.4065 -0.0000 -vn -1.0000 -0.0002 -0.0000 -vn -1.0000 0.0002 -0.0000 -vn 0.8091 0.5876 -0.0000 -vn 0.4999 -0.8661 -0.0000 -vn -0.6690 -0.7432 -0.0000 -vn -0.6693 -0.7430 -0.0000 -vn -0.9135 0.4069 -0.0000 -vn -0.6693 0.7430 -0.0000 -vn 0.9781 -0.2081 -0.0000 -vn -0.9136 0.4065 -0.0000 -vn -0.9135 -0.4069 -0.0000 -vn 0.0549 -0.0262 -0.9981 -vn 0.0546 -0.0261 -0.9982 -vn -0.0550 0.0227 -0.9982 -vn 0.0585 0.0106 -0.9982 -vn 0.0484 0.0334 -0.9983 -vn 0.0064 -0.0619 -0.9981 -vn -0.0730 0.6936 -0.7167 -vn -0.3494 0.6038 -0.7164 -vn 0.6381 0.2827 -0.7161 -vn 0.6381 0.2829 -0.7161 -vn -0.6828 -0.1465 -0.7157 -vn -0.5647 -0.4114 -0.7155 -vn -0.5645 -0.4116 -0.7155 -vn 0.2155 -0.6647 -0.7154 -vn -0.0729 -0.6950 -0.7153 -vn 0.2156 -0.6646 -0.7154 -vn -0.3493 0.6039 -0.7164 -vn 0.4675 0.5178 -0.7164 -vn -0.3487 -0.6053 -0.7155 -vn 0.4669 -0.5197 -0.7154 -vn 0.6376 -0.2853 -0.7156 -vn -0.6830 0.1440 -0.7161 -vn -0.6830 0.1438 -0.7161 -vn 0.6377 -0.2851 -0.7156 -vn -0.3488 -0.6053 -0.7155 -vn -0.4510 -0.6347 -0.6275 -vn -0.3537 -0.8114 -0.4653 -vn -0.5880 -0.4251 -0.6882 -vn -0.6364 -0.2148 -0.7408 -vn -0.7096 -0.0162 -0.7044 -vn -0.6961 0.0197 -0.7177 -vn 0.9517 0.0281 -0.3056 -vn 0.5207 -0.3405 -0.7829 -vn 0.7021 -0.4308 -0.5669 -vn 0.4733 -0.5439 -0.6929 -vn 0.5547 -0.0611 -0.8298 -vn 0.6899 -0.0218 -0.7235 -vn 0.4970 0.1383 -0.8567 -vn 0.6661 0.1763 -0.7247 -vn 0.8386 0.1455 -0.5249 -vn 0.7182 -0.5412 -0.4373 -vn 0.7668 -0.1830 -0.6153 -vn 0.9010 -0.2271 -0.3697 -vn 0.9202 0.0253 -0.3906 -vn 0.9492 -0.0934 -0.3005 -vn 0.9505 0.1011 -0.2938 -vn 0.8352 -0.4534 -0.3111 -vn 0.8943 -0.3523 -0.2759 -vn 0.9690 0.0560 -0.2406 -vn 0.9754 0.0907 -0.2011 -vn -0.0000 0.9998 -0.0205 -vn -0.0000 0.9995 -0.0313 -vn -1.0000 0.0041 -0.0073 -vn 0.9798 0.0562 -0.1918 -vn -0.0218 0.2639 -0.9643 -vn -1.0000 0.0005 -0.0004 -vn -1.0000 0.0002 -0.0009 -vn -1.0000 0.0007 -0.0000 -vn -0.0000 -0.9949 0.1006 -vn -0.0000 -0.9924 0.1228 -vn -0.0013 -0.9951 0.0993 -vn -0.8210 -0.0000 0.5709 -vn 0.8210 -0.0000 0.5709 -vn -0.0000 0.0132 0.9999 -vn 1.0000 0.0005 -0.0004 -vn 1.0000 0.0002 -0.0009 -vn 1.0000 -0.0000 -0.0012 -vn -0.0000 -0.9999 0.0169 -vn 0.0469 0.2320 0.9716 -vn -0.1428 -0.8642 -0.4824 -vn -0.3053 -0.9365 -0.1723 -vn -0.4039 -0.9001 -0.1634 -vn 0.9999 -0.0078 -0.0104 -vn -0.7065 0.1084 -0.6994 -vn -0.7206 0.0805 -0.6887 -vn 0.3137 -0.4281 0.8475 -vn 0.1688 -0.2846 -0.9437 -vn -0.2368 -0.8817 -0.4080 -vn -0.0001 1.0000 0.0055 -vn -0.0003 1.0000 0.0057 -vn 0.0096 0.9999 0.0075 -vn -0.0433 -0.9986 0.0302 -vn -0.0050 -0.9996 0.0262 -vn -0.0031 -0.7494 -0.6621 -vn -0.0007 -0.8808 -0.4735 -vn -0.0000 -0.8806 -0.4739 -vn 0.9681 -0.0444 0.2466 -vn -0.6896 -0.6547 0.3096 -vn -0.9904 0.0004 0.1382 -vn -0.9477 -0.0516 0.3148 -vn 0.9929 0.0021 0.1190 -vn 0.9743 0.0071 0.2250 -vn -0.0076 0.9993 0.0368 -vn -0.9678 0.0066 0.2517 -vn -0.0007 -0.9999 -0.0170 -vn -0.0000 -0.9999 -0.0156 -vn 0.0004 -0.9999 -0.0150 -vn -0.0004 -0.9999 -0.0150 -vn 0.0001 -0.9999 -0.0155 -vn 0.0008 -0.9999 -0.0170 -vn 0.0040 -0.9999 -0.0163 -vn 0.0009 -0.9998 -0.0190 -vn 0.0041 -0.9998 -0.0169 -vn 0.0018 -0.9998 -0.0189 -vn 0.0041 -0.9998 -0.0175 -vn 0.0025 -0.9998 -0.0189 -vn -0.0000 -0.9998 -0.0197 -vn -0.0003 -0.9998 -0.0208 -vn -0.0033 -0.9999 -0.0167 -vn -0.0008 -0.9998 -0.0213 -vn -0.0035 -0.9998 -0.0176 -vn -0.0016 -0.9998 -0.0214 -vn -0.0036 -0.9998 -0.0186 -vn -0.0015 1.0000 -0.0013 -vn -0.0007 1.0000 -0.0005 -vn -0.0027 1.0000 -0.0023 -vn -0.0217 -0.9985 0.0509 -vn -0.0263 -0.9977 0.0617 -vn -0.9902 0.1179 -0.0747 -vn -0.9919 -0.0000 -0.1269 -vn 0.9892 0.0463 -0.1391 -vn 0.9558 0.2357 -0.1758 -vn 0.9919 -0.0000 -0.1269 -vn -0.0009 -1.0000 0.0093 -vn -0.0533 0.9983 0.0236 -vn -0.0742 0.9901 0.1193 -vn -0.0000 0.9827 0.1849 -vn 0.0528 0.9983 0.0256 -vn 0.0039 -0.0049 1.0000 -vn 0.0153 -0.0000 0.9999 -vn 0.0054 -0.0044 1.0000 -vn -0.9943 0.0080 0.1067 -vn 0.9943 0.0080 0.1067 -vn -0.0033 0.9999 0.0149 -vn -0.0072 0.9998 0.0162 -vn -0.0185 0.9996 0.0208 -vn 0.9960 -0.0000 0.0891 -vn -0.0000 0.0001 1.0000 -vn -0.0209 0.6935 0.7201 -vn -0.9849 -0.1702 0.0324 -vn -0.9661 -0.0000 0.2582 -vn 0.0220 0.6921 0.7215 -vn 0.9995 0.0019 0.0322 -vn 0.9999 -0.0081 -0.0079 -vn 0.9996 0.0269 0.0083 -vn 0.9967 -0.0025 0.0807 -vn -0.0000 -0.9933 -0.1154 -vn 0.0043 0.9967 -0.0812 -vn -0.0020 0.9577 -0.2876 -vn -0.9956 0.0022 0.0941 -vn -0.9961 0.0353 0.0812 -vn -0.9950 0.0811 0.0586 -vn -0.0135 0.0059 0.9999 -vn -0.0000 0.9981 0.0622 -vn -0.0116 -0.3853 -0.9227 -vn 0.0051 0.7872 -0.6166 -vn -0.0016 0.8027 -0.5964 -vn 0.0158 0.3028 0.9529 -vn -0.0018 0.7540 0.6568 -vn 0.0063 -0.2564 0.9665 -vn -0.0036 -0.2846 0.9586 -vn -0.0062 0.4973 -0.8675 -vn 0.0010 0.9692 -0.2463 -vn -0.0032 0.6148 -0.7887 -vn -0.0009 0.9658 -0.2593 -vn -0.9995 -0.0188 -0.0240 -vn -0.0000 -0.6223 -0.7828 -vn 0.9994 -0.0257 -0.0238 -vn 0.0020 -0.9993 0.0364 -vn 0.9823 -0.0000 0.1873 -vn -0.9823 -0.0000 -0.1873 -vn -0.6335 -0.0094 -0.7737 -vn -0.6256 -0.0031 -0.7801 -vn 0.5945 -0.0069 -0.8041 -vn 0.5897 -0.0104 -0.8076 -vn -0.4999 0.8661 0.0002 -vn 0.4981 0.5525 0.6683 -vn -0.0747 -0.0160 -0.9971 -vn -0.1447 -0.0311 0.9890 -vn 0.9135 -0.4068 -0.0003 -vn -0.0750 -0.0161 -0.9971 -vn -0.1450 -0.0311 0.9889 -vn -1.0000 -0.0002 0.0003 -vn -1.0000 0.0002 0.0002 -vn -1.0000 -0.0017 0.0001 -vn -1.0000 -0.0000 -0.0001 -vn -1.0000 0.0002 -0.0004 -vn -1.0000 -0.0000 -0.0012 -vn 1.0000 0.0007 -0.0000 -vn 0.9999 -0.0080 -0.0105 -vn 0.9993 -0.0309 -0.0209 -vn 0.9983 -0.0545 -0.0217 -vn 0.9519 0.0281 -0.3052 -vn 1.0000 -0.0000 -0.0090 -vn 0.9880 -0.1522 -0.0274 -vn 0.9969 -0.0764 -0.0178 -vn 0.9938 0.1106 0.0080 -vn -0.0012 -0.7945 -0.6073 -vn -0.1065 0.0384 -0.9936 -vn -0.0434 -0.2158 -0.9755 -vn -0.0992 0.0796 -0.9919 -vn -0.0920 -0.4258 -0.9001 -vn 0.0086 -0.3391 -0.9407 -vn -0.0218 -0.2661 -0.9637 -vn -0.0564 0.5881 -0.8068 -vn 0.0001 -0.0000 -1.0000 -vn 0.0001 -0.0001 -1.0000 -vn 0.0037 -0.0154 -0.9999 -vn 0.5723 -0.7811 -0.2497 -vn -0.0094 0.9999 0.0071 -vn -0.0133 0.9999 0.0063 -vn -0.0034 1.0000 0.0029 -vn 0.0020 1.0000 0.0053 -vn -0.0034 1.0000 0.0021 -vn -0.0053 1.0000 0.0010 -vn 0.0071 0.9999 0.0085 -vn -0.0020 1.0000 0.0053 -vn 0.0140 0.9999 0.0067 -vn 0.0034 1.0000 0.0021 -vn 0.0034 1.0000 0.0031 -vn 0.0053 1.0000 0.0010 -vn 0.0040 1.0000 0.0004 -vn -0.0071 0.9999 0.0085 -vn -0.0040 1.0000 0.0004 -vn 0.0005 1.0000 0.0052 -vn -0.0007 1.0000 0.0056 -vn 0.0002 1.0000 0.0053 -vn -0.0731 -0.9967 0.0347 -vn -0.0063 -1.0000 0.0047 -vn -0.0062 -1.0000 0.0049 -vn -0.0061 -1.0000 0.0024 -vn 0.4983 -0.7947 0.3466 -vn 0.9413 -0.1042 0.3211 -vn -0.4925 -0.8183 0.2964 -vn -0.9177 -0.0390 0.3952 -vn 0.0841 -0.9963 0.0186 -vt 0.253710 0.110526 -vt 0.252349 0.068980 -vt 0.240097 0.108230 -vt 0.241303 0.065052 -vt 0.225785 0.105964 -vt 0.231166 0.060760 -vt 0.210920 0.103720 -vt 0.222339 0.056187 -vt 0.195919 0.101613 -vt 0.215111 0.051621 -vt 0.181517 0.099310 -vt 0.209644 0.047588 -vt 0.165441 0.097954 -vt 0.360410 0.269083 -vt 0.396809 0.259853 -vt 0.361587 0.258628 -vt 0.362589 0.247594 -vt 0.397215 0.248935 -vt 0.363304 0.236315 -vt 0.398061 0.226393 -vt 0.363658 0.225080 -vt 0.398455 0.215566 -vt 0.363574 0.214164 -vt 0.363020 0.203772 -vt 0.399461 0.198680 -vt 0.361929 0.194194 -vt 0.401227 0.178806 -vt 0.358666 0.185083 -vt 0.386889 0.164254 -vt 0.352688 0.174116 -vt 0.375346 0.149102 -vt 0.344425 0.162212 -vt 0.368799 0.140610 -vt 0.335061 0.150671 -vt 0.354582 0.123374 -vt 0.324785 0.139565 -vt 0.345861 0.113649 -vt 0.315279 0.130772 -vt 0.331802 0.097617 -vt 0.307596 0.125543 -vt 0.322983 0.083710 -vt 0.299457 0.121551 -vt 0.306937 0.081854 -vt 0.289620 0.118407 -vt 0.286649 0.078315 -vt 0.278661 0.115510 -vt 0.266644 0.112899 -vt 0.275249 0.075609 -vt 0.094604 0.094499 -vt 0.117037 0.101568 -vt 0.117659 0.097531 -vt 0.073921 0.096652 -vt 0.094076 0.103323 -vt 0.094513 0.098757 -vt 0.350386 0.218288 -vt 0.351813 0.227982 -vt 0.304147 0.145305 -vt 0.179905 0.106579 -vt 0.194928 0.109598 -vt 0.354214 0.268809 -vt 0.330473 0.172921 -vt 0.337762 0.183339 -vt 0.249066 0.122329 -vt 0.260786 0.125651 -vt 0.348585 0.209317 -vt 0.296663 0.140158 -vt 0.354002 0.258887 -vt 0.321842 0.162482 -vt 0.223163 0.115897 -vt 0.236483 0.119095 -vt 0.072942 0.091774 -vt 0.057428 0.095976 -vt 0.346337 0.201041 -vt 0.289311 0.136288 -vt 0.142563 0.097893 -vt 0.162258 0.104285 -vt 0.352865 0.238174 -vt 0.353575 0.248578 -vt 0.312711 0.152896 -vt 0.209284 0.112712 -vt 0.044209 0.091563 -vt 0.055707 0.090385 -vt 0.343067 0.192817 -vt 0.280988 0.132665 -vt 0.140402 0.102801 -vt 0.354147 0.278153 -vt 0.359135 0.278457 -vt 0.271471 0.129103 -vt 0.347552 0.269979 -vt 0.343363 0.280703 -vt 0.348854 0.278812 -vt 0.308273 0.174802 -vt 0.316433 0.184438 -vt 0.074055 0.101672 -vt 0.299665 0.166060 -vt 0.045515 0.097063 -vt 0.058107 0.101551 -vt 0.291678 0.159129 -vt 0.230881 0.130202 -vt 0.242294 0.134228 -vt 0.277957 0.150293 -vt 0.284683 0.154199 -vt 0.346055 0.260863 -vt 0.218701 0.126210 -vt 0.270614 0.146473 -vt 0.344347 0.251509 -vt 0.205922 0.122216 -vt 0.262247 0.142465 -vt 0.342378 0.242174 -vt 0.192585 0.118217 -vt 0.252795 0.138322 -vt 0.340115 0.233145 -vt 0.178159 0.114253 -vt 0.337571 0.224680 -vt 0.160710 0.110732 -vt 0.334898 0.216916 -vt 0.139349 0.108051 -vt 0.332042 0.209720 -vt 0.328480 0.202351 -vt 0.116406 0.106021 -vt 0.323349 0.193892 -vt 0.332075 0.248835 -vt 0.326610 0.263730 -vt 0.335172 0.256810 -vt 0.270716 0.168730 -vt 0.277491 0.173697 -vt 0.340737 0.272789 -vt 0.222773 0.141441 -vt 0.232775 0.146167 -vt 0.264402 0.164662 -vt 0.338036 0.264853 -vt 0.212074 0.136756 -vt 0.257719 0.160497 -vt 0.200775 0.132034 -vt 0.250287 0.155853 -vt 0.188826 0.127249 -vt 0.241966 0.151009 -vt 0.328676 0.241138 -vt 0.175445 0.122342 -vt 0.325073 0.233883 -vt 0.158715 0.117613 -vt 0.321431 0.227172 -vt 0.138071 0.113760 -vt 0.317876 0.220788 -vt 0.115635 0.110950 -vt 0.313820 0.214086 -vt 0.301584 0.197623 -vt 0.308490 0.206358 -vt 0.093740 0.108342 -vt 0.293538 0.188598 -vt 0.074229 0.107082 -vt 0.046704 0.102789 -vt 0.059049 0.107454 -vt 0.285202 0.180355 -vt 0.308803 0.238915 -vt 0.302888 0.256275 -vt 0.313400 0.244730 -vt 0.194516 0.141683 -vt 0.204123 0.147121 -vt 0.237018 0.169122 -vt 0.243738 0.174422 -vt 0.322495 0.257208 -vt 0.184157 0.136084 -vt 0.229678 0.163480 -vt 0.318074 0.250839 -vt 0.172114 0.130192 -vt 0.221725 0.157911 -vt 0.156487 0.124329 -vt 0.136700 0.119311 -vt 0.304399 0.233271 -vt 0.114792 0.115854 -vt 0.299726 0.227191 -vt 0.286702 0.211870 -vt 0.293911 0.220053 -vt 0.093421 0.113262 -vt 0.278532 0.203318 -vt 0.074507 0.112446 -vt 0.048288 0.108829 -vt 0.059952 0.113290 -vt 0.262526 0.188693 -vt 0.270177 0.195329 -vt 0.338150 0.283623 -vt 0.255937 0.183564 -vt 0.334293 0.276863 -vt 0.213194 0.152494 -vt 0.249906 0.179147 -vt 0.330503 0.270298 -vt 0.280441 0.234219 -vt 0.274890 0.254985 -vt 0.286881 0.240822 -vt 0.153759 0.131941 -vt 0.168017 0.138846 -vt 0.297461 0.251302 -vt 0.135078 0.125957 -vt 0.292270 0.246308 -vt 0.113834 0.121790 -vt 0.092895 0.119192 -vt 0.264083 0.218185 -vt 0.272682 0.226475 -vt 0.074584 0.118674 -vt 0.255514 0.210265 -vt 0.049930 0.114872 -vt 0.060730 0.119804 -vt 0.247826 0.203493 -vt 0.332821 0.287599 -vt 0.241318 0.198042 -vt 0.327960 0.282037 -vt 0.202976 0.163664 -vt 0.210187 0.169668 -vt 0.235564 0.193176 -vt 0.323295 0.276838 -vt 0.195398 0.157692 -vt 0.229745 0.187912 -vt 0.318564 0.271677 -vt 0.187382 0.151639 -vt 0.223605 0.182032 -vt 0.313630 0.266513 -vt 0.178613 0.145428 -vt 0.217070 0.175820 -vt 0.308387 0.261366 -vt 0.250229 0.233280 -vt 0.227491 0.240905 -vt 0.236778 0.248818 -vt 0.112096 0.131395 -vt 0.267784 0.248830 -vt 0.091942 0.128516 -vt 0.259375 0.241413 -vt 0.074490 0.127871 -vt 0.241297 0.225344 -vt 0.051371 0.121444 -vt 0.061387 0.128771 -vt 0.233449 0.218386 -vt 0.326302 0.293400 -vt 0.226989 0.212608 -vt 0.320761 0.288903 -vt 0.192014 0.176217 -vt 0.198202 0.182580 -vt 0.221413 0.207395 -vt 0.315469 0.284853 -vt 0.185595 0.169866 -vt 0.215960 0.201815 -vt 0.310116 0.280873 -vt 0.178824 0.163491 -vt 0.210197 0.195584 -vt 0.304585 0.276850 -vt 0.171349 0.157029 -vt 0.204248 0.189060 -vt 0.298769 0.272739 -vt 0.162125 0.150242 -vt 0.292721 0.268536 -vt 0.149391 0.143016 -vt 0.286693 0.264276 -vt 0.132231 0.136325 -vt 0.280928 0.259922 -vt 0.127176 0.151991 -vt 0.103054 0.166436 -vt 0.119643 0.172439 -vt 0.052312 0.130127 -vt 0.061113 0.141551 -vt 0.219447 0.233882 -vt 0.317607 0.301963 -vt 0.212975 0.227996 -vt 0.311668 0.298189 -vt 0.180451 0.191499 -vt 0.185985 0.197918 -vt 0.207534 0.222647 -vt 0.305988 0.294928 -vt 0.174767 0.185116 -vt 0.202307 0.217023 -vt 0.300245 0.291763 -vt 0.168795 0.178775 -vt 0.196934 0.210854 -vt 0.294336 0.288551 -vt 0.162196 0.172460 -vt 0.191472 0.204395 -vt 0.288200 0.285216 -vt 0.153990 0.165916 -vt 0.281875 0.281724 -vt 0.142617 0.158904 -vt 0.275610 0.278110 -vt 0.269509 0.274292 -vt 0.108712 0.146410 -vt 0.263067 0.269775 -vt 0.255444 0.263982 -vt 0.089928 0.142892 -vt 0.246472 0.256813 -vt 0.073571 0.141504 -vt 0.058906 0.158424 -vt 0.065365 0.181003 -vt 0.070766 0.159550 -vt 0.251042 0.285373 -vt 0.243107 0.279793 -vt 0.085930 0.162084 -vt 0.233755 0.272801 -vt 0.214036 0.257156 -vt 0.223693 0.264957 -vt 0.052236 0.142238 -vt 0.205758 0.250208 -vt 0.306515 0.313792 -vt 0.199209 0.244396 -vt 0.300405 0.310422 -vt 0.168276 0.209737 -vt 0.173517 0.215900 -vt 0.193898 0.239228 -vt 0.294551 0.307574 -vt 0.162922 0.203629 -vt 0.188943 0.233930 -vt 0.288612 0.304830 -vt 0.157359 0.197643 -vt 0.183897 0.228168 -vt 0.282525 0.302046 -vt 0.151274 0.191770 -vt 0.178719 0.222078 -vt 0.276283 0.299154 -vt 0.143766 0.185722 -vt 0.269945 0.296128 -vt 0.133484 0.179194 -vt 0.263734 0.292982 -vt 0.257646 0.289570 -vt 0.281486 0.323010 -vt 0.273424 0.343786 -vt 0.287383 0.325738 -vt 0.200572 0.274377 -vt 0.210508 0.282039 -vt 0.050170 0.158201 -vt 0.054073 0.178758 -vt 0.192095 0.267592 -vt 0.293559 0.328947 -vt 0.185478 0.261990 -vt 0.155377 0.230346 -vt 0.160570 0.236047 -vt 0.180264 0.257191 -vt 0.150107 0.224726 -vt 0.175542 0.252413 -vt 0.275500 0.320372 -vt 0.144700 0.219266 -vt 0.170717 0.247254 -vt 0.269384 0.317700 -vt 0.138880 0.213937 -vt 0.165700 0.241733 -vt 0.263181 0.314953 -vt 0.131867 0.208476 -vt 0.257034 0.312138 -vt 0.122434 0.202458 -vt 0.251093 0.309256 -vt 0.109916 0.195974 -vt 0.245218 0.306100 -vt 0.094971 0.189753 -vt 0.238633 0.302072 -vt 0.230519 0.296623 -vt 0.079417 0.184639 -vt 0.220878 0.289751 -vt 0.249419 0.332742 -vt 0.241953 0.354469 -vt 0.255486 0.335526 -vt 0.141783 0.252320 -vt 0.147014 0.257495 -vt 0.166293 0.276338 -vt 0.171453 0.280792 -vt 0.267529 0.341001 -vt 0.136496 0.247228 -vt 0.161748 0.272112 -vt 0.261556 0.338278 -vt 0.131135 0.242304 -vt 0.157088 0.267557 -vt 0.125481 0.237515 -vt 0.152148 0.262631 -vt 0.118805 0.232545 -vt 0.243515 0.329961 -vt 0.110040 0.226982 -vt 0.237909 0.327183 -vt 0.098569 0.220771 -vt 0.232310 0.324145 -vt 0.084930 0.214474 -vt 0.225752 0.320190 -vt 0.217487 0.314793 -vt 0.070648 0.208864 -vt 0.207593 0.307991 -vt 0.057530 0.204449 -vt 0.186776 0.292816 -vt 0.196945 0.300371 -vt 0.045523 0.177579 -vt 0.046762 0.201349 -vt 0.178139 0.286171 -vt 0.279609 0.346979 -vt 0.219535 0.342993 -vt 0.214256 0.362578 -vt 0.224988 0.346008 -vt 0.112019 0.260242 -vt 0.117544 0.264632 -vt 0.138498 0.283224 -vt 0.143367 0.287674 -vt 0.235999 0.351577 -vt 0.105631 0.255658 -vt 0.133369 0.278533 -vt 0.230320 0.348759 -vt 0.097404 0.250444 -vt 0.086777 0.244503 -vt 0.074173 0.238297 -vt 0.212953 0.339050 -vt 0.204486 0.333657 -vt 0.060884 0.232522 -vt 0.194321 0.326860 -vt 0.048504 0.227739 -vt 0.173019 0.311715 -vt 0.183407 0.319249 -vt 0.038398 0.199375 -vt 0.038153 0.224163 -vt 0.164232 0.305112 -vt 0.266034 0.366377 -vt 0.157468 0.299827 -vt 0.259814 0.363123 -vt 0.128126 0.273791 -vt 0.152336 0.295612 -vt 0.253916 0.360219 -vt 0.122850 0.269133 -vt 0.147889 0.291749 -vt 0.247971 0.357360 -vt 0.182997 0.343304 -vt 0.187357 0.358814 -vt 0.193399 0.350147 -vt 0.076846 0.263366 -vt 0.086769 0.269044 -vt 0.208829 0.359555 -vt 0.065078 0.257383 -vt 0.202091 0.355576 -vt 0.052548 0.251760 -vt 0.040729 0.246991 -vt 0.161305 0.328071 -vt 0.171874 0.335647 -vt 0.029970 0.221677 -vt 0.030686 0.243300 -vt 0.152373 0.321408 -vt 0.255055 0.383427 -vt 0.145506 0.316076 -vt 0.248791 0.380101 -vt 0.116434 0.291231 -vt 0.121627 0.295739 -vt 0.140328 0.311888 -vt 0.242881 0.377116 -vt 0.111235 0.286804 -vt 0.135937 0.308196 -vt 0.236930 0.374164 -vt 0.106049 0.282536 -vt 0.131498 0.304367 -vt 0.230927 0.371180 -vt 0.100683 0.278365 -vt 0.126699 0.300178 -vt 0.225037 0.368212 -vt 0.094550 0.274003 -vt 0.219464 0.365344 -vt 0.048411 0.261555 -vt 0.176933 0.351978 -vt 0.036989 0.256899 -vt 0.155308 0.336855 -vt 0.165866 0.344371 -vt 0.022606 0.240614 -vt 0.027137 0.253250 -vt 0.146307 0.330168 -vt 0.249615 0.392518 -vt 0.139305 0.324741 -vt 0.243296 0.389141 -vt 0.110193 0.299994 -vt 0.115314 0.304434 -vt 0.133982 0.320446 -vt 0.237348 0.386121 -vt 0.105075 0.295632 -vt 0.129510 0.316713 -vt 0.231386 0.383152 -vt 0.099974 0.291420 -vt 0.125069 0.312916 -vt 0.225382 0.380156 -vt 0.094695 0.287288 -vt 0.120327 0.308804 -vt 0.219495 0.377174 -vt 0.088677 0.282953 -vt 0.213946 0.374297 -vt 0.081166 0.278068 -vt 0.208683 0.371482 -vt 0.071648 0.272622 -vt 0.203101 0.368369 -vt 0.060415 0.266927 -vt 0.196181 0.364302 -vt 0.080200 0.112292 -vt 0.025791 0.087142 -vt 0.169612 0.092082 -vt 0.300759 0.257261 -vt 0.247921 0.149803 -vt 0.300759 0.149803 -vt 0.088692 0.473643 -vt 0.297671 0.437789 -vt 0.297671 0.473643 -vt 0.180455 0.257261 -vt 0.233293 0.149803 -vt 0.233293 0.257261 -vt 0.040912 0.583556 -vt 0.091359 0.474053 -vt 0.295582 0.474053 -vt 0.054937 0.790981 -vt 0.342279 0.447457 -vt 0.354492 0.781454 -vt 0.231353 0.664158 -vt 0.240702 0.677682 -vt 0.244718 0.663212 -vt 0.140367 0.548250 -vt 0.142120 0.720433 -vt 0.110104 0.549707 -vt 0.141250 0.720401 -vt 0.111506 0.552887 -vt 0.141250 0.546100 -vt 0.180218 0.257742 -vt 0.165494 0.149322 -vt 0.180218 0.149322 -vt 0.248288 0.257742 -vt 0.233563 0.149322 -vt 0.248288 0.149322 -vt 0.116571 0.692443 -vt 0.159192 0.529713 -vt 0.140210 0.695171 -vt 0.249913 0.724632 -vt 0.148281 0.707686 -vt 0.249913 0.474255 -vt 0.186000 0.601033 -vt 0.185458 0.603437 -vt 0.181885 0.603159 -vt 0.173885 0.475829 -vt 0.246333 0.469993 -vt 0.253090 0.544820 -vt 0.167560 0.649774 -vt 0.174949 0.564955 -vt 0.139648 0.661908 -vt 0.256055 0.510093 -vt 0.256055 0.768147 -vt 0.186424 0.598055 -vt 0.186356 0.598284 -vt 0.186209 0.598153 -vt 0.186772 0.598536 -vt 0.186563 0.600678 -vt 0.186148 0.600891 -vt 0.189370 0.598301 -vt 0.186828 0.598380 -vt 0.186616 0.600872 -vt 0.189314 0.600772 -vt 0.189600 0.601032 -vt 0.186272 0.600954 -vt 0.186295 0.601123 -vt 0.186441 0.598251 -vt 0.189225 0.598465 -vt 0.347718 0.700087 -vt 0.020316 0.578153 -vt 0.017851 0.638391 -vt 0.311077 0.688063 -vt 0.036727 0.630956 -vt 0.027675 0.688063 -vt 0.121539 0.655427 -vt 0.193109 0.680820 -vt 0.179061 0.615199 -vt 0.108190 0.703180 -vt 0.157097 0.644478 -vt 0.086327 0.638855 -vt 0.181853 0.675238 -vt 0.161487 0.671738 -vt 0.166778 0.638320 -vt 0.285759 0.529588 -vt 0.116652 0.711184 -vt 0.102076 0.524389 -vt 0.117130 0.533624 -vt 0.285187 0.715252 -vt 0.101504 0.720450 -vt 0.169184 0.734246 -vt 0.109822 0.733409 -vt 0.087024 0.526742 -vt 0.203120 0.514583 -vt 0.266008 0.771149 -vt 0.266008 0.514583 -vt 0.266329 0.771149 -vt 0.329673 0.514583 -vt 0.266060 0.514583 -vt 0.204851 0.559508 -vt 0.182674 0.529826 -vt 0.161038 0.696640 -vt 0.196116 0.559352 -vt 0.155133 0.625212 -vt 0.239994 0.696640 -vt 0.214605 0.660962 -vt 0.185535 0.531683 -vt 0.186532 0.661017 -vt 0.295036 0.615217 -vt 0.302175 0.610669 -vt 0.293845 0.613300 -vt 0.213649 0.531691 -vt 0.250807 0.464176 -vt 0.215864 0.466183 -vt 0.185816 0.466464 -vt 0.251387 0.728378 -vt 0.216535 0.726340 -vt 0.186576 0.726045 -vt 0.246859 0.661046 -vt 0.245505 0.531587 -vt 0.299981 0.589836 -vt 0.291991 0.584885 -vt 0.291367 0.588479 -vt 0.300619 0.586863 -vt 0.292837 0.581702 -vt 0.301392 0.584139 -vt 0.293832 0.579094 -vt 0.240622 0.559435 -vt 0.228711 0.566642 -vt 0.231712 0.572744 -vt 0.334956 0.529102 -vt 0.334725 0.663399 -vt 0.303946 0.575223 -vt 0.304059 0.574664 -vt 0.297768 0.574113 -vt 0.302194 0.581719 -vt 0.295018 0.577175 -vt 0.301377 0.608256 -vt 0.292845 0.610694 -vt 0.297299 0.618352 -vt 0.302892 0.612733 -vt 0.300608 0.605537 -vt 0.291994 0.607513 -vt 0.299974 0.602566 -vt 0.291367 0.603920 -vt 0.299555 0.599419 -vt 0.291032 0.600089 -vt 0.299390 0.596201 -vt 0.291041 0.596198 -vt 0.291033 0.592310 -vt 0.299558 0.592984 -vt 0.895947 0.595418 -vt 0.889062 0.609187 -vt 0.889062 0.595418 -vt 0.895947 0.705572 -vt 0.889062 0.691803 -vt 0.895947 0.691803 -vt 0.889062 0.581649 -vt 0.895947 0.581649 -vt 0.889062 0.678034 -vt 0.895947 0.678034 -vt 0.895947 0.567879 -vt 0.895947 0.664265 -vt 0.889062 0.664265 -vt 0.895947 0.650495 -vt 0.889062 0.650495 -vt 0.889062 0.636726 -vt 0.895947 0.636726 -vt 0.895947 0.733111 -vt 0.889062 0.746880 -vt 0.889062 0.733111 -vt 0.889062 0.622957 -vt 0.895947 0.622957 -vt 0.889062 0.719342 -vt 0.895947 0.719342 -vt 0.895947 0.609187 -vt 0.889062 0.705572 -vt 0.882177 0.609187 -vt 0.882177 0.705572 -vt 0.882177 0.691803 -vt 0.882177 0.678034 -vt 0.889062 0.567879 -vt 0.882177 0.581649 -vt 0.882177 0.567879 -vt 0.882177 0.664265 -vt 0.882177 0.554110 -vt 0.889062 0.554110 -vt 0.882177 0.650495 -vt 0.882177 0.636726 -vt 0.882177 0.746880 -vt 0.882177 0.622957 -vt 0.875293 0.664265 -vt 0.875293 0.650495 -vt 0.875293 0.636726 -vt 0.875293 0.622957 -vt 0.882177 0.719342 -vt 0.875293 0.733111 -vt 0.875293 0.719342 -vt 0.875293 0.609187 -vt 0.882177 0.595418 -vt 0.875293 0.705572 -vt 0.875293 0.691803 -vt 0.875293 0.678034 -vt 0.868408 0.705572 -vt 0.868408 0.595418 -vt 0.875293 0.595418 -vt 0.868408 0.691803 -vt 0.868408 0.581649 -vt 0.875293 0.581649 -vt 0.868408 0.678034 -vt 0.875293 0.567879 -vt 0.868408 0.664265 -vt 0.868408 0.650495 -vt 0.868408 0.636726 -vt 0.868408 0.622957 -vt 0.868408 0.733111 -vt 0.868408 0.719342 -vt 0.868408 0.609187 -vt 0.861523 0.664265 -vt 0.861523 0.650495 -vt 0.861523 0.636726 -vt 0.858081 0.746880 -vt 0.861523 0.733111 -vt 0.861523 0.622957 -vt 0.861523 0.719342 -vt 0.861523 0.705572 -vt 0.861523 0.691803 -vt 0.861523 0.595418 -vt 0.861523 0.581649 -vt 0.861523 0.678034 -vt 0.868408 0.567879 -vt 0.861523 0.609187 -vt 0.854638 0.595418 -vt 0.861523 0.567879 -vt 0.854638 0.581649 -vt 0.854638 0.567879 -vt 0.854638 0.678034 -vt 0.854638 0.664265 -vt 0.858081 0.554110 -vt 0.854638 0.650495 -vt 0.854638 0.636726 -vt 0.854638 0.733111 -vt 0.854638 0.622957 -vt 0.854638 0.609187 -vt 0.847754 0.636726 -vt 0.847754 0.622957 -vt 0.854638 0.719342 -vt 0.847754 0.733111 -vt 0.847754 0.719342 -vt 0.854638 0.705572 -vt 0.847754 0.705572 -vt 0.854638 0.691803 -vt 0.847754 0.691803 -vt 0.847754 0.678034 -vt 0.847754 0.664265 -vt 0.847754 0.650495 -vt 0.847754 0.581649 -vt 0.840869 0.595418 -vt 0.840869 0.581649 -vt 0.847754 0.567879 -vt 0.833984 0.733111 -vt 0.840869 0.733111 -vt 0.840869 0.622957 -vt 0.833984 0.636726 -vt 0.833984 0.622957 -vt 0.833984 0.719342 -vt 0.840869 0.719342 -vt 0.833984 0.609187 -vt 0.840869 0.609187 -vt 0.840869 0.705572 -vt 0.833984 0.705572 -vt 0.833984 0.595418 -vt 0.840869 0.691803 -vt 0.833984 0.691803 -vt 0.833984 0.581649 -vt 0.840869 0.678034 -vt 0.833984 0.678034 -vt 0.833984 0.567879 -vt 0.840869 0.567879 -vt 0.833984 0.664265 -vt 0.840869 0.664265 -vt 0.785792 0.554110 -vt 0.833984 0.650495 -vt 0.840869 0.650495 -vt 0.837427 0.760650 -vt 0.785792 0.746880 -vt 0.837427 0.540341 -vt 0.840869 0.636726 -vt 0.827100 0.678034 -vt 0.827100 0.664265 -vt 0.827100 0.650495 -vt 0.827100 0.636726 -vt 0.827100 0.622957 -vt 0.820215 0.636726 -vt 0.820215 0.622957 -vt 0.827100 0.609187 -vt 0.820215 0.609187 -vt 0.827100 0.705572 -vt 0.820215 0.719342 -vt 0.820215 0.705572 -vt 0.827100 0.595418 -vt 0.820215 0.595418 -vt 0.820215 0.691803 -vt 0.827100 0.691803 -vt 0.827100 0.581649 -vt 0.820215 0.678034 -vt 0.827100 0.567879 -vt 0.820215 0.581649 -vt 0.820215 0.567879 -vt 0.820215 0.664265 -vt 0.820215 0.650495 -vt 0.813330 0.664265 -vt 0.813330 0.650495 -vt 0.813330 0.636726 -vt 0.820215 0.733111 -vt 0.813330 0.733111 -vt 0.813330 0.719342 -vt 0.882163 0.534850 -vt 0.862889 0.573399 -vt 0.862889 0.534850 -vt 0.862889 0.496302 -vt 0.882163 0.496302 -vt 0.813330 0.595418 -vt 0.813330 0.691803 -vt 0.813331 0.678034 -vt 0.806446 0.733111 -vt 0.806446 0.719342 -vt 0.813330 0.609187 -vt 0.813331 0.622957 -vt 0.806446 0.622957 -vt 0.806446 0.705572 -vt 0.813330 0.705572 -vt 0.862889 0.766141 -vt 0.843615 0.804689 -vt 0.843615 0.766141 -vt 0.813330 0.581649 -vt 0.806446 0.595418 -vt 0.806446 0.581649 -vt 0.862889 0.727593 -vt 0.813330 0.567879 -vt 0.806446 0.664265 -vt 0.806446 0.650495 -vt 0.806446 0.636726 -vt 0.843615 0.689045 -vt 0.843615 0.727593 -vt 0.824340 0.689045 -vt 0.843615 0.650496 -vt 0.824340 0.650496 -vt 0.843615 0.611947 -vt 0.824340 0.611947 -vt 0.843615 0.573399 -vt 0.824340 0.573399 -vt 0.843615 0.496302 -vt 0.824340 0.534850 -vt 0.824340 0.496302 -vt 0.799561 0.595418 -vt 0.799561 0.581649 -vt 0.806446 0.567879 -vt 0.799561 0.567879 -vt 0.792677 0.567879 -vt 0.799561 0.733111 -vt 0.792677 0.733111 -vt 0.799561 0.719342 -vt 0.785792 0.567879 -vt 0.792677 0.719342 -vt 0.785792 0.733111 -vt 0.785792 0.719342 -vt 0.785792 0.705572 -vt 0.792677 0.705572 -vt 0.805066 0.496302 -vt 0.785792 0.534850 -vt 0.785792 0.496302 -vt 0.805066 0.766141 -vt 0.805066 0.804689 -vt 0.785792 0.804689 -vt 0.792677 0.581649 -vt 0.785792 0.595418 -vt 0.785792 0.581649 -vt 0.778907 0.719342 -vt 0.772023 0.733111 -vt 0.772023 0.719342 -vt 0.778907 0.705572 -vt 0.772023 0.705572 -vt 0.766518 0.496302 -vt 0.747244 0.534850 -vt 0.747244 0.496302 -vt 0.766518 0.766141 -vt 0.766518 0.804689 -vt 0.747244 0.804689 -vt 0.778907 0.581649 -vt 0.778907 0.595418 -vt 0.772023 0.595418 -vt 0.778907 0.567879 -vt 0.772023 0.567879 -vt 0.772023 0.581649 -vt 0.765138 0.595418 -vt 0.765138 0.581649 -vt 0.747244 0.689045 -vt 0.727969 0.689045 -vt 0.727969 0.650496 -vt 0.747244 0.650496 -vt 0.727969 0.611947 -vt 0.765138 0.733111 -vt 0.747244 0.611947 -vt 0.727969 0.573399 -vt 0.708695 0.650496 -vt 0.708695 0.689045 -vt 0.758253 0.581649 -vt 0.758253 0.595418 -vt 0.751369 0.595418 -vt 0.708695 0.766141 -vt 0.689421 0.766141 -vt 0.689421 0.727593 -vt 0.758253 0.567879 -vt 0.751369 0.581649 -vt 0.751369 0.567879 -vt 0.708695 0.727593 -vt 0.758253 0.719342 -vt 0.751369 0.733111 -vt 0.751369 0.719342 -vt 0.708695 0.534850 -vt 0.689421 0.573399 -vt 0.689421 0.534850 -vt 0.758253 0.705572 -vt 0.751369 0.705572 -vt 0.708695 0.496302 -vt 0.689421 0.496301 -vt 0.708695 0.804689 -vt 0.751369 0.622957 -vt 0.744484 0.636726 -vt 0.744484 0.622957 -vt 0.744484 0.609187 -vt 0.751369 0.609187 -vt 0.744484 0.719342 -vt 0.744484 0.705572 -vt 0.744484 0.595418 -vt 0.751369 0.691803 -vt 0.744484 0.691803 -vt 0.744484 0.581649 -vt 0.751369 0.678034 -vt 0.744484 0.678034 -vt 0.744484 0.664265 -vt 0.751369 0.664265 -vt 0.751369 0.650495 -vt 0.744484 0.650495 -vt 0.751369 0.636726 -vt 0.737599 0.678034 -vt 0.737599 0.664265 -vt 0.737599 0.650495 -vt 0.737599 0.636726 -vt 0.737599 0.622957 -vt 0.730715 0.636726 -vt 0.730715 0.622957 -vt 0.737599 0.719342 -vt 0.730715 0.733111 -vt 0.730715 0.719342 -vt 0.730715 0.609187 -vt 0.737599 0.609187 -vt 0.737599 0.705572 -vt 0.730715 0.705572 -vt 0.737599 0.595418 -vt 0.730715 0.595418 -vt 0.730715 0.691803 -vt 0.737599 0.691803 -vt 0.737599 0.581649 -vt 0.730715 0.581649 -vt 0.730715 0.678034 -vt 0.730715 0.567879 -vt 0.737599 0.567879 -vt 0.730715 0.664265 -vt 0.730715 0.554110 -vt 0.730715 0.650495 -vt 0.734157 0.760650 -vt 0.730715 0.746880 -vt 0.734157 0.540341 -vt 0.737599 0.733111 -vt 0.944139 0.609187 -vt 0.937254 0.622957 -vt 0.937254 0.609187 -vt 0.944139 0.719342 -vt 0.937254 0.705572 -vt 0.944139 0.705572 -vt 0.944139 0.595418 -vt 0.937254 0.595418 -vt 0.937254 0.691803 -vt 0.944139 0.691803 -vt 0.944139 0.581649 -vt 0.937254 0.581649 -vt 0.937254 0.678034 -vt 0.944139 0.678034 -vt 0.944139 0.567879 -vt 0.937254 0.664265 -vt 0.944139 0.664265 -vt 0.937254 0.650495 -vt 0.944139 0.650495 -vt 0.944139 0.636726 -vt 0.937254 0.636726 -vt 0.944139 0.622957 -vt 0.937255 0.733111 -vt 0.937254 0.719342 -vt 0.933812 0.554110 -vt 0.937255 0.567879 -vt 0.930370 0.567879 -vt 0.930370 0.650495 -vt 0.930370 0.636726 -vt 0.933812 0.746880 -vt 0.930370 0.733111 -vt 0.930370 0.581649 -vt 0.930370 0.678034 -vt 0.930370 0.664265 -vt 0.930370 0.719342 -vt 0.923485 0.705572 -vt 0.930370 0.705572 -vt 0.930370 0.595418 -vt 0.923485 0.609187 -vt 0.923485 0.595418 -vt 0.923485 0.691803 -vt 0.930370 0.691803 -vt 0.923485 0.581649 -vt 0.923485 0.678034 -vt 0.923485 0.664265 -vt 0.923485 0.650495 -vt 0.923485 0.636726 -vt 0.923485 0.622957 -vt 0.930370 0.622957 -vt 0.923485 0.733111 -vt 0.923485 0.719342 -vt 0.930370 0.609187 -vt 0.916601 0.650495 -vt 0.916601 0.636726 -vt 0.916601 0.622957 -vt 0.916601 0.609187 -vt 0.916601 0.705572 -vt 0.916601 0.691803 -vt 0.916601 0.678034 -vt 0.916601 0.664265 -vt 0.916601 0.595418 -vt 0.909716 0.609187 -vt 0.909716 0.595418 -vt 0.909716 0.691803 -vt 0.916601 0.581649 -vt 0.909716 0.678034 -vt 0.916601 0.567879 -vt 0.909716 0.581649 -vt 0.909716 0.567879 -vt 0.909716 0.664265 -vt 0.909716 0.650495 -vt 0.909716 0.636726 -vt 0.916601 0.733111 -vt 0.909716 0.746880 -vt 0.909716 0.733111 -vt 0.909716 0.622957 -vt 0.909716 0.719342 -vt 0.916601 0.719342 -vt 0.909716 0.705572 -vt 0.902831 0.650495 -vt 0.902831 0.636726 -vt 0.902831 0.746880 -vt 0.902831 0.622957 -vt 0.902831 0.609187 -vt 0.902831 0.705572 -vt 0.902831 0.691803 -vt 0.902831 0.595418 -vt 0.902831 0.581649 -vt 0.902831 0.678034 -vt 0.902831 0.664265 -vt 0.909716 0.554110 -vt 0.902831 0.567879 -vt 0.902831 0.554110 -vt 0.891326 0.690587 -vt 0.712649 0.625876 -vt 0.891326 0.625876 -vt 0.756639 0.657874 -vt 0.837049 0.738283 -vt 0.756639 0.738283 -vt 0.960183 0.799591 -vt 0.899351 0.737883 -vt 0.922868 0.612673 -vt 0.676230 0.738283 -vt 0.890255 0.691085 -vt 0.738141 0.634156 -vt 0.890255 0.634156 -vt 0.802393 0.765569 -vt 0.891808 0.630588 -vt 0.891808 0.765569 -vt 0.837049 0.497055 -vt 0.756639 0.577464 -vt 0.756639 0.497055 -vt 0.854838 0.598524 -vt 0.812226 0.730231 -vt 0.810873 0.598524 -vt 0.899299 0.806794 -vt 0.849793 0.752036 -vt 0.862272 0.715965 -vt 0.285568 0.512505 -vt 0.376717 0.509890 -vt 0.330720 0.552913 -vt 0.347714 0.538948 -vt 0.337958 0.510920 -vt 0.375404 0.482192 -vt 0.326286 0.703347 -vt 0.285937 0.618630 -vt 0.348513 0.686409 -vt 0.322195 0.803530 -vt 0.258249 0.503297 -vt 0.322195 0.443485 -vt 0.274207 0.781795 -vt 0.310607 0.775358 -vt 0.303680 0.808667 -vt 0.263673 0.531413 -vt 0.260914 0.458016 -vt 0.339170 0.467171 -vt 0.248144 0.758708 -vt 0.262811 0.488814 -vt 0.328376 0.532946 -vt 0.267737 0.626376 -vt 0.252215 0.593244 -vt 0.266771 0.568919 -vt 0.266488 0.545427 -vt 0.316874 0.564983 -vt 0.305657 0.763600 -vt 0.272926 0.742891 -vt 0.312824 0.748735 -vt 0.273650 0.606888 -vt 0.204833 0.627650 -vt 0.210404 0.599463 -vt 0.331625 0.700414 -vt 0.260341 0.675815 -vt 0.337406 0.687179 -vt 0.255248 0.565482 -vt 0.299433 0.549268 -vt 0.270183 0.577517 -vt 0.271401 0.771774 -vt 0.304034 0.768896 -vt 0.354615 0.791687 -vt 0.335017 0.758100 -vt 0.365562 0.782157 -vt 0.376717 0.768873 -vt 0.338305 0.749914 -vt 0.300127 0.656399 -vt 0.262921 0.724633 -vt 0.274897 0.667041 -vt 0.093016 0.535009 -vt 0.113925 0.730347 -vt 0.114016 0.522522 -vt 0.082658 0.555442 -vt 0.092675 0.717678 -vt 0.082658 0.570908 -vt 0.082663 0.697246 -vt 0.085496 0.574314 -vt 0.085320 0.678447 -vt 0.082663 0.681921 -vt 0.122062 0.574314 -vt 0.149502 0.682738 -vt 0.120994 0.678447 -vt 0.144703 0.682441 -vt 0.109299 0.555668 -vt 0.144703 0.555558 -vt 0.102169 0.656346 -vt 0.085605 0.600307 -vt 0.102291 0.596296 -vt 0.090718 0.740639 -vt 0.115193 0.757988 -vt 0.082973 0.764804 -vt 0.143132 0.665028 -vt 0.093962 0.592833 -vt 0.143410 0.587847 -vt 0.090804 0.511935 -vt 0.078972 0.527210 -vt 0.067784 0.518820 -vt 0.140284 0.730959 -vt 0.140267 0.521813 -vt 0.140079 0.715635 -vt 0.140125 0.537280 -vt 0.151421 0.680323 -vt 0.102714 0.574049 -vt 0.151506 0.572592 -vt 0.337191 0.624061 -vt 0.337191 0.704667 -vt 0.320684 0.647879 -vt 0.083852 0.600957 -vt 0.313479 0.584301 -vt 0.256586 0.624061 -vt 0.175980 0.704667 -vt 0.175980 0.624061 -vt 0.297072 0.582766 -vt 0.071500 0.673376 -vt 0.068432 0.609405 -vt 0.037783 0.568061 -vt 0.369571 0.648667 -vt 0.037783 0.648667 -vt 0.256586 0.704667 -vt 0.199286 0.523037 -vt 0.249842 0.689520 -vt 0.190807 0.690319 -vt 0.172030 0.766855 -vt 0.261863 0.480363 -vt 0.261863 0.751637 -vt 0.175980 0.543455 -vt 0.256586 0.543455 -vt 0.256586 0.785272 -vt 0.175980 0.785272 -vt 0.256586 0.462849 -vt 0.175980 0.462849 -vt 0.197878 0.688963 -vt 0.248434 0.522479 -vt 0.248434 0.689647 -vt 0.334807 0.548694 -vt 0.057193 0.653727 -vt 0.057193 0.548694 -vt 0.219390 0.594549 -vt 0.185128 0.622603 -vt 0.219390 0.659949 -vt 0.219414 0.593850 -vt 0.253676 0.621903 -vt 0.253676 0.556503 -vt 0.309031 0.475044 -vt 0.255458 0.804486 -vt 0.255458 0.475044 -vt 0.086973 0.534407 -vt 0.394352 0.544889 -vt 0.392009 0.613588 -vt 0.165679 0.614186 -vt 0.226069 0.449465 -vt 0.226068 0.614186 -vt 0.088103 0.614205 -vt 0.395661 0.545466 -vt 0.395661 0.682945 -vt 0.195973 0.713389 -vt 0.074843 0.671832 -vt 0.088113 0.520151 -vt 0.286458 0.449465 -vt 0.286459 0.614186 -vt 0.226069 0.778908 -vt 0.286458 0.778907 -vt 0.165678 0.778908 -vt 0.170354 0.606237 -vt 0.208822 0.661827 -vt 0.169820 0.663936 -vt 0.257847 0.522213 -vt 0.276547 0.516339 -vt 0.278487 0.523501 -vt 0.269482 0.530272 -vt 0.231208 0.474573 -vt 0.269482 0.472571 -vt 0.278498 0.523568 -vt 0.280683 0.516339 -vt 0.299034 0.522494 -vt 0.387638 0.565934 -vt 0.368929 0.636033 -vt 0.360742 0.570469 -vt 0.058289 0.645778 -vt 0.035887 0.580138 -vt 0.058953 0.587599 -vt 0.394582 0.639892 -vt 0.350214 0.693387 -vt 0.065101 0.510709 -vt 0.085055 0.531760 -vt 0.372054 0.709750 -vt 0.310843 0.740827 -vt 0.123999 0.460476 -vt 0.134525 0.488222 -vt 0.325003 0.765459 -vt 0.253753 0.769883 -vt 0.198322 0.438862 -vt 0.199557 0.468565 -vt 0.259293 0.798593 -vt 0.187681 0.773402 -vt 0.273861 0.451527 -vt 0.266098 0.479576 -vt 0.184170 0.802602 -vt 0.125814 0.747136 -vt 0.322193 0.515362 -vt 0.061353 0.719130 -vt 0.081003 0.701131 -vt 0.337600 0.492377 -vt 0.033387 0.651482 -vt 0.270031 0.765065 -vt 0.265367 0.719522 -vt 0.246056 0.737055 -vt 0.295261 0.709391 -vt 0.288188 0.735516 -vt 0.297328 0.680238 -vt 0.274562 0.698178 -vt 0.145330 0.536484 -vt 0.155121 0.595036 -vt 0.168954 0.562357 -vt 0.294678 0.646169 -vt 0.277243 0.673588 -vt 0.132761 0.581452 -vt 0.148662 0.630393 -vt 0.286966 0.608896 -vt 0.275000 0.645701 -vt 0.126218 0.627173 -vt 0.148029 0.666463 -vt 0.275158 0.572138 -vt 0.268600 0.615984 -vt 0.124864 0.673003 -vt 0.153018 0.701088 -vt 0.259165 0.538815 -vt 0.258061 0.587201 -vt 0.128946 0.716936 -vt 0.165311 0.732255 -vt 0.237650 0.507410 -vt 0.243230 0.561928 -vt 0.221607 0.542787 -vt 0.232314 0.584269 -vt 0.246860 0.699636 -vt 0.231299 0.708698 -vt 0.193710 0.543204 -vt 0.216729 0.573956 -vt 0.183379 0.587132 -vt 0.199037 0.574694 -vt 0.255714 0.684767 -vt 0.172805 0.608116 -vt 0.259022 0.666035 -vt 0.167492 0.633251 -vt 0.257796 0.644745 -vt 0.167404 0.659483 -vt 0.252937 0.622435 -vt 0.172375 0.684196 -vt 0.244309 0.601459 -vt 0.183231 0.704581 -vt 0.195577 0.679750 -vt 0.188172 0.668054 -vt 0.224309 0.605232 -vt 0.232735 0.679085 -vt 0.222655 0.683183 -vt 0.203919 0.600573 -vt 0.214405 0.599750 -vt 0.194586 0.607947 -vt 0.239308 0.670225 -vt 0.187809 0.620522 -vt 0.242254 0.658018 -vt 0.184241 0.636224 -vt 0.241853 0.643825 -vt 0.184401 0.652811 -vt 0.238634 0.629066 -vt 0.232541 0.615608 -vt 0.204372 0.659429 -vt 0.200844 0.654171 -vt 0.218212 0.624198 -vt 0.222304 0.660442 -vt 0.217500 0.662121 -vt 0.213321 0.621785 -vt 0.203876 0.625731 -vt 0.208330 0.622255 -vt 0.225640 0.656345 -vt 0.200548 0.631667 -vt 0.227315 0.650317 -vt 0.198757 0.639144 -vt 0.227319 0.643101 -vt 0.198911 0.647038 -vt 0.225765 0.635668 -vt 0.222500 0.629092 -vt 0.277943 0.739872 -vt 0.162954 0.712753 -vt 0.336721 0.539163 -vt 0.086211 0.690365 -vt 0.135431 0.500229 -vt 0.090711 0.543379 -vt 0.126909 0.736098 -vt 0.068648 0.640790 -vt 0.187090 0.763738 -vt 0.112540 0.562029 -vt 0.143778 0.520716 -vt 0.149805 0.528083 -vt 0.252690 0.761351 -vt 0.093418 0.599841 -vt 0.104260 0.557453 -vt 0.308154 0.731471 -vt 0.084190 0.638032 -vt 0.092583 0.637522 -vt 0.100414 0.678975 -vt 0.108488 0.675881 -vt 0.343916 0.685451 -vt 0.136948 0.717347 -vt 0.143203 0.711349 -vt 0.264005 0.488752 -vt 0.190340 0.740802 -vt 0.192864 0.732927 -vt 0.248519 0.739485 -vt 0.246716 0.731882 -vt 0.297712 0.713224 -vt 0.292419 0.707552 -vt 0.329226 0.674081 -vt 0.322266 0.671028 -vt 0.334410 0.631141 -vt 0.358185 0.634283 -vt 0.199501 0.502220 -vt 0.201469 0.511197 -vt 0.257798 0.510467 -vt 0.255389 0.518588 -vt 0.351888 0.577443 -vt 0.305484 0.541458 -vt 0.299720 0.547356 -vt 0.317861 0.525102 -vt 0.327515 0.587557 -vt 0.341974 0.631628 -vt 0.198314 0.479133 -vt 0.336058 0.584271 -vt 0.084880 0.598081 -vt 0.070463 0.592785 -vt 0.165748 0.503311 -vt 0.224494 0.496701 -vt 0.222929 0.504102 -vt 0.041454 0.516155 -vt 0.357250 0.537450 -vt 0.369690 0.586946 -vt 0.117083 0.473365 -vt 0.325515 0.561939 -vt 0.340427 0.494700 -vt 0.341243 0.493422 -vt 0.318150 0.629449 -vt 0.133611 0.664323 -vt 0.306934 0.689623 -vt 0.118032 0.712359 -vt 0.322428 0.629338 -vt 0.109189 0.636316 -vt 0.303243 0.484250 -vt 0.132282 0.571346 -vt 0.318150 0.559412 -vt 0.117491 0.702744 -vt 0.289258 0.741339 -vt 0.108394 0.554538 -vt 0.138322 0.621449 -vt 0.129003 0.776927 -vt 0.331732 0.693948 -vt 0.076108 0.746199 -vt 0.268470 0.790484 -vt 0.250515 0.718116 -vt 0.299708 0.701193 -vt 0.254186 0.725103 -vt 0.276090 0.531109 -vt 0.320944 0.566255 -vt 0.312753 0.569337 -vt 0.070713 0.646513 -vt 0.053156 0.599047 -vt 0.062436 0.599968 -vt 0.072823 0.638370 -vt 0.093918 0.684746 -vt 0.064301 0.639945 -vt 0.068301 0.592333 -vt 0.059290 0.590715 -vt 0.148926 0.715468 -vt 0.205714 0.733550 -vt 0.145490 0.722354 -vt 0.328018 0.615245 -vt 0.329341 0.662486 -vt 0.320912 0.659438 -vt 0.172027 0.504409 -vt 0.227726 0.501067 -vt 0.225788 0.508338 -vt 0.114450 0.521591 -vt 0.163449 0.495857 -vt 0.198982 0.723183 -vt 0.142186 0.716756 -vt 0.145791 0.710127 -vt 0.336871 0.615289 -vt 0.101307 0.687368 -vt 0.061993 0.648738 -vt 0.293125 0.695719 -vt 0.079292 0.546372 -vt 0.086918 0.550699 -vt 0.198152 0.738348 -vt 0.199076 0.730916 -vt 0.047769 0.589877 -vt 0.068776 0.543065 -vt 0.084117 0.688785 -vt 0.331973 0.563708 -vt 0.347972 0.614937 -vt 0.308894 0.705436 -vt 0.168158 0.489240 -vt 0.232343 0.494185 -vt 0.135667 0.722985 -vt 0.052606 0.641618 -vt 0.340290 0.664292 -vt 0.290618 0.520457 -vt 0.118373 0.512955 -vt 0.110763 0.507139 -vt 0.259376 0.731625 -vt 0.169882 0.496689 -vt 0.281707 0.525362 -vt 0.124698 0.519334 -vt 0.094653 0.692355 -vt 0.077907 0.555780 -vt 0.108686 0.515372 -vt 0.332280 0.650131 -vt 0.345159 0.603085 -vt 0.341233 0.652600 -vt 0.069672 0.551872 -vt 0.316088 0.559074 -vt 0.281265 0.517759 -vt 0.323947 0.555389 -vt 0.260790 0.717016 -vt 0.312848 0.695372 -vt 0.264912 0.724006 -vt 0.335958 0.603751 -vt 0.205339 0.725955 -vt 0.276108 0.523826 -vt 0.100680 0.680180 -vt 0.305692 0.690195 -vt 0.208156 0.493664 -vt 0.261916 0.522343 -vt 0.207311 0.502359 -vt 0.147842 0.493065 -vt 0.102858 0.520563 -vt 0.096155 0.513430 -vt 0.339889 0.602700 -vt 0.332466 0.651054 -vt 0.330334 0.603778 -vt 0.051519 0.600140 -vt 0.075129 0.648307 -vt 0.066257 0.651196 -vt 0.218099 0.737916 -vt 0.160277 0.718487 -vt 0.216905 0.729091 -vt 0.151038 0.501701 -vt 0.305383 0.558227 -vt 0.266640 0.515139 -vt 0.313188 0.553685 -vt 0.103701 0.695938 -vt 0.157426 0.726637 -vt 0.270143 0.719923 -vt 0.319074 0.698667 -vt 0.275123 0.727962 -vt 0.071088 0.555674 -vt 0.062004 0.551353 -vt 0.311242 0.692539 -vt 0.342077 0.653631 -vt 0.319509 0.698127 -vt 0.061295 0.600897 -vt 0.110104 0.689922 -vt 0.032807 0.659938 -vt 0.052214 0.589555 -vt 0.057360 0.649798 -vt 0.363281 0.595003 -vt 0.399582 0.643181 -vt 0.377494 0.651252 -vt 0.026554 0.584628 -vt 0.073545 0.534865 -vt 0.360344 0.703702 -vt 0.326943 0.765518 -vt 0.316101 0.740206 -vt 0.052920 0.516638 -vt 0.115598 0.491733 -vt 0.267116 0.793156 -vt 0.262343 0.765882 -vt 0.103395 0.466126 -vt 0.173453 0.468831 -vt 0.196313 0.798355 -vt 0.198921 0.770554 -vt 0.169917 0.440503 -vt 0.237533 0.471095 -vt 0.126677 0.774552 -vt 0.136992 0.749002 -vt 0.242273 0.443456 -vt 0.295773 0.499424 -vt 0.086902 0.706464 -vt 0.355735 0.526247 -vt 0.338120 0.543734 -vt 0.069056 0.726563 -vt 0.384327 0.584114 -vt 0.233936 0.513198 -vt 0.195216 0.541723 -vt 0.220628 0.551028 -vt 0.106878 0.745530 -vt 0.151550 0.752798 -vt 0.132999 0.729039 -vt 0.156469 0.513501 -vt 0.195116 0.499686 -vt 0.283958 0.767531 -vt 0.263758 0.711160 -vt 0.252345 0.743381 -vt 0.133020 0.550409 -vt 0.169907 0.551002 -vt 0.290811 0.724297 -vt 0.266272 0.676234 -vt 0.117385 0.590031 -vt 0.150570 0.573992 -vt 0.290970 0.680614 -vt 0.262696 0.640133 -vt 0.107068 0.632347 -vt 0.137064 0.603951 -vt 0.285120 0.635361 -vt 0.253866 0.605221 -vt 0.101626 0.673921 -vt 0.128148 0.637144 -vt 0.274284 0.590881 -vt 0.240193 0.574362 -vt 0.101897 0.711446 -vt 0.124064 0.670450 -vt 0.258018 0.550275 -vt 0.125147 0.701354 -vt 0.145538 0.689626 -vt 0.195171 0.575274 -vt 0.212209 0.581020 -vt 0.153526 0.709167 -vt 0.241559 0.695843 -vt 0.230668 0.716731 -vt 0.178148 0.580803 -vt 0.245326 0.670665 -vt 0.163867 0.595732 -vt 0.243597 0.643947 -vt 0.153226 0.616964 -vt 0.236993 0.618313 -vt 0.146173 0.641412 -vt 0.226490 0.596351 -vt 0.143530 0.666424 -vt 0.205594 0.606749 -vt 0.214840 0.616157 -vt 0.163635 0.676494 -vt 0.194993 0.603353 -vt 0.179858 0.695247 -vt 0.169754 0.688340 -vt 0.223228 0.679486 -vt 0.215514 0.691237 -vt 0.184357 0.606478 -vt 0.226631 0.663892 -vt 0.174993 0.615535 -vt 0.226093 0.646675 -vt 0.167714 0.629003 -vt 0.221841 0.630106 -vt 0.162913 0.644942 -vt 0.161521 0.661450 -vt 0.199968 0.628936 -vt 0.204652 0.633495 -vt 0.179114 0.663369 -vt 0.194722 0.627336 -vt 0.182289 0.668899 -vt 0.208577 0.664137 -vt 0.204846 0.669350 -vt 0.189442 0.628760 -vt 0.210460 0.656807 -vt 0.184638 0.633131 -vt 0.210420 0.648452 -vt 0.180768 0.639773 -vt 0.208284 0.640336 -vt 0.178251 0.647688 -vt 0.177776 0.655965 -vt 0.336721 0.537963 -vt 0.382650 0.694796 -vt 0.162954 0.711555 -vt 0.333472 0.554289 -vt 0.263615 0.754583 -vt 0.314201 0.727181 -vt 0.294549 0.510004 -vt 0.353857 0.602281 -vt 0.237644 0.480440 -vt 0.298088 0.702662 -vt 0.259427 0.733552 -vt 0.254838 0.725074 -vt 0.173957 0.477234 -vt 0.327820 0.659973 -vt 0.305487 0.709589 -vt 0.117599 0.501237 -vt 0.338771 0.607608 -vt 0.329511 0.608839 -vt 0.320076 0.565917 -vt 0.312060 0.568980 -vt 0.079315 0.543245 -vt 0.284599 0.527735 -vt 0.278321 0.533278 -vt 0.139968 0.740544 -vt 0.233353 0.501946 -vt 0.230505 0.509500 -vt 0.176474 0.499271 -vt 0.177833 0.506836 -vt 0.126661 0.520235 -vt 0.131566 0.526194 -vt 0.093546 0.555645 -vt 0.100011 0.559293 -vt 0.085423 0.596529 -vt 0.062500 0.592227 -vt 0.203356 0.738831 -vt 0.202640 0.729843 -vt 0.148244 0.720635 -vt 0.151474 0.713176 -vt 0.065634 0.644702 -vt 0.105457 0.683534 -vt 0.111588 0.678711 -vt 0.091896 0.697969 -vt 0.089188 0.637220 -vt 0.078002 0.595237 -vt 0.201433 0.760851 -vt 0.081978 0.638882 -vt 0.341588 0.662614 -vt 0.364715 0.658015 -vt 0.356736 0.686951 -vt 0.223100 0.502862 -vt 0.163620 0.494617 -vt 0.224665 0.495461 -vt 0.090777 0.719952 -vt 0.375411 0.741292 -vt 0.332336 0.698749 -vt 0.341143 0.712871 -vt 0.075310 0.669471 -vt 0.074904 0.718931 -vt 0.080434 0.608877 -vt 0.319615 0.660157 -vt 0.318923 0.617669 -vt 0.343736 0.767686 -vt 0.057403 0.767884 -vt 0.332821 0.570597 -vt 0.099430 0.545690 -vt 0.329109 0.652160 -vt 0.060370 0.618233 -vt 0.077870 0.667885 -vt 0.046498 0.506039 -vt 0.063179 0.464509 -vt 0.345922 0.502570 -vt 0.364743 0.552631 -vt 0.015673 0.610350 -vt 0.029222 0.555530 -vt 0.303313 0.587637 -vt 0.032698 0.567870 -vt 0.328017 0.460753 -vt 0.216084 0.505684 -vt 0.271148 0.515968 -vt 0.266419 0.522212 -vt 0.335226 0.643259 -vt 0.304219 0.681867 -vt 0.326567 0.641324 -vt 0.070884 0.645273 -vt 0.053328 0.597807 -vt 0.062607 0.598728 -vt 0.068018 0.607809 -vt 0.072746 0.559289 -vt 0.080981 0.562866 -vt 0.071419 0.656737 -vt 0.079754 0.653886 -vt 0.205510 0.724715 -vt 0.145661 0.721114 -vt 0.149098 0.714228 -vt 0.305861 0.554449 -vt 0.335652 0.595277 -vt 0.327213 0.596405 -vt 0.269085 0.717127 -vt 0.214375 0.722707 -vt 0.264479 0.710467 -vt 0.114622 0.520350 -vt 0.165919 0.502071 -vt 0.114665 0.527375 -vt 0.161564 0.497809 -vt 0.167453 0.505845 -vt 0.101477 0.686128 -vt 0.062163 0.647498 -vt 0.107512 0.697873 -vt 0.113449 0.692356 -vt 0.157857 0.490390 -vt 0.217517 0.497489 -vt 0.060305 0.659172 -vt 0.061721 0.556644 -vt 0.108971 0.521698 -vt 0.346377 0.644351 -vt 0.278895 0.510588 -vt 0.313102 0.550403 -vt 0.217059 0.737906 -vt 0.215563 0.730492 -vt 0.100181 0.516393 -vt 0.046919 0.607316 -vt 0.059053 0.607399 -vt 0.323230 0.547267 -vt 0.321501 0.690037 -vt 0.311454 0.686580 -vt 0.158694 0.723589 -vt 0.098493 0.702697 -vt 0.220759 0.490375 -vt 0.153908 0.730453 -vt 0.276094 0.722975 -vt 0.161297 0.716458 -vt 0.094824 0.691115 -vt 0.069844 0.550632 -vt 0.108857 0.514132 -vt 0.332452 0.648891 -vt 0.345330 0.601845 -vt 0.341404 0.651360 -vt 0.078078 0.554540 -vt 0.276279 0.522586 -vt 0.324118 0.554148 -vt 0.316259 0.557834 -vt 0.260962 0.715776 -vt 0.313019 0.694132 -vt 0.265083 0.722765 -vt 0.336129 0.602511 -vt 0.205886 0.732310 -vt 0.167608 0.505588 -vt 0.281436 0.516518 -vt 0.305863 0.688955 -vt 0.205716 0.734279 -vt 0.148690 0.715069 -vt 0.205373 0.725543 -vt 0.265397 0.724632 -vt 0.306116 0.689871 -vt 0.313682 0.695783 -vt 0.060713 0.648848 -vt 0.061556 0.599720 -vt 0.070027 0.646170 -vt 0.346336 0.601962 -vt 0.316200 0.558601 -vt 0.324515 0.554217 -vt 0.162660 0.494589 -vt 0.222489 0.503916 -vt 0.165053 0.503118 -vt 0.261072 0.716642 -vt 0.100859 0.686982 -vt 0.144999 0.722991 -vt 0.093758 0.692796 -vt 0.281460 0.516531 -vt 0.224194 0.495373 -vt 0.113613 0.521403 -vt 0.068223 0.551146 -vt 0.107531 0.514291 -vt 0.332767 0.649960 -vt 0.342278 0.652732 -vt 0.076981 0.555583 -vt 0.051709 0.598767 -vt 0.336598 0.603217 -vt 0.346430 0.602704 -vt 0.275964 0.523567 -vt 0.107744 0.585358 -vt 0.148398 0.569513 -vt 0.147361 0.599736 -vt 0.104502 0.615440 -vt 0.102974 0.648831 -vt 0.159512 0.647772 -vt 0.275526 0.707685 -vt 0.274048 0.678398 -vt 0.274373 0.649672 -vt 0.271649 0.590460 -vt 0.221814 0.574799 -vt 0.252558 0.540464 -vt 0.250323 0.652959 -vt 0.240576 0.711847 -vt 0.221577 0.526151 -vt 0.230572 0.627173 -vt 0.210971 0.601803 -vt 0.217443 0.657092 -vt 0.197016 0.630472 -vt 0.208200 0.716488 -vt 0.187701 0.527823 -vt 0.178433 0.575645 -vt 0.182226 0.661608 -vt 0.175916 0.692542 -vt 0.054160 0.658128 -vt 0.302870 0.666311 -vt 0.082346 0.666312 -vt 0.175965 0.763465 -vt 0.151450 0.772209 -vt 0.150640 0.769414 -vt 0.331057 0.658128 -vt 0.059036 0.549370 -vt 0.331057 0.549370 -vt 0.225719 0.646739 -vt 0.115132 0.600664 -vt 0.232742 0.615914 -vt 0.179671 0.672155 -vt 0.166566 0.583837 -vt 0.174963 0.573263 -vt 0.224245 0.654286 -vt 0.118005 0.596500 -vt 0.236904 0.611148 -vt 0.104347 0.638515 -vt 0.231056 0.610934 -vt 0.230467 0.655687 -vt 0.134462 0.664789 -vt 0.158948 0.592365 -vt 0.161421 0.657464 -vt 0.108257 0.632454 -vt 0.233604 0.616971 -vt 0.226798 0.648593 -vt 0.119922 0.562758 -vt 0.124093 0.692943 -vt 0.172375 0.664647 -vt 0.275526 0.620567 -vt 0.219293 0.491462 -vt 0.236505 0.431856 -vt 0.238363 0.435197 -vt 0.161281 0.792710 -vt 0.158410 0.681134 -vt 0.106069 0.681631 -vt 0.268960 0.671400 -vt 0.267482 0.669661 -vt 0.265881 0.660483 -vt 0.115870 0.556357 -vt 0.138419 0.520931 -vt 0.276024 0.504279 -vt 0.291279 0.612697 -vt 0.258327 0.494876 -vt 0.309938 0.592449 -vt 0.171751 0.618257 -vt 0.182246 0.545124 -vt 0.186951 0.447815 -vt 0.186951 0.742934 -vt 0.244662 0.623817 -vt 0.243378 0.637307 -vt 0.373771 0.689556 -vt 0.229730 0.574962 -vt 0.232134 0.649699 -vt 0.355441 0.525787 -vt 0.344996 0.483303 -vt 0.375075 0.452591 -vt 0.014435 0.543602 -vt 0.188021 0.742015 -vt 0.009729 0.742015 -vt 0.277730 0.544361 -vt 0.230586 0.538527 -vt 0.190388 0.182940 -vt 0.201499 0.179367 -vt 0.195102 0.229116 -vt 0.238571 0.115273 -vt 0.198980 0.185043 -vt 0.198801 0.166034 -vt 0.263858 0.072501 -vt 0.396628 0.282229 -vt 0.397640 0.237660 -vt 0.361844 0.131909 -vt 0.019069 0.250550 -vt 0.177916 0.051620 -vt 0.178402 0.062026 -vt 0.018659 0.056514 -vt 0.177195 0.072594 -vt 0.019110 0.067157 -vt 0.174300 0.082765 -vt 0.021329 0.077508 -vt 0.162720 0.100142 -vt 0.121674 0.113717 -vt 0.152851 0.106613 -vt 0.139212 0.111199 -vt 0.101304 0.114071 -vt 0.060764 0.108504 -vt 0.044880 0.102904 -vt 0.033338 0.095698 -vt 0.019832 0.046122 -vt 0.022732 0.036664 -vt 0.083557 0.014572 -vt 0.027798 0.028705 -vt 0.063950 0.015740 -vt 0.035848 0.022614 -vt 0.047784 0.018377 -vt 0.104715 0.014776 -vt 0.125024 0.016215 -vt 0.175699 0.042057 -vt 0.142385 0.018820 -vt 0.171611 0.033893 -vt 0.155741 0.022482 -vt 0.165218 0.027420 -vt 0.247921 0.257261 -vt 0.349293 0.584448 -vt 0.349293 0.815422 -vt 0.037070 0.584448 -vt 0.037069 0.815423 -vt 0.088692 0.437789 -vt 0.180455 0.149803 -vt 0.091359 0.438619 -vt 0.295582 0.438619 -vt 0.346029 0.583556 -vt 0.346029 0.818007 -vt 0.040912 0.818007 -vt 0.042459 0.442644 -vt 0.228622 0.670429 -vt 0.165494 0.257742 -vt 0.233563 0.257742 -vt 0.135664 0.526998 -vt 0.242811 0.799431 -vt 0.170707 0.793623 -vt 0.120719 0.471036 -vt 0.183960 0.596056 -vt 0.186014 0.596207 -vt 0.253090 0.795197 -vt 0.151459 0.561765 -vt 0.123897 0.798416 -vt 0.029565 0.598144 -vt 0.031028 0.545812 -vt 0.036052 0.598211 -vt 0.139648 0.610434 -vt 0.045214 0.609448 -vt 0.334433 0.487491 -vt 0.334433 0.790749 -vt 0.031061 0.732351 -vt 0.029492 0.672200 -vt 0.038644 0.672111 -vt 0.044620 0.662833 -vt 0.350183 0.639848 -vt 0.302777 0.630956 -vt 0.078802 0.712424 -vt 0.223043 0.671426 -vt 0.248408 0.651243 -vt 0.243119 0.684661 -vt 0.222665 0.681716 -vt 0.285759 0.723951 -vt 0.285187 0.520888 -vt 0.370056 0.526742 -vt 0.287896 0.734208 -vt 0.347257 0.733409 -vt 0.201550 0.771149 -vt 0.329673 0.771149 -vt 0.161038 0.506547 -vt 0.245899 0.674618 -vt 0.245899 0.625212 -vt 0.155133 0.675273 -vt 0.239994 0.506547 -vt 0.218338 0.529779 -vt 0.230702 0.572668 -vt 0.244718 0.573882 -vt 0.243264 0.559201 -vt 0.328069 0.735666 -vt 0.297279 0.574077 -vt 0.302915 0.579645 -vt 0.327895 0.456734 -vt 0.304059 0.617874 -vt 0.862889 0.804689 -vt 0.792677 0.595418 -vt 0.689421 0.804689 -vt 0.712649 0.690587 -vt 0.837049 0.657874 -vt 0.910545 0.576572 -vt 0.960183 0.521934 -vt 0.917237 0.529070 -vt 0.920632 0.806821 -vt 0.676230 0.657874 -vt 0.738141 0.691085 -vt 0.802393 0.630588 -vt 0.837049 0.577464 -vt 0.853816 0.730191 -vt 0.859822 0.521934 -vt 0.899299 0.529300 -vt 0.837824 0.591084 -vt 0.856371 0.799554 -vt 0.269452 0.810515 -vt 0.261728 0.730169 -vt 0.292834 0.767782 -vt 0.326809 0.783508 -vt 0.361329 0.467119 -vt 0.328551 0.503913 -vt 0.375404 0.810917 -vt 0.355728 0.738056 -vt 0.329340 0.453725 -vt 0.344493 0.457944 -vt 0.278814 0.498180 -vt 0.275067 0.453725 -vt 0.291270 0.496227 -vt 0.338114 0.786318 -vt 0.345228 0.780042 -vt 0.274154 0.629571 -vt 0.268794 0.777172 -vt 0.341860 0.769710 -vt 0.342454 0.605198 -vt 0.312176 0.534407 -vt 0.315167 0.594241 -vt 0.266735 0.588949 -vt 0.269700 0.637216 -vt 0.257818 0.689603 -vt 0.329860 0.764874 -vt 0.335784 0.706860 -vt 0.149605 0.569915 -vt 0.109097 0.682552 -vt 0.085569 0.652360 -vt 0.071820 0.705322 -vt 0.078946 0.711828 -vt 0.067793 0.710589 -vt 0.078946 0.725459 -vt 0.067793 0.733824 -vt 0.155157 0.784941 -vt 0.115193 0.784012 -vt 0.154847 0.761706 -vt 0.093789 0.659938 -vt 0.155131 0.467832 -vt 0.154916 0.491282 -vt 0.115330 0.468907 -vt 0.115330 0.494939 -vt 0.083489 0.487840 -vt 0.072087 0.547434 -vt 0.067784 0.542270 -vt 0.078972 0.540764 -vt 0.102544 0.678842 -vt 0.059878 0.672675 -vt 0.332306 0.648580 -vt 0.369571 0.568061 -vt 0.249842 0.522353 -vt 0.172030 0.465145 -vt 0.189399 0.521681 -vt 0.334807 0.653727 -vt 0.207656 0.556503 -vt 0.241942 0.659949 -vt 0.309031 0.804486 -vt 0.389667 0.682288 -vt 0.082287 0.671806 -vt 0.165679 0.449465 -vt 0.088103 0.682945 -vt 0.088103 0.506213 -vt 0.335750 0.541816 -vt 0.322480 0.693497 -vt 0.208822 0.608638 -vt 0.233190 0.530274 -vt 0.113632 0.773003 -vt 0.380093 0.550555 -vt 0.138762 0.759287 -vt 0.126627 0.676463 -vt 0.113777 0.632585 -vt 0.126627 0.588709 -vt 0.162954 0.552419 -vt 0.216477 0.529989 -vt 0.277943 0.525301 -vt 0.382650 0.569178 -vt 0.407788 0.610157 -vt 0.407788 0.655015 -vt 0.382650 0.695994 -vt 0.336721 0.726009 -vt 0.216477 0.735183 -vt 0.336121 0.584490 -vt 0.034765 0.566945 -vt 0.325142 0.456974 -vt 0.114705 0.516532 -vt 0.354104 0.756230 -vt 0.124874 0.519232 -vt 0.373846 0.728490 -vt 0.307786 0.475525 -vt 0.123746 0.783104 -vt 0.168819 0.722796 -vt 0.187143 0.671878 -vt 0.126627 0.675265 -vt 0.113777 0.631387 -vt 0.126627 0.587509 -vt 0.162954 0.551219 -vt 0.216477 0.528792 -vt 0.277943 0.524103 -vt 0.382650 0.567978 -vt 0.407788 0.608960 -vt 0.407788 0.653815 -vt 0.336721 0.724812 -vt 0.277942 0.738672 -vt 0.216477 0.733983 -vt 0.340680 0.666010 -vt 0.107368 0.766125 -vt 0.263700 0.524560 -vt 0.346377 0.594283 -vt 0.163698 0.447875 -vt 0.240780 0.447876 -vt 0.240780 0.804140 -vt 0.223187 0.779147 -vt 0.236666 0.804140 -vt 0.201522 0.767744 -vt 0.106820 0.632091 -vt 0.097745 0.638701 -vt 0.112514 0.594794 -vt 0.134491 0.582398 -vt 0.115994 0.601721 -vt 0.146430 0.474165 -vt 0.172990 0.478750 -vt 0.159870 0.476016 -vt 0.238363 0.792499 -vt 0.186150 0.476061 -vt 0.199861 0.473233 -vt 0.222168 0.461462 -vt 0.236189 0.642535 -vt 0.235814 0.585018 -vt 0.241209 0.641921 -vt 0.244004 0.582555 -vt 0.256063 0.571980 -vt 0.258497 0.652828 -vt 0.265162 0.568133 -vt 0.245318 0.644278 -vt 0.266004 0.552965 -vt 0.268960 0.550154 -vt 0.247800 0.649677 -vt 0.261205 0.666314 -vt 0.257902 0.627042 -vt 0.217620 0.630094 -vt 0.178134 0.619426 -vt 0.147353 0.597366 -vt 0.130066 0.570809 -vt 0.127161 0.544764 -vt 0.162770 0.499745 -vt 0.198476 0.487354 -vt 0.239123 0.489059 -vt 0.302061 0.527131 -vt 0.315529 0.552643 -vt 0.314224 0.585373 -vt 0.176846 0.500954 -vt 0.216716 0.490146 -vt 0.292539 0.513290 -vt 0.313988 0.539022 -vt 0.319310 0.566918 -vt 0.286904 0.615827 -vt 0.251634 0.631400 -vt 0.210075 0.632068 -vt 0.144960 0.595555 -vt 0.132686 0.571003 -vt 0.133331 0.546884 -vt 0.148087 0.522681 -vt 0.008659 0.742933 -vt 0.008660 0.544521 -vt 0.373809 0.558078 -vt 0.374624 0.492334 -vt 0.233131 0.585401 -vt 0.163002 0.534604 -vt 0.201801 0.559933 -vt 0.214292 0.566323 -vt 0.163001 0.558540 -vt 0.163002 0.713030 -vt 0.374624 0.755301 -vt 0.201802 0.687701 -vt 0.233131 0.662233 -vt 0.214292 0.681311 -vt 0.224639 0.672712 -vt 0.163001 0.689094 -vt 0.224639 0.574922 -vt 0.239440 0.597355 -vt 0.239441 0.650279 -vt 0.243378 0.610327 -vt 0.230694 0.573770 -vt 0.233303 0.645543 -vt 0.375075 0.781316 -vt 0.361674 0.796171 -vt 0.327846 0.759794 -vt 0.347413 0.724967 -vt 0.343491 0.805782 -vt 0.328675 0.809783 -vt 0.274738 0.809783 -vt 0.291721 0.767606 -vt 0.278486 0.765328 -vt 0.292435 0.495930 -vt 0.261399 0.533340 -vt 0.271312 0.452591 -vt 0.326340 0.480407 -vt 0.337764 0.477312 -vt 0.338382 0.752308 -vt 0.188021 0.543602 -vt 0.009729 0.446884 -vt 0.214419 0.170115 -vt 0.214419 0.229847 -vt 0.178978 0.184821 -vt 0.197813 0.150394 -vt 0.232488 0.109666 -vt 0.238571 0.261723 -vt 0.197818 0.221995 -vt 0.198793 0.203902 -s 1 -f 705/1155/972 707/1156/973 708/1157/974 -f 708/1157/974 709/1158/975 710/1159/976 -f 710/1159/976 711/1160/977 712/1161/978 -f 712/1161/978 713/1162/979 714/1163/980 -f 714/1163/980 715/1164/981 716/1165/982 -f 716/1165/982 717/1166/983 718/1167/984 -f 719/1168/985 721/1169/986 722/1170/987 -f 721/1169/986 724/1171/988 722/1170/987 -f 723/1172/989 726/1173/990 724/1171/988 -f 726/1173/990 727/1174/991 728/1175/992 -f 728/1175/992 729/1176/993 730/1177/994 -f 729/1176/993 732/1178/995 730/1177/994 -f 731/1179/996 734/1180/997 732/1178/995 -f 733/1181/998 736/1182/999 734/1180/1000 -f 735/1183/1001 738/1184/1002 736/1182/999 -f 737/1185/1003 740/1186/1004 738/1184/1002 -f 739/1187/1005 742/1188/1006 740/1186/1004 -f 742/1188/1006 743/1189/1007 744/1190/1008 -f 744/1190/1008 745/1191/1009 746/1192/1010 -f 746/1192/1010 747/1193/1011 748/1194/1012 -f 748/1194/1012 749/1195/1013 750/1196/1014 -f 750/1196/1015 751/1197/1016 752/1198/1017 -f 752/1198/1017 753/1199/1018 754/1200/1019 -f 753/1199/1018 756/1201/1020 754/1200/1019 -f 755/1202/1021 705/1155/972 756/1201/1020 -f 758/1203/1022 760/1204/1023 757/1205/1024 -f 761/1206/1025 763/1207/1026 759/1208/1027 -f 728/1175/992 764/1209/1028 765/1210/1029 -f 748/1194/1012 767/1211/1030 746/1192/1010 -f 714/1163/980 768/1212/1031 769/1213/1032 -f 722/1170/987 771/1214/1033 719/1168/985 -f 738/1184/1002 772/1215/1034 773/1216/1035 -f 708/1157/974 775/1217/1036 705/1155/972 -f 705/1155/972 776/1218/1037 756/1201/1020 -f 758/1203/1022 761/1206/1025 759/1208/1027 -f 730/1177/994 778/1219/1038 764/1209/1028 -f 750/1196/1015 766/1220/1039 748/1194/1012 -f 718/1167/984 768/1212/1031 716/1165/982 -f 724/1171/988 770/1221/1040 722/1170/987 -f 740/1186/1004 782/1222/1041 772/1215/1034 -f 708/1157/974 783/1223/1042 774/1224/1043 -f 777/1225/1044 785/1226/1045 761/1206/1025 -f 732/1178/995 786/1227/1046 778/1219/1038 -f 752/1198/1017 779/1228/1047 750/1196/1015 -f 788/1229/1048 780/1230/1049 718/1167/984 -f 724/1171/988 790/1231/1050 781/1232/1051 -f 742/1188/1006 791/1233/1052 782/1222/1041 -f 710/1159/976 792/1234/1053 783/1223/1042 -f 793/1235/1054 785/1226/1045 784/1236/1055 -f 734/1180/997 795/1237/1056 786/1227/1046 -f 754/1200/1019 787/1238/1057 752/1198/1017 -f 757/1205/1024 789/1239/1058 788/1229/1048 -f 726/1173/990 765/1210/1029 790/1231/1050 -f 744/1190/1008 767/1211/1030 791/1233/1052 -f 712/1161/978 769/1213/1032 792/1234/1053 -f 719/1168/985 794/1240/1059 793/1241/1054 -f 736/1182/999 773/1216/1035 795/1237/1056 -f 756/1201/1020 796/1242/1060 754/1200/1019 -f 798/1243/1061 800/1244/1062 797/1245/1063 -f 772/1215/1034 801/1246/1064 802/1247/1065 -f 785/1226/1045 762/1248/1066 761/1206/1025 -f 782/1222/1041 804/1249/1067 801/1246/1064 -f 794/1250/1059 803/1251/1068 785/1226/1045 -f 791/1233/1052 805/1252/1069 804/1249/1067 -f 771/1214/1033 797/1245/1063 794/1240/1059 -f 766/1220/1039 805/1252/1069 767/1211/1030 -f 770/1221/1040 798/1243/1061 771/1214/1033 -f 775/1217/1036 808/1253/1070 809/1254/1071 -f 766/1220/1039 810/1255/1072 806/1256/1073 -f 781/1232/1051 807/1257/1074 770/1221/1040 -f 774/1224/1043 812/1258/1075 808/1253/1070 -f 779/1228/1047 813/1259/1076 810/1255/1072 -f 790/1231/1050 811/1260/1077 781/1232/1051 -f 783/1223/1042 815/1261/1078 812/1258/1075 -f 787/1238/1057 816/1262/1079 813/1259/1076 -f 765/1210/1029 814/1263/1080 790/1231/1050 -f 792/1234/1053 818/1264/1081 815/1261/1078 -f 796/1242/1060 819/1265/1082 816/1262/1079 -f 764/1209/1028 817/1266/1083 765/1210/1029 -f 769/1213/1032 821/1267/1084 818/1264/1081 -f 776/1218/1037 809/1254/1071 819/1265/1082 -f 778/1219/1038 820/1268/1085 764/1209/1028 -f 768/1212/1031 823/1269/1086 821/1267/1084 -f 786/1227/1046 822/1270/1087 778/1219/1038 -f 780/1230/1049 825/1271/1088 823/1269/1086 -f 795/1237/1056 824/1272/1089 786/1227/1046 -f 760/1204/1023 825/1271/1088 789/1239/1058 -f 773/1216/1035 826/1273/1090 795/1237/1056 -f 759/1208/1027 827/1274/1091 760/1204/1023 -f 773/1216/1035 802/1247/1065 828/1275/1092 -f 830/1276/1093 832/1277/1094 829/1278/1095 -f 805/1252/1069 833/1279/1096 834/1280/1097 -f 807/1257/1074 799/1281/1098 798/1243/1061 -f 809/1254/1071 836/1282/1099 837/1283/1100 -f 806/1256/1073 838/1284/1101 833/1279/1096 -f 811/1260/1077 835/1285/1102 807/1257/1074 -f 808/1253/1070 839/1286/1103 836/1282/1099 -f 810/1255/1072 840/1287/1104 838/1284/1101 -f 814/1263/1080 829/1278/1095 811/1260/1077 -f 812/1258/1075 841/1288/1105 839/1286/1103 -f 813/1259/1076 842/1289/1106 840/1287/1104 -f 817/1266/1083 830/1276/1093 814/1263/1080 -f 815/1261/1078 844/1290/1107 841/1288/1105 -f 816/1262/1079 845/1291/1108 842/1289/1106 -f 820/1268/1085 843/1292/1109 817/1266/1083 -f 818/1264/1081 847/1293/1110 844/1290/1107 -f 819/1265/1082 837/1283/1100 845/1291/1108 -f 822/1270/1087 846/1294/1111 820/1268/1085 -f 821/1267/1084 849/1295/1112 847/1293/1110 -f 824/1272/1089 848/1296/1113 822/1270/1087 -f 823/1269/1086 851/1297/1114 849/1295/1112 -f 826/1273/1090 850/1298/1115 824/1272/1089 -f 825/1271/1088 853/1299/1116 851/1297/1114 -f 828/1275/1092 852/1300/1117 826/1273/1090 -f 763/1207/1026 853/1299/1116 827/1274/1091 -f 828/1275/1092 856/1301/1118 854/1302/1119 -f 762/1248/1066 855/1303/1120 763/1207/1026 -f 802/1247/1065 858/1304/1121 856/1301/1118 -f 803/1251/1068 857/1305/1122 762/1248/1066 -f 804/1249/1067 858/1304/1121 801/1246/1064 -f 797/1306/1063 859/1307/1123 803/1251/1068 -f 805/1252/1069 860/1308/1124 804/1249/1067 -f 862/1309/1125 864/1310/1126 861/1311/1127 -f 839/1286/1103 865/1312/1128 866/1313/1129 -f 840/1287/1104 867/1314/1130 868/1315/1131 -f 843/1292/1109 831/1316/1132 830/1276/1093 -f 841/1288/1105 870/1317/1133 865/1312/1128 -f 842/1289/1106 871/1318/1134 867/1314/1130 -f 846/1294/1111 869/1319/1135 843/1292/1109 -f 844/1290/1107 872/1320/1136 870/1317/1133 -f 845/1291/1108 873/1321/1137 871/1318/1134 -f 848/1296/1113 861/1311/1127 846/1294/1111 -f 847/1293/1110 874/1322/1138 872/1320/1136 -f 850/1298/1115 862/1309/1125 848/1296/1113 -f 849/1295/1112 876/1323/1139 874/1322/1138 -f 852/1300/1117 875/1324/1140 850/1298/1115 -f 851/1297/1114 878/1325/1141 876/1323/1139 -f 854/1302/1119 877/1326/1142 852/1300/1117 -f 855/1303/1120 878/1325/1141 853/1299/1116 -f 854/1302/1119 881/1327/1143 879/1328/1144 -f 857/1305/1122 880/1329/1145 855/1303/1120 -f 856/1301/1118 883/1330/1146 881/1327/1143 -f 859/1307/1123 882/1331/1147 857/1305/1122 -f 860/1308/1124 883/1330/1146 858/1304/1121 -f 800/1332/1062 884/1333/1148 859/1307/1123 -f 860/1308/1124 887/1334/1149 885/1335/1150 -f 799/1281/1098 886/1336/1151 800/1244/1062 -f 834/1280/1097 889/1337/1152 887/1334/1149 -f 835/1285/1102 888/1338/1153 799/1281/1098 -f 837/1283/1100 891/1339/1154 873/1321/1137 -f 833/1279/1096 892/1340/1155 889/1337/1152 -f 829/1278/1095 890/1341/1156 835/1285/1102 -f 836/1282/1099 866/1313/1129 891/1339/1154 -f 838/1284/1101 868/1315/1131 892/1340/1155 -f 894/1342/1157 896/1343/1158 893/1344/1159 -f 872/1320/1136 897/1345/1160 898/1346/1161 -f 875/1324/1140 863/1347/1162 862/1309/1125 -f 874/1322/1138 900/1348/1163 897/1345/1160 -f 877/1326/1142 899/1349/1164 875/1324/1140 -f 876/1323/1139 901/1350/1165 900/1348/1163 -f 879/1328/1144 893/1344/1159 877/1326/1142 -f 880/1329/1145 901/1350/1165 878/1325/1141 -f 881/1327/1143 894/1342/1157 879/1328/1144 -f 882/1331/1147 902/1351/1166 880/1329/1145 -f 881/1327/1143 905/1352/1167 903/1353/1168 -f 884/1333/1148 904/1354/1169 882/1331/1147 -f 883/1330/1146 907/1355/1170 905/1352/1167 -f 886/1356/1151 906/1357/1171 884/1333/1148 -f 885/1335/1150 909/1358/1172 907/1355/1170 -f 888/1338/1153 908/1359/1173 886/1336/1151 -f 887/1334/1149 911/1360/1174 909/1358/1172 -f 890/1341/1156 910/1361/1175 888/1338/1153 -f 873/1321/1137 913/1362/1176 914/1363/1177 -f 889/1337/1152 915/1364/1178 911/1360/1174 -f 832/1277/1094 912/1365/1179 890/1341/1156 -f 891/1339/1154 917/1366/1180 913/1362/1176 -f 892/1340/1155 918/1367/1181 915/1364/1178 -f 831/1316/1132 916/1368/1182 832/1277/1094 -f 866/1313/1129 920/1369/1183 917/1366/1180 -f 868/1315/1131 921/1370/1184 918/1367/1181 -f 869/1319/1135 919/1371/1185 831/1316/1132 -f 865/1312/1128 923/1372/1186 920/1369/1183 -f 867/1314/1130 924/1373/1187 921/1370/1184 -f 861/1311/1127 922/1374/1188 869/1319/1135 -f 870/1317/1133 898/1346/1161 923/1372/1186 -f 871/1318/1134 914/1363/1177 924/1373/1187 -f 925/1375/1189 927/1376/1190 928/1377/1191 -f 902/1351/1166 930/1378/1192 901/1350/1165 -f 903/1353/1168 895/1379/1193 894/1342/1157 -f 904/1354/1169 929/1380/1194 902/1351/1166 -f 905/1352/1167 931/1381/1195 903/1353/1168 -f 906/1357/1171 932/1382/1196 904/1354/1169 -f 905/1352/1167 926/1383/1197 925/1375/1189 -f 908/1384/1173 933/1385/1198 906/1357/1171 -f 907/1355/1170 935/1386/1199 926/1383/1197 -f 910/1361/1175 934/1387/1200 908/1359/1173 -f 909/1358/1172 937/1388/1201 935/1386/1199 -f 912/1365/1179 936/1389/1202 910/1361/1175 -f 914/1363/1177 939/1390/1203 940/1391/1204 -f 911/1360/1174 941/1392/1205 937/1388/1201 -f 916/1368/1182 938/1393/1206 912/1365/1179 -f 913/1362/1176 943/1394/1207 939/1390/1203 -f 915/1364/1178 944/1395/1208 941/1392/1205 -f 919/1371/1185 942/1396/1209 916/1368/1182 -f 917/1366/1180 946/1397/1210 943/1394/1207 -f 918/1367/1181 947/1398/1211 944/1395/1208 -f 922/1374/1188 945/1399/1212 919/1371/1185 -f 920/1369/1183 949/1400/1213 946/1397/1210 -f 921/1370/1184 950/1401/1214 947/1398/1211 -f 864/1310/1126 948/1402/1215 922/1374/1188 -f 923/1372/1186 952/1403/1216 949/1400/1213 -f 924/1373/1187 940/1391/1204 950/1401/1214 -f 863/1347/1162 951/1404/1217 864/1310/1126 -f 898/1346/1161 954/1405/1218 952/1403/1216 -f 899/1349/1164 953/1406/1219 863/1347/1162 -f 897/1345/1160 956/1407/1220 954/1405/1218 -f 893/1344/1159 955/1408/1221 899/1349/1164 -f 900/1348/1163 930/1378/1192 956/1407/1220 -f 957/1409/1222 959/1410/1223 960/1411/1224 -f 934/1412/1200 962/1413/1225 933/1385/1198 -f 926/1383/1197 963/1414/1226 927/1376/1190 -f 936/1389/1202 961/1415/1227 934/1387/1200 -f 935/1386/1199 965/1416/1228 963/1414/1226 -f 938/1393/1206 964/1417/1229 936/1389/1202 -f 940/1391/1204 967/1418/1230 968/1419/1231 -f 937/1388/1201 969/1420/1232 965/1416/1228 -f 942/1396/1209 966/1421/1233 938/1393/1206 -f 939/1390/1203 971/1422/1234 967/1418/1230 -f 941/1392/1205 972/1423/1235 969/1420/1232 -f 945/1399/1212 970/1424/1236 942/1396/1209 -f 943/1394/1207 974/1425/1237 971/1422/1234 -f 944/1395/1208 975/1426/1238 972/1423/1235 -f 948/1402/1215 973/1427/1239 945/1399/1212 -f 946/1397/1210 977/1428/1240 974/1425/1237 -f 947/1398/1211 978/1429/1241 975/1426/1238 -f 951/1404/1217 976/1430/1242 948/1402/1215 -f 949/1400/1213 980/1431/1243 977/1428/1240 -f 950/1401/1214 968/1419/1231 978/1429/1241 -f 953/1406/1219 979/1432/1244 951/1404/1217 -f 952/1403/1216 982/1433/1245 980/1431/1243 -f 955/1408/1221 981/1434/1246 953/1406/1219 -f 954/1405/1218 957/1409/1222 982/1433/1245 -f 896/1343/1158 983/1435/1247 955/1408/1221 -f 956/1407/1220 958/1436/1248 957/1409/1222 -f 895/1379/1193 984/1437/1249 896/1343/1158 -f 929/1380/1194 958/1436/1248 930/1378/1192 -f 931/1381/1195 985/1438/1250 895/1379/1193 -f 932/1382/1196 986/1439/1251 929/1380/1194 -f 925/1375/1189 987/1440/1252 931/1381/1195 -f 933/1385/1198 988/1441/1253 932/1382/1196 -f 990/1442/1254 992/1443/1255 989/1444/1256 -f 985/1438/1250 994/1445/1257 984/1437/1249 -f 986/1439/1251 959/1410/1223 958/1436/1248 -f 987/1440/1252 993/1446/1258 985/1438/1250 -f 988/1441/1253 995/1447/1259 986/1439/1251 -f 928/1377/1191 996/1448/1260 987/1440/1252 -f 962/1413/1225 989/1444/1256 988/1441/1253 -f 928/1377/1191 998/1449/1261 997/1450/1262 -f 961/1451/1227 990/1442/1254 962/1413/1225 -f 927/1376/1190 1000/1452/1263 998/1449/1261 -f 964/1417/1229 999/1453/1264 961/1415/1227 -f 963/1414/1226 1002/1454/1265 1000/1452/1263 -f 966/1421/1233 1001/1455/1266 964/1417/1229 -f 968/1419/1231 1004/1456/1267 1005/1457/1268 -f 965/1416/1228 1006/1458/1269 1002/1454/1265 -f 970/1424/1236 1003/1459/1270 966/1421/1233 -f 967/1418/1230 1008/1460/1271 1004/1456/1267 -f 969/1420/1232 1009/1461/1272 1006/1458/1269 -f 973/1427/1239 1007/1462/1273 970/1424/1236 -f 971/1422/1234 1011/1463/1274 1008/1460/1271 -f 972/1423/1235 1012/1464/1275 1009/1461/1272 -f 976/1430/1242 1010/1465/1276 973/1427/1239 -f 974/1425/1237 1014/1466/1277 1011/1463/1274 -f 975/1426/1238 1015/1467/1278 1012/1464/1275 -f 979/1432/1244 1013/1468/1279 976/1430/1242 -f 977/1428/1240 1017/1469/1280 1014/1466/1277 -f 978/1429/1241 1005/1457/1268 1015/1467/1278 -f 981/1434/1246 1016/1470/1281 979/1432/1244 -f 980/1431/1243 1019/1471/1282 1017/1469/1280 -f 983/1435/1247 1018/1472/1283 981/1434/1246 -f 982/1433/1245 960/1411/1224 1019/1471/1282 -f 984/1437/1249 1020/1473/1284 983/1435/1247 -f 1022/1474/1285 1024/1475/1286 1021/1476/1287 -f 997/1450/1262 1025/1477/1288 1026/1478/1289 -f 999/1479/1264 991/1480/1290 990/1442/1254 -f 998/1449/1261 1028/1481/1291 1025/1477/1288 -f 1001/1455/1266 1027/1482/1292 999/1453/1264 -f 1000/1452/1263 1029/1483/1293 1028/1481/1291 -f 1003/1459/1270 1021/1476/1287 1001/1455/1266 -f 1005/1457/1268 1030/1484/1294 1031/1485/1295 -f 1002/1454/1265 1032/1486/1296 1029/1483/1293 -f 1007/1462/1273 1022/1474/1285 1003/1459/1270 -f 1004/1456/1267 1034/1487/1297 1030/1484/1294 -f 1006/1458/1269 1035/1488/1298 1032/1486/1296 -f 1010/1465/1276 1033/1489/1299 1007/1462/1273 -f 1008/1460/1271 1037/1490/1300 1034/1487/1297 -f 1009/1461/1272 1038/1491/1301 1035/1488/1298 -f 1013/1468/1279 1036/1492/1302 1010/1465/1276 -f 1011/1463/1274 1040/1493/1303 1037/1490/1300 -f 1012/1464/1275 1041/1494/1304 1038/1491/1301 -f 1016/1470/1281 1039/1495/1305 1013/1468/1279 -f 1014/1466/1277 1043/1496/1306 1040/1493/1303 -f 1015/1467/1278 1031/1485/1295 1041/1494/1304 -f 1018/1472/1283 1042/1497/1307 1016/1470/1281 -f 1017/1469/1280 1045/1498/1308 1043/1496/1306 -f 1020/1473/1284 1044/1499/1309 1018/1472/1283 -f 1019/1471/1282 1047/1500/1310 1045/1498/1308 -f 994/1445/1257 1046/1501/1311 1020/1473/1284 -f 960/1411/1224 1049/1502/1312 1047/1500/1310 -f 993/1446/1258 1048/1503/1313 994/1445/1257 -f 995/1447/1259 1049/1502/1312 959/1410/1223 -f 996/1448/1260 1050/1504/1314 993/1446/1258 -f 989/1444/1256 1051/1505/1315 995/1447/1259 -f 997/1450/1262 1052/1506/1316 996/1448/1260 -f 1054/1507/1317 1056/1508/1318 1053/1509/1319 -f 1031/1485/1295 1057/1510/1320 1058/1511/1321 -f 1029/1483/1293 1059/1512/1322 1060/1513/1323 -f 1033/1489/1299 1023/1514/1324 1022/1474/1285 -f 1030/1484/1294 1062/1515/1325 1057/1510/1320 -f 1032/1486/1296 1063/1516/1326 1059/1512/1322 -f 1036/1492/1302 1061/1517/1327 1033/1489/1299 -f 1034/1487/1297 1064/1518/1328 1062/1515/1325 -f 1035/1488/1298 1065/1519/1329 1063/1516/1326 -f 1039/1495/1305 1053/1509/1319 1036/1492/1302 -f 1037/1490/1300 1066/1520/1330 1064/1518/1328 -f 1038/1491/1301 1067/1521/1331 1065/1519/1329 -f 1042/1497/1307 1054/1507/1317 1039/1495/1305 -f 1040/1493/1303 1069/1522/1332 1066/1520/1330 -f 1041/1494/1304 1058/1511/1321 1067/1521/1331 -f 1044/1499/1309 1068/1523/1333 1042/1497/1307 -f 1043/1496/1306 1071/1524/1334 1069/1522/1332 -f 1046/1501/1311 1070/1525/1335 1044/1499/1309 -f 1045/1498/1308 1073/1526/1336 1071/1524/1334 -f 1048/1503/1313 1072/1527/1337 1046/1501/1311 -f 1047/1500/1310 1075/1528/1338 1073/1526/1336 -f 1050/1504/1314 1074/1529/1339 1048/1503/1313 -f 1051/1505/1315 1075/1528/1338 1049/1502/1312 -f 1052/1506/1316 1076/1530/1340 1050/1504/1314 -f 992/1443/1255 1077/1531/1341 1051/1505/1315 -f 1026/1478/1289 1078/1532/1342 1052/1506/1316 -f 991/1480/1290 1079/1533/1343 992/1443/1255 -f 1026/1478/1289 1082/1534/1344 1080/1535/1345 -f 1027/1536/1292 1081/1537/1346 991/1480/1290 -f 1025/1477/1288 1084/1538/1347 1082/1534/1344 -f 1021/1476/1287 1083/1539/1348 1027/1482/1292 -f 1028/1481/1291 1060/1513/1323 1084/1538/1347 -f 1086/1540/1349 1088/1541/1350 1085/1542/1351 -f 1064/1518/1328 1089/1543/1352 1090/1544/1353 -f 1065/1519/1329 1091/1545/1354 1092/1546/1355 -f 1068/1523/1333 1055/1547/1356 1054/1507/1317 -f 1066/1520/1330 1094/1548/1357 1089/1543/1352 -f 1067/1521/1331 1095/1549/1358 1091/1545/1354 -f 1070/1525/1335 1093/1550/1359 1068/1523/1333 -f 1069/1522/1332 1096/1551/1360 1094/1548/1357 -f 1072/1527/1337 1085/1542/1351 1070/1525/1335 -f 1071/1524/1334 1097/1552/1361 1096/1551/1360 -f 1074/1529/1339 1086/1540/1349 1072/1527/1337 -f 1073/1526/1336 1099/1553/1362 1097/1552/1361 -f 1076/1530/1340 1098/1554/1363 1074/1529/1339 -f 1077/1531/1341 1099/1553/1362 1075/1528/1338 -f 1078/1532/1342 1100/1555/1364 1076/1530/1340 -f 1079/1533/1343 1101/1556/1365 1077/1531/1341 -f 1080/1535/1345 1102/1557/1366 1078/1532/1342 -f 1081/1537/1346 1103/1558/1367 1079/1533/1343 -f 1080/1535/1345 1106/1559/1368 1104/1560/1369 -f 1083/1561/1348 1105/1562/1370 1081/1537/1346 -f 1082/1534/1344 1108/1563/1371 1106/1559/1368 -f 1024/1475/1286 1107/1564/1372 1083/1539/1348 -f 1084/1538/1347 1110/1565/1373 1108/1563/1371 -f 1023/1514/1324 1109/1566/1374 1024/1475/1286 -f 1058/1511/1321 1112/1567/1375 1095/1549/1358 -f 1060/1513/1323 1113/1568/1376 1110/1565/1373 -f 1061/1517/1327 1111/1569/1377 1023/1514/1324 -f 1057/1510/1320 1115/1570/1378 1112/1567/1375 -f 1059/1512/1322 1116/1571/1379 1113/1568/1376 -f 1053/1509/1319 1114/1572/1380 1061/1517/1327 -f 1062/1515/1325 1090/1544/1353 1115/1570/1378 -f 1063/1516/1326 1092/1546/1355 1116/1571/1379 -f 1118/1573/1381 1120/1574/1382 1117/1575/1383 -f 1096/1551/1360 1121/1576/1384 1122/1577/1385 -f 1098/1554/1363 1087/1578/1386 1086/1540/1349 -f 1097/1552/1361 1124/1579/1387 1121/1576/1384 -f 1100/1555/1364 1123/1580/1388 1098/1554/1363 -f 1101/1556/1365 1124/1579/1387 1099/1553/1362 -f 1102/1557/1366 1117/1575/1383 1100/1555/1364 -f 1103/1558/1367 1125/1581/1389 1101/1556/1365 -f 1104/1560/1369 1118/1573/1381 1102/1557/1366 -f 1105/1562/1370 1126/1582/1390 1103/1558/1367 -f 1104/1560/1369 1129/1583/1391 1127/1584/1392 -f 1107/1585/1372 1128/1586/1393 1105/1562/1370 -f 1106/1559/1368 1131/1587/1394 1129/1583/1391 -f 1109/1566/1374 1130/1588/1395 1107/1564/1372 -f 1108/1563/1371 1133/1589/1396 1131/1587/1394 -f 1111/1569/1377 1132/1590/1397 1109/1566/1374 -f 1095/1549/1358 1135/1591/1398 1136/1592/1399 -f 1110/1565/1373 1137/1593/1400 1133/1589/1396 -f 1114/1572/1380 1134/1594/1401 1111/1569/1377 -f 1112/1567/1375 1139/1595/1402 1135/1591/1398 -f 1113/1568/1376 1140/1596/1403 1137/1593/1400 -f 1056/1508/1318 1138/1597/1404 1114/1572/1380 -f 1115/1570/1378 1142/1598/1405 1139/1595/1402 -f 1116/1571/1379 1143/1599/1406 1140/1596/1403 -f 1055/1547/1356 1141/1600/1407 1056/1508/1318 -f 1090/1544/1353 1145/1601/1408 1142/1598/1405 -f 1092/1546/1355 1146/1602/1409 1143/1599/1406 -f 1093/1550/1359 1144/1603/1410 1055/1547/1356 -f 1089/1543/1352 1148/1604/1411 1145/1601/1408 -f 1091/1545/1354 1136/1592/1399 1146/1602/1409 -f 1085/1542/1351 1147/1605/1412 1093/1550/1359 -f 1094/1548/1357 1122/1577/1385 1148/1604/1411 -f 1126/1582/1390 1150/1606/1413 1125/1581/1389 -f 1127/1584/1392 1119/1607/1414 1118/1573/1381 -f 1128/1586/1393 1149/1608/1415 1126/1582/1390 -f 1127/1584/1392 1153/1609/1416 1151/1610/1417 -f 1130/1611/1395 1152/1612/1418 1128/1586/1393 -f 1129/1583/1391 1155/1613/1419 1153/1609/1416 -f 1132/1590/1397 1154/1614/1420 1130/1588/1395 -f 1131/1587/1394 1157/1615/1421 1155/1613/1419 -f 1134/1594/1401 1156/1616/1422 1132/1590/1397 -f 1136/1592/1399 1159/1617/1423 1160/1618/1424 -f 1133/1589/1396 1161/1619/1425 1157/1615/1421 -f 1138/1597/1404 1158/1620/1426 1134/1594/1401 -f 1135/1591/1398 1163/1621/1427 1159/1617/1423 -f 1137/1593/1400 1164/1622/1428 1161/1619/1425 -f 1141/1600/1407 1162/1623/1429 1138/1597/1404 -f 1139/1595/1402 1166/1624/1430 1163/1621/1427 -f 1140/1596/1403 1167/1625/1431 1164/1622/1428 -f 1144/1603/1410 1165/1626/1432 1141/1600/1407 -f 1142/1598/1405 1169/1627/1433 1166/1624/1430 -f 1143/1599/1406 1170/1628/1434 1167/1625/1431 -f 1147/1605/1412 1168/1629/1435 1144/1603/1410 -f 1145/1601/1408 1172/1630/1436 1169/1627/1433 -f 1146/1602/1409 1160/1618/1424 1170/1628/1434 -f 1088/1541/1350 1171/1631/1437 1147/1605/1412 -f 1148/1604/1411 1174/1632/1438 1172/1630/1436 -f 1087/1578/1386 1173/1633/1439 1088/1541/1350 -f 1122/1577/1385 1176/1634/1440 1174/1632/1438 -f 1123/1580/1388 1175/1635/1441 1087/1578/1386 -f 1121/1576/1384 1178/1636/1442 1176/1634/1440 -f 1117/1575/1383 1177/1637/1443 1123/1580/1388 -f 1125/1581/1389 1178/1636/1442 1124/1579/1387 -f 1150/1638/1444 1156/1639/1444 1166/1640/1444 -f 1180/1641/1445 1182/1642/1445 1179/1643/1446 -f 1182/1644/1447 733/1645/1447 1183/1646/1447 -f 1183/1647/1448 1188/1648/1448 1184/1649/1448 -f 1188/1650/1449 1187/1651/1449 1181/1652/1449 -f 1193/1653/1450 1192/1654/1450 1191/1655/1450 -f 1195/1656/1451 1197/1657/1451 1196/1658/1451 -f 1199/1659/1452 1186/1660/1452 1193/1661/1452 -f 1185/1662/1452 1194/1663/1452 1200/1664/1452 -f 1183/1665/1448 1189/1666/1453 1187/1667/1448 -f 1181/1668/1445 749/1669/1452 1182/1670/1445 -f 1202/1671/1451 1204/1672/1451 1201/1673/1451 -f 1208/1674/1454 1205/1675/1455 1207/1676/1456 -f 1210/1677/1450 1211/1678/1450 1212/1679/1450 -f 1202/1680/1457 1201/1681/1453 1214/1682/1458 -f 1214/1683/1459 1201/1673/1460 1208/1684/1461 -f 1217/1685/1462 1205/1686/1463 1213/1687/1464 -f 1220/1688/1453 1222/1689/1453 1209/1690/1453 -f 1223/1691/1447 1226/1692/1447 1228/1693/1447 -f 1218/1694/1453 1223/1691/1453 1219/1695/1453 -f 1216/1696/1452 1225/1697/1452 1217/1698/1452 -f 1210/1677/1452 1227/1699/1452 1215/1700/1452 -f 1219/1695/1465 1221/1701/1465 1220/1688/1465 -f 1217/1698/1450 1224/1702/1450 1218/1694/1450 -f 1215/1700/1466 1226/1692/1466 1216/1696/1466 -f 1209/1690/1451 1228/1693/1451 1210/1677/1451 -f 1203/1703/1467 1229/1704/1468 1202/1705/1467 -f 1230/1706/1469 1231/1707/1470 1229/1708/1468 -f 1230/1709/1471 1204/1710/1472 1232/1711/1473 -f 1201/1712/1474 1229/1713/1475 1231/1714/1476 -f 1236/1715/1477 1237/1716/1478 1238/1717/1479 -f 1237/1718/1480 1186/1719/1481 1238/1720/1482 -f 1185/1721/1483 1234/1722/1484 1233/1723/1485 -f 1235/1724/1486 1234/1725/1487 1194/1726/1488 -f 1242/1727/1489 1240/1728/1490 1239/1729/1489 -f 1197/1730/1491 1244/1731/1492 1243/1732/1493 -f 1246/1733/1452 1245/1734/1452 1238/1735/1452 -f 1247/1736/1453 1240/1737/1490 1233/1738/1453 -f 1250/1739/1494 1235/1740/1495 1236/1741/1496 -f 1251/1742/1497 1253/1743/1498 1252/1744/1499 -f 1249/1745/1500 1247/1746/1501 1248/1747/1502 -f 1235/1740/1495 1248/1747/1502 1234/1748/1503 -f 1246/1749/1504 1250/1739/1494 1245/1750/1505 -f 1245/1750/1505 1236/1741/1496 1237/1751/1506 -f 1249/1745/1500 1256/1752/1507 1255/1753/1508 -f 1260/1754/1509 1258/1755/1510 1257/1756/1511 -f 1259/1757/1512 1261/1758/1513 1258/1755/1510 -f 1262/1759/1514 1263/1760/1515 1261/1758/1513 -f 1242/1761/1451 1239/1762/1451 1268/1763/1451 -f 1256/1752/1507 1269/1764/1516 1255/1753/1508 -f 1246/1749/1504 1270/1765/1517 1256/1752/1507 -f 1272/1766/1518 1267/1767/1519 1268/1768/1520 -f 1269/1764/1516 1247/1746/1501 1255/1753/1508 -f 1264/1769/1521 1271/1770/1522 1263/1760/1515 -f 1252/1744/1499 1275/1771/1523 1274/1772/1524 -f 1195/1773/1525 1254/1774/1526 1251/1742/1497 -f 1274/1772/1524 1277/1775/1527 1276/1776/1528 -f 1276/1776/1528 1279/1777/1529 1278/1778/1530 -f 1278/1778/1530 1281/1779/1531 1280/1780/1532 -f 1280/1780/1532 1283/1781/1451 1282/1782/1451 -f 1283/1781/1451 1284/1783/1533 1282/1782/1451 -f 1285/1784/1534 1257/1756/1511 1284/1783/1533 -f 1286/1785/1535 1288/1786/1536 1289/1787/1537 -f 1291/1788/1538 1293/1789/1539 1290/1790/1540 -f 1286/1785/1535 1295/1791/1541 1294/1792/1542 -f 1290/1790/1540 1297/1793/1543 1296/1794/1544 -f 1298/1795/1545 1294/1792/1542 1295/1791/1541 -f 1299/1796/1546 1297/1793/1543 1300/1797/1547 -f 1301/1798/1449 1300/1797/1547 1302/1799/1548 -f 1301/1798/1449 1304/1800/1549 1303/1801/1550 -f 1305/1802/1551 1306/1803/1552 1307/1804/1553 -f 1303/1801/1550 1309/1805/1554 1308/1806/1555 -f 1305/1802/1551 1311/1807/1556 1310/1808/1557 -f 1287/1809/1558 1309/1805/1554 1288/1786/1536 -f 1291/1788/1538 1311/1807/1556 1292/1810/1559 -f 1309/1805/1554 1313/1811/1560 1288/1786/1536 -f 1289/1787/1537 1288/1786/1536 1313/1811/1560 -f 1293/1789/1539 1292/1812/1559 1314/1813/1561 -f 1297/1793/1543 1314/1813/1561 1315/1814/1562 -f 1298/1815/1545 1295/1816/1541 1316/1817/1563 -f 1300/1797/1547 1315/1814/1562 1317/1818/1564 -f 1298/1815/1545 1319/1819/1565 1318/1820/1566 -f 1302/1799/1548 1317/1818/1564 1320/1821/1567 -f 1302/1799/1548 1321/1822/1568 1304/1800/1549 -f 1307/1804/1553 1306/1803/1552 1322/1823/1569 -f 1304/1800/1549 1312/1824/1570 1309/1805/1554 -f 1320/1821/1567 1323/1825/1571 1324/1826/1572 -f 1320/1821/1567 1325/1827/1573 1321/1822/1568 -f 1321/1822/1568 1326/1828/1574 1312/1824/1570 -f 1311/1829/1556 1307/1830/1553 1327/1831/1575 -f 1312/1824/1570 1328/1832/1576 1313/1811/1560 -f 1292/1812/1559 1311/1829/1556 1327/1831/1575 -f 1289/1833/1537 1313/1811/1560 1328/1832/1576 -f 1314/1813/1561 1292/1834/1559 1329/1835/1577 -f 1315/1814/1562 1329/1835/1577 1330/1836/1578 -f 1317/1818/1564 1330/1836/1578 1323/1825/1571 -f 1327/1831/1575 1332/1837/1579 1292/1834/1559 -f 1328/1832/1576 1334/1838/1580 1289/1839/1537 -f 1329/1835/1577 1332/1837/1579 1335/1840/1581 -f 1289/1839/1537 1336/1841/1582 1295/1842/1541 -f 1330/1836/1578 1335/1840/1581 1337/1843/1583 -f 1316/1844/1563 1295/1842/1541 1336/1841/1582 -f 1323/1825/1571 1337/1843/1583 1338/1845/1584 -f 1324/1826/1572 1338/1845/1584 1339/1846/1585 -f 1324/1826/1572 1340/1847/1586 1325/1827/1573 -f 1325/1827/1573 1341/1848/1587 1326/1828/1574 -f 1327/1831/1575 1307/1849/1553 1331/1850/1588 -f 1326/1828/1574 1333/1851/1589 1328/1832/1576 -f 1339/1846/1585 1342/1852/1590 1343/1853/1591 -f 1339/1846/1585 1344/1854/1592 1340/1847/1586 -f 1307/1849/1553 1322/1855/1593 1345/1856/1594 -f 1341/1848/1587 1344/1854/1592 1346/1857/1595 -f 1331/1850/1588 1307/1849/1553 1345/1856/1594 -f 1333/1851/1589 1341/1848/1587 1346/1857/1595 -f 1332/1837/1579 1331/1858/1588 1347/1859/1596 -f 1335/1840/1581 1347/1859/1596 1348/1860/1597 -f 1336/1841/1582 1334/1861/1580 1349/1862/1598 -f 1337/1843/1583 1348/1860/1597 1350/1863/1599 -f 1316/1864/1563 1336/1841/1582 1349/1862/1598 -f 1337/1843/1583 1342/1852/1590 1338/1845/1584 -f 1333/1865/1589 1352/1866/1600 1334/1861/1580 -f 1349/1862/1598 1334/1861/1580 1352/1866/1600 -f 1316/1867/1563 1349/1868/1598 1353/1869/1601 -f 1342/1852/1590 1350/1870/1599 1354/1871/1602 -f 1319/1872/1565 1316/1867/1563 1353/1869/1601 -f 1343/1853/1591 1354/1871/1602 1355/1873/1603 -f 1343/1853/1591 1356/1874/1604 1344/1854/1592 -f 1345/1856/1594 1322/1855/1593 1357/1875/1605 -f 1346/1857/1595 1344/1854/1592 1356/1874/1604 -f 1331/1858/1588 1345/1856/1594 1357/1875/1605 -f 1333/1865/1589 1346/1876/1595 1351/1877/1606 -f 1355/1873/1607 1359/1878/1608 1356/1874/1604 -f 1356/1874/1604 1360/1879/1609 1346/1876/1595 -f 1331/1880/1588 1357/1881/1605 1361/1882/1610 -f 1351/1877/1606 1346/1876/1595 1360/1879/1609 -f 1347/1883/1596 1361/1882/1610 1362/1884/1611 -f 1348/1885/1597 1362/1884/1611 1363/1886/1612 -f 1350/1870/1599 1363/1886/1612 1364/1887/1613 -f 1354/1871/1602 1364/1887/1613 1365/1888/1614 -f 1355/1873/1607 1365/1888/1614 1358/1889/1607 -f 1349/1890/1598 1352/1891/1600 1366/1892/1615 -f 1353/1893/1601 1349/1890/1598 1366/1892/1615 -f 1322/1855/1616 1368/1894/1617 1357/1895/1618 -f 1360/1896/1619 1369/1897/1620 1370/1898/1621 -f 1357/1895/1618 1371/1899/1622 1361/1900/1623 -f 1360/1896/1619 1372/1901/1624 1351/1902/1625 -f 1362/1903/1626 1371/1899/1622 1373/1904/1627 -f 1351/1902/1625 1374/1905/1628 1352/1891/1629 -f 1363/1906/1630 1373/1904/1627 1375/1907/1631 -f 1366/1892/1632 1374/1905/1628 1376/1908/1633 -f 1364/1909/1634 1375/1907/1631 1377/1910/1635 -f 1366/1892/1632 1378/1911/1636 1353/1912/1637 -f 1364/1909/1634 1379/1913/1638 1365/1914/1639 -f 1319/1872/1640 1378/1911/1636 1380/1915/1641 -f 1365/1914/1639 1381/1916/1642 1358/1917/1643 -f 1322/1855/1616 1306/1918/1644 1367/1919/1645 -f 1318/1920/1646 1319/1872/1640 1380/1915/1641 -f 1359/1921/1647 1381/1916/1642 1369/1897/1620 -f 1379/1913/1638 1377/1922/1635 1382/1923/1648 -f 1379/1913/1638 1383/1924/1649 1381/1916/1642 -f 1369/1897/1620 1383/1924/1649 1384/1925/1650 -f 1370/1898/1621 1369/1897/1620 1384/1925/1650 -f 1370/1926/1621 1384/1927/1650 1385/1928/1651 -f 1372/1929/1652 1385/1928/1651 1386/1930/1653 -f 1373/1931/1627 1371/1932/1622 1387/1933/1654 -f 1374/1934/1628 1386/1930/1653 1388/1935/1655 -f 1373/1931/1627 1389/1936/1656 1375/1937/1657 -f 1376/1938/1633 1374/1934/1628 1388/1935/1655 -f 1375/1937/1657 1390/1939/1658 1377/1922/1635 -f 1378/1940/1636 1376/1941/1633 1391/1942/1659 -f 1382/1923/1648 1377/1922/1635 1390/1939/1658 -f 1380/1915/1641 1378/1940/1636 1391/1942/1659 -f 1383/1924/1649 1382/1943/1648 1392/1944/1660 -f 1384/1925/1650 1383/1924/1649 1392/1944/1660 -f 1390/1939/1658 1394/1945/1661 1382/1943/1648 -f 1392/1944/1660 1382/1943/1648 1394/1945/1661 -f 1384/1927/1650 1392/1946/1660 1395/1947/1662 -f 1368/1948/1617 1367/1919/1645 1396/1949/1663 -f 1385/1928/1651 1384/1927/1650 1395/1947/1662 -f 1368/1948/1617 1397/1950/1664 1371/1932/1622 -f 1386/1951/1653 1385/1952/1651 1398/1953/1665 -f 1387/1933/1654 1371/1932/1622 1397/1950/1664 -f 1386/1951/1653 1399/1954/1666 1388/1955/1667 -f 1376/1941/1633 1388/1935/1655 1399/1956/1666 -f 1390/1939/1658 1389/1957/1656 1393/1958/1668 -f 1397/1950/1664 1396/1959/1663 1400/1960/1669 -f 1398/1961/1670 1385/1962/1670 1401/1963/1670 -f 1397/1950/1664 1402/1964/1671 1387/1965/1672 -f 1389/1966/1656 1402/1967/1671 1398/1968/1665 -f 1376/1969/1633 1399/1970/1666 1403/1971/1673 -f 1393/1972/1668 1389/1966/1656 1398/1968/1665 -f 1391/1973/1659 1376/1969/1633 1403/1971/1674 -f 1392/1946/1660 1394/1974/1661 1404/1975/1675 -f 1395/1947/1662 1392/1946/1660 1404/1975/1675 -f 1385/1962/1651 1395/1976/1662 1401/1963/1676 -f 1394/1977/1661 1393/1978/1668 1398/1979/1665 -f 1404/1980/1675 1394/1977/1661 1398/1981/1665 -f 1395/1982/1662 1404/1980/1675 1398/1983/1665 -f 1401/1984/1676 1395/1982/1662 1398/1985/1665 -f 1399/1986/1666 1398/1987/1665 1405/1988/1677 -f 1403/1971/1673 1405/1989/1677 1406/1990/1678 -f 1391/1991/1659 1403/1971/1674 1406/1990/1679 -f 1380/1915/1641 1391/1992/1659 1406/1993/1679 -f 1396/1994/1663 1367/1919/1645 1407/1995/1680 -f 1400/1996/1669 1396/1994/1663 1407/1995/1680 -f 1380/1915/1641 1406/1993/1679 1408/1997/1681 -f 1400/1998/1669 1407/1999/1680 1409/2000/1682 -f 1400/1998/1669 1410/2001/1683 1402/2002/1671 -f 1405/2003/1677 1398/2004/1665 1411/2005/1684 -f 1398/2006/1665 1402/2007/1671 1410/2008/1683 -f 1406/2009/1678 1411/2010/1684 1408/2011/1681 -f 1409/2012/1682 1407/2013/1680 1412/2014/1685 -f 1410/2015/1683 1412/2014/1685 1413/2016/1686 -f 1411/2017/1684 1398/2018/1665 1414/2019/1687 -f 1398/2020/1665 1410/2021/1683 1413/2022/1686 -f 1408/2023/1681 1411/2024/1684 1414/2025/1687 -f 1380/1915/1641 1408/2026/1681 1415/2027/1688 -f 1408/2028/1681 1414/2029/1687 1416/2030/1689 -f 1415/2027/1688 1408/2028/1681 1416/2030/1689 -f 1398/2031/1665 1417/2032/1690 1418/2033/1691 -f 1398/2034/1665 1418/2033/1691 1419/2035/1692 -f 1407/2013/1680 1367/1919/1645 1420/2036/1693 -f 1398/2037/1665 1419/2035/1692 1421/2038/1694 -f 1412/2014/1685 1407/2013/1680 1420/2036/1693 -f 1419/2035/1692 1418/2033/1691 1422/2039/1695 -f 1418/2033/1691 1417/2040/1690 1422/2039/1695 -f 1416/2041/1689 1414/2042/1687 1423/2043/1696 -f 1398/2044/1665 1424/2045/1697 1425/2046/1698 -f 1415/2047/1688 1416/2048/1689 1426/2049/1699 -f 1417/2040/1690 1398/2050/1665 1425/2046/1698 -f 1380/1915/1641 1415/2047/1688 1426/2049/1699 -f 1412/2051/1685 1420/2052/1693 1427/2053/1700 -f 1398/2054/1665 1421/2055/1694 1428/2056/1701 -f 1413/2057/1686 1427/2053/1700 1429/2058/1702 -f 1414/2059/1687 1428/2056/1701 1423/2060/1696 -f 1413/2061/1686 1424/2045/1697 1398/2044/1665 -f 1421/2062/1694 1430/2063/1703 1431/2064/1704 -f 1421/2062/1694 1432/2065/1705 1428/2066/1706 -f 1429/2058/1702 1427/2067/1700 1433/2068/1707 -f 1428/2066/1706 1434/2069/1708 1423/2043/1709 -f 1424/2070/1697 1433/2068/1707 1435/2071/1710 -f 1423/2043/1709 1436/2072/1711 1416/2048/1689 -f 1425/2073/1698 1435/2071/1710 1437/2074/1712 -f 1426/2049/1699 1416/2048/1689 1436/2072/1711 -f 1425/2073/1698 1438/2075/1713 1417/2076/1690 -f 1422/2077/1695 1438/2075/1713 1439/2078/1714 -f 1422/2077/1695 1430/2063/1703 1419/2079/1692 -f 1438/2075/1713 1437/2080/1712 1440/2081/1715 -f 1439/2078/1716 1440/2081/1715 1441/2082/1717 -f 1439/2078/1716 1442/2083/1718 1430/2063/1703 -f 1431/2064/1704 1430/2063/1703 1442/2083/1718 -f 1431/2084/1704 1443/2085/1719 1444/2086/1720 -f 1427/2087/1700 1445/2088/1721 1446/2089/1722 -f 1431/2084/1704 1447/2090/1723 1432/2091/1705 -f 1433/2092/1707 1446/2089/1722 1448/2093/1724 -f 1434/2094/1708 1447/2090/1723 1449/2095/1725 -f 1433/2092/1707 1450/2096/1726 1435/2097/1710 -f 1436/2098/1711 1449/2095/1725 1451/2099/1727 -f 1437/2080/1712 1450/2096/1726 1452/2100/1728 -f 1436/2098/1711 1453/2101/1729 1426/2102/1699 -f 1437/2080/1712 1454/2103/1730 1440/2081/1715 -f 1426/2102/1699 1455/2104/1731 1380/1915/1641 -f 1440/2081/1715 1456/2105/1732 1441/2082/1717 -f 1367/1919/1645 1306/2106/1733 1457/2107/1734 -f 1318/2108/1646 1380/1915/1641 1455/2104/1731 -f 1442/2083/1718 1456/2105/1732 1443/2085/1719 -f 1420/2109/1693 1457/2107/1734 1445/2088/1721 -f 1447/2110/1735 1458/2111/1736 1459/2112/1737 -f 1446/2113/1738 1461/2114/1739 1448/2115/1740 -f 1449/2116/1741 1459/2112/1737 1462/2117/1742 -f 1448/2115/1740 1463/2118/1743 1450/2119/1744 -f 1451/2120/1745 1462/2117/1742 1464/2121/1746 -f 1450/2119/1744 1465/2122/1747 1452/2123/1748 -f 1453/2124/1749 1451/2120/1745 1464/2121/1746 -f 1452/2123/1748 1466/2125/1750 1454/2126/1751 -f 1454/2126/1751 1467/2127/1752 1456/2128/1753 -f 1443/2129/1754 1467/2127/1752 1468/2130/1755 -f 1444/2131/1756 1468/2130/1755 1458/2111/1736 -f 1446/2113/1738 1445/2132/1757 1460/2133/1758 -f 1455/2134/1759 1453/2135/1749 1469/2136/1760 -f 1466/2125/1750 1471/2137/1761 1467/2127/1762 -f 1468/2130/1755 1471/2137/1761 1472/2138/1763 -f 1445/2132/1757 1457/2139/1764 1473/2140/1765 -f 1458/2111/1736 1468/2130/1755 1472/2138/1763 -f 1460/2133/1758 1445/2132/1757 1473/2140/1765 -f 1453/2135/1749 1464/2141/1746 1469/2136/1760 -f 1466/2125/1750 1465/2142/1747 1470/2143/1766 -f 1460/2144/1758 1475/2145/1767 1461/2146/1739 -f 1462/2147/1742 1476/2148/1768 1477/2149/1769 -f 1461/2146/1739 1478/2150/1770 1463/2151/1771 -f 1464/2141/1746 1477/2149/1769 1479/2152/1772 -f 1463/2151/1771 1480/2153/1773 1465/2142/1747 -f 1469/2136/1760 1464/2141/1746 1479/2152/1772 -f 1470/2143/1766 1480/2153/1773 1481/2154/1774 -f 1470/2143/1766 1482/2155/1775 1471/2137/1761 -f 1472/2138/1763 1482/2155/1775 1483/2156/1776 -f 1472/2138/1763 1484/2157/1777 1458/2158/1736 -f 1460/2144/1758 1473/2159/1765 1474/2160/1778 -f 1459/2161/1779 1484/2157/1777 1476/2148/1768 -f 1481/2154/1774 1486/2162/1780 1482/2155/1775 -f 1483/2156/1776 1486/2162/1780 1487/2163/1781 -f 1484/2157/1777 1487/2163/1781 1488/2164/1782 -f 1476/2148/1768 1488/2164/1782 1489/2165/1783 -f 1477/2149/1769 1476/2148/1768 1489/2165/1783 -f 1478/2150/1770 1475/2166/1767 1490/2167/1784 -f 1478/2150/1770 1491/2168/1785 1480/2153/1773 -f 1480/2153/1773 1485/2169/1786 1481/2154/1774 -f 1477/2170/1769 1492/2171/1787 1493/2172/1788 -f 1475/2166/1767 1495/2173/1789 1490/2167/1784 -f 1479/2174/1772 1477/2170/1769 1493/2172/1788 -f 1490/2167/1784 1496/2175/1790 1491/2168/1785 -f 1469/2176/1760 1479/2177/1772 1497/2178/1791 -f 1491/2168/1785 1498/2179/1792 1485/2169/1786 -f 1455/2134/1759 1469/2176/1760 1497/2178/1791 -f 1485/2169/1786 1499/2180/1793 1486/2162/1780 -f 1487/2163/1781 1499/2180/1793 1500/2181/1794 -f 1473/2182/1765 1457/2183/1764 1305/2184/1551 -f 1488/2164/1782 1500/2181/1794 1501/2185/1795 -f 1473/2182/1765 1310/2186/1557 1474/2187/1778 -f 1489/2165/1783 1501/2185/1795 1492/2171/1787 -f 1474/2187/1778 1494/2188/1796 1475/2166/1767 -f 1500/2181/1794 1502/2189/1797 1503/2190/1798 -f 1305/2184/1551 1457/2183/1764 1306/2191/1552 -f 1501/2185/1795 1503/2190/1798 1504/2192/1799 -f 1492/2171/1787 1504/2192/1799 1505/2193/1800 -f 1493/2172/1788 1492/2171/1787 1505/2193/1800 -f 1495/2173/1789 1494/2194/1796 1506/2195/1801 -f 1479/2177/1772 1493/2196/1788 1294/2197/1542 -f 1495/2173/1789 1507/2198/1802 1496/2175/1790 -f 1497/2178/1791 1479/2177/1772 1294/2197/1542 -f 1496/2175/1790 1508/2199/1803 1498/2179/1792 -f 1455/2200/1759 1497/2201/1791 1318/2202/1566 -f 1498/2179/1792 1502/2189/1797 1499/2180/1793 -f 1506/2195/1801 1291/1788/1538 1290/1790/1540 -f 1294/2197/1542 1493/2196/1788 1286/1785/1535 -f 1507/2198/1802 1290/1790/1540 1296/1794/1544 -f 1497/2201/1791 1294/1792/1542 1298/1795/1545 -f 1507/2198/1802 1299/1796/1546 1508/2199/1803 -f 1318/2202/1566 1497/2201/1791 1298/1795/1545 -f 1508/2199/1803 1301/1798/1449 1502/2189/1797 -f 1503/2190/1798 1301/1798/1449 1303/1801/1550 -f 1504/2192/1799 1303/1801/1550 1308/1806/1555 -f 1504/2192/1799 1287/1809/1558 1505/2193/1800 -f 1494/2194/1796 1310/1808/1557 1291/1788/1538 -f 1505/2193/1800 1286/1785/1535 1493/2196/1788 -f 1510/2203/1804 1512/2204/1805 1509/2205/1806 -f 1513/2206/1807 1515/2207/1807 1516/2208/1807 -f 1516/2209/1808 1511/2210/1809 1510/2211/1810 -f 1519/2212/1811 1513/2206/1812 1516/2208/1813 -f 1521/2213/1814 1518/2214/1814 1517/2215/1814 -f 1515/2216/1815 1512/2217/1805 1511/2218/1816 -f 1518/2219/1451 1520/2220/1451 1519/2221/1451 -f 1517/2222/1817 1509/2223/1818 1521/2224/1819 -f 1520/2225/1820 1521/2226/1821 1509/2227/1822 -f 1524/2228/1823 1526/2229/1824 1523/2230/1451 -f 1533/2231/1452 1534/2232/1452 1542/2233/1452 -f 1539/2234/1825 1544/2235/1826 1540/2236/1827 -f 1542/2237/1449 1523/2238/1449 1526/2239/1449 -f 1537/2240/1828 1547/2241/1828 1538/2242/1828 -f 1548/2243/1829 1525/2244/1830 1524/2228/1831 -f 1549/2245/1832 1533/2246/1833 1532/2247/1834 -f 1551/2248/1835 1532/2249/1834 1531/2250/1836 -f 1530/2251/1837 1529/2252/1838 1553/2253/1839 -f 1555/2254/1840 1535/2255/1841 1554/2256/1842 -f 1550/2257/1843 1534/2258/1844 1533/2259/1833 -f 1554/2260/1845 1534/2261/1844 1556/2262/1846 -f 1528/2263/1847 1552/2264/1848 1529/2265/1849 -f 1536/2266/1850 1546/2267/1851 1537/2240/1852 -f 1540/2268/1827 1558/2269/1853 1541/2270/1854 -f 1542/2271/1855 1558/2269/1853 1545/2272/1856 -f 1543/2273/1857 1538/2274/1450 1547/2275/1450 -f 1560/2276/1858 1562/2277/1859 1559/2278/1860 -f 1563/2279/1861 1561/2280/1862 1560/2276/1863 -f 1565/2281/1864 1564/2282/1865 1563/2279/1861 -f 1567/2283/1866 1568/2284/1867 1566/2285/1868 -f 1567/2286/1869 1570/2287/1870 1568/2288/1871 -f 1571/2289/1872 1569/2290/1872 1572/2291/1872 -f 1573/2292/1873 1572/2293/1874 1574/2294/1875 -f 1573/2295/1453 1575/2296/1453 1561/2297/1453 -f 1575/2298/1876 1574/2299/1875 1578/2300/1877 -f 1574/2301/1452 1572/2302/1452 1563/2303/1452 -f 1559/2278/1860 1577/2304/1878 1580/2305/1879 -f 1580/2305/1880 1576/2306/1881 1579/2307/1882 -f 1576/2308/1883 1578/2309/1877 1579/2310/1884 -f 1566/2285/1868 1565/2281/1885 1567/2283/1866 -f 1582/2311/1451 1584/2312/1451 1581/2312/1451 -f 1582/2313/1886 1587/2314/1887 1585/2315/1888 -f 1586/2316/1889 1589/2317/1890 1587/2318/1891 -f 1589/2319/1892 1581/2320/1893 1590/2321/1894 -f 1585/2322/1895 1589/2323/1896 1590/2324/1897 -f 1582/2311/1898 1588/2325/1898 1586/2316/1898 -f 1583/2326/1452 1592/2327/1452 1593/2328/1452 -f 1585/2329/1451 1594/2330/1451 1591/2331/1451 -f 1585/2332/1451 1583/2333/1451 1582/2333/1451 -f 1581/2334/1451 1594/2335/1451 1590/2335/1451 -f 1596/2336/1451 1592/2332/1451 1595/2337/1451 -f 1584/2338/1453 1595/2339/1453 1594/2340/1453 -f 1583/2311/1899 1596/2312/1899 1584/2312/1899 -f 1594/2341/1900 1592/2342/1900 1591/2343/1900 -f 1592/2332/1901 1598/2337/1902 1597/2332/1903 -f 1598/2337/1902 1599/2332/1904 1597/2332/1903 -f 1598/2344/1905 1596/2345/1906 1600/2346/1907 -f 1593/2347/1908 1597/2348/1909 1599/2349/1910 -f 1602/2350/1451 1604/2351/1451 1601/2352/1451 -f 1603/2353/1452 1605/2354/1452 1606/2355/1452 -f 1609/2356/1911 1611/2357/1911 1608/2358/1911 -f 1611/2359/1453 1602/2360/1453 1601/2361/1453 -f 1613/2362/1449 1612/2363/1449 1601/2364/1449 -f 1608/2358/1911 1612/2365/1911 1613/2366/1911 -f 1606/2367/1912 1613/2366/1912 1607/2368/1912 -f 1605/2369/1912 1608/2358/1912 1606/2367/1912 -f 1601/2370/1913 1615/2371/1914 1602/2372/1915 -f 1601/2373/1916 1589/2374/1916 1614/2375/1916 -f 1603/2376/1917 1617/2377/1918 1604/2378/1919 -f 1617/2379/1920 1587/2380/1920 1604/2381/1920 -f 1619/2382/1921 1621/2383/1922 1618/2384/1923 -f 1622/2385/1924 1624/2386/1925 1625/2387/1926 -f 1620/2388/1927 1627/2389/1928 1621/2383/1922 -f 1625/2387/1926 1628/2390/1929 1629/2391/1930 -f 1626/2392/1931 1631/2393/1932 1627/2389/1928 -f 1629/2391/1930 1632/2394/1933 1633/2395/1934 -f 1630/2396/1935 1635/2397/1936 1631/2393/1932 -f 1633/2395/1934 1636/2398/1937 1637/2399/1938 -f 1634/2400/1939 1639/2401/1940 1635/2397/1936 -f 1637/2399/1938 1640/2402/1941 1641/2403/1941 -f 1638/2404/1942 1643/2405/1943 1639/2401/1940 -f 1640/2402/1941 1645/2406/1944 1641/2403/1941 -f 1643/2405/1943 1646/2407/1945 1647/2408/1946 -f 1644/2409/1947 1618/2384/1923 1645/2406/1944 -f 1647/2408/1946 1623/2410/1948 1622/2385/1924 -f 1648/2411/1949 1650/2412/1950 1651/2413/1951 -f 1652/2414/1952 1650/2412/1950 1649/2415/1953 -f 1654/2416/1954 1653/2417/1955 1652/2414/1952 -f 1656/2418/1956 1658/2419/1957 1659/2420/1958 -f 1660/2421/1959 1655/2422/1960 1654/2416/1954 -f 1657/2423/1961 1663/2424/1962 1658/2419/1957 -f 1664/2425/1963 1661/2426/1964 1660/2421/1959 -f 1662/2427/1965 1667/2428/1966 1663/2424/1962 -f 1668/2429/1967 1665/2430/1968 1664/2425/1963 -f 1666/2431/1969 1671/2432/1970 1667/2428/1966 -f 1672/2433/1971 1669/2434/1972 1668/2429/1967 -f 1670/2435/1973 1651/2436/1951 1671/2432/1970 -f 1674/2437/1974 1673/2438/1975 1672/2433/1971 -f 1675/2439/1976 1677/2440/1977 1673/2438/1975 -f 1651/2413/1951 1678/2441/1978 1679/2442/1979 -f 1680/2443/1980 1676/2444/1981 1675/2439/1976 -f 1653/2417/1955 1678/2441/1978 1650/2412/1950 -f 1680/2443/1980 1683/2445/1982 1681/2446/1983 -f 1655/2422/1960 1682/2447/1984 1653/2417/1955 -f 1659/2420/1958 1685/2448/1985 1683/2445/1982 -f 1661/2426/1964 1684/2449/1986 1655/2422/1960 -f 1658/2419/1957 1687/2450/1987 1685/2448/1985 -f 1665/2430/1968 1686/2451/1988 1661/2426/1964 -f 1663/2424/1962 1689/2452/1989 1687/2450/1987 -f 1669/2434/1972 1688/2453/1990 1665/2430/1968 -f 1667/2428/1966 1691/2454/1991 1689/2452/1989 -f 1673/2438/1975 1690/2455/1992 1669/2434/1972 -f 1671/2432/1970 1679/2456/1979 1691/2454/1991 -f 1691/2454/1991 1692/2457/1993 1693/2458/1994 -f 1676/2444/1981 1695/2459/1995 1677/2440/1977 -f 1679/2442/1979 1696/2460/1996 1692/2461/1993 -f 1676/2444/1981 1697/2462/1997 1694/2463/1998 -f 1682/2447/1984 1696/2460/1996 1678/2441/1978 -f 1681/2446/1983 1699/2464/1999 1697/2462/1997 -f 1684/2449/1986 1698/2465/2000 1682/2447/1984 -f 1683/2445/1982 1701/2466/2001 1699/2464/1999 -f 1686/2451/1988 1700/2467/2002 1684/2449/1986 -f 1685/2448/1985 1703/2468/2003 1701/2466/2001 -f 1688/2453/1990 1702/2469/2004 1686/2451/1988 -f 1687/2450/1987 1705/2470/2005 1703/2468/2003 -f 1690/2455/1992 1704/2471/2006 1688/2453/1990 -f 1689/2452/1989 1693/2458/1994 1705/2470/2005 -f 1677/2440/1977 1706/2472/2007 1690/2455/1992 -f 1693/2458/1994 1707/2473/2008 1708/2474/2009 -f 1694/2463/1998 1710/2475/2010 1695/2459/1995 -f 1692/2461/1993 1711/2476/2011 1707/2477/2008 -f 1697/2462/1997 1709/2478/2012 1694/2463/1998 -f 1698/2465/2000 1711/2476/2011 1696/2460/1996 -f 1697/2462/1997 1714/2479/2013 1712/2480/2014 -f 1700/2467/2002 1713/2481/2015 1698/2465/2000 -f 1699/2464/1999 1716/2482/2016 1714/2479/2013 -f 1702/2469/2004 1715/2483/2017 1700/2467/2002 -f 1701/2466/2001 1718/2484/2018 1716/2482/2016 -f 1704/2471/2006 1717/2485/2019 1702/2469/2004 -f 1703/2468/2003 1720/2486/2020 1718/2484/2018 -f 1706/2472/2007 1719/2487/2021 1704/2471/2006 -f 1705/2470/2005 1708/2474/2009 1720/2486/2020 -f 1695/2459/1995 1721/2488/2022 1706/2472/2007 -f 1718/2489/2018 1708/2490/2009 1721/2491/2022 -f 1622/2385/2023 1723/2492/2024 1647/2408/2025 -f 1724/2493/2026 1629/2391/2027 1633/2395/2028 -f 1725/2494/2029 1625/2387/2030 1629/2391/2027 -f 1647/2408/2025 1727/2495/2031 1643/2405/2032 -f 1625/2387/2030 1722/2496/2033 1622/2385/2023 -f 1643/2405/2032 1728/2497/2034 1639/2401/2035 -f 1729/2498/2036 1731/2499/2037 1732/2500/2038 -f 1639/2401/2035 1733/2501/2039 1635/2397/2040 -f 1734/2502/2041 1730/2503/2042 1729/2498/2036 -f 1635/2397/2040 1736/2504/2043 1631/2393/2044 -f 1738/2505/2045 1734/2502/2041 1737/2506/2046 -f 1740/2507/2047 1737/2506/2046 1739/2508/2048 -f 1631/2393/2044 1741/2509/2049 1627/2389/2050 -f 1743/2510/2051 1739/2508/2048 1742/2511/2052 -f 1744/2512/2053 1637/2399/2054 1641/2403/2055 -f 1747/2513/2056 1742/2511/2052 1746/2514/2057 -f 1749/2515/2058 1746/2514/2057 1748/2516/2059 -f 1751/2517/2060 1748/2516/2059 1750/2518/2061 -f 1753/2519/2062 1750/2518/2061 1752/2520/2063 -f 1741/2509/2049 1621/2383/2064 1627/2389/2050 -f 1755/2521/2065 1753/2519/2062 1752/2520/2063 -f 1754/2522/2066 1618/2384/2067 1621/2383/2064 -f 1732/2500/2038 1758/2523/2068 1759/2524/2069 -f 1759/2524/2069 1760/2525/2070 1761/2526/2071 -f 1757/2527/2072 1645/2406/2073 1618/2384/2067 -f 1761/2526/2071 1763/2528/2074 1764/2529/2075 -f 1762/2530/2076 1641/2403/2055 1645/2406/2073 -f 1765/2531/2077 1756/2532/2078 1755/2521/2065 -f 1745/2533/2079 1633/2395/2028 1637/2399/2054 -f 1764/2529/2075 1766/2534/2080 1765/2531/2077 -f 1731/2499/2081 1725/2494/2082 1724/2493/2081 -f 1749/2515/2083 1736/2504/2084 1733/2501/2083 -f 1758/2523/2085 1724/2493/2081 1745/2533/2085 -f 1747/2513/2086 1733/2501/2083 1728/2497/2086 -f 1743/2510/2087 1728/2497/2086 1727/2495/2087 -f 1763/2528/2088 1744/2512/2089 1762/2530/2088 -f 1740/2507/2090 1727/2495/2087 1723/2492/2090 -f 1766/2534/2091 1762/2530/2088 1757/2527/2091 -f 1738/2505/2092 1723/2492/2090 1722/2496/2092 -f 1756/2532/1452 1757/2527/2091 1754/2522/1452 -f 1735/2535/2093 1722/2496/2092 1726/2536/2093 -f 1753/2519/2094 1754/2522/1452 1741/2509/2094 -f 1730/2503/2082 1726/2536/2093 1725/2494/2082 -f 1751/2517/2084 1741/2509/2094 1736/2504/2084 -f 1760/2525/2089 1745/2533/2085 1744/2512/2089 -f 1768/2537/2095 1770/2538/2096 1767/2539/2096 -f 1628/2540/2097 1657/2423/2098 1656/2418/2099 -f 1642/2541/2100 1672/2433/2101 1668/2429/2102 -f 1642/2541/2100 1664/2425/2103 1638/2542/2086 -f 1632/2543/2104 1662/2544/2105 1657/2545/2098 -f 1646/2546/2106 1674/2437/1923 1672/2433/2101 -f 1630/2547/2107 1652/2548/2108 1626/2549/2109 -f 1644/2550/2110 1666/2551/2111 1640/2552/2111 -f 1638/2553/2086 1660/2554/2112 1634/2555/2113 -f 1626/2549/2109 1649/2556/2114 1620/2557/2115 -f 1636/2558/2085 1666/2551/2111 1662/2544/2105 -f 1634/2555/2113 1654/2559/2116 1630/2547/2107 -f 1619/2560/2117 1670/2561/2118 1644/2550/2110 -f 1620/2557/2115 1648/2562/2119 1619/2563/2117 -f 1623/2564/2120 1771/2565/2121 1772/2566/2120 -f 1630/2567/2122 1774/2568/2123 1634/2569/2123 -f 1776/2570/2124 1778/2571/2125 1775/2572/2126 -f 1636/2573/2127 1779/2574/2128 1780/2575/2127 -f 1640/2576/2129 1780/2575/2127 1781/2577/2130 -f 1782/2578/2131 1784/2579/2132 1785/2580/2133 -f 1638/2581/2134 1787/2582/2135 1642/2583/2135 -f 1620/2584/2136 1789/2585/2137 1626/2586/2137 -f 1790/2587/2138 1769/2588/2095 1768/2537/2095 -f 1624/2589/2139 1793/2590/2140 1628/2591/2140 -f 1634/2569/2123 1786/2592/2134 1638/2581/2134 -f 1794/2593/2141 1777/2594/2124 1776/2570/2124 -f 1642/2583/2135 1771/2565/2121 1646/2595/2121 -f 1640/2576/2129 1796/2596/2142 1644/2597/2143 -f 1772/2566/2144 1798/2598/2145 1792/2599/2146 -f 1796/2596/2147 1769/2600/2148 1791/2601/2149 -f 1793/2590/2150 1800/2602/2151 1779/2574/2152 -f 1786/2592/1942 1785/2603/2153 1784/2604/1940 -f 1787/2582/2154 1802/2605/2155 1771/2565/2156 -f 1789/2585/2157 1778/2606/1276 1777/2607/2158 -f 1792/2599/2146 1799/2608/2159 1793/2590/2150 -f 1781/2577/2160 1770/2609/1938 1769/2600/2148 -f 1786/2592/1942 1801/2610/2161 1787/2582/2154 -f 1774/2568/2162 1795/2611/2163 1785/2603/2153 -f 1779/2574/2152 1770/2609/1938 1780/2575/1938 -f 1803/2612/2164 1791/2601/2149 1804/2613/2165 -f 1771/2565/2156 1797/2614/2166 1772/2566/2144 -f 1788/2615/2167 1804/2613/2165 1778/2606/1276 -f 1773/2616/2168 1777/2607/2158 1795/2611/2163 -f 1619/2617/2169 1796/2596/2142 1803/2612/2169 -f 1794/2593/2141 1785/2580/2133 1795/2618/2141 -f 1620/2584/2136 1803/2612/2169 1788/2615/2136 -f 1805/2619/2170 1791/2620/2138 1790/2587/2138 -f 1806/2621/2171 1798/2622/2172 1797/2623/2171 -f 1775/2572/2126 1804/2624/2170 1805/2619/2170 -f 1808/2625/2173 1800/2626/2174 1799/2627/2173 -f 1810/2628/2175 1802/2629/2176 1801/2630/2175 -f 1807/2631/2172 1799/2627/2173 1798/2622/2172 -f 1783/2632/2132 1801/2630/2175 1784/2579/2132 -f 1623/2564/2120 1792/2599/2139 1624/2589/2139 -f 1767/2539/2096 1800/2626/2174 1809/2633/2174 -f 1626/2586/2137 1773/2616/2122 1630/2567/2122 -f 1628/2591/2140 1779/2574/2128 1632/2634/2128 -f 1811/2635/2176 1797/2623/2171 1802/2629/2176 -f 1784/2636/2177 1812/2637/2178 1813/2638/2179 -f 1801/2639/2180 1815/2640/2181 1802/2641/2182 -f 1777/2642/2183 1816/2643/2184 1817/2644/2185 -f 1798/2645/2186 1819/2646/2187 1799/2647/2188 -f 1769/2648/2189 1820/2649/2190 1821/2650/2191 -f 1784/2636/2177 1814/2651/2192 1801/2639/2180 -f 1822/2652/2193 1785/2653/2194 1795/2654/2195 -f 1800/2655/2196 1820/2649/2190 1770/2656/2190 -f 1824/2657/2197 1804/2658/2198 1791/2659/2199 -f 1802/2641/2182 1826/2660/2200 1797/2661/2201 -f 1825/2662/2202 1778/2663/2203 1804/2664/2198 -f 1795/2654/2195 1817/2644/2185 1822/2652/2193 -f 1797/2661/2201 1818/2665/2204 1798/2645/2186 -f 1791/2659/2199 1821/2650/2191 1824/2657/2197 -f 1799/2647/2188 1823/2666/2205 1800/2655/2196 -f 1828/2667/1921 1830/2668/2206 1827/2669/1923 -f 1831/2670/2207 1833/2671/2208 1834/2672/2209 -f 1829/2673/2210 1836/2674/2211 1830/2668/2206 -f 1834/2675/2209 1837/2676/1929 1838/2677/1930 -f 1835/2678/2212 1840/2679/2213 1836/2674/2211 -f 1838/2677/1930 1841/2680/1933 1842/2681/2214 -f 1839/2682/1935 1844/2683/2215 1840/2679/2213 -f 1842/2681/2214 1845/2684/1937 1846/2685/1938 -f 1843/2686/1939 1848/2687/1940 1844/2683/2215 -f 1846/2685/1938 1849/2688/2216 1850/2689/1941 -f 1847/2690/1940 1852/2691/1943 1848/2687/1940 -f 1849/2688/2216 1854/2692/1947 1850/2689/1941 -f 1852/2691/1943 1855/2693/1945 1856/2694/1946 -f 1853/2695/1947 1827/2669/1923 1854/2692/1947 -f 1856/2694/1946 1832/2696/2217 1831/2670/2207 -f 1857/2697/1949 1859/2698/1950 1860/2699/1951 -f 1861/2700/2218 1863/2701/2219 1864/2702/2220 -f 1865/2703/2221 1859/2698/1950 1858/2704/2222 -f 1862/2705/2223 1868/2706/2224 1863/2707/2219 -f 1869/2708/1954 1866/2709/1955 1865/2703/1952 -f 1867/2710/2225 1872/2711/2226 1868/2706/2224 -f 1873/2712/1959 1870/2713/1960 1869/2708/1954 -f 1871/2714/2227 1876/2715/1962 1872/2711/2226 -f 1877/2716/1963 1874/2717/1964 1873/2712/1959 -f 1875/2718/2228 1880/2719/1966 1876/2715/1962 -f 1881/2720/2229 1878/2721/1968 1877/2716/1963 -f 1879/2722/1969 1884/2723/1970 1880/2719/1966 -f 1885/2724/1971 1882/2725/2230 1881/2720/2229 -f 1883/2726/1973 1860/2699/1951 1884/2723/1970 -f 1861/2700/2218 1886/2727/2231 1885/2724/1971 -f 1864/2702/2220 1888/2728/1977 1886/2727/2231 -f 1860/2699/1951 1889/2729/2232 1890/2730/1979 -f 1863/2701/2219 1887/2731/2233 1864/2702/2220 -f 1866/2709/1955 1889/2729/2232 1859/2698/1950 -f 1863/2707/2219 1893/2732/1982 1891/2733/2234 -f 1870/2713/1960 1892/2734/1984 1866/2709/1955 -f 1868/2706/2224 1895/2735/1985 1893/2732/1982 -f 1874/2717/1964 1894/2736/1986 1870/2713/1960 -f 1872/2711/2226 1897/2737/1987 1895/2735/1985 -f 1878/2721/1968 1896/2738/2235 1874/2717/1964 -f 1876/2715/1962 1899/2739/2236 1897/2737/1987 -f 1882/2725/2230 1898/2740/1990 1878/2721/1968 -f 1880/2719/1966 1901/2741/1991 1899/2739/2236 -f 1886/2727/2231 1900/2742/1992 1882/2725/2230 -f 1884/2723/1970 1890/2730/1979 1901/2741/1991 -f 1901/2741/1991 1902/2743/1993 1903/2744/2237 -f 1887/2731/2233 1905/2745/2238 1888/2728/1977 -f 1890/2730/1979 1906/2746/2239 1902/2743/1993 -f 1887/2731/2233 1907/2747/1997 1904/2748/1998 -f 1892/2734/1984 1906/2746/2239 1889/2729/2232 -f 1891/2733/2234 1909/2749/1999 1907/2750/1997 -f 1894/2736/1986 1908/2751/2000 1892/2734/1984 -f 1893/2732/1982 1911/2752/2240 1909/2749/1999 -f 1896/2738/2235 1910/2753/2241 1894/2736/1986 -f 1895/2735/1985 1913/2754/2003 1911/2752/2240 -f 1898/2740/1990 1912/2755/2242 1896/2738/2235 -f 1897/2737/1987 1915/2756/2243 1913/2754/2003 -f 1900/2742/1992 1914/2757/2006 1898/2740/1990 -f 1899/2739/2236 1903/2744/2237 1915/2756/2243 -f 1888/2728/1977 1916/2758/2244 1900/2742/1992 -f 1903/2744/2237 1917/2759/2008 1918/2760/2245 -f 1904/2748/1998 1920/2761/2246 1905/2745/2238 -f 1902/2743/1993 1921/2762/2011 1917/2759/2008 -f 1907/2747/1997 1919/2763/2247 1904/2748/1998 -f 1908/2751/2000 1921/2762/2011 1906/2746/2239 -f 1907/2750/1997 1924/2764/2013 1922/2765/2014 -f 1910/2753/2241 1923/2766/2015 1908/2751/2000 -f 1909/2749/1999 1926/2767/2248 1924/2764/2013 -f 1912/2755/2242 1925/2768/2017 1910/2753/2241 -f 1911/2752/2240 1928/2769/2249 1926/2767/2248 -f 1914/2757/2006 1927/2770/2250 1912/2755/2242 -f 1913/2754/2003 1930/2771/2020 1928/2769/2249 -f 1916/2758/2244 1929/2772/2251 1914/2757/2006 -f 1915/2756/2243 1918/2760/2245 1930/2771/2020 -f 1905/2745/2238 1931/2773/2022 1916/2758/2244 -f 1931/2774/2022 1924/2775/2013 1918/2776/2245 -f 1831/2670/2023 1933/2777/2252 1856/2694/2253 -f 1934/2778/2254 1838/2677/2255 1842/2681/2256 -f 1935/2779/2257 1834/2675/2258 1838/2677/2255 -f 1856/2694/2253 1937/2780/2259 1852/2691/2260 -f 1834/2672/2258 1932/2781/2033 1831/2670/2023 -f 1852/2691/2260 1938/2782/2261 1848/2687/2262 -f 1939/2783/2263 1941/2784/2264 1942/2785/2265 -f 1848/2687/2262 1943/2786/2266 1844/2683/2267 -f 1944/2787/2268 1940/2788/2269 1939/2783/2263 -f 1844/2683/2267 1946/2789/2270 1840/2679/2271 -f 1948/2790/2272 1944/2787/2268 1947/2791/2273 -f 1950/2792/2274 1947/2791/2273 1949/2793/2275 -f 1840/2679/2271 1951/2794/2276 1836/2674/2277 -f 1953/2795/2278 1949/2793/2275 1952/2796/2279 -f 1954/2797/2280 1846/2685/2281 1850/2689/2282 -f 1957/2798/2283 1952/2796/2279 1956/2799/2284 -f 1959/2800/2285 1956/2799/2284 1958/2801/2286 -f 1961/2802/2287 1958/2801/2286 1960/2803/2288 -f 1963/2804/2289 1960/2803/2288 1962/2805/2290 -f 1951/2794/2276 1830/2668/2291 1836/2674/2277 -f 1965/2806/2292 1963/2804/2289 1962/2805/2290 -f 1964/2807/2066 1827/2669/2293 1830/2668/2291 -f 1942/2785/2265 1968/2808/2294 1969/2809/2295 -f 1969/2809/2295 1970/2810/2296 1971/2811/2297 -f 1967/2812/2298 1854/2692/2299 1827/2669/2293 -f 1971/2811/2297 1973/2813/2300 1974/2814/2301 -f 1972/2815/2302 1850/2689/2282 1854/2692/2299 -f 1975/2816/2303 1966/2817/2304 1965/2806/2292 -f 1955/2818/2305 1842/2681/2256 1846/2685/2281 -f 1974/2814/2301 1976/2819/2306 1975/2816/2303 -f 1941/2784/2081 1935/2779/2082 1934/2778/2081 -f 1959/2800/2083 1946/2789/2084 1943/2786/2083 -f 1968/2808/2085 1934/2778/2081 1955/2818/2085 -f 1957/2798/2086 1943/2786/2083 1938/2782/2086 -f 1953/2795/2087 1938/2782/2086 1937/2780/2087 -f 1973/2813/2088 1954/2797/2089 1972/2815/2088 -f 1950/2792/2090 1937/2780/2087 1933/2777/2090 -f 1976/2819/2307 1972/2815/2088 1967/2812/2307 -f 1948/2790/2092 1933/2777/2090 1932/2781/2092 -f 1966/2817/1452 1967/2812/2307 1964/2807/1452 -f 1945/2820/2093 1932/2781/2092 1936/2821/2093 -f 1963/2804/2308 1964/2807/1452 1951/2794/2308 -f 1940/2788/2082 1936/2822/2093 1935/2779/2082 -f 1961/2802/2084 1951/2794/2308 1946/2789/2084 -f 1970/2810/2089 1955/2818/2085 1954/2797/2089 -f 1977/2823/2096 1979/2824/2095 1980/2825/2096 -f 1832/2826/2309 1862/2827/2310 1861/2828/2311 -f 1837/2829/2312 1871/2830/2098 1867/2831/2313 -f 1851/2832/2100 1885/2833/2101 1881/2834/2102 -f 1833/2835/2314 1867/2831/2313 1862/2836/2310 -f 1851/2832/2100 1877/2837/2103 1847/2838/2086 -f 1841/2839/2104 1875/2840/2105 1871/2830/2098 -f 1855/2841/2315 1861/2828/2311 1885/2833/2101 -f 1839/2842/2107 1865/2703/1930 1835/2843/1930 -f 1853/2844/2110 1879/2722/2111 1849/2845/2111 -f 1847/2846/2086 1873/2712/2112 1843/2847/2113 -f 1845/2848/2085 1879/2849/2111 1875/2840/2105 -f 1843/2847/2113 1869/2708/2116 1839/2842/2107 -f 1828/2850/1946 1883/2726/2118 1853/2844/2110 -f 1832/2851/2316 1982/2852/2317 1855/2853/2317 -f 1983/2854/2318 1839/2855/2319 1843/2856/2318 -f 1986/2857/2320 1988/2858/2321 1985/2859/2321 -f 1845/2860/2322 1990/2861/2323 1841/2862/2323 -f 1991/2863/2324 1845/2860/2322 1849/2864/2324 -f 1993/2865/2132 1995/2866/2325 1992/2867/2325 -f 1851/2868/2326 1997/2869/2327 1847/2870/2327 -f 1998/2871/2328 1829/2872/2329 1835/2873/2328 -f 2000/2874/2330 1979/2824/2095 1978/2875/2095 -f 1837/2876/2331 2003/2877/2332 1833/2878/2332 -f 1847/2870/2327 1983/2854/2318 1843/2856/2318 -f 2004/2879/2141 1987/2880/2320 1986/2857/2320 -f 1982/2852/2317 1851/2868/2326 1855/2853/2317 -f 2006/2881/2333 1849/2864/2324 1853/2882/2333 -f 2007/2883/2334 1981/2884/2335 2003/2877/2336 -f 2006/2881/2337 1979/2885/2338 1991/2863/2339 -f 2009/2886/2340 2002/2887/2341 1990/2861/2342 -f 1997/2869/2103 1995/2888/2083 1983/2854/2343 -f 2011/2889/2344 1996/2890/2345 1982/2852/2346 -f 1998/2871/2347 1988/2891/2348 1999/2892/2349 -f 2010/2893/2350 2003/2877/2336 2002/2887/2341 -f 1991/2863/2339 1980/2894/2105 1989/2895/2085 -f 2012/2896/2351 1997/2869/2103 1996/2890/2345 -f 1983/2854/2343 2005/2897/2352 1984/2898/2353 -f 1980/2894/2105 1990/2861/2342 1989/2895/2085 -f 2013/2899/2354 2001/2900/2355 2006/2881/2337 -f 2008/2901/2356 1982/2852/2346 1981/2884/2335 -f 1999/2892/2349 2014/2902/2357 2013/2899/2354 -f 1984/2898/2353 1987/2903/2358 1998/2871/2347 -f 2013/2899/2359 1853/2882/2333 1828/2904/2360 -f 1992/2867/2325 2005/2905/2141 2004/2879/2141 -f 1999/2892/2329 1828/2904/2360 1829/2872/2329 -f 2000/2874/2330 2014/2906/2361 2001/2907/2330 -f 2016/2908/2171 2007/2909/2362 2008/2910/2171 -f 1985/2859/2321 2014/2906/2361 2015/2911/2361 -f 2019/2912/2174 2010/2913/2363 2018/2914/2363 -f 2020/2915/2175 2011/2916/2176 2012/2917/2175 -f 2017/2918/2362 2010/2913/2363 2007/2909/2362 -f 1993/2865/2132 2012/2917/2175 1994/2919/2364 -f 1833/2920/2332 1981/2884/2316 1832/2851/2316 -f 1977/2823/2096 2009/2921/2174 2019/2912/2174 -f 1984/2898/2319 1835/2873/2328 1839/2855/2319 -f 1841/2862/2323 2002/2887/2331 1837/2876/2331 -f 2021/2922/2176 2008/2910/2171 2011/2916/2176 -f 1994/2923/2365 2022/2924/2178 2023/2925/2365 -f 2012/2926/2366 2025/2927/2181 2011/2928/2182 -f 1987/2929/2367 2026/2930/2184 2027/2931/2368 -f 2007/2932/2369 2029/2933/2370 2010/2934/2371 -f 1979/2935/2372 2030/2936/2373 2031/2937/2374 -f 1994/2923/2365 2024/2938/2375 2012/2926/2366 -f 2032/2939/2193 1995/2940/2194 2005/2941/2376 -f 2009/2942/2377 2030/2936/2373 1980/2943/2373 -f 2034/2944/2378 2014/2945/2379 2001/2946/2199 -f 2011/2928/2182 2036/2947/2380 2008/2948/2381 -f 2035/2949/2382 1988/2950/2203 2014/2945/2379 -f 2005/2941/2376 2027/2931/2368 2032/2939/2193 -f 2008/2948/2381 2028/2951/2204 2007/2952/2369 -f 2001/2946/2199 2031/2937/2374 2034/2944/2378 -f 2010/2934/2371 2033/2953/2383 2009/2942/2377 -f 2037/2954/2384 2038/2955/2385 2039/2956/2386 -f 2040/2957/2387 2037/2954/2384 2039/2956/2386 -f 2041/2958/2388 2040/2957/2387 2042/2959/2389 -f 2040/2957/2387 2039/2956/2386 2042/2959/2389 -f 2043/2960/2390 2044/2961/2390 2045/2962/2390 -f 2046/2963/2391 2047/2964/2392 2048/2965/2393 -f 2045/2962/2394 2049/2966/2395 2046/2963/2391 -f 2044/2961/2396 2049/2966/2395 2045/2962/2394 -f 2043/2960/2397 2049/2966/2395 2044/2961/2396 -f 2043/2960/2397 2050/2967/2398 2049/2966/2395 -f 2047/2964/2392 2051/2968/2399 2048/2965/2393 -f 2052/2969/2400 2046/2963/2391 2049/2966/2395 -f 2052/2969/2400 2053/2970/2401 2047/2964/2392 -f 2054/2971/2402 2052/2969/2400 2049/2966/2395 -f 2050/2967/2398 2054/2971/2402 2049/2966/2395 -f 2054/2971/2402 2055/2972/2403 2053/2970/2401 -f 2050/2967/2398 2056/2973/2404 2054/2971/2402 -f 2047/2964/2392 2057/2974/2405 2051/2968/2399 -f 2047/2964/2392 2058/2975/2406 2057/2974/2405 -f 2053/2970/2401 2058/2975/2406 2047/2964/2392 -f 2055/2972/2403 2058/2975/2406 2053/2970/2401 -f 2054/2971/2402 2059/2976/2407 2055/2972/2403 -f 2056/2973/2404 2059/2976/2407 2054/2971/2402 -f 2056/2973/2404 2060/2977/2408 2059/2976/2407 -f 2061/2978/2409 2063/2979/2410 2064/2980/2410 -f 2041/2981/2411 2068/2982/2412 2069/2983/2413 -f 2062/2984/2409 2070/2985/1447 2066/2986/1447 -f 2063/2987/2414 1191/2988/2415 2072/2989/2416 -f 2073/2990/2417 2071/2991/2418 2065/2992/2419 -f 2062/2993/2420 2071/2994/2420 2063/2995/2420 -f 2061/2996/2421 2074/2997/2421 2073/2998/2421 -f 2075/2999/2422 1191/3000/2422 1192/3001/2422 -f 2064/3002/2423 1192/3003/2424 2074/3004/2425 -f 2063/3005/2410 2075/2999/1447 2064/3006/2410 -f 2074/3007/2418 1191/3000/2426 2071/2991/2418 -f 2076/3008/2427 2045/2962/2427 2046/2963/2427 -f 2048/2965/2428 2051/2968/2428 2077/3009/2428 -f 2077/3010/2429 2070/3011/2430 2073/3012/2431 -f 2078/3013/2432 2041/2958/2388 2042/2959/2389 -f 2068/3014/2433 2041/2958/2388 2078/3013/2432 -f 2070/3015/1451 2077/3016/2434 2057/3017/2435 -f 2038/2955/2385 2037/2954/2384 2067/3018/2436 -f 1962/3019/2290 1952/3020/2279 1939/3021/2263 -f 1761/3022/2071 1752/3023/2063 1742/3024/2052 -f 1186/3025/1452 1193/3026/1452 1191/3027/1452 -f 1282/3028/2437 1284/3029/2438 1269/3030/2439 -f 2068/3031/2440 2043/3032/2441 2065/2992/2419 -f 1549/3033/1453 1551/3034/1453 1523/3035/1453 -f 1185/3036/1453 1188/3037/1448 1192/3038/1453 -f 1557/3039/2442 1527/3040/2443 1548/2243/2444 -f 793/3041/1054 784/3042/1055 720/3043/2445 -f 1190/3044/2446 757/3045/1024 788/3046/1048 -f 705/1155/972 706/3047/2447 707/1156/973 -f 708/1157/974 707/1156/973 709/1158/975 -f 710/1159/976 709/1158/975 711/1160/977 -f 712/1161/978 711/1160/977 713/1162/979 -f 714/1163/980 713/1162/979 715/1164/981 -f 716/1165/982 715/1164/981 717/1166/2448 -f 719/1168/985 720/3048/2445 721/1169/986 -f 721/1169/986 723/1172/989 724/1171/988 -f 723/1172/989 725/3049/2449 726/1173/990 -f 726/1173/990 725/3049/2449 727/1174/991 -f 728/1175/992 727/1174/991 729/1176/993 -f 729/1176/993 731/1179/996 732/1178/995 -f 731/1179/996 733/1181/2450 734/1180/997 -f 733/1181/998 735/1183/1001 736/1182/999 -f 735/1183/1001 737/1185/1003 738/1184/1002 -f 737/1185/1003 739/1187/1005 740/1186/1004 -f 739/1187/1005 741/3050/2451 742/1188/1006 -f 742/1188/1006 741/3050/2451 743/1189/1007 -f 744/1190/1008 743/1189/1007 745/1191/1009 -f 746/1192/1010 745/1191/1009 747/1193/1011 -f 748/1194/1012 747/1193/1011 749/1195/1013 -f 750/1196/1015 749/1195/2452 751/1197/1016 -f 752/1198/1017 751/1197/1016 753/1199/1018 -f 753/1199/1018 755/1202/1021 756/1201/1020 -f 755/1202/1021 706/3047/2447 705/1155/972 -f 758/1203/1022 759/1208/1027 760/1204/1023 -f 761/1206/1025 762/1248/1066 763/1207/1026 -f 728/1175/992 730/1177/994 764/1209/1028 -f 748/1194/1012 766/1220/1039 767/1211/1030 -f 714/1163/980 716/1165/982 768/1212/1031 -f 722/1170/987 770/1221/1040 771/1214/1033 -f 738/1184/1002 740/1186/1004 772/1215/1034 -f 708/1157/974 774/1224/1043 775/1217/1036 -f 705/1155/972 775/1217/1036 776/1218/1037 -f 758/1203/1022 777/1225/1044 761/1206/1025 -f 730/1177/994 732/1178/995 778/1219/1038 -f 750/1196/1015 779/1228/1047 766/1220/1039 -f 718/1167/984 780/1230/1049 768/1212/1031 -f 724/1171/988 781/1232/1051 770/1221/1040 -f 740/1186/1004 742/1188/1006 782/1222/1041 -f 708/1157/974 710/1159/976 783/1223/1042 -f 777/1225/1044 784/1236/1055 785/1226/1045 -f 732/1178/995 734/1180/997 786/1227/1046 -f 752/1198/1017 787/1238/1057 779/1228/1047 -f 788/1229/1048 789/1239/1058 780/1230/1049 -f 724/1171/988 726/1173/990 790/1231/1050 -f 742/1188/1006 744/1190/1008 791/1233/1052 -f 710/1159/976 712/1161/978 792/1234/1053 -f 793/1235/1054 794/1250/1059 785/1226/1045 -f 734/1180/997 736/1182/999 795/1237/1056 -f 754/1200/1019 796/1242/1060 787/1238/1057 -f 757/1205/1024 760/1204/1023 789/1239/1058 -f 726/1173/990 728/1175/992 765/1210/1029 -f 744/1190/1008 746/1192/1010 767/1211/1030 -f 712/1161/978 714/1163/980 769/1213/1032 -f 719/1168/985 771/1214/1033 794/1240/1059 -f 736/1182/999 738/1184/1002 773/1216/1035 -f 756/1201/1020 776/1218/1037 796/1242/1060 -f 798/1243/1061 799/1281/1098 800/1244/1062 -f 772/1215/1034 782/1222/1041 801/1246/1064 -f 785/1226/1045 803/1251/1068 762/1248/1066 -f 782/1222/1041 791/1233/1052 804/1249/1067 -f 794/1250/1059 797/1306/1063 803/1251/1068 -f 791/1233/1052 767/1211/1030 805/1252/1069 -f 771/1214/1033 798/1243/1061 797/1245/1063 -f 766/1220/1039 806/1256/1073 805/1252/1069 -f 770/1221/1040 807/1257/1074 798/1243/1061 -f 775/1217/1036 774/1224/1043 808/1253/1070 -f 766/1220/1039 779/1228/1047 810/1255/1072 -f 781/1232/1051 811/1260/1077 807/1257/1074 -f 774/1224/1043 783/1223/1042 812/1258/1075 -f 779/1228/1047 787/1238/1057 813/1259/1076 -f 790/1231/1050 814/1263/1080 811/1260/1077 -f 783/1223/1042 792/1234/1053 815/1261/1078 -f 787/1238/1057 796/1242/1060 816/1262/1079 -f 765/1210/1029 817/1266/1083 814/1263/1080 -f 792/1234/1053 769/1213/1032 818/1264/1081 -f 796/1242/1060 776/1218/1037 819/1265/1082 -f 764/1209/1028 820/1268/1085 817/1266/1083 -f 769/1213/1032 768/1212/1031 821/1267/1084 -f 776/1218/1037 775/1217/1036 809/1254/1071 -f 778/1219/1038 822/1270/1087 820/1268/1085 -f 768/1212/1031 780/1230/1049 823/1269/1086 -f 786/1227/1046 824/1272/1089 822/1270/1087 -f 780/1230/1049 789/1239/1058 825/1271/1088 -f 795/1237/1056 826/1273/1090 824/1272/1089 -f 760/1204/1023 827/1274/1091 825/1271/1088 -f 773/1216/1035 828/1275/1092 826/1273/1090 -f 759/1208/1027 763/1207/1026 827/1274/1091 -f 773/1216/1035 772/1215/1034 802/1247/1065 -f 830/1276/1093 831/1316/1132 832/1277/1094 -f 805/1252/1069 806/1256/1073 833/1279/1096 -f 807/1257/1074 835/1285/1102 799/1281/1098 -f 809/1254/1071 808/1253/1070 836/1282/1099 -f 806/1256/1073 810/1255/1072 838/1284/1101 -f 811/1260/1077 829/1278/1095 835/1285/1102 -f 808/1253/1070 812/1258/1075 839/1286/1103 -f 810/1255/1072 813/1259/1076 840/1287/1104 -f 814/1263/1080 830/1276/1093 829/1278/1095 -f 812/1258/1075 815/1261/1078 841/1288/1105 -f 813/1259/1076 816/1262/1079 842/1289/1106 -f 817/1266/1083 843/1292/1109 830/1276/1093 -f 815/1261/1078 818/1264/1081 844/1290/1107 -f 816/1262/1079 819/1265/1082 845/1291/1108 -f 820/1268/1085 846/1294/1111 843/1292/1109 -f 818/1264/1081 821/1267/1084 847/1293/1110 -f 819/1265/1082 809/1254/1071 837/1283/1100 -f 822/1270/1087 848/1296/1113 846/1294/1111 -f 821/1267/1084 823/1269/1086 849/1295/1112 -f 824/1272/1089 850/1298/1115 848/1296/1113 -f 823/1269/1086 825/1271/1088 851/1297/1114 -f 826/1273/1090 852/1300/1117 850/1298/1115 -f 825/1271/1088 827/1274/1091 853/1299/1116 -f 828/1275/1092 854/1302/1119 852/1300/1117 -f 763/1207/1026 855/1303/1120 853/1299/1116 -f 828/1275/1092 802/1247/1065 856/1301/1118 -f 762/1248/1066 857/1305/1122 855/1303/1120 -f 802/1247/1065 801/1246/1064 858/1304/1121 -f 803/1251/1068 859/1307/1123 857/1305/1122 -f 804/1249/1067 860/1308/1124 858/1304/1121 -f 797/1306/1063 800/1332/1062 859/1307/1123 -f 805/1252/1069 834/1280/1097 860/1308/1124 -f 862/1309/1125 863/1347/1162 864/1310/1126 -f 839/1286/1103 841/1288/1105 865/1312/1128 -f 840/1287/1104 842/1289/1106 867/1314/1130 -f 843/1292/1109 869/1319/1135 831/1316/1132 -f 841/1288/1105 844/1290/1107 870/1317/1133 -f 842/1289/1106 845/1291/1108 871/1318/1134 -f 846/1294/1111 861/1311/1127 869/1319/1135 -f 844/1290/1107 847/1293/1110 872/1320/1136 -f 845/1291/1108 837/1283/1100 873/1321/1137 -f 848/1296/1113 862/1309/1125 861/1311/1127 -f 847/1293/1110 849/1295/1112 874/1322/1138 -f 850/1298/1115 875/1324/1140 862/1309/1125 -f 849/1295/1112 851/1297/1114 876/1323/1139 -f 852/1300/1117 877/1326/1142 875/1324/1140 -f 851/1297/1114 853/1299/1116 878/1325/1141 -f 854/1302/1119 879/1328/1144 877/1326/1142 -f 855/1303/1120 880/1329/1145 878/1325/1141 -f 854/1302/1119 856/1301/1118 881/1327/1143 -f 857/1305/1122 882/1331/1147 880/1329/1145 -f 856/1301/1118 858/1304/1121 883/1330/1146 -f 859/1307/1123 884/1333/1148 882/1331/1147 -f 860/1308/1124 885/1335/1150 883/1330/1146 -f 800/1332/1062 886/1356/1151 884/1333/1148 -f 860/1308/1124 834/1280/1097 887/1334/1149 -f 799/1281/1098 888/1338/1153 886/1336/1151 -f 834/1280/1097 833/1279/1096 889/1337/1152 -f 835/1285/1102 890/1341/1156 888/1338/1153 -f 837/1283/1100 836/1282/1099 891/1339/1154 -f 833/1279/1096 838/1284/1101 892/1340/1155 -f 829/1278/1095 832/1277/1094 890/1341/1156 -f 836/1282/1099 839/1286/1103 866/1313/1129 -f 838/1284/1101 840/1287/1104 868/1315/1131 -f 894/1342/1157 895/1379/1193 896/1343/1158 -f 872/1320/1136 874/1322/1138 897/1345/1160 -f 875/1324/1140 899/1349/1164 863/1347/1162 -f 874/1322/1138 876/1323/1139 900/1348/1163 -f 877/1326/1142 893/1344/1159 899/1349/1164 -f 876/1323/1139 878/1325/1141 901/1350/1165 -f 879/1328/1144 894/1342/1157 893/1344/1159 -f 880/1329/1145 902/1351/1166 901/1350/1165 -f 881/1327/1143 903/1353/1168 894/1342/1157 -f 882/1331/1147 904/1354/1169 902/1351/1166 -f 881/1327/1143 883/1330/1146 905/1352/1167 -f 884/1333/1148 906/1357/1171 904/1354/1169 -f 883/1330/1146 885/1335/1150 907/1355/1170 -f 886/1356/1151 908/1384/1173 906/1357/1171 -f 885/1335/1150 887/1334/1149 909/1358/1172 -f 888/1338/1153 910/1361/1175 908/1359/1173 -f 887/1334/1149 889/1337/1152 911/1360/1174 -f 890/1341/1156 912/1365/1179 910/1361/1175 -f 873/1321/1137 891/1339/1154 913/1362/1176 -f 889/1337/1152 892/1340/1155 915/1364/1178 -f 832/1277/1094 916/1368/1182 912/1365/1179 -f 891/1339/1154 866/1313/1129 917/1366/1180 -f 892/1340/1155 868/1315/1131 918/1367/1181 -f 831/1316/1132 919/1371/1185 916/1368/1182 -f 866/1313/1129 865/1312/1128 920/1369/1183 -f 868/1315/1131 867/1314/1130 921/1370/1184 -f 869/1319/1135 922/1374/1188 919/1371/1185 -f 865/1312/1128 870/1317/1133 923/1372/1186 -f 867/1314/1130 871/1318/1134 924/1373/1187 -f 861/1311/1127 864/1310/1126 922/1374/1188 -f 870/1317/1133 872/1320/1136 898/1346/1161 -f 871/1318/1134 873/1321/1137 914/1363/1177 -f 925/1375/1189 926/1383/1197 927/1376/1190 -f 902/1351/1166 929/1380/1194 930/1378/1192 -f 903/1353/1168 931/1381/1195 895/1379/1193 -f 904/1354/1169 932/1382/1196 929/1380/1194 -f 905/1352/1167 925/1375/1189 931/1381/1195 -f 906/1357/1171 933/1385/1198 932/1382/1196 -f 905/1352/1167 907/1355/1170 926/1383/1197 -f 908/1384/1173 934/1412/1200 933/1385/1198 -f 907/1355/1170 909/1358/1172 935/1386/1199 -f 910/1361/1175 936/1389/1202 934/1387/1200 -f 909/1358/1172 911/1360/1174 937/1388/1201 -f 912/1365/1179 938/1393/1206 936/1389/1202 -f 914/1363/1177 913/1362/1176 939/1390/1203 -f 911/1360/1174 915/1364/1178 941/1392/1205 -f 916/1368/1182 942/1396/1209 938/1393/1206 -f 913/1362/1176 917/1366/1180 943/1394/1207 -f 915/1364/1178 918/1367/1181 944/1395/1208 -f 919/1371/1185 945/1399/1212 942/1396/1209 -f 917/1366/1180 920/1369/1183 946/1397/1210 -f 918/1367/1181 921/1370/1184 947/1398/1211 -f 922/1374/1188 948/1402/1215 945/1399/1212 -f 920/1369/1183 923/1372/1186 949/1400/1213 -f 921/1370/1184 924/1373/1187 950/1401/1214 -f 864/1310/1126 951/1404/1217 948/1402/1215 -f 923/1372/1186 898/1346/1161 952/1403/1216 -f 924/1373/1187 914/1363/1177 940/1391/1204 -f 863/1347/1162 953/1406/1219 951/1404/1217 -f 898/1346/1161 897/1345/1160 954/1405/1218 -f 899/1349/1164 955/1408/1221 953/1406/1219 -f 897/1345/1160 900/1348/1163 956/1407/1220 -f 893/1344/1159 896/1343/1158 955/1408/1221 -f 900/1348/1163 901/1350/1165 930/1378/1192 -f 957/1409/1222 958/1436/1248 959/1410/1223 -f 934/1412/1200 961/1451/1227 962/1413/1225 -f 926/1383/1197 935/1386/1199 963/1414/1226 -f 936/1389/1202 964/1417/1229 961/1415/1227 -f 935/1386/1199 937/1388/1201 965/1416/1228 -f 938/1393/1206 966/1421/1233 964/1417/1229 -f 940/1391/1204 939/1390/1203 967/1418/1230 -f 937/1388/1201 941/1392/1205 969/1420/1232 -f 942/1396/1209 970/1424/1236 966/1421/1233 -f 939/1390/1203 943/1394/1207 971/1422/1234 -f 941/1392/1205 944/1395/1208 972/1423/1235 -f 945/1399/1212 973/1427/1239 970/1424/1236 -f 943/1394/1207 946/1397/1210 974/1425/1237 -f 944/1395/1208 947/1398/1211 975/1426/1238 -f 948/1402/1215 976/1430/1242 973/1427/1239 -f 946/1397/1210 949/1400/1213 977/1428/1240 -f 947/1398/1211 950/1401/1214 978/1429/1241 -f 951/1404/1217 979/1432/1244 976/1430/1242 -f 949/1400/1213 952/1403/1216 980/1431/1243 -f 950/1401/1214 940/1391/1204 968/1419/1231 -f 953/1406/1219 981/1434/1246 979/1432/1244 -f 952/1403/1216 954/1405/1218 982/1433/1245 -f 955/1408/1221 983/1435/1247 981/1434/1246 -f 954/1405/1218 956/1407/1220 957/1409/1222 -f 896/1343/1158 984/1437/1249 983/1435/1247 -f 956/1407/1220 930/1378/1192 958/1436/1248 -f 895/1379/1193 985/1438/1250 984/1437/1249 -f 929/1380/1194 986/1439/1251 958/1436/1248 -f 931/1381/1195 987/1440/1252 985/1438/1250 -f 932/1382/1196 988/1441/1253 986/1439/1251 -f 925/1375/1189 928/1377/1191 987/1440/1252 -f 933/1385/1198 962/1413/1225 988/1441/1253 -f 990/1442/1254 991/1480/1290 992/1443/1255 -f 985/1438/1250 993/1446/1258 994/1445/1257 -f 986/1439/1251 995/1447/1259 959/1410/1223 -f 987/1440/1252 996/1448/1260 993/1446/1258 -f 988/1441/1253 989/1444/1256 995/1447/1259 -f 928/1377/1191 997/1450/1262 996/1448/1260 -f 962/1413/1225 990/1442/1254 989/1444/1256 -f 928/1377/1191 927/1376/1190 998/1449/1261 -f 961/1451/1227 999/1479/1264 990/1442/1254 -f 927/1376/1190 963/1414/1226 1000/1452/1263 -f 964/1417/1229 1001/1455/1266 999/1453/1264 -f 963/1414/1226 965/1416/1228 1002/1454/1265 -f 966/1421/1233 1003/1459/1270 1001/1455/1266 -f 968/1419/1231 967/1418/1230 1004/1456/1267 -f 965/1416/1228 969/1420/1232 1006/1458/1269 -f 970/1424/1236 1007/1462/1273 1003/1459/1270 -f 967/1418/1230 971/1422/1234 1008/1460/1271 -f 969/1420/1232 972/1423/1235 1009/1461/1272 -f 973/1427/1239 1010/1465/1276 1007/1462/1273 -f 971/1422/1234 974/1425/1237 1011/1463/1274 -f 972/1423/1235 975/1426/1238 1012/1464/1275 -f 976/1430/1242 1013/1468/1279 1010/1465/1276 -f 974/1425/1237 977/1428/1240 1014/1466/1277 -f 975/1426/1238 978/1429/1241 1015/1467/1278 -f 979/1432/1244 1016/1470/1281 1013/1468/1279 -f 977/1428/1240 980/1431/1243 1017/1469/1280 -f 978/1429/1241 968/1419/1231 1005/1457/1268 -f 981/1434/1246 1018/1472/1283 1016/1470/1281 -f 980/1431/1243 982/1433/1245 1019/1471/1282 -f 983/1435/1247 1020/1473/1284 1018/1472/1283 -f 982/1433/1245 957/1409/1222 960/1411/1224 -f 984/1437/1249 994/1445/1257 1020/1473/1284 -f 1022/1474/1285 1023/1514/1324 1024/1475/1286 -f 997/1450/1262 998/1449/1261 1025/1477/1288 -f 999/1479/1264 1027/1536/1292 991/1480/1290 -f 998/1449/1261 1000/1452/1263 1028/1481/1291 -f 1001/1455/1266 1021/1476/1287 1027/1482/1292 -f 1000/1452/1263 1002/1454/1265 1029/1483/1293 -f 1003/1459/1270 1022/1474/1285 1021/1476/1287 -f 1005/1457/1268 1004/1456/1267 1030/1484/1294 -f 1002/1454/1265 1006/1458/1269 1032/1486/1296 -f 1007/1462/1273 1033/1489/1299 1022/1474/1285 -f 1004/1456/1267 1008/1460/1271 1034/1487/1297 -f 1006/1458/1269 1009/1461/1272 1035/1488/1298 -f 1010/1465/1276 1036/1492/1302 1033/1489/1299 -f 1008/1460/1271 1011/1463/1274 1037/1490/1300 -f 1009/1461/1272 1012/1464/1275 1038/1491/1301 -f 1013/1468/1279 1039/1495/1305 1036/1492/1302 -f 1011/1463/1274 1014/1466/1277 1040/1493/1303 -f 1012/1464/1275 1015/1467/1278 1041/1494/1304 -f 1016/1470/1281 1042/1497/1307 1039/1495/1305 -f 1014/1466/1277 1017/1469/1280 1043/1496/1306 -f 1015/1467/1278 1005/1457/1268 1031/1485/1295 -f 1018/1472/1283 1044/1499/1309 1042/1497/1307 -f 1017/1469/1280 1019/1471/1282 1045/1498/1308 -f 1020/1473/1284 1046/1501/1311 1044/1499/1309 -f 1019/1471/1282 960/1411/1224 1047/1500/1310 -f 994/1445/1257 1048/1503/1313 1046/1501/1311 -f 960/1411/1224 959/1410/1223 1049/1502/1312 -f 993/1446/1258 1050/1504/1314 1048/1503/1313 -f 995/1447/1259 1051/1505/1315 1049/1502/1312 -f 996/1448/1260 1052/1506/1316 1050/1504/1314 -f 989/1444/1256 992/1443/1255 1051/1505/1315 -f 997/1450/1262 1026/1478/1289 1052/1506/1316 -f 1054/1507/1317 1055/1547/1356 1056/1508/1318 -f 1031/1485/1295 1030/1484/1294 1057/1510/1320 -f 1029/1483/1293 1032/1486/1296 1059/1512/1322 -f 1033/1489/1299 1061/1517/1327 1023/1514/1324 -f 1030/1484/1294 1034/1487/1297 1062/1515/1325 -f 1032/1486/1296 1035/1488/1298 1063/1516/1326 -f 1036/1492/1302 1053/1509/1319 1061/1517/1327 -f 1034/1487/1297 1037/1490/1300 1064/1518/1328 -f 1035/1488/1298 1038/1491/1301 1065/1519/1329 -f 1039/1495/1305 1054/1507/1317 1053/1509/1319 -f 1037/1490/1300 1040/1493/1303 1066/1520/1330 -f 1038/1491/1301 1041/1494/1304 1067/1521/1331 -f 1042/1497/1307 1068/1523/1333 1054/1507/1317 -f 1040/1493/1303 1043/1496/1306 1069/1522/1332 -f 1041/1494/1304 1031/1485/1295 1058/1511/1321 -f 1044/1499/1309 1070/1525/1335 1068/1523/1333 -f 1043/1496/1306 1045/1498/1308 1071/1524/1334 -f 1046/1501/1311 1072/1527/1337 1070/1525/1335 -f 1045/1498/1308 1047/1500/1310 1073/1526/1336 -f 1048/1503/1313 1074/1529/1339 1072/1527/1337 -f 1047/1500/1310 1049/1502/1312 1075/1528/1338 -f 1050/1504/1314 1076/1530/1340 1074/1529/1339 -f 1051/1505/1315 1077/1531/1341 1075/1528/1338 -f 1052/1506/1316 1078/1532/1342 1076/1530/1340 -f 992/1443/1255 1079/1533/1343 1077/1531/1341 -f 1026/1478/1289 1080/1535/1345 1078/1532/1342 -f 991/1480/1290 1081/1537/1346 1079/1533/1343 -f 1026/1478/1289 1025/1477/1288 1082/1534/1344 -f 1027/1536/1292 1083/1561/1348 1081/1537/1346 -f 1025/1477/1288 1028/1481/1291 1084/1538/1347 -f 1021/1476/1287 1024/1475/1286 1083/1539/1348 -f 1028/1481/1291 1029/1483/1293 1060/1513/1323 -f 1086/1540/1349 1087/1578/1386 1088/1541/1350 -f 1064/1518/1328 1066/1520/1330 1089/1543/1352 -f 1065/1519/1329 1067/1521/1331 1091/1545/1354 -f 1068/1523/1333 1093/1550/1359 1055/1547/1356 -f 1066/1520/1330 1069/1522/1332 1094/1548/1357 -f 1067/1521/1331 1058/1511/1321 1095/1549/1358 -f 1070/1525/1335 1085/1542/1351 1093/1550/1359 -f 1069/1522/1332 1071/1524/1334 1096/1551/1360 -f 1072/1527/1337 1086/1540/1349 1085/1542/1351 -f 1071/1524/1334 1073/1526/1336 1097/1552/1361 -f 1074/1529/1339 1098/1554/1363 1086/1540/1349 -f 1073/1526/1336 1075/1528/1338 1099/1553/1362 -f 1076/1530/1340 1100/1555/1364 1098/1554/1363 -f 1077/1531/1341 1101/1556/1365 1099/1553/1362 -f 1078/1532/1342 1102/1557/1366 1100/1555/1364 -f 1079/1533/1343 1103/1558/1367 1101/1556/1365 -f 1080/1535/1345 1104/1560/1369 1102/1557/1366 -f 1081/1537/1346 1105/1562/1370 1103/1558/1367 -f 1080/1535/1345 1082/1534/1344 1106/1559/1368 -f 1083/1561/1348 1107/1585/1372 1105/1562/1370 -f 1082/1534/1344 1084/1538/1347 1108/1563/1371 -f 1024/1475/1286 1109/1566/1374 1107/1564/1372 -f 1084/1538/1347 1060/1513/1323 1110/1565/1373 -f 1023/1514/1324 1111/1569/1377 1109/1566/1374 -f 1058/1511/1321 1057/1510/1320 1112/1567/1375 -f 1060/1513/1323 1059/1512/1322 1113/1568/1376 -f 1061/1517/1327 1114/1572/1380 1111/1569/1377 -f 1057/1510/1320 1062/1515/1325 1115/1570/1378 -f 1059/1512/1322 1063/1516/1326 1116/1571/1379 -f 1053/1509/1319 1056/1508/1318 1114/1572/1380 -f 1062/1515/1325 1064/1518/1328 1090/1544/1353 -f 1063/1516/1326 1065/1519/1329 1092/1546/1355 -f 1118/1573/1381 1119/1607/1414 1120/1574/1382 -f 1096/1551/1360 1097/1552/1361 1121/1576/1384 -f 1098/1554/1363 1123/1580/1388 1087/1578/1386 -f 1097/1552/1361 1099/1553/1362 1124/1579/1387 -f 1100/1555/1364 1117/1575/1383 1123/1580/1388 -f 1101/1556/1365 1125/1581/1389 1124/1579/1387 -f 1102/1557/1366 1118/1573/1381 1117/1575/1383 -f 1103/1558/1367 1126/1582/1390 1125/1581/1389 -f 1104/1560/1369 1127/1584/1392 1118/1573/1381 -f 1105/1562/1370 1128/1586/1393 1126/1582/1390 -f 1104/1560/1369 1106/1559/1368 1129/1583/1391 -f 1107/1585/1372 1130/1611/1395 1128/1586/1393 -f 1106/1559/1368 1108/1563/1371 1131/1587/1394 -f 1109/1566/1374 1132/1590/1397 1130/1588/1395 -f 1108/1563/1371 1110/1565/1373 1133/1589/1396 -f 1111/1569/1377 1134/1594/1401 1132/1590/1397 -f 1095/1549/1358 1112/1567/1375 1135/1591/1398 -f 1110/1565/1373 1113/1568/1376 1137/1593/1400 -f 1114/1572/1380 1138/1597/1404 1134/1594/1401 -f 1112/1567/1375 1115/1570/1378 1139/1595/1402 -f 1113/1568/1376 1116/1571/1379 1140/1596/1403 -f 1056/1508/1318 1141/1600/1407 1138/1597/1404 -f 1115/1570/1378 1090/1544/1353 1142/1598/1405 -f 1116/1571/1379 1092/1546/1355 1143/1599/1406 -f 1055/1547/1356 1144/1603/1410 1141/1600/1407 -f 1090/1544/1353 1089/1543/1352 1145/1601/1408 -f 1092/1546/1355 1091/1545/1354 1146/1602/1409 -f 1093/1550/1359 1147/1605/1412 1144/1603/1410 -f 1089/1543/1352 1094/1548/1357 1148/1604/1411 -f 1091/1545/1354 1095/1549/1358 1136/1592/1399 -f 1085/1542/1351 1088/1541/1350 1147/1605/1412 -f 1094/1548/1357 1096/1551/1360 1122/1577/1385 -f 1126/1582/1390 1149/1608/1415 1150/1606/1413 -f 1127/1584/1392 1151/1610/1417 1119/1607/1414 -f 1128/1586/1393 1152/1612/1418 1149/1608/1415 -f 1127/1584/1392 1129/1583/1391 1153/1609/1416 -f 1130/1611/1395 1154/3051/1420 1152/1612/1418 -f 1129/1583/1391 1131/1587/1394 1155/1613/1419 -f 1132/1590/1397 1156/1616/1422 1154/1614/1420 -f 1131/1587/1394 1133/1589/1396 1157/1615/1421 -f 1134/1594/1401 1158/1620/1426 1156/1616/1422 -f 1136/1592/1399 1135/1591/1398 1159/1617/1423 -f 1133/1589/1396 1137/1593/1400 1161/1619/1425 -f 1138/1597/1404 1162/1623/1429 1158/1620/1426 -f 1135/1591/1398 1139/1595/1402 1163/1621/1427 -f 1137/1593/1400 1140/1596/1403 1164/1622/1428 -f 1141/1600/1407 1165/1626/1432 1162/1623/1429 -f 1139/1595/1402 1142/1598/1405 1166/1624/1430 -f 1140/1596/1403 1143/1599/1406 1167/1625/1431 -f 1144/1603/1410 1168/1629/1435 1165/1626/1432 -f 1142/1598/1405 1145/1601/1408 1169/1627/1433 -f 1143/1599/1406 1146/1602/1409 1170/1628/1434 -f 1147/1605/1412 1171/1631/1437 1168/1629/1435 -f 1145/1601/1408 1148/1604/1411 1172/1630/1436 -f 1146/1602/1409 1136/1592/1399 1160/1618/1424 -f 1088/1541/1350 1173/1633/1439 1171/1631/1437 -f 1148/1604/1411 1122/1577/1385 1174/1632/1438 -f 1087/1578/1386 1175/1635/1441 1173/1633/1439 -f 1122/1577/1385 1121/1576/1384 1176/1634/1440 -f 1123/1580/1388 1177/1637/1443 1175/1635/1441 -f 1121/1576/1384 1124/1579/1387 1178/1636/1442 -f 1117/1575/1383 1120/1574/1382 1177/1637/1443 -f 1125/1581/1389 1150/1606/1413 1178/1636/1442 -f 1170/3052/2453 1160/3053/2454 1165/3054/2454 -f 1160/3053/2454 1159/3055/1444 1162/3056/1444 -f 1159/3055/1444 1163/3057/1444 1162/3056/1444 -f 1163/3057/1444 1166/1640/1444 1156/1639/1444 -f 1162/3056/1444 1163/3057/1444 1158/3058/1444 -f 1166/1640/1444 1169/3059/1444 1176/3060/1444 -f 1169/3059/1444 1172/3061/2455 1174/3062/1444 -f 1176/3060/1444 1169/3059/1444 1174/3062/1444 -f 1176/3060/1444 1178/3063/1444 1166/1640/1444 -f 1178/3063/1444 1150/1638/1444 1166/1640/1444 -f 1150/1638/1444 1149/3064/1444 1156/1639/1444 -f 1149/3064/1444 1152/3065/2456 1154/3066/2457 -f 1156/1639/1444 1149/3064/1444 1154/3066/2457 -f 1156/1639/1444 1158/3058/1444 1163/3057/1444 -f 1162/3056/1444 1165/3054/2454 1160/3053/2454 -f 1165/3054/2454 1168/3067/2458 1170/3052/2453 -f 1168/3067/2458 1171/3068/2459 1119/3069/2460 -f 1171/3068/2459 1173/3070/2461 1120/3071/2462 -f 1119/3069/2460 1171/3068/2459 1120/3071/2462 -f 1173/3070/2461 1175/3072/2463 1177/3073/2464 -f 1177/3073/2464 1120/3071/2462 1173/3070/2461 -f 1119/3069/2460 1151/3074/2465 1168/3067/2458 -f 1151/3074/2465 1153/3075/2466 1167/3076/2467 -f 1170/3052/2453 1151/3074/2465 1167/3076/2467 -f 1153/3075/2466 1155/3077/2468 1164/3078/2469 -f 1155/3077/2468 1157/3079/2470 1161/3080/2471 -f 1164/3078/2469 1155/3077/2468 1161/3080/2471 -f 1164/3078/2469 1167/3076/2467 1153/3075/2466 -f 1151/3074/2465 1170/3052/2453 1168/3067/2458 -f 1180/1641/1445 1181/3081/1445 1182/1642/1445 -f 1183/1646/1447 1184/3082/1447 1182/1644/1447 -f 1184/3082/1447 1185/3083/2472 1179/3084/2473 -f 1182/1644/1447 1184/3082/1447 1179/3084/2473 -f 1185/3083/2472 1186/3085/2474 1179/3084/2473 -f 1182/1644/1447 749/3086/1447 733/1645/1447 -f 1183/1647/1448 1187/3087/1448 1188/1648/1448 -f 1187/1651/1449 1189/3088/2475 1190/3089/2476 -f 1181/1652/1449 1180/3090/1449 1188/1650/1449 -f 1180/3090/1449 1191/3091/1449 1192/3092/1449 -f 1187/1651/1449 1190/3089/2476 1181/1652/1449 -f 1192/3092/1449 1188/1650/1449 1180/3090/1449 -f 1193/1653/1450 1194/3093/1450 1192/1654/1450 -f 1195/1656/1451 1198/3094/1451 1197/1657/1451 -f 1183/1665/1448 733/3095/1453 1189/1666/1453 -f 1181/1668/1445 1190/3096/1452 749/1669/1452 -f 1202/1671/1451 1203/3097/1451 1204/1672/1451 -f 1208/1674/1454 1204/3098/1452 1203/3099/2477 -f 1203/3099/2477 1205/1675/1455 1208/1674/1454 -f 1205/1675/1455 1206/3100/2478 1207/1676/1456 -f 1212/1679/1450 1207/3101/1450 1210/1677/1450 -f 1207/3101/1450 1206/3102/1450 1209/1690/1450 -f 1209/1690/1450 1210/1677/1450 1207/3101/1450 -f 1214/1682/1458 1212/3103/2479 1213/3104/2480 -f 1212/3103/2479 1211/3105/2481 1213/3104/2480 -f 1213/3104/2480 1202/1680/1457 1214/1682/1458 -f 1201/1673/1460 1204/1672/2482 1208/1684/1461 -f 1208/1684/1461 1207/3101/1449 1212/1679/1449 -f 1212/1679/1449 1214/1683/1459 1208/1684/1461 -f 1209/3106/1447 1206/3107/2483 1220/3108/1447 -f 1206/3107/2483 1205/1686/1463 1218/3109/2484 -f 1220/3108/1447 1206/3107/2483 1219/3110/1447 -f 1205/1686/1463 1203/3111/2485 1213/1687/1464 -f 1203/3111/2485 1202/3112/2485 1213/1687/1464 -f 1213/1687/1464 1211/3113/2486 1217/1685/1462 -f 1211/3113/2486 1210/3114/1447 1215/3115/1447 -f 1218/3109/2484 1219/3110/1447 1206/3107/2483 -f 1215/3115/1447 1216/3116/1447 1211/3113/2486 -f 1216/3116/1447 1217/1685/1462 1211/3113/2486 -f 1217/1685/1462 1218/3109/2484 1205/1686/1463 -f 1220/1688/1453 1221/1701/1453 1222/1689/1453 -f 1228/1693/1447 1222/1689/1447 1223/1691/1447 -f 1222/1689/1447 1221/1701/1447 1223/1691/1447 -f 1223/1691/1447 1224/1702/1447 1225/1697/1447 -f 1226/1692/1447 1227/1699/1447 1228/1693/1447 -f 1223/1691/1447 1225/1697/1447 1226/1692/1447 -f 1218/1694/1453 1224/1702/1453 1223/1691/1453 -f 1216/1696/1452 1226/1692/1452 1225/1697/1452 -f 1210/1677/1452 1228/1693/1452 1227/1699/1452 -f 1219/1695/1465 1223/1691/1465 1221/1701/1465 -f 1217/1698/1450 1225/1697/1450 1224/1702/1450 -f 1215/1700/1466 1227/1699/1466 1226/1692/1466 -f 1209/1690/1451 1222/1689/1451 1228/1693/1451 -f 1203/1703/1467 1230/3117/1469 1229/1704/1468 -f 1230/1706/1469 1232/3118/1470 1231/1707/1470 -f 1230/1709/1471 1203/3119/1452 1204/1710/1472 -f 1201/1712/1474 1202/3120/1453 1229/1713/1475 -f 1238/1717/1479 1233/3121/2487 1236/1715/1477 -f 1233/3121/2487 1234/3122/2488 1235/3123/2489 -f 1236/1715/1477 1233/3121/2487 1235/3123/2489 -f 1237/1718/1480 1193/3124/2490 1186/1719/1481 -f 1185/1721/1483 1194/3125/2491 1234/1722/1484 -f 1194/1726/1488 1193/3126/2492 1236/3127/2493 -f 1193/3126/2492 1237/3128/2494 1236/3127/2493 -f 1194/1726/1488 1236/3127/2493 1235/1724/1486 -f 1242/1727/1489 1241/3129/2495 1240/1728/1490 -f 1197/1730/1491 1198/3130/1491 1244/1731/1492 -f 1245/1734/1452 1237/3131/1452 1238/1735/1452 -f 1238/1735/1452 1243/3132/1493 1244/3133/1492 -f 1244/3133/1492 1246/1733/1452 1238/1735/1452 -f 1241/3134/2495 1233/1738/1453 1240/1737/1490 -f 1233/1738/1453 1234/3135/1453 1248/3136/1453 -f 1247/1736/1453 1233/1738/1453 1248/3136/1453 -f 1250/1739/1494 1249/1745/1500 1235/1740/1495 -f 1251/1742/1497 1254/1774/1526 1253/1743/1498 -f 1249/1745/1500 1255/1753/1508 1247/1746/1501 -f 1235/1740/1495 1249/1745/1500 1248/1747/1502 -f 1246/1749/1504 1256/1752/1507 1250/1739/1494 -f 1245/1750/1505 1250/1739/1494 1236/1741/1496 -f 1249/1745/1500 1250/1739/1494 1256/1752/1507 -f 1260/1754/1509 1259/1757/1512 1258/1755/1510 -f 1259/1757/1512 1262/1759/1514 1261/1758/1513 -f 1262/1759/1514 1264/1769/1521 1263/1760/1515 -f 1239/1762/1451 1265/3137/2496 1268/1763/1451 -f 1268/1763/1451 1267/3138/1451 1242/1761/1451 -f 1267/3138/1451 1266/3139/1451 1242/1761/1451 -f 1256/1752/1507 1270/1765/1517 1269/1764/1516 -f 1246/1749/1504 1244/3140/2497 1270/1765/1517 -f 1265/3141/2498 1271/1770/1522 1268/1768/1520 -f 1271/1770/1522 1273/3142/2499 1272/1766/1518 -f 1268/1768/1520 1271/1770/1522 1272/1766/1518 -f 1269/1764/1516 1240/3143/2500 1247/1746/1501 -f 1264/1769/1521 1273/3142/2499 1271/1770/1522 -f 1252/1744/1499 1253/1743/1498 1275/1771/1523 -f 1195/1773/1525 1196/3144/2501 1254/1774/1526 -f 1274/1772/1524 1275/1771/1523 1277/1775/1527 -f 1276/1776/1528 1277/1775/1527 1279/1777/1529 -f 1278/1778/1530 1279/1777/1529 1281/1779/1531 -f 1280/1780/1532 1281/1779/1531 1283/1781/1451 -f 1283/1781/1451 1285/1784/1534 1284/1783/1533 -f 1285/1784/1534 1260/1754/1509 1257/1756/1511 -f 1286/1785/1535 1287/1809/1558 1288/1786/1536 -f 1291/1788/1538 1292/1810/1559 1293/1789/1539 -f 1286/1785/1535 1289/1787/1537 1295/1791/1541 -f 1290/1790/1540 1293/1789/1539 1297/1793/1543 -f 1299/1796/1546 1296/1794/1544 1297/1793/1543 -f 1301/1798/1449 1299/1796/1546 1300/1797/1547 -f 1301/1798/1449 1302/1799/1548 1304/1800/1549 -f 1303/1801/1550 1304/1800/1549 1309/1805/1554 -f 1305/1802/1551 1307/1804/1553 1311/1807/1556 -f 1287/1809/1558 1308/1806/1555 1309/1805/1554 -f 1291/1788/1538 1310/1808/1557 1311/1807/1556 -f 1309/1805/1554 1312/1824/1570 1313/1811/1560 -f 1297/1793/1543 1293/1789/1539 1314/1813/1561 -f 1300/1797/1547 1297/1793/1543 1315/1814/1562 -f 1298/1815/1545 1316/1817/1563 1319/1819/1565 -f 1302/1799/1548 1300/1797/1547 1317/1818/1564 -f 1302/1799/1548 1320/1821/1567 1321/1822/1568 -f 1304/1800/1549 1321/1822/1568 1312/1824/1570 -f 1320/1821/1567 1317/1818/1564 1323/1825/1571 -f 1320/1821/1567 1324/1826/1572 1325/1827/1573 -f 1321/1822/1568 1325/1827/1573 1326/1828/1574 -f 1312/1824/1570 1326/1828/1574 1328/1832/1576 -f 1315/1814/1562 1314/1813/1561 1329/1835/1577 -f 1317/1818/1564 1315/1814/1562 1330/1836/1578 -f 1327/1831/1575 1331/1850/1588 1332/1837/1579 -f 1328/1832/1576 1333/1851/1589 1334/1838/1580 -f 1329/1835/1577 1292/1834/1559 1332/1837/1579 -f 1289/1839/1537 1334/1838/1580 1336/1841/1582 -f 1330/1836/1578 1329/1835/1577 1335/1840/1581 -f 1323/1825/1571 1330/1836/1578 1337/1843/1583 -f 1324/1826/1572 1323/1825/1571 1338/1845/1584 -f 1324/1826/1572 1339/1846/1585 1340/1847/1586 -f 1325/1827/1573 1340/1847/1586 1341/1848/1587 -f 1326/1828/1574 1341/1848/1587 1333/1851/1589 -f 1339/1846/1585 1338/1845/1584 1342/1852/1590 -f 1339/1846/1585 1343/1853/1591 1344/1854/1592 -f 1341/1848/1587 1340/1847/1586 1344/1854/1592 -f 1335/1840/1581 1332/1837/1579 1347/1859/1596 -f 1337/1843/1583 1335/1840/1581 1348/1860/1597 -f 1337/1843/1583 1350/1863/1599 1342/1852/1590 -f 1333/1865/1589 1351/1877/1606 1352/1866/1600 -f 1343/1853/1591 1342/1852/1590 1354/1871/1602 -f 1343/1853/1591 1355/1873/1603 1356/1874/1604 -f 1355/1873/1607 1358/1889/1607 1359/1878/1608 -f 1356/1874/1604 1359/1878/1608 1360/1879/1609 -f 1347/1883/1596 1331/1880/1588 1361/1882/1610 -f 1348/1885/1597 1347/1883/1596 1362/1884/1611 -f 1350/1870/1599 1348/1885/1597 1363/1886/1612 -f 1354/1871/1602 1350/1870/1599 1364/1887/1613 -f 1355/1873/1607 1354/1871/1602 1365/1888/1614 -f 1322/1855/1616 1367/1919/1645 1368/1894/1617 -f 1360/1896/1619 1359/1921/1647 1369/1897/1620 -f 1357/1895/1618 1368/1894/1617 1371/1899/1622 -f 1360/1896/1619 1370/1898/1621 1372/1901/1624 -f 1362/1903/1626 1361/1900/1623 1371/1899/1622 -f 1351/1902/1625 1372/1901/1624 1374/1905/1628 -f 1363/1906/1630 1362/1903/1626 1373/1904/1627 -f 1366/1892/1632 1352/1891/1629 1374/1905/1628 -f 1364/1909/1634 1363/1906/1630 1375/1907/1631 -f 1366/1892/1632 1376/1908/1633 1378/1911/1636 -f 1364/1909/1634 1377/1910/1635 1379/1913/1638 -f 1319/1872/1640 1353/1912/1637 1378/1911/1636 -f 1365/1914/1639 1379/1913/1638 1381/1916/1642 -f 1359/1921/1647 1358/1917/1643 1381/1916/1642 -f 1379/1913/1638 1382/1923/1648 1383/1924/1649 -f 1369/1897/1620 1381/1916/1642 1383/1924/1649 -f 1372/1929/1652 1370/1926/1621 1385/1928/1651 -f 1374/1934/1628 1372/1929/1652 1386/1930/1653 -f 1373/1931/1627 1387/1933/1654 1389/1936/1656 -f 1375/1937/1657 1389/1936/1656 1390/1939/1658 -f 1390/1939/1658 1393/1958/1668 1394/1945/1661 -f 1368/1948/1617 1396/1949/1663 1397/1950/1664 -f 1386/1951/1653 1398/1953/1665 1399/1954/1666 -f 1397/1950/1664 1400/1960/1669 1402/1964/1671 -f 1389/1966/1656 1387/3145/1672 1402/1967/1671 -f 1403/1971/1673 1399/1970/1666 1405/1989/1677 -f 1400/1998/1669 1409/2000/1682 1410/2001/1683 -f 1406/2009/1678 1405/3146/1677 1411/2010/1684 -f 1410/2015/1683 1409/2012/1682 1412/2014/1685 -f 1413/2057/1686 1412/2051/1685 1427/2053/1700 -f 1414/2059/1687 1398/2054/1665 1428/2056/1701 -f 1413/2061/1686 1429/3147/1702 1424/2045/1697 -f 1421/2062/1694 1419/2079/1692 1430/2063/1703 -f 1421/2062/1694 1431/2064/1704 1432/2065/1705 -f 1428/2066/1706 1432/2065/1705 1434/2069/1708 -f 1424/2070/1697 1429/2058/1702 1433/2068/1707 -f 1423/2043/1709 1434/2069/1708 1436/2072/1711 -f 1425/2073/1698 1424/2070/1697 1435/2071/1710 -f 1425/2073/1698 1437/2074/1712 1438/2075/1713 -f 1422/2077/1695 1417/2076/1690 1438/2075/1713 -f 1422/2077/1695 1439/2078/1714 1430/2063/1703 -f 1439/2078/1716 1438/2075/1713 1440/2081/1715 -f 1439/2078/1716 1441/2082/1717 1442/2083/1718 -f 1431/2084/1704 1442/2083/1718 1443/2085/1719 -f 1427/2087/1700 1420/2109/1693 1445/2088/1721 -f 1431/2084/1704 1444/2086/1720 1447/2090/1723 -f 1433/2092/1707 1427/2087/1700 1446/2089/1722 -f 1434/2094/1708 1432/2091/1705 1447/2090/1723 -f 1433/2092/1707 1448/2093/1724 1450/2096/1726 -f 1436/2098/1711 1434/2094/1708 1449/2095/1725 -f 1437/2080/1712 1435/2097/1710 1450/2096/1726 -f 1436/2098/1711 1451/2099/1727 1453/2101/1729 -f 1437/2080/1712 1452/2100/1728 1454/2103/1730 -f 1426/2102/1699 1453/2101/1729 1455/2104/1731 -f 1440/2081/1715 1454/2103/1730 1456/2105/1732 -f 1442/2083/1718 1441/2082/1717 1456/2105/1732 -f 1420/2109/1693 1367/1919/1645 1457/2107/1734 -f 1447/2110/1735 1444/2131/1756 1458/2111/1736 -f 1446/2113/1738 1460/2133/1758 1461/2114/1739 -f 1449/2116/1741 1447/2110/1735 1459/2112/1737 -f 1448/2115/1740 1461/2114/1739 1463/2118/1743 -f 1451/2120/1745 1449/2116/1741 1462/2117/1742 -f 1450/2119/1744 1463/2118/1743 1465/2122/1747 -f 1452/2123/1748 1465/2122/1747 1466/2125/1750 -f 1454/2126/1751 1466/2125/1750 1467/2127/1752 -f 1443/2129/1754 1456/2128/1753 1467/2127/1752 -f 1444/2131/1756 1443/2129/1754 1468/2130/1755 -f 1466/2125/1750 1470/2143/1766 1471/2137/1761 -f 1468/2130/1755 1467/2127/1762 1471/2137/1761 -f 1460/2144/1758 1474/2160/1778 1475/2145/1767 -f 1462/2147/1742 1459/2161/1779 1476/2148/1768 -f 1461/2146/1739 1475/2145/1767 1478/2150/1770 -f 1464/2141/1746 1462/2147/1742 1477/2149/1769 -f 1463/2151/1771 1478/2150/1770 1480/2153/1773 -f 1470/2143/1766 1465/2142/1747 1480/2153/1773 -f 1470/2143/1766 1481/2154/1774 1482/2155/1775 -f 1472/2138/1763 1471/2137/1761 1482/2155/1775 -f 1472/2138/1763 1483/2156/1776 1484/2157/1777 -f 1459/2161/1779 1458/2158/1736 1484/2157/1777 -f 1481/2154/1774 1485/2169/1786 1486/2162/1780 -f 1483/2156/1776 1482/2155/1775 1486/2162/1780 -f 1484/2157/1777 1483/2156/1776 1487/2163/1781 -f 1476/2148/1768 1484/2157/1777 1488/2164/1782 -f 1478/2150/1770 1490/2167/1784 1491/2168/1785 -f 1480/2153/1773 1491/2168/1785 1485/2169/1786 -f 1477/2170/1769 1489/2165/1783 1492/2171/1787 -f 1475/2166/1767 1494/2188/1796 1495/2173/1789 -f 1490/2167/1784 1495/2173/1789 1496/2175/1790 -f 1491/2168/1785 1496/2175/1790 1498/2179/1792 -f 1485/2169/1786 1498/2179/1792 1499/2180/1793 -f 1487/2163/1781 1486/2162/1780 1499/2180/1793 -f 1488/2164/1782 1487/2163/1781 1500/2181/1794 -f 1473/2182/1765 1305/2184/1551 1310/2186/1557 -f 1489/2165/1783 1488/2164/1782 1501/2185/1795 -f 1474/2187/1778 1310/2186/1557 1494/2188/1796 -f 1500/2181/1794 1499/2180/1793 1502/2189/1797 -f 1501/2185/1795 1500/2181/1794 1503/2190/1798 -f 1492/2171/1787 1501/2185/1795 1504/2192/1799 -f 1495/2173/1789 1506/2195/1801 1507/2198/1802 -f 1496/2175/1790 1507/2198/1802 1508/2199/1803 -f 1498/2179/1792 1508/2199/1803 1502/2189/1797 -f 1506/2195/1801 1494/2194/1796 1291/1788/1538 -f 1507/2198/1802 1506/2195/1801 1290/1790/1540 -f 1507/2198/1802 1296/1794/1544 1299/1796/1546 -f 1508/2199/1803 1299/1796/1546 1301/1798/1449 -f 1503/2190/1798 1502/2189/1797 1301/1798/1449 -f 1504/2192/1799 1503/2190/1798 1303/1801/1550 -f 1504/2192/1799 1308/1806/1555 1287/1809/1558 -f 1505/2193/1800 1287/1809/1558 1286/1785/1535 -f 1510/2203/1804 1511/3148/1816 1512/2204/1805 -f 1513/2206/1807 1514/3149/1807 1515/2207/1807 -f 1510/2211/1810 1517/3150/2502 1519/3151/2503 -f 1517/3150/2502 1518/3152/1453 1519/3151/2503 -f 1519/3151/2503 1516/2209/1808 1510/2211/1810 -f 1516/2209/1808 1515/3153/2504 1511/2210/1809 -f 1519/2212/1811 1520/3154/2505 1513/2206/1812 -f 1521/2213/1814 1522/3155/1814 1518/2214/1814 -f 1515/2216/1815 1514/3156/2506 1512/2217/1805 -f 1518/2219/1451 1522/3157/1451 1520/2220/1451 -f 1517/2222/1817 1510/3158/2507 1509/2223/1818 -f 1514/3159/2508 1513/3160/2509 1512/3161/2510 -f 1513/3160/2509 1520/2225/1820 1509/2227/1822 -f 1520/2225/1820 1522/3162/1452 1521/2226/1821 -f 1509/2227/1822 1512/3161/2510 1513/3160/2509 -f 1524/2228/1823 1525/2244/2511 1526/2229/1824 -f 1525/3163/1452 1527/3164/1452 1528/3165/1452 -f 1525/3163/1452 1528/3165/1452 1529/3166/1452 -f 1541/3167/1452 1542/2233/1452 1535/3168/1452 -f 1542/2233/1452 1526/3169/1452 1532/3170/1452 -f 1533/2231/1452 1542/2233/1452 1532/3170/1452 -f 1539/3171/1452 1540/3172/1452 1535/3168/1452 -f 1540/3172/1452 1541/3167/1452 1535/3168/1452 -f 1537/3173/1452 1538/3174/1452 1536/3175/1452 -f 1538/3174/1452 1539/3171/1452 1536/3175/1452 -f 1526/3169/1452 1525/3163/1452 1530/3176/1452 -f 1525/3163/1452 1529/3166/1452 1530/3176/1452 -f 1536/3175/1452 1539/3171/1452 1535/3168/1452 -f 1526/3169/1452 1530/3176/1452 1531/3177/1452 -f 1526/3169/1452 1531/3177/1452 1532/3170/1452 -f 1534/2232/1452 1535/3168/1452 1542/2233/1452 -f 1539/2234/1825 1543/3178/1857 1544/2235/1826 -f 1542/2237/1449 1545/3179/1449 1523/2238/1449 -f 1537/2240/1828 1546/2267/1828 1547/2241/1828 -f 1548/2243/1829 1527/3040/2512 1525/2244/1830 -f 1549/2245/1832 1550/3180/1843 1533/2246/1833 -f 1551/2248/1835 1549/3181/1832 1532/2249/1834 -f 1529/2252/1838 1552/3182/2513 1553/2253/1839 -f 1553/2253/1839 1551/3183/2514 1531/3184/2515 -f 1531/3184/2515 1530/2251/1837 1553/2253/1839 -f 1555/2254/1840 1536/2266/2516 1535/2255/1841 -f 1550/2257/1843 1556/3185/1846 1534/2258/1844 -f 1554/2260/1845 1535/3186/2517 1534/2261/1844 -f 1528/2263/1847 1557/3039/2442 1552/2264/1848 -f 1536/2266/1850 1555/2254/2518 1546/2267/1851 -f 1540/2268/1827 1544/3187/1826 1558/2269/1853 -f 1542/2271/1855 1541/2270/1854 1558/2269/1853 -f 1543/2273/1857 1539/3188/1825 1538/2274/1450 -f 1560/2276/1858 1561/2280/2519 1562/2277/1859 -f 1563/2279/1861 1564/2282/1865 1561/2280/1862 -f 1565/2281/1864 1566/2285/1864 1564/2282/1865 -f 1567/2286/1869 1569/3189/2520 1570/2287/1870 -f 1571/2289/1872 1570/3190/2521 1569/2290/1872 -f 1573/2292/1873 1571/3191/2522 1572/2293/1874 -f 1568/3192/1453 1570/3193/1453 1566/3194/1453 -f 1570/3193/1453 1571/3195/1453 1566/3194/1453 -f 1561/2297/1453 1564/3196/1453 1573/2295/1453 -f 1564/3196/1453 1566/3194/1453 1571/3195/1453 -f 1577/3197/1453 1562/3198/1453 1576/3199/1453 -f 1562/3198/1453 1561/2297/1453 1575/2296/1453 -f 1575/2296/1453 1576/3199/1453 1562/3198/1453 -f 1564/3196/1453 1571/3195/1453 1573/2295/1453 -f 1575/2298/1876 1573/3200/1873 1574/2299/1875 -f 1580/3201/1452 1579/3202/1452 1559/3203/1452 -f 1579/3202/1452 1578/3204/1452 1559/3203/1452 -f 1563/2303/1452 1560/3205/1452 1574/2301/1452 -f 1560/3205/1452 1559/3203/1452 1578/3204/1452 -f 1574/2301/1452 1560/3205/1452 1578/3204/1452 -f 1567/3206/1452 1565/3207/1452 1569/3208/1452 -f 1565/3207/1452 1563/2303/1452 1572/2302/1452 -f 1572/2302/1452 1569/3208/1452 1565/3207/1452 -f 1559/2278/1860 1562/2277/1859 1577/2304/1878 -f 1580/2305/1880 1577/2304/2523 1576/2306/1881 -f 1576/2308/1883 1575/3209/1876 1578/2309/1877 -f 1582/2311/1451 1583/2311/1451 1584/2312/1451 -f 1582/2313/1886 1586/3210/2524 1587/2314/1887 -f 1586/2316/1889 1588/2325/2525 1589/2317/1890 -f 1589/2319/1892 1588/3211/2526 1581/2320/1893 -f 1585/2322/1895 1587/3212/2527 1589/2323/1896 -f 1582/2311/1898 1581/2312/1898 1588/2325/1898 -f 1583/2326/1452 1591/3213/1452 1592/2327/1452 -f 1585/2329/1451 1590/3214/1451 1594/2330/1451 -f 1585/2332/1451 1591/2332/1451 1583/2333/1451 -f 1581/2334/1451 1584/2334/1451 1594/2335/1451 -f 1596/2336/1451 1593/2333/1451 1592/2332/1451 -f 1584/2338/1453 1596/3215/1453 1595/2339/1453 -f 1583/2311/1899 1593/2311/1899 1596/2312/1899 -f 1594/2341/1900 1595/3216/1900 1592/2342/1900 -f 1592/2332/1901 1595/2337/1901 1598/2337/1902 -f 1598/2337/1902 1600/2337/1904 1599/2332/1904 -f 1598/2344/1905 1595/3217/2528 1596/2345/1906 -f 1593/2347/1908 1592/3218/2529 1597/2348/1909 -f 1602/2350/1451 1603/3219/1451 1604/2351/1451 -f 1607/3220/1452 1604/3221/1452 1606/2355/1452 -f 1604/3221/1452 1603/2353/1452 1606/2355/1452 -f 1609/2356/1911 1610/3222/1911 1611/2357/1911 -f 1601/2361/1453 1612/3223/1453 1611/2359/1453 -f 1611/2359/1453 1610/3224/1453 1602/2360/1453 -f 1601/2364/1449 1604/3225/1449 1613/2362/1449 -f 1604/3225/1449 1607/3226/1449 1613/2362/1449 -f 1608/2358/1911 1611/2357/1911 1612/2365/1911 -f 1606/2367/1912 1608/2358/1912 1613/2366/1912 -f 1605/2369/1912 1609/2356/1912 1608/2358/1912 -f 1601/2370/1913 1614/3227/2530 1615/2371/2531 -f 1603/2376/2532 1616/3228/2533 1617/2377/1918 -f 1619/2382/1921 1620/2388/1927 1621/2383/1922 -f 1622/2385/1924 1623/2410/1948 1624/2386/1925 -f 1620/2388/1927 1626/2392/1931 1627/2389/1928 -f 1625/2387/1926 1624/2386/1925 1628/2390/1929 -f 1626/2392/1931 1630/2396/1935 1631/2393/1932 -f 1629/2391/1930 1628/2390/1929 1632/2394/1933 -f 1630/2396/1935 1634/2400/1939 1635/2397/1936 -f 1633/2395/1934 1632/2394/1933 1636/2398/1937 -f 1634/2400/1939 1638/2404/1942 1639/2401/1940 -f 1637/2399/1938 1636/2398/1937 1640/2402/1941 -f 1638/2404/1942 1642/3229/2534 1643/2405/1943 -f 1640/2402/1941 1644/2409/1947 1645/2406/1944 -f 1643/2405/1943 1642/3229/2534 1646/2407/1945 -f 1644/2409/1947 1619/3230/1921 1618/2384/1923 -f 1647/2408/1946 1646/2407/1945 1623/2410/1948 -f 1648/2411/1949 1649/2415/1953 1650/2412/1950 -f 1652/2414/1952 1653/2417/1955 1650/2412/1950 -f 1654/2416/1954 1655/2422/1960 1653/2417/1955 -f 1656/2418/2535 1657/2423/1961 1658/2419/1957 -f 1660/2421/1959 1661/2426/1964 1655/2422/1960 -f 1657/2423/1961 1662/2427/1965 1663/2424/1962 -f 1664/2425/1963 1665/2430/1968 1661/2426/1964 -f 1662/2427/1965 1666/2431/1969 1667/2428/1966 -f 1668/2429/1967 1669/2434/1972 1665/2430/1968 -f 1666/2431/1969 1670/2435/1973 1671/2432/1970 -f 1672/2433/1971 1673/2438/1975 1669/2434/1972 -f 1670/2435/1973 1648/3231/1949 1651/2436/1951 -f 1674/2437/1974 1675/2439/1976 1673/2438/1975 -f 1675/2439/1976 1676/2444/1981 1677/2440/1977 -f 1651/2413/1951 1650/2412/1950 1678/2441/1978 -f 1680/2443/1980 1681/2446/1983 1676/2444/1981 -f 1653/2417/1955 1682/2447/1984 1678/2441/1978 -f 1680/2443/1980 1659/2420/1958 1683/2445/1982 -f 1655/2422/1960 1684/2449/1986 1682/2447/1984 -f 1659/2420/1958 1658/2419/1957 1685/2448/1985 -f 1661/2426/1964 1686/2451/1988 1684/2449/1986 -f 1658/2419/1957 1663/2424/1962 1687/2450/1987 -f 1665/2430/1968 1688/2453/1990 1686/2451/1988 -f 1663/2424/1962 1667/2428/1966 1689/2452/1989 -f 1669/2434/1972 1690/2455/1992 1688/2453/1990 -f 1667/2428/1966 1671/2432/1970 1691/2454/1991 -f 1673/2438/1975 1677/2440/1977 1690/2455/1992 -f 1671/2432/1970 1651/2436/1951 1679/2456/1979 -f 1691/2454/1991 1679/2456/1979 1692/2457/1993 -f 1676/2444/1981 1694/2463/1998 1695/2459/1995 -f 1679/2442/1979 1678/2441/1978 1696/2460/1996 -f 1676/2444/1981 1681/2446/1983 1697/2462/1997 -f 1682/2447/1984 1698/2465/2000 1696/2460/1996 -f 1681/2446/1983 1683/2445/1982 1699/2464/1999 -f 1684/2449/1986 1700/2467/2002 1698/2465/2000 -f 1683/2445/1982 1685/2448/1985 1701/2466/2001 -f 1686/2451/1988 1702/2469/2004 1700/2467/2002 -f 1685/2448/1985 1687/2450/1987 1703/2468/2003 -f 1688/2453/1990 1704/2471/2006 1702/2469/2004 -f 1687/2450/1987 1689/2452/1989 1705/2470/2005 -f 1690/2455/1992 1706/2472/2007 1704/2471/2006 -f 1689/2452/1989 1691/2454/1991 1693/2458/1994 -f 1677/2440/1977 1695/2459/1995 1706/2472/2007 -f 1693/2458/1994 1692/2457/1993 1707/2473/2008 -f 1694/2463/1998 1709/2478/2012 1710/2475/2010 -f 1692/2461/1993 1696/2460/1996 1711/2476/2011 -f 1697/2462/1997 1712/2480/2014 1709/2478/2012 -f 1698/2465/2000 1713/2481/2015 1711/2476/2011 -f 1697/2462/1997 1699/2464/1999 1714/2479/2013 -f 1700/2467/2002 1715/2483/2017 1713/2481/2015 -f 1699/2464/1999 1701/2466/2001 1716/2482/2016 -f 1702/2469/2004 1717/2485/2019 1715/2483/2017 -f 1701/2466/2001 1703/2468/2003 1718/2484/2018 -f 1704/2471/2006 1719/2487/2021 1717/2485/2019 -f 1703/2468/2003 1705/2470/2005 1720/2486/2020 -f 1706/2472/2007 1721/2488/2022 1719/2487/2021 -f 1705/2470/2005 1693/2458/1994 1708/2474/2009 -f 1695/2459/1995 1710/2475/2010 1721/2488/2022 -f 1707/3232/2008 1711/3233/2011 1713/3234/2015 -f 1713/3234/2015 1715/3235/2017 1717/3236/2019 -f 1717/3236/2019 1719/3237/2021 1721/2491/2022 -f 1721/2491/2022 1710/3238/2010 1709/3239/2012 -f 1709/3239/2012 1712/3240/2014 1714/3241/2013 -f 1714/3241/2013 1716/3242/2016 1718/2489/2018 -f 1718/2489/2018 1720/3243/2020 1708/2490/2009 -f 1708/2490/2009 1707/3232/2008 1721/2491/2022 -f 1707/3232/2008 1713/3234/2015 1721/2491/2022 -f 1713/3234/2015 1717/3236/2019 1721/2491/2022 -f 1721/2491/2022 1709/3239/2012 1714/3241/2013 -f 1714/3241/2013 1718/2489/2018 1721/2491/2022 -f 1622/2385/2023 1722/2496/2033 1723/2492/2024 -f 1724/2493/2026 1725/2494/2029 1629/2391/2027 -f 1725/2494/2029 1726/2536/2536 1625/2387/2030 -f 1647/2408/2025 1723/2492/2024 1727/2495/2031 -f 1625/2387/2030 1726/2536/2536 1722/2496/2033 -f 1643/2405/2032 1727/2495/2031 1728/2497/2034 -f 1729/2498/2036 1730/2503/2042 1731/2499/2037 -f 1639/2401/2035 1728/2497/2034 1733/2501/2039 -f 1734/2502/2041 1735/2535/2537 1730/2503/2042 -f 1635/2397/2040 1733/2501/2039 1736/2504/2043 -f 1738/2505/2045 1735/2535/2537 1734/2502/2041 -f 1740/2507/2047 1738/2505/2045 1737/2506/2046 -f 1631/2393/2044 1736/2504/2043 1741/2509/2049 -f 1743/2510/2051 1740/2507/2047 1739/2508/2048 -f 1744/2512/2053 1745/2533/2079 1637/2399/2054 -f 1747/2513/2056 1743/2510/2051 1742/2511/2052 -f 1749/2515/2058 1747/2513/2056 1746/2514/2057 -f 1751/2517/2060 1749/2515/2058 1748/2516/2059 -f 1753/2519/2062 1751/2517/2060 1750/2518/2061 -f 1741/2509/2049 1754/2522/2066 1621/2383/2064 -f 1755/2521/2065 1756/2532/2078 1753/2519/2062 -f 1754/2522/2066 1757/2527/2072 1618/2384/2067 -f 1732/2500/2038 1731/2499/2037 1758/2523/2068 -f 1759/2524/2069 1758/2523/2068 1760/2525/2070 -f 1757/2527/2072 1762/2530/2076 1645/2406/2073 -f 1761/2526/2071 1760/2525/2070 1763/2528/2074 -f 1762/2530/2076 1744/2512/2053 1641/2403/2055 -f 1765/2531/2077 1766/3244/2080 1756/2532/2078 -f 1745/2533/2079 1724/2493/2026 1633/2395/2028 -f 1764/2529/2075 1763/2528/2074 1766/2534/2080 -f 1731/2499/2081 1730/2503/2082 1725/2494/2082 -f 1749/2515/2083 1751/2517/2084 1736/2504/2084 -f 1758/2523/2085 1731/2499/2081 1724/2493/2081 -f 1747/2513/2086 1749/2515/2083 1733/2501/2083 -f 1743/2510/2087 1747/2513/2086 1728/2497/2086 -f 1763/2528/2088 1760/2525/2089 1744/2512/2089 -f 1740/2507/2090 1743/2510/2087 1727/2495/2087 -f 1766/2534/2091 1763/2528/2088 1762/2530/2088 -f 1738/2505/2092 1740/2507/2090 1723/2492/2090 -f 1756/2532/1452 1766/3244/2091 1757/2527/2091 -f 1735/2535/2093 1738/2505/2092 1722/2496/2092 -f 1753/2519/2094 1756/2532/1452 1754/2522/1452 -f 1730/2503/2082 1735/2535/2093 1726/2536/2093 -f 1751/2517/2084 1753/2519/2094 1741/2509/2094 -f 1760/2525/2089 1758/2523/2085 1745/2533/2085 -f 1768/2537/2095 1769/2588/2095 1770/2538/2096 -f 1628/2540/2097 1632/3245/2104 1657/2423/2098 -f 1642/2541/2100 1646/2546/2106 1672/2433/2101 -f 1642/2541/2100 1668/2429/2102 1664/2425/2103 -f 1632/2543/2104 1636/2558/2085 1662/2544/2105 -f 1646/2546/2106 1623/3246/2538 1674/2437/2538 -f 1630/2547/2107 1654/2559/2116 1652/2548/2108 -f 1644/2550/2110 1670/2561/2118 1666/2551/2111 -f 1638/2553/2086 1664/3247/2103 1660/2554/2112 -f 1626/2549/2109 1652/2548/2108 1649/2556/2114 -f 1636/2558/2085 1640/2552/2111 1666/2551/2111 -f 1634/2555/2113 1660/2554/2112 1654/2559/2116 -f 1619/2560/2117 1648/3248/2119 1670/2561/2118 -f 1620/2557/2115 1649/2556/2114 1648/2562/2119 -f 1623/2564/2120 1646/2595/2121 1771/2565/2121 -f 1630/2567/2122 1773/2616/2122 1774/2568/2123 -f 1776/2570/2124 1777/2594/2124 1778/2571/2125 -f 1636/2573/2127 1632/2634/2128 1779/2574/2128 -f 1640/2576/2129 1636/2573/2127 1780/2575/2127 -f 1782/2578/2131 1783/2632/2132 1784/2579/2132 -f 1638/2581/2134 1786/2592/2134 1787/2582/2135 -f 1620/2584/2136 1788/2615/2136 1789/2585/2137 -f 1790/2587/2138 1791/2620/2138 1769/2588/2095 -f 1624/2589/2139 1792/2599/2139 1793/2590/2140 -f 1634/2569/2123 1774/2568/2123 1786/2592/2134 -f 1794/2593/2141 1795/2618/2141 1777/2594/2124 -f 1642/2583/2135 1787/2582/2135 1771/2565/2121 -f 1640/2576/2129 1781/2577/2130 1796/2596/2142 -f 1772/2566/2144 1797/2614/2166 1798/2598/2145 -f 1796/2596/2147 1781/2577/2160 1769/2600/2148 -f 1793/2590/2150 1799/2608/2159 1800/2602/2151 -f 1786/2592/1942 1774/2568/2162 1785/2603/2153 -f 1787/2582/2154 1801/2610/2161 1802/2605/2155 -f 1789/2585/2157 1788/2615/2167 1778/2606/1276 -f 1792/2599/2146 1798/2598/2145 1799/2608/2159 -f 1781/2577/2160 1780/2575/1938 1770/2609/1938 -f 1786/2592/1942 1784/2604/1940 1801/2610/2161 -f 1774/2568/2162 1773/2616/2168 1795/2611/2163 -f 1779/2574/2152 1800/2602/2151 1770/2609/1938 -f 1803/2612/2164 1796/2596/2147 1791/2601/2149 -f 1771/2565/2156 1802/2605/2155 1797/2614/2166 -f 1788/2615/2167 1803/2612/2164 1804/2613/2165 -f 1773/2616/2168 1789/2585/2157 1777/2607/2158 -f 1619/2617/2169 1644/2597/2143 1796/2596/2142 -f 1794/2593/2141 1782/2578/2131 1785/2580/2133 -f 1620/2584/2136 1619/3249/2169 1803/2612/2169 -f 1805/2619/2170 1804/2624/2170 1791/2620/2138 -f 1806/2621/2171 1807/2631/2172 1798/2622/2172 -f 1775/2572/2126 1778/2571/2125 1804/2624/2170 -f 1808/2625/2173 1809/2633/2174 1800/2626/2174 -f 1810/2628/2175 1811/2635/2176 1802/2629/2176 -f 1807/2631/2172 1808/2625/2173 1799/2627/2173 -f 1783/2632/2132 1810/2628/2175 1801/2630/2175 -f 1623/2564/2120 1772/2566/2120 1792/2599/2139 -f 1767/2539/2096 1770/2538/2096 1800/2626/2174 -f 1626/2586/2137 1789/2585/2137 1773/2616/2122 -f 1628/2591/2140 1793/2590/2140 1779/2574/2128 -f 1811/2635/2176 1806/2621/2171 1797/2623/2171 -f 1784/2636/2177 1785/2653/2194 1812/2637/2178 -f 1801/2639/2180 1814/2651/2192 1815/2640/2181 -f 1777/2642/2183 1778/2663/2203 1816/2643/2184 -f 1798/2645/2186 1818/2665/2204 1819/2646/2187 -f 1769/2648/2189 1770/2656/2190 1820/2649/2190 -f 1784/2636/2177 1813/2638/2179 1814/2651/2192 -f 1822/2652/2193 1812/2637/2178 1785/2653/2194 -f 1800/2655/2196 1823/2666/2205 1820/2649/2190 -f 1824/2657/2197 1825/2662/2202 1804/2658/2198 -f 1802/2641/2182 1815/2640/2181 1826/2660/2200 -f 1825/2662/2202 1816/2643/2184 1778/2663/2203 -f 1795/2654/2195 1777/2642/2183 1817/2644/2185 -f 1797/2661/2201 1826/2660/2200 1818/2665/2204 -f 1791/2659/2199 1769/2648/2189 1821/2650/2191 -f 1799/2647/2188 1819/2646/2187 1823/2666/2205 -f 1828/2667/1921 1829/2673/2210 1830/2668/2206 -f 1831/2670/2207 1832/2696/2217 1833/2671/2208 -f 1829/2673/2210 1835/2678/2212 1836/2674/2211 -f 1834/2675/2209 1833/3250/2208 1837/2676/1929 -f 1835/2678/2212 1839/2682/1935 1840/2679/2213 -f 1838/2677/1930 1837/2676/1929 1841/2680/1933 -f 1839/2682/1935 1843/2686/1939 1844/2683/2215 -f 1842/2681/2214 1841/2680/1933 1845/2684/1937 -f 1843/2686/1939 1847/2690/1940 1848/2687/1940 -f 1846/2685/1938 1845/2684/1937 1849/2688/2216 -f 1847/2690/1940 1851/3251/2534 1852/2691/1943 -f 1849/2688/2216 1853/2695/1947 1854/2692/1947 -f 1852/2691/1943 1851/3251/2534 1855/2693/1945 -f 1853/2695/1947 1828/2667/1921 1827/2669/1923 -f 1856/2694/1946 1855/2693/1945 1832/2696/2217 -f 1857/2697/1949 1858/2704/2222 1859/2698/1950 -f 1861/2700/2218 1862/3252/2223 1863/2701/2219 -f 1865/2703/1952 1866/2709/1955 1859/2698/1950 -f 1862/2705/2223 1867/2710/2225 1868/2706/2224 -f 1869/2708/1954 1870/2713/1960 1866/2709/1955 -f 1867/2710/2225 1871/2714/2227 1872/2711/2226 -f 1873/2712/1959 1874/2717/1964 1870/2713/1960 -f 1871/2714/2227 1875/2718/2228 1876/2715/1962 -f 1877/2716/1963 1878/2721/1968 1874/2717/1964 -f 1875/2718/2228 1879/2722/1969 1880/2719/1966 -f 1881/2720/2229 1882/2725/2230 1878/2721/1968 -f 1879/2722/1969 1883/2726/1973 1884/2723/1970 -f 1885/2724/1971 1886/2727/2231 1882/2725/2230 -f 1883/2726/1973 1857/2697/1949 1860/2699/1951 -f 1861/2700/2218 1864/2702/2220 1886/2727/2231 -f 1864/2702/2220 1887/2731/2233 1888/2728/1977 -f 1860/2699/1951 1859/2698/1950 1889/2729/2232 -f 1863/2701/2219 1891/3253/2234 1887/2731/2233 -f 1866/2709/1955 1892/2734/1984 1889/2729/2232 -f 1863/2707/2219 1868/2706/2224 1893/2732/1982 -f 1870/2713/1960 1894/2736/1986 1892/2734/1984 -f 1868/2706/2224 1872/2711/2226 1895/2735/1985 -f 1874/2717/1964 1896/2738/2235 1894/2736/1986 -f 1872/2711/2226 1876/2715/1962 1897/2737/1987 -f 1878/2721/1968 1898/2740/1990 1896/2738/2235 -f 1876/2715/1962 1880/2719/1966 1899/2739/2236 -f 1882/2725/2230 1900/2742/1992 1898/2740/1990 -f 1880/2719/1966 1884/2723/1970 1901/2741/1991 -f 1886/2727/2231 1888/2728/1977 1900/2742/1992 -f 1884/2723/1970 1860/2699/1951 1890/2730/1979 -f 1901/2741/1991 1890/2730/1979 1902/2743/1993 -f 1887/2731/2233 1904/2748/1998 1905/2745/2238 -f 1890/2730/1979 1889/2729/2232 1906/2746/2239 -f 1887/2731/2233 1891/3253/2234 1907/2747/1997 -f 1892/2734/1984 1908/2751/2000 1906/2746/2239 -f 1891/2733/2234 1893/2732/1982 1909/2749/1999 -f 1894/2736/1986 1910/2753/2241 1908/2751/2000 -f 1893/2732/1982 1895/2735/1985 1911/2752/2240 -f 1896/2738/2235 1912/2755/2242 1910/2753/2241 -f 1895/2735/1985 1897/2737/1987 1913/2754/2003 -f 1898/2740/1990 1914/2757/2006 1912/2755/2242 -f 1897/2737/1987 1899/2739/2236 1915/2756/2243 -f 1900/2742/1992 1916/2758/2244 1914/2757/2006 -f 1899/2739/2236 1901/2741/1991 1903/2744/2237 -f 1888/2728/1977 1905/2745/2238 1916/2758/2244 -f 1903/2744/2237 1902/2743/1993 1917/2759/2008 -f 1904/2748/1998 1919/2763/2247 1920/2761/2246 -f 1902/2743/1993 1906/2746/2239 1921/2762/2011 -f 1907/2747/1997 1922/3254/2014 1919/2763/2247 -f 1908/2751/2000 1923/2766/2015 1921/2762/2011 -f 1907/2750/1997 1909/2749/1999 1924/2764/2013 -f 1910/2753/2241 1925/2768/2017 1923/2766/2015 -f 1909/2749/1999 1911/2752/2240 1926/2767/2248 -f 1912/2755/2242 1927/2770/2250 1925/2768/2017 -f 1911/2752/2240 1913/2754/2003 1928/2769/2249 -f 1914/2757/2006 1929/2772/2251 1927/2770/2250 -f 1913/2754/2003 1915/2756/2243 1930/2771/2020 -f 1916/2758/2244 1931/2773/2022 1929/2772/2251 -f 1915/2756/2243 1903/2744/2237 1918/2760/2245 -f 1905/2745/2238 1920/2761/2246 1931/2773/2022 -f 1917/3255/2008 1921/3256/2011 1923/3257/2015 -f 1923/3257/2015 1925/3258/2017 1927/3259/2250 -f 1927/3259/2250 1929/3260/2251 1923/3257/2015 -f 1929/3260/2251 1931/2774/2022 1923/3257/2015 -f 1931/2774/2022 1920/3261/2246 1919/3262/2247 -f 1919/3262/2247 1922/3263/2014 1931/2774/2022 -f 1922/3263/2014 1924/2775/2013 1931/2774/2022 -f 1924/2775/2013 1926/3264/2248 1928/3265/2249 -f 1928/3265/2249 1930/3266/2020 1924/2775/2013 -f 1930/3266/2020 1918/2776/2245 1924/2775/2013 -f 1918/2776/2245 1917/3255/2008 1931/2774/2022 -f 1917/3255/2008 1923/3257/2015 1931/2774/2022 -f 1831/2670/2023 1932/2781/2033 1933/2777/2252 -f 1934/2778/2254 1935/2779/2257 1838/2677/2255 -f 1935/2779/2257 1936/2822/2539 1834/2675/2258 -f 1856/2694/2253 1933/2777/2252 1937/2780/2259 -f 1834/2672/2258 1936/2821/2539 1932/2781/2033 -f 1852/2691/2260 1937/2780/2259 1938/2782/2261 -f 1939/2783/2263 1940/2788/2269 1941/2784/2264 -f 1848/2687/2262 1938/2782/2261 1943/2786/2266 -f 1944/2787/2268 1945/3267/2540 1940/2788/2269 -f 1844/2683/2267 1943/2786/2266 1946/2789/2270 -f 1948/2790/2272 1945/2820/2540 1944/2787/2268 -f 1950/2792/2274 1948/2790/2272 1947/2791/2273 -f 1840/2679/2271 1946/2789/2270 1951/2794/2276 -f 1953/2795/2278 1950/2792/2274 1949/2793/2275 -f 1954/2797/2280 1955/2818/2305 1846/2685/2281 -f 1957/2798/2283 1953/2795/2278 1952/2796/2279 -f 1959/2800/2285 1957/2798/2283 1956/2799/2284 -f 1961/2802/2287 1959/2800/2285 1958/2801/2286 -f 1963/2804/2289 1961/2802/2287 1960/2803/2288 -f 1951/2794/2276 1964/2807/2066 1830/2668/2291 -f 1965/2806/2292 1966/2817/2304 1963/2804/2289 -f 1964/2807/2066 1967/2812/2298 1827/2669/2293 -f 1942/2785/2265 1941/2784/2264 1968/2808/2294 -f 1969/2809/2295 1968/2808/2294 1970/2810/2296 -f 1967/2812/2298 1972/2815/2302 1854/2692/2299 -f 1971/2811/2297 1970/2810/2296 1973/2813/2300 -f 1972/2815/2302 1954/2797/2280 1850/2689/2282 -f 1975/2816/2303 1976/2819/2306 1966/2817/2304 -f 1955/2818/2305 1934/2778/2254 1842/2681/2256 -f 1974/2814/2301 1973/2813/2300 1976/2819/2306 -f 1941/2784/2081 1940/2788/2082 1935/2779/2082 -f 1959/2800/2083 1961/2802/2084 1946/2789/2084 -f 1968/2808/2085 1941/2784/2081 1934/2778/2081 -f 1957/2798/2086 1959/2800/2083 1943/2786/2083 -f 1953/2795/2087 1957/2798/2086 1938/2782/2086 -f 1973/2813/2088 1970/2810/2089 1954/2797/2089 -f 1950/2792/2090 1953/2795/2087 1937/2780/2087 -f 1976/2819/2307 1973/2813/2088 1972/2815/2088 -f 1948/2790/2092 1950/2792/2090 1933/2777/2090 -f 1966/2817/1452 1976/2819/2307 1967/2812/2307 -f 1945/2820/2093 1948/2790/2092 1932/2781/2092 -f 1963/2804/2308 1966/2817/1452 1964/2807/1452 -f 1940/2788/2082 1945/3267/2093 1936/2822/2093 -f 1961/2802/2084 1963/2804/2308 1951/2794/2308 -f 1970/2810/2089 1968/2808/2085 1955/2818/2085 -f 1977/2823/2096 1978/2875/2095 1979/2824/2095 -f 1832/2826/2309 1833/3268/2314 1862/2827/2310 -f 1837/2829/2312 1841/2839/2104 1871/2830/2098 -f 1851/2832/2100 1855/2841/2315 1885/2833/2101 -f 1833/2835/2314 1837/2829/2312 1867/2831/2313 -f 1851/2832/2100 1881/2834/2102 1877/2837/2103 -f 1841/2839/2104 1845/2848/2085 1875/2840/2105 -f 1855/2841/2315 1832/2826/2309 1861/2828/2311 -f 1839/2842/2107 1869/2708/2116 1865/2703/1930 -f 1853/2844/2110 1883/2726/2118 1879/2722/2111 -f 1847/2846/2086 1877/2716/2103 1873/2712/2112 -f 1845/2848/2085 1849/3269/2111 1879/2849/2111 -f 1843/2847/2113 1873/2712/2112 1869/2708/2116 -f 1828/2850/1946 1857/2697/1946 1883/2726/2118 -f 1832/2851/2316 1981/2884/2316 1982/2852/2317 -f 1983/2854/2318 1984/2898/2319 1839/2855/2319 -f 1986/2857/2320 1987/2880/2320 1988/2858/2321 -f 1845/2860/2322 1989/2895/2322 1990/2861/2323 -f 1991/2863/2324 1989/2895/2322 1845/2860/2322 -f 1993/2865/2132 1994/2919/2364 1995/2866/2325 -f 1851/2868/2326 1996/2890/2326 1997/2869/2327 -f 1998/2871/2328 1999/2892/2329 1829/2872/2329 -f 2000/2874/2330 2001/2907/2330 1979/2824/2095 -f 1837/2876/2331 2002/2887/2331 2003/2877/2332 -f 1847/2870/2327 1997/2869/2327 1983/2854/2318 -f 2004/2879/2141 2005/2905/2141 1987/2880/2320 -f 1982/2852/2317 1996/2890/2326 1851/2868/2326 -f 2006/2881/2333 1991/2863/2324 1849/2864/2324 -f 2007/2883/2334 2008/2901/2356 1981/2884/2335 -f 2006/2881/2337 2001/2900/2355 1979/2885/2338 -f 2009/2886/2340 2010/2893/2350 2002/2887/2341 -f 1997/2869/2103 1994/3270/2086 1995/2888/2083 -f 2011/2889/2344 2012/2896/2351 1996/2890/2345 -f 1998/2871/2347 1987/2903/2358 1988/2891/2348 -f 2010/2893/2350 2007/2883/2334 2003/2877/2336 -f 1991/2863/2339 1979/2885/2338 1980/2894/2105 -f 2012/2896/2351 1994/3270/2086 1997/2869/2103 -f 1983/2854/2343 1995/2888/2083 2005/2897/2352 -f 1980/2894/2105 2009/2886/2340 1990/2861/2342 -f 2013/2899/2354 2014/2902/2357 2001/2900/2355 -f 2008/2901/2356 2011/2889/2344 1982/2852/2346 -f 1999/2892/2349 1988/2891/2348 2014/2902/2357 -f 1984/2898/2353 2005/2897/2352 1987/2903/2358 -f 2013/2899/2359 2006/2881/2333 1853/2882/2333 -f 1992/2867/2325 1995/2866/2325 2005/2905/2141 -f 1999/2892/2329 2013/2899/2359 1828/2904/2360 -f 2000/2874/2330 2015/2911/2361 2014/2906/2361 -f 2016/2908/2171 2017/2918/2362 2007/2909/2362 -f 1985/2859/2321 1988/2858/2321 2014/2906/2361 -f 2019/2912/2174 2009/2921/2174 2010/2913/2363 -f 2020/2915/2175 2021/2922/2176 2011/2916/2176 -f 2017/2918/2362 2018/2914/2363 2010/2913/2363 -f 1993/2865/2132 2020/2915/2175 2012/2917/2175 -f 1833/2920/2332 2003/2877/2332 1981/2884/2316 -f 1977/2823/2096 1980/2825/2096 2009/2921/2174 -f 1984/2898/2319 1998/2871/2328 1835/2873/2328 -f 1841/2862/2323 1990/2861/2323 2002/2887/2331 -f 2021/2922/2176 2016/2908/2171 2008/2910/2171 -f 1994/2923/2365 1995/2940/2194 2022/2924/2178 -f 2012/2926/2366 2024/2938/2375 2025/2927/2181 -f 1987/2929/2367 1988/2950/2203 2026/2930/2184 -f 2007/2932/2369 2028/2951/2204 2029/2933/2370 -f 1979/2935/2372 1980/2943/2373 2030/2936/2373 -f 1994/2923/2365 2023/2925/2365 2024/2938/2375 -f 2032/2939/2193 2022/2924/2178 1995/2940/2194 -f 2009/2942/2377 2033/2953/2383 2030/2936/2373 -f 2034/2944/2378 2035/2949/2382 2014/2945/2379 -f 2011/2928/2182 2025/2927/2181 2036/2947/2380 -f 2035/2949/2382 2026/2930/2184 1988/2950/2203 -f 2005/2941/2376 1987/2929/2367 2027/2931/2368 -f 2008/2948/2381 2036/2947/2380 2028/2951/2204 -f 2001/2946/2199 1979/2935/2372 2031/2937/2374 -f 2010/2934/2371 2029/2933/2370 2033/2953/2383 -f 2052/2969/2400 2047/2964/2392 2046/2963/2391 -f 2054/2971/2402 2053/2970/2401 2052/2969/2400 -f 2061/2978/2409 2062/2984/2409 2063/2979/2410 -f 2069/2983/2413 2065/3271/2541 2041/2981/2411 -f 2065/3271/2541 2062/3272/2542 2041/2981/2411 -f 2062/3272/2542 2066/3273/1452 2037/3274/2543 -f 2066/3273/1452 2067/3275/2544 2037/3274/2543 -f 2062/3272/2542 2037/3274/2543 2040/3276/2545 -f 2062/3272/2542 2040/3276/2545 2041/2981/2411 -f 2062/2984/2409 2061/2978/2409 2070/2985/1447 -f 2063/2987/2414 2071/3277/2546 1191/2988/2415 -f 2073/2990/2417 2074/3007/2418 2071/2991/2418 -f 2062/2993/2420 2065/3278/2420 2071/2994/2420 -f 2061/2996/2421 2064/3279/2421 2074/2997/2421 -f 2075/2999/2422 2072/3280/2422 1191/3000/2422 -f 2064/3002/2423 2075/3281/2547 1192/3003/2424 -f 2063/3005/2410 2072/3280/1447 2075/2999/1447 -f 2074/3007/2418 1192/3001/2426 1191/3000/2426 -f 2073/3012/2548 2043/3282/2549 2045/3283/2550 -f 2043/3282/2551 2044/3284/2551 2045/3283/2551 -f 2070/3011/2430 2061/3285/2552 2073/3012/2431 -f 2073/3012/2431 2045/3283/2550 2076/3286/2553 -f 2073/3012/2431 2076/3286/2553 2046/3287/2554 -f 2073/3012/2431 2046/3287/2554 2048/3288/2555 -f 2073/3012/2431 2048/3288/2555 2077/3010/2429 -f 2056/3289/2556 2078/3290/2557 2060/3291/2558 -f 2078/3290/2557 2042/3292/2559 2060/3291/2558 -f 2042/3292/2559 2039/3293/2560 2058/3294/2561 -f 2039/3293/2560 2038/3295/2562 2058/3294/2561 -f 2042/3292/2559 2059/3296/2563 2060/3291/2558 -f 2038/3295/2562 2067/3297/2564 2066/3298/2565 -f 2038/3295/2562 2066/3298/2565 2070/3015/1451 -f 2059/3296/2563 2042/3292/2559 2055/3299/2566 -f 2055/3299/2566 2042/3292/2559 2058/3294/2561 -f 2077/3016/2434 2051/3300/2567 2057/3017/2435 -f 2057/3017/2435 2058/3294/2561 2038/3295/2562 -f 2057/3017/2435 2038/3295/2562 2070/3015/1451 -f 1942/3301/2265 1969/3302/2295 1971/3303/2297 -f 1971/3303/2297 1974/3304/2301 1975/3305/2303 -f 1975/3305/2303 1965/3306/2292 1962/3019/2290 -f 1962/3019/2290 1960/3307/2288 1958/3308/2286 -f 1958/3308/2286 1956/3309/2284 1962/3019/2290 -f 1956/3309/2284 1952/3020/2279 1962/3019/2290 -f 1952/3020/2279 1949/3310/2275 1939/3021/2263 -f 1949/3310/2275 1947/3311/2273 1939/3021/2263 -f 1947/3311/2273 1944/3312/2268 1939/3021/2263 -f 1939/3021/2263 1942/3301/2265 1971/3303/2297 -f 1971/3303/2297 1975/3305/2303 1939/3021/2263 -f 1975/3305/2303 1962/3019/2290 1939/3021/2263 -f 1732/3313/2038 1759/3314/2069 1761/3022/2071 -f 1761/3022/2071 1764/3315/2075 1752/3023/2063 -f 1764/3315/2075 1765/3316/2077 1752/3023/2063 -f 1765/3316/2077 1755/3317/2065 1752/3023/2063 -f 1752/3023/2063 1750/3318/2061 1742/3024/2052 -f 1750/3318/2061 1748/3319/2059 1742/3024/2052 -f 1748/3319/2059 1746/3320/2057 1742/3024/2052 -f 1742/3024/2052 1739/3321/2048 1737/3322/2046 -f 1737/3322/2046 1734/3323/2041 1742/3024/2052 -f 1734/3323/2041 1729/3324/2036 1742/3024/2052 -f 1729/3324/2036 1732/3313/2038 1761/3022/2071 -f 1729/3324/2036 1761/3022/2071 1742/3024/2052 -f 1191/3027/1452 1180/3325/1445 1186/3025/1452 -f 1180/3325/1445 1179/3326/1446 1186/3025/1452 -f 1270/3327/2568 1244/3328/2569 1276/3329/2570 -f 1244/3328/2569 1198/3330/2571 1251/3331/2572 -f 1252/3332/2573 1244/3328/2569 1251/3331/2572 -f 1198/3330/2571 1195/3333/2574 1251/3331/2572 -f 1239/3334/2575 1240/3335/2576 1271/3336/2577 -f 1240/3335/2576 1269/3030/2439 1258/3337/2578 -f 1263/3338/2579 1240/3335/2576 1261/3339/2580 -f 1271/3336/2577 1265/3340/2581 1239/3334/2575 -f 1263/3338/2579 1271/3336/2577 1240/3335/2576 -f 1244/3328/2569 1252/3332/2573 1274/3341/2582 -f 1244/3328/2569 1274/3341/2582 1276/3329/2570 -f 1261/3339/2580 1240/3335/2576 1258/3337/2578 -f 1269/3030/2439 1270/3327/2568 1282/3028/2437 -f 1270/3327/2568 1276/3329/2570 1278/3342/2583 -f 1257/3343/2584 1258/3337/2578 1269/3030/2439 -f 1270/3327/2568 1278/3342/2583 1280/3344/2585 -f 1270/3327/2568 1280/3344/2585 1282/3028/2437 -f 1284/3029/2438 1257/3343/2584 1269/3030/2439 -f 2065/2992/2419 2069/3345/2586 2068/3031/2440 -f 2068/3031/2440 2078/3290/2587 2050/3346/2588 -f 2078/3290/2587 2056/3289/2589 2050/3346/2588 -f 2050/3346/2588 2043/3032/2441 2068/3031/2440 -f 2043/3032/2441 2073/2990/2417 2065/2992/2419 -f 1523/3035/1453 1545/3347/1453 1549/3033/1453 -f 1545/3347/1453 1558/3348/1453 1554/3349/1453 -f 1549/3033/1453 1545/3347/1453 1550/3350/1453 -f 1558/3348/1453 1544/3351/1453 1554/3349/1453 -f 1544/3351/1453 1543/3352/1453 1554/3349/1453 -f 1543/3352/1453 1547/3353/1453 1555/3354/1453 -f 1547/3353/1453 1546/3355/1453 1555/3354/1453 -f 1557/3356/1453 1548/3357/1453 1524/3358/1453 -f 1552/3359/1453 1557/3356/1453 1524/3358/1453 -f 1543/3352/1453 1555/3354/1453 1554/3349/1453 -f 1552/3359/1453 1524/3358/1453 1553/3360/1453 -f 1524/3358/1453 1523/3035/1453 1553/3360/1453 -f 1554/3349/1453 1556/3361/1453 1545/3347/1453 -f 1556/3361/1453 1550/3350/1453 1545/3347/1453 -f 1551/3034/1453 1553/3360/1453 1523/3035/1453 -f 1185/3036/1453 1184/3362/1448 1188/3037/1448 -f 1192/3038/1453 1194/3363/1453 1185/3036/1453 -f 1557/3039/2442 1528/2263/1847 1527/3040/2443 -f 784/3042/1055 777/3364/2590 1189/3365/2591 -f 1189/3365/2591 720/3043/2445 784/3042/1055 -f 720/3043/2445 719/3366/985 793/3041/1054 -f 718/3367/2592 717/3368/2593 1190/3044/2446 -f 1190/3044/2446 1189/3369/2594 757/3045/1024 -f 1189/3369/2594 777/3370/1044 758/3371/1022 -f 1189/3369/2594 758/3371/1022 757/3045/1024 -f 788/3046/1048 718/3367/984 1190/3044/2446 -o ShellL -v -0.256342 0.546177 0.003411 -v -0.316872 0.511227 0.003411 -v -0.317492 0.511922 0.601541 -v -0.256632 0.547057 0.601541 -v -0.120362 0.240757 0.003411 -v -0.068422 0.287527 0.003411 -v -0.067672 0.286977 0.601541 -v -0.119897 0.239952 0.601541 -v -0.357952 0.454687 0.003411 -v -0.358802 0.455062 0.601541 -v -0.039997 0.351377 0.003411 -v -0.039087 0.351182 0.601541 -v -0.372482 0.386322 0.003411 -v -0.373412 0.386322 0.601541 -v -0.039997 0.421267 0.003411 -v -0.039087 0.421462 0.601541 -v -0.357952 0.317957 0.003411 -v -0.358802 0.317577 0.601541 -v -0.068422 0.485117 0.003411 -v -0.067672 0.485662 0.601541 -v -0.316872 0.261412 0.003411 -v -0.317492 0.260722 0.601541 -v -0.120362 0.531882 0.003411 -v -0.119897 0.532687 0.601541 -v -0.256342 0.226467 0.003411 -v -0.256632 0.225582 0.601541 -v -0.186832 0.553482 0.003411 -v -0.186737 0.554407 0.601541 -v -0.186832 0.219162 0.003411 -v -0.186737 0.218237 0.601541 -v -0.216302 0.422942 0.729391 -v -0.264237 0.570472 0.729421 -v -0.333967 0.530212 0.729421 -v -0.230167 0.414937 0.729401 -v -0.184162 0.193752 0.729421 -v -0.186922 0.220012 0.711551 -v -0.120792 0.241497 0.711551 -v -0.107587 0.218632 0.729421 -v -0.185147 0.352972 0.729376 -v -0.047757 0.272507 0.729421 -v -0.173247 0.363687 0.729426 -v -0.381292 0.465077 0.729421 -v -0.239582 0.401982 0.729351 -v -0.015007 0.346062 0.729421 -v -0.166737 0.378312 0.729396 -v -0.398032 0.386322 0.729421 -v -0.242912 0.386322 0.729421 -v -0.015007 0.426577 0.729421 -v -0.166737 0.394327 0.729401 -v -0.381292 0.307567 0.729421 -v -0.239582 0.370657 0.729466 -v -0.047757 0.500132 0.729421 -v -0.173247 0.408957 0.729356 -v -0.333967 0.242427 0.729421 -v -0.230167 0.357702 0.729476 -v -0.107587 0.554007 0.729421 -v -0.185147 0.419667 0.729381 -v -0.264237 0.202172 0.729421 -v -0.216302 0.349697 0.729481 -v -0.184162 0.578887 0.729421 -v -0.200377 0.424617 0.729361 -v -0.200377 0.348022 0.729446 -v -0.256077 0.545362 0.711551 -v -0.316297 0.510592 0.711551 -v -0.069117 0.288027 0.711551 -v -0.357172 0.454337 0.711551 -v -0.040832 0.351552 0.711551 -v -0.371627 0.386322 0.711551 -v -0.040832 0.421087 0.711551 -v -0.357172 0.318302 0.711551 -v -0.069117 0.484612 0.711551 -v -0.316297 0.262047 0.711551 -v -0.120792 0.531142 0.711551 -v -0.256077 0.227282 0.711551 -v -0.186922 0.552632 0.711551 -v -0.358802 0.317577 0.729776 -v -0.373412 0.386322 0.729776 -v -0.256632 0.547057 0.729776 -v -0.186737 0.554407 0.729776 -v -0.256632 0.225582 0.729776 -v -0.317492 0.260722 0.729776 -v -0.317492 0.511922 0.729776 -v -0.358802 0.455062 0.729776 -v -0.186737 0.218237 0.729776 -v -0.119897 0.532687 0.729776 -v -0.067672 0.485662 0.729776 -v -0.039087 0.351182 0.729776 -v -0.067672 0.286977 0.729776 -v -0.039087 0.421462 0.729776 -v -0.119897 0.239952 0.729776 -v -0.230167 0.414937 0.729141 -v -0.217047 0.400367 0.728861 -v -0.210242 0.404297 0.728711 -v -0.216302 0.422942 0.729001 -v -0.173247 0.363687 0.729166 -v -0.189112 0.375212 0.728926 -v -0.194952 0.369952 0.729086 -v -0.221667 0.394007 0.729041 -v -0.166737 0.378312 0.729106 -v -0.185917 0.382392 0.728811 -v -0.223302 0.386322 0.729136 -v -0.166737 0.394327 0.728976 -v -0.185917 0.390252 0.728801 -v -0.221667 0.378632 0.729246 -v -0.173247 0.408957 0.729011 -v -0.189112 0.397427 0.728626 -v -0.217047 0.372277 0.729301 -v -0.185147 0.419667 0.728916 -v -0.194952 0.402687 0.728711 -v -0.210242 0.368347 0.729276 -v -0.200377 0.424617 0.728991 -v -0.202427 0.405117 0.728641 -v -0.202427 0.367527 0.729226 -v -0.221667 0.378632 0.729186 -v -0.217047 0.372277 0.729196 -v -0.210242 0.368347 0.729201 -v -0.202427 0.367527 0.729141 -v -0.189112 0.375212 0.728876 -v -0.185917 0.382392 0.728806 -v -0.185917 0.390252 0.728596 -v -0.189112 0.397427 0.728626 -v -0.194952 0.402687 0.728491 -v -0.202427 0.405117 0.728601 -v -0.210242 0.404297 0.728606 -v -0.217047 0.400367 0.728766 -v -0.221667 0.394007 0.728911 -vn -0.6691 0.7431 -0.0016 -vn -0.3090 0.9511 -0.0008 -vn -0.3090 0.9511 -0.0016 -vn 0.5000 -0.8660 -0.0016 -vn 0.8090 -0.5878 -0.0008 -vn 0.5000 -0.8660 -0.0008 -vn -0.9136 0.4067 -0.0008 -vn -0.6691 0.7432 -0.0008 -vn 0.8090 -0.5878 -0.0016 -vn 0.9781 -0.2079 -0.0008 -vn -1.0000 -0.0000 -0.0016 -vn -0.9135 0.4067 -0.0016 -vn 0.9782 0.2079 -0.0016 -vn 0.9782 -0.2079 -0.0016 -vn -0.9136 -0.4067 -0.0016 -vn -1.0000 -0.0000 -0.0008 -vn 0.8090 0.5878 -0.0016 -vn 0.9781 0.2079 -0.0008 -vn -0.6691 -0.7431 -0.0016 -vn -0.9135 -0.4067 -0.0008 -vn 0.5000 0.8660 -0.0016 -vn 0.8090 0.5878 -0.0008 -vn -0.3090 -0.9511 -0.0016 -vn -0.6691 -0.7431 -0.0008 -vn 0.1046 0.9945 -0.0016 -vn 0.5000 0.8660 -0.0008 -vn 0.1045 -0.9945 -0.0008 -vn -0.3090 -0.9511 -0.0008 -vn 0.1045 0.9945 -0.0008 -vn 0.1045 -0.9945 -0.0016 -vn 0.0001 -0.0002 1.0000 -vn -0.0009 -0.0011 1.0000 -vn 0.0013 0.0002 1.0000 -vn -0.0000 -0.0000 -1.0000 -vn 0.0586 -0.5574 -0.8282 -vn 0.2802 -0.4854 -0.8282 -vn 0.2803 -0.4854 -0.8282 -vn 0.0008 0.0077 1.0000 -vn -0.0001 -0.0000 1.0000 -vn -0.0008 -0.0006 1.0000 -vn 0.0001 -0.0003 1.0000 -vn 0.0077 0.0019 1.0000 -vn -0.0001 0.0001 1.0000 -vn 0.0001 0.0009 1.0000 -vn 0.0003 -0.0000 1.0000 -vn 0.0057 0.0034 1.0000 -vn -0.0003 -0.0000 1.0000 -vn -0.0004 0.0012 1.0000 -vn -0.0002 -0.0000 1.0000 -vn 0.0035 0.0034 1.0000 -vn 0.0001 0.0006 1.0000 -vn -0.0002 -0.0002 1.0000 -vn 0.0024 0.0036 1.0000 -vn -0.0002 -0.0003 1.0000 -vn -0.0000 -0.0003 1.0000 -vn 0.0022 0.0038 1.0000 -vn 0.0002 0.0002 1.0000 -vn 0.0028 0.0059 1.0000 -vn 0.0001 0.0001 1.0000 -vn -0.1732 0.5331 -0.8281 -vn -0.3750 0.4165 -0.8282 -vn 0.4535 -0.3295 -0.8282 -vn -0.5120 0.2280 -0.8282 -vn 0.5483 -0.1165 -0.8281 -vn -0.5605 -0.0000 -0.8282 -vn 0.5483 0.1165 -0.8281 -vn -0.5121 -0.2280 -0.8281 -vn 0.4535 0.3294 -0.8282 -vn 0.4535 0.3295 -0.8282 -vn -0.3750 -0.4165 -0.8282 -vn 0.2803 0.4854 -0.8282 -vn -0.1732 -0.5331 -0.8281 -vn 0.2802 0.4854 -0.8282 -vn 0.0586 0.5575 -0.8281 -vn -1.0000 -0.0000 -0.0000 -vn 0.1045 0.9945 -0.0000 -vn -0.6691 -0.7431 -0.0000 -vn -0.3090 0.9511 -0.0000 -vn -0.9136 0.4067 -0.0000 -vn -0.9135 -0.4067 -0.0000 -vn -0.3090 -0.9511 -0.0000 -vn -0.6691 0.7432 -0.0000 -vn 0.8090 0.5878 -0.0000 -vn 0.8090 -0.5878 -0.0000 -vn 0.9781 0.2079 -0.0000 -vn 0.1045 -0.9945 -0.0000 -vn 0.5000 0.8660 -0.0000 -vn 0.5000 -0.8660 -0.0000 -vn 0.9781 -0.2079 -0.0000 -vn 0.0250 0.0001 0.9997 -vn 0.0093 -0.0107 0.9999 -vn 0.0176 -0.0014 0.9998 -vn -0.0035 0.0141 0.9999 -vn 0.0054 0.0185 0.9998 -vn 0.0227 0.0066 0.9997 -vn -0.0116 0.0098 0.9999 -vn -0.0032 0.0208 0.9998 -vn 0.0163 0.0112 0.9998 -vn -0.0102 0.0002 0.9999 -vn -0.0111 0.0125 0.9999 -vn 0.0088 0.0105 0.9999 -vn -0.0125 -0.0058 0.9999 -vn -0.0154 0.0023 0.9999 -vn -0.0102 -0.0106 0.9999 -vn -0.0080 -0.0098 0.9999 -vn 0.0060 0.0092 0.9999 -vn 0.0021 -0.0150 0.9999 -vn 0.0018 -0.0169 0.9999 -vn 0.0163 -0.0121 0.9998 -vn 0.0136 0.0186 0.9997 -vn 0.0080 0.0211 0.9997 -vn 0.0068 0.0182 0.9998 -vn -0.0000 -0.0000 1.0000 -vn -0.0003 -0.0002 1.0000 -vn -0.0000 -0.0004 1.0000 -vn -0.0000 -0.0002 1.0000 -vn -0.0193 -0.0068 0.9998 -vn 0.0045 0.0079 1.0000 -vn 0.0111 0.0124 0.9999 -vn 0.0123 0.0171 0.9998 -vn 0.0535 0.0178 0.9984 -vn 0.0119 0.0152 0.9998 -vn 0.0003 0.0018 1.0000 -vn 0.0082 0.0106 0.9999 -vn 0.0061 0.0065 1.0000 -vn 0.0107 0.0121 0.9999 -vn 0.0453 -0.0105 0.9989 -vn 0.0152 0.0142 0.9998 -vn 0.0692 0.0266 0.9972 -vn 0.0360 0.0656 0.9972 -vn -0.0044 0.0483 0.9988 -vt 0.900095 0.372831 -vt 0.985204 0.360142 -vt 0.901646 0.377367 -vt 0.879132 0.382009 -vt 0.823399 0.449554 -vt 0.801058 0.415823 -vt 0.939931 0.295966 -vt 0.969323 0.323185 -vt 0.881725 0.386151 -vt 0.858108 0.470831 -vt 0.892356 0.367292 -vt 0.896713 0.369376 -vt 0.890300 0.390181 -vt 0.885619 0.389124 -vt 0.887564 0.367286 -vt 0.902033 0.282982 -vt 0.894941 0.389160 -vt 0.898524 0.475839 -vt 0.883188 0.369330 -vt 0.862179 0.286432 -vt 0.898713 0.386223 -vt 0.937350 0.463858 -vt 0.879947 0.372785 -vt 0.827146 0.305615 -vt 0.901185 0.382115 -vt 0.967775 0.437182 -vt 0.792424 0.376369 -vt 0.802614 0.337301 -vt 0.984692 0.400465 -vt 0.878514 0.377279 -vt 0.660250 0.432272 -vt 0.669946 0.379003 -vt 0.674756 0.381556 -vt 0.634467 0.416590 -vt 0.661267 0.420786 -vt 0.658228 0.430176 -vt 0.684497 0.357401 -vt 0.730215 0.328394 -vt 0.688670 0.360898 -vt 0.636067 0.419434 -vt 0.666591 0.374715 -vt 0.742234 0.352995 -vt 0.691060 0.365790 -vt 0.619196 0.397870 -vt 0.665271 0.369432 -vt 0.743208 0.380357 -vt 0.691254 0.371232 -vt 0.617291 0.344342 -vt 0.666212 0.364069 -vt 0.689218 0.376282 -vt 0.632586 0.321633 -vt 0.669254 0.359553 -vt 0.713286 0.424782 -vt 0.685303 0.380067 -vt 0.655796 0.307109 -vt 0.673870 0.356664 -vt 0.680188 0.381933 -vt 0.679261 0.355903 -vt 0.709230 0.310809 -vt 0.711489 0.310592 -vt 0.684345 0.311982 -vt 0.685404 0.302147 -vt 0.684443 0.423058 -vt 0.685456 0.432883 -vt 0.661162 0.314449 -vt 0.658134 0.305033 -vt 0.711488 0.424535 -vt 0.634395 0.318749 -vt 0.706617 0.415957 -vt 0.731876 0.406286 -vt 0.640986 0.326120 -vt 0.618290 0.340923 -vt 0.733393 0.379208 -vt 0.743040 0.381300 -vt 0.627305 0.344974 -vt 0.612606 0.367716 -vt 0.743040 0.353922 -vt 0.622483 0.367746 -vt 0.618328 0.394487 -vt 0.733373 0.355948 -vt 0.731878 0.328907 -vt 0.641076 0.409257 -vt 0.706526 0.319144 -vt 0.669061 0.328468 -vt 0.687975 0.298902 -vt 0.685190 0.327072 -vt 0.718849 0.358299 -vt 0.746751 0.380285 -vt 0.718642 0.374617 -vt 0.644955 0.349055 -vt 0.636237 0.315392 -vt 0.654883 0.336232 -vt 0.712422 0.343342 -vt 0.746751 0.352076 -vt 0.714527 0.307606 -vt 0.700527 0.332327 -vt 0.660282 0.301702 -vt 0.640831 0.364865 -vt 0.619881 0.337406 -vt 0.735326 0.326382 -vt 0.711796 0.389477 -vt 0.714179 0.425145 -vt 0.699483 0.400272 -vt 0.667413 0.403094 -vt 0.633339 0.416545 -vt 0.653367 0.394484 -vt 0.687066 0.433995 -vt 0.683770 0.405121 -vt 0.644325 0.380833 -vt 0.613703 0.363704 -vt 0.735252 0.406135 -vt 0.615972 0.392483 -vt 0.658504 0.431039 -vt 0.686558 0.468664 -vt 0.684828 0.479057 -vt 0.691249 0.476163 -vt 0.668650 0.449371 -vt 0.678493 0.453298 -vt 0.674684 0.444286 -vt 0.689036 0.465888 -vt 0.697188 0.471048 -vt 0.664660 0.455318 -vt 0.675153 0.455193 -vt 0.690421 0.462265 -vt 0.699561 0.463575 -vt 0.663561 0.462706 -vt 0.673092 0.458329 -vt 0.690359 0.458463 -vt 0.699001 0.455971 -vt 0.665665 0.469936 -vt 0.672645 0.461997 -vt 0.695335 0.449495 -vt 0.676202 0.468336 -vt 0.670557 0.475676 -vt 0.685696 0.453139 -vt 0.689393 0.445113 -vt 0.679511 0.469917 -vt 0.677348 0.478919 -vt 0.682358 0.443274 -vt 0.683212 0.470177 -vt 0.596487 0.327587 -vt 0.606329 0.336849 -vt 0.618961 0.335910 -vt 0.612555 0.371309 -vt 0.732969 0.405750 -vt 0.687564 0.434164 -vt 0.682906 0.303280 -vt 0.723925 0.400441 -vt 0.627355 0.390490 -vt 0.723869 0.334698 -vt 0.673753 0.465539 -vt 0.688657 0.455255 -vt 0.682126 0.452537 -vt 0.626707 0.332818 -vt 0.631076 0.324865 -vt 0.631270 0.316393 -vt 0.628318 0.309157 -vt 0.622169 0.303994 -vt 0.614288 0.301889 -vt 0.605651 0.302595 -vt 0.600209 0.309710 -vt 0.596324 0.314769 -vt 0.594972 0.321125 -vt 0.600664 0.333078 -vt 0.612748 0.337849 -s 1 -f 2080/3372/2595 2082/3373/2596 2079/3374/2597 -f 2083/3375/2598 2085/3376/2599 2086/3377/2600 -f 2080/3372/2595 2088/3378/2601 2081/3379/2602 -f 2084/3380/2603 2090/3381/2604 2085/3376/2599 -f 2091/3382/2605 2088/3378/2601 2087/3383/2606 -f 2093/3384/2607 2090/3381/2604 2089/3385/2608 -f 2095/3386/2609 2092/3387/2610 2091/3382/2605 -f 2097/3388/2611 2094/3389/2612 2093/3384/2607 -f 2099/3390/2613 2096/3391/2614 2095/3386/2609 -f 2101/3392/2615 2098/3393/2616 2097/3388/2611 -f 2103/3394/2617 2100/3395/2618 2099/3390/2613 -f 2105/3396/2619 2102/3397/2620 2101/3392/2615 -f 2103/3394/2617 2108/3398/2621 2104/3399/2622 -f 2079/3374/2597 2106/3400/2623 2105/3396/2619 -f 2107/3401/2624 2086/3377/2600 2108/3398/2621 -f 2110/3402/2625 2112/3403/2626 2109/3404/2627 -f 2107/3401/2628 2099/3390/2628 2101/3392/2628 -f 2113/3405/2629 2115/3406/2630 2116/3407/2631 -f 2117/3408/2632 2118/3409/2633 2119/3410/2634 -f 2111/3411/2635 2121/3412/2636 2112/3403/2626 -f 2119/3410/2634 2122/3413/2637 2123/3414/2638 -f 2120/3415/2639 2125/3416/2640 2121/3412/2636 -f 2123/3414/2638 2126/3417/2641 2127/3418/2642 -f 2125/3416/2640 2128/3419/2643 2129/3420/2644 -f 2126/3417/2641 2131/3421/2645 2127/3418/2642 -f 2129/3420/2644 2132/3422/2646 2133/3423/2647 -f 2131/3421/2645 2134/3424/2648 2135/3425/2649 -f 2133/3423/2647 2136/3426/2649 2137/3427/2650 -f 2134/3424/2648 2139/3428/2651 2135/3425/2649 -f 2136/3426/2649 2140/3429/2652 2137/3427/2650 -f 2139/3428/2651 2110/3402/2625 2109/3404/2627 -f 2140/3429/2652 2116/3430/2653 2117/3408/2632 -f 2110/3431/2654 2142/3432/2655 2111/3433/2655 -f 2116/3407/2631 2143/3434/2656 2118/3435/2656 -f 2111/3433/2655 2144/3436/2657 2120/3437/2657 -f 2143/3434/2656 2122/3438/2658 2118/3435/2656 -f 2144/3436/2657 2124/3439/2659 2120/3437/2657 -f 2145/3440/2658 2126/3441/2660 2122/3438/2658 -f 2146/3442/2659 2128/3443/2661 2124/3439/2659 -f 2126/3441/2660 2149/3444/2662 2130/3445/2663 -f 2148/3446/2661 2132/3447/2664 2128/3443/2661 -f 2149/3444/2662 2134/3448/2665 2130/3445/2663 -f 2150/3449/2664 2136/3450/2666 2132/3447/2664 -f 2151/3451/2667 2138/3452/2668 2134/3448/2665 -f 2136/3450/2666 2114/3453/2629 2113/3405/2629 -f 2138/3452/2668 2141/3454/2654 2110/3431/2654 -f 2096/3455/2614 2155/3456/2669 2092/3457/2610 -f 2082/3458/2596 2157/3459/2670 2106/3460/2623 -f 2104/3461/2622 2159/3462/2671 2100/3463/2618 -f 2081/3464/2602 2156/3465/2672 2082/3458/2596 -f 2092/3457/2610 2161/3466/2673 2088/3467/2601 -f 2100/3463/2618 2154/3468/2674 2096/3455/2614 -f 2108/3469/2621 2158/3470/2675 2104/3461/2622 -f 2088/3467/2601 2160/3471/2676 2081/3464/2602 -f 2102/3472/2620 2164/3473/2677 2098/3474/2616 -f 2090/3475/2604 2166/3476/2678 2085/3477/2599 -f 2098/3474/2616 2167/3478/2679 2094/3479/2612 -f 2086/3480/2600 2162/3481/2680 2108/3469/2621 -f 2106/3460/2623 2163/3482/2681 2102/3472/2620 -f 2085/3477/2599 2168/3483/2682 2086/3480/2600 -f 2094/3479/2612 2165/3484/2683 2090/3475/2604 -f 2170/3485/2684 2172/3486/2685 2169/3487/2686 -f 2173/3488/2687 2175/3489/2688 2117/3490/2632 -f 2176/3491/2689 2169/3487/2686 2121/3492/2636 -f 2177/3493/2690 2174/3494/2691 2173/3488/2687 -f 2179/3495/2692 2121/3492/2636 2125/3496/2640 -f 2180/3497/2693 2178/3498/2694 2177/3493/2690 -f 2182/3499/2695 2125/3496/2640 2129/3500/2644 -f 2183/3501/2696 2181/3502/2697 2180/3497/2693 -f 2133/3503/2647 2182/3499/2695 2129/3500/2644 -f 2187/3504/2698 2183/3501/2696 2186/3505/2699 -f 2188/3506/2700 2133/3503/2647 2137/3507/2650 -f 2190/3508/2701 2186/3505/2699 2189/3509/2702 -f 2140/3510/2652 2188/3506/2700 2137/3507/2650 -f 2171/3511/2703 2189/3509/2702 2172/3486/2685 -f 2175/3489/2688 2140/3510/2652 2117/3490/2632 -f 2199/3512/2704 2201/3513/2705 2203/3514/2706 -f 2080/3372/2595 2081/3379/2602 2082/3373/2596 -f 2083/3375/2598 2084/3380/2603 2085/3376/2599 -f 2080/3372/2595 2087/3383/2606 2088/3378/2601 -f 2084/3380/2603 2089/3385/2608 2090/3381/2604 -f 2091/3382/2605 2092/3387/2610 2088/3378/2601 -f 2093/3384/2607 2094/3389/2612 2090/3381/2604 -f 2095/3386/2609 2096/3391/2614 2092/3387/2610 -f 2097/3388/2611 2098/3393/2616 2094/3389/2612 -f 2099/3390/2613 2100/3395/2618 2096/3391/2614 -f 2101/3392/2615 2102/3397/2620 2098/3393/2616 -f 2103/3394/2617 2104/3399/2622 2100/3395/2618 -f 2105/3396/2619 2106/3400/2623 2102/3397/2620 -f 2103/3394/2617 2107/3401/2624 2108/3398/2621 -f 2079/3374/2597 2082/3373/2596 2106/3400/2623 -f 2107/3401/2624 2083/3375/2598 2086/3377/2600 -f 2110/3402/2625 2111/3411/2635 2112/3403/2626 -f 2095/3386/2628 2091/3382/2628 2087/3383/2628 -f 2087/3383/2628 2080/3372/2628 2101/3392/2628 -f 2080/3372/2628 2079/3374/2628 2101/3392/2628 -f 2079/3374/2628 2105/3396/2628 2101/3392/2628 -f 2101/3392/2628 2097/3388/2628 2093/3384/2628 -f 2093/3384/2628 2089/3385/2628 2101/3392/2628 -f 2089/3385/2628 2084/3380/2628 2101/3392/2628 -f 2084/3380/2628 2083/3375/2628 2107/3401/2628 -f 2107/3401/2628 2103/3394/2628 2099/3390/2628 -f 2099/3390/2628 2095/3386/2628 2101/3392/2628 -f 2095/3386/2628 2087/3383/2628 2101/3392/2628 -f 2084/3380/2628 2107/3401/2628 2101/3392/2628 -f 2113/3405/2629 2114/3453/2629 2115/3406/2630 -f 2117/3408/2632 2116/3430/2653 2118/3409/2633 -f 2111/3411/2635 2120/3415/2639 2121/3412/2636 -f 2119/3410/2634 2118/3409/2633 2122/3413/2637 -f 2120/3415/2639 2124/3515/2707 2125/3416/2640 -f 2123/3414/2638 2122/3413/2637 2126/3417/2641 -f 2125/3416/2640 2124/3515/2707 2128/3419/2643 -f 2126/3417/2641 2130/3516/2708 2131/3421/2645 -f 2129/3420/2644 2128/3419/2643 2132/3422/2646 -f 2131/3421/2645 2130/3516/2708 2134/3424/2648 -f 2133/3423/2647 2132/3422/2646 2136/3426/2649 -f 2134/3424/2648 2138/3517/2709 2139/3428/2651 -f 2136/3426/2649 2113/3518/2710 2140/3429/2652 -f 2139/3428/2651 2138/3517/2709 2110/3402/2625 -f 2140/3429/2652 2113/3518/2710 2116/3430/2653 -f 2110/3431/2654 2141/3454/2654 2142/3432/2655 -f 2116/3407/2631 2115/3406/2630 2143/3434/2656 -f 2111/3433/2655 2142/3432/2655 2144/3436/2657 -f 2143/3434/2656 2145/3440/2658 2122/3438/2658 -f 2144/3436/2657 2146/3442/2659 2124/3439/2659 -f 2145/3440/2658 2147/3519/2660 2126/3441/2660 -f 2146/3442/2659 2148/3446/2661 2128/3443/2661 -f 2126/3441/2660 2147/3519/2660 2149/3444/2662 -f 2148/3446/2661 2150/3449/2664 2132/3447/2664 -f 2149/3444/2662 2151/3451/2667 2134/3448/2665 -f 2150/3449/2664 2152/3520/2666 2136/3450/2666 -f 2151/3451/2667 2153/3521/2668 2138/3452/2668 -f 2136/3450/2666 2152/3520/2666 2114/3453/2629 -f 2138/3452/2668 2153/3521/2668 2141/3454/2654 -f 2096/3455/2614 2154/3468/2674 2155/3456/2669 -f 2082/3458/2596 2156/3465/2672 2157/3459/2670 -f 2104/3461/2622 2158/3470/2675 2159/3462/2671 -f 2081/3464/2602 2160/3471/2676 2156/3465/2672 -f 2092/3457/2610 2155/3456/2669 2161/3466/2673 -f 2100/3463/2618 2159/3462/2671 2154/3468/2674 -f 2108/3469/2621 2162/3481/2680 2158/3470/2675 -f 2088/3467/2601 2161/3466/2673 2160/3471/2676 -f 2102/3472/2620 2163/3482/2681 2164/3473/2677 -f 2090/3475/2604 2165/3484/2683 2166/3476/2678 -f 2098/3474/2616 2164/3473/2677 2167/3478/2679 -f 2086/3480/2600 2168/3483/2682 2162/3481/2680 -f 2106/3460/2623 2157/3459/2670 2163/3482/2681 -f 2085/3477/2599 2166/3476/2678 2168/3483/2682 -f 2094/3479/2612 2167/3478/2679 2165/3484/2683 -f 2170/3485/2684 2171/3511/2703 2172/3486/2685 -f 2173/3488/2687 2174/3494/2691 2175/3489/2688 -f 2176/3491/2689 2170/3485/2684 2169/3487/2686 -f 2177/3493/2690 2178/3498/2694 2174/3494/2691 -f 2179/3495/2692 2176/3491/2689 2121/3492/2636 -f 2180/3497/2693 2181/3502/2697 2178/3498/2694 -f 2182/3499/2695 2179/3495/2692 2125/3496/2640 -f 2183/3501/2696 2184/3522/2711 2181/3502/2697 -f 2133/3503/2647 2185/3523/2712 2182/3499/2695 -f 2187/3504/2698 2184/3522/2711 2183/3501/2696 -f 2188/3506/2700 2185/3523/2712 2133/3503/2647 -f 2190/3508/2701 2187/3504/2698 2186/3505/2699 -f 2140/3510/2652 2191/3524/2713 2188/3506/2700 -f 2171/3511/2703 2190/3508/2701 2189/3509/2702 -f 2175/3489/2688 2191/3524/2713 2140/3510/2652 -f 2204/3525/2714 2179/3526/2715 2192/3527/2716 -f 2192/3527/2716 2193/3528/2717 2194/3529/2718 -f 2194/3529/2718 2195/3530/2719 2192/3527/2716 -f 2195/3530/2719 2175/3531/2720 2192/3527/2716 -f 2175/3531/2720 2196/3532/2721 2197/3533/2722 -f 2197/3533/2722 2198/3534/2723 2199/3512/2704 -f 2199/3512/2704 2200/3535/2724 2201/3513/2705 -f 2201/3513/2705 2202/3536/2725 2203/3514/2706 -f 2203/3514/2706 2204/3525/2714 2175/3531/2720 -f 2204/3525/2714 2192/3527/2716 2175/3531/2720 -f 2175/3531/2720 2197/3533/2722 2203/3514/2706 -f 2197/3533/2722 2199/3512/2704 2203/3514/2706 -o ShellR -v 0.085103 0.485662 0.601681 -v 0.056518 0.421462 0.601681 -v 0.056518 0.421462 0.729916 -v 0.085103 0.485662 0.729916 -v 0.273778 0.546177 0.003551 -v 0.274063 0.547057 0.601681 -v 0.334928 0.511922 0.601681 -v 0.334303 0.511227 0.003551 -v 0.137798 0.240757 0.003551 -v 0.137333 0.239952 0.601681 -v 0.085103 0.286977 0.601681 -v 0.085858 0.287527 0.003551 -v 0.376233 0.455062 0.601681 -v 0.375383 0.454687 0.003551 -v 0.056518 0.351182 0.601681 -v 0.057428 0.351372 0.003551 -v 0.390848 0.386322 0.601681 -v 0.389918 0.386322 0.003551 -v 0.057428 0.421267 0.003551 -v 0.376233 0.317577 0.601681 -v 0.375383 0.317957 0.003551 -v 0.085859 0.485117 0.003551 -v 0.334928 0.260722 0.601681 -v 0.334303 0.261412 0.003551 -v 0.137333 0.532687 0.601681 -v 0.137799 0.531882 0.003551 -v 0.274063 0.225582 0.601681 -v 0.273778 0.226467 0.003551 -v 0.204168 0.554407 0.601681 -v 0.204269 0.553482 0.003551 -v 0.204168 0.218237 0.601681 -v 0.204268 0.219162 0.003551 -v 0.233738 0.422942 0.729346 -v 0.247603 0.414937 0.729341 -v 0.351398 0.530212 0.729561 -v 0.281668 0.570472 0.729561 -v 0.201598 0.193752 0.729561 -v 0.125023 0.218632 0.729561 -v 0.138223 0.241497 0.711691 -v 0.204358 0.220012 0.711691 -v 0.202583 0.352972 0.729631 -v 0.190683 0.363687 0.729611 -v 0.065188 0.272507 0.729561 -v 0.257013 0.401982 0.729371 -v 0.398723 0.465077 0.729561 -v 0.184168 0.378312 0.729536 -v 0.032438 0.346062 0.729561 -v 0.260343 0.386322 0.729406 -v 0.415463 0.386322 0.729561 -v 0.184168 0.394327 0.729381 -v 0.032438 0.426577 0.729561 -v 0.257013 0.370657 0.729446 -v 0.398723 0.307567 0.729561 -v 0.190683 0.408957 0.729446 -v 0.247603 0.357702 0.729386 -v 0.351398 0.242427 0.729561 -v 0.202583 0.419667 0.729406 -v 0.125023 0.554007 0.729561 -v 0.065188 0.500132 0.729561 -v 0.233738 0.349697 0.729536 -v 0.281668 0.202172 0.729561 -v 0.217813 0.424617 0.729366 -v 0.201598 0.578887 0.729561 -v 0.217813 0.348022 0.729611 -v 0.333733 0.510592 0.711691 -v 0.273513 0.545362 0.711691 -v 0.086548 0.288027 0.711691 -v 0.374603 0.454337 0.711691 -v 0.058263 0.351552 0.711691 -v 0.389063 0.386322 0.711691 -v 0.058263 0.421087 0.711691 -v 0.374603 0.318302 0.711691 -v 0.086548 0.484612 0.711691 -v 0.333733 0.262047 0.711691 -v 0.138223 0.531142 0.711691 -v 0.273513 0.227282 0.711691 -v 0.204358 0.552627 0.711691 -v 0.390848 0.386322 0.729916 -v 0.376233 0.317577 0.729916 -v 0.204168 0.554407 0.729916 -v 0.274063 0.547057 0.729916 -v 0.334928 0.260722 0.729916 -v 0.274063 0.225582 0.729916 -v 0.334928 0.511922 0.729916 -v 0.376233 0.455062 0.729916 -v 0.204168 0.218237 0.729916 -v 0.137333 0.532687 0.729916 -v 0.085103 0.286977 0.729916 -v 0.056518 0.351182 0.729916 -v 0.137333 0.239952 0.729916 -v 0.247603 0.414937 0.728661 -v 0.233738 0.422942 0.728646 -v 0.227678 0.404292 0.728156 -v 0.234483 0.400367 0.728136 -v 0.212388 0.369952 0.729486 -v 0.206548 0.375212 0.729441 -v 0.257013 0.401982 0.728706 -v 0.239103 0.394007 0.728261 -v 0.203348 0.382392 0.729266 -v 0.260343 0.386322 0.728856 -v 0.240733 0.386322 0.728411 -v 0.203348 0.390252 0.728916 -v 0.257013 0.370657 0.729041 -v 0.239103 0.378632 0.728676 -v 0.190683 0.408957 0.729041 -v 0.206548 0.397427 0.728666 -v 0.234483 0.372277 0.728916 -v 0.202583 0.419667 0.728841 -v 0.212388 0.402687 0.728421 -v 0.227678 0.368347 0.729271 -v 0.217813 0.424617 0.728716 -v 0.219863 0.405117 0.728236 -v 0.219863 0.367522 0.729441 -v 0.240733 0.386322 0.728261 -v 0.239103 0.394007 0.728026 -v 0.234483 0.400367 0.727946 -v 0.227678 0.404292 0.727921 -v 0.219863 0.405117 0.728041 -v 0.212388 0.402687 0.728241 -v 0.206548 0.397427 0.728536 -v 0.239103 0.378632 0.728531 -vn -0.9135 0.4068 -0.0000 -vn 0.3090 0.9511 -0.0008 -vn 0.6691 0.7431 -0.0016 -vn 0.3090 0.9510 -0.0015 -vn -0.5000 -0.8660 -0.0008 -vn -0.8090 -0.5878 -0.0016 -vn -0.5000 -0.8660 -0.0016 -vn 0.6691 0.7431 -0.0008 -vn 0.9135 0.4068 -0.0016 -vn -0.8090 -0.5878 -0.0008 -vn -0.9781 -0.2079 -0.0016 -vn 0.9135 0.4067 -0.0008 -vn 1.0000 -0.0000 -0.0016 -vn -0.9781 -0.2079 -0.0008 -vn -0.9781 0.2079 -0.0016 -vn 1.0000 -0.0000 -0.0008 -vn 0.9135 -0.4067 -0.0016 -vn -0.7654 0.6435 -0.0010 -vn -0.8090 0.5878 -0.0016 -vn 0.6691 -0.7431 -0.0008 -vn 0.6691 -0.7431 -0.0016 -vn -0.5000 0.8660 -0.0008 -vn -0.5000 0.8660 -0.0016 -vn 0.3090 -0.9511 -0.0016 -vn -0.1045 0.9945 -0.0008 -vn -0.1045 0.9945 -0.0016 -vn 0.3090 -0.9511 -0.0008 -vn -0.1045 -0.9945 -0.0016 -vn -0.1045 -0.9945 -0.0008 -vn 0.0003 -0.0016 1.0000 -vn -0.0009 -0.0010 1.0000 -vn -0.0004 -0.0013 1.0000 -vn -0.0000 -0.0000 -1.0000 -vn -0.0586 -0.5574 -0.8282 -vn -0.2803 -0.4854 -0.8281 -vn 0.0020 0.0028 1.0000 -vn -0.0002 -0.0000 1.0000 -vn -0.0002 -0.0004 1.0000 -vn -0.0011 -0.0005 1.0000 -vn -0.0011 -0.0004 1.0000 -vn 0.0059 0.0066 1.0000 -vn 0.0012 0.0058 1.0000 -vn -0.0009 0.0015 1.0000 -vn -0.0020 0.0014 1.0000 -vn -0.0060 0.0002 1.0000 -vn -0.0141 0.0030 0.9999 -vn -0.0011 -0.0019 1.0000 -vn -0.0010 0.0004 1.0000 -vn -0.0010 -0.0000 1.0000 -vn 0.0119 0.0081 0.9999 -vn -0.0039 0.0043 1.0000 -vn 0.0021 0.0117 0.9999 -vn -0.0009 -0.0003 1.0000 -vn 0.0013 0.0015 1.0000 -vn -0.0117 0.0085 0.9999 -vn 0.0002 0.0005 1.0000 -vn -0.0008 0.0008 1.0000 -vn 0.0013 -0.0009 1.0000 -vn 0.0035 0.0002 1.0000 -vn 0.0028 0.0037 1.0000 -vn 0.0060 0.0071 1.0000 -vn 0.0001 -0.0012 1.0000 -vn -0.0000 -0.0003 1.0000 -vn 0.3751 0.4166 -0.8281 -vn 0.1732 0.5331 -0.8281 -vn -0.4535 -0.3295 -0.8281 -vn 0.5121 0.2280 -0.8281 -vn -0.5483 -0.1165 -0.8281 -vn 0.5605 -0.0000 -0.8281 -vn -0.5483 0.1165 -0.8281 -vn 0.5121 -0.2280 -0.8281 -vn -0.4535 0.3295 -0.8281 -vn 0.3751 -0.4166 -0.8281 -vn -0.2803 0.4854 -0.8281 -vn 0.1732 -0.5331 -0.8281 -vn -0.0586 0.5574 -0.8282 -vn 1.0000 -0.0000 -0.0000 -vn 0.9135 -0.4067 -0.0008 -vn -0.1045 0.9945 -0.0000 -vn 0.6691 -0.7431 -0.0000 -vn 0.3090 0.9511 -0.0000 -vn 0.9135 0.4067 -0.0000 -vn 0.9135 -0.4067 -0.0000 -vn 0.3090 -0.9511 -0.0000 -vn 0.6691 0.7431 -0.0000 -vn -0.6691 0.7432 -0.0000 -vn -0.8090 -0.5878 -0.0000 -vn -0.1045 -0.9945 -0.0000 -vn -0.5000 0.8660 -0.0000 -vn -0.5000 -0.8660 -0.0000 -vn -0.9781 -0.2079 -0.0000 -vn -0.9904 0.1383 -0.0010 -vn -0.0051 -0.0243 0.9997 -vn -0.0231 -0.0141 0.9996 -vn -0.0190 -0.0163 0.9997 -vn 0.0089 0.0141 0.9999 -vn 0.0095 0.0263 0.9996 -vn -0.0294 0.0027 0.9996 -vn -0.0223 -0.0021 0.9997 -vn 0.0271 0.0325 0.9991 -vn -0.0249 0.0243 0.9994 -vn -0.0194 0.0129 0.9997 -vn 0.0286 0.0343 0.9990 -vn -0.0108 0.0342 0.9994 -vn -0.0085 0.0233 0.9997 -vn 0.0249 0.0045 0.9997 -vn 0.0349 0.0082 0.9994 -vn 0.0161 0.0430 0.9989 -vn 0.0199 -0.0100 0.9998 -vn 0.0331 -0.0098 0.9994 -vn 0.0194 0.0361 0.9992 -vn 0.0100 -0.0212 0.9997 -vn 0.0183 -0.0240 0.9995 -vn 0.0131 0.0196 0.9997 -vn -0.0015 -0.0258 0.9997 -vn 0.0024 -0.0028 1.0000 -vn -1.0000 -0.0000 -0.0000 -vn 0.0228 0.0381 0.9990 -vn 0.0107 0.0328 0.9994 -vn 0.0170 0.0312 0.9994 -vn 0.0062 0.0170 0.9998 -vn 0.0169 0.0287 0.9994 -vn 0.0181 0.0265 0.9995 -vn 0.0196 0.0364 0.9991 -vn 0.0047 0.0508 0.9987 -vt 0.680521 0.406246 -vt 0.652061 0.430658 -vt 0.664534 0.402365 -vt 0.680997 0.433791 -vt 0.795099 0.368734 -vt 0.880048 0.374065 -vt 0.878852 0.378577 -vt 0.979961 0.407461 -vt 0.899411 0.385733 -vt 0.901317 0.381430 -vt 0.807747 0.331080 -vt 0.882854 0.370283 -vt 0.961204 0.442148 -vt 0.895853 0.388784 -vt 0.834546 0.301939 -vt 0.887010 0.368080 -vt 0.929513 0.466051 -vt 0.891326 0.390095 -vt 0.870693 0.286260 -vt 0.891785 0.367842 -vt 0.851904 0.465958 -vt 0.886634 0.389324 -vt 0.945609 0.302510 -vt 0.896299 0.369252 -vt 0.819122 0.443136 -vt 0.882457 0.386953 -vt 0.899737 0.372441 -vt 0.799022 0.408487 -vt 0.879711 0.383143 -vt 0.972004 0.331407 -vt 0.901541 0.376744 -vt 0.985047 0.368522 -vt 0.681711 0.380507 -vt 0.722147 0.416514 -vt 0.698598 0.430480 -vt 0.635636 0.321166 -vt 0.661713 0.317084 -vt 0.642066 0.328301 -vt 0.670839 0.356838 -vt 0.623800 0.330026 -vt 0.643931 0.311468 -vt 0.686394 0.377729 -vt 0.737980 0.394176 -vt 0.664679 0.365529 -vt 0.666835 0.360529 -vt 0.690613 0.367948 -vt 0.689543 0.373287 -vt 0.621446 0.380708 -vt 0.613278 0.382545 -vt 0.612958 0.355167 -vt 0.737352 0.340618 -vt 0.743358 0.367330 -vt 0.664743 0.370974 -vt 0.631421 0.402425 -vt 0.686166 0.358268 -vt 0.689418 0.362636 -vt 0.645267 0.425506 -vt 0.624707 0.407425 -vt 0.697131 0.305246 -vt 0.721001 0.318657 -vt 0.676303 0.381140 -vt 0.671105 0.379518 -vt 0.675997 0.355095 -vt 0.681419 0.355601 -vt 0.671403 0.433661 -vt 0.669869 0.302703 -vt 0.685200 0.432525 -vt 0.705752 0.415986 -vt 0.710582 0.424308 -vt 0.685250 0.305312 -vt 0.658756 0.307947 -vt 0.658665 0.429717 -vt 0.684169 0.422955 -vt 0.710581 0.313435 -vt 0.684264 0.314872 -vt 0.635565 0.416370 -vt 0.661611 0.420554 -vt 0.730420 0.331192 -vt 0.705841 0.321782 -vt 0.619894 0.394794 -vt 0.641979 0.409198 -vt 0.731895 0.357540 -vt 0.722683 0.336880 -vt 0.614363 0.368723 -vt 0.628666 0.390852 -vt 0.741283 0.355506 -vt 0.731876 0.380174 -vt 0.628715 0.346563 -vt 0.623974 0.368694 -vt 0.730421 0.406486 -vt 0.741283 0.382145 -vt 0.619931 0.342673 -vt 0.722628 0.400851 -vt 0.667292 0.300279 -vt 0.688459 0.328310 -vt 0.672289 0.328199 -vt 0.614490 0.386854 -vt 0.641089 0.362238 -vt 0.642708 0.378645 -vt 0.720071 0.312728 -vt 0.714102 0.346832 -vt 0.703208 0.334906 -vt 0.612339 0.358209 -vt 0.646309 0.346697 -vt 0.641388 0.310993 -vt 0.657370 0.334670 -vt 0.695105 0.300965 -vt 0.737994 0.333293 -vt 0.719485 0.362150 -vt 0.621916 0.331432 -vt 0.651004 0.392946 -vt 0.731089 0.412192 -vt 0.696565 0.402403 -vt 0.709645 0.392538 -vt 0.746140 0.358814 -vt 0.717386 0.378221 -vt 0.628326 0.412509 -vt 0.746140 0.387253 -vt 0.707926 0.428332 -vt 0.670694 0.475874 -vt 0.673734 0.465690 -vt 0.665781 0.470077 -vt 0.698651 0.456010 -vt 0.688430 0.455284 -vt 0.690304 0.458465 -vt 0.672700 0.462167 -vt 0.663736 0.462888 -vt 0.690368 0.462234 -vt 0.699278 0.463335 -vt 0.673124 0.458517 -vt 0.664672 0.455547 -vt 0.697100 0.470450 -vt 0.689025 0.465712 -vt 0.675108 0.455426 -vt 0.668498 0.449494 -vt 0.691710 0.475713 -vt 0.686595 0.468524 -vt 0.678145 0.453310 -vt 0.674381 0.444801 -vt 0.685155 0.478973 -vt 0.683305 0.470032 -vt 0.681860 0.452280 -vt 0.681855 0.443395 -vt 0.677605 0.479089 -vt 0.679604 0.470148 -vt 0.685583 0.453073 -vt 0.689239 0.445007 -vt 0.676147 0.468565 -vt 0.695201 0.449465 -vt 0.628300 0.331461 -vt 0.632514 0.314850 -vt 0.605536 0.300814 -vt 0.890640 0.475362 -vt 0.909873 0.286529 -vt 0.667016 0.375922 -vt 0.599488 0.307232 -vt 0.595010 0.313005 -vt 0.593581 0.320273 -vt 0.595429 0.327555 -vt 0.599953 0.333764 -vt 0.606363 0.337628 -vt 0.613756 0.338115 -vt 0.620472 0.335420 -vt 0.632152 0.323407 -vt 0.629284 0.306912 -vt 0.622867 0.301380 -vt 0.614483 0.299388 -s 0 -f 2206/3537/2726 2208/3538/2726 2205/3539/2726 -f 2206/3537/2726 2207/3540/2726 2208/3538/2726 -s 1 -f 2210/3541/2727 2212/3542/2728 2209/3543/2729 -f 2214/3544/2730 2216/3545/2731 2213/3546/2732 -f 2211/3547/2733 2218/3548/2734 2212/3542/2728 -f 2215/3549/2735 2220/3550/2736 2216/3545/2731 -f 2217/3551/2737 2222/3552/2738 2218/3548/2734 -f 2219/3553/2739 2223/3554/2740 2220/3550/2736 -f 2221/3555/2741 2225/3556/2742 2222/3552/2738 -f 2223/3554/2740 2205/3557/2743 2226/3558/2744 -f 2225/3556/2742 2227/3559/2745 2228/3560/2746 -f 2226/3558/2744 2229/3561/2747 2230/3562/2748 -f 2227/3559/2745 2232/3563/2749 2228/3560/2746 -f 2230/3562/2748 2233/3564/2750 2234/3565/2751 -f 2231/3566/2752 2236/3567/2753 2232/3563/2749 -f 2234/3565/2751 2210/3541/2727 2209/3543/2729 -f 2235/3568/2754 2213/3546/2732 2236/3567/2753 -f 2237/3569/2755 2239/3570/2756 2240/3571/2757 -f 2225/3556/2758 2213/3546/2758 2226/3558/2758 -f 2241/3572/2759 2243/3573/2760 2244/3574/2759 -f 2245/3575/2761 2247/3576/2762 2242/3577/2763 -f 2238/3578/2764 2249/3579/2765 2239/3570/2756 -f 2250/3580/2766 2247/3576/2762 2246/3581/2767 -f 2252/3582/2768 2249/3579/2765 2248/3583/2769 -f 2207/3584/2770 2255/3585/2771 2251/3586/2772 -f 2252/3582/2768 2257/3587/2773 2253/3588/2774 -f 2254/3589/2775 2208/3590/2776 2207/3584/2770 -f 2259/3591/2777 2257/3587/2773 2256/3592/2778 -f 2262/3593/2779 2263/3594/2780 2208/3590/2776 -f 2259/3591/2777 2265/3595/2781 2260/3596/2782 -f 2266/3597/2783 2262/3593/2779 2261/3598/2784 -f 2268/3599/2785 2265/3595/2781 2264/3600/2786 -f 2266/3597/2783 2240/3571/2757 2267/3601/2787 -f 2268/3599/2785 2242/3577/2763 2241/3602/2788 -f 2239/3603/2789 2270/3604/2790 2240/3605/2790 -f 2247/3606/2791 2243/3573/2760 2242/3607/2760 -f 2249/3608/2792 2269/3609/2789 2239/3603/2789 -f 2251/3610/2793 2271/3611/2791 2247/3606/2791 -f 2253/3612/2794 2272/3613/2792 2249/3608/2792 -f 2255/3614/2795 2273/3615/2793 2251/3610/2793 -f 2257/3616/2796 2274/3617/2794 2253/3612/2794 -f 2255/3614/2795 2277/3618/2797 2275/3619/2795 -f 2260/3620/2798 2276/3621/2796 2257/3616/2796 -f 2263/3622/2797 2279/3623/2799 2277/3618/2797 -f 2260/3620/2798 2280/3624/2800 2278/3625/2798 -f 2267/3626/2801 2279/3623/2799 2262/3627/2799 -f 2265/3628/2800 2244/3574/2759 2280/3624/2800 -f 2240/3605/2790 2281/3629/2801 2267/3626/2801 -f 2282/3630/2802 2224/3631/2803 2221/3632/2741 -f 2284/3633/2804 2210/3634/2727 2233/3635/2750 -f 2286/3636/2805 2231/3637/2752 2227/3638/2745 -f 2285/3639/2806 2211/3640/2733 2210/3634/2727 -f 2289/3641/2807 2221/3632/2741 2217/3642/2737 -f 2283/3643/2808 2227/3638/2745 2224/3631/2803 -f 2287/3644/2809 2235/3645/2754 2231/3637/2752 -f 2288/3646/2810 2217/3642/2737 2211/3640/2733 -f 2208/3538/2811 2229/3647/2747 2205/3539/2743 -f 2292/3648/2812 2219/3649/2739 2215/3650/2735 -f 2290/3651/2813 2214/3652/2730 2235/3645/2754 -f 2291/3653/2814 2233/3635/2750 2229/3647/2747 -f 2294/3654/2815 2215/3650/2735 2214/3652/2730 -f 2293/3655/2816 2206/3537/2817 2219/3649/2739 -f 2296/3656/2818 2298/3657/2819 2295/3658/2820 -f 2246/3659/2767 2299/3660/2821 2300/3661/2822 -f 2295/3658/2820 2302/3662/2823 2301/3663/2824 -f 2246/3659/2767 2303/3664/2825 2250/3665/2766 -f 2301/3663/2824 2305/3666/2826 2304/3667/2827 -f 2254/3668/2775 2303/3664/2825 2306/3669/2828 -f 2304/3667/2827 2308/3670/2829 2307/3671/2830 -f 2309/3672/2831 2306/3669/2828 2310/3673/2832 -f 2307/3671/2830 2311/3674/2833 2259/3675/2777 -f 2312/3676/2834 2310/3673/2832 2313/3677/2835 -f 2259/3675/2777 2314/3678/2836 2264/3679/2786 -f 2315/3680/2837 2313/3677/2835 2316/3681/2838 -f 2264/3679/2786 2317/3682/2839 2268/3683/2785 -f 2296/3656/2818 2316/3681/2838 2297/3684/2840 -f 2245/3685/2761 2317/3682/2839 2299/3660/2821 -f 2306/3686/2828 2300/3687/2822 2311/3688/2833 -f 2207/3584/2770 2263/3594/2780 2255/3585/2771 -f 2210/3541/2727 2211/3547/2733 2212/3542/2728 -f 2214/3544/2730 2215/3549/2735 2216/3545/2731 -f 2211/3547/2733 2217/3551/2737 2218/3548/2734 -f 2215/3549/2735 2219/3553/2739 2220/3550/2736 -f 2217/3551/2737 2221/3555/2741 2222/3552/2738 -f 2219/3553/2739 2206/3689/2817 2223/3554/2740 -f 2221/3555/2741 2224/3690/2803 2225/3556/2742 -f 2223/3554/2740 2206/3689/2817 2205/3557/2743 -f 2225/3556/2742 2224/3690/2803 2227/3559/2745 -f 2226/3558/2744 2205/3557/2743 2229/3561/2747 -f 2227/3559/2745 2231/3566/2752 2232/3563/2749 -f 2230/3562/2748 2229/3561/2747 2233/3564/2750 -f 2231/3566/2752 2235/3568/2754 2236/3567/2753 -f 2234/3565/2751 2233/3564/2750 2210/3541/2727 -f 2235/3568/2754 2214/3544/2730 2213/3546/2732 -f 2237/3569/2755 2238/3578/2764 2239/3570/2756 -f 2218/3548/2758 2222/3552/2758 2225/3556/2758 -f 2225/3556/2758 2228/3560/2758 2232/3563/2758 -f 2232/3563/2758 2236/3567/2758 2225/3556/2758 -f 2236/3567/2758 2213/3546/2758 2225/3556/2758 -f 2213/3546/2758 2216/3545/2758 2226/3558/2758 -f 2216/3545/2758 2220/3550/2758 2226/3558/2758 -f 2220/3550/2758 2223/3554/2758 2226/3558/2758 -f 2226/3558/2758 2230/3562/2758 2212/3542/2758 -f 2230/3562/2758 2234/3565/2758 2212/3542/2758 -f 2234/3565/2758 2209/3543/2758 2212/3542/2758 -f 2212/3542/2758 2218/3548/2758 2225/3556/2758 -f 2212/3542/2758 2225/3556/2758 2226/3558/2758 -f 2241/3572/2759 2242/3607/2760 2243/3573/2760 -f 2245/3575/2761 2246/3581/2767 2247/3576/2762 -f 2238/3578/2764 2248/3583/2769 2249/3579/2765 -f 2250/3580/2766 2251/3586/2772 2247/3576/2762 -f 2252/3582/2768 2253/3588/2774 2249/3579/2765 -f 2251/3586/2772 2250/3580/2766 2207/3584/2770 -f 2250/3580/2766 2254/3589/2775 2207/3584/2770 -f 2252/3582/2768 2256/3592/2778 2257/3587/2773 -f 2254/3589/2775 2258/3691/2841 2208/3590/2776 -f 2259/3591/2777 2260/3596/2782 2257/3587/2773 -f 2208/3590/2776 2258/3691/2841 2261/3598/2784 -f 2261/3598/2784 2262/3593/2779 2208/3590/2776 -f 2259/3591/2777 2264/3600/2786 2265/3595/2781 -f 2266/3597/2783 2267/3601/2787 2262/3593/2779 -f 2268/3599/2785 2241/3602/2788 2265/3595/2781 -f 2266/3597/2783 2237/3569/2755 2240/3571/2757 -f 2268/3599/2785 2245/3575/2761 2242/3577/2763 -f 2239/3603/2789 2269/3609/2789 2270/3604/2790 -f 2247/3606/2791 2271/3611/2791 2243/3573/2760 -f 2249/3608/2792 2272/3613/2792 2269/3609/2789 -f 2251/3610/2793 2273/3615/2793 2271/3611/2791 -f 2253/3612/2794 2274/3617/2794 2272/3613/2792 -f 2255/3614/2795 2275/3619/2795 2273/3615/2793 -f 2257/3616/2796 2276/3621/2796 2274/3617/2794 -f 2255/3614/2795 2263/3622/2797 2277/3618/2797 -f 2260/3620/2798 2278/3625/2798 2276/3621/2796 -f 2263/3622/2797 2262/3627/2799 2279/3623/2799 -f 2260/3620/2798 2265/3628/2800 2280/3624/2800 -f 2267/3626/2801 2281/3629/2801 2279/3623/2799 -f 2265/3628/2800 2241/3572/2759 2244/3574/2759 -f 2240/3605/2790 2270/3604/2790 2281/3629/2801 -f 2282/3630/2802 2283/3643/2808 2224/3631/2803 -f 2284/3633/2804 2285/3639/2806 2210/3634/2727 -f 2286/3636/2805 2287/3644/2809 2231/3637/2752 -f 2285/3639/2806 2288/3646/2810 2211/3640/2733 -f 2289/3641/2807 2282/3630/2802 2221/3632/2741 -f 2283/3643/2808 2286/3636/2805 2227/3638/2745 -f 2287/3644/2809 2290/3651/2813 2235/3645/2754 -f 2288/3646/2810 2289/3641/2807 2217/3642/2737 -f 2208/3538/2811 2291/3653/2814 2229/3647/2747 -f 2292/3648/2812 2293/3655/2816 2219/3649/2739 -f 2290/3651/2813 2294/3654/2815 2214/3652/2730 -f 2291/3653/2814 2284/3633/2804 2233/3635/2750 -f 2294/3654/2815 2292/3648/2812 2215/3650/2735 -f 2293/3655/2816 2207/3540/2842 2206/3537/2817 -f 2296/3656/2818 2297/3684/2840 2298/3657/2819 -f 2246/3659/2767 2245/3685/2761 2299/3660/2821 -f 2295/3658/2820 2298/3657/2819 2302/3662/2823 -f 2246/3659/2767 2300/3661/2822 2303/3664/2825 -f 2301/3663/2824 2302/3662/2823 2305/3666/2826 -f 2254/3668/2775 2250/3665/2766 2303/3664/2825 -f 2304/3667/2827 2305/3666/2826 2308/3670/2829 -f 2309/3672/2831 2254/3668/2775 2306/3669/2828 -f 2307/3671/2830 2308/3670/2829 2311/3674/2833 -f 2312/3676/2834 2309/3672/2831 2310/3673/2832 -f 2259/3675/2777 2311/3674/2833 2314/3678/2836 -f 2315/3680/2837 2312/3676/2834 2313/3677/2835 -f 2264/3679/2786 2314/3678/2836 2317/3682/2839 -f 2296/3656/2818 2315/3680/2837 2316/3681/2838 -f 2245/3685/2761 2268/3683/2785 2317/3682/2839 -f 2325/3692/2843 2318/3693/2844 2319/3694/2845 -f 2319/3694/2845 2320/3695/2846 2321/3696/2847 -f 2321/3696/2847 2322/3697/2848 2323/3698/2849 -f 2323/3698/2849 2324/3699/2850 2306/3686/2828 -f 2306/3686/2828 2303/3700/2825 2300/3687/2822 -f 2300/3687/2822 2299/3701/2821 2317/3702/2839 -f 2317/3702/2839 2314/3703/2836 2300/3687/2822 -f 2314/3703/2836 2311/3688/2833 2300/3687/2822 -f 2311/3688/2833 2325/3692/2843 2323/3698/2849 -f 2325/3692/2843 2319/3694/2845 2323/3698/2849 -f 2319/3694/2845 2321/3696/2847 2323/3698/2849 -f 2323/3698/2849 2306/3686/2828 2311/3688/2833 -f 2207/3584/2770 2208/3590/2776 2263/3594/2780 diff --git a/src/main/resources/assets/hbm/models/weapons/tau.obj b/src/main/resources/assets/hbm/models/weapons/tau.obj index f0f981346..3c4f8c5fe 100644 --- a/src/main/resources/assets/hbm/models/weapons/tau.obj +++ b/src/main/resources/assets/hbm/models/weapons/tau.obj @@ -1,5143 +1,36 @@ # Blender v2.79 (sub 0) OBJ File: 'tau.blend' # www.blender.org -o Body -v 0.551005 -0.364964 2.574621 -v 0.525250 -0.409266 2.523377 -v 0.515690 -0.425405 2.453378 -v 0.524887 -0.409056 2.383378 -v 0.550376 -0.364602 2.332135 -v 0.585327 -0.303952 2.313378 -v 0.620376 -0.243358 2.332134 -v 0.646131 -0.199057 2.383378 -v 0.655690 -0.182918 2.453377 -v 0.646494 -0.199266 2.523377 -v 0.621005 -0.243721 2.574621 -v 0.586053 -0.304371 2.593377 -v 0.876733 -0.551959 2.548175 -v 0.843024 -0.591668 2.497790 -v 0.822599 -0.601533 2.428962 -v 0.820930 -0.578912 2.360134 -v 0.838465 -0.529865 2.309748 -v 0.870505 -0.467534 2.291306 -v 0.908465 -0.408621 2.309748 -v 0.942174 -0.368912 2.360134 -v 0.962599 -0.359046 2.428962 -v 0.964268 -0.381668 2.497789 -v 0.946733 -0.430715 2.548175 -v 0.914693 -0.493046 2.566617 -v 1.101227 -0.681570 2.469018 -v 1.055429 -0.714300 2.423376 -v 1.018491 -0.714631 2.361029 -v 1.000308 -0.682476 2.298681 -v 1.005754 -0.626449 2.253039 -v 1.033369 -0.561564 2.236333 -v 1.075754 -0.505206 2.253039 -v 1.121552 -0.472476 2.298681 -v 1.158491 -0.472144 2.361028 -v 1.176673 -0.504300 2.423376 -v 1.171227 -0.560327 2.469018 -v 1.143612 -0.625212 2.485724 -v 1.256243 -0.771069 2.330546 -v 1.196166 -0.795555 2.298250 -v 1.139721 -0.784624 2.254134 -v 1.102032 -0.741206 2.210018 -v 1.093198 -0.676935 2.177722 -v 1.115587 -0.609032 2.165901 -v 1.163198 -0.555691 2.177722 -v 1.223275 -0.531206 2.210018 -v 1.279721 -0.542137 2.254134 -v 1.317410 -0.585554 2.298250 -v 1.326243 -0.649825 2.330546 -v 1.303855 -0.717729 2.342367 -v 1.334899 -0.816481 2.142498 -v 1.266247 -0.836016 2.129960 -v 1.198090 -0.818323 2.112834 -v 1.148689 -0.768143 2.095708 -v 1.131281 -0.698922 2.083170 -v 1.150531 -0.629207 2.078581 -v 1.201281 -0.577679 2.083170 -v 1.269932 -0.558143 2.095708 -v 1.338090 -0.575836 2.112834 -v 1.387491 -0.626016 2.129960 -v 1.404899 -0.695237 2.142498 -v 1.385649 -0.764952 2.147086 -v 1.345154 -0.822402 1.933423 -v 1.275257 -0.841218 1.936914 -v 1.205398 -0.822543 1.941684 -v 1.154295 -0.771381 1.946454 -v 1.135642 -0.701440 1.949945 -v 1.154436 -0.631462 1.951223 -v 1.205642 -0.580197 1.949945 -v 1.275539 -0.561381 1.946454 -v 1.345398 -0.580056 1.941684 -v 1.396501 -0.631218 1.936914 -v 1.415154 -0.701158 1.933423 -v 1.396360 -0.771136 1.932145 -v 1.310290 -0.802273 1.715737 -v 1.241624 -0.821800 1.728206 -v 1.173446 -0.804095 1.745240 -v 1.124025 -0.753904 1.762273 -v 1.106602 -0.684674 1.774743 -v 1.125847 -0.614956 1.779307 -v 1.176602 -0.563430 1.774743 -v 1.245268 -0.543904 1.762273 -v 1.313446 -0.561608 1.745240 -v 1.362868 -0.611800 1.728206 -v 1.380290 -0.681030 1.715737 -v 1.361046 -0.750748 1.711173 -v 1.248342 -0.766507 1.488676 -v 1.180748 -0.786653 1.505321 -v 1.114035 -0.769794 1.528057 -v 1.066078 -0.720448 1.550794 -v 1.049728 -0.651837 1.567438 -v 1.069365 -0.582346 1.573530 -v 1.119728 -0.530594 1.567438 -v 1.187322 -0.510448 1.550794 -v 1.254035 -0.527307 1.528057 -v 1.301991 -0.576653 1.505321 -v 1.318342 -0.645263 1.488676 -v 1.298705 -0.714755 1.482584 -v 1.172383 -0.722653 1.252446 -v 1.105165 -0.743015 1.270301 -v 1.038964 -0.726452 1.294692 -v 0.991519 -0.677402 1.319082 -v 0.975544 -0.609007 1.336938 -v 0.995318 -0.539595 1.343473 -v 1.045544 -0.487764 1.336938 -v 1.112763 -0.467401 1.319082 -v 1.178964 -0.483964 1.294692 -v 1.226408 -0.533015 1.270301 -v 1.242383 -0.601409 1.252446 -v 1.222609 -0.670821 1.245910 -v 1.094187 -0.677506 1.009806 -v 1.026658 -0.697689 1.026667 -v 0.960034 -0.680881 1.049699 -v 0.912166 -0.631587 1.072732 -v 0.895880 -0.563013 1.089593 -v 0.915541 -0.493536 1.095764 -v 0.965880 -0.441770 1.089593 -v 1.033409 -0.421587 1.072732 -v 1.100034 -0.438394 1.049699 -v 1.147902 -0.487689 1.026667 -v 1.164187 -0.556262 1.009806 -v 1.144526 -0.625740 1.003635 -v 1.025202 -0.637677 0.765133 -v 0.956826 -0.657371 0.778870 -v 0.889045 -0.639896 0.797636 -v 0.840020 -0.589934 0.816401 -v 0.822888 -0.520871 0.830139 -v 0.842239 -0.451215 0.835167 -v 0.892888 -0.399628 0.830139 -v 0.961264 -0.379933 0.816401 -v 1.029045 -0.397409 0.797636 -v 1.078070 -0.447371 0.778870 -v 1.095202 -0.516433 0.765133 -v 1.075851 -0.586090 0.760105 -v 0.976472 -0.609543 0.523846 -v 0.907032 -0.628623 0.531965 -v 0.837798 -0.610309 0.543057 -v 0.787320 -0.559507 0.554148 -v 0.769125 -0.489831 0.562268 -v 0.788086 -0.419949 0.565239 -v 0.839124 -0.368587 0.562268 -v 0.908564 -0.349507 0.554148 -v 0.977798 -0.367821 0.543057 -v 1.028276 -0.418623 0.531965 -v 1.046472 -0.488299 0.523846 -v 1.027510 -0.558181 0.520874 -v 0.958094 -0.598932 0.290518 -v 0.888094 -0.617689 0.290518 -v 0.818094 -0.598932 0.290518 -v 0.766850 -0.547689 0.290518 -v 0.748094 -0.477689 0.290518 -v 0.766850 -0.407689 0.290518 -v 0.818094 -0.356445 0.290518 -v 0.888094 -0.337689 0.290518 -v 0.958094 -0.356445 0.290518 -v 1.009338 -0.407689 0.290518 -v 1.028094 -0.477689 0.290518 -v 1.009338 -0.547689 0.290518 -v 0.000000 0.244981 -0.368932 -v 0.000000 0.244981 0.368932 -v 0.173227 0.173227 -0.368932 -v 0.173227 0.173227 0.368932 -v 0.244981 -0.000000 -0.368932 -v 0.244981 -0.000000 0.368932 -v 0.173227 -0.173227 -0.368932 -v 0.173227 -0.173227 0.368932 -v 0.000000 -0.244981 -0.368932 -v 0.000000 -0.244981 0.368932 -v -0.173227 -0.173227 -0.368932 -v -0.173227 -0.173228 0.368932 -v -0.244981 0.000000 -0.368932 -v -0.244981 0.000000 0.368932 -v -0.173227 0.173227 -0.368932 -v -0.173227 0.173227 0.368932 -v 0.825075 0.000002 0.000002 -v 0.722677 0.000002 0.247212 -v 0.475467 0.000002 0.349610 -v 0.228257 0.000002 0.247212 -v 0.125859 0.000002 0.000002 -v 0.228257 0.000002 -0.247208 -v 0.475467 0.000002 -0.349606 -v 0.722678 0.000002 -0.247208 -v 0.714536 0.412539 0.000002 -v 0.625857 0.361341 0.247212 -v 0.411767 0.237735 0.349610 -v 0.197676 0.114130 0.247212 -v 0.108997 0.062931 0.000002 -v 0.197676 0.114130 -0.247208 -v 0.411767 0.237735 -0.349606 -v 0.625857 0.361341 -0.247208 -v 0.412538 0.714538 0.000002 -v 0.361339 0.625859 0.247212 -v 0.237734 0.411769 0.349610 -v 0.114128 0.197678 0.247212 -v 0.062930 0.108999 0.000002 -v 0.114129 0.197678 -0.247208 -v 0.237734 0.411769 -0.349606 -v 0.361339 0.625859 -0.247208 -v 0.000000 0.825077 0.000002 -v 0.000000 0.722679 0.247212 -v 0.000000 0.475469 0.349610 -v 0.000000 0.228258 0.247212 -v 0.000000 0.125861 0.000002 -v 0.000000 0.228259 -0.247208 -v 0.000000 0.475469 -0.349606 -v 0.000000 0.722679 -0.247208 -v -0.412537 0.714538 0.000002 -v -0.361338 0.625859 0.247212 -v -0.237733 0.411769 0.349610 -v -0.114128 0.197678 0.247212 -v -0.062929 0.108999 0.000002 -v -0.114128 0.197678 -0.247208 -v -0.237733 0.411769 -0.349606 -v -0.361338 0.625859 -0.247208 -v -0.714536 0.412540 0.000002 -v -0.625857 0.361341 0.247212 -v -0.411766 0.237735 0.349610 -v -0.197676 0.114130 0.247212 -v -0.108997 0.062932 0.000002 -v -0.197676 0.114130 -0.247208 -v -0.411766 0.237735 -0.349606 -v -0.625857 0.361341 -0.247208 -v -0.825075 0.000002 0.000002 -v -0.722677 0.000002 0.247212 -v -0.475467 0.000002 0.349610 -v -0.228257 0.000002 0.247212 -v -0.125859 0.000002 0.000002 -v -0.228257 0.000002 -0.247208 -v -0.475467 0.000002 -0.349606 -v -0.722677 0.000002 -0.247208 -v -0.714536 -0.412536 0.000002 -v -0.625857 -0.361336 0.247212 -v -0.411766 -0.237732 0.349610 -v -0.197676 -0.114127 0.247212 -v -0.108997 -0.062928 0.000002 -v -0.197676 -0.114127 -0.247208 -v -0.411767 -0.237732 -0.349606 -v -0.625857 -0.361336 -0.247208 -v -0.412537 -0.714534 0.000002 -v -0.361338 -0.625855 0.247212 -v -0.237733 -0.411765 0.349610 -v -0.114128 -0.197675 0.247212 -v -0.062929 -0.108995 0.000002 -v -0.114128 -0.197674 -0.247208 -v -0.237733 -0.411765 -0.349606 -v -0.361338 -0.625855 -0.247208 -v 0.000000 -0.825073 0.000002 -v 0.000000 -0.722675 0.247212 -v 0.000000 -0.475466 0.349610 -v 0.000000 -0.228255 0.247212 -v 0.000000 -0.125858 0.000002 -v 0.000000 -0.228255 -0.247208 -v 0.000000 -0.475465 -0.349606 -v 0.000000 -0.722675 -0.247208 -v 0.412538 -0.714534 0.000002 -v 0.361339 -0.625855 0.247212 -v 0.237734 -0.411765 0.349610 -v 0.114128 -0.197675 0.247212 -v 0.062930 -0.108995 0.000002 -v 0.114129 -0.197675 -0.247208 -v 0.237734 -0.411765 -0.349606 -v 0.361339 -0.625855 -0.247208 -v 0.714536 -0.412536 0.000002 -v 0.625857 -0.361337 0.247212 -v 0.411767 -0.237732 0.349610 -v 0.197676 -0.114126 0.247212 -v 0.108997 -0.062928 0.000002 -v 0.197676 -0.114127 -0.247208 -v 0.411767 -0.237732 -0.349606 -v 0.625857 -0.361337 -0.247208 -v -0.375000 -1.363814 -2.375000 -v -0.375000 -0.863814 -2.375000 -v -0.375000 -1.363814 -3.124999 -v -0.375000 -0.863814 -3.124999 -v 0.375000 -1.363814 -2.375000 -v 0.375000 -0.863814 -2.375000 -v 0.375000 -1.363814 -3.124999 -v 0.375000 -0.863814 -3.124999 -v -0.375000 -0.496790 -5.624999 -v -0.375000 -1.746790 -5.624999 -v 0.375000 -1.746790 -5.624999 -v 0.375000 -0.496790 -5.624999 -v -0.249981 1.031888 -2.749502 -v 0.249981 1.031888 -2.749502 -v -0.249981 0.945274 -2.713625 -v 0.249981 0.945274 -2.713625 -v -0.249981 0.909398 -2.627011 -v 0.249981 0.909398 -2.627011 -v -0.249981 0.945275 -2.540398 -v 0.249981 0.945274 -2.540397 -v -0.249981 1.031888 -2.504521 -v 0.249981 1.031888 -2.504521 -v -0.249981 1.118502 -2.540398 -v 0.249981 1.118502 -2.540397 -v -0.249981 1.154378 -2.627011 -v 0.249981 1.154378 -2.627011 -v -0.249980 1.118502 -2.713625 -v 0.249981 1.118502 -2.713625 -v -0.249981 1.031888 -2.994483 -v 0.249981 1.031888 -2.994483 -v -0.249981 0.945274 -2.958606 -v 0.249981 0.945274 -2.958606 -v -0.249981 0.909398 -2.871992 -v 0.249981 0.909398 -2.871992 -v -0.249981 0.945274 -2.785378 -v 0.249981 0.945274 -2.785378 -v -0.249981 1.031888 -2.749502 -v 0.249981 1.031888 -2.749502 -v -0.249980 1.118502 -2.785378 -v 0.249981 1.118502 -2.785378 -v -0.249980 1.154378 -2.871992 -v 0.249981 1.154378 -2.871992 -v -0.249980 1.118502 -2.958606 -v 0.249981 1.118502 -2.958606 -v -0.250000 0.863920 -2.500000 -v -0.250000 0.926420 -2.500000 -v -0.250000 0.863920 -2.999999 -v -0.250000 0.926420 -2.999999 -v 0.250000 0.863920 -2.500000 -v 0.250000 0.926420 -2.500000 -v 0.312500 0.863920 -2.999999 -v 0.312500 0.926420 -2.999999 -v -0.312500 0.863920 -2.999999 -v -0.312500 0.863920 -2.500000 -v -0.312500 0.926420 -2.500000 -v -0.312500 0.926420 -2.999999 -v 0.250000 0.926420 -2.999999 -v 0.250000 0.863920 -2.999999 -v 0.312500 0.863920 -2.500000 -v 0.312500 0.926420 -2.500000 -v -0.312500 1.051420 -2.500000 -v -0.312500 1.051420 -2.999999 -v 0.312500 1.051420 -2.999999 -v 0.312500 1.051420 -2.500000 -v -0.250000 1.051420 -2.500000 -v -0.250000 1.051420 -2.999999 -v 0.250000 1.051420 -2.999999 -v 0.250000 1.051420 -2.500000 -v 0.207317 0.989929 -0.750546 -v 0.269079 0.989930 -0.750546 -v 0.207317 0.966012 -0.808289 -v 0.269079 0.966012 -0.808289 -v 0.207317 0.908269 -0.832206 -v 0.269079 0.908269 -0.832206 -v 0.207317 0.850527 -0.808289 -v 0.269079 0.850527 -0.808289 -v 0.207317 0.826609 -0.750546 -v 0.269079 0.826609 -0.750546 -v 0.207317 0.850527 -0.692804 -v 0.269079 0.850527 -0.692804 -v 0.207317 0.908269 -0.668886 -v 0.269079 0.908269 -0.668886 -v 0.207317 0.966012 -0.692804 -v 0.269079 0.966012 -0.692804 -v 0.295772 0.955105 -0.797381 -v 0.295772 0.974504 -0.750546 -v 0.295772 0.908269 -0.816781 -v 0.295772 0.861434 -0.797381 -v 0.295772 0.842034 -0.750546 -v 0.295772 0.861434 -0.703711 -v 0.295772 0.908269 -0.684311 -v 0.295772 0.955105 -0.703711 -v 0.207317 0.989929 -1.158847 -v 0.269080 0.989930 -1.158847 -v 0.207317 0.966012 -1.216590 -v 0.269079 0.966012 -1.216590 -v 0.207317 0.908269 -1.240508 -v 0.269080 0.908269 -1.240508 -v 0.207317 0.850527 -1.216590 -v 0.269080 0.850527 -1.216590 -v 0.207317 0.826609 -1.158848 -v 0.269080 0.826609 -1.158848 -v 0.207317 0.850527 -1.101105 -v 0.269080 0.850527 -1.101105 -v 0.207317 0.908269 -1.077187 -v 0.269079 0.908269 -1.077187 -v 0.207317 0.966012 -1.101105 -v 0.269080 0.966012 -1.101105 -v 0.295772 0.955105 -1.205683 -v 0.295772 0.974504 -1.158847 -v 0.295772 0.908269 -1.225083 -v 0.295772 0.861434 -1.205683 -v 0.295772 0.842034 -1.158848 -v 0.295772 0.861434 -1.112013 -v 0.295772 0.908269 -1.092613 -v 0.295772 0.955104 -1.112013 -v 0.207317 0.989929 -1.567149 -v 0.269079 0.989929 -1.567149 -v 0.207317 0.966012 -1.624892 -v 0.269079 0.966012 -1.624892 -v 0.207317 0.908269 -1.648810 -v 0.269080 0.908269 -1.648810 -v 0.207317 0.850527 -1.624892 -v 0.269080 0.850527 -1.624892 -v 0.207317 0.826609 -1.567149 -v 0.269079 0.826609 -1.567149 -v 0.207317 0.850527 -1.509407 -v 0.269079 0.850527 -1.509407 -v 0.207317 0.908269 -1.485489 -v 0.269080 0.908269 -1.485489 -v 0.207317 0.966012 -1.509406 -v 0.269079 0.966012 -1.509407 -v 0.295772 0.955105 -1.613984 -v 0.295772 0.974504 -1.567149 -v 0.295772 0.908269 -1.633384 -v 0.295772 0.861434 -1.613984 -v 0.295772 0.842034 -1.567149 -v 0.295772 0.861434 -1.520314 -v 0.295772 0.908269 -1.500914 -v 0.295772 0.955105 -1.520314 -v 0.207317 0.989929 -1.975451 -v 0.269079 0.989930 -1.975451 -v 0.207317 0.966012 -2.033194 -v 0.269079 0.966012 -2.033194 -v 0.207317 0.908269 -2.057111 -v 0.269079 0.908269 -2.057111 -v 0.207317 0.850527 -2.033194 -v 0.269079 0.850527 -2.033194 -v 0.207317 0.826609 -1.975451 -v 0.269079 0.826609 -1.975451 -v 0.207317 0.850527 -1.917708 -v 0.269079 0.850527 -1.917708 -v 0.207317 0.908269 -1.893791 -v 0.269079 0.908269 -1.893791 -v 0.207317 0.966012 -1.917708 -v 0.269079 0.966012 -1.917708 -v 0.295772 0.955105 -2.022286 -v 0.295772 0.974504 -1.975451 -v 0.295772 0.908269 -2.041686 -v 0.295772 0.861434 -2.022286 -v 0.295772 0.842034 -1.975451 -v 0.295772 0.861434 -1.928616 -v 0.295772 0.908269 -1.909216 -v 0.295772 0.955105 -1.928616 -v 0.567829 -0.284546 2.199322 -v 0.784319 -0.409536 2.199322 -v 0.481215 -0.434565 2.271075 -v 0.697705 -0.559556 2.271075 -v 0.445338 -0.496705 2.444303 -v 0.661828 -0.621696 2.444303 -v 0.481215 -0.434565 2.617530 -v 0.697705 -0.559556 2.617530 -v 0.567829 -0.284546 2.689283 -v 0.784319 -0.409536 2.689283 -v 0.654443 -0.134526 2.617530 -v 0.870933 -0.259516 2.617530 -v 0.690319 -0.072386 2.444303 -v 0.906809 -0.197376 2.444303 -v 0.654443 -0.134526 2.271075 -v 0.870933 -0.259517 2.271075 -v 0.872283 -0.218575 -0.312500 -v 0.872283 -0.218575 0.312500 -v 1.088790 -0.343575 -0.312500 -v 1.088789 -0.343575 0.312500 -v 1.088790 -0.593575 -0.312500 -v 1.088790 -0.593575 0.312500 -v 0.872283 -0.718575 -0.312500 -v 0.872283 -0.718575 0.312500 -v 0.655777 -0.593575 -0.312500 -v 0.655777 -0.593575 0.312500 -v 0.655777 -0.343575 -0.312500 -v 0.655777 -0.343575 0.312500 -v -0.475030 0.750921 1.869728 -v -0.475030 0.813421 1.869728 -v -0.475030 0.750921 0.369728 -v -0.475030 0.813420 0.369728 -v -0.412530 0.750921 1.869728 -v -0.412530 0.813421 1.869728 -v -0.412530 0.750921 0.369728 -v -0.412530 0.813420 0.369728 -v -0.475030 0.750921 1.932228 -v -0.412530 0.250921 1.869728 -v -0.412530 0.750921 1.932228 -v -0.475030 0.250921 1.869728 -v -0.475030 0.250921 1.932228 -v -0.412530 0.250921 1.932228 -v 0.475030 0.750921 1.869728 -v 0.475030 0.813421 1.869728 -v 0.475030 0.750921 0.369728 -v 0.475030 0.813420 0.369728 -v 0.412530 0.750921 1.869728 -v 0.412530 0.813420 1.869728 -v 0.412530 0.750920 0.369728 -v 0.412530 0.813420 0.369728 -v 0.475030 0.750921 1.932228 -v 0.412530 0.250921 1.869728 -v 0.412530 0.750921 1.932228 -v 0.475030 0.250921 1.869728 -v 0.475030 0.250921 1.932228 -v 0.412530 0.250921 1.932228 -v -0.475030 -0.750921 1.869728 -v -0.475030 -0.813421 1.869728 -v -0.475030 -0.750921 0.369728 -v -0.475030 -0.813421 0.369728 -v -0.412530 -0.750921 1.869728 -v -0.412530 -0.813421 1.869728 -v -0.412530 -0.750921 0.369728 -v -0.412530 -0.813421 0.369728 -v -0.475030 -0.750921 1.932228 -v -0.412530 -0.250921 1.869728 -v -0.412530 -0.750921 1.932228 -v -0.475030 -0.250921 1.869728 -v -0.475030 -0.250921 1.932228 -v -0.412530 -0.250921 1.932228 -v 0.475030 -0.750921 1.869728 -v 0.475030 -0.813421 1.869728 -v 0.475030 -0.750921 0.369728 -v 0.475030 -0.813421 0.369728 -v 0.412530 -0.750921 1.869728 -v 0.412530 -0.813421 1.869728 -v 0.412530 -0.750921 0.369728 -v 0.412530 -0.813421 0.369728 -v 0.475030 -0.750921 1.932228 -v 0.412530 -0.250921 1.869728 -v 0.412530 -0.750921 1.932228 -v 0.475030 -0.250921 1.869728 -v 0.475030 -0.250921 1.932228 -v 0.412530 -0.250921 1.932228 -v 0.536184 0.986795 -0.674615 -v 0.536184 0.611795 -0.674615 -v 0.531041 0.986795 -0.612327 -v 0.531041 0.611795 -0.612327 -v 0.473896 0.986795 -0.679757 -v 0.473896 0.611795 -0.679757 -v 0.468753 0.986795 -0.617469 -v 0.468753 0.611795 -0.617469 -v 0.531041 1.049295 -0.612327 -v 0.468753 1.049295 -0.617469 -v 0.304755 0.986795 2.128347 -v 0.242467 0.986795 2.123204 -v 0.304755 1.049295 2.128347 -v 0.242467 1.049295 2.123204 -v 0.299613 0.986795 2.190635 -v 0.237324 0.986795 2.185492 -v 0.242467 0.611795 2.123204 -v 0.304755 0.611795 2.128347 -v 0.299613 0.611795 2.190635 -v 0.237325 0.611795 2.185492 -v 0.500000 -0.500000 -0.889991 -v 0.500000 0.500000 -0.889991 -v 0.673228 -0.500000 -0.818238 -v 0.673228 0.500000 -0.818238 -v 0.744981 -0.500000 -0.645011 -v 0.744981 0.500000 -0.645011 -v 0.673228 -0.500000 -0.471783 -v 0.673228 0.500000 -0.471783 -v 0.500000 -0.500000 -0.400030 -v 0.500000 0.500000 -0.400030 -v 0.326772 -0.500000 -0.471783 -v 0.326772 0.500000 -0.471783 -v 0.255019 -0.500000 -0.645011 -v 0.255019 0.500000 -0.645011 -v 0.326772 -0.500000 -0.818238 -v 0.326773 0.500000 -0.818238 -v 0.586614 0.625000 -0.731624 -v 0.500000 0.625000 -0.767501 -v 0.622490 0.625000 -0.645011 -v 0.586614 0.625000 -0.558397 -v 0.500000 0.625000 -0.522520 -v 0.413386 0.625000 -0.558397 -v 0.377510 0.625000 -0.645011 -v 0.413386 0.625000 -0.731624 -v -0.250000 -0.750000 -0.375000 -v -0.250000 0.687500 -1.375000 -v -0.250000 -0.750000 -2.375000 -v -0.250000 0.750000 -2.375000 -v 0.250000 -0.750000 -0.375000 -v 0.250000 0.750000 -0.375000 -v 0.250000 -0.750000 -2.125000 -v 0.250000 0.687500 -2.125000 -v -0.250000 0.687500 -2.125000 -v -0.250000 -0.750000 -2.125000 -v 0.250000 -0.750000 -2.375000 -v 0.250000 0.687500 -2.375000 -v -0.250000 -0.750000 -1.375000 -v -0.250000 0.750000 -0.375000 -v 0.250000 0.687500 -1.375000 -v 0.250000 -0.750000 -1.375000 -v -0.250000 0.750000 -1.375000 -v -0.250000 0.750000 -2.125000 -v -0.250000 0.687500 -2.375000 -v 0.250000 0.750000 -2.375000 -v 0.250000 0.750000 -2.125000 -v 0.250000 0.750000 -1.375000 -v 0.250000 0.687500 -0.375000 -v -0.250000 0.687500 -0.375000 -v -0.250000 1.062500 -1.375000 -v -0.250000 1.062500 -1.937500 -v -0.250000 1.062500 -2.125000 -v 0.250000 1.062500 -2.125000 -v 0.250000 1.062500 -1.937499 -v 0.250000 1.062500 -1.375000 -v 0.250000 1.062500 -0.625000 -v -0.250000 1.062500 -0.625000 -v 0.000000 0.724446 2.000000 -v 0.000000 0.599488 3.000000 -v 0.362223 0.627389 2.000000 -v 0.299744 0.519172 3.000000 -v 0.627389 0.362223 2.000000 -v 0.519172 0.299744 3.000000 -v 0.724446 0.000000 2.000000 -v 0.599488 0.000000 3.000000 -v 0.627388 -0.362223 2.000000 -v 0.519172 -0.299744 3.000000 -v 0.362223 -0.627388 2.000000 -v 0.299744 -0.519172 3.000000 -v 0.000000 -0.724446 2.000000 -v 0.000000 -0.599488 3.000000 -v -0.362223 -0.627389 2.000000 -v -0.299744 -0.519172 3.000000 -v -0.627389 -0.362223 2.000000 -v -0.519172 -0.299744 3.000000 -v -0.724446 -0.000000 2.000000 -v -0.599488 -0.000000 3.000000 -v -0.627389 0.362223 2.000000 -v -0.519172 0.299744 3.000000 -v -0.362223 0.627388 2.000000 -v -0.299745 0.519172 3.000000 -v 0.000000 0.650771 1.803562 -v 0.325386 0.563584 1.803562 -v 0.563584 0.325386 1.803562 -v 0.650771 0.000000 1.803562 -v 0.563584 -0.325386 1.803562 -v 0.325386 -0.563584 1.803562 -v 0.000000 -0.650771 1.803562 -v -0.325385 -0.563585 1.803562 -v -0.563584 -0.325386 1.803562 -v -0.650771 -0.000000 1.803562 -v -0.563585 0.325385 1.803562 -v -0.325386 0.563584 1.803562 -v 0.000000 0.484842 1.637495 -v 0.242421 0.419886 1.637495 -v 0.419886 0.242421 1.637495 -v 0.484842 0.000000 1.637495 -v 0.419886 -0.242421 1.637495 -v 0.242421 -0.419886 1.637495 -v 0.000000 -0.484842 1.637495 -v -0.242421 -0.419886 1.637495 -v -0.419886 -0.242421 1.637495 -v -0.484842 -0.000000 1.637495 -v -0.419886 0.242421 1.637495 -v -0.242421 0.419886 1.637495 -v 0.000000 0.089117 1.515425 -v 0.044558 0.077177 1.515425 -v 0.077177 0.044558 1.515425 -v 0.089117 -0.000000 1.515425 -v 0.077177 -0.044558 1.515425 -v 0.044558 -0.077177 1.515425 -v 0.000000 -0.089117 1.515425 -v -0.044558 -0.077177 1.515425 -v -0.077177 -0.044558 1.515425 -v -0.089117 -0.000000 1.515425 -v -0.077177 0.044558 1.515425 -v -0.044558 0.077177 1.515425 -v 0.000000 0.170159 1.515425 -v 0.085079 0.147362 1.515425 -v 0.147362 0.085079 1.515425 -v 0.170159 -0.000000 1.515425 -v 0.147362 -0.085079 1.515425 -v 0.085079 -0.147362 1.515425 -v 0.000000 -0.170159 1.515425 -v -0.085079 -0.147362 1.515425 -v -0.147362 -0.085079 1.515425 -v -0.170159 -0.000000 1.515425 -v -0.147362 0.085079 1.515425 -v -0.085079 0.147362 1.515425 -v 0.000000 0.089118 0.220095 -v 0.044559 0.077178 0.220095 -v 0.077177 0.044559 0.220095 -v 0.089117 0.000001 0.220095 -v 0.077177 -0.044557 0.220095 -v 0.044558 -0.077176 0.220095 -v 0.000000 -0.089116 0.220095 -v -0.044558 -0.077177 0.220095 -v -0.077177 -0.044558 0.220095 -v -0.089117 0.000001 0.220095 -v -0.077177 0.044559 0.220095 -v -0.044559 0.077178 0.220095 -v 0.362223 0.627389 3.000000 -v 0.000000 0.724446 3.000000 -v 0.627388 0.362223 3.000000 -v 0.724446 0.000000 3.000000 -v 0.627389 -0.362223 3.000000 -v 0.362223 -0.627389 3.000000 -v 0.000000 -0.724446 3.000000 -v -0.362223 -0.627389 3.000000 -v -0.627389 -0.362223 3.000000 -v -0.724446 -0.000000 3.000000 -v -0.627389 0.362223 3.000000 -v -0.362223 0.627388 3.000000 -v 0.050433 0.087352 2.000000 -v 0.000000 0.100865 2.000000 -v 0.087351 0.050433 2.000000 -v 0.100865 0.000001 2.000000 -v 0.087351 -0.050432 2.000000 -v 0.050432 -0.087351 2.000000 -v 0.000000 -0.100864 2.000000 -v -0.050432 -0.087351 2.000000 -v -0.087352 -0.050432 2.000000 -v -0.100865 0.000001 2.000000 -v -0.087352 0.050433 2.000000 -v -0.050433 0.087352 2.000000 -v 0.362223 0.627389 4.000000 -v 0.000000 0.724446 4.000000 -v 0.627388 0.362223 4.000000 -v 0.724446 0.000000 4.000000 -v 0.627388 -0.362223 4.000000 -v 0.362223 -0.627389 4.000000 -v 0.000000 -0.724446 4.000000 -v -0.362223 -0.627389 4.000000 -v -0.627389 -0.362223 4.000000 -v -0.724446 -0.000000 4.000000 -v -0.627389 0.362223 4.000000 -v -0.362223 0.627388 4.000000 -v 0.299744 0.519172 4.000000 -v 0.000000 0.599488 4.000000 -v 0.519172 0.299744 4.000000 -v 0.599488 0.000000 4.000000 -v 0.519172 -0.299744 4.000000 -v 0.299744 -0.519172 4.000000 -v 0.000000 -0.599488 4.000000 -v -0.299744 -0.519172 4.000000 -v -0.519172 -0.299744 4.000000 -v -0.599488 -0.000000 4.000000 -v -0.519172 0.299744 4.000000 -v -0.299745 0.519172 4.000000 -v 0.299744 0.519173 2.000000 -v 0.000000 0.599489 2.000000 -v 0.519172 0.299745 2.000000 -v 0.599488 0.000001 2.000000 -v 0.519172 -0.299744 2.000000 -v 0.299744 -0.519171 2.000000 -v 0.000000 -0.599488 2.000000 -v -0.299744 -0.519171 2.000000 -v -0.519172 -0.299744 2.000000 -v -0.599488 0.000000 2.000000 -v -0.519172 0.299744 2.000000 -v -0.299744 0.519172 2.000000 -v 0.050432 0.087353 5.611448 -v 0.000000 0.100866 5.611448 -v 0.087351 0.050434 5.611448 -v 0.100865 0.000002 5.611448 -v 0.087351 -0.050431 5.611448 -v 0.050432 -0.087350 5.611448 -v 0.000000 -0.100863 5.611448 -v -0.050432 -0.087350 5.611448 -v -0.087352 -0.050431 5.611448 -v -0.100865 0.000002 5.611448 -v -0.087352 0.050434 5.611448 -v -0.050433 0.087353 5.611448 -v 0.500000 0.866025 -0.375000 -v 0.500000 0.866025 0.375000 -v 1.000000 -0.000000 -0.375000 -v 1.000000 -0.000000 0.375000 -v 0.500000 -0.866025 -0.375000 -v 0.500000 -0.866025 0.375000 -v -0.500000 -0.866025 -0.375000 -v -0.500000 -0.866025 0.375000 -v -1.000000 0.000000 -0.375000 -v -1.000000 -0.000000 0.375000 -v -0.500000 0.866025 -0.375000 -v -0.500000 0.866025 0.375000 -v 0.500000 0.866025 -3.125000 -v 0.500000 0.866025 -2.375000 -v 1.000000 -0.000000 -3.125000 -v 1.000000 -0.000000 -2.375000 -v 0.500000 -0.866026 -3.125000 -v 0.500000 -0.866025 -2.375000 -v -0.500000 -0.866025 -3.125000 -v -0.500000 -0.866025 -2.375000 -v -1.000000 -0.000000 -3.125000 -v -1.000000 -0.000000 -2.375000 -v -0.500000 0.866025 -3.125000 -v -0.500000 0.866025 -2.375000 -v -0.479958 0.986795 -0.679582 -v -0.479958 0.611795 -0.679582 -v -0.474815 0.986795 -0.617294 -v -0.474815 0.611795 -0.617294 -v -0.542246 0.986795 -0.674439 -v -0.542247 0.611795 -0.674439 -v -0.537103 0.986795 -0.612151 -v -0.537104 0.611795 -0.612151 -v -0.474816 1.049295 -0.617294 -v -0.537104 1.049295 -0.612151 -v -0.248530 0.986795 2.123379 -v -0.310818 0.986795 2.128522 -v -0.248530 1.049295 2.123379 -v -0.310818 1.049295 2.128522 -v -0.243387 0.986795 2.185668 -v -0.305675 0.986795 2.190811 -v -0.310818 0.611795 2.128522 -v -0.248530 0.611795 2.123379 -v -0.243387 0.611795 2.185668 -v -0.305675 0.611795 2.190811 -v -0.500000 -0.500000 -0.400030 -v -0.500000 0.500000 -0.400030 -v -0.673227 -0.500000 -0.471783 -v -0.673227 0.500000 -0.471783 -v -0.744981 -0.500000 -0.645011 -v -0.744981 0.500000 -0.645011 -v -0.673228 -0.500000 -0.818238 -v -0.673227 0.500000 -0.818238 -v -0.500000 -0.500000 -0.889992 -v -0.500000 0.500000 -0.889992 -v -0.326772 -0.500000 -0.818238 -v -0.326772 0.500000 -0.818238 -v -0.255019 -0.500000 -0.645011 -v -0.255019 0.500000 -0.645011 -v -0.326772 -0.500000 -0.471783 -v -0.326772 0.500000 -0.471783 -v -0.586614 0.625000 -0.558397 -v -0.500000 0.625000 -0.522520 -v -0.622490 0.625000 -0.645011 -v -0.586614 0.625000 -0.731624 -v -0.500000 0.625000 -0.767501 -v -0.413386 0.625000 -0.731625 -v -0.377510 0.625000 -0.645011 -v -0.413386 0.625000 -0.558397 -v -0.207317 0.989930 -0.750546 -v -0.269079 0.989930 -0.750546 -v -0.207317 0.966012 -0.808289 -v -0.269079 0.966012 -0.808289 -v -0.207317 0.908269 -0.832207 -v -0.269079 0.908269 -0.832207 -v -0.207317 0.850527 -0.808289 -v -0.269079 0.850527 -0.808289 -v -0.207317 0.826609 -0.750546 -v -0.269079 0.826609 -0.750546 -v -0.207317 0.850527 -0.692804 -v -0.269079 0.850527 -0.692804 -v -0.207317 0.908269 -0.668886 -v -0.269079 0.908269 -0.668886 -v -0.207317 0.966012 -0.692804 -v -0.269079 0.966012 -0.692804 -v -0.295772 0.955105 -0.797381 -v -0.295772 0.974504 -0.750546 -v -0.295772 0.908269 -0.816781 -v -0.295772 0.861434 -0.797381 -v -0.295772 0.842034 -0.750546 -v -0.295772 0.861434 -0.703711 -v -0.295772 0.908269 -0.684311 -v -0.295772 0.955105 -0.703711 -v -0.207317 0.989929 -1.158848 -v -0.269079 0.989929 -1.158848 -v -0.207317 0.966012 -1.216590 -v -0.269079 0.966012 -1.216590 -v -0.207317 0.908269 -1.240508 -v -0.269079 0.908269 -1.240508 -v -0.207317 0.850527 -1.216591 -v -0.269079 0.850527 -1.216591 -v -0.207317 0.826609 -1.158848 -v -0.269079 0.826609 -1.158848 -v -0.207317 0.850527 -1.101105 -v -0.269079 0.850527 -1.101106 -v -0.207317 0.908269 -1.077188 -v -0.269079 0.908269 -1.077188 -v -0.207317 0.966012 -1.101105 -v -0.269079 0.966012 -1.101105 -v -0.295772 0.955104 -1.205683 -v -0.295772 0.974504 -1.158848 -v -0.295772 0.908269 -1.225083 -v -0.295772 0.861434 -1.205683 -v -0.295772 0.842034 -1.158848 -v -0.295772 0.861434 -1.112013 -v -0.295772 0.908269 -1.092613 -v -0.295772 0.955104 -1.112013 -v -0.207317 0.989929 -1.567149 -v -0.269079 0.989929 -1.567149 -v -0.207317 0.966012 -1.624892 -v -0.269079 0.966012 -1.624892 -v -0.207317 0.908269 -1.648810 -v -0.269079 0.908269 -1.648810 -v -0.207317 0.850527 -1.624892 -v -0.269079 0.850527 -1.624892 -v -0.207317 0.826609 -1.567150 -v -0.269079 0.826609 -1.567150 -v -0.207317 0.850527 -1.509407 -v -0.269079 0.850527 -1.509407 -v -0.207317 0.908269 -1.485489 -v -0.269079 0.908269 -1.485489 -v -0.207317 0.966012 -1.509407 -v -0.269079 0.966012 -1.509407 -v -0.295772 0.955104 -1.613984 -v -0.295772 0.974504 -1.567149 -v -0.295772 0.908269 -1.633385 -v -0.295772 0.861434 -1.613985 -v -0.295772 0.842034 -1.567150 -v -0.295772 0.861434 -1.520314 -v -0.295772 0.908269 -1.500914 -v -0.295772 0.955104 -1.520314 -v -0.207317 0.989930 -1.975451 -v -0.269079 0.989930 -1.975451 -v -0.207317 0.966012 -2.033194 -v -0.269079 0.966012 -2.033194 -v -0.207317 0.908269 -2.057111 -v -0.269079 0.908269 -2.057111 -v -0.207317 0.850527 -2.033194 -v -0.269079 0.850527 -2.033194 -v -0.207317 0.826609 -1.975451 -v -0.269079 0.826609 -1.975451 -v -0.207317 0.850527 -1.917709 -v -0.269079 0.850527 -1.917709 -v -0.207317 0.908269 -1.893791 -v -0.269079 0.908269 -1.893791 -v -0.207317 0.966012 -1.917708 -v -0.269079 0.966012 -1.917708 -v -0.295772 0.955105 -2.022286 -v -0.295772 0.974504 -1.975451 -v -0.295772 0.908269 -2.041686 -v -0.295772 0.861434 -2.022286 -v -0.295772 0.842034 -1.975451 -v -0.295772 0.861434 -1.928616 -v -0.295772 0.908269 -1.909216 -v -0.295772 0.955105 -1.928616 -v 0.825075 0.000002 -2.749997 -v 0.722677 0.000002 -2.502787 -v 0.475467 0.000002 -2.400389 -v 0.228257 0.000002 -2.502787 -v 0.125859 0.000002 -2.749997 -v 0.228257 0.000002 -2.997207 -v 0.475467 0.000002 -3.099605 -v 0.722678 0.000002 -2.997207 -v 0.714536 0.412540 -2.749997 -v 0.625857 0.361341 -2.502787 -v 0.411767 0.237735 -2.400389 -v 0.197676 0.114130 -2.502787 -v 0.108997 0.062932 -2.749997 -v 0.197676 0.114130 -2.997207 -v 0.411767 0.237735 -3.099605 -v 0.625857 0.361341 -2.997207 -v 0.412538 0.714538 -2.749997 -v 0.361339 0.625859 -2.502787 -v 0.237734 0.411769 -2.400389 -v 0.114128 0.197678 -2.502787 -v 0.062930 0.108999 -2.749997 -v 0.114128 0.197678 -2.997207 -v 0.237734 0.411769 -3.099605 -v 0.361339 0.625859 -2.997207 -v 0.000000 0.825077 -2.749997 -v 0.000000 0.722679 -2.502787 -v 0.000000 0.475469 -2.400389 -v 0.000000 0.228259 -2.502787 -v 0.000000 0.125861 -2.749997 -v 0.000000 0.228259 -2.997207 -v 0.000000 0.475469 -3.099605 -v 0.000000 0.722679 -2.997207 -v -0.412537 0.714538 -2.749997 -v -0.361338 0.625859 -2.502788 -v -0.237733 0.411769 -2.400390 -v -0.114128 0.197678 -2.502787 -v -0.062929 0.108999 -2.749997 -v -0.114128 0.197678 -2.997207 -v -0.237733 0.411769 -3.099605 -v -0.361338 0.625859 -2.997207 -v -0.714536 0.412540 -2.749997 -v -0.625857 0.361341 -2.502788 -v -0.411767 0.237735 -2.400390 -v -0.197676 0.114130 -2.502787 -v -0.108997 0.062932 -2.749997 -v -0.197676 0.114130 -2.997207 -v -0.411766 0.237735 -3.099605 -v -0.625857 0.361341 -2.997207 -v -0.825075 0.000002 -2.749997 -v -0.722677 0.000002 -2.502788 -v -0.475467 0.000002 -2.400390 -v -0.228257 0.000002 -2.502787 -v -0.125859 0.000002 -2.749997 -v -0.228257 0.000002 -2.997207 -v -0.475467 0.000002 -3.099605 -v -0.722677 0.000002 -2.997207 -v -0.714536 -0.412536 -2.749997 -v -0.625857 -0.361336 -2.502787 -v -0.411767 -0.237732 -2.400389 -v -0.197676 -0.114126 -2.502787 -v -0.108997 -0.062928 -2.749997 -v -0.197676 -0.114127 -2.997207 -v -0.411767 -0.237732 -3.099605 -v -0.625857 -0.361336 -2.997207 -v -0.412537 -0.714534 -2.749997 -v -0.361338 -0.625855 -2.502787 -v -0.237733 -0.411765 -2.400389 -v -0.114128 -0.197674 -2.502787 -v -0.062929 -0.108995 -2.749997 -v -0.114128 -0.197675 -2.997207 -v -0.237733 -0.411765 -3.099605 -v -0.361338 -0.625855 -2.997207 -v 0.000000 -0.825073 -2.749997 -v 0.000000 -0.722675 -2.502787 -v 0.000000 -0.475466 -2.400389 -v 0.000000 -0.228255 -2.502787 -v 0.000000 -0.125858 -2.749997 -v 0.000000 -0.228255 -2.997207 -v 0.000000 -0.475465 -3.099605 -v 0.000000 -0.722675 -2.997207 -v 0.412538 -0.714534 -2.749997 -v 0.361339 -0.625855 -2.502787 -v 0.237734 -0.411765 -2.400389 -v 0.114129 -0.197675 -2.502787 -v 0.062930 -0.108995 -2.749997 -v 0.114128 -0.197674 -2.997207 -v 0.237734 -0.411765 -3.099605 -v 0.361339 -0.625855 -2.997207 -v 0.714536 -0.412536 -2.749997 -v 0.625857 -0.361337 -2.502787 -v 0.411767 -0.237732 -2.400389 -v 0.197676 -0.114126 -2.502787 -v 0.108997 -0.062928 -2.749997 -v 0.197676 -0.114126 -2.997207 -v 0.411767 -0.237732 -3.099605 -v 0.625857 -0.361337 -2.997207 -v 0.000000 0.244981 -2.381067 -v 0.000000 0.244981 -3.118932 -v -0.173227 0.173227 -2.381067 -v -0.173227 0.173227 -3.118932 -v -0.244980 -0.000000 -2.381067 -v -0.244981 -0.000000 -3.118932 -v -0.173227 -0.173228 -2.381067 -v -0.173227 -0.173228 -3.118932 -v 0.000000 -0.244981 -2.381067 -v 0.000000 -0.244981 -3.118932 -v 0.173228 -0.173228 -2.381067 -v 0.173228 -0.173228 -3.118932 -v 0.244981 -0.000000 -2.381067 -v 0.244981 -0.000000 -3.118932 -v 0.173228 0.173227 -2.381067 -v 0.173228 0.173227 -3.118932 -vt 0.246892 0.529648 -vt 0.264843 0.500743 -vt 0.282793 0.529648 -vt 0.456621 0.176471 -vt 0.511416 0.235294 -vt 0.456621 0.235294 -vt 0.817352 0.000000 -vt 1.000000 0.088235 -vt 0.817352 0.088235 -vt 0.511416 0.235294 -vt 0.456621 0.176471 -vt 0.511416 0.176471 -vt 0.762557 0.000000 -vt 0.726027 0.088235 -vt 0.726027 0.000000 -vt 0.452055 0.088235 -vt 0.397260 0.000000 -vt 0.452055 0.000000 -vt 0.726027 0.000000 -vt 0.634703 0.088235 -vt 0.634703 0.000000 -vt 0.694064 0.132353 -vt 0.694064 0.279412 -vt 0.694064 0.279412 -vt 0.118683 0.139406 -vt 0.109709 0.124955 -vt 0.118683 0.110505 -vt 0.125030 0.144208 -vt 0.118661 0.168966 -vt 0.112292 0.164718 -vt 0.118683 0.139406 -vt 0.109709 0.124955 -vt 0.118683 0.110505 -vt 0.125030 0.144208 -vt 0.118661 0.168966 -vt 0.112292 0.164718 -vt 0.063927 0.110294 -vt 0.059361 0.169118 -vt 0.059361 0.110294 -vt 0.004566 0.022059 -vt 0.041096 0.029412 -vt 0.004566 0.029412 -vt 0.009132 0.169118 -vt 0.013699 0.110294 -vt 0.013699 0.169118 -vt 0.041096 0.036765 -vt 0.004566 0.029412 -vt 0.041096 0.029412 -vt 0.018265 0.169118 -vt 0.054795 0.110294 -vt 0.054795 0.169118 -vt 0.013699 0.110294 -vt 0.050228 0.051471 -vt 0.050228 0.110294 -vt 0.000000 0.036765 -vt 0.000000 0.029412 -vt 0.041096 0.022059 -vt 0.045662 0.007353 -vt 0.045662 0.022059 -vt -0.000000 0.022059 -vt 0.045662 0.029412 -vt 0.018265 0.110294 -vt 0.045662 0.051471 -vt 0.041096 0.051471 -vt 0.045662 0.036765 -vt 0.004566 0.110294 -vt -0.000000 0.051471 -vt 0.004566 0.051471 -vt 0.059361 0.051471 -vt 0.063927 0.110294 -vt 0.059361 0.110294 -vt 0.013699 0.051471 -vt 0.004566 0.007353 -vt 0.000000 0.110294 -vt 0.009132 0.110294 -vt 0.073059 0.169118 -vt 0.063927 0.169118 -vt 0.004566 0.036765 -vt 0.223744 0.441176 -vt 0.219178 0.448529 -vt 0.219178 0.441176 -vt 0.223744 0.448529 -vt 0.219178 0.455882 -vt 0.223744 0.463235 -vt 0.219178 0.463235 -vt 0.219178 0.470588 -vt 0.219178 0.411765 -vt 0.223744 0.419118 -vt 0.219178 0.419118 -vt 0.223744 0.426471 -vt 0.219178 0.426471 -vt 0.219178 0.433824 -vt 0.223744 0.433824 -vt 0.228371 0.463247 -vt 0.232881 0.455984 -vt 0.237391 0.463247 -vt 0.223744 0.441176 -vt 0.219178 0.448529 -vt 0.219178 0.441176 -vt 0.223744 0.448529 -vt 0.219178 0.455882 -vt 0.223744 0.455882 -vt 0.219178 0.463235 -vt 0.223744 0.463235 -vt 0.219178 0.470588 -vt 0.219178 0.411765 -vt 0.223744 0.419118 -vt 0.219178 0.419118 -vt 0.223744 0.426471 -vt 0.219178 0.426471 -vt 0.223744 0.433824 -vt 0.219178 0.433824 -vt 0.228371 0.463247 -vt 0.236070 0.458111 -vt 0.237391 0.463247 -vt 0.223744 0.441176 -vt 0.219178 0.448529 -vt 0.219178 0.441176 -vt 0.223744 0.448529 -vt 0.219178 0.455882 -vt 0.223744 0.455882 -vt 0.219178 0.463235 -vt 0.223744 0.463235 -vt 0.219178 0.470588 -vt 0.223744 0.411765 -vt 0.219178 0.419118 -vt 0.219178 0.411765 -vt 0.223744 0.419118 -vt 0.219178 0.426471 -vt 0.223744 0.433824 -vt 0.219178 0.433824 -vt 0.228371 0.463247 -vt 0.236070 0.458111 -vt 0.237391 0.463247 -vt 0.219178 0.441176 -vt 0.223744 0.448529 -vt 0.219178 0.448529 -vt 0.223744 0.455882 -vt 0.219178 0.455882 -vt 0.219178 0.463235 -vt 0.223744 0.463235 -vt 0.219178 0.470588 -vt 0.219178 0.411765 -vt 0.223744 0.419118 -vt 0.219178 0.419118 -vt 0.219178 0.426471 -vt 0.223744 0.426471 -vt 0.219178 0.433824 -vt 0.223744 0.433824 -vt 0.228371 0.463247 -vt 0.236070 0.458111 -vt 0.237391 0.463247 -vt 0.365020 0.831345 -vt 0.346991 0.860377 -vt 0.346991 0.802313 -vt 0.347070 0.860426 -vt 0.328954 0.831254 -vt 0.365186 0.831254 -vt 0.397260 0.573529 -vt 0.415525 0.500000 -vt 0.415525 0.573529 -vt 0.433790 0.573529 -vt 0.452055 0.500000 -vt 0.452055 0.573529 -vt 0.342466 0.500000 -vt 0.360731 0.573529 -vt 0.342466 0.573529 -vt 0.360782 0.632318 -vt 0.360782 0.573830 -vt 0.376509 0.588452 -vt 0.360731 0.500000 -vt 0.378995 0.573529 -vt 0.378995 0.500000 -vt 0.345129 0.617702 -vt 0.360810 0.573965 -vt 0.360810 0.632280 -vt 0.301370 0.617647 -vt 0.296804 0.794118 -vt 0.296804 0.617647 -vt 0.305936 0.794118 -vt 0.310502 0.617647 -vt 0.310502 0.794118 -vt 0.296804 0.801471 -vt 0.293547 0.797798 -vt 0.296804 0.794118 -vt 0.292237 0.794118 -vt 0.301370 0.794118 -vt 0.305936 0.617647 -vt 0.296804 0.860294 -vt 0.301370 0.801471 -vt 0.301370 0.860294 -vt 0.301370 0.794118 -vt 0.301370 0.801471 -vt 0.304551 0.797798 -vt 0.292237 0.801471 -vt 0.296804 0.801471 -vt 0.305936 0.860294 -vt 0.310502 0.801471 -vt 0.310502 0.860294 -vt 0.305936 0.801471 -vt 0.296804 0.617647 -vt 0.301370 0.794118 -vt 0.296804 0.794118 -vt 0.310502 0.794118 -vt 0.305936 0.617647 -vt 0.310502 0.617647 -vt 0.301370 0.801471 -vt 0.301370 0.794118 -vt 0.304551 0.797798 -vt 0.292237 0.617647 -vt 0.305936 0.794118 -vt 0.301370 0.617647 -vt 0.301370 0.860294 -vt 0.296804 0.801471 -vt 0.301370 0.801471 -vt 0.296804 0.794118 -vt 0.296804 0.801471 -vt 0.293547 0.797798 -vt 0.296804 0.860294 -vt 0.292237 0.801471 -vt 0.310502 0.860294 -vt 0.305936 0.801471 -vt 0.310502 0.801471 -vt 0.305936 0.860294 -vt 0.296804 0.617647 -vt 0.301370 0.794118 -vt 0.296804 0.794118 -vt 0.310502 0.794118 -vt 0.305936 0.617647 -vt 0.310502 0.617647 -vt 0.296804 0.794118 -vt 0.296804 0.801471 -vt 0.296804 0.801471 -vt 0.292237 0.617647 -vt 0.305936 0.794118 -vt 0.301370 0.617647 -vt 0.301370 0.860294 -vt 0.301370 0.801471 -vt 0.301370 0.794118 -vt 0.304566 0.797886 -vt 0.301370 0.801471 -vt 0.296804 0.860294 -vt 0.292237 0.801471 -vt 0.310502 0.860294 -vt 0.305936 0.801471 -vt 0.310502 0.801471 -vt 0.305936 0.860294 -vt 0.301370 0.617647 -vt 0.296804 0.794118 -vt 0.296804 0.617647 -vt 0.305936 0.794118 -vt 0.310502 0.617647 -vt 0.310502 0.794118 -vt 0.296804 0.801471 -vt 0.293547 0.797798 -vt 0.296804 0.794118 -vt 0.292237 0.794118 -vt 0.301370 0.794118 -vt 0.305936 0.617647 -vt 0.296804 0.860294 -vt 0.301370 0.801471 -vt 0.301370 0.860294 -vt 0.301370 0.794118 -vt 0.301370 0.801471 -vt 0.304551 0.797798 -vt 0.292237 0.860294 -vt 0.296804 0.801471 -vt 0.305936 0.860294 -vt 0.310502 0.801471 -vt 0.310502 0.860294 -vt 0.305936 0.801471 -vt 0.438356 0.617647 -vt 0.442922 0.573529 -vt 0.442922 0.617647 -vt 0.433790 0.573529 -vt 0.433790 0.617647 -vt 0.447489 0.573529 -vt 0.452055 0.617647 -vt 0.447489 0.617647 -vt 0.442922 0.955882 -vt 0.447489 0.948529 -vt 0.447489 0.955882 -vt 0.449793 0.952194 -vt 0.447489 0.948529 -vt 0.442922 0.625000 -vt 0.447489 0.625000 -vt 0.440661 0.952194 -vt 0.442922 0.948529 -vt 0.449728 0.621287 -vt 0.447489 0.625000 -vt 0.447489 0.617647 -vt 0.452055 0.948529 -vt 0.452055 0.625000 -vt 0.438356 0.948529 -vt 0.433790 0.625000 -vt 0.438356 0.625000 -vt 0.442922 0.948529 -vt 0.447489 1.000000 -vt 0.442922 0.955882 -vt 0.447489 0.955882 -vt 0.442922 0.625000 -vt 0.440640 0.621287 -vt 0.442922 0.617647 -vt 0.452055 0.955882 -vt 0.452055 1.000000 -vt 0.438356 1.000000 -vt 0.433790 0.955882 -vt 0.438356 0.955882 -vt 0.442922 1.000000 -vt 0.311363 0.491158 -vt 0.311363 0.449920 -vt 0.336973 0.449920 -vt 0.461174 0.389597 -vt 0.454794 0.364793 -vt 0.461174 0.360537 -vt 0.397260 0.183824 -vt 0.292237 0.242647 -vt 0.292237 0.183824 -vt 0.397260 0.301471 -vt 0.452055 0.242647 -vt 0.452055 0.301471 -vt 0.292237 0.301471 -vt 0.397260 0.242647 -vt 0.164384 0.345588 -vt 0.164384 0.382353 -vt 0.146119 0.345588 -vt 0.164384 0.338235 -vt 0.146119 0.169118 -vt 0.164384 0.169118 -vt 0.456621 0.183824 -vt 0.438356 0.125000 -vt 0.456621 0.125000 -vt 0.073059 0.345588 -vt 0.114155 0.382353 -vt 0.073059 0.382353 -vt 0.127854 0.169118 -vt 0.146119 0.338235 -vt 0.127854 0.338235 -vt 0.219178 0.169118 -vt 0.292237 0.338235 -vt 0.219178 0.338235 -vt 0.073059 0.338235 -vt 0.000000 0.169118 -vt 0.073059 0.169118 -vt 0.365297 0.183824 -vt 0.292237 0.125000 -vt 0.365297 0.125000 -vt 0.127854 0.345588 -vt 0.127854 0.382353 -vt 0.146119 0.338235 -vt 0.219178 0.345588 -vt 0.000000 0.345588 -vt 0.000000 0.338235 -vt 0.415525 0.360294 -vt 0.374429 0.301471 -vt 0.415525 0.301471 -vt 0.429224 0.360294 -vt 0.374429 0.360294 -vt 0.319635 0.301471 -vt 0.273973 0.382353 -vt 0.219178 0.382353 -vt 0.178082 0.382353 -vt 0.292237 0.301471 -vt 0.319635 0.360294 -vt 0.292237 0.360294 -vt 0.018265 0.382353 -vt 0.456621 0.360294 -vt 0.429224 0.301471 -vt 0.456621 0.301471 -vt 0.136986 0.709860 -vt 0.132428 0.718583 -vt 0.132428 0.708120 -vt 0.136986 0.671709 -vt 0.132428 0.663573 -vt 0.136986 0.665350 -vt 0.136986 0.620841 -vt 0.132428 0.629490 -vt 0.132428 0.619027 -vt 0.136986 0.576331 -vt 0.132428 0.584943 -vt 0.132428 0.574480 -vt 0.136986 0.538180 -vt 0.132428 0.529933 -vt 0.136986 0.531821 -vt 0.136986 0.493670 -vt 0.132428 0.485387 -vt 0.136986 0.487312 -vt 0.136986 0.983277 -vt 0.132428 0.975400 -vt 0.136986 0.976918 -vt 0.136986 0.938767 -vt 0.132428 0.930853 -vt 0.136986 0.932409 -vt 0.136986 0.894257 -vt 0.132428 0.886307 -vt 0.136986 0.887899 -vt 0.136986 0.843389 -vt 0.132428 0.852223 -vt 0.132428 0.841760 -vt 0.136986 0.798879 -vt 0.132428 0.807676 -vt 0.132428 0.797213 -vt 0.136986 0.760728 -vt 0.132428 0.752667 -vt 0.136986 0.754370 -vt 0.283105 1.000000 -vt 0.292237 0.963235 -vt 0.292237 1.000000 -vt 0.283105 0.889706 -vt 0.292237 0.926471 -vt 0.283105 0.926471 -vt 0.292237 0.852941 -vt 0.292237 0.889706 -vt 0.283105 0.816176 -vt 0.292237 0.779412 -vt 0.292237 0.816176 -vt 0.283105 0.742647 -vt 0.283105 0.779412 -vt 0.283105 0.705882 -vt 0.292237 0.669118 -vt 0.292237 0.705882 -vt 0.283105 0.669118 -vt 0.292237 0.632353 -vt 0.283105 0.558824 -vt 0.292237 0.595588 -vt 0.283105 0.595588 -vt 0.333333 0.750000 -vt 0.356164 0.764706 -vt 0.333333 0.764706 -vt 0.333333 0.764706 -vt 0.356164 0.779412 -vt 0.333333 0.779412 -vt 0.333333 0.779412 -vt 0.356164 0.794118 -vt 0.333333 0.794118 -vt 0.333333 0.735294 -vt 0.356164 0.750000 -vt 0.333333 0.750000 -vt 0.339272 0.940257 -vt 0.335669 0.999174 -vt 0.335669 0.941811 -vt 0.341909 0.936009 -vt 0.357083 0.989934 -vt 0.342874 0.930207 -vt 0.372759 0.964691 -vt 0.372759 0.895724 -vt 0.378497 0.930207 -vt 0.339272 0.920158 -vt 0.341909 0.924405 -vt 0.335669 0.861240 -vt 0.357083 0.870480 -vt 0.332065 0.920158 -vt 0.335669 0.918603 -vt 0.329428 0.924405 -vt 0.314254 0.870480 -vt 0.292840 0.930207 -vt 0.298578 0.895724 -vt 0.329428 0.936009 -vt 0.328463 0.930207 -vt 0.314254 0.989934 -vt 0.298578 0.964691 -vt 0.332065 0.940257 -vt 0.366313 0.854637 -vt 0.377921 0.843846 -vt 0.377921 0.854637 -vt 0.598173 0.647059 -vt 0.652968 0.529412 -vt 0.652968 0.647059 -vt 0.598173 0.411765 -vt 0.652968 0.411765 -vt 0.652968 0.294118 -vt 0.652968 1.000000 -vt 0.598173 0.882353 -vt 0.652968 0.882353 -vt 0.689694 0.984059 -vt 0.653239 0.882380 -vt 0.762606 0.780702 -vt 0.598173 0.764706 -vt 0.652968 0.764706 -vt 0.653606 0.647052 -vt 0.799654 0.647052 -vt 0.763142 0.748889 -vt 0.799087 0.647059 -vt 0.853881 0.529412 -vt 0.853881 0.647059 -vt 0.799087 0.529412 -vt 0.853881 0.411765 -vt 0.799087 0.411765 -vt 0.853881 0.294118 -vt 0.799087 1.000000 -vt 0.853881 0.882353 -vt 0.853881 1.000000 -vt 0.890927 0.983706 -vt 0.854535 0.882203 -vt 0.963713 0.780700 -vt 0.799087 0.764706 -vt 0.853881 0.764706 -vt 0.999895 0.647212 -vt 0.853771 0.647212 -vt 0.890302 0.545323 -vt 0.447489 0.955882 -vt 0.442922 1.000000 -vt 0.442922 0.955882 -vt 0.438356 1.000000 -vt 0.438356 0.955882 -vt 0.433790 1.000000 -vt 0.433790 0.955882 -vt 0.447489 0.948529 -vt 0.442922 0.955882 -vt 0.442922 0.948529 -vt 0.452055 1.000000 -vt 0.447489 1.000000 -vt 0.449775 0.952245 -vt 0.447489 0.955882 -vt 0.433790 0.625000 -vt 0.438356 0.948529 -vt 0.433790 0.948529 -vt 0.440634 0.952245 -vt 0.449814 0.621500 -vt 0.447489 0.625000 -vt 0.447489 0.617647 -vt 0.447489 0.625000 -vt 0.452055 0.948529 -vt 0.447489 0.948529 -vt 0.442922 0.625000 -vt 0.442922 0.948529 -vt 0.438356 0.625000 -vt 0.433790 0.573529 -vt 0.438356 0.617647 -vt 0.433790 0.617647 -vt 0.442922 0.617647 -vt 0.442922 0.625000 -vt 0.440812 0.621442 -vt 0.447489 0.617647 -vt 0.452055 0.573529 -vt 0.452055 0.617647 -vt 0.442922 0.573529 -vt 0.442922 0.617647 -vt 0.311363 0.491158 -vt 0.324168 0.441379 -vt 0.336973 0.449920 -vt 0.461174 0.389597 -vt 0.454794 0.364793 -vt 0.461174 0.360537 -vt 0.219178 0.441176 -vt 0.223744 0.448529 -vt 0.219178 0.448529 -vt 0.223744 0.455882 -vt 0.219178 0.455882 -vt 0.223744 0.463235 -vt 0.219178 0.463235 -vt 0.219178 0.470588 -vt 0.223744 0.411765 -vt 0.219178 0.419118 -vt 0.219178 0.411765 -vt 0.223744 0.419118 -vt 0.219178 0.426471 -vt 0.223744 0.433824 -vt 0.219178 0.433824 -vt 0.228371 0.463247 -vt 0.236070 0.458111 -vt 0.237391 0.463247 -vt 0.223744 0.441176 -vt 0.219178 0.448529 -vt 0.219178 0.441176 -vt 0.223744 0.455882 -vt 0.219178 0.455882 -vt 0.223744 0.463235 -vt 0.219178 0.463235 -vt 0.223744 0.470588 -vt 0.219178 0.470588 -vt 0.219178 0.411765 -vt 0.223744 0.419118 -vt 0.219178 0.419118 -vt 0.223744 0.426471 -vt 0.219178 0.426471 -vt 0.219178 0.433824 -vt 0.228371 0.463247 -vt 0.236070 0.458111 -vt 0.237391 0.463247 -vt 0.219178 0.441176 -vt 0.223744 0.448529 -vt 0.219178 0.448529 -vt 0.223744 0.455882 -vt 0.219178 0.455882 -vt 0.219178 0.463235 -vt 0.223744 0.470588 -vt 0.219178 0.470588 -vt 0.223744 0.411765 -vt 0.219178 0.419118 -vt 0.219178 0.411765 -vt 0.223744 0.426471 -vt 0.219178 0.426471 -vt 0.219178 0.433824 -vt 0.223744 0.433824 -vt 0.228371 0.463247 -vt 0.236070 0.458111 -vt 0.237391 0.463247 -vt 0.219178 0.441176 -vt 0.223744 0.448529 -vt 0.219178 0.448529 -vt 0.219178 0.455882 -vt 0.223744 0.455882 -vt 0.219178 0.463235 -vt 0.223744 0.470588 -vt 0.219178 0.470588 -vt 0.223744 0.411765 -vt 0.219178 0.419118 -vt 0.219178 0.411765 -vt 0.223744 0.419118 -vt 0.219178 0.426471 -vt 0.223744 0.426471 -vt 0.219178 0.433824 -vt 0.223744 0.433824 -vt 0.228371 0.463247 -vt 0.232881 0.455984 -vt 0.232881 0.470509 -vt 0.252150 0.509209 -vt 0.264843 0.500743 -vt 0.282793 0.529648 -vt 0.277535 0.550087 -vt 0.264843 0.558553 -vt 0.252150 0.550087 -vt 0.252150 0.509209 -vt 0.277535 0.509209 -vt 0.511416 0.176471 -vt 1.000000 0.000000 -vt 0.456621 0.235294 -vt 0.762557 0.088235 -vt 0.397260 0.088235 -vt 0.726027 0.088235 -vt 0.694064 0.132353 -vt 0.125028 0.114737 -vt 0.127657 0.124955 -vt 0.125028 0.135173 -vt 0.112337 0.135173 -vt 0.112337 0.114737 -vt 0.041096 0.007353 -vt -0.000000 0.029412 -vt 0.045662 0.029412 -vt -0.000000 0.110294 -vt 0.063927 0.051471 -vt 0.000000 0.007353 -vt 0.000000 0.169118 -vt 0.073059 0.110294 -vt 0.223744 0.455882 -vt 0.223744 0.470588 -vt 0.223744 0.411765 -vt 0.236070 0.468382 -vt 0.232881 0.470509 -vt 0.229692 0.468382 -vt 0.229692 0.458111 -vt 0.236070 0.458111 -vt 0.223744 0.470588 -vt 0.223744 0.411765 -vt 0.236070 0.468382 -vt 0.232881 0.470509 -vt 0.229692 0.468382 -vt 0.229692 0.458111 -vt 0.232881 0.455984 -vt 0.223744 0.470588 -vt 0.223744 0.426471 -vt 0.236070 0.468382 -vt 0.232881 0.470509 -vt 0.229692 0.468382 -vt 0.229692 0.458111 -vt 0.232881 0.455984 -vt 0.223744 0.441176 -vt 0.223744 0.470588 -vt 0.223744 0.411765 -vt 0.236070 0.468382 -vt 0.232881 0.470509 -vt 0.229692 0.468382 -vt 0.229692 0.458111 -vt 0.232881 0.455984 -vt 0.328962 0.831345 -vt 0.334242 0.810816 -vt 0.359739 0.810816 -vt 0.359739 0.851874 -vt 0.334242 0.851874 -vt 0.347070 0.802082 -vt 0.359880 0.810626 -vt 0.359880 0.851882 -vt 0.334260 0.851882 -vt 0.334260 0.810626 -vt 0.397260 0.500000 -vt 0.433790 0.500000 -vt 0.376509 0.617696 -vt 0.345054 0.617696 -vt 0.345054 0.588452 -vt 0.376492 0.617702 -vt 0.345129 0.588544 -vt 0.376492 0.588544 -vt 0.438356 0.573529 -vt 0.452055 0.573529 -vt 0.433790 0.948529 -vt 0.433790 1.000000 -vt 0.342277 0.470539 -vt 0.336973 0.491158 -vt 0.324168 0.499699 -vt 0.306060 0.470539 -vt 0.324168 0.441379 -vt 0.467554 0.364793 -vt 0.470197 0.375067 -vt 0.467554 0.385341 -vt 0.454794 0.385341 -vt 0.452151 0.375067 -vt 0.397260 0.242647 -vt 0.292237 0.242647 -vt 0.438356 0.183824 -vt 0.146119 0.169118 -vt 0.292237 0.169118 -vt 0.292237 0.183824 -vt 0.146119 0.345588 -vt 0.292237 0.345588 -vt 0.136986 0.716219 -vt 0.132428 0.674036 -vt 0.136986 0.627199 -vt 0.136986 0.582690 -vt 0.132428 0.540397 -vt 0.132428 0.495850 -vt 0.132428 0.985863 -vt 0.132428 0.941316 -vt 0.132428 0.896770 -vt 0.136986 0.849748 -vt 0.136986 0.805238 -vt 0.132428 0.763130 -vt 0.283105 0.963235 -vt 0.283105 0.852941 -vt 0.292237 0.742647 -vt 0.283105 0.632353 -vt 0.292237 0.558824 -vt 0.356164 0.750000 -vt 0.356164 0.764706 -vt 0.356164 0.779412 -vt 0.356164 0.735294 -vt 0.375468 0.858587 -vt 0.372117 0.860033 -vt 0.368766 0.858587 -vt 0.365415 0.849241 -vt 0.372117 0.838450 -vt 0.366313 0.843846 -vt 0.368766 0.839896 -vt 0.375468 0.839895 -vt 0.378819 0.849241 -vt 0.598173 0.529412 -vt 0.598173 0.294118 -vt 0.598173 1.000000 -vt 0.799061 0.882380 -vt 0.762606 0.984059 -vt 0.689694 0.780702 -vt 0.690118 0.748889 -vt 0.690118 0.545216 -vt 0.763142 0.545216 -vt 0.799087 0.294118 -vt 0.799087 0.882353 -vt 1.000105 0.882203 -vt 0.963713 0.983706 -vt 0.890927 0.780700 -vt 0.963364 0.545323 -vt 0.963364 0.749101 -vt 0.890302 0.749101 -vt 0.452055 0.955882 -vt 0.452055 0.625000 -vt 0.438356 0.573529 -vt 0.447489 0.573529 -vt 0.342277 0.470539 -vt 0.336973 0.491158 -vt 0.324168 0.499699 -vt 0.306060 0.470539 -vt 0.311363 0.449920 -vt 0.467554 0.364793 -vt 0.470197 0.375067 -vt 0.467554 0.385341 -vt 0.454794 0.385341 -vt 0.452151 0.375067 -vt 0.223744 0.441176 -vt 0.223744 0.470588 -vt 0.223744 0.426471 -vt 0.236070 0.468382 -vt 0.232881 0.470509 -vt 0.229692 0.468382 -vt 0.229692 0.458111 -vt 0.232881 0.455984 -vt 0.223744 0.448529 -vt 0.223744 0.411765 -vt 0.223744 0.433824 -vt 0.236070 0.468382 -vt 0.232881 0.470509 -vt 0.229692 0.468382 -vt 0.229692 0.458111 -vt 0.232881 0.455984 -vt 0.223744 0.441176 -vt 0.223744 0.463235 -vt 0.223744 0.419118 -vt 0.236070 0.468382 -vt 0.232881 0.470509 -vt 0.229692 0.468382 -vt 0.229692 0.458111 -vt 0.232881 0.455984 -vt 0.223744 0.441176 -vt 0.223744 0.463235 -vt 0.237391 0.463247 -vt 0.236070 0.468382 -vt 0.229692 0.468382 -vt 0.229692 0.458111 -vt 0.236070 0.458111 -vt 0.277535 0.550087 -vt 0.264843 0.558553 -vt 0.252150 0.550087 -vt 0.246892 0.529648 -vt 0.277535 0.509209 -vt 0.125028 0.114737 -vt 0.127657 0.124955 -vt 0.125028 0.135173 -vt 0.112337 0.135173 -vt 0.112337 0.114737 -vt 0.109654 0.154463 -vt 0.112292 0.144208 -vt 0.118661 0.139960 -vt 0.127667 0.154463 -vt 0.125030 0.164718 -vt 0.109654 0.154463 -vt 0.112292 0.144208 -vt 0.118661 0.139960 -vt 0.127667 0.154463 -vt 0.125030 0.164718 -vt 0.292237 0.617647 -vt 0.292237 0.860294 -vt 0.292237 0.794118 -vt 0.292237 0.860294 -vt 0.292237 0.794118 -vt 0.292237 0.860294 -vt 0.292237 0.617647 -vt 0.292237 0.801471 -vt 0.027397 0.419118 -vt -0.000000 0.426471 -vt -0.000000 0.419118 -vt 0.027397 0.411765 -vt -0.000000 0.411765 -vt 0.027397 0.404412 -vt -0.000000 0.404412 -vt 0.027397 0.397059 -vt -0.000000 0.397059 -vt 0.027397 0.389706 -vt -0.000000 0.389706 -vt 0.027397 0.382353 -vt -0.000000 0.382353 -vt -0.000000 0.463235 -vt 0.027397 0.470588 -vt -0.000000 0.470588 -vt -0.000000 0.455882 -vt 0.027397 0.463235 -vt -0.000000 0.448529 -vt 0.027397 0.455882 -vt -0.000000 0.441176 -vt 0.027397 0.448529 -vt -0.000000 0.433824 -vt 0.027397 0.441176 -vt 0.027397 0.433824 -vt 0.045662 0.419118 -vt 0.027397 0.426471 -vt 0.045662 0.411765 -vt 0.045662 0.404412 -vt 0.045662 0.397059 -vt 0.045662 0.389706 -vt 0.045662 0.382353 -vt 0.045662 0.470588 -vt 0.045662 0.463235 -vt 0.045662 0.455882 -vt 0.045662 0.448529 -vt 0.045662 0.441176 -vt 0.045662 0.433824 -vt 0.059361 0.419118 -vt 0.045662 0.426471 -vt 0.059361 0.411765 -vt 0.059361 0.404412 -vt 0.059361 0.397059 -vt 0.059361 0.389706 -vt 0.059361 0.382353 -vt 0.059361 0.470588 -vt 0.059361 0.463235 -vt 0.059361 0.455882 -vt 0.059361 0.448529 -vt 0.059361 0.441176 -vt 0.059361 0.433824 -vt 0.068493 0.426471 -vt 0.059361 0.426471 -vt 0.068493 0.419118 -vt 0.068493 0.411765 -vt 0.068493 0.404412 -vt 0.068493 0.397059 -vt 0.068493 0.389706 -vt 0.068493 0.463235 -vt 0.068493 0.455882 -vt 0.068493 0.448529 -vt 0.068493 0.441176 -vt 0.068493 0.433824 -vt 0.082192 0.426471 -vt 0.082192 0.419118 -vt 0.082192 0.411765 -vt 0.082192 0.404412 -vt 0.082192 0.397059 -vt 0.068493 0.382353 -vt 0.082192 0.389706 -vt 0.082192 0.463235 -vt 0.068493 0.470588 -vt 0.082192 0.455882 -vt 0.082192 0.448529 -vt 0.082192 0.441176 -vt 0.082192 0.433824 -vt 0.100457 0.426471 -vt 0.100457 0.419118 -vt 0.100457 0.411765 -vt 0.100457 0.404412 -vt 0.100457 0.397059 -vt 0.082192 0.382353 -vt 0.100457 0.389706 -vt 0.100457 0.463235 -vt 0.082192 0.470588 -vt 0.100457 0.455882 -vt 0.100457 0.448529 -vt 0.100457 0.441176 -vt 0.100457 0.433824 -vt 0.118721 0.426471 -vt 0.118721 0.419118 -vt 0.118721 0.411765 -vt 0.118721 0.404412 -vt 0.118721 0.397059 -vt 0.100457 0.382353 -vt 0.118721 0.389706 -vt 0.118721 0.463235 -vt 0.100457 0.470588 -vt 0.118721 0.455882 -vt 0.118721 0.448529 -vt 0.118721 0.441176 -vt 0.118721 0.433824 -vt 0.136986 0.426471 -vt 0.136986 0.419118 -vt 0.136986 0.411765 -vt 0.136986 0.404412 -vt 0.136986 0.397059 -vt 0.118721 0.382353 -vt 0.136986 0.389706 -vt 0.136986 0.463235 -vt 0.118721 0.470588 -vt 0.136986 0.455882 -vt 0.136986 0.448529 -vt 0.136986 0.441176 -vt 0.136986 0.433824 -vt 0.159817 0.426471 -vt 0.159817 0.419118 -vt 0.159817 0.411765 -vt 0.159817 0.404412 -vt 0.159817 0.397059 -vt 0.136986 0.382353 -vt 0.159817 0.389706 -vt 0.159817 0.463235 -vt 0.136986 0.470588 -vt 0.159817 0.455882 -vt 0.159817 0.448529 -vt 0.159817 0.441176 -vt 0.159817 0.433824 -vt 0.178082 0.426471 -vt 0.178082 0.419118 -vt 0.178082 0.411765 -vt 0.178082 0.404412 -vt 0.178082 0.397059 -vt 0.159817 0.382353 -vt 0.178082 0.389706 -vt 0.178082 0.463235 -vt 0.159817 0.470588 -vt 0.178082 0.455882 -vt 0.178082 0.448529 -vt 0.178082 0.441176 -vt 0.178082 0.433824 -vt 0.200913 0.426471 -vt 0.200913 0.419118 -vt 0.200913 0.411765 -vt 0.200913 0.404412 -vt 0.200913 0.397059 -vt 0.178082 0.382353 -vt 0.200913 0.389706 -vt 0.200913 0.463235 -vt 0.178082 0.470588 -vt 0.200913 0.455882 -vt 0.200913 0.448529 -vt 0.200913 0.441176 -vt 0.200913 0.433824 -vt 0.219178 0.426471 -vt 0.219178 0.419118 -vt 0.219178 0.411765 -vt 0.219178 0.404412 -vt 0.219178 0.397059 -vt 0.200913 0.382353 -vt 0.219178 0.389706 -vt 0.219178 0.463235 -vt 0.200913 0.470588 -vt 0.219178 0.455882 -vt 0.219178 0.448529 -vt 0.219178 0.441176 -vt 0.219178 0.433824 -vt 0.191781 0.470588 -vt 0.178082 0.558824 -vt 0.178082 0.470588 -vt 0.164384 0.470588 -vt 0.164384 0.558824 -vt 0.150685 0.470588 -vt 0.150685 0.558824 -vt 0.136986 0.470588 -vt 0.246575 0.558824 -vt 0.232877 0.470588 -vt 0.246575 0.470588 -vt 0.232877 0.558824 -vt 0.219178 0.470588 -vt 0.219178 0.558824 -vt 0.205479 0.470588 -vt 0.205479 0.558824 -vt 0.525114 0.588235 -vt 0.506849 0.536765 -vt 0.525114 0.536765 -vt 0.488584 0.580882 -vt 0.488584 0.544118 -vt 0.470320 0.551471 -vt 0.470320 0.573529 -vt 0.452055 0.558824 -vt 0.598173 0.558824 -vt 0.579909 0.573529 -vt 0.579909 0.551471 -vt 0.561644 0.580882 -vt 0.561644 0.544118 -vt 0.543379 0.536765 -vt 0.525114 0.639706 -vt 0.506849 0.588235 -vt 0.488584 0.632353 -vt 0.488584 0.595588 -vt 0.470320 0.625000 -vt 0.470320 0.602941 -vt 0.452055 0.610294 -vt 0.598173 0.617647 -vt 0.579909 0.602941 -vt 0.598173 0.610294 -vt 0.579909 0.625000 -vt 0.561644 0.595588 -vt 0.561644 0.632353 -vt 0.543379 0.588235 -vt 0.506849 0.691176 -vt 0.506849 0.639706 -vt 0.488584 0.647059 -vt 0.488584 0.683824 -vt 0.470320 0.654412 -vt 0.470320 0.676471 -vt 0.452055 0.661765 -vt 0.598173 0.661765 -vt 0.579909 0.676471 -vt 0.579909 0.654412 -vt 0.561644 0.683824 -vt 0.561644 0.647059 -vt 0.543379 0.691176 -vt 0.543379 0.639706 -vt 0.525114 0.691176 -vt 0.525114 0.742647 -vt 0.488584 0.735294 -vt 0.488584 0.698529 -vt 0.470320 0.727941 -vt 0.470320 0.705882 -vt 0.452055 0.713235 -vt 0.598173 0.713235 -vt 0.579909 0.727941 -vt 0.579909 0.705882 -vt 0.561644 0.698529 -vt 0.561644 0.735294 -vt 0.506849 0.794118 -vt 0.506849 0.742647 -vt 0.488584 0.750000 -vt 0.488584 0.786765 -vt 0.470320 0.757353 -vt 0.452055 0.772059 -vt 0.452055 0.764706 -vt 0.598173 0.772059 -vt 0.579909 0.757353 -vt 0.598173 0.764706 -vt 0.561644 0.786765 -vt 0.561644 0.750000 -vt 0.543379 0.794118 -vt 0.543379 0.742647 -vt 0.525114 0.845588 -vt 0.525114 0.794118 -vt 0.506849 0.845588 -vt 0.488584 0.801471 -vt 0.470320 0.830882 -vt 0.470320 0.808824 -vt 0.452055 0.816176 -vt 0.598173 0.823529 -vt 0.579909 0.808824 -vt 0.598173 0.816176 -vt 0.579909 0.830882 -vt 0.561644 0.801471 -vt 0.543379 0.845588 -vt 0.506849 0.897059 -vt 0.488584 0.852941 -vt 0.470320 0.882353 -vt 0.470320 0.860294 -vt 0.452055 0.867647 -vt 0.598173 0.875000 -vt 0.579909 0.860294 -vt 0.598173 0.867647 -vt 0.579909 0.882353 -vt 0.561644 0.852941 -vt 0.543379 0.897059 -vt 0.525114 0.897059 -vt 0.506849 0.948529 -vt 0.488584 0.904412 -vt 0.470320 0.933824 -vt 0.470320 0.911765 -vt 0.452055 0.919118 -vt 0.598173 0.919118 -vt 0.579909 0.933824 -vt 0.579909 0.911765 -vt 0.561644 0.904412 -vt 0.543379 0.948529 -vt 0.525114 0.948529 -vt 0.506849 1.000000 -vt 0.488584 0.955882 -vt 0.488584 0.992647 -vt 0.470320 0.963235 -vt 0.470320 0.985294 -vt 0.452055 0.970588 -vt 0.598173 0.970588 -vt 0.579909 0.985294 -vt 0.579909 0.963235 -vt 0.561644 0.955882 -vt 0.543379 1.000000 -vt 0.525114 0.433824 -vt 0.506849 0.382353 -vt 0.525114 0.382353 -vt 0.488584 0.426471 -vt 0.488584 0.389706 -vt 0.470320 0.419118 -vt 0.470320 0.397059 -vt 0.452055 0.404412 -vt 0.598173 0.411765 -vt 0.579909 0.397059 -vt 0.598173 0.404412 -vt 0.579909 0.419118 -vt 0.561644 0.389706 -vt 0.561644 0.426471 -vt 0.543379 0.382353 -vt 0.506849 0.485294 -vt 0.506849 0.433824 -vt 0.488584 0.441176 -vt 0.488584 0.477941 -vt 0.470320 0.448529 -vt 0.470320 0.470588 -vt 0.452055 0.455882 -vt 0.598173 0.463235 -vt 0.579909 0.448529 -vt 0.598173 0.455882 -vt 0.561644 0.477941 -vt 0.561644 0.441176 -vt 0.543379 0.485294 -vt 0.543379 0.433824 -vt 0.525114 0.485294 -vt 0.488584 0.492647 -vt 0.470320 0.522059 -vt 0.470320 0.500000 -vt 0.452055 0.507353 -vt 0.598173 0.514706 -vt 0.579909 0.500000 -vt 0.598173 0.507353 -vt 0.579909 0.522059 -vt 0.561644 0.492647 -vt 0.109589 0.154412 -vt 0.073059 0.161765 -vt 0.073059 0.154412 -vt 0.109589 0.161765 -vt 0.073059 0.169118 -vt 0.109589 0.110294 -vt 0.073059 0.117647 -vt 0.073059 0.110294 -vt 0.109589 0.117647 -vt 0.073059 0.125000 -vt 0.109589 0.132353 -vt 0.073059 0.132353 -vt 0.109589 0.139706 -vt 0.073059 0.139706 -vt 0.109589 0.147059 -vt 0.073059 0.147059 -vt 0.073059 0.154412 -vt 0.109589 0.161765 -vt 0.073059 0.161765 -vt 0.073059 0.169118 -vt 0.073059 0.110294 -vt 0.109589 0.117647 -vt 0.073059 0.117647 -vt 0.073059 0.125000 -vt 0.109589 0.125000 -vt 0.073059 0.132353 -vt 0.109589 0.139706 -vt 0.073059 0.139706 -vt 0.109589 0.147059 -vt 0.073059 0.147059 -vt 0.109589 0.154412 -vt 0.228310 0.441176 -vt 0.228310 0.448529 -vt 0.228310 0.463235 -vt 0.228310 0.419118 -vt 0.228310 0.426471 -vt 0.228310 0.470588 -vt 0.228310 0.433824 -vt 0.228310 0.455882 -vt 0.228310 0.433824 -vt 0.228310 0.441176 -vt 0.228310 0.448529 -vt 0.228310 0.463235 -vt 0.228310 0.419118 -vt 0.228310 0.426471 -vt 0.228310 0.470588 -vt 0.228310 0.455882 -vt 0.228310 0.411765 -vt 0.228310 0.433824 -vt 0.228310 0.441176 -vt 0.228310 0.448529 -vt 0.228310 0.463235 -vt 0.228310 0.419118 -vt 0.228310 0.426471 -vt 0.228310 0.470588 -vt 0.228310 0.455882 -vt 0.228310 0.433824 -vt 0.228310 0.441176 -vt 0.228310 0.448529 -vt 0.228310 0.463235 -vt 0.228310 0.426471 -vt 0.228310 0.470588 -vt 0.228310 0.455882 -vt 0.228310 0.419118 -vt 0.310502 0.816176 -vt 0.328767 0.838235 -vt 0.310502 0.838235 -vt 0.310502 0.860294 -vt 0.328767 0.683824 -vt 0.310502 0.705882 -vt 0.310502 0.683824 -vt 0.328767 0.727941 -vt 0.310502 0.727941 -vt 0.310502 0.750000 -vt 0.328767 0.750000 -vt 0.310502 0.772059 -vt 0.328767 0.772059 -vt 0.310502 0.794118 -vt 0.328767 0.816176 -vt 0.369863 0.382353 -vt 0.383562 0.500000 -vt 0.369863 0.500000 -vt 0.383562 0.382353 -vt 0.397260 0.500000 -vt 0.410959 0.382353 -vt 0.410959 0.500000 -vt 0.424658 0.500000 -vt 0.424658 0.382353 -vt 0.438356 0.500000 -vt 0.438356 0.382353 -vt 0.452055 0.500000 -vt 0.415525 0.360294 -vt 0.420091 0.360294 -vt 0.342466 0.382353 -vt 0.356164 0.500000 -vt 0.342466 0.500000 -vt 0.356164 0.382353 -vt 0.351598 0.360294 -vt 0.397260 0.382353 -vt 0.388128 0.360294 -vt 0.392694 0.360294 -vt 0.433790 0.360294 -vt 0.360731 0.360294 -vt 0.365297 0.360294 -vt 0.378995 0.360294 -vt 0.401826 0.360294 -vt 0.406393 0.360294 -vt 0.447489 0.360294 -vt 0.452055 0.382353 -vt -0.000000 0.735294 -vt 0.073059 0.691176 -vt 0.073059 0.735294 -vt -0.000000 0.691176 -vt 0.073059 0.647059 -vt -0.000000 0.647059 -vt 0.073059 0.602941 -vt -0.000000 0.602941 -vt 0.073059 0.558824 -vt -0.000000 0.558824 -vt 0.073059 0.514706 -vt -0.000000 0.514706 -vt 0.073059 0.470588 -vt -0.000000 1.000000 -vt 0.073059 0.955882 -vt 0.073059 1.000000 -vt -0.000000 0.955882 -vt 0.073059 0.911765 -vt -0.000000 0.911765 -vt 0.073059 0.867647 -vt -0.000000 0.867647 -vt 0.073059 0.823529 -vt 0.210046 0.926471 -vt 0.136986 0.889706 -vt 0.210046 0.889706 -vt -0.000000 0.823529 -vt 0.073059 0.779412 -vt -0.000000 0.779412 -vt 0.091317 0.954077 -vt 0.091317 0.560601 -vt 0.109598 0.595434 -vt 0.091317 0.600323 -vt 0.091317 0.998296 -vt 0.091317 0.511885 -vt 0.091317 0.516382 -vt 0.091317 0.556104 -vt 0.091317 0.777200 -vt 0.091317 0.693259 -vt 0.091317 0.732981 -vt 0.091317 0.644543 -vt 0.091317 0.821420 -vt 0.091317 0.688762 -vt 0.091317 0.825917 -vt 0.091317 0.865639 -vt 0.091317 0.909858 -vt 0.109598 0.991683 -vt 0.109598 0.786106 -vt 0.109599 0.815572 -vt 0.109598 0.698051 -vt 0.109598 0.727517 -vt 0.109598 0.918189 -vt 0.109599 0.947655 -vt 0.109598 0.551406 -vt 0.091317 0.737478 -vt 0.109598 0.771545 -vt 0.091317 0.649040 -vt 0.109598 0.683489 -vt 0.091317 0.870136 -vt 0.109599 0.903628 -vt 0.091317 0.472163 -vt 0.109598 0.507378 -vt 0.091317 0.604820 -vt 0.109598 0.639461 -vt 0.109599 0.859600 -vt 0.109599 0.962217 -vt 0.420091 0.779412 -vt 0.415525 0.573529 -vt 0.420091 0.573529 -vt 0.109598 0.565968 -vt 0.109598 0.521940 -vt 0.109598 0.742078 -vt 0.109598 0.654023 -vt 0.109599 0.874162 -vt 0.109598 0.477913 -vt 0.109598 0.609995 -vt 0.429224 0.779412 -vt 0.433790 0.573529 -vt 0.433790 0.779412 -vt 0.392694 0.779412 -vt 0.388128 0.573529 -vt 0.392694 0.573529 -vt 0.410959 0.779412 -vt 0.415525 0.779412 -vt 0.401826 0.779412 -vt 0.406393 0.573529 -vt 0.406393 0.779412 -vt 0.424658 0.779412 -vt 0.429224 0.573529 -vt 0.388128 0.779412 -vt 0.383562 0.573529 -vt 0.410959 0.573529 -vt 0.397260 0.573529 -vt 0.401826 0.573529 -vt 0.424658 0.573529 -vt 0.383562 0.779412 -vt 0.378995 0.573529 -vt 0.397260 0.779412 -vt 0.392694 0.573529 -vt 0.388128 1.000000 -vt 0.388128 0.573529 -vt 0.210046 0.632353 -vt 0.136986 0.669118 -vt 0.136986 0.632353 -vt 0.210046 0.742647 -vt 0.136986 0.779412 -vt 0.136986 0.742647 -vt 0.136986 0.852941 -vt 0.210046 0.852941 -vt 0.210046 0.595588 -vt 0.136986 0.595588 -vt 0.210046 1.000000 -vt 0.136986 0.963235 -vt 0.210046 0.963235 -vt 0.210046 0.705882 -vt 0.136986 0.705882 -vt 0.136986 0.816176 -vt 0.210046 0.816176 -vt 0.136986 0.558824 -vt 0.210046 0.558824 -vt 0.136986 0.926471 -vt 0.210046 0.669118 -vt 0.210046 0.779412 -vt 0.283105 0.742647 -vt 0.210046 0.779412 -vt 0.210046 0.742647 -vt 0.283105 0.705882 -vt 0.210046 0.669118 -vt 0.283105 0.669118 -vt 0.210046 0.632353 -vt 0.283105 0.632353 -vt 0.210046 0.595588 -vt 0.283105 0.558824 -vt 0.210046 0.558824 -vt 0.210046 1.000000 -vt 0.283105 0.963235 -vt 0.210046 0.963235 -vt 0.283105 0.926471 -vt 0.210046 0.889706 -vt 0.283105 0.889706 -vt 0.210046 0.852941 -vt 0.283105 0.852941 -vt 0.283105 0.816176 -vt 0.283105 0.779412 -vt 0.283105 0.617647 -vt 0.283105 0.610294 -vt 0.283105 0.948529 -vt 0.283105 0.941176 -vt 0.283105 0.838235 -vt 0.283105 0.830882 -vt 0.283105 0.720588 -vt 0.283105 0.727941 -vt 0.415525 0.573529 -vt 0.410959 1.000000 -vt 0.410959 0.573529 -vt 0.406393 0.573529 -vt 0.401826 1.000000 -vt 0.401826 0.573529 -vt 0.429224 0.573529 -vt 0.424658 1.000000 -vt 0.424658 0.573529 -vt 0.383562 1.000000 -vt 0.383562 0.573529 -vt 0.406393 1.000000 -vt 0.397260 0.573529 -vt 0.397260 1.000000 -vt 0.420091 1.000000 -vt 0.420091 0.573529 -vt 0.378995 1.000000 -vt 0.378995 0.573529 -vt 0.392694 1.000000 -vt 0.415525 1.000000 -vt 0.433790 0.573529 -vt 0.429224 1.000000 -vt 0.369863 0.382353 -vt 0.383562 0.500000 -vt 0.369863 0.500000 -vt 0.397260 0.382353 -vt 0.397260 0.500000 -vt 0.410959 0.500000 -vt 0.424658 0.382353 -vt 0.424658 0.500000 -vt 0.438356 0.500000 -vt 0.452055 0.382353 -vt 0.452055 0.500000 -vt 0.410959 0.382353 -vt 0.420091 0.360294 -vt 0.342466 0.382353 -vt 0.356164 0.500000 -vt 0.342466 0.500000 -vt 0.351598 0.360294 -vt 0.356164 0.382353 -vt 0.383562 0.382353 -vt 0.392694 0.360294 -vt 0.433790 0.360294 -vt 0.438356 0.382353 -vt 0.360731 0.360294 -vt 0.365297 0.360294 -vt 0.378995 0.360294 -vt 0.406393 0.360294 -vt 0.442922 0.360294 -vt 0.447489 0.360294 -vt 0.228310 0.433824 -vt 0.228310 0.441176 -vt 0.228310 0.448529 -vt 0.228310 0.463235 -vt 0.228310 0.426471 -vt 0.228310 0.470588 -vt 0.228310 0.455882 -vt 0.228310 0.411765 -vt 0.228310 0.419118 -vt 0.228310 0.441176 -vt 0.228310 0.448529 -vt 0.228310 0.455882 -vt 0.228310 0.463235 -vt 0.228310 0.426471 -vt 0.228310 0.470588 -vt 0.228310 0.433824 -vt 0.228310 0.419118 -vt 0.228310 0.441176 -vt 0.228310 0.448529 -vt 0.228310 0.455882 -vt 0.228310 0.463235 -vt 0.228310 0.426471 -vt 0.228310 0.470588 -vt 0.228310 0.433824 -vt 0.228310 0.419118 -vt 0.228310 0.441176 -vt 0.228310 0.448529 -vt 0.228310 0.455882 -vt 0.228310 0.463235 -vt 0.228310 0.426471 -vt 0.228310 0.470588 -vt 0.228310 0.433824 -vt 0.228310 0.419118 -vt 0.525114 0.588235 -vt 0.506849 0.536765 -vt 0.525114 0.536765 -vt 0.488584 0.580882 -vt 0.488584 0.544118 -vt 0.470320 0.551471 -vt 0.470320 0.573529 -vt 0.452055 0.558824 -vt 0.598173 0.558824 -vt 0.579909 0.573529 -vt 0.579909 0.551471 -vt 0.561644 0.580882 -vt 0.561644 0.544118 -vt 0.543379 0.536765 -vt 0.525114 0.639706 -vt 0.506849 0.588235 -vt 0.488584 0.632353 -vt 0.488584 0.595588 -vt 0.470320 0.625000 -vt 0.470320 0.602941 -vt 0.452055 0.617647 -vt 0.452055 0.610294 -vt 0.598173 0.617647 -vt 0.579909 0.602941 -vt 0.598173 0.610294 -vt 0.579909 0.625000 -vt 0.561644 0.595588 -vt 0.561644 0.632353 -vt 0.543379 0.588235 -vt 0.525114 0.691176 -vt 0.506849 0.639706 -vt 0.506849 0.691176 -vt 0.488584 0.647059 -vt 0.488584 0.683824 -vt 0.470320 0.654412 -vt 0.470320 0.676471 -vt 0.452055 0.661765 -vt 0.598173 0.661765 -vt 0.579909 0.676471 -vt 0.579909 0.654412 -vt 0.561644 0.683824 -vt 0.561644 0.647059 -vt 0.543379 0.691176 -vt 0.543379 0.639706 -vt 0.506849 0.742647 -vt 0.488584 0.735294 -vt 0.488584 0.698529 -vt 0.470320 0.727941 -vt 0.470320 0.705882 -vt 0.452055 0.713235 -vt 0.598173 0.713235 -vt 0.579909 0.727941 -vt 0.579909 0.705882 -vt 0.561644 0.698529 -vt 0.561644 0.735294 -vt 0.543379 0.742647 -vt 0.525114 0.742647 -vt 0.506849 0.794118 -vt 0.488584 0.750000 -vt 0.488584 0.786765 -vt 0.470320 0.757353 -vt 0.470320 0.779412 -vt 0.452055 0.764706 -vt 0.598173 0.772059 -vt 0.579909 0.757353 -vt 0.598173 0.764706 -vt 0.561644 0.786765 -vt 0.561644 0.750000 -vt 0.543379 0.794118 -vt 0.525114 0.845588 -vt 0.525114 0.794118 -vt 0.506849 0.845588 -vt 0.488584 0.801471 -vt 0.470320 0.830882 -vt 0.470320 0.808824 -vt 0.452055 0.823529 -vt 0.452055 0.816176 -vt 0.598173 0.823529 -vt 0.579909 0.808824 -vt 0.598173 0.816176 -vt 0.579909 0.830882 -vt 0.561644 0.801471 -vt 0.543379 0.845588 -vt 0.506849 0.897059 -vt 0.488584 0.852941 -vt 0.470320 0.882353 -vt 0.470320 0.860294 -vt 0.452055 0.867647 -vt 0.598173 0.867647 -vt 0.579909 0.882353 -vt 0.579909 0.860294 -vt 0.561644 0.852941 -vt 0.543379 0.897059 -vt 0.525114 0.897059 -vt 0.506849 0.948529 -vt 0.488584 0.904412 -vt 0.470320 0.933824 -vt 0.470320 0.911765 -vt 0.452055 0.926471 -vt 0.452055 0.919118 -vt 0.598173 0.919118 -vt 0.579909 0.933824 -vt 0.579909 0.911765 -vt 0.561644 0.904412 -vt 0.543379 0.948529 -vt 0.525114 0.948529 -vt 0.506849 1.000000 -vt 0.488584 0.955882 -vt 0.488584 0.992647 -vt 0.470320 0.963235 -vt 0.470320 0.985294 -vt 0.452055 0.970588 -vt 0.598173 0.977941 -vt 0.579909 0.963235 -vt 0.598173 0.970588 -vt 0.561644 0.992647 -vt 0.561644 0.955882 -vt 0.543379 1.000000 -vt 0.525114 0.433824 -vt 0.506849 0.382353 -vt 0.525114 0.382353 -vt 0.488584 0.426471 -vt 0.488584 0.389706 -vt 0.470320 0.419118 -vt 0.470320 0.397059 -vt 0.452055 0.404412 -vt 0.598173 0.404412 -vt 0.579909 0.419118 -vt 0.579909 0.397059 -vt 0.561644 0.389706 -vt 0.561644 0.426471 -vt 0.543379 0.382353 -vt 0.506849 0.485294 -vt 0.506849 0.433824 -vt 0.488584 0.441176 -vt 0.488584 0.477941 -vt 0.470320 0.448529 -vt 0.452055 0.463235 -vt 0.452055 0.455882 -vt 0.598173 0.463235 -vt 0.579909 0.448529 -vt 0.598173 0.455882 -vt 0.561644 0.477941 -vt 0.561644 0.441176 -vt 0.543379 0.485294 -vt 0.543379 0.433824 -vt 0.525114 0.485294 -vt 0.488584 0.492647 -vt 0.470320 0.522059 -vt 0.470320 0.500000 -vt 0.452055 0.507353 -vt 0.598173 0.514706 -vt 0.579909 0.500000 -vt 0.598173 0.507353 -vt 0.579909 0.522059 -vt 0.561644 0.492647 -vt 0.191781 0.470588 -vt 0.178082 0.558824 -vt 0.178082 0.470588 -vt 0.164384 0.470588 -vt 0.150685 0.558824 -vt 0.150685 0.470588 -vt 0.136986 0.470588 -vt 0.246575 0.558824 -vt 0.232877 0.470588 -vt 0.246575 0.470588 -vt 0.232877 0.558824 -vt 0.219178 0.470588 -vt 0.219178 0.558824 -vt 0.205479 0.470588 -vt 0.191781 0.558824 -vt 0.219178 0.382353 -vt 0.219178 0.470588 -vt 0.191781 0.558824 -vt 0.136986 0.558824 -vt 0.452055 0.566176 -vt 0.598173 0.566176 -vt 0.452055 0.617647 -vt 0.452055 0.669118 -vt 0.598173 0.669118 -vt 0.452055 0.720588 -vt 0.598173 0.720588 -vt 0.470320 0.779412 -vt 0.579909 0.779412 -vt 0.488584 0.838235 -vt 0.452055 0.823529 -vt 0.561644 0.838235 -vt 0.488584 0.889706 -vt 0.452055 0.875000 -vt 0.561644 0.889706 -vt 0.488584 0.941176 -vt 0.452055 0.926471 -vt 0.598173 0.926471 -vt 0.561644 0.941176 -vt 0.525114 1.000000 -vt 0.452055 0.977941 -vt 0.598173 0.977941 -vt 0.561644 0.992647 -vt 0.452055 0.411765 -vt 0.452055 0.463235 -vt 0.579909 0.470588 -vt 0.488584 0.529412 -vt 0.452055 0.514706 -vt 0.561644 0.529412 -vt 0.228310 0.411765 -vt 0.228310 0.411765 -vt 0.228310 0.411765 -vt 0.328767 0.860294 -vt 0.328767 0.705882 -vt 0.328767 0.794118 -vt 0.347032 0.360294 -vt 0.429224 0.360294 -vt 0.374429 0.360294 -vt 0.442922 0.360294 -vt -0.000000 0.470588 -vt 0.091317 0.914355 -vt 0.091317 0.958574 -vt 0.091317 0.781697 -vt 0.109599 0.830134 -vt 0.378995 0.779412 -vt 0.136986 1.000000 -vt 0.210046 0.705882 -vt 0.283105 0.595588 -vt 0.283105 1.000000 -vt 0.210046 0.926471 -vt 0.210046 0.816176 -vt 0.210046 0.617647 -vt 0.210046 0.610294 -vt 0.210046 0.948529 -vt 0.210046 0.941176 -vt 0.210046 0.838235 -vt 0.210046 0.830882 -vt 0.210046 0.720588 -vt 0.210046 0.727941 -vt 0.433790 1.000000 -vt 0.415525 0.360294 -vt 0.347032 0.360294 -vt 0.388128 0.360294 -vt 0.429224 0.360294 -vt 0.374429 0.360294 -vt 0.401826 0.360294 -vt 0.228310 0.411765 -vt 0.228310 0.411765 -vt 0.228310 0.411765 -vt 0.452055 0.566176 -vt 0.598173 0.566176 -vt 0.452055 0.669118 -vt 0.598173 0.669118 -vt 0.452055 0.720588 -vt 0.598173 0.720588 -vt 0.452055 0.772059 -vt 0.579909 0.779412 -vt 0.488584 0.838235 -vt 0.561644 0.838235 -vt 0.488584 0.889706 -vt 0.452055 0.875000 -vt 0.598173 0.875000 -vt 0.561644 0.889706 -vt 0.488584 0.941176 -vt 0.598173 0.926471 -vt 0.561644 0.941176 -vt 0.525114 1.000000 -vt 0.452055 0.977941 -vt 0.579909 0.985294 -vt 0.452055 0.411765 -vt 0.598173 0.411765 -vt 0.470320 0.470588 -vt 0.579909 0.470588 -vt 0.488584 0.529412 -vt 0.452055 0.514706 -vt 0.561644 0.529412 -vt 0.164384 0.558824 -vt 0.136986 0.558824 -vt 0.205479 0.558824 -vt 0.109589 0.169118 -vt 0.109589 0.125000 -vt 0.109589 0.169118 -vt 0.109589 0.110294 -vt 0.109589 0.132353 -vn 0.0000 -0.0000 1.0000 -vn -1.0000 -0.0000 0.0000 -vn 0.0000 0.9894 0.1453 -vn 1.0000 0.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 -0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 -0.9885 0.1514 -vn -0.0000 0.9239 -0.3827 -vn 0.0000 0.3827 -0.9239 -vn -0.0000 -0.3827 -0.9239 -vn -0.0000 -0.9239 -0.3827 -vn 0.0000 -0.9239 0.3827 -vn 0.0000 -0.3827 0.9239 -vn 0.0000 0.3827 0.9239 -vn 0.0000 0.9239 0.3827 -vn 0.8660 -0.5000 0.0000 -vn -0.8660 0.5000 -0.0000 -vn 0.5000 0.8660 0.0000 -vn 0.5000 -0.8660 -0.0000 -vn -0.5000 -0.8660 0.0000 -vn -0.5000 0.8660 0.0000 -vn 0.0000 0.7071 0.7071 -vn 0.0000 -0.7071 0.7071 -vn 0.0823 0.0000 -0.9966 -vn -0.9966 0.0000 -0.0823 -vn -0.0823 0.0000 0.9966 -vn 0.0582 0.7071 -0.7047 -vn 0.9966 0.0000 0.0823 -vn -0.0582 0.7071 0.7047 -vn 0.0000 0.6247 0.7809 -vn 0.0000 0.6247 -0.7809 -vn 0.8660 0.5000 0.0000 -vn -0.8660 -0.5000 0.0000 -vn 0.0823 -0.0000 0.9966 -vn 0.9966 -0.0000 -0.0823 -vn -0.0823 0.0000 -0.9966 -vn 0.0582 -0.7071 0.7047 -vn -0.9966 0.0000 0.0823 -vn -0.0582 -0.7071 -0.7047 -vn -0.1081 -0.5055 0.8560 -vn 0.0606 -0.0355 0.9975 -vn -0.1935 -0.4594 0.8669 -vn -0.3475 -0.7900 0.5051 -vn -0.3979 -0.7642 0.5076 -vn -0.4958 -0.8682 0.0176 -vn -0.4969 -0.8677 0.0107 -vn -0.5103 -0.7142 -0.4790 -vn -0.4619 -0.7382 -0.4915 -vn -0.3840 -0.3645 -0.8483 -vn -0.3011 -0.4083 -0.8617 -vn -0.1512 0.0876 -0.9846 -vn -0.0582 0.0331 -0.9977 -vn 0.2003 0.4657 -0.8620 -vn 0.4041 0.7712 -0.4918 -vn 0.1226 0.5158 -0.8479 -vn 0.4984 0.8668 0.0108 -vn 0.3615 0.8003 -0.4784 -vn 0.4591 0.7288 0.5080 -vn 0.5018 0.8648 0.0181 -vn 0.2987 0.3980 0.8674 -vn 0.5087 0.6971 0.5053 -vn 0.3828 0.3472 0.8561 -vn 0.1036 -0.6226 0.7756 -vn 0.1581 -0.0910 0.9832 -vn -0.2196 -0.8583 0.4636 -vn -0.4879 -0.8725 0.0259 -vn -0.6254 -0.6534 -0.4265 -vn -0.5886 -0.2525 -0.7679 -vn -0.3856 0.2226 -0.8954 -vn -0.0756 0.6360 -0.7679 -vn 0.2531 0.8683 -0.4265 -vn 0.5116 0.8588 0.0259 -vn 0.6335 0.6194 0.4636 -vn 0.5910 0.2216 0.7756 -vn 0.3463 -0.7594 0.5508 -vn 0.3981 -0.2298 0.8881 -vn -0.0701 -0.9406 0.3320 -vn -0.4736 -0.8804 0.0243 -vn -0.7567 -0.5832 -0.2954 -vn -0.8340 -0.1183 -0.5389 -vn -0.6720 0.3880 -0.6308 -vn -0.3146 0.7814 -0.5389 -vn 0.1267 0.9469 -0.2954 -vn 0.5257 0.8503 0.0243 -vn 0.7796 0.5310 0.3320 -vn 0.8308 0.0797 0.5508 -vn 0.8383 -0.4840 0.2508 -vn 0.6728 -0.3884 0.6296 -vn 0.4892 -0.8442 0.2188 -vn 0.0129 -0.9914 0.1305 -vn -0.4728 -0.8811 0.0083 -vn -0.8393 -0.5316 -0.1137 -vn -0.9791 -0.0293 -0.2012 -vn -0.4642 0.8625 -0.2012 -vn 0.0407 0.9927 -0.1137 -vn 0.5267 0.8500 0.0083 -vn 0.8650 0.4845 0.1305 -vn 0.9757 -0.0016 0.2188 -vn 0.8643 -0.4990 -0.0629 -vn 0.5070 -0.8602 -0.0552 -vn 0.0158 -0.9993 -0.0334 -vn -0.4834 -0.8754 -0.0009 -vn -0.8567 -0.5146 0.0355 -vn -0.8423 0.4863 -0.2324 -vn -0.9978 -0.0106 0.0653 -vn -0.4897 0.8694 0.0653 -vn 0.0173 0.9992 0.0355 -vn 0.5164 0.8563 -0.0009 -vn 0.8733 0.4859 -0.0334 -vn 0.9984 -0.0089 -0.0552 -vn 0.8404 -0.4852 -0.2415 -vn 0.4821 -0.8506 -0.2100 -vn -0.0045 -0.9924 -0.1230 -vn -0.4917 -0.8708 -0.0023 -vn -0.8488 -0.5147 0.1206 -vn -0.8634 0.4985 0.0770 -vn -0.9771 -0.0181 0.2120 -vn -0.4729 0.8552 0.2120 -vn 0.0214 0.9925 0.1206 -vn 0.5082 0.8612 -0.0023 -vn 0.8572 0.5000 -0.1230 -vn 0.9777 0.0078 -0.2100 -vn 0.8192 -0.4729 -0.3244 -vn 0.4612 -0.8415 -0.2813 -vn -0.0200 -0.9864 -0.1633 -vn -0.4966 -0.8679 -0.0013 -vn -0.8409 -0.5165 0.1616 -vn -0.8394 0.4847 0.2457 -vn -0.9592 -0.0255 0.2814 -vn -0.4575 0.8435 0.2814 -vn 0.0269 0.9865 0.1616 -vn 0.5033 0.8641 -0.0013 -vn 0.8442 0.5105 -0.1633 -vn 0.9594 0.0213 -0.2813 -vn 0.8117 -0.4686 -0.3484 -vn 0.4530 -0.8389 -0.3017 -vn -0.0271 -0.9843 -0.1742 -vn -0.8389 -0.5157 0.1742 -vn -0.8189 0.4728 0.3253 -vn -0.9530 -0.0271 0.3018 -vn -0.4530 0.8389 0.3018 -vn 0.0271 0.9843 0.1742 -vn 0.8389 0.5156 -0.1742 -vn 0.9530 0.0271 -0.3017 -vn 0.8177 -0.4721 -0.3293 -vn 0.4567 -0.8427 -0.2848 -vn -0.0269 -0.9861 -0.1637 -vn -0.5028 -0.8644 0.0011 -vn -0.8433 -0.5114 0.1653 -vn -0.8117 0.4686 0.3485 -vn -0.9582 -0.0224 0.2851 -vn -0.4597 0.8410 0.2851 -vn 0.0212 0.9860 0.1653 -vn 0.4972 0.8676 0.0011 -vn 0.8405 0.5164 -0.1637 -vn 0.9582 0.0258 -0.2848 -vn 0.8342 -0.4816 -0.2686 -vn 0.4694 -0.8519 -0.2321 -vn -0.0218 -0.9909 -0.1328 -vn -0.5059 -0.8626 0.0019 -vn -0.8531 -0.5039 0.1353 -vn -0.8179 0.4722 0.3288 -vn -0.9726 -0.0123 0.2322 -vn -0.4756 0.8484 0.2322 -vn 0.0099 0.9908 0.1353 -vn 0.4941 0.8694 0.0019 -vn 0.8472 0.5144 -0.1328 -vn 0.9725 0.0194 -0.2321 -vn 0.8549 -0.4936 -0.1593 -vn 0.4854 -0.8634 -0.1374 -vn -0.0153 -0.9968 -0.0781 -vn -0.5097 -0.8603 0.0017 -vn -0.8653 -0.4947 0.0803 -vn -0.8344 0.4818 0.2676 -vn -0.9905 0.0002 0.1371 -vn -0.4954 0.8577 0.1371 -vn -0.0042 0.9967 0.0803 -vn 0.4902 0.8716 0.0017 -vn 0.8556 0.5117 -0.0781 -vn 0.9904 0.0113 -0.1374 -vn 0.8625 -0.4979 -0.0906 -vn 0.4918 -0.8672 -0.0780 -vn -0.0130 -0.9989 -0.0441 -vn -0.5127 -0.8585 0.0013 -vn -0.8713 -0.4886 0.0457 -vn -0.8552 0.4937 0.1577 -vn -0.9969 0.0071 0.0774 -vn -0.5047 0.8598 0.0774 -vn -0.0125 0.9989 0.0457 -vn 0.4871 0.8733 0.0013 -vn 0.8586 0.5108 -0.0441 -vn 0.9969 0.0077 -0.0780 -vn 0.5490 0.5490 0.6302 -vn 0.7071 0.7071 0.0000 -vn 0.7764 0.0000 0.6302 -vn 0.7071 -0.7071 0.0000 -vn 0.5490 -0.5490 0.6302 -vn 0.0000 -0.7764 0.6302 -vn -0.7071 -0.7071 0.0000 -vn -0.5490 -0.5490 0.6302 -vn -0.7764 0.0000 0.6302 -vn -0.7071 0.7071 0.0000 -vn -0.5490 0.5490 0.6302 -vn 0.7362 0.0000 0.6768 -vn 0.0550 0.0318 0.9980 -vn 0.0635 0.0000 0.9980 -vn -0.6724 0.0000 0.7402 -vn -0.5823 -0.3362 0.7402 -vn -0.5823 -0.3362 -0.7402 -vn -0.6724 0.0000 -0.7402 -vn 0.0550 0.0318 -0.9980 -vn 0.0635 0.0000 -0.9980 -vn 0.7362 0.0000 -0.6768 -vn 0.6375 0.3681 0.6768 -vn 0.0318 0.0550 0.9980 -vn -0.3362 -0.5823 0.7402 -vn -0.3362 -0.5823 -0.7402 -vn 0.0318 0.0550 -0.9980 -vn 0.6375 0.3681 -0.6768 -vn 0.0000 0.7362 0.6768 -vn 0.3681 0.6375 0.6768 -vn 0.0000 0.0635 0.9980 -vn 0.0000 -0.6724 0.7402 -vn 0.0000 -0.6724 -0.7402 -vn 0.0000 0.0635 -0.9980 -vn 0.0000 0.7362 -0.6768 -vn 0.3681 0.6375 -0.6768 -vn -0.0318 0.0550 0.9980 -vn 0.3362 -0.5823 0.7402 -vn 0.3362 -0.5823 -0.7402 -vn -0.0318 0.0550 -0.9980 -vn -0.6375 0.3681 0.6768 -vn -0.3681 0.6375 0.6768 -vn -0.0550 0.0318 0.9980 -vn -0.0550 0.0318 -0.9980 -vn -0.6375 0.3681 -0.6768 -vn -0.3681 0.6375 -0.6768 -vn -0.7362 0.0000 0.6768 -vn 0.6724 0.0000 0.7402 -vn 0.5823 -0.3362 0.7402 -vn 0.5823 -0.3362 -0.7402 -vn 0.6724 0.0000 -0.7402 -vn -0.7362 0.0000 -0.6768 -vn -0.6375 -0.3681 0.6768 -vn -0.0635 0.0000 0.9980 -vn 0.5823 0.3362 0.7402 -vn 0.5823 0.3362 -0.7402 -vn -0.0635 0.0000 -0.9980 -vn -0.6375 -0.3681 -0.6768 -vn -0.3681 -0.6375 0.6768 -vn -0.0550 -0.0318 0.9980 -vn 0.3362 0.5823 0.7402 -vn 0.3362 0.5823 -0.7402 -vn -0.0550 -0.0318 -0.9980 -vn -0.3681 -0.6375 -0.6768 -vn 0.0000 -0.7362 0.6768 -vn -0.0318 -0.0550 0.9980 -vn 0.0000 -0.0635 0.9980 -vn 0.0000 0.6724 0.7402 -vn 0.0000 0.6724 -0.7402 -vn -0.0318 -0.0550 -0.9980 -vn 0.0000 -0.7362 -0.6768 -vn 0.0318 -0.0550 0.9980 -vn -0.3362 0.5823 0.7402 -vn -0.3362 0.5823 -0.7402 -vn 0.0000 -0.0635 -0.9980 -vn 0.0318 -0.0550 -0.9980 -vn 0.6375 -0.3681 0.6768 -vn 0.3681 -0.6375 0.6768 -vn 0.0550 -0.0318 0.9980 -vn -0.5823 0.3362 0.7402 -vn 0.0550 -0.0318 -0.9980 -vn 0.6375 -0.3681 -0.6768 -vn 0.3681 -0.6375 -0.6768 -vn -0.5823 0.3362 -0.7402 -vn 0.6302 0.0000 -0.7764 -vn -0.6302 -0.5490 -0.5490 -vn -0.6302 0.0000 -0.7764 -vn 0.6302 -0.5490 -0.5490 -vn -0.6302 -0.7764 0.0000 -vn 0.6302 -0.7764 0.0000 -vn -0.6302 -0.5490 0.5490 -vn 0.6302 -0.5490 0.5490 -vn -0.6302 0.0000 0.7764 -vn 0.6302 0.5490 0.5490 -vn -0.6302 0.5490 0.5490 -vn 0.6302 0.7764 0.0000 -vn -0.6302 0.7764 0.0000 -vn 0.6302 0.5490 -0.5490 -vn -0.6302 0.5490 -0.5490 -vn 0.6302 0.0000 0.7764 -vn 0.2445 0.6856 0.6856 -vn 0.8133 0.5819 0.0000 -vn 0.2445 0.9696 0.0000 -vn 0.2445 0.6856 -0.6856 -vn 0.8133 0.4115 -0.4115 -vn 0.2445 0.0000 -0.9696 -vn 0.8133 -0.4115 -0.4115 -vn 0.2445 -0.6856 -0.6856 -vn 0.2445 0.0000 0.9696 -vn 0.8133 -0.4115 0.4115 -vn 0.8133 0.0000 0.5819 -vn 0.2445 -0.9696 0.0000 -vn 0.8133 -0.5819 0.0000 -vn 0.8133 0.4115 0.4115 -vn 0.8133 0.0000 -0.5819 -vn 0.2445 -0.6856 0.6856 -vn -0.5458 0.3151 -0.7764 -vn 0.2713 -0.7906 -0.5490 -vn -0.8203 -0.1603 -0.5490 -vn -0.9340 -0.3572 0.0000 -vn 0.1576 -0.9875 0.0000 -vn -0.8203 -0.1603 0.5490 -vn 0.5458 -0.3151 0.7764 -vn -0.5458 0.3151 0.7764 -vn -0.2713 0.7906 0.5490 -vn 0.8203 0.1603 0.5490 -vn -0.1576 0.9875 0.0000 -vn 0.9340 0.3572 0.0000 -vn -0.2713 0.7906 -0.5490 -vn 0.5458 -0.3151 -0.7764 -vn 0.0000 0.3491 -0.9371 -vn 0.5490 -0.6302 -0.5490 -vn 0.0000 -0.6302 -0.7764 -vn 0.6626 0.3491 -0.6626 -vn 0.7764 -0.6302 0.0000 -vn 0.6626 0.3491 0.6626 -vn 0.5490 -0.6302 0.5490 -vn 0.0000 -0.6302 0.7764 -vn 0.0000 0.3491 0.9371 -vn -0.5490 -0.6302 0.5490 -vn -0.6626 0.3491 0.6626 -vn -0.7764 -0.6302 0.0000 -vn 0.3275 0.8863 0.3275 -vn 0.0000 0.8863 0.4631 -vn -0.9371 0.3491 0.0000 -vn -0.5490 -0.6302 -0.5490 -vn -0.6626 0.3491 -0.6626 -vn -0.3275 0.8863 -0.3275 -vn 0.9371 0.3491 0.0000 -vn 0.3275 0.8863 -0.3275 -vn 0.4631 0.8863 0.0000 -vn -0.3275 0.8863 0.3275 -vn 0.0000 0.8863 -0.4631 -vn -0.4631 0.8863 0.0000 -vn 0.4924 0.8529 -0.1735 -vn 0.0000 0.9848 -0.1735 -vn 0.6733 0.6889 0.2684 -vn 0.8529 0.4924 -0.1735 -vn 0.6889 0.6733 0.2684 -vn 0.9848 0.0000 -0.1735 -vn 0.8529 -0.4924 -0.1735 -vn 0.6889 -0.6733 0.2684 -vn 0.4924 -0.8529 -0.1735 -vn 0.6733 -0.6889 0.2684 -vn 0.0000 -0.9848 -0.1735 -vn -0.4924 -0.8529 -0.1735 -vn -0.6733 -0.6889 0.2684 -vn -0.8529 -0.4924 -0.1735 -vn -0.6889 -0.6733 0.2684 -vn -0.9848 0.0000 -0.1735 -vn -0.8529 0.4924 -0.1735 -vn -0.9320 -0.1065 0.3464 -vn -0.7571 0.0000 0.6532 -vn -0.6889 0.6733 0.2684 -vn -0.4924 0.8529 -0.1735 -vn -0.6733 0.6889 0.2684 -vn -0.4252 -0.7366 -0.5259 -vn 0.7366 -0.4252 -0.5259 -vn 0.5694 0.0000 -0.8220 -vn 0.8505 0.0000 -0.5259 -vn 0.0000 -0.8505 -0.5259 -vn 0.4252 -0.7366 -0.5259 -vn -0.4252 0.7366 -0.5259 -vn 0.4252 0.7366 -0.5259 -vn 0.0000 0.8505 -0.5259 -vn 0.7366 0.4252 -0.5259 -vn -0.7366 0.4252 -0.5259 -vn -0.8505 0.0000 -0.5259 -vn -0.7366 -0.4252 -0.5259 -vn 0.0000 -0.5694 -0.8220 -vn -0.1066 -0.1846 -0.9770 -vn 0.0000 -0.2132 -0.9770 -vn -0.2847 0.4931 -0.8220 -vn -0.4931 0.2847 -0.8220 -vn 0.2847 0.4931 -0.8220 -vn 0.0000 0.5694 -0.8220 -vn -0.4931 -0.2847 -0.8220 -vn -0.2847 -0.4931 -0.8220 -vn 0.4931 -0.2847 -0.8220 -vn 0.2847 -0.4931 -0.8220 -vn 0.4931 0.2847 -0.8220 -vn -0.5694 0.0000 -0.8220 -vn -0.6377 0.0000 -0.7703 -vn 0.2132 0.0000 -0.9770 -vn -0.1846 0.1066 -0.9770 -vn 0.1066 0.1846 -0.9770 -vn 0.0000 0.2132 -0.9770 -vn 0.1846 -0.1066 -0.9770 -vn -0.1066 0.1846 -0.9770 -vn -0.1846 -0.1066 -0.9770 -vn 0.1066 -0.1846 -0.9770 -vn 0.1846 0.1066 -0.9770 -vn -0.2132 0.0000 -0.9770 -vn -0.3189 -0.5523 -0.7703 -vn 0.0000 -0.6377 -0.7703 -vn 0.6377 0.0000 -0.7703 -vn -0.3189 0.5523 -0.7703 -vn -0.5523 0.3189 -0.7703 -vn 0.3189 0.5523 -0.7703 -vn 0.0000 0.6377 -0.7703 -vn -0.5523 -0.3189 -0.7703 -vn 0.5523 -0.3189 -0.7703 -vn 0.3189 -0.5523 -0.7703 -vn 0.5523 0.3189 -0.7703 -vn 0.6377 0.0000 0.7703 -vn 0.6557 -0.3786 0.6532 -vn 0.5523 -0.3189 0.7703 -vn 0.9320 -0.1065 0.3464 -vn 0.7571 0.0000 0.6532 -vn 0.1065 0.9320 0.3464 -vn 0.0000 0.7571 0.6532 -vn 0.3786 0.6557 0.6532 -vn -0.6557 0.3786 0.6532 -vn -0.9320 0.1065 0.3464 -vn 0.1065 -0.9320 0.3464 -vn 0.3786 -0.6557 0.6532 -vn -0.3786 -0.6557 0.6532 -vn -0.1065 -0.9320 0.3464 -vn 0.9320 0.1065 0.3464 -vn 0.6557 0.3786 0.6532 -vn -0.3786 0.6557 0.6532 -vn -0.1065 0.9320 0.3464 -vn 0.0000 -0.7571 0.6532 -vn -0.6557 -0.3786 0.6532 -vn 0.7624 0.3158 0.5648 -vn 0.3158 -0.7624 0.5648 -vn -0.7624 -0.3158 0.5648 -vn -0.3158 0.7624 0.5648 -vn 0.3083 -0.7443 0.5924 -vn 0.0000 -0.6377 0.7703 -vn -0.7443 0.3083 0.5924 -vn -0.6377 0.0000 0.7703 -vn 0.3083 0.7443 0.5924 -vn -0.3083 0.7443 0.5924 -vn 0.0000 0.6377 0.7703 -vn 0.7443 -0.3083 0.5924 -vn -0.3083 -0.7443 0.5924 -vn 0.7443 0.3083 0.5924 -vn -0.7624 0.3158 0.5648 -vn 0.3158 0.7624 0.5648 -vn -0.7443 -0.3083 0.5924 -vn 0.7624 -0.3158 0.5648 -vn -0.3158 -0.7624 0.5648 -vn -0.5523 0.3189 0.7703 -vn -0.3189 0.5523 0.7703 -vn 0.3189 0.5523 0.7703 -vn -0.3189 -0.5523 0.7703 -vn -0.5523 -0.3189 0.7703 -vn 0.3189 -0.5523 0.7703 -vn 0.5523 0.3189 0.7703 -vn -0.7572 0.0000 0.6532 -vn -0.5490 0.5490 -0.6302 -vn -0.5490 -0.5490 -0.6302 -vn 0.0000 -0.7764 -0.6302 -vn 0.5490 -0.5490 -0.6302 -vn 0.7764 0.0000 -0.6302 -vn 0.0000 0.7764 -0.6302 -vn -0.8626 0.4980 0.0889 -vn 0.0000 0.7764 0.6302 -vn 0.2713 -0.7906 0.5490 -vn 0.8203 0.1603 -0.5490 -vn -0.7764 0.0000 -0.6302 -vn 0.5490 0.5490 -0.6302 -usemtl None -s off -f 170/1/1 166/2/1 162/3/1 -f 270/4/2 271/5/2 269/6/2 -f 276/7/3 277/8/3 272/9/3 -f 276/10/4 273/11/4 275/12/4 -f 274/13/1 269/14/1 273/15/1 -f 275/16/5 269/17/5 271/18/5 -f 272/9/6 274/13/6 276/7/6 -f 277/19/7 279/20/7 278/21/7 -f 271/5/2 277/22/2 278/23/2 -f 275/12/4 280/24/4 276/10/4 -f 271/18/8 279/20/8 275/16/8 -f 294/25/4 290/26/4 286/27/4 -f 287/28/2 293/29/2 295/30/2 -f 310/31/4 306/32/4 302/33/4 -f 303/34/2 309/35/2 311/36/2 -f 323/37/2 321/38/2 322/39/2 -f 316/40/7 326/41/7 315/42/7 -f 320/43/4 327/44/4 319/45/4 -f 318/46/1 313/47/1 317/48/1 -f 326/49/5 313/50/5 315/51/5 -f 316/52/6 318/53/6 325/54/6 -f 313/50/5 321/38/5 315/51/5 -f 313/47/1 323/55/1 322/56/1 -f 325/57/7 331/58/7 320/59/7 -f 315/42/7 324/60/7 316/40/7 -f 325/57/7 319/61/7 326/41/7 -f 326/49/5 327/44/5 317/62/5 -f 318/46/1 332/63/1 336/64/1 -f 317/48/1 328/65/1 318/46/1 -f 334/66/6 329/67/6 333/68/6 -f 336/69/6 331/70/6 335/71/6 -f 316/52/4 333/68/4 314/72/4 -f 324/60/7 334/73/7 316/40/7 -f 320/43/4 332/74/4 328/75/4 -f 323/37/2 330/76/2 324/77/2 -f 314/78/1 329/67/1 323/55/1 -f 318/53/2 335/71/2 325/54/2 -f 338/79/9 339/80/9 337/81/9 -f 340/82/10 341/83/10 339/80/10 -f 341/83/11 344/84/11 343/85/11 -f 344/84/12 345/86/12 343/85/12 -f 345/87/13 348/88/13 347/89/13 -f 347/89/14 350/90/14 349/91/14 -f 350/90/15 351/92/15 349/91/15 -f 352/93/16 337/81/16 351/92/16 -f 359/94/4 357/95/4 355/96/4 -f 362/97/9 363/98/9 361/99/9 -f 364/100/10 365/101/10 363/98/10 -f 366/102/11 367/103/11 365/101/11 -f 368/104/12 369/105/12 367/103/12 -f 369/106/13 372/107/13 371/108/13 -f 371/108/14 374/109/14 373/110/14 -f 373/110/15 376/111/15 375/112/15 -f 375/112/16 362/97/16 361/99/16 -f 383/113/4 380/114/4 379/115/4 -f 386/116/9 387/117/9 385/118/9 -f 388/119/10 389/120/10 387/117/10 -f 390/121/11 391/122/11 389/120/11 -f 392/123/12 393/124/12 391/122/12 -f 394/125/13 395/126/13 393/127/13 -f 396/128/14 397/129/14 395/126/14 -f 397/129/15 400/130/15 399/131/15 -f 400/130/16 385/118/16 399/131/16 -f 407/132/4 404/133/4 403/134/4 -f 409/135/9 412/136/9 411/137/9 -f 411/137/10 414/138/10 413/139/10 -f 414/138/11 415/140/11 413/139/11 -f 416/141/12 417/142/12 415/140/12 -f 417/143/13 420/144/13 419/145/13 -f 420/144/14 421/146/14 419/145/14 -f 422/147/15 423/148/15 421/146/15 -f 424/149/16 409/135/16 423/148/16 -f 431/150/4 428/151/4 427/152/4 -f 446/153/17 442/154/17 434/155/17 -f 439/156/18 443/157/18 435/158/18 -f 449/159/19 452/160/19 451/161/19 -f 452/160/4 453/162/4 451/161/4 -f 453/162/20 456/163/20 455/164/20 -f 456/165/21 457/166/21 455/167/21 -f 450/168/1 456/169/1 454/170/1 -f 458/171/2 459/172/2 457/166/2 -f 460/173/22 449/159/22 459/172/22 -f 451/174/7 455/175/7 449/176/7 -f 462/177/2 463/178/2 461/179/2 -f 468/180/4 465/181/4 467/182/4 -f 462/183/2 461/184/2 469/185/2 -f 467/186/5 461/179/5 463/178/5 -f 464/187/6 466/188/6 468/180/6 -f 461/189/2 473/190/2 469/191/2 -f 462/183/23 471/192/23 466/193/23 -f 465/194/4 466/193/4 471/192/4 -f 461/189/7 470/195/7 472/196/7 -f 471/197/4 470/198/4 465/199/4 -f 469/191/1 474/200/1 471/197/1 -f 477/201/4 476/202/4 475/203/4 -f 479/204/2 482/205/2 481/206/2 -f 476/207/4 483/208/4 475/209/4 -f 475/203/5 481/210/5 477/201/5 -f 480/211/6 478/212/6 482/205/6 -f 487/213/4 475/214/4 483/215/4 -f 485/216/23 476/207/23 480/217/23 -f 479/218/2 485/216/2 480/217/2 -f 486/219/7 479/220/7 475/214/7 -f 484/221/2 485/222/2 479/223/2 -f 488/224/1 483/215/1 485/222/1 -f 491/225/2 490/226/2 489/227/2 -f 493/228/4 496/229/4 495/230/4 -f 490/231/2 497/232/2 489/233/2 -f 489/227/6 495/234/6 491/225/6 -f 494/235/5 492/236/5 496/229/5 -f 501/237/2 489/233/2 497/238/2 -f 494/239/24 497/232/24 490/231/24 -f 493/240/4 499/241/4 494/239/4 -f 500/242/7 493/243/7 489/233/7 -f 498/244/4 499/245/4 493/246/4 -f 502/247/1 497/238/1 499/245/1 -f 504/248/4 505/249/4 503/250/4 -f 510/251/2 507/252/2 509/253/2 -f 504/254/4 503/255/4 511/256/4 -f 509/257/6 503/250/6 505/249/6 -f 506/258/5 508/259/5 510/251/5 -f 503/260/4 515/261/4 511/262/4 -f 504/254/24 513/263/24 508/264/24 -f 507/265/2 508/264/2 513/263/2 -f 507/266/7 514/267/7 503/260/7 -f 513/268/2 512/269/2 507/270/2 -f 511/262/1 516/271/1 513/268/1 -f 522/272/25 517/273/25 518/274/25 -f 523/275/26 522/272/26 524/276/26 -f 519/277/27 524/278/27 520/279/27 -f 521/280/28 525/281/28 517/282/28 -f 518/274/29 519/277/29 520/279/29 -f 519/283/29 517/282/29 525/281/29 -f 519/284/29 529/285/29 527/286/29 -f 521/280/26 523/287/26 526/288/26 -f 527/289/29 529/290/29 531/291/29 -f 523/292/5 527/286/5 528/293/5 -f 526/294/26 528/295/26 530/296/26 -f 526/294/6 529/285/6 525/297/6 -f 527/298/29 535/299/29 534/300/29 -f 530/301/26 528/302/26 532/303/26 -f 530/301/30 531/291/30 529/290/30 -f 527/298/25 533/304/25 528/305/25 -f 532/306/26 533/307/26 536/308/26 -f 532/306/27 535/299/27 531/309/27 -f 543/310/5 547/311/5 551/312/5 -f 559/313/6 556/314/6 555/315/6 -f 570/316/1 568/317/1 569/318/1 -f 575/319/5 569/320/5 568/321/5 -f 576/322/7 562/323/7 575/319/7 -f 578/324/2 587/325/2 564/326/2 -f 569/327/2 563/328/2 570/329/2 -f 570/330/5 571/331/5 567/332/5 -f 582/333/4 589/334/4 590/335/4 -f 567/336/4 572/337/4 568/338/4 -f 573/339/2 584/340/2 562/341/2 -f 575/342/4 565/343/4 576/344/4 -f 576/345/5 561/346/5 573/347/5 -f 581/348/4 588/349/4 589/334/4 -f 562/341/2 578/324/2 569/327/2 -f 568/338/4 582/333/4 575/342/4 -f 569/327/2 564/326/2 579/350/2 -f 572/337/4 581/348/4 568/338/4 -f 584/340/2 577/351/2 562/341/2 -f 575/342/4 566/352/4 583/353/4 -f 586/354/6 590/355/6 589/356/6 -f 589/356/6 587/357/6 586/354/6 -f 585/358/6 591/359/6 590/355/6 -f 577/351/2 592/360/2 585/361/2 -f 577/351/2 586/362/2 578/324/2 -f 566/363/31 592/364/31 574/365/31 -f 582/333/4 591/366/4 566/352/4 -f 564/367/32 588/368/32 580/369/32 -f 642/370/7 653/371/7 654/372/7 -f 642/373/7 655/374/7 643/375/7 -f 644/376/7 655/377/7 656/378/7 -f 645/379/7 656/380/7 657/381/7 -f 645/382/7 658/383/7 646/384/7 -f 646/385/7 659/386/7 647/387/7 -f 647/388/7 660/389/7 648/390/7 -f 648/391/7 661/392/7 649/393/7 -f 649/394/7 662/395/7 650/396/7 -f 651/397/7 662/398/7 663/399/7 -f 652/400/7 663/401/7 664/402/7 -f 652/403/7 653/404/7 641/405/7 -f 714/406/1 701/407/1 702/408/1 -f 716/409/1 703/410/1 715/411/1 -f 716/409/1 705/412/1 704/413/1 -f 718/414/1 707/415/1 706/416/1 -f 720/417/1 707/415/1 719/418/1 -f 721/419/1 710/420/1 709/421/1 -f 722/422/1 711/423/1 710/420/1 -f 714/424/1 712/425/1 724/426/1 -f 614/427/1 688/428/1 687/429/1 -f 596/430/1 679/431/1 677/432/1 -f 602/433/1 682/434/1 681/435/1 -f 608/436/1 685/437/1 684/438/1 -f 689/439/1 726/440/1 690/441/1 -f 691/442/1 725/443/1 689/439/1 -f 692/444/1 727/445/1 691/442/1 -f 692/444/1 729/446/1 728/447/1 -f 694/448/1 729/446/1 693/449/1 -f 694/448/1 731/450/1 730/451/1 -f 696/452/1 731/450/1 695/453/1 -f 697/454/1 732/455/1 696/452/1 -f 697/454/1 734/456/1 733/457/1 -f 699/458/1 734/456/1 698/459/1 -f 699/458/1 736/460/1 735/461/1 -f 700/462/1 726/440/1 736/460/1 -f 747/463/1 741/464/1 739/465/1 -f 750/466/33 751/467/33 749/468/33 -f 751/467/17 754/469/17 753/470/17 -f 754/469/5 755/471/5 753/470/5 -f 755/472/34 758/473/34 757/474/34 -f 760/475/1 758/476/1 754/477/1 -f 757/474/18 760/478/18 759/479/18 -f 759/479/6 750/466/6 749/468/6 -f 751/480/7 757/481/7 759/482/7 -f 762/483/33 763/484/33 761/485/33 -f 764/486/17 765/487/17 763/484/17 -f 766/488/5 767/489/5 765/487/5 -f 768/490/34 769/491/34 767/492/34 -f 772/493/1 770/494/1 766/495/1 -f 769/491/18 772/496/18 771/497/18 -f 772/496/6 761/485/6 771/497/6 -f 763/498/7 769/499/7 771/500/7 -f 774/501/35 777/502/35 778/503/35 -f 778/503/36 779/504/36 780/505/36 -f 780/505/37 775/506/37 776/507/37 -f 773/508/38 782/509/38 777/510/38 -f 774/501/39 775/511/39 773/512/39 -f 775/513/39 781/514/39 773/508/39 -f 783/515/39 781/516/39 775/517/39 -f 777/510/36 782/509/36 779/518/36 -f 783/519/39 787/520/39 785/521/39 -f 784/522/6 775/523/6 779/524/6 -f 786/525/36 779/524/36 782/526/36 -f 785/527/5 782/526/5 781/516/5 -f 790/528/39 787/529/39 783/530/39 -f 786/531/36 788/532/36 784/533/36 -f 787/520/40 786/531/40 785/521/40 -f 784/534/35 790/535/35 783/536/35 -f 792/537/36 784/534/36 788/538/36 -f 787/529/37 792/537/37 788/538/37 -f 799/539/5 805/540/5 807/541/5 -f 815/542/6 812/543/6 811/544/6 -f 817/545/13 820/546/13 819/547/13 -f 819/547/14 822/548/14 821/549/14 -f 821/549/15 824/550/15 823/551/15 -f 824/550/16 825/552/16 823/551/16 -f 826/553/9 827/554/9 825/555/9 -f 828/556/10 829/557/10 827/554/10 -f 829/557/11 832/558/11 831/559/11 -f 832/558/12 817/545/12 831/559/12 -f 839/560/4 836/561/4 835/562/4 -f 842/563/13 843/564/13 841/565/13 -f 843/564/14 846/566/14 845/567/14 -f 845/567/15 848/568/15 847/569/15 -f 847/569/16 850/570/16 849/571/16 -f 849/572/9 852/573/9 851/574/9 -f 851/574/10 854/575/10 853/576/10 -f 854/575/11 855/577/11 853/576/11 -f 855/577/12 842/563/12 841/565/12 -f 863/578/4 860/579/4 859/580/4 -f 865/581/13 868/582/13 867/583/13 -f 867/583/14 870/584/14 869/585/14 -f 870/584/15 871/586/15 869/585/15 -f 871/586/16 874/587/16 873/588/16 -f 874/589/9 875/590/9 873/591/9 -f 875/590/10 878/592/10 877/593/10 -f 878/592/11 879/594/11 877/593/11 -f 880/595/12 865/581/12 879/594/12 -f 887/596/4 884/597/4 883/598/4 -f 889/599/13 892/600/13 891/601/13 -f 892/600/14 893/602/14 891/601/14 -f 894/603/15 895/604/15 893/602/15 -f 895/604/16 898/605/16 897/606/16 -f 898/607/9 899/608/9 897/609/9 -f 900/610/10 901/611/10 899/608/10 -f 902/612/11 903/613/11 901/611/11 -f 904/614/12 889/599/12 903/613/12 -f 911/615/4 909/616/4 906/617/4 -f 1020/618/7 1018/619/7 1014/620/7 -f 162/3/1 160/621/1 158/622/1 -f 158/622/1 172/623/1 162/3/1 -f 170/1/1 168/624/1 166/2/1 -f 166/2/1 164/625/1 162/3/1 -f 162/3/1 172/623/1 170/1/1 -f 270/4/2 272/626/2 271/5/2 -f 276/7/3 280/627/3 277/8/3 -f 276/10/4 274/628/4 273/11/4 -f 274/13/1 270/629/1 269/14/1 -f 275/16/5 273/630/5 269/17/5 -f 272/9/6 270/629/6 274/13/6 -f 277/19/7 280/631/7 279/20/7 -f 271/5/2 272/626/2 277/22/2 -f 275/12/4 279/632/4 280/24/4 -f 271/18/8 278/21/8 279/20/8 -f 302/33/4 300/633/4 310/31/4 -f 298/634/4 312/635/4 310/31/4 -f 310/31/4 308/636/4 306/32/4 -f 306/32/4 304/637/4 302/33/4 -f 300/633/4 298/634/4 310/31/4 -f 323/37/2 324/77/2 321/38/2 -f 316/40/7 325/57/7 326/41/7 -f 320/43/4 328/75/4 327/44/4 -f 318/46/1 314/78/1 313/47/1 -f 326/49/5 317/62/5 313/50/5 -f 316/52/6 314/72/6 318/53/6 -f 313/50/5 322/39/5 321/38/5 -f 313/47/1 314/78/1 323/55/1 -f 325/57/7 335/638/7 331/58/7 -f 315/42/7 321/639/7 324/60/7 -f 325/57/7 320/59/7 319/61/7 -f 326/49/5 319/45/5 327/44/5 -f 318/46/1 328/65/1 332/63/1 -f 317/48/1 327/640/1 328/65/1 -f 334/66/6 330/641/6 329/67/6 -f 336/69/6 332/642/6 331/70/6 -f 316/52/4 334/66/4 333/68/4 -f 324/60/7 330/643/7 334/73/7 -f 320/43/4 331/644/4 332/74/4 -f 323/37/2 329/645/2 330/76/2 -f 314/78/1 333/68/1 329/67/1 -f 318/53/2 336/69/2 335/71/2 -f 338/79/9 340/82/9 339/80/9 -f 340/82/10 342/646/10 341/83/10 -f 341/83/11 342/646/11 344/84/11 -f 344/84/12 346/647/12 345/86/12 -f 345/87/13 346/648/13 348/88/13 -f 347/89/14 348/88/14 350/90/14 -f 350/90/15 352/93/15 351/92/15 -f 352/93/16 338/79/16 337/81/16 -f 355/96/4 353/649/4 359/94/4 -f 354/650/4 360/651/4 359/94/4 -f 359/94/4 358/652/4 357/95/4 -f 357/95/4 356/653/4 355/96/4 -f 353/649/4 354/650/4 359/94/4 -f 362/97/9 364/100/9 363/98/9 -f 364/100/10 366/102/10 365/101/10 -f 366/102/11 368/104/11 367/103/11 -f 368/104/12 370/654/12 369/105/12 -f 369/106/13 370/655/13 372/107/13 -f 371/108/14 372/107/14 374/109/14 -f 373/110/15 374/109/15 376/111/15 -f 375/112/16 376/111/16 362/97/16 -f 379/115/4 377/656/4 383/113/4 -f 378/657/4 384/658/4 383/113/4 -f 383/113/4 382/659/4 381/660/4 -f 381/660/4 380/114/4 383/113/4 -f 377/656/4 378/657/4 383/113/4 -f 386/116/9 388/119/9 387/117/9 -f 388/119/10 390/121/10 389/120/10 -f 390/121/11 392/123/11 391/122/11 -f 392/123/12 394/661/12 393/124/12 -f 394/125/13 396/128/13 395/126/13 -f 396/128/14 398/662/14 397/129/14 -f 397/129/15 398/662/15 400/130/15 -f 400/130/16 386/116/16 385/118/16 -f 403/134/4 401/663/4 407/132/4 -f 402/664/4 408/665/4 407/132/4 -f 407/132/4 406/666/4 405/667/4 -f 405/667/4 404/133/4 407/132/4 -f 401/663/4 402/664/4 407/132/4 -f 409/135/9 410/668/9 412/136/9 -f 411/137/10 412/136/10 414/138/10 -f 414/138/11 416/141/11 415/140/11 -f 416/141/12 418/669/12 417/142/12 -f 417/143/13 418/670/13 420/144/13 -f 420/144/14 422/147/14 421/146/14 -f 422/147/15 424/149/15 423/148/15 -f 424/149/16 410/668/16 409/135/16 -f 427/152/4 425/671/4 426/672/4 -f 426/672/4 432/673/4 427/152/4 -f 431/150/4 430/674/4 429/675/4 -f 429/675/4 428/151/4 431/150/4 -f 427/152/4 432/673/4 431/150/4 -f 438/676/17 436/677/17 434/155/17 -f 434/155/17 448/678/17 446/153/17 -f 446/153/17 444/679/17 442/154/17 -f 442/154/17 440/680/17 438/676/17 -f 438/676/17 434/155/17 442/154/17 -f 447/681/18 433/682/18 435/158/18 -f 435/158/18 437/683/18 439/156/18 -f 439/156/18 441/684/18 443/157/18 -f 443/157/18 445/685/18 447/681/18 -f 447/681/18 435/158/18 443/157/18 -f 449/159/19 450/686/19 452/160/19 -f 452/160/4 454/687/4 453/162/4 -f 453/162/20 454/687/20 456/163/20 -f 456/165/21 458/171/21 457/166/21 -f 454/170/1 452/688/1 450/168/1 -f 450/168/1 460/689/1 458/690/1 -f 458/690/1 456/169/1 450/168/1 -f 458/171/2 460/173/2 459/172/2 -f 460/173/22 450/686/22 449/159/22 -f 459/691/7 449/176/7 455/175/7 -f 451/174/7 453/692/7 455/175/7 -f 455/175/7 457/693/7 459/691/7 -f 522/272/25 521/694/25 517/273/25 -f 523/275/26 521/694/26 522/272/26 -f 519/277/27 523/695/27 524/278/27 -f 521/280/28 526/288/28 525/281/28 -f 518/274/29 517/273/29 519/277/29 -f 519/284/29 525/297/29 529/285/29 -f 523/292/5 519/284/5 527/286/5 -f 526/294/26 523/696/26 528/295/26 -f 526/294/6 530/296/6 529/285/6 -f 527/298/29 531/309/29 535/299/29 -f 530/301/30 532/303/30 531/291/30 -f 527/298/25 534/300/25 533/304/25 -f 532/306/26 528/697/26 533/307/26 -f 532/306/27 536/308/27 535/299/27 -f 551/312/5 537/698/5 543/310/5 -f 539/699/5 541/700/5 543/310/5 -f 543/310/5 545/701/5 547/311/5 -f 547/311/5 549/702/5 551/312/5 -f 537/698/5 539/699/5 543/310/5 -f 555/315/6 553/703/6 554/704/6 -f 554/704/6 560/705/6 559/313/6 -f 559/313/6 558/706/6 557/707/6 -f 557/707/6 556/314/6 559/313/6 -f 555/315/6 554/704/6 559/313/6 -f 570/316/1 567/708/1 568/317/1 -f 575/319/5 562/323/5 569/320/5 -f 576/322/7 573/709/7 562/323/7 -f 578/324/2 586/362/2 587/325/2 -f 569/327/2 579/350/2 563/328/2 -f 570/330/5 563/710/5 571/331/5 -f 582/333/4 581/348/4 589/334/4 -f 567/336/4 571/711/4 572/337/4 -f 573/339/2 561/712/2 584/340/2 -f 575/342/4 583/353/4 565/343/4 -f 576/345/5 565/713/5 561/346/5 -f 581/348/4 580/714/4 588/349/4 -f 562/341/2 577/351/2 578/324/2 -f 568/338/4 581/348/4 582/333/4 -f 569/327/2 578/324/2 564/326/2 -f 572/337/4 580/714/4 581/348/4 -f 584/340/2 574/715/2 577/351/2 -f 575/342/4 582/333/4 566/352/4 -f 586/354/6 585/358/6 590/355/6 -f 589/356/6 588/368/6 587/357/6 -f 585/358/6 592/364/6 591/359/6 -f 577/351/2 574/715/2 592/360/2 -f 577/351/2 585/361/2 586/362/2 -f 566/363/31 591/359/31 592/364/31 -f 582/333/4 590/335/4 591/366/4 -f 564/367/32 587/357/32 588/368/32 -f 642/370/7 641/716/7 653/371/7 -f 642/373/7 654/717/7 655/374/7 -f 644/376/7 643/718/7 655/377/7 -f 645/379/7 644/719/7 656/380/7 -f 645/382/7 657/720/7 658/383/7 -f 646/385/7 658/721/7 659/386/7 -f 647/388/7 659/722/7 660/389/7 -f 648/391/7 660/723/7 661/392/7 -f 649/394/7 661/724/7 662/395/7 -f 651/397/7 650/725/7 662/398/7 -f 652/400/7 651/726/7 663/401/7 -f 652/403/7 664/727/7 653/404/7 -f 714/406/1 713/728/1 701/407/1 -f 716/409/1 704/413/1 703/410/1 -f 716/409/1 717/729/1 705/412/1 -f 718/414/1 719/418/1 707/415/1 -f 720/417/1 708/730/1 707/415/1 -f 721/419/1 722/422/1 710/420/1 -f 722/422/1 723/731/1 711/423/1 -f 714/424/1 702/732/1 712/425/1 -f 614/427/1 616/733/1 688/428/1 -f 596/430/1 598/734/1 679/431/1 -f 602/433/1 604/735/1 682/434/1 -f 608/436/1 610/736/1 685/437/1 -f 689/439/1 725/443/1 726/440/1 -f 691/442/1 727/445/1 725/443/1 -f 692/444/1 728/447/1 727/445/1 -f 692/444/1 693/449/1 729/446/1 -f 694/448/1 730/451/1 729/446/1 -f 694/448/1 695/453/1 731/450/1 -f 696/452/1 732/455/1 731/450/1 -f 697/454/1 733/457/1 732/455/1 -f 697/454/1 698/459/1 734/456/1 -f 699/458/1 735/461/1 734/456/1 -f 699/458/1 700/462/1 736/460/1 -f 700/462/1 690/441/1 726/440/1 -f 739/465/1 737/737/1 738/738/1 -f 738/738/1 748/739/1 739/465/1 -f 747/463/1 746/740/1 743/741/1 -f 745/742/1 744/743/1 743/741/1 -f 743/741/1 742/744/1 741/464/1 -f 741/464/1 740/745/1 739/465/1 -f 739/465/1 748/739/1 747/463/1 -f 746/740/1 745/742/1 743/741/1 -f 743/741/1 741/464/1 747/463/1 -f 750/466/33 752/746/33 751/467/33 -f 751/467/17 752/746/17 754/469/17 -f 754/469/5 756/747/5 755/471/5 -f 755/472/34 756/748/34 758/473/34 -f 754/477/1 752/749/1 750/750/1 -f 750/750/1 760/475/1 754/477/1 -f 758/476/1 756/751/1 754/477/1 -f 757/474/18 758/473/18 760/478/18 -f 759/479/6 760/478/6 750/466/6 -f 759/482/7 749/752/7 751/480/7 -f 751/480/7 753/753/7 755/754/7 -f 755/754/7 757/481/7 751/480/7 -f 762/483/33 764/486/33 763/484/33 -f 764/486/17 766/488/17 765/487/17 -f 766/488/5 768/755/5 767/489/5 -f 768/490/34 770/756/34 769/491/34 -f 766/495/1 764/757/1 762/758/1 -f 762/758/1 772/493/1 766/495/1 -f 770/494/1 768/759/1 766/495/1 -f 769/491/18 770/756/18 772/496/18 -f 772/496/6 762/483/6 761/485/6 -f 771/500/7 761/760/7 763/498/7 -f 763/498/7 765/761/7 767/762/7 -f 767/762/7 769/499/7 763/498/7 -f 774/501/35 773/512/35 777/502/35 -f 778/503/36 777/502/36 779/504/36 -f 780/505/37 779/504/37 775/506/37 -f 773/508/38 781/514/38 782/509/38 -f 774/501/39 776/763/39 775/511/39 -f 783/515/39 785/527/39 781/516/39 -f 784/522/6 783/764/6 775/523/6 -f 786/525/36 784/522/36 779/524/36 -f 785/527/5 786/525/5 782/526/5 -f 790/528/39 791/765/39 787/529/39 -f 787/520/40 788/532/40 786/531/40 -f 784/534/35 789/766/35 790/535/35 -f 792/537/36 789/766/36 784/534/36 -f 787/529/37 791/765/37 792/537/37 -f 807/541/5 793/767/5 799/539/5 -f 795/768/5 797/769/5 799/539/5 -f 799/539/5 801/770/5 803/771/5 -f 803/771/5 805/540/5 799/539/5 -f 793/767/5 795/768/5 799/539/5 -f 811/544/6 809/772/6 810/773/6 -f 810/773/6 816/774/6 815/542/6 -f 815/542/6 814/775/6 813/776/6 -f 813/776/6 812/543/6 815/542/6 -f 811/544/6 810/773/6 815/542/6 -f 817/545/13 818/777/13 820/546/13 -f 819/547/14 820/546/14 822/548/14 -f 821/549/15 822/548/15 824/550/15 -f 824/550/16 826/778/16 825/552/16 -f 826/553/9 828/556/9 827/554/9 -f 828/556/10 830/779/10 829/557/10 -f 829/557/11 830/779/11 832/558/11 -f 832/558/12 818/777/12 817/545/12 -f 835/562/4 833/780/4 839/560/4 -f 834/781/4 840/782/4 839/560/4 -f 839/560/4 838/783/4 837/784/4 -f 837/784/4 836/561/4 839/560/4 -f 833/780/4 834/781/4 839/560/4 -f 842/563/13 844/785/13 843/564/13 -f 843/564/14 844/785/14 846/566/14 -f 845/567/15 846/566/15 848/568/15 -f 847/569/16 848/568/16 850/570/16 -f 849/572/9 850/786/9 852/573/9 -f 851/574/10 852/573/10 854/575/10 -f 854/575/11 856/787/11 855/577/11 -f 855/577/12 856/787/12 842/563/12 -f 859/580/4 857/788/4 863/578/4 -f 858/789/4 864/790/4 863/578/4 -f 863/578/4 862/791/4 861/792/4 -f 861/792/4 860/579/4 863/578/4 -f 857/788/4 858/789/4 863/578/4 -f 865/581/13 866/793/13 868/582/13 -f 867/583/14 868/582/14 870/584/14 -f 870/584/15 872/794/15 871/586/15 -f 871/586/16 872/794/16 874/587/16 -f 874/589/9 876/795/9 875/590/9 -f 875/590/10 876/795/10 878/592/10 -f 878/592/11 880/595/11 879/594/11 -f 880/595/12 866/793/12 865/581/12 -f 883/598/4 881/796/4 887/596/4 -f 882/797/4 888/798/4 887/596/4 -f 887/596/4 886/799/4 885/800/4 -f 885/800/4 884/597/4 887/596/4 -f 881/796/4 882/797/4 887/596/4 -f 889/599/13 890/801/13 892/600/13 -f 892/600/14 894/603/14 893/602/14 -f 894/603/15 896/802/15 895/604/15 -f 895/604/16 896/802/16 898/605/16 -f 898/607/9 900/610/9 899/608/9 -f 900/610/10 902/612/10 901/611/10 -f 902/612/11 904/614/11 903/613/11 -f 904/614/12 890/801/12 889/599/12 -f 907/803/4 905/804/4 906/617/4 -f 906/617/4 912/805/4 911/615/4 -f 911/615/4 910/806/4 909/616/4 -f 909/616/4 908/807/4 907/803/4 -f 907/803/4 906/617/4 909/616/4 -f 1014/620/7 1012/808/7 1010/809/7 -f 1010/809/7 1024/810/7 1014/620/7 -f 1022/811/7 1020/618/7 1014/620/7 -f 1018/619/7 1016/812/7 1014/620/7 -f 1014/620/7 1024/810/7 1022/811/7 -f 286/27/4 284/813/4 294/25/4 -f 282/814/4 296/815/4 294/25/4 -f 294/25/4 292/816/4 290/26/4 -f 290/26/4 288/817/4 286/27/4 -f 284/813/4 282/814/4 294/25/4 -f 295/30/2 281/818/2 283/819/2 -f 283/819/2 285/820/2 295/30/2 -f 287/28/2 289/821/2 291/822/2 -f 291/822/2 293/29/2 287/28/2 -f 295/30/2 285/820/2 287/28/2 -f 311/36/2 297/823/2 299/824/2 -f 299/824/2 301/825/2 311/36/2 -f 303/34/2 305/826/2 307/827/2 -f 307/827/2 309/35/2 303/34/2 -f 311/36/2 301/825/2 303/34/2 -f 462/177/2 464/187/2 463/178/2 -f 468/180/4 466/188/4 465/181/4 -f 467/186/5 465/828/5 461/179/5 -f 464/187/6 462/177/6 466/188/6 -f 461/189/2 472/196/2 473/190/2 -f 462/183/23 469/185/23 471/192/23 -f 461/189/7 465/829/7 470/195/7 -f 471/197/4 474/200/4 470/198/4 -f 469/191/1 473/190/1 474/200/1 -f 477/201/4 478/212/4 476/202/4 -f 479/204/2 480/211/2 482/205/2 -f 475/203/5 479/830/5 481/210/5 -f 480/211/6 476/202/6 478/212/6 -f 487/213/4 486/219/4 475/214/4 -f 485/216/23 483/208/23 476/207/23 -f 486/219/7 484/831/7 479/220/7 -f 484/221/2 488/224/2 485/222/2 -f 488/224/1 487/213/1 483/215/1 -f 491/225/2 492/236/2 490/226/2 -f 493/228/4 494/235/4 496/229/4 -f 489/227/6 493/832/6 495/234/6 -f 494/235/5 490/226/5 492/236/5 -f 501/237/2 500/242/2 489/233/2 -f 494/239/24 499/241/24 497/232/24 -f 500/242/7 498/833/7 493/243/7 -f 498/244/4 502/247/4 499/245/4 -f 502/247/1 501/237/1 497/238/1 -f 504/248/4 506/258/4 505/249/4 -f 510/251/2 508/259/2 507/252/2 -f 509/257/6 507/834/6 503/250/6 -f 506/258/5 504/248/5 508/259/5 -f 503/260/4 514/267/4 515/261/4 -f 504/254/24 511/256/24 513/263/24 -f 507/266/7 512/835/7 514/267/7 -f 513/268/2 516/271/2 512/269/2 -f 511/262/1 515/261/1 516/271/1 -s 1 -f 13/836/41 12/837/42 1/838/43 -f 14/839/44 1/838/43 2/840/45 -f 15/841/46 2/840/45 3/842/47 -f 16/843/48 3/842/47 4/844/49 -f 17/845/50 4/844/49 5/846/51 -f 18/847/52 5/846/51 6/848/53 -f 7/849/54 18/850/52 6/851/53 -f 8/852/55 19/853/56 7/849/54 -f 9/854/57 20/855/58 8/852/55 -f 10/856/59 21/857/60 9/854/57 -f 11/858/61 22/859/62 10/856/59 -f 12/837/42 23/860/63 11/858/61 -f 25/861/64 24/862/65 13/836/41 -f 26/863/66 13/836/41 14/839/44 -f 27/864/67 14/839/44 15/841/46 -f 28/865/68 15/841/46 16/843/48 -f 29/866/69 16/843/48 17/845/50 -f 30/867/70 17/845/50 18/847/52 -f 19/853/56 30/868/70 18/850/52 -f 20/855/58 31/869/71 19/853/56 -f 21/857/60 32/870/72 20/855/58 -f 22/859/62 33/871/73 21/857/60 -f 23/860/63 34/872/74 22/859/62 -f 24/862/65 35/873/75 23/860/63 -f 37/874/76 36/875/77 25/861/64 -f 38/876/78 25/861/64 26/863/66 -f 39/877/79 26/863/66 27/864/67 -f 40/878/80 27/864/67 28/865/68 -f 41/879/81 28/865/68 29/866/69 -f 42/880/82 29/866/69 30/867/70 -f 31/869/71 42/881/82 30/868/70 -f 32/870/72 43/882/83 31/869/71 -f 33/871/73 44/883/84 32/870/72 -f 34/872/74 45/884/85 33/871/73 -f 35/873/75 46/885/86 34/872/74 -f 36/875/77 47/886/87 35/873/75 -f 37/874/76 60/887/88 48/888/89 -f 38/876/78 49/889/90 37/874/76 -f 39/877/79 50/890/91 38/876/78 -f 40/878/80 51/891/92 39/877/79 -f 41/879/81 52/892/93 40/878/80 -f 42/880/82 53/893/94 41/879/81 -f 55/894/95 42/881/82 43/882/83 -f 56/895/96 43/882/83 44/883/84 -f 57/896/97 44/883/84 45/884/85 -f 58/897/98 45/884/85 46/885/86 -f 59/898/99 46/885/86 47/886/87 -f 60/887/88 47/886/87 48/888/89 -f 49/889/90 72/899/100 60/887/88 -f 50/890/91 61/900/101 49/889/90 -f 51/891/92 62/901/102 50/890/91 -f 52/892/93 63/902/103 51/891/92 -f 53/893/94 64/903/104 52/892/93 -f 54/904/105 65/905/106 53/893/94 -f 67/906/107 54/907/105 55/894/95 -f 68/908/108 55/894/95 56/895/96 -f 69/909/109 56/895/96 57/896/97 -f 70/910/110 57/896/97 58/897/98 -f 71/911/111 58/897/98 59/898/99 -f 72/899/100 59/898/99 60/887/88 -f 61/900/101 84/912/112 72/899/100 -f 62/901/102 73/913/113 61/900/101 -f 63/902/103 74/914/114 62/901/102 -f 64/903/104 75/915/115 63/902/103 -f 65/905/106 76/916/116 64/903/104 -f 66/917/117 77/918/118 65/905/106 -f 79/919/119 66/920/117 67/906/107 -f 80/921/120 67/906/107 68/908/108 -f 81/922/121 68/908/108 69/909/109 -f 82/923/122 69/909/109 70/910/110 -f 83/924/123 70/910/110 71/911/111 -f 84/912/112 71/911/111 72/899/100 -f 73/913/113 96/925/124 84/912/112 -f 74/914/114 85/926/125 73/913/113 -f 75/915/115 86/927/126 74/914/114 -f 76/916/116 87/928/127 75/915/115 -f 77/918/118 88/929/128 76/916/116 -f 78/930/129 89/931/130 77/918/118 -f 91/932/131 78/933/129 79/919/119 -f 92/934/132 79/919/119 80/921/120 -f 93/935/133 80/921/120 81/922/121 -f 94/936/134 81/922/121 82/923/122 -f 95/937/135 82/923/122 83/924/123 -f 96/925/124 83/924/123 84/912/112 -f 85/926/125 108/938/136 96/925/124 -f 86/927/126 97/939/137 85/926/125 -f 87/928/127 98/940/138 86/927/126 -f 88/929/128 99/941/21 87/928/127 -f 89/931/130 100/942/139 88/929/128 -f 90/943/140 101/944/141 89/931/130 -f 103/945/142 90/946/140 91/932/131 -f 104/947/143 91/932/131 92/934/132 -f 105/948/19 92/934/132 93/935/133 -f 106/949/144 93/935/133 94/936/134 -f 107/950/145 94/936/134 95/937/135 -f 108/938/136 95/937/135 96/925/124 -f 97/939/137 120/951/146 108/938/136 -f 98/940/138 109/952/147 97/939/137 -f 99/941/21 110/953/148 98/940/138 -f 100/942/139 111/954/149 99/941/21 -f 101/944/141 112/955/150 100/942/139 -f 102/956/151 113/957/152 101/944/141 -f 115/958/153 102/959/151 103/945/142 -f 116/960/154 103/945/142 104/947/143 -f 117/961/155 104/947/143 105/948/19 -f 118/962/156 105/948/19 106/949/144 -f 119/963/157 106/949/144 107/950/145 -f 120/951/146 107/950/145 108/938/136 -f 109/952/147 132/964/158 120/951/146 -f 110/953/148 121/965/159 109/952/147 -f 111/954/149 122/966/160 110/953/148 -f 112/955/150 123/967/161 111/954/149 -f 113/957/152 124/968/162 112/955/150 -f 114/969/163 125/970/164 113/957/152 -f 127/971/165 114/972/163 115/958/153 -f 128/973/166 115/958/153 116/960/154 -f 129/974/167 116/960/154 117/961/155 -f 130/975/168 117/961/155 118/962/156 -f 131/976/169 118/962/156 119/963/157 -f 132/964/158 119/963/157 120/951/146 -f 121/965/159 144/977/170 132/964/158 -f 122/966/160 133/978/171 121/965/159 -f 123/967/161 134/979/172 122/966/160 -f 124/968/162 135/980/173 123/967/161 -f 125/970/164 136/981/174 124/968/162 -f 126/982/175 137/983/176 125/970/164 -f 139/984/177 126/985/175 127/971/165 -f 140/986/178 127/971/165 128/973/166 -f 141/987/179 128/973/166 129/974/167 -f 142/988/180 129/974/167 130/975/168 -f 143/989/181 130/975/168 131/976/169 -f 144/977/170 131/976/169 132/964/158 -f 133/978/171 156/990/182 144/977/170 -f 134/979/172 145/991/183 133/978/171 -f 135/980/173 146/992/184 134/979/172 -f 136/981/174 147/993/185 135/980/173 -f 137/983/176 148/994/186 136/981/174 -f 138/995/187 149/996/188 137/983/176 -f 151/997/189 138/998/187 139/984/177 -f 152/999/190 139/984/177 140/986/178 -f 153/1000/191 140/986/178 141/987/179 -f 154/1001/192 141/987/179 142/988/180 -f 155/1002/193 142/988/180 143/989/181 -f 156/990/182 143/989/181 144/977/170 -f 157/1003/6 160/1004/194 159/1005/195 -f 160/1004/194 161/1006/4 159/1005/195 -f 162/1007/196 163/1008/197 161/1006/4 -f 164/1009/198 165/1010/5 163/1008/197 -f 166/1011/199 167/1012/200 165/1013/5 -f 168/1014/201 169/1015/2 167/1012/200 -f 170/1016/202 171/1017/203 169/1015/2 -f 172/1018/204 157/1003/6 171/1017/203 -f 181/1019/33 174/1020/205 173/1021/4 -f 174/1020/205 183/1022/206 175/1023/207 -f 183/1022/206 176/1024/208 175/1023/207 -f 184/1025/209 177/1026/2 176/1024/208 -f 177/1027/2 186/1028/210 178/1029/211 -f 178/1029/211 187/1030/212 179/1031/213 -f 187/1030/212 180/1032/214 179/1031/213 -f 180/1032/214 181/1019/33 173/1021/4 -f 189/1033/19 182/1034/215 181/1019/33 -f 182/1034/215 191/1035/216 183/1036/206 -f 183/1036/206 192/1037/217 184/1038/209 -f 192/1037/217 185/1039/34 184/1038/209 -f 193/1040/21 186/1041/210 185/1042/34 -f 194/1043/218 187/1044/212 186/1041/210 -f 195/1045/219 188/1046/220 187/1044/212 -f 188/1046/220 189/1033/19 181/1019/33 -f 189/1033/19 198/1047/221 190/1048/222 -f 198/1047/221 191/1049/216 190/1048/222 -f 199/1050/223 192/1051/217 191/1049/216 -f 200/1052/224 193/1053/21 192/1051/217 -f 193/1054/21 202/1055/225 194/1056/218 -f 194/1056/218 203/1057/226 195/1058/219 -f 195/1058/219 204/1059/227 196/1060/228 -f 196/1060/228 197/1061/6 189/1033/19 -f 205/1062/22 198/1047/221 197/1061/6 -f 198/1047/221 207/1063/229 199/1064/223 -f 199/1064/223 208/1065/230 200/1066/224 -f 208/1065/230 201/1067/5 200/1066/224 -f 201/1068/5 210/1069/231 202/1070/225 -f 210/1069/231 203/1071/226 202/1070/225 -f 211/1072/232 204/1059/227 203/1071/226 -f 204/1059/227 205/1062/22 197/1061/6 -f 205/1062/22 214/1073/233 206/1074/234 -f 214/1073/233 207/1075/229 206/1074/234 -f 215/1076/235 208/1077/230 207/1075/229 -f 208/1077/230 217/1078/17 209/1079/20 -f 217/1080/17 210/1081/231 209/1082/20 -f 210/1081/231 219/1083/236 211/1084/232 -f 211/1084/232 220/1085/237 212/1086/238 -f 220/1085/237 205/1062/22 212/1086/238 -f 221/1087/2 214/1073/233 213/1088/18 -f 222/1089/239 215/1090/235 214/1073/233 -f 215/1090/235 224/1091/240 216/1092/241 -f 224/1091/240 217/1093/17 216/1092/241 -f 225/1094/4 218/1095/242 217/1096/17 -f 226/1097/243 219/1098/236 218/1095/242 -f 219/1098/236 228/1099/244 220/1085/237 -f 228/1099/244 213/1088/18 220/1085/237 -f 221/1087/2 230/1100/245 222/1089/239 -f 230/1100/245 223/1101/246 222/1089/239 -f 223/1101/246 232/1102/247 224/1103/240 -f 232/1102/247 225/1104/4 224/1103/240 -f 233/1105/33 226/1106/243 225/1107/4 -f 234/1108/248 227/1109/249 226/1106/243 -f 227/1109/249 236/1110/250 228/1099/244 -f 236/1110/250 221/1087/2 228/1099/244 -f 229/1111/34 238/1112/251 230/1100/245 -f 238/1112/251 231/1113/252 230/1100/245 -f 231/1113/252 240/1114/253 232/1115/247 -f 240/1114/253 233/1116/33 232/1115/247 -f 233/1117/33 242/1118/254 234/1119/248 -f 242/1118/254 235/1120/255 234/1119/248 -f 235/1120/255 244/1121/256 236/1110/250 -f 244/1121/256 229/1111/34 236/1110/250 -f 237/1122/21 246/1123/257 238/1112/251 -f 246/1123/257 239/1124/258 238/1112/251 -f 247/1125/259 240/1126/253 239/1124/258 -f 248/1127/260 241/1128/19 240/1126/253 -f 241/1129/19 250/1130/261 242/1131/254 -f 250/1130/261 243/1132/262 242/1131/254 -f 243/1132/262 252/1133/263 244/1121/256 -f 252/1133/263 237/1122/21 244/1121/256 -f 253/1134/20 246/1135/257 245/1136/5 -f 246/1135/257 255/1137/264 247/1138/259 -f 247/1138/259 256/1139/265 248/1140/260 -f 256/1139/265 249/1141/6 248/1140/260 -f 257/1142/22 250/1143/261 249/1144/6 -f 258/1145/266 251/1146/267 250/1143/261 -f 259/1147/268 252/1148/263 251/1146/267 -f 252/1148/263 253/1134/20 245/1136/5 -f 253/1134/20 262/1149/269 254/1150/270 -f 262/1149/269 255/1151/264 254/1150/270 -f 263/1152/271 256/1153/265 255/1151/264 -f 264/1154/272 257/1155/22 256/1153/265 -f 265/1156/18 258/1157/266 257/1158/22 -f 258/1157/266 267/1159/273 259/1160/268 -f 259/1160/268 268/1161/274 260/1162/275 -f 268/1161/274 253/1134/20 260/1162/275 -f 261/1163/17 174/1020/205 262/1149/269 -f 174/1020/205 263/1164/271 262/1149/269 -f 263/1164/271 176/1165/208 264/1166/272 -f 176/1165/208 265/1167/18 264/1166/272 -f 177/1168/2 266/1169/276 265/1170/18 -f 178/1171/211 267/1172/273 266/1169/276 -f 267/1172/273 180/1032/214 268/1161/274 -f 180/1032/214 261/1163/17 268/1161/274 -f 282/1173/277 283/1174/278 281/1175/279 -f 284/1176/280 285/1177/281 283/1174/278 -f 286/1178/282 287/1179/283 285/1180/281 -f 288/1181/284 289/1182/285 287/1179/283 -f 289/1182/285 292/1183/286 291/1184/287 -f 291/1184/287 294/1185/288 293/1186/289 -f 293/1186/289 296/1187/290 295/1188/291 -f 295/1188/291 282/1173/277 281/1175/279 -f 297/1189/279 300/1190/280 299/1191/278 -f 300/1190/280 301/1192/281 299/1191/278 -f 301/1193/281 304/1194/284 303/1195/283 -f 304/1194/284 305/1196/285 303/1195/283 -f 306/1197/292 307/1198/287 305/1196/285 -f 307/1198/287 310/1199/288 309/1200/289 -f 309/1200/289 312/1201/290 311/1202/291 -f 311/1202/291 298/1203/277 297/1189/279 -f 352/93/293 354/1204/294 338/79/295 -f 340/82/296 354/1204/294 353/1205/297 -f 342/646/298 356/1206/299 344/84/300 -f 350/90/301 358/1207/302 359/1208/303 -f 346/647/304 356/1206/299 357/1209/305 -f 350/90/301 360/1210/306 352/93/293 -f 340/82/296 355/1211/307 342/646/298 -f 346/648/304 358/1207/302 348/88/308 -f 362/97/295 384/1212/306 378/1213/294 -f 364/100/296 378/1213/294 377/1214/297 -f 366/102/298 380/1215/299 368/104/300 -f 374/109/301 382/1216/302 383/1217/303 -f 370/654/304 380/1215/299 381/1218/305 -f 374/109/301 384/1212/306 376/111/293 -f 364/100/296 379/1219/307 366/102/298 -f 372/107/308 381/1220/305 382/1216/302 -f 386/116/295 408/1221/306 402/1222/294 -f 386/116/295 401/1223/297 388/119/296 -f 390/121/298 404/1224/299 392/123/300 -f 398/662/301 406/1225/302 407/1226/303 -f 394/661/304 404/1224/299 405/1227/305 -f 400/130/293 407/1226/303 408/1221/306 -f 388/119/296 403/1228/307 390/121/298 -f 394/125/304 406/1225/302 396/128/308 -f 410/668/295 432/1229/306 426/1230/294 -f 412/136/296 426/1230/294 425/1231/297 -f 414/138/298 428/1232/299 416/141/300 -f 420/144/308 431/1233/303 422/147/301 -f 418/669/304 428/1232/299 429/1234/305 -f 424/149/293 431/1233/303 432/1229/306 -f 412/136/296 427/1235/307 414/138/298 -f 418/670/304 430/1236/302 420/144/308 -f 433/1237/309 436/1238/310 435/1239/311 -f 436/1238/310 437/1240/312 435/1239/311 -f 438/1241/313 439/1242/314 437/1243/312 -f 439/1242/314 442/1244/315 441/1245/316 -f 442/1244/315 443/1246/317 441/1245/316 -f 444/1247/318 445/1248/319 443/1246/317 -f 446/1249/320 447/1250/321 445/1248/319 -f 447/1250/321 434/1251/322 433/1237/309 -f 538/1252/323 539/1253/324 537/1254/325 -f 540/1255/326 541/1256/327 539/1253/324 -f 541/1256/327 544/1257/328 543/1258/329 -f 544/1257/328 545/1259/330 543/1258/329 -f 546/1260/331 547/1261/332 545/1259/330 -f 548/1262/333 549/1263/334 547/1261/332 -f 546/1260/331 556/1264/335 557/1265/336 -f 550/1266/337 551/1267/338 549/1268/334 -f 552/1269/339 537/1254/325 551/1267/338 -f 550/1266/337 560/1270/340 552/1269/339 -f 542/1271/341 553/1272/342 555/1273/343 -f 546/1260/331 558/1274/344 548/1262/333 -f 538/1252/323 560/1275/340 554/1276/345 -f 538/1252/323 553/1277/342 540/1255/326 -f 544/1257/328 555/1278/343 556/1279/335 -f 548/1262/333 559/1280/346 550/1281/337 -f 678/1282/6 595/1283/347 593/1284/348 -f 677/1285/349 597/1286/350 595/1283/347 -f 679/1287/351 599/1288/352 597/1286/350 -f 680/1289/4 601/1290/353 599/1288/352 -f 681/1291/354 603/1292/355 601/1290/353 -f 682/1293/356 605/1294/357 603/1292/355 -f 683/1295/5 607/1296/358 605/1297/357 -f 684/1298/359 609/1299/360 607/1296/358 -f 685/1300/361 611/1301/362 609/1299/360 -f 686/1302/2 613/1303/363 611/1301/362 -f 598/1304/364 728/1305/365 600/1306/2 -f 687/1307/366 615/1308/367 613/1303/363 -f 688/1309/368 593/1284/348 615/1308/367 -f 609/1299/360 624/1310/369 607/1296/358 -f 621/1311/370 632/1312/371 620/1313/372 -f 607/1296/358 623/1314/373 605/1297/357 -f 605/1294/357 622/1315/374 603/1292/355 -f 601/1290/353 622/1316/374 621/1317/370 -f 601/1290/353 620/1313/372 599/1288/352 -f 593/1284/348 628/1318/375 615/1308/367 -f 593/1284/348 618/1319/376 617/1320/377 -f 599/1288/352 619/1321/378 597/1286/350 -f 615/1308/367 627/1322/379 613/1303/363 -f 597/1286/350 618/1323/376 595/1283/347 -f 611/1301/362 627/1324/379 626/1325/380 -f 611/1301/362 625/1326/381 609/1299/360 -f 635/1327/382 660/389/383 659/722/384 -f 627/1322/379 640/1328/385 639/1329/386 -f 617/1320/377 630/1330/387 629/1331/388 -f 624/1310/369 637/1332/389 636/1333/390 -f 622/1316/374 633/1334/391 621/1317/370 -f 617/1335/377 640/1336/385 628/1318/375 -f 619/1337/378 630/1338/387 618/1323/376 -f 626/1339/380 637/1340/389 625/1326/381 -f 623/1341/373 634/1342/392 622/1315/374 -f 620/1343/372 631/1344/393 619/1321/378 -f 627/1324/379 638/1345/394 626/1325/380 -f 623/1314/373 636/1346/390 635/1327/382 -f 650/1347/395 675/1348/18 674/1349/2 -f 633/1350/391 656/380/396 632/1312/371 -f 640/1328/385 663/401/397 639/1329/386 -f 629/1331/388 654/372/398 653/371/399 -f 637/1332/389 660/723/383 636/1333/390 -f 634/1351/392 657/720/400 633/1334/391 -f 629/1352/388 664/727/401 640/1336/385 -f 631/1353/393 654/717/398 630/1338/387 -f 638/1354/394 661/724/402 637/1340/389 -f 635/1355/382 658/721/403 634/1342/392 -f 632/1356/371 655/377/404 631/1344/393 -f 638/1345/394 663/399/397 662/398/405 -f 648/1357/406 671/1358/5 647/1359/407 -f 644/1360/408 669/1361/17 668/1362/4 -f 652/1363/409 675/1348/18 651/1364/410 -f 642/1365/411 665/1366/6 641/1367/412 -f 649/1368/413 672/1369/21 648/1357/406 -f 645/1370/414 670/1371/20 669/1361/17 -f 641/1367/412 676/1372/22 652/1363/409 -f 642/1365/411 667/1373/33 666/1374/19 -f 650/1347/395 673/1375/34 649/1368/413 -f 646/1376/415 671/1377/5 670/1371/20 -f 643/1378/416 668/1362/4 667/1373/33 -f 692/1379/417 741/1380/418 693/1381/419 -f 614/1382/420 734/1383/421 735/1384/418 -f 608/1385/422 731/1386/423 732/1387/424 -f 600/1306/2 729/1388/425 602/1389/426 -f 616/1390/427 735/1384/418 736/1391/428 -f 594/1392/5 725/1393/429 596/1394/430 -f 610/1395/431 732/1387/424 733/1396/432 -f 602/1389/426 730/1397/433 604/1398/434 -f 616/1390/427 726/1399/435 594/1400/5 -f 596/1394/430 727/1401/436 598/1304/364 -f 612/1402/4 733/1396/432 734/1383/421 -f 604/1398/434 731/1386/423 606/1403/6 -f 677/1404/349 702/1405/423 701/1406/437 -f 679/1407/351 704/1408/421 680/1409/4 -f 680/1409/4 705/1410/438 681/1411/354 -f 682/1412/356 707/1413/435 683/1414/5 -f 683/1415/5 708/1416/439 684/1417/359 -f 685/1418/361 710/1419/365 686/1420/2 -f 686/1420/2 711/1421/440 687/1422/366 -f 688/1423/368 702/1405/423 678/1424/6 -f 594/1392/5 713/728/441 714/406/442 -f 600/1306/2 715/411/443 598/1304/364 -f 602/1389/426 716/409/444 600/1306/2 -f 606/1403/6 718/414/445 604/1398/434 -f 606/1403/6 720/417/446 719/418/447 -f 610/1395/431 722/422/417 721/419/448 -f 614/1382/420 722/422/417 612/1402/4 -f 594/1400/5 724/426/449 616/1390/427 -f 614/1382/420 711/1425/440 723/731/450 -f 712/1426/451 616/1390/427 724/426/449 -f 596/1394/430 701/1427/437 713/728/441 -f 703/1428/452 598/1304/364 715/411/443 -f 602/1389/426 705/1429/438 717/729/453 -f 706/1430/454 604/1398/434 718/414/445 -f 709/1431/455 610/1395/431 721/419/448 -f 608/1385/422 708/1432/439 720/417/446 -f 699/1433/456 748/1434/433 700/1435/457 -f 690/1436/447 737/1437/424 689/1438/458 -f 696/1439/459 745/1440/436 697/1441/460 -f 693/1381/419 742/1442/428 694/1443/461 -f 700/1435/457 738/1444/423 690/1436/447 -f 691/1445/462 737/1437/424 739/1446/432 -f 697/1441/460 746/1447/463 698/1448/444 -f 694/1443/461 743/1449/435 695/1450/442 -f 691/1445/462 740/1451/421 692/1379/417 -f 698/1448/444 747/1452/425 699/1433/456 -f 695/1453/442 744/1454/429 696/1439/459 -f 794/1455/331 795/1456/332 793/1457/330 -f 795/1456/332 798/1458/337 797/1459/334 -f 798/1458/337 799/1460/338 797/1459/334 -f 799/1460/338 802/1461/323 801/1462/325 -f 802/1461/323 803/1463/324 801/1462/325 -f 803/1463/324 806/1464/341 805/1465/327 -f 800/1466/339 813/1467/345 802/1461/323 -f 806/1468/341 807/1469/329 805/1470/327 -f 807/1469/329 794/1455/331 793/1457/330 -f 806/1468/341 816/1471/335 808/1472/328 -f 796/1473/333 811/1474/346 798/1458/337 -f 802/1461/323 814/1475/342 804/1476/326 -f 794/1455/331 816/1477/335 810/1478/336 -f 794/1455/331 809/1479/344 796/1473/333 -f 798/1458/337 812/1480/340 800/1466/339 -f 806/1464/341 814/1481/342 815/1482/343 -f 818/777/304 840/1483/299 834/1484/305 -f 818/777/304 833/1485/302 820/546/308 -f 822/548/301 836/1486/306 824/550/293 -f 828/556/296 839/1487/307 830/779/298 -f 826/778/295 836/1486/306 837/1488/294 -f 832/558/300 839/1487/307 840/1483/299 -f 820/546/308 835/1489/303 822/548/301 -f 828/556/296 837/1490/294 838/1491/297 -f 856/787/300 858/1492/305 842/563/304 -f 844/785/308 858/1492/305 857/1493/302 -f 848/568/293 859/1494/303 860/1495/306 -f 852/573/296 863/1496/307 854/575/298 -f 848/568/293 861/1497/294 850/570/295 -f 854/575/298 864/1498/299 856/787/300 -f 844/785/308 859/1494/303 846/566/301 -f 850/786/295 862/1499/297 852/573/296 -f 880/595/300 882/1500/305 866/793/304 -f 866/793/304 881/1501/302 868/582/308 -f 872/794/293 883/1502/303 884/1503/306 -f 876/795/296 887/1504/307 878/592/298 -f 872/794/293 885/1505/294 874/587/295 -f 878/592/298 888/1506/299 880/595/300 -f 870/584/301 881/1501/302 883/1502/303 -f 874/589/295 886/1507/297 876/795/296 -f 904/614/300 906/1508/305 890/801/304 -f 890/801/304 905/1509/302 892/600/308 -f 896/802/293 907/1510/303 908/1511/306 -f 900/610/296 911/1512/307 902/612/298 -f 898/605/295 908/1511/306 909/1513/294 -f 904/614/300 911/1512/307 912/1514/299 -f 892/600/308 907/1510/303 894/603/301 -f 898/607/295 910/1515/297 900/610/296 -f 921/1516/33 914/1517/205 913/1518/4 -f 914/1517/205 923/1519/206 915/1520/207 -f 923/1519/206 916/1521/208 915/1520/207 -f 924/1522/209 917/1523/2 916/1521/208 -f 917/1524/2 926/1525/210 918/1526/211 -f 918/1526/211 927/1527/212 919/1528/213 -f 927/1527/212 920/1529/214 919/1528/213 -f 920/1529/214 921/1516/33 913/1518/4 -f 929/1530/19 922/1531/215 921/1516/33 -f 922/1531/215 931/1532/216 923/1533/206 -f 923/1533/206 932/1534/217 924/1535/209 -f 924/1535/209 933/1536/21 925/1537/34 -f 933/1538/21 926/1539/210 925/1540/34 -f 934/1541/218 927/1542/212 926/1539/210 -f 935/1543/219 928/1544/220 927/1542/212 -f 928/1544/220 929/1530/19 921/1516/33 -f 937/1545/6 930/1546/222 929/1530/19 -f 938/1547/221 931/1548/216 930/1546/222 -f 939/1549/223 932/1550/217 931/1548/216 -f 940/1551/224 933/1552/21 932/1550/217 -f 933/1553/21 942/1554/225 934/1555/218 -f 934/1555/218 943/1556/226 935/1557/219 -f 935/1557/219 944/1558/227 936/1559/228 -f 944/1558/227 929/1530/19 936/1559/228 -f 937/1545/6 946/1560/234 938/1547/221 -f 938/1547/221 947/1561/229 939/1562/223 -f 939/1562/223 948/1563/230 940/1564/224 -f 948/1563/230 941/1565/5 940/1564/224 -f 941/1566/5 950/1567/231 942/1568/225 -f 950/1567/231 943/1569/226 942/1568/225 -f 951/1570/232 944/1558/227 943/1569/226 -f 952/1571/238 937/1545/6 944/1558/227 -f 945/1572/22 954/1573/233 946/1560/234 -f 954/1573/233 947/1574/229 946/1560/234 -f 955/1575/235 948/1576/230 947/1574/229 -f 956/1577/241 949/1578/20 948/1576/230 -f 957/1579/17 950/1580/231 949/1581/20 -f 950/1580/231 959/1582/236 951/1583/232 -f 951/1583/232 960/1584/237 952/1571/238 -f 960/1584/237 945/1572/22 952/1571/238 -f 961/1585/2 954/1573/233 953/1586/18 -f 962/1587/239 955/1588/235 954/1573/233 -f 955/1588/235 964/1589/240 956/1590/241 -f 956/1590/241 965/1591/4 957/1592/17 -f 965/1593/4 958/1594/242 957/1595/17 -f 966/1596/243 959/1597/236 958/1594/242 -f 959/1597/236 968/1598/244 960/1584/237 -f 968/1598/244 953/1586/18 960/1584/237 -f 961/1585/2 970/1599/245 962/1587/239 -f 970/1599/245 963/1600/246 962/1587/239 -f 963/1600/246 972/1601/247 964/1602/240 -f 972/1601/247 965/1603/4 964/1602/240 -f 965/1604/4 974/1605/248 966/1606/243 -f 974/1605/248 967/1607/249 966/1606/243 -f 967/1607/249 976/1608/250 968/1598/244 -f 976/1608/250 961/1585/2 968/1598/244 -f 969/1609/34 978/1610/251 970/1599/245 -f 978/1610/251 971/1611/252 970/1599/245 -f 971/1611/252 980/1612/253 972/1613/247 -f 972/1613/247 981/1614/19 973/1615/33 -f 973/1616/33 982/1617/254 974/1618/248 -f 982/1617/254 975/1619/255 974/1618/248 -f 975/1619/255 984/1620/256 976/1608/250 -f 984/1620/256 969/1609/34 976/1608/250 -f 977/1621/21 986/1622/257 978/1610/251 -f 986/1622/257 979/1623/258 978/1610/251 -f 987/1624/259 980/1625/253 979/1623/258 -f 988/1626/260 981/1627/19 980/1625/253 -f 989/1628/6 982/1629/254 981/1630/19 -f 982/1629/254 991/1631/267 983/1632/262 -f 983/1632/262 992/1633/263 984/1620/256 -f 992/1633/263 977/1621/21 984/1620/256 -f 993/1634/20 986/1635/257 985/1636/5 -f 986/1635/257 995/1637/264 987/1638/259 -f 987/1638/259 996/1639/265 988/1640/260 -f 996/1639/265 989/1641/6 988/1640/260 -f 989/1642/6 998/1643/266 990/1644/261 -f 998/1643/266 991/1645/267 990/1644/261 -f 999/1646/268 992/1647/263 991/1645/267 -f 992/1647/263 993/1634/20 985/1636/5 -f 993/1634/20 1002/1648/269 994/1649/270 -f 1002/1648/269 995/1650/264 994/1649/270 -f 1003/1651/271 996/1652/265 995/1650/264 -f 996/1652/265 1005/1653/18 997/1654/22 -f 1005/1655/18 998/1656/266 997/1657/22 -f 998/1656/266 1007/1658/273 999/1659/268 -f 999/1659/268 1008/1660/274 1000/1661/275 -f 1008/1660/274 993/1634/20 1000/1661/275 -f 1001/1662/17 914/1517/205 1002/1648/269 -f 914/1517/205 1003/1663/271 1002/1648/269 -f 1003/1663/271 916/1664/208 1004/1665/272 -f 916/1664/208 1005/1666/18 1004/1665/272 -f 917/1667/2 1006/1668/276 1005/1669/18 -f 918/1670/211 1007/1671/273 1006/1668/276 -f 1007/1671/273 920/1529/214 1008/1660/274 -f 920/1529/214 1001/1662/17 1008/1660/274 -f 1009/1672/6 1012/1673/464 1011/1674/203 -f 1012/1673/464 1013/1675/2 1011/1674/203 -f 1013/1675/2 1016/1676/465 1015/1677/200 -f 1016/1676/465 1017/1678/5 1015/1677/200 -f 1018/1679/466 1019/1680/197 1017/1681/5 -f 1020/1682/467 1021/1683/4 1019/1680/197 -f 1022/1684/468 1023/1685/195 1021/1683/4 -f 1023/1685/195 1010/1686/469 1009/1672/6 -f 13/836/41 24/862/65 12/837/42 -f 14/839/44 13/836/41 1/838/43 -f 15/841/46 14/839/44 2/840/45 -f 16/843/48 15/841/46 3/842/47 -f 17/845/50 16/843/48 4/844/49 -f 18/847/52 17/845/50 5/846/51 -f 7/849/54 19/853/56 18/850/52 -f 8/852/55 20/855/58 19/853/56 -f 9/854/57 21/857/60 20/855/58 -f 10/856/59 22/859/62 21/857/60 -f 11/858/61 23/860/63 22/859/62 -f 12/837/42 24/862/65 23/860/63 -f 25/861/64 36/875/77 24/862/65 -f 26/863/66 25/861/64 13/836/41 -f 27/864/67 26/863/66 14/839/44 -f 28/865/68 27/864/67 15/841/46 -f 29/866/69 28/865/68 16/843/48 -f 30/867/70 29/866/69 17/845/50 -f 19/853/56 31/869/71 30/868/70 -f 20/855/58 32/870/72 31/869/71 -f 21/857/60 33/871/73 32/870/72 -f 22/859/62 34/872/74 33/871/73 -f 23/860/63 35/873/75 34/872/74 -f 24/862/65 36/875/77 35/873/75 -f 37/874/76 48/888/89 36/875/77 -f 38/876/78 37/874/76 25/861/64 -f 39/877/79 38/876/78 26/863/66 -f 40/878/80 39/877/79 27/864/67 -f 41/879/81 40/878/80 28/865/68 -f 42/880/82 41/879/81 29/866/69 -f 31/869/71 43/882/83 42/881/82 -f 32/870/72 44/883/84 43/882/83 -f 33/871/73 45/884/85 44/883/84 -f 34/872/74 46/885/86 45/884/85 -f 35/873/75 47/886/87 46/885/86 -f 36/875/77 48/888/89 47/886/87 -f 37/874/76 49/889/90 60/887/88 -f 38/876/78 50/890/91 49/889/90 -f 39/877/79 51/891/92 50/890/91 -f 40/878/80 52/892/93 51/891/92 -f 41/879/81 53/893/94 52/892/93 -f 42/880/82 54/904/105 53/893/94 -f 55/894/95 54/907/105 42/881/82 -f 56/895/96 55/894/95 43/882/83 -f 57/896/97 56/895/96 44/883/84 -f 58/897/98 57/896/97 45/884/85 -f 59/898/99 58/897/98 46/885/86 -f 60/887/88 59/898/99 47/886/87 -f 49/889/90 61/900/101 72/899/100 -f 50/890/91 62/901/102 61/900/101 -f 51/891/92 63/902/103 62/901/102 -f 52/892/93 64/903/104 63/902/103 -f 53/893/94 65/905/106 64/903/104 -f 54/904/105 66/917/117 65/905/106 -f 67/906/107 66/920/117 54/907/105 -f 68/908/108 67/906/107 55/894/95 -f 69/909/109 68/908/108 56/895/96 -f 70/910/110 69/909/109 57/896/97 -f 71/911/111 70/910/110 58/897/98 -f 72/899/100 71/911/111 59/898/99 -f 61/900/101 73/913/113 84/912/112 -f 62/901/102 74/914/114 73/913/113 -f 63/902/103 75/915/115 74/914/114 -f 64/903/104 76/916/116 75/915/115 -f 65/905/106 77/918/118 76/916/116 -f 66/917/117 78/930/129 77/918/118 -f 79/919/119 78/933/129 66/920/117 -f 80/921/120 79/919/119 67/906/107 -f 81/922/121 80/921/120 68/908/108 -f 82/923/122 81/922/121 69/909/109 -f 83/924/123 82/923/122 70/910/110 -f 84/912/112 83/924/123 71/911/111 -f 73/913/113 85/926/125 96/925/124 -f 74/914/114 86/927/126 85/926/125 -f 75/915/115 87/928/127 86/927/126 -f 76/916/116 88/929/128 87/928/127 -f 77/918/118 89/931/130 88/929/128 -f 78/930/129 90/943/140 89/931/130 -f 91/932/131 90/946/140 78/933/129 -f 92/934/132 91/932/131 79/919/119 -f 93/935/133 92/934/132 80/921/120 -f 94/936/134 93/935/133 81/922/121 -f 95/937/135 94/936/134 82/923/122 -f 96/925/124 95/937/135 83/924/123 -f 85/926/125 97/939/137 108/938/136 -f 86/927/126 98/940/138 97/939/137 -f 87/928/127 99/941/21 98/940/138 -f 88/929/128 100/942/139 99/941/21 -f 89/931/130 101/944/141 100/942/139 -f 90/943/140 102/956/151 101/944/141 -f 103/945/142 102/959/151 90/946/140 -f 104/947/143 103/945/142 91/932/131 -f 105/948/19 104/947/143 92/934/132 -f 106/949/144 105/948/19 93/935/133 -f 107/950/145 106/949/144 94/936/134 -f 108/938/136 107/950/145 95/937/135 -f 97/939/137 109/952/147 120/951/146 -f 98/940/138 110/953/148 109/952/147 -f 99/941/21 111/954/149 110/953/148 -f 100/942/139 112/955/150 111/954/149 -f 101/944/141 113/957/152 112/955/150 -f 102/956/151 114/969/163 113/957/152 -f 115/958/153 114/972/163 102/959/151 -f 116/960/154 115/958/153 103/945/142 -f 117/961/155 116/960/154 104/947/143 -f 118/962/156 117/961/155 105/948/19 -f 119/963/157 118/962/156 106/949/144 -f 120/951/146 119/963/157 107/950/145 -f 109/952/147 121/965/159 132/964/158 -f 110/953/148 122/966/160 121/965/159 -f 111/954/149 123/967/161 122/966/160 -f 112/955/150 124/968/162 123/967/161 -f 113/957/152 125/970/164 124/968/162 -f 114/969/163 126/982/175 125/970/164 -f 127/971/165 126/985/175 114/972/163 -f 128/973/166 127/971/165 115/958/153 -f 129/974/167 128/973/166 116/960/154 -f 130/975/168 129/974/167 117/961/155 -f 131/976/169 130/975/168 118/962/156 -f 132/964/158 131/976/169 119/963/157 -f 121/965/159 133/978/171 144/977/170 -f 122/966/160 134/979/172 133/978/171 -f 123/967/161 135/980/173 134/979/172 -f 124/968/162 136/981/174 135/980/173 -f 125/970/164 137/983/176 136/981/174 -f 126/982/175 138/995/187 137/983/176 -f 139/984/177 138/998/187 126/985/175 -f 140/986/178 139/984/177 127/971/165 -f 141/987/179 140/986/178 128/973/166 -f 142/988/180 141/987/179 129/974/167 -f 143/989/181 142/988/180 130/975/168 -f 144/977/170 143/989/181 131/976/169 -f 133/978/171 145/991/183 156/990/182 -f 134/979/172 146/992/184 145/991/183 -f 135/980/173 147/993/185 146/992/184 -f 136/981/174 148/994/186 147/993/185 -f 137/983/176 149/996/188 148/994/186 -f 138/995/187 150/1687/470 149/996/188 -f 151/997/189 150/1688/470 138/998/187 -f 152/999/190 151/997/189 139/984/177 -f 153/1000/191 152/999/190 140/986/178 -f 154/1001/192 153/1000/191 141/987/179 -f 155/1002/193 154/1001/192 142/988/180 -f 156/990/182 155/1002/193 143/989/181 -f 157/1003/6 158/1689/471 160/1004/194 -f 160/1004/194 162/1007/196 161/1006/4 -f 162/1007/196 164/1009/198 163/1008/197 -f 164/1009/198 166/1690/199 165/1010/5 -f 166/1011/199 168/1014/201 167/1012/200 -f 168/1014/201 170/1016/202 169/1015/2 -f 170/1016/202 172/1018/204 171/1017/203 -f 172/1018/204 158/1689/471 157/1003/6 -f 181/1019/33 182/1034/215 174/1020/205 -f 174/1020/205 182/1034/215 183/1022/206 -f 183/1022/206 184/1025/209 176/1024/208 -f 184/1025/209 185/1691/34 177/1026/2 -f 177/1027/2 185/1692/34 186/1028/210 -f 178/1029/211 186/1028/210 187/1030/212 -f 187/1030/212 188/1046/220 180/1032/214 -f 180/1032/214 188/1046/220 181/1019/33 -f 189/1033/19 190/1048/222 182/1034/215 -f 182/1034/215 190/1048/222 191/1035/216 -f 183/1036/206 191/1035/216 192/1037/217 -f 192/1037/217 193/1693/21 185/1039/34 -f 193/1040/21 194/1043/218 186/1041/210 -f 194/1043/218 195/1045/219 187/1044/212 -f 195/1045/219 196/1060/228 188/1046/220 -f 188/1046/220 196/1060/228 189/1033/19 -f 189/1033/19 197/1061/6 198/1047/221 -f 198/1047/221 199/1050/223 191/1049/216 -f 199/1050/223 200/1052/224 192/1051/217 -f 200/1052/224 201/1694/5 193/1053/21 -f 193/1054/21 201/1695/5 202/1055/225 -f 194/1056/218 202/1055/225 203/1057/226 -f 195/1058/219 203/1057/226 204/1059/227 -f 196/1060/228 204/1059/227 197/1061/6 -f 205/1062/22 206/1074/234 198/1047/221 -f 198/1047/221 206/1074/234 207/1063/229 -f 199/1064/223 207/1063/229 208/1065/230 -f 208/1065/230 209/1696/20 201/1067/5 -f 201/1068/5 209/1697/20 210/1069/231 -f 210/1069/231 211/1072/232 203/1071/226 -f 211/1072/232 212/1086/238 204/1059/227 -f 204/1059/227 212/1086/238 205/1062/22 -f 205/1062/22 213/1088/18 214/1073/233 -f 214/1073/233 215/1076/235 207/1075/229 -f 215/1076/235 216/1698/241 208/1077/230 -f 208/1077/230 216/1698/241 217/1078/17 -f 217/1080/17 218/1699/242 210/1081/231 -f 210/1081/231 218/1699/242 219/1083/236 -f 211/1084/232 219/1083/236 220/1085/237 -f 220/1085/237 213/1088/18 205/1062/22 -f 221/1087/2 222/1089/239 214/1073/233 -f 222/1089/239 223/1700/246 215/1090/235 -f 215/1090/235 223/1700/246 224/1091/240 -f 224/1091/240 225/1701/4 217/1093/17 -f 225/1094/4 226/1097/243 218/1095/242 -f 226/1097/243 227/1702/249 219/1098/236 -f 219/1098/236 227/1702/249 228/1099/244 -f 228/1099/244 221/1087/2 213/1088/18 -f 221/1087/2 229/1111/34 230/1100/245 -f 230/1100/245 231/1703/252 223/1101/246 -f 223/1101/246 231/1703/252 232/1102/247 -f 232/1102/247 233/1704/33 225/1104/4 -f 233/1105/33 234/1108/248 226/1106/243 -f 234/1108/248 235/1705/255 227/1109/249 -f 227/1109/249 235/1705/255 236/1110/250 -f 236/1110/250 229/1111/34 221/1087/2 -f 229/1111/34 237/1122/21 238/1112/251 -f 238/1112/251 239/1706/258 231/1113/252 -f 231/1113/252 239/1706/258 240/1114/253 -f 240/1114/253 241/1707/19 233/1116/33 -f 233/1117/33 241/1708/19 242/1118/254 -f 242/1118/254 243/1709/262 235/1120/255 -f 235/1120/255 243/1709/262 244/1121/256 -f 244/1121/256 237/1122/21 229/1111/34 -f 237/1122/21 245/1710/5 246/1123/257 -f 246/1123/257 247/1125/259 239/1124/258 -f 247/1125/259 248/1127/260 240/1126/253 -f 248/1127/260 249/1711/6 241/1128/19 -f 241/1129/19 249/1712/6 250/1130/261 -f 250/1130/261 251/1713/267 243/1132/262 -f 243/1132/262 251/1713/267 252/1133/263 -f 252/1133/263 245/1710/5 237/1122/21 -f 253/1134/20 254/1150/270 246/1135/257 -f 246/1135/257 254/1150/270 255/1137/264 -f 247/1138/259 255/1137/264 256/1139/265 -f 256/1139/265 257/1714/22 249/1141/6 -f 257/1142/22 258/1145/266 250/1143/261 -f 258/1145/266 259/1147/268 251/1146/267 -f 259/1147/268 260/1162/275 252/1148/263 -f 252/1148/263 260/1162/275 253/1134/20 -f 253/1134/20 261/1163/17 262/1149/269 -f 262/1149/269 263/1152/271 255/1151/264 -f 263/1152/271 264/1154/272 256/1153/265 -f 264/1154/272 265/1715/18 257/1155/22 -f 265/1156/18 266/1716/276 258/1157/266 -f 258/1157/266 266/1716/276 267/1159/273 -f 259/1160/268 267/1159/273 268/1161/274 -f 268/1161/274 261/1163/17 253/1134/20 -f 261/1163/17 173/1021/4 174/1020/205 -f 174/1020/205 175/1717/207 263/1164/271 -f 263/1164/271 175/1717/207 176/1165/208 -f 176/1165/208 177/1718/2 265/1167/18 -f 177/1168/2 178/1171/211 266/1169/276 -f 178/1171/211 179/1719/213 267/1172/273 -f 267/1172/273 179/1719/213 180/1032/214 -f 180/1032/214 173/1021/4 261/1163/17 -f 352/93/293 360/1210/306 354/1204/294 -f 340/82/296 338/79/295 354/1204/294 -f 342/646/298 355/1211/307 356/1206/299 -f 350/90/301 348/88/308 358/1207/302 -f 346/647/304 344/84/300 356/1206/299 -f 350/90/301 359/1208/303 360/1210/306 -f 340/82/296 353/1205/297 355/1211/307 -f 346/648/304 357/1720/305 358/1207/302 -f 362/97/295 376/111/293 384/1212/306 -f 364/100/296 362/97/295 378/1213/294 -f 366/102/298 379/1219/307 380/1215/299 -f 374/109/301 372/107/308 382/1216/302 -f 370/654/304 368/104/300 380/1215/299 -f 374/109/301 383/1217/303 384/1212/306 -f 364/100/296 377/1214/297 379/1219/307 -f 372/107/308 370/655/304 381/1220/305 -f 386/116/295 400/130/293 408/1221/306 -f 386/116/295 402/1222/294 401/1223/297 -f 390/121/298 403/1228/307 404/1224/299 -f 398/662/301 396/128/308 406/1225/302 -f 394/661/304 392/123/300 404/1224/299 -f 400/130/293 398/662/301 407/1226/303 -f 388/119/296 401/1223/297 403/1228/307 -f 394/125/304 405/1721/305 406/1225/302 -f 410/668/295 424/149/293 432/1229/306 -f 412/136/296 410/668/295 426/1230/294 -f 414/138/298 427/1235/307 428/1232/299 -f 420/144/308 430/1236/302 431/1233/303 -f 418/669/304 416/141/300 428/1232/299 -f 424/149/293 422/147/301 431/1233/303 -f 412/136/296 425/1231/297 427/1235/307 -f 418/670/304 429/1722/305 430/1236/302 -f 433/1237/309 434/1251/322 436/1238/310 -f 436/1238/310 438/1723/313 437/1240/312 -f 438/1241/313 440/1724/472 439/1242/314 -f 439/1242/314 440/1724/472 442/1244/315 -f 442/1244/315 444/1247/318 443/1246/317 -f 444/1247/318 446/1249/320 445/1248/319 -f 446/1249/320 448/1725/473 447/1250/321 -f 447/1250/321 448/1725/473 434/1251/322 -f 538/1252/323 540/1255/326 539/1253/324 -f 540/1255/326 542/1271/341 541/1256/327 -f 541/1256/327 542/1271/341 544/1257/328 -f 544/1257/328 546/1260/331 545/1259/330 -f 546/1260/331 548/1262/333 547/1261/332 -f 548/1262/333 550/1281/337 549/1263/334 -f 546/1260/331 544/1257/328 556/1264/335 -f 550/1266/337 552/1269/339 551/1267/338 -f 552/1269/339 538/1252/323 537/1254/325 -f 550/1266/337 559/1726/346 560/1270/340 -f 542/1271/341 540/1255/326 553/1272/342 -f 546/1260/331 557/1727/336 558/1274/344 -f 538/1252/323 552/1269/339 560/1275/340 -f 538/1252/323 554/1728/345 553/1277/342 -f 544/1257/328 542/1271/341 555/1278/343 -f 548/1262/333 558/1729/344 559/1280/346 -f 678/1282/6 677/1285/349 595/1283/347 -f 677/1285/349 679/1287/351 597/1286/350 -f 679/1287/351 680/1289/4 599/1288/352 -f 680/1289/4 681/1291/354 601/1290/353 -f 681/1291/354 682/1293/356 603/1292/355 -f 682/1293/356 683/1730/5 605/1294/357 -f 683/1295/5 684/1298/359 607/1296/358 -f 684/1298/359 685/1300/361 609/1299/360 -f 685/1300/361 686/1302/2 611/1301/362 -f 686/1302/2 687/1307/366 613/1303/363 -f 598/1304/364 727/1401/436 728/1305/365 -f 687/1307/366 688/1309/368 615/1308/367 -f 688/1309/368 678/1282/6 593/1284/348 -f 609/1299/360 625/1731/381 624/1310/369 -f 621/1311/370 633/1350/391 632/1312/371 -f 607/1296/358 624/1732/369 623/1314/373 -f 605/1294/357 623/1341/373 622/1315/374 -f 601/1290/353 603/1292/355 622/1316/374 -f 601/1290/353 621/1311/370 620/1313/372 -f 593/1284/348 617/1335/377 628/1318/375 -f 593/1284/348 595/1283/347 618/1319/376 -f 599/1288/352 620/1343/372 619/1321/378 -f 615/1308/367 628/1733/375 627/1322/379 -f 597/1286/350 619/1337/378 618/1323/376 -f 611/1301/362 613/1303/363 627/1324/379 -f 611/1301/362 626/1339/380 625/1326/381 -f 635/1327/382 636/1346/390 660/389/383 -f 627/1322/379 628/1733/375 640/1328/385 -f 617/1320/377 618/1319/376 630/1330/387 -f 624/1310/369 625/1731/381 637/1332/389 -f 622/1316/374 634/1351/392 633/1334/391 -f 617/1335/377 629/1352/388 640/1336/385 -f 619/1337/378 631/1353/393 630/1338/387 -f 626/1339/380 638/1354/394 637/1340/389 -f 623/1341/373 635/1355/382 634/1342/392 -f 620/1343/372 632/1356/371 631/1344/393 -f 627/1324/379 639/1734/386 638/1345/394 -f 623/1314/373 624/1732/369 636/1346/390 -f 650/1347/395 651/1364/410 675/1348/18 -f 633/1350/391 657/381/400 656/380/396 -f 640/1328/385 664/402/401 663/401/397 -f 629/1331/388 630/1330/387 654/372/398 -f 637/1332/389 661/392/402 660/723/383 -f 634/1351/392 658/383/403 657/720/400 -f 629/1352/388 653/404/399 664/727/401 -f 631/1353/393 655/374/404 654/717/398 -f 638/1354/394 662/395/405 661/724/402 -f 635/1355/382 659/386/384 658/721/403 -f 632/1356/371 656/378/396 655/377/404 -f 638/1345/394 639/1734/386 663/399/397 -f 648/1357/406 672/1369/21 671/1358/5 -f 644/1360/408 645/1370/414 669/1361/17 -f 652/1363/409 676/1372/22 675/1348/18 -f 642/1365/411 666/1374/19 665/1366/6 -f 649/1368/413 673/1375/34 672/1369/21 -f 645/1370/414 646/1376/415 670/1371/20 -f 641/1367/412 665/1366/6 676/1372/22 -f 642/1365/411 643/1378/416 667/1373/33 -f 650/1347/395 674/1349/2 673/1375/34 -f 646/1376/415 647/1735/407 671/1377/5 -f 643/1378/416 644/1360/408 668/1362/4 -f 692/1379/417 740/1451/421 741/1380/418 -f 614/1382/420 612/1402/4 734/1383/421 -f 608/1385/422 606/1403/6 731/1386/423 -f 600/1306/2 728/1305/365 729/1388/425 -f 616/1390/427 614/1382/420 735/1384/418 -f 594/1392/5 726/1736/435 725/1393/429 -f 610/1395/431 608/1385/422 732/1387/424 -f 602/1389/426 729/1388/425 730/1397/433 -f 616/1390/427 736/1391/428 726/1399/435 -f 596/1394/430 725/1393/429 727/1401/436 -f 612/1402/4 610/1395/431 733/1396/432 -f 604/1398/434 730/1397/433 731/1386/423 -f 677/1404/349 678/1424/6 702/1405/423 -f 679/1407/351 703/1737/452 704/1408/421 -f 680/1409/4 704/1408/421 705/1410/438 -f 682/1412/356 706/1738/454 707/1413/435 -f 683/1415/5 707/1739/435 708/1416/439 -f 685/1418/361 709/1740/455 710/1419/365 -f 686/1420/2 710/1419/365 711/1421/440 -f 688/1423/368 712/1741/451 702/1405/423 -f 594/1392/5 596/1394/430 713/728/441 -f 600/1306/2 716/409/444 715/411/443 -f 602/1389/426 717/729/453 716/409/444 -f 606/1403/6 719/418/447 718/414/445 -f 606/1403/6 608/1385/422 720/417/446 -f 610/1395/431 612/1402/4 722/422/417 -f 614/1382/420 723/731/450 722/422/417 -f 594/1400/5 714/424/442 724/426/449 -f 614/1382/420 687/1742/366 711/1425/440 -f 712/1426/451 688/1743/368 616/1390/427 -f 596/1394/430 677/1744/349 701/1427/437 -f 703/1428/452 679/1745/351 598/1304/364 -f 602/1389/426 681/1746/354 705/1429/438 -f 706/1430/454 682/1747/356 604/1398/434 -f 709/1431/455 685/1748/361 610/1395/431 -f 608/1385/422 684/1749/359 708/1432/439 -f 699/1433/456 747/1452/425 748/1434/433 -f 690/1436/447 738/1444/423 737/1437/424 -f 696/1439/459 744/1454/429 745/1440/436 -f 693/1381/419 741/1380/418 742/1442/428 -f 700/1435/457 748/1434/433 738/1444/423 -f 691/1445/462 689/1438/458 737/1437/424 -f 697/1441/460 745/1440/436 746/1447/463 -f 694/1443/461 742/1442/428 743/1449/435 -f 691/1445/462 739/1446/432 740/1451/421 -f 698/1448/444 746/1447/463 747/1452/425 -f 695/1453/442 743/1750/435 744/1454/429 -f 794/1455/331 796/1473/333 795/1456/332 -f 795/1456/332 796/1473/333 798/1458/337 -f 798/1458/337 800/1466/339 799/1460/338 -f 799/1460/338 800/1466/339 802/1461/323 -f 802/1461/323 804/1476/326 803/1463/324 -f 803/1463/324 804/1476/326 806/1464/341 -f 800/1466/339 812/1751/340 813/1467/345 -f 806/1468/341 808/1472/328 807/1469/329 -f 807/1469/329 808/1472/328 794/1455/331 -f 806/1468/341 815/1752/343 816/1471/335 -f 796/1473/333 809/1753/344 811/1474/346 -f 802/1461/323 813/1754/345 814/1475/342 -f 794/1455/331 808/1472/328 816/1477/335 -f 794/1455/331 810/1755/336 809/1479/344 -f 798/1458/337 811/1756/346 812/1480/340 -f 806/1464/341 804/1476/326 814/1481/342 -f 818/777/304 832/558/300 840/1483/299 -f 818/777/304 834/1484/305 833/1485/302 -f 822/548/301 835/1489/303 836/1486/306 -f 828/556/296 838/1491/297 839/1487/307 -f 826/778/295 824/550/293 836/1486/306 -f 832/558/300 830/779/298 839/1487/307 -f 820/546/308 833/1485/302 835/1489/303 -f 828/556/296 826/553/295 837/1490/294 -f 856/787/300 864/1498/299 858/1492/305 -f 844/785/308 842/563/304 858/1492/305 -f 848/568/293 846/566/301 859/1494/303 -f 852/573/296 862/1499/297 863/1496/307 -f 848/568/293 860/1495/306 861/1497/294 -f 854/575/298 863/1496/307 864/1498/299 -f 844/785/308 857/1493/302 859/1494/303 -f 850/786/295 861/1757/294 862/1499/297 -f 880/595/300 888/1506/299 882/1500/305 -f 866/793/304 882/1500/305 881/1501/302 -f 872/794/293 870/584/301 883/1502/303 -f 876/795/296 886/1507/297 887/1504/307 -f 872/794/293 884/1503/306 885/1505/294 -f 878/592/298 887/1504/307 888/1506/299 -f 870/584/301 868/582/308 881/1501/302 -f 874/589/295 885/1758/294 886/1507/297 -f 904/614/300 912/1514/299 906/1508/305 -f 890/801/304 906/1508/305 905/1509/302 -f 896/802/293 894/603/301 907/1510/303 -f 900/610/296 910/1515/297 911/1512/307 -f 898/605/295 896/802/293 908/1511/306 -f 904/614/300 902/612/298 911/1512/307 -f 892/600/308 905/1509/302 907/1510/303 -f 898/607/295 909/1759/294 910/1515/297 -f 921/1516/33 922/1531/215 914/1517/205 -f 914/1517/205 922/1531/215 923/1519/206 -f 923/1519/206 924/1522/209 916/1521/208 -f 924/1522/209 925/1760/34 917/1523/2 -f 917/1524/2 925/1761/34 926/1525/210 -f 918/1526/211 926/1525/210 927/1527/212 -f 927/1527/212 928/1544/220 920/1529/214 -f 920/1529/214 928/1544/220 921/1516/33 -f 929/1530/19 930/1546/222 922/1531/215 -f 922/1531/215 930/1546/222 931/1532/216 -f 923/1533/206 931/1532/216 932/1534/217 -f 924/1535/209 932/1534/217 933/1536/21 -f 933/1538/21 934/1541/218 926/1539/210 -f 934/1541/218 935/1543/219 927/1542/212 -f 935/1543/219 936/1559/228 928/1544/220 -f 928/1544/220 936/1559/228 929/1530/19 -f 937/1545/6 938/1547/221 930/1546/222 -f 938/1547/221 939/1549/223 931/1548/216 -f 939/1549/223 940/1551/224 932/1550/217 -f 940/1551/224 941/1762/5 933/1552/21 -f 933/1553/21 941/1763/5 942/1554/225 -f 934/1555/218 942/1554/225 943/1556/226 -f 935/1557/219 943/1556/226 944/1558/227 -f 944/1558/227 937/1545/6 929/1530/19 -f 937/1545/6 945/1572/22 946/1560/234 -f 938/1547/221 946/1560/234 947/1561/229 -f 939/1562/223 947/1561/229 948/1563/230 -f 948/1563/230 949/1764/20 941/1565/5 -f 941/1566/5 949/1765/20 950/1567/231 -f 950/1567/231 951/1570/232 943/1569/226 -f 951/1570/232 952/1571/238 944/1558/227 -f 952/1571/238 945/1572/22 937/1545/6 -f 945/1572/22 953/1586/18 954/1573/233 -f 954/1573/233 955/1575/235 947/1574/229 -f 955/1575/235 956/1577/241 948/1576/230 -f 956/1577/241 957/1766/17 949/1578/20 -f 957/1579/17 958/1767/242 950/1580/231 -f 950/1580/231 958/1767/242 959/1582/236 -f 951/1583/232 959/1582/236 960/1584/237 -f 960/1584/237 953/1586/18 945/1572/22 -f 961/1585/2 962/1587/239 954/1573/233 -f 962/1587/239 963/1768/246 955/1588/235 -f 955/1588/235 963/1768/246 964/1589/240 -f 956/1590/241 964/1589/240 965/1591/4 -f 965/1593/4 966/1596/243 958/1594/242 -f 966/1596/243 967/1769/249 959/1597/236 -f 959/1597/236 967/1769/249 968/1598/244 -f 968/1598/244 961/1585/2 953/1586/18 -f 961/1585/2 969/1609/34 970/1599/245 -f 970/1599/245 971/1770/252 963/1600/246 -f 963/1600/246 971/1770/252 972/1601/247 -f 972/1601/247 973/1771/33 965/1603/4 -f 965/1604/4 973/1772/33 974/1605/248 -f 974/1605/248 975/1773/255 967/1607/249 -f 967/1607/249 975/1773/255 976/1608/250 -f 976/1608/250 969/1609/34 961/1585/2 -f 969/1609/34 977/1621/21 978/1610/251 -f 978/1610/251 979/1774/258 971/1611/252 -f 971/1611/252 979/1774/258 980/1612/253 -f 972/1613/247 980/1612/253 981/1614/19 -f 973/1616/33 981/1775/19 982/1617/254 -f 982/1617/254 983/1776/262 975/1619/255 -f 975/1619/255 983/1776/262 984/1620/256 -f 984/1620/256 977/1621/21 969/1609/34 -f 977/1621/21 985/1777/5 986/1622/257 -f 986/1622/257 987/1624/259 979/1623/258 -f 987/1624/259 988/1626/260 980/1625/253 -f 988/1626/260 989/1778/6 981/1627/19 -f 989/1628/6 990/1779/261 982/1629/254 -f 982/1629/254 990/1779/261 991/1631/267 -f 983/1632/262 991/1631/267 992/1633/263 -f 992/1633/263 985/1777/5 977/1621/21 -f 993/1634/20 994/1649/270 986/1635/257 -f 986/1635/257 994/1649/270 995/1637/264 -f 987/1638/259 995/1637/264 996/1639/265 -f 996/1639/265 997/1780/22 989/1641/6 -f 989/1642/6 997/1781/22 998/1643/266 -f 998/1643/266 999/1646/268 991/1645/267 -f 999/1646/268 1000/1661/275 992/1647/263 -f 992/1647/263 1000/1661/275 993/1634/20 -f 993/1634/20 1001/1662/17 1002/1648/269 -f 1002/1648/269 1003/1651/271 995/1650/264 -f 1003/1651/271 1004/1782/272 996/1652/265 -f 996/1652/265 1004/1782/272 1005/1653/18 -f 1005/1655/18 1006/1783/276 998/1656/266 -f 998/1656/266 1006/1783/276 1007/1658/273 -f 999/1659/268 1007/1658/273 1008/1660/274 -f 1008/1660/274 1001/1662/17 993/1634/20 -f 1001/1662/17 913/1518/4 914/1517/205 -f 914/1517/205 915/1784/207 1003/1663/271 -f 1003/1663/271 915/1784/207 916/1664/208 -f 916/1664/208 917/1785/2 1005/1666/18 -f 917/1667/2 918/1670/211 1006/1668/276 -f 918/1670/211 919/1786/213 1007/1671/273 -f 1007/1671/273 919/1786/213 920/1529/214 -f 920/1529/214 913/1518/4 1001/1662/17 -f 1009/1672/6 1010/1686/469 1012/1673/464 -f 1012/1673/464 1014/1787/474 1013/1675/2 -f 1013/1675/2 1014/1787/474 1016/1676/465 -f 1016/1676/465 1018/1788/466 1017/1678/5 -f 1018/1679/466 1020/1682/467 1019/1680/197 -f 1020/1682/467 1022/1684/468 1021/1683/4 -f 1022/1684/468 1024/1789/475 1023/1685/195 -f 1023/1685/195 1024/1789/475 1010/1686/469 -f 282/1173/277 284/1176/280 283/1174/278 -f 284/1176/280 286/1790/282 285/1177/281 -f 286/1178/282 288/1181/284 287/1179/283 -f 288/1181/284 290/1791/292 289/1182/285 -f 289/1182/285 290/1791/292 292/1183/286 -f 291/1184/287 292/1183/286 294/1185/288 -f 293/1186/289 294/1185/288 296/1187/290 -f 295/1188/291 296/1187/290 282/1173/277 -f 297/1189/279 298/1203/277 300/1190/280 -f 300/1190/280 302/1792/282 301/1192/281 -f 301/1193/281 302/1793/282 304/1194/284 -f 304/1194/284 306/1197/292 305/1196/285 -f 306/1197/292 308/1794/286 307/1198/287 -f 307/1198/287 308/1794/286 310/1199/288 -f 309/1200/289 310/1199/288 312/1201/290 -f 311/1202/291 312/1201/290 298/1203/277 o Rotor -v -0.250000 -0.105662 -2.125000 -v -0.250000 -0.105662 -1.375000 -v 0.250000 -0.105663 -2.125000 -v 0.250000 -0.105663 -1.375000 -v -0.000000 -0.538675 -2.125000 -v -0.000000 -0.538675 -1.375000 -v -0.375000 0.144338 -2.125000 +v 0.187500 0.644337 -1.375000 v -0.375000 0.144338 -1.375000 v 0.375000 0.144337 -1.375000 +v -0.187500 0.644338 -1.375000 +v -0.375000 0.144338 -2.125000 +v 0.250000 -0.105663 -1.375000 +v -0.250000 -0.105662 -1.375000 +v 0.000000 -0.538675 -1.375000 +v 0.187500 0.644337 -2.125000 +v -0.187500 0.644338 -2.125000 +v -0.250000 -0.105662 -2.125000 +v 0.250000 -0.105663 -2.125000 +v 0.000000 -0.538675 -2.125000 v 0.375000 0.144337 -2.125000 -v 0.529006 -0.122410 -2.125000 v 0.529006 -0.122410 -1.375000 v 0.154006 -0.771928 -1.375000 v 0.154006 -0.771928 -2.125000 -v -0.154007 -0.771928 -2.125000 +v 0.529006 -0.122410 -2.125000 v -0.154007 -0.771928 -1.375000 v -0.529006 -0.122409 -1.375000 v -0.529006 -0.122409 -2.125000 -v -0.187500 0.644338 -2.125000 -v -0.187500 0.644338 -1.375000 -v 0.187500 0.644337 -1.375000 -v 0.187500 0.644337 -2.125000 -v 0.868269 -0.534790 -2.125000 +v -0.154007 -0.771928 -2.125000 v 0.868269 -0.534790 -1.375000 -v 0.680769 -0.859549 -1.375000 v 0.680769 -0.859549 -2.125000 -v -0.680769 -0.859548 -2.125000 +v 0.868269 -0.534790 -2.125000 v -0.680769 -0.859548 -1.375000 -v -0.868269 -0.534789 -1.375000 v -0.868269 -0.534789 -2.125000 +v -0.680769 -0.859548 -2.125000 +v -0.868269 -0.534789 -1.375000 +v 0.680769 -0.859549 -1.375000 vt 0.168950 0.125000 vt 0.127854 0.066176 vt 0.182648 0.066176 @@ -5220,74 +113,5354 @@ vn -0.0000 0.0000 1.0000 vn -0.9363 0.3511 0.0000 vn 0.0000 1.0000 0.0000 vn -0.0000 0.0000 -1.0000 -vn -0.8944 -0.4472 0.0000 +vn -0.8944 -0.4472 -0.0000 vn 0.8944 -0.4472 -0.0000 vn 0.0599 0.9982 0.0000 -vn -0.8345 -0.5510 0.0000 -vn 0.8345 -0.5510 -0.0000 +vn -0.8345 -0.5510 -0.0000 +vn 0.8345 -0.5510 0.0000 vn -0.0599 0.9982 0.0000 vn 0.9363 0.3511 0.0000 -vn 0.8660 -0.5000 0.0000 +vn 0.8660 -0.5000 -0.0000 vn 0.7722 0.6353 0.0000 -vn -0.1641 -0.9864 0.0000 -vn -0.8660 -0.5000 0.0000 -vn 0.1641 -0.9864 0.0000 +vn -0.1641 -0.9864 -0.0000 +vn -0.8660 -0.5000 -0.0000 +vn 0.1641 -0.9864 -0.0000 vn -0.7722 0.6353 0.0000 -usemtl None s off -f 1045/1795/476 1032/1796/476 1033/1797/476 -f 1044/1798/477 1031/1799/477 1032/1800/477 -f 1028/1801/476 1026/1802/476 1030/1803/476 -f 1044/1798/478 1046/1804/478 1043/1805/478 -f 1025/1806/479 1027/1807/479 1029/1808/479 -f 1032/1800/480 1025/1809/480 1026/1810/480 -f 1028/1811/476 1032/1796/476 1026/1812/476 -f 1034/1813/481 1028/1814/481 1027/1815/481 -f 1031/1816/479 1027/1817/479 1025/1818/479 -f 1036/1819/482 1027/1820/482 1028/1821/482 -f 1037/1822/476 1028/1823/476 1030/1824/476 -f 1038/1825/483 1030/1826/483 1029/1827/483 -f 1035/1828/479 1029/1829/479 1027/1830/479 -f 1040/1831/484 1029/1832/484 1030/1833/484 -f 1041/1834/476 1030/1835/476 1026/1836/476 -f 1042/1837/485 1026/1838/485 1025/1839/485 -f 1039/1840/479 1025/1841/479 1029/1842/479 -f 1046/1804/486 1033/1843/486 1034/1813/486 -f 1031/1816/479 1046/1844/479 1034/1845/479 -f 1048/1846/487 1050/1847/487 1047/1848/487 -f 1048/1846/488 1035/1849/488 1036/1819/488 -f 1037/1822/476 1048/1850/476 1036/1851/476 -f 1050/1847/489 1037/1852/489 1038/1825/489 -f 1047/1853/479 1038/1854/479 1035/1828/479 -f 1052/1855/490 1054/1856/490 1051/1857/490 -f 1052/1855/491 1039/1858/491 1040/1831/491 -f 1053/1859/476 1040/1860/476 1041/1834/476 -f 1054/1856/492 1041/1861/492 1042/1837/492 -f 1051/1862/479 1042/1863/479 1039/1840/479 -f 1045/1795/476 1044/1864/476 1032/1796/476 -f 1044/1798/477 1043/1805/477 1031/1799/477 -f 1044/1798/478 1045/1865/478 1046/1804/478 -f 1032/1800/480 1031/1799/480 1025/1809/480 -f 1028/1811/476 1033/1797/476 1032/1796/476 -f 1034/1813/481 1033/1843/481 1028/1814/481 -f 1031/1816/479 1034/1845/479 1027/1817/479 -f 1036/1819/482 1035/1849/482 1027/1820/482 -f 1037/1822/476 1036/1851/476 1028/1823/476 -f 1038/1825/483 1037/1852/483 1030/1826/483 -f 1035/1828/479 1038/1854/479 1029/1829/479 -f 1040/1831/484 1039/1858/484 1029/1832/484 -f 1041/1834/476 1040/1860/476 1030/1835/476 -f 1042/1837/485 1041/1861/485 1026/1838/485 -f 1039/1840/479 1042/1863/479 1025/1841/479 -f 1046/1804/486 1045/1865/486 1033/1843/486 -f 1031/1816/479 1043/1866/479 1046/1844/479 -f 1048/1846/487 1049/1867/487 1050/1847/487 -f 1048/1846/488 1047/1848/488 1035/1849/488 -f 1037/1822/476 1049/1868/476 1048/1850/476 -f 1050/1847/489 1049/1867/489 1037/1852/489 -f 1047/1853/479 1050/1869/479 1038/1854/479 -f 1052/1855/490 1053/1870/490 1054/1856/490 -f 1052/1855/491 1051/1857/491 1039/1858/491 -f 1053/1859/476 1052/1871/476 1040/1860/476 -f 1054/1856/492 1053/1870/492 1041/1861/492 -f 1051/1862/479 1054/1872/479 1042/1863/479 +f 1/1/1 2/2/1 3/3/1 +f 4/4/2 5/5/2 2/6/2 +f 6/7/1 7/8/1 8/9/1 +f 4/4/3 9/10/3 10/11/3 +f 11/12/4 12/13/4 13/14/4 +f 2/6/5 11/15/5 7/16/5 +f 6/17/1 2/2/1 7/18/1 +f 14/19/6 6/20/6 12/21/6 +f 5/22/4 12/23/4 11/24/4 +f 15/25/7 12/26/7 6/27/7 +f 16/28/1 6/29/1 8/30/1 +f 17/31/8 8/32/8 13/33/8 +f 18/34/4 13/35/4 12/36/4 +f 19/37/9 13/38/9 8/39/9 +f 20/40/1 8/41/1 7/42/1 +f 21/43/10 7/44/10 11/45/10 +f 22/46/4 11/47/4 13/48/4 +f 9/10/11 3/49/11 14/19/11 +f 5/22/4 9/50/4 14/51/4 +f 23/52/12 24/53/12 25/54/12 +f 23/52/13 18/55/13 15/25/13 +f 16/28/1 23/56/1 15/57/1 +f 24/53/14 16/58/14 17/31/14 +f 25/59/4 17/60/4 18/34/4 +f 26/61/15 27/62/15 28/63/15 +f 26/61/16 22/64/16 19/37/16 +f 29/65/1 19/66/1 20/40/1 +f 27/62/17 20/67/17 21/43/17 +f 28/68/4 21/69/4 22/46/4 +f 1/1/1 4/70/1 2/2/1 +f 4/4/2 10/11/2 5/5/2 +f 4/4/3 1/71/3 9/10/3 +f 2/6/5 5/5/5 11/15/5 +f 6/17/1 3/3/1 2/2/1 +f 14/19/6 3/49/6 6/20/6 +f 5/22/4 14/51/4 12/23/4 +f 15/25/7 18/55/7 12/26/7 +f 16/28/1 15/57/1 6/29/1 +f 17/31/8 16/58/8 8/32/8 +f 18/34/4 17/60/4 13/35/4 +f 19/37/9 22/64/9 13/38/9 +f 20/40/1 19/66/1 8/41/1 +f 21/43/10 20/67/10 7/44/10 +f 22/46/4 21/69/4 11/47/4 +f 9/10/11 1/71/11 3/49/11 +f 5/22/4 10/72/4 9/50/4 +f 23/52/12 30/73/12 24/53/12 +f 23/52/13 25/54/13 18/55/13 +f 16/28/1 30/74/1 23/56/1 +f 24/53/14 30/73/14 16/58/14 +f 25/59/4 24/75/4 17/60/4 +f 26/61/15 29/76/15 27/62/15 +f 26/61/16 28/63/16 22/64/16 +f 29/65/1 26/77/1 19/66/1 +f 27/62/17 29/76/17 20/67/17 +f 28/68/4 27/78/4 21/69/4 +o Body +v -0.244981 -0.000000 0.368932 +v 0.000000 -0.244981 0.368932 +v 0.244981 -0.000000 0.368932 +v -0.375000 -0.863814 -2.375000 +v -0.375000 -1.363814 -3.124999 +v -0.375000 -1.363814 -2.375000 +v 0.375000 -0.863814 -3.124999 +v -0.375000 -0.496790 -5.624999 +v -0.375000 -0.863814 -3.124999 +v 0.375000 -1.363814 -2.375000 +v 0.375000 -1.363814 -3.124999 +v 0.375000 -0.863814 -2.375000 +v 0.375000 -1.746790 -5.624999 +v -0.375000 -1.746790 -5.624999 +v 0.375000 -0.496790 -5.624999 +v 0.249981 1.154378 -2.627011 +v 0.249981 1.031888 -2.504521 +v 0.249981 0.909398 -2.627011 +v -0.249981 0.945275 -2.540398 +v -0.249981 1.154378 -2.627011 +v -0.249980 1.118502 -2.713625 +v 0.249981 1.154378 -2.871992 +v 0.249981 1.031888 -2.749502 +v 0.249981 0.909398 -2.871992 +v -0.249981 0.945274 -2.785378 +v -0.249980 1.154378 -2.871992 +v -0.249980 1.118502 -2.958606 +v -0.312500 0.926420 -2.500000 +v -0.312500 0.863920 -2.999999 +v -0.312500 0.863920 -2.500000 +v -0.250000 0.926420 -2.999999 +v 0.250000 0.863920 -2.999999 +v -0.250000 0.863920 -2.999999 +v 0.312500 0.926420 -2.999999 +v 0.312500 0.863920 -2.500000 +v 0.312500 0.863920 -2.999999 +v 0.250000 0.926420 -2.500000 +v -0.250000 0.863920 -2.500000 +v 0.250000 0.863920 -2.500000 +v 0.250000 0.926420 -2.999999 +v 0.312500 1.051420 -2.999999 +v -0.312500 0.926420 -2.999999 +v 0.312500 1.051420 -2.500000 +v 0.250000 1.051420 -2.500000 +v 0.312500 0.926420 -2.500000 +v -0.250000 1.051420 -2.999999 +v -0.312500 1.051420 -2.500000 +v -0.250000 1.051420 -2.500000 +v 0.250000 1.051420 -2.999999 +v -0.250000 0.926420 -2.500000 +v -0.312500 1.051420 -2.999999 +v 0.269079 0.989930 -0.750546 +v 0.207317 0.966012 -0.808289 +v 0.207317 0.989929 -0.750546 +v 0.269079 0.966012 -0.808289 +v 0.207317 0.908269 -0.832206 +v 0.269079 0.850527 -0.808289 +v 0.207317 0.850527 -0.808289 +v 0.207317 0.826609 -0.750546 +v 0.269079 0.850527 -0.692804 +v 0.207317 0.850527 -0.692804 +v 0.269079 0.908269 -0.668886 +v 0.207317 0.908269 -0.668886 +v 0.207317 0.966012 -0.692804 +v 0.269079 0.966012 -0.692804 +v 0.295772 0.908269 -0.684311 +v 0.295772 0.842034 -0.750546 +v 0.295772 0.908269 -0.816781 +v 0.269080 0.989930 -1.158847 +v 0.207317 0.966012 -1.216590 +v 0.207317 0.989929 -1.158847 +v 0.269079 0.966012 -1.216590 +v 0.207317 0.908269 -1.240508 +v 0.269080 0.908269 -1.240508 +v 0.207317 0.850527 -1.216590 +v 0.269080 0.850527 -1.216590 +v 0.207317 0.826609 -1.158848 +v 0.269080 0.850527 -1.101105 +v 0.207317 0.850527 -1.101105 +v 0.269079 0.908269 -1.077187 +v 0.207317 0.908269 -1.077187 +v 0.269080 0.966012 -1.101105 +v 0.207317 0.966012 -1.101105 +v 0.295772 0.908269 -1.092613 +v 0.295772 0.861434 -1.205683 +v 0.295772 0.908269 -1.225083 +v 0.269079 0.989929 -1.567149 +v 0.207317 0.966012 -1.624892 +v 0.207317 0.989929 -1.567149 +v 0.269079 0.966012 -1.624892 +v 0.207317 0.908269 -1.648810 +v 0.269080 0.908269 -1.648810 +v 0.207317 0.850527 -1.624892 +v 0.269080 0.850527 -1.624892 +v 0.207317 0.826609 -1.567149 +v 0.269079 0.826609 -1.567149 +v 0.207317 0.850527 -1.509407 +v 0.269079 0.850527 -1.509407 +v 0.207317 0.908269 -1.485489 +v 0.269079 0.966012 -1.509407 +v 0.207317 0.966012 -1.509406 +v 0.295772 0.908269 -1.500914 +v 0.295772 0.861434 -1.613984 +v 0.295772 0.908269 -1.633384 +v 0.207317 0.989929 -1.975451 +v 0.269079 0.966012 -2.033194 +v 0.207317 0.966012 -2.033194 +v 0.269079 0.908269 -2.057111 +v 0.207317 0.908269 -2.057111 +v 0.207317 0.850527 -2.033194 +v 0.269079 0.850527 -2.033194 +v 0.207317 0.826609 -1.975451 +v 0.269079 0.850527 -1.917708 +v 0.207317 0.850527 -1.917708 +v 0.207317 0.908269 -1.893791 +v 0.269079 0.908269 -1.893791 +v 0.207317 0.966012 -1.917708 +v 0.269079 0.966012 -1.917708 +v 0.295772 0.908269 -1.909216 +v 0.295772 0.861434 -2.022286 +v 0.295772 0.908269 -2.041686 +v 0.906809 -0.197376 2.444303 +v 0.784319 -0.409536 2.689283 +v 0.784319 -0.409536 2.199322 +v 0.481215 -0.434565 2.617530 +v 0.654443 -0.134526 2.617530 +v 0.481215 -0.434565 2.271075 +v 0.872283 -0.218575 -0.312500 +v 1.088789 -0.343575 0.312500 +v 1.088790 -0.343575 -0.312500 +v 1.088790 -0.593575 -0.312500 +v 0.872283 -0.718575 0.312500 +v 0.872283 -0.718575 -0.312500 +v 0.655777 -0.593575 -0.312500 +v 0.872283 -0.218575 0.312500 +v 1.088790 -0.593575 0.312500 +v 0.655777 -0.593575 0.312500 +v 0.655777 -0.343575 -0.312500 +v 0.655777 -0.343575 0.312500 +v -0.475030 0.813421 1.869728 +v -0.475030 0.750921 0.369728 +v -0.475030 0.750921 1.869728 +v -0.412530 0.813420 0.369728 +v -0.412530 0.750921 1.869728 +v -0.412530 0.750921 0.369728 +v -0.475030 0.750921 1.932228 +v -0.475030 0.813420 0.369728 +v -0.412530 0.813421 1.869728 +v -0.475030 0.250921 1.932228 +v -0.412530 0.750921 1.932228 +v -0.412530 0.250921 1.869728 +v -0.475030 0.250921 1.869728 +v -0.412530 0.250921 1.932228 +v 0.475030 0.750921 0.369728 +v 0.475030 0.813421 1.869728 +v 0.475030 0.750921 1.869728 +v 0.412530 0.750921 1.869728 +v 0.412530 0.813420 0.369728 +v 0.412530 0.750920 0.369728 +v 0.475030 0.750921 1.932228 +v 0.412530 0.813420 1.869728 +v 0.475030 0.813420 0.369728 +v 0.475030 0.250921 1.932228 +v 0.412530 0.750921 1.932228 +v 0.475030 0.250921 1.869728 +v 0.412530 0.250921 1.869728 +v 0.412530 0.250921 1.932228 +v -0.475030 -0.750921 0.369728 +v -0.475030 -0.813421 1.869728 +v -0.475030 -0.750921 1.869728 +v -0.412530 -0.750921 1.869728 +v -0.412530 -0.813421 0.369728 +v -0.412530 -0.750921 0.369728 +v -0.475030 -0.750921 1.932228 +v -0.412530 -0.813421 1.869728 +v -0.475030 -0.813421 0.369728 +v -0.475030 -0.250921 1.932228 +v -0.412530 -0.750921 1.932228 +v -0.475030 -0.250921 1.869728 +v -0.412530 -0.250921 1.869728 +v -0.412530 -0.250921 1.932228 +v 0.475030 -0.813421 1.869728 +v 0.475030 -0.750921 0.369728 +v 0.475030 -0.750921 1.869728 +v 0.412530 -0.813421 0.369728 +v 0.412530 -0.750921 1.869728 +v 0.412530 -0.750921 0.369728 +v 0.475030 -0.750921 1.932228 +v 0.475030 -0.813421 0.369728 +v 0.412530 -0.813421 1.869728 +v 0.475030 -0.250921 1.932228 +v 0.412530 -0.750921 1.932228 +v 0.475030 -0.250921 1.869728 +v 0.412530 -0.250921 1.869728 +v 0.412530 -0.250921 1.932228 +v 0.473896 0.611795 -0.679757 +v 0.536184 0.986795 -0.674615 +v 0.536184 0.611795 -0.674615 +v 0.468753 0.986795 -0.617469 +v 0.468753 0.611795 -0.617469 +v 0.531041 0.986795 -0.612327 +v 0.531041 0.611795 -0.612327 +v 0.473896 0.986795 -0.679757 +v 0.531041 1.049295 -0.612327 +v 0.304755 1.049295 2.128347 +v 0.304755 0.986795 2.128347 +v 0.468753 1.049295 -0.617469 +v 0.299613 0.986795 2.190635 +v 0.242467 0.986795 2.123204 +v 0.242467 1.049295 2.123204 +v 0.299613 0.611795 2.190635 +v 0.304755 0.611795 2.128347 +v 0.237324 0.986795 2.185492 +v 0.242467 0.611795 2.123204 +v 0.237325 0.611795 2.185492 +v 0.673228 -0.500000 -0.471783 +v 0.326772 -0.500000 -0.471783 +v 0.326772 -0.500000 -0.818238 +v 0.377510 0.625000 -0.645011 +v 0.586614 0.625000 -0.558397 +v 0.622490 0.625000 -0.645011 +v -0.250000 -0.750000 -2.125000 +v 0.250000 0.687500 -2.125000 +v -0.250000 0.687500 -2.125000 +v 0.250000 0.687500 -1.375000 +v 0.250000 -0.750000 -1.375000 +v -0.250000 0.687500 -1.375000 +v -0.250000 0.750000 -2.125000 +v -0.250000 1.062500 -2.125000 +v -0.250000 0.750000 -2.375000 +v -0.250000 -0.750000 -2.375000 +v 0.250000 -0.750000 -2.375000 +v 0.250000 -0.750000 -2.125000 +v 0.250000 0.750000 -1.375000 +v 0.250000 1.062500 -1.937499 +v 0.250000 1.062500 -1.375000 +v 0.250000 0.687500 -2.375000 +v -0.250000 -0.750000 -1.375000 +v -0.250000 0.687500 -0.375000 +v 0.250000 -0.750000 -0.375000 +v -0.250000 -0.750000 -0.375000 +v 0.250000 0.750000 -2.125000 +v 0.250000 1.062500 -2.125000 +v -0.250000 0.687500 -2.375000 +v -0.250000 0.750000 -1.375000 +v 0.250000 0.750000 -0.375000 +v 0.250000 0.687500 -0.375000 +v -0.250000 1.062500 -1.937500 +v -0.250000 1.062500 -1.375000 +v 0.250000 1.062500 -0.625000 +v -0.250000 1.062500 -0.625000 +v -0.250000 0.750000 -0.375000 +v 0.250000 0.750000 -2.375000 +v 0.044558 0.077177 1.515425 +v 0.000000 0.170159 1.515425 +v 0.085079 0.147362 1.515425 +v 0.147362 0.085079 1.515425 +v 0.077177 0.044558 1.515425 +v 0.089117 -0.000000 1.515425 +v 0.170159 -0.000000 1.515425 +v 0.077177 -0.044558 1.515425 +v 0.147362 -0.085079 1.515425 +v 0.085079 -0.147362 1.515425 +v 0.044558 -0.077177 1.515425 +v 0.000000 -0.170159 1.515425 +v 0.000000 -0.089117 1.515425 +v -0.085079 -0.147362 1.515425 +v -0.044558 -0.077177 1.515425 +v -0.147362 -0.085079 1.515425 +v -0.077177 -0.044558 1.515425 +v -0.170159 -0.000000 1.515425 +v -0.089117 -0.000000 1.515425 +v -0.077177 0.044558 1.515425 +v -0.147362 0.085079 1.515425 +v -0.044558 0.077177 1.515425 +v -0.085079 0.147362 1.515425 +v 0.000000 0.089117 1.515425 +v 0.000000 0.599488 4.000000 +v 0.362223 0.627389 4.000000 +v 0.000000 0.724446 4.000000 +v 0.599488 -0.000000 4.000000 +v 0.627388 0.362223 4.000000 +v 0.519172 0.299744 4.000000 +v 0.627388 -0.362223 4.000000 +v 0.724446 -0.000000 4.000000 +v 0.299744 -0.519172 4.000000 +v 0.000000 -0.724446 4.000000 +v 0.362223 -0.627389 4.000000 +v -0.299744 -0.519172 4.000000 +v 0.000000 -0.599488 4.000000 +v -0.519172 -0.299744 4.000000 +v -0.724446 -0.000000 4.000000 +v -0.627389 -0.362223 4.000000 +v -0.599488 -0.000000 4.000000 +v -0.627389 0.362223 4.000000 +v -0.362223 0.627388 4.000000 +v -0.299745 0.519172 4.000000 +v -0.519172 0.299744 3.000000 +v -0.362223 0.627388 3.000000 +v -0.627389 0.362223 3.000000 +v 0.299744 0.519172 3.000000 +v 0.627388 0.362223 3.000000 +v 0.362223 0.627389 3.000000 +v 0.519172 -0.299744 3.000000 +v 0.362223 -0.627389 3.000000 +v 0.627389 -0.362223 3.000000 +v -0.299744 -0.519172 3.000000 +v -0.627389 -0.362223 3.000000 +v -0.362223 -0.627389 3.000000 +v 0.050433 0.087352 2.000000 +v 0.000000 0.599489 2.000000 +v 0.000000 0.100865 2.000000 +v 0.087351 0.050433 2.000000 +v 0.299744 0.519173 2.000000 +v 0.100865 0.000001 2.000000 +v 0.519172 0.299745 2.000000 +v 0.519172 -0.299744 2.000000 +v 0.599488 0.000001 2.000000 +v 0.050432 -0.087351 2.000000 +v 0.087351 -0.050432 2.000000 +v 0.000000 -0.599488 2.000000 +v 0.299744 -0.519171 2.000000 +v -0.050432 -0.087351 2.000000 +v 0.000000 -0.100864 2.000000 +v -0.087352 -0.050432 2.000000 +v -0.299744 -0.519171 2.000000 +v -0.599488 -0.000000 2.000000 +v -0.519172 -0.299744 2.000000 +v -0.087352 0.050433 2.000000 +v -0.100865 0.000001 2.000000 +v -0.299744 0.519172 2.000000 +v -0.519172 0.299744 2.000000 +v -0.050433 0.087352 2.000000 +v -0.087352 0.050434 5.611448 +v 0.087351 -0.050431 5.611448 +v 0.087351 0.050434 5.611448 +v 0.500000 0.866025 0.375000 +v 1.000000 0.000000 -0.375000 +v 0.500000 0.866025 -0.375000 +v 0.500000 -0.866025 0.375000 +v 0.500000 -0.866025 -0.375000 +v -0.500000 -0.866025 -0.375000 +v -1.000000 -0.000000 0.375000 +v -1.000000 0.000000 -0.375000 +v -0.500000 0.866025 0.375000 +v -0.500000 0.866025 -0.375000 +v 0.500000 0.866025 -2.375000 +v 1.000000 0.000000 -3.125000 +v 0.500000 0.866025 -3.125000 +v 1.000000 0.000000 -2.375000 +v 0.500000 -0.866026 -3.125000 +v 0.500000 -0.866025 -2.375000 +v -0.500000 -0.866025 -3.125000 +v -0.500000 -0.866025 -2.375000 +v -1.000000 0.000000 -3.125000 +v -0.500000 0.866025 -2.375000 +v -1.000000 0.000000 -2.375000 +v -0.500000 0.866025 -3.125000 +v -0.479958 0.611795 -0.679582 +v -0.542246 0.986795 -0.674439 +v -0.542247 0.611795 -0.674439 +v -0.537103 0.986795 -0.612151 +v -0.537104 0.611795 -0.612151 +v -0.474815 0.986795 -0.617294 +v -0.474815 0.611795 -0.617294 +v -0.479958 0.986795 -0.679582 +v -0.537104 1.049295 -0.612151 +v -0.474816 1.049295 -0.617294 +v -0.248530 0.986795 2.123379 +v -0.243387 0.986795 2.185668 +v -0.248530 1.049295 2.123379 +v -0.310818 0.986795 2.128522 +v -0.310818 1.049295 2.128522 +v -0.248530 0.611795 2.123379 +v -0.305675 0.986795 2.190811 +v -0.305675 0.611795 2.190811 +v -0.673228 -0.500000 -0.818238 +v -0.255019 -0.500000 -0.645011 +v -0.326772 -0.500000 -0.471783 +v -0.377510 0.625000 -0.645011 +v -0.586614 0.625000 -0.731624 +v -0.622490 0.625000 -0.645011 +v -0.207317 0.989930 -0.750546 +v -0.269079 0.966012 -0.808289 +v -0.207317 0.966012 -0.808289 +v -0.269079 0.908269 -0.832207 +v -0.207317 0.908269 -0.832207 +v -0.269079 0.850527 -0.808289 +v -0.207317 0.850527 -0.808289 +v -0.207317 0.826609 -0.750546 +v -0.269079 0.826609 -0.750546 +v -0.207317 0.850527 -0.692804 +v -0.269079 0.850527 -0.692804 +v -0.207317 0.908269 -0.668886 +v -0.269079 0.966012 -0.692804 +v -0.207317 0.966012 -0.692804 +v -0.295772 0.908269 -0.684311 +v -0.295772 0.861434 -0.797381 +v -0.295772 0.908269 -0.816781 +v -0.269079 0.989929 -1.158848 +v -0.207317 0.966012 -1.216590 +v -0.207317 0.989929 -1.158848 +v -0.269079 0.908269 -1.240508 +v -0.207317 0.908269 -1.240508 +v -0.269079 0.850527 -1.216591 +v -0.207317 0.850527 -1.216591 +v -0.269079 0.826609 -1.158848 +v -0.207317 0.826609 -1.158848 +v -0.269079 0.850527 -1.101106 +v -0.207317 0.850527 -1.101105 +v -0.269079 0.908269 -1.077188 +v -0.207317 0.908269 -1.077188 +v -0.207317 0.966012 -1.101105 +v -0.295772 0.908269 -1.092613 +v -0.295772 0.861434 -1.205683 +v -0.295772 0.908269 -1.225083 +v -0.207317 0.989929 -1.567149 +v -0.269079 0.966012 -1.624892 +v -0.207317 0.966012 -1.624892 +v -0.269079 0.908269 -1.648810 +v -0.207317 0.908269 -1.648810 +v -0.207317 0.850527 -1.624892 +v -0.269079 0.826609 -1.567150 +v -0.207317 0.826609 -1.567150 +v -0.207317 0.850527 -1.509407 +v -0.269079 0.908269 -1.485489 +v -0.207317 0.908269 -1.485489 +v -0.207317 0.966012 -1.509407 +v -0.269079 0.966012 -1.509407 +v -0.295772 0.908269 -1.500914 +v -0.295772 0.861434 -1.613985 +v -0.295772 0.908269 -1.633385 +v -0.207317 0.989930 -1.975451 +v -0.269079 0.966012 -2.033194 +v -0.207317 0.966012 -2.033194 +v -0.207317 0.908269 -2.057111 +v -0.269079 0.908269 -2.057111 +v -0.207317 0.850527 -2.033194 +v -0.269079 0.826609 -1.975451 +v -0.207317 0.826609 -1.975451 +v -0.207317 0.850527 -1.917709 +v -0.269079 0.850527 -1.917709 +v -0.207317 0.908269 -1.893791 +v -0.269079 0.908269 -1.893791 +v -0.207317 0.966012 -1.917708 +v -0.269079 0.966012 -1.917708 +v -0.295772 0.908269 -1.909216 +v -0.295772 0.842034 -1.975451 +v -0.295772 0.974504 -1.975451 +v 0.173228 -0.173228 -3.118932 +v 0.000000 -0.244981 -3.118932 +v -0.244981 0.000000 -3.118932 +v 0.173227 0.173227 0.368932 +v 0.000000 0.244981 0.368932 +v -0.173227 0.173227 0.368932 +v -0.173227 -0.173228 0.368932 +v 0.173227 -0.173227 0.368932 +v 0.249981 0.945274 -2.958606 +v 0.249981 1.031888 -2.994483 +v 0.249981 1.118502 -2.958606 +v 0.249981 1.118502 -2.785378 +v 0.249981 0.945274 -2.785378 +v 0.269079 0.908269 -0.832206 +v 0.269079 0.826609 -0.750546 +v 0.295772 0.955105 -0.797381 +v 0.295772 0.974504 -0.750546 +v 0.295772 0.955105 -0.703711 +v 0.295772 0.861434 -0.703711 +v 0.295772 0.861434 -0.797381 +v 0.269080 0.826609 -1.158848 +v 0.295772 0.955105 -1.205683 +v 0.295772 0.974504 -1.158847 +v 0.295772 0.955104 -1.112013 +v 0.295772 0.861434 -1.112013 +v 0.295772 0.842034 -1.158848 +v 0.269080 0.908269 -1.485489 +v 0.295772 0.955105 -1.613984 +v 0.295772 0.974504 -1.567149 +v 0.295772 0.955105 -1.520314 +v 0.295772 0.861434 -1.520314 +v 0.295772 0.842034 -1.567149 +v 0.269079 0.989930 -1.975451 +v 0.269079 0.826609 -1.975451 +v 0.295772 0.955105 -2.022286 +v 0.295772 0.974504 -1.975451 +v 0.295772 0.955105 -1.928616 +v 0.295772 0.861434 -1.928616 +v 0.295772 0.842034 -1.975451 +v 0.661828 -0.621696 2.444303 +v 0.697705 -0.559556 2.271075 +v 0.870933 -0.259517 2.271075 +v 0.870933 -0.259516 2.617530 +v 0.697705 -0.559556 2.617530 +v 0.654443 -0.134526 2.271075 +v 0.567829 -0.284546 2.199322 +v 0.445338 -0.496705 2.444303 +v 0.567829 -0.284546 2.689283 +v 0.690319 -0.072386 2.444303 +v 0.500000 -0.500000 -0.889991 +v 0.673228 -0.500000 -0.818238 +v 0.744981 -0.500000 -0.645011 +v 0.500000 -0.500000 -0.400030 +v 0.255019 -0.500000 -0.645011 +v 0.586614 0.625000 -0.731624 +v 0.500000 0.625000 -0.767501 +v 0.413386 0.625000 -0.731624 +v 0.413386 0.625000 -0.558397 +v 0.500000 0.625000 -0.522520 +v 0.299744 0.519172 4.000000 +v 0.519172 -0.299744 4.000000 +v -0.362223 -0.627389 4.000000 +v -0.519172 0.299744 4.000000 +v -0.299745 0.519172 3.000000 +v 0.519172 0.299744 3.000000 +v 0.299744 -0.519172 3.000000 +v -0.519172 -0.299744 3.000000 +v 0.050432 0.087353 5.611448 +v 0.000000 0.100866 5.611448 +v -0.050433 0.087353 5.611448 +v -0.100865 0.000002 5.611448 +v 0.000000 -0.100863 5.611448 +v -0.087352 -0.050431 5.611448 +v -0.050432 -0.087350 5.611448 +v 0.050432 -0.087350 5.611448 +v 0.100865 0.000002 5.611448 +v 1.000000 -0.000000 0.375000 +v -0.500000 -0.866025 0.375000 +v -0.243387 0.611795 2.185668 +v -0.310818 0.611795 2.128522 +v -0.500000 -0.500000 -0.400030 +v -0.673227 -0.500000 -0.471783 +v -0.744981 -0.500000 -0.645011 +v -0.500000 -0.500000 -0.889992 +v -0.326772 -0.500000 -0.818238 +v -0.586614 0.625000 -0.558397 +v -0.500000 0.625000 -0.522520 +v -0.413386 0.625000 -0.558397 +v -0.413386 0.625000 -0.731625 +v -0.500000 0.625000 -0.767501 +v -0.269079 0.989930 -0.750546 +v -0.269079 0.908269 -0.668886 +v -0.295772 0.955105 -0.797381 +v -0.295772 0.974504 -0.750546 +v -0.295772 0.955105 -0.703711 +v -0.295772 0.861434 -0.703711 +v -0.295772 0.842034 -0.750546 +v -0.269079 0.966012 -1.216590 +v -0.269079 0.966012 -1.101105 +v -0.295772 0.955104 -1.205683 +v -0.295772 0.974504 -1.158848 +v -0.295772 0.955104 -1.112013 +v -0.295772 0.861434 -1.112013 +v -0.295772 0.842034 -1.158848 +v -0.269079 0.989929 -1.567149 +v -0.269079 0.850527 -1.624892 +v -0.269079 0.850527 -1.509407 +v -0.295772 0.955104 -1.613984 +v -0.295772 0.974504 -1.567149 +v -0.295772 0.955104 -1.520314 +v -0.295772 0.861434 -1.520314 +v -0.295772 0.842034 -1.567150 +v -0.269079 0.989930 -1.975451 +v -0.269079 0.850527 -2.033194 +v -0.295772 0.908269 -2.041686 +v -0.295772 0.955105 -2.022286 +v -0.295772 0.955105 -1.928616 +v -0.295772 0.861434 -1.928616 +v -0.295772 0.861434 -2.022286 +v -0.173227 0.173227 -3.118932 +v 0.000000 0.244981 -3.118932 +v 0.173228 0.173227 -3.118932 +v 0.244981 0.000000 -3.118932 +v -0.173227 -0.173228 -3.118932 +v 0.249981 0.945274 -2.713625 +v 0.249981 1.031888 -2.749502 +v 0.249981 1.118502 -2.713625 +v 0.249981 1.118502 -2.540397 +v 0.249981 0.945274 -2.540397 +v -0.249981 1.031888 -2.749502 +v -0.249981 0.945274 -2.713625 +v -0.249981 0.909398 -2.627011 +v -0.249981 1.031888 -2.504521 +v -0.249981 1.118502 -2.540398 +v -0.249981 1.031888 -2.994483 +v -0.249981 0.945274 -2.958606 +v -0.249981 0.909398 -2.871992 +v -0.249981 1.031888 -2.749502 +v -0.249980 1.118502 -2.785378 +v 0.876733 -0.551959 2.548175 +v 0.586053 -0.304371 2.593377 +v 0.551005 -0.364964 2.574621 +v 0.843024 -0.591668 2.497790 +v 0.525250 -0.409266 2.523377 +v 0.822599 -0.601533 2.428962 +v 0.515690 -0.425405 2.453378 +v 0.820930 -0.578912 2.360134 +v 0.524887 -0.409056 2.383378 +v 0.838465 -0.529865 2.309748 +v 0.550376 -0.364602 2.332135 +v 0.870505 -0.467534 2.291306 +v 0.585327 -0.303952 2.313378 +v 0.620376 -0.243358 2.332134 +v 0.646131 -0.199057 2.383378 +v 0.908465 -0.408621 2.309748 +v 0.655690 -0.182918 2.453377 +v 0.942174 -0.368912 2.360134 +v 0.646494 -0.199266 2.523377 +v 0.962599 -0.359046 2.428962 +v 0.621005 -0.243721 2.574621 +v 0.964268 -0.381668 2.497789 +v 0.946733 -0.430715 2.548175 +v 1.101227 -0.681570 2.469018 +v 0.914693 -0.493046 2.566617 +v 1.055429 -0.714300 2.423376 +v 1.018491 -0.714631 2.361029 +v 1.000308 -0.682476 2.298681 +v 1.005754 -0.626449 2.253039 +v 1.033369 -0.561564 2.236333 +v 1.075754 -0.505206 2.253039 +v 1.121552 -0.472476 2.298681 +v 1.158491 -0.472144 2.361028 +v 1.176673 -0.504300 2.423376 +v 1.171227 -0.560327 2.469018 +v 1.256243 -0.771069 2.330546 +v 1.143612 -0.625212 2.485724 +v 1.196166 -0.795555 2.298250 +v 1.139721 -0.784624 2.254134 +v 1.102032 -0.741206 2.210018 +v 1.093198 -0.676935 2.177722 +v 1.115587 -0.609032 2.165901 +v 1.163198 -0.555691 2.177722 +v 1.223275 -0.531206 2.210018 +v 1.279721 -0.542137 2.254134 +v 1.317410 -0.585554 2.298250 +v 1.326243 -0.649825 2.330546 +v 1.385649 -0.764952 2.147086 +v 1.303855 -0.717729 2.342367 +v 1.334899 -0.816481 2.142498 +v 1.266247 -0.836016 2.129960 +v 1.198090 -0.818323 2.112834 +v 1.148689 -0.768143 2.095708 +v 1.131281 -0.698922 2.083170 +v 1.201281 -0.577679 2.083170 +v 1.269932 -0.558143 2.095708 +v 1.338090 -0.575836 2.112834 +v 1.387491 -0.626016 2.129960 +v 1.404899 -0.695237 2.142498 +v 1.396360 -0.771136 1.932145 +v 1.345154 -0.822402 1.933423 +v 1.275257 -0.841218 1.936914 +v 1.205398 -0.822543 1.941684 +v 1.154295 -0.771381 1.946454 +v 1.150531 -0.629207 2.078581 +v 1.135642 -0.701440 1.949945 +v 1.205642 -0.580197 1.949945 +v 1.275539 -0.561381 1.946454 +v 1.345398 -0.580056 1.941684 +v 1.396501 -0.631218 1.936914 +v 1.415154 -0.701158 1.933423 +v 1.361046 -0.750748 1.711173 +v 1.310290 -0.802273 1.715737 +v 1.241624 -0.821800 1.728206 +v 1.173446 -0.804095 1.745240 +v 1.124025 -0.753904 1.762273 +v 1.154436 -0.631462 1.951223 +v 1.106602 -0.684674 1.774743 +v 1.176602 -0.563430 1.774743 +v 1.245268 -0.543904 1.762273 +v 1.313446 -0.561608 1.745240 +v 1.362868 -0.611800 1.728206 +v 1.380290 -0.681030 1.715737 +v 1.298705 -0.714755 1.482584 +v 1.248342 -0.766507 1.488676 +v 1.180748 -0.786653 1.505321 +v 1.114035 -0.769794 1.528057 +v 1.066078 -0.720448 1.550794 +v 1.125847 -0.614956 1.779307 +v 1.049728 -0.651837 1.567438 +v 1.119728 -0.530594 1.567438 +v 1.187322 -0.510448 1.550794 +v 1.254035 -0.527307 1.528057 +v 1.301991 -0.576653 1.505321 +v 1.318342 -0.645263 1.488676 +v 1.222609 -0.670821 1.245910 +v 1.172383 -0.722653 1.252446 +v 1.105165 -0.743015 1.270301 +v 1.038964 -0.726452 1.294692 +v 0.991519 -0.677402 1.319082 +v 1.069365 -0.582346 1.573530 +v 0.975544 -0.609007 1.336938 +v 1.045544 -0.487764 1.336938 +v 1.112763 -0.467401 1.319082 +v 1.178964 -0.483964 1.294692 +v 1.226408 -0.533015 1.270301 +v 1.242383 -0.601409 1.252446 +v 1.144526 -0.625740 1.003635 +v 1.094187 -0.677506 1.009806 +v 1.026658 -0.697689 1.026667 +v 0.960034 -0.680881 1.049699 +v 0.912166 -0.631587 1.072732 +v 0.995318 -0.539595 1.343473 +v 0.895880 -0.563013 1.089593 +v 0.965880 -0.441770 1.089593 +v 1.033409 -0.421587 1.072732 +v 1.100034 -0.438394 1.049699 +v 1.147902 -0.487689 1.026667 +v 1.164187 -0.556262 1.009806 +v 1.075851 -0.586090 0.760105 +v 1.025202 -0.637677 0.765133 +v 0.956826 -0.657371 0.778870 +v 0.889045 -0.639896 0.797636 +v 0.840020 -0.589934 0.816401 +v 0.915541 -0.493536 1.095764 +v 0.822888 -0.520871 0.830139 +v 0.892888 -0.399628 0.830139 +v 0.961264 -0.379933 0.816401 +v 1.029045 -0.397409 0.797636 +v 1.078070 -0.447371 0.778870 +v 1.095202 -0.516433 0.765133 +v 1.027510 -0.558181 0.520874 +v 0.976472 -0.609543 0.523846 +v 0.907032 -0.628623 0.531965 +v 0.837798 -0.610309 0.543057 +v 0.787320 -0.559507 0.554148 +v 0.842239 -0.451215 0.835167 +v 0.769125 -0.489831 0.562268 +v 0.839124 -0.368587 0.562268 +v 0.908564 -0.349507 0.554148 +v 0.977798 -0.367821 0.543057 +v 1.028276 -0.418623 0.531965 +v 1.046472 -0.488299 0.523846 +v 1.009338 -0.547689 0.290518 +v 0.958094 -0.598932 0.290518 +v 0.888094 -0.617689 0.290518 +v 0.818094 -0.598932 0.290518 +v 0.766850 -0.547689 0.290518 +v 0.788086 -0.419949 0.565239 +v 0.748094 -0.477689 0.290518 +v 0.818094 -0.356445 0.290518 +v 0.888094 -0.337689 0.290518 +v 0.958094 -0.356445 0.290518 +v 1.009338 -0.407689 0.290518 +v 1.028094 -0.477689 0.290518 +v 0.000000 0.244981 -0.368932 +v 0.173227 0.173227 -0.368932 +v 0.244981 0.000000 -0.368932 +v 0.173227 -0.173227 -0.368932 +v 0.000000 -0.244981 -0.368932 +v -0.173227 -0.173227 -0.368932 +v -0.244981 0.000000 -0.368932 +v -0.173227 0.173227 -0.368932 +v 0.714536 0.412539 0.000002 +v 0.722677 0.000002 0.247212 +v 0.825075 0.000002 0.000002 +v 0.411767 0.237735 0.349610 +v 0.475467 0.000002 0.349610 +v 0.228257 0.000002 0.247212 +v 0.197676 0.114130 0.247212 +v 0.125859 0.000002 0.000002 +v 0.197676 0.114130 -0.247208 +v 0.228257 0.000002 -0.247208 +v 0.411767 0.237735 -0.349606 +v 0.475467 0.000002 -0.349606 +v 0.722678 0.000002 -0.247208 +v 0.412538 0.714538 0.000002 +v 0.625857 0.361341 0.247212 +v 0.237734 0.411769 0.349610 +v 0.114128 0.197678 0.247212 +v 0.108997 0.062931 0.000002 +v 0.062930 0.108999 0.000002 +v 0.114129 0.197678 -0.247208 +v 0.237734 0.411769 -0.349606 +v 0.625857 0.361341 -0.247208 +v 0.000000 0.722679 0.247212 +v 0.361339 0.625859 0.247212 +v 0.000000 0.475469 0.349610 +v 0.000000 0.228258 0.247212 +v 0.000000 0.228259 -0.247208 +v 0.000000 0.475469 -0.349606 +v 0.000000 0.722679 -0.247208 +v 0.361339 0.625859 -0.247208 +v 0.000000 0.825077 0.000002 +v -0.412537 0.714538 0.000002 +v -0.237733 0.411769 0.349610 +v -0.114128 0.197678 0.247212 +v 0.000000 0.125861 0.000002 +v -0.114128 0.197678 -0.247208 +v -0.237733 0.411769 -0.349606 +v -0.625857 0.361341 0.247212 +v -0.361338 0.625859 0.247212 +v -0.411766 0.237735 0.349610 +v -0.108997 0.062932 0.000002 +v -0.062929 0.108999 0.000002 +v -0.411766 0.237735 -0.349606 +v -0.625857 0.361341 -0.247208 +v -0.361338 0.625859 -0.247208 +v -0.825075 0.000002 0.000002 +v -0.714536 0.412540 0.000002 +v -0.722677 0.000002 0.247212 +v -0.228257 0.000002 0.247212 +v -0.197676 0.114130 0.247212 +v -0.125859 0.000002 0.000002 +v -0.197676 0.114130 -0.247208 +v -0.228257 0.000002 -0.247208 +v -0.722677 0.000002 -0.247208 +v -0.625857 -0.361336 0.247212 +v -0.475467 0.000002 0.349610 +v -0.197676 -0.114127 0.247212 +v -0.108997 -0.062928 0.000002 +v -0.197676 -0.114127 -0.247208 +v -0.475467 0.000002 -0.349606 +v -0.625857 -0.361336 -0.247208 +v -0.714536 -0.412536 0.000002 +v -0.361338 -0.625855 0.247212 +v -0.411766 -0.237732 0.349610 +v -0.114128 -0.197675 0.247212 +v -0.114128 -0.197674 -0.247208 +v -0.411767 -0.237732 -0.349606 +v -0.361338 -0.625855 -0.247208 +v -0.412537 -0.714534 0.000002 +v 0.000000 -0.722675 0.247212 +v -0.237733 -0.411765 0.349610 +v 0.000000 -0.475466 0.349610 +v 0.000000 -0.228255 0.247212 +v -0.062929 -0.108995 0.000002 +v 0.000000 -0.228255 -0.247208 +v -0.237733 -0.411765 -0.349606 +v 0.000000 -0.722675 -0.247208 +v 0.412538 -0.714534 0.000002 +v 0.000000 -0.825073 0.000002 +v 0.237734 -0.411765 0.349610 +v 0.114128 -0.197675 0.247212 +v 0.000000 -0.125858 0.000002 +v 0.062930 -0.108995 0.000002 +v 0.114129 -0.197675 -0.247208 +v 0.000000 -0.475465 -0.349606 +v 0.237734 -0.411765 -0.349606 +v 0.625857 -0.361337 0.247212 +v 0.361339 -0.625855 0.247212 +v 0.411767 -0.237732 0.349610 +v 0.197676 -0.114126 0.247212 +v 0.108997 -0.062928 0.000002 +v 0.411767 -0.237732 -0.349606 +v 0.625857 -0.361337 -0.247208 +v 0.361339 -0.625855 -0.247208 +v 0.714536 -0.412536 0.000002 +v 0.197676 -0.114127 -0.247208 +v 0.500000 0.500000 -0.889991 +v 0.673228 0.500000 -0.818238 +v 0.673228 0.500000 -0.471783 +v 0.500000 0.500000 -0.400030 +v 0.326772 0.500000 -0.471783 +v 0.255019 0.500000 -0.645011 +v 0.326773 0.500000 -0.818238 +v 0.744981 0.500000 -0.645011 +v 0.000000 0.724446 3.000000 +v 0.362223 0.627389 2.000000 +v 0.000000 0.724446 2.000000 +v 0.627389 0.362223 2.000000 +v 0.724446 -0.000000 2.000000 +v 0.724446 -0.000000 3.000000 +v 0.627388 -0.362223 2.000000 +v 0.362223 -0.627388 2.000000 +v 0.000000 -0.724446 2.000000 +v 0.000000 -0.724446 3.000000 +v -0.362223 -0.627389 2.000000 +v -0.627389 -0.362223 2.000000 +v -0.724446 -0.000000 2.000000 +v -0.724446 -0.000000 3.000000 +v -0.627389 0.362223 2.000000 +v 0.599488 -0.000000 3.000000 +v -0.362223 0.627388 2.000000 +v -0.325385 -0.563585 1.803562 +v 0.563584 -0.325386 1.803562 +v 0.484842 -0.000000 1.637495 +v 0.650771 -0.000000 1.803562 +v 0.000000 -0.650771 1.803562 +v 0.325386 -0.563584 1.803562 +v -0.325386 0.563584 1.803562 +v 0.325386 0.563584 1.803562 +v 0.000000 0.650771 1.803562 +v 0.563584 0.325386 1.803562 +v -0.563585 0.325385 1.803562 +v -0.650771 -0.000000 1.803562 +v -0.563584 -0.325386 1.803562 +v 0.000000 -0.484842 1.637495 +v -0.242421 0.419886 1.637495 +v -0.419886 0.242421 1.637495 +v 0.242421 0.419886 1.637495 +v 0.000000 0.484842 1.637495 +v -0.419886 -0.242421 1.637495 +v -0.242421 -0.419886 1.637495 +v 0.419886 -0.242421 1.637495 +v 0.242421 -0.419886 1.637495 +v 0.419886 0.242421 1.637495 +v -0.484842 -0.000000 1.637495 +v -0.077177 0.044559 0.220095 +v -0.089117 0.000001 0.220095 +v 0.000000 -0.089116 0.220095 +v 0.077177 -0.044557 0.220095 +v 0.089117 0.000001 0.220095 +v 0.000000 0.089118 0.220095 +v -0.044558 -0.077177 0.220095 +v 0.044558 -0.077176 0.220095 +v -0.044559 0.077178 0.220095 +v 0.077177 0.044559 0.220095 +v 0.044559 0.077178 0.220095 +v -0.077177 -0.044558 0.220095 +v 0.000000 0.599488 3.000000 +v -0.599488 -0.000000 3.000000 +v 0.000000 -0.599488 3.000000 +v -0.500000 0.500000 -0.400030 +v -0.744981 0.500000 -0.645011 +v -0.500000 0.500000 -0.889992 +v -0.255019 0.500000 -0.645011 +v -0.673227 0.500000 -0.818238 +v -0.326772 0.500000 -0.471783 +v -0.673227 0.500000 -0.471783 +v -0.326772 0.500000 -0.818238 +v 0.714536 0.412540 -2.749997 +v 0.722677 0.000002 -2.502787 +v 0.825075 0.000002 -2.749997 +v 0.411767 0.237735 -2.400389 +v 0.475467 0.000002 -2.400389 +v 0.228257 0.000002 -2.502787 +v 0.197676 0.114130 -2.502787 +v 0.125859 0.000002 -2.749997 +v 0.197676 0.114130 -2.997207 +v 0.228257 0.000002 -2.997207 +v 0.411767 0.237735 -3.099605 +v 0.475467 0.000002 -3.099605 +v 0.722678 0.000002 -2.997207 +v 0.412538 0.714538 -2.749997 +v 0.625857 0.361341 -2.502787 +v 0.237734 0.411769 -2.400389 +v 0.114128 0.197678 -2.502787 +v 0.062930 0.108999 -2.749997 +v 0.108997 0.062932 -2.749997 +v 0.114128 0.197678 -2.997207 +v 0.237734 0.411769 -3.099605 +v 0.625857 0.361341 -2.997207 +v 0.000000 0.825077 -2.749997 +v 0.361339 0.625859 -2.502787 +v 0.000000 0.722679 -2.502787 +v 0.000000 0.475469 -2.400389 +v 0.000000 0.228259 -2.502787 +v 0.000000 0.228259 -2.997207 +v 0.000000 0.475469 -3.099605 +v 0.000000 0.722679 -2.997207 +v 0.361339 0.625859 -2.997207 +v -0.361338 0.625859 -2.502788 +v -0.237733 0.411769 -2.400390 +v -0.114128 0.197678 -2.502787 +v 0.000000 0.125861 -2.749997 +v -0.114128 0.197678 -2.997207 +v -0.237733 0.411769 -3.099605 +v -0.361338 0.625859 -2.997207 +v -0.412537 0.714538 -2.749997 +v -0.625857 0.361341 -2.502788 +v -0.411767 0.237735 -2.400390 +v -0.197676 0.114130 -2.502787 +v -0.062929 0.108999 -2.749997 +v -0.108997 0.062932 -2.749997 +v -0.411766 0.237735 -3.099605 +v -0.625857 0.361341 -2.997207 +v -0.825075 0.000002 -2.749997 +v -0.714536 0.412540 -2.749997 +v -0.722677 0.000002 -2.502788 +v -0.228257 0.000002 -2.502787 +v -0.125859 0.000002 -2.749997 +v -0.197676 0.114130 -2.997207 +v -0.228257 0.000002 -2.997207 +v -0.722677 0.000002 -2.997207 +v -0.625857 -0.361336 -2.502787 +v -0.475467 0.000002 -2.400390 +v -0.197676 -0.114126 -2.502787 +v -0.197676 -0.114127 -2.997207 +v -0.475467 0.000002 -3.099605 +v -0.625857 -0.361336 -2.997207 +v -0.714536 -0.412536 -2.749997 +v -0.361338 -0.625855 -2.502787 +v -0.411767 -0.237732 -2.400389 +v -0.114128 -0.197674 -2.502787 +v -0.062929 -0.108995 -2.749997 +v -0.108997 -0.062928 -2.749997 +v -0.114128 -0.197675 -2.997207 +v -0.411767 -0.237732 -3.099605 +v -0.361338 -0.625855 -2.997207 +v -0.412537 -0.714534 -2.749997 +v 0.000000 -0.722675 -2.502787 +v -0.237733 -0.411765 -2.400389 +v 0.000000 -0.475466 -2.400389 +v 0.000000 -0.228255 -2.502787 +v 0.000000 -0.125858 -2.749997 +v 0.000000 -0.475465 -3.099605 +v -0.237733 -0.411765 -3.099605 +v 0.000000 -0.722675 -2.997207 +v 0.412538 -0.714534 -2.749997 +v 0.000000 -0.825073 -2.749997 +v 0.237734 -0.411765 -2.400389 +v 0.114129 -0.197675 -2.502787 +v 0.114128 -0.197674 -2.997207 +v 0.000000 -0.228255 -2.997207 +v 0.237734 -0.411765 -3.099605 +v 0.625857 -0.361337 -2.502787 +v 0.361339 -0.625855 -2.502787 +v 0.411767 -0.237732 -2.400389 +v 0.108997 -0.062928 -2.749997 +v 0.062930 -0.108995 -2.749997 +v 0.411767 -0.237732 -3.099605 +v 0.625857 -0.361337 -2.997207 +v 0.361339 -0.625855 -2.997207 +v 0.714536 -0.412536 -2.749997 +v 0.197676 -0.114126 -2.502787 +v 0.197676 -0.114126 -2.997207 +v 0.000000 0.244981 -2.381067 +v -0.173227 0.173227 -2.381067 +v -0.244980 0.000000 -2.381067 +v -0.173227 -0.173228 -2.381067 +v 0.000000 -0.244981 -2.381067 +v 0.173228 -0.173228 -2.381067 +v 0.244981 0.000000 -2.381067 +v 0.173228 0.173227 -2.381067 +v 0.766850 -0.407689 0.290518 +vt 0.342277 0.470539 +vt 0.311363 0.449920 +vt 0.336973 0.449920 +vt 0.319635 0.360294 +vt 0.374429 0.301471 +vt 0.374429 0.360294 +vt 0.442922 0.617647 +vt 0.438356 0.573529 +vt 0.438356 0.617647 +vt 0.456621 0.235294 +vt 0.511416 0.176471 +vt 0.511416 0.235294 +vt 0.059361 0.110294 +vt 0.054795 0.169118 +vt 0.054795 0.110294 +vt 0.305936 0.617647 +vt 0.310502 0.794118 +vt 0.305936 0.794118 +vt 0.694064 0.279412 +vt 0.397260 0.088235 +vt 0.452055 0.000000 +vt 0.452055 0.088235 +vt 0.118683 0.110505 +vt 0.118683 0.139406 +vt 0.109709 0.124955 +vt 0.219178 0.411765 +vt 0.223744 0.419118 +vt 0.223744 0.411765 +vt 0.223744 0.448529 +vt 0.219178 0.455882 +vt 0.219178 0.448529 +vt 0.301370 0.860294 +vt 0.305936 0.801471 +vt 0.305936 0.860294 +vt 0.433790 0.948529 +vt 0.438356 0.625000 +vt 0.438356 0.948529 +vt 0.219178 0.470588 +vt 0.223744 0.463235 +vt 0.219178 0.463235 +vt 0.442922 1.000000 +vt 0.447489 0.955882 +vt 0.447489 1.000000 +vt 0.045662 0.029412 +vt 0.041096 0.036765 +vt 0.041096 0.029412 +vt 0.041096 0.022059 +vt 0.004566 0.029412 +vt 0.004566 0.022059 +vt 0.013699 0.051471 +vt 0.050228 0.110294 +vt 0.013699 0.110294 +vt 0.059361 0.051471 +vt 0.050228 0.051471 +vt 0.219178 0.433824 +vt 0.223744 0.441176 +vt 0.223744 0.433824 +vt 0.219178 0.433824 +vt 0.223744 0.441176 +vt 0.223744 0.433824 +vt 0.063927 0.051471 +vt 0.059361 0.110294 +vt 0.799087 0.529412 +vt 0.853881 0.647059 +vt 0.799087 0.647059 +vt 0.223744 0.433824 +vt 0.219178 0.426471 +vt 0.223744 0.426471 +vt 0.223744 0.433824 +vt 0.219178 0.441176 +vt 0.219178 0.433824 +vt 0.762557 0.088235 +vt 0.817352 0.000000 +vt 0.817352 0.088235 +vt 0.360731 0.500000 +vt 0.342466 0.573529 +vt 0.342466 0.500000 +vt 0.319635 0.301471 +vt 0.292237 0.360294 +vt 0.292237 0.301471 +vt 0.223744 0.448529 +vt 0.219178 0.448529 +vt 0.461174 0.360537 +vt 0.461174 0.389597 +vt 0.454794 0.364793 +vt 0.223744 0.419118 +vt 0.219178 0.426471 +vt 0.219178 0.419118 +vt 0.223744 0.470588 +vt 0.219178 0.463235 +vt 0.223744 0.463235 +vt 0.223744 0.448529 +vt 0.219178 0.455882 +vt 0.219178 0.448529 +vt 0.219178 0.419118 +vt 0.223744 0.426471 +vt 0.219178 0.426471 +vt 0.219178 0.419118 +vt 0.223744 0.426471 +vt 0.228371 0.463247 +vt 0.236070 0.458111 +vt 0.237391 0.463247 +vt 0.429224 0.360294 +vt 0.456621 0.301471 +vt 0.456621 0.360294 +vt 0.219178 0.433824 +vt 0.219178 0.411765 +vt 0.223744 0.419118 +vt 0.223744 0.411765 +vt 0.433790 0.948529 +vt 0.438356 0.625000 +vt 0.433790 0.625000 +vt 0.301370 0.794118 +vt 0.305936 0.617647 +vt 0.305936 0.794118 +vt 0.219178 0.441176 +vt 0.223744 0.441176 +vt 0.301370 0.794118 +vt 0.296804 0.801471 +vt 0.296804 0.794118 +vt 0.228371 0.463247 +vt 0.236070 0.458111 +vt 0.237391 0.463247 +vt 0.223744 0.433824 +vt 0.292237 0.794118 +vt 0.296804 0.617647 +vt 0.296804 0.794118 +vt 0.219178 0.455882 +vt 0.210046 0.830882 +vt 0.283105 0.816176 +vt 0.283105 0.830882 +vt 0.223744 0.411765 +vt 0.219178 0.419118 +vt 0.219178 0.411765 +vt 0.799087 0.882353 +vt 0.853881 1.000000 +vt 0.799087 1.000000 +vt 0.219178 0.441176 +vt 0.219178 0.433824 +vt 0.229692 0.468382 +vt 0.236070 0.458111 +vt 0.237391 0.463247 +vt 0.210046 0.941176 +vt 0.283105 0.926471 +vt 0.283105 0.941176 +vt 0.447489 0.955882 +vt 0.442922 1.000000 +vt 0.447489 1.000000 +vt 0.210046 0.838235 +vt 0.283105 0.852941 +vt 0.210046 0.852941 +vt 0.301370 0.617647 +vt 0.301370 0.794118 +vt 0.360810 0.632280 +vt 0.360810 0.573965 +vt 0.376492 0.617702 +vt 0.296804 0.801471 +vt 0.301370 0.860294 +vt 0.296804 0.860294 +vt 0.372117 0.838450 +vt 0.377921 0.854637 +vt 0.366313 0.854637 +vt 0.301370 0.617647 +vt 0.296804 0.794118 +vt 0.296804 0.617647 +vt 0.296804 0.801471 +vt 0.293547 0.797798 +vt 0.296804 0.794118 +vt 0.004566 0.036765 +vt 0.000000 0.029412 +vt 0.004566 0.029412 +vt -0.000000 0.029412 +vt 0.219178 0.448529 +vt 0.223744 0.455882 +vt 0.223744 0.448529 +vt 0.304551 0.797798 +vt 0.301370 0.801471 +vt 0.301370 0.794118 +vt 0.292237 0.345588 +vt 0.219178 0.338235 +vt 0.292237 0.338235 +vt 0.301370 0.801471 +vt 0.305936 0.860294 +vt 0.301370 0.860294 +vt 0.310502 0.617647 +vt 0.310502 0.794118 +vt 0.305936 0.617647 +vt 0.310502 0.794118 +vt 0.305936 0.794118 +vt 0.301370 0.801471 +vt 0.304551 0.797798 +vt 0.438356 1.000000 +vt 0.433790 0.955882 +vt 0.438356 0.955882 +vt 0.292237 0.794118 +vt 0.219178 0.463235 +vt 0.223744 0.455882 +vt 0.219178 0.455882 +vt 0.223744 0.448529 +vt 0.223744 0.441176 +vt 0.293547 0.797798 +vt 0.045662 0.036765 +vt 0.041096 0.051471 +vt 0.292237 0.860294 +vt 0.296804 0.801471 +vt 0.296804 0.860294 +vt 0.438356 0.573529 +vt 0.442922 0.617647 +vt 0.438356 0.617647 +vt 0.296804 0.860294 +vt 0.301370 0.801471 +vt 0.296804 0.794118 +vt 0.296804 0.801471 +vt 0.296804 0.801471 +vt 0.301370 0.617647 +vt 0.210046 0.617647 +vt 0.283105 0.632353 +vt 0.210046 0.632353 +vt 0.598173 1.000000 +vt 0.652968 0.882353 +vt 0.652968 1.000000 +vt 0.223744 0.448529 +vt 0.219178 0.448529 +vt 0.304566 0.797886 +vt 0.301370 0.801471 +vt 0.301370 0.794118 +vt 0.219178 0.463235 +vt 0.223744 0.455882 +vt 0.219178 0.455882 +vt 0.223744 0.470588 +vt 0.219178 0.463235 +vt 0.223744 0.463235 +vt 0.223744 0.463235 +vt 0.223744 0.455882 +vt 0.511416 0.176471 +vt 0.456621 0.235294 +vt 0.456621 0.176471 +vt 0.296804 0.801471 +vt 0.293547 0.797798 +vt 0.296804 0.794118 +vt 0.073059 0.110294 +vt 0.063927 0.169118 +vt 0.063927 0.110294 +vt 0.304551 0.797798 +vt 0.301370 0.801471 +vt 0.301370 0.794118 +vt 0.223744 0.411765 +vt 0.219178 0.419118 +vt 0.219178 0.411765 +vt 0.598173 0.294118 +vt 0.652968 0.411765 +vt 0.598173 0.411765 +vt 0.438356 0.955882 +vt 0.442922 0.955882 +vt 0.004566 0.051471 +vt 0.000000 0.036765 +vt 0.146119 0.169118 +vt 0.127854 0.338235 +vt 0.127854 0.169118 +vt 0.118661 0.139960 +vt 0.118661 0.168966 +vt 0.112292 0.164718 +vt 0.219178 0.455882 +vt 0.449793 0.952194 +vt 0.447489 0.955882 +vt 0.447489 0.948529 +vt 0.292237 0.242647 +vt 0.397260 0.301471 +vt 0.292237 0.301471 +vt 0.442922 0.955882 +vt 0.440661 0.952194 +vt 0.442922 0.948529 +vt 0.449728 0.621287 +vt 0.447489 0.625000 +vt 0.447489 0.617647 +vt 0.442922 0.625000 +vt 0.442922 0.948529 +vt 0.000000 0.169118 +vt 0.009132 0.110294 +vt 0.009132 0.169118 +vt 0.598173 0.529412 +vt 0.652968 0.647059 +vt 0.598173 0.647059 +vt 0.442922 0.625000 +vt 0.440640 0.621287 +vt 0.442922 0.617647 +vt 0.223744 0.470588 +vt 0.219178 0.463235 +vt 0.223744 0.463235 +vt 0.447489 0.948529 +vt 0.452055 0.625000 +vt 0.447489 0.625000 +vt 0.237391 0.463247 +vt 0.228371 0.463247 +vt 0.232881 0.455984 +vt 0.118683 0.110505 +vt 0.118683 0.139406 +vt 0.109709 0.124955 +vt 0.164384 0.345588 +vt 0.146119 0.338235 +vt 0.164384 0.338235 +vt 0.219178 0.411765 +vt 0.223744 0.411765 +vt 0.223744 0.455882 +vt 0.127854 0.345588 +vt 0.127854 0.382353 +vt 0.114155 0.382353 +vt 0.219178 0.426471 +vt 0.223744 0.426471 +vt 0.219178 0.441176 +vt 0.365186 0.831254 +vt 0.328954 0.831254 +vt 0.347070 0.802082 +vt 0.301370 0.860294 +vt 0.305936 0.801471 +vt 0.305936 0.860294 +vt 0.045662 0.022059 +vt 0.041096 0.029412 +vt 0.447489 0.573529 +vt 0.442922 0.573529 +vt 0.041096 0.007353 +vt 0.415525 0.301471 +vt 0.415525 0.360294 +vt 0.452055 0.955882 +vt 0.073059 0.345588 +vt 0.018265 0.382353 +vt 0.000000 0.345588 +vt 0.073059 0.382353 +vt 0.219178 0.455882 +vt 0.223744 0.463235 +vt 0.223744 0.455882 +vt 0.164384 0.382353 +vt 0.146119 0.345588 +vt 0.305936 0.794118 +vt 0.310502 0.617647 +vt 0.310502 0.794118 +vt 0.333333 0.764706 +vt 0.356164 0.779412 +vt 0.333333 0.779412 +vt 0.219178 0.345588 +vt 0.178082 0.382353 +vt 0.136986 0.582690 +vt 0.132428 0.574480 +vt 0.136986 0.576331 +vt 0.136986 0.716219 +vt 0.132428 0.708120 +vt 0.136986 0.709860 +vt 0.132428 0.674036 +vt 0.136986 0.665350 +vt 0.136986 0.671709 +vt 0.136986 0.620841 +vt 0.132428 0.629490 +vt 0.132428 0.619027 +vt 0.136986 0.849748 +vt 0.132428 0.841760 +vt 0.136986 0.843389 +vt 0.132428 0.540397 +vt 0.136986 0.531821 +vt 0.136986 0.538180 +vt 0.132428 0.495850 +vt 0.136986 0.487312 +vt 0.136986 0.493670 +vt 0.132428 0.896770 +vt 0.136986 0.887899 +vt 0.136986 0.894257 +vt 0.132428 0.941316 +vt 0.136986 0.932409 +vt 0.136986 0.938767 +vt 0.136986 0.983277 +vt 0.132428 0.975400 +vt 0.136986 0.976918 +vt 0.329428 0.924405 +vt 0.292840 0.930207 +vt 0.298578 0.895724 +vt 0.292237 0.889706 +vt 0.283105 0.889706 +vt 0.356164 0.750000 +vt 0.333333 0.764706 +vt 0.333333 0.750000 +vt 0.283105 0.963235 +vt 0.292237 1.000000 +vt 0.283105 1.000000 +vt 0.283105 0.705882 +vt 0.292237 0.669118 +vt 0.292237 0.705882 +vt 0.292237 0.779412 +vt 0.292237 0.816176 +vt 0.283105 0.742647 +vt 0.283105 0.779412 +vt 0.132428 0.763130 +vt 0.136986 0.754370 +vt 0.136986 0.760728 +vt 0.136986 0.805238 +vt 0.132428 0.797213 +vt 0.136986 0.798879 +vt 0.314254 0.870480 +vt 0.332065 0.920158 +vt 0.372759 0.964691 +vt 0.339272 0.940257 +vt 0.341909 0.936009 +vt 0.332065 0.940257 +vt 0.298578 0.964691 +vt 0.329428 0.936009 +vt 0.357083 0.870480 +vt 0.341909 0.924405 +vt 0.339272 0.920158 +vt 0.360782 0.573830 +vt 0.360782 0.632318 +vt 0.345054 0.588452 +vt 0.890927 0.983706 +vt 0.963713 0.780700 +vt 0.963713 0.983706 +vt 0.342874 0.930207 +vt 0.283105 0.669118 +vt 0.356164 0.735294 +vt 0.333333 0.750000 +vt 0.333333 0.735294 +vt 0.328463 0.930207 +vt 0.335669 0.999174 +vt 0.335669 0.941811 +vt 0.314254 0.989934 +vt 0.335669 0.861240 +vt 0.356164 0.779412 +vt 0.333333 0.794118 +vt 0.333333 0.779412 +vt 0.372759 0.895724 +vt 0.378497 0.930207 +vt 0.223744 0.426471 +vt 0.219178 0.426471 +vt 0.000000 0.007353 +vt -0.000000 0.022059 +vt 0.219178 0.470588 +vt 0.223744 0.463235 +vt 0.890302 0.749101 +vt 0.890302 0.545323 +vt 0.999895 0.647212 +vt 0.292237 0.860294 +vt 0.652968 0.529412 +vt 0.335669 0.918603 +vt 0.219178 0.426471 +vt 0.223744 0.433824 +vt 0.223744 0.426471 +vt 0.223744 0.455882 +vt 0.219178 0.455882 +vt 0.689694 0.984059 +vt 0.762606 0.780702 +vt 0.762606 0.984059 +vt 0.397260 0.242647 +vt 0.292237 0.183824 +vt 0.397260 0.183824 +vt 0.447489 0.625000 +vt 0.447489 0.948529 +vt 0.763142 0.545216 +vt 0.763142 0.748889 +vt 0.653606 0.647052 +vt 0.433790 0.955882 +vt 0.438356 1.000000 +vt 0.292237 0.617647 +vt 0.296804 0.794118 +vt 0.292237 0.794118 +vt 0.449775 0.952245 +vt 0.447489 0.948529 +vt 0.447489 0.955882 +vt 0.442922 0.625000 +vt 0.442922 0.948529 +vt 0.440634 0.952245 +vt 0.442922 0.955882 +vt 0.449814 0.621500 +vt 0.447489 0.617647 +vt 0.447489 0.625000 +vt 0.433790 0.500000 +vt 0.415525 0.573529 +vt 0.415525 0.500000 +vt 0.223744 0.419118 +vt 0.442922 0.617647 +vt 0.440812 0.621442 +vt 0.442922 0.625000 +vt 0.853881 0.764706 +vt 0.853881 0.882353 +vt 0.219178 0.448529 +vt 0.219178 0.426471 +vt 0.223744 0.419118 +vt 0.219178 0.419118 +vt 0.311363 0.491158 +vt 0.324168 0.441379 +vt 0.336973 0.449920 +vt 0.461174 0.360537 +vt 0.461174 0.389597 +vt 0.454794 0.364793 +vt 0.598173 0.882353 +vt 0.652968 0.764706 +vt -0.000000 0.110294 +vt 0.004566 0.110294 +vt 0.301370 0.617647 +vt 0.301370 0.794118 +vt 0.000000 0.338235 +vt 0.073059 0.338235 +vt 0.210046 0.720588 +vt 0.283105 0.720588 +vt 0.073059 0.169118 +vt 0.228371 0.463247 +vt 0.237391 0.463247 +vt 0.236070 0.458111 +vt 0.223744 0.470588 +vt 0.223744 0.463235 +vt 0.219178 0.441176 +vt 0.223744 0.448529 +vt 0.223744 0.441176 +vt 0.223744 0.470588 +vt 0.219178 0.463235 +vt 0.305936 0.801471 +vt 0.310502 0.860294 +vt 0.305936 0.860294 +vt 0.223744 0.433824 +vt 0.219178 0.441176 +vt 0.219178 0.433824 +vt 0.219178 0.470588 +vt 0.219178 0.463235 +vt 0.013699 0.169118 +vt 0.228371 0.463247 +vt 0.237391 0.463247 +vt 0.236070 0.458111 +vt 0.397260 0.242647 +vt 0.452055 0.301471 +vt 0.397260 0.500000 +vt 0.378995 0.573529 +vt 0.378995 0.500000 +vt 0.223744 0.448529 +vt 0.219178 0.448529 +vt 0.292237 0.860294 +vt 0.726027 0.088235 +vt 0.634703 0.000000 +vt 0.726027 0.000000 +vt 0.210046 0.727941 +vt 0.210046 0.742647 +vt 0.228371 0.463247 +vt 0.237391 0.463247 +vt 0.236070 0.458111 +vt 0.438356 0.183824 +vt 0.456621 0.125000 +vt 0.456621 0.183824 +vt 0.219178 0.419118 +vt 0.223744 0.419118 +vt 0.799087 0.764706 +vt 0.452055 1.000000 +vt 0.223744 0.426471 +vt 0.252150 0.509209 +vt 0.264843 0.500743 +vt 0.282793 0.529648 +vt 0.282793 0.529648 +vt 0.277535 0.550087 +vt 0.264843 0.558553 +vt 0.252150 0.550087 +vt 0.246892 0.529648 +vt 0.252150 0.509209 +vt 0.264843 0.500743 +vt 0.277535 0.509209 +vt 0.127657 0.124955 +vt 0.125028 0.135173 +vt 0.112337 0.135173 +vt 0.112337 0.114737 +vt 0.125028 0.114737 +vt 0.232881 0.470509 +vt 0.229692 0.468382 +vt 0.229692 0.458111 +vt 0.236070 0.458111 +vt 0.236070 0.468382 +vt 0.236070 0.468382 +vt 0.232881 0.470509 +vt 0.229692 0.468382 +vt 0.229692 0.458111 +vt 0.232881 0.455984 +vt 0.236070 0.468382 +vt 0.232881 0.470509 +vt 0.229692 0.468382 +vt 0.229692 0.458111 +vt 0.232881 0.455984 +vt 0.236070 0.468382 +vt 0.232881 0.470509 +vt 0.228371 0.463247 +vt 0.229692 0.458111 +vt 0.232881 0.455984 +vt 0.328962 0.831345 +vt 0.334242 0.810816 +vt 0.346991 0.802313 +vt 0.359739 0.810816 +vt 0.365020 0.831345 +vt 0.359739 0.851874 +vt 0.346991 0.860377 +vt 0.334242 0.851874 +vt 0.359880 0.810626 +vt 0.359880 0.851882 +vt 0.347070 0.860426 +vt 0.334260 0.851882 +vt 0.334260 0.810626 +vt 0.376509 0.588452 +vt 0.376509 0.617696 +vt 0.345054 0.617696 +vt 0.345129 0.617702 +vt 0.345129 0.588544 +vt 0.376492 0.588544 +vt 0.336973 0.491158 +vt 0.324168 0.499699 +vt 0.311363 0.491158 +vt 0.306060 0.470539 +vt 0.324168 0.441379 +vt 0.467554 0.364793 +vt 0.470197 0.375067 +vt 0.467554 0.385341 +vt 0.454794 0.385341 +vt 0.452151 0.375067 +vt 0.375468 0.858587 +vt 0.372117 0.860033 +vt 0.368766 0.858587 +vt 0.365415 0.849241 +vt 0.366313 0.843846 +vt 0.368766 0.839896 +vt 0.375468 0.839895 +vt 0.377921 0.843846 +vt 0.378819 0.849241 +vt 0.799061 0.882380 +vt 0.653239 0.882380 +vt 0.689694 0.780702 +vt 0.690118 0.748889 +vt 0.690118 0.545216 +vt 1.000105 0.882203 +vt 0.854535 0.882203 +vt 0.890927 0.780700 +vt 0.963364 0.545323 +vt 0.963364 0.749101 +vt 0.342277 0.470539 +vt 0.336973 0.491158 +vt 0.324168 0.499699 +vt 0.306060 0.470539 +vt 0.311363 0.449920 +vt 0.467554 0.364793 +vt 0.470197 0.375067 +vt 0.467554 0.385341 +vt 0.454794 0.385341 +vt 0.452151 0.375067 +vt 0.236070 0.468382 +vt 0.232881 0.470509 +vt 0.229692 0.468382 +vt 0.232881 0.455984 +vt 0.229692 0.458111 +vt 0.236070 0.468382 +vt 0.232881 0.470509 +vt 0.229692 0.468382 +vt 0.232881 0.455984 +vt 0.229692 0.458111 +vt 0.236070 0.468382 +vt 0.232881 0.470509 +vt 0.229692 0.468382 +vt 0.232881 0.455984 +vt 0.229692 0.458111 +vt 0.237391 0.463247 +vt 0.232881 0.470509 +vt 0.236070 0.468382 +vt 0.228371 0.463247 +vt 0.229692 0.468382 +vt 0.232881 0.455984 +vt 0.229692 0.458111 +vt 0.236070 0.458111 +vt 0.277535 0.550087 +vt 0.264843 0.558553 +vt 0.252150 0.550087 +vt 0.246892 0.529648 +vt 0.277535 0.509209 +vt 0.127657 0.124955 +vt 0.125028 0.135173 +vt 0.112337 0.135173 +vt 0.112337 0.114737 +vt 0.125028 0.114737 +vt 0.109654 0.154463 +vt 0.112292 0.144208 +vt 0.125030 0.144208 +vt 0.127667 0.154463 +vt 0.125030 0.164718 +vt 0.112292 0.164718 +vt 0.109654 0.154463 +vt 0.112292 0.144208 +vt 0.118661 0.139960 +vt 0.125030 0.144208 +vt 0.127667 0.154463 +vt 0.125030 0.164718 +vt 0.118661 0.168966 +vt 0.511416 0.235294 +vt 0.694064 0.132353 +vt 0.694064 0.279412 +vt 0.292237 0.169118 +vt 0.219178 0.169118 +vt 0.292237 0.617647 +vt 0.296804 0.794118 +vt 0.292237 0.794118 +vt 0.223744 0.441176 +vt 0.219178 0.441176 +vt 0.452055 0.573529 +vt 0.447489 0.617647 +vt 0.447489 0.573529 +vt 0.223744 0.441176 +vt 0.452055 0.573529 +vt 0.433790 0.573529 +vt 0.310502 0.801471 +vt 0.310502 0.860294 +vt 0.452055 0.617647 +vt 0.447489 0.617647 +vt 0.018265 0.110294 +vt 0.018265 0.169118 +vt 0.442922 0.573529 +vt 0.223744 0.419118 +vt 0.442922 0.948529 +vt 0.397260 0.573529 +vt 0.452055 0.625000 +vt 0.452055 0.948529 +vt 0.219178 0.433824 +vt 0.219178 0.411765 +vt 0.223744 0.411765 +vt 0.360731 0.573529 +vt 0.726027 0.000000 +vt 0.762557 0.000000 +vt 0.219178 0.448529 +vt 0.429224 0.301471 +vt 0.283105 0.558824 +vt 0.292237 0.595588 +vt 0.283105 0.595588 +vt 1.000000 0.000000 +vt 0.799087 0.294118 +vt 0.853881 0.411765 +vt 0.799087 0.411765 +vt 0.296804 0.617647 +vt 0.296804 0.617647 +vt 0.853881 0.529412 +vt 0.223744 0.455882 +vt 0.292237 0.183824 +vt 0.365297 0.125000 +vt 0.365297 0.183824 +vt 0.210046 0.610294 +vt 0.283105 0.610294 +vt 0.219178 0.441176 +vt 0.210046 0.948529 +vt 0.210046 0.963235 +vt 0.223744 0.433824 +vt 0.219178 0.433824 +vt 0.146119 0.345588 +vt 0.146119 0.338235 +vt 0.433790 0.617647 +vt 0.433790 0.573529 +vt 0.305936 0.801471 +vt 0.310502 0.860294 +vt 0.219178 0.419118 +vt 0.296804 0.801471 +vt 0.296804 0.860294 +vt 0.301370 0.801471 +vt 0.301370 0.794118 +vt 0.305936 0.617647 +vt 0.301370 0.801471 +vt 0.598173 0.764706 +vt 0.433790 0.617647 +vt 0.433790 0.573529 +vt 0.310502 0.801471 +vt 0.310502 0.860294 +vt 0.292237 0.801471 +vt 0.292237 0.860294 +vt 0.273973 0.382353 +vt 0.219178 0.382353 +vt 0.219178 0.411765 +vt 0.223744 0.411765 +vt 0.223744 0.411765 +vt 0.219178 0.411765 +vt 0.219178 0.426471 +vt 0.164384 0.169118 +vt 0.456621 0.176471 +vt 0.059361 0.169118 +vt 0.310502 0.617647 +vt 0.694064 0.132353 +vt 0.397260 0.000000 +vt 0.433790 0.625000 +vt 0.223744 0.470588 +vt 0.442922 0.955882 +vt 0.063927 0.110294 +vt 0.223744 0.441176 +vt 0.223744 0.426471 +vt 0.219178 0.470588 +vt 0.223744 0.419118 +vt 0.438356 0.948529 +vt 0.292237 0.617647 +vt 0.210046 0.816176 +vt 0.210046 0.926471 +vt 0.283105 0.838235 +vt 0.310502 0.617647 +vt 0.433790 1.000000 +vt 0.292237 0.617647 +vt 0.045662 0.051471 +vt 0.292237 0.801471 +vt 0.283105 0.617647 +vt 0.219178 0.470588 +vt 0.073059 0.169118 +vt 0.652968 0.294118 +vt -0.000000 0.051471 +vt 0.000000 0.110294 +vt 0.219178 0.470588 +vt 0.452055 0.948529 +vt 0.045662 0.029412 +vt 0.045662 0.007353 +vt 0.452055 1.000000 +vt 0.356164 0.764706 +vt 0.132428 0.584943 +vt 0.132428 0.718583 +vt 0.132428 0.663573 +vt 0.136986 0.627199 +vt 0.132428 0.852223 +vt 0.132428 0.529933 +vt 0.132428 0.485387 +vt 0.132428 0.886307 +vt 0.132428 0.930853 +vt 0.132428 0.985863 +vt 0.292237 0.852941 +vt 0.356164 0.764706 +vt 0.292237 0.963235 +vt 0.292237 0.742647 +vt 0.132428 0.752667 +vt 0.132428 0.807676 +vt 0.357083 0.989934 +vt 0.292237 0.632353 +vt 0.356164 0.750000 +vt 0.356164 0.794118 +vt 0.292237 0.926471 +vt 0.004566 0.007353 +vt 0.223744 0.470588 +vt 0.853771 0.647212 +vt 0.292237 0.801471 +vt 0.292237 0.242647 +vt 0.799654 0.647052 +vt 0.433790 1.000000 +vt 0.210046 0.705882 +vt 0.000000 0.169118 +vt 0.219178 0.470588 +vt 0.219178 0.470588 +vt 0.310502 0.801471 +vt 0.223744 0.470588 +vt 0.013699 0.110294 +vt 0.452055 0.242647 +vt 0.292237 0.801471 +vt 0.634703 0.088235 +vt 0.283105 0.727941 +vt 0.438356 0.125000 +vt 0.452055 0.955882 +vt 0.452055 0.617647 +vt 0.452055 0.500000 +vt 0.452055 0.573529 +vt 0.726027 0.088235 +vt 0.292237 0.558824 +vt 1.000000 0.088235 +vt 0.853881 0.294118 +vt 0.292237 0.125000 +vt 0.210046 0.595588 +vt 0.283105 0.948529 +vt 0.310502 0.801471 +vt 0.146119 0.169118 +vt 0.438356 0.382353 +vt 0.452055 0.500000 +vt 0.438356 0.500000 +vt 0.383562 0.382353 +vt 0.369863 0.500000 +vt 0.369863 0.382353 +vt 0.059361 0.411765 +vt 0.045662 0.419118 +vt 0.045662 0.411765 +vt 0.045662 0.441176 +vt 0.059361 0.448529 +vt 0.045662 0.448529 +vt 0.210046 1.000000 +vt 0.210046 0.926471 +vt 0.283105 0.889706 +vt 0.283105 0.926471 +vt 0.210046 0.889706 +vt 0.283105 0.852941 +vt 0.210046 0.889706 +vt 0.191781 0.558824 +vt 0.205479 0.470588 +vt 0.205479 0.558824 +vt 0.210046 0.705882 +vt 0.283105 0.669118 +vt 0.283105 0.705882 +vt 0.210046 0.779412 +vt -0.000000 0.691176 +vt 0.073059 0.735294 +vt -0.000000 0.735294 +vt 0.136986 0.669118 +vt 0.210046 0.669118 +vt 0.178082 0.470588 +vt 0.191781 0.470588 +vt 0.219178 0.558824 +vt 0.232877 0.470588 +vt 0.232877 0.558824 +vt 0.164384 0.558824 +vt 0.178082 0.558824 +vt 0.136986 0.382353 +vt 0.159817 0.389706 +vt 0.136986 0.389706 +vt 0.109589 0.154412 +vt 0.073059 0.161765 +vt 0.073059 0.154412 +vt 0.205479 0.558824 +vt 0.219178 0.470588 +vt 0.109589 0.110294 +vt 0.073059 0.117647 +vt 0.073059 0.110294 +vt 0.246575 0.470588 +vt 0.246575 0.558824 +vt 0.073059 0.125000 +vt 0.109589 0.132353 +vt 0.073059 0.132353 +vt 0.210046 0.558824 +vt 0.452055 0.382353 +vt 0.438356 0.500000 +vt 0.438356 0.382353 +vt 0.136986 0.963235 +vt 0.283105 0.779412 +vt 0.210046 0.742647 +vt 0.283105 0.742647 +vt -0.000000 0.779412 +vt 0.073059 0.823529 +vt -0.000000 0.823529 +vt 0.109589 0.125000 +vt 0.109589 0.117647 +vt 0.424658 0.500000 +vt 0.424658 0.382353 +vt 0.424658 0.573529 +vt 0.429224 0.779412 +vt 0.424658 0.779412 +vt 0.109589 0.169118 +vt 0.109589 0.161765 +vt 0.401826 0.573529 +vt 0.397260 1.000000 +vt 0.397260 0.573529 +vt 0.328767 0.772059 +vt 0.310502 0.794118 +vt 0.310502 0.772059 +vt 0.136986 0.632353 +vt 0.374429 0.360294 +vt 0.383562 0.382353 +vt 0.369863 0.382353 +vt 0.283105 0.595588 +vt 0.210046 0.558824 +vt 0.210046 0.595588 +vt 0.109589 0.132353 +vt 0.073059 0.139706 +vt 0.073059 0.132353 +vt 0.109589 0.169118 +vt 0.073059 0.161765 +vt 0.109589 0.161765 +vt 0.424658 0.382353 +vt 0.410959 0.500000 +vt 0.410959 0.382353 +vt 0.136986 0.852941 +vt 0.328767 0.727941 +vt 0.310502 0.750000 +vt 0.310502 0.727941 +vt 0.136986 0.889706 +vt 0.136986 0.558824 +vt 0.150685 0.470588 +vt 0.150685 0.558824 +vt 0.429224 0.573529 +vt 0.433790 0.779412 +vt -0.000000 0.647059 +vt 0.073059 0.691176 +vt 0.392694 0.573529 +vt 0.073059 0.779412 +vt 0.073059 0.154412 +vt 0.109589 0.154412 +vt 0.397260 0.500000 +vt 0.383562 0.500000 +vt 0.191781 0.558824 +vt 0.178082 0.470588 +vt 0.191781 0.470588 +vt 0.109589 0.139706 +vt 0.073059 0.147059 +vt 0.356164 0.382353 +vt 0.342466 0.500000 +vt 0.342466 0.382353 +vt 0.383562 0.779412 +vt 0.388128 0.573529 +vt 0.388128 0.779412 +vt -0.000000 0.426471 +vt 0.027397 0.433824 +vt -0.000000 0.433824 +vt -0.000000 0.455882 +vt 0.027397 0.463235 +vt -0.000000 0.463235 +vt -0.000000 0.448529 +vt 0.027397 0.455882 +vt 0.091317 0.732981 +vt 0.200913 0.397059 +vt 0.219178 0.404412 +vt 0.200913 0.404412 +vt 0.100457 0.411765 +vt 0.118721 0.419118 +vt 0.100457 0.419118 +vt 0.027397 0.382353 +vt -0.000000 0.389706 +vt -0.000000 0.382353 +vt 0.027397 0.441176 +vt -0.000000 0.441176 +vt 0.027397 0.448529 +vt 0.027397 0.397059 +vt -0.000000 0.404412 +vt -0.000000 0.397059 +vt 0.027397 0.389706 +vt 0.027397 0.470588 +vt -0.000000 0.470588 +vt 0.045662 0.382353 +vt 0.045662 0.397059 +vt 0.027397 0.404412 +vt 0.045662 0.455882 +vt 0.082192 0.433824 +vt 0.068493 0.441176 +vt 0.068493 0.433824 +vt 0.045662 0.470588 +vt 0.200913 0.455882 +vt 0.178082 0.463235 +vt 0.178082 0.455882 +vt 0.045662 0.389706 +vt 0.045662 0.404412 +vt 0.027397 0.411765 +vt 0.045662 0.463235 +vt 0.027397 0.426471 +vt 0.027397 0.419118 +vt 0.045662 0.426471 +vt 0.059361 0.433824 +vt 0.045662 0.433824 +vt 0.059361 0.441176 +vt 0.059361 0.455882 +vt 0.068493 0.404412 +vt 0.082192 0.411765 +vt 0.068493 0.411765 +vt 0.219178 0.455882 +vt 0.200913 0.463235 +vt 0.059361 0.382353 +vt 0.059361 0.389706 +vt 0.059361 0.397059 +vt 0.059361 0.404412 +vt 0.059361 0.463235 +vt 0.059361 0.470588 +vt 0.068493 0.426471 +vt 0.059361 0.426471 +vt 0.068493 0.455882 +vt 0.068493 0.448529 +vt 0.109598 0.521940 +vt 0.091317 0.556104 +vt 0.091317 0.516382 +vt 0.068493 0.463235 +vt 0.082192 0.419118 +vt 0.068493 0.397059 +vt 0.506849 0.897059 +vt 0.488584 0.852941 +vt 0.506849 0.845588 +vt 0.068493 0.419118 +vt 0.059361 0.419118 +vt 0.219178 0.433824 +vt 0.200913 0.441176 +vt 0.200913 0.433824 +vt 0.082192 0.426471 +vt 0.068493 0.389706 +vt 0.082192 0.397059 +vt 0.082192 0.441176 +vt 0.082192 0.455882 +vt 0.178082 0.404412 +vt 0.200913 0.411765 +vt 0.178082 0.411765 +vt 0.068493 0.382353 +vt 0.082192 0.389706 +vt 0.082192 0.404412 +vt 0.082192 0.448529 +vt 0.082192 0.463235 +vt 0.068493 0.470588 +vt 0.100457 0.463235 +vt 0.082192 0.470588 +vt 0.100457 0.433824 +vt 0.100457 0.448529 +vt -0.000000 0.411765 +vt -0.000000 0.419118 +vt 0.082192 0.382353 +vt 0.100457 0.389706 +vt 0.100457 0.397059 +vt 0.100457 0.404412 +vt 0.100457 0.455882 +vt 0.100457 0.426471 +vt 0.118721 0.426471 +vt 0.118721 0.455882 +vt 0.118721 0.404412 +vt 0.118721 0.448529 +vt 0.178082 0.441176 +vt 0.159817 0.448529 +vt 0.159817 0.441176 +vt 0.118721 0.463235 +vt 0.100457 0.470588 +vt 0.136986 0.448529 +vt 0.118721 0.433824 +vt 0.100457 0.441176 +vt 0.118721 0.411765 +vt 0.118721 0.397059 +vt 0.100457 0.382353 +vt 0.118721 0.389706 +vt 0.136986 0.426471 +vt 0.136986 0.455882 +vt 0.178082 0.382353 +vt 0.200913 0.389706 +vt 0.178082 0.389706 +vt 0.136986 0.441176 +vt 0.118721 0.441176 +vt 0.136986 0.397059 +vt 0.159817 0.404412 +vt 0.136986 0.404412 +vt 0.136986 0.463235 +vt 0.118721 0.470588 +vt 0.136986 0.411765 +vt 0.136986 0.419118 +vt 0.159817 0.455882 +vt 0.159817 0.426471 +vt 0.136986 0.433824 +vt 0.159817 0.433824 +vt 0.159817 0.419118 +vt 0.159817 0.463235 +vt 0.136986 0.470588 +vt 0.159817 0.397059 +vt 0.159817 0.411765 +vt 0.159817 0.470588 +vt 0.118721 0.382353 +vt 0.178082 0.426471 +vt 0.178082 0.433824 +vt 0.159817 0.382353 +vt 0.178082 0.419118 +vt 0.178082 0.448529 +vt 0.200913 0.426471 +vt 0.200913 0.448529 +vt 0.178082 0.470588 +vt 0.178082 0.397059 +vt 0.200913 0.419118 +vt 0.219178 0.463235 +vt 0.200913 0.470588 +vt 0.219178 0.426471 +vt 0.219178 0.441176 +vt 0.219178 0.448529 +vt 0.200913 0.382353 +vt 0.219178 0.389706 +vt 0.219178 0.397059 +vt 0.219178 0.411765 +vt 0.219178 0.419118 +vt 0.205479 0.470588 +vt 0.109589 0.139706 +vt 0.073059 0.139706 +vt 0.136986 0.742647 +vt 0.150685 0.558824 +vt 0.164384 0.470588 +vt 0.452055 0.669118 +vt 0.470320 0.654412 +vt 0.470320 0.676471 +vt 0.488584 0.389706 +vt 0.470320 0.419118 +vt 0.470320 0.397059 +vt 0.561644 0.735294 +vt 0.579909 0.705882 +vt 0.579909 0.727941 +vt 0.598173 0.713235 +vt 0.579909 0.727941 +vt 0.579909 0.705882 +vt 0.470320 0.573529 +vt 0.452055 0.558824 +vt 0.470320 0.551471 +vt 0.579909 0.985294 +vt 0.561644 0.955882 +vt 0.579909 0.963235 +vt 0.561644 0.580882 +vt 0.543379 0.536765 +vt 0.561644 0.544118 +vt 0.525114 0.485294 +vt 0.506849 0.433824 +vt 0.525114 0.433824 +vt 0.525114 0.845588 +vt 0.561644 0.889706 +vt 0.543379 0.845588 +vt 0.561644 0.852941 +vt 0.506849 0.691176 +vt 0.488584 0.735294 +vt 0.488584 0.698529 +vt 0.470320 0.470588 +vt 0.452055 0.455882 +vt 0.470320 0.448529 +vt 0.543379 0.897059 +vt 0.525114 0.845588 +vt 0.543379 0.845588 +vt 0.579909 0.448529 +vt 0.561644 0.477941 +vt 0.561644 0.441176 +vt 0.506849 0.588235 +vt 0.488584 0.632353 +vt 0.488584 0.595588 +vt 0.579909 0.625000 +vt 0.598173 0.610294 +vt 0.598173 0.617647 +vt 0.506849 0.794118 +vt 0.525114 0.794118 +vt 0.506849 0.536765 +vt 0.488584 0.492647 +vt 0.506849 0.485294 +vt 0.561644 0.492647 +vt 0.543379 0.485294 +vt 0.525114 0.742647 +vt 0.506849 0.742647 +vt 0.543379 0.588235 +vt 0.525114 0.536765 +vt 0.488584 0.801471 +vt 0.470320 0.830882 +vt 0.470320 0.808824 +vt 0.506849 0.691176 +vt 0.488584 0.647059 +vt 0.506849 0.639706 +vt 0.506849 0.433824 +vt 0.525114 0.382353 +vt 0.525114 0.433824 +vt 0.543379 0.742647 +vt 0.525114 0.691176 +vt 0.543379 0.691176 +vt 0.506849 0.536765 +vt 0.488584 0.492647 +vt 0.506849 0.485294 +vt 0.506849 0.897059 +vt 0.488584 0.852941 +vt 0.506849 0.845588 +vt 0.579909 0.470588 +vt 0.598173 0.455882 +vt 0.598173 0.463235 +vt 0.470320 0.727941 +vt 0.452055 0.713235 +vt 0.470320 0.705882 +vt 0.579909 0.551471 +vt 0.561644 0.580882 +vt 0.561644 0.544118 +vt 0.488584 0.735294 +vt 0.488584 0.698529 +vt 0.525114 1.000000 +vt 0.543379 0.948529 +vt 0.543379 1.000000 +vt 0.525114 0.897059 +vt 0.543379 0.897059 +vt 0.561644 0.750000 +vt 0.543379 0.794118 +vt 0.579909 0.757353 +vt 0.561644 0.786765 +vt 0.470320 0.933824 +vt 0.452055 0.919118 +vt 0.470320 0.911765 +vt 0.452055 0.617647 +vt 0.470320 0.602941 +vt 0.470320 0.625000 +vt 0.470320 0.882353 +vt 0.470320 0.860294 +vt 0.561644 0.750000 +vt 0.543379 0.794118 +vt 0.543379 0.742647 +vt 0.525114 0.639706 +vt 0.506849 0.588235 +vt 0.525114 0.588235 +vt 0.525114 0.536765 +vt 0.488584 0.477941 +vt 0.470320 0.448529 +vt 0.488584 0.441176 +vt 0.579909 0.830882 +vt 0.561644 0.801471 +vt 0.579909 0.808824 +vt 0.525114 0.485294 +vt 0.452055 0.823529 +vt 0.488584 0.580882 +vt 0.488584 0.544118 +vt 0.488584 0.838235 +vt 0.506849 0.794118 +vt 0.470320 0.573529 +vt 0.452055 0.558824 +vt 0.470320 0.551471 +vt 0.579909 0.470588 +vt 0.598173 0.455882 +vt 0.598173 0.463235 +vt 0.561644 0.441176 +vt 0.579909 0.448529 +vt 0.579909 0.522059 +vt 0.561644 0.492647 +vt 0.579909 0.500000 +vt 0.598173 0.514706 +vt 0.598173 0.507353 +vt 0.470320 0.882353 +vt 0.452055 0.867647 +vt 0.470320 0.860294 +vt 0.561644 0.426471 +vt 0.543379 0.382353 +vt 0.561644 0.389706 +vt 0.488584 0.477941 +vt 0.488584 0.441176 +vt 0.470320 0.625000 +vt 0.452055 0.610294 +vt 0.470320 0.602941 +vt 0.525114 0.742647 +vt 0.506849 0.742647 +vt 0.543379 0.536765 +vt 0.598173 0.772059 +vt 0.579909 0.757353 +vt 0.598173 0.764706 +vt 0.598173 0.617647 +vt 0.579909 0.602941 +vt 0.598173 0.610294 +vt 0.579909 0.654412 +vt 0.561644 0.683824 +vt 0.561644 0.647059 +vt 0.561644 0.801471 +vt 0.525114 0.897059 +vt 0.506849 0.948529 +vt 0.525114 1.000000 +vt 0.525114 0.948529 +vt 0.543379 0.485294 +vt 0.488584 0.580882 +vt 0.488584 0.544118 +vt 0.452055 0.977941 +vt 0.470320 0.963235 +vt 0.470320 0.985294 +vt 0.579909 0.830882 +vt 0.579909 0.808824 +vt 0.506849 0.948529 +vt 0.525114 0.948529 +vt 0.525114 0.639706 +vt 0.109599 0.947655 +vt 0.109598 0.918189 +vt 0.598173 0.977941 +vt 0.598173 0.970588 +vt 0.598173 0.977941 +vt 0.579909 0.963235 +vt 0.598173 0.970588 +vt 0.506849 0.382353 +vt 0.561644 0.647059 +vt 0.543379 0.639706 +vt 0.525114 0.382353 +vt 0.543379 0.433824 +vt 0.488584 0.955882 +vt 0.488584 0.992647 +vt 0.561644 0.889706 +vt 0.561644 0.852941 +vt 0.470320 0.419118 +vt 0.452055 0.404412 +vt 0.470320 0.397059 +vt 0.470320 0.933824 +vt 0.452055 0.919118 +vt 0.470320 0.911765 +vt 0.488584 0.529412 +vt 0.470320 0.500000 +vt 0.543379 0.948529 +vt 0.525114 0.691176 +vt 0.561644 0.529412 +vt 0.579909 0.500000 +vt 0.579909 0.522059 +vt 0.543379 1.000000 +vt 0.598173 0.867647 +vt 0.579909 0.882353 +vt 0.579909 0.860294 +vt 0.561644 0.786765 +vt 0.598173 0.669118 +vt 0.579909 0.654412 +vt 0.598173 0.661765 +vt 0.397260 0.779412 +vt 0.401826 0.573529 +vt 0.401826 0.779412 +vt 0.109589 0.110294 +vt 0.073059 0.117647 +vt 0.073059 0.110294 +vt 0.073059 0.147059 +vt 0.328767 0.705882 +vt 0.310502 0.705882 +vt 0.073059 0.125000 +vt 0.228310 0.441176 +vt 0.228310 0.433824 +vt 0.228310 0.441176 +vt 0.228310 0.433824 +vt 0.228310 0.441176 +vt 0.228310 0.426471 +vt 0.228310 0.419118 +vt 0.228310 0.463235 +vt 0.228310 0.426471 +vt 0.228310 0.441176 +vt 0.228310 0.433824 +vt 0.228310 0.426471 +vt 0.228310 0.419118 +vt 0.228310 0.455882 +vt 0.228310 0.448529 +vt 0.228310 0.455882 +vt 0.228310 0.455882 +vt 0.228310 0.419118 +vt 0.228310 0.426471 +vt 0.228310 0.433824 +vt 0.228310 0.455882 +vt 0.228310 0.426471 +vt 0.228310 0.455882 +vt 0.228310 0.448529 +vt 0.228310 0.448529 +vt 0.228310 0.448529 +vt 0.228310 0.411765 +vt 0.228310 0.433824 +vt 0.228310 0.441176 +vt 0.228310 0.426471 +vt 0.228310 0.441176 +vt 0.228310 0.426471 +vt 0.228310 0.455882 +vt 0.228310 0.448529 +vt 0.406393 0.779412 +vt 0.136986 0.595588 +vt 0.328767 0.860294 +vt 0.310502 0.838235 +vt 0.328767 0.838235 +vt 0.310502 0.816176 +vt 0.369863 0.500000 +vt 0.374429 0.360294 +vt 0.406393 1.000000 +vt 0.406393 0.573529 +vt 0.328767 0.683824 +vt 0.310502 0.683824 +vt 0.433790 0.360294 +vt 0.365297 0.360294 +vt 0.420091 0.360294 +vt 0.410959 0.382353 +vt 0.420091 0.360294 +vt 0.397260 0.382353 +vt 0.406393 0.360294 +vt 0.351598 0.360294 +vt 0.397260 0.382353 +vt 0.406393 0.360294 +vt 0.356164 0.500000 +vt 0.356164 0.382353 +vt -0.000000 0.470588 +vt 0.073059 0.514706 +vt -0.000000 0.514706 +vt -0.000000 0.602941 +vt 0.073059 0.647059 +vt 0.392694 0.779412 +vt 0.392694 0.573529 +vt 0.219178 0.558824 +vt 0.232877 0.470588 +vt 0.232877 0.558824 +vt -0.000000 0.867647 +vt 0.073059 0.911765 +vt -0.000000 0.911765 +vt 0.210046 0.816176 +vt 0.283105 0.816176 +vt 0.091317 0.781697 +vt 0.109598 0.698051 +vt 0.109598 0.727517 +vt 0.073059 0.867647 +vt 0.091317 0.825917 +vt 0.091317 0.865639 +vt 0.073059 0.558824 +vt 0.091317 0.600323 +vt 0.073059 0.602941 +vt 0.091317 0.914355 +vt 0.073059 0.955882 +vt 0.091317 0.737478 +vt 0.091317 0.958574 +vt 0.073059 1.000000 +vt 0.091317 0.604820 +vt 0.091317 0.870136 +vt 0.091317 0.472163 +vt 0.073059 0.470588 +vt 0.525114 0.588235 +vt 0.091317 0.649040 +vt 0.109598 0.609995 +vt 0.109598 0.639461 +vt 0.091317 0.954077 +vt 0.228310 0.455882 +vt 0.109598 0.507378 +vt 0.091317 0.511885 +vt 0.109598 0.654023 +vt 0.091317 0.688762 +vt 0.109598 0.565968 +vt 0.091317 0.560601 +vt 0.109599 0.830134 +vt 0.109598 0.771545 +vt 0.091317 0.777200 +vt 0.091317 0.644543 +vt 0.109599 0.903628 +vt 0.091317 0.909858 +vt 0.109598 0.991683 +vt 0.091317 0.998296 +vt 0.109599 0.815572 +vt 0.091317 0.821420 +vt 0.397260 0.573529 +vt 0.109598 0.551406 +vt 0.109598 0.742078 +vt 0.109598 0.683489 +vt 0.109599 0.874162 +vt 0.109598 0.595434 +vt 0.109598 0.786106 +vt 0.109599 0.859600 +vt 0.109598 0.477913 +vt 0.415525 0.779412 +vt 0.420091 0.573529 +vt 0.420091 0.779412 +vt 0.406393 0.573529 +vt 0.410959 0.779412 +vt 0.136986 0.926471 +vt 0.410959 0.573529 +vt 0.328767 0.816176 +vt 0.136986 0.816176 +vt 0.410959 0.500000 +vt 0.210046 0.669118 +vt 0.283105 0.632353 +vt 0.136986 0.705882 +vt 0.342466 0.382353 +vt 0.342466 0.500000 +vt -0.000000 0.558824 +vt 0.328767 0.750000 +vt -0.000000 0.955882 +vt -0.000000 1.000000 +vt 0.410959 1.000000 +vt 0.410959 0.573529 +vt 0.397260 0.500000 +vt 0.383562 1.000000 +vt 0.378995 0.573529 +vt 0.383562 0.573529 +vt 0.388128 0.573529 +vt 0.378995 0.779412 +vt 0.383562 0.573529 +vt 0.219178 0.470588 +vt 0.109589 0.125000 +vt 0.109589 0.117647 +vt 0.392694 1.000000 +vt 0.429224 1.000000 +vt 0.424658 0.573529 +vt 0.429224 0.573529 +vt 0.420091 1.000000 +vt 0.415525 0.573529 +vt 0.420091 0.573529 +vt 0.424658 1.000000 +vt 0.415525 1.000000 +vt 0.383562 0.500000 +vt 0.164384 0.558824 +vt 0.164384 0.470588 +vt 0.283105 1.000000 +vt 0.210046 0.963235 +vt 0.210046 1.000000 +vt 0.356164 0.500000 +vt 0.447489 0.360294 +vt 0.452055 0.382353 +vt 0.442922 0.360294 +vt 0.388128 0.360294 +vt 0.429224 0.360294 +vt 0.365297 0.360294 +vt 0.351598 0.360294 +vt 0.388128 0.360294 +vt 0.392694 0.360294 +vt 0.228310 0.441176 +vt 0.228310 0.448529 +vt 0.228310 0.411765 +vt 0.228310 0.411765 +vt 0.228310 0.463235 +vt 0.228310 0.470588 +vt 0.228310 0.433824 +vt 0.228310 0.411765 +vt 0.228310 0.411765 +vt 0.228310 0.448529 +vt 0.228310 0.455882 +vt 0.228310 0.441176 +vt 0.228310 0.419118 +vt 0.228310 0.419118 +vt 0.228310 0.463235 +vt 0.228310 0.448529 +vt 0.228310 0.426471 +vt 0.228310 0.419118 +vt 0.228310 0.433824 +vt 0.228310 0.411765 +vt 0.228310 0.463235 +vt 0.228310 0.463235 +vt 0.228310 0.470588 +vt 0.228310 0.470588 +vt 0.228310 0.419118 +vt 0.228310 0.463235 +vt 0.228310 0.470588 +vt 0.228310 0.470588 +vt 0.228310 0.463235 +vt 0.452055 0.669118 +vt 0.470320 0.654412 +vt 0.470320 0.676471 +vt 0.488584 0.801471 +vt 0.579909 0.551471 +vt 0.543379 0.691176 +vt 0.525114 0.794118 +vt 0.561644 0.735294 +vt 0.561644 0.632353 +vt 0.543379 0.588235 +vt 0.561644 0.595588 +vt 0.470320 0.830882 +vt 0.470320 0.808824 +vt 0.598173 0.404412 +vt 0.579909 0.419118 +vt 0.579909 0.397059 +vt 0.488584 0.632353 +vt 0.488584 0.595588 +vt 0.543379 0.433824 +vt 0.561644 0.698529 +vt 0.488584 0.904412 +vt 0.452055 0.514706 +vt 0.470320 0.522059 +vt 0.598173 0.558824 +vt 0.579909 0.573529 +vt 0.561644 0.389706 +vt 0.561644 0.426471 +vt 0.543379 0.382353 +vt 0.452055 0.514706 +vt 0.470320 0.500000 +vt 0.470320 0.522059 +vt 0.598173 0.823529 +vt 0.598173 0.816176 +vt 0.579909 0.419118 +vt 0.579909 0.397059 +vt 0.488584 0.389706 +vt 0.598173 0.514706 +vt 0.598173 0.507353 +vt 0.598173 0.713235 +vt 0.488584 0.750000 +vt 0.561644 0.955882 +vt 0.452055 0.823529 +vt 0.452055 0.816176 +vt 0.598173 0.558824 +vt 0.579909 0.573529 +vt 0.561644 0.632353 +vt 0.561644 0.595588 +vt 0.561644 0.904412 +vt 0.470320 0.757353 +vt 0.452055 0.772059 +vt 0.452055 0.764706 +vt 0.598173 0.919118 +vt 0.579909 0.933824 +vt 0.579909 0.911765 +vt 0.561644 0.941176 +vt 0.561644 0.992647 +vt 0.488584 0.904412 +vt 0.598173 0.669118 +vt 0.598173 0.661765 +vt 0.579909 0.676471 +vt 0.579909 0.625000 +vt 0.598173 0.823529 +vt 0.598173 0.816176 +vt 0.452055 0.720588 +vt 0.470320 0.705882 +vt 0.470320 0.727941 +vt 0.488584 0.889706 +vt 0.488584 0.992647 +vt 0.470320 0.963235 +vt 0.488584 0.955882 +vt 0.598173 0.919118 +vt 0.579909 0.933824 +vt 0.579909 0.911765 +vt 0.561644 0.698529 +vt 0.506849 0.382353 +vt 0.598173 0.772059 +vt 0.598173 0.764706 +vt 0.452055 0.772059 +vt 0.470320 0.757353 +vt 0.470320 0.779412 +vt 0.488584 0.683824 +vt 0.506849 1.000000 +vt 0.488584 0.941176 +vt 0.470320 0.470588 +vt 0.452055 0.455882 +vt 0.452055 0.977941 +vt 0.470320 0.985294 +vt 0.579909 0.602941 +vt 0.579909 0.860294 +vt 0.579909 0.882353 +vt 0.506849 0.639706 +vt 0.506849 1.000000 +vt 0.488584 0.750000 +vt 0.488584 0.786765 +vt 0.598173 0.404412 +vt 0.598173 0.411765 +vt 0.488584 0.683824 +vt 0.488584 0.647059 +vt 0.543379 0.639706 +vt 0.561644 0.477941 +vt 0.561644 0.904412 +vt 0.452055 0.404412 +vt 0.561644 0.941176 +vt 0.452055 0.867647 +vt 0.488584 0.529412 +vt 0.488584 0.786765 +vt 0.598173 0.867647 +vt 0.598173 0.875000 +vt 0.246575 0.470588 +vt 0.246575 0.558824 +vt 0.178082 0.558824 +vt 0.136986 0.558824 +vt 0.150685 0.470588 +vt 0.433790 1.000000 +vt 0.433790 0.573529 +vt 0.424658 0.500000 +vt 0.210046 0.852941 +vt 0.452055 0.500000 +vt 0.136986 1.000000 +vt 0.210046 0.779412 +vt 0.073059 0.169118 +vt 0.401826 1.000000 +vt 0.328767 0.794118 +vt 0.378995 0.360294 +vt 0.283105 0.558824 +vt 0.073059 0.169118 +vt 0.136986 0.470588 +vt 0.433790 0.573529 +vt 0.109589 0.147059 +vt 0.091317 0.693259 +vt 0.219178 0.470588 +vt 0.219178 0.382353 +vt 0.136986 0.779412 +vt 0.452055 0.661765 +vt 0.488584 0.426471 +vt 0.598173 0.720588 +vt 0.452055 0.566176 +vt 0.561644 0.992647 +vt 0.452055 0.463235 +vt 0.488584 0.889706 +vt 0.452055 0.720588 +vt 0.579909 0.779412 +vt 0.452055 0.926471 +vt 0.452055 0.610294 +vt 0.561644 0.838235 +vt 0.452055 0.816176 +vt 0.452055 0.566176 +vt 0.561644 0.529412 +vt 0.452055 0.875000 +vt 0.452055 0.617647 +vt 0.579909 0.779412 +vt 0.579909 0.676471 +vt 0.561644 0.838235 +vt 0.452055 0.970588 +vt 0.579909 0.985294 +vt 0.561644 0.683824 +vt 0.452055 0.411765 +vt 0.452055 0.926471 +vt 0.598173 0.875000 +vt 0.109589 0.147059 +vt 0.228310 0.433824 +vt 0.228310 0.470588 +vt 0.228310 0.419118 +vt 0.228310 0.411765 +vt 0.228310 0.463235 +vt 0.310502 0.860294 +vt 0.378995 0.360294 +vt 0.429224 0.360294 +vt 0.360731 0.360294 +vt 0.415525 0.360294 +vt 0.415525 0.360294 +vt 0.401826 0.360294 +vt 0.347032 0.360294 +vt 0.401826 0.360294 +vt 0.109599 0.962217 +vt 0.415525 0.573529 +vt 0.210046 0.632353 +vt 0.136986 0.558824 +vt 0.378995 1.000000 +vt 0.388128 1.000000 +vt 0.378995 0.573529 +vt 0.283105 0.963235 +vt 0.442922 0.360294 +vt 0.447489 0.360294 +vt 0.392694 0.360294 +vt 0.433790 0.360294 +vt 0.360731 0.360294 +vt 0.347032 0.360294 +vt 0.228310 0.411765 +vt 0.228310 0.470588 +vt 0.228310 0.470588 +vt 0.452055 0.661765 +vt 0.488584 0.838235 +vt 0.598173 0.411765 +vt 0.452055 0.507353 +vt 0.598173 0.566176 +vt 0.452055 0.507353 +vt 0.488584 0.426471 +vt 0.598173 0.720588 +vt 0.598173 0.566176 +vt 0.470320 0.779412 +vt 0.598173 0.926471 +vt 0.488584 0.941176 +vt 0.452055 0.713235 +vt 0.598173 0.926471 +vt 0.452055 0.764706 +vt 0.452055 0.463235 +vt 0.452055 0.970588 +vt 0.452055 0.411765 +vt 0.452055 0.875000 +vt 0.136986 0.470588 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0823 0.0000 0.9966 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -0.9239 0.3827 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 0.0000 1.0000 +vn -0.9966 0.0000 -0.0823 +vn 0.0000 -0.9239 -0.3827 +vn 0.9966 0.0000 0.0823 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.9239 0.3827 +vn 0.8660 0.5000 0.0000 +vn 0.0000 0.3827 0.9239 +vn -0.5000 -0.8660 0.0000 +vn 0.0000 0.6247 0.7809 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 -0.3827 0.9239 +vn 0.0000 0.6247 -0.7809 +vn 0.9966 0.0000 -0.0823 +vn 0.0000 0.7071 0.7071 +vn 0.8334 0.5053 0.2237 +vn 0.5710 0.7541 0.3245 +vn 0.9330 0.1768 0.3133 +vn -0.8660 -0.5000 0.0000 +vn -0.5053 0.8334 0.2237 +vn -0.7541 0.5710 0.3245 +vn -0.1768 0.9330 0.3133 +vn -0.0823 0.0000 -0.9966 +vn -0.6696 -0.7384 0.0797 +vn -0.4653 -0.7468 0.4752 +vn -0.2070 -0.9701 0.1267 +vn 0.0000 -0.3827 -0.9239 +vn 0.0823 0.0000 -0.9966 +vn 0.6696 0.7384 0.0797 +vn 0.4654 0.7467 0.4752 +vn 0.2123 0.9692 0.1246 +vn -0.9966 0.0000 0.0823 +vn 0.0000 -0.7071 0.7071 +vn -0.8660 0.5000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.0823 -0.0000 0.9966 +vn 0.0582 0.7071 -0.7047 +vn 0.5053 -0.8334 0.2237 +vn 0.7487 -0.5832 0.3152 +vn 0.1768 -0.9330 0.3133 +vn -0.5000 0.8660 0.0000 +vn -0.7384 0.6696 0.0797 +vn -0.7395 0.4623 0.4894 +vn -0.9690 0.2139 0.1240 +vn 0.5000 -0.8660 0.0000 +vn -0.0582 0.7071 0.7047 +vn 0.5000 0.8660 0.0000 +vn 0.0000 -0.9885 0.1514 +vn -0.0582 0.7071 -0.7047 +vn 0.0000 0.9894 0.1453 +vn 0.0582 0.7071 0.7047 +vn -0.8334 -0.5053 0.2237 +vn -0.5710 -0.7541 0.3245 +vn -0.9330 -0.1768 0.3133 +vn 0.7369 -0.6712 0.0805 +vn 0.7395 -0.4623 0.4894 +vn 0.9700 -0.2078 0.1263 +vn 0.7388 0.6692 0.0795 +vn 0.9690 0.2139 0.1240 +vn 0.7396 0.4621 0.4894 +vn -0.6692 0.7388 0.0795 +vn -0.2139 0.9690 0.1240 +vn -0.4621 0.7396 0.4894 +vn -0.5053 -0.8333 0.2243 +vn -0.1698 -0.9324 0.3191 +vn -0.7488 -0.5831 0.3151 +vn 0.5053 0.8333 0.2243 +vn 0.1698 0.9324 0.3191 +vn 0.7489 0.5831 0.3150 +vn 0.6692 -0.7388 0.0795 +vn 0.2070 -0.9701 0.1267 +vn 0.4652 -0.7469 0.4752 +vn -0.8333 0.5053 0.2243 +vn -0.9324 0.1698 0.3191 +vn -0.5710 0.7542 0.3244 +vn -0.7388 -0.6692 0.0795 +vn -0.9701 -0.2070 0.1267 +vn -0.7395 -0.4622 0.4894 +vn 0.8327 -0.5052 0.2265 +vn 0.9330 -0.1768 0.3133 +vn 0.5710 -0.7542 0.3244 +vn 0.6626 0.3491 -0.6626 +vn 0.7940 -0.6079 0.0000 +vn 0.5355 -0.6530 -0.5356 +vn 0.0001 -0.6302 -0.7764 +vn -0.0000 0.3491 -0.9371 +vn -0.0701 -0.9407 0.3320 +vn 0.1036 -0.6226 0.7756 +vn -0.2196 -0.8584 0.4637 +vn 0.6335 0.6194 0.4637 +vn 0.5257 0.8503 0.0243 +vn 0.5117 0.8588 0.0260 +vn -0.6581 -0.7437 0.1176 +vn 0.0000 -0.6185 0.7858 +vn -0.7848 -0.5347 0.3134 +vn -0.9744 -0.2049 0.0929 +vn -0.7572 -0.0000 0.6532 +vn -0.9740 0.2072 0.0919 +vn -0.9366 -0.0976 0.3366 +vn -0.7449 0.6569 0.1169 +vn 0.0003 0.7919 0.6107 +vn -0.7071 0.7071 0.0000 +vn -0.5490 0.5491 0.6302 +vn 0.7848 0.5347 0.3134 +vn 0.9744 0.2049 0.0929 +vn 0.6537 0.7479 0.1152 +vn -0.0000 0.6185 0.7858 +vn 0.2037 0.9746 0.0934 +vn -0.0000 0.9848 -0.1735 +vn 0.7431 0.6587 0.1179 +vn 0.7572 -0.0000 0.6532 +vn 0.7071 0.7071 0.0000 +vn 0.7764 -0.0000 -0.6302 +vn 0.7071 -0.7071 -0.0000 +vn 0.5490 -0.5490 -0.6302 +vn 0.7764 -0.0003 0.6302 +vn 0.5374 0.5372 0.6501 +vn -0.8117 0.4687 0.3485 +vn -0.9582 -0.0224 0.2851 +vn -0.9530 -0.0271 0.3018 +vn 0.6217 0.0001 -0.7833 +vn -0.6079 -0.5615 -0.5615 +vn -0.6443 -0.0000 -0.7648 +vn 0.5599 0.5600 -0.6107 +vn 0.6079 -0.7940 0.0000 +vn -0.6079 -0.5615 0.5615 +vn -0.6530 -0.7574 0.0000 +vn 0.0000 -0.7764 -0.6302 +vn -0.6388 -0.0001 0.7694 +vn 0.6302 0.5490 0.5490 +vn -0.6302 0.5490 0.5490 +vn 0.6587 -0.7431 0.1179 +vn -0.9371 0.3491 -0.0000 +vn -0.5489 -0.6302 0.5491 +vn -0.6626 0.3491 0.6626 +vn -0.3786 -0.6557 0.6532 +vn 0.5347 0.7848 0.3134 +vn -0.6377 -0.0000 0.7703 +vn -0.7465 -0.6552 0.1160 +vn -0.2049 0.9744 0.0929 +vn -0.8529 0.4924 -0.1735 +vn 0.6217 0.0001 0.7833 +vn 0.6530 -0.5355 0.5356 +vn 0.0000 -0.6079 -0.7940 +vn -0.3191 -0.5522 -0.7703 +vn -0.5379 -0.3106 -0.7837 +vn 0.6530 -0.5355 -0.5356 +vn 0.3318 0.5750 0.7479 +vn 0.6712 0.3876 0.6319 +vn 0.5281 0.3047 0.7926 +vn 0.9334 0.3588 0.0001 +vn -0.2713 0.7906 -0.5490 +vn -0.1604 0.9871 -0.0000 +vn 0.6516 -0.3762 0.6587 +vn 0.7491 -0.6525 0.1145 +vn 0.0000 0.8880 0.4599 +vn -0.0000 0.3491 0.9371 +vn 0.5347 -0.7848 0.3134 +vn 0.2049 -0.9744 0.0929 +vn 0.6163 0.5568 0.5569 +vn -0.6302 0.7764 -0.0000 +vn -0.6388 0.5441 0.5439 +vn 0.6217 -0.7833 -0.0001 +vn -0.6302 -0.5490 -0.5490 +vn 0.6302 -0.5490 -0.5490 +vn 0.5615 -0.6079 0.5615 +vn 0.6626 0.3491 0.6626 +vn -0.6557 0.3786 0.6532 +vn 0.5469 -0.3157 0.7753 +vn -0.2698 0.7905 0.5498 +vn -0.5439 0.3141 0.7782 +vn -0.7071 -0.7071 0.0000 +vn -0.5372 -0.5374 -0.6501 +vn -0.0002 -0.6630 -0.7486 +vn 0.4924 0.8529 -0.1735 +vn 0.6377 -0.0000 0.7703 +vn -0.4924 0.8529 -0.1735 +vn -0.6163 -0.0000 -0.7875 +vn 0.6388 -0.0001 -0.7694 +vn -0.7875 -0.6163 0.0003 +vn -0.5353 -0.6530 0.5358 +vn 0.0000 0.7764 -0.6302 +vn 0.6302 0.7764 0.0000 +vn -0.6217 0.5537 -0.5540 +vn 0.9371 0.3491 -0.0000 +vn 0.3190 -0.5522 -0.7703 +vn 0.5380 -0.3104 -0.7837 +vn 0.0607 -0.0355 0.9975 +vn 0.3828 0.3472 0.8561 +vn 0.2987 0.3980 0.8674 +vn 0.4041 0.7713 -0.4918 +vn 0.1226 0.5158 -0.8479 +vn 0.2003 0.4657 -0.8620 +vn 0.4984 0.8669 0.0108 +vn 0.3615 0.8003 -0.4784 +vn -0.0000 0.8505 -0.5259 +vn -0.8654 -0.4947 0.0803 +vn -0.5127 -0.8585 0.0013 +vn -0.5097 -0.8603 0.0018 +vn -0.0045 -0.9924 -0.1230 +vn 0.4612 -0.8415 -0.2813 +vn 0.4821 -0.8506 -0.2100 +vn -0.1513 0.0876 -0.9846 +vn -0.3011 -0.4083 -0.8617 +vn -0.0582 0.0331 -0.9978 +vn 0.5087 0.6971 0.5053 +vn 0.4591 0.7288 0.5081 +vn 0.5018 0.8648 0.0181 +vn -0.5103 -0.7142 -0.4790 +vn -0.4969 -0.8677 0.0107 +vn -0.4619 -0.7383 -0.4915 +vn -0.3840 -0.3645 -0.8483 +vn -0.3856 0.2226 -0.8954 +vn -0.6254 -0.6534 -0.4265 +vn -0.4959 -0.8682 0.0177 +vn 0.2531 0.8683 -0.4265 +vn 0.9984 -0.0090 -0.0553 +vn 0.8650 0.4845 0.1305 +vn 0.9758 -0.0016 0.2189 +vn -0.0043 0.9968 0.0803 +vn -0.4757 0.8484 0.2323 +vn 0.0099 0.9908 0.1353 +vn -0.5886 -0.2525 -0.7680 +vn -0.4879 -0.8725 0.0260 +vn -0.3475 -0.7900 0.5051 +vn -0.0756 0.6360 -0.7680 +vn 0.1581 -0.0911 0.9832 +vn -0.1081 -0.5055 0.8560 +vn 0.3981 -0.2298 0.8881 +vn 0.8308 0.0797 0.5508 +vn 0.5910 0.2216 0.7756 +vn 0.7796 0.5310 0.3320 +vn 0.1267 0.9469 -0.2954 +vn -0.4728 -0.8811 0.0083 +vn 0.0158 -0.9993 -0.0334 +vn 0.0129 -0.9914 0.1305 +vn -0.0125 0.9989 0.0457 +vn -0.4955 0.8577 0.1371 +vn -0.6720 0.3880 -0.6308 +vn -0.8340 -0.1183 -0.5390 +vn -0.7567 -0.5832 -0.2954 +vn -0.4736 -0.8804 0.0243 +vn -0.3146 0.7814 -0.5390 +vn 0.8383 -0.4840 0.2509 +vn 0.6728 -0.3884 0.6296 +vn 0.0407 0.9927 -0.1137 +vn 0.5267 0.8500 0.0083 +vn 0.2847 -0.4932 -0.8220 +vn 0.7366 -0.4253 -0.5259 +vn 0.4253 -0.7366 -0.5259 +vn -0.4642 0.8626 -0.2012 +vn 0.5070 -0.8602 -0.0553 +vn -0.8393 -0.5316 -0.1137 +vn -0.6375 -0.3681 0.6768 +vn -0.0635 -0.0000 0.9980 +vn -0.7362 -0.0000 0.6768 +vn 0.4893 -0.8442 0.2189 +vn 0.3463 -0.7594 0.5508 +vn 0.9969 0.0077 -0.0781 +vn 0.8556 0.5117 -0.0781 +vn 0.9904 0.0113 -0.1374 +vn 0.8643 -0.4990 -0.0629 +vn -0.9791 -0.0293 -0.2012 +vn -0.8567 -0.5146 0.0355 +vn 0.8733 0.4860 -0.0334 +vn 0.0173 0.9992 0.0355 +vn -0.5059 -0.8626 0.0019 +vn -0.0153 -0.9968 -0.0781 +vn -0.0219 -0.9909 -0.1328 +vn -0.8423 0.4863 -0.2324 +vn -0.9978 -0.0106 0.0653 +vn -0.4834 -0.8754 -0.0010 +vn 0.5164 0.8563 -0.0010 +vn -0.4897 0.8694 0.0653 +vn -0.4729 0.8552 0.2120 +vn -0.8635 0.4985 0.0770 +vn 0.9777 0.0078 -0.2100 +vn 0.5082 0.8612 -0.0023 +vn -0.3979 -0.7642 0.5076 +vn -0.1935 -0.4594 0.8669 +vn -0.9771 -0.0181 0.2120 +vn -0.8488 -0.5148 0.1206 +vn -0.4917 -0.8708 -0.0023 +vn 0.0214 0.9925 0.1206 +vn 0.8404 -0.4852 -0.2415 +vn 0.8192 -0.4730 -0.3244 +vn 0.0269 0.9865 0.1616 +vn -0.4967 -0.8679 -0.0013 +vn 0.5033 0.8641 -0.0013 +vn 0.8472 0.5144 -0.1328 +vn 0.4972 0.8676 0.0011 +vn 0.8405 0.5164 -0.1637 +vn -0.4575 0.8435 0.2814 +vn -0.8395 0.4847 0.2457 +vn 0.9594 0.0214 -0.2813 +vn 0.8572 0.5001 -0.1230 +vn -0.0200 -0.9864 -0.1633 +vn -0.8409 -0.5165 0.1616 +vn -0.9593 -0.0255 0.2814 +vn 0.8118 -0.4687 -0.3484 +vn 0.0272 0.9843 0.1742 +vn -0.8344 0.4818 0.2676 +vn -0.9906 0.0002 0.1371 +vn -0.9726 -0.0123 0.2323 +vn 0.8389 0.5156 -0.1742 +vn 0.8442 0.5105 -0.1633 +vn -0.8389 -0.5157 0.1742 +vn -0.5028 -0.8644 0.0011 +vn -0.4530 0.8389 0.3018 +vn -0.8189 0.4728 0.3253 +vn -0.0271 -0.9843 -0.1742 +vn 0.4530 -0.8389 -0.3018 +vn 0.0212 0.9860 0.1653 +vn 0.8177 -0.4721 -0.3293 +vn 0.9530 0.0271 -0.3018 +vn 0.9582 0.0258 -0.2849 +vn 0.4567 -0.8428 -0.2849 +vn -0.4597 0.8410 0.2851 +vn -0.8433 -0.5114 0.1653 +vn -0.0270 -0.9861 -0.1637 +vn -0.8179 0.4722 0.3288 +vn 0.8342 -0.4816 -0.2687 +vn 0.9725 0.0194 -0.2321 +vn 0.4694 -0.8519 -0.2321 +vn 0.4941 0.8694 0.0019 +vn 0.8550 -0.4936 -0.1593 +vn 0.4902 0.8716 0.0018 +vn -0.8531 -0.5039 0.1353 +vn 0.4854 -0.8634 -0.1374 +vn -0.5047 0.8598 0.0774 +vn -0.8552 0.4937 0.1577 +vn 0.8625 -0.4979 -0.0906 +vn 0.8586 0.5108 -0.0442 +vn 0.4872 0.8733 0.0013 +vn -0.9970 0.0071 0.0774 +vn -0.8713 -0.4886 0.0457 +vn -0.0131 -0.9989 -0.0442 +vn 0.4918 -0.8672 -0.0781 +vn 0.6217 0.7833 -0.0000 +vn -0.6443 0.7648 -0.0001 +vn 0.3762 0.6516 0.6587 +vn 0.5491 -0.5489 0.6302 +vn -0.3362 -0.5823 0.7402 +vn 0.0000 -0.6724 0.7402 +vn 0.0000 -0.0635 0.9980 +vn -0.3362 0.5823 0.7402 +vn 0.0000 0.6724 0.7402 +vn -0.0318 0.0550 -0.9980 +vn 0.0000 -0.6724 -0.7402 +vn 0.3362 -0.5823 -0.7402 +vn -0.5823 -0.3362 0.7402 +vn -0.6724 0.0000 0.7402 +vn 0.0000 0.6724 -0.7402 +vn -0.0318 -0.0550 -0.9980 +vn 0.3362 0.5823 -0.7402 +vn 0.0550 0.0318 -0.9980 +vn 0.7362 0.0000 -0.6768 +vn 0.0635 0.0000 -0.9980 +vn 0.3681 -0.6375 0.6768 +vn -0.0550 -0.0318 -0.9980 +vn -0.7362 -0.0000 -0.6768 +vn -0.0635 0.0000 -0.9980 +vn -0.0000 0.7362 0.6768 +vn -0.0318 0.0550 0.9980 +vn -0.0000 0.0635 0.9980 +vn -0.5823 0.3362 0.7402 +vn -0.6375 -0.3681 -0.6768 +vn -0.3362 0.5823 -0.7402 +vn 0.0550 -0.0318 -0.9980 +vn 0.0318 -0.0550 -0.9980 +vn 0.6375 0.3681 0.6768 +vn 0.0318 0.0550 0.9980 +vn 0.0550 0.0318 0.9980 +vn -0.3362 -0.5823 -0.7402 +vn -0.6375 0.3681 0.6768 +vn 0.7362 -0.0000 0.6768 +vn 0.0550 -0.0318 0.9980 +vn 0.6375 -0.3681 0.6768 +vn 0.6375 -0.3681 -0.6768 +vn -0.3681 0.6375 0.6768 +vn 0.6375 0.3681 -0.6768 +vn -0.0550 0.0318 0.9980 +vn 0.6724 -0.0000 0.7402 +vn 0.5823 -0.3362 0.7402 +vn 0.3681 0.6375 0.6768 +vn -0.3681 0.6375 -0.6768 +vn -0.0000 0.7362 -0.6768 +vn -0.5823 0.3362 -0.7402 +vn 0.3362 -0.5823 0.7402 +vn -0.6724 -0.0000 -0.7402 +vn -0.3681 -0.6375 -0.6768 +vn -0.0000 -0.7362 -0.6768 +vn -0.6375 0.3681 -0.6768 +vn -0.0550 0.0318 -0.9980 +vn 0.3362 0.5823 0.7402 +vn 0.5823 0.3362 0.7402 +vn 0.0318 -0.0550 0.9980 +vn 0.6724 -0.0000 -0.7402 +vn 0.5823 -0.3362 -0.7402 +vn 0.0635 0.0000 0.9980 +vn -0.0000 -0.0635 -0.9980 +vn -0.5823 -0.3362 -0.7402 +vn -0.0000 0.0635 -0.9980 +vn 0.0318 0.0550 -0.9980 +vn -0.3681 -0.6375 0.6768 +vn -0.1846 -0.1066 -0.9770 +vn -0.2847 -0.4932 -0.8220 +vn -0.4932 -0.2847 -0.8220 +vn -0.0000 -0.7362 0.6768 +vn 0.3681 0.6375 -0.6768 +vn 0.3681 -0.6375 -0.6768 +vn -0.0318 -0.0550 0.9980 +vn 0.5823 0.3362 -0.7402 +vn 0.5521 0.3191 -0.7703 +vn 0.3053 0.5289 -0.7919 +vn -0.6217 -0.5538 0.5539 +vn -0.6443 -0.7648 -0.0001 +vn -0.6217 0.5539 -0.5538 +vn 0.2688 -0.7906 0.5502 +vn -0.8210 -0.1589 0.5483 +vn 0.9366 -0.0976 0.3366 +vn -0.6443 0.0001 0.7648 +vn 0.2422 0.6861 0.6861 +vn 0.8133 0.5819 -0.0000 +vn 0.2445 0.9696 -0.0000 +vn 0.2436 0.9699 0.0000 +vn 0.8133 0.4115 0.4115 +vn 0.8098 0.5868 0.0000 +vn 0.8153 0.4094 0.4094 +vn -0.7842 -0.4388 0.4388 +vn 0.0707 0.0000 0.9975 +vn 0.0442 -0.7064 0.7064 +vn -0.7823 -0.6228 -0.0000 +vn 0.0523 -0.7061 -0.7062 +vn -0.7834 -0.4395 -0.4395 +vn 0.2445 0.6856 0.6856 +vn 0.8133 0.0000 0.5819 +vn -0.7824 0.4404 0.4404 +vn 0.0637 0.9980 0.0000 +vn 0.0636 0.7057 0.7057 +vn 0.2422 -0.6861 0.6861 +vn 0.8168 0.0000 0.5769 +vn 0.2454 0.0000 0.9694 +vn 0.2445 -0.9696 0.0000 +vn 0.8133 -0.4115 0.4115 +vn 0.2445 -0.6857 0.6856 +vn -0.7824 0.4404 -0.4404 +vn 0.0757 0.0000 -0.9971 +vn 0.0636 0.7057 -0.7057 +vn -0.7824 -0.4404 -0.4404 +vn -0.7794 0.0000 -0.6266 +vn 0.2445 0.6856 -0.6857 +vn 0.8154 -0.0000 -0.5789 +vn 0.2460 -0.0000 -0.9693 +vn 0.0687 -0.0000 -0.9976 +vn -0.7807 0.4419 -0.4419 +vn -0.7811 -0.0000 -0.6244 +vn 0.2436 0.0000 0.9699 +vn 0.8112 -0.4135 0.4135 +vn 0.8097 -0.0000 0.5868 +vn -0.7806 0.6250 0.0000 +vn 0.0686 0.7055 0.7054 +vn -0.7811 0.4415 0.4415 +vn 0.8133 -0.0000 -0.5819 +vn 0.2421 -0.6861 -0.6861 +vn 0.2445 -0.0000 -0.9696 +vn -0.7823 0.0000 0.6228 +vn 0.0637 0.0000 0.9980 +vn 0.2430 -0.6859 -0.6859 +vn 0.2460 0.6854 0.6854 +vn 0.2430 0.9700 -0.0000 +vn 0.8168 0.4079 -0.4080 +vn 0.2454 0.6855 -0.6855 +vn 0.8133 0.4115 -0.4115 +vn 0.8189 0.4058 -0.4058 +vn 0.2469 0.6852 -0.6852 +vn -0.7831 -0.4397 0.4397 +vn 0.0637 -0.9980 -0.0000 +vn -0.7832 0.6218 -0.0000 +vn 0.0523 0.7061 0.7062 +vn -0.7834 0.4395 0.4395 +vn 0.0553 0.9985 -0.0000 +vn 0.8190 0.0000 0.5739 +vn 0.2468 0.0000 0.9691 +vn 0.0524 0.9986 -0.0000 +vn -0.7823 0.4404 0.4404 +vn -0.7834 0.6215 -0.0000 +vn 0.0757 0.0000 0.9971 +vn -0.7793 0.0000 0.6266 +vn 0.0706 -0.0000 -0.9975 +vn -0.7806 -0.0000 -0.6250 +vn 0.0523 0.7062 -0.7061 +vn -0.7834 0.4395 -0.4395 +vn -0.0000 0.6377 -0.7703 +vn 0.3746 -0.6485 0.6626 +vn 0.1559 -0.9878 0.0000 +vn -0.8191 -0.1625 -0.5502 +vn 0.2728 -0.7906 -0.5482 +vn -0.5457 0.3152 -0.7764 +vn 0.0000 -0.6079 0.7940 +vn -0.0000 0.8880 -0.4599 +vn -0.0000 0.7571 0.6533 +vn 0.0002 0.6377 0.7703 +vn -0.9350 -0.3546 -0.0000 +vn 0.3283 0.8857 -0.3283 +vn -0.6626 0.3491 -0.6626 +vn 0.0000 0.8863 -0.4631 +vn 0.3275 0.8863 0.3275 +vn 0.3283 0.8857 0.3283 +vn -0.3275 0.8863 -0.3275 +vn -0.6537 0.7479 0.1152 +vn -0.5539 -0.6217 -0.5538 +vn 0.4924 -0.8529 -0.1735 +vn 0.8529 0.4924 -0.1735 +vn 0.6475 0.0000 -0.7621 +vn -0.7764 0.0002 0.6302 +vn -0.5490 -0.5490 0.6302 +vn -0.8529 -0.4924 -0.1735 +vn -0.5347 0.7848 0.3134 +vn -0.4253 0.7366 -0.5259 +vn 0.2847 0.4932 -0.8220 +vn 0.0000 0.5695 -0.8220 +vn -0.9848 -0.0000 -0.1735 +vn -0.7366 0.4253 -0.5259 +vn -0.8505 -0.0000 -0.5259 +vn 0.8529 -0.4924 -0.1735 +vn 0.8505 -0.0000 -0.5259 +vn 0.9848 -0.0000 -0.1735 +vn -0.7366 -0.4253 -0.5259 +vn -0.4924 -0.8529 -0.1735 +vn -0.4253 -0.7366 -0.5259 +vn 0.0000 -0.9848 -0.1735 +vn 0.0000 -0.8505 -0.5259 +vn 0.7366 0.4253 -0.5259 +vn 0.5695 0.0000 -0.8220 +vn 0.1846 0.1066 -0.9770 +vn 0.4932 0.2847 -0.8220 +vn -0.7807 -0.4419 -0.4419 +vn 0.0686 0.0000 -0.9976 +vn 0.4253 0.7366 -0.5259 +vn 0.4932 -0.2847 -0.8220 +vn -0.4932 0.2847 -0.8220 +vn -0.2847 0.4932 -0.8220 +vn 0.0000 -0.5695 -0.8220 +vn 0.1066 -0.1846 -0.9770 +vn -0.1066 0.1846 -0.9770 +vn -0.5695 0.0000 -0.8220 +vn 0.1846 -0.1066 -0.9770 +vn -0.1066 -0.1846 -0.9770 +vn 0.0000 -0.2132 -0.9770 +vn 0.1066 0.1846 -0.9770 +vn -0.0000 0.2132 -0.9770 +vn -0.1846 0.1066 -0.9770 +vn -0.2132 -0.0000 -0.9770 +vn -0.5741 0.3317 -0.7486 +vn -0.6276 -0.0000 -0.7785 +vn -0.3189 0.5523 -0.7703 +vn -0.6557 -0.3786 0.6532 +vn 0.5458 -0.3152 -0.7764 +vn -0.3762 0.6516 0.6587 +vn -0.5440 -0.6388 -0.5440 +vn 0.7572 -0.0002 0.6532 +vn 0.9740 -0.2072 0.0919 +vn 0.6626 0.3826 0.6439 +vn -0.7648 -0.6443 0.0000 +vn 0.8216 0.1581 0.5478 +vn 0.9365 0.0975 0.3367 +vn -0.2072 -0.9740 0.0919 +vn -0.3784 0.6558 0.6532 +vn -0.3189 0.5523 0.7703 +vn 0.7574 -0.6530 -0.0001 +vn 0.3822 -0.6617 0.6451 +vn -0.0000 -0.6377 0.7703 +vn 0.3103 -0.5374 0.7841 +vn 0.5611 -0.3240 0.7618 +vn 0.6163 0.0000 0.7875 +vn 0.6443 -0.5408 0.5408 +vn 0.7571 -0.0000 0.6533 +vn -0.3787 -0.6557 0.6532 +vn -0.5523 -0.3189 0.7703 +vn -0.3189 -0.5523 0.7703 +vn -0.5523 0.3189 0.7703 +vn -0.6556 0.3788 0.6532 +vn 0.5491 -0.6302 -0.5489 +vn -0.7919 0.0000 -0.6107 +vn 0.0000 -0.7572 0.6532 +vn 0.5355 -0.6530 0.5356 +vn 0.4611 0.8874 0.0000 +vn -0.3275 0.8863 0.3275 +vn -0.3283 0.8857 -0.3283 +vn 0.4651 0.8853 0.0000 +vn 0.8112 0.5848 -0.0000 +vn 0.8168 -0.5769 0.0000 +vn 0.2430 -0.6859 0.6859 +vn 0.2454 -0.9694 -0.0000 +vn -0.7831 -0.4398 0.4397 +vn 0.0524 -0.9986 -0.0000 +vn -0.7834 -0.6215 -0.0000 +vn 0.8111 -0.4135 -0.4136 +vn 0.8132 0.4115 0.4115 +vn -0.7823 0.6228 0.0000 +vn 0.0705 0.7053 -0.7054 +vn 0.0706 0.9975 0.0000 +vn -0.7831 -0.4397 0.4398 +vn 0.0553 -0.7060 0.7060 +vn 0.0636 -0.7057 -0.7057 +vn 0.2445 0.0000 0.9696 +vn 0.0637 0.7057 0.7056 +vn -0.7806 0.0000 0.6250 +vn 0.0687 -0.9976 0.0000 +vn -0.7811 -0.6245 0.0000 +vn 0.0706 -0.7053 -0.7054 +vn 0.8112 -0.4135 -0.4135 +vn -0.7842 -0.4388 -0.4388 +vn 0.8133 -0.5819 0.0000 +vn 0.0442 -0.7064 -0.7064 +vn -0.0550 -0.0318 0.9980 +vn -0.0000 -0.7764 0.6302 +vn -0.5372 0.5374 -0.6501 +vn 0.0000 -0.7571 0.6533 +vn -0.0000 -0.6302 0.7764 +vn 0.1093 -0.9316 0.3468 +vn -0.7794 0.5392 0.3191 +vn -0.1093 0.9316 0.3468 +vn -0.1093 -0.9316 0.3467 +vn 0.0000 -0.7651 0.6439 +vn 0.0000 0.7480 0.6637 +vn -0.9316 0.1094 0.3467 +vn 0.3691 0.6390 0.6749 +vn 0.8203 0.1603 -0.5490 +vn 0.6443 0.5408 -0.5408 +vn -0.8626 0.4980 0.0889 +vn 0.0000 0.7697 0.6385 +vn 0.6560 0.0000 0.7548 +vn 0.8076 0.4170 0.4169 +vn 0.8076 -0.4170 0.4169 +vn 0.8076 -0.4170 -0.4170 +vn -0.4651 0.8853 -0.0000 +vn 0.1094 0.9316 0.3467 +vn 0.2132 -0.0000 -0.9770 +vn 0.7794 -0.5392 0.3191 +vn 0.6454 -0.3729 0.6666 +vn -0.5392 -0.7794 0.3191 +s off +f 529/79/18 247/80/18 248/81/18 +f 281/82/19 266/83/19 279/84/19 +f 405/85/20 558/86/20 400/87/20 +f 42/88/21 41/89/21 37/90/21 +f 60/91/18 63/92/18 68/93/18 +f 220/94/22 217/95/22 215/96/22 +f 41/89/21 45/97/21 37/90/21 +f 40/98/18 35/99/18 41/100/18 +f 54/101/21 52/102/21 53/103/21 +f 438/104/23 439/105/23 437/106/23 +f 120/107/24 121/108/24 118/109/24 +f 207/110/25 208/111/25 211/112/25 +f 229/113/26 240/114/26 237/115/26 +f 470/116/27 593/117/27 468/118/27 +f 238/119/28 242/120/28 236/121/28 +f 65/122/25 67/123/25 69/124/25 +f 70/125/29 63/126/29 61/127/29 +f 80/128/19 70/129/19 61/130/19 +f 74/131/22 70/129/22 67/132/22 +f 426/133/30 570/134/30 425/135/30 +f 458/136/30 584/137/30 459/138/30 +f 73/139/19 79/140/19 74/131/19 +f 380/141/31 379/142/31 377/143/31 +f 95/144/32 93/145/32 92/146/32 +f 148/147/30 135/148/30 147/149/30 +f 34/150/19 37/151/19 39/152/19 +f 167/153/33 163/154/33 162/155/33 +f 280/156/34 282/157/34 276/158/34 +f 135/148/35 136/159/35 137/160/35 +f 412/161/19 410/162/19 411/163/19 +f 128/164/36 129/165/36 127/166/36 +f 500/167/27 105/168/27 106/169/27 +f 102/170/24 103/171/24 100/172/24 +f 109/173/36 110/174/36 111/175/36 +f 440/176/36 441/177/36 439/105/36 +f 114/178/21 115/179/21 116/180/21 +f 259/181/37 283/182/37 260/183/37 +f 110/174/32 113/184/32 111/175/32 +f 420/185/23 423/186/23 421/187/23 +f 394/188/38 401/189/38 399/190/38 +f 185/191/19 188/192/19 191/193/19 +f 102/170/35 101/194/35 99/195/35 +f 190/196/39 191/197/39 194/198/39 +f 132/199/21 133/200/21 134/201/21 +f 112/202/30 101/194/30 113/184/30 +f 201/203/19 198/204/19 200/205/19 +f 136/159/24 139/206/24 137/160/24 +f 335/207/40 316/208/41 318/209/42 +f 513/210/23 144/211/23 142/212/23 +f 387/213/43 383/214/43 384/215/43 +f 95/144/30 84/216/30 94/217/30 +f 516/218/21 150/219/21 151/220/21 +f 332/221/44 313/222/45 312/223/46 +f 389/224/47 390/225/47 396/226/47 +f 336/227/48 540/228/49 334/229/50 +f 212/230/18 215/96/18 219/231/18 +f 158/232/29 163/233/29 168/234/29 +f 182/235/22 176/236/22 172/237/22 +f 551/238/25 366/239/25 364/240/25 +f 192/241/21 186/242/21 184/243/21 +f 170/244/22 172/245/22 176/246/22 +f 80/247/25 60/248/25 68/249/25 +f 59/250/29 61/127/29 63/126/29 +f 465/251/24 467/252/24 464/253/24 +f 174/254/21 178/255/21 180/256/21 +f 282/257/22 257/258/22 269/259/22 +f 221/260/25 222/261/25 218/262/25 +f 191/193/22 189/263/22 187/264/22 +f 178/265/21 175/266/21 173/267/21 +f 185/268/21 190/196/21 186/269/21 +f 243/270/26 244/271/26 245/272/26 +f 187/273/18 184/243/18 186/242/18 +f 419/274/51 416/275/51 417/276/51 +f 85/277/35 84/216/35 82/278/35 +f 187/279/22 194/198/22 191/197/22 +f 75/280/25 74/281/25 67/123/25 +f 196/282/29 186/283/29 195/284/29 +f 233/285/52 228/286/52 226/287/52 +f 209/288/22 204/289/22 207/110/22 +f 199/290/22 204/291/22 200/292/22 +f 206/293/22 200/205/22 198/204/22 +f 330/294/53 542/295/54 328/296/55 +f 557/297/43 374/298/43 372/299/43 +f 417/276/24 414/300/24 415/301/24 +f 201/302/21 208/303/21 205/304/21 +f 436/305/51 433/306/51 434/307/51 +f 494/308/27 88/309/27 87/310/27 +f 141/311/51 139/206/51 138/312/51 +f 39/313/22 36/314/22 34/315/22 +f 212/316/21 214/317/21 218/318/21 +f 77/319/22 72/320/22 58/321/22 +f 216/322/22 220/323/22 222/324/22 +f 494/325/23 91/326/23 89/327/23 +f 557/328/18 371/329/18 370/330/18 +f 393/331/56 390/225/56 391/332/56 +f 78/333/25 58/334/25 80/247/25 +f 262/335/21 253/336/21 263/337/21 +f 218/318/57 220/323/57 212/316/57 +f 611/338/22 50/339/22 51/340/22 +f 466/341/51 593/117/51 467/252/51 +f 231/342/28 227/343/28 234/344/28 +f 268/345/29 255/346/29 256/347/29 +f 233/348/26 229/349/26 237/350/26 +f 236/351/28 235/352/28 238/353/28 +f 237/115/19 235/354/19 234/355/19 +f 71/356/21 75/357/21 64/358/21 +f 556/359/31 369/360/31 367/361/31 +f 240/362/26 239/363/26 243/364/26 +f 72/320/22 60/91/22 58/321/22 +f 126/365/27 123/366/27 124/367/27 +f 392/368/18 399/369/18 402/370/18 +f 98/371/21 96/372/21 97/373/21 +f 48/374/21 46/375/21 47/376/21 +f 258/377/22 274/378/22 254/379/22 +f 128/164/23 125/380/23 126/381/23 +f 106/169/51 103/171/51 104/382/51 +f 272/383/21 273/384/21 265/385/21 +f 148/147/32 145/386/32 146/387/32 +f 415/301/35 570/134/35 413/388/35 +f 157/389/58 156/390/58 524/391/58 +f 193/392/25 194/393/25 197/394/25 +f 64/395/29 62/396/29 70/125/29 +f 405/85/56 559/397/56 406/398/56 +f 79/399/29 64/395/29 70/125/29 +f 279/84/19 265/400/19 278/401/19 +f 396/226/38 395/402/38 389/224/38 +f 264/403/21 280/404/21 276/405/21 +f 264/403/21 265/385/21 266/406/21 +f 451/407/51 585/408/51 450/409/51 +f 258/377/22 259/410/22 260/411/22 +f 205/412/21 203/413/21 201/414/21 +f 331/415/25 332/416/25 333/417/25 +f 275/418/22 278/419/22 258/377/22 +f 289/420/29 292/421/29 291/422/29 +f 307/423/29 286/424/29 284/425/29 +f 286/426/29 288/427/29 284/428/29 +f 289/429/29 287/430/29 290/431/29 +f 302/432/29 304/433/29 303/434/29 +f 292/435/29 294/436/29 291/437/29 +f 293/438/29 296/439/29 294/440/29 +f 299/441/29 302/442/29 300/443/29 +f 297/444/29 300/445/29 298/446/29 +f 296/447/29 297/448/29 298/449/29 +f 355/450/25 357/451/25 358/452/25 +f 540/228/25 315/453/25 311/454/25 +f 543/455/25 330/456/25 328/457/25 +f 539/458/25 310/459/25 308/460/25 +f 321/461/25 322/462/25 323/463/25 +f 316/208/25 317/464/25 318/465/25 +f 319/466/25 317/464/25 320/467/25 +f 306/468/29 307/469/29 305/470/29 +f 303/471/29 306/472/29 305/473/29 +f 355/450/25 356/474/25 353/475/25 +f 346/476/25 340/477/25 343/478/25 +f 363/479/25 362/480/25 359/481/25 +f 352/482/25 350/483/25 349/484/25 +f 162/485/25 165/486/25 167/487/25 +f 386/488/25 382/489/25 377/490/25 +f 345/491/25 346/476/25 343/478/25 +f 542/295/25 322/462/25 324/492/25 +f 546/493/25 339/494/25 337/495/25 +f 362/480/25 360/496/25 359/481/25 +f 340/477/25 341/497/25 342/498/25 +f 363/479/25 341/497/25 361/499/25 +f 349/484/25 351/500/25 352/482/25 +f 545/501/25 336/502/25 334/503/25 +f 345/491/25 347/504/25 348/505/25 +f 315/453/25 313/222/25 311/454/25 +f 80/247/25 69/124/25 67/123/25 +f 426/133/32 571/506/32 424/507/32 +f 81/508/29 61/127/29 72/509/29 +f 438/510/27 435/511/27 436/305/27 +f 383/512/29 388/513/29 378/514/29 +f 210/515/29 200/292/29 209/288/29 +f 556/359/59 371/329/59 368/516/59 +f 353/475/25 351/500/25 354/517/25 +f 473/518/32 476/519/32 474/520/32 +f 493/521/51 88/309/51 86/522/51 +f 375/523/25 370/524/25 367/525/25 +f 263/526/25 254/527/25 252/528/25 +f 234/355/28 236/529/28 231/530/28 +f 372/531/29 376/532/29 368/533/29 +f 395/534/20 392/535/20 393/331/20 +f 245/272/60 238/119/60 243/270/60 +f 233/348/61 234/344/61 227/343/61 +f 216/536/19 213/537/19 217/538/19 +f 394/539/38 396/540/38 398/541/38 +f 403/542/56 392/368/56 402/370/56 +f 390/543/56 392/544/56 397/545/56 +f 399/546/38 401/547/38 400/548/38 +f 166/549/21 160/550/21 159/551/21 +f 90/552/36 93/145/36 91/326/36 +f 403/553/56 402/554/56 405/555/56 +f 387/213/58 388/556/58 385/557/58 +f 493/521/24 83/558/24 85/277/24 +f 457/559/36 586/560/36 455/561/36 +f 407/562/18 408/563/18 409/564/18 +f 251/565/19 249/566/19 250/567/19 +f 373/568/58 376/569/58 374/298/58 +f 81/570/19 78/333/19 76/571/19 +f 170/572/19 173/267/19 177/573/19 +f 264/403/21 277/574/21 255/575/21 +f 338/576/62 321/461/63 323/577/64 +f 277/574/21 256/578/21 255/575/21 +f 427/579/22 429/580/22 428/581/22 +f 419/274/27 421/582/27 418/583/27 +f 432/584/35 577/585/35 430/586/35 +f 513/587/27 140/588/27 141/311/27 +f 183/589/21 174/590/21 180/591/21 +f 130/592/30 119/593/30 131/594/30 +f 129/165/32 130/592/32 131/594/32 +f 454/595/27 585/408/27 452/596/27 +f 75/357/21 66/597/21 64/358/21 +f 444/598/22 446/599/22 445/600/22 +f 257/601/18 253/602/18 255/346/18 +f 165/603/65 168/604/65 169/605/65 +f 451/407/24 448/606/24 449/607/24 +f 174/608/29 182/235/29 172/237/29 +f 45/609/29 44/610/29 38/611/29 +f 339/612/66 319/466/67 337/613/68 +f 460/614/22 462/615/22 461/616/22 +f 76/571/21 80/128/21 61/130/21 +f 261/617/18 263/618/18 252/619/18 +f 471/620/36 474/520/36 472/621/36 +f 377/143/19 388/556/19 386/622/19 +f 242/120/52 239/623/52 236/121/52 +f 457/559/32 459/138/32 456/624/32 +f 480/625/29 481/626/29 482/627/29 +f 33/628/25 483/629/25 484/630/25 +f 484/630/25 485/631/25 33/628/25 +f 31/632/25 486/633/25 32/634/25 +f 32/634/25 487/635/25 33/628/25 +f 489/636/21 490/637/21 52/102/21 +f 52/102/21 491/638/21 53/103/21 +f 53/103/21 492/639/21 54/101/21 +f 488/640/21 489/636/21 52/102/21 +f 496/641/21 497/642/21 96/372/21 +f 96/372/21 498/643/21 97/373/21 +f 97/373/21 499/644/21 98/371/21 +f 495/645/21 496/641/21 96/372/21 +f 116/180/21 501/646/21 114/178/21 +f 502/647/21 503/648/21 114/178/21 +f 114/178/21 504/649/21 505/650/21 +f 505/650/21 115/179/21 114/178/21 +f 501/646/21 502/647/21 114/178/21 +f 134/201/21 507/651/21 132/199/21 +f 508/652/21 509/653/21 132/199/21 +f 132/199/21 510/654/21 511/655/21 +f 511/655/21 133/200/21 132/199/21 +f 507/651/21 508/652/21 132/199/21 +f 151/220/21 514/656/21 515/657/21 +f 515/657/21 516/218/21 151/220/21 +f 149/658/21 517/659/21 518/660/21 +f 518/660/21 150/219/21 149/658/21 +f 519/661/59 520/662/59 154/663/59 +f 154/663/59 521/664/59 152/665/59 +f 152/665/59 522/666/59 153/667/59 +f 153/667/59 523/668/59 519/661/59 +f 524/391/58 525/669/58 157/389/58 +f 157/389/58 526/670/58 155/671/58 +f 155/671/58 527/672/58 156/390/58 +f 156/390/58 528/673/58 524/391/58 +f 166/674/25 159/675/25 165/486/25 +f 165/486/25 169/676/25 167/487/25 +f 160/677/29 161/678/29 163/233/29 +f 163/233/29 164/679/29 168/234/29 +f 530/680/18 531/681/18 246/682/18 +f 246/682/18 532/683/18 247/80/18 +f 247/80/18 533/684/18 248/81/18 +f 529/79/18 530/680/18 246/682/18 +f 251/565/19 534/685/19 535/686/19 +f 535/686/19 536/687/19 249/566/19 +f 249/566/19 537/688/19 538/689/19 +f 538/689/19 250/567/19 249/566/19 +f 366/239/25 547/690/25 548/691/25 +f 548/691/25 549/692/25 366/239/25 +f 364/240/25 550/693/25 551/238/25 +f 552/694/25 553/695/25 551/238/25 +f 551/238/25 554/696/25 365/697/25 +f 365/697/25 555/698/25 366/239/25 +f 366/239/25 549/692/25 364/240/25 +f 550/693/25 552/694/25 551/238/25 +f 370/524/25 556/699/25 367/525/25 +f 373/700/25 557/701/25 370/524/25 +f 376/532/29 369/702/29 368/533/29 +f 368/533/29 371/703/29 372/531/29 +f 382/489/25 380/704/25 377/490/25 +f 387/705/25 384/706/25 382/489/25 +f 388/513/29 379/707/29 378/514/29 +f 378/514/29 381/708/29 383/512/29 +f 409/564/18 560/709/18 407/562/18 +f 561/710/18 562/711/18 407/562/18 +f 407/562/18 563/712/18 564/713/18 +f 564/713/18 408/563/18 407/562/18 +f 560/709/18 561/710/18 407/562/18 +f 412/161/19 565/714/19 566/715/19 +f 566/715/19 567/716/19 410/162/19 +f 410/162/19 568/717/19 569/718/19 +f 569/718/19 411/163/19 410/162/19 +f 429/580/22 427/579/22 572/719/22 +f 573/720/22 427/579/22 574/721/22 +f 427/579/22 576/722/22 575/723/22 +f 576/722/22 427/579/22 428/581/22 +f 572/719/22 427/579/22 573/720/22 +f 446/599/22 444/598/22 579/724/22 +f 580/725/22 444/598/22 581/726/22 +f 444/598/22 583/727/22 582/728/22 +f 583/727/22 444/598/22 445/600/22 +f 579/724/22 444/598/22 580/725/22 +f 462/615/22 460/614/22 587/729/22 +f 588/730/22 460/614/22 589/731/22 +f 460/614/22 591/732/22 590/733/22 +f 591/732/22 460/614/22 461/616/22 +f 587/729/22 460/614/22 588/730/22 +f 594/734/22 479/735/22 595/736/22 +f 479/735/22 477/737/22 596/738/22 +f 477/737/22 478/739/22 597/740/22 +f 478/739/22 594/734/22 598/741/22 +f 482/627/29 599/742/29 600/743/29 +f 600/743/29 601/744/29 482/627/29 +f 602/745/29 480/625/29 482/627/29 +f 481/626/29 603/746/29 482/627/29 +f 482/627/29 601/744/29 602/745/29 +f 605/747/21 606/748/21 46/375/21 +f 46/375/21 607/749/21 47/376/21 +f 47/376/21 608/750/21 48/374/21 +f 604/751/21 605/747/21 46/375/21 +f 51/340/22 609/752/22 610/753/22 +f 610/753/22 611/338/22 51/340/22 +f 49/754/22 612/755/22 613/756/22 +f 613/756/22 50/339/22 49/754/22 +f 57/757/22 614/758/22 615/759/22 +f 615/759/22 616/760/22 57/757/22 +f 55/761/22 617/762/22 618/763/22 +f 618/763/22 56/764/22 55/761/22 +f 35/765/22 38/766/22 44/767/22 +f 271/768/22 257/258/22 268/769/22 +f 174/770/18 171/771/18 175/772/18 +f 465/251/35 592/773/35 463/774/35 +f 229/775/60 232/776/60 231/777/60 +f 120/107/35 119/593/35 117/778/35 +f 166/549/69 163/779/69 161/780/69 +f 197/394/22 187/781/22 196/782/22 +f 399/783/47 559/397/47 402/784/47 +f 66/597/18 69/785/18 62/786/18 +f 243/364/70 235/352/70 240/362/70 +f 227/787/28 232/776/28 228/286/28 +f 146/387/36 144/211/36 143/788/36 +f 485/631/25 32/634/25 33/628/25 +f 401/189/19 397/789/19 403/542/19 +f 158/790/71 159/551/71 160/550/71 +f 231/530/18 239/791/18 229/792/18 +f 154/663/59 153/667/59 519/661/59 +f 475/793/30 592/773/30 476/519/30 +f 454/794/23 586/560/23 453/795/23 +f 169/605/22 164/796/22 167/153/22 +f 34/150/25 40/797/25 42/798/25 +f 44/610/72 41/100/72 35/99/72 +f 69/785/18 63/92/18 62/786/18 +f 208/303/57 199/290/57 205/304/57 +f 434/307/24 577/585/24 431/799/24 +f 273/800/19 278/401/19 265/400/19 +f 272/383/21 255/575/21 253/336/21 +f 308/801/25 326/802/25 327/803/25 +f 390/543/73 398/541/73 396/540/73 +f 616/760/22 56/764/22 57/757/22 +f 45/804/74 39/152/74 37/151/74 +f 400/548/75 403/553/75 405/555/75 +f 384/805/18 381/806/18 382/807/18 +f 177/573/22 172/808/22 170/572/22 +f 219/231/21 214/809/21 212/230/21 +f 382/807/59 378/810/59 380/141/59 +f 594/734/22 477/737/22 479/735/22 +f 275/418/22 254/379/22 257/258/22 +f 124/367/51 121/108/51 122/811/51 +f 270/812/18 268/813/18 256/814/18 +f 329/815/76 327/803/77 326/816/78 +f 449/607/35 584/137/35 447/817/35 +f 333/818/79 539/458/80 331/819/81 +f 432/584/30 578/820/30 443/821/30 +f 283/822/21 253/336/21 267/823/21 +f 233/285/26 230/824/26 229/825/26 +f 225/826/22 216/827/22 222/261/22 +f 422/828/36 571/506/36 423/186/36 +f 223/829/21 218/262/21 214/830/21 +f 176/246/39 178/255/39 170/244/39 +f 195/284/21 190/831/21 193/392/21 +f 199/832/18 202/833/18 205/412/18 +f 179/834/25 180/591/25 176/236/25 +f 375/835/19 369/360/19 376/569/19 +f 399/836/38 558/86/38 404/837/38 +f 211/112/21 201/838/21 210/839/21 +f 224/840/29 214/830/29 216/841/29 +f 275/418/22 281/842/22 279/843/22 +f 470/844/23 472/621/23 469/845/23 +f 500/846/23 109/173/23 107/847/23 +f 442/848/32 578/820/32 441/177/32 +f 274/378/22 252/849/22 254/379/22 +f 529/79/18 246/682/18 247/80/18 +f 281/82/19 280/156/19 266/83/19 +f 405/85/20 406/398/20 558/86/20 +f 42/88/21 40/850/21 41/89/21 +f 60/91/18 59/851/18 63/92/18 +f 220/94/22 216/852/22 217/95/22 +f 41/89/21 43/853/21 45/97/21 +f 40/98/18 36/854/18 35/99/18 +f 54/101/21 488/640/21 52/102/21 +f 438/104/23 440/176/23 439/105/23 +f 120/107/24 122/811/24 121/108/24 +f 207/110/25 204/289/25 208/111/25 +f 229/113/26 239/855/26 240/114/26 +f 470/116/27 469/856/27 593/117/27 +f 238/119/28 241/857/28 242/120/28 +f 65/122/25 75/280/25 67/123/25 +f 70/125/29 62/396/29 63/126/29 +f 80/128/19 67/132/19 70/129/19 +f 74/131/22 79/140/22 70/129/22 +f 426/133/30 413/388/30 570/134/30 +f 458/136/30 447/817/30 584/137/30 +f 73/139/19 71/858/19 79/140/19 +f 380/141/31 378/810/31 379/142/31 +f 95/144/32 94/217/32 93/145/32 +f 148/147/30 512/859/30 135/148/30 +f 34/150/19 42/798/19 37/151/19 +f 167/153/33 164/796/33 163/154/33 +f 280/156/34 281/82/34 282/157/34 +f 135/148/35 512/859/35 136/159/35 +f 412/161/19 566/715/19 410/162/19 +f 128/164/36 506/860/36 129/165/36 +f 500/167/27 107/861/27 105/168/27 +f 102/170/24 104/382/24 103/171/24 +f 109/173/36 108/862/36 110/174/36 +f 440/176/36 442/848/36 441/177/36 +f 259/181/37 273/800/37 283/182/37 +f 110/174/32 112/202/32 113/184/32 +f 420/185/23 422/828/23 423/186/23 +f 394/188/38 398/863/38 401/189/38 +f 185/191/19 192/241/19 188/192/19 +f 102/170/35 100/172/35 101/194/35 +f 190/196/39 185/268/39 191/197/39 +f 112/202/30 99/195/30 101/194/30 +f 201/203/19 203/864/19 198/204/19 +f 136/159/24 138/312/24 139/206/24 +f 335/207/82 545/865/83 316/208/84 +f 513/210/23 143/788/23 144/211/23 +f 387/213/43 385/557/43 383/214/43 +f 95/144/30 82/278/30 84/216/30 +f 516/218/21 149/658/21 150/219/21 +f 332/221/85 544/866/86 313/222/87 +f 389/224/47 391/332/47 390/225/47 +f 336/227/88 314/867/89 540/228/90 +f 212/230/18 220/94/18 215/96/18 +f 158/232/29 160/677/29 163/233/29 +f 182/235/22 179/834/22 176/236/22 +f 551/238/25 365/697/25 366/239/25 +f 192/241/21 185/191/21 186/242/21 +f 80/247/25 58/334/25 60/248/25 +f 59/250/29 72/509/29 61/127/29 +f 465/251/24 466/341/24 467/252/24 +f 282/257/22 275/418/22 257/258/22 +f 221/260/25 225/826/25 222/261/25 +f 191/193/22 188/192/22 189/263/22 +f 178/265/21 174/868/21 175/266/21 +f 243/270/26 239/869/26 244/271/26 +f 187/273/18 189/870/18 184/243/18 +f 419/274/51 418/583/51 416/275/51 +f 85/277/35 83/558/35 84/216/35 +f 75/280/25 73/871/25 74/281/25 +f 196/282/29 187/872/29 186/283/29 +f 233/285/52 227/787/52 228/286/52 +f 209/288/22 200/292/22 204/289/22 +f 206/293/22 199/832/22 200/205/22 +f 330/294/91 325/873/92 542/295/93 +f 557/297/43 373/568/43 374/298/43 +f 417/276/24 416/275/24 414/300/24 +f 436/305/51 435/511/51 433/306/51 +f 494/308/27 89/874/27 88/309/27 +f 141/311/51 140/588/51 139/206/51 +f 39/313/22 35/765/22 36/314/22 +f 77/319/22 81/875/22 72/320/22 +f 494/325/23 90/552/23 91/326/23 +f 557/328/18 372/876/18 371/329/18 +f 393/331/56 392/535/56 390/225/56 +f 78/333/25 77/877/25 58/334/25 +f 262/335/21 267/823/21 253/336/21 +f 218/318/57 222/324/57 220/323/57 +f 611/338/22 49/754/22 50/339/22 +f 466/341/51 468/118/51 593/117/51 +f 268/345/29 257/601/29 255/346/29 +f 237/115/19 240/114/19 235/354/19 +f 71/356/21 73/878/21 75/357/21 +f 556/359/31 368/516/31 369/360/31 +f 72/320/22 59/851/22 60/91/22 +f 126/365/27 125/879/27 123/366/27 +f 392/368/18 394/880/18 399/369/18 +f 98/371/21 495/645/21 96/372/21 +f 48/374/21 604/751/21 46/375/21 +f 258/377/22 260/411/22 274/378/22 +f 128/164/23 127/166/23 125/380/23 +f 106/169/51 105/168/51 103/171/51 +f 272/383/21 283/822/21 273/384/21 +f 148/147/32 147/149/32 145/386/32 +f 415/301/35 414/300/35 570/134/35 +f 157/389/58 155/671/58 156/390/58 +f 193/392/25 190/831/25 194/393/25 +f 64/395/29 66/881/29 62/396/29 +f 405/85/56 402/784/56 559/397/56 +f 79/399/29 71/882/29 64/395/29 +f 279/84/19 266/83/19 265/400/19 +f 396/226/38 394/883/38 395/402/38 +f 264/403/21 266/406/21 280/404/21 +f 264/403/21 272/383/21 265/385/21 +f 451/407/51 452/596/51 585/408/51 +f 258/377/22 278/419/22 259/410/22 +f 205/412/21 202/833/21 203/413/21 +f 331/415/25 544/884/25 332/416/25 +f 275/418/22 279/843/22 278/419/22 +f 289/420/29 290/885/29 292/421/29 +f 307/423/29 285/886/29 286/424/29 +f 286/426/29 287/887/29 288/427/29 +f 289/429/29 288/888/29 287/430/29 +f 302/432/29 301/889/29 304/433/29 +f 292/435/29 293/890/29 294/436/29 +f 293/438/29 295/891/29 296/439/29 +f 299/441/29 301/892/29 302/442/29 +f 297/444/29 299/893/29 300/445/29 +f 296/447/29 295/894/29 297/448/29 +f 355/450/25 360/496/25 357/451/25 +f 540/228/25 314/895/25 315/453/25 +f 543/455/25 329/896/25 330/456/25 +f 539/458/25 309/897/25 310/459/25 +f 321/461/25 324/492/25 322/462/25 +f 316/208/25 320/467/25 317/464/25 +f 319/466/25 541/898/25 317/464/25 +f 306/468/29 285/899/29 307/469/29 +f 303/471/29 304/900/29 306/472/29 +f 355/450/25 358/452/25 356/474/25 +f 346/476/25 344/901/25 340/477/25 +f 363/479/25 361/499/25 362/480/25 +f 352/482/25 347/504/25 350/483/25 +f 162/485/25 166/674/25 165/486/25 +f 386/488/25 387/705/25 382/489/25 +f 345/491/25 348/505/25 346/476/25 +f 542/295/25 325/902/25 322/462/25 +f 546/493/25 338/903/25 339/494/25 +f 362/480/25 357/451/25 360/496/25 +f 340/477/25 344/901/25 341/497/25 +f 363/479/25 342/498/25 341/497/25 +f 349/484/25 354/517/25 351/500/25 +f 545/501/25 335/904/25 336/502/25 +f 345/491/25 350/483/25 347/504/25 +f 315/453/25 312/905/25 313/222/25 +f 80/247/25 68/249/25 69/124/25 +f 426/133/32 425/135/32 571/506/32 +f 81/508/29 76/906/29 61/127/29 +f 438/510/27 437/907/27 435/511/27 +f 383/512/29 385/908/29 388/513/29 +f 210/515/29 201/909/29 200/292/29 +f 556/359/59 370/330/59 371/329/59 +f 353/475/25 356/474/25 351/500/25 +f 473/518/32 475/793/32 476/519/32 +f 493/521/51 87/310/51 88/309/51 +f 375/523/25 373/700/25 370/524/25 +f 263/526/25 253/910/25 254/527/25 +f 234/355/28 235/354/28 236/529/28 +f 372/531/29 374/911/29 376/532/29 +f 395/534/20 394/912/20 392/535/20 +f 245/272/60 241/857/60 238/119/60 +f 233/348/61 237/350/61 234/344/61 +f 216/536/19 214/809/19 213/537/19 +f 403/542/56 397/789/56 392/368/56 +f 166/549/21 161/780/21 160/550/21 +f 90/552/36 92/146/36 93/145/36 +f 387/213/58 386/622/58 388/556/58 +f 493/521/24 86/522/24 83/558/24 +f 457/559/36 456/624/36 586/560/36 +f 251/565/19 535/686/19 249/566/19 +f 373/568/58 375/835/58 376/569/58 +f 81/570/19 77/877/19 78/333/19 +f 170/572/19 178/265/19 173/267/19 +f 264/403/21 276/405/21 277/574/21 +f 338/576/94 546/913/95 321/461/96 +f 277/574/21 270/914/21 256/578/21 +f 419/274/27 420/915/27 421/582/27 +f 432/584/35 431/799/35 577/585/35 +f 513/587/27 142/916/27 140/588/27 +f 183/589/21 181/917/21 174/590/21 +f 130/592/30 117/778/30 119/593/30 +f 129/165/32 506/860/32 130/592/32 +f 454/595/27 453/918/27 585/408/27 +f 75/357/21 65/919/21 66/597/21 +f 257/601/18 254/920/18 253/602/18 +f 165/603/65 158/790/65 168/604/65 +f 451/407/24 450/409/24 448/606/24 +f 174/608/29 181/921/29 182/235/29 +f 45/609/29 43/922/29 44/610/29 +f 339/612/97 541/923/98 319/466/99 +f 76/571/21 78/333/21 80/128/21 +f 261/617/18 262/924/18 263/618/18 +f 471/620/36 473/518/36 474/520/36 +f 377/143/19 379/142/19 388/556/19 +f 242/120/52 244/925/52 239/623/52 +f 457/559/32 458/136/32 459/138/32 +f 35/765/22 39/313/22 38/766/22 +f 271/768/22 269/259/22 257/258/22 +f 174/770/18 172/808/18 171/771/18 +f 465/251/35 464/253/35 592/773/35 +f 229/775/60 230/926/60 232/776/60 +f 120/107/35 118/109/35 119/593/35 +f 166/549/69 162/927/69 163/779/69 +f 197/394/22 194/393/22 187/781/22 +f 399/783/47 404/928/47 559/397/47 +f 66/597/18 65/919/18 69/785/18 +f 243/364/70 238/353/70 235/352/70 +f 227/787/28 231/777/28 232/776/28 +f 146/387/36 145/386/36 144/211/36 +f 485/631/25 31/632/25 32/634/25 +f 401/189/19 398/863/19 397/789/19 +f 158/790/71 165/603/71 159/551/71 +f 231/530/18 236/529/18 239/791/18 +f 154/663/59 152/665/59 153/667/59 +f 475/793/30 463/774/30 592/773/30 +f 454/794/23 455/561/23 586/560/23 +f 169/605/22 168/604/22 164/796/22 +f 34/150/25 36/929/25 40/797/25 +f 44/610/72 43/922/72 41/100/72 +f 69/785/18 68/93/18 63/92/18 +f 208/303/57 204/291/57 199/290/57 +f 434/307/24 433/306/24 577/585/24 +f 273/800/19 259/181/19 278/401/19 +f 272/383/21 264/403/21 255/575/21 +f 308/801/25 310/930/25 326/802/25 +f 390/543/73 397/545/73 398/541/73 +f 616/760/22 55/761/22 56/764/22 +f 45/804/74 38/931/74 39/152/74 +f 400/548/75 401/547/75 403/553/75 +f 384/805/18 383/932/18 381/806/18 +f 177/573/22 171/771/22 172/808/22 +f 219/231/21 213/537/21 214/809/21 +f 382/807/59 381/806/59 378/810/59 +f 594/734/22 478/739/22 477/737/22 +f 275/418/22 258/377/22 254/379/22 +f 124/367/51 123/366/51 121/108/51 +f 270/812/18 271/933/18 268/813/18 +f 329/815/100 543/934/101 327/803/102 +f 449/607/35 448/606/35 584/137/35 +f 333/818/103 309/935/104 539/458/105 +f 432/584/30 430/586/30 578/820/30 +f 283/822/21 272/383/21 253/336/21 +f 233/285/26 226/287/26 230/824/26 +f 225/826/22 224/936/22 216/827/22 +f 422/828/36 424/507/36 571/506/36 +f 223/829/21 221/260/21 218/262/21 +f 176/246/39 180/256/39 178/255/39 +f 195/284/21 186/283/21 190/831/21 +f 199/832/18 206/293/18 202/833/18 +f 179/834/25 183/589/25 180/591/25 +f 375/835/19 367/361/19 369/360/19 +f 399/836/38 400/87/38 558/86/38 +f 211/112/21 208/111/21 201/838/21 +f 224/840/29 223/829/29 214/830/29 +f 275/418/22 282/257/22 281/842/22 +f 470/844/23 471/620/23 472/621/23 +f 500/846/23 108/862/23 109/173/23 +f 442/848/32 443/821/32 578/820/32 +f 274/378/22 261/937/22 252/849/22 +s 1 +f 949/938/106 408/939/107 564/940/108 +f 879/941/106 529/942/109 878/943/110 +f 656/944/111 642/945/112 644/946/113 +f 652/947/114 663/948/115 651/949/116 +f 331/819/117 308/460/118 939/950/18 +f 323/951/119 899/952/22 338/953/120 +f 322/954/121 330/955/122 899/952/22 +f 540/228/123 901/956/22 334/229/124 +f 484/957/125 781/958/126 485/959/127 +f 312/960/128 891/961/21 332/962/129 +f 337/613/130 320/467/131 941/963/19 +f 333/964/132 888/965/133 886/966/19 +f 546/913/134 357/967/135 940/968/21 +f 484/957/125 775/969/136 774/970/19 +f 602/971/137 1051/972/138 480/973/139 +f 33/974/140 775/969/136 483/975/141 +f 731/976/142 732/977/143 720/978/144 +f 489/979/145 615/980/146 614/981/147 +f 601/982/148 1052/983/21 602/971/137 +f 54/984/149 55/985/150 616/986/151 +f 480/973/139 1050/987/18 481/988/152 +f 612/989/153 607/990/154 613/991/155 +f 308/801/118 543/934/156 939/992/18 +f 883/993/157 247/994/158 882/995/159 +f 939/950/18 344/996/160 331/819/117 +f 886/997/19 309/998/161 333/999/132 +f 311/454/162 544/866/163 901/956/22 +f 329/1000/164 900/1001/165 330/1002/122 +f 53/1003/166 55/985/150 492/1004/167 +f 949/938/106 563/1005/168 944/1006/110 +f 938/1007/43 298/1008/169 300/1009/170 +f 54/1010/149 615/980/146 488/1011/171 +f 340/1012/172 366/1013/173 343/1014/174 +f 152/1015/175 524/1016/176 528/1017/177 +f 940/968/21 362/1018/178 328/296/179 +f 566/1019/180 948/1020/159 942/1021/181 +f 318/1022/182 895/1023/18 335/1024/183 +f 491/1025/184 56/1026/185 618/1027/186 +f 48/1028/187 610/1029/188 604/1030/189 +f 881/1031/181 246/1032/190 880/1033/191 +f 901/956/22 347/1034/192 334/229/124 +f 153/1035/193 156/1036/194 527/1037/195 +f 544/866/163 348/1038/121 901/956/22 +f 481/1039/152 1049/1040/196 603/1041/197 +f 933/1042/33 296/1043/198 298/1008/169 +f 332/1044/129 887/1045/199 333/964/132 +f 366/1013/173 345/1046/200 343/1014/174 +f 886/966/19 902/1047/201 329/1000/164 +f 604/1030/189 609/1048/202 605/1049/203 +f 948/1020/159 562/1050/204 561/1051/205 +f 600/1052/206 1047/1053/126 1046/1054/19 +f 52/1055/207 57/1056/208 56/1026/185 +f 947/1057/191 408/1058/107 945/1059/209 +f 294/1060/210 930/1061/59 291/1062/211 +f 620/1063/212 641/1064/213 639/1065/214 +f 633/1066/215 634/1067/216 632/1068/217 +f 635/1069/218 636/1070/219 633/1066/215 +f 887/1045/199 911/1071/220 888/965/133 +f 754/1072/221 765/1073/222 753/1074/223 +f 692/1075/224 703/1076/225 691/1077/226 +f 630/1078/227 629/1079/228 631/1080/229 +f 639/1065/214 640/1081/230 637/1082/231 +f 637/1082/231 638/1083/232 635/1069/218 +f 626/1084/233 625/1085/234 627/1086/235 +f 628/1087/236 627/1086/235 629/1079/228 +f 632/1068/217 630/1088/227 631/1089/229 +f 648/1090/237 628/1087/236 630/1078/227 +f 641/1064/213 652/947/114 640/1081/230 +f 646/1091/238 624/1092/239 626/1084/233 +f 638/1083/232 650/1093/240 636/1070/219 +f 689/1094/241 676/1095/242 677/1096/243 +f 634/1067/216 648/1097/237 630/1088/227 +f 758/1098/244 745/1099/245 746/1100/246 +f 647/1101/247 626/1084/233 628/1087/236 +f 645/1102/248 622/1103/249 624/1092/239 +f 636/1070/219 649/1104/250 634/1067/216 +f 642/945/112 643/1105/251 619/1106/252 +f 655/1107/253 665/1108/254 653/1109/255 +f 653/1109/255 664/1110/256 652/947/114 +f 651/949/116 662/1111/257 650/1093/240 +f 676/1095/242 663/948/115 664/1110/256 +f 670/1112/258 680/1113/259 669/1114/260 +f 770/1115/261 757/1116/262 758/1098/244 +f 660/1117/263 647/1101/247 648/1090/237 +f 659/1118/264 646/1091/238 647/1101/247 +f 658/1119/265 645/1102/248 646/1091/238 +f 657/1120/266 644/946/113 645/1102/248 +f 650/1093/240 661/1121/267 649/1104/250 +f 649/1104/250 660/1122/263 648/1097/237 +f 666/1123/268 665/1108/254 667/1124/269 +f 674/1125/270 661/1121/267 662/1111/257 +f 658/1119/265 670/1112/258 657/1120/266 +f 675/1126/271 662/1111/257 663/948/115 +f 924/1127/272 904/1128/273 908/1129/274 +f 673/1130/275 660/1122/263 661/1121/267 +f 680/1113/259 691/1077/226 679/1131/276 +f 659/1118/264 671/1132/277 658/1119/265 +f 836/1133/278 837/1134/279 829/1135/280 +f 657/1120/266 669/1114/260 656/944/111 +f 656/944/111 668/1136/281 654/1137/282 +f 773/1138/283 760/1139/284 761/1140/285 +f 678/1141/286 677/1096/243 666/1123/268 +f 672/1142/287 682/1143/288 671/1132/277 +f 688/1144/289 675/1126/271 676/1095/242 +f 677/1096/243 664/1110/256 665/1108/254 +f 686/1145/290 673/1130/275 674/1125/270 +f 741/1146/291 752/1147/292 740/1148/293 +f 683/1149/294 684/1150/295 672/1142/287 +f 640/1081/230 651/949/116 638/1083/232 +f 671/1132/277 681/1151/296 670/1112/258 +f 687/1152/297 674/1125/270 675/1126/271 +f 669/1114/260 679/1131/276 668/1136/281 +f 685/1153/298 683/1154/294 673/1130/275 +f 697/1155/299 695/1156/300 685/1153/298 +f 701/1157/301 688/1144/289 689/1094/241 +f 699/1158/302 686/1145/290 687/1152/297 +f 624/1092/239 623/1159/303 625/1085/234 +f 622/1103/249 621/1160/304 623/1159/303 +f 619/1106/252 620/1063/212 621/1160/304 +f 695/1161/300 696/1162/305 684/1150/295 +f 684/1150/295 694/1163/306 682/1143/288 +f 682/1143/288 693/1164/307 681/1151/296 +f 681/1151/296 692/1075/224 680/1113/259 +f 698/1165/308 685/1153/298 686/1145/290 +f 679/1131/276 690/1166/309 678/1141/286 +f 702/1167/310 701/1157/301 690/1166/309 +f 710/1168/311 697/1155/299 698/1165/308 +f 694/1163/306 705/1169/312 693/1164/307 +f 711/1170/313 698/1165/308 699/1158/302 +f 748/1171/314 735/1172/315 736/1173/316 +f 709/1174/317 707/1175/318 697/1155/299 +f 723/1176/71 710/1168/311 711/1170/313 +f 713/1177/319 700/1178/320 701/1157/301 +f 668/1136/281 678/1141/286 666/1123/268 +f 693/1164/307 704/1179/321 692/1075/224 +f 696/1162/305 706/1180/322 694/1163/306 +f 707/1181/318 708/1182/323 696/1162/305 +f 714/1183/324 713/1177/319 702/1167/310 +f 722/1184/325 709/1174/317 710/1168/311 +f 755/1185/326 756/1186/327 744/1187/328 +f 724/1188/329 711/1170/313 712/1189/330 +f 718/1190/331 729/1191/332 717/1192/33 +f 721/1193/333 719/1194/334 709/1174/317 +f 703/1076/225 714/1183/324 702/1167/310 +f 708/1182/323 718/1190/331 706/1180/322 +f 706/1180/322 717/1192/33 705/1169/312 +f 705/1169/312 716/1195/335 704/1179/321 +f 704/1179/321 715/1196/336 703/1076/225 +f 734/1197/337 721/1193/333 722/1184/325 +f 726/1198/338 725/1199/339 714/1183/324 +f 737/1200/340 724/1188/329 725/1199/339 +f 691/1077/226 702/1167/310 690/1166/309 +f 735/1172/315 722/1184/325 723/1176/71 +f 716/1195/335 727/1201/341 715/1196/336 +f 733/1202/342 731/1203/142 721/1193/333 +f 715/1196/336 726/1198/338 714/1183/324 +f 720/978/144 730/1204/343 718/1190/331 +f 736/1173/316 723/1176/71 724/1188/329 +f 717/1192/33 728/1205/344 716/1195/335 +f 745/1099/245 743/1206/345 733/1202/342 +f 719/1207/334 720/978/144 708/1182/323 +f 738/1208/346 737/1200/340 726/1198/338 +f 749/1209/347 736/1173/316 737/1200/340 +f 730/1204/343 741/1146/291 729/1191/332 +f 643/1105/251 653/1109/255 641/1064/213 +f 746/1100/246 733/1202/342 734/1197/337 +f 727/1201/341 738/1208/346 726/1198/338 +f 743/1210/345 744/1187/328 732/977/143 +f 728/1205/344 739/1211/348 727/1201/341 +f 729/1191/332 740/1148/293 728/1205/344 +f 747/1212/349 734/1197/337 735/1172/315 +f 690/1166/309 689/1094/241 678/1141/286 +f 725/1199/339 712/1189/330 713/1177/319 +f 750/1213/350 749/1209/347 738/1208/346 +f 712/1189/330 699/1158/302 700/1178/320 +f 759/1214/351 746/1100/246 747/1212/349 +f 760/1139/284 747/1212/349 748/1171/314 +f 761/1140/285 748/1171/314 749/1209/347 +f 757/1116/262 755/1215/326 745/1099/245 +f 739/1211/348 750/1213/350 738/1208/346 +f 744/1187/328 754/1072/221 742/1216/352 +f 742/1216/352 753/1074/223 741/1146/291 +f 654/1137/282 655/1107/253 642/945/112 +f 740/1148/293 751/1217/353 739/1211/348 +f 769/1218/354 767/1219/355 757/1116/262 +f 762/1220/356 761/1140/285 750/1213/350 +f 660/1117/263 672/1142/287 659/1118/264 +f 772/1221/357 759/1214/351 760/1139/284 +f 771/1222/358 758/1098/244 759/1214/351 +f 654/1137/282 666/1123/268 667/1124/269 +f 751/1217/353 762/1220/356 750/1213/350 +f 767/1223/355 768/1224/359 756/1186/327 +f 756/1186/327 766/1225/360 754/1072/221 +f 753/1074/223 764/1226/361 752/1147/292 +f 700/1178/320 687/1152/297 688/1144/289 +f 752/1147/292 763/1227/362 751/1217/353 +f 732/977/143 742/1216/352 730/1204/343 +f 601/982/148 1046/1054/19 1053/1228/136 +f 613/991/155 46/1229/363 50/1230/364 +f 941/963/19 356/1231/365 337/613/130 +f 487/1232/366 776/1233/21 33/974/140 +f 816/1234/18 798/1235/367 807/1236/368 +f 1022/1237/369 1031/1238/370 1023/1239/371 +f 818/1240/372 808/1241/373 817/1242/374 +f 984/1243/18 985/1244/374 977/1245/373 +f 788/1246/375 789/1247/22 787/1248/376 +f 856/1249/377 857/1250/378 847/1251/379 +f 960/1252/380 962/1253/381 961/1254/382 +f 876/1255/59 869/1256/383 859/1257/69 +f 827/1258/22 836/1133/278 829/1135/280 +f 848/1259/384 835/1260/385 841/1261/386 +f 974/1262/387 982/1263/388 975/1264/389 +f 871/1265/390 864/1266/65 862/1267/370 +f 1009/1268/391 996/1269/22 1003/1270/385 +f 865/1271/392 873/1272/393 867/1273/394 +f 796/1274/395 797/1275/396 785/1276/397 +f 969/1277/398 968/1278/43 967/1279/33 +f 996/1269/22 989/1280/399 997/1281/58 +f 951/1282/400 1037/1283/401 1035/1284/402 +f 1040/1285/393 962/1253/381 1041/1286/403 +f 988/1287/65 989/1280/399 981/1288/404 +f 971/1289/405 952/1290/21 962/1253/381 +f 821/1291/406 830/1292/407 831/1293/408 +f 804/1294/387 797/1295/396 805/1296/409 +f 1036/1297/383 1029/1298/18 1028/1299/69 +f 826/1300/410 812/1301/19 810/1302/411 +f 783/1303/400 870/1304/401 868/1305/402 +f 1004/1306/278 1005/1307/279 998/1308/280 +f 877/1309/412 864/1310/65 872/1311/58 +f 983/1312/413 984/1313/18 976/1314/368 +f 791/1315/414 792/1316/380 793/1317/382 +f 804/1294/387 814/1318/388 806/1319/389 +f 860/1320/18 849/1321/415 858/1322/416 +f 849/1321/415 843/1323/43 842/1324/391 +f 818/1325/372 825/1326/417 826/1300/410 +f 817/1327/374 824/1328/418 818/1325/372 +f 1013/1329/419 1015/1330/31 1006/1331/420 +f 800/1332/33 788/1333/375 798/1334/367 +f 1005/1307/279 1006/1335/420 999/1336/407 +f 986/1337/372 995/1338/417 987/1339/410 +f 963/1340/71 964/1341/395 950/1342/31 +f 784/1343/21 868/1305/402 876/1255/59 +f 1037/1344/401 1031/1345/370 1030/1346/421 +f 834/1347/422 824/1348/418 833/1349/423 +f 952/1290/21 1035/1284/402 1043/1350/59 +f 832/1351/21 831/1293/408 830/1292/407 +f 785/1352/397 787/1248/376 786/1353/424 +f 837/1354/279 819/1355/399 829/1135/280 +f 956/1356/375 957/1357/22 955/1358/376 +f 1045/1359/412 1039/1360/65 1038/1361/58 +f 1045/1359/412 1034/1362/394 1032/1363/392 +f 791/1364/414 873/1365/393 877/1366/412 +f 789/1367/22 877/1366/412 872/1368/58 +f 838/1369/420 832/1370/21 830/1371/407 +f 867/1372/394 858/1373/416 866/1374/425 +f 870/1375/401 862/1267/370 861/1376/421 +f 966/1377/367 968/1378/43 956/1379/375 +f 813/1380/65 819/1355/399 820/1381/404 +f 792/1316/380 794/1382/381 793/1317/382 +f 1037/1344/401 1036/1297/383 1035/1284/402 +f 993/1383/59 985/1384/374 992/1385/69 +f 800/1386/33 790/1387/426 799/1388/43 +f 969/1389/398 978/1390/427 970/1391/428 +f 994/1392/418 1003/1270/385 995/1338/417 +f 1010/1393/43 1011/1394/429 1004/1306/278 +f 1029/1395/18 1011/1394/429 1019/1396/33 +f 873/1365/393 794/1382/381 874/1397/403 +f 951/1282/400 953/1398/397 954/1399/424 +f 644/946/113 619/1106/252 622/1103/249 +f 1024/1400/19 1013/1401/419 1023/1402/371 +f 953/1398/397 955/1358/376 954/1399/424 +f 1002/1403/422 994/1392/418 1001/1404/423 +f 860/1320/18 844/1405/429 850/1406/33 +f 812/1301/19 805/1296/409 795/1407/71 +f 797/1275/396 788/1333/375 785/1276/397 +f 299/893/430 922/1408/431 921/1409/432 +f 863/1410/19 847/1251/379 855/1411/71 +f 1024/1412/19 1016/1413/379 1014/1414/71 +f 1036/1297/383 1022/1237/369 1020/1415/433 +f 802/1416/428 810/1302/411 811/1417/434 +f 869/1256/383 860/1418/18 859/1257/69 +f 876/1255/59 875/1419/435 874/1397/403 +f 1023/1402/371 1021/1420/436 1022/1421/369 +f 1017/1422/384 1003/1270/385 1008/1423/386 +f 862/1424/370 863/1425/19 854/1426/371 +f 846/1427/419 839/1428/31 838/1429/420 +f 786/1430/424 871/1431/390 870/1304/401 +f 870/1375/401 869/1256/383 868/1305/402 +f 1018/1432/415 1010/1393/43 1009/1268/391 +f 972/1433/19 981/1288/404 974/1262/387 +f 857/1250/378 858/1322/416 849/1321/415 +f 961/1434/382 1045/1435/412 959/1436/414 +f 1029/1395/18 1018/1432/415 1027/1437/416 +f 1000/1438/21 1007/1439/437 1002/1440/422 +f 1017/1422/384 1002/1440/422 1007/1439/437 +f 985/1384/374 994/1441/418 986/1337/372 +f 816/1442/18 801/1443/398 800/1444/33 +f 288/1445/438 937/1446/71 284/1447/439 +f 48/1448/187 49/1449/440 611/1450/441 +f 51/1451/442 605/1049/203 609/1048/202 +f 523/1452/443 527/1037/195 155/1453/444 +f 57/1056/208 489/979/145 614/981/147 +f 46/1229/363 51/1451/442 50/1230/364 +f 940/968/21 321/461/445 546/913/134 +f 53/1003/166 618/1027/186 617/1454/446 +f 112/202/447 502/1455/448 99/195/449 +f 512/859/450 516/1456/451 515/1457/452 +f 117/778/449 509/1458/453 508/1459/448 +f 423/186/454 427/1460/455 575/1461/456 +f 437/907/457 445/1462/458 435/511/459 +f 148/147/460 149/1463/461 516/1456/451 +f 459/138/462 588/1464/463 589/1465/464 +f 90/552/465 96/1466/466 92/146/467 +f 500/846/468 504/1467/469 108/862/470 +f 464/253/471 594/1468/472 595/1469/473 +f 593/117/474 594/1468/472 467/252/475 +f 120/107/476 134/1470/477 122/811/478 +f 462/1471/479 448/606/480 450/409/481 +f 506/860/482 510/1472/483 132/1473/484 +f 430/586/485 581/1474/486 578/820/487 +f 116/1475/488 106/169/489 104/382/490 +f 456/624/491 589/1465/464 460/1476/492 +f 98/1477/477 87/310/493 493/521/478 +f 506/860/482 509/1458/453 130/592/494 +f 82/278/495 495/1478/496 85/277/497 +f 117/778/449 507/1479/498 120/107/476 +f 501/1480/499 104/382/490 102/170/500 +f 439/105/501 583/1481/502 437/106/457 +f 592/773/503 596/1482/504 476/519/505 +f 592/773/503 595/1469/473 479/1483/506 +f 108/862/470 114/1484/507 110/174/508 +f 134/1470/477 124/367/493 122/811/478 +f 573/1485/509 425/135/510 570/134/511 +f 476/519/505 477/1486/512 474/520/513 +f 435/511/459 446/1487/514 433/306/515 +f 433/306/515 579/1488/516 577/585/517 +f 937/1446/71 307/1489/518 284/1447/439 +f 543/934/156 362/1018/178 361/1490/519 +f 519/1491/520 157/1492/521 520/1493/522 +f 525/1494/523 520/1493/522 157/1492/521 +f 948/1020/159 560/1495/524 942/1021/181 +f 535/1496/525 879/941/106 878/943/110 +f 548/1497/526 340/1012/172 342/1498/527 +f 519/1499/520 155/1453/444 526/1500/528 +f 944/1006/110 568/1501/529 949/938/106 +f 947/1057/191 566/1502/180 942/1021/181 +f 880/1033/191 538/1503/180 881/1031/181 +f 946/1504/530 569/1505/531 944/1006/110 +f 885/1506/209 250/1507/532 880/1033/191 +f 945/1059/209 567/1508/533 947/1057/191 +f 943/1509/157 411/1510/534 946/1504/530 +f 320/467/131 545/865/535 941/963/19 +f 878/943/110 248/1511/536 884/1512/530 +f 895/1513/18 893/1514/537 335/1515/183 +f 891/1516/21 889/1517/538 332/1044/129 +f 289/1518/539 930/1061/59 931/1519/21 +f 31/1520/540 779/1521/196 486/1522/541 +f 899/1523/22 897/1524/542 338/1525/120 +f 326/1526/543 886/997/19 329/1527/164 +f 909/1528/544 900/1001/165 902/1047/201 +f 911/1071/220 919/1529/545 920/1530/546 +f 898/1531/547 913/1532/548 914/1533/549 +f 892/1534/550 906/1535/551 890/1536/552 +f 915/1537/553 896/1538/554 897/1524/542 +f 911/1539/220 902/1047/201 888/965/133 +f 903/1540/555 894/1541/556 896/1538/554 +f 906/1542/551 889/1517/538 890/1536/552 +f 914/1543/549 897/1524/542 898/1531/547 +f 907/1544/557 893/1514/537 894/1545/556 +f 794/1382/381 782/1546/31 784/1343/21 +f 912/1547/558 887/1045/199 889/1517/538 +f 893/1514/537 904/1128/273 892/1534/550 +f 905/1548/559 287/430/560 925/1549/561 +f 915/1537/553 922/1408/431 903/1550/555 +f 418/583/562 429/1551/563 416/275/481 +f 907/1544/557 924/1552/272 908/1553/274 +f 925/1554/561 910/1555/564 912/1547/558 +f 923/1556/565 906/1535/551 904/1557/273 +f 918/1558/566 914/1533/549 913/1532/548 +f 911/1539/220 917/1559/567 909/1560/544 +f 906/1542/551 925/1549/561 912/1561/558 +f 914/1543/549 921/1562/432 915/1563/553 +f 903/1540/555 916/1564/568 907/1565/557 +f 909/1528/544 918/1566/566 913/1567/548 +f 289/1518/539 936/1568/31 288/1445/438 +f 293/890/569 923/1569/565 924/1127/272 +f 920/1570/546 306/468/570 917/1559/567 +f 287/887/560 919/1571/545 925/1554/561 +f 926/1572/571 299/441/430 921/1562/432 +f 292/421/572 905/1573/559 923/1556/565 +f 306/472/570 918/1566/566 917/1574/567 +f 916/1564/568 297/448/573 295/894/574 +f 920/1530/546 286/424/575 285/886/576 +f 926/1575/571 304/433/577 301/889/578 +f 916/1576/568 293/438/569 924/1552/272 +f 303/1577/579 928/1578/22 302/1579/580 +f 932/1580/19 305/1581/581 307/1489/518 +f 331/819/117 346/1582/582 544/866/163 +f 302/1579/580 938/1007/43 300/1009/170 +f 935/1583/65 303/1577/579 305/1581/581 +f 524/1016/176 154/1584/583 525/1494/523 +f 352/1585/584 941/963/19 545/865/535 +f 946/1504/530 563/1005/168 407/1586/585 +f 315/1587/586 336/1588/587 891/961/21 +f 546/913/134 356/1231/365 358/1589/588 +f 883/1590/157 248/1511/536 533/1591/589 +f 335/1515/183 892/1534/550 336/1592/587 +f 330/1002/122 898/1531/547 899/1523/22 +f 152/1015/175 156/1036/194 522/1593/590 +f 336/1592/587 890/1536/552 891/1516/21 +f 542/295/591 940/968/21 328/296/179 +f 339/1594/592 894/1541/556 895/1595/18 +f 338/1525/120 896/1538/554 339/1594/592 +f 549/1596/593 342/1498/527 363/1597/594 +f 361/1490/519 939/992/18 543/934/156 +f 885/1506/209 246/1032/190 531/1598/595 +f 554/1599/596 354/1600/597 349/1601/598 +f 943/1509/157 407/1586/585 562/1050/204 +f 350/1602/599 554/1599/596 349/1601/598 +f 296/1603/198 934/1604/69 294/1060/210 +f 485/959/127 780/1605/22 31/1520/540 +f 47/1606/600 49/1449/440 608/1607/601 +f 555/1608/602 350/1602/599 345/1046/200 +f 553/1609/603 355/1610/604 353/1611/605 +f 550/1612/121 359/1613/606 360/1614/162 +f 552/1615/582 360/1614/162 355/1610/604 +f 364/1616/607 363/1597/594 359/1613/606 +f 885/1506/209 530/1617/608 879/941/106 +f 482/1618/609 1049/1040/196 1048/1619/22 +f 334/229/124 352/1585/584 545/865/535 +f 317/1620/610 339/1621/592 895/1622/18 +f 947/1057/191 560/1495/524 409/1623/611 +f 949/938/106 410/1624/612 945/1625/209 +f 537/1626/613 883/993/157 882/995/159 +f 565/1627/613 943/1509/157 948/1020/159 +f 538/1628/180 882/995/159 881/1031/181 +f 884/1512/530 535/1629/525 878/943/110 +f 883/1590/157 536/1630/614 884/1512/530 +f 885/1506/209 534/1631/529 251/1632/615 +f 95/144/460 496/1633/616 82/278/495 +f 512/859/450 514/1634/496 136/159/497 +f 511/1635/617 128/164/618 126/381/619 +f 472/621/620 478/1636/621 469/845/622 +f 494/308/619 499/1637/623 97/1638/617 +f 92/146/467 497/1639/624 95/144/460 +f 423/186/454 576/1640/502 421/187/457 +f 97/1641/617 90/552/465 494/325/619 +f 584/137/625 587/1642/626 588/1464/463 +f 151/1643/477 141/311/493 138/312/478 +f 577/585/517 580/1644/627 430/586/485 +f 586/560/628 460/1476/492 590/1645/629 +f 513/210/468 517/1646/469 143/788/470 +f 114/1484/507 112/202/447 110/174/508 +f 469/856/622 598/1647/630 593/117/474 +f 414/300/471 429/1551/563 572/1648/473 +f 143/788/470 149/1463/461 146/387/631 +f 441/177/491 581/1474/486 444/1649/492 +f 472/621/620 477/1486/512 597/1650/629 +f 574/1651/632 571/506/633 425/135/510 +f 586/560/628 591/1652/634 453/795/635 +f 421/582/457 428/1653/636 418/583/562 +f 126/365/619 133/1654/637 511/1655/617 +f 585/408/638 462/1471/479 450/409/481 +f 570/134/511 572/1648/473 573/1485/509 +f 99/195/449 501/1480/499 102/170/500 +f 106/169/489 505/1656/639 500/167/468 +f 439/105/501 444/1649/492 582/1657/629 +f 513/587/468 150/1658/623 518/1659/639 +f 85/277/497 98/1477/477 493/521/478 +f 136/159/497 151/1643/477 138/312/478 +f 585/408/638 591/1660/634 461/1661/640 +f 984/1662/18 966/1663/367 976/1664/368 +f 998/1308/280 990/1665/406 989/1280/399 +f 959/1666/414 960/1252/380 961/1254/382 +f 987/1339/410 972/1433/19 979/1667/411 +f 827/1258/22 819/1355/399 828/1668/58 +f 986/1669/372 977/1245/373 985/1244/374 +f 982/1263/388 976/1314/368 975/1264/389 +f 952/1290/21 1041/1286/403 962/1253/381 +f 1028/1299/69 1035/1284/402 1036/1297/383 +f 802/1670/428 803/1671/405 792/1672/380 +f 990/1665/406 999/1673/407 991/1674/408 +f 1024/1675/19 1032/1676/392 1033/1677/377 +f 795/1407/71 796/1274/395 782/1546/31 +f 965/1678/396 956/1379/375 953/1679/397 +f 964/1341/395 965/1678/396 953/1679/397 +f 1043/1350/59 1042/1680/435 1041/1286/403 +f 875/1419/435 860/1418/18 858/1373/416 +f 818/1240/372 810/1302/411 809/1681/427 +f 844/1405/429 845/1682/641 836/1133/278 +f 789/1683/22 871/1431/390 787/1684/376 +f 957/1685/22 958/1686/426 959/1666/414 +f 1032/1676/392 1025/1687/425 1033/1677/377 +f 1034/1688/394 1027/1689/416 1025/1687/425 +f 957/1690/22 1044/1691/390 955/1692/376 +f 832/1693/21 833/1349/423 822/1694/59 +f 865/1695/392 866/1374/425 856/1696/377 +f 853/1697/369 862/1424/370 854/1426/371 +f 957/1698/22 1045/1435/412 1038/1699/58 +f 816/1700/18 817/1242/374 808/1241/373 +f 819/1355/399 814/1701/388 820/1381/404 +f 1026/1702/378 1027/1437/416 1018/1432/415 +f 991/1674/408 1000/1703/21 993/1704/59 +f 789/1705/22 790/1706/426 791/1315/414 +f 970/1707/428 971/1289/405 960/1708/380 +f 1017/1709/384 1018/1432/415 1009/1268/391 +f 815/1710/413 822/1711/59 823/1712/69 +f 1015/1713/31 1016/1714/379 1007/1715/437 +f 1026/1716/378 1007/1715/437 1016/1714/379 +f 1016/1413/379 1025/1717/425 1026/1702/378 +f 843/1323/43 844/1405/429 836/1133/278 +f 784/1343/21 874/1397/403 794/1382/381 +f 783/1303/400 785/1352/397 786/1353/424 +f 1012/1718/641 1013/1329/419 1006/1331/420 +f 820/1381/404 812/1301/19 813/1380/65 +f 984/1719/18 969/1389/398 967/1720/33 +f 808/1721/373 802/1416/428 801/1443/398 +f 801/1722/398 792/1672/380 790/1387/426 +f 1000/1723/21 1001/1404/423 993/1724/59 +f 823/1725/69 807/1726/368 815/1727/413 +f 845/1728/641 830/1371/407 837/1134/279 +f 853/1729/369 846/1730/419 852/1731/436 +f 811/1417/434 812/1301/19 795/1407/71 +f 839/1732/31 847/1733/379 840/1734/437 +f 986/1669/372 979/1667/411 978/1735/427 +f 873/1272/393 875/1419/435 867/1273/394 +f 803/1671/405 795/1407/71 782/1546/31 +f 825/1326/417 813/1380/65 826/1300/410 +f 824/1348/418 835/1260/385 825/1326/417 +f 869/1256/383 853/1697/369 851/1736/433 +f 822/1737/59 817/1327/374 823/1738/69 +f 993/1739/59 983/1740/413 991/1741/408 +f 806/1742/389 798/1235/367 797/1295/396 +f 1011/1394/429 1012/1718/641 1004/1306/278 +f 971/1289/405 963/1340/71 950/1342/31 +f 1042/1680/435 1029/1298/18 1027/1689/416 +f 853/1729/369 844/1405/429 851/1743/433 +f 852/1744/436 838/1429/420 845/1682/641 +f 1044/1745/390 1039/1746/65 1031/1345/370 +f 863/1747/19 846/1730/419 854/1748/371 +f 970/1707/428 958/1749/426 969/1277/398 +f 848/1259/384 834/1750/422 840/1751/437 +f 827/1258/22 825/1326/417 835/1260/385 +f 972/1433/19 973/1752/409 963/1340/71 +f 1022/1421/369 1011/1394/429 1020/1753/433 +f 991/1741/408 982/1754/388 990/1755/406 +f 865/1695/392 863/1756/19 864/1757/65 +f 996/1269/22 1004/1306/278 998/1308/280 +f 975/1758/389 966/1663/367 965/1759/396 +f 974/1262/387 965/1759/396 973/1752/409 +f 972/1433/19 980/1760/434 979/1667/411 +f 782/1546/31 783/1303/400 784/1343/21 +f 1040/1761/393 1042/1680/435 1034/1362/394 +f 848/1762/384 849/1321/415 842/1324/391 +f 1031/1238/370 1024/1763/19 1023/1239/371 +f 842/1324/391 827/1258/22 835/1260/385 +f 989/1280/399 982/1754/388 981/1288/404 +f 806/1319/389 815/1727/413 807/1726/368 +f 995/1338/417 988/1287/65 987/1339/410 +f 964/1341/395 952/1290/21 950/1342/31 +f 970/1391/428 979/1667/411 980/1760/434 +f 857/1764/378 840/1734/437 847/1733/379 +f 1006/1335/420 1000/1765/21 999/1336/407 +f 996/1269/22 995/1338/417 1003/1270/385 +f 954/1766/424 1044/1691/390 1037/1283/401 +f 821/1767/406 815/1710/413 814/1701/388 +f 840/1751/437 832/1768/21 839/1769/31 +f 486/1522/541 778/1770/18 32/1771/642 +f 482/1618/609 1047/1053/126 599/1772/643 +f 32/1773/642 777/1774/138 487/1232/366 +f 551/1775/644 353/1611/605 354/1776/597 +f 882/995/159 532/1777/645 881/1031/181 +f 949/938/106 945/1625/209 408/939/107 +f 879/941/106 530/1617/608 529/942/109 +f 656/944/111 654/1137/282 642/945/112 +f 652/947/114 664/1110/256 663/948/115 +f 331/819/117 539/458/646 308/460/118 +f 323/951/119 322/954/121 899/952/22 +f 322/954/121 325/1778/647 330/955/122 +f 540/228/123 311/454/162 901/956/22 +f 484/957/125 774/970/19 781/958/126 +f 312/960/128 315/1587/586 891/961/21 +f 337/613/130 319/466/648 320/467/131 +f 333/964/132 887/1045/199 888/965/133 +f 546/913/134 358/1589/588 357/967/135 +f 484/957/125 483/975/141 775/969/136 +f 602/971/137 1052/983/21 1051/972/138 +f 33/974/140 776/1233/21 775/969/136 +f 731/976/142 743/1210/345 732/977/143 +f 489/979/145 488/1011/171 615/980/146 +f 601/982/148 1053/1228/136 1052/983/21 +f 54/984/149 492/1004/167 55/985/150 +f 480/973/139 1051/972/138 1050/987/18 +f 612/989/153 47/1606/600 607/990/154 +f 308/801/118 327/803/649 543/934/156 +f 883/993/157 533/1779/589 247/994/158 +f 939/950/18 341/1780/650 344/996/160 +f 886/997/19 310/1781/651 309/998/161 +f 311/454/162 313/222/652 544/866/163 +f 329/1000/164 902/1047/201 900/1001/165 +f 53/1003/166 617/1454/446 55/985/150 +f 949/938/106 564/940/108 563/1005/168 +f 938/1007/43 933/1042/33 298/1008/169 +f 54/1010/149 616/1782/151 615/980/146 +f 340/1012/172 547/1783/653 366/1013/173 +f 152/1015/175 521/1784/654 524/1016/176 +f 940/968/21 357/967/135 362/1018/178 +f 566/1019/180 565/1785/613 948/1020/159 +f 318/1022/182 317/1786/610 895/1023/18 +f 491/1025/184 52/1055/207 56/1026/185 +f 48/1028/187 611/1787/441 610/1029/188 +f 881/1031/181 532/1777/645 246/1032/190 +f 901/956/22 348/1038/121 347/1034/192 +f 153/1035/193 522/1593/590 156/1036/194 +f 544/866/163 346/1582/582 348/1038/121 +f 481/1039/152 1050/1788/18 1049/1040/196 +f 933/1042/33 929/1789/18 296/1043/198 +f 332/1044/129 889/1517/538 887/1045/199 +f 366/1013/173 555/1608/602 345/1046/200 +f 886/966/19 888/965/133 902/1047/201 +f 604/1030/189 610/1029/188 609/1048/202 +f 948/1020/159 943/1509/157 562/1050/204 +f 600/1052/206 599/1772/643 1047/1053/126 +f 52/1055/207 490/1790/655 57/1056/208 +f 947/1057/191 409/1623/611 408/1058/107 +f 294/1060/210 934/1604/69 930/1061/59 +f 620/1063/212 643/1105/251 641/1064/213 +f 633/1066/215 636/1070/219 634/1067/216 +f 635/1069/218 638/1083/232 636/1070/219 +f 887/1045/199 910/1791/564 911/1071/220 +f 754/1072/221 766/1225/360 765/1073/222 +f 692/1075/224 704/1179/321 703/1076/225 +f 630/1078/227 628/1087/236 629/1079/228 +f 639/1065/214 641/1064/213 640/1081/230 +f 637/1082/231 640/1081/230 638/1083/232 +f 626/1084/233 624/1092/239 625/1085/234 +f 628/1087/236 626/1084/233 627/1086/235 +f 632/1068/217 634/1067/216 630/1088/227 +f 648/1090/237 647/1101/247 628/1087/236 +f 641/1064/213 653/1109/255 652/947/114 +f 646/1091/238 645/1102/248 624/1092/239 +f 638/1083/232 651/949/116 650/1093/240 +f 689/1094/241 688/1144/289 676/1095/242 +f 634/1067/216 649/1104/250 648/1097/237 +f 758/1098/244 757/1116/262 745/1099/245 +f 647/1101/247 646/1091/238 626/1084/233 +f 645/1102/248 644/946/113 622/1103/249 +f 636/1070/219 650/1093/240 649/1104/250 +f 642/945/112 655/1107/253 643/1105/251 +f 655/1107/253 667/1124/269 665/1108/254 +f 653/1109/255 665/1108/254 664/1110/256 +f 651/949/116 663/948/115 662/1111/257 +f 676/1095/242 675/1126/271 663/948/115 +f 670/1112/258 681/1151/296 680/1113/259 +f 770/1115/261 769/1218/354 757/1116/262 +f 660/1117/263 659/1118/264 647/1101/247 +f 659/1118/264 658/1119/265 646/1091/238 +f 658/1119/265 657/1120/266 645/1102/248 +f 657/1120/266 656/944/111 644/946/113 +f 650/1093/240 662/1111/257 661/1121/267 +f 649/1104/250 661/1121/267 660/1122/263 +f 666/1123/268 677/1096/243 665/1108/254 +f 674/1125/270 673/1130/275 661/1121/267 +f 658/1119/265 671/1132/277 670/1112/258 +f 675/1126/271 674/1125/270 662/1111/257 +f 924/1127/272 923/1569/565 904/1128/273 +f 673/1130/275 683/1154/294 660/1122/263 +f 680/1113/259 692/1075/224 691/1077/226 +f 659/1118/264 672/1142/287 671/1132/277 +f 836/1133/278 845/1728/641 837/1134/279 +f 657/1120/266 670/1112/258 669/1114/260 +f 656/944/111 669/1114/260 668/1136/281 +f 773/1138/283 772/1221/357 760/1139/284 +f 678/1141/286 689/1094/241 677/1096/243 +f 672/1142/287 684/1150/295 682/1143/288 +f 688/1144/289 687/1152/297 675/1126/271 +f 677/1096/243 676/1095/242 664/1110/256 +f 686/1145/290 685/1153/298 673/1130/275 +f 741/1146/291 753/1074/223 752/1147/292 +f 683/1149/294 695/1161/300 684/1150/295 +f 640/1081/230 652/947/114 651/949/116 +f 671/1132/277 682/1143/288 681/1151/296 +f 687/1152/297 686/1145/290 674/1125/270 +f 669/1114/260 680/1113/259 679/1131/276 +f 685/1153/298 695/1156/300 683/1154/294 +f 697/1155/299 707/1175/318 695/1156/300 +f 701/1157/301 700/1178/320 688/1144/289 +f 699/1158/302 698/1165/308 686/1145/290 +f 624/1092/239 622/1103/249 623/1159/303 +f 622/1103/249 619/1106/252 621/1160/304 +f 619/1106/252 643/1105/251 620/1063/212 +f 695/1161/300 707/1181/318 696/1162/305 +f 684/1150/295 696/1162/305 694/1163/306 +f 682/1143/288 694/1163/306 693/1164/307 +f 681/1151/296 693/1164/307 692/1075/224 +f 698/1165/308 697/1155/299 685/1153/298 +f 679/1131/276 691/1077/226 690/1166/309 +f 702/1167/310 713/1177/319 701/1157/301 +f 710/1168/311 709/1174/317 697/1155/299 +f 694/1163/306 706/1180/322 705/1169/312 +f 711/1170/313 710/1168/311 698/1165/308 +f 748/1171/314 747/1212/349 735/1172/315 +f 709/1174/317 719/1194/334 707/1175/318 +f 723/1176/71 722/1184/325 710/1168/311 +f 713/1177/319 712/1189/330 700/1178/320 +f 668/1136/281 679/1131/276 678/1141/286 +f 693/1164/307 705/1169/312 704/1179/321 +f 696/1162/305 708/1182/323 706/1180/322 +f 707/1181/318 719/1207/334 708/1182/323 +f 714/1183/324 725/1199/339 713/1177/319 +f 722/1184/325 721/1193/333 709/1174/317 +f 755/1185/326 767/1223/355 756/1186/327 +f 724/1188/329 723/1176/71 711/1170/313 +f 718/1190/331 730/1204/343 729/1191/332 +f 721/1193/333 731/1203/142 719/1194/334 +f 703/1076/225 715/1196/336 714/1183/324 +f 708/1182/323 720/978/144 718/1190/331 +f 706/1180/322 718/1190/331 717/1192/33 +f 705/1169/312 717/1192/33 716/1195/335 +f 704/1179/321 716/1195/335 715/1196/336 +f 734/1197/337 733/1202/342 721/1193/333 +f 726/1198/338 737/1200/340 725/1199/339 +f 737/1200/340 736/1173/316 724/1188/329 +f 691/1077/226 703/1076/225 702/1167/310 +f 735/1172/315 734/1197/337 722/1184/325 +f 716/1195/335 728/1205/344 727/1201/341 +f 733/1202/342 743/1206/345 731/1203/142 +f 715/1196/336 727/1201/341 726/1198/338 +f 720/978/144 732/977/143 730/1204/343 +f 736/1173/316 735/1172/315 723/1176/71 +f 717/1192/33 729/1191/332 728/1205/344 +f 745/1099/245 755/1215/326 743/1206/345 +f 719/1207/334 731/976/142 720/978/144 +f 738/1208/346 749/1209/347 737/1200/340 +f 749/1209/347 748/1171/314 736/1173/316 +f 730/1204/343 742/1216/352 741/1146/291 +f 643/1105/251 655/1107/253 653/1109/255 +f 746/1100/246 745/1099/245 733/1202/342 +f 727/1201/341 739/1211/348 738/1208/346 +f 743/1210/345 755/1185/326 744/1187/328 +f 728/1205/344 740/1148/293 739/1211/348 +f 729/1191/332 741/1146/291 740/1148/293 +f 747/1212/349 746/1100/246 734/1197/337 +f 690/1166/309 701/1157/301 689/1094/241 +f 725/1199/339 724/1188/329 712/1189/330 +f 750/1213/350 761/1140/285 749/1209/347 +f 712/1189/330 711/1170/313 699/1158/302 +f 759/1214/351 758/1098/244 746/1100/246 +f 760/1139/284 759/1214/351 747/1212/349 +f 761/1140/285 760/1139/284 748/1171/314 +f 757/1116/262 767/1219/355 755/1215/326 +f 739/1211/348 751/1217/353 750/1213/350 +f 744/1187/328 756/1186/327 754/1072/221 +f 742/1216/352 754/1072/221 753/1074/223 +f 654/1137/282 667/1124/269 655/1107/253 +f 740/1148/293 752/1147/292 751/1217/353 +f 769/1218/354 1054/1792/656 767/1219/355 +f 762/1220/356 773/1138/283 761/1140/285 +f 660/1117/263 683/1149/294 672/1142/287 +f 772/1221/357 771/1222/358 759/1214/351 +f 771/1222/358 770/1115/261 758/1098/244 +f 654/1137/282 668/1136/281 666/1123/268 +f 751/1217/353 763/1227/362 762/1220/356 +f 767/1223/355 1054/1793/656 768/1224/359 +f 756/1186/327 768/1224/359 766/1225/360 +f 753/1074/223 765/1073/222 764/1226/361 +f 700/1178/320 699/1158/302 687/1152/297 +f 752/1147/292 764/1226/361 763/1227/362 +f 732/977/143 744/1187/328 742/1216/352 +f 601/982/148 600/1052/206 1046/1054/19 +f 613/991/155 607/990/154 46/1229/363 +f 941/963/19 351/1794/657 356/1231/365 +f 487/1232/366 777/1774/138 776/1233/21 +f 816/1234/18 800/1795/33 798/1235/367 +f 1022/1237/369 1030/1796/421 1031/1238/370 +f 818/1240/372 809/1681/427 808/1241/373 +f 984/1243/18 992/1797/69 985/1244/374 +f 788/1246/375 799/1798/43 789/1247/22 +f 856/1249/377 866/1799/425 857/1250/378 +f 960/1252/380 971/1289/405 962/1253/381 +f 876/1255/59 868/1305/402 869/1256/383 +f 827/1258/22 843/1323/43 836/1133/278 +f 848/1259/384 842/1324/391 835/1260/385 +f 974/1262/387 981/1288/404 982/1263/388 +f 871/1265/390 872/1800/58 864/1266/65 +f 1009/1268/391 1010/1393/43 996/1269/22 +f 865/1271/392 877/1309/412 873/1272/393 +f 796/1274/395 805/1296/409 797/1275/396 +f 969/1277/398 958/1749/426 968/1278/43 +f 996/1269/22 998/1308/280 989/1280/399 +f 951/1282/400 954/1766/424 1037/1283/401 +f 1040/1285/393 961/1434/382 962/1253/381 +f 988/1287/65 997/1281/58 989/1280/399 +f 971/1289/405 950/1342/31 952/1290/21 +f 821/1291/406 837/1354/279 830/1292/407 +f 804/1294/387 806/1742/389 797/1295/396 +f 1036/1297/383 1020/1415/433 1029/1298/18 +f 826/1300/410 813/1380/65 812/1301/19 +f 783/1303/400 786/1430/424 870/1304/401 +f 1004/1306/278 1012/1801/641 1005/1307/279 +f 877/1309/412 865/1271/392 864/1310/65 +f 983/1312/413 992/1802/69 984/1313/18 +f 791/1315/414 790/1706/426 792/1316/380 +f 804/1294/387 820/1381/404 814/1318/388 +f 860/1320/18 850/1406/33 849/1321/415 +f 849/1321/415 850/1406/33 843/1323/43 +f 818/1325/372 824/1328/418 825/1326/417 +f 817/1327/374 833/1803/423 824/1328/418 +f 1013/1329/419 1014/1804/71 1015/1330/31 +f 800/1332/33 799/1805/43 788/1333/375 +f 1005/1307/279 1012/1801/641 1006/1335/420 +f 986/1337/372 994/1441/418 995/1338/417 +f 963/1340/71 973/1752/409 964/1341/395 +f 784/1343/21 783/1303/400 868/1305/402 +f 1037/1344/401 1044/1745/390 1031/1345/370 +f 834/1347/422 841/1806/386 824/1348/418 +f 952/1290/21 951/1282/400 1035/1284/402 +f 832/1351/21 822/1807/59 831/1293/408 +f 785/1352/397 788/1246/375 787/1248/376 +f 837/1354/279 821/1291/406 819/1355/399 +f 956/1356/375 968/1808/43 957/1357/22 +f 1045/1359/412 1032/1363/392 1039/1360/65 +f 1045/1359/412 1040/1761/393 1034/1362/394 +f 791/1364/414 793/1809/382 873/1365/393 +f 789/1367/22 791/1364/414 877/1366/412 +f 838/1369/420 839/1810/31 832/1370/21 +f 867/1372/394 875/1419/435 858/1373/416 +f 870/1375/401 871/1265/390 862/1267/370 +f 966/1377/367 967/1811/33 968/1378/43 +f 813/1380/65 828/1668/58 819/1355/399 +f 792/1316/380 803/1671/405 794/1382/381 +f 1037/1344/401 1030/1346/421 1036/1297/383 +f 993/1383/59 1001/1812/423 985/1384/374 +f 800/1386/33 801/1722/398 790/1387/426 +f 969/1389/398 977/1813/373 978/1390/427 +f 994/1392/418 1008/1814/386 1003/1270/385 +f 1010/1393/43 1019/1396/33 1011/1394/429 +f 1029/1395/18 1020/1753/433 1011/1394/429 +f 873/1365/393 793/1809/382 794/1382/381 +f 951/1282/400 964/1341/395 953/1398/397 +f 644/946/113 642/945/112 619/1106/252 +f 1024/1400/19 1014/1815/71 1013/1401/419 +f 953/1398/397 956/1356/375 955/1358/376 +f 1002/1403/422 1008/1814/386 994/1392/418 +f 860/1320/18 851/1743/433 844/1405/429 +f 812/1301/19 804/1294/387 805/1296/409 +f 797/1275/396 798/1334/367 788/1333/375 +f 299/893/430 297/444/573 922/1408/431 +f 863/1410/19 856/1249/377 847/1251/379 +f 1024/1412/19 1033/1816/377 1016/1413/379 +f 1036/1297/383 1030/1796/421 1022/1237/369 +f 802/1416/428 809/1817/427 810/1302/411 +f 869/1256/383 851/1736/433 860/1418/18 +f 876/1255/59 859/1257/69 875/1419/435 +f 1023/1402/371 1013/1401/419 1021/1420/436 +f 1017/1422/384 1009/1268/391 1003/1270/385 +f 862/1424/370 864/1818/65 863/1425/19 +f 846/1427/419 855/1819/71 839/1428/31 +f 786/1430/424 787/1684/376 871/1431/390 +f 870/1375/401 861/1376/421 869/1256/383 +f 1018/1432/415 1019/1396/33 1010/1393/43 +f 972/1433/19 988/1287/65 981/1288/404 +f 857/1250/378 866/1799/425 858/1322/416 +f 961/1434/382 1040/1285/393 1045/1435/412 +f 1029/1395/18 1019/1396/33 1018/1432/415 +f 1000/1438/21 1015/1820/31 1007/1439/437 +f 1017/1422/384 1008/1423/386 1002/1440/422 +f 985/1384/374 1001/1812/423 994/1441/418 +f 816/1442/18 808/1721/373 801/1443/398 +f 288/1445/438 936/1568/31 937/1446/71 +f 48/1448/187 608/1607/601 49/1449/440 +f 51/1451/442 606/1821/655 605/1049/203 +f 523/1452/443 153/1035/193 527/1037/195 +f 57/1056/208 490/1790/655 489/979/145 +f 46/1229/363 606/1821/655 51/1451/442 +f 940/968/21 324/492/658 321/461/445 +f 53/1003/166 491/1025/184 618/1027/186 +f 112/202/447 503/1822/659 502/1455/448 +f 512/859/450 148/147/460 516/1456/451 +f 117/778/449 130/592/494 509/1458/453 +f 423/186/454 571/506/633 427/1460/455 +f 437/907/457 583/1823/502 445/1462/458 +f 148/147/460 146/387/631 149/1463/461 +f 459/138/462 584/137/625 588/1464/463 +f 90/552/465 498/1824/660 96/1466/466 +f 500/846/468 505/1825/639 504/1467/469 +f 464/253/471 467/252/475 594/1468/472 +f 593/117/474 598/1647/630 594/1468/472 +f 120/107/476 507/1479/498 134/1470/477 +f 462/1471/479 587/1642/626 448/606/480 +f 506/860/482 128/164/618 510/1472/483 +f 430/586/485 580/1644/627 581/1474/486 +f 116/1475/488 115/1826/661 106/169/489 +f 456/624/491 459/138/462 589/1465/464 +f 98/1477/477 499/1637/623 87/310/493 +f 506/860/482 132/1473/484 509/1458/453 +f 82/278/495 496/1633/616 495/1478/496 +f 117/778/449 508/1459/448 507/1479/498 +f 501/1480/499 116/1475/488 104/382/490 +f 439/105/501 582/1657/629 583/1481/502 +f 592/773/503 479/1483/506 596/1482/504 +f 592/773/503 464/253/471 595/1469/473 +f 108/862/470 504/1467/469 114/1484/507 +f 134/1470/477 133/1654/637 124/367/493 +f 573/1485/509 574/1651/632 425/135/510 +f 476/519/505 596/1482/504 477/1486/512 +f 435/511/459 445/1462/458 446/1487/514 +f 433/306/515 446/1487/514 579/1488/516 +f 937/1446/71 932/1580/19 307/1489/518 +f 543/934/156 328/296/179 362/1018/178 +f 519/1491/520 526/1827/528 157/1492/521 +f 525/1494/523 154/1584/583 520/1493/522 +f 948/1020/159 561/1051/205 560/1495/524 +f 535/1496/525 534/1828/529 879/941/106 +f 548/1497/526 547/1783/653 340/1012/172 +f 519/1499/520 523/1452/443 155/1453/444 +f 944/1006/110 569/1829/531 568/1501/529 +f 947/1057/191 567/1830/533 566/1502/180 +f 880/1033/191 250/1831/532 538/1503/180 +f 946/1504/530 411/1832/534 569/1505/531 +f 885/1506/209 251/1833/615 250/1507/532 +f 945/1059/209 410/1834/612 567/1508/533 +f 943/1509/157 412/1835/662 411/1510/534 +f 320/467/131 316/208/663 545/865/535 +f 878/943/110 529/942/109 248/1511/536 +f 895/1513/18 894/1545/556 893/1514/537 +f 891/1516/21 890/1536/552 889/1517/538 +f 289/1518/539 291/1062/211 930/1061/59 +f 31/1520/540 780/1605/22 779/1521/196 +f 899/1523/22 898/1531/547 897/1524/542 +f 326/1526/543 310/1781/651 886/997/19 +f 909/1528/544 913/1567/548 900/1001/165 +f 911/1071/220 910/1791/564 919/1529/545 +f 898/1531/547 900/1001/165 913/1532/548 +f 892/1534/550 904/1557/273 906/1535/551 +f 915/1537/553 903/1550/555 896/1538/554 +f 911/1539/220 909/1560/544 902/1047/201 +f 903/1540/555 907/1565/557 894/1541/556 +f 906/1542/551 912/1561/558 889/1517/538 +f 914/1543/549 915/1563/553 897/1524/542 +f 907/1544/557 908/1553/274 893/1514/537 +f 794/1382/381 803/1671/405 782/1546/31 +f 912/1547/558 910/1555/564 887/1045/199 +f 893/1514/537 908/1129/274 904/1128/273 +f 905/1548/559 290/431/664 287/430/560 +f 915/1537/553 921/1409/432 922/1408/431 +f 418/583/562 428/1653/636 429/1551/563 +f 907/1544/557 916/1576/568 924/1552/272 +f 925/1554/561 919/1571/545 910/1555/564 +f 923/1556/565 905/1573/559 906/1535/551 +f 918/1558/566 926/1575/571 914/1533/549 +f 911/1539/220 920/1570/546 917/1559/567 +f 906/1542/551 905/1548/559 925/1549/561 +f 914/1543/549 926/1572/571 921/1562/432 +f 903/1540/555 922/1836/431 916/1564/568 +f 909/1528/544 917/1574/567 918/1566/566 +f 289/1518/539 931/1519/21 936/1568/31 +f 293/890/569 292/435/572 923/1569/565 +f 920/1570/546 285/899/576 306/468/570 +f 287/887/560 286/426/575 919/1571/545 +f 926/1572/571 301/892/578 299/441/430 +f 292/421/572 290/885/664 905/1573/559 +f 306/472/570 304/900/577 918/1566/566 +f 916/1564/568 922/1836/431 297/448/573 +f 920/1530/546 919/1529/545 286/424/575 +f 926/1575/571 918/1558/566 304/433/577 +f 916/1576/568 295/891/574 293/438/569 +f 303/1577/579 927/1837/58 928/1578/22 +f 932/1580/19 935/1583/65 305/1581/581 +f 331/819/117 344/996/160 346/1582/582 +f 302/1579/580 928/1578/22 938/1007/43 +f 935/1583/65 927/1837/58 303/1577/579 +f 524/1016/176 521/1784/654 154/1584/583 +f 352/1585/584 351/1794/657 941/963/19 +f 946/1504/530 944/1006/110 563/1005/168 +f 315/1587/586 314/1838/665 336/1588/587 +f 546/913/134 337/613/130 356/1231/365 +f 883/1590/157 884/1512/530 248/1511/536 +f 335/1515/183 893/1514/537 892/1534/550 +f 330/1002/122 900/1001/165 898/1531/547 +f 152/1015/175 528/1017/177 156/1036/194 +f 336/1592/587 892/1534/550 890/1536/552 +f 542/295/591 324/492/658 940/968/21 +f 339/1594/592 896/1538/554 894/1541/556 +f 338/1525/120 897/1524/542 896/1538/554 +f 549/1596/593 548/1497/526 342/1498/527 +f 361/1490/519 341/1839/650 939/992/18 +f 885/1506/209 880/1033/191 246/1032/190 +f 554/1599/596 551/1840/644 354/1600/597 +f 943/1509/157 946/1504/530 407/1586/585 +f 350/1602/599 365/1841/666 554/1599/596 +f 296/1603/198 929/1842/18 934/1604/69 +f 485/959/127 781/958/126 780/1605/22 +f 47/1606/600 612/989/153 49/1449/440 +f 555/1608/602 365/1841/666 350/1602/599 +f 553/1609/603 552/1615/582 355/1610/604 +f 550/1612/121 364/1616/607 359/1613/606 +f 552/1615/582 550/1612/121 360/1614/162 +f 364/1616/607 549/1596/593 363/1597/594 +f 885/1506/209 531/1598/595 530/1617/608 +f 482/1618/609 603/1041/197 1049/1040/196 +f 334/229/124 347/1034/192 352/1585/584 +f 317/1620/610 541/1843/667 339/1621/592 +f 947/1057/191 942/1021/181 560/1495/524 +f 949/938/106 568/1844/529 410/1624/612 +f 537/1626/613 249/1845/662 883/993/157 +f 565/1627/613 412/1846/662 943/1509/157 +f 538/1628/180 537/1847/613 882/995/159 +f 884/1512/530 536/1848/614 535/1629/525 +f 883/1590/157 249/1849/662 536/1630/614 +f 885/1506/209 879/941/106 534/1631/529 +f 95/144/460 497/1639/624 496/1633/616 +f 512/859/450 515/1457/452 514/1634/496 +f 511/1635/617 510/1472/483 128/164/618 +f 472/621/620 597/1650/629 478/1636/621 +f 494/308/619 87/310/493 499/1637/623 +f 92/146/467 96/1466/466 497/1639/624 +f 423/186/454 575/1461/456 576/1640/502 +f 97/1641/617 498/1824/660 90/552/465 +f 584/137/625 448/606/480 587/1642/626 +f 151/1643/477 150/1658/623 141/311/493 +f 577/585/517 579/1488/516 580/1644/627 +f 586/560/628 456/624/491 460/1476/492 +f 513/210/468 518/1850/639 517/1646/469 +f 114/1484/507 503/1822/659 112/202/447 +f 469/856/622 478/1851/621 598/1647/630 +f 414/300/471 416/275/481 429/1551/563 +f 143/788/470 517/1646/469 149/1463/461 +f 441/177/491 578/820/487 581/1474/486 +f 472/621/620 474/520/513 477/1486/512 +f 574/1651/632 427/1460/455 571/506/633 +f 586/560/628 590/1645/629 591/1652/634 +f 421/582/457 576/1852/502 428/1653/636 +f 126/365/619 124/367/493 133/1654/637 +f 585/408/638 461/1661/640 462/1471/479 +f 570/134/511 414/300/471 572/1648/473 +f 99/195/449 502/1455/448 501/1480/499 +f 106/169/489 115/1826/661 505/1656/639 +f 439/105/501 441/177/491 444/1649/492 +f 513/587/468 141/311/493 150/1658/623 +f 85/277/497 495/1478/496 98/1477/477 +f 136/159/497 514/1634/496 151/1643/477 +f 585/408/638 453/918/635 591/1660/634 +f 984/1662/18 967/1853/33 966/1663/367 +f 998/1308/280 1005/1854/279 990/1665/406 +f 959/1666/414 958/1686/426 960/1252/380 +f 987/1339/410 988/1287/65 972/1433/19 +f 827/1258/22 829/1135/280 819/1355/399 +f 986/1669/372 978/1735/427 977/1245/373 +f 982/1263/388 983/1312/413 976/1314/368 +f 952/1290/21 1043/1350/59 1041/1286/403 +f 1028/1299/69 1043/1350/59 1035/1284/402 +f 802/1670/428 811/1417/434 803/1671/405 +f 990/1665/406 1005/1854/279 999/1673/407 +f 1024/1675/19 1039/1855/65 1032/1676/392 +f 795/1407/71 805/1296/409 796/1274/395 +f 965/1678/396 966/1377/367 956/1379/375 +f 964/1341/395 973/1752/409 965/1678/396 +f 1043/1350/59 1028/1299/69 1042/1680/435 +f 875/1419/435 859/1257/69 860/1418/18 +f 818/1240/372 826/1300/410 810/1302/411 +f 844/1405/429 852/1744/436 845/1682/641 +f 789/1683/22 872/1856/58 871/1431/390 +f 957/1685/22 968/1857/43 958/1686/426 +f 1032/1676/392 1034/1688/394 1025/1687/425 +f 1034/1688/394 1042/1680/435 1027/1689/416 +f 957/1690/22 1038/1858/58 1044/1691/390 +f 832/1693/21 834/1347/422 833/1349/423 +f 865/1695/392 867/1372/394 866/1374/425 +f 853/1697/369 861/1859/421 862/1424/370 +f 957/1698/22 959/1436/414 1045/1435/412 +f 816/1700/18 823/1860/69 817/1242/374 +f 819/1355/399 821/1767/406 814/1701/388 +f 1026/1702/378 1025/1717/425 1027/1437/416 +f 991/1674/408 999/1673/407 1000/1703/21 +f 789/1705/22 799/1861/43 790/1706/426 +f 970/1707/428 980/1760/434 971/1289/405 +f 1017/1709/384 1026/1716/378 1018/1432/415 +f 815/1710/413 831/1862/408 822/1711/59 +f 1015/1713/31 1014/1863/71 1016/1714/379 +f 1026/1716/378 1017/1709/384 1007/1715/437 +f 1016/1413/379 1033/1816/377 1025/1717/425 +f 843/1323/43 850/1406/33 844/1405/429 +f 784/1343/21 876/1255/59 874/1397/403 +f 783/1303/400 796/1274/395 785/1352/397 +f 1012/1718/641 1021/1864/436 1013/1329/419 +f 820/1381/404 804/1294/387 812/1301/19 +f 984/1719/18 977/1813/373 969/1389/398 +f 808/1721/373 809/1817/427 802/1416/428 +f 801/1722/398 802/1670/428 792/1672/380 +f 1000/1723/21 1002/1403/422 1001/1404/423 +f 823/1725/69 816/1865/18 807/1726/368 +f 845/1728/641 838/1369/420 830/1371/407 +f 853/1729/369 854/1748/371 846/1730/419 +f 811/1417/434 810/1302/411 812/1301/19 +f 839/1732/31 855/1866/71 847/1733/379 +f 986/1669/372 987/1339/410 979/1667/411 +f 873/1272/393 874/1397/403 875/1419/435 +f 803/1671/405 811/1417/434 795/1407/71 +f 825/1326/417 828/1668/58 813/1380/65 +f 824/1348/418 841/1806/386 835/1260/385 +f 869/1256/383 861/1859/421 853/1697/369 +f 822/1737/59 833/1803/423 817/1327/374 +f 993/1739/59 992/1867/69 983/1740/413 +f 806/1742/389 807/1236/368 798/1235/367 +f 1011/1394/429 1021/1864/436 1012/1718/641 +f 971/1289/405 980/1760/434 963/1340/71 +f 1042/1680/435 1028/1299/69 1029/1298/18 +f 853/1729/369 852/1731/436 844/1405/429 +f 852/1744/436 846/1427/419 838/1429/420 +f 1044/1745/390 1038/1868/58 1039/1746/65 +f 863/1747/19 855/1869/71 846/1730/419 +f 970/1707/428 960/1708/380 958/1749/426 +f 848/1259/384 841/1261/386 834/1750/422 +f 827/1258/22 828/1668/58 825/1326/417 +f 972/1433/19 974/1262/387 973/1752/409 +f 1022/1421/369 1021/1420/436 1011/1394/429 +f 991/1741/408 983/1740/413 982/1754/388 +f 865/1695/392 856/1696/377 863/1756/19 +f 996/1269/22 1010/1393/43 1004/1306/278 +f 975/1758/389 976/1664/368 966/1663/367 +f 974/1262/387 975/1758/389 965/1759/396 +f 972/1433/19 963/1340/71 980/1760/434 +f 782/1546/31 796/1274/395 783/1303/400 +f 1040/1761/393 1041/1286/403 1042/1680/435 +f 848/1762/384 857/1764/378 849/1321/415 +f 1031/1238/370 1039/1870/65 1024/1763/19 +f 842/1324/391 843/1323/43 827/1258/22 +f 989/1280/399 990/1755/406 982/1754/388 +f 806/1319/389 814/1318/388 815/1727/413 +f 995/1338/417 997/1281/58 988/1287/65 +f 964/1341/395 951/1282/400 952/1290/21 +f 970/1391/428 978/1390/427 979/1667/411 +f 857/1764/378 848/1762/384 840/1734/437 +f 1006/1335/420 1015/1871/31 1000/1765/21 +f 996/1269/22 997/1281/58 995/1338/417 +f 954/1766/424 955/1692/376 1044/1691/390 +f 821/1767/406 831/1862/408 815/1710/413 +f 840/1751/437 834/1750/422 832/1768/21 +f 486/1522/541 779/1521/196 778/1770/18 +f 482/1618/609 1048/1619/22 1047/1053/126 +f 32/1773/642 778/1872/18 777/1774/138 +f 551/1775/644 553/1609/603 353/1611/605 +f 882/995/159 247/994/158 532/1777/645 diff --git a/src/main/resources/assets/hbm/models/weapons/tesla_cannon.obj b/src/main/resources/assets/hbm/models/weapons/tesla_cannon.obj new file mode 100644 index 000000000..912159dad --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/tesla_cannon.obj @@ -0,0 +1,8340 @@ +# Blender v2.79 (sub 0) OBJ File: 'tesla_cannon.blend' +# www.blender.org +o Capacitor +v 0.000000 -0.125000 2.000000 +v -0.176777 -0.198223 2.000000 +v -0.250000 -0.375000 2.000000 +v -0.176777 -0.551777 2.000000 +v 0.000000 -0.625000 2.000000 +v 0.176777 -0.551777 2.000000 +v 0.250000 -0.375000 2.000000 +v 0.176777 -0.198223 2.000000 +v 0.000000 -0.125000 1.000000 +v -0.176777 -0.198223 1.000000 +v -0.250000 -0.375000 1.000000 +v -0.176777 -0.551777 1.000000 +v 0.000000 -0.625000 1.000000 +v 0.176777 -0.551777 1.000000 +v 0.250000 -0.375000 1.000000 +v 0.176777 -0.198223 1.000000 +vt 0.034286 0.057830 +vt 0.022913 0.028986 +vt 0.034286 0.000141 +vt 0.034286 0.058112 +vt 0.045659 0.086957 +vt 0.034286 0.115801 +vt 0.045659 0.028986 +vt 0.042328 0.049382 +vt 0.026244 0.049382 +vt 0.026244 0.008590 +vt 0.042328 0.008590 +vt 0.026244 0.107353 +vt 0.022913 0.086957 +vt 0.026244 0.066561 +vt 0.042328 0.066561 +vt 0.042328 0.107353 +vt 0.091429 0.152174 +vt 0.045714 0.173913 +vt 0.045714 0.152174 +vt 0.091429 0.021739 +vt 0.045714 0.043478 +vt 0.045714 0.021739 +vt 0.091429 0.108696 +vt 0.045714 0.130435 +vt 0.045714 0.108696 +vt 0.091429 0.043478 +vt 0.045714 0.065217 +vt 0.091429 -0.000000 +vt 0.045714 -0.000000 +vt 0.091429 0.130435 +vt 0.091429 0.086957 +vt 0.045714 0.086957 +vt 0.091429 0.065217 +vt 0.091429 0.173913 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 9/1/1 15/2/1 13/3/1 +f 5/4/2 7/5/2 1/6/2 +f 11/7/1 10/8/1 9/1/1 +f 9/1/1 16/9/1 15/2/1 +f 15/2/1 14/10/1 13/3/1 +f 13/3/1 12/11/1 11/7/1 +f 11/7/1 9/1/1 13/3/1 +f 1/6/2 2/12/2 3/13/2 +f 3/13/2 4/14/2 5/4/2 +f 5/4/2 6/15/2 7/5/2 +f 7/5/2 8/16/2 1/6/2 +f 1/6/2 3/13/2 5/4/2 +s 1 +f 12/17/3 5/18/4 4/19/3 +f 14/20/5 7/21/6 6/22/5 +f 10/23/7 3/24/8 2/25/7 +f 15/26/6 8/27/9 7/21/6 +f 13/28/4 6/22/5 5/29/4 +f 11/30/8 4/19/3 3/24/8 +f 9/31/10 2/25/7 1/32/10 +f 16/33/9 1/32/10 8/27/9 +f 12/17/3 13/34/4 5/18/4 +f 14/20/5 15/26/6 7/21/6 +f 10/23/7 11/30/8 3/24/8 +f 15/26/6 16/33/9 8/27/9 +f 13/28/4 14/20/5 6/22/5 +f 11/30/8 12/17/3 4/19/3 +f 9/31/10 10/23/7 2/25/7 +f 16/33/9 9/31/10 1/32/10 +o Extension +v 0.375000 0.375000 3.625000 +v 0.625000 0.375000 3.625000 +v 0.375000 0.625000 3.625000 +v 0.625000 0.625000 3.625000 +v 0.375000 0.625000 7.750000 +v 0.375000 0.375000 7.750000 +v 0.625000 0.375000 7.750000 +v 0.625000 0.625000 7.750000 +v 0.375000 -0.625000 3.625000 +v 0.625000 -0.625000 3.625000 +v 0.375000 -0.375000 3.625000 +v 0.625000 -0.375000 3.625000 +v 0.375000 -0.375000 7.750000 +v 0.375000 -0.625000 7.750000 +v 0.625000 -0.625000 7.750000 +v 0.625000 -0.375000 7.750000 +v 0.625000 0.375000 3.625000 +v 0.625000 0.375000 7.500000 +v 0.625000 -0.375000 3.625000 +v 0.625000 -0.375000 7.500000 +v 0.750000 -0.125000 3.625000 +v 0.750000 -0.125000 7.500000 +v 0.750000 0.125000 3.625000 +v 0.750000 0.125000 7.500000 +v -0.375000 0.375000 3.625000 +v -0.625000 0.375000 3.625000 +v -0.375000 0.625000 3.625000 +v -0.625000 0.625000 3.625000 +v -0.375000 0.625000 7.750000 +v -0.375000 0.375000 7.750000 +v -0.625000 0.375000 7.750000 +v -0.625000 0.625000 7.750000 +v -0.375000 -0.625000 3.625000 +v -0.625000 -0.625000 3.625000 +v -0.375000 -0.375000 3.625000 +v -0.625000 -0.375000 3.625000 +v -0.375000 -0.375000 7.750000 +v -0.375000 -0.625000 7.750000 +v -0.625000 -0.625000 7.750000 +v -0.625000 -0.375000 7.750000 +v -0.625000 0.375000 3.625000 +v -0.625000 0.375000 7.500000 +v -0.625000 -0.375000 3.625000 +v -0.625000 -0.375000 7.500000 +v -0.750000 -0.125000 3.625000 +v -0.750000 -0.125000 7.500000 +v -0.750000 0.125000 3.625000 +v -0.750000 0.125000 7.500000 +v 0.375000 -0.625000 3.625000 +v 0.375000 -0.625000 7.500000 +v -0.375000 -0.625000 3.625000 +v -0.375000 -0.625000 7.500000 +v -0.125000 -0.750000 3.625000 +v -0.125000 -0.750000 7.500000 +v 0.125000 -0.750000 3.625000 +v 0.125000 -0.750000 7.500000 +v 0.375000 0.625000 3.625000 +v 0.375000 0.625000 7.500000 +v -0.375000 0.625000 3.625000 +v -0.375000 0.625000 7.500000 +v -0.125000 0.750000 3.625000 +v -0.125000 0.750000 7.500000 +v 0.125000 0.750000 3.625000 +v 0.125000 0.750000 7.500000 +v 0.000000 1.000000 7.500000 +v -0.500000 0.866025 7.500000 +v -0.866025 0.500000 7.500000 +v -1.000000 0.000000 7.500000 +v -0.866025 -0.500000 7.500000 +v -0.500000 -0.866025 7.500000 +v 0.000000 -1.000000 7.500000 +v 0.500000 -0.866025 7.500000 +v 0.866025 -0.500000 7.500000 +v 1.000000 -0.000000 7.500000 +v 0.866026 0.500000 7.500000 +v 0.500000 0.866025 7.500000 +v 0.000000 1.000000 8.000000 +v -0.500000 0.866025 8.000000 +v -0.866025 0.500000 8.000000 +v -1.000000 0.000000 8.000000 +v -0.866025 -0.500000 8.000000 +v -0.500000 -0.866025 8.000000 +v 0.000000 -1.000000 8.000000 +v 0.500000 -0.866025 8.000000 +v 0.866025 -0.500000 8.000000 +v 1.000000 -0.000000 8.000000 +v 0.866026 0.500000 8.000000 +v 0.500000 0.866025 8.000000 +v 0.000000 0.750000 8.000000 +v -0.375000 0.649519 8.000000 +v -0.649519 0.375000 8.000000 +v -0.750000 0.000000 8.000000 +v -0.649519 -0.375000 8.000000 +v -0.375000 -0.649519 8.000000 +v 0.000000 -0.750000 8.000000 +v 0.375000 -0.649519 8.000000 +v 0.649519 -0.375000 8.000000 +v 0.750000 -0.000000 8.000000 +v 0.649519 0.375000 8.000000 +v 0.375000 0.649519 8.000000 +v 0.000000 0.750000 7.500000 +v -0.375000 0.649519 7.500000 +v -0.649519 0.375000 7.500000 +v -0.750000 0.000000 7.500000 +v -0.649519 -0.375000 7.500000 +v -0.375000 -0.649519 7.500000 +v 0.000000 -0.750000 7.500000 +v 0.375000 -0.649519 7.500000 +v 0.649519 -0.375000 7.500000 +v 0.750000 -0.000000 7.500000 +v 0.649519 0.375000 7.500000 +v 0.375000 0.649519 7.500000 +v 0.031463 -0.156463 6.911612 +v 0.005575 -0.182351 7.000000 +v 0.031463 -0.156463 7.088388 +v 0.093963 -0.093963 7.125000 +v 0.156463 -0.031463 7.088388 +v 0.182351 -0.005574 7.000000 +v 0.156463 -0.031463 6.911612 +v 0.093963 -0.093963 6.875000 +v 0.119851 -0.244851 6.911612 +v 0.093963 -0.270740 7.000000 +v 0.119851 -0.244851 7.088388 +v 0.182351 -0.182351 7.125000 +v 0.244851 -0.119851 7.088388 +v 0.270740 -0.093963 7.000000 +v 0.244851 -0.119851 6.911612 +v 0.182351 -0.182351 6.875000 +v 0.650888 -0.775889 6.911612 +v 0.625000 -0.801776 7.000000 +v 0.650888 -0.775889 7.088388 +v 0.713388 -0.713389 7.125000 +v 0.775889 -0.650889 7.088388 +v 0.801777 -0.625000 7.000000 +v 0.775889 -0.650889 6.911612 +v 0.713388 -0.713389 6.875000 +v 0.146447 -0.396447 6.823223 +v 0.094670 -0.448223 7.000000 +v 0.146447 -0.396447 7.176777 +v 0.271447 -0.271446 7.250000 +v 0.396447 -0.146447 7.176777 +v 0.448223 -0.094670 7.000000 +v 0.396447 -0.146447 6.823223 +v 0.271447 -0.271446 6.750000 +v 0.500000 -0.750000 6.823223 +v 0.448223 -0.801777 7.000000 +v 0.500000 -0.750000 7.176777 +v 0.625000 -0.625000 7.250000 +v 0.750000 -0.500000 7.176777 +v 0.801777 -0.448223 7.000000 +v 0.750000 -0.500000 6.823223 +v 0.625000 -0.625000 6.750000 +v -0.625000 0.625000 6.750000 +v -0.750000 0.500000 6.823223 +v -0.801777 0.448223 7.000000 +v -0.750000 0.500000 7.176777 +v -0.625000 0.625000 7.250000 +v -0.500000 0.750000 7.176777 +v -0.448223 0.801776 7.000000 +v -0.500000 0.750000 6.823223 +v -0.271447 0.271446 6.750000 +v -0.396447 0.146447 6.823223 +v -0.448223 0.094670 7.000000 +v -0.396447 0.146447 7.176777 +v -0.271447 0.271446 7.250000 +v -0.146447 0.396447 7.176777 +v -0.094670 0.448223 7.000000 +v -0.146447 0.396447 6.823223 +v -0.713388 0.713388 6.875000 +v -0.775888 0.650888 6.911612 +v -0.801777 0.625000 7.000000 +v -0.775888 0.650888 7.088388 +v -0.713388 0.713388 7.125000 +v -0.650888 0.775888 7.088388 +v -0.625000 0.801776 7.000000 +v -0.650888 0.775888 6.911612 +v -0.182351 0.182351 6.875000 +v -0.244851 0.119851 6.911612 +v -0.270740 0.093963 7.000000 +v -0.244851 0.119851 7.088388 +v -0.182351 0.182351 7.125000 +v -0.119851 0.244851 7.088388 +v -0.093963 0.270739 7.000000 +v -0.119851 0.244851 6.911612 +v -0.093963 0.093963 6.875000 +v -0.156463 0.031463 6.911612 +v -0.182351 0.005574 7.000000 +v -0.156463 0.031463 7.088388 +v -0.093963 0.093963 7.125000 +v -0.031463 0.156462 7.088388 +v -0.005575 0.182351 7.000000 +v -0.031463 0.156462 6.911612 +v -0.156463 -0.031463 6.911612 +v -0.182351 -0.005575 7.000000 +v -0.156463 -0.031463 7.088388 +v -0.093963 -0.093963 7.125000 +v -0.031463 -0.156463 7.088388 +v -0.005574 -0.182351 7.000000 +v -0.031463 -0.156463 6.911612 +v -0.093963 -0.093963 6.875000 +v -0.244851 -0.119851 6.911612 +v -0.270739 -0.093963 7.000000 +v -0.244851 -0.119851 7.088388 +v -0.182351 -0.182351 7.125000 +v -0.119851 -0.244851 7.088388 +v -0.093963 -0.270740 7.000000 +v -0.119851 -0.244851 6.911612 +v -0.182351 -0.182351 6.875000 +v -0.775888 -0.650888 6.911612 +v -0.801776 -0.625000 7.000000 +v -0.775888 -0.650888 7.088388 +v -0.713388 -0.713388 7.125000 +v -0.650888 -0.775889 7.088388 +v -0.625000 -0.801777 7.000000 +v -0.650888 -0.775889 6.911612 +v -0.713388 -0.713388 6.875000 +v -0.396447 -0.146447 6.823223 +v -0.448223 -0.094670 7.000000 +v -0.396447 -0.146447 7.176777 +v -0.271446 -0.271447 7.250000 +v -0.146447 -0.396447 7.176777 +v -0.094670 -0.448224 7.000000 +v -0.146447 -0.396447 6.823223 +v -0.271446 -0.271447 6.750000 +v -0.750000 -0.500000 6.823223 +v -0.801776 -0.448223 7.000000 +v -0.750000 -0.500000 7.176777 +v -0.625000 -0.625000 7.250000 +v -0.500000 -0.750000 7.176777 +v -0.448223 -0.801777 7.000000 +v -0.500000 -0.750000 6.823223 +v -0.625000 -0.625000 6.750000 +v 0.625000 0.625000 6.750000 +v 0.500000 0.750000 6.823223 +v 0.448223 0.801777 7.000000 +v 0.500000 0.750000 7.176777 +v 0.625000 0.625000 7.250000 +v 0.750000 0.500000 7.176777 +v 0.801776 0.448223 7.000000 +v 0.750000 0.500000 6.823223 +v 0.271446 0.271447 6.750000 +v 0.146447 0.396447 6.823223 +v 0.094670 0.448223 7.000000 +v 0.146447 0.396447 7.176777 +v 0.271446 0.271447 7.250000 +v 0.396447 0.146447 7.176777 +v 0.448223 0.094670 7.000000 +v 0.396447 0.146447 6.823223 +v 0.713388 0.713388 6.875000 +v 0.650888 0.775888 6.911612 +v 0.625000 0.801777 7.000000 +v 0.650888 0.775888 7.088388 +v 0.713388 0.713388 7.125000 +v 0.775888 0.650888 7.088388 +v 0.801776 0.625000 7.000000 +v 0.775888 0.650888 6.911612 +v 0.182351 0.182351 6.875000 +v 0.119851 0.244851 6.911612 +v 0.093963 0.270739 7.000000 +v 0.119851 0.244851 7.088388 +v 0.182351 0.182351 7.125000 +v 0.244851 0.119851 7.088388 +v 0.270740 0.093963 7.000000 +v 0.244851 0.119851 6.911612 +v 0.093963 0.093963 6.875000 +v 0.031463 0.156463 6.911612 +v 0.005574 0.182351 7.000000 +v 0.031463 0.156463 7.088388 +v 0.093963 0.093963 7.125000 +v 0.156463 0.031463 7.088388 +v 0.182351 0.005574 7.000000 +v 0.156463 0.031463 6.911612 +v -0.662913 -0.662912 7.625000 +v -0.600413 -0.725412 7.661612 +v -0.574525 -0.751301 7.750000 +v -0.600413 -0.725412 7.838388 +v -0.662913 -0.662912 7.875000 +v -0.725413 -0.600412 7.838388 +v -0.751301 -0.574524 7.750000 +v -0.725413 -0.600412 7.661612 +v -0.751301 -0.751301 7.625000 +v -0.688802 -0.813801 7.661612 +v -0.662913 -0.839689 7.750000 +v -0.688802 -0.813801 7.838388 +v -0.751301 -0.751301 7.875000 +v -0.813801 -0.688801 7.838388 +v -0.839690 -0.662912 7.750000 +v -0.813801 -0.688801 7.661612 +v 0.662912 -0.662913 7.625000 +v 0.725412 -0.600413 7.661612 +v 0.751301 -0.574525 7.750000 +v 0.725412 -0.600413 7.838388 +v 0.662912 -0.662913 7.875000 +v 0.600412 -0.725413 7.838388 +v 0.574524 -0.751301 7.750000 +v 0.600412 -0.725413 7.661612 +v 0.751301 -0.751301 7.625000 +v 0.813801 -0.688802 7.661612 +v 0.839689 -0.662913 7.750000 +v 0.813801 -0.688802 7.838388 +v 0.751301 -0.751301 7.875000 +v 0.688801 -0.813802 7.838388 +v 0.662912 -0.839690 7.750000 +v 0.688801 -0.813802 7.661612 +v 0.000000 0.937500 7.625000 +v -0.088387 0.937500 7.661612 +v -0.125000 0.937500 7.750000 +v -0.088387 0.937500 7.838388 +v 0.000000 0.937500 7.875000 +v 0.088389 0.937500 7.838388 +v 0.125000 0.937500 7.750000 +v 0.088389 0.937500 7.661612 +v 0.000000 1.062500 7.625000 +v -0.088387 1.062500 7.661612 +v -0.125000 1.062500 7.750000 +v -0.088387 1.062500 7.838388 +v 0.000000 1.062500 7.875000 +v 0.088389 1.062500 7.838388 +v 0.125000 1.062500 7.750000 +v 0.088389 1.062500 7.661612 +v -0.688801 0.813801 7.661612 +v -0.662912 0.839690 7.750000 +v -0.688801 0.813801 7.838388 +v -0.751301 0.751301 7.875000 +v -0.813800 0.688802 7.838388 +v -0.839689 0.662913 7.750000 +v -0.813800 0.688802 7.661612 +v -0.751301 0.751301 7.625000 +v -0.600412 0.725413 7.661612 +v -0.574524 0.751301 7.750000 +v -0.600412 0.725413 7.838388 +v -0.662912 0.662913 7.875000 +v -0.725412 0.600413 7.838388 +v -0.751301 0.574525 7.750000 +v -0.725412 0.600413 7.661612 +v -0.662912 0.662913 7.625000 +v 0.813801 0.688801 7.661612 +v 0.839690 0.662912 7.750000 +v 0.813801 0.688801 7.838388 +v 0.751301 0.751301 7.875000 +v 0.688802 0.813800 7.838388 +v 0.662913 0.839689 7.750000 +v 0.688802 0.813800 7.661612 +v 0.751301 0.751301 7.625000 +v 0.725413 0.600412 7.661612 +v 0.751301 0.574524 7.750000 +v 0.725413 0.600412 7.838388 +v 0.662913 0.662912 7.875000 +v 0.600413 0.725412 7.838388 +v 0.574525 0.751301 7.750000 +v 0.600413 0.725412 7.661612 +v 0.662913 0.662912 7.625000 +v -0.937500 0.000000 7.625000 +v -0.937500 -0.088388 7.661612 +v -0.937500 -0.125000 7.750000 +v -0.937500 -0.088388 7.838388 +v -0.937500 0.000000 7.875000 +v -0.937500 0.088389 7.838388 +v -0.937500 0.125000 7.750000 +v -0.937500 0.088389 7.661612 +v -1.062500 0.000000 7.625000 +v -1.062500 -0.088388 7.661612 +v -1.062500 -0.125000 7.750000 +v -1.062500 -0.088388 7.838388 +v -1.062500 0.000000 7.875000 +v -1.062500 0.088389 7.838388 +v -1.062500 0.125000 7.750000 +v -1.062500 0.088389 7.661612 +v 1.062500 -0.088389 7.661612 +v 1.062500 -0.125001 7.750000 +v 1.062500 -0.088389 7.838388 +v 1.062500 -0.000001 7.875000 +v 1.062500 0.088387 7.838388 +v 1.062500 0.124999 7.750000 +v 1.062500 0.088387 7.661612 +v 1.062500 -0.000001 7.625000 +v 0.937500 -0.088389 7.661612 +v 0.937500 -0.125001 7.750000 +v 0.937500 -0.088389 7.838388 +v 0.937500 -0.000001 7.875000 +v 0.937500 0.088387 7.838388 +v 0.937500 0.124999 7.750000 +v 0.937500 0.088387 7.661612 +v 0.937500 -0.000001 7.625000 +v -0.088389 -1.062500 7.661612 +v -0.125000 -1.062500 7.750000 +v -0.088389 -1.062500 7.838388 +v -0.000000 -1.062500 7.875000 +v 0.088387 -1.062500 7.838388 +v 0.125000 -1.062500 7.750000 +v 0.088387 -1.062500 7.661612 +v -0.000000 -1.062500 7.625000 +v -0.088389 -0.937500 7.661612 +v -0.125000 -0.937500 7.750000 +v -0.088389 -0.937500 7.838388 +v -0.000000 -0.937500 7.875000 +v 0.088387 -0.937500 7.838388 +v 0.125000 -0.937500 7.750000 +v 0.088387 -0.937500 7.661612 +v -0.000000 -0.937500 7.625000 +v 0.031463 -0.156463 4.536612 +v 0.005575 -0.182351 4.625000 +v 0.031463 -0.156463 4.713388 +v 0.093963 -0.093963 4.750000 +v 0.156463 -0.031463 4.713388 +v 0.182351 -0.005574 4.625000 +v 0.156463 -0.031463 4.536612 +v 0.093963 -0.093963 4.500000 +v 0.119851 -0.244851 4.536612 +v 0.093963 -0.270740 4.625000 +v 0.119851 -0.244851 4.713388 +v 0.182351 -0.182351 4.750000 +v 0.244851 -0.119851 4.713388 +v 0.270740 -0.093963 4.625000 +v 0.244851 -0.119851 4.536612 +v 0.182351 -0.182351 4.500000 +v 0.650888 -0.775888 4.536612 +v 0.625000 -0.801776 4.625000 +v 0.650888 -0.775888 4.713388 +v 0.713388 -0.713388 4.750000 +v 0.775889 -0.650889 4.713388 +v 0.801777 -0.625000 4.625000 +v 0.775889 -0.650889 4.536612 +v 0.713388 -0.713388 4.500000 +v 0.146447 -0.396447 4.448223 +v 0.094670 -0.448223 4.625000 +v 0.146447 -0.396447 4.801777 +v 0.271447 -0.271446 4.875000 +v 0.396447 -0.146447 4.801777 +v 0.448223 -0.094670 4.625000 +v 0.396447 -0.146447 4.448223 +v 0.271447 -0.271446 4.375000 +v 0.500000 -0.750000 4.448223 +v 0.448223 -0.801777 4.625000 +v 0.500000 -0.750000 4.801777 +v 0.625000 -0.625000 4.875000 +v 0.750000 -0.500000 4.801777 +v 0.801777 -0.448223 4.625000 +v 0.750000 -0.500000 4.448223 +v 0.625000 -0.625000 4.375000 +v -0.625000 0.625000 4.375000 +v -0.750000 0.500000 4.448223 +v -0.801777 0.448223 4.625000 +v -0.750000 0.500000 4.801777 +v -0.625000 0.625000 4.875000 +v -0.500000 0.750000 4.801777 +v -0.448223 0.801776 4.625000 +v -0.500000 0.750000 4.448223 +v -0.271447 0.271446 4.375000 +v -0.396447 0.146447 4.448223 +v -0.448223 0.094670 4.625000 +v -0.396447 0.146447 4.801777 +v -0.271447 0.271446 4.875000 +v -0.146447 0.396446 4.801777 +v -0.094670 0.448223 4.625000 +v -0.146447 0.396446 4.448223 +v -0.713388 0.713388 4.500000 +v -0.775888 0.650888 4.536612 +v -0.801777 0.625000 4.625000 +v -0.775888 0.650888 4.713388 +v -0.713388 0.713388 4.750000 +v -0.650888 0.775888 4.713388 +v -0.625000 0.801776 4.625000 +v -0.650888 0.775888 4.536612 +v -0.182351 0.182351 4.500000 +v -0.244851 0.119851 4.536612 +v -0.270740 0.093962 4.625000 +v -0.244851 0.119851 4.713388 +v -0.182351 0.182351 4.750000 +v -0.119851 0.244851 4.713388 +v -0.093963 0.270739 4.625000 +v -0.119851 0.244851 4.536612 +v -0.093963 0.093962 4.500000 +v -0.156463 0.031462 4.536612 +v -0.182351 0.005574 4.625000 +v -0.156463 0.031462 4.713388 +v -0.093963 0.093962 4.750000 +v -0.031463 0.156462 4.713388 +v -0.005575 0.182351 4.625000 +v -0.031463 0.156462 4.536612 +v -0.156463 -0.031463 4.536612 +v -0.182351 -0.005575 4.625000 +v -0.156463 -0.031463 4.713388 +v -0.093963 -0.093963 4.750000 +v -0.031463 -0.156463 4.713388 +v -0.005574 -0.182351 4.625000 +v -0.031463 -0.156463 4.536612 +v -0.093963 -0.093963 4.500000 +v -0.244851 -0.119851 4.536612 +v -0.270739 -0.093963 4.625000 +v -0.244851 -0.119851 4.713388 +v -0.182351 -0.182351 4.750000 +v -0.119851 -0.244851 4.713388 +v -0.093963 -0.270740 4.625000 +v -0.119851 -0.244851 4.536612 +v -0.182351 -0.182351 4.500000 +v -0.775888 -0.650888 4.536612 +v -0.801776 -0.625000 4.625000 +v -0.775888 -0.650888 4.713388 +v -0.713388 -0.713388 4.750000 +v -0.650888 -0.775889 4.713388 +v -0.625000 -0.801777 4.625000 +v -0.650888 -0.775889 4.536612 +v -0.713388 -0.713388 4.500000 +v -0.396447 -0.146447 4.448223 +v -0.448223 -0.094670 4.625000 +v -0.396447 -0.146447 4.801777 +v -0.271446 -0.271447 4.875000 +v -0.146447 -0.396447 4.801777 +v -0.094670 -0.448224 4.625000 +v -0.146447 -0.396447 4.448223 +v -0.271446 -0.271447 4.375000 +v -0.750000 -0.500000 4.448223 +v -0.801776 -0.448223 4.625000 +v -0.750000 -0.500000 4.801777 +v -0.625000 -0.625000 4.875000 +v -0.500000 -0.750000 4.801777 +v -0.448223 -0.801777 4.625000 +v -0.500000 -0.750000 4.448223 +v -0.625000 -0.625000 4.375000 +v 0.625000 0.625000 4.375000 +v 0.500000 0.750000 4.448223 +v 0.448223 0.801777 4.625000 +v 0.500000 0.750000 4.801777 +v 0.625000 0.625000 4.875000 +v 0.750000 0.500000 4.801777 +v 0.801776 0.448223 4.625000 +v 0.750000 0.500000 4.448223 +v 0.271446 0.271447 4.375000 +v 0.146447 0.396447 4.448223 +v 0.094670 0.448223 4.625000 +v 0.146447 0.396447 4.801777 +v 0.271446 0.271447 4.875000 +v 0.396447 0.146446 4.801777 +v 0.448223 0.094670 4.625000 +v 0.396447 0.146446 4.448223 +v 0.713388 0.713388 4.500000 +v 0.650888 0.775888 4.536612 +v 0.625000 0.801777 4.625000 +v 0.650888 0.775888 4.713388 +v 0.713388 0.713388 4.750000 +v 0.775888 0.650888 4.713388 +v 0.801776 0.625000 4.625000 +v 0.775888 0.650888 4.536612 +v 0.182351 0.182351 4.500000 +v 0.119851 0.244851 4.536612 +v 0.093963 0.270740 4.625000 +v 0.119851 0.244851 4.713388 +v 0.182351 0.182351 4.750000 +v 0.244851 0.119851 4.713388 +v 0.270740 0.093963 4.625000 +v 0.244851 0.119851 4.536612 +v 0.093963 0.093963 4.500000 +v 0.031463 0.156463 4.536612 +v 0.005574 0.182351 4.625000 +v 0.031463 0.156463 4.713388 +v 0.093963 0.093963 4.750000 +v 0.156463 0.031463 4.713388 +v 0.182351 0.005574 4.625000 +v 0.156463 0.031463 4.536612 +vt 1.000000 0.985507 +vt 0.811429 0.956522 +vt 1.000000 0.956522 +vt 1.000000 0.927536 +vt 0.811429 0.898551 +vt 1.000000 0.898551 +vt 0.811429 0.927536 +vt 0.811429 0.869565 +vt 1.000000 0.869565 +vt 1.000000 0.985507 +vt 0.811429 0.956522 +vt 1.000000 0.956522 +vt 1.000000 0.927536 +vt 0.811429 0.898551 +vt 1.000000 0.898551 +vt 0.811429 0.927536 +vt 0.811429 0.869565 +vt 1.000000 0.869565 +vt 0.811429 0.985507 +vt 1.000000 0.956522 +vt 1.000000 0.985507 +vt 0.811429 0.927536 +vt 1.000000 0.898551 +vt 1.000000 0.927536 +vt 0.811429 0.898551 +vt 1.000000 0.869565 +vt 0.811429 0.956522 +vt 0.811429 0.985507 +vt 1.000000 0.956522 +vt 1.000000 0.985507 +vt 0.811429 0.927536 +vt 1.000000 0.898551 +vt 1.000000 0.927536 +vt 0.811429 0.898551 +vt 1.000000 0.869565 +vt 0.811429 0.956522 +vt 0.965714 0.695652 +vt 0.977143 0.644928 +vt 0.977143 0.688406 +vt 0.965714 0.115942 +vt 0.977143 0.166667 +vt 0.965714 0.173913 +vt 0.965714 0.405797 +vt 0.977143 0.456522 +vt 0.965714 0.463768 +vt 0.965714 0.289855 +vt 0.977143 0.340580 +vt 0.965714 0.347826 +vt 0.965714 0.579710 +vt 0.977143 0.630435 +vt 0.965714 0.637681 +vt 0.965714 0.057971 +vt 0.977143 0.108696 +vt 0.977143 0.355072 +vt 0.977143 0.398551 +vt 0.965714 0.231884 +vt 0.977143 0.282609 +vt 0.977143 0.528986 +vt 0.977143 0.572464 +vt 0.965714 0.000000 +vt 0.977143 0.050725 +vt 0.977143 0.224638 +vt 0.965714 0.521739 +vt 0.977143 0.471014 +vt 0.977143 0.514493 +vt 0.942857 0.405797 +vt 0.931429 0.355072 +vt 0.942857 0.347826 +vt 0.931429 0.340580 +vt 0.942857 0.289855 +vt 0.931429 0.282609 +vt 0.942857 0.231884 +vt 0.931429 0.224638 +vt 0.942857 0.173913 +vt 0.931429 0.166667 +vt 0.942857 0.115942 +vt 0.931429 0.108696 +vt 0.942857 0.057971 +vt 0.931429 0.050725 +vt 0.942857 0.000000 +vt 0.942857 0.695652 +vt 0.931429 0.644928 +vt 0.942857 0.637681 +vt 0.931429 0.630435 +vt 0.942857 0.579710 +vt 0.931429 0.528986 +vt 0.942857 0.521739 +vt 0.931429 0.471014 +vt 0.942857 0.463768 +vt 0.931429 0.456522 +vt 0.800000 0.956522 +vt 0.800000 0.985507 +vt 0.811429 0.985507 +vt 0.800000 0.985507 +vt 0.811429 0.985507 +vt 0.800000 0.956522 +vt 0.028571 0.144923 +vt 0.034287 0.159420 +vt 0.028571 0.173917 +vt 0.034287 0.304348 +vt 0.028571 0.318845 +vt 0.022855 0.304348 +vt 0.028571 0.144923 +vt 0.034287 0.159420 +vt 0.028571 0.173917 +vt 0.034287 0.304348 +vt 0.028571 0.318845 +vt 0.022855 0.304348 +vt 0.028571 0.144923 +vt 0.034287 0.159420 +vt 0.028571 0.173917 +vt 0.034287 0.304348 +vt 0.028571 0.318845 +vt 0.022855 0.304348 +vt 0.034287 0.304348 +vt 0.028571 0.318845 +vt 0.022855 0.304348 +vt 0.028571 0.144923 +vt 0.034287 0.159420 +vt 0.028571 0.173917 +vt 0.834286 0.391243 +vt 0.828596 0.376812 +vt 0.834286 0.362380 +vt 0.834286 0.391243 +vt 0.828596 0.376812 +vt 0.834286 0.362380 +vt 0.834286 0.391243 +vt 0.828596 0.376812 +vt 0.834286 0.362380 +vt 0.834286 0.391243 +vt 0.828596 0.376812 +vt 0.834286 0.362380 +vt 0.834286 0.391243 +vt 0.828596 0.376812 +vt 0.834286 0.362380 +vt 0.834286 0.391243 +vt 0.828596 0.376812 +vt 0.834286 0.362380 +vt 0.834286 0.391243 +vt 0.828596 0.376812 +vt 0.834286 0.362380 +vt 0.834286 0.391243 +vt 0.828596 0.376812 +vt 0.834286 0.362380 +vt 0.028571 0.144923 +vt 0.034287 0.159420 +vt 0.028571 0.173917 +vt 0.034287 0.304348 +vt 0.028571 0.318845 +vt 0.022855 0.304348 +vt 0.028571 0.144923 +vt 0.034287 0.159420 +vt 0.028571 0.173917 +vt 0.034287 0.304348 +vt 0.028571 0.318845 +vt 0.022855 0.304348 +vt 0.028571 0.144923 +vt 0.034287 0.159420 +vt 0.028571 0.173917 +vt 0.034287 0.304348 +vt 0.028571 0.318845 +vt 0.022855 0.304348 +vt 0.034287 0.304348 +vt 0.028571 0.318845 +vt 0.022855 0.304348 +vt 0.028571 0.144923 +vt 0.034287 0.159420 +vt 0.028571 0.173917 +vt 0.811429 0.869565 +vt 0.811429 0.869565 +vt 0.977143 0.123188 +vt 0.977143 0.413043 +vt 0.977143 0.297101 +vt 0.977143 0.586957 +vt 0.977143 0.065217 +vt 0.977143 0.239130 +vt 0.977143 0.007246 +vt 0.977143 0.181159 +vt 0.931429 0.398551 +vt 0.931429 0.297101 +vt 0.931429 0.239130 +vt 0.931429 0.181159 +vt 0.931429 0.123188 +vt 0.931429 0.065217 +vt 0.931429 0.007246 +vt 0.931429 0.688406 +vt 0.931429 0.586957 +vt 0.931429 0.572464 +vt 0.931429 0.514493 +vt 0.931429 0.413043 +vt 0.800000 0.985507 +vt 0.800000 0.956522 +vt 0.800000 0.956522 +vt 0.800000 0.985507 +vt 0.022856 0.159420 +vt 0.024530 0.149169 +vt 0.032613 0.149169 +vt 0.032613 0.169671 +vt 0.024530 0.169671 +vt 0.028571 0.289851 +vt 0.032613 0.294097 +vt 0.032613 0.314599 +vt 0.024530 0.314599 +vt 0.024530 0.294097 +vt 0.022856 0.159420 +vt 0.024530 0.149169 +vt 0.032613 0.149169 +vt 0.032613 0.169671 +vt 0.024530 0.169671 +vt 0.028571 0.289851 +vt 0.032613 0.294097 +vt 0.032613 0.314599 +vt 0.024530 0.314599 +vt 0.024530 0.294097 +vt 0.022856 0.159420 +vt 0.024530 0.149169 +vt 0.032613 0.149169 +vt 0.032613 0.169671 +vt 0.024530 0.169671 +vt 0.028571 0.289851 +vt 0.032613 0.294097 +vt 0.032613 0.314599 +vt 0.024530 0.314599 +vt 0.024530 0.294097 +vt 0.028571 0.289851 +vt 0.032613 0.294097 +vt 0.032613 0.314599 +vt 0.024530 0.314599 +vt 0.024530 0.294097 +vt 0.022856 0.159420 +vt 0.024530 0.149169 +vt 0.032613 0.149169 +vt 0.032613 0.169671 +vt 0.024530 0.169671 +vt 0.838309 0.366607 +vt 0.839976 0.376812 +vt 0.838309 0.387016 +vt 0.830262 0.387016 +vt 0.830262 0.366607 +vt 0.838309 0.366607 +vt 0.839976 0.376812 +vt 0.838309 0.387016 +vt 0.830262 0.387016 +vt 0.830262 0.366607 +vt 0.838309 0.366607 +vt 0.839976 0.376812 +vt 0.838309 0.387016 +vt 0.830262 0.387016 +vt 0.830262 0.366607 +vt 0.838309 0.366607 +vt 0.839976 0.376812 +vt 0.838309 0.387016 +vt 0.830262 0.387016 +vt 0.830262 0.366607 +vt 0.838309 0.366607 +vt 0.839976 0.376812 +vt 0.838309 0.387016 +vt 0.830262 0.387016 +vt 0.830262 0.366607 +vt 0.838309 0.366607 +vt 0.839976 0.376812 +vt 0.838309 0.387016 +vt 0.830262 0.387016 +vt 0.830262 0.366607 +vt 0.838309 0.366607 +vt 0.839976 0.376812 +vt 0.838309 0.387016 +vt 0.830262 0.387016 +vt 0.830262 0.366607 +vt 0.838309 0.366607 +vt 0.839976 0.376812 +vt 0.838309 0.387016 +vt 0.830262 0.387016 +vt 0.830262 0.366607 +vt 0.022856 0.159420 +vt 0.024530 0.149169 +vt 0.032613 0.149169 +vt 0.032613 0.169671 +vt 0.024530 0.169671 +vt 0.028571 0.289851 +vt 0.032613 0.294097 +vt 0.032613 0.314599 +vt 0.024530 0.314599 +vt 0.024530 0.294097 +vt 0.022856 0.159420 +vt 0.024530 0.149169 +vt 0.032613 0.149169 +vt 0.032613 0.169671 +vt 0.024530 0.169671 +vt 0.028571 0.289851 +vt 0.032613 0.294097 +vt 0.032613 0.314599 +vt 0.024530 0.314599 +vt 0.024530 0.294097 +vt 0.022856 0.159420 +vt 0.024530 0.149169 +vt 0.032613 0.149169 +vt 0.032613 0.169671 +vt 0.024530 0.169671 +vt 0.028571 0.289851 +vt 0.032613 0.294097 +vt 0.032613 0.314599 +vt 0.024530 0.314599 +vt 0.024530 0.294097 +vt 0.028571 0.289851 +vt 0.032613 0.294097 +vt 0.032613 0.314599 +vt 0.024530 0.314599 +vt 0.024530 0.294097 +vt 0.022856 0.159420 +vt 0.024530 0.149169 +vt 0.032613 0.149169 +vt 0.032613 0.169671 +vt 0.024530 0.169671 +vt 0.822857 0.840580 +vt 1.000000 0.869565 +vt 0.822857 0.869565 +vt 1.000000 0.840580 +vt 0.822857 0.811594 +vt 1.000000 0.811594 +vt 1.000000 0.695652 +vt 0.822857 0.724638 +vt 0.822857 0.695652 +vt 0.822857 0.782609 +vt 1.000000 0.753623 +vt 1.000000 0.782609 +vt 1.000000 0.724638 +vt 0.822857 0.869565 +vt 1.000000 0.869565 +vt 1.000000 0.782609 +vt 0.822857 0.782609 +vt 0.822857 0.753623 +vt 1.000000 0.782609 +vt 0.822857 0.782609 +vt 1.000000 0.724638 +vt 0.822857 0.695652 +vt 1.000000 0.695652 +vt 1.000000 0.753623 +vt 1.000000 0.811594 +vt 0.822857 0.782609 +vt 1.000000 0.782609 +vt 1.000000 0.840580 +vt 1.000000 0.166667 +vt 1.000000 0.456522 +vt 1.000000 0.340580 +vt 1.000000 0.630435 +vt 1.000000 0.108696 +vt 1.000000 0.398551 +vt 1.000000 0.282609 +vt 1.000000 0.572464 +vt 1.000000 0.050725 +vt 1.000000 0.224638 +vt 1.000000 0.514493 +vt 1.000000 0.688406 +vt 0.040000 0.210145 +vt 0.045714 0.188406 +vt 0.048571 0.210145 +vt 0.054286 0.188406 +vt 0.057143 0.210145 +vt 0.057143 0.173913 +vt 0.062857 0.188406 +vt 0.057143 0.188406 +vt 0.065714 0.173913 +vt 0.071429 0.188406 +vt 0.065714 0.188406 +vt 0.074286 0.188406 +vt 0.082857 0.210145 +vt 0.074286 0.210145 +vt 0.082857 0.188406 +vt 0.091429 0.210145 +vt 0.031429 0.188406 +vt 0.037143 0.173913 +vt 0.037143 0.188406 +vt 0.022857 0.173913 +vt 0.028571 0.188406 +vt 0.022857 0.188406 +vt 0.022857 0.210145 +vt 0.031429 0.210145 +vt 0.048571 0.188406 +vt 0.054286 0.173913 +vt 0.040000 0.173913 +vt 0.040000 0.188406 +vt 0.065714 0.210145 +vt 0.074286 0.173913 +vt 0.080000 0.188406 +vt 0.088571 0.173913 +vt 0.088571 0.188406 +vt 0.040000 0.268116 +vt 0.031429 0.289855 +vt 0.031429 0.268116 +vt 0.071429 0.289855 +vt 0.065714 0.268116 +vt 0.074286 0.268116 +vt 0.028571 0.289855 +vt 0.022857 0.268116 +vt 0.062857 0.289855 +vt 0.057143 0.268116 +vt 0.091429 0.268116 +vt 0.082857 0.289855 +vt 0.082857 0.268116 +vt 0.045714 0.289855 +vt 0.048571 0.268116 +vt 0.080000 0.289855 +vt 0.048571 0.289855 +vt 0.071429 0.289855 +vt 0.065714 0.268116 +vt 0.074286 0.268116 +vt 0.088571 0.289855 +vt 0.082857 0.268116 +vt 0.091429 0.268116 +vt 0.054286 0.289855 +vt 0.048571 0.268116 +vt 0.057143 0.268116 +vt 0.065714 0.210145 +vt 0.062857 0.289855 +vt 0.080000 0.289855 +vt 0.040000 0.268116 +vt 0.048571 0.210145 +vt 0.031429 0.268116 +vt 0.022857 0.289855 +vt 0.022857 0.268116 +vt 0.045714 0.289855 +vt 0.031429 0.210145 +vt 0.091429 0.210145 +vt 0.065714 0.188406 +vt 0.074286 0.210145 +vt 0.082857 0.210145 +vt 0.037143 0.188406 +vt 0.040000 0.210145 +vt 0.031429 0.289855 +vt 0.040000 0.188406 +vt 0.045714 0.173913 +vt 0.045714 0.188406 +vt 0.074286 0.188406 +vt 0.080000 0.173913 +vt 0.080000 0.188406 +vt 0.048571 0.173913 +vt 0.054286 0.188406 +vt 0.048571 0.188406 +vt 0.057143 0.210145 +vt 0.062857 0.188406 +vt 0.082857 0.188406 +vt 0.088571 0.173913 +vt 0.088571 0.188406 +vt 0.031429 0.188406 +vt 0.037143 0.173913 +vt 0.022857 0.210145 +vt 0.028571 0.188406 +vt 0.065714 0.173913 +vt 0.071429 0.188406 +vt 0.022857 0.188406 +vt 0.028571 0.173913 +vt 0.057143 0.173913 +vt 0.057143 0.188406 +vt 0.040000 0.188406 +vt 0.048571 0.210145 +vt 0.040000 0.210145 +vt 0.048571 0.188406 +vt 0.057143 0.210145 +vt 0.057143 0.173913 +vt 0.062857 0.188406 +vt 0.057143 0.188406 +vt 0.065714 0.188406 +vt 0.071429 0.173913 +vt 0.071429 0.188406 +vt 0.074286 0.210145 +vt 0.080000 0.188406 +vt 0.082857 0.210145 +vt 0.082857 0.188406 +vt 0.091429 0.210145 +vt 0.031429 0.188406 +vt 0.037143 0.173913 +vt 0.037143 0.188406 +vt 0.022857 0.188406 +vt 0.028571 0.173913 +vt 0.028571 0.188406 +vt 0.022857 0.210145 +vt 0.031429 0.210145 +vt 0.048571 0.173913 +vt 0.054286 0.188406 +vt 0.040000 0.173913 +vt 0.045714 0.188406 +vt 0.065714 0.210145 +vt 0.074286 0.188406 +vt 0.080000 0.173913 +vt 0.088571 0.173913 +vt 0.088571 0.188406 +vt 0.040000 0.268116 +vt 0.031429 0.289855 +vt 0.031429 0.268116 +vt 0.071429 0.289855 +vt 0.065714 0.268116 +vt 0.074286 0.268116 +vt 0.022857 0.289855 +vt 0.022857 0.268116 +vt 0.057143 0.289855 +vt 0.057143 0.268116 +vt 0.091429 0.268116 +vt 0.082857 0.289855 +vt 0.082857 0.268116 +vt 0.045714 0.289855 +vt 0.048571 0.268116 +vt 0.080000 0.289855 +vt 0.054286 0.289855 +vt 0.048571 0.210145 +vt 0.057143 0.268116 +vt 0.048571 0.268116 +vt 0.031429 0.268116 +vt 0.040000 0.210145 +vt 0.040000 0.268116 +vt 0.082857 0.210145 +vt 0.091429 0.268116 +vt 0.082857 0.268116 +vt 0.065714 0.210145 +vt 0.074286 0.268116 +vt 0.065714 0.268116 +vt 0.022857 0.268116 +vt 0.031429 0.210145 +vt 0.048571 0.289855 +vt 0.031429 0.289855 +vt 0.082857 0.289855 +vt 0.071429 0.289855 +vt 0.045714 0.289855 +vt 0.022857 0.289855 +vt 0.074286 0.289855 +vt 0.062857 0.289855 +vt 0.065714 0.188406 +vt 0.074286 0.210145 +vt 0.040000 0.188406 +vt 0.022857 0.210145 +vt 0.028571 0.188406 +vt 0.080000 0.188406 +vt 0.057143 0.210145 +vt 0.062857 0.188406 +vt 0.054286 0.188406 +vt 0.037143 0.188406 +vt 0.082857 0.188406 +vt 0.091429 0.210145 +vt 0.074286 0.188406 +vt 0.080000 0.173913 +vt 0.057143 0.173913 +vt 0.057143 0.188406 +vt 0.048571 0.173913 +vt 0.048571 0.188406 +vt 0.031429 0.173913 +vt 0.031429 0.188406 +vt 0.082857 0.173913 +vt 0.088571 0.188406 +vt 0.065714 0.173913 +vt 0.071429 0.188406 +vt 0.040000 0.173913 +vt 0.045714 0.188406 +vt 0.022857 0.173913 +vt 0.022857 0.188406 +vt 0.811429 0.347826 +vt 0.805714 0.362319 +vt 0.805714 0.347826 +vt 0.834286 0.347826 +vt 0.828571 0.362319 +vt 0.828571 0.347826 +vt 0.800000 0.347826 +vt 0.800000 0.362319 +vt 0.794286 0.347826 +vt 0.794286 0.362319 +vt 0.817143 0.347826 +vt 0.811429 0.362319 +vt 0.822857 0.362319 +vt 0.817143 0.362319 +vt 0.822857 0.347826 +vt 0.840000 0.347826 +vt 0.834286 0.362319 +vt 0.840000 0.347826 +vt 0.834286 0.362319 +vt 0.834286 0.347826 +vt 0.822857 0.347826 +vt 0.817143 0.362319 +vt 0.817143 0.347826 +vt 0.800000 0.347826 +vt 0.805714 0.362319 +vt 0.800000 0.362319 +vt 0.811429 0.362319 +vt 0.811429 0.347826 +vt 0.794286 0.362319 +vt 0.794286 0.347826 +vt 0.828571 0.347826 +vt 0.822857 0.362319 +vt 0.828571 0.362319 +vt 0.805714 0.347826 +vt 0.840000 0.347826 +vt 0.834286 0.362319 +vt 0.834286 0.347826 +vt 0.828571 0.347826 +vt 0.822857 0.362319 +vt 0.822857 0.347826 +vt 0.817143 0.347826 +vt 0.811429 0.362319 +vt 0.811429 0.347826 +vt 0.805714 0.347826 +vt 0.800000 0.362319 +vt 0.800000 0.347826 +vt 0.828571 0.362319 +vt 0.817143 0.362319 +vt 0.805714 0.362319 +vt 0.794286 0.362319 +vt 0.794286 0.347826 +vt 0.822857 0.347826 +vt 0.817143 0.362319 +vt 0.817143 0.347826 +vt 0.811429 0.362319 +vt 0.811429 0.347826 +vt 0.828571 0.347826 +vt 0.822857 0.362319 +vt 0.834286 0.347826 +vt 0.828571 0.362319 +vt 0.805714 0.347826 +vt 0.800000 0.362319 +vt 0.800000 0.347826 +vt 0.794286 0.347826 +vt 0.794286 0.362319 +vt 0.805714 0.362319 +vt 0.840000 0.362319 +vt 0.834286 0.362319 +vt 0.840000 0.347826 +vt 0.834286 0.362319 +vt 0.834286 0.347826 +vt 0.805714 0.347826 +vt 0.811429 0.362319 +vt 0.805714 0.362319 +vt 0.794286 0.347826 +vt 0.800000 0.362319 +vt 0.794286 0.362319 +vt 0.828571 0.347826 +vt 0.828571 0.362319 +vt 0.817143 0.347826 +vt 0.811429 0.347826 +vt 0.822857 0.362319 +vt 0.817143 0.362319 +vt 0.800000 0.347826 +vt 0.822857 0.347826 +vt 0.840000 0.347826 +vt 0.834286 0.362319 +vt 0.834286 0.347826 +vt 0.817143 0.347826 +vt 0.822857 0.362319 +vt 0.817143 0.362319 +vt 0.805714 0.347826 +vt 0.800000 0.362319 +vt 0.800000 0.347826 +vt 0.811429 0.362319 +vt 0.811429 0.347826 +vt 0.794286 0.347826 +vt 0.794286 0.362319 +vt 0.828571 0.347826 +vt 0.822857 0.347826 +vt 0.828571 0.362319 +vt 0.805714 0.362319 +vt 0.840000 0.347826 +vt 0.834286 0.362319 +vt 0.834286 0.347826 +vt 0.811429 0.347826 +vt 0.805714 0.362319 +vt 0.805714 0.347826 +vt 0.800000 0.347826 +vt 0.794286 0.362319 +vt 0.794286 0.347826 +vt 0.828571 0.362319 +vt 0.828571 0.347826 +vt 0.817143 0.347826 +vt 0.811429 0.362319 +vt 0.822857 0.347826 +vt 0.817143 0.362319 +vt 0.800000 0.362319 +vt 0.822857 0.362319 +vt 0.840000 0.347826 +vt 0.834286 0.362319 +vt 0.834286 0.347826 +vt 0.811429 0.347826 +vt 0.805714 0.362319 +vt 0.805714 0.347826 +vt 0.800000 0.347826 +vt 0.794286 0.362319 +vt 0.794286 0.347826 +vt 0.828571 0.362319 +vt 0.828571 0.347826 +vt 0.817143 0.347826 +vt 0.811429 0.362319 +vt 0.822857 0.347826 +vt 0.817143 0.362319 +vt 0.800000 0.362319 +vt 0.822857 0.362319 +vt 0.040000 0.188406 +vt 0.048571 0.210145 +vt 0.040000 0.210145 +vt 0.048571 0.188406 +vt 0.057143 0.210145 +vt 0.057143 0.173913 +vt 0.062857 0.188406 +vt 0.057143 0.188406 +vt 0.065714 0.173913 +vt 0.071429 0.188406 +vt 0.065714 0.188406 +vt 0.074286 0.188406 +vt 0.082857 0.210145 +vt 0.074286 0.210145 +vt 0.082857 0.188406 +vt 0.091429 0.210145 +vt 0.031429 0.188406 +vt 0.037143 0.173913 +vt 0.037143 0.188406 +vt 0.022857 0.173913 +vt 0.028571 0.188406 +vt 0.022857 0.188406 +vt 0.022857 0.210145 +vt 0.031429 0.210145 +vt 0.054286 0.173913 +vt 0.054286 0.188406 +vt 0.040000 0.173913 +vt 0.045714 0.188406 +vt 0.065714 0.210145 +vt 0.080000 0.173913 +vt 0.080000 0.188406 +vt 0.082857 0.173913 +vt 0.088571 0.188406 +vt 0.040000 0.268116 +vt 0.031429 0.289855 +vt 0.031429 0.268116 +vt 0.071429 0.289855 +vt 0.065714 0.268116 +vt 0.074286 0.268116 +vt 0.028571 0.289855 +vt 0.022857 0.268116 +vt 0.057143 0.289855 +vt 0.057143 0.268116 +vt 0.091429 0.268116 +vt 0.082857 0.289855 +vt 0.082857 0.268116 +vt 0.045714 0.289855 +vt 0.048571 0.268116 +vt 0.074286 0.289855 +vt 0.048571 0.289855 +vt 0.074286 0.268116 +vt 0.065714 0.289855 +vt 0.065714 0.268116 +vt 0.088571 0.289855 +vt 0.082857 0.268116 +vt 0.091429 0.268116 +vt 0.057143 0.268116 +vt 0.048571 0.289855 +vt 0.048571 0.268116 +vt 0.065714 0.210145 +vt 0.062857 0.289855 +vt 0.080000 0.289855 +vt 0.040000 0.210145 +vt 0.040000 0.268116 +vt 0.031429 0.268116 +vt 0.022857 0.289855 +vt 0.022857 0.268116 +vt 0.045714 0.289855 +vt 0.031429 0.210145 +vt 0.082857 0.210145 +vt 0.065714 0.188406 +vt 0.074286 0.210145 +vt 0.048571 0.210145 +vt 0.037143 0.188406 +vt 0.031429 0.289855 +vt 0.040000 0.173913 +vt 0.045714 0.188406 +vt 0.040000 0.188406 +vt 0.074286 0.188406 +vt 0.080000 0.173913 +vt 0.080000 0.188406 +vt 0.048571 0.173913 +vt 0.054286 0.188406 +vt 0.048571 0.188406 +vt 0.057143 0.188406 +vt 0.057143 0.210145 +vt 0.082857 0.188406 +vt 0.088571 0.173913 +vt 0.088571 0.188406 +vt 0.031429 0.188406 +vt 0.037143 0.173913 +vt 0.022857 0.188406 +vt 0.022857 0.210145 +vt 0.065714 0.173913 +vt 0.071429 0.188406 +vt 0.091429 0.210145 +vt 0.022857 0.173913 +vt 0.028571 0.188406 +vt 0.057143 0.173913 +vt 0.062857 0.188406 +vt 0.040000 0.210145 +vt 0.045714 0.188406 +vt 0.048571 0.210145 +vt 0.048571 0.188406 +vt 0.057143 0.210145 +vt 0.057143 0.173913 +vt 0.062857 0.188406 +vt 0.057143 0.188406 +vt 0.065714 0.173913 +vt 0.071429 0.188406 +vt 0.065714 0.188406 +vt 0.074286 0.210145 +vt 0.080000 0.188406 +vt 0.082857 0.210145 +vt 0.082857 0.188406 +vt 0.091429 0.210145 +vt 0.031429 0.188406 +vt 0.037143 0.173913 +vt 0.037143 0.188406 +vt 0.022857 0.188406 +vt 0.028571 0.173913 +vt 0.028571 0.188406 +vt 0.022857 0.210145 +vt 0.031429 0.210145 +vt 0.048571 0.173913 +vt 0.054286 0.188406 +vt 0.040000 0.173913 +vt 0.040000 0.188406 +vt 0.065714 0.210145 +vt 0.074286 0.188406 +vt 0.080000 0.173913 +vt 0.082857 0.173913 +vt 0.088571 0.188406 +vt 0.040000 0.268116 +vt 0.031429 0.289855 +vt 0.031429 0.268116 +vt 0.071429 0.289855 +vt 0.065714 0.268116 +vt 0.074286 0.268116 +vt 0.022857 0.289855 +vt 0.022857 0.268116 +vt 0.057143 0.289855 +vt 0.057143 0.268116 +vt 0.091429 0.268116 +vt 0.082857 0.289855 +vt 0.082857 0.268116 +vt 0.045714 0.289855 +vt 0.048571 0.268116 +vt 0.080000 0.289855 +vt 0.048571 0.289855 +vt 0.048571 0.268116 +vt 0.057143 0.210145 +vt 0.057143 0.268116 +vt 0.031429 0.210145 +vt 0.040000 0.268116 +vt 0.031429 0.268116 +vt 0.082857 0.210145 +vt 0.091429 0.268116 +vt 0.082857 0.268116 +vt 0.065714 0.210145 +vt 0.074286 0.268116 +vt 0.065714 0.268116 +vt 0.048571 0.210145 +vt 0.022857 0.210145 +vt 0.022857 0.268116 +vt 0.048571 0.289855 +vt 0.031429 0.289855 +vt 0.088571 0.289855 +vt 0.071429 0.289855 +vt 0.040000 0.289855 +vt 0.028571 0.289855 +vt 0.074286 0.289855 +vt 0.062857 0.289855 +vt 0.065714 0.188406 +vt 0.074286 0.210145 +vt 0.040000 0.188406 +vt 0.040000 0.210145 +vt 0.022857 0.188406 +vt 0.080000 0.188406 +vt 0.062857 0.188406 +vt 0.048571 0.188406 +vt 0.037143 0.188406 +vt 0.082857 0.188406 +vt 0.091429 0.210145 +vt 0.074286 0.188406 +vt 0.080000 0.173913 +vt 0.057143 0.173913 +vt 0.057143 0.188406 +vt 0.048571 0.173913 +vt 0.054286 0.188406 +vt 0.031429 0.188406 +vt 0.037143 0.173913 +vt 0.088571 0.173913 +vt 0.088571 0.188406 +vt 0.065714 0.173913 +vt 0.071429 0.188406 +vt 0.040000 0.173913 +vt 0.045714 0.188406 +vt 0.028571 0.173913 +vt 0.028571 0.188406 +vt 0.822857 0.840580 +vt 0.822857 0.753623 +vt 0.822857 0.724638 +vt 0.822857 0.811594 +vt 1.000000 0.123188 +vt 1.000000 0.413043 +vt 1.000000 0.297101 +vt 1.000000 0.586957 +vt 1.000000 0.065217 +vt 1.000000 0.355072 +vt 1.000000 0.239130 +vt 1.000000 0.528986 +vt 1.000000 0.007246 +vt 1.000000 0.181159 +vt 1.000000 0.471014 +vt 1.000000 0.644928 +vt 0.062857 0.173913 +vt 0.071429 0.173913 +vt 0.031429 0.173913 +vt 0.028571 0.173913 +vt 0.048571 0.173913 +vt 0.045714 0.173913 +vt 0.080000 0.173913 +vt 0.082857 0.173913 +vt 0.037143 0.289855 +vt 0.065714 0.289855 +vt 0.022857 0.289855 +vt 0.057143 0.289855 +vt 0.088571 0.289855 +vt 0.040000 0.289855 +vt 0.074286 0.289855 +vt 0.054286 0.289855 +vt 0.065714 0.289855 +vt 0.082857 0.289855 +vt 0.048571 0.289855 +vt 0.057143 0.289855 +vt 0.074286 0.289855 +vt 0.028571 0.289855 +vt 0.040000 0.289855 +vt 0.037143 0.289855 +vt 0.040000 0.173913 +vt 0.074286 0.173913 +vt 0.054286 0.173913 +vt 0.082857 0.173913 +vt 0.031429 0.173913 +vt 0.071429 0.173913 +vt 0.022857 0.173913 +vt 0.062857 0.173913 +vt 0.062857 0.173913 +vt 0.065714 0.173913 +vt 0.031429 0.173913 +vt 0.022857 0.173913 +vt 0.054286 0.173913 +vt 0.045714 0.173913 +vt 0.074286 0.173913 +vt 0.082857 0.173913 +vt 0.037143 0.289855 +vt 0.065714 0.289855 +vt 0.028571 0.289855 +vt 0.062857 0.289855 +vt 0.088571 0.289855 +vt 0.040000 0.289855 +vt 0.074286 0.289855 +vt 0.048571 0.289855 +vt 0.054286 0.289855 +vt 0.037143 0.289855 +vt 0.088571 0.289855 +vt 0.065714 0.289855 +vt 0.040000 0.289855 +vt 0.028571 0.289855 +vt 0.080000 0.289855 +vt 0.057143 0.289855 +vt 0.074286 0.173913 +vt 0.062857 0.173913 +vt 0.054286 0.173913 +vt 0.037143 0.173913 +vt 0.088571 0.173913 +vt 0.071429 0.173913 +vt 0.045714 0.173913 +vt 0.028571 0.173913 +vt 0.840000 0.362319 +vt 0.840000 0.362319 +vt 0.840000 0.362319 +vt 0.840000 0.347826 +vt 0.840000 0.362319 +vt 0.840000 0.362319 +vt 0.840000 0.362319 +vt 0.840000 0.362319 +vt 0.062857 0.173913 +vt 0.071429 0.173913 +vt 0.031429 0.173913 +vt 0.028571 0.173913 +vt 0.048571 0.173913 +vt 0.045714 0.173913 +vt 0.074286 0.173913 +vt 0.088571 0.173913 +vt 0.037143 0.289855 +vt 0.065714 0.289855 +vt 0.022857 0.289855 +vt 0.062857 0.289855 +vt 0.088571 0.289855 +vt 0.040000 0.289855 +vt 0.080000 0.289855 +vt 0.054286 0.289855 +vt 0.071429 0.289855 +vt 0.082857 0.289855 +vt 0.054286 0.289855 +vt 0.057143 0.289855 +vt 0.074286 0.289855 +vt 0.028571 0.289855 +vt 0.040000 0.289855 +vt 0.037143 0.289855 +vt 0.045714 0.173913 +vt 0.074286 0.173913 +vt 0.054286 0.173913 +vt 0.082857 0.173913 +vt 0.031429 0.173913 +vt 0.071429 0.173913 +vt 0.028571 0.173913 +vt 0.062857 0.173913 +vt 0.062857 0.173913 +vt 0.071429 0.173913 +vt 0.031429 0.173913 +vt 0.022857 0.173913 +vt 0.054286 0.173913 +vt 0.045714 0.173913 +vt 0.074286 0.173913 +vt 0.088571 0.173913 +vt 0.037143 0.289855 +vt 0.065714 0.289855 +vt 0.028571 0.289855 +vt 0.062857 0.289855 +vt 0.088571 0.289855 +vt 0.040000 0.289855 +vt 0.074286 0.289855 +vt 0.054286 0.289855 +vt 0.054286 0.289855 +vt 0.037143 0.289855 +vt 0.082857 0.289855 +vt 0.065714 0.289855 +vt 0.045714 0.289855 +vt 0.022857 0.289855 +vt 0.080000 0.289855 +vt 0.057143 0.289855 +vt 0.074286 0.173913 +vt 0.062857 0.173913 +vt 0.054286 0.173913 +vt 0.031429 0.173913 +vt 0.082857 0.173913 +vt 0.071429 0.173913 +vt 0.045714 0.173913 +vt 0.022857 0.173913 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.0000 -1.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 -0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 -0.7071 -0.0000 +vn -0.2298 0.9732 0.0000 +vn -0.4472 0.8944 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.2298 -0.9732 0.0000 +vn -0.2298 -0.9732 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.8944 -0.4472 0.0000 +vn 0.9732 -0.2298 0.0000 +vn 0.8944 0.4472 0.0000 +vn 0.9732 0.2298 0.0000 +vn 0.4472 -0.8944 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.8660 0.5000 0.0000 +vn -0.4472 -0.8944 0.0000 +vn -0.8660 -0.5000 0.0000 +vn -0.9732 -0.2298 0.0000 +vn -0.8944 -0.4472 0.0000 +vn -0.9732 0.2298 0.0000 +vn -0.8944 0.4472 0.0000 +vn 0.2298 0.9732 0.0000 +vn 0.4472 0.8944 0.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn -1.0000 -0.0040 -0.0000 +vn -0.8530 0.1430 -0.5020 +vn -0.4980 0.4980 -0.7099 +vn 0.5000 0.5000 -0.7071 +vn 0.0040 1.0000 0.0000 +vn -0.1430 0.8530 0.5020 +vn -0.4980 0.4980 0.7099 +vn -0.5000 -0.5000 0.7071 +vn -0.8530 0.1430 0.5020 +vn -0.5000 -0.5000 -0.7071 +vn -0.1430 0.8530 -0.5020 +vn 0.5000 0.5000 0.7071 +vn 0.1464 -0.8536 0.5000 +vn 0.8536 -0.1464 -0.5000 +vn 0.5000 -0.5000 0.7071 +vn 0.5000 -0.5000 -0.7071 +vn 0.8536 -0.1464 0.5000 +vn 0.1464 -0.8536 -0.5000 +vn -0.8536 0.1464 -0.5000 +vn -0.5000 0.5000 0.7071 +vn -0.8536 0.1464 0.5000 +vn -0.5000 0.5000 -0.7071 +vn -0.1464 0.8536 -0.5000 +vn -0.1464 0.8536 0.5000 +vn 0.1430 -0.8530 -0.5020 +vn -0.0040 -1.0000 -0.0000 +vn 0.8530 -0.1430 0.5020 +vn 1.0000 0.0040 0.0000 +vn 0.4980 -0.4980 -0.7099 +vn 0.4980 -0.4980 0.7099 +vn 0.8530 -0.1430 -0.5020 +vn 0.1430 -0.8530 0.5020 +vn -0.0040 1.0000 -0.0000 +vn 0.1430 0.8530 -0.5020 +vn 0.4980 0.4980 -0.7099 +vn 1.0000 -0.0040 -0.0000 +vn 0.8530 0.1430 0.5020 +vn 0.4980 0.4980 0.7099 +vn 0.1430 0.8530 0.5020 +vn 0.8530 0.1430 -0.5020 +vn -0.8536 -0.1464 0.5000 +vn -0.1464 -0.8536 -0.5000 +vn -0.1464 -0.8536 0.5000 +vn -0.8536 -0.1464 -0.5000 +vn 0.8536 0.1464 -0.5000 +vn 0.8536 0.1464 0.5000 +vn 0.1464 0.8536 0.5000 +vn 0.1464 0.8536 -0.5000 +vn -0.8530 -0.1430 -0.5020 +vn -1.0000 0.0040 0.0000 +vn 0.0040 -1.0000 0.0000 +vn -0.1430 -0.8530 -0.5020 +vn -0.4980 -0.4980 0.7099 +vn -0.1430 -0.8530 0.5020 +vn -0.8530 -0.1430 0.5020 +vn -0.4980 -0.4980 -0.7099 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +s off +f 19/35/11 24/36/11 20/37/11 +f 18/38/12 22/39/12 17/40/12 +f 20/37/13 23/41/13 18/38/13 +f 17/40/14 21/42/14 19/43/14 +f 27/44/11 32/45/11 28/46/11 +f 26/47/12 30/48/12 25/49/12 +f 28/46/13 31/50/13 26/47/13 +f 25/49/14 29/51/14 27/52/14 +f 48/53/11 43/54/11 44/55/11 +f 46/56/12 42/57/12 41/58/12 +f 47/59/14 44/60/14 42/57/14 +f 45/61/13 41/58/13 43/54/13 +f 56/62/11 51/63/11 52/64/11 +f 54/65/12 50/66/12 49/67/12 +f 55/68/14 52/69/14 50/66/14 +f 53/70/13 49/67/13 51/63/13 +f 99/71/15 112/72/15 111/73/15 +f 97/74/15 108/75/15 96/76/15 +f 104/77/15 115/78/15 103/79/15 +f 94/80/15 105/81/15 93/82/15 +f 101/83/15 112/84/15 100/85/15 +f 98/86/15 109/87/15 97/74/15 +f 104/77/15 105/88/15 116/89/15 +f 95/90/15 106/91/15 94/80/15 +f 101/83/15 114/92/15 113/93/15 +f 99/94/15 110/95/15 98/86/15 +f 96/76/15 107/96/15 95/90/15 +f 102/97/15 115/98/15 114/99/15 +f 92/100/16 117/101/16 81/102/16 +f 117/103/16 82/104/16 81/102/16 +f 118/105/16 83/106/16 82/104/16 +f 119/107/16 84/108/16 83/106/16 +f 120/109/16 85/110/16 84/108/16 +f 121/111/16 86/112/16 85/110/16 +f 122/113/16 87/114/16 86/112/16 +f 87/115/16 124/116/16 88/117/16 +f 124/118/16 89/119/16 88/117/16 +f 89/119/16 126/120/16 90/121/16 +f 90/121/16 127/122/16 91/123/16 +f 127/124/16 92/100/16 91/123/16 +f 48/53/15 46/125/15 45/61/15 +f 22/126/15 24/36/15 21/127/15 +f 30/128/15 32/45/15 29/129/15 +f 56/62/15 54/130/15 53/70/15 +f 136/131/17 130/132/17 132/133/17 +f 150/134/18 148/135/18 146/136/18 +f 201/137/18 207/138/18 205/139/18 +f 187/140/17 189/141/17 191/142/17 +f 216/143/19 210/144/19 212/145/19 +f 230/146/20 228/147/20 226/148/20 +f 267/149/19 269/150/19 271/151/19 +f 281/152/20 287/153/20 285/154/20 +f 301/155/20 303/156/20 297/157/20 +f 317/158/18 319/159/18 313/160/18 +f 333/161/11 335/162/11 329/163/11 +f 340/164/17 338/165/17 344/166/17 +f 356/167/19 354/168/19 360/169/19 +f 381/170/14 383/171/14 377/172/14 +f 388/173/13 386/174/13 392/175/13 +f 404/176/12 402/177/12 408/178/12 +f 424/179/17 418/180/17 420/181/17 +f 438/182/18 436/183/18 434/184/18 +f 489/185/18 495/186/18 493/187/18 +f 475/188/17 477/189/17 479/190/17 +f 504/191/19 498/192/19 500/193/19 +f 518/194/20 516/195/20 514/196/20 +f 555/197/19 557/198/19 559/199/19 +f 569/200/20 575/201/20 573/202/20 +f 19/35/11 21/127/11 24/36/11 +f 18/38/12 23/41/12 22/39/12 +f 20/37/13 24/36/13 23/41/13 +f 17/40/14 22/39/14 21/42/14 +f 27/44/11 29/129/11 32/45/11 +f 26/47/12 31/50/12 30/48/12 +f 28/46/13 32/45/13 31/50/13 +f 25/49/14 30/48/14 29/51/14 +f 48/53/11 45/61/11 43/54/11 +f 46/56/12 47/59/12 42/57/12 +f 47/59/14 48/203/14 44/60/14 +f 45/61/13 46/56/13 41/58/13 +f 56/62/11 53/70/11 51/63/11 +f 54/65/12 55/68/12 50/66/12 +f 55/68/14 56/204/14 52/69/14 +f 53/70/13 54/65/13 49/67/13 +f 99/71/15 100/85/15 112/72/15 +f 97/74/15 109/205/15 108/75/15 +f 104/77/15 116/206/15 115/78/15 +f 94/80/15 106/207/15 105/81/15 +f 101/83/15 113/208/15 112/84/15 +f 98/86/15 110/209/15 109/87/15 +f 104/77/15 93/82/15 105/88/15 +f 95/90/15 107/210/15 106/91/15 +f 101/83/15 102/97/15 114/92/15 +f 99/94/15 111/211/15 110/95/15 +f 96/76/15 108/212/15 107/96/15 +f 102/97/15 103/79/15 115/98/15 +f 92/100/16 128/213/16 117/101/16 +f 117/103/16 118/214/16 82/104/16 +f 118/105/16 119/215/16 83/106/16 +f 119/107/16 120/216/16 84/108/16 +f 120/109/16 121/217/16 85/110/16 +f 121/111/16 122/218/16 86/112/16 +f 122/113/16 123/219/16 87/114/16 +f 87/115/16 123/220/16 124/116/16 +f 124/118/16 125/221/16 89/119/16 +f 89/119/16 125/222/16 126/120/16 +f 90/121/16 126/223/16 127/122/16 +f 127/124/16 128/224/16 92/100/16 +f 48/53/15 47/225/15 46/125/15 +f 22/126/15 23/226/15 24/36/15 +f 30/128/15 31/227/15 32/45/15 +f 56/62/15 55/228/15 54/130/15 +f 134/229/17 135/230/17 136/131/17 +f 136/131/17 129/231/17 130/132/17 +f 130/132/17 131/232/17 132/133/17 +f 132/133/17 133/233/17 134/229/17 +f 134/229/17 136/131/17 132/133/17 +f 152/234/18 151/235/18 150/134/18 +f 150/134/18 149/236/18 148/135/18 +f 148/135/18 147/237/18 146/136/18 +f 146/136/18 145/238/18 152/234/18 +f 152/234/18 150/134/18 146/136/18 +f 203/239/18 202/240/18 201/137/18 +f 201/137/18 208/241/18 207/138/18 +f 207/138/18 206/242/18 205/139/18 +f 205/139/18 204/243/18 203/239/18 +f 203/239/18 201/137/18 205/139/18 +f 185/244/17 186/245/17 187/140/17 +f 187/140/17 188/246/17 189/141/17 +f 189/141/17 190/247/17 191/142/17 +f 191/142/17 192/248/17 185/244/17 +f 185/244/17 187/140/17 191/142/17 +f 214/249/19 215/250/19 216/143/19 +f 216/143/19 209/251/19 210/144/19 +f 210/144/19 211/252/19 212/145/19 +f 212/145/19 213/253/19 214/249/19 +f 214/249/19 216/143/19 212/145/19 +f 232/254/20 231/255/20 230/146/20 +f 230/146/20 229/256/20 228/147/20 +f 228/147/20 227/257/20 226/148/20 +f 226/148/20 225/258/20 232/254/20 +f 232/254/20 230/146/20 226/148/20 +f 265/259/19 266/260/19 267/149/19 +f 267/149/19 268/261/19 269/150/19 +f 269/150/19 270/262/19 271/151/19 +f 271/151/19 272/263/19 265/259/19 +f 265/259/19 267/149/19 271/151/19 +f 283/264/20 282/265/20 281/152/20 +f 281/152/20 288/266/20 287/153/20 +f 287/153/20 286/267/20 285/154/20 +f 285/154/20 284/268/20 283/264/20 +f 283/264/20 281/152/20 285/154/20 +f 297/157/20 298/269/20 299/270/20 +f 299/270/20 300/271/20 297/157/20 +f 300/271/20 301/155/20 297/157/20 +f 301/155/20 302/272/20 303/156/20 +f 303/156/20 304/273/20 297/157/20 +f 313/160/18 314/274/18 315/275/18 +f 315/275/18 316/276/18 313/160/18 +f 316/276/18 317/158/18 313/160/18 +f 317/158/18 318/277/18 319/159/18 +f 319/159/18 320/278/18 313/160/18 +f 329/163/11 330/279/11 331/280/11 +f 331/280/11 332/281/11 329/163/11 +f 332/281/11 333/161/11 329/163/11 +f 333/161/11 334/282/11 335/162/11 +f 335/162/11 336/283/11 329/163/11 +f 344/166/17 343/284/17 342/285/17 +f 342/285/17 341/286/17 344/166/17 +f 341/286/17 340/164/17 344/166/17 +f 340/164/17 339/287/17 338/165/17 +f 338/165/17 337/288/17 344/166/17 +f 360/169/19 359/289/19 358/290/19 +f 358/290/19 357/291/19 360/169/19 +f 357/291/19 356/167/19 360/169/19 +f 356/167/19 355/292/19 354/168/19 +f 354/168/19 353/293/19 360/169/19 +f 377/172/14 378/294/14 379/295/14 +f 379/295/14 380/296/14 377/172/14 +f 380/296/14 381/170/14 377/172/14 +f 381/170/14 382/297/14 383/171/14 +f 383/171/14 384/298/14 377/172/14 +f 392/175/13 391/299/13 390/300/13 +f 390/300/13 389/301/13 392/175/13 +f 389/301/13 388/173/13 392/175/13 +f 388/173/13 387/302/13 386/174/13 +f 386/174/13 385/303/13 392/175/13 +f 408/178/12 407/304/12 406/305/12 +f 406/305/12 405/306/12 408/178/12 +f 405/306/12 404/176/12 408/178/12 +f 404/176/12 403/307/12 402/177/12 +f 402/177/12 401/308/12 408/178/12 +f 422/309/17 423/310/17 424/179/17 +f 424/179/17 417/311/17 418/180/17 +f 418/180/17 419/312/17 420/181/17 +f 420/181/17 421/313/17 422/309/17 +f 422/309/17 424/179/17 420/181/17 +f 440/314/18 439/315/18 438/182/18 +f 438/182/18 437/316/18 436/183/18 +f 436/183/18 435/317/18 434/184/18 +f 434/184/18 433/318/18 440/314/18 +f 440/314/18 438/182/18 434/184/18 +f 491/319/18 490/320/18 489/185/18 +f 489/185/18 496/321/18 495/186/18 +f 495/186/18 494/322/18 493/187/18 +f 493/187/18 492/323/18 491/319/18 +f 491/319/18 489/185/18 493/187/18 +f 473/324/17 474/325/17 475/188/17 +f 475/188/17 476/326/17 477/189/17 +f 477/189/17 478/327/17 479/190/17 +f 479/190/17 480/328/17 473/324/17 +f 473/324/17 475/188/17 479/190/17 +f 502/329/19 503/330/19 504/191/19 +f 504/191/19 497/331/19 498/192/19 +f 498/192/19 499/332/19 500/193/19 +f 500/193/19 501/333/19 502/329/19 +f 502/329/19 504/191/19 500/193/19 +f 520/334/20 519/335/20 518/194/20 +f 518/194/20 517/336/20 516/195/20 +f 516/195/20 515/337/20 514/196/20 +f 514/196/20 513/338/20 520/334/20 +f 520/334/20 518/194/20 514/196/20 +f 553/339/19 554/340/19 555/197/19 +f 555/197/19 556/341/19 557/198/19 +f 557/198/19 558/342/19 559/199/19 +f 559/199/19 560/343/19 553/339/19 +f 553/339/19 555/197/19 559/199/19 +f 571/344/20 570/345/20 569/200/20 +f 569/200/20 576/346/20 575/201/20 +f 575/201/20 574/347/20 573/202/20 +f 573/202/20 572/348/20 571/344/20 +f 571/344/20 569/200/20 573/202/20 +s 1 +f 78/349/21 75/350/22 76/351/22 +f 89/119/23 100/85/24 88/117/24 +f 71/352/25 70/353/26 69/354/26 +f 82/104/27 93/82/11 81/102/11 +f 35/355/28 38/356/29 36/357/28 +f 34/358/30 39/359/31 33/360/30 +f 39/359/31 38/356/29 37/361/29 +f 66/362/32 71/352/25 65/363/32 +f 92/100/33 103/79/34 91/123/34 +f 67/364/35 70/353/26 68/365/35 +f 85/110/36 96/76/14 84/108/14 +f 62/366/37 59/367/38 60/368/38 +f 63/369/39 58/370/40 57/371/40 +f 62/366/37 63/369/39 61/372/37 +f 79/373/41 74/374/42 73/375/42 +f 78/349/21 79/373/41 77/376/21 +f 86/112/43 97/74/36 85/110/36 +f 81/102/11 104/77/33 92/100/33 +f 83/106/44 94/80/27 82/104/27 +f 90/121/13 101/83/23 89/119/23 +f 87/114/12 98/86/43 86/112/43 +f 84/108/14 95/90/44 83/106/44 +f 91/123/34 102/97/13 90/121/13 +f 88/117/24 99/71/12 87/115/12 +f 109/205/34 120/377/13 108/75/13 +f 116/206/43 127/378/36 115/78/36 +f 106/207/24 117/379/12 105/81/12 +f 113/208/44 124/380/27 112/84/27 +f 110/209/33 121/381/34 109/87/34 +f 105/88/12 128/382/43 116/89/43 +f 107/210/23 118/383/24 106/91/24 +f 114/92/14 125/384/44 113/93/44 +f 111/211/11 122/385/33 110/95/33 +f 108/212/13 119/386/23 107/96/23 +f 115/98/36 126/387/14 114/99/14 +f 112/72/27 123/388/11 111/73/11 +f 154/389/45 137/390/46 153/391/46 +f 153/391/46 144/392/47 160/393/47 +f 136/394/16 143/395/48 144/396/16 +f 135/397/48 142/398/19 143/399/48 +f 142/400/49 157/401/50 158/402/49 +f 141/403/50 156/404/51 157/401/50 +f 139/405/52 130/406/20 138/407/20 +f 132/408/15 139/409/52 140/410/15 +f 156/411/51 139/409/53 155/412/53 +f 155/412/53 138/407/45 154/389/45 +f 137/413/54 136/414/16 144/392/16 +f 130/415/20 137/390/54 138/416/20 +f 160/393/47 143/395/55 159/417/55 +f 134/418/19 141/419/56 142/400/19 +f 141/403/56 132/420/15 140/421/15 +f 162/422/12 147/423/57 163/424/57 +f 150/425/13 167/426/58 166/427/13 +f 147/428/57 164/429/59 163/424/57 +f 151/430/58 168/431/60 167/426/58 +f 159/417/55 142/398/49 158/402/49 +f 164/432/59 149/433/61 165/434/61 +f 145/435/62 162/422/12 161/436/62 +f 149/437/61 166/427/13 165/434/61 +f 166/427/19 157/401/56 165/434/56 +f 168/431/60 145/438/62 161/436/62 +f 155/412/52 162/422/20 163/424/52 +f 167/426/48 158/402/19 166/427/19 +f 164/429/15 155/412/52 163/424/52 +f 160/393/16 167/426/48 168/431/16 +f 165/434/56 156/404/15 164/432/15 +f 154/389/20 161/436/54 162/422/20 +f 153/391/54 168/431/16 161/436/54 +f 187/439/14 170/440/63 171/441/14 +f 189/442/64 172/443/65 173/444/64 +f 185/445/66 176/446/67 169/447/66 +f 169/447/16 178/448/54 170/440/54 +f 186/449/63 169/447/66 170/440/63 +f 188/450/65 171/441/14 172/443/65 +f 178/448/54 171/441/20 170/440/54 +f 175/451/19 184/452/48 176/446/48 +f 174/453/68 189/454/64 173/455/64 +f 192/456/67 175/451/11 176/446/67 +f 182/457/56 175/451/19 174/453/56 +f 172/443/52 181/458/15 173/444/15 +f 194/459/69 179/460/70 178/448/69 +f 171/441/20 180/461/52 172/443/52 +f 173/455/15 182/457/56 174/453/56 +f 184/452/48 169/447/16 176/446/48 +f 182/457/71 199/462/72 183/463/72 +f 175/451/11 190/464/68 174/453/68 +f 199/465/19 208/466/48 200/467/48 +f 195/468/20 204/469/52 196/470/52 +f 208/471/48 193/472/16 200/473/48 +f 177/474/73 194/475/69 178/448/69 +f 196/476/52 205/477/15 197/478/15 +f 198/479/56 207/480/19 199/462/19 +f 181/481/74 198/482/71 182/457/71 +f 200/473/75 177/474/73 184/452/75 +f 202/483/54 195/484/20 194/459/54 +f 196/476/76 181/458/74 180/461/76 +f 197/485/15 206/486/56 198/482/56 +f 201/487/16 194/475/54 193/488/16 +f 179/460/70 196/470/76 180/461/76 +f 199/465/72 184/452/75 183/463/72 +f 218/489/77 233/490/78 234/491/77 +f 217/492/78 240/493/79 233/490/78 +f 216/494/16 223/495/60 224/496/16 +f 223/497/60 214/498/18 222/499/18 +f 238/500/80 221/501/81 237/502/81 +f 221/503/81 236/504/82 237/502/81 +f 219/505/64 210/506/17 218/507/17 +f 220/508/15 211/509/64 219/510/64 +f 236/511/82 219/510/83 235/512/83 +f 219/505/83 234/491/77 235/512/83 +f 209/513/66 224/514/16 217/492/66 +f 210/515/17 217/516/66 218/489/17 +f 240/493/79 223/495/84 239/517/84 +f 222/518/18 213/519/59 221/501/59 +f 221/503/59 212/520/15 220/521/15 +f 242/522/14 227/523/85 243/524/85 +f 230/525/12 247/526/86 246/527/12 +f 243/524/85 228/528/52 244/529/52 +f 247/526/86 232/530/54 248/531/54 +f 223/497/84 238/500/80 239/517/84 +f 244/532/52 229/533/87 245/534/87 +f 225/535/88 242/522/14 241/536/88 +f 229/537/87 246/527/12 245/534/87 +f 246/527/18 237/502/59 245/534/59 +f 232/538/54 241/536/88 248/531/54 +f 235/512/64 242/522/17 243/524/64 +f 239/517/60 246/527/18 247/526/60 +f 244/529/15 235/512/64 243/524/64 +f 248/531/16 239/517/60 247/526/60 +f 237/502/59 244/532/15 245/534/59 +f 234/491/17 241/536/66 242/522/17 +f 233/490/66 248/531/16 241/536/66 +f 264/539/60 249/540/16 256/541/60 +f 254/542/59 263/543/18 255/544/18 +f 260/545/64 253/546/15 252/547/64 +f 258/548/66 251/549/17 250/550/66 +f 255/544/18 264/539/60 256/541/60 +f 253/551/15 262/552/59 254/542/59 +f 251/549/17 260/545/64 252/547/64 +f 249/540/16 258/548/66 250/550/66 +f 249/540/48 272/553/89 256/541/89 +f 255/544/13 270/554/90 254/542/90 +f 253/546/56 268/555/91 252/547/91 +f 267/556/11 250/550/92 251/549/11 +f 272/557/89 255/544/13 256/541/89 +f 254/542/90 269/558/56 253/551/56 +f 252/547/91 267/559/11 251/549/11 +f 266/560/92 249/540/48 250/550/92 +f 274/561/93 259/562/94 258/548/93 +f 279/563/95 264/539/96 263/543/95 +f 261/564/97 278/565/98 262/552/98 +f 259/562/94 276/566/99 260/545/99 +f 257/567/100 274/568/93 258/548/93 +f 264/539/96 273/569/100 257/567/100 +f 262/552/98 279/570/95 263/543/95 +f 276/571/99 261/572/97 260/545/99 +f 275/573/17 284/574/64 276/566/64 +f 281/575/16 274/568/66 273/576/16 +f 288/577/60 273/569/16 280/578/60 +f 286/579/59 279/570/18 278/580/59 +f 284/581/64 277/582/15 276/571/64 +f 282/583/66 275/584/17 274/561/66 +f 287/585/18 280/586/60 279/563/18 +f 285/587/15 278/565/59 277/588/15 +f 292/589/59 299/590/18 291/591/18 +f 296/592/66 303/593/17 295/594/17 +f 290/595/60 299/590/18 298/596/60 +f 289/597/16 298/596/60 297/598/16 +f 293/599/15 300/600/59 292/589/59 +f 293/599/15 302/601/64 301/602/15 +f 294/603/64 303/593/17 302/601/64 +f 289/604/16 304/605/66 296/592/66 +f 305/606/16 320/607/54 312/608/54 +f 310/609/52 317/610/15 309/611/15 +f 306/612/48 315/613/19 314/614/48 +f 309/611/15 316/615/56 308/616/56 +f 306/612/48 313/617/16 305/618/16 +f 311/619/20 318/620/52 310/609/52 +f 311/619/20 320/607/54 319/621/20 +f 308/616/56 315/613/19 307/622/19 +f 321/623/16 336/624/101 328/625/101 +f 327/626/13 334/627/102 326/628/102 +f 325/629/15 332/630/103 324/631/103 +f 323/632/14 330/633/104 322/634/104 +f 328/625/101 335/635/13 327/626/13 +f 326/628/102 333/636/15 325/629/15 +f 324/631/103 331/637/14 323/632/14 +f 322/634/104 329/638/16 321/639/16 +f 347/640/56 340/641/15 348/642/15 +f 348/642/15 341/643/52 349/644/52 +f 346/645/19 339/646/56 347/640/56 +f 345/647/48 338/648/19 346/645/19 +f 350/649/20 343/650/54 351/651/54 +f 352/652/16 343/650/54 344/653/16 +f 350/649/20 341/643/52 342/654/20 +f 345/647/48 344/655/16 337/656/48 +f 368/657/16 353/658/60 361/659/60 +f 366/660/17 357/661/64 358/662/17 +f 368/663/16 359/664/66 360/665/16 +f 362/666/18 353/658/60 354/667/18 +f 364/668/15 357/661/64 365/669/64 +f 364/668/15 355/670/59 356/671/15 +f 367/672/66 358/662/17 359/664/66 +f 362/666/18 355/670/59 363/673/59 +f 369/674/16 384/675/105 376/676/105 +f 373/677/15 382/678/106 381/679/15 +f 371/680/12 378/681/107 370/682/107 +f 373/677/15 380/683/108 372/684/108 +f 369/685/16 378/681/107 377/686/16 +f 375/687/11 382/678/106 374/688/106 +f 376/676/105 383/689/11 375/687/11 +f 372/684/108 379/690/12 371/680/12 +f 400/691/16 385/692/107 393/693/107 +f 397/694/106 390/695/11 398/696/11 +f 399/697/105 392/698/16 400/699/16 +f 393/693/107 386/700/12 394/701/12 +f 396/702/15 389/703/106 397/694/106 +f 395/704/108 388/705/15 396/702/15 +f 398/696/11 391/706/105 399/697/105 +f 394/701/12 387/707/108 395/704/108 +f 416/708/16 401/709/104 409/710/104 +f 413/711/102 406/712/13 414/713/13 +f 415/714/101 408/715/16 416/716/16 +f 409/710/104 402/717/14 410/718/14 +f 412/719/15 405/720/102 413/711/102 +f 411/721/103 404/722/15 412/719/15 +f 414/713/13 407/723/101 415/714/101 +f 410/718/14 403/724/103 411/721/103 +f 426/725/45 441/726/46 442/727/45 +f 425/728/46 448/729/47 441/726/46 +f 424/730/16 431/731/48 432/732/16 +f 423/733/48 430/734/19 431/735/48 +f 430/736/49 445/737/50 446/738/49 +f 429/739/50 444/740/51 445/737/50 +f 427/741/52 418/742/20 426/743/20 +f 420/744/15 427/745/52 428/746/15 +f 444/747/51 427/745/53 443/748/53 +f 443/748/53 426/743/45 442/727/45 +f 425/728/54 424/749/16 432/750/16 +f 418/751/20 425/752/54 426/725/20 +f 448/729/47 431/731/55 447/753/55 +f 430/736/19 421/754/56 429/755/56 +f 421/756/56 428/757/15 429/739/56 +f 450/758/12 435/759/57 451/760/57 +f 438/761/13 455/762/58 454/763/13 +f 435/764/57 452/765/59 451/760/57 +f 455/762/58 440/766/60 456/767/60 +f 447/753/55 430/734/49 446/738/49 +f 452/768/59 437/769/61 453/770/61 +f 433/771/62 450/758/12 449/772/62 +f 453/770/61 438/773/13 454/763/13 +f 454/763/19 445/737/56 453/770/56 +f 456/767/60 433/774/62 449/772/62 +f 443/748/52 450/758/20 451/760/52 +f 455/762/48 446/738/19 454/763/19 +f 452/765/15 443/748/52 451/760/52 +f 448/729/16 455/762/48 456/767/16 +f 445/737/56 452/768/15 453/770/56 +f 450/758/20 441/726/54 449/772/54 +f 441/726/54 456/767/16 449/772/54 +f 459/775/14 474/776/63 458/777/63 +f 477/778/64 460/779/65 461/780/64 +f 457/781/66 480/782/67 464/783/67 +f 457/781/16 466/784/54 458/777/54 +f 474/785/63 457/781/66 458/777/63 +f 476/786/65 459/775/14 460/779/65 +f 466/784/54 459/775/20 458/777/54 +f 471/787/19 464/783/48 463/788/19 +f 462/789/68 477/790/64 461/791/64 +f 480/792/67 463/788/11 464/783/67 +f 470/793/56 463/788/19 462/789/56 +f 468/794/52 461/780/15 460/779/52 +f 482/795/69 467/796/70 466/784/69 +f 459/775/20 468/794/52 460/779/52 +f 461/791/15 470/793/56 462/789/56 +f 472/797/48 457/781/16 464/783/48 +f 470/793/71 487/798/72 471/787/72 +f 463/788/11 478/799/68 462/789/68 +f 495/800/19 488/801/48 487/802/19 +f 483/803/20 492/804/52 484/805/52 +f 496/806/48 481/807/16 488/808/48 +f 481/809/73 466/784/69 465/810/73 +f 484/811/52 493/812/15 485/813/15 +f 486/814/56 495/815/19 487/798/19 +f 485/816/74 470/793/71 469/817/74 +f 472/797/75 481/807/73 465/810/73 +f 490/818/54 483/819/20 482/795/54 +f 484/811/76 469/820/74 468/794/76 +f 493/821/15 486/822/56 485/816/15 +f 489/823/16 482/824/54 481/809/16 +f 467/796/70 484/805/76 468/794/76 +f 487/802/72 472/797/75 471/787/72 +f 522/825/77 505/826/78 521/827/78 +f 505/828/78 528/829/79 521/827/78 +f 504/830/16 511/831/60 512/832/16 +f 503/833/60 510/834/18 511/835/60 +f 526/836/80 509/837/81 525/838/81 +f 509/839/81 524/840/82 525/838/81 +f 507/841/64 498/842/17 506/843/17 +f 508/844/15 499/845/64 507/846/64 +f 524/847/82 507/846/83 523/848/83 +f 507/841/83 522/825/77 523/848/83 +f 497/849/66 512/850/16 505/828/66 +f 498/851/17 505/826/66 506/852/17 +f 528/829/79 511/831/84 527/853/84 +f 510/854/18 501/855/59 509/837/59 +f 501/856/59 508/857/15 509/839/59 +f 530/858/14 515/859/85 531/860/85 +f 518/861/12 535/862/86 534/863/12 +f 531/860/85 516/864/52 532/865/52 +f 535/862/86 520/866/54 536/867/54 +f 511/835/84 526/836/80 527/853/84 +f 532/868/52 517/869/87 533/870/87 +f 513/871/88 530/858/14 529/872/88 +f 517/873/87 534/863/12 533/870/87 +f 534/863/18 525/838/59 533/870/59 +f 536/867/54 513/874/88 529/872/88 +f 523/848/64 530/858/17 531/860/64 +f 527/853/60 534/863/18 535/862/60 +f 524/847/15 531/860/64 532/865/15 +f 536/867/16 527/853/60 535/862/60 +f 525/838/59 532/868/15 533/870/59 +f 522/825/17 529/872/66 530/858/17 +f 521/827/66 536/867/16 529/872/66 +f 544/875/60 545/876/16 537/877/16 +f 550/878/59 543/879/18 542/880/59 +f 548/881/64 541/882/15 540/883/64 +f 546/884/66 539/885/17 538/886/66 +f 543/879/18 552/887/60 544/875/60 +f 549/888/15 542/880/59 541/889/15 +f 539/885/17 548/881/64 540/883/64 +f 537/877/16 546/884/66 538/886/66 +f 537/877/48 560/890/89 544/875/89 +f 543/879/13 558/891/90 542/880/90 +f 557/892/56 540/883/91 541/882/56 +f 555/893/11 538/886/92 539/885/11 +f 544/875/89 559/894/13 543/879/13 +f 558/895/90 541/889/56 542/880/90 +f 540/883/91 555/896/11 539/885/11 +f 554/897/92 537/877/48 538/886/92 +f 562/898/93 547/899/94 546/884/93 +f 567/900/95 552/887/96 551/901/95 +f 565/902/97 550/878/98 549/888/97 +f 547/899/94 564/903/99 548/881/99 +f 545/876/100 562/904/93 546/884/93 +f 568/905/96 545/876/100 552/887/96 +f 550/878/98 567/906/95 551/901/95 +f 564/907/99 549/908/97 548/881/99 +f 563/909/17 572/910/64 564/903/64 +f 569/911/16 562/904/66 561/912/16 +f 576/913/60 561/914/16 568/905/60 +f 566/915/59 575/916/18 567/906/18 +f 564/907/64 573/917/15 565/918/15 +f 570/919/66 563/920/17 562/898/66 +f 575/921/18 568/922/60 567/900/18 +f 565/902/15 574/923/59 566/924/59 +f 78/349/21 77/376/21 75/350/22 +f 89/119/23 101/83/23 100/85/24 +f 71/352/25 72/925/25 70/353/26 +f 82/104/27 94/80/27 93/82/11 +f 35/355/28 37/361/29 38/356/29 +f 34/358/30 40/926/31 39/359/31 +f 39/359/31 40/926/31 38/356/29 +f 66/362/32 72/925/25 71/352/25 +f 92/100/33 104/77/33 103/79/34 +f 67/364/35 69/354/26 70/353/26 +f 85/110/36 97/74/36 96/76/14 +f 62/366/37 61/372/37 59/367/38 +f 63/369/39 64/927/39 58/370/40 +f 62/366/37 64/927/39 63/369/39 +f 79/373/41 80/928/41 74/374/42 +f 78/349/21 80/928/41 79/373/41 +f 86/112/43 98/86/43 97/74/36 +f 81/102/11 93/82/11 104/77/33 +f 83/106/44 95/90/44 94/80/27 +f 90/121/13 102/97/13 101/83/23 +f 87/114/12 99/94/12 98/86/43 +f 84/108/14 96/76/14 95/90/44 +f 91/123/34 103/79/34 102/97/13 +f 88/117/24 100/85/24 99/71/12 +f 109/205/34 121/929/34 120/377/13 +f 116/206/43 128/930/43 127/378/36 +f 106/207/24 118/931/24 117/379/12 +f 113/208/44 125/932/44 124/380/27 +f 110/209/33 122/933/33 121/381/34 +f 105/88/12 117/934/12 128/382/43 +f 107/210/23 119/935/23 118/383/24 +f 114/92/14 126/936/14 125/384/44 +f 111/211/11 123/937/11 122/385/33 +f 108/212/13 120/938/13 119/386/23 +f 115/98/36 127/939/36 126/387/14 +f 112/72/27 124/940/27 123/388/11 +f 154/389/45 138/416/45 137/390/46 +f 153/391/46 137/413/46 144/392/47 +f 136/394/16 135/941/48 143/395/48 +f 135/397/48 134/942/19 142/398/19 +f 142/400/49 141/419/50 157/401/50 +f 141/403/50 140/421/51 156/404/51 +f 139/405/52 131/943/52 130/406/20 +f 132/408/15 131/944/52 139/409/52 +f 156/411/51 140/410/51 139/409/53 +f 155/412/53 139/405/53 138/407/45 +f 137/413/54 129/945/54 136/414/16 +f 130/415/20 129/946/54 137/390/54 +f 160/393/47 144/396/47 143/395/55 +f 134/418/19 133/947/56 141/419/56 +f 141/403/56 133/948/56 132/420/15 +f 162/422/12 146/949/12 147/423/57 +f 150/425/13 151/950/58 167/426/58 +f 147/428/57 148/951/59 164/429/59 +f 151/430/58 152/952/60 168/431/60 +f 159/417/55 143/399/55 142/398/49 +f 164/432/59 148/953/59 149/433/61 +f 145/435/62 146/954/12 162/422/12 +f 149/437/61 150/955/13 166/427/13 +f 166/427/19 158/402/19 157/401/56 +f 168/431/60 152/956/60 145/438/62 +f 155/412/52 154/389/20 162/422/20 +f 167/426/48 159/417/48 158/402/19 +f 164/429/15 156/411/15 155/412/52 +f 160/393/16 159/417/48 167/426/48 +f 165/434/56 157/401/56 156/404/15 +f 154/389/20 153/391/54 161/436/54 +f 153/391/54 160/393/16 168/431/16 +f 187/439/14 186/957/63 170/440/63 +f 189/442/64 188/958/65 172/443/65 +f 185/445/66 192/959/67 176/446/67 +f 169/447/16 177/474/16 178/448/54 +f 186/449/63 185/960/66 169/447/66 +f 188/450/65 187/961/14 171/441/14 +f 178/448/54 179/460/20 171/441/20 +f 175/451/19 183/463/19 184/452/48 +f 174/453/68 190/962/68 189/454/64 +f 192/456/67 191/963/11 175/451/11 +f 182/457/56 183/463/19 175/451/19 +f 172/443/52 180/461/52 181/458/15 +f 194/459/69 195/484/70 179/460/70 +f 171/441/20 179/460/20 180/461/52 +f 173/455/15 181/481/15 182/457/56 +f 184/452/48 177/474/16 169/447/16 +f 182/457/71 198/479/71 199/462/72 +f 175/451/11 191/964/11 190/464/68 +f 199/465/19 207/965/19 208/466/48 +f 195/468/20 203/966/20 204/469/52 +f 208/471/48 201/967/16 193/472/16 +f 177/474/73 193/488/73 194/475/69 +f 196/476/52 204/968/52 205/477/15 +f 198/479/56 206/969/56 207/480/19 +f 181/481/74 197/485/74 198/482/71 +f 200/473/75 193/472/73 177/474/73 +f 202/483/54 203/970/20 195/484/20 +f 196/476/76 197/478/74 181/458/74 +f 197/485/15 205/971/15 206/486/56 +f 201/487/16 202/972/54 194/475/54 +f 179/460/70 195/468/70 196/470/76 +f 199/465/72 200/467/75 184/452/75 +f 218/489/77 217/516/78 233/490/78 +f 217/492/78 224/514/79 240/493/79 +f 216/494/16 215/973/60 223/495/60 +f 223/497/60 215/974/60 214/498/18 +f 238/500/80 222/518/80 221/501/81 +f 221/503/81 220/521/82 236/504/82 +f 219/505/64 211/975/64 210/506/17 +f 220/508/15 212/976/15 211/509/64 +f 236/511/82 220/508/82 219/510/83 +f 219/505/83 218/507/77 234/491/77 +f 209/513/66 216/977/16 224/514/16 +f 210/515/17 209/978/66 217/516/66 +f 240/493/79 224/496/79 223/495/84 +f 222/518/18 214/979/18 213/519/59 +f 221/503/59 213/980/59 212/520/15 +f 242/522/14 226/981/14 227/523/85 +f 230/525/12 231/982/86 247/526/86 +f 243/524/85 227/983/85 228/528/52 +f 247/526/86 231/984/86 232/530/54 +f 223/497/84 222/499/80 238/500/80 +f 244/532/52 228/985/52 229/533/87 +f 225/535/88 226/986/14 242/522/14 +f 229/537/87 230/987/12 246/527/12 +f 246/527/18 238/500/18 237/502/59 +f 232/538/54 225/988/88 241/536/88 +f 235/512/64 234/491/17 242/522/17 +f 239/517/60 238/500/18 246/527/18 +f 244/529/15 236/511/15 235/512/64 +f 248/531/16 240/493/16 239/517/60 +f 237/502/59 236/504/15 244/532/15 +f 234/491/17 233/490/66 241/536/66 +f 233/490/66 240/493/16 248/531/16 +f 264/539/60 257/567/16 249/540/16 +f 254/542/59 262/552/59 263/543/18 +f 260/545/64 261/572/15 253/546/15 +f 258/548/66 259/562/17 251/549/17 +f 255/544/18 263/543/18 264/539/60 +f 253/551/15 261/564/15 262/552/59 +f 251/549/17 259/562/17 260/545/64 +f 249/540/16 257/567/16 258/548/66 +f 249/540/48 265/989/48 272/553/89 +f 255/544/13 271/990/13 270/554/90 +f 253/546/56 269/991/56 268/555/91 +f 267/556/11 266/992/92 250/550/92 +f 272/557/89 271/993/13 255/544/13 +f 254/542/90 270/994/90 269/558/56 +f 252/547/91 268/995/91 267/559/11 +f 266/560/92 265/996/48 249/540/48 +f 274/561/93 275/584/94 259/562/94 +f 279/563/95 280/586/96 264/539/96 +f 261/564/97 277/588/97 278/565/98 +f 259/562/94 275/573/94 276/566/99 +f 257/567/100 273/576/100 274/568/93 +f 264/539/96 280/578/96 273/569/100 +f 262/552/98 278/580/98 279/570/95 +f 276/571/99 277/582/97 261/572/97 +f 275/573/17 283/997/17 284/574/64 +f 281/575/16 282/998/66 274/568/66 +f 288/577/60 281/999/16 273/569/16 +f 286/579/59 287/1000/18 279/570/18 +f 284/581/64 285/1001/15 277/582/15 +f 282/583/66 283/1002/17 275/584/17 +f 287/585/18 288/1003/60 280/586/60 +f 285/587/15 286/1004/59 278/565/59 +f 292/589/59 300/600/59 299/590/18 +f 296/592/66 304/605/66 303/593/17 +f 290/595/60 291/591/18 299/590/18 +f 289/597/16 290/595/60 298/596/60 +f 293/599/15 301/602/15 300/600/59 +f 293/599/15 294/603/64 302/601/64 +f 294/603/64 295/594/17 303/593/17 +f 289/604/16 297/1005/16 304/605/66 +f 305/606/16 313/1006/16 320/607/54 +f 310/609/52 318/620/52 317/610/15 +f 306/612/48 307/622/19 315/613/19 +f 309/611/15 317/610/15 316/615/56 +f 306/612/48 314/614/48 313/617/16 +f 311/619/20 319/621/20 318/620/52 +f 311/619/20 312/608/54 320/607/54 +f 308/616/56 316/615/56 315/613/19 +f 321/623/16 329/1007/16 336/624/101 +f 327/626/13 335/635/13 334/627/102 +f 325/629/15 333/636/15 332/630/103 +f 323/632/14 331/637/14 330/633/104 +f 328/625/101 336/624/101 335/635/13 +f 326/628/102 334/627/102 333/636/15 +f 324/631/103 332/630/103 331/637/14 +f 322/634/104 330/633/104 329/638/16 +f 347/640/56 339/646/56 340/641/15 +f 348/642/15 340/641/15 341/643/52 +f 346/645/19 338/648/19 339/646/56 +f 345/647/48 337/656/48 338/648/19 +f 350/649/20 342/654/20 343/650/54 +f 352/652/16 351/651/54 343/650/54 +f 350/649/20 349/644/52 341/643/52 +f 345/647/48 352/1008/16 344/655/16 +f 368/657/16 360/1009/16 353/658/60 +f 366/660/17 365/669/64 357/661/64 +f 368/663/16 367/672/66 359/664/66 +f 362/666/18 361/659/60 353/658/60 +f 364/668/15 356/671/15 357/661/64 +f 364/668/15 363/673/59 355/670/59 +f 367/672/66 366/660/17 358/662/17 +f 362/666/18 354/667/18 355/670/59 +f 369/674/16 377/1010/16 384/675/105 +f 373/677/15 374/688/106 382/678/106 +f 371/680/12 379/690/12 378/681/107 +f 373/677/15 381/679/15 380/683/108 +f 369/685/16 370/682/107 378/681/107 +f 375/687/11 383/689/11 382/678/106 +f 376/676/105 384/675/105 383/689/11 +f 372/684/108 380/683/108 379/690/12 +f 400/691/16 392/1011/16 385/692/107 +f 397/694/106 389/703/106 390/695/11 +f 399/697/105 391/706/105 392/698/16 +f 393/693/107 385/692/107 386/700/12 +f 396/702/15 388/705/15 389/703/106 +f 395/704/108 387/707/108 388/705/15 +f 398/696/11 390/695/11 391/706/105 +f 394/701/12 386/700/12 387/707/108 +f 416/708/16 408/1012/16 401/709/104 +f 413/711/102 405/720/102 406/712/13 +f 415/714/101 407/723/101 408/715/16 +f 409/710/104 401/709/104 402/717/14 +f 412/719/15 404/722/15 405/720/102 +f 411/721/103 403/724/103 404/722/15 +f 414/713/13 406/712/13 407/723/101 +f 410/718/14 402/717/14 403/724/103 +f 426/725/45 425/752/46 441/726/46 +f 425/728/46 432/750/47 448/729/47 +f 424/730/16 423/1013/48 431/731/48 +f 423/733/48 422/1014/19 430/734/19 +f 430/736/49 429/755/50 445/737/50 +f 429/739/50 428/757/51 444/740/51 +f 427/741/52 419/1015/52 418/742/20 +f 420/744/15 419/1016/52 427/745/52 +f 444/747/51 428/746/51 427/745/53 +f 443/748/53 427/741/53 426/743/45 +f 425/728/54 417/1017/54 424/749/16 +f 418/751/20 417/1018/54 425/752/54 +f 448/729/47 432/732/47 431/731/55 +f 430/736/19 422/1019/19 421/754/56 +f 421/756/56 420/1020/15 428/757/15 +f 450/758/12 434/1021/12 435/759/57 +f 438/761/13 439/1022/58 455/762/58 +f 435/764/57 436/1023/59 452/765/59 +f 455/762/58 439/1024/58 440/766/60 +f 447/753/55 431/735/55 430/734/49 +f 452/768/59 436/1025/59 437/769/61 +f 433/771/62 434/1026/12 450/758/12 +f 453/770/61 437/1027/61 438/773/13 +f 454/763/19 446/738/19 445/737/56 +f 456/767/60 440/1028/60 433/774/62 +f 443/748/52 442/727/20 450/758/20 +f 455/762/48 447/753/48 446/738/19 +f 452/765/15 444/747/15 443/748/52 +f 448/729/16 447/753/48 455/762/48 +f 445/737/56 444/740/15 452/768/15 +f 450/758/20 442/727/20 441/726/54 +f 441/726/54 448/729/16 456/767/16 +f 459/775/14 475/1029/14 474/776/63 +f 477/778/64 476/1030/65 460/779/65 +f 457/781/66 473/1031/66 480/782/67 +f 457/781/16 465/810/16 466/784/54 +f 474/785/63 473/1032/66 457/781/66 +f 476/786/65 475/1033/14 459/775/14 +f 466/784/54 467/796/20 459/775/20 +f 471/787/19 472/797/48 464/783/48 +f 462/789/68 478/1034/68 477/790/64 +f 480/792/67 479/1035/11 463/788/11 +f 470/793/56 471/787/19 463/788/19 +f 468/794/52 469/820/15 461/780/15 +f 482/795/69 483/819/70 467/796/70 +f 459/775/20 467/796/20 468/794/52 +f 461/791/15 469/817/15 470/793/56 +f 472/797/48 465/810/16 457/781/16 +f 470/793/71 486/814/71 487/798/72 +f 463/788/11 479/1036/11 478/799/68 +f 495/800/19 496/1037/48 488/801/48 +f 483/803/20 491/1038/20 492/804/52 +f 496/806/48 489/1039/16 481/807/16 +f 481/809/73 482/824/69 466/784/69 +f 484/811/52 492/1040/52 493/812/15 +f 486/814/56 494/1041/56 495/815/19 +f 485/816/74 486/822/71 470/793/71 +f 472/797/75 488/808/75 481/807/73 +f 490/818/54 491/1042/20 483/819/20 +f 484/811/76 485/813/74 469/820/74 +f 493/821/15 494/1043/56 486/822/56 +f 489/823/16 490/1044/54 482/824/54 +f 467/796/70 483/803/70 484/805/76 +f 487/802/72 488/801/75 472/797/75 +f 522/825/77 506/852/77 505/826/78 +f 505/828/78 512/850/79 528/829/79 +f 504/830/16 503/1045/60 511/831/60 +f 503/833/60 502/1046/18 510/834/18 +f 526/836/80 510/854/80 509/837/81 +f 509/839/81 508/857/82 524/840/82 +f 507/841/64 499/1047/64 498/842/17 +f 508/844/15 500/1048/15 499/845/64 +f 524/847/82 508/844/82 507/846/83 +f 507/841/83 506/843/77 522/825/77 +f 497/849/66 504/1049/16 512/850/16 +f 498/851/17 497/1050/66 505/826/66 +f 528/829/79 512/832/79 511/831/84 +f 510/854/18 502/1051/18 501/855/59 +f 501/856/59 500/1052/15 508/857/15 +f 530/858/14 514/1053/14 515/859/85 +f 518/861/12 519/1054/86 535/862/86 +f 531/860/85 515/1055/85 516/864/52 +f 535/862/86 519/1056/86 520/866/54 +f 511/835/84 510/834/80 526/836/80 +f 532/868/52 516/1057/52 517/869/87 +f 513/871/88 514/1058/14 530/858/14 +f 517/873/87 518/1059/12 534/863/12 +f 534/863/18 526/836/18 525/838/59 +f 536/867/54 520/1060/54 513/874/88 +f 523/848/64 522/825/17 530/858/17 +f 527/853/60 526/836/18 534/863/18 +f 524/847/15 523/848/64 531/860/64 +f 536/867/16 528/829/16 527/853/60 +f 525/838/59 524/840/15 532/868/15 +f 522/825/17 521/827/66 529/872/66 +f 521/827/66 528/829/16 536/867/16 +f 544/875/60 552/887/60 545/876/16 +f 550/878/59 551/901/18 543/879/18 +f 548/881/64 549/908/15 541/882/15 +f 546/884/66 547/899/17 539/885/17 +f 543/879/18 551/901/18 552/887/60 +f 549/888/15 550/878/59 542/880/59 +f 539/885/17 547/899/17 548/881/64 +f 537/877/16 545/876/16 546/884/66 +f 537/877/48 553/1061/48 560/890/89 +f 543/879/13 559/1062/13 558/891/90 +f 557/892/56 556/1063/91 540/883/91 +f 555/893/11 554/1064/92 538/886/92 +f 544/875/89 560/1065/89 559/894/13 +f 558/895/90 557/1066/56 541/889/56 +f 540/883/91 556/1067/91 555/896/11 +f 554/897/92 553/1068/48 537/877/48 +f 562/898/93 563/920/94 547/899/94 +f 567/900/95 568/922/96 552/887/96 +f 565/902/97 566/924/98 550/878/98 +f 547/899/94 563/909/94 564/903/99 +f 545/876/100 561/912/100 562/904/93 +f 568/905/96 561/914/100 545/876/100 +f 550/878/98 566/915/98 567/906/95 +f 564/907/99 565/918/97 549/908/97 +f 563/909/17 571/1069/17 572/910/64 +f 569/911/16 570/1070/66 562/904/66 +f 576/913/60 569/1071/16 561/914/16 +f 566/915/59 574/1072/59 575/916/18 +f 564/907/64 572/1073/64 573/917/15 +f 570/919/66 571/1074/17 563/920/17 +f 575/921/18 576/1075/60 568/922/60 +f 565/902/15 573/1076/15 574/923/59 +o Cog +v 0.000000 -0.625000 1.125000 +v -0.382684 -0.701121 1.125000 +v -0.707107 -0.917893 1.125000 +v -0.923880 -1.242317 1.125000 +v -1.000000 -1.625000 1.125000 +v -0.923880 -2.007684 1.125000 +v -0.707107 -2.332107 1.125000 +v -0.382684 -2.548880 1.125000 +v 0.000000 -2.625000 1.125000 +v 0.382683 -2.548880 1.125000 +v 0.707107 -2.332107 1.125000 +v 0.923880 -2.007684 1.125000 +v 1.000000 -1.625000 1.125000 +v 0.923880 -1.242317 1.125000 +v 0.707107 -0.917893 1.125000 +v 0.382683 -0.701120 1.125000 +v 0.382683 -0.701120 1.875000 +v 0.707107 -0.917893 1.875000 +v 0.923880 -1.242317 1.875000 +v 1.000000 -1.625000 1.875000 +v 0.923880 -2.007684 1.875000 +v 0.707107 -2.332107 1.875000 +v 0.382683 -2.548880 1.875000 +v 0.000000 -2.625000 1.875000 +v -0.382684 -2.548880 1.875000 +v -0.707107 -2.332107 1.875000 +v -0.923880 -2.007684 1.875000 +v -1.000000 -1.625000 1.875000 +v -0.923880 -1.242317 1.875000 +v -0.707107 -0.917893 1.875000 +v 0.000000 -0.625000 1.875000 +v -0.382684 -0.701121 1.875000 +v -0.239177 -0.422575 1.125000 +v -0.681119 -0.605634 1.125000 +v -1.019367 -0.943882 1.125000 +v -1.202425 -1.385823 1.125000 +v -1.202425 -1.864177 1.125000 +v -1.019367 -2.306119 1.125000 +v -0.681119 -2.644367 1.125000 +v -0.239177 -2.827425 1.125000 +v 0.239177 -2.827425 1.125000 +v 0.681118 -2.644367 1.125000 +v 1.019366 -2.306119 1.125000 +v 1.202425 -1.864177 1.125000 +v 1.202425 -1.385823 1.125000 +v 1.019366 -0.943881 1.125000 +v 0.681118 -0.605634 1.125000 +v 0.239177 -0.422575 1.125000 +v 0.239177 -0.422575 1.875000 +v -0.239177 -0.422575 1.875000 +v -0.681119 -0.605634 1.875000 +v -1.019367 -0.943882 1.875000 +v -1.202425 -1.385823 1.875000 +v -1.202425 -1.864177 1.875000 +v -1.019367 -2.306119 1.875000 +v -0.681119 -2.644367 1.875000 +v -0.239177 -2.827425 1.875000 +v 0.239177 -2.827425 1.875000 +v 0.681118 -2.644367 1.875000 +v 1.019366 -2.306119 1.875000 +v 1.202425 -1.864177 1.875000 +v 1.202425 -1.385823 1.875000 +v 1.019366 -0.943881 1.875000 +v 0.681118 -0.605634 1.875000 +vt 0.460000 0.471014 +vt 0.474286 0.471014 +vt 0.460000 0.507246 +vt 0.460000 0.471014 +vt 0.474286 0.471014 +vt 0.460000 0.507246 +vt 0.460000 0.471014 +vt 0.474286 0.471014 +vt 0.460000 0.507246 +vt 0.460000 0.471014 +vt 0.474286 0.471014 +vt 0.460000 0.507246 +vt 0.460000 0.471014 +vt 0.474286 0.471014 +vt 0.460000 0.507246 +vt 0.460000 0.471014 +vt 0.474286 0.471014 +vt 0.460000 0.507246 +vt 0.460000 0.471014 +vt 0.474286 0.471014 +vt 0.460000 0.507246 +vt 0.460000 0.471014 +vt 0.474286 0.471014 +vt 0.460000 0.507246 +vt 0.460000 0.471014 +vt 0.474286 0.471014 +vt 0.460000 0.507246 +vt 0.460000 0.471014 +vt 0.474286 0.471014 +vt 0.460000 0.507246 +vt 0.460000 0.471014 +vt 0.474286 0.471014 +vt 0.460000 0.507246 +vt 0.460000 0.471014 +vt 0.474286 0.471014 +vt 0.460000 0.507246 +vt 0.460000 0.471014 +vt 0.474286 0.471014 +vt 0.460000 0.507246 +vt 0.474286 0.471014 +vt 0.460000 0.507246 +vt 0.460000 0.471014 +vt 0.474286 0.471014 +vt 0.460000 0.507246 +vt 0.460000 0.471014 +vt 0.474286 0.471014 +vt 0.460000 0.507246 +vt 0.460000 0.471014 +vt 0.425714 0.471014 +vt 0.425714 0.507246 +vt 0.411429 0.471014 +vt 0.425714 0.471014 +vt 0.425714 0.507246 +vt 0.411429 0.471014 +vt 0.425714 0.471014 +vt 0.425714 0.507246 +vt 0.411429 0.471014 +vt 0.425714 0.471014 +vt 0.425714 0.507246 +vt 0.411429 0.471014 +vt 0.425714 0.471014 +vt 0.425714 0.507246 +vt 0.411429 0.471014 +vt 0.425714 0.471014 +vt 0.425714 0.507246 +vt 0.411429 0.471014 +vt 0.425714 0.471014 +vt 0.425714 0.507246 +vt 0.411429 0.471014 +vt 0.425714 0.471014 +vt 0.425714 0.507246 +vt 0.411429 0.471014 +vt 0.425714 0.471014 +vt 0.425714 0.507246 +vt 0.411429 0.471014 +vt 0.425714 0.471014 +vt 0.425714 0.507246 +vt 0.411429 0.471014 +vt 0.425714 0.471014 +vt 0.425714 0.507246 +vt 0.411429 0.471014 +vt 0.425714 0.471014 +vt 0.425714 0.507246 +vt 0.411429 0.471014 +vt 0.425714 0.471014 +vt 0.425714 0.507246 +vt 0.411429 0.471014 +vt 0.411429 0.471014 +vt 0.425714 0.471014 +vt 0.425714 0.507246 +vt 0.411429 0.471014 +vt 0.425714 0.471014 +vt 0.425714 0.507246 +vt 0.411429 0.471014 +vt 0.425714 0.471014 +vt 0.425714 0.507246 +vt 0.425714 0.434783 +vt 0.460000 0.434783 +vt 0.460000 0.434783 +vt 0.425714 0.434783 +vt 0.460000 0.434783 +vt 0.460000 0.434783 +vt 0.460000 0.434783 +vt 0.425714 0.434783 +vt 0.460000 0.434783 +vt 0.460000 0.434783 +vt 0.425714 0.434783 +vt 0.460000 0.434783 +vt 0.425714 0.434783 +vt 0.460000 0.434783 +vt 0.460000 0.434783 +vt 0.425714 0.434783 +vt 0.460000 0.434783 +vt 0.425714 0.434783 +vt 0.460000 0.434783 +vt 0.460000 0.434783 +vt 0.460000 0.434783 +vt 0.460000 0.434783 +vt 0.013596 0.733632 +vt 0.013597 0.570716 +vt 0.077832 0.570716 +vt 0.460000 0.434783 +vt 0.063096 0.990488 +vt 0.003750 0.928143 +vt 0.028332 0.777628 +vt 0.425714 0.434783 +vt 0.425714 0.434783 +vt 0.425714 0.434783 +vt 0.425714 0.434783 +vt 0.425714 0.434783 +vt 0.425714 0.434783 +vt 0.425714 0.434783 +vt 0.425714 0.434783 +vt 0.077832 0.733632 +vt 0.063096 0.758604 +vt 0.045714 0.767373 +vt 0.028332 0.758604 +vt 0.003750 0.696259 +vt 0.000293 0.652174 +vt 0.003750 0.608089 +vt 0.028332 0.545744 +vt 0.045714 0.536975 +vt 0.063096 0.545744 +vt 0.087678 0.608089 +vt 0.091136 0.652174 +vt 0.087678 0.696259 +vt 0.425714 0.434783 +vt 0.045714 0.999257 +vt 0.028332 0.990488 +vt 0.013596 0.965516 +vt 0.000293 0.884058 +vt 0.003750 0.839973 +vt 0.013597 0.802600 +vt 0.045714 0.768859 +vt 0.063096 0.777628 +vt 0.077832 0.802600 +vt 0.087678 0.839973 +vt 0.091136 0.884058 +vt 0.087678 0.928143 +vt 0.077832 0.965516 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0829 -0.9966 0.0000 +vn -0.7633 0.6460 0.0000 +vn 0.7633 0.6460 0.0000 +vn -0.4580 -0.8890 0.0000 +vn 0.4580 -0.8890 0.0000 +vn -0.9524 0.3047 0.0000 +vn 0.4580 0.8890 0.0000 +vn -0.0829 -0.9966 0.0000 +vn 0.8890 0.4580 0.0000 +vn 0.7633 -0.6460 0.0000 +vn -0.9966 -0.0829 0.0000 +vn -0.6460 0.7633 0.0000 +vn 0.0829 0.9966 0.0000 +vn 0.3047 -0.9524 0.0000 +vn 0.6460 0.7633 0.0000 +vn 0.9524 -0.3047 0.0000 +vn -0.8890 -0.4580 0.0000 +vn -0.8890 0.4580 0.0000 +vn -0.3047 0.9524 0.0000 +vn 0.6460 -0.7633 0.0000 +vn 0.3047 0.9524 0.0000 +vn 0.9966 0.0829 0.0000 +vn -0.6460 -0.7633 0.0000 +vn -0.9966 0.0829 0.0000 +vn 0.8890 -0.4580 0.0000 +vn -0.0829 0.9966 0.0000 +vn -0.3047 -0.9524 0.0000 +vn -0.9524 -0.3047 0.0000 +vn 0.9966 -0.0829 0.0000 +vn -0.4580 0.8890 0.0000 +vn 0.9524 0.3047 0.0000 +vn -0.7633 -0.6460 0.0000 +s off +f 611/1077/109 579/1078/109 580/1079/109 +f 612/1080/109 580/1081/109 581/1082/109 +f 613/1083/109 581/1084/109 582/1085/109 +f 614/1086/109 582/1087/109 583/1088/109 +f 615/1089/109 583/1090/109 584/1091/109 +f 616/1092/109 584/1093/109 585/1094/109 +f 617/1095/109 585/1096/109 586/1097/109 +f 618/1098/109 586/1099/109 587/1100/109 +f 619/1101/109 587/1102/109 588/1103/109 +f 620/1104/109 588/1105/109 589/1106/109 +f 621/1107/109 589/1108/109 590/1109/109 +f 622/1110/109 590/1111/109 591/1112/109 +f 623/1113/109 591/1114/109 592/1115/109 +f 592/1116/109 577/1117/109 624/1118/109 +f 577/1119/109 578/1120/109 609/1121/109 +f 578/1122/109 579/1123/109 610/1124/109 +f 628/1125/110 605/1126/110 606/1127/110 +f 629/1128/110 604/1129/110 605/1130/110 +f 630/1131/110 603/1132/110 604/1133/110 +f 631/1134/110 602/1135/110 603/1136/110 +f 632/1137/110 601/1138/110 602/1139/110 +f 633/1140/110 600/1141/110 601/1142/110 +f 634/1143/110 599/1144/110 600/1145/110 +f 635/1146/110 598/1147/110 599/1148/110 +f 636/1149/110 597/1150/110 598/1151/110 +f 637/1152/110 596/1153/110 597/1154/110 +f 638/1155/110 595/1156/110 596/1157/110 +f 639/1158/110 594/1159/110 595/1160/110 +f 640/1161/110 593/1162/110 594/1163/110 +f 593/1164/110 625/1165/110 607/1166/110 +f 607/1167/110 626/1168/110 608/1169/110 +f 608/1170/110 627/1171/110 606/1172/110 +f 619/1101/111 598/1173/111 587/1174/111 +f 630/1131/112 581/1175/112 613/1083/112 +f 589/1106/113 637/1152/113 620/1104/113 +f 603/1132/114 613/1083/114 582/1085/114 +f 620/1104/115 597/1176/115 588/1177/115 +f 631/1134/116 582/1178/116 614/1086/116 +f 590/1109/117 638/1155/117 621/1107/117 +f 602/1135/118 614/1086/118 583/1088/118 +f 625/1165/119 592/1179/119 624/1118/119 +f 621/1107/120 596/1180/120 589/1181/120 +f 632/1137/121 583/1182/121 615/1089/121 +f 607/1166/122 624/1118/122 577/1117/122 +f 591/1112/123 639/1158/123 622/1110/123 +f 601/1138/124 615/1089/124 584/1091/124 +f 609/1121/125 607/1183/125 577/1184/125 +f 622/1110/126 595/1185/126 590/1186/126 +f 633/1140/127 584/1187/127 616/1092/127 +f 578/1120/128 626/1168/128 609/1121/128 +f 592/1115/129 640/1161/129 623/1113/129 +f 600/1141/130 616/1092/130 585/1094/130 +f 610/1124/131 608/1188/131 578/1189/131 +f 623/1113/132 594/1190/132 591/1191/132 +f 634/1143/133 585/1192/133 617/1095/133 +f 579/1123/134 627/1171/134 610/1124/134 +f 599/1144/135 617/1095/135 586/1097/135 +f 628/1125/136 579/1193/136 611/1077/136 +f 635/1146/137 586/1194/137 618/1098/137 +f 605/1126/138 611/1077/138 580/1079/138 +f 598/1147/139 618/1098/139 587/1100/139 +f 591/1195/109 587/1196/109 583/1197/109 +f 629/1128/140 580/1198/140 612/1080/140 +f 588/1103/141 636/1149/141 619/1101/141 +f 593/1199/110 605/1200/110 601/1201/110 +f 604/1129/142 612/1080/142 581/1082/142 +f 619/1101/111 636/1149/111 598/1173/111 +f 630/1131/112 604/1202/112 581/1175/112 +f 589/1106/113 596/1153/113 637/1152/113 +f 603/1132/114 630/1131/114 613/1083/114 +f 620/1104/115 637/1152/115 597/1176/115 +f 631/1134/116 603/1203/116 582/1178/116 +f 590/1109/117 595/1156/117 638/1155/117 +f 602/1135/118 631/1134/118 614/1086/118 +f 625/1165/119 593/1204/119 592/1179/119 +f 621/1107/120 638/1155/120 596/1180/120 +f 632/1137/121 602/1205/121 583/1182/121 +f 607/1166/122 625/1165/122 624/1118/122 +f 591/1112/123 594/1159/123 639/1158/123 +f 601/1138/124 632/1137/124 615/1089/124 +f 609/1121/125 626/1168/125 607/1183/125 +f 622/1110/126 639/1158/126 595/1185/126 +f 633/1140/127 601/1206/127 584/1187/127 +f 578/1120/128 608/1169/128 626/1168/128 +f 592/1115/129 593/1162/129 640/1161/129 +f 600/1141/130 633/1140/130 616/1092/130 +f 610/1124/131 627/1171/131 608/1188/131 +f 623/1113/132 640/1161/132 594/1190/132 +f 634/1143/133 600/1207/133 585/1192/133 +f 579/1123/134 606/1172/134 627/1171/134 +f 599/1144/135 634/1143/135 617/1095/135 +f 628/1125/136 606/1208/136 579/1193/136 +f 635/1146/137 599/1209/137 586/1194/137 +f 605/1126/138 628/1125/138 611/1077/138 +f 598/1147/139 635/1146/139 618/1098/139 +f 579/1210/109 578/1211/109 591/1195/109 +f 578/1211/109 577/1212/109 591/1195/109 +f 577/1212/109 592/1213/109 591/1195/109 +f 591/1195/109 590/1214/109 589/1215/109 +f 589/1215/109 588/1216/109 587/1196/109 +f 587/1196/109 586/1217/109 583/1197/109 +f 586/1217/109 585/1218/109 583/1197/109 +f 585/1218/109 584/1219/109 583/1197/109 +f 583/1197/109 582/1220/109 581/1221/109 +f 581/1221/109 580/1222/109 579/1210/109 +f 591/1195/109 589/1215/109 587/1196/109 +f 583/1197/109 581/1221/109 579/1210/109 +f 579/1210/109 591/1195/109 583/1197/109 +f 629/1128/140 605/1223/140 580/1198/140 +f 588/1103/141 597/1150/141 636/1149/141 +f 593/1199/110 607/1224/110 608/1225/110 +f 608/1225/110 606/1226/110 593/1199/110 +f 606/1226/110 605/1200/110 593/1199/110 +f 605/1200/110 604/1227/110 603/1228/110 +f 603/1228/110 602/1229/110 605/1200/110 +f 602/1229/110 601/1201/110 605/1200/110 +f 601/1201/110 600/1230/110 599/1231/110 +f 599/1231/110 598/1232/110 597/1233/110 +f 597/1233/110 596/1234/110 595/1235/110 +f 595/1235/110 594/1236/110 597/1233/110 +f 594/1236/110 593/1199/110 597/1233/110 +f 601/1201/110 599/1231/110 593/1199/110 +f 599/1231/110 597/1233/110 593/1199/110 +f 604/1129/142 629/1128/142 612/1080/142 +o Gun +v 0.000000 0.625000 -2.000000 +v -0.312500 0.541266 -2.000000 +v -0.541266 0.312500 -2.000000 +v -0.625000 0.000000 -2.000000 +v -0.541266 -0.312500 -2.000000 +v -0.312500 -0.541266 -2.000000 +v 0.000000 -0.625000 -2.000000 +v 0.312500 -0.541266 -2.000000 +v 0.541265 -0.312500 -2.000000 +v 0.625000 -0.000000 -2.000000 +v 0.541266 0.312500 -2.000000 +v 0.312500 0.541266 -2.000000 +v 0.000000 0.625000 -5.625000 +v -0.312500 0.541266 -5.625000 +v -0.541266 0.312500 -5.625000 +v -0.625000 0.000000 -5.625000 +v -0.541266 -0.312500 -5.625000 +v -0.312500 -0.541266 -5.625000 +v 0.000000 -0.625000 -5.625000 +v 0.312500 -0.541266 -5.625000 +v 0.541265 -0.312500 -5.625000 +v 0.625000 -0.000000 -5.625000 +v 0.541266 0.312500 -5.625000 +v 0.312500 0.541266 -5.625000 +v -0.750000 -1.250000 3.000000 +v 0.750000 -1.250000 3.000000 +v -0.750000 -1.250000 -2.000000 +v 0.750000 -1.250000 -2.000000 +v -0.750000 0.375000 -2.000000 +v -0.750000 0.375000 3.000000 +v 0.750000 0.375000 3.000000 +v 0.750000 0.375000 -2.000000 +v -0.250000 0.750000 -2.000000 +v -0.250000 0.750000 3.000000 +v 0.250000 0.750000 3.000000 +v 0.250000 0.750000 -2.000000 +v 0.000000 0.750000 -5.625000 +v -0.375000 0.649519 -5.625000 +v -0.649519 0.375000 -5.625000 +v -0.750000 0.000000 -5.625000 +v -0.649519 -0.375000 -5.625000 +v -0.375000 -0.649519 -5.625000 +v 0.000000 -0.750000 -5.625000 +v 0.375000 -0.649519 -5.625000 +v 0.649519 -0.375000 -5.625000 +v 0.750000 -0.000000 -5.625000 +v 0.649519 0.375000 -5.625000 +v 0.375000 0.649519 -5.625000 +v 0.000000 0.750000 -6.000000 +v -0.375000 0.649519 -6.000000 +v -0.649519 0.375000 -6.000000 +v -0.750000 0.000000 -6.000000 +v -0.649519 -0.375000 -6.000000 +v -0.375000 -0.649519 -6.000000 +v 0.000000 -0.750000 -6.000000 +v 0.375000 -0.649519 -6.000000 +v 0.649519 -0.375000 -6.000000 +v 0.750000 -0.000000 -6.000000 +v 0.649519 0.375000 -6.000000 +v 0.375000 0.649519 -6.000000 +v -0.625000 0.000000 3.000000 +v -0.541266 0.312500 3.000000 +v -0.312500 0.541266 3.000000 +v 0.000000 0.625000 3.000000 +v -0.500000 -0.250000 -5.750000 +v -0.500000 -0.250000 -2.000000 +v 0.500000 -0.250000 -2.000000 +v 0.500000 -0.250000 -5.750000 +v -0.500000 -0.625000 -2.000000 +v -0.250000 -0.875000 -2.000000 +v 0.250000 -0.875000 -2.000000 +v 0.500000 -0.625000 -2.000000 +v -0.250000 -0.875000 -5.750000 +v -0.500000 -0.625000 -5.750000 +v 0.500000 -0.625000 -5.750000 +v 0.250000 -0.875000 -5.750000 +v -0.541266 -0.312500 3.000000 +v -0.312500 -0.541266 3.000000 +v 0.000000 -0.625000 3.000000 +v 0.312500 -0.541266 3.000000 +v 0.541265 -0.312500 3.000000 +v 0.625000 -0.000000 3.000000 +v 0.541266 0.312500 3.000000 +v 0.312500 0.541266 3.000000 +v -0.625000 0.000000 3.125000 +v -0.541266 0.312500 3.125000 +v -0.312500 0.541266 3.125000 +v 0.000000 0.625000 3.125000 +v -0.541266 -0.312500 3.125000 +v -0.312500 -0.541266 3.125000 +v 0.000000 -0.625000 3.125000 +v 0.312500 -0.541266 3.125000 +v 0.541265 -0.312500 3.125000 +v 0.625000 -0.000000 3.125000 +v 0.541266 0.312500 3.125000 +v 0.312500 0.541266 3.125000 +v 0.000000 1.000000 3.625000 +v -0.500000 0.866025 3.625000 +v -0.866025 0.500000 3.625000 +v -1.000000 0.000000 3.625000 +v -0.866025 -0.500000 3.625000 +v -0.500000 -0.866025 3.625000 +v 0.000000 -1.000000 3.625000 +v 0.500000 -0.866025 3.625000 +v 0.866025 -0.500000 3.625000 +v 1.000000 -0.000000 3.625000 +v 0.866026 0.500000 3.625000 +v 0.500000 0.866025 3.625000 +v 0.000000 1.000000 4.125000 +v -0.500000 0.866025 4.125000 +v -0.866025 0.500000 4.125000 +v -1.000000 0.000000 4.125000 +v -0.866025 -0.500000 4.125000 +v -0.500000 -0.866025 4.125000 +v 0.000000 -1.000000 4.125000 +v 0.500000 -0.866025 4.125000 +v 0.866025 -0.500000 4.125000 +v 1.000000 -0.000000 4.125000 +v 0.866026 0.500000 4.125000 +v 0.500000 0.866025 4.125000 +v 0.000000 0.750000 4.125000 +v -0.375000 0.649519 4.125000 +v -0.649519 0.375000 4.125000 +v -0.750000 0.000000 4.125000 +v -0.649519 -0.375000 4.125000 +v -0.375000 -0.649519 4.125000 +v 0.000000 -0.750000 4.125000 +v 0.375000 -0.649519 4.125000 +v 0.649519 -0.375000 4.125000 +v 0.750000 -0.000000 4.125000 +v 0.649519 0.375000 4.125000 +v 0.375000 0.649519 4.125000 +v 0.000000 0.500000 3.625000 +v -0.250000 0.433012 3.625000 +v -0.433013 0.250000 3.625000 +v -0.500000 -0.000000 3.625000 +v -0.433012 -0.250000 3.625000 +v -0.250000 -0.433013 3.625000 +v 0.000000 -0.500000 3.625000 +v 0.250000 -0.433013 3.625000 +v 0.433012 -0.250000 3.625000 +v 0.500000 -0.000000 3.625000 +v 0.433013 0.250000 3.625000 +v 0.250000 0.433012 3.625000 +v 0.000000 0.500000 -6.000000 +v -0.250000 0.433012 -6.000000 +v -0.433012 0.250000 -6.000000 +v -0.500000 0.000000 -6.000000 +v -0.433012 -0.250000 -6.000000 +v -0.250000 -0.433012 -6.000000 +v 0.000000 -0.500000 -6.000000 +v 0.250000 -0.433013 -6.000000 +v 0.433012 -0.250000 -6.000000 +v 0.500000 0.000000 -6.000000 +v 0.433013 0.250000 -6.000000 +v 0.250000 0.433012 -6.000000 +v 0.000000 0.500000 -6.250000 +v -0.250000 0.433012 -6.250000 +v -0.433012 0.250000 -6.250000 +v -0.500000 0.000000 -6.250000 +v -0.433012 -0.250000 -6.250000 +v -0.250000 -0.433012 -6.250000 +v 0.000000 -0.500000 -6.250000 +v 0.250000 -0.433013 -6.250000 +v 0.433012 -0.250000 -6.250000 +v 0.500000 0.000000 -6.250000 +v 0.433013 0.250000 -6.250000 +v 0.250000 0.433012 -6.250000 +v 0.000000 1.000000 -6.250000 +v -0.500000 0.866025 -6.250000 +v -0.866025 0.500000 -6.250000 +v -1.000000 -0.000000 -6.250000 +v -0.866025 -0.500000 -6.250000 +v -0.500000 -0.866025 -6.250000 +v 0.000000 -1.000000 -6.250000 +v 0.500000 -0.866026 -6.250000 +v 0.866025 -0.500000 -6.250000 +v 1.000000 -0.000001 -6.250000 +v 0.866026 0.499999 -6.250000 +v 0.500000 0.866025 -6.250000 +v 0.000000 1.000000 -6.750000 +v -0.500000 0.866025 -6.750000 +v -0.866025 0.500000 -6.750000 +v -1.000000 -0.000000 -6.750000 +v -0.866025 -0.500000 -6.750000 +v -0.500000 -0.866025 -6.750000 +v 0.000000 -1.000000 -6.750000 +v 0.500000 -0.866026 -6.750000 +v 0.866025 -0.500000 -6.750000 +v 1.000000 -0.000001 -6.750000 +v 0.866026 0.499999 -6.750000 +v 0.500000 0.866025 -6.750000 +v 0.000000 1.000000 -7.250000 +v -0.500000 0.866025 -7.250000 +v -0.866025 0.500000 -7.250000 +v -1.000000 -0.000000 -7.250000 +v -0.866025 -0.500000 -7.250000 +v -0.500000 -0.866025 -7.250000 +v 0.000000 -1.000000 -7.250000 +v 0.500000 -0.866026 -7.250000 +v 0.866025 -0.500000 -7.250000 +v 1.000000 -0.000001 -7.250000 +v 0.866026 0.499999 -7.250000 +v 0.500000 0.866025 -7.250000 +v 0.000000 1.000000 -7.750000 +v -0.500000 0.866025 -7.750000 +v -0.866025 0.500000 -7.750000 +v -1.000000 -0.000000 -7.750000 +v -0.866025 -0.500000 -7.750000 +v -0.500000 -0.866025 -7.750000 +v 0.000000 -1.000000 -7.750000 +v 0.500000 -0.866026 -7.750000 +v 0.866025 -0.500000 -7.750000 +v 1.000000 -0.000001 -7.750000 +v 0.866026 0.499999 -7.750000 +v 0.500000 0.866025 -7.750000 +v 0.000000 0.500000 -6.750000 +v -0.250000 0.433012 -6.750000 +v -0.433012 0.250000 -6.750000 +v -0.500000 0.000000 -6.750000 +v -0.433012 -0.250000 -6.750000 +v -0.250000 -0.433012 -6.750000 +v 0.000000 -0.500000 -6.750000 +v 0.250000 -0.433013 -6.750000 +v 0.433012 -0.250000 -6.750000 +v 0.500000 0.000000 -6.750000 +v 0.433013 0.250000 -6.750000 +v 0.250000 0.433012 -6.750000 +v 0.000000 0.500000 -7.250000 +v -0.250000 0.433012 -7.250000 +v -0.433012 0.250000 -7.250000 +v -0.500000 0.000000 -7.250000 +v -0.433012 -0.250000 -7.250000 +v -0.250000 -0.433012 -7.250000 +v 0.000000 -0.500000 -7.250000 +v 0.250000 -0.433013 -7.250000 +v 0.433012 -0.250000 -7.250000 +v 0.500000 0.000000 -7.250000 +v 0.433013 0.250000 -7.250000 +v 0.250000 0.433012 -7.250000 +v 0.000000 0.500000 -7.750000 +v -0.250000 0.433012 -7.750000 +v -0.433012 0.250000 -7.750000 +v -0.500000 0.000000 -7.750000 +v -0.433012 -0.250000 -7.750000 +v -0.250000 -0.433012 -7.750000 +v 0.000000 -0.500000 -7.750000 +v 0.250000 -0.433013 -7.750000 +v 0.433012 -0.250000 -7.750000 +v 0.500000 0.000000 -7.750000 +v 0.433013 0.250000 -7.750000 +v 0.250000 0.433012 -7.750000 +v 0.000000 0.500000 -8.000000 +v -0.250000 0.433012 -8.000000 +v -0.433012 0.250000 -8.000000 +v -0.500000 0.000000 -8.000000 +v -0.433012 -0.250000 -8.000000 +v -0.250000 -0.433012 -8.000000 +v 0.000000 -0.500000 -8.000000 +v 0.250000 -0.433013 -8.000000 +v 0.433012 -0.250000 -8.000000 +v 0.500000 0.000000 -8.000000 +v 0.433013 0.250000 -8.000000 +v 0.250000 0.433012 -8.000000 +v -0.750000 -0.125000 -6.750000 +v -0.750000 -0.125000 -7.250000 +v 0.750000 0.125000 -7.250000 +v 0.750000 0.125000 -6.750000 +v 0.838388 0.088388 -7.250000 +v 0.838388 0.088388 -6.750000 +v 0.875000 -0.000000 -7.250000 +v 0.875000 -0.000000 -6.750000 +v 0.838388 -0.088389 -7.250000 +v 0.838388 -0.088389 -6.750000 +v 0.750000 -0.125000 -7.250000 +v 0.750000 -0.125000 -6.750000 +v 0.661612 -0.088389 -7.250000 +v 0.661612 -0.088389 -6.750000 +v 0.625000 -0.000000 -7.250000 +v 0.625000 -0.000000 -6.750000 +v 0.661612 0.088388 -7.250000 +v 0.661612 0.088388 -6.750000 +v -0.838388 -0.088388 -7.250000 +v -0.838388 -0.088388 -6.750000 +v -0.875000 0.000000 -7.250000 +v -0.875000 0.000000 -6.750000 +v -0.838388 0.088388 -7.250000 +v -0.838388 0.088388 -6.750000 +v -0.750000 0.125000 -7.250000 +v -0.750000 0.125000 -6.750000 +v -0.661612 0.088388 -7.250000 +v -0.661612 0.088388 -6.750000 +v -0.625000 0.000000 -7.250000 +v -0.625000 0.000000 -6.750000 +v -0.661612 -0.088388 -7.250000 +v -0.661612 -0.088388 -6.750000 +v -0.125000 0.750000 -6.750000 +v -0.125000 0.750000 -7.250000 +v 0.125000 -0.750000 -7.250000 +v 0.125000 -0.750000 -6.750000 +v 0.088388 -0.838388 -7.250000 +v 0.088388 -0.838388 -6.750000 +v 0.000000 -0.875000 -7.250000 +v 0.000000 -0.875000 -6.750000 +v -0.088388 -0.838388 -7.250000 +v -0.088388 -0.838388 -6.750000 +v -0.125000 -0.750000 -7.250000 +v -0.125000 -0.750000 -6.750000 +v -0.088388 -0.661612 -7.250000 +v -0.088388 -0.661612 -6.750000 +v 0.000000 -0.625000 -7.250000 +v 0.000000 -0.625000 -6.750000 +v 0.088388 -0.661612 -7.250000 +v 0.088388 -0.661612 -6.750000 +v -0.088388 0.838388 -7.250000 +v -0.088388 0.838388 -6.750000 +v 0.000000 0.875000 -7.250000 +v 0.000000 0.875000 -6.750000 +v 0.088388 0.838388 -7.250000 +v 0.088388 0.838388 -6.750000 +v 0.125000 0.750000 -7.250000 +v 0.125000 0.750000 -6.750000 +v 0.088388 0.661611 -7.250000 +v 0.088388 0.661611 -6.750000 +v 0.000000 0.625000 -7.250000 +v 0.000000 0.625000 -6.750000 +v -0.088388 0.661611 -7.250000 +v -0.088388 0.661611 -6.750000 +v -0.618718 0.441942 -6.750000 +v -0.618718 0.441942 -7.250000 +v 0.618718 -0.441942 -7.250000 +v 0.618718 -0.441942 -6.750000 +v 0.655330 -0.530330 -7.250000 +v 0.655330 -0.530330 -6.750000 +v 0.618718 -0.618719 -7.250000 +v 0.618718 -0.618719 -6.750000 +v 0.530330 -0.655330 -7.250000 +v 0.530330 -0.655330 -6.750000 +v 0.441942 -0.618719 -7.250000 +v 0.441942 -0.618719 -6.750000 +v 0.405330 -0.530330 -7.250000 +v 0.405330 -0.530330 -6.750000 +v 0.441942 -0.441942 -7.250000 +v 0.441942 -0.441942 -6.750000 +v 0.530330 -0.405330 -7.250000 +v 0.530330 -0.405330 -6.750000 +v -0.655330 0.530330 -7.250000 +v -0.655330 0.530330 -6.750000 +v -0.618718 0.618718 -7.250000 +v -0.618718 0.618718 -6.750000 +v -0.530330 0.655330 -7.250000 +v -0.530330 0.655330 -6.750000 +v -0.441942 0.618718 -7.250000 +v -0.441941 0.618718 -6.750000 +v -0.405330 0.530330 -7.250000 +v -0.405330 0.530330 -6.750000 +v -0.441941 0.441942 -7.250000 +v -0.441941 0.441942 -6.750000 +v -0.530330 0.405330 -7.250000 +v -0.530330 0.405330 -6.750000 +v 0.441942 0.618718 -6.750000 +v 0.441942 0.618718 -7.250000 +v -0.441942 -0.618718 -7.250000 +v -0.441942 -0.618718 -6.750000 +v -0.530330 -0.655330 -7.250000 +v -0.530330 -0.655330 -6.750000 +v -0.618719 -0.618718 -7.250000 +v -0.618719 -0.618718 -6.750000 +v -0.655330 -0.530330 -7.250000 +v -0.655330 -0.530330 -6.750000 +v -0.618719 -0.441942 -7.250000 +v -0.618719 -0.441942 -6.750000 +v -0.530330 -0.405330 -7.250000 +v -0.530330 -0.405330 -6.750000 +v -0.441942 -0.441942 -7.250000 +v -0.441942 -0.441942 -6.750000 +v -0.405330 -0.530330 -7.250000 +v -0.405330 -0.530330 -6.750000 +v 0.530330 0.655330 -7.250000 +v 0.530330 0.655330 -6.750000 +v 0.618719 0.618718 -7.250000 +v 0.618719 0.618718 -6.750000 +v 0.655330 0.530330 -7.250000 +v 0.655330 0.530330 -6.750000 +v 0.618719 0.441941 -7.250000 +v 0.618719 0.441941 -6.750000 +v 0.530330 0.405330 -7.250000 +v 0.530330 0.405330 -6.750000 +v 0.441942 0.441941 -7.250000 +v 0.441942 0.441941 -6.750000 +v 0.405330 0.530330 -7.250000 +v 0.405330 0.530330 -6.750000 +v -0.500000 -1.250000 0.000000 +v 0.500000 -1.250000 0.000000 +v -0.500000 -1.250000 -2.000000 +v 0.500000 -1.250000 -2.000000 +v -0.500000 -2.000000 -2.000000 +v -0.500000 -2.000000 0.000000 +v 0.500000 -2.000000 0.000000 +v 0.500000 -2.000000 -2.000000 +v -0.560318 -0.124981 -2.187500 +v -0.564682 0.124981 -2.187500 +v -0.560318 -0.124981 -2.437500 +v -0.564682 0.124981 -2.437500 +v -0.814643 0.120618 -2.437500 +v -0.810280 -0.129344 -2.437500 +v -0.814643 0.120618 -2.187500 +v -0.810280 -0.129344 -2.187500 +v 0.187500 -3.250000 -0.375000 +v -0.187500 -3.250000 -0.375000 +v -0.187500 -3.250000 -2.000000 +v 0.187500 -3.250000 -2.000000 +v 0.187500 -3.000000 -2.000000 +v -0.187500 -3.000000 -2.000000 +v 0.187500 -3.000000 -0.375000 +v -0.187500 -3.000000 -0.375000 +v -0.187500 -2.000000 -1.500000 +v -0.062500 -2.000000 -1.375000 +v 0.062500 -2.000000 -1.375000 +v 0.187500 -2.000000 -1.500000 +v -0.062500 -2.000000 -2.000000 +v -0.187500 -2.000000 -1.875000 +v 0.187500 -2.000000 -1.875000 +v 0.062500 -2.000000 -2.000000 +v -0.187500 -3.000000 -1.875000 +v -0.062500 -3.000000 -2.000000 +v -0.062500 -3.000000 -1.375000 +v -0.187500 -3.000000 -1.500000 +v 0.187500 -3.000000 -1.500000 +v 0.062500 -3.000000 -1.375000 +v 0.062500 -3.000000 -2.000000 +v 0.187500 -3.000000 -1.875000 +v 0.187500 -2.000000 0.000000 +v -0.187500 -2.000000 0.000000 +v 0.187500 -2.000000 -0.250000 +v -0.187500 -2.000000 -0.250000 +v -0.187500 -2.875000 0.000000 +v 0.187500 -2.875000 0.000000 +v -0.187500 -2.875000 -0.250000 +v 0.187500 -2.875000 -0.250000 +v -0.810280 -0.129344 -5.187500 +v -0.814643 0.120618 -5.187500 +v -0.810280 -0.129344 -5.437500 +v -0.814643 0.120618 -5.437500 +v -0.564682 0.124981 -5.437500 +v -0.560318 -0.124981 -5.437500 +v -0.564682 0.124981 -5.187500 +v -0.560318 -0.124981 -5.187500 +v 1.064605 -0.116255 -2.437500 +v -1.064605 0.116255 -5.187500 +v -1.060242 -0.133707 -5.187500 +v 1.060242 0.133707 -2.437500 +v 1.060242 0.133707 -5.187500 +v 1.064605 -0.116255 -5.187500 +v -1.060242 -0.133707 -2.437500 +v -1.064605 0.116255 -2.437500 +v 0.560318 0.124981 -5.187500 +v 0.564682 -0.124981 -5.187500 +v 0.560318 0.124981 -5.437500 +v 0.564682 -0.124981 -5.437500 +v 0.814643 -0.120618 -5.437500 +v 0.810280 0.129344 -5.437500 +v 0.814643 -0.120618 -5.187500 +v 0.810280 0.129344 -5.187500 +v 0.810280 0.129344 -2.187500 +v 0.814643 -0.120618 -2.187500 +v 0.810280 0.129344 -2.437500 +v 0.814643 -0.120618 -2.437500 +v 0.564682 -0.124981 -2.437500 +v 0.560318 0.124981 -2.437500 +v 0.564682 -0.124981 -2.187500 +v 0.560318 0.124981 -2.187500 +v -0.662913 -0.662912 3.750000 +v -0.600413 -0.725412 3.786612 +v -0.574525 -0.751301 3.875000 +v -0.600413 -0.725412 3.963388 +v -0.662913 -0.662912 4.000000 +v -0.725413 -0.600412 3.963388 +v -0.751301 -0.574524 3.875000 +v -0.725413 -0.600412 3.786612 +v -0.751301 -0.751301 3.750000 +v -0.688802 -0.813801 3.786612 +v -0.662913 -0.839689 3.875000 +v -0.688802 -0.813801 3.963388 +v -0.751301 -0.751301 4.000000 +v -0.813801 -0.688801 3.963388 +v -0.839690 -0.662912 3.875000 +v -0.813801 -0.688801 3.786612 +v 0.662912 -0.662913 3.750000 +v 0.725412 -0.600413 3.786612 +v 0.751301 -0.574525 3.875000 +v 0.725412 -0.600413 3.963388 +v 0.662912 -0.662913 4.000000 +v 0.600412 -0.725413 3.963388 +v 0.574524 -0.751301 3.875000 +v 0.600412 -0.725413 3.786612 +v 0.751301 -0.751301 3.750000 +v 0.813801 -0.688802 3.786612 +v 0.839689 -0.662913 3.875000 +v 0.813801 -0.688802 3.963388 +v 0.751301 -0.751301 4.000000 +v 0.688801 -0.813802 3.963388 +v 0.662912 -0.839690 3.875000 +v 0.688801 -0.813802 3.786612 +v 0.000000 0.937500 3.750000 +v -0.088387 0.937500 3.786612 +v -0.125000 0.937500 3.875000 +v -0.088387 0.937500 3.963388 +v 0.000000 0.937500 4.000000 +v 0.088389 0.937500 3.963388 +v 0.125000 0.937500 3.875000 +v 0.088389 0.937500 3.786612 +v 0.000000 1.062500 3.750000 +v -0.088387 1.062500 3.786612 +v -0.125000 1.062500 3.875000 +v -0.088387 1.062500 3.963388 +v 0.000000 1.062500 4.000000 +v 0.088389 1.062500 3.963388 +v 0.125000 1.062500 3.875000 +v 0.088389 1.062500 3.786612 +v -0.688801 0.813801 3.786612 +v -0.662912 0.839690 3.875000 +v -0.688801 0.813801 3.963388 +v -0.751301 0.751301 4.000000 +v -0.813800 0.688802 3.963388 +v -0.839689 0.662913 3.875000 +v -0.813800 0.688802 3.786612 +v -0.751301 0.751301 3.750000 +v -0.600412 0.725413 3.786612 +v -0.574524 0.751301 3.875000 +v -0.600412 0.725413 3.963388 +v -0.662912 0.662913 4.000000 +v -0.725412 0.600413 3.963388 +v -0.751301 0.574525 3.875000 +v -0.725412 0.600413 3.786612 +v -0.662912 0.662913 3.750000 +v 0.813801 0.688801 3.786612 +v 0.839690 0.662912 3.875000 +v 0.813801 0.688801 3.963388 +v 0.751301 0.751301 4.000000 +v 0.688802 0.813800 3.963388 +v 0.662913 0.839689 3.875000 +v 0.688802 0.813800 3.786612 +v 0.751301 0.751301 3.750000 +v 0.725413 0.600412 3.786612 +v 0.751301 0.574524 3.875000 +v 0.725413 0.600412 3.963388 +v 0.662913 0.662912 4.000000 +v 0.600413 0.725412 3.963388 +v 0.574525 0.751301 3.875000 +v 0.600413 0.725412 3.786612 +v 0.662913 0.662912 3.750000 +v -0.937500 0.000000 3.750000 +v -0.937500 -0.088388 3.786612 +v -0.937500 -0.125000 3.875000 +v -0.937500 -0.088388 3.963388 +v -0.937500 0.000000 4.000000 +v -0.937500 0.088389 3.963388 +v -0.937500 0.125000 3.875000 +v -0.937500 0.088389 3.786612 +v -1.062500 0.000000 3.750000 +v -1.062500 -0.088388 3.786612 +v -1.062500 -0.125000 3.875000 +v -1.062500 -0.088388 3.963388 +v -1.062500 0.000000 4.000000 +v -1.062500 0.088389 3.963388 +v -1.062500 0.125000 3.875000 +v -1.062500 0.088389 3.786612 +v 1.062500 -0.088389 3.786612 +v 1.062500 -0.125001 3.875000 +v 1.062500 -0.088389 3.963388 +v 1.062500 -0.000001 4.000000 +v 1.062500 0.088387 3.963388 +v 1.062500 0.124999 3.875000 +v 1.062500 0.088387 3.786612 +v 1.062500 -0.000001 3.750000 +v 0.937500 -0.088389 3.786612 +v 0.937500 -0.125001 3.875000 +v 0.937500 -0.088389 3.963388 +v 0.937500 -0.000001 4.000000 +v 0.937500 0.088387 3.963388 +v 0.937500 0.124999 3.875000 +v 0.937500 0.088387 3.786612 +v 0.937500 -0.000001 3.750000 +v -0.088389 -1.062500 3.786612 +v -0.125000 -1.062500 3.875000 +v -0.088389 -1.062500 3.963388 +v -0.000000 -1.062500 4.000000 +v 0.088387 -1.062500 3.963388 +v 0.125000 -1.062500 3.875000 +v 0.088387 -1.062500 3.786612 +v -0.000000 -1.062500 3.750000 +v -0.088389 -0.937500 3.786612 +v -0.125000 -0.937500 3.875000 +v -0.088389 -0.937500 3.963388 +v -0.000000 -0.937500 4.000000 +v 0.088387 -0.937500 3.963388 +v 0.125000 -0.937500 3.875000 +v 0.088387 -0.937500 3.786612 +v -0.000000 -0.937500 3.750000 +v 0.364820 0.366721 -5.445083 +v 0.412380 0.339263 -5.312500 +v 0.364820 0.366721 -5.179917 +v 0.250000 0.433013 -5.125000 +v 0.135180 0.499304 -5.179917 +v 0.087620 0.526763 -5.312500 +v 0.135180 0.499304 -5.445083 +v 0.250000 0.433013 -5.500000 +v 0.489820 0.583228 -5.445083 +v 0.537380 0.555769 -5.312500 +v 0.489820 0.583228 -5.179917 +v 0.375000 0.649519 -5.125000 +v 0.260180 0.715810 -5.179917 +v 0.212620 0.743269 -5.312500 +v 0.260180 0.715810 -5.445083 +v 0.375000 0.649519 -5.500000 +v 0.951547 1.471350 -5.400888 +v 0.983253 1.453044 -5.312500 +v 0.951547 1.471350 -5.224112 +v 0.875000 1.515544 -5.187500 +v 0.798453 1.559739 -5.224112 +v 0.766747 1.578044 -5.312500 +v 0.798453 1.559739 -5.400888 +v 0.875000 1.515544 -5.437500 +v 0.903093 1.210650 -5.489277 +v 0.966506 1.174038 -5.312500 +v 0.903093 1.210650 -5.135723 +v 0.750000 1.299038 -5.062500 +v 0.596907 1.387426 -5.135723 +v 0.533494 1.424038 -5.312500 +v 0.596907 1.387426 -5.489277 +v 0.750000 1.299038 -5.562500 +v 0.528093 0.561131 -5.489277 +v 0.591506 0.524519 -5.312500 +v 0.528093 0.561131 -5.135723 +v 0.375000 0.649519 -5.062500 +v 0.221907 0.737907 -5.135723 +v 0.158494 0.774519 -5.312500 +v 0.221907 0.737907 -5.489277 +v 0.375000 0.649519 -5.562500 +v 0.375000 0.649519 -2.562500 +v 0.221907 0.737907 -2.489277 +v 0.158494 0.774519 -2.312500 +v 0.221907 0.737907 -2.135723 +v 0.375000 0.649519 -2.062500 +v 0.528093 0.561131 -2.135723 +v 0.591506 0.524519 -2.312500 +v 0.528093 0.561131 -2.489277 +v 0.750000 1.299038 -2.562500 +v 0.596907 1.387426 -2.489277 +v 0.533494 1.424038 -2.312500 +v 0.596907 1.387426 -2.135723 +v 0.750000 1.299038 -2.062500 +v 0.903093 1.210650 -2.135723 +v 0.966506 1.174038 -2.312500 +v 0.903093 1.210650 -2.489277 +v 0.875000 1.515544 -2.437500 +v 0.798453 1.559739 -2.400888 +v 0.766747 1.578044 -2.312500 +v 0.798453 1.559739 -2.224112 +v 0.875000 1.515544 -2.187500 +v 0.951547 1.471350 -2.224112 +v 0.983253 1.453044 -2.312500 +v 0.951547 1.471350 -2.400888 +v 0.375000 0.649519 -2.500000 +v 0.260180 0.715810 -2.445083 +v 0.212620 0.743269 -2.312500 +v 0.260180 0.715810 -2.179917 +v 0.375000 0.649519 -2.125000 +v 0.489820 0.583228 -2.179917 +v 0.537380 0.555769 -2.312500 +v 0.489820 0.583228 -2.445083 +v 0.250000 0.433013 -2.500000 +v 0.135180 0.499304 -2.445083 +v 0.087620 0.526763 -2.312500 +v 0.135180 0.499304 -2.179917 +v 0.250000 0.433013 -2.125000 +v 0.364820 0.366721 -2.179917 +v 0.412380 0.339263 -2.312500 +v 0.364820 0.366721 -2.445083 +v 0.375000 0.649519 -4.812500 +v 0.221907 0.737907 -4.739277 +v 0.158494 0.774519 -4.562500 +v 0.221907 0.737907 -4.385723 +v 0.375000 0.649519 -4.312500 +v 0.528093 0.561131 -4.385723 +v 0.591506 0.524519 -4.562500 +v 0.528093 0.561131 -4.739277 +v 0.750000 1.299038 -4.812500 +v 0.596907 1.387426 -4.739277 +v 0.533494 1.424038 -4.562500 +v 0.596907 1.387426 -4.385723 +v 0.750000 1.299038 -4.312500 +v 0.903093 1.210650 -4.385723 +v 0.966506 1.174038 -4.562500 +v 0.903093 1.210650 -4.739277 +v 0.875000 1.515544 -4.687500 +v 0.798453 1.559739 -4.650888 +v 0.766747 1.578044 -4.562500 +v 0.798453 1.559739 -4.474112 +v 0.875000 1.515544 -4.437500 +v 0.951547 1.471350 -4.474112 +v 0.983253 1.453044 -4.562500 +v 0.951547 1.471350 -4.650888 +v 0.375000 0.649519 -4.750000 +v 0.260180 0.715810 -4.695083 +v 0.212620 0.743269 -4.562500 +v 0.260180 0.715810 -4.429917 +v 0.375000 0.649519 -4.375000 +v 0.489820 0.583228 -4.429917 +v 0.537380 0.555769 -4.562500 +v 0.489820 0.583228 -4.695083 +v 0.250000 0.433013 -4.750000 +v 0.135180 0.499304 -4.695083 +v 0.087620 0.526763 -4.562500 +v 0.135180 0.499304 -4.429917 +v 0.250000 0.433013 -4.375000 +v 0.364820 0.366721 -4.429917 +v 0.412380 0.339263 -4.562500 +v 0.364820 0.366721 -4.695083 +v 0.364820 0.366721 -3.945083 +v 0.412380 0.339263 -3.812500 +v 0.364820 0.366721 -3.679917 +v 0.250000 0.433013 -3.625000 +v 0.135180 0.499304 -3.679917 +v 0.087620 0.526763 -3.812500 +v 0.135180 0.499304 -3.945083 +v 0.250000 0.433013 -4.000000 +v 0.489820 0.583228 -3.945083 +v 0.537380 0.555769 -3.812500 +v 0.489820 0.583228 -3.679917 +v 0.375000 0.649519 -3.625000 +v 0.260180 0.715810 -3.679917 +v 0.212620 0.743269 -3.812500 +v 0.260180 0.715810 -3.945083 +v 0.375000 0.649519 -4.000000 +v 0.951547 1.471350 -3.900888 +v 0.983253 1.453044 -3.812500 +v 0.951547 1.471350 -3.724112 +v 0.875000 1.515544 -3.687500 +v 0.798453 1.559739 -3.724112 +v 0.766747 1.578044 -3.812500 +v 0.798453 1.559739 -3.900888 +v 0.875000 1.515544 -3.937500 +v 0.903093 1.210650 -3.989277 +v 0.966506 1.174038 -3.812500 +v 0.903093 1.210650 -3.635723 +v 0.750000 1.299038 -3.562500 +v 0.596907 1.387426 -3.635723 +v 0.533494 1.424038 -3.812500 +v 0.596907 1.387426 -3.989277 +v 0.750000 1.299038 -4.062500 +v 0.528093 0.561131 -3.989277 +v 0.591506 0.524519 -3.812500 +v 0.528093 0.561131 -3.635723 +v 0.375000 0.649519 -3.562500 +v 0.221907 0.737907 -3.635723 +v 0.158494 0.774519 -3.812500 +v 0.221907 0.737907 -3.989277 +v 0.375000 0.649519 -4.062500 +v 0.364820 0.366721 -3.195083 +v 0.412380 0.339263 -3.062500 +v 0.364820 0.366721 -2.929917 +v 0.250000 0.433013 -2.875000 +v 0.135180 0.499304 -2.929917 +v 0.087620 0.526763 -3.062500 +v 0.135180 0.499304 -3.195083 +v 0.250000 0.433013 -3.250000 +v 0.489820 0.583228 -3.195083 +v 0.537380 0.555769 -3.062500 +v 0.489820 0.583228 -2.929917 +v 0.375000 0.649519 -2.875000 +v 0.260180 0.715810 -2.929917 +v 0.212620 0.743269 -3.062500 +v 0.260180 0.715810 -3.195083 +v 0.375000 0.649519 -3.250000 +v 0.951547 1.471350 -3.150888 +v 0.983253 1.453044 -3.062500 +v 0.951547 1.471350 -2.974112 +v 0.875000 1.515544 -2.937500 +v 0.798453 1.559739 -2.974112 +v 0.766747 1.578044 -3.062500 +v 0.798453 1.559739 -3.150888 +v 0.875000 1.515544 -3.187500 +v 0.903093 1.210650 -3.239277 +v 0.966506 1.174038 -3.062500 +v 0.903093 1.210650 -2.885723 +v 0.750000 1.299038 -2.812500 +v 0.596907 1.387426 -2.885723 +v 0.533494 1.424038 -3.062500 +v 0.596907 1.387426 -3.239277 +v 0.750000 1.299038 -3.312500 +v 0.528093 0.561131 -3.239277 +v 0.591506 0.524519 -3.062500 +v 0.528093 0.561131 -2.885723 +v 0.375000 0.649519 -2.812500 +v 0.221907 0.737907 -2.885723 +v 0.158494 0.774519 -3.062500 +v 0.221907 0.737907 -3.239277 +v 0.375000 0.649519 -3.312500 +v 0.375000 0.375000 2.750000 +v 0.625000 0.375000 2.750000 +v 0.375000 0.375000 2.500000 +v 0.625000 0.375000 2.500000 +v 0.375000 0.875000 2.750000 +v 0.625000 0.875000 2.750000 +v 0.375000 0.875000 2.500000 +v 0.625000 0.875000 2.500000 +v 0.375000 0.375000 -1.500000 +v 0.625000 0.375000 -1.500000 +v 0.375000 0.375000 -1.750000 +v 0.625000 0.375000 -1.750000 +v 0.375000 0.875000 -1.500000 +v 0.625000 0.875000 -1.500000 +v 0.375000 0.875000 -1.750000 +v 0.625000 0.875000 -1.750000 +v 0.375000 1.125000 2.500000 +v -0.375000 0.375000 2.500000 +v -0.625000 0.375000 2.500000 +v 0.625000 1.125000 2.500000 +v -0.375000 0.375000 2.750000 +v 0.375000 1.125000 -1.500000 +v 0.625000 1.125000 -1.500000 +v -0.625000 0.375000 2.750000 +v -0.625000 0.875000 2.750000 +v -0.375000 0.875000 2.750000 +v -0.625000 0.875000 2.500000 +v -0.375000 0.875000 2.500000 +v -0.625000 0.375000 -1.500000 +v -0.375000 0.375000 -1.500000 +v -0.625000 0.375000 -1.750000 +v -0.375000 0.375000 -1.750000 +v -0.625000 0.875000 -1.500000 +v -0.375000 0.875000 -1.500000 +v -0.625000 0.875000 -1.750000 +v -0.375000 0.875000 -1.750000 +v -0.625000 1.125000 2.500000 +v -0.375000 1.125000 2.500000 +v -0.625000 1.125000 -1.500000 +v -0.375000 1.125000 -1.500000 +v -0.062500 -2.750000 -0.875000 +v 0.062500 -2.750000 -0.875000 +v -0.062500 -2.750000 -1.250000 +v 0.062500 -2.750000 -1.250000 +v 0.062500 -2.000000 -1.250000 +v -0.062500 -2.000000 -1.250000 +v 0.062500 -2.000000 -1.000000 +v -0.062500 -2.000000 -1.000000 +v -0.750000 -0.125000 2.000000 +v 0.750000 -0.125000 2.000000 +v -0.750000 -0.125000 1.000000 +v 0.750000 -0.125000 1.000000 +v 0.750000 -1.250000 1.000000 +v -0.750000 -1.250000 1.000000 +v 0.750000 -1.250000 2.000000 +v -0.750000 -1.250000 2.000000 +v 0.187500 -1.375000 2.187500 +v 0.187500 -1.375000 2.562500 +v -0.187500 -1.375000 2.562500 +v -0.187500 -1.375000 2.187500 +v 0.187500 -1.250000 2.187500 +v -0.187500 -1.250000 2.187500 +v 0.187500 -1.250000 2.562500 +v -0.187500 -1.250000 2.562500 +v 0.265165 -1.359835 2.625000 +v 0.375000 -1.625000 2.625000 +v 0.265165 -1.890165 2.625000 +v 0.000000 -2.000000 2.625000 +v -0.265165 -1.890165 2.625000 +v -0.375000 -1.625000 2.625000 +v -0.265165 -1.359835 2.625000 +v 0.000000 -1.250000 2.625000 +v 0.176776 -1.448224 2.125000 +v 0.250000 -1.625000 2.125000 +v 0.176776 -1.801777 2.125000 +v 0.000000 -1.875000 2.125000 +v -0.176777 -1.801777 2.125000 +v -0.250000 -1.625000 2.125000 +v -0.176777 -1.448224 2.125000 +v 0.000000 -1.375000 2.125000 +v 0.176776 -1.448224 1.875000 +v 0.250000 -1.625000 1.875000 +v 0.176776 -1.801777 1.875000 +v 0.000000 -1.875000 1.875000 +v -0.176777 -1.801777 1.875000 +v -0.250000 -1.625000 1.875000 +v -0.176777 -1.448224 1.875000 +v 0.000000 -1.375000 1.875000 +v 0.265165 -1.359835 2.125000 +v 0.375000 -1.625000 2.125000 +v 0.265165 -1.890165 2.125000 +v 0.000000 -2.000000 2.125000 +v -0.265165 -1.890165 2.125000 +v -0.375000 -1.625000 2.125000 +v -0.265165 -1.359835 2.125000 +v 0.000000 -1.250000 2.125000 +v 0.000000 -1.250000 0.375000 +v -0.265165 -1.359835 0.375000 +v -0.375000 -1.625000 0.375000 +v -0.265165 -1.890165 0.375000 +v 0.000000 -2.000000 0.375000 +v 0.265165 -1.890165 0.375000 +v 0.375000 -1.625000 0.375000 +v 0.265165 -1.359835 0.375000 +v 0.000000 -1.250000 0.875000 +v -0.265165 -1.359835 0.875000 +v -0.375000 -1.625000 0.875000 +v -0.265165 -1.890165 0.875000 +v 0.000000 -2.000000 0.875000 +v 0.265165 -1.890165 0.875000 +v 0.375000 -1.625000 0.875000 +v 0.265165 -1.359835 0.875000 +v -0.187500 -1.250000 0.812500 +v 0.187500 -1.250000 0.812500 +v -0.187500 -1.250000 0.437500 +v 0.187500 -1.250000 0.437500 +v -0.187500 -1.375000 0.437500 +v -0.187500 -1.375000 0.812500 +v 0.187500 -1.375000 0.812500 +v 0.187500 -1.375000 0.437500 +v 0.000000 -1.375000 0.875000 +v -0.176777 -1.448224 0.875000 +v -0.250000 -1.625000 0.875000 +v -0.176777 -1.801777 0.875000 +v 0.000000 -1.875000 0.875000 +v 0.176776 -1.801777 0.875000 +v 0.250000 -1.625000 0.875000 +v 0.176776 -1.448224 0.875000 +v 0.000000 -1.375000 1.125000 +v -0.176777 -1.448224 1.125000 +v -0.250000 -1.625000 1.125000 +v -0.176777 -1.801777 1.125000 +v 0.000000 -1.875000 1.125000 +v 0.176776 -1.801777 1.125000 +v 0.250000 -1.625000 1.125000 +v 0.176776 -1.448224 1.125000 +v -0.125000 -0.875000 -2.437500 +v 0.125000 -0.875000 -2.437500 +v -0.125000 -0.875000 -2.812500 +v 0.125000 -0.875000 -2.812500 +v -0.125000 -1.687500 -2.000000 +v 0.125000 -1.687500 -2.000000 +v -0.125000 -1.312500 -2.000000 +v 0.125000 -1.312500 -2.000000 +v 1.062500 0.062500 3.937500 +v 1.062500 -0.062500 3.937500 +v 1.062500 0.062500 3.812500 +v 1.062500 -0.062500 3.812500 +v 1.437500 0.062500 3.812500 +v 1.437500 0.062500 3.937500 +v 1.437500 -0.062500 3.937500 +v 1.437500 -0.062500 3.812500 +v 1.250000 -0.125000 0.687500 +v 1.500000 -0.125000 0.687500 +v 1.250000 0.125000 0.687500 +v 1.500000 0.125000 0.687500 +v 1.125000 -0.250000 0.687500 +v 1.625000 -0.250000 0.687500 +v 1.125000 0.250000 0.687500 +v 1.625000 0.250000 0.687500 +v 1.250000 0.125000 0.562500 +v 1.250000 -0.125000 0.562500 +v 1.500000 -0.125000 0.562500 +v 1.500000 0.125000 0.562500 +v 1.125000 0.250000 0.562500 +v 1.125000 -0.250000 0.562500 +v 1.625000 -0.250000 0.562500 +v 1.625000 0.250000 0.562500 +v 1.125000 0.062500 0.687500 +v 1.125000 -0.062500 0.687500 +v 1.125000 0.062500 0.562500 +v 1.125000 -0.062500 0.562500 +v 0.875000 0.062500 0.687500 +v 0.875000 -0.062500 0.687500 +v 0.875000 0.062500 0.562500 +v 0.875000 -0.062500 0.562500 +v 0.875000 0.125000 0.750000 +v 0.875000 -0.125000 0.750000 +v 0.875000 0.125000 0.500000 +v 0.875000 -0.125000 0.500000 +v 0.750000 0.125000 0.750000 +v 0.750000 -0.125000 0.750000 +v 0.750000 0.125000 0.500000 +v 0.750000 -0.125000 0.500000 +v -0.375000 0.649519 -3.312500 +v -0.528093 0.561130 -3.239277 +v -0.591507 0.524519 -3.062500 +v -0.528093 0.561130 -2.885723 +v -0.375000 0.649519 -2.812500 +v -0.221907 0.737908 -2.885723 +v -0.158494 0.774519 -3.062500 +v -0.221907 0.737908 -3.239277 +v -0.750000 1.299038 -3.312500 +v -0.903093 1.210649 -3.239277 +v -0.966506 1.174038 -3.062500 +v -0.903093 1.210649 -2.885723 +v -0.750000 1.299038 -2.812500 +v -0.596907 1.387427 -2.885723 +v -0.533494 1.424038 -3.062500 +v -0.596907 1.387427 -3.239277 +v -0.875000 1.515544 -3.187500 +v -0.951547 1.471350 -3.150888 +v -0.983253 1.453045 -3.062500 +v -0.951547 1.471350 -2.974112 +v -0.875000 1.515544 -2.937500 +v -0.798453 1.559739 -2.974112 +v -0.766747 1.578044 -3.062500 +v -0.798453 1.559739 -3.150888 +v -0.375000 0.649519 -3.250000 +v -0.489820 0.583228 -3.195083 +v -0.537380 0.555769 -3.062500 +v -0.489820 0.583228 -2.929917 +v -0.375000 0.649519 -2.875000 +v -0.260180 0.715810 -2.929917 +v -0.212620 0.743269 -3.062500 +v -0.260180 0.715810 -3.195083 +v -0.250000 0.433013 -3.250000 +v -0.364820 0.366721 -3.195083 +v -0.412380 0.339263 -3.062500 +v -0.364820 0.366721 -2.929917 +v -0.250000 0.433013 -2.875000 +v -0.135180 0.499304 -2.929917 +v -0.087620 0.526763 -3.062500 +v -0.135180 0.499304 -3.195083 +v -0.375000 0.649519 -4.062500 +v -0.528093 0.561130 -3.989277 +v -0.591507 0.524519 -3.812500 +v -0.528093 0.561130 -3.635723 +v -0.375000 0.649519 -3.562500 +v -0.221907 0.737908 -3.635723 +v -0.158494 0.774519 -3.812500 +v -0.221907 0.737908 -3.989277 +v -0.750000 1.299038 -4.062500 +v -0.903093 1.210649 -3.989277 +v -0.966506 1.174038 -3.812500 +v -0.903093 1.210649 -3.635723 +v -0.750000 1.299038 -3.562500 +v -0.596907 1.387427 -3.635723 +v -0.533494 1.424038 -3.812500 +v -0.596907 1.387427 -3.989277 +v -0.875000 1.515544 -3.937500 +v -0.951547 1.471350 -3.900888 +v -0.983253 1.453045 -3.812500 +v -0.951547 1.471350 -3.724112 +v -0.875000 1.515544 -3.687500 +v -0.798453 1.559739 -3.724112 +v -0.766747 1.578044 -3.812500 +v -0.798453 1.559739 -3.900888 +v -0.375000 0.649519 -4.000000 +v -0.489820 0.583228 -3.945083 +v -0.537380 0.555769 -3.812500 +v -0.489820 0.583228 -3.679917 +v -0.375000 0.649519 -3.625000 +v -0.260180 0.715810 -3.679917 +v -0.212620 0.743269 -3.812500 +v -0.260180 0.715810 -3.945083 +v -0.250000 0.433013 -4.000000 +v -0.364820 0.366721 -3.945083 +v -0.412380 0.339263 -3.812500 +v -0.364820 0.366721 -3.679917 +v -0.250000 0.433013 -3.625000 +v -0.135180 0.499304 -3.679917 +v -0.087620 0.526763 -3.812500 +v -0.135180 0.499304 -3.945083 +v -0.135180 0.499304 -4.695083 +v -0.087620 0.526763 -4.562500 +v -0.135180 0.499304 -4.429917 +v -0.250000 0.433013 -4.375000 +v -0.364820 0.366721 -4.429917 +v -0.412380 0.339263 -4.562500 +v -0.364820 0.366721 -4.695083 +v -0.250000 0.433013 -4.750000 +v -0.260180 0.715810 -4.695083 +v -0.212620 0.743269 -4.562500 +v -0.260180 0.715810 -4.429917 +v -0.375000 0.649519 -4.375000 +v -0.489820 0.583228 -4.429917 +v -0.537380 0.555769 -4.562500 +v -0.489820 0.583228 -4.695083 +v -0.375000 0.649519 -4.750000 +v -0.798453 1.559739 -4.650888 +v -0.766747 1.578044 -4.562500 +v -0.798453 1.559739 -4.474112 +v -0.875000 1.515544 -4.437500 +v -0.951547 1.471350 -4.474112 +v -0.983253 1.453045 -4.562500 +v -0.951547 1.471350 -4.650888 +v -0.875000 1.515544 -4.687500 +v -0.596907 1.387427 -4.739277 +v -0.533494 1.424038 -4.562500 +v -0.596907 1.387427 -4.385723 +v -0.750000 1.299038 -4.312500 +v -0.903093 1.210649 -4.385723 +v -0.966506 1.174038 -4.562500 +v -0.903093 1.210649 -4.739277 +v -0.750000 1.299038 -4.812500 +v -0.221907 0.737908 -4.739277 +v -0.158494 0.774519 -4.562500 +v -0.221907 0.737908 -4.385723 +v -0.375000 0.649519 -4.312500 +v -0.528093 0.561130 -4.385723 +v -0.591507 0.524519 -4.562500 +v -0.528093 0.561130 -4.739277 +v -0.375000 0.649519 -4.812500 +v -0.135180 0.499304 -2.445083 +v -0.087620 0.526763 -2.312500 +v -0.135180 0.499304 -2.179917 +v -0.250000 0.433013 -2.125000 +v -0.364820 0.366721 -2.179917 +v -0.412380 0.339263 -2.312500 +v -0.364820 0.366721 -2.445083 +v -0.250000 0.433013 -2.500000 +v -0.260180 0.715810 -2.445083 +v -0.212620 0.743269 -2.312500 +v -0.260180 0.715810 -2.179917 +v -0.375000 0.649519 -2.125000 +v -0.489820 0.583228 -2.179917 +v -0.537380 0.555769 -2.312500 +v -0.489820 0.583228 -2.445083 +v -0.375000 0.649519 -2.500000 +v -0.798453 1.559739 -2.400888 +v -0.766747 1.578044 -2.312500 +v -0.798453 1.559739 -2.224112 +v -0.875000 1.515544 -2.187500 +v -0.951547 1.471350 -2.224112 +v -0.983253 1.453045 -2.312500 +v -0.951547 1.471350 -2.400888 +v -0.875000 1.515544 -2.437500 +v -0.596907 1.387427 -2.489277 +v -0.533494 1.424038 -2.312500 +v -0.596907 1.387427 -2.135723 +v -0.750000 1.299038 -2.062500 +v -0.903093 1.210649 -2.135723 +v -0.966506 1.174038 -2.312500 +v -0.903093 1.210649 -2.489277 +v -0.750000 1.299038 -2.562500 +v -0.221907 0.737908 -2.489277 +v -0.158494 0.774519 -2.312500 +v -0.221907 0.737908 -2.135723 +v -0.375000 0.649519 -2.062500 +v -0.528093 0.561130 -2.135723 +v -0.591507 0.524519 -2.312500 +v -0.528093 0.561130 -2.489277 +v -0.375000 0.649519 -2.562500 +v -0.375000 0.649519 -5.562500 +v -0.528093 0.561130 -5.489277 +v -0.591507 0.524519 -5.312500 +v -0.528093 0.561130 -5.135723 +v -0.375000 0.649519 -5.062500 +v -0.221907 0.737908 -5.135723 +v -0.158494 0.774519 -5.312500 +v -0.221907 0.737908 -5.489277 +v -0.750000 1.299038 -5.562500 +v -0.903093 1.210649 -5.489277 +v -0.966506 1.174038 -5.312500 +v -0.903093 1.210649 -5.135723 +v -0.750000 1.299038 -5.062500 +v -0.596907 1.387427 -5.135723 +v -0.533494 1.424038 -5.312500 +v -0.596907 1.387427 -5.489277 +v -0.875000 1.515544 -5.437500 +v -0.951547 1.471350 -5.400888 +v -0.983253 1.453045 -5.312500 +v -0.951547 1.471350 -5.224112 +v -0.875000 1.515544 -5.187500 +v -0.798453 1.559739 -5.224112 +v -0.766747 1.578044 -5.312500 +v -0.798453 1.559739 -5.400888 +v -0.375000 0.649519 -5.500000 +v -0.489820 0.583228 -5.445083 +v -0.537380 0.555769 -5.312500 +v -0.489820 0.583228 -5.179917 +v -0.375000 0.649519 -5.125000 +v -0.260180 0.715810 -5.179917 +v -0.212620 0.743269 -5.312500 +v -0.260180 0.715810 -5.445083 +v -0.250000 0.433013 -5.500000 +v -0.364820 0.366721 -5.445083 +v -0.412380 0.339263 -5.312500 +v -0.364820 0.366721 -5.179917 +v -0.250000 0.433013 -5.125000 +v -0.135180 0.499304 -5.179917 +v -0.087620 0.526763 -5.312500 +v -0.135180 0.499304 -5.445083 +vt 0.074286 0.362319 +vt 0.091429 0.478261 +vt 0.074286 0.536232 +vt 0.411429 0.536232 +vt 0.337143 0.362319 +vt 0.411429 0.362319 +vt 0.000000 0.362319 +vt 0.000000 0.536232 +vt 0.337143 0.536232 +vt 0.320000 0.420290 +vt 0.577143 0.181159 +vt 0.582857 0.217391 +vt 0.577143 0.217391 +vt 0.577143 0.260870 +vt 0.577143 0.224638 +vt 0.582857 0.260870 +vt 0.577143 0.304348 +vt 0.577143 0.268116 +vt 0.582857 0.304348 +vt 0.577143 0.347826 +vt 0.577143 0.311594 +vt 0.577143 0.355072 +vt 0.582857 0.391304 +vt 0.577143 0.391304 +vt 0.577143 0.434783 +vt 0.577143 0.398551 +vt 0.582857 0.434783 +vt 0.577143 0.471014 +vt 0.582857 0.478261 +vt 0.577143 0.514493 +vt 0.577143 0.478261 +vt 0.582857 0.000000 +vt 0.577143 0.043478 +vt 0.577143 0.007246 +vt 0.577143 0.050725 +vt 0.582857 0.086957 +vt 0.577143 0.086957 +vt 0.577143 0.094203 +vt 0.582857 0.130435 +vt 0.577143 0.130435 +vt 0.577143 0.137681 +vt 0.582857 0.173913 +vt 0.577143 0.173913 +vt 0.520000 0.579710 +vt 0.520000 0.695652 +vt 0.491429 0.666667 +vt 0.491429 0.608696 +vt 0.320000 0.666667 +vt 0.320000 0.608696 +vt 0.491429 0.695652 +vt 0.320000 0.739130 +vt 0.320000 0.695652 +vt 0.491429 0.579710 +vt 0.320000 0.579710 +vt 0.491429 0.536232 +vt 0.874286 -0.000000 +vt 0.862857 0.050725 +vt 0.862857 0.007246 +vt 0.874286 0.579710 +vt 0.862857 0.528986 +vt 0.874286 0.521739 +vt 0.874286 0.289855 +vt 0.862857 0.239130 +vt 0.874286 0.231884 +vt 0.874286 0.405797 +vt 0.862857 0.355072 +vt 0.874286 0.347826 +vt 0.874286 0.115942 +vt 0.862857 0.065217 +vt 0.874286 0.057971 +vt 0.874286 0.637681 +vt 0.862857 0.586957 +vt 0.862857 0.340580 +vt 0.862857 0.297101 +vt 0.874286 0.463768 +vt 0.862857 0.413043 +vt 0.862857 0.166667 +vt 0.862857 0.123188 +vt 0.874286 0.695652 +vt 0.862857 0.644928 +vt 0.862857 0.471014 +vt 0.874286 0.173913 +vt 0.862857 0.224638 +vt 0.862857 0.181159 +vt 0.797362 0.260890 +vt 0.836923 0.260890 +vt 0.817143 0.347784 +vt 0.611429 0.137681 +vt 0.600000 0.173913 +vt 0.600000 0.130435 +vt 0.611429 0.210145 +vt 0.600000 0.217391 +vt 0.611429 0.253623 +vt 0.600000 0.260870 +vt 0.611429 0.268116 +vt 0.600000 0.304348 +vt 0.611429 0.311594 +vt 0.600000 0.347826 +vt 0.611429 0.384058 +vt 0.600000 0.391304 +vt 0.611429 0.398551 +vt 0.600000 0.434783 +vt 0.611429 0.442029 +vt 0.600000 0.478261 +vt 0.611429 0.514493 +vt 0.600000 0.521739 +vt 0.600000 0.000000 +vt 0.611429 0.036232 +vt 0.600000 0.043478 +vt 0.611429 0.050725 +vt 0.600000 0.086957 +vt 0.611429 0.094203 +vt 0.645714 0.231884 +vt 0.622857 0.275362 +vt 0.622857 0.246377 +vt 0.645714 0.289855 +vt 0.622857 0.333333 +vt 0.622857 0.304348 +vt 0.622857 0.362319 +vt 0.645714 0.405797 +vt 0.622857 0.391304 +vt 0.622857 0.449275 +vt 0.622857 0.420290 +vt 0.645714 0.463768 +vt 0.622857 0.507246 +vt 0.622857 0.478261 +vt 0.622857 0.536232 +vt 0.645714 0.579710 +vt 0.622857 0.565217 +vt 0.622857 0.623188 +vt 0.622857 0.594203 +vt 0.645714 0.637681 +vt 0.622857 0.681159 +vt 0.622857 0.652174 +vt 0.645714 0.000000 +vt 0.622857 0.043478 +vt 0.622857 0.014493 +vt 0.622857 0.072464 +vt 0.645714 0.115942 +vt 0.622857 0.101449 +vt 0.622857 0.130435 +vt 0.645714 0.173913 +vt 0.622857 0.159420 +vt 0.622857 0.188406 +vt 0.622857 0.217391 +vt 0.737143 0.231884 +vt 0.714286 0.275362 +vt 0.714286 0.246377 +vt 0.737143 0.289855 +vt 0.714286 0.333333 +vt 0.714286 0.304348 +vt 0.737143 0.405797 +vt 0.714286 0.362319 +vt 0.737143 0.347826 +vt 0.714286 0.449275 +vt 0.714286 0.420290 +vt 0.737143 0.463768 +vt 0.714286 0.507246 +vt 0.714286 0.478261 +vt 0.737143 0.579710 +vt 0.714286 0.536232 +vt 0.737143 0.521739 +vt 0.714286 0.623188 +vt 0.714286 0.594203 +vt 0.737143 0.637681 +vt 0.714286 0.681159 +vt 0.714286 0.652174 +vt 0.737143 -0.000000 +vt 0.714286 0.043478 +vt 0.714286 0.014493 +vt 0.737143 0.115942 +vt 0.714286 0.072464 +vt 0.737143 0.057971 +vt 0.737143 0.173913 +vt 0.714286 0.130435 +vt 0.714286 0.188406 +vt 0.668571 0.231884 +vt 0.691429 0.275362 +vt 0.668571 0.289855 +vt 0.691429 0.333333 +vt 0.668571 0.347826 +vt 0.691429 0.362319 +vt 0.668571 0.405797 +vt 0.691429 0.449275 +vt 0.668571 0.463768 +vt 0.691429 0.507246 +vt 0.668571 0.521739 +vt 0.691429 0.536232 +vt 0.668571 0.579710 +vt 0.691429 0.594203 +vt 0.668571 0.637681 +vt 0.691429 0.681159 +vt 0.668571 0.695652 +vt 0.668571 0.000000 +vt 0.691429 0.043478 +vt 0.668571 0.057971 +vt 0.691429 0.072464 +vt 0.668571 0.115942 +vt 0.691429 0.130435 +vt 0.668571 0.173913 +vt 0.691429 0.188406 +vt 0.797366 0.029011 +vt 0.817143 0.000051 +vt 0.836920 0.086931 +vt 0.782857 0.188406 +vt 0.760000 0.231884 +vt 0.760000 0.173913 +vt 0.782857 0.275362 +vt 0.760000 0.289855 +vt 0.782857 0.333333 +vt 0.760000 0.347826 +vt 0.782857 0.362319 +vt 0.760000 0.405797 +vt 0.782857 0.449275 +vt 0.760000 0.463768 +vt 0.782857 0.507246 +vt 0.760000 0.521739 +vt 0.782857 0.536232 +vt 0.760000 0.579710 +vt 0.782857 0.594203 +vt 0.760000 0.637681 +vt 0.782857 0.681159 +vt 0.760000 0.695652 +vt 0.760000 -0.000000 +vt 0.782857 0.043478 +vt 0.760000 0.057971 +vt 0.782857 0.072464 +vt 0.760000 0.115942 +vt 0.782857 0.130435 +vt 0.697143 0.782609 +vt 0.605714 0.898551 +vt 0.605714 0.782609 +vt 0.605714 0.985507 +vt 0.697143 0.898551 +vt 0.697143 0.985507 +vt 0.697143 0.695652 +vt 0.605714 0.695652 +vt 0.731429 0.898551 +vt 0.731429 0.782609 +vt 0.571429 0.782609 +vt 0.571429 0.898551 +vt 0.411429 0.057971 +vt 0.400000 0.028986 +vt 0.411429 0.028986 +vt 0.411429 0.115942 +vt 0.400000 0.086957 +vt 0.411429 0.086957 +vt 0.240000 0.086957 +vt 0.251429 0.115942 +vt 0.240000 0.115942 +vt 0.240000 0.057971 +vt 0.251429 0.086957 +vt 0.240000 0.000000 +vt 0.251429 0.028986 +vt 0.240000 0.028986 +vt 0.251429 0.000000 +vt 0.262857 0.000000 +vt 0.262857 0.057971 +vt 0.251429 0.057971 +vt 0.382857 0.956522 +vt 0.457143 0.927536 +vt 0.457143 0.956522 +vt 0.382857 0.884058 +vt 0.368571 0.862319 +vt 0.374286 0.862319 +vt 0.457143 0.855072 +vt 0.382857 0.855072 +vt 0.468571 0.927536 +vt 0.457143 0.884058 +vt 0.468571 0.884058 +vt 0.320000 0.927536 +vt 0.360000 0.956522 +vt 0.320000 0.956522 +vt 0.320000 0.855072 +vt 0.360000 0.884058 +vt 0.320000 0.884058 +vt 0.374286 0.949275 +vt 0.360000 0.927536 +vt 0.382857 0.927536 +vt 0.400000 -0.000000 +vt 0.388571 -0.000000 +vt 0.262857 0.086957 +vt 0.262857 0.086957 +vt 0.388571 0.057971 +vt 0.388571 0.086957 +vt 0.262857 0.115942 +vt 0.388571 0.115942 +vt 0.251429 0.057971 +vt 0.262857 0.028986 +vt 0.262857 0.057971 +vt 0.388571 0.057971 +vt 0.262857 0.086957 +vt 0.262857 0.028986 +vt 0.388571 0.028986 +vt 0.388571 0.086957 +vt 0.262857 0.115942 +vt 0.388571 -0.000000 +vt 0.388571 -0.000000 +vt 0.262857 -0.000000 +vt 0.400000 -0.000000 +vt 0.400000 0.028986 +vt 0.388571 -0.000000 +vt 0.251429 0.086957 +vt 0.262857 0.086957 +vt 0.400000 0.057971 +vt 0.388571 0.028986 +vt 0.400000 0.057971 +vt 0.400000 0.086957 +vt 0.388571 0.086957 +vt 0.411429 0.086957 +vt 0.411429 0.057971 +vt 0.411429 0.028986 +vt 0.411429 -0.000000 +vt 0.411429 0.115942 +vt 0.240000 0.086957 +vt 0.251429 0.115942 +vt 0.240000 0.115942 +vt 0.240000 0.028986 +vt 0.240000 0.057971 +vt 0.240000 0.000000 +vt 0.251429 0.028986 +vt 0.251429 0.000000 +vt 0.262857 0.000000 +vt 0.834286 0.391243 +vt 0.828596 0.376812 +vt 0.834286 0.362380 +vt 0.834286 0.391243 +vt 0.828596 0.376812 +vt 0.834286 0.362380 +vt 0.834286 0.391243 +vt 0.828596 0.376812 +vt 0.834286 0.362380 +vt 0.834286 0.391243 +vt 0.828596 0.376812 +vt 0.834286 0.362380 +vt 0.834286 0.391243 +vt 0.828596 0.376812 +vt 0.834286 0.362380 +vt 0.834286 0.391243 +vt 0.828596 0.376812 +vt 0.834286 0.362380 +vt 0.834286 0.391243 +vt 0.828596 0.376812 +vt 0.834286 0.362380 +vt 0.834286 0.391243 +vt 0.828596 0.376812 +vt 0.834286 0.362380 +vt 0.791429 0.731884 +vt 0.797143 0.724638 +vt 0.800000 0.731884 +vt 0.731429 0.731884 +vt 0.737143 0.724638 +vt 0.740000 0.731884 +vt 0.748571 0.731884 +vt 0.754286 0.724638 +vt 0.757143 0.731884 +vt 0.774286 0.731884 +vt 0.765714 0.724638 +vt 0.771429 0.724638 +vt 0.782857 0.731884 +vt 0.788571 0.724638 +vt 0.740000 0.724638 +vt 0.745714 0.724638 +vt 0.765714 0.731884 +vt 0.757143 0.724638 +vt 0.762857 0.724638 +vt 0.774286 0.724638 +vt 0.780000 0.724638 +vt 0.782857 0.731884 +vt 0.774286 0.724638 +vt 0.780000 0.724638 +vt 0.765714 0.731884 +vt 0.757143 0.724638 +vt 0.762857 0.724638 +vt 0.748571 0.731884 +vt 0.740000 0.724638 +vt 0.745714 0.724638 +vt 0.788571 0.724638 +vt 0.791429 0.731884 +vt 0.771429 0.724638 +vt 0.774286 0.731884 +vt 0.754286 0.724638 +vt 0.757143 0.731884 +vt 0.731429 0.731884 +vt 0.737143 0.724638 +vt 0.740000 0.731884 +vt 0.800000 0.731884 +vt 0.791429 0.724638 +vt 0.797143 0.724638 +vt 0.774286 0.731884 +vt 0.780000 0.724638 +vt 0.782857 0.731884 +vt 0.765714 0.731884 +vt 0.757143 0.724638 +vt 0.762857 0.724638 +vt 0.748571 0.731884 +vt 0.740000 0.724638 +vt 0.745714 0.724638 +vt 0.788571 0.724638 +vt 0.791429 0.731884 +vt 0.765714 0.724638 +vt 0.771429 0.724638 +vt 0.754286 0.724638 +vt 0.757143 0.731884 +vt 0.731429 0.731884 +vt 0.737143 0.724638 +vt 0.740000 0.731884 +vt 0.797143 0.724638 +vt 0.800000 0.731884 +vt 0.800000 0.731884 +vt 0.791429 0.724638 +vt 0.797143 0.724638 +vt 0.740000 0.731884 +vt 0.731429 0.724638 +vt 0.737143 0.724638 +vt 0.748571 0.731884 +vt 0.754286 0.724638 +vt 0.757143 0.731884 +vt 0.765714 0.731884 +vt 0.771429 0.724638 +vt 0.774286 0.731884 +vt 0.782857 0.731884 +vt 0.788571 0.724638 +vt 0.791429 0.731884 +vt 0.740000 0.724638 +vt 0.745714 0.724638 +vt 0.757143 0.724638 +vt 0.762857 0.724638 +vt 0.780000 0.724638 +vt 0.800000 0.731884 +vt 0.791429 0.724638 +vt 0.797143 0.724638 +vt 0.731429 0.731884 +vt 0.737143 0.724638 +vt 0.740000 0.731884 +vt 0.748571 0.731884 +vt 0.754286 0.724638 +vt 0.757143 0.731884 +vt 0.765714 0.731884 +vt 0.771429 0.724638 +vt 0.774286 0.731884 +vt 0.782857 0.731884 +vt 0.788571 0.724638 +vt 0.791429 0.731884 +vt 0.740000 0.724638 +vt 0.745714 0.724638 +vt 0.757143 0.724638 +vt 0.762857 0.724638 +vt 0.774286 0.724638 +vt 0.780000 0.724638 +vt 0.537143 0.739130 +vt 0.354286 0.768116 +vt 0.354286 0.739130 +vt 0.571429 0.855072 +vt 0.548571 0.826087 +vt 0.571429 0.826087 +vt 0.571429 0.855072 +vt 0.548571 0.826087 +vt 0.571429 0.826087 +vt 0.548571 0.797101 +vt 0.571429 0.797101 +vt 0.571429 0.768116 +vt 0.548571 0.739130 +vt 0.571429 0.739130 +vt 0.320000 0.826087 +vt 0.342857 0.855072 +vt 0.320000 0.855072 +vt 0.320000 0.797101 +vt 0.342857 0.826087 +vt 0.320000 0.739130 +vt 0.342857 0.768116 +vt 0.320000 0.768116 +vt 0.537143 0.739130 +vt 0.354286 0.768116 +vt 0.354286 0.739130 +vt 0.537143 0.826087 +vt 0.548571 0.768116 +vt 0.537143 0.739130 +vt 0.342857 0.797101 +vt 0.354286 0.826087 +vt 0.537143 0.855072 +vt 0.354286 0.826087 +vt 0.537143 0.826087 +vt 0.342857 0.739130 +vt 0.354286 0.739130 +vt 0.537143 0.797101 +vt 0.354286 0.797101 +vt 0.548571 0.797101 +vt 0.571429 0.797101 +vt 0.571429 0.768116 +vt 0.548571 0.739130 +vt 0.571429 0.739130 +vt 0.320000 0.826087 +vt 0.342857 0.855072 +vt 0.320000 0.855072 +vt 0.320000 0.797101 +vt 0.342857 0.826087 +vt 0.320000 0.739130 +vt 0.342857 0.768116 +vt 0.320000 0.768116 +vt 0.537143 0.826087 +vt 0.548571 0.768116 +vt 0.537143 0.739130 +vt 0.342857 0.797101 +vt 0.354286 0.826087 +vt 0.537143 0.855072 +vt 0.354286 0.826087 +vt 0.537143 0.826087 +vt 0.342857 0.739130 +vt 0.354286 0.739130 +vt 0.537143 0.797101 +vt 0.354286 0.797101 +vt 0.588571 0.652174 +vt 0.622857 0.637681 +vt 0.622857 0.652174 +vt 0.571429 0.637681 +vt 0.537143 0.652174 +vt 0.537143 0.637681 +vt 0.577143 0.739130 +vt 0.588571 0.739130 +vt 0.588571 0.637681 +vt 0.577143 0.550725 +vt 0.588571 0.550725 +vt 0.571429 0.652174 +vt 0.320000 0.362319 +vt 0.091429 0.362319 +vt 0.182857 0.304348 +vt 0.182857 0.594203 +vt 0.137143 0.594203 +vt 0.091429 0.536232 +vt 0.188571 0.173913 +vt 0.234286 0.000000 +vt 0.234286 0.173913 +vt 0.182857 0.898551 +vt 0.131429 0.724638 +vt 0.182857 0.724638 +vt 0.137143 0.000000 +vt 0.137143 0.173913 +vt 0.320000 0.898551 +vt 0.320000 0.724638 +vt 0.091429 0.000000 +vt 0.091429 0.173913 +vt 0.337143 0.304348 +vt 0.320000 0.289855 +vt 0.337143 0.289855 +vt 0.371429 0.304348 +vt 0.354286 0.289855 +vt 0.371429 0.289855 +vt 0.388571 0.304348 +vt 0.388571 0.289855 +vt 0.354286 0.304348 +vt 0.371429 0.115967 +vt 0.383543 0.128694 +vt 0.388562 0.159420 +vt 0.371429 0.289830 +vt 0.354296 0.246377 +vt 0.371429 0.202924 +vt 0.371429 0.289830 +vt 0.354296 0.246377 +vt 0.371429 0.202924 +vt 0.371429 0.115967 +vt 0.383543 0.128694 +vt 0.388562 0.159420 +vt 0.354286 0.304348 +vt 0.337143 0.289855 +vt 0.354286 0.289855 +vt 0.388571 0.304348 +vt 0.371429 0.289855 +vt 0.388571 0.289855 +vt 0.371429 0.304348 +vt 0.337143 0.304348 +vt 0.320000 0.289855 +vt 0.411429 -0.000000 +vt 0.388571 0.086957 +vt 0.565714 0.434783 +vt 0.577143 0.536232 +vt 0.565714 0.565217 +vt 0.531429 0.463768 +vt 0.542857 0.536232 +vt 0.531429 0.536232 +vt 0.554286 0.434783 +vt 0.554286 0.565217 +vt 0.542857 0.463768 +vt 0.245714 0.898551 +vt 0.228571 0.913043 +vt 0.234286 0.898551 +vt 0.160000 0.956522 +vt 0.165714 0.942029 +vt 0.165714 0.956522 +vt 0.182857 0.942029 +vt 0.165714 0.927536 +vt 0.182857 0.927536 +vt 0.182857 0.913043 +vt 0.165714 0.898551 +vt 0.182857 0.898551 +vt 0.165714 0.913043 +vt 0.182857 0.956522 +vt 0.222857 0.898551 +vt 0.205714 0.913043 +vt 0.211429 0.898551 +vt 0.200000 0.898551 +vt 0.182857 0.913043 +vt 0.188571 0.898551 +vt 0.268571 0.898551 +vt 0.251429 0.913043 +vt 0.257143 0.898551 +vt 0.228571 0.927536 +vt 0.245714 0.942029 +vt 0.234286 0.942029 +vt 0.205714 0.927536 +vt 0.222857 0.942029 +vt 0.211429 0.942029 +vt 0.182857 0.927536 +vt 0.200000 0.942029 +vt 0.188571 0.942029 +vt 0.251429 0.927536 +vt 0.268571 0.942029 +vt 0.257143 0.942029 +vt 0.234286 0.956522 +vt 0.245714 0.956522 +vt 0.188571 0.956522 +vt 0.200000 0.956522 +vt 0.274286 0.913043 +vt 0.211429 0.956522 +vt 0.222857 0.956522 +vt 0.257143 0.956522 +vt 0.268571 0.956522 +vt 0.288571 0.949275 +vt 0.294286 0.920290 +vt 0.294286 0.949275 +vt 0.311429 0.949275 +vt 0.317143 0.920290 +vt 0.317143 0.949275 +vt 0.277143 0.949275 +vt 0.282857 0.920290 +vt 0.282857 0.949275 +vt 0.300000 0.949275 +vt 0.305714 0.920290 +vt 0.305714 0.949275 +vt 0.277143 0.920290 +vt 0.285714 0.913043 +vt 0.300000 0.920290 +vt 0.308571 0.913043 +vt 0.288571 0.920290 +vt 0.297143 0.913043 +vt 0.311429 0.920290 +vt 0.320000 0.913043 +vt 0.274286 0.913043 +vt 0.285714 0.898551 +vt 0.308571 0.898551 +vt 0.297143 0.898551 +vt 0.320000 0.898551 +vt 0.782857 0.731884 +vt 0.774286 0.724638 +vt 0.780000 0.724638 +vt 0.765714 0.731884 +vt 0.757143 0.724638 +vt 0.762857 0.724638 +vt 0.748571 0.731884 +vt 0.740000 0.724638 +vt 0.745714 0.724638 +vt 0.788571 0.724638 +vt 0.791429 0.731884 +vt 0.771429 0.724638 +vt 0.774286 0.731884 +vt 0.754286 0.724638 +vt 0.757143 0.731884 +vt 0.731429 0.731884 +vt 0.737143 0.724638 +vt 0.740000 0.731884 +vt 0.800000 0.731884 +vt 0.791429 0.724638 +vt 0.797143 0.724638 +vt 0.782857 0.731884 +vt 0.774286 0.724638 +vt 0.780000 0.724638 +vt 0.765714 0.731884 +vt 0.757143 0.724638 +vt 0.762857 0.724638 +vt 0.748571 0.731884 +vt 0.740000 0.724638 +vt 0.745714 0.724638 +vt 0.788571 0.724638 +vt 0.791429 0.731884 +vt 0.771429 0.724638 +vt 0.774286 0.731884 +vt 0.754286 0.724638 +vt 0.757143 0.731884 +vt 0.731429 0.731884 +vt 0.737143 0.724638 +vt 0.740000 0.731884 +vt 0.800000 0.731884 +vt 0.791429 0.724638 +vt 0.797143 0.724638 +vt 0.800000 0.731884 +vt 0.791429 0.724638 +vt 0.797143 0.724638 +vt 0.731429 0.731884 +vt 0.737143 0.724638 +vt 0.740000 0.731884 +vt 0.748571 0.731884 +vt 0.754286 0.724638 +vt 0.757143 0.731884 +vt 0.765714 0.731884 +vt 0.771429 0.724638 +vt 0.774286 0.731884 +vt 0.791429 0.731884 +vt 0.782857 0.724638 +vt 0.788571 0.724638 +vt 0.740000 0.724638 +vt 0.745714 0.724638 +vt 0.757143 0.724638 +vt 0.762857 0.724638 +vt 0.780000 0.724638 +vt 0.782857 0.731884 +vt 0.800000 0.731884 +vt 0.791429 0.724638 +vt 0.797143 0.724638 +vt 0.731429 0.731884 +vt 0.737143 0.724638 +vt 0.740000 0.731884 +vt 0.748571 0.731884 +vt 0.754286 0.724638 +vt 0.757143 0.731884 +vt 0.765714 0.731884 +vt 0.771429 0.724638 +vt 0.774286 0.731884 +vt 0.782857 0.731884 +vt 0.788571 0.724638 +vt 0.791429 0.731884 +vt 0.740000 0.724638 +vt 0.745714 0.724638 +vt 0.757143 0.724638 +vt 0.762857 0.724638 +vt 0.774286 0.724638 +vt 0.780000 0.724638 +vt 0.774286 0.731884 +vt 0.780000 0.724638 +vt 0.782857 0.731884 +vt 0.765714 0.731884 +vt 0.757143 0.724638 +vt 0.762857 0.724638 +vt 0.748571 0.731884 +vt 0.740000 0.724638 +vt 0.745714 0.724638 +vt 0.791429 0.731884 +vt 0.782857 0.724638 +vt 0.788571 0.724638 +vt 0.771429 0.724638 +vt 0.754286 0.724638 +vt 0.757143 0.731884 +vt 0.731429 0.731884 +vt 0.737143 0.724638 +vt 0.740000 0.731884 +vt 0.800000 0.731884 +vt 0.791429 0.724638 +vt 0.797143 0.724638 +vt 0.091429 0.420290 +vt 0.320000 0.478261 +vt 0.582857 0.347826 +vt 0.582857 0.521739 +vt 0.582857 0.043478 +vt 0.502857 0.695652 +vt 0.502857 0.579710 +vt 0.491429 0.739130 +vt 0.320000 0.536232 +vt 0.862857 0.572464 +vt 0.862857 0.282609 +vt 0.862857 0.398551 +vt 0.862857 0.108696 +vt 0.862857 0.630435 +vt 0.862857 0.456522 +vt 0.862857 0.688406 +vt 0.862857 0.514493 +vt 0.805723 0.340023 +vt 0.797362 0.318820 +vt 0.794302 0.289855 +vt 0.805723 0.239687 +vt 0.817143 0.231926 +vt 0.828563 0.239687 +vt 0.839984 0.289855 +vt 0.836924 0.318820 +vt 0.828563 0.340023 +vt 0.611429 0.166667 +vt 0.611429 0.181159 +vt 0.611429 0.224638 +vt 0.611429 0.297101 +vt 0.611429 0.340580 +vt 0.611429 0.355072 +vt 0.611429 0.427536 +vt 0.611429 0.471014 +vt 0.611429 0.485507 +vt 0.611429 0.007246 +vt 0.611429 0.079710 +vt 0.611429 0.123188 +vt 0.645714 0.347826 +vt 0.645714 0.521739 +vt 0.645714 0.695652 +vt 0.645714 0.057971 +vt 0.714286 0.391304 +vt 0.714286 0.565217 +vt 0.737143 0.695652 +vt 0.714286 0.101449 +vt 0.714286 0.159420 +vt 0.714286 0.217391 +vt 0.691429 0.246377 +vt 0.691429 0.304348 +vt 0.691429 0.391304 +vt 0.691429 0.420290 +vt 0.691429 0.478261 +vt 0.691429 0.565217 +vt 0.691429 0.623188 +vt 0.691429 0.652174 +vt 0.691429 0.014493 +vt 0.691429 0.101449 +vt 0.691429 0.159420 +vt 0.691429 0.217391 +vt 0.828562 0.108131 +vt 0.797366 0.086931 +vt 0.817143 0.115891 +vt 0.805725 0.108131 +vt 0.794306 0.057971 +vt 0.805725 0.007811 +vt 0.828562 0.007811 +vt 0.836920 0.029011 +vt 0.839980 0.057971 +vt 0.782857 0.217391 +vt 0.782857 0.246377 +vt 0.782857 0.304348 +vt 0.782857 0.391304 +vt 0.782857 0.420290 +vt 0.782857 0.478261 +vt 0.782857 0.565217 +vt 0.782857 0.623188 +vt 0.782857 0.652174 +vt 0.782857 0.014493 +vt 0.782857 0.101449 +vt 0.782857 0.159420 +vt 0.400000 0.115942 +vt 0.360000 0.855072 +vt 0.368571 0.949275 +vt 0.388571 0.115942 +vt 0.262857 -0.000000 +vt 0.400000 0.115942 +vt 0.838309 0.366607 +vt 0.839976 0.376812 +vt 0.838309 0.387016 +vt 0.830262 0.387016 +vt 0.830262 0.366607 +vt 0.838309 0.366607 +vt 0.839976 0.376812 +vt 0.838309 0.387016 +vt 0.830262 0.387016 +vt 0.830262 0.366607 +vt 0.838309 0.366607 +vt 0.839976 0.376812 +vt 0.838309 0.387016 +vt 0.830262 0.387016 +vt 0.830262 0.366607 +vt 0.838309 0.366607 +vt 0.839976 0.376812 +vt 0.838309 0.387016 +vt 0.830262 0.387016 +vt 0.830262 0.366607 +vt 0.838309 0.366607 +vt 0.839976 0.376812 +vt 0.838309 0.387016 +vt 0.830262 0.387016 +vt 0.830262 0.366607 +vt 0.838309 0.366607 +vt 0.839976 0.376812 +vt 0.838309 0.387016 +vt 0.830262 0.387016 +vt 0.830262 0.366607 +vt 0.838309 0.366607 +vt 0.839976 0.376812 +vt 0.838309 0.387016 +vt 0.830262 0.387016 +vt 0.830262 0.366607 +vt 0.838309 0.366607 +vt 0.839976 0.376812 +vt 0.838309 0.387016 +vt 0.830262 0.387016 +vt 0.830262 0.366607 +vt 0.791429 0.724638 +vt 0.731429 0.724638 +vt 0.748571 0.724638 +vt 0.782857 0.724638 +vt 0.782857 0.724638 +vt 0.765714 0.724638 +vt 0.748571 0.724638 +vt 0.731429 0.724638 +vt 0.774286 0.724638 +vt 0.782857 0.724638 +vt 0.748571 0.724638 +vt 0.731429 0.724638 +vt 0.791429 0.724638 +vt 0.731429 0.731884 +vt 0.748571 0.724638 +vt 0.765714 0.724638 +vt 0.782857 0.724638 +vt 0.774286 0.724638 +vt 0.731429 0.724638 +vt 0.748571 0.724638 +vt 0.765714 0.724638 +vt 0.782857 0.724638 +vt 0.537143 0.768116 +vt 0.548571 0.855072 +vt 0.548571 0.855072 +vt 0.537143 0.768116 +vt 0.354286 0.855072 +vt 0.354286 0.855072 +vt 0.137143 0.304348 +vt 0.182857 0.173913 +vt 0.320000 0.173913 +vt 0.320000 0.536232 +vt 0.137143 0.724638 +vt 0.091429 0.724638 +vt 0.188571 0.000000 +vt 0.131429 0.898551 +vt 0.320000 0.304348 +vt 0.383543 0.190146 +vt 0.371429 0.202874 +vt 0.359314 0.190146 +vt 0.354296 0.159420 +vt 0.359314 0.128694 +vt 0.359314 0.277103 +vt 0.359314 0.215651 +vt 0.383543 0.215651 +vt 0.388562 0.246377 +vt 0.383543 0.277103 +vt 0.359314 0.277103 +vt 0.359314 0.215651 +vt 0.383543 0.215651 +vt 0.388562 0.246377 +vt 0.383543 0.277103 +vt 0.383543 0.190146 +vt 0.371429 0.202874 +vt 0.359314 0.190146 +vt 0.354296 0.159420 +vt 0.359314 0.128694 +vt 0.320000 0.304348 +vt 0.577143 0.463768 +vt 0.160000 0.942029 +vt 0.274286 0.927536 +vt 0.274286 0.898551 +vt 0.782857 0.724638 +vt 0.765714 0.724638 +vt 0.748571 0.724638 +vt 0.731429 0.724638 +vt 0.782857 0.724638 +vt 0.765714 0.724638 +vt 0.748571 0.724638 +vt 0.731429 0.724638 +vt 0.731429 0.724638 +vt 0.748571 0.724638 +vt 0.765714 0.724638 +vt 0.774286 0.724638 +vt 0.731429 0.724638 +vt 0.748571 0.724638 +vt 0.765714 0.724638 +vt 0.782857 0.724638 +vt 0.774286 0.724638 +vt 0.765714 0.724638 +vt 0.748571 0.724638 +vt 0.731429 0.724638 +vt 0.577143 0.398551 +vt 0.411429 0.434783 +vt 0.411429 0.398551 +vt 0.577143 0.289855 +vt 0.411429 0.326087 +vt 0.411429 0.289855 +vt 0.577143 0.108696 +vt 0.411429 0.144928 +vt 0.411429 0.108696 +vt 0.577143 0.000000 +vt 0.411429 0.036232 +vt 0.411429 0.000000 +vt 0.577143 0.326087 +vt 0.411429 0.362319 +vt 0.577143 0.144928 +vt 0.411429 0.181159 +vt 0.577143 0.217391 +vt 0.411429 0.253623 +vt 0.411429 0.217391 +vt 0.577143 0.036232 +vt 0.411429 0.072464 +vt 0.577143 0.362319 +vt 0.577143 0.181159 +vt 0.577143 0.253623 +vt 0.577143 0.072464 +vt 0.931429 0.282609 +vt 0.925714 0.239130 +vt 0.931429 0.239130 +vt 0.931429 0.050725 +vt 0.925714 0.007246 +vt 0.931429 0.007246 +vt 0.931429 0.166667 +vt 0.925714 0.123188 +vt 0.931429 0.123188 +vt 0.931429 0.340580 +vt 0.925714 0.297101 +vt 0.931429 0.297101 +vt 0.931429 0.514493 +vt 0.925714 0.471014 +vt 0.931429 0.471014 +vt 0.931429 0.108696 +vt 0.925714 0.065217 +vt 0.931429 0.065217 +vt 0.931429 0.456522 +vt 0.925714 0.413043 +vt 0.931429 0.413043 +vt 0.931429 0.398551 +vt 0.925714 0.355072 +vt 0.931429 0.355072 +vt 0.931429 0.688406 +vt 0.925714 0.644928 +vt 0.931429 0.644928 +vt 0.931429 0.224638 +vt 0.925714 0.181159 +vt 0.931429 0.181159 +vt 0.931429 0.630435 +vt 0.925714 0.586957 +vt 0.931429 0.586957 +vt 0.931429 0.572464 +vt 0.925714 0.528986 +vt 0.931429 0.528986 +vt 0.897143 0.289855 +vt 0.897143 0.231884 +vt 0.925714 0.340580 +vt 0.925714 0.398551 +vt 0.897143 0.347826 +vt 0.925714 0.456522 +vt 0.897143 0.405797 +vt 0.925714 0.514493 +vt 0.897143 0.463768 +vt 0.925714 0.572464 +vt 0.897143 0.521739 +vt 0.897143 0.637681 +vt 0.897143 0.579710 +vt 0.925714 0.688406 +vt 0.925714 0.050725 +vt 0.897143 -0.000000 +vt 0.897143 0.115942 +vt 0.897143 0.057971 +vt 0.925714 0.166667 +vt 0.925714 0.224638 +vt 0.897143 0.173913 +vt 0.897143 0.695652 +vt 0.840000 0.275362 +vt 0.840000 0.246377 +vt 0.840000 0.304348 +vt 0.840000 0.362319 +vt 0.840000 0.420290 +vt 0.840000 0.478261 +vt 0.840000 0.536232 +vt 0.840000 0.623188 +vt 0.840000 0.594203 +vt 0.840000 0.652174 +vt 0.840000 0.014493 +vt 0.840000 0.072464 +vt 0.840000 0.130435 +vt 0.840000 0.217391 +vt 0.840000 0.188406 +vt 0.611429 0.231884 +vt 0.622857 0.260870 +vt 0.611429 0.260870 +vt 0.611429 0.086957 +vt 0.622857 0.115942 +vt 0.611429 0.115942 +vt 0.611429 -0.000000 +vt 0.622857 0.028986 +vt 0.611429 0.028986 +vt 0.622857 0.289855 +vt 0.611429 0.289855 +vt 0.622857 0.144928 +vt 0.611429 0.144928 +vt 0.611429 0.173913 +vt 0.622857 0.202899 +vt 0.611429 0.202899 +vt 0.622857 0.057971 +vt 0.611429 0.057971 +vt 0.622857 0.318841 +vt 0.611429 0.318841 +vt 0.622857 0.173913 +vt 0.622857 0.231884 +vt 0.622857 0.086957 +vt 0.622857 0.347826 +vt 0.611429 0.347826 +vt 0.714286 0.000000 +vt 0.691429 0.028986 +vt 0.691429 0.000000 +vt 0.714286 0.260870 +vt 0.691429 0.289855 +vt 0.691429 0.260870 +vt 0.714286 0.115942 +vt 0.691429 0.144928 +vt 0.691429 0.115942 +vt 0.714286 0.173913 +vt 0.691429 0.202899 +vt 0.691429 0.173913 +vt 0.714286 0.028986 +vt 0.691429 0.057971 +vt 0.714286 0.289855 +vt 0.691429 0.318841 +vt 0.714286 0.144928 +vt 0.714286 0.202899 +vt 0.691429 0.231884 +vt 0.714286 0.057971 +vt 0.691429 0.086957 +vt 0.714286 0.318841 +vt 0.691429 0.347826 +vt 0.714286 0.231884 +vt 0.714286 0.086957 +vt 0.794286 -0.000000 +vt 0.782857 0.028986 +vt 0.782857 -0.000000 +vt 0.794286 0.260870 +vt 0.782857 0.289855 +vt 0.782857 0.260870 +vt 0.794286 0.115942 +vt 0.782857 0.144928 +vt 0.782857 0.115942 +vt 0.794286 0.173913 +vt 0.782857 0.202899 +vt 0.782857 0.173913 +vt 0.794286 0.028986 +vt 0.782857 0.057971 +vt 0.794286 0.289855 +vt 0.782857 0.318841 +vt 0.794286 0.144928 +vt 0.794286 0.202899 +vt 0.782857 0.231884 +vt 0.794286 0.057971 +vt 0.782857 0.086957 +vt 0.794286 0.318841 +vt 0.782857 0.347826 +vt 0.794286 0.231884 +vt 0.794286 0.086957 +vt 0.794286 0.144928 +vt 0.817143 0.130435 +vt 0.817143 0.144928 +vt 0.794286 0.202899 +vt 0.817143 0.188406 +vt 0.817143 0.202899 +vt 0.794286 0.202899 +vt 0.817143 0.188406 +vt 0.817143 0.202899 +vt 0.794286 0.144928 +vt 0.817143 0.130435 +vt 0.817143 0.144928 +vt 0.794286 0.217391 +vt 0.817143 0.202899 +vt 0.817143 0.217391 +vt 0.794286 0.188406 +vt 0.817143 0.173913 +vt 0.794286 0.130435 +vt 0.817143 0.115942 +vt 0.794286 0.231884 +vt 0.817143 0.231884 +vt 0.794286 0.173913 +vt 0.817143 0.159420 +vt 0.794286 0.173913 +vt 0.817143 0.159420 +vt 0.817143 0.173913 +vt 0.794286 0.130435 +vt 0.817143 0.115942 +vt 0.817143 0.130435 +vt 0.794286 0.159420 +vt 0.817143 0.144928 +vt 0.794286 0.231884 +vt 0.817143 0.217391 +vt 0.817143 0.231884 +vt 0.817143 0.144928 +vt 0.794286 0.144928 +vt 0.817143 0.130435 +vt 0.794286 0.188406 +vt 0.794286 0.159420 +vt 0.817143 0.159420 +vt 0.794286 0.130435 +vt 0.817143 0.115942 +vt 0.794286 0.188406 +vt 0.817143 0.173913 +vt 0.817143 0.188406 +vt 0.794286 0.173913 +vt 0.794286 0.231884 +vt 0.817143 0.217391 +vt 0.817143 0.231884 +vt 0.794286 0.159420 +vt 0.794286 0.217391 +vt 0.817143 0.202899 +vt 0.794286 0.202899 +vt 0.794286 0.159420 +vt 0.817143 0.159420 +vt 0.794286 0.130435 +vt 0.817143 0.115942 +vt 0.794286 0.188406 +vt 0.817143 0.173913 +vt 0.817143 0.188406 +vt 0.794286 0.173913 +vt 0.794286 0.231884 +vt 0.817143 0.217391 +vt 0.817143 0.231884 +vt 0.794286 0.217391 +vt 0.794286 0.202899 +vt 0.794286 0.144928 +vt 0.817143 0.130435 +vt 0.817143 0.144928 +vt 0.794286 0.202899 +vt 0.817143 0.188406 +vt 0.817143 0.202899 +vt 0.794286 0.202899 +vt 0.817143 0.188406 +vt 0.817143 0.202899 +vt 0.794286 0.144928 +vt 0.817143 0.130435 +vt 0.817143 0.144928 +vt 0.794286 0.217391 +vt 0.817143 0.202899 +vt 0.817143 0.217391 +vt 0.794286 0.188406 +vt 0.817143 0.173913 +vt 0.794286 0.115942 +vt 0.817143 0.115942 +vt 0.794286 0.231884 +vt 0.817143 0.231884 +vt 0.794286 0.173913 +vt 0.817143 0.159420 +vt 0.794286 0.173913 +vt 0.817143 0.159420 +vt 0.817143 0.173913 +vt 0.794286 0.130435 +vt 0.817143 0.115942 +vt 0.817143 0.130435 +vt 0.794286 0.159420 +vt 0.817143 0.144928 +vt 0.794286 0.231884 +vt 0.817143 0.217391 +vt 0.817143 0.231884 +vt 0.817143 0.144928 +vt 0.794286 0.144928 +vt 0.817143 0.130435 +vt 0.794286 0.188406 +vt 0.794286 0.159420 +vt 0.817143 0.159420 +vt 0.794286 0.130435 +vt 0.817143 0.115942 +vt 0.794286 0.188406 +vt 0.817143 0.173913 +vt 0.817143 0.188406 +vt 0.794286 0.173913 +vt 0.794286 0.231884 +vt 0.817143 0.217391 +vt 0.817143 0.231884 +vt 0.794286 0.159420 +vt 0.794286 0.217391 +vt 0.817143 0.202899 +vt 0.794286 0.217391 +vt 0.794286 0.202899 +vt 0.794286 0.159420 +vt 0.817143 0.159420 +vt 0.794286 0.130435 +vt 0.817143 0.115942 +vt 0.794286 0.188406 +vt 0.817143 0.173913 +vt 0.817143 0.188406 +vt 0.794286 0.173913 +vt 0.794286 0.231884 +vt 0.817143 0.217391 +vt 0.817143 0.231884 +vt 0.794286 0.217391 +vt 0.794286 0.202899 +vt 0.457143 1.000000 +vt 0.382857 1.000000 +vt 0.485714 0.971014 +vt 0.502857 0.855072 +vt 0.502857 0.971014 +vt 0.508571 0.971014 +vt 0.514286 0.855072 +vt 0.514286 0.971014 +vt 0.474286 0.971014 +vt 0.480000 0.855072 +vt 0.480000 0.971014 +vt 0.520000 0.971014 +vt 0.520000 0.855072 +vt 0.468571 0.855072 +vt 0.468571 0.971014 +vt 0.485714 0.855072 +vt 0.537143 0.855072 +vt 0.537143 0.971014 +vt 0.360000 1.000000 +vt 0.320000 1.000000 +vt 0.374286 0.992754 +vt 0.811429 0.347826 +vt 0.805714 0.362319 +vt 0.805714 0.347826 +vt 0.828571 0.347826 +vt 0.834286 0.362319 +vt 0.828571 0.362319 +vt 0.800000 0.362319 +vt 0.800000 0.347826 +vt 0.794286 0.362319 +vt 0.794286 0.347826 +vt 0.817143 0.347826 +vt 0.811429 0.362319 +vt 0.822857 0.347826 +vt 0.817143 0.362319 +vt 0.822857 0.362319 +vt 0.840000 0.347826 +vt 0.834286 0.347826 +vt 0.834286 0.347826 +vt 0.840000 0.362319 +vt 0.834286 0.362319 +vt 0.822857 0.347826 +vt 0.817143 0.362319 +vt 0.817143 0.347826 +vt 0.805714 0.347826 +vt 0.800000 0.362319 +vt 0.800000 0.347826 +vt 0.811429 0.347826 +vt 0.811429 0.362319 +vt 0.794286 0.362319 +vt 0.794286 0.347826 +vt 0.828571 0.362319 +vt 0.822857 0.362319 +vt 0.828571 0.347826 +vt 0.805714 0.362319 +vt 0.840000 0.347826 +vt 0.834286 0.362319 +vt 0.834286 0.347826 +vt 0.828571 0.347826 +vt 0.822857 0.362319 +vt 0.822857 0.347826 +vt 0.817143 0.347826 +vt 0.811429 0.362319 +vt 0.811429 0.347826 +vt 0.805714 0.347826 +vt 0.800000 0.362319 +vt 0.800000 0.347826 +vt 0.828571 0.362319 +vt 0.817143 0.362319 +vt 0.805714 0.362319 +vt 0.794286 0.362319 +vt 0.794286 0.347826 +vt 0.817143 0.347826 +vt 0.822857 0.362319 +vt 0.817143 0.362319 +vt 0.811429 0.362319 +vt 0.811429 0.347826 +vt 0.828571 0.347826 +vt 0.822857 0.347826 +vt 0.834286 0.347826 +vt 0.828571 0.362319 +vt 0.805714 0.347826 +vt 0.800000 0.362319 +vt 0.800000 0.347826 +vt 0.794286 0.362319 +vt 0.794286 0.347826 +vt 0.805714 0.362319 +vt 0.840000 0.347826 +vt 0.834286 0.362319 +vt 0.840000 0.347826 +vt 0.834286 0.362319 +vt 0.834286 0.347826 +vt 0.805714 0.347826 +vt 0.811429 0.362319 +vt 0.805714 0.362319 +vt 0.800000 0.347826 +vt 0.794286 0.362319 +vt 0.794286 0.347826 +vt 0.828571 0.347826 +vt 0.828571 0.362319 +vt 0.811429 0.347826 +vt 0.817143 0.362319 +vt 0.822857 0.347826 +vt 0.817143 0.347826 +vt 0.800000 0.362319 +vt 0.822857 0.362319 +vt 0.834286 0.347826 +vt 0.840000 0.362319 +vt 0.834286 0.362319 +vt 0.822857 0.347826 +vt 0.817143 0.362319 +vt 0.817143 0.347826 +vt 0.805714 0.347826 +vt 0.800000 0.362319 +vt 0.800000 0.347826 +vt 0.811429 0.362319 +vt 0.811429 0.347826 +vt 0.794286 0.347826 +vt 0.794286 0.362319 +vt 0.828571 0.347826 +vt 0.822857 0.362319 +vt 0.828571 0.362319 +vt 0.805714 0.362319 +vt 0.840000 0.347826 +vt 0.834286 0.362319 +vt 0.834286 0.347826 +vt 0.811429 0.347826 +vt 0.805714 0.362319 +vt 0.805714 0.347826 +vt 0.800000 0.347826 +vt 0.794286 0.362319 +vt 0.794286 0.347826 +vt 0.828571 0.362319 +vt 0.828571 0.347826 +vt 0.817143 0.347826 +vt 0.811429 0.362319 +vt 0.822857 0.347826 +vt 0.817143 0.362319 +vt 0.800000 0.362319 +vt 0.822857 0.362319 +vt 0.840000 0.347826 +vt 0.834286 0.362319 +vt 0.834286 0.347826 +vt 0.811429 0.347826 +vt 0.805714 0.362319 +vt 0.805714 0.347826 +vt 0.794286 0.347826 +vt 0.800000 0.362319 +vt 0.794286 0.362319 +vt 0.828571 0.362319 +vt 0.828571 0.347826 +vt 0.817143 0.347826 +vt 0.811429 0.362319 +vt 0.822857 0.347826 +vt 0.817143 0.362319 +vt 0.800000 0.347826 +vt 0.822857 0.362319 +vt 0.731429 0.695652 +vt 0.737143 0.695652 +vt 0.754286 0.695652 +vt 0.771429 0.695652 +vt 0.788571 0.695652 +vt 0.745714 0.695652 +vt 0.762857 0.695652 +vt 0.774286 0.695652 +vt 0.780000 0.695652 +vt 0.797143 0.695652 +vt 0.742800 0.862319 +vt 0.737143 0.876666 +vt 0.731486 0.862319 +vt 0.740000 0.818841 +vt 0.745714 0.847826 +vt 0.740000 0.847826 +vt 0.765714 0.818841 +vt 0.757143 0.847826 +vt 0.757143 0.818841 +vt 0.782857 0.818841 +vt 0.774286 0.847826 +vt 0.774286 0.818841 +vt 0.800000 0.818841 +vt 0.791429 0.847826 +vt 0.791429 0.818841 +vt 0.731429 0.818841 +vt 0.737143 0.847826 +vt 0.731429 0.847826 +vt 0.748571 0.818841 +vt 0.754286 0.847826 +vt 0.748571 0.847826 +vt 0.771429 0.847826 +vt 0.765714 0.847826 +vt 0.782857 0.847826 +vt 0.782857 0.818841 +vt 0.774286 0.818841 +vt 0.757143 0.818841 +vt 0.740000 0.818841 +vt 0.765714 0.818841 +vt 0.748571 0.818841 +vt 0.731429 0.818841 +vt 0.800000 0.818841 +vt 0.791429 0.818841 +vt 0.782857 0.847826 +vt 0.765714 0.847826 +vt 0.754286 0.847826 +vt 0.748571 0.847826 +vt 0.737143 0.847826 +vt 0.731429 0.847826 +vt 0.791429 0.847826 +vt 0.780000 0.847826 +vt 0.774286 0.847826 +vt 0.762857 0.847826 +vt 0.757143 0.847826 +vt 0.740000 0.847826 +vt 0.742800 0.862319 +vt 0.737143 0.876666 +vt 0.731486 0.862319 +vt 0.797143 0.695652 +vt 0.774286 0.695652 +vt 0.780000 0.695652 +vt 0.762857 0.695652 +vt 0.745714 0.695652 +vt 0.788571 0.695652 +vt 0.771429 0.695652 +vt 0.748571 0.695652 +vt 0.754286 0.695652 +vt 0.731429 0.695652 +vt 0.737143 0.695652 +vt 0.774286 0.818841 +vt 0.757143 0.818841 +vt 0.740000 0.818841 +vt 0.782857 0.818841 +vt 0.765714 0.818841 +vt 0.748571 0.818841 +vt 0.731429 0.818841 +vt 0.791429 0.818841 +vt 0.782857 0.847826 +vt 0.771429 0.847826 +vt 0.765714 0.847826 +vt 0.754286 0.847826 +vt 0.748571 0.847826 +vt 0.737143 0.847826 +vt 0.731429 0.847826 +vt 0.800000 0.818841 +vt 0.791429 0.847826 +vt 0.774286 0.847826 +vt 0.762857 0.847826 +vt 0.757143 0.847826 +vt 0.740000 0.847826 +vt 0.742800 0.862319 +vt 0.737143 0.876666 +vt 0.731486 0.862319 +vt 0.791429 0.695652 +vt 0.797143 0.695652 +vt 0.780000 0.695652 +vt 0.762857 0.695652 +vt 0.745714 0.695652 +vt 0.788571 0.695652 +vt 0.771429 0.695652 +vt 0.754286 0.695652 +vt 0.731429 0.695652 +vt 0.737143 0.695652 +vt 0.731429 0.695652 +vt 0.737143 0.695652 +vt 0.748571 0.695652 +vt 0.754286 0.695652 +vt 0.771429 0.695652 +vt 0.788571 0.695652 +vt 0.745714 0.695652 +vt 0.762857 0.695652 +vt 0.774286 0.695652 +vt 0.780000 0.695652 +vt 0.791429 0.695652 +vt 0.797143 0.695652 +vt 0.742800 0.862319 +vt 0.737143 0.876666 +vt 0.731486 0.862319 +vt 0.748571 0.818841 +vt 0.740000 0.847826 +vt 0.740000 0.818841 +vt 0.757143 0.818841 +vt 0.762857 0.847826 +vt 0.757143 0.847826 +vt 0.774286 0.818841 +vt 0.780000 0.847826 +vt 0.774286 0.847826 +vt 0.791429 0.818841 +vt 0.797143 0.847826 +vt 0.791429 0.847826 +vt 0.731429 0.818841 +vt 0.737143 0.847826 +vt 0.731429 0.847826 +vt 0.754286 0.847826 +vt 0.748571 0.847826 +vt 0.765714 0.818841 +vt 0.771429 0.847826 +vt 0.765714 0.847826 +vt 0.782857 0.818841 +vt 0.788571 0.847826 +vt 0.782857 0.847826 +vt 0.800000 0.818841 +vt 0.731429 0.695652 +vt 0.737143 0.695652 +vt 0.748571 0.695652 +vt 0.754286 0.695652 +vt 0.771429 0.695652 +vt 0.788571 0.695652 +vt 0.745714 0.695652 +vt 0.762857 0.695652 +vt 0.774286 0.695652 +vt 0.780000 0.695652 +vt 0.791429 0.695652 +vt 0.797143 0.695652 +vt 0.742800 0.862319 +vt 0.737143 0.876666 +vt 0.731486 0.862319 +vt 0.748571 0.818841 +vt 0.740000 0.847826 +vt 0.740000 0.818841 +vt 0.765714 0.818841 +vt 0.757143 0.847826 +vt 0.757143 0.818841 +vt 0.774286 0.818841 +vt 0.780000 0.847826 +vt 0.774286 0.847826 +vt 0.800000 0.818841 +vt 0.791429 0.847826 +vt 0.791429 0.818841 +vt 0.731429 0.818841 +vt 0.737143 0.847826 +vt 0.731429 0.847826 +vt 0.754286 0.847826 +vt 0.748571 0.847826 +vt 0.765714 0.847826 +vt 0.782857 0.818841 +vt 0.788571 0.847826 +vt 0.782857 0.847826 +vt 0.411429 0.318841 +vt 0.388571 0.289855 +vt 0.411429 0.289855 +vt 0.411429 0.144928 +vt 0.388571 0.115942 +vt 0.411429 0.115942 +vt 0.411429 0.202899 +vt 0.388571 0.173913 +vt 0.411429 0.173913 +vt 0.388571 0.260870 +vt 0.411429 0.260870 +vt 0.411429 0.347826 +vt 0.388571 0.318841 +vt 0.388571 0.144928 +vt 0.411429 0.231884 +vt 0.388571 0.202899 +vt 0.388571 0.231884 +vt 0.354286 0.137681 +vt 0.342857 0.115942 +vt 0.354286 0.115942 +vt 0.354286 0.181159 +vt 0.342857 0.159420 +vt 0.354286 0.159420 +vt 0.354286 0.224638 +vt 0.342857 0.202899 +vt 0.354286 0.202899 +vt 0.354286 0.268116 +vt 0.342857 0.246377 +vt 0.354286 0.246377 +vt 0.411429 0.260870 +vt 0.388571 0.231884 +vt 0.411429 0.231884 +vt 0.388571 0.202899 +vt 0.411429 0.202899 +vt 0.342857 0.224638 +vt 0.354286 0.289855 +vt 0.342857 0.268116 +vt 0.342857 0.137681 +vt 0.342857 0.181159 +vt 0.411429 0.173913 +vt 0.388571 0.144928 +vt 0.411429 0.144928 +vt 0.411429 0.347826 +vt 0.388571 0.318841 +vt 0.411429 0.318841 +vt 0.411429 0.289855 +vt 0.388571 0.260870 +vt 0.388571 0.173913 +vt 0.388571 0.115942 +vt 0.411429 0.115942 +vt 0.388571 0.289855 +vt 0.354286 0.268116 +vt 0.342857 0.246377 +vt 0.354286 0.246377 +vt 0.354286 0.224638 +vt 0.342857 0.202899 +vt 0.354286 0.202899 +vt 0.342857 0.181159 +vt 0.354286 0.181159 +vt 0.354286 0.159420 +vt 0.342857 0.137681 +vt 0.354286 0.137681 +vt 0.354286 0.289855 +vt 0.342857 0.268116 +vt 0.342857 0.224638 +vt 0.342857 0.159420 +vt 0.342857 0.115942 +vt 0.354286 0.115942 +vt 0.748571 0.818841 +vt 0.740000 0.818841 +vt 0.731429 0.818841 +vt 0.800000 0.818841 +vt 0.791429 0.818841 +vt 0.782857 0.818841 +vt 0.788571 0.847826 +vt 0.782857 0.847826 +vt 0.765714 0.818841 +vt 0.771429 0.847826 +vt 0.765714 0.847826 +vt 0.754286 0.847826 +vt 0.748571 0.847826 +vt 0.737143 0.847826 +vt 0.731429 0.847826 +vt 0.791429 0.847826 +vt 0.774286 0.818841 +vt 0.780000 0.847826 +vt 0.774286 0.847826 +vt 0.757143 0.847826 +vt 0.757143 0.818841 +vt 0.740000 0.847826 +vt 0.742800 0.862319 +vt 0.737143 0.876666 +vt 0.731486 0.862319 +vt 0.791429 0.695652 +vt 0.797143 0.695652 +vt 0.774286 0.695652 +vt 0.780000 0.695652 +vt 0.762857 0.695652 +vt 0.745714 0.695652 +vt 0.788571 0.695652 +vt 0.771429 0.695652 +vt 0.748571 0.695652 +vt 0.754286 0.695652 +vt 0.737143 0.695652 +vt 0.774286 0.818841 +vt 0.757143 0.818841 +vt 0.740000 0.818841 +vt 0.782857 0.818841 +vt 0.765714 0.818841 +vt 0.748571 0.818841 +vt 0.731429 0.818841 +vt 0.800000 0.818841 +vt 0.791429 0.818841 +vt 0.782857 0.847826 +vt 0.765714 0.847826 +vt 0.754286 0.847826 +vt 0.748571 0.847826 +vt 0.737143 0.847826 +vt 0.731429 0.847826 +vt 0.791429 0.847826 +vt 0.780000 0.847826 +vt 0.774286 0.847826 +vt 0.757143 0.847826 +vt 0.740000 0.847826 +vt 0.742800 0.862319 +vt 0.737143 0.876666 +vt 0.731486 0.862319 +vt 0.791429 0.695652 +vt 0.797143 0.695652 +vt 0.780000 0.695652 +vt 0.757143 0.695652 +vt 0.762857 0.695652 +vt 0.745714 0.695652 +vt 0.788571 0.695652 +vt 0.771429 0.695652 +vt 0.748571 0.695652 +vt 0.754286 0.695652 +vt 0.737143 0.695652 +vt 0.737143 0.695652 +vt 0.748571 0.695652 +vt 0.754286 0.695652 +vt 0.771429 0.695652 +vt 0.788571 0.695652 +vt 0.745714 0.695652 +vt 0.762857 0.695652 +vt 0.774286 0.695652 +vt 0.780000 0.695652 +vt 0.791429 0.695652 +vt 0.797143 0.695652 +vt 0.742800 0.862319 +vt 0.737143 0.876666 +vt 0.731486 0.862319 +vt 0.748571 0.818841 +vt 0.740000 0.847826 +vt 0.740000 0.818841 +vt 0.765714 0.818841 +vt 0.757143 0.847826 +vt 0.757143 0.818841 +vt 0.774286 0.818841 +vt 0.780000 0.847826 +vt 0.774286 0.847826 +vt 0.800000 0.818841 +vt 0.791429 0.847826 +vt 0.791429 0.818841 +vt 0.731429 0.818841 +vt 0.737143 0.847826 +vt 0.731429 0.847826 +vt 0.754286 0.847826 +vt 0.748571 0.847826 +vt 0.765714 0.847826 +vt 0.782857 0.818841 +vt 0.788571 0.847826 +vt 0.782857 0.847826 +vt 0.731429 0.695652 +vt 0.737143 0.695652 +vt 0.754286 0.695652 +vt 0.771429 0.695652 +vt 0.788571 0.695652 +vt 0.745714 0.695652 +vt 0.762857 0.695652 +vt 0.780000 0.695652 +vt 0.791429 0.695652 +vt 0.797143 0.695652 +vt 0.742800 0.862319 +vt 0.737143 0.876666 +vt 0.731486 0.862319 +vt 0.748571 0.818841 +vt 0.740000 0.847826 +vt 0.740000 0.818841 +vt 0.765714 0.818841 +vt 0.757143 0.847826 +vt 0.757143 0.818841 +vt 0.782857 0.818841 +vt 0.774286 0.847826 +vt 0.774286 0.818841 +vt 0.800000 0.818841 +vt 0.791429 0.847826 +vt 0.791429 0.818841 +vt 0.731429 0.818841 +vt 0.737143 0.847826 +vt 0.731429 0.847826 +vt 0.754286 0.847826 +vt 0.748571 0.847826 +vt 0.765714 0.847826 +vt 0.788571 0.847826 +vt 0.782857 0.847826 +vt 0.782857 0.818841 +vt 0.774286 0.818841 +vt 0.757143 0.818841 +vt 0.748571 0.818841 +vt 0.740000 0.818841 +vt 0.765714 0.818841 +vt 0.731429 0.818841 +vt 0.791429 0.818841 +vt 0.788571 0.847826 +vt 0.782857 0.847826 +vt 0.771429 0.847826 +vt 0.765714 0.847826 +vt 0.754286 0.847826 +vt 0.748571 0.847826 +vt 0.737143 0.847826 +vt 0.731429 0.847826 +vt 0.800000 0.818841 +vt 0.791429 0.847826 +vt 0.780000 0.847826 +vt 0.774286 0.847826 +vt 0.757143 0.847826 +vt 0.740000 0.847826 +vt 0.742800 0.862319 +vt 0.737143 0.876666 +vt 0.731486 0.862319 +vt 0.791429 0.695652 +vt 0.797143 0.695652 +vt 0.774286 0.695652 +vt 0.780000 0.695652 +vt 0.762857 0.695652 +vt 0.745714 0.695652 +vt 0.788571 0.695652 +vt 0.771429 0.695652 +vt 0.754286 0.695652 +vt 0.731429 0.695652 +vt 0.737143 0.695652 +vt 0.577143 0.434783 +vt 0.925714 0.282609 +vt 0.925714 0.108696 +vt 0.925714 0.630435 +vt 0.840000 0.333333 +vt 0.840000 0.391304 +vt 0.840000 0.449275 +vt 0.840000 0.507246 +vt 0.840000 0.565217 +vt 0.840000 0.681159 +vt 0.840000 0.043478 +vt 0.840000 0.101449 +vt 0.840000 0.159420 +vt 0.622857 -0.000000 +vt 0.714286 0.347826 +vt 0.794286 0.347826 +vt 0.794286 0.115942 +vt 0.794286 0.115942 +vt 0.794286 0.144928 +vt 0.794286 0.115942 +vt 0.794286 0.217391 +vt 0.794286 0.115942 +vt 0.794286 0.130435 +vt 0.794286 0.115942 +vt 0.794286 0.144928 +vt 0.794286 0.115942 +vt 0.794286 0.115942 +vt 0.508571 0.855072 +vt 0.474286 0.855072 +vt 0.368571 0.992754 +vt 0.840000 0.362319 +vt 0.840000 0.347826 +vt 0.840000 0.362319 +vt 0.840000 0.362319 +vt 0.840000 0.362319 +vt 0.840000 0.347826 +vt 0.840000 0.362319 +vt 0.840000 0.362319 +vt 0.748571 0.695652 +vt 0.765714 0.695652 +vt 0.782857 0.695652 +vt 0.740000 0.695652 +vt 0.757143 0.695652 +vt 0.791429 0.695652 +vt 0.737143 0.847972 +vt 0.741143 0.852174 +vt 0.741143 0.872464 +vt 0.733143 0.872464 +vt 0.733143 0.852174 +vt 0.762857 0.847826 +vt 0.780000 0.847826 +vt 0.797143 0.847826 +vt 0.788571 0.847826 +vt 0.788571 0.847826 +vt 0.771429 0.847826 +vt 0.797143 0.847826 +vt 0.745714 0.847826 +vt 0.737143 0.847972 +vt 0.741143 0.852174 +vt 0.741143 0.872464 +vt 0.733143 0.872464 +vt 0.733143 0.852174 +vt 0.791429 0.695652 +vt 0.757143 0.695652 +vt 0.740000 0.695652 +vt 0.782857 0.695652 +vt 0.765714 0.695652 +vt 0.788571 0.847826 +vt 0.797143 0.847826 +vt 0.780000 0.847826 +vt 0.745714 0.847826 +vt 0.737143 0.847972 +vt 0.741143 0.852174 +vt 0.741143 0.872464 +vt 0.733143 0.872464 +vt 0.733143 0.852174 +vt 0.774286 0.695652 +vt 0.757143 0.695652 +vt 0.740000 0.695652 +vt 0.782857 0.695652 +vt 0.765714 0.695652 +vt 0.748571 0.695652 +vt 0.765714 0.695652 +vt 0.782857 0.695652 +vt 0.740000 0.695652 +vt 0.757143 0.695652 +vt 0.737143 0.847972 +vt 0.741143 0.852174 +vt 0.741143 0.872464 +vt 0.733143 0.872464 +vt 0.733143 0.852174 +vt 0.745714 0.847826 +vt 0.765714 0.695652 +vt 0.782857 0.695652 +vt 0.740000 0.695652 +vt 0.757143 0.695652 +vt 0.737143 0.847972 +vt 0.741143 0.852174 +vt 0.741143 0.872464 +vt 0.733143 0.872464 +vt 0.733143 0.852174 +vt 0.745714 0.847826 +vt 0.762857 0.847826 +vt 0.797143 0.847826 +vt 0.771429 0.847826 +vt 0.388571 0.347826 +vt 0.342857 0.289855 +vt 0.388571 0.347826 +vt 0.342857 0.289855 +vt 0.797143 0.847826 +vt 0.762857 0.847826 +vt 0.745714 0.847826 +vt 0.737143 0.847972 +vt 0.741143 0.852174 +vt 0.741143 0.872464 +vt 0.733143 0.872464 +vt 0.733143 0.852174 +vt 0.757143 0.695652 +vt 0.740000 0.695652 +vt 0.782857 0.695652 +vt 0.765714 0.695652 +vt 0.731429 0.695652 +vt 0.788571 0.847826 +vt 0.771429 0.847826 +vt 0.797143 0.847826 +vt 0.762857 0.847826 +vt 0.745714 0.847826 +vt 0.737143 0.847972 +vt 0.741143 0.852174 +vt 0.741143 0.872464 +vt 0.733143 0.872464 +vt 0.733143 0.852174 +vt 0.774286 0.695652 +vt 0.740000 0.695652 +vt 0.782857 0.695652 +vt 0.765714 0.695652 +vt 0.731429 0.695652 +vt 0.731429 0.695652 +vt 0.765714 0.695652 +vt 0.782857 0.695652 +vt 0.740000 0.695652 +vt 0.757143 0.695652 +vt 0.737143 0.847972 +vt 0.741143 0.852174 +vt 0.741143 0.872464 +vt 0.733143 0.872464 +vt 0.733143 0.852174 +vt 0.745714 0.847826 +vt 0.762857 0.847826 +vt 0.797143 0.847826 +vt 0.771429 0.847826 +vt 0.748571 0.695652 +vt 0.765714 0.695652 +vt 0.782857 0.695652 +vt 0.740000 0.695652 +vt 0.757143 0.695652 +vt 0.774286 0.695652 +vt 0.737143 0.847972 +vt 0.741143 0.852174 +vt 0.741143 0.872464 +vt 0.733143 0.872464 +vt 0.733143 0.852174 +vt 0.745714 0.847826 +vt 0.762857 0.847826 +vt 0.780000 0.847826 +vt 0.797143 0.847826 +vt 0.771429 0.847826 +vt 0.797143 0.847826 +vt 0.762857 0.847826 +vt 0.745714 0.847826 +vt 0.737143 0.847972 +vt 0.741143 0.852174 +vt 0.741143 0.872464 +vt 0.733143 0.872464 +vt 0.733143 0.852174 +vt 0.757143 0.695652 +vt 0.740000 0.695652 +vt 0.782857 0.695652 +vt 0.765714 0.695652 +vt 0.748571 0.695652 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.0175 0.9998 0.0000 +vn 0.0175 -0.9998 0.0000 +vn -0.7070 -0.0123 -0.7071 +vn 0.9998 0.0175 0.0000 +vn 0.7070 0.0123 0.7071 +vn -0.9998 -0.0175 0.0000 +vn 0.7070 0.0123 -0.7071 +vn -0.7070 -0.0123 0.7071 +vn 0.0000 1.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.0000 0.1644 0.9864 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.5000 -0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.3162 0.9487 0.0000 +vn -0.3162 0.9487 0.0000 +vn 0.6000 0.8000 0.0000 +vn -0.6000 0.8000 0.0000 +vn 0.6928 0.4000 -0.6000 +vn 0.4000 0.6928 -0.6000 +vn 0.0000 0.8000 -0.6000 +vn -0.4000 0.6928 -0.6000 +vn -0.6928 0.4000 -0.6000 +vn -0.8000 0.0000 -0.6000 +vn -0.6928 -0.4000 -0.6000 +vn -0.4000 -0.6928 -0.6000 +vn -0.0000 -0.8000 -0.6000 +vn 0.4000 -0.6928 -0.6000 +vn 0.6928 -0.4000 -0.6000 +vn 0.8000 -0.0000 -0.6000 +vn -0.7746 -0.4472 0.4472 +vn -0.4472 -0.7746 0.4472 +vn -0.0000 -0.8944 0.4472 +vn 0.4472 -0.7746 0.4472 +vn 0.7746 -0.4472 0.4472 +vn 0.8944 0.0000 0.4472 +vn 0.7746 0.4472 0.4472 +vn 0.4472 0.7746 0.4472 +vn -0.0000 0.8944 0.4472 +vn -0.4472 0.7746 0.4472 +vn -0.7746 0.4472 0.4472 +vn -0.8944 0.0000 0.4472 +vn 0.0000 -0.9239 0.3827 +vn 0.0000 0.9239 -0.3827 +vn 0.9239 0.0000 0.3827 +vn 0.9239 0.0000 -0.3827 +vn 0.3827 0.0000 -0.9239 +vn -0.3827 0.0000 -0.9239 +vn -0.3827 0.0000 0.9239 +vn 0.3827 0.0000 0.9239 +vn -0.9239 0.0000 -0.3827 +vn -0.9239 0.0000 0.3827 +vn 0.0000 -0.3827 0.9239 +vn 0.0000 0.3827 -0.9239 +vn 0.5000 -0.5000 0.7071 +vn -0.5000 0.5000 -0.7071 +vn 0.5000 -0.5000 -0.7071 +vn -0.5000 0.5000 0.7071 +vn -0.5000 -0.5000 -0.7071 +vn -0.5000 -0.5000 0.7071 +vn 0.5000 0.5000 -0.7071 +vn 0.5000 0.5000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn -0.0000 0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn -0.6124 0.3536 -0.7071 +vn -0.6124 0.3536 0.7071 +vn 0.6124 -0.3536 0.7071 +vn 0.6124 -0.3536 -0.7071 +vn -0.1295 0.9916 -0.0000 +vn 0.3970 0.6876 0.6080 +vn 0.9235 0.3836 0.0000 +vn -0.4886 0.5339 -0.6901 +vn 0.0247 0.9025 -0.4299 +vn 0.1091 0.1889 0.9759 +vn 0.0247 0.9025 0.4299 +vn -0.4886 0.5339 0.6901 +vn 0.9542 -0.2990 -0.0000 +vn 0.7693 0.4727 0.4299 +vn 0.7067 -0.1561 0.6901 +vn 0.1091 0.1889 -0.9759 +vn 0.7693 0.4727 -0.4299 +vn 0.7067 -0.1561 -0.6901 +vn 0.3970 0.6876 -0.6080 +vn -0.7361 0.6769 -0.0000 +vn 0.9542 -0.2991 0.0000 +vn 0.0000 0.3827 0.9239 +vn 0.0000 0.9239 0.3827 +vn -0.6124 -0.3536 0.7071 +vn -0.9542 -0.2991 -0.0000 +vn -0.7067 -0.1561 -0.6901 +vn -0.1091 0.1889 -0.9759 +vn 0.6124 0.3536 -0.7071 +vn 0.4886 0.5339 -0.6901 +vn 0.7361 0.6769 0.0000 +vn -0.0247 0.9025 -0.4299 +vn 0.1295 0.9916 0.0000 +vn -0.1091 0.1889 0.9759 +vn -0.0247 0.9025 0.4299 +vn -0.3970 0.6876 0.6080 +vn -0.7693 0.4727 0.4299 +vn -0.9235 0.3836 -0.0000 +vn -0.7693 0.4727 -0.4299 +vn -0.3970 0.6876 -0.6080 +vn 0.4886 0.5339 0.6901 +vn -0.7067 -0.1561 0.6901 +vn 0.6124 0.3536 0.7071 +vn -0.6124 -0.3536 -0.7071 +s off +f 671/1237/143 674/1238/143 670/1239/143 +f 667/1240/144 672/1241/144 668/1242/144 +f 666/1243/143 670/1239/143 665/1244/143 +f 669/1245/144 676/1246/144 672/1241/144 +f 663/1247/143 688/1248/143 664/1249/143 +f 688/1248/143 653/1250/143 664/1251/143 +f 677/1252/143 654/1253/143 653/1254/143 +f 678/1255/143 655/1256/143 654/1257/143 +f 655/1258/143 680/1259/143 656/1260/143 +f 680/1259/143 657/1261/143 656/1262/143 +f 681/1263/143 658/1264/143 657/1261/143 +f 682/1265/143 659/1266/143 658/1267/143 +f 683/1268/143 660/1269/143 659/1270/143 +f 660/1271/143 685/1272/143 661/1273/143 +f 661/1274/143 686/1275/143 662/1276/143 +f 662/1277/143 687/1278/143 663/1279/143 +f 705/1280/144 708/1281/144 716/1282/144 +f 713/1283/145 711/1284/145 710/1285/145 +f 715/1286/146 707/1287/146 712/1288/146 +f 710/1285/147 714/1289/147 713/1283/147 +f 716/1282/148 712/1288/148 711/1284/148 +f 709/1290/149 705/1291/149 714/1289/149 +f 755/1292/143 768/1293/143 767/1294/143 +f 753/1295/143 764/1296/143 752/1297/143 +f 760/1298/143 771/1299/143 759/1300/143 +f 750/1301/143 761/1302/143 749/1303/143 +f 757/1304/143 768/1305/143 756/1306/143 +f 754/1307/143 765/1308/143 753/1295/143 +f 760/1298/143 761/1309/143 772/1310/143 +f 751/1311/143 762/1312/143 750/1301/143 +f 757/1304/143 770/1313/143 769/1314/143 +f 755/1315/143 766/1316/143 754/1307/143 +f 752/1297/143 763/1317/143 751/1311/143 +f 758/1318/143 771/1319/143 770/1320/143 +f 777/1321/143 781/1322/143 773/1323/143 +f 794/1324/144 699/1325/144 698/1326/144 +f 699/1325/144 796/1327/144 700/1328/144 +f 700/1328/144 785/1329/144 689/1330/144 +f 785/1331/144 690/1332/144 689/1330/144 +f 786/1333/144 691/1334/144 690/1332/144 +f 691/1334/144 788/1335/144 692/1336/144 +f 788/1337/144 693/1338/144 692/1336/144 +f 789/1339/144 694/1340/144 693/1338/144 +f 694/1340/144 791/1341/144 695/1342/144 +f 695/1343/144 792/1344/144 696/1345/144 +f 792/1346/144 697/1347/144 696/1345/144 +f 793/1348/144 698/1326/144 697/1347/144 +f 819/1349/143 808/1350/143 807/1351/143 +f 820/1352/143 797/1353/143 808/1354/143 +f 797/1355/143 810/1356/143 798/1357/143 +f 810/1356/143 799/1358/143 798/1359/143 +f 811/1360/143 800/1361/143 799/1362/143 +f 800/1363/143 813/1364/143 801/1365/143 +f 813/1364/143 802/1366/143 801/1367/143 +f 814/1368/143 803/1369/143 802/1370/143 +f 815/1371/143 804/1372/143 803/1373/143 +f 804/1374/143 817/1375/143 805/1376/143 +f 805/1377/143 818/1378/143 806/1379/143 +f 806/1380/143 819/1349/143 807/1381/143 +f 843/1382/143 880/1383/143 879/1384/143 +f 844/1385/143 869/1386/143 880/1387/143 +f 834/1388/143 869/1389/143 833/1390/143 +f 834/1388/143 871/1391/143 870/1392/143 +f 835/1393/143 872/1394/143 871/1395/143 +f 837/1396/143 872/1397/143 836/1398/143 +f 837/1396/143 874/1399/143 873/1400/143 +f 838/1401/143 875/1402/143 874/1403/143 +f 839/1404/143 876/1405/143 875/1406/143 +f 841/1407/143 876/1408/143 840/1409/143 +f 842/1410/143 877/1411/143 841/1407/143 +f 843/1382/143 878/1412/143 842/1410/143 +f 831/1413/144 868/1414/144 832/1415/144 +f 832/1415/144 857/1416/144 821/1417/144 +f 857/1418/144 822/1419/144 821/1417/144 +f 822/1419/144 859/1420/144 823/1421/144 +f 823/1421/144 860/1422/144 824/1423/144 +f 860/1424/144 825/1425/144 824/1423/144 +f 861/1426/144 826/1427/144 825/1425/144 +f 826/1427/144 863/1428/144 827/1429/144 +f 827/1430/144 864/1431/144 828/1432/144 +f 864/1433/144 829/1434/144 828/1432/144 +f 865/1435/144 830/1436/144 829/1434/144 +f 866/1437/144 831/1413/144 830/1436/144 +f 901/1438/144 899/1439/144 895/1440/144 +f 890/1441/144 855/1442/144 854/1443/144 +f 855/1442/144 892/1444/144 856/1445/144 +f 856/1445/144 881/1446/144 845/1447/144 +f 881/1448/144 846/1449/144 845/1447/144 +f 846/1449/144 883/1450/144 847/1451/144 +f 847/1451/144 884/1452/144 848/1453/144 +f 884/1454/144 849/1455/144 848/1453/144 +f 885/1456/144 850/1457/144 849/1455/144 +f 850/1457/144 887/1458/144 851/1459/144 +f 851/1460/144 888/1461/144 852/1462/144 +f 888/1463/144 853/1464/144 852/1462/144 +f 889/1465/144 854/1443/144 853/1464/144 +f 1037/1466/145 1039/1467/145 1038/1468/145 +f 1034/1469/146 1040/1470/146 1036/1471/146 +f 1035/1472/149 1038/1468/149 1033/1473/149 +f 1036/1474/144 1037/1466/144 1035/1475/144 +f 1033/1476/143 1039/1467/143 1034/1477/143 +f 1042/1478/143 1048/1479/143 1041/1480/143 +f 1043/1481/144 1045/1482/144 1044/1483/144 +f 1087/1484/143 1081/1485/143 1088/1486/143 +f 1085/1487/150 1082/1488/150 1087/1484/150 +f 1088/1489/151 1083/1490/151 1086/1491/151 +f 1083/1490/151 1081/1492/151 1091/1493/151 +f 1083/1490/152 1090/1494/152 1084/1495/152 +f 1055/1496/146 1052/1497/146 1053/1498/146 +f 1050/1499/149 1079/1500/149 1056/1501/149 +f 1054/1502/149 1050/1499/149 1056/1503/149 +f 1053/1504/144 1051/1505/144 1054/1506/144 +f 1073/1507/146 1080/1508/146 1075/1509/146 +f 1076/1510/149 1077/1511/149 1074/1512/149 +f 1055/1513/146 1078/1514/146 1049/1515/146 +f 1046/1516/151 1048/1479/151 1095/1517/151 +f 1082/1488/150 1084/1495/150 1090/1518/150 +f 1082/1519/150 1096/1520/150 1045/1521/150 +f 1081/1522/153 1045/1521/153 1046/1523/153 +f 1105/1524/154 1089/1525/154 1092/1526/154 +f 1089/1525/153 1093/1527/153 1092/1526/153 +f 1093/1527/150 1107/1528/150 1092/1526/150 +f 1096/1520/155 1091/1529/155 1095/1530/155 +f 1104/1531/155 1108/1532/155 1107/1528/155 +f 1091/1529/151 1046/1533/151 1095/1530/151 +f 1103/1534/151 1089/1525/151 1108/1535/151 +f 1103/1536/151 1101/1537/151 1094/1538/151 +f 1107/1539/150 1105/1524/150 1092/1540/150 +f 1102/1541/156 1094/1542/156 1101/1537/156 +f 1047/1543/157 1095/1530/157 1048/1479/157 +f 1102/1541/150 1104/1544/150 1093/1545/150 +f 1097/1546/150 1102/1541/150 1099/1547/150 +f 1100/1548/151 1103/1536/151 1098/1549/151 +f 1098/1550/143 1104/1544/143 1097/1546/143 +f 1110/1551/144 1108/1552/144 1109/1553/144 +f 1111/1554/143 1105/1524/143 1112/1555/143 +f 1109/1556/151 1106/1557/151 1111/1554/151 +f 1112/1555/150 1107/1539/150 1110/1551/150 +f 1106/1557/151 1108/1558/151 1089/1559/151 +f 1099/1547/144 1101/1537/144 1100/1548/144 +f 1125/1560/147 1127/1561/147 1121/1562/147 +f 1141/1563/148 1143/1564/148 1137/1565/148 +f 1157/1566/158 1159/1567/158 1153/1568/158 +f 1164/1569/159 1162/1570/159 1168/1571/159 +f 1180/1572/160 1178/1573/160 1184/1574/160 +f 1205/1575/149 1207/1576/149 1201/1577/149 +f 1212/1578/146 1210/1579/146 1216/1580/146 +f 1228/1581/145 1226/1582/145 1232/1583/145 +f 1273/1584/161 1256/1585/161 1280/1586/161 +f 1280/1587/161 1255/1588/161 1279/1589/161 +f 1278/1590/161 1253/1591/161 1277/1592/161 +f 1275/1593/161 1252/1594/161 1251/1595/161 +f 1274/1596/161 1249/1597/161 1273/1584/161 +f 1278/1590/161 1255/1598/161 1254/1599/161 +f 1276/1600/161 1253/1601/161 1252/1602/161 +f 1274/1596/161 1251/1603/161 1250/1604/161 +f 1287/1605/161 1310/1606/161 1311/1607/161 +f 1285/1608/161 1308/1609/161 1309/1610/161 +f 1283/1611/161 1306/1612/161 1307/1613/161 +f 1287/1605/161 1312/1614/161 1288/1615/161 +f 1285/1608/161 1310/1616/161 1286/1617/161 +f 1283/1611/161 1308/1618/161 1284/1619/161 +f 1281/1620/161 1306/1621/161 1282/1622/161 +f 1281/1623/161 1312/1624/161 1305/1625/161 +f 1326/1626/161 1351/1627/161 1327/1628/161 +f 1325/1629/161 1348/1630/161 1349/1631/161 +f 1323/1632/161 1346/1633/161 1347/1634/161 +f 1327/1628/161 1352/1635/161 1328/1636/161 +f 1326/1626/161 1349/1637/161 1350/1638/161 +f 1323/1632/161 1348/1639/161 1324/1640/161 +f 1321/1641/161 1346/1642/161 1322/1643/161 +f 1328/1636/161 1345/1644/161 1321/1645/161 +f 1400/1646/161 1369/1647/161 1376/1648/161 +f 1399/1649/161 1376/1650/161 1375/1651/161 +f 1398/1652/161 1373/1653/161 1397/1654/161 +f 1396/1655/161 1371/1656/161 1395/1657/161 +f 1394/1658/161 1369/1659/161 1393/1660/161 +f 1398/1652/161 1375/1661/161 1374/1662/161 +f 1396/1655/161 1373/1663/161 1372/1664/161 +f 1395/1657/161 1370/1665/161 1394/1658/161 +f 1440/1666/161 1409/1667/161 1416/1668/161 +f 1440/1669/161 1415/1670/161 1439/1671/161 +f 1438/1672/161 1413/1673/161 1437/1674/161 +f 1436/1675/161 1411/1676/161 1435/1677/161 +f 1434/1678/161 1409/1679/161 1433/1680/161 +f 1438/1672/161 1415/1681/161 1414/1682/161 +f 1436/1675/161 1413/1683/161 1412/1684/161 +f 1434/1678/161 1411/1685/161 1410/1686/161 +f 1447/1687/149 1462/1688/149 1453/1689/149 +f 1459/1690/144 1468/1691/144 1458/1692/144 +f 1443/1693/144 1448/1694/144 1444/1695/144 +f 1444/1695/146 1446/1696/146 1442/1697/146 +f 1441/1698/149 1447/1699/149 1443/1700/149 +f 1450/1701/143 1453/1702/143 1449/1703/143 +f 1452/1704/146 1454/1705/146 1450/1701/146 +f 1449/1706/149 1455/1707/149 1451/1708/149 +f 1467/1709/149 1479/1710/149 1473/1711/149 +f 1446/1696/146 1448/1694/146 1460/1712/146 +f 1447/1699/149 1445/1713/149 1457/1714/149 +f 1454/1705/146 1456/1715/146 1463/1716/146 +f 1447/1717/145 1454/1718/145 1448/1719/145 +f 1455/1707/149 1453/1720/149 1462/1721/149 +f 1460/1722/146 1454/1718/146 1463/1723/146 +f 1458/1692/146 1466/1724/146 1461/1725/146 +f 1464/1726/149 1467/1727/149 1459/1728/149 +f 1470/1729/143 1473/1730/143 1469/1731/143 +f 1472/1732/146 1474/1733/146 1470/1729/146 +f 1469/1734/149 1475/1735/149 1471/1736/149 +f 1466/1724/146 1468/1691/146 1478/1737/146 +f 1467/1727/149 1465/1738/149 1477/1739/149 +f 1474/1733/146 1476/1740/146 1480/1741/146 +f 1467/1742/145 1474/1743/145 1468/1744/145 +f 1475/1735/149 1473/1745/149 1479/1746/149 +f 1478/1747/146 1474/1743/146 1480/1748/146 +f 1484/1749/144 1486/1750/144 1485/1751/144 +f 1481/1752/162 1487/1753/162 1488/1754/162 +f 1487/1755/146 1484/1749/146 1485/1756/146 +f 1483/1757/149 1488/1758/149 1486/1759/149 +f 1483/1757/145 1482/1760/145 1481/1752/145 +f 672/1761/146 671/1762/146 1492/1763/146 +f 1491/1764/149 1489/1765/149 670/1766/149 +f 1490/1767/145 1491/1768/145 1492/1769/145 +f 1493/1770/143 1491/1771/143 1494/1772/143 +f 1496/1773/144 1490/1767/144 1495/1774/144 +f 668/1775/145 1494/1772/145 667/1776/145 +f 665/1777/145 1495/1774/145 666/1778/145 +f 1500/1779/149 1504/1780/149 1502/1781/149 +f 1498/1782/146 1501/1783/146 1503/1784/146 +f 1499/1785/143 1503/1784/143 1504/1786/143 +f 1497/1787/144 1502/1781/144 1501/1783/144 +f 1532/1788/144 1533/1789/144 1534/1790/144 +f 1512/1791/143 1510/1792/143 1508/1793/143 +f 1545/1794/143 1547/1795/143 1549/1796/143 +f 1541/1797/144 1540/1798/144 1539/1799/144 +f 1560/1800/144 1555/1801/144 1556/1802/144 +f 1558/1803/143 1554/1804/143 1553/1805/143 +f 1559/1806/146 1556/1802/146 1554/1804/146 +f 1557/1807/149 1553/1808/149 1555/1801/149 +f 1044/1483/150 1047/1543/150 1042/1478/150 +f 1041/1480/151 1046/1516/151 1043/1809/151 +f 1047/1543/150 1045/1482/150 1096/1810/150 +f 1086/1491/144 1084/1495/144 1085/1487/144 +f 1581/1811/149 1577/1812/149 1579/1813/149 +f 1583/1814/163 1578/1815/163 1577/1816/163 +f 1582/1817/164 1579/1813/164 1580/1818/164 +f 1584/1819/146 1580/1818/146 1578/1815/146 +f 1594/1820/143 1600/1821/143 1596/1822/143 +f 1591/1823/146 1589/1824/146 1590/1825/146 +f 1587/1826/144 1592/1827/144 1588/1828/144 +f 1586/1829/143 1590/1830/143 1585/1831/143 +f 1588/1828/145 1591/1832/145 1586/1829/145 +f 1585/1833/158 1589/1824/158 1587/1826/158 +f 1596/1834/143 1599/1835/143 1595/1836/143 +f 1595/1837/143 1597/1838/143 1593/1839/143 +f 1593/1840/143 1598/1841/143 1594/1842/143 +f 1608/1843/144 1603/1844/144 1604/1845/144 +f 1605/1846/144 1604/1847/144 1601/1848/144 +f 1606/1849/144 1601/1850/144 1602/1851/144 +f 1607/1852/144 1602/1853/144 1603/1854/144 +f 1596/1855/149 1603/1844/149 1594/1856/149 +f 1593/1857/146 1601/1850/146 1595/1858/146 +f 1600/1821/158 1605/1846/158 1599/1835/158 +f 1597/1859/145 1607/1852/145 1598/1841/145 +f 1595/1860/145 1604/1847/145 1596/1861/145 +f 1594/1862/158 1602/1853/158 1593/1863/158 +f 1598/1841/146 1608/1843/146 1600/1821/146 +f 1599/1835/149 1606/1849/149 1597/1838/149 +f 1612/1864/144 1615/1865/144 1611/1866/144 +f 1609/1867/143 1614/1868/143 1610/1869/143 +f 1610/1870/145 1616/1871/145 1612/1872/145 +f 1611/1873/158 1613/1874/158 1609/1875/158 +f 1614/1876/146 1620/1877/146 1616/1871/146 +f 1615/1878/146 1617/1879/146 1613/1874/146 +f 1616/1880/146 1619/1881/146 1615/1865/146 +f 1613/1882/146 1618/1883/146 1614/1868/146 +f 1618/1884/145 1624/1885/145 1620/1877/145 +f 1619/1881/158 1621/1886/158 1617/1879/158 +f 1620/1877/144 1623/1887/144 1619/1881/144 +f 1617/1879/143 1622/1888/143 1618/1883/143 +f 1631/1889/165 1654/1890/165 1655/1891/165 +f 1629/1892/165 1652/1893/165 1653/1894/165 +f 1627/1895/165 1650/1896/165 1651/1897/165 +f 1631/1889/165 1656/1898/165 1632/1899/165 +f 1629/1892/165 1654/1900/165 1630/1901/165 +f 1627/1895/165 1652/1902/165 1628/1903/165 +f 1625/1904/165 1650/1905/165 1626/1906/165 +f 1625/1907/165 1656/1908/165 1649/1909/165 +f 1671/1910/165 1694/1911/165 1695/1912/165 +f 1669/1913/165 1692/1914/165 1693/1915/165 +f 1667/1916/165 1690/1917/165 1691/1918/165 +f 1671/1910/165 1696/1919/165 1672/1920/165 +f 1669/1913/165 1694/1921/165 1670/1922/165 +f 1667/1916/165 1692/1923/165 1668/1924/165 +f 1665/1925/165 1690/1926/165 1666/1927/165 +f 1665/1928/165 1696/1929/165 1689/1930/165 +f 1744/1931/165 1713/1932/165 1720/1933/165 +f 1744/1934/165 1719/1935/165 1743/1936/165 +f 1742/1937/165 1717/1938/165 1741/1939/165 +f 1740/1940/165 1715/1941/165 1739/1942/165 +f 1737/1943/165 1714/1944/165 1713/1945/165 +f 1742/1937/165 1719/1946/165 1718/1947/165 +f 1740/1940/165 1717/1948/165 1716/1949/165 +f 1739/1942/165 1714/1950/165 1738/1951/165 +f 1784/1952/165 1753/1953/165 1760/1954/165 +f 1784/1955/165 1759/1956/165 1783/1957/165 +f 1782/1958/165 1757/1959/165 1781/1960/165 +f 1780/1961/165 1755/1962/165 1779/1963/165 +f 1778/1964/165 1753/1965/165 1777/1966/165 +f 1782/1958/165 1759/1967/165 1758/1968/165 +f 1780/1961/165 1757/1969/165 1756/1970/165 +f 1778/1964/165 1755/1971/165 1754/1972/165 +f 1790/1973/165 1815/1974/165 1791/1975/165 +f 1789/1976/165 1812/1977/165 1813/1978/165 +f 1787/1979/165 1810/1980/165 1811/1981/165 +f 1792/1982/165 1815/1983/165 1816/1984/165 +f 1789/1976/165 1814/1985/165 1790/1973/165 +f 1787/1979/165 1812/1986/165 1788/1987/165 +f 1785/1988/165 1810/1989/165 1786/1990/165 +f 1785/1991/165 1816/1992/165 1809/1993/165 +f 671/1237/143 675/1994/143 674/1238/143 +f 667/1240/144 669/1245/144 672/1241/144 +f 666/1243/143 671/1237/143 670/1239/143 +f 669/1245/144 673/1995/144 676/1246/144 +f 663/1247/143 687/1278/143 688/1248/143 +f 688/1248/143 677/1252/143 653/1250/143 +f 677/1252/143 678/1255/143 654/1253/143 +f 678/1255/143 679/1996/143 655/1256/143 +f 655/1258/143 679/1996/143 680/1259/143 +f 680/1259/143 681/1263/143 657/1261/143 +f 681/1263/143 682/1265/143 658/1264/143 +f 682/1265/143 683/1997/143 659/1266/143 +f 683/1268/143 684/1998/143 660/1269/143 +f 660/1271/143 684/1998/143 685/1272/143 +f 661/1274/143 685/1272/143 686/1275/143 +f 662/1277/143 686/1275/143 687/1278/143 +f 708/1281/144 715/1999/144 716/1282/144 +f 716/1282/144 713/1283/144 705/1280/144 +f 713/1283/144 714/2000/144 705/1280/144 +f 713/1283/145 716/1282/145 711/1284/145 +f 715/1286/146 708/2001/146 707/1287/146 +f 710/1285/147 709/1290/147 714/1289/147 +f 716/1282/148 715/1286/148 712/1288/148 +f 709/1290/149 706/2002/149 705/1291/149 +f 755/1292/143 756/1306/143 768/1293/143 +f 753/1295/143 765/2003/143 764/1296/143 +f 760/1298/143 772/2004/143 771/1299/143 +f 750/1301/143 762/2005/143 761/1302/143 +f 757/1304/143 769/2006/143 768/1305/143 +f 754/1307/143 766/2007/143 765/1308/143 +f 760/1298/143 749/1303/143 761/1309/143 +f 751/1311/143 763/2008/143 762/1312/143 +f 757/1304/143 758/1318/143 770/1313/143 +f 755/1315/143 767/2009/143 766/1316/143 +f 752/1297/143 764/2010/143 763/1317/143 +f 758/1318/143 759/1300/143 771/1319/143 +f 773/1323/143 774/2011/143 777/1321/143 +f 774/2011/143 775/2012/143 777/1321/143 +f 775/2012/143 776/2013/143 777/1321/143 +f 777/1321/143 778/2014/143 779/2015/143 +f 779/2015/143 780/2016/143 781/1322/143 +f 781/1322/143 782/2017/143 783/2018/143 +f 783/2018/143 784/2019/143 773/1323/143 +f 777/1321/143 779/2015/143 781/1322/143 +f 781/1322/143 783/2018/143 773/1323/143 +f 794/1324/144 795/2020/144 699/1325/144 +f 699/1325/144 795/2021/144 796/1327/144 +f 700/1328/144 796/2022/144 785/1329/144 +f 785/1331/144 786/2023/144 690/1332/144 +f 786/1333/144 787/2024/144 691/1334/144 +f 691/1334/144 787/2025/144 788/1335/144 +f 788/1337/144 789/2026/144 693/1338/144 +f 789/1339/144 790/2027/144 694/1340/144 +f 694/1340/144 790/2028/144 791/1341/144 +f 695/1343/144 791/2029/144 792/1344/144 +f 792/1346/144 793/2030/144 697/1347/144 +f 793/1348/144 794/2031/144 698/1326/144 +f 819/1349/143 820/1352/143 808/1350/143 +f 820/1352/143 809/2032/143 797/1353/143 +f 797/1355/143 809/2032/143 810/1356/143 +f 810/1356/143 811/1360/143 799/1358/143 +f 811/1360/143 812/2033/143 800/1361/143 +f 800/1363/143 812/2033/143 813/1364/143 +f 813/1364/143 814/1368/143 802/1366/143 +f 814/1368/143 815/2034/143 803/1369/143 +f 815/1371/143 816/2035/143 804/1372/143 +f 804/1374/143 816/2035/143 817/1375/143 +f 805/1377/143 817/1375/143 818/1378/143 +f 806/1380/143 818/1378/143 819/1349/143 +f 843/1382/143 844/1385/143 880/1383/143 +f 844/1385/143 833/1390/143 869/1386/143 +f 834/1388/143 870/2036/143 869/1389/143 +f 834/1388/143 835/1393/143 871/1391/143 +f 835/1393/143 836/1398/143 872/1394/143 +f 837/1396/143 873/2037/143 872/1397/143 +f 837/1396/143 838/1401/143 874/1399/143 +f 838/1401/143 839/2038/143 875/1402/143 +f 839/1404/143 840/1409/143 876/1405/143 +f 841/1407/143 877/2039/143 876/1408/143 +f 842/1410/143 878/2040/143 877/1411/143 +f 843/1382/143 879/2041/143 878/1412/143 +f 831/1413/144 867/2042/144 868/1414/144 +f 832/1415/144 868/2043/144 857/1416/144 +f 857/1418/144 858/2044/144 822/1419/144 +f 822/1419/144 858/2045/144 859/1420/144 +f 823/1421/144 859/2046/144 860/1422/144 +f 860/1424/144 861/2047/144 825/1425/144 +f 861/1426/144 862/2048/144 826/1427/144 +f 826/1427/144 862/2049/144 863/1428/144 +f 827/1430/144 863/2050/144 864/1431/144 +f 864/1433/144 865/2051/144 829/1434/144 +f 865/1435/144 866/2052/144 830/1436/144 +f 866/1437/144 867/2053/144 831/1413/144 +f 895/1440/144 894/2054/144 903/2055/144 +f 894/2054/144 893/2056/144 903/2055/144 +f 893/2056/144 904/2057/144 903/2055/144 +f 903/2055/144 902/2058/144 901/1438/144 +f 901/1438/144 900/2059/144 899/1439/144 +f 899/1439/144 898/2060/144 895/1440/144 +f 898/2060/144 897/2061/144 895/1440/144 +f 897/2061/144 896/2062/144 895/1440/144 +f 903/2055/144 901/1438/144 895/1440/144 +f 890/1441/144 891/2063/144 855/1442/144 +f 855/1442/144 891/2064/144 892/1444/144 +f 856/1445/144 892/2065/144 881/1446/144 +f 881/1448/144 882/2066/144 846/1449/144 +f 846/1449/144 882/2067/144 883/1450/144 +f 847/1451/144 883/2068/144 884/1452/144 +f 884/1454/144 885/2069/144 849/1455/144 +f 885/1456/144 886/2070/144 850/1457/144 +f 850/1457/144 886/2071/144 887/1458/144 +f 851/1460/144 887/2072/144 888/1461/144 +f 888/1463/144 889/2073/144 853/1464/144 +f 889/1465/144 890/2074/144 854/1443/144 +f 1037/1466/145 1040/1470/145 1039/1467/145 +f 1034/1469/146 1039/1467/146 1040/1470/146 +f 1035/1472/149 1037/1466/149 1038/1468/149 +f 1036/1474/144 1040/1470/144 1037/1466/144 +f 1033/1476/143 1038/1468/143 1039/1467/143 +f 1042/1478/143 1047/1543/143 1048/1479/143 +f 1043/1481/144 1046/2075/144 1045/1482/144 +f 1087/1484/143 1082/1488/143 1081/1485/143 +f 1085/1487/150 1084/1495/150 1082/1488/150 +f 1088/1489/151 1081/1492/151 1083/1490/151 +f 1083/1490/152 1091/1529/152 1090/1494/152 +f 1055/1496/146 1049/1515/146 1052/1497/146 +f 1050/1499/149 1077/1511/149 1079/1500/149 +f 1054/1502/149 1051/1505/149 1050/1499/149 +f 1053/1504/144 1052/1497/144 1051/1505/144 +f 1073/1507/146 1078/1514/146 1080/1508/146 +f 1076/1510/149 1079/2076/149 1077/1511/149 +f 1055/1513/146 1080/2077/146 1078/1514/146 +f 1082/1519/150 1090/1494/150 1096/1520/150 +f 1081/1522/153 1082/1519/153 1045/1521/153 +f 1105/1524/154 1106/1557/154 1089/1525/154 +f 1089/1525/153 1094/1542/153 1093/1527/153 +f 1093/1527/150 1104/1531/150 1107/1528/150 +f 1096/1520/155 1090/1494/155 1091/1529/155 +f 1104/1531/155 1103/2078/155 1108/1532/155 +f 1091/1529/151 1081/2079/151 1046/1533/151 +f 1103/1534/151 1094/1542/151 1089/1525/151 +f 1102/1541/156 1093/1527/156 1094/1542/156 +f 1047/1543/157 1096/1520/157 1095/1530/157 +f 1097/1546/150 1104/1544/150 1102/1541/150 +f 1100/1548/151 1101/1537/151 1103/1536/151 +f 1098/1550/143 1103/2080/143 1104/1544/143 +f 1110/1551/144 1107/1539/144 1108/1552/144 +f 1111/1554/143 1106/1557/143 1105/1524/143 +f 1109/1556/151 1108/1558/151 1106/1557/151 +f 1112/1555/150 1105/1524/150 1107/1539/150 +f 1099/1547/144 1102/1541/144 1101/1537/144 +f 1121/1562/147 1122/2081/147 1125/1560/147 +f 1122/2081/147 1123/2082/147 1125/1560/147 +f 1123/2082/147 1124/2083/147 1125/1560/147 +f 1125/1560/147 1126/2084/147 1127/1561/147 +f 1127/1561/147 1128/2085/147 1121/1562/147 +f 1137/1565/148 1138/2086/148 1139/2087/148 +f 1139/2087/148 1140/2088/148 1137/1565/148 +f 1140/2088/148 1141/1563/148 1137/1565/148 +f 1141/1563/148 1142/2089/148 1143/1564/148 +f 1143/1564/148 1144/2090/148 1137/1565/148 +f 1153/1568/158 1154/2091/158 1155/2092/158 +f 1155/2092/158 1156/2093/158 1153/1568/158 +f 1156/2093/158 1157/1566/158 1153/1568/158 +f 1157/1566/158 1158/2094/158 1159/1567/158 +f 1159/1567/158 1160/2095/158 1153/1568/158 +f 1168/1571/159 1167/2096/159 1166/2097/159 +f 1166/2097/159 1165/2098/159 1168/1571/159 +f 1165/2098/159 1164/1569/159 1168/1571/159 +f 1164/1569/159 1163/2099/159 1162/1570/159 +f 1162/1570/159 1161/2100/159 1168/1571/159 +f 1184/1574/160 1183/2101/160 1182/2102/160 +f 1182/2102/160 1181/2103/160 1184/1574/160 +f 1181/2103/160 1180/1572/160 1184/1574/160 +f 1180/1572/160 1179/2104/160 1178/1573/160 +f 1178/1573/160 1177/2105/160 1184/1574/160 +f 1201/1577/149 1202/2106/149 1205/1575/149 +f 1202/2106/149 1203/2107/149 1205/1575/149 +f 1203/2107/149 1204/2108/149 1205/1575/149 +f 1205/1575/149 1206/2109/149 1207/1576/149 +f 1207/1576/149 1208/2110/149 1201/1577/149 +f 1216/1580/146 1215/2111/146 1214/2112/146 +f 1214/2112/146 1213/2113/146 1216/1580/146 +f 1213/2113/146 1212/1578/146 1216/1580/146 +f 1212/1578/146 1211/2114/146 1210/1579/146 +f 1210/1579/146 1209/2115/146 1216/1580/146 +f 1232/1583/145 1231/2116/145 1230/2117/145 +f 1230/2117/145 1229/2118/145 1232/1583/145 +f 1229/2118/145 1228/1581/145 1232/1583/145 +f 1228/1581/145 1227/2119/145 1226/1582/145 +f 1226/1582/145 1225/2120/145 1232/1583/145 +f 1273/1584/161 1249/2121/161 1256/1585/161 +f 1280/1587/161 1256/2122/161 1255/1588/161 +f 1278/1590/161 1254/2123/161 1253/1591/161 +f 1275/1593/161 1276/1600/161 1252/1594/161 +f 1274/1596/161 1250/2124/161 1249/1597/161 +f 1278/1590/161 1279/1589/161 1255/1598/161 +f 1276/1600/161 1277/1592/161 1253/1601/161 +f 1274/1596/161 1275/1593/161 1251/1603/161 +f 1287/1605/161 1286/1617/161 1310/1606/161 +f 1285/1608/161 1284/1619/161 1308/1609/161 +f 1283/1611/161 1282/1622/161 1306/1612/161 +f 1287/1605/161 1311/2125/161 1312/1614/161 +f 1285/1608/161 1309/2126/161 1310/1616/161 +f 1283/1611/161 1307/2127/161 1308/1618/161 +f 1281/1620/161 1305/2128/161 1306/1621/161 +f 1281/1623/161 1288/1615/161 1312/1624/161 +f 1326/1626/161 1350/2129/161 1351/1627/161 +f 1325/1629/161 1324/1640/161 1348/1630/161 +f 1323/1632/161 1322/1643/161 1346/1633/161 +f 1327/1628/161 1351/2130/161 1352/1635/161 +f 1326/1626/161 1325/1629/161 1349/1637/161 +f 1323/1632/161 1347/2131/161 1348/1639/161 +f 1321/1641/161 1345/2132/161 1346/1642/161 +f 1328/1636/161 1352/2133/161 1345/1644/161 +f 1400/1646/161 1393/1660/161 1369/1647/161 +f 1399/1649/161 1400/2134/161 1376/1650/161 +f 1398/1652/161 1374/2135/161 1373/1653/161 +f 1396/1655/161 1372/2136/161 1371/1656/161 +f 1394/1658/161 1370/2137/161 1369/1659/161 +f 1398/1652/161 1399/1649/161 1375/1661/161 +f 1396/1655/161 1397/1654/161 1373/1663/161 +f 1395/1657/161 1371/2138/161 1370/1665/161 +f 1440/1666/161 1433/1680/161 1409/1667/161 +f 1440/1669/161 1416/2139/161 1415/1670/161 +f 1438/1672/161 1414/2140/161 1413/1673/161 +f 1436/1675/161 1412/2141/161 1411/1676/161 +f 1434/1678/161 1410/2142/161 1409/1679/161 +f 1438/1672/161 1439/1671/161 1415/1681/161 +f 1436/1675/161 1437/1674/161 1413/1683/161 +f 1434/1678/161 1435/1677/161 1411/1685/161 +f 1447/1687/149 1457/2143/149 1462/1688/149 +f 1459/1690/144 1467/2144/144 1468/1691/144 +f 1443/1693/144 1447/2145/144 1448/1694/144 +f 1444/1695/146 1448/1694/146 1446/1696/146 +f 1441/1698/149 1445/1713/149 1447/1699/149 +f 1450/1701/143 1454/1705/143 1453/1702/143 +f 1452/1704/146 1456/1715/146 1454/1705/146 +f 1449/1706/149 1453/1720/149 1455/1707/149 +f 1467/1709/149 1477/2146/149 1479/1710/149 +f 1447/1717/145 1453/2147/145 1454/1718/145 +f 1460/1722/146 1448/1719/146 1454/1718/146 +f 1458/1692/146 1468/1691/146 1466/1724/146 +f 1464/1726/149 1465/1738/149 1467/1727/149 +f 1470/1729/143 1474/1733/143 1473/1730/143 +f 1472/1732/146 1476/1740/146 1474/1733/146 +f 1469/1734/149 1473/1745/149 1475/1735/149 +f 1467/1742/145 1473/2148/145 1474/1743/145 +f 1478/1747/146 1468/1744/146 1474/1743/146 +f 1484/1749/144 1483/1757/144 1486/1750/144 +f 1481/1752/162 1482/1760/162 1487/1753/162 +f 1487/1755/146 1482/1760/146 1484/1749/146 +f 1483/1757/149 1481/1752/149 1488/1758/149 +f 1483/1757/145 1484/1749/145 1482/1760/145 +f 671/1762/146 666/1778/146 1490/2149/146 +f 666/1778/146 1495/1774/146 1490/2149/146 +f 1493/2150/146 668/2151/146 1492/1763/146 +f 668/2151/146 672/1761/146 1492/1763/146 +f 671/1762/146 1490/2149/146 1492/1763/146 +f 669/2152/149 667/1776/149 1491/1764/149 +f 667/1776/149 1494/1772/149 1491/1764/149 +f 1496/2153/149 665/2154/149 1489/1765/149 +f 665/2154/149 670/1766/149 1489/1765/149 +f 669/2152/149 1491/1764/149 670/1766/149 +f 1490/1767/145 1489/2155/145 1491/1768/145 +f 1493/1770/143 1492/2156/143 1491/1771/143 +f 1496/1773/144 1489/2155/144 1490/1767/144 +f 668/1775/145 1493/1770/145 1494/1772/145 +f 665/1777/145 1496/1773/145 1495/1774/145 +f 1500/1779/149 1499/2157/149 1504/1780/149 +f 1498/1782/146 1497/1787/146 1501/1783/146 +f 1499/1785/143 1498/1782/143 1503/1784/143 +f 1497/1787/144 1500/1779/144 1502/1781/144 +f 1534/1790/144 1535/2158/144 1536/2159/144 +f 1536/2159/144 1529/2160/144 1534/1790/144 +f 1529/2160/144 1530/2161/144 1534/1790/144 +f 1530/2161/144 1531/2162/144 1534/1790/144 +f 1531/2162/144 1532/1788/144 1534/1790/144 +f 1512/1791/143 1511/2163/143 1510/1792/143 +f 1510/1792/143 1509/2164/143 1508/1793/143 +f 1508/1793/143 1507/2165/143 1506/2166/143 +f 1506/2166/143 1505/2167/143 1508/1793/143 +f 1505/2167/143 1512/1791/143 1508/1793/143 +f 1545/1794/143 1546/2168/143 1547/1795/143 +f 1547/1795/143 1548/2169/143 1549/1796/143 +f 1549/1796/143 1550/2170/143 1551/2171/143 +f 1551/2171/143 1552/2172/143 1549/1796/143 +f 1552/2172/143 1545/1794/143 1549/1796/143 +f 1539/1799/144 1538/2173/144 1537/2174/144 +f 1537/2174/144 1544/2175/144 1539/1799/144 +f 1544/2175/144 1543/2176/144 1539/1799/144 +f 1543/2176/144 1542/2177/144 1539/1799/144 +f 1542/2177/144 1541/1797/144 1539/1799/144 +f 1560/1800/144 1557/1807/144 1555/1801/144 +f 1558/1803/143 1559/1806/143 1554/1804/143 +f 1559/1806/146 1560/1800/146 1556/1802/146 +f 1557/1807/149 1558/2178/149 1553/1808/149 +f 1044/1483/150 1045/1482/150 1047/1543/150 +f 1041/1480/151 1048/1479/151 1046/1516/151 +f 1086/1491/144 1083/1490/144 1084/1495/144 +f 1581/1811/149 1583/2179/149 1577/1812/149 +f 1583/1814/163 1584/1819/163 1578/1815/163 +f 1582/1817/164 1581/1811/164 1579/1813/164 +f 1584/1819/146 1582/1817/146 1580/1818/146 +f 1594/1820/143 1598/1841/143 1600/1821/143 +f 1591/1823/146 1592/2180/146 1589/1824/146 +f 1587/1826/144 1589/1824/144 1592/1827/144 +f 1586/1829/143 1591/1832/143 1590/1830/143 +f 1588/1828/145 1592/1827/145 1591/1832/145 +f 1585/1833/158 1590/1825/158 1589/1824/158 +f 1596/1834/143 1600/1821/143 1599/1835/143 +f 1595/1837/143 1599/1835/143 1597/1838/143 +f 1593/1840/143 1597/1859/143 1598/1841/143 +f 1608/1843/144 1607/1852/144 1603/1844/144 +f 1605/1846/144 1608/1843/144 1604/1847/144 +f 1606/1849/144 1605/1846/144 1601/1850/144 +f 1607/1852/144 1606/2181/144 1602/1853/144 +f 1596/1855/149 1604/1845/149 1603/1844/149 +f 1593/1857/146 1602/1851/146 1601/1850/146 +f 1600/1821/158 1608/1843/158 1605/1846/158 +f 1597/1859/145 1606/2181/145 1607/1852/145 +f 1595/1860/145 1601/1848/145 1604/1847/145 +f 1594/1862/158 1603/1854/158 1602/1853/158 +f 1598/1841/146 1607/1852/146 1608/1843/146 +f 1599/1835/149 1605/1846/149 1606/1849/149 +f 1612/1864/144 1616/1880/144 1615/1865/144 +f 1609/1867/143 1613/1882/143 1614/1868/143 +f 1610/1870/145 1614/1876/145 1616/1871/145 +f 1611/1873/158 1615/1878/158 1613/1874/158 +f 1614/1876/146 1618/1884/146 1620/1877/146 +f 1615/1878/146 1619/1881/146 1617/1879/146 +f 1616/1880/146 1620/1877/146 1619/1881/146 +f 1613/1882/146 1617/1879/146 1618/1883/146 +f 1618/1884/145 1622/2182/145 1624/1885/145 +f 1619/1881/158 1623/1887/158 1621/1886/158 +f 1620/1877/144 1624/1885/144 1623/1887/144 +f 1617/1879/143 1621/1886/143 1622/1888/143 +f 1631/1889/165 1630/1901/165 1654/1890/165 +f 1629/1892/165 1628/1903/165 1652/1893/165 +f 1627/1895/165 1626/1906/165 1650/1896/165 +f 1631/1889/165 1655/2183/165 1656/1898/165 +f 1629/1892/165 1653/2184/165 1654/1900/165 +f 1627/1895/165 1651/2185/165 1652/1902/165 +f 1625/1904/165 1649/2186/165 1650/1905/165 +f 1625/1907/165 1632/1899/165 1656/1908/165 +f 1671/1910/165 1670/1922/165 1694/1911/165 +f 1669/1913/165 1668/1924/165 1692/1914/165 +f 1667/1916/165 1666/1927/165 1690/1917/165 +f 1671/1910/165 1695/2187/165 1696/1919/165 +f 1669/1913/165 1693/2188/165 1694/1921/165 +f 1667/1916/165 1691/2189/165 1692/1923/165 +f 1665/1925/165 1689/2190/165 1690/1926/165 +f 1665/1928/165 1672/1920/165 1696/1929/165 +f 1744/1931/165 1737/1943/165 1713/1932/165 +f 1744/1934/165 1720/2191/165 1719/1935/165 +f 1742/1937/165 1718/2192/165 1717/1938/165 +f 1740/1940/165 1716/2193/165 1715/1941/165 +f 1737/1943/165 1738/1951/165 1714/1944/165 +f 1742/1937/165 1743/1936/165 1719/1946/165 +f 1740/1940/165 1741/1939/165 1717/1948/165 +f 1739/1942/165 1715/2194/165 1714/1950/165 +f 1784/1952/165 1777/1966/165 1753/1953/165 +f 1784/1955/165 1760/2195/165 1759/1956/165 +f 1782/1958/165 1758/2196/165 1757/1959/165 +f 1780/1961/165 1756/2197/165 1755/1962/165 +f 1778/1964/165 1754/2198/165 1753/1965/165 +f 1782/1958/165 1783/1957/165 1759/1967/165 +f 1780/1961/165 1781/1960/165 1757/1969/165 +f 1778/1964/165 1779/1963/165 1755/1971/165 +f 1790/1973/165 1814/2199/165 1815/1974/165 +f 1789/1976/165 1788/1987/165 1812/1977/165 +f 1787/1979/165 1786/1990/165 1810/1980/165 +f 1792/1982/165 1791/1975/165 1815/1983/165 +f 1789/1976/165 1813/2200/165 1814/1985/165 +f 1787/1979/165 1811/2201/165 1812/1986/165 +f 1785/1988/165 1809/2202/165 1810/1989/165 +f 1785/1991/165 1792/1982/165 1816/1992/165 +s 1 +f 658/2203/161 647/2204/145 646/2205/161 +f 655/2206/166 644/2207/149 643/2208/166 +f 662/2209/146 651/2210/167 650/2211/146 +f 659/2212/145 648/2213/165 647/2214/145 +f 656/2215/149 645/2216/168 644/2207/149 +f 663/2217/167 652/2218/169 651/2210/167 +f 653/2219/158 642/2220/170 641/2221/158 +f 660/2222/165 649/2223/171 648/2213/165 +f 657/2224/168 646/2205/161 645/2216/168 +f 664/2225/169 641/2221/158 652/2218/169 +f 654/2226/170 643/2208/166 642/2220/170 +f 661/2227/171 650/2211/146 649/2223/171 +f 675/1994/172 673/1995/173 674/1238/173 +f 672/1761/174 675/1994/172 671/1762/174 +f 670/1766/175 673/1995/173 669/2152/175 +f 679/1996/166 692/1336/149 680/1259/149 +f 686/1275/146 699/1325/167 687/1278/167 +f 683/1268/145 696/1345/165 684/1998/165 +f 680/1259/149 693/1338/168 681/1263/168 +f 687/1278/167 700/1328/169 688/1248/169 +f 677/1252/158 690/1332/170 678/1255/170 +f 684/1998/165 697/1347/171 685/1272/171 +f 681/1263/168 694/1340/161 682/1265/161 +f 688/1248/169 689/1330/158 677/1252/158 +f 678/1255/170 691/1334/166 679/1996/166 +f 685/1272/171 698/1326/146 686/1275/146 +f 682/1265/161 695/1342/145 683/1997/145 +f 724/2228/169 735/2229/167 723/2230/167 +f 720/2231/165 731/2232/145 719/2233/145 +f 722/2234/146 733/2235/171 721/2236/171 +f 704/2237/158 736/2238/169 724/2239/169 +f 701/2240/149 726/2241/166 702/2242/166 +f 721/2243/171 732/2244/165 720/2245/165 +f 702/2246/166 727/2247/170 703/2248/170 +f 703/2249/170 728/2250/158 704/2251/158 +f 719/2252/145 730/2253/161 718/2254/161 +f 723/2255/167 734/2256/146 722/2257/146 +f 718/2258/161 729/2259/168 717/2260/168 +f 717/2261/168 725/2262/149 701/2263/149 +f 735/2229/176 748/2264/177 747/2265/176 +f 728/2266/178 748/2264/177 736/2238/177 +f 727/2267/179 737/2268/178 728/2250/178 +f 726/2269/180 738/2270/179 727/2247/179 +f 725/2271/181 739/2272/180 726/2241/180 +f 729/2273/182 740/2274/181 725/2262/181 +f 729/2259/182 742/2275/183 741/2276/182 +f 731/2277/184 742/2275/183 730/2253/183 +f 732/2278/185 743/2279/184 731/2232/184 +f 732/2244/185 745/2280/186 744/2281/185 +f 734/2282/187 745/2280/186 733/2235/186 +f 735/2283/176 746/2284/187 734/2256/187 +f 741/2276/168 752/1297/149 740/2274/149 +f 748/2264/169 759/1300/167 747/2265/167 +f 738/2270/170 749/1303/158 737/2268/158 +f 745/2280/171 756/1306/165 744/2281/165 +f 742/2275/161 753/1295/168 741/2276/168 +f 737/2268/158 760/1298/169 748/2264/169 +f 739/2272/166 750/1301/170 738/2270/170 +f 746/2284/146 757/1304/171 745/2280/171 +f 743/2285/145 754/1307/161 742/2275/161 +f 740/2274/149 751/1311/166 739/2272/166 +f 747/2265/167 758/1318/146 746/2284/146 +f 744/2281/165 755/1292/145 743/2279/145 +f 771/1299/188 784/2286/189 783/2287/188 +f 761/1309/190 784/2288/189 772/1310/189 +f 762/2005/191 773/2289/190 761/1302/190 +f 763/2008/192 774/2290/191 762/1312/191 +f 764/2010/193 775/2291/192 763/1317/192 +f 765/2003/194 776/2292/193 764/1296/193 +f 765/1308/194 778/2293/195 777/2294/194 +f 767/2009/196 778/2295/195 766/1316/195 +f 768/1293/197 779/2296/196 767/1294/196 +f 769/2006/198 780/2297/197 768/1305/197 +f 770/1313/199 781/2298/198 769/1314/198 +f 770/1320/199 783/2299/188 782/2300/199 +f 787/2301/166 800/2302/149 788/2303/149 +f 794/2304/146 807/2305/167 795/2306/167 +f 791/2307/145 804/2308/165 792/2309/165 +f 788/2303/149 801/2310/168 789/2311/168 +f 795/2306/167 808/2312/169 796/2313/169 +f 785/2314/158 798/2315/170 786/2316/170 +f 792/2309/165 805/2317/171 793/2318/171 +f 789/2311/168 802/2319/161 790/2320/161 +f 796/2313/169 797/2321/158 785/2314/158 +f 786/2316/170 799/2322/166 787/2301/166 +f 793/2318/171 806/2323/146 794/2304/146 +f 790/2320/161 803/2324/145 791/2325/145 +f 814/1368/161 827/1429/145 815/2034/145 +f 811/1360/166 824/1423/149 812/2033/149 +f 818/1378/146 831/1413/167 819/1349/167 +f 815/1371/145 828/1432/165 816/2035/165 +f 812/2033/149 825/1425/168 813/1364/168 +f 819/1349/167 832/1415/169 820/1352/169 +f 809/2032/158 822/1419/170 810/1356/170 +f 816/2035/165 829/1434/171 817/1375/171 +f 813/1364/168 826/1427/161 814/1368/161 +f 820/1352/169 821/1417/158 809/2032/158 +f 810/1356/170 823/1421/166 811/1360/166 +f 817/1375/171 830/1436/146 818/1378/146 +f 838/1401/161 851/1459/145 839/2038/145 +f 835/1393/166 848/1453/149 836/1398/149 +f 842/1410/146 855/1442/167 843/1382/167 +f 839/1404/145 852/1462/165 840/1409/165 +f 836/1398/149 849/1455/168 837/1396/168 +f 843/1382/167 856/1445/169 844/1385/169 +f 833/1390/158 846/1449/170 834/1388/170 +f 840/1409/165 853/1464/171 841/1407/171 +f 837/1396/168 850/1457/161 838/1401/161 +f 844/1385/169 845/1447/158 833/1390/158 +f 834/1388/170 847/1451/166 835/1393/166 +f 841/1407/171 854/1443/146 842/1410/146 +f 875/2326/145 864/2327/165 863/2328/145 +f 872/2329/149 861/2330/168 860/2331/149 +f 879/2332/167 868/2333/169 867/2334/167 +f 869/2335/158 858/2336/170 857/2337/158 +f 876/2338/165 865/2339/171 864/2327/165 +f 873/2340/168 862/2341/161 861/2330/168 +f 880/2342/169 857/2337/158 868/2333/169 +f 870/2343/170 859/2344/166 858/2336/170 +f 877/2345/171 866/2346/146 865/2339/171 +f 874/2347/161 863/2348/145 862/2341/161 +f 871/2349/166 860/2331/149 859/2344/166 +f 878/2350/146 867/2334/167 866/2346/146 +f 899/2351/145 888/2352/165 887/2353/145 +f 896/2354/149 885/2355/168 884/2356/149 +f 903/2357/167 892/2358/169 891/2359/167 +f 893/2360/158 882/2361/170 881/2362/158 +f 900/2363/165 889/2364/171 888/2352/165 +f 897/2365/168 886/2366/161 885/2355/168 +f 904/2367/169 881/2362/158 892/2358/169 +f 894/2368/170 883/2369/166 882/2361/170 +f 901/2370/171 890/2371/146 889/2364/171 +f 898/2372/161 887/2373/145 886/2366/161 +f 895/2374/166 884/2356/149 883/2369/166 +f 902/2375/146 891/2359/167 890/2371/146 +f 962/2376/146 963/2377/148 961/2378/146 +f 940/2379/146 941/2380/148 939/2381/146 +f 908/2382/158 909/2383/160 907/2384/158 +f 948/2385/149 949/2386/159 947/2387/149 +f 936/2388/148 906/2389/145 935/2390/148 +f 910/2391/160 911/2392/146 909/2383/160 +f 964/2393/148 965/2394/145 963/2377/148 +f 934/2395/146 935/2390/148 933/2396/146 +f 912/2397/146 913/2398/148 911/2392/146 +f 944/2399/145 945/2400/147 943/2401/145 +f 932/2402/160 933/2403/146 931/2404/160 +f 914/2405/148 915/2406/145 913/2398/148 +f 966/2407/145 967/2408/147 965/2409/145 +f 929/2410/158 932/2402/160 931/2404/160 +f 916/2411/145 917/2412/147 915/2406/145 +f 942/2413/148 943/2401/145 941/2380/148 +f 928/2414/159 929/2410/158 927/2415/159 +f 918/2416/147 919/2417/149 917/2412/147 +f 924/2418/147 925/2419/149 923/2420/147 +f 926/2421/149 927/2415/159 925/2419/149 +f 920/2422/149 921/2423/159 919/2424/149 +f 946/2425/147 947/2387/149 945/2400/147 +f 968/2426/147 938/2427/149 967/2408/147 +f 921/2423/159 908/2382/158 907/2384/158 +f 905/2428/145 923/2420/147 906/2389/145 +f 960/2429/160 961/2378/146 959/2430/160 +f 950/2431/159 951/2432/158 949/2386/159 +f 956/2433/159 957/2434/158 955/2435/159 +f 958/2436/158 959/2430/160 957/2434/158 +f 952/2437/158 953/2438/160 951/2439/158 +f 954/2440/160 939/2381/146 953/2438/160 +f 937/2441/149 955/2435/159 938/2427/149 +f 1026/2442/148 1027/2443/145 1025/2444/148 +f 1004/2445/148 1005/2446/145 1003/2447/148 +f 972/2448/160 973/2449/146 971/2450/160 +f 1012/2451/159 1013/2452/158 1011/2453/159 +f 1000/2454/145 970/2455/147 999/2456/145 +f 974/2457/146 975/2458/148 973/2449/146 +f 1027/2443/145 1030/2459/147 1029/2460/147 +f 998/2461/148 999/2456/145 997/2462/148 +f 976/2463/148 977/2464/145 975/2458/148 +f 1008/2465/147 1009/2466/149 1007/2467/147 +f 996/2468/146 997/2469/148 995/2470/146 +f 978/2471/145 979/2472/147 977/2464/145 +f 1030/2473/147 1031/2474/149 1029/2475/147 +f 993/2476/160 996/2468/146 995/2470/146 +f 980/2477/147 981/2478/149 979/2472/147 +f 1006/2479/145 1007/2467/147 1005/2446/145 +f 992/2480/158 993/2476/160 991/2481/158 +f 982/2482/149 983/2483/159 981/2478/149 +f 988/2484/149 989/2485/159 987/2486/149 +f 990/2487/159 991/2481/158 989/2485/159 +f 984/2488/159 985/2489/158 983/2490/159 +f 1010/2491/149 1011/2453/159 1009/2466/149 +f 1032/2492/149 1002/2493/159 1031/2474/149 +f 986/2494/158 971/2450/160 985/2489/158 +f 969/2495/147 987/2486/149 970/2455/147 +f 1024/2496/146 1025/2444/148 1023/2497/146 +f 1014/2498/158 1015/2499/160 1013/2452/158 +f 1020/2500/158 1021/2501/160 1019/2502/158 +f 1022/2503/160 1023/2497/146 1021/2501/160 +f 1016/2504/160 1017/2505/146 1015/2506/160 +f 1018/2507/146 1003/2447/148 1017/2505/146 +f 1001/2508/159 1019/2502/158 1002/2493/159 +f 1051/1505/145 1049/1515/200 1050/1499/200 +f 1055/1496/201 1054/2509/158 1056/2510/201 +f 1060/2511/202 1072/2512/203 1063/2513/203 +f 1064/2514/204 1066/2515/205 1061/2516/205 +f 1058/2517/206 1070/2518/207 1059/2519/207 +f 1072/2512/203 1064/2514/204 1063/2513/203 +f 1062/2520/208 1066/2515/205 1065/2521/208 +f 1068/2522/209 1058/2517/206 1057/2523/209 +f 1060/2511/202 1070/2518/207 1069/2524/202 +f 1062/2520/208 1068/2525/209 1057/2526/209 +f 1078/1514/210 1050/1499/200 1049/1515/200 +f 1074/1512/143 1078/1514/210 1073/1507/143 +f 1075/1509/144 1079/2527/211 1076/2528/144 +f 1056/2529/201 1080/2077/211 1055/1513/201 +f 1116/2530/212 1123/2531/148 1115/2532/148 +f 1119/2533/159 1128/2534/213 1127/2535/159 +f 1115/2532/148 1122/2536/214 1114/2537/214 +f 1114/2537/214 1121/2538/144 1113/2539/144 +f 1117/2540/143 1124/2541/212 1116/2530/212 +f 1118/2542/215 1125/2543/143 1117/2540/143 +f 1119/2533/159 1126/2544/215 1118/2542/215 +f 1113/2545/144 1128/2534/213 1120/2546/213 +f 1136/2547/216 1137/2548/144 1144/2549/216 +f 1134/2550/217 1141/2551/143 1133/2552/143 +f 1131/2553/160 1138/2554/218 1130/2555/218 +f 1132/2556/219 1141/2551/143 1140/2557/219 +f 1130/2555/218 1137/2558/144 1129/2559/144 +f 1134/2550/217 1143/2560/147 1142/2561/217 +f 1136/2547/216 1143/2560/147 1135/2562/147 +f 1132/2556/219 1139/2563/160 1131/2553/160 +f 1145/2564/144 1160/2565/220 1152/2566/220 +f 1151/2567/146 1158/2568/221 1150/2569/221 +f 1149/2570/143 1156/2571/222 1148/2572/222 +f 1147/2573/149 1154/2574/223 1146/2575/223 +f 1152/2566/220 1159/2576/146 1151/2567/146 +f 1150/2569/221 1157/2577/143 1149/2570/143 +f 1148/2572/222 1155/2578/149 1147/2573/149 +f 1146/2575/223 1153/2579/144 1145/2580/144 +f 1172/2581/143 1163/2582/219 1164/2583/143 +f 1172/2581/143 1165/2584/217 1173/2585/217 +f 1170/2586/160 1163/2582/219 1171/2587/219 +f 1169/2588/218 1162/2589/160 1170/2586/160 +f 1174/2590/147 1167/2591/216 1175/2592/216 +f 1175/2592/216 1168/2593/144 1176/2594/144 +f 1174/2590/147 1165/2584/217 1166/2595/147 +f 1176/2596/144 1161/2597/218 1169/2588/218 +f 1192/2598/144 1177/2599/214 1185/2600/214 +f 1190/2601/159 1181/2602/215 1182/2603/159 +f 1191/2604/213 1184/2605/144 1192/2606/144 +f 1186/2607/148 1177/2599/214 1178/2608/148 +f 1189/2609/215 1180/2610/143 1181/2602/215 +f 1187/2611/212 1180/2610/143 1188/2612/143 +f 1191/2604/213 1182/2603/159 1183/2613/213 +f 1186/2607/148 1179/2614/212 1187/2611/212 +f 1200/2615/224 1201/2616/144 1208/2617/224 +f 1198/2618/163 1205/2619/143 1197/2620/143 +f 1195/2621/145 1202/2622/164 1194/2623/164 +f 1197/2620/143 1204/2624/225 1196/2625/225 +f 1193/2626/144 1202/2622/164 1201/2627/144 +f 1199/2628/158 1206/2629/163 1198/2618/163 +f 1200/2615/224 1207/2630/158 1199/2628/158 +f 1196/2625/225 1203/2631/145 1195/2621/145 +f 1224/2632/144 1209/2633/164 1217/2634/164 +f 1221/2635/163 1214/2636/158 1222/2637/158 +f 1223/2638/224 1216/2639/144 1224/2640/144 +f 1217/2634/164 1210/2641/145 1218/2642/145 +f 1220/2643/143 1213/2644/163 1221/2635/163 +f 1219/2645/225 1212/2646/143 1220/2643/143 +f 1222/2637/158 1215/2647/224 1223/2638/224 +f 1218/2642/145 1211/2648/225 1219/2645/225 +f 1240/2649/144 1225/2650/223 1233/2651/223 +f 1237/2652/221 1230/2653/146 1238/2654/146 +f 1240/2655/144 1231/2656/220 1232/2657/144 +f 1233/2651/223 1226/2658/149 1234/2659/149 +f 1236/2660/143 1229/2661/221 1237/2652/221 +f 1235/2662/222 1228/2663/143 1236/2660/143 +f 1238/2654/146 1231/2656/220 1239/2664/220 +f 1234/2659/149 1227/2665/222 1235/2662/222 +f 1255/1588/226 1248/2666/144 1247/2667/226 +f 1254/2123/166 1245/2668/227 1253/1591/227 +f 1252/1594/143 1243/2669/228 1251/1595/228 +f 1250/2124/171 1241/2670/229 1249/1597/229 +f 1255/1598/226 1246/2671/166 1254/1599/166 +f 1253/1601/227 1244/2672/143 1252/1602/143 +f 1250/1604/171 1243/2673/228 1242/2674/171 +f 1249/2121/229 1248/2675/144 1256/1585/144 +f 1262/2676/230 1260/2677/231 1258/2678/232 +f 1271/2679/233 1262/2680/230 1263/2681/234 +f 1268/2682/235 1261/2683/236 1269/2684/237 +f 1266/2685/238 1259/2686/239 1267/2687/240 +f 1272/2688/241 1257/2689/242 1265/2690/243 +f 1272/2691/241 1263/2692/234 1264/2693/244 +f 1270/2694/245 1261/2695/236 1262/2696/230 +f 1268/2682/235 1259/2697/239 1260/2698/231 +f 1265/2690/243 1258/2699/232 1266/2685/238 +f 1273/1584/229 1272/2688/241 1265/2690/243 +f 1280/1587/144 1271/2679/233 1272/2691/241 +f 1277/1592/227 1270/2694/245 1278/1590/166 +f 1275/1593/228 1268/2682/235 1276/1600/143 +f 1273/1584/229 1266/2685/238 1274/1596/171 +f 1278/1590/166 1271/2679/233 1279/1589/226 +f 1276/1600/143 1269/2684/237 1277/1592/227 +f 1274/1596/171 1267/2687/240 1275/1593/228 +f 1286/1617/228 1295/2700/238 1294/2701/240 +f 1285/1608/143 1292/2702/237 1284/1619/227 +f 1283/1611/166 1290/2703/233 1282/1622/226 +f 1288/1615/229 1295/2700/238 1287/1605/171 +f 1286/1617/228 1293/2704/235 1285/1608/143 +f 1283/1611/166 1292/2702/237 1291/2705/245 +f 1281/1620/144 1290/2703/233 1289/2706/241 +f 1288/1615/229 1289/2707/241 1296/2708/243 +f 1296/2708/243 1303/2709/232 1295/2700/238 +f 1294/2701/240 1301/2710/231 1293/2704/235 +f 1291/2705/245 1300/2711/236 1299/2712/230 +f 1289/2706/241 1298/2713/234 1297/2714/244 +f 1289/2707/241 1304/2715/242 1296/2708/243 +f 1294/2701/240 1303/2716/232 1302/2717/239 +f 1292/2702/237 1301/2718/231 1300/2719/236 +f 1291/2705/245 1298/2720/234 1290/2703/233 +f 1299/2721/230 1301/2722/231 1303/2723/232 +f 1312/1624/229 1313/2724/144 1305/1625/144 +f 1311/1607/171 1318/2725/228 1319/2726/171 +f 1308/1609/227 1317/2727/143 1309/1610/143 +f 1306/1612/226 1315/2728/166 1307/1613/166 +f 1311/2125/171 1320/2729/229 1312/1614/229 +f 1309/2126/143 1318/2730/228 1310/1616/228 +f 1308/1618/227 1315/2731/166 1316/2732/227 +f 1306/1621/226 1313/2733/144 1314/2734/226 +f 1327/1628/171 1334/2735/240 1326/1626/228 +f 1325/1629/143 1332/2736/237 1324/1640/227 +f 1323/1632/166 1330/2737/233 1322/1643/226 +f 1328/1636/229 1335/2738/238 1327/1628/171 +f 1326/1626/228 1333/2739/235 1325/1629/143 +f 1323/1632/166 1332/2736/237 1331/2740/245 +f 1321/1641/144 1330/2737/233 1329/2741/241 +f 1321/1645/144 1336/2742/243 1328/1636/229 +f 1336/2742/243 1343/2743/232 1335/2738/238 +f 1333/2739/235 1342/2744/239 1341/2745/231 +f 1331/2740/245 1340/2746/236 1339/2747/230 +f 1329/2741/241 1338/2748/234 1337/2749/244 +f 1329/2750/241 1344/2751/242 1336/2742/243 +f 1335/2738/238 1342/2752/239 1334/2735/240 +f 1332/2736/237 1341/2753/231 1340/2754/236 +f 1331/2740/245 1338/2755/234 1330/2737/233 +f 1339/2756/230 1341/2757/231 1343/2758/232 +f 1345/1644/144 1360/2759/229 1353/2760/144 +f 1350/2129/228 1359/2761/171 1351/1627/171 +f 1348/1630/227 1357/2762/143 1349/1631/143 +f 1346/1633/226 1355/2763/166 1347/1634/166 +f 1351/2130/171 1360/2764/229 1352/1635/229 +f 1349/1637/143 1358/2765/228 1350/1638/228 +f 1347/2131/166 1356/2766/227 1348/1639/227 +f 1346/1642/226 1353/2767/144 1354/2768/226 +f 1375/1651/226 1368/2769/144 1367/2770/226 +f 1373/1653/227 1366/2771/166 1365/2772/227 +f 1372/2136/143 1363/2773/228 1371/1656/228 +f 1370/2137/171 1361/2774/229 1369/1659/229 +f 1375/1661/226 1366/2775/166 1374/1662/166 +f 1373/1663/227 1364/2776/143 1372/1664/143 +f 1370/1665/171 1363/2777/228 1362/2778/171 +f 1376/1648/144 1361/2779/229 1368/2780/144 +f 1382/2781/230 1380/2782/231 1378/2783/232 +f 1390/2784/245 1383/2785/234 1391/2786/233 +f 1389/2787/237 1380/2788/231 1381/2789/236 +f 1387/2790/240 1378/2791/232 1379/2792/239 +f 1385/2793/243 1384/2794/244 1377/2795/242 +f 1392/2796/241 1383/2797/234 1384/2798/244 +f 1390/2784/245 1381/2799/236 1382/2800/230 +f 1388/2801/235 1379/2802/239 1380/2803/231 +f 1386/2804/238 1377/2805/242 1378/2806/232 +f 1393/1660/229 1392/2807/241 1385/2793/243 +f 1400/2134/144 1391/2786/233 1392/2796/241 +f 1398/1652/166 1389/2787/237 1390/2784/245 +f 1395/1657/228 1388/2801/235 1396/1655/143 +f 1393/1660/229 1386/2804/238 1394/1658/171 +f 1398/1652/166 1391/2786/233 1399/1649/226 +f 1396/1655/143 1389/2787/237 1397/1654/227 +f 1394/1658/171 1387/2790/240 1395/1657/228 +f 1415/1670/226 1408/2808/144 1407/2809/226 +f 1413/1673/227 1406/2810/166 1405/2811/227 +f 1412/2141/143 1403/2812/228 1411/1676/228 +f 1410/2142/171 1401/2813/229 1409/1679/229 +f 1415/1681/226 1406/2814/166 1414/1682/166 +f 1413/1683/227 1404/2815/143 1412/1684/143 +f 1410/1686/171 1403/2816/228 1402/2817/171 +f 1416/1668/144 1401/2818/229 1408/2819/144 +f 1422/2820/230 1420/2821/231 1418/2822/232 +f 1430/2823/245 1423/2824/234 1431/2825/233 +f 1428/2826/235 1421/2827/236 1429/2828/237 +f 1427/2829/240 1418/2830/232 1419/2831/239 +f 1432/2832/241 1417/2833/242 1425/2834/243 +f 1432/2835/241 1423/2836/234 1424/2837/244 +f 1430/2823/245 1421/2838/236 1422/2839/230 +f 1427/2829/240 1420/2840/231 1428/2826/235 +f 1426/2841/246 1417/2842/242 1418/2843/232 +f 1433/1680/229 1432/2832/241 1425/2834/243 +f 1440/1669/144 1431/2825/233 1432/2835/241 +f 1438/1672/166 1429/2828/237 1430/2823/245 +f 1435/1677/228 1428/2826/235 1436/1675/143 +f 1433/1680/229 1426/2841/246 1434/1678/171 +f 1438/1672/166 1431/2825/233 1439/1671/226 +f 1436/1675/143 1429/2828/237 1437/1674/227 +f 1434/1678/171 1427/2829/240 1435/1677/228 +f 1442/1697/143 1445/1713/247 1441/1698/143 +f 1451/1708/144 1456/1715/211 1452/1704/144 +f 1455/1707/211 1463/1723/201 1456/1715/211 +f 1461/1725/143 1465/1738/247 1464/1726/143 +f 1463/1723/201 1457/2143/248 1460/1722/248 +f 1446/1696/247 1457/2143/248 1445/1713/247 +f 1471/1736/144 1476/1740/211 1472/1732/144 +f 1475/1735/211 1480/1748/201 1476/1740/211 +f 1480/1748/201 1477/2146/248 1478/1747/248 +f 1466/1724/247 1477/2146/248 1465/1738/247 +f 1533/2844/147 1510/2845/149 1534/2846/149 +f 1531/2847/148 1508/2848/145 1532/2849/145 +f 1529/2850/160 1506/2851/146 1530/2852/146 +f 1534/2846/149 1511/2853/159 1535/2854/159 +f 1532/2855/145 1509/2856/147 1533/2844/147 +f 1530/2852/146 1507/2857/148 1531/2847/148 +f 1536/2858/158 1505/2859/160 1529/2850/160 +f 1535/2854/159 1512/2860/158 1536/2858/158 +f 1523/2861/148 1516/2862/145 1524/2863/145 +f 1521/2864/160 1514/2865/146 1522/2866/146 +f 1527/2867/159 1520/2868/158 1528/2869/158 +f 1525/2870/147 1518/2871/149 1526/2872/149 +f 1538/2873/159 1545/2874/158 1537/2875/158 +f 1537/2875/158 1552/2876/160 1544/2877/160 +f 1526/2872/149 1519/2878/159 1527/2867/159 +f 1524/2879/145 1517/2880/147 1525/2870/147 +f 1522/2866/146 1515/2881/148 1523/2861/148 +f 1528/2869/158 1513/2882/160 1521/2864/160 +f 1543/2883/146 1550/2884/148 1542/2885/148 +f 1541/2886/145 1548/2887/147 1540/2888/147 +f 1539/2889/149 1546/2890/159 1538/2873/159 +f 1544/2877/160 1551/2891/146 1543/2883/146 +f 1542/2885/148 1549/2892/145 1541/2893/145 +f 1540/2888/147 1547/2894/149 1539/2889/149 +f 1564/2895/147 1571/2896/149 1563/2897/149 +f 1562/2898/159 1569/2899/158 1561/2900/158 +f 1561/2900/158 1576/2901/160 1568/2902/160 +f 1567/2903/146 1574/2904/148 1566/2905/148 +f 1565/2906/145 1572/2907/147 1564/2895/147 +f 1563/2897/149 1570/2908/159 1562/2898/159 +f 1568/2902/160 1575/2909/146 1567/2903/146 +f 1566/2905/148 1573/2910/145 1565/2911/145 +f 1628/1903/249 1635/2912/250 1627/1895/168 +f 1625/1904/144 1634/2913/251 1633/2914/252 +f 1632/1899/253 1633/2915/252 1640/2916/254 +f 1639/2917/255 1648/2918/256 1647/2919/257 +f 1637/2920/258 1646/2921/259 1645/2922/260 +f 1635/2912/250 1644/2923/261 1643/2924/262 +f 1633/2914/252 1642/2925/263 1641/2926/264 +f 1633/2915/252 1648/2927/256 1640/2916/254 +f 1638/2928/265 1647/2929/257 1646/2930/259 +f 1637/2920/258 1644/2931/261 1636/2932/266 +f 1635/2912/250 1642/2933/263 1634/2913/251 +f 1643/2934/262 1645/2935/260 1647/2936/257 +f 1649/1909/144 1664/2937/253 1657/2938/144 +f 1655/1891/167 1662/2939/267 1663/2940/167 +f 1652/1893/249 1661/2941/143 1653/1894/143 +f 1650/1896/268 1659/2942/168 1651/1897/168 +f 1655/2183/167 1664/2943/253 1656/1898/253 +f 1653/2184/143 1662/2944/267 1654/1900/267 +f 1652/1902/249 1659/2945/168 1660/2946/249 +f 1649/2186/144 1658/2947/268 1650/1905/268 +f 1671/1910/167 1678/2948/265 1670/1922/267 +f 1669/1913/143 1676/2949/266 1668/1924/249 +f 1667/1916/168 1674/2950/251 1666/1927/268 +f 1672/1920/253 1679/2951/255 1671/1910/167 +f 1670/1922/267 1677/2952/258 1669/1913/143 +f 1667/1916/168 1676/2949/266 1675/2953/250 +f 1665/1925/144 1674/2950/251 1673/2954/252 +f 1672/1920/253 1673/2955/252 1680/2956/254 +f 1680/2956/254 1687/2957/257 1679/2951/255 +f 1678/2948/265 1685/2958/260 1677/2952/258 +f 1675/2953/250 1684/2959/261 1683/2960/262 +f 1673/2954/252 1682/2961/263 1681/2962/264 +f 1673/2955/252 1688/2963/256 1680/2956/254 +f 1678/2948/265 1687/2964/257 1686/2965/259 +f 1677/2952/258 1684/2966/261 1676/2949/266 +f 1675/2953/250 1682/2967/263 1674/2950/251 +f 1683/2968/262 1685/2969/260 1687/2970/257 +f 1689/1930/144 1704/2971/253 1697/2972/144 +f 1694/1911/267 1703/2973/167 1695/1912/167 +f 1693/1915/143 1700/2974/249 1701/2975/143 +f 1690/1917/268 1699/2976/168 1691/1918/168 +f 1695/2187/167 1704/2977/253 1696/1919/253 +f 1693/2188/143 1702/2978/267 1694/1921/267 +f 1692/1923/249 1699/2979/168 1700/2980/249 +f 1689/2190/144 1698/2981/268 1690/1926/268 +f 1720/2191/144 1711/2982/268 1719/1935/268 +f 1717/1938/249 1710/2983/168 1709/2984/249 +f 1716/2193/143 1707/2985/267 1715/1941/267 +f 1714/1944/167 1705/2986/253 1713/1945/253 +f 1719/1946/268 1710/2987/168 1718/1947/168 +f 1717/1948/249 1708/2988/143 1716/1949/143 +f 1714/1950/167 1707/2989/267 1706/2990/167 +f 1720/1933/144 1705/2991/253 1712/2992/144 +f 1726/2993/262 1724/2994/260 1722/2995/257 +f 1734/2996/250 1727/2997/263 1735/2998/251 +f 1732/2999/258 1725/3000/261 1733/3001/266 +f 1731/3002/265 1722/3003/257 1723/3004/259 +f 1736/3005/252 1721/3006/256 1729/3007/254 +f 1736/3008/252 1727/3009/263 1728/3010/264 +f 1734/2996/250 1725/3011/261 1726/3012/262 +f 1731/3002/265 1724/3013/260 1732/2999/258 +f 1730/3014/255 1721/3015/256 1722/3016/257 +f 1737/1943/253 1736/3005/252 1729/3007/254 +f 1744/1934/144 1735/2998/251 1736/3008/252 +f 1741/1939/249 1734/2996/250 1742/1937/168 +f 1739/1942/267 1732/2999/258 1740/1940/143 +f 1737/1943/253 1730/3014/255 1738/1951/167 +f 1742/1937/168 1735/2998/251 1743/1936/268 +f 1740/1940/143 1733/3001/266 1741/1939/249 +f 1739/1942/267 1730/3014/255 1731/3002/265 +f 1759/1956/268 1752/3017/144 1751/3018/268 +f 1758/2196/168 1749/3019/249 1757/1959/249 +f 1756/2197/143 1747/3020/267 1755/1962/267 +f 1754/2198/167 1745/3021/253 1753/1965/253 +f 1759/1967/268 1750/3022/168 1758/1968/168 +f 1757/1969/249 1748/3023/143 1756/1970/143 +f 1755/1971/267 1746/3024/167 1754/1972/167 +f 1760/1954/144 1745/3025/253 1752/3026/144 +f 1766/3027/262 1764/3028/260 1762/3029/257 +f 1774/3030/250 1767/3031/263 1775/3032/251 +f 1772/3033/258 1765/3034/261 1773/3035/266 +f 1770/3036/255 1763/3037/259 1771/3038/265 +f 1776/3039/252 1761/3040/256 1769/3041/254 +f 1776/3042/252 1767/3043/263 1768/3044/264 +f 1774/3030/250 1765/3045/261 1766/3046/262 +f 1771/3038/265 1764/3047/260 1772/3033/258 +f 1770/3036/255 1761/3048/256 1762/3049/257 +f 1777/1966/253 1776/3039/252 1769/3041/254 +f 1784/1955/144 1775/3032/251 1776/3042/252 +f 1782/1958/168 1773/3035/266 1774/3030/250 +f 1779/1963/267 1772/3033/258 1780/1961/143 +f 1777/1966/253 1770/3036/255 1778/1964/167 +f 1782/1958/168 1775/3032/251 1783/1957/268 +f 1780/1961/143 1773/3035/266 1781/1960/249 +f 1778/1964/167 1771/3038/265 1779/1963/267 +f 1790/1973/267 1799/3050/255 1798/3051/265 +f 1789/1976/143 1796/3052/266 1788/1987/249 +f 1786/1990/268 1795/3053/250 1794/3054/251 +f 1792/1982/253 1799/3050/255 1791/1975/167 +f 1790/1973/267 1797/3055/258 1789/1976/143 +f 1788/1987/249 1795/3053/250 1787/1979/168 +f 1785/1988/144 1794/3054/251 1793/3056/252 +f 1785/1991/144 1800/3057/254 1792/1982/253 +f 1799/3050/255 1808/3058/256 1807/3059/257 +f 1797/3055/258 1806/3060/259 1805/3061/260 +f 1795/3053/250 1804/3062/261 1803/3063/262 +f 1793/3056/252 1802/3064/263 1801/3065/264 +f 1793/3066/252 1808/3067/256 1800/3057/254 +f 1798/3051/265 1807/3068/257 1806/3069/259 +f 1797/3055/258 1804/3070/261 1796/3052/266 +f 1795/3053/250 1802/3071/263 1794/3054/251 +f 1803/3072/262 1805/3073/260 1807/3074/257 +f 1809/1993/144 1824/3075/253 1817/3076/144 +f 1815/1974/167 1822/3077/267 1823/3078/167 +f 1812/1977/249 1821/3079/143 1813/1978/143 +f 1810/1980/268 1819/3080/168 1811/1981/168 +f 1815/1983/167 1824/3081/253 1816/1984/253 +f 1813/2200/143 1822/3082/267 1814/1985/267 +f 1811/2201/168 1820/3083/249 1812/1986/249 +f 1810/1989/268 1817/3084/144 1818/3085/268 +f 1630/1901/267 1637/2920/258 1629/1892/143 +f 1632/1899/253 1639/2917/255 1631/1889/167 +f 1627/1895/168 1634/2913/251 1626/1906/268 +f 1629/1892/143 1636/2932/266 1628/1903/249 +f 1631/1889/167 1638/2928/265 1630/1901/267 +f 658/2203/161 659/3086/145 647/2204/145 +f 655/2206/166 656/2215/149 644/2207/149 +f 662/2209/146 663/2217/167 651/2210/167 +f 659/2212/145 660/2222/165 648/2213/165 +f 656/2215/149 657/2224/168 645/2216/168 +f 663/2217/167 664/2225/169 652/2218/169 +f 653/2219/158 654/2226/170 642/2220/170 +f 660/2222/165 661/2227/171 649/2223/171 +f 657/2224/168 658/2203/161 646/2205/161 +f 664/2225/169 653/2219/158 641/2221/158 +f 654/2226/170 655/2206/166 643/2208/166 +f 661/2227/171 662/2209/146 650/2211/146 +f 675/1994/172 676/1246/172 673/1995/173 +f 672/1761/174 676/1246/172 675/1994/172 +f 670/1766/175 674/1238/173 673/1995/173 +f 679/1996/166 691/1334/166 692/1336/149 +f 686/1275/146 698/1326/146 699/1325/167 +f 683/1268/145 695/1343/145 696/1345/165 +f 680/1259/149 692/1336/149 693/1338/168 +f 687/1278/167 699/1325/167 700/1328/169 +f 677/1252/158 689/1330/158 690/1332/170 +f 684/1998/165 696/1345/165 697/1347/171 +f 681/1263/168 693/1338/168 694/1340/161 +f 688/1248/169 700/1328/169 689/1330/158 +f 678/1255/170 690/1332/170 691/1334/166 +f 685/1272/171 697/1347/171 698/1326/146 +f 682/1265/161 694/1340/161 695/1342/145 +f 724/2228/169 736/3087/169 735/2229/167 +f 720/2231/165 732/2278/165 731/2232/145 +f 722/2234/146 734/2282/146 733/2235/171 +f 704/2237/158 728/2266/158 736/2238/169 +f 701/2240/149 725/2271/149 726/2241/166 +f 721/2243/171 733/3088/171 732/2244/165 +f 702/2246/166 726/2269/166 727/2247/170 +f 703/2249/170 727/2267/170 728/2250/158 +f 719/2252/145 731/2277/145 730/2253/161 +f 723/2255/167 735/2283/167 734/2256/146 +f 718/2258/161 730/3089/161 729/2259/168 +f 717/2261/168 729/2273/168 725/2262/149 +f 735/2229/176 736/3087/177 748/2264/177 +f 728/2266/178 737/2268/178 748/2264/177 +f 727/2267/179 738/2270/179 737/2268/178 +f 726/2269/180 739/2272/180 738/2270/179 +f 725/2271/181 740/2274/181 739/2272/180 +f 729/2273/182 741/2276/182 740/2274/181 +f 729/2259/182 730/3089/183 742/2275/183 +f 731/2277/184 743/2285/184 742/2275/183 +f 732/2278/185 744/2281/185 743/2279/184 +f 732/2244/185 733/3088/186 745/2280/186 +f 734/2282/187 746/2284/187 745/2280/186 +f 735/2283/176 747/2265/176 746/2284/187 +f 741/2276/168 753/1295/168 752/1297/149 +f 748/2264/169 760/1298/169 759/1300/167 +f 738/2270/170 750/1301/170 749/1303/158 +f 745/2280/171 757/1304/171 756/1306/165 +f 742/2275/161 754/1307/161 753/1295/168 +f 737/2268/158 749/1303/158 760/1298/169 +f 739/2272/166 751/1311/166 750/1301/170 +f 746/2284/146 758/1318/146 757/1304/171 +f 743/2285/145 755/1315/145 754/1307/161 +f 740/2274/149 752/1297/149 751/1311/166 +f 747/2265/167 759/1300/167 758/1318/146 +f 744/2281/165 756/1306/165 755/1292/145 +f 771/1299/188 772/2004/189 784/2286/189 +f 761/1309/190 773/3090/190 784/2288/189 +f 762/2005/191 774/3091/191 773/2289/190 +f 763/2008/192 775/3092/192 774/2290/191 +f 764/2010/193 776/3093/193 775/2291/192 +f 765/2003/194 777/3094/194 776/2292/193 +f 765/1308/194 766/2007/195 778/2293/195 +f 767/2009/196 779/3095/196 778/2295/195 +f 768/1293/197 780/3096/197 779/2296/196 +f 769/2006/198 781/3097/198 780/2297/197 +f 770/1313/199 782/3098/199 781/2298/198 +f 770/1320/199 771/1319/188 783/2299/188 +f 787/2301/166 799/2322/166 800/2302/149 +f 794/2304/146 806/2323/146 807/2305/167 +f 791/2307/145 803/3099/145 804/2308/165 +f 788/2303/149 800/2302/149 801/2310/168 +f 795/2306/167 807/2305/167 808/2312/169 +f 785/2314/158 797/2321/158 798/2315/170 +f 792/2309/165 804/2308/165 805/2317/171 +f 789/2311/168 801/2310/168 802/2319/161 +f 796/2313/169 808/2312/169 797/2321/158 +f 786/2316/170 798/2315/170 799/2322/166 +f 793/2318/171 805/2317/171 806/2323/146 +f 790/2320/161 802/2319/161 803/2324/145 +f 814/1368/161 826/1427/161 827/1429/145 +f 811/1360/166 823/1421/166 824/1423/149 +f 818/1378/146 830/1436/146 831/1413/167 +f 815/1371/145 827/1430/145 828/1432/165 +f 812/2033/149 824/1423/149 825/1425/168 +f 819/1349/167 831/1413/167 832/1415/169 +f 809/2032/158 821/1417/158 822/1419/170 +f 816/2035/165 828/1432/165 829/1434/171 +f 813/1364/168 825/1425/168 826/1427/161 +f 820/1352/169 832/1415/169 821/1417/158 +f 810/1356/170 822/1419/170 823/1421/166 +f 817/1375/171 829/1434/171 830/1436/146 +f 838/1401/161 850/1457/161 851/1459/145 +f 835/1393/166 847/1451/166 848/1453/149 +f 842/1410/146 854/1443/146 855/1442/167 +f 839/1404/145 851/1460/145 852/1462/165 +f 836/1398/149 848/1453/149 849/1455/168 +f 843/1382/167 855/1442/167 856/1445/169 +f 833/1390/158 845/1447/158 846/1449/170 +f 840/1409/165 852/1462/165 853/1464/171 +f 837/1396/168 849/1455/168 850/1457/161 +f 844/1385/169 856/1445/169 845/1447/158 +f 834/1388/170 846/1449/170 847/1451/166 +f 841/1407/171 853/1464/171 854/1443/146 +f 875/2326/145 876/2338/165 864/2327/165 +f 872/2329/149 873/2340/168 861/2330/168 +f 879/2332/167 880/2342/169 868/2333/169 +f 869/2335/158 870/2343/170 858/2336/170 +f 876/2338/165 877/2345/171 865/2339/171 +f 873/2340/168 874/2347/161 862/2341/161 +f 880/2342/169 869/2335/158 857/2337/158 +f 870/2343/170 871/2349/166 859/2344/166 +f 877/2345/171 878/2350/146 866/2346/146 +f 874/2347/161 875/3100/145 863/2348/145 +f 871/2349/166 872/2329/149 860/2331/149 +f 878/2350/146 879/2332/167 867/2334/167 +f 899/2351/145 900/2363/165 888/2352/165 +f 896/2354/149 897/2365/168 885/2355/168 +f 903/2357/167 904/2367/169 892/2358/169 +f 893/2360/158 894/2368/170 882/2361/170 +f 900/2363/165 901/2370/171 889/2364/171 +f 897/2365/168 898/2372/161 886/2366/161 +f 904/2367/169 893/2360/158 881/2362/158 +f 894/2368/170 895/2374/166 883/2369/166 +f 901/2370/171 902/2375/146 890/2371/146 +f 898/2372/161 899/3101/145 887/2373/145 +f 895/2374/166 896/2354/149 884/2356/149 +f 902/2375/146 903/2357/167 891/2359/167 +f 962/2376/146 964/2393/148 963/2377/148 +f 940/2379/146 942/2413/148 941/2380/148 +f 908/2382/158 910/2391/160 909/2383/160 +f 948/2385/149 950/2431/159 949/2386/159 +f 936/2388/148 905/2428/145 906/2389/145 +f 910/2391/160 912/2397/146 911/2392/146 +f 964/2393/148 966/3102/145 965/2394/145 +f 934/2395/146 936/2388/148 935/2390/148 +f 912/2397/146 914/2405/148 913/2398/148 +f 944/2399/145 946/2425/147 945/2400/147 +f 932/2402/160 934/3103/146 933/2403/146 +f 914/2405/148 916/2411/145 915/2406/145 +f 966/2407/145 968/2426/147 967/2408/147 +f 929/2410/158 930/3104/158 932/2402/160 +f 916/2411/145 918/2416/147 917/2412/147 +f 942/2413/148 944/2399/145 943/2401/145 +f 928/2414/159 930/3104/158 929/2410/158 +f 918/2416/147 920/3105/149 919/2417/149 +f 924/2418/147 926/2421/149 925/2419/149 +f 926/2421/149 928/2414/159 927/2415/159 +f 920/2422/149 922/3106/159 921/2423/159 +f 946/2425/147 948/2385/149 947/2387/149 +f 968/2426/147 937/2441/149 938/2427/149 +f 921/2423/159 922/3106/159 908/2382/158 +f 905/2428/145 924/2418/147 923/2420/147 +f 960/2429/160 962/2376/146 961/2378/146 +f 950/2431/159 952/3107/158 951/2432/158 +f 956/2433/159 958/2436/158 957/2434/158 +f 958/2436/158 960/2429/160 959/2430/160 +f 952/2437/158 954/2440/160 953/2438/160 +f 954/2440/160 940/2379/146 939/2381/146 +f 937/2441/149 956/2433/159 955/2435/159 +f 1026/2442/148 1028/3108/145 1027/2443/145 +f 1004/2445/148 1006/2479/145 1005/2446/145 +f 972/2448/160 974/2457/146 973/2449/146 +f 1012/2451/159 1014/2498/158 1013/2452/158 +f 1000/2454/145 969/2495/147 970/2455/147 +f 974/2457/146 976/2463/148 975/2458/148 +f 1027/2443/145 1028/3108/145 1030/2459/147 +f 998/2461/148 1000/2454/145 999/2456/145 +f 976/2463/148 978/2471/145 977/2464/145 +f 1008/2465/147 1010/2491/149 1009/2466/149 +f 996/2468/146 998/3109/148 997/2469/148 +f 978/2471/145 980/2477/147 979/2472/147 +f 1030/2473/147 1032/2492/149 1031/2474/149 +f 993/2476/160 994/3110/160 996/2468/146 +f 980/2477/147 982/2482/149 981/2478/149 +f 1006/2479/145 1008/2465/147 1007/2467/147 +f 992/2480/158 994/3110/160 993/2476/160 +f 982/2482/149 984/3111/159 983/2483/159 +f 988/2484/149 990/2487/159 989/2485/159 +f 990/2487/159 992/2480/158 991/2481/158 +f 984/2488/159 986/2494/158 985/2489/158 +f 1010/2491/149 1012/2451/159 1011/2453/159 +f 1032/2492/149 1001/2508/159 1002/2493/159 +f 986/2494/158 972/2448/160 971/2450/160 +f 969/2495/147 988/2484/149 987/2486/149 +f 1024/2496/146 1026/2442/148 1025/2444/148 +f 1014/2498/158 1016/3112/160 1015/2499/160 +f 1020/2500/158 1022/2503/160 1021/2501/160 +f 1022/2503/160 1024/2496/146 1023/2497/146 +f 1016/2504/160 1018/2507/146 1017/2505/146 +f 1018/2507/146 1004/2445/148 1003/2447/148 +f 1001/2508/159 1020/2500/158 1019/2502/158 +f 1051/1505/145 1052/1497/145 1049/1515/200 +f 1055/1496/201 1053/1498/158 1054/2509/158 +f 1060/2511/202 1069/2524/202 1072/2512/203 +f 1064/2514/204 1071/3113/204 1066/2515/205 +f 1058/2517/206 1067/3114/206 1070/2518/207 +f 1072/2512/203 1071/3113/204 1064/2514/204 +f 1062/2520/208 1061/2516/205 1066/2515/205 +f 1068/2522/209 1067/3114/206 1058/2517/206 +f 1060/2511/202 1059/2519/207 1070/2518/207 +f 1062/2520/208 1065/2521/208 1068/2525/209 +f 1078/1514/210 1077/1511/210 1050/1499/200 +f 1074/1512/143 1077/1511/210 1078/1514/210 +f 1075/1509/144 1080/1508/211 1079/2527/211 +f 1056/2529/201 1079/3115/211 1080/2077/211 +f 1116/2530/212 1124/2541/212 1123/2531/148 +f 1119/2533/159 1120/2546/213 1128/2534/213 +f 1115/2532/148 1123/2531/148 1122/2536/214 +f 1114/2537/214 1122/2536/214 1121/2538/144 +f 1117/2540/143 1125/2543/143 1124/2541/212 +f 1118/2542/215 1126/2544/215 1125/2543/143 +f 1119/2533/159 1127/2535/159 1126/2544/215 +f 1113/2545/144 1121/3116/144 1128/2534/213 +f 1136/2547/216 1129/3117/144 1137/2548/144 +f 1134/2550/217 1142/2561/217 1141/2551/143 +f 1131/2553/160 1139/2563/160 1138/2554/218 +f 1132/2556/219 1133/2552/143 1141/2551/143 +f 1130/2555/218 1138/2554/218 1137/2558/144 +f 1134/2550/217 1135/2562/147 1143/2560/147 +f 1136/2547/216 1144/2549/216 1143/2560/147 +f 1132/2556/219 1140/2557/219 1139/2563/160 +f 1145/2564/144 1153/3118/144 1160/2565/220 +f 1151/2567/146 1159/2576/146 1158/2568/221 +f 1149/2570/143 1157/2577/143 1156/2571/222 +f 1147/2573/149 1155/2578/149 1154/2574/223 +f 1152/2566/220 1160/2565/220 1159/2576/146 +f 1150/2569/221 1158/2568/221 1157/2577/143 +f 1148/2572/222 1156/2571/222 1155/2578/149 +f 1146/2575/223 1154/2574/223 1153/2579/144 +f 1172/2581/143 1171/2587/219 1163/2582/219 +f 1172/2581/143 1164/2583/143 1165/2584/217 +f 1170/2586/160 1162/2589/160 1163/2582/219 +f 1169/2588/218 1161/2597/218 1162/2589/160 +f 1174/2590/147 1166/2595/147 1167/2591/216 +f 1175/2592/216 1167/2591/216 1168/2593/144 +f 1174/2590/147 1173/2585/217 1165/2584/217 +f 1176/2596/144 1168/3119/144 1161/2597/218 +f 1192/2598/144 1184/3120/144 1177/2599/214 +f 1190/2601/159 1189/2609/215 1181/2602/215 +f 1191/2604/213 1183/2613/213 1184/2605/144 +f 1186/2607/148 1185/2600/214 1177/2599/214 +f 1189/2609/215 1188/2612/143 1180/2610/143 +f 1187/2611/212 1179/2614/212 1180/2610/143 +f 1191/2604/213 1190/2601/159 1182/2603/159 +f 1186/2607/148 1178/2608/148 1179/2614/212 +f 1200/2615/224 1193/3121/144 1201/2616/144 +f 1198/2618/163 1206/2629/163 1205/2619/143 +f 1195/2621/145 1203/2631/145 1202/2622/164 +f 1197/2620/143 1205/2619/143 1204/2624/225 +f 1193/2626/144 1194/2623/164 1202/2622/164 +f 1199/2628/158 1207/2630/158 1206/2629/163 +f 1200/2615/224 1208/2617/224 1207/2630/158 +f 1196/2625/225 1204/2624/225 1203/2631/145 +f 1224/2632/144 1216/3122/144 1209/2633/164 +f 1221/2635/163 1213/2644/163 1214/2636/158 +f 1223/2638/224 1215/2647/224 1216/2639/144 +f 1217/2634/164 1209/2633/164 1210/2641/145 +f 1220/2643/143 1212/2646/143 1213/2644/163 +f 1219/2645/225 1211/2648/225 1212/2646/143 +f 1222/2637/158 1214/2636/158 1215/2647/224 +f 1218/2642/145 1210/2641/145 1211/2648/225 +f 1240/2649/144 1232/3123/144 1225/2650/223 +f 1237/2652/221 1229/2661/221 1230/2653/146 +f 1240/2655/144 1239/2664/220 1231/2656/220 +f 1233/2651/223 1225/2650/223 1226/2658/149 +f 1236/2660/143 1228/2663/143 1229/2661/221 +f 1235/2662/222 1227/2665/222 1228/2663/143 +f 1238/2654/146 1230/2653/146 1231/2656/220 +f 1234/2659/149 1226/2658/149 1227/2665/222 +f 1255/1588/226 1256/2122/144 1248/2666/144 +f 1254/2123/166 1246/3124/166 1245/2668/227 +f 1252/1594/143 1244/3125/143 1243/2669/228 +f 1250/2124/171 1242/3126/171 1241/2670/229 +f 1255/1598/226 1247/3127/226 1246/2671/166 +f 1253/1601/227 1245/3128/227 1244/2672/143 +f 1250/1604/171 1251/1603/228 1243/2673/228 +f 1249/2121/229 1241/3129/229 1248/2675/144 +f 1264/3130/244 1263/3131/234 1262/2676/230 +f 1262/2676/230 1261/3132/236 1260/2677/231 +f 1260/2677/231 1259/3133/239 1258/2678/232 +f 1258/2678/232 1257/3134/242 1264/3130/244 +f 1264/3130/244 1262/2676/230 1258/2678/232 +f 1271/2679/233 1270/2694/245 1262/2680/230 +f 1268/2682/235 1260/3135/231 1261/2683/236 +f 1266/2685/238 1258/3136/232 1259/2686/239 +f 1272/2688/241 1264/3137/244 1257/2689/242 +f 1272/2691/241 1271/2679/233 1263/2692/234 +f 1270/2694/245 1269/2684/237 1261/2695/236 +f 1268/2682/235 1267/2687/240 1259/2697/239 +f 1265/2690/243 1257/3138/242 1258/2699/232 +f 1273/1584/229 1280/1586/144 1272/2688/241 +f 1280/1587/144 1279/1589/226 1271/2679/233 +f 1277/1592/227 1269/2684/237 1270/2694/245 +f 1275/1593/228 1267/2687/240 1268/2682/235 +f 1273/1584/229 1265/2690/243 1266/2685/238 +f 1278/1590/166 1270/2694/245 1271/2679/233 +f 1276/1600/143 1268/2682/235 1269/2684/237 +f 1274/1596/171 1266/2685/238 1267/2687/240 +f 1286/1617/228 1287/1605/171 1295/2700/238 +f 1285/1608/143 1293/2704/235 1292/2702/237 +f 1283/1611/166 1291/2705/245 1290/2703/233 +f 1288/1615/229 1296/2708/243 1295/2700/238 +f 1286/1617/228 1294/2701/240 1293/2704/235 +f 1283/1611/166 1284/1619/227 1292/2702/237 +f 1281/1620/144 1282/1622/226 1290/2703/233 +f 1288/1615/229 1281/1623/144 1289/2707/241 +f 1296/2708/243 1304/3139/242 1303/2709/232 +f 1294/2701/240 1302/3140/239 1301/2710/231 +f 1291/2705/245 1292/2702/237 1300/2711/236 +f 1289/2706/241 1290/2703/233 1298/2713/234 +f 1289/2707/241 1297/3141/244 1304/2715/242 +f 1294/2701/240 1295/2700/238 1303/2716/232 +f 1292/2702/237 1293/2704/235 1301/2718/231 +f 1291/2705/245 1299/3142/230 1298/2720/234 +f 1297/3143/244 1298/3144/234 1299/2721/230 +f 1299/2721/230 1300/3145/236 1301/2722/231 +f 1301/2722/231 1302/3146/239 1303/2723/232 +f 1303/2723/232 1304/3147/242 1297/3143/244 +f 1297/3143/244 1299/2721/230 1303/2723/232 +f 1312/1624/229 1320/3148/229 1313/2724/144 +f 1311/1607/171 1310/1606/228 1318/2725/228 +f 1308/1609/227 1316/3149/227 1317/2727/143 +f 1306/1612/226 1314/3150/226 1315/2728/166 +f 1311/2125/171 1319/3151/171 1320/2729/229 +f 1309/2126/143 1317/3152/143 1318/2730/228 +f 1308/1618/227 1307/2127/166 1315/2731/166 +f 1306/1621/226 1305/2128/144 1313/2733/144 +f 1327/1628/171 1335/2738/238 1334/2735/240 +f 1325/1629/143 1333/2739/235 1332/2736/237 +f 1323/1632/166 1331/2740/245 1330/2737/233 +f 1328/1636/229 1336/2742/243 1335/2738/238 +f 1326/1626/228 1334/2735/240 1333/2739/235 +f 1323/1632/166 1324/1640/227 1332/2736/237 +f 1321/1641/144 1322/1643/226 1330/2737/233 +f 1321/1645/144 1329/2750/241 1336/2742/243 +f 1336/2742/243 1344/3153/242 1343/2743/232 +f 1333/2739/235 1334/2735/240 1342/2744/239 +f 1331/2740/245 1332/2736/237 1340/2746/236 +f 1329/2741/241 1330/2737/233 1338/2748/234 +f 1329/2750/241 1337/3154/244 1344/2751/242 +f 1335/2738/238 1343/3155/232 1342/2752/239 +f 1332/2736/237 1333/2739/235 1341/2753/231 +f 1331/2740/245 1339/3156/230 1338/2755/234 +f 1337/3157/244 1338/3158/234 1339/2756/230 +f 1339/2756/230 1340/3159/236 1341/2757/231 +f 1341/2757/231 1342/3160/239 1343/2758/232 +f 1343/2758/232 1344/3161/242 1337/3157/244 +f 1337/3157/244 1339/2756/230 1343/2758/232 +f 1345/1644/144 1352/2133/229 1360/2759/229 +f 1350/2129/228 1358/3162/228 1359/2761/171 +f 1348/1630/227 1356/3163/227 1357/2762/143 +f 1346/1633/226 1354/3164/226 1355/2763/166 +f 1351/2130/171 1359/3165/171 1360/2764/229 +f 1349/1637/143 1357/3166/143 1358/2765/228 +f 1347/2131/166 1355/3167/166 1356/2766/227 +f 1346/1642/226 1345/2132/144 1353/2767/144 +f 1375/1651/226 1376/1650/144 1368/2769/144 +f 1373/1653/227 1374/2135/166 1366/2771/166 +f 1372/2136/143 1364/3168/143 1363/2773/228 +f 1370/2137/171 1362/3169/171 1361/2774/229 +f 1375/1661/226 1367/3170/226 1366/2775/166 +f 1373/1663/227 1365/3171/227 1364/2776/143 +f 1370/1665/171 1371/2138/228 1363/2777/228 +f 1376/1648/144 1369/1647/229 1361/2779/229 +f 1384/3172/244 1383/3173/234 1382/2781/230 +f 1382/2781/230 1381/3174/236 1380/2782/231 +f 1380/2782/231 1379/3175/239 1378/2783/232 +f 1378/2783/232 1377/3176/242 1384/3172/244 +f 1384/3172/244 1382/2781/230 1378/2783/232 +f 1390/2784/245 1382/3177/230 1383/2785/234 +f 1389/2787/237 1388/2801/235 1380/2788/231 +f 1387/2790/240 1386/2804/238 1378/2791/232 +f 1385/2793/243 1392/2807/241 1384/2794/244 +f 1392/2796/241 1391/2786/233 1383/2797/234 +f 1390/2784/245 1389/2787/237 1381/2799/236 +f 1388/2801/235 1387/2790/240 1379/2802/239 +f 1386/2804/238 1385/2793/243 1377/2805/242 +f 1393/1660/229 1400/1646/144 1392/2807/241 +f 1400/2134/144 1399/1649/226 1391/2786/233 +f 1398/1652/166 1397/1654/227 1389/2787/237 +f 1395/1657/228 1387/2790/240 1388/2801/235 +f 1393/1660/229 1385/2793/243 1386/2804/238 +f 1398/1652/166 1390/2784/245 1391/2786/233 +f 1396/1655/143 1388/2801/235 1389/2787/237 +f 1394/1658/171 1386/2804/238 1387/2790/240 +f 1415/1670/226 1416/2139/144 1408/2808/144 +f 1413/1673/227 1414/2140/166 1406/2810/166 +f 1412/2141/143 1404/3178/143 1403/2812/228 +f 1410/2142/171 1402/3179/171 1401/2813/229 +f 1415/1681/226 1407/3180/226 1406/2814/166 +f 1413/1683/227 1405/3181/227 1404/2815/143 +f 1410/1686/171 1411/1685/228 1403/2816/228 +f 1416/1668/144 1409/1667/229 1401/2818/229 +f 1424/3182/244 1423/3183/234 1422/2820/230 +f 1422/2820/230 1421/3184/236 1420/2821/231 +f 1420/2821/231 1419/3185/239 1418/2822/232 +f 1418/2822/232 1417/3186/242 1424/3182/244 +f 1424/3182/244 1422/2820/230 1418/2822/232 +f 1430/2823/245 1422/3187/230 1423/2824/234 +f 1428/2826/235 1420/3188/231 1421/2827/236 +f 1427/2829/240 1426/2841/246 1418/2830/232 +f 1432/2832/241 1424/3189/244 1417/2833/242 +f 1432/2835/241 1431/2825/233 1423/2836/234 +f 1430/2823/245 1429/2828/237 1421/2838/236 +f 1427/2829/240 1419/3190/239 1420/2840/231 +f 1426/2841/246 1425/2834/243 1417/2842/242 +f 1433/1680/229 1440/1666/144 1432/2832/241 +f 1440/1669/144 1439/1671/226 1431/2825/233 +f 1438/1672/166 1437/1674/227 1429/2828/237 +f 1435/1677/228 1427/2829/240 1428/2826/235 +f 1433/1680/229 1425/2834/243 1426/2841/246 +f 1438/1672/166 1430/2823/245 1431/2825/233 +f 1436/1675/143 1428/2826/235 1429/2828/237 +f 1434/1678/171 1426/2841/246 1427/2829/240 +f 1442/1697/143 1446/1696/247 1445/1713/247 +f 1451/1708/144 1455/1707/211 1456/1715/211 +f 1455/1707/211 1462/1688/201 1463/1723/201 +f 1461/1725/143 1466/1724/247 1465/1738/247 +f 1463/1723/201 1462/1688/201 1457/2143/248 +f 1446/1696/247 1460/1722/248 1457/2143/248 +f 1471/1736/144 1475/1735/211 1476/1740/211 +f 1475/1735/211 1479/1710/201 1480/1748/201 +f 1480/1748/201 1479/1710/201 1477/2146/248 +f 1466/1724/247 1478/1747/248 1477/2146/248 +f 1533/2844/147 1509/2856/147 1510/2845/149 +f 1531/2847/148 1507/2857/148 1508/2848/145 +f 1529/2850/160 1505/2859/160 1506/2851/146 +f 1534/2846/149 1510/2845/149 1511/2853/159 +f 1532/2855/145 1508/3191/145 1509/2856/147 +f 1530/2852/146 1506/2851/146 1507/2857/148 +f 1536/2858/158 1512/2860/158 1505/2859/160 +f 1535/2854/159 1511/2853/159 1512/2860/158 +f 1523/2861/148 1515/2881/148 1516/2862/145 +f 1521/2864/160 1513/2882/160 1514/2865/146 +f 1527/2867/159 1519/2878/159 1520/2868/158 +f 1525/2870/147 1517/2880/147 1518/2871/149 +f 1538/2873/159 1546/2890/159 1545/2874/158 +f 1537/2875/158 1545/2874/158 1552/2876/160 +f 1526/2872/149 1518/2871/149 1519/2878/159 +f 1524/2879/145 1516/3192/145 1517/2880/147 +f 1522/2866/146 1514/2865/146 1515/2881/148 +f 1528/2869/158 1520/2868/158 1513/2882/160 +f 1543/2883/146 1551/2891/146 1550/2884/148 +f 1541/2886/145 1549/3193/145 1548/2887/147 +f 1539/2889/149 1547/2894/149 1546/2890/159 +f 1544/2877/160 1552/2876/160 1551/2891/146 +f 1542/2885/148 1550/2884/148 1549/2892/145 +f 1540/2888/147 1548/2887/147 1547/2894/149 +f 1564/2895/147 1572/2907/147 1571/2896/149 +f 1562/2898/159 1570/2908/159 1569/2899/158 +f 1561/2900/158 1569/2899/158 1576/2901/160 +f 1567/2903/146 1575/2909/146 1574/2904/148 +f 1565/2906/145 1573/3194/145 1572/2907/147 +f 1563/2897/149 1571/2896/149 1570/2908/159 +f 1568/2902/160 1576/2901/160 1575/2909/146 +f 1566/2905/148 1574/2904/148 1573/2910/145 +f 1628/1903/249 1636/2932/266 1635/2912/250 +f 1625/1904/144 1626/1906/268 1634/2913/251 +f 1632/1899/253 1625/1907/144 1633/2915/252 +f 1639/2917/255 1640/2916/254 1648/2918/256 +f 1637/2920/258 1638/2928/265 1646/2921/259 +f 1635/2912/250 1636/2932/266 1644/2923/261 +f 1633/2914/252 1634/2913/251 1642/2925/263 +f 1633/2915/252 1641/3195/264 1648/2927/256 +f 1638/2928/265 1639/2917/255 1647/2929/257 +f 1637/2920/258 1645/3196/260 1644/2931/261 +f 1635/2912/250 1643/3197/262 1642/2933/263 +f 1641/3198/264 1642/3199/263 1643/2934/262 +f 1643/2934/262 1644/3200/261 1645/2935/260 +f 1645/2935/260 1646/3201/259 1647/2936/257 +f 1647/2936/257 1648/3202/256 1641/3198/264 +f 1641/3198/264 1643/2934/262 1647/2936/257 +f 1649/1909/144 1656/1908/253 1664/2937/253 +f 1655/1891/167 1654/1890/267 1662/2939/267 +f 1652/1893/249 1660/3203/249 1661/2941/143 +f 1650/1896/268 1658/3204/268 1659/2942/168 +f 1655/2183/167 1663/3205/167 1664/2943/253 +f 1653/2184/143 1661/3206/143 1662/2944/267 +f 1652/1902/249 1651/2185/168 1659/2945/168 +f 1649/2186/144 1657/3207/144 1658/2947/268 +f 1671/1910/167 1679/2951/255 1678/2948/265 +f 1669/1913/143 1677/2952/258 1676/2949/266 +f 1667/1916/168 1675/2953/250 1674/2950/251 +f 1672/1920/253 1680/2956/254 1679/2951/255 +f 1670/1922/267 1678/2948/265 1677/2952/258 +f 1667/1916/168 1668/1924/249 1676/2949/266 +f 1665/1925/144 1666/1927/268 1674/2950/251 +f 1672/1920/253 1665/1928/144 1673/2955/252 +f 1680/2956/254 1688/3208/256 1687/2957/257 +f 1678/2948/265 1686/3209/259 1685/2958/260 +f 1675/2953/250 1676/2949/266 1684/2959/261 +f 1673/2954/252 1674/2950/251 1682/2961/263 +f 1673/2955/252 1681/3210/264 1688/2963/256 +f 1678/2948/265 1679/2951/255 1687/2964/257 +f 1677/2952/258 1685/3211/260 1684/2966/261 +f 1675/2953/250 1683/3212/262 1682/2967/263 +f 1681/3213/264 1682/3214/263 1683/2968/262 +f 1683/2968/262 1684/3215/261 1685/2969/260 +f 1685/2969/260 1686/3216/259 1687/2970/257 +f 1687/2970/257 1688/3217/256 1681/3213/264 +f 1681/3213/264 1683/2968/262 1687/2970/257 +f 1689/1930/144 1696/1929/253 1704/2971/253 +f 1694/1911/267 1702/3218/267 1703/2973/167 +f 1693/1915/143 1692/1914/249 1700/2974/249 +f 1690/1917/268 1698/3219/268 1699/2976/168 +f 1695/2187/167 1703/3220/167 1704/2977/253 +f 1693/2188/143 1701/3221/143 1702/2978/267 +f 1692/1923/249 1691/2189/168 1699/2979/168 +f 1689/2190/144 1697/3222/144 1698/2981/268 +f 1720/2191/144 1712/3223/144 1711/2982/268 +f 1717/1938/249 1718/2192/168 1710/2983/168 +f 1716/2193/143 1708/3224/143 1707/2985/267 +f 1714/1944/167 1706/3225/167 1705/2986/253 +f 1719/1946/268 1711/3226/268 1710/2987/168 +f 1717/1948/249 1709/3227/249 1708/2988/143 +f 1714/1950/167 1715/2194/267 1707/2989/267 +f 1720/1933/144 1713/1932/253 1705/2991/253 +f 1728/3228/264 1727/3229/263 1726/2993/262 +f 1726/2993/262 1725/3230/261 1724/2994/260 +f 1724/2994/260 1723/3231/259 1722/2995/257 +f 1722/2995/257 1721/3232/256 1728/3228/264 +f 1728/3228/264 1726/2993/262 1722/2995/257 +f 1734/2996/250 1726/3233/262 1727/2997/263 +f 1732/2999/258 1724/3234/260 1725/3000/261 +f 1731/3002/265 1730/3014/255 1722/3003/257 +f 1736/3005/252 1728/3235/264 1721/3006/256 +f 1736/3008/252 1735/2998/251 1727/3009/263 +f 1734/2996/250 1733/3001/266 1725/3011/261 +f 1731/3002/265 1723/3236/259 1724/3013/260 +f 1730/3014/255 1729/3007/254 1721/3015/256 +f 1737/1943/253 1744/1931/144 1736/3005/252 +f 1744/1934/144 1743/1936/268 1735/2998/251 +f 1741/1939/249 1733/3001/266 1734/2996/250 +f 1739/1942/267 1731/3002/265 1732/2999/258 +f 1737/1943/253 1729/3007/254 1730/3014/255 +f 1742/1937/168 1734/2996/250 1735/2998/251 +f 1740/1940/143 1732/2999/258 1733/3001/266 +f 1739/1942/267 1738/1951/167 1730/3014/255 +f 1759/1956/268 1760/2195/144 1752/3017/144 +f 1758/2196/168 1750/3237/168 1749/3019/249 +f 1756/2197/143 1748/3238/143 1747/3020/267 +f 1754/2198/167 1746/3239/167 1745/3021/253 +f 1759/1967/268 1751/3240/268 1750/3022/168 +f 1757/1969/249 1749/3241/249 1748/3023/143 +f 1755/1971/267 1747/3242/267 1746/3024/167 +f 1760/1954/144 1753/1953/253 1745/3025/253 +f 1768/3243/264 1767/3244/263 1766/3027/262 +f 1766/3027/262 1765/3245/261 1764/3028/260 +f 1764/3028/260 1763/3246/259 1762/3029/257 +f 1762/3029/257 1761/3247/256 1768/3243/264 +f 1768/3243/264 1766/3027/262 1762/3029/257 +f 1774/3030/250 1766/3248/262 1767/3031/263 +f 1772/3033/258 1764/3249/260 1765/3034/261 +f 1770/3036/255 1762/3250/257 1763/3037/259 +f 1776/3039/252 1768/3251/264 1761/3040/256 +f 1776/3042/252 1775/3032/251 1767/3043/263 +f 1774/3030/250 1773/3035/266 1765/3045/261 +f 1771/3038/265 1763/3252/259 1764/3047/260 +f 1770/3036/255 1769/3041/254 1761/3048/256 +f 1777/1966/253 1784/1952/144 1776/3039/252 +f 1784/1955/144 1783/1957/268 1775/3032/251 +f 1782/1958/168 1781/1960/249 1773/3035/266 +f 1779/1963/267 1771/3038/265 1772/3033/258 +f 1777/1966/253 1769/3041/254 1770/3036/255 +f 1782/1958/168 1774/3030/250 1775/3032/251 +f 1780/1961/143 1772/3033/258 1773/3035/266 +f 1778/1964/167 1770/3036/255 1771/3038/265 +f 1790/1973/267 1791/1975/167 1799/3050/255 +f 1789/1976/143 1797/3055/258 1796/3052/266 +f 1786/1990/268 1787/1979/168 1795/3053/250 +f 1792/1982/253 1800/3057/254 1799/3050/255 +f 1790/1973/267 1798/3051/265 1797/3055/258 +f 1788/1987/249 1796/3052/266 1795/3053/250 +f 1785/1988/144 1786/1990/268 1794/3054/251 +f 1785/1991/144 1793/3066/252 1800/3057/254 +f 1799/3050/255 1800/3057/254 1808/3058/256 +f 1797/3055/258 1798/3051/265 1806/3060/259 +f 1795/3053/250 1796/3052/266 1804/3062/261 +f 1793/3056/252 1794/3054/251 1802/3064/263 +f 1793/3066/252 1801/3253/264 1808/3067/256 +f 1798/3051/265 1799/3050/255 1807/3068/257 +f 1797/3055/258 1805/3254/260 1804/3070/261 +f 1795/3053/250 1803/3255/262 1802/3071/263 +f 1801/3256/264 1802/3257/263 1803/3072/262 +f 1803/3072/262 1804/3258/261 1805/3073/260 +f 1805/3073/260 1806/3259/259 1807/3074/257 +f 1807/3074/257 1808/3260/256 1801/3256/264 +f 1801/3256/264 1803/3072/262 1807/3074/257 +f 1809/1993/144 1816/1992/253 1824/3075/253 +f 1815/1974/167 1814/2199/267 1822/3077/267 +f 1812/1977/249 1820/3261/249 1821/3079/143 +f 1810/1980/268 1818/3262/268 1819/3080/168 +f 1815/1983/167 1823/3263/167 1824/3081/253 +f 1813/2200/143 1821/3264/143 1822/3082/267 +f 1811/2201/168 1819/3265/168 1820/3083/249 +f 1810/1989/268 1809/2202/144 1817/3084/144 +f 1630/1901/267 1638/2928/265 1637/2920/258 +f 1632/1899/253 1640/2916/254 1639/2917/255 +f 1627/1895/168 1635/2912/250 1634/2913/251 +f 1629/1892/143 1637/2920/258 1636/2932/266 +f 1631/1889/167 1639/2917/255 1638/2928/265 diff --git a/src/main/resources/assets/hbm/models/weapons/thompson.obj b/src/main/resources/assets/hbm/models/weapons/thompson.obj deleted file mode 100644 index 11fe3fccd..000000000 --- a/src/main/resources/assets/hbm/models/weapons/thompson.obj +++ /dev/null @@ -1,3319 +0,0 @@ -# Blender v2.79 (sub 0) OBJ File: 'Thompson.blend' -# www.blender.org -o Body_Cube.007 -v -0.188652 3.481732 -2.704447 -v -0.188652 3.490788 -3.178506 -v 0.216240 3.490788 -3.178506 -v 0.216240 3.481732 -2.704447 -v -0.188652 3.831076 -2.704447 -v -0.188652 3.819002 -3.155884 -v 0.216240 3.819002 -3.155884 -v 0.216240 3.831076 -2.704447 -v -0.188652 3.466640 -1.675149 -v 0.216240 3.466640 -1.675149 -v -0.188652 3.815984 -1.675149 -v 0.216240 3.815984 -1.675149 -v -0.175443 3.510093 -4.129235 -v 0.203031 3.510093 -4.129235 -v -0.175443 3.817298 -4.136945 -v 0.203031 3.817298 -4.136945 -v -0.150876 3.440225 -2.705614 -v -0.150876 3.449281 -3.179673 -v 0.178464 3.449281 -3.179673 -v 0.178464 3.440225 -2.705614 -v -0.150876 3.425133 -1.676316 -v 0.178464 3.425133 -1.676316 -v -0.140133 3.468586 -4.130403 -v 0.167721 3.468586 -4.130403 -v -0.093502 3.401588 -2.706701 -v -0.093502 3.410644 -3.180760 -v 0.121090 3.410644 -3.180760 -v 0.121090 3.401588 -2.706701 -v -0.093502 3.386496 -1.677403 -v 0.121090 3.386496 -1.677403 -v -0.086501 3.429949 -4.131489 -v 0.114089 3.429949 -4.131489 -v -0.098456 4.056122 1.832108 -v -0.098456 4.076008 1.174372 -v 0.104376 4.076008 1.174372 -v 0.104376 4.056122 1.832108 -v -0.098456 4.282569 1.675502 -v -0.098456 4.288784 1.644191 -v 0.104376 4.288784 1.644191 -v 0.104376 4.282569 1.675502 -v -0.098456 3.968375 1.830259 -v -0.098456 3.967062 1.172223 -v 0.104376 3.967062 1.172223 -v 0.104376 3.968375 1.830259 -v 0.067273 4.288784 1.644191 -v 0.067273 4.076008 1.174372 -v 0.067273 4.282569 1.675502 -v 0.067273 4.056122 1.832108 -v 0.067273 3.967062 1.172223 -v 0.067273 3.968375 1.830259 -v -0.050482 4.076008 1.174372 -v -0.050482 4.282569 1.675502 -v -0.050482 3.967062 1.172223 -v -0.050482 4.288784 1.644191 -v -0.050482 4.056122 1.832108 -v -0.050482 3.968375 1.830259 -v -0.042934 4.053592 1.644191 -v -0.042934 4.016249 1.832108 -v -0.042934 3.981308 1.830259 -v -0.042934 4.022770 1.174372 -v -0.042934 4.049051 1.675502 -v -0.042934 3.981117 1.172223 -v 0.063114 4.053592 1.644191 -v 0.063114 4.016249 1.832108 -v 0.063114 3.981308 1.830259 -v 0.063114 4.022770 1.174372 -v 0.063114 4.049051 1.675502 -v 0.063114 3.981117 1.172223 -v -0.023191 4.038095 1.772953 -v -0.023191 4.038095 1.736939 -v 0.043371 4.038095 1.772953 -v 0.043371 4.038095 1.736939 -v -0.023191 4.127328 1.772953 -v -0.023191 4.127328 1.736939 -v 0.043371 4.127328 1.772953 -v 0.043371 4.127328 1.736939 -v -0.015747 4.022770 1.174372 -v -0.015747 4.049051 1.675502 -v -0.015747 3.981117 1.172223 -v -0.015747 4.053592 1.644191 -v -0.015747 4.016249 1.832108 -v -0.015747 3.981308 1.830259 -v -0.006127 4.038095 1.736939 -v -0.006127 4.038095 1.772953 -v -0.006127 4.127328 1.736939 -v -0.006127 4.127328 1.772953 -v 0.038615 4.053592 1.644191 -v 0.038615 4.016249 1.832108 -v 0.038615 3.981308 1.830259 -v 0.027994 4.038095 1.772953 -v 0.027994 4.127328 1.772953 -v 0.038615 4.022770 1.174372 -v 0.038615 4.049051 1.675502 -v 0.038615 3.981117 1.172223 -v 0.027994 4.038095 1.736939 -v 0.027994 4.127328 1.736939 -v -0.023191 4.178332 1.772953 -v -0.023191 4.178332 1.736939 -v 0.043371 4.178332 1.772953 -v 0.043371 4.178332 1.736939 -v -0.006127 4.178332 1.736939 -v -0.006127 4.178332 1.772953 -v 0.027994 4.178332 1.772953 -v 0.027994 4.178332 1.736939 -v -0.023191 4.190732 1.772953 -v -0.023191 4.190732 1.736939 -v -0.006127 4.190732 1.736939 -v -0.006127 4.190732 1.772953 -v 0.043508 4.178332 1.736939 -v 0.043508 4.178332 1.772953 -v 0.043508 4.190732 1.736939 -v 0.043508 4.190732 1.772953 -v 0.029201 4.190732 1.772953 -v 0.029201 4.178332 1.772953 -v 0.029201 4.178332 1.736939 -v 0.029201 4.190732 1.736939 -v -0.021624 4.193881 1.769646 -v -0.021624 4.193881 1.740245 -v -0.007694 4.193881 1.740245 -v -0.007694 4.193881 1.769646 -v 0.042194 4.193881 1.740245 -v 0.042194 4.193881 1.769646 -v 0.030515 4.193881 1.769646 -v 0.030515 4.193881 1.740245 -v -0.019604 4.197683 1.765382 -v -0.019604 4.197683 1.744509 -v -0.009714 4.197683 1.744509 -v -0.009714 4.197683 1.765382 -v 0.040500 4.197683 1.744509 -v 0.040500 4.197683 1.765382 -v 0.032209 4.197683 1.765382 -v 0.032209 4.197683 1.744509 -v -0.089385 4.053955 1.165310 -v 0.096281 4.053955 1.165310 -v -0.089385 3.963873 1.163533 -v 0.096281 3.963873 1.163533 -v 0.062317 4.053955 1.165310 -v 0.062317 3.963873 1.163533 -v -0.045471 4.053955 1.165310 -v -0.045471 3.963873 1.163533 -v -0.038562 4.009934 1.165310 -v -0.038562 3.996886 1.163533 -v 0.058511 4.009934 1.165310 -v 0.058511 3.996886 1.163533 -v -0.013676 4.009934 1.165310 -v -0.013676 3.996886 1.163533 -v 0.036086 4.009934 1.165310 -v 0.036086 3.996886 1.163533 -v -0.178219 3.368634 1.048249 -v -0.178219 3.552625 1.081553 -v 0.188156 3.552625 1.081553 -v 0.188156 3.368634 1.048249 -v -0.178219 3.505707 1.890761 -v -0.178219 3.555693 1.746119 -v 0.188156 3.555693 1.746119 -v 0.188156 3.505707 1.890761 -v -0.178219 2.970692 1.615166 -v 0.188156 2.970692 1.615166 -v -0.178219 3.364483 2.279437 -v 0.188156 3.364483 2.279437 -v -0.178219 2.939063 1.865341 -v 0.188156 2.939063 1.865341 -v -0.178219 3.469938 2.518371 -v 0.188156 3.469938 2.518371 -v -0.178219 2.540867 2.777032 -v 0.188156 2.540867 2.777032 -v -0.178219 3.338220 3.151044 -v 0.188156 3.338220 3.151044 -v -0.178219 2.007339 3.597181 -v 0.188156 2.007339 3.597181 -v -0.178219 3.090276 4.189120 -v 0.188156 3.090276 4.189120 -v -0.178219 1.736083 4.204071 -v 0.188156 1.736083 4.204071 -v -0.178219 2.980541 4.611414 -v 0.188156 2.980541 4.611414 -v 0.188156 3.042804 1.397707 -v 0.188156 3.139843 1.222978 -v 0.188156 3.444389 1.970467 -v 0.188156 3.363486 2.142756 -v -0.178219 3.042804 1.397707 -v -0.178219 3.139843 1.222978 -v -0.178219 3.444389 1.970467 -v -0.178219 3.363486 2.142756 -v -0.178219 2.699237 2.466298 -v -0.178219 2.819150 2.165820 -v 0.188156 2.819150 2.165820 -v 0.188156 2.699237 2.466298 -v 0.188156 3.391622 2.915227 -v 0.188156 3.459267 2.674068 -v -0.178219 3.459267 2.674068 -v -0.178219 3.391622 2.915227 -v -0.178219 1.947479 4.658113 -v 0.188156 1.947479 4.658113 -v -0.178219 2.915042 4.662932 -v 0.188156 2.915042 4.662932 -v -0.178219 2.947792 4.637174 -v -0.178219 1.698206 4.579795 -v 0.188156 1.698206 4.579795 -v 0.188156 2.947792 4.637174 -v 0.004968 3.629558 1.712124 -v 0.004968 3.626101 1.025532 -v 0.004968 3.573240 1.861559 -v 0.004968 3.418802 0.991126 -v 0.004968 3.414124 2.263117 -v 0.004968 2.970446 1.576831 -v 0.004968 3.532939 2.509969 -v 0.004968 2.934810 1.835297 -v 0.004968 3.384534 3.163612 -v 0.004968 2.486169 2.777204 -v 0.004968 3.105180 4.236092 -v 0.004968 1.885051 3.624535 -v 0.004968 2.981543 4.672380 -v 0.004968 1.579430 4.251538 -v 0.004968 3.504153 1.943907 -v 0.004968 3.413001 2.121907 -v 0.004968 3.161026 1.171645 -v 0.004968 3.051694 1.352165 -v 0.004968 3.520916 2.670827 -v 0.004968 3.444701 2.919979 -v 0.004968 2.799706 2.145735 -v 0.004968 2.664602 2.456171 -v 0.004968 2.907747 4.725607 -v 0.004968 1.817607 4.720628 -v 0.004968 2.944645 4.698994 -v 0.004968 1.536754 4.639714 -v -0.115233 3.454551 1.970077 -v -0.115233 3.393577 0.773451 -v 0.125170 3.393577 0.773451 -v 0.125170 3.454551 1.970077 -v -0.115233 3.559911 2.061883 -v -0.115233 3.548320 0.808148 -v 0.125170 3.548320 0.808148 -v 0.125170 3.559911 2.061883 -v -0.148558 3.576178 2.061733 -v -0.148558 3.564587 0.807997 -v 0.158495 3.564587 0.807997 -v 0.158495 3.576178 2.061733 -v -0.148558 3.984919 2.057954 -v -0.148558 3.973328 0.804219 -v 0.158495 3.973328 0.804219 -v 0.158495 3.984919 2.057954 -v -0.115233 3.268064 0.074671 -v 0.125170 3.268064 0.074671 -v -0.115233 3.348727 -0.150006 -v 0.125170 3.348727 -0.150006 -v -0.148558 3.555904 -0.673261 -v 0.158495 3.555904 -0.673261 -v -0.148558 3.975672 -0.691628 -v 0.158495 3.975672 -0.691628 -v -0.148558 3.562842 0.559154 -v -0.148558 3.561096 0.476421 -v -0.148558 3.559351 0.420730 -v -0.148558 3.557606 0.368901 -v -0.148558 3.555861 -0.165809 -v -0.115233 3.539594 -0.165659 -v -0.115233 3.541339 0.369052 -v -0.115233 3.543084 0.420880 -v -0.115233 3.544829 0.476571 -v -0.115233 3.546575 0.559304 -v -0.115233 3.322463 0.152665 -v -0.115233 3.334368 0.413188 -v -0.115233 3.275358 0.430995 -v -0.115233 3.273190 0.569175 -v -0.115233 3.348836 0.615298 -v -0.148558 3.972973 0.554911 -v -0.148558 3.972619 0.305603 -v -0.148558 3.972265 0.056295 -v -0.148558 3.971910 -0.193012 -v -0.148558 3.971556 -0.442320 -v 0.158495 3.972973 0.554911 -v 0.158495 3.972619 0.305603 -v 0.158495 3.972265 0.056295 -v 0.158495 3.971910 -0.193012 -v 0.158495 3.971556 -0.442320 -v 0.158495 3.555861 -0.165809 -v 0.158495 3.557606 0.368901 -v 0.158495 3.559351 0.420730 -v 0.158495 3.561096 0.476421 -v 0.158495 3.562842 0.559154 -v 0.125170 3.546575 0.559304 -v 0.125170 3.544829 0.476571 -v 0.125170 3.543084 0.420880 -v 0.125170 3.541339 0.369052 -v 0.125170 3.539594 -0.165659 -v 0.125170 3.322463 0.152665 -v 0.125170 3.334368 0.413188 -v 0.125170 3.275358 0.430995 -v 0.125170 3.273190 0.569175 -v 0.125170 3.348836 0.615298 -v 0.158495 3.744766 2.060174 -v 0.158495 3.733174 0.806439 -v -0.148558 3.733174 0.806439 -v -0.148558 3.744766 2.060174 -v 0.158495 3.733243 -0.679260 -v -0.148558 3.733243 -0.679260 -v 0.158495 3.732003 0.557403 -v 0.158495 3.730831 0.405966 -v 0.158495 3.729660 0.270416 -v 0.158495 3.728488 0.137137 -v 0.158495 3.727316 -0.279857 -v -0.148558 3.732003 0.557403 -v -0.148558 3.730831 0.405966 -v -0.148558 3.729660 0.270416 -v -0.148558 3.728488 0.137137 -v -0.148558 3.727316 -0.279857 -v -0.148558 3.970852 -1.144240 -v 0.158495 3.970852 -1.144240 -v 0.158495 3.728110 -1.145241 -v -0.148558 3.728110 -1.145241 -v -0.148558 3.971481 -1.283317 -v 0.158495 3.971481 -1.283317 -v 0.158495 3.728738 -1.284317 -v -0.148558 3.728738 -1.284317 -v -0.148558 3.972961 -1.666576 -v 0.158495 3.972961 -1.666576 -v 0.158495 3.730218 -1.667576 -v -0.148558 3.730218 -1.667576 -v 0.158495 3.580514 -1.145859 -v -0.148558 3.580514 -1.145859 -v 0.158495 3.581143 -1.284935 -v -0.148558 3.581143 -1.284935 -v 0.158495 3.582623 -1.668195 -v -0.148558 3.582623 -1.668195 -v -0.115233 3.343484 -0.416893 -v 0.125170 3.343484 -0.416893 -v -0.148558 3.348651 -0.674184 -v 0.158495 3.348651 -0.674184 -v -0.115233 3.199163 -0.569501 -v 0.125170 3.199163 -0.569501 -v -0.148558 3.214881 -0.676229 -v 0.158495 3.214881 -0.676229 -v -0.115233 3.072691 -0.548105 -v 0.125170 3.072691 -0.548105 -v -0.148558 3.091204 -0.678119 -v 0.158495 3.091204 -0.678119 -v -0.115233 2.961105 -0.446903 -v 0.125170 2.961105 -0.446903 -v -0.148558 2.964812 -0.679975 -v 0.158495 2.964812 -0.679975 -v 0.158495 3.281766 -0.675206 -v 0.125170 3.276759 -0.527030 -v -0.148558 3.281766 -0.675206 -v -0.115233 3.276759 -0.527030 -v -0.115233 2.990127 -0.345559 -v 0.125170 2.990127 -0.345559 -v -0.115233 2.958241 -0.356121 -v 0.125170 2.958241 -0.356121 -v -0.115233 3.061490 -0.055848 -v 0.125170 3.061490 -0.055848 -v -0.115233 2.947675 -0.091775 -v 0.125170 2.947675 -0.091775 -v -0.115233 3.060727 -0.011574 -v 0.125170 3.060727 -0.011574 -v -0.115233 2.945790 -0.014374 -v 0.125170 2.945790 -0.014374 -v -0.115233 2.992600 -0.447608 -v -0.115233 2.959673 -0.401512 -v 0.125170 2.992600 -0.447608 -v 0.125170 2.959673 -0.401512 -v 0.125170 2.951268 -0.181665 -v 0.125170 2.990617 -0.148720 -v -0.115233 2.951268 -0.181665 -v -0.115233 2.990617 -0.148720 -v -0.115233 3.167698 -0.020011 -v 0.125170 3.167698 -0.020011 -v -0.115233 3.159450 0.002554 -v 0.125170 3.159450 0.002554 -v -0.115233 3.349513 -0.151536 -v 0.125170 3.349513 -0.151536 -v -0.115233 3.267972 0.073648 -v 0.125170 3.267972 0.073648 -v -0.115233 3.242140 -0.036531 -v -0.115233 3.213711 0.038101 -v 0.125170 3.213711 0.038101 -v 0.125170 3.242140 -0.036531 -v 0.129483 3.802826 -1.728536 -v 0.129483 3.879831 -1.728536 -v 0.010983 3.716730 -1.728536 -v 0.084220 3.740526 -1.728536 -v -0.107518 3.802826 -1.728536 -v -0.062255 3.740526 -1.728536 -v -0.062255 3.942131 -1.728536 -v -0.107518 3.879831 -1.728536 -v 0.084220 3.942131 -1.728536 -v 0.010983 3.965928 -1.728536 -v 0.129472 3.802826 -1.576457 -v 0.129472 3.879831 -1.576457 -v 0.010971 3.716730 -1.576457 -v 0.084209 3.740526 -1.576457 -v -0.107529 3.802826 -1.576457 -v -0.062266 3.740526 -1.576457 -v -0.062266 3.942131 -1.576457 -v -0.107529 3.879831 -1.576457 -v 0.084209 3.942131 -1.576457 -v 0.010971 3.965928 -1.576457 -v 0.129483 3.802826 -4.434403 -v 0.129483 3.879831 -4.434403 -v 0.010983 3.716730 -4.434403 -v 0.084220 3.740526 -4.434403 -v -0.107518 3.802826 -4.434403 -v -0.062255 3.740526 -4.434403 -v -0.062255 3.942131 -4.434403 -v -0.107518 3.879831 -4.434403 -v 0.084220 3.943378 -4.425675 -v 0.010983 3.967175 -4.425675 -v 0.145766 3.797535 -4.448478 -v 0.145766 3.885121 -4.448478 -v 0.010983 3.699610 -4.448478 -v 0.094283 3.726675 -4.448478 -v -0.123800 3.797535 -4.448478 -v -0.072318 3.726675 -4.448478 -v -0.072318 3.972192 -4.426768 -v -0.123800 3.885121 -4.448478 -v 0.094283 3.972192 -4.426768 -v 0.010983 3.999258 -4.426768 -v 0.145766 3.797535 -4.625632 -v 0.145766 3.885121 -4.625632 -v 0.010983 3.699610 -4.625632 -v 0.094283 3.726675 -4.625632 -v -0.123800 3.797535 -4.625632 -v -0.072318 3.726675 -4.625632 -v -0.072318 3.955982 -4.592849 -v -0.123800 3.885121 -4.625632 -v 0.094283 3.955982 -4.592849 -v 0.010983 3.983048 -4.592849 -v 0.125892 3.803993 -4.625632 -v 0.125892 3.878664 -4.625632 -v 0.010983 3.720506 -4.625632 -v 0.082001 3.743581 -4.625632 -v -0.103927 3.803993 -4.625632 -v -0.060035 3.743581 -4.625632 -v -0.060035 3.939076 -4.625632 -v -0.103927 3.878664 -4.625632 -v 0.082001 3.939076 -4.625632 -v 0.010983 3.962151 -4.625632 -v 0.102355 3.811640 -4.439992 -v 0.102355 3.871017 -4.439992 -v 0.010983 3.745255 -4.439992 -v 0.067454 3.763603 -4.439992 -v -0.080389 3.811640 -4.439992 -v -0.045488 3.763603 -4.439992 -v -0.045488 3.919054 -4.439992 -v -0.080389 3.871017 -4.439992 -v 0.067454 3.919054 -4.439992 -v 0.010983 3.937403 -4.439992 -v -0.066374 3.348727 -0.150006 -v 0.076311 3.348727 -0.150006 -v -0.066374 3.343484 -0.416893 -v 0.076311 3.343484 -0.416893 -v -0.058154 3.349513 -0.151536 -v 0.068091 3.349513 -0.151536 -v -0.058154 3.242140 -0.036531 -v 0.068091 3.242140 -0.036531 -v -0.066374 3.301886 -0.318684 -v 0.076311 3.301886 -0.318684 -v -0.066374 3.316812 -0.404048 -v 0.076311 3.316812 -0.404048 -v -0.058154 3.302672 -0.320215 -v 0.068091 3.302672 -0.320215 -v -0.058154 3.263564 -0.101260 -v 0.068091 3.263564 -0.101260 -v -0.066374 3.214342 -0.229651 -v 0.076311 3.214342 -0.229651 -v -0.058154 3.215127 -0.231182 -v 0.068091 3.215127 -0.231182 -v -0.058154 3.215539 -0.157592 -v 0.068091 3.215539 -0.157592 -v -0.066374 3.080063 -0.208751 -v 0.076311 3.080063 -0.208751 -v -0.058154 3.080849 -0.210282 -v 0.068091 3.080849 -0.210282 -v -0.058154 3.100310 -0.162550 -v 0.068091 3.100310 -0.162550 -v -0.066374 3.022878 -0.246091 -v 0.076311 3.022878 -0.246091 -v -0.058154 3.023664 -0.247621 -v 0.068091 3.023664 -0.247621 -v -0.058154 3.014277 -0.224014 -v 0.068091 3.014277 -0.224014 -v -0.038672 3.010553 -0.267398 -v 0.048609 3.010553 -0.267398 -v -0.033643 3.011479 -0.267898 -v 0.043580 3.011479 -0.267898 -v -0.033643 2.998583 -0.259227 -v 0.043580 2.998583 -0.259227 -v -0.023223 4.099064 -4.460313 -v 0.045189 4.099064 -4.460313 -v 0.010983 4.099064 -4.460313 -v -0.023223 4.080983 -4.584744 -v 0.045189 4.080983 -4.584744 -v 0.010983 4.080983 -4.584744 -v -0.003016 4.192816 -4.470598 -v 0.024981 4.192816 -4.470598 -v 0.010983 4.192816 -4.470598 -v -0.003016 4.195310 -4.528008 -v 0.024981 4.195310 -4.528008 -v 0.010983 4.195310 -4.528008 -v -0.003016 4.151863 -4.578821 -v -0.003016 4.135964 -4.473715 -v 0.024981 4.151863 -4.578821 -v 0.010983 4.151863 -4.578821 -v 0.024981 4.135964 -4.473715 -v 0.010983 4.135964 -4.473715 -v -0.072318 4.018483 -4.588797 -v -0.072318 4.037498 -4.431047 -v 0.010983 4.032015 -4.588797 -v 0.010983 4.051032 -4.431047 -v 0.094283 4.018483 -4.588797 -v 0.094283 4.037498 -4.431047 -v -0.148558 3.576822 2.131392 -v 0.158495 3.576822 2.131392 -v -0.148558 3.985563 2.127613 -v 0.158495 3.985563 2.127613 -v 0.158495 3.745410 2.129833 -v -0.148558 3.745410 2.129833 -v -0.113993 3.619123 2.165170 -v 0.123930 3.619123 2.165170 -v -0.113993 3.935838 2.162241 -v 0.123930 3.935838 2.162241 -v 0.123930 3.749754 2.163962 -v -0.113993 3.749754 2.163962 -v 0.125170 3.348727 -0.150006 -v 0.158495 3.555904 -0.673261 -v 0.158495 3.555861 -0.165809 -v 0.125170 3.539594 -0.165659 -v 0.158495 3.733243 -0.679260 -v 0.158495 3.727316 -0.279857 -v -0.114220 3.162457 0.612960 -v -0.114220 2.855107 0.157202 -v 0.112739 2.855107 0.157202 -v 0.112739 3.162457 0.612960 -v -0.114220 3.268239 0.605590 -v -0.114220 2.952557 0.014424 -v 0.112739 2.952557 0.014424 -v 0.112739 3.268239 0.605590 -v -0.114220 3.262147 0.432976 -v -0.114220 3.057563 0.006449 -v 0.112739 3.057563 0.006449 -v 0.112739 3.262147 0.432976 -v -0.114220 3.317003 0.429627 -v -0.114220 3.307122 0.186549 -v 0.112739 3.307122 0.186549 -v 0.112739 3.317003 0.429627 -v 0.112739 3.213485 0.046269 -v -0.114220 3.213485 0.046269 -v -0.114220 3.289575 0.427785 -v 0.112739 3.289575 0.427785 -v 0.112739 3.123469 0.020332 -v -0.114220 3.123469 0.020332 -v -0.114220 3.275861 0.430381 -v 0.112739 3.275861 0.430381 -v -0.114220 2.832034 0.835788 -v -0.114220 2.492135 0.308903 -v 0.112739 2.492135 0.308903 -v 0.112739 2.832034 0.835788 -v -0.114220 2.665873 0.933404 -v -0.114220 2.359728 0.480056 -v 0.112739 2.359728 0.480056 -v 0.112739 2.665873 0.933404 -v -0.114220 2.512495 0.935740 -v -0.114220 2.229255 0.488420 -v 0.112739 2.229255 0.488420 -v 0.112739 2.512495 0.935740 -v -0.114220 2.942949 0.760990 -v -0.114220 2.640497 0.307408 -v 0.112739 2.942949 0.760990 -v 0.112739 2.640497 0.307408 -v 0.112739 2.748953 0.884596 -v -0.114220 2.748953 0.884596 -v 0.112739 2.435576 0.434262 -v -0.114220 2.435576 0.434262 -v -0.114220 2.356273 0.874535 -v -0.114220 2.210463 0.635770 -v 0.112739 2.210463 0.635770 -v 0.112739 2.356273 0.874535 -v 0.112739 2.430767 0.913576 -v -0.114220 2.430767 0.913576 -v 0.112739 2.206598 0.522313 -v -0.114220 2.206598 0.522313 -v -0.114220 3.077317 0.248058 -v -0.114220 2.976574 0.337321 -v 0.112739 3.077317 0.248058 -v 0.112739 2.976574 0.337321 -v -0.114220 3.138416 0.175016 -v 0.112739 3.138416 0.175016 -v -0.114220 3.318260 0.277793 -v 0.112739 3.318260 0.277793 -v 0.112739 3.243556 0.197047 -v -0.114220 3.243556 0.197047 -v -0.114220 3.183695 0.182386 -v 0.112739 3.183695 0.182386 -v -0.114220 2.626466 0.517132 -v 0.112739 2.626466 0.517132 -v -0.114220 2.480719 0.659222 -v 0.112739 2.480719 0.659222 -v -0.114220 2.341194 0.665205 -v 0.112739 2.341194 0.665205 -v 0.112739 2.760028 0.486667 -v -0.114220 2.760028 0.486667 -v -0.114220 2.559425 0.612237 -v 0.112739 2.559425 0.612237 -v -0.114220 2.247594 0.731337 -v 0.112739 2.247594 0.731337 -v -0.114220 2.295192 0.676943 -v 0.112739 2.295192 0.676943 -v -0.000741 2.964903 -0.027040 -v -0.000741 2.858941 0.128209 -v -0.000741 3.308160 0.615763 -v -0.000741 3.193138 0.623778 -v -0.000741 3.079082 -0.035712 -v -0.000741 3.301536 0.428072 -v -0.000741 3.350439 0.160120 -v -0.000741 3.361183 0.424430 -v -0.000741 3.331359 0.422427 -v -0.000741 3.248624 0.007586 -v -0.000741 3.150744 -0.020617 -v -0.000741 3.316447 0.425250 -v -0.000741 2.464263 0.293161 -v -0.000741 2.833853 0.866069 -v -0.000741 2.320291 0.479264 -v -0.000741 2.653177 0.972211 -v -0.000741 2.178421 0.488359 -v -0.000741 2.486402 0.974752 -v -0.000741 2.625585 0.291535 -v -0.000741 2.954455 0.784738 -v -0.000741 2.402764 0.429470 -v -0.000741 2.743515 0.919140 -v -0.000741 2.157988 0.648580 -v -0.000741 2.316534 0.908200 -v -0.000741 2.153785 0.525212 -v -0.000741 2.397535 0.950652 -v -0.000741 2.198362 0.752494 -v -0.000741 3.362550 0.259334 -vt 0.669051 0.669361 -vt 0.624188 0.606699 -vt 0.624188 0.670561 -vt 0.671299 0.607599 -vt 0.766548 0.669192 -vt 0.765781 0.609517 -vt 0.669051 0.669361 -vt 0.624188 0.606699 -vt 0.671299 0.607599 -vt 0.521897 0.669061 -vt 0.521897 0.605199 -vt 0.614440 0.610026 -vt 0.651192 0.602158 -vt 0.654973 0.610026 -vt 0.666846 0.602738 -vt 0.626442 0.665579 -vt 0.626808 0.602016 -vt 0.654033 0.668197 -vt 0.692972 0.611282 -vt 0.693209 0.667681 -vt 0.624304 0.602574 -vt 0.671415 0.603474 -vt 0.535520 0.600368 -vt 0.521897 0.669061 -vt 0.614440 0.668263 -vt 0.654973 0.668263 -vt 0.671415 0.603474 -vt 0.766548 0.669192 -vt 0.753501 0.665798 -vt 0.666480 0.666301 -vt 0.624412 0.598734 -vt 0.624304 0.602574 -vt 0.522121 0.597234 -vt 0.624412 0.598734 -vt 0.522121 0.597234 -vt 0.522013 0.601074 -vt 0.521897 0.605199 -vt 0.765781 0.609517 -vt 0.765897 0.605392 -vt 0.522013 0.601074 -vt 0.653796 0.611798 -vt 0.689289 0.604625 -vt 0.663675 0.621042 -vt 0.622876 0.651723 -vt 0.623302 0.619374 -vt 0.535643 0.615751 -vt 0.744231 0.655682 -vt 0.663249 0.653391 -vt 0.671523 0.599634 -vt 0.766005 0.601553 -vt 0.662948 0.598732 -vt 0.683711 0.598458 -vt 0.765897 0.605392 -vt 0.671523 0.599634 -vt 0.618222 0.602158 -vt 0.645448 0.594833 -vt 0.624188 0.670561 -vt 0.535154 0.663931 -vt 0.753844 0.606382 -vt 0.657423 0.605045 -vt 0.535216 0.648100 -vt 0.744629 0.625444 -vt 0.766005 0.601553 -vt 0.623965 0.594833 -vt 0.109754 0.930547 -vt 0.080254 0.894023 -vt 0.104839 0.929572 -vt 0.109754 0.930547 -vt 0.183509 0.897145 -vt 0.109754 0.930547 -vt 0.080254 0.894023 -vt 0.183509 0.897145 -vt 0.080254 0.894023 -vt 0.104839 0.929572 -vt 0.183509 0.897145 -vt 0.080544 0.880248 -vt 0.109754 0.930547 -vt 0.183847 0.880042 -vt 0.080544 0.880248 -vt 0.080544 0.880248 -vt 0.080544 0.880248 -vt 0.183509 0.888787 -vt 0.184932 0.893682 -vt 0.184932 0.886772 -vt 0.183847 0.880042 -vt 0.184932 0.893682 -vt 0.080254 0.894023 -vt 0.183847 0.882248 -vt 0.080544 0.882278 -vt 0.104839 0.929572 -vt 0.104839 0.929572 -vt 0.109754 0.893625 -vt 0.183847 0.880042 -vt 0.183509 0.888787 -vt 0.184932 0.886772 -vt 0.183509 0.888787 -vt 0.080254 0.887763 -vt 0.080544 0.882278 -vt 0.109754 0.893625 -vt 0.104839 0.892913 -vt 0.095194 0.891193 -vt 0.109754 0.893625 -vt 0.104839 0.892913 -vt 0.080544 0.882278 -vt 0.080254 0.887763 -vt 0.183509 0.897145 -vt 0.183847 0.882248 -vt 0.183847 0.882248 -vt 0.185211 0.884723 -vt 0.080254 0.887763 -vt 0.104839 0.892913 -vt 0.183509 0.888787 -vt 0.109754 0.893625 -vt 0.080544 0.882278 -vt 0.185211 0.879541 -vt 0.185211 0.884723 -vt 0.095194 0.891193 -vt 0.089540 0.905201 -vt 0.089540 0.891193 -vt 0.095194 0.891193 -vt 0.080254 0.887763 -vt 0.089540 0.891193 -vt 0.095194 0.905201 -vt 0.095194 0.913208 -vt 0.095194 0.905201 -vt 0.089540 0.905201 -vt 0.089540 0.891193 -vt 0.095194 0.905201 -vt 0.095194 0.891193 -vt 0.089540 0.891193 -vt 0.089540 0.905201 -vt 0.104839 0.892913 -vt 0.183847 0.882248 -vt 0.185211 0.884723 -vt 0.089540 0.913208 -vt 0.089540 0.905201 -vt 0.095194 0.905201 -vt 0.184932 0.893682 -vt 0.089540 0.913208 -vt 0.095194 0.915155 -vt 0.095194 0.913208 -vt 0.095194 0.913208 -vt 0.089540 0.913208 -vt 0.095194 0.913208 -vt 0.089540 0.913208 -vt 0.089540 0.915155 -vt 0.090059 0.915649 -vt 0.089540 0.915155 -vt 0.089540 0.913208 -vt 0.095194 0.915155 -vt 0.089540 0.915155 -vt 0.095194 0.913208 -vt 0.089540 0.913208 -vt 0.095194 0.913208 -vt 0.095194 0.915155 -vt 0.094675 0.915649 -vt 0.089540 0.915155 -vt 0.090059 0.915649 -vt 0.090729 0.916246 -vt 0.090059 0.915649 -vt 0.094006 0.916246 -vt 0.094675 0.915649 -vt 0.094675 0.915649 -vt 0.095194 0.915155 -vt 0.094675 0.915649 -vt 0.090059 0.915649 -vt 0.094006 0.916246 -vt 0.090729 0.916246 -vt 0.094006 0.916246 -vt 0.090729 0.916246 -vt 0.094006 0.916246 -vt 0.090729 0.916246 -vt 0.185211 0.879541 -vt 0.184932 0.893682 -vt 0.185211 0.879541 -vt 0.184932 0.886772 -vt 0.184932 0.886772 -vt 0.185211 0.884723 -vt 0.185211 0.879541 -vt 0.183847 0.880042 -vt 0.316242 0.801322 -vt 0.373046 0.748839 -vt 0.302758 0.798600 -vt 0.320610 0.811480 -vt 0.373711 0.778168 -vt 0.379977 0.787515 -vt 0.316242 0.801322 -vt 0.373046 0.748839 -vt 0.278202 0.785409 -vt 0.316298 0.707214 -vt 0.336512 0.710841 -vt 0.378958 0.754576 -vt 0.306588 0.807951 -vt 0.266291 0.794873 -vt 0.247739 0.814541 -vt 0.246473 0.819757 -vt 0.319611 0.705868 -vt 0.340626 0.710649 -vt 0.278202 0.785409 -vt 0.281331 0.789881 -vt 0.316298 0.707214 -vt 0.266389 0.790227 -vt 0.237594 0.689019 -vt 0.188153 0.677709 -vt 0.187083 0.669334 -vt 0.266389 0.790227 -vt 0.294031 0.710907 -vt 0.294031 0.710907 -vt 0.296550 0.709230 -vt 0.171152 0.812651 -vt 0.106869 0.623953 -vt 0.210732 0.814062 -vt 0.169814 0.818151 -vt 0.211344 0.822357 -vt 0.211876 0.816087 -vt 0.237386 0.694672 -vt 0.211876 0.816087 -vt 0.188153 0.677709 -vt 0.171152 0.812651 -vt 0.102144 0.606148 -vt 0.049104 0.603104 -vt 0.041974 0.580720 -vt 0.106869 0.623953 -vt 0.076511 0.810091 -vt 0.170958 0.820176 -vt 0.072732 0.813978 -vt 0.034978 0.803552 -vt 0.013876 0.650993 -vt 0.032117 0.799414 -vt 0.037839 0.807691 -vt 0.032581 0.809926 -vt 0.076511 0.810091 -vt 0.049104 0.603104 -vt 0.353509 0.719746 -vt 0.294676 0.791925 -vt 0.336512 0.710841 -vt 0.296646 0.796899 -vt 0.358361 0.721240 -vt 0.353509 0.719746 -vt 0.302758 0.798600 -vt 0.294676 0.791925 -vt 0.265708 0.702789 -vt 0.234056 0.818220 -vt 0.237386 0.694672 -vt 0.247739 0.814541 -vt 0.265708 0.702789 -vt 0.234056 0.818220 -vt 0.246024 0.809479 -vt 0.233809 0.822494 -vt 0.244757 0.814695 -vt 0.232912 0.816195 -vt 0.234381 0.825531 -vt 0.267072 0.699125 -vt 0.026551 0.800435 -vt 0.005961 0.633227 -vt 0.015849 0.610124 -vt 0.007549 0.587431 -vt 0.029566 0.805180 -vt 0.034978 0.803552 -vt 0.013876 0.650993 -vt 0.015849 0.610124 -vt 0.037839 0.807691 -vt 0.032117 0.799414 -vt 0.232912 0.816195 -vt 0.210732 0.814062 -vt 0.246024 0.809479 -vt 0.232340 0.813158 -vt 0.170008 0.810626 -vt 0.373711 0.778168 -vt 0.170008 0.810626 -vt 0.232340 0.813158 -vt 0.414883 0.883928 -vt 0.327405 0.876542 -vt 0.324861 0.881607 -vt 0.560835 0.949562 -vt 0.586205 0.906400 -vt 0.547371 0.894753 -vt 0.414883 0.883928 -vt 0.414082 0.878668 -vt 0.417302 0.841457 -vt 0.369913 0.884708 -vt 0.530168 0.849576 -vt 0.499349 0.855851 -vt 0.499664 0.845221 -vt 0.501362 0.835115 -vt 0.535601 0.834014 -vt 0.515237 0.821072 -vt 0.313670 0.903739 -vt 0.426526 0.948543 -vt 0.314798 0.945903 -vt 0.314543 0.886879 -vt 0.314543 0.886879 -vt 0.414897 0.886538 -vt 0.531635 0.942943 -vt 0.549265 0.935549 -vt 0.549232 0.943178 -vt 0.537020 0.864635 -vt 0.587231 0.876465 -vt 0.313670 0.903739 -vt 0.426526 0.948543 -vt 0.448912 0.895693 -vt 0.307851 0.880733 -vt 0.307357 0.903843 -vt 0.535601 0.834014 -vt 0.558288 0.836113 -vt 0.583291 0.949480 -vt 0.633134 0.908281 -vt 0.514139 0.942709 -vt 0.510672 0.935034 -vt 0.514171 0.935081 -vt 0.515237 0.821072 -vt 0.501362 0.835115 -vt 0.537020 0.864635 -vt 0.471312 0.865755 -vt 0.450559 0.842221 -vt 0.478810 0.865475 -vt 0.476271 0.824408 -vt 0.483858 0.865196 -vt 0.476884 0.843442 -vt 0.488556 0.864915 -vt 0.448912 0.895693 -vt 0.471326 0.868365 -vt 0.471484 0.895505 -vt 0.478824 0.868085 -vt 0.485210 0.895317 -vt 0.483872 0.867805 -vt 0.497496 0.895129 -vt 0.488569 0.867525 -vt 0.509576 0.894941 -vt 0.537034 0.867245 -vt 0.547371 0.894753 -vt 0.533041 0.857588 -vt 0.529920 0.857373 -vt 0.533285 0.849977 -vt 0.534390 0.857776 -vt 0.458342 0.825832 -vt 0.458342 0.825832 -vt 0.476271 0.824408 -vt 0.476884 0.843442 -vt 0.414897 0.886538 -vt 0.528168 0.935268 -vt 0.531667 0.935314 -vt 0.528136 0.942896 -vt 0.524669 0.935221 -vt 0.524636 0.942849 -vt 0.521170 0.935174 -vt 0.521137 0.942803 -vt 0.517671 0.935127 -vt 0.517638 0.942756 -vt 0.471312 0.865755 -vt 0.478824 0.868085 -vt 0.478810 0.865475 -vt 0.483872 0.867805 -vt 0.483858 0.865196 -vt 0.488569 0.867525 -vt 0.488556 0.864915 -vt 0.412497 0.875473 -vt 0.450559 0.842221 -vt 0.471484 0.895505 -vt 0.449123 0.948486 -vt 0.485210 0.895317 -vt 0.490523 0.948840 -vt 0.497496 0.895129 -vt 0.513120 0.948783 -vt 0.509576 0.894941 -vt 0.535716 0.948726 -vt 0.537034 0.867245 -vt 0.471326 0.868365 -vt 0.535716 0.948726 -vt 0.560835 0.949562 -vt 0.513120 0.948783 -vt 0.490523 0.948840 -vt 0.449123 0.948486 -vt 0.586205 0.906400 -vt 0.583291 0.949480 -vt 0.587231 0.876465 -vt 0.550210 0.943191 -vt 0.671257 0.878836 -vt 0.631825 0.877048 -vt 0.633134 0.908281 -vt 0.649229 0.948618 -vt 0.617732 0.930780 -vt 0.602454 0.945746 -vt 0.602454 0.930780 -vt 0.502335 0.942552 -vt 0.496988 0.934851 -vt 0.502367 0.934923 -vt 0.649229 0.948618 -vt 0.672462 0.914569 -vt 0.672462 0.914569 -vt 0.672624 0.949049 -vt 0.504287 0.942578 -vt 0.504319 0.934949 -vt 0.685624 0.939155 -vt 0.658156 0.890534 -vt 0.685624 0.890534 -vt 0.687023 0.921056 -vt 0.687437 0.950626 -vt 0.687437 0.950626 -vt 0.677261 0.887480 -vt 0.659984 0.901670 -vt 0.660196 0.887171 -vt 0.677305 0.901989 -vt 0.659364 0.943976 -vt 0.631825 0.877048 -vt 0.687023 0.921056 -vt 0.671257 0.878836 -vt 0.686575 0.879073 -vt 0.686575 0.879073 -vt 0.587808 0.822562 -vt 0.576470 0.820658 -vt 0.587901 0.811832 -vt 0.535601 0.834014 -vt 0.535601 0.834014 -vt 0.560740 0.836533 -vt 0.587515 0.842860 -vt 0.587515 0.842860 -vt 0.581374 0.815058 -vt 0.586871 0.792344 -vt 0.570656 0.777689 -vt 0.587901 0.811832 -vt 0.587808 0.822562 -vt 0.674538 0.917505 -vt 0.671549 0.893464 -vt 0.674538 0.893464 -vt 0.571672 0.835767 -vt 0.586871 0.792344 -vt 0.586438 0.769231 -vt 0.671549 0.917505 -vt 0.669333 0.893464 -vt 0.668408 0.909110 -vt 0.681112 0.889706 -vt 0.679545 0.909055 -vt 0.558397 0.771596 -vt 0.553563 0.771442 -vt 0.561468 0.773519 -vt 0.562511 0.771826 -vt 0.567255 0.776709 -vt 0.586438 0.769231 -vt 0.679264 0.917505 -vt 0.679264 0.893464 -vt 0.566610 0.835767 -vt 0.534615 0.774320 -vt 0.530324 0.769671 -vt 0.538471 0.770247 -vt 0.655974 0.919897 -vt 0.669333 0.913242 -vt 0.669333 0.919897 -vt 0.558397 0.770616 -vt 0.553721 0.773402 -vt 0.553967 0.769826 -vt 0.679545 0.912787 -vt 0.668431 0.916567 -vt 0.668420 0.912842 -vt 0.522955 0.789191 -vt 0.523308 0.769369 -vt 0.522343 0.787389 -vt 0.679552 0.930773 -vt 0.668490 0.938143 -vt 0.668470 0.930828 -vt 0.655974 0.900347 -vt 0.669333 0.893464 -vt 0.669333 0.900347 -vt 0.533428 0.775300 -vt 0.530324 0.769671 -vt 0.523054 0.787809 -vt 0.523308 0.769369 -vt 0.523054 0.787809 -vt 0.525802 0.786811 -vt 0.679555 0.938089 -vt 0.668512 0.944402 -vt 0.521774 0.803647 -vt 0.562749 0.770426 -vt 0.562417 0.772819 -vt 0.655974 0.925572 -vt 0.669333 0.925572 -vt 0.538471 0.770247 -vt 0.655974 0.913242 -vt 0.679546 0.916512 -vt 0.529746 0.825173 -vt 0.515330 0.821058 -vt 0.535740 0.834140 -vt 0.522079 0.817430 -vt 0.522316 0.805250 -vt 0.521774 0.803647 -vt 0.669333 0.917505 -vt 0.672314 0.941547 -vt 0.669333 0.941547 -vt 0.515330 0.821058 -vt 0.535740 0.834140 -vt 0.518552 0.812353 -vt 0.518552 0.812353 -vt 0.535740 0.834140 -vt 0.535740 0.834140 -vt 0.522548 0.816913 -vt 0.672314 0.917505 -vt 0.675060 0.941547 -vt 0.716508 0.931339 -vt 0.705246 0.914428 -vt 0.705246 0.918246 -vt 0.713182 0.934285 -vt 0.701920 0.936668 -vt 0.713182 0.932504 -vt 0.716508 0.946426 -vt 0.705246 0.940595 -vt 0.716508 0.941764 -vt 0.716508 0.936001 -vt 0.705246 0.928241 -vt 0.716508 0.941764 -vt 0.705246 0.940595 -vt 0.705246 0.928241 -vt 0.716508 0.936001 -vt 0.716508 0.931339 -vt 0.705246 0.918246 -vt 0.705246 0.950590 -vt 0.716508 0.946426 -vt 0.716508 0.939015 -vt 0.705246 0.946998 -vt 0.716508 0.940796 -vt 0.716508 0.929558 -vt 0.944518 0.937133 -vt 0.705246 0.950590 -vt 0.944518 0.934541 -vt 0.944786 0.937311 -vt 0.944352 0.940072 -vt 0.944518 0.939229 -vt 0.944518 0.932445 -vt 0.944518 0.932445 -vt 0.944518 0.934541 -vt 0.944518 0.937133 -vt 0.944352 0.939271 -vt 0.716508 0.948206 -vt 0.944518 0.931644 -vt 0.944786 0.934363 -vt 0.981613 0.940997 -vt 0.944786 0.931979 -vt 0.944786 0.931068 -vt 0.944786 0.931979 -vt 0.944786 0.937311 -vt 0.944786 0.934363 -vt 0.944373 0.940241 -vt 0.963388 0.946114 -vt 0.944373 0.940241 -vt 0.981613 0.928428 -vt 0.981613 0.939961 -vt 0.981613 0.927392 -vt 0.980478 0.912452 -vt 0.978334 0.908556 -vt 0.980478 0.912452 -vt 0.981613 0.927392 -vt 0.978642 0.952812 -vt 0.981613 0.940997 -vt 0.978274 0.965011 -vt 0.977907 0.972867 -vt 0.977907 0.972867 -vt 0.978274 0.962840 -vt 0.967730 0.974882 -vt 0.978642 0.952812 -vt 0.944624 0.936836 -vt 0.981108 0.916727 -vt 0.981108 0.916727 -vt 0.978334 0.911909 -vt 0.981613 0.928428 -vt 0.981613 0.939961 -vt 0.978642 0.957155 -vt 0.979847 0.947868 -vt 0.979847 0.947868 -vt 0.979847 0.953579 -vt 0.944624 0.939070 -vt 0.944624 0.938452 -vt 0.944624 0.932604 -vt 0.944624 0.934838 -vt 0.944624 0.933222 -vt 0.944624 0.933222 -vt 0.944624 0.934838 -vt 0.944624 0.936836 -vt 0.944624 0.938452 -vt 0.551028 0.826625 -vt 0.559791 0.833173 -vt 0.559791 0.833173 -vt 0.559791 0.833173 -vt 0.559791 0.833173 -vt 0.535928 0.820071 -vt 0.529746 0.825173 -vt 0.525317 0.816913 -vt 0.525317 0.816913 -vt 0.525317 0.816913 -vt 0.525317 0.816913 -vt 0.667686 0.939841 -vt 0.665521 0.925572 -vt 0.667686 0.925572 -vt 0.682075 0.917505 -vt 0.675060 0.922418 -vt 0.675060 0.917505 -vt 0.556469 0.839472 -vt 0.550178 0.827759 -vt 0.557045 0.834913 -vt 0.558288 0.836113 -vt 0.547885 0.827619 -vt 0.681670 0.893464 -vt 0.683406 0.906089 -vt 0.681670 0.906089 -vt 0.668779 0.939841 -vt 0.667686 0.925572 -vt 0.668779 0.925572 -vt 0.532369 0.827350 -vt 0.551028 0.826625 -vt 0.550890 0.826499 -vt 0.540112 0.808940 -vt 0.536738 0.794159 -vt 0.536289 0.812646 -vt 0.532765 0.823290 -vt 0.542484 0.812720 -vt 0.548814 0.829285 -vt 0.550890 0.826499 -vt 0.542820 0.812454 -vt 0.655974 0.942021 -vt 0.662989 0.934234 -vt 0.662989 0.942021 -vt 0.662989 0.925572 -vt 0.664707 0.938197 -vt 0.662989 0.938197 -vt 0.655974 0.934234 -vt 0.662989 0.925572 -vt 0.681670 0.907733 -vt 0.679264 0.893464 -vt 0.681670 0.893464 -vt 0.682075 0.922418 -vt 0.675060 0.927342 -vt 0.541535 0.812580 -vt 0.536738 0.794159 -vt 0.540590 0.792017 -vt 0.544310 0.781736 -vt 0.546242 0.779759 -vt 0.544310 0.781736 -vt 0.540926 0.790911 -vt 0.540926 0.790911 -vt 0.682075 0.927342 -vt 0.675060 0.934063 -vt 0.541065 0.791037 -vt 0.542309 0.780356 -vt 0.544449 0.781862 -vt 0.540116 0.790617 -vt 0.542309 0.780356 -vt 0.679264 0.907733 -vt 0.679831 0.915456 -vt 0.679264 0.915456 -vt 0.682075 0.934063 -vt 0.676422 0.936554 -vt 0.545501 0.777838 -vt 0.546287 0.779907 -vt 0.543895 0.781442 -vt 0.545501 0.777838 -vt 0.665521 0.928023 -vt 0.665521 0.935746 -vt 0.976870 0.981227 -vt 0.972064 0.987843 -vt 0.976870 0.981227 -vt 0.967843 0.981688 -vt 0.972064 0.987843 -vt 0.976870 0.981227 -vt 0.968280 0.957077 -vt 0.966979 0.955261 -vt 0.977907 0.972867 -vt 0.978274 0.962840 -vt 0.967730 0.974882 -vt 0.967730 0.974882 -vt 0.961774 0.948883 -vt 0.967561 0.986557 -vt 0.967561 0.986557 -vt 0.967561 0.986557 -vt 0.972064 0.987843 -vt 0.967843 0.981688 -vt 0.967843 0.981688 -vt 0.679650 0.909280 -vt 0.677638 0.894429 -vt 0.679311 0.888922 -vt 0.658970 0.909392 -vt 0.660737 0.936732 -vt 0.658582 0.940700 -vt 0.308485 0.946006 -vt 0.314798 0.945903 -vt 0.308485 0.946006 -vt 0.307357 0.903843 -vt 0.307851 0.880733 -vt 0.676242 0.905070 -vt 0.660454 0.928087 -vt 0.660998 0.905070 -vt 0.675937 0.890577 -vt 0.661340 0.890577 -vt 0.678232 0.936533 -vt 0.680168 0.940437 -vt 0.661140 0.894465 -vt 0.660979 0.911299 -vt 0.659223 0.888942 -vt 0.677875 0.911201 -vt 0.537016 0.865252 -vt 0.587670 0.865369 -vt 0.537222 0.867836 -vt 0.549501 0.892718 -vt 0.588862 0.895286 -vt 0.510639 0.942663 -vt 0.534637 0.850082 -vt 0.550243 0.935562 -vt 0.617732 0.945746 -vt 0.496955 0.942480 -vt 0.672624 0.949049 -vt 0.658156 0.939155 -vt 0.677434 0.944323 -vt 0.578723 0.794628 -vt 0.669333 0.917505 -vt 0.666781 0.889778 -vt 0.554046 0.770246 -vt 0.655974 0.893464 -vt 0.679554 0.944348 -vt 0.521062 0.803227 -vt 0.522865 0.817473 -vt 0.675060 0.917505 -vt 0.701920 0.940486 -vt 0.705246 0.943180 -vt 0.705246 0.954408 -vt 0.546758 0.825925 -vt 0.665521 0.939841 -vt 0.552537 0.831833 -vt 0.683406 0.893464 -vt 0.667686 0.939841 -vt 0.527847 0.823913 -vt 0.537317 0.816146 -vt 0.542820 0.812454 -vt 0.664707 0.925572 -vt 0.655974 0.925572 -vt 0.679264 0.907733 -vt 0.536289 0.812646 -vt 0.546242 0.779759 -vt 0.679831 0.907733 -vt 0.680713 0.936554 -vt 0.546287 0.779907 -vt 0.676727 0.928087 -vt 0.533350 0.835221 -vt 0.617096 0.349961 -vt 0.628699 0.299728 -vt 0.605696 0.327187 -vt 0.646934 0.321758 -vt 0.632402 0.300595 -vt 0.652229 0.324549 -vt 0.617096 0.349961 -vt 0.570494 0.369208 -vt 0.605696 0.327187 -vt 0.571435 0.393121 -vt 0.569113 0.376143 -vt 0.570136 0.402145 -vt 0.609517 0.251214 -vt 0.582732 0.248042 -vt 0.586623 0.278235 -vt 0.626424 0.363773 -vt 0.642867 0.380743 -vt 0.628327 0.411703 -vt 0.647807 0.388686 -vt 0.593480 0.391744 -vt 0.626424 0.363773 -vt 0.571435 0.393121 -vt 0.594106 0.400648 -vt 0.647952 0.345495 -vt 0.653337 0.350360 -vt 0.615656 0.414441 -vt 0.624951 0.401911 -vt 0.613299 0.404428 -vt 0.594143 0.397944 -vt 0.623611 0.387541 -vt 0.594827 0.407390 -vt 0.593908 0.404144 -vt 0.594572 0.414132 -vt 0.623611 0.387541 -vt 0.624951 0.401911 -vt 0.613299 0.404428 -vt 0.625483 0.374009 -vt 0.642867 0.380743 -vt 0.594467 0.404019 -vt 0.594143 0.397944 -vt 0.593812 0.394844 -vt 0.625483 0.374009 -vt 0.651409 0.366560 -vt 0.646179 0.360394 -vt 0.593812 0.394844 -vt 0.646179 0.360394 -vt 0.531392 0.274502 -vt 0.529570 0.256950 -vt 0.524614 0.254080 -vt 0.548556 0.322187 -vt 0.542037 0.294512 -vt 0.538169 0.294923 -vt 0.611544 0.247843 -vt 0.609326 0.217675 -vt 0.611336 0.211374 -vt 0.586623 0.278235 -vt 0.542037 0.294512 -vt 0.582732 0.248042 -vt 0.587569 0.178828 -vt 0.586399 0.158248 -vt 0.586407 0.146757 -vt 0.570587 0.232887 -vt 0.529570 0.256950 -vt 0.564586 0.215094 -vt 0.593928 0.197472 -vt 0.587467 0.187743 -vt 0.593316 0.204889 -vt 0.564586 0.215094 -vt 0.570587 0.232887 -vt 0.527367 0.196290 -vt 0.537088 0.186962 -vt 0.532789 0.177979 -vt 0.587467 0.187743 -vt 0.563822 0.183553 -vt 0.529272 0.222278 -vt 0.524289 0.216379 -vt 0.529272 0.222278 -vt 0.563822 0.183553 -vt 0.628699 0.299728 -vt 0.570494 0.369208 -vt 0.593316 0.204889 -vt 0.535803 0.275731 -vt 0.552674 0.151265 -vt 0.567581 0.154000 -vt 0.555376 0.162394 -vt 0.562323 0.173154 -vt 0.537088 0.186962 -vt 0.581701 0.141188 -vt 0.565945 0.142138 -vt 0.562323 0.173154 -vt 0.567581 0.154000 -vt 0.555376 0.162394 -vt 0.582071 0.153127 -vt 0.582071 0.153127 -vt 0.532102 0.203802 -vt 0.532102 0.203802 -vt 0.551589 0.319586 -vt 0.609517 0.251214 -vt 0.593480 0.391744 -vt 0.593908 0.404144 -vt 0.646934 0.321758 -vt 0.586399 0.158248 -vt 0.535803 0.275731 -vt 0.609326 0.217675 -vt 0.551589 0.319586 -vt 0.647952 0.345495 -vn -1.0000 0.0000 0.0000 -vn -0.9999 -0.0003 -0.0139 -vn 1.0000 -0.0000 0.0000 -vn 0.0000 0.0281 -0.9996 -vn 0.0000 0.9996 -0.0267 -vn 0.0000 0.0000 1.0000 -vn 0.7397 -0.6728 -0.0129 -vn 0.0000 0.9999 0.0147 -vn 0.0000 -0.0251 -0.9997 -vn -0.7397 -0.6725 -0.0239 -vn 0.9999 0.0009 -0.0135 -vn 0.0000 1.0000 -0.0017 -vn -0.5587 -0.8292 -0.0158 -vn 0.5587 -0.8293 -0.0122 -vn -0.5587 -0.8293 -0.0122 -vn -0.7397 -0.6729 -0.0099 -vn -0.7397 -0.6728 -0.0129 -vn 0.7618 -0.6475 -0.0218 -vn 0.7397 -0.6729 -0.0099 -vn 0.0000 -0.0281 0.9996 -vn 0.0000 -0.9998 -0.0191 -vn 0.0000 -0.9999 -0.0147 -vn 0.0000 -0.9998 -0.0203 -vn 0.5847 -0.8110 -0.0208 -vn -0.5587 -0.8290 -0.0231 -vn 0.5587 -0.8292 -0.0158 -vn -0.9999 0.0009 -0.0135 -vn -0.7618 -0.6475 -0.0218 -vn 0.9999 -0.0003 -0.0139 -vn 0.7397 -0.6725 -0.0239 -vn 0.5587 -0.8290 -0.0231 -vn -0.5847 -0.8110 -0.0208 -vn 0.0000 0.9109 -0.4126 -vn 0.0000 0.5688 0.8225 -vn 0.0000 0.9809 0.1947 -vn 0.0000 -1.0000 0.0020 -vn 0.0000 -0.0211 0.9998 -vn -0.9301 0.0804 0.3585 -vn 0.7292 0.0135 -0.6842 -vn -0.9520 -0.3061 0.0001 -vn -0.9969 0.0779 -0.0051 -vn 0.0000 0.5767 -0.8169 -vn 0.0902 -0.0526 0.9945 -vn 0.9995 0.0323 0.0047 -vn 0.9818 0.1859 0.0389 -vn -0.0944 0.9744 0.2041 -vn 0.0000 0.9896 0.1435 -vn 0.0000 -0.0529 0.9986 -vn 0.9994 0.0321 -0.0145 -vn 0.8636 -0.5041 0.0001 -vn 0.0000 -0.4827 -0.8758 -vn 0.1981 -0.0207 0.9800 -vn -0.9998 0.0178 0.0026 -vn -0.9995 0.0178 0.0257 -vn 0.0000 0.9979 -0.0655 -vn 0.0000 -1.0000 0.0003 -vn 0.9717 -0.2034 0.1198 -vn 0.7419 0.6705 0.0000 -vn 0.0000 0.9845 0.1755 -vn 0.0000 0.9381 0.3464 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.9845 0.1756 -vn 0.0000 0.3801 -0.9250 -vn 0.0000 0.7242 0.6896 -vn 0.0000 -1.0000 0.0000 -vn -0.9229 0.3850 0.0000 -vn 0.0000 0.7464 0.6655 -vn -0.9135 0.4069 0.0000 -vn -0.8953 0.4454 0.0000 -vn 0.0000 0.7240 -0.6898 -vn 0.0000 0.7241 -0.6897 -vn 0.9229 0.3850 0.0000 -vn 0.8953 0.4454 0.0000 -vn 0.0000 0.7243 0.6895 -vn 0.0000 0.7464 -0.6655 -vn -0.8831 0.4692 0.0000 -vn 0.9135 0.4069 0.0000 -vn 0.8831 0.4692 0.0000 -vn 0.0000 0.0197 -0.9998 -vn 0.7602 0.0877 -0.6438 -vn 0.1246 0.0196 -0.9920 -vn 0.0000 0.1349 -0.9909 -vn 0.9698 0.1375 0.2016 -vn 0.0000 -0.9387 0.3446 -vn 0.0000 0.5768 -0.8169 -vn -0.8036 -0.2378 0.5455 -vn -0.6891 0.0143 -0.7245 -vn 0.0000 -0.9388 0.3446 -vn -0.9393 0.0734 0.3351 -vn 0.7291 0.0135 -0.6842 -vn -0.9589 -0.2837 0.0006 -vn -0.9998 0.0177 -0.0080 -vn -0.1107 -0.0209 0.9936 -vn 0.9995 0.0321 0.0064 -vn 0.9984 0.0323 0.0467 -vn -0.7419 0.6705 0.0000 -vn 0.9901 0.1404 -0.0092 -vn 0.8810 -0.4731 0.0009 -vn -0.1622 -0.0522 0.9854 -vn -0.9998 0.0177 0.0035 -vn -0.9944 0.1037 0.0217 -vn 0.7280 -0.3910 0.5632 -vn 0.0944 0.9744 0.2041 -vn 0.0000 -0.4826 -0.8758 -vn 0.0000 0.9897 0.1435 -vn 0.0000 0.7463 0.6656 -vn 0.0000 0.7243 -0.6895 -vn 0.0000 0.7241 0.6897 -vn -0.2223 0.0192 -0.9748 -vn -0.5418 0.1134 -0.8328 -vn 0.9568 0.1502 0.2489 -vn 0.0000 -0.9388 0.3445 -vn -0.9466 -0.1092 0.3034 -vn 0.3735 0.9276 -0.0047 -vn 0.3351 0.1678 -0.9271 -vn -0.2841 0.9062 0.3132 -vn -0.3132 0.8557 -0.4119 -vn 0.0389 -0.9397 -0.3398 -vn -0.2617 0.9651 -0.0077 -vn 0.2521 -0.8458 -0.4701 -vn 0.0299 -0.9902 -0.1365 -vn -0.2763 0.9330 0.2304 -vn 0.5480 -0.7519 -0.3665 -vn 0.4165 -0.7415 -0.5260 -vn -0.1419 0.9579 0.2495 -vn -0.0956 0.9577 0.2714 -vn -0.1771 0.7540 0.6326 -vn -0.2189 0.8685 0.4448 -vn 0.0979 -0.5709 -0.8152 -vn 0.0462 -0.8544 -0.5175 -vn -0.3215 0.9443 0.0706 -vn -0.3019 0.9116 0.2789 -vn 0.0864 -0.9135 -0.3976 -vn 0.1397 -0.9079 -0.3951 -vn -0.3257 -0.0043 0.9455 -vn 0.4875 -0.2417 0.8390 -vn -0.2464 0.5670 0.7860 -vn -0.2549 0.5656 0.7842 -vn 0.6433 -0.7610 -0.0837 -vn -0.6363 -0.7675 -0.0774 -vn 0.2561 0.5976 0.7598 -vn 0.2468 0.5991 0.7617 -vn -0.4738 -0.2640 0.8401 -vn 0.3239 -0.0047 0.9461 -vn -0.1924 -0.9114 -0.3637 -vn -0.1379 -0.9199 -0.3671 -vn 0.2750 0.9257 0.2597 -vn 0.3173 0.9461 0.0648 -vn -0.0780 -0.8716 -0.4840 -vn -0.1508 -0.6000 -0.7857 -vn 0.1926 0.8882 0.4171 -vn 0.1678 0.7814 0.6011 -vn 0.1418 0.9581 0.2490 -vn 0.2533 0.9409 0.2247 -vn -0.2423 -0.8133 -0.5290 -vn -0.4809 -0.8004 -0.3578 -vn 0.2532 0.9435 0.2137 -vn -0.0436 -0.9912 -0.1253 -vn -0.1900 -0.8747 -0.4458 -vn 0.2621 0.9650 -0.0070 -vn -0.0670 -0.9470 -0.3140 -vn 0.2731 0.8801 -0.3884 -vn 0.2841 0.9062 0.3132 -vn -0.3351 0.1678 -0.9271 -vn -0.3746 0.9272 -0.0043 -vn 0.3746 0.9272 -0.0043 -vn 0.3448 0.1537 -0.9260 -vn -0.2977 0.8933 0.3367 -vn -0.2731 0.8801 -0.3884 -vn 0.0670 -0.9470 -0.3140 -vn -0.2621 0.9650 -0.0070 -vn 0.1900 -0.8747 -0.4458 -vn 0.0436 -0.9912 -0.1253 -vn -0.2532 0.9435 0.2137 -vn 0.4809 -0.8004 -0.3578 -vn 0.2423 -0.8133 -0.5290 -vn -0.2533 0.9409 0.2247 -vn -0.1418 0.9581 0.2490 -vn -0.1678 0.7814 0.6011 -vn -0.1926 0.8882 0.4171 -vn 0.1508 -0.6000 -0.7857 -vn 0.0780 -0.8716 -0.4840 -vn -0.3173 0.9461 0.0648 -vn -0.2750 0.9257 0.2597 -vn 0.1379 -0.9199 -0.3671 -vn 0.1924 -0.9114 -0.3637 -vn -0.3239 -0.0047 0.9461 -vn 0.4738 -0.2640 0.8401 -vn -0.2468 0.5991 0.7617 -vn -0.2561 0.5976 0.7598 -vn 0.6363 -0.7675 -0.0774 -vn -0.6433 -0.7610 -0.0837 -vn 0.2549 0.5656 0.7842 -vn 0.2464 0.5670 0.7860 -vn -0.4875 -0.2417 0.8390 -vn 0.3257 -0.0043 0.9455 -vn -0.1397 -0.9079 -0.3951 -vn -0.0864 -0.9135 -0.3976 -vn 0.3019 0.9116 0.2789 -vn 0.3215 0.9443 0.0706 -vn -0.0462 -0.8544 -0.5175 -vn -0.0979 -0.5709 -0.8152 -vn 0.2189 0.8685 0.4448 -vn 0.1771 0.7540 0.6326 -vn 0.0956 0.9577 0.2714 -vn 0.1419 0.9579 0.2495 -vn -0.4165 -0.7415 -0.5260 -vn -0.5480 -0.7519 -0.3665 -vn 0.2763 0.9330 0.2304 -vn -0.0299 -0.9902 -0.1365 -vn -0.2521 -0.8458 -0.4701 -vn 0.2617 0.9651 -0.0077 -vn -0.0389 -0.9397 -0.3398 -vn 0.3132 0.8557 -0.4119 -vn 0.2977 0.8933 0.3367 -vn -0.3448 0.1537 -0.9260 -vn -0.3735 0.9276 -0.0047 -vn 0.0000 -0.6569 0.7539 -vn 0.0000 -0.9987 0.0509 -vn 0.4387 -0.8986 0.0083 -vn -0.4387 -0.8986 0.0083 -vn 0.0000 0.0093 1.0000 -vn 0.0000 1.0000 -0.0092 -vn -0.9978 0.0054 0.0657 -vn 0.0000 -0.9412 -0.3379 -vn -0.9885 -0.1515 0.0030 -vn 0.0000 0.9999 0.0165 -vn 0.0000 -0.8202 0.5721 -vn 0.0000 -0.9622 0.2722 -vn 0.0000 -0.5206 0.8538 -vn 0.0000 -0.9999 -0.0157 -vn 0.0000 -0.2889 -0.9574 -vn 0.0000 -0.9990 0.0456 -vn 0.4387 -0.8986 0.0063 -vn 0.4387 -0.8985 0.0190 -vn 0.4386 -0.8982 0.0281 -vn 0.4386 -0.8982 0.0302 -vn 0.4387 -0.8986 0.0029 -vn 0.0000 1.0000 -0.0014 -vn -0.4387 -0.8986 0.0063 -vn -0.4387 -0.8985 0.0190 -vn -0.4386 -0.8982 0.0282 -vn -0.4386 -0.8982 0.0302 -vn -0.4387 -0.8986 0.0029 -vn 0.0000 -0.0338 -0.9994 -vn 0.0000 1.0000 -0.0093 -vn 0.0000 -0.9999 0.0110 -vn 0.0000 0.9999 -0.0106 -vn 0.0000 1.0000 0.0039 -vn 0.0000 1.0000 0.0045 -vn 0.0000 0.0041 -1.0000 -vn 0.0000 -1.0000 -0.0045 -vn 0.0000 -1.0000 -0.0039 -vn 0.0000 -0.0042 1.0000 -vn 0.0000 0.0042 -1.0000 -vn 0.9547 -0.0045 0.2974 -vn 0.9917 -0.0006 0.1284 -vn 0.0000 0.0045 -1.0000 -vn -0.9663 0.0429 0.2538 -vn 0.0000 0.0153 -0.9999 -vn 0.0000 -0.4801 0.8772 -vn -0.9697 -0.1172 0.2141 -vn 0.0000 0.0147 -0.9999 -vn 0.0000 0.1668 0.9860 -vn 0.0000 -0.9999 -0.0159 -vn -0.9814 0.1291 0.1424 -vn 0.9688 -0.0036 0.2478 -vn -0.9720 -0.2011 0.1219 -vn 0.0000 -0.8553 0.5182 -vn 0.9756 -0.0034 0.2193 -vn 0.0000 0.9997 0.0242 -vn 0.0000 -0.9995 -0.0315 -vn 0.0000 -0.9992 -0.0399 -vn 0.0000 0.7950 -0.6067 -vn 0.0000 -0.0244 0.9997 -vn 0.0000 -0.9997 -0.0244 -vn 0.0000 -0.1417 0.9899 -vn 0.0000 0.7820 0.6232 -vn 0.0000 1.0000 -0.0025 -vn 0.0000 0.3197 -0.9475 -vn 0.0000 0.9403 0.3405 -vn 0.0000 -0.5480 0.8365 -vn 0.0000 -0.2167 -0.9762 -vn -0.3090 -0.9511 -0.0000 -vn 0.3090 0.9511 0.0000 -vn 0.8090 0.5878 0.0001 -vn -0.8090 -0.5878 -0.0001 -vn -1.0000 0.0000 -0.0001 -vn 1.0000 0.0000 0.0001 -vn 0.8090 -0.5878 0.0001 -vn -0.8090 0.5878 -0.0001 -vn -0.3090 0.9511 -0.0000 -vn 0.3090 -0.9511 0.0000 -vn 0.6539 0.0000 0.7565 -vn -0.3236 0.9462 0.0000 -vn 0.8090 -0.5878 0.0000 -vn -0.8090 -0.5878 0.0000 -vn -0.8090 0.5878 0.0000 -vn 0.8090 0.5878 0.0003 -vn 0.3090 0.9511 0.0004 -vn 0.5291 -0.3844 0.7565 -vn 0.2021 -0.6220 0.7565 -vn -0.2021 -0.6219 0.7565 -vn -0.5290 -0.3844 0.7565 -vn -0.6540 0.0000 0.7565 -vn -0.6124 0.1696 0.7722 -vn 0.0724 -0.2227 0.9722 -vn 0.0111 0.0341 0.9994 -vn 0.1629 -0.0195 0.9865 -vn 0.0000 0.0825 -0.9966 -vn -0.7804 0.6188 -0.0899 -vn 0.8541 0.5176 -0.0505 -vn -0.9921 0.0000 -0.1258 -vn 0.1131 0.3483 -0.9305 -vn -0.2643 0.8133 -0.5184 -vn 0.2643 0.8133 -0.5184 -vn 0.6918 0.5026 -0.5184 -vn -0.8026 0.5831 -0.1258 -vn -0.3066 0.9435 -0.1258 -vn 0.3066 0.9435 -0.1258 -vn 0.8026 0.5831 -0.1258 -vn 0.9921 0.0000 -0.1258 -vn 0.8026 -0.5831 -0.1258 -vn 0.3066 -0.9435 -0.1258 -vn -0.3066 -0.9435 -0.1258 -vn -0.8026 -0.5831 -0.1258 -vn 0.0000 0.9635 -0.2676 -vn 0.0000 -0.9998 0.0196 -vn 0.0000 -0.7309 -0.6824 -vn 0.0000 -0.9851 -0.1722 -vn 0.0000 -0.7610 0.6488 -vn 0.0000 -0.9494 -0.3142 -vn 0.0000 -0.4339 -0.9010 -vn 0.0000 -0.9635 0.2676 -vn 0.0000 0.7130 0.7011 -vn 0.0000 -0.7130 -0.7011 -vn 0.0000 0.5467 -0.8373 -vn 0.0000 -0.1538 -0.9881 -vn 0.0000 0.1538 0.9881 -vn 0.0000 -0.0430 0.9991 -vn 0.0000 -0.8656 0.5007 -vn 0.0000 -0.5467 0.8373 -vn 0.0000 -0.5813 0.8137 -vn 0.0000 -0.5580 -0.8298 -vn 0.0000 -0.9134 0.4071 -vn 0.6940 -0.4018 -0.5975 -vn -0.7476 -0.6171 -0.2454 -vn 0.0000 0.8571 -0.5151 -vn 0.0000 0.7600 -0.6499 -vn -0.0776 0.4779 0.8750 -vn 0.0121 0.0741 -0.9972 -vn 0.0000 0.5203 0.8540 -vn 0.7963 0.6006 -0.0724 -vn 0.0000 0.9991 0.0434 -vn 0.0000 -0.0547 0.9985 -vn 0.0000 0.3414 0.9399 -vn 0.8852 0.4604 -0.0669 -vn 0.0000 0.0833 -0.9965 -vn -0.9618 0.2708 0.0410 -vn 0.0134 0.0824 0.9965 -vn 0.0210 0.0647 -0.9977 -vn -0.0212 0.0654 0.9976 -vn -0.0134 0.0825 -0.9965 -vn 0.7030 0.0066 0.7112 -vn -0.7030 0.0066 0.7112 -vn 0.0000 -1.0000 0.0092 -vn 0.0000 0.0092 1.0000 -vn 0.0000 0.5715 0.8206 -vn 0.0000 -0.6240 0.7814 -vn 0.4387 -0.8987 -0.0001 -vn -0.4387 -0.8987 -0.0001 -vn -0.9917 -0.0006 0.1284 -vn 0.4386 -0.8982 0.0282 -vn -0.4386 -0.8982 0.0281 -vn 0.9697 -0.1172 0.2141 -vn 0.9885 -0.1515 0.0030 -vn -0.9547 -0.0045 0.2974 -vn 0.9663 0.0429 0.2538 -vn -0.9688 -0.0036 0.2478 -vn 0.9814 0.1291 0.1424 -vn -0.9756 -0.0034 0.2193 -vn 0.9720 -0.2011 0.1219 -vn 0.6540 0.0000 0.7565 -vn -0.3090 0.9511 0.0004 -vn 0.8145 0.5802 0.0000 -vn 0.5290 -0.3844 0.7565 -vn -0.2021 -0.6220 0.7565 -vn -0.5291 -0.3844 0.7565 -vn -0.6539 0.0000 0.7565 -vn 0.2295 -0.1667 0.9589 -vn -0.1296 0.0338 0.9910 -vn 0.6124 0.1696 0.7722 -vn -0.8541 0.5176 -0.0505 -vn -0.0121 0.0741 -0.9972 -vn -0.7963 0.6006 -0.0724 -vn 0.8090 0.5878 0.0000 -vn -0.6918 0.5026 -0.5184 -vn -0.1131 0.3483 -0.9305 -vn 0.7476 -0.6171 -0.2454 -vn -0.6940 -0.4018 -0.5975 -vn 0.0000 0.8572 -0.5151 -vn 0.0000 0.7601 -0.6499 -vn 0.0776 0.4778 0.8750 -vn 0.7804 0.6188 -0.0899 -vn 0.9618 0.2708 0.0410 -vn -0.8852 0.4604 -0.0669 -vn 0.0212 0.0654 0.9976 -vn 0.0134 0.0825 -0.9965 -vn -0.0134 0.0824 0.9965 -vn -0.0210 0.0647 -0.9977 -vn 0.9978 0.0054 0.0657 -vn 0.1153 -0.8204 -0.5600 -vn -0.1132 0.0691 0.9912 -vn -0.4079 0.7594 -0.5069 -vn 0.3290 0.9437 -0.0333 -vn -0.3355 -0.0713 -0.9393 -vn -0.3771 0.9194 -0.1122 -vn -0.0716 -0.0668 0.9952 -vn 0.0221 0.1859 0.9823 -vn -0.3820 0.2559 -0.8881 -vn -0.3735 0.1912 -0.9077 -vn -0.2317 0.4927 0.8388 -vn -0.2243 0.5449 0.8080 -vn 0.1398 -0.0100 -0.9901 -vn 0.0292 -0.0640 -0.9975 -vn 0.1825 -0.5082 -0.8417 -vn -0.3914 -0.4272 0.8151 -vn -0.3221 0.0144 0.9466 -vn 0.1866 -0.5633 -0.8049 -vn 0.2705 -0.8775 -0.3959 -vn 0.4268 -0.8430 0.3275 -vn 0.4224 -0.9059 0.0309 -vn 0.3492 -0.7790 -0.5208 -vn -0.3649 -0.2437 0.8986 -vn 0.4166 -0.7241 0.5496 -vn -0.3625 0.9320 0.0077 -vn 0.3625 0.9320 0.0077 -vn -0.4166 -0.7241 0.5496 -vn 0.3649 -0.2437 0.8986 -vn -0.3492 -0.7790 -0.5208 -vn -0.4224 -0.9059 0.0309 -vn -0.4268 -0.8430 0.3275 -vn 0.2317 0.4927 0.8388 -vn -0.2705 -0.8775 -0.3959 -vn 0.2243 0.5449 0.8080 -vn -0.1866 -0.5633 -0.8049 -vn 0.3221 0.0144 0.9466 -vn 0.3914 -0.4272 0.8151 -vn -0.1825 -0.5082 -0.8417 -vn -0.0292 -0.0639 -0.9975 -vn -0.1398 -0.0100 -0.9901 -vn 0.2317 0.4928 0.8388 -vn -0.0221 0.1859 0.9823 -vn 0.3735 0.1912 -0.9077 -vn 0.3820 0.2559 -0.8881 -vn 0.0716 -0.0668 0.9952 -vn 0.3771 0.9194 -0.1122 -vn 0.3355 -0.0713 -0.9393 -vn -0.3290 0.9437 -0.0333 -vn 0.4079 0.7594 -0.5069 -vn 0.1132 0.0691 0.9912 -vn -0.1153 -0.8204 -0.5600 -vn -0.2317 0.4928 0.8388 -vn 0.0292 -0.0639 -0.9975 -vn -0.0292 -0.0640 -0.9975 -s off -f 6/1/1 1/2/1 5/3/1 -f 2/4/2 15/5/2 13/6/2 -f 7/7/3 4/8/3 3/9/3 -f 4/8/3 12/10/3 10/11/3 -f 14/12/4 23/13/4 13/14/4 -f 7/15/5 5/16/5 8/17/5 -f 11/18/6 10/19/6 12/20/6 -f 3/9/7 20/21/7 19/22/7 -f 5/16/8 12/23/8 8/17/8 -f 1/2/1 11/24/1 5/3/1 -f 16/25/9 13/14/9 15/26/9 -f 13/6/10 18/27/10 2/4/10 -f 3/9/11 16/28/11 7/7/11 -f 7/15/12 15/29/12 6/30/12 -f 18/27/13 25/31/13 17/32/13 -f 20/21/14 30/33/14 28/34/14 -f 17/32/15 29/35/15 21/36/15 -f 1/2/16 21/36/16 9/37/16 -f 2/4/17 17/32/17 1/2/17 -f 14/38/18 19/22/18 24/39/18 -f 4/8/19 22/40/19 20/21/19 -f 9/41/20 22/42/20 10/19/20 -f 26/43/21 28/44/21 25/45/21 -f 28/44/22 29/46/22 25/45/22 -f 26/43/23 32/47/23 27/48/23 -f 24/39/24 27/49/24 32/50/24 -f 22/42/20 29/51/20 30/52/20 -f 23/53/25 26/54/25 18/27/25 -f 24/55/4 31/56/4 23/13/4 -f 19/22/26 28/34/26 27/49/26 -f 6/1/1 2/4/1 1/2/1 -f 2/4/27 6/1/27 15/5/27 -f 7/7/3 8/57/3 4/8/3 -f 4/8/3 8/57/3 12/10/3 -f 14/12/4 24/55/4 23/13/4 -f 7/15/5 6/30/5 5/16/5 -f 11/18/6 9/41/6 10/19/6 -f 3/9/7 4/8/7 20/21/7 -f 5/16/8 11/58/8 12/23/8 -f 1/2/1 9/37/1 11/24/1 -f 16/25/9 14/12/9 13/14/9 -f 13/6/28 23/53/28 18/27/28 -f 3/9/29 14/38/29 16/28/29 -f 7/15/12 16/59/12 15/29/12 -f 18/27/13 26/54/13 25/31/13 -f 20/21/14 22/40/14 30/33/14 -f 17/32/15 25/31/15 29/35/15 -f 1/2/16 17/32/16 21/36/16 -f 2/4/17 18/27/17 17/32/17 -f 14/38/30 3/9/30 19/22/30 -f 4/8/19 10/11/19 22/40/19 -f 9/41/20 21/60/20 22/42/20 -f 26/43/21 27/48/21 28/44/21 -f 28/44/22 30/61/22 29/46/22 -f 26/43/23 31/62/23 32/47/23 -f 24/39/31 19/22/31 27/49/31 -f 22/42/20 21/60/20 29/51/20 -f 23/53/32 31/63/32 26/54/32 -f 24/55/4 32/64/4 31/56/4 -f 19/22/26 20/21/26 28/34/26 -f 38/65/1 33/66/1 37/67/1 -f 39/68/33 46/69/33 45/70/33 -f 39/68/3 36/71/3 35/72/3 -f 37/67/34 55/73/34 52/74/34 -f 34/75/1 41/76/1 33/66/1 -f 54/77/35 37/67/35 52/74/35 -f 49/78/36 44/79/36 50/80/36 -f 33/66/37 56/81/37 55/73/37 -f 66/82/38 137/83/38 143/84/38 -f 35/72/3 44/79/3 43/85/3 -f 43/85/39 134/86/39 35/72/39 -f 48/87/37 44/79/37 36/71/37 -f 68/88/40 50/80/40 65/89/40 -f 39/68/35 47/90/35 40/91/35 -f 47/90/34 36/71/34 40/91/34 -f 63/92/41 46/69/41 66/82/41 -f 54/77/33 34/75/33 38/65/33 -f 42/93/36 56/81/36 41/76/36 -f 77/94/42 141/95/42 60/96/42 -f 58/97/43 56/81/43 59/98/43 -f 57/99/44 52/74/44 61/100/44 -f 61/100/45 55/73/45 58/97/45 -f 58/97/46 70/101/46 61/100/46 -f 80/102/47 61/100/47 78/103/47 -f 58/97/48 82/104/48 81/105/48 -f 57/99/49 51/106/49 54/77/49 -f 56/81/50 62/107/50 59/98/50 -f 94/108/51 144/109/51 68/88/51 -f 64/110/52 50/80/52 48/87/52 -f 47/90/53 63/92/53 67/111/53 -f 67/111/54 48/87/54 47/90/54 -f 63/92/55 92/112/55 87/113/55 -f 94/108/56 65/89/56 89/114/56 -f 62/107/57 140/115/57 142/116/57 -f 72/117/3 75/118/3 71/119/3 -f 64/110/58 72/117/58 71/119/58 -f 78/103/59 70/101/59 83/120/59 -f 88/121/60 71/119/60 90/122/60 -f 74/123/61 101/124/61 85/125/61 -f 71/119/6 91/126/6 90/122/6 -f 69/127/1 74/123/1 70/101/1 -f 70/101/61 85/125/61 83/120/61 -f 83/120/61 96/128/61 95/129/61 -f 84/130/6 73/131/6 69/127/6 -f 85/125/62 91/126/62 96/128/62 -f 81/105/60 69/127/60 58/97/60 -f 78/103/63 95/129/63 93/132/63 -f 79/133/51 148/134/51 94/108/51 -f 62/107/56 82/104/56 59/98/56 -f 80/102/55 60/96/55 57/99/55 -f 81/105/48 89/114/48 88/121/48 -f 87/113/47 78/103/47 93/132/47 -f 63/92/47 93/132/47 67/111/47 -f 88/121/48 65/89/48 64/110/48 -f 93/132/63 72/117/63 67/111/63 -f 85/125/3 102/135/3 86/136/3 -f 95/129/61 76/137/61 72/117/61 -f 90/122/6 86/136/6 84/130/6 -f 81/105/60 90/122/60 84/130/60 -f 51/106/64 133/138/64 34/75/64 -f 79/133/56 89/114/56 82/104/56 -f 87/113/55 77/94/55 80/102/55 -f 97/139/1 106/140/1 98/141/1 -f 104/142/62 99/143/62 100/144/62 -f 76/137/3 99/143/3 75/118/3 -f 96/128/61 100/144/61 76/137/61 -f 86/136/6 97/139/6 73/131/6 -f 75/118/6 103/145/6 91/126/6 -f 91/126/1 104/142/1 96/128/1 -f 73/131/1 98/141/1 74/123/1 -f 112/146/65 123/147/65 113/148/65 -f 114/149/6 112/146/6 113/148/6 -f 98/141/61 107/150/61 101/124/61 -f 102/135/6 105/151/6 97/139/6 -f 109/152/3 112/146/3 110/153/3 -f 115/154/66 110/153/66 114/149/66 -f 116/155/67 123/147/67 124/156/67 -f 116/155/61 109/152/61 115/154/61 -f 107/150/61 115/154/61 101/124/61 -f 108/157/62 116/155/62 107/150/62 -f 101/124/66 114/149/66 102/135/66 -f 102/135/6 113/148/6 108/157/6 -f 120/158/68 125/159/68 117/160/68 -f 123/147/69 132/161/69 124/156/69 -f 106/140/70 117/160/70 118/162/70 -f 106/140/71 119/163/71 107/150/71 -f 111/164/72 124/156/72 121/165/72 -f 111/164/73 122/166/73 112/146/73 -f 107/150/74 120/158/74 108/157/74 -f 105/151/75 120/158/75 117/160/75 -f 126/167/62 128/168/62 127/169/62 -f 131/170/62 129/171/62 132/161/62 -f 124/156/76 129/171/76 121/165/76 -f 117/160/77 126/167/77 118/162/77 -f 122/166/68 131/170/68 123/147/68 -f 118/162/76 127/169/76 119/163/76 -f 121/165/78 130/172/78 122/166/78 -f 119/163/79 128/168/79 120/158/79 -f 134/86/80 138/173/80 137/83/80 -f 143/84/81 138/173/81 144/109/81 -f 139/174/80 135/175/80 133/138/80 -f 141/95/82 140/115/82 139/174/82 -f 143/84/83 148/134/83 147/176/83 -f 145/177/83 142/116/83 141/95/83 -f 147/176/83 146/178/83 145/177/83 -f 60/96/84 139/174/84 51/106/84 -f 49/78/85 136/179/85 43/85/85 -f 77/94/86 147/176/86 145/177/86 -f 46/69/64 134/86/64 137/83/64 -f 68/88/87 138/173/87 49/78/87 -f 42/93/88 133/138/88 135/175/88 -f 53/180/89 135/175/89 140/115/89 -f 79/133/51 142/116/51 146/178/51 -f 92/112/86 143/84/86 147/176/86 -f 38/65/1 34/75/1 33/66/1 -f 39/68/33 35/72/33 46/69/33 -f 39/68/3 40/91/3 36/71/3 -f 37/67/34 33/66/34 55/73/34 -f 34/75/1 42/93/1 41/76/1 -f 54/77/35 38/65/35 37/67/35 -f 49/78/36 43/85/36 44/79/36 -f 33/66/37 41/76/37 56/81/37 -f 66/82/90 46/69/90 137/83/90 -f 35/72/3 36/71/3 44/79/3 -f 43/85/91 136/179/91 134/86/91 -f 48/87/37 50/80/37 44/79/37 -f 68/88/92 49/78/92 50/80/92 -f 39/68/35 45/70/35 47/90/35 -f 47/90/34 48/87/34 36/71/34 -f 63/92/93 45/70/93 46/69/93 -f 54/77/33 51/106/33 34/75/33 -f 42/93/36 53/180/36 56/81/36 -f 77/94/86 145/177/86 141/95/86 -f 58/97/94 55/73/94 56/81/94 -f 57/99/95 54/77/95 52/74/95 -f 61/100/96 52/74/96 55/73/96 -f 58/97/97 69/127/97 70/101/97 -f 80/102/47 57/99/47 61/100/47 -f 58/97/48 59/98/48 82/104/48 -f 57/99/98 60/96/98 51/106/98 -f 56/81/99 53/180/99 62/107/99 -f 94/108/51 148/134/51 144/109/51 -f 64/110/100 65/89/100 50/80/100 -f 47/90/101 45/70/101 63/92/101 -f 67/111/102 64/110/102 48/87/102 -f 63/92/55 66/82/55 92/112/55 -f 94/108/56 68/88/56 65/89/56 -f 62/107/103 53/180/103 140/115/103 -f 72/117/3 76/137/3 75/118/3 -f 64/110/104 67/111/104 72/117/104 -f 78/103/63 61/100/63 70/101/63 -f 88/121/60 64/110/60 71/119/60 -f 74/123/61 98/141/61 101/124/61 -f 71/119/6 75/118/6 91/126/6 -f 69/127/1 73/131/1 74/123/1 -f 70/101/61 74/123/61 85/125/61 -f 83/120/61 85/125/61 96/128/61 -f 84/130/6 86/136/6 73/131/6 -f 85/125/62 86/136/62 91/126/62 -f 81/105/60 84/130/60 69/127/60 -f 78/103/59 83/120/59 95/129/59 -f 79/133/105 146/178/105 148/134/105 -f 62/107/56 79/133/56 82/104/56 -f 80/102/55 77/94/55 60/96/55 -f 81/105/48 82/104/48 89/114/48 -f 87/113/47 80/102/47 78/103/47 -f 63/92/106 87/113/106 93/132/106 -f 88/121/48 89/114/48 65/89/48 -f 93/132/63 95/129/63 72/117/63 -f 85/125/3 101/124/3 102/135/3 -f 95/129/61 96/128/61 76/137/61 -f 90/122/6 91/126/6 86/136/6 -f 81/105/60 88/121/60 90/122/60 -f 51/106/64 139/174/64 133/138/64 -f 79/133/56 94/108/56 89/114/56 -f 87/113/55 92/112/55 77/94/55 -f 97/139/1 105/151/1 106/140/1 -f 104/142/62 103/145/62 99/143/62 -f 76/137/3 100/144/3 99/143/3 -f 96/128/61 104/142/61 100/144/61 -f 86/136/6 102/135/6 97/139/6 -f 75/118/6 99/143/6 103/145/6 -f 91/126/1 103/145/1 104/142/1 -f 73/131/1 97/139/1 98/141/1 -f 112/146/65 122/166/65 123/147/65 -f 114/149/6 110/153/6 112/146/6 -f 98/141/61 106/140/61 107/150/61 -f 102/135/6 108/157/6 105/151/6 -f 109/152/3 111/164/3 112/146/3 -f 115/154/66 109/152/66 110/153/66 -f 116/155/67 113/148/67 123/147/67 -f 116/155/61 111/164/61 109/152/61 -f 107/150/61 116/155/61 115/154/61 -f 108/157/62 113/148/62 116/155/62 -f 101/124/66 115/154/66 114/149/66 -f 102/135/6 114/149/6 113/148/6 -f 120/158/107 128/168/107 125/159/107 -f 123/147/69 131/170/69 132/161/69 -f 106/140/70 105/151/70 117/160/70 -f 106/140/108 118/162/108 119/163/108 -f 111/164/72 116/155/72 124/156/72 -f 111/164/73 121/165/73 122/166/73 -f 107/150/74 119/163/74 120/158/74 -f 105/151/109 108/157/109 120/158/109 -f 126/167/62 125/159/62 128/168/62 -f 131/170/62 130/172/62 129/171/62 -f 124/156/76 132/161/76 129/171/76 -f 117/160/77 125/159/77 126/167/77 -f 122/166/107 130/172/107 131/170/107 -f 118/162/76 126/167/76 127/169/76 -f 121/165/78 129/171/78 130/172/78 -f 119/163/79 127/169/79 128/168/79 -f 134/86/80 136/179/80 138/173/80 -f 143/84/110 137/83/110 138/173/110 -f 139/174/80 140/115/80 135/175/80 -f 141/95/111 142/116/111 140/115/111 -f 143/84/83 144/109/83 148/134/83 -f 145/177/83 146/178/83 142/116/83 -f 147/176/83 148/134/83 146/178/83 -f 60/96/112 141/95/112 139/174/112 -f 49/78/113 138/173/113 136/179/113 -f 77/94/42 92/112/42 147/176/42 -f 46/69/64 35/72/64 134/86/64 -f 68/88/114 144/109/114 138/173/114 -f 42/93/88 34/75/88 133/138/88 -f 53/180/89 42/93/89 135/175/89 -f 79/133/51 62/107/51 142/116/51 -f 92/112/42 66/82/42 143/84/42 -f 154/181/1 149/182/1 153/183/1 -f 201/184/115 151/185/115 202/186/115 -f 155/187/3 152/188/3 151/185/3 -f 180/189/3 158/190/3 177/191/3 -f 204/192/116 151/185/116 152/188/116 -f 203/193/117 154/181/117 153/183/117 -f 205/194/118 163/195/118 207/196/118 -f 177/191/119 206/197/119 218/198/119 -f 184/199/120 205/194/120 216/200/120 -f 184/199/1 157/201/1 159/202/1 -f 222/203/121 166/204/121 210/205/121 -f 160/206/3 162/207/3 158/190/3 -f 159/202/1 161/208/1 163/195/1 -f 158/190/122 208/209/122 206/197/122 -f 168/210/3 170/211/3 166/204/3 -f 192/212/123 209/213/123 220/214/123 -f 189/215/3 166/204/3 188/216/3 -f 192/217/1 165/218/1 167/219/1 -f 212/220/124 174/221/124 214/222/124 -f 167/219/1 169/223/1 171/224/1 -f 210/205/125 170/211/125 212/220/125 -f 209/225/126 171/224/126 211/226/126 -f 197/227/1 193/228/1 195/229/1 -f 211/226/127 175/230/127 213/231/127 -f 172/232/3 174/221/3 170/211/3 -f 171/224/1 173/233/1 175/230/1 -f 153/183/1 182/234/1 183/235/1 -f 183/235/1 181/236/1 184/199/1 -f 153/183/128 215/237/128 203/193/128 -f 183/235/129 216/200/129 215/237/129 -f 152/188/130 217/238/130 204/192/130 -f 178/239/131 218/198/131 217/238/131 -f 156/240/3 178/239/3 152/188/3 -f 179/241/3 177/191/3 178/239/3 -f 163/195/1 186/242/1 191/243/1 -f 191/243/1 185/244/1 192/217/1 -f 164/245/3 187/246/3 162/207/3 -f 190/247/3 188/216/3 187/246/3 -f 163/248/132 219/249/132 207/250/132 -f 191/251/133 220/214/133 219/252/133 -f 162/207/134 221/253/134 208/209/134 -f 187/246/135 222/203/135 221/253/135 -f 223/254/136 193/228/136 224/255/136 -f 199/256/137 224/255/137 226/257/137 -f 225/258/138 195/229/138 223/254/138 -f 200/259/3 194/260/3 199/256/3 -f 174/221/3 200/259/3 199/256/3 -f 213/231/139 197/227/139 225/258/139 -f 214/222/140 199/256/140 226/257/140 -f 173/233/1 197/227/1 175/230/1 -f 214/222/141 198/261/141 173/233/141 -f 213/231/142 200/259/142 176/262/142 -f 225/258/143 196/263/143 200/259/143 -f 198/261/144 224/255/144 193/228/144 -f 223/254/145 194/260/145 196/263/145 -f 186/242/146 222/203/146 185/244/146 -f 161/208/147 221/253/147 186/242/147 -f 190/264/148 220/214/148 189/265/148 -f 164/266/149 219/249/149 190/267/149 -f 182/234/150 218/198/150 181/236/150 -f 149/182/151 217/238/151 182/234/151 -f 179/241/152 216/200/152 180/189/152 -f 156/240/153 215/237/153 179/241/153 -f 211/226/154 176/262/154 172/232/154 -f 209/225/155 172/232/155 168/210/155 -f 210/205/156 169/223/156 165/218/156 -f 212/220/157 173/233/157 169/223/157 -f 189/265/158 209/213/158 168/268/158 -f 157/201/159 208/209/159 161/208/159 -f 222/203/160 165/218/160 185/244/160 -f 180/189/161 205/194/161 160/206/161 -f 181/236/162 206/197/162 157/201/162 -f 205/194/163 164/245/163 160/206/163 -f 155/187/164 203/193/164 156/240/164 -f 150/269/165 204/192/165 149/182/165 -f 201/184/166 150/269/166 154/181/166 -f 154/181/1 150/269/1 149/182/1 -f 201/184/167 155/187/167 151/185/167 -f 155/187/3 156/240/3 152/188/3 -f 180/189/3 160/206/3 158/190/3 -f 204/192/168 202/186/168 151/185/168 -f 203/193/169 201/184/169 154/181/169 -f 205/194/170 159/202/170 163/195/170 -f 177/191/171 158/190/171 206/197/171 -f 184/199/172 159/202/172 205/194/172 -f 184/199/1 181/236/1 157/201/1 -f 222/203/173 188/216/173 166/204/173 -f 160/206/3 164/245/3 162/207/3 -f 159/202/1 157/201/1 161/208/1 -f 158/190/174 162/207/174 208/209/174 -f 168/210/3 172/232/3 170/211/3 -f 192/212/175 167/270/175 209/213/175 -f 189/215/3 168/210/3 166/204/3 -f 192/217/1 185/244/1 165/218/1 -f 212/220/176 170/211/176 174/221/176 -f 167/219/1 165/218/1 169/223/1 -f 210/205/177 166/204/177 170/211/177 -f 209/225/178 167/219/178 171/224/178 -f 197/227/1 198/261/1 193/228/1 -f 211/226/179 171/224/179 175/230/179 -f 172/232/3 176/262/3 174/221/3 -f 171/224/1 169/223/1 173/233/1 -f 153/183/1 149/182/1 182/234/1 -f 183/235/1 182/234/1 181/236/1 -f 153/183/180 183/235/180 215/237/180 -f 183/235/181 184/199/181 216/200/181 -f 152/188/182 178/239/182 217/238/182 -f 178/239/183 177/191/183 218/198/183 -f 156/240/3 179/241/3 178/239/3 -f 179/241/3 180/189/3 177/191/3 -f 163/195/1 161/208/1 186/242/1 -f 191/243/1 186/242/1 185/244/1 -f 164/245/3 190/247/3 187/246/3 -f 190/247/3 189/215/3 188/216/3 -f 163/248/184 191/271/184 219/249/184 -f 191/251/185 192/212/185 220/214/185 -f 162/207/186 187/246/186 221/253/186 -f 187/246/187 188/216/187 222/203/187 -f 223/254/188 195/229/188 193/228/188 -f 199/256/189 194/260/189 224/255/189 -f 225/258/190 197/227/190 195/229/190 -f 200/259/3 196/263/3 194/260/3 -f 174/221/3 176/262/3 200/259/3 -f 213/231/191 175/230/191 197/227/191 -f 214/222/192 174/221/192 199/256/192 -f 173/233/1 198/261/1 197/227/1 -f 214/222/193 226/257/193 198/261/193 -f 213/231/194 225/258/194 200/259/194 -f 225/258/195 223/254/195 196/263/195 -f 198/261/196 226/257/196 224/255/196 -f 223/254/197 224/255/197 194/260/197 -f 186/242/198 221/253/198 222/203/198 -f 161/208/199 208/209/199 221/253/199 -f 190/264/200 219/252/200 220/214/200 -f 164/266/201 207/250/201 219/249/201 -f 182/234/202 217/238/202 218/198/202 -f 149/182/203 204/192/203 217/238/203 -f 179/241/204 215/237/204 216/200/204 -f 156/240/205 203/193/205 215/237/205 -f 211/226/206 213/231/206 176/262/206 -f 209/225/207 211/226/207 172/232/207 -f 210/205/208 212/220/208 169/223/208 -f 212/220/209 214/222/209 173/233/209 -f 189/265/210 220/214/210 209/213/210 -f 157/201/211 206/197/211 208/209/211 -f 222/203/212 210/205/212 165/218/212 -f 180/189/213 216/200/213 205/194/213 -f 181/236/214 218/198/214 206/197/214 -f 205/194/215 207/196/215 164/245/215 -f 155/187/216 201/184/216 203/193/216 -f 150/269/217 202/186/217 204/192/217 -f 201/184/218 202/186/218 150/269/218 -f 232/272/1 227/273/1 231/274/1 -f 270/275/1 296/276/1 306/277/1 -f 233/278/3 230/279/3 229/280/3 -f 231/274/219 230/279/219 234/281/219 -f 228/282/220 230/283/220 227/284/220 -f 261/285/1 245/286/1 243/287/1 -f 291/288/3 241/289/3 242/290/3 -f 233/278/221 238/291/221 234/281/221 -f 232/272/222 235/292/222 236/293/222 -f 234/281/223 235/292/223 231/274/223 -f 241/294/224 239/295/224 242/296/224 -f 256/297/225 247/298/225 245/286/225 -f 294/299/1 240/300/1 293/301/1 -f 294/299/1 511/302/1 516/303/1 -f 246/304/226 243/287/226 245/286/226 -f 247/298/227 325/305/227 245/286/227 -f 249/306/1 310/307/1 296/276/1 -f 275/308/228 249/309/228 270/310/228 -f 261/285/229 244/311/229 286/312/229 -f 286/312/3 246/304/3 285/313/3 -f 229/280/3 281/314/3 233/278/3 -f 290/315/3 282/316/3 281/314/3 -f 282/316/3 288/317/3 283/318/3 -f 283/318/3 287/319/3 284/320/3 -f 284/320/3 286/312/3 285/313/3 -f 292/321/3 280/322/3 297/323/3 -f 297/323/3 279/324/3 298/325/3 -f 298/325/3 278/326/3 299/327/3 -f 299/327/3 277/328/3 300/329/3 -f 300/329/3 276/330/3 301/331/3 -f 228/282/230 290/332/230 229/333/230 -f 265/334/231 289/335/231 290/332/231 -f 264/336/232 288/317/232 289/337/232 -f 263/338/233 287/319/233 288/317/233 -f 262/339/234 286/312/234 287/319/234 -f 237/340/235 281/314/235 280/322/235 -f 281/314/236 279/324/236 280/322/236 -f 282/316/237 278/326/237 279/324/237 -f 283/318/238 277/328/238 278/326/238 -f 277/328/239 285/313/239 276/330/239 -f 241/294/240 266/341/240 240/342/240 -f 271/343/240 267/344/240 266/341/240 -f 272/345/240 268/346/240 267/344/240 -f 273/347/240 269/348/240 268/346/240 -f 274/349/240 270/310/240 269/348/240 -f 236/293/241 260/350/241 232/272/241 -f 260/350/242 252/351/242 259/352/242 -f 259/352/243 253/353/243 258/354/243 -f 258/354/244 254/355/244 257/356/244 -f 254/355/245 256/297/245 257/356/245 -f 228/357/1 260/350/1 265/358/1 -f 265/358/1 259/352/1 264/336/1 -f 259/352/1 263/338/1 264/336/1 -f 258/354/1 262/339/1 263/338/1 -f 257/356/1 261/285/1 262/339/1 -f 240/300/1 302/359/1 293/301/1 -f 266/360/1 303/361/1 302/359/1 -f 267/362/1 304/363/1 303/361/1 -f 268/364/1 305/365/1 304/363/1 -f 269/366/1 306/277/1 305/365/1 -f 305/365/1 255/367/1 254/355/1 -f 304/363/1 254/355/1 253/353/1 -f 303/361/1 253/353/1 252/351/1 -f 302/359/1 252/351/1 251/368/1 -f 293/301/1 251/368/1 236/293/1 -f 274/369/3 301/331/3 275/370/3 -f 273/371/3 300/329/3 274/369/3 -f 272/372/3 299/327/3 273/371/3 -f 271/373/3 298/325/3 272/372/3 -f 241/289/3 297/323/3 271/373/3 -f 275/370/3 295/374/3 250/375/3 -f 247/298/246 295/374/246 248/376/246 -f 239/295/247 514/377/247 242/296/247 -f 235/292/1 293/301/1 236/293/1 -f 238/291/3 292/321/3 291/288/3 -f 306/277/1 247/298/1 255/367/1 -f 310/307/1 322/378/1 320/379/1 -f 296/276/248 309/380/248 295/374/248 -f 250/375/3 309/380/3 308/381/3 -f 250/382/249 307/383/249 249/384/249 -f 312/385/250 315/386/250 311/387/250 -f 307/388/1 314/389/1 310/307/1 -f 308/381/3 313/390/3 312/391/3 -f 308/392/251 311/387/251 307/393/251 -f 318/394/252 316/395/252 317/396/252 -f 318/397/1 322/378/1 314/389/1 -f 314/389/1 315/398/1 318/397/1 -f 313/390/3 316/399/3 312/391/3 -f 320/400/253 321/401/253 319/402/253 -f 322/403/254 323/404/254 321/401/254 -f 310/307/255 319/405/255 309/380/255 -f 317/406/3 321/407/3 323/408/3 -f 309/380/3 321/407/3 313/390/3 -f 317/406/256 324/409/256 318/397/256 -f 341/410/257 330/411/257 332/412/257 -f 246/304/61 447/413/61 448/414/61 -f 248/376/258 326/415/258 328/416/258 -f 248/376/259 327/417/259 247/298/259 -f 329/418/260 335/419/260 333/420/260 -f 341/410/261 331/421/261 343/422/261 -f 344/423/262 330/424/262 342/425/262 -f 343/422/263 329/418/263 344/426/263 -f 336/427/264 339/428/264 335/419/264 -f 330/411/257 336/427/257 332/412/257 -f 332/412/261 335/419/261 331/421/261 -f 329/429/265 334/430/265 330/424/265 -f 337/431/266 340/432/266 338/433/266 -f 358/434/1 345/435/1 357/436/1 -f 333/420/267 339/428/267 337/437/267 -f 334/438/268 340/439/268 336/427/268 -f 327/417/269 344/426/269 325/305/269 -f 325/440/270 342/425/270 326/441/270 -f 328/416/261 343/422/261 327/417/261 -f 328/416/271 342/442/271 341/410/271 -f 362/443/3 352/444/3 361/445/3 -f 357/446/272 346/447/272 359/448/272 -f 360/449/3 346/450/3 348/451/3 -f 360/452/273 347/453/273 358/454/273 -f 349/455/1 355/456/1 353/457/1 -f 361/458/274 351/459/274 363/460/274 -f 364/461/275 350/462/275 362/463/275 -f 364/464/1 351/465/1 349/455/1 -f 353/466/276 356/467/276 354/468/276 -f 350/469/3 356/467/3 352/444/3 -f 352/470/277 355/471/277 351/459/277 -f 354/468/278 367/472/278 353/466/278 -f 338/433/273 358/454/273 337/431/273 -f 338/473/3 359/474/3 360/449/3 -f 333/475/279 359/448/279 334/476/279 -f 337/437/1 357/436/1 333/420/1 -f 345/435/1 363/477/1 364/464/1 -f 345/478/280 362/463/280 346/447/280 -f 348/479/274 363/460/274 347/453/274 -f 346/450/3 361/445/3 348/451/3 -f 373/480/1 371/481/1 369/482/1 -f 353/457/1 365/483/1 349/455/1 -f 354/468/3 366/484/3 368/485/3 -f 349/486/281 366/487/281 350/488/281 -f 369/482/282 372/489/282 370/490/282 -f 375/491/283 371/481/283 374/492/283 -f 369/482/6 452/493/6 451/494/6 -f 376/495/3 372/489/3 375/491/3 -f 366/484/3 375/491/3 368/485/3 -f 365/496/284 376/497/284 366/487/284 -f 368/485/283 374/492/283 367/472/283 -f 365/483/1 374/492/1 373/480/1 -f 382/498/285 389/499/285 392/500/285 -f 386/501/286 395/502/286 385/503/286 -f 385/504/287 388/505/287 378/506/287 -f 381/507/288 392/500/288 391/508/288 -f 384/509/289 391/508/289 394/510/289 -f 378/506/290 387/511/290 377/512/290 -f 380/513/291 387/511/291 390/514/291 -f 384/509/292 393/515/292 383/516/292 -f 383/517/293 396/518/293 386/519/293 -f 379/520/294 390/514/294 389/499/294 -f 377/512/3 398/521/3 378/506/3 -f 390/514/6 387/511/6 395/522/6 -f 397/523/295 408/524/295 398/521/295 -f 383/516/296 406/525/296 403/526/296 -f 379/520/294 400/527/294 380/513/294 -f 380/513/297 397/523/297 377/512/297 -f 381/507/298 402/528/298 382/498/298 -f 384/509/1 401/529/1 381/507/1 -f 383/516/299 404/530/299 384/509/299 -f 378/506/300 405/531/300 385/504/300 -f 386/532/301 405/531/301 406/525/301 -f 382/498/285 399/533/285 379/520/285 -f 407/534/3 418/535/3 408/524/3 -f 397/523/302 410/536/302 407/534/302 -f 400/527/303 409/537/303 410/536/303 -f 402/528/304 409/537/304 399/533/304 -f 401/529/305 412/538/305 402/528/305 -f 401/529/306 414/539/306 411/540/306 -f 404/530/307 413/541/307 414/539/307 -f 403/526/308 416/542/308 413/541/308 -f 405/531/309 416/542/309 406/525/309 -f 398/521/310 415/543/310 405/531/310 -f 418/535/61 427/544/61 428/545/61 -f 410/536/297 417/546/297 407/534/297 -f 409/537/294 420/547/294 410/536/294 -f 412/538/285 419/548/285 409/537/285 -f 411/540/298 422/549/298 412/538/298 -f 414/539/1 421/550/1 411/540/1 -f 414/539/299 423/551/299 424/552/299 -f 507/553/311 490/554/311 492/555/311 -f 505/556/312 487/557/312 490/554/312 -f 408/524/313 425/558/313 415/543/313 -f 427/544/314 438/559/314 428/545/314 -f 420/547/61 427/544/61 417/546/61 -f 419/548/61 430/560/61 420/547/61 -f 419/548/61 432/561/61 429/562/61 -f 422/549/61 431/563/61 432/561/61 -f 424/552/61 431/563/61 421/550/61 -f 423/551/315 434/564/315 424/552/315 -f 426/565/316 433/566/316 423/551/316 -f 426/565/317 435/567/317 436/568/317 -f 425/558/318 428/545/318 435/567/318 -f 446/569/61 445/570/61 439/571/61 -f 430/560/319 437/572/319 427/544/319 -f 429/562/320 440/573/320 430/560/320 -f 429/562/321 442/574/321 439/571/321 -f 432/561/322 441/575/322 442/574/322 -f 434/564/323 441/575/323 431/563/323 -f 433/566/324 444/576/324 434/564/324 -f 436/568/325 443/577/325 433/566/325 -f 436/568/326 445/570/326 446/569/326 -f 435/567/327 438/559/327 445/570/327 -f 452/493/328 459/578/328 451/494/328 -f 246/304/329 450/579/329 326/580/329 -f 325/581/6 450/579/6 449/582/6 -f 325/581/329 447/413/329 245/286/329 -f 451/494/1 461/583/1 453/584/1 -f 376/585/6 453/586/6 454/587/6 -f 369/482/330 453/586/330 373/588/330 -f 376/585/330 452/493/330 370/490/330 -f 455/589/331 458/590/331 456/591/331 -f 461/592/332 468/593/332 462/594/332 -f 450/595/3 456/596/3 458/597/3 -f 449/598/1 455/599/1 447/413/1 -f 453/600/333 462/601/333 454/602/333 -f 450/603/334 457/604/334 449/605/334 -f 452/493/3 462/606/3 460/607/3 -f 447/413/335 456/608/335 448/414/335 -f 465/609/1 473/610/1 467/611/1 -f 462/612/3 466/613/3 460/614/3 -f 461/583/1 465/609/1 467/611/1 -f 455/615/336 464/616/336 456/608/336 -f 460/617/337 465/618/337 459/619/337 -f 472/620/338 477/621/338 471/622/338 -f 466/623/339 471/624/339 465/618/339 -f 463/625/340 470/626/340 464/627/340 -f 467/628/341 474/629/341 468/593/341 -f 466/630/3 474/631/3 472/632/3 -f 475/633/342 482/634/342 476/635/342 -f 469/636/343 476/635/343 470/637/343 -f 473/638/344 480/639/344 474/629/344 -f 472/640/3 480/641/3 478/642/3 -f 471/643/1 479/644/1 473/610/1 -f 485/645/345 484/646/345 486/647/345 -f 479/648/346 486/649/346 480/639/346 -f 478/642/347 486/650/347 484/651/347 -f 477/652/348 485/653/348 479/644/348 -f 477/621/349 484/654/349 483/655/349 -f 502/656/350 497/657/350 501/658/350 -f 500/659/1 496/660/1 499/661/1 -f 508/662/351 487/557/351 506/663/351 -f 507/553/352 491/664/352 509/665/352 -f 508/662/353 488/666/353 489/667/353 -f 509/665/354 488/666/354 510/668/354 -f 495/669/355 496/660/355 493/670/355 -f 494/671/355 498/672/355 495/669/355 -f 499/661/350 498/672/350 502/656/350 -f 503/673/3 497/657/3 494/671/3 -f 503/673/356 495/669/356 504/674/356 -f 504/674/356 493/670/356 500/659/356 -f 489/667/357 500/659/357 487/557/357 -f 489/667/357 503/673/357 504/674/357 -f 491/664/358 503/673/358 488/666/358 -f 492/555/359 499/661/359 502/656/359 -f 490/554/360 500/659/360 499/661/360 -f 492/555/359 501/658/359 491/664/359 -f 415/543/3 509/665/3 510/668/3 -f 416/542/361 510/668/361 508/662/361 -f 426/565/362 509/665/362 425/558/362 -f 416/542/363 506/663/363 413/541/363 -f 413/541/1 505/556/1 423/551/1 -f 426/565/364 505/556/364 507/553/364 -f 515/675/365 518/676/365 512/677/365 -f 516/678/366 519/679/366 513/680/366 -f 294/299/1 513/681/1 239/682/1 -f 238/291/367 511/302/367 235/292/367 -f 291/288/3 514/683/3 515/684/3 -f 291/288/3 512/685/3 238/291/3 -f 521/686/368 519/687/368 522/688/368 -f 518/689/368 522/688/368 517/690/368 -f 513/680/369 520/691/369 514/692/369 -f 516/678/366 517/693/366 522/694/366 -f 512/677/370 517/693/370 511/695/370 -f 515/675/365 520/691/365 521/696/365 -f 526/697/371 524/698/371 525/699/371 -f 528/700/3 524/698/3 527/701/3 -f 232/272/1 228/357/1 227/273/1 -f 270/275/1 249/306/1 296/276/1 -f 233/278/3 234/281/3 230/279/3 -f 231/274/219 227/273/219 230/279/219 -f 228/282/220 229/333/220 230/283/220 -f 261/285/1 256/297/1 245/286/1 -f 291/288/3 292/321/3 241/289/3 -f 233/278/221 237/340/221 238/291/221 -f 232/272/222 231/274/222 235/292/222 -f 234/281/223 238/291/223 235/292/223 -f 241/294/224 240/342/224 239/295/224 -f 256/297/372 255/367/372 247/298/372 -f 294/299/1 239/682/1 240/300/1 -f 294/299/1 235/292/1 511/302/1 -f 246/304/226 244/311/226 243/287/226 -f 247/298/373 327/417/373 325/305/373 -f 249/306/1 307/388/1 310/307/1 -f 275/308/228 250/702/228 249/309/228 -f 261/285/229 243/287/229 244/311/229 -f 286/312/3 244/311/3 246/304/3 -f 229/280/3 290/315/3 281/314/3 -f 290/315/3 289/337/3 282/316/3 -f 282/316/3 289/337/3 288/317/3 -f 283/318/3 288/317/3 287/319/3 -f 284/320/3 287/319/3 286/312/3 -f 292/321/3 237/340/3 280/322/3 -f 297/323/3 280/322/3 279/324/3 -f 298/325/3 279/324/3 278/326/3 -f 299/327/3 278/326/3 277/328/3 -f 300/329/3 277/328/3 276/330/3 -f 228/282/230 265/334/230 290/332/230 -f 265/334/231 264/703/231 289/335/231 -f 264/336/232 263/338/232 288/317/232 -f 263/338/233 262/339/233 287/319/233 -f 262/339/234 261/285/234 286/312/234 -f 237/340/235 233/278/235 281/314/235 -f 281/314/236 282/316/236 279/324/236 -f 282/316/374 283/318/374 278/326/374 -f 283/318/238 284/320/238 277/328/238 -f 277/328/239 284/320/239 285/313/239 -f 241/294/240 271/343/240 266/341/240 -f 271/343/240 272/345/240 267/344/240 -f 272/345/240 273/347/240 268/346/240 -f 273/347/240 274/349/240 269/348/240 -f 274/349/240 275/308/240 270/310/240 -f 236/293/241 251/368/241 260/350/241 -f 260/350/242 251/368/242 252/351/242 -f 259/352/375 252/351/375 253/353/375 -f 258/354/244 253/353/244 254/355/244 -f 254/355/245 255/367/245 256/297/245 -f 228/357/1 232/272/1 260/350/1 -f 265/358/1 260/350/1 259/352/1 -f 259/352/1 258/354/1 263/338/1 -f 258/354/1 257/356/1 262/339/1 -f 257/356/1 256/297/1 261/285/1 -f 240/300/1 266/360/1 302/359/1 -f 266/360/1 267/362/1 303/361/1 -f 267/362/1 268/364/1 304/363/1 -f 268/364/1 269/366/1 305/365/1 -f 269/366/1 270/275/1 306/277/1 -f 305/365/1 306/277/1 255/367/1 -f 304/363/1 305/365/1 254/355/1 -f 303/361/1 304/363/1 253/353/1 -f 302/359/1 303/361/1 252/351/1 -f 293/301/1 302/359/1 251/368/1 -f 274/369/3 300/329/3 301/331/3 -f 273/371/3 299/327/3 300/329/3 -f 272/372/3 298/325/3 299/327/3 -f 271/373/3 297/323/3 298/325/3 -f 241/289/3 292/321/3 297/323/3 -f 275/370/3 301/331/3 295/374/3 -f 247/298/246 296/276/246 295/374/246 -f 239/295/224 513/704/224 514/377/224 -f 235/292/1 294/299/1 293/301/1 -f 238/291/3 237/340/3 292/321/3 -f 306/277/1 296/276/1 247/298/1 -f 310/307/1 314/389/1 322/378/1 -f 296/276/248 310/307/248 309/380/248 -f 250/375/3 295/374/3 309/380/3 -f 250/382/249 308/705/249 307/383/249 -f 312/385/250 316/706/250 315/386/250 -f 307/388/1 311/707/1 314/389/1 -f 308/381/3 309/380/3 313/390/3 -f 308/392/251 312/385/251 311/387/251 -f 318/394/252 315/708/252 316/395/252 -f 318/397/1 324/409/1 322/378/1 -f 314/389/1 311/707/1 315/398/1 -f 313/390/3 317/406/3 316/399/3 -f 320/400/253 322/403/253 321/401/253 -f 322/403/254 324/709/254 323/404/254 -f 310/307/255 320/379/255 319/405/255 -f 317/406/3 313/390/3 321/407/3 -f 309/380/3 319/405/3 321/407/3 -f 317/406/256 323/408/256 324/409/256 -f 341/410/376 342/442/376 330/411/376 -f 246/304/6 245/286/6 447/413/6 -f 248/376/377 246/304/377 326/415/377 -f 248/376/259 328/416/259 327/417/259 -f 329/418/378 331/421/378 335/419/378 -f 341/410/261 332/412/261 331/421/261 -f 344/423/262 329/429/262 330/424/262 -f 343/422/378 331/421/378 329/418/378 -f 336/427/264 340/439/264 339/428/264 -f 330/411/379 334/710/379 336/427/379 -f 332/412/261 336/427/261 335/419/261 -f 329/429/265 333/711/265 334/430/265 -f 337/431/266 339/712/266 340/432/266 -f 358/434/1 347/713/1 345/435/1 -f 333/420/380 335/419/380 339/428/380 -f 334/438/381 338/473/381 340/439/381 -f 327/417/382 343/422/382 344/426/382 -f 325/440/270 344/423/270 342/425/270 -f 328/416/261 341/410/261 343/422/261 -f 328/416/383 326/415/383 342/442/383 -f 362/443/3 350/469/3 352/444/3 -f 357/446/272 345/478/272 346/447/272 -f 360/449/3 359/474/3 346/450/3 -f 360/452/273 348/479/273 347/453/273 -f 349/455/1 351/465/1 355/456/1 -f 361/458/274 352/470/274 351/459/274 -f 364/461/275 349/714/275 350/462/275 -f 364/464/1 363/477/1 351/465/1 -f 353/466/276 355/456/276 356/467/276 -f 350/469/3 354/468/3 356/467/3 -f 352/470/277 356/715/277 355/471/277 -f 354/468/278 368/485/278 367/472/278 -f 338/433/273 360/452/273 358/454/273 -f 338/473/3 334/438/3 359/474/3 -f 333/475/279 357/446/279 359/448/279 -f 337/437/1 358/434/1 357/436/1 -f 345/435/1 347/713/1 363/477/1 -f 345/478/280 364/461/280 362/463/280 -f 348/479/274 361/458/274 363/460/274 -f 346/450/3 362/443/3 361/445/3 -f 373/480/1 374/492/1 371/481/1 -f 353/457/1 367/716/1 365/483/1 -f 354/468/3 350/469/3 366/484/3 -f 349/486/281 365/496/281 366/487/281 -f 369/482/282 371/481/282 372/489/282 -f 375/491/283 372/489/283 371/481/283 -f 369/482/61 370/490/61 452/493/61 -f 376/495/3 370/490/3 372/489/3 -f 366/484/3 376/717/3 375/491/3 -f 365/496/284 373/718/284 376/497/284 -f 368/485/283 375/491/283 374/492/283 -f 365/483/1 367/716/1 374/492/1 -f 382/498/285 379/520/285 389/499/285 -f 386/501/286 396/719/286 395/502/286 -f 385/504/287 395/522/287 388/505/287 -f 381/507/288 382/498/288 392/500/288 -f 384/509/289 381/507/289 391/508/289 -f 378/506/290 388/505/290 387/511/290 -f 380/513/291 377/512/291 387/511/291 -f 384/509/292 394/510/292 393/515/292 -f 383/517/293 393/720/293 396/518/293 -f 379/520/294 380/513/294 390/514/294 -f 377/512/3 397/523/3 398/521/3 -f 387/511/6 388/505/6 395/522/6 -f 395/522/6 396/721/6 389/499/6 -f 396/721/6 393/515/6 389/499/6 -f 393/515/6 394/510/6 391/508/6 -f 391/508/6 392/500/6 393/515/6 -f 392/500/6 389/499/6 393/515/6 -f 389/499/6 390/514/6 395/522/6 -f 397/523/384 407/534/384 408/524/384 -f 383/516/385 386/532/385 406/525/385 -f 379/520/294 399/533/294 400/527/294 -f 380/513/297 400/527/297 397/523/297 -f 381/507/298 401/529/298 402/528/298 -f 384/509/1 404/530/1 401/529/1 -f 383/516/299 403/526/299 404/530/299 -f 378/506/386 398/521/386 405/531/386 -f 386/532/301 385/504/301 405/531/301 -f 382/498/285 402/528/285 399/533/285 -f 407/534/3 417/546/3 418/535/3 -f 397/523/387 400/527/387 410/536/387 -f 400/527/303 399/533/303 409/537/303 -f 402/528/388 412/538/388 409/537/388 -f 401/529/389 411/540/389 412/538/389 -f 401/529/390 404/530/390 414/539/390 -f 404/530/391 403/526/391 413/541/391 -f 403/526/392 406/525/392 416/542/392 -f 405/531/309 415/543/309 416/542/309 -f 398/521/393 408/524/393 415/543/393 -f 418/535/61 417/546/61 427/544/61 -f 410/536/297 420/547/297 417/546/297 -f 409/537/294 419/548/294 420/547/294 -f 412/538/285 422/549/285 419/548/285 -f 411/540/298 421/550/298 422/549/298 -f 414/539/1 424/552/1 421/550/1 -f 414/539/394 413/541/394 423/551/394 -f 507/553/395 505/556/395 490/554/395 -f 505/556/396 506/663/396 487/557/396 -f 408/524/397 418/535/397 425/558/397 -f 427/544/314 437/572/314 438/559/314 -f 420/547/61 430/560/61 427/544/61 -f 419/548/61 429/562/61 430/560/61 -f 419/548/61 422/549/61 432/561/61 -f 422/549/61 421/550/61 431/563/61 -f 424/552/61 434/564/61 431/563/61 -f 423/551/398 433/566/398 434/564/398 -f 426/565/316 436/568/316 433/566/316 -f 426/565/317 425/558/317 435/567/317 -f 425/558/399 418/535/399 428/545/399 -f 445/570/61 438/559/61 437/572/61 -f 437/572/61 440/573/61 445/570/61 -f 440/573/61 439/571/61 445/570/61 -f 439/571/61 442/574/61 443/577/61 -f 442/574/61 441/575/61 443/577/61 -f 441/575/61 444/576/61 443/577/61 -f 443/577/61 446/569/61 439/571/61 -f 430/560/319 440/573/319 437/572/319 -f 429/562/320 439/571/320 440/573/320 -f 429/562/321 432/561/321 442/574/321 -f 432/561/322 431/563/322 441/575/322 -f 434/564/323 444/576/323 441/575/323 -f 433/566/324 443/577/324 444/576/324 -f 436/568/325 446/569/325 443/577/325 -f 436/568/326 435/567/326 445/570/326 -f 435/567/327 428/545/327 438/559/327 -f 452/493/328 460/607/328 459/578/328 -f 246/304/329 448/414/329 450/579/329 -f 325/581/6 326/580/6 450/579/6 -f 325/581/329 449/582/329 447/413/329 -f 451/494/1 459/722/1 461/583/1 -f 376/585/6 373/588/6 453/586/6 -f 369/482/330 451/494/330 453/586/330 -f 376/585/330 454/587/330 452/493/330 -f 455/589/331 457/723/331 458/590/331 -f 461/592/332 467/628/332 468/593/332 -f 450/595/3 448/414/3 456/596/3 -f 449/598/1 457/724/1 455/599/1 -f 453/600/333 461/725/333 462/601/333 -f 450/603/334 458/726/334 457/604/334 -f 452/493/3 454/727/3 462/606/3 -f 447/413/335 455/615/335 456/608/335 -f 465/609/1 471/643/1 473/610/1 -f 462/612/3 468/728/3 466/613/3 -f 461/583/1 459/722/1 465/609/1 -f 455/615/336 463/729/336 464/616/336 -f 460/617/337 466/623/337 465/618/337 -f 472/620/338 478/730/338 477/621/338 -f 466/623/339 472/731/339 471/624/339 -f 463/625/340 469/732/340 470/626/340 -f 467/628/341 473/638/341 474/629/341 -f 466/630/3 468/733/3 474/631/3 -f 475/633/342 481/734/342 482/634/342 -f 469/636/343 475/633/343 476/635/343 -f 473/638/344 479/648/344 480/639/344 -f 472/640/3 474/631/3 480/641/3 -f 471/643/1 477/652/1 479/644/1 -f 485/645/345 483/735/345 484/646/345 -f 479/648/346 485/736/346 486/649/346 -f 478/642/400 480/641/400 486/650/400 -f 477/652/401 483/737/401 485/653/401 -f 477/621/402 478/730/402 484/654/402 -f 502/656/403 498/672/403 497/657/403 -f 500/659/1 493/670/1 496/660/1 -f 508/662/353 489/667/353 487/557/353 -f 507/553/311 492/555/311 491/664/311 -f 508/662/404 510/668/404 488/666/404 -f 509/665/405 491/664/405 488/666/405 -f 495/669/355 498/672/355 496/660/355 -f 494/671/355 497/657/355 498/672/355 -f 499/661/403 496/660/403 498/672/403 -f 503/673/3 501/658/3 497/657/3 -f 503/673/356 494/671/356 495/669/356 -f 504/674/356 495/669/356 493/670/356 -f 489/667/357 504/674/357 500/659/357 -f 489/667/357 488/666/357 503/673/357 -f 491/664/406 501/658/406 503/673/406 -f 492/555/359 490/554/359 499/661/359 -f 490/554/407 487/557/407 500/659/407 -f 492/555/359 502/656/359 501/658/359 -f 415/543/3 425/558/3 509/665/3 -f 416/542/408 415/543/408 510/668/408 -f 426/565/409 507/553/409 509/665/409 -f 416/542/410 508/662/410 506/663/410 -f 413/541/1 506/663/1 505/556/1 -f 426/565/411 423/551/411 505/556/411 -f 515/675/365 521/696/365 518/676/365 -f 516/678/366 522/694/366 519/679/366 -f 294/299/1 516/303/1 513/681/1 -f 238/291/367 512/685/367 511/302/367 -f 291/288/3 242/290/3 514/683/3 -f 291/288/3 515/684/3 512/685/3 -f 521/686/368 520/738/368 519/687/368 -f 518/689/368 521/686/368 522/688/368 -f 513/680/369 519/679/369 520/691/369 -f 516/678/366 511/695/366 517/693/366 -f 512/677/370 518/676/370 517/693/370 -f 515/675/365 514/692/365 520/691/365 -f 526/697/412 523/739/412 524/698/412 -f 528/700/3 525/699/3 524/698/3 -f 581/740/1 530/741/1 582/742/1 -f 535/743/413 608/744/413 607/745/413 -f 583/746/3 532/747/3 584/748/3 -f 533/749/414 610/750/414 609/751/414 -f 566/752/1 593/753/1 600/754/1 -f 535/743/3 586/755/3 583/746/3 -f 546/756/415 613/757/415 616/758/415 -f 581/740/1 537/759/1 585/760/1 -f 536/761/416 612/762/416 609/751/416 -f 607/745/417 538/763/417 611/764/417 -f 634/765/418 542/766/418 587/767/418 -f 547/768/1 587/767/1 590/769/1 -f 615/770/419 544/771/419 614/772/419 -f 589/773/3 543/774/3 588/775/3 -f 592/776/3 545/777/3 589/773/3 -f 618/778/420 548/779/420 615/770/420 -f 551/780/1 590/769/1 591/781/1 -f 617/782/421 546/756/421 616/758/421 -f 611/764/422 550/783/422 617/782/422 -f 537/759/1 591/781/1 585/760/1 -f 612/762/420 552/784/420 618/778/420 -f 586/755/3 549/785/3 592/776/3 -f 628/786/423 557/787/423 622/788/423 -f 626/789/424 553/790/424 620/791/424 -f 625/792/425 555/793/425 619/794/425 -f 599/795/3 556/796/3 594/797/3 -f 621/798/426 563/799/426 623/800/426 -f 602/801/3 560/802/3 596/803/3 -f 627/804/427 559/805/427 621/798/427 -f 572/806/1 595/807/1 601/808/1 -f 632/809/428 573/810/428 630/811/428 -f 558/812/1 597/813/1 595/807/1 -f 622/788/429 561/814/429 624/815/429 -f 596/803/3 564/816/3 598/817/3 -f 532/747/3 599/795/3 584/748/3 -f 531/818/430 625/792/430 608/744/430 -f 529/819/424 626/789/424 610/750/424 -f 582/742/1 566/752/1 600/754/1 -f 593/753/1 572/806/1 601/808/1 -f 619/794/431 571/820/431 627/804/431 -f 556/796/3 602/801/3 594/797/3 -f 620/791/423 570/821/423 628/786/423 -f 633/822/432 575/823/432 604/824/432 -f 606/825/3 576/826/3 604/824/3 -f 631/827/433 575/823/433 629/828/433 -f 605/829/1 574/830/1 603/831/1 -f 597/813/1 580/832/1 605/829/1 -f 623/800/434 579/833/434 631/827/434 -f 598/817/3 577/834/3 606/825/3 -f 624/815/435 578/835/435 632/809/435 -f 598/817/3 579/833/3 563/799/3 -f 597/813/1 578/835/1 561/814/1 -f 605/829/1 573/810/1 578/835/1 -f 606/825/3 575/823/3 579/833/3 -f 630/811/436 604/824/436 576/826/436 -f 594/797/3 571/820/3 555/793/3 -f 553/790/1 601/808/1 570/821/1 -f 529/819/1 600/754/1 565/836/1 -f 584/748/3 568/837/3 531/818/3 -f 559/805/3 598/817/3 563/799/3 -f 595/807/1 561/814/1 557/787/1 -f 601/808/1 557/787/1 570/821/1 -f 571/820/3 596/803/3 559/805/3 -f 568/837/3 594/797/3 555/793/3 -f 540/838/3 592/776/3 552/784/3 -f 585/760/1 550/783/1 538/763/1 -f 591/781/1 546/756/1 550/783/1 -f 552/784/3 589/773/3 548/779/3 -f 548/779/3 588/775/3 544/771/3 -f 590/769/1 542/766/1 546/756/1 -f 614/772/437 587/767/437 541/839/437 -f 534/840/1 585/760/1 538/763/1 -f 583/746/3 540/838/3 536/761/3 -f 600/754/1 553/790/1 565/836/1 -f 583/746/3 531/818/3 535/743/3 -f 581/740/1 529/819/1 533/749/1 -f 588/775/438 614/772/438 544/771/438 -f 603/831/439 630/811/439 573/810/439 -f 624/815/440 577/834/440 564/816/440 -f 623/800/441 580/832/441 562/841/441 -f 631/827/442 574/830/442 580/832/442 -f 574/830/443 633/822/443 603/831/443 -f 620/791/444 569/842/444 556/796/444 -f 619/794/445 572/806/445 554/843/445 -f 532/747/446 626/789/446 567/844/446 -f 530/741/447 625/792/447 566/752/447 -f 622/788/448 564/816/448 560/802/448 -f 632/809/449 576/826/449 577/834/449 -f 627/804/450 558/812/450 572/806/450 -f 621/798/451 562/841/451 558/812/451 -f 625/792/452 554/843/452 566/752/452 -f 626/789/446 556/796/446 567/844/446 -f 628/786/453 560/802/453 569/842/453 -f 612/762/454 551/780/454 537/759/454 -f 611/764/455 549/785/455 539/845/455 -f 617/782/456 545/777/456 549/785/456 -f 618/778/454 547/768/454 551/780/454 -f 615/770/457 541/839/457 547/768/457 -f 543/774/458 634/765/458 588/775/458 -f 607/745/459 539/845/459 535/743/459 -f 533/749/460 612/762/460 537/759/460 -f 545/777/461 613/757/461 543/774/461 -f 536/761/462 610/750/462 532/747/462 -f 534/840/463 608/744/463 530/741/463 -f 581/740/1 534/840/1 530/741/1 -f 535/743/413 531/818/413 608/744/413 -f 583/746/3 536/761/3 532/747/3 -f 533/749/414 529/819/414 610/750/414 -f 566/752/1 554/843/1 593/753/1 -f 535/743/3 539/845/3 586/755/3 -f 546/756/415 542/766/415 613/757/415 -f 581/740/1 533/749/1 537/759/1 -f 536/761/416 540/838/416 612/762/416 -f 607/745/417 534/840/417 538/763/417 -f 634/765/418 613/757/418 542/766/418 -f 547/768/1 541/839/1 587/767/1 -f 615/770/419 548/779/419 544/771/419 -f 589/773/3 545/777/3 543/774/3 -f 592/776/3 549/785/3 545/777/3 -f 618/778/420 552/784/420 548/779/420 -f 551/780/1 547/768/1 590/769/1 -f 617/782/421 550/783/421 546/756/421 -f 611/764/422 538/763/422 550/783/422 -f 537/759/1 551/780/1 591/781/1 -f 612/762/420 540/838/420 552/784/420 -f 586/755/3 539/845/3 549/785/3 -f 628/786/464 570/821/464 557/787/464 -f 626/789/424 565/836/424 553/790/424 -f 625/792/425 568/837/425 555/793/425 -f 599/795/3 567/844/3 556/796/3 -f 621/798/465 559/805/465 563/799/465 -f 602/801/3 569/842/3 560/802/3 -f 627/804/427 571/820/427 559/805/427 -f 572/806/1 558/812/1 595/807/1 -f 632/809/428 578/835/428 573/810/428 -f 558/812/1 562/841/1 597/813/1 -f 622/788/429 557/787/429 561/814/429 -f 596/803/3 560/802/3 564/816/3 -f 532/747/3 567/844/3 599/795/3 -f 531/818/430 568/837/430 625/792/430 -f 529/819/424 565/836/424 626/789/424 -f 582/742/1 530/741/1 566/752/1 -f 593/753/1 554/843/1 572/806/1 -f 619/794/431 555/793/431 571/820/431 -f 556/796/3 569/842/3 602/801/3 -f 620/791/423 553/790/423 570/821/423 -f 633/822/432 629/828/432 575/823/432 -f 606/825/3 577/834/3 576/826/3 -f 631/827/433 579/833/433 575/823/433 -f 605/829/1 580/832/1 574/830/1 -f 597/813/1 562/841/1 580/832/1 -f 623/800/434 563/799/434 579/833/434 -f 598/817/3 564/816/3 577/834/3 -f 624/815/435 561/814/435 578/835/435 -f 598/817/3 606/825/3 579/833/3 -f 597/813/1 605/829/1 578/835/1 -f 605/829/1 603/831/1 573/810/1 -f 606/825/3 604/824/3 575/823/3 -f 630/811/436 633/822/436 604/824/436 -f 594/797/3 602/801/3 571/820/3 -f 553/790/1 593/753/1 601/808/1 -f 529/819/1 582/742/1 600/754/1 -f 584/748/3 599/795/3 568/837/3 -f 559/805/3 596/803/3 598/817/3 -f 595/807/1 597/813/1 561/814/1 -f 601/808/1 595/807/1 557/787/1 -f 571/820/3 602/801/3 596/803/3 -f 568/837/3 599/795/3 594/797/3 -f 540/838/3 586/755/3 592/776/3 -f 585/760/1 591/781/1 550/783/1 -f 591/781/1 590/769/1 546/756/1 -f 552/784/3 592/776/3 589/773/3 -f 548/779/3 589/773/3 588/775/3 -f 590/769/1 587/767/1 542/766/1 -f 614/772/437 634/765/437 587/767/437 -f 534/840/1 581/740/1 585/760/1 -f 583/746/3 586/755/3 540/838/3 -f 600/754/1 593/753/1 553/790/1 -f 583/746/3 584/748/3 531/818/3 -f 581/740/1 582/742/1 529/819/1 -f 588/775/438 634/765/438 614/772/438 -f 603/831/439 633/822/439 630/811/439 -f 624/815/440 632/809/440 577/834/440 -f 623/800/441 631/827/441 580/832/441 -f 631/827/442 629/828/442 574/830/442 -f 574/830/443 629/828/443 633/822/443 -f 620/791/444 628/786/444 569/842/444 -f 619/794/445 627/804/445 572/806/445 -f 532/747/446 610/750/446 626/789/446 -f 530/741/447 608/744/447 625/792/447 -f 622/788/448 624/815/448 564/816/448 -f 632/809/449 630/811/449 576/826/449 -f 627/804/450 621/798/450 558/812/450 -f 621/798/466 623/800/466 562/841/466 -f 625/792/452 619/794/452 554/843/452 -f 626/789/446 620/791/446 556/796/446 -f 628/786/444 622/788/444 560/802/444 -f 612/762/454 618/778/454 551/780/454 -f 611/764/455 617/782/455 549/785/455 -f 617/782/456 616/758/456 545/777/456 -f 618/778/454 615/770/454 547/768/454 -f 615/770/457 614/772/457 541/839/457 -f 543/774/458 613/757/458 634/765/458 -f 607/745/459 611/764/459 539/845/459 -f 533/749/460 609/751/460 612/762/460 -f 545/777/461 616/758/461 613/757/461 -f 536/761/462 609/751/462 610/750/462 -f 534/840/463 607/745/463 608/744/463 -o Mag_Cube.002 -v -0.060939 1.325914 -0.657225 -v -0.089029 1.301304 -1.115814 -v 0.138329 1.301304 -1.115814 -v 0.110239 1.325914 -0.657225 -v -0.089029 3.752410 -0.763027 -v -0.089029 3.754883 -1.150659 -v 0.138329 3.754883 -1.150659 -v 0.138329 3.752410 -0.763027 -v -0.060939 3.704485 -0.669530 -v -0.089029 2.939292 -1.161489 -v 0.138329 2.939292 -1.161489 -v 0.110239 3.704485 -0.669530 -v -0.089029 3.732157 -0.767972 -v -0.089029 2.966964 -1.161489 -v 0.138329 2.966964 -1.161489 -v 0.138329 3.732157 -0.767972 -v -0.089029 3.752410 -0.837244 -v -0.089029 1.283170 -0.753593 -v 0.138329 3.752410 -0.837244 -v 0.138329 1.283170 -0.753593 -v 0.138329 2.933951 -0.760703 -v -0.089029 2.933951 -0.760703 -v -0.089029 2.961623 -0.842189 -v 0.138329 2.961623 -0.842189 -vt 0.832504 0.337653 -vt 0.866722 0.059183 -vt 0.831819 0.056090 -vt 0.836432 0.315214 -vt 0.851387 0.264253 -vt 0.851387 0.315214 -vt 0.832504 0.337653 -vt 0.822533 0.063381 -vt 0.831819 0.056090 -vt 0.862646 0.264253 -vt 0.851387 0.337897 -vt 0.851387 0.264253 -vt 0.852658 0.180430 -vt 0.837703 0.171830 -vt 0.852658 0.171830 -vt 0.867566 0.223086 -vt 0.856749 0.233730 -vt 0.856749 0.223086 -vt 0.844313 0.232814 -vt 0.847847 0.242143 -vt 0.844313 0.243458 -vt 0.840356 0.342373 -vt 0.823718 0.469077 -vt 0.836432 0.316075 -vt 0.851387 0.316075 -vt 0.840356 0.342373 -vt 0.871123 0.338564 -vt 0.839879 0.477252 -vt 0.871123 0.343284 -vt 0.836432 0.340586 -vt 0.851387 0.340586 -vt 0.839879 0.477252 -vt 0.833204 0.473797 -vt 0.846791 0.232242 -vt 0.845893 0.221598 -vt 0.846791 0.221598 -vt 0.871123 0.343284 -vt 0.870079 0.477673 -vt 0.833204 0.473797 -vt 0.832728 0.477252 -vt 0.823718 0.469077 -vt 0.871123 0.338564 -vt 0.854191 0.233730 -vt 0.854191 0.223086 -vt 0.839550 0.169214 -vt 0.850810 0.169214 -vt 0.866722 0.059183 -vt 0.822533 0.063381 -vt 0.836432 0.264253 -vt 0.862646 0.337897 -vt 0.837703 0.180430 -vt 0.867566 0.233730 -vt 0.847847 0.234129 -vt 0.870079 0.477673 -vt 0.832728 0.477252 -vt 0.845893 0.232242 -vn -1.0000 0.0000 0.0000 -vn 0.0000 -0.0279 -0.9996 -vn 0.9602 0.0012 0.2793 -vn 0.0000 0.0052 1.0000 -vn 0.0000 -0.9987 -0.0500 -vn 0.0000 1.0000 0.0079 -vn 0.0000 0.9627 0.2706 -vn 0.9993 0.0350 0.0119 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0137 -0.9999 -vn 1.0000 0.0000 0.0000 -vn 0.0000 -0.2372 0.9715 -vn -0.9632 -0.0258 0.2676 -vn 0.0000 1.0000 0.0000 -vn 0.0000 -0.9141 0.4055 -vn -0.9591 0.0015 0.2831 -vn 0.9591 0.0015 0.2831 -vn 0.9632 -0.0258 0.2676 -vn -0.9993 0.0350 0.0119 -vn -0.9602 0.0012 0.2793 -s off -f 656/846/467 636/847/467 652/848/467 -f 645/849/468 636/850/468 644/851/468 -f 655/852/469 638/853/469 654/854/469 -f 643/855/470 638/856/470 646/857/470 -f 636/858/471 654/859/471 652/860/471 -f 641/861/472 651/862/472 653/863/472 -f 647/864/473 646/865/473 650/866/473 -f 658/867/474 646/868/474 655/852/474 -f 649/869/475 644/851/475 648/870/475 -f 657/871/467 644/872/467 656/846/467 -f 651/873/467 648/874/467 657/871/467 -f 641/875/476 648/870/476 640/876/476 -f 653/877/477 650/878/477 658/867/477 -f 639/879/478 650/880/478 642/881/478 -f 653/877/477 649/882/477 641/883/477 -f 651/873/467 647/884/467 639/885/467 -f 657/871/479 643/886/479 647/884/479 -f 658/867/477 645/887/477 649/882/477 -f 653/863/480 639/888/480 642/889/480 -f 652/860/481 638/890/481 635/891/481 -f 655/852/477 637/892/477 645/887/477 -f 656/846/482 635/893/482 643/886/482 -f 656/846/467 644/872/467 636/847/467 -f 645/849/468 637/894/468 636/850/468 -f 655/852/483 646/868/483 638/853/483 -f 643/855/470 635/895/470 638/856/470 -f 636/858/471 637/896/471 654/859/471 -f 641/861/472 640/897/472 651/862/472 -f 647/864/473 643/898/473 646/865/473 -f 658/867/484 650/878/484 646/868/484 -f 649/869/475 645/849/475 644/851/475 -f 657/871/467 648/874/467 644/872/467 -f 651/873/467 640/899/467 648/874/467 -f 641/875/476 649/869/476 648/870/476 -f 653/877/477 642/900/477 650/878/477 -f 639/879/478 647/901/478 650/880/478 -f 653/877/477 658/867/477 649/882/477 -f 651/873/467 657/871/467 647/884/467 -f 657/871/485 656/846/485 643/886/485 -f 658/867/477 655/852/477 645/887/477 -f 653/863/480 651/862/480 639/888/480 -f 652/860/481 654/859/481 638/890/481 -f 655/852/477 654/854/477 637/892/477 -f 656/846/486 652/848/486 635/893/486 diff --git a/src/main/resources/assets/hbm/models/weapons/uzi.obj b/src/main/resources/assets/hbm/models/weapons/uzi.obj new file mode 100644 index 000000000..101594263 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/uzi.obj @@ -0,0 +1,4902 @@ +# Blender v2.79 (sub 0) OBJ File: 'uzi.blend' +# www.blender.org +o GunMirror +v 0.750000 0.000000 3.250000 +v -0.750000 0.000000 3.250000 +v 0.750000 0.000000 -5.500000 +v -0.750000 0.000000 -5.500000 +v 0.750000 1.500000 3.250000 +v -0.750000 1.500000 3.250000 +v 0.750000 1.500000 -5.500000 +v -0.750000 1.500000 -5.500000 +v 0.000000 1.250000 5.500000 +v 0.250000 1.183012 5.500000 +v 0.433013 1.000000 5.500000 +v 0.500000 0.750000 5.500000 +v 0.433013 0.500000 5.500000 +v 0.250000 0.316988 5.500000 +v 0.000000 0.250000 5.500000 +v -0.250000 0.316987 5.500000 +v -0.433012 0.500000 5.500000 +v -0.500000 0.750000 5.500000 +v -0.433013 1.000000 5.500000 +v -0.250000 1.183012 5.500000 +v 0.000000 1.250000 6.375000 +v 0.250000 1.183012 6.375000 +v 0.433013 1.000000 6.375000 +v 0.500000 0.750000 6.375000 +v 0.433013 0.500000 6.375000 +v 0.250000 0.316988 6.375000 +v 0.000000 0.250000 6.375000 +v -0.250000 0.316987 6.375000 +v -0.433012 0.500000 6.375000 +v -0.500000 0.750000 6.375000 +v -0.433013 1.000000 6.375000 +v -0.250000 1.183012 6.375000 +v 0.000000 1.000000 6.375000 +v 0.125000 0.966506 6.375000 +v 0.216506 0.875000 6.375000 +v 0.250000 0.750000 6.375000 +v 0.216506 0.625000 6.375000 +v 0.125000 0.533494 6.375000 +v 0.000000 0.500000 6.375000 +v -0.125000 0.533494 6.375000 +v -0.216506 0.625000 6.375000 +v -0.250000 0.750000 6.375000 +v -0.216506 0.875000 6.375000 +v -0.125000 0.966506 6.375000 +v 0.000000 1.000000 8.375000 +v 0.125000 0.966506 8.375000 +v 0.216506 0.875000 8.375000 +v 0.250000 0.750000 8.375000 +v 0.216506 0.625000 8.375000 +v 0.125000 0.533494 8.375000 +v 0.000000 0.500000 8.375000 +v -0.125000 0.533494 8.375000 +v -0.216506 0.625000 8.375000 +v -0.250000 0.750000 8.375000 +v -0.216506 0.875000 8.375000 +v -0.125000 0.966506 8.375000 +v 0.000000 0.937500 8.375000 +v 0.093750 0.912380 8.375000 +v 0.162380 0.843750 8.375000 +v 0.187500 0.750000 8.375000 +v 0.162380 0.656250 8.375000 +v 0.093750 0.587620 8.375000 +v 0.000000 0.562500 8.375000 +v -0.093750 0.587620 8.375000 +v -0.162380 0.656250 8.375000 +v -0.187500 0.750000 8.375000 +v -0.162380 0.843750 8.375000 +v -0.093750 0.912380 8.375000 +v 0.000000 0.937500 6.375000 +v 0.093750 0.912380 6.375000 +v 0.162380 0.843750 6.375000 +v 0.187500 0.750000 6.375000 +v 0.162380 0.656250 6.375000 +v 0.093750 0.587620 6.375000 +v 0.000000 0.562500 6.375000 +v -0.093750 0.587620 6.375000 +v -0.162380 0.656250 6.375000 +v -0.187500 0.750000 6.375000 +v -0.162380 0.843750 6.375000 +v -0.093750 0.912380 6.375000 +v 0.875000 -0.250000 1.250000 +v -0.875000 -0.250000 1.250000 +v 0.875000 -0.250000 -2.250000 +v -0.875000 -0.250000 -2.250000 +v 0.875000 0.500000 -2.250000 +v 0.875000 0.500000 1.250000 +v -0.875000 0.500000 1.250000 +v -0.875000 0.500000 -2.250000 +v 0.875000 1.000000 1.375000 +v 0.875000 1.000000 3.250000 +v -0.875000 1.000000 3.250000 +v -0.875000 1.000000 1.375000 +v 0.875000 0.125000 3.250000 +v 0.500000 -0.250000 3.250000 +v -0.500000 -0.250000 3.250000 +v -0.875000 0.125000 3.250000 +v 0.500000 -0.250000 1.375000 +v 0.875000 0.125000 1.375000 +v -0.875000 0.125000 1.375000 +v -0.500000 -0.250000 1.375000 +v 0.750000 0.125000 3.625000 +v 0.500000 -0.250000 3.625000 +v -0.750000 1.000000 3.625000 +v 0.750000 1.000000 3.625000 +v 0.625000 0.000000 3.625000 +v -0.625000 0.000000 3.625000 +v 0.625000 1.500000 3.625000 +v -0.625000 1.500000 3.625000 +v 0.625000 0.000000 5.500000 +v -0.625000 0.000000 5.500000 +v 0.625000 1.500000 5.500000 +v -0.625000 1.500000 5.500000 +v -0.750000 0.125000 3.625000 +v -0.500000 -0.250000 3.625000 +v 0.750000 0.125000 5.375000 +v 0.750000 1.000000 5.375000 +v -0.750000 0.125000 5.375000 +v -0.500000 -0.250000 5.375000 +v 0.500000 -0.250000 5.375000 +v -0.750000 1.000000 5.375000 +v 0.750000 1.500000 3.250000 +v 0.750000 1.500000 -3.750000 +v 0.375000 1.500000 3.250000 +v 0.375000 1.500000 -3.750000 +v 0.750000 1.750000 1.250000 +v 0.750000 1.750000 -1.750000 +v 0.375000 1.750000 1.250000 +v 0.375000 1.750000 -1.750000 +v -0.375000 1.500000 3.250000 +v -0.375000 1.500000 -3.750000 +v -0.750000 1.500000 3.250000 +v -0.750000 1.500000 -3.750000 +v -0.375000 1.750000 1.250000 +v -0.375000 1.750000 -1.750000 +v -0.750000 1.750000 1.250000 +v -0.750000 1.750000 -1.750000 +v -0.375000 1.500000 4.562500 +v -0.375000 1.500000 5.437500 +v -0.375000 1.875000 5.437500 +v -0.375000 2.018506 5.404197 +v -0.375000 2.140165 5.309359 +v -0.375000 2.221455 5.167424 +v -0.500000 1.875000 4.562500 +v -0.500000 2.018506 4.595803 +v -0.500000 2.140165 4.690641 +v -0.500000 2.221455 4.832576 +v -0.500000 2.250000 5.000000 +v -0.500000 2.221455 5.167424 +v -0.500000 2.140165 5.309359 +v -0.500000 2.018506 5.404197 +v -0.500000 1.875000 5.437500 +v -0.375000 2.250000 5.000000 +v -0.375000 2.221455 4.832576 +v -0.375000 2.140165 4.690641 +v -0.375000 2.018506 4.595803 +v -0.375000 1.875000 4.562500 +v -0.500000 1.500000 5.437500 +v -0.500000 1.500000 4.562500 +v -0.375000 2.000000 -5.375000 +v -0.375000 2.167424 -5.327425 +v -0.375000 2.309359 -5.191942 +v -0.375000 2.404197 -4.989178 +v -0.375000 2.437500 -4.750000 +v -0.375000 2.404197 -4.510823 +v -0.375000 2.309359 -4.308059 +v -0.375000 2.167424 -4.172575 +v -0.375000 2.000000 -4.125000 +v -0.500000 2.437500 -4.750000 +v -0.500000 2.404197 -4.989178 +v -0.500000 2.309359 -5.191942 +v -0.500000 2.167424 -5.327425 +v -0.500000 2.000000 -5.375000 +v -0.375000 1.500000 -4.125000 +v -0.375000 1.500000 -5.375000 +v -0.500000 2.404197 -4.510823 +v -0.500000 2.309359 -4.308059 +v -0.500000 2.167424 -4.172575 +v -0.500000 2.000000 -4.125000 +v -0.500000 1.500000 -4.125000 +v -0.500000 1.500000 -5.375000 +v 0.750000 1.500000 -1.500000 +v 0.750000 0.750000 -1.500000 +v 0.750000 0.750000 0.125000 +v 0.750000 1.500000 0.125000 +v 0.750000 1.500000 -1.500000 +v 0.750000 1.500000 0.125000 +v 0.750000 1.750000 -1.500000 +v 0.750000 1.750000 0.125000 +v 0.625000 1.500000 -1.500000 +v 0.625000 0.750000 -1.500000 +v 0.625000 0.750000 0.125000 +v 0.625000 1.500000 0.125000 +v -0.375000 -0.250000 -0.250000 +v 0.375000 -0.250000 -0.250000 +v 0.500000 1.500000 -1.500000 +v 0.500000 1.500000 0.125000 +v 0.500000 1.750000 -1.500000 +v 0.500000 1.750000 0.125000 +v 0.375000 -2.750000 -2.000000 +v -0.375000 -2.750000 -2.000000 +v -0.375000 -3.250000 -0.250000 +v -0.375000 -3.250000 -1.500000 +v 0.375000 -3.250000 -0.250000 +v 0.375000 -3.250000 -1.500000 +v 0.375000 -2.000000 -2.000000 +v -0.375000 -2.000000 -2.000000 +v 0.375000 -1.000000 -1.750000 +v -0.375000 -1.000000 -1.750000 +v 0.375000 -0.500000 -2.250000 +v -0.375000 -0.500000 -2.250000 +v 0.375000 -0.250000 -2.250000 +v -0.375000 -0.250000 -2.250000 +v -0.625000 -2.750000 -1.750000 +v -0.625000 -3.250000 -1.250000 +v -0.625000 -3.250000 -0.375000 +v -0.625000 -0.250000 -0.375000 +v -0.625000 -2.000000 -1.750000 +v -0.625000 -1.000000 -1.500000 +v -0.625000 -0.500000 -2.000000 +v -0.625000 -0.250000 -2.000000 +v 0.625000 -3.250000 -1.250000 +v 0.625000 -2.750000 -1.750000 +v 0.625000 -3.250000 -0.375000 +v 0.625000 -0.250000 -0.375000 +v 0.625000 -2.000000 -1.750000 +v 0.625000 -1.000000 -1.500000 +v 0.625000 -0.500000 -2.000000 +v 0.625000 -0.250000 -2.000000 +v 0.250000 0.000000 1.375000 +v -0.250000 0.000000 1.375000 +v 0.250000 0.000000 1.250000 +v -0.250000 0.000000 1.250000 +v 0.250000 -1.250000 1.375000 +v -0.250000 -1.250000 1.375000 +v 0.250000 -1.250000 1.250000 +v -0.250000 -1.250000 1.250000 +v 0.250000 -1.500000 1.000000 +v -0.250000 -1.500000 1.000000 +v 0.250000 -1.625000 1.000000 +v -0.250000 -1.625000 1.000000 +v 0.250000 -1.500000 0.250000 +v -0.250000 -1.500000 0.250000 +v 0.250000 -1.625000 0.250000 +v -0.250000 -1.625000 0.250000 +v 0.250000 -1.250000 -0.250000 +v -0.250000 -1.250000 -0.250000 +v 0.250000 -1.375000 -0.250000 +v -0.250000 -1.375000 -0.250000 +v 0.156250 -0.250000 0.312500 +v -0.156250 -0.250000 0.312500 +v 0.156250 -0.250000 0.187500 +v -0.156250 -0.250000 0.187500 +v 0.156250 -0.875000 0.312500 +v -0.156250 -0.875000 0.312500 +v 0.156250 -0.875000 0.187500 +v -0.156250 -0.875000 0.187500 +v 0.156250 -1.187500 0.562500 +v -0.156250 -1.187500 0.562500 +v 0.375000 1.500000 5.375000 +v -0.375000 1.500000 5.375000 +v 0.375000 1.500000 4.625000 +v -0.375000 1.500000 4.625000 +v 0.375000 1.625000 4.625000 +v 0.375000 1.625000 5.375000 +v -0.375000 1.625000 5.375000 +v -0.375000 1.625000 4.625000 +v 0.000000 1.625000 4.750000 +v 0.176777 1.625000 4.823223 +v 0.250000 1.625000 5.000000 +v 0.176777 1.625000 5.176777 +v 0.000000 1.625000 5.250000 +v -0.176777 1.625000 5.176777 +v -0.250000 1.625000 5.000000 +v -0.176777 1.625000 4.823223 +v 0.000000 1.687500 4.750000 +v 0.176777 1.687500 4.823223 +v 0.250000 1.687500 5.000000 +v 0.176777 1.687500 5.176777 +v 0.000000 1.687500 5.250000 +v -0.176777 1.687500 5.176777 +v -0.250000 1.687500 5.000000 +v -0.176777 1.687500 4.823223 +v 0.062500 1.687500 5.062500 +v -0.062500 1.687500 5.062500 +v 0.062500 1.687500 4.937500 +v -0.062500 1.687500 4.937500 +v 0.062500 2.187500 4.937500 +v 0.062500 2.187500 5.062500 +v -0.062500 2.187500 5.062500 +v -0.062500 2.187500 4.937500 +v 0.250000 1.500000 -4.250000 +v -0.250000 1.500000 -4.250000 +v 0.250000 1.500000 -5.250000 +v -0.250000 1.500000 -5.250000 +v 0.250000 1.750000 -5.250000 +v 0.250000 1.750000 -4.250000 +v -0.250000 1.750000 -4.250000 +v -0.250000 1.750000 -5.250000 +v -0.250000 1.500000 -4.250000 +v -0.250000 1.500000 -5.250000 +v -0.375000 1.500000 -4.250000 +v -0.375000 1.500000 -5.250000 +v -0.375000 2.000000 -4.250000 +v -0.375000 2.000000 -5.250000 +v -0.250000 2.000000 -4.250000 +v -0.250000 2.000000 -5.250000 +v 0.375000 1.500000 -4.250000 +v 0.375000 1.500000 -5.250000 +v 0.250000 1.500000 -4.250000 +v 0.250000 1.500000 -5.250000 +v 0.250000 2.000000 -4.250000 +v 0.250000 2.000000 -5.250000 +v 0.375000 2.000000 -4.250000 +v 0.375000 2.000000 -5.250000 +v 0.187500 1.750000 -4.625000 +v -0.187500 1.750000 -4.625000 +v 0.187500 1.750000 -4.875000 +v -0.187500 1.750000 -4.875000 +v 0.187500 2.250000 -4.875000 +v 0.187500 2.250000 -4.625000 +v -0.187500 2.250000 -4.625000 +v -0.187500 2.250000 -4.875000 +v 0.062500 2.375000 -4.875000 +v 0.062500 2.375000 -4.625000 +v -0.062500 2.375000 -4.625000 +v -0.062500 2.375000 -4.875000 +v 0.125000 2.250000 -4.625000 +v -0.125000 2.250000 -4.625000 +v 0.125000 2.250000 -4.875000 +v -0.125000 2.250000 -4.875000 +v 0.125000 2.125000 -4.625000 +v -0.125000 2.125000 -4.625000 +v 0.125000 2.125000 -4.875000 +v -0.125000 2.125000 -4.875000 +v -0.062500 2.312500 -4.625000 +v -0.062500 2.062500 -4.625000 +v -0.062500 2.312500 -4.875000 +v -0.062500 2.062500 -4.875000 +v 0.062500 2.312500 -4.625000 +v 0.062500 2.062500 -4.625000 +v 0.062500 2.312500 -4.875000 +v 0.062500 2.062500 -4.875000 +v 0.625000 0.000000 -5.500000 +v -0.625000 0.000000 -5.500000 +v 0.625000 1.000000 -5.500000 +v -0.625000 1.000000 -5.500000 +v 0.625000 1.000000 -5.750000 +v 0.625000 0.000000 -5.750000 +v -0.625000 0.000000 -5.750000 +v -0.625000 1.000000 -5.750000 +v 0.625000 0.750000 -6.000000 +v 0.625000 0.250000 -6.000000 +v -0.625000 0.250000 -6.000000 +v -0.625000 0.750000 -6.000000 +v 0.875000 0.312500 -5.875000 +v -0.875000 0.312500 -5.875000 +v 0.875000 0.224112 -5.838388 +v -0.875000 0.224112 -5.838388 +v 0.875000 0.187500 -5.750000 +v -0.875000 0.187500 -5.750000 +v 0.875000 0.224112 -5.661612 +v -0.875000 0.224112 -5.661612 +v 0.875000 0.312500 -5.625000 +v -0.875000 0.312500 -5.625000 +v 0.875000 0.400888 -5.661612 +v -0.875000 0.400888 -5.661612 +v 0.875000 0.437500 -5.750000 +v -0.875000 0.437500 -5.750000 +v 0.875000 0.400888 -5.838388 +v -0.875000 0.400888 -5.838388 +v 0.500000 1.500000 4.562500 +v 0.500000 1.500000 5.437500 +v 0.500000 1.875000 5.437500 +v 0.500000 2.018506 5.404197 +v 0.500000 2.140165 5.309359 +v 0.500000 2.221455 5.167424 +v 0.375000 1.875000 4.562500 +v 0.375000 2.018506 4.595803 +v 0.375000 2.140165 4.690641 +v 0.375000 2.221455 4.832576 +v 0.375000 2.250000 5.000000 +v 0.375000 2.221455 5.167424 +v 0.375000 2.140165 5.309359 +v 0.375000 2.018506 5.404197 +v 0.375000 1.875000 5.437500 +v 0.500000 2.250000 5.000000 +v 0.500000 2.221455 4.832576 +v 0.500000 2.140165 4.690641 +v 0.500000 2.018506 4.595803 +v 0.500000 1.875000 4.562500 +v 0.375000 1.500000 5.437500 +v 0.375000 1.500000 4.562500 +v 0.500000 2.000000 -5.375000 +v 0.500000 2.167424 -5.327425 +v 0.500000 2.309359 -5.191942 +v 0.500000 2.404197 -4.989178 +v 0.500000 2.437500 -4.750000 +v 0.500000 2.404197 -4.510823 +v 0.500000 2.309359 -4.308059 +v 0.500000 2.167424 -4.172575 +v 0.500000 2.000000 -4.125000 +v 0.375000 2.437500 -4.750000 +v 0.375000 2.404197 -4.989178 +v 0.375000 2.309359 -5.191942 +v 0.375000 2.167424 -5.327425 +v 0.375000 2.000000 -5.375000 +v 0.500000 1.500000 -4.125000 +v 0.500000 1.500000 -5.375000 +v 0.375000 2.404197 -4.510823 +v 0.375000 2.309359 -4.308059 +v 0.375000 2.167424 -4.172575 +v 0.375000 2.000000 -4.125000 +v 0.375000 1.500000 -4.125000 +v 0.375000 1.500000 -5.375000 +vt 0.336066 0.391304 +vt 0.049180 0.521739 +vt 0.336066 0.521739 +vt 0.336066 0.260870 +vt 0.049180 0.391304 +vt 0.049180 0.260870 +vt 0.000000 0.130435 +vt -0.000000 0.260870 +vt 0.348361 0.130435 +vt 0.336066 0.000000 +vt 0.336066 0.130435 +vt 0.663934 0.277174 +vt 0.655738 0.260870 +vt 0.655738 0.282609 +vt 0.663934 0.385870 +vt 0.655738 0.369565 +vt 0.655738 0.391304 +vt 0.663934 0.190217 +vt 0.655738 0.173913 +vt 0.655738 0.195652 +vt 0.655738 0.304348 +vt 0.663934 0.288043 +vt 0.663934 0.244565 +vt 0.655738 0.239130 +vt 0.663934 0.353261 +vt 0.655738 0.347826 +vt 0.663934 0.157609 +vt 0.655738 0.152174 +vt 0.663934 0.222826 +vt 0.655738 0.217391 +vt 0.663934 0.342391 +vt 0.655738 0.326087 +vt 0.655738 0.413043 +vt 0.663934 0.396739 +vt 0.663934 0.211957 +vt 0.663934 0.320652 +vt 0.706967 0.510870 +vt 0.704918 0.500000 +vt 0.704918 0.510870 +vt 0.706967 0.565217 +vt 0.704918 0.554348 +vt 0.704918 0.565217 +vt 0.706967 0.543478 +vt 0.704918 0.532609 +vt 0.704918 0.543478 +vt 0.706967 0.597826 +vt 0.704918 0.586957 +vt 0.704918 0.597826 +vt 0.706967 0.489130 +vt 0.704918 0.489130 +vt 0.706967 0.532609 +vt 0.704918 0.521739 +vt 0.706967 0.586957 +vt 0.704918 0.576087 +vt 0.706967 0.478261 +vt 0.704918 0.478261 +vt 0.706967 0.521739 +vt 0.706967 0.576087 +vt 0.704918 0.608696 +vt 0.663102 0.470094 +vt 0.657787 0.445681 +vt 0.652472 0.470094 +vt 0.598361 0.282609 +vt 0.483607 0.434783 +vt 0.598361 0.434783 +vt 0.483607 0.065217 +vt 0.598361 0.217391 +vt 0.598361 0.065217 +vt 0.483607 0.217391 +vt 0.459016 0.065217 +vt 0.459016 0.217391 +vt 0.622951 0.217391 +vt 0.622951 0.065217 +vt 0.483607 0.282609 +vt 0.598361 0.000000 +vt 0.483607 0.000000 +vt 0.663934 -0.000000 +vt 0.725410 0.152174 +vt 0.725410 0.000000 +vt 0.622951 0.119565 +vt 0.622951 0.032609 +vt 0.409836 0.391304 +vt 0.348361 0.260870 +vt 0.348361 0.391304 +vt 0.348361 0.250000 +vt 0.348361 0.510870 +vt 0.409836 0.141304 +vt 0.459016 0.250000 +vt 0.459016 0.141304 +vt 0.409836 0.510870 +vt 0.348361 0.402174 +vt 0.409836 0.130435 +vt 0.348361 -0.000000 +vt 0.409836 0.250000 +vt 0.348361 0.141304 +vt 0.737705 0.141304 +vt 0.823770 0.141304 +vt 0.836066 0.119565 +vt 0.836066 0.032609 +vt 0.795082 0.141304 +vt 0.737705 0.010870 +vt 0.639344 0.510870 +vt 0.475410 0.489130 +vt 0.409836 0.510870 +vt 0.573770 0.456522 +vt 0.536885 0.434783 +vt 0.536885 0.456522 +vt 0.483607 0.434783 +vt 0.475410 0.456522 +vt 0.483607 0.456522 +vt 0.639344 0.586956 +vt 0.475410 0.565217 +vt 0.409836 0.586956 +vt 0.475410 0.532609 +vt 0.639344 0.510870 +vt 0.409836 0.510870 +vt 0.733772 0.750000 +vt 0.747951 0.782232 +vt 0.762129 0.750000 +vt 0.742525 0.779778 +vt 0.737925 0.772791 +vt 0.733772 0.750000 +vt 0.692623 0.798848 +vt 0.713082 0.760865 +vt 0.672164 0.760865 +vt 0.684794 0.795957 +vt 0.678156 0.787723 +vt 0.672164 0.760865 +vt 0.180328 0.065217 +vt 0.049180 0.130435 +vt 0.180328 0.130435 +vt 0.233607 0.065217 +vt 0.233607 0.130435 +vt 0.467213 0.260870 +vt 0.471311 0.326087 +vt 0.471311 0.260870 +vt 0.413934 0.260870 +vt 0.467213 0.250000 +vt 0.413934 0.250000 +vt 0.413934 0.326087 +vt 0.409836 0.260870 +vt 0.409836 0.326087 +vt 0.471311 0.413043 +vt 0.479508 0.434783 +vt 0.479508 0.413043 +vt 0.418033 0.434783 +vt 0.409836 0.413043 +vt 0.409836 0.434783 +vt 0.471311 0.434783 +vt 0.418033 0.413043 +vt 0.483607 0.478261 +vt 0.180328 0.141304 +vt 0.528689 0.695652 +vt 0.536885 0.608696 +vt 0.495902 0.608696 +vt 0.467213 0.326087 +vt 0.717213 0.673913 +vt 0.676230 0.663043 +vt 0.676230 0.673913 +vt 0.717213 0.619565 +vt 0.676230 0.608696 +vt 0.676230 0.619565 +vt 0.733607 0.619565 +vt 0.719262 0.608696 +vt 0.719262 0.673913 +vt 0.733607 0.663043 +vt 0.717213 0.663043 +vt 0.758197 0.673913 +vt 0.733607 0.673913 +vt 0.758197 0.619565 +vt 0.733607 0.608696 +vt 0.774590 0.619565 +vt 0.758197 0.608696 +vt 0.774590 0.663043 +vt 0.758197 0.663043 +vt 0.668033 0.722826 +vt 0.657787 0.777174 +vt 0.668033 0.777174 +vt 0.653689 0.722826 +vt 0.643443 0.777174 +vt 0.653689 0.777174 +vt 0.657787 0.722826 +vt 0.672131 0.722826 +vt 0.672131 0.777174 +vt 0.653689 0.695652 +vt 0.643443 0.722826 +vt 0.657787 0.695652 +vt 0.672131 0.695652 +vt 0.536885 0.478261 +vt 0.573770 0.489130 +vt 0.741803 0.793478 +vt 0.766393 0.858696 +vt 0.766393 0.793478 +vt 0.741803 0.858696 +vt 0.737705 0.793478 +vt 0.737705 0.858696 +vt 0.770492 0.858696 +vt 0.770492 0.793478 +vt 0.813518 0.744565 +vt 0.821721 0.766322 +vt 0.829925 0.744565 +vt 0.651639 0.853261 +vt 0.684426 0.809783 +vt 0.651639 0.809783 +vt 0.829918 0.777174 +vt 0.834016 0.766304 +vt 0.829918 0.766304 +vt 0.838115 0.766304 +vt 0.842213 0.722826 +vt 0.838115 0.722826 +vt 0.834016 0.722826 +vt 0.829918 0.722826 +vt 0.842213 0.766304 +vt 0.846311 0.722826 +vt 0.696721 0.809783 +vt 0.729508 0.853261 +vt 0.729508 0.809783 +vt 0.684426 0.864130 +vt 0.684426 0.853261 +vt 0.684426 0.864130 +vt 0.651639 0.853261 +vt 0.651639 0.864130 +vt 0.696721 0.853261 +vt 0.688525 0.809783 +vt 0.688525 0.853261 +vt 0.737705 0.853261 +vt 0.737705 0.809783 +vt 0.688525 0.809783 +vt 0.647541 0.853261 +vt 0.651639 0.809783 +vt 0.647541 0.809783 +vt 0.647541 0.853261 +vt 0.647541 0.809783 +vt 0.684426 0.853261 +vt 0.688525 0.809783 +vt 0.684426 0.809783 +vt 0.635246 0.842391 +vt 0.631148 0.847826 +vt 0.635246 0.847826 +vt 0.631148 0.842391 +vt 0.627049 0.836957 +vt 0.639344 0.836957 +vt 0.614754 0.847826 +vt 0.610656 0.842391 +vt 0.610656 0.847826 +vt 0.606557 0.836957 +vt 0.608607 0.836957 +vt 0.618852 0.836957 +vt 0.614754 0.842391 +vt 0.608607 0.826087 +vt 0.606557 0.793478 +vt 0.616803 0.826087 +vt 0.618562 0.793404 +vt 0.610656 0.820652 +vt 0.614754 0.820652 +vt 0.637295 0.826087 +vt 0.639344 0.793478 +vt 0.629098 0.826087 +vt 0.627049 0.793478 +vt 0.631148 0.820652 +vt 0.635246 0.820652 +vt 0.643443 0.951087 +vt 0.659836 0.885870 +vt 0.643443 0.907609 +vt 0.602459 0.907609 +vt 0.586066 0.972826 +vt 0.602459 0.951087 +vt 0.524591 0.978309 +vt 0.520510 0.989130 +vt 0.524591 0.999951 +vt 0.524590 0.956569 +vt 0.521705 0.959739 +vt 0.527475 0.975042 +vt 0.733772 0.750000 +vt 0.747951 0.782232 +vt 0.762129 0.750000 +vt 0.742525 0.779778 +vt 0.737925 0.772791 +vt 0.733772 0.750000 +vt 0.692623 0.798848 +vt 0.713082 0.760865 +vt 0.672164 0.760865 +vt 0.684794 0.795957 +vt 0.678156 0.787723 +vt 0.672164 0.760865 +vt 0.663934 0.266304 +vt 0.663934 0.375000 +vt 0.663934 0.179348 +vt 0.663934 0.298913 +vt 0.663934 0.255435 +vt 0.663934 0.364130 +vt 0.663934 0.168478 +vt 0.663934 0.233696 +vt 0.663934 0.331522 +vt 0.663934 0.407609 +vt 0.663934 0.201087 +vt 0.663934 0.309783 +vt 0.706967 0.500000 +vt 0.706967 0.554348 +vt 0.706967 0.608696 +vt 0.654719 0.476052 +vt 0.657787 0.478232 +vt 0.660855 0.476052 +vt 0.663924 0.461957 +vt 0.663102 0.453819 +vt 0.660855 0.447861 +vt 0.654719 0.447861 +vt 0.652472 0.453819 +vt 0.651650 0.461957 +vt 0.663934 0.152174 +vt 0.635246 0.152174 +vt 0.635246 0.000000 +vt 0.409836 0.260870 +vt 0.409836 0.402174 +vt 0.409836 0.000000 +vt 0.823770 0.010870 +vt 0.795082 0.010870 +vt 0.639344 0.434783 +vt 0.409836 0.434783 +vt 0.573770 0.565217 +vt 0.573770 0.532609 +vt 0.734852 0.762334 +vt 0.737925 0.772791 +vt 0.742525 0.779778 +vt 0.753377 0.779778 +vt 0.757977 0.772791 +vt 0.761050 0.762334 +vt 0.762129 0.717768 +vt 0.733772 0.717768 +vt 0.734852 0.762334 +vt 0.733772 0.717768 +vt 0.762129 0.717768 +vt 0.762129 0.750000 +vt 0.761050 0.762334 +vt 0.757977 0.772791 +vt 0.747951 0.782232 +vt 0.753377 0.779778 +vt 0.673721 0.775401 +vt 0.678156 0.787723 +vt 0.684794 0.795957 +vt 0.700452 0.795957 +vt 0.707090 0.787723 +vt 0.711525 0.775401 +vt 0.713082 0.717456 +vt 0.672164 0.717456 +vt 0.673721 0.775401 +vt 0.672164 0.717456 +vt 0.713082 0.717456 +vt 0.713082 0.760865 +vt 0.711525 0.775401 +vt 0.707090 0.787723 +vt 0.692623 0.798848 +vt 0.700452 0.795957 +vt 0.049180 -0.000000 +vt 0.233607 0.141304 +vt 0.536885 0.673913 +vt 0.528689 0.586957 +vt 0.500000 0.586957 +vt 0.495902 0.673913 +vt 0.500000 0.695652 +vt 0.717213 0.608696 +vt 0.731557 0.608696 +vt 0.731557 0.673913 +vt 0.774590 0.608696 +vt 0.774590 0.673913 +vt 0.643443 0.695652 +vt 0.668033 0.695652 +vt 0.827522 0.729181 +vt 0.821721 0.722809 +vt 0.815921 0.729181 +vt 0.815921 0.759950 +vt 0.827522 0.759950 +vt 0.834016 0.777174 +vt 0.846311 0.766304 +vt 0.651639 0.864130 +vt 0.688525 0.853261 +vt 0.688525 0.853261 +vt 0.629098 0.836957 +vt 0.637295 0.836957 +vt 0.616803 0.836957 +vt 0.651639 0.972826 +vt 0.659836 0.972826 +vt 0.651639 0.885870 +vt 0.594262 0.885870 +vt 0.586066 0.885870 +vt 0.594262 0.972826 +vt 0.528671 0.989130 +vt 0.527476 0.981478 +vt 0.521705 0.981478 +vt 0.521705 0.996782 +vt 0.527476 0.996782 +vt 0.520510 0.967391 +vt 0.521705 0.975042 +vt 0.524590 0.978212 +vt 0.528670 0.967391 +vt 0.527475 0.959739 +vt 0.734852 0.762334 +vt 0.737925 0.772791 +vt 0.742525 0.779778 +vt 0.753377 0.779778 +vt 0.757977 0.772791 +vt 0.761050 0.762334 +vt 0.762129 0.717768 +vt 0.733772 0.717768 +vt 0.734852 0.762334 +vt 0.733772 0.717768 +vt 0.762129 0.717768 +vt 0.762129 0.750000 +vt 0.761050 0.762334 +vt 0.757977 0.772791 +vt 0.747951 0.782232 +vt 0.753377 0.779778 +vt 0.673721 0.775401 +vt 0.678156 0.787723 +vt 0.684794 0.795957 +vt 0.700452 0.795957 +vt 0.707090 0.787723 +vt 0.711525 0.775401 +vt 0.713082 0.717456 +vt 0.672164 0.717456 +vt 0.673721 0.775401 +vt 0.672164 0.717456 +vt 0.713082 0.717456 +vt 0.713082 0.760865 +vt 0.711525 0.775401 +vt 0.707090 0.787723 +vt 0.692623 0.798848 +vt 0.700452 0.795957 +vt 0.627049 0.217391 +vt 0.627049 0.239130 +vt 0.627049 0.326087 +vt 0.627049 0.347826 +vt 0.627049 0.391304 +vt 0.627049 0.413043 +vt 0.627049 0.195652 +vt 0.627049 0.304348 +vt 0.627049 0.260870 +vt 0.627049 0.282609 +vt 0.627049 0.369565 +vt 0.627049 0.173913 +vt 0.627049 0.152174 +vt 0.639344 0.554348 +vt 0.639344 0.565217 +vt 0.639344 0.532609 +vt 0.639344 0.543478 +vt 0.639344 0.586957 +vt 0.639344 0.597826 +vt 0.639344 0.489130 +vt 0.639344 0.500000 +vt 0.639344 0.521739 +vt 0.639344 0.576087 +vt 0.639344 0.478261 +vt 0.639344 0.510870 +vt 0.639344 0.608696 +vt 0.772541 0.510870 +vt 0.772541 0.565217 +vt 0.772541 0.543478 +vt 0.772541 0.597826 +vt 0.772541 0.500000 +vt 0.772541 0.554348 +vt 0.772541 0.532609 +vt 0.772541 0.586957 +vt 0.772541 0.489130 +vt 0.772541 0.521739 +vt 0.772541 0.576087 +vt 0.772541 0.608696 +vt 0.725410 0.271739 +vt 0.737705 0.233696 +vt 0.725410 0.228261 +vt 0.663934 0.358696 +vt 0.725410 0.358696 +vt 0.663934 0.228261 +vt 0.663934 0.402174 +vt 0.663934 0.271739 +vt 0.663934 0.478261 +vt 0.725410 0.402174 +vt 0.795082 0.271739 +vt 0.737705 0.271739 +vt 0.737705 0.396739 +vt 0.737705 0.478261 +vt 0.725410 0.478261 +vt 0.737705 0.228261 +vt 0.737705 0.358696 +vt 0.795082 0.228261 +vt 0.737705 0.152174 +vt 0.795082 0.396739 +vt 0.795082 0.478261 +vt 0.737705 0.402174 +vt 0.795082 0.358696 +vt 0.639344 0.489130 +vt 0.639344 0.456522 +vt 0.409836 0.456522 +vt 0.409836 0.489130 +vt 0.639344 0.565217 +vt 0.639344 0.532609 +vt 0.409836 0.532609 +vt 0.409836 0.565217 +vt 0.741803 0.782609 +vt 0.735656 0.793478 +vt 0.741803 0.793478 +vt 0.760246 0.782609 +vt 0.754098 0.793478 +vt 0.760246 0.793478 +vt 0.725410 0.782609 +vt 0.713115 0.793478 +vt 0.725410 0.793478 +vt 0.735656 0.782609 +vt 0.729508 0.793478 +vt 0.754098 0.782609 +vt 0.747951 0.793478 +vt 0.782787 0.782609 +vt 0.770492 0.793478 +vt 0.782787 0.793478 +vt 0.770492 0.782609 +vt 0.766393 0.793478 +vt 0.729508 0.782609 +vt 0.747951 0.782609 +vt 0.766393 0.782609 +vt 0.709016 0.809783 +vt 0.715164 0.798913 +vt 0.709016 0.798913 +vt 0.684426 0.809783 +vt 0.692623 0.798913 +vt 0.684426 0.798913 +vt 0.663934 0.809783 +vt 0.670082 0.798913 +vt 0.663934 0.798913 +vt 0.715164 0.809783 +vt 0.721311 0.798913 +vt 0.721311 0.809783 +vt 0.737705 0.798913 +vt 0.692623 0.809783 +vt 0.700820 0.798913 +vt 0.670082 0.809783 +vt 0.676230 0.798913 +vt 0.647541 0.809783 +vt 0.647541 0.798913 +vt 0.700820 0.809783 +vt 0.676230 0.809783 +vt 0.561475 0.934783 +vt 0.586066 0.891304 +vt 0.561475 0.891304 +vt 0.491803 0.695652 +vt 0.467213 0.956522 +vt 0.491803 0.956522 +vt 0.561475 0.804348 +vt 0.586066 0.739130 +vt 0.561475 0.739130 +vt 0.586066 0.695652 +vt 0.561475 0.695652 +vt 0.586066 0.804348 +vt 0.561475 0.956522 +vt 0.586066 0.934783 +vt 0.545082 0.739130 +vt 0.553279 0.804348 +vt 0.553279 0.739130 +vt 0.553279 0.956522 +vt 0.561475 0.934783 +vt 0.561475 0.956522 +vt 0.545082 0.804348 +vt 0.545082 0.891304 +vt 0.553279 0.934783 +vt 0.500000 0.956522 +vt 0.536885 0.695652 +vt 0.528689 0.695652 +vt 0.545082 0.804348 +vt 0.500000 0.695652 +vt 0.459016 0.695652 +vt 0.467213 0.695652 +vt 0.545082 0.891304 +vt 0.553279 0.804348 +vt 0.553279 0.934783 +vt 0.545082 0.739130 +vt 0.536885 0.695652 +vt 0.553279 0.739130 +vt 0.536885 0.891304 +vt 0.538934 0.891304 +vt 0.717213 0.717391 +vt 0.676230 0.717391 +vt 0.731557 0.717391 +vt 0.719262 0.717391 +vt 0.758197 0.717391 +vt 0.733607 0.717391 +vt 0.774590 0.717391 +vt 0.793033 0.755435 +vt 0.799180 0.750000 +vt 0.793033 0.750000 +vt 0.780738 0.755435 +vt 0.786885 0.750000 +vt 0.780738 0.750000 +vt 0.768443 0.755435 +vt 0.774590 0.750000 +vt 0.768443 0.750000 +vt 0.805328 0.755435 +vt 0.811475 0.750000 +vt 0.805328 0.750000 +vt 0.786885 0.755435 +vt 0.774590 0.755435 +vt 0.762295 0.755435 +vt 0.762295 0.750000 +vt 0.799180 0.755435 +vt 0.606557 0.853261 +vt 0.598361 0.847826 +vt 0.598361 0.853261 +vt 0.647541 0.793478 +vt 0.627049 0.858696 +vt 0.618852 0.847826 +vt 0.618852 0.858696 +vt 0.639344 0.847826 +vt 0.647541 0.836957 +vt 0.606557 0.798913 +vt 0.598361 0.788043 +vt 0.598361 0.798913 +vt 0.598361 0.804348 +vt 0.606557 0.815217 +vt 0.606557 0.804348 +vt 0.606557 0.847826 +vt 0.598361 0.836957 +vt 0.598361 0.831522 +vt 0.606557 0.836957 +vt 0.606557 0.831522 +vt 0.598361 0.820652 +vt 0.606557 0.820652 +vt 0.598361 0.815217 +vt 0.500000 0.956522 +vt 0.643443 0.972826 +vt 0.602459 0.994565 +vt 0.643443 0.994565 +vt 0.602459 0.885870 +vt 0.643443 0.864130 +vt 0.602459 0.864130 +vt 0.602459 0.972826 +vt 0.643443 0.885870 +vt 0.586066 0.961957 +vt 0.528689 0.967391 +vt 0.586066 0.967391 +vt 0.586066 0.956522 +vt 0.528689 0.961957 +vt 0.586066 0.994565 +vt 0.528689 1.000000 +vt 0.586066 1.000000 +vt 0.586066 0.989130 +vt 0.528689 0.994565 +vt 0.586066 0.983696 +vt 0.528689 0.989130 +vt 0.586066 0.978261 +vt 0.528689 0.983696 +vt 0.586066 0.972826 +vt 0.528689 0.978261 +vt 0.528689 0.972826 +vt 0.553279 0.956522 +vt 0.741803 0.782609 +vt 0.735656 0.793478 +vt 0.741803 0.793478 +vt 0.760246 0.782609 +vt 0.754098 0.793478 +vt 0.760246 0.793478 +vt 0.725410 0.782609 +vt 0.713115 0.793478 +vt 0.725410 0.793478 +vt 0.735656 0.782609 +vt 0.729508 0.793478 +vt 0.754098 0.782609 +vt 0.747951 0.793478 +vt 0.782787 0.782609 +vt 0.770492 0.793478 +vt 0.782787 0.793478 +vt 0.770492 0.782609 +vt 0.766393 0.793478 +vt 0.729508 0.782609 +vt 0.747951 0.782609 +vt 0.766393 0.782609 +vt 0.709016 0.809783 +vt 0.715164 0.798913 +vt 0.709016 0.798913 +vt 0.684426 0.809783 +vt 0.692623 0.798913 +vt 0.684426 0.798913 +vt 0.663934 0.809783 +vt 0.670082 0.798913 +vt 0.663934 0.798913 +vt 0.715164 0.809783 +vt 0.721311 0.798913 +vt 0.721311 0.809783 +vt 0.737705 0.798913 +vt 0.692623 0.809783 +vt 0.700820 0.798913 +vt 0.670082 0.809783 +vt 0.676230 0.798913 +vt 0.647541 0.809783 +vt 0.647541 0.798913 +vt 0.700820 0.809783 +vt 0.676230 0.809783 +vt 0.772541 0.478261 +vt 0.795082 0.233696 +vt 0.795082 0.152174 +vt 0.795082 0.402174 +vt 0.713115 0.782609 +vt 0.737705 0.809783 +vt 0.586066 0.956522 +vt 0.459016 0.956522 +vt 0.811475 0.755435 +vt 0.627049 0.847826 +vt 0.647541 0.847826 +vt 0.606557 0.788043 +vt 0.528689 0.956522 +vt 0.713115 0.782609 +vt 0.737705 0.809783 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.9487 0.0000 0.3162 +vn -0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.9487 0.0000 0.3162 +vn 0.0000 0.6247 0.7809 +vn 0.0000 -0.7682 -0.6402 +vn 0.8660 0.5000 0.0000 +vn -0.8660 0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.4072 -0.9129 0.0287 +vn -0.9363 -0.3291 0.1225 +vn -0.9188 -0.3671 0.1452 +vn 0.3827 -0.9239 0.0000 +vn 0.4072 -0.9129 0.0287 +vn -0.9871 0.0000 0.1602 +vn -0.9239 -0.3827 0.0000 +vn 0.9239 -0.3827 0.0000 +vn -0.3827 -0.9239 0.0000 +vn 0.9188 -0.3671 0.1452 +vn -0.4719 -0.8817 0.0000 +vn 0.9363 -0.3291 0.1225 +vn 0.9871 0.0000 0.1602 +vn 0.4719 -0.8817 0.0000 +vn -0.9571 -0.2898 0.0000 +vn 0.9571 -0.2898 0.0000 +vn 0.0000 0.9923 0.1240 +vn 0.0000 0.9923 -0.1240 +vn 0.0000 0.9981 0.0621 +vn 0.0000 0.9981 -0.0621 +vn 0.0000 0.9412 -0.3377 +vn 0.0000 0.7555 -0.6552 +vn 0.0000 0.7555 0.6552 +vn 0.0000 0.9412 0.3377 +vn 0.0000 0.1138 -0.9935 +vn 0.0000 0.4305 -0.9026 +vn 0.0000 0.1138 0.9935 +vn 0.0000 0.4305 0.9026 +vn 0.0000 0.8121 0.5835 +vn 0.0000 0.4965 0.8681 +vn 0.0000 0.9588 -0.2840 +vn 0.0000 0.1380 -0.9904 +vn 0.0000 0.4964 -0.8681 +vn 0.0000 0.1380 0.9904 +vn 0.0000 0.9588 0.2840 +vn 0.0000 0.8121 -0.5835 +vn -0.3416 -0.3416 -0.8756 +vn 0.4148 -0.2800 -0.8658 +vn -0.4148 -0.2800 -0.8658 +vn -0.2298 0.0000 0.9732 +vn 0.2298 0.0000 0.9732 +vn -0.3711 0.1112 -0.9219 +vn 0.3416 -0.3416 -0.8756 +vn 0.3458 -0.6635 -0.6635 +vn -0.3458 -0.6635 -0.6635 +vn 0.3711 0.1112 -0.9219 +vn -0.3827 0.0000 -0.9239 +vn -0.8727 -0.2257 -0.4330 +vn 0.9239 0.0000 -0.3827 +vn 0.3827 0.0000 -0.9239 +vn -0.9607 -0.1962 -0.1962 +vn -0.9123 0.0530 -0.4062 +vn -0.8507 0.0000 0.5257 +vn 0.9607 -0.1962 -0.1962 +vn 0.9123 0.0530 -0.4062 +vn 0.8507 0.0000 0.5257 +vn 0.8727 -0.2257 -0.4330 +vn -0.9626 -0.0605 -0.2642 +vn 0.9626 -0.0605 -0.2642 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 -0.3827 0.9239 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 -0.9239 0.3827 +vn 0.0000 -0.9732 -0.2298 +vn 0.0000 0.9732 0.2298 +vn 0.0000 0.8944 0.4472 +vn 0.0000 -0.8944 -0.4472 +vn -0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn -0.9239 0.3827 0.0000 +vn 0.9239 0.3827 0.0000 +vn 0.3827 0.9239 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.0000 -0.9239 -0.3827 +vn 0.0000 -0.3827 -0.9239 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn -0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +vn -0.9239 0.0000 -0.3827 +s off +f 2/1/1 3/2/1 1/3/1 +f 6/4/2 4/5/2 2/1/2 +f 8/6/3 3/7/3 4/8/3 +f 107/9/4 1/10/4 5/11/4 +f 33/12/5 22/13/5 21/14/5 +f 40/15/5 29/16/5 28/17/5 +f 37/18/5 26/19/5 25/20/5 +f 32/21/5 33/22/5 21/14/5 +f 22/13/5 35/23/5 23/24/5 +f 29/16/5 42/25/5 30/26/5 +f 26/19/5 39/27/5 27/28/5 +f 23/24/5 36/29/5 24/30/5 +f 42/31/5 31/32/5 30/26/5 +f 27/33/5 40/34/5 28/17/5 +f 36/35/5 25/20/5 24/30/5 +f 43/36/5 32/21/5 31/32/5 +f 60/37/5 49/38/5 48/39/5 +f 67/40/5 56/41/5 55/42/5 +f 57/43/5 46/44/5 45/45/5 +f 64/46/5 53/47/5 52/48/5 +f 49/38/5 62/49/5 50/50/5 +f 56/41/5 57/43/5 45/45/5 +f 58/51/5 47/52/5 46/44/5 +f 65/53/5 54/54/5 53/47/5 +f 50/50/5 63/55/5 51/56/5 +f 59/57/5 48/39/5 47/52/5 +f 66/58/5 55/42/5 54/54/5 +f 51/59/5 64/46/5 52/48/5 +f 79/60/5 75/61/5 71/62/5 +f 82/63/1 83/64/1 81/65/1 +f 85/66/6 87/67/6 86/68/6 +f 88/69/3 83/70/3 84/71/3 +f 86/68/5 82/72/5 81/73/5 +f 87/67/2 84/74/2 82/63/2 +f 85/66/7 81/75/7 83/76/7 +f 89/77/6 91/78/6 90/79/6 +f 100/80/3 89/77/3 97/81/3 +f 110/82/2 108/83/2 106/84/2 +f 106/84/8 6/4/8 2/1/8 +f 108/85/6 5/11/6 6/4/6 +f 105/86/1 2/1/1 1/3/1 +f 111/87/5 110/88/5 109/89/5 +f 109/90/1 106/91/1 105/86/1 +f 111/92/7 105/93/7 107/9/7 +f 112/94/6 107/95/6 108/85/6 +f 103/96/6 90/79/6 91/78/6 +f 117/97/5 118/98/5 119/99/5 +f 120/100/6 104/101/6 103/96/6 +f 123/102/2 128/103/2 124/104/2 +f 125/105/7 186/106/7 188/107/7 +f 185/108/7 126/109/7 187/110/7 +f 131/111/2 136/112/2 132/113/2 +f 134/114/7 129/115/7 130/116/7 +f 156/117/7 152/118/7 139/119/7 +f 146/120/2 145/121/2 143/122/2 +f 163/123/7 167/124/7 159/125/7 +f 169/126/2 170/127/2 172/128/2 +f 182/129/7 7/130/7 181/131/7 +f 1/10/7 182/129/7 183/132/7 +f 5/11/7 183/132/7 184/133/7 +f 191/134/3 184/135/3 183/136/3 +f 190/137/6 183/138/6 182/139/6 +f 189/140/5 182/141/5 181/142/5 +f 196/143/3 188/144/3 186/145/3 +f 197/146/5 185/147/5 187/148/5 +f 198/149/7 195/150/7 197/146/7 +f 126/109/6 197/151/6 187/110/6 +f 189/152/6 7/130/6 8/6/6 +f 214/153/1 204/154/1 203/155/1 +f 192/156/7 190/137/7 189/140/7 +f 236/157/2 230/158/2 232/159/2 +f 233/160/7 231/161/7 229/162/7 +f 239/163/7 235/164/7 233/160/7 +f 236/165/2 240/166/2 234/167/2 +f 242/168/2 240/166/2 238/169/2 +f 243/170/7 237/171/7 239/163/7 +f 247/172/7 241/173/7 243/170/7 +f 242/168/2 248/174/2 244/175/2 +f 255/176/3 252/177/3 251/178/3 +f 254/179/5 249/180/5 250/181/5 +f 256/182/2 250/181/2 252/177/2 +f 253/183/7 251/178/7 249/184/7 +f 258/185/9 253/186/9 254/179/9 +f 255/176/10 258/187/10 256/182/10 +f 253/183/7 257/188/7 255/176/7 +f 254/179/2 256/182/2 258/185/2 +f 128/103/6 198/189/6 197/151/6 +f 125/105/6 198/189/6 127/190/6 +f 263/191/6 265/192/6 264/193/6 +f 266/194/3 261/195/3 262/196/3 +f 264/193/5 260/197/5 259/198/5 +f 281/199/6 279/200/6 277/201/6 +f 306/202/7 299/203/7 300/204/7 +f 287/205/6 289/206/6 288/207/6 +f 290/208/3 285/209/3 286/210/3 +f 288/207/5 284/211/5 283/212/5 +f 289/206/2 286/210/2 284/211/2 +f 287/213/7 283/214/7 285/209/7 +f 295/215/6 297/216/6 296/217/6 +f 306/202/6 303/218/6 305/219/6 +f 314/220/6 311/221/6 313/222/6 +f 298/223/3 293/224/3 294/225/3 +f 296/217/5 292/226/5 291/227/5 +f 305/219/5 301/228/5 299/203/5 +f 313/229/5 309/230/5 307/231/5 +f 304/232/3 300/204/3 302/233/3 +f 312/234/3 308/235/3 310/236/3 +f 310/236/2 311/221/2 312/234/2 +f 341/237/3 326/238/3 323/239/3 +f 337/240/3 322/241/3 326/238/3 +f 319/242/3 341/237/3 323/239/3 +f 325/243/5 339/244/5 324/245/5 +f 320/246/5 339/244/5 327/247/5 +f 321/248/5 335/249/5 325/243/5 +f 320/246/5 331/250/5 315/251/5 +f 332/252/5 321/248/5 316/253/5 +f 340/254/5 336/255/5 316/253/5 +f 333/256/3 319/242/3 317/257/3 +f 322/241/3 334/258/3 318/259/3 +f 338/260/3 342/261/3 317/257/3 +f 351/262/7 343/263/7 352/264/7 +f 353/265/2 346/266/2 354/267/2 +f 360/268/2 364/269/2 368/270/2 +f 359/271/7 357/272/7 365/273/7 +f 390/274/7 386/275/7 373/276/7 +f 380/277/2 379/278/2 377/279/2 +f 397/280/7 401/281/7 393/282/7 +f 403/283/2 404/284/2 406/285/2 +f 2/1/1 4/5/1 3/2/1 +f 6/4/2 8/6/2 4/5/2 +f 8/6/3 7/130/3 3/7/3 +f 107/9/4 105/93/4 1/10/4 +f 33/12/5 34/286/5 22/13/5 +f 40/15/5 41/287/5 29/16/5 +f 37/18/5 38/288/5 26/19/5 +f 32/21/5 44/289/5 33/22/5 +f 22/13/5 34/290/5 35/23/5 +f 29/16/5 41/291/5 42/25/5 +f 26/19/5 38/292/5 39/27/5 +f 23/24/5 35/293/5 36/29/5 +f 42/31/5 43/294/5 31/32/5 +f 27/33/5 39/295/5 40/34/5 +f 36/35/5 37/296/5 25/20/5 +f 43/36/5 44/297/5 32/21/5 +f 60/37/5 61/298/5 49/38/5 +f 67/40/5 68/299/5 56/41/5 +f 57/43/5 58/51/5 46/44/5 +f 64/46/5 65/53/5 53/47/5 +f 49/38/5 61/298/5 62/49/5 +f 56/41/5 68/299/5 57/43/5 +f 58/51/5 59/57/5 47/52/5 +f 65/53/5 66/58/5 54/54/5 +f 50/50/5 62/49/5 63/55/5 +f 59/57/5 60/37/5 48/39/5 +f 66/58/5 67/40/5 55/42/5 +f 51/59/5 63/300/5 64/46/5 +f 71/62/5 70/301/5 79/60/5 +f 70/301/5 69/302/5 79/60/5 +f 69/302/5 80/303/5 79/60/5 +f 79/60/5 78/304/5 77/305/5 +f 77/305/5 76/306/5 75/61/5 +f 75/61/5 74/307/5 71/62/5 +f 74/307/5 73/308/5 71/62/5 +f 73/308/5 72/309/5 71/62/5 +f 79/60/5 77/305/5 75/61/5 +f 82/63/1 84/74/1 83/64/1 +f 85/66/6 88/69/6 87/67/6 +f 88/69/3 85/66/3 83/70/3 +f 86/68/5 87/67/5 82/72/5 +f 87/67/2 88/69/2 84/74/2 +f 85/66/7 86/68/7 81/75/7 +f 89/77/6 92/310/6 91/78/6 +f 100/80/3 99/311/3 92/310/3 +f 92/310/3 89/77/3 100/80/3 +f 89/77/3 98/312/3 97/81/3 +f 110/82/2 112/313/2 108/83/2 +f 106/84/8 108/83/8 6/4/8 +f 108/85/6 107/95/6 5/11/6 +f 105/86/1 106/91/1 2/1/1 +f 111/87/5 112/94/5 110/88/5 +f 109/90/1 110/314/1 106/91/1 +f 111/92/7 109/315/7 105/93/7 +f 112/94/6 111/87/6 107/95/6 +f 103/96/6 104/101/6 90/79/6 +f 119/99/5 115/316/5 117/97/5 +f 115/316/5 116/317/5 117/97/5 +f 116/317/5 120/100/5 117/97/5 +f 120/100/6 116/317/6 104/101/6 +f 123/102/2 127/190/2 128/103/2 +f 125/105/7 121/318/7 186/106/7 +f 185/108/7 122/319/7 126/109/7 +f 131/111/2 135/320/2 136/112/2 +f 134/114/7 133/321/7 129/115/7 +f 156/117/7 155/322/7 154/323/7 +f 154/323/7 153/324/7 156/117/7 +f 153/324/7 152/118/7 156/117/7 +f 152/118/7 142/325/7 139/119/7 +f 142/325/7 141/326/7 139/119/7 +f 141/326/7 140/327/7 139/119/7 +f 139/119/7 138/328/7 137/329/7 +f 137/329/7 156/117/7 139/119/7 +f 145/121/2 144/330/2 143/122/2 +f 143/122/2 158/331/2 157/332/2 +f 157/332/2 151/333/2 143/122/2 +f 151/333/2 150/334/2 149/335/2 +f 143/122/2 151/333/2 147/336/2 +f 149/335/2 148/337/2 151/333/2 +f 148/337/2 147/336/2 151/333/2 +f 147/336/2 146/120/2 143/122/2 +f 159/125/7 160/338/7 161/339/7 +f 161/339/7 162/340/7 159/125/7 +f 162/340/7 163/123/7 159/125/7 +f 163/123/7 164/341/7 167/124/7 +f 164/341/7 165/342/7 167/124/7 +f 165/342/7 166/343/7 167/124/7 +f 167/124/7 173/344/7 174/345/7 +f 174/345/7 159/125/7 167/124/7 +f 170/127/2 171/346/2 172/128/2 +f 172/128/2 180/347/2 179/348/2 +f 179/348/2 178/349/2 172/128/2 +f 178/349/2 177/350/2 176/351/2 +f 172/128/2 178/349/2 168/352/2 +f 176/351/2 175/353/2 178/349/2 +f 175/353/2 168/352/2 178/349/2 +f 168/352/2 169/126/2 172/128/2 +f 182/129/7 3/354/7 7/130/7 +f 1/10/7 3/354/7 182/129/7 +f 5/11/7 1/10/7 183/132/7 +f 191/134/3 192/156/3 184/135/3 +f 190/137/6 191/134/6 183/138/6 +f 189/140/5 190/137/5 182/141/5 +f 196/143/3 198/149/3 188/144/3 +f 197/146/5 195/150/5 185/147/5 +f 198/149/7 196/143/7 195/150/7 +f 126/109/6 128/103/6 197/151/6 +f 8/6/6 6/4/6 189/152/6 +f 6/4/6 5/11/6 192/355/6 +f 5/11/6 184/133/6 192/355/6 +f 189/152/6 181/131/6 7/130/6 +f 6/4/6 192/355/6 189/152/6 +f 214/153/1 202/356/1 204/154/1 +f 204/154/1 221/357/1 203/155/1 +f 221/357/1 223/358/1 203/155/1 +f 203/155/1 201/359/1 214/153/1 +f 201/359/1 215/360/1 214/153/1 +f 192/156/7 191/134/7 190/137/7 +f 236/157/2 234/167/2 230/158/2 +f 233/160/7 235/361/7 231/161/7 +f 239/163/7 237/362/7 235/164/7 +f 236/165/2 238/363/2 240/166/2 +f 242/168/2 244/175/2 240/166/2 +f 243/170/7 241/173/7 237/171/7 +f 247/172/7 245/364/7 241/173/7 +f 242/168/2 246/365/2 248/174/2 +f 255/176/3 256/182/3 252/177/3 +f 254/179/5 253/186/5 249/180/5 +f 256/182/2 254/179/2 250/181/2 +f 253/183/7 255/176/7 251/178/7 +f 258/185/9 257/366/9 253/186/9 +f 255/176/10 257/367/10 258/187/10 +f 128/103/6 127/190/6 198/189/6 +f 125/105/6 188/107/6 198/189/6 +f 263/191/6 266/194/6 265/192/6 +f 266/194/3 263/191/3 261/195/3 +f 264/193/5 265/192/5 260/197/5 +f 277/201/6 276/368/6 275/369/6 +f 275/369/6 282/370/6 281/199/6 +f 281/199/6 280/371/6 279/200/6 +f 279/200/6 278/372/6 277/201/6 +f 277/201/6 275/369/6 281/199/6 +f 306/202/7 305/219/7 299/203/7 +f 287/205/6 290/373/6 289/206/6 +f 290/208/3 287/213/3 285/209/3 +f 288/207/5 289/206/5 284/211/5 +f 289/206/2 290/208/2 286/210/2 +f 287/213/7 288/374/7 283/214/7 +f 295/215/6 298/223/6 297/216/6 +f 306/202/6 304/375/6 303/218/6 +f 314/220/6 312/234/6 311/221/6 +f 298/223/3 295/215/3 293/224/3 +f 296/217/5 297/216/5 292/226/5 +f 305/219/5 303/376/5 301/228/5 +f 313/229/5 311/221/5 309/230/5 +f 304/232/3 306/202/3 300/204/3 +f 312/234/3 314/377/3 308/235/3 +f 310/236/2 309/230/2 311/221/2 +f 341/237/3 337/240/3 326/238/3 +f 337/240/3 330/378/3 322/241/3 +f 319/242/3 329/379/3 341/237/3 +f 325/243/5 335/249/5 339/244/5 +f 320/246/5 324/245/5 339/244/5 +f 321/248/5 328/380/5 335/249/5 +f 320/246/5 327/247/5 331/250/5 +f 332/252/5 328/380/5 321/248/5 +f 336/255/5 332/252/5 316/253/5 +f 316/253/5 315/251/5 340/254/5 +f 315/251/5 331/250/5 340/254/5 +f 333/256/3 329/379/3 319/242/3 +f 322/241/3 330/378/3 334/258/3 +f 342/261/3 333/256/3 317/257/3 +f 317/257/3 318/259/3 338/260/3 +f 318/259/3 334/258/3 338/260/3 +f 351/262/7 347/381/7 345/382/7 +f 345/382/7 343/263/7 351/262/7 +f 343/263/7 348/383/7 352/264/7 +f 353/265/2 349/384/2 344/385/2 +f 344/385/2 346/266/2 353/265/2 +f 346/266/2 350/386/2 354/267/2 +f 356/387/2 358/388/2 360/268/2 +f 360/268/2 362/389/2 364/269/2 +f 364/269/2 366/390/2 368/270/2 +f 368/270/2 370/391/2 356/387/2 +f 356/387/2 360/268/2 368/270/2 +f 357/272/7 355/392/7 369/393/7 +f 369/393/7 367/394/7 357/272/7 +f 367/394/7 365/273/7 357/272/7 +f 365/273/7 363/395/7 361/396/7 +f 361/396/7 359/271/7 365/273/7 +f 390/274/7 389/397/7 388/398/7 +f 388/398/7 387/399/7 390/274/7 +f 387/399/7 386/275/7 390/274/7 +f 386/275/7 376/400/7 373/276/7 +f 376/400/7 375/401/7 373/276/7 +f 375/401/7 374/402/7 373/276/7 +f 373/276/7 372/403/7 371/404/7 +f 371/404/7 390/274/7 373/276/7 +f 379/278/2 378/405/2 377/279/2 +f 377/279/2 392/406/2 391/407/2 +f 391/407/2 385/408/2 377/279/2 +f 385/408/2 384/409/2 383/410/2 +f 377/279/2 385/408/2 381/411/2 +f 383/410/2 382/412/2 385/408/2 +f 382/412/2 381/411/2 385/408/2 +f 381/411/2 380/277/2 377/279/2 +f 393/282/7 394/413/7 395/414/7 +f 395/414/7 396/415/7 393/282/7 +f 396/415/7 397/280/7 393/282/7 +f 397/280/7 398/416/7 401/281/7 +f 398/416/7 399/417/7 401/281/7 +f 399/417/7 400/418/7 401/281/7 +f 401/281/7 407/419/7 408/420/7 +f 408/420/7 393/282/7 401/281/7 +f 404/284/2 405/421/2 406/285/2 +f 406/285/2 414/422/2 413/423/2 +f 413/423/2 412/424/2 406/285/2 +f 412/424/2 411/425/2 410/426/2 +f 406/285/2 412/424/2 402/427/2 +f 410/426/2 409/428/2 412/424/2 +f 409/428/2 402/427/2 412/424/2 +f 402/427/2 403/283/2 406/285/2 +s 1 +f 23/24/11 12/429/7 11/430/11 +f 30/26/2 19/431/12 18/432/2 +f 27/33/1 16/433/13 15/434/1 +f 24/30/7 13/435/14 12/429/7 +f 31/32/12 20/436/15 19/431/12 +f 21/14/6 10/437/16 9/438/6 +f 28/17/13 17/439/17 16/433/13 +f 25/20/14 14/440/18 13/435/14 +f 32/21/15 9/438/6 20/436/15 +f 22/13/16 11/430/11 10/437/16 +f 29/16/17 18/432/2 17/439/17 +f 26/19/18 15/441/1 14/440/18 +f 55/42/12 44/442/15 43/443/12 +f 45/45/6 34/444/16 33/445/6 +f 52/48/13 41/446/17 40/447/13 +f 49/38/14 38/448/18 37/449/14 +f 56/41/15 33/445/6 44/442/15 +f 46/44/16 35/450/11 34/444/16 +f 53/47/17 42/451/2 41/446/17 +f 50/50/18 39/452/1 38/448/18 +f 47/52/11 36/453/7 35/450/11 +f 54/54/2 43/443/12 42/451/2 +f 51/59/1 40/447/13 39/454/1 +f 48/39/7 37/449/14 36/453/7 +f 72/455/2 61/298/12 60/37/2 +f 79/456/14 68/299/18 67/40/14 +f 69/457/1 58/51/13 57/43/1 +f 76/458/16 65/53/11 64/46/16 +f 73/459/12 62/49/15 61/298/12 +f 80/460/18 57/43/1 68/299/18 +f 70/461/13 59/57/17 58/51/13 +f 77/462/11 66/58/7 65/53/11 +f 74/463/15 63/55/6 62/49/15 +f 71/464/17 60/37/2 59/57/17 +f 78/465/7 67/40/14 66/58/7 +f 75/466/6 64/46/16 63/300/6 +f 95/467/19 113/468/20 96/469/21 +f 95/467/19 97/470/22 94/471/23 +f 91/78/24 99/472/25 96/469/21 +f 98/473/26 94/471/23 97/470/22 +f 96/469/21 100/474/27 95/467/19 +f 89/475/7 93/476/28 98/473/26 +f 118/477/29 113/468/20 114/478/29 +f 101/479/30 94/471/23 93/476/28 +f 104/480/31 93/476/28 90/481/31 +f 113/482/20 91/78/24 96/469/21 +f 102/483/32 95/467/19 94/471/23 +f 117/484/33 103/485/24 113/482/20 +f 115/486/34 102/483/32 101/479/30 +f 116/487/7 101/488/30 104/480/31 +f 119/489/32 114/478/29 102/483/32 +f 125/105/35 123/490/35 121/491/35 +f 128/103/36 122/492/36 124/493/36 +f 133/321/37 131/494/35 129/495/35 +f 136/112/38 130/496/36 132/497/36 +f 136/112/38 133/321/37 134/114/38 +f 153/498/39 145/499/40 146/500/39 +f 141/501/41 148/502/42 149/503/41 +f 156/504/43 158/505/3 143/506/43 +f 154/507/40 144/508/44 145/499/40 +f 142/509/42 147/510/6 148/502/42 +f 138/511/5 151/512/45 157/513/5 +f 139/514/45 150/515/46 151/512/45 +f 155/516/44 143/506/43 144/508/44 +f 152/517/6 146/500/39 147/510/6 +f 140/518/46 149/503/41 150/515/46 +f 176/519/47 166/520/48 165/521/47 +f 169/522/49 163/523/6 162/524/49 +f 172/525/50 160/526/51 159/527/50 +f 177/528/48 167/529/52 166/520/48 +f 178/530/52 173/531/5 167/529/52 +f 168/532/6 164/533/53 163/523/6 +f 171/534/51 161/535/54 160/526/51 +f 180/536/3 159/527/50 174/537/3 +f 175/538/53 165/521/47 164/533/53 +f 170/539/54 162/524/49 161/535/54 +f 210/540/55 207/541/56 208/542/57 +f 201/543/58 194/544/59 193/545/58 +f 206/546/60 199/547/61 200/548/55 +f 200/548/55 204/549/62 202/550/63 +f 208/542/57 205/551/64 206/546/60 +f 212/552/65 209/553/61 210/540/55 +f 213/554/66 206/555/60 200/556/55 +f 228/557/67 209/558/61 211/559/68 +f 214/153/69 217/560/70 213/554/66 +f 208/561/57 219/562/66 210/540/55 +f 219/562/66 212/552/65 210/540/55 +f 216/563/71 201/543/58 193/545/58 +f 217/560/70 208/561/57 206/555/60 +f 202/564/63 213/554/66 200/556/55 +f 221/565/72 225/566/73 223/567/74 +f 223/568/74 194/544/59 203/569/59 +f 207/570/56 225/566/73 205/571/64 +f 227/572/75 207/570/56 209/558/61 +f 222/573/75 204/574/62 199/575/61 +f 225/566/73 199/575/61 205/571/64 +f 215/360/71 218/576/76 217/560/70 +f 225/566/73 226/577/77 223/567/74 +f 235/578/78 232/159/3 231/579/3 +f 234/167/79 229/162/5 230/158/5 +f 237/580/80 236/165/78 235/581/78 +f 240/166/81 233/160/79 234/167/79 +f 244/175/82 239/163/81 240/166/81 +f 241/582/83 238/169/80 237/583/80 +f 245/584/84 242/168/83 241/582/83 +f 248/174/85 243/170/82 244/175/82 +f 282/585/86 267/586/3 274/587/86 +f 280/588/87 273/589/2 272/590/87 +f 278/591/88 271/592/5 270/593/88 +f 276/594/89 269/595/7 268/596/89 +f 281/597/2 274/587/86 273/589/2 +f 279/598/5 272/590/87 271/592/5 +f 277/599/7 270/593/88 269/600/7 +f 275/601/3 268/596/89 267/586/3 +f 341/602/27 327/603/25 339/604/27 +f 321/248/90 318/259/2 316/253/2 +f 319/242/91 315/605/7 317/257/7 +f 323/606/92 325/607/93 324/608/92 +f 325/607/93 322/241/90 321/248/90 +f 323/609/92 320/610/91 319/242/91 +f 337/611/22 339/612/27 335/613/22 +f 328/614/26 337/611/22 335/613/22 +f 328/614/26 334/615/91 330/616/26 +f 329/617/25 331/618/90 327/603/25 +f 340/619/93 333/620/90 342/621/93 +f 336/622/92 342/621/93 338/623/92 +f 332/624/91 338/623/92 334/615/91 +f 218/576/76 215/360/71 216/563/71 +f 226/577/77 224/625/74 223/567/74 +f 347/626/80 346/627/6 345/628/6 +f 349/629/94 343/630/1 344/631/1 +f 353/265/95 351/262/78 352/264/95 +f 351/262/78 350/632/80 347/626/80 +f 353/265/95 348/633/94 349/629/94 +f 357/634/96 356/635/3 355/636/3 +f 359/637/1 358/638/96 357/634/96 +f 361/639/97 360/640/1 359/641/1 +f 363/642/5 362/643/97 361/639/97 +f 365/644/98 364/645/5 363/642/5 +f 367/646/6 366/647/98 365/644/98 +f 369/648/99 368/649/6 367/646/6 +f 355/636/3 370/650/99 369/648/99 +f 216/563/71 220/651/100 218/576/76 +f 220/651/100 219/562/66 218/576/76 +f 228/557/67 226/577/77 227/572/75 +f 224/625/74 226/577/77 228/557/67 +f 387/652/39 379/653/40 380/654/39 +f 375/655/41 382/656/42 383/657/41 +f 390/658/43 392/659/3 377/660/43 +f 388/661/40 378/662/44 379/653/40 +f 376/663/42 381/664/6 382/656/42 +f 372/665/5 385/666/45 391/667/5 +f 373/668/45 384/669/46 385/666/45 +f 389/670/44 377/660/43 378/662/44 +f 386/671/6 380/654/39 381/664/6 +f 374/672/46 383/657/41 384/669/46 +f 410/673/47 400/674/48 399/675/47 +f 403/676/49 397/677/6 396/678/49 +f 406/679/50 394/680/51 393/681/50 +f 411/682/48 401/683/52 400/674/48 +f 412/684/52 407/685/5 401/683/52 +f 402/686/6 398/687/53 397/677/6 +f 405/688/51 395/689/54 394/680/51 +f 414/690/3 393/681/50 408/691/3 +f 409/692/53 399/675/47 398/687/53 +f 404/693/54 396/678/49 395/689/54 +f 23/24/11 24/30/7 12/429/7 +f 30/26/2 31/32/12 19/431/12 +f 27/33/1 28/17/13 16/433/13 +f 24/30/7 25/20/14 13/435/14 +f 31/32/12 32/21/15 20/436/15 +f 21/14/6 22/13/16 10/437/16 +f 28/17/13 29/16/17 17/439/17 +f 25/20/14 26/19/18 14/440/18 +f 32/21/15 21/14/6 9/438/6 +f 22/13/16 23/24/11 11/430/11 +f 29/16/17 30/26/2 18/432/2 +f 26/19/18 27/28/1 15/441/1 +f 55/42/12 56/41/15 44/442/15 +f 45/45/6 46/44/16 34/444/16 +f 52/48/13 53/47/17 41/446/17 +f 49/38/14 50/50/18 38/448/18 +f 56/41/15 45/45/6 33/445/6 +f 46/44/16 47/52/11 35/450/11 +f 53/47/17 54/54/2 42/451/2 +f 50/50/18 51/56/1 39/452/1 +f 47/52/11 48/39/7 36/453/7 +f 54/54/2 55/42/12 43/443/12 +f 51/59/1 52/48/13 40/447/13 +f 48/39/7 49/38/14 37/449/14 +f 72/455/2 73/459/12 61/298/12 +f 79/456/14 80/460/18 68/299/18 +f 69/457/1 70/461/13 58/51/13 +f 76/458/16 77/462/11 65/53/11 +f 73/459/12 74/463/15 62/49/15 +f 80/460/18 69/457/1 57/43/1 +f 70/461/13 71/464/17 59/57/17 +f 77/462/11 78/465/7 66/58/7 +f 74/463/15 75/694/6 63/55/6 +f 71/464/17 72/455/2 60/37/2 +f 78/465/7 79/456/14 67/40/14 +f 75/466/6 76/458/16 64/46/16 +f 95/467/19 114/478/29 113/468/20 +f 95/467/19 100/474/27 97/470/22 +f 91/78/24 92/310/2 99/472/25 +f 98/473/26 93/476/28 94/471/23 +f 96/469/21 99/472/25 100/474/27 +f 89/475/7 90/481/31 93/476/28 +f 118/477/29 117/695/33 113/468/20 +f 101/479/30 102/483/32 94/471/23 +f 104/480/31 101/488/30 93/476/28 +f 113/482/20 103/485/24 91/78/24 +f 102/483/32 114/478/29 95/467/19 +f 117/484/33 120/696/2 103/485/24 +f 115/486/34 119/489/32 102/483/32 +f 116/487/7 115/697/34 101/488/30 +f 119/489/32 118/477/29 114/478/29 +f 125/105/35 127/190/35 123/490/35 +f 128/103/36 126/109/36 122/492/36 +f 133/321/37 135/320/37 131/494/35 +f 136/112/38 134/114/38 130/496/36 +f 136/112/38 135/320/37 133/321/37 +f 153/498/39 154/507/40 145/499/40 +f 141/501/41 142/509/42 148/502/42 +f 156/504/43 137/698/3 158/505/3 +f 154/507/40 155/516/44 144/508/44 +f 142/509/42 152/517/6 147/510/6 +f 138/511/5 139/514/45 151/512/45 +f 139/514/45 140/518/46 150/515/46 +f 155/516/44 156/504/43 143/506/43 +f 152/517/6 153/498/39 146/500/39 +f 140/518/46 141/501/41 149/503/41 +f 176/519/47 177/528/48 166/520/48 +f 169/522/49 168/532/6 163/523/6 +f 172/525/50 171/534/51 160/526/51 +f 177/528/48 178/530/52 167/529/52 +f 178/530/52 179/699/5 173/531/5 +f 168/532/6 175/538/53 164/533/53 +f 171/534/51 170/539/54 161/535/54 +f 180/536/3 172/525/50 159/527/50 +f 175/538/53 176/519/47 165/521/47 +f 170/539/54 169/522/49 162/524/49 +f 210/540/55 209/553/61 207/541/56 +f 201/543/58 203/569/59 194/544/59 +f 206/546/60 205/551/64 199/547/61 +f 200/548/55 199/547/61 204/549/62 +f 208/542/57 207/541/56 205/551/64 +f 212/552/65 211/700/68 209/553/61 +f 213/554/66 217/560/70 206/555/60 +f 228/557/67 227/572/75 209/558/61 +f 214/153/69 215/360/71 217/560/70 +f 208/561/57 218/576/76 219/562/66 +f 219/562/66 220/651/100 212/552/65 +f 216/563/71 215/360/71 201/543/58 +f 217/560/70 218/576/76 208/561/57 +f 202/564/63 214/153/69 213/554/66 +f 221/565/72 222/573/75 225/566/73 +f 223/568/74 224/701/74 194/544/59 +f 207/570/56 226/577/77 225/566/73 +f 227/572/75 226/577/77 207/570/56 +f 222/573/75 221/565/72 204/574/62 +f 225/566/73 222/573/75 199/575/61 +f 235/578/78 236/157/78 232/159/3 +f 234/167/79 233/160/79 229/162/5 +f 237/580/80 238/363/80 236/165/78 +f 240/166/81 239/163/81 233/160/79 +f 244/175/82 243/170/82 239/163/81 +f 241/582/83 242/168/83 238/169/80 +f 245/584/84 246/365/84 242/168/83 +f 248/174/85 247/172/85 243/170/82 +f 282/585/86 275/601/3 267/586/3 +f 280/588/87 281/597/2 273/589/2 +f 278/591/88 279/598/5 271/592/5 +f 276/594/89 277/702/7 269/595/7 +f 281/597/2 282/585/86 274/587/86 +f 279/598/5 280/588/87 272/590/87 +f 277/599/7 278/591/88 270/593/88 +f 275/601/3 276/594/89 268/596/89 +f 341/602/27 329/617/25 327/603/25 +f 321/248/90 322/241/90 318/259/2 +f 319/242/91 320/610/91 315/605/7 +f 323/606/92 326/703/93 325/607/93 +f 325/607/93 326/703/93 322/241/90 +f 323/609/92 324/704/92 320/610/91 +f 337/611/22 341/705/27 339/612/27 +f 328/614/26 330/616/26 337/611/22 +f 328/614/26 332/624/91 334/615/91 +f 329/617/25 333/620/90 331/618/90 +f 340/619/93 331/618/90 333/620/90 +f 336/622/92 340/619/93 342/621/93 +f 332/624/91 336/622/92 338/623/92 +f 347/626/80 350/632/80 346/627/6 +f 349/629/94 348/633/94 343/630/1 +f 353/265/95 354/267/78 351/262/78 +f 351/262/78 354/267/78 350/632/80 +f 353/265/95 352/264/95 348/633/94 +f 357/634/96 358/638/96 356/635/3 +f 359/637/1 360/706/1 358/638/96 +f 361/639/97 362/643/97 360/640/1 +f 363/642/5 364/645/5 362/643/97 +f 365/644/98 366/647/98 364/645/5 +f 367/646/6 368/649/6 366/647/98 +f 369/648/99 370/650/99 368/649/6 +f 355/636/3 356/635/3 370/650/99 +f 387/652/39 388/661/40 379/653/40 +f 375/655/41 376/663/42 382/656/42 +f 390/658/43 371/707/3 392/659/3 +f 388/661/40 389/670/44 378/662/44 +f 376/663/42 386/671/6 381/664/6 +f 372/665/5 373/668/45 385/666/45 +f 373/668/45 374/672/46 384/669/46 +f 389/670/44 390/658/43 377/660/43 +f 386/671/6 387/652/39 380/654/39 +f 374/672/46 375/655/41 383/657/41 +f 410/673/47 411/682/48 400/674/48 +f 403/676/49 402/686/6 397/677/6 +f 406/679/50 405/688/51 394/680/51 +f 411/682/48 412/684/52 401/683/52 +f 412/684/52 413/708/5 407/685/5 +f 402/686/6 409/692/53 398/687/53 +f 405/688/51 404/693/54 395/689/54 +f 414/690/3 406/679/50 393/681/50 +f 409/692/53 410/673/47 399/675/47 +f 404/693/54 403/676/49 396/678/49 +o Slide +v -0.125500 1.625000 2.562500 +v -0.312500 1.625000 2.375500 +v 0.312500 1.625000 2.375500 +v 0.125500 1.625000 2.562500 +v -0.312500 1.625000 2.124500 +v -0.125500 1.625000 1.937500 +v 0.125500 1.625000 1.937500 +v 0.312500 1.625000 2.124500 +v -0.125500 1.875000 1.937500 +v -0.312500 2.125000 2.124500 +v -0.312500 2.125000 2.375500 +v -0.125500 1.875000 2.562500 +v 0.125500 1.875000 2.562500 +v 0.312500 2.125000 2.375500 +v 0.312500 2.125000 2.124500 +v 0.125500 1.875000 1.937500 +v 0.187833 2.125000 1.999833 +v 0.187833 2.125000 2.500167 +v -0.187833 2.125000 2.500167 +v -0.187833 2.125000 1.999833 +v -0.375000 1.500000 2.875000 +v 0.375000 1.500000 2.875000 +v -0.375000 1.625000 2.875000 +v 0.375000 1.625000 2.875000 +v -0.375000 1.500000 -1.125000 +v 0.375000 1.500000 -1.125000 +v -0.375000 1.625000 -1.125000 +v 0.375000 1.625000 -1.125000 +vt 0.536885 0.619565 +vt 0.540984 0.684783 +vt 0.536885 0.684783 +vt 0.637295 0.788043 +vt 0.641393 0.755435 +vt 0.641393 0.777174 +vt 0.612705 0.788043 +vt 0.608607 0.755435 +vt 0.612705 0.744565 +vt 0.672131 0.684783 +vt 0.676230 0.619565 +vt 0.676230 0.684783 +vt 0.672131 0.695652 +vt 0.672131 0.619565 +vt 0.540984 0.608696 +vt 0.672131 0.608696 +vt 0.540984 0.619565 +vt 0.637295 0.744565 +vt 0.608607 0.777174 +vt 0.540984 0.695652 +vt 0.600410 0.695652 +vt 0.592213 0.717391 +vt 0.592213 0.695652 +vt 0.614754 0.695652 +vt 0.606557 0.739130 +vt 0.606557 0.695652 +vt 0.629098 0.695652 +vt 0.620902 0.717391 +vt 0.620902 0.695652 +vt 0.586066 0.739130 +vt 0.586066 0.695652 +vt 0.635246 0.739130 +vt 0.629098 0.717391 +vt 0.635246 0.695652 +vt 0.602459 0.739130 +vt 0.600410 0.717391 +vt 0.643443 0.695652 +vt 0.629098 0.793478 +vt 0.620902 0.793478 +vt 0.620902 0.739130 +vt 0.629098 0.739130 +vt 0.614754 0.739130 +vt 0.590164 0.739130 +vt 0.631148 0.739130 +vt 0.618852 0.739130 +vt 0.643443 0.739130 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.3827 0.0000 0.9239 +vn -0.4872 -0.0000 0.8733 +vn -0.3827 0.0000 0.9239 +vn 0.9239 0.0000 -0.3827 +vn 0.9239 -0.0000 0.3827 +vn -0.3827 0.0000 -0.9239 +vn 0.4872 -0.0000 -0.8733 +vn 0.3827 0.0000 -0.9239 +vn -0.9239 -0.0000 0.3827 +vn -0.9239 -0.0000 -0.3827 +vn -0.4872 -0.0000 -0.8733 +vn 0.7071 -0.0000 0.7071 +vn 0.4872 -0.0000 0.8733 +vn 0.5642 0.8256 0.0000 +vn 0.9703 0.2419 0.0000 +vn -0.5642 0.8256 0.0000 +vn -0.9703 0.2419 0.0000 +vn -0.7071 -0.0000 0.7071 +vn -0.7071 -0.0000 -0.7071 +vn 0.7071 -0.0000 -0.7071 +s off +f 439/709/101 442/710/101 440/711/101 +f 433/712/102 424/713/102 425/714/102 +f 432/715/102 429/716/102 431/717/102 +f 438/718/103 435/719/103 436/720/103 +f 436/721/104 442/710/104 438/718/104 +f 437/722/105 439/723/105 435/724/105 +f 438/718/102 441/725/102 437/722/102 +f 439/709/101 441/725/101 442/710/101 +f 433/712/102 434/726/102 424/713/102 +f 432/715/102 428/727/102 429/716/102 +f 438/718/103 437/722/103 435/719/103 +f 436/721/104 440/728/104 442/710/104 +f 437/722/105 441/725/105 439/723/105 +f 438/718/102 442/710/102 441/725/102 +s 1 +f 418/729/106 426/730/107 415/731/108 +f 422/732/109 428/733/110 417/734/110 +f 420/735/111 430/736/112 421/737/113 +f 426/730/107 425/738/114 416/739/114 +f 424/740/115 423/741/116 419/742/115 +f 422/732/109 421/737/113 430/736/112 +f 428/733/110 432/743/117 427/744/118 +f 416/745/114 424/740/115 419/742/115 +f 426/746/119 434/726/120 433/712/120 +f 427/747/121 431/717/122 430/748/121 +f 426/746/119 430/748/121 423/749/119 +f 418/729/106 427/744/118 426/730/107 +f 422/732/109 429/750/109 428/733/110 +f 420/735/111 423/741/116 430/736/112 +f 416/739/114 415/731/108 426/730/107 +f 426/730/107 433/751/123 425/738/114 +f 434/752/124 423/741/116 424/740/115 +f 423/741/116 420/735/111 419/742/115 +f 431/753/125 429/750/109 430/736/112 +f 429/750/109 422/732/109 430/736/112 +f 418/729/106 417/734/110 427/744/118 +f 417/734/110 428/733/110 427/744/118 +f 416/745/114 425/754/114 424/740/115 +f 426/746/119 423/749/119 434/726/120 +f 427/747/121 432/715/122 431/717/122 +f 426/746/119 427/747/121 430/748/121 +o Bullet +v 0.000000 0.750000 -1.312500 +v 0.000000 0.750000 -0.812500 +v 0.132583 0.695083 -1.312500 +v 0.132583 0.695083 -0.812500 +v 0.187500 0.562500 -1.312500 +v 0.187500 0.562500 -0.812500 +v 0.132583 0.429917 -1.312500 +v 0.132583 0.429917 -0.812500 +v 0.000000 0.375000 -1.312500 +v 0.000000 0.375000 -0.812500 +v -0.132583 0.429918 -1.312500 +v -0.132583 0.429917 -0.812500 +v -0.187500 0.562500 -1.312500 +v -0.187500 0.562500 -0.812500 +v -0.132583 0.695082 -1.312500 +v -0.132583 0.695082 -0.812500 +v 0.099437 0.661937 -0.562500 +v 0.000000 0.703125 -0.562500 +v 0.140625 0.562500 -0.562500 +v 0.099437 0.463063 -0.562500 +v 0.000000 0.421875 -0.562500 +v -0.099437 0.463063 -0.562500 +v -0.140625 0.562500 -0.562500 +v -0.099437 0.661937 -0.562500 +v 0.033145 0.595646 -0.437500 +v 0.000000 0.609375 -0.437500 +v 0.046875 0.562500 -0.437500 +v 0.033145 0.529354 -0.437500 +v 0.000000 0.515625 -0.437500 +v -0.033146 0.529354 -0.437500 +v -0.046875 0.562500 -0.437500 +v -0.033146 0.595646 -0.437500 +vt 0.875234 0.004815 +vt 0.877028 0.016304 +vt 0.875234 0.027794 +vt 0.870902 0.032553 +vt 0.866569 0.027794 +vt 0.864775 0.016304 +vt 0.866569 0.004815 +vt 0.870902 0.000056 +vt 0.852459 0.043478 +vt 0.836066 0.054348 +vt 0.836066 0.043478 +vt 0.852459 0.054348 +vt 0.836066 0.065217 +vt 0.852459 0.065217 +vt 0.836066 0.076087 +vt 0.852459 0.076087 +vt 0.836066 0.086957 +vt 0.852459 -0.000000 +vt 0.836066 0.010870 +vt 0.836066 -0.000000 +vt 0.852459 0.010870 +vt 0.836066 0.021739 +vt 0.860656 0.010870 +vt 0.852459 0.021739 +vt 0.836066 0.032609 +vt 0.852459 0.032609 +vt 0.860656 0.054348 +vt 0.864754 0.059783 +vt 0.860656 0.065217 +vt 0.860656 0.043478 +vt 0.860656 0.076087 +vt 0.860656 0.021739 +vt 0.852459 0.086957 +vt 0.860656 0.086957 +vt 0.860656 0.032609 +vt 0.868223 0.034278 +vt 0.868811 0.038043 +vt 0.864796 0.038043 +vt 0.864754 0.027174 +vt 0.864754 0.000000 +vt 0.864754 0.005435 +vt 0.864754 0.065217 +vt 0.864754 0.070652 +vt 0.864754 0.048913 +vt 0.864754 0.038043 +vt 0.864754 0.010870 +vt 0.864754 0.016304 +vt 0.864754 0.081522 +vt 0.860656 0.000000 +vt 0.864754 0.054348 +vt 0.868223 0.041808 +vt 0.866803 0.043368 +vt 0.865384 0.041808 +vt 0.865384 0.034278 +vt 0.866803 0.032719 +vt 0.864754 0.021739 +vt 0.864754 0.043478 +vt 0.864754 0.032609 +vt 0.864754 0.076087 +vn 0.0000 0.0000 -1.0000 +vn -0.0000 0.9959 0.0905 +vn 0.7071 0.7071 0.0000 +vn -0.0000 1.0000 0.0000 +vn 0.7042 0.7042 0.0905 +vn 1.0000 0.0000 0.0000 +vn 0.9959 0.0000 0.0905 +vn 0.7071 -0.7071 0.0000 +vn 0.7042 -0.7042 0.0905 +vn -0.0000 -1.0000 0.0000 +vn -0.0000 -0.9959 0.0905 +vn -0.7071 -0.7071 -0.0000 +vn -0.7042 -0.7042 0.0905 +vn -1.0000 -0.0000 -0.0000 +vn -0.6530 -0.6530 0.3835 +vn -0.9959 0.0000 0.0905 +vn -0.7071 0.7071 0.0000 +vn -0.7042 0.7042 0.0905 +vn 0.6530 0.6530 0.3835 +vn 0.5275 0.0000 0.8496 +vn 0.9235 0.0000 0.3835 +vn 0.0000 0.9235 0.3835 +vn 0.6530 -0.6530 0.3835 +vn -0.9235 -0.0000 0.3835 +vn 0.0000 -0.9235 0.3835 +vn -0.6530 0.6530 0.3835 +vn 0.3730 -0.3730 0.8496 +vn -0.5275 0.0000 0.8496 +vn -0.3730 0.3730 0.8496 +vn 0.0000 -0.5275 0.8496 +vn -0.3730 -0.3730 0.8496 +vn 0.3730 0.3730 0.8496 +vn 0.0000 0.5275 0.8496 +s off +f 453/755/126 455/756/126 457/757/126 +f 457/757/126 443/758/126 445/759/126 +f 445/759/126 447/760/126 457/757/126 +f 447/760/126 449/761/126 457/757/126 +f 449/761/126 451/762/126 457/757/126 +f 451/762/126 453/755/126 457/757/126 +s 1 +f 444/763/127 445/764/128 443/765/129 +f 446/766/130 447/767/131 445/764/128 +f 448/768/132 449/769/133 447/767/131 +f 450/770/134 451/771/135 449/769/133 +f 452/772/136 453/773/137 451/774/135 +f 454/775/138 455/776/139 453/773/137 +f 452/772/136 464/777/140 454/775/138 +f 456/778/141 457/779/142 455/776/139 +f 458/780/143 443/765/129 457/779/142 +f 459/781/144 469/782/145 461/783/146 +f 458/780/143 460/784/147 444/763/127 +f 444/763/127 459/781/144 446/766/130 +f 450/770/134 461/783/146 462/785/148 +f 454/775/138 465/786/149 456/778/141 +f 452/787/136 462/785/148 463/788/150 +f 458/780/143 465/786/149 466/789/151 +f 448/768/132 459/781/144 461/783/146 +f 470/790/152 469/791/145 473/792/153 +f 465/786/149 474/793/154 466/789/151 +f 464/777/140 471/794/155 472/795/156 +f 462/785/148 469/796/145 470/797/152 +f 460/784/147 467/798/157 459/781/144 +f 466/789/151 468/799/158 460/784/147 +f 465/786/149 472/800/156 473/801/153 +f 462/785/148 471/802/155 463/788/150 +f 444/763/127 446/766/130 445/764/128 +f 446/766/130 448/768/132 447/767/131 +f 448/768/132 450/770/134 449/769/133 +f 450/770/134 452/787/136 451/771/135 +f 452/772/136 454/775/138 453/773/137 +f 454/775/138 456/778/141 455/776/139 +f 452/772/136 463/803/150 464/777/140 +f 456/778/141 458/780/143 457/779/142 +f 458/780/143 444/763/127 443/765/129 +f 459/781/144 467/804/157 469/782/145 +f 458/780/143 466/789/151 460/784/147 +f 444/763/127 460/784/147 459/781/144 +f 450/770/134 448/768/132 461/783/146 +f 454/775/138 464/777/140 465/786/149 +f 452/787/136 450/770/134 462/785/148 +f 458/780/143 456/778/141 465/786/149 +f 448/768/132 446/766/130 459/781/144 +f 469/791/145 467/805/157 473/792/153 +f 467/805/157 468/806/158 473/792/153 +f 468/806/158 474/807/154 473/792/153 +f 473/792/153 472/808/156 471/809/155 +f 471/809/155 470/790/152 473/792/153 +f 465/786/149 473/810/153 474/793/154 +f 464/777/140 463/803/150 471/794/155 +f 462/785/148 461/783/146 469/796/145 +f 460/784/147 468/811/158 467/798/157 +f 466/789/151 474/812/154 468/799/158 +f 465/786/149 464/777/140 472/800/156 +f 462/785/148 470/813/152 471/802/155 +o Magazine +v 0.375000 -4.750000 -0.375000 +v -0.375000 -4.750000 -0.375000 +v 0.375000 -4.750000 -1.375000 +v -0.375000 -4.750000 -1.375000 +v -0.375000 0.750000 -1.375000 +v 0.375000 0.750000 -1.375000 +v -0.375000 0.500000 -0.375000 +v 0.375000 0.500000 -0.375000 +v 0.375000 0.750000 -0.875000 +v -0.375000 0.750000 -0.875000 +v -0.187500 0.500000 -0.375000 +v -0.187500 0.500000 -1.375000 +v 0.187500 0.500000 -0.375000 +v 0.187500 0.500000 -1.375000 +v -0.187500 0.750000 -1.375000 +v -0.187500 0.750000 -0.875000 +v 0.187500 0.750000 -1.375000 +v 0.187500 0.750000 -0.875000 +vt 0.819672 0.141304 +vt 0.852459 0.206522 +vt 0.819672 0.206522 +vt 0.813525 0.663043 +vt 0.801230 0.663043 +vt 0.909836 0.663043 +vt 0.893443 0.684783 +vt 0.877049 0.684783 +vt 0.852459 0.684783 +vt 0.836066 0.684783 +vt 0.819672 0.663043 +vt 0.801230 0.750000 +vt 0.877049 0.701087 +vt 0.877049 0.722826 +vt 0.893443 0.701087 +vt 0.909836 0.722826 +vt 0.909836 0.684783 +vt 0.836066 0.701087 +vt 0.852459 0.722826 +vt 0.819672 0.722826 +vt 0.819672 0.701087 +vt 0.819672 0.684783 +vt 0.877049 0.206522 +vt 0.870902 0.663043 +vt 0.858607 0.663043 +vt 0.852459 0.141304 +vt 0.795082 0.663043 +vt 0.795082 0.206522 +vt 0.909836 0.206522 +vt 0.813525 0.750000 +vt 0.909836 0.701087 +vt 0.852459 0.701087 +vt 0.870902 0.684783 +vt 0.858607 0.684783 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.8944 0.4472 +vn 0.0000 0.0000 -1.0000 +s off +f 476/814/159 477/815/159 475/816/159 +f 475/816/160 487/817/160 485/818/160 +f 481/819/161 484/820/161 479/821/161 +f 480/822/162 483/823/162 482/824/162 +f 487/817/163 486/825/163 485/818/163 +f 484/820/163 489/826/163 479/821/163 +f 486/827/162 490/828/162 485/829/162 +f 481/830/164 490/828/164 484/820/164 +f 480/822/163 492/831/163 483/823/163 +f 492/831/161 488/832/161 487/833/161 +f 483/823/164 487/834/164 482/835/164 +f 478/836/165 486/837/165 488/838/165 +f 476/814/159 478/839/159 477/815/159 +f 481/840/160 476/841/160 485/818/160 +f 476/841/160 475/816/160 485/818/160 +f 475/816/160 482/824/160 487/817/160 +f 479/821/161 478/836/161 481/819/161 +f 478/836/161 476/842/161 481/819/161 +f 482/824/162 475/816/162 477/815/162 +f 477/815/162 480/822/162 482/824/162 +f 487/817/163 488/843/163 486/825/163 +f 484/820/163 490/828/163 489/826/163 +f 486/827/162 489/826/162 490/828/162 +f 481/830/164 485/844/164 490/828/164 +f 480/822/163 491/845/163 492/831/163 +f 492/831/161 491/845/161 488/832/161 +f 483/823/164 492/831/164 487/834/164 +f 480/822/165 477/815/165 488/838/165 +f 477/815/165 478/836/165 488/838/165 +f 478/836/165 479/821/165 486/837/165 +f 479/821/165 489/846/165 486/837/165 +f 488/838/165 491/847/165 480/822/165 +o StockFront +v 0.750000 0.000000 -2.500000 +v 0.750000 0.000000 -5.500000 +v 0.750000 0.437500 -5.500000 +v 0.750000 0.562500 -5.625000 +v 0.750000 0.562500 -5.875000 +v 0.750000 0.437500 -6.000000 +v 0.750000 -0.375000 -2.500000 +v 0.750000 -0.625000 -2.750000 +v 0.750000 -0.625000 -6.000000 +v 0.625000 0.437500 -6.000000 +v 0.625000 0.562500 -5.875000 +v 0.625000 0.562500 -5.625000 +v 0.625000 0.437500 -5.500000 +v 0.625000 0.000000 -5.500000 +v 0.625000 0.000000 -2.500000 +v 0.625000 -0.375000 -2.500000 +v 0.625000 -0.625000 -2.750000 +v 0.625000 -0.625000 -6.000000 +v -0.625000 0.000000 -2.500000 +v -0.625000 0.000000 -5.500000 +v -0.625000 0.437500 -5.500000 +v -0.625000 0.562500 -5.625000 +v -0.625000 0.562500 -5.875000 +v -0.625000 0.437500 -6.000000 +v -0.625000 -0.375000 -2.500000 +v -0.625000 -0.625000 -2.750000 +v -0.625000 -0.625000 -6.000000 +v -0.750000 0.437500 -6.000000 +v -0.750000 0.562500 -5.875000 +v -0.750000 0.562500 -5.625000 +v -0.750000 0.437500 -5.500000 +v -0.750000 0.000000 -5.500000 +v -0.750000 0.000000 -2.500000 +v -0.750000 -0.375000 -2.500000 +v -0.750000 -0.625000 -2.750000 +v -0.750000 -0.625000 -6.000000 +v -0.875000 -0.312500 -3.125000 +v 0.875000 -0.312500 -3.125000 +v -0.875000 -0.400888 -3.088388 +v 0.875000 -0.400888 -3.088388 +v -0.875000 -0.437500 -3.000000 +v 0.875000 -0.437500 -3.000000 +v -0.875000 -0.400888 -2.911612 +v 0.875000 -0.400888 -2.911612 +v -0.875000 -0.312500 -2.875000 +v 0.875000 -0.312500 -2.875000 +v -0.875000 -0.224112 -2.911612 +v 0.875000 -0.224112 -2.911612 +v -0.875000 -0.187500 -3.000000 +v 0.875000 -0.187500 -3.000000 +v -0.875000 -0.224112 -3.088388 +v 0.875000 -0.224112 -3.088388 +vt 0.881148 0.896739 +vt 0.897541 0.842391 +vt 0.897541 0.934783 +vt 0.790984 0.842391 +vt 0.881148 0.739130 +vt 0.885246 0.728261 +vt 0.897541 0.739130 +vt 0.881148 0.777174 +vt 0.897541 0.831522 +vt 0.790984 0.831522 +vt 0.897541 0.945652 +vt 0.893443 0.956522 +vt 0.893443 0.945652 +vt 0.901639 0.934783 +vt 0.885246 0.956522 +vt 0.885246 0.945652 +vt 0.782787 0.896739 +vt 0.778689 0.864130 +vt 0.782787 0.864130 +vt 0.881148 0.956522 +vt 0.881148 0.945652 +vt 0.782787 0.842391 +vt 0.877049 0.739130 +vt 0.877049 0.777174 +vt 0.782787 0.907609 +vt 0.881148 0.896739 +vt 0.897541 0.842391 +vt 0.897541 0.934783 +vt 0.790984 0.842391 +vt 0.881148 0.739130 +vt 0.885246 0.728261 +vt 0.897541 0.739130 +vt 0.881148 0.777174 +vt 0.897541 0.831522 +vt 0.790984 0.831522 +vt 0.897541 0.945652 +vt 0.893443 0.956522 +vt 0.893443 0.945652 +vt 0.901639 0.934783 +vt 0.885246 0.956522 +vt 0.885246 0.945652 +vt 0.782787 0.896739 +vt 0.778689 0.864130 +vt 0.782787 0.864130 +vt 0.881148 0.956522 +vt 0.881148 0.945652 +vt 0.782787 0.842391 +vt 0.877049 0.739130 +vt 0.877049 0.777174 +vt 0.782787 0.907609 +vt 0.524591 0.999951 +vt 0.520510 0.989130 +vt 0.524591 0.978309 +vt 0.527475 0.975042 +vt 0.524590 0.978212 +vt 0.521705 0.975042 +vt 0.881148 0.934783 +vt 0.893443 0.728261 +vt 0.782787 0.809783 +vt 0.782787 0.777174 +vt 0.897541 0.956522 +vt 0.901639 0.842391 +vt 0.778689 0.896739 +vt 0.782787 0.831522 +vt 0.881148 0.907609 +vt 0.881148 0.934783 +vt 0.893443 0.728261 +vt 0.782787 0.809783 +vt 0.782787 0.777174 +vt 0.897541 0.956522 +vt 0.901639 0.842391 +vt 0.778689 0.896739 +vt 0.782787 0.831522 +vt 0.881148 0.907609 +vt 0.527476 0.981478 +vt 0.528671 0.989130 +vt 0.527476 0.996782 +vt 0.521705 0.996782 +vt 0.521705 0.981478 +vt 0.520510 0.967391 +vt 0.521705 0.959739 +vt 0.524590 0.956569 +vt 0.527475 0.959739 +vt 0.528670 0.967391 +vt 0.528689 0.967391 +vt 0.586066 0.961957 +vt 0.586066 0.967391 +vt 0.528689 0.961957 +vt 0.586066 0.956522 +vt 0.528689 1.000000 +vt 0.586066 0.994565 +vt 0.586066 1.000000 +vt 0.528689 0.994565 +vt 0.586066 0.989130 +vt 0.528689 0.989130 +vt 0.586066 0.983696 +vt 0.528689 0.983696 +vt 0.586066 0.978261 +vt 0.528689 0.978261 +vt 0.586066 0.972826 +vt 0.528689 0.972826 +vt 0.528689 0.956522 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.7071 -0.7071 +s off +f 494/848/166 501/849/166 498/850/166 +f 500/851/166 501/849/166 494/848/166 +f 505/852/167 504/853/167 502/854/167 +f 506/855/167 510/856/167 509/857/167 +f 498/858/168 503/859/168 497/860/168 +f 501/849/169 502/861/169 498/850/169 +f 497/860/170 504/862/170 496/863/170 +f 493/864/171 508/865/171 499/866/171 +f 496/863/172 505/867/172 495/868/172 +f 499/869/173 509/857/173 500/851/173 +f 495/870/171 506/855/171 494/871/171 +f 494/848/170 507/872/170 493/864/170 +f 500/851/174 510/856/174 501/849/174 +f 512/873/166 519/874/166 516/875/166 +f 518/876/166 519/874/166 512/873/166 +f 523/877/167 522/878/167 520/879/167 +f 524/880/167 528/881/167 527/882/167 +f 516/883/168 521/884/168 515/885/168 +f 519/874/169 520/886/169 516/875/169 +f 515/885/170 522/887/170 514/888/170 +f 511/889/171 526/890/171 517/891/171 +f 514/888/172 523/892/172 513/893/172 +f 517/894/173 527/882/173 518/876/173 +f 513/895/171 524/880/171 512/896/171 +f 512/873/170 525/897/170 511/889/170 +f 518/876/174 528/881/174 519/874/174 +f 542/898/166 538/899/166 534/900/166 +f 539/901/167 541/902/167 543/903/167 +f 498/850/166 497/860/166 496/863/166 +f 496/863/166 495/904/166 498/850/166 +f 495/904/166 494/848/166 498/850/166 +f 494/848/166 493/864/166 500/851/166 +f 493/864/166 499/866/166 500/851/166 +f 504/853/167 503/905/167 502/854/167 +f 502/854/167 510/856/167 506/855/167 +f 506/855/167 505/852/167 502/854/167 +f 508/906/167 507/907/167 509/857/167 +f 507/907/167 506/855/167 509/857/167 +f 498/858/168 502/908/168 503/859/168 +f 501/849/169 510/909/169 502/861/169 +f 497/860/170 503/859/170 504/862/170 +f 493/864/171 507/910/171 508/865/171 +f 496/863/172 504/862/172 505/867/172 +f 499/869/173 508/911/173 509/857/173 +f 495/870/171 505/852/171 506/855/171 +f 494/848/170 506/912/170 507/872/170 +f 500/851/174 509/857/174 510/856/174 +f 516/875/166 515/885/166 514/888/166 +f 514/888/166 513/913/166 516/875/166 +f 513/913/166 512/873/166 516/875/166 +f 512/873/166 511/889/166 518/876/166 +f 511/889/166 517/891/166 518/876/166 +f 522/878/167 521/914/167 520/879/167 +f 520/879/167 528/881/167 524/880/167 +f 524/880/167 523/877/167 520/879/167 +f 526/915/167 525/916/167 527/882/167 +f 525/916/167 524/880/167 527/882/167 +f 516/883/168 520/917/168 521/884/168 +f 519/874/169 528/918/169 520/886/169 +f 515/885/170 521/884/170 522/887/170 +f 511/889/171 525/919/171 526/890/171 +f 514/888/172 522/887/172 523/892/172 +f 517/894/173 526/920/173 527/882/173 +f 513/895/171 523/877/171 524/880/171 +f 512/873/170 524/921/170 525/897/170 +f 518/876/174 527/882/174 528/881/174 +f 534/900/166 532/922/166 530/923/166 +f 530/923/166 544/924/166 542/898/166 +f 542/898/166 540/925/166 538/899/166 +f 538/899/166 536/926/166 534/900/166 +f 534/900/166 530/923/166 542/898/166 +f 543/903/167 529/927/167 531/928/167 +f 531/928/167 533/929/167 543/903/167 +f 533/929/167 535/930/167 543/903/167 +f 535/930/167 537/931/167 543/903/167 +f 537/931/167 539/901/167 543/903/167 +s 1 +f 530/932/169 531/933/175 529/934/169 +f 532/935/175 533/936/174 531/933/175 +f 534/937/174 535/938/173 533/939/174 +f 536/940/173 537/941/171 535/938/173 +f 538/942/171 539/943/172 537/941/171 +f 540/944/172 541/945/170 539/943/172 +f 542/946/170 543/947/168 541/945/170 +f 544/948/168 529/934/169 543/947/168 +f 530/932/169 532/935/175 531/933/175 +f 532/935/175 534/949/174 533/936/174 +f 534/937/174 536/940/173 535/938/173 +f 536/940/173 538/942/171 537/941/171 +f 538/942/171 540/944/172 539/943/172 +f 540/944/172 542/946/170 541/945/170 +f 542/946/170 544/948/168 543/947/168 +f 544/948/168 530/932/169 529/934/169 +o StockBack +v 0.500000 0.000000 -2.500000 +v 0.500000 0.000000 -6.000000 +v 0.625000 0.000000 -6.000000 +v 0.625000 0.000000 -2.500000 +v 0.500000 -0.625000 -6.000000 +v 0.625000 -0.625000 -6.000000 +v 0.625000 -0.625000 -2.500000 +v 0.500000 -0.625000 -2.500000 +v 0.625000 0.000000 -6.000000 +v -0.625000 0.000000 -6.000000 +v 0.625000 -3.250000 -6.000000 +v -0.625000 -3.250000 -6.000000 +v 0.625000 0.000000 -6.250000 +v -0.625000 0.000000 -6.250000 +v 0.625000 -3.250000 -6.250000 +v -0.625000 -3.250000 -6.250000 +v 0.625000 -0.500000 -6.750000 +v -0.625000 -0.500000 -6.750000 +v 0.625000 -0.625000 -4.000000 +v 0.500000 -0.625000 -4.000000 +v 0.625000 -2.625000 -6.000000 +v 0.500000 -2.625000 -6.000000 +v 0.625000 -0.625000 -4.500000 +v 0.625000 -2.125000 -6.000000 +v 0.500000 -0.625000 -4.500000 +v 0.500000 -2.125000 -6.000000 +v -0.625000 0.000000 -2.500000 +v -0.625000 0.000000 -6.000000 +v -0.500000 0.000000 -6.000000 +v -0.500000 0.000000 -2.500000 +v -0.625000 -0.625000 -6.000000 +v -0.500000 -0.625000 -6.000000 +v -0.500000 -0.625000 -2.500000 +v -0.625000 -0.625000 -2.500000 +v -0.500000 -0.625000 -4.000000 +v -0.625000 -0.625000 -4.000000 +v -0.500000 -2.625000 -6.000000 +v -0.625000 -2.625000 -6.000000 +v -0.500000 -0.625000 -4.500000 +v -0.500000 -2.125000 -6.000000 +v -0.625000 -0.625000 -4.500000 +v -0.625000 -2.125000 -6.000000 +vt 0.778689 0.929348 +vt 0.663934 0.940217 +vt 0.663934 0.929348 +vt 0.663934 0.864130 +vt 0.778689 0.875000 +vt 0.663934 0.875000 +vt 0.659836 0.929348 +vt 0.778689 0.940217 +vt 0.663934 0.994565 +vt 0.934426 0.543478 +vt 0.975410 0.260870 +vt 0.975410 0.543478 +vt 1.000000 0.500000 +vt 0.934426 0.565217 +vt 0.934426 0.260870 +vt 0.975410 0.239130 +vt 0.975410 0.565217 +vt 0.934426 0.608696 +vt 0.934426 0.000000 +vt 0.934426 0.239130 +vt 0.909836 0.500000 +vt 0.922131 0.858696 +vt 0.926230 0.608696 +vt 0.926230 0.858696 +vt 0.938525 0.826087 +vt 0.909836 0.641304 +vt 0.922131 0.608696 +vt 0.942623 0.641304 +vt 0.938525 0.641304 +vt 0.778689 0.929348 +vt 0.663934 0.940217 +vt 0.663934 0.929348 +vt 0.663934 0.864130 +vt 0.778689 0.875000 +vt 0.663934 0.875000 +vt 0.659836 0.929348 +vt 0.778689 0.940217 +vt 0.663934 0.994565 +vt 0.922131 0.858696 +vt 0.926230 0.608696 +vt 0.926230 0.858696 +vt 0.938525 0.826087 +vt 0.909836 0.641304 +vt 0.922131 0.608696 +vt 0.942623 0.641304 +vt 0.938525 0.641304 +vt 0.778689 0.864130 +vt 0.659836 0.875000 +vt 0.778689 0.994565 +vt 0.983607 0.260870 +vt 0.983607 0.543478 +vt 0.975410 0.608696 +vt 0.975410 0.000000 +vt 0.926230 0.543478 +vt 0.926230 0.260870 +vt 0.909836 0.826087 +vt 0.942623 0.826087 +vt 0.778689 0.864130 +vt 0.659836 0.875000 +vt 0.778689 0.994565 +vt 0.909836 0.826087 +vt 0.942623 0.826087 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.1789 -0.9839 +vn 0.0000 -0.7071 0.7071 +s off +f 547/950/176 545/951/176 548/952/176 +f 552/953/177 550/954/177 551/955/177 +f 545/956/178 551/955/178 548/952/178 +f 546/957/179 552/958/179 545/951/179 +f 548/952/180 550/954/180 547/950/180 +f 554/959/178 555/960/178 553/961/178 +f 561/962/180 553/961/180 555/960/180 +f 553/961/176 558/963/176 554/959/176 +f 556/964/177 559/965/177 555/960/177 +f 557/966/181 562/967/181 558/963/181 +f 562/968/182 559/965/182 560/969/182 +f 562/970/179 556/964/179 554/959/179 +f 564/971/183 565/972/183 563/973/183 +f 565/972/180 567/974/180 563/973/180 +f 564/971/179 570/975/179 566/976/179 +f 570/977/181 567/974/181 568/978/181 +f 573/979/176 571/980/176 574/981/176 +f 578/982/177 576/983/177 577/984/177 +f 571/985/178 577/984/178 574/981/178 +f 572/986/179 578/987/179 571/980/179 +f 574/981/180 576/983/180 573/979/180 +f 580/988/183 581/989/183 579/990/183 +f 581/989/180 583/991/180 579/990/180 +f 580/988/179 586/992/179 582/993/179 +f 586/994/181 583/991/181 584/995/181 +f 547/950/176 546/957/176 545/951/176 +f 552/953/177 549/996/177 550/954/177 +f 545/956/178 552/997/178 551/955/178 +f 546/957/179 549/998/179 552/958/179 +f 548/952/180 551/955/180 550/954/180 +f 554/959/178 556/964/178 555/960/178 +f 555/960/180 559/999/180 561/962/180 +f 561/962/180 557/1000/180 553/961/180 +f 553/961/176 557/966/176 558/963/176 +f 556/964/177 560/969/177 559/965/177 +f 557/966/181 561/1001/181 562/967/181 +f 562/968/182 561/1002/182 559/965/182 +f 554/959/179 558/1003/179 562/970/179 +f 562/970/179 560/1004/179 556/964/179 +f 564/971/183 566/976/183 565/972/183 +f 565/972/180 568/978/180 567/974/180 +f 564/971/179 569/1005/179 570/975/179 +f 570/977/181 569/1006/181 567/974/181 +f 573/979/176 572/986/176 571/980/176 +f 578/982/177 575/1007/177 576/983/177 +f 571/985/178 578/1008/178 577/984/178 +f 572/986/179 575/1009/179 578/987/179 +f 574/981/180 577/984/180 576/983/180 +f 580/988/183 582/993/183 581/989/183 +f 581/989/180 584/995/180 583/991/180 +f 580/988/179 585/1010/179 586/992/179 +f 586/994/181 585/1011/181 583/991/181 +o Silencer +v 0.000000 1.500000 6.375000 +v -0.375000 1.399519 6.375000 +v -0.649519 1.125000 6.375000 +v -0.750000 0.750000 6.375000 +v -0.649519 0.375000 6.375000 +v -0.375000 0.100481 6.375000 +v 0.000000 0.000000 6.375000 +v 0.375000 0.100481 6.375000 +v 0.649519 0.375000 6.375000 +v 0.750000 0.750000 6.375000 +v 0.649519 1.124999 6.375000 +v 0.375000 1.399519 6.375000 +v -0.375000 1.399519 16.375000 +v 0.000000 1.500000 16.375000 +v -0.649519 1.125000 16.375000 +v -0.750000 0.750000 16.375000 +v -0.649519 0.375000 16.375000 +v -0.375000 0.100481 16.375000 +v 0.000000 0.000000 16.375000 +v 0.375000 0.100481 16.375000 +v 0.649519 0.375000 16.375000 +v 0.750000 0.750000 16.375000 +v 0.649519 1.124999 16.375000 +v 0.375000 1.399519 16.375000 +v -0.093750 0.912380 16.375000 +v 0.000000 0.937500 16.375000 +v -0.162380 0.843750 16.375000 +v -0.187500 0.750000 16.375000 +v -0.162380 0.656250 16.375000 +v -0.093750 0.587620 16.375000 +v 0.000000 0.562500 16.375000 +v 0.093750 0.587620 16.375000 +v 0.162380 0.656250 16.375000 +v 0.187500 0.750000 16.375000 +v 0.162380 0.843750 16.375000 +v 0.093750 0.912380 16.375000 +v -0.093750 0.912382 14.375000 +v 0.000000 0.937502 14.375000 +v -0.162380 0.843752 14.375000 +v -0.187500 0.750002 14.375000 +v -0.162380 0.656252 14.375000 +v -0.093750 0.587623 14.375000 +v 0.000000 0.562502 14.375000 +v 0.093750 0.587622 14.375000 +v 0.162380 0.656252 14.375000 +v 0.187500 0.750002 14.375000 +v 0.162380 0.843752 14.375000 +v 0.093750 0.912382 14.375000 +vt 0.455686 0.619620 +vt 0.455686 0.684728 +vt 0.413166 0.684728 +vt 0.327869 0.782609 +vt 0.344262 0.760870 +vt 0.344262 0.771739 +vt 0.327869 0.684783 +vt 0.344262 0.706522 +vt 0.327869 0.717391 +vt 0.327869 0.847826 +vt 0.344262 0.869565 +vt 0.327869 0.880435 +vt 0.327869 0.554348 +vt 0.344262 0.576087 +vt 0.327869 0.586957 +vt 0.327869 0.750000 +vt 0.344262 0.728261 +vt 0.344262 0.739130 +vt 0.344262 0.663043 +vt 0.344262 0.673913 +vt 0.327869 0.815217 +vt 0.344262 0.836957 +vt 0.327869 0.521739 +vt 0.344262 0.543478 +vt 0.327869 0.619565 +vt 0.344262 0.641304 +vt 0.327869 0.652174 +vt 0.344262 0.804348 +vt 0.327869 0.913043 +vt 0.344262 0.891304 +vt 0.344262 0.902174 +vt 0.344262 0.608696 +vt 0.421302 0.741838 +vt 0.415984 0.749981 +vt 0.410666 0.725553 +vt 0.446701 0.708559 +vt 0.434426 0.717282 +vt 0.422152 0.708559 +vt 0.409877 0.652174 +vt 0.413166 0.619620 +vt 0.422152 0.595789 +vt 0.434426 0.587066 +vt 0.446701 0.595789 +vt 0.458975 0.652174 +vt 0.344262 0.695652 +vt 0.344262 0.858696 +vt 0.344262 0.565217 +vt 0.344262 0.826087 +vt 0.344262 0.532609 +vt 0.344262 0.630435 +vt 0.344262 0.793478 +vt 0.344262 0.597826 +vt 0.412914 0.747799 +vt 0.410666 0.741838 +vt 0.409843 0.733696 +vt 0.412914 0.719592 +vt 0.421302 0.725553 +vt 0.415984 0.717410 +vt 0.419054 0.719592 +vt 0.422124 0.733696 +vt 0.419054 0.747799 +vt -0.000000 0.521739 +vt -0.000000 0.554348 +vt -0.000000 0.619565 +vt -0.000000 0.652174 +vt -0.000000 0.782609 +vt -0.000000 0.815217 +vt -0.000000 0.880435 +vt -0.000000 0.913043 +vt -0.000000 0.586957 +vt -0.000000 0.750000 +vt -0.000000 0.684783 +vt -0.000000 0.717391 +vt -0.000000 0.847826 +vt 0.409836 0.597826 +vt 0.409836 0.608696 +vt 0.409836 0.771739 +vt 0.409836 0.695652 +vt 0.409836 0.706522 +vt 0.409836 0.869565 +vt 0.409836 0.565217 +vt 0.409836 0.576087 +vt 0.409836 0.739130 +vt 0.409836 0.663043 +vt 0.409836 0.673913 +vt 0.409836 0.836957 +vt 0.409836 0.532609 +vt 0.409836 0.543478 +vt 0.409836 0.630435 +vt 0.409836 0.641304 +vt 0.409836 0.804348 +vt 0.409836 0.902174 +vt 0.409836 0.760870 +vt 0.409836 0.858696 +vt 0.409836 0.728261 +vt 0.409836 0.826087 +vt 0.409836 0.793478 +vt 0.409836 0.891304 +vn -0.0000 0.0000 -1.0000 +vn -0.0000 0.0000 1.0000 +vn -0.0000 -1.0000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.8660 -0.5000 0.0000 +s off +f 591/1012/184 589/1013/184 597/1014/184 +f 609/1015/185 622/1016/185 621/1017/185 +f 599/1018/185 612/1019/185 600/1020/185 +f 607/1021/185 618/1022/185 606/1023/185 +f 604/1024/185 615/1025/185 603/1026/185 +f 610/1027/185 612/1028/185 622/1029/185 +f 599/1018/185 613/1030/185 611/1031/185 +f 608/1032/185 619/1033/185 607/1021/185 +f 605/1034/185 616/1035/185 604/1024/185 +f 602/1036/185 613/1037/185 601/1038/185 +f 609/1015/185 620/1039/185 608/1032/185 +f 605/1040/185 618/1041/185 617/1042/185 +f 603/1026/185 614/1043/185 602/1036/185 +f 633/1044/185 624/1045/185 627/1046/185 +f 589/1013/184 588/1047/184 597/1014/184 +f 588/1047/184 587/1048/184 597/1014/184 +f 587/1048/184 598/1049/184 597/1014/184 +f 597/1014/184 596/1050/184 595/1051/184 +f 595/1051/184 594/1052/184 593/1053/184 +f 593/1053/184 592/1054/184 591/1012/184 +f 591/1012/184 590/1055/184 589/1013/184 +f 597/1014/184 595/1051/184 593/1053/184 +f 593/1053/184 591/1012/184 597/1014/184 +f 609/1015/185 610/1027/185 622/1016/185 +f 599/1018/185 611/1056/185 612/1019/185 +f 607/1021/185 619/1057/185 618/1022/185 +f 604/1024/185 616/1058/185 615/1025/185 +f 610/1027/185 600/1020/185 612/1028/185 +f 599/1018/185 601/1038/185 613/1030/185 +f 608/1032/185 620/1059/185 619/1033/185 +f 605/1034/185 617/1060/185 616/1035/185 +f 602/1036/185 614/1061/185 613/1037/185 +f 609/1015/185 621/1062/185 620/1039/185 +f 605/1040/185 606/1023/185 618/1041/185 +f 603/1026/185 615/1063/185 614/1043/185 +f 624/1045/185 623/1064/185 627/1046/185 +f 623/1064/185 625/1065/185 627/1046/185 +f 625/1065/185 626/1066/185 627/1046/185 +f 627/1046/185 628/1067/185 631/1068/185 +f 628/1067/185 629/1069/185 631/1068/185 +f 629/1069/185 630/1070/185 631/1068/185 +f 631/1068/185 632/1071/185 633/1044/185 +f 633/1044/185 634/1072/185 624/1045/185 +f 631/1068/185 633/1044/185 627/1046/185 +s 1 +f 593/1073/186 604/1024/187 592/1074/187 +f 590/1075/188 601/1038/189 589/1076/189 +f 597/1077/190 608/1032/191 596/1078/191 +f 594/1079/192 605/1040/186 593/1080/186 +f 591/1081/193 602/1036/188 590/1075/188 +f 598/1082/194 609/1015/190 597/1077/190 +f 588/1083/195 600/1020/196 587/1084/196 +f 595/1085/197 606/1023/192 594/1079/192 +f 592/1074/187 603/1026/193 591/1081/193 +f 587/1084/196 610/1027/194 598/1082/194 +f 589/1076/189 599/1018/195 588/1083/195 +f 596/1078/191 607/1021/197 595/1085/197 +f 614/1043/191 627/1086/190 626/1087/191 +f 622/1016/187 633/1088/193 621/1017/193 +f 612/1019/186 623/1089/192 624/1090/186 +f 619/1057/189 630/1091/195 618/1022/195 +f 615/1025/190 628/1092/194 627/1093/190 +f 612/1028/186 634/1094/187 622/1029/187 +f 611/1031/192 625/1095/197 623/1096/192 +f 620/1059/188 631/1097/189 619/1033/189 +f 616/1035/194 629/1098/196 628/1099/194 +f 613/1037/197 626/1100/191 625/1101/197 +f 621/1062/193 632/1102/188 620/1039/188 +f 618/1041/195 629/1103/196 617/1042/196 +f 593/1073/186 605/1034/186 604/1024/187 +f 590/1075/188 602/1036/188 601/1038/189 +f 597/1077/190 609/1015/190 608/1032/191 +f 594/1079/192 606/1023/192 605/1040/186 +f 591/1081/193 603/1026/193 602/1036/188 +f 598/1082/194 610/1027/194 609/1015/190 +f 588/1083/195 599/1018/195 600/1020/196 +f 595/1085/197 607/1021/197 606/1023/192 +f 592/1074/187 604/1024/187 603/1026/193 +f 587/1084/196 600/1020/196 610/1027/194 +f 589/1076/189 601/1038/189 599/1018/195 +f 596/1078/191 608/1032/191 607/1021/197 +f 614/1043/191 615/1063/190 627/1086/190 +f 622/1016/187 634/1104/187 633/1088/193 +f 612/1019/186 611/1056/192 623/1089/192 +f 619/1057/189 631/1105/189 630/1091/195 +f 615/1025/190 616/1058/194 628/1092/194 +f 612/1028/186 624/1106/186 634/1094/187 +f 611/1031/192 613/1030/197 625/1095/197 +f 620/1059/188 632/1107/188 631/1097/189 +f 616/1035/194 617/1060/196 629/1098/196 +f 613/1037/197 614/1061/191 626/1100/191 +f 621/1062/193 633/1108/193 632/1102/188 +f 618/1041/195 630/1109/195 629/1103/196 +o Gun +v -0.750000 0.000000 3.250000 +v 0.750000 0.000000 3.250000 +v -0.750000 0.000000 -5.500000 +v 0.750000 0.000000 -5.500000 +v -0.750000 1.500000 3.250000 +v 0.750000 1.500000 3.250000 +v -0.750000 1.500000 -5.500000 +v 0.750000 1.500000 -5.500000 +v 0.000000 1.250000 5.500000 +v -0.250000 1.183012 5.500000 +v -0.433013 1.000000 5.500000 +v -0.500000 0.750000 5.500000 +v -0.433013 0.500000 5.500000 +v -0.250000 0.316988 5.500000 +v 0.000000 0.250000 5.500000 +v 0.250000 0.316987 5.500000 +v 0.433012 0.500000 5.500000 +v 0.500000 0.750000 5.500000 +v 0.433013 1.000000 5.500000 +v 0.250000 1.183012 5.500000 +v 0.000000 1.250000 6.375000 +v -0.250000 1.183012 6.375000 +v -0.433013 1.000000 6.375000 +v -0.500000 0.750000 6.375000 +v -0.433013 0.500000 6.375000 +v -0.250000 0.316988 6.375000 +v 0.000000 0.250000 6.375000 +v 0.250000 0.316987 6.375000 +v 0.433012 0.500000 6.375000 +v 0.500000 0.750000 6.375000 +v 0.433013 1.000000 6.375000 +v 0.250000 1.183012 6.375000 +v 0.000000 1.000000 6.375000 +v -0.125000 0.966506 6.375000 +v -0.216506 0.875000 6.375000 +v -0.250000 0.750000 6.375000 +v -0.216506 0.625000 6.375000 +v -0.125000 0.533494 6.375000 +v 0.000000 0.500000 6.375000 +v 0.125000 0.533494 6.375000 +v 0.216506 0.625000 6.375000 +v 0.250000 0.750000 6.375000 +v 0.216506 0.875000 6.375000 +v 0.125000 0.966506 6.375000 +v 0.000000 1.000000 8.375000 +v -0.125000 0.966506 8.375000 +v -0.216506 0.875000 8.375000 +v -0.250000 0.750000 8.375000 +v -0.216506 0.625000 8.375000 +v -0.125000 0.533494 8.375000 +v 0.000000 0.500000 8.375000 +v 0.125000 0.533494 8.375000 +v 0.216506 0.625000 8.375000 +v 0.250000 0.750000 8.375000 +v 0.216506 0.875000 8.375000 +v 0.125000 0.966506 8.375000 +v 0.000000 0.937500 8.375000 +v -0.093750 0.912380 8.375000 +v -0.162380 0.843750 8.375000 +v -0.187500 0.750000 8.375000 +v -0.162380 0.656250 8.375000 +v -0.093750 0.587620 8.375000 +v 0.000000 0.562500 8.375000 +v 0.093750 0.587620 8.375000 +v 0.162380 0.656250 8.375000 +v 0.187500 0.750000 8.375000 +v 0.162380 0.843750 8.375000 +v 0.093750 0.912380 8.375000 +v 0.000000 0.937500 6.375000 +v -0.093750 0.912380 6.375000 +v -0.162380 0.843750 6.375000 +v -0.187500 0.750000 6.375000 +v -0.162380 0.656250 6.375000 +v -0.093750 0.587620 6.375000 +v 0.000000 0.562500 6.375000 +v 0.093750 0.587620 6.375000 +v 0.162380 0.656250 6.375000 +v 0.187500 0.750000 6.375000 +v 0.162380 0.843750 6.375000 +v 0.093750 0.912380 6.375000 +v -0.875000 -0.250000 1.250000 +v 0.875000 -0.250000 1.250000 +v -0.875000 -0.250000 -2.250000 +v 0.875000 -0.250000 -2.250000 +v -0.875000 0.500000 -2.250000 +v -0.875000 0.500000 1.250000 +v 0.875000 0.500000 1.250000 +v 0.875000 0.500000 -2.250000 +v -0.875000 1.000000 1.375000 +v -0.875000 1.000000 3.250000 +v 0.875000 1.000000 3.250000 +v 0.875000 1.000000 1.375000 +v -0.875000 0.125000 3.250000 +v -0.500000 -0.250000 3.250000 +v 0.500000 -0.250000 3.250000 +v 0.875000 0.125000 3.250000 +v -0.500000 -0.250000 1.375000 +v -0.875000 0.125000 1.375000 +v 0.875000 0.125000 1.375000 +v 0.500000 -0.250000 1.375000 +v -0.750000 0.125000 3.625000 +v -0.500000 -0.250000 3.625000 +v 0.750000 1.000000 3.625000 +v -0.750000 1.000000 3.625000 +v -0.625000 0.000000 3.625000 +v 0.625000 0.000000 3.625000 +v -0.625000 1.500000 3.625000 +v 0.625000 1.500000 3.625000 +v -0.625000 0.000000 5.500000 +v 0.625000 0.000000 5.500000 +v -0.625000 1.500000 5.500000 +v 0.625000 1.500000 5.500000 +v 0.750000 0.125000 3.625000 +v 0.500000 -0.250000 3.625000 +v -0.750000 0.125000 5.375000 +v -0.750000 1.000000 5.375000 +v 0.750000 0.125000 5.375000 +v 0.500000 -0.250000 5.375000 +v -0.500000 -0.250000 5.375000 +v 0.750000 1.000000 5.375000 +v -0.750000 1.500000 3.250000 +v -0.750000 1.500000 -3.750000 +v -0.375000 1.500000 3.250000 +v -0.375000 1.500000 -3.750000 +v -0.750000 1.750000 1.250000 +v -0.750000 1.750000 -1.750000 +v -0.375000 1.750000 1.250000 +v -0.375000 1.750000 -1.750000 +v 0.375000 1.500000 3.250000 +v 0.375000 1.500000 -3.750000 +v 0.750000 1.500000 3.250000 +v 0.750000 1.500000 -3.750000 +v 0.375000 1.750000 1.250000 +v 0.375000 1.750000 -1.750000 +v 0.750000 1.750000 1.250000 +v 0.750000 1.750000 -1.750000 +v 0.375000 1.500000 4.562500 +v 0.375000 1.500000 5.437500 +v 0.375000 1.875000 5.437500 +v 0.375000 2.018506 5.404197 +v 0.375000 2.140165 5.309359 +v 0.375000 2.221455 5.167424 +v 0.500000 1.875000 4.562500 +v 0.500000 2.018506 4.595803 +v 0.500000 2.140165 4.690641 +v 0.500000 2.221455 4.832576 +v 0.500000 2.250000 5.000000 +v 0.500000 2.221455 5.167424 +v 0.500000 2.140165 5.309359 +v 0.500000 2.018506 5.404197 +v 0.500000 1.875000 5.437500 +v 0.375000 2.250000 5.000000 +v 0.375000 2.221455 4.832576 +v 0.375000 2.140165 4.690641 +v 0.375000 2.018506 4.595803 +v 0.375000 1.875000 4.562500 +v 0.500000 1.500000 5.437500 +v 0.500000 1.500000 4.562500 +v 0.375000 2.000000 -5.375000 +v 0.375000 2.167424 -5.327425 +v 0.375000 2.309359 -5.191942 +v 0.375000 2.404197 -4.989178 +v 0.375000 2.437500 -4.750000 +v 0.375000 2.404197 -4.510823 +v 0.375000 2.309359 -4.308059 +v 0.375000 2.167424 -4.172575 +v 0.375000 2.000000 -4.125000 +v 0.500000 2.437500 -4.750000 +v 0.500000 2.404197 -4.989178 +v 0.500000 2.309359 -5.191942 +v 0.500000 2.167424 -5.327425 +v 0.500000 2.000000 -5.375000 +v 0.375000 1.500000 -4.125000 +v 0.375000 1.500000 -5.375000 +v 0.500000 2.404197 -4.510823 +v 0.500000 2.309359 -4.308059 +v 0.500000 2.167424 -4.172575 +v 0.500000 2.000000 -4.125000 +v 0.500000 1.500000 -4.125000 +v 0.500000 1.500000 -5.375000 +v -0.750000 1.500000 -1.500000 +v -0.750000 0.750000 -1.500000 +v -0.750000 0.750000 0.125000 +v -0.750000 1.500000 0.125000 +v -0.750000 1.500000 -1.500000 +v -0.750000 1.500000 0.125000 +v -0.750000 1.750000 -1.500000 +v -0.750000 1.750000 0.125000 +v -0.625000 1.500000 -1.500000 +v -0.625000 0.750000 -1.500000 +v -0.625000 0.750000 0.125000 +v -0.625000 1.500000 0.125000 +v 0.375000 -0.250000 -0.250000 +v -0.375000 -0.250000 -0.250000 +v -0.500000 1.500000 -1.500000 +v -0.500000 1.500000 0.125000 +v -0.500000 1.750000 -1.500000 +v -0.500000 1.750000 0.125000 +v -0.375000 -2.750000 -2.000000 +v 0.375000 -2.750000 -2.000000 +v 0.375000 -3.250000 -0.250000 +v 0.375000 -3.250000 -1.500000 +v -0.375000 -3.250000 -0.250000 +v -0.375000 -3.250000 -1.500000 +v -0.375000 -2.000000 -2.000000 +v 0.375000 -2.000000 -2.000000 +v -0.375000 -1.000000 -1.750000 +v 0.375000 -1.000000 -1.750000 +v -0.375000 -0.500000 -2.250000 +v 0.375000 -0.500000 -2.250000 +v -0.375000 -0.250000 -2.250000 +v 0.375000 -0.250000 -2.250000 +v 0.625000 -2.750000 -1.750000 +v 0.625000 -3.250000 -1.250000 +v 0.625000 -3.250000 -0.375000 +v 0.625000 -0.250000 -0.375000 +v 0.625000 -2.000000 -1.750000 +v 0.625000 -1.000000 -1.500000 +v 0.625000 -0.500000 -2.000000 +v 0.625000 -0.250000 -2.000000 +v -0.625000 -3.250000 -1.250000 +v -0.625000 -2.750000 -1.750000 +v -0.625000 -3.250000 -0.375000 +v -0.625000 -0.250000 -0.375000 +v -0.625000 -2.000000 -1.750000 +v -0.625000 -1.000000 -1.500000 +v -0.625000 -0.500000 -2.000000 +v -0.625000 -0.250000 -2.000000 +v -0.250000 0.000000 1.375000 +v 0.250000 0.000000 1.375000 +v -0.250000 0.000000 1.250000 +v 0.250000 0.000000 1.250000 +v -0.250000 -1.250000 1.375000 +v 0.250000 -1.250000 1.375000 +v -0.250000 -1.250000 1.250000 +v 0.250000 -1.250000 1.250000 +v -0.250000 -1.500000 1.000000 +v 0.250000 -1.500000 1.000000 +v -0.250000 -1.625000 1.000000 +v 0.250000 -1.625000 1.000000 +v -0.250000 -1.500000 0.250000 +v 0.250000 -1.500000 0.250000 +v -0.250000 -1.625000 0.250000 +v 0.250000 -1.625000 0.250000 +v -0.250000 -1.250000 -0.250000 +v 0.250000 -1.250000 -0.250000 +v -0.250000 -1.375000 -0.250000 +v 0.250000 -1.375000 -0.250000 +v -0.156250 -0.250000 0.312500 +v 0.156250 -0.250000 0.312500 +v -0.156250 -0.250000 0.187500 +v 0.156250 -0.250000 0.187500 +v -0.156250 -0.875000 0.312500 +v 0.156250 -0.875000 0.312500 +v -0.156250 -0.875000 0.187500 +v 0.156250 -0.875000 0.187500 +v -0.156250 -1.187500 0.562500 +v 0.156250 -1.187500 0.562500 +v -0.375000 1.500000 5.375000 +v 0.375000 1.500000 5.375000 +v -0.375000 1.500000 4.625000 +v 0.375000 1.500000 4.625000 +v -0.375000 1.625000 4.625000 +v -0.375000 1.625000 5.375000 +v 0.375000 1.625000 5.375000 +v 0.375000 1.625000 4.625000 +v 0.000000 1.625000 4.750000 +v -0.176777 1.625000 4.823223 +v -0.250000 1.625000 5.000000 +v -0.176777 1.625000 5.176777 +v 0.000000 1.625000 5.250000 +v 0.176777 1.625000 5.176777 +v 0.250000 1.625000 5.000000 +v 0.176777 1.625000 4.823223 +v 0.000000 1.687500 4.750000 +v -0.176777 1.687500 4.823223 +v -0.250000 1.687500 5.000000 +v -0.176777 1.687500 5.176777 +v 0.000000 1.687500 5.250000 +v 0.176777 1.687500 5.176777 +v 0.250000 1.687500 5.000000 +v 0.176777 1.687500 4.823223 +v -0.062500 1.687500 5.062500 +v 0.062500 1.687500 5.062500 +v -0.062500 1.687500 4.937500 +v 0.062500 1.687500 4.937500 +v -0.062500 2.187500 4.937500 +v -0.062500 2.187500 5.062500 +v 0.062500 2.187500 5.062500 +v 0.062500 2.187500 4.937500 +v -0.250000 1.500000 -4.250000 +v 0.250000 1.500000 -4.250000 +v -0.250000 1.500000 -5.250000 +v 0.250000 1.500000 -5.250000 +v -0.250000 1.750000 -5.250000 +v -0.250000 1.750000 -4.250000 +v 0.250000 1.750000 -4.250000 +v 0.250000 1.750000 -5.250000 +v 0.250000 1.500000 -4.250000 +v 0.250000 1.500000 -5.250000 +v 0.375000 1.500000 -4.250000 +v 0.375000 1.500000 -5.250000 +v 0.375000 2.000000 -4.250000 +v 0.375000 2.000000 -5.250000 +v 0.250000 2.000000 -4.250000 +v 0.250000 2.000000 -5.250000 +v -0.375000 1.500000 -4.250000 +v -0.375000 1.500000 -5.250000 +v -0.250000 1.500000 -4.250000 +v -0.250000 1.500000 -5.250000 +v -0.250000 2.000000 -4.250000 +v -0.250000 2.000000 -5.250000 +v -0.375000 2.000000 -4.250000 +v -0.375000 2.000000 -5.250000 +v -0.187500 1.750000 -4.625000 +v 0.187500 1.750000 -4.625000 +v -0.187500 1.750000 -4.875000 +v 0.187500 1.750000 -4.875000 +v -0.187500 2.250000 -4.875000 +v -0.187500 2.250000 -4.625000 +v 0.187500 2.250000 -4.625000 +v 0.187500 2.250000 -4.875000 +v -0.062500 2.375000 -4.875000 +v -0.062500 2.375000 -4.625000 +v 0.062500 2.375000 -4.625000 +v 0.062500 2.375000 -4.875000 +v -0.125000 2.250000 -4.625000 +v 0.125000 2.250000 -4.625000 +v -0.125000 2.250000 -4.875000 +v 0.125000 2.250000 -4.875000 +v -0.125000 2.125000 -4.625000 +v 0.125000 2.125000 -4.625000 +v -0.125000 2.125000 -4.875000 +v 0.125000 2.125000 -4.875000 +v 0.062500 2.312500 -4.625000 +v 0.062500 2.062500 -4.625000 +v 0.062500 2.312500 -4.875000 +v 0.062500 2.062500 -4.875000 +v -0.062500 2.312500 -4.625000 +v -0.062500 2.062500 -4.625000 +v -0.062500 2.312500 -4.875000 +v -0.062500 2.062500 -4.875000 +v -0.625000 0.000000 -5.500000 +v 0.625000 0.000000 -5.500000 +v -0.625000 1.000000 -5.500000 +v 0.625000 1.000000 -5.500000 +v -0.625000 1.000000 -5.750000 +v -0.625000 0.000000 -5.750000 +v 0.625000 0.000000 -5.750000 +v 0.625000 1.000000 -5.750000 +v -0.625000 0.750000 -6.000000 +v -0.625000 0.250000 -6.000000 +v 0.625000 0.250000 -6.000000 +v 0.625000 0.750000 -6.000000 +v -0.875000 0.312500 -5.875000 +v 0.875000 0.312500 -5.875000 +v -0.875000 0.224112 -5.838388 +v 0.875000 0.224112 -5.838388 +v -0.875000 0.187500 -5.750000 +v 0.875000 0.187500 -5.750000 +v -0.875000 0.224112 -5.661612 +v 0.875000 0.224112 -5.661612 +v -0.875000 0.312500 -5.625000 +v 0.875000 0.312500 -5.625000 +v -0.875000 0.400888 -5.661612 +v 0.875000 0.400888 -5.661612 +v -0.875000 0.437500 -5.750000 +v 0.875000 0.437500 -5.750000 +v -0.875000 0.400888 -5.838388 +v 0.875000 0.400888 -5.838388 +v -0.500000 1.500000 4.562500 +v -0.500000 1.500000 5.437500 +v -0.500000 1.875000 5.437500 +v -0.500000 2.018506 5.404197 +v -0.500000 2.140165 5.309359 +v -0.500000 2.221455 5.167424 +v -0.375000 1.875000 4.562500 +v -0.375000 2.018506 4.595803 +v -0.375000 2.140165 4.690641 +v -0.375000 2.221455 4.832576 +v -0.375000 2.250000 5.000000 +v -0.375000 2.221455 5.167424 +v -0.375000 2.140165 5.309359 +v -0.375000 2.018506 5.404197 +v -0.375000 1.875000 5.437500 +v -0.500000 2.250000 5.000000 +v -0.500000 2.221455 4.832576 +v -0.500000 2.140165 4.690641 +v -0.500000 2.018506 4.595803 +v -0.500000 1.875000 4.562500 +v -0.375000 1.500000 5.437500 +v -0.375000 1.500000 4.562500 +v -0.500000 2.000000 -5.375000 +v -0.500000 2.167424 -5.327425 +v -0.500000 2.309359 -5.191942 +v -0.500000 2.404197 -4.989178 +v -0.500000 2.437500 -4.750000 +v -0.500000 2.404197 -4.510823 +v -0.500000 2.309359 -4.308059 +v -0.500000 2.167424 -4.172575 +v -0.500000 2.000000 -4.125000 +v -0.375000 2.437500 -4.750000 +v -0.375000 2.404197 -4.989178 +v -0.375000 2.309359 -5.191942 +v -0.375000 2.167424 -5.327425 +v -0.375000 2.000000 -5.375000 +v -0.500000 1.500000 -4.125000 +v -0.500000 1.500000 -5.375000 +v -0.375000 2.404197 -4.510823 +v -0.375000 2.309359 -4.308059 +v -0.375000 2.167424 -4.172575 +v -0.375000 2.000000 -4.125000 +v -0.375000 1.500000 -4.125000 +v -0.375000 1.500000 -5.375000 +vt 0.049180 0.521739 +vt 0.336066 0.391304 +vt 0.336066 0.521739 +vt 0.049180 0.391304 +vt 0.336066 0.260870 +vt 0.000000 0.130435 +vt 0.049180 0.260870 +vt -0.000000 0.260870 +vt 0.336066 0.000000 +vt 0.348361 0.130435 +vt 0.336066 0.130435 +vt 0.655738 0.260870 +vt 0.663934 0.277174 +vt 0.655738 0.282609 +vt 0.655738 0.369565 +vt 0.663934 0.385870 +vt 0.655738 0.391304 +vt 0.655738 0.173913 +vt 0.663934 0.190217 +vt 0.655738 0.195652 +vt 0.655738 0.304348 +vt 0.663934 0.288043 +vt 0.663934 0.298913 +vt 0.663934 0.244565 +vt 0.663934 0.255435 +vt 0.663934 0.353261 +vt 0.663934 0.364130 +vt 0.663934 0.157609 +vt 0.663934 0.168478 +vt 0.655738 0.239130 +vt 0.663934 0.222826 +vt 0.663934 0.233696 +vt 0.655738 0.326087 +vt 0.663934 0.342391 +vt 0.655738 0.347826 +vt 0.655738 0.413043 +vt 0.663934 0.396739 +vt 0.663934 0.407609 +vt 0.663934 0.211957 +vt 0.655738 0.217391 +vt 0.663934 0.320652 +vt 0.704918 0.500000 +vt 0.706967 0.510870 +vt 0.704918 0.510870 +vt 0.704918 0.554348 +vt 0.706967 0.565217 +vt 0.704918 0.565217 +vt 0.704918 0.532609 +vt 0.706967 0.543478 +vt 0.704918 0.543478 +vt 0.704918 0.586957 +vt 0.706967 0.597826 +vt 0.704918 0.597826 +vt 0.706967 0.489130 +vt 0.706967 0.500000 +vt 0.706967 0.554348 +vt 0.704918 0.521739 +vt 0.706967 0.532609 +vt 0.704918 0.576087 +vt 0.706967 0.586957 +vt 0.704918 0.489130 +vt 0.706967 0.478261 +vt 0.706967 0.521739 +vt 0.706967 0.576087 +vt 0.704918 0.608696 +vt 0.706967 0.608696 +vt 0.663102 0.470094 +vt 0.657787 0.478232 +vt 0.652472 0.453819 +vt 0.483607 0.434783 +vt 0.598361 0.282609 +vt 0.598361 0.434783 +vt 0.598361 0.217391 +vt 0.483607 0.065217 +vt 0.598361 0.065217 +vt 0.459016 0.065217 +vt 0.483607 0.217391 +vt 0.459016 0.217391 +vt 0.622951 0.217391 +vt 0.622951 0.065217 +vt 0.483607 0.282609 +vt 0.598361 0.000000 +vt 0.483607 0.000000 +vt 0.725410 0.152174 +vt 0.663934 -0.000000 +vt 0.725410 0.000000 +vt 0.663934 0.152174 +vt 0.622951 0.119565 +vt 0.348361 0.260870 +vt 0.409836 0.391304 +vt 0.348361 0.391304 +vt 0.348361 0.250000 +vt 0.348361 0.510870 +vt 0.459016 0.250000 +vt 0.409836 0.141304 +vt 0.459016 0.141304 +vt 0.348361 0.402174 +vt 0.409836 0.510870 +vt 0.348361 -0.000000 +vt 0.409836 0.130435 +vt 0.348361 0.141304 +vt 0.409836 0.250000 +vt 0.737705 0.141304 +vt 0.823770 0.141304 +vt 0.795082 0.141304 +vt 0.795082 0.010870 +vt 0.737705 0.010870 +vt 0.475410 0.489130 +vt 0.639344 0.510870 +vt 0.409836 0.510870 +vt 0.536885 0.434783 +vt 0.573770 0.456522 +vt 0.536885 0.456522 +vt 0.483607 0.434783 +vt 0.475410 0.456522 +vt 0.409836 0.434783 +vt 0.475410 0.565217 +vt 0.639344 0.586956 +vt 0.409836 0.586956 +vt 0.639344 0.510870 +vt 0.475410 0.532609 +vt 0.409836 0.510870 +vt 0.742525 0.779778 +vt 0.737925 0.772791 +vt 0.733772 0.750000 +vt 0.733772 0.750000 +vt 0.747951 0.782232 +vt 0.762129 0.750000 +vt 0.684794 0.795957 +vt 0.678156 0.787723 +vt 0.672164 0.760865 +vt 0.692623 0.798848 +vt 0.713082 0.760865 +vt 0.672164 0.760865 +vt 0.180328 0.065217 +vt 0.049180 0.130435 +vt 0.049180 -0.000000 +vt 0.233607 0.065217 +vt 0.471311 0.326087 +vt 0.467213 0.260870 +vt 0.471311 0.260870 +vt 0.467213 0.250000 +vt 0.413934 0.260870 +vt 0.413934 0.250000 +vt 0.409836 0.260870 +vt 0.413934 0.326087 +vt 0.409836 0.326087 +vt 0.479508 0.434783 +vt 0.471311 0.413043 +vt 0.479508 0.413043 +vt 0.409836 0.413043 +vt 0.418033 0.434783 +vt 0.409836 0.434783 +vt 0.418033 0.413043 +vt 0.471311 0.434783 +vt 0.483607 0.478261 +vt 0.483607 0.456522 +vt 0.233607 0.141304 +vt 0.233607 0.130435 +vt 0.536885 0.608696 +vt 0.528689 0.695652 +vt 0.495902 0.673913 +vt 0.467213 0.326087 +vt 0.676230 0.663043 +vt 0.717213 0.673913 +vt 0.676230 0.673913 +vt 0.676230 0.608696 +vt 0.717213 0.619565 +vt 0.676230 0.619565 +vt 0.719262 0.608696 +vt 0.733607 0.619565 +vt 0.733607 0.663043 +vt 0.719262 0.673913 +vt 0.717213 0.663043 +vt 0.758197 0.673913 +vt 0.733607 0.673913 +vt 0.733607 0.608696 +vt 0.758197 0.619565 +vt 0.758197 0.608696 +vt 0.774590 0.619565 +vt 0.774590 0.663043 +vt 0.774590 0.673913 +vt 0.657787 0.777174 +vt 0.668033 0.722826 +vt 0.668033 0.777174 +vt 0.643443 0.777174 +vt 0.653689 0.722826 +vt 0.653689 0.777174 +vt 0.657787 0.722826 +vt 0.672131 0.722826 +vt 0.672131 0.777174 +vt 0.643443 0.722826 +vt 0.653689 0.695652 +vt 0.657787 0.695652 +vt 0.672131 0.695652 +vt 0.536885 0.478261 +vt 0.573770 0.489130 +vt 0.766393 0.858696 +vt 0.741803 0.793478 +vt 0.766393 0.793478 +vt 0.737705 0.793478 +vt 0.741803 0.858696 +vt 0.737705 0.858696 +vt 0.770492 0.858696 +vt 0.770492 0.793478 +vt 0.821721 0.766322 +vt 0.813518 0.744565 +vt 0.821721 0.722809 +vt 0.684426 0.809783 +vt 0.651639 0.853261 +vt 0.651639 0.809783 +vt 0.834016 0.766304 +vt 0.829918 0.777174 +vt 0.829918 0.766304 +vt 0.842213 0.722826 +vt 0.838115 0.766304 +vt 0.838115 0.722826 +vt 0.834016 0.722826 +vt 0.829918 0.722826 +vt 0.846311 0.722826 +vt 0.842213 0.766304 +vt 0.729508 0.853261 +vt 0.696721 0.809783 +vt 0.729508 0.809783 +vt 0.684426 0.864130 +vt 0.684426 0.853261 +vt 0.651639 0.853261 +vt 0.684426 0.864130 +vt 0.651639 0.864130 +vt 0.688525 0.809783 +vt 0.696721 0.853261 +vt 0.688525 0.853261 +vt 0.737705 0.853261 +vt 0.737705 0.809783 +vt 0.688525 0.809783 +vt 0.651639 0.809783 +vt 0.647541 0.853261 +vt 0.647541 0.809783 +vt 0.647541 0.853261 +vt 0.647541 0.809783 +vt 0.688525 0.809783 +vt 0.684426 0.853261 +vt 0.684426 0.809783 +vt 0.631148 0.847826 +vt 0.635246 0.842391 +vt 0.635246 0.847826 +vt 0.627049 0.836957 +vt 0.631148 0.842391 +vt 0.639344 0.836957 +vt 0.610656 0.842391 +vt 0.614754 0.847826 +vt 0.610656 0.847826 +vt 0.606557 0.836957 +vt 0.608607 0.836957 +vt 0.614754 0.842391 +vt 0.618852 0.836957 +vt 0.608607 0.826087 +vt 0.606557 0.793478 +vt 0.616803 0.826087 +vt 0.618562 0.793404 +vt 0.614754 0.820652 +vt 0.610656 0.820652 +vt 0.637295 0.826087 +vt 0.639344 0.793478 +vt 0.629098 0.826087 +vt 0.627049 0.793478 +vt 0.635246 0.820652 +vt 0.631148 0.820652 +vt 0.659836 0.885870 +vt 0.659836 0.972826 +vt 0.643443 0.951087 +vt 0.586066 0.972826 +vt 0.586066 0.885870 +vt 0.602459 0.907609 +vt 0.524591 0.999951 +vt 0.520510 0.989130 +vt 0.524591 0.978309 +vt 0.524590 0.978212 +vt 0.521705 0.975042 +vt 0.527475 0.959739 +vt 0.742525 0.779778 +vt 0.737925 0.772791 +vt 0.733772 0.750000 +vt 0.733772 0.750000 +vt 0.747951 0.782232 +vt 0.762129 0.750000 +vt 0.684794 0.795957 +vt 0.678156 0.787723 +vt 0.672164 0.760865 +vt 0.692623 0.798848 +vt 0.713082 0.760865 +vt 0.672164 0.760865 +vt 0.663934 0.266304 +vt 0.663934 0.375000 +vt 0.663934 0.179348 +vt 0.655738 0.152174 +vt 0.663934 0.331522 +vt 0.663934 0.201087 +vt 0.663934 0.309783 +vt 0.704918 0.478261 +vt 0.654719 0.476052 +vt 0.652472 0.470094 +vt 0.651650 0.461957 +vt 0.654719 0.447861 +vt 0.663102 0.453819 +vt 0.657787 0.445681 +vt 0.660855 0.447861 +vt 0.663924 0.461957 +vt 0.660855 0.476052 +vt 0.635246 0.152174 +vt 0.622951 0.032609 +vt 0.635246 0.000000 +vt 0.409836 0.260870 +vt 0.409836 0.402174 +vt 0.409836 0.000000 +vt 0.823770 0.010870 +vt 0.836066 0.032609 +vt 0.836066 0.119565 +vt 0.639344 0.434783 +vt 0.573770 0.565217 +vt 0.573770 0.532609 +vt 0.734852 0.762334 +vt 0.733772 0.717768 +vt 0.762129 0.717768 +vt 0.762129 0.750000 +vt 0.761050 0.762334 +vt 0.757977 0.772791 +vt 0.747951 0.782232 +vt 0.753377 0.779778 +vt 0.734852 0.762334 +vt 0.737925 0.772791 +vt 0.742525 0.779778 +vt 0.753377 0.779778 +vt 0.757977 0.772791 +vt 0.761050 0.762334 +vt 0.762129 0.717768 +vt 0.733772 0.717768 +vt 0.673721 0.775401 +vt 0.672164 0.717456 +vt 0.713082 0.717456 +vt 0.713082 0.760865 +vt 0.711525 0.775401 +vt 0.707090 0.787723 +vt 0.692623 0.798848 +vt 0.700452 0.795957 +vt 0.673721 0.775401 +vt 0.678156 0.787723 +vt 0.684794 0.795957 +vt 0.700452 0.795957 +vt 0.707090 0.787723 +vt 0.711525 0.775401 +vt 0.713082 0.717456 +vt 0.672164 0.717456 +vt 0.180328 0.130435 +vt 0.180328 0.141304 +vt 0.536885 0.673913 +vt 0.500000 0.695652 +vt 0.495902 0.608696 +vt 0.500000 0.586957 +vt 0.528689 0.586957 +vt 0.717213 0.608696 +vt 0.731557 0.608696 +vt 0.731557 0.673913 +vt 0.758197 0.663043 +vt 0.774590 0.608696 +vt 0.643443 0.695652 +vt 0.668033 0.695652 +vt 0.827522 0.729181 +vt 0.829925 0.744565 +vt 0.827522 0.759950 +vt 0.815921 0.759950 +vt 0.815921 0.729181 +vt 0.834016 0.777174 +vt 0.846311 0.766304 +vt 0.651639 0.864130 +vt 0.688525 0.853261 +vt 0.688525 0.853261 +vt 0.629098 0.836957 +vt 0.637295 0.836957 +vt 0.616803 0.836957 +vt 0.651639 0.972826 +vt 0.643443 0.907609 +vt 0.651639 0.885870 +vt 0.594262 0.885870 +vt 0.602459 0.951087 +vt 0.594262 0.972826 +vt 0.527476 0.981478 +vt 0.528671 0.989130 +vt 0.527476 0.996782 +vt 0.521705 0.996782 +vt 0.521705 0.981478 +vt 0.520510 0.967391 +vt 0.521705 0.959739 +vt 0.524590 0.956569 +vt 0.528670 0.967391 +vt 0.527475 0.975042 +vt 0.734852 0.762334 +vt 0.733772 0.717768 +vt 0.762129 0.717768 +vt 0.762129 0.750000 +vt 0.761050 0.762334 +vt 0.757977 0.772791 +vt 0.747951 0.782232 +vt 0.753377 0.779778 +vt 0.734852 0.762334 +vt 0.737925 0.772791 +vt 0.742525 0.779778 +vt 0.753377 0.779778 +vt 0.757977 0.772791 +vt 0.761050 0.762334 +vt 0.762129 0.717768 +vt 0.733772 0.717768 +vt 0.673721 0.775401 +vt 0.672164 0.717456 +vt 0.713082 0.717456 +vt 0.713082 0.760865 +vt 0.711525 0.775401 +vt 0.707090 0.787723 +vt 0.692623 0.798848 +vt 0.700452 0.795957 +vt 0.673721 0.775401 +vt 0.678156 0.787723 +vt 0.684794 0.795957 +vt 0.700452 0.795957 +vt 0.707090 0.787723 +vt 0.711525 0.775401 +vt 0.713082 0.717456 +vt 0.672164 0.717456 +vt 0.627049 0.217391 +vt 0.627049 0.239130 +vt 0.627049 0.326087 +vt 0.627049 0.347826 +vt 0.627049 0.391304 +vt 0.627049 0.413043 +vt 0.627049 0.195652 +vt 0.627049 0.304348 +vt 0.627049 0.260870 +vt 0.627049 0.282609 +vt 0.627049 0.369565 +vt 0.627049 0.173913 +vt 0.627049 0.152174 +vt 0.639344 0.554348 +vt 0.639344 0.565217 +vt 0.639344 0.532609 +vt 0.639344 0.543478 +vt 0.639344 0.586957 +vt 0.639344 0.597826 +vt 0.639344 0.489130 +vt 0.639344 0.500000 +vt 0.639344 0.521739 +vt 0.639344 0.576087 +vt 0.639344 0.478261 +vt 0.639344 0.510870 +vt 0.639344 0.608696 +vt 0.772541 0.510870 +vt 0.772541 0.565217 +vt 0.772541 0.543478 +vt 0.772541 0.597826 +vt 0.772541 0.500000 +vt 0.772541 0.554348 +vt 0.772541 0.532609 +vt 0.772541 0.586957 +vt 0.772541 0.489130 +vt 0.772541 0.521739 +vt 0.772541 0.576087 +vt 0.772541 0.608696 +vt 0.725410 0.271739 +vt 0.737705 0.233696 +vt 0.737705 0.271739 +vt 0.663934 0.358696 +vt 0.725410 0.358696 +vt 0.663934 0.228261 +vt 0.725410 0.228261 +vt 0.663934 0.402174 +vt 0.663934 0.271739 +vt 0.725410 0.402174 +vt 0.663934 0.478261 +vt 0.795082 0.271739 +vt 0.737705 0.396739 +vt 0.737705 0.478261 +vt 0.725410 0.478261 +vt 0.737705 0.228261 +vt 0.737705 0.358696 +vt 0.737705 0.152174 +vt 0.795082 0.228261 +vt 0.795082 0.396739 +vt 0.737705 0.402174 +vt 0.795082 0.478261 +vt 0.795082 0.358696 +vt 0.639344 0.489130 +vt 0.639344 0.456522 +vt 0.409836 0.456522 +vt 0.409836 0.489130 +vt 0.639344 0.565217 +vt 0.639344 0.532609 +vt 0.409836 0.532609 +vt 0.409836 0.565217 +vt 0.735656 0.793478 +vt 0.741803 0.782609 +vt 0.741803 0.793478 +vt 0.754098 0.793478 +vt 0.760246 0.782609 +vt 0.760246 0.793478 +vt 0.713115 0.793478 +vt 0.725410 0.782609 +vt 0.725410 0.793478 +vt 0.729508 0.793478 +vt 0.735656 0.782609 +vt 0.747951 0.793478 +vt 0.754098 0.782609 +vt 0.770492 0.793478 +vt 0.782787 0.782609 +vt 0.782787 0.793478 +vt 0.766393 0.793478 +vt 0.770492 0.782609 +vt 0.729508 0.782609 +vt 0.747951 0.782609 +vt 0.766393 0.782609 +vt 0.715164 0.798913 +vt 0.709016 0.809783 +vt 0.709016 0.798913 +vt 0.692623 0.798913 +vt 0.684426 0.809783 +vt 0.684426 0.798913 +vt 0.670082 0.798913 +vt 0.663934 0.809783 +vt 0.663934 0.798913 +vt 0.721311 0.798913 +vt 0.715164 0.809783 +vt 0.737705 0.798913 +vt 0.721311 0.809783 +vt 0.700820 0.798913 +vt 0.692623 0.809783 +vt 0.676230 0.798913 +vt 0.670082 0.809783 +vt 0.647541 0.809783 +vt 0.647541 0.798913 +vt 0.700820 0.809783 +vt 0.676230 0.809783 +vt 0.586066 0.891304 +vt 0.561475 0.934783 +vt 0.561475 0.891304 +vt 0.467213 0.956522 +vt 0.491803 0.695652 +vt 0.491803 0.956522 +vt 0.586066 0.739130 +vt 0.561475 0.804348 +vt 0.561475 0.739130 +vt 0.586066 0.695652 +vt 0.561475 0.695652 +vt 0.586066 0.804348 +vt 0.586066 0.934783 +vt 0.561475 0.956522 +vt 0.553279 0.804348 +vt 0.545082 0.739130 +vt 0.553279 0.739130 +vt 0.561475 0.934783 +vt 0.553279 0.956522 +vt 0.561475 0.956522 +vt 0.545082 0.804348 +vt 0.545082 0.891304 +vt 0.553279 0.934783 +vt 0.536885 0.891304 +vt 0.500000 0.956522 +vt 0.536885 0.695652 +vt 0.528689 0.695652 +vt 0.545082 0.804348 +vt 0.545082 0.739130 +vt 0.459016 0.695652 +vt 0.467213 0.695652 +vt 0.545082 0.891304 +vt 0.538934 0.891304 +vt 0.553279 0.934783 +vt 0.536885 0.695652 +vt 0.553279 0.739130 +vt 0.553279 0.804348 +vt 0.500000 0.695652 +vt 0.717213 0.717391 +vt 0.676230 0.717391 +vt 0.731557 0.717391 +vt 0.719262 0.717391 +vt 0.758197 0.717391 +vt 0.733607 0.717391 +vt 0.774590 0.717391 +vt 0.799180 0.750000 +vt 0.793033 0.755435 +vt 0.793033 0.750000 +vt 0.786885 0.750000 +vt 0.780738 0.755435 +vt 0.780738 0.750000 +vt 0.774590 0.750000 +vt 0.768443 0.755435 +vt 0.768443 0.750000 +vt 0.811475 0.750000 +vt 0.805328 0.755435 +vt 0.805328 0.750000 +vt 0.786885 0.755435 +vt 0.774590 0.755435 +vt 0.762295 0.755435 +vt 0.762295 0.750000 +vt 0.799180 0.755435 +vt 0.598361 0.847826 +vt 0.606557 0.853261 +vt 0.598361 0.853261 +vt 0.647541 0.793478 +vt 0.618852 0.847826 +vt 0.627049 0.858696 +vt 0.618852 0.858696 +vt 0.647541 0.836957 +vt 0.639344 0.847826 +vt 0.598361 0.788043 +vt 0.606557 0.798913 +vt 0.598361 0.798913 +vt 0.598361 0.804348 +vt 0.606557 0.815217 +vt 0.606557 0.804348 +vt 0.598361 0.836957 +vt 0.606557 0.847826 +vt 0.606557 0.836957 +vt 0.598361 0.831522 +vt 0.606557 0.831522 +vt 0.598361 0.820652 +vt 0.606557 0.820652 +vt 0.598361 0.815217 +vt 0.500000 0.956522 +vt 0.602459 0.994565 +vt 0.643443 0.972826 +vt 0.643443 0.994565 +vt 0.643443 0.864130 +vt 0.602459 0.885870 +vt 0.602459 0.864130 +vt 0.602459 0.972826 +vt 0.643443 0.885870 +vt 0.528689 0.967391 +vt 0.586066 0.961957 +vt 0.586066 0.967391 +vt 0.528689 0.961957 +vt 0.586066 0.956522 +vt 0.528689 1.000000 +vt 0.586066 0.994565 +vt 0.586066 1.000000 +vt 0.528689 0.994565 +vt 0.586066 0.989130 +vt 0.528689 0.989130 +vt 0.586066 0.983696 +vt 0.528689 0.983696 +vt 0.586066 0.978261 +vt 0.528689 0.978261 +vt 0.586066 0.972826 +vt 0.528689 0.972826 +vt 0.553279 0.956522 +vt 0.735656 0.793478 +vt 0.741803 0.782609 +vt 0.741803 0.793478 +vt 0.754098 0.793478 +vt 0.760246 0.782609 +vt 0.760246 0.793478 +vt 0.713115 0.793478 +vt 0.725410 0.782609 +vt 0.725410 0.793478 +vt 0.729508 0.793478 +vt 0.735656 0.782609 +vt 0.747951 0.793478 +vt 0.754098 0.782609 +vt 0.770492 0.793478 +vt 0.782787 0.782609 +vt 0.782787 0.793478 +vt 0.766393 0.793478 +vt 0.770492 0.782609 +vt 0.729508 0.782609 +vt 0.747951 0.782609 +vt 0.766393 0.782609 +vt 0.715164 0.798913 +vt 0.709016 0.809783 +vt 0.709016 0.798913 +vt 0.692623 0.798913 +vt 0.684426 0.809783 +vt 0.684426 0.798913 +vt 0.670082 0.798913 +vt 0.663934 0.809783 +vt 0.663934 0.798913 +vt 0.721311 0.798913 +vt 0.715164 0.809783 +vt 0.737705 0.798913 +vt 0.721311 0.809783 +vt 0.700820 0.798913 +vt 0.692623 0.809783 +vt 0.676230 0.798913 +vt 0.670082 0.809783 +vt 0.647541 0.809783 +vt 0.647541 0.798913 +vt 0.700820 0.809783 +vt 0.676230 0.809783 +vt 0.772541 0.478261 +vt 0.795082 0.233696 +vt 0.795082 0.152174 +vt 0.795082 0.402174 +vt 0.713115 0.782609 +vt 0.737705 0.809783 +vt 0.586066 0.956522 +vt 0.459016 0.956522 +vt 0.811475 0.755435 +vt 0.627049 0.847826 +vt 0.647541 0.847826 +vt 0.606557 0.788043 +vt 0.528689 0.956522 +vt 0.713115 0.782609 +vt 0.737705 0.809783 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.9487 0.0000 0.3162 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.9487 0.0000 0.3162 +vn 0.0000 0.6247 0.7809 +vn 0.0000 -0.7682 -0.6402 +vn -0.8660 0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.4072 -0.9129 0.0287 +vn 0.9363 -0.3291 0.1225 +vn 0.4719 -0.8817 0.0000 +vn -0.3827 -0.9239 0.0000 +vn -0.4072 -0.9129 0.0287 +vn 0.9239 -0.3827 0.0000 +vn 0.9871 0.0000 0.1602 +vn 0.9188 -0.3671 0.1452 +vn -0.9239 -0.3827 0.0000 +vn 0.3827 -0.9239 0.0000 +vn -0.9188 -0.3671 0.1452 +vn -0.9363 -0.3291 0.1225 +vn -0.9871 0.0000 0.1602 +vn -0.4719 -0.8817 0.0000 +vn 0.9571 -0.2898 0.0000 +vn -0.9571 -0.2898 0.0000 +vn 0.0000 0.9923 0.1240 +vn 0.0000 0.9923 -0.1240 +vn 0.0000 0.9981 0.0621 +vn 0.0000 0.9981 -0.0621 +vn 0.0000 0.7555 -0.6552 +vn 0.0000 0.9412 -0.3377 +vn 0.0000 0.9412 0.3377 +vn 0.0000 0.7555 0.6552 +vn 0.0000 0.1138 -0.9935 +vn 0.0000 0.4305 -0.9026 +vn 0.0000 0.1138 0.9935 +vn 0.0000 0.4305 0.9026 +vn 0.0000 0.4965 0.8681 +vn 0.0000 0.8121 0.5835 +vn 0.0000 0.9588 -0.2840 +vn 0.0000 0.4964 -0.8681 +vn 0.0000 0.1380 -0.9904 +vn 0.0000 0.1380 0.9904 +vn 0.0000 0.9588 0.2840 +vn 0.0000 0.8121 -0.5835 +vn -0.4148 -0.2800 -0.8658 +vn 0.3416 -0.3416 -0.8756 +vn 0.4148 -0.2800 -0.8658 +vn -0.2298 0.0000 0.9732 +vn 0.2298 0.0000 0.9732 +vn -0.3416 -0.3416 -0.8756 +vn 0.3711 0.1112 -0.9219 +vn -0.3458 -0.6635 -0.6635 +vn 0.3458 -0.6635 -0.6635 +vn -0.3711 0.1112 -0.9219 +vn 0.3827 0.0000 -0.9239 +vn 0.8727 -0.2257 -0.4330 +vn -0.9239 0.0000 -0.3827 +vn -0.3827 0.0000 -0.9239 +vn 0.9123 0.0530 -0.4062 +vn 0.9607 -0.1962 -0.1962 +vn 0.9626 -0.0605 -0.2642 +vn 0.8507 0.0000 0.5257 +vn -0.9607 -0.1962 -0.1962 +vn -0.9123 0.0530 -0.4062 +vn -0.8727 -0.2257 -0.4330 +vn -0.8507 0.0000 0.5257 +vn -0.9626 -0.0605 -0.2642 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 -0.3827 0.9239 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 -0.9239 0.3827 +vn 0.0000 -0.9732 -0.2298 +vn 0.0000 0.9732 0.2298 +vn 0.0000 0.8944 0.4472 +vn 0.0000 -0.8944 -0.4472 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.9239 0.3827 0.0000 +vn -0.9239 0.3827 0.0000 +vn 0.3827 0.9239 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.0000 -0.9239 -0.3827 +vn 0.0000 -0.3827 -0.9239 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.9239 0.0000 -0.3827 +s off +f 637/1110/198 636/1111/198 635/1112/198 +f 638/1113/199 640/1114/199 636/1111/199 +f 637/1115/200 642/1116/200 638/1117/200 +f 635/1118/201 741/1119/201 639/1120/201 +f 656/1121/202 667/1122/202 655/1123/202 +f 663/1124/202 674/1125/202 662/1126/202 +f 660/1127/202 671/1128/202 659/1129/202 +f 666/1130/202 667/1131/202 678/1132/202 +f 656/1121/202 669/1133/202 668/1134/202 +f 663/1124/202 676/1135/202 675/1136/202 +f 660/1127/202 673/1137/202 672/1138/202 +f 657/1139/202 670/1140/202 669/1141/202 +f 665/1142/202 676/1143/202 664/1144/202 +f 661/1145/202 674/1146/202 673/1147/202 +f 659/1129/202 670/1148/202 658/1149/202 +f 666/1130/202 677/1150/202 665/1142/202 +f 683/1151/202 694/1152/202 682/1153/202 +f 690/1154/202 701/1155/202 689/1156/202 +f 680/1157/202 691/1158/202 679/1159/202 +f 687/1160/202 698/1161/202 686/1162/202 +f 683/1151/202 696/1163/202 695/1164/202 +f 690/1154/202 691/1158/202 702/1165/202 +f 681/1166/202 692/1167/202 680/1157/202 +f 688/1168/202 699/1169/202 687/1160/202 +f 684/1170/202 697/1171/202 696/1163/202 +f 682/1153/202 693/1172/202 681/1166/202 +f 689/1156/202 700/1173/202 688/1168/202 +f 685/1174/202 698/1161/202 697/1175/202 +f 713/1176/202 703/1177/202 707/1178/202 +f 717/1179/198 716/1180/198 715/1181/198 +f 721/1182/203 719/1183/203 720/1184/203 +f 717/1185/200 722/1186/200 718/1187/200 +f 716/1188/202 720/1184/202 715/1189/202 +f 718/1190/199 721/1182/199 716/1180/199 +f 715/1191/204 719/1183/204 717/1192/204 +f 725/1193/203 723/1194/203 724/1195/203 +f 723/1194/200 726/1196/200 734/1197/200 +f 742/1198/199 744/1199/199 740/1200/199 +f 640/1114/205 740/1200/205 636/1111/205 +f 639/1120/203 742/1201/203 640/1114/203 +f 636/1111/198 739/1202/198 635/1112/198 +f 744/1203/202 745/1204/202 743/1205/202 +f 740/1206/198 743/1207/198 739/1202/198 +f 739/1208/204 745/1209/204 741/1119/204 +f 741/1210/203 746/1211/203 742/1201/203 +f 724/1195/203 737/1212/203 725/1193/203 +f 751/1213/202 754/1214/202 750/1215/202 +f 738/1216/203 754/1214/203 737/1212/203 +f 762/1217/199 757/1218/199 758/1219/199 +f 820/1220/204 759/1221/204 822/1222/204 +f 819/1223/204 760/1224/204 756/1225/204 +f 770/1226/199 765/1227/199 766/1228/199 +f 763/1229/204 768/1230/204 764/1231/204 +f 787/1232/204 788/1233/204 790/1234/204 +f 777/1235/199 781/1236/199 785/1237/199 +f 796/1238/204 795/1239/204 793/1240/204 +f 802/1241/199 812/1242/199 806/1243/199 +f 816/1244/204 641/1245/204 637/1246/204 +f 635/1118/204 816/1244/204 637/1246/204 +f 639/1120/204 817/1247/204 635/1118/204 +f 818/1248/200 825/1249/200 817/1250/200 +f 817/1251/203 824/1252/203 816/1253/203 +f 816/1254/202 823/1255/202 815/1256/202 +f 822/1257/200 830/1258/200 820/1259/200 +f 819/1260/202 831/1261/202 821/1262/202 +f 829/1263/204 832/1264/204 831/1261/204 +f 831/1265/203 760/1224/203 821/1266/203 +f 826/1267/203 818/1268/203 639/1120/203 +f 838/1269/198 848/1270/198 835/1271/198 +f 824/1252/204 826/1272/204 823/1255/204 +f 864/1273/199 870/1274/199 866/1275/199 +f 865/1276/204 867/1277/204 863/1278/204 +f 869/1279/204 873/1280/204 867/1277/204 +f 874/1281/199 870/1282/199 868/1283/199 +f 874/1281/199 876/1284/199 872/1285/199 +f 871/1286/204 877/1287/204 873/1280/204 +f 875/1288/204 881/1289/204 877/1287/204 +f 876/1284/199 882/1290/199 880/1291/199 +f 886/1292/200 889/1293/200 885/1294/200 +f 883/1295/202 888/1296/202 884/1297/202 +f 884/1297/199 890/1298/199 886/1292/199 +f 885/1294/204 887/1299/204 883/1300/204 +f 887/1301/206 892/1302/206 888/1296/206 +f 892/1303/207 889/1293/207 890/1298/207 +f 887/1299/204 889/1293/204 891/1304/204 +f 888/1296/199 892/1302/199 890/1298/199 +f 762/1217/203 832/1305/203 761/1306/203 +f 832/1305/203 759/1221/203 761/1306/203 +f 899/1307/203 897/1308/203 898/1309/203 +f 895/1310/200 900/1311/200 896/1312/200 +f 894/1313/202 898/1309/202 893/1314/202 +f 913/1315/203 915/1316/203 909/1317/203 +f 933/1318/204 940/1319/204 934/1320/204 +f 923/1321/203 921/1322/203 922/1323/203 +f 919/1324/200 924/1325/200 920/1326/200 +f 918/1327/202 922/1323/202 917/1328/202 +f 920/1326/199 923/1321/199 918/1327/199 +f 917/1329/204 921/1330/204 919/1324/204 +f 931/1331/203 929/1332/203 930/1333/203 +f 937/1334/203 940/1319/203 939/1335/203 +f 945/1336/203 948/1337/203 947/1338/203 +f 927/1339/200 932/1340/200 928/1341/200 +f 926/1342/202 930/1333/202 925/1343/202 +f 935/1344/202 939/1335/202 933/1318/202 +f 943/1345/202 947/1346/202 941/1347/202 +f 934/1320/200 938/1348/200 936/1349/200 +f 942/1350/200 946/1351/200 944/1352/200 +f 945/1336/199 944/1352/199 946/1351/199 +f 960/1353/200 975/1354/200 957/1355/200 +f 956/1356/200 971/1357/200 960/1353/200 +f 975/1354/200 953/1358/200 957/1355/200 +f 973/1359/202 959/1360/202 958/1361/202 +f 973/1359/202 954/1362/202 961/1363/202 +f 969/1364/202 955/1365/202 959/1360/202 +f 965/1366/202 954/1362/202 949/1367/202 +f 955/1365/202 966/1368/202 950/1369/202 +f 970/1370/202 974/1371/202 949/1367/202 +f 953/1358/200 967/1372/200 951/1373/200 +f 968/1374/200 956/1356/200 952/1375/200 +f 976/1376/200 972/1377/200 952/1375/200 +f 977/1378/204 979/1379/204 985/1380/204 +f 980/1381/199 978/1382/199 987/1383/199 +f 1002/1384/199 998/1385/199 994/1386/199 +f 1001/1387/204 1003/1388/204 995/1389/204 +f 1021/1390/204 1022/1391/204 1024/1392/204 +f 1011/1393/199 1015/1394/199 1019/1395/199 +f 1030/1396/204 1029/1397/204 1027/1398/204 +f 1036/1399/199 1046/1400/199 1040/1401/199 +f 637/1110/198 638/1113/198 636/1111/198 +f 638/1113/199 642/1116/199 640/1114/199 +f 637/1115/200 641/1245/200 642/1116/200 +f 635/1118/201 739/1208/201 741/1119/201 +f 656/1121/202 668/1402/202 667/1122/202 +f 663/1124/202 675/1403/202 674/1125/202 +f 660/1127/202 672/1404/202 671/1128/202 +f 666/1130/202 655/1123/202 667/1131/202 +f 656/1121/202 657/1139/202 669/1133/202 +f 663/1124/202 664/1144/202 676/1135/202 +f 660/1127/202 661/1405/202 673/1137/202 +f 657/1139/202 658/1149/202 670/1140/202 +f 665/1142/202 677/1406/202 676/1143/202 +f 661/1145/202 662/1126/202 674/1146/202 +f 659/1129/202 671/1407/202 670/1148/202 +f 666/1130/202 678/1408/202 677/1150/202 +f 683/1151/202 695/1164/202 694/1152/202 +f 690/1154/202 702/1165/202 701/1155/202 +f 680/1157/202 692/1167/202 691/1158/202 +f 687/1160/202 699/1169/202 698/1161/202 +f 683/1151/202 684/1170/202 696/1163/202 +f 690/1154/202 679/1159/202 691/1158/202 +f 681/1166/202 693/1172/202 692/1167/202 +f 688/1168/202 700/1173/202 699/1169/202 +f 684/1170/202 685/1409/202 697/1171/202 +f 682/1153/202 694/1152/202 693/1172/202 +f 689/1156/202 701/1155/202 700/1173/202 +f 685/1174/202 686/1162/202 698/1161/202 +f 703/1177/202 704/1410/202 707/1178/202 +f 704/1410/202 705/1411/202 707/1178/202 +f 705/1411/202 706/1412/202 707/1178/202 +f 707/1178/202 708/1413/202 711/1414/202 +f 708/1413/202 709/1415/202 711/1414/202 +f 709/1415/202 710/1416/202 711/1414/202 +f 711/1414/202 712/1417/202 713/1176/202 +f 713/1176/202 714/1418/202 703/1177/202 +f 711/1414/202 713/1176/202 707/1178/202 +f 717/1179/198 718/1190/198 716/1180/198 +f 721/1182/203 722/1186/203 719/1183/203 +f 717/1185/200 719/1183/200 722/1186/200 +f 716/1188/202 721/1182/202 720/1184/202 +f 718/1190/199 722/1186/199 721/1182/199 +f 715/1191/204 720/1184/204 719/1183/204 +f 725/1193/203 726/1196/203 723/1194/203 +f 726/1196/200 733/1419/200 734/1197/200 +f 734/1197/200 731/1420/200 723/1194/200 +f 731/1420/200 732/1421/200 723/1194/200 +f 742/1198/199 746/1422/199 744/1199/199 +f 640/1114/205 742/1198/205 740/1200/205 +f 639/1120/203 741/1210/203 742/1201/203 +f 636/1111/198 740/1206/198 739/1202/198 +f 744/1203/202 746/1211/202 745/1204/202 +f 740/1206/198 744/1423/198 743/1207/198 +f 739/1208/204 743/1424/204 745/1209/204 +f 741/1210/203 745/1204/203 746/1211/203 +f 724/1195/203 738/1216/203 737/1212/203 +f 750/1215/202 749/1425/202 751/1213/202 +f 749/1425/202 753/1426/202 751/1213/202 +f 753/1426/202 752/1427/202 751/1213/202 +f 738/1216/203 750/1215/203 754/1214/203 +f 762/1217/199 761/1306/199 757/1218/199 +f 820/1220/204 755/1428/204 759/1221/204 +f 819/1223/204 821/1266/204 760/1224/204 +f 770/1226/199 769/1429/199 765/1227/199 +f 763/1229/204 767/1430/204 768/1230/204 +f 788/1233/204 789/1431/204 790/1234/204 +f 790/1234/204 771/1432/204 772/1433/204 +f 772/1433/204 773/1434/204 790/1234/204 +f 773/1434/204 774/1435/204 775/1436/204 +f 790/1234/204 773/1434/204 786/1437/204 +f 775/1436/204 776/1438/204 773/1434/204 +f 776/1438/204 786/1437/204 773/1434/204 +f 786/1437/204 787/1232/204 790/1234/204 +f 777/1235/199 778/1439/199 779/1440/199 +f 779/1440/199 780/1441/199 777/1235/199 +f 780/1441/199 781/1236/199 777/1235/199 +f 781/1236/199 782/1442/199 785/1237/199 +f 782/1442/199 783/1443/199 785/1237/199 +f 783/1443/199 784/1444/199 785/1237/199 +f 785/1237/199 791/1445/199 792/1446/199 +f 792/1446/199 777/1235/199 785/1237/199 +f 795/1239/204 794/1447/204 793/1240/204 +f 793/1240/204 808/1448/204 807/1449/204 +f 807/1449/204 801/1450/204 793/1240/204 +f 801/1450/204 800/1451/204 799/1452/204 +f 793/1240/204 801/1450/204 797/1453/204 +f 799/1452/204 798/1454/204 801/1450/204 +f 798/1454/204 797/1453/204 801/1450/204 +f 797/1453/204 796/1238/204 793/1240/204 +f 806/1243/199 805/1455/199 804/1456/199 +f 804/1456/199 803/1457/199 806/1243/199 +f 803/1457/199 802/1241/199 806/1243/199 +f 802/1241/199 809/1458/199 812/1242/199 +f 809/1458/199 810/1459/199 812/1242/199 +f 810/1459/199 811/1460/199 812/1242/199 +f 812/1242/199 813/1461/199 814/1462/199 +f 814/1462/199 806/1243/199 812/1242/199 +f 816/1244/204 815/1463/204 641/1245/204 +f 635/1118/204 817/1247/204 816/1244/204 +f 639/1120/204 818/1268/204 817/1247/204 +f 818/1248/200 826/1272/200 825/1249/200 +f 817/1251/203 825/1249/203 824/1252/203 +f 816/1254/202 824/1252/202 823/1255/202 +f 822/1257/200 832/1264/200 830/1258/200 +f 819/1260/202 829/1263/202 831/1261/202 +f 829/1263/204 830/1258/204 832/1264/204 +f 831/1265/203 762/1217/203 760/1224/203 +f 639/1120/203 640/1114/203 826/1267/203 +f 640/1114/203 642/1116/203 823/1464/203 +f 826/1267/203 640/1114/203 823/1464/203 +f 642/1116/203 641/1245/203 823/1464/203 +f 641/1245/203 815/1463/203 823/1464/203 +f 838/1269/198 836/1465/198 848/1270/198 +f 848/1270/198 849/1466/198 835/1271/198 +f 835/1271/198 837/1467/198 838/1269/198 +f 837/1467/198 857/1468/198 855/1469/198 +f 838/1269/198 837/1467/198 855/1469/198 +f 824/1252/204 825/1249/204 826/1272/204 +f 864/1273/199 868/1283/199 870/1274/199 +f 865/1276/204 869/1470/204 867/1277/204 +f 869/1279/204 871/1471/204 873/1280/204 +f 874/1281/199 872/1472/199 870/1282/199 +f 874/1281/199 878/1473/199 876/1284/199 +f 871/1286/204 875/1288/204 877/1287/204 +f 875/1288/204 879/1474/204 881/1289/204 +f 876/1284/199 878/1473/199 882/1290/199 +f 886/1292/200 890/1298/200 889/1293/200 +f 883/1295/202 887/1301/202 888/1296/202 +f 884/1297/199 888/1296/199 890/1298/199 +f 885/1294/204 889/1293/204 887/1299/204 +f 887/1301/206 891/1475/206 892/1302/206 +f 892/1303/207 891/1476/207 889/1293/207 +f 762/1217/203 831/1265/203 832/1305/203 +f 832/1305/203 822/1222/203 759/1221/203 +f 899/1307/203 900/1311/203 897/1308/203 +f 895/1310/200 897/1308/200 900/1311/200 +f 894/1313/202 899/1307/202 898/1309/202 +f 909/1317/203 910/1477/203 911/1478/203 +f 911/1478/203 912/1479/203 913/1315/203 +f 913/1315/203 914/1480/203 915/1316/203 +f 915/1316/203 916/1481/203 909/1317/203 +f 909/1317/203 911/1478/203 913/1315/203 +f 933/1318/204 939/1335/204 940/1319/204 +f 923/1321/203 924/1482/203 921/1322/203 +f 919/1324/200 921/1330/200 924/1325/200 +f 918/1327/202 923/1321/202 922/1323/202 +f 920/1326/199 924/1325/199 923/1321/199 +f 917/1329/204 922/1483/204 921/1330/204 +f 931/1331/203 932/1340/203 929/1332/203 +f 937/1334/203 938/1484/203 940/1319/203 +f 945/1336/203 946/1351/203 948/1337/203 +f 927/1339/200 929/1332/200 932/1340/200 +f 926/1342/202 931/1331/202 930/1333/202 +f 935/1344/202 937/1485/202 939/1335/202 +f 943/1345/202 945/1336/202 947/1346/202 +f 934/1320/200 940/1319/200 938/1348/200 +f 942/1350/200 948/1486/200 946/1351/200 +f 945/1336/199 943/1345/199 944/1352/199 +f 960/1353/200 971/1357/200 975/1354/200 +f 956/1356/200 964/1487/200 971/1357/200 +f 975/1354/200 963/1488/200 953/1358/200 +f 973/1359/202 969/1364/202 959/1360/202 +f 973/1359/202 958/1361/202 954/1362/202 +f 969/1364/202 962/1489/202 955/1365/202 +f 965/1366/202 961/1363/202 954/1362/202 +f 955/1365/202 962/1489/202 966/1368/202 +f 974/1371/202 965/1366/202 949/1367/202 +f 949/1367/202 950/1369/202 970/1370/202 +f 950/1369/202 966/1368/202 970/1370/202 +f 953/1358/200 963/1488/200 967/1372/200 +f 968/1374/200 964/1487/200 956/1356/200 +f 972/1377/200 968/1374/200 952/1375/200 +f 952/1375/200 951/1373/200 976/1376/200 +f 951/1373/200 967/1372/200 976/1376/200 +f 979/1379/204 981/1490/204 985/1380/204 +f 985/1380/204 986/1491/204 977/1378/204 +f 986/1491/204 982/1492/204 977/1378/204 +f 978/1382/199 983/1493/199 987/1383/199 +f 987/1383/199 988/1494/199 980/1381/199 +f 988/1494/199 984/1495/199 980/1381/199 +f 994/1386/199 992/1496/199 990/1497/199 +f 990/1497/199 1004/1498/199 1002/1384/199 +f 1002/1384/199 1000/1499/199 998/1385/199 +f 998/1385/199 996/1500/199 994/1386/199 +f 994/1386/199 990/1497/199 1002/1384/199 +f 1003/1388/204 989/1501/204 991/1502/204 +f 991/1502/204 993/1503/204 1003/1388/204 +f 993/1503/204 995/1389/204 1003/1388/204 +f 995/1389/204 997/1504/204 999/1505/204 +f 999/1505/204 1001/1387/204 995/1389/204 +f 1022/1391/204 1023/1506/204 1024/1392/204 +f 1024/1392/204 1005/1507/204 1006/1508/204 +f 1006/1508/204 1007/1509/204 1024/1392/204 +f 1007/1509/204 1008/1510/204 1009/1511/204 +f 1024/1392/204 1007/1509/204 1020/1512/204 +f 1009/1511/204 1010/1513/204 1007/1509/204 +f 1010/1513/204 1020/1512/204 1007/1509/204 +f 1020/1512/204 1021/1390/204 1024/1392/204 +f 1011/1393/199 1012/1514/199 1013/1515/199 +f 1013/1515/199 1014/1516/199 1011/1393/199 +f 1014/1516/199 1015/1394/199 1011/1393/199 +f 1015/1394/199 1016/1517/199 1019/1395/199 +f 1016/1517/199 1017/1518/199 1019/1395/199 +f 1017/1518/199 1018/1519/199 1019/1395/199 +f 1019/1395/199 1025/1520/199 1026/1521/199 +f 1026/1521/199 1011/1393/199 1019/1395/199 +f 1029/1397/204 1028/1522/204 1027/1398/204 +f 1027/1398/204 1042/1523/204 1041/1524/204 +f 1041/1524/204 1035/1525/204 1027/1398/204 +f 1035/1525/204 1034/1526/204 1033/1527/204 +f 1027/1398/204 1035/1525/204 1031/1528/204 +f 1033/1527/204 1032/1529/204 1035/1525/204 +f 1032/1529/204 1031/1528/204 1035/1525/204 +f 1031/1528/204 1030/1396/204 1027/1398/204 +f 1040/1401/199 1039/1530/199 1038/1531/199 +f 1038/1531/199 1037/1532/199 1040/1401/199 +f 1037/1532/199 1036/1399/199 1040/1401/199 +f 1036/1399/199 1043/1533/199 1046/1400/199 +f 1043/1533/199 1044/1534/199 1046/1400/199 +f 1044/1534/199 1045/1535/199 1046/1400/199 +f 1046/1400/199 1047/1536/199 1048/1537/199 +f 1048/1537/199 1040/1401/199 1046/1400/199 +s 1 +f 646/1538/204 657/1139/208 645/1539/208 +f 653/1540/209 664/1144/199 652/1541/199 +f 650/1542/210 661/1145/198 649/1543/198 +f 647/1544/211 658/1149/204 646/1538/204 +f 654/1545/212 665/1142/209 653/1540/209 +f 644/1546/213 655/1123/203 643/1547/203 +f 651/1548/214 662/1126/210 650/1542/210 +f 648/1549/215 659/1129/211 647/1544/211 +f 643/1547/203 666/1130/212 654/1545/212 +f 645/1539/208 656/1121/213 644/1546/213 +f 652/1541/199 663/1124/214 651/1548/214 +f 649/1550/198 660/1127/215 648/1549/215 +f 678/1551/212 689/1156/209 677/1552/209 +f 668/1553/213 679/1159/203 667/1554/203 +f 675/1555/214 686/1162/210 674/1556/210 +f 672/1557/215 683/1151/211 671/1558/211 +f 667/1554/203 690/1154/212 678/1551/212 +f 669/1559/208 680/1157/213 668/1553/213 +f 676/1560/199 687/1160/214 675/1555/214 +f 673/1561/198 684/1170/215 672/1557/215 +f 670/1562/204 681/1166/208 669/1559/208 +f 677/1552/209 688/1168/199 676/1560/199 +f 674/1556/210 685/1174/198 673/1563/198 +f 671/1558/211 682/1153/204 670/1562/204 +f 695/1164/209 706/1564/199 694/1152/199 +f 702/1165/215 713/1565/211 701/1155/211 +f 692/1167/210 703/1566/198 691/1158/198 +f 699/1169/208 710/1567/213 698/1161/213 +f 696/1163/212 707/1568/209 695/1164/209 +f 691/1158/198 714/1569/215 702/1165/215 +f 693/1172/214 704/1570/210 692/1167/210 +f 700/1173/204 711/1571/208 699/1169/208 +f 697/1171/203 708/1572/212 696/1163/212 +f 694/1152/199 705/1573/214 693/1172/214 +f 701/1155/211 712/1574/204 700/1173/204 +f 698/1161/213 709/1575/203 697/1175/203 +f 729/1576/216 747/1577/217 748/1578/218 +f 731/1579/219 729/1576/216 728/1580/220 +f 733/1581/221 725/1193/222 730/1582/223 +f 728/1580/220 732/1583/224 731/1579/219 +f 734/1584/225 730/1582/223 729/1576/216 +f 727/1585/226 723/1586/204 732/1583/224 +f 747/1577/217 752/1587/218 748/1578/218 +f 728/1580/220 735/1588/227 727/1585/226 +f 727/1585/226 738/1589/228 724/1590/228 +f 725/1193/222 747/1591/217 730/1582/223 +f 729/1576/216 736/1592/229 728/1580/220 +f 737/1593/222 751/1594/230 747/1591/217 +f 736/1592/229 749/1595/231 735/1588/227 +f 735/1596/227 750/1597/204 738/1589/228 +f 748/1578/218 753/1598/229 736/1592/229 +f 757/1599/232 759/1221/232 755/1600/232 +f 756/1601/233 762/1217/233 758/1602/233 +f 765/1603/232 767/1430/234 763/1604/232 +f 764/1605/233 770/1226/235 766/1606/233 +f 767/1430/234 770/1226/235 768/1230/235 +f 779/1607/236 787/1608/237 780/1609/237 +f 782/1610/238 775/1611/239 783/1612/239 +f 792/1613/200 790/1614/240 777/1615/240 +f 778/1616/241 788/1617/236 779/1607/236 +f 781/1618/203 776/1619/238 782/1610/238 +f 785/1620/242 772/1621/202 791/1622/202 +f 784/1623/243 773/1624/242 785/1620/242 +f 777/1615/240 789/1625/241 778/1616/241 +f 780/1609/237 786/1626/203 781/1618/203 +f 783/1612/239 774/1627/243 784/1623/243 +f 800/1628/244 810/1629/245 799/1630/245 +f 797/1631/203 803/1632/246 796/1633/246 +f 794/1634/247 806/1635/248 793/1636/248 +f 801/1637/249 811/1638/244 800/1628/244 +f 807/1639/202 812/1640/249 801/1637/249 +f 798/1641/250 802/1642/203 797/1631/203 +f 795/1643/251 805/1644/247 794/1634/247 +f 793/1636/248 814/1645/200 808/1646/200 +f 799/1630/245 809/1647/250 798/1641/250 +f 796/1633/246 804/1648/251 795/1643/251 +f 841/1649/252 844/1650/253 842/1651/254 +f 828/1652/255 835/1653/256 827/1654/256 +f 833/1655/257 840/1656/258 834/1657/253 +f 838/1658/259 834/1657/253 836/1659/260 +f 839/1660/261 842/1651/254 840/1656/258 +f 843/1661/257 846/1662/262 844/1650/253 +f 840/1663/258 847/1664/263 834/1665/253 +f 843/1666/257 862/1667/264 845/1668/265 +f 851/1669/266 848/1270/267 847/1664/263 +f 842/1670/254 853/1671/263 852/1672/268 +f 846/1662/262 853/1671/263 844/1650/253 +f 835/1653/256 850/1673/269 827/1654/256 +f 842/1670/254 851/1669/266 840/1663/258 +f 836/1674/260 847/1664/263 848/1270/267 +f 855/1675/270 859/1676/271 856/1677/272 +f 828/1652/255 857/1678/273 837/1679/255 +f 841/1680/252 859/1676/271 860/1681/274 +f 841/1680/252 861/1682/272 843/1666/257 +f 838/1683/259 856/1677/272 833/1684/257 +f 833/1684/257 859/1676/271 839/1685/261 +f 849/1466/269 851/1669/266 852/1672/268 +f 859/1676/271 857/1686/273 860/1681/274 +f 866/1275/200 869/1687/275 865/1688/200 +f 863/1278/202 868/1283/276 864/1273/202 +f 870/1282/275 871/1689/277 869/1690/275 +f 867/1277/276 874/1281/278 868/1283/276 +f 873/1280/278 878/1473/279 874/1281/278 +f 872/1285/277 875/1691/280 871/1692/277 +f 876/1284/280 879/1693/281 875/1691/280 +f 877/1287/279 882/1290/282 878/1473/279 +f 901/1694/200 916/1695/283 908/1696/283 +f 907/1697/199 914/1698/284 906/1699/284 +f 905/1700/202 912/1701/285 904/1702/285 +f 903/1703/204 910/1704/286 902/1705/286 +f 908/1696/283 915/1706/199 907/1697/199 +f 906/1699/284 913/1707/202 905/1700/202 +f 904/1702/285 911/1708/204 903/1709/204 +f 902/1705/286 909/1710/200 901/1694/200 +f 961/1711/221 975/1712/225 973/1713/225 +f 952/1375/199 955/1365/287 950/1369/199 +f 949/1714/204 953/1358/288 951/1373/204 +f 959/1715/289 957/1716/290 958/1717/290 +f 956/1356/287 959/1715/289 955/1365/287 +f 954/1718/288 957/1719/290 953/1358/288 +f 973/1720/225 971/1721/219 969/1722/219 +f 971/1721/219 962/1723/224 969/1722/219 +f 968/1724/288 962/1723/224 964/1725/224 +f 965/1726/287 963/1727/221 961/1711/221 +f 967/1728/287 974/1729/289 976/1730/289 +f 976/1730/289 970/1731/290 972/1732/290 +f 972/1732/290 966/1733/288 968/1724/288 +f 852/1672/268 850/1673/269 849/1466/269 +f 860/1681/274 857/1686/273 858/1734/273 +f 980/1735/203 981/1736/277 979/1737/203 +f 977/1738/198 983/1739/291 978/1740/198 +f 985/1380/275 987/1383/292 986/1491/292 +f 984/1741/277 985/1380/275 981/1736/277 +f 982/1742/291 987/1383/292 983/1739/291 +f 990/1743/200 991/1744/293 989/1745/200 +f 992/1746/293 993/1747/198 991/1744/293 +f 994/1748/198 995/1749/294 993/1750/198 +f 996/1751/294 997/1752/202 995/1749/294 +f 998/1753/202 999/1754/295 997/1752/202 +f 1000/1755/295 1001/1756/203 999/1754/295 +f 1002/1757/203 1003/1758/296 1001/1756/203 +f 1004/1759/296 989/1745/200 1003/1758/296 +f 850/1673/269 852/1672/268 854/1760/297 +f 854/1760/297 852/1672/268 853/1671/263 +f 862/1667/264 861/1682/272 860/1681/274 +f 858/1734/273 862/1667/264 860/1681/274 +f 1013/1761/236 1021/1762/237 1014/1763/237 +f 1016/1764/238 1009/1765/239 1017/1766/239 +f 1026/1767/200 1024/1768/240 1011/1769/240 +f 1012/1770/241 1022/1771/236 1013/1761/236 +f 1015/1772/203 1010/1773/238 1016/1764/238 +f 1019/1774/242 1006/1775/202 1025/1776/202 +f 1018/1777/243 1007/1778/242 1019/1774/242 +f 1011/1769/240 1023/1779/241 1012/1770/241 +f 1014/1763/237 1020/1780/203 1015/1772/203 +f 1017/1766/239 1008/1781/243 1018/1777/243 +f 1034/1782/244 1044/1783/245 1033/1784/245 +f 1031/1785/203 1037/1786/246 1030/1787/246 +f 1028/1788/247 1040/1789/248 1027/1790/248 +f 1035/1791/249 1045/1792/244 1034/1782/244 +f 1041/1793/202 1046/1794/249 1035/1791/249 +f 1032/1795/250 1036/1796/203 1031/1785/203 +f 1029/1797/251 1039/1798/247 1028/1788/247 +f 1027/1790/248 1048/1799/200 1042/1800/200 +f 1033/1784/245 1043/1801/250 1032/1795/250 +f 1030/1787/246 1038/1802/251 1029/1797/251 +f 646/1538/204 658/1149/204 657/1139/208 +f 653/1540/209 665/1142/209 664/1144/199 +f 650/1542/210 662/1126/210 661/1145/198 +f 647/1544/211 659/1129/211 658/1149/204 +f 654/1545/212 666/1130/212 665/1142/209 +f 644/1546/213 656/1121/213 655/1123/203 +f 651/1548/214 663/1124/214 662/1126/210 +f 648/1549/215 660/1127/215 659/1129/211 +f 643/1547/203 655/1123/203 666/1130/212 +f 645/1539/208 657/1139/208 656/1121/213 +f 652/1541/199 664/1144/199 663/1124/214 +f 649/1550/198 661/1405/198 660/1127/215 +f 678/1551/212 690/1154/212 689/1156/209 +f 668/1553/213 680/1157/213 679/1159/203 +f 675/1555/214 687/1160/214 686/1162/210 +f 672/1557/215 684/1170/215 683/1151/211 +f 667/1554/203 679/1159/203 690/1154/212 +f 669/1559/208 681/1166/208 680/1157/213 +f 676/1560/199 688/1168/199 687/1160/214 +f 673/1561/198 685/1409/198 684/1170/215 +f 670/1562/204 682/1153/204 681/1166/208 +f 677/1552/209 689/1156/209 688/1168/199 +f 674/1556/210 686/1162/210 685/1174/198 +f 671/1558/211 683/1151/211 682/1153/204 +f 695/1164/209 707/1568/209 706/1564/199 +f 702/1165/215 714/1569/215 713/1565/211 +f 692/1167/210 704/1570/210 703/1566/198 +f 699/1169/208 711/1571/208 710/1567/213 +f 696/1163/212 708/1572/212 707/1568/209 +f 691/1158/198 703/1566/198 714/1569/215 +f 693/1172/214 705/1573/214 704/1570/210 +f 700/1173/204 712/1574/204 711/1571/208 +f 697/1171/203 709/1803/203 708/1572/212 +f 694/1152/199 706/1564/199 705/1573/214 +f 701/1155/211 713/1565/211 712/1574/204 +f 698/1161/213 710/1567/213 709/1575/203 +f 729/1576/216 730/1582/223 747/1577/217 +f 731/1579/219 734/1584/225 729/1576/216 +f 733/1581/221 726/1196/199 725/1193/222 +f 728/1580/220 727/1585/226 732/1583/224 +f 734/1584/225 733/1581/221 730/1582/223 +f 727/1585/226 724/1590/228 723/1586/204 +f 747/1577/217 751/1804/230 752/1587/218 +f 728/1580/220 736/1592/229 735/1588/227 +f 727/1585/226 735/1596/227 738/1589/228 +f 725/1193/222 737/1593/222 747/1591/217 +f 729/1576/216 748/1578/218 736/1592/229 +f 737/1593/222 754/1805/199 751/1594/230 +f 736/1592/229 753/1598/229 749/1595/231 +f 735/1596/227 749/1806/231 750/1597/204 +f 748/1578/218 752/1587/218 753/1598/229 +f 757/1599/232 761/1306/232 759/1221/232 +f 756/1601/233 760/1224/233 762/1217/233 +f 765/1603/232 769/1429/234 767/1430/234 +f 764/1605/233 768/1230/235 770/1226/235 +f 767/1430/234 769/1429/234 770/1226/235 +f 779/1607/236 788/1617/236 787/1608/237 +f 782/1610/238 776/1619/238 775/1611/239 +f 792/1613/200 771/1807/200 790/1614/240 +f 778/1616/241 789/1625/241 788/1617/236 +f 781/1618/203 786/1626/203 776/1619/238 +f 785/1620/242 773/1624/242 772/1621/202 +f 784/1623/243 774/1627/243 773/1624/242 +f 777/1615/240 790/1614/240 789/1625/241 +f 780/1609/237 787/1608/237 786/1626/203 +f 783/1612/239 775/1611/239 774/1627/243 +f 800/1628/244 811/1638/244 810/1629/245 +f 797/1631/203 802/1642/203 803/1632/246 +f 794/1634/247 805/1644/247 806/1635/248 +f 801/1637/249 812/1640/249 811/1638/244 +f 807/1639/202 813/1808/202 812/1640/249 +f 798/1641/250 809/1647/250 802/1642/203 +f 795/1643/251 804/1648/251 805/1644/247 +f 793/1636/248 806/1635/248 814/1645/200 +f 799/1630/245 810/1629/245 809/1647/250 +f 796/1633/246 803/1632/246 804/1648/251 +f 841/1649/252 843/1661/257 844/1650/253 +f 828/1652/255 837/1679/255 835/1653/256 +f 833/1655/257 839/1660/261 840/1656/258 +f 838/1658/259 833/1655/257 834/1657/253 +f 839/1660/261 841/1649/252 842/1651/254 +f 843/1661/257 845/1809/265 846/1662/262 +f 840/1663/258 851/1669/266 847/1664/263 +f 843/1666/257 861/1682/272 862/1667/264 +f 851/1669/266 849/1466/269 848/1270/267 +f 842/1670/254 844/1650/253 853/1671/263 +f 846/1662/262 854/1760/297 853/1671/263 +f 835/1653/256 849/1466/269 850/1673/269 +f 842/1670/254 852/1672/268 851/1669/266 +f 836/1674/260 834/1665/253 847/1664/263 +f 855/1675/270 857/1686/273 859/1676/271 +f 828/1652/255 858/1810/273 857/1678/273 +f 841/1680/252 839/1685/261 859/1676/271 +f 841/1680/252 860/1681/274 861/1682/272 +f 838/1683/259 855/1675/270 856/1677/272 +f 833/1684/257 856/1677/272 859/1676/271 +f 866/1275/200 870/1274/275 869/1687/275 +f 863/1278/202 867/1277/276 868/1283/276 +f 870/1282/275 872/1472/277 871/1689/277 +f 867/1277/276 873/1280/278 874/1281/278 +f 873/1280/278 877/1287/279 878/1473/279 +f 872/1285/277 876/1284/280 875/1691/280 +f 876/1284/280 880/1291/281 879/1693/281 +f 877/1287/279 881/1289/282 882/1290/282 +f 901/1694/200 909/1710/200 916/1695/283 +f 907/1697/199 915/1706/199 914/1698/284 +f 905/1700/202 913/1707/202 912/1701/285 +f 903/1703/204 911/1811/204 910/1704/286 +f 908/1696/283 916/1695/283 915/1706/199 +f 906/1699/284 914/1698/284 913/1707/202 +f 904/1702/285 912/1701/285 911/1708/204 +f 902/1705/286 910/1704/286 909/1710/200 +f 961/1711/221 963/1727/221 975/1712/225 +f 952/1375/199 956/1356/287 955/1365/287 +f 949/1714/204 954/1718/288 953/1358/288 +f 959/1715/289 960/1812/289 957/1716/290 +f 956/1356/287 960/1812/289 959/1715/289 +f 954/1718/288 958/1813/290 957/1719/290 +f 973/1720/225 975/1814/225 971/1721/219 +f 971/1721/219 964/1725/224 962/1723/224 +f 968/1724/288 966/1733/288 962/1723/224 +f 965/1726/287 967/1728/287 963/1727/221 +f 967/1728/287 965/1726/287 974/1729/289 +f 976/1730/289 974/1729/289 970/1731/290 +f 972/1732/290 970/1731/290 966/1733/288 +f 980/1735/203 984/1741/277 981/1736/277 +f 977/1738/198 982/1742/291 983/1739/291 +f 985/1380/275 988/1494/275 987/1383/292 +f 984/1741/277 988/1494/275 985/1380/275 +f 982/1742/291 986/1491/292 987/1383/292 +f 990/1743/200 992/1746/293 991/1744/293 +f 992/1746/293 994/1815/198 993/1747/198 +f 994/1748/198 996/1751/294 995/1749/294 +f 996/1751/294 998/1753/202 997/1752/202 +f 998/1753/202 1000/1755/295 999/1754/295 +f 1000/1755/295 1002/1757/203 1001/1756/203 +f 1002/1757/203 1004/1759/296 1003/1758/296 +f 1004/1759/296 990/1743/200 989/1745/200 +f 1013/1761/236 1022/1771/236 1021/1762/237 +f 1016/1764/238 1010/1773/238 1009/1765/239 +f 1026/1767/200 1005/1816/200 1024/1768/240 +f 1012/1770/241 1023/1779/241 1022/1771/236 +f 1015/1772/203 1020/1780/203 1010/1773/238 +f 1019/1774/242 1007/1778/242 1006/1775/202 +f 1018/1777/243 1008/1781/243 1007/1778/242 +f 1011/1769/240 1024/1768/240 1023/1779/241 +f 1014/1763/237 1021/1762/237 1020/1780/203 +f 1017/1766/239 1009/1765/239 1008/1781/243 +f 1034/1782/244 1045/1792/244 1044/1783/245 +f 1031/1785/203 1036/1796/203 1037/1786/246 +f 1028/1788/247 1039/1798/247 1040/1789/248 +f 1035/1791/249 1046/1794/249 1045/1792/244 +f 1041/1793/202 1047/1817/202 1046/1794/249 +f 1032/1795/250 1043/1801/250 1036/1796/203 +f 1029/1797/251 1038/1802/251 1039/1798/247 +f 1027/1790/248 1040/1789/248 1048/1799/200 +f 1033/1784/245 1044/1783/245 1043/1801/250 +f 1030/1787/246 1037/1786/246 1038/1802/251 diff --git a/src/main/resources/assets/hbm/models/weapons/vortex.obj b/src/main/resources/assets/hbm/models/weapons/vortex.obj deleted file mode 100644 index 8a3512553..000000000 --- a/src/main/resources/assets/hbm/models/weapons/vortex.obj +++ /dev/null @@ -1,3848 +0,0 @@ -# Blender v2.79 (sub 0) OBJ File: '' -# www.blender.org -o Vortex_underside2_Cube.008 -v 5.435554 4.477819 0.549782 -v 5.435554 6.477819 0.549782 -v 3.025172 7.955002 0.549782 -v 3.025172 5.955002 0.549782 -v 17.257664 4.783642 -0.546666 -v 17.257664 4.783642 0.549782 -v 18.261854 3.614666 0.549782 -v 18.261854 3.614666 -0.546666 -v 11.822362 5.477819 -0.546666 -v 11.822362 6.477819 -0.546666 -v 11.822362 6.477819 0.549782 -v 11.822362 5.477819 0.549782 -v 3.025172 5.955002 -0.546666 -v 5.435554 4.477819 -0.546666 -v 5.435554 6.477819 -0.546666 -v 12.627377 4.783642 -0.546666 -v 7.793834 3.614666 -0.546666 -v 6.731828 4.477819 -0.546666 -v 6.731828 4.477819 0.549782 -v 12.627377 4.783642 0.549782 -v 7.793834 3.614666 0.549782 -v 3.025172 7.955002 -0.546666 -v 10.406603 2.658415 0.486764 -v 9.501628 3.620203 0.807776 -v 9.501628 3.620203 -0.804659 -v 10.406603 2.658415 -0.483648 -v 9.501628 4.477401 -0.804659 -v 19.265408 4.477401 -0.804659 -v 19.265408 3.620203 -0.804659 -v 18.360432 2.658415 -0.483648 -v 19.265408 3.620203 0.807776 -v 18.360432 2.658415 0.486764 -v 19.265408 4.477401 0.807776 -v 9.501628 4.477401 0.807776 -v 5.084898 8.780376 -0.154267 -v 21.731241 8.780376 -0.154267 -v 20.998829 8.780376 0.157384 -v 5.084898 8.780376 0.157384 -v 20.998829 9.284859 0.157384 -v 5.084898 9.284859 0.157384 -v 21.731241 9.284859 -0.154267 -v 5.084898 9.284859 -0.154267 -v 4.577481 10.602791 -0.722305 -v 4.577481 11.464498 -0.722305 -v 13.578200 11.480486 -0.722305 -v 15.101460 10.602791 -0.722305 -v 13.578200 11.480486 0.725421 -v 15.101460 10.602791 0.725421 -v 4.577481 11.464498 0.725421 -v 4.577481 10.602791 0.725421 -v 4.577481 6.814187 -0.722305 -v 13.578199 6.814187 -0.722305 -v 13.578199 6.814187 0.725421 -v 4.577481 6.814187 0.725421 -v 15.101460 7.462444 0.725421 -v 4.577481 7.462444 0.725421 -v 15.101460 7.462444 -0.722305 -v 5.084898 7.462444 -0.722305 -v 5.084898 10.602791 -0.722305 -v 5.084898 10.602791 0.725421 -v 5.084898 7.462444 0.725421 -v 4.577481 7.462444 -0.722305 -v -7.847580 16.520452 0.560558 -v -7.234328 17.381878 0.560558 -v -7.285463 17.310049 0.467335 -v -7.796445 16.592281 0.467335 -v -0.999361 16.307405 -0.833942 -v -0.999361 17.594927 -0.833942 -v 4.161454 17.454947 -0.833942 -v 4.161454 16.447384 -0.833942 -v 4.161454 17.454947 0.837060 -v 4.161454 16.447384 0.837060 -v 4.161454 16.530464 0.699276 -v 4.161454 17.371868 0.699276 -v 4.161454 17.371868 -0.696158 -v 4.161454 16.530464 -0.696158 -v -5.052628 16.307405 0.837060 -v -5.052628 17.594927 0.837060 -v -5.052628 17.594927 -0.833942 -v -7.234328 17.381878 -0.557439 -v -0.999361 17.594927 0.837060 -v -0.999361 16.307405 0.837060 -v -4.929553 16.307405 0.948820 -v -4.929553 17.659296 0.948820 -v -7.847580 16.520452 -0.557439 -v -5.052628 16.307405 -0.833942 -v -4.929553 16.307405 -0.945701 -v -4.929553 17.659296 -0.945701 -v -1.100104 17.659296 -0.945701 -v -1.100104 16.307405 -0.945701 -v -1.100104 17.659296 0.948820 -v -1.100104 16.307405 0.948820 -v 4.055972 16.530464 -0.696158 -v 4.055972 16.530464 0.699276 -v 4.055972 17.371868 -0.696158 -v 4.055972 17.371868 0.699276 -v -7.285463 17.310049 -0.464217 -v -7.796445 16.592281 -0.464217 -v -7.703522 16.592281 -0.464217 -v -7.192540 17.310049 -0.464217 -v -7.703522 16.592281 0.467335 -v -7.192540 17.310049 0.467335 -v -5.178098 15.173612 0.637913 -v -4.705641 16.327673 0.506147 -v -4.705641 16.327673 -0.503028 -v -5.178098 15.173612 -0.634794 -v -1.087179 16.327673 -0.503028 -v -0.614722 15.173612 -0.634794 -v -1.087179 16.327673 0.506147 -v -0.614722 15.173612 0.637913 -v -5.178098 14.990698 0.637913 -v -0.614722 14.990698 0.637913 -v -5.178098 14.990698 -0.634794 -v -0.614722 14.990698 -0.634794 -v -6.271903 14.987980 0.514426 -v -6.271903 15.680360 0.514426 -v -6.271903 15.680360 -0.511307 -v -6.271903 14.987980 -0.511307 -v 7.182423 14.969267 0.507229 -v 7.182423 14.969267 -0.504111 -v 7.182423 15.653780 -0.504111 -v 7.182423 15.653780 0.507229 -v -5.823894 15.450666 -0.511307 -v -0.919005 15.450666 -0.511307 -v -0.919006 14.987980 -0.511307 -v -5.823894 15.450666 0.514426 -v 6.832087 15.191809 0.507229 -v 6.832087 14.969267 0.507229 -v 6.832088 15.653780 0.507229 -v 6.832088 15.450666 0.507229 -v -0.919065 15.450666 0.514426 -v -0.919063 15.191809 0.514426 -v 6.832088 15.450666 -0.504111 -v -0.919063 14.987980 0.514426 -v -0.919006 15.191809 -0.511307 -v 6.832087 15.191809 -0.504111 -v 6.832087 14.969267 -0.504111 -v 6.832088 15.653780 -0.504111 -v -8.060748 14.988135 0.504371 -v -7.668519 15.680360 0.307153 -v -7.668519 15.680360 -0.304035 -v -8.060748 14.988135 -0.501252 -v -6.452978 15.680360 -0.304035 -v -6.060748 14.988135 -0.501252 -v -6.452978 15.680360 0.307153 -v -6.060748 14.988135 0.504371 -v -8.065479 14.141119 0.517461 -v -8.065479 14.991584 0.510028 -v -8.065479 14.991584 -0.506909 -v -8.065479 14.141119 -0.514839 -v 8.111208 14.563297 0.510028 -v 12.559216 10.945860 0.510027 -v 12.559216 11.374146 0.510027 -v 8.111208 14.991584 0.510028 -v 8.111208 14.991584 -0.506909 -v 12.559216 11.374146 -0.506910 -v -6.998660 14.575294 -0.515718 -v 8.111208 14.563297 -0.506909 -v -6.998660 14.575294 0.518837 -v -6.998660 14.991584 -0.506909 -v -6.998660 14.991584 0.510028 -v 12.559216 10.945860 -0.506910 -v -7.896096 14.323899 0.518837 -v -7.896096 14.323899 -0.515719 -v -7.896096 14.323899 -0.515719 -v -7.896096 14.323899 0.518837 -v -6.998660 14.575294 0.518837 -v -6.998660 14.575294 -0.515718 -v -1.481477 13.556685 0.518837 -v -1.481477 14.575294 0.518837 -v -6.701791 13.556685 0.518837 -v -8.537781 11.720695 -0.515719 -v -6.701791 13.556685 -0.515719 -v -8.537781 11.720695 0.518837 -v -9.732085 12.487910 -0.515719 -v -9.732085 12.487910 0.518837 -v -1.481478 13.556685 -0.515719 -v -1.481477 14.575294 -0.515719 -v 0.670572 11.679328 -0.515719 -v 0.670572 11.679328 0.518837 -v 0.670571 12.463068 0.518837 -v 0.670571 12.463068 -0.515719 -v 6.436265 3.209198 -0.730503 -v 6.991626 2.869948 -0.730503 -v 6.778656 2.521311 -1.056302 -v 6.223295 2.860560 -1.056302 -v 6.554455 3.402676 -0.259710 -v 7.109815 3.063427 -0.259710 -v 6.554455 3.402676 0.262831 -v 7.109815 3.063427 0.262831 -v 6.436265 3.209198 0.733624 -v 6.991626 2.869948 0.733624 -v 6.223295 2.860560 1.059423 -v 6.778656 2.521311 1.059423 -v 5.957726 2.425817 1.175699 -v 6.513086 2.086567 1.175699 -v 5.692157 1.991074 1.059423 -v 6.247517 1.651824 1.059423 -v 5.479187 1.642437 0.733624 -v 6.034547 1.303187 0.733624 -v 5.360998 1.448958 0.262831 -v 5.916358 1.109708 0.262831 -v 5.360998 1.448958 -0.259710 -v 5.916358 1.109708 -0.259710 -v 5.479187 1.642437 -0.730503 -v 6.034547 1.303187 -0.730503 -v 5.692158 1.991075 -1.056302 -v 6.247518 1.651825 -1.056302 -v 5.957726 2.425817 -1.172578 -v 6.513086 2.086567 -1.172578 -v 2.901741 4.889583 -1.056304 -v 5.009761 3.601866 -1.056302 -v 4.744192 3.167122 -1.172578 -v 2.636172 4.454840 -1.172580 -v 4.478623 2.732379 -1.056302 -v 2.370603 4.020097 -1.056304 -v 4.265653 2.383742 -0.730503 -v 2.157633 3.671459 -0.730505 -v 4.147463 2.190263 -0.259710 -v 2.039443 3.477980 -0.259712 -v 4.147463 2.190263 0.262831 -v 2.039443 3.477980 0.262828 -v 4.265652 2.383742 0.733624 -v 2.157633 3.671459 0.733622 -v 4.478622 2.732379 1.059423 -v 2.370603 4.020096 1.059421 -v 4.744192 3.167122 1.175699 -v 2.636172 4.454840 1.175697 -v 5.009761 3.601866 1.059423 -v 2.901741 4.889583 1.059421 -v 5.222731 3.950502 0.733624 -v 3.114711 5.238220 0.733622 -v 5.340921 4.143981 0.262831 -v 3.232901 5.431699 0.262829 -v 5.340921 4.143981 -0.259710 -v 3.232901 5.431699 -0.259712 -v 5.222732 3.950503 -0.730503 -v 3.114711 5.238220 -0.730505 -v 5.430212 1.562263 -0.229405 -v 5.534693 1.733301 -0.645591 -v 4.978958 3.551440 -0.933601 -v 6.192492 2.810135 -0.933601 -v 5.957726 2.425817 -1.036390 -v 4.744192 3.167122 -1.036390 -v 5.722961 2.041500 -0.933601 -v 4.509426 2.782805 -0.933601 -v 4.321158 2.474606 -0.645591 -v 4.216677 2.303568 -0.229405 -v 5.430212 1.562263 0.232526 -v 4.216677 2.303568 0.232526 -v 5.534692 1.733301 0.648712 -v 4.321158 2.474606 0.648712 -v 5.722960 2.041500 0.936722 -v 4.509426 2.782804 0.936722 -v 5.957726 2.425817 1.039511 -v 4.744192 3.167122 1.039511 -v 6.192492 2.810134 0.936722 -v 4.978958 3.551440 0.936722 -v 6.380760 3.118333 0.648712 -v 5.167225 3.859638 0.648712 -v 6.485241 3.289371 0.232526 -v 5.271706 4.030676 0.232526 -v 6.485241 3.289371 -0.229405 -v 5.271706 4.030676 -0.229405 -v 6.380761 3.118334 -0.645591 -v 5.167225 3.859639 -0.645591 -v 2.956538 4.979286 -0.488533 -v 3.035662 5.108813 -0.173353 -v 3.035662 5.108813 0.176470 -v 2.956538 4.979286 0.491650 -v 2.813962 4.745885 0.709761 -v 2.636173 4.454840 0.787604 -v 2.458383 4.163794 0.709761 -v 2.315807 3.930393 0.491650 -v 2.236683 3.800866 0.176470 -v 2.236683 3.800866 -0.173353 -v 2.315807 3.930393 -0.488533 -v 2.458384 4.163795 -0.706644 -v 2.636173 4.454840 -0.784487 -v 2.813962 4.745885 -0.706644 -v 2.081645 4.073435 -0.488533 -v 2.224222 4.306835 -0.706644 -v 2.722376 5.122327 0.491650 -v 2.579801 4.888927 0.709761 -v 2.402011 4.597881 -0.784487 -v 2.402011 4.597881 0.787604 -v 2.224221 4.306835 0.709761 -v 2.579801 4.888927 -0.706644 -v 2.081645 4.073434 0.491649 -v 2.722377 5.122327 -0.488533 -v 2.002522 3.943907 0.176470 -v 2.801500 5.251854 -0.173353 -v 2.002522 3.943907 -0.173353 -v 2.801500 5.251854 0.176470 -v 4.080332 10.338214 -1.677505 -v 4.080332 10.337388 -0.851961 -v 8.180743 10.337388 -0.851961 -v 8.578848 10.338069 -1.466024 -v 29.400387 10.337389 -1.464900 -v 29.400387 10.338215 -1.677503 -v 29.874542 10.337389 -0.851961 -v 38.870193 10.337389 -0.851961 -v 38.870193 10.338215 -1.677503 -v 29.874542 10.338215 -1.677503 -v 38.870193 9.823874 -2.187376 -v 4.080334 9.823875 -2.187377 -v 38.870193 8.989509 -2.333477 -v 4.080332 8.989509 -2.333478 -v 38.870193 8.155113 -2.189060 -v 4.080334 8.155111 -2.189061 -v 29.874542 7.638101 -1.680228 -v 38.870193 7.638101 -1.680228 -v 38.870193 7.637275 -0.855541 -v 29.874542 7.637275 -0.855542 -v 4.080334 7.638101 -1.680229 -v 29.400711 7.638101 -1.680228 -v 29.400713 7.637276 -1.467624 -v 8.578876 7.637954 -1.468745 -v 8.180743 7.637274 -0.855543 -v 4.080332 7.637274 -0.855543 -v 39.106064 10.031866 -0.865405 -v 39.245750 9.552764 -0.865405 -v 39.245750 9.387239 -1.283798 -v 39.106064 9.726015 -1.638494 -v 39.294800 8.987624 -0.865405 -v 39.245750 8.422485 -0.865405 -v 39.245750 8.588011 -1.283798 -v 39.245750 8.987624 -1.457101 -v 39.106064 8.987624 -1.958718 -v 39.106064 8.249234 -1.638494 -v 39.106064 7.943383 -0.865405 -v 3.704550 8.588013 -1.299245 -v 3.704550 8.422487 -0.851963 -v 3.655497 8.987627 -0.851962 -v 3.704550 8.987627 -1.476500 -v 3.844236 10.031869 -0.851963 -v 3.844236 9.726017 -1.662027 -v 3.704550 9.552767 -0.851962 -v 3.704550 9.387240 -1.299245 -v 3.844236 8.987627 -1.989552 -v 3.844236 8.249236 -1.662028 -v 3.844236 7.943385 -0.851962 -v 9.448668 9.987597 -1.030087 -v 9.448668 7.987597 -1.030087 -v 10.448656 7.987597 -1.034757 -v 10.448656 9.987597 -1.034757 -v 10.944607 7.987597 -1.903108 -v 10.944607 9.987597 -1.903107 -v 10.939272 9.987597 -1.893766 -v 8.944629 7.987597 -1.893768 -v 8.944629 9.987597 -1.893767 -v 11.738667 9.987597 -1.030087 -v 11.738667 7.987597 -1.030087 -v 12.738656 7.987597 -1.034757 -v 12.738656 9.987597 -1.034755 -v 13.234606 7.987597 -1.903107 -v 13.234606 9.987597 -1.903107 -v 13.229271 9.987597 -1.893767 -v 11.234629 7.987597 -1.893768 -v 11.234629 9.987597 -1.893767 -v 14.028666 9.987597 -1.030087 -v 14.028666 7.987597 -1.030087 -v 15.028655 7.987597 -1.034757 -v 15.028655 9.987597 -1.034757 -v 15.524605 7.987597 -1.903108 -v 15.524605 9.987597 -1.903108 -v 15.519270 9.987597 -1.893764 -v 13.524627 7.987597 -1.893768 -v 13.524627 9.987597 -1.893767 -v 16.318665 9.987597 -1.030087 -v 16.318665 7.987597 -1.030088 -v 17.318653 7.987597 -1.034758 -v 17.318653 9.987597 -1.034757 -v 17.814604 7.987597 -1.903109 -v 17.814604 9.987597 -1.903108 -v 17.809269 9.987597 -1.893764 -v 15.814627 7.987597 -1.893769 -v 15.814627 9.987597 -1.893769 -v 18.608667 9.987597 -1.030087 -v 18.608667 7.987597 -1.030087 -v 19.608656 7.987597 -1.034757 -v 19.608656 9.987597 -1.034755 -v 20.104605 7.987597 -1.903108 -v 20.104607 9.987597 -1.903108 -v 20.099270 9.987597 -1.893766 -v 18.104628 7.987597 -1.893768 -v 18.104628 9.987597 -1.893767 -v 20.898666 9.987597 -1.030087 -v 20.898666 7.987597 -1.030087 -v 21.898657 7.987597 -1.034757 -v 21.898657 9.987597 -1.034757 -v 22.394606 7.987597 -1.903109 -v 22.394606 9.987597 -1.903108 -v 22.389269 9.987597 -1.893764 -v 20.394627 7.987597 -1.893769 -v 20.394627 9.987597 -1.893769 -v 23.188669 9.987597 -1.030087 -v 23.188669 7.987597 -1.030087 -v 24.188658 7.987597 -1.034757 -v 24.188658 9.987597 -1.034757 -v 24.684608 7.987597 -1.903108 -v 24.684608 9.987597 -1.903108 -v 24.679272 9.987597 -1.893764 -v 22.684629 7.987597 -1.893769 -v 22.684629 9.987597 -1.893767 -v 25.478668 9.987597 -1.030087 -v 25.478668 7.987597 -1.030087 -v 26.478657 7.987597 -1.034757 -v 26.478657 9.987597 -1.034755 -v 26.974607 7.987597 -1.903108 -v 26.974607 9.987597 -1.903108 -v 26.969271 9.987597 -1.893762 -v 24.974628 7.987597 -1.893768 -v 24.974628 9.987597 -1.893767 -v 27.768669 9.987597 -1.030086 -v 27.768669 7.987597 -1.030086 -v 28.768658 7.987597 -1.034756 -v 28.768658 9.987597 -1.034755 -v 29.264610 7.987597 -1.903107 -v 29.264610 9.987597 -1.903107 -v 29.259272 9.987597 -1.893762 -v 27.264629 7.987597 -1.893767 -v 27.264629 9.987597 -1.893767 -v 4.080332 7.638778 1.680621 -v 4.080332 7.639604 0.855078 -v 8.180743 7.639604 0.855078 -v 8.578848 7.638923 1.469139 -v 29.400387 7.639603 1.468017 -v 29.400387 7.638777 1.680621 -v 29.874542 7.639603 0.855078 -v 38.870193 7.639603 0.855077 -v 38.870193 7.638777 1.680621 -v 29.874542 7.638777 1.680620 -v 38.870193 8.153117 2.190493 -v 4.080334 8.153117 2.190494 -v 38.870193 8.987483 2.336596 -v 4.080332 8.987484 2.336596 -v 38.870193 9.821878 2.192177 -v 4.080334 9.821880 2.192178 -v 29.874542 10.338891 1.683344 -v 38.870193 10.338891 1.683344 -v 38.870193 10.339717 0.858657 -v 29.874542 10.339717 0.858658 -v 4.080334 10.338891 1.683344 -v 29.400711 10.338891 1.683344 -v 29.400711 10.339717 1.470740 -v 8.578876 10.339038 1.471861 -v 8.180743 10.339718 0.858658 -v 4.080332 10.339718 0.858658 -v 39.106064 7.945126 0.868522 -v 39.245750 8.424228 0.868522 -v 39.245750 8.589753 1.286914 -v 39.106064 8.250977 1.641611 -v 39.294800 8.989367 0.868522 -v 39.245750 9.554507 0.868521 -v 39.245750 9.388982 1.286914 -v 39.245750 8.989367 1.460218 -v 39.106064 8.989367 1.961834 -v 39.106064 9.727757 1.641611 -v 39.106064 10.033609 0.868521 -v 3.704550 9.388979 1.302360 -v 3.704550 9.554504 0.855077 -v 3.655497 8.989365 0.855077 -v 3.704550 8.989365 1.479615 -v 3.844236 7.945123 0.855078 -v 3.844236 8.250975 1.665143 -v 3.704550 8.424226 0.855077 -v 3.704550 8.589751 1.302360 -v 3.844236 8.989365 1.992667 -v 3.844236 9.727756 1.665143 -v 3.844236 10.033607 0.855077 -v 9.448668 7.989395 1.033202 -v 9.448668 9.989395 1.033203 -v 10.448656 9.989395 1.037872 -v 10.448656 7.989395 1.037872 -v 10.944607 9.989395 1.906224 -v 10.944607 7.989395 1.906223 -v 10.939272 7.989395 1.896882 -v 8.944629 9.989395 1.896884 -v 8.944629 7.989395 1.896883 -v 11.738667 7.989395 1.033202 -v 11.738667 9.989395 1.033203 -v 12.738656 9.989395 1.037872 -v 12.738656 7.989395 1.037872 -v 13.234606 9.989395 1.906224 -v 13.234606 7.989395 1.906223 -v 13.229271 7.989395 1.896882 -v 11.234629 9.989395 1.896883 -v 11.234629 7.989395 1.896883 -v 14.028666 7.989395 1.033203 -v 14.028666 9.989395 1.033203 -v 15.028654 9.989395 1.037872 -v 15.028655 7.989395 1.037872 -v 15.524605 9.989395 1.906224 -v 15.524605 7.989395 1.906223 -v 15.519270 7.989395 1.896881 -v 13.524626 9.989395 1.896884 -v 13.524626 7.989395 1.896884 -v 16.318665 7.989395 1.033204 -v 16.318665 9.989395 1.033203 -v 17.318653 9.989395 1.037874 -v 17.318653 7.989395 1.037873 -v 17.814604 9.989395 1.906225 -v 17.814604 7.989395 1.906224 -v 17.809267 7.989395 1.896881 -v 15.814626 9.989395 1.896886 -v 15.814626 7.989395 1.896885 -v 18.608665 7.989395 1.033203 -v 18.608665 9.989395 1.033203 -v 19.608656 9.989395 1.037872 -v 19.608656 7.989395 1.037872 -v 20.104605 9.989395 1.906224 -v 20.104605 7.989395 1.906224 -v 20.099270 7.989395 1.896881 -v 18.104628 9.989395 1.896884 -v 18.104628 7.989395 1.896884 -v 20.898666 7.989395 1.033203 -v 20.898666 9.989395 1.033203 -v 21.898657 9.989395 1.037874 -v 21.898657 7.989395 1.037873 -v 22.394606 9.989395 1.906224 -v 22.394606 7.989395 1.906224 -v 22.389269 7.989395 1.896880 -v 20.394627 9.989395 1.896886 -v 20.394627 7.989395 1.896885 -v 23.188667 7.989395 1.033203 -v 23.188669 9.989395 1.033203 -v 24.188658 9.989395 1.037872 -v 24.188658 7.989395 1.037873 -v 24.684607 9.989395 1.906224 -v 24.684607 7.989395 1.906224 -v 24.679270 7.989395 1.896880 -v 22.684629 9.989395 1.896884 -v 22.684629 7.989395 1.896885 -v 25.478668 7.989395 1.033203 -v 25.478668 9.989395 1.033203 -v 26.478657 9.989395 1.037872 -v 26.478657 7.989395 1.037873 -v 26.974607 9.989395 1.906224 -v 26.974607 7.989395 1.906224 -v 26.969269 7.989395 1.896879 -v 24.974628 9.989395 1.896884 -v 24.974628 7.989395 1.896884 -v 27.768669 7.989395 1.033202 -v 27.768669 9.989395 1.033201 -v 28.768658 9.989395 1.037872 -v 28.768658 7.989395 1.037872 -v 29.264608 9.989395 1.906224 -v 29.264608 7.989395 1.906223 -v 29.259272 7.989395 1.896878 -v 27.264629 9.989395 1.896883 -v 27.264629 7.989395 1.896883 -v 4.577481 6.350002 0.861986 -v 4.577481 11.715233 0.861987 -v 3.248138 11.715233 0.861987 -v 3.248138 6.350002 0.861986 -v 4.577481 5.955926 -0.645475 -v 4.577481 6.350002 -0.858869 -v 4.577481 11.715233 -0.858868 -v 4.577481 12.109308 -0.645474 -v 4.577481 12.109308 0.648593 -v 4.577481 5.955926 0.648592 -v 3.248138 12.109308 -0.645474 -v 3.248138 12.109308 0.648593 -v 3.248138 6.350002 -0.858869 -v 3.248138 11.715233 -0.858868 -v 3.248138 5.955926 -0.645475 -v 3.248138 5.955926 0.648592 -v -19.161236 6.020334 -0.462277 -v -6.966369 6.020334 -0.462277 -v -6.966369 5.564280 -0.230359 -v -19.161236 5.564280 -0.230359 -v -6.966369 5.564280 0.233476 -v -19.161236 5.564280 0.233476 -v -6.966369 6.020334 0.465394 -v -19.161236 6.020334 0.465394 -v -6.966369 6.476389 0.233476 -v -19.161236 6.476388 0.233476 -v -6.966369 6.476389 -0.230359 -v -19.161236 6.476388 -0.230359 -v -8.357529 4.957118 0.001558 -v -8.144119 6.167422 0.001558 -v -8.076805 6.170067 -0.466381 -v -8.290215 4.959762 -0.466381 -v -9.705212 2.139973 0.001558 -v -9.261955 4.162107 0.001558 -v -9.194641 4.164752 -0.466381 -v -9.637897 2.142617 -0.466381 -v -7.075524 1.771534 0.469498 -v -6.818943 4.397857 0.469498 -v -6.339717 5.944504 0.469498 -v -8.076805 6.170067 0.469498 -v -8.290215 4.959762 0.469498 -v -9.194641 4.164752 0.469498 -v -9.637897 2.142617 0.469498 -v -6.650576 4.404471 0.001558 -v -6.171350 5.951118 0.001558 -v -7.075524 1.771534 -0.466381 -v -6.907157 1.778148 0.001558 -v -6.818943 4.397857 -0.466381 -v -6.339717 5.944504 -0.466381 -v -5.135301 4.257471 -0.109599 -v -3.307295 4.327418 -0.109599 -v -3.001242 4.664330 -0.109599 -v -3.006341 4.506531 -0.109599 -v -3.312394 4.169619 -0.109599 -v -5.184480 4.107445 -0.109599 -v -6.699442 4.727227 -0.109599 -v -6.650263 4.877254 -0.109599 -v -5.184480 4.107445 0.112716 -v -3.312394 4.169619 0.112716 -v -3.006341 4.506531 0.112716 -v -3.001242 4.664330 0.112716 -v -3.307295 4.327418 0.112716 -v -5.135301 4.257471 0.112716 -v -6.650263 4.877254 0.112716 -v -6.699442 4.727227 0.112716 -v -1.613539 3.543315 0.700609 -v -1.613539 5.543315 0.903919 -v -1.613539 5.543315 -0.900803 -v -1.613539 3.543315 -0.697493 -v 2.979543 5.543315 -0.900803 -v 1.757814 3.543315 -0.697493 -v 2.979543 5.543315 0.903919 -v 1.757814 3.543315 0.700609 -v -3.047556 4.190944 0.271057 -v -3.047556 6.113210 0.511503 -v -3.047556 6.113210 -0.508387 -v -3.047556 4.190944 -0.267940 -v -0.654220 6.113210 -0.508387 -v -0.654220 4.190944 -0.267940 -v -0.654220 6.113210 0.511503 -v -0.654220 4.190944 0.271057 -v -13.741517 7.707147 0.926718 -v -13.741517 8.497342 0.926718 -v -13.741517 8.497342 -0.923601 -v -13.741517 7.707147 -0.923601 -v -6.687807 7.707147 -0.923601 -v -7.817740 8.497342 -0.923601 -v -7.817740 8.497342 0.926718 -v -6.687807 7.707147 0.926718 -v -11.341221 5.757500 -0.923601 -v -11.341221 5.757500 0.926718 -v -1.562198 7.707147 0.926718 -v -1.562198 7.707147 -0.923601 -v -1.077846 5.538204 0.926718 -v -1.077846 5.538204 -0.923601 -v 3.276332 5.538204 -0.923601 -v 3.276332 5.538204 0.926718 -v 3.276332 7.707147 -0.923601 -v -1.562198 5.757500 -0.923601 -v -1.562198 5.757500 0.926718 -v 3.276332 7.707147 0.926718 -v -20.858454 10.597898 0.001558 -v -21.152170 12.582917 0.001559 -v -20.902596 12.582917 -0.506197 -v -20.608879 10.597898 -0.506198 -v -19.127838 5.186860 -0.506198 -v -19.127838 5.186860 0.509315 -v -21.097216 5.186860 0.509315 -v -21.346790 5.186860 0.001558 -v -21.097216 5.186860 -0.506198 -v -14.160414 12.057523 0.509316 -v -20.902596 12.582917 0.509316 -v -20.608879 10.597898 0.509315 -v -21.384512 8.095466 0.509315 -v -16.655401 7.476874 0.501693 -v -14.160414 8.695524 0.529939 -v -16.655401 7.476874 -0.513819 -v -21.384512 8.095466 -0.506198 -v -14.160414 12.057523 -0.506197 -v -14.160414 8.695523 -0.485573 -v -21.634087 8.095466 0.001558 -v 3.264356 12.534817 -0.719904 -v -13.705882 12.534817 -0.719904 -v -13.705882 12.534817 0.723022 -v 3.264356 12.534817 0.723022 -v 3.545642 11.788592 1.001558 -v -14.760922 11.788592 1.001558 -v -14.760922 8.399891 1.001558 -v -7.664775 8.396957 1.023224 -v -5.947091 9.349118 1.023224 -v -3.214496 9.352053 1.001558 -v -1.069754 6.584638 1.001558 -v 3.545642 6.584638 1.001558 -v -14.760922 11.788592 -0.998441 -v -14.760922 8.399891 -0.998442 -v -7.664775 8.396957 -0.976776 -v 3.545642 11.788592 -0.998441 -v -5.947091 9.349118 -0.976776 -v 3.545642 6.584638 -0.998442 -v -1.069754 6.584638 -0.998442 -v -3.214496 9.352053 -0.998442 -vt 0.474356 0.352768 -vt 0.504521 0.360144 -vt 0.473696 0.377941 -vt 0.573314 0.294273 -vt 0.611173 0.253148 -vt 0.611173 0.294273 -vt 0.588275 0.340024 -vt 0.564042 0.315079 -vt 0.588275 0.315079 -vt 0.519136 0.298875 -vt 0.551921 0.275681 -vt 0.551921 0.298875 -vt 0.570133 0.357428 -vt 0.645664 0.341903 -vt 0.505339 0.341903 -vt 0.558390 0.314675 -vt 0.540922 0.303353 -vt 0.558390 0.303353 -vt 0.617498 0.338763 -vt 0.637694 0.249087 -vt 0.637694 0.338763 -vt 0.558390 0.302753 -vt 0.540922 0.314706 -vt 0.540922 0.302753 -vt 0.551921 0.275742 -vt 0.519136 0.298936 -vt 0.519136 0.275742 -vt 0.588275 0.340593 -vt 0.564042 0.314077 -vt 0.588275 0.314077 -vt 0.537612 0.392511 -vt 0.520143 0.301080 -vt 0.537612 0.301080 -vt 0.536750 0.371838 -vt 0.520764 0.320788 -vt 0.536750 0.320788 -vt 0.505550 0.359931 -vt 0.473887 0.352418 -vt 0.473037 0.378702 -vt 0.474042 0.380282 -vt 0.474042 0.353472 -vt 0.491418 0.353472 -vt 0.599443 0.454078 -vt 0.619850 0.470903 -vt 0.614778 0.454078 -vt 0.492629 0.472343 -vt 0.492294 0.463283 -vt 0.500390 0.452643 -vt 0.594114 0.470746 -vt 0.614674 0.453796 -vt 0.599225 0.453796 -vt 0.492750 0.472314 -vt 0.492417 0.463269 -vt 0.500500 0.452645 -vt 0.550184 0.449277 -vt 0.538802 0.460658 -vt 0.538802 0.449277 -vt 0.626962 0.501902 -vt 0.595756 0.533108 -vt 0.595756 0.501902 -vt 0.622676 0.461877 -vt 0.591470 0.478076 -vt 0.591470 0.461877 -vt 0.622783 0.462380 -vt 0.591577 0.477679 -vt 0.591577 0.462380 -vt 0.991360 0.646727 -vt 0.822024 0.658197 -vt 0.991360 0.658197 -vt 0.814708 0.646598 -vt 0.991081 0.658874 -vt 0.814708 0.658874 -vt 0.990990 0.646787 -vt 0.821654 0.658257 -vt 0.813860 0.646787 -vt 0.811514 0.680513 -vt 0.784944 0.644213 -vt 0.811514 0.644213 -vt 0.991880 0.658849 -vt 0.814569 0.647052 -vt 0.991880 0.647052 -vt 0.834221 0.777486 -vt 0.967063 0.748387 -vt 0.989140 0.778092 -vt 0.885070 0.756401 -vt 0.926691 0.790223 -vt 0.885070 0.790223 -vt 0.845691 0.748231 -vt 0.978190 0.777849 -vt 0.823268 0.777849 -vt 0.988744 0.747655 -vt 0.829816 0.778102 -vt 0.829816 0.747655 -vt 0.984600 0.747655 -vt 0.825668 0.778102 -vt 0.825668 0.747655 -vt 0.848983 0.749909 -vt 0.986106 0.779072 -vt 0.986106 0.749909 -vt 0.926691 0.788250 -vt 0.885070 0.757075 -vt 0.926691 0.757075 -vt 0.938244 0.749163 -vt 0.876118 0.777871 -vt 0.876118 0.749163 -vt 0.986658 0.778395 -vt 0.849535 0.749522 -vt 0.986658 0.749522 -vt 0.961284 0.787872 -vt 0.967663 0.742626 -vt 0.967663 0.787872 -vt 0.961723 0.742626 -vt 0.968103 0.787872 -vt 0.961723 0.787872 -vt 0.841028 0.778249 -vt 0.977194 0.748807 -vt 0.977194 0.778249 -vt 0.974674 0.777743 -vt 0.838508 0.748301 -vt 0.974674 0.748301 -vt 0.810962 0.896668 -vt 0.851718 0.893429 -vt 0.855425 0.896668 -vt 0.741225 0.892410 -vt 0.696409 0.908646 -vt 0.696409 0.894391 -vt 0.812204 0.858055 -vt 0.854804 0.858055 -vt 0.815717 0.861236 -vt 0.673716 0.932066 -vt 0.644076 0.879172 -vt 0.669235 0.866023 -vt 0.779903 0.919461 -vt 0.799268 0.870773 -vt 0.776063 0.870773 -vt 0.746989 0.915153 -vt 0.700529 0.933141 -vt 0.700529 0.915153 -vt 0.696409 0.894269 -vt 0.741225 0.910506 -vt 0.696409 0.908525 -vt 0.741981 0.987169 -vt 0.711884 0.984717 -vt 0.741967 0.984563 -vt 0.644841 0.879855 -vt 0.672827 0.931724 -vt 0.668466 0.866717 -vt 0.780116 0.919748 -vt 0.799481 0.870074 -vt 0.795642 0.919748 -vt 0.747433 0.936216 -vt 0.810936 0.959823 -vt 0.747433 0.959823 -vt 0.807804 0.962033 -vt 0.752373 0.991144 -vt 0.752373 0.962033 -vt 0.747725 0.936216 -vt 0.811228 0.959823 -vt 0.747726 0.959823 -vt 0.701742 0.957889 -vt 0.722688 0.936139 -vt 0.724402 0.938102 -vt 0.698894 0.956915 -vt 0.700940 0.957157 -vt 0.710197 0.987796 -vt 0.698196 0.956054 -vt 0.724850 0.936658 -vt 0.726324 0.938685 -vt 0.729756 0.884865 -vt 0.671537 0.862325 -vt 0.729756 0.862325 -vt 0.743016 0.984707 -vt 0.711524 0.985154 -vt 0.742781 0.982212 -vt 0.711745 0.935611 -vt 0.685757 0.938700 -vt 0.685048 0.935611 -vt 0.812204 0.896637 -vt 0.851291 0.893456 -vt 0.854804 0.896637 -vt 0.802245 0.900185 -vt 0.861818 0.935863 -vt 0.802245 0.935863 -vt 0.663135 0.935611 -vt 0.634999 0.935668 -vt 0.636437 0.935611 -vt 0.733659 0.935611 -vt 0.710307 0.938700 -vt 0.663843 0.935668 -vt 0.691845 0.949088 -vt 0.709409 0.942172 -vt 0.691374 0.950787 -vt 0.810962 0.857823 -vt 0.855425 0.857823 -vt 0.814669 0.861062 -vt 0.851905 0.989955 -vt 0.814127 0.956098 -vt 0.851905 0.956098 -vt 0.674651 0.949088 -vt 0.656960 0.942172 -vt 0.656616 0.941208 -vt 0.674995 0.950787 -vt 0.638951 0.942172 -vt 0.639422 0.941208 -vt 0.586199 0.953331 -vt 0.554979 0.980226 -vt 0.554979 0.950225 -vt 0.556072 0.934643 -vt 0.531580 0.981096 -vt 0.531580 0.929278 -vt 0.554496 0.979727 -vt 0.585942 0.948267 -vt 0.585942 0.983360 -vt 0.553770 0.989219 -vt 0.532140 0.929889 -vt 0.553770 0.923037 -vt 0.588386 0.899101 -vt 0.595574 0.957245 -vt 0.588386 0.957245 -vt 0.556186 0.893561 -vt 0.532113 0.917634 -vt 0.532113 0.893561 -vt 0.596252 0.957115 -vt 0.587901 0.899230 -vt 0.596252 0.899230 -vt 0.599361 0.900982 -vt 0.607983 0.957678 -vt 0.599361 0.957678 -vt 0.607834 0.958072 -vt 0.599212 0.900450 -vt 0.607834 0.900450 -vt 0.474345 0.889873 -vt 0.453707 0.910512 -vt 0.453707 0.889873 -vt 0.415532 0.891095 -vt 0.439177 0.911640 -vt 0.415532 0.911640 -vt 0.503202 0.856563 -vt 0.490959 0.877519 -vt 0.356926 0.856563 -vt 0.487497 0.952460 -vt 0.515616 0.894207 -vt 0.515616 0.952460 -vt 0.423893 0.915630 -vt 0.436655 0.915630 -vt 0.436655 0.919824 -vt 0.353920 0.856486 -vt 0.515882 0.870728 -vt 0.353920 0.870728 -vt 0.447207 0.886782 -vt 0.365926 0.886782 -vt 0.447206 0.857182 -vt 0.369865 0.878257 -vt 0.356709 0.888640 -vt 0.356709 0.857341 -vt 0.515340 0.855721 -vt 0.354532 0.871585 -vt 0.515340 0.871585 -vt 0.427715 0.929289 -vt 0.423716 0.929289 -vt 0.423716 0.915419 -vt 0.499974 0.886441 -vt 0.365489 0.857274 -vt 0.499974 0.857064 -vt 0.413925 0.890611 -vt 0.381300 0.912351 -vt 0.381300 0.890611 -vt 0.451845 0.913182 -vt 0.481059 0.924622 -vt 0.451845 0.924622 -vt 0.413705 0.890294 -vt 0.381990 0.911949 -vt 0.381990 0.890294 -vt 0.339655 0.894660 -vt 0.296344 0.855656 -vt 0.350222 0.855656 -vt 0.306280 0.924019 -vt 0.355346 0.899738 -vt 0.367317 0.924019 -vt 0.363750 0.949891 -vt 0.319889 0.971596 -vt 0.309188 0.949891 -vt 0.318566 0.899750 -vt 0.366806 0.923622 -vt 0.306797 0.923622 -vt 0.363006 0.925382 -vt 0.311799 0.947185 -vt 0.311799 0.925382 -vt 0.193455 0.882057 -vt 0.210976 0.899577 -vt 0.193455 0.899577 -vt 0.186489 0.973982 -vt 0.195350 0.884844 -vt 0.197206 0.988152 -vt 0.261258 0.867704 -vt 0.247289 0.959141 -vt 0.247289 0.867704 -vt 0.284059 0.923691 -vt 0.173595 0.934620 -vt 0.173595 0.923691 -vt 0.285058 0.923691 -vt 0.174593 0.934620 -vt 0.174593 0.923691 -vt 0.247697 0.958942 -vt 0.261662 0.867535 -vt 0.261662 0.958942 -vt 0.196399 0.886801 -vt 0.185423 0.969913 -vt 0.198101 0.987768 -vt 0.282256 0.981572 -vt 0.282229 0.990242 -vt 0.274389 0.981521 -vt 0.274366 0.981710 -vt 0.281578 0.989995 -vt 0.281687 0.981263 -vt 0.071485 0.879297 -vt 0.051953 0.910183 -vt 0.051953 0.879297 -vt 0.061716 0.865346 -vt 0.048668 0.959243 -vt 0.037680 0.860289 -vt 0.074695 0.909428 -vt 0.112662 0.880183 -vt 0.112662 0.909428 -vt 0.138641 0.912334 -vt 0.096936 0.954039 -vt 0.096936 0.912334 -vt 0.070269 0.904398 -vt 0.095050 0.965251 -vt 0.070269 0.965251 -vt 0.039228 0.948076 -vt 0.044102 0.883761 -vt 0.044102 0.948076 -vt 0.112586 0.880194 -vt 0.074687 0.908635 -vt 0.074687 0.880194 -vt 0.028873 0.953104 -vt 0.036883 0.880036 -vt 0.036883 0.953104 -vt 0.110825 0.874194 -vt 0.146495 0.864452 -vt 0.156391 0.880494 -vt 0.016923 0.915086 -vt 0.016700 0.861668 -vt 0.041192 0.861668 -vt 0.143988 0.876789 -vt 0.112819 0.864527 -vt 0.153767 0.864527 -vt 0.058269 0.949693 -vt 0.053900 0.875698 -vt 0.078691 0.864938 -vt 0.016201 0.862189 -vt 0.040279 0.862189 -vt 0.040060 0.915956 -vt 0.385168 0.532814 -vt 0.396714 0.546866 -vt 0.385168 0.546866 -vt 0.373623 0.546866 -vt 0.362077 0.532814 -vt 0.362077 0.546866 -vt 0.350531 0.532814 -vt 0.350531 0.546866 -vt 0.338985 0.546866 -vt 0.327440 0.532814 -vt 0.327440 0.546866 -vt 0.315894 0.532814 -vt 0.315894 0.546866 -vt 0.304348 0.546866 -vt 0.292803 0.546866 -vt 0.304348 0.532814 -vt 0.281257 0.532814 -vt 0.281257 0.546866 -vt 0.269711 0.532814 -vt 0.269711 0.546866 -vt 0.258166 0.546866 -vt 0.246620 0.532814 -vt 0.246620 0.546866 -vt 0.262708 0.458804 -vt 0.291683 0.444850 -vt 0.271631 0.419707 -vt 0.408260 0.532814 -vt 0.408260 0.546866 -vt 0.396714 0.464831 -vt 0.408260 0.529872 -vt 0.396714 0.529872 -vt 0.246620 0.464831 -vt 0.258166 0.529872 -vt 0.246620 0.529872 -vt 0.258166 0.464831 -vt 0.269711 0.529872 -vt 0.269711 0.464831 -vt 0.281257 0.529872 -vt 0.281257 0.464831 -vt 0.292803 0.529872 -vt 0.292803 0.464831 -vt 0.304348 0.529872 -vt 0.315894 0.464831 -vt 0.315894 0.529872 -vt 0.327440 0.464831 -vt 0.327440 0.529872 -vt 0.338985 0.464831 -vt 0.338985 0.529872 -vt 0.350531 0.464831 -vt 0.350531 0.529872 -vt 0.362077 0.464831 -vt 0.362077 0.529872 -vt 0.373623 0.464831 -vt 0.373623 0.529872 -vt 0.385168 0.464831 -vt 0.385168 0.529872 -vt 0.309644 0.453669 -vt 0.318125 0.458290 -vt 0.317054 0.460584 -vt 0.398667 0.365403 -vt 0.410213 0.379405 -vt 0.398667 0.379405 -vt 0.248573 0.365403 -vt 0.260119 0.379405 -vt 0.248573 0.379405 -vt 0.271664 0.365403 -vt 0.271664 0.379405 -vt 0.283210 0.379405 -vt 0.283210 0.365403 -vt 0.294756 0.379405 -vt 0.306302 0.365403 -vt 0.306302 0.379405 -vt 0.317847 0.379405 -vt 0.329393 0.365403 -vt 0.329393 0.379405 -vt 0.340939 0.365403 -vt 0.340939 0.379405 -vt 0.352484 0.379405 -vt 0.352484 0.365403 -vt 0.364030 0.379405 -vt 0.364030 0.365403 -vt 0.375576 0.379405 -vt 0.375576 0.365403 -vt 0.387121 0.379405 -vt 0.379575 0.436878 -vt 0.376665 0.430649 -vt 0.378211 0.429593 -vt 0.407324 0.448859 -vt 0.411331 0.445318 -vt 0.415776 0.449247 -vt 0.342942 0.427950 -vt 0.341011 0.429442 -vt 0.334461 0.423328 -vt 0.348260 0.440757 -vt 0.353098 0.446747 -vt 0.351552 0.447803 -vt 0.284047 0.412732 -vt 0.295234 0.396970 -vt 0.295234 0.412732 -vt 0.394864 0.420185 -vt 0.393323 0.429404 -vt 0.388878 0.425475 -vt 0.365970 0.412732 -vt 0.377156 0.396970 -vt 0.377156 0.412732 -vt 0.306015 0.396970 -vt 0.306015 0.412732 -vt 0.387938 0.396970 -vt 0.387938 0.412732 -vt 0.398719 0.412732 -vt 0.398719 0.396970 -vt 0.316797 0.396970 -vt 0.316797 0.412732 -vt 0.409906 0.412732 -vt 0.409906 0.396970 -vt 0.330745 0.412732 -vt 0.330745 0.396970 -vt 0.260494 0.412732 -vt 0.248822 0.396970 -vt 0.260494 0.396970 -vt 0.342417 0.396970 -vt 0.342417 0.412732 -vt 0.272375 0.396970 -vt 0.272375 0.412732 -vt 0.354298 0.396970 -vt 0.354298 0.412732 -vt 0.284047 0.396970 -vt 0.365970 0.396970 -vt 0.878744 0.269005 -vt 0.875877 0.312281 -vt 0.878744 0.512470 -vt 0.793241 0.085070 -vt 0.806715 0.188953 -vt 0.793241 0.188953 -vt 0.705121 0.192128 -vt 0.716942 0.088245 -vt 0.716942 0.489997 -vt 0.730768 0.088245 -vt 0.730768 0.489997 -vt 0.744588 0.489997 -vt 0.860728 0.085070 -vt 0.874187 0.188943 -vt 0.860727 0.188943 -vt 0.878703 0.342628 -vt 0.878703 0.285945 -vt 0.887932 0.285945 -vt 0.744589 0.088245 -vt 0.756428 0.088245 -vt 0.756427 0.192118 -vt 0.900581 0.163434 -vt 0.932194 0.173745 -vt 0.900573 0.173740 -vt 0.878289 0.201845 -vt 0.872808 0.198778 -vt 0.872808 0.210673 -vt 0.878334 0.201821 -vt 0.872834 0.198774 -vt 0.878334 0.198774 -vt 0.900576 0.450980 -vt 0.932197 0.450981 -vt 0.834919 0.247237 -vt 0.836826 0.237031 -vt 0.842066 0.240602 -vt 0.845343 0.249137 -vt 0.836511 0.252437 -vt 0.830847 0.232810 -vt 0.834182 0.226374 -vt 0.837323 0.231270 -vt 0.842920 0.229940 -vt 0.847741 0.228821 -vt 0.848984 0.240543 -vt 0.843369 0.217842 -vt 0.837164 0.220849 -vt 0.827703 0.218162 -vt 0.826722 0.212816 -vt 0.836109 0.211804 -vt 0.900575 0.460714 -vt 0.836846 0.236800 -vt 0.830482 0.232665 -vt 0.837358 0.230980 -vt 0.832914 0.240518 -vt 0.835810 0.211375 -vt 0.843165 0.217393 -vt 0.837198 0.220473 -vt 0.827240 0.217885 -vt 0.834131 0.226075 -vt 0.828653 0.224816 -vt 0.843094 0.229573 -vt 0.842224 0.240332 -vt 0.848966 0.240241 -vt 0.845359 0.248983 -vt 0.836483 0.252393 -vt 0.834664 0.247215 -vt 0.832608 0.240442 -vt 0.787702 0.544754 -vt 0.778172 0.500846 -vt 0.787702 0.500846 -vt 0.778636 0.544753 -vt 0.778317 0.500846 -vt 0.778650 0.500845 -vt 0.854698 0.533354 -vt 0.808500 0.506681 -vt 0.870098 0.506681 -vt 0.778619 0.500905 -vt 0.788149 0.544813 -vt 0.778619 0.544813 -vt 0.853655 0.532232 -vt 0.807372 0.506287 -vt 0.868799 0.505413 -vt 0.787939 0.544749 -vt 0.778409 0.500841 -vt 0.787939 0.500841 -vt 0.778758 0.545222 -vt 0.778438 0.501315 -vt 0.778771 0.501314 -vt 0.853935 0.533361 -vt 0.807736 0.506688 -vt 0.869334 0.506688 -vt 0.778503 0.545287 -vt 0.788033 0.501379 -vt 0.788033 0.545287 -vt 0.854419 0.532217 -vt 0.808136 0.506272 -vt 0.869563 0.505398 -vt 0.788122 0.544983 -vt 0.778592 0.501075 -vt 0.788122 0.501074 -vt 0.778722 0.544920 -vt 0.778402 0.501012 -vt 0.778735 0.501011 -vt 0.823560 0.533475 -vt 0.869759 0.506802 -vt 0.854359 0.533475 -vt 0.778599 0.501158 -vt 0.788129 0.545066 -vt 0.778599 0.545066 -vt 0.853994 0.532107 -vt 0.807710 0.506163 -vt 0.869137 0.505289 -vt 0.788082 0.544915 -vt 0.778552 0.501006 -vt 0.788082 0.501006 -vt 0.778727 0.544805 -vt 0.778408 0.500898 -vt 0.778740 0.500897 -vt 0.854489 0.533570 -vt 0.808290 0.506898 -vt 0.869888 0.506898 -vt 0.778645 0.501112 -vt 0.788175 0.545020 -vt 0.778645 0.545020 -vt 0.853863 0.532013 -vt 0.807580 0.506068 -vt 0.869007 0.505194 -vt 0.788128 0.545061 -vt 0.778598 0.501152 -vt 0.788128 0.501152 -vt 0.778736 0.545598 -vt 0.778417 0.501691 -vt 0.778749 0.501690 -vt 0.822523 0.532924 -vt 0.868722 0.506251 -vt 0.853323 0.532924 -vt 0.778291 0.501601 -vt 0.787821 0.545509 -vt 0.778291 0.545509 -vt 0.855035 0.532649 -vt 0.808752 0.506704 -vt 0.870179 0.505830 -vt 0.787813 0.545224 -vt 0.778283 0.501316 -vt 0.787813 0.501316 -vt 0.778516 0.545210 -vt 0.778197 0.501302 -vt 0.778529 0.501302 -vt 0.823541 0.532695 -vt 0.869740 0.506022 -vt 0.854340 0.532695 -vt 0.778387 0.500892 -vt 0.787917 0.544800 -vt 0.778387 0.544800 -vt 0.854020 0.532887 -vt 0.807737 0.506942 -vt 0.869164 0.506068 -vt 0.787788 0.545566 -vt 0.778258 0.501658 -vt 0.787788 0.501658 -vt 0.778375 0.545330 -vt 0.778056 0.501423 -vt 0.778388 0.501422 -vt 0.823623 0.532215 -vt 0.869822 0.505542 -vt 0.854422 0.532215 -vt 0.778586 0.500985 -vt 0.788116 0.544893 -vt 0.778586 0.544893 -vt 0.853942 0.533368 -vt 0.807659 0.507423 -vt 0.869086 0.506549 -vt 0.787942 0.544719 -vt 0.778412 0.500811 -vt 0.787942 0.500810 -vt 0.778771 0.545214 -vt 0.778451 0.501307 -vt 0.778784 0.501306 -vt 0.823124 0.533404 -vt 0.869322 0.506731 -vt 0.853923 0.533403 -vt 0.778513 0.501402 -vt 0.788043 0.545310 -vt 0.778513 0.545310 -vt 0.854430 0.532174 -vt 0.808147 0.506230 -vt 0.869574 0.505355 -vt 0.788028 0.545194 -vt 0.778498 0.501286 -vt 0.788028 0.501286 -vt 0.778636 0.545623 -vt 0.778316 0.501715 -vt 0.778649 0.501715 -vt 0.853646 0.532737 -vt 0.807447 0.506064 -vt 0.869046 0.506064 -vt 0.778291 0.501335 -vt 0.787821 0.545243 -vt 0.778291 0.545243 -vt 0.854713 0.532838 -vt 0.808430 0.506894 -vt 0.869857 0.506020 -vt 0.916374 0.038000 -vt 0.922992 0.038651 -vt 0.932182 0.043652 -vt 0.900561 0.515311 -vt 0.932182 0.515321 -vt 0.916374 0.520972 -vt 0.884350 0.272268 -vt 0.881222 0.315604 -vt 0.884350 0.516068 -vt 0.794604 0.084723 -vt 0.808079 0.188606 -vt 0.794604 0.188606 -vt 0.707279 0.191781 -vt 0.719100 0.087898 -vt 0.719100 0.489650 -vt 0.732925 0.489650 -vt 0.746746 0.087898 -vt 0.746746 0.489650 -vt 0.860179 0.084723 -vt 0.873638 0.188596 -vt 0.860179 0.188596 -vt 0.880925 0.330723 -vt 0.880925 0.274040 -vt 0.890154 0.274040 -vt 0.758585 0.087898 -vt 0.758585 0.191771 -vt 0.932268 0.163434 -vt 0.963881 0.173745 -vt 0.932260 0.173740 -vt 0.878388 0.201833 -vt 0.872794 0.198787 -vt 0.872794 0.210605 -vt 0.878324 0.201730 -vt 0.872839 0.198692 -vt 0.878324 0.198692 -vt 0.932263 0.450980 -vt 0.963884 0.450981 -vt 0.834751 0.247285 -vt 0.836659 0.237077 -vt 0.841900 0.240649 -vt 0.845176 0.249185 -vt 0.836344 0.252485 -vt 0.830678 0.232855 -vt 0.834014 0.226418 -vt 0.837156 0.231315 -vt 0.842754 0.229984 -vt 0.847575 0.228865 -vt 0.848819 0.240590 -vt 0.843202 0.217885 -vt 0.836996 0.220892 -vt 0.827534 0.218204 -vt 0.826553 0.212858 -vt 0.835941 0.211846 -vt 0.932262 0.460714 -vt 0.837001 0.236706 -vt 0.830674 0.232674 -vt 0.837464 0.230930 -vt 0.832746 0.240564 -vt 0.835788 0.211513 -vt 0.843109 0.217400 -vt 0.837228 0.220517 -vt 0.827358 0.218057 -vt 0.834236 0.226103 -vt 0.828807 0.224913 -vt 0.843130 0.229475 -vt 0.842348 0.240149 -vt 0.849018 0.239988 -vt 0.845514 0.248691 -vt 0.836756 0.252166 -vt 0.834919 0.247053 -vt 0.832835 0.240360 -vt 0.778299 0.501438 -vt 0.788504 0.545629 -vt 0.778966 0.545331 -vt 0.778215 0.544213 -vt 0.778370 0.500306 -vt 0.778702 0.500324 -vt 0.854900 0.532317 -vt 0.809116 0.504938 -vt 0.870707 0.505883 -vt 0.778697 0.544943 -vt 0.788148 0.501472 -vt 0.788230 0.545369 -vt 0.854979 0.534043 -vt 0.809617 0.506519 -vt 0.871038 0.507762 -vt 0.778626 0.501080 -vt 0.788156 0.544988 -vt 0.778626 0.544988 -vt 0.778626 0.545297 -vt 0.778306 0.501390 -vt 0.778639 0.501389 -vt 0.854103 0.532113 -vt 0.807651 0.505883 -vt 0.869247 0.505295 -vt 0.778692 0.500915 -vt 0.788222 0.544823 -vt 0.778692 0.544823 -vt 0.854250 0.533468 -vt 0.808217 0.507082 -vt 0.869650 0.506795 -vt 0.778411 0.501023 -vt 0.787941 0.544931 -vt 0.778411 0.544931 -vt 0.778479 0.545367 -vt 0.778159 0.501460 -vt 0.778492 0.501459 -vt 0.823631 0.532767 -vt 0.869572 0.505654 -vt 0.854428 0.532473 -vt 0.778645 0.501243 -vt 0.788175 0.545151 -vt 0.778645 0.545151 -vt 0.853928 0.533105 -vt 0.807894 0.506719 -vt 0.869327 0.506433 -vt 0.778248 0.501054 -vt 0.787778 0.544962 -vt 0.778248 0.544963 -vt 0.778548 0.545027 -vt 0.778228 0.501120 -vt 0.778561 0.501119 -vt 0.853904 0.532521 -vt 0.807452 0.506291 -vt 0.869048 0.505702 -vt 0.778552 0.500935 -vt 0.788082 0.544843 -vt 0.778552 0.544843 -vt 0.854453 0.533061 -vt 0.808420 0.506676 -vt 0.869852 0.506388 -vt 0.778618 0.501081 -vt 0.788148 0.544989 -vt 0.778618 0.544989 -vt 0.778629 0.545280 -vt 0.778310 0.501373 -vt 0.778642 0.501372 -vt 0.823279 0.532410 -vt 0.869221 0.505297 -vt 0.854077 0.532116 -vt 0.778687 0.500900 -vt 0.788218 0.544808 -vt 0.778687 0.544808 -vt 0.854276 0.533465 -vt 0.808243 0.507079 -vt 0.869676 0.506792 -vt 0.778390 0.500967 -vt 0.787920 0.544875 -vt 0.778390 0.544875 -vt 0.778510 0.545354 -vt 0.778191 0.501446 -vt 0.778523 0.501445 -vt 0.823563 0.532690 -vt 0.869505 0.505576 -vt 0.854361 0.532395 -vt 0.778655 0.501174 -vt 0.788185 0.545082 -vt 0.778655 0.545082 -vt 0.853995 0.533183 -vt 0.807961 0.506797 -vt 0.869394 0.506510 -vt 0.778642 0.501048 -vt 0.788172 0.544956 -vt 0.778642 0.544956 -vt 0.778154 0.544378 -vt 0.777835 0.500471 -vt 0.778167 0.500470 -vt 0.823356 0.532362 -vt 0.868907 0.507258 -vt 0.854154 0.532068 -vt 0.778111 0.501392 -vt 0.788242 0.544839 -vt 0.778111 0.545301 -vt 0.854198 0.533513 -vt 0.808575 0.505122 -vt 0.870008 0.504835 -vt 0.778643 0.500990 -vt 0.788173 0.544898 -vt 0.778643 0.544898 -vt 0.778651 0.545376 -vt 0.778332 0.501468 -vt 0.778664 0.501468 -vt 0.823359 0.532281 -vt 0.869300 0.505168 -vt 0.854156 0.531987 -vt 0.778734 0.500904 -vt 0.788264 0.544812 -vt 0.778734 0.544812 -vt 0.854195 0.533593 -vt 0.808162 0.507207 -vt 0.869594 0.506920 -vt 0.778646 0.500977 -vt 0.788176 0.544885 -vt 0.778646 0.544886 -vt 0.778654 0.545389 -vt 0.778335 0.501481 -vt 0.778667 0.501481 -vt 0.854167 0.531969 -vt 0.807715 0.505739 -vt 0.869311 0.505150 -vt 0.778741 0.500904 -vt 0.788271 0.544812 -vt 0.778741 0.544812 -vt 0.854184 0.533611 -vt 0.808151 0.507226 -vt 0.869584 0.506938 -vt 0.948061 0.038000 -vt 0.954679 0.038651 -vt 0.963869 0.043652 -vt 0.932248 0.515311 -vt 0.963869 0.515321 -vt 0.948060 0.520973 -vt 0.984523 0.961246 -vt 0.947612 0.860650 -vt 0.984523 0.860650 -vt 0.905143 0.902144 -vt 0.908218 0.897512 -vt 0.929941 0.902144 -vt 0.931593 0.865551 -vt 0.903431 0.895643 -vt 0.903431 0.865551 -vt 0.984811 0.961246 -vt 0.947901 0.860650 -vt 0.984811 0.860650 -vt 0.894532 0.856946 -vt 0.939737 0.836386 -vt 0.939737 0.856946 -vt 0.894035 0.856829 -vt 0.940885 0.836435 -vt 0.940885 0.856829 -vt 0.940519 0.836599 -vt 0.893669 0.856993 -vt 0.893669 0.836599 -vt 0.940519 0.836599 -vt 0.893669 0.856993 -vt 0.893669 0.836599 -vt 0.931813 0.865551 -vt 0.903651 0.895643 -vt 0.903651 0.865551 -vt 0.179063 0.431216 -vt 0.158435 0.167246 -vt 0.179063 0.167246 -vt 0.158435 0.431216 -vt 0.137807 0.167246 -vt 0.137807 0.431216 -vt 0.117180 0.167246 -vt 0.117180 0.431216 -vt 0.096552 0.167246 -vt 0.096552 0.431216 -vt 0.075925 0.167246 -vt 0.075925 0.431216 -vt 0.055297 0.167246 -vt 0.356415 0.152455 -vt 0.306687 0.118521 -vt 0.357438 0.120127 -vt 0.358326 0.094359 -vt 0.320514 0.043015 -vt 0.358035 0.042800 -vt 0.312139 0.119312 -vt 0.294670 0.095232 -vt 0.345452 0.109976 -vt 0.340629 0.107867 -vt 0.302035 0.151031 -vt 0.299124 0.109975 -vt 0.337826 0.135644 -vt 0.320204 0.107842 -vt 0.340681 0.108309 -vt 0.307771 0.203695 -vt 0.307834 0.173200 -vt 0.366265 0.188568 -vt 0.330188 0.092015 -vt 0.316002 0.066914 -vt 0.312474 0.091393 -vt 0.353503 0.154577 -vt 0.300557 0.106474 -vt 0.358020 0.112152 -vt 0.315418 0.146476 -vt 0.355623 0.093521 -vt 0.354743 0.147121 -vt 0.353007 0.119674 -vt 0.307105 0.152022 -vt 0.306440 0.120282 -vt 0.350118 0.150007 -vt 0.344219 0.109552 -vt 0.312372 0.118408 -vt 0.300479 0.080160 -vt 0.357860 0.146653 -vt 0.302239 0.148165 -vt 0.363316 0.041301 -vt 0.310987 0.109783 -vt 0.312158 0.040437 -vt 0.315594 0.185667 -vt 0.269733 0.176214 -vt 0.265570 0.180645 -vt 0.274174 0.199289 -vt 0.249608 0.175105 -vt 0.274174 0.175105 -vt 0.316197 0.190130 -vt 0.270451 0.182051 -vt 0.317319 0.185831 -vt 0.275098 0.173914 -vt 0.248359 0.200653 -vt 0.248359 0.173914 -vt 0.297067 0.201101 -vt 0.279305 0.174226 -vt 0.297469 0.174364 -vt 0.248310 0.200638 -vt 0.275626 0.173459 -vt 0.275626 0.200638 -vt 0.279324 0.174480 -vt 0.297560 0.200646 -vt 0.278933 0.200505 -vt 0.296917 0.200558 -vt 0.279222 0.173936 -vt 0.296917 0.173936 -vt 0.385924 0.259986 -vt 0.336473 0.309438 -vt 0.336473 0.259986 -vt 0.370082 0.316596 -vt 0.267226 0.255193 -vt 0.370082 0.255193 -vt 0.337331 0.261846 -vt 0.386782 0.311297 -vt 0.337331 0.311297 -vt 0.267468 0.254633 -vt 0.370907 0.316115 -vt 0.370907 0.254633 -vt 0.407284 0.239991 -vt 0.315719 0.331555 -vt 0.315719 0.239991 -vt 0.407541 0.239991 -vt 0.315976 0.331555 -vt 0.315976 0.239991 -vt 0.426789 0.225717 -vt 0.302006 0.350501 -vt 0.302006 0.225717 -vt 0.391810 0.257093 -vt 0.334148 0.314756 -vt 0.334148 0.257093 -vt 0.428860 0.224756 -vt 0.304076 0.349539 -vt 0.304076 0.224756 -vt 0.391810 0.256649 -vt 0.334148 0.314312 -vt 0.334148 0.256649 -vt 0.425107 0.225022 -vt 0.300323 0.349806 -vt 0.300323 0.225022 -vt 0.575239 0.029920 -vt 0.525632 0.079527 -vt 0.525632 0.029920 -vt 0.577952 0.123321 -vt 0.528345 0.172928 -vt 0.528345 0.123321 -vt 0.629881 0.065153 -vt 0.577956 0.031570 -vt 0.629881 0.031570 -vt 0.593449 0.119586 -vt 0.519049 0.090555 -vt 0.593449 0.090555 -vt 0.504062 0.106034 -vt 0.451863 0.083373 -vt 0.504062 0.083373 -vt 0.444941 0.197619 -vt 0.516224 0.197564 -vt 0.473850 0.230566 -vt 0.468883 0.078293 -vt 0.455259 0.027045 -vt 0.468883 0.027045 -vt 0.591410 0.207324 -vt 0.529818 0.207333 -vt 0.591430 0.230248 -vt 0.485949 0.111837 -vt 0.453333 0.137130 -vt 0.453333 0.111837 -vt 0.522532 0.030695 -vt 0.472924 0.080302 -vt 0.472924 0.030695 -vt 0.058221 0.113478 -vt 0.080047 0.125817 -vt 0.058221 0.125817 -vt 0.150380 0.087727 -vt 0.136310 0.094241 -vt 0.122240 0.087727 -vt 0.171901 0.146287 -vt 0.096710 0.135474 -vt 0.143620 0.119972 -vt 0.051807 0.058617 -vt 0.086298 0.077746 -vt 0.051807 0.077746 -vt 0.096839 0.135447 -vt 0.171238 0.146798 -vt 0.143378 0.119301 -vt 0.084555 0.113536 -vt 0.054485 0.125875 -vt 0.054485 0.113536 -vt 0.054547 0.113460 -vt 0.084616 0.125799 -vt 0.054547 0.125799 -vt 0.084616 0.113171 -vt 0.054547 0.125510 -vt 0.054547 0.113171 -vt 0.054485 0.113247 -vt 0.084555 0.125587 -vt 0.054485 0.125587 -vt 0.080047 0.113476 -vt 0.058221 0.125815 -vt 0.058221 0.113476 -vt 0.181197 0.102468 -vt 0.159473 0.102468 -vt 0.159473 0.029185 -vt 0.091930 0.058617 -vt 0.048010 0.077746 -vt 0.048010 0.058617 -vt 0.700023 0.638849 -vt 0.440994 0.669435 -vt 0.440994 0.638849 -vt 0.733870 0.827793 -vt 0.582377 0.789707 -vt 0.625987 0.789742 -vt 0.537966 0.695561 -vt 0.506669 0.672135 -vt 0.537966 0.672135 -vt 0.489580 0.787567 -vt 0.514677 0.774826 -vt 0.514698 0.787567 -vt 0.733660 0.724558 -vt 0.459077 0.711132 -vt 0.442283 0.724558 -vt 0.733735 0.724593 -vt 0.459155 0.738019 -vt 0.729258 0.738019 -vt 0.729543 0.651384 -vt 0.675434 0.606266 -vt 0.720788 0.606266 -vt 0.571623 0.682423 -vt 0.546067 0.639571 -vt 0.571623 0.632637 -vt 0.491561 0.787177 -vt 0.512021 0.775268 -vt 0.511925 0.787221 -vt 0.734063 0.828653 -vt 0.626062 0.789758 -vt 0.582404 0.789723 -vt 0.490830 0.774213 -vt 0.512702 0.789713 -vt 0.490763 0.789793 -vt 0.650466 0.683473 -vt 0.579961 0.621919 -vt 0.650466 0.621919 -vt 0.490581 0.772291 -vt 0.512951 0.789876 -vt 0.490505 0.789786 -vt 0.537966 0.636149 -vt 0.506669 0.672123 -vt 0.506669 0.636149 -vt 0.505181 0.334971 -vt 0.573314 0.253148 -vt 0.564042 0.340024 -vt 0.519136 0.275681 -vt 0.491102 0.353366 -vt 0.473726 0.353366 -vt 0.473726 0.379927 -vt 0.559341 0.379927 -vt 0.559341 0.366647 -vt 0.632202 0.357428 -vt 0.540922 0.314675 -vt 0.617498 0.249087 -vt 0.558390 0.314706 -vt 0.551921 0.298936 -vt 0.564042 0.340593 -vt 0.520143 0.392511 -vt 0.520764 0.371838 -vt 0.506400 0.333646 -vt 0.505654 0.341901 -vt 0.559657 0.380282 -vt 0.645979 0.341901 -vt 0.570449 0.357572 -vt 0.632518 0.357572 -vt 0.559657 0.366877 -vt 0.594370 0.470903 -vt 0.568603 0.452643 -vt 0.576365 0.472343 -vt 0.576699 0.463283 -vt 0.619784 0.470746 -vt 0.568606 0.452645 -vt 0.576355 0.472314 -vt 0.576689 0.463269 -vt 0.550184 0.460658 -vt 0.626962 0.533108 -vt 0.622676 0.478076 -vt 0.622783 0.477679 -vt 0.814231 0.646727 -vt 0.991081 0.646598 -vt 0.990990 0.658257 -vt 0.784944 0.680513 -vt 0.814569 0.658849 -vt 0.834561 0.748407 -vt 0.926691 0.756401 -vt 0.978190 0.748771 -vt 0.988744 0.778102 -vt 0.984600 0.778102 -vt 0.825777 0.779072 -vt 0.885070 0.788250 -vt 0.938244 0.777871 -vt 0.826329 0.778395 -vt 0.961283 0.742626 -vt 0.968103 0.742626 -vt 0.841028 0.748807 -vt 0.838508 0.777743 -vt 0.814669 0.893429 -vt 0.741225 0.910627 -vt 0.815717 0.893456 -vt 0.851291 0.861236 -vt 0.636689 0.930480 -vt 0.795428 0.919461 -vt 0.746989 0.933141 -vt 0.741225 0.892289 -vt 0.710394 0.987331 -vt 0.638012 0.930440 -vt 0.776277 0.870074 -vt 0.810936 0.936216 -vt 0.807804 0.991144 -vt 0.811228 0.936216 -vt 0.730891 0.860817 -vt 0.774049 0.860817 -vt 0.774049 0.886372 -vt 0.775436 0.862325 -vt 0.775436 0.884865 -vt 0.730891 0.886372 -vt 0.671537 0.884865 -vt 0.861818 0.900185 -vt 0.732220 0.935668 -vt 0.709880 0.941208 -vt 0.851718 0.861062 -vt 0.814127 0.989955 -vt 0.586199 0.977120 -vt 0.556072 0.975731 -vt 0.554496 0.951900 -vt 0.532140 0.982367 -vt 0.595574 0.899101 -vt 0.556186 0.917634 -vt 0.587901 0.957115 -vt 0.607983 0.900982 -vt 0.599212 0.958072 -vt 0.474345 0.910512 -vt 0.439177 0.891095 -vt 0.503202 0.887922 -vt 0.356926 0.877519 -vt 0.487497 0.894207 -vt 0.436655 0.925169 -vt 0.436655 0.929765 -vt 0.423893 0.929765 -vt 0.515883 0.856486 -vt 0.365926 0.857182 -vt 0.499216 0.857182 -vt 0.499216 0.886782 -vt 0.513900 0.857341 -vt 0.513900 0.878257 -vt 0.354532 0.855721 -vt 0.437193 0.915419 -vt 0.432812 0.929289 -vt 0.437193 0.929289 -vt 0.365489 0.886238 -vt 0.413925 0.912351 -vt 0.481059 0.913182 -vt 0.413705 0.911949 -vt 0.306910 0.894660 -vt 0.318250 0.899738 -vt 0.353050 0.971596 -vt 0.355037 0.899750 -vt 0.363006 0.947185 -vt 0.210976 0.882057 -vt 0.184632 0.870674 -vt 0.261258 0.959141 -vt 0.284059 0.934620 -vt 0.285058 0.934620 -vt 0.247697 0.867535 -vt 0.183721 0.868945 -vt 0.274534 0.858714 -vt 0.282627 0.858767 -vt 0.266160 0.990139 -vt 0.269617 0.988784 -vt 0.283225 0.857585 -vt 0.275694 0.858045 -vt 0.269855 0.989326 -vt 0.266624 0.990909 -vt 0.071485 0.910183 -vt 0.073328 0.969928 -vt 0.074695 0.880183 -vt 0.138641 0.954039 -vt 0.095050 0.904398 -vt 0.039228 0.883761 -vt 0.112586 0.908635 -vt 0.028873 0.880036 -vt 0.102246 0.863225 -vt 0.041414 0.915086 -vt 0.025051 0.929752 -vt 0.105295 0.873963 -vt 0.032318 0.965273 -vt 0.032070 0.930717 -vt 0.015982 0.915956 -vt 0.396714 0.532814 -vt 0.373623 0.532814 -vt 0.338985 0.532814 -vt 0.292803 0.532814 -vt 0.258166 0.532814 -vt 0.271631 0.460841 -vt 0.280555 0.458804 -vt 0.287711 0.453097 -vt 0.291683 0.435697 -vt 0.287711 0.427450 -vt 0.280555 0.421743 -vt 0.262708 0.421743 -vt 0.255551 0.427450 -vt 0.251580 0.435697 -vt 0.251580 0.444850 -vt 0.255551 0.453097 -vt 0.408260 0.464831 -vt 0.304348 0.464831 -vt 0.311575 0.452177 -vt 0.410213 0.365403 -vt 0.260119 0.365403 -vt 0.294756 0.365403 -vt 0.317847 0.365403 -vt 0.387121 0.365403 -vt 0.381503 0.436639 -vt 0.381503 0.444093 -vt 0.378211 0.450478 -vt 0.376665 0.449112 -vt 0.372279 0.454530 -vt 0.364882 0.455446 -vt 0.364882 0.453504 -vt 0.357484 0.453046 -vt 0.358342 0.451382 -vt 0.364882 0.421950 -vt 0.372279 0.424351 -vt 0.371421 0.426015 -vt 0.351552 0.426918 -vt 0.357484 0.422866 -vt 0.358342 0.424702 -vt 0.348260 0.433303 -vt 0.350188 0.433929 -vt 0.350188 0.440518 -vt 0.353098 0.428285 -vt 0.371421 0.452694 -vt 0.364882 0.423892 -vt 0.379575 0.443467 -vt 0.397330 0.425862 -vt 0.402327 0.424599 -vt 0.402327 0.418298 -vt 0.409791 0.420185 -vt 0.407324 0.425862 -vt 0.415776 0.425475 -vt 0.419098 0.433119 -vt 0.411331 0.429404 -vt 0.419098 0.441603 -vt 0.413554 0.434521 -vt 0.409791 0.454536 -vt 0.402327 0.456424 -vt 0.402327 0.450123 -vt 0.394864 0.454536 -vt 0.397330 0.448859 -vt 0.388878 0.449247 -vt 0.393323 0.445318 -vt 0.385557 0.441603 -vt 0.385557 0.433119 -vt 0.391100 0.440201 -vt 0.391100 0.434521 -vt 0.413554 0.440201 -vt 0.347054 0.447547 -vt 0.342942 0.456348 -vt 0.341011 0.454546 -vt 0.335532 0.462071 -vt 0.326293 0.463583 -vt 0.326293 0.460941 -vt 0.347054 0.437412 -vt 0.344646 0.437806 -vt 0.326293 0.418036 -vt 0.335532 0.421035 -vt 0.309644 0.425271 -vt 0.317054 0.419548 -vt 0.318125 0.422014 -vt 0.305532 0.444206 -vt 0.305532 0.434071 -vt 0.307940 0.434853 -vt 0.307940 0.443812 -vt 0.334461 0.459605 -vt 0.344646 0.446766 -vt 0.311575 0.427073 -vt 0.326293 0.420677 -vt 0.248822 0.412732 -vt 0.872218 0.268738 -vt 0.871129 0.308247 -vt 0.875877 0.512495 -vt 0.806715 0.085070 -vt 0.705121 0.489997 -vt 0.705121 0.088245 -vt 0.874187 0.085070 -vt 0.887932 0.489628 -vt 0.885565 0.348132 -vt 0.885932 0.489650 -vt 0.756428 0.489997 -vt 0.932202 0.163427 -vt 0.878289 0.198778 -vt 0.872834 0.210605 -vt 0.829071 0.225032 -vt 0.932196 0.460725 -vt 0.826338 0.212483 -vt 0.847645 0.228430 -vt 0.778172 0.544754 -vt 0.788077 0.500826 -vt 0.788166 0.544734 -vt 0.823899 0.533354 -vt 0.788149 0.500905 -vt 0.822857 0.532526 -vt 0.778409 0.544749 -vt 0.788198 0.501295 -vt 0.788287 0.545203 -vt 0.823135 0.533361 -vt 0.778503 0.501379 -vt 0.823621 0.532511 -vt 0.778592 0.544983 -vt 0.788162 0.500992 -vt 0.788252 0.544900 -vt 0.808160 0.506802 -vt 0.788129 0.501158 -vt 0.823196 0.532402 -vt 0.778552 0.544915 -vt 0.788168 0.500878 -vt 0.788257 0.544786 -vt 0.823689 0.533570 -vt 0.788175 0.501112 -vt 0.823065 0.532307 -vt 0.778598 0.545061 -vt 0.788177 0.501671 -vt 0.788266 0.545579 -vt 0.807124 0.506251 -vt 0.787821 0.501601 -vt 0.824237 0.532943 -vt 0.778283 0.545224 -vt 0.787957 0.501282 -vt 0.788046 0.545190 -vt 0.808141 0.506022 -vt 0.787917 0.500892 -vt 0.823222 0.533182 -vt 0.778258 0.545566 -vt 0.787816 0.501403 -vt 0.787905 0.545311 -vt 0.808223 0.505542 -vt 0.788116 0.500985 -vt 0.823144 0.533662 -vt 0.778412 0.544719 -vt 0.788211 0.501287 -vt 0.788301 0.545195 -vt 0.807724 0.506731 -vt 0.788043 0.501401 -vt 0.823633 0.532469 -vt 0.778498 0.545194 -vt 0.788076 0.501695 -vt 0.788166 0.545603 -vt 0.822847 0.532737 -vt 0.787821 0.501335 -vt 0.823915 0.533133 -vt 0.928604 0.040506 -vt 0.900561 0.043659 -vt 0.904145 0.040514 -vt 0.909756 0.038654 -vt 0.928603 0.518463 -vt 0.922992 0.520321 -vt 0.909755 0.520317 -vt 0.904145 0.518456 -vt 0.877230 0.272001 -vt 0.876041 0.311564 -vt 0.881222 0.516094 -vt 0.808079 0.084723 -vt 0.707279 0.489650 -vt 0.707279 0.087898 -vt 0.732925 0.087898 -vt 0.873638 0.084723 -vt 0.890154 0.477722 -vt 0.887788 0.336226 -vt 0.888155 0.477745 -vt 0.758586 0.489650 -vt 0.963889 0.163427 -vt 0.878388 0.198787 -vt 0.872839 0.210488 -vt 0.828902 0.225076 -vt 0.963883 0.460725 -vt 0.826425 0.212712 -vt 0.847624 0.228293 -vt 0.787837 0.501737 -vt 0.788128 0.500845 -vt 0.787743 0.544741 -vt 0.824105 0.531844 -vt 0.778615 0.501046 -vt 0.824189 0.533276 -vt 0.788156 0.501080 -vt 0.788066 0.501370 -vt 0.788156 0.545278 -vt 0.823305 0.532408 -vt 0.788222 0.500915 -vt 0.823450 0.533468 -vt 0.787941 0.501023 -vt 0.787920 0.501440 -vt 0.788009 0.545348 -vt 0.807976 0.506242 -vt 0.788175 0.501243 -vt 0.823128 0.533105 -vt 0.787778 0.501054 -vt 0.787988 0.501100 -vt 0.788078 0.545008 -vt 0.823106 0.532816 -vt 0.788082 0.500935 -vt 0.823653 0.533062 -vt 0.788148 0.501081 -vt 0.788070 0.501353 -vt 0.788159 0.545261 -vt 0.807625 0.505886 -vt 0.788218 0.500900 -vt 0.823477 0.533465 -vt 0.787920 0.500967 -vt 0.787951 0.501426 -vt 0.788040 0.545334 -vt 0.807909 0.506165 -vt 0.788185 0.501174 -vt 0.823195 0.533183 -vt 0.788172 0.501048 -vt 0.788070 0.501418 -vt 0.787684 0.544359 -vt 0.807311 0.507847 -vt 0.787641 0.501392 -vt 0.823399 0.533513 -vt 0.788173 0.500990 -vt 0.788092 0.501449 -vt 0.788181 0.545357 -vt 0.807705 0.505757 -vt 0.788264 0.500904 -vt 0.823396 0.533593 -vt 0.788176 0.500977 -vt 0.788095 0.501461 -vt 0.788184 0.545369 -vt 0.823369 0.532264 -vt 0.788271 0.500904 -vt 0.823385 0.533612 -vt 0.960291 0.040506 -vt 0.932248 0.043659 -vt 0.935832 0.040514 -vt 0.941443 0.038654 -vt 0.960290 0.518463 -vt 0.954679 0.520321 -vt 0.941442 0.520317 -vt 0.935832 0.518456 -vt 0.947612 0.961246 -vt 0.926866 0.897512 -vt 0.929941 0.965210 -vt 0.905143 0.965210 -vt 0.926866 0.969842 -vt 0.908218 0.969842 -vt 0.931593 0.895643 -vt 0.947901 0.961246 -vt 0.894532 0.836386 -vt 0.894035 0.836435 -vt 0.940519 0.856993 -vt 0.940519 0.856993 -vt 0.931813 0.895643 -vt 0.055297 0.431216 -vt 0.305664 0.150849 -vt 0.320805 0.094574 -vt 0.290417 0.040747 -vt 0.346833 0.040373 -vt 0.351738 0.152160 -vt 0.313562 0.151734 -vt 0.343540 0.148924 -vt 0.317348 0.135177 -vt 0.364775 0.203798 -vt 0.304130 0.188440 -vt 0.364838 0.173332 -vt 0.333716 0.067536 -vt 0.296040 0.148898 -vt 0.316298 0.092875 -vt 0.353672 0.151413 -vt 0.345712 0.042835 -vt 0.295746 0.095277 -vt 0.291820 0.043036 -vt 0.313650 0.149492 -vt 0.356100 0.078649 -vt 0.362146 0.110647 -vt 0.270909 0.165543 -vt 0.266746 0.169974 -vt 0.312795 0.190061 -vt 0.369254 0.178954 -vt 0.372054 0.174560 -vt 0.249608 0.199289 -vt 0.268087 0.171733 -vt 0.272794 0.177689 -vt 0.270430 0.167370 -vt 0.364827 0.173916 -vt 0.363706 0.178214 -vt 0.275098 0.200653 -vt 0.278904 0.200963 -vt 0.248311 0.173459 -vt 0.297950 0.174621 -vt 0.279222 0.200558 -vt 0.385924 0.309438 -vt 0.229952 0.316596 -vt 0.386782 0.261846 -vt 0.229983 0.316115 -vt 0.407284 0.331555 -vt 0.407541 0.331555 -vt 0.426789 0.350501 -vt 0.391810 0.314756 -vt 0.428860 0.349539 -vt 0.391810 0.314312 -vt 0.425107 0.349806 -vt 0.575239 0.079527 -vt 0.577952 0.172928 -vt 0.577956 0.065153 -vt 0.519049 0.119586 -vt 0.451863 0.106034 -vt 0.529829 0.207062 -vt 0.591507 0.207015 -vt 0.591525 0.230476 -vt 0.652770 0.206968 -vt 0.597355 0.233111 -vt 0.652790 0.233068 -vt 0.444949 0.207127 -vt 0.455259 0.078293 -vt 0.445049 0.198054 -vt 0.445057 0.207345 -vt 0.473920 0.230266 -vt 0.597253 0.232826 -vt 0.652610 0.232818 -vt 0.652588 0.207315 -vt 0.516232 0.198043 -vt 0.485949 0.137130 -vt 0.522532 0.080302 -vt 0.080047 0.113478 -vt 0.122240 0.030037 -vt 0.150380 0.030037 -vt 0.172589 0.127754 -vt 0.092870 0.146287 -vt 0.088136 0.121351 -vt 0.092086 0.105445 -vt 0.115140 0.106291 -vt 0.086298 0.058617 -vt 0.115251 0.104994 -vt 0.088426 0.120695 -vt 0.092426 0.104093 -vt 0.092977 0.146733 -vt 0.172022 0.127449 -vt 0.084555 0.125875 -vt 0.084616 0.113460 -vt 0.084616 0.125510 -vt 0.084555 0.113247 -vt 0.080047 0.125815 -vt 0.181197 0.029185 -vt 0.170335 0.105179 -vt 0.091930 0.077746 -vt 0.700023 0.669435 -vt 0.441718 0.827793 -vt 0.441717 0.774899 -vt 0.554964 0.774846 -vt 0.660216 0.746552 -vt 0.733873 0.746565 -vt 0.506669 0.695561 -vt 0.489558 0.774826 -vt 0.729183 0.711133 -vt 0.442362 0.724593 -vt 0.666679 0.651384 -vt 0.546067 0.675490 -vt 0.491657 0.775224 -vt 0.734066 0.745624 -vt 0.660329 0.745610 -vt 0.441592 0.774586 -vt 0.441592 0.828653 -vt 0.554962 0.774532 -vt 0.512769 0.774133 -vt 0.579961 0.683473 -vt 0.513027 0.772381 -vt 0.537966 0.672123 -vn -0.0000 -0.0000 1.0000 -vn 0.7585 0.6516 0.0000 -vn 1.0000 -0.0000 0.0000 -vn -0.5225 -0.8526 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn -0.6307 -0.7760 0.0000 -vn 0.5225 0.8526 0.0000 -vn 0.6530 0.7573 0.0000 -vn -0.7283 -0.6853 0.0000 -vn -0.1030 -0.1229 -0.9871 -vn -0.3343 0.0000 -0.9425 -vn -0.0433 -0.1527 -0.9873 -vn 0.7283 -0.6853 0.0000 -vn 0.1030 -0.1229 0.9871 -vn 0.3343 0.0000 0.9425 -vn 0.0433 -0.1527 0.9873 -vn -1.0000 0.0000 0.0000 -vn 0.3915 0.0000 0.9202 -vn 0.4992 0.8665 0.0000 -vn -0.0018 1.0000 0.0000 -vn 0.3916 -0.9201 0.0000 -vn -0.8146 0.5800 -0.0000 -vn -0.8147 0.5799 0.0000 -vn -0.1175 0.0169 0.9929 -vn -0.1011 0.0504 0.9936 -vn -0.0932 0.0664 0.9934 -vn -0.0972 0.9953 0.0000 -vn 0.0271 0.9996 0.0000 -vn -0.6723 -0.0000 0.7403 -vn -0.1011 0.0504 -0.9936 -vn -0.1175 0.0169 -0.9929 -vn -0.0932 0.0664 -0.9934 -vn -0.0760 -0.9971 0.0000 -vn -0.6723 0.0000 -0.7403 -vn -0.4634 0.8861 0.0000 -vn -0.4635 0.8861 0.0000 -vn 0.5384 0.8427 0.0000 -vn 0.7428 -0.0000 0.6695 -vn 0.0107 -0.9999 0.0000 -vn 0.0271 -0.9996 0.0000 -vn 0.7428 0.0000 -0.6696 -vn -0.8147 0.5800 0.0000 -vn -0.9255 0.3789 0.0000 -vn 0.0000 0.1134 -0.9935 -vn 0.9255 0.3789 0.0000 -vn 0.0000 0.1134 0.9935 -vn 0.4562 0.8899 0.0000 -vn 0.0006 -0.0000 1.0000 -vn 0.0009 0.0000 1.0000 -vn 0.0009 -0.0000 -1.0000 -vn 0.0006 0.0000 -1.0000 -vn 0.0008 0.0000 -1.0000 -vn -0.8700 0.4930 0.0000 -vn 0.0000 0.2740 -0.9617 -vn 0.8700 0.4930 0.0000 -vn 0.0000 0.2740 0.9617 -vn 0.0001 0.0055 1.0000 -vn 0.0003 -0.0054 1.0000 -vn 0.6310 0.7758 0.0000 -vn -0.0008 -1.0000 0.0000 -vn -0.6310 -0.7758 0.0000 -vn 0.0003 0.0055 -1.0000 -vn 0.0005 -0.0054 -1.0000 -vn 0.0000 0.0212 0.9998 -vn -0.0049 0.0138 0.9999 -vn -0.0006 0.0193 0.9998 -vn -0.0006 0.0193 -0.9998 -vn -0.0045 0.0139 -0.9999 -vn 0.0000 0.0212 -0.9998 -vn -0.2697 0.9629 0.0000 -vn 0.7071 -0.7071 0.0000 -vn -0.7071 0.7071 0.0000 -vn -0.6574 -0.7536 0.0000 -vn 0.7005 0.7137 0.0000 -vn 0.3250 0.5321 -0.7818 -vn 0.4697 0.7689 -0.4339 -vn 0.5213 0.8534 0.0000 -vn 0.4697 0.7689 0.4339 -vn 0.3250 0.5321 0.7818 -vn 0.1160 0.1899 0.9749 -vn -0.1160 -0.1899 0.9749 -vn -0.3250 -0.5321 0.7818 -vn -0.4697 -0.7689 0.4339 -vn -0.5213 -0.8534 0.0000 -vn -0.4697 -0.7689 -0.4339 -vn -0.3250 -0.5321 -0.7818 -vn -0.1160 -0.1899 -0.9749 -vn 0.8534 -0.5213 -0.0000 -vn 0.1160 0.1899 -0.9749 -vn -0.8534 0.5213 -0.0000 -vn -0.0000 1.0000 0.0010 -vn -0.0000 1.0000 0.0008 -vn 0.0000 1.0000 0.0039 -vn -0.0005 1.0000 0.0014 -vn -0.0008 1.0000 0.0013 -vn 0.0000 0.7040 -0.7102 -vn 0.0000 0.1725 -0.9850 -vn 0.0000 -0.1705 -0.9853 -vn 0.0000 -0.1705 -0.9854 -vn 0.0000 -1.0000 -0.0010 -vn 0.0000 -1.0000 -0.0011 -vn 0.0000 -0.7014 -0.7127 -vn -0.7908 -0.0007 0.6121 -vn -0.7909 -0.0008 0.6119 -vn -0.7907 -0.0007 0.6121 -vn -0.0001 -1.0000 -0.0030 -vn 0.0009 -1.0000 -0.0018 -vn 0.0013 -1.0000 -0.0010 -vn 0.0001 1.0000 0.0030 -vn -0.0001 -0.0010 1.0000 -vn 0.9542 0.2782 -0.1101 -vn 0.8569 0.5125 -0.0555 -vn 0.8978 0.4293 -0.0988 -vn 0.7916 0.6111 0.0006 -vn 0.9964 -0.0619 -0.0577 -vn 0.9964 -0.0603 -0.0592 -vn 0.9959 -0.0358 -0.0826 -vn 0.9569 0.1156 -0.2665 -vn 0.8744 0.1179 -0.4707 -vn 0.8429 0.0928 -0.5300 -vn 0.8984 0.2115 -0.3849 -vn 0.8742 -0.1173 -0.4711 -vn 0.8966 -0.1376 -0.4208 -vn 0.8425 -0.0919 -0.5307 -vn 0.9569 -0.1156 -0.2665 -vn 0.8572 -0.5118 -0.0564 -vn 0.7921 -0.6104 -0.0006 -vn 0.9013 -0.3915 -0.1854 -vn 0.9542 -0.2782 -0.1101 -vn 0.8390 -0.0007 0.5441 -vn 0.8388 -0.0006 0.5445 -vn 0.8387 -0.0005 0.5446 -vn -0.9967 -0.0587 -0.0569 -vn -0.9966 -0.0625 -0.0535 -vn -0.9963 -0.0347 -0.0783 -vn 0.9964 0.0619 -0.0577 -vn 0.9964 0.0603 -0.0592 -vn 0.9957 0.0864 -0.0342 -vn -0.8989 0.3978 -0.1838 -vn -0.8820 0.3317 -0.3346 -vn -0.9089 0.3446 -0.2347 -vn -0.9545 0.2793 -0.1044 -vn -0.9544 0.2796 -0.1049 -vn -0.9549 0.2784 -0.1030 -vn -0.9584 0.1157 -0.2609 -vn -0.8874 0.1472 -0.4369 -vn -0.8578 0.1242 -0.4987 -vn -0.9105 0.1677 -0.3780 -vn -0.9584 -0.1157 -0.2609 -vn -0.9967 0.0587 -0.0569 -vn -0.9966 0.0625 -0.0535 -vn -0.9957 0.0864 -0.0320 -vn -0.8576 -0.1236 -0.4992 -vn -0.8873 -0.1469 -0.4371 -vn -0.9105 -0.1676 -0.3780 -vn -0.8989 -0.3973 -0.1847 -vn -0.7918 -0.6107 -0.0006 -vn -0.8560 -0.5140 -0.0545 -vn -0.9544 -0.2796 -0.1049 -vn -0.9545 -0.2793 -0.1044 -vn -0.9549 -0.2784 -0.1030 -vn 0.0047 -0.0000 1.0000 -vn 0.8684 -0.0000 0.4960 -vn 0.8684 -0.0000 0.4959 -vn -0.8637 0.0000 0.5040 -vn 0.8683 0.0000 0.4960 -vn 0.8684 0.0000 0.4958 -vn 0.0290 -0.0011 0.9996 -vn 0.0463 0.0051 0.9989 -vn 0.0152 0.0017 0.9999 -vn 0.0036 -0.0004 1.0000 -vn 0.0006 -0.0011 1.0000 -vn 0.0044 -0.0011 1.0000 -vn -0.0000 -1.0000 -0.0008 -vn 0.0000 -1.0000 -0.0039 -vn -0.0005 -1.0000 -0.0014 -vn -0.0008 -1.0000 -0.0013 -vn 0.0000 -0.7040 0.7102 -vn -0.0000 -0.1725 0.9850 -vn 0.0000 0.1705 0.9853 -vn 0.0000 1.0000 0.0011 -vn 0.0000 0.7014 0.7127 -vn -0.7908 0.0007 -0.6121 -vn -0.7909 0.0008 -0.6119 -vn -0.7907 0.0007 -0.6121 -vn -0.0001 1.0000 0.0030 -vn 0.0009 1.0000 0.0018 -vn 0.0013 1.0000 0.0010 -vn 0.0001 -1.0000 -0.0030 -vn -0.0001 0.0010 -1.0000 -vn 0.9542 -0.2782 0.1101 -vn 0.8569 -0.5125 0.0555 -vn 0.8978 -0.4293 0.0988 -vn 0.7916 -0.6111 -0.0006 -vn 0.9964 0.0619 0.0577 -vn 0.9964 0.0603 0.0592 -vn 0.9959 0.0358 0.0826 -vn 0.9569 -0.1156 0.2665 -vn 0.8744 -0.1179 0.4707 -vn 0.8429 -0.0928 0.5300 -vn 0.8984 -0.2115 0.3849 -vn 0.8742 0.1173 0.4711 -vn 0.8966 0.1376 0.4208 -vn 0.8425 0.0919 0.5307 -vn 0.9569 0.1156 0.2665 -vn 0.8572 0.5118 0.0564 -vn 0.7921 0.6104 0.0006 -vn 0.9013 0.3915 0.1854 -vn 0.9542 0.2782 0.1101 -vn 0.8390 0.0007 -0.5441 -vn 0.8388 0.0006 -0.5445 -vn 0.8387 0.0005 -0.5446 -vn -0.9967 0.0587 0.0569 -vn -0.9966 0.0625 0.0535 -vn -0.9963 0.0347 0.0783 -vn 0.9964 -0.0619 0.0577 -vn 0.9964 -0.0603 0.0592 -vn 0.9957 -0.0864 0.0342 -vn -0.8989 -0.3978 0.1838 -vn -0.8820 -0.3317 0.3346 -vn -0.9089 -0.3446 0.2347 -vn -0.9545 -0.2793 0.1044 -vn -0.9544 -0.2796 0.1049 -vn -0.9549 -0.2784 0.1030 -vn -0.9584 -0.1157 0.2609 -vn -0.8874 -0.1472 0.4369 -vn -0.8578 -0.1242 0.4987 -vn -0.9105 -0.1677 0.3780 -vn -0.9584 0.1157 0.2609 -vn -0.9967 -0.0587 0.0569 -vn -0.9966 -0.0625 0.0535 -vn -0.9957 -0.0864 0.0320 -vn -0.8576 0.1236 0.4992 -vn -0.8873 0.1469 0.4371 -vn -0.9105 0.1676 0.3780 -vn -0.8989 0.3973 0.1847 -vn -0.7918 0.6107 0.0006 -vn -0.8560 0.5140 0.0545 -vn -0.9544 0.2796 0.1049 -vn -0.9545 0.2793 0.1044 -vn -0.9549 0.2784 0.1030 -vn 0.0047 0.0000 -1.0000 -vn 0.8684 -0.0000 -0.4960 -vn 0.8684 0.0000 -0.4959 -vn -0.8637 0.0000 -0.5040 -vn 0.8683 0.0000 -0.4960 -vn 0.0290 0.0011 -0.9996 -vn 0.0463 -0.0051 -0.9989 -vn 0.0152 -0.0017 -0.9999 -vn 0.0036 0.0004 -1.0000 -vn 0.0006 0.0011 -1.0000 -vn 0.0045 0.0011 -1.0000 -vn 0.0000 -0.4762 -0.8794 -vn 0.0000 0.4762 -0.8794 -vn 0.0000 -0.4762 0.8794 -vn 0.0000 0.4762 0.8794 -vn 0.0000 -0.4533 -0.8914 -vn 0.0000 -0.4533 0.8914 -vn -0.0000 0.4533 0.8914 -vn -0.0000 0.4533 -0.8914 -vn -0.9752 0.1720 -0.1393 -vn -0.9675 0.2121 -0.1380 -vn 0.9045 -0.2803 0.3215 -vn -0.6575 0.7480 -0.0904 -vn -0.1073 -0.9942 -0.0024 -vn -0.1073 -0.9942 0.0024 -vn -0.1428 -0.9898 -0.0000 -vn -0.6575 0.7480 0.0904 -vn 0.9045 -0.2803 -0.3215 -vn -0.9675 0.2121 0.1380 -vn -0.9752 0.1720 0.1393 -vn 0.9374 -0.0916 -0.3360 -vn 0.9374 -0.0916 0.3360 -vn 0.0332 -0.9994 0.0000 -vn -0.3786 -0.9255 0.0000 -vn 0.3786 0.9255 0.0000 -vn 0.7402 -0.6724 0.0000 -vn -0.0382 0.9993 0.0000 -vn -0.7402 0.6724 0.0000 -vn 0.0000 -0.1011 -0.9949 -vn 0.0000 -0.1011 0.9949 -vn 0.0000 -0.1241 -0.9923 -vn 0.0000 -0.1241 0.9923 -vn 0.5731 0.8195 0.0000 -vn -0.6305 -0.7762 0.0000 -vn -0.4125 -0.9110 0.0000 -vn -0.8896 -0.1316 -0.4373 -vn -0.0041 0.0009 1.0000 -vn 0.0006 -0.0006 1.0000 -vn -0.0017 0.0006 1.0000 -vn 0.6795 -0.7337 0.0000 -vn -0.0006 0.0006 -1.0000 -vn 0.0041 -0.0009 -1.0000 -vn 0.0017 -0.0006 -1.0000 -vn -0.8646 0.2680 -0.4250 -vn -0.8939 -0.0883 -0.4394 -vn -0.8939 -0.0883 0.4394 -vn -0.8646 0.2680 0.4250 -vn -0.8896 -0.1316 0.4373 -vn 0.0602 0.9982 0.0000 -vn 0.0777 0.9970 0.0000 -vn 0.4389 -0.8985 0.0000 -vn 0.0005 0.0001 1.0000 -vn 0.0002 0.0055 1.0000 -vn 0.0055 -0.0152 0.9999 -vn -0.0004 -1.0000 0.0000 -vn 0.0000 0.3497 0.9369 -vn 0.0000 0.3497 -0.9369 -vn -0.5775 0.8164 0.0000 -vn 0.9357 0.3527 0.0000 -vn 0.4848 -0.8746 0.0000 -vn -0.0005 -0.0001 -1.0000 -vn -0.0055 0.0152 -0.9999 -vn -0.0002 -0.0055 -1.0000 -vn 0.0011 -1.0000 0.0000 -vn -0.7904 -0.6126 0.0000 -vn 0.0433 -0.1527 -0.9873 -vn 0.1030 -0.1229 -0.9871 -vn 0.3343 0.0000 -0.9425 -vn -0.0433 -0.1527 0.9873 -vn -0.1030 -0.1229 0.9871 -vn -0.3343 0.0000 0.9425 -vn -0.1257 0.0000 0.9921 -vn -0.1257 0.0000 -0.9921 -vn -0.0176 0.0087 0.9998 -vn -0.0116 0.0102 0.9999 -vn -0.0103 0.0106 -0.9999 -vn -0.0153 0.0093 -0.9998 -vn -0.7910 -0.0008 0.6119 -vn 0.9271 0.3484 -0.1378 -vn 0.9957 -0.0864 -0.0342 -vn 0.8893 0.3219 -0.3248 -vn 0.9072 0.2368 -0.3476 -vn 0.9171 -0.1586 -0.3658 -vn 0.8892 -0.3209 -0.3261 -vn 0.9129 -0.3366 -0.2307 -vn 0.8391 -0.0007 0.5440 -vn -0.9957 -0.0864 -0.0320 -vn 0.9959 0.0358 -0.0826 -vn -0.8557 0.5148 -0.0537 -vn -0.7913 0.6115 0.0006 -vn -0.9541 0.2801 -0.1058 -vn -0.8207 0.0986 -0.5628 -vn -0.9963 0.0347 -0.0783 -vn -0.8203 -0.0976 -0.5636 -vn -0.9089 -0.3441 -0.2353 -vn -0.8819 -0.3307 -0.3360 -vn -0.9541 -0.2801 -0.1058 -vn 0.0912 0.0266 0.9955 -vn 0.0000 -0.0013 1.0000 -vn 0.0121 -0.0031 0.9999 -vn 0.0671 -0.0196 0.9976 -vn 0.0340 -0.0037 0.9994 -vn 0.0123 0.0013 0.9999 -vn 0.0244 0.0071 0.9997 -vn -0.7910 0.0008 -0.6119 -vn 0.9271 -0.3484 0.1378 -vn 0.9957 0.0864 0.0342 -vn 0.8893 -0.3220 0.3248 -vn 0.9072 -0.2368 0.3476 -vn 0.9171 0.1586 0.3658 -vn 0.8892 0.3209 0.3261 -vn 0.9129 0.3366 0.2307 -vn 0.8391 0.0007 -0.5440 -vn -0.9957 0.0864 0.0320 -vn 0.9959 -0.0358 0.0826 -vn -0.8557 -0.5148 0.0537 -vn -0.7913 -0.6115 -0.0006 -vn -0.9541 -0.2801 0.1058 -vn -0.8207 -0.0986 0.5628 -vn -0.9963 -0.0347 0.0783 -vn -0.8203 0.0976 0.5636 -vn -0.9089 0.3441 0.2353 -vn -0.8819 0.3307 0.3360 -vn -0.9541 0.2801 0.1058 -vn 0.0912 -0.0266 -0.9955 -vn -0.0000 0.0013 -1.0000 -vn 0.0121 0.0031 -0.9999 -vn 0.0671 0.0196 -0.9976 -vn 0.0340 0.0037 -0.9994 -vn 0.0123 -0.0013 -0.9999 -vn 0.0244 -0.0071 -0.9997 -vn -0.1433 -0.9893 -0.0262 -vn 0.0393 -0.9992 0.0000 -vn -0.1433 -0.9893 0.0262 -vn -0.0143 0.0061 0.9999 -vn 0.0013 0.0002 1.0000 -vn 0.0011 0.0009 1.0000 -vn -0.0011 -0.0009 -1.0000 -vn -0.0013 -0.0002 -1.0000 -vn 0.0143 -0.0061 -0.9999 -vn -0.0024 0.0019 1.0000 -vn -0.0031 -0.0000 1.0000 -vn -0.0019 0.0025 1.0000 -vn 0.0031 0.0000 -1.0000 -vn 0.0024 -0.0019 -1.0000 -vn 0.0019 -0.0025 -1.0000 -s 1 -f 2/1/1 4/2/1 1/3/1 -f 6/4/2 8/5/2 5/6/2 -f 10/7/3 12/8/3 9/9/3 -f 14/10/4 4/11/4 13/12/4 -f 16/13/5 8/14/5 17/15/5 -f 18/16/6 1/17/6 14/18/6 -f 20/19/7 5/20/7 16/21/7 -f 18/22/8 21/23/8 19/24/8 -f 22/25/9 2/26/9 15/27/9 -f 9/28/10 20/29/10 16/30/10 -f 8/31/6 21/32/6 17/33/6 -f 15/34/7 11/35/7 10/36/7 -f 13/37/5 15/38/5 14/39/5 -f 2/40/1 1/41/1 19/42/1 -f 23/43/11 25/44/11 26/45/11 -f 28/46/12 29/47/13 30/48/14 -f 29/49/15 32/50/15 30/51/15 -f 34/52/16 24/53/17 23/54/18 -f 30/55/6 23/56/6 26/57/6 -f 27/58/7 33/59/7 28/60/7 -f 29/61/3 33/62/3 31/63/3 -f 24/64/19 27/65/19 25/66/19 -f 35/67/6 37/68/6 38/69/6 -f 39/70/1 38/71/1 37/72/1 -f 42/73/7 39/74/7 41/75/7 -f 39/76/20 36/77/20 41/78/20 -f 42/79/5 36/80/5 35/81/5 -f 43/82/5 45/83/5 46/84/5 -f 45/85/21 48/86/21 46/87/21 -f 47/88/1 50/89/1 48/90/1 -f 52/91/6 54/92/6 51/93/6 -f 44/94/22 47/95/22 45/96/22 -f 53/97/1 56/98/1 54/99/1 -f 57/100/23 53/101/23 52/102/23 -f 59/103/3 61/104/3 58/105/3 -f 62/106/5 52/107/5 51/108/5 -f 61/109/1 50/110/1 56/111/1 -f 43/112/5 58/113/5 62/114/5 -f 60/115/6 46/116/6 48/117/6 -f 57/118/7 61/119/7 55/120/7 -f 64/121/24 66/122/25 63/123/25 -f 67/124/5 69/125/5 70/126/5 -f 69/127/3 71/128/3 75/129/3 -f 77/130/26 64/131/27 63/132/28 -f 80/133/29 78/134/29 79/135/29 -f 68/136/30 71/137/30 69/138/30 -f 71/139/1 82/140/1 72/141/1 -f 83/142/31 78/143/31 77/144/31 -f 80/145/32 86/146/33 85/147/34 -f 85/148/35 77/149/35 63/150/35 -f 88/151/5 90/152/5 87/153/5 -f 88/154/7 91/155/7 89/156/7 -f 91/157/1 83/158/1 92/159/1 -f 79/160/36 87/161/36 86/162/36 -f 78/143/37 88/163/38 79/160/38 -f 81/164/39 89/165/39 91/166/39 -f 81/164/40 92/167/40 82/168/40 -f 67/169/41 72/170/42 82/171/41 -f 90/172/43 68/173/43 67/174/43 -f 76/175/7 94/176/7 73/177/7 -f 70/178/3 73/179/3 72/180/3 -f 95/181/3 94/182/3 93/183/3 -f 74/184/6 95/185/6 75/186/6 -f 75/187/1 93/188/1 76/175/1 -f 73/177/5 96/189/5 74/184/5 -f 97/190/1 99/191/1 100/192/1 -f 80/193/44 85/194/44 97/195/44 -f 102/196/44 99/197/44 101/198/44 -f 65/199/5 101/200/5 66/201/5 -f 97/190/6 102/202/6 65/199/6 -f 66/201/7 99/203/7 98/204/7 -f 104/205/45 106/206/45 103/207/45 -f 105/208/46 108/209/46 106/210/46 -f 107/211/47 110/212/47 108/213/47 -f 110/214/48 104/215/48 103/216/48 -f 103/217/1 112/218/1 110/219/1 -f 114/220/6 111/221/6 113/222/6 -f 108/223/5 113/224/5 106/225/5 -f 106/226/19 111/227/19 103/228/19 -f 110/229/3 114/230/3 108/231/3 -f 116/232/19 118/233/19 115/234/19 -f 120/235/3 122/236/3 119/237/3 -f 118/238/5 123/239/5 125/240/5 -f 117/241/49 126/242/49 123/243/49 -f 122/244/1 129/245/1 130/246/50 -f 130/247/50 132/248/51 127/249/50 -f 131/250/7 130/251/7 124/252/7 -f 126/253/1 116/254/1 115/255/1 -f 124/256/52 136/257/53 135/258/52 -f 133/259/54 138/260/5 121/261/5 -f 135/262/6 127/263/6 132/264/6 -f 136/265/19 128/266/19 127/267/19 -f 138/268/7 122/269/7 121/270/7 -f 130/271/19 138/272/19 133/273/19 -f 140/274/55 142/275/55 139/276/55 -f 142/277/56 143/278/56 144/279/56 -f 144/280/57 145/281/57 146/282/57 -f 145/283/58 139/284/58 146/285/58 -f 141/286/7 145/287/7 143/288/7 -f 147/289/19 149/290/19 150/291/19 -f 151/292/59 153/293/1 154/294/60 -f 154/295/61 156/296/61 155/297/61 -f 158/298/62 159/299/62 157/300/62 -f 160/301/7 154/302/7 155/303/7 -f 158/304/63 152/305/63 151/306/63 -f 156/307/5 158/308/64 155/309/65 -f 161/310/66 148/311/67 159/312/68 -f 157/313/69 149/314/70 160/315/71 -f 166/316/72 168/317/72 165/318/72 -f 170/319/1 171/320/1 169/321/1 -f 173/322/73 174/323/73 172/324/73 -f 175/325/74 166/326/74 165/327/74 -f 171/328/6 177/329/6 169/330/6 -f 167/331/7 178/332/7 168/333/7 -f 177/334/75 180/335/75 169/336/75 -f 170/337/76 182/338/76 178/339/76 -f 182/340/5 177/341/5 178/342/5 -f 166/343/1 176/344/1 174/345/1 -f 169/346/1 181/347/1 170/348/1 -f 173/349/5 178/350/5 177/351/5 -f 172/352/5 175/353/5 165/354/5 -f 184/355/77 186/356/77 183/357/77 -f 187/358/78 184/355/78 183/357/78 -f 190/359/79 187/358/79 189/360/79 -f 192/361/80 189/360/80 191/362/80 -f 193/363/81 192/361/81 191/362/81 -f 196/364/82 193/363/82 195/365/82 -f 198/366/83 195/365/83 197/367/83 -f 199/368/84 198/366/84 197/367/84 -f 201/369/85 200/370/85 199/368/85 -f 204/371/86 201/369/86 203/372/86 -f 206/373/87 203/372/87 205/374/87 -f 207/375/88 206/373/88 205/374/88 -f 210/376/89 207/375/89 209/377/89 -f 208/378/90 188/379/90 196/380/90 -f 186/356/91 210/381/91 209/382/91 -f 212/383/91 214/384/91 211/385/91 -f 213/386/89 216/387/89 214/388/89 -f 215/389/88 218/390/88 216/387/88 -f 217/391/87 220/392/87 218/390/87 -f 219/393/86 222/394/86 220/392/86 -f 221/395/85 224/396/85 222/394/85 -f 224/396/84 225/397/84 226/398/84 -f 226/398/83 227/399/83 228/400/83 -f 228/400/82 229/401/82 230/402/82 -f 230/402/81 231/403/81 232/404/81 -f 232/404/80 233/405/80 234/406/80 -f 234/406/79 235/407/79 236/408/79 -f 236/408/78 237/409/78 238/410/78 -f 238/410/77 212/383/77 211/385/77 -f 203/411/92 240/412/92 205/413/92 -f 242/414/91 244/415/91 241/416/91 -f 243/417/89 246/418/89 244/419/89 -f 246/418/88 240/420/88 247/421/88 -f 240/420/87 248/422/87 247/421/87 -f 239/423/86 250/424/86 248/422/86 -f 250/424/85 251/425/85 252/426/85 -f 251/425/84 254/427/84 252/426/84 -f 254/427/83 255/428/83 256/429/83 -f 256/429/82 257/430/82 258/431/82 -f 257/430/81 260/432/81 258/431/81 -f 259/433/80 262/434/80 260/432/80 -f 261/435/79 264/436/79 262/434/79 -f 263/437/78 266/438/78 264/436/78 -f 266/438/77 242/414/77 241/416/77 -f 247/439/90 248/440/90 219/441/90 -f 273/442/92 274/443/92 224/444/92 -f 189/445/92 261/446/92 259/447/92 -f 231/448/90 262/449/90 233/450/90 -f 277/451/88 282/452/88 278/453/88 -f 211/454/92 267/455/92 238/456/92 -f 270/457/81 284/458/81 271/459/81 -f 278/453/89 285/460/89 279/461/89 -f 271/459/82 286/462/82 272/463/82 -f 273/464/83 286/462/83 287/465/83 -f 279/461/91 288/466/91 280/467/91 -f 274/468/84 287/465/84 289/469/84 -f 267/470/77 288/466/77 290/471/77 -f 275/472/85 289/473/85 291/474/85 -f 267/470/78 292/475/78 268/476/78 -f 275/472/86 293/477/86 276/478/86 -f 268/476/79 294/479/79 269/480/79 -f 277/451/87 293/477/87 281/481/87 -f 270/457/80 294/479/80 283/482/80 -f 295/483/93 298/484/94 300/485/95 -f 302/486/93 304/487/96 301/488/97 -f 304/489/98 305/490/98 306/491/98 -f 306/491/99 307/492/99 308/493/99 -f 307/492/100 310/494/101 308/493/101 -f 312/495/102 314/496/102 311/497/102 -f 319/498/103 320/499/102 315/500/102 -f 309/501/104 312/502/104 311/503/104 -f 314/504/105 299/505/106 317/506/107 -f 317/507/108 311/508/109 314/509/110 -f 299/510/111 304/511/96 300/512/95 -f 318/513/112 299/505/112 298/514/112 -f 321/515/113 323/516/113 324/517/113 -f 321/515/114 303/518/115 302/519/116 -f 325/520/117 327/521/118 328/522/119 -f 324/517/120 328/522/120 329/523/120 -f 329/523/121 307/524/122 305/525/123 -f 329/523/124 309/526/125 307/524/126 -f 328/522/127 330/527/127 329/523/127 -f 331/528/128 313/529/129 312/530/130 -f 327/521/131 331/528/131 330/527/131 -f 298/514/132 319/531/133 318/513/134 -f 332/532/135 334/533/136 335/534/137 -f 325/520/138 323/516/139 322/535/140 -f 295/536/141 306/537/142 337/538/143 -f 336/539/144 339/540/145 338/541/146 -f 337/538/147 335/534/147 339/540/147 -f 306/537/148 340/542/149 337/538/150 -f 335/534/151 341/543/151 332/532/151 -f 339/540/152 334/533/153 338/541/154 -f 340/542/155 310/544/156 341/543/157 -f 315/545/158 320/546/159 342/547/160 -f 332/532/161 342/547/162 333/548/163 -f 344/549/164 346/550/164 343/551/164 -f 347/552/165 348/553/166 349/554/166 -f 345/555/6 350/556/6 347/557/6 -f 350/558/167 343/559/167 351/560/167 -f 343/561/7 349/562/7 351/563/7 -f 353/564/164 355/565/164 352/566/164 -f 356/567/165 357/568/168 358/569/168 -f 354/570/6 359/571/6 356/572/6 -f 360/573/167 353/574/167 352/575/167 -f 352/576/7 358/577/7 360/578/7 -f 362/579/164 364/580/164 361/581/164 -f 365/582/166 366/583/166 367/584/166 -f 362/585/6 365/586/6 363/587/6 -f 368/588/167 361/589/167 369/590/167 -f 361/591/7 367/592/7 369/593/7 -f 371/594/164 373/595/164 370/596/164 -f 374/597/165 375/598/169 376/599/166 -f 372/600/6 377/601/6 374/602/6 -f 377/603/167 370/604/167 378/605/167 -f 370/606/7 376/607/7 378/608/7 -f 380/609/164 382/610/164 379/611/164 -f 383/612/166 384/613/168 385/614/168 -f 380/615/6 383/616/6 381/617/6 -f 386/618/167 379/619/167 387/620/167 -f 379/621/7 385/622/7 387/623/7 -f 389/624/164 391/625/164 388/626/164 -f 392/627/166 393/628/166 394/629/166 -f 389/630/6 392/631/6 390/632/6 -f 395/633/167 388/634/167 396/635/167 -f 388/636/7 394/637/7 396/638/7 -f 398/639/164 400/640/164 397/641/164 -f 401/642/165 402/643/166 403/644/166 -f 398/645/6 401/646/6 399/647/6 -f 404/648/167 397/649/167 405/650/167 -f 397/651/7 403/652/7 405/653/7 -f 407/654/164 409/655/164 406/656/164 -f 410/657/165 411/658/166 412/659/166 -f 407/660/6 410/661/6 408/662/6 -f 413/663/167 406/664/167 414/665/167 -f 406/666/7 412/667/7 414/668/7 -f 416/669/164 418/670/164 415/671/164 -f 419/672/168 420/673/168 421/674/168 -f 417/675/6 422/676/6 419/677/6 -f 422/678/167 415/679/167 423/680/167 -f 415/681/7 421/682/7 423/683/7 -f 325/684/170 322/685/171 302/686/172 -f 320/687/173 296/688/174 334/689/175 -f 424/690/102 427/691/176 429/692/177 -f 431/693/102 433/694/178 430/695/179 -f 433/696/180 434/697/180 435/698/180 -f 434/697/181 437/699/181 435/698/181 -f 437/699/182 438/700/182 439/701/182 -f 441/702/93 443/703/93 440/704/93 -f 448/705/183 449/706/93 444/707/93 -f 438/700/184 441/708/184 440/709/184 -f 443/710/185 428/711/186 446/712/187 -f 446/713/188 440/714/189 443/715/190 -f 428/716/191 433/717/178 429/718/177 -f 447/719/192 428/711/192 427/720/192 -f 450/721/193 452/722/193 453/723/193 -f 450/721/194 432/724/195 431/725/196 -f 454/726/197 456/727/198 457/728/199 -f 453/723/200 457/728/200 458/729/200 -f 458/729/201 436/730/202 434/731/203 -f 458/729/204 438/732/205 436/730/206 -f 457/728/207 459/733/207 458/729/207 -f 460/734/208 442/735/209 441/736/210 -f 456/727/211 460/734/211 459/733/211 -f 427/720/212 448/737/213 447/719/214 -f 461/738/215 463/739/216 464/740/217 -f 454/726/218 452/722/219 451/741/220 -f 424/742/221 435/743/222 466/744/223 -f 465/745/224 468/746/225 467/747/226 -f 466/744/227 464/740/227 468/746/227 -f 435/743/228 469/748/229 466/744/230 -f 464/740/231 470/749/231 461/738/231 -f 468/746/232 463/739/233 467/747/234 -f 469/748/235 439/750/236 470/749/237 -f 444/751/238 449/752/239 471/753/240 -f 461/738/241 471/753/242 462/754/243 -f 473/755/244 475/756/244 472/757/244 -f 476/758/245 477/759/246 478/760/246 -f 474/761/7 479/762/7 476/763/7 -f 480/764/247 473/765/247 472/766/247 -f 472/767/6 478/768/6 480/769/6 -f 482/770/244 484/771/244 481/772/244 -f 485/773/246 486/774/246 487/775/246 -f 483/776/7 488/777/7 485/778/7 -f 488/779/247 481/780/247 489/781/247 -f 481/782/6 487/783/6 489/784/6 -f 491/785/244 493/786/244 490/787/244 -f 494/788/245 495/789/246 496/790/246 -f 491/791/7 494/792/7 492/793/7 -f 497/794/247 490/795/247 498/796/247 -f 490/797/6 496/798/6 498/799/6 -f 500/800/244 502/801/244 499/802/244 -f 503/803/245 504/804/248 505/805/248 -f 501/806/7 506/807/7 503/808/7 -f 506/809/247 499/810/247 507/811/247 -f 499/812/6 505/813/6 507/814/6 -f 509/815/244 511/816/244 508/817/244 -f 512/818/246 513/819/246 514/820/246 -f 509/821/7 512/822/7 510/823/7 -f 515/824/247 508/825/247 516/826/247 -f 508/827/6 514/828/6 516/829/6 -f 518/830/244 520/831/244 517/832/244 -f 521/833/246 522/834/246 523/835/246 -f 518/836/7 521/837/7 519/838/7 -f 524/839/247 517/840/247 525/841/247 -f 517/842/6 523/843/6 525/844/6 -f 527/845/244 529/846/244 526/847/244 -f 530/848/246 531/849/246 532/850/246 -f 527/851/7 530/852/7 528/853/7 -f 533/854/247 526/855/247 534/856/247 -f 526/857/6 532/858/6 534/859/6 -f 536/860/244 538/861/244 535/862/244 -f 539/863/245 540/864/248 541/865/248 -f 536/866/7 539/867/7 537/868/7 -f 542/869/247 535/870/247 543/871/247 -f 535/872/6 541/873/6 543/874/6 -f 545/875/244 547/876/244 544/877/244 -f 548/878/245 549/879/246 550/880/246 -f 546/881/7 551/882/7 548/883/7 -f 551/884/247 544/885/247 552/886/247 -f 544/887/6 550/888/6 552/889/6 -f 454/890/249 451/891/250 431/892/251 -f 449/893/252 425/894/253 463/895/254 -f 554/896/1 556/897/1 553/898/1 -f 553/899/3 562/900/3 558/901/3 -f 563/902/7 561/903/7 560/904/7 -f 566/905/5 558/906/5 565/907/5 -f 567/908/255 558/909/255 557/910/255 -f 560/911/256 566/912/256 563/913/256 -f 562/914/257 556/915/257 568/916/257 -f 564/917/258 554/918/258 561/919/258 -f 557/920/6 568/921/6 567/922/6 -f 570/923/259 572/924/259 569/925/259 -f 571/926/6 574/927/6 572/924/6 -f 573/928/260 576/929/260 574/927/260 -f 575/930/261 578/931/261 576/929/261 -f 577/932/7 580/933/7 578/931/7 -f 579/934/262 569/935/262 580/933/262 -f 582/936/263 584/937/263 581/938/263 -f 586/939/264 588/940/264 585/941/264 -f 593/942/1 594/943/1 590/944/1 -f 596/945/265 591/946/265 590/947/265 -f 581/948/266 587/949/266 586/950/266 -f 598/951/267 589/952/268 585/953/269 -f 581/954/270 594/955/270 593/956/270 -f 601/957/271 596/958/271 600/959/271 -f 595/960/272 586/961/272 585/962/272 -f 593/963/273 582/964/273 581/965/273 -f 601/966/5 600/967/5 584/968/5 -f 600/969/274 599/970/274 598/971/274 -f 599/972/275 590/973/275 589/974/275 -f 602/975/5 603/976/5 606/977/5 -f 607/978/276 611/979/276 610/980/276 -f 610/981/1 611/982/1 615/983/1 -f 607/984/277 617/985/277 608/986/277 -f 609/987/278 615/988/278 602/989/278 -f 606/990/279 612/991/279 611/992/279 -f 615/993/280 603/994/280 602/995/280 -f 614/996/281 604/997/281 603/998/281 -f 619/999/19 621/1000/19 618/1001/19 -f 620/1002/282 623/1003/282 621/1004/282 -f 623/1005/90 624/1006/90 625/1007/90 -f 625/1008/283 619/1009/283 618/1010/283 -f 623/1011/6 618/1012/6 621/1013/6 -f 620/1014/7 624/1015/7 622/1016/7 -f 627/1017/19 629/1018/19 626/1019/19 -f 628/1020/284 631/1021/284 629/1022/284 -f 630/1023/3 633/1024/3 631/1025/3 -f 632/1026/285 626/1027/285 633/1028/285 -f 631/1029/6 626/1030/6 629/1031/6 -f 635/1032/19 637/1033/19 634/1034/19 -f 639/1035/286 641/1036/286 638/1037/286 -f 637/1038/287 643/1039/287 634/1040/287 -f 641/1041/7 645/1042/7 638/1043/7 -f 647/1044/6 649/1045/6 646/1046/6 -f 636/1047/5 639/1048/5 642/1049/5 -f 651/1050/288 646/1051/288 652/1052/288 -f 644/1053/1 641/1054/1 652/1055/1 -f 653/1056/3 648/1057/3 650/1058/3 -f 651/1059/6 643/1060/6 642/1061/6 -f 654/1062/289 656/1063/289 657/1064/289 -f 660/1065/6 661/1066/6 662/1067/6 -f 663/1068/290 665/1069/291 667/1070/292 -f 658/1071/293 667/1072/293 659/1073/293 -f 657/1074/294 671/1075/295 669/1076/296 -f 654/1077/297 670/1078/297 673/1079/297 -f 661/1080/298 670/1081/298 662/1082/298 -f 666/1083/299 661/1084/299 660/1085/299 -f 666/1086/300 654/1087/300 673/1088/300 -f 664/1089/301 654/1090/301 665/1091/301 -f 656/1092/302 664/1093/302 663/1094/303 -f 672/1095/304 667/1096/304 669/1097/304 -f 675/1098/7 677/1099/7 674/1100/7 -f 678/1101/305 682/1102/306 683/1103/307 -f 679/1104/19 687/1105/19 680/1106/19 -f 688/1107/308 680/1108/308 687/1109/308 -f 678/1110/309 676/1111/309 679/1112/309 -f 689/1113/310 675/1114/310 674/1115/310 -f 686/1116/311 676/1117/311 675/1118/311 -f 689/1119/312 677/1120/312 678/1121/312 -f 690/1122/313 681/1123/313 688/1124/313 -f 689/1125/314 693/1126/315 690/1127/316 -f 690/1128/317 683/1129/317 682/1130/317 -f 691/1131/6 684/1132/6 692/1133/6 -f 693/1134/318 684/1135/318 683/1136/318 -f 678/1137/3 691/1138/3 689/1139/3 -f 2/1/1 3/1140/1 4/2/1 -f 6/4/2 7/1141/2 8/5/2 -f 10/7/3 11/1142/3 12/8/3 -f 14/10/4 1/1143/4 4/11/4 -f 18/1144/5 14/1145/5 15/1146/5 -f 15/1146/5 10/1147/5 18/1144/5 -f 10/1147/5 9/1148/5 17/15/5 -f 18/1144/5 10/1147/5 17/15/5 -f 16/13/5 5/1149/5 8/14/5 -f 9/1148/5 16/13/5 17/15/5 -f 18/16/6 19/1150/6 1/17/6 -f 20/19/7 6/1151/7 5/20/7 -f 18/22/8 17/1152/8 21/23/8 -f 22/25/9 3/1153/9 2/26/9 -f 9/28/10 12/1154/10 20/29/10 -f 8/31/6 7/1155/6 21/32/6 -f 15/34/7 2/1156/7 11/35/7 -f 13/37/5 22/1157/5 15/38/5 -f 19/42/1 21/1158/1 11/1159/1 -f 21/1158/1 7/1160/1 20/1161/1 -f 7/1160/1 6/1162/1 20/1161/1 -f 12/1163/1 11/1159/1 21/1158/1 -f 11/1159/1 2/40/1 19/42/1 -f 21/1158/1 20/1161/1 12/1163/1 -f 23/43/11 24/1164/11 25/44/11 -f 30/48/14 26/1165/319 27/1166/320 -f 26/1165/319 25/1167/321 27/1166/320 -f 27/1166/320 28/46/12 30/48/14 -f 29/49/15 31/1168/15 32/50/15 -f 23/54/18 32/1169/322 33/1170/323 -f 32/1169/322 31/1171/324 33/1170/323 -f 33/1170/323 34/52/16 23/54/18 -f 30/55/6 32/1172/6 23/56/6 -f 27/58/7 34/1173/7 33/59/7 -f 29/61/3 28/1174/3 33/62/3 -f 24/64/19 34/1175/19 27/65/19 -f 35/67/6 36/1176/6 37/68/6 -f 39/70/1 40/1177/1 38/71/1 -f 42/73/7 40/1178/7 39/74/7 -f 39/76/20 37/1179/20 36/77/20 -f 42/79/5 41/1180/5 36/80/5 -f 43/82/5 44/1181/5 45/83/5 -f 45/85/21 47/1182/21 48/86/21 -f 47/88/1 49/1183/1 50/89/1 -f 52/91/6 53/1184/6 54/92/6 -f 44/94/22 49/1185/22 47/95/22 -f 53/97/1 55/1186/1 56/98/1 -f 57/100/23 55/1187/23 53/101/23 -f 59/103/3 60/1188/3 61/104/3 -f 62/106/5 57/1189/5 52/107/5 -f 61/109/1 60/1190/1 50/110/1 -f 43/112/5 59/1191/5 58/113/5 -f 60/115/6 59/1192/6 46/116/6 -f 57/118/7 58/1193/7 61/119/7 -f 64/121/24 65/1194/24 66/122/25 -f 67/124/5 68/1195/5 69/125/5 -f 76/1196/3 70/178/3 69/127/3 -f 71/128/3 72/180/3 73/179/3 -f 71/128/3 73/179/3 74/1197/3 -f 75/129/3 76/1196/3 69/127/3 -f 71/128/3 74/1197/3 75/129/3 -f 77/130/26 78/1198/325 64/131/27 -f 80/133/29 64/1199/29 78/134/29 -f 68/136/30 81/1200/30 71/137/30 -f 71/139/1 81/1201/1 82/140/1 -f 83/142/31 84/1202/31 78/143/31 -f 80/145/32 79/1203/326 86/146/33 -f 85/148/35 86/1204/35 77/149/35 -f 88/151/5 89/1205/5 90/152/5 -f 88/154/7 84/1206/7 91/155/7 -f 91/157/1 84/1207/1 83/158/1 -f 79/160/36 88/163/36 87/161/36 -f 78/143/37 84/1202/37 88/163/38 -f 81/164/39 68/173/39 89/165/39 -f 81/164/40 91/166/40 92/167/40 -f 92/1208/6 83/1209/6 87/1210/6 -f 83/1209/6 77/1211/6 87/1210/6 -f 77/1211/6 86/1212/6 87/1210/6 -f 87/1210/6 90/1213/6 92/1208/6 -f 90/1213/6 67/169/41 92/1208/6 -f 67/169/41 70/1214/42 72/170/42 -f 82/171/41 92/1208/6 67/169/41 -f 90/172/43 89/165/43 68/173/43 -f 76/175/7 93/188/7 94/176/7 -f 70/178/3 76/1196/3 73/179/3 -f 95/181/3 96/1215/3 94/182/3 -f 74/184/6 96/189/6 95/185/6 -f 75/187/1 95/1216/1 93/188/1 -f 73/177/5 94/176/5 96/189/5 -f 97/190/1 98/1217/1 99/191/1 -f 85/194/44 63/123/25 66/122/25 -f 85/194/44 66/122/25 98/1218/44 -f 65/1194/24 64/121/24 80/193/44 -f 85/194/44 98/1218/44 97/195/44 -f 97/195/44 65/1194/24 80/193/44 -f 102/196/44 100/1219/24 99/197/44 -f 65/199/5 102/202/5 101/200/5 -f 97/190/6 100/192/6 102/202/6 -f 66/201/7 101/200/7 99/203/7 -f 104/205/45 105/1220/45 106/206/45 -f 105/208/46 107/1221/46 108/209/46 -f 107/211/47 109/1222/47 110/212/47 -f 110/214/48 109/1223/48 104/215/48 -f 103/217/1 111/1224/1 112/218/1 -f 114/220/6 112/1225/6 111/221/6 -f 108/223/5 114/1226/5 113/224/5 -f 106/226/19 113/1227/19 111/227/19 -f 110/229/3 112/1228/3 114/230/3 -f 116/232/19 117/1229/19 118/233/19 -f 120/235/3 121/1230/3 122/236/3 -f 118/238/5 117/1231/5 123/239/5 -f 123/239/5 124/1232/5 125/240/5 -f 117/241/49 116/1233/49 126/242/49 -f 130/246/50 127/1234/50 122/244/1 -f 127/1234/50 128/1235/1 119/1236/1 -f 119/1236/1 122/244/1 127/1234/50 -f 130/247/50 131/1237/51 132/248/51 -f 130/251/7 133/1238/7 124/252/7 -f 124/252/7 123/1239/7 131/250/7 -f 123/1239/7 126/1240/7 131/250/7 -f 115/255/1 134/1241/1 126/253/1 -f 134/1241/1 131/1242/1 126/253/1 -f 124/256/52 133/1243/54 136/257/53 -f 121/261/5 120/1244/5 136/1245/53 -f 120/1244/5 137/1246/5 136/1245/53 -f 121/261/5 136/1245/53 133/259/54 -f 135/262/6 136/1247/6 127/263/6 -f 136/265/19 137/1248/19 128/266/19 -f 138/268/7 129/1249/7 122/269/7 -f 130/271/19 129/1250/19 138/272/19 -f 140/274/55 141/1251/55 142/275/55 -f 142/277/56 141/1252/56 143/278/56 -f 144/280/57 143/1253/57 145/281/57 -f 145/283/58 140/1254/58 139/284/58 -f 141/286/7 140/1255/7 145/287/7 -f 147/289/19 148/1256/19 149/290/19 -f 151/292/59 152/1257/1 153/293/1 -f 154/295/61 153/1258/61 156/296/61 -f 158/298/62 151/1259/62 159/299/62 -f 160/301/7 161/1260/7 154/302/7 -f 158/304/63 162/1261/63 152/305/63 -f 156/307/5 162/1262/5 158/308/64 -f 151/1263/59 154/1264/60 159/312/68 -f 154/1264/60 161/310/66 159/312/68 -f 148/311/67 147/1265/327 163/1266/328 -f 148/311/67 163/1266/328 159/312/68 -f 155/1267/65 158/1268/64 157/313/69 -f 164/1269/329 150/1270/330 149/314/70 -f 160/315/71 155/1267/65 157/313/69 -f 157/313/69 164/1269/329 149/314/70 -f 166/316/72 167/1271/72 168/317/72 -f 170/319/1 167/1272/1 171/320/1 -f 173/322/73 171/1273/73 174/323/73 -f 175/325/74 176/1274/74 166/326/74 -f 171/328/6 173/1275/6 177/329/6 -f 167/331/7 170/1276/7 178/332/7 -f 177/334/75 179/1277/75 180/335/75 -f 170/337/76 181/1278/76 182/338/76 -f 182/340/5 179/1279/5 177/341/5 -f 174/345/1 171/1280/1 166/343/1 -f 171/1280/1 167/1281/1 166/343/1 -f 169/346/1 180/1282/1 181/347/1 -f 173/349/5 168/1283/5 178/350/5 -f 165/354/5 168/1284/5 173/1285/5 -f 173/1285/5 172/352/5 165/354/5 -f 184/355/77 185/1286/77 186/356/77 -f 187/358/78 188/1287/78 184/355/78 -f 190/359/79 188/1287/79 187/358/79 -f 192/361/80 190/359/80 189/360/80 -f 193/363/81 194/1288/81 192/361/81 -f 196/364/82 194/1288/82 193/363/82 -f 198/366/83 196/364/83 195/365/83 -f 199/368/84 200/370/84 198/366/84 -f 201/369/85 202/1289/85 200/370/85 -f 204/371/86 202/1289/86 201/369/86 -f 206/373/87 204/371/87 203/372/87 -f 207/375/88 208/1290/88 206/373/88 -f 210/376/89 208/1290/89 207/375/89 -f 208/378/90 210/1291/90 185/1292/90 -f 185/1292/90 184/1293/90 208/378/90 -f 184/1293/90 188/379/90 208/378/90 -f 188/379/90 190/1294/90 196/380/90 -f 190/1294/90 192/1295/90 196/380/90 -f 192/1295/90 194/1296/90 196/380/90 -f 196/380/90 198/1297/90 200/1298/90 -f 200/1298/90 202/1299/90 196/380/90 -f 202/1299/90 204/1300/90 196/380/90 -f 204/1300/90 206/1301/90 208/378/90 -f 204/1300/90 208/378/90 196/380/90 -f 186/356/91 185/1286/91 210/381/91 -f 212/383/91 213/1302/91 214/384/91 -f 213/386/89 215/389/89 216/387/89 -f 215/389/88 217/391/88 218/390/88 -f 217/391/87 219/393/87 220/392/87 -f 219/393/86 221/395/86 222/394/86 -f 221/395/85 223/1303/85 224/396/85 -f 224/396/84 223/1303/84 225/397/84 -f 226/398/83 225/397/83 227/399/83 -f 228/400/82 227/399/82 229/401/82 -f 230/402/81 229/401/81 231/403/81 -f 232/404/80 231/403/80 233/405/80 -f 234/406/79 233/405/79 235/407/79 -f 236/408/78 235/407/78 237/409/78 -f 238/410/77 237/409/77 212/383/77 -f 203/411/92 239/1304/92 240/412/92 -f 242/414/91 243/1305/91 244/415/91 -f 243/417/89 245/1306/89 246/418/89 -f 246/418/88 245/1306/88 240/420/88 -f 240/420/87 239/423/87 248/422/87 -f 239/423/86 249/1307/86 250/424/86 -f 250/424/85 249/1307/85 251/425/85 -f 251/425/84 253/1308/84 254/427/84 -f 254/427/83 253/1308/83 255/428/83 -f 256/429/82 255/428/82 257/430/82 -f 257/430/81 259/433/81 260/432/81 -f 259/433/80 261/435/80 262/434/80 -f 261/435/79 263/437/79 264/436/79 -f 263/437/78 265/1309/78 266/438/78 -f 266/438/77 265/1309/77 242/414/77 -f 219/441/90 217/1310/90 247/439/90 -f 217/1310/90 215/1311/90 247/439/90 -f 215/1311/90 213/1312/90 244/1313/90 -f 213/1312/90 212/1314/90 244/1313/90 -f 212/1314/90 237/1315/90 266/1316/90 -f 237/1315/90 235/1317/90 266/1316/90 -f 235/1317/90 233/450/90 264/1318/90 -f 233/450/90 262/449/90 264/1318/90 -f 223/1319/90 221/1320/90 250/1321/90 -f 221/1320/90 219/441/90 250/1321/90 -f 227/1322/90 225/1323/90 254/1324/90 -f 225/1323/90 223/1319/90 254/1324/90 -f 231/448/90 229/1325/90 258/1326/90 -f 229/1325/90 227/1322/90 258/1326/90 -f 258/1326/90 260/1327/90 231/448/90 -f 235/1317/90 264/1318/90 266/1316/90 -f 256/1328/90 258/1326/90 227/1322/90 -f 254/1324/90 256/1328/90 227/1322/90 -f 212/1314/90 266/1316/90 241/1329/90 -f 212/1314/90 241/1329/90 244/1313/90 -f 252/1330/90 254/1324/90 223/1319/90 -f 215/1311/90 244/1313/90 246/1331/90 -f 250/1321/90 252/1330/90 223/1319/90 -f 215/1311/90 246/1331/90 247/439/90 -f 248/440/90 250/1321/90 219/441/90 -f 280/1332/92 211/454/92 279/1333/92 -f 211/454/92 214/1334/92 279/1333/92 -f 214/1334/92 216/1335/92 278/1336/92 -f 216/1335/92 218/1337/92 278/1336/92 -f 218/1337/92 220/1338/92 277/1339/92 -f 220/1338/92 222/1340/92 276/1341/92 -f 277/1339/92 220/1338/92 276/1341/92 -f 222/1340/92 224/444/92 274/443/92 -f 224/444/92 226/1342/92 273/442/92 -f 226/1342/92 228/1343/92 272/1344/92 -f 228/1343/92 230/1345/92 271/1346/92 -f 230/1345/92 232/1347/92 270/1348/92 -f 232/1347/92 234/1349/92 270/1348/92 -f 234/1349/92 236/1350/92 269/1351/92 -f 236/1350/92 238/456/92 268/1352/92 -f 269/1351/92 236/1350/92 268/1352/92 -f 238/456/92 267/455/92 268/1352/92 -f 278/1336/92 279/1333/92 214/1334/92 -f 234/1349/92 269/1351/92 270/1348/92 -f 277/1339/92 278/1336/92 218/1337/92 -f 230/1345/92 270/1348/92 271/1346/92 -f 228/1343/92 271/1346/92 272/1344/92 -f 275/1353/92 276/1341/92 222/1340/92 -f 274/443/92 275/1353/92 222/1340/92 -f 226/1342/92 272/1344/92 273/442/92 -f 183/1354/92 186/1355/92 242/1356/92 -f 186/1355/92 209/1357/92 242/1356/92 -f 209/1357/92 207/1358/92 245/1359/92 -f 207/1358/92 205/413/92 245/1359/92 -f 205/413/92 240/412/92 245/1359/92 -f 189/445/92 187/1360/92 263/1361/92 -f 187/1360/92 183/1354/92 263/1361/92 -f 193/1362/92 191/1363/92 259/447/92 -f 191/1363/92 189/445/92 259/447/92 -f 197/1364/92 195/1365/92 255/1366/92 -f 195/1365/92 193/1362/92 255/1366/92 -f 201/1367/92 199/1368/92 251/1369/92 -f 199/1368/92 197/1364/92 251/1369/92 -f 239/1304/92 203/411/92 201/1367/92 -f 249/1370/92 239/1304/92 201/1367/92 -f 209/1357/92 245/1359/92 243/1371/92 -f 209/1357/92 243/1371/92 242/1356/92 -f 251/1369/92 249/1370/92 201/1367/92 -f 183/1354/92 242/1356/92 265/1372/92 -f 253/1373/92 251/1369/92 197/1364/92 -f 255/1366/92 253/1373/92 197/1364/92 -f 183/1354/92 265/1372/92 263/1361/92 -f 257/1374/92 255/1366/92 193/1362/92 -f 189/445/92 263/1361/92 261/446/92 -f 259/447/92 257/1374/92 193/1362/92 -f 231/448/90 260/1327/90 262/449/90 -f 277/451/88 281/481/88 282/452/88 -f 211/454/92 280/1332/92 267/455/92 -f 270/457/81 283/482/81 284/458/81 -f 278/453/89 282/452/89 285/460/89 -f 271/459/82 284/458/82 286/462/82 -f 273/464/83 272/463/83 286/462/83 -f 279/461/91 285/460/91 288/466/91 -f 274/468/84 273/464/84 287/465/84 -f 267/470/77 280/467/77 288/466/77 -f 275/472/85 274/1375/85 289/473/85 -f 267/470/78 290/471/78 292/475/78 -f 275/472/86 291/474/86 293/477/86 -f 268/476/79 292/475/79 294/479/79 -f 277/451/87 276/478/87 293/477/87 -f 270/457/80 269/480/80 294/479/80 -f 295/483/93 296/1376/93 297/1377/183 -f 298/484/94 299/1378/111 300/485/95 -f 295/483/93 297/1377/183 298/484/94 -f 302/486/93 303/1379/93 304/487/96 -f 306/491/98 295/1380/98 304/489/98 -f 304/489/98 303/1381/98 305/490/98 -f 306/491/99 305/490/99 307/492/99 -f 307/492/100 309/501/100 310/494/101 -f 312/495/102 313/1382/102 314/496/102 -f 315/500/102 316/1383/177 318/1384/176 -f 316/1383/177 317/1385/108 318/1384/176 -f 318/1384/176 319/498/103 315/500/102 -f 315/1386/104 310/494/104 311/503/104 -f 310/494/104 309/501/104 311/503/104 -f 314/504/105 301/1387/331 299/505/106 -f 317/507/108 316/1388/177 311/508/109 -f 299/510/111 301/1389/97 304/511/96 -f 318/513/112 317/506/112 299/505/112 -f 321/515/113 322/535/113 323/516/113 -f 321/515/114 324/517/332 303/518/115 -f 325/520/117 326/1390/333 327/521/118 -f 324/517/120 323/516/120 328/522/120 -f 305/525/123 303/518/334 324/517/335 -f 324/517/335 329/523/121 305/525/123 -f 329/523/124 330/527/336 309/526/125 -f 328/522/127 327/521/127 330/527/127 -f 312/530/130 309/526/337 330/527/338 -f 330/527/338 331/528/128 312/530/130 -f 327/521/131 326/1390/131 331/528/131 -f 298/514/132 297/1391/339 319/531/133 -f 332/532/135 333/548/340 334/533/136 -f 325/520/138 328/522/341 323/516/139 -f 337/538/143 336/539/342 295/536/141 -f 336/539/342 296/1392/343 295/536/141 -f 336/539/144 337/538/344 339/540/145 -f 337/538/147 340/542/147 335/534/147 -f 306/537/148 308/1393/345 340/542/149 -f 335/534/151 340/542/151 341/543/151 -f 339/540/152 335/534/346 334/533/153 -f 340/542/155 308/1393/347 310/544/156 -f 342/547/160 341/543/348 315/545/158 -f 341/543/348 310/544/349 315/545/158 -f 332/532/161 341/543/350 342/547/162 -f 344/549/164 345/1394/164 346/550/164 -f 349/554/166 346/1395/165 345/1396/165 -f 345/1396/165 347/552/165 349/554/166 -f 345/555/6 344/1397/6 350/556/6 -f 350/558/167 344/1398/167 343/559/167 -f 343/561/7 346/1399/7 349/562/7 -f 353/564/164 354/1400/164 355/565/164 -f 358/569/168 355/1401/166 354/1402/166 -f 354/1402/166 356/567/165 358/569/168 -f 354/570/6 353/1403/6 359/571/6 -f 360/573/167 359/1404/167 353/574/167 -f 352/576/7 355/1405/7 358/577/7 -f 362/579/164 363/1406/164 364/580/164 -f 367/584/166 364/1407/165 363/1408/165 -f 363/1408/165 365/582/166 367/584/166 -f 362/585/6 368/1409/6 365/586/6 -f 368/588/167 362/1410/167 361/589/167 -f 361/591/7 364/1411/7 367/592/7 -f 371/594/164 372/1412/164 373/595/164 -f 376/599/166 373/1413/168 372/1414/165 -f 372/1414/165 374/597/165 376/599/166 -f 372/600/6 371/1415/6 377/601/6 -f 377/603/167 371/1416/167 370/604/167 -f 370/606/7 373/1417/7 376/607/7 -f 380/609/164 381/1418/164 382/610/164 -f 385/614/168 382/1419/166 381/1420/166 -f 381/1420/166 383/612/166 385/614/168 -f 380/615/6 386/1421/6 383/616/6 -f 386/618/167 380/1422/167 379/619/167 -f 379/621/7 382/1423/7 385/622/7 -f 389/624/164 390/1424/164 391/625/164 -f 394/629/166 391/1425/166 390/1426/166 -f 390/1426/166 392/627/166 394/629/166 -f 389/630/6 395/1427/6 392/631/6 -f 395/633/167 389/1428/167 388/634/167 -f 388/636/7 391/1429/7 394/637/7 -f 398/639/164 399/1430/164 400/640/164 -f 403/644/166 400/1431/165 399/1432/165 -f 399/1432/165 401/642/165 403/644/166 -f 398/645/6 404/1433/6 401/646/6 -f 404/648/167 398/1434/167 397/649/167 -f 397/651/7 400/1435/7 403/652/7 -f 407/654/164 408/1436/164 409/655/164 -f 412/659/166 409/1437/165 408/1438/165 -f 408/1438/165 410/657/165 412/659/166 -f 407/660/6 413/1439/6 410/661/6 -f 413/663/167 407/1440/167 406/664/167 -f 406/666/7 409/1441/7 412/667/7 -f 416/669/164 417/1442/164 418/670/164 -f 421/674/168 418/1443/165 417/1444/165 -f 417/1444/165 419/672/168 421/674/168 -f 417/675/6 416/1445/6 422/676/6 -f 422/678/167 416/1446/167 415/679/167 -f 415/681/7 418/1447/7 421/682/7 -f 322/685/171 321/1448/351 302/686/172 -f 302/686/172 301/1387/352 314/504/352 -f 314/504/352 313/1449/353 302/686/172 -f 313/1449/353 331/1450/354 326/1451/355 -f 302/686/172 313/1449/353 325/684/170 -f 326/1451/355 325/684/170 313/1449/353 -f 296/688/174 336/1452/1 338/1453/1 -f 338/1453/1 334/689/175 296/688/174 -f 334/689/175 333/1454/356 320/687/173 -f 333/1454/356 342/1455/357 320/687/173 -f 320/687/173 319/531/352 297/1391/352 -f 297/1391/352 296/688/174 320/687/173 -f 424/690/102 425/1456/102 426/1457/103 -f 427/691/176 428/1458/191 429/692/177 -f 424/690/102 426/1457/103 427/691/176 -f 431/693/102 432/1459/102 433/694/178 -f 435/698/180 424/1460/180 433/696/180 -f 433/696/180 432/1461/180 434/697/180 -f 434/697/181 436/1462/181 437/699/181 -f 437/699/182 436/1462/182 438/700/182 -f 441/702/93 442/1463/93 443/703/93 -f 444/707/93 445/1464/95 447/1465/94 -f 445/1464/95 446/1466/188 447/1465/94 -f 447/1465/94 448/705/183 444/707/93 -f 444/1467/184 439/701/184 440/709/184 -f 439/701/184 438/700/184 440/709/184 -f 443/710/185 430/1468/358 428/711/186 -f 446/713/188 445/1469/95 440/714/189 -f 428/716/191 430/1470/179 433/717/178 -f 447/719/192 446/712/192 428/711/192 -f 450/721/193 451/741/193 452/722/193 -f 450/721/194 453/723/359 432/724/195 -f 454/726/197 455/1471/360 456/727/198 -f 453/723/200 452/722/200 457/728/200 -f 434/731/203 432/724/361 453/723/362 -f 453/723/362 458/729/201 434/731/203 -f 458/729/204 459/733/363 438/732/205 -f 457/728/207 456/727/207 459/733/207 -f 441/736/210 438/732/364 459/733/365 -f 459/733/365 460/734/208 441/736/210 -f 456/727/211 455/1471/211 460/734/211 -f 427/720/212 426/1472/366 448/737/213 -f 461/738/215 462/754/367 463/739/216 -f 454/726/218 457/728/368 452/722/219 -f 466/744/223 465/745/369 424/742/221 -f 465/745/369 425/1473/370 424/742/221 -f 465/745/224 466/744/371 468/746/225 -f 466/744/227 469/748/227 464/740/227 -f 435/743/228 437/1474/372 469/748/229 -f 464/740/231 469/748/231 470/749/231 -f 468/746/232 464/740/373 463/739/233 -f 469/748/235 437/1474/374 439/750/236 -f 471/753/240 470/749/375 444/751/238 -f 470/749/375 439/750/376 444/751/238 -f 461/738/241 470/749/377 471/753/242 -f 473/755/244 474/1475/244 475/756/244 -f 478/760/246 475/1476/245 474/1477/245 -f 474/1477/245 476/758/245 478/760/246 -f 474/761/7 473/1478/7 479/762/7 -f 480/764/247 479/1479/247 473/765/247 -f 472/767/6 475/1480/6 478/768/6 -f 482/770/244 483/1481/244 484/771/244 -f 487/775/246 484/1482/245 483/1483/246 -f 483/1483/246 485/773/246 487/775/246 -f 483/776/7 482/1484/7 488/777/7 -f 488/779/247 482/1485/247 481/780/247 -f 481/782/6 484/1486/6 487/783/6 -f 491/785/244 492/1487/244 493/786/244 -f 496/790/246 493/1488/245 492/1489/245 -f 492/1489/245 494/788/245 496/790/246 -f 491/791/7 497/1490/7 494/792/7 -f 497/794/247 491/1491/247 490/795/247 -f 490/797/6 493/1492/6 496/798/6 -f 500/800/244 501/1493/244 502/801/244 -f 505/805/248 502/1494/245 501/1495/245 -f 501/1495/245 503/803/245 505/805/248 -f 501/806/7 500/1496/7 506/807/7 -f 506/809/247 500/1497/247 499/810/247 -f 499/812/6 502/1498/6 505/813/6 -f 509/815/244 510/1499/244 511/816/244 -f 514/820/246 511/1500/246 510/1501/246 -f 510/1501/246 512/818/246 514/820/246 -f 509/821/7 515/1502/7 512/822/7 -f 515/824/247 509/1503/247 508/825/247 -f 508/827/6 511/1504/6 514/828/6 -f 518/830/244 519/1505/244 520/831/244 -f 523/835/246 520/1506/246 519/1507/246 -f 519/1507/246 521/833/246 523/835/246 -f 518/836/7 524/1508/7 521/837/7 -f 524/839/247 518/1509/247 517/840/247 -f 517/842/6 520/1510/6 523/843/6 -f 527/845/244 528/1511/244 529/846/244 -f 532/850/246 529/1512/246 528/1513/246 -f 528/1513/246 530/848/246 532/850/246 -f 527/851/7 533/1514/7 530/852/7 -f 533/854/247 527/1515/247 526/855/247 -f 526/857/6 529/1516/6 532/858/6 -f 536/860/244 537/1517/244 538/861/244 -f 541/865/248 538/1518/246 537/1519/246 -f 537/1519/246 539/863/245 541/865/248 -f 536/866/7 542/1520/7 539/867/7 -f 542/869/247 536/1521/247 535/870/247 -f 535/872/6 538/1522/6 541/873/6 -f 545/875/244 546/1523/244 547/876/244 -f 550/880/246 547/1524/245 546/1525/245 -f 546/1525/245 548/878/245 550/880/246 -f 546/881/7 545/1526/7 551/882/7 -f 551/884/247 545/1527/247 544/885/247 -f 544/887/6 547/1528/6 550/888/6 -f 451/891/250 450/1529/378 431/892/251 -f 431/892/251 430/1468/379 443/710/379 -f 443/710/379 442/1530/380 431/892/251 -f 442/1530/380 460/1531/381 455/1532/382 -f 431/892/251 442/1530/380 454/890/249 -f 455/1532/382 454/890/249 442/1530/380 -f 425/894/253 465/1533/5 467/1534/5 -f 467/1534/5 463/895/254 425/894/253 -f 463/895/254 462/1535/383 449/893/252 -f 462/1535/383 471/1536/384 449/893/252 -f 449/893/252 448/737/379 426/1472/379 -f 426/1472/379 425/894/253 449/893/252 -f 554/896/1 555/1537/1 556/897/1 -f 562/900/3 557/1538/3 558/901/3 -f 558/901/3 559/1539/3 554/1540/3 -f 559/1539/3 560/1541/3 554/1540/3 -f 560/1541/3 561/1542/3 554/1540/3 -f 554/1540/3 553/899/3 558/901/3 -f 563/902/7 564/1543/7 561/903/7 -f 566/905/5 559/1544/5 558/906/5 -f 567/908/255 565/1545/255 558/909/255 -f 560/911/256 559/1546/256 566/912/256 -f 562/914/257 553/1547/257 556/915/257 -f 564/917/258 555/1548/258 554/918/258 -f 557/920/6 562/1549/6 568/921/6 -f 570/923/259 571/926/259 572/924/259 -f 571/926/6 573/928/6 574/927/6 -f 573/928/260 575/930/260 576/929/260 -f 575/930/261 577/932/261 578/931/261 -f 577/932/7 579/934/7 580/933/7 -f 579/934/262 570/1550/262 569/935/262 -f 582/936/263 583/1551/263 584/937/263 -f 586/939/264 587/1552/264 588/940/264 -f 595/1553/1 589/1554/1 594/943/1 -f 589/1554/1 590/944/1 594/943/1 -f 590/944/1 591/1555/1 593/942/1 -f 591/1555/1 592/1556/1 593/942/1 -f 596/945/265 597/1557/265 591/946/265 -f 581/948/266 584/1558/266 587/949/266 -f 588/1559/385 598/951/267 585/953/269 -f 598/951/267 599/1560/386 589/952/268 -f 585/953/269 589/952/268 595/1561/387 -f 581/954/270 586/1562/270 594/955/270 -f 601/957/271 597/1563/271 596/958/271 -f 595/960/272 594/1564/272 586/961/272 -f 593/963/273 592/1565/273 582/964/273 -f 600/967/5 598/1566/5 587/1567/5 -f 598/1566/5 588/1568/5 587/1567/5 -f 587/1567/5 584/968/5 600/967/5 -f 584/968/5 583/1569/5 601/966/5 -f 600/969/274 596/1570/274 599/970/274 -f 599/972/275 596/1571/275 590/973/275 -f 603/976/5 604/1572/5 605/1573/5 -f 607/1574/5 608/1575/5 602/975/5 -f 608/1575/5 609/1576/5 602/975/5 -f 603/976/5 605/1573/5 606/977/5 -f 607/1574/5 602/975/5 606/977/5 -f 607/978/276 606/1577/276 611/979/276 -f 611/982/1 612/1578/1 614/1579/1 -f 612/1578/1 613/1580/1 614/1579/1 -f 616/1581/1 617/1582/1 615/983/1 -f 617/1582/1 610/981/1 615/983/1 -f 611/982/1 614/1579/1 615/983/1 -f 607/984/277 610/1583/277 617/985/277 -f 609/987/278 616/1584/278 615/988/278 -f 606/990/279 605/1585/279 612/991/279 -f 615/993/280 614/1586/280 603/994/280 -f 614/996/281 613/1587/281 604/997/281 -f 619/999/19 620/1588/19 621/1000/19 -f 620/1002/282 622/1589/282 623/1003/282 -f 623/1005/90 622/1590/90 624/1006/90 -f 625/1008/283 624/1591/283 619/1009/283 -f 623/1011/6 625/1592/6 618/1012/6 -f 620/1014/7 619/1593/7 624/1015/7 -f 627/1017/19 628/1594/19 629/1018/19 -f 628/1020/284 630/1595/284 631/1021/284 -f 630/1023/3 632/1596/3 633/1024/3 -f 632/1026/285 627/1597/285 626/1027/285 -f 631/1029/6 633/1598/6 626/1030/6 -f 635/1032/19 636/1599/19 637/1033/19 -f 639/1035/286 640/1600/286 641/1036/286 -f 637/1038/287 642/1601/287 643/1039/287 -f 641/1041/7 644/1602/7 645/1042/7 -f 647/1044/6 648/1603/6 649/1045/6 -f 638/1604/5 645/1605/5 651/1606/5 -f 645/1605/5 650/1607/5 647/1608/5 -f 651/1606/5 645/1605/5 647/1608/5 -f 650/1607/5 648/1609/5 647/1608/5 -f 651/1606/5 642/1049/5 638/1604/5 -f 642/1049/5 637/1610/5 636/1047/5 -f 638/1604/5 642/1049/5 639/1048/5 -f 651/1050/288 647/1611/288 646/1051/288 -f 635/1612/1 634/1613/1 643/1614/1 -f 652/1055/1 646/1615/1 644/1053/1 -f 646/1615/1 649/1616/1 653/1617/1 -f 644/1053/1 646/1615/1 653/1617/1 -f 635/1612/1 643/1614/1 640/1618/1 -f 643/1614/1 652/1055/1 641/1054/1 -f 641/1054/1 640/1618/1 643/1614/1 -f 653/1056/3 649/1619/3 648/1057/3 -f 651/1059/6 652/1620/6 643/1060/6 -f 654/1062/289 655/1621/289 656/1063/289 -f 662/1067/6 658/1622/6 659/1623/6 -f 659/1623/6 660/1065/6 662/1067/6 -f 668/1624/388 663/1068/290 667/1070/292 -f 663/1068/290 664/1625/1 665/1069/291 -f 665/1069/291 666/1626/389 667/1070/292 -f 666/1626/389 660/1627/1 659/1628/390 -f 667/1070/292 666/1626/389 659/1628/390 -f 658/1071/293 669/1629/293 667/1072/293 -f 669/1076/296 658/1630/391 670/1631/392 -f 658/1630/391 662/1632/5 670/1631/392 -f 670/1631/392 657/1074/294 669/1076/296 -f 657/1074/294 656/1633/5 671/1075/295 -f 671/1075/295 672/1634/393 669/1076/296 -f 654/1077/297 657/1635/297 670/1078/297 -f 661/1080/298 673/1636/298 670/1081/298 -f 666/1083/299 673/1637/299 661/1084/299 -f 666/1086/300 665/1638/300 654/1087/300 -f 664/1089/301 655/1639/301 654/1090/301 -f 663/1094/303 671/1640/303 656/1092/302 -f 656/1092/302 655/1641/7 664/1093/302 -f 672/1095/304 668/1642/304 667/1096/304 -f 675/1098/7 676/1643/7 677/1099/7 -f 678/1101/305 679/1644/394 682/1102/306 -f 679/1644/394 680/1645/395 681/1646/396 -f 682/1102/306 679/1644/394 681/1646/396 -f 683/1103/307 684/1647/1 678/1101/305 -f 684/1647/1 685/1648/1 678/1101/305 -f 679/1104/19 686/1649/19 687/1105/19 -f 688/1107/308 681/1650/308 680/1108/308 -f 678/1110/309 677/1651/309 676/1111/309 -f 689/1113/310 686/1652/310 675/1114/310 -f 686/1116/311 679/1653/311 676/1117/311 -f 689/1119/312 674/1654/312 677/1120/312 -f 690/1122/313 682/1655/313 681/1123/313 -f 689/1125/314 691/1656/5 692/1657/5 -f 689/1125/314 692/1657/5 693/1126/315 -f 687/1658/397 686/1659/398 688/1660/399 -f 686/1659/398 689/1125/314 690/1127/316 -f 690/1127/316 688/1660/399 686/1659/398 -f 690/1128/317 693/1661/317 683/1129/317 -f 691/1131/6 685/1662/6 684/1132/6 -f 693/1134/318 692/1663/318 684/1135/318 -f 678/1137/3 685/1664/3 691/1138/3 diff --git a/src/main/resources/assets/hbm/models/weapons/whiskey.obj b/src/main/resources/assets/hbm/models/weapons/whiskey.obj new file mode 100644 index 000000000..4c64b19d5 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/whiskey.obj @@ -0,0 +1,605 @@ +# Blender v2.79 (sub 0) OBJ File: 'whiskey.blend' +# www.blender.org +o Plane +v -0.437500 1.750000 0.375000 +v -0.375000 1.750000 0.437500 +v -0.375000 1.750000 -0.437500 +v -0.437500 1.750000 -0.375000 +v 0.437500 1.750000 -0.375000 +v 0.375000 1.750000 -0.437500 +v 0.375000 1.750000 0.437500 +v 0.437500 1.750000 0.375000 +v 0.437500 0.250000 0.375000 +v 0.375000 0.250000 0.437500 +v 0.375000 0.250000 -0.437500 +v 0.437500 0.250000 -0.375000 +v -0.437500 0.250000 -0.375000 +v -0.375000 0.250000 -0.437500 +v -0.375000 0.250000 0.437500 +v -0.437500 0.250000 0.375000 +v -0.375000 0.000000 0.500000 +v -0.500000 0.000000 0.375000 +v 0.500000 0.000000 0.375000 +v 0.375000 0.000000 0.500000 +v -0.500000 0.000000 -0.375000 +v -0.375000 0.000000 -0.500000 +v 0.375000 0.000000 -0.500000 +v 0.500000 0.000000 -0.375000 +v -0.500000 2.000000 0.375000 +v -0.375000 2.000000 0.500000 +v 0.375000 2.000000 0.500000 +v 0.500000 2.000000 0.375000 +v -0.375000 2.000000 -0.500000 +v -0.500000 2.000000 -0.375000 +v 0.500000 2.000000 -0.375000 +v 0.375000 2.000000 -0.500000 +v -0.500000 0.187500 0.375000 +v -0.375000 0.187500 0.500000 +v -0.375000 0.187500 -0.500000 +v -0.500000 0.187500 -0.375000 +v 0.500000 0.187500 -0.375000 +v 0.375000 0.187500 -0.500000 +v 0.375000 0.187500 0.500000 +v 0.500000 0.187500 0.375000 +v -0.500000 1.812500 -0.375000 +v -0.375000 1.812500 -0.500000 +v -0.375000 1.812500 0.500000 +v -0.500000 1.812500 0.375000 +v 0.375000 1.812500 -0.500000 +v 0.500000 1.812500 -0.375000 +v 0.500000 1.812500 0.375000 +v 0.375000 1.812500 0.500000 +v 0.000000 2.125000 -0.312500 +v -0.156250 2.125000 -0.270633 +v -0.270633 2.125000 -0.156250 +v -0.312500 2.125000 0.000000 +v -0.270633 2.125000 0.156250 +v -0.156250 2.125000 0.270633 +v -0.000000 2.125000 0.312500 +v 0.156250 2.125000 0.270633 +v 0.270633 2.125000 0.156250 +v 0.312500 2.125000 0.000000 +v 0.270633 2.125000 -0.156250 +v 0.156250 2.125000 -0.270633 +v 0.000000 2.250000 -0.187500 +v -0.093750 2.250000 -0.162380 +v -0.162380 2.250000 -0.093750 +v -0.187500 2.250000 0.000000 +v -0.162380 2.250000 0.093750 +v -0.093750 2.250000 0.162380 +v -0.000000 2.250000 0.187500 +v 0.093750 2.250000 0.162380 +v 0.162380 2.250000 0.093750 +v 0.187500 2.250000 0.000000 +v 0.162380 2.250000 -0.093750 +v 0.093750 2.250000 -0.162380 +v 0.000000 3.000000 -0.187500 +v -0.093750 3.000000 -0.162380 +v -0.162380 3.000000 -0.093750 +v -0.187500 3.000000 0.000000 +v -0.162380 3.000000 0.093750 +v -0.093750 3.000000 0.162380 +v -0.000000 3.000000 0.187500 +v 0.093750 3.000000 0.162380 +v 0.162380 3.000000 0.093750 +v 0.187500 3.000000 0.000000 +v 0.162380 3.000000 -0.093750 +v 0.093750 3.000000 -0.162380 +v 0.000000 3.000000 -0.125000 +v -0.062500 3.000000 -0.108253 +v -0.108253 3.000000 -0.062500 +v -0.125000 3.000000 0.000000 +v -0.108253 3.000000 0.062500 +v -0.062500 3.000000 0.108253 +v -0.000000 3.000000 0.125000 +v 0.062500 3.000000 0.108253 +v 0.108253 3.000000 0.062500 +v 0.125000 3.000000 0.000000 +v 0.108253 3.000000 -0.062500 +v 0.062500 3.000000 -0.108253 +v 0.000000 2.500000 -0.125000 +v -0.062500 2.500000 -0.108253 +v -0.108253 2.500000 -0.062500 +v -0.125000 2.500000 0.000000 +v -0.108253 2.500000 0.062500 +v -0.062500 2.500000 0.108253 +v -0.000000 2.500000 0.125000 +v 0.062500 2.500000 0.108253 +v 0.108253 2.500000 0.062500 +v 0.125000 2.500000 0.000000 +v 0.108253 2.500000 -0.062500 +v 0.062500 2.500000 -0.108253 +vt 0.052937 0.823977 +vt 0.225652 0.867155 +vt 0.052937 0.867155 +vt 0.693212 0.823976 +vt 0.865928 0.867155 +vt 0.693212 0.867155 +vt 0.266362 0.823977 +vt 0.439078 0.867155 +vt 0.266362 0.867155 +vt 0.439078 0.758665 +vt 0.266377 0.715427 +vt 0.439093 0.715486 +vt 0.865928 0.803621 +vt 0.865928 0.823976 +vt 0.225652 0.758591 +vt 0.052952 0.715353 +vt 0.225667 0.715413 +vt 0.865929 0.758812 +vt 0.693228 0.715574 +vt 0.865943 0.715633 +vt 0.479787 0.823977 +vt 0.652503 0.867155 +vt 0.479787 0.867155 +vt 0.652503 0.758739 +vt 0.479802 0.715500 +vt 0.652518 0.715560 +vt 0.439078 0.823977 +vt 0.652503 0.823976 +vt 0.225652 0.823977 +vt 0.012227 0.823977 +vt 0.012227 0.867155 +vt 0.052937 0.758532 +vt 0.012242 0.715339 +vt 0.693213 0.758753 +vt 0.266362 0.758606 +vt 0.479787 0.758679 +vt 0.508551 0.382113 +vt 0.630679 0.544951 +vt 0.467841 0.667080 +vt 0.683035 0.806349 +vt 0.469610 0.806349 +vt 0.439078 0.803622 +vt 0.652503 0.803622 +vt 0.042759 0.806349 +vt 0.256185 0.806349 +vt 0.225652 0.803622 +vt 0.591439 0.012228 +vt 0.571084 0.357659 +vt 0.571084 0.012228 +vt 0.398369 0.357659 +vt 0.398369 0.012228 +vt 0.184943 0.012227 +vt 0.012227 0.357659 +vt 0.012228 0.012227 +vt 0.378014 0.357659 +vt 0.378014 0.012228 +vt 0.784510 0.012227 +vt 0.764155 0.357659 +vt 0.764155 0.012227 +vt 0.205298 0.357659 +vt 0.205298 0.012227 +vt 0.184943 0.357659 +vt 0.591439 0.357659 +vt 0.439071 0.779020 +vt 0.266355 0.778960 +vt 0.469604 0.776303 +vt 0.449249 0.776296 +vt 0.652496 0.779094 +vt 0.479780 0.779034 +vt 0.683029 0.776377 +vt 0.662674 0.776370 +vt 0.865922 0.779167 +vt 0.693206 0.779108 +vt 0.012227 0.758518 +vt 0.042753 0.776156 +vt 0.022398 0.776149 +vt 0.225645 0.778946 +vt 0.052930 0.778887 +vt 0.256178 0.776230 +vt 0.235824 0.776223 +vt 0.827850 0.426816 +vt 0.841753 0.445442 +vt 0.827850 0.449167 +vt 0.827850 0.404465 +vt 0.841753 0.423091 +vt 0.827850 0.382113 +vt 0.841753 0.400739 +vt 0.827849 0.627976 +vt 0.841752 0.646602 +vt 0.827849 0.650328 +vt 0.827849 0.605625 +vt 0.841752 0.624251 +vt 0.827850 0.583274 +vt 0.841752 0.601900 +vt 0.841752 0.564648 +vt 0.841752 0.579549 +vt 0.827850 0.560923 +vt 0.841752 0.542297 +vt 0.841752 0.557198 +vt 0.827850 0.538572 +vt 0.841753 0.519946 +vt 0.841752 0.534846 +vt 0.827850 0.516220 +vt 0.841753 0.497595 +vt 0.841753 0.512495 +vt 0.827850 0.493869 +vt 0.841753 0.475243 +vt 0.841753 0.490144 +vt 0.827850 0.471518 +vt 0.841753 0.452892 +vt 0.841753 0.467793 +vt 0.857124 0.159276 +vt 0.864574 0.187081 +vt 0.844220 0.207436 +vt 0.693212 0.803622 +vt 0.345713 0.544951 +vt 0.345713 0.504242 +vt 0.467841 0.382113 +vt 0.630679 0.504242 +vt 0.508551 0.667080 +vt 0.662680 0.806349 +vt 0.449255 0.806349 +vt 0.266362 0.803622 +vt 0.479787 0.803622 +vt 0.022405 0.806349 +vt 0.235830 0.806349 +vt 0.052937 0.803622 +vt 0.784510 0.357659 +vt 0.841753 0.430541 +vt 0.841753 0.408190 +vt 0.841753 0.385839 +vt 0.841752 0.631702 +vt 0.841752 0.609350 +vt 0.841752 0.586999 +vt 0.829319 0.207436 +vt 0.816415 0.199985 +vt 0.808964 0.187081 +vt 0.808964 0.172180 +vt 0.816415 0.159276 +vt 0.829319 0.151826 +vt 0.844220 0.151826 +vt 0.864574 0.172180 +vt 0.857124 0.199985 +vt 0.321258 0.518454 +vt 0.238315 0.521438 +vt 0.220754 0.488898 +vt 0.237168 0.559627 +vt 0.184896 0.690885 +vt 0.182030 0.607808 +vt 0.214707 0.590337 +vt 0.139480 0.690836 +vt 0.012227 0.554530 +vt 0.095226 0.551540 +vt 0.112801 0.584112 +vt 0.012232 0.509129 +vt 0.148725 0.382113 +vt 0.189887 0.466440 +vt 0.151549 0.465183 +vt 0.118860 0.482620 +vt 0.200962 0.548521 +vt 0.190371 0.563643 +vt 0.143679 0.606579 +vt 0.173577 0.571533 +vt 0.139421 0.559473 +vt 0.154899 0.570068 +vt 0.096376 0.513327 +vt 0.131245 0.542854 +vt 0.132598 0.524424 +vt 0.143165 0.509279 +vt 0.159957 0.501494 +vt 0.178656 0.502956 +vt 0.194151 0.513552 +vt 0.202343 0.530124 +vt 0.655134 0.605624 +vt 0.655134 0.627975 +vt 0.655135 0.449166 +vt 0.655135 0.471518 +vt 0.655135 0.404464 +vt 0.655135 0.426815 +vt 0.655134 0.516220 +vt 0.655134 0.538571 +vt 0.655134 0.583273 +vt 0.655135 0.382113 +vt 0.655135 0.493869 +vt 0.655134 0.560922 +vt 0.655133 0.650326 +vt 0.883468 0.127371 +vt 0.898369 0.012227 +vt 0.898369 0.127371 +vt 0.928170 0.127371 +vt 0.943070 0.012227 +vt 0.943071 0.127371 +vt 0.972872 0.127371 +vt 0.987773 0.012227 +vt 0.987773 0.127371 +vt 0.868567 0.127371 +vt 0.883468 0.012227 +vt 0.838766 0.127371 +vt 0.853666 0.012227 +vt 0.853666 0.127371 +vt 0.913269 0.127371 +vt 0.928170 0.012227 +vt 0.957971 0.127371 +vt 0.972872 0.012227 +vt 0.868567 0.012227 +vt 0.823865 0.127371 +vt 0.838766 0.012227 +vt 0.913269 0.012227 +vt 0.957971 0.012227 +vt 0.808964 0.127371 +vt 0.823865 0.012227 +vt 0.194123 0.382196 +vt 0.321258 0.563814 +vt 0.808964 0.012227 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.0000 -1.0000 0.0000 +vn -0.5774 0.5774 0.5774 +vn 0.5774 0.5774 0.5774 +vn 0.7071 0.7071 0.0000 +vn 0.0000 0.7071 0.7071 +vn -0.5774 0.5774 -0.5774 +vn 0.5774 0.5774 -0.5774 +vn 0.0000 0.7071 -0.7071 +vn 0.7071 -0.7071 0.0000 +vn 0.5774 -0.5774 0.5774 +vn 0.0000 -0.7071 0.7071 +vn -0.5774 -0.5774 0.5774 +vn -0.7071 -0.7071 0.0000 +vn -0.5774 -0.5774 -0.5774 +vn 0.0000 -0.7071 -0.7071 +vn 0.5774 -0.5774 -0.5774 +vn 0.0000 1.0000 -0.0000 +vn 0.3493 0.9190 -0.1829 +vn 0.4649 0.8474 -0.2564 +vn 0.5891 0.8080 0.0000 +vn 0.2564 0.8474 -0.4649 +vn -0.1829 0.9190 -0.3493 +vn -0.2564 0.8474 -0.4649 +vn 0.0000 0.8080 -0.5891 +vn -0.3493 0.9190 -0.1829 +vn -0.3493 0.9190 0.1829 +vn -0.4649 0.8474 0.2564 +vn -0.5891 0.8080 0.0000 +vn -0.1829 0.9190 0.3493 +vn 0.1829 0.9190 0.3493 +vn 0.4649 0.8474 0.2564 +vn 0.2564 0.8474 0.4649 +vn -0.0000 0.8080 0.5891 +vn 0.4567 0.4070 -0.7911 +vn 0.0000 0.4070 -0.9134 +vn -0.4649 0.8474 -0.2564 +vn -0.4567 0.4070 -0.7911 +vn -0.9134 0.4070 -0.0000 +vn -0.7911 0.4070 -0.4567 +vn -0.2564 0.8474 0.4649 +vn -0.7911 0.4070 0.4567 +vn -0.4567 0.4070 0.7911 +vn -0.0000 0.4070 0.9134 +vn 0.4567 0.4070 0.7911 +vn 0.7911 0.4070 0.4567 +vn 0.9134 0.4070 0.0000 +vn 0.7911 0.4070 -0.4567 +vn -0.8660 0.0000 0.5000 +vn 0.5000 0.0000 -0.8660 +vn -0.5000 0.0000 -0.8660 +vn 0.8660 0.0000 0.5000 +vn -0.5000 0.0000 0.8660 +vn -0.8660 0.0000 -0.5000 +vn 0.8660 0.0000 -0.5000 +vn 0.5000 0.0000 0.8660 +vn 0.3493 0.9190 0.1829 +vn 0.1829 0.9190 -0.3493 +s off +f 35/1/1 23/2/1 22/3/1 +f 33/4/2 21/5/2 18/6/2 +f 37/7/3 19/8/3 24/9/3 +f 47/10/3 31/11/3 28/12/3 +f 33/4/4 13/13/4 36/14/4 +f 45/15/1 29/16/1 32/17/1 +f 41/18/2 25/19/2 30/20/2 +f 39/21/5 17/22/5 20/23/5 +f 43/24/5 27/25/5 26/26/5 +f 40/27/6 20/23/6 19/8/6 +f 18/6/7 34/28/7 33/4/7 +f 38/29/8 24/9/8 23/2/8 +f 36/30/9 22/3/9 21/31/9 +f 42/32/9 30/33/9 29/16/9 +f 26/26/7 44/34/7 43/24/7 +f 46/35/8 32/17/8 31/11/8 +f 48/36/6 28/12/6 27/25/6 +f 24/37/10 20/38/10 18/39/10 +f 34/28/11 16/40/11 33/4/11 +f 40/27/12 10/41/12 39/21/12 +f 37/7/13 9/42/13 40/27/13 +f 39/21/14 15/43/14 34/28/14 +f 36/30/15 14/44/15 35/1/15 +f 38/29/16 12/45/16 37/7/16 +f 35/1/17 11/46/17 38/29/17 +f 11/47/8 5/48/8 12/49/8 +f 12/49/3 8/50/3 9/51/3 +f 16/52/2 4/53/2 13/54/2 +f 9/51/6 7/55/6 10/56/6 +f 13/57/9 3/58/9 14/59/9 +f 10/56/5 2/60/5 15/61/5 +f 15/61/7 1/62/7 16/52/7 +f 14/59/1 6/63/1 11/47/1 +f 46/35/18 8/64/18 5/65/18 +f 47/10/19 7/66/19 8/67/19 +f 48/36/20 2/68/20 7/69/20 +f 43/24/21 1/70/21 2/71/21 +f 44/34/22 4/72/22 1/73/22 +f 41/74/23 3/75/23 4/76/23 +f 42/32/24 6/77/24 3/78/24 +f 45/15/25 5/79/25 6/80/25 +f 74/81/26 85/82/26 73/83/26 +f 75/84/26 86/85/26 74/81/26 +f 76/86/26 87/87/26 75/84/26 +f 77/88/26 88/89/26 76/90/26 +f 78/91/26 89/92/26 77/88/26 +f 79/93/26 90/94/26 78/91/26 +f 79/93/26 92/95/26 91/96/26 +f 80/97/26 93/98/26 92/99/26 +f 81/100/26 94/101/26 93/102/26 +f 82/103/26 95/104/26 94/105/26 +f 83/106/26 96/107/26 95/108/26 +f 84/109/26 85/110/26 96/111/26 +f 105/112/26 107/113/26 97/114/26 +f 35/1/1 38/29/1 23/2/1 +f 33/4/2 36/14/2 21/5/2 +f 37/7/3 40/27/3 19/8/3 +f 47/10/3 46/35/3 31/11/3 +f 33/4/4 16/115/4 13/13/4 +f 45/15/1 42/32/1 29/16/1 +f 41/18/2 44/34/2 25/19/2 +f 39/21/5 34/28/5 17/22/5 +f 43/24/5 48/36/5 27/25/5 +f 40/27/6 39/21/6 20/23/6 +f 18/6/7 17/22/7 34/28/7 +f 38/29/8 37/7/8 24/9/8 +f 36/30/9 35/1/9 22/3/9 +f 42/32/9 41/74/9 30/33/9 +f 26/26/7 25/19/7 44/34/7 +f 46/35/8 45/15/8 32/17/8 +f 48/36/6 47/10/6 28/12/6 +f 18/39/10 21/116/10 22/117/10 +f 22/117/10 23/118/10 24/37/10 +f 24/37/10 19/119/10 20/38/10 +f 20/38/10 17/120/10 18/39/10 +f 18/39/10 22/117/10 24/37/10 +f 34/28/11 15/121/11 16/40/11 +f 40/27/12 9/122/12 10/41/12 +f 37/7/13 12/123/13 9/42/13 +f 39/21/14 10/124/14 15/43/14 +f 36/30/15 13/125/15 14/44/15 +f 38/29/16 11/126/16 12/45/16 +f 35/1/17 14/127/17 11/46/17 +f 11/47/8 6/63/8 5/48/8 +f 12/49/3 5/48/3 8/50/3 +f 16/52/2 1/62/2 4/53/2 +f 9/51/6 8/50/6 7/55/6 +f 13/57/9 4/128/9 3/58/9 +f 10/56/5 7/55/5 2/60/5 +f 15/61/7 2/60/7 1/62/7 +f 14/59/1 3/58/1 6/63/1 +f 46/35/18 47/10/18 8/64/18 +f 47/10/19 48/36/19 7/66/19 +f 48/36/20 43/24/20 2/68/20 +f 43/24/21 44/34/21 1/70/21 +f 44/34/22 41/18/22 4/72/22 +f 41/74/23 42/32/23 3/75/23 +f 42/32/24 45/15/24 6/77/24 +f 45/15/25 46/35/25 5/79/25 +f 74/81/26 86/129/26 85/82/26 +f 75/84/26 87/130/26 86/85/26 +f 76/86/26 88/131/26 87/87/26 +f 77/88/26 89/132/26 88/89/26 +f 78/91/26 90/133/26 89/92/26 +f 79/93/26 91/134/26 90/94/26 +f 79/93/26 80/97/26 92/95/26 +f 80/97/26 81/100/26 93/98/26 +f 81/100/26 82/103/26 94/101/26 +f 82/103/26 83/106/26 95/104/26 +f 83/106/26 84/109/26 96/107/26 +f 84/109/26 73/83/26 85/110/26 +f 97/114/26 98/135/26 99/136/26 +f 99/136/26 100/137/26 101/138/26 +f 101/138/26 102/139/26 103/140/26 +f 103/140/26 104/141/26 105/112/26 +f 105/112/26 106/142/26 107/113/26 +f 107/113/26 108/143/26 97/114/26 +f 97/114/26 99/136/26 101/138/26 +f 101/138/26 103/140/26 97/114/26 +f 103/140/26 105/112/26 97/114/26 +s 1 +f 31/144/27 59/145/28 58/146/29 +f 31/144/27 60/147/30 59/145/28 +f 29/148/31 50/149/32 49/150/33 +f 30/151/34 50/149/32 29/148/31 +f 25/152/35 53/153/36 52/154/37 +f 26/155/38 53/153/36 25/152/35 +f 27/156/39 57/157/40 56/158/41 +f 27/156/39 56/158/41 55/159/42 +f 49/150/33 72/160/43 60/147/30 +f 50/149/32 61/161/44 49/150/33 +f 51/162/45 62/163/46 50/149/32 +f 51/162/45 64/164/47 63/165/48 +f 53/153/36 64/164/47 52/154/37 +f 54/166/49 65/167/50 53/153/36 +f 55/159/42 66/168/51 54/166/49 +f 56/158/41 67/169/52 55/159/42 +f 57/157/40 68/170/53 56/158/41 +f 58/146/29 69/171/54 57/157/40 +f 59/145/28 70/172/55 58/146/29 +f 60/147/30 71/173/56 59/145/28 +f 66/174/51 77/88/57 65/175/50 +f 61/176/44 84/109/58 72/177/43 +f 63/178/48 74/81/59 62/179/46 +f 70/180/55 81/100/60 69/181/54 +f 67/182/52 78/91/61 66/174/51 +f 64/183/47 75/84/62 63/178/48 +f 71/184/56 82/103/3 70/180/55 +f 68/185/53 79/93/5 67/182/52 +f 65/175/50 76/90/2 64/186/47 +f 72/177/43 83/106/63 71/184/56 +f 62/179/46 73/83/1 61/176/44 +f 69/181/54 80/97/64 68/185/53 +f 95/187/57 106/188/2 94/189/2 +f 92/190/59 103/191/1 91/192/1 +f 89/193/63 100/194/3 88/195/3 +f 96/196/61 107/197/57 95/187/57 +f 86/198/64 97/199/5 85/200/5 +f 93/201/62 104/202/59 92/190/59 +f 90/203/58 101/204/63 89/193/63 +f 85/200/5 108/205/61 96/196/61 +f 87/206/60 98/207/64 86/198/64 +f 94/189/2 105/208/62 93/201/62 +f 91/192/1 102/209/58 90/203/58 +f 88/210/3 99/211/60 87/206/60 +f 57/157/40 28/212/65 58/146/29 +f 28/212/65 31/144/27 58/146/29 +f 31/144/27 32/213/66 60/147/30 +f 60/147/30 32/213/66 49/150/33 +f 32/213/66 29/148/31 49/150/33 +f 30/151/34 51/162/45 50/149/32 +f 51/162/45 30/151/34 52/154/37 +f 30/151/34 25/152/35 52/154/37 +f 26/155/38 54/166/49 53/153/36 +f 27/156/39 28/212/65 57/157/40 +f 54/166/49 26/155/38 55/159/42 +f 26/155/38 27/156/39 55/159/42 +f 49/150/33 61/161/44 72/160/43 +f 50/149/32 62/163/46 61/161/44 +f 51/162/45 63/165/48 62/163/46 +f 51/162/45 52/154/37 64/164/47 +f 53/153/36 65/167/50 64/164/47 +f 54/166/49 66/168/51 65/167/50 +f 55/159/42 67/169/52 66/168/51 +f 56/158/41 68/170/53 67/169/52 +f 57/157/40 69/171/54 68/170/53 +f 58/146/29 70/172/55 69/171/54 +f 59/145/28 71/173/56 70/172/55 +f 60/147/30 72/160/43 71/173/56 +f 66/174/51 78/91/61 77/88/57 +f 61/176/44 73/83/1 84/109/58 +f 63/178/48 75/84/62 74/81/59 +f 70/180/55 82/103/3 81/100/60 +f 67/182/52 79/93/5 78/91/61 +f 64/183/47 76/86/2 75/84/62 +f 71/184/56 83/106/63 82/103/3 +f 68/185/53 80/97/64 79/93/5 +f 65/175/50 77/88/57 76/90/2 +f 72/177/43 84/109/58 83/106/63 +f 62/179/46 74/81/59 73/83/1 +f 69/181/54 81/100/60 80/97/64 +f 95/187/57 107/197/57 106/188/2 +f 92/190/59 104/202/59 103/191/1 +f 89/193/63 101/204/63 100/194/3 +f 96/196/61 108/205/61 107/197/57 +f 86/198/64 98/207/64 97/199/5 +f 93/201/62 105/208/62 104/202/59 +f 90/203/58 102/209/58 101/204/63 +f 85/200/5 97/199/5 108/205/61 +f 87/206/60 99/211/60 98/207/64 +f 94/189/2 106/188/2 105/208/62 +f 91/192/1 103/191/1 102/209/58 +f 88/210/3 100/214/3 99/211/60 diff --git a/src/main/resources/assets/hbm/my_hecking_realism.png b/src/main/resources/assets/hbm/my_hecking_realism.png new file mode 100644 index 000000000..dab8b86bc Binary files /dev/null and b/src/main/resources/assets/hbm/my_hecking_realism.png differ diff --git a/src/main/resources/assets/hbm/sounds.json b/src/main/resources/assets/hbm/sounds.json index b9fe59269..d7c59ae2c 100644 --- a/src/main/resources/assets/hbm/sounds.json +++ b/src/main/resources/assets/hbm/sounds.json @@ -1,5 +1,4 @@ { - "misc.nullTau": {"category": "player", "sounds": [{"name": "misc/null", "stream": false}]}, "misc.nullChopper": {"category": "player", "sounds": [{"name": "misc/null", "stream": false}]}, "misc.nullCrashing": {"category": "player", "sounds": [{"name": "misc/null", "stream": false}]}, "misc.nullMine": {"category": "player", "sounds": [{"name": "misc/null", "stream": false}]}, @@ -65,6 +64,10 @@ "block.fel": {"category": "block", "sounds": [{"name": "block/fel", "stream": false}]}, "block.hephaestusRunning": {"category": "block", "sounds": [{"name": "block/hephaestusRunning", "stream": false}]}, "block.squeakyToy": {"category": "block", "sounds": [{"name": "block/squeakyToy", "stream": false}]}, + "block.pyroOperate": {"category": "block", "sounds": [{"name": "block/pyroOperate", "stream": false}]}, + "block.motor": {"category": "block", "sounds": [{"name": "block/motor", "stream": false}]}, + "block.engine": {"category": "block", "sounds": [{"name": "block/engine", "stream": false}]}, + "block.chemicalPlant": {"category": "block", "sounds": [{"name": "block/chemicalPlant", "stream": false}]}, "door.TransitionSealOpen": {"category": "block", "sounds": [{"name": "block/door/transition_seal_open", "stream": true}]}, "door.wghStart": {"category": "block", "sounds": [{"name": "block/door/wgh_start", "stream": true}]}, @@ -175,8 +178,6 @@ "weapon.magReloadBolt": {"category": "player", "sounds": [{"name": "weapon/magReloadBolt", "stream": false}]}, "weapon.rpgReload": {"category": "player", "sounds": [{"name": "weapon/rpgReload", "stream": false}]}, "weapon.boat": {"category": "player", "sounds": [{"name": "weapon/boat", "stream": false}]}, - "weapon.hkShoot": {"category": "player", "sounds": [{"name": "weapon/hkShoot", "stream": false}]}, - "weapon.hkReload": {"category": "player", "sounds": [{"name": "weapon/hkReload", "stream": false}]}, "weapon.deagleShoot": {"category": "player", "sounds": [{"name": "weapon/deagleShoot", "stream": false}]}, "weapon.tesla": {"category": "block", "sounds": ["weapon/tesla1", "weapon/tesla2", "weapon/tesla3", "weapon/tesla4"]}, "weapon.teslaShoot": {"category": "player", "sounds": [{"name": "weapon/teslaShoot", "stream": false}]}, @@ -208,11 +209,16 @@ "weapon.coilgunShoot": {"category": "player", "sounds": [{"name": "weapon/coilgunShoot", "stream": false}]}, "weapon.glReload": {"category": "player", "sounds": [{"name": "weapon/glReload", "stream": false}]}, "weapon.glShoot": {"category": "player", "sounds": [{"name": "weapon/glShoot", "stream": false}]}, + "weapon.glOpen": {"category": "player", "sounds": [{"name": "weapon/glOpen", "stream": false}]}, + "weapon.glClose": {"category": "player", "sounds": [{"name": "weapon/glClose", "stream": false}]}, "weapon.44Shoot": {"category": "player", "sounds": [{"name": "weapon/44Shoot", "stream": false}]}, "weapon.trainImpact": {"category": "player", "sounds": [{"name": "weapon/trainImpact", "stream": false}]}, "weapon.nuclearExplosion": {"category": "player", "sounds": [{"name": "weapon/nuclearExplosion", "stream": true}]}, "weapon.explosionLargeNear": {"category": "player", "sounds": [{"name": "weapon/explosionLargeNear", "stream": false}]}, "weapon.explosionLargeFar": {"category": "player", "sounds": [{"name": "weapon/explosionLargeFar", "stream": false}]}, + "weapon.explosionSmallNear": {"category": "player", "sounds": ["weapon/explosionSmallNear1", "weapon/explosionSmallNear2", "weapon/explosionSmallNear3"]}, + "weapon.explosionSmallFar": {"category": "player", "sounds": ["weapon/explosionSmallFar1", "weapon/explosionSmallFar2"]}, + "weapon.explosionTiny": {"category": "player", "sounds": ["weapon/explosionTiny1", "weapon/explosionTiny2"]}, "weapon.dFlash": {"category": "player", "sounds": [{"name": "weapon/dFlash", "stream": false}]}, @@ -220,6 +226,68 @@ "weapon.switchmode1": {"category": "player", "sounds": [{"name": "weapon/switchmode1", "stream": false}]}, "weapon.switchmode2": {"category": "player", "sounds": [{"name": "weapon/switchmode2", "stream": false}]}, + "weapon.fire.blackPowder": {"category": "player", "sounds": ["weapon/fire/blackPowder"]}, + "weapon.fire.flameLoop": {"category": "player", "sounds": ["weapon/fire/flameLoop"]}, + "weapon.fire.lockon": {"category": "player", "sounds": ["weapon/fire/lockon"]}, + "weapon.fire.shredderCycle": {"category": "player", "sounds": ["weapon/fire/shredderCycle"]}, + "weapon.fire.tau": {"category": "player", "sounds": ["weapon/fire/tau"]}, + "weapon.fire.tauLoop": {"category": "player", "sounds": ["weapon/fire/tauLoop"]}, + "weapon.fire.tauRelease": {"category": "player", "sounds": ["weapon/fire/tauRelease1", "weapon/fire/tauRelease2", "weapon/fire/tauRelease3"]}, + "weapon.fire.fatman": {"category": "player", "sounds": ["weapon/fire/fatman"]}, + "weapon.fire.smack": {"category": "player", "sounds": ["weapon/fire/smack"]}, + "weapon.fire.vstar": {"category": "player", "sounds": ["weapon/fire/vstar"]}, + "weapon.fire.loudestNoiseOnEarth": {"category": "player", "sounds": ["weapon/fire/loudestNoiseOnEarth"]}, + "weapon.fire.disintegration": {"category": "player", "sounds": ["weapon/fire/disintegration"]}, + "weapon.fire.laser": {"category": "player", "sounds": ["weapon/fire/laser"]}, + "weapon.fire.laserPistol": {"category": "player", "sounds": ["weapon/fire/laserPistol"]}, + "weapon.fire.laserGatling": {"category": "player", "sounds": ["weapon/fire/laserGatling"]}, + "weapon.fire.silenced": {"category": "player", "sounds": ["weapon/fire/silenced"]}, + "weapon.fire.assault": {"category": "player", "sounds": ["weapon/fire/assault"]}, + "weapon.fire.pistol": {"category": "player", "sounds": ["weapon/fire/pistol"]}, + "weapon.fire.rifle": {"category": "player", "sounds": ["weapon/fire/rifle"]}, + "weapon.fire.rifleHeavy": {"category": "player", "sounds": ["weapon/fire/rifleHeavy"]}, + "weapon.fire.shotgun": {"category": "player", "sounds": ["weapon/fire/shotgun"]}, + "weapon.fire.shotgunAlt": {"category": "player", "sounds": ["weapon/fire/shotgunAlt"]}, + "weapon.fire.shotgunAuto": {"category": "player", "sounds": ["weapon/fire/shotgunAuto"]}, + "weapon.fire.greaseGun": {"category": "player", "sounds": ["weapon/fire/greaseGun"]}, + "weapon.fire.uzi": {"category": "player", "sounds": ["weapon/fire/uzi"]}, + "weapon.fire.tesla": {"category": "player", "sounds": ["weapon/fire/tesla"]}, + "weapon.fire.aberrator": {"category": "player", "sounds": ["weapon/fire/aberrator"]}, + "weapon.fire.stab": {"category": "player", "sounds": ["weapon/fire/stab1", "weapon/fire/stab2"]}, + "weapon.fire.grenade": {"category": "player", "sounds": ["weapon/fire/grenade"]}, + "weapon.fire.amat": {"category": "player", "sounds": ["weapon/fire/amat"]}, + + "weapon.reload.boltClose": {"category": "player", "sounds": ["weapon/reload/boltClose"]}, + "weapon.reload.boltOpen": {"category": "player", "sounds": ["weapon/reload/boltOpen"]}, + "weapon.reload.closeClick": {"category": "player", "sounds": ["weapon/reload/closeClick"]}, + "weapon.reload.dryFireClick": {"category": "player", "sounds": ["weapon/reload/dryFireClick"]}, + "weapon.reload.insertCanister": {"category": "player", "sounds": ["weapon/reload/insertCanister"]}, + "weapon.reload.insertGrenade": {"category": "player", "sounds": ["weapon/reload/insertGrenade"]}, + "weapon.reload.insertLarge": {"category": "player", "sounds": ["weapon/reload/insertLarge"]}, + "weapon.reload.insertRocket": {"category": "player", "sounds": ["weapon/reload/insertRocket"]}, + "weapon.reload.leverCock": {"category": "player", "sounds": ["weapon/reload/leverCock"]}, + "weapon.reload.magInsert": {"category": "player", "sounds": ["weapon/reload/magInsert"]}, + "weapon.reload.magRemove": {"category": "player", "sounds": ["weapon/reload/magRemove"]}, + "weapon.reload.magSmallInsert": {"category": "player", "sounds": ["weapon/reload/magSmallInsert"]}, + "weapon.reload.magSmallRemove": {"category": "player", "sounds": ["weapon/reload/magSmallRemove"]}, + "weapon.reload.openLatch": {"category": "player", "sounds": ["weapon/reload/openLatch"]}, + "weapon.reload.pistolCock": {"category": "player", "sounds": ["weapon/reload/pistolCock"]}, + "weapon.reload.pressureValve": {"category": "player", "sounds": ["weapon/reload/pressureValve"]}, + "weapon.reload.revolverClose": {"category": "player", "sounds": ["weapon/reload/revolverClose"]}, + "weapon.reload.revolverCock": {"category": "player", "sounds": ["weapon/reload/revolverCock"]}, + "weapon.reload.revolverSpin": {"category": "player", "sounds": ["weapon/reload/revolverSpin"]}, + "weapon.reload.rifleCock": {"category": "player", "sounds": ["weapon/reload/rifleCock"]}, + "weapon.reload.shotgunCock": {"category": "player", "sounds": ["weapon/reload/shotgunCock"]}, + "weapon.reload.shotgunCockOpen": {"category": "player", "sounds": ["weapon/reload/shotgunCockOpen"]}, + "weapon.reload.shotgunCockClose": {"category": "player", "sounds": ["weapon/reload/shotgunCockClose"]}, + "weapon.reload.shotgunReload": {"category": "player", "sounds": ["weapon/reload/shotgunReload1", "weapon/reload/shotgunReload2", "weapon/reload/shotgunReload3"]}, + "weapon.reload.tubeFwoomp": {"category": "player", "sounds": ["weapon/reload/tubeFwoomp"]}, + "weapon.reload.impact": {"category": "player", "sounds": ["weapon/reload/impact1", "weapon/reload/impact2", "weapon/reload/impact3"]}, + "weapon.reload.fatmanFull": {"category": "player", "sounds": ["weapon/reload/fatmanFull"]}, + "weapon.reload.screw": {"category": "player", "sounds": ["weapon/reload/screw"]}, + + "weapon.foley.gunWhack": {"category": "player", "sounds": ["weapon/foley/gunWhack", "weapon/foley/gunWhack2"]}, + "turret.chekhov_fire": {"category": "block", "sounds": [{"name": "turret/chekhov_fire", "stream": false}]}, "turret.jeremy_fire": {"category": "block", "sounds": ["turret/jeremy_fire1", "turret/jeremy_fire2", "turret/jeremy_fire3", "turret/jeremy_fire4", "turret/jeremy_fire5"]}, "turret.jeremy_reload": {"category": "block", "sounds": [{"name": "turret/jeremy_reload", "stream": false}]}, @@ -269,10 +337,6 @@ "potatos.random": {"category": "player", "sounds": ["potatos/randResponse0", "potatos/randResponse1", "potatos/randResponse2", "potatos/randResponse3", "potatos/randResponse4", "potatos/randResponse5", "potatos/randResponse6", "potatos/randResponse7"]}, - "fm.clap": {"category": "block", "sounds": [{"name": "clap", "stream": false}]}, - "fm.mug": {"category": "block", "sounds": [{"name": "mug", "stream": false}]}, - "fm.sample": {"category": "block", "sounds": [{"name": "sample", "stream": false}]}, - "alarm.amsSiren": {"category": "record", "sounds": [{"name": "alarm/amsSiren", "stream": false}]}, "alarm.apcLoop": {"category": "record", "sounds": [{"name": "alarm/apcLoop", "stream": false}]}, "alarm.apcPass": {"category": "record", "sounds": [{"name": "alarm/apcPass", "stream": false}]}, diff --git a/src/main/resources/assets/hbm/sounds/block/chemicalPlant.ogg b/src/main/resources/assets/hbm/sounds/block/chemicalPlant.ogg new file mode 100644 index 000000000..ec82f034b Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/chemicalPlant.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/engine.ogg b/src/main/resources/assets/hbm/sounds/block/engine.ogg new file mode 100644 index 000000000..a20f0468e Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/engine.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/motor.ogg b/src/main/resources/assets/hbm/sounds/block/motor.ogg new file mode 100644 index 000000000..6d477e37c Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/motor.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/pyroOperate.ogg b/src/main/resources/assets/hbm/sounds/block/pyroOperate.ogg new file mode 100644 index 000000000..a86ebd29c Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/pyroOperate.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/warnAPUFire.ogg b/src/main/resources/assets/hbm/sounds/block/warnAPUFire.ogg new file mode 100644 index 000000000..5035c2109 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/warnAPUFire.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/explosionSmallFar1.ogg b/src/main/resources/assets/hbm/sounds/weapon/explosionSmallFar1.ogg new file mode 100644 index 000000000..df1680b49 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/explosionSmallFar1.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/explosionSmallFar2.ogg b/src/main/resources/assets/hbm/sounds/weapon/explosionSmallFar2.ogg new file mode 100644 index 000000000..3b9fac6ad Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/explosionSmallFar2.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/explosionSmallNear1.ogg b/src/main/resources/assets/hbm/sounds/weapon/explosionSmallNear1.ogg new file mode 100644 index 000000000..086a8953d Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/explosionSmallNear1.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/explosionSmallNear2.ogg b/src/main/resources/assets/hbm/sounds/weapon/explosionSmallNear2.ogg new file mode 100644 index 000000000..bc2509178 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/explosionSmallNear2.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/explosionSmallNear3.ogg b/src/main/resources/assets/hbm/sounds/weapon/explosionSmallNear3.ogg new file mode 100644 index 000000000..8a7bfe3c9 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/explosionSmallNear3.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/explosionTiny1.ogg b/src/main/resources/assets/hbm/sounds/weapon/explosionTiny1.ogg new file mode 100644 index 000000000..0600a1438 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/explosionTiny1.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/explosionTiny2.ogg b/src/main/resources/assets/hbm/sounds/weapon/explosionTiny2.ogg new file mode 100644 index 000000000..f8d45e339 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/explosionTiny2.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/aberrator.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/aberrator.ogg new file mode 100644 index 000000000..e57ca0053 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/aberrator.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/amat.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/amat.ogg new file mode 100644 index 000000000..53d64ec8d Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/amat.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/assault.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/assault.ogg new file mode 100644 index 000000000..6a49dbc1d Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/assault.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/blackPowder.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/blackPowder.ogg new file mode 100644 index 000000000..ea73cad21 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/blackPowder.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/disintegration.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/disintegration.ogg new file mode 100644 index 000000000..944cb0fb9 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/disintegration.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/fatman.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/fatman.ogg new file mode 100644 index 000000000..efe85f0b9 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/fatman.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/flameLoop.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/flameLoop.ogg new file mode 100644 index 000000000..8d2822779 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/flameLoop.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/greaseGun.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/greaseGun.ogg new file mode 100644 index 000000000..71bad6b35 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/greaseGun.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/hkShoot.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/grenade.ogg similarity index 100% rename from src/main/resources/assets/hbm/sounds/weapon/hkShoot.ogg rename to src/main/resources/assets/hbm/sounds/weapon/fire/grenade.ogg diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/laser.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/laser.ogg new file mode 100644 index 000000000..f6f869bba Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/laser.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/laserGatling.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/laserGatling.ogg new file mode 100644 index 000000000..e24acf08e Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/laserGatling.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/laserPistol.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/laserPistol.ogg new file mode 100644 index 000000000..47ad2a209 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/laserPistol.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/lockon.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/lockon.ogg new file mode 100644 index 000000000..6fb9782d4 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/lockon.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/loudestNoiseOnEarth.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/loudestNoiseOnEarth.ogg new file mode 100644 index 000000000..15b4cb7fe Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/loudestNoiseOnEarth.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/pistol.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/pistol.ogg new file mode 100644 index 000000000..5670830e6 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/pistol.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/rifle.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/rifle.ogg new file mode 100644 index 000000000..eb4f2fa43 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/rifle.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/rifleHeavy.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/rifleHeavy.ogg new file mode 100644 index 000000000..48f650331 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/rifleHeavy.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/shotgun.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/shotgun.ogg new file mode 100644 index 000000000..9c15eb596 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/shotgun.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/shotgunAlt.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/shotgunAlt.ogg new file mode 100644 index 000000000..422dae1e3 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/shotgunAlt.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/shotgunAuto.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/shotgunAuto.ogg new file mode 100644 index 000000000..eb8e6a76c Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/shotgunAuto.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/shredderCycle.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/shredderCycle.ogg new file mode 100644 index 000000000..3ae4901fa Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/shredderCycle.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/silenced.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/silenced.ogg new file mode 100644 index 000000000..2e972df03 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/silenced.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/smack.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/smack.ogg new file mode 100644 index 000000000..65386b73c Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/smack.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/stab1.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/stab1.ogg new file mode 100644 index 000000000..da9f6bcc3 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/stab1.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/stab2.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/stab2.ogg new file mode 100644 index 000000000..03f51118b Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/stab2.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/tau.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/tau.ogg new file mode 100644 index 000000000..a09b1ac43 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/tau.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/tauLoop.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/tauLoop.ogg new file mode 100644 index 000000000..275db15a8 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/tauLoop.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/tauRelease1.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/tauRelease1.ogg new file mode 100644 index 000000000..e3d2992d6 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/tauRelease1.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/tauRelease2.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/tauRelease2.ogg new file mode 100644 index 000000000..3a466efb2 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/tauRelease2.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/tauRelease3.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/tauRelease3.ogg new file mode 100644 index 000000000..770c05b16 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/tauRelease3.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/tesla.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/tesla.ogg new file mode 100644 index 000000000..8c02cb806 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/tesla.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/uzi.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/uzi.ogg new file mode 100644 index 000000000..de44d99ab Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/uzi.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/fire/vstar.ogg b/src/main/resources/assets/hbm/sounds/weapon/fire/vstar.ogg new file mode 100644 index 000000000..346ffe2eb Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/fire/vstar.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/foley/gunWhack.ogg b/src/main/resources/assets/hbm/sounds/weapon/foley/gunWhack.ogg new file mode 100644 index 000000000..2f88f3fb8 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/foley/gunWhack.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/foley/gunWhack2.ogg b/src/main/resources/assets/hbm/sounds/weapon/foley/gunWhack2.ogg new file mode 100644 index 000000000..de102e4c3 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/foley/gunWhack2.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/glClose.ogg b/src/main/resources/assets/hbm/sounds/weapon/glClose.ogg new file mode 100644 index 000000000..c69c2bcf9 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/glClose.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/glOpen.ogg b/src/main/resources/assets/hbm/sounds/weapon/glOpen.ogg new file mode 100644 index 000000000..27ba81c76 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/glOpen.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/boltClose.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/boltClose.ogg new file mode 100644 index 000000000..45bd93171 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/boltClose.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/boltOpen.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/boltOpen.ogg new file mode 100644 index 000000000..3124cec57 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/boltOpen.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/closeClick.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/closeClick.ogg new file mode 100644 index 000000000..39f036143 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/closeClick.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/dryFireClick.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/dryFireClick.ogg new file mode 100644 index 000000000..a34d6da1d Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/dryFireClick.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/fatmanFull.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/fatmanFull.ogg new file mode 100644 index 000000000..e3af84df2 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/fatmanFull.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/impact1.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/impact1.ogg new file mode 100644 index 000000000..1e2a681ea Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/impact1.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/impact2.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/impact2.ogg new file mode 100644 index 000000000..8612f6f03 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/impact2.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/impact3.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/impact3.ogg new file mode 100644 index 000000000..8cacd6138 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/impact3.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/insertCanister.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/insertCanister.ogg new file mode 100644 index 000000000..bff37cdd3 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/insertCanister.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/insertGrenade.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/insertGrenade.ogg new file mode 100644 index 000000000..0b7a888a0 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/insertGrenade.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/hkReload.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/insertLarge.ogg similarity index 100% rename from src/main/resources/assets/hbm/sounds/weapon/hkReload.ogg rename to src/main/resources/assets/hbm/sounds/weapon/reload/insertLarge.ogg diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/insertRocket.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/insertRocket.ogg new file mode 100644 index 000000000..eb24d346a Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/insertRocket.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/leverCock.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/leverCock.ogg new file mode 100644 index 000000000..1591a4903 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/leverCock.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/magInsert.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/magInsert.ogg new file mode 100644 index 000000000..3db4f7dfe Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/magInsert.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/magRemove.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/magRemove.ogg new file mode 100644 index 000000000..995ada889 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/magRemove.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/magSmallInsert.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/magSmallInsert.ogg new file mode 100644 index 000000000..7c9b92a31 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/magSmallInsert.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/magSmallRemove.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/magSmallRemove.ogg new file mode 100644 index 000000000..2411f23eb Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/magSmallRemove.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/openLatch.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/openLatch.ogg new file mode 100644 index 000000000..57ce982d2 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/openLatch.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/pistolCock.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/pistolCock.ogg new file mode 100644 index 000000000..0898895cb Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/pistolCock.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/pressureValve.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/pressureValve.ogg new file mode 100644 index 000000000..ba3c3fc1b Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/pressureValve.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/revolverClose.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/revolverClose.ogg new file mode 100644 index 000000000..1e682c858 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/revolverClose.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/revolverCock.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/revolverCock.ogg new file mode 100644 index 000000000..184cade5f Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/revolverCock.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/revolverSpin.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/revolverSpin.ogg new file mode 100644 index 000000000..25cd591a6 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/revolverSpin.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/rifleCock.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/rifleCock.ogg new file mode 100644 index 000000000..474c91826 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/rifleCock.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/screw.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/screw.ogg new file mode 100644 index 000000000..e6dd7e05c Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/screw.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/shotgunCock.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/shotgunCock.ogg new file mode 100644 index 000000000..8e36020b2 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/shotgunCock.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/shotgunCockClose.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/shotgunCockClose.ogg new file mode 100644 index 000000000..c04bd3a02 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/shotgunCockClose.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/shotgunCockOpen.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/shotgunCockOpen.ogg new file mode 100644 index 000000000..0de904013 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/shotgunCockOpen.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/shotgunReload1.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/shotgunReload1.ogg new file mode 100644 index 000000000..7ab6c8105 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/shotgunReload1.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/shotgunReload2.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/shotgunReload2.ogg new file mode 100644 index 000000000..43e966250 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/shotgunReload2.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/shotgunReload3.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/shotgunReload3.ogg new file mode 100644 index 000000000..512c6ea81 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/shotgunReload3.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/reload/tubeFwoomp.ogg b/src/main/resources/assets/hbm/sounds/weapon/reload/tubeFwoomp.ogg new file mode 100644 index 000000000..f50d3f8b5 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/reload/tubeFwoomp.ogg differ diff --git a/src/main/resources/assets/hbm/structures/aircraft_carrier.nbt b/src/main/resources/assets/hbm/structures/aircraft_carrier.nbt new file mode 100644 index 000000000..ef8414100 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/aircraft_carrier.nbt differ diff --git a/src/main/resources/assets/hbm/structures/beached_patrol.nbt b/src/main/resources/assets/hbm/structures/beached_patrol.nbt new file mode 100644 index 000000000..417f3bd8e Binary files /dev/null and b/src/main/resources/assets/hbm/structures/beached_patrol.nbt differ diff --git a/src/main/resources/assets/hbm/structures/crashed-vertibird.nbt b/src/main/resources/assets/hbm/structures/crashed-vertibird.nbt new file mode 100644 index 000000000..93e22b9fb Binary files /dev/null and b/src/main/resources/assets/hbm/structures/crashed-vertibird.nbt differ diff --git a/src/main/resources/assets/hbm/structures/dish.nbt b/src/main/resources/assets/hbm/structures/dish.nbt new file mode 100644 index 000000000..c4d7ba87a Binary files /dev/null and b/src/main/resources/assets/hbm/structures/dish.nbt differ diff --git a/src/main/resources/assets/hbm/structures/lighthouse.nbt b/src/main/resources/assets/hbm/structures/lighthouse.nbt new file mode 100644 index 000000000..ff4216353 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/lighthouse.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-bale.nbt b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-bale.nbt new file mode 100644 index 000000000..b8f9aee0d Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-bale.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-blank.nbt b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-blank.nbt new file mode 100644 index 000000000..67e460c1e Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-blank.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-block.nbt b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-block.nbt new file mode 100644 index 000000000..53fd15326 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-block.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-book.nbt b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-book.nbt new file mode 100644 index 000000000..73dd17a40 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-book.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-crab-tesla.nbt b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-crab-tesla.nbt new file mode 100644 index 000000000..f707d794e Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-crab-tesla.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-crab.nbt b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-crab.nbt new file mode 100644 index 000000000..7891ce8b0 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-crab.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-crate.nbt b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-crate.nbt new file mode 100644 index 000000000..22c5c2e30 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-crate.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-dirt.nbt b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-dirt.nbt new file mode 100644 index 000000000..3afc135c2 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-dirt.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-glow.nbt b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-glow.nbt new file mode 100644 index 000000000..b496b06d9 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-glow.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-lead.nbt b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-lead.nbt new file mode 100644 index 000000000..8ea4a132b Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-lead.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-mku.nbt b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-mku.nbt new file mode 100644 index 000000000..bbd46c68e Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-mku.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-ooze.nbt b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-ooze.nbt new file mode 100644 index 000000000..27df02e1a Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-ooze.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-pillar.nbt b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-pillar.nbt new file mode 100644 index 000000000..6b13b58f8 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-pillar.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-star.nbt b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-star.nbt new file mode 100644 index 000000000..336639b2c Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-star.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-statue.nbt b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-statue.nbt new file mode 100644 index 000000000..26b8e7fe3 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-statue.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-tesla.nbt b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-tesla.nbt new file mode 100644 index 000000000..b5e1c69a2 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/loot3x3/meteor-3-tesla.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/meteor-core.nbt b/src/main/resources/assets/hbm/structures/meteor/meteor-core.nbt new file mode 100644 index 000000000..9b5444901 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/meteor-core.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/meteor-corner.nbt b/src/main/resources/assets/hbm/structures/meteor/meteor-corner.nbt new file mode 100644 index 000000000..673b92235 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/meteor-corner.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/meteor-fallback.nbt b/src/main/resources/assets/hbm/structures/meteor/meteor-fallback.nbt new file mode 100644 index 000000000..fa3e955c7 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/meteor-fallback.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/meteor-spike.nbt b/src/main/resources/assets/hbm/structures/meteor/meteor-spike.nbt new file mode 100644 index 000000000..a28c2c309 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/meteor-spike.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/meteor-stairs.nbt b/src/main/resources/assets/hbm/structures/meteor/meteor-stairs.nbt new file mode 100644 index 000000000..fb4e8b865 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/meteor-stairs.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/meteor-t.nbt b/src/main/resources/assets/hbm/structures/meteor/meteor-t.nbt new file mode 100644 index 000000000..418d2c747 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/meteor-t.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/room10/headloot/loot-chest.nbt b/src/main/resources/assets/hbm/structures/meteor/room10/headloot/loot-chest.nbt new file mode 100644 index 000000000..b24269fca Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/room10/headloot/loot-chest.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/room10/headloot/loot-crate-crab.nbt b/src/main/resources/assets/hbm/structures/meteor/room10/headloot/loot-crate-crab.nbt new file mode 100644 index 000000000..cb5de6453 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/room10/headloot/loot-crate-crab.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/room10/headloot/loot-fallback.nbt b/src/main/resources/assets/hbm/structures/meteor/room10/headloot/loot-fallback.nbt new file mode 100644 index 000000000..2ce40e053 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/room10/headloot/loot-fallback.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/room10/headloot/loot-tesla.nbt b/src/main/resources/assets/hbm/structures/meteor/room10/headloot/loot-tesla.nbt new file mode 100644 index 000000000..5a4e4f802 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/room10/headloot/loot-tesla.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/room10/headloot/loot-trap.nbt b/src/main/resources/assets/hbm/structures/meteor/room10/headloot/loot-trap.nbt new file mode 100644 index 000000000..c8486d48e Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/room10/headloot/loot-trap.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/room10/room-balcony.nbt b/src/main/resources/assets/hbm/structures/meteor/room10/room-balcony.nbt new file mode 100644 index 000000000..58664191f Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/room10/room-balcony.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/room10/room-base-end.nbt b/src/main/resources/assets/hbm/structures/meteor/room10/room-base-end.nbt new file mode 100644 index 000000000..c77647792 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/room10/room-base-end.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/room10/room-base-thru.nbt b/src/main/resources/assets/hbm/structures/meteor/room10/room-base-thru.nbt new file mode 100644 index 000000000..efa40eaab Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/room10/room-base-thru.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/room10/room-basic.nbt b/src/main/resources/assets/hbm/structures/meteor/room10/room-basic.nbt new file mode 100644 index 000000000..0eb650e06 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/room10/room-basic.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/room10/room-dragon.nbt b/src/main/resources/assets/hbm/structures/meteor/room10/room-dragon.nbt new file mode 100644 index 000000000..52e91cfe9 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/room10/room-dragon.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/room10/room-fallback.nbt b/src/main/resources/assets/hbm/structures/meteor/room10/room-fallback.nbt new file mode 100644 index 000000000..6b0447906 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/room10/room-fallback.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/room10/room-ladder.nbt b/src/main/resources/assets/hbm/structures/meteor/room10/room-ladder.nbt new file mode 100644 index 000000000..50bfc2523 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/room10/room-ladder.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/room10/room-ooze.nbt b/src/main/resources/assets/hbm/structures/meteor/room10/room-ooze.nbt new file mode 100644 index 000000000..346cac917 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/room10/room-ooze.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/room10/room-split.nbt b/src/main/resources/assets/hbm/structures/meteor/room10/room-split.nbt new file mode 100644 index 000000000..9ce05bb0f Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/room10/room-split.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/room10/room-stairs.nbt b/src/main/resources/assets/hbm/structures/meteor/room10/room-stairs.nbt new file mode 100644 index 000000000..7cef44a64 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/room10/room-stairs.nbt differ diff --git a/src/main/resources/assets/hbm/structures/meteor/room10/room-triple.nbt b/src/main/resources/assets/hbm/structures/meteor/room10/room-triple.nbt new file mode 100644 index 000000000..b1aa16ff4 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/meteor/room10/room-triple.nbt differ diff --git a/src/main/resources/assets/hbm/structures/oil_rig.nbt b/src/main/resources/assets/hbm/structures/oil_rig.nbt new file mode 100644 index 000000000..6f019936e Binary files /dev/null and b/src/main/resources/assets/hbm/structures/oil_rig.nbt differ diff --git a/src/main/resources/assets/hbm/structures/spire.nbt b/src/main/resources/assets/hbm/structures/spire.nbt new file mode 100644 index 000000000..0e6994429 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/spire.nbt differ diff --git a/src/main/resources/assets/hbm/structures/test-jigsaw-core.nbt b/src/main/resources/assets/hbm/structures/test-jigsaw-core.nbt new file mode 100644 index 000000000..a73962172 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/test-jigsaw-core.nbt differ diff --git a/src/main/resources/assets/hbm/structures/test-jigsaw-hall.nbt b/src/main/resources/assets/hbm/structures/test-jigsaw-hall.nbt new file mode 100644 index 000000000..1676ffa91 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/test-jigsaw-hall.nbt differ diff --git a/src/main/resources/assets/hbm/structures/test-jigsaw.nbt b/src/main/resources/assets/hbm/structures/test-jigsaw.nbt new file mode 100644 index 000000000..aa2bdf7ea Binary files /dev/null and b/src/main/resources/assets/hbm/structures/test-jigsaw.nbt differ diff --git a/src/main/resources/assets/hbm/structures/test-rot.nbt b/src/main/resources/assets/hbm/structures/test-rot.nbt new file mode 100644 index 000000000..7150435df Binary files /dev/null and b/src/main/resources/assets/hbm/structures/test-rot.nbt differ diff --git a/src/main/resources/assets/hbm/structures/vertibird.nbt b/src/main/resources/assets/hbm/structures/vertibird.nbt new file mode 100644 index 000000000..da4bc38d9 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/vertibird.nbt differ diff --git a/src/main/resources/assets/hbm/textures/armor/taurun_arm.png b/src/main/resources/assets/hbm/textures/armor/taurun_arm.png new file mode 100644 index 000000000..121b5cae3 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/armor/taurun_arm.png differ diff --git a/src/main/resources/assets/hbm/textures/armor/taurun_chest.png b/src/main/resources/assets/hbm/textures/armor/taurun_chest.png new file mode 100644 index 000000000..696b0e7a7 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/armor/taurun_chest.png differ diff --git a/src/main/resources/assets/hbm/textures/armor/taurun_helmet.png b/src/main/resources/assets/hbm/textures/armor/taurun_helmet.png new file mode 100644 index 000000000..656f40f8b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/armor/taurun_helmet.png differ diff --git a/src/main/resources/assets/hbm/textures/armor/taurun_leg.png b/src/main/resources/assets/hbm/textures/armor/taurun_leg.png new file mode 100644 index 000000000..c5e595eeb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/armor/taurun_leg.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ams_base.png b/src/main/resources/assets/hbm/textures/blocks/ams_base.png deleted file mode 100644 index d0d65f51f..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/ams_base.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ams_emitter.png b/src/main/resources/assets/hbm/textures/blocks/ams_emitter.png deleted file mode 100644 index 1e8db2566..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/ams_emitter.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ams_limiter.png b/src/main/resources/assets/hbm/textures/blocks/ams_limiter.png deleted file mode 100644 index e55f3b55c..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/ams_limiter.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/armor_table_bottom.png b/src/main/resources/assets/hbm/textures/blocks/armor_table_bottom.png index 37f7edf56..a80d403a4 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/armor_table_bottom.png and b/src/main/resources/assets/hbm/textures/blocks/armor_table_bottom.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/armor_table_side.png b/src/main/resources/assets/hbm/textures/blocks/armor_table_side.png index 22ae2dba3..fa149395a 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/armor_table_side.png and b/src/main/resources/assets/hbm/textures/blocks/armor_table_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/armor_table_top.png b/src/main/resources/assets/hbm/textures/blocks/armor_table_top.png index 6b1b2b7c2..f28739d22 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/armor_table_top.png and b/src/main/resources/assets/hbm/textures/blocks/armor_table_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/basalt.png b/src/main/resources/assets/hbm/textures/blocks/basalt.png index 8cc74f42c..ddf35c770 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/basalt.png and b/src/main/resources/assets/hbm/textures/blocks/basalt.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/basalt_top.png b/src/main/resources/assets/hbm/textures/blocks/basalt_top.png new file mode 100644 index 000000000..77a745592 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/basalt_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/battery_dineutronium_front_old.png b/src/main/resources/assets/hbm/textures/blocks/battery_dineutronium_front_old.png deleted file mode 100644 index 0accea58a..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/battery_dineutronium_front_old.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/battery_dineutronium_side.png b/src/main/resources/assets/hbm/textures/blocks/battery_dineutronium_side.png index c4aa94527..243387aaa 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/battery_dineutronium_side.png and b/src/main/resources/assets/hbm/textures/blocks/battery_dineutronium_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/battery_dineutronium_side_old.png b/src/main/resources/assets/hbm/textures/blocks/battery_dineutronium_side_old.png deleted file mode 100644 index 4b52478c6..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/battery_dineutronium_side_old.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/battery_lithium_side.png b/src/main/resources/assets/hbm/textures/blocks/battery_lithium_side.png index f02b4e99b..546203074 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/battery_lithium_side.png and b/src/main/resources/assets/hbm/textures/blocks/battery_lithium_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/battery_potato_side.png b/src/main/resources/assets/hbm/textures/blocks/battery_potato_side.png index 4175efc54..48c9478ae 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/battery_potato_side.png and b/src/main/resources/assets/hbm/textures/blocks/battery_potato_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/battery_schrabidium_side.png b/src/main/resources/assets/hbm/textures/blocks/battery_schrabidium_side.png index 030eba15d..d8aa8516b 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/battery_schrabidium_side.png and b/src/main/resources/assets/hbm/textures/blocks/battery_schrabidium_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/battery_schrabidium_side_old.png b/src/main/resources/assets/hbm/textures/blocks/battery_schrabidium_side_old.png deleted file mode 100644 index 413e92b4c..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/battery_schrabidium_side_old.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/battery_schrabidium_top_alt.png b/src/main/resources/assets/hbm/textures/blocks/battery_schrabidium_top_alt.png deleted file mode 100644 index 51af83823..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/battery_schrabidium_top_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/battery_side_alt.png b/src/main/resources/assets/hbm/textures/blocks/battery_side_alt.png index 4d5e5dda9..7a4d97017 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/battery_side_alt.png and b/src/main/resources/assets/hbm/textures/blocks/battery_side_alt.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/battery_top_alt.png b/src/main/resources/assets/hbm/textures/blocks/battery_top_alt.png deleted file mode 100644 index 7184b1bbf..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/battery_top_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_daffergon.png b/src/main/resources/assets/hbm/textures/blocks/block_daffergon.png deleted file mode 100644 index 48c695c08..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/block_daffergon.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_deprecated.png b/src/main/resources/assets/hbm/textures/blocks/block_deprecated.png new file mode 100644 index 000000000..5d3a513ac Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/block_deprecated.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_desh.png b/src/main/resources/assets/hbm/textures/blocks/block_desh.png index 25e090f90..657f9709c 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/block_desh.png and b/src/main/resources/assets/hbm/textures/blocks/block_desh.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_dura_steel.png b/src/main/resources/assets/hbm/textures/blocks/block_dura_steel.png index 5def26d26..b12860d10 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/block_dura_steel.png and b/src/main/resources/assets/hbm/textures/blocks/block_dura_steel.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_pu241.png b/src/main/resources/assets/hbm/textures/blocks/block_pu241.png new file mode 100644 index 000000000..442375755 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/block_pu241.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_reiium.png b/src/main/resources/assets/hbm/textures/blocks/block_reiium.png deleted file mode 100644 index c992af05a..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/block_reiium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_u233.png b/src/main/resources/assets/hbm/textures/blocks/block_u233.png index fd260ba71..f87b793fb 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/block_u233.png and b/src/main/resources/assets/hbm/textures/blocks/block_u233.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_u233_old.png b/src/main/resources/assets/hbm/textures/blocks/block_u233_old.png new file mode 100644 index 000000000..6574dba3d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/block_u233_old.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_unobtainium.png b/src/main/resources/assets/hbm/textures/blocks/block_unobtainium.png deleted file mode 100644 index c169d0808..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/block_unobtainium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_verticium.png b/src/main/resources/assets/hbm/textures/blocks/block_verticium.png deleted file mode 100644 index d494cb218..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/block_verticium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_weidanium.png b/src/main/resources/assets/hbm/textures/blocks/block_weidanium.png deleted file mode 100644 index c4a52edcb..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/block_weidanium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_junction.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_junction.png deleted file mode 100644 index 8019ad543..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_junction.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_silver_curve.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_silver_curve.png deleted file mode 100644 index 9695a7d56..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/boxduct_silver_curve.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/deco_computer.png b/src/main/resources/assets/hbm/textures/blocks/deco_computer.png index fab8d3cd2..be4279322 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/deco_computer.png and b/src/main/resources/assets/hbm/textures/blocks/deco_computer.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/deco_rusty_steel.png b/src/main/resources/assets/hbm/textures/blocks/deco_rusty_steel.png new file mode 100644 index 000000000..c7500bf74 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/deco_rusty_steel.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/deco_rusty_steel_ct.png b/src/main/resources/assets/hbm/textures/blocks/deco_rusty_steel_ct.png new file mode 100644 index 000000000..fe417d7fa Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/deco_rusty_steel_ct.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/difurnace_front_off.png b/src/main/resources/assets/hbm/textures/blocks/difurnace_front_off.png deleted file mode 100644 index 0a10130bd..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/difurnace_front_off.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/difurnace_front_on.png b/src/main/resources/assets/hbm/textures/blocks/difurnace_front_on.png deleted file mode 100644 index f5b848606..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/difurnace_front_on.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/difurnace_side.png b/src/main/resources/assets/hbm/textures/blocks/difurnace_side.png deleted file mode 100644 index e86a3765f..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/difurnace_side.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/difurnace_top_off.png b/src/main/resources/assets/hbm/textures/blocks/difurnace_top_off.png deleted file mode 100644 index 747e07eb2..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/difurnace_top_off.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/difurnace_top_on.png b/src/main/resources/assets/hbm/textures/blocks/difurnace_top_on.png deleted file mode 100644 index a3dc2c479..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/difurnace_top_on.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/dungeon_spawner.png b/src/main/resources/assets/hbm/textures/blocks/dungeon_spawner.png new file mode 100644 index 000000000..66c1990fc Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/dungeon_spawner.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/factory_advanced_conductor.png b/src/main/resources/assets/hbm/textures/blocks/factory_advanced_conductor.png deleted file mode 100644 index c8107d0bd..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/factory_advanced_conductor.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/factory_advanced_core.png b/src/main/resources/assets/hbm/textures/blocks/factory_advanced_core.png deleted file mode 100644 index 3f08426b6..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/factory_advanced_core.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/factory_advanced_furnace.png b/src/main/resources/assets/hbm/textures/blocks/factory_advanced_furnace.png deleted file mode 100644 index 32e5140d6..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/factory_advanced_furnace.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/factory_titanium_conductor.png b/src/main/resources/assets/hbm/textures/blocks/factory_titanium_conductor.png deleted file mode 100644 index 024d267d3..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/factory_titanium_conductor.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/factory_titanium_core.png b/src/main/resources/assets/hbm/textures/blocks/factory_titanium_core.png deleted file mode 100644 index 8806d7c0e..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/factory_titanium_core.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/factory_titanium_furnace.png b/src/main/resources/assets/hbm/textures/blocks/factory_titanium_furnace.png deleted file mode 100644 index 8b0678e5a..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/factory_titanium_furnace.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/fluid_duct.png b/src/main/resources/assets/hbm/textures/blocks/fluid_duct.png deleted file mode 100644 index a5b49d7ce..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/fluid_duct.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/fluid_duct_alt.png b/src/main/resources/assets/hbm/textures/blocks/fluid_duct_alt.png deleted file mode 100644 index a5adf5554..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/fluid_duct_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/fluid_duct_paintable_block_exhaust.png b/src/main/resources/assets/hbm/textures/blocks/fluid_duct_paintable_block_exhaust.png new file mode 100644 index 000000000..85d4c5e3a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/fluid_duct_paintable_block_exhaust.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/fluid_duct_solid.png b/src/main/resources/assets/hbm/textures/blocks/fluid_duct_solid.png deleted file mode 100644 index 30fb1ecd4..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/fluid_duct_solid.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/fluid_duct_solid_overlay.png b/src/main/resources/assets/hbm/textures/blocks/fluid_duct_solid_overlay.png deleted file mode 100644 index 184f108a8..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/fluid_duct_solid_overlay.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/fusion_center_side.png b/src/main/resources/assets/hbm/textures/blocks/fusion_center_side.png deleted file mode 100644 index 4c14af39c..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/fusion_center_side.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/fusion_center_top.png b/src/main/resources/assets/hbm/textures/blocks/fusion_center_top.png deleted file mode 100644 index c947dc1ce..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/fusion_center_top.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/fusion_core_side.png b/src/main/resources/assets/hbm/textures/blocks/fusion_core_side.png deleted file mode 100644 index a83ac5759..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/fusion_core_side.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/fusion_core_side_alt.png b/src/main/resources/assets/hbm/textures/blocks/fusion_core_side_alt.png deleted file mode 100644 index 44e0b99a1..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/fusion_core_side_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/fusion_heater_side_alt.png b/src/main/resources/assets/hbm/textures/blocks/fusion_heater_side_alt.png deleted file mode 100644 index 37bd68a8f..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/fusion_heater_side_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/fusion_heater_side_alt2.png b/src/main/resources/assets/hbm/textures/blocks/fusion_heater_side_alt2.png deleted file mode 100644 index 428ddac9e..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/fusion_heater_side_alt2.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/fusion_motor_side.png b/src/main/resources/assets/hbm/textures/blocks/fusion_motor_side.png deleted file mode 100644 index 5e9017e5e..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/fusion_motor_side.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/gas_duct.png b/src/main/resources/assets/hbm/textures/blocks/gas_duct.png deleted file mode 100644 index 61c88729b..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/gas_duct.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/gas_duct_icon.png b/src/main/resources/assets/hbm/textures/blocks/gas_duct_icon.png deleted file mode 100644 index 53b818e5a..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/gas_duct_icon.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/gas_duct_solid.png b/src/main/resources/assets/hbm/textures/blocks/gas_duct_solid.png deleted file mode 100644 index 37c1b2397..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/gas_duct_solid.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/geiger.png b/src/main/resources/assets/hbm/textures/blocks/geiger.png index 1b886777d..9e8559849 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/geiger.png and b/src/main/resources/assets/hbm/textures/blocks/geiger.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/glass_polarized.png b/src/main/resources/assets/hbm/textures/blocks/glass_polarized.png new file mode 100644 index 000000000..29a0ce9d6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/glass_polarized.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/glass_polarized_ct.png b/src/main/resources/assets/hbm/textures/blocks/glass_polarized_ct.png new file mode 100644 index 000000000..9ba4239ea Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/glass_polarized_ct.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/glyphid.png b/src/main/resources/assets/hbm/textures/blocks/glyphid.png new file mode 100644 index 000000000..57f80e334 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/glyphid.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/glyphid_base_rad.png b/src/main/resources/assets/hbm/textures/blocks/glyphid_base_rad.png new file mode 100644 index 000000000..a7050e29e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/glyphid_base_rad.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/glyphid_base_rad_alt.png b/src/main/resources/assets/hbm/textures/blocks/glyphid_base_rad_alt.png new file mode 100644 index 000000000..71bbc91ce Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/glyphid_base_rad_alt.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/glyphid_eggs_base_rad.png b/src/main/resources/assets/hbm/textures/blocks/glyphid_eggs_base_rad.png new file mode 100644 index 000000000..b55a9c7da Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/glyphid_eggs_base_rad.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/glyphid_eggs_rad.png b/src/main/resources/assets/hbm/textures/blocks/glyphid_eggs_rad.png new file mode 100644 index 000000000..11f9bdc1a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/glyphid_eggs_rad.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/gun_table_bottom.png b/src/main/resources/assets/hbm/textures/blocks/gun_table_bottom.png new file mode 100644 index 000000000..9aac6ef8e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/gun_table_bottom.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/gun_table_side.png b/src/main/resources/assets/hbm/textures/blocks/gun_table_side.png new file mode 100644 index 000000000..3c3a53e67 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/gun_table_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/gun_table_top.png b/src/main/resources/assets/hbm/textures/blocks/gun_table_top.png new file mode 100644 index 000000000..1483d915b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/gun_table_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/hadron_cooler.png b/src/main/resources/assets/hbm/textures/blocks/hadron_cooler.png deleted file mode 100644 index 04e264932..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/hadron_cooler.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/hadron_cooler_mk2.png b/src/main/resources/assets/hbm/textures/blocks/hadron_cooler_mk2.png deleted file mode 100644 index 63c994f68..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/hadron_cooler_mk2.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/hadron_core_in.png b/src/main/resources/assets/hbm/textures/blocks/hadron_core_in.png index 477cfb6fd..ff8c0e9b3 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/hadron_core_in.png and b/src/main/resources/assets/hbm/textures/blocks/hadron_core_in.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/hadron_core_out.png b/src/main/resources/assets/hbm/textures/blocks/hadron_core_out.png index 4f9cabbe7..7bd095d71 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/hadron_core_out.png and b/src/main/resources/assets/hbm/textures/blocks/hadron_core_out.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/lapis_ore.png b/src/main/resources/assets/hbm/textures/blocks/lapis_ore.png deleted file mode 100644 index 61442368e..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/lapis_ore.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/lightstone.bricks.png b/src/main/resources/assets/hbm/textures/blocks/lightstone.bricks.png new file mode 100644 index 000000000..34aeb4c05 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/lightstone.bricks.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/lightstone.bricks_chiseled.png b/src/main/resources/assets/hbm/textures/blocks/lightstone.bricks_chiseled.png new file mode 100644 index 000000000..8154f33c7 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/lightstone.bricks_chiseled.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/lightstone.bricks_chiseled.top.png b/src/main/resources/assets/hbm/textures/blocks/lightstone.bricks_chiseled.top.png new file mode 100644 index 000000000..4e3b2e629 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/lightstone.bricks_chiseled.top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/lightstone.chiseled.png b/src/main/resources/assets/hbm/textures/blocks/lightstone.chiseled.png new file mode 100644 index 000000000..b53955893 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/lightstone.chiseled.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/lightstone.chiseled.top.png b/src/main/resources/assets/hbm/textures/blocks/lightstone.chiseled.top.png new file mode 100644 index 000000000..6816a5232 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/lightstone.chiseled.top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/lightstone.tile.png b/src/main/resources/assets/hbm/textures/blocks/lightstone.tile.png new file mode 100644 index 000000000..1663fa30e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/lightstone.tile.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/lightstone.unrefined.png b/src/main/resources/assets/hbm/textures/blocks/lightstone.unrefined.png new file mode 100644 index 000000000..67602d43b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/lightstone.unrefined.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/logic_block.png b/src/main/resources/assets/hbm/textures/blocks/logic_block.png new file mode 100644 index 000000000..9e0d69e2f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/logic_block.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore_bottom.png b/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore_bottom.png deleted file mode 100644 index e1062efc4..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore_bottom.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore_side.png b/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore_side.png deleted file mode 100644 index e83237b61..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore_side.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore_top.png b/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore_top.png deleted file mode 100644 index 6b0e57915..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_funnel_ore_top.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_base.png b/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_base.png deleted file mode 100644 index 14eba80ec..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_base.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_base_alt.png b/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_base_alt.png deleted file mode 100644 index 4965db408..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_base_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_front_off.png b/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_front_off.png deleted file mode 100644 index 9e2961432..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_front_off.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_front_off_alt.png b/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_front_off_alt.png deleted file mode 100644 index e5bae79a9..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_front_off_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_front_on.png b/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_front_on.png deleted file mode 100644 index 13059490c..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_front_on.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_front_on_alt.png b/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_front_on_alt.png deleted file mode 100644 index 2ceb49bad..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_front_on_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_side_alt.png b/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_side_alt.png deleted file mode 100644 index d72315539..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_nuke_furnace_side_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_panel_base.png b/src/main/resources/assets/hbm/textures/blocks/machine_panel_base.png deleted file mode 100644 index 4c3009f5a..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_panel_base.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_furnace_off.png b/src/main/resources/assets/hbm/textures/blocks/machine_rtg_furnace_off.png deleted file mode 100644 index 41ce6e648..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_furnace_off.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_furnace_on.png b/src/main/resources/assets/hbm/textures/blocks/machine_rtg_furnace_on.png deleted file mode 100644 index d5f03087b..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_furnace_on.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_shredder_bottom.png b/src/main/resources/assets/hbm/textures/blocks/machine_shredder_bottom.png deleted file mode 100644 index e918f6ab3..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_shredder_bottom.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_shredder_bottom_alt.png b/src/main/resources/assets/hbm/textures/blocks/machine_shredder_bottom_alt.png index be4b6d73c..051390fba 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_shredder_bottom_alt.png and b/src/main/resources/assets/hbm/textures/blocks/machine_shredder_bottom_alt.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_shredder_front.png b/src/main/resources/assets/hbm/textures/blocks/machine_shredder_front.png deleted file mode 100644 index faaaad21f..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_shredder_front.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_shredder_front_alt.png b/src/main/resources/assets/hbm/textures/blocks/machine_shredder_front_alt.png index 7049ae709..b8ac27800 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_shredder_front_alt.png and b/src/main/resources/assets/hbm/textures/blocks/machine_shredder_front_alt.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_shredder_side.png b/src/main/resources/assets/hbm/textures/blocks/machine_shredder_side.png deleted file mode 100644 index 9988a5648..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_shredder_side.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_shredder_side_alt.png b/src/main/resources/assets/hbm/textures/blocks/machine_shredder_side_alt.png index de74959ec..817e0e6b7 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_shredder_side_alt.png and b/src/main/resources/assets/hbm/textures/blocks/machine_shredder_side_alt.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_shredder_top.png b/src/main/resources/assets/hbm/textures/blocks/machine_shredder_top.png deleted file mode 100644 index 7bba157a6..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_shredder_top.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_shredder_top_alt.png b/src/main/resources/assets/hbm/textures/blocks/machine_shredder_top_alt.png index a1c241c4c..edc004f2c 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_shredder_top_alt.png and b/src/main/resources/assets/hbm/textures/blocks/machine_shredder_top_alt.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_spp_b_side.png b/src/main/resources/assets/hbm/textures/blocks/machine_spp_b_side.png deleted file mode 100644 index 455af2165..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_spp_b_side.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_spp_b_top.png b/src/main/resources/assets/hbm/textures/blocks/machine_spp_b_top.png deleted file mode 100644 index 8fb18bed5..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_spp_b_top.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_spp_blank.png b/src/main/resources/assets/hbm/textures/blocks/machine_spp_blank.png deleted file mode 100644 index e907459af..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_spp_blank.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_spp_t_bottom.png b/src/main/resources/assets/hbm/textures/blocks/machine_spp_t_bottom.png deleted file mode 100644 index 366d992c7..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_spp_t_bottom.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_spp_t_side.png b/src/main/resources/assets/hbm/textures/blocks/machine_spp_t_side.png deleted file mode 100644 index f75391ca1..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_spp_t_side.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/mine_naval.png b/src/main/resources/assets/hbm/textures/blocks/mine_naval.png new file mode 100644 index 000000000..95e2be29b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/mine_naval.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/oil_duct.png b/src/main/resources/assets/hbm/textures/blocks/oil_duct.png deleted file mode 100644 index 563499fed..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/oil_duct.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/oil_duct_alt.png b/src/main/resources/assets/hbm/textures/blocks/oil_duct_alt.png deleted file mode 100644 index ebbb4dbcd..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/oil_duct_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/oil_duct_icon.png b/src/main/resources/assets/hbm/textures/blocks/oil_duct_icon.png deleted file mode 100644 index 979a275d5..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/oil_duct_icon.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/oil_duct_icon_alt.png b/src/main/resources/assets/hbm/textures/blocks/oil_duct_icon_alt.png deleted file mode 100644 index ac329f5a5..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/oil_duct_icon_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/oil_duct_solid.png b/src/main/resources/assets/hbm/textures/blocks/oil_duct_solid.png deleted file mode 100644 index c26a7b5ec..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/oil_duct_solid.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/oil_duct_solid_alt.png b/src/main/resources/assets/hbm/textures/blocks/oil_duct_solid_alt.png deleted file mode 100644 index 84a994b91..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/oil_duct_solid_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_basalt_asbestos.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_asbestos.png index b808e9ec0..08bae3077 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_basalt_asbestos.png and b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_asbestos.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_basalt_asbestos_top.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_asbestos_top.png new file mode 100644 index 000000000..b914d277a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_asbestos_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_basalt_fluorite.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_fluorite.png index a257b53ba..f5f3482c7 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_basalt_fluorite.png and b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_fluorite.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_basalt_fluorite_top.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_fluorite_top.png new file mode 100644 index 000000000..8fbfac92d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_fluorite_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_basalt_gem.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_gem.png index 53be07abe..f3eb2c406 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_basalt_gem.png and b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_gem.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_basalt_gem_top.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_gem_top.png new file mode 100644 index 000000000..1f331204b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_gem_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_basalt_molysite.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_molysite.png index e688aeaac..22f49d3f5 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_basalt_molysite.png and b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_molysite.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_basalt_molysite_top.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_molysite_top.png new file mode 100644 index 000000000..b19ad36c9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_molysite_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_basalt_overlay.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_overlay.png deleted file mode 100644 index dba5f8339..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_basalt_overlay.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_basalt_sulfur.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_sulfur.png index 4cb524681..eaf1ed5ac 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_basalt_sulfur.png and b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_sulfur.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_basalt_sulfur_top.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_sulfur_top.png new file mode 100644 index 000000000..db2e0d04b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_sulfur_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_daffergon.png b/src/main/resources/assets/hbm/textures/blocks/ore_daffergon.png deleted file mode 100644 index 002aed5d6..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_daffergon.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_daffgon.png b/src/main/resources/assets/hbm/textures/blocks/ore_daffgon.png deleted file mode 100644 index f3382499f..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_daffgon.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_reiium.png b/src/main/resources/assets/hbm/textures/blocks/ore_reiium.png deleted file mode 100644 index 13f38d305..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_reiium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_unobtainium.png b/src/main/resources/assets/hbm/textures/blocks/ore_unobtainium.png deleted file mode 100644 index 15b626bbb..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_unobtainium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_verticium.png b/src/main/resources/assets/hbm/textures/blocks/ore_verticium.png deleted file mode 100644 index 2c9e673ff..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_verticium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_weidanium.png b/src/main/resources/assets/hbm/textures/blocks/ore_weidanium.png deleted file mode 100644 index 88f8d87bf..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_weidanium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/particle/particle_ashes.png b/src/main/resources/assets/hbm/textures/blocks/particle/particle_ashes.png new file mode 100644 index 000000000..4a60bfb70 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/particle/particle_ashes.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/plant_flower.tobacco.png b/src/main/resources/assets/hbm/textures/blocks/plant_flower.tobacco.png index 56f0815de..4ccbc10be 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/plant_flower.tobacco.png and b/src/main/resources/assets/hbm/textures/blocks/plant_flower.tobacco.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/plant_flower.weed.png b/src/main/resources/assets/hbm/textures/blocks/plant_flower.weed.png index 68ee791b7..56a1bc961 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/plant_flower.weed.png and b/src/main/resources/assets/hbm/textures/blocks/plant_flower.weed.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/plant_tall.weed.lower.png b/src/main/resources/assets/hbm/textures/blocks/plant_tall.weed.lower.png index 1e412f0cf..f523c8767 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/plant_tall.weed.lower.png and b/src/main/resources/assets/hbm/textures/blocks/plant_tall.weed.lower.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/plant_tall.weed.upper.png b/src/main/resources/assets/hbm/textures/blocks/plant_tall.weed.upper.png index e7a23bdbe..bc1de0720 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/plant_tall.weed.upper.png and b/src/main/resources/assets/hbm/textures/blocks/plant_tall.weed.upper.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/playground/basalt_test.png b/src/main/resources/assets/hbm/textures/blocks/playground/basalt_test.png new file mode 100644 index 000000000..053622581 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/playground/basalt_test.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/playground/basalt_test_2.png b/src/main/resources/assets/hbm/textures/blocks/playground/basalt_test_2.png new file mode 100644 index 000000000..1a12e728c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/playground/basalt_test_2.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/playground/basalt_test_3.png b/src/main/resources/assets/hbm/textures/blocks/playground/basalt_test_3.png new file mode 100644 index 000000000..dc7698f50 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/playground/basalt_test_3.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/playground/basalt_test_4.png b/src/main/resources/assets/hbm/textures/blocks/playground/basalt_test_4.png new file mode 100644 index 000000000..e3e062e62 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/playground/basalt_test_4.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/playground/basalt_test_5.png b/src/main/resources/assets/hbm/textures/blocks/playground/basalt_test_5.png new file mode 100644 index 000000000..c4fb07664 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/playground/basalt_test_5.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/playground/basalt_test_6.png b/src/main/resources/assets/hbm/textures/blocks/playground/basalt_test_6.png new file mode 100644 index 000000000..962e430aa Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/playground/basalt_test_6.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/playground/deco_steel_kit.png b/src/main/resources/assets/hbm/textures/blocks/playground/deco_steel_kit.png index 066efb53e..ab24ddc3c 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/playground/deco_steel_kit.png and b/src/main/resources/assets/hbm/textures/blocks/playground/deco_steel_kit.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/playground/dungeon_brick.png b/src/main/resources/assets/hbm/textures/blocks/playground/dungeon_brick.png new file mode 100644 index 000000000..a9b3f6981 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/playground/dungeon_brick.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/playground/ores.png b/src/main/resources/assets/hbm/textures/blocks/playground/ores.png new file mode 100644 index 000000000..c73322dca Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/playground/ores.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/playground/stainless_frame_thick.png b/src/main/resources/assets/hbm/textures/blocks/playground/stainless_frame_thick.png new file mode 100644 index 000000000..f985a1319 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/playground/stainless_frame_thick.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/playground/stainless_frame_thin.png b/src/main/resources/assets/hbm/textures/blocks/playground/stainless_frame_thin.png new file mode 100644 index 000000000..4a11a3bfe Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/playground/stainless_frame_thin.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/playground/stainless_frameless.png b/src/main/resources/assets/hbm/textures/blocks/playground/stainless_frameless.png new file mode 100644 index 000000000..4e111cba4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/playground/stainless_frameless.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/playground/stainless_kit.png b/src/main/resources/assets/hbm/textures/blocks/playground/stainless_kit.png new file mode 100644 index 000000000..4b2906b25 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/playground/stainless_kit.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/playground/stainless_kit_bright.png b/src/main/resources/assets/hbm/textures/blocks/playground/stainless_kit_bright.png new file mode 100644 index 000000000..126670dc6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/playground/stainless_kit_bright.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/playground/stone.png b/src/main/resources/assets/hbm/textures/blocks/playground/stone.png new file mode 100755 index 000000000..87e19ff46 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/playground/stone.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/pneumatic_tube.png b/src/main/resources/assets/hbm/textures/blocks/pneumatic_tube.png new file mode 100644 index 000000000..591f1dc22 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/pneumatic_tube.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/pneumatic_tube_connector.png b/src/main/resources/assets/hbm/textures/blocks/pneumatic_tube_connector.png new file mode 100644 index 000000000..1a0327a1a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/pneumatic_tube_connector.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/pneumatic_tube_in.png b/src/main/resources/assets/hbm/textures/blocks/pneumatic_tube_in.png new file mode 100644 index 000000000..b0cb8e0e9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/pneumatic_tube_in.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/pneumatic_tube_out.png b/src/main/resources/assets/hbm/textures/blocks/pneumatic_tube_out.png new file mode 100644 index 000000000..000c59850 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/pneumatic_tube_out.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/pneumatic_tube_straight.png b/src/main/resources/assets/hbm/textures/blocks/pneumatic_tube_straight.png new file mode 100644 index 000000000..f7d38c42f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/pneumatic_tube_straight.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/residue.png b/src/main/resources/assets/hbm/textures/blocks/residue.png deleted file mode 100644 index 81a522fc8..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/residue.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rf_cable.png b/src/main/resources/assets/hbm/textures/blocks/rf_cable.png deleted file mode 100644 index a51c96b96..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/rf_cable.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rf_cable_icon.png b/src/main/resources/assets/hbm/textures/blocks/rf_cable_icon.png deleted file mode 100644 index 4490d71e8..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/rf_cable_icon.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rtty_controller.png b/src/main/resources/assets/hbm/textures/blocks/rtty_controller.png index 8d41fe221..f6e1eac4d 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/rtty_controller.png and b/src/main/resources/assets/hbm/textures/blocks/rtty_controller.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rtty_reader.png b/src/main/resources/assets/hbm/textures/blocks/rtty_reader.png index 22366c094..14dabd709 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/rtty_reader.png and b/src/main/resources/assets/hbm/textures/blocks/rtty_reader.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/sandbags.png b/src/main/resources/assets/hbm/textures/blocks/sandbags.png new file mode 100644 index 000000000..39e9f33f0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/sandbags.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/scaffold_bar_side.png b/src/main/resources/assets/hbm/textures/blocks/scaffold_bar_side.png new file mode 100644 index 000000000..6c8ad885a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/scaffold_bar_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/scaffold_bar_top.png b/src/main/resources/assets/hbm/textures/blocks/scaffold_bar_top.png new file mode 100644 index 000000000..306526480 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/scaffold_bar_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/scaffold_grate_side.png b/src/main/resources/assets/hbm/textures/blocks/scaffold_grate_side.png new file mode 100644 index 000000000..0fb602b48 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/scaffold_grate_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/scaffold_grate_top.png b/src/main/resources/assets/hbm/textures/blocks/scaffold_grate_top.png new file mode 100644 index 000000000..2d8cda107 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/scaffold_grate_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/scaffold_pole_side.png b/src/main/resources/assets/hbm/textures/blocks/scaffold_pole_side.png new file mode 100644 index 000000000..3a9c53fc4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/scaffold_pole_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/scaffold_pole_top.png b/src/main/resources/assets/hbm/textures/blocks/scaffold_pole_top.png new file mode 100644 index 000000000..79c69a803 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/scaffold_pole_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/scaffold_rustedsteel.png b/src/main/resources/assets/hbm/textures/blocks/scaffold_rustedsteel.png new file mode 100644 index 000000000..38ceb368a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/scaffold_rustedsteel.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/scaffold_steel.png b/src/main/resources/assets/hbm/textures/blocks/scaffold_steel.png index 8a4107488..29ad75219 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/scaffold_steel.png and b/src/main/resources/assets/hbm/textures/blocks/scaffold_steel.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/scaffold_yellow.png b/src/main/resources/assets/hbm/textures/blocks/scaffold_yellow.png index 1f152c29a..ba8fb0788 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/scaffold_yellow.png and b/src/main/resources/assets/hbm/textures/blocks/scaffold_yellow.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/seal_hatch.png b/src/main/resources/assets/hbm/textures/blocks/seal_hatch.png deleted file mode 100644 index 7e6da0165..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/seal_hatch.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/seal_hatch_2.png b/src/main/resources/assets/hbm/textures/blocks/seal_hatch_2.png deleted file mode 100644 index b59faf425..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/seal_hatch_2.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/stalactite.fluorite.png b/src/main/resources/assets/hbm/textures/blocks/stalactite.fluorite.png deleted file mode 100644 index a17615c91..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/stalactite.fluorite.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/stalagmite.fluorite.png b/src/main/resources/assets/hbm/textures/blocks/stalagmite.fluorite.png deleted file mode 100644 index 2e949cb89..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/stalagmite.fluorite.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/steel_corner.png b/src/main/resources/assets/hbm/textures/blocks/steel_corner.png deleted file mode 100644 index 26effad96..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/steel_corner.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/steel_wall.png b/src/main/resources/assets/hbm/textures/blocks/steel_wall.png index 76e4f32fd..8e457d39d 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/steel_wall.png and b/src/main/resources/assets/hbm/textures/blocks/steel_wall.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/steel_wall_alt.png b/src/main/resources/assets/hbm/textures/blocks/steel_wall_alt.png new file mode 100644 index 000000000..cb024e81d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/steel_wall_alt.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/stone_deep_cobble.burning.png b/src/main/resources/assets/hbm/textures/blocks/stone_deep_cobble.burning.png deleted file mode 100644 index 9c87700af..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/stone_deep_cobble.burning.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/stone_deep_cobble.normal.png b/src/main/resources/assets/hbm/textures/blocks/stone_deep_cobble.normal.png deleted file mode 100644 index bf059e3cb..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/stone_deep_cobble.normal.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/stone_deep_cobble.steaming.png b/src/main/resources/assets/hbm/textures/blocks/stone_deep_cobble.steaming.png deleted file mode 100644 index 1b8ec5496..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/stone_deep_cobble.steaming.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/stone_keyhole_meta.png b/src/main/resources/assets/hbm/textures/blocks/stone_keyhole_meta.png new file mode 100644 index 000000000..a8f0e071f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/stone_keyhole_meta.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/stone_resource.fluorite.png b/src/main/resources/assets/hbm/textures/blocks/stone_resource.fluorite.png deleted file mode 100644 index 1d499399a..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/stone_resource.fluorite.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/stone_resource.sulfur_alt.png b/src/main/resources/assets/hbm/textures/blocks/stone_resource.sulfur_alt.png deleted file mode 100644 index 6ec700547..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/stone_resource.sulfur_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/taint.png b/src/main/resources/assets/hbm/textures/blocks/taint.png new file mode 100644 index 000000000..df93b16d0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/taint.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/taint_0.png b/src/main/resources/assets/hbm/textures/blocks/taint_0.png deleted file mode 100644 index 0bbd12634..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/taint_0.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/taint_1.png b/src/main/resources/assets/hbm/textures/blocks/taint_1.png deleted file mode 100644 index d6dd11a89..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/taint_1.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/taint_10.png b/src/main/resources/assets/hbm/textures/blocks/taint_10.png deleted file mode 100644 index cd84e8bd2..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/taint_10.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/taint_11.png b/src/main/resources/assets/hbm/textures/blocks/taint_11.png deleted file mode 100644 index cf57f7048..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/taint_11.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/taint_12.png b/src/main/resources/assets/hbm/textures/blocks/taint_12.png deleted file mode 100644 index 7be919a34..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/taint_12.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/taint_13.png b/src/main/resources/assets/hbm/textures/blocks/taint_13.png deleted file mode 100644 index 6e0ba09d3..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/taint_13.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/taint_14.png b/src/main/resources/assets/hbm/textures/blocks/taint_14.png deleted file mode 100644 index fe299aaa0..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/taint_14.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/taint_15.png b/src/main/resources/assets/hbm/textures/blocks/taint_15.png deleted file mode 100644 index 9dd944165..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/taint_15.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/taint_2.png b/src/main/resources/assets/hbm/textures/blocks/taint_2.png deleted file mode 100644 index cd64d383f..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/taint_2.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/taint_3.png b/src/main/resources/assets/hbm/textures/blocks/taint_3.png deleted file mode 100644 index b76629017..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/taint_3.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/taint_4.png b/src/main/resources/assets/hbm/textures/blocks/taint_4.png deleted file mode 100644 index dd66e6245..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/taint_4.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/taint_5.png b/src/main/resources/assets/hbm/textures/blocks/taint_5.png deleted file mode 100644 index 90ba3f39c..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/taint_5.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/taint_6.png b/src/main/resources/assets/hbm/textures/blocks/taint_6.png deleted file mode 100644 index 2146fb19c..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/taint_6.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/taint_7.png b/src/main/resources/assets/hbm/textures/blocks/taint_7.png deleted file mode 100644 index 614bee225..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/taint_7.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/taint_8.png b/src/main/resources/assets/hbm/textures/blocks/taint_8.png deleted file mode 100644 index aba944663..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/taint_8.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/taint_9.png b/src/main/resources/assets/hbm/textures/blocks/taint_9.png deleted file mode 100644 index 5a4ed0e18..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/taint_9.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/taint_full.png b/src/main/resources/assets/hbm/textures/blocks/taint_full.png deleted file mode 100644 index fce2c72d0..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/taint_full.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/taint_low.png b/src/main/resources/assets/hbm/textures/blocks/taint_low.png deleted file mode 100644 index 48ee86242..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/taint_low.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/test_bb_bork.png b/src/main/resources/assets/hbm/textures/blocks/test_bb_bork.png deleted file mode 100644 index 411d7960f..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/test_bb_bork.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/test_bb_inf.png b/src/main/resources/assets/hbm/textures/blocks/test_bb_inf.png deleted file mode 100644 index 107de4238..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/test_bb_inf.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/test_bomb.png b/src/main/resources/assets/hbm/textures/blocks/test_bomb.png deleted file mode 100644 index f9b425a24..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/test_bomb.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/test_conductor.png b/src/main/resources/assets/hbm/textures/blocks/test_conductor.png deleted file mode 100644 index c1b14c708..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/test_conductor.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/test_container.png b/src/main/resources/assets/hbm/textures/blocks/test_container.png deleted file mode 100644 index 3d3f7d329..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/test_container.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/test_missile.png b/src/main/resources/assets/hbm/textures/blocks/test_missile.png deleted file mode 100644 index 51b5e7f31..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/test_missile.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/test_nuke.png b/src/main/resources/assets/hbm/textures/blocks/test_nuke.png deleted file mode 100644 index af8e35e49..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/test_nuke.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/test_ticker.png b/src/main/resources/assets/hbm/textures/blocks/test_ticker.png deleted file mode 100644 index 4f3c430f9..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/test_ticker.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/transission_hatch.png b/src/main/resources/assets/hbm/textures/blocks/transission_hatch.png deleted file mode 100644 index 23f07ef9c..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/transission_hatch.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/trapdoor_steel.png b/src/main/resources/assets/hbm/textures/blocks/trapdoor_steel.png new file mode 100644 index 000000000..23ed483c9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/trapdoor_steel.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/vine_phosphor.png b/src/main/resources/assets/hbm/textures/blocks/vine_phosphor.png new file mode 100644 index 000000000..16b22cfb1 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/vine_phosphor.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_ground.png b/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_ground.png new file mode 100644 index 000000000..999d56b6a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_ground.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_hang.png b/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_hang.png new file mode 100644 index 000000000..67184d660 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_hang.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_item.png b/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_item.png new file mode 100644 index 000000000..9d0010d38 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_item.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_item.png.mcmeta b/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_item.png.mcmeta new file mode 100644 index 000000000..a5c14ed33 --- /dev/null +++ b/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_item.png.mcmeta @@ -0,0 +1,16 @@ +{ + "animation": { + "interpolate": true, + "frametime": 8, + "frames": [ + 0, + 1, + 2, + 3, + 4, + 3, + 2, + 1 + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_spots.png b/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_spots.png new file mode 100644 index 000000000..bf8b9ba3a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_spots.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_spots.png.mcmeta b/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_spots.png.mcmeta new file mode 100644 index 000000000..a5c14ed33 --- /dev/null +++ b/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_spots.png.mcmeta @@ -0,0 +1,16 @@ +{ + "animation": { + "interpolate": true, + "frametime": 8, + "frames": [ + 0, + 1, + 2, + 3, + 4, + 3, + 2, + 1 + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_spots_hang.png b/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_spots_hang.png new file mode 100644 index 000000000..c8dd11beb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_spots_hang.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_spots_hang.png.mcmeta b/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_spots_hang.png.mcmeta new file mode 100644 index 000000000..a5c14ed33 --- /dev/null +++ b/src/main/resources/assets/hbm/textures/blocks/vine_phosphor_spots_hang.png.mcmeta @@ -0,0 +1,16 @@ +{ + "animation": { + "interpolate": true, + "frametime": 8, + "frames": [ + 0, + 1, + 2, + 3, + 4, + 3, + 2, + 1 + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/textures/blocks/wand_air.png b/src/main/resources/assets/hbm/textures/blocks/wand_air.png new file mode 100644 index 000000000..4e5efa1a4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/wand_air.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/wand_jigsaw.png b/src/main/resources/assets/hbm/textures/blocks/wand_jigsaw.png new file mode 100644 index 000000000..2e56150d8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/wand_jigsaw.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/wand_jigsaw_back.png b/src/main/resources/assets/hbm/textures/blocks/wand_jigsaw_back.png new file mode 100644 index 000000000..6f202718b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/wand_jigsaw_back.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/wand_jigsaw_side.png b/src/main/resources/assets/hbm/textures/blocks/wand_jigsaw_side.png new file mode 100644 index 000000000..dc9a78ecb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/wand_jigsaw_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/wand_jigsaw_top.png b/src/main/resources/assets/hbm/textures/blocks/wand_jigsaw_top.png new file mode 100644 index 000000000..2c47fc86b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/wand_jigsaw_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/wand_logic.png b/src/main/resources/assets/hbm/textures/blocks/wand_logic.png new file mode 100644 index 000000000..4561c8e4e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/wand_logic.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/wand_logic_top.png b/src/main/resources/assets/hbm/textures/blocks/wand_logic_top.png new file mode 100644 index 000000000..65e3106a9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/wand_logic_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/wand_loot.png b/src/main/resources/assets/hbm/textures/blocks/wand_loot.png new file mode 100644 index 000000000..1dc8a297f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/wand_loot.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/wand_loot_top.png b/src/main/resources/assets/hbm/textures/blocks/wand_loot_top.png new file mode 100644 index 000000000..5378ae691 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/wand_loot_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/waste_earth_side.png b/src/main/resources/assets/hbm/textures/blocks/waste_earth_side.png deleted file mode 100644 index eabad09e5..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/waste_earth_side.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/waste_earth_top.png b/src/main/resources/assets/hbm/textures/blocks/waste_earth_top.png deleted file mode 100644 index 625f45be7..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/waste_earth_top.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/wood_barrier.png b/src/main/resources/assets/hbm/textures/blocks/wood_barrier.png new file mode 100644 index 000000000..dafd527a0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/wood_barrier.png differ diff --git a/src/main/resources/assets/hbm/textures/entity/ModelGrenade.png b/src/main/resources/assets/hbm/textures/entity/ModelGrenade.png deleted file mode 100644 index 519dd733d..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ModelGrenade.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ModelGrenadeHE.png b/src/main/resources/assets/hbm/textures/entity/ModelGrenadeHE.png deleted file mode 100644 index 870b02d13..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ModelGrenadeHE.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ModelGrenadeIncendiary.png b/src/main/resources/assets/hbm/textures/entity/ModelGrenadeIncendiary.png deleted file mode 100644 index 3d175b379..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ModelGrenadeIncendiary.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ModelGrenadeSleek.png b/src/main/resources/assets/hbm/textures/entity/ModelGrenadeSleek.png deleted file mode 100644 index 581649526..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ModelGrenadeSleek.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ModelGrenadeToxic.png b/src/main/resources/assets/hbm/textures/entity/ModelGrenadeToxic.png deleted file mode 100644 index cd1064afc..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ModelGrenadeToxic.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ModelGrenadeTraining.png b/src/main/resources/assets/hbm/textures/entity/ModelGrenadeTraining.png deleted file mode 100644 index bac5fd09f..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ModelGrenadeTraining.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ModelRocket.png b/src/main/resources/assets/hbm/textures/entity/ModelRocket.png deleted file mode 100644 index 9ada99c32..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ModelRocket.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ModelRocketCanister.png b/src/main/resources/assets/hbm/textures/entity/ModelRocketCanister.png deleted file mode 100644 index 3b1507beb..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ModelRocketCanister.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ModelRocketEMP.png b/src/main/resources/assets/hbm/textures/entity/ModelRocketEMP.png deleted file mode 100644 index 5dcff98f2..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ModelRocketEMP.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ModelRocketGlare.png b/src/main/resources/assets/hbm/textures/entity/ModelRocketGlare.png deleted file mode 100644 index 0a3c2aa52..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ModelRocketGlare.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ModelRocketHE.png b/src/main/resources/assets/hbm/textures/entity/ModelRocketHE.png deleted file mode 100644 index 275146752..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ModelRocketHE.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ModelRocketIncendiary.png b/src/main/resources/assets/hbm/textures/entity/ModelRocketIncendiary.png deleted file mode 100644 index d85bb21cc..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ModelRocketIncendiary.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ModelRocketNuclear.png b/src/main/resources/assets/hbm/textures/entity/ModelRocketNuclear.png deleted file mode 100644 index 81bf7d0e5..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ModelRocketNuclear.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ModelRocketPhosphorus.png b/src/main/resources/assets/hbm/textures/entity/ModelRocketPhosphorus.png deleted file mode 100644 index 30a9c896d..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ModelRocketPhosphorus.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ModelRocketShrapnel.png b/src/main/resources/assets/hbm/textures/entity/ModelRocketShrapnel.png deleted file mode 100644 index 62fa9befd..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ModelRocketShrapnel.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ModelRocketSleek.png b/src/main/resources/assets/hbm/textures/entity/ModelRocketSleek.png deleted file mode 100644 index cd8b70153..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ModelRocketSleek.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/creeper_armor_taint.png b/src/main/resources/assets/hbm/textures/entity/creeper_armor_taint.png index fad613e60..b34023337 100644 Binary files a/src/main/resources/assets/hbm/textures/entity/creeper_armor_taint.png and b/src/main/resources/assets/hbm/textures/entity/creeper_armor_taint.png differ diff --git a/src/main/resources/assets/hbm/textures/entity/creeper_tainted.png b/src/main/resources/assets/hbm/textures/entity/creeper_tainted.png index cd41bc1bb..1daffe305 100644 Binary files a/src/main/resources/assets/hbm/textures/entity/creeper_tainted.png and b/src/main/resources/assets/hbm/textures/entity/creeper_tainted.png differ diff --git a/src/main/resources/assets/hbm/textures/entity/dummy.png b/src/main/resources/assets/hbm/textures/entity/dummy.png new file mode 100644 index 000000000..2bef2f04e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/entity/dummy.png differ diff --git a/src/main/resources/assets/hbm/textures/entity/siege_buff.png b/src/main/resources/assets/hbm/textures/entity/siege_buff.png deleted file mode 100644 index f95ba419a..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/siege_buff.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/siege_clay.png b/src/main/resources/assets/hbm/textures/entity/siege_clay.png deleted file mode 100644 index cf5ccb8ed..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/siege_clay.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/siege_desh.png b/src/main/resources/assets/hbm/textures/entity/siege_desh.png deleted file mode 100644 index 21e5cea37..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/siege_desh.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/siege_dnt.png b/src/main/resources/assets/hbm/textures/entity/siege_dnt.png deleted file mode 100644 index 3886788d5..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/siege_dnt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/siege_drill_buff.png b/src/main/resources/assets/hbm/textures/entity/siege_drill_buff.png deleted file mode 100644 index bf5c5145c..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/siege_drill_buff.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/siege_drill_clay.png b/src/main/resources/assets/hbm/textures/entity/siege_drill_clay.png deleted file mode 100644 index a62854104..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/siege_drill_clay.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/siege_drill_desh.png b/src/main/resources/assets/hbm/textures/entity/siege_drill_desh.png deleted file mode 100644 index 29386e3fb..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/siege_drill_desh.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/siege_drill_dnt.png b/src/main/resources/assets/hbm/textures/entity/siege_drill_dnt.png deleted file mode 100644 index 922fcf854..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/siege_drill_dnt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/siege_drill_gold.png b/src/main/resources/assets/hbm/textures/entity/siege_drill_gold.png deleted file mode 100644 index 767ae055b..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/siege_drill_gold.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/siege_drill_iron.png b/src/main/resources/assets/hbm/textures/entity/siege_drill_iron.png deleted file mode 100644 index 72ac3298e..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/siege_drill_iron.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/siege_drill_schrab.png b/src/main/resources/assets/hbm/textures/entity/siege_drill_schrab.png deleted file mode 100644 index 5bf4346b8..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/siege_drill_schrab.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/siege_drill_silver.png b/src/main/resources/assets/hbm/textures/entity/siege_drill_silver.png deleted file mode 100644 index 8584831ca..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/siege_drill_silver.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/siege_drill_stone.png b/src/main/resources/assets/hbm/textures/entity/siege_drill_stone.png deleted file mode 100644 index 4cd317e2d..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/siege_drill_stone.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/siege_gold.png b/src/main/resources/assets/hbm/textures/entity/siege_gold.png deleted file mode 100644 index 3a21166ce..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/siege_gold.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/siege_iron.png b/src/main/resources/assets/hbm/textures/entity/siege_iron.png deleted file mode 100644 index dfaa2333c..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/siege_iron.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/siege_schrab.png b/src/main/resources/assets/hbm/textures/entity/siege_schrab.png deleted file mode 100644 index f92e5e2b9..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/siege_schrab.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/siege_silver.png b/src/main/resources/assets/hbm/textures/entity/siege_silver.png deleted file mode 100644 index 1be7bb6fa..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/siege_silver.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/siege_stone.png b/src/main/resources/assets/hbm/textures/entity/siege_stone.png deleted file mode 100644 index eae23ffbb..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/siege_stone.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ufo_siege_buff.png b/src/main/resources/assets/hbm/textures/entity/ufo_siege_buff.png deleted file mode 100644 index f2d6b27cb..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ufo_siege_buff.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ufo_siege_clay.png b/src/main/resources/assets/hbm/textures/entity/ufo_siege_clay.png deleted file mode 100644 index f9736160b..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ufo_siege_clay.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ufo_siege_desh.png b/src/main/resources/assets/hbm/textures/entity/ufo_siege_desh.png deleted file mode 100644 index ae7851cec..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ufo_siege_desh.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ufo_siege_dnt.png b/src/main/resources/assets/hbm/textures/entity/ufo_siege_dnt.png deleted file mode 100644 index 5ddd978cb..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ufo_siege_dnt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ufo_siege_gold.png b/src/main/resources/assets/hbm/textures/entity/ufo_siege_gold.png deleted file mode 100644 index 39d9164de..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ufo_siege_gold.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ufo_siege_iron.png b/src/main/resources/assets/hbm/textures/entity/ufo_siege_iron.png deleted file mode 100644 index 52c1584b5..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ufo_siege_iron.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ufo_siege_schrab.png b/src/main/resources/assets/hbm/textures/entity/ufo_siege_schrab.png deleted file mode 100644 index 5fc11f60a..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ufo_siege_schrab.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ufo_siege_silver.png b/src/main/resources/assets/hbm/textures/entity/ufo_siege_silver.png deleted file mode 100644 index b35162465..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ufo_siege_silver.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/entity/ufo_siege_stone.png b/src/main/resources/assets/hbm/textures/entity/ufo_siege_stone.png deleted file mode 100644 index 0da005db9..000000000 Binary files a/src/main/resources/assets/hbm/textures/entity/ufo_siege_stone.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/GUICoal.png b/src/main/resources/assets/hbm/textures/gui/GUICoal.png deleted file mode 100644 index 64a2c1bff..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/GUICoal.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/air.png b/src/main/resources/assets/hbm/textures/gui/fluids/air.png new file mode 100644 index 000000000..e0297892e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/air.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/alumina.png b/src/main/resources/assets/hbm/textures/gui/fluids/alumina.png new file mode 100644 index 000000000..8a72bc22d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/alumina.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/bauxite_solution.png b/src/main/resources/assets/hbm/textures/gui/fluids/bauxite_solution.png new file mode 100644 index 000000000..e5746aafa Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/bauxite_solution.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/lead.png b/src/main/resources/assets/hbm/textures/gui/fluids/lead.png new file mode 100644 index 000000000..d6da14bdd Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/lead.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/lead_hot.png b/src/main/resources/assets/hbm/textures/gui/fluids/lead_hot.png new file mode 100644 index 000000000..5d93be21e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/lead_hot.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/lye.png b/src/main/resources/assets/hbm/textures/gui/fluids/lye.png new file mode 100644 index 000000000..cfe302618 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/lye.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/perfluoromethyl.png b/src/main/resources/assets/hbm/textures/gui/fluids/perfluoromethyl.png new file mode 100644 index 000000000..864ed637b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/perfluoromethyl.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/perfluoromethyl_cold.png b/src/main/resources/assets/hbm/textures/gui/fluids/perfluoromethyl_cold.png new file mode 100644 index 000000000..ebfca1137 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/perfluoromethyl_cold.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/perfluoromethyl_hot.png b/src/main/resources/assets/hbm/textures/gui/fluids/perfluoromethyl_hot.png new file mode 100644 index 000000000..8a489064d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/perfluoromethyl_hot.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/sodium_aluminate.png b/src/main/resources/assets/hbm/textures/gui/fluids/sodium_aluminate.png new file mode 100644 index 000000000..54bf77300 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/sodium_aluminate.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_ammo_bag.png b/src/main/resources/assets/hbm/textures/gui/gui_ammo_bag.png new file mode 100644 index 000000000..15327e5e0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/gui_ammo_bag.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_ams_base.png b/src/main/resources/assets/hbm/textures/gui/gui_ams_base.png deleted file mode 100644 index 6f94393f8..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_ams_base.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_ams_base_alt.png b/src/main/resources/assets/hbm/textures/gui/gui_ams_base_alt.png deleted file mode 100644 index b89077159..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_ams_base_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_ams_emitter.png b/src/main/resources/assets/hbm/textures/gui/gui_ams_emitter.png deleted file mode 100644 index e3d6a83b5..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_ams_emitter.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_ams_limiter.png b/src/main/resources/assets/hbm/textures/gui/gui_ams_limiter.png deleted file mode 100644 index 6cb4472ce..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_ams_limiter.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_bobmazon.png b/src/main/resources/assets/hbm/textures/gui/gui_bobmazon.png index 33890326a..e9fdfa2cc 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_bobmazon.png and b/src/main/resources/assets/hbm/textures/gui/gui_bobmazon.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_casing_bag.png b/src/main/resources/assets/hbm/textures/gui/gui_casing_bag.png new file mode 100644 index 000000000..ac4b582c2 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/gui_casing_bag.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_cmb_manufactory.png b/src/main/resources/assets/hbm/textures/gui/gui_cmb_manufactory.png deleted file mode 100644 index e23738da6..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_cmb_manufactory.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_cyclotron.png b/src/main/resources/assets/hbm/textures/gui/gui_cyclotron.png deleted file mode 100644 index 3f3bb46de..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_cyclotron.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_drill.png b/src/main/resources/assets/hbm/textures/gui/gui_drill.png deleted file mode 100644 index 16fb695ae..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_drill.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_fwatz_multiblock.png b/src/main/resources/assets/hbm/textures/gui/gui_fwatz_multiblock.png deleted file mode 100644 index 0dd24c77f..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_fwatz_multiblock.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_info.png b/src/main/resources/assets/hbm/textures/gui/gui_info.png deleted file mode 100644 index 587d44964..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_info.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_radiobox.png b/src/main/resources/assets/hbm/textures/gui/gui_radiobox.png deleted file mode 100644 index 430580e2e..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_radiobox.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_reactor_large_experimental.png b/src/main/resources/assets/hbm/textures/gui/gui_reactor_large_experimental.png deleted file mode 100644 index 6be614cb8..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_reactor_large_experimental.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_rtg.png b/src/main/resources/assets/hbm/textures/gui/gui_rtg.png index 308cd12a6..ce99dbca6 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_rtg.png and b/src/main/resources/assets/hbm/textures/gui/gui_rtg.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_selenium.png b/src/main/resources/assets/hbm/textures/gui/gui_selenium.png deleted file mode 100644 index 654594236..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_selenium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_shredder.png b/src/main/resources/assets/hbm/textures/gui/gui_shredder.png index 34e2e4ea5..19b774c76 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_shredder.png and b/src/main/resources/assets/hbm/textures/gui/gui_shredder.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_slab.png b/src/main/resources/assets/hbm/textures/gui/gui_slab.png new file mode 100644 index 000000000..02dab2c1c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/gui_slab.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_telelinker.png b/src/main/resources/assets/hbm/textures/gui/gui_telelinker.png deleted file mode 100644 index ba165d278..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_telelinker.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_toolbox.png b/src/main/resources/assets/hbm/textures/gui/gui_toolbox.png new file mode 100644 index 000000000..c73cc5b01 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/gui_toolbox.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_watz_multiblock.png b/src/main/resources/assets/hbm/textures/gui/gui_watz_multiblock.png deleted file mode 100644 index a89e83f6b..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_watz_multiblock.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_wiki.png b/src/main/resources/assets/hbm/textures/gui/gui_wiki.png new file mode 100644 index 000000000..25d913919 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/gui_wiki.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/guide_pedestal.png b/src/main/resources/assets/hbm/textures/gui/guide_pedestal.png new file mode 100644 index 000000000..d95794d34 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/guide_pedestal.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/machine/gui_oilburner_hp.png b/src/main/resources/assets/hbm/textures/gui/machine/gui_oilburner_hp.png new file mode 100644 index 000000000..e37ef58cc Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/machine/gui_oilburner_hp.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/machine/gui_rtty_controller.png b/src/main/resources/assets/hbm/textures/gui/machine/gui_rtty_controller.png index 65ab150c8..3b9b4d095 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/machine/gui_rtty_controller.png and b/src/main/resources/assets/hbm/textures/gui/machine/gui_rtty_controller.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/machine/gui_rtty_reader.png b/src/main/resources/assets/hbm/textures/gui/machine/gui_rtty_reader.png index bfc870f73..3bd7d9fad 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/machine/gui_rtty_reader.png and b/src/main/resources/assets/hbm/textures/gui/machine/gui_rtty_reader.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/machine/gui_weapon_modifier.png b/src/main/resources/assets/hbm/textures/gui/machine/gui_weapon_modifier.png new file mode 100644 index 000000000..ed654c869 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/machine/gui_weapon_modifier.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/nei/gui_nei_hadron.png b/src/main/resources/assets/hbm/textures/gui/nei/gui_nei_hadron.png deleted file mode 100644 index ec0b04bbd..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/nei/gui_nei_hadron.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/particleaccelerator/gui_detector.png b/src/main/resources/assets/hbm/textures/gui/particleaccelerator/gui_detector.png new file mode 100644 index 000000000..9b66746d1 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/particleaccelerator/gui_detector.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/particleaccelerator/gui_dipole.png b/src/main/resources/assets/hbm/textures/gui/particleaccelerator/gui_dipole.png new file mode 100644 index 000000000..06917dde0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/particleaccelerator/gui_dipole.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/particleaccelerator/gui_quadrupole.png b/src/main/resources/assets/hbm/textures/gui/particleaccelerator/gui_quadrupole.png new file mode 100644 index 000000000..7a8830263 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/particleaccelerator/gui_quadrupole.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/particleaccelerator/gui_rfc.png b/src/main/resources/assets/hbm/textures/gui/particleaccelerator/gui_rfc.png new file mode 100644 index 000000000..ac825a52f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/particleaccelerator/gui_rfc.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/particleaccelerator/gui_source.png b/src/main/resources/assets/hbm/textures/gui/particleaccelerator/gui_source.png new file mode 100644 index 000000000..8483b85d8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/particleaccelerator/gui_source.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_ammo_press.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_ammo_press.png new file mode 100644 index 000000000..cb3af2afc Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/processing/gui_ammo_press.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_assembler.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_assembler.png new file mode 100644 index 000000000..dc9f7034b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/processing/gui_assembler.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_chemical_factory.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_chemical_factory.png new file mode 100644 index 000000000..7e6aa8347 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/processing/gui_chemical_factory.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_chemplant.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_chemplant.png new file mode 100644 index 000000000..d58713d9c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/processing/gui_chemplant.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_crucible.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_crucible.png index 684157aa2..44dfb0be6 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/processing/gui_crucible.png and b/src/main/resources/assets/hbm/textures/gui/processing/gui_crucible.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_nuke_furnace.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_nuke_furnace.png deleted file mode 100644 index d689cf741..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/processing/gui_nuke_furnace.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_pyrooven.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_pyrooven.png new file mode 100644 index 000000000..bcefb15fb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/processing/gui_pyrooven.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_recipe_selector.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_recipe_selector.png new file mode 100644 index 000000000..f831ed682 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/processing/gui_recipe_selector.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_rotary_furnace.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_rotary_furnace.png new file mode 100644 index 000000000..54854a28d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/processing/gui_rotary_furnace.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_rotary_furnace_alt.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_rotary_furnace_alt.png new file mode 100644 index 000000000..d521b49e8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/processing/gui_rotary_furnace_alt.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_soldering_station.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_soldering_station.png index cb3081743..b99c7f982 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/processing/gui_soldering_station.png and b/src/main/resources/assets/hbm/textures/gui/processing/gui_soldering_station.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/puf6Tank.png b/src/main/resources/assets/hbm/textures/gui/puf6Tank.png deleted file mode 100644 index 07da76dac..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/puf6Tank.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/storage/gui_crane_inserter.png b/src/main/resources/assets/hbm/textures/gui/storage/gui_crane_inserter.png index 114a1561a..17e78f6bc 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/storage/gui_crane_inserter.png and b/src/main/resources/assets/hbm/textures/gui/storage/gui_crane_inserter.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/storage/gui_pneumatic_pipe.png b/src/main/resources/assets/hbm/textures/gui/storage/gui_pneumatic_pipe.png new file mode 100644 index 000000000..cd1920792 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/storage/gui_pneumatic_pipe.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/tool/gui_tool_ability.png b/src/main/resources/assets/hbm/textures/gui/tool/gui_tool_ability.png new file mode 100644 index 000000000..fc0a54e7f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/tool/gui_tool_ability.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/uf6Tank.png b/src/main/resources/assets/hbm/textures/gui/uf6Tank.png deleted file mode 100644 index 66371c4b3..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/uf6Tank.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/agar.png b/src/main/resources/assets/hbm/textures/items/agar.png new file mode 100644 index 000000000..8d83b359d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/agar.png differ diff --git a/src/main/resources/assets/hbm/textures/items/agar_base.png b/src/main/resources/assets/hbm/textures/items/agar_base.png new file mode 100644 index 000000000..74d5be9bf Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/agar_base.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo.png b/src/main/resources/assets/hbm/textures/items/ammo.png new file mode 100644 index 000000000..e9517e1f8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_12gauge.png b/src/main/resources/assets/hbm/textures/items/ammo_12gauge.png deleted file mode 100644 index ec00ddf21..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_12gauge.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_12gauge_du.png b/src/main/resources/assets/hbm/textures/items/ammo_12gauge_du.png deleted file mode 100644 index 21b1a15a3..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_12gauge_du.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_12gauge_incendiary.png b/src/main/resources/assets/hbm/textures/items/ammo_12gauge_incendiary.png deleted file mode 100644 index 0e43c8788..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_12gauge_incendiary.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_12gauge_marauder.png b/src/main/resources/assets/hbm/textures/items/ammo_12gauge_marauder.png deleted file mode 100644 index 4adaf3bb5..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_12gauge_marauder.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_12gauge_percussion.png b/src/main/resources/assets/hbm/textures/items/ammo_12gauge_percussion.png deleted file mode 100644 index 1b60046f7..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_12gauge_percussion.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_12gauge_shrapnel.png b/src/main/resources/assets/hbm/textures/items/ammo_12gauge_shrapnel.png deleted file mode 100644 index d81c85033..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_12gauge_shrapnel.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_12gauge_sleek.png b/src/main/resources/assets/hbm/textures/items/ammo_12gauge_sleek.png deleted file mode 100644 index 0426df546..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_12gauge_sleek.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_20gauge.png b/src/main/resources/assets/hbm/textures/items/ammo_20gauge.png deleted file mode 100644 index 8c7cbd38f..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_20gauge.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_20gauge_caustic.png b/src/main/resources/assets/hbm/textures/items/ammo_20gauge_caustic.png deleted file mode 100644 index 303d26d4c..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_20gauge_caustic.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_20gauge_explosive.png b/src/main/resources/assets/hbm/textures/items/ammo_20gauge_explosive.png deleted file mode 100644 index e1c80fe3d..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_20gauge_explosive.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_20gauge_flechette.png b/src/main/resources/assets/hbm/textures/items/ammo_20gauge_flechette.png deleted file mode 100644 index a03bdb7f0..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_20gauge_flechette.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_20gauge_incendiary.png b/src/main/resources/assets/hbm/textures/items/ammo_20gauge_incendiary.png deleted file mode 100644 index 51dd8acb1..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_20gauge_incendiary.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_20gauge_shock.png b/src/main/resources/assets/hbm/textures/items/ammo_20gauge_shock.png deleted file mode 100644 index e50f545b2..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_20gauge_shock.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_20gauge_shrapnel.png b/src/main/resources/assets/hbm/textures/items/ammo_20gauge_shrapnel.png deleted file mode 100644 index b243ecc5e..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_20gauge_shrapnel.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_20gauge_sleek.png b/src/main/resources/assets/hbm/textures/items/ammo_20gauge_sleek.png deleted file mode 100644 index 759bf67c9..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_20gauge_sleek.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_20gauge_slug.png b/src/main/resources/assets/hbm/textures/items/ammo_20gauge_slug.png deleted file mode 100644 index 12a7f47e3..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_20gauge_slug.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_20gauge_wither.png b/src/main/resources/assets/hbm/textures/items/ammo_20gauge_wither.png deleted file mode 100644 index cc717431a..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_20gauge_wither.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_22lr.png b/src/main/resources/assets/hbm/textures/items/ammo_22lr.png deleted file mode 100644 index e2c70d0b2..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_22lr.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_22lr_ap.png b/src/main/resources/assets/hbm/textures/items/ammo_22lr_ap.png deleted file mode 100644 index a919ea35d..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_22lr_ap.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_22lr_chlorophyte.png b/src/main/resources/assets/hbm/textures/items/ammo_22lr_chlorophyte.png deleted file mode 100644 index 9001c86cc..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_22lr_chlorophyte.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_357_desh.png b/src/main/resources/assets/hbm/textures/items/ammo_357_desh.png deleted file mode 100644 index 899238a09..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_357_desh.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_357_ender.png b/src/main/resources/assets/hbm/textures/items/ammo_357_ender.png deleted file mode 100644 index 4ab1d41bb..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_357_ender.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_44.png b/src/main/resources/assets/hbm/textures/items/ammo_44.png deleted file mode 100644 index 1d741d30a..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_44.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_44_ap.png b/src/main/resources/assets/hbm/textures/items/ammo_44_ap.png deleted file mode 100644 index 477af4363..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_44_ap.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_44_bj.png b/src/main/resources/assets/hbm/textures/items/ammo_44_bj.png deleted file mode 100644 index 75b7b8f8c..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_44_bj.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_44_chlorophyte.png b/src/main/resources/assets/hbm/textures/items/ammo_44_chlorophyte.png deleted file mode 100644 index 47d8b75ec..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_44_chlorophyte.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_44_du.png b/src/main/resources/assets/hbm/textures/items/ammo_44_du.png deleted file mode 100644 index f1fa18816..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_44_du.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_44_phosphorus.png b/src/main/resources/assets/hbm/textures/items/ammo_44_phosphorus.png deleted file mode 100644 index eb8bd54a9..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_44_phosphorus.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_44_pip.png b/src/main/resources/assets/hbm/textures/items/ammo_44_pip.png deleted file mode 100644 index b0b384f74..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_44_pip.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_44_rocket.png b/src/main/resources/assets/hbm/textures/items/ammo_44_rocket.png deleted file mode 100644 index 418125b2e..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_44_rocket.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_44_silver.png b/src/main/resources/assets/hbm/textures/items/ammo_44_silver.png deleted file mode 100644 index 72650df56..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_44_silver.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_44_star.png b/src/main/resources/assets/hbm/textures/items/ammo_44_star.png deleted file mode 100644 index 626767ec4..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_44_star.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_45_ap.png b/src/main/resources/assets/hbm/textures/items/ammo_45_ap.png deleted file mode 100644 index 43cf97448..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_45_ap.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_45_du.png b/src/main/resources/assets/hbm/textures/items/ammo_45_du.png deleted file mode 100644 index f46671ea3..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_45_du.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_4gauge.png b/src/main/resources/assets/hbm/textures/items/ammo_4gauge.png deleted file mode 100644 index 2e8f067d2..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_4gauge.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_balefire.png b/src/main/resources/assets/hbm/textures/items/ammo_4gauge_balefire.png deleted file mode 100644 index 039f681cc..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_balefire.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_canister.png b/src/main/resources/assets/hbm/textures/items/ammo_4gauge_canister.png deleted file mode 100644 index 58b184c3e..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_canister.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_claw.png b/src/main/resources/assets/hbm/textures/items/ammo_4gauge_claw.png deleted file mode 100644 index 0352ebe13..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_claw.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_explosive.png b/src/main/resources/assets/hbm/textures/items/ammo_4gauge_explosive.png deleted file mode 100644 index 6f00d2af9..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_explosive.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_flechette.png b/src/main/resources/assets/hbm/textures/items/ammo_4gauge_flechette.png deleted file mode 100644 index f24e7e0b7..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_flechette.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_flechette_phosphorus.png b/src/main/resources/assets/hbm/textures/items/ammo_4gauge_flechette_phosphorus.png deleted file mode 100644 index 457d799d9..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_flechette_phosphorus.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_kampf.png b/src/main/resources/assets/hbm/textures/items/ammo_4gauge_kampf.png deleted file mode 100644 index 0226ead91..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_kampf.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_semtex.png b/src/main/resources/assets/hbm/textures/items/ammo_4gauge_semtex.png deleted file mode 100644 index 16c9c87a4..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_semtex.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_shrapnel.png b/src/main/resources/assets/hbm/textures/items/ammo_4gauge_shrapnel.png deleted file mode 100644 index f64b4271d..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_shrapnel.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_sleek.png b/src/main/resources/assets/hbm/textures/items/ammo_4gauge_sleek.png deleted file mode 100644 index 24f58d646..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_sleek.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_slug.png b/src/main/resources/assets/hbm/textures/items/ammo_4gauge_slug.png deleted file mode 100644 index 77523c498..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_slug.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_titan.png b/src/main/resources/assets/hbm/textures/items/ammo_4gauge_titan.png deleted file mode 100644 index 5547e1939..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_titan.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_vampire.png b/src/main/resources/assets/hbm/textures/items/ammo_4gauge_vampire.png deleted file mode 100644 index 3ed3b56e7..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_vampire.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_void.png b/src/main/resources/assets/hbm/textures/items/ammo_4gauge_void.png deleted file mode 100644 index f10417b2e..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_4gauge_void.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_50ae.png b/src/main/resources/assets/hbm/textures/items/ammo_50ae.png deleted file mode 100644 index 0a9b47c8b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_50ae.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_50ae_ap.png b/src/main/resources/assets/hbm/textures/items/ammo_50ae_ap.png deleted file mode 100644 index 5d370b105..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_50ae_ap.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_50ae_chlorophyte.png b/src/main/resources/assets/hbm/textures/items/ammo_50ae_chlorophyte.png deleted file mode 100644 index 508c838f3..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_50ae_chlorophyte.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_50ae_du.png b/src/main/resources/assets/hbm/textures/items/ammo_50ae_du.png deleted file mode 100644 index ffaacbc63..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_50ae_du.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_50ae_star.png b/src/main/resources/assets/hbm/textures/items/ammo_50ae_star.png deleted file mode 100644 index 0553cb5ef..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_50ae_star.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_50bmg.png b/src/main/resources/assets/hbm/textures/items/ammo_50bmg.png deleted file mode 100644 index c0d7f783b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_50bmg.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_ap.png b/src/main/resources/assets/hbm/textures/items/ammo_50bmg_ap.png deleted file mode 100644 index d0e070a96..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_ap.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_chlorophyte.png b/src/main/resources/assets/hbm/textures/items/ammo_50bmg_chlorophyte.png deleted file mode 100644 index 6bfa27058..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_chlorophyte.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_du.png b/src/main/resources/assets/hbm/textures/items/ammo_50bmg_du.png deleted file mode 100644 index 38ccdfffb..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_du.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_explosive.png b/src/main/resources/assets/hbm/textures/items/ammo_50bmg_explosive.png deleted file mode 100644 index 1dc79f9e0..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_explosive.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_flechette.png b/src/main/resources/assets/hbm/textures/items/ammo_50bmg_flechette.png deleted file mode 100644 index a9de16507..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_flechette.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_flechette_am.png b/src/main/resources/assets/hbm/textures/items/ammo_50bmg_flechette_am.png deleted file mode 100644 index 300ed5765..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_flechette_am.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_flechette_po.png b/src/main/resources/assets/hbm/textures/items/ammo_50bmg_flechette_po.png deleted file mode 100644 index 97e1d8b6a..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_flechette_po.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_incendiary.png b/src/main/resources/assets/hbm/textures/items/ammo_50bmg_incendiary.png deleted file mode 100644 index 240346f90..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_incendiary.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_phosphorus.png b/src/main/resources/assets/hbm/textures/items/ammo_50bmg_phosphorus.png deleted file mode 100644 index ca7a3d690..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_phosphorus.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_sleek.png b/src/main/resources/assets/hbm/textures/items/ammo_50bmg_sleek.png deleted file mode 100644 index 71714637b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_sleek.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_star.png b/src/main/resources/assets/hbm/textures/items/ammo_50bmg_star.png deleted file mode 100644 index 6f3248455..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_50bmg_star.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_556.png b/src/main/resources/assets/hbm/textures/items/ammo_556.png deleted file mode 100644 index 6ced441aa..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_556.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_556_ap.png b/src/main/resources/assets/hbm/textures/items/ammo_556_ap.png deleted file mode 100644 index 58c6e9436..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_556_ap.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_556_chlorophyte.png b/src/main/resources/assets/hbm/textures/items/ammo_556_chlorophyte.png deleted file mode 100644 index 0a847444d..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_556_chlorophyte.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_556_du.png b/src/main/resources/assets/hbm/textures/items/ammo_556_du.png deleted file mode 100644 index b7f0f4da9..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_556_du.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_556_flechette.png b/src/main/resources/assets/hbm/textures/items/ammo_556_flechette.png deleted file mode 100644 index cbda4bb7c..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_556_flechette.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_556_flechette_chlorophyte.png b/src/main/resources/assets/hbm/textures/items/ammo_556_flechette_chlorophyte.png deleted file mode 100644 index be9ab1a8c..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_556_flechette_chlorophyte.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_556_flechette_du.png b/src/main/resources/assets/hbm/textures/items/ammo_556_flechette_du.png deleted file mode 100644 index bfefb1649..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_556_flechette_du.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_556_flechette_incendiary.png b/src/main/resources/assets/hbm/textures/items/ammo_556_flechette_incendiary.png deleted file mode 100644 index 2e1115e79..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_556_flechette_incendiary.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_556_flechette_phosphorus.png b/src/main/resources/assets/hbm/textures/items/ammo_556_flechette_phosphorus.png deleted file mode 100644 index 5330f17ca..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_556_flechette_phosphorus.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_556_flechette_sleek.png b/src/main/resources/assets/hbm/textures/items/ammo_556_flechette_sleek.png deleted file mode 100644 index 6ff734314..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_556_flechette_sleek.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_556_k.png b/src/main/resources/assets/hbm/textures/items/ammo_556_k.png deleted file mode 100644 index 86bf85767..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_556_k.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_556_phosphorus.png b/src/main/resources/assets/hbm/textures/items/ammo_556_phosphorus.png deleted file mode 100644 index 7637beb63..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_556_phosphorus.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_556_sleek.png b/src/main/resources/assets/hbm/textures/items/ammo_556_sleek.png deleted file mode 100644 index 4c43c33fe..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_556_sleek.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_556_star.png b/src/main/resources/assets/hbm/textures/items/ammo_556_star.png deleted file mode 100644 index 14d73a757..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_556_star.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_556_tracer.png b/src/main/resources/assets/hbm/textures/items/ammo_556_tracer.png deleted file mode 100644 index 7610456d6..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_556_tracer.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_5mm.png b/src/main/resources/assets/hbm/textures/items/ammo_5mm.png deleted file mode 100644 index a8f597739..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_5mm.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_5mm_alt.png b/src/main/resources/assets/hbm/textures/items/ammo_5mm_alt.png deleted file mode 100644 index 3a511466b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_5mm_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_5mm_chlorophyte.png b/src/main/resources/assets/hbm/textures/items/ammo_5mm_chlorophyte.png deleted file mode 100644 index 4c6d8c99a..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_5mm_chlorophyte.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_5mm_du.png b/src/main/resources/assets/hbm/textures/items/ammo_5mm_du.png deleted file mode 100644 index e508b69e0..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_5mm_du.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_5mm_explosive.png b/src/main/resources/assets/hbm/textures/items/ammo_5mm_explosive.png deleted file mode 100644 index 065481ff2..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_5mm_explosive.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_5mm_star.png b/src/main/resources/assets/hbm/textures/items/ammo_5mm_star.png deleted file mode 100644 index f270f4bb3..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_5mm_star.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_75bolt.png b/src/main/resources/assets/hbm/textures/items/ammo_75bolt.png deleted file mode 100644 index fca556d72..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_75bolt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_75bolt_he.png b/src/main/resources/assets/hbm/textures/items/ammo_75bolt_he.png deleted file mode 100644 index ed72697e5..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_75bolt_he.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_75bolt_incendiary.png b/src/main/resources/assets/hbm/textures/items/ammo_75bolt_incendiary.png deleted file mode 100644 index 768f2817a..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_75bolt_incendiary.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_762.png b/src/main/resources/assets/hbm/textures/items/ammo_762.png deleted file mode 100644 index e1b2e9726..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_762.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_762_ap.png b/src/main/resources/assets/hbm/textures/items/ammo_762_ap.png deleted file mode 100644 index 0b55a7515..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_762_ap.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_762_du.png b/src/main/resources/assets/hbm/textures/items/ammo_762_du.png deleted file mode 100644 index 3443e8b11..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_762_du.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_762_k.png b/src/main/resources/assets/hbm/textures/items/ammo_762_k.png deleted file mode 100644 index c1206a564..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_762_k.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_762_phosphorus.png b/src/main/resources/assets/hbm/textures/items/ammo_762_phosphorus.png deleted file mode 100644 index 6db355757..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_762_phosphorus.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_762_tracer.png b/src/main/resources/assets/hbm/textures/items/ammo_762_tracer.png deleted file mode 100644 index 818aa8c8c..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_762_tracer.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_9mm.png b/src/main/resources/assets/hbm/textures/items/ammo_9mm.png deleted file mode 100644 index 60950815d..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_9mm.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_9mm_ap.png b/src/main/resources/assets/hbm/textures/items/ammo_9mm_ap.png deleted file mode 100644 index 17f2f4df2..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_9mm_ap.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_9mm_chlorophyte.png b/src/main/resources/assets/hbm/textures/items/ammo_9mm_chlorophyte.png deleted file mode 100644 index 333ef997c..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_9mm_chlorophyte.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_9mm_du.png b/src/main/resources/assets/hbm/textures/items/ammo_9mm_du.png deleted file mode 100644 index c388b044e..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_9mm_du.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_9mm_rocket.png b/src/main/resources/assets/hbm/textures/items/ammo_9mm_rocket.png deleted file mode 100644 index ad908fbe9..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_9mm_rocket.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_bag.png b/src/main/resources/assets/hbm/textures/items/ammo_bag.png new file mode 100644 index 000000000..548646c58 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_bag.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_bag_infinite.png b/src/main/resources/assets/hbm/textures/items/ammo_bag_infinite.png new file mode 100644 index 000000000..b446c5288 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_bag_infinite.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_balefire.png b/src/main/resources/assets/hbm/textures/items/ammo_balefire.png deleted file mode 100644 index 729506f48..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_balefire.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_balefire_high.png b/src/main/resources/assets/hbm/textures/items/ammo_balefire_high.png deleted file mode 100644 index 527fcdf3c..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_balefire_high.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_cell.png b/src/main/resources/assets/hbm/textures/items/ammo_cell.png deleted file mode 100644 index b276895b2..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_cell.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_cell_explosive.png b/src/main/resources/assets/hbm/textures/items/ammo_cell_explosive.png deleted file mode 100644 index 3c0c06b78..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_cell_explosive.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_cell_incendiary.png b/src/main/resources/assets/hbm/textures/items/ammo_cell_incendiary.png deleted file mode 100644 index 231be55d4..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_cell_incendiary.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_dart.png b/src/main/resources/assets/hbm/textures/items/ammo_dart.png deleted file mode 100644 index 928dc9221..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_dart.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_dart_nerf.png b/src/main/resources/assets/hbm/textures/items/ammo_dart_nerf.png deleted file mode 100644 index fd73075b2..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_dart_nerf.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_dart_nuclear.png b/src/main/resources/assets/hbm/textures/items/ammo_dart_nuclear.png deleted file mode 100644 index a57398711..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_dart_nuclear.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_folly.png b/src/main/resources/assets/hbm/textures/items/ammo_folly.png deleted file mode 100644 index aa7e1cee2..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_folly.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_folly_du.png b/src/main/resources/assets/hbm/textures/items/ammo_folly_du.png deleted file mode 100644 index ca37c31ee..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_folly_du.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_folly_nuclear.png b/src/main/resources/assets/hbm/textures/items/ammo_folly_nuclear.png deleted file mode 100644 index 6c18843d8..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_folly_nuclear.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_fuel.png b/src/main/resources/assets/hbm/textures/items/ammo_fuel.png deleted file mode 100644 index d4bf581a4..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_fuel.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_fuel_gas.png b/src/main/resources/assets/hbm/textures/items/ammo_fuel_gas.png deleted file mode 100644 index 6c11f2185..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_fuel_gas.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_fuel_napalm.png b/src/main/resources/assets/hbm/textures/items/ammo_fuel_napalm.png deleted file mode 100644 index 44b359f1e..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_fuel_napalm.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_fuel_phosphorus.png b/src/main/resources/assets/hbm/textures/items/ammo_fuel_phosphorus.png deleted file mode 100644 index bb94f482a..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_fuel_phosphorus.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_fuel_vaporizer.png b/src/main/resources/assets/hbm/textures/items/ammo_fuel_vaporizer.png deleted file mode 100644 index 837d2dd5f..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_fuel_vaporizer.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_grenade.png b/src/main/resources/assets/hbm/textures/items/ammo_grenade.png deleted file mode 100644 index fef56db60..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_grenade.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_grenade_FG.png b/src/main/resources/assets/hbm/textures/items/ammo_grenade_FG.png deleted file mode 100644 index 12db05159..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_grenade_FG.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_grenade_concussion.png b/src/main/resources/assets/hbm/textures/items/ammo_grenade_concussion.png deleted file mode 100644 index 1751e2c62..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_grenade_concussion.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_grenade_finned.png b/src/main/resources/assets/hbm/textures/items/ammo_grenade_finned.png deleted file mode 100644 index 25a48819d..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_grenade_finned.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_grenade_he.png b/src/main/resources/assets/hbm/textures/items/ammo_grenade_he.png deleted file mode 100644 index 6392c9fbd..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_grenade_he.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_grenade_incendiary.png b/src/main/resources/assets/hbm/textures/items/ammo_grenade_incendiary.png deleted file mode 100644 index 97d7bfa08..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_grenade_incendiary.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_grenade_nuclear.png b/src/main/resources/assets/hbm/textures/items/ammo_grenade_nuclear.png deleted file mode 100644 index 4e165c970..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_grenade_nuclear.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_grenade_phosphorus.png b/src/main/resources/assets/hbm/textures/items/ammo_grenade_phosphorus.png deleted file mode 100644 index 2881d2f4c..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_grenade_phosphorus.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_grenade_sleek.png b/src/main/resources/assets/hbm/textures/items/ammo_grenade_sleek.png deleted file mode 100644 index 5873c51d9..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_grenade_sleek.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_grenade_toxic.png b/src/main/resources/assets/hbm/textures/items/ammo_grenade_toxic.png deleted file mode 100644 index 28e62d022..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_grenade_toxic.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_grenade_tracer.png b/src/main/resources/assets/hbm/textures/items/ammo_grenade_tracer.png deleted file mode 100644 index 265f2cda9..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_grenade_tracer.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_luna.png b/src/main/resources/assets/hbm/textures/items/ammo_luna.png deleted file mode 100644 index 7b826c3eb..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_luna.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_luna_explosive.png b/src/main/resources/assets/hbm/textures/items/ammo_luna_explosive.png deleted file mode 100644 index 822eb02b1..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_luna_explosive.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_luna_incendiary.png b/src/main/resources/assets/hbm/textures/items/ammo_luna_incendiary.png deleted file mode 100644 index 3d15da550..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_luna_incendiary.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_mirv.png b/src/main/resources/assets/hbm/textures/items/ammo_mirv.png deleted file mode 100644 index 1caf3b6c9..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_mirv.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_mirv_high.png b/src/main/resources/assets/hbm/textures/items/ammo_mirv_high.png deleted file mode 100644 index 8266ae872..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_mirv_high.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_mirv_low.png b/src/main/resources/assets/hbm/textures/items/ammo_mirv_low.png deleted file mode 100644 index 8feece87e..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_mirv_low.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_mirv_safe.png b/src/main/resources/assets/hbm/textures/items/ammo_mirv_safe.png deleted file mode 100644 index a90ebb3be..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_mirv_safe.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_mirv_special.png b/src/main/resources/assets/hbm/textures/items/ammo_mirv_special.png deleted file mode 100644 index bdadb290b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_mirv_special.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_nuke.png b/src/main/resources/assets/hbm/textures/items/ammo_nuke.png deleted file mode 100644 index 212010e52..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_nuke.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_nuke_barrel.png b/src/main/resources/assets/hbm/textures/items/ammo_nuke_barrel.png deleted file mode 100644 index 68e1e79fa..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_nuke_barrel.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_nuke_high.png b/src/main/resources/assets/hbm/textures/items/ammo_nuke_high.png deleted file mode 100644 index 592de0bec..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_nuke_high.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_nuke_hive.png b/src/main/resources/assets/hbm/textures/items/ammo_nuke_hive.png deleted file mode 100644 index 788454adb..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_nuke_hive.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_nuke_low.png b/src/main/resources/assets/hbm/textures/items/ammo_nuke_low.png deleted file mode 100644 index d19c8310c..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_nuke_low.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_nuke_pumpkin.png b/src/main/resources/assets/hbm/textures/items/ammo_nuke_pumpkin.png deleted file mode 100644 index c110f2a81..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_nuke_pumpkin.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_nuke_safe.png b/src/main/resources/assets/hbm/textures/items/ammo_nuke_safe.png deleted file mode 100644 index e20a170ed..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_nuke_safe.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_nuke_tots.png b/src/main/resources/assets/hbm/textures/items/ammo_nuke_tots.png deleted file mode 100644 index 5ba9c2c74..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_nuke_tots.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_rocket.png b/src/main/resources/assets/hbm/textures/items/ammo_rocket.png deleted file mode 100644 index 7fec64353..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_rocket.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_rocket_balefire.png b/src/main/resources/assets/hbm/textures/items/ammo_rocket_balefire.png deleted file mode 100644 index a5a42216a..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_rocket_balefire.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_rocket_canister.png b/src/main/resources/assets/hbm/textures/items/ammo_rocket_canister.png deleted file mode 100644 index 9ecc19e40..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_rocket_canister.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_rocket_digamma.png b/src/main/resources/assets/hbm/textures/items/ammo_rocket_digamma.png deleted file mode 100644 index 785b7dd16..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_rocket_digamma.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_rocket_emp.png b/src/main/resources/assets/hbm/textures/items/ammo_rocket_emp.png deleted file mode 100644 index 57f7b245e..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_rocket_emp.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_rocket_glare.png b/src/main/resources/assets/hbm/textures/items/ammo_rocket_glare.png deleted file mode 100644 index 2da9af3c1..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_rocket_glare.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_rocket_he.png b/src/main/resources/assets/hbm/textures/items/ammo_rocket_he.png deleted file mode 100644 index be341237d..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_rocket_he.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_rocket_incendiary.png b/src/main/resources/assets/hbm/textures/items/ammo_rocket_incendiary.png deleted file mode 100644 index 06c6ad789..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_rocket_incendiary.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_rocket_nuclear.png b/src/main/resources/assets/hbm/textures/items/ammo_rocket_nuclear.png deleted file mode 100644 index 7a8112095..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_rocket_nuclear.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_rocket_phosphorus.png b/src/main/resources/assets/hbm/textures/items/ammo_rocket_phosphorus.png deleted file mode 100644 index 5798976d4..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_rocket_phosphorus.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_rocket_rpc.png b/src/main/resources/assets/hbm/textures/items/ammo_rocket_rpc.png deleted file mode 100644 index 0b16c9758..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_rocket_rpc.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_rocket_shrapnel.png b/src/main/resources/assets/hbm/textures/items/ammo_rocket_shrapnel.png deleted file mode 100644 index 7f9cd9a15..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_rocket_shrapnel.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_rocket_sleek.png b/src/main/resources/assets/hbm/textures/items/ammo_rocket_sleek.png deleted file mode 100644 index 8eff0d768..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_rocket_sleek.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_rocket_toxic.png b/src/main/resources/assets/hbm/textures/items/ammo_rocket_toxic.png deleted file mode 100644 index 1cad57c5b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_rocket_toxic.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_secret.bmg50_black.png b/src/main/resources/assets/hbm/textures/items/ammo_secret.bmg50_black.png new file mode 100644 index 000000000..f76090251 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_secret.bmg50_black.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_secret.bmg50_equestrian.png b/src/main/resources/assets/hbm/textures/items/ammo_secret.bmg50_equestrian.png new file mode 100644 index 000000000..246b16aa1 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_secret.bmg50_equestrian.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_secret.folly_nuke.png b/src/main/resources/assets/hbm/textures/items/ammo_secret.folly_nuke.png new file mode 100644 index 000000000..29a262ca2 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_secret.folly_nuke.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_secret.folly_sm.png b/src/main/resources/assets/hbm/textures/items/ammo_secret.folly_sm.png new file mode 100644 index 000000000..30efa4d03 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_secret.folly_sm.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_secret.folly_sm_alt.png b/src/main/resources/assets/hbm/textures/items/ammo_secret.folly_sm_alt.png new file mode 100644 index 000000000..0c15f038a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_secret.folly_sm_alt.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_secret.g12_equestrian.png b/src/main/resources/assets/hbm/textures/items/ammo_secret.g12_equestrian.png new file mode 100644 index 000000000..3d060b001 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_secret.g12_equestrian.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_secret.m44_equestrian.png b/src/main/resources/assets/hbm/textures/items/ammo_secret.m44_equestrian.png new file mode 100644 index 000000000..44cb11c96 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_secret.m44_equestrian.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_secret.p35_800.png b/src/main/resources/assets/hbm/textures/items/ammo_secret.p35_800.png new file mode 100644 index 000000000..af9c08959 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_secret.p35_800.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_secret.p35_800_bl.png b/src/main/resources/assets/hbm/textures/items/ammo_secret.p35_800_bl.png new file mode 100644 index 000000000..8fdc55b86 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_secret.p35_800_bl.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_secret.p50_1600.png b/src/main/resources/assets/hbm/textures/items/ammo_secret.p50_1600.png new file mode 100644 index 000000000..d3942256f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_secret.p50_1600.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.b75.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.b75.png new file mode 100644 index 000000000..f81589f2a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.b75.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.b75_exp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.b75_exp.png new file mode 100644 index 000000000..2c7e24b4f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.b75_exp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.b75_inc.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.b75_inc.png new file mode 100644 index 000000000..b01ed4d9d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.b75_inc.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_ap.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_ap.png new file mode 100644 index 000000000..0892a1817 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_ap.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_du.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_du.png new file mode 100644 index 000000000..11994e39e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_du.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_fmj.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_fmj.png new file mode 100644 index 000000000..bbe08b3fa Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_fmj.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_he.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_he.png new file mode 100644 index 000000000..46affec4d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_he.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_jhp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_jhp.png new file mode 100644 index 000000000..1692e288b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_jhp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_sm.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_sm.png new file mode 100644 index 000000000..61ac0ca85 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_sm.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_sp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_sp.png new file mode 100644 index 000000000..5a61f083b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.bmg50_sp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.capacitor.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.capacitor.png new file mode 100644 index 000000000..15184342e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.capacitor.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.capacitor_blacklightning.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.capacitor_blacklightning.png new file mode 100644 index 000000000..00b4e57ae Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.capacitor_blacklightning.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.capacitor_ir.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.capacitor_ir.png new file mode 100644 index 000000000..0b398e264 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.capacitor_ir.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.capacitor_overcharge.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.capacitor_overcharge.png new file mode 100644 index 000000000..378f2cd82 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.capacitor_overcharge.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.coil_ferrouranium.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.coil_ferrouranium.png new file mode 100644 index 000000000..a8bb6196c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.coil_ferrouranium.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.coil_tungsten.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.coil_tungsten.png new file mode 100644 index 000000000..5e6692fb6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.coil_tungsten.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.ct_hook.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.ct_hook.png new file mode 100644 index 000000000..de59811d7 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.ct_hook.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.ct_mortar.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.ct_mortar.png new file mode 100644 index 000000000..148c63268 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.ct_mortar.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.ct_mortar_charge.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.ct_mortar_charge.png new file mode 100644 index 000000000..373bad456 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.ct_mortar_charge.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.ct_rocket.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.ct_rocket.png new file mode 100644 index 000000000..a68e433f6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.ct_rocket.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.flame_balefire.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.flame_balefire.png new file mode 100644 index 000000000..e52210024 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.flame_balefire.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.flame_diesel.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.flame_diesel.png new file mode 100644 index 000000000..67738713a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.flame_diesel.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.flame_gas.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.flame_gas.png new file mode 100644 index 000000000..22624ac48 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.flame_gas.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.flame_napalm.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.flame_napalm.png new file mode 100644 index 000000000..a8eea9e23 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.flame_napalm.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g10.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g10.png new file mode 100644 index 000000000..19577ed75 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g10.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g10_du.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g10_du.png new file mode 100644 index 000000000..fba9a8631 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g10_du.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g10_explosive.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g10_explosive.png new file mode 100644 index 000000000..b74aab007 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g10_explosive.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g10_shrapnel.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g10_shrapnel.png new file mode 100644 index 000000000..b95bf7d02 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g10_shrapnel.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g10_slug.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g10_slug.png new file mode 100644 index 000000000..efc9655b5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g10_slug.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g12.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12.png new file mode 100644 index 000000000..73659c905 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_anthrax.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_anthrax.png new file mode 100644 index 000000000..28848a839 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_anthrax.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_bp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_bp.png new file mode 100644 index 000000000..e6cf463dd Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_bp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_bp_magnum.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_bp_magnum.png new file mode 100644 index 000000000..2e3b56e7e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_bp_magnum.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_bp_slug.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_bp_slug.png new file mode 100644 index 000000000..98643063f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_bp_slug.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_explosive.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_explosive.png new file mode 100644 index 000000000..bc382afcd Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_explosive.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_explosive_pellet.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_explosive_pellet.png new file mode 100644 index 000000000..c746a13dd Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_explosive_pellet.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_flechette.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_flechette.png new file mode 100644 index 000000000..60b41a6cb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_flechette.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_magnum.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_magnum.png new file mode 100644 index 000000000..5d04ed39e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_magnum.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_phosphorus.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_phosphorus.png new file mode 100644 index 000000000..de7316252 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_phosphorus.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_slug.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_slug.png new file mode 100644 index 000000000..e76016992 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_slug.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g26_flare.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g26_flare.png new file mode 100644 index 000000000..2aa6a543f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g26_flare.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g26_flare_supply.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g26_flare_supply.png new file mode 100644 index 000000000..8ff538264 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g26_flare_supply.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g26_flare_weapon.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g26_flare_weapon.png new file mode 100644 index 000000000..88d62ac2a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g26_flare_weapon.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g40_demo.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g40_demo.png new file mode 100644 index 000000000..72fb13e92 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g40_demo.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g40_he.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g40_he.png new file mode 100644 index 000000000..42a048f47 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g40_he.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g40_heat.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g40_heat.png new file mode 100644 index 000000000..298891567 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g40_heat.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g40_inc.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g40_inc.png new file mode 100644 index 000000000..d16f73b87 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g40_inc.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g40_phosphorus.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g40_phosphorus.png new file mode 100644 index 000000000..5ca95889b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.g40_phosphorus.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.m357_ap.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.m357_ap.png new file mode 100644 index 000000000..a9dbde5aa Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.m357_ap.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.m357_bp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.m357_bp.png new file mode 100644 index 000000000..fe66c7c00 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.m357_bp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.m357_express.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.m357_express.png new file mode 100644 index 000000000..cad8fbc2d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.m357_express.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.m357_fmj.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.m357_fmj.png new file mode 100644 index 000000000..7025adb2a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.m357_fmj.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.m357_jhp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.m357_jhp.png new file mode 100644 index 000000000..6f13cbeb7 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.m357_jhp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.m357_sp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.m357_sp.png new file mode 100644 index 000000000..0aecdede2 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.m357_sp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_ap.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_ap.png new file mode 100644 index 000000000..dc528cbf0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_ap.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_bp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_bp.png new file mode 100644 index 000000000..30fee7b56 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_bp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_express.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_express.png new file mode 100644 index 000000000..e83865576 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_express.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_fmj.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_fmj.png new file mode 100644 index 000000000..c12398df4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_fmj.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_jhp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_jhp.png new file mode 100644 index 000000000..9fb718610 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_jhp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_sp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_sp.png new file mode 100644 index 000000000..9f055e5d1 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.m44_sp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.nuke_balefire.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.nuke_balefire.png new file mode 100644 index 000000000..1f4f36490 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.nuke_balefire.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.nuke_demo.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.nuke_demo.png new file mode 100644 index 000000000..196bfa5c8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.nuke_demo.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.nuke_high.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.nuke_high.png new file mode 100644 index 000000000..8d7930c61 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.nuke_high.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.nuke_hive.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.nuke_hive.png new file mode 100644 index 000000000..fd36c5d17 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.nuke_hive.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.nuke_standard.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.nuke_standard.png new file mode 100644 index 000000000..72231bdf8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.nuke_standard.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.nuke_tots.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.nuke_tots.png new file mode 100644 index 000000000..7f113f8e5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.nuke_tots.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.p22_ap.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.p22_ap.png new file mode 100644 index 000000000..2f00653e3 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.p22_ap.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.p22_fmj.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.p22_fmj.png new file mode 100644 index 000000000..cfe452c8d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.p22_fmj.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.p22_jhp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.p22_jhp.png new file mode 100644 index 000000000..12bee077c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.p22_jhp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.p22_sp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.p22_sp.png new file mode 100644 index 000000000..84b3d03a4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.p22_sp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.p45_ap.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.p45_ap.png new file mode 100644 index 000000000..9e91d888a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.p45_ap.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.p45_du.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.p45_du.png new file mode 100644 index 000000000..158da29dc Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.p45_du.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.p45_fmj.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.p45_fmj.png new file mode 100644 index 000000000..c7b43df79 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.p45_fmj.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.p45_jhp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.p45_jhp.png new file mode 100644 index 000000000..687469728 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.p45_jhp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.p45_sp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.p45_sp.png new file mode 100644 index 000000000..8f48f4090 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.p45_sp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.p9_ap.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.p9_ap.png new file mode 100644 index 000000000..b736f2d6d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.p9_ap.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.p9_fmj.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.p9_fmj.png new file mode 100644 index 000000000..dd6d98de3 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.p9_fmj.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.p9_jhp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.p9_jhp.png new file mode 100644 index 000000000..0c8b0d981 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.p9_jhp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.p9_sp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.p9_sp.png new file mode 100644 index 000000000..d3a773451 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.p9_sp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.r556_ap.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.r556_ap.png new file mode 100644 index 000000000..8f36b353c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.r556_ap.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.r556_fmj.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.r556_fmj.png new file mode 100644 index 000000000..e7f744078 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.r556_fmj.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.r556_jhp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.r556_jhp.png new file mode 100644 index 000000000..29bea50d5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.r556_jhp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.r556_sp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.r556_sp.png new file mode 100644 index 000000000..669baaf5a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.r556_sp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.r762_ap.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.r762_ap.png new file mode 100644 index 000000000..7fc1069d6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.r762_ap.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.r762_du.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.r762_du.png new file mode 100644 index 000000000..69e21c070 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.r762_du.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.r762_fmj.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.r762_fmj.png new file mode 100644 index 000000000..e5b3f474d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.r762_fmj.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.r762_he.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.r762_he.png new file mode 100644 index 000000000..ac174ea4d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.r762_he.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.r762_jhp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.r762_jhp.png new file mode 100644 index 000000000..fb7683576 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.r762_jhp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.r762_sp.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.r762_sp.png new file mode 100644 index 000000000..e876a5060 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.r762_sp.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.rocket_demo.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.rocket_demo.png new file mode 100644 index 000000000..a7d3428eb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.rocket_demo.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.rocket_he.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.rocket_he.png new file mode 100644 index 000000000..63bc3fff8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.rocket_he.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.rocket_heat.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.rocket_heat.png new file mode 100644 index 000000000..91374948a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.rocket_heat.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.rocket_inc.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.rocket_inc.png new file mode 100644 index 000000000..b0633b4d9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.rocket_inc.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.rocket_phosphorus.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.rocket_phosphorus.png new file mode 100644 index 000000000..9d6a8b794 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.rocket_phosphorus.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.stone.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.stone.png new file mode 100644 index 000000000..cf4a12ddf Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.stone.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.stone_ap.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.stone_ap.png new file mode 100644 index 000000000..24e72420f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.stone_ap.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.stone_iron.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.stone_iron.png new file mode 100644 index 000000000..8beb92f44 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.stone_iron.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.stone_shot.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.stone_shot.png new file mode 100644 index 000000000..b783a6da0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.stone_shot.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.tau_uranium.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.tau_uranium.png new file mode 100644 index 000000000..55ea16c6e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_standard.tau_uranium.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_stinger_rocket.png b/src/main/resources/assets/hbm/textures/items/ammo_stinger_rocket.png deleted file mode 100644 index 132e23ffe..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_stinger_rocket.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_stinger_rocket_bones.png b/src/main/resources/assets/hbm/textures/items/ammo_stinger_rocket_bones.png deleted file mode 100644 index 307af4045..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_stinger_rocket_bones.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_stinger_rocket_he.png b/src/main/resources/assets/hbm/textures/items/ammo_stinger_rocket_he.png deleted file mode 100644 index 4165c8f4b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_stinger_rocket_he.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_stinger_rocket_incendiary.png b/src/main/resources/assets/hbm/textures/items/ammo_stinger_rocket_incendiary.png deleted file mode 100644 index 67d55d217..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_stinger_rocket_incendiary.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_stinger_rocket_nuclear.png b/src/main/resources/assets/hbm/textures/items/ammo_stinger_rocket_nuclear.png deleted file mode 100644 index c7752fd92..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ammo_stinger_rocket_nuclear.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/armor_battery.png b/src/main/resources/assets/hbm/textures/items/armor_battery.png index 86a0cb9a1..7ed6e9b1d 100644 Binary files a/src/main/resources/assets/hbm/textures/items/armor_battery.png and b/src/main/resources/assets/hbm/textures/items/armor_battery.png differ diff --git a/src/main/resources/assets/hbm/textures/items/armor_battery_mk2.png b/src/main/resources/assets/hbm/textures/items/armor_battery_mk2.png index 699a5b4e2..098dfc64d 100644 Binary files a/src/main/resources/assets/hbm/textures/items/armor_battery_mk2.png and b/src/main/resources/assets/hbm/textures/items/armor_battery_mk2.png differ diff --git a/src/main/resources/assets/hbm/textures/items/armor_battery_mk3.png b/src/main/resources/assets/hbm/textures/items/armor_battery_mk3.png index 96cc82109..91c23c265 100644 Binary files a/src/main/resources/assets/hbm/textures/items/armor_battery_mk3.png and b/src/main/resources/assets/hbm/textures/items/armor_battery_mk3.png differ diff --git a/src/main/resources/assets/hbm/textures/items/assembly_45.png b/src/main/resources/assets/hbm/textures/items/assembly_45.png deleted file mode 100644 index d64ceb33b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/assembly_45.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/assembly_556.png b/src/main/resources/assets/hbm/textures/items/assembly_556.png deleted file mode 100644 index d54b686cd..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/assembly_556.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/assembly_762.png b/src/main/resources/assets/hbm/textures/items/assembly_762.png deleted file mode 100644 index 775fe97c0..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/assembly_762.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/assembly_actionexpress.png b/src/main/resources/assets/hbm/textures/items/assembly_actionexpress.png deleted file mode 100644 index 2bdec8691..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/assembly_actionexpress.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/assembly_calamity.png b/src/main/resources/assets/hbm/textures/items/assembly_calamity.png deleted file mode 100644 index a79498196..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/assembly_calamity.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/assembly_desh.png b/src/main/resources/assets/hbm/textures/items/assembly_desh.png deleted file mode 100644 index 669416e06..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/assembly_desh.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/assembly_gold.png b/src/main/resources/assets/hbm/textures/items/assembly_gold.png deleted file mode 100644 index 4b7f8cc00..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/assembly_gold.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/assembly_iron.png b/src/main/resources/assets/hbm/textures/items/assembly_iron.png deleted file mode 100644 index 70c4983c9..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/assembly_iron.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/assembly_lacunae.png b/src/main/resources/assets/hbm/textures/items/assembly_lacunae.png deleted file mode 100644 index 7797ca9f1..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/assembly_lacunae.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/assembly_lead.png b/src/main/resources/assets/hbm/textures/items/assembly_lead.png deleted file mode 100644 index f31459e53..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/assembly_lead.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/assembly_luna.png b/src/main/resources/assets/hbm/textures/items/assembly_luna.png deleted file mode 100644 index d0935642e..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/assembly_luna.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/assembly_nightmare.png b/src/main/resources/assets/hbm/textures/items/assembly_nightmare.png deleted file mode 100644 index 0dc3faedd..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/assembly_nightmare.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/assembly_nopip.png b/src/main/resources/assets/hbm/textures/items/assembly_nopip.png deleted file mode 100644 index 8345a3758..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/assembly_nopip.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/assembly_pip.png b/src/main/resources/assets/hbm/textures/items/assembly_pip.png deleted file mode 100644 index 18f2e48ce..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/assembly_pip.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/assembly_schrabidium.png b/src/main/resources/assets/hbm/textures/items/assembly_schrabidium.png deleted file mode 100644 index 9c052fc10..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/assembly_schrabidium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/assembly_smg.png b/src/main/resources/assets/hbm/textures/items/assembly_smg.png deleted file mode 100644 index 47406609c..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/assembly_smg.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/assembly_steel.png b/src/main/resources/assets/hbm/textures/items/assembly_steel.png deleted file mode 100644 index e603a98ba..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/assembly_steel.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/assembly_template_alt.png b/src/main/resources/assets/hbm/textures/items/assembly_template_alt.png deleted file mode 100644 index 2537c2fc2..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/assembly_template_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/assembly_uzi.png b/src/main/resources/assets/hbm/textures/items/assembly_uzi.png deleted file mode 100644 index b490a0fac..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/assembly_uzi.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/b_smoke1.png b/src/main/resources/assets/hbm/textures/items/b_smoke1.png deleted file mode 100644 index cb231250e..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/b_smoke1.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/b_smoke2.png b/src/main/resources/assets/hbm/textures/items/b_smoke2.png deleted file mode 100644 index 261a94755..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/b_smoke2.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/b_smoke3.png b/src/main/resources/assets/hbm/textures/items/b_smoke3.png deleted file mode 100644 index d44c3e03f..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/b_smoke3.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/b_smoke4.png b/src/main/resources/assets/hbm/textures/items/b_smoke4.png deleted file mode 100644 index 2d9c8dc3c..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/b_smoke4.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/b_smoke5.png b/src/main/resources/assets/hbm/textures/items/b_smoke5.png deleted file mode 100644 index 18973a461..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/b_smoke5.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/b_smoke6.png b/src/main/resources/assets/hbm/textures/items/b_smoke6.png deleted file mode 100644 index d0b9ff88b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/b_smoke6.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/b_smoke7.png b/src/main/resources/assets/hbm/textures/items/b_smoke7.png deleted file mode 100644 index 5637b1118..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/b_smoke7.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/b_smoke8.png b/src/main/resources/assets/hbm/textures/items/b_smoke8.png deleted file mode 100644 index caa2ddf3f..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/b_smoke8.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/billet_u233.png b/src/main/resources/assets/hbm/textures/items/billet_u233.png index 4f204047c..c8781268d 100644 Binary files a/src/main/resources/assets/hbm/textures/items/billet_u233.png and b/src/main/resources/assets/hbm/textures/items/billet_u233.png differ diff --git a/src/main/resources/assets/hbm/textures/items/billet_yharonite.png b/src/main/resources/assets/hbm/textures/items/billet_yharonite.png index 27f0cfb0f..8778d6f03 100644 Binary files a/src/main/resources/assets/hbm/textures/items/billet_yharonite.png and b/src/main/resources/assets/hbm/textures/items/billet_yharonite.png differ diff --git a/src/main/resources/assets/hbm/textures/items/biomass_alt.png b/src/main/resources/assets/hbm/textures/items/biomass_alt.png deleted file mode 100755 index 3e0eee5eb..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/biomass_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/biomass_compressed.png b/src/main/resources/assets/hbm/textures/items/biomass_compressed.png index 2beb95ecb..f206fa55c 100644 Binary files a/src/main/resources/assets/hbm/textures/items/biomass_compressed.png and b/src/main/resources/assets/hbm/textures/items/biomass_compressed.png differ diff --git a/src/main/resources/assets/hbm/textures/items/bobmazon.png b/src/main/resources/assets/hbm/textures/items/bobmazon.png index 21f69a46e..fb5f3e384 100644 Binary files a/src/main/resources/assets/hbm/textures/items/bobmazon.png and b/src/main/resources/assets/hbm/textures/items/bobmazon.png differ diff --git a/src/main/resources/assets/hbm/textures/items/bobmazon_machines.png b/src/main/resources/assets/hbm/textures/items/bobmazon_machines.png deleted file mode 100644 index 21f69a46e..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/bobmazon_machines.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/bobmazon_materials.png b/src/main/resources/assets/hbm/textures/items/bobmazon_materials.png deleted file mode 100644 index a69e048fe..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/bobmazon_materials.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/bobmazon_tools.png b/src/main/resources/assets/hbm/textures/items/bobmazon_tools.png deleted file mode 100644 index 681bd2b15..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/bobmazon_tools.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/bobmazon_weapons.png b/src/main/resources/assets/hbm/textures/items/bobmazon_weapons.png deleted file mode 100644 index f83187769..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/bobmazon_weapons.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/canteen_fab.png b/src/main/resources/assets/hbm/textures/items/canteen_fab.png deleted file mode 100644 index 8ba9c5e66..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/canteen_fab.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/casing.buckshot.png b/src/main/resources/assets/hbm/textures/items/casing.buckshot.png new file mode 100644 index 000000000..b894a48fb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/casing.buckshot.png differ diff --git a/src/main/resources/assets/hbm/textures/items/casing.buckshot_advanced.png b/src/main/resources/assets/hbm/textures/items/casing.buckshot_advanced.png new file mode 100644 index 000000000..d50a478b2 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/casing.buckshot_advanced.png differ diff --git a/src/main/resources/assets/hbm/textures/items/casing.large.png b/src/main/resources/assets/hbm/textures/items/casing.large.png new file mode 100644 index 000000000..5c220d1b9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/casing.large.png differ diff --git a/src/main/resources/assets/hbm/textures/items/casing.large_steel.png b/src/main/resources/assets/hbm/textures/items/casing.large_steel.png new file mode 100644 index 000000000..afd72532d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/casing.large_steel.png differ diff --git a/src/main/resources/assets/hbm/textures/items/casing.shotshell.png b/src/main/resources/assets/hbm/textures/items/casing.shotshell.png new file mode 100644 index 000000000..f6b55e841 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/casing.shotshell.png differ diff --git a/src/main/resources/assets/hbm/textures/items/casing.small.png b/src/main/resources/assets/hbm/textures/items/casing.small.png new file mode 100644 index 000000000..87e9269eb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/casing.small.png differ diff --git a/src/main/resources/assets/hbm/textures/items/casing.small_steel.png b/src/main/resources/assets/hbm/textures/items/casing.small_steel.png new file mode 100644 index 000000000..741e1d23a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/casing.small_steel.png differ diff --git a/src/main/resources/assets/hbm/textures/items/casing_bag.png b/src/main/resources/assets/hbm/textures/items/casing_bag.png new file mode 100644 index 000000000..d7f680ecc Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/casing_bag.png differ diff --git a/src/main/resources/assets/hbm/textures/items/cell_empty_alt.png b/src/main/resources/assets/hbm/textures/items/cell_empty_alt.png deleted file mode 100644 index 40a6374a7..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/cell_empty_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_RUSTY_DECO_STEEL.png b/src/main/resources/assets/hbm/textures/items/chem_icon_RUSTY_DECO_STEEL.png new file mode 100644 index 000000000..cb791dade Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/chem_icon_RUSTY_DECO_STEEL.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_SATURN.png b/src/main/resources/assets/hbm/textures/items/chem_icon_SATURN.png index 06149dfa9..af0895d30 100644 Binary files a/src/main/resources/assets/hbm/textures/items/chem_icon_SATURN.png and b/src/main/resources/assets/hbm/textures/items/chem_icon_SATURN.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chunk_ore.cryolite.png b/src/main/resources/assets/hbm/textures/items/chunk_ore.cryolite.png new file mode 100644 index 000000000..0684f64b0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/chunk_ore.cryolite.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chunk_ore.malachite.png b/src/main/resources/assets/hbm/textures/items/chunk_ore.malachite.png new file mode 100644 index 000000000..d63905cc6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/chunk_ore.malachite.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chunk_ore.moonstone.png b/src/main/resources/assets/hbm/textures/items/chunk_ore.moonstone.png new file mode 100644 index 000000000..8f84820c9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/chunk_ore.moonstone.png differ diff --git a/src/main/resources/assets/hbm/textures/items/clay_tablet.png b/src/main/resources/assets/hbm/textures/items/clay_tablet.png new file mode 100644 index 000000000..640d51e22 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/clay_tablet.png differ diff --git a/src/main/resources/assets/hbm/textures/items/coil_copper_alt.png b/src/main/resources/assets/hbm/textures/items/coil_copper_alt.png new file mode 100644 index 000000000..544a44f77 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/coil_copper_alt.png differ diff --git a/src/main/resources/assets/hbm/textures/items/color_pallete.png b/src/main/resources/assets/hbm/textures/items/color_pallete.png deleted file mode 100644 index b2eb5e22f..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/color_pallete.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/drill_titanium.png b/src/main/resources/assets/hbm/textures/items/drill_titanium.png index 487013d12..9d4dcdaf0 100644 Binary files a/src/main/resources/assets/hbm/textures/items/drill_titanium.png and b/src/main/resources/assets/hbm/textures/items/drill_titanium.png differ diff --git a/src/main/resources/assets/hbm/textures/items/drillbit_hss.png b/src/main/resources/assets/hbm/textures/items/drillbit_hss.png index f3a0892b8..8d4cc6460 100644 Binary files a/src/main/resources/assets/hbm/textures/items/drillbit_hss.png and b/src/main/resources/assets/hbm/textures/items/drillbit_hss.png differ diff --git a/src/main/resources/assets/hbm/textures/items/drillbit_hss_diamond.png b/src/main/resources/assets/hbm/textures/items/drillbit_hss_diamond.png index cb3a1a72b..c5fbd9989 100644 Binary files a/src/main/resources/assets/hbm/textures/items/drillbit_hss_diamond.png and b/src/main/resources/assets/hbm/textures/items/drillbit_hss_diamond.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ducttape.png b/src/main/resources/assets/hbm/textures/items/ducttape.png index facce7f8e..dca05429a 100644 Binary files a/src/main/resources/assets/hbm/textures/items/ducttape.png and b/src/main/resources/assets/hbm/textures/items/ducttape.png differ diff --git a/src/main/resources/assets/hbm/textures/items/elec_chainsaw_anim.png b/src/main/resources/assets/hbm/textures/items/elec_chainsaw_anim.png index 742fdfd91..7e36f6476 100644 Binary files a/src/main/resources/assets/hbm/textures/items/elec_chainsaw_anim.png and b/src/main/resources/assets/hbm/textures/items/elec_chainsaw_anim.png differ diff --git a/src/main/resources/assets/hbm/textures/items/elec_drill_anim.png b/src/main/resources/assets/hbm/textures/items/elec_drill_anim.png index 06ce62a8a..1c4472590 100644 Binary files a/src/main/resources/assets/hbm/textures/items/elec_drill_anim.png and b/src/main/resources/assets/hbm/textures/items/elec_drill_anim.png differ diff --git a/src/main/resources/assets/hbm/textures/items/elec_shovel_anim.png b/src/main/resources/assets/hbm/textures/items/elec_shovel_anim.png index 3b9871005..ffdc69086 100644 Binary files a/src/main/resources/assets/hbm/textures/items/elec_shovel_anim.png and b/src/main/resources/assets/hbm/textures/items/elec_shovel_anim.png differ diff --git a/src/main/resources/assets/hbm/textures/items/elec_sword_anim.png b/src/main/resources/assets/hbm/textures/items/elec_sword_anim.png index 5709a374c..effd9213e 100644 Binary files a/src/main/resources/assets/hbm/textures/items/elec_sword_anim.png and b/src/main/resources/assets/hbm/textures/items/elec_sword_anim.png differ diff --git a/src/main/resources/assets/hbm/textures/items/fabsols_vodka.png b/src/main/resources/assets/hbm/textures/items/fabsols_vodka.png deleted file mode 100644 index 133abcb1c..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/fabsols_vodka.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/folly_bullet.png b/src/main/resources/assets/hbm/textures/items/folly_bullet.png deleted file mode 100644 index 10d877115..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/folly_bullet.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/folly_bullet_du.png b/src/main/resources/assets/hbm/textures/items/folly_bullet_du.png deleted file mode 100644 index 1b0213a5d..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/folly_bullet_du.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/folly_bullet_nuclear.png b/src/main/resources/assets/hbm/textures/items/folly_bullet_nuclear.png deleted file mode 100644 index 93e75604d..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/folly_bullet_nuclear.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/folly_shell.png b/src/main/resources/assets/hbm/textures/items/folly_shell.png deleted file mode 100644 index 4f07e46a1..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/folly_shell.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/fragment_base.png b/src/main/resources/assets/hbm/textures/items/fragment_base.png new file mode 100644 index 000000000..84424d3c6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/fragment_base.png differ diff --git a/src/main/resources/assets/hbm/textures/items/gas1.png b/src/main/resources/assets/hbm/textures/items/gas1.png deleted file mode 100644 index 9a18426b1..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gas1.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gas2.png b/src/main/resources/assets/hbm/textures/items/gas2.png deleted file mode 100644 index d54ab3371..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gas2.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gas3.png b/src/main/resources/assets/hbm/textures/items/gas3.png deleted file mode 100644 index f1c4e9995..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gas3.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gas4.png b/src/main/resources/assets/hbm/textures/items/gas4.png deleted file mode 100644 index 333eddb59..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gas4.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gas5.png b/src/main/resources/assets/hbm/textures/items/gas5.png deleted file mode 100644 index f328cff0e..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gas5.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gas6.png b/src/main/resources/assets/hbm/textures/items/gas6.png deleted file mode 100644 index 765c31ce7..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gas6.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gas7.png b/src/main/resources/assets/hbm/textures/items/gas7.png deleted file mode 100644 index ca279b5d9..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gas7.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gas8.png b/src/main/resources/assets/hbm/textures/items/gas8.png deleted file mode 100644 index 90a905ed0..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gas8.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gasflame1.png b/src/main/resources/assets/hbm/textures/items/gasflame1.png deleted file mode 100644 index 9a18426b1..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gasflame1.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gasflame2.png b/src/main/resources/assets/hbm/textures/items/gasflame2.png deleted file mode 100644 index 948ef16d6..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gasflame2.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gasflame3.png b/src/main/resources/assets/hbm/textures/items/gasflame3.png deleted file mode 100644 index ad68225f2..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gasflame3.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gasflame4.png b/src/main/resources/assets/hbm/textures/items/gasflame4.png deleted file mode 100644 index ae577e789..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gasflame4.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gasflame5.png b/src/main/resources/assets/hbm/textures/items/gasflame5.png deleted file mode 100644 index fe588f8dc..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gasflame5.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gasflame6.png b/src/main/resources/assets/hbm/textures/items/gasflame6.png deleted file mode 100644 index 7f663eeae..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gasflame6.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gasflame7.png b/src/main/resources/assets/hbm/textures/items/gasflame7.png deleted file mode 100644 index 3e011759b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gasflame7.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gasflame8.png b/src/main/resources/assets/hbm/textures/items/gasflame8.png deleted file mode 100644 index 143ea1d1d..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gasflame8.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gem_erisite_test.png b/src/main/resources/assets/hbm/textures/items/gem_erisite_test.png new file mode 100644 index 000000000..8f4a0983a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/gem_erisite_test.png differ diff --git a/src/main/resources/assets/hbm/textures/items/glass_polarized.png b/src/main/resources/assets/hbm/textures/items/glass_polarized.png new file mode 100644 index 000000000..8dc015656 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/glass_polarized.png differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_ar15.png b/src/main/resources/assets/hbm/textures/items/gun_ar15.png deleted file mode 100644 index 032404fcc..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_ar15.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_avenger.png b/src/main/resources/assets/hbm/textures/items/gun_avenger.png deleted file mode 100644 index 004f943ed..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_avenger.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_b93.png b/src/main/resources/assets/hbm/textures/items/gun_b93.png deleted file mode 100644 index 0f6855a44..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_b93.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_bf.png b/src/main/resources/assets/hbm/textures/items/gun_bf.png deleted file mode 100644 index 67bb9a89f..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_bf.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_bf_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_bf_ammo.png deleted file mode 100644 index a7e2968c4..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_bf_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_bio_revolver.png b/src/main/resources/assets/hbm/textures/items/gun_bio_revolver.png deleted file mode 100644 index ed11e32c0..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_bio_revolver.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_bolt_action.png b/src/main/resources/assets/hbm/textures/items/gun_bolt_action.png deleted file mode 100644 index a5e4409af..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_bolt_action.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_bolt_action_green.png b/src/main/resources/assets/hbm/textures/items/gun_bolt_action_green.png deleted file mode 100644 index 652e0dc9a..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_bolt_action_green.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_bolt_action_saturnite.png b/src/main/resources/assets/hbm/textures/items/gun_bolt_action_saturnite.png deleted file mode 100644 index 6c8479461..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_bolt_action_saturnite.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_calamity.png b/src/main/resources/assets/hbm/textures/items/gun_calamity.png deleted file mode 100644 index a5ec308bc..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_calamity.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_calamity_dual.png b/src/main/resources/assets/hbm/textures/items/gun_calamity_dual.png deleted file mode 100644 index 3f6d18f42..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_calamity_dual.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_coilgun.png b/src/main/resources/assets/hbm/textures/items/gun_coilgun.png deleted file mode 100644 index 5c130d109..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_coilgun.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_cryolator.png b/src/main/resources/assets/hbm/textures/items/gun_cryolator.png deleted file mode 100644 index 2bb956205..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_cryolator.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_cryolator_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_cryolator_ammo.png deleted file mode 100644 index 11a1af457..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_cryolator_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_deagle.png b/src/main/resources/assets/hbm/textures/items/gun_deagle.png deleted file mode 100644 index 93ea0154a..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_deagle.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_defabricator.png b/src/main/resources/assets/hbm/textures/items/gun_defabricator.png deleted file mode 100644 index e4b21e0b6..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_defabricator.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_defabricator_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_defabricator_ammo.png deleted file mode 100644 index 8b4ad03e3..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_defabricator_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_emp.png b/src/main/resources/assets/hbm/textures/items/gun_emp.png deleted file mode 100644 index b4be7d1f7..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_emp.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_emp_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_emp_ammo.png deleted file mode 100644 index 15ca8e10f..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_emp_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_euthanasia.png b/src/main/resources/assets/hbm/textures/items/gun_euthanasia.png deleted file mode 100644 index 7d9cc51ef..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_euthanasia.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_euthanasia_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_euthanasia_ammo.png deleted file mode 100644 index 7a26309eb..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_euthanasia_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_fatman.png b/src/main/resources/assets/hbm/textures/items/gun_fatman.png deleted file mode 100644 index 07bade5d1..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_fatman.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_flamer.png b/src/main/resources/assets/hbm/textures/items/gun_flamer.png deleted file mode 100644 index 6cf5d9530..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_flamer.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_folly.png b/src/main/resources/assets/hbm/textures/items/gun_folly.png deleted file mode 100644 index a62c97a96..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_folly.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_hk69.png b/src/main/resources/assets/hbm/textures/items/gun_hk69.png deleted file mode 100644 index a7dabb154..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_hk69.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_hp.png b/src/main/resources/assets/hbm/textures/items/gun_hp.png deleted file mode 100644 index 9c65ba2e2..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_hp.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_hp_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_hp_ammo.png deleted file mode 100644 index 4c7f3acf5..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_hp_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_immolator.png b/src/main/resources/assets/hbm/textures/items/gun_immolator.png deleted file mode 100644 index 26e05d4d6..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_immolator.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_immolator_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_immolator_ammo.png deleted file mode 100644 index 33069873c..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_immolator_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_jack.png b/src/main/resources/assets/hbm/textures/items/gun_jack.png deleted file mode 100644 index 622c17c48..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_jack.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_jack_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_jack_ammo.png deleted file mode 100644 index 1a472ef44..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_jack_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_karl.png b/src/main/resources/assets/hbm/textures/items/gun_karl.png deleted file mode 100644 index ff1dba93d..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_karl.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_lacunae.png b/src/main/resources/assets/hbm/textures/items/gun_lacunae.png deleted file mode 100644 index 56b58d5be..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_lacunae.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_lever_action.png b/src/main/resources/assets/hbm/textures/items/gun_lever_action.png deleted file mode 100644 index 21ea9298a..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_lever_action.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_lever_action_dark.png b/src/main/resources/assets/hbm/textures/items/gun_lever_action_dark.png deleted file mode 100644 index d07aca793..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_lever_action_dark.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_lever_action_sonata.png b/src/main/resources/assets/hbm/textures/items/gun_lever_action_sonata.png deleted file mode 100644 index a6ae3f94b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_lever_action_sonata.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_minigun.png b/src/main/resources/assets/hbm/textures/items/gun_minigun.png deleted file mode 100644 index f4db3f240..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_minigun.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_mirv.png b/src/main/resources/assets/hbm/textures/items/gun_mirv.png deleted file mode 100644 index 7c03eff97..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_mirv.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_moist_nugget.png b/src/main/resources/assets/hbm/textures/items/gun_moist_nugget.png deleted file mode 100644 index ae84c07f1..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_moist_nugget.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_mp40.png b/src/main/resources/assets/hbm/textures/items/gun_mp40.png deleted file mode 100644 index 779a68502..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_mp40.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_mymy.png b/src/main/resources/assets/hbm/textures/items/gun_mymy.png deleted file mode 100644 index a255633ba..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_mymy.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_osipr.png b/src/main/resources/assets/hbm/textures/items/gun_osipr.png deleted file mode 100644 index f45a4069d..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_osipr.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_osipr_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_osipr_ammo.png deleted file mode 100644 index 24e644f44..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_osipr_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_osipr_ammo2.png b/src/main/resources/assets/hbm/textures/items/gun_osipr_ammo2.png deleted file mode 100644 index 313abf556..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_osipr_ammo2.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_panzerschreck.png b/src/main/resources/assets/hbm/textures/items/gun_panzerschreck.png deleted file mode 100644 index d9c5fc51d..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_panzerschreck.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_pm.png b/src/main/resources/assets/hbm/textures/items/gun_pm.png deleted file mode 100644 index a32ee6a14..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_pm.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_pm_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_pm_ammo.png deleted file mode 100644 index 9309fa68f..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_pm_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_quadro.png b/src/main/resources/assets/hbm/textures/items/gun_quadro.png deleted file mode 100644 index 1e7f41b68..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_quadro.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver.png b/src/main/resources/assets/hbm/textures/items/gun_revolver.png deleted file mode 100644 index f7d550751..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_ammo.png deleted file mode 100644 index 77b64a54e..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_blackjack.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_blackjack.png deleted file mode 100644 index a3508b1a5..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_blackjack.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_cursed.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_cursed.png deleted file mode 100644 index f6012329b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_cursed.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_cursed_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_cursed_ammo.png deleted file mode 100644 index d55664661..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_cursed_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_gold.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_gold.png deleted file mode 100644 index 0e6008a26..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_gold.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_gold_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_gold_ammo.png deleted file mode 100644 index fe6b25154..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_gold_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_inverted.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_inverted.png deleted file mode 100644 index 1c9925700..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_inverted.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_iron.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_iron.png deleted file mode 100644 index 82974cc4c..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_iron.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_iron_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_iron_ammo.png deleted file mode 100644 index bc25af3a4..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_iron_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_lead.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_lead.png deleted file mode 100644 index 4ecd5014b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_lead.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_lead_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_lead_ammo.png deleted file mode 100644 index a123c6987..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_lead_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_nightmare.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_nightmare.png deleted file mode 100644 index 8b7241860..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_nightmare.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_nightmare2.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_nightmare2.png deleted file mode 100644 index 6f440b5b6..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_nightmare2.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_nightmare2_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_nightmare2_ammo.png deleted file mode 100644 index eb58a2cd7..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_nightmare2_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_nightmare_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_nightmare_ammo.png deleted file mode 100644 index 75fc19a3b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_nightmare_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_nopip.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_nopip.png deleted file mode 100644 index f8923e0e1..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_nopip.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_pip.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_pip.png deleted file mode 100644 index f524b1d6b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_pip.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_pip_alt.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_pip_alt.png deleted file mode 100644 index dd888d23b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_pip_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_red.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_red.png deleted file mode 100644 index ec8267bf9..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_red.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_saturnite.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_saturnite.png deleted file mode 100644 index 21413411f..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_saturnite.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_schrabidium.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_schrabidium.png deleted file mode 100644 index a1e4a87ed..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_schrabidium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_schrabidium_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_schrabidium_ammo.png deleted file mode 100644 index e3e19703d..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_schrabidium_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_revolver_silver.png b/src/main/resources/assets/hbm/textures/items/gun_revolver_silver.png deleted file mode 100644 index b9900ddff..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_revolver_silver.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_rpg.png b/src/main/resources/assets/hbm/textures/items/gun_rpg.png deleted file mode 100644 index 70907f359..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_rpg.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_rpg_alt.png b/src/main/resources/assets/hbm/textures/items/gun_rpg_alt.png deleted file mode 100644 index ec5221602..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_rpg_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_rpg_new.png b/src/main/resources/assets/hbm/textures/items/gun_rpg_new.png deleted file mode 100644 index f707e5242..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_rpg_new.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_skystinger.png b/src/main/resources/assets/hbm/textures/items/gun_skystinger.png deleted file mode 100644 index ef3ff8c9d..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_skystinger.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_spark.png b/src/main/resources/assets/hbm/textures/items/gun_spark.png deleted file mode 100644 index d308afeef..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_spark.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_spark_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_spark_ammo.png deleted file mode 100644 index 150780fcb..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_spark_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_spas12.png b/src/main/resources/assets/hbm/textures/items/gun_spas12.png deleted file mode 100644 index b0420f777..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_spas12.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_stinger.png b/src/main/resources/assets/hbm/textures/items/gun_stinger.png deleted file mode 100644 index 4e89b8215..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_stinger.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_super_shotgun.png b/src/main/resources/assets/hbm/textures/items/gun_super_shotgun.png deleted file mode 100644 index c8c8f39cb..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_super_shotgun.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_uboinik.png b/src/main/resources/assets/hbm/textures/items/gun_uboinik.png deleted file mode 100644 index d910cfbad..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_uboinik.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_uzi.png b/src/main/resources/assets/hbm/textures/items/gun_uzi.png deleted file mode 100644 index b35f0502e..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_uzi.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_uzi_saturnite.png b/src/main/resources/assets/hbm/textures/items/gun_uzi_saturnite.png deleted file mode 100644 index 7be46c01c..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_uzi_saturnite.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_uzi_saturnite_silencer.png b/src/main/resources/assets/hbm/textures/items/gun_uzi_saturnite_silencer.png deleted file mode 100644 index 9387b6b68..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_uzi_saturnite_silencer.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_uzi_silencer.png b/src/main/resources/assets/hbm/textures/items/gun_uzi_silencer.png deleted file mode 100644 index 38a60037f..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_uzi_silencer.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_xvl1456.png b/src/main/resources/assets/hbm/textures/items/gun_xvl1456.png deleted file mode 100644 index 6507efa70..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_xvl1456.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_xvl1456_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_xvl1456_ammo.png deleted file mode 100644 index 77ed27a29..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_xvl1456_ammo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_zomg.png b/src/main/resources/assets/hbm/textures/items/gun_zomg.png deleted file mode 100644 index b0e443d76..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_zomg.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/heart_fab.png b/src/main/resources/assets/hbm/textures/items/heart_fab.png index f9a85d90e..b028cc543 100644 Binary files a/src/main/resources/assets/hbm/textures/items/heart_fab.png and b/src/main/resources/assets/hbm/textures/items/heart_fab.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_beskar_single_alt.png b/src/main/resources/assets/hbm/textures/items/ingot_beskar_single_alt.png new file mode 100644 index 000000000..0f0a229de Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_beskar_single_alt.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_ceramic.png b/src/main/resources/assets/hbm/textures/items/ingot_ceramic.png new file mode 100644 index 000000000..6b0805212 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_ceramic.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_daffergon.png b/src/main/resources/assets/hbm/textures/items/ingot_daffergon.png deleted file mode 100644 index c3dcf4d13..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ingot_daffergon.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_dura_steel.png b/src/main/resources/assets/hbm/textures/items/ingot_dura_steel.png index 729b914c2..362a60315 100644 Binary files a/src/main/resources/assets/hbm/textures/items/ingot_dura_steel.png and b/src/main/resources/assets/hbm/textures/items/ingot_dura_steel.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_gunmetal.png b/src/main/resources/assets/hbm/textures/items/ingot_gunmetal.png new file mode 100644 index 000000000..dc26658ee Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_gunmetal.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_gunsteel.png b/src/main/resources/assets/hbm/textures/items/ingot_gunsteel.png new file mode 100644 index 000000000..b97acdc54 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_gunsteel.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_metal.bar.png b/src/main/resources/assets/hbm/textures/items/ingot_metal.bar.png new file mode 100644 index 000000000..5db5d3348 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_metal.bar.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_metal.beacon.png b/src/main/resources/assets/hbm/textures/items/ingot_metal.beacon.png new file mode 100644 index 000000000..01faf450a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_metal.beacon.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_metal.casing.png b/src/main/resources/assets/hbm/textures/items/ingot_metal.casing.png new file mode 100644 index 000000000..e4cff45b9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_metal.casing.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_metal.clockwork.png b/src/main/resources/assets/hbm/textures/items/ingot_metal.clockwork.png new file mode 100644 index 000000000..2772271f5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_metal.clockwork.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_metal.counter.png b/src/main/resources/assets/hbm/textures/items/ingot_metal.counter.png new file mode 100644 index 000000000..2eee5443a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_metal.counter.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_metal.detector.png b/src/main/resources/assets/hbm/textures/items/ingot_metal.detector.png new file mode 100644 index 000000000..04e70b706 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_metal.detector.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_metal.ingot.png b/src/main/resources/assets/hbm/textures/items/ingot_metal.ingot.png new file mode 100644 index 000000000..1e84401a9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_metal.ingot.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_metal.key.png b/src/main/resources/assets/hbm/textures/items/ingot_metal.key.png new file mode 100644 index 000000000..15c3822fb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_metal.key.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_metal.png b/src/main/resources/assets/hbm/textures/items/ingot_metal.png new file mode 100644 index 000000000..1e84401a9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_metal.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_metal.scrap.png b/src/main/resources/assets/hbm/textures/items/ingot_metal.scrap.png new file mode 100644 index 000000000..a0074ffc8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_metal.scrap.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_metal_alt.png b/src/main/resources/assets/hbm/textures/items/ingot_metal_alt.png new file mode 100644 index 000000000..3b5e1f721 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_metal_alt.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_metal_sheet.png b/src/main/resources/assets/hbm/textures/items/ingot_metal_sheet.png new file mode 100644 index 000000000..d45fd4404 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_metal_sheet.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_raw.png b/src/main/resources/assets/hbm/textures/items/ingot_raw.png new file mode 100644 index 000000000..7a8970348 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_raw.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_reiium.png b/src/main/resources/assets/hbm/textures/items/ingot_reiium.png deleted file mode 100644 index f63295fc8..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ingot_reiium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_saturnite.png b/src/main/resources/assets/hbm/textures/items/ingot_saturnite.png index f1280a32b..8c8d04d9b 100644 Binary files a/src/main/resources/assets/hbm/textures/items/ingot_saturnite.png and b/src/main/resources/assets/hbm/textures/items/ingot_saturnite.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_u233.png b/src/main/resources/assets/hbm/textures/items/ingot_u233.png index 6cbb0bb42..50f69f0a0 100644 Binary files a/src/main/resources/assets/hbm/textures/items/ingot_u233.png and b/src/main/resources/assets/hbm/textures/items/ingot_u233.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_unobtainium.png b/src/main/resources/assets/hbm/textures/items/ingot_unobtainium.png deleted file mode 100644 index 08db56ca0..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ingot_unobtainium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_verticium.png b/src/main/resources/assets/hbm/textures/items/ingot_verticium.png deleted file mode 100644 index 2ac0d8be7..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ingot_verticium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_weidanium.png b/src/main/resources/assets/hbm/textures/items/ingot_weidanium.png deleted file mode 100644 index c5b9329d7..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ingot_weidanium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/item_secret.aberrator.png b/src/main/resources/assets/hbm/textures/items/item_secret.aberrator.png new file mode 100644 index 000000000..dc8901a93 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/item_secret.aberrator.png differ diff --git a/src/main/resources/assets/hbm/textures/items/item_secret.folly.png b/src/main/resources/assets/hbm/textures/items/item_secret.folly.png new file mode 100644 index 000000000..2dc0a2ff6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/item_secret.folly.png differ diff --git a/src/main/resources/assets/hbm/textures/items/item_secret.selenium_steel.png b/src/main/resources/assets/hbm/textures/items/item_secret.selenium_steel.png new file mode 100644 index 000000000..ae91dcdae Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/item_secret.selenium_steel.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ln2_1.png b/src/main/resources/assets/hbm/textures/items/ln2_1.png deleted file mode 100644 index afdd4453c..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ln2_1.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ln2_10.png b/src/main/resources/assets/hbm/textures/items/ln2_10.png deleted file mode 100644 index d6e6b40a7..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ln2_10.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ln2_2.png b/src/main/resources/assets/hbm/textures/items/ln2_2.png deleted file mode 100644 index af7187803..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ln2_2.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ln2_3.png b/src/main/resources/assets/hbm/textures/items/ln2_3.png deleted file mode 100644 index 55b04d07a..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ln2_3.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ln2_4.png b/src/main/resources/assets/hbm/textures/items/ln2_4.png deleted file mode 100644 index f33742080..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ln2_4.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ln2_5.png b/src/main/resources/assets/hbm/textures/items/ln2_5.png deleted file mode 100644 index 20e0fcefd..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ln2_5.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ln2_6.png b/src/main/resources/assets/hbm/textures/items/ln2_6.png deleted file mode 100644 index 41256391a..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ln2_6.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ln2_7.png b/src/main/resources/assets/hbm/textures/items/ln2_7.png deleted file mode 100644 index bd3a7ba0f..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ln2_7.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ln2_8.png b/src/main/resources/assets/hbm/textures/items/ln2_8.png deleted file mode 100644 index 18195c822..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ln2_8.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/ln2_9.png b/src/main/resources/assets/hbm/textures/items/ln2_9.png deleted file mode 100644 index 8cc282346..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ln2_9.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/magnet_circular.png b/src/main/resources/assets/hbm/textures/items/magnet_circular.png deleted file mode 100644 index 4d8f16620..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/magnet_circular.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/magnet_dee.png b/src/main/resources/assets/hbm/textures/items/magnet_dee.png deleted file mode 100644 index 8815f2837..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/magnet_dee.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/magnetron.png b/src/main/resources/assets/hbm/textures/items/magnetron.png deleted file mode 100644 index 5f160f01f..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/magnetron.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/mold_barrel_heavy.png b/src/main/resources/assets/hbm/textures/items/mold_barrel_heavy.png new file mode 100644 index 000000000..62f61b3c4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/mold_barrel_heavy.png differ diff --git a/src/main/resources/assets/hbm/textures/items/mold_barrel_light.png b/src/main/resources/assets/hbm/textures/items/mold_barrel_light.png new file mode 100644 index 000000000..0e3bbe8e5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/mold_barrel_light.png differ diff --git a/src/main/resources/assets/hbm/textures/items/mold_grip.png b/src/main/resources/assets/hbm/textures/items/mold_grip.png new file mode 100644 index 000000000..e59e52749 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/mold_grip.png differ diff --git a/src/main/resources/assets/hbm/textures/items/mold_mechanism.png b/src/main/resources/assets/hbm/textures/items/mold_mechanism.png new file mode 100644 index 000000000..041996d88 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/mold_mechanism.png differ diff --git a/src/main/resources/assets/hbm/textures/items/mold_receiver_heavy.png b/src/main/resources/assets/hbm/textures/items/mold_receiver_heavy.png new file mode 100644 index 000000000..4036ee57b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/mold_receiver_heavy.png differ diff --git a/src/main/resources/assets/hbm/textures/items/mold_receiver_light.png b/src/main/resources/assets/hbm/textures/items/mold_receiver_light.png new file mode 100644 index 000000000..98d550222 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/mold_receiver_light.png differ diff --git a/src/main/resources/assets/hbm/textures/items/mold_steel_base.png b/src/main/resources/assets/hbm/textures/items/mold_steel_base.png new file mode 100644 index 000000000..fd2c59e1b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/mold_steel_base.png differ diff --git a/src/main/resources/assets/hbm/textures/items/mold_stock.png b/src/main/resources/assets/hbm/textures/items/mold_stock.png new file mode 100644 index 000000000..f8e24f415 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/mold_stock.png differ diff --git a/src/main/resources/assets/hbm/textures/items/motor_dnt.png b/src/main/resources/assets/hbm/textures/items/motor_dnt.png deleted file mode 100644 index 73e4c1e5b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/motor_dnt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/nugget_daffergon.png b/src/main/resources/assets/hbm/textures/items/nugget_daffergon.png deleted file mode 100644 index 6e8922ebb..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/nugget_daffergon.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/nugget_reiium.png b/src/main/resources/assets/hbm/textures/items/nugget_reiium.png deleted file mode 100644 index b6b8a5d3f..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/nugget_reiium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/nugget_u233.png b/src/main/resources/assets/hbm/textures/items/nugget_u233.png index b10284e2b..981f0830d 100644 Binary files a/src/main/resources/assets/hbm/textures/items/nugget_u233.png and b/src/main/resources/assets/hbm/textures/items/nugget_u233.png differ diff --git a/src/main/resources/assets/hbm/textures/items/nugget_u238m2.png b/src/main/resources/assets/hbm/textures/items/nugget_u238m2.png deleted file mode 100644 index 95a04822b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/nugget_u238m2.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/nugget_unobtainium.png b/src/main/resources/assets/hbm/textures/items/nugget_unobtainium.png deleted file mode 100644 index a4aa40b77..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/nugget_unobtainium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/nugget_verticium.png b/src/main/resources/assets/hbm/textures/items/nugget_verticium.png deleted file mode 100644 index c8f9333ec..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/nugget_verticium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/nugget_weidanium.png b/src/main/resources/assets/hbm/textures/items/nugget_weidanium.png deleted file mode 100644 index 86ad834db..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/nugget_weidanium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/pa_coil.bscco.png b/src/main/resources/assets/hbm/textures/items/pa_coil.bscco.png new file mode 100644 index 000000000..2e5e4c02c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/pa_coil.bscco.png differ diff --git a/src/main/resources/assets/hbm/textures/items/pa_coil.chlorophyte.png b/src/main/resources/assets/hbm/textures/items/pa_coil.chlorophyte.png new file mode 100644 index 000000000..9e5a7d984 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/pa_coil.chlorophyte.png differ diff --git a/src/main/resources/assets/hbm/textures/items/pa_coil.gold.png b/src/main/resources/assets/hbm/textures/items/pa_coil.gold.png new file mode 100644 index 000000000..6ca29c0b6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/pa_coil.gold.png differ diff --git a/src/main/resources/assets/hbm/textures/items/pa_coil.niobium.png b/src/main/resources/assets/hbm/textures/items/pa_coil.niobium.png new file mode 100644 index 000000000..45681141e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/pa_coil.niobium.png differ diff --git a/src/main/resources/assets/hbm/textures/items/part_barrel_heavy.png b/src/main/resources/assets/hbm/textures/items/part_barrel_heavy.png new file mode 100644 index 000000000..44f07bfcc Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/part_barrel_heavy.png differ diff --git a/src/main/resources/assets/hbm/textures/items/part_barrel_light.png b/src/main/resources/assets/hbm/textures/items/part_barrel_light.png new file mode 100644 index 000000000..c407b692e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/part_barrel_light.png differ diff --git a/src/main/resources/assets/hbm/textures/items/part_grip.png b/src/main/resources/assets/hbm/textures/items/part_grip.png new file mode 100644 index 000000000..cf73e7502 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/part_grip.png differ diff --git a/src/main/resources/assets/hbm/textures/items/part_mechanism.png b/src/main/resources/assets/hbm/textures/items/part_mechanism.png new file mode 100644 index 000000000..734659e14 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/part_mechanism.png differ diff --git a/src/main/resources/assets/hbm/textures/items/part_receiver_heavy.png b/src/main/resources/assets/hbm/textures/items/part_receiver_heavy.png new file mode 100644 index 000000000..696cf78f4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/part_receiver_heavy.png differ diff --git a/src/main/resources/assets/hbm/textures/items/part_receiver_light.png b/src/main/resources/assets/hbm/textures/items/part_receiver_light.png new file mode 100644 index 000000000..ea2057903 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/part_receiver_light.png differ diff --git a/src/main/resources/assets/hbm/textures/items/part_stock.png b/src/main/resources/assets/hbm/textures/items/part_stock.png new file mode 100644 index 000000000..a93b55f67 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/part_stock.png differ diff --git a/src/main/resources/assets/hbm/textures/items/pellets_canister.png b/src/main/resources/assets/hbm/textures/items/pellets_canister.png deleted file mode 100644 index a443f38c3..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/pellets_canister.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/pellets_chlorophyte.png b/src/main/resources/assets/hbm/textures/items/pellets_chlorophyte.png deleted file mode 100644 index 6a5489d55..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/pellets_chlorophyte.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/pellets_claws.png b/src/main/resources/assets/hbm/textures/items/pellets_claws.png deleted file mode 100644 index 00dd97af9..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/pellets_claws.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/pellets_flechette.png b/src/main/resources/assets/hbm/textures/items/pellets_flechette.png deleted file mode 100644 index b0711e2ac..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/pellets_flechette.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/pill_salt.png b/src/main/resources/assets/hbm/textures/items/pill_salt.png deleted file mode 100644 index decab9dba..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/pill_salt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/pill_zinc.png b/src/main/resources/assets/hbm/textures/items/pill_zinc.png deleted file mode 100644 index d93286d73..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/pill_zinc.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/pipe_lead.png b/src/main/resources/assets/hbm/textures/items/pipe_lead.png index 830e00f3c..57e6c10a9 100644 Binary files a/src/main/resources/assets/hbm/textures/items/pipe_lead.png and b/src/main/resources/assets/hbm/textures/items/pipe_lead.png differ diff --git a/src/main/resources/assets/hbm/textures/items/pirfenidone.png b/src/main/resources/assets/hbm/textures/items/pirfenidone.png deleted file mode 100644 index 9ab831d0f..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/pirfenidone.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/piston_set_dura.png b/src/main/resources/assets/hbm/textures/items/piston_set_dura.png index 2b7eefe4f..5185acd22 100644 Binary files a/src/main/resources/assets/hbm/textures/items/piston_set_dura.png and b/src/main/resources/assets/hbm/textures/items/piston_set_dura.png differ diff --git a/src/main/resources/assets/hbm/textures/items/plate_dura_steel.png b/src/main/resources/assets/hbm/textures/items/plate_dura_steel.png index 4b2dba2c6..a33109caf 100644 Binary files a/src/main/resources/assets/hbm/textures/items/plate_dura_steel.png and b/src/main/resources/assets/hbm/textures/items/plate_dura_steel.png differ diff --git a/src/main/resources/assets/hbm/textures/items/plate_gunmetal.png b/src/main/resources/assets/hbm/textures/items/plate_gunmetal.png new file mode 100644 index 000000000..84a7b470c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/plate_gunmetal.png differ diff --git a/src/main/resources/assets/hbm/textures/items/plate_gunsteel.png b/src/main/resources/assets/hbm/textures/items/plate_gunsteel.png new file mode 100644 index 000000000..833e792f1 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/plate_gunsteel.png differ diff --git a/src/main/resources/assets/hbm/textures/items/plate_kevlar.png b/src/main/resources/assets/hbm/textures/items/plate_kevlar.png index 5c7efbb19..00cfa5a15 100644 Binary files a/src/main/resources/assets/hbm/textures/items/plate_kevlar.png and b/src/main/resources/assets/hbm/textures/items/plate_kevlar.png differ diff --git a/src/main/resources/assets/hbm/textures/items/plate_saturnite.png b/src/main/resources/assets/hbm/textures/items/plate_saturnite.png index 9f3e071ac..9cca74517 100644 Binary files a/src/main/resources/assets/hbm/textures/items/plate_saturnite.png and b/src/main/resources/assets/hbm/textures/items/plate_saturnite.png differ diff --git a/src/main/resources/assets/hbm/textures/items/playground/mekanisms_new_textures_suck_balls.png b/src/main/resources/assets/hbm/textures/items/playground/mekanisms_new_textures_suck_balls.png new file mode 100644 index 000000000..e3793924b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/playground/mekanisms_new_textures_suck_balls.png differ diff --git a/src/main/resources/assets/hbm/textures/items/powder_daffergon.png b/src/main/resources/assets/hbm/textures/items/powder_daffergon.png deleted file mode 100644 index f9afea212..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/powder_daffergon.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/powder_dura_steel.png b/src/main/resources/assets/hbm/textures/items/powder_dura_steel.png index 6dc3e599d..378460b60 100644 Binary files a/src/main/resources/assets/hbm/textures/items/powder_dura_steel.png and b/src/main/resources/assets/hbm/textures/items/powder_dura_steel.png differ diff --git a/src/main/resources/assets/hbm/textures/items/powder_reiium.png b/src/main/resources/assets/hbm/textures/items/powder_reiium.png deleted file mode 100644 index 52bd800c8..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/powder_reiium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/powder_unobtainium.png b/src/main/resources/assets/hbm/textures/items/powder_unobtainium.png deleted file mode 100644 index 2f26e8148..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/powder_unobtainium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/powder_verticium.png b/src/main/resources/assets/hbm/textures/items/powder_verticium.png deleted file mode 100644 index 5346e7b44..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/powder_verticium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/powder_weidanium.png b/src/main/resources/assets/hbm/textures/items/powder_weidanium.png deleted file mode 100644 index cc7c044d1..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/powder_weidanium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/rangefinder.png b/src/main/resources/assets/hbm/textures/items/rangefinder.png new file mode 100644 index 000000000..d7539ee67 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/rangefinder.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ring_starmetal_alt.png b/src/main/resources/assets/hbm/textures/items/ring_starmetal_alt.png deleted file mode 100644 index ebdca2cc5..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/ring_starmetal_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/rod_dual_u233.png b/src/main/resources/assets/hbm/textures/items/rod_dual_u233.png index 1afcbe290..949016d95 100644 Binary files a/src/main/resources/assets/hbm/textures/items/rod_dual_u233.png and b/src/main/resources/assets/hbm/textures/items/rod_dual_u233.png differ diff --git a/src/main/resources/assets/hbm/textures/items/rod_quad_u233.png b/src/main/resources/assets/hbm/textures/items/rod_quad_u233.png index f9ab4acff..dc2172ecf 100644 Binary files a/src/main/resources/assets/hbm/textures/items/rod_quad_u233.png and b/src/main/resources/assets/hbm/textures/items/rod_quad_u233.png differ diff --git a/src/main/resources/assets/hbm/textures/items/rod_u233.png b/src/main/resources/assets/hbm/textures/items/rod_u233.png index e286fd79d..833f515c9 100644 Binary files a/src/main/resources/assets/hbm/textures/items/rod_u233.png and b/src/main/resources/assets/hbm/textures/items/rod_u233.png differ diff --git a/src/main/resources/assets/hbm/textures/items/rotor_steel.png b/src/main/resources/assets/hbm/textures/items/rotor_steel.png deleted file mode 100644 index 17350ef8d..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/rotor_steel.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/settings_tool.png b/src/main/resources/assets/hbm/textures/items/settings_tool.png new file mode 100644 index 000000000..331bb4e62 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/settings_tool.png differ diff --git a/src/main/resources/assets/hbm/textures/items/singularity_2.png b/src/main/resources/assets/hbm/textures/items/singularity_2.png deleted file mode 100644 index be5b273d3..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/singularity_2.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/singularity_3.png b/src/main/resources/assets/hbm/textures/items/singularity_3.png deleted file mode 100644 index a171074f1..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/singularity_3.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/singularity_micro.png b/src/main/resources/assets/hbm/textures/items/singularity_micro.png deleted file mode 100644 index b1c9e4765..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/singularity_micro.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/singularity_spark.png b/src/main/resources/assets/hbm/textures/items/singularity_spark.png deleted file mode 100644 index c2e97f9a6..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/singularity_spark.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/singularity_special.png b/src/main/resources/assets/hbm/textures/items/singularity_special.png deleted file mode 100644 index 423f4544c..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/singularity_special.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/syringe_taint.png b/src/main/resources/assets/hbm/textures/items/syringe_taint.png index 51f837e60..bfa6a581a 100644 Binary files a/src/main/resources/assets/hbm/textures/items/syringe_taint.png and b/src/main/resources/assets/hbm/textures/items/syringe_taint.png differ diff --git a/src/main/resources/assets/hbm/textures/items/taurun_boots.png b/src/main/resources/assets/hbm/textures/items/taurun_boots.png new file mode 100644 index 000000000..228a5ca81 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/taurun_boots.png differ diff --git a/src/main/resources/assets/hbm/textures/items/taurun_helmet.png b/src/main/resources/assets/hbm/textures/items/taurun_helmet.png new file mode 100644 index 000000000..9c33872ac Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/taurun_helmet.png differ diff --git a/src/main/resources/assets/hbm/textures/items/taurun_legs.png b/src/main/resources/assets/hbm/textures/items/taurun_legs.png new file mode 100644 index 000000000..0be64f1d7 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/taurun_legs.png differ diff --git a/src/main/resources/assets/hbm/textures/items/taurun_plate.png b/src/main/resources/assets/hbm/textures/items/taurun_plate.png new file mode 100644 index 000000000..a235a28f8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/taurun_plate.png differ diff --git a/src/main/resources/assets/hbm/textures/items/tent_tablet.png b/src/main/resources/assets/hbm/textures/items/tent_tablet.png new file mode 100644 index 000000000..8769aeeec Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/tent_tablet.png differ diff --git a/src/main/resources/assets/hbm/textures/items/upgrade_bedrock.png b/src/main/resources/assets/hbm/textures/items/upgrade_bedrock.png deleted file mode 100644 index fc6600e86..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/upgrade_bedrock.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/upgrade_mod_u.png b/src/main/resources/assets/hbm/textures/items/upgrade_mod_u.png deleted file mode 100644 index 6e6831ccb..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/upgrade_mod_u.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.bmg50.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.bmg50.png new file mode 100644 index 000000000..6692d0669 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.bmg50.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.m357.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.m357.png new file mode 100644 index 000000000..1d5d94669 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.m357.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.m44.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.m44.png new file mode 100644 index 000000000..6af0e9944 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.m44.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.p22.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.p22.png new file mode 100644 index 000000000..3611d3c4e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.p22.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.p45.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.p45.png new file mode 100644 index 000000000..0fa99ee1a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.p45.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.p9.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.p9.png new file mode 100644 index 000000000..492589a08 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.p9.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.r556.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.r556.png new file mode 100644 index 000000000..7716c4953 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.r556.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.r762.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.r762.png new file mode 100644 index 000000000..7cfdb0123 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_caliber.r762.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.bigmt_damage.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.bigmt_damage.png new file mode 100644 index 000000000..ef0682ba9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.bigmt_damage.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.bigmt_dura.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.bigmt_dura.png new file mode 100644 index 000000000..60735f9f2 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.bigmt_dura.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.bronze_damage.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.bronze_damage.png new file mode 100644 index 000000000..16c37b54b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.bronze_damage.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.bronze_dura.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.bronze_dura.png new file mode 100644 index 000000000..5ae154496 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.bronze_dura.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.desh_damage.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.desh_damage.png new file mode 100644 index 000000000..308e4b273 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.desh_damage.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.desh_dura.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.desh_dura.png new file mode 100644 index 000000000..173a97f80 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.desh_dura.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.dura_damage.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.dura_damage.png new file mode 100644 index 000000000..aff959584 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.dura_damage.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.dura_dura.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.dura_dura.png new file mode 100644 index 000000000..e893d6bd7 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.dura_dura.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.ferro_damage.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.ferro_damage.png new file mode 100644 index 000000000..bf227be0d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.ferro_damage.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.ferro_dura.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.ferro_dura.png new file mode 100644 index 000000000..96e5d22ab Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.ferro_dura.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.iron_damage.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.iron_damage.png new file mode 100644 index 000000000..ea6534b21 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.iron_damage.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.iron_dura.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.iron_dura.png new file mode 100644 index 000000000..d6992943b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.iron_dura.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.steel_damage.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.steel_damage.png new file mode 100644 index 000000000..b507fa059 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.steel_damage.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.steel_dura.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.steel_dura.png new file mode 100644 index 000000000..6bd896419 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.steel_dura.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.tcalloy_damage.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.tcalloy_damage.png new file mode 100644 index 000000000..fd4659507 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.tcalloy_damage.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.tcalloy_dura.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.tcalloy_dura.png new file mode 100644 index 000000000..518d86057 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.tcalloy_dura.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.wsteel_damage.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.wsteel_damage.png new file mode 100644 index 000000000..77eddcd86 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.wsteel_damage.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.wsteel_dura.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.wsteel_dura.png new file mode 100644 index 000000000..70331a852 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_generic.wsteel_dura.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_sheet.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_sheet.png new file mode 100644 index 000000000..20774b196 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_sheet.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_special.bayonet.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.bayonet.png new file mode 100644 index 000000000..09f5734cf Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.bayonet.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_special.choke.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.choke.png new file mode 100644 index 000000000..d3f0ad691 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.choke.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_special.furniture_black.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.furniture_black.png new file mode 100644 index 000000000..30806d03d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.furniture_black.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_special.furniture_green.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.furniture_green.png new file mode 100644 index 000000000..ba5e245b5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.furniture_green.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_special.greasegun.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.greasegun.png new file mode 100644 index 000000000..ea4abf216 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.greasegun.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_special.las_auto.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.las_auto.png new file mode 100644 index 000000000..203453c56 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.las_auto.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_special.las_capacitor.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.las_capacitor.png new file mode 100644 index 000000000..c78887104 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.las_capacitor.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_special.las_shotgun.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.las_shotgun.png new file mode 100644 index 000000000..443813e81 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.las_shotgun.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_special.saw.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.saw.png new file mode 100644 index 000000000..857cddd6b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.saw.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_special.scope.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.scope.png new file mode 100644 index 000000000..99d697e62 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.scope.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_special.silencer.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.silencer.png new file mode 100644 index 000000000..42af20c03 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.silencer.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_special.skin_saturnite.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.skin_saturnite.png new file mode 100644 index 000000000..bfb5e4355 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.skin_saturnite.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_special.slowdown.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.slowdown.png new file mode 100644 index 000000000..379130a95 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.slowdown.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_special.speedloader.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.speedloader.png new file mode 100644 index 000000000..7fd3c5f49 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.speedloader.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_special.speedup.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.speedup.png new file mode 100644 index 000000000..cd91f4aee Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.speedup.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_special.stack_mag.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.stack_mag.png new file mode 100644 index 000000000..86661cd15 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_special.stack_mag.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_test.caliber.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.caliber.png new file mode 100644 index 000000000..e8d8198f2 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.caliber.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_test.damage.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.damage.png new file mode 100644 index 000000000..d71b134fd Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.damage.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_test.firerate.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.firerate.png new file mode 100644 index 000000000..06f516760 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.firerate.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_test.multi.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.multi.png new file mode 100644 index 000000000..38180b907 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.multi.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_10.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_10.png new file mode 100644 index 000000000..9866eb14f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_10.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_12_5.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_12_5.png new file mode 100644 index 000000000..9866eb14f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_12_5.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_15.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_15.png new file mode 100644 index 000000000..9866eb14f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_15.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_20.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_20.png new file mode 100644 index 000000000..9866eb14f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_20.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_2_5.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_2_5.png new file mode 100644 index 000000000..9866eb14f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_2_5.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_5.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_5.png new file mode 100644 index 000000000..9866eb14f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_5.png differ diff --git a/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_7_5.png b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_7_5.png new file mode 100644 index 000000000..9866eb14f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/weapon_mod_test.override_7_5.png differ diff --git a/src/main/resources/assets/hbm/textures/misc/overlay_misc.png b/src/main/resources/assets/hbm/textures/misc/overlay_misc.png index 423b33845..4162b065c 100644 Binary files a/src/main/resources/assets/hbm/textures/misc/overlay_misc.png and b/src/main/resources/assets/hbm/textures/misc/overlay_misc.png differ diff --git a/src/main/resources/assets/hbm/textures/misc/scope_44.png b/src/main/resources/assets/hbm/textures/misc/scope_44.png index dc53998bb..038868a0f 100644 Binary files a/src/main/resources/assets/hbm/textures/misc/scope_44.png and b/src/main/resources/assets/hbm/textures/misc/scope_44.png differ diff --git a/src/main/resources/assets/hbm/textures/misc/scope_luna.png b/src/main/resources/assets/hbm/textures/misc/scope_amat.png similarity index 100% rename from src/main/resources/assets/hbm/textures/misc/scope_luna.png rename to src/main/resources/assets/hbm/textures/misc/scope_amat.png diff --git a/src/main/resources/assets/hbm/textures/misc/scope_penance.png b/src/main/resources/assets/hbm/textures/misc/scope_penance.png new file mode 100644 index 000000000..c5c755489 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/misc/scope_penance.png differ diff --git a/src/main/resources/assets/hbm/textures/misc/scope_tool.png b/src/main/resources/assets/hbm/textures/misc/scope_tool.png new file mode 100644 index 000000000..b99d8db41 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/misc/scope_tool.png differ diff --git a/src/main/resources/assets/hbm/textures/misc/star_lode.png b/src/main/resources/assets/hbm/textures/misc/star_lode.png new file mode 100644 index 000000000..ee2ec3c1a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/misc/star_lode.png differ diff --git a/src/main/resources/assets/hbm/textures/models/BFLauncher.png b/src/main/resources/assets/hbm/textures/models/BFLauncher.png deleted file mode 100644 index b1f69982c..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/BFLauncher.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/BaleFlare.png b/src/main/resources/assets/hbm/textures/models/BaleFlare.png deleted file mode 100644 index f75ae16be..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/BaleFlare.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/BalefireCrashed.png b/src/main/resources/assets/hbm/textures/models/BalefireCrashed.png deleted file mode 100644 index 0e9377198..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/BalefireCrashed.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/FatmanLauncher.png b/src/main/resources/assets/hbm/textures/models/FatmanLauncher.png deleted file mode 100644 index 44968347b..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/FatmanLauncher.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/Fleija.png b/src/main/resources/assets/hbm/textures/models/Fleija.png deleted file mode 100644 index da97debd0..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/Fleija.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/JetPackPurple.png b/src/main/resources/assets/hbm/textures/models/JetPackPurple.png deleted file mode 100644 index c1d0faf6f..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/JetPackPurple.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/MIRVLauncher.png b/src/main/resources/assets/hbm/textures/models/MIRVLauncher.png deleted file mode 100644 index 29eb8037b..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/MIRVLauncher.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/MiniNuke.png b/src/main/resources/assets/hbm/textures/models/MiniNuke.png deleted file mode 100644 index f42a819ff..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/MiniNuke.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/Mirv.png b/src/main/resources/assets/hbm/textures/models/Mirv.png deleted file mode 100644 index 06d6bc88a..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/Mirv.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelB92.png b/src/main/resources/assets/hbm/textures/models/ModelB92.png deleted file mode 100644 index 86dbc2994..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelB92.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelB92Dark.png b/src/main/resources/assets/hbm/textures/models/ModelB92Dark.png deleted file mode 100644 index e41f8582c..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelB92Dark.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelB93.png b/src/main/resources/assets/hbm/textures/models/ModelB93.png deleted file mode 100644 index 0861b9bfc..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelB93.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelBoltAction.png b/src/main/resources/assets/hbm/textures/models/ModelBoltAction.png deleted file mode 100644 index 410512914..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelBoltAction.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelBoltActionDark.png b/src/main/resources/assets/hbm/textures/models/ModelBoltActionDark.png deleted file mode 100644 index 3bd22f1f9..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelBoltActionDark.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelBoltActionDarkGreen.png b/src/main/resources/assets/hbm/textures/models/ModelBoltActionDarkGreen.png deleted file mode 100644 index cb40afaff..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelBoltActionDarkGreen.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelBoltActionGreen.png b/src/main/resources/assets/hbm/textures/models/ModelBoltActionGreen.png deleted file mode 100644 index 1c5c31255..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelBoltActionGreen.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelBoltActionSaturnite.png b/src/main/resources/assets/hbm/textures/models/ModelBoltActionSaturnite.png deleted file mode 100644 index f89c1a960..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelBoltActionSaturnite.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelCalBarrel.png b/src/main/resources/assets/hbm/textures/models/ModelCalBarrel.png deleted file mode 100644 index 1b5903f49..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelCalBarrel.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelCalDualStock.png b/src/main/resources/assets/hbm/textures/models/ModelCalDualStock.png deleted file mode 100644 index c24d88063..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelCalDualStock.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelCalStock.png b/src/main/resources/assets/hbm/textures/models/ModelCalStock.png deleted file mode 100644 index e1f8df03e..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelCalStock.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelCryolator.png b/src/main/resources/assets/hbm/textures/models/ModelCryolator.png deleted file mode 100644 index 89d71fb71..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelCryolator.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelDash.png b/src/main/resources/assets/hbm/textures/models/ModelDash.png deleted file mode 100755 index 26e6cac9d..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelDash.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelDefabricator.png b/src/main/resources/assets/hbm/textures/models/ModelDefabricator.png deleted file mode 100755 index 5752d9cb0..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelDefabricator.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelEMPRay.png b/src/main/resources/assets/hbm/textures/models/ModelEMPRay.png deleted file mode 100644 index 079430b27..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelEMPRay.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelEuthanasia.png b/src/main/resources/assets/hbm/textures/models/ModelEuthanasia.png deleted file mode 100644 index 9c3a2960d..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelEuthanasia.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelFolly.png b/src/main/resources/assets/hbm/textures/models/ModelFolly.png deleted file mode 100644 index 065460dca..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelFolly.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelGustav.png b/src/main/resources/assets/hbm/textures/models/ModelGustav.png deleted file mode 100644 index 7644f473f..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelGustav.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelGustavYellow.png b/src/main/resources/assets/hbm/textures/models/ModelGustavYellow.png deleted file mode 100644 index f35253ad7..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelGustavYellow.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelHP.png b/src/main/resources/assets/hbm/textures/models/ModelHP.png deleted file mode 100755 index 7f1c34c88..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelHP.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelImmolator.png b/src/main/resources/assets/hbm/textures/models/ModelImmolator.png deleted file mode 100644 index 2a54c1359..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelImmolator.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelJack.png b/src/main/resources/assets/hbm/textures/models/ModelJack.png deleted file mode 100644 index 68ee93088..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelJack.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelLacunae.png b/src/main/resources/assets/hbm/textures/models/ModelLacunae.png deleted file mode 100644 index 40981f04b..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelLacunae.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelLacunaeAvenger.png b/src/main/resources/assets/hbm/textures/models/ModelLacunaeAvenger.png deleted file mode 100644 index 867efab47..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelLacunaeAvenger.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelLacunaeReal.png b/src/main/resources/assets/hbm/textures/models/ModelLacunaeReal.png deleted file mode 100644 index 05736d980..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelLacunaeReal.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelLeverAction.png b/src/main/resources/assets/hbm/textures/models/ModelLeverAction.png deleted file mode 100644 index 8068043e3..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelLeverAction.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelLeverActionDark.png b/src/main/resources/assets/hbm/textures/models/ModelLeverActionDark.png deleted file mode 100644 index b8d66c59d..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelLeverActionDark.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelMP.png b/src/main/resources/assets/hbm/textures/models/ModelMP.png deleted file mode 100644 index a094364f6..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelMP.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelMP40.png b/src/main/resources/assets/hbm/textures/models/ModelMP40.png deleted file mode 100644 index 497ef5c81..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelMP40.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelMP_alt.png b/src/main/resources/assets/hbm/textures/models/ModelMP_alt.png deleted file mode 100644 index 4fd02a6e8..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelMP_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelNightmare.png b/src/main/resources/assets/hbm/textures/models/ModelNightmare.png deleted file mode 100644 index f3186dd48..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelNightmare.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelNightmare2.png b/src/main/resources/assets/hbm/textures/models/ModelNightmare2.png deleted file mode 100644 index d05821401..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelNightmare2.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelOSIPR.png b/src/main/resources/assets/hbm/textures/models/ModelOSIPR.png deleted file mode 100644 index f8f8b637b..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelOSIPR.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelPanzerschreck.png b/src/main/resources/assets/hbm/textures/models/ModelPanzerschreck.png deleted file mode 100644 index c40c484a5..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelPanzerschreck.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelPip.png b/src/main/resources/assets/hbm/textures/models/ModelPip.png deleted file mode 100755 index 40c63f03e..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelPip.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelPipGrey.png b/src/main/resources/assets/hbm/textures/models/ModelPipGrey.png deleted file mode 100644 index 9173393a2..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelPipGrey.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelPipNoScope.png b/src/main/resources/assets/hbm/textures/models/ModelPipNoScope.png deleted file mode 100644 index f912f4df1..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelPipNoScope.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelPipRed.png b/src/main/resources/assets/hbm/textures/models/ModelPipRed.png deleted file mode 100644 index 2488821dd..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelPipRed.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelPipSilver.png b/src/main/resources/assets/hbm/textures/models/ModelPipSilver.png deleted file mode 100644 index 0e874ca24..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelPipSilver.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelPylon.png b/src/main/resources/assets/hbm/textures/models/ModelPylon.png index 1a4fe1640..2dbf308a1 100644 Binary files a/src/main/resources/assets/hbm/textures/models/ModelPylon.png and b/src/main/resources/assets/hbm/textures/models/ModelPylon.png differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelPylon_alt.png b/src/main/resources/assets/hbm/textures/models/ModelPylon_alt.png deleted file mode 100755 index 65cf39dad..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelPylon_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelRPG.png b/src/main/resources/assets/hbm/textures/models/ModelRPG.png deleted file mode 100644 index a7323d537..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelRPG.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelRevolver.png b/src/main/resources/assets/hbm/textures/models/ModelRevolver.png deleted file mode 100644 index 34fd41af0..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelRevolver.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelRevolverGold.png b/src/main/resources/assets/hbm/textures/models/ModelRevolverGold.png deleted file mode 100644 index 647bcea5b..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelRevolverGold.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelRevolverIron.png b/src/main/resources/assets/hbm/textures/models/ModelRevolverIron.png deleted file mode 100644 index 594005b8e..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelRevolverIron.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelRevolverLead.png b/src/main/resources/assets/hbm/textures/models/ModelRevolverLead.png deleted file mode 100644 index 69ed11934..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelRevolverLead.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelRevolverSaturnite.png b/src/main/resources/assets/hbm/textures/models/ModelRevolverSaturnite.png deleted file mode 100644 index 508d1e8b6..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelRevolverSaturnite.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelRevolverSchrabidium.png b/src/main/resources/assets/hbm/textures/models/ModelRevolverSchrabidium.png deleted file mode 100644 index 8254ead18..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelRevolverSchrabidium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelRocketOld.png b/src/main/resources/assets/hbm/textures/models/ModelRocketOld.png deleted file mode 100644 index 36835fb13..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelRocketOld.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelSkyStinger.png b/src/main/resources/assets/hbm/textures/models/ModelSkyStinger.png deleted file mode 100644 index 6b0f85daa..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelSkyStinger.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelSpark.png b/src/main/resources/assets/hbm/textures/models/ModelSpark.png deleted file mode 100755 index fd6c47bee..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelSpark.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelStinger.png b/src/main/resources/assets/hbm/textures/models/ModelStinger.png deleted file mode 100644 index c296d5f79..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelStinger.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelTestRender.png b/src/main/resources/assets/hbm/textures/models/ModelTestRender.png deleted file mode 100644 index 7522ed109..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelTestRender.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelTwiGun.png b/src/main/resources/assets/hbm/textures/models/ModelTwiGun.png deleted file mode 100755 index 403da0f56..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelTwiGun.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelUzi.png b/src/main/resources/assets/hbm/textures/models/ModelUzi.png deleted file mode 100644 index c288d9495..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelUzi.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelUziBarrel.png b/src/main/resources/assets/hbm/textures/models/ModelUziBarrel.png deleted file mode 100644 index 110ebd5d4..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelUziBarrel.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelUziSaturnite.png b/src/main/resources/assets/hbm/textures/models/ModelUziSaturnite.png deleted file mode 100644 index f2d727f69..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelUziSaturnite.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelUziSilencer.png b/src/main/resources/assets/hbm/textures/models/ModelUziSilencer.png deleted file mode 100644 index ef102143d..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelUziSilencer.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelXVL1456.png b/src/main/resources/assets/hbm/textures/models/ModelXVL1456.png deleted file mode 100644 index 0faabee24..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelXVL1456.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelZOMG.png b/src/main/resources/assets/hbm/textures/models/ModelZOMG.png deleted file mode 100644 index 941fae77b..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelZOMG.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/NMine.png b/src/main/resources/assets/hbm/textures/models/NMine.png new file mode 100644 index 000000000..9ef5a1a8b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/NMine.png differ diff --git a/src/main/resources/assets/hbm/textures/models/NukeTestBomb.png b/src/main/resources/assets/hbm/textures/models/NukeTestBomb.png deleted file mode 100644 index 0726e0f57..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/NukeTestBomb.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/PlasmaBeam.png b/src/main/resources/assets/hbm/textures/models/PlasmaBeam.png deleted file mode 100644 index 608752d56..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/PlasmaBeam.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/Poles.png b/src/main/resources/assets/hbm/textures/models/Poles.png deleted file mode 100644 index 919c15891..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/Poles.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/Prototype.png b/src/main/resources/assets/hbm/textures/models/Prototype.png deleted file mode 100644 index 2738d1aee..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/Prototype.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/SteelBeam.png b/src/main/resources/assets/hbm/textures/models/SteelBeam.png deleted file mode 100644 index aca7ef40f..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/SteelBeam.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/SteelCorner.png b/src/main/resources/assets/hbm/textures/models/SteelCorner.png deleted file mode 100644 index 585b3bd3d..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/SteelCorner.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/SteelScaffold.png b/src/main/resources/assets/hbm/textures/models/SteelScaffold.png deleted file mode 100644 index 9ea7ecbea..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/SteelScaffold.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/SteelWall.png b/src/main/resources/assets/hbm/textures/models/SteelWall.png deleted file mode 100644 index 7ea292660..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/SteelWall.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/bombletThetaTexture.png b/src/main/resources/assets/hbm/textures/models/bombletThetaTexture.png deleted file mode 100755 index e4f809d0d..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/bombletThetaTexture.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/bombs/Prototype.png b/src/main/resources/assets/hbm/textures/models/bombs/Prototype.png new file mode 100644 index 000000000..49a2427de Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/bombs/Prototype.png differ diff --git a/src/main/resources/assets/hbm/textures/models/bombs/dud_balefire.png b/src/main/resources/assets/hbm/textures/models/bombs/dud_balefire.png new file mode 100644 index 000000000..e7649ba86 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/bombs/dud_balefire.png differ diff --git a/src/main/resources/assets/hbm/textures/models/bombs/dud_conventional.png b/src/main/resources/assets/hbm/textures/models/bombs/dud_conventional.png new file mode 100644 index 000000000..4d2ac97f5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/bombs/dud_conventional.png differ diff --git a/src/main/resources/assets/hbm/textures/models/bombs/dud_nuke.png b/src/main/resources/assets/hbm/textures/models/bombs/dud_nuke.png new file mode 100644 index 000000000..85e36513c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/bombs/dud_nuke.png differ diff --git a/src/main/resources/assets/hbm/textures/models/bombs/dud_salted.png b/src/main/resources/assets/hbm/textures/models/bombs/dud_salted.png new file mode 100644 index 000000000..898472271 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/bombs/dud_salted.png differ diff --git a/src/main/resources/assets/hbm/textures/models/bombs/fleija.png b/src/main/resources/assets/hbm/textures/models/bombs/fleija.png new file mode 100644 index 000000000..924c4cac0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/bombs/fleija.png differ diff --git a/src/main/resources/assets/hbm/textures/models/bombs/mine_ap_desert.png b/src/main/resources/assets/hbm/textures/models/bombs/mine_ap_desert.png new file mode 100644 index 000000000..e489023d6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/bombs/mine_ap_desert.png differ diff --git a/src/main/resources/assets/hbm/textures/models/bombs/mine_ap_grass.png b/src/main/resources/assets/hbm/textures/models/bombs/mine_ap_grass.png new file mode 100644 index 000000000..293089481 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/bombs/mine_ap_grass.png differ diff --git a/src/main/resources/assets/hbm/textures/models/bombs/mine_ap_snow.png b/src/main/resources/assets/hbm/textures/models/bombs/mine_ap_snow.png new file mode 100644 index 000000000..56400bed9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/bombs/mine_ap_snow.png differ diff --git a/src/main/resources/assets/hbm/textures/models/bombs/mine_ap_stone.png b/src/main/resources/assets/hbm/textures/models/bombs/mine_ap_stone.png new file mode 100644 index 000000000..fafacb3f5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/bombs/mine_ap_stone.png differ diff --git a/src/main/resources/assets/hbm/textures/models/bombs/mine_shrapnel.png b/src/main/resources/assets/hbm/textures/models/bombs/mine_shrapnel.png new file mode 100644 index 000000000..2956d1bde Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/bombs/mine_shrapnel.png differ diff --git a/src/main/resources/assets/hbm/textures/models/bombs/n2.png b/src/main/resources/assets/hbm/textures/models/bombs/n2.png index f8d6f2089..f3965352d 100644 Binary files a/src/main/resources/assets/hbm/textures/models/bombs/n2.png and b/src/main/resources/assets/hbm/textures/models/bombs/n2.png differ diff --git a/src/main/resources/assets/hbm/textures/models/bombs/ufp.png b/src/main/resources/assets/hbm/textures/models/bombs/ufp.png index 4ed702169..bf5c52e43 100644 Binary files a/src/main/resources/assets/hbm/textures/models/bombs/ufp.png and b/src/main/resources/assets/hbm/textures/models/bombs/ufp.png differ diff --git a/src/main/resources/assets/hbm/textures/models/dornier_0.png b/src/main/resources/assets/hbm/textures/models/dornier_0.png deleted file mode 100644 index c5552e2b8..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/dornier_0.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/dornier_3.png b/src/main/resources/assets/hbm/textures/models/dornier_3.png deleted file mode 100644 index 00c8985cb..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/dornier_3.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/explosion/tomblast.png b/src/main/resources/assets/hbm/textures/models/explosion/tomblast.png index f4e0e5819..def91aef6 100644 Binary files a/src/main/resources/assets/hbm/textures/models/explosion/tomblast.png and b/src/main/resources/assets/hbm/textures/models/explosion/tomblast.png differ diff --git a/src/main/resources/assets/hbm/textures/models/horse/_horse_info.txt b/src/main/resources/assets/hbm/textures/models/horse/_horse_info.txt index 5303e3ca4..3bf672ac0 100644 --- a/src/main/resources/assets/hbm/textures/models/horse/_horse_info.txt +++ b/src/main/resources/assets/hbm/textures/models/horse/_horse_info.txt @@ -9,7 +9,7 @@ despite the UV being generally crappy, the added overlap does simplify the textu no further improvements have been deemend necessary. a few edge-cases where body parts would be otherwise invisible could be handled by making the texture transparent. horn sizes can be solved by moving the horn inwards (this only works for shrinking, limiting the max size to the current 4 pixels, unless proper scaling is involved which is a possibility). any other cosmetics or posing will be subject to the horse printing utlity (HPU) using basic GL transformation. -in general, the standard approach for posable models has been taken: all major movable groups (mostly individual boxes, as well as a few larger groups like the wings, tail and head/neck/ears) are different objects (groups with prefix "o", as per the wavefront OBJ standard) as well as some switchable parts (horns, noses). most pixot points use the default multiple of 0.0625 positions to make posing easier and consistent. +in general, the standard approach for posable models has been taken: all major movable groups (mostly individual boxes, as well as a few larger groups like the wings, tail and head/neck/ears) are different objects (groups with prefix "o", as per the wavefront OBJ standard) as well as some switchable parts (horns, noses). most pivot points use the default multiple of 0.0625 positions to make posing easier and consistent. a short explanation of the horse template texture sheet: * the yellow region "H" is the horn, of the top two pixels only the left one is used (by the box horn, on the top) while the right one is not visible in the original MiLP standard, nor unwrapped in the new model diff --git a/src/main/resources/assets/hbm/textures/models/machines/ammo_press.png b/src/main/resources/assets/hbm/textures/models/machines/ammo_press.png new file mode 100644 index 000000000..77c7930ae Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/ammo_press.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/assembly_machine.png b/src/main/resources/assets/hbm/textures/models/machines/assembly_machine.png new file mode 100644 index 000000000..df04f0555 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/assembly_machine.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/breeder.png b/src/main/resources/assets/hbm/textures/models/machines/breeder.png index 70182684c..edece6471 100644 Binary files a/src/main/resources/assets/hbm/textures/models/machines/breeder.png and b/src/main/resources/assets/hbm/textures/models/machines/breeder.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/catalytic_cracker.png b/src/main/resources/assets/hbm/textures/models/machines/catalytic_cracker.png new file mode 100644 index 000000000..2b6b573b9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/catalytic_cracker.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/chemical_factory.png b/src/main/resources/assets/hbm/textures/models/machines/chemical_factory.png new file mode 100644 index 000000000..941813a41 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/chemical_factory.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/chemical_plant.png b/src/main/resources/assets/hbm/textures/models/machines/chemical_plant.png new file mode 100644 index 000000000..6c34eebf6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/chemical_plant.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/chemical_plant_fluid.png b/src/main/resources/assets/hbm/textures/models/machines/chemical_plant_fluid.png new file mode 100644 index 000000000..0c363753a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/chemical_plant_fluid.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/compressor_compact.png b/src/main/resources/assets/hbm/textures/models/machines/compressor_compact.png new file mode 100644 index 000000000..3f2439eb5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/compressor_compact.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/conveyor_press.png b/src/main/resources/assets/hbm/textures/models/machines/conveyor_press.png index 6464d8f83..897949bd5 100644 Binary files a/src/main/resources/assets/hbm/textures/models/machines/conveyor_press.png and b/src/main/resources/assets/hbm/textures/models/machines/conveyor_press.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/crystallizer.png b/src/main/resources/assets/hbm/textures/models/machines/crystallizer.png deleted file mode 100644 index ed1dd05ae..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/machines/crystallizer.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/crystallizer_spinner.png b/src/main/resources/assets/hbm/textures/models/machines/crystallizer_spinner.png deleted file mode 100644 index d182f6745..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/machines/crystallizer_spinner.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/crystallizer_window.png b/src/main/resources/assets/hbm/textures/models/machines/crystallizer_window.png deleted file mode 100644 index d6825e1d5..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/machines/crystallizer_window.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/intake.png b/src/main/resources/assets/hbm/textures/models/machines/intake.png new file mode 100644 index 000000000..49b34854d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/intake.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/lpw2.png b/src/main/resources/assets/hbm/textures/models/machines/lpw2.png index 9ecffd68c..4b0ec544c 100644 Binary files a/src/main/resources/assets/hbm/textures/models/machines/lpw2.png and b/src/main/resources/assets/hbm/textures/models/machines/lpw2.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/lpw2_term.png b/src/main/resources/assets/hbm/textures/models/machines/lpw2_term.png index a12e214d7..d969c507e 100644 Binary files a/src/main/resources/assets/hbm/textures/models/machines/lpw2_term.png and b/src/main/resources/assets/hbm/textures/models/machines/lpw2_term.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/oilburner_hp.png b/src/main/resources/assets/hbm/textures/models/machines/oilburner_hp.png new file mode 100644 index 000000000..484ddeaf3 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/oilburner_hp.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/pyrooven.png b/src/main/resources/assets/hbm/textures/models/machines/pyrooven.png new file mode 100644 index 000000000..8dd9c81c2 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/pyrooven.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/radar_base.png b/src/main/resources/assets/hbm/textures/models/machines/radar_base.png index 0aece4364..8f5c11594 100644 Binary files a/src/main/resources/assets/hbm/textures/models/machines/radar_base.png and b/src/main/resources/assets/hbm/textures/models/machines/radar_base.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/radar_dish.png b/src/main/resources/assets/hbm/textures/models/machines/radar_dish.png index edbf446cd..78d0210ba 100644 Binary files a/src/main/resources/assets/hbm/textures/models/machines/radar_dish.png and b/src/main/resources/assets/hbm/textures/models/machines/radar_dish.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/radio_screen.png b/src/main/resources/assets/hbm/textures/models/machines/radio_screen.png new file mode 100644 index 000000000..633afb943 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/radio_screen.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/refueler.png b/src/main/resources/assets/hbm/textures/models/machines/refueler.png new file mode 100644 index 000000000..856793f73 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/refueler.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/rotary_furnace.png b/src/main/resources/assets/hbm/textures/models/machines/rotary_furnace.png new file mode 100644 index 000000000..851cf91ab Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/rotary_furnace.png differ diff --git a/src/main/resources/assets/hbm/textures/models/mine_ap.png b/src/main/resources/assets/hbm/textures/models/mine_ap.png deleted file mode 100644 index 073f2a657..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/mine_ap.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/mine_shrap.png b/src/main/resources/assets/hbm/textures/models/mine_shrap.png deleted file mode 100644 index 6e89e8bc8..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/mine_shrap.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/missile_abm.png b/src/main/resources/assets/hbm/textures/models/missile/missile_abm.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_abm.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_abm.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_atlas_doomsday.png b/src/main/resources/assets/hbm/textures/models/missile/missile_atlas_doomsday.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_atlas_doomsday.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_atlas_doomsday.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_atlas_doomsday_weathered.png b/src/main/resources/assets/hbm/textures/models/missile/missile_atlas_doomsday_weathered.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_atlas_doomsday_weathered.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_atlas_doomsday_weathered.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_atlas_nuclear.png b/src/main/resources/assets/hbm/textures/models/missile/missile_atlas_nuclear.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_atlas_nuclear.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_atlas_nuclear.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_atlas_tectonic.png b/src/main/resources/assets/hbm/textures/models/missile/missile_atlas_tectonic.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_atlas_tectonic.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_atlas_tectonic.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_atlas_thermo.png b/src/main/resources/assets/hbm/textures/models/missile/missile_atlas_thermo.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_atlas_thermo.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_atlas_thermo.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_huge.png b/src/main/resources/assets/hbm/textures/models/missile/missile_huge.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_huge.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_huge.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_huge_bu.png b/src/main/resources/assets/hbm/textures/models/missile/missile_huge_bu.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_huge_bu.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_huge_bu.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_huge_cl.png b/src/main/resources/assets/hbm/textures/models/missile/missile_huge_cl.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_huge_cl.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_huge_cl.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_huge_inc.png b/src/main/resources/assets/hbm/textures/models/missile/missile_huge_inc.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_huge_inc.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_huge_inc.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_micro.png b/src/main/resources/assets/hbm/textures/models/missile/missile_micro.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_micro.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_micro.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_micro_bhole.png b/src/main/resources/assets/hbm/textures/models/missile/missile_micro_bhole.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_micro_bhole.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_micro_bhole.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_micro_emp.png b/src/main/resources/assets/hbm/textures/models/missile/missile_micro_emp.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_micro_emp.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_micro_emp.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_micro_schrab.png b/src/main/resources/assets/hbm/textures/models/missile/missile_micro_schrab.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_micro_schrab.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_micro_schrab.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_micro_taint.png b/src/main/resources/assets/hbm/textures/models/missile/missile_micro_taint.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_micro_taint.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_micro_taint.png diff --git a/src/main/resources/assets/hbm/textures/models/missileShuttle.png b/src/main/resources/assets/hbm/textures/models/missile/missile_shuttle.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missileShuttle.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_shuttle.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_stealth.png b/src/main/resources/assets/hbm/textures/models/missile/missile_stealth.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_stealth.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_stealth.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_strong.png b/src/main/resources/assets/hbm/textures/models/missile/missile_strong.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_strong.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_strong.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_strong_bu.png b/src/main/resources/assets/hbm/textures/models/missile/missile_strong_bu.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_strong_bu.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_strong_bu.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_strong_cl.png b/src/main/resources/assets/hbm/textures/models/missile/missile_strong_cl.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_strong_cl.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_strong_cl.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_strong_emp.png b/src/main/resources/assets/hbm/textures/models/missile/missile_strong_emp.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_strong_emp.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_strong_emp.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_strong_inc.png b/src/main/resources/assets/hbm/textures/models/missile/missile_strong_inc.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_strong_inc.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_strong_inc.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_test.png b/src/main/resources/assets/hbm/textures/models/missile/missile_test.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_test.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_test.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_v2.png b/src/main/resources/assets/hbm/textures/models/missile/missile_v2.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_v2.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_v2.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_v2_bu.png b/src/main/resources/assets/hbm/textures/models/missile/missile_v2_bu.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_v2_bu.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_v2_bu.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_v2_cl.png b/src/main/resources/assets/hbm/textures/models/missile/missile_v2_cl.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_v2_cl.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_v2_cl.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_v2_decoy.png b/src/main/resources/assets/hbm/textures/models/missile/missile_v2_decoy.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_v2_decoy.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_v2_decoy.png diff --git a/src/main/resources/assets/hbm/textures/models/missile_v2_inc.png b/src/main/resources/assets/hbm/textures/models/missile/missile_v2_inc.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/missile_v2_inc.png rename to src/main/resources/assets/hbm/textures/models/missile/missile_v2_inc.png diff --git a/src/main/resources/assets/hbm/textures/models/missileBooster.png b/src/main/resources/assets/hbm/textures/models/missileBooster.png deleted file mode 100644 index 5d49b3bbf..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/missileBooster.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/missileCarrier.png b/src/main/resources/assets/hbm/textures/models/missileCarrier.png deleted file mode 100644 index f6692d888..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/missileCarrier.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/missileDoomsday.png b/src/main/resources/assets/hbm/textures/models/missileDoomsday.png deleted file mode 100755 index 7b1a258e2..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/missileDoomsday.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/missileNeon.png b/src/main/resources/assets/hbm/textures/models/missileNeon.png deleted file mode 100644 index 63073be85..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/missileNeon.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/missileNeonH.png b/src/main/resources/assets/hbm/textures/models/missileNeonH.png deleted file mode 100644 index 97b5d2d73..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/missileNeonH.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/missileNeonV.png b/src/main/resources/assets/hbm/textures/models/missileNeonV.png deleted file mode 100644 index 9053496e0..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/missileNeonV.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/missilePad.png b/src/main/resources/assets/hbm/textures/models/missilePad.png deleted file mode 100644 index 03a80eeb3..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/missilePad.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/missileTaint.png b/src/main/resources/assets/hbm/textures/models/missileTaint.png deleted file mode 100644 index 421e19811..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/missileTaint.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/network/fluid_diode.png b/src/main/resources/assets/hbm/textures/models/network/fluid_diode.png new file mode 100644 index 000000000..a2445b239 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/network/fluid_diode.png differ diff --git a/src/main/resources/assets/hbm/textures/models/particleaccelerator/beamline.png b/src/main/resources/assets/hbm/textures/models/particleaccelerator/beamline.png new file mode 100644 index 000000000..211a39526 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/particleaccelerator/beamline.png differ diff --git a/src/main/resources/assets/hbm/textures/models/particleaccelerator/detector.png b/src/main/resources/assets/hbm/textures/models/particleaccelerator/detector.png new file mode 100644 index 000000000..c2a747b48 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/particleaccelerator/detector.png differ diff --git a/src/main/resources/assets/hbm/textures/models/particleaccelerator/dipole.png b/src/main/resources/assets/hbm/textures/models/particleaccelerator/dipole.png new file mode 100644 index 000000000..9e6d5877b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/particleaccelerator/dipole.png differ diff --git a/src/main/resources/assets/hbm/textures/models/particleaccelerator/quadrupole.png b/src/main/resources/assets/hbm/textures/models/particleaccelerator/quadrupole.png new file mode 100644 index 000000000..6e6c1dbf6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/particleaccelerator/quadrupole.png differ diff --git a/src/main/resources/assets/hbm/textures/models/particleaccelerator/rfc.png b/src/main/resources/assets/hbm/textures/models/particleaccelerator/rfc.png new file mode 100644 index 000000000..dd2250548 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/particleaccelerator/rfc.png differ diff --git a/src/main/resources/assets/hbm/textures/models/particleaccelerator/source.png b/src/main/resources/assets/hbm/textures/models/particleaccelerator/source.png new file mode 100644 index 000000000..1c7bb4de6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/particleaccelerator/source.png differ diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_AIR.png b/src/main/resources/assets/hbm/textures/models/tank/tank_AIR.png new file mode 100644 index 000000000..3ae4f6097 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/tank/tank_AIR.png differ diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_ALUMINA.png b/src/main/resources/assets/hbm/textures/models/tank/tank_ALUMINA.png new file mode 100644 index 000000000..7936ef783 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/tank/tank_ALUMINA.png differ diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_BAUXITE_SOLUTION.png b/src/main/resources/assets/hbm/textures/models/tank/tank_BAUXITE_SOLUTION.png new file mode 100644 index 000000000..573f28586 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/tank/tank_BAUXITE_SOLUTION.png differ diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_LEAD.png b/src/main/resources/assets/hbm/textures/models/tank/tank_LEAD.png new file mode 100644 index 000000000..ee86122ea Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/tank/tank_LEAD.png differ diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_LEAD_HOT.png b/src/main/resources/assets/hbm/textures/models/tank/tank_LEAD_HOT.png new file mode 100644 index 000000000..a043b9a4d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/tank/tank_LEAD_HOT.png differ diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_LYE.png b/src/main/resources/assets/hbm/textures/models/tank/tank_LYE.png new file mode 100644 index 000000000..4603dc8e9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/tank/tank_LYE.png differ diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_PERFLUOROMETHYL.png b/src/main/resources/assets/hbm/textures/models/tank/tank_PERFLUOROMETHYL.png new file mode 100644 index 000000000..1fbb312bd Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/tank/tank_PERFLUOROMETHYL.png differ diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_PERFLUOROMETHYL_COLD.png b/src/main/resources/assets/hbm/textures/models/tank/tank_PERFLUOROMETHYL_COLD.png new file mode 100644 index 000000000..d82c98640 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/tank/tank_PERFLUOROMETHYL_COLD.png differ diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_PERFLUOROMETHYL_HOT.png b/src/main/resources/assets/hbm/textures/models/tank/tank_PERFLUOROMETHYL_HOT.png new file mode 100644 index 000000000..37dfc64b7 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/tank/tank_PERFLUOROMETHYL_HOT.png differ diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_SODIUM_ALUMINATE.png b/src/main/resources/assets/hbm/textures/models/tank/tank_SODIUM_ALUMINATE.png new file mode 100644 index 000000000..9100b6972 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/tank/tank_SODIUM_ALUMINATE.png differ diff --git a/src/main/resources/assets/hbm/textures/models/test_container_double.png b/src/main/resources/assets/hbm/textures/models/test_container_double.png deleted file mode 100644 index 182a96c72..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/test_container_double.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/test_container_single.png b/src/main/resources/assets/hbm/textures/models/test_container_single.png deleted file mode 100644 index c00662549..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/test_container_single.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/trinkets/abel.png b/src/main/resources/assets/hbm/textures/models/trinkets/abel.png new file mode 100644 index 000000000..3e436bd03 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/trinkets/abel.png differ diff --git a/src/main/resources/assets/hbm/textures/models/trinkets/abel_glow.png b/src/main/resources/assets/hbm/textures/models/trinkets/abel_glow.png new file mode 100644 index 000000000..6886dad7c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/trinkets/abel_glow.png differ diff --git a/src/main/resources/assets/hbm/textures/models/trinkets/mellowrpg8_glow.png b/src/main/resources/assets/hbm/textures/models/trinkets/mellowrpg8_glow.png new file mode 100644 index 000000000..84a06adcf Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/trinkets/mellowrpg8_glow.png differ diff --git a/src/main/resources/assets/hbm/textures/models/trinkets/pooh.png b/src/main/resources/assets/hbm/textures/models/trinkets/pooh.png new file mode 100644 index 000000000..e1d9a60d6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/trinkets/pooh.png differ diff --git a/src/main/resources/assets/hbm/textures/models/truck_busted.png b/src/main/resources/assets/hbm/textures/models/truck_busted.png deleted file mode 100644 index e19710622..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/truck_busted.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/vault_frame_old.png b/src/main/resources/assets/hbm/textures/models/vault_frame_old.png deleted file mode 100644 index acf06d5d7..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/vault_frame_old.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/.png b/src/main/resources/assets/hbm/textures/models/weapons/.png new file mode 100644 index 000000000..99f0a997f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/_blacksand.png b/src/main/resources/assets/hbm/textures/models/weapons/_blacksand.png deleted file mode 100644 index 3f40b1154..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/_blacksand.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/aberrator.png b/src/main/resources/assets/hbm/textures/models/weapons/aberrator.png new file mode 100644 index 000000000..b868a5d84 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/aberrator.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/am180.png b/src/main/resources/assets/hbm/textures/models/weapons/am180.png new file mode 100644 index 000000000..dec10075a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/am180.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/amat.png b/src/main/resources/assets/hbm/textures/models/weapons/amat.png new file mode 100644 index 000000000..32f4740fc Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/amat.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/amat_penance.png b/src/main/resources/assets/hbm/textures/models/weapons/amat_penance.png new file mode 100644 index 000000000..42f4c9c05 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/amat_penance.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/amat_subtlety.png b/src/main/resources/assets/hbm/textures/models/weapons/amat_subtlety.png new file mode 100644 index 000000000..a1a855873 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/amat_subtlety.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/bayonet.png b/src/main/resources/assets/hbm/textures/models/weapons/bayonet.png new file mode 100644 index 000000000..8c16e4653 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/bayonet.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/benelli_tex.png b/src/main/resources/assets/hbm/textures/models/weapons/benelli_tex.png deleted file mode 100644 index 2381fab49..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/benelli_tex.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/bio_revolver.png b/src/main/resources/assets/hbm/textures/models/weapons/bio_revolver.png index 32a05672c..b8590707a 100644 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/bio_revolver.png and b/src/main/resources/assets/hbm/textures/models/weapons/bio_revolver.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/bio_revolver_atlas.png b/src/main/resources/assets/hbm/textures/models/weapons/bio_revolver_atlas.png new file mode 100644 index 000000000..32a05672c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/bio_revolver_atlas.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/blackjack.png b/src/main/resources/assets/hbm/textures/models/weapons/blackjack.png deleted file mode 100644 index cfc715252..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/blackjack.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/bolter_digamma.png b/src/main/resources/assets/hbm/textures/models/weapons/bolter_digamma.png deleted file mode 100644 index 75f234d43..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/bolter_digamma.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/c130_0.png b/src/main/resources/assets/hbm/textures/models/weapons/c130_0.png new file mode 100644 index 000000000..04729bcdf Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/c130_0.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/carbine.png b/src/main/resources/assets/hbm/textures/models/weapons/carbine.png deleted file mode 100644 index 49b5f2796..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/carbine.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/carbine_bayonet.png b/src/main/resources/assets/hbm/textures/models/weapons/carbine_bayonet.png new file mode 100644 index 000000000..0be1ae22b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/carbine_bayonet.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/charge_thrower.png b/src/main/resources/assets/hbm/textures/models/weapons/charge_thrower.png new file mode 100644 index 000000000..bdc81b964 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/charge_thrower.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/charge_thrower_hook.png b/src/main/resources/assets/hbm/textures/models/weapons/charge_thrower_hook.png new file mode 100644 index 000000000..4b5bf505c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/charge_thrower_hook.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/charge_thrower_mortar.png b/src/main/resources/assets/hbm/textures/models/weapons/charge_thrower_mortar.png new file mode 100644 index 000000000..bb4768a91 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/charge_thrower_mortar.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/charge_thrower_rocket.png b/src/main/resources/assets/hbm/textures/models/weapons/charge_thrower_rocket.png new file mode 100644 index 000000000..4b3cbd888 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/charge_thrower_rocket.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/congolake.png b/src/main/resources/assets/hbm/textures/models/weapons/congolake.png index 2d611e459..849c27b4e 100644 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/congolake.png and b/src/main/resources/assets/hbm/textures/models/weapons/congolake.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/dani_celestial.png b/src/main/resources/assets/hbm/textures/models/weapons/dani_celestial.png new file mode 100644 index 000000000..ebe3ebd70 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/dani_celestial.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/dani_lunar.png b/src/main/resources/assets/hbm/textures/models/weapons/dani_lunar.png new file mode 100644 index 000000000..4ea531472 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/dani_lunar.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/deagle.png b/src/main/resources/assets/hbm/textures/models/weapons/deagle.png deleted file mode 100644 index 0b8acd829..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/deagle.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/debug_gun.png b/src/main/resources/assets/hbm/textures/models/weapons/debug_gun.png new file mode 100644 index 000000000..49b083ca9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/debug_gun.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/double_barrel.png b/src/main/resources/assets/hbm/textures/models/weapons/double_barrel.png new file mode 100644 index 000000000..cc5e054d4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/double_barrel.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/double_barrel_sacred_dragon.png b/src/main/resources/assets/hbm/textures/models/weapons/double_barrel_sacred_dragon.png new file mode 100644 index 000000000..9ccf01cb1 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/double_barrel_sacred_dragon.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/eott.png b/src/main/resources/assets/hbm/textures/models/weapons/eott.png new file mode 100644 index 000000000..3fdd1cc31 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/eott.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/fatman.png b/src/main/resources/assets/hbm/textures/models/weapons/fatman.png new file mode 100644 index 000000000..b818f5736 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/fatman.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/fatman_balefire.png b/src/main/resources/assets/hbm/textures/models/weapons/fatman_balefire.png new file mode 100644 index 000000000..6b60e6474 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/fatman_balefire.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/fatman_mininuke.png b/src/main/resources/assets/hbm/textures/models/weapons/fatman_mininuke.png new file mode 100644 index 000000000..536780bb2 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/fatman_mininuke.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/cursed.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/cursed.png deleted file mode 100644 index e2a7e6628..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/cursed.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/gold.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/gold.png deleted file mode 100644 index 5460af019..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/gold.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/iron.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/iron.png deleted file mode 100644 index efd4c1729..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/iron.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/lead.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/lead.png deleted file mode 100644 index 6cf1f9a10..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/lead.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/mg42.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/mg42.png deleted file mode 100644 index ebd226f1d..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/mg42.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/nightmare.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/nightmare.png deleted file mode 100644 index a3cbdbe61..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/nightmare.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/nightmare_orig.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/nightmare_orig.png deleted file mode 100644 index b89b0683c..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/nightmare_orig.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/rem700.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/rem700.png deleted file mode 100644 index a7868015e..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/rem700.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/rem700poly.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/rem700poly.png deleted file mode 100644 index abc88117a..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/rem700poly.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/rem700sat.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/rem700sat.png deleted file mode 100644 index 3b8d95215..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/rem700sat.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/saturnite.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/saturnite.png deleted file mode 100644 index 29a3c4001..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/saturnite.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/schrabidium.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/schrabidium.png deleted file mode 100644 index ee85ad395..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/schrabidium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/wood.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/wood.png deleted file mode 100644 index c4e9a161d..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/wood.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/wood_red.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/wood_red.png deleted file mode 100644 index ed2a99309..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/wood_red.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flamer.png b/src/main/resources/assets/hbm/textures/models/weapons/flamer.png deleted file mode 100644 index 57f0cb286..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flamer.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flamethrower.png b/src/main/resources/assets/hbm/textures/models/weapons/flamethrower.png new file mode 100644 index 000000000..192380382 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/flamethrower.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flamethrower_daybreaker.png b/src/main/resources/assets/hbm/textures/models/weapons/flamethrower_daybreaker.png new file mode 100644 index 000000000..abb9a52d9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/flamethrower_daybreaker.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flamethrower_topaz.png b/src/main/resources/assets/hbm/textures/models/weapons/flamethrower_topaz.png new file mode 100644 index 000000000..53c100c73 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/flamethrower_topaz.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flaregun.png b/src/main/resources/assets/hbm/textures/models/weapons/flaregun.png new file mode 100644 index 000000000..248dc94f3 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/flaregun.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_barrel.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_barrel.png deleted file mode 100644 index 19b3d2872..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_barrel.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_base.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_base.png deleted file mode 100644 index 5b1c03e7b..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_base.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_body.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_body.png deleted file mode 100644 index dfa1525d9..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_body.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_chamber.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_chamber.png deleted file mode 100644 index be140fef4..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_chamber.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_drum.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_drum.png deleted file mode 100644 index 0655f3918..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_drum.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_gren_tube.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_gren_tube.png deleted file mode 100644 index cbf0e2bd0..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_gren_tube.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_grenades.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_grenades.png deleted file mode 100644 index 06b0307d2..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_grenades.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_pivot.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_pivot.png deleted file mode 100644 index 03f921e8d..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_pivot.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_stock.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_stock.png deleted file mode 100644 index c395eabd2..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_stock.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_top.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_top.png deleted file mode 100644 index d2b1cc2b2..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_top.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_trigger.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_trigger.png deleted file mode 100644 index 4eb011a40..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_trigger.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/g3.png b/src/main/resources/assets/hbm/textures/models/weapons/g3.png new file mode 100644 index 000000000..43e9abb39 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/g3.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/g3_attachments.png b/src/main/resources/assets/hbm/textures/models/weapons/g3_attachments.png new file mode 100644 index 000000000..1fa179967 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/g3_attachments.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/g3_polymer_black.png b/src/main/resources/assets/hbm/textures/models/weapons/g3_polymer_black.png new file mode 100644 index 000000000..c54829488 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/g3_polymer_black.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/g3_polymer_green.png b/src/main/resources/assets/hbm/textures/models/weapons/g3_polymer_green.png new file mode 100644 index 000000000..02feff6a5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/g3_polymer_green.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/g3_zebra.png b/src/main/resources/assets/hbm/textures/models/weapons/g3_zebra.png new file mode 100644 index 000000000..e0cbda962 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/g3_zebra.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/glass_cannon_panel.png b/src/main/resources/assets/hbm/textures/models/weapons/glass_cannon_panel.png deleted file mode 100644 index a1e40ff71..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/glass_cannon_panel.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/greasegun.png b/src/main/resources/assets/hbm/textures/models/weapons/greasegun.png index faa19137b..3af33de68 100644 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/greasegun.png and b/src/main/resources/assets/hbm/textures/models/weapons/greasegun.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/greasegun_clean.png b/src/main/resources/assets/hbm/textures/models/weapons/greasegun_clean.png new file mode 100644 index 000000000..bd6e34a69 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/greasegun_clean.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/hangman.png b/src/main/resources/assets/hbm/textures/models/weapons/hangman.png new file mode 100644 index 000000000..6f007351f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/hangman.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/heavy_revolver.png b/src/main/resources/assets/hbm/textures/models/weapons/heavy_revolver.png new file mode 100644 index 000000000..c1bf5c1ba Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/heavy_revolver.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/henry.png b/src/main/resources/assets/hbm/textures/models/weapons/henry.png index dfc361696..d822e7665 100644 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/henry.png and b/src/main/resources/assets/hbm/textures/models/weapons/henry.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/henry_lincoln.png b/src/main/resources/assets/hbm/textures/models/weapons/henry_lincoln.png new file mode 100644 index 000000000..701be2ed2 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/henry_lincoln.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/hk69.png b/src/main/resources/assets/hbm/textures/models/weapons/hk69.png deleted file mode 100644 index 41b98d1cb..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/hk69.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/huntsman.png b/src/main/resources/assets/hbm/textures/models/weapons/huntsman.png index e29aabfbc..0b40e3aa8 100644 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/huntsman.png and b/src/main/resources/assets/hbm/textures/models/weapons/huntsman.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ks23.png b/src/main/resources/assets/hbm/textures/models/weapons/ks23.png deleted file mode 100644 index 218b0f229..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ks23.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/lag.png b/src/main/resources/assets/hbm/textures/models/weapons/lag.png index dc8665cf5..908219059 100644 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/lag.png and b/src/main/resources/assets/hbm/textures/models/weapons/lag.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/laser_flash.png b/src/main/resources/assets/hbm/textures/models/weapons/laser_flash.png new file mode 100644 index 000000000..da2e6bba1 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/laser_flash.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/laser_pistol.png b/src/main/resources/assets/hbm/textures/models/weapons/laser_pistol.png new file mode 100644 index 000000000..f68043c4d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/laser_pistol.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/laser_pistol_morning_glory.png b/src/main/resources/assets/hbm/textures/models/weapons/laser_pistol_morning_glory.png new file mode 100644 index 000000000..51ba64680 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/laser_pistol_morning_glory.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/laser_pistol_pew_pew.png b/src/main/resources/assets/hbm/textures/models/weapons/laser_pistol_pew_pew.png new file mode 100644 index 000000000..97eb24123 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/laser_pistol_pew_pew.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/lasrifle.png b/src/main/resources/assets/hbm/textures/models/weapons/lasrifle.png index 6d0b45444..7458e6d96 100644 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/lasrifle.png and b/src/main/resources/assets/hbm/textures/models/weapons/lasrifle.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/lasrifle_mods.png b/src/main/resources/assets/hbm/textures/models/weapons/lasrifle_mods.png new file mode 100644 index 000000000..b26caa668 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/lasrifle_mods.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/lent_gun.png b/src/main/resources/assets/hbm/textures/models/weapons/lent_gun.png deleted file mode 100644 index a03177bba..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/lent_gun.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/liberator.png b/src/main/resources/assets/hbm/textures/models/weapons/liberator.png index d4536cee0..d900422e6 100644 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/liberator.png and b/src/main/resources/assets/hbm/textures/models/weapons/liberator.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/lil_pip.png b/src/main/resources/assets/hbm/textures/models/weapons/lil_pip.png deleted file mode 100644 index 7709cf279..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/lil_pip.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/lunatic_sniper.png b/src/main/resources/assets/hbm/textures/models/weapons/lunatic_sniper.png deleted file mode 100644 index f67942de0..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/lunatic_sniper.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/maresleg.png b/src/main/resources/assets/hbm/textures/models/weapons/maresleg.png new file mode 100644 index 000000000..9d8abca1b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/maresleg.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/maresleg_broken.png b/src/main/resources/assets/hbm/textures/models/weapons/maresleg_broken.png new file mode 100644 index 000000000..0e895de19 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/maresleg_broken.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/mas36.png b/src/main/resources/assets/hbm/textures/models/weapons/mas36.png new file mode 100644 index 000000000..46240552a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/mas36.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/minigun.png b/src/main/resources/assets/hbm/textures/models/weapons/minigun.png index efc513e4b..26001ba4b 100644 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/minigun.png and b/src/main/resources/assets/hbm/textures/models/weapons/minigun.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/minigun_dual.png b/src/main/resources/assets/hbm/textures/models/weapons/minigun_dual.png new file mode 100644 index 000000000..84a49723b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/minigun_dual.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/minigun_lacunae.png b/src/main/resources/assets/hbm/textures/models/weapons/minigun_lacunae.png new file mode 100644 index 000000000..66bfa6d81 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/minigun_lacunae.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/missile_launcher.png b/src/main/resources/assets/hbm/textures/models/weapons/missile_launcher.png index 69124f72a..08a122b8a 100644 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/missile_launcher.png and b/src/main/resources/assets/hbm/textures/models/weapons/missile_launcher.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/moonlight.png b/src/main/resources/assets/hbm/textures/models/weapons/moonlight.png new file mode 100644 index 000000000..36b7c8dc7 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/moonlight.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/novac.png b/src/main/resources/assets/hbm/textures/models/weapons/novac.png deleted file mode 100644 index 58f988ef4..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/novac.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/novac_scope.png b/src/main/resources/assets/hbm/textures/models/weapons/novac_scope.png deleted file mode 100644 index 47a38039d..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/novac_scope.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/panzerschreck.png b/src/main/resources/assets/hbm/textures/models/weapons/panzerschreck.png index e631118a2..fe1d0b071 100644 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/panzerschreck.png and b/src/main/resources/assets/hbm/textures/models/weapons/panzerschreck.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/pch.png b/src/main/resources/assets/hbm/textures/models/weapons/pch.png deleted file mode 100644 index 97b11c5af..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/pch.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/pepperbox.png b/src/main/resources/assets/hbm/textures/models/weapons/pepperbox.png new file mode 100644 index 000000000..2334c4e2c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/pepperbox.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/pistol_texture.png b/src/main/resources/assets/hbm/textures/models/weapons/pistol_texture.png deleted file mode 100644 index 926d076b9..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/pistol_texture.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/protege.png b/src/main/resources/assets/hbm/textures/models/weapons/protege.png new file mode 100644 index 000000000..ecfca9109 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/protege.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/red_key.png b/src/main/resources/assets/hbm/textures/models/weapons/red_key.png deleted file mode 100644 index 1ce79923f..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/red_key.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/remington.png b/src/main/resources/assets/hbm/textures/models/weapons/remington.png deleted file mode 100644 index 01935ed26..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/remington.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/sauergun.png b/src/main/resources/assets/hbm/textures/models/weapons/sauergun.png deleted file mode 100644 index 7b06753af..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/sauergun.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/sexy.png b/src/main/resources/assets/hbm/textures/models/weapons/sexy.png new file mode 100644 index 000000000..40e151702 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/sexy.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/sexy_real_no_fake.png b/src/main/resources/assets/hbm/textures/models/weapons/sexy_real_no_fake.png new file mode 100644 index 000000000..5855c616b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/sexy_real_no_fake.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/shotty.png b/src/main/resources/assets/hbm/textures/models/weapons/shotty.png deleted file mode 100644 index 2a0831f67..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/shotty.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/shredder.png b/src/main/resources/assets/hbm/textures/models/weapons/shredder.png index 859c9c50a..d071dd86e 100644 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/shredder.png and b/src/main/resources/assets/hbm/textures/models/weapons/shredder.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/shredder_orig.png b/src/main/resources/assets/hbm/textures/models/weapons/shredder_orig.png new file mode 100644 index 000000000..98f6bcc34 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/shredder_orig.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/sky_stinger.png b/src/main/resources/assets/hbm/textures/models/weapons/sky_stinger.png deleted file mode 100644 index 2424f2a56..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/sky_stinger.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/stg77.png b/src/main/resources/assets/hbm/textures/models/weapons/stg77.png new file mode 100644 index 000000000..6bb0d2949 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/stg77.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/tesla_cannon.png b/src/main/resources/assets/hbm/textures/models/weapons/tesla_cannon.png new file mode 100644 index 000000000..af930f13e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/tesla_cannon.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/thompson.png b/src/main/resources/assets/hbm/textures/models/weapons/thompson.png deleted file mode 100644 index 8ecdedaac..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/thompson.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/torpedo.png b/src/main/resources/assets/hbm/textures/models/weapons/torpedo.png index f7100bbf5..4c0c7abf8 100644 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/torpedo.png and b/src/main/resources/assets/hbm/textures/models/weapons/torpedo.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/uzi.png b/src/main/resources/assets/hbm/textures/models/weapons/uzi.png index 32c59127c..0afe8123d 100644 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/uzi.png and b/src/main/resources/assets/hbm/textures/models/weapons/uzi.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/uzi_saturnite.png b/src/main/resources/assets/hbm/textures/models/weapons/uzi_saturnite.png new file mode 100644 index 000000000..5b404a064 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/uzi_saturnite.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/vortex.png b/src/main/resources/assets/hbm/textures/models/weapons/vortex.png deleted file mode 100644 index 81e9c1cad..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/vortex.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/whiskey (Kopie).png b/src/main/resources/assets/hbm/textures/models/weapons/whiskey (Kopie).png new file mode 100644 index 000000000..959b94011 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/whiskey (Kopie).png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/whiskey.png b/src/main/resources/assets/hbm/textures/models/weapons/whiskey.png new file mode 100644 index 000000000..590f3ff30 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/whiskey.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/whiskey.xcf b/src/main/resources/assets/hbm/textures/models/weapons/whiskey.xcf new file mode 100644 index 000000000..2376c64d5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/whiskey.xcf differ diff --git a/src/main/resources/assets/hbm/textures/particle/fresnel_ms.png b/src/main/resources/assets/hbm/textures/particle/fresnel_ms.png deleted file mode 100644 index dad9ee5e4..000000000 Binary files a/src/main/resources/assets/hbm/textures/particle/fresnel_ms.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/particle/nukeSmoke.png b/src/main/resources/assets/hbm/textures/particle/nukeSmoke.png deleted file mode 100644 index a754b8036..000000000 Binary files a/src/main/resources/assets/hbm/textures/particle/nukeSmoke.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/particle/nukeSmoke1.png b/src/main/resources/assets/hbm/textures/particle/nukeSmoke1.png deleted file mode 100644 index d31ac5c6d..000000000 Binary files a/src/main/resources/assets/hbm/textures/particle/nukeSmoke1.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/particle/particleSmoke.png b/src/main/resources/assets/hbm/textures/particle/particleSmoke.png deleted file mode 100644 index d447dad1f..000000000 Binary files a/src/main/resources/assets/hbm/textures/particle/particleSmoke.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/particle/skeleton.png b/src/main/resources/assets/hbm/textures/particle/skeleton.png new file mode 100644 index 000000000..184b5853e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/particle/skeleton.png differ diff --git a/src/main/resources/assets/hbm/textures/particle/skoilet.png b/src/main/resources/assets/hbm/textures/particle/skoilet.png new file mode 100644 index 000000000..971df0043 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/particle/skoilet.png differ diff --git a/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta deleted file mode 100644 index 6476c146a..000000000 --- a/src/main/resources/pack.mcmeta +++ /dev/null @@ -1,18 +0,0 @@ -{ - "pack" : { - "pack_format" : 1, - "description" : "NTM language pack" - }, - "language" : { - "te_ST" : { - "name" : "This is a testing language", - "region" : "ST", - "bidirectional" : false - }, - "en_NT" : { - "name" : "Advanced English", - "region" : "Minecraftia", - "bidirectional" : false - } - } -} diff --git a/tools/export-json-animation-2_79.py b/tools/export-json-animation-2_79.py new file mode 100644 index 000000000..a76a0894f --- /dev/null +++ b/tools/export-json-animation-2_79.py @@ -0,0 +1,300 @@ +# HOW TO USE +# Make sure all your animation actions start on frame 0 and are named as such: +# Name.Part +# and run the export, they'll be split into Animation groups with each part being assigned as a Bus. +# EG. Reload.Body will apply an animation called Reload to the bus called Body +# For best results, make sure your object Transform Mode is set to YZX Euler, so rotations match in-game +# When importing, you can use the Action Editor to assign the imported animations to parts to view and modify them + +bl_info = { + "name": "Export JSON Animation", + "blender": (2, 79, 0), + "category": "Import-Export", +} + +import bpy +import json +import math +import mathutils + +from bpy_extras.io_utils import ExportHelper, ImportHelper +from bpy.props import StringProperty, BoolProperty, EnumProperty +from bpy.types import Operator + + +class ExportJSONAnimation(Operator, ExportHelper): + """Exports an animation in a NTM JSON format""" + bl_idname = "export.ntm_json" # Unique identifier for buttons and menu items to reference. + bl_label = "Export NTM .json" # Display name in the interface. + bl_options = {'REGISTER'} + + # ExportHelper mix-in class uses this. + filename_ext = ".json" + + filter_glob = StringProperty( + default="*.json", + options={'HIDDEN'}, + maxlen=255, # Max internal buffer length, longer would be clamped. + ) + + def execute(self, context): # execute() is called when running the operator. + print("writing JSON data to file...") + f = open(self.filepath, 'w', encoding='utf-8') + + collection = {"anim": {}, "offset": {}, "hierarchy": {}, "rotmode": {}} + dimensions = ["x", "z", "y"] # Swizzled to X, Z, Y + mult = [1, -1, 1] # +X, -Z, +Y + + # Reset to first frame, so our offsets are set to model defaults + # If you get weird offset issues, make sure your model is in its rest pose before exporting + context.scene.frame_set(0) + + animations = collection['anim'] + offsets = collection['offset'] + modes = collection['rotmode'] + hierarchy = collection['hierarchy'] + + actions = bpy.data.actions + for action in actions: + split = action.name.split('.') + if len(split) != 2: + continue + name = split[0] + part = split[1] + + if name not in animations: + animations[name] = {} + + animations[name][part] = {} + animation = animations[name][part] + + # Fetch all the animation data + for fcu in action.fcurves: + dimension = dimensions[fcu.array_index] + + if not fcu.data_path in animation: + animation[fcu.data_path] = {} + if not dimension in animation[fcu.data_path]: + animation[fcu.data_path][dimension] = [] + + multiplier = mult[fcu.array_index] + if fcu.data_path == 'rotation_euler': + multiplier *= 180 / math.pi + + previousMillis = 0 + previousInterpolation = "" + + for keyframe in fcu.keyframe_points: + timeToFrame = keyframe.co.x * (1 / context.scene.render.fps) * 1000 + millis = timeToFrame - previousMillis + value = keyframe.co.y * multiplier + tuple = [value, millis, keyframe.interpolation, keyframe.easing] + if previousInterpolation == "BEZIER": + tuple.append(keyframe.handle_left.x * (1 / context.scene.render.fps) * 1000) + tuple.append(keyframe.handle_left.y * multiplier) + tuple.append(keyframe.handle_left_type) + if keyframe.interpolation == "BEZIER": + tuple.append(keyframe.handle_right.x * (1 / context.scene.render.fps) * 1000) + tuple.append(keyframe.handle_right.y * multiplier) + tuple.append(keyframe.handle_right_type) + if keyframe.interpolation == "ELASTIC": + tuple.append(keyframe.amplitude) + tuple.append(keyframe.period) + if keyframe.interpolation == "BACK": + tuple.append(keyframe.back) + previousMillis = timeToFrame + previousInterpolation = keyframe.interpolation + animation[fcu.data_path][dimension].append(tuple) + + for object in bpy.data.objects: + if object.type != 'MESH': + continue + + if object.parent: + hierarchy[object.name] = object.parent.name + + if object.location != mathutils.Vector(): # don't export 0,0,0 + offsets[object.name] = [object.location.x, object.location.z, -object.location.y] + + if object.rotation_mode != 'YZX': + modes[object.name] = object.rotation_mode + + + + f.write(json.dumps(collection)) + f.close() + + return {'FINISHED'} # Lets Blender know the operator finished successfully. + + + + + +class ImportJSONAnimation(Operator, ImportHelper): + """Imports an animation from a NTM JSON format""" + bl_idname = "import.ntm_json" # important since its how bpy.ops.import_test.some_data is constructed + bl_label = "Import NTM .json" + bl_options = {'REGISTER'} + + # ImportHelper mix-in class uses this. + filename_ext = ".json" + + filter_glob = StringProperty( + default="*.json", + options={'HIDDEN'}, + maxlen=255, # Max internal buffer length, longer would be clamped. + ) + + def execute(self, context): + print("reading JSON data from file...") + f = open(self.filepath, 'r', encoding='utf-8') + data = f.read() + f.close() + + dimensions = ["x", "z", "y"] # Swizzled to X, Z, Y + mult = [1, -1, 1] # +X, -Z, +Y + + collection = json.loads(data) + animations = collection["anim"] + for name in animations: + for part in animations[name]: + actionName = name + '.' + part + animation = animations[name][part] + action = bpy.data.actions.find(actionName) >= 0 and bpy.data.actions[actionName] or bpy.data.actions.new(actionName) + + action.use_fake_user = True + + # Keep the actions, in case they're already associated with objects + # but remove the frames to replace with fresh ones + for fcurve in action.fcurves: + action.fcurves.remove(fcurve) + # action.fcurves.clear() + + for path in animation: + for dimension in animation[path]: + dimIndex = dimensions.index(dimension) + curve = action.fcurves.new(path, index=dimIndex) + + multiplier = mult[dimIndex] + if path == 'rotation_euler': + multiplier *= math.pi / 180 + + millis = 0 + previousInterpolation = '' + + for tuple in animation[path][dimension]: + value = tuple[0] * multiplier + millis = millis + tuple[1] + frame = round(millis * context.scene.render.fps / 1000) + + keyframe = curve.keyframe_points.insert(frame, value) + keyframe.interpolation = 'LINEAR' + if len(tuple) >= 3: + keyframe.interpolation = tuple[2] + + if len(tuple) >= 4: + keyframe.easing = tuple[3] + + i = 4 + + if previousInterpolation == 'BEZIER': + keyframe.handle_left.x = tuple[i] * context.scene.render.fps / 1000 + i += 1 + keyframe.handle_left.y = tuple[i] * multiplier + i += 1 + keyframe.handle_left_type = tuple[i] + i += 1 + if keyframe.interpolation == 'BEZIER': + keyframe.handle_right.x = tuple[i] * context.scene.render.fps / 1000 + i += 1 + keyframe.handle_right.y = tuple[i] * multiplier + i += 1 + keyframe.handle_right_type = tuple[i] + i += 1 + if keyframe.interpolation == 'ELASTIC': + keyframe.amplitude = tuple[i] + i += 1 + keyframe.period = tuple[i] + i += 1 + if keyframe.interpolation == 'BACK': + keyframe.back = tuple[i] + i += 1 + + previousInterpolation = keyframe.interpolation + + for object in bpy.data.objects: + if object.type != 'MESH': + continue + + bpy.ops.object.select_all(action='DESELECT') + object.select = True + bpy.ops.object.transform_apply(location=False, rotation=True, scale=False) + object.rotation_mode = 'YZX' + + if 'rotmode' in collection: + modes = collection['rotmode'] + for mode in modes: + bpy.data.objects[mode].rotation_mode = modes[mode] + + if 'hierarchy' in collection: + hierarchy = collection['hierarchy'] + for name in hierarchy: + parent = hierarchy[name] + + bpy.data.objects[name].parent = bpy.data.objects[parent] + + offsets = collection['offset'] + for name in offsets: + offset = offsets[name] + + for object in bpy.data.objects: + if object.type != 'MESH': + continue + + bpy.ops.object.select_all(action='DESELECT') + object.select = True + + if object.name == name: + savedLocation = bpy.context.scene.cursor_location + bpy.context.scene.cursor_location = (-offset[0], -offset[2], offset[1]) + bpy.ops.object.origin_set(type='ORIGIN_CURSOR') + bpy.context.scene.cursor_location = savedLocation + + return {'FINISHED'} + + + + + + +def menu_export(self, context): + self.layout.operator(ExportJSONAnimation.bl_idname) + +def menu_import(self, context): + self.layout.operator(ImportJSONAnimation.bl_idname) + +def register(): + bpy.utils.register_class(ExportJSONAnimation) + bpy.utils.register_class(ImportJSONAnimation) + if hasattr(bpy.types, "TOPBAR_MT_file_export"): + bpy.types.TOPBAR_MT_file_export.append(menu_export) + bpy.types.TOPBAR_MT_file_import.append(menu_import) + elif hasattr(bpy.types, "INFO_MT_file_export"): + bpy.types.INFO_MT_file_export.append(menu_export) + bpy.types.INFO_MT_file_import.append(menu_import) + +def unregister(): + bpy.utils.unregister_class(ExportJSONAnimation) + bpy.utils.unregister_class(ImportJSONAnimation) + if hasattr(bpy.types, "TOPBAR_MT_file_export"): + bpy.types.TOPBAR_MT_file_export.remove(menu_export) + bpy.types.TOPBAR_MT_file_import.remove(menu_import) + elif hasattr(bpy.types, "INFO_MT_file_export"): + bpy.types.INFO_MT_file_export.remove(menu_export) + bpy.types.INFO_MT_file_import.remove(menu_import) + + +# This allows you to run the script directly from Blender's Text editor +# to test the add-on without having to install it. +if __name__ == "__main__": + register() diff --git a/tools/export-json-animation-3_2.py b/tools/export-json-animation-3_2.py new file mode 100644 index 000000000..067d3a117 --- /dev/null +++ b/tools/export-json-animation-3_2.py @@ -0,0 +1,293 @@ +# HOW TO USE +# Make sure all your animation actions start on frame 0 and are named as such: +# Name.Part +# and run the export, they'll be split into Animation groups with each part being assigned as a Bus. +# EG. Reload.Body will apply an animation called Reload to the bus called Body +# For best results, make sure your object Transform Mode is set to YZX Euler, so rotations match in-game +# When importing, you can use the Action Editor to assign the imported animations to parts to view and modify them + +bl_info = { + "name": "Export JSON Animation", + "blender": (3, 2, 0), + "category": "Import-Export", +} + +import bpy +import json +import math +import mathutils + +from bpy_extras.io_utils import ExportHelper, ImportHelper +from bpy.props import StringProperty, BoolProperty, EnumProperty +from bpy.types import Operator + + +class ExportJSONAnimation(Operator, ExportHelper): + """Exports an animation in a NTM JSON format""" + bl_idname = "export.ntm_json" # Unique identifier for buttons and menu items to reference. + bl_label = "Export NTM .json" # Display name in the interface. + bl_options = {'REGISTER'} + + # ExportHelper mix-in class uses this. + filename_ext = ".json" + + filter_glob: StringProperty( + default="*.json", + options={'HIDDEN'}, + maxlen=255, # Max internal buffer length, longer would be clamped. + ) + + def execute(self, context): # execute() is called when running the operator. + print("writing JSON data to file...") + f = open(self.filepath, 'w', encoding='utf-8') + + collection = {"anim": {}, "offset": {}, "hierarchy": {}, "rotmode": {}} + dimensions = ["x", "z", "y"] # Swizzled to X, Z, Y + mult = [1, -1, 1] # +X, -Z, +Y + + # Reset to first frame, so our offsets are set to model defaults + # If you get weird offset issues, make sure your model is in its rest pose before exporting + context.scene.frame_set(0) + + animations = collection['anim'] + offsets = collection['offset'] + modes = collection['rotmode'] + hierarchy = collection['hierarchy'] + + actions = bpy.data.actions + for action in actions: + split = action.name.split('.') + if len(split) != 2: + continue + name = split[0] + part = split[1] + + if name not in animations: + animations[name] = {} + + animations[name][part] = {} + animation = animations[name][part] + + # Fetch all the animation data + for fcu in action.fcurves: + dimension = dimensions[fcu.array_index] + + if not fcu.data_path in animation: + animation[fcu.data_path] = {} + if not dimension in animation[fcu.data_path]: + animation[fcu.data_path][dimension] = [] + + multiplier = mult[fcu.array_index] + if fcu.data_path == 'rotation_euler': + multiplier *= 180 / math.pi + + previousMillis = 0 + previousInterpolation = "" + + for keyframe in fcu.keyframe_points: + timeToFrame = keyframe.co.x * (1 / context.scene.render.fps) * 1000 + millis = timeToFrame - previousMillis + value = keyframe.co.y * multiplier + tuple = [value, millis, keyframe.interpolation, keyframe.easing] + if previousInterpolation == "BEZIER": + tuple.append(keyframe.handle_left.x * (1 / context.scene.render.fps) * 1000) + tuple.append(keyframe.handle_left.y * multiplier) + tuple.append(keyframe.handle_left_type) + if keyframe.interpolation == "BEZIER": + tuple.append(keyframe.handle_right.x * (1 / context.scene.render.fps) * 1000) + tuple.append(keyframe.handle_right.y * multiplier) + tuple.append(keyframe.handle_right_type) + if keyframe.interpolation == "ELASTIC": + tuple.append(keyframe.amplitude) + tuple.append(keyframe.period) + if keyframe.interpolation == "BACK": + tuple.append(keyframe.back) + previousMillis = timeToFrame + previousInterpolation = keyframe.interpolation + animation[fcu.data_path][dimension].append(tuple) + + for object in bpy.data.objects: + if object.type != 'MESH': + continue + + if object.parent: + hierarchy[object.name] = object.parent.name + + if object.location != mathutils.Vector(): # don't export 0,0,0 + offsets[object.name] = [object.location.x, object.location.z, -object.location.y] + + if object.rotation_mode != 'YZX': + modes[object.name] = object.rotation_mode + + + + f.write(json.dumps(collection)) + f.close() + + return {'FINISHED'} # Lets Blender know the operator finished successfully. + + + + + +class ImportJSONAnimation(Operator, ImportHelper): + """Imports an animation from a NTM JSON format""" + bl_idname = "import.ntm_json" # important since its how bpy.ops.import_test.some_data is constructed + bl_label = "Import NTM .json" + bl_options = {'REGISTER'} + + # ImportHelper mix-in class uses this. + filename_ext = ".json" + + filter_glob: StringProperty( + default="*.json", + options={'HIDDEN'}, + maxlen=255, # Max internal buffer length, longer would be clamped. + ) + + def execute(self, context): + print("reading JSON data from file...") + f = open(self.filepath, 'r', encoding='utf-8') + data = f.read() + f.close() + + dimensions = ["x", "z", "y"] # Swizzled to X, Z, Y + mult = [1, -1, 1] # +X, -Z, +Y + + collection = json.loads(data) + animations = collection["anim"] + for name in animations: + for part in animations[name]: + actionName = name + '.' + part + animation = animations[name][part] + action = bpy.data.actions.find(actionName) >= 0 and bpy.data.actions[actionName] or bpy.data.actions.new(actionName) + + action.use_fake_user = True + + # Keep the actions, in case they're already associated with objects + # but remove the frames to replace with fresh ones + for fcurve in action.fcurves: + action.fcurves.remove(fcurve) + # action.fcurves.clear() + + for path in animation: + for dimension in animation[path]: + dimIndex = dimensions.index(dimension) + curve = action.fcurves.new(path, index=dimIndex) + + multiplier = mult[dimIndex] + if path == 'rotation_euler': + multiplier *= math.pi / 180 + + millis = 0 + previousInterpolation = '' + + for tuple in animation[path][dimension]: + value = tuple[0] * multiplier + millis = millis + tuple[1] + frame = round(millis * context.scene.render.fps / 1000) + + keyframe = curve.keyframe_points.insert(frame, value) + keyframe.interpolation = 'LINEAR' + if len(tuple) >= 3: + keyframe.interpolation = tuple[2] + + if len(tuple) >= 4: + keyframe.easing = tuple[3] + + i = 4 + + if previousInterpolation == 'BEZIER': + keyframe.handle_left.x = tuple[i] * context.scene.render.fps / 1000 + i += 1 + keyframe.handle_left.y = tuple[i] * multiplier + i += 1 + keyframe.handle_left_type = tuple[i] + i += 1 + if keyframe.interpolation == 'BEZIER': + keyframe.handle_right.x = tuple[i] * context.scene.render.fps / 1000 + i += 1 + keyframe.handle_right.y = tuple[i] * multiplier + i += 1 + keyframe.handle_right_type = tuple[i] + i += 1 + if keyframe.interpolation == 'ELASTIC': + keyframe.amplitude = tuple[i] + i += 1 + keyframe.period = tuple[i] + i += 1 + if keyframe.interpolation == 'BACK': + keyframe.back = tuple[i] + i += 1 + + previousInterpolation = keyframe.interpolation + + + for object in bpy.data.objects: + if object.type != 'MESH': + continue + + bpy.ops.object.select_all(action='DESELECT') + object.select_set(True) + bpy.ops.object.transform_apply(location=False, rotation=True, scale=False, properties=False) + object.rotation_mode = 'YZX' + + if 'rotmode' in collection: + modes = collection['rotmode'] + for mode in modes: + bpy.data.objects[mode].rotation_mode = modes[mode] + + if 'hierarchy' in collection: + hierarchy = collection['hierarchy'] + for name in hierarchy: + parent = hierarchy[name] + + bpy.data.objects[name].parent = bpy.data.objects[parent] + + offsets = collection['offset'] + for name in offsets: + offset = offsets[name] + + for object in bpy.data.objects: + if object.type != 'MESH': + continue + + bpy.ops.object.select_all(action='DESELECT') + object.select_set(True) + + if object.name == name: + savedLocation = bpy.context.scene.cursor.location + bpy.context.scene.cursor.location = (-offset[0], -offset[2], offset[1]) + bpy.ops.object.origin_set(type='ORIGIN_CURSOR') + bpy.context.scene.cursor.location = savedLocation + + return {'FINISHED'} + + + + + + +def menu_export(self, context): + self.layout.operator(ExportJSONAnimation.bl_idname) + +def menu_import(self, context): + self.layout.operator(ImportJSONAnimation.bl_idname) + +def register(): + bpy.utils.register_class(ExportJSONAnimation) + bpy.utils.register_class(ImportJSONAnimation) + bpy.types.TOPBAR_MT_file_export.append(menu_export) + bpy.types.TOPBAR_MT_file_import.append(menu_import) + +def unregister(): + bpy.utils.unregister_class(ExportJSONAnimation) + bpy.utils.unregister_class(ImportJSONAnimation) + bpy.types.TOPBAR_MT_file_export.remove(menu_export) + bpy.types.TOPBAR_MT_file_import.remove(menu_import) + + +# This allows you to run the script directly from Blender's Text editor +# to test the add-on without having to install it. +if __name__ == "__main__": + register() diff --git a/tools/export-json-animation-4_0.py b/tools/export-json-animation-4_0.py new file mode 100644 index 000000000..0ed89b963 --- /dev/null +++ b/tools/export-json-animation-4_0.py @@ -0,0 +1,290 @@ +# HOW TO USE +# Make sure all your animation actions start on frame 0 and are named as such: +# Name.Part +# and run the export, they'll be split into Animation groups with each part being assigned as a Bus. +# EG. Reload.Body will apply an animation called Reload to the bus called Body +# For best results, make sure your object Transform Mode is set to YZX Euler, so rotations match in-game +# When importing, you can use the Action Editor to assign the imported animations to parts to view and modify them + +bl_info = { + "name": "Export JSON Animation", + "blender": (4, 0, 0), + "category": "Import-Export", +} + +import bpy +import json +import math +import mathutils + +from bpy_extras.io_utils import ExportHelper, ImportHelper +from bpy.props import StringProperty, BoolProperty, EnumProperty +from bpy.types import Operator + + +class ExportJSONAnimation(Operator, ExportHelper): + """Exports an animation in a NTM JSON format""" + bl_idname = "export.ntm_json" # Unique identifier for buttons and menu items to reference. + bl_label = "Export NTM .json" # Display name in the interface. + bl_options = {'REGISTER'} + + # ExportHelper mix-in class uses this. + filename_ext = ".json" + + filter_glob: StringProperty( + default="*.json", + options={'HIDDEN'}, + maxlen=255, # Max internal buffer length, longer would be clamped. + ) + + def execute(self, context): # execute() is called when running the operator. + print("writing JSON data to file...") + f = open(self.filepath, 'w', encoding='utf-8') + + collection = {"anim": {}, "offset": {}, "hierarchy": {}, "rotmode": {}} + dimensions = ["x", "z", "y"] # Swizzled to X, Z, Y + mult = [1, -1, 1] # +X, -Z, +Y + + # Reset to first frame, so our offsets are set to model defaults + # If you get weird offset issues, make sure your model is in its rest pose before exporting + context.scene.frame_set(0) + + animations = collection['anim'] + offsets = collection['offset'] + modes = collection['rotmode'] + hierarchy = collection['hierarchy'] + + actions = bpy.data.actions + for action in actions: + split = action.name.split('.') + if len(split) != 2: + continue + name = split[0] + part = split[1] + + if name not in animations: + animations[name] = {} + + animations[name][part] = {} + animation = animations[name][part] + + # Fetch all the animation data + for fcu in action.fcurves: + dimension = dimensions[fcu.array_index] + + if not fcu.data_path in animation: + animation[fcu.data_path] = {} + if not dimension in animation[fcu.data_path]: + animation[fcu.data_path][dimension] = [] + + multiplier = mult[fcu.array_index] + if fcu.data_path == 'rotation_euler': + multiplier *= 180 / math.pi + + previousMillis = 0 + previousInterpolation = "" + + for keyframe in fcu.keyframe_points: + timeToFrame = keyframe.co.x * (1 / context.scene.render.fps) * 1000 + millis = timeToFrame - previousMillis + value = keyframe.co.y * multiplier + tuple = [value, millis, keyframe.interpolation, keyframe.easing] + if previousInterpolation == "BEZIER": + tuple.append(keyframe.handle_left.x * (1 / context.scene.render.fps) * 1000) + tuple.append(keyframe.handle_left.y * multiplier) + tuple.append(keyframe.handle_left_type) + if keyframe.interpolation == "BEZIER": + tuple.append(keyframe.handle_right.x * (1 / context.scene.render.fps) * 1000) + tuple.append(keyframe.handle_right.y * multiplier) + tuple.append(keyframe.handle_right_type) + if keyframe.interpolation == "ELASTIC": + tuple.append(keyframe.amplitude) + tuple.append(keyframe.period) + if keyframe.interpolation == "BACK": + tuple.append(keyframe.back) + previousMillis = timeToFrame + previousInterpolation = keyframe.interpolation + animation[fcu.data_path][dimension].append(tuple) + + for object in bpy.data.objects: + if object.type != 'MESH': + continue + + if object.parent: + hierarchy[object.name] = object.parent.name + + if object.location != mathutils.Vector(): # don't export 0,0,0 + offsets[object.name] = [object.location.x, object.location.z, -object.location.y] + + if object.rotation_mode != 'YZX': + modes[object.name] = object.rotation_mode + + + + f.write(json.dumps(collection)) + f.close() + + return {'FINISHED'} # Lets Blender know the operator finished successfully. + + + + + +class ImportJSONAnimation(Operator, ImportHelper): + """Imports an animation from a NTM JSON format""" + bl_idname = "import.ntm_json" # important since its how bpy.ops.import_test.some_data is constructed + bl_label = "Import NTM .json" + bl_options = {'REGISTER'} + + # ImportHelper mix-in class uses this. + filename_ext = ".json" + + filter_glob: StringProperty( + default="*.json", + options={'HIDDEN'}, + maxlen=255, # Max internal buffer length, longer would be clamped. + ) + + def execute(self, context): + print("reading JSON data from file...") + f = open(self.filepath, 'r', encoding='utf-8') + data = f.read() + f.close() + + dimensions = ["x", "z", "y"] # Swizzled to X, Z, Y + mult = [1, -1, 1] # +X, -Z, +Y + + collection = json.loads(data) + animations = collection["anim"] + for name in animations: + for part in animations[name]: + actionName = name + '.' + part + animation = animations[name][part] + action = bpy.data.actions.find(actionName) >= 0 and bpy.data.actions[actionName] or bpy.data.actions.new(actionName) + + action.use_fake_user = True + + # Keep the actions, in case they're already associated with objects + # but remove the frames to replace with fresh ones + action.fcurves.clear() + + for path in animation: + for dimension in animation[path]: + dimIndex = dimensions.index(dimension) + curve = action.fcurves.new(path, index=dimIndex) + + multiplier = mult[dimIndex] + if path == 'rotation_euler': + multiplier *= math.pi / 180 + + millis = 0 + previousInterpolation = '' + + for tuple in animation[path][dimension]: + value = tuple[0] * multiplier + millis = millis + tuple[1] + frame = round(millis * context.scene.render.fps / 1000) + + keyframe = curve.keyframe_points.insert(frame, value) + keyframe.interpolation = 'LINEAR' + if len(tuple) >= 3: + keyframe.interpolation = tuple[2] + + if len(tuple) >= 4: + keyframe.easing = tuple[3] + + i = 4 + + if previousInterpolation == 'BEZIER': + keyframe.handle_left.x = tuple[i] * context.scene.render.fps / 1000 + i += 1 + keyframe.handle_left.y = tuple[i] * multiplier + i += 1 + keyframe.handle_left_type = tuple[i] + i += 1 + if keyframe.interpolation == 'BEZIER': + keyframe.handle_right.x = tuple[i] * context.scene.render.fps / 1000 + i += 1 + keyframe.handle_right.y = tuple[i] * multiplier + i += 1 + keyframe.handle_right_type = tuple[i] + i += 1 + if keyframe.interpolation == 'ELASTIC': + keyframe.amplitude = tuple[i] + i += 1 + keyframe.period = tuple[i] + i += 1 + if keyframe.interpolation == 'BACK': + keyframe.back = tuple[i] + i += 1 + + previousInterpolation = keyframe.interpolation + + for object in bpy.data.objects: + if object.type != 'MESH': + continue + + bpy.ops.object.select_all(action='DESELECT') + object.select_set(True) + bpy.ops.object.transform_apply(location=False, rotation=True, scale=False, properties=False) + object.rotation_mode = 'YZX' + + if 'rotmode' in collection: + modes = collection['rotmode'] + for mode in modes: + bpy.data.objects[mode].rotation_mode = modes[mode] + + if 'hierarchy' in collection: + hierarchy = collection['hierarchy'] + for name in hierarchy: + parent = hierarchy[name] + + bpy.data.objects[name].parent = bpy.data.objects[parent] + + offsets = collection['offset'] + for name in offsets: + offset = offsets[name] + + for object in bpy.data.objects: + if object.type != 'MESH': + continue + + bpy.ops.object.select_all(action='DESELECT') + object.select_set(True) + + if object.name == name: + savedLocation = bpy.context.scene.cursor.location + bpy.context.scene.cursor.location = (-offset[0], -offset[2], offset[1]) + bpy.ops.object.origin_set(type='ORIGIN_CURSOR') + bpy.context.scene.cursor.location = savedLocation + + return {'FINISHED'} + + + + + + +def menu_export(self, context): + self.layout.operator(ExportJSONAnimation.bl_idname) + +def menu_import(self, context): + self.layout.operator(ImportJSONAnimation.bl_idname) + +def register(): + bpy.utils.register_class(ExportJSONAnimation) + bpy.utils.register_class(ImportJSONAnimation) + bpy.types.TOPBAR_MT_file_export.append(menu_export) + bpy.types.TOPBAR_MT_file_import.append(menu_import) + +def unregister(): + bpy.utils.unregister_class(ExportJSONAnimation) + bpy.utils.unregister_class(ImportJSONAnimation) + bpy.types.TOPBAR_MT_file_export.remove(menu_export) + bpy.types.TOPBAR_MT_file_import.remove(menu_import) + + +# This allows you to run the script directly from Blender's Text editor +# to test the add-on without having to install it. +if __name__ == "__main__": + register()